diff --git a/.github/workflows/rebuild.yml b/.github/workflows/rebuild.yml index 9740a0d163..2e88b35d58 100644 --- a/.github/workflows/rebuild.yml +++ b/.github/workflows/rebuild.yml @@ -111,7 +111,7 @@ jobs: # Otherwise, just commit the changes. if git rev-parse --verify MERGE_HEAD >/dev/null 2>&1; then echo "In progress merge detected, finishing it up." - git merge --continue + git merge --continue --no-edit else echo "No in-progress merge detected, committing changes." git commit -m "Rebuild" diff --git a/CHANGELOG.md b/CHANGELOG.md index d346aa26f5..7d8dbeaa5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs. +## 4.32.2 - 05 Feb 2026 + +- Update default CodeQL bundle version to [2.24.1](https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.24.1). [#3460](https://github.com/github/codeql-action/pull/3460) + ## 4.32.1 - 02 Feb 2026 - A warning is now shown in Default Setup workflow logs if a [private package registry is configured](https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries) using a GitHub Personal Access Token (PAT), but no username is configured. [#3422](https://github.com/github/codeql-action/pull/3422) diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index 17ecdf1a7f..a4d17011f7 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -21549,9 +21549,9 @@ var require_context = __commonJS({ } }); -// node_modules/undici/lib/core/symbols.js +// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js var require_symbols6 = __commonJS({ - "node_modules/undici/lib/core/symbols.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) { module2.exports = { kClose: /* @__PURE__ */ Symbol("close"), kDestroy: /* @__PURE__ */ Symbol("destroy"), @@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({ kQueue: /* @__PURE__ */ Symbol("queue"), kConnect: /* @__PURE__ */ Symbol("connect"), kConnecting: /* @__PURE__ */ Symbol("connecting"), - kHeadersList: /* @__PURE__ */ Symbol("headers list"), kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"), kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"), kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"), @@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({ kHost: /* @__PURE__ */ Symbol("host"), kNoRef: /* @__PURE__ */ Symbol("no ref"), kBodyUsed: /* @__PURE__ */ Symbol("used"), + kBody: /* @__PURE__ */ Symbol("abstracted request body"), kRunning: /* @__PURE__ */ Symbol("running"), kBlocking: /* @__PURE__ */ Symbol("blocking"), kPending: /* @__PURE__ */ Symbol("pending"), @@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({ kNeedDrain: /* @__PURE__ */ Symbol("need drain"), kReset: /* @__PURE__ */ Symbol("reset"), kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"), + kResume: /* @__PURE__ */ Symbol("resume"), + kOnError: /* @__PURE__ */ Symbol("on error"), kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"), kRunningIdx: /* @__PURE__ */ Symbol("running index"), kPendingIdx: /* @__PURE__ */ Symbol("pending index"), @@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({ kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"), kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"), kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"), - kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"), - kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"), - kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"), - kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"), kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"), - kConstruct: /* @__PURE__ */ Symbol("constructable") + kConstruct: /* @__PURE__ */ Symbol("constructable"), + kListeners: /* @__PURE__ */ Symbol("listeners"), + kHTTPContext: /* @__PURE__ */ Symbol("http context"), + kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"), + kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"), + kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"), + kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent") }; } }); -// node_modules/undici/lib/core/errors.js +// node_modules/@actions/github/node_modules/undici/lib/core/errors.js var require_errors2 = __commonJS({ - "node_modules/undici/lib/core/errors.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) { "use strict"; + var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR"); var UndiciError = class extends Error { constructor(message) { super(message); this.name = "UndiciError"; this.code = "UND_ERR"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kUndiciError] === true; + } + [kUndiciError] = true; }; - var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError { + var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"); + var ConnectTimeoutError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _ConnectTimeoutError); this.name = "ConnectTimeoutError"; this.message = message || "Connect Timeout Error"; this.code = "UND_ERR_CONNECT_TIMEOUT"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kConnectTimeoutError] === true; + } + [kConnectTimeoutError] = true; }; - var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError { + var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"); + var HeadersTimeoutError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _HeadersTimeoutError); this.name = "HeadersTimeoutError"; this.message = message || "Headers Timeout Error"; this.code = "UND_ERR_HEADERS_TIMEOUT"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kHeadersTimeoutError] === true; + } + [kHeadersTimeoutError] = true; }; - var HeadersOverflowError = class _HeadersOverflowError extends UndiciError { + var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"); + var HeadersOverflowError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _HeadersOverflowError); this.name = "HeadersOverflowError"; this.message = message || "Headers Overflow Error"; this.code = "UND_ERR_HEADERS_OVERFLOW"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kHeadersOverflowError] === true; + } + [kHeadersOverflowError] = true; }; - var BodyTimeoutError = class _BodyTimeoutError extends UndiciError { + var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"); + var BodyTimeoutError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _BodyTimeoutError); this.name = "BodyTimeoutError"; this.message = message || "Body Timeout Error"; this.code = "UND_ERR_BODY_TIMEOUT"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kBodyTimeoutError] === true; + } + [kBodyTimeoutError] = true; }; - var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError { + var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"); + var ResponseStatusCodeError = class extends UndiciError { constructor(message, statusCode, headers, body) { super(message); - Error.captureStackTrace(this, _ResponseStatusCodeError); this.name = "ResponseStatusCodeError"; this.message = message || "Response Status Code Error"; this.code = "UND_ERR_RESPONSE_STATUS_CODE"; @@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({ this.statusCode = statusCode; this.headers = headers; } + static [Symbol.hasInstance](instance) { + return instance && instance[kResponseStatusCodeError] === true; + } + [kResponseStatusCodeError] = true; }; - var InvalidArgumentError = class _InvalidArgumentError extends UndiciError { + var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG"); + var InvalidArgumentError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _InvalidArgumentError); this.name = "InvalidArgumentError"; this.message = message || "Invalid Argument Error"; this.code = "UND_ERR_INVALID_ARG"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kInvalidArgumentError] === true; + } + [kInvalidArgumentError] = true; }; - var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError { + var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"); + var InvalidReturnValueError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _InvalidReturnValueError); this.name = "InvalidReturnValueError"; this.message = message || "Invalid Return Value Error"; this.code = "UND_ERR_INVALID_RETURN_VALUE"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kInvalidReturnValueError] === true; + } + [kInvalidReturnValueError] = true; }; - var RequestAbortedError = class _RequestAbortedError extends UndiciError { + var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT"); + var AbortError = class extends UndiciError { + constructor(message) { + super(message); + this.name = "AbortError"; + this.message = message || "The operation was aborted"; + this.code = "UND_ERR_ABORT"; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kAbortError] === true; + } + [kAbortError] = true; + }; + var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED"); + var RequestAbortedError = class extends AbortError { constructor(message) { super(message); - Error.captureStackTrace(this, _RequestAbortedError); this.name = "AbortError"; this.message = message || "Request aborted"; this.code = "UND_ERR_ABORTED"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kRequestAbortedError] === true; + } + [kRequestAbortedError] = true; }; - var InformationalError = class _InformationalError extends UndiciError { + var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO"); + var InformationalError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _InformationalError); this.name = "InformationalError"; this.message = message || "Request information"; this.code = "UND_ERR_INFO"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kInformationalError] === true; + } + [kInformationalError] = true; }; - var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError { + var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"); + var RequestContentLengthMismatchError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _RequestContentLengthMismatchError); this.name = "RequestContentLengthMismatchError"; this.message = message || "Request body length does not match content-length header"; this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kRequestContentLengthMismatchError] === true; + } + [kRequestContentLengthMismatchError] = true; }; - var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError { + var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"); + var ResponseContentLengthMismatchError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _ResponseContentLengthMismatchError); this.name = "ResponseContentLengthMismatchError"; this.message = message || "Response body length does not match content-length header"; this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kResponseContentLengthMismatchError] === true; + } + [kResponseContentLengthMismatchError] = true; }; - var ClientDestroyedError = class _ClientDestroyedError extends UndiciError { + var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED"); + var ClientDestroyedError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _ClientDestroyedError); this.name = "ClientDestroyedError"; this.message = message || "The client is destroyed"; this.code = "UND_ERR_DESTROYED"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kClientDestroyedError] === true; + } + [kClientDestroyedError] = true; }; - var ClientClosedError = class _ClientClosedError extends UndiciError { + var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED"); + var ClientClosedError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _ClientClosedError); this.name = "ClientClosedError"; this.message = message || "The client is closed"; this.code = "UND_ERR_CLOSED"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kClientClosedError] === true; + } + [kClientClosedError] = true; }; - var SocketError = class _SocketError extends UndiciError { + var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET"); + var SocketError = class extends UndiciError { constructor(message, socket) { super(message); - Error.captureStackTrace(this, _SocketError); this.name = "SocketError"; this.message = message || "Socket error"; this.code = "UND_ERR_SOCKET"; this.socket = socket; } + static [Symbol.hasInstance](instance) { + return instance && instance[kSocketError] === true; + } + [kSocketError] = true; }; - var NotSupportedError = class _NotSupportedError extends UndiciError { + var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"); + var NotSupportedError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _NotSupportedError); this.name = "NotSupportedError"; this.message = message || "Not supported error"; this.code = "UND_ERR_NOT_SUPPORTED"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kNotSupportedError] === true; + } + [kNotSupportedError] = true; }; + var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"); var BalancedPoolMissingUpstreamError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, NotSupportedError); this.name = "MissingUpstreamError"; this.message = message || "No upstream has been added to the BalancedPool"; this.code = "UND_ERR_BPL_MISSING_UPSTREAM"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kBalancedPoolMissingUpstreamError] === true; + } + [kBalancedPoolMissingUpstreamError] = true; }; - var HTTPParserError = class _HTTPParserError extends Error { + var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER"); + var HTTPParserError = class extends Error { constructor(message, code, data) { super(message); - Error.captureStackTrace(this, _HTTPParserError); this.name = "HTTPParserError"; this.code = code ? `HPE_${code}` : void 0; this.data = data ? data.toString() : void 0; } + static [Symbol.hasInstance](instance) { + return instance && instance[kHTTPParserError] === true; + } + [kHTTPParserError] = true; }; - var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError { + var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"); + var ResponseExceededMaxSizeError = class extends UndiciError { constructor(message) { super(message); - Error.captureStackTrace(this, _ResponseExceededMaxSizeError); this.name = "ResponseExceededMaxSizeError"; this.message = message || "Response content exceeded max size"; this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kResponseExceededMaxSizeError] === true; + } + [kResponseExceededMaxSizeError] = true; }; - var RequestRetryError = class _RequestRetryError extends UndiciError { + var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY"); + var RequestRetryError = class extends UndiciError { constructor(message, code, { headers, data }) { super(message); - Error.captureStackTrace(this, _RequestRetryError); this.name = "RequestRetryError"; this.message = message || "Request retry error"; this.code = "UND_ERR_REQ_RETRY"; @@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({ this.data = data; this.headers = headers; } + static [Symbol.hasInstance](instance) { + return instance && instance[kRequestRetryError] === true; + } + [kRequestRetryError] = true; + }; + var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE"); + var ResponseError = class extends UndiciError { + constructor(message, code, { headers, data }) { + super(message); + this.name = "ResponseError"; + this.message = message || "Response error"; + this.code = "UND_ERR_RESPONSE"; + this.statusCode = code; + this.data = data; + this.headers = headers; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kResponseError] === true; + } + [kResponseError] = true; + }; + var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS"); + var SecureProxyConnectionError = class extends UndiciError { + constructor(cause, message, options) { + super(message, { cause, ...options ?? {} }); + this.name = "SecureProxyConnectionError"; + this.message = message || "Secure Proxy Connection failed"; + this.code = "UND_ERR_PRX_TLS"; + this.cause = cause; + } + static [Symbol.hasInstance](instance) { + return instance && instance[kSecureProxyConnectionError] === true; + } + [kSecureProxyConnectionError] = true; }; module2.exports = { + AbortError, HTTPParserError, UndiciError, HeadersTimeoutError, @@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({ ResponseContentLengthMismatchError, BalancedPoolMissingUpstreamError, ResponseExceededMaxSizeError, - RequestRetryError + RequestRetryError, + ResponseError, + SecureProxyConnectionError }; } }); -// node_modules/undici/lib/core/constants.js +// node_modules/@actions/github/node_modules/undici/lib/core/constants.js var require_constants6 = __commonJS({ - "node_modules/undici/lib/core/constants.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) { "use strict"; var headerNameLowerCasedRecord = {}; var wellknownHeaderNames = [ @@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({ } }); -// node_modules/undici/lib/core/util.js +// node_modules/@actions/github/node_modules/undici/lib/core/tree.js +var require_tree2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) { + "use strict"; + var { + wellknownHeaderNames, + headerNameLowerCasedRecord + } = require_constants6(); + var TstNode = class _TstNode { + /** @type {any} */ + value = null; + /** @type {null | TstNode} */ + left = null; + /** @type {null | TstNode} */ + middle = null; + /** @type {null | TstNode} */ + right = null; + /** @type {number} */ + code; + /** + * @param {string} key + * @param {any} value + * @param {number} index + */ + constructor(key, value, index) { + if (index === void 0 || index >= key.length) { + throw new TypeError("Unreachable"); + } + const code = this.code = key.charCodeAt(index); + if (code > 127) { + throw new TypeError("key must be ascii string"); + } + if (key.length !== ++index) { + this.middle = new _TstNode(key, value, index); + } else { + this.value = value; + } + } + /** + * @param {string} key + * @param {any} value + */ + add(key, value) { + const length = key.length; + if (length === 0) { + throw new TypeError("Unreachable"); + } + let index = 0; + let node = this; + while (true) { + const code = key.charCodeAt(index); + if (code > 127) { + throw new TypeError("key must be ascii string"); + } + if (node.code === code) { + if (length === ++index) { + node.value = value; + break; + } else if (node.middle !== null) { + node = node.middle; + } else { + node.middle = new _TstNode(key, value, index); + break; + } + } else if (node.code < code) { + if (node.left !== null) { + node = node.left; + } else { + node.left = new _TstNode(key, value, index); + break; + } + } else if (node.right !== null) { + node = node.right; + } else { + node.right = new _TstNode(key, value, index); + break; + } + } + } + /** + * @param {Uint8Array} key + * @return {TstNode | null} + */ + search(key) { + const keylength = key.length; + let index = 0; + let node = this; + while (node !== null && index < keylength) { + let code = key[index]; + if (code <= 90 && code >= 65) { + code |= 32; + } + while (node !== null) { + if (code === node.code) { + if (keylength === ++index) { + return node; + } + node = node.middle; + break; + } + node = node.code < code ? node.left : node.right; + } + } + return null; + } + }; + var TernarySearchTree = class { + /** @type {TstNode | null} */ + node = null; + /** + * @param {string} key + * @param {any} value + * */ + insert(key, value) { + if (this.node === null) { + this.node = new TstNode(key, value, 0); + } else { + this.node.add(key, value); + } + } + /** + * @param {Uint8Array} key + * @return {any} + */ + lookup(key) { + return this.node?.search(key)?.value ?? null; + } + }; + var tree = new TernarySearchTree(); + for (let i = 0; i < wellknownHeaderNames.length; ++i) { + const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]]; + tree.insert(key, key); + } + module2.exports = { + TernarySearchTree, + tree + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/core/util.js var require_util9 = __commonJS({ - "node_modules/undici/lib/core/util.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) { "use strict"; - var assert = require("assert"); - var { kDestroyed, kBodyUsed } = require_symbols6(); - var { IncomingMessage } = require("http"); - var stream = require("stream"); - var net = require("net"); + var assert = require("node:assert"); + var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6(); + var { IncomingMessage } = require("node:http"); + var stream = require("node:stream"); + var net = require("node:net"); + var { Blob: Blob2 } = require("node:buffer"); + var nodeUtil = require("node:util"); + var { stringify } = require("node:querystring"); + var { EventEmitter: EE } = require("node:events"); var { InvalidArgumentError } = require_errors2(); - var { Blob: Blob2 } = require("buffer"); - var nodeUtil = require("util"); - var { stringify } = require("querystring"); var { headerNameLowerCasedRecord } = require_constants6(); + var { tree } = require_tree2(); var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v)); + var BodyAsyncIterable = class { + constructor(body) { + this[kBody] = body; + this[kBodyUsed] = false; + } + async *[Symbol.asyncIterator]() { + assert(!this[kBodyUsed], "disturbed"); + this[kBodyUsed] = true; + yield* this[kBody]; + } + }; + function wrapRequestBody(body) { + if (isStream(body)) { + if (bodyLength(body) === 0) { + body.on("data", function() { + assert(false); + }); + } + if (typeof body.readableDidRead !== "boolean") { + body[kBodyUsed] = false; + EE.prototype.on.call(body, "data", function() { + this[kBodyUsed] = true; + }); + } + return body; + } else if (body && typeof body.pipeTo === "function") { + return new BodyAsyncIterable(body); + } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) { + return new BodyAsyncIterable(body); + } else { + return body; + } + } function nop() { } function isStream(obj) { return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function"; } function isBlobLike(object) { - return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]); + if (object === null) { + return false; + } else if (object instanceof Blob2) { + return true; + } else if (typeof object !== "object") { + return false; + } else { + const sTag = object[Symbol.toStringTag]; + return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function"); + } } function buildURL(url, queryParams) { if (url.includes("?") || url.includes("#")) { @@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({ } return url; } + function isValidPort(port) { + const value = parseInt(port, 10); + return value === Number(port) && value >= 0 && value <= 65535; + } + function isHttpOrHttpsPrefixed(value) { + return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":"); + } function parseURL(url) { if (typeof url === "string") { url = new URL(url); - if (!/^https?:/.test(url.origin || url.protocol)) { + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); } return url; @@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({ if (!url || typeof url !== "object") { throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object."); } - if (!/^https?:/.test(url.origin || url.protocol)) { - throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); - } if (!(url instanceof URL)) { - if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) { + if (url.port != null && url.port !== "" && isValidPort(url.port) === false) { throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer."); } if (url.path != null && typeof url.path !== "string") { @@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({ if (url.origin != null && typeof url.origin !== "string") { throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined."); } + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { + throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); + } const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80; - let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`; + let origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`; let path7 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`; - if (origin.endsWith("/")) { - origin = origin.substring(0, origin.length - 1); + if (origin[origin.length - 1] === "/") { + origin = origin.slice(0, origin.length - 1); } - if (path7 && !path7.startsWith("/")) { + if (path7 && path7[0] !== "/") { path7 = `/${path7}`; } - url = new URL(origin + path7); + return new URL(`${origin}${path7}`); + } + if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) { + throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); } return url; } @@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({ if (!host) { return null; } - assert.strictEqual(typeof host, "string"); + assert(typeof host === "string"); const servername = getHostname(host); if (net.isIP(servername)) { return ""; @@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({ } return null; } - function isDestroyed(stream2) { - return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]); - } - function isReadableAborted(stream2) { - const state = stream2 && stream2._readableState; - return isDestroyed(stream2) && state && !state.endEmitted; + function isDestroyed(body) { + return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body)); } function destroy(stream2, err) { if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) { @@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({ } stream2.destroy(err); } else if (err) { - process.nextTick((stream3, err2) => { - stream3.emit("error", err2); - }, stream2, err); + queueMicrotask(() => { + stream2.emit("error", err); + }); } if (stream2.destroyed !== true) { stream2[kDestroyed] = true; @@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({ return m ? parseInt(m[1], 10) * 1e3 : null; } function headerNameToString(value) { - return headerNameLowerCasedRecord[value] || value.toLowerCase(); + return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase(); } - function parseHeaders(headers, obj = {}) { - if (!Array.isArray(headers)) return headers; + function bufferToLowerCasedHeaderName(value) { + return tree.lookup(value) ?? value.toString("latin1").toLowerCase(); + } + function parseHeaders(headers, obj) { + if (obj === void 0) obj = {}; for (let i = 0; i < headers.length; i += 2) { - const key = headers[i].toString().toLowerCase(); + const key = headerNameToString(headers[i]); let val = obj[key]; - if (!val) { - if (Array.isArray(headers[i + 1])) { - obj[key] = headers[i + 1].map((x) => x.toString("utf8")); - } else { - obj[key] = headers[i + 1].toString("utf8"); - } - } else { - if (!Array.isArray(val)) { + if (val) { + if (typeof val === "string") { val = [val]; obj[key] = val; } val.push(headers[i + 1].toString("utf8")); + } else { + const headersValue = headers[i + 1]; + if (typeof headersValue === "string") { + obj[key] = headersValue; + } else { + obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8"); + } } } if ("content-length" in obj && "content-disposition" in obj) { @@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({ return obj; } function parseRawHeaders(headers) { - const ret = []; + const len = headers.length; + const ret = new Array(len); let hasContentLength = false; let contentDispositionIdx = -1; + let key; + let val; + let kLen = 0; for (let n = 0; n < headers.length; n += 2) { - const key = headers[n + 0].toString(); - const val = headers[n + 1].toString("utf8"); - if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) { - ret.push(key, val); + key = headers[n]; + val = headers[n + 1]; + typeof key !== "string" && (key = key.toString()); + typeof val !== "string" && (val = val.toString("utf8")); + kLen = key.length; + if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) { hasContentLength = true; - } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { - contentDispositionIdx = ret.push(key, val) - 1; - } else { - ret.push(key, val); + } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { + contentDispositionIdx = n + 1; } + ret[n] = key; + ret[n + 1] = val; } if (hasContentLength && contentDispositionIdx !== -1) { ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1"); @@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({ } } function isDisturbed(body) { - return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body))); + return !!(body && (stream.isDisturbed(body) || body[kBodyUsed])); } function isErrored(body) { - return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test( - nodeUtil.inspect(body) - ))); + return !!(body && stream.isErrored(body)); } function isReadable(body) { - return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test( - nodeUtil.inspect(body) - ))); + return !!(body && stream.isReadable(body)); } function getSocketInfo(socket) { return { @@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({ bytesRead: socket.bytesRead }; } - async function* convertIterableToBuffer(iterable) { - for await (const chunk of iterable) { - yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); - } - } - var ReadableStream2; function ReadableStreamFrom(iterable) { - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; - } - if (ReadableStream2.from) { - return ReadableStream2.from(convertIterableToBuffer(iterable)); - } let iterator2; - return new ReadableStream2( + return new ReadableStream( { async start() { iterator2 = iterable[Symbol.asyncIterator](); @@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({ if (done) { queueMicrotask(() => { controller.close(); + controller.byobRequest?.respond(0); }); } else { const buf = Buffer.isBuffer(value) ? value : Buffer.from(value); - controller.enqueue(new Uint8Array(buf)); + if (buf.byteLength) { + controller.enqueue(new Uint8Array(buf)); + } } return controller.desiredSize > 0; }, async cancel(reason) { await iterator2.return(); - } - }, - 0 + }, + type: "bytes" + } ); } function isFormDataLike(object) { return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData"; } - function throwIfAborted(signal) { - if (!signal) { - return; - } - if (typeof signal.throwIfAborted === "function") { - signal.throwIfAborted(); - } else { - if (signal.aborted) { - const err = new Error("The operation was aborted"); - err.name = "AbortError"; - throw err; - } - } - } function addAbortListener(signal, listener) { if ("addEventListener" in signal) { signal.addEventListener("abort", listener, { once: true }); @@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({ signal.addListener("abort", listener); return () => signal.removeListener("abort", listener); } - var hasToWellFormed = !!String.prototype.toWellFormed; + var hasToWellFormed = typeof String.prototype.toWellFormed === "function"; + var hasIsWellFormed = typeof String.prototype.isWellFormed === "function"; function toUSVString(val) { - if (hasToWellFormed) { - return `${val}`.toWellFormed(); - } else if (nodeUtil.toUSVString) { - return nodeUtil.toUSVString(val); + return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val); + } + function isUSVString(val) { + return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`; + } + function isTokenCharCode(c) { + switch (c) { + case 34: + case 40: + case 41: + case 44: + case 47: + case 58: + case 59: + case 60: + case 61: + case 62: + case 63: + case 64: + case 91: + case 92: + case 93: + case 123: + case 125: + return false; + default: + return c >= 33 && c <= 126; } - return `${val}`; + } + function isValidHTTPToken(characters) { + if (characters.length === 0) { + return false; + } + for (let i = 0; i < characters.length; ++i) { + if (!isTokenCharCode(characters.charCodeAt(i))) { + return false; + } + } + return true; + } + var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; + function isValidHeaderValue(characters) { + return !headerCharRegex.test(characters); } function parseRangeHeader(range) { if (range == null || range === "") return { start: 0, end: null, size: null }; @@ -22290,8 +22632,49 @@ var require_util9 = __commonJS({ size: m[3] ? parseInt(m[3]) : null } : null; } + function addListener(obj, name, listener) { + const listeners = obj[kListeners] ??= []; + listeners.push([name, listener]); + obj.on(name, listener); + return obj; + } + function removeAllListeners(obj) { + for (const [name, listener] of obj[kListeners] ?? []) { + obj.removeListener(name, listener); + } + obj[kListeners] = null; + } + function errorRequest2(client, request2, err) { + try { + request2.onError(err); + assert(request2.aborted); + } catch (err2) { + client.emit("error", err2); + } + } var kEnumerableProperty = /* @__PURE__ */ Object.create(null); kEnumerableProperty.enumerable = true; + var normalizedMethodRecordsBase = { + delete: "DELETE", + DELETE: "DELETE", + get: "GET", + GET: "GET", + head: "HEAD", + HEAD: "HEAD", + options: "OPTIONS", + OPTIONS: "OPTIONS", + post: "POST", + POST: "POST", + put: "PUT", + PUT: "PUT" + }; + var normalizedMethodRecords = { + ...normalizedMethodRecordsBase, + patch: "patch", + PATCH: "PATCH" + }; + Object.setPrototypeOf(normalizedMethodRecordsBase, null); + Object.setPrototypeOf(normalizedMethodRecords, null); module2.exports = { kEnumerableProperty, nop, @@ -22299,7 +22682,7 @@ var require_util9 = __commonJS({ isErrored, isReadable, toUSVString, - isReadableAborted, + isUSVString, isBlobLike, parseOrigin, parseURL, @@ -22309,6 +22692,10 @@ var require_util9 = __commonJS({ isAsyncIterable, isDestroyed, headerNameToString, + bufferToLowerCasedHeaderName, + addListener, + removeAllListeners, + errorRequest: errorRequest2, parseRawHeaders, parseHeaders, parseKeepAliveTimeout, @@ -22321,2519 +22708,2736 @@ var require_util9 = __commonJS({ getSocketInfo, isFormDataLike, buildURL, - throwIfAborted, addAbortListener, + isValidHTTPToken, + isValidHeaderValue, + isTokenCharCode, parseRangeHeader, + normalizedMethodRecordsBase, + normalizedMethodRecords, + isValidPort, + isHttpOrHttpsPrefixed, nodeMajor, nodeMinor, - nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13, - safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"] + safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"], + wrapRequestBody }; } }); -// node_modules/undici/lib/timers.js -var require_timers2 = __commonJS({ - "node_modules/undici/lib/timers.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js +var require_diagnostics2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) { "use strict"; - var fastNow = Date.now(); - var fastNowTimeout; - var fastTimers = []; - function onTimeout() { - fastNow = Date.now(); - let len = fastTimers.length; - let idx = 0; - while (idx < len) { - const timer = fastTimers[idx]; - if (timer.state === 0) { - timer.state = fastNow + timer.delay; - } else if (timer.state > 0 && fastNow >= timer.state) { - timer.state = -1; - timer.callback(timer.opaque); - } - if (timer.state === -1) { - timer.state = -2; - if (idx !== len - 1) { - fastTimers[idx] = fastTimers.pop(); - } else { - fastTimers.pop(); - } - len -= 1; - } else { - idx += 1; - } - } - if (fastTimers.length > 0) { - refreshTimeout(); - } + var diagnosticsChannel = require("node:diagnostics_channel"); + var util = require("node:util"); + var undiciDebugLog = util.debuglog("undici"); + var fetchDebuglog = util.debuglog("fetch"); + var websocketDebuglog = util.debuglog("websocket"); + var isClientSet = false; + var channels = { + // Client + beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"), + connected: diagnosticsChannel.channel("undici:client:connected"), + connectError: diagnosticsChannel.channel("undici:client:connectError"), + sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"), + // Request + create: diagnosticsChannel.channel("undici:request:create"), + bodySent: diagnosticsChannel.channel("undici:request:bodySent"), + headers: diagnosticsChannel.channel("undici:request:headers"), + trailers: diagnosticsChannel.channel("undici:request:trailers"), + error: diagnosticsChannel.channel("undici:request:error"), + // WebSocket + open: diagnosticsChannel.channel("undici:websocket:open"), + close: diagnosticsChannel.channel("undici:websocket:close"), + socketError: diagnosticsChannel.channel("undici:websocket:socket_error"), + ping: diagnosticsChannel.channel("undici:websocket:ping"), + pong: diagnosticsChannel.channel("undici:websocket:pong") + }; + if (undiciDebugLog.enabled || fetchDebuglog.enabled) { + const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog; + diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => { + const { + connectParams: { version, protocol, port, host } + } = evt; + debuglog( + "connecting to %s using %s%s", + `${host}${port ? `:${port}` : ""}`, + protocol, + version + ); + }); + diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => { + const { + connectParams: { version, protocol, port, host } + } = evt; + debuglog( + "connected to %s using %s%s", + `${host}${port ? `:${port}` : ""}`, + protocol, + version + ); + }); + diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => { + const { + connectParams: { version, protocol, port, host }, + error: error3 + } = evt; + debuglog( + "connection to %s using %s%s errored - %s", + `${host}${port ? `:${port}` : ""}`, + protocol, + version, + error3.message + ); + }); + diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => { + const { + request: { method, path: path7, origin } + } = evt; + debuglog("sending request to %s %s/%s", method, origin, path7); + }); + diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => { + const { + request: { method, path: path7, origin }, + response: { statusCode } + } = evt; + debuglog( + "received response to %s %s/%s - HTTP %d", + method, + origin, + path7, + statusCode + ); + }); + diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => { + const { + request: { method, path: path7, origin } + } = evt; + debuglog("trailers received from %s %s/%s", method, origin, path7); + }); + diagnosticsChannel.channel("undici:request:error").subscribe((evt) => { + const { + request: { method, path: path7, origin }, + error: error3 + } = evt; + debuglog( + "request to %s %s/%s errored - %s", + method, + origin, + path7, + error3.message + ); + }); + isClientSet = true; } - function refreshTimeout() { - if (fastNowTimeout && fastNowTimeout.refresh) { - fastNowTimeout.refresh(); - } else { - clearTimeout(fastNowTimeout); - fastNowTimeout = setTimeout(onTimeout, 1e3); - if (fastNowTimeout.unref) { - fastNowTimeout.unref(); - } + if (websocketDebuglog.enabled) { + if (!isClientSet) { + const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog; + diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => { + const { + connectParams: { version, protocol, port, host } + } = evt; + debuglog( + "connecting to %s%s using %s%s", + host, + port ? `:${port}` : "", + protocol, + version + ); + }); + diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => { + const { + connectParams: { version, protocol, port, host } + } = evt; + debuglog( + "connected to %s%s using %s%s", + host, + port ? `:${port}` : "", + protocol, + version + ); + }); + diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => { + const { + connectParams: { version, protocol, port, host }, + error: error3 + } = evt; + debuglog( + "connection to %s%s using %s%s errored - %s", + host, + port ? `:${port}` : "", + protocol, + version, + error3.message + ); + }); + diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => { + const { + request: { method, path: path7, origin } + } = evt; + debuglog("sending request to %s %s/%s", method, origin, path7); + }); } + diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => { + const { + address: { address, port } + } = evt; + websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : ""); + }); + diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => { + const { websocket, code, reason } = evt; + websocketDebuglog( + "closed connection to %s - %s %s", + websocket.url, + code, + reason + ); + }); + diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => { + websocketDebuglog("connection errored - %s", err.message); + }); + diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => { + websocketDebuglog("ping received"); + }); + diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => { + websocketDebuglog("pong received"); + }); } - var Timeout = class { - constructor(callback, delay, opaque) { - this.callback = callback; - this.delay = delay; - this.opaque = opaque; - this.state = -2; - this.refresh(); - } - refresh() { - if (this.state === -2) { - fastTimers.push(this); - if (!fastNowTimeout || fastTimers.length === 1) { - refreshTimeout(); - } - } - this.state = 0; - } - clear() { - this.state = -1; - } - }; module2.exports = { - setTimeout(callback, delay, opaque) { - return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque); - }, - clearTimeout(timeout) { - if (timeout instanceof Timeout) { - timeout.clear(); - } else { - clearTimeout(timeout); - } - } + channels }; } }); -// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js -var require_sbmh = __commonJS({ - "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/core/request.js +var require_request3 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) { "use strict"; - var EventEmitter = require("node:events").EventEmitter; - var inherits = require("node:util").inherits; - function SBMH(needle) { - if (typeof needle === "string") { - needle = Buffer.from(needle); - } - if (!Buffer.isBuffer(needle)) { - throw new TypeError("The needle has to be a String or a Buffer."); - } - const needleLength = needle.length; - if (needleLength === 0) { - throw new Error("The needle cannot be an empty String/Buffer."); - } - if (needleLength > 256) { - throw new Error("The needle cannot have a length bigger than 256."); - } - this.maxMatches = Infinity; - this.matches = 0; - this._occ = new Array(256).fill(needleLength); - this._lookbehind_size = 0; - this._needle = needle; - this._bufpos = 0; - this._lookbehind = Buffer.alloc(needleLength); - for (var i = 0; i < needleLength - 1; ++i) { - this._occ[needle[i]] = needleLength - 1 - i; - } - } - inherits(SBMH, EventEmitter); - SBMH.prototype.reset = function() { - this._lookbehind_size = 0; - this.matches = 0; - this._bufpos = 0; - }; - SBMH.prototype.push = function(chunk, pos) { - if (!Buffer.isBuffer(chunk)) { - chunk = Buffer.from(chunk, "binary"); - } - const chlen = chunk.length; - this._bufpos = pos || 0; - let r; - while (r !== chlen && this.matches < this.maxMatches) { - r = this._sbmh_feed(chunk); - } - return r; - }; - SBMH.prototype._sbmh_feed = function(data) { - const len = data.length; - const needle = this._needle; - const needleLength = needle.length; - const lastNeedleChar = needle[needleLength - 1]; - let pos = -this._lookbehind_size; - let ch; - if (pos < 0) { - while (pos < 0 && pos <= len - needleLength) { - ch = this._sbmh_lookup_char(data, pos + needleLength - 1); - if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) { - this._lookbehind_size = 0; - ++this.matches; - this.emit("info", true); - return this._bufpos = pos + needleLength; - } - pos += this._occ[ch]; - } - if (pos < 0) { - while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) { - ++pos; - } - } - if (pos >= 0) { - this.emit("info", false, this._lookbehind, 0, this._lookbehind_size); - this._lookbehind_size = 0; - } else { - const bytesToCutOff = this._lookbehind_size + pos; - if (bytesToCutOff > 0) { - this.emit("info", false, this._lookbehind, 0, bytesToCutOff); - } - this._lookbehind.copy( - this._lookbehind, - 0, - bytesToCutOff, - this._lookbehind_size - bytesToCutOff - ); - this._lookbehind_size -= bytesToCutOff; - data.copy(this._lookbehind, this._lookbehind_size); - this._lookbehind_size += len; - this._bufpos = len; - return len; - } - } - pos += (pos >= 0) * this._bufpos; - if (data.indexOf(needle, pos) !== -1) { - pos = data.indexOf(needle, pos); - ++this.matches; - if (pos > 0) { - this.emit("info", true, data, this._bufpos, pos); - } else { - this.emit("info", true); + var { + InvalidArgumentError, + NotSupportedError + } = require_errors2(); + var assert = require("node:assert"); + var { + isValidHTTPToken, + isValidHeaderValue, + isStream, + destroy, + isBuffer, + isFormDataLike, + isIterable, + isBlobLike, + buildURL, + validateHandler, + getServerName, + normalizedMethodRecords + } = require_util9(); + var { channels } = require_diagnostics2(); + var { headerNameLowerCasedRecord } = require_constants6(); + var invalidPathRegex = /[^\u0021-\u00ff]/; + var kHandler = /* @__PURE__ */ Symbol("handler"); + var Request = class { + constructor(origin, { + path: path7, + method, + body, + headers, + query, + idempotent, + blocking, + upgrade, + headersTimeout, + bodyTimeout, + reset, + throwOnError, + expectContinue, + servername + }, handler2) { + if (typeof path7 !== "string") { + throw new InvalidArgumentError("path must be a string"); + } else if (path7[0] !== "/" && !(path7.startsWith("http://") || path7.startsWith("https://")) && method !== "CONNECT") { + throw new InvalidArgumentError("path must be an absolute URL or start with a slash"); + } else if (invalidPathRegex.test(path7)) { + throw new InvalidArgumentError("invalid request path"); + } + if (typeof method !== "string") { + throw new InvalidArgumentError("method must be a string"); + } else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) { + throw new InvalidArgumentError("invalid request method"); + } + if (upgrade && typeof upgrade !== "string") { + throw new InvalidArgumentError("upgrade must be a string"); + } + if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) { + throw new InvalidArgumentError("invalid headersTimeout"); + } + if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { + throw new InvalidArgumentError("invalid bodyTimeout"); + } + if (reset != null && typeof reset !== "boolean") { + throw new InvalidArgumentError("invalid reset"); + } + if (expectContinue != null && typeof expectContinue !== "boolean") { + throw new InvalidArgumentError("invalid expectContinue"); + } + this.headersTimeout = headersTimeout; + this.bodyTimeout = bodyTimeout; + this.throwOnError = throwOnError === true; + this.method = method; + this.abort = null; + if (body == null) { + this.body = null; + } else if (isStream(body)) { + this.body = body; + const rState = this.body._readableState; + if (!rState || !rState.autoDestroy) { + this.endHandler = function autoDestroy() { + destroy(this); + }; + this.body.on("end", this.endHandler); + } + this.errorHandler = (err) => { + if (this.abort) { + this.abort(err); + } else { + this.error = err; + } + }; + this.body.on("error", this.errorHandler); + } else if (isBuffer(body)) { + this.body = body.byteLength ? body : null; + } else if (ArrayBuffer.isView(body)) { + this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null; + } else if (body instanceof ArrayBuffer) { + this.body = body.byteLength ? Buffer.from(body) : null; + } else if (typeof body === "string") { + this.body = body.length ? Buffer.from(body) : null; + } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) { + this.body = body; + } else { + throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"); + } + this.completed = false; + this.aborted = false; + this.upgrade = upgrade || null; + this.path = query ? buildURL(path7, query) : path7; + this.origin = origin; + this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent; + this.blocking = blocking == null ? false : blocking; + this.reset = reset == null ? null : reset; + this.host = null; + this.contentLength = null; + this.contentType = null; + this.headers = []; + this.expectContinue = expectContinue != null ? expectContinue : false; + if (Array.isArray(headers)) { + if (headers.length % 2 !== 0) { + throw new InvalidArgumentError("headers array must be even"); + } + for (let i = 0; i < headers.length; i += 2) { + processHeader(this, headers[i], headers[i + 1]); + } + } else if (headers && typeof headers === "object") { + if (headers[Symbol.iterator]) { + for (const header of headers) { + if (!Array.isArray(header) || header.length !== 2) { + throw new InvalidArgumentError("headers must be in key-value pair format"); + } + processHeader(this, header[0], header[1]); + } + } else { + const keys = Object.keys(headers); + for (let i = 0; i < keys.length; ++i) { + processHeader(this, keys[i], headers[keys[i]]); + } + } + } else if (headers != null) { + throw new InvalidArgumentError("headers must be an object or an array"); + } + validateHandler(handler2, method, upgrade); + this.servername = servername || getServerName(this.host); + this[kHandler] = handler2; + if (channels.create.hasSubscribers) { + channels.create.publish({ request: this }); } - return this._bufpos = pos + needleLength; - } else { - pos = len - needleLength; } - while (pos < len && (data[pos] !== needle[0] || Buffer.compare( - data.subarray(pos, pos + len - pos), - needle.subarray(0, len - pos) - ) !== 0)) { - ++pos; + onBodySent(chunk) { + if (this[kHandler].onBodySent) { + try { + return this[kHandler].onBodySent(chunk); + } catch (err) { + this.abort(err); + } + } } - if (pos < len) { - data.copy(this._lookbehind, 0, pos, pos + (len - pos)); - this._lookbehind_size = len - pos; + onRequestSent() { + if (channels.bodySent.hasSubscribers) { + channels.bodySent.publish({ request: this }); + } + if (this[kHandler].onRequestSent) { + try { + return this[kHandler].onRequestSent(); + } catch (err) { + this.abort(err); + } + } } - if (pos > 0) { - this.emit("info", false, data, this._bufpos, pos < len ? pos : len); + onConnect(abort) { + assert(!this.aborted); + assert(!this.completed); + if (this.error) { + abort(this.error); + } else { + this.abort = abort; + return this[kHandler].onConnect(abort); + } } - this._bufpos = len; - return len; - }; - SBMH.prototype._sbmh_lookup_char = function(data, pos) { - return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos]; - }; - SBMH.prototype._sbmh_memcmp = function(data, pos, len) { - for (var i = 0; i < len; ++i) { - if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) { + onResponseStarted() { + return this[kHandler].onResponseStarted?.(); + } + onHeaders(statusCode, headers, resume, statusText) { + assert(!this.aborted); + assert(!this.completed); + if (channels.headers.hasSubscribers) { + channels.headers.publish({ request: this, response: { statusCode, headers, statusText } }); + } + try { + return this[kHandler].onHeaders(statusCode, headers, resume, statusText); + } catch (err) { + this.abort(err); + } + } + onData(chunk) { + assert(!this.aborted); + assert(!this.completed); + try { + return this[kHandler].onData(chunk); + } catch (err) { + this.abort(err); return false; } } - return true; - }; - module2.exports = SBMH; - } -}); - -// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js -var require_PartStream = __commonJS({ - "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) { - "use strict"; - var inherits = require("node:util").inherits; - var ReadableStream2 = require("node:stream").Readable; - function PartStream(opts) { - ReadableStream2.call(this, opts); - } - inherits(PartStream, ReadableStream2); - PartStream.prototype._read = function(n) { - }; - module2.exports = PartStream; - } -}); - -// node_modules/@fastify/busboy/lib/utils/getLimit.js -var require_getLimit = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) { - "use strict"; - module2.exports = function getLimit(limits, name, defaultLimit) { - if (!limits || limits[name] === void 0 || limits[name] === null) { - return defaultLimit; + onUpgrade(statusCode, headers, socket) { + assert(!this.aborted); + assert(!this.completed); + return this[kHandler].onUpgrade(statusCode, headers, socket); } - if (typeof limits[name] !== "number" || isNaN(limits[name])) { - throw new TypeError("Limit " + name + " is not a valid number"); + onComplete(trailers) { + this.onFinally(); + assert(!this.aborted); + this.completed = true; + if (channels.trailers.hasSubscribers) { + channels.trailers.publish({ request: this, trailers }); + } + try { + return this[kHandler].onComplete(trailers); + } catch (err) { + this.onError(err); + } } - return limits[name]; - }; - } -}); - -// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js -var require_HeaderParser = __commonJS({ - "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) { - "use strict"; - var EventEmitter = require("node:events").EventEmitter; - var inherits = require("node:util").inherits; - var getLimit = require_getLimit(); - var StreamSearch = require_sbmh(); - var B_DCRLF = Buffer.from("\r\n\r\n"); - var RE_CRLF = /\r\n/g; - var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/; - function HeaderParser(cfg) { - EventEmitter.call(this); - cfg = cfg || {}; - const self2 = this; - this.nread = 0; - this.maxed = false; - this.npairs = 0; - this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3); - this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024); - this.buffer = ""; - this.header = {}; - this.finished = false; - this.ss = new StreamSearch(B_DCRLF); - this.ss.on("info", function(isMatch, data, start, end) { - if (data && !self2.maxed) { - if (self2.nread + end - start >= self2.maxHeaderSize) { - end = self2.maxHeaderSize - self2.nread + start; - self2.nread = self2.maxHeaderSize; - self2.maxed = true; - } else { - self2.nread += end - start; - } - self2.buffer += data.toString("binary", start, end); + onError(error3) { + this.onFinally(); + if (channels.error.hasSubscribers) { + channels.error.publish({ request: this, error: error3 }); } - if (isMatch) { - self2._finish(); + if (this.aborted) { + return; } - }); - } - inherits(HeaderParser, EventEmitter); - HeaderParser.prototype.push = function(data) { - const r = this.ss.push(data); - if (this.finished) { - return r; + this.aborted = true; + return this[kHandler].onError(error3); } - }; - HeaderParser.prototype.reset = function() { - this.finished = false; - this.buffer = ""; - this.header = {}; - this.ss.reset(); - }; - HeaderParser.prototype._finish = function() { - if (this.buffer) { - this._parseHeader(); + onFinally() { + if (this.errorHandler) { + this.body.off("error", this.errorHandler); + this.errorHandler = null; + } + if (this.endHandler) { + this.body.off("end", this.endHandler); + this.endHandler = null; + } + } + addHeader(key, value) { + processHeader(this, key, value); + return this; } - this.ss.matches = this.ss.maxMatches; - const header = this.header; - this.header = {}; - this.buffer = ""; - this.finished = true; - this.nread = this.npairs = 0; - this.maxed = false; - this.emit("header", header); }; - HeaderParser.prototype._parseHeader = function() { - if (this.npairs === this.maxHeaderPairs) { + function processHeader(request2, key, val) { + if (val && (typeof val === "object" && !Array.isArray(val))) { + throw new InvalidArgumentError(`invalid ${key} header`); + } else if (val === void 0) { return; } - const lines = this.buffer.split(RE_CRLF); - const len = lines.length; - let m, h; - for (var i = 0; i < len; ++i) { - if (lines[i].length === 0) { - continue; + let headerName = headerNameLowerCasedRecord[key]; + if (headerName === void 0) { + headerName = key.toLowerCase(); + if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) { + throw new InvalidArgumentError("invalid header key"); } - if (lines[i][0] === " " || lines[i][0] === " ") { - if (h) { - this.header[h][this.header[h].length - 1] += lines[i]; - continue; + } + if (Array.isArray(val)) { + const arr = []; + for (let i = 0; i < val.length; i++) { + if (typeof val[i] === "string") { + if (!isValidHeaderValue(val[i])) { + throw new InvalidArgumentError(`invalid ${key} header`); + } + arr.push(val[i]); + } else if (val[i] === null) { + arr.push(""); + } else if (typeof val[i] === "object") { + throw new InvalidArgumentError(`invalid ${key} header`); + } else { + arr.push(`${val[i]}`); } } - const posColon = lines[i].indexOf(":"); - if (posColon === -1 || posColon === 0) { - return; + val = arr; + } else if (typeof val === "string") { + if (!isValidHeaderValue(val)) { + throw new InvalidArgumentError(`invalid ${key} header`); } - m = RE_HDR.exec(lines[i]); - h = m[1].toLowerCase(); - this.header[h] = this.header[h] || []; - this.header[h].push(m[2] || ""); - if (++this.npairs === this.maxHeaderPairs) { - break; + } else if (val === null) { + val = ""; + } else { + val = `${val}`; + } + if (request2.host === null && headerName === "host") { + if (typeof val !== "string") { + throw new InvalidArgumentError("invalid host header"); + } + request2.host = val; + } else if (request2.contentLength === null && headerName === "content-length") { + request2.contentLength = parseInt(val, 10); + if (!Number.isFinite(request2.contentLength)) { + throw new InvalidArgumentError("invalid content-length header"); + } + } else if (request2.contentType === null && headerName === "content-type") { + request2.contentType = val; + request2.headers.push(key, val); + } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") { + throw new InvalidArgumentError(`invalid ${headerName} header`); + } else if (headerName === "connection") { + const value = typeof val === "string" ? val.toLowerCase() : null; + if (value !== "close" && value !== "keep-alive") { + throw new InvalidArgumentError("invalid connection header"); } + if (value === "close") { + request2.reset = true; + } + } else if (headerName === "expect") { + throw new NotSupportedError("expect header not supported"); + } else { + request2.headers.push(key, val); } - }; - module2.exports = HeaderParser; + } + module2.exports = Request; } }); -// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js -var require_Dicer = __commonJS({ - "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js +var require_dispatcher2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) { "use strict"; - var WritableStream = require("node:stream").Writable; - var inherits = require("node:util").inherits; - var StreamSearch = require_sbmh(); - var PartStream = require_PartStream(); - var HeaderParser = require_HeaderParser(); - var DASH = 45; - var B_ONEDASH = Buffer.from("-"); - var B_CRLF = Buffer.from("\r\n"); - var EMPTY_FN = function() { - }; - function Dicer(cfg) { - if (!(this instanceof Dicer)) { - return new Dicer(cfg); + var EventEmitter = require("node:events"); + var Dispatcher = class extends EventEmitter { + dispatch() { + throw new Error("not implemented"); } - WritableStream.call(this, cfg); - if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") { - throw new TypeError("Boundary required"); + close() { + throw new Error("not implemented"); } - if (typeof cfg.boundary === "string") { - this.setBoundary(cfg.boundary); - } else { - this._bparser = void 0; + destroy() { + throw new Error("not implemented"); } - this._headerFirst = cfg.headerFirst; - this._dashes = 0; - this._parts = 0; - this._finished = false; - this._realFinish = false; - this._isPreamble = true; - this._justMatched = false; - this._firstWrite = true; - this._inHeader = true; - this._part = void 0; - this._cb = void 0; - this._ignoreData = false; - this._partOpts = { highWaterMark: cfg.partHwm }; - this._pause = false; - const self2 = this; - this._hparser = new HeaderParser(cfg); - this._hparser.on("header", function(header) { - self2._inHeader = false; - self2._part.emit("header", header); - }); - } - inherits(Dicer, WritableStream); - Dicer.prototype.emit = function(ev) { - if (ev === "finish" && !this._realFinish) { - if (!this._finished) { - const self2 = this; - process.nextTick(function() { - self2.emit("error", new Error("Unexpected end of multipart data")); - if (self2._part && !self2._ignoreData) { - const type2 = self2._isPreamble ? "Preamble" : "Part"; - self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data")); - self2._part.push(null); - process.nextTick(function() { - self2._realFinish = true; - self2.emit("finish"); - self2._realFinish = false; - }); - return; - } - self2._realFinish = true; - self2.emit("finish"); - self2._realFinish = false; - }); + compose(...args) { + const interceptors = Array.isArray(args[0]) ? args[0] : args; + let dispatch = this.dispatch.bind(this); + for (const interceptor of interceptors) { + if (interceptor == null) { + continue; + } + if (typeof interceptor !== "function") { + throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`); + } + dispatch = interceptor(dispatch); + if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) { + throw new TypeError("invalid interceptor"); + } } - } else { - WritableStream.prototype.emit.apply(this, arguments); + return new ComposedDispatcher(this, dispatch); } }; - Dicer.prototype._write = function(data, encoding, cb) { - if (!this._hparser && !this._bparser) { - return cb(); + var ComposedDispatcher = class extends Dispatcher { + #dispatcher = null; + #dispatch = null; + constructor(dispatcher, dispatch) { + super(); + this.#dispatcher = dispatcher; + this.#dispatch = dispatch; } - if (this._headerFirst && this._isPreamble) { - if (!this._part) { - this._part = new PartStream(this._partOpts); - if (this.listenerCount("preamble") !== 0) { - this.emit("preamble", this._part); - } else { - this._ignore(); - } - } - const r = this._hparser.push(data); - if (!this._inHeader && r !== void 0 && r < data.length) { - data = data.slice(r); - } else { - return cb(); - } + dispatch(...args) { + this.#dispatch(...args); } - if (this._firstWrite) { - this._bparser.push(B_CRLF); - this._firstWrite = false; + close(...args) { + return this.#dispatcher.close(...args); } - this._bparser.push(data); - if (this._pause) { - this._cb = cb; - } else { - cb(); + destroy(...args) { + return this.#dispatcher.destroy(...args); } }; - Dicer.prototype.reset = function() { - this._part = void 0; - this._bparser = void 0; - this._hparser = void 0; - }; - Dicer.prototype.setBoundary = function(boundary) { - const self2 = this; - this._bparser = new StreamSearch("\r\n--" + boundary); - this._bparser.on("info", function(isMatch, data, start, end) { - self2._oninfo(isMatch, data, start, end); - }); - }; - Dicer.prototype._ignore = function() { - if (this._part && !this._ignoreData) { - this._ignoreData = true; - this._part.on("error", EMPTY_FN); - this._part.resume(); + module2.exports = Dispatcher; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js +var require_dispatcher_base2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) { + "use strict"; + var Dispatcher = require_dispatcher2(); + var { + ClientDestroyedError, + ClientClosedError, + InvalidArgumentError + } = require_errors2(); + var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6(); + var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed"); + var kOnClosed = /* @__PURE__ */ Symbol("onClosed"); + var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch"); + var DispatcherBase = class extends Dispatcher { + constructor() { + super(); + this[kDestroyed] = false; + this[kOnDestroyed] = null; + this[kClosed] = false; + this[kOnClosed] = []; } - }; - Dicer.prototype._oninfo = function(isMatch, data, start, end) { - let buf; - const self2 = this; - let i = 0; - let r; - let shouldWriteMore = true; - if (!this._part && this._justMatched && data) { - while (this._dashes < 2 && start + i < end) { - if (data[start + i] === DASH) { - ++i; - ++this._dashes; - } else { - if (this._dashes) { - buf = B_ONEDASH; + get destroyed() { + return this[kDestroyed]; + } + get closed() { + return this[kClosed]; + } + get interceptors() { + return this[kInterceptors]; + } + set interceptors(newInterceptors) { + if (newInterceptors) { + for (let i = newInterceptors.length - 1; i >= 0; i--) { + const interceptor = this[kInterceptors][i]; + if (typeof interceptor !== "function") { + throw new InvalidArgumentError("interceptor must be an function"); } - this._dashes = 0; - break; } } - if (this._dashes === 2) { - if (start + i < end && this.listenerCount("trailer") !== 0) { - this.emit("trailer", data.slice(start + i, end)); + this[kInterceptors] = newInterceptors; + } + close(callback) { + if (callback === void 0) { + return new Promise((resolve5, reject) => { + this.close((err, data) => { + return err ? reject(err) : resolve5(data); + }); + }); + } + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + if (this[kDestroyed]) { + queueMicrotask(() => callback(new ClientDestroyedError(), null)); + return; + } + if (this[kClosed]) { + if (this[kOnClosed]) { + this[kOnClosed].push(callback); + } else { + queueMicrotask(() => callback(null, null)); } - this.reset(); - this._finished = true; - if (self2._parts === 0) { - self2._realFinish = true; - self2.emit("finish"); - self2._realFinish = false; + return; + } + this[kClosed] = true; + this[kOnClosed].push(callback); + const onClosed = () => { + const callbacks = this[kOnClosed]; + this[kOnClosed] = null; + for (let i = 0; i < callbacks.length; i++) { + callbacks[i](null, null); } + }; + this[kClose]().then(() => this.destroy()).then(() => { + queueMicrotask(onClosed); + }); + } + destroy(err, callback) { + if (typeof err === "function") { + callback = err; + err = null; } - if (this._dashes) { + if (callback === void 0) { + return new Promise((resolve5, reject) => { + this.destroy(err, (err2, data) => { + return err2 ? ( + /* istanbul ignore next: should never error */ + reject(err2) + ) : resolve5(data); + }); + }); + } + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + if (this[kDestroyed]) { + if (this[kOnDestroyed]) { + this[kOnDestroyed].push(callback); + } else { + queueMicrotask(() => callback(null, null)); + } return; } - } - if (this._justMatched) { - this._justMatched = false; - } - if (!this._part) { - this._part = new PartStream(this._partOpts); - this._part._read = function(n) { - self2._unpause(); + if (!err) { + err = new ClientDestroyedError(); + } + this[kDestroyed] = true; + this[kOnDestroyed] = this[kOnDestroyed] || []; + this[kOnDestroyed].push(callback); + const onDestroyed = () => { + const callbacks = this[kOnDestroyed]; + this[kOnDestroyed] = null; + for (let i = 0; i < callbacks.length; i++) { + callbacks[i](null, null); + } }; - if (this._isPreamble && this.listenerCount("preamble") !== 0) { - this.emit("preamble", this._part); - } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) { - this.emit("part", this._part); - } else { - this._ignore(); + this[kDestroy](err).then(() => { + queueMicrotask(onDestroyed); + }); + } + [kInterceptedDispatch](opts, handler2) { + if (!this[kInterceptors] || this[kInterceptors].length === 0) { + this[kInterceptedDispatch] = this[kDispatch]; + return this[kDispatch](opts, handler2); } - if (!this._isPreamble) { - this._inHeader = true; + let dispatch = this[kDispatch].bind(this); + for (let i = this[kInterceptors].length - 1; i >= 0; i--) { + dispatch = this[kInterceptors][i](dispatch); } + this[kInterceptedDispatch] = dispatch; + return dispatch(opts, handler2); } - if (data && start < end && !this._ignoreData) { - if (this._isPreamble || !this._inHeader) { - if (buf) { - shouldWriteMore = this._part.push(buf); - } - shouldWriteMore = this._part.push(data.slice(start, end)); - if (!shouldWriteMore) { - this._pause = true; + dispatch(opts, handler2) { + if (!handler2 || typeof handler2 !== "object") { + throw new InvalidArgumentError("handler must be an object"); + } + try { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("opts must be an object."); } - } else if (!this._isPreamble && this._inHeader) { - if (buf) { - this._hparser.push(buf); + if (this[kDestroyed] || this[kOnDestroyed]) { + throw new ClientDestroyedError(); } - r = this._hparser.push(data.slice(start, end)); - if (!this._inHeader && r !== void 0 && r < end) { - this._oninfo(false, data, start + r, end); + if (this[kClosed]) { + throw new ClientClosedError(); } - } - } - if (isMatch) { - this._hparser.reset(); - if (this._isPreamble) { - this._isPreamble = false; - } else { - if (start !== end) { - ++this._parts; - this._part.on("end", function() { - if (--self2._parts === 0) { - if (self2._finished) { - self2._realFinish = true; - self2.emit("finish"); - self2._realFinish = false; - } else { - self2._unpause(); - } - } - }); + return this[kInterceptedDispatch](opts, handler2); + } catch (err) { + if (typeof handler2.onError !== "function") { + throw new InvalidArgumentError("invalid onError method"); } + handler2.onError(err); + return false; } - this._part.push(null); - this._part = void 0; - this._ignoreData = false; - this._justMatched = true; - this._dashes = 0; - } - }; - Dicer.prototype._unpause = function() { - if (!this._pause) { - return; - } - this._pause = false; - if (this._cb) { - const cb = this._cb; - this._cb = void 0; - cb(); } }; - module2.exports = Dicer; + module2.exports = DispatcherBase; } }); -// node_modules/@fastify/busboy/lib/utils/decodeText.js -var require_decodeText = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/util/timers.js +var require_timers2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) { "use strict"; - var utf8Decoder = new TextDecoder("utf-8"); - var textDecoders = /* @__PURE__ */ new Map([ - ["utf-8", utf8Decoder], - ["utf8", utf8Decoder] - ]); - function getDecoder(charset) { - let lc; - while (true) { - switch (charset) { - case "utf-8": - case "utf8": - return decoders.utf8; - case "latin1": - case "ascii": - // TODO: Make these a separate, strict decoder? - case "us-ascii": - case "iso-8859-1": - case "iso8859-1": - case "iso88591": - case "iso_8859-1": - case "windows-1252": - case "iso_8859-1:1987": - case "cp1252": - case "x-cp1252": - return decoders.latin1; - case "utf16le": - case "utf-16le": - case "ucs2": - case "ucs-2": - return decoders.utf16le; - case "base64": - return decoders.base64; - default: - if (lc === void 0) { - lc = true; - charset = charset.toLowerCase(); - continue; - } - return decoders.other.bind(charset); + var fastNow = 0; + var RESOLUTION_MS = 1e3; + var TICK_MS = (RESOLUTION_MS >> 1) - 1; + var fastNowTimeout; + var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer"); + var fastTimers = []; + var NOT_IN_LIST = -2; + var TO_BE_CLEARED = -1; + var PENDING = 0; + var ACTIVE = 1; + function onTick() { + fastNow += TICK_MS; + let idx = 0; + let len = fastTimers.length; + while (idx < len) { + const timer = fastTimers[idx]; + if (timer._state === PENDING) { + timer._idleStart = fastNow - TICK_MS; + timer._state = ACTIVE; + } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) { + timer._state = TO_BE_CLEARED; + timer._idleStart = -1; + timer._onTimeout(timer._timerArg); + } + if (timer._state === TO_BE_CLEARED) { + timer._state = NOT_IN_LIST; + if (--len !== 0) { + fastTimers[idx] = fastTimers[len]; + } + } else { + ++idx; } } + fastTimers.length = len; + if (fastTimers.length !== 0) { + refreshTimeout(); + } } - var decoders = { - utf8: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.utf8Slice(0, data.length); - }, - latin1: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - return data; - } - return data.latin1Slice(0, data.length); - }, - utf16le: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.ucs2Slice(0, data.length); - }, - base64: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.base64Slice(0, data.length); - }, - other: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; + function refreshTimeout() { + if (fastNowTimeout) { + fastNowTimeout.refresh(); + } else { + clearTimeout(fastNowTimeout); + fastNowTimeout = setTimeout(onTick, TICK_MS); + if (fastNowTimeout.unref) { + fastNowTimeout.unref(); } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); + } + } + var FastTimer = class { + [kFastTimer] = true; + /** + * The state of the timer, which can be one of the following: + * - NOT_IN_LIST (-2) + * - TO_BE_CLEARED (-1) + * - PENDING (0) + * - ACTIVE (1) + * + * @type {-2|-1|0|1} + * @private + */ + _state = NOT_IN_LIST; + /** + * The number of milliseconds to wait before calling the callback. + * + * @type {number} + * @private + */ + _idleTimeout = -1; + /** + * The time in milliseconds when the timer was started. This value is used to + * calculate when the timer should expire. + * + * @type {number} + * @default -1 + * @private + */ + _idleStart = -1; + /** + * The function to be executed when the timer expires. + * @type {Function} + * @private + */ + _onTimeout; + /** + * The argument to be passed to the callback when the timer expires. + * + * @type {*} + * @private + */ + _timerArg; + /** + * @constructor + * @param {Function} callback A function to be executed after the timer + * expires. + * @param {number} delay The time, in milliseconds that the timer should wait + * before the specified function or code is executed. + * @param {*} arg + */ + constructor(callback, delay, arg) { + this._onTimeout = callback; + this._idleTimeout = delay; + this._timerArg = arg; + this.refresh(); + } + /** + * Sets the timer's start time to the current time, and reschedules the timer + * to call its callback at the previously specified duration adjusted to the + * current time. + * Using this on a timer that has already called its callback will reactivate + * the timer. + * + * @returns {void} + */ + refresh() { + if (this._state === NOT_IN_LIST) { + fastTimers.push(this); } - if (textDecoders.has(exports2.toString())) { - try { - return textDecoders.get(exports2).decode(data); - } catch { - } + if (!fastNowTimeout || fastTimers.length === 1) { + refreshTimeout(); } - return typeof data === "string" ? data : data.toString(); + this._state = PENDING; } - }; - function decodeText(text, sourceEncoding, destEncoding) { - if (text) { - return getDecoder(destEncoding)(text, sourceEncoding); + /** + * The `clear` method cancels the timer, preventing it from executing. + * + * @returns {void} + * @private + */ + clear() { + this._state = TO_BE_CLEARED; + this._idleStart = -1; } - return text; - } - module2.exports = decodeText; + }; + module2.exports = { + /** + * The setTimeout() method sets a timer which executes a function once the + * timer expires. + * @param {Function} callback A function to be executed after the timer + * expires. + * @param {number} delay The time, in milliseconds that the timer should + * wait before the specified function or code is executed. + * @param {*} [arg] An optional argument to be passed to the callback function + * when the timer expires. + * @returns {NodeJS.Timeout|FastTimer} + */ + setTimeout(callback, delay, arg) { + return delay <= RESOLUTION_MS ? setTimeout(callback, delay, arg) : new FastTimer(callback, delay, arg); + }, + /** + * The clearTimeout method cancels an instantiated Timer previously created + * by calling setTimeout. + * + * @param {NodeJS.Timeout|FastTimer} timeout + */ + clearTimeout(timeout) { + if (timeout[kFastTimer]) { + timeout.clear(); + } else { + clearTimeout(timeout); + } + }, + /** + * The setFastTimeout() method sets a fastTimer which executes a function once + * the timer expires. + * @param {Function} callback A function to be executed after the timer + * expires. + * @param {number} delay The time, in milliseconds that the timer should + * wait before the specified function or code is executed. + * @param {*} [arg] An optional argument to be passed to the callback function + * when the timer expires. + * @returns {FastTimer} + */ + setFastTimeout(callback, delay, arg) { + return new FastTimer(callback, delay, arg); + }, + /** + * The clearTimeout method cancels an instantiated FastTimer previously + * created by calling setFastTimeout. + * + * @param {FastTimer} timeout + */ + clearFastTimeout(timeout) { + timeout.clear(); + }, + /** + * The now method returns the value of the internal fast timer clock. + * + * @returns {number} + */ + now() { + return fastNow; + }, + /** + * Trigger the onTick function to process the fastTimers array. + * Exported for testing purposes only. + * Marking as deprecated to discourage any use outside of testing. + * @deprecated + * @param {number} [delay=0] The delay in milliseconds to add to the now value. + */ + tick(delay = 0) { + fastNow += delay - RESOLUTION_MS + 1; + onTick(); + onTick(); + }, + /** + * Reset FastTimers. + * Exported for testing purposes only. + * Marking as deprecated to discourage any use outside of testing. + * @deprecated + */ + reset() { + fastNow = 0; + fastTimers.length = 0; + clearTimeout(fastNowTimeout); + fastNowTimeout = null; + }, + /** + * Exporting for testing purposes only. + * Marking as deprecated to discourage any use outside of testing. + * @deprecated + */ + kFastTimer + }; } }); -// node_modules/@fastify/busboy/lib/utils/parseParams.js -var require_parseParams = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/core/connect.js +var require_connect2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) { "use strict"; - var decodeText = require_decodeText(); - var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g; - var EncodedLookup = { - "%00": "\0", - "%01": "", - "%02": "", - "%03": "", - "%04": "", - "%05": "", - "%06": "", - "%07": "\x07", - "%08": "\b", - "%09": " ", - "%0a": "\n", - "%0A": "\n", - "%0b": "\v", - "%0B": "\v", - "%0c": "\f", - "%0C": "\f", - "%0d": "\r", - "%0D": "\r", - "%0e": "", - "%0E": "", - "%0f": "", - "%0F": "", - "%10": "", - "%11": "", - "%12": "", - "%13": "", - "%14": "", - "%15": "", - "%16": "", - "%17": "", - "%18": "", - "%19": "", - "%1a": "", - "%1A": "", - "%1b": "\x1B", - "%1B": "\x1B", - "%1c": "", - "%1C": "", - "%1d": "", - "%1D": "", - "%1e": "", - "%1E": "", - "%1f": "", - "%1F": "", - "%20": " ", - "%21": "!", - "%22": '"', - "%23": "#", - "%24": "$", - "%25": "%", - "%26": "&", - "%27": "'", - "%28": "(", - "%29": ")", - "%2a": "*", - "%2A": "*", - "%2b": "+", - "%2B": "+", - "%2c": ",", - "%2C": ",", - "%2d": "-", - "%2D": "-", - "%2e": ".", - "%2E": ".", - "%2f": "/", - "%2F": "/", - "%30": "0", - "%31": "1", - "%32": "2", - "%33": "3", - "%34": "4", - "%35": "5", - "%36": "6", - "%37": "7", - "%38": "8", - "%39": "9", - "%3a": ":", - "%3A": ":", - "%3b": ";", - "%3B": ";", - "%3c": "<", - "%3C": "<", - "%3d": "=", - "%3D": "=", - "%3e": ">", - "%3E": ">", - "%3f": "?", - "%3F": "?", - "%40": "@", - "%41": "A", - "%42": "B", - "%43": "C", - "%44": "D", - "%45": "E", - "%46": "F", - "%47": "G", - "%48": "H", - "%49": "I", - "%4a": "J", - "%4A": "J", - "%4b": "K", - "%4B": "K", - "%4c": "L", - "%4C": "L", - "%4d": "M", - "%4D": "M", - "%4e": "N", - "%4E": "N", - "%4f": "O", - "%4F": "O", - "%50": "P", - "%51": "Q", - "%52": "R", - "%53": "S", - "%54": "T", - "%55": "U", - "%56": "V", - "%57": "W", - "%58": "X", - "%59": "Y", - "%5a": "Z", - "%5A": "Z", - "%5b": "[", - "%5B": "[", - "%5c": "\\", - "%5C": "\\", - "%5d": "]", - "%5D": "]", - "%5e": "^", - "%5E": "^", - "%5f": "_", - "%5F": "_", - "%60": "`", - "%61": "a", - "%62": "b", - "%63": "c", - "%64": "d", - "%65": "e", - "%66": "f", - "%67": "g", - "%68": "h", - "%69": "i", - "%6a": "j", - "%6A": "j", - "%6b": "k", - "%6B": "k", - "%6c": "l", - "%6C": "l", - "%6d": "m", - "%6D": "m", - "%6e": "n", - "%6E": "n", - "%6f": "o", - "%6F": "o", - "%70": "p", - "%71": "q", - "%72": "r", - "%73": "s", - "%74": "t", - "%75": "u", - "%76": "v", - "%77": "w", - "%78": "x", - "%79": "y", - "%7a": "z", - "%7A": "z", - "%7b": "{", - "%7B": "{", - "%7c": "|", - "%7C": "|", - "%7d": "}", - "%7D": "}", - "%7e": "~", - "%7E": "~", - "%7f": "\x7F", - "%7F": "\x7F", - "%80": "\x80", - "%81": "\x81", - "%82": "\x82", - "%83": "\x83", - "%84": "\x84", - "%85": "\x85", - "%86": "\x86", - "%87": "\x87", - "%88": "\x88", - "%89": "\x89", - "%8a": "\x8A", - "%8A": "\x8A", - "%8b": "\x8B", - "%8B": "\x8B", - "%8c": "\x8C", - "%8C": "\x8C", - "%8d": "\x8D", - "%8D": "\x8D", - "%8e": "\x8E", - "%8E": "\x8E", - "%8f": "\x8F", - "%8F": "\x8F", - "%90": "\x90", - "%91": "\x91", - "%92": "\x92", - "%93": "\x93", - "%94": "\x94", - "%95": "\x95", - "%96": "\x96", - "%97": "\x97", - "%98": "\x98", - "%99": "\x99", - "%9a": "\x9A", - "%9A": "\x9A", - "%9b": "\x9B", - "%9B": "\x9B", - "%9c": "\x9C", - "%9C": "\x9C", - "%9d": "\x9D", - "%9D": "\x9D", - "%9e": "\x9E", - "%9E": "\x9E", - "%9f": "\x9F", - "%9F": "\x9F", - "%a0": "\xA0", - "%A0": "\xA0", - "%a1": "\xA1", - "%A1": "\xA1", - "%a2": "\xA2", - "%A2": "\xA2", - "%a3": "\xA3", - "%A3": "\xA3", - "%a4": "\xA4", - "%A4": "\xA4", - "%a5": "\xA5", - "%A5": "\xA5", - "%a6": "\xA6", - "%A6": "\xA6", - "%a7": "\xA7", - "%A7": "\xA7", - "%a8": "\xA8", - "%A8": "\xA8", - "%a9": "\xA9", - "%A9": "\xA9", - "%aa": "\xAA", - "%Aa": "\xAA", - "%aA": "\xAA", - "%AA": "\xAA", - "%ab": "\xAB", - "%Ab": "\xAB", - "%aB": "\xAB", - "%AB": "\xAB", - "%ac": "\xAC", - "%Ac": "\xAC", - "%aC": "\xAC", - "%AC": "\xAC", - "%ad": "\xAD", - "%Ad": "\xAD", - "%aD": "\xAD", - "%AD": "\xAD", - "%ae": "\xAE", - "%Ae": "\xAE", - "%aE": "\xAE", - "%AE": "\xAE", - "%af": "\xAF", - "%Af": "\xAF", - "%aF": "\xAF", - "%AF": "\xAF", - "%b0": "\xB0", - "%B0": "\xB0", - "%b1": "\xB1", - "%B1": "\xB1", - "%b2": "\xB2", - "%B2": "\xB2", - "%b3": "\xB3", - "%B3": "\xB3", - "%b4": "\xB4", - "%B4": "\xB4", - "%b5": "\xB5", - "%B5": "\xB5", - "%b6": "\xB6", - "%B6": "\xB6", - "%b7": "\xB7", - "%B7": "\xB7", - "%b8": "\xB8", - "%B8": "\xB8", - "%b9": "\xB9", - "%B9": "\xB9", - "%ba": "\xBA", - "%Ba": "\xBA", - "%bA": "\xBA", - "%BA": "\xBA", - "%bb": "\xBB", - "%Bb": "\xBB", - "%bB": "\xBB", - "%BB": "\xBB", - "%bc": "\xBC", - "%Bc": "\xBC", - "%bC": "\xBC", - "%BC": "\xBC", - "%bd": "\xBD", - "%Bd": "\xBD", - "%bD": "\xBD", - "%BD": "\xBD", - "%be": "\xBE", - "%Be": "\xBE", - "%bE": "\xBE", - "%BE": "\xBE", - "%bf": "\xBF", - "%Bf": "\xBF", - "%bF": "\xBF", - "%BF": "\xBF", - "%c0": "\xC0", - "%C0": "\xC0", - "%c1": "\xC1", - "%C1": "\xC1", - "%c2": "\xC2", - "%C2": "\xC2", - "%c3": "\xC3", - "%C3": "\xC3", - "%c4": "\xC4", - "%C4": "\xC4", - "%c5": "\xC5", - "%C5": "\xC5", - "%c6": "\xC6", - "%C6": "\xC6", - "%c7": "\xC7", - "%C7": "\xC7", - "%c8": "\xC8", - "%C8": "\xC8", - "%c9": "\xC9", - "%C9": "\xC9", - "%ca": "\xCA", - "%Ca": "\xCA", - "%cA": "\xCA", - "%CA": "\xCA", - "%cb": "\xCB", - "%Cb": "\xCB", - "%cB": "\xCB", - "%CB": "\xCB", - "%cc": "\xCC", - "%Cc": "\xCC", - "%cC": "\xCC", - "%CC": "\xCC", - "%cd": "\xCD", - "%Cd": "\xCD", - "%cD": "\xCD", - "%CD": "\xCD", - "%ce": "\xCE", - "%Ce": "\xCE", - "%cE": "\xCE", - "%CE": "\xCE", - "%cf": "\xCF", - "%Cf": "\xCF", - "%cF": "\xCF", - "%CF": "\xCF", - "%d0": "\xD0", - "%D0": "\xD0", - "%d1": "\xD1", - "%D1": "\xD1", - "%d2": "\xD2", - "%D2": "\xD2", - "%d3": "\xD3", - "%D3": "\xD3", - "%d4": "\xD4", - "%D4": "\xD4", - "%d5": "\xD5", - "%D5": "\xD5", - "%d6": "\xD6", - "%D6": "\xD6", - "%d7": "\xD7", - "%D7": "\xD7", - "%d8": "\xD8", - "%D8": "\xD8", - "%d9": "\xD9", - "%D9": "\xD9", - "%da": "\xDA", - "%Da": "\xDA", - "%dA": "\xDA", - "%DA": "\xDA", - "%db": "\xDB", - "%Db": "\xDB", - "%dB": "\xDB", - "%DB": "\xDB", - "%dc": "\xDC", - "%Dc": "\xDC", - "%dC": "\xDC", - "%DC": "\xDC", - "%dd": "\xDD", - "%Dd": "\xDD", - "%dD": "\xDD", - "%DD": "\xDD", - "%de": "\xDE", - "%De": "\xDE", - "%dE": "\xDE", - "%DE": "\xDE", - "%df": "\xDF", - "%Df": "\xDF", - "%dF": "\xDF", - "%DF": "\xDF", - "%e0": "\xE0", - "%E0": "\xE0", - "%e1": "\xE1", - "%E1": "\xE1", - "%e2": "\xE2", - "%E2": "\xE2", - "%e3": "\xE3", - "%E3": "\xE3", - "%e4": "\xE4", - "%E4": "\xE4", - "%e5": "\xE5", - "%E5": "\xE5", - "%e6": "\xE6", - "%E6": "\xE6", - "%e7": "\xE7", - "%E7": "\xE7", - "%e8": "\xE8", - "%E8": "\xE8", - "%e9": "\xE9", - "%E9": "\xE9", - "%ea": "\xEA", - "%Ea": "\xEA", - "%eA": "\xEA", - "%EA": "\xEA", - "%eb": "\xEB", - "%Eb": "\xEB", - "%eB": "\xEB", - "%EB": "\xEB", - "%ec": "\xEC", - "%Ec": "\xEC", - "%eC": "\xEC", - "%EC": "\xEC", - "%ed": "\xED", - "%Ed": "\xED", - "%eD": "\xED", - "%ED": "\xED", - "%ee": "\xEE", - "%Ee": "\xEE", - "%eE": "\xEE", - "%EE": "\xEE", - "%ef": "\xEF", - "%Ef": "\xEF", - "%eF": "\xEF", - "%EF": "\xEF", - "%f0": "\xF0", - "%F0": "\xF0", - "%f1": "\xF1", - "%F1": "\xF1", - "%f2": "\xF2", - "%F2": "\xF2", - "%f3": "\xF3", - "%F3": "\xF3", - "%f4": "\xF4", - "%F4": "\xF4", - "%f5": "\xF5", - "%F5": "\xF5", - "%f6": "\xF6", - "%F6": "\xF6", - "%f7": "\xF7", - "%F7": "\xF7", - "%f8": "\xF8", - "%F8": "\xF8", - "%f9": "\xF9", - "%F9": "\xF9", - "%fa": "\xFA", - "%Fa": "\xFA", - "%fA": "\xFA", - "%FA": "\xFA", - "%fb": "\xFB", - "%Fb": "\xFB", - "%fB": "\xFB", - "%FB": "\xFB", - "%fc": "\xFC", - "%Fc": "\xFC", - "%fC": "\xFC", - "%FC": "\xFC", - "%fd": "\xFD", - "%Fd": "\xFD", - "%fD": "\xFD", - "%FD": "\xFD", - "%fe": "\xFE", - "%Fe": "\xFE", - "%fE": "\xFE", - "%FE": "\xFE", - "%ff": "\xFF", - "%Ff": "\xFF", - "%fF": "\xFF", - "%FF": "\xFF" - }; - function encodedReplacer(match) { - return EncodedLookup[match]; + var net = require("node:net"); + var assert = require("node:assert"); + var util = require_util9(); + var { InvalidArgumentError, ConnectTimeoutError } = require_errors2(); + var timers = require_timers2(); + function noop3() { } - var STATE_KEY = 0; - var STATE_VALUE = 1; - var STATE_CHARSET = 2; - var STATE_LANG = 3; - function parseParams(str2) { - const res = []; - let state = STATE_KEY; - let charset = ""; - let inquote = false; - let escaping = false; - let p = 0; - let tmp = ""; - const len = str2.length; - for (var i = 0; i < len; ++i) { - const char = str2[i]; - if (char === "\\" && inquote) { - if (escaping) { - escaping = false; - } else { - escaping = true; - continue; - } - } else if (char === '"') { - if (!escaping) { - if (inquote) { - inquote = false; - state = STATE_KEY; - } else { - inquote = true; + var tls; + var SessionCache; + if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) { + SessionCache = class WeakSessionCache { + constructor(maxCachedSessions) { + this._maxCachedSessions = maxCachedSessions; + this._sessionCache = /* @__PURE__ */ new Map(); + this._sessionRegistry = new global.FinalizationRegistry((key) => { + if (this._sessionCache.size < this._maxCachedSessions) { + return; } - continue; - } else { - escaping = false; + const ref = this._sessionCache.get(key); + if (ref !== void 0 && ref.deref() === void 0) { + this._sessionCache.delete(key); + } + }); + } + get(sessionKey) { + const ref = this._sessionCache.get(sessionKey); + return ref ? ref.deref() : null; + } + set(sessionKey, session) { + if (this._maxCachedSessions === 0) { + return; } - } else { - if (escaping && inquote) { - tmp += "\\"; + this._sessionCache.set(sessionKey, new WeakRef(session)); + this._sessionRegistry.register(session, sessionKey); + } + }; + } else { + SessionCache = class SimpleSessionCache { + constructor(maxCachedSessions) { + this._maxCachedSessions = maxCachedSessions; + this._sessionCache = /* @__PURE__ */ new Map(); + } + get(sessionKey) { + return this._sessionCache.get(sessionKey); + } + set(sessionKey, session) { + if (this._maxCachedSessions === 0) { + return; } - escaping = false; - if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") { - if (state === STATE_CHARSET) { - state = STATE_LANG; - charset = tmp.substring(1); - } else { - state = STATE_VALUE; - } - tmp = ""; - continue; - } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) { - state = char === "*" ? STATE_CHARSET : STATE_VALUE; - res[p] = [tmp, void 0]; - tmp = ""; - continue; - } else if (!inquote && char === ";") { - state = STATE_KEY; - if (charset) { - if (tmp.length) { - tmp = decodeText( - tmp.replace(RE_ENCODED, encodedReplacer), - "binary", - charset - ); - } - charset = ""; - } else if (tmp.length) { - tmp = decodeText(tmp, "binary", "utf8"); - } - if (res[p] === void 0) { - res[p] = tmp; - } else { - res[p][1] = tmp; - } - tmp = ""; - ++p; - continue; - } else if (!inquote && (char === " " || char === " ")) { - continue; + if (this._sessionCache.size >= this._maxCachedSessions) { + const { value: oldestKey } = this._sessionCache.keys().next(); + this._sessionCache.delete(oldestKey); } + this._sessionCache.set(sessionKey, session); } - tmp += char; - } - if (charset && tmp.length) { - tmp = decodeText( - tmp.replace(RE_ENCODED, encodedReplacer), - "binary", - charset - ); - } else if (tmp) { - tmp = decodeText(tmp, "binary", "utf8"); + }; + } + function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) { + if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) { + throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero"); } - if (res[p] === void 0) { - if (tmp) { - res[p] = tmp; + const options = { path: socketPath, ...opts }; + const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions); + timeout = timeout == null ? 1e4 : timeout; + allowH2 = allowH2 != null ? allowH2 : false; + return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) { + let socket; + if (protocol === "https:") { + if (!tls) { + tls = require("node:tls"); + } + servername = servername || options.servername || util.getServerName(host) || null; + const sessionKey = servername || hostname; + assert(sessionKey); + const session = customSession || sessionCache.get(sessionKey) || null; + port = port || 443; + socket = tls.connect({ + highWaterMark: 16384, + // TLS in node can't have bigger HWM anyway... + ...options, + servername, + session, + localAddress, + // TODO(HTTP/2): Add support for h2c + ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"], + socket: httpSocket, + // upgrade socket connection + port, + host: hostname + }); + socket.on("session", function(session2) { + sessionCache.set(sessionKey, session2); + }); + } else { + assert(!httpSocket, "httpSocket can only be sent on TLS update"); + port = port || 80; + socket = net.connect({ + highWaterMark: 64 * 1024, + // Same as nodejs fs streams. + ...options, + localAddress, + port, + host: hostname + }); } + if (options.keepAlive == null || options.keepAlive) { + const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay; + socket.setKeepAlive(true, keepAliveInitialDelay); + } + const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port }); + socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() { + queueMicrotask(clearConnectTimeout); + if (callback) { + const cb = callback; + callback = null; + cb(null, this); + } + }).on("error", function(err) { + queueMicrotask(clearConnectTimeout); + if (callback) { + const cb = callback; + callback = null; + cb(err); + } + }); + return socket; + }; + } + var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => { + if (!opts.timeout) { + return noop3; + } + let s1 = null; + let s2 = null; + const fastTimer = timers.setFastTimeout(() => { + s1 = setImmediate(() => { + s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts)); + }); + }, opts.timeout); + return () => { + timers.clearFastTimeout(fastTimer); + clearImmediate(s1); + clearImmediate(s2); + }; + } : (socketWeakRef, opts) => { + if (!opts.timeout) { + return noop3; + } + let s1 = null; + const fastTimer = timers.setFastTimeout(() => { + s1 = setImmediate(() => { + onConnectTimeout(socketWeakRef.deref(), opts); + }); + }, opts.timeout); + return () => { + timers.clearFastTimeout(fastTimer); + clearImmediate(s1); + }; + }; + function onConnectTimeout(socket, opts) { + if (socket == null) { + return; + } + let message = "Connect Timeout Error"; + if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) { + message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`; } else { - res[p][1] = tmp; + message += ` (attempted address: ${opts.hostname}:${opts.port},`; } - return res; + message += ` timeout: ${opts.timeout}ms)`; + util.destroy(socket, new ConnectTimeoutError(message)); } - module2.exports = parseParams; + module2.exports = buildConnector; } }); -// node_modules/@fastify/busboy/lib/utils/basename.js -var require_basename = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js +var require_utils3 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) { "use strict"; - module2.exports = function basename2(path7) { - if (typeof path7 !== "string") { - return ""; - } - for (var i = path7.length - 1; i >= 0; --i) { - switch (path7.charCodeAt(i)) { - case 47: - // '/' - case 92: - path7 = path7.slice(i + 1); - return path7 === ".." || path7 === "." ? "" : path7; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.enumToMap = void 0; + function enumToMap(obj) { + const res = {}; + Object.keys(obj).forEach((key) => { + const value = obj[key]; + if (typeof value === "number") { + res[key] = value; } - } - return path7 === ".." || path7 === "." ? "" : path7; - }; + }); + return res; + } + exports2.enumToMap = enumToMap; } }); -// node_modules/@fastify/busboy/lib/types/multipart.js -var require_multipart = __commonJS({ - "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js +var require_constants7 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) { "use strict"; - var { Readable } = require("node:stream"); - var { inherits } = require("node:util"); - var Dicer = require_Dicer(); - var parseParams = require_parseParams(); - var decodeText = require_decodeText(); - var basename2 = require_basename(); - var getLimit = require_getLimit(); - var RE_BOUNDARY = /^boundary$/i; - var RE_FIELD = /^form-data$/i; - var RE_CHARSET = /^charset$/i; - var RE_FILENAME = /^filename$/i; - var RE_NAME = /^name$/i; - Multipart.detect = /^multipart\/form-data/i; - function Multipart(boy, cfg) { - let i; - let len; - const self2 = this; - let boundary; - const limits = cfg.limits; - const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0); - const parsedConType = cfg.parsedConType || []; - const defCharset = cfg.defCharset || "utf8"; - const preservePath = cfg.preservePath; - const fileOpts = { highWaterMark: cfg.fileHwm }; - for (i = 0, len = parsedConType.length; i < len; ++i) { - if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) { - boundary = parsedConType[i][1]; - break; - } - } - function checkFinished() { - if (nends === 0 && finished && !boy._done) { - finished = false; - self2.end(); - } - } - if (typeof boundary !== "string") { - throw new Error("Multipart: Boundary not found"); - } - const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); - const fileSizeLimit = getLimit(limits, "fileSize", Infinity); - const filesLimit = getLimit(limits, "files", Infinity); - const fieldsLimit = getLimit(limits, "fields", Infinity); - const partsLimit = getLimit(limits, "parts", Infinity); - const headerPairsLimit = getLimit(limits, "headerPairs", 2e3); - const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024); - let nfiles = 0; - let nfields = 0; - let nends = 0; - let curFile; - let curField; - let finished = false; - this._needDrain = false; - this._pause = false; - this._cb = void 0; - this._nparts = 0; - this._boy = boy; - const parserCfg = { - boundary, - maxHeaderPairs: headerPairsLimit, - maxHeaderSize: headerSizeLimit, - partHwm: fileOpts.highWaterMark, - highWaterMark: cfg.highWaterMark - }; - this.parser = new Dicer(parserCfg); - this.parser.on("drain", function() { - self2._needDrain = false; - if (self2._cb && !self2._pause) { - const cb = self2._cb; - self2._cb = void 0; - cb(); - } - }).on("part", function onPart(part) { - if (++self2._nparts > partsLimit) { - self2.parser.removeListener("part", onPart); - self2.parser.on("part", skipPart); - boy.hitPartsLimit = true; - boy.emit("partsLimit"); - return skipPart(part); - } - if (curField) { - const field = curField; - field.emit("end"); - field.removeAllListeners("end"); - } - part.on("header", function(header) { - let contype; - let fieldname; - let parsed; - let charset; - let encoding; - let filename; - let nsize = 0; - if (header["content-type"]) { - parsed = parseParams(header["content-type"][0]); - if (parsed[0]) { - contype = parsed[0].toLowerCase(); - for (i = 0, len = parsed.length; i < len; ++i) { - if (RE_CHARSET.test(parsed[i][0])) { - charset = parsed[i][1].toLowerCase(); - break; - } - } - } - } - if (contype === void 0) { - contype = "text/plain"; - } - if (charset === void 0) { - charset = defCharset; - } - if (header["content-disposition"]) { - parsed = parseParams(header["content-disposition"][0]); - if (!RE_FIELD.test(parsed[0])) { - return skipPart(part); - } - for (i = 0, len = parsed.length; i < len; ++i) { - if (RE_NAME.test(parsed[i][0])) { - fieldname = parsed[i][1]; - } else if (RE_FILENAME.test(parsed[i][0])) { - filename = parsed[i][1]; - if (!preservePath) { - filename = basename2(filename); - } - } - } - } else { - return skipPart(part); - } - if (header["content-transfer-encoding"]) { - encoding = header["content-transfer-encoding"][0].toLowerCase(); - } else { - encoding = "7bit"; - } - let onData, onEnd; - if (isPartAFile(fieldname, contype, filename)) { - if (nfiles === filesLimit) { - if (!boy.hitFilesLimit) { - boy.hitFilesLimit = true; - boy.emit("filesLimit"); - } - return skipPart(part); - } - ++nfiles; - if (boy.listenerCount("file") === 0) { - self2.parser._ignore(); - return; - } - ++nends; - const file = new FileStream(fileOpts); - curFile = file; - file.on("end", function() { - --nends; - self2._pause = false; - checkFinished(); - if (self2._cb && !self2._needDrain) { - const cb = self2._cb; - self2._cb = void 0; - cb(); - } - }); - file._read = function(n) { - if (!self2._pause) { - return; - } - self2._pause = false; - if (self2._cb && !self2._needDrain) { - const cb = self2._cb; - self2._cb = void 0; - cb(); - } - }; - boy.emit("file", fieldname, file, filename, encoding, contype); - onData = function(data) { - if ((nsize += data.length) > fileSizeLimit) { - const extralen = fileSizeLimit - nsize + data.length; - if (extralen > 0) { - file.push(data.slice(0, extralen)); - } - file.truncated = true; - file.bytesRead = fileSizeLimit; - part.removeAllListeners("data"); - file.emit("limit"); - return; - } else if (!file.push(data)) { - self2._pause = true; - } - file.bytesRead = nsize; - }; - onEnd = function() { - curFile = void 0; - file.push(null); - }; - } else { - if (nfields === fieldsLimit) { - if (!boy.hitFieldsLimit) { - boy.hitFieldsLimit = true; - boy.emit("fieldsLimit"); - } - return skipPart(part); - } - ++nfields; - ++nends; - let buffer = ""; - let truncated = false; - curField = part; - onData = function(data) { - if ((nsize += data.length) > fieldSizeLimit) { - const extralen = fieldSizeLimit - (nsize - data.length); - buffer += data.toString("binary", 0, extralen); - truncated = true; - part.removeAllListeners("data"); - } else { - buffer += data.toString("binary"); - } - }; - onEnd = function() { - curField = void 0; - if (buffer.length) { - buffer = decodeText(buffer, "binary", charset); - } - boy.emit("field", fieldname, buffer, false, truncated, encoding, contype); - --nends; - checkFinished(); - }; - } - part._readableState.sync = false; - part.on("data", onData); - part.on("end", onEnd); - }).on("error", function(err) { - if (curFile) { - curFile.emit("error", err); - } - }); - }).on("error", function(err) { - boy.emit("error", err); - }).on("finish", function() { - finished = true; - checkFinished(); - }); - } - Multipart.prototype.write = function(chunk, cb) { - const r = this.parser.write(chunk); - if (r && !this._pause) { - cb(); - } else { - this._needDrain = !r; - this._cb = cb; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0; + var utils_1 = require_utils3(); + var ERROR; + (function(ERROR2) { + ERROR2[ERROR2["OK"] = 0] = "OK"; + ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL"; + ERROR2[ERROR2["STRICT"] = 2] = "STRICT"; + ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED"; + ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH"; + ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION"; + ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD"; + ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL"; + ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT"; + ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION"; + ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN"; + ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH"; + ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE"; + ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS"; + ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE"; + ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING"; + ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN"; + ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE"; + ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE"; + ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER"; + ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE"; + ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED"; + ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE"; + ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE"; + ERROR2[ERROR2["USER"] = 24] = "USER"; + })(ERROR = exports2.ERROR || (exports2.ERROR = {})); + var TYPE; + (function(TYPE2) { + TYPE2[TYPE2["BOTH"] = 0] = "BOTH"; + TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST"; + TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE"; + })(TYPE = exports2.TYPE || (exports2.TYPE = {})); + var FLAGS; + (function(FLAGS2) { + FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE"; + FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE"; + FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE"; + FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED"; + FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE"; + FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH"; + FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY"; + FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING"; + FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING"; + })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {})); + var LENIENT_FLAGS; + (function(LENIENT_FLAGS2) { + LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS"; + LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH"; + LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE"; + })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {})); + var METHODS; + (function(METHODS2) { + METHODS2[METHODS2["DELETE"] = 0] = "DELETE"; + METHODS2[METHODS2["GET"] = 1] = "GET"; + METHODS2[METHODS2["HEAD"] = 2] = "HEAD"; + METHODS2[METHODS2["POST"] = 3] = "POST"; + METHODS2[METHODS2["PUT"] = 4] = "PUT"; + METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT"; + METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS"; + METHODS2[METHODS2["TRACE"] = 7] = "TRACE"; + METHODS2[METHODS2["COPY"] = 8] = "COPY"; + METHODS2[METHODS2["LOCK"] = 9] = "LOCK"; + METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL"; + METHODS2[METHODS2["MOVE"] = 11] = "MOVE"; + METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND"; + METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH"; + METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH"; + METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK"; + METHODS2[METHODS2["BIND"] = 16] = "BIND"; + METHODS2[METHODS2["REBIND"] = 17] = "REBIND"; + METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND"; + METHODS2[METHODS2["ACL"] = 19] = "ACL"; + METHODS2[METHODS2["REPORT"] = 20] = "REPORT"; + METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY"; + METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT"; + METHODS2[METHODS2["MERGE"] = 23] = "MERGE"; + METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH"; + METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY"; + METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE"; + METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE"; + METHODS2[METHODS2["PATCH"] = 28] = "PATCH"; + METHODS2[METHODS2["PURGE"] = 29] = "PURGE"; + METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR"; + METHODS2[METHODS2["LINK"] = 31] = "LINK"; + METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK"; + METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE"; + METHODS2[METHODS2["PRI"] = 34] = "PRI"; + METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE"; + METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE"; + METHODS2[METHODS2["SETUP"] = 37] = "SETUP"; + METHODS2[METHODS2["PLAY"] = 38] = "PLAY"; + METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE"; + METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN"; + METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER"; + METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER"; + METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT"; + METHODS2[METHODS2["RECORD"] = 44] = "RECORD"; + METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH"; + })(METHODS = exports2.METHODS || (exports2.METHODS = {})); + exports2.METHODS_HTTP = [ + METHODS.DELETE, + METHODS.GET, + METHODS.HEAD, + METHODS.POST, + METHODS.PUT, + METHODS.CONNECT, + METHODS.OPTIONS, + METHODS.TRACE, + METHODS.COPY, + METHODS.LOCK, + METHODS.MKCOL, + METHODS.MOVE, + METHODS.PROPFIND, + METHODS.PROPPATCH, + METHODS.SEARCH, + METHODS.UNLOCK, + METHODS.BIND, + METHODS.REBIND, + METHODS.UNBIND, + METHODS.ACL, + METHODS.REPORT, + METHODS.MKACTIVITY, + METHODS.CHECKOUT, + METHODS.MERGE, + METHODS["M-SEARCH"], + METHODS.NOTIFY, + METHODS.SUBSCRIBE, + METHODS.UNSUBSCRIBE, + METHODS.PATCH, + METHODS.PURGE, + METHODS.MKCALENDAR, + METHODS.LINK, + METHODS.UNLINK, + METHODS.PRI, + // TODO(indutny): should we allow it with HTTP? + METHODS.SOURCE + ]; + exports2.METHODS_ICE = [ + METHODS.SOURCE + ]; + exports2.METHODS_RTSP = [ + METHODS.OPTIONS, + METHODS.DESCRIBE, + METHODS.ANNOUNCE, + METHODS.SETUP, + METHODS.PLAY, + METHODS.PAUSE, + METHODS.TEARDOWN, + METHODS.GET_PARAMETER, + METHODS.SET_PARAMETER, + METHODS.REDIRECT, + METHODS.RECORD, + METHODS.FLUSH, + // For AirPlay + METHODS.GET, + METHODS.POST + ]; + exports2.METHOD_MAP = utils_1.enumToMap(METHODS); + exports2.H_METHOD_MAP = {}; + Object.keys(exports2.METHOD_MAP).forEach((key) => { + if (/^H/.test(key)) { + exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key]; } + }); + var FINISH; + (function(FINISH2) { + FINISH2[FINISH2["SAFE"] = 0] = "SAFE"; + FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB"; + FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE"; + })(FINISH = exports2.FINISH || (exports2.FINISH = {})); + exports2.ALPHA = []; + for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) { + exports2.ALPHA.push(String.fromCharCode(i)); + exports2.ALPHA.push(String.fromCharCode(i + 32)); + } + exports2.NUM_MAP = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9 }; - Multipart.prototype.end = function() { - const self2 = this; - if (self2.parser.writable) { - self2.parser.end(); - } else if (!self2._boy._done) { - process.nextTick(function() { - self2._boy._done = true; - self2._boy.emit("finish"); - }); - } + exports2.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 }; - function skipPart(part) { - part.resume(); + exports2.NUM = [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ]; + exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM); + exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"]; + exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]); + exports2.STRICT_URL_CHAR = [ + "!", + '"', + "$", + "%", + "&", + "'", + "(", + ")", + "*", + "+", + ",", + "-", + ".", + "/", + ":", + ";", + "<", + "=", + ">", + "@", + "[", + "\\", + "]", + "^", + "_", + "`", + "{", + "|", + "}", + "~" + ].concat(exports2.ALPHANUM); + exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat([" ", "\f"]); + for (let i = 128; i <= 255; i++) { + exports2.URL_CHAR.push(i); } - function FileStream(opts) { - Readable.call(this, opts); - this.bytesRead = 0; - this.truncated = false; + exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]); + exports2.STRICT_TOKEN = [ + "!", + "#", + "$", + "%", + "&", + "'", + "*", + "+", + "-", + ".", + "^", + "_", + "`", + "|", + "~" + ].concat(exports2.ALPHANUM); + exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]); + exports2.HEADER_CHARS = [" "]; + for (let i = 32; i <= 255; i++) { + if (i !== 127) { + exports2.HEADER_CHARS.push(i); + } } - inherits(FileStream, Readable); - FileStream.prototype._read = function(n) { + exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44); + exports2.MAJOR = exports2.NUM_MAP; + exports2.MINOR = exports2.MAJOR; + var HEADER_STATE; + (function(HEADER_STATE2) { + HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL"; + HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION"; + HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH"; + HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING"; + HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE"; + HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE"; + HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE"; + HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE"; + HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED"; + })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {})); + exports2.SPECIAL_HEADERS = { + "connection": HEADER_STATE.CONNECTION, + "content-length": HEADER_STATE.CONTENT_LENGTH, + "proxy-connection": HEADER_STATE.CONNECTION, + "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING, + "upgrade": HEADER_STATE.UPGRADE }; - module2.exports = Multipart; } }); -// node_modules/@fastify/busboy/lib/utils/Decoder.js -var require_Decoder = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js +var require_llhttp_wasm2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) { "use strict"; - var RE_PLUS = /\+/g; - var HEX = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ]; - function Decoder() { - this.buffer = void 0; + var { Buffer: Buffer2 } = require("node:buffer"); + module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64"); + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +var require_llhttp_simd_wasm2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) { + "use strict"; + var { Buffer: Buffer2 } = require("node:buffer"); + module2.exports = Buffer2.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"); + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js +var require_constants8 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) { + "use strict"; + var corsSafeListedMethods = ( + /** @type {const} */ + ["GET", "HEAD", "POST"] + ); + var corsSafeListedMethodsSet = new Set(corsSafeListedMethods); + var nullBodyStatus = ( + /** @type {const} */ + [101, 204, 205, 304] + ); + var redirectStatus = ( + /** @type {const} */ + [301, 302, 303, 307, 308] + ); + var redirectStatusSet = new Set(redirectStatus); + var badPorts = ( + /** @type {const} */ + [ + "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" + ] + ); + var badPortsSet = new Set(badPorts); + var referrerPolicy = ( + /** @type {const} */ + [ + "", + "no-referrer", + "no-referrer-when-downgrade", + "same-origin", + "origin", + "strict-origin", + "origin-when-cross-origin", + "strict-origin-when-cross-origin", + "unsafe-url" + ] + ); + var referrerPolicySet = new Set(referrerPolicy); + var requestRedirect = ( + /** @type {const} */ + ["follow", "manual", "error"] + ); + var safeMethods = ( + /** @type {const} */ + ["GET", "HEAD", "OPTIONS", "TRACE"] + ); + var safeMethodsSet = new Set(safeMethods); + var requestMode = ( + /** @type {const} */ + ["navigate", "same-origin", "no-cors", "cors"] + ); + var requestCredentials = ( + /** @type {const} */ + ["omit", "same-origin", "include"] + ); + var requestCache = ( + /** @type {const} */ + [ + "default", + "no-store", + "reload", + "no-cache", + "force-cache", + "only-if-cached" + ] + ); + var requestBodyHeader = ( + /** @type {const} */ + [ + "content-encoding", + "content-language", + "content-location", + "content-type", + // See https://github.com/nodejs/undici/issues/2021 + // 'Content-Length' is a forbidden header name, which is typically + // removed in the Headers implementation. However, undici doesn't + // filter out headers, so we add it here. + "content-length" + ] + ); + var requestDuplex = ( + /** @type {const} */ + [ + "half" + ] + ); + var forbiddenMethods = ( + /** @type {const} */ + ["CONNECT", "TRACE", "TRACK"] + ); + var forbiddenMethodsSet = new Set(forbiddenMethods); + var subresource = ( + /** @type {const} */ + [ + "audio", + "audioworklet", + "font", + "image", + "manifest", + "paintworklet", + "script", + "style", + "track", + "video", + "xslt", + "" + ] + ); + var subresourceSet = new Set(subresource); + module2.exports = { + subresource, + forbiddenMethods, + requestBodyHeader, + referrerPolicy, + requestRedirect, + requestMode, + requestCredentials, + requestCache, + redirectStatus, + corsSafeListedMethods, + nullBodyStatus, + safeMethods, + badPorts, + requestDuplex, + subresourceSet, + badPortsSet, + redirectStatusSet, + corsSafeListedMethodsSet, + safeMethodsSet, + forbiddenMethodsSet, + referrerPolicySet + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js +var require_global3 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) { + "use strict"; + var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1"); + function getGlobalOrigin() { + return globalThis[globalOrigin]; } - Decoder.prototype.write = function(str2) { - str2 = str2.replace(RE_PLUS, " "); - let res = ""; - let i = 0; - let p = 0; - const len = str2.length; - for (; i < len; ++i) { - if (this.buffer !== void 0) { - if (!HEX[str2.charCodeAt(i)]) { - res += "%" + this.buffer; - this.buffer = void 0; - --i; - } else { - this.buffer += str2[i]; - ++p; - if (this.buffer.length === 2) { - res += String.fromCharCode(parseInt(this.buffer, 16)); - this.buffer = void 0; - } - } - } else if (str2[i] === "%") { - if (i > p) { - res += str2.substring(p, i); - p = i; - } - this.buffer = ""; - ++p; - } + function setGlobalOrigin(newOrigin) { + if (newOrigin === void 0) { + Object.defineProperty(globalThis, globalOrigin, { + value: void 0, + writable: true, + enumerable: false, + configurable: false + }); + return; } - if (p < len && this.buffer === void 0) { - res += str2.substring(p); + const parsedURL = new URL(newOrigin); + if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") { + throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`); } - return res; - }; - Decoder.prototype.reset = function() { - this.buffer = void 0; + Object.defineProperty(globalThis, globalOrigin, { + value: parsedURL, + writable: true, + enumerable: false, + configurable: false + }); + } + module2.exports = { + getGlobalOrigin, + setGlobalOrigin }; - module2.exports = Decoder; } }); -// node_modules/@fastify/busboy/lib/types/urlencoded.js -var require_urlencoded = __commonJS({ - "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js +var require_data_url2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) { "use strict"; - var Decoder = require_Decoder(); - var decodeText = require_decodeText(); - var getLimit = require_getLimit(); - var RE_CHARSET = /^charset$/i; - UrlEncoded.detect = /^application\/x-www-form-urlencoded/i; - function UrlEncoded(boy, cfg) { - const limits = cfg.limits; - const parsedConType = cfg.parsedConType; - this.boy = boy; - this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); - this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100); - this.fieldsLimit = getLimit(limits, "fields", Infinity); - let charset; - for (var i = 0, len = parsedConType.length; i < len; ++i) { - if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) { - charset = parsedConType[i][1].toLowerCase(); - break; + var assert = require("node:assert"); + var encoder = new TextEncoder(); + var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/; + var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/; + var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g; + var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/; + function dataURLProcessor(dataURL) { + assert(dataURL.protocol === "data:"); + let input = URLSerializer(dataURL, true); + input = input.slice(5); + const position = { position: 0 }; + let mimeType = collectASequenceOfCodePointsFast( + ",", + input, + position + ); + const mimeTypeLength = mimeType.length; + mimeType = removeASCIIWhitespace(mimeType, true, true); + if (position.position >= input.length) { + return "failure"; + } + position.position++; + const encodedBody = input.slice(mimeTypeLength + 1); + let body = stringPercentDecode(encodedBody); + if (/;(\u0020){0,}base64$/i.test(mimeType)) { + const stringBody = isomorphicDecode(body); + body = forgivingBase64(stringBody); + if (body === "failure") { + return "failure"; } + mimeType = mimeType.slice(0, -6); + mimeType = mimeType.replace(/(\u0020)+$/, ""); + mimeType = mimeType.slice(0, -1); } - if (charset === void 0) { - charset = cfg.defCharset || "utf8"; + if (mimeType.startsWith(";")) { + mimeType = "text/plain" + mimeType; } - this.decoder = new Decoder(); - this.charset = charset; - this._fields = 0; - this._state = "key"; - this._checkingBytes = true; - this._bytesKey = 0; - this._bytesVal = 0; - this._key = ""; - this._val = ""; - this._keyTrunc = false; - this._valTrunc = false; - this._hitLimit = false; + let mimeTypeRecord = parseMIMEType(mimeType); + if (mimeTypeRecord === "failure") { + mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII"); + } + return { mimeType: mimeTypeRecord, body }; } - UrlEncoded.prototype.write = function(data, cb) { - if (this._fields === this.fieldsLimit) { - if (!this.boy.hitFieldsLimit) { - this.boy.hitFieldsLimit = true; - this.boy.emit("fieldsLimit"); + function URLSerializer(url, excludeFragment = false) { + if (!excludeFragment) { + return url.href; + } + const href = url.href; + const hashLength = url.hash.length; + const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength); + if (!hashLength && href.endsWith("#")) { + return serialized.slice(0, -1); + } + return serialized; + } + function collectASequenceOfCodePoints(condition, input, position) { + let result = ""; + while (position.position < input.length && condition(input[position.position])) { + result += input[position.position]; + position.position++; + } + return result; + } + function collectASequenceOfCodePointsFast(char, input, position) { + const idx = input.indexOf(char, position.position); + const start = position.position; + if (idx === -1) { + position.position = input.length; + return input.slice(start); + } + position.position = idx; + return input.slice(start, position.position); + } + function stringPercentDecode(input) { + const bytes = encoder.encode(input); + return percentDecode(bytes); + } + function isHexCharByte(byte) { + return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102; + } + function hexByteToNumber(byte) { + return ( + // 0-9 + byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55 + ); + } + function percentDecode(input) { + const length = input.length; + const output = new Uint8Array(length); + let j = 0; + for (let i = 0; i < length; ++i) { + const byte = input[i]; + if (byte !== 37) { + output[j++] = byte; + } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) { + output[j++] = 37; + } else { + output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]); + i += 2; } - return cb(); } - let idxeq; - let idxamp; - let i; - let p = 0; - const len = data.length; - while (p < len) { - if (this._state === "key") { - idxeq = idxamp = void 0; - for (i = p; i < len; ++i) { - if (!this._checkingBytes) { - ++p; - } - if (data[i] === 61) { - idxeq = i; - break; - } else if (data[i] === 38) { - idxamp = i; - break; - } - if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) { - this._hitLimit = true; - break; - } else if (this._checkingBytes) { - ++this._bytesKey; - } - } - if (idxeq !== void 0) { - if (idxeq > p) { - this._key += this.decoder.write(data.toString("binary", p, idxeq)); - } - this._state = "val"; - this._hitLimit = false; - this._checkingBytes = true; - this._val = ""; - this._bytesVal = 0; - this._valTrunc = false; - this.decoder.reset(); - p = idxeq + 1; - } else if (idxamp !== void 0) { - ++this._fields; - let key; - const keyTrunc = this._keyTrunc; - if (idxamp > p) { - key = this._key += this.decoder.write(data.toString("binary", p, idxamp)); - } else { - key = this._key; - } - this._hitLimit = false; - this._checkingBytes = true; - this._key = ""; - this._bytesKey = 0; - this._keyTrunc = false; - this.decoder.reset(); - if (key.length) { - this.boy.emit( - "field", - decodeText(key, "binary", this.charset), - "", - keyTrunc, - false - ); - } - p = idxamp + 1; - if (this._fields === this.fieldsLimit) { - return cb(); - } - } else if (this._hitLimit) { - if (i > p) { - this._key += this.decoder.write(data.toString("binary", p, i)); - } - p = i; - if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) { - this._checkingBytes = false; - this._keyTrunc = true; - } - } else { - if (p < len) { - this._key += this.decoder.write(data.toString("binary", p)); - } - p = len; + return length === j ? output : output.subarray(0, j); + } + function parseMIMEType(input) { + input = removeHTTPWhitespace(input, true, true); + const position = { position: 0 }; + const type2 = collectASequenceOfCodePointsFast( + "/", + input, + position + ); + if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) { + return "failure"; + } + if (position.position > input.length) { + return "failure"; + } + position.position++; + let subtype = collectASequenceOfCodePointsFast( + ";", + input, + position + ); + subtype = removeHTTPWhitespace(subtype, false, true); + if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) { + return "failure"; + } + const typeLowercase = type2.toLowerCase(); + const subtypeLowercase = subtype.toLowerCase(); + const mimeType = { + type: typeLowercase, + subtype: subtypeLowercase, + /** @type {Map} */ + parameters: /* @__PURE__ */ new Map(), + // https://mimesniff.spec.whatwg.org/#mime-type-essence + essence: `${typeLowercase}/${subtypeLowercase}` + }; + while (position.position < input.length) { + position.position++; + collectASequenceOfCodePoints( + // https://fetch.spec.whatwg.org/#http-whitespace + (char) => HTTP_WHITESPACE_REGEX.test(char), + input, + position + ); + let parameterName = collectASequenceOfCodePoints( + (char) => char !== ";" && char !== "=", + input, + position + ); + parameterName = parameterName.toLowerCase(); + if (position.position < input.length) { + if (input[position.position] === ";") { + continue; } + position.position++; + } + if (position.position > input.length) { + break; + } + let parameterValue = null; + if (input[position.position] === '"') { + parameterValue = collectAnHTTPQuotedString(input, position, true); + collectASequenceOfCodePointsFast( + ";", + input, + position + ); } else { - idxamp = void 0; - for (i = p; i < len; ++i) { - if (!this._checkingBytes) { - ++p; - } - if (data[i] === 38) { - idxamp = i; - break; - } - if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) { - this._hitLimit = true; - break; - } else if (this._checkingBytes) { - ++this._bytesVal; - } + parameterValue = collectASequenceOfCodePointsFast( + ";", + input, + position + ); + parameterValue = removeHTTPWhitespace(parameterValue, false, true); + if (parameterValue.length === 0) { + continue; } - if (idxamp !== void 0) { - ++this._fields; - if (idxamp > p) { - this._val += this.decoder.write(data.toString("binary", p, idxamp)); - } - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - decodeText(this._val, "binary", this.charset), - this._keyTrunc, - this._valTrunc - ); - this._state = "key"; - this._hitLimit = false; - this._checkingBytes = true; - this._key = ""; - this._bytesKey = 0; - this._keyTrunc = false; - this.decoder.reset(); - p = idxamp + 1; - if (this._fields === this.fieldsLimit) { - return cb(); - } - } else if (this._hitLimit) { - if (i > p) { - this._val += this.decoder.write(data.toString("binary", p, i)); - } - p = i; - if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) { - this._checkingBytes = false; - this._valTrunc = true; - } - } else { - if (p < len) { - this._val += this.decoder.write(data.toString("binary", p)); - } - p = len; + } + if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) { + mimeType.parameters.set(parameterName, parameterValue); + } + } + return mimeType; + } + function forgivingBase64(data) { + data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, ""); + let dataLength = data.length; + if (dataLength % 4 === 0) { + if (data.charCodeAt(dataLength - 1) === 61) { + --dataLength; + if (data.charCodeAt(dataLength - 1) === 61) { + --dataLength; } } } - cb(); - }; - UrlEncoded.prototype.end = function() { - if (this.boy._done) { - return; + if (dataLength % 4 === 1) { + return "failure"; } - if (this._state === "key" && this._key.length > 0) { - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - "", - this._keyTrunc, - false - ); - } else if (this._state === "val") { - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - decodeText(this._val, "binary", this.charset), - this._keyTrunc, - this._valTrunc + if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) { + return "failure"; + } + const buffer = Buffer.from(data, "base64"); + return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); + } + function collectAnHTTPQuotedString(input, position, extractValue) { + const positionStart = position.position; + let value = ""; + assert(input[position.position] === '"'); + position.position++; + while (true) { + value += collectASequenceOfCodePoints( + (char) => char !== '"' && char !== "\\", + input, + position ); + if (position.position >= input.length) { + break; + } + const quoteOrBackslash = input[position.position]; + position.position++; + if (quoteOrBackslash === "\\") { + if (position.position >= input.length) { + value += "\\"; + break; + } + value += input[position.position]; + position.position++; + } else { + assert(quoteOrBackslash === '"'); + break; + } } - this.boy._done = true; - this.boy.emit("finish"); - }; - module2.exports = UrlEncoded; - } -}); - -// node_modules/@fastify/busboy/lib/main.js -var require_main = __commonJS({ - "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) { - "use strict"; - var WritableStream = require("node:stream").Writable; - var { inherits } = require("node:util"); - var Dicer = require_Dicer(); - var MultipartParser = require_multipart(); - var UrlencodedParser = require_urlencoded(); - var parseParams = require_parseParams(); - function Busboy(opts) { - if (!(this instanceof Busboy)) { - return new Busboy(opts); + if (extractValue) { + return value; } - if (typeof opts !== "object") { - throw new TypeError("Busboy expected an options-Object."); + return input.slice(positionStart, position.position); + } + function serializeAMimeType(mimeType) { + assert(mimeType !== "failure"); + const { parameters, essence } = mimeType; + let serialization = essence; + for (let [name, value] of parameters.entries()) { + serialization += ";"; + serialization += name; + serialization += "="; + if (!HTTP_TOKEN_CODEPOINTS.test(value)) { + value = value.replace(/(\\|")/g, "\\$1"); + value = '"' + value; + value += '"'; + } + serialization += value; } - if (typeof opts.headers !== "object") { - throw new TypeError("Busboy expected an options-Object with headers-attribute."); + return serialization; + } + function isHTTPWhiteSpace(char) { + return char === 13 || char === 10 || char === 9 || char === 32; + } + function removeHTTPWhitespace(str2, leading = true, trailing = true) { + return removeChars(str2, leading, trailing, isHTTPWhiteSpace); + } + function isASCIIWhitespace(char) { + return char === 13 || char === 10 || char === 9 || char === 12 || char === 32; + } + function removeASCIIWhitespace(str2, leading = true, trailing = true) { + return removeChars(str2, leading, trailing, isASCIIWhitespace); + } + function removeChars(str2, leading, trailing, predicate) { + let lead = 0; + let trail = str2.length - 1; + if (leading) { + while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++; } - if (typeof opts.headers["content-type"] !== "string") { - throw new TypeError("Missing Content-Type-header."); + if (trailing) { + while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--; } - const { - headers, - ...streamOptions - } = opts; - this.opts = { - autoDestroy: false, - ...streamOptions - }; - WritableStream.call(this, this.opts); - this._done = false; - this._parser = this.getParserByHeaders(headers); - this._finished = false; + return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1); } - inherits(Busboy, WritableStream); - Busboy.prototype.emit = function(ev) { - if (ev === "finish") { - if (!this._done) { - this._parser?.end(); - return; - } else if (this._finished) { - return; - } - this._finished = true; - } - WritableStream.prototype.emit.apply(this, arguments); - }; - Busboy.prototype.getParserByHeaders = function(headers) { - const parsed = parseParams(headers["content-type"]); - const cfg = { - defCharset: this.opts.defCharset, - fileHwm: this.opts.fileHwm, - headers, - highWaterMark: this.opts.highWaterMark, - isPartAFile: this.opts.isPartAFile, - limits: this.opts.limits, - parsedConType: parsed, - preservePath: this.opts.preservePath - }; - if (MultipartParser.detect.test(parsed[0])) { - return new MultipartParser(this, cfg); + function isomorphicDecode(input) { + const length = input.length; + if ((2 << 15) - 1 > length) { + return String.fromCharCode.apply(null, input); } - if (UrlencodedParser.detect.test(parsed[0])) { - return new UrlencodedParser(this, cfg); + let result = ""; + let i = 0; + let addition = (2 << 15) - 1; + while (i < length) { + if (i + addition > length) { + addition = length - i; + } + result += String.fromCharCode.apply(null, input.subarray(i, i += addition)); } - throw new Error("Unsupported Content-Type."); - }; - Busboy.prototype._write = function(chunk, encoding, cb) { - this._parser.write(chunk, cb); - }; - module2.exports = Busboy; - module2.exports.default = Busboy; - module2.exports.Busboy = Busboy; - module2.exports.Dicer = Dicer; - } -}); - -// node_modules/undici/lib/fetch/constants.js -var require_constants7 = __commonJS({ - "node_modules/undici/lib/fetch/constants.js"(exports2, module2) { - "use strict"; - var { MessageChannel, receiveMessageOnPort } = require("worker_threads"); - var corsSafeListedMethods = ["GET", "HEAD", "POST"]; - var corsSafeListedMethodsSet = new Set(corsSafeListedMethods); - var nullBodyStatus = [101, 204, 205, 304]; - var redirectStatus = [301, 302, 303, 307, 308]; - var redirectStatusSet = new Set(redirectStatus); - var badPorts = [ - "1", - "7", - "9", - "11", - "13", - "15", - "17", - "19", - "20", - "21", - "22", - "23", - "25", - "37", - "42", - "43", - "53", - "69", - "77", - "79", - "87", - "95", - "101", - "102", - "103", - "104", - "109", - "110", - "111", - "113", - "115", - "117", - "119", - "123", - "135", - "137", - "139", - "143", - "161", - "179", - "389", - "427", - "465", - "512", - "513", - "514", - "515", - "526", - "530", - "531", - "532", - "540", - "548", - "554", - "556", - "563", - "587", - "601", - "636", - "989", - "990", - "993", - "995", - "1719", - "1720", - "1723", - "2049", - "3659", - "4045", - "5060", - "5061", - "6000", - "6566", - "6665", - "6666", - "6667", - "6668", - "6669", - "6697", - "10080" - ]; - var badPortsSet = new Set(badPorts); - var referrerPolicy = [ - "", - "no-referrer", - "no-referrer-when-downgrade", - "same-origin", - "origin", - "strict-origin", - "origin-when-cross-origin", - "strict-origin-when-cross-origin", - "unsafe-url" - ]; - var referrerPolicySet = new Set(referrerPolicy); - var requestRedirect = ["follow", "manual", "error"]; - var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"]; - var safeMethodsSet = new Set(safeMethods); - var requestMode = ["navigate", "same-origin", "no-cors", "cors"]; - var requestCredentials = ["omit", "same-origin", "include"]; - var requestCache = [ - "default", - "no-store", - "reload", - "no-cache", - "force-cache", - "only-if-cached" - ]; - var requestBodyHeader = [ - "content-encoding", - "content-language", - "content-location", - "content-type", - // See https://github.com/nodejs/undici/issues/2021 - // 'Content-Length' is a forbidden header name, which is typically - // removed in the Headers implementation. However, undici doesn't - // filter out headers, so we add it here. - "content-length" - ]; - var requestDuplex = [ - "half" - ]; - var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"]; - var forbiddenMethodsSet = new Set(forbiddenMethods); - var subresource = [ - "audio", - "audioworklet", - "font", - "image", - "manifest", - "paintworklet", - "script", - "style", - "track", - "video", - "xslt", - "" - ]; - var subresourceSet = new Set(subresource); - var DOMException2 = globalThis.DOMException ?? (() => { - try { - atob("~"); - } catch (err) { - return Object.getPrototypeOf(err).constructor; + return result; + } + function minimizeSupportedMimeType(mimeType) { + switch (mimeType.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"; } - })(); - var channel; - var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js - // structuredClone was added in v17.0.0, but fetch supports v16.8 - function structuredClone2(value, options = void 0) { - if (arguments.length === 0) { - throw new TypeError("missing argument"); + if (mimeType.subtype.endsWith("+json")) { + return "application/json"; } - if (!channel) { - channel = new MessageChannel(); + if (mimeType.subtype.endsWith("+xml")) { + return "application/xml"; } - channel.port1.unref(); - channel.port2.unref(); - channel.port1.postMessage(value, options?.transfer); - return receiveMessageOnPort(channel.port2).message; - }; + return ""; + } module2.exports = { - DOMException: DOMException2, - structuredClone, - subresource, - forbiddenMethods, - requestBodyHeader, - referrerPolicy, - requestRedirect, - requestMode, - requestCredentials, - requestCache, - redirectStatus, - corsSafeListedMethods, - nullBodyStatus, - safeMethods, - badPorts, - requestDuplex, - subresourceSet, - badPortsSet, - redirectStatusSet, - corsSafeListedMethodsSet, - safeMethodsSet, - forbiddenMethodsSet, - referrerPolicySet + dataURLProcessor, + URLSerializer, + collectASequenceOfCodePoints, + collectASequenceOfCodePointsFast, + stringPercentDecode, + parseMIMEType, + collectAnHTTPQuotedString, + serializeAMimeType, + removeChars, + removeHTTPWhitespace, + minimizeSupportedMimeType, + HTTP_TOKEN_CODEPOINTS, + isomorphicDecode }; } }); -// node_modules/undici/lib/fetch/global.js -var require_global3 = __commonJS({ - "node_modules/undici/lib/fetch/global.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js +var require_webidl2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) { "use strict"; - var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1"); - function getGlobalOrigin() { - return globalThis[globalOrigin]; - } - function setGlobalOrigin(newOrigin) { - if (newOrigin === void 0) { - Object.defineProperty(globalThis, globalOrigin, { - value: void 0, - writable: true, - enumerable: false, - configurable: false - }); - return; + var { types, inspect } = require("node:util"); + var { markAsUncloneable } = require("node:worker_threads"); + var { toUSVString } = require_util9(); + var webidl = {}; + webidl.converters = {}; + webidl.util = {}; + webidl.errors = {}; + webidl.errors.exception = function(message) { + return new TypeError(`${message.header}: ${message.message}`); + }; + webidl.errors.conversionFailed = function(context2) { + const plural = context2.types.length === 1 ? "" : " one of"; + const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`; + return webidl.errors.exception({ + header: context2.prefix, + message + }); + }; + webidl.errors.invalidArgument = function(context2) { + return webidl.errors.exception({ + header: context2.prefix, + message: `"${context2.value}" is an invalid ${context2.type}.` + }); + }; + webidl.brandCheck = function(V, I, opts) { + if (opts?.strict !== false) { + if (!(V instanceof I)) { + const err = new TypeError("Illegal invocation"); + err.code = "ERR_INVALID_THIS"; + throw err; + } + } else { + if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) { + const err = new TypeError("Illegal invocation"); + err.code = "ERR_INVALID_THIS"; + throw err; + } } - const parsedURL = new URL(newOrigin); - if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") { - throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`); + }; + webidl.argumentLengthCheck = function({ length }, min, ctx) { + if (length < min) { + throw webidl.errors.exception({ + message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`, + header: ctx + }); } - Object.defineProperty(globalThis, globalOrigin, { - value: parsedURL, - writable: true, - enumerable: false, - configurable: false + }; + webidl.illegalConstructor = function() { + throw webidl.errors.exception({ + header: "TypeError", + message: "Illegal constructor" }); - } - module2.exports = { - getGlobalOrigin, - setGlobalOrigin }; - } -}); - -// node_modules/undici/lib/fetch/util.js -var require_util10 = __commonJS({ - "node_modules/undici/lib/fetch/util.js"(exports2, module2) { - "use strict"; - var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7(); - var { getGlobalOrigin } = require_global3(); - var { performance: performance2 } = require("perf_hooks"); - var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9(); - var assert = require("assert"); - var { isUint8Array } = require("util/types"); - var supportedHashes = []; - var crypto2; - try { - crypto2 = require("crypto"); - const possibleRelevantHashes = ["sha256", "sha384", "sha512"]; - supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash)); - } catch { - } - function responseURL(response) { - const urlList = response.urlList; - const length = urlList.length; - return length === 0 ? null : urlList[length - 1].toString(); - } - function responseLocationURL(response, requestFragment) { - if (!redirectStatusSet.has(response.status)) { - return null; - } - let location = response.headersList.get("location"); - if (location !== null && isValidHeaderValue(location)) { - location = new URL(location, responseURL(response)); + webidl.util.Type = function(V) { + switch (typeof V) { + 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": { + if (V === null) { + return "Null"; + } + return "Object"; + } } - if (location && !location.hash) { - location.hash = requestFragment; + }; + webidl.util.markAsUncloneable = markAsUncloneable || (() => { + }); + webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) { + let upperBound; + let lowerBound; + if (bitLength === 64) { + upperBound = Math.pow(2, 53) - 1; + if (signedness === "unsigned") { + lowerBound = 0; + } else { + lowerBound = Math.pow(-2, 53) + 1; + } + } else if (signedness === "unsigned") { + lowerBound = 0; + upperBound = Math.pow(2, bitLength) - 1; + } else { + lowerBound = Math.pow(-2, bitLength) - 1; + upperBound = Math.pow(2, bitLength - 1) - 1; } - return location; - } - function requestCurrentURL(request2) { - return request2.urlList[request2.urlList.length - 1]; - } - function requestBadPort(request2) { - const url = requestCurrentURL(request2); - if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) { - return "blocked"; + let x = Number(V); + if (x === 0) { + x = 0; } - return "allowed"; - } - function isErrorLike(object) { - return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException"); - } - function isValidReasonPhrase(statusText) { - for (let i = 0; i < statusText.length; ++i) { - const c = statusText.charCodeAt(i); - if (!(c === 9 || // HTAB - c >= 32 && c <= 126 || // SP / VCHAR - c >= 128 && c <= 255)) { - return false; + if (opts?.enforceRange === true) { + if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { + throw webidl.errors.exception({ + header: "Integer conversion", + message: `Could not convert ${webidl.util.Stringify(V)} to an integer.` + }); } + x = webidl.util.IntegerPart(x); + if (x < lowerBound || x > upperBound) { + throw webidl.errors.exception({ + header: "Integer conversion", + message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.` + }); + } + return x; } - return true; - } - function isTokenCharCode(c) { - switch (c) { - case 34: - case 40: - case 41: - case 44: - case 47: - case 58: - case 59: - case 60: - case 61: - case 62: - case 63: - case 64: - case 91: - case 92: - case 93: - case 123: - case 125: - return false; - default: - return c >= 33 && c <= 126; + if (!Number.isNaN(x) && opts?.clamp === true) { + x = Math.min(Math.max(x, lowerBound), upperBound); + if (Math.floor(x) % 2 === 0) { + x = Math.floor(x); + } else { + x = Math.ceil(x); + } + return x; } - } - function isValidHTTPToken(characters) { - if (characters.length === 0) { - return false; + if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { + return 0; } - for (let i = 0; i < characters.length; ++i) { - if (!isTokenCharCode(characters.charCodeAt(i))) { - return false; - } + x = webidl.util.IntegerPart(x); + x = x % Math.pow(2, bitLength); + if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) { + return x - Math.pow(2, bitLength); } - return true; - } - function isValidHeaderName(potentialValue) { - return isValidHTTPToken(potentialValue); - } - function isValidHeaderValue(potentialValue) { - if (potentialValue.startsWith(" ") || potentialValue.startsWith(" ") || potentialValue.endsWith(" ") || potentialValue.endsWith(" ")) { - return false; + return x; + }; + webidl.util.IntegerPart = function(n) { + const r = Math.floor(Math.abs(n)); + if (n < 0) { + return -1 * r; } - if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) { - return false; + return r; + }; + webidl.util.Stringify = function(V) { + const type2 = webidl.util.Type(V); + switch (type2) { + case "Symbol": + return `Symbol(${V.description})`; + case "Object": + return inspect(V); + case "String": + return `"${V}"`; + default: + return `${V}`; } - return true; - } - function setRequestReferrerPolicyOnRedirect(request2, actualResponse) { - const { headersList } = actualResponse; - const policyHeader = (headersList.get("referrer-policy") ?? "").split(","); - let policy = ""; - if (policyHeader.length > 0) { - for (let i = policyHeader.length; i !== 0; i--) { - const token = policyHeader[i - 1].trim(); - if (referrerPolicyTokens.has(token)) { - policy = token; + }; + webidl.sequenceConverter = function(converter) { + return (V, prefix, argument, Iterable) => { + if (webidl.util.Type(V) !== "Object") { + throw webidl.errors.exception({ + header: prefix, + message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.` + }); + } + const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.(); + const seq2 = []; + let index = 0; + if (method === void 0 || typeof method.next !== "function") { + throw webidl.errors.exception({ + header: prefix, + message: `${argument} is not iterable.` + }); + } + while (true) { + const { done, value } = method.next(); + if (done) { break; } + seq2.push(converter(value, prefix, `${argument}[${index++}]`)); } - } - if (policy !== "") { - request2.referrerPolicy = policy; - } - } - function crossOriginResourcePolicyCheck() { - return "allowed"; - } - function corsCheck() { - return "success"; - } - function TAOCheck() { - return "success"; - } - function appendFetchMetadata(httpRequest) { - let header = null; - header = httpRequest.mode; - httpRequest.headersList.set("sec-fetch-mode", header); - } - function appendRequestOriginHeader(request2) { - let serializedOrigin = request2.origin; - if (request2.responseTainting === "cors" || request2.mode === "websocket") { - if (serializedOrigin) { - request2.headersList.append("origin", serializedOrigin); + return seq2; + }; + }; + webidl.recordConverter = function(keyConverter, valueConverter) { + return (O, prefix, argument) => { + if (webidl.util.Type(O) !== "Object") { + throw webidl.errors.exception({ + header: prefix, + message: `${argument} ("${webidl.util.Type(O)}") is not an Object.` + }); } - } else if (request2.method !== "GET" && request2.method !== "HEAD") { - switch (request2.referrerPolicy) { - case "no-referrer": - serializedOrigin = null; - break; - case "no-referrer-when-downgrade": - case "strict-origin": - case "strict-origin-when-cross-origin": - if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) { - serializedOrigin = null; - } - break; - case "same-origin": - if (!sameOrigin(request2, requestCurrentURL(request2))) { - serializedOrigin = null; - } - break; - default: + const result = {}; + if (!types.isProxy(O)) { + const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)]; + for (const key of keys2) { + const typedKey = keyConverter(key, prefix, argument); + const typedValue = valueConverter(O[key], prefix, argument); + result[typedKey] = typedValue; + } + return result; } - if (serializedOrigin) { - request2.headersList.append("origin", serializedOrigin); + const keys = Reflect.ownKeys(O); + for (const key of keys) { + const desc = Reflect.getOwnPropertyDescriptor(O, key); + if (desc?.enumerable) { + const typedKey = keyConverter(key, prefix, argument); + const typedValue = valueConverter(O[key], prefix, argument); + result[typedKey] = typedValue; + } } - } - } - function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) { - return performance2.now(); - } - function createOpaqueTimingInfo(timingInfo) { - return { - startTime: timingInfo.startTime ?? 0, - redirectStartTime: 0, - redirectEndTime: 0, - postRedirectStartTime: timingInfo.startTime ?? 0, - finalServiceWorkerStartTime: 0, - finalNetworkResponseStartTime: 0, - finalNetworkRequestStartTime: 0, - endTime: 0, - encodedBodySize: 0, - decodedBodySize: 0, - finalConnectionTimingInfo: null + return result; }; - } - function makePolicyContainer() { - return { - referrerPolicy: "strict-origin-when-cross-origin" + }; + webidl.interfaceConverter = function(i) { + return (V, prefix, argument, opts) => { + if (opts?.strict !== false && !(V instanceof i)) { + throw webidl.errors.exception({ + header: prefix, + message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.` + }); + } + return V; }; - } - function clonePolicyContainer(policyContainer) { - return { - referrerPolicy: policyContainer.referrerPolicy + }; + webidl.dictionaryConverter = function(converters) { + return (dictionary, prefix, argument) => { + const type2 = webidl.util.Type(dictionary); + const dict = {}; + if (type2 === "Null" || type2 === "Undefined") { + return dict; + } else if (type2 !== "Object") { + throw webidl.errors.exception({ + header: prefix, + message: `Expected ${dictionary} to be one of: Null, Undefined, Object.` + }); + } + for (const options of converters) { + const { key, defaultValue, required, converter } = options; + if (required === true) { + if (!Object.hasOwn(dictionary, key)) { + throw webidl.errors.exception({ + header: prefix, + message: `Missing required key "${key}".` + }); + } + } + let value = dictionary[key]; + const hasDefault = Object.hasOwn(options, "defaultValue"); + if (hasDefault && value !== null) { + value ??= defaultValue(); + } + if (required || hasDefault || value !== void 0) { + value = converter(value, prefix, `${argument}.${key}`); + if (options.allowedValues && !options.allowedValues.includes(value)) { + throw webidl.errors.exception({ + header: prefix, + message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.` + }); + } + dict[key] = value; + } + } + return dict; + }; + }; + webidl.nullableConverter = function(converter) { + return (V, prefix, argument) => { + if (V === null) { + return V; + } + return converter(V, prefix, argument); + }; + }; + webidl.converters.DOMString = function(V, prefix, argument, opts) { + if (V === null && opts?.legacyNullToEmptyString) { + return ""; + } + if (typeof V === "symbol") { + throw webidl.errors.exception({ + header: prefix, + message: `${argument} is a symbol, which cannot be converted to a DOMString.` + }); + } + return String(V); + }; + webidl.converters.ByteString = function(V, prefix, argument) { + const x = webidl.converters.DOMString(V, prefix, argument); + for (let index = 0; index < x.length; index++) { + if (x.charCodeAt(index) > 255) { + throw new TypeError( + `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.` + ); + } + } + return x; + }; + webidl.converters.USVString = toUSVString; + webidl.converters.boolean = function(V) { + const x = Boolean(V); + return x; + }; + webidl.converters.any = function(V) { + return V; + }; + webidl.converters["long long"] = function(V, prefix, argument) { + const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument); + return x; + }; + webidl.converters["unsigned long long"] = function(V, prefix, argument) { + const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument); + return x; + }; + webidl.converters["unsigned long"] = function(V, prefix, argument) { + const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument); + return x; + }; + webidl.converters["unsigned short"] = function(V, prefix, argument, opts) { + const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument); + return x; + }; + webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) { + if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) { + throw webidl.errors.conversionFailed({ + prefix, + argument: `${argument} ("${webidl.util.Stringify(V)}")`, + types: ["ArrayBuffer"] + }); + } + if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "SharedArrayBuffer is not allowed." + }); + } + if (V.resizable || V.growable) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "Received a resizable ArrayBuffer." + }); + } + return V; + }; + webidl.converters.TypedArray = function(V, T, prefix, name, opts) { + if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) { + throw webidl.errors.conversionFailed({ + prefix, + argument: `${name} ("${webidl.util.Stringify(V)}")`, + types: [T.name] + }); + } + if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "SharedArrayBuffer is not allowed." + }); + } + if (V.buffer.resizable || V.buffer.growable) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "Received a resizable ArrayBuffer." + }); + } + return V; + }; + webidl.converters.DataView = function(V, prefix, name, opts) { + if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) { + throw webidl.errors.exception({ + header: prefix, + message: `${name} is not a DataView.` + }); + } + if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "SharedArrayBuffer is not allowed." + }); + } + if (V.buffer.resizable || V.buffer.growable) { + throw webidl.errors.exception({ + header: "ArrayBuffer", + message: "Received a resizable ArrayBuffer." + }); + } + return V; + }; + webidl.converters.BufferSource = function(V, prefix, name, opts) { + if (types.isAnyArrayBuffer(V)) { + return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false }); + } + if (types.isTypedArray(V)) { + return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false }); + } + if (types.isDataView(V)) { + return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false }); + } + throw webidl.errors.conversionFailed({ + prefix, + argument: `${name} ("${webidl.util.Stringify(V)}")`, + types: ["BufferSource"] + }); + }; + webidl.converters["sequence"] = webidl.sequenceConverter( + webidl.converters.ByteString + ); + webidl.converters["sequence>"] = webidl.sequenceConverter( + webidl.converters["sequence"] + ); + webidl.converters["record"] = webidl.recordConverter( + webidl.converters.ByteString, + webidl.converters.ByteString + ); + module2.exports = { + webidl + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js +var require_util10 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) { + "use strict"; + var { Transform } = require("node:stream"); + var zlib = require("node:zlib"); + var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8(); + var { getGlobalOrigin } = require_global3(); + var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2(); + var { performance: performance2 } = require("node:perf_hooks"); + var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9(); + var assert = require("node:assert"); + var { isUint8Array } = require("node:util/types"); + var { webidl } = require_webidl2(); + var supportedHashes = []; + var crypto2; + try { + crypto2 = require("node:crypto"); + const possibleRelevantHashes = ["sha256", "sha384", "sha512"]; + supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash)); + } catch { + } + function responseURL(response) { + const urlList = response.urlList; + const length = urlList.length; + return length === 0 ? null : urlList[length - 1].toString(); + } + function responseLocationURL(response, requestFragment) { + if (!redirectStatusSet.has(response.status)) { + return null; + } + let location = response.headersList.get("location", true); + if (location !== null && isValidHeaderValue(location)) { + if (!isValidEncodedURL(location)) { + location = normalizeBinaryStringToUtf8(location); + } + location = new URL(location, responseURL(response)); + } + if (location && !location.hash) { + location.hash = requestFragment; + } + return location; + } + function isValidEncodedURL(url) { + for (let i = 0; i < url.length; ++i) { + const code = url.charCodeAt(i); + if (code > 126 || // Non-US-ASCII + DEL + code < 32) { + return false; + } + } + return true; + } + function normalizeBinaryStringToUtf8(value) { + return Buffer.from(value, "binary").toString("utf8"); + } + function requestCurrentURL(request2) { + return request2.urlList[request2.urlList.length - 1]; + } + function requestBadPort(request2) { + const url = requestCurrentURL(request2); + if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) { + return "blocked"; + } + return "allowed"; + } + function isErrorLike(object) { + return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException"); + } + function isValidReasonPhrase(statusText) { + for (let i = 0; i < statusText.length; ++i) { + const c = statusText.charCodeAt(i); + if (!(c === 9 || // HTAB + c >= 32 && c <= 126 || // SP / VCHAR + c >= 128 && c <= 255)) { + return false; + } + } + return true; + } + var isValidHeaderName = isValidHTTPToken; + function isValidHeaderValue(potentialValue) { + return (potentialValue[0] === " " || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === " " || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false; + } + function setRequestReferrerPolicyOnRedirect(request2, actualResponse) { + const { headersList } = actualResponse; + const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(","); + let policy = ""; + if (policyHeader.length > 0) { + for (let i = policyHeader.length; i !== 0; i--) { + const token = policyHeader[i - 1].trim(); + if (referrerPolicyTokens.has(token)) { + policy = token; + break; + } + } + } + if (policy !== "") { + request2.referrerPolicy = policy; + } + } + function crossOriginResourcePolicyCheck() { + return "allowed"; + } + function corsCheck() { + return "success"; + } + function TAOCheck() { + return "success"; + } + function appendFetchMetadata(httpRequest) { + let header = null; + header = httpRequest.mode; + httpRequest.headersList.set("sec-fetch-mode", header, true); + } + function appendRequestOriginHeader(request2) { + let serializedOrigin = request2.origin; + if (serializedOrigin === "client" || serializedOrigin === void 0) { + return; + } + if (request2.responseTainting === "cors" || request2.mode === "websocket") { + request2.headersList.append("origin", serializedOrigin, true); + } else if (request2.method !== "GET" && request2.method !== "HEAD") { + switch (request2.referrerPolicy) { + case "no-referrer": + serializedOrigin = null; + break; + case "no-referrer-when-downgrade": + case "strict-origin": + case "strict-origin-when-cross-origin": + if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) { + serializedOrigin = null; + } + break; + case "same-origin": + if (!sameOrigin(request2, requestCurrentURL(request2))) { + serializedOrigin = null; + } + break; + default: + } + request2.headersList.append("origin", serializedOrigin, true); + } + } + function coarsenTime(timestamp2, crossOriginIsolatedCapability) { + return timestamp2; + } + function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) { + if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) { + return { + domainLookupStartTime: defaultStartTime, + domainLookupEndTime: defaultStartTime, + connectionStartTime: defaultStartTime, + connectionEndTime: defaultStartTime, + secureConnectionStartTime: defaultStartTime, + ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol + }; + } + return { + domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability), + domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability), + connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability), + connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability), + secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability), + ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol + }; + } + function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) { + return coarsenTime(performance2.now(), crossOriginIsolatedCapability); + } + function createOpaqueTimingInfo(timingInfo) { + return { + startTime: timingInfo.startTime ?? 0, + redirectStartTime: 0, + redirectEndTime: 0, + postRedirectStartTime: timingInfo.startTime ?? 0, + finalServiceWorkerStartTime: 0, + finalNetworkResponseStartTime: 0, + finalNetworkRequestStartTime: 0, + endTime: 0, + encodedBodySize: 0, + decodedBodySize: 0, + finalConnectionTimingInfo: null + }; + } + function makePolicyContainer() { + return { + referrerPolicy: "strict-origin-when-cross-origin" + }; + } + function clonePolicyContainer(policyContainer) { + return { + referrerPolicy: policyContainer.referrerPolicy }; } function determineRequestsReferrer(request2) { @@ -24897,6 +25501,7 @@ var require_util10 = __commonJS({ } function stripURLForReferrer(url, originOnly) { assert(url instanceof URL); + url = new URL(url); if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") { return "no-referrer"; } @@ -25052,23 +25657,8 @@ var require_util10 = __commonJS({ function isCancelled(fetchParams) { return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated"; } - var normalizeMethodRecord = { - delete: "DELETE", - DELETE: "DELETE", - get: "GET", - GET: "GET", - head: "HEAD", - HEAD: "HEAD", - options: "OPTIONS", - OPTIONS: "OPTIONS", - post: "POST", - POST: "POST", - put: "PUT", - PUT: "PUT" - }; - Object.setPrototypeOf(normalizeMethodRecord, null); function normalizeMethod(method) { - return normalizeMethodRecord[method.toLowerCase()] ?? method; + return normalizedMethodRecordsBase[method.toLowerCase()] ?? method; } function serializeJavascriptValueToJSONString(value) { const result = JSON.stringify(value); @@ -25079,53 +25669,131 @@ var require_util10 = __commonJS({ return result; } var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); - function makeIterator(iterator2, name, kind) { - const object = { - index: 0, - kind, - target: iterator2 - }; - const i = { + function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) { + class FastIterableIterator { + /** @type {any} */ + #target; + /** @type {'key' | 'value' | 'key+value'} */ + #kind; + /** @type {number} */ + #index; + /** + * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object + * @param {unknown} target + * @param {'key' | 'value' | 'key+value'} kind + */ + constructor(target, kind) { + this.#target = target; + this.#kind = kind; + this.#index = 0; + } next() { - if (Object.getPrototypeOf(this) !== i) { + if (typeof this !== "object" || this === null || !(#target in this)) { throw new TypeError( `'next' called on an object that does not implement interface ${name} Iterator.` ); } - const { index, kind: kind2, target } = object; - const values = target(); + const index = this.#index; + const values = this.#target[kInternalIterator]; const len = values.length; if (index >= len) { - return { value: void 0, done: true }; + return { + value: void 0, + done: true + }; } - const pair = values[index]; - object.index = index + 1; - return iteratorResult(pair, kind2); + const { [keyIndex]: key, [valueIndex]: value } = values[index]; + this.#index = index + 1; + let result; + switch (this.#kind) { + case "key": + result = key; + break; + case "value": + result = value; + break; + case "key+value": + result = [key, value]; + break; + } + return { + value: result, + done: false + }; + } + } + delete FastIterableIterator.prototype.constructor; + Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype); + Object.defineProperties(FastIterableIterator.prototype, { + [Symbol.toStringTag]: { + writable: false, + enumerable: false, + configurable: true, + value: `${name} Iterator` }, - // The class string of an iterator prototype object for a given interface is the - // result of concatenating the identifier of the interface and the string " Iterator". - [Symbol.toStringTag]: `${name} Iterator` + next: { writable: true, enumerable: true, configurable: true } + }); + return function(target, kind) { + return new FastIterableIterator(target, kind); }; - Object.setPrototypeOf(i, esIteratorPrototype); - return Object.setPrototypeOf({}, i); } - function iteratorResult(pair, kind) { - let result; - switch (kind) { - case "key": { - result = pair[0]; - break; - } - case "value": { - result = pair[1]; - break; + function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) { + const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex); + const properties = { + keys: { + writable: true, + enumerable: true, + configurable: true, + value: function keys() { + webidl.brandCheck(this, object); + return makeIterator(this, "key"); + } + }, + values: { + writable: true, + enumerable: true, + configurable: true, + value: function values() { + webidl.brandCheck(this, object); + return makeIterator(this, "value"); + } + }, + entries: { + writable: true, + enumerable: true, + configurable: true, + value: function entries() { + webidl.brandCheck(this, object); + return makeIterator(this, "key+value"); + } + }, + forEach: { + writable: true, + enumerable: true, + configurable: true, + value: function forEach(callbackfn, thisArg = globalThis) { + webidl.brandCheck(this, object); + webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`); + if (typeof callbackfn !== "function") { + throw new TypeError( + `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.` + ); + } + for (const { 0: key, 1: value } of makeIterator(this, "key+value")) { + callbackfn.call(thisArg, value, key, this); + } + } } - case "key+value": { - result = pair; - break; + }; + return Object.defineProperties(object.prototype, { + ...properties, + [Symbol.iterator]: { + writable: true, + enumerable: false, + configurable: true, + value: properties.entries.value } - } - return { value: result, done: false }; + }); } async function fullyReadBody(body, processBody, processBodyError) { const successSteps = processBody; @@ -25138,39 +25806,27 @@ var require_util10 = __commonJS({ return; } try { - const result = await readAllBytes(reader); - successSteps(result); + successSteps(await readAllBytes(reader)); } catch (e) { errorSteps(e); } } - var ReadableStream2 = globalThis.ReadableStream; function isReadableStreamLike(stream) { - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; - } - return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function"; - } - var MAXIMUM_ARGUMENT_LENGTH = 65535; - function isomorphicDecode(input) { - if (input.length < MAXIMUM_ARGUMENT_LENGTH) { - return String.fromCharCode(...input); - } - return input.reduce((previous, current) => previous + String.fromCharCode(current), ""); + return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function"; } function readableStreamClose(controller) { try { controller.close(); + controller.byobRequest?.respond(0); } catch (err) { - if (!err.message.includes("Controller is already closed")) { + if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) { throw err; } } } + var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/; function isomorphicEncode(input) { - for (let i = 0; i < input.length; i++) { - assert(input.charCodeAt(i) <= 255); - } + assert(!invalidIsomorphicEncodeValueRegex.test(input)); return input; } async function readAllBytes(reader) { @@ -25194,24 +25850,223 @@ var require_util10 = __commonJS({ return protocol === "about:" || protocol === "blob:" || protocol === "data:"; } function urlHasHttpsScheme(url) { - if (typeof url === "string") { - return url.startsWith("https:"); - } - return url.protocol === "https:"; + return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:"; } function urlIsHttpHttpsScheme(url) { assert("protocol" in url); const protocol = url.protocol; return protocol === "http:" || protocol === "https:"; } - var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key)); + function simpleRangeHeaderValue(value, allowWhitespace) { + const data = value; + if (!data.startsWith("bytes")) { + return "failure"; + } + const position = { position: 5 }; + if (allowWhitespace) { + collectASequenceOfCodePoints( + (char) => char === " " || char === " ", + data, + position + ); + } + if (data.charCodeAt(position.position) !== 61) { + return "failure"; + } + position.position++; + if (allowWhitespace) { + collectASequenceOfCodePoints( + (char) => char === " " || char === " ", + data, + position + ); + } + const rangeStart = collectASequenceOfCodePoints( + (char) => { + const code = char.charCodeAt(0); + return code >= 48 && code <= 57; + }, + data, + position + ); + const rangeStartValue = rangeStart.length ? Number(rangeStart) : null; + if (allowWhitespace) { + collectASequenceOfCodePoints( + (char) => char === " " || char === " ", + data, + position + ); + } + if (data.charCodeAt(position.position) !== 45) { + return "failure"; + } + position.position++; + if (allowWhitespace) { + collectASequenceOfCodePoints( + (char) => char === " " || char === " ", + data, + position + ); + } + const rangeEnd = collectASequenceOfCodePoints( + (char) => { + const code = char.charCodeAt(0); + return code >= 48 && code <= 57; + }, + data, + position + ); + const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null; + if (position.position < data.length) { + return "failure"; + } + if (rangeEndValue === null && rangeStartValue === null) { + return "failure"; + } + if (rangeStartValue > rangeEndValue) { + return "failure"; + } + return { rangeStartValue, rangeEndValue }; + } + function buildContentRange(rangeStart, rangeEnd, fullLength) { + let contentRange = "bytes "; + contentRange += isomorphicEncode(`${rangeStart}`); + contentRange += "-"; + contentRange += isomorphicEncode(`${rangeEnd}`); + contentRange += "/"; + contentRange += isomorphicEncode(`${fullLength}`); + return contentRange; + } + var InflateStream = class extends Transform { + #zlibOptions; + /** @param {zlib.ZlibOptions} [zlibOptions] */ + constructor(zlibOptions) { + super(); + this.#zlibOptions = zlibOptions; + } + _transform(chunk, encoding, callback) { + if (!this._inflateStream) { + if (chunk.length === 0) { + callback(); + return; + } + this._inflateStream = (chunk[0] & 15) === 8 ? zlib.createInflate(this.#zlibOptions) : zlib.createInflateRaw(this.#zlibOptions); + this._inflateStream.on("data", this.push.bind(this)); + this._inflateStream.on("end", () => this.push(null)); + this._inflateStream.on("error", (err) => this.destroy(err)); + } + this._inflateStream.write(chunk, encoding, callback); + } + _final(callback) { + if (this._inflateStream) { + this._inflateStream.end(); + this._inflateStream = null; + } + callback(); + } + }; + function createInflate(zlibOptions) { + return new InflateStream(zlibOptions); + } + function extractMimeType(headers) { + let charset = null; + let essence = null; + let mimeType = null; + const values = getDecodeSplit("content-type", headers); + if (values === null) { + return "failure"; + } + for (const value of values) { + const temporaryMimeType = parseMIMEType(value); + if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") { + continue; + } + mimeType = temporaryMimeType; + if (mimeType.essence !== essence) { + charset = null; + if (mimeType.parameters.has("charset")) { + charset = mimeType.parameters.get("charset"); + } + essence = mimeType.essence; + } else if (!mimeType.parameters.has("charset") && charset !== null) { + mimeType.parameters.set("charset", charset); + } + } + if (mimeType == null) { + return "failure"; + } + return mimeType; + } + function gettingDecodingSplitting(value) { + const input = value; + const position = { position: 0 }; + const values = []; + let temporaryValue = ""; + while (position.position < input.length) { + temporaryValue += collectASequenceOfCodePoints( + (char) => char !== '"' && char !== ",", + input, + position + ); + if (position.position < input.length) { + if (input.charCodeAt(position.position) === 34) { + temporaryValue += collectAnHTTPQuotedString( + input, + position + ); + if (position.position < input.length) { + continue; + } + } else { + assert(input.charCodeAt(position.position) === 44); + position.position++; + } + } + temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32); + values.push(temporaryValue); + temporaryValue = ""; + } + return values; + } + function getDecodeSplit(name, list) { + const value = list.get(name, true); + if (value === null) { + return null; + } + return gettingDecodingSplitting(value); + } + var textDecoder = new TextDecoder(); + function utf8DecodeBytes(buffer) { + if (buffer.length === 0) { + return ""; + } + if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) { + buffer = buffer.subarray(3); + } + const output = textDecoder.decode(buffer); + return output; + } + var EnvironmentSettingsObjectBase = class { + get baseUrl() { + return getGlobalOrigin(); + } + get origin() { + return this.baseUrl?.origin; + } + policyContainer = makePolicyContainer(); + }; + var EnvironmentSettingsObject = class { + settingsObject = new EnvironmentSettingsObjectBase(); + }; + var environmentSettingsObject = new EnvironmentSettingsObject(); module2.exports = { isAborted, isCancelled, + isValidEncodedURL, createDeferredPromise, ReadableStreamFrom, - toUSVString, tryUpgradeRequestToAPotentiallyTrustworthyURL, + clampAndCoarsenConnectionTimingInfo, coarsenedSharedCurrentTime, determineRequestsReferrer, makePolicyContainer, @@ -25234,927 +26089,160 @@ var require_util10 = __commonJS({ sameOrigin, normalizeMethod, serializeJavascriptValueToJSONString, - makeIterator, + iteratorMixin, + createIterator, isValidHeaderName, isValidHeaderValue, - hasOwn, isErrorLike, fullyReadBody, bytesMatch, isReadableStreamLike, readableStreamClose, isomorphicEncode, - isomorphicDecode, urlIsLocal, urlHasHttpsScheme, urlIsHttpHttpsScheme, readAllBytes, - normalizeMethodRecord, - parseMetadata + simpleRangeHeaderValue, + buildContentRange, + parseMetadata, + createInflate, + extractMimeType, + getDecodeSplit, + utf8DecodeBytes, + environmentSettingsObject }; } }); -// node_modules/undici/lib/fetch/symbols.js +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js var require_symbols7 = __commonJS({ - "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) { "use strict"; module2.exports = { kUrl: /* @__PURE__ */ Symbol("url"), kHeaders: /* @__PURE__ */ Symbol("headers"), kSignal: /* @__PURE__ */ Symbol("signal"), kState: /* @__PURE__ */ Symbol("state"), - kGuard: /* @__PURE__ */ Symbol("guard"), - kRealm: /* @__PURE__ */ Symbol("realm") + kDispatcher: /* @__PURE__ */ Symbol("dispatcher") }; } }); -// node_modules/undici/lib/fetch/webidl.js -var require_webidl2 = __commonJS({ - "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js +var require_file2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) { "use strict"; - var { types } = require("util"); - var { hasOwn, toUSVString } = require_util10(); - var webidl = {}; - webidl.converters = {}; - webidl.util = {}; - webidl.errors = {}; - webidl.errors.exception = function(message) { - return new TypeError(`${message.header}: ${message.message}`); - }; - webidl.errors.conversionFailed = function(context2) { - const plural = context2.types.length === 1 ? "" : " one of"; - const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`; - return webidl.errors.exception({ - header: context2.prefix, - message - }); - }; - webidl.errors.invalidArgument = function(context2) { - return webidl.errors.exception({ - header: context2.prefix, - message: `"${context2.value}" is an invalid ${context2.type}.` - }); - }; - webidl.brandCheck = function(V, I, opts = void 0) { - if (opts?.strict !== false && !(V instanceof I)) { - throw new TypeError("Illegal invocation"); - } else { - return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag]; + var { Blob: Blob2, File: File2 } = require("node:buffer"); + var { kState } = require_symbols7(); + var { webidl } = require_webidl2(); + var FileLike = class _FileLike { + constructor(blobLike, fileName, options = {}) { + const n = fileName; + const t = options.type; + const d = options.lastModified ?? Date.now(); + this[kState] = { + blobLike, + name: n, + type: t, + lastModified: d + }; } - }; - webidl.argumentLengthCheck = function({ length }, min, ctx) { - if (length < min) { - throw webidl.errors.exception({ - message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`, - ...ctx - }); + stream(...args) { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.stream(...args); } - }; - webidl.illegalConstructor = function() { - throw webidl.errors.exception({ - header: "TypeError", - message: "Illegal constructor" - }); - }; - webidl.util.Type = function(V) { - switch (typeof V) { - 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": { - if (V === null) { - return "Null"; - } - return "Object"; - } + arrayBuffer(...args) { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.arrayBuffer(...args); } - }; - webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) { - let upperBound; - let lowerBound; - if (bitLength === 64) { - upperBound = Math.pow(2, 53) - 1; - if (signedness === "unsigned") { - lowerBound = 0; - } else { - lowerBound = Math.pow(-2, 53) + 1; - } - } else if (signedness === "unsigned") { - lowerBound = 0; - upperBound = Math.pow(2, bitLength) - 1; - } else { - lowerBound = Math.pow(-2, bitLength) - 1; - upperBound = Math.pow(2, bitLength - 1) - 1; + slice(...args) { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.slice(...args); } - let x = Number(V); - if (x === 0) { - x = 0; + text(...args) { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.text(...args); } - if (opts.enforceRange === true) { - if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { - throw webidl.errors.exception({ - header: "Integer conversion", - message: `Could not convert ${V} to an integer.` - }); - } - x = webidl.util.IntegerPart(x); - if (x < lowerBound || x > upperBound) { - throw webidl.errors.exception({ - header: "Integer conversion", - message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.` - }); - } - return x; + get size() { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.size; } - if (!Number.isNaN(x) && opts.clamp === true) { - x = Math.min(Math.max(x, lowerBound), upperBound); - if (Math.floor(x) % 2 === 0) { - x = Math.floor(x); - } else { - x = Math.ceil(x); - } - return x; + get type() { + webidl.brandCheck(this, _FileLike); + return this[kState].blobLike.type; } - if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { - return 0; + get name() { + webidl.brandCheck(this, _FileLike); + return this[kState].name; } - x = webidl.util.IntegerPart(x); - x = x % Math.pow(2, bitLength); - if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) { - return x - Math.pow(2, bitLength); + get lastModified() { + webidl.brandCheck(this, _FileLike); + return this[kState].lastModified; } - return x; - }; - webidl.util.IntegerPart = function(n) { - const r = Math.floor(Math.abs(n)); - if (n < 0) { - return -1 * r; + get [Symbol.toStringTag]() { + return "File"; } - return r; }; - webidl.sequenceConverter = function(converter) { - return (V) => { - if (webidl.util.Type(V) !== "Object") { - throw webidl.errors.exception({ - header: "Sequence", - message: `Value of type ${webidl.util.Type(V)} is not an Object.` - }); - } - const method = V?.[Symbol.iterator]?.(); - const seq2 = []; - if (method === void 0 || typeof method.next !== "function") { - throw webidl.errors.exception({ - header: "Sequence", - message: "Object is not an iterator." + webidl.converters.Blob = webidl.interfaceConverter(Blob2); + function isFileLike(object) { + return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; + } + module2.exports = { FileLike, isFileLike }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js +var require_formdata2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) { + "use strict"; + var { isBlobLike, iteratorMixin } = require_util10(); + var { kState } = require_symbols7(); + var { kEnumerableProperty } = require_util9(); + var { FileLike, isFileLike } = require_file2(); + var { webidl } = require_webidl2(); + var { File: NativeFile } = require("node:buffer"); + var nodeUtil = require("node:util"); + var File2 = globalThis.File ?? NativeFile; + var FormData2 = class _FormData { + constructor(form) { + webidl.util.markAsUncloneable(this); + if (form !== void 0) { + throw webidl.errors.conversionFailed({ + prefix: "FormData constructor", + argument: "Argument 1", + types: ["undefined"] }); } - while (true) { - const { done, value } = method.next(); - if (done) { - break; - } - seq2.push(converter(value)); + this[kState] = []; + } + append(name, value, filename = void 0) { + webidl.brandCheck(this, _FormData); + const prefix = "FormData.append"; + webidl.argumentLengthCheck(arguments, 2, prefix); + if (arguments.length === 3 && !isBlobLike(value)) { + throw new TypeError( + "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'" + ); } - return seq2; - }; - }; - webidl.recordConverter = function(keyConverter, valueConverter) { - return (O) => { - if (webidl.util.Type(O) !== "Object") { - throw webidl.errors.exception({ - header: "Record", - message: `Value of type ${webidl.util.Type(O)} is not an Object.` - }); - } - const result = {}; - if (!types.isProxy(O)) { - const keys2 = Object.keys(O); - for (const key of keys2) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O[key]); - result[typedKey] = typedValue; - } - return result; - } - const keys = Reflect.ownKeys(O); - for (const key of keys) { - const desc = Reflect.getOwnPropertyDescriptor(O, key); - if (desc?.enumerable) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O[key]); - result[typedKey] = typedValue; - } - } - return result; - }; - }; - webidl.interfaceConverter = function(i) { - return (V, opts = {}) => { - if (opts.strict !== false && !(V instanceof i)) { - throw webidl.errors.exception({ - header: i.name, - message: `Expected ${V} to be an instance of ${i.name}.` - }); - } - return V; - }; - }; - webidl.dictionaryConverter = function(converters) { - return (dictionary) => { - const type2 = webidl.util.Type(dictionary); - const dict = {}; - if (type2 === "Null" || type2 === "Undefined") { - return dict; - } else if (type2 !== "Object") { - throw webidl.errors.exception({ - header: "Dictionary", - message: `Expected ${dictionary} to be one of: Null, Undefined, Object.` - }); - } - for (const options of converters) { - const { key, defaultValue, required, converter } = options; - if (required === true) { - if (!hasOwn(dictionary, key)) { - throw webidl.errors.exception({ - header: "Dictionary", - message: `Missing required key "${key}".` - }); - } - } - let value = dictionary[key]; - const hasDefault = hasOwn(options, "defaultValue"); - if (hasDefault && value !== null) { - value = value ?? defaultValue; - } - if (required || hasDefault || value !== void 0) { - value = converter(value); - if (options.allowedValues && !options.allowedValues.includes(value)) { - throw webidl.errors.exception({ - header: "Dictionary", - message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.` - }); - } - dict[key] = value; - } - } - return dict; - }; - }; - webidl.nullableConverter = function(converter) { - return (V) => { - if (V === null) { - return V; - } - return converter(V); - }; - }; - webidl.converters.DOMString = function(V, opts = {}) { - if (V === null && opts.legacyNullToEmptyString) { - return ""; - } - if (typeof V === "symbol") { - throw new TypeError("Could not convert argument of type symbol to string."); - } - return String(V); - }; - webidl.converters.ByteString = function(V) { - const x = webidl.converters.DOMString(V); - for (let index = 0; index < x.length; index++) { - if (x.charCodeAt(index) > 255) { - throw new TypeError( - `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.` - ); - } - } - return x; - }; - webidl.converters.USVString = toUSVString; - webidl.converters.boolean = function(V) { - const x = Boolean(V); - return x; - }; - webidl.converters.any = function(V) { - return V; - }; - webidl.converters["long long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 64, "signed"); - return x; - }; - webidl.converters["unsigned long long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 64, "unsigned"); - return x; - }; - webidl.converters["unsigned long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 32, "unsigned"); - return x; - }; - webidl.converters["unsigned short"] = function(V, opts) { - const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts); - return x; - }; - webidl.converters.ArrayBuffer = function(V, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) { - throw webidl.errors.conversionFailed({ - prefix: `${V}`, - argument: `${V}`, - types: ["ArrayBuffer"] - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V; - }; - webidl.converters.TypedArray = function(V, T, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) { - throw webidl.errors.conversionFailed({ - prefix: `${T.name}`, - argument: `${V}`, - types: [T.name] - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V; - }; - webidl.converters.DataView = function(V, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) { - throw webidl.errors.exception({ - header: "DataView", - message: "Object is not a DataView." - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V; - }; - webidl.converters.BufferSource = function(V, opts = {}) { - if (types.isAnyArrayBuffer(V)) { - return webidl.converters.ArrayBuffer(V, opts); - } - if (types.isTypedArray(V)) { - return webidl.converters.TypedArray(V, V.constructor); - } - if (types.isDataView(V)) { - return webidl.converters.DataView(V, opts); - } - throw new TypeError(`Could not convert ${V} to a BufferSource.`); - }; - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.ByteString - ); - webidl.converters["sequence>"] = webidl.sequenceConverter( - webidl.converters["sequence"] - ); - webidl.converters["record"] = webidl.recordConverter( - webidl.converters.ByteString, - webidl.converters.ByteString - ); - module2.exports = { - webidl - }; - } -}); - -// node_modules/undici/lib/fetch/dataURL.js -var require_dataURL = __commonJS({ - "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) { - var assert = require("assert"); - var { atob: atob2 } = require("buffer"); - var { isomorphicDecode } = require_util10(); - var encoder = new TextEncoder(); - var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/; - var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/; - var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/; - function dataURLProcessor(dataURL) { - assert(dataURL.protocol === "data:"); - let input = URLSerializer(dataURL, true); - input = input.slice(5); - const position = { position: 0 }; - let mimeType = collectASequenceOfCodePointsFast( - ",", - input, - position - ); - const mimeTypeLength = mimeType.length; - mimeType = removeASCIIWhitespace(mimeType, true, true); - if (position.position >= input.length) { - return "failure"; - } - position.position++; - const encodedBody = input.slice(mimeTypeLength + 1); - let body = stringPercentDecode(encodedBody); - if (/;(\u0020){0,}base64$/i.test(mimeType)) { - const stringBody = isomorphicDecode(body); - body = forgivingBase64(stringBody); - if (body === "failure") { - return "failure"; - } - mimeType = mimeType.slice(0, -6); - mimeType = mimeType.replace(/(\u0020)+$/, ""); - mimeType = mimeType.slice(0, -1); - } - if (mimeType.startsWith(";")) { - mimeType = "text/plain" + mimeType; - } - let mimeTypeRecord = parseMIMEType(mimeType); - if (mimeTypeRecord === "failure") { - mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII"); - } - return { mimeType: mimeTypeRecord, body }; - } - function URLSerializer(url, excludeFragment = false) { - if (!excludeFragment) { - return url.href; - } - const href = url.href; - const hashLength = url.hash.length; - return hashLength === 0 ? href : href.substring(0, href.length - hashLength); - } - function collectASequenceOfCodePoints(condition, input, position) { - let result = ""; - while (position.position < input.length && condition(input[position.position])) { - result += input[position.position]; - position.position++; - } - return result; - } - function collectASequenceOfCodePointsFast(char, input, position) { - const idx = input.indexOf(char, position.position); - const start = position.position; - if (idx === -1) { - position.position = input.length; - return input.slice(start); - } - position.position = idx; - return input.slice(start, position.position); - } - function stringPercentDecode(input) { - const bytes = encoder.encode(input); - return percentDecode(bytes); - } - function percentDecode(input) { - const output = []; - for (let i = 0; i < input.length; i++) { - const byte = input[i]; - if (byte !== 37) { - output.push(byte); - } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) { - output.push(37); - } else { - const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]); - const bytePoint = Number.parseInt(nextTwoBytes, 16); - output.push(bytePoint); - i += 2; - } - } - return Uint8Array.from(output); - } - function parseMIMEType(input) { - input = removeHTTPWhitespace(input, true, true); - const position = { position: 0 }; - const type2 = collectASequenceOfCodePointsFast( - "/", - input, - position - ); - if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) { - return "failure"; - } - if (position.position > input.length) { - return "failure"; - } - position.position++; - let subtype = collectASequenceOfCodePointsFast( - ";", - input, - position - ); - subtype = removeHTTPWhitespace(subtype, false, true); - if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) { - return "failure"; - } - const typeLowercase = type2.toLowerCase(); - const subtypeLowercase = subtype.toLowerCase(); - const mimeType = { - type: typeLowercase, - subtype: subtypeLowercase, - /** @type {Map} */ - parameters: /* @__PURE__ */ new Map(), - // https://mimesniff.spec.whatwg.org/#mime-type-essence - essence: `${typeLowercase}/${subtypeLowercase}` - }; - while (position.position < input.length) { - position.position++; - collectASequenceOfCodePoints( - // https://fetch.spec.whatwg.org/#http-whitespace - (char) => HTTP_WHITESPACE_REGEX.test(char), - input, - position - ); - let parameterName = collectASequenceOfCodePoints( - (char) => char !== ";" && char !== "=", - input, - position - ); - parameterName = parameterName.toLowerCase(); - if (position.position < input.length) { - if (input[position.position] === ";") { - continue; - } - position.position++; - } - if (position.position > input.length) { - break; - } - let parameterValue = null; - if (input[position.position] === '"') { - parameterValue = collectAnHTTPQuotedString(input, position, true); - collectASequenceOfCodePointsFast( - ";", - input, - position - ); - } else { - parameterValue = collectASequenceOfCodePointsFast( - ";", - input, - position - ); - parameterValue = removeHTTPWhitespace(parameterValue, false, true); - if (parameterValue.length === 0) { - continue; - } - } - if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) { - mimeType.parameters.set(parameterName, parameterValue); - } - } - return mimeType; - } - function forgivingBase64(data) { - data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, ""); - if (data.length % 4 === 0) { - data = data.replace(/=?=$/, ""); - } - if (data.length % 4 === 1) { - return "failure"; - } - if (/[^+/0-9A-Za-z]/.test(data)) { - return "failure"; - } - const binary2 = atob2(data); - const bytes = new Uint8Array(binary2.length); - for (let byte = 0; byte < binary2.length; byte++) { - bytes[byte] = binary2.charCodeAt(byte); - } - return bytes; - } - function collectAnHTTPQuotedString(input, position, extractValue) { - const positionStart = position.position; - let value = ""; - assert(input[position.position] === '"'); - position.position++; - while (true) { - value += collectASequenceOfCodePoints( - (char) => char !== '"' && char !== "\\", - input, - position - ); - if (position.position >= input.length) { - break; - } - const quoteOrBackslash = input[position.position]; - position.position++; - if (quoteOrBackslash === "\\") { - if (position.position >= input.length) { - value += "\\"; - break; - } - value += input[position.position]; - position.position++; - } else { - assert(quoteOrBackslash === '"'); - break; - } - } - if (extractValue) { - return value; - } - return input.slice(positionStart, position.position); - } - function serializeAMimeType(mimeType) { - assert(mimeType !== "failure"); - const { parameters, essence } = mimeType; - let serialization = essence; - for (let [name, value] of parameters.entries()) { - serialization += ";"; - serialization += name; - serialization += "="; - if (!HTTP_TOKEN_CODEPOINTS.test(value)) { - value = value.replace(/(\\|")/g, "\\$1"); - value = '"' + value; - value += '"'; - } - serialization += value; - } - return serialization; - } - function isHTTPWhiteSpace(char) { - return char === "\r" || char === "\n" || char === " " || char === " "; - } - function removeHTTPWhitespace(str2, leading = true, trailing = true) { - let lead = 0; - let trail = str2.length - 1; - if (leading) { - for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ; - } - if (trailing) { - for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ; - } - return str2.slice(lead, trail + 1); - } - function isASCIIWhitespace(char) { - return char === "\r" || char === "\n" || char === " " || char === "\f" || char === " "; - } - function removeASCIIWhitespace(str2, leading = true, trailing = true) { - let lead = 0; - let trail = str2.length - 1; - if (leading) { - for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ; - } - if (trailing) { - for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ; - } - return str2.slice(lead, trail + 1); - } - module2.exports = { - dataURLProcessor, - URLSerializer, - collectASequenceOfCodePoints, - collectASequenceOfCodePointsFast, - stringPercentDecode, - parseMIMEType, - collectAnHTTPQuotedString, - serializeAMimeType - }; - } -}); - -// node_modules/undici/lib/fetch/file.js -var require_file2 = __commonJS({ - "node_modules/undici/lib/fetch/file.js"(exports2, module2) { - "use strict"; - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var { types } = require("util"); - var { kState } = require_symbols7(); - var { isBlobLike } = require_util10(); - var { webidl } = require_webidl2(); - var { parseMIMEType, serializeAMimeType } = require_dataURL(); - var { kEnumerableProperty } = require_util9(); - var encoder = new TextEncoder(); - var File2 = class _File extends Blob2 { - constructor(fileBits, fileName, options = {}) { - webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" }); - fileBits = webidl.converters["sequence"](fileBits); - fileName = webidl.converters.USVString(fileName); - options = webidl.converters.FilePropertyBag(options); - const n = fileName; - let t = options.type; - let d; - substep: { - if (t) { - t = parseMIMEType(t); - if (t === "failure") { - t = ""; - break substep; - } - t = serializeAMimeType(t).toLowerCase(); - } - d = options.lastModified; - } - super(processBlobParts(fileBits, options), { type: t }); - this[kState] = { - name: n, - lastModified: d, - type: t - }; - } - get name() { - webidl.brandCheck(this, _File); - return this[kState].name; - } - get lastModified() { - webidl.brandCheck(this, _File); - return this[kState].lastModified; - } - get type() { - webidl.brandCheck(this, _File); - return this[kState].type; - } - }; - var FileLike = class _FileLike { - constructor(blobLike, fileName, options = {}) { - const n = fileName; - const t = options.type; - const d = options.lastModified ?? Date.now(); - this[kState] = { - blobLike, - name: n, - type: t, - lastModified: d - }; - } - stream(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.stream(...args); - } - arrayBuffer(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.arrayBuffer(...args); - } - slice(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.slice(...args); - } - text(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.text(...args); - } - get size() { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.size; - } - get type() { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.type; - } - get name() { - webidl.brandCheck(this, _FileLike); - return this[kState].name; - } - get lastModified() { - webidl.brandCheck(this, _FileLike); - return this[kState].lastModified; - } - get [Symbol.toStringTag]() { - return "File"; - } - }; - Object.defineProperties(File2.prototype, { - [Symbol.toStringTag]: { - value: "File", - configurable: true - }, - name: kEnumerableProperty, - lastModified: kEnumerableProperty - }); - webidl.converters.Blob = webidl.interfaceConverter(Blob2); - webidl.converters.BlobPart = function(V, opts) { - if (webidl.util.Type(V) === "Object") { - if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); - } - if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) { - return webidl.converters.BufferSource(V, opts); - } - } - return webidl.converters.USVString(V, opts); - }; - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.BlobPart - ); - webidl.converters.FilePropertyBag = webidl.dictionaryConverter([ - { - key: "lastModified", - converter: webidl.converters["long long"], - get defaultValue() { - return Date.now(); - } - }, - { - key: "type", - converter: webidl.converters.DOMString, - defaultValue: "" - }, - { - key: "endings", - converter: (value) => { - value = webidl.converters.DOMString(value); - value = value.toLowerCase(); - if (value !== "native") { - value = "transparent"; - } - return value; - }, - defaultValue: "transparent" - } - ]); - function processBlobParts(parts, options) { - const bytes = []; - for (const element of parts) { - if (typeof element === "string") { - let s = element; - if (options.endings === "native") { - s = convertLineEndingsNative(s); - } - bytes.push(encoder.encode(s)); - } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) { - if (!element.buffer) { - bytes.push(new Uint8Array(element)); - } else { - bytes.push( - new Uint8Array(element.buffer, element.byteOffset, element.byteLength) - ); - } - } else if (isBlobLike(element)) { - bytes.push(element); - } - } - return bytes; - } - function convertLineEndingsNative(s) { - let nativeLineEnding = "\n"; - if (process.platform === "win32") { - nativeLineEnding = "\r\n"; - } - return s.replace(/\r?\n/g, nativeLineEnding); - } - function isFileLike(object) { - return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; - } - module2.exports = { File: File2, FileLike, isFileLike }; - } -}); - -// node_modules/undici/lib/fetch/formdata.js -var require_formdata2 = __commonJS({ - "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) { - "use strict"; - var { isBlobLike, toUSVString, makeIterator } = require_util10(); - var { kState } = require_symbols7(); - var { File: UndiciFile, FileLike, isFileLike } = require_file2(); - var { webidl } = require_webidl2(); - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var File2 = NativeFile ?? UndiciFile; - var FormData2 = class _FormData { - constructor(form) { - if (form !== void 0) { - throw webidl.errors.conversionFailed({ - prefix: "FormData constructor", - argument: "Argument 1", - types: ["undefined"] - }); - } - this[kState] = []; - } - append(name, value, filename = void 0) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" }); - if (arguments.length === 3 && !isBlobLike(value)) { - throw new TypeError( - "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'" - ); - } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0; + name = webidl.converters.USVString(name, prefix, "name"); + value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value"); + filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0; const entry = makeEntry(name, value, filename); this[kState].push(entry); } delete(name) { webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" }); - name = webidl.converters.USVString(name); + const prefix = "FormData.delete"; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, "name"); this[kState] = this[kState].filter((entry) => entry.name !== name); } get(name) { webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" }); - name = webidl.converters.USVString(name); + const prefix = "FormData.get"; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, "name"); const idx = this[kState].findIndex((entry) => entry.name === name); if (idx === -1) { return null; @@ -26163,27 +26251,30 @@ var require_formdata2 = __commonJS({ } getAll(name) { webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" }); - name = webidl.converters.USVString(name); + const prefix = "FormData.getAll"; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, "name"); return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value); } has(name) { webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" }); - name = webidl.converters.USVString(name); + const prefix = "FormData.has"; + webidl.argumentLengthCheck(arguments, 1, prefix); + name = webidl.converters.USVString(name, prefix, "name"); return this[kState].findIndex((entry) => entry.name === name) !== -1; } set(name, value, filename = void 0) { webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" }); + const prefix = "FormData.set"; + webidl.argumentLengthCheck(arguments, 2, prefix); if (arguments.length === 3 && !isBlobLike(value)) { throw new TypeError( "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'" ); } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? toUSVString(filename) : void 0; + name = webidl.converters.USVString(name, prefix, "name"); + value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name"); + filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0; const entry = makeEntry(name, value, filename); const idx = this[kState].findIndex((entry2) => entry2.name === name); if (idx !== -1) { @@ -26196,220 +26287,460 @@ var require_formdata2 = __commonJS({ this[kState].push(entry); } } - entries() { - webidl.brandCheck(this, _FormData); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key+value" - ); - } - keys() { - webidl.brandCheck(this, _FormData); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key" - ); - } - values() { - webidl.brandCheck(this, _FormData); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "value" - ); - } - /** - * @param {(value: string, key: string, self: FormData) => void} callbackFn - * @param {unknown} thisArg - */ - forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" }); - if (typeof callbackFn !== "function") { - throw new TypeError( - "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'." - ); - } - for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); - } + [nodeUtil.inspect.custom](depth, options) { + const state = this[kState].reduce((a, b) => { + if (a[b.name]) { + if (Array.isArray(a[b.name])) { + a[b.name].push(b.value); + } else { + a[b.name] = [a[b.name], b.value]; + } + } else { + a[b.name] = b.value; + } + return a; + }, { __proto__: null }); + options.depth ??= depth; + options.colors ??= true; + const output = nodeUtil.formatWithOptions(options, state); + return `FormData ${output.slice(output.indexOf("]") + 2)}`; } }; - FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries; + iteratorMixin("FormData", FormData2, kState, "name", "value"); Object.defineProperties(FormData2.prototype, { + append: kEnumerableProperty, + delete: kEnumerableProperty, + get: kEnumerableProperty, + getAll: kEnumerableProperty, + has: kEnumerableProperty, + set: kEnumerableProperty, [Symbol.toStringTag]: { value: "FormData", configurable: true } }); function makeEntry(name, value, filename) { - name = Buffer.from(name).toString("utf8"); if (typeof value === "string") { - value = Buffer.from(value).toString("utf8"); } else { if (!isFileLike(value)) { - value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type }); + value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type }); } if (filename !== void 0) { const options = { type: value.type, lastModified: value.lastModified }; - value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options); + value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options); } } return { name, value }; } - module2.exports = { FormData: FormData2 }; + module2.exports = { FormData: FormData2, makeEntry }; } }); -// node_modules/undici/lib/fetch/body.js -var require_body2 = __commonJS({ - "node_modules/undici/lib/fetch/body.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js +var require_formdata_parser2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) { "use strict"; - var Busboy = require_main(); - var util = require_util9(); - var { - ReadableStreamFrom, - isBlobLike, - isReadableStreamLike, - readableStreamClose, - createDeferredPromise, - fullyReadBody - } = require_util10(); - var { FormData: FormData2 } = require_formdata2(); - var { kState } = require_symbols7(); - var { webidl } = require_webidl2(); - var { DOMException: DOMException2, structuredClone } = require_constants7(); - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var { kBodyUsed } = require_symbols6(); - var assert = require("assert"); - var { isErrored } = require_util9(); - var { isUint8Array, isArrayBuffer } = require("util/types"); - var { File: UndiciFile } = require_file2(); - var { parseMIMEType, serializeAMimeType } = require_dataURL(); - var random; - try { - const crypto2 = require("node:crypto"); - random = (max) => crypto2.randomInt(0, max); - } catch { - random = (max) => Math.floor(Math.random(max)); + var { isUSVString, bufferToLowerCasedHeaderName } = require_util9(); + var { utf8DecodeBytes } = require_util10(); + var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2(); + var { isFileLike } = require_file2(); + var { makeEntry } = require_formdata2(); + var assert = require("node:assert"); + var { File: NodeFile } = require("node:buffer"); + var File2 = globalThis.File ?? NodeFile; + var formDataNameBuffer = Buffer.from('form-data; name="'); + var filenameBuffer = Buffer.from("; filename"); + var dd = Buffer.from("--"); + var ddcrlf = Buffer.from("--\r\n"); + function isAsciiString(chars) { + for (let i = 0; i < chars.length; ++i) { + if ((chars.charCodeAt(i) & ~127) !== 0) { + return false; + } + } + return true; } - var ReadableStream2 = globalThis.ReadableStream; - var File2 = NativeFile ?? UndiciFile; - var textEncoder = new TextEncoder(); - var textDecoder = new TextDecoder(); - function extractBody(object, keepalive = false) { - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; + function validateBoundary(boundary) { + const length = boundary.length; + if (length < 27 || length > 70) { + return false; } - let stream = null; - if (object instanceof ReadableStream2) { - stream = object; - } else if (isBlobLike(object)) { - stream = object.stream(); - } else { - stream = new ReadableStream2({ - async pull(controller) { - controller.enqueue( - typeof source === "string" ? textEncoder.encode(source) : source - ); - queueMicrotask(() => readableStreamClose(controller)); - }, - start() { - }, - type: void 0 - }); + for (let i = 0; i < length; ++i) { + const cp = boundary.charCodeAt(i); + if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) { + return false; + } } - assert(isReadableStreamLike(stream)); - let action = null; - let source = null; - let length = null; - let type2 = null; - if (typeof object === "string") { - source = object; - type2 = "text/plain;charset=UTF-8"; - } else if (object instanceof URLSearchParams) { - source = object.toString(); - type2 = "application/x-www-form-urlencoded;charset=UTF-8"; - } else if (isArrayBuffer(object)) { - source = new Uint8Array(object.slice()); - } else if (ArrayBuffer.isView(object)) { - source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); - } else if (util.isFormDataLike(object)) { - const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`; - const prefix = `--${boundary}\r -Content-Disposition: form-data`; - const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22"); - const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n"); - const blobParts = []; - const rn = new Uint8Array([13, 10]); - length = 0; - let hasUnknownSizeValue = false; - for (const [name, value] of object) { - if (typeof value === "string") { - const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r -\r -${normalizeLinefeeds(value)}\r -`); - blobParts.push(chunk2); - length += chunk2.byteLength; - } else { - const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r -Content-Type: ${value.type || "application/octet-stream"}\r -\r -`); - blobParts.push(chunk2, value, rn); - if (typeof value.size === "number") { - length += chunk2.byteLength + value.size + rn.byteLength; - } else { - hasUnknownSizeValue = true; - } - } + return true; + } + function multipartFormDataParser(input, mimeType) { + assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data"); + const boundaryString = mimeType.parameters.get("boundary"); + if (boundaryString === void 0) { + return "failure"; + } + const boundary = Buffer.from(`--${boundaryString}`, "utf8"); + const entryList = []; + const position = { position: 0 }; + while (input[position.position] === 13 && input[position.position + 1] === 10) { + position.position += 2; + } + let trailing = input.length; + while (input[trailing - 1] === 10 && input[trailing - 2] === 13) { + trailing -= 2; + } + if (trailing !== input.length) { + input = input.subarray(0, trailing); + } + while (true) { + if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) { + position.position += boundary.length; + } else { + return "failure"; } - const chunk = textEncoder.encode(`--${boundary}--`); - blobParts.push(chunk); - length += chunk.byteLength; - if (hasUnknownSizeValue) { - length = null; + if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) { + return entryList; } - source = object; - action = async function* () { - for (const part of blobParts) { - if (part.stream) { - yield* part.stream(); - } else { - yield part; - } + if (input[position.position] !== 13 || input[position.position + 1] !== 10) { + return "failure"; + } + position.position += 2; + const result = parseMultipartFormDataHeaders(input, position); + if (result === "failure") { + return "failure"; + } + let { name, filename, contentType, encoding } = result; + position.position += 2; + let body; + { + const boundaryIndex = input.indexOf(boundary.subarray(2), position.position); + if (boundaryIndex === -1) { + return "failure"; + } + body = input.subarray(position.position, boundaryIndex - 4); + position.position += body.length; + if (encoding === "base64") { + body = Buffer.from(body.toString(), "base64"); } - }; - type2 = "multipart/form-data; boundary=" + boundary; - } else if (isBlobLike(object)) { - source = object; - length = object.size; - if (object.type) { - type2 = object.type; } - } else if (typeof object[Symbol.asyncIterator] === "function") { - if (keepalive) { - throw new TypeError("keepalive"); + if (input[position.position] !== 13 || input[position.position + 1] !== 10) { + return "failure"; + } else { + position.position += 2; } - if (util.isDisturbed(object) || object.locked) { - throw new TypeError( - "Response body object should not be disturbed or locked" - ); + let value; + if (filename !== null) { + contentType ??= "text/plain"; + if (!isAsciiString(contentType)) { + contentType = ""; + } + value = new File2([body], filename, { type: contentType }); + } else { + value = utf8DecodeBytes(Buffer.from(body)); } - stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object); - } - if (typeof source === "string" || util.isBuffer(source)) { - length = Buffer.byteLength(source); + assert(isUSVString(name)); + assert(typeof value === "string" && isUSVString(value) || isFileLike(value)); + entryList.push(makeEntry(name, value, filename)); } - if (action != null) { - let iterator2; - stream = new ReadableStream2({ + } + function parseMultipartFormDataHeaders(input, position) { + let name = null; + let filename = null; + let contentType = null; + let encoding = null; + while (true) { + if (input[position.position] === 13 && input[position.position + 1] === 10) { + if (name === null) { + return "failure"; + } + return { name, filename, contentType, encoding }; + } + let headerName = collectASequenceOfBytes( + (char) => char !== 10 && char !== 13 && char !== 58, + input, + position + ); + headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32); + if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) { + return "failure"; + } + if (input[position.position] !== 58) { + return "failure"; + } + position.position++; + collectASequenceOfBytes( + (char) => char === 32 || char === 9, + input, + position + ); + switch (bufferToLowerCasedHeaderName(headerName)) { + case "content-disposition": { + name = filename = null; + if (!bufferStartsWith(input, formDataNameBuffer, position)) { + return "failure"; + } + position.position += 17; + name = parseMultipartFormDataName(input, position); + if (name === null) { + return "failure"; + } + if (bufferStartsWith(input, filenameBuffer, position)) { + let check = position.position + filenameBuffer.length; + if (input[check] === 42) { + position.position += 1; + check += 1; + } + if (input[check] !== 61 || input[check + 1] !== 34) { + return "failure"; + } + position.position += 12; + filename = parseMultipartFormDataName(input, position); + if (filename === null) { + return "failure"; + } + } + break; + } + case "content-type": { + let headerValue = collectASequenceOfBytes( + (char) => char !== 10 && char !== 13, + input, + position + ); + headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32); + contentType = isomorphicDecode(headerValue); + break; + } + case "content-transfer-encoding": { + let headerValue = collectASequenceOfBytes( + (char) => char !== 10 && char !== 13, + input, + position + ); + headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32); + encoding = isomorphicDecode(headerValue); + break; + } + default: { + collectASequenceOfBytes( + (char) => char !== 10 && char !== 13, + input, + position + ); + } + } + if (input[position.position] !== 13 && input[position.position + 1] !== 10) { + return "failure"; + } else { + position.position += 2; + } + } + } + function parseMultipartFormDataName(input, position) { + assert(input[position.position - 1] === 34); + let name = collectASequenceOfBytes( + (char) => char !== 10 && char !== 13 && char !== 34, + input, + position + ); + if (input[position.position] !== 34) { + return null; + } else { + position.position++; + } + name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"'); + return name; + } + function collectASequenceOfBytes(condition, input, position) { + let start = position.position; + while (start < input.length && condition(input[start])) { + ++start; + } + return input.subarray(position.position, position.position = start); + } + function removeChars(buf, leading, trailing, predicate) { + let lead = 0; + let trail = buf.length - 1; + if (leading) { + while (lead < buf.length && predicate(buf[lead])) lead++; + } + if (trailing) { + while (trail > 0 && predicate(buf[trail])) trail--; + } + return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1); + } + function bufferStartsWith(buffer, start, position) { + if (buffer.length < start.length) { + return false; + } + for (let i = 0; i < start.length; i++) { + if (start[i] !== buffer[position.position + i]) { + return false; + } + } + return true; + } + module2.exports = { + multipartFormDataParser, + validateBoundary + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js +var require_body2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) { + "use strict"; + var util = require_util9(); + var { + ReadableStreamFrom, + isBlobLike, + isReadableStreamLike, + readableStreamClose, + createDeferredPromise, + fullyReadBody, + extractMimeType, + utf8DecodeBytes + } = require_util10(); + var { FormData: FormData2 } = require_formdata2(); + var { kState } = require_symbols7(); + var { webidl } = require_webidl2(); + var { Blob: Blob2 } = require("node:buffer"); + var assert = require("node:assert"); + var { isErrored, isDisturbed } = require("node:stream"); + var { isArrayBuffer } = require("node:util/types"); + var { serializeAMimeType } = require_data_url2(); + var { multipartFormDataParser } = require_formdata_parser2(); + var random; + try { + const crypto2 = require("node:crypto"); + random = (max) => crypto2.randomInt(0, max); + } catch { + random = (max) => Math.floor(Math.random(max)); + } + var textEncoder = new TextEncoder(); + function noop3() { + } + var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0; + var streamRegistry; + if (hasFinalizationRegistry) { + streamRegistry = new FinalizationRegistry((weakRef) => { + const stream = weakRef.deref(); + if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) { + stream.cancel("Response object has been garbage collected").catch(noop3); + } + }); + } + function extractBody(object, keepalive = false) { + let stream = null; + if (object instanceof ReadableStream) { + stream = object; + } else if (isBlobLike(object)) { + stream = object.stream(); + } else { + stream = new ReadableStream({ + async pull(controller) { + const buffer = typeof source === "string" ? textEncoder.encode(source) : source; + if (buffer.byteLength) { + controller.enqueue(buffer); + } + queueMicrotask(() => readableStreamClose(controller)); + }, + start() { + }, + type: "bytes" + }); + } + assert(isReadableStreamLike(stream)); + let action = null; + let source = null; + let length = null; + let type2 = null; + if (typeof object === "string") { + source = object; + type2 = "text/plain;charset=UTF-8"; + } else if (object instanceof URLSearchParams) { + source = object.toString(); + type2 = "application/x-www-form-urlencoded;charset=UTF-8"; + } else if (isArrayBuffer(object)) { + source = new Uint8Array(object.slice()); + } else if (ArrayBuffer.isView(object)) { + source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); + } else if (util.isFormDataLike(object)) { + const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`; + const prefix = `--${boundary}\r +Content-Disposition: form-data`; + const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22"); + const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n"); + const blobParts = []; + const rn = new Uint8Array([13, 10]); + length = 0; + let hasUnknownSizeValue = false; + for (const [name, value] of object) { + if (typeof value === "string") { + const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r +\r +${normalizeLinefeeds(value)}\r +`); + blobParts.push(chunk2); + length += chunk2.byteLength; + } else { + const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r +Content-Type: ${value.type || "application/octet-stream"}\r +\r +`); + blobParts.push(chunk2, value, rn); + if (typeof value.size === "number") { + length += chunk2.byteLength + value.size + rn.byteLength; + } else { + hasUnknownSizeValue = true; + } + } + } + const chunk = textEncoder.encode(`--${boundary}--\r +`); + blobParts.push(chunk); + length += chunk.byteLength; + if (hasUnknownSizeValue) { + length = null; + } + source = object; + action = async function* () { + for (const part of blobParts) { + if (part.stream) { + yield* part.stream(); + } else { + yield part; + } + } + }; + type2 = `multipart/form-data; boundary=${boundary}`; + } else if (isBlobLike(object)) { + source = object; + length = object.size; + if (object.type) { + type2 = object.type; + } + } else if (typeof object[Symbol.asyncIterator] === "function") { + if (keepalive) { + throw new TypeError("keepalive"); + } + if (util.isDisturbed(object) || object.locked) { + throw new TypeError( + "Response body object should not be disturbed or locked" + ); + } + stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object); + } + if (typeof source === "string" || util.isBuffer(source)) { + length = Buffer.byteLength(source); + } + if (action != null) { + let iterator2; + stream = new ReadableStream({ async start() { iterator2 = action(object)[Symbol.asyncIterator](); }, @@ -26418,10 +26749,14 @@ Content-Type: ${value.type || "application/octet-stream"}\r if (done) { queueMicrotask(() => { controller.close(); + controller.byobRequest?.respond(0); }); } else { if (!isErrored(stream)) { - controller.enqueue(new Uint8Array(value)); + const buffer = new Uint8Array(value); + if (buffer.byteLength) { + controller.enqueue(buffer); + } } } return controller.desiredSize > 0; @@ -26429,61 +26764,39 @@ Content-Type: ${value.type || "application/octet-stream"}\r async cancel(reason) { await iterator2.return(); }, - type: void 0 + type: "bytes" }); } const body = { stream, source, length }; return [body, type2]; } function safelyExtractBody(object, keepalive = false) { - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; - } - if (object instanceof ReadableStream2) { + if (object instanceof ReadableStream) { assert(!util.isDisturbed(object), "The body has already been consumed."); assert(!object.locked, "The stream is locked."); } return extractBody(object, keepalive); } - function cloneBody(body) { + function cloneBody(instance, body) { const [out1, out2] = body.stream.tee(); - const out2Clone = structuredClone(out2, { transfer: [out2] }); - const [, finalClone] = out2Clone.tee(); body.stream = out1; return { - stream: finalClone, + stream: out2, length: body.length, source: body.source }; } - async function* consumeBody(body) { - if (body) { - if (isUint8Array(body)) { - yield body; - } else { - const stream = body.stream; - if (util.isDisturbed(stream)) { - throw new TypeError("The body has already been consumed."); - } - if (stream.locked) { - throw new TypeError("The stream is locked."); - } - stream[kBodyUsed] = true; - yield* stream; - } - } - } function throwIfAborted(state) { if (state.aborted) { - throw new DOMException2("The operation was aborted.", "AbortError"); + throw new DOMException("The operation was aborted.", "AbortError"); } } function bodyMixinMethods(instance) { const methods = { blob() { - return specConsumeBody(this, (bytes) => { + return consumeBody(this, (bytes) => { let mimeType = bodyMimeType(this); - if (mimeType === "failure") { + if (mimeType === null) { mimeType = ""; } else if (mimeType) { mimeType = serializeAMimeType(mimeType); @@ -26492,96 +26805,49 @@ Content-Type: ${value.type || "application/octet-stream"}\r }, instance); }, arrayBuffer() { - return specConsumeBody(this, (bytes) => { + return consumeBody(this, (bytes) => { return new Uint8Array(bytes).buffer; }, instance); }, text() { - return specConsumeBody(this, utf8DecodeBytes, instance); + return consumeBody(this, utf8DecodeBytes, instance); }, json() { - return specConsumeBody(this, parseJSONFromBytes, instance); + return consumeBody(this, parseJSONFromBytes, instance); }, - async formData() { - webidl.brandCheck(this, instance); - throwIfAborted(this[kState]); - const contentType = this.headers.get("Content-Type"); - if (/multipart\/form-data/.test(contentType)) { - const headers = {}; - for (const [key, value] of this.headers) headers[key.toLowerCase()] = value; - const responseFormData = new FormData2(); - let busboy; - try { - busboy = new Busboy({ - headers, - preservePath: true - }); - } catch (err) { - throw new DOMException2(`${err}`, "AbortError"); - } - busboy.on("field", (name, value) => { - responseFormData.append(name, value); - }); - busboy.on("file", (name, value, filename, encoding, mimeType) => { - const chunks = []; - if (encoding === "base64" || encoding.toLowerCase() === "base64") { - let base64chunk = ""; - value.on("data", (chunk) => { - base64chunk += chunk.toString().replace(/[\r\n]/gm, ""); - const end = base64chunk.length - base64chunk.length % 4; - chunks.push(Buffer.from(base64chunk.slice(0, end), "base64")); - base64chunk = base64chunk.slice(end); - }); - value.on("end", () => { - chunks.push(Buffer.from(base64chunk, "base64")); - responseFormData.append(name, new File2(chunks, filename, { type: mimeType })); - }); - } else { - value.on("data", (chunk) => { - chunks.push(chunk); - }); - value.on("end", () => { - responseFormData.append(name, new File2(chunks, filename, { type: mimeType })); - }); - } - }); - const busboyResolve = new Promise((resolve5, reject) => { - busboy.on("finish", resolve5); - busboy.on("error", (err) => reject(new TypeError(err))); - }); - if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk); - busboy.end(); - await busboyResolve; - return responseFormData; - } else if (/application\/x-www-form-urlencoded/.test(contentType)) { - let entries; - try { - let text = ""; - const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true }); - for await (const chunk of consumeBody(this[kState].body)) { - if (!isUint8Array(chunk)) { - throw new TypeError("Expected Uint8Array chunk"); + formData() { + return consumeBody(this, (value) => { + const mimeType = bodyMimeType(this); + if (mimeType !== null) { + switch (mimeType.essence) { + case "multipart/form-data": { + const parsed = multipartFormDataParser(value, mimeType); + if (parsed === "failure") { + throw new TypeError("Failed to parse body as FormData."); + } + const fd = new FormData2(); + fd[kState] = parsed; + return fd; + } + case "application/x-www-form-urlencoded": { + const entries = new URLSearchParams(value.toString()); + const fd = new FormData2(); + for (const [name, value2] of entries) { + fd.append(name, value2); + } + return fd; } - text += streamingDecoder.decode(chunk, { stream: true }); } - text += streamingDecoder.decode(); - entries = new URLSearchParams(text); - } catch (err) { - throw Object.assign(new TypeError(), { cause: err }); - } - const formData = new FormData2(); - for (const [name, value] of entries) { - formData.append(name, value); } - return formData; - } else { - await Promise.resolve(); - throwIfAborted(this[kState]); - throw webidl.errors.exception({ - header: `${instance.name}.formData`, - message: "Could not parse content as FormData." - }); - } + throw new TypeError( + 'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".' + ); + }, instance); + }, + bytes() { + return consumeBody(this, (bytes) => { + return new Uint8Array(bytes); + }, instance); } }; return methods; @@ -26589,12 +26855,12 @@ Content-Type: ${value.type || "application/octet-stream"}\r function mixinBody(prototype) { Object.assign(prototype.prototype, bodyMixinMethods(prototype)); } - async function specConsumeBody(object, convertBytesToJSValue, instance) { + async function consumeBody(object, convertBytesToJSValue, instance) { webidl.brandCheck(object, instance); - throwIfAborted(object[kState]); - if (bodyUnusable(object[kState].body)) { - throw new TypeError("Body is unusable"); + if (bodyUnusable(object)) { + throw new TypeError("Body is unusable: Body has already been read"); } + throwIfAborted(object[kState]); const promise = createDeferredPromise(); const errorSteps = (error3) => promise.reject(error3); const successSteps = (data) => { @@ -26605,1104 +26871,1609 @@ Content-Type: ${value.type || "application/octet-stream"}\r } }; if (object[kState].body == null) { - successSteps(new Uint8Array()); + successSteps(Buffer.allocUnsafe(0)); return promise.promise; } await fullyReadBody(object[kState].body, successSteps, errorSteps); return promise.promise; } - function bodyUnusable(body) { + function bodyUnusable(object) { + const body = object[kState].body; return body != null && (body.stream.locked || util.isDisturbed(body.stream)); } - function utf8DecodeBytes(buffer) { - if (buffer.length === 0) { - return ""; - } - if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) { - buffer = buffer.subarray(3); - } - const output = textDecoder.decode(buffer); - return output; - } function parseJSONFromBytes(bytes) { return JSON.parse(utf8DecodeBytes(bytes)); } - function bodyMimeType(object) { - const { headersList } = object[kState]; - const contentType = headersList.get("content-type"); - if (contentType === null) { - return "failure"; + function bodyMimeType(requestOrResponse) { + const headers = requestOrResponse[kState].headersList; + const mimeType = extractMimeType(headers); + if (mimeType === "failure") { + return null; } - return parseMIMEType(contentType); + return mimeType; } module2.exports = { extractBody, safelyExtractBody, cloneBody, - mixinBody + mixinBody, + streamRegistry, + hasFinalizationRegistry, + bodyUnusable }; } }); -// node_modules/undici/lib/core/request.js -var require_request3 = __commonJS({ - "node_modules/undici/lib/core/request.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js +var require_client_h12 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) { "use strict"; + var assert = require("node:assert"); + var util = require_util9(); + var { channels } = require_diagnostics2(); + var timers = require_timers2(); var { - InvalidArgumentError, - NotSupportedError + RequestContentLengthMismatchError, + ResponseContentLengthMismatchError, + RequestAbortedError, + HeadersTimeoutError, + HeadersOverflowError, + SocketError, + InformationalError, + BodyTimeoutError, + HTTPParserError, + ResponseExceededMaxSizeError } = require_errors2(); - var assert = require("assert"); - var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6(); - var util = require_util9(); - var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/; - var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; - var invalidPathRegex = /[^\u0021-\u00ff]/; - var kHandler = /* @__PURE__ */ Symbol("handler"); - var channels = {}; + var { + kUrl, + kReset, + kClient, + kParser, + kBlocking, + kRunning, + kPending, + kSize, + kWriting, + kQueue, + kNoRef, + kKeepAliveDefaultTimeout, + kHostHeader, + kPendingIdx, + kRunningIdx, + kError, + kPipelining, + kSocket, + kKeepAliveTimeoutValue, + kMaxHeadersSize, + kKeepAliveMaxTimeout, + kKeepAliveTimeoutThreshold, + kHeadersTimeout, + kBodyTimeout, + kStrictContentLength, + kMaxRequests, + kCounter, + kMaxResponseSize, + kOnError, + kResume, + kHTTPContext + } = require_symbols6(); + var constants = require_constants7(); + var EMPTY_BUF = Buffer.alloc(0); + var FastBuffer = Buffer[Symbol.species]; + var addListener = util.addListener; + var removeAllListeners = util.removeAllListeners; var extractBody; - try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.create = diagnosticsChannel.channel("undici:request:create"); - channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent"); - channels.headers = diagnosticsChannel.channel("undici:request:headers"); - channels.trailers = diagnosticsChannel.channel("undici:request:trailers"); - channels.error = diagnosticsChannel.channel("undici:request:error"); - } catch { - channels.create = { hasSubscribers: false }; - channels.bodySent = { hasSubscribers: false }; - channels.headers = { hasSubscribers: false }; - channels.trailers = { hasSubscribers: false }; - channels.error = { hasSubscribers: false }; - } - var Request = class _Request { - constructor(origin, { - path: path7, - method, - body, - headers, - query, - idempotent, - blocking, - upgrade, - headersTimeout, - bodyTimeout, - reset, - throwOnError, - expectContinue - }, handler2) { - if (typeof path7 !== "string") { - throw new InvalidArgumentError("path must be a string"); - } else if (path7[0] !== "/" && !(path7.startsWith("http://") || path7.startsWith("https://")) && method !== "CONNECT") { - throw new InvalidArgumentError("path must be an absolute URL or start with a slash"); - } else if (invalidPathRegex.exec(path7) !== null) { - throw new InvalidArgumentError("invalid request path"); - } - if (typeof method !== "string") { - throw new InvalidArgumentError("method must be a string"); - } else if (tokenRegExp.exec(method) === null) { - throw new InvalidArgumentError("invalid request method"); - } - if (upgrade && typeof upgrade !== "string") { - throw new InvalidArgumentError("upgrade must be a string"); - } - if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) { - throw new InvalidArgumentError("invalid headersTimeout"); - } - if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { - throw new InvalidArgumentError("invalid bodyTimeout"); - } - if (reset != null && typeof reset !== "boolean") { - throw new InvalidArgumentError("invalid reset"); - } - if (expectContinue != null && typeof expectContinue !== "boolean") { - throw new InvalidArgumentError("invalid expectContinue"); + async function lazyllhttp() { + const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0; + let mod; + try { + mod = await WebAssembly.compile(require_llhttp_simd_wasm2()); + } catch (e) { + mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2()); + } + return await WebAssembly.instantiate(mod, { + env: { + /* eslint-disable camelcase */ + wasm_on_url: (p, at, len) => { + return 0; + }, + wasm_on_status: (p, at, len) => { + assert(currentParser.ptr === p); + const start = at - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_message_begin: (p) => { + assert(currentParser.ptr === p); + return currentParser.onMessageBegin() || 0; + }, + wasm_on_header_field: (p, at, len) => { + assert(currentParser.ptr === p); + const start = at - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_header_value: (p, at, len) => { + assert(currentParser.ptr === p); + const start = at - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => { + assert(currentParser.ptr === p); + return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0; + }, + wasm_on_body: (p, at, len) => { + assert(currentParser.ptr === p); + const start = at - currentBufferPtr + currentBufferRef.byteOffset; + return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; + }, + wasm_on_message_complete: (p) => { + assert(currentParser.ptr === p); + return currentParser.onMessageComplete() || 0; + } + /* eslint-enable camelcase */ } - this.headersTimeout = headersTimeout; - this.bodyTimeout = bodyTimeout; - this.throwOnError = throwOnError === true; - this.method = method; - this.abort = null; - if (body == null) { - this.body = null; - } else if (util.isStream(body)) { - this.body = body; - const rState = this.body._readableState; - if (!rState || !rState.autoDestroy) { - this.endHandler = function autoDestroy() { - util.destroy(this); - }; - this.body.on("end", this.endHandler); + }); + } + var llhttpInstance = null; + var llhttpPromise = lazyllhttp(); + llhttpPromise.catch(); + var currentParser = null; + var currentBufferRef = null; + var currentBufferSize = 0; + var currentBufferPtr = null; + var USE_NATIVE_TIMER = 0; + var USE_FAST_TIMER = 1; + var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER; + var TIMEOUT_BODY = 4 | USE_FAST_TIMER; + var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER; + var Parser = class { + constructor(client, socket, { exports: exports3 }) { + assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0); + this.llhttp = exports3; + this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE); + this.client = client; + this.socket = socket; + this.timeout = null; + this.timeoutValue = null; + this.timeoutType = null; + this.statusCode = null; + this.statusText = ""; + this.upgrade = false; + this.headers = []; + this.headersSize = 0; + this.headersMaxSize = client[kMaxHeadersSize]; + this.shouldKeepAlive = false; + this.paused = false; + this.resume = this.resume.bind(this); + this.bytesRead = 0; + this.keepAlive = ""; + this.contentLength = ""; + this.connection = ""; + this.maxResponseSize = client[kMaxResponseSize]; + } + setTimeout(delay, type2) { + if (delay !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) { + if (this.timeout) { + timers.clearTimeout(this.timeout); + this.timeout = null; } - this.errorHandler = (err) => { - if (this.abort) { - this.abort(err); + if (delay) { + if (type2 & USE_FAST_TIMER) { + this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this)); } else { - this.error = err; + this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this)); + this.timeout.unref(); } - }; - this.body.on("error", this.errorHandler); - } else if (util.isBuffer(body)) { - this.body = body.byteLength ? body : null; - } else if (ArrayBuffer.isView(body)) { - this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null; - } else if (body instanceof ArrayBuffer) { - this.body = body.byteLength ? Buffer.from(body) : null; - } else if (typeof body === "string") { - this.body = body.length ? Buffer.from(body) : null; - } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) { - this.body = body; - } else { - throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"); - } - this.completed = false; - this.aborted = false; - this.upgrade = upgrade || null; - this.path = query ? util.buildURL(path7, query) : path7; - this.origin = origin; - this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent; - this.blocking = blocking == null ? false : blocking; - this.reset = reset == null ? null : reset; - this.host = null; - this.contentLength = null; - this.contentType = null; - this.headers = ""; - this.expectContinue = expectContinue != null ? expectContinue : false; - if (Array.isArray(headers)) { - if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); - } - for (let i = 0; i < headers.length; i += 2) { - processHeader(this, headers[i], headers[i + 1]); } - } else if (headers && typeof headers === "object") { - const keys = Object.keys(headers); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - processHeader(this, key, headers[key]); + this.timeoutValue = delay; + } else if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); } - } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); } - if (util.isFormDataLike(this.body)) { - if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) { - throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer."); - } - if (!extractBody) { - extractBody = require_body2().extractBody; - } - const [bodyStream, contentType] = extractBody(body); - if (this.contentType == null) { - this.contentType = contentType; - this.headers += `content-type: ${contentType}\r -`; - } - this.body = bodyStream.stream; - this.contentLength = bodyStream.length; - } else if (util.isBlobLike(body) && this.contentType == null && body.type) { - this.contentType = body.type; - this.headers += `content-type: ${body.type}\r -`; + this.timeoutType = type2; + } + resume() { + if (this.socket.destroyed || !this.paused) { + return; } - util.validateHandler(handler2, method, upgrade); - this.servername = util.getServerName(this.host); - this[kHandler] = handler2; - if (channels.create.hasSubscribers) { - channels.create.publish({ request: this }); + assert(this.ptr != null); + assert(currentParser == null); + this.llhttp.llhttp_resume(this.ptr); + assert(this.timeoutType === TIMEOUT_BODY); + if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } } + this.paused = false; + this.execute(this.socket.read() || EMPTY_BUF); + this.readMore(); } - onBodySent(chunk) { - if (this[kHandler].onBodySent) { - try { - return this[kHandler].onBodySent(chunk); - } catch (err) { - this.abort(err); + readMore() { + while (!this.paused && this.ptr) { + const chunk = this.socket.read(); + if (chunk === null) { + break; } + this.execute(chunk); } } - onRequestSent() { - if (channels.bodySent.hasSubscribers) { - channels.bodySent.publish({ request: this }); + execute(data) { + assert(this.ptr != null); + assert(currentParser == null); + assert(!this.paused); + const { socket, llhttp } = this; + if (data.length > currentBufferSize) { + if (currentBufferPtr) { + llhttp.free(currentBufferPtr); + } + currentBufferSize = Math.ceil(data.length / 4096) * 4096; + currentBufferPtr = llhttp.malloc(currentBufferSize); } - if (this[kHandler].onRequestSent) { + new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data); + try { + let ret; try { - return this[kHandler].onRequestSent(); + currentBufferRef = data; + currentParser = this; + ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length); } catch (err) { - this.abort(err); + throw err; + } finally { + currentParser = null; + currentBufferRef = null; + } + const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr; + if (ret === constants.ERROR.PAUSED_UPGRADE) { + this.onUpgrade(data.slice(offset)); + } else if (ret === constants.ERROR.PAUSED) { + this.paused = true; + socket.unshift(data.slice(offset)); + } else if (ret !== constants.ERROR.OK) { + const ptr = llhttp.llhttp_get_error_reason(this.ptr); + let message = ""; + if (ptr) { + const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); + message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; + } + throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset)); } + } catch (err) { + util.destroy(socket, err); } } - onConnect(abort) { - assert(!this.aborted); - assert(!this.completed); - if (this.error) { - abort(this.error); - } else { - this.abort = abort; - return this[kHandler].onConnect(abort); - } + destroy() { + assert(this.ptr != null); + assert(currentParser == null); + this.llhttp.llhttp_free(this.ptr); + this.ptr = null; + this.timeout && timers.clearTimeout(this.timeout); + this.timeout = null; + this.timeoutValue = null; + this.timeoutType = null; + this.paused = false; } - onHeaders(statusCode, headers, resume, statusText) { - assert(!this.aborted); - assert(!this.completed); - if (channels.headers.hasSubscribers) { - channels.headers.publish({ request: this, response: { statusCode, headers, statusText } }); + onStatus(buf) { + this.statusText = buf.toString(); + } + onMessageBegin() { + const { socket, client } = this; + if (socket.destroyed) { + return -1; } - try { - return this[kHandler].onHeaders(statusCode, headers, resume, statusText); - } catch (err) { - this.abort(err); + const request2 = client[kQueue][client[kRunningIdx]]; + if (!request2) { + return -1; } + request2.onResponseStarted(); } - onData(chunk) { - assert(!this.aborted); - assert(!this.completed); - try { - return this[kHandler].onData(chunk); - } catch (err) { - this.abort(err); - return false; + onHeaderField(buf) { + const len = this.headers.length; + if ((len & 1) === 0) { + this.headers.push(buf); + } else { + this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); } + this.trackHeader(buf.length); } - onUpgrade(statusCode, headers, socket) { - assert(!this.aborted); - assert(!this.completed); - return this[kHandler].onUpgrade(statusCode, headers, socket); + onHeaderValue(buf) { + let len = this.headers.length; + if ((len & 1) === 1) { + this.headers.push(buf); + len += 1; + } else { + this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); + } + const key = this.headers[len - 2]; + if (key.length === 10) { + const headerName = util.bufferToLowerCasedHeaderName(key); + if (headerName === "keep-alive") { + this.keepAlive += buf.toString(); + } else if (headerName === "connection") { + this.connection += buf.toString(); + } + } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") { + this.contentLength += buf.toString(); + } + this.trackHeader(buf.length); } - onComplete(trailers) { - this.onFinally(); - assert(!this.aborted); - this.completed = true; - if (channels.trailers.hasSubscribers) { - channels.trailers.publish({ request: this, trailers }); + trackHeader(len) { + this.headersSize += len; + if (this.headersSize >= this.headersMaxSize) { + util.destroy(this.socket, new HeadersOverflowError()); } + } + onUpgrade(head) { + const { upgrade, client, socket, headers, statusCode } = this; + assert(upgrade); + assert(client[kSocket] === socket); + assert(!socket.destroyed); + assert(!this.paused); + assert((headers.length & 1) === 0); + const request2 = client[kQueue][client[kRunningIdx]]; + assert(request2); + assert(request2.upgrade || request2.method === "CONNECT"); + this.statusCode = null; + this.statusText = ""; + this.shouldKeepAlive = null; + this.headers = []; + this.headersSize = 0; + socket.unshift(head); + socket[kParser].destroy(); + socket[kParser] = null; + socket[kClient] = null; + socket[kError] = null; + removeAllListeners(socket); + client[kSocket] = null; + client[kHTTPContext] = null; + client[kQueue][client[kRunningIdx]++] = null; + client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade")); try { - return this[kHandler].onComplete(trailers); + request2.onUpgrade(statusCode, headers, socket); } catch (err) { - this.onError(err); + util.destroy(socket, err); } + client[kResume](); } - onError(error3) { - this.onFinally(); - if (channels.error.hasSubscribers) { - channels.error.publish({ request: this, error: error3 }); + onHeadersComplete(statusCode, upgrade, shouldKeepAlive) { + const { client, socket, headers, statusText } = this; + if (socket.destroyed) { + return -1; } - if (this.aborted) { - return; + const request2 = client[kQueue][client[kRunningIdx]]; + if (!request2) { + return -1; } - this.aborted = true; - return this[kHandler].onError(error3); - } - onFinally() { - if (this.errorHandler) { - this.body.off("error", this.errorHandler); - this.errorHandler = null; + assert(!this.upgrade); + assert(this.statusCode < 200); + if (statusCode === 100) { + util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket))); + return -1; } - if (this.endHandler) { - this.body.off("end", this.endHandler); - this.endHandler = null; + if (upgrade && !request2.upgrade) { + util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket))); + return -1; } - } - // TODO: adjust to support H2 - addHeader(key, value) { - processHeader(this, key, value); - return this; - } - static [kHTTP1BuildRequest](origin, opts, handler2) { - return new _Request(origin, opts, handler2); - } - static [kHTTP2BuildRequest](origin, opts, handler2) { - const headers = opts.headers; - opts = { ...opts, headers: null }; - const request2 = new _Request(origin, opts, handler2); - request2.headers = {}; - if (Array.isArray(headers)) { - if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); + assert(this.timeoutType === TIMEOUT_HEADERS); + this.statusCode = statusCode; + this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD. + request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive"; + if (this.statusCode >= 200) { + const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout]; + this.setTimeout(bodyTimeout, TIMEOUT_BODY); + } else if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); } - for (let i = 0; i < headers.length; i += 2) { - processHeader(request2, headers[i], headers[i + 1], true); + } + if (request2.method === "CONNECT") { + assert(client[kRunning] === 1); + this.upgrade = true; + return 2; + } + if (upgrade) { + assert(client[kRunning] === 1); + this.upgrade = true; + return 2; + } + assert((this.headers.length & 1) === 0); + this.headers = []; + this.headersSize = 0; + if (this.shouldKeepAlive && client[kPipelining]) { + const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null; + if (keepAliveTimeout != null) { + const timeout = Math.min( + keepAliveTimeout - client[kKeepAliveTimeoutThreshold], + client[kKeepAliveMaxTimeout] + ); + if (timeout <= 0) { + socket[kReset] = true; + } else { + client[kKeepAliveTimeoutValue] = timeout; + } + } else { + client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]; } - } else if (headers && typeof headers === "object") { - const keys = Object.keys(headers); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - processHeader(request2, key, headers[key], true); + } else { + socket[kReset] = true; + } + const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false; + if (request2.aborted) { + return -1; + } + if (request2.method === "HEAD") { + return 1; + } + if (statusCode < 200) { + return 1; + } + if (socket[kBlocking]) { + socket[kBlocking] = false; + client[kResume](); + } + return pause ? constants.ERROR.PAUSED : 0; + } + onBody(buf) { + const { client, socket, statusCode, maxResponseSize } = this; + if (socket.destroyed) { + return -1; + } + const request2 = client[kQueue][client[kRunningIdx]]; + assert(request2); + assert(this.timeoutType === TIMEOUT_BODY); + if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); } - } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); } - return request2; + assert(statusCode >= 200); + if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) { + util.destroy(socket, new ResponseExceededMaxSizeError()); + return -1; + } + this.bytesRead += buf.length; + if (request2.onData(buf) === false) { + return constants.ERROR.PAUSED; + } } - static [kHTTP2CopyHeaders](raw) { - const rawHeaders = raw.split("\r\n"); - const headers = {}; - for (const header of rawHeaders) { - const [key, value] = header.split(": "); - if (value == null || value.length === 0) continue; - if (headers[key]) headers[key] += `,${value}`; - else headers[key] = value; + onMessageComplete() { + const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this; + if (socket.destroyed && (!statusCode || shouldKeepAlive)) { + return -1; + } + if (upgrade) { + return; + } + assert(statusCode >= 100); + assert((this.headers.length & 1) === 0); + const request2 = client[kQueue][client[kRunningIdx]]; + assert(request2); + this.statusCode = null; + this.statusText = ""; + this.bytesRead = 0; + this.contentLength = ""; + this.keepAlive = ""; + this.connection = ""; + this.headers = []; + this.headersSize = 0; + if (statusCode < 200) { + return; + } + if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { + util.destroy(socket, new ResponseContentLengthMismatchError()); + return -1; + } + request2.onComplete(headers); + client[kQueue][client[kRunningIdx]++] = null; + if (socket[kWriting]) { + assert(client[kRunning] === 0); + util.destroy(socket, new InformationalError("reset")); + return constants.ERROR.PAUSED; + } else if (!shouldKeepAlive) { + util.destroy(socket, new InformationalError("reset")); + return constants.ERROR.PAUSED; + } else if (socket[kReset] && client[kRunning] === 0) { + util.destroy(socket, new InformationalError("reset")); + return constants.ERROR.PAUSED; + } else if (client[kPipelining] == null || client[kPipelining] === 1) { + setImmediate(() => client[kResume]()); + } else { + client[kResume](); } - return headers; } }; - function processHeaderValue(key, val, skipAppend) { - if (val && typeof val === "object") { - throw new InvalidArgumentError(`invalid ${key} header`); - } - val = val != null ? `${val}` : ""; - if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); + function onParserTimeout(parser) { + const { socket, timeoutType, client, paused } = parser.deref(); + if (timeoutType === TIMEOUT_HEADERS) { + if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { + assert(!paused, "cannot be paused while waiting for headers"); + util.destroy(socket, new HeadersTimeoutError()); + } + } else if (timeoutType === TIMEOUT_BODY) { + if (!paused) { + util.destroy(socket, new BodyTimeoutError()); + } + } else if (timeoutType === TIMEOUT_KEEP_ALIVE) { + assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); + util.destroy(socket, new InformationalError("socket idle timeout")); } - return skipAppend ? val : `${key}: ${val}\r -`; } - function processHeader(request2, key, val, skipAppend = false) { - if (val && (typeof val === "object" && !Array.isArray(val))) { - throw new InvalidArgumentError(`invalid ${key} header`); - } else if (val === void 0) { - return; + async function connectH1(client, socket) { + client[kSocket] = socket; + if (!llhttpInstance) { + llhttpInstance = await llhttpPromise; + llhttpPromise = null; } - if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") { - if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); + socket[kNoRef] = false; + socket[kWriting] = false; + socket[kReset] = false; + socket[kBlocking] = false; + socket[kParser] = new Parser(client, socket, llhttpInstance); + addListener(socket, "error", function(err) { + assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + const parser = this[kParser]; + if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { + parser.onMessageComplete(); + return; } - request2.host = val; - } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") { - request2.contentLength = parseInt(val, 10); - if (!Number.isFinite(request2.contentLength)) { - throw new InvalidArgumentError("invalid content-length header"); + this[kError] = err; + this[kClient][kOnError](err); + }); + addListener(socket, "readable", function() { + const parser = this[kParser]; + if (parser) { + parser.readMore(); } - } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") { - request2.contentType = val; - if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend); - else request2.headers += processHeaderValue(key, val); - } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") { - throw new InvalidArgumentError("invalid transfer-encoding header"); - } else if (key.length === 10 && key.toLowerCase() === "connection") { - const value = typeof val === "string" ? val.toLowerCase() : null; - if (value !== "close" && value !== "keep-alive") { - throw new InvalidArgumentError("invalid connection header"); - } else if (value === "close") { - request2.reset = true; + }); + addListener(socket, "end", function() { + const parser = this[kParser]; + if (parser.statusCode && !parser.shouldKeepAlive) { + parser.onMessageComplete(); + return; } - } else if (key.length === 10 && key.toLowerCase() === "keep-alive") { - throw new InvalidArgumentError("invalid keep-alive header"); - } else if (key.length === 7 && key.toLowerCase() === "upgrade") { - throw new InvalidArgumentError("invalid upgrade header"); - } else if (key.length === 6 && key.toLowerCase() === "expect") { - throw new NotSupportedError("expect header not supported"); - } else if (tokenRegExp.exec(key) === null) { - throw new InvalidArgumentError("invalid header key"); - } else { - if (Array.isArray(val)) { - for (let i = 0; i < val.length; i++) { - if (skipAppend) { - if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`; - else request2.headers[key] = processHeaderValue(key, val[i], skipAppend); - } else { - request2.headers += processHeaderValue(key, val[i]); + util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this))); + }); + addListener(socket, "close", function() { + const client2 = this[kClient]; + const parser = this[kParser]; + if (parser) { + if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { + parser.onMessageComplete(); + } + this[kParser].destroy(); + this[kParser] = null; + } + const err = this[kError] || new SocketError("closed", util.getSocketInfo(this)); + client2[kSocket] = null; + client2[kHTTPContext] = null; + if (client2.destroyed) { + assert(client2[kPending] === 0); + const requests = client2[kQueue].splice(client2[kRunningIdx]); + for (let i = 0; i < requests.length; i++) { + const request2 = requests[i]; + util.errorRequest(client2, request2, err); + } + } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") { + const request2 = client2[kQueue][client2[kRunningIdx]]; + client2[kQueue][client2[kRunningIdx]++] = null; + util.errorRequest(client2, request2, err); + } + client2[kPendingIdx] = client2[kRunningIdx]; + assert(client2[kRunning] === 0); + client2.emit("disconnect", client2[kUrl], [client2], err); + client2[kResume](); + }); + let closed = false; + socket.on("close", () => { + closed = true; + }); + return { + version: "h1", + defaultPipelining: 1, + write(...args) { + return writeH1(client, ...args); + }, + resume() { + resumeH1(client); + }, + destroy(err, callback) { + if (closed) { + queueMicrotask(callback); + } else { + socket.destroy(err).on("close", callback); + } + }, + get destroyed() { + return socket.destroyed; + }, + busy(request2) { + if (socket[kWriting] || socket[kReset] || socket[kBlocking]) { + return true; + } + if (request2) { + if (client[kRunning] > 0 && !request2.idempotent) { + return true; + } + if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) { + return true; + } + if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) { + return true; } } - } else { - if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend); - else request2.headers += processHeaderValue(key, val); + return false; + } + }; + } + function resumeH1(client) { + const socket = client[kSocket]; + if (socket && !socket.destroyed) { + if (client[kSize] === 0) { + if (!socket[kNoRef] && socket.unref) { + socket.unref(); + socket[kNoRef] = true; + } + } else if (socket[kNoRef] && socket.ref) { + socket.ref(); + socket[kNoRef] = false; + } + if (client[kSize] === 0) { + if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) { + socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE); + } + } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) { + if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) { + const request2 = client[kQueue][client[kRunningIdx]]; + const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout]; + socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS); + } } } } - module2.exports = Request; - } -}); - -// node_modules/undici/lib/dispatcher.js -var require_dispatcher2 = __commonJS({ - "node_modules/undici/lib/dispatcher.js"(exports2, module2) { - "use strict"; - var EventEmitter = require("events"); - var Dispatcher = class extends EventEmitter { - dispatch() { - throw new Error("not implemented"); + function shouldSendContentLength(method) { + return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; + } + function writeH1(client, request2) { + const { method, path: path7, host, upgrade, blocking, reset } = request2; + let { body, headers, contentLength } = request2; + const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH"; + if (util.isFormDataLike(body)) { + if (!extractBody) { + extractBody = require_body2().extractBody; + } + const [bodyStream, contentType] = extractBody(body); + if (request2.contentType == null) { + headers.push("content-type", contentType); + } + body = bodyStream.stream; + contentLength = bodyStream.length; + } else if (util.isBlobLike(body) && request2.contentType == null && body.type) { + headers.push("content-type", body.type); } - close() { - throw new Error("not implemented"); + if (body && typeof body.read === "function") { + body.read(0); } - destroy() { - throw new Error("not implemented"); + const bodyLength = util.bodyLength(body); + contentLength = bodyLength ?? contentLength; + if (contentLength === null) { + contentLength = request2.contentLength; } - }; - module2.exports = Dispatcher; - } -}); - -// node_modules/undici/lib/dispatcher-base.js -var require_dispatcher_base2 = __commonJS({ - "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) { - "use strict"; - var Dispatcher = require_dispatcher2(); - var { - ClientDestroyedError, - ClientClosedError, - InvalidArgumentError - } = require_errors2(); - var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6(); - var kDestroyed = /* @__PURE__ */ Symbol("destroyed"); - var kClosed = /* @__PURE__ */ Symbol("closed"); - var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed"); - var kOnClosed = /* @__PURE__ */ Symbol("onClosed"); - var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch"); - var DispatcherBase = class extends Dispatcher { - constructor() { - super(); - this[kDestroyed] = false; - this[kOnDestroyed] = null; - this[kClosed] = false; - this[kOnClosed] = []; + if (contentLength === 0 && !expectsPayload) { + contentLength = null; } - get destroyed() { - return this[kDestroyed]; + if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) { + if (client[kStrictContentLength]) { + util.errorRequest(client, request2, new RequestContentLengthMismatchError()); + return false; + } + process.emitWarning(new RequestContentLengthMismatchError()); } - get closed() { - return this[kClosed]; + const socket = client[kSocket]; + const abort = (err) => { + if (request2.aborted || request2.completed) { + return; + } + util.errorRequest(client, request2, err || new RequestAbortedError()); + util.destroy(body); + util.destroy(socket, new InformationalError("aborted")); + }; + try { + request2.onConnect(abort); + } catch (err) { + util.errorRequest(client, request2, err); } - get interceptors() { - return this[kInterceptors]; + if (request2.aborted) { + return false; } - set interceptors(newInterceptors) { - if (newInterceptors) { - for (let i = newInterceptors.length - 1; i >= 0; i--) { - const interceptor = this[kInterceptors][i]; - if (typeof interceptor !== "function") { - throw new InvalidArgumentError("interceptor must be an function"); + if (method === "HEAD") { + socket[kReset] = true; + } + if (upgrade || method === "CONNECT") { + socket[kReset] = true; + } + if (reset != null) { + socket[kReset] = reset; + } + if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) { + socket[kReset] = true; + } + if (blocking) { + socket[kBlocking] = true; + } + let header = `${method} ${path7} HTTP/1.1\r +`; + if (typeof host === "string") { + header += `host: ${host}\r +`; + } else { + header += client[kHostHeader]; + } + if (upgrade) { + header += `connection: upgrade\r +upgrade: ${upgrade}\r +`; + } else if (client[kPipelining] && !socket[kReset]) { + header += "connection: keep-alive\r\n"; + } else { + header += "connection: close\r\n"; + } + if (Array.isArray(headers)) { + for (let n = 0; n < headers.length; n += 2) { + const key = headers[n + 0]; + const val = headers[n + 1]; + if (Array.isArray(val)) { + for (let i = 0; i < val.length; i++) { + header += `${key}: ${val[i]}\r +`; } + } else { + header += `${key}: ${val}\r +`; } } - this[kInterceptors] = newInterceptors; } - close(callback) { - if (callback === void 0) { - return new Promise((resolve5, reject) => { - this.close((err, data) => { - return err ? reject(err) : resolve5(data); - }); - }); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + if (channels.sendHeaders.hasSubscribers) { + channels.sendHeaders.publish({ request: request2, headers: header, socket }); + } + if (!body || bodyLength === 0) { + writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload); + } else if (util.isBuffer(body)) { + writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload); + } else if (util.isBlobLike(body)) { + if (typeof body.stream === "function") { + writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload); + } else { + writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload); } - if (this[kDestroyed]) { - queueMicrotask(() => callback(new ClientDestroyedError(), null)); + } else if (util.isStream(body)) { + writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload); + } else if (util.isIterable(body)) { + writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload); + } else { + assert(false); + } + return true; + } + function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) { + assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); + let finished = false; + const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header }); + const onData = function(chunk) { + if (finished) { return; } - if (this[kClosed]) { - if (this[kOnClosed]) { - this[kOnClosed].push(callback); - } else { - queueMicrotask(() => callback(null, null)); + try { + if (!writer.write(chunk) && this.pause) { + this.pause(); } - return; + } catch (err) { + util.destroy(this, err); } - this[kClosed] = true; - this[kOnClosed].push(callback); - const onClosed = () => { - const callbacks = this[kOnClosed]; - this[kOnClosed] = null; - for (let i = 0; i < callbacks.length; i++) { - callbacks[i](null, null); - } - }; - this[kClose]().then(() => this.destroy()).then(() => { - queueMicrotask(onClosed); - }); - } - destroy(err, callback) { - if (typeof err === "function") { - callback = err; - err = null; + }; + const onDrain = function() { + if (finished) { + return; } - if (callback === void 0) { - return new Promise((resolve5, reject) => { - this.destroy(err, (err2, data) => { - return err2 ? ( - /* istanbul ignore next: should never error */ - reject(err2) - ) : resolve5(data); - }); - }); + if (body.resume) { + body.resume(); } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); + }; + const onClose = function() { + queueMicrotask(() => { + body.removeListener("error", onFinished); + }); + if (!finished) { + const err = new RequestAbortedError(); + queueMicrotask(() => onFinished(err)); } - if (this[kDestroyed]) { - if (this[kOnDestroyed]) { - this[kOnDestroyed].push(callback); - } else { - queueMicrotask(() => callback(null, null)); - } + }; + const onFinished = function(err) { + if (finished) { return; } + finished = true; + assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1); + socket.off("drain", onDrain).off("error", onFinished); + body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose); if (!err) { - err = new ClientDestroyedError(); + try { + writer.end(); + } catch (er) { + err = er; + } } - this[kDestroyed] = true; - this[kOnDestroyed] = this[kOnDestroyed] || []; - this[kOnDestroyed].push(callback); - const onDestroyed = () => { - const callbacks = this[kOnDestroyed]; - this[kOnDestroyed] = null; - for (let i = 0; i < callbacks.length; i++) { - callbacks[i](null, null); + writer.destroy(err); + if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { + util.destroy(body, err); + } else { + util.destroy(body); + } + }; + body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose); + if (body.resume) { + body.resume(); + } + socket.on("drain", onDrain).on("error", onFinished); + if (body.errorEmitted ?? body.errored) { + setImmediate(() => onFinished(body.errored)); + } else if (body.endEmitted ?? body.readableEnded) { + setImmediate(() => onFinished(null)); + } + if (body.closeEmitted ?? body.closed) { + setImmediate(onClose); + } + } + function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) { + try { + if (!body) { + if (contentLength === 0) { + socket.write(`${header}content-length: 0\r +\r +`, "latin1"); + } else { + assert(contentLength === null, "no body must not have content length"); + socket.write(`${header}\r +`, "latin1"); } - }; - this[kDestroy](err).then(() => { - queueMicrotask(onDestroyed); - }); + } else if (util.isBuffer(body)) { + assert(contentLength === body.byteLength, "buffer body must have content length"); + socket.cork(); + socket.write(`${header}content-length: ${contentLength}\r +\r +`, "latin1"); + socket.write(body); + socket.uncork(); + request2.onBodySent(body); + if (!expectsPayload && request2.reset !== false) { + socket[kReset] = true; + } + } + request2.onRequestSent(); + client[kResume](); + } catch (err) { + abort(err); } - [kInterceptedDispatch](opts, handler2) { - if (!this[kInterceptors] || this[kInterceptors].length === 0) { - this[kInterceptedDispatch] = this[kDispatch]; - return this[kDispatch](opts, handler2); + } + async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) { + assert(contentLength === body.size, "blob body must have content length"); + try { + if (contentLength != null && contentLength !== body.size) { + throw new RequestContentLengthMismatchError(); } - let dispatch = this[kDispatch].bind(this); - for (let i = this[kInterceptors].length - 1; i >= 0; i--) { - dispatch = this[kInterceptors][i](dispatch); + const buffer = Buffer.from(await body.arrayBuffer()); + socket.cork(); + socket.write(`${header}content-length: ${contentLength}\r +\r +`, "latin1"); + socket.write(buffer); + socket.uncork(); + request2.onBodySent(buffer); + request2.onRequestSent(); + if (!expectsPayload && request2.reset !== false) { + socket[kReset] = true; } - this[kInterceptedDispatch] = dispatch; - return dispatch(opts, handler2); + client[kResume](); + } catch (err) { + abort(err); } - dispatch(opts, handler2) { - if (!handler2 || typeof handler2 !== "object") { - throw new InvalidArgumentError("handler must be an object"); + } + async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) { + assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); + let callback = null; + function onDrain() { + if (callback) { + const cb = callback; + callback = null; + cb(); } - try { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("opts must be an object."); - } - if (this[kDestroyed] || this[kOnDestroyed]) { - throw new ClientDestroyedError(); - } - if (this[kClosed]) { - throw new ClientClosedError(); + } + const waitForDrain = () => new Promise((resolve5, reject) => { + assert(callback === null); + if (socket[kError]) { + reject(socket[kError]); + } else { + callback = resolve5; + } + }); + socket.on("close", onDrain).on("drain", onDrain); + const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header }); + try { + for await (const chunk of body) { + if (socket[kError]) { + throw socket[kError]; } - return this[kInterceptedDispatch](opts, handler2); - } catch (err) { - if (typeof handler2.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); + if (!writer.write(chunk)) { + await waitForDrain(); } - handler2.onError(err); - return false; } + writer.end(); + } catch (err) { + writer.destroy(err); + } finally { + socket.off("close", onDrain).off("drain", onDrain); } - }; - module2.exports = DispatcherBase; - } -}); - -// node_modules/undici/lib/core/connect.js -var require_connect2 = __commonJS({ - "node_modules/undici/lib/core/connect.js"(exports2, module2) { - "use strict"; - var net = require("net"); - var assert = require("assert"); - var util = require_util9(); - var { InvalidArgumentError, ConnectTimeoutError } = require_errors2(); - var tls; - var SessionCache; - if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) { - SessionCache = class WeakSessionCache { - constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); - this._sessionRegistry = new global.FinalizationRegistry((key) => { - if (this._sessionCache.size < this._maxCachedSessions) { - return; - } - const ref = this._sessionCache.get(key); - if (ref !== void 0 && ref.deref() === void 0) { - this._sessionCache.delete(key); - } - }); + } + var AsyncWriter = class { + constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) { + this.socket = socket; + this.request = request2; + this.contentLength = contentLength; + this.client = client; + this.bytesWritten = 0; + this.expectsPayload = expectsPayload; + this.header = header; + this.abort = abort; + socket[kWriting] = true; + } + write(chunk) { + const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this; + if (socket[kError]) { + throw socket[kError]; } - get(sessionKey) { - const ref = this._sessionCache.get(sessionKey); - return ref ? ref.deref() : null; + if (socket.destroyed) { + return false; } - set(sessionKey, session) { - if (this._maxCachedSessions === 0) { - return; + const len = Buffer.byteLength(chunk); + if (!len) { + return true; + } + if (contentLength !== null && bytesWritten + len > contentLength) { + if (client[kStrictContentLength]) { + throw new RequestContentLengthMismatchError(); } - this._sessionCache.set(sessionKey, new WeakRef(session)); - this._sessionRegistry.register(session, sessionKey); + process.emitWarning(new RequestContentLengthMismatchError()); } - }; - } else { - SessionCache = class SimpleSessionCache { - constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); + socket.cork(); + if (bytesWritten === 0) { + if (!expectsPayload && request2.reset !== false) { + socket[kReset] = true; + } + if (contentLength === null) { + socket.write(`${header}transfer-encoding: chunked\r +`, "latin1"); + } else { + socket.write(`${header}content-length: ${contentLength}\r +\r +`, "latin1"); + } } - get(sessionKey) { - return this._sessionCache.get(sessionKey); + if (contentLength === null) { + socket.write(`\r +${len.toString(16)}\r +`, "latin1"); } - set(sessionKey, session) { - if (this._maxCachedSessions === 0) { - return; - } - if (this._sessionCache.size >= this._maxCachedSessions) { - const { value: oldestKey } = this._sessionCache.keys().next(); - this._sessionCache.delete(oldestKey); + this.bytesWritten += len; + const ret = socket.write(chunk); + socket.uncork(); + request2.onBodySent(chunk); + if (!ret) { + if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + if (socket[kParser].timeout.refresh) { + socket[kParser].timeout.refresh(); + } } - this._sessionCache.set(sessionKey, session); } - }; - } - function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) { - if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) { - throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero"); + return ret; } - const options = { path: socketPath, ...opts }; - const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions); - timeout = timeout == null ? 1e4 : timeout; - allowH2 = allowH2 != null ? allowH2 : false; - return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) { - let socket; - if (protocol === "https:") { - if (!tls) { - tls = require("tls"); - } - servername = servername || options.servername || util.getServerName(host) || null; - const sessionKey = servername || hostname; - const session = sessionCache.get(sessionKey) || null; - assert(sessionKey); - socket = tls.connect({ - highWaterMark: 16384, - // TLS in node can't have bigger HWM anyway... - ...options, - servername, - session, - localAddress, - // TODO(HTTP/2): Add support for h2c - ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"], - socket: httpSocket, - // upgrade socket connection - port: port || 443, - host: hostname - }); - socket.on("session", function(session2) { - sessionCache.set(sessionKey, session2); - }); - } else { - assert(!httpSocket, "httpSocket can only be sent on TLS update"); - socket = net.connect({ - highWaterMark: 64 * 1024, - // Same as nodejs fs streams. - ...options, - localAddress, - port: port || 80, - host: hostname - }); + end() { + const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this; + request2.onRequestSent(); + socket[kWriting] = false; + if (socket[kError]) { + throw socket[kError]; } - if (options.keepAlive == null || options.keepAlive) { - const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay; - socket.setKeepAlive(true, keepAliveInitialDelay); + if (socket.destroyed) { + return; } - const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout); - socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() { - cancelTimeout(); - if (callback) { - const cb = callback; - callback = null; - cb(null, this); - } - }).on("error", function(err) { - cancelTimeout(); - if (callback) { - const cb = callback; - callback = null; - cb(err); + if (bytesWritten === 0) { + if (expectsPayload) { + socket.write(`${header}content-length: 0\r +\r +`, "latin1"); + } else { + socket.write(`${header}\r +`, "latin1"); } - }); - return socket; - }; - } - function setupTimeout(onConnectTimeout2, timeout) { - if (!timeout) { - return () => { - }; - } - let s1 = null; - let s2 = null; - const timeoutId = setTimeout(() => { - s1 = setImmediate(() => { - if (process.platform === "win32") { - s2 = setImmediate(() => onConnectTimeout2()); + } else if (contentLength === null) { + socket.write("\r\n0\r\n\r\n", "latin1"); + } + if (contentLength !== null && bytesWritten !== contentLength) { + if (client[kStrictContentLength]) { + throw new RequestContentLengthMismatchError(); } else { - onConnectTimeout2(); + process.emitWarning(new RequestContentLengthMismatchError()); } - }); - }, timeout); - return () => { - clearTimeout(timeoutId); - clearImmediate(s1); - clearImmediate(s2); - }; - } - function onConnectTimeout(socket) { - util.destroy(socket, new ConnectTimeoutError()); - } - module2.exports = buildConnector; - } -}); - -// node_modules/undici/lib/llhttp/utils.js -var require_utils3 = __commonJS({ - "node_modules/undici/lib/llhttp/utils.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.enumToMap = void 0; - function enumToMap(obj) { - const res = {}; - Object.keys(obj).forEach((key) => { - const value = obj[key]; - if (typeof value === "number") { - res[key] = value; } - }); - return res; - } - exports2.enumToMap = enumToMap; + if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { + if (socket[kParser].timeout.refresh) { + socket[kParser].timeout.refresh(); + } + } + client[kResume](); + } + destroy(err) { + const { socket, client, abort } = this; + socket[kWriting] = false; + if (err) { + assert(client[kRunning] <= 1, "pipeline should only contain this request"); + abort(err); + } + } + }; + module2.exports = connectH1; } }); -// node_modules/undici/lib/llhttp/constants.js -var require_constants8 = __commonJS({ - "node_modules/undici/lib/llhttp/constants.js"(exports2) { +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js +var require_client_h22 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0; - var utils_1 = require_utils3(); - var ERROR; - (function(ERROR2) { - ERROR2[ERROR2["OK"] = 0] = "OK"; - ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL"; - ERROR2[ERROR2["STRICT"] = 2] = "STRICT"; - ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED"; - ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH"; - ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION"; - ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD"; - ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL"; - ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT"; - ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION"; - ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN"; - ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH"; - ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE"; - ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS"; - ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE"; - ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING"; - ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN"; - ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE"; - ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE"; - ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER"; - ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE"; - ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED"; - ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE"; - ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE"; - ERROR2[ERROR2["USER"] = 24] = "USER"; - })(ERROR = exports2.ERROR || (exports2.ERROR = {})); - var TYPE; - (function(TYPE2) { - TYPE2[TYPE2["BOTH"] = 0] = "BOTH"; - TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST"; - TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE"; - })(TYPE = exports2.TYPE || (exports2.TYPE = {})); - var FLAGS; - (function(FLAGS2) { - FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE"; - FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE"; - FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE"; - FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED"; - FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE"; - FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH"; - FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY"; - FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING"; - FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING"; - })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {})); - var LENIENT_FLAGS; - (function(LENIENT_FLAGS2) { - LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS"; - LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH"; - LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE"; - })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {})); - var METHODS; - (function(METHODS2) { - METHODS2[METHODS2["DELETE"] = 0] = "DELETE"; - METHODS2[METHODS2["GET"] = 1] = "GET"; - METHODS2[METHODS2["HEAD"] = 2] = "HEAD"; - METHODS2[METHODS2["POST"] = 3] = "POST"; - METHODS2[METHODS2["PUT"] = 4] = "PUT"; - METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT"; - METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS"; - METHODS2[METHODS2["TRACE"] = 7] = "TRACE"; - METHODS2[METHODS2["COPY"] = 8] = "COPY"; - METHODS2[METHODS2["LOCK"] = 9] = "LOCK"; - METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL"; - METHODS2[METHODS2["MOVE"] = 11] = "MOVE"; - METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND"; - METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH"; - METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH"; - METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK"; - METHODS2[METHODS2["BIND"] = 16] = "BIND"; - METHODS2[METHODS2["REBIND"] = 17] = "REBIND"; - METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND"; - METHODS2[METHODS2["ACL"] = 19] = "ACL"; - METHODS2[METHODS2["REPORT"] = 20] = "REPORT"; - METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY"; - METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT"; - METHODS2[METHODS2["MERGE"] = 23] = "MERGE"; - METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH"; - METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY"; - METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE"; - METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE"; - METHODS2[METHODS2["PATCH"] = 28] = "PATCH"; - METHODS2[METHODS2["PURGE"] = 29] = "PURGE"; - METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR"; - METHODS2[METHODS2["LINK"] = 31] = "LINK"; - METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK"; - METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE"; - METHODS2[METHODS2["PRI"] = 34] = "PRI"; - METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE"; - METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE"; - METHODS2[METHODS2["SETUP"] = 37] = "SETUP"; - METHODS2[METHODS2["PLAY"] = 38] = "PLAY"; - METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE"; - METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN"; - METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER"; - METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER"; - METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT"; - METHODS2[METHODS2["RECORD"] = 44] = "RECORD"; - METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH"; - })(METHODS = exports2.METHODS || (exports2.METHODS = {})); - exports2.METHODS_HTTP = [ - METHODS.DELETE, - METHODS.GET, - METHODS.HEAD, - METHODS.POST, - METHODS.PUT, - METHODS.CONNECT, - METHODS.OPTIONS, - METHODS.TRACE, - METHODS.COPY, - METHODS.LOCK, - METHODS.MKCOL, - METHODS.MOVE, - METHODS.PROPFIND, - METHODS.PROPPATCH, - METHODS.SEARCH, - METHODS.UNLOCK, - METHODS.BIND, - METHODS.REBIND, - METHODS.UNBIND, - METHODS.ACL, - METHODS.REPORT, - METHODS.MKACTIVITY, - METHODS.CHECKOUT, - METHODS.MERGE, - METHODS["M-SEARCH"], - METHODS.NOTIFY, - METHODS.SUBSCRIBE, - METHODS.UNSUBSCRIBE, - METHODS.PATCH, - METHODS.PURGE, - METHODS.MKCALENDAR, - METHODS.LINK, - METHODS.UNLINK, - METHODS.PRI, - // TODO(indutny): should we allow it with HTTP? - METHODS.SOURCE - ]; - exports2.METHODS_ICE = [ - METHODS.SOURCE - ]; - exports2.METHODS_RTSP = [ - METHODS.OPTIONS, - METHODS.DESCRIBE, - METHODS.ANNOUNCE, - METHODS.SETUP, - METHODS.PLAY, - METHODS.PAUSE, - METHODS.TEARDOWN, - METHODS.GET_PARAMETER, - METHODS.SET_PARAMETER, - METHODS.REDIRECT, - METHODS.RECORD, - METHODS.FLUSH, - // For AirPlay - METHODS.GET, - METHODS.POST - ]; - exports2.METHOD_MAP = utils_1.enumToMap(METHODS); - exports2.H_METHOD_MAP = {}; - Object.keys(exports2.METHOD_MAP).forEach((key) => { - if (/^H/.test(key)) { - exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key]; + var assert = require("node:assert"); + var { pipeline } = require("node:stream"); + var util = require_util9(); + var { + RequestContentLengthMismatchError, + RequestAbortedError, + SocketError, + InformationalError + } = require_errors2(); + var { + kUrl, + kReset, + kClient, + kRunning, + kPending, + kQueue, + kPendingIdx, + kRunningIdx, + kError, + kSocket, + kStrictContentLength, + kOnError, + kMaxConcurrentStreams, + kHTTP2Session, + kResume, + kSize, + kHTTPContext + } = require_symbols6(); + var kOpenStreams = /* @__PURE__ */ Symbol("open streams"); + var extractBody; + var h2ExperimentalWarned = false; + var http2; + try { + http2 = require("node:http2"); + } catch { + http2 = { constants: {} }; + } + var { + constants: { + HTTP2_HEADER_AUTHORITY, + HTTP2_HEADER_METHOD, + HTTP2_HEADER_PATH, + HTTP2_HEADER_SCHEME, + HTTP2_HEADER_CONTENT_LENGTH, + HTTP2_HEADER_EXPECT, + HTTP2_HEADER_STATUS } - }); - var FINISH; - (function(FINISH2) { - FINISH2[FINISH2["SAFE"] = 0] = "SAFE"; - FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB"; - FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE"; - })(FINISH = exports2.FINISH || (exports2.FINISH = {})); - exports2.ALPHA = []; - for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) { - exports2.ALPHA.push(String.fromCharCode(i)); - exports2.ALPHA.push(String.fromCharCode(i + 32)); + } = http2; + function parseH2Headers(headers) { + const result = []; + for (const [name, value] of Object.entries(headers)) { + if (Array.isArray(value)) { + for (const subvalue of value) { + result.push(Buffer.from(name), Buffer.from(subvalue)); + } + } else { + result.push(Buffer.from(name), Buffer.from(value)); + } + } + return result; } - exports2.NUM_MAP = { - 0: 0, - 1: 1, - 2: 2, - 3: 3, - 4: 4, - 5: 5, - 6: 6, - 7: 7, - 8: 8, - 9: 9 - }; - exports2.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 - }; - exports2.NUM = [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9" - ]; - exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM); - exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"]; - exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]); - exports2.STRICT_URL_CHAR = [ - "!", - '"', - "$", - "%", - "&", - "'", - "(", - ")", - "*", - "+", - ",", - "-", - ".", - "/", - ":", - ";", - "<", - "=", - ">", - "@", - "[", - "\\", - "]", - "^", - "_", - "`", - "{", - "|", - "}", - "~" - ].concat(exports2.ALPHANUM); - exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat([" ", "\f"]); - for (let i = 128; i <= 255; i++) { - exports2.URL_CHAR.push(i); + async function connectH2(client, socket) { + client[kSocket] = socket; + if (!h2ExperimentalWarned) { + h2ExperimentalWarned = true; + process.emitWarning("H2 support is experimental, expect them to change at any time.", { + code: "UNDICI-H2" + }); + } + const session = http2.connect(client[kUrl], { + createConnection: () => socket, + peerMaxConcurrentStreams: client[kMaxConcurrentStreams] + }); + session[kOpenStreams] = 0; + session[kClient] = client; + session[kSocket] = socket; + util.addListener(session, "error", onHttp2SessionError); + util.addListener(session, "frameError", onHttp2FrameError); + util.addListener(session, "end", onHttp2SessionEnd); + util.addListener(session, "goaway", onHTTP2GoAway); + util.addListener(session, "close", function() { + const { [kClient]: client2 } = this; + const { [kSocket]: socket2 } = client2; + const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2)); + client2[kHTTP2Session] = null; + if (client2.destroyed) { + assert(client2[kPending] === 0); + const requests = client2[kQueue].splice(client2[kRunningIdx]); + for (let i = 0; i < requests.length; i++) { + const request2 = requests[i]; + util.errorRequest(client2, request2, err); + } + } + }); + session.unref(); + client[kHTTP2Session] = session; + socket[kHTTP2Session] = session; + util.addListener(socket, "error", function(err) { + assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + this[kError] = err; + this[kClient][kOnError](err); + }); + util.addListener(socket, "end", function() { + util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this))); + }); + util.addListener(socket, "close", function() { + const err = this[kError] || new SocketError("closed", util.getSocketInfo(this)); + client[kSocket] = null; + if (this[kHTTP2Session] != null) { + this[kHTTP2Session].destroy(err); + } + client[kPendingIdx] = client[kRunningIdx]; + assert(client[kRunning] === 0); + client.emit("disconnect", client[kUrl], [client], err); + client[kResume](); + }); + let closed = false; + socket.on("close", () => { + closed = true; + }); + return { + version: "h2", + defaultPipelining: Infinity, + write(...args) { + return writeH2(client, ...args); + }, + resume() { + resumeH2(client); + }, + destroy(err, callback) { + if (closed) { + queueMicrotask(callback); + } else { + socket.destroy(err).on("close", callback); + } + }, + get destroyed() { + return socket.destroyed; + }, + busy() { + return false; + } + }; } - exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]); - exports2.STRICT_TOKEN = [ - "!", - "#", - "$", - "%", - "&", - "'", - "*", - "+", - "-", - ".", - "^", - "_", - "`", - "|", - "~" - ].concat(exports2.ALPHANUM); - exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]); - exports2.HEADER_CHARS = [" "]; - for (let i = 32; i <= 255; i++) { - if (i !== 127) { - exports2.HEADER_CHARS.push(i); + function resumeH2(client) { + const socket = client[kSocket]; + if (socket?.destroyed === false) { + if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) { + socket.unref(); + client[kHTTP2Session].unref(); + } else { + socket.ref(); + client[kHTTP2Session].ref(); + } } } - exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44); - exports2.MAJOR = exports2.NUM_MAP; - exports2.MINOR = exports2.MAJOR; - var HEADER_STATE; - (function(HEADER_STATE2) { - HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL"; - HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION"; - HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH"; - HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING"; - HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE"; - HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED"; - })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {})); - exports2.SPECIAL_HEADERS = { - "connection": HEADER_STATE.CONNECTION, - "content-length": HEADER_STATE.CONTENT_LENGTH, - "proxy-connection": HEADER_STATE.CONNECTION, - "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING, - "upgrade": HEADER_STATE.UPGRADE - }; + function onHttp2SessionError(err) { + assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + this[kSocket][kError] = err; + this[kClient][kOnError](err); + } + function onHttp2FrameError(type2, code, id) { + if (id === 0) { + const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`); + this[kSocket][kError] = err; + this[kClient][kOnError](err); + } + } + function onHttp2SessionEnd() { + const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket])); + this.destroy(err); + util.destroy(this[kSocket], err); + } + function onHTTP2GoAway(code) { + const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this)); + const client = this[kClient]; + client[kSocket] = null; + client[kHTTPContext] = null; + if (this[kHTTP2Session] != null) { + this[kHTTP2Session].destroy(err); + this[kHTTP2Session] = null; + } + util.destroy(this[kSocket], err); + if (client[kRunningIdx] < client[kQueue].length) { + const request2 = client[kQueue][client[kRunningIdx]]; + client[kQueue][client[kRunningIdx]++] = null; + util.errorRequest(client, request2, err); + client[kPendingIdx] = client[kRunningIdx]; + } + assert(client[kRunning] === 0); + client.emit("disconnect", client[kUrl], [client], err); + client[kResume](); + } + function shouldSendContentLength(method) { + return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; + } + function writeH2(client, request2) { + const session = client[kHTTP2Session]; + const { method, path: path7, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2; + let { body } = request2; + if (upgrade) { + util.errorRequest(client, request2, new Error("Upgrade not supported for H2")); + return false; + } + const headers = {}; + for (let n = 0; n < reqHeaders.length; n += 2) { + const key = reqHeaders[n + 0]; + const val = reqHeaders[n + 1]; + if (Array.isArray(val)) { + for (let i = 0; i < val.length; i++) { + if (headers[key]) { + headers[key] += `,${val[i]}`; + } else { + headers[key] = val[i]; + } + } + } else { + headers[key] = val; + } + } + let stream; + const { hostname, port } = client[kUrl]; + headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`; + headers[HTTP2_HEADER_METHOD] = method; + const abort = (err) => { + if (request2.aborted || request2.completed) { + return; + } + err = err || new RequestAbortedError(); + util.errorRequest(client, request2, err); + if (stream != null) { + util.destroy(stream, err); + } + util.destroy(body, err); + client[kQueue][client[kRunningIdx]++] = null; + client[kResume](); + }; + try { + request2.onConnect(abort); + } catch (err) { + util.errorRequest(client, request2, err); + } + if (request2.aborted) { + return false; + } + if (method === "CONNECT") { + session.ref(); + stream = session.request(headers, { endStream: false, signal }); + if (stream.id && !stream.pending) { + request2.onUpgrade(null, null, stream); + ++session[kOpenStreams]; + client[kQueue][client[kRunningIdx]++] = null; + } else { + stream.once("ready", () => { + request2.onUpgrade(null, null, stream); + ++session[kOpenStreams]; + client[kQueue][client[kRunningIdx]++] = null; + }); + } + stream.once("close", () => { + session[kOpenStreams] -= 1; + if (session[kOpenStreams] === 0) session.unref(); + }); + return true; + } + headers[HTTP2_HEADER_PATH] = path7; + headers[HTTP2_HEADER_SCHEME] = "https"; + const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; + if (body && typeof body.read === "function") { + body.read(0); + } + let contentLength = util.bodyLength(body); + if (util.isFormDataLike(body)) { + extractBody ??= require_body2().extractBody; + const [bodyStream, contentType] = extractBody(body); + headers["content-type"] = contentType; + body = bodyStream.stream; + contentLength = bodyStream.length; + } + if (contentLength == null) { + contentLength = request2.contentLength; + } + if (contentLength === 0 || !expectsPayload) { + contentLength = null; + } + if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) { + if (client[kStrictContentLength]) { + util.errorRequest(client, request2, new RequestContentLengthMismatchError()); + return false; + } + process.emitWarning(new RequestContentLengthMismatchError()); + } + if (contentLength != null) { + assert(body, "no body must not have content length"); + headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; + } + session.ref(); + const shouldEndStream = method === "GET" || method === "HEAD" || body === null; + if (expectContinue) { + headers[HTTP2_HEADER_EXPECT] = "100-continue"; + stream = session.request(headers, { endStream: shouldEndStream, signal }); + stream.once("continue", writeBodyH2); + } else { + stream = session.request(headers, { + endStream: shouldEndStream, + signal + }); + writeBodyH2(); + } + ++session[kOpenStreams]; + stream.once("response", (headers2) => { + const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; + request2.onResponseStarted(); + if (request2.aborted) { + const err = new RequestAbortedError(); + util.errorRequest(client, request2, err); + util.destroy(stream, err); + return; + } + if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) { + stream.pause(); + } + stream.on("data", (chunk) => { + if (request2.onData(chunk) === false) { + stream.pause(); + } + }); + }); + stream.once("end", () => { + if (stream.state?.state == null || stream.state.state < 6) { + request2.onComplete([]); + } + if (session[kOpenStreams] === 0) { + session.unref(); + } + abort(new InformationalError("HTTP/2: stream half-closed (remote)")); + client[kQueue][client[kRunningIdx]++] = null; + client[kPendingIdx] = client[kRunningIdx]; + client[kResume](); + }); + stream.once("close", () => { + session[kOpenStreams] -= 1; + if (session[kOpenStreams] === 0) { + session.unref(); + } + }); + stream.once("error", function(err) { + abort(err); + }); + stream.once("frameError", (type2, code) => { + abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`)); + }); + return true; + function writeBodyH2() { + if (!body || contentLength === 0) { + writeBuffer( + abort, + stream, + null, + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } else if (util.isBuffer(body)) { + writeBuffer( + abort, + stream, + body, + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } else if (util.isBlobLike(body)) { + if (typeof body.stream === "function") { + writeIterable( + abort, + stream, + body.stream(), + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } else { + writeBlob( + abort, + stream, + body, + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } + } else if (util.isStream(body)) { + writeStream( + abort, + client[kSocket], + expectsPayload, + stream, + body, + client, + request2, + contentLength + ); + } else if (util.isIterable(body)) { + writeIterable( + abort, + stream, + body, + client, + request2, + client[kSocket], + contentLength, + expectsPayload + ); + } else { + assert(false); + } + } + } + function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) { + try { + if (body != null && util.isBuffer(body)) { + assert(contentLength === body.byteLength, "buffer body must have content length"); + h2stream.cork(); + h2stream.write(body); + h2stream.uncork(); + h2stream.end(); + request2.onBodySent(body); + } + if (!expectsPayload) { + socket[kReset] = true; + } + request2.onRequestSent(); + client[kResume](); + } catch (error3) { + abort(error3); + } + } + function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) { + assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); + const pipe = pipeline( + body, + h2stream, + (err) => { + if (err) { + util.destroy(pipe, err); + abort(err); + } else { + util.removeAllListeners(pipe); + request2.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + client[kResume](); + } + } + ); + util.addListener(pipe, "data", onPipeData); + function onPipeData(chunk) { + request2.onBodySent(chunk); + } + } + async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) { + assert(contentLength === body.size, "blob body must have content length"); + try { + if (contentLength != null && contentLength !== body.size) { + throw new RequestContentLengthMismatchError(); + } + const buffer = Buffer.from(await body.arrayBuffer()); + h2stream.cork(); + h2stream.write(buffer); + h2stream.uncork(); + h2stream.end(); + request2.onBodySent(buffer); + request2.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + client[kResume](); + } catch (err) { + abort(err); + } + } + async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) { + assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); + let callback = null; + function onDrain() { + if (callback) { + const cb = callback; + callback = null; + cb(); + } + } + const waitForDrain = () => new Promise((resolve5, reject) => { + assert(callback === null); + if (socket[kError]) { + reject(socket[kError]); + } else { + callback = resolve5; + } + }); + h2stream.on("close", onDrain).on("drain", onDrain); + try { + for await (const chunk of body) { + if (socket[kError]) { + throw socket[kError]; + } + const res = h2stream.write(chunk); + request2.onBodySent(chunk); + if (!res) { + await waitForDrain(); + } + } + h2stream.end(); + request2.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + client[kResume](); + } catch (err) { + abort(err); + } finally { + h2stream.off("close", onDrain).off("drain", onDrain); + } + } + module2.exports = connectH2; } }); -// node_modules/undici/lib/handler/RedirectHandler.js -var require_RedirectHandler = __commonJS({ - "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js +var require_redirect_handler2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) { "use strict"; var util = require_util9(); var { kBodyUsed } = require_symbols6(); - var assert = require("assert"); + var assert = require("node:assert"); var { InvalidArgumentError } = require_errors2(); - var EE = require("events"); + var EE = require("node:events"); var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; var kBody = /* @__PURE__ */ Symbol("body"); var BodyAsyncIterable = class { @@ -27729,6 +28500,7 @@ var require_RedirectHandler = __commonJS({ this.maxRedirections = maxRedirections; this.handler = handler2; this.history = []; + this.redirectionLimitReached = false; if (util.isStream(this.opts.body)) { if (util.bodyLength(this.opts.body) === 0) { this.opts.body.on("data", function() { @@ -27759,6 +28531,14 @@ var require_RedirectHandler = __commonJS({ } onHeaders(statusCode, headers, resume, statusText) { this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers); + if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) { + if (this.request) { + this.request.abort(new Error("max redirects")); + } + this.redirectionLimitReached = true; + this.abort(new Error("max redirects")); + return; + } if (this.opts.origin) { this.history.push(new URL(this.opts.path, this.opts.origin)); } @@ -27803,7 +28583,7 @@ var require_RedirectHandler = __commonJS({ return null; } for (let i = 0; i < headers.length; i += 2) { - if (headers[i].toString().toLowerCase() === "location") { + if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") { return headers[i + 1]; } } @@ -27844,11 +28624,11 @@ var require_RedirectHandler = __commonJS({ } }); -// node_modules/undici/lib/interceptor/redirectInterceptor.js -var require_redirectInterceptor = __commonJS({ - "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js +var require_redirect_interceptor2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) { "use strict"; - var RedirectHandler = require_RedirectHandler(); + var RedirectHandler = require_redirect_handler2(); function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) { return (dispatch) => { return function Intercept(opts, handler2) { @@ -27866,73 +28646,43 @@ var require_redirectInterceptor = __commonJS({ } }); -// node_modules/undici/lib/llhttp/llhttp-wasm.js -var require_llhttp_wasm2 = __commonJS({ - "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="; - } -}); - -// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js -var require_llhttp_simd_wasm2 = __commonJS({ - "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCrLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC0kBAXsgAEEQav0MAAAAAAAAAAAAAAAAAAAAACIB/QsDACAAIAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="; - } -}); - -// node_modules/undici/lib/client.js +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js var require_client2 = __commonJS({ - "node_modules/undici/lib/client.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) { "use strict"; - var assert = require("assert"); - var net = require("net"); - var http = require("http"); - var { pipeline } = require("stream"); + var assert = require("node:assert"); + var net = require("node:net"); + var http = require("node:http"); var util = require_util9(); - var timers = require_timers2(); + var { channels } = require_diagnostics2(); var Request = require_request3(); var DispatcherBase = require_dispatcher_base2(); var { - RequestContentLengthMismatchError, - ResponseContentLengthMismatchError, InvalidArgumentError, - RequestAbortedError, - HeadersTimeoutError, - HeadersOverflowError, - SocketError, InformationalError, - BodyTimeoutError, - HTTPParserError, - ResponseExceededMaxSizeError, ClientDestroyedError } = require_errors2(); var buildConnector = require_connect2(); var { kUrl, - kReset, kServerName, kClient, kBusy, - kParser, kConnect, - kBlocking, kResuming, kRunning, kPending, kSize, - kWriting, kQueue, kConnected, kConnecting, kNeedDrain, - kNoRef, kKeepAliveDefaultTimeout, kHostHeader, kPendingIdx, kRunningIdx, kError, kPipelining, - kSocket, kKeepAliveTimeoutValue, kMaxHeadersSize, kKeepAliveMaxTimeout, @@ -27950,53 +28700,25 @@ var require_client2 = __commonJS({ kInterceptors, kLocalAddress, kMaxResponseSize, - kHTTPConnVersion, - // HTTP2 - kHost, - kHTTP2Session, - kHTTP2SessionState, - kHTTP2BuildRequest, - kHTTP2CopyHeaders, - kHTTP1BuildRequest + kOnError, + kHTTPContext, + kMaxConcurrentStreams, + kResume } = require_symbols6(); - var http2; - try { - http2 = require("http2"); - } catch { - http2 = { constants: {} }; - } - var { - constants: { - HTTP2_HEADER_AUTHORITY, - HTTP2_HEADER_METHOD, - HTTP2_HEADER_PATH, - HTTP2_HEADER_SCHEME, - HTTP2_HEADER_CONTENT_LENGTH, - HTTP2_HEADER_EXPECT, - HTTP2_HEADER_STATUS - } - } = http2; - var h2ExperimentalWarned = false; - var FastBuffer = Buffer[Symbol.species]; + var connectH1 = require_client_h12(); + var connectH2 = require_client_h22(); + var deprecatedInterceptorWarned = false; var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve"); - var channels = {}; - try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders"); - channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect"); - channels.connectError = diagnosticsChannel.channel("undici:client:connectError"); - channels.connected = diagnosticsChannel.channel("undici:client:connected"); - } catch { - channels.sendHeaders = { hasSubscribers: false }; - channels.beforeConnect = { hasSubscribers: false }; - channels.connectError = { hasSubscribers: false }; - channels.connected = { hasSubscribers: false }; + var noop3 = () => { + }; + function getPipelining(client) { + return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1; } var Client = class extends DispatcherBase { /** * * @param {string|URL} url - * @param {import('../types/client').Client.Options} options + * @param {import('../../types/client.js').Client.Options} options */ constructor(url, { interceptors, @@ -28025,8 +28747,8 @@ var require_client2 = __commonJS({ autoSelectFamily, autoSelectFamilyAttemptTimeout, // h2 - allowH2, - maxConcurrentStreams + maxConcurrentStreams, + allowH2 } = {}) { super(); if (keepAlive !== void 0) { @@ -28090,7 +28812,7 @@ var require_client2 = __commonJS({ throw new InvalidArgumentError("allowH2 must be a valid boolean value"); } if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) { - throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0"); + throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0"); } if (typeof connect2 !== "function") { connect2 = buildConnector({ @@ -28099,19 +28821,28 @@ var require_client2 = __commonJS({ allowH2, socketPath, timeout: connectTimeout, - ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, ...connect2 }); } - this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })]; + if (interceptors?.Client && Array.isArray(interceptors.Client)) { + this[kInterceptors] = interceptors.Client; + if (!deprecatedInterceptorWarned) { + deprecatedInterceptorWarned = true; + process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", { + code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED" + }); + } + } else { + this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })]; + } this[kUrl] = util.parseOrigin(url); this[kConnector] = connect2; - this[kSocket] = null; this[kPipelining] = pipelining != null ? pipelining : 1; this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize; this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout; this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout; - this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold; + this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold; this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]; this[kServerName] = null; this[kLocalAddress] = localAddress != null ? localAddress : null; @@ -28126,26 +28857,20 @@ var require_client2 = __commonJS({ this[kMaxRequests] = maxRequestsPerClient; this[kClosedResolve] = null; this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1; - this[kHTTPConnVersion] = "h1"; - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = !allowH2 ? null : { - // streams: null, // Fixed queue of streams - For future support of `push` - openStreams: 0, - // Keep track of them to decide wether or not unref the session - maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100 - // Max peerConcurrentStreams for a Node h2 server - }; - this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`; + this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100; + this[kHTTPContext] = null; this[kQueue] = []; this[kRunningIdx] = 0; this[kPendingIdx] = 0; + this[kResume] = (sync) => resume(this, sync); + this[kOnError] = (err) => onError(this, err); } get pipelining() { return this[kPipelining]; } set pipelining(value) { this[kPipelining] = value; - resume(this, true); + this[kResume](true); } get [kPending]() { return this[kQueue].length - this[kPendingIdx]; @@ -28157,11 +28882,12 @@ var require_client2 = __commonJS({ return this[kQueue].length - this[kRunningIdx]; } get [kConnected]() { - return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed; + return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed; } get [kBusy]() { - const socket = this[kSocket]; - return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0; + return Boolean( + this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0 + ); } /* istanbul ignore: only used for test */ [kConnect](cb) { @@ -28170,14 +28896,14 @@ var require_client2 = __commonJS({ } [kDispatch](opts, handler2) { const origin = opts.origin || this[kUrl].origin; - const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2); + const request2 = new Request(origin, opts, handler2); this[kQueue].push(request2); if (this[kResuming]) { } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) { this[kResuming] = 1; - process.nextTick(resume, this); + queueMicrotask(() => resume(this)); } else { - resume(this, true); + this[kResume](true); } if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) { this[kNeedDrain] = 2; @@ -28186,10 +28912,10 @@ var require_client2 = __commonJS({ } async [kClose]() { return new Promise((resolve5) => { - if (!this[kSize]) { - resolve5(null); - } else { + if (this[kSize]) { this[kClosedResolve] = resolve5; + } else { + resolve5(null); } }); } @@ -28198,570 +28924,40 @@ var require_client2 = __commonJS({ const requests = this[kQueue].splice(this[kPendingIdx]); for (let i = 0; i < requests.length; i++) { const request2 = requests[i]; - errorRequest2(this, request2, err); + util.errorRequest(this, request2, err); } const callback = () => { if (this[kClosedResolve]) { this[kClosedResolve](); this[kClosedResolve] = null; } - resolve5(); + resolve5(null); }; - if (this[kHTTP2Session] != null) { - util.destroy(this[kHTTP2Session], err); - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = null; - } - if (!this[kSocket]) { - queueMicrotask(callback); + if (this[kHTTPContext]) { + this[kHTTPContext].destroy(err, callback); + this[kHTTPContext] = null; } else { - util.destroy(this[kSocket].on("close", callback), err); + queueMicrotask(callback); } - resume(this); + this[kResume](); }); } }; - function onHttp2SessionError(err) { - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - this[kSocket][kError] = err; - onError(this[kClient], err); - } - function onHttp2FrameError(type2, code, id) { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`); - if (id === 0) { - this[kSocket][kError] = err; - onError(this[kClient], err); - } - } - function onHttp2SessionEnd() { - util.destroy(this, new SocketError("other side closed")); - util.destroy(this[kSocket], new SocketError("other side closed")); - } - function onHTTP2GoAway(code) { - const client = this[kClient]; - const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`); - client[kSocket] = null; - client[kHTTP2Session] = null; - if (client.destroyed) { - assert(this[kPending] === 0); + var createRedirectInterceptor = require_redirect_interceptor2(); + function onError(client, err) { + if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") { + assert(client[kPendingIdx] === client[kRunningIdx]); const requests = client[kQueue].splice(client[kRunningIdx]); for (let i = 0; i < requests.length; i++) { const request2 = requests[i]; - errorRequest2(this, request2, err); + util.errorRequest(client, request2, err); } - } else if (client[kRunning] > 0) { - const request2 = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest2(client, request2, err); + assert(client[kSize] === 0); } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit( - "disconnect", - client[kUrl], - [client], - err - ); - resume(client); - } - var constants = require_constants8(); - var createRedirectInterceptor = require_redirectInterceptor(); - var EMPTY_BUF = Buffer.alloc(0); - async function lazyllhttp() { - const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0; - let mod; - try { - mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64")); - } catch (e) { - mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64")); - } - return await WebAssembly.instantiate(mod, { - env: { - /* eslint-disable camelcase */ - wasm_on_url: (p, at, len) => { - return 0; - }, - wasm_on_status: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_message_begin: (p) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onMessageBegin() || 0; - }, - wasm_on_header_field: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_header_value: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0; - }, - wasm_on_body: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_message_complete: (p) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onMessageComplete() || 0; - } - /* eslint-enable camelcase */ - } - }); - } - var llhttpInstance = null; - var llhttpPromise = lazyllhttp(); - llhttpPromise.catch(); - var currentParser = null; - var currentBufferRef = null; - var currentBufferSize = 0; - var currentBufferPtr = null; - var TIMEOUT_HEADERS = 1; - var TIMEOUT_BODY = 2; - var TIMEOUT_IDLE = 3; - var Parser = class { - constructor(client, socket, { exports: exports3 }) { - assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0); - this.llhttp = exports3; - this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE); - this.client = client; - this.socket = socket; - this.timeout = null; - this.timeoutValue = null; - this.timeoutType = null; - this.statusCode = null; - this.statusText = ""; - this.upgrade = false; - this.headers = []; - this.headersSize = 0; - this.headersMaxSize = client[kMaxHeadersSize]; - this.shouldKeepAlive = false; - this.paused = false; - this.resume = this.resume.bind(this); - this.bytesRead = 0; - this.keepAlive = ""; - this.contentLength = ""; - this.connection = ""; - this.maxResponseSize = client[kMaxResponseSize]; - } - setTimeout(value, type2) { - this.timeoutType = type2; - if (value !== this.timeoutValue) { - timers.clearTimeout(this.timeout); - if (value) { - this.timeout = timers.setTimeout(onParserTimeout, value, this); - if (this.timeout.unref) { - this.timeout.unref(); - } - } else { - this.timeout = null; - } - this.timeoutValue = value; - } else if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - } - resume() { - if (this.socket.destroyed || !this.paused) { - return; - } - assert(this.ptr != null); - assert(currentParser == null); - this.llhttp.llhttp_resume(this.ptr); - assert(this.timeoutType === TIMEOUT_BODY); - if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - this.paused = false; - this.execute(this.socket.read() || EMPTY_BUF); - this.readMore(); - } - readMore() { - while (!this.paused && this.ptr) { - const chunk = this.socket.read(); - if (chunk === null) { - break; - } - this.execute(chunk); - } - } - execute(data) { - assert(this.ptr != null); - assert(currentParser == null); - assert(!this.paused); - const { socket, llhttp } = this; - if (data.length > currentBufferSize) { - if (currentBufferPtr) { - llhttp.free(currentBufferPtr); - } - currentBufferSize = Math.ceil(data.length / 4096) * 4096; - currentBufferPtr = llhttp.malloc(currentBufferSize); - } - new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data); - try { - let ret; - try { - currentBufferRef = data; - currentParser = this; - ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length); - } catch (err) { - throw err; - } finally { - currentParser = null; - currentBufferRef = null; - } - const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr; - if (ret === constants.ERROR.PAUSED_UPGRADE) { - this.onUpgrade(data.slice(offset)); - } else if (ret === constants.ERROR.PAUSED) { - this.paused = true; - socket.unshift(data.slice(offset)); - } else if (ret !== constants.ERROR.OK) { - const ptr = llhttp.llhttp_get_error_reason(this.ptr); - let message = ""; - if (ptr) { - const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); - message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; - } - throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset)); - } - } catch (err) { - util.destroy(socket, err); - } - } - destroy() { - assert(this.ptr != null); - assert(currentParser == null); - this.llhttp.llhttp_free(this.ptr); - this.ptr = null; - timers.clearTimeout(this.timeout); - this.timeout = null; - this.timeoutValue = null; - this.timeoutType = null; - this.paused = false; - } - onStatus(buf) { - this.statusText = buf.toString(); - } - onMessageBegin() { - const { socket, client } = this; - if (socket.destroyed) { - return -1; - } - const request2 = client[kQueue][client[kRunningIdx]]; - if (!request2) { - return -1; - } - } - onHeaderField(buf) { - const len = this.headers.length; - if ((len & 1) === 0) { - this.headers.push(buf); - } else { - this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); - } - this.trackHeader(buf.length); - } - onHeaderValue(buf) { - let len = this.headers.length; - if ((len & 1) === 1) { - this.headers.push(buf); - len += 1; - } else { - this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); - } - const key = this.headers[len - 2]; - if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") { - this.keepAlive += buf.toString(); - } else if (key.length === 10 && key.toString().toLowerCase() === "connection") { - this.connection += buf.toString(); - } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") { - this.contentLength += buf.toString(); - } - this.trackHeader(buf.length); - } - trackHeader(len) { - this.headersSize += len; - if (this.headersSize >= this.headersMaxSize) { - util.destroy(this.socket, new HeadersOverflowError()); - } - } - onUpgrade(head) { - const { upgrade, client, socket, headers, statusCode } = this; - assert(upgrade); - const request2 = client[kQueue][client[kRunningIdx]]; - assert(request2); - assert(!socket.destroyed); - assert(socket === client[kSocket]); - assert(!this.paused); - assert(request2.upgrade || request2.method === "CONNECT"); - this.statusCode = null; - this.statusText = ""; - this.shouldKeepAlive = null; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - socket.unshift(head); - socket[kParser].destroy(); - socket[kParser] = null; - socket[kClient] = null; - socket[kError] = null; - socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose); - client[kSocket] = null; - client[kQueue][client[kRunningIdx]++] = null; - client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade")); - try { - request2.onUpgrade(statusCode, headers, socket); - } catch (err) { - util.destroy(socket, err); - } - resume(client); - } - onHeadersComplete(statusCode, upgrade, shouldKeepAlive) { - const { client, socket, headers, statusText } = this; - if (socket.destroyed) { - return -1; - } - const request2 = client[kQueue][client[kRunningIdx]]; - if (!request2) { - return -1; - } - assert(!this.upgrade); - assert(this.statusCode < 200); - if (statusCode === 100) { - util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket))); - return -1; - } - if (upgrade && !request2.upgrade) { - util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket))); - return -1; - } - assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS); - this.statusCode = statusCode; - this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD. - request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive"; - if (this.statusCode >= 200) { - const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout]; - this.setTimeout(bodyTimeout, TIMEOUT_BODY); - } else if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - if (request2.method === "CONNECT") { - assert(client[kRunning] === 1); - this.upgrade = true; - return 2; - } - if (upgrade) { - assert(client[kRunning] === 1); - this.upgrade = true; - return 2; - } - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - if (this.shouldKeepAlive && client[kPipelining]) { - const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null; - if (keepAliveTimeout != null) { - const timeout = Math.min( - keepAliveTimeout - client[kKeepAliveTimeoutThreshold], - client[kKeepAliveMaxTimeout] - ); - if (timeout <= 0) { - socket[kReset] = true; - } else { - client[kKeepAliveTimeoutValue] = timeout; - } - } else { - client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]; - } - } else { - socket[kReset] = true; - } - const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false; - if (request2.aborted) { - return -1; - } - if (request2.method === "HEAD") { - return 1; - } - if (statusCode < 200) { - return 1; - } - if (socket[kBlocking]) { - socket[kBlocking] = false; - resume(client); - } - return pause ? constants.ERROR.PAUSED : 0; - } - onBody(buf) { - const { client, socket, statusCode, maxResponseSize } = this; - if (socket.destroyed) { - return -1; - } - const request2 = client[kQueue][client[kRunningIdx]]; - assert(request2); - assert.strictEqual(this.timeoutType, TIMEOUT_BODY); - if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - assert(statusCode >= 200); - if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) { - util.destroy(socket, new ResponseExceededMaxSizeError()); - return -1; - } - this.bytesRead += buf.length; - if (request2.onData(buf) === false) { - return constants.ERROR.PAUSED; - } - } - onMessageComplete() { - const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this; - if (socket.destroyed && (!statusCode || shouldKeepAlive)) { - return -1; - } - if (upgrade) { - return; - } - const request2 = client[kQueue][client[kRunningIdx]]; - assert(request2); - assert(statusCode >= 100); - this.statusCode = null; - this.statusText = ""; - this.bytesRead = 0; - this.contentLength = ""; - this.keepAlive = ""; - this.connection = ""; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - if (statusCode < 200) { - return; - } - if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { - util.destroy(socket, new ResponseContentLengthMismatchError()); - return -1; - } - request2.onComplete(headers); - client[kQueue][client[kRunningIdx]++] = null; - if (socket[kWriting]) { - assert.strictEqual(client[kRunning], 0); - util.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; - } else if (!shouldKeepAlive) { - util.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; - } else if (socket[kReset] && client[kRunning] === 0) { - util.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; - } else if (client[kPipelining] === 1) { - setImmediate(resume, client); - } else { - resume(client); - } - } - }; - function onParserTimeout(parser) { - const { socket, timeoutType, client } = parser; - if (timeoutType === TIMEOUT_HEADERS) { - if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { - assert(!parser.paused, "cannot be paused while waiting for headers"); - util.destroy(socket, new HeadersTimeoutError()); - } - } else if (timeoutType === TIMEOUT_BODY) { - if (!parser.paused) { - util.destroy(socket, new BodyTimeoutError()); - } - } else if (timeoutType === TIMEOUT_IDLE) { - assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); - util.destroy(socket, new InformationalError("socket idle timeout")); - } - } - function onSocketReadable() { - const { [kParser]: parser } = this; - if (parser) { - parser.readMore(); - } - } - function onSocketError(err) { - const { [kClient]: client, [kParser]: parser } = this; - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - if (client[kHTTPConnVersion] !== "h2") { - if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; - } - } - this[kError] = err; - onError(this[kClient], err); - } - function onError(client, err) { - if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") { - assert(client[kPendingIdx] === client[kRunningIdx]); - const requests = client[kQueue].splice(client[kRunningIdx]); - for (let i = 0; i < requests.length; i++) { - const request2 = requests[i]; - errorRequest2(client, request2, err); - } - assert(client[kSize] === 0); - } - } - function onSocketEnd() { - const { [kParser]: parser, [kClient]: client } = this; - if (client[kHTTPConnVersion] !== "h2") { - if (parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; - } - } - util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this))); - } - function onSocketClose() { - const { [kClient]: client, [kParser]: parser } = this; - if (client[kHTTPConnVersion] === "h1" && parser) { - if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - } - this[kParser].destroy(); - this[kParser] = null; - } - const err = this[kError] || new SocketError("closed", util.getSocketInfo(this)); - client[kSocket] = null; - if (client.destroyed) { - assert(client[kPending] === 0); - const requests = client[kQueue].splice(client[kRunningIdx]); - for (let i = 0; i < requests.length; i++) { - const request2 = requests[i]; - errorRequest2(client, request2, err); - } - } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") { - const request2 = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest2(client, request2, err); - } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit("disconnect", client[kUrl], [client], err); - resume(client); } async function connect(client) { assert(!client[kConnecting]); - assert(!client[kSocket]); + assert(!client[kHTTPContext]); let { host, hostname, protocol, port } = client[kUrl]; if (hostname[0] === "[") { const idx = hostname.indexOf("]"); @@ -28778,6 +28974,7 @@ var require_client2 = __commonJS({ hostname, protocol, port, + version: client[kHTTPContext]?.version, servername: client[kServerName], localAddress: client[kLocalAddress] }, @@ -28802,52 +28999,21 @@ var require_client2 = __commonJS({ }); }); if (client.destroyed) { - util.destroy(socket.on("error", () => { - }), new ClientDestroyedError()); + util.destroy(socket.on("error", noop3), new ClientDestroyedError()); return; } - client[kConnecting] = false; assert(socket); - const isH2 = socket.alpnProtocol === "h2"; - if (isH2) { - if (!h2ExperimentalWarned) { - h2ExperimentalWarned = true; - process.emitWarning("H2 support is experimental, expect them to change at any time.", { - code: "UNDICI-H2" - }); - } - const session = http2.connect(client[kUrl], { - createConnection: () => socket, - peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams - }); - client[kHTTPConnVersion] = "h2"; - session[kClient] = client; - session[kSocket] = socket; - session.on("error", onHttp2SessionError); - session.on("frameError", onHttp2FrameError); - session.on("end", onHttp2SessionEnd); - session.on("goaway", onHTTP2GoAway); - session.on("close", onSocketClose); - session.unref(); - client[kHTTP2Session] = session; - socket[kHTTP2Session] = session; - } else { - if (!llhttpInstance) { - llhttpInstance = await llhttpPromise; - llhttpPromise = null; - } - socket[kNoRef] = false; - socket[kWriting] = false; - socket[kReset] = false; - socket[kBlocking] = false; - socket[kParser] = new Parser(client, socket, llhttpInstance); + try { + client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket); + } catch (err) { + socket.destroy().on("error", noop3); + throw err; } + client[kConnecting] = false; socket[kCounter] = 0; socket[kMaxRequests] = client[kMaxRequests]; socket[kClient] = client; socket[kError] = null; - socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose); - client[kSocket] = socket; if (channels.connected.hasSubscribers) { channels.connected.publish({ connectParams: { @@ -28855,6 +29021,7 @@ var require_client2 = __commonJS({ hostname, protocol, port, + version: client[kHTTPContext]?.version, servername: client[kServerName], localAddress: client[kLocalAddress] }, @@ -28875,6 +29042,7 @@ var require_client2 = __commonJS({ hostname, protocol, port, + version: client[kHTTPContext]?.version, servername: client[kServerName], localAddress: client[kLocalAddress] }, @@ -28886,14 +29054,14 @@ var require_client2 = __commonJS({ assert(client[kRunning] === 0); while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) { const request2 = client[kQueue][client[kPendingIdx]++]; - errorRequest2(client, request2, err); + util.errorRequest(client, request2, err); } } else { onError(client, err); } client.emit("connectionError", client[kUrl], [client], err); } - resume(client); + client[kResume](); } function emitDrain(client) { client[kNeedDrain] = 0; @@ -28923,35 +29091,15 @@ var require_client2 = __commonJS({ client[kClosedResolve] = null; return; } - const socket = client[kSocket]; - if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") { - if (client[kSize] === 0) { - if (!socket[kNoRef] && socket.unref) { - socket.unref(); - socket[kNoRef] = true; - } - } else if (socket[kNoRef] && socket.ref) { - socket.ref(); - socket[kNoRef] = false; - } - if (client[kSize] === 0) { - if (socket[kParser].timeoutType !== TIMEOUT_IDLE) { - socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE); - } - } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) { - if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) { - const request3 = client[kQueue][client[kRunningIdx]]; - const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout]; - socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS); - } - } + if (client[kHTTPContext]) { + client[kHTTPContext].resume(); } if (client[kBusy]) { client[kNeedDrain] = 2; } else if (client[kNeedDrain] === 2) { if (sync) { client[kNeedDrain] = 1; - process.nextTick(emitDrain, client); + queueMicrotask(() => emitDrain(client)); } else { emitDrain(client); } @@ -28960,7 +29108,7 @@ var require_client2 = __commonJS({ if (client[kPending] === 0) { return; } - if (client[kRunning] >= (client[kPipelining] || 1)) { + if (client[kRunning] >= (getPipelining(client) || 1)) { return; } const request2 = client[kQueue][client[kPendingIdx]]; @@ -28969,909 +29117,320 @@ var require_client2 = __commonJS({ return; } client[kServerName] = request2.servername; - if (socket && socket.servername !== request2.servername) { - util.destroy(socket, new InformationalError("servername changed")); - return; - } + client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => { + client[kHTTPContext] = null; + resume(client); + }); } if (client[kConnecting]) { return; } - if (!socket && !client[kHTTP2Session]) { + if (!client[kHTTPContext]) { connect(client); return; } - if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) { - return; - } - if (client[kRunning] > 0 && !request2.idempotent) { - return; - } - if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) { + if (client[kHTTPContext].destroyed) { return; } - if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) { + if (client[kHTTPContext].busy(request2)) { return; } - if (!request2.aborted && write(client, request2)) { + if (!request2.aborted && client[kHTTPContext].write(request2)) { client[kPendingIdx]++; } else { client[kQueue].splice(client[kPendingIdx], 1); } } } - function shouldSendContentLength(method) { - return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; - } - function write(client, request2) { - if (client[kHTTPConnVersion] === "h2") { - writeH2(client, client[kHTTP2Session], request2); - return; + module2.exports = Client; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js +var require_fixed_queue2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) { + "use strict"; + var kSize = 2048; + var kMask = kSize - 1; + var FixedCircularBuffer = class { + constructor() { + this.bottom = 0; + this.top = 0; + this.list = new Array(kSize); + this.next = null; } - const { body, method, path: path7, host, upgrade, headers, blocking, reset } = request2; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); + isEmpty() { + return this.top === this.bottom; } - const bodyLength = util.bodyLength(body); - let contentLength = bodyLength; - if (contentLength === null) { - contentLength = request2.contentLength; + isFull() { + return (this.top + 1 & kMask) === this.bottom; } - if (contentLength === 0 && !expectsPayload) { - contentLength = null; + push(data) { + this.list[this.top] = data; + this.top = this.top + 1 & kMask; } - if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) { - if (client[kStrictContentLength]) { - errorRequest2(client, request2, new RequestContentLengthMismatchError()); - return false; + shift() { + const nextItem = this.list[this.bottom]; + if (nextItem === void 0) + return null; + this.list[this.bottom] = void 0; + this.bottom = this.bottom + 1 & kMask; + return nextItem; + } + }; + module2.exports = class FixedQueue { + constructor() { + this.head = this.tail = new FixedCircularBuffer(); + } + isEmpty() { + return this.head.isEmpty(); + } + push(data) { + if (this.head.isFull()) { + this.head = this.head.next = new FixedCircularBuffer(); } - process.emitWarning(new RequestContentLengthMismatchError()); + this.head.push(data); } - const socket = client[kSocket]; - try { - request2.onConnect((err) => { - if (request2.aborted || request2.completed) { - return; - } - errorRequest2(client, request2, err || new RequestAbortedError()); - util.destroy(socket, new InformationalError("aborted")); - }); - } catch (err) { - errorRequest2(client, request2, err); + shift() { + const tail = this.tail; + const next = tail.shift(); + if (tail.isEmpty() && tail.next !== null) { + this.tail = tail.next; + } + return next; } - if (request2.aborted) { - return false; + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js +var require_pool_stats2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) { + var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6(); + var kPool = /* @__PURE__ */ Symbol("pool"); + var PoolStats = class { + constructor(pool) { + this[kPool] = pool; } - if (method === "HEAD") { - socket[kReset] = true; + get connected() { + return this[kPool][kConnected]; } - if (upgrade || method === "CONNECT") { - socket[kReset] = true; + get free() { + return this[kPool][kFree]; } - if (reset != null) { - socket[kReset] = reset; + get pending() { + return this[kPool][kPending]; } - if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) { - socket[kReset] = true; + get queued() { + return this[kPool][kQueued]; } - if (blocking) { - socket[kBlocking] = true; + get running() { + return this[kPool][kRunning]; } - let header = `${method} ${path7} HTTP/1.1\r -`; - if (typeof host === "string") { - header += `host: ${host}\r -`; - } else { - header += client[kHostHeader]; + get size() { + return this[kPool][kSize]; } - if (upgrade) { - header += `connection: upgrade\r -upgrade: ${upgrade}\r -`; - } else if (client[kPipelining] && !socket[kReset]) { - header += "connection: keep-alive\r\n"; - } else { - header += "connection: close\r\n"; + }; + module2.exports = PoolStats; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js +var require_pool_base2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) { + "use strict"; + var DispatcherBase = require_dispatcher_base2(); + var FixedQueue = require_fixed_queue2(); + var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6(); + var PoolStats = require_pool_stats2(); + var kClients = /* @__PURE__ */ Symbol("clients"); + var kNeedDrain = /* @__PURE__ */ Symbol("needDrain"); + var kQueue = /* @__PURE__ */ Symbol("queue"); + var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve"); + var kOnDrain = /* @__PURE__ */ Symbol("onDrain"); + var kOnConnect = /* @__PURE__ */ Symbol("onConnect"); + var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect"); + var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError"); + var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher"); + var kAddClient = /* @__PURE__ */ Symbol("add client"); + var kRemoveClient = /* @__PURE__ */ Symbol("remove client"); + var kStats = /* @__PURE__ */ Symbol("stats"); + var PoolBase = class extends DispatcherBase { + constructor() { + super(); + this[kQueue] = new FixedQueue(); + this[kClients] = []; + this[kQueued] = 0; + const pool = this; + this[kOnDrain] = function onDrain(origin, targets) { + const queue = pool[kQueue]; + let needDrain = false; + while (!needDrain) { + const item = queue.shift(); + if (!item) { + break; + } + pool[kQueued]--; + needDrain = !this.dispatch(item.opts, item.handler); + } + this[kNeedDrain] = needDrain; + if (!this[kNeedDrain] && pool[kNeedDrain]) { + pool[kNeedDrain] = false; + pool.emit("drain", origin, [pool, ...targets]); + } + if (pool[kClosedResolve] && queue.isEmpty()) { + Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]); + } + }; + this[kOnConnect] = (origin, targets) => { + pool.emit("connect", origin, [pool, ...targets]); + }; + this[kOnDisconnect] = (origin, targets, err) => { + pool.emit("disconnect", origin, [pool, ...targets], err); + }; + this[kOnConnectionError] = (origin, targets, err) => { + pool.emit("connectionError", origin, [pool, ...targets], err); + }; + this[kStats] = new PoolStats(this); } - if (headers) { - header += headers; + get [kBusy]() { + return this[kNeedDrain]; } - if (channels.sendHeaders.hasSubscribers) { - channels.sendHeaders.publish({ request: request2, headers: header, socket }); + get [kConnected]() { + return this[kClients].filter((client) => client[kConnected]).length; } - if (!body || bodyLength === 0) { - if (contentLength === 0) { - socket.write(`${header}content-length: 0\r -\r -`, "latin1"); - } else { - assert(contentLength === null, "no body must not have content length"); - socket.write(`${header}\r -`, "latin1"); - } - request2.onRequestSent(); - } else if (util.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - socket.write(body); - socket.uncork(); - request2.onBodySent(body); - request2.onRequestSent(); - if (!expectsPayload) { - socket[kReset] = true; - } - } else if (util.isBlobLike(body)) { - if (typeof body.stream === "function") { - writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload }); - } else { - writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload }); + get [kFree]() { + return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length; + } + get [kPending]() { + let ret = this[kQueued]; + for (const { [kPending]: pending } of this[kClients]) { + ret += pending; } - } else if (util.isStream(body)) { - writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload }); - } else if (util.isIterable(body)) { - writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload }); - } else { - assert(false); + return ret; } - return true; - } - function writeH2(client, session, request2) { - const { body, method, path: path7, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2; - let headers; - if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim()); - else headers = reqHeaders; - if (upgrade) { - errorRequest2(client, request2, new Error("Upgrade not supported for H2")); - return false; + get [kRunning]() { + let ret = 0; + for (const { [kRunning]: running } of this[kClients]) { + ret += running; + } + return ret; } - try { - request2.onConnect((err) => { - if (request2.aborted || request2.completed) { - return; - } - errorRequest2(client, request2, err || new RequestAbortedError()); - }); - } catch (err) { - errorRequest2(client, request2, err); + get [kSize]() { + let ret = this[kQueued]; + for (const { [kSize]: size } of this[kClients]) { + ret += size; + } + return ret; } - if (request2.aborted) { - return false; + get stats() { + return this[kStats]; } - let stream; - const h2State = client[kHTTP2SessionState]; - headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost]; - headers[HTTP2_HEADER_METHOD] = method; - if (method === "CONNECT") { - session.ref(); - stream = session.request(headers, { endStream: false, signal }); - if (stream.id && !stream.pending) { - request2.onUpgrade(null, null, stream); - ++h2State.openStreams; + async [kClose]() { + if (this[kQueue].isEmpty()) { + await Promise.all(this[kClients].map((c) => c.close())); } else { - stream.once("ready", () => { - request2.onUpgrade(null, null, stream); - ++h2State.openStreams; + await new Promise((resolve5) => { + this[kClosedResolve] = resolve5; }); } - stream.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) session.unref(); - }); - return true; - } - headers[HTTP2_HEADER_PATH] = path7; - headers[HTTP2_HEADER_SCHEME] = "https"; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); - } - let contentLength = util.bodyLength(body); - if (contentLength == null) { - contentLength = request2.contentLength; } - if (contentLength === 0 || !expectsPayload) { - contentLength = null; + async [kDestroy](err) { + while (true) { + const item = this[kQueue].shift(); + if (!item) { + break; + } + item.handler.onError(err); + } + await Promise.all(this[kClients].map((c) => c.destroy(err))); } - if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) { - if (client[kStrictContentLength]) { - errorRequest2(client, request2, new RequestContentLengthMismatchError()); - return false; + [kDispatch](opts, handler2) { + const dispatcher = this[kGetDispatcher](); + if (!dispatcher) { + this[kNeedDrain] = true; + this[kQueue].push({ opts, handler: handler2 }); + this[kQueued]++; + } else if (!dispatcher.dispatch(opts, handler2)) { + dispatcher[kNeedDrain] = true; + this[kNeedDrain] = !this[kGetDispatcher](); } - process.emitWarning(new RequestContentLengthMismatchError()); + return !this[kNeedDrain]; } - if (contentLength != null) { - assert(body, "no body must not have content length"); - headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; + [kAddClient](client) { + client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); + this[kClients].push(client); + if (this[kNeedDrain]) { + queueMicrotask(() => { + if (this[kNeedDrain]) { + this[kOnDrain](client[kUrl], [this, client]); + } + }); + } + return this; } - session.ref(); - const shouldEndStream = method === "GET" || method === "HEAD"; - if (expectContinue) { - headers[HTTP2_HEADER_EXPECT] = "100-continue"; - stream = session.request(headers, { endStream: shouldEndStream, signal }); - stream.once("continue", writeBodyH2); - } else { - stream = session.request(headers, { - endStream: shouldEndStream, - signal + [kRemoveClient](client) { + client.close(() => { + const idx = this[kClients].indexOf(client); + if (idx !== -1) { + this[kClients].splice(idx, 1); + } }); - writeBodyH2(); + this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true); } - ++h2State.openStreams; - stream.once("response", (headers2) => { - const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; - if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) { - stream.pause(); - } - }); - stream.once("end", () => { - request2.onComplete([]); - }); - stream.on("data", (chunk) => { - if (request2.onData(chunk) === false) { - stream.pause(); - } - }); - stream.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) { - session.unref(); - } - }); - stream.once("error", function(err) { - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util.destroy(stream, err); - } - }); - stream.once("frameError", (type2, code) => { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`); - errorRequest2(client, request2, err); - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util.destroy(stream, err); - } - }); - return true; - function writeBodyH2() { - if (!body) { - request2.onRequestSent(); - } else if (util.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - stream.cork(); - stream.write(body); - stream.uncork(); - stream.end(); - request2.onBodySent(body); - request2.onRequestSent(); - } else if (util.isBlobLike(body)) { - if (typeof body.stream === "function") { - writeIterable({ - client, - request: request2, - contentLength, - h2stream: stream, - expectsPayload, - body: body.stream(), - socket: client[kSocket], - header: "" - }); - } else { - writeBlob({ - body, - client, - request: request2, - contentLength, - expectsPayload, - h2stream: stream, - header: "", - socket: client[kSocket] - }); - } - } else if (util.isStream(body)) { - writeStream({ - body, - client, - request: request2, - contentLength, - expectsPayload, - socket: client[kSocket], - h2stream: stream, - header: "" - }); - } else if (util.isIterable(body)) { - writeIterable({ - body, - client, - request: request2, - contentLength, - expectsPayload, - header: "", - h2stream: stream, - socket: client[kSocket] - }); - } else { - assert(false); - } - } - } - function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) { - assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); - if (client[kHTTPConnVersion] === "h2") { - let onPipeData = function(chunk) { - request2.onBodySent(chunk); - }; - const pipe = pipeline( - body, - h2stream, - (err) => { - if (err) { - util.destroy(body, err); - util.destroy(h2stream, err); - } else { - request2.onRequestSent(); - } - } - ); - pipe.on("data", onPipeData); - pipe.once("end", () => { - pipe.removeListener("data", onPipeData); - util.destroy(pipe); - }); - return; - } - let finished = false; - const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header }); - const onData = function(chunk) { - if (finished) { - return; - } - try { - if (!writer.write(chunk) && this.pause) { - this.pause(); - } - } catch (err) { - util.destroy(this, err); - } - }; - const onDrain = function() { - if (finished) { - return; - } - if (body.resume) { - body.resume(); - } - }; - const onAbort = function() { - if (finished) { - return; - } - const err = new RequestAbortedError(); - queueMicrotask(() => onFinished(err)); - }; - const onFinished = function(err) { - if (finished) { - return; - } - finished = true; - assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1); - socket.off("drain", onDrain).off("error", onFinished); - body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort); - if (!err) { - try { - writer.end(); - } catch (er) { - err = er; - } - } - writer.destroy(err); - if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { - util.destroy(body, err); - } else { - util.destroy(body); - } - }; - body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort); - if (body.resume) { - body.resume(); - } - socket.on("drain", onDrain).on("error", onFinished); - } - async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) { - assert(contentLength === body.size, "blob body must have content length"); - const isH2 = client[kHTTPConnVersion] === "h2"; - try { - if (contentLength != null && contentLength !== body.size) { - throw new RequestContentLengthMismatchError(); - } - const buffer = Buffer.from(await body.arrayBuffer()); - if (isH2) { - h2stream.cork(); - h2stream.write(buffer); - h2stream.uncork(); - } else { - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - socket.write(buffer); - socket.uncork(); - } - request2.onBodySent(buffer); - request2.onRequestSent(); - if (!expectsPayload) { - socket[kReset] = true; - } - resume(client); - } catch (err) { - util.destroy(isH2 ? h2stream : socket, err); - } - } - async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) { - assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); - let callback = null; - function onDrain() { - if (callback) { - const cb = callback; - callback = null; - cb(); - } - } - const waitForDrain = () => new Promise((resolve5, reject) => { - assert(callback === null); - if (socket[kError]) { - reject(socket[kError]); - } else { - callback = resolve5; - } - }); - if (client[kHTTPConnVersion] === "h2") { - h2stream.on("close", onDrain).on("drain", onDrain); - try { - for await (const chunk of body) { - if (socket[kError]) { - throw socket[kError]; - } - const res = h2stream.write(chunk); - request2.onBodySent(chunk); - if (!res) { - await waitForDrain(); - } - } - } catch (err) { - h2stream.destroy(err); - } finally { - request2.onRequestSent(); - h2stream.end(); - h2stream.off("close", onDrain).off("drain", onDrain); - } - return; - } - socket.on("close", onDrain).on("drain", onDrain); - const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header }); - try { - for await (const chunk of body) { - if (socket[kError]) { - throw socket[kError]; - } - if (!writer.write(chunk)) { - await waitForDrain(); - } - } - writer.end(); - } catch (err) { - writer.destroy(err); - } finally { - socket.off("close", onDrain).off("drain", onDrain); - } - } - var AsyncWriter = class { - constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) { - this.socket = socket; - this.request = request2; - this.contentLength = contentLength; - this.client = client; - this.bytesWritten = 0; - this.expectsPayload = expectsPayload; - this.header = header; - socket[kWriting] = true; - } - write(chunk) { - const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this; - if (socket[kError]) { - throw socket[kError]; - } - if (socket.destroyed) { - return false; - } - const len = Buffer.byteLength(chunk); - if (!len) { - return true; - } - if (contentLength !== null && bytesWritten + len > contentLength) { - if (client[kStrictContentLength]) { - throw new RequestContentLengthMismatchError(); - } - process.emitWarning(new RequestContentLengthMismatchError()); - } - socket.cork(); - if (bytesWritten === 0) { - if (!expectsPayload) { - socket[kReset] = true; - } - if (contentLength === null) { - socket.write(`${header}transfer-encoding: chunked\r -`, "latin1"); - } else { - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - } - } - if (contentLength === null) { - socket.write(`\r -${len.toString(16)}\r -`, "latin1"); - } - this.bytesWritten += len; - const ret = socket.write(chunk); - socket.uncork(); - request2.onBodySent(chunk); - if (!ret) { - if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { - if (socket[kParser].timeout.refresh) { - socket[kParser].timeout.refresh(); - } - } - } - return ret; - } - end() { - const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this; - request2.onRequestSent(); - socket[kWriting] = false; - if (socket[kError]) { - throw socket[kError]; - } - if (socket.destroyed) { - return; - } - if (bytesWritten === 0) { - if (expectsPayload) { - socket.write(`${header}content-length: 0\r -\r -`, "latin1"); - } else { - socket.write(`${header}\r -`, "latin1"); - } - } else if (contentLength === null) { - socket.write("\r\n0\r\n\r\n", "latin1"); - } - if (contentLength !== null && bytesWritten !== contentLength) { - if (client[kStrictContentLength]) { - throw new RequestContentLengthMismatchError(); - } else { - process.emitWarning(new RequestContentLengthMismatchError()); - } - } - if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { - if (socket[kParser].timeout.refresh) { - socket[kParser].timeout.refresh(); - } - } - resume(client); - } - destroy(err) { - const { socket, client } = this; - socket[kWriting] = false; - if (err) { - assert(client[kRunning] <= 1, "pipeline should only contain this request"); - util.destroy(socket, err); - } - } - }; - function errorRequest2(client, request2, err) { - try { - request2.onError(err); - assert(request2.aborted); - } catch (err2) { - client.emit("error", err2); - } - } - module2.exports = Client; - } -}); - -// node_modules/undici/lib/node/fixed-queue.js -var require_fixed_queue2 = __commonJS({ - "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) { - "use strict"; - var kSize = 2048; - var kMask = kSize - 1; - var FixedCircularBuffer = class { - constructor() { - this.bottom = 0; - this.top = 0; - this.list = new Array(kSize); - this.next = null; - } - isEmpty() { - return this.top === this.bottom; - } - isFull() { - return (this.top + 1 & kMask) === this.bottom; - } - push(data) { - this.list[this.top] = data; - this.top = this.top + 1 & kMask; - } - shift() { - const nextItem = this.list[this.bottom]; - if (nextItem === void 0) - return null; - this.list[this.bottom] = void 0; - this.bottom = this.bottom + 1 & kMask; - return nextItem; - } - }; - module2.exports = class FixedQueue { - constructor() { - this.head = this.tail = new FixedCircularBuffer(); - } - isEmpty() { - return this.head.isEmpty(); - } - push(data) { - if (this.head.isFull()) { - this.head = this.head.next = new FixedCircularBuffer(); - } - this.head.push(data); - } - shift() { - const tail = this.tail; - const next = tail.shift(); - if (tail.isEmpty() && tail.next !== null) { - this.tail = tail.next; - } - return next; - } - }; - } -}); - -// node_modules/undici/lib/pool-stats.js -var require_pool_stats2 = __commonJS({ - "node_modules/undici/lib/pool-stats.js"(exports2, module2) { - var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6(); - var kPool = /* @__PURE__ */ Symbol("pool"); - var PoolStats = class { - constructor(pool) { - this[kPool] = pool; - } - get connected() { - return this[kPool][kConnected]; - } - get free() { - return this[kPool][kFree]; - } - get pending() { - return this[kPool][kPending]; - } - get queued() { - return this[kPool][kQueued]; - } - get running() { - return this[kPool][kRunning]; - } - get size() { - return this[kPool][kSize]; - } - }; - module2.exports = PoolStats; - } -}); - -// node_modules/undici/lib/pool-base.js -var require_pool_base2 = __commonJS({ - "node_modules/undici/lib/pool-base.js"(exports2, module2) { - "use strict"; - var DispatcherBase = require_dispatcher_base2(); - var FixedQueue = require_fixed_queue2(); - var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6(); - var PoolStats = require_pool_stats2(); - var kClients = /* @__PURE__ */ Symbol("clients"); - var kNeedDrain = /* @__PURE__ */ Symbol("needDrain"); - var kQueue = /* @__PURE__ */ Symbol("queue"); - var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve"); - var kOnDrain = /* @__PURE__ */ Symbol("onDrain"); - var kOnConnect = /* @__PURE__ */ Symbol("onConnect"); - var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect"); - var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError"); - var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher"); - var kAddClient = /* @__PURE__ */ Symbol("add client"); - var kRemoveClient = /* @__PURE__ */ Symbol("remove client"); - var kStats = /* @__PURE__ */ Symbol("stats"); - var PoolBase = class extends DispatcherBase { - constructor() { - super(); - this[kQueue] = new FixedQueue(); - this[kClients] = []; - this[kQueued] = 0; - const pool = this; - this[kOnDrain] = function onDrain(origin, targets) { - const queue = pool[kQueue]; - let needDrain = false; - while (!needDrain) { - const item = queue.shift(); - if (!item) { - break; - } - pool[kQueued]--; - needDrain = !this.dispatch(item.opts, item.handler); - } - this[kNeedDrain] = needDrain; - if (!this[kNeedDrain] && pool[kNeedDrain]) { - pool[kNeedDrain] = false; - pool.emit("drain", origin, [pool, ...targets]); - } - if (pool[kClosedResolve] && queue.isEmpty()) { - Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]); - } - }; - this[kOnConnect] = (origin, targets) => { - pool.emit("connect", origin, [pool, ...targets]); - }; - this[kOnDisconnect] = (origin, targets, err) => { - pool.emit("disconnect", origin, [pool, ...targets], err); - }; - this[kOnConnectionError] = (origin, targets, err) => { - pool.emit("connectionError", origin, [pool, ...targets], err); - }; - this[kStats] = new PoolStats(this); - } - get [kBusy]() { - return this[kNeedDrain]; - } - get [kConnected]() { - return this[kClients].filter((client) => client[kConnected]).length; - } - get [kFree]() { - return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length; - } - get [kPending]() { - let ret = this[kQueued]; - for (const { [kPending]: pending } of this[kClients]) { - ret += pending; - } - return ret; - } - get [kRunning]() { - let ret = 0; - for (const { [kRunning]: running } of this[kClients]) { - ret += running; - } - return ret; - } - get [kSize]() { - let ret = this[kQueued]; - for (const { [kSize]: size } of this[kClients]) { - ret += size; - } - return ret; - } - get stats() { - return this[kStats]; - } - async [kClose]() { - if (this[kQueue].isEmpty()) { - return Promise.all(this[kClients].map((c) => c.close())); - } else { - return new Promise((resolve5) => { - this[kClosedResolve] = resolve5; - }); - } - } - async [kDestroy](err) { - while (true) { - const item = this[kQueue].shift(); - if (!item) { - break; - } - item.handler.onError(err); - } - return Promise.all(this[kClients].map((c) => c.destroy(err))); - } - [kDispatch](opts, handler2) { - const dispatcher = this[kGetDispatcher](); - if (!dispatcher) { - this[kNeedDrain] = true; - this[kQueue].push({ opts, handler: handler2 }); - this[kQueued]++; - } else if (!dispatcher.dispatch(opts, handler2)) { - dispatcher[kNeedDrain] = true; - this[kNeedDrain] = !this[kGetDispatcher](); - } - return !this[kNeedDrain]; - } - [kAddClient](client) { - client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); - this[kClients].push(client); - if (this[kNeedDrain]) { - process.nextTick(() => { - if (this[kNeedDrain]) { - this[kOnDrain](client[kUrl], [this, client]); - } - }); - } - return this; - } - [kRemoveClient](client) { - client.close(() => { - const idx = this[kClients].indexOf(client); - if (idx !== -1) { - this[kClients].splice(idx, 1); - } - }); - this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true); - } - }; - module2.exports = { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kRemoveClient, - kGetDispatcher - }; - } -}); - -// node_modules/undici/lib/pool.js -var require_pool2 = __commonJS({ - "node_modules/undici/lib/pool.js"(exports2, module2) { - "use strict"; - var { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kGetDispatcher - } = require_pool_base2(); - var Client = require_client2(); - var { - InvalidArgumentError - } = require_errors2(); - var util = require_util9(); - var { kUrl, kInterceptors } = require_symbols6(); - var buildConnector = require_connect2(); - var kOptions = /* @__PURE__ */ Symbol("options"); - var kConnections = /* @__PURE__ */ Symbol("connections"); - var kFactory = /* @__PURE__ */ Symbol("factory"); - function defaultFactory(origin, opts) { - return new Client(origin, opts); - } - var Pool = class extends PoolBase { - constructor(origin, { - connections, - factory = defaultFactory, - connect, - connectTimeout, - tls, - maxCachedSessions, - socketPath, - autoSelectFamily, - autoSelectFamilyAttemptTimeout, - allowH2, - ...options - } = {}) { - super(); - if (connections != null && (!Number.isFinite(connections) || connections < 0)) { - throw new InvalidArgumentError("invalid connections"); + }; + module2.exports = { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kRemoveClient, + kGetDispatcher + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js +var require_pool2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) { + "use strict"; + var { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kGetDispatcher + } = require_pool_base2(); + var Client = require_client2(); + var { + InvalidArgumentError + } = require_errors2(); + var util = require_util9(); + var { kUrl, kInterceptors } = require_symbols6(); + var buildConnector = require_connect2(); + var kOptions = /* @__PURE__ */ Symbol("options"); + var kConnections = /* @__PURE__ */ Symbol("connections"); + var kFactory = /* @__PURE__ */ Symbol("factory"); + function defaultFactory(origin, opts) { + return new Client(origin, opts); + } + var Pool = class extends PoolBase { + constructor(origin, { + connections, + factory = defaultFactory, + connect, + connectTimeout, + tls, + maxCachedSessions, + socketPath, + autoSelectFamily, + autoSelectFamilyAttemptTimeout, + allowH2, + ...options + } = {}) { + super(); + if (connections != null && (!Number.isFinite(connections) || connections < 0)) { + throw new InvalidArgumentError("invalid connections"); } if (typeof factory !== "function") { throw new InvalidArgumentError("factory must be a function."); @@ -29886,11 +29445,11 @@ var require_pool2 = __commonJS({ allowH2, socketPath, timeout: connectTimeout, - ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, ...connect }); } - this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; + this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; this[kConnections] = connections || null; this[kUrl] = util.parseOrigin(origin); this[kOptions] = { ...util.deepClone(options), connect, allowH2 }; @@ -29906,24 +29465,25 @@ var require_pool2 = __commonJS({ }); } [kGetDispatcher]() { - let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]); - if (dispatcher) { - return dispatcher; + for (const client of this[kClients]) { + if (!client[kNeedDrain]) { + return client; + } } if (!this[kConnections] || this[kClients].length < this[kConnections]) { - dispatcher = this[kFactory](this[kUrl], this[kOptions]); + const dispatcher = this[kFactory](this[kUrl], this[kOptions]); this[kAddClient](dispatcher); + return dispatcher; } - return dispatcher; } }; module2.exports = Pool; } }); -// node_modules/undici/lib/balanced-pool.js +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js var require_balanced_pool2 = __commonJS({ - "node_modules/undici/lib/balanced-pool.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) { "use strict"; var { BalancedPoolMissingUpstreamError, @@ -29949,8 +29509,13 @@ var require_balanced_pool2 = __commonJS({ var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer"); var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty"); function getGreatestCommonDivisor(a, b) { - if (b === 0) return a; - return getGreatestCommonDivisor(b, a % b); + if (a === 0) return b; + while (b !== 0) { + const t = b; + b = a % b; + a = t; + } + return a; } function defaultFactory(origin, opts) { return new Pool(origin, opts); @@ -29969,7 +29534,7 @@ var require_balanced_pool2 = __commonJS({ if (typeof factory !== "function") { throw new InvalidArgumentError("factory must be a function."); } - this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; + this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; this[kFactory] = factory; for (const upstream of upstreams) { this.addUpstream(upstream); @@ -30004,7 +29569,11 @@ var require_balanced_pool2 = __commonJS({ return this; } _updateBalancedPoolStats() { - this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0); + let result = 0; + for (let i = 0; i < this[kClients].length; i++) { + result = getGreatestCommonDivisor(this[kClients][i][kWeight], result); + } + this[kGreatestCommonDivisor] = result; } removeUpstream(upstream) { const upstreamOrigin = parseOrigin(upstream).origin; @@ -30056,51 +29625,9 @@ var require_balanced_pool2 = __commonJS({ } }); -// node_modules/undici/lib/compat/dispatcher-weakref.js -var require_dispatcher_weakref2 = __commonJS({ - "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) { - "use strict"; - var { kConnected, kSize } = require_symbols6(); - var CompatWeakRef = class { - constructor(value) { - this.value = value; - } - deref() { - return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value; - } - }; - var CompatFinalizer = class { - constructor(finalizer) { - this.finalizer = finalizer; - } - register(dispatcher, key) { - if (dispatcher.on) { - dispatcher.on("disconnect", () => { - if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) { - this.finalizer(key); - } - }); - } - } - }; - module2.exports = function() { - if (process.env.NODE_V8_COVERAGE) { - return { - WeakRef: CompatWeakRef, - FinalizationRegistry: CompatFinalizer - }; - } - return { - WeakRef: global.WeakRef || CompatWeakRef, - FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer - }; - }; - } -}); - -// node_modules/undici/lib/agent.js +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js var require_agent2 = __commonJS({ - "node_modules/undici/lib/agent.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) { "use strict"; var { InvalidArgumentError } = require_errors2(); var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6(); @@ -30108,15 +29635,13 @@ var require_agent2 = __commonJS({ var Pool = require_pool2(); var Client = require_client2(); var util = require_util9(); - var createRedirectInterceptor = require_redirectInterceptor(); - var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()(); + var createRedirectInterceptor = require_redirect_interceptor2(); var kOnConnect = /* @__PURE__ */ Symbol("onConnect"); var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect"); var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError"); var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections"); var kOnDrain = /* @__PURE__ */ Symbol("onDrain"); var kFactory = /* @__PURE__ */ Symbol("factory"); - var kFinalizer = /* @__PURE__ */ Symbol("finalizer"); var kOptions = /* @__PURE__ */ Symbol("options"); function defaultFactory(origin, opts) { return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts); @@ -30136,42 +29661,29 @@ var require_agent2 = __commonJS({ if (connect && typeof connect !== "function") { connect = { ...connect }; } - this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })]; + this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })]; this[kOptions] = { ...util.deepClone(options), connect }; this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; this[kMaxRedirections] = maxRedirections; this[kFactory] = factory; this[kClients] = /* @__PURE__ */ new Map(); - this[kFinalizer] = new FinalizationRegistry2( - /* istanbul ignore next: gc is undeterministic */ - (key) => { - const ref = this[kClients].get(key); - if (ref !== void 0 && ref.deref() === void 0) { - this[kClients].delete(key); - } - } - ); - const agent = this; this[kOnDrain] = (origin, targets) => { - agent.emit("drain", origin, [agent, ...targets]); + this.emit("drain", origin, [this, ...targets]); }; this[kOnConnect] = (origin, targets) => { - agent.emit("connect", origin, [agent, ...targets]); + this.emit("connect", origin, [this, ...targets]); }; this[kOnDisconnect] = (origin, targets, err) => { - agent.emit("disconnect", origin, [agent, ...targets], err); + this.emit("disconnect", origin, [this, ...targets], err); }; this[kOnConnectionError] = (origin, targets, err) => { - agent.emit("connectionError", origin, [agent, ...targets], err); + this.emit("connectionError", origin, [this, ...targets], err); }; } get [kRunning]() { let ret = 0; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - ret += client[kRunning]; - } + for (const client of this[kClients].values()) { + ret += client[kRunning]; } return ret; } @@ -30182,33 +29694,27 @@ var require_agent2 = __commonJS({ } else { throw new InvalidArgumentError("opts.origin must be a non-empty string or URL."); } - const ref = this[kClients].get(key); - let dispatcher = ref ? ref.deref() : null; + let dispatcher = this[kClients].get(key); if (!dispatcher) { dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); - this[kClients].set(key, new WeakRef2(dispatcher)); - this[kFinalizer].register(dispatcher, key); + this[kClients].set(key, dispatcher); } return dispatcher.dispatch(opts, handler2); } async [kClose]() { const closePromises = []; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - closePromises.push(client.close()); - } + for (const client of this[kClients].values()) { + closePromises.push(client.close()); } + this[kClients].clear(); await Promise.all(closePromises); } async [kDestroy](err) { const destroyPromises = []; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - destroyPromises.push(client.destroy(err)); - } + for (const client of this[kClients].values()) { + destroyPromises.push(client.destroy(err)); } + this[kClients].clear(); await Promise.all(destroyPromises); } }; @@ -30216,153 +29722,847 @@ var require_agent2 = __commonJS({ } }); -// node_modules/undici/lib/api/readable.js -var require_readable2 = __commonJS({ - "node_modules/undici/lib/api/readable.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js +var require_proxy_agent2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) { "use strict"; - var assert = require("assert"); - var { Readable } = require("stream"); - var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2(); - var util = require_util9(); - var { ReadableStreamFrom, toUSVString } = require_util9(); - var Blob2; - var kConsume = /* @__PURE__ */ Symbol("kConsume"); - var kReading = /* @__PURE__ */ Symbol("kReading"); - var kBody = /* @__PURE__ */ Symbol("kBody"); - var kAbort = /* @__PURE__ */ Symbol("abort"); - var kContentType = /* @__PURE__ */ Symbol("kContentType"); + var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6(); + var { URL: URL2 } = require("node:url"); + var Agent = require_agent2(); + var Pool = require_pool2(); + var DispatcherBase = require_dispatcher_base2(); + var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2(); + var buildConnector = require_connect2(); + var Client = require_client2(); + var kAgent = /* @__PURE__ */ Symbol("proxy agent"); + var kClient = /* @__PURE__ */ Symbol("proxy client"); + var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers"); + var kRequestTls = /* @__PURE__ */ Symbol("request tls settings"); + var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings"); + var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function"); + var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy"); + function defaultProtocolPort(protocol) { + return protocol === "https:" ? 443 : 80; + } + function defaultFactory(origin, opts) { + return new Pool(origin, opts); + } var noop3 = () => { }; - module2.exports = class BodyReadable extends Readable { - constructor({ - resume, - abort, - contentType = "", - highWaterMark = 64 * 1024 - // Same as nodejs fs streams. - }) { - super({ - autoDestroy: true, - read: resume, - highWaterMark - }); - this._readableState.dataEmitted = false; - this[kAbort] = abort; - this[kConsume] = null; - this[kBody] = null; - this[kContentType] = contentType; - this[kReading] = false; + function defaultAgentFactory(origin, opts) { + if (opts.connections === 1) { + return new Client(origin, opts); } - destroy(err) { - if (this.destroyed) { - return this; - } - if (!err && !this._readableState.endEmitted) { - err = new RequestAbortedError(); + return new Pool(origin, opts); + } + var Http1ProxyWrapper = class extends DispatcherBase { + #client; + constructor(proxyUrl, { headers = {}, connect, factory }) { + super(); + if (!proxyUrl) { + throw new InvalidArgumentError("Proxy URL is mandatory"); } - if (err) { - this[kAbort](); + this[kProxyHeaders] = headers; + if (factory) { + this.#client = factory(proxyUrl, { connect }); + } else { + this.#client = new Client(proxyUrl, { connect }); } - return super.destroy(err); } - emit(ev, ...args) { - if (ev === "data") { - this._readableState.dataEmitted = true; - } else if (ev === "error") { - this._readableState.errorEmitted = true; + [kDispatch](opts, handler2) { + const onHeaders = handler2.onHeaders; + handler2.onHeaders = function(statusCode, data, resume) { + if (statusCode === 407) { + if (typeof handler2.onError === "function") { + handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)")); + } + return; + } + if (onHeaders) onHeaders.call(this, statusCode, data, resume); + }; + const { + origin, + path: path7 = "/", + headers = {} + } = opts; + opts.path = origin + path7; + if (!("host" in headers) && !("Host" in headers)) { + const { host } = new URL2(origin); + headers.host = host; } - return super.emit(ev, ...args); + opts.headers = { ...this[kProxyHeaders], ...headers }; + return this.#client[kDispatch](opts, handler2); } - on(ev, ...args) { - if (ev === "data" || ev === "readable") { - this[kReading] = true; - } - return super.on(ev, ...args); + async [kClose]() { + return this.#client.close(); } - addListener(ev, ...args) { - return this.on(ev, ...args); + async [kDestroy](err) { + return this.#client.destroy(err); } - off(ev, ...args) { - const ret = super.off(ev, ...args); - if (ev === "data" || ev === "readable") { - this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0; + }; + var ProxyAgent = class extends DispatcherBase { + constructor(opts) { + super(); + if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) { + throw new InvalidArgumentError("Proxy uri is mandatory"); } - return ret; - } - removeListener(ev, ...args) { - return this.off(ev, ...args); - } - push(chunk) { - if (this[kConsume] && chunk !== null && this.readableLength === 0) { - consumePush(this[kConsume], chunk); - return this[kReading] ? super.push(chunk) : true; + const { clientFactory = defaultFactory } = opts; + if (typeof clientFactory !== "function") { + throw new InvalidArgumentError("Proxy opts.clientFactory must be a function."); } - return super.push(chunk); - } - // https://fetch.spec.whatwg.org/#dom-body-text - async text() { - return consume(this, "text"); - } - // https://fetch.spec.whatwg.org/#dom-body-json - async json() { - return consume(this, "json"); - } - // https://fetch.spec.whatwg.org/#dom-body-blob - async blob() { - return consume(this, "blob"); - } - // https://fetch.spec.whatwg.org/#dom-body-arraybuffer - async arrayBuffer() { - return consume(this, "arrayBuffer"); - } - // https://fetch.spec.whatwg.org/#dom-body-formdata - async formData() { - throw new NotSupportedError(); - } - // https://fetch.spec.whatwg.org/#dom-body-bodyused - get bodyUsed() { - return util.isDisturbed(this); - } - // https://fetch.spec.whatwg.org/#dom-body-body - get body() { - if (!this[kBody]) { - this[kBody] = ReadableStreamFrom(this); - if (this[kConsume]) { - this[kBody].getReader(); - assert(this[kBody].locked); - } + const { proxyTunnel = true } = opts; + const url = this.#getUrl(opts); + const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url; + this[kProxy] = { uri: href, protocol }; + this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : []; + this[kRequestTls] = opts.requestTls; + this[kProxyTls] = opts.proxyTls; + this[kProxyHeaders] = opts.headers || {}; + this[kTunnelProxy] = proxyTunnel; + if (opts.auth && opts.token) { + throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token"); + } else if (opts.auth) { + this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`; + } else if (opts.token) { + this[kProxyHeaders]["proxy-authorization"] = opts.token; + } else if (username && password) { + this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`; } - return this[kBody]; - } - dump(opts) { - let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144; - const signal = opts && opts.signal; - if (signal) { - try { - if (typeof signal !== "object" || !("aborted" in signal)) { - throw new InvalidArgumentError("signal must be an AbortSignal"); - } - util.throwIfAborted(signal); - } catch (err) { - return Promise.reject(err); + const connect = buildConnector({ ...opts.proxyTls }); + this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }); + const agentFactory = opts.factory || defaultAgentFactory; + const factory = (origin2, options) => { + const { protocol: protocol2 } = new URL2(origin2); + if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") { + return new Http1ProxyWrapper(this[kProxy].uri, { + headers: this[kProxyHeaders], + connect, + factory: agentFactory + }); } - } - if (this.closed) { - return Promise.resolve(null); - } - return new Promise((resolve5, reject) => { - const signalListenerCleanup = signal ? util.addAbortListener(signal, () => { - this.destroy(); - }) : noop3; - this.on("close", function() { - signalListenerCleanup(); - if (signal && signal.aborted) { - reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" })); - } else { - resolve5(null); - } - }).on("error", noop3).on("data", function(chunk) { - limit -= chunk.length; + return agentFactory(origin2, options); + }; + this[kClient] = clientFactory(url, { connect }); + this[kAgent] = new Agent({ + ...opts, + factory, + connect: async (opts2, callback) => { + let requestedPath = opts2.host; + if (!opts2.port) { + requestedPath += `:${defaultProtocolPort(opts2.protocol)}`; + } + try { + const { socket, statusCode } = await this[kClient].connect({ + origin, + port, + path: requestedPath, + signal: opts2.signal, + headers: { + ...this[kProxyHeaders], + host: opts2.host + }, + servername: this[kProxyTls]?.servername || proxyHostname + }); + if (statusCode !== 200) { + socket.on("error", noop3).destroy(); + callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`)); + } + if (opts2.protocol !== "https:") { + callback(null, socket); + return; + } + let servername; + if (this[kRequestTls]) { + servername = this[kRequestTls].servername; + } else { + servername = opts2.servername; + } + this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback); + } catch (err) { + if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") { + callback(new SecureProxyConnectionError(err)); + } else { + callback(err); + } + } + } + }); + } + dispatch(opts, handler2) { + const headers = buildHeaders(opts.headers); + throwIfProxyAuthIsSent(headers); + if (headers && !("host" in headers) && !("Host" in headers)) { + const { host } = new URL2(opts.origin); + headers.host = host; + } + return this[kAgent].dispatch( + { + ...opts, + headers + }, + handler2 + ); + } + /** + * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts + * @returns {URL} + */ + #getUrl(opts) { + if (typeof opts === "string") { + return new URL2(opts); + } else if (opts instanceof URL2) { + return opts; + } else { + return new URL2(opts.uri); + } + } + async [kClose]() { + await this[kAgent].close(); + await this[kClient].close(); + } + async [kDestroy]() { + await this[kAgent].destroy(); + await this[kClient].destroy(); + } + }; + function buildHeaders(headers) { + if (Array.isArray(headers)) { + const headersPair = {}; + for (let i = 0; i < headers.length; i += 2) { + headersPair[headers[i]] = headers[i + 1]; + } + return headersPair; + } + return headers; + } + function throwIfProxyAuthIsSent(headers) { + const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization"); + if (existProxyAuth) { + throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor"); + } + } + module2.exports = ProxyAgent; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +var require_env_http_proxy_agent2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) { + "use strict"; + var DispatcherBase = require_dispatcher_base2(); + var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6(); + var ProxyAgent = require_proxy_agent2(); + var Agent = require_agent2(); + var DEFAULT_PORTS = { + "http:": 80, + "https:": 443 + }; + var experimentalWarned = false; + var EnvHttpProxyAgent = class extends DispatcherBase { + #noProxyValue = null; + #noProxyEntries = null; + #opts = null; + constructor(opts = {}) { + super(); + this.#opts = opts; + if (!experimentalWarned) { + experimentalWarned = true; + process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", { + code: "UNDICI-EHPA" + }); + } + const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts; + this[kNoProxyAgent] = new Agent(agentOpts); + const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY; + if (HTTP_PROXY) { + this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY }); + } else { + this[kHttpProxyAgent] = this[kNoProxyAgent]; + } + const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY; + if (HTTPS_PROXY) { + this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY }); + } else { + this[kHttpsProxyAgent] = this[kHttpProxyAgent]; + } + this.#parseNoProxy(); + } + [kDispatch](opts, handler2) { + const url = new URL(opts.origin); + const agent = this.#getProxyAgentForUrl(url); + return agent.dispatch(opts, handler2); + } + async [kClose]() { + await this[kNoProxyAgent].close(); + if (!this[kHttpProxyAgent][kClosed]) { + await this[kHttpProxyAgent].close(); + } + if (!this[kHttpsProxyAgent][kClosed]) { + await this[kHttpsProxyAgent].close(); + } + } + async [kDestroy](err) { + await this[kNoProxyAgent].destroy(err); + if (!this[kHttpProxyAgent][kDestroyed]) { + await this[kHttpProxyAgent].destroy(err); + } + if (!this[kHttpsProxyAgent][kDestroyed]) { + await this[kHttpsProxyAgent].destroy(err); + } + } + #getProxyAgentForUrl(url) { + let { protocol, host: hostname, port } = url; + hostname = hostname.replace(/:\d*$/, "").toLowerCase(); + port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0; + if (!this.#shouldProxy(hostname, port)) { + return this[kNoProxyAgent]; + } + if (protocol === "https:") { + return this[kHttpsProxyAgent]; + } + return this[kHttpProxyAgent]; + } + #shouldProxy(hostname, port) { + if (this.#noProxyChanged) { + this.#parseNoProxy(); + } + if (this.#noProxyEntries.length === 0) { + return true; + } + if (this.#noProxyValue === "*") { + return false; + } + for (let i = 0; i < this.#noProxyEntries.length; i++) { + const entry = this.#noProxyEntries[i]; + if (entry.port && entry.port !== port) { + continue; + } + if (!/^[.*]/.test(entry.hostname)) { + if (hostname === entry.hostname) { + return false; + } + } else { + if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) { + return false; + } + } + } + return true; + } + #parseNoProxy() { + const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv; + const noProxySplit = noProxyValue.split(/[,\s]/); + const noProxyEntries = []; + for (let i = 0; i < noProxySplit.length; i++) { + const entry = noProxySplit[i]; + if (!entry) { + continue; + } + const parsed = entry.match(/^(.+):(\d+)$/); + noProxyEntries.push({ + hostname: (parsed ? parsed[1] : entry).toLowerCase(), + port: parsed ? Number.parseInt(parsed[2], 10) : 0 + }); + } + this.#noProxyValue = noProxyValue; + this.#noProxyEntries = noProxyEntries; + } + get #noProxyChanged() { + if (this.#opts.noProxy !== void 0) { + return false; + } + return this.#noProxyValue !== this.#noProxyEnv; + } + get #noProxyEnv() { + return process.env.no_proxy ?? process.env.NO_PROXY ?? ""; + } + }; + module2.exports = EnvHttpProxyAgent; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js +var require_retry_handler2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var { kRetryHandlerDefaultRetry } = require_symbols6(); + var { RequestRetryError } = require_errors2(); + var { + isDisturbed, + parseHeaders, + parseRangeHeader, + wrapRequestBody + } = require_util9(); + function calculateRetryAfterHeader(retryAfter) { + const current = Date.now(); + return new Date(retryAfter).getTime() - current; + } + var RetryHandler = class _RetryHandler { + constructor(opts, handlers) { + const { retryOptions, ...dispatchOpts } = opts; + const { + // Retry scoped + retry: retryFn, + maxRetries, + maxTimeout, + minTimeout, + timeoutFactor, + // Response scoped + methods, + errorCodes, + retryAfter, + statusCodes + } = retryOptions ?? {}; + this.dispatch = handlers.dispatch; + this.handler = handlers.handler; + this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) }; + this.abort = null; + this.aborted = false; + this.retryOpts = { + retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry], + retryAfter: retryAfter ?? true, + maxTimeout: maxTimeout ?? 30 * 1e3, + // 30s, + minTimeout: minTimeout ?? 500, + // .5s + timeoutFactor: timeoutFactor ?? 2, + maxRetries: maxRetries ?? 5, + // What errors we should retry + methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"], + // Indicates which errors to retry + statusCodes: statusCodes ?? [500, 502, 503, 504, 429], + // List of errors to retry + errorCodes: errorCodes ?? [ + "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((reason) => { + this.aborted = true; + if (this.abort) { + this.abort(reason); + } else { + this.reason = reason; + } + }); + } + onRequestSent() { + if (this.handler.onRequestSent) { + this.handler.onRequestSent(); + } + } + onUpgrade(statusCode, headers, socket) { + if (this.handler.onUpgrade) { + this.handler.onUpgrade(statusCode, headers, socket); + } + } + onConnect(abort) { + if (this.aborted) { + abort(this.reason); + } else { + this.abort = abort; + } + } + onBodySent(chunk) { + if (this.handler.onBodySent) return this.handler.onBodySent(chunk); + } + static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) { + const { statusCode, code, headers } = err; + const { method, retryOptions } = opts; + const { + maxRetries, + minTimeout, + maxTimeout, + timeoutFactor, + statusCodes, + errorCodes, + methods + } = retryOptions; + const { counter } = state; + if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) { + cb(err); + return; + } + if (Array.isArray(methods) && !methods.includes(method)) { + cb(err); + return; + } + if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) { + cb(err); + return; + } + if (counter > maxRetries) { + cb(err); + return; + } + let retryAfterHeader = headers?.["retry-after"]; + if (retryAfterHeader) { + retryAfterHeader = Number(retryAfterHeader); + retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3; + } + const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout); + setTimeout(() => cb(null), retryTimeout); + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const headers = parseHeaders(rawHeaders); + this.retryCount += 1; + if (statusCode >= 300) { + if (this.retryOpts.statusCodes.includes(statusCode) === false) { + return this.handler.onHeaders( + statusCode, + rawHeaders, + resume, + statusMessage + ); + } else { + this.abort( + new RequestRetryError("Request failed", statusCode, { + headers, + data: { + count: this.retryCount + } + }) + ); + return false; + } + } + if (this.resume != null) { + this.resume = null; + if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) { + this.abort( + new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, { + headers, + data: { count: this.retryCount } + }) + ); + return false; + } + const contentRange = parseRangeHeader(headers["content-range"]); + if (!contentRange) { + this.abort( + new RequestRetryError("Content-Range mismatch", statusCode, { + headers, + data: { count: this.retryCount } + }) + ); + return false; + } + if (this.etag != null && this.etag !== headers.etag) { + this.abort( + new RequestRetryError("ETag mismatch", statusCode, { + headers, + data: { count: this.retryCount } + }) + ); + return false; + } + const { start, size, end = size - 1 } = contentRange; + assert(this.start === start, "content-range mismatch"); + assert(this.end == null || this.end === end, "content-range mismatch"); + this.resume = resume; + return true; + } + if (this.end == null) { + if (statusCode === 206) { + const range = parseRangeHeader(headers["content-range"]); + if (range == null) { + return this.handler.onHeaders( + statusCode, + rawHeaders, + resume, + statusMessage + ); + } + const { start, size, end = size - 1 } = range; + assert( + start != null && Number.isFinite(start), + "content-range mismatch" + ); + assert(end != null && Number.isFinite(end), "invalid content-length"); + this.start = start; + this.end = end; + } + if (this.end == null) { + const contentLength = headers["content-length"]; + this.end = contentLength != null ? Number(contentLength) - 1 : null; + } + assert(Number.isFinite(this.start)); + assert( + this.end == null || Number.isFinite(this.end), + "invalid content-length" + ); + this.resume = resume; + this.etag = headers.etag != null ? headers.etag : null; + if (this.etag != null && this.etag.startsWith("W/")) { + this.etag = null; + } + return this.handler.onHeaders( + statusCode, + rawHeaders, + resume, + statusMessage + ); + } + const err = new RequestRetryError("Request failed", statusCode, { + headers, + data: { count: this.retryCount } + }); + this.abort(err); + return false; + } + onData(chunk) { + this.start += chunk.length; + return this.handler.onData(chunk); + } + onComplete(rawTrailers) { + this.retryCount = 0; + return this.handler.onComplete(rawTrailers); + } + onError(err) { + if (this.aborted || isDisturbed(this.opts.body)) { + return this.handler.onError(err); + } + if (this.retryCount - this.retryCountCheckpoint > 0) { + this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint); + } else { + this.retryCount += 1; + } + this.retryOpts.retry( + err, + { + state: { counter: this.retryCount }, + opts: { retryOptions: this.retryOpts, ...this.opts } + }, + onRetry.bind(this) + ); + function onRetry(err2) { + if (err2 != null || this.aborted || isDisturbed(this.opts.body)) { + return this.handler.onError(err2); + } + if (this.start !== 0) { + const headers = { range: `bytes=${this.start}-${this.end ?? ""}` }; + if (this.etag != null) { + headers["if-match"] = this.etag; + } + this.opts = { + ...this.opts, + headers: { + ...this.opts.headers, + ...headers + } + }; + } + try { + this.retryCountCheckpoint = this.retryCount; + this.dispatch(this.opts, this); + } catch (err3) { + this.handler.onError(err3); + } + } + } + }; + module2.exports = RetryHandler; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js +var require_retry_agent2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) { + "use strict"; + var Dispatcher = require_dispatcher2(); + var RetryHandler = require_retry_handler2(); + var RetryAgent = class extends Dispatcher { + #agent = null; + #options = null; + constructor(agent, options = {}) { + super(options); + this.#agent = agent; + this.#options = options; + } + dispatch(opts, handler2) { + const retry2 = new RetryHandler({ + ...opts, + retryOptions: this.#options + }, { + dispatch: this.#agent.dispatch.bind(this.#agent), + handler: handler2 + }); + return this.#agent.dispatch(opts, retry2); + } + close() { + return this.#agent.close(); + } + destroy() { + return this.#agent.destroy(); + } + }; + module2.exports = RetryAgent; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/api/readable.js +var require_readable2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var { Readable } = require("node:stream"); + var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2(); + var util = require_util9(); + var { ReadableStreamFrom } = require_util9(); + var kConsume = /* @__PURE__ */ Symbol("kConsume"); + var kReading = /* @__PURE__ */ Symbol("kReading"); + var kBody = /* @__PURE__ */ Symbol("kBody"); + var kAbort = /* @__PURE__ */ Symbol("kAbort"); + var kContentType = /* @__PURE__ */ Symbol("kContentType"); + var kContentLength = /* @__PURE__ */ Symbol("kContentLength"); + var noop3 = () => { + }; + var BodyReadable = class extends Readable { + constructor({ + resume, + abort, + contentType = "", + contentLength, + highWaterMark = 64 * 1024 + // Same as nodejs fs streams. + }) { + super({ + autoDestroy: true, + read: resume, + highWaterMark + }); + this._readableState.dataEmitted = false; + this[kAbort] = abort; + this[kConsume] = null; + this[kBody] = null; + this[kContentType] = contentType; + this[kContentLength] = contentLength; + this[kReading] = false; + } + destroy(err) { + if (!err && !this._readableState.endEmitted) { + err = new RequestAbortedError(); + } + if (err) { + this[kAbort](); + } + return super.destroy(err); + } + _destroy(err, callback) { + if (!this[kReading]) { + setImmediate(() => { + callback(err); + }); + } else { + callback(err); + } + } + on(ev, ...args) { + if (ev === "data" || ev === "readable") { + this[kReading] = true; + } + return super.on(ev, ...args); + } + addListener(ev, ...args) { + return this.on(ev, ...args); + } + off(ev, ...args) { + const ret = super.off(ev, ...args); + if (ev === "data" || ev === "readable") { + this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0; + } + return ret; + } + removeListener(ev, ...args) { + return this.off(ev, ...args); + } + push(chunk) { + if (this[kConsume] && chunk !== null) { + consumePush(this[kConsume], chunk); + return this[kReading] ? super.push(chunk) : true; + } + return super.push(chunk); + } + // https://fetch.spec.whatwg.org/#dom-body-text + async text() { + return consume(this, "text"); + } + // https://fetch.spec.whatwg.org/#dom-body-json + async json() { + return consume(this, "json"); + } + // https://fetch.spec.whatwg.org/#dom-body-blob + async blob() { + return consume(this, "blob"); + } + // https://fetch.spec.whatwg.org/#dom-body-bytes + async bytes() { + return consume(this, "bytes"); + } + // https://fetch.spec.whatwg.org/#dom-body-arraybuffer + async arrayBuffer() { + return consume(this, "arrayBuffer"); + } + // https://fetch.spec.whatwg.org/#dom-body-formdata + async formData() { + throw new NotSupportedError(); + } + // https://fetch.spec.whatwg.org/#dom-body-bodyused + get bodyUsed() { + return util.isDisturbed(this); + } + // https://fetch.spec.whatwg.org/#dom-body-body + get body() { + if (!this[kBody]) { + this[kBody] = ReadableStreamFrom(this); + if (this[kConsume]) { + this[kBody].getReader(); + assert(this[kBody].locked); + } + } + return this[kBody]; + } + async dump(opts) { + let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024; + const signal = opts?.signal; + if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) { + throw new InvalidArgumentError("signal must be an AbortSignal"); + } + signal?.throwIfAborted(); + if (this._readableState.closeEmitted) { + return null; + } + return await new Promise((resolve5, reject) => { + if (this[kContentLength] > limit) { + this.destroy(new AbortError()); + } + const onAbort = () => { + this.destroy(signal.reason ?? new AbortError()); + }; + signal?.addEventListener("abort", onAbort); + this.on("close", function() { + signal?.removeEventListener("abort", onAbort); + if (signal?.aborted) { + reject(signal.reason ?? new AbortError()); + } else { + resolve5(null); + } + }).on("error", noop3).on("data", function(chunk) { + limit -= chunk.length; if (limit <= 0) { this.destroy(); } @@ -30377,27 +30577,39 @@ var require_readable2 = __commonJS({ return util.isDisturbed(self2) || isLocked(self2); } async function consume(stream, type2) { - if (isUnusable(stream)) { - throw new TypeError("unusable"); - } assert(!stream[kConsume]); return new Promise((resolve5, reject) => { - stream[kConsume] = { - type: type2, - stream, - resolve: resolve5, - reject, - length: 0, - body: [] - }; - stream.on("error", function(err) { - consumeFinish(this[kConsume], err); - }).on("close", function() { - if (this[kConsume].body !== null) { - consumeFinish(this[kConsume], new RequestAbortedError()); + if (isUnusable(stream)) { + const rState = stream._readableState; + if (rState.destroyed && rState.closeEmitted === false) { + stream.on("error", (err) => { + reject(err); + }).on("close", () => { + reject(new TypeError("unusable")); + }); + } else { + reject(rState.errored ?? new TypeError("unusable")); } - }); - process.nextTick(consumeStart, stream[kConsume]); + } else { + queueMicrotask(() => { + stream[kConsume] = { + type: type2, + stream, + resolve: resolve5, + reject, + length: 0, + body: [] + }; + stream.on("error", function(err) { + consumeFinish(this[kConsume], err); + }).on("close", function() { + if (this[kConsume].body !== null) { + consumeFinish(this[kConsume], new RequestAbortedError()); + } + }); + consumeStart(stream[kConsume]); + }); + } }); } function consumeStart(consume2) { @@ -30405,8 +30617,16 @@ var require_readable2 = __commonJS({ return; } const { _readableState: state } = consume2.stream; - for (const chunk of state.buffer) { - consumePush(consume2, chunk); + if (state.bufferIndex) { + const start = state.bufferIndex; + const end = state.buffer.length; + for (let n = start; n < end; n++) { + consumePush(consume2, state.buffer[n]); + } + } else { + for (const chunk of state.buffer) { + consumePush(consume2, chunk); + } } if (state.endEmitted) { consumeEnd(this[kConsume]); @@ -30419,26 +30639,44 @@ var require_readable2 = __commonJS({ while (consume2.stream.read() != null) { } } + function chunksDecode(chunks, length) { + if (chunks.length === 0 || length === 0) { + return ""; + } + const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length); + const bufferLength = buffer.length; + const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0; + return buffer.utf8Slice(start, bufferLength); + } + function chunksConcat(chunks, length) { + if (chunks.length === 0 || length === 0) { + return new Uint8Array(0); + } + if (chunks.length === 1) { + return new Uint8Array(chunks[0]); + } + const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer); + let offset = 0; + for (let i = 0; i < chunks.length; ++i) { + const chunk = chunks[i]; + buffer.set(chunk, offset); + offset += chunk.length; + } + return buffer; + } function consumeEnd(consume2) { const { type: type2, body, resolve: resolve5, stream, length } = consume2; try { if (type2 === "text") { - resolve5(toUSVString(Buffer.concat(body))); + resolve5(chunksDecode(body, length)); } else if (type2 === "json") { - resolve5(JSON.parse(Buffer.concat(body))); + resolve5(JSON.parse(chunksDecode(body, length))); } else if (type2 === "arrayBuffer") { - const dst = new Uint8Array(length); - let pos = 0; - for (const buf of body) { - dst.set(buf, pos); - pos += buf.byteLength; - } - resolve5(dst.buffer); + resolve5(chunksConcat(body, length).buffer); } else if (type2 === "blob") { - if (!Blob2) { - Blob2 = require("buffer").Blob; - } - resolve5(new Blob2(body, { type: stream[kContentType] })); + resolve5(new Blob(body, { type: stream[kContentType] })); + } else if (type2 === "bytes") { + resolve5(chunksConcat(body, length)); } consumeFinish(consume2); } catch (err) { @@ -30465,114 +30703,81 @@ var require_readable2 = __commonJS({ consume2.length = 0; consume2.body = null; } + module2.exports = { Readable: BodyReadable, chunksDecode }; } }); -// node_modules/undici/lib/api/util.js +// node_modules/@actions/github/node_modules/undici/lib/api/util.js var require_util11 = __commonJS({ - "node_modules/undici/lib/api/util.js"(exports2, module2) { - var assert = require("assert"); + "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) { + var assert = require("node:assert"); var { ResponseStatusCodeError } = require_errors2(); - var { toUSVString } = require_util9(); + var { chunksDecode } = require_readable2(); + var CHUNK_LIMIT = 128 * 1024; async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) { assert(body); let chunks = []; - let limit = 0; - for await (const chunk of body) { - chunks.push(chunk); - limit += chunk.length; - if (limit > 128 * 1024) { - chunks = null; - break; + let length = 0; + try { + for await (const chunk of body) { + chunks.push(chunk); + length += chunk.length; + if (length > CHUNK_LIMIT) { + chunks = []; + length = 0; + break; + } } + } catch { + chunks = []; + length = 0; } - if (statusCode === 204 || !contentType || !chunks) { - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); + const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`; + if (statusCode === 204 || !contentType || !length) { + queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers))); return; } + const stackTraceLimit = Error.stackTraceLimit; + Error.stackTraceLimit = 0; + let payload; try { - if (contentType.startsWith("application/json")) { - const payload = JSON.parse(toUSVString(Buffer.concat(chunks))); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; - } - if (contentType.startsWith("text/")) { - const payload = toUSVString(Buffer.concat(chunks)); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; + if (isContentTypeApplicationJson(contentType)) { + payload = JSON.parse(chunksDecode(chunks, length)); + } else if (isContentTypeText(contentType)) { + payload = chunksDecode(chunks, length); } - } catch (err) { - } - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); - } - module2.exports = { getResolveErrorBodyCallback }; - } -}); - -// node_modules/undici/lib/api/abort-signal.js -var require_abort_signal2 = __commonJS({ - "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) { - var { addAbortListener } = require_util9(); - var { RequestAbortedError } = require_errors2(); - var kListener = /* @__PURE__ */ Symbol("kListener"); - var kSignal = /* @__PURE__ */ Symbol("kSignal"); - function abort(self2) { - if (self2.abort) { - self2.abort(); - } else { - self2.onError(new RequestAbortedError()); - } - } - function addSignal(self2, signal) { - self2[kSignal] = null; - self2[kListener] = null; - if (!signal) { - return; - } - if (signal.aborted) { - abort(self2); - return; - } - self2[kSignal] = signal; - self2[kListener] = () => { - abort(self2); - }; - addAbortListener(self2[kSignal], self2[kListener]); - } - function removeSignal(self2) { - if (!self2[kSignal]) { - return; - } - if ("removeEventListener" in self2[kSignal]) { - self2[kSignal].removeEventListener("abort", self2[kListener]); - } else { - self2[kSignal].removeListener("abort", self2[kListener]); + } catch { + } finally { + Error.stackTraceLimit = stackTraceLimit; } - self2[kSignal] = null; - self2[kListener] = null; + queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload))); } + var isContentTypeApplicationJson = (contentType) => { + return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n"; + }; + var isContentTypeText = (contentType) => { + return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t"; + }; module2.exports = { - addSignal, - removeSignal + getResolveErrorBodyCallback, + isContentTypeApplicationJson, + isContentTypeText }; } }); -// node_modules/undici/lib/api/api-request.js +// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js var require_api_request2 = __commonJS({ - "node_modules/undici/lib/api/api-request.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) { "use strict"; - var Readable = require_readable2(); - var { - InvalidArgumentError, - RequestAbortedError - } = require_errors2(); + var assert = require("node:assert"); + var { Readable } = require_readable2(); + var { InvalidArgumentError, RequestAbortedError } = require_errors2(); var util = require_util9(); var { getResolveErrorBodyCallback } = require_util11(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal2(); + var { AsyncResource } = require("node:async_hooks"); var RequestHandler = class extends AsyncResource { constructor(opts, callback) { if (!opts || typeof opts !== "object") { @@ -30602,6 +30807,7 @@ var require_api_request2 = __commonJS({ } throw err; } + this.method = method; this.responseHeaders = responseHeaders || null; this.opaque = opaque || null; this.callback = callback; @@ -30613,17 +30819,40 @@ var require_api_request2 = __commonJS({ this.onInfo = onInfo || null; this.throwOnError = throwOnError; this.highWaterMark = highWaterMark; + this.signal = signal; + this.reason = null; + this.removeAbortListener = null; if (util.isStream(body)) { body.on("error", (err) => { this.onError(err); }); } - addSignal(this, signal); + if (this.signal) { + if (this.signal.aborted) { + this.reason = this.signal.reason ?? new RequestAbortedError(); + } else { + this.removeAbortListener = util.addAbortListener(this.signal, () => { + this.reason = this.signal.reason ?? new RequestAbortedError(); + if (this.res) { + util.destroy(this.res.on("error", util.nop), this.reason); + } else if (this.abort) { + this.abort(this.reason); + } + if (this.removeAbortListener) { + this.res?.off("close", this.removeAbortListener); + this.removeAbortListener(); + this.removeAbortListener = null; + } + }); + } + } } onConnect(abort, context2) { - if (!this.callback) { - throw new RequestAbortedError(); + if (this.reason) { + abort(this.reason); + return; } + assert(this.callback); this.abort = abort; this.context = context2; } @@ -30638,15 +30867,25 @@ var require_api_request2 = __commonJS({ } const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; const contentType = parsedHeaders["content-type"]; - const body = new Readable({ resume, abort, contentType, highWaterMark }); + const contentLength = parsedHeaders["content-length"]; + const res = new Readable({ + resume, + abort, + contentType, + contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null, + highWaterMark + }); + if (this.removeAbortListener) { + res.on("close", this.removeAbortListener); + } this.callback = null; - this.res = body; + this.res = res; if (callback !== null) { if (this.throwOnError && statusCode >= 400) { this.runInAsyncScope( getResolveErrorBodyCallback, null, - { callback, body, contentType, statusCode, statusMessage, headers } + { callback, body: res, contentType, statusCode, statusMessage, headers } ); } else { this.runInAsyncScope(callback, null, null, { @@ -30654,25 +30893,21 @@ var require_api_request2 = __commonJS({ headers, trailers: this.trailers, opaque, - body, + body: res, context: context2 }); } } } onData(chunk) { - const { res } = this; - return res.push(chunk); + return this.res.push(chunk); } onComplete(trailers) { - const { res } = this; - removeSignal(this); util.parseHeaders(trailers, this.trailers); - res.push(null); + this.res.push(null); } onError(err) { const { res, callback, body, opaque } = this; - removeSignal(this); if (callback) { this.callback = null; queueMicrotask(() => { @@ -30689,6 +30924,11 @@ var require_api_request2 = __commonJS({ this.body = null; util.destroy(body, err); } + if (this.removeAbortListener) { + res?.off("close", this.removeAbortListener); + this.removeAbortListener(); + this.removeAbortListener = null; + } } }; function request2(opts, callback) { @@ -30705,7 +30945,7 @@ var require_api_request2 = __commonJS({ if (typeof callback !== "function") { throw err; } - const opaque = opts && opts.opaque; + const opaque = opts?.opaque; queueMicrotask(() => callback(err, { opaque })); } } @@ -30714,34 +30954,82 @@ var require_api_request2 = __commonJS({ } }); -// node_modules/undici/lib/api/api-stream.js -var require_api_stream2 = __commonJS({ - "node_modules/undici/lib/api/api-stream.js"(exports2, module2) { - "use strict"; - var { finished, PassThrough } = require("stream"); - var { - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError - } = require_errors2(); - var util = require_util9(); - var { getResolveErrorBodyCallback } = require_util11(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal2(); - var StreamHandler = class extends AsyncResource { - constructor(opts, factory, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts; - try { - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("invalid factory"); - } - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { +// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js +var require_abort_signal2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) { + var { addAbortListener } = require_util9(); + var { RequestAbortedError } = require_errors2(); + var kListener = /* @__PURE__ */ Symbol("kListener"); + var kSignal = /* @__PURE__ */ Symbol("kSignal"); + function abort(self2) { + if (self2.abort) { + self2.abort(self2[kSignal]?.reason); + } else { + self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError(); + } + removeSignal(self2); + } + function addSignal(self2, signal) { + self2.reason = null; + self2[kSignal] = null; + self2[kListener] = null; + if (!signal) { + return; + } + if (signal.aborted) { + abort(self2); + return; + } + self2[kSignal] = signal; + self2[kListener] = () => { + abort(self2); + }; + addAbortListener(self2[kSignal], self2[kListener]); + } + function removeSignal(self2) { + if (!self2[kSignal]) { + return; + } + if ("removeEventListener" in self2[kSignal]) { + self2[kSignal].removeEventListener("abort", self2[kListener]); + } else { + self2[kSignal].removeListener("abort", self2[kListener]); + } + self2[kSignal] = null; + self2[kListener] = null; + } + module2.exports = { + addSignal, + removeSignal + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js +var require_api_stream2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) { + "use strict"; + var assert = require("node:assert"); + var { finished, PassThrough } = require("node:stream"); + var { InvalidArgumentError, InvalidReturnValueError } = require_errors2(); + var util = require_util9(); + var { getResolveErrorBodyCallback } = require_util11(); + var { AsyncResource } = require("node:async_hooks"); + var { addSignal, removeSignal } = require_abort_signal2(); + var StreamHandler = class extends AsyncResource { + constructor(opts, factory, callback) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts; + try { + if (typeof callback !== "function") { + throw new InvalidArgumentError("invalid callback"); + } + if (typeof factory !== "function") { + throw new InvalidArgumentError("invalid factory"); + } + if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); } if (method === "CONNECT") { @@ -30776,9 +31064,11 @@ var require_api_stream2 = __commonJS({ addSignal(this, signal); } onConnect(abort, context2) { - if (!this.callback) { - throw new RequestAbortedError(); + if (this.reason) { + abort(this.reason); + return; } + assert(this.callback); this.abort = abort; this.context = context2; } @@ -30831,7 +31121,7 @@ var require_api_stream2 = __commonJS({ } res.on("drain", resume); this.res = res; - const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain; + const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain; return needDrain !== true; } onData(chunk) { @@ -30880,7 +31170,7 @@ var require_api_stream2 = __commonJS({ if (typeof callback !== "function") { throw err; } - const opaque = opts && opts.opaque; + const opaque = opts?.opaque; queueMicrotask(() => callback(err, { opaque })); } } @@ -30888,24 +31178,24 @@ var require_api_stream2 = __commonJS({ } }); -// node_modules/undici/lib/api/api-pipeline.js +// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js var require_api_pipeline2 = __commonJS({ - "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) { "use strict"; var { Readable, Duplex, PassThrough - } = require("stream"); + } = require("node:stream"); var { InvalidArgumentError, InvalidReturnValueError, RequestAbortedError } = require_errors2(); var util = require_util9(); - var { AsyncResource } = require("async_hooks"); + var { AsyncResource } = require("node:async_hooks"); var { addSignal, removeSignal } = require_abort_signal2(); - var assert = require("assert"); + var assert = require("node:assert"); var kResume = /* @__PURE__ */ Symbol("resume"); var PipelineRequest = class extends Readable { constructor() { @@ -30970,7 +31260,7 @@ var require_api_pipeline2 = __commonJS({ autoDestroy: true, read: () => { const { body } = this; - if (body && body.resume) { + if (body?.resume) { body.resume(); } }, @@ -31005,10 +31295,12 @@ var require_api_pipeline2 = __commonJS({ } onConnect(abort, context2) { const { ret, res } = this; - assert(!res, "pipeline cannot be retried"); - if (ret.destroyed) { - throw new RequestAbortedError(); + if (this.reason) { + abort(this.reason); + return; } + assert(!res, "pipeline cannot be retried"); + assert(!ret.destroyed); this.abort = abort; this.context = context2; } @@ -31086,15 +31378,15 @@ var require_api_pipeline2 = __commonJS({ } }); -// node_modules/undici/lib/api/api-upgrade.js +// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js var require_api_upgrade2 = __commonJS({ - "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) { "use strict"; - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2(); - var { AsyncResource } = require("async_hooks"); + var { InvalidArgumentError, SocketError } = require_errors2(); + var { AsyncResource } = require("node:async_hooks"); var util = require_util9(); var { addSignal, removeSignal } = require_abort_signal2(); - var assert = require("assert"); + var assert = require("node:assert"); var UpgradeHandler = class extends AsyncResource { constructor(opts, callback) { if (!opts || typeof opts !== "object") { @@ -31116,9 +31408,11 @@ var require_api_upgrade2 = __commonJS({ addSignal(this, signal); } onConnect(abort, context2) { - if (!this.callback) { - throw new RequestAbortedError(); + if (this.reason) { + abort(this.reason); + return; } + assert(this.callback); this.abort = abort; this.context = null; } @@ -31126,8 +31420,8 @@ var require_api_upgrade2 = __commonJS({ throw new SocketError("bad upgrade", null); } onUpgrade(statusCode, rawHeaders, socket) { + assert(statusCode === 101); const { callback, opaque, context: context2 } = this; - assert.strictEqual(statusCode, 101); removeSignal(this); this.callback = null; const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); @@ -31168,7 +31462,7 @@ var require_api_upgrade2 = __commonJS({ if (typeof callback !== "function") { throw err; } - const opaque = opts && opts.opaque; + const opaque = opts?.opaque; queueMicrotask(() => callback(err, { opaque })); } } @@ -31176,12 +31470,13 @@ var require_api_upgrade2 = __commonJS({ } }); -// node_modules/undici/lib/api/api-connect.js +// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js var require_api_connect2 = __commonJS({ - "node_modules/undici/lib/api/api-connect.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) { "use strict"; - var { AsyncResource } = require("async_hooks"); - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2(); + var assert = require("node:assert"); + var { AsyncResource } = require("node:async_hooks"); + var { InvalidArgumentError, SocketError } = require_errors2(); var util = require_util9(); var { addSignal, removeSignal } = require_abort_signal2(); var ConnectHandler = class extends AsyncResource { @@ -31204,9 +31499,11 @@ var require_api_connect2 = __commonJS({ addSignal(this, signal); } onConnect(abort, context2) { - if (!this.callback) { - throw new RequestAbortedError(); + if (this.reason) { + abort(this.reason); + return; } + assert(this.callback); this.abort = abort; this.context = context2; } @@ -31255,7 +31552,7 @@ var require_api_connect2 = __commonJS({ if (typeof callback !== "function") { throw err; } - const opaque = opts && opts.opaque; + const opaque = opts?.opaque; queueMicrotask(() => callback(err, { opaque })); } } @@ -31263,9 +31560,9 @@ var require_api_connect2 = __commonJS({ } }); -// node_modules/undici/lib/api/index.js +// node_modules/@actions/github/node_modules/undici/lib/api/index.js var require_api2 = __commonJS({ - "node_modules/undici/lib/api/index.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) { "use strict"; module2.exports.request = require_api_request2(); module2.exports.stream = require_api_stream2(); @@ -31275,11 +31572,12 @@ var require_api2 = __commonJS({ } }); -// node_modules/undici/lib/mock/mock-errors.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js var require_mock_errors2 = __commonJS({ - "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) { "use strict"; var { UndiciError } = require_errors2(); + var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"); var MockNotMatchedError = class _MockNotMatchedError extends UndiciError { constructor(message) { super(message); @@ -31288,6 +31586,10 @@ var require_mock_errors2 = __commonJS({ this.message = message || "The request does not match any registered mock dispatches"; this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED"; } + static [Symbol.hasInstance](instance) { + return instance && instance[kMockNotMatchedError] === true; + } + [kMockNotMatchedError] = true; }; module2.exports = { MockNotMatchedError @@ -31295,9 +31597,9 @@ var require_mock_errors2 = __commonJS({ } }); -// node_modules/undici/lib/mock/mock-symbols.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js var require_mock_symbols2 = __commonJS({ - "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) { "use strict"; module2.exports = { kAgent: /* @__PURE__ */ Symbol("agent"), @@ -31323,9 +31625,9 @@ var require_mock_symbols2 = __commonJS({ } }); -// node_modules/undici/lib/mock/mock-utils.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js var require_mock_utils2 = __commonJS({ - "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) { "use strict"; var { MockNotMatchedError } = require_mock_errors2(); var { @@ -31335,13 +31637,13 @@ var require_mock_utils2 = __commonJS({ kOrigin, kGetNetConnect } = require_mock_symbols2(); - var { buildURL, nop } = require_util9(); - var { STATUS_CODES } = require("http"); + var { buildURL } = require_util9(); + var { STATUS_CODES } = require("node:http"); var { types: { isPromise } - } = require("util"); + } = require("node:util"); function matchValue(match, value) { if (typeof match === "string") { return match === value; @@ -31426,6 +31728,10 @@ var require_mock_utils2 = __commonJS({ function getResponseData2(data) { if (Buffer.isBuffer(data)) { return data; + } else if (data instanceof Uint8Array) { + return data; + } else if (data instanceof ArrayBuffer) { + return data; } else if (typeof data === "object") { return JSON.stringify(data); } else { @@ -31441,15 +31747,16 @@ var require_mock_utils2 = __commonJS({ } matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method)); if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`); + throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`); } matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true); if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`); + throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`); } matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers)); if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`); + const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers; + throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`); } return matchedMockDispatches[0]; } @@ -31482,11 +31789,21 @@ var require_mock_utils2 = __commonJS({ }; } function generateKeyValues(data) { - return Object.entries(data).reduce((keyValuePairs, [key, value]) => [ - ...keyValuePairs, - Buffer.from(`${key}`), - Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`) - ], []); + const keys = Object.keys(data); + const result = []; + for (let i = 0; i < keys.length; ++i) { + const key = keys[i]; + const value = data[key]; + const name = Buffer.from(`${key}`); + if (Array.isArray(value)) { + for (let j = 0; j < value.length; ++j) { + result.push(name, Buffer.from(`${value[j]}`)); + } + } else { + result.push(name, Buffer.from(`${value}`)); + } + } + return result; } function getStatusText(statusCode) { return STATUS_CODES[statusCode] || "unknown"; @@ -31531,10 +31848,10 @@ var require_mock_utils2 = __commonJS({ const responseData = getResponseData2(body); const responseHeaders = generateKeyValues(headers); const responseTrailers = generateKeyValues(trailers); - handler2.abort = nop; - handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode)); - handler2.onData(Buffer.from(responseData)); - handler2.onComplete(responseTrailers); + handler2.onConnect?.((err) => handler2.onError(err), null); + handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode)); + handler2.onData?.(Buffer.from(responseData)); + handler2.onComplete?.(responseTrailers); deleteMockDispatch(mockDispatches, key); } function resume() { @@ -31598,14 +31915,15 @@ var require_mock_utils2 = __commonJS({ buildMockDispatch, checkNetConnect, buildMockOptions, - getHeaderByName + getHeaderByName, + buildHeadersFromArray }; } }); -// node_modules/undici/lib/mock/mock-interceptor.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js var require_mock_interceptor2 = __commonJS({ - "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) { "use strict"; var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2(); var { @@ -31678,46 +31996,47 @@ var require_mock_interceptor2 = __commonJS({ this[kDefaultTrailers] = {}; this[kContentLength] = false; } - createMockScopeDispatchData(statusCode, data, responseOptions = {}) { + createMockScopeDispatchData({ statusCode, data, responseOptions }) { const responseData = getResponseData2(data); const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {}; const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers }; const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers }; return { statusCode, data, headers, trailers }; } - validateReplyParameters(statusCode, data, responseOptions) { - if (typeof statusCode === "undefined") { + validateReplyParameters(replyParameters) { + if (typeof replyParameters.statusCode === "undefined") { throw new InvalidArgumentError("statusCode must be defined"); } - if (typeof data === "undefined") { - throw new InvalidArgumentError("data must be defined"); - } - if (typeof responseOptions !== "object") { + if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) { throw new InvalidArgumentError("responseOptions must be an object"); } } /** * Mock an undici request with a defined reply. */ - reply(replyData) { - if (typeof replyData === "function") { + reply(replyOptionsCallbackOrStatusCode) { + if (typeof replyOptionsCallbackOrStatusCode === "function") { const wrappedDefaultsCallback = (opts) => { - const resolvedData = replyData(opts); - if (typeof resolvedData !== "object") { + const resolvedData = replyOptionsCallbackOrStatusCode(opts); + if (typeof resolvedData !== "object" || resolvedData === null) { throw new InvalidArgumentError("reply options callback must return an object"); } - const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData; - this.validateReplyParameters(statusCode2, data2, responseOptions2); + const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData }; + this.validateReplyParameters(replyParameters2); return { - ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2) + ...this.createMockScopeDispatchData(replyParameters2) }; }; const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback); return new MockScope(newMockDispatch2); } - const [statusCode, data = "", responseOptions = {}] = [...arguments]; - this.validateReplyParameters(statusCode, data, responseOptions); - const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions); + const replyParameters = { + statusCode: replyOptionsCallbackOrStatusCode, + data: arguments[1] === void 0 ? "" : arguments[1], + responseOptions: arguments[2] === void 0 ? {} : arguments[2] + }; + this.validateReplyParameters(replyParameters); + const dispatchData = this.createMockScopeDispatchData(replyParameters); const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData); return new MockScope(newMockDispatch); } @@ -31764,11 +32083,11 @@ var require_mock_interceptor2 = __commonJS({ } }); -// node_modules/undici/lib/mock/mock-client.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js var require_mock_client2 = __commonJS({ - "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) { "use strict"; - var { promisify } = require("util"); + var { promisify } = require("node:util"); var Client = require_client2(); var { buildMockDispatch } = require_mock_utils2(); var { @@ -31817,11 +32136,11 @@ var require_mock_client2 = __commonJS({ } }); -// node_modules/undici/lib/mock/mock-pool.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js var require_mock_pool2 = __commonJS({ - "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) { "use strict"; - var { promisify } = require("util"); + var { promisify } = require("node:util"); var Pool = require_pool2(); var { buildMockDispatch } = require_mock_utils2(); var { @@ -31870,9 +32189,9 @@ var require_mock_pool2 = __commonJS({ } }); -// node_modules/undici/lib/mock/pluralizer.js +// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js var require_pluralizer2 = __commonJS({ - "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) { "use strict"; var singulars = { pronoun: "it", @@ -31901,12 +32220,14 @@ var require_pluralizer2 = __commonJS({ } }); -// node_modules/undici/lib/mock/pending-interceptors-formatter.js +// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js var require_pending_interceptors_formatter2 = __commonJS({ - "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) { "use strict"; - var { Transform } = require("stream"); - var { Console } = require("console"); + var { Transform } = require("node:stream"); + var { Console } = require("node:console"); + var PERSISTENT = process.versions.icu ? "\u2705" : "Y "; + var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N "; module2.exports = class PendingInterceptorsFormatter { constructor({ disableColors } = {}) { this.transform = new Transform({ @@ -31928,7 +32249,7 @@ var require_pending_interceptors_formatter2 = __commonJS({ Origin: origin, Path: path7, "Status code": statusCode, - Persistent: persist ? "\u2705" : "\u274C", + Persistent: persist ? PERSISTENT : NOT_PERSISTENT, Invocations: timesInvoked, Remaining: persist ? Infinity : times - timesInvoked }) @@ -31940,9 +32261,9 @@ var require_pending_interceptors_formatter2 = __commonJS({ } }); -// node_modules/undici/lib/mock/mock-agent.js +// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js var require_mock_agent2 = __commonJS({ - "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) { "use strict"; var { kClients } = require_symbols6(); var Agent = require_agent2(); @@ -31964,23 +32285,15 @@ var require_mock_agent2 = __commonJS({ var Dispatcher = require_dispatcher2(); var Pluralizer = require_pluralizer2(); var PendingInterceptorsFormatter = require_pending_interceptors_formatter2(); - var FakeWeakRef = class { - constructor(value) { - this.value = value; - } - deref() { - return this.value; - } - }; var MockAgent = class extends Dispatcher { constructor(opts) { super(opts); this[kNetConnect] = true; this[kIsMockActive] = true; - if (opts && opts.agent && typeof opts.agent.dispatch !== "function") { + if (opts?.agent && typeof opts.agent.dispatch !== "function") { throw new InvalidArgumentError("Argument opts.agent must implement Agent"); } - const agent = opts && opts.agent ? opts.agent : new Agent(opts); + const agent = opts?.agent ? opts.agent : new Agent(opts); this[kAgent] = agent; this[kClients] = agent[kClients]; this[kOptions] = buildMockOptions(opts); @@ -32029,24 +32342,23 @@ var require_mock_agent2 = __commonJS({ return this[kIsMockActive]; } [kMockAgentSet](origin, dispatcher) { - this[kClients].set(origin, new FakeWeakRef(dispatcher)); + this[kClients].set(origin, dispatcher); } [kFactory](origin) { const mockOptions = Object.assign({ agent: this }, this[kOptions]); return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions); } [kMockAgentGet](origin) { - const ref = this[kClients].get(origin); - if (ref) { - return ref.deref(); + const client = this[kClients].get(origin); + if (client) { + return client; } if (typeof origin !== "string") { const dispatcher = this[kFactory]("http://localhost:9999"); this[kMockAgentSet](origin, dispatcher); return dispatcher; } - for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) { - const nonExplicitDispatcher = nonExplicitRef.deref(); + for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) { if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) { const dispatcher = this[kFactory](origin); this[kMockAgentSet](origin, dispatcher); @@ -32060,7 +32372,7 @@ var require_mock_agent2 = __commonJS({ } pendingInterceptors() { const mockAgentClients = this[kClients]; - return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending); + return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending); } assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) { const pending = this.pendingInterceptors(); @@ -32079,504 +32391,528 @@ ${pendingInterceptorsFormatter.format(pending)} } }); -// node_modules/undici/lib/proxy-agent.js -var require_proxy_agent2 = __commonJS({ - "node_modules/undici/lib/proxy-agent.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/global.js +var require_global4 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) { "use strict"; - var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6(); - var { URL: URL2 } = require("url"); + var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1"); + var { InvalidArgumentError } = require_errors2(); var Agent = require_agent2(); - var Pool = require_pool2(); - var DispatcherBase = require_dispatcher_base2(); - var { InvalidArgumentError, RequestAbortedError } = require_errors2(); - var buildConnector = require_connect2(); - var kAgent = /* @__PURE__ */ Symbol("proxy agent"); - var kClient = /* @__PURE__ */ Symbol("proxy client"); - var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers"); - var kRequestTls = /* @__PURE__ */ Symbol("request tls settings"); - var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings"); - var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function"); - function defaultProtocolPort(protocol) { - return protocol === "https:" ? 443 : 80; + if (getGlobalDispatcher() === void 0) { + setGlobalDispatcher(new Agent()); } - function buildProxyOptions(opts) { - if (typeof opts === "string") { - opts = { uri: opts }; - } - if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); + function setGlobalDispatcher(agent) { + if (!agent || typeof agent.dispatch !== "function") { + throw new InvalidArgumentError("Argument agent must implement Agent"); } - return { - uri: opts.uri, - protocol: opts.protocol || "https" - }; + Object.defineProperty(globalThis, globalDispatcher, { + value: agent, + writable: true, + enumerable: false, + configurable: false + }); } - function defaultFactory(origin, opts) { - return new Pool(origin, opts); + function getGlobalDispatcher() { + return globalThis[globalDispatcher]; } - var ProxyAgent = class extends DispatcherBase { - constructor(opts) { - super(opts); - this[kProxy] = buildProxyOptions(opts); - this[kAgent] = new Agent(opts); - this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : []; - if (typeof opts === "string") { - opts = { uri: opts }; - } - if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); - } - const { clientFactory = defaultFactory } = opts; - if (typeof clientFactory !== "function") { - throw new InvalidArgumentError("Proxy opts.clientFactory must be a function."); - } - this[kRequestTls] = opts.requestTls; - this[kProxyTls] = opts.proxyTls; - this[kProxyHeaders] = opts.headers || {}; - const resolvedUrl = new URL2(opts.uri); - const { origin, port, host, username, password } = resolvedUrl; - if (opts.auth && opts.token) { - throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token"); - } else if (opts.auth) { - this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`; - } else if (opts.token) { - this[kProxyHeaders]["proxy-authorization"] = opts.token; - } else if (username && password) { - this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`; + module2.exports = { + setGlobalDispatcher, + getGlobalDispatcher + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js +var require_decorator_handler2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) { + "use strict"; + module2.exports = class DecoratorHandler { + #handler; + constructor(handler2) { + if (typeof handler2 !== "object" || handler2 === null) { + throw new TypeError("handler must be an object"); } - const connect = buildConnector({ ...opts.proxyTls }); - this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }); - this[kClient] = clientFactory(resolvedUrl, { connect }); - this[kAgent] = new Agent({ - ...opts, - connect: async (opts2, callback) => { - let requestedHost = opts2.host; - if (!opts2.port) { - requestedHost += `:${defaultProtocolPort(opts2.protocol)}`; - } - try { - const { socket, statusCode } = await this[kClient].connect({ - origin, - port, - path: requestedHost, - signal: opts2.signal, - headers: { - ...this[kProxyHeaders], - host - } - }); - if (statusCode !== 200) { - socket.on("error", () => { - }).destroy(); - callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`)); - } - if (opts2.protocol !== "https:") { - callback(null, socket); - return; - } - let servername; - if (this[kRequestTls]) { - servername = this[kRequestTls].servername; - } else { - servername = opts2.servername; - } - this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback); - } catch (err) { - callback(err); - } - } - }); + this.#handler = handler2; } - dispatch(opts, handler2) { - const { host } = new URL2(opts.origin); - const headers = buildHeaders(opts.headers); - throwIfProxyAuthIsSent(headers); - return this[kAgent].dispatch( - { - ...opts, - headers: { - ...headers, - host - } - }, - handler2 - ); + onConnect(...args) { + return this.#handler.onConnect?.(...args); } - async [kClose]() { - await this[kAgent].close(); - await this[kClient].close(); + onError(...args) { + return this.#handler.onError?.(...args); } - async [kDestroy]() { - await this[kAgent].destroy(); - await this[kClient].destroy(); + onUpgrade(...args) { + return this.#handler.onUpgrade?.(...args); } - }; - function buildHeaders(headers) { - if (Array.isArray(headers)) { - const headersPair = {}; - for (let i = 0; i < headers.length; i += 2) { - headersPair[headers[i]] = headers[i + 1]; - } - return headersPair; + onResponseStarted(...args) { + return this.#handler.onResponseStarted?.(...args); } - return headers; - } - function throwIfProxyAuthIsSent(headers) { - const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization"); - if (existProxyAuth) { - throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor"); + onHeaders(...args) { + return this.#handler.onHeaders?.(...args); } - } - module2.exports = ProxyAgent; + onData(...args) { + return this.#handler.onData?.(...args); + } + onComplete(...args) { + return this.#handler.onComplete?.(...args); + } + onBodySent(...args) { + return this.#handler.onBodySent?.(...args); + } + }; } }); -// node_modules/undici/lib/handler/RetryHandler.js -var require_RetryHandler = __commonJS({ - "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) { - var assert = require("assert"); - var { kRetryHandlerDefaultRetry } = require_symbols6(); - var { RequestRetryError } = require_errors2(); - var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9(); - function calculateRetryAfterHeader(retryAfter) { - const current = Date.now(); - const diff = new Date(retryAfter).getTime() - current; - return diff; - } - var RetryHandler = class _RetryHandler { - constructor(opts, handlers) { - const { retryOptions, ...dispatchOpts } = opts; - const { - // Retry scoped - retry: retryFn, - maxRetries, - maxTimeout, - minTimeout, - timeoutFactor, - // Response scoped - methods, - errorCodes, - retryAfter, - statusCodes - } = retryOptions ?? {}; - this.dispatch = handlers.dispatch; - this.handler = handlers.handler; - this.opts = dispatchOpts; - this.abort = null; - this.aborted = false; - this.retryOpts = { - retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry], - retryAfter: retryAfter ?? true, - maxTimeout: maxTimeout ?? 30 * 1e3, - // 30s, - timeout: minTimeout ?? 500, - // .5s - timeoutFactor: timeoutFactor ?? 2, - maxRetries: maxRetries ?? 5, - // What errors we should retry - methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"], - // Indicates which errors to retry - statusCodes: statusCodes ?? [500, 502, 503, 504, 429], - // List of errors to retry - errorCodes: errorCodes ?? [ - "ECONNRESET", - "ECONNREFUSED", - "ENOTFOUND", - "ENETDOWN", - "ENETUNREACH", - "EHOSTDOWN", - "EHOSTUNREACH", - "EPIPE" - ] - }; - this.retryCount = 0; - this.start = 0; - this.end = null; - this.etag = null; - this.resume = null; - this.handler.onConnect((reason) => { - this.aborted = true; - if (this.abort) { - this.abort(reason); - } else { - this.reason = reason; +// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js +var require_redirect2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) { + "use strict"; + var RedirectHandler = require_redirect_handler2(); + module2.exports = (opts) => { + const globalMaxRedirections = opts?.maxRedirections; + return (dispatch) => { + return function redirectInterceptor(opts2, handler2) { + const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2; + if (!maxRedirections) { + return dispatch(opts2, handler2); } - }); - } - onRequestSent() { - if (this.handler.onRequestSent) { - this.handler.onRequestSent(); - } - } - onUpgrade(statusCode, headers, socket) { - if (this.handler.onUpgrade) { - this.handler.onUpgrade(statusCode, headers, socket); + const redirectHandler = new RedirectHandler( + dispatch, + maxRedirections, + opts2, + handler2 + ); + return dispatch(baseOpts, redirectHandler); + }; + }; + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js +var require_retry2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) { + "use strict"; + var RetryHandler = require_retry_handler2(); + module2.exports = (globalOpts) => { + return (dispatch) => { + return function retryInterceptor(opts, handler2) { + return dispatch( + opts, + new RetryHandler( + { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } }, + { + handler: handler2, + dispatch + } + ) + ); + }; + }; + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js +var require_dump2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) { + "use strict"; + var util = require_util9(); + var { InvalidArgumentError, RequestAbortedError } = require_errors2(); + var DecoratorHandler = require_decorator_handler2(); + var DumpHandler = class extends DecoratorHandler { + #maxSize = 1024 * 1024; + #abort = null; + #dumped = false; + #aborted = false; + #size = 0; + #reason = null; + #handler = null; + constructor({ maxSize }, handler2) { + super(handler2); + if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) { + throw new InvalidArgumentError("maxSize must be a number greater than 0"); } + this.#maxSize = maxSize ?? this.#maxSize; + this.#handler = handler2; } onConnect(abort) { - if (this.aborted) { - abort(this.reason); - } else { - this.abort = abort; - } + this.#abort = abort; + this.#handler.onConnect(this.#customAbort.bind(this)); } - onBodySent(chunk) { - if (this.handler.onBodySent) return this.handler.onBodySent(chunk); + #customAbort(reason) { + this.#aborted = true; + this.#reason = reason; } - static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) { - const { statusCode, code, headers } = err; - const { method, retryOptions } = opts; - const { - maxRetries, - timeout, - maxTimeout, - timeoutFactor, - statusCodes, - errorCodes, - methods - } = retryOptions; - let { counter, currentTimeout } = state; - currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout; - if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) { - cb(err); - return; + // TODO: will require adjustment after new hooks are out + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const headers = util.parseHeaders(rawHeaders); + const contentLength = headers["content-length"]; + if (contentLength != null && contentLength > this.#maxSize) { + throw new RequestAbortedError( + `Response size (${contentLength}) larger than maxSize (${this.#maxSize})` + ); } - if (Array.isArray(methods) && !methods.includes(method)) { - cb(err); - return; + if (this.#aborted) { + return true; } - if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) { - cb(err); + return this.#handler.onHeaders( + statusCode, + rawHeaders, + resume, + statusMessage + ); + } + onError(err) { + if (this.#dumped) { return; } - if (counter > maxRetries) { - cb(err); + err = this.#reason ?? err; + this.#handler.onError(err); + } + onData(chunk) { + this.#size = this.#size + chunk.length; + if (this.#size >= this.#maxSize) { + this.#dumped = true; + if (this.#aborted) { + this.#handler.onError(this.#reason); + } else { + this.#handler.onComplete([]); + } + } + return true; + } + onComplete(trailers) { + if (this.#dumped) { return; } - let retryAfterHeader = headers != null && headers["retry-after"]; - if (retryAfterHeader) { - retryAfterHeader = Number(retryAfterHeader); - retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3; + if (this.#aborted) { + this.#handler.onError(this.reason); + return; } - const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout); - state.currentTimeout = retryTimeout; - setTimeout(() => cb(null), retryTimeout); + this.#handler.onComplete(trailers); } - onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const headers = parseHeaders(rawHeaders); - this.retryCount += 1; - if (statusCode >= 300) { - this.abort( - new RequestRetryError("Request failed", statusCode, { - headers, - count: this.retryCount - }) + }; + function createDumpInterceptor({ maxSize: defaultMaxSize } = { + maxSize: 1024 * 1024 + }) { + return (dispatch) => { + return function Intercept(opts, handler2) { + const { dumpMaxSize = defaultMaxSize } = opts; + const dumpHandler = new DumpHandler( + { maxSize: dumpMaxSize }, + handler2 ); - return false; - } - if (this.resume != null) { - this.resume = null; - if (statusCode !== 206) { - return true; - } - const contentRange = parseRangeHeader(headers["content-range"]); - if (!contentRange) { - this.abort( - new RequestRetryError("Content-Range mismatch", statusCode, { - headers, - count: this.retryCount - }) - ); - return false; - } - if (this.etag != null && this.etag !== headers.etag) { - this.abort( - new RequestRetryError("ETag mismatch", statusCode, { - headers, - count: this.retryCount - }) - ); - return false; - } - const { start, size, end = size } = contentRange; - assert(this.start === start, "content-range mismatch"); - assert(this.end == null || this.end === end, "content-range mismatch"); - this.resume = resume; - return true; + return dispatch(opts, dumpHandler); + }; + }; + } + module2.exports = createDumpInterceptor; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js +var require_dns2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) { + "use strict"; + var { isIP } = require("node:net"); + var { lookup } = require("node:dns"); + var DecoratorHandler = require_decorator_handler2(); + var { InvalidArgumentError, InformationalError } = require_errors2(); + var maxInt = Math.pow(2, 31) - 1; + var DNSInstance = class { + #maxTTL = 0; + #maxItems = 0; + #records = /* @__PURE__ */ new Map(); + dualStack = true; + affinity = null; + lookup = null; + pick = null; + constructor(opts) { + this.#maxTTL = opts.maxTTL; + this.#maxItems = opts.maxItems; + this.dualStack = opts.dualStack; + this.affinity = opts.affinity; + this.lookup = opts.lookup ?? this.#defaultLookup; + this.pick = opts.pick ?? this.#defaultPick; + } + get full() { + return this.#records.size === this.#maxItems; + } + runLookup(origin, opts, cb) { + const ips = this.#records.get(origin.hostname); + if (ips == null && this.full) { + cb(null, origin.origin); + return; } - if (this.end == null) { - if (statusCode === 206) { - const range = parseRangeHeader(headers["content-range"]); - if (range == null) { - return this.handler.onHeaders( - statusCode, - rawHeaders, - resume, - statusMessage - ); + const newOpts = { + affinity: this.affinity, + dualStack: this.dualStack, + lookup: this.lookup, + pick: this.pick, + ...opts.dns, + maxTTL: this.#maxTTL, + maxItems: this.#maxItems + }; + if (ips == null) { + this.lookup(origin, newOpts, (err, addresses) => { + if (err || addresses == null || addresses.length === 0) { + cb(err ?? new InformationalError("No DNS entries found")); + return; } - const { start, size, end = size } = range; - assert( - start != null && Number.isFinite(start) && this.start !== start, - "content-range mismatch" + this.setRecords(origin, addresses); + const records = this.#records.get(origin.hostname); + const ip = this.pick( + origin, + records, + newOpts.affinity ); - assert(Number.isFinite(start)); - assert( - end != null && Number.isFinite(end) && this.end !== end, - "invalid content-length" + let port; + if (typeof ip.port === "number") { + port = `:${ip.port}`; + } else if (origin.port !== "") { + port = `:${origin.port}`; + } else { + port = ""; + } + cb( + null, + `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}` ); - this.start = start; - this.end = end; + }); + } else { + const ip = this.pick( + origin, + ips, + newOpts.affinity + ); + if (ip == null) { + this.#records.delete(origin.hostname); + this.runLookup(origin, opts, cb); + return; } - if (this.end == null) { - const contentLength = headers["content-length"]; - this.end = contentLength != null ? Number(contentLength) : null; + let port; + if (typeof ip.port === "number") { + port = `:${ip.port}`; + } else if (origin.port !== "") { + port = `:${origin.port}`; + } else { + port = ""; } - assert(Number.isFinite(this.start)); - assert( - this.end == null || Number.isFinite(this.end), - "invalid content-length" - ); - this.resume = resume; - this.etag = headers.etag != null ? headers.etag : null; - return this.handler.onHeaders( - statusCode, - rawHeaders, - resume, - statusMessage + cb( + null, + `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}` ); } - const err = new RequestRetryError("Request failed", statusCode, { - headers, - count: this.retryCount - }); - this.abort(err); - return false; - } - onData(chunk) { - this.start += chunk.length; - return this.handler.onData(chunk); } - onComplete(rawTrailers) { - this.retryCount = 0; - return this.handler.onComplete(rawTrailers); - } - onError(err) { - if (this.aborted || isDisturbed(this.opts.body)) { - return this.handler.onError(err); - } - this.retryOpts.retry( - err, + #defaultLookup(origin, opts, cb) { + lookup( + origin.hostname, { - state: { counter: this.retryCount++, currentTimeout: this.retryAfter }, - opts: { retryOptions: this.retryOpts, ...this.opts } + all: true, + family: this.dualStack === false ? this.affinity : 0, + order: "ipv4first" }, - onRetry.bind(this) + (err, addresses) => { + if (err) { + return cb(err); + } + const results = /* @__PURE__ */ new Map(); + for (const addr of addresses) { + results.set(`${addr.address}:${addr.family}`, addr); + } + cb(null, results.values()); + } ); - function onRetry(err2) { - if (err2 != null || this.aborted || isDisturbed(this.opts.body)) { - return this.handler.onError(err2); + } + #defaultPick(origin, hostnameRecords, affinity) { + let ip = null; + const { records, offset } = hostnameRecords; + let family; + if (this.dualStack) { + if (affinity == null) { + if (offset == null || offset === maxInt) { + hostnameRecords.offset = 0; + affinity = 4; + } else { + hostnameRecords.offset++; + affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4; + } } - if (this.start !== 0) { - this.opts = { - ...this.opts, - headers: { - ...this.opts.headers, - range: `bytes=${this.start}-${this.end ?? ""}` - } - }; + if (records[affinity] != null && records[affinity].ips.length > 0) { + family = records[affinity]; + } else { + family = records[affinity === 4 ? 6 : 4]; } - try { - this.dispatch(this.opts, this); - } catch (err3) { - this.handler.onError(err3); + } else { + family = records[affinity]; + } + if (family == null || family.ips.length === 0) { + return ip; + } + if (family.offset == null || family.offset === maxInt) { + family.offset = 0; + } else { + family.offset++; + } + const position = family.offset % family.ips.length; + ip = family.ips[position] ?? null; + if (ip == null) { + return ip; + } + if (Date.now() - ip.timestamp > ip.ttl) { + family.ips.splice(position, 1); + return this.pick(origin, hostnameRecords, affinity); + } + return ip; + } + setRecords(origin, addresses) { + const timestamp2 = Date.now(); + const records = { records: { 4: null, 6: null } }; + for (const record of addresses) { + record.timestamp = timestamp2; + if (typeof record.ttl === "number") { + record.ttl = Math.min(record.ttl, this.#maxTTL); + } else { + record.ttl = this.#maxTTL; } + const familyRecords = records.records[record.family] ?? { ips: [] }; + familyRecords.ips.push(record); + records.records[record.family] = familyRecords; } + this.#records.set(origin.hostname, records); } - }; - module2.exports = RetryHandler; - } -}); - -// node_modules/undici/lib/global.js -var require_global4 = __commonJS({ - "node_modules/undici/lib/global.js"(exports2, module2) { - "use strict"; - var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1"); - var { InvalidArgumentError } = require_errors2(); - var Agent = require_agent2(); - if (getGlobalDispatcher() === void 0) { - setGlobalDispatcher(new Agent()); - } - function setGlobalDispatcher(agent) { - if (!agent || typeof agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument agent must implement Agent"); + getHandler(meta, opts) { + return new DNSDispatchHandler(this, meta, opts); } - Object.defineProperty(globalThis, globalDispatcher, { - value: agent, - writable: true, - enumerable: false, - configurable: false - }); - } - function getGlobalDispatcher() { - return globalThis[globalDispatcher]; - } - module2.exports = { - setGlobalDispatcher, - getGlobalDispatcher }; - } -}); - -// node_modules/undici/lib/handler/DecoratorHandler.js -var require_DecoratorHandler = __commonJS({ - "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) { - "use strict"; - module2.exports = class DecoratorHandler { - constructor(handler2) { - this.handler = handler2; + var DNSDispatchHandler = class extends DecoratorHandler { + #state = null; + #opts = null; + #dispatch = null; + #handler = null; + #origin = null; + constructor(state, { origin, handler: handler2, dispatch }, opts) { + super(handler2); + this.#origin = origin; + this.#handler = handler2; + this.#opts = { ...opts }; + this.#state = state; + this.#dispatch = dispatch; } - onConnect(...args) { - return this.handler.onConnect(...args); + onError(err) { + switch (err.code) { + case "ETIMEDOUT": + case "ECONNREFUSED": { + if (this.#state.dualStack) { + this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => { + if (err2) { + return this.#handler.onError(err2); + } + const dispatchOpts = { + ...this.#opts, + origin: newOrigin + }; + this.#dispatch(dispatchOpts, this); + }); + return; + } + this.#handler.onError(err); + return; + } + case "ENOTFOUND": + this.#state.deleteRecord(this.#origin); + // eslint-disable-next-line no-fallthrough + default: + this.#handler.onError(err); + break; + } } - onError(...args) { - return this.handler.onError(...args); + }; + module2.exports = (interceptorOpts) => { + if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) { + throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number"); } - onUpgrade(...args) { - return this.handler.onUpgrade(...args); + if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) { + throw new InvalidArgumentError( + "Invalid maxItems. Must be a positive number and greater than zero" + ); } - onHeaders(...args) { - return this.handler.onHeaders(...args); + if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) { + throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6"); } - onData(...args) { - return this.handler.onData(...args); + if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") { + throw new InvalidArgumentError("Invalid dualStack. Must be a boolean"); } - onComplete(...args) { - return this.handler.onComplete(...args); + if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") { + throw new InvalidArgumentError("Invalid lookup. Must be a function"); } - onBodySent(...args) { - return this.handler.onBodySent(...args); + if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") { + throw new InvalidArgumentError("Invalid pick. Must be a function"); + } + const dualStack = interceptorOpts?.dualStack ?? true; + let affinity; + if (dualStack) { + affinity = interceptorOpts?.affinity ?? null; + } else { + affinity = interceptorOpts?.affinity ?? 4; } + const opts = { + maxTTL: interceptorOpts?.maxTTL ?? 1e4, + // Expressed in ms + lookup: interceptorOpts?.lookup ?? null, + pick: interceptorOpts?.pick ?? null, + dualStack, + affinity, + maxItems: interceptorOpts?.maxItems ?? Infinity + }; + const instance = new DNSInstance(opts); + return (dispatch) => { + return function dnsInterceptor(origDispatchOpts, handler2) { + const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin); + if (isIP(origin.hostname) !== 0) { + return dispatch(origDispatchOpts, handler2); + } + instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => { + if (err) { + return handler2.onError(err); + } + let dispatchOpts = null; + dispatchOpts = { + ...origDispatchOpts, + servername: origin.hostname, + // For SNI on TLS + origin: newOrigin, + headers: { + host: origin.hostname, + ...origDispatchOpts.headers + } + }; + dispatch( + dispatchOpts, + instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts) + ); + }); + return true; + }; + }; }; } }); -// node_modules/undici/lib/fetch/headers.js +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js var require_headers2 = __commonJS({ - "node_modules/undici/lib/fetch/headers.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) { "use strict"; - var { kHeadersList, kConstruct } = require_symbols6(); - var { kGuard } = require_symbols7(); + var { kConstruct } = require_symbols6(); var { kEnumerableProperty } = require_util9(); var { - makeIterator, + iteratorMixin, isValidHeaderName, isValidHeaderValue } = require_util10(); - var util = require("util"); var { webidl } = require_webidl2(); - var assert = require("assert"); + var assert = require("node:assert"); + var util = require("node:util"); var kHeadersMap = /* @__PURE__ */ Symbol("headers map"); var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted"); function isHTTPWhiteSpaceCharCode(code) { @@ -32629,11 +32965,13 @@ var require_headers2 = __commonJS({ type: "header value" }); } - if (headers[kGuard] === "immutable") { + if (getHeadersGuard(headers) === "immutable") { throw new TypeError("immutable"); - } else if (headers[kGuard] === "request-no-cors") { } - return headers[kHeadersList].append(name, value); + return getHeadersList(headers).append(name, value, false); + } + function compareHeaderName(a, b) { + return a[0] < b[0] ? -1 : 1; } var HeadersList = class _HeadersList { /** @type {[string, string][]|null} */ @@ -32648,20 +32986,28 @@ var require_headers2 = __commonJS({ this[kHeadersSortedMap] = null; } } - // https://fetch.spec.whatwg.org/#header-list-contains - contains(name) { - name = name.toLowerCase(); - return this[kHeadersMap].has(name); + /** + * @see https://fetch.spec.whatwg.org/#header-list-contains + * @param {string} name + * @param {boolean} isLowerCase + */ + contains(name, isLowerCase) { + return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase()); } clear() { this[kHeadersMap].clear(); this[kHeadersSortedMap] = null; this.cookies = null; } - // https://fetch.spec.whatwg.org/#concept-header-list-append - append(name, value) { + /** + * @see https://fetch.spec.whatwg.org/#concept-header-list-append + * @param {string} name + * @param {string} value + * @param {boolean} isLowerCase + */ + append(name, value, isLowerCase) { this[kHeadersSortedMap] = null; - const lowercaseName = name.toLowerCase(); + const lowercaseName = isLowerCase ? name : name.toLowerCase(); const exists = this[kHeadersMap].get(lowercaseName); if (exists) { const delimiter = lowercaseName === "cookie" ? "; " : ", "; @@ -32673,73 +33019,155 @@ var require_headers2 = __commonJS({ this[kHeadersMap].set(lowercaseName, { name, value }); } if (lowercaseName === "set-cookie") { - this.cookies ??= []; - this.cookies.push(value); + (this.cookies ??= []).push(value); } } - // https://fetch.spec.whatwg.org/#concept-header-list-set - set(name, value) { + /** + * @see https://fetch.spec.whatwg.org/#concept-header-list-set + * @param {string} name + * @param {string} value + * @param {boolean} isLowerCase + */ + set(name, value, isLowerCase) { this[kHeadersSortedMap] = null; - const lowercaseName = name.toLowerCase(); + const lowercaseName = isLowerCase ? name : name.toLowerCase(); if (lowercaseName === "set-cookie") { this.cookies = [value]; } this[kHeadersMap].set(lowercaseName, { name, value }); } - // https://fetch.spec.whatwg.org/#concept-header-list-delete - delete(name) { + /** + * @see https://fetch.spec.whatwg.org/#concept-header-list-delete + * @param {string} name + * @param {boolean} isLowerCase + */ + delete(name, isLowerCase) { this[kHeadersSortedMap] = null; - name = name.toLowerCase(); + if (!isLowerCase) name = name.toLowerCase(); if (name === "set-cookie") { this.cookies = null; } this[kHeadersMap].delete(name); } - // https://fetch.spec.whatwg.org/#concept-header-list-get - get(name) { - const value = this[kHeadersMap].get(name.toLowerCase()); - return value === void 0 ? null : value.value; + /** + * @see https://fetch.spec.whatwg.org/#concept-header-list-get + * @param {string} name + * @param {boolean} isLowerCase + * @returns {string | null} + */ + get(name, isLowerCase) { + return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null; } *[Symbol.iterator]() { - for (const [name, { value }] of this[kHeadersMap]) { + for (const { 0: name, 1: { value } } of this[kHeadersMap]) { yield [name, value]; } } get entries() { const headers = {}; - if (this[kHeadersMap].size) { + if (this[kHeadersMap].size !== 0) { for (const { name, value } of this[kHeadersMap].values()) { headers[name] = value; } } return headers; } + rawValues() { + return this[kHeadersMap].values(); + } + get entriesList() { + const headers = []; + if (this[kHeadersMap].size !== 0) { + for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) { + if (lowerName === "set-cookie") { + for (const cookie of this.cookies) { + headers.push([name, cookie]); + } + } else { + headers.push([name, value]); + } + } + } + return headers; + } + // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set + toSortedArray() { + const size = this[kHeadersMap].size; + const array = new Array(size); + if (size <= 32) { + if (size === 0) { + return array; + } + const iterator2 = this[kHeadersMap][Symbol.iterator](); + const firstValue = iterator2.next().value; + array[0] = [firstValue[0], firstValue[1].value]; + assert(firstValue[1].value !== null); + for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) { + value = iterator2.next().value; + x = array[i] = [value[0], value[1].value]; + assert(x[1] !== null); + left = 0; + right = i; + while (left < right) { + pivot = left + (right - left >> 1); + if (array[pivot][0] <= x[0]) { + left = pivot + 1; + } else { + right = pivot; + } + } + if (i !== pivot) { + j = i; + while (j > left) { + array[j] = array[--j]; + } + array[left] = x; + } + } + if (!iterator2.next().done) { + throw new TypeError("Unreachable"); + } + return array; + } else { + let i = 0; + for (const { 0: name, 1: { value } } of this[kHeadersMap]) { + array[i++] = [name, value]; + assert(value !== null); + } + return array.sort(compareHeaderName); + } + } }; var Headers = class _Headers { + #guard; + #headersList; constructor(init = void 0) { + webidl.util.markAsUncloneable(this); if (init === kConstruct) { return; } - this[kHeadersList] = new HeadersList(); - this[kGuard] = "none"; + this.#headersList = new HeadersList(); + this.#guard = "none"; if (init !== void 0) { - init = webidl.converters.HeadersInit(init); + init = webidl.converters.HeadersInit(init, "Headers contructor", "init"); fill(this, init); } } // https://fetch.spec.whatwg.org/#dom-headers-append append(name, value) { webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); + webidl.argumentLengthCheck(arguments, 2, "Headers.append"); + const prefix = "Headers.append"; + name = webidl.converters.ByteString(name, prefix, "name"); + value = webidl.converters.ByteString(value, prefix, "value"); return appendHeader(this, name, value); } // https://fetch.spec.whatwg.org/#dom-headers-delete delete(name) { webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" }); - name = webidl.converters.ByteString(name); + webidl.argumentLengthCheck(arguments, 1, "Headers.delete"); + const prefix = "Headers.delete"; + name = webidl.converters.ByteString(name, prefix, "name"); if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ prefix: "Headers.delete", @@ -32747,73 +33175,74 @@ var require_headers2 = __commonJS({ type: "header name" }); } - if (this[kGuard] === "immutable") { + if (this.#guard === "immutable") { throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { } - if (!this[kHeadersList].contains(name)) { + if (!this.#headersList.contains(name, false)) { return; } - this[kHeadersList].delete(name); + this.#headersList.delete(name, false); } // https://fetch.spec.whatwg.org/#dom-headers-get get(name) { webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" }); - name = webidl.converters.ByteString(name); + webidl.argumentLengthCheck(arguments, 1, "Headers.get"); + const prefix = "Headers.get"; + name = webidl.converters.ByteString(name, prefix, "name"); if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.get", + prefix, value: name, type: "header name" }); } - return this[kHeadersList].get(name); + return this.#headersList.get(name, false); } // https://fetch.spec.whatwg.org/#dom-headers-has has(name) { webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" }); - name = webidl.converters.ByteString(name); + webidl.argumentLengthCheck(arguments, 1, "Headers.has"); + const prefix = "Headers.has"; + name = webidl.converters.ByteString(name, prefix, "name"); if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.has", + prefix, value: name, type: "header name" }); } - return this[kHeadersList].contains(name); + return this.#headersList.contains(name, false); } // https://fetch.spec.whatwg.org/#dom-headers-set set(name, value) { webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); + webidl.argumentLengthCheck(arguments, 2, "Headers.set"); + const prefix = "Headers.set"; + name = webidl.converters.ByteString(name, prefix, "name"); + value = webidl.converters.ByteString(value, prefix, "value"); value = headerValueNormalize(value); if (!isValidHeaderName(name)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.set", + prefix, value: name, type: "header name" }); } else if (!isValidHeaderValue(value)) { throw webidl.errors.invalidArgument({ - prefix: "Headers.set", + prefix, value, type: "header value" }); } - if (this[kGuard] === "immutable") { + if (this.#guard === "immutable") { throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { } - this[kHeadersList].set(name, value); + this.#headersList.set(name, value, false); } // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie getSetCookie() { webidl.brandCheck(this, _Headers); - const list = this[kHeadersList].cookies; + const list = this.#headersList.cookies; if (list) { return [...list]; } @@ -32821,96 +33250,50 @@ var require_headers2 = __commonJS({ } // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine get [kHeadersSortedMap]() { - if (this[kHeadersList][kHeadersSortedMap]) { - return this[kHeadersList][kHeadersSortedMap]; + if (this.#headersList[kHeadersSortedMap]) { + return this.#headersList[kHeadersSortedMap]; } const headers = []; - const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1); - const cookies = this[kHeadersList].cookies; + const names = this.#headersList.toSortedArray(); + const cookies = this.#headersList.cookies; + if (cookies === null || cookies.length === 1) { + return this.#headersList[kHeadersSortedMap] = names; + } for (let i = 0; i < names.length; ++i) { - const [name, value] = names[i]; + const { 0: name, 1: value } = names[i]; if (name === "set-cookie") { for (let j = 0; j < cookies.length; ++j) { headers.push([name, cookies[j]]); } } else { - assert(value !== null); headers.push([name, value]); } } - this[kHeadersList][kHeadersSortedMap] = headers; - return headers; + return this.#headersList[kHeadersSortedMap] = headers; } - keys() { - webidl.brandCheck(this, _Headers); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "key" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "key" - ); + [util.inspect.custom](depth, options) { + options.depth ??= depth; + return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`; } - values() { - webidl.brandCheck(this, _Headers); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "value" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "value" - ); + static getHeadersGuard(o) { + return o.#guard; } - entries() { - webidl.brandCheck(this, _Headers); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "key+value" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "key+value" - ); + static setHeadersGuard(o, guard) { + o.#guard = guard; } - /** - * @param {(value: string, key: string, self: Headers) => void} callbackFn - * @param {unknown} thisArg - */ - forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" }); - if (typeof callbackFn !== "function") { - throw new TypeError( - "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'." - ); - } - for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); - } + static getHeadersList(o) { + return o.#headersList; } - [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() { - webidl.brandCheck(this, _Headers); - return this[kHeadersList]; + static setHeadersList(o, list) { + o.#headersList = list; } }; - Headers.prototype[Symbol.iterator] = Headers.prototype.entries; + var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers; + Reflect.deleteProperty(Headers, "getHeadersGuard"); + Reflect.deleteProperty(Headers, "setHeadersGuard"); + Reflect.deleteProperty(Headers, "getHeadersList"); + Reflect.deleteProperty(Headers, "setHeadersList"); + iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1); Object.defineProperties(Headers.prototype, { append: kEnumerableProperty, delete: kEnumerableProperty, @@ -32918,11 +33301,6 @@ var require_headers2 = __commonJS({ has: kEnumerableProperty, set: kEnumerableProperty, getSetCookie: kEnumerableProperty, - keys: kEnumerableProperty, - values: kEnumerableProperty, - entries: kEnumerableProperty, - forEach: kEnumerableProperty, - [Symbol.iterator]: { enumerable: false }, [Symbol.toStringTag]: { value: "Headers", configurable: true @@ -32931,12 +33309,19 @@ var require_headers2 = __commonJS({ enumerable: false } }); - webidl.converters.HeadersInit = function(V) { + webidl.converters.HeadersInit = function(V, prefix, argument) { if (webidl.util.Type(V) === "Object") { - if (V[Symbol.iterator]) { - return webidl.converters["sequence>"](V); + const iterator2 = Reflect.get(V, Symbol.iterator); + if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) { + try { + return getHeadersList(V).entriesList; + } catch { + } } - return webidl.converters["record"](V); + if (typeof iterator2 === "function") { + return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V)); + } + return webidl.converters["record"](V, prefix, argument); } throw webidl.errors.conversionFailed({ prefix: "Headers constructor", @@ -32946,19 +33331,26 @@ var require_headers2 = __commonJS({ }; module2.exports = { fill, + // for test. + compareHeaderName, Headers, - HeadersList + HeadersList, + getHeadersGuard, + setHeadersGuard, + setHeadersList, + getHeadersList }; } }); -// node_modules/undici/lib/fetch/response.js +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js var require_response2 = __commonJS({ - "node_modules/undici/lib/fetch/response.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) { "use strict"; - var { Headers, HeadersList, fill } = require_headers2(); - var { extractBody, cloneBody, mixinBody } = require_body2(); + var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2(); + var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2(); var util = require_util9(); + var nodeUtil = require("node:util"); var { kEnumerableProperty } = util; var { isValidReasonPhrase, @@ -32967,38 +33359,30 @@ var require_response2 = __commonJS({ isBlobLike, serializeJavascriptValueToJSONString, isErrorLike, - isomorphicEncode + isomorphicEncode, + environmentSettingsObject: relevantRealm } = require_util10(); var { redirectStatusSet, - nullBodyStatus, - DOMException: DOMException2 - } = require_constants7(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols7(); + nullBodyStatus + } = require_constants8(); + var { kState, kHeaders } = require_symbols7(); var { webidl } = require_webidl2(); var { FormData: FormData2 } = require_formdata2(); - var { getGlobalOrigin } = require_global3(); - var { URLSerializer } = require_dataURL(); - var { kHeadersList, kConstruct } = require_symbols6(); - var assert = require("assert"); - var { types } = require("util"); - var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream; + var { URLSerializer } = require_data_url2(); + var { kConstruct } = require_symbols6(); + var assert = require("node:assert"); + var { types } = require("node:util"); var textEncoder = new TextEncoder("utf-8"); var Response = class _Response { // Creates network error Response. static error() { - const relevantRealm = { settingsObject: {} }; - const responseObject = new _Response(); - responseObject[kState] = makeNetworkError(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; + const responseObject = fromInnerResponse(makeNetworkError(), "immutable"); return responseObject; } // https://fetch.spec.whatwg.org/#dom-response-json static json(data, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" }); + webidl.argumentLengthCheck(arguments, 1, "Response.json"); if (init !== null) { init = webidl.converters.ResponseInit(init); } @@ -33006,52 +33390,44 @@ var require_response2 = __commonJS({ serializeJavascriptValueToJSONString(data) ); const body = extractBody(bytes); - const relevantRealm = { settingsObject: {} }; - const responseObject = new _Response(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "response"; - responseObject[kHeaders][kRealm] = relevantRealm; + const responseObject = fromInnerResponse(makeResponse({}), "response"); initializeResponse(responseObject, init, { body: body[0], type: "application/json" }); return responseObject; } // Creates a redirect Response that redirects to url with status status. static redirect(url, status = 302) { - const relevantRealm = { settingsObject: {} }; - webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" }); + webidl.argumentLengthCheck(arguments, 1, "Response.redirect"); url = webidl.converters.USVString(url); status = webidl.converters["unsigned short"](status); let parsedURL; try { - parsedURL = new URL(url, getGlobalOrigin()); + parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl); } catch (err) { - throw Object.assign(new TypeError("Failed to parse URL from " + url), { - cause: err - }); + throw new TypeError(`Failed to parse URL from ${url}`, { cause: err }); } if (!redirectStatusSet.has(status)) { - throw new RangeError("Invalid status code " + status); + throw new RangeError(`Invalid status code ${status}`); } - const responseObject = new _Response(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; + const responseObject = fromInnerResponse(makeResponse({}), "immutable"); responseObject[kState].status = status; const value = isomorphicEncode(URLSerializer(parsedURL)); - responseObject[kState].headersList.append("location", value); + responseObject[kState].headersList.append("location", value, true); return responseObject; } // https://fetch.spec.whatwg.org/#dom-response constructor(body = null, init = {}) { + webidl.util.markAsUncloneable(this); + if (body === kConstruct) { + return; + } if (body !== null) { body = webidl.converters.BodyInit(body); } init = webidl.converters.ResponseInit(init); - this[kRealm] = { settingsObject: {} }; this[kState] = makeResponse({}); this[kHeaders] = new Headers(kConstruct); - this[kHeaders][kGuard] = "response"; - this[kHeaders][kHeadersList] = this[kState].headersList; - this[kHeaders][kRealm] = this[kRealm]; + setHeadersGuard(this[kHeaders], "response"); + setHeadersList(this[kHeaders], this[kState].headersList); let bodyWithType = null; if (body != null) { const [extractedBody, type2] = extractBody(body); @@ -33110,20 +33486,35 @@ var require_response2 = __commonJS({ // Returns a clone of response. clone() { webidl.brandCheck(this, _Response); - if (this.bodyUsed || this.body && this.body.locked) { + if (bodyUnusable(this)) { throw webidl.errors.exception({ header: "Response.clone", message: "Body has already been consumed." }); } const clonedResponse = cloneResponse(this[kState]); - const clonedResponseObject = new _Response(); - clonedResponseObject[kState] = clonedResponse; - clonedResponseObject[kRealm] = this[kRealm]; - clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList; - clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm]; - return clonedResponseObject; + if (hasFinalizationRegistry && this[kState].body?.stream) { + streamRegistry.register(this, new WeakRef(this[kState].body.stream)); + } + return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders])); + } + [nodeUtil.inspect.custom](depth, options) { + if (options.depth === null) { + options.depth = 2; + } + options.colors ??= true; + const properties = { + 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 ${nodeUtil.formatWithOptions(options, properties)}`; } }; mixinBody(Response); @@ -33157,7 +33548,7 @@ var require_response2 = __commonJS({ } const newResponse = makeResponse({ ...response, body: null }); if (response.body != null) { - newResponse.body = cloneBody(response.body); + newResponse.body = cloneBody(newResponse, response.body); } return newResponse; } @@ -33173,8 +33564,8 @@ var require_response2 = __commonJS({ cacheState: "", statusText: "", ...init, - headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(), - urlList: init.urlList ? [...init.urlList] : [] + headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(), + urlList: init?.urlList ? [...init.urlList] : [] }; } function makeNetworkError(reason) { @@ -33186,6 +33577,13 @@ var require_response2 = __commonJS({ aborted: reason && reason.name === "AbortError" }); } + function isNetworkError(response) { + return ( + // A network error is a response whose type is "error", + response.type === "error" && // status is 0 + response.status === 0 + ); + } function makeFilteredResponse(response, state) { state = { internalResponse: response, @@ -33235,7 +33633,7 @@ var require_response2 = __commonJS({ } function makeAppropriateNetworkError(fetchParams, err = null) { assert(isCancelled(fetchParams)); - return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err })); + return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err })); } function initializeResponse(response, init, body) { if (init.status !== null && (init.status < 200 || init.status > 599)) { @@ -33259,17 +33657,28 @@ var require_response2 = __commonJS({ if (nullBodyStatus.includes(response.status)) { throw webidl.errors.exception({ header: "Response constructor", - message: "Invalid response status code " + response.status + message: `Invalid response status code ${response.status}` }); } response[kState].body = body.body; - if (body.type != null && !response[kState].headersList.contains("Content-Type")) { - response[kState].headersList.append("content-type", body.type); + if (body.type != null && !response[kState].headersList.contains("content-type", true)) { + response[kState].headersList.append("content-type", body.type, true); } } } + function fromInnerResponse(innerResponse, guard) { + const response = new Response(kConstruct); + response[kState] = innerResponse; + response[kHeaders] = new Headers(kConstruct); + setHeadersList(response[kHeaders], innerResponse.headersList); + setHeadersGuard(response[kHeaders], guard); + if (hasFinalizationRegistry && innerResponse.body?.stream) { + streamRegistry.register(response, new WeakRef(innerResponse.body.stream)); + } + return response; + } webidl.converters.ReadableStream = webidl.interfaceConverter( - ReadableStream2 + ReadableStream ); webidl.converters.FormData = webidl.interfaceConverter( FormData2 @@ -33277,43 +33686,43 @@ var require_response2 = __commonJS({ webidl.converters.URLSearchParams = webidl.interfaceConverter( URLSearchParams ); - webidl.converters.XMLHttpRequestBodyInit = function(V) { + webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) { if (typeof V === "string") { - return webidl.converters.USVString(V); + return webidl.converters.USVString(V, prefix, name); } if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); + return webidl.converters.Blob(V, prefix, name, { strict: false }); } - if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) { - return webidl.converters.BufferSource(V); + if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) { + return webidl.converters.BufferSource(V, prefix, name); } if (util.isFormDataLike(V)) { - return webidl.converters.FormData(V, { strict: false }); + return webidl.converters.FormData(V, prefix, name, { strict: false }); } if (V instanceof URLSearchParams) { - return webidl.converters.URLSearchParams(V); + return webidl.converters.URLSearchParams(V, prefix, name); } - return webidl.converters.DOMString(V); + return webidl.converters.DOMString(V, prefix, name); }; - webidl.converters.BodyInit = function(V) { - if (V instanceof ReadableStream2) { - return webidl.converters.ReadableStream(V); + webidl.converters.BodyInit = function(V, prefix, argument) { + if (V instanceof ReadableStream) { + return webidl.converters.ReadableStream(V, prefix, argument); } if (V?.[Symbol.asyncIterator]) { return V; } - return webidl.converters.XMLHttpRequestBodyInit(V); + return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument); }; webidl.converters.ResponseInit = webidl.dictionaryConverter([ { key: "status", converter: webidl.converters["unsigned short"], - defaultValue: 200 + defaultValue: () => 200 }, { key: "statusText", converter: webidl.converters.ByteString, - defaultValue: "" + defaultValue: () => "" }, { key: "headers", @@ -33321,30 +33730,73 @@ var require_response2 = __commonJS({ } ]); module2.exports = { + isNetworkError, makeNetworkError, makeResponse, makeAppropriateNetworkError, filterResponse, Response, - cloneResponse + cloneResponse, + fromInnerResponse }; } }); -// node_modules/undici/lib/fetch/request.js +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js +var require_dispatcher_weakref2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) { + "use strict"; + var { kConnected, kSize } = require_symbols6(); + var CompatWeakRef = class { + constructor(value) { + this.value = value; + } + deref() { + return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value; + } + }; + var CompatFinalizer = class { + constructor(finalizer) { + this.finalizer = finalizer; + } + register(dispatcher, key) { + if (dispatcher.on) { + dispatcher.on("disconnect", () => { + if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) { + this.finalizer(key); + } + }); + } + } + unregister(key) { + } + }; + module2.exports = function() { + if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) { + process._rawDebug("Using compatibility WeakRef and FinalizationRegistry"); + return { + WeakRef: CompatWeakRef, + FinalizationRegistry: CompatFinalizer + }; + } + return { WeakRef, FinalizationRegistry }; + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js var require_request4 = __commonJS({ - "node_modules/undici/lib/fetch/request.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) { "use strict"; - var { extractBody, mixinBody, cloneBody } = require_body2(); - var { Headers, fill: fillHeaders, HeadersList } = require_headers2(); + var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2(); + var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2(); var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()(); var util = require_util9(); + var nodeUtil = require("node:util"); var { isValidHTTPToken, sameOrigin, - normalizeMethod, - makePolicyContainer, - normalizeMethodRecord + environmentSettingsObject } = require_util10(); var { forbiddenMethodsSet, @@ -33355,43 +33807,61 @@ var require_request4 = __commonJS({ requestCredentials, requestCache, requestDuplex - } = require_constants7(); - var { kEnumerableProperty } = util; - var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7(); + } = require_constants8(); + var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util; + var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7(); var { webidl } = require_webidl2(); - var { getGlobalOrigin } = require_global3(); - var { URLSerializer } = require_dataURL(); - var { kHeadersList, kConstruct } = require_symbols6(); - var assert = require("assert"); - var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events"); - var TransformStream2 = globalThis.TransformStream; + var { URLSerializer } = require_data_url2(); + var { kConstruct } = require_symbols6(); + var assert = require("node:assert"); + var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events"); var kAbortController = /* @__PURE__ */ Symbol("abortController"); var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => { signal.removeEventListener("abort", abort); }); + var dependentControllerMap = /* @__PURE__ */ new WeakMap(); + function buildAbort(acRef) { + return abort; + function abort() { + const ac = acRef.deref(); + if (ac !== void 0) { + requestFinalizer.unregister(abort); + this.removeEventListener("abort", abort); + ac.abort(this.reason); + const controllerList = dependentControllerMap.get(ac.signal); + if (controllerList !== void 0) { + if (controllerList.size !== 0) { + for (const ref of controllerList) { + const ctrl = ref.deref(); + if (ctrl !== void 0) { + ctrl.abort(this.reason); + } + } + controllerList.clear(); + } + dependentControllerMap.delete(ac.signal); + } + } + } + } + var patchMethodWarning = false; var Request = class _Request { // https://fetch.spec.whatwg.org/#dom-request constructor(input, init = {}) { + webidl.util.markAsUncloneable(this); if (input === kConstruct) { return; } - webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" }); - input = webidl.converters.RequestInfo(input); - init = webidl.converters.RequestInit(init); - this[kRealm] = { - settingsObject: { - baseUrl: getGlobalOrigin(), - get origin() { - return this.baseUrl?.origin; - }, - policyContainer: makePolicyContainer() - } - }; + const prefix = "Request constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); + input = webidl.converters.RequestInfo(input, prefix, "input"); + init = webidl.converters.RequestInit(init, prefix, "init"); let request2 = null; let fallbackMode = null; - const baseUrl = this[kRealm].settingsObject.baseUrl; + const baseUrl = environmentSettingsObject.settingsObject.baseUrl; let signal = null; if (typeof input === "string") { + this[kDispatcher] = init.dispatcher; let parsedURL; try { parsedURL = new URL(input, baseUrl); @@ -33406,11 +33876,12 @@ var require_request4 = __commonJS({ request2 = makeRequest({ urlList: [parsedURL] }); fallbackMode = "cors"; } else { + this[kDispatcher] = init.dispatcher || input[kDispatcher]; assert(input instanceof _Request); request2 = input[kState]; signal = input[kSignal]; } - const origin = this[kRealm].settingsObject.origin; + const origin = environmentSettingsObject.settingsObject.origin; let window2 = "client"; if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) { window2 = request2.window; @@ -33432,7 +33903,7 @@ var require_request4 = __commonJS({ // unsafe-request flag Set. unsafeRequest: request2.unsafeRequest, // client This’s relevant settings object. - client: this[kRealm].settingsObject, + client: environmentSettingsObject.settingsObject, // window window. window: window2, // priority request’s priority. @@ -33488,7 +33959,7 @@ var require_request4 = __commonJS({ } catch (err) { throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err }); } - if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) { + if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) { request2.referrer = "client"; } else { request2.referrer = parsedReferrer; @@ -33535,14 +34006,26 @@ var require_request4 = __commonJS({ } if (init.method !== void 0) { let method = init.method; - if (!isValidHTTPToken(method)) { - throw new TypeError(`'${method}' is not a valid HTTP method.`); + const mayBeNormalized = normalizedMethodRecords[method]; + if (mayBeNormalized !== void 0) { + request2.method = mayBeNormalized; + } else { + if (!isValidHTTPToken(method)) { + throw new TypeError(`'${method}' is not a valid HTTP method.`); + } + const upperCase = method.toUpperCase(); + if (forbiddenMethodsSet.has(upperCase)) { + throw new TypeError(`'${method}' HTTP method is unsupported.`); + } + method = normalizedMethodRecordsBase[upperCase] ?? method; + request2.method = method; } - if (forbiddenMethodsSet.has(method.toUpperCase())) { - throw new TypeError(`'${method}' HTTP method is unsupported.`); + if (!patchMethodWarning && request2.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" + }); + patchMethodWarning = true; } - method = normalizeMethodRecord[method] ?? normalizeMethod(method); - request2.method = method; } if (init.signal !== void 0) { signal = init.signal; @@ -33550,7 +34033,6 @@ var require_request4 = __commonJS({ this[kState] = request2; const ac = new AbortController(); this[kSignal] = ac.signal; - this[kSignal][kRealm] = this[kRealm]; if (signal != null) { if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") { throw new TypeError( @@ -33562,43 +34044,37 @@ var require_request4 = __commonJS({ } else { this[kAbortController] = ac; const acRef = new WeakRef(ac); - const abort = function() { - const ac2 = acRef.deref(); - if (ac2 !== void 0) { - ac2.abort(this.reason); - } - }; + const abort = buildAbort(acRef); try { if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) { - setMaxListeners(100, signal); + setMaxListeners(1500, signal); } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) { - setMaxListeners(100, signal); + setMaxListeners(1500, signal); } } catch { } util.addAbortListener(signal, abort); - requestFinalizer.register(ac, { signal, abort }); + requestFinalizer.register(ac, { signal, abort }, abort); } } this[kHeaders] = new Headers(kConstruct); - this[kHeaders][kHeadersList] = request2.headersList; - this[kHeaders][kGuard] = "request"; - this[kHeaders][kRealm] = this[kRealm]; + setHeadersList(this[kHeaders], request2.headersList); + setHeadersGuard(this[kHeaders], "request"); if (mode === "no-cors") { if (!corsSafeListedMethodsSet.has(request2.method)) { throw new TypeError( `'${request2.method} is unsupported in no-cors mode.` ); } - this[kHeaders][kGuard] = "request-no-cors"; + setHeadersGuard(this[kHeaders], "request-no-cors"); } if (initHasKey) { - const headersList = this[kHeaders][kHeadersList]; + const headersList = getHeadersList(this[kHeaders]); const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList); headersList.clear(); if (headers instanceof HeadersList) { - for (const [key, val] of headers) { - headersList.append(key, val); + for (const { name, value } of headers.rawValues()) { + headersList.append(name, value, false); } headersList.cookies = headers.cookies; } else { @@ -33616,7 +34092,7 @@ var require_request4 = __commonJS({ request2.keepalive ); initBody = extractedBody; - if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) { + if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) { this[kHeaders].append("content-type", contentType); } } @@ -33634,15 +34110,12 @@ var require_request4 = __commonJS({ } let finalBody = inputOrInitBody; if (initBody == null && inputBody != null) { - if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) { + if (bodyUnusable(input)) { throw new TypeError( "Cannot construct a Request with a Request object that has already been used." ); } - if (!TransformStream2) { - TransformStream2 = require("stream/web").TransformStream; - } - const identityTransform = new TransformStream2(); + const identityTransform = new TransformStream(); inputBody.stream.pipeThrough(identityTransform); finalBody = { source: inputBody.source, @@ -33745,7 +34218,7 @@ var require_request4 = __commonJS({ return this[kState].reloadNavigation; } // Returns a boolean indicating whether or not request is for a history - // navigation (a.k.a. back-foward navigation). + // navigation (a.k.a. back-forward navigation). get isHistoryNavigation() { webidl.brandCheck(this, _Request); return this[kState].historyNavigation; @@ -33772,83 +34245,112 @@ var require_request4 = __commonJS({ // Returns a clone of request. clone() { webidl.brandCheck(this, _Request); - if (this.bodyUsed || this.body?.locked) { + if (bodyUnusable(this)) { throw new TypeError("unusable"); } const clonedRequest = cloneRequest(this[kState]); - const clonedRequestObject = new _Request(kConstruct); - clonedRequestObject[kState] = clonedRequest; - clonedRequestObject[kRealm] = this[kRealm]; - clonedRequestObject[kHeaders] = new Headers(kConstruct); - clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList; - clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm]; const ac = new AbortController(); if (this.signal.aborted) { ac.abort(this.signal.reason); } else { + let list = dependentControllerMap.get(this.signal); + if (list === void 0) { + list = /* @__PURE__ */ new Set(); + dependentControllerMap.set(this.signal, list); + } + const acRef = new WeakRef(ac); + list.add(acRef); util.addAbortListener( - this.signal, - () => { - ac.abort(this.signal.reason); - } + ac.signal, + buildAbort(acRef) ); } - clonedRequestObject[kSignal] = ac.signal; - return clonedRequestObject; + return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders])); + } + [nodeUtil.inspect.custom](depth, options) { + if (options.depth === null) { + options.depth = 2; + } + options.colors ??= true; + const properties = { + 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 ${nodeUtil.formatWithOptions(options, properties)}`; } }; mixinBody(Request); function makeRequest(init) { - const request2 = { - method: "GET", - localURLsOnly: false, - unsafeRequest: false, - body: null, - client: null, - reservedClient: null, - replacesClientId: "", - window: "client", - keepalive: false, - serviceWorkers: "all", - initiator: "", - destination: "", - priority: null, - origin: "client", - policyContainer: "client", - referrer: "client", - referrerPolicy: "", - mode: "no-cors", - useCORSPreflightFlag: false, - credentials: "same-origin", - useCredentials: false, - cache: "default", - redirect: "follow", - integrity: "", - cryptoGraphicsNonceMetadata: "", - parserMetadata: "", - reloadNavigation: false, - historyNavigation: false, - userActivation: false, - taintedOrigin: false, - redirectCount: 0, - responseTainting: "basic", - preventNoCacheCacheControlHeaderModification: false, - done: false, - timingAllowFailed: false, - ...init, + return { + method: init.method ?? "GET", + localURLsOnly: init.localURLsOnly ?? false, + unsafeRequest: init.unsafeRequest ?? false, + body: init.body ?? null, + client: init.client ?? null, + reservedClient: init.reservedClient ?? null, + replacesClientId: init.replacesClientId ?? "", + window: init.window ?? "client", + keepalive: init.keepalive ?? false, + serviceWorkers: init.serviceWorkers ?? "all", + initiator: init.initiator ?? "", + destination: init.destination ?? "", + priority: init.priority ?? null, + origin: init.origin ?? "client", + policyContainer: init.policyContainer ?? "client", + referrer: init.referrer ?? "client", + referrerPolicy: init.referrerPolicy ?? "", + mode: init.mode ?? "no-cors", + useCORSPreflightFlag: init.useCORSPreflightFlag ?? false, + credentials: init.credentials ?? "same-origin", + useCredentials: init.useCredentials ?? false, + cache: init.cache ?? "default", + redirect: init.redirect ?? "follow", + integrity: init.integrity ?? "", + cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "", + parserMetadata: init.parserMetadata ?? "", + reloadNavigation: init.reloadNavigation ?? false, + historyNavigation: init.historyNavigation ?? false, + userActivation: init.userActivation ?? false, + taintedOrigin: init.taintedOrigin ?? false, + redirectCount: init.redirectCount ?? 0, + responseTainting: init.responseTainting ?? "basic", + preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false, + done: init.done ?? false, + timingAllowFailed: init.timingAllowFailed ?? false, + urlList: init.urlList, + url: init.urlList[0], headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList() }; - request2.url = request2.urlList[0]; - return request2; } function cloneRequest(request2) { const newRequest = makeRequest({ ...request2, body: null }); if (request2.body != null) { - newRequest.body = cloneBody(request2.body); + newRequest.body = cloneBody(newRequest, request2.body); } return newRequest; } + function fromInnerRequest(innerRequest, signal, guard) { + const request2 = new Request(kConstruct); + request2[kState] = innerRequest; + request2[kSignal] = signal; + request2[kHeaders] = new Headers(kConstruct); + setHeadersList(request2[kHeaders], innerRequest.headersList); + setHeadersGuard(request2[kHeaders], guard); + return request2; + } Object.defineProperties(Request.prototype, { method: kEnumerableProperty, url: kEnumerableProperty, @@ -33878,14 +34380,14 @@ var require_request4 = __commonJS({ webidl.converters.Request = webidl.interfaceConverter( Request ); - webidl.converters.RequestInfo = function(V) { + webidl.converters.RequestInfo = function(V, prefix, argument) { if (typeof V === "string") { - return webidl.converters.USVString(V); + return webidl.converters.USVString(V, prefix, argument); } if (V instanceof Request) { - return webidl.converters.Request(V); + return webidl.converters.Request(V, prefix, argument); } - return webidl.converters.USVString(V); + return webidl.converters.USVString(V, prefix, argument); }; webidl.converters.AbortSignal = webidl.interfaceConverter( AbortSignal @@ -33952,6 +34454,8 @@ var require_request4 = __commonJS({ converter: webidl.nullableConverter( (signal) => webidl.converters.AbortSignal( signal, + "RequestInit", + "signal", { strict: false } ) ) @@ -33964,26 +34468,31 @@ var require_request4 = __commonJS({ key: "duplex", converter: webidl.converters.DOMString, allowedValues: requestDuplex + }, + { + key: "dispatcher", + // undici specific option + converter: webidl.converters.any } ]); - module2.exports = { Request, makeRequest }; + module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest }; } }); -// node_modules/undici/lib/fetch/index.js +// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js var require_fetch2 = __commonJS({ - "node_modules/undici/lib/fetch/index.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) { "use strict"; var { - Response, makeNetworkError, makeAppropriateNetworkError, filterResponse, - makeResponse + makeResponse, + fromInnerResponse } = require_response2(); - var { Headers } = require_headers2(); - var { Request, makeRequest } = require_request4(); - var zlib = require("zlib"); + var { HeadersList } = require_headers2(); + var { Request, cloneRequest } = require_request4(); + var zlib = require("node:zlib"); var { bytesMatch, makePolicyContainer, @@ -34012,31 +34521,33 @@ var require_fetch2 = __commonJS({ isomorphicEncode, urlIsLocal, urlIsHttpHttpsScheme, - urlHasHttpsScheme + urlHasHttpsScheme, + clampAndCoarsenConnectionTimingInfo, + simpleRangeHeaderValue, + buildContentRange, + createInflate, + extractMimeType } = require_util10(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols7(); - var assert = require("assert"); - var { safelyExtractBody } = require_body2(); + var { kState, kDispatcher } = require_symbols7(); + var assert = require("node:assert"); + var { safelyExtractBody, extractBody } = require_body2(); var { redirectStatusSet, nullBodyStatus, safeMethodsSet, requestBodyHeader, - subresourceSet, - DOMException: DOMException2 - } = require_constants7(); - var { kHeadersList } = require_symbols6(); - var EE = require("events"); - var { Readable, pipeline } = require("stream"); - var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9(); - var { dataURLProcessor, serializeAMimeType } = require_dataURL(); - var { TransformStream: TransformStream2 } = require("stream/web"); + subresourceSet + } = require_constants8(); + var EE = require("node:events"); + var { Readable, pipeline, finished } = require("node:stream"); + var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9(); + var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2(); var { getGlobalDispatcher } = require_global4(); var { webidl } = require_webidl2(); - var { STATUS_CODES } = require("http"); + var { STATUS_CODES } = require("node:http"); var GET_OR_HEAD = ["GET", "HEAD"]; + var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici"; var resolveObjectURL; - var ReadableStream2 = globalThis.ReadableStream; var Fetch = class extends EE { constructor(dispatcher) { super(); @@ -34044,7 +34555,6 @@ var require_fetch2 = __commonJS({ this.connection = null; this.dump = false; this.state = "ongoing"; - this.setMaxListeners(21); } terminate(reason) { if (this.state !== "ongoing") { @@ -34061,16 +34571,19 @@ var require_fetch2 = __commonJS({ } this.state = "aborted"; if (!error3) { - error3 = new DOMException2("The operation was aborted.", "AbortError"); + error3 = new DOMException("The operation was aborted.", "AbortError"); } this.serializedAbortReason = error3; this.connection?.destroy(error3); this.emit("terminated", error3); } }; - function fetch(input, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" }); - const p = createDeferredPromise(); + function handleFetchDone(response) { + finalizeAndReportTiming(response, "fetch"); + } + function fetch(input, init = void 0) { + webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch"); + let p = createDeferredPromise(); let requestObject; try { requestObject = new Request(input, init); @@ -34088,7 +34601,6 @@ var require_fetch2 = __commonJS({ request2.serviceWorkers = "none"; } let responseObject = null; - const relevantRealm = null; let locallyAborted = false; let controller = null; addAbortListener( @@ -34097,37 +34609,31 @@ var require_fetch2 = __commonJS({ locallyAborted = true; assert(controller != null); controller.abort(requestObject.signal.reason); - abortFetch(p, request2, responseObject, requestObject.signal.reason); + const realResponse = responseObject?.deref(); + abortFetch(p, request2, realResponse, requestObject.signal.reason); } ); - const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch"); const processResponse = (response) => { if (locallyAborted) { - return Promise.resolve(); + return; } if (response.aborted) { abortFetch(p, request2, responseObject, controller.serializedAbortReason); - return Promise.resolve(); + return; } if (response.type === "error") { - p.reject( - Object.assign(new TypeError("fetch failed"), { cause: response.error }) - ); - return Promise.resolve(); + p.reject(new TypeError("fetch failed", { cause: response.error })); + return; } - responseObject = new Response(); - responseObject[kState] = response; - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - p.resolve(responseObject); + responseObject = new WeakRef(fromInnerResponse(response, "immutable")); + p.resolve(responseObject.deref()); + p = null; }; controller = fetching({ request: request2, processResponseEndOfBody: handleFetchDone, processResponse, - dispatcher: init.dispatcher ?? getGlobalDispatcher() + dispatcher: requestObject[kDispatcher] // undici }); return p.promise; @@ -34158,22 +34664,17 @@ var require_fetch2 = __commonJS({ response.timingInfo = timingInfo; markResourceTiming( timingInfo, - originalURL, + originalURL.href, initiatorType, globalThis, cacheState ); } - function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) { - if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) { - performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState); - } - } + var markResourceTiming = performance.markResourceTiming; function abortFetch(p, request2, responseObject, error3) { - if (!error3) { - error3 = new DOMException2("The operation was aborted.", "AbortError"); + if (p) { + p.reject(error3); } - p.reject(error3); if (request2.body != null && isReadable(request2.body?.stream)) { request2.body.stream.cancel(error3).catch((err) => { if (err.code === "ERR_INVALID_STATE") { @@ -34203,18 +34704,19 @@ var require_fetch2 = __commonJS({ processResponseEndOfBody, processResponseConsumeBody, useParallelQueue = false, - dispatcher + dispatcher = getGlobalDispatcher() // undici }) { + assert(dispatcher); let taskDestination = null; let crossOriginIsolatedCapability = false; if (request2.client != null) { taskDestination = request2.client.globalObject; crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability; } - const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); + const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); const timingInfo = createOpaqueTimingInfo({ - startTime: currenTime + startTime: currentTime }); const fetchParams = { controller: new Fetch(dispatcher), @@ -34233,7 +34735,7 @@ var require_fetch2 = __commonJS({ request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window"; } if (request2.origin === "client") { - request2.origin = request2.client?.origin; + request2.origin = request2.client.origin; } if (request2.policyContainer === "client") { if (request2.client != null) { @@ -34244,12 +34746,12 @@ var require_fetch2 = __commonJS({ request2.policyContainer = makePolicyContainer(); } } - if (!request2.headersList.contains("accept")) { + if (!request2.headersList.contains("accept", true)) { const value = "*/*"; - request2.headersList.append("accept", value); + request2.headersList.append("accept", value, true); } - if (!request2.headersList.contains("accept-language")) { - request2.headersList.append("accept-language", "*"); + if (!request2.headersList.contains("accept-language", true)) { + request2.headersList.append("accept-language", "*", true); } if (request2.priority === null) { } @@ -34331,7 +34833,7 @@ var require_fetch2 = __commonJS({ if (!request2.timingAllowFailed) { response.timingAllowPassed = true; } - if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) { + if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) { response = internalResponse = makeNetworkError(); } if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) { @@ -34369,28 +34871,56 @@ var require_fetch2 = __commonJS({ } case "blob:": { if (!resolveObjectURL) { - resolveObjectURL = require("buffer").resolveObjectURL; + resolveObjectURL = require("node:buffer").resolveObjectURL; } const blobURLEntry = requestCurrentURL(request2); if (blobURLEntry.search.length !== 0) { return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource.")); } - const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString()); - if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) { + const blob = resolveObjectURL(blobURLEntry.toString()); + if (request2.method !== "GET" || !isBlobLike(blob)) { return Promise.resolve(makeNetworkError("invalid method")); } - const bodyWithType = safelyExtractBody(blobURLEntryObject); - const body = bodyWithType[0]; - const length = isomorphicEncode(`${body.length}`); - const type2 = bodyWithType[1] ?? ""; - const response = makeResponse({ - statusText: "OK", - headersList: [ - ["content-length", { name: "Content-Length", value: length }], - ["content-type", { name: "Content-Type", value: type2 }] - ] - }); - response.body = body; + const response = makeResponse(); + const fullLength = blob.size; + const serializedFullLength = isomorphicEncode(`${fullLength}`); + const type2 = blob.type; + if (!request2.headersList.contains("range", true)) { + const bodyWithType = extractBody(blob); + response.statusText = "OK"; + response.body = bodyWithType[0]; + response.headersList.set("content-length", serializedFullLength, true); + response.headersList.set("content-type", type2, true); + } else { + response.rangeRequested = true; + const rangeHeader = request2.headersList.get("range", true); + const rangeValue = simpleRangeHeaderValue(rangeHeader, true); + if (rangeValue === "failure") { + return Promise.resolve(makeNetworkError("failed to fetch the data URL")); + } + let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue; + if (rangeStart === null) { + rangeStart = fullLength - rangeEnd; + rangeEnd = rangeStart + rangeEnd - 1; + } else { + if (rangeStart >= fullLength) { + return Promise.resolve(makeNetworkError("Range start is greater than the blob's size.")); + } + if (rangeEnd === null || rangeEnd >= fullLength) { + rangeEnd = fullLength - 1; + } + } + const slicedBlob = blob.slice(rangeStart, rangeEnd, type2); + const slicedBodyWithType = extractBody(slicedBlob); + response.body = slicedBodyWithType[0]; + const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`); + const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength); + response.status = 206; + response.statusText = "Partial Content"; + response.headersList.set("content-length", serializedSlicedLength, true); + response.headersList.set("content-type", type2, true); + response.headersList.set("content-range", contentRange, true); + } return Promise.resolve(response); } case "data:": { @@ -34427,52 +34957,59 @@ var require_fetch2 = __commonJS({ } } function fetchFinale(fetchParams, response) { - if (response.type === "error") { - response.urlList = [fetchParams.request.urlList[0]]; - response.timingInfo = createOpaqueTimingInfo({ - startTime: fetchParams.timingInfo.startTime - }); - } + let timingInfo = fetchParams.timingInfo; const processResponseEndOfBody = () => { - fetchParams.request.done = true; - if (fetchParams.processResponseEndOfBody != null) { - queueMicrotask(() => fetchParams.processResponseEndOfBody(response)); + const unsafeEndTime = Date.now(); + if (fetchParams.request.destination === "document") { + fetchParams.controller.fullTimingInfo = timingInfo; } + fetchParams.controller.reportTimingSteps = () => { + if (fetchParams.request.url.protocol !== "https:") { + return; + } + timingInfo.endTime = unsafeEndTime; + let cacheState = response.cacheState; + const bodyInfo = response.bodyInfo; + if (!response.timingAllowPassed) { + timingInfo = createOpaqueTimingInfo(timingInfo); + cacheState = ""; + } + let responseStatus = 0; + if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) { + responseStatus = response.status; + const mimeType = extractMimeType(response.headersList); + if (mimeType !== "failure") { + bodyInfo.contentType = minimizeSupportedMimeType(mimeType); + } + } + if (fetchParams.request.initiatorType != null) { + markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus); + } + }; + const processResponseEndOfBodyTask = () => { + fetchParams.request.done = true; + if (fetchParams.processResponseEndOfBody != null) { + queueMicrotask(() => fetchParams.processResponseEndOfBody(response)); + } + if (fetchParams.request.initiatorType != null) { + fetchParams.controller.reportTimingSteps(); + } + }; + queueMicrotask(() => processResponseEndOfBodyTask()); }; if (fetchParams.processResponse != null) { - queueMicrotask(() => fetchParams.processResponse(response)); + queueMicrotask(() => { + fetchParams.processResponse(response); + fetchParams.processResponse = null; + }); } - if (response.body == null) { + const internalResponse = response.type === "error" ? response : response.internalResponse ?? response; + if (internalResponse.body == null) { processResponseEndOfBody(); } else { - const identityTransformAlgorithm = (chunk, controller) => { - controller.enqueue(chunk); - }; - const transformStream = new TransformStream2({ - start() { - }, - transform: identityTransformAlgorithm, - flush: processResponseEndOfBody - }, { - size() { - return 1; - } - }, { - size() { - return 1; - } + finished(internalResponse.body.stream, () => { + processResponseEndOfBody(); }); - response.body = { stream: response.body.stream.pipeThrough(transformStream) }; - } - if (fetchParams.processResponseConsumeBody != null) { - const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes); - const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure); - if (response.body == null) { - queueMicrotask(() => processBody(null)); - } else { - return fullyReadBody(response.body, processBody, processBodyError); - } - return Promise.resolve(); } } async function httpFetch(fetchParams) { @@ -34504,7 +35041,7 @@ var require_fetch2 = __commonJS({ } if (redirectStatusSet.has(actualResponse.status)) { if (request2.redirect !== "manual") { - fetchParams.controller.connection.destroy(); + fetchParams.controller.connection.destroy(void 0, false); } if (request2.redirect === "error") { response = makeNetworkError("unexpected redirect"); @@ -34560,10 +35097,10 @@ var require_fetch2 = __commonJS({ } } if (!sameOrigin(requestCurrentURL(request2), locationURL)) { - request2.headersList.delete("authorization"); + request2.headersList.delete("authorization", true); request2.headersList.delete("proxy-authorization", true); - request2.headersList.delete("cookie"); - request2.headersList.delete("host"); + request2.headersList.delete("cookie", true); + request2.headersList.delete("host", true); } if (request2.body != null) { assert(request2.body.source != null); @@ -34589,7 +35126,7 @@ var require_fetch2 = __commonJS({ httpFetchParams = fetchParams; httpRequest = request2; } else { - httpRequest = makeRequest(request2); + httpRequest = cloneRequest(request2); httpFetchParams = { ...fetchParams }; httpFetchParams.request = httpRequest; } @@ -34603,52 +35140,52 @@ var require_fetch2 = __commonJS({ contentLengthHeaderValue = isomorphicEncode(`${contentLength}`); } if (contentLengthHeaderValue != null) { - httpRequest.headersList.append("content-length", contentLengthHeaderValue); + httpRequest.headersList.append("content-length", contentLengthHeaderValue, true); } if (contentLength != null && httpRequest.keepalive) { } if (httpRequest.referrer instanceof URL) { - httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href)); + httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true); } appendRequestOriginHeader(httpRequest); appendFetchMetadata(httpRequest); - if (!httpRequest.headersList.contains("user-agent")) { - httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node"); + if (!httpRequest.headersList.contains("user-agent", true)) { + httpRequest.headersList.append("user-agent", defaultUserAgent); } - if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) { + if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) { httpRequest.cache = "no-store"; } - if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) { - httpRequest.headersList.append("cache-control", "max-age=0"); + if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) { + httpRequest.headersList.append("cache-control", "max-age=0", true); } if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") { - if (!httpRequest.headersList.contains("pragma")) { - httpRequest.headersList.append("pragma", "no-cache"); + if (!httpRequest.headersList.contains("pragma", true)) { + httpRequest.headersList.append("pragma", "no-cache", true); } - if (!httpRequest.headersList.contains("cache-control")) { - httpRequest.headersList.append("cache-control", "no-cache"); + if (!httpRequest.headersList.contains("cache-control", true)) { + httpRequest.headersList.append("cache-control", "no-cache", true); } } - if (httpRequest.headersList.contains("range")) { - httpRequest.headersList.append("accept-encoding", "identity"); + if (httpRequest.headersList.contains("range", true)) { + httpRequest.headersList.append("accept-encoding", "identity", true); } - if (!httpRequest.headersList.contains("accept-encoding")) { + if (!httpRequest.headersList.contains("accept-encoding", true)) { if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) { - httpRequest.headersList.append("accept-encoding", "br, gzip, deflate"); + httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true); } else { - httpRequest.headersList.append("accept-encoding", "gzip, deflate"); + httpRequest.headersList.append("accept-encoding", "gzip, deflate", true); } } - httpRequest.headersList.delete("host"); + httpRequest.headersList.delete("host", true); if (includeCredentials) { } if (httpCache == null) { httpRequest.cache = "no-store"; } - if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") { + if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") { } if (response == null) { - if (httpRequest.mode === "only-if-cached") { + if (httpRequest.cache === "only-if-cached") { return makeNetworkError("only if cached"); } const forwardResponse = await httpNetworkFetch( @@ -34665,7 +35202,7 @@ var require_fetch2 = __commonJS({ } } response.urlList = [...httpRequest.urlList]; - if (httpRequest.headersList.contains("range")) { + if (httpRequest.headersList.contains("range", true)) { response.rangeRequested = true; } response.requestIncludesCredentials = includeCredentials; @@ -34703,10 +35240,12 @@ var require_fetch2 = __commonJS({ fetchParams.controller.connection = { abort: null, destroyed: false, - destroy(err) { + destroy(err, abort = true) { if (!this.destroyed) { this.destroyed = true; - this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError")); + if (abort) { + this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError")); + } } } }; @@ -34777,16 +35316,15 @@ var require_fetch2 = __commonJS({ } return makeNetworkError(err); } - const pullAlgorithm = () => { - fetchParams.controller.resume(); + const pullAlgorithm = async () => { + await fetchParams.controller.resume(); }; const cancelAlgorithm = (reason) => { - fetchParams.controller.abort(reason); + if (!isCancelled(fetchParams)) { + fetchParams.controller.abort(reason); + } }; - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; - } - const stream = new ReadableStream2( + const stream = new ReadableStream( { async start(controller) { fetchParams.controller.controller = controller; @@ -34796,16 +35334,12 @@ var require_fetch2 = __commonJS({ }, async cancel(reason) { await cancelAlgorithm(reason); - } - }, - { - highWaterMark: 0, - size() { - return 1; - } + }, + type: "bytes" } ); - response.body = { stream }; + response.body = { stream, source: null, length: null }; + fetchParams.controller.onAborted = onAborted; fetchParams.controller.on("terminated", onAborted); fetchParams.controller.resume = async () => { while (true) { @@ -34835,12 +35369,15 @@ var require_fetch2 = __commonJS({ fetchParams.controller.terminate(bytes); return; } - fetchParams.controller.controller.enqueue(new Uint8Array(bytes)); + const buffer = new Uint8Array(bytes); + if (buffer.byteLength) { + fetchParams.controller.controller.enqueue(buffer); + } if (isErrored(stream)) { fetchParams.controller.terminate(); return; } - if (!fetchParams.controller.controller.desiredSize) { + if (fetchParams.controller.controller.desiredSize <= 0) { return; } } @@ -34863,7 +35400,7 @@ var require_fetch2 = __commonJS({ fetchParams.controller.connection.destroy(); } return response; - async function dispatch({ body }) { + function dispatch({ body }) { const url = requestCurrentURL(request2); const agent = fetchParams.controller.dispatcher; return new Promise((resolve5, reject) => agent.dispatch( @@ -34871,7 +35408,7 @@ var require_fetch2 = __commonJS({ path: url.pathname + url.search, origin: url.origin, method: request2.method, - body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body, + body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body, headers: request2.headersList.entries, maxRedirections: 0, upgrade: request2.mode === "websocket" ? "websocket" : void 0 @@ -34881,48 +35418,41 @@ var require_fetch2 = __commonJS({ abort: null, onConnect(abort) { const { connection } = fetchParams.controller; + timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability); if (connection.destroyed) { - abort(new DOMException2("The operation was aborted.", "AbortError")); + abort(new DOMException("The operation was aborted.", "AbortError")); } else { fetchParams.controller.on("terminated", abort); this.abort = connection.abort = abort; } + timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); }, - onHeaders(status, headersList, resume, statusText) { + onResponseStarted() { + timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + }, + onHeaders(status, rawHeaders, resume, statusText) { if (status < 200) { return; } - let codings = []; let location = ""; - const headers = new Headers(); - if (Array.isArray(headersList)) { - for (let n = 0; n < headersList.length; n += 2) { - const key = headersList[n + 0].toString("latin1"); - const val = headersList[n + 1].toString("latin1"); - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x) => x.trim()); - } else if (key.toLowerCase() === "location") { - location = val; - } - headers[kHeadersList].append(key, val); - } - } else { - const keys = Object.keys(headersList); - for (const key of keys) { - const val = headersList[key]; - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse(); - } else if (key.toLowerCase() === "location") { - location = val; - } - headers[kHeadersList].append(key, val); - } + const headersList = new HeadersList(); + for (let i = 0; i < rawHeaders.length; i += 2) { + headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true); } + location = headersList.get("location", true); this.body = new Readable({ read: resume }); const decoders = []; - const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status); + const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status); if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) { - for (const coding of codings) { + const contentEncoding = headersList.get("content-encoding", true); + const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : []; + const maxContentEncodings = 5; + if (codings.length > maxContentEncodings) { + reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`)); + return true; + } + for (let i = codings.length - 1; i >= 0; --i) { + const coding = codings[i].trim(); if (coding === "x-gzip" || coding === "gzip") { decoders.push(zlib.createGunzip({ // Be less strict when decoding compressed responses, since sometimes @@ -34933,22 +35463,31 @@ var require_fetch2 = __commonJS({ finishFlush: zlib.constants.Z_SYNC_FLUSH })); } else if (coding === "deflate") { - decoders.push(zlib.createInflate()); + decoders.push(createInflate({ + flush: zlib.constants.Z_SYNC_FLUSH, + finishFlush: zlib.constants.Z_SYNC_FLUSH + })); } else if (coding === "br") { - decoders.push(zlib.createBrotliDecompress()); + decoders.push(zlib.createBrotliDecompress({ + flush: zlib.constants.BROTLI_OPERATION_FLUSH, + finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH + })); } else { decoders.length = 0; break; } } } + const onError = this.onError.bind(this); resolve5({ status, statusText, - headersList: headers[kHeadersList], - body: decoders.length ? pipeline(this.body, ...decoders, () => { - }) : this.body.on("error", () => { - }) + headersList, + body: decoders.length ? pipeline(this.body, ...decoders, (err) => { + if (err) { + this.onError(err); + } + }).on("error", onError) : this.body.on("error", onError) }); return true; }, @@ -34964,6 +35503,9 @@ var require_fetch2 = __commonJS({ if (this.abort) { fetchParams.controller.off("terminated", this.abort); } + if (fetchParams.controller.onAborted) { + fetchParams.controller.off("terminated", fetchParams.controller.onAborted); + } fetchParams.controller.ended = true; this.body.push(null); }, @@ -34975,20 +35517,18 @@ var require_fetch2 = __commonJS({ fetchParams.controller.terminate(error3); reject(error3); }, - onUpgrade(status, headersList, socket) { + onUpgrade(status, rawHeaders, socket) { if (status !== 101) { return; } - const headers = new Headers(); - for (let n = 0; n < headersList.length; n += 2) { - const key = headersList[n + 0].toString("latin1"); - const val = headersList[n + 1].toString("latin1"); - headers[kHeadersList].append(key, val); + const headersList = new HeadersList(); + for (let i = 0; i < rawHeaders.length; i += 2) { + headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true); } resolve5({ status, statusText: STATUS_CODES[status], - headersList: headers[kHeadersList], + headersList, socket }); return true; @@ -35006,9 +35546,9 @@ var require_fetch2 = __commonJS({ } }); -// node_modules/undici/lib/fileapi/symbols.js +// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js var require_symbols8 = __commonJS({ - "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) { "use strict"; module2.exports = { kState: /* @__PURE__ */ Symbol("FileReader state"), @@ -35021,15 +35561,15 @@ var require_symbols8 = __commonJS({ } }); -// node_modules/undici/lib/fileapi/progressevent.js +// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js var require_progressevent2 = __commonJS({ - "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) { "use strict"; var { webidl } = require_webidl2(); var kState = /* @__PURE__ */ Symbol("ProgressEvent state"); var ProgressEvent = class _ProgressEvent extends Event { constructor(type2, eventInitDict = {}) { - type2 = webidl.converters.DOMString(type2); + type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type"); eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}); super(type2, eventInitDict); this[kState] = { @@ -35055,32 +35595,32 @@ var require_progressevent2 = __commonJS({ { key: "lengthComputable", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "loaded", converter: webidl.converters["unsigned long long"], - defaultValue: 0 + defaultValue: () => 0 }, { key: "total", converter: webidl.converters["unsigned long long"], - defaultValue: 0 + defaultValue: () => 0 }, { key: "bubbles", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "cancelable", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "composed", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false } ]); module2.exports = { @@ -35089,9 +35629,9 @@ var require_progressevent2 = __commonJS({ } }); -// node_modules/undici/lib/fileapi/encoding.js +// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js var require_encoding2 = __commonJS({ - "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) { "use strict"; function getEncoding(label) { if (!label) { @@ -35375,9 +35915,9 @@ var require_encoding2 = __commonJS({ } }); -// node_modules/undici/lib/fileapi/util.js +// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js var require_util12 = __commonJS({ - "node_modules/undici/lib/fileapi/util.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) { "use strict"; var { kState, @@ -35388,11 +35928,10 @@ var require_util12 = __commonJS({ } = require_symbols8(); var { ProgressEvent } = require_progressevent2(); var { getEncoding } = require_encoding2(); - var { DOMException: DOMException2 } = require_constants7(); - var { serializeAMimeType, parseMIMEType } = require_dataURL(); - var { types } = require("util"); + var { serializeAMimeType, parseMIMEType } = require_data_url2(); + var { types } = require("node:util"); var { StringDecoder } = require("string_decoder"); - var { btoa: btoa2 } = require("buffer"); + var { btoa: btoa2 } = require("node:buffer"); var staticPropertyDescriptors = { enumerable: true, writable: false, @@ -35400,7 +35939,7 @@ var require_util12 = __commonJS({ }; function readOperation(fr, blob, type2, encodingName) { if (fr[kState] === "loading") { - throw new DOMException2("Invalid state", "InvalidStateError"); + throw new DOMException("Invalid state", "InvalidStateError"); } fr[kState] = "loading"; fr[kResult] = null; @@ -35561,9 +36100,9 @@ var require_util12 = __commonJS({ } }); -// node_modules/undici/lib/fileapi/filereader.js +// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js var require_filereader2 = __commonJS({ - "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) { "use strict"; var { staticPropertyDescriptors, @@ -35600,7 +36139,7 @@ var require_filereader2 = __commonJS({ */ readAsArrayBuffer(blob) { webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" }); + webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer"); blob = webidl.converters.Blob(blob, { strict: false }); readOperation(this, blob, "ArrayBuffer"); } @@ -35610,7 +36149,7 @@ var require_filereader2 = __commonJS({ */ readAsBinaryString(blob) { webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" }); + webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString"); blob = webidl.converters.Blob(blob, { strict: false }); readOperation(this, blob, "BinaryString"); } @@ -35621,10 +36160,10 @@ var require_filereader2 = __commonJS({ */ readAsText(blob, encoding = void 0) { webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" }); + webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText"); blob = webidl.converters.Blob(blob, { strict: false }); if (encoding !== void 0) { - encoding = webidl.converters.DOMString(encoding); + encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding"); } readOperation(this, blob, "Text", encoding); } @@ -35634,7 +36173,7 @@ var require_filereader2 = __commonJS({ */ readAsDataURL(blob) { webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" }); + webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL"); blob = webidl.converters.Blob(blob, { strict: false }); readOperation(this, blob, "DataURL"); } @@ -35820,9 +36359,9 @@ var require_filereader2 = __commonJS({ } }); -// node_modules/undici/lib/cache/symbols.js +// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js var require_symbols9 = __commonJS({ - "node_modules/undici/lib/cache/symbols.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) { "use strict"; module2.exports = { kConstruct: require_symbols6().kConstruct @@ -35830,55 +36369,50 @@ var require_symbols9 = __commonJS({ } }); -// node_modules/undici/lib/cache/util.js +// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js var require_util13 = __commonJS({ - "node_modules/undici/lib/cache/util.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) { "use strict"; - var assert = require("assert"); - var { URLSerializer } = require_dataURL(); + var assert = require("node:assert"); + var { URLSerializer } = require_data_url2(); var { isValidHeaderName } = require_util10(); function urlEquals(A, B, excludeFragment = false) { const serializedA = URLSerializer(A, excludeFragment); const serializedB = URLSerializer(B, excludeFragment); return serializedA === serializedB; } - function fieldValues(header) { + function getFieldValues(header) { assert(header !== null); const values = []; for (let value of header.split(",")) { value = value.trim(); - if (!value.length) { - continue; - } else if (!isValidHeaderName(value)) { - continue; + if (isValidHeaderName(value)) { + values.push(value); } - values.push(value); } return values; } module2.exports = { urlEquals, - fieldValues + getFieldValues }; } }); -// node_modules/undici/lib/cache/cache.js +// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js var require_cache2 = __commonJS({ - "node_modules/undici/lib/cache/cache.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) { "use strict"; var { kConstruct } = require_symbols9(); - var { urlEquals, fieldValues: getFieldValues } = require_util13(); + var { urlEquals, getFieldValues } = require_util13(); var { kEnumerableProperty, isDisturbed } = require_util9(); - var { kHeadersList } = require_symbols6(); var { webidl } = require_webidl2(); - var { Response, cloneResponse } = require_response2(); - var { Request } = require_request4(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols7(); + var { Response, cloneResponse, fromInnerResponse } = require_response2(); + var { Request, fromInnerRequest } = require_request4(); + var { kState } = require_symbols7(); var { fetching } = require_fetch2(); var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10(); - var assert = require("assert"); - var { getGlobalDispatcher } = require_global4(); + var assert = require("node:assert"); var Cache = class _Cache { /** * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list @@ -35889,14 +36423,16 @@ var require_cache2 = __commonJS({ if (arguments[0] !== kConstruct) { webidl.illegalConstructor(); } + webidl.util.markAsUncloneable(this); this.#relevantRequestResponseList = arguments[1]; } async match(request2, options = {}) { webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" }); - request2 = webidl.converters.RequestInfo(request2); - options = webidl.converters.CacheQueryOptions(options); - const p = await this.matchAll(request2, options); + const prefix = "Cache.match"; + webidl.argumentLengthCheck(arguments, 1, prefix); + request2 = webidl.converters.RequestInfo(request2, prefix, "request"); + options = webidl.converters.CacheQueryOptions(options, prefix, "options"); + const p = this.#internalMatchAll(request2, options, 1); if (p.length === 0) { return; } @@ -35904,64 +36440,42 @@ var require_cache2 = __commonJS({ } async matchAll(request2 = void 0, options = {}) { webidl.brandCheck(this, _Cache); - if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2); - options = webidl.converters.CacheQueryOptions(options); - let r = null; - if (request2 !== void 0) { - if (request2 instanceof Request) { - r = request2[kState]; - if (r.method !== "GET" && !options.ignoreMethod) { - return []; - } - } else if (typeof request2 === "string") { - r = new Request(request2)[kState]; - } - } - const responses = []; - if (request2 === void 0) { - for (const requestResponse of this.#relevantRequestResponseList) { - responses.push(requestResponse[1]); - } - } else { - const requestResponses = this.#queryCache(r, options); - for (const requestResponse of requestResponses) { - responses.push(requestResponse[1]); - } - } - const responseList = []; - for (const response of responses) { - const responseObject = new Response(response.body?.source ?? null); - const body = responseObject[kState].body; - responseObject[kState] = response; - responseObject[kState].body = body; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseList.push(responseObject); - } - return Object.freeze(responseList); + const prefix = "Cache.matchAll"; + if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request"); + options = webidl.converters.CacheQueryOptions(options, prefix, "options"); + return this.#internalMatchAll(request2, options); } async add(request2) { webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" }); - request2 = webidl.converters.RequestInfo(request2); + const prefix = "Cache.add"; + webidl.argumentLengthCheck(arguments, 1, prefix); + request2 = webidl.converters.RequestInfo(request2, prefix, "request"); const requests = [request2]; const responseArrayPromise = this.addAll(requests); return await responseArrayPromise; } async addAll(requests) { webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" }); - requests = webidl.converters["sequence"](requests); + const prefix = "Cache.addAll"; + webidl.argumentLengthCheck(arguments, 1, prefix); const responsePromises = []; const requestList = []; - for (const request2 of requests) { + for (let request2 of requests) { + if (request2 === void 0) { + throw webidl.errors.conversionFailed({ + prefix, + argument: "Argument 1", + types: ["undefined is not allowed"] + }); + } + request2 = webidl.converters.RequestInfo(request2); if (typeof request2 === "string") { continue; } const r = request2[kState]; if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") { throw webidl.errors.exception({ - header: "Cache.addAll", + header: prefix, message: "Expected http/s scheme when method is not GET." }); } @@ -35971,7 +36485,7 @@ var require_cache2 = __commonJS({ const r = new Request(request2)[kState]; if (!urlIsHttpHttpsScheme(r.url)) { throw webidl.errors.exception({ - header: "Cache.addAll", + header: prefix, message: "Expected http/s scheme." }); } @@ -35981,7 +36495,6 @@ var require_cache2 = __commonJS({ const responsePromise = createDeferredPromise(); fetchControllers.push(fetching({ request: r, - dispatcher: getGlobalDispatcher(), processResponse(response) { if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) { responsePromise.reject(webidl.errors.exception({ @@ -36048,9 +36561,10 @@ var require_cache2 = __commonJS({ } async put(request2, response) { webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" }); - request2 = webidl.converters.RequestInfo(request2); - response = webidl.converters.Response(response); + const prefix = "Cache.put"; + webidl.argumentLengthCheck(arguments, 2, prefix); + request2 = webidl.converters.RequestInfo(request2, prefix, "request"); + response = webidl.converters.Response(response, prefix, "response"); let innerRequest = null; if (request2 instanceof Request) { innerRequest = request2[kState]; @@ -36059,14 +36573,14 @@ var require_cache2 = __commonJS({ } if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") { throw webidl.errors.exception({ - header: "Cache.put", + header: prefix, message: "Expected an http/s scheme when method is not GET" }); } const innerResponse = response[kState]; if (innerResponse.status === 206) { throw webidl.errors.exception({ - header: "Cache.put", + header: prefix, message: "Got 206 status" }); } @@ -36075,7 +36589,7 @@ var require_cache2 = __commonJS({ for (const fieldValue of fieldValues) { if (fieldValue === "*") { throw webidl.errors.exception({ - header: "Cache.put", + header: prefix, message: "Got * vary field value" }); } @@ -36083,7 +36597,7 @@ var require_cache2 = __commonJS({ } if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) { throw webidl.errors.exception({ - header: "Cache.put", + header: prefix, message: "Response body is locked or disturbed" }); } @@ -36128,9 +36642,10 @@ var require_cache2 = __commonJS({ } async delete(request2, options = {}) { webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" }); - request2 = webidl.converters.RequestInfo(request2); - options = webidl.converters.CacheQueryOptions(options); + const prefix = "Cache.delete"; + webidl.argumentLengthCheck(arguments, 1, prefix); + request2 = webidl.converters.RequestInfo(request2, prefix, "request"); + options = webidl.converters.CacheQueryOptions(options, prefix, "options"); let r = null; if (request2 instanceof Request) { r = request2[kState]; @@ -36169,12 +36684,13 @@ var require_cache2 = __commonJS({ * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys * @param {any} request * @param {import('../../types/cache').CacheQueryOptions} options - * @returns {readonly Request[]} + * @returns {Promise} */ async keys(request2 = void 0, options = {}) { webidl.brandCheck(this, _Cache); - if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2); - options = webidl.converters.CacheQueryOptions(options); + const prefix = "Cache.keys"; + if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request"); + options = webidl.converters.CacheQueryOptions(options, prefix, "options"); let r = null; if (request2 !== void 0) { if (request2 instanceof Request) { @@ -36201,11 +36717,11 @@ var require_cache2 = __commonJS({ queueMicrotask(() => { const requestList = []; for (const request3 of requests) { - const requestObject = new Request("https://a"); - requestObject[kState] = request3; - requestObject[kHeaders][kHeadersList] = request3.headersList; - requestObject[kHeaders][kGuard] = "immutable"; - requestObject[kRealm] = request3.client; + const requestObject = fromInnerRequest( + request3, + new AbortController().signal, + "immutable" + ); requestList.push(requestObject); } promise.resolve(Object.freeze(requestList)); @@ -36346,6 +36862,39 @@ var require_cache2 = __commonJS({ } return true; } + #internalMatchAll(request2, options, maxResponses = Infinity) { + let r = null; + if (request2 !== void 0) { + if (request2 instanceof Request) { + r = request2[kState]; + if (r.method !== "GET" && !options.ignoreMethod) { + return []; + } + } else if (typeof request2 === "string") { + r = new Request(request2)[kState]; + } + } + const responses = []; + if (request2 === void 0) { + for (const requestResponse of this.#relevantRequestResponseList) { + responses.push(requestResponse[1]); + } + } else { + const requestResponses = this.#queryCache(r, options); + for (const requestResponse of requestResponses) { + responses.push(requestResponse[1]); + } + } + const responseList = []; + for (const response of responses) { + const responseObject = fromInnerResponse(response, "immutable"); + responseList.push(responseObject.clone()); + if (responseList.length >= maxResponses) { + break; + } + } + return Object.freeze(responseList); + } }; Object.defineProperties(Cache.prototype, { [Symbol.toStringTag]: { @@ -36364,17 +36913,17 @@ var require_cache2 = __commonJS({ { key: "ignoreSearch", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "ignoreMethod", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "ignoreVary", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false } ]; webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters); @@ -36395,9 +36944,9 @@ var require_cache2 = __commonJS({ } }); -// node_modules/undici/lib/cache/cachestorage.js +// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js var require_cachestorage2 = __commonJS({ - "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) { "use strict"; var { kConstruct } = require_symbols9(); var { Cache } = require_cache2(); @@ -36413,10 +36962,11 @@ var require_cachestorage2 = __commonJS({ if (arguments[0] !== kConstruct) { webidl.illegalConstructor(); } + webidl.util.markAsUncloneable(this); } async match(request2, options = {}) { webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" }); + webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match"); request2 = webidl.converters.RequestInfo(request2); options = webidl.converters.MultiCacheQueryOptions(options); if (options.cacheName != null) { @@ -36442,8 +36992,9 @@ var require_cachestorage2 = __commonJS({ */ async has(cacheName) { webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" }); - cacheName = webidl.converters.DOMString(cacheName); + const prefix = "CacheStorage.has"; + webidl.argumentLengthCheck(arguments, 1, prefix); + cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName"); return this.#caches.has(cacheName); } /** @@ -36453,8 +37004,9 @@ var require_cachestorage2 = __commonJS({ */ async open(cacheName) { webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" }); - cacheName = webidl.converters.DOMString(cacheName); + const prefix = "CacheStorage.open"; + webidl.argumentLengthCheck(arguments, 1, prefix); + cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName"); if (this.#caches.has(cacheName)) { const cache2 = this.#caches.get(cacheName); return new Cache(kConstruct, cache2); @@ -36470,13 +37022,14 @@ var require_cachestorage2 = __commonJS({ */ async delete(cacheName) { webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" }); - cacheName = webidl.converters.DOMString(cacheName); + const prefix = "CacheStorage.delete"; + webidl.argumentLengthCheck(arguments, 1, prefix); + cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName"); return this.#caches.delete(cacheName); } /** * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys - * @returns {string[]} + * @returns {Promise} */ async keys() { webidl.brandCheck(this, _CacheStorage); @@ -36501,9 +37054,9 @@ var require_cachestorage2 = __commonJS({ } }); -// node_modules/undici/lib/cookies/constants.js +// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js var require_constants9 = __commonJS({ - "node_modules/undici/lib/cookies/constants.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) { "use strict"; var maxAttributeValueSize = 1024; var maxNameValuePairSize = 4096; @@ -36514,42 +37067,73 @@ var require_constants9 = __commonJS({ } }); -// node_modules/undici/lib/cookies/util.js +// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js var require_util14 = __commonJS({ - "node_modules/undici/lib/cookies/util.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) { "use strict"; function isCTLExcludingHtab(value) { - if (value.length === 0) { - return false; - } - for (const char of value) { - const code = char.charCodeAt(0); - if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) { - return false; + for (let i = 0; i < value.length; ++i) { + const code = value.charCodeAt(i); + if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) { + return true; } } + return false; } function validateCookieName(name) { - for (const char of name) { - const code = char.charCodeAt(0); - if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") { + for (let i = 0; i < name.length; ++i) { + const code = name.charCodeAt(i); + if (code < 33 || // exclude CTLs (0-31), SP and HT + code > 126 || // exclude non-ascii and DEL + code === 34 || // " + code === 40 || // ( + code === 41 || // ) + code === 60 || // < + code === 62 || // > + code === 64 || // @ + code === 44 || // , + code === 59 || // ; + code === 58 || // : + code === 92 || // \ + code === 47 || // / + code === 91 || // [ + code === 93 || // ] + code === 63 || // ? + code === 61 || // = + code === 123 || // { + code === 125) { throw new Error("Invalid cookie name"); } } } function validateCookieValue(value) { - for (const char of value) { - const code = char.charCodeAt(0); + let len = value.length; + let i = 0; + if (value[0] === '"') { + if (len === 1 || value[len - 1] !== '"') { + throw new Error("Invalid cookie value"); + } + --len; + ++i; + } + while (i < len) { + const code = value.charCodeAt(i++); if (code < 33 || // exclude CTLs (0-31) - code === 34 || code === 44 || code === 59 || code === 92 || code > 126) { - throw new Error("Invalid header value"); + code > 126 || // non-ascii and DEL (127) + code === 34 || // " + code === 44 || // , + code === 59 || // ; + code === 92) { + throw new Error("Invalid cookie value"); } } } function validateCookiePath(path7) { - for (const char of path7) { - const code = char.charCodeAt(0); - if (code < 33 || char === ";") { + for (let i = 0; i < path7.length; ++i) { + const code = path7.charCodeAt(i); + if (code < 32 || // exclude CTLs (0-31) + code === 127 || // DEL + code === 59) { throw new Error("Invalid cookie path"); } } @@ -36559,41 +37143,35 @@ var require_util14 = __commonJS({ throw new Error("Invalid cookie domain"); } } + var IMFDays = [ + "Sun", + "Mon", + "Tue", + "Wed", + "Thu", + "Fri", + "Sat" + ]; + var IMFMonths = [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec" + ]; + var IMFPaddedNumbers = Array(61).fill(0).map((_2, i) => i.toString().padStart(2, "0")); function toIMFDate(date) { if (typeof date === "number") { date = new Date(date); } - const days = [ - "Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat" - ]; - const months = [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec" - ]; - const dayName = days[date.getUTCDay()]; - const day = date.getUTCDate().toString().padStart(2, "0"); - const month = months[date.getUTCMonth()]; - const year = date.getUTCFullYear(); - const hour = date.getUTCHours().toString().padStart(2, "0"); - const minute = date.getUTCMinutes().toString().padStart(2, "0"); - const second = date.getUTCSeconds().toString().padStart(2, "0"); - return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`; + return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`; } function validateCookieMaxAge(maxAge) { if (maxAge < 0) { @@ -36659,14 +37237,14 @@ var require_util14 = __commonJS({ } }); -// node_modules/undici/lib/cookies/parse.js +// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js var require_parse2 = __commonJS({ - "node_modules/undici/lib/cookies/parse.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) { "use strict"; var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9(); var { isCTLExcludingHtab } = require_util14(); - var { collectASequenceOfCodePointsFast } = require_dataURL(); - var assert = require("assert"); + var { collectASequenceOfCodePointsFast } = require_data_url2(); + var assert = require("node:assert"); function parseSetCookie(header) { if (isCTLExcludingHtab(header)) { return null; @@ -36799,16 +37377,16 @@ var require_parse2 = __commonJS({ } }); -// node_modules/undici/lib/cookies/index.js +// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js var require_cookies2 = __commonJS({ - "node_modules/undici/lib/cookies/index.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) { "use strict"; var { parseSetCookie } = require_parse2(); var { stringify } = require_util14(); var { webidl } = require_webidl2(); var { Headers } = require_headers2(); function getCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" }); + webidl.argumentLengthCheck(arguments, 1, "getCookies"); webidl.brandCheck(headers, Headers, { strict: false }); const cookie = headers.get("cookie"); const out = {}; @@ -36822,9 +37400,10 @@ var require_cookies2 = __commonJS({ return out; } function deleteCookie(headers, name, attributes) { - webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" }); webidl.brandCheck(headers, Headers, { strict: false }); - name = webidl.converters.DOMString(name); + const prefix = "deleteCookie"; + webidl.argumentLengthCheck(arguments, 2, prefix); + name = webidl.converters.DOMString(name, prefix, "name"); attributes = webidl.converters.DeleteCookieAttributes(attributes); setCookie(headers, { name, @@ -36834,7 +37413,7 @@ var require_cookies2 = __commonJS({ }); } function getSetCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" }); + webidl.argumentLengthCheck(arguments, 1, "getSetCookies"); webidl.brandCheck(headers, Headers, { strict: false }); const cookies = headers.getSetCookie(); if (!cookies) { @@ -36843,24 +37422,24 @@ var require_cookies2 = __commonJS({ return cookies.map((pair) => parseSetCookie(pair)); } function setCookie(headers, cookie) { - webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" }); + webidl.argumentLengthCheck(arguments, 2, "setCookie"); webidl.brandCheck(headers, Headers, { strict: false }); cookie = webidl.converters.Cookie(cookie); const str2 = stringify(cookie); if (str2) { - headers.append("Set-Cookie", stringify(cookie)); + headers.append("Set-Cookie", str2); } } webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([ { converter: webidl.nullableConverter(webidl.converters.DOMString), key: "path", - defaultValue: null + defaultValue: () => null }, { converter: webidl.nullableConverter(webidl.converters.DOMString), key: "domain", - defaultValue: null + defaultValue: () => null } ]); webidl.converters.Cookie = webidl.dictionaryConverter([ @@ -36880,32 +37459,32 @@ var require_cookies2 = __commonJS({ return new Date(value); }), key: "expires", - defaultValue: null + defaultValue: () => null }, { converter: webidl.nullableConverter(webidl.converters["long long"]), key: "maxAge", - defaultValue: null + defaultValue: () => null }, { converter: webidl.nullableConverter(webidl.converters.DOMString), key: "domain", - defaultValue: null + defaultValue: () => null }, { converter: webidl.nullableConverter(webidl.converters.DOMString), key: "path", - defaultValue: null + defaultValue: () => null }, { converter: webidl.nullableConverter(webidl.converters.boolean), key: "secure", - defaultValue: null + defaultValue: () => null }, { converter: webidl.nullableConverter(webidl.converters.boolean), key: "httpOnly", - defaultValue: null + defaultValue: () => null }, { converter: webidl.converters.USVString, @@ -36915,7 +37494,7 @@ var require_cookies2 = __commonJS({ { converter: webidl.sequenceConverter(webidl.converters.DOMString), key: "unparsed", - defaultValue: [] + defaultValue: () => new Array(0) } ]); module2.exports = { @@ -36927,82 +37506,29 @@ var require_cookies2 = __commonJS({ } }); -// node_modules/undici/lib/websocket/constants.js -var require_constants10 = __commonJS({ - "node_modules/undici/lib/websocket/constants.js"(exports2, module2) { - "use strict"; - var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; - var staticPropertyDescriptors = { - enumerable: true, - writable: false, - configurable: false - }; - var states = { - CONNECTING: 0, - OPEN: 1, - CLOSING: 2, - CLOSED: 3 - }; - var opcodes = { - CONTINUATION: 0, - TEXT: 1, - BINARY: 2, - CLOSE: 8, - PING: 9, - PONG: 10 - }; - var maxUnsigned16Bit = 2 ** 16 - 1; - var parserStates = { - INFO: 0, - PAYLOADLENGTH_16: 2, - PAYLOADLENGTH_64: 3, - READ_DATA: 4 - }; - var emptyBuffer = Buffer.allocUnsafe(0); - module2.exports = { - uid, - staticPropertyDescriptors, - states, - opcodes, - maxUnsigned16Bit, - parserStates, - emptyBuffer - }; - } -}); - -// node_modules/undici/lib/websocket/symbols.js -var require_symbols10 = __commonJS({ - "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) { - "use strict"; - module2.exports = { - kWebSocketURL: /* @__PURE__ */ Symbol("url"), - kReadyState: /* @__PURE__ */ Symbol("ready state"), - kController: /* @__PURE__ */ Symbol("controller"), - kResponse: /* @__PURE__ */ Symbol("response"), - kBinaryType: /* @__PURE__ */ Symbol("binary type"), - kSentClose: /* @__PURE__ */ Symbol("sent close"), - kReceivedClose: /* @__PURE__ */ Symbol("received close"), - kByteParser: /* @__PURE__ */ Symbol("byte parser") - }; - } -}); - -// node_modules/undici/lib/websocket/events.js +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js var require_events2 = __commonJS({ - "node_modules/undici/lib/websocket/events.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) { "use strict"; var { webidl } = require_webidl2(); var { kEnumerableProperty } = require_util9(); - var { MessagePort } = require("worker_threads"); + var { kConstruct } = require_symbols6(); + var { MessagePort } = require("node:worker_threads"); var MessageEvent = class _MessageEvent extends Event { #eventInit; constructor(type2, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" }); - type2 = webidl.converters.DOMString(type2); - eventInitDict = webidl.converters.MessageEventInit(eventInitDict); + if (type2 === kConstruct) { + super(arguments[1], arguments[2]); + webidl.util.markAsUncloneable(this); + return; + } + const prefix = "MessageEvent constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); + type2 = webidl.converters.DOMString(type2, prefix, "type"); + eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict"); super(type2, eventInitDict); this.#eventInit = eventInitDict; + webidl.util.markAsUncloneable(this); } get data() { webidl.brandCheck(this, _MessageEvent); @@ -37029,7 +37555,7 @@ var require_events2 = __commonJS({ } initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) { webidl.brandCheck(this, _MessageEvent); - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" }); + webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent"); return new _MessageEvent(type2, { bubbles, cancelable, @@ -37040,15 +37566,29 @@ var require_events2 = __commonJS({ ports }); } + static createFastMessageEvent(type2, init) { + const messageEvent = new _MessageEvent(kConstruct, type2, init); + messageEvent.#eventInit = init; + messageEvent.#eventInit.data ??= null; + messageEvent.#eventInit.origin ??= ""; + messageEvent.#eventInit.lastEventId ??= ""; + messageEvent.#eventInit.source ??= null; + messageEvent.#eventInit.ports ??= []; + return messageEvent; + } }; + var { createFastMessageEvent } = MessageEvent; + delete MessageEvent.createFastMessageEvent; var CloseEvent = class _CloseEvent extends Event { #eventInit; constructor(type2, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" }); - type2 = webidl.converters.DOMString(type2); + const prefix = "CloseEvent constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); + type2 = webidl.converters.DOMString(type2, prefix, "type"); eventInitDict = webidl.converters.CloseEventInit(eventInitDict); super(type2, eventInitDict); this.#eventInit = eventInitDict; + webidl.util.markAsUncloneable(this); } get wasClean() { webidl.brandCheck(this, _CloseEvent); @@ -37066,9 +37606,11 @@ var require_events2 = __commonJS({ var ErrorEvent = class _ErrorEvent extends Event { #eventInit; constructor(type2, eventInitDict) { - webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" }); + const prefix = "ErrorEvent constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); super(type2, eventInitDict); - type2 = webidl.converters.DOMString(type2); + webidl.util.markAsUncloneable(this); + type2 = webidl.converters.DOMString(type2, prefix, "type"); eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {}); this.#eventInit = eventInitDict; } @@ -37133,17 +37675,17 @@ var require_events2 = __commonJS({ { key: "bubbles", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "cancelable", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "composed", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false } ]; webidl.converters.MessageEventInit = webidl.dictionaryConverter([ @@ -37151,31 +37693,29 @@ var require_events2 = __commonJS({ { key: "data", converter: webidl.converters.any, - defaultValue: null + defaultValue: () => null }, { key: "origin", converter: webidl.converters.USVString, - defaultValue: "" + defaultValue: () => "" }, { key: "lastEventId", converter: webidl.converters.DOMString, - defaultValue: "" + defaultValue: () => "" }, { key: "source", // Node doesn't implement WindowProxy or ServiceWorker, so the only // valid value for source is a MessagePort. converter: webidl.nullableConverter(webidl.converters.MessagePort), - defaultValue: null + defaultValue: () => null }, { key: "ports", converter: webidl.converters["sequence"], - get defaultValue() { - return []; - } + defaultValue: () => new Array(0) } ]); webidl.converters.CloseEventInit = webidl.dictionaryConverter([ @@ -37183,17 +37723,17 @@ var require_events2 = __commonJS({ { key: "wasClean", converter: webidl.converters.boolean, - defaultValue: false + defaultValue: () => false }, { key: "code", converter: webidl.converters["unsigned short"], - defaultValue: 0 + defaultValue: () => 0 }, { key: "reason", converter: webidl.converters.USVString, - defaultValue: "" + defaultValue: () => "" } ]); webidl.converters.ErrorEventInit = webidl.dictionaryConverter([ @@ -37201,22 +37741,22 @@ var require_events2 = __commonJS({ { key: "message", converter: webidl.converters.DOMString, - defaultValue: "" + defaultValue: () => "" }, { key: "filename", converter: webidl.converters.USVString, - defaultValue: "" + defaultValue: () => "" }, { key: "lineno", converter: webidl.converters["unsigned long"], - defaultValue: 0 + defaultValue: () => 0 }, { key: "colno", converter: webidl.converters["unsigned long"], - defaultValue: 0 + defaultValue: () => 0 }, { key: "error", @@ -37226,18 +37766,98 @@ var require_events2 = __commonJS({ module2.exports = { MessageEvent, CloseEvent, - ErrorEvent + ErrorEvent, + createFastMessageEvent }; } }); -// node_modules/undici/lib/websocket/util.js +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js +var require_constants10 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) { + "use strict"; + var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; + var staticPropertyDescriptors = { + enumerable: true, + writable: false, + configurable: false + }; + var states = { + CONNECTING: 0, + OPEN: 1, + CLOSING: 2, + CLOSED: 3 + }; + var sentCloseFrameState = { + NOT_SENT: 0, + PROCESSING: 1, + SENT: 2 + }; + var opcodes = { + CONTINUATION: 0, + TEXT: 1, + BINARY: 2, + CLOSE: 8, + PING: 9, + PONG: 10 + }; + var maxUnsigned16Bit = 2 ** 16 - 1; + var parserStates = { + INFO: 0, + PAYLOADLENGTH_16: 2, + PAYLOADLENGTH_64: 3, + READ_DATA: 4 + }; + var emptyBuffer = Buffer.allocUnsafe(0); + var sendHints = { + string: 1, + typedArray: 2, + arrayBuffer: 3, + blob: 4 + }; + module2.exports = { + uid, + sentCloseFrameState, + staticPropertyDescriptors, + states, + opcodes, + maxUnsigned16Bit, + parserStates, + emptyBuffer, + sendHints + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js +var require_symbols10 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) { + "use strict"; + module2.exports = { + kWebSocketURL: /* @__PURE__ */ Symbol("url"), + kReadyState: /* @__PURE__ */ Symbol("ready state"), + kController: /* @__PURE__ */ Symbol("controller"), + kResponse: /* @__PURE__ */ Symbol("response"), + kBinaryType: /* @__PURE__ */ Symbol("binary type"), + kSentClose: /* @__PURE__ */ Symbol("sent close"), + kReceivedClose: /* @__PURE__ */ Symbol("received close"), + kByteParser: /* @__PURE__ */ Symbol("byte parser") + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js var require_util15 = __commonJS({ - "node_modules/undici/lib/websocket/util.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) { "use strict"; var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10(); var { states, opcodes } = require_constants10(); - var { MessageEvent, ErrorEvent } = require_events2(); + var { ErrorEvent, createFastMessageEvent } = require_events2(); + var { isUtf8 } = require("node:buffer"); + var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2(); + function isConnecting(ws) { + return ws[kReadyState] === states.CONNECTING; + } function isEstablished(ws) { return ws[kReadyState] === states.OPEN; } @@ -37247,8 +37867,8 @@ var require_util15 = __commonJS({ function isClosed(ws) { return ws[kReadyState] === states.CLOSED; } - function fireEvent(e, target, eventConstructor = Event, eventInitDict) { - const event = new eventConstructor(e, eventInitDict); + function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) { + const event = eventFactory(e, eventInitDict); target.dispatchEvent(event); } function websocketMessageReceived(ws, type2, data) { @@ -37258,7 +37878,7 @@ var require_util15 = __commonJS({ let dataForEvent; if (type2 === opcodes.TEXT) { try { - dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data); + dataForEvent = utf8Decode(data); } catch { failWebsocketConnection(ws, "Received invalid UTF-8 in text frame."); return; @@ -37267,22 +37887,44 @@ var require_util15 = __commonJS({ if (ws[kBinaryType] === "blob") { dataForEvent = new Blob([data]); } else { - dataForEvent = new Uint8Array(data).buffer; + dataForEvent = toArrayBuffer(data); } } - fireEvent("message", ws, MessageEvent, { + fireEvent("message", ws, createFastMessageEvent, { origin: ws[kWebSocketURL].origin, data: dataForEvent }); } + function toArrayBuffer(buffer) { + if (buffer.byteLength === buffer.buffer.byteLength) { + return buffer.buffer; + } + return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength); + } function isValidSubprotocol(protocol) { if (protocol.length === 0) { return false; } - for (const char of protocol) { - const code = char.charCodeAt(0); - if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP - code === 9) { + for (let i = 0; i < protocol.length; ++i) { + const code = protocol.charCodeAt(i); + if (code < 33 || // CTL, contains SP (0x20) and HT (0x09) + code > 126 || code === 34 || // " + code === 40 || // ( + code === 41 || // ) + code === 44 || // , + code === 47 || // / + code === 58 || // : + code === 59 || // ; + code === 60 || // < + code === 61 || // = + code === 62 || // > + code === 63 || // ? + code === 64 || // @ + code === 91 || // [ + code === 92 || // \ + code === 93 || // ] + code === 123 || // { + code === 125) { return false; } } @@ -37303,12 +37945,57 @@ var require_util15 = __commonJS({ response.socket.destroy(); } if (reason) { - fireEvent("error", ws, ErrorEvent, { - error: new Error(reason) + fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), { + error: new Error(reason), + message: reason }); } } + function isControlFrame(opcode) { + return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG; + } + function isContinuationFrame(opcode) { + return opcode === opcodes.CONTINUATION; + } + function isTextBinaryFrame(opcode) { + return opcode === opcodes.TEXT || opcode === opcodes.BINARY; + } + function isValidOpcode(opcode) { + return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode); + } + function parseExtensions(extensions) { + const position = { position: 0 }; + const extensionList = /* @__PURE__ */ new Map(); + while (position.position < extensions.length) { + const pair = collectASequenceOfCodePointsFast(";", extensions, position); + const [name, value = ""] = pair.split("="); + extensionList.set( + removeHTTPWhitespace(name, true, false), + removeHTTPWhitespace(value, false, true) + ); + position.position++; + } + return extensionList; + } + function isValidClientWindowBits(value) { + for (let i = 0; i < value.length; i++) { + const byte = value.charCodeAt(i); + if (byte < 48 || byte > 57) { + return false; + } + } + return true; + } + var hasIntl = typeof process.versions.icu === "string"; + var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0; + var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) { + if (isUtf8(buffer)) { + return buffer.toString("utf-8"); + } + throw new TypeError("Invalid utf-8 received."); + }; module2.exports = { + isConnecting, isEstablished, isClosing, isClosed, @@ -37316,44 +38003,126 @@ var require_util15 = __commonJS({ isValidSubprotocol, isValidStatusCode, failWebsocketConnection, - websocketMessageReceived + websocketMessageReceived, + utf8Decode, + isControlFrame, + isContinuationFrame, + isTextBinaryFrame, + isValidOpcode, + parseExtensions, + isValidClientWindowBits }; } }); -// node_modules/undici/lib/websocket/connection.js +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js +var require_frame2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) { + "use strict"; + var { maxUnsigned16Bit } = require_constants10(); + var BUFFER_SIZE = 16386; + var crypto2; + var buffer = null; + var bufIdx = BUFFER_SIZE; + try { + crypto2 = require("node:crypto"); + } catch { + crypto2 = { + // not full compatibility, but minimum. + randomFillSync: function randomFillSync(buffer2, _offset, _size) { + for (let i = 0; i < buffer2.length; ++i) { + buffer2[i] = Math.random() * 255 | 0; + } + return buffer2; + } + }; + } + function generateMask() { + if (bufIdx === BUFFER_SIZE) { + bufIdx = 0; + crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE); + } + return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]]; + } + var WebsocketFrameSend = class { + /** + * @param {Buffer|undefined} data + */ + constructor(data) { + this.frameData = data; + } + createFrame(opcode) { + const frameData = this.frameData; + const maskKey = generateMask(); + const bodyLength = frameData?.byteLength ?? 0; + let payloadLength = bodyLength; + let offset = 6; + if (bodyLength > maxUnsigned16Bit) { + offset += 8; + payloadLength = 127; + } else if (bodyLength > 125) { + offset += 2; + payloadLength = 126; + } + const buffer2 = Buffer.allocUnsafe(bodyLength + offset); + buffer2[0] = buffer2[1] = 0; + buffer2[0] |= 128; + buffer2[0] = (buffer2[0] & 240) + opcode; + buffer2[offset - 4] = maskKey[0]; + buffer2[offset - 3] = maskKey[1]; + buffer2[offset - 2] = maskKey[2]; + buffer2[offset - 1] = maskKey[3]; + buffer2[1] = payloadLength; + if (payloadLength === 126) { + buffer2.writeUInt16BE(bodyLength, 2); + } else if (payloadLength === 127) { + buffer2[2] = buffer2[3] = 0; + buffer2.writeUIntBE(bodyLength, 4, 6); + } + buffer2[1] |= 128; + for (let i = 0; i < bodyLength; ++i) { + buffer2[offset + i] = frameData[i] ^ maskKey[i & 3]; + } + return buffer2; + } + }; + module2.exports = { + WebsocketFrameSend + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js var require_connection2 = __commonJS({ - "node_modules/undici/lib/websocket/connection.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) { "use strict"; - var diagnosticsChannel = require("diagnostics_channel"); - var { uid, states } = require_constants10(); + var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10(); var { kReadyState, kSentClose, kByteParser, - kReceivedClose + kReceivedClose, + kResponse } = require_symbols10(); - var { fireEvent, failWebsocketConnection } = require_util15(); + var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15(); + var { channels } = require_diagnostics2(); var { CloseEvent } = require_events2(); var { makeRequest } = require_request4(); var { fetching } = require_fetch2(); - var { Headers } = require_headers2(); - var { getGlobalDispatcher } = require_global4(); - var { kHeadersList } = require_symbols6(); - var channels = {}; - channels.open = diagnosticsChannel.channel("undici:websocket:open"); - channels.close = diagnosticsChannel.channel("undici:websocket:close"); - channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error"); + var { Headers, getHeadersList } = require_headers2(); + var { getDecodeSplit } = require_util10(); + var { WebsocketFrameSend } = require_frame2(); var crypto2; try { - crypto2 = require("crypto"); + crypto2 = require("node:crypto"); } catch { } - function establishWebSocketConnection(url, protocols, ws, onEstablish, options) { + function establishWebSocketConnection(url, protocols, client, ws, onEstablish, options) { const requestURL = url; requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:"; const request2 = makeRequest({ urlList: [requestURL], + client, serviceWorkers: "none", referrer: "no-referrer", mode: "websocket", @@ -37362,7 +38131,7 @@ var require_connection2 = __commonJS({ redirect: "error" }); if (options.headers) { - const headersList = new Headers(options.headers)[kHeadersList]; + const headersList = getHeadersList(new Headers(options.headers)); request2.headersList = headersList; } const keyValue = crypto2.randomBytes(16).toString("base64"); @@ -37371,11 +38140,12 @@ var require_connection2 = __commonJS({ for (const protocol of protocols) { request2.headersList.append("sec-websocket-protocol", protocol); } - const permessageDeflate = ""; + const permessageDeflate = "permessage-deflate; client_max_window_bits"; + request2.headersList.append("sec-websocket-extensions", permessageDeflate); const controller = fetching({ request: request2, useParallelQueue: true, - dispatcher: options.dispatcher ?? getGlobalDispatcher(), + dispatcher: options.dispatcher, processResponse(response) { if (response.type === "error" || response.status !== 101) { failWebsocketConnection(ws, "Received network error or non-101 status code."); @@ -37400,14 +38170,21 @@ var require_connection2 = __commonJS({ return; } const secExtension = response.headersList.get("Sec-WebSocket-Extensions"); - if (secExtension !== null && secExtension !== permessageDeflate) { - failWebsocketConnection(ws, "Received different permessage-deflate than the one set."); - return; + let extensions; + if (secExtension !== null) { + extensions = parseExtensions(secExtension); + if (!extensions.has("permessage-deflate")) { + failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match."); + return; + } } const secProtocol = response.headersList.get("Sec-WebSocket-Protocol"); - if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) { - failWebsocketConnection(ws, "Protocol was not set in the opening handshake."); - return; + if (secProtocol !== null) { + const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList); + if (!requestProtocols.includes(secProtocol)) { + failWebsocketConnection(ws, "Protocol was not set in the opening handshake."); + return; + } } response.socket.on("data", onSocketData); response.socket.on("close", onSocketClose); @@ -37419,11 +38196,37 @@ var require_connection2 = __commonJS({ extensions: secExtension }); } - onEstablish(response); + onEstablish(response, extensions); } }); return controller; } + function closeWebSocketConnection(ws, code, reason, reasonByteLength) { + if (isClosing(ws) || isClosed(ws)) { + } else if (!isEstablished(ws)) { + failWebsocketConnection(ws, "Connection was closed before it was established."); + ws[kReadyState] = states.CLOSING; + } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) { + ws[kSentClose] = sentCloseFrameState.PROCESSING; + const frame = new WebsocketFrameSend(); + if (code !== void 0 && reason === void 0) { + frame.frameData = Buffer.allocUnsafe(2); + frame.frameData.writeUInt16BE(code, 0); + } else if (code !== void 0 && reason !== void 0) { + frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength); + frame.frameData.writeUInt16BE(code, 0); + frame.frameData.write(reason, 2, "utf-8"); + } else { + frame.frameData = emptyBuffer; + } + const socket = ws[kResponse].socket; + socket.write(frame.createFrame(opcodes.CLOSE)); + ws[kSentClose] = sentCloseFrameState.SENT; + ws[kReadyState] = states.CLOSING; + } else { + ws[kReadyState] = states.CLOSING; + } + } function onSocketData(chunk) { if (!this.ws[kByteParser].write(chunk)) { this.pause(); @@ -37431,18 +38234,22 @@ var require_connection2 = __commonJS({ } function onSocketClose() { const { ws } = this; - const wasClean = ws[kSentClose] && ws[kReceivedClose]; + const { [kResponse]: response } = ws; + response.socket.off("data", onSocketData); + response.socket.off("close", onSocketClose); + response.socket.off("error", onSocketError); + const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose]; let code = 1005; let reason = ""; const result = ws[kByteParser].closingInfo; - if (result) { + if (result && !result.error) { code = result.code ?? 1005; reason = result.reason; - } else if (!ws[kSentClose]) { + } else if (!ws[kReceivedClose]) { code = 1006; } ws[kReadyState] = states.CLOSED; - fireEvent("close", ws, CloseEvent, { + fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), { wasClean, code, reason @@ -37464,90 +38271,105 @@ var require_connection2 = __commonJS({ this.destroy(); } module2.exports = { - establishWebSocketConnection + establishWebSocketConnection, + closeWebSocketConnection }; } }); -// node_modules/undici/lib/websocket/frame.js -var require_frame2 = __commonJS({ - "node_modules/undici/lib/websocket/frame.js"(exports2, module2) { +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js +var require_permessage_deflate2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) { "use strict"; - var { maxUnsigned16Bit } = require_constants10(); - var crypto2; - try { - crypto2 = require("crypto"); - } catch { - } - var WebsocketFrameSend = class { - /** - * @param {Buffer|undefined} data - */ - constructor(data) { - this.frameData = data; - this.maskKey = crypto2.randomBytes(4); + var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib"); + var { isValidClientWindowBits } = require_util15(); + var tail = Buffer.from([0, 0, 255, 255]); + var kBuffer = /* @__PURE__ */ Symbol("kBuffer"); + var kLength = /* @__PURE__ */ Symbol("kLength"); + var PerMessageDeflate = class { + /** @type {import('node:zlib').InflateRaw} */ + #inflate; + #options = {}; + constructor(extensions) { + this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover"); + this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits"); } - createFrame(opcode) { - const bodyLength = this.frameData?.byteLength ?? 0; - let payloadLength = bodyLength; - let offset = 6; - if (bodyLength > maxUnsigned16Bit) { - offset += 8; - payloadLength = 127; - } else if (bodyLength > 125) { - offset += 2; - payloadLength = 126; - } - const buffer = Buffer.allocUnsafe(bodyLength + offset); - buffer[0] = buffer[1] = 0; - buffer[0] |= 128; - buffer[0] = (buffer[0] & 240) + opcode; - buffer[offset - 4] = this.maskKey[0]; - buffer[offset - 3] = this.maskKey[1]; - buffer[offset - 2] = this.maskKey[2]; - buffer[offset - 1] = this.maskKey[3]; - buffer[1] = payloadLength; - if (payloadLength === 126) { - buffer.writeUInt16BE(bodyLength, 2); - } else if (payloadLength === 127) { - buffer[2] = buffer[3] = 0; - buffer.writeUIntBE(bodyLength, 4, 6); + decompress(chunk, fin, callback) { + if (!this.#inflate) { + let windowBits = Z_DEFAULT_WINDOWBITS; + if (this.#options.serverMaxWindowBits) { + if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) { + callback(new Error("Invalid server_max_window_bits")); + return; + } + windowBits = Number.parseInt(this.#options.serverMaxWindowBits); + } + this.#inflate = createInflateRaw({ windowBits }); + this.#inflate[kBuffer] = []; + this.#inflate[kLength] = 0; + this.#inflate.on("data", (data) => { + this.#inflate[kBuffer].push(data); + this.#inflate[kLength] += data.length; + }); + this.#inflate.on("error", (err) => { + this.#inflate = null; + callback(err); + }); } - buffer[1] |= 128; - for (let i = 0; i < bodyLength; i++) { - buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4]; + this.#inflate.write(chunk); + if (fin) { + this.#inflate.write(tail); } - return buffer; + this.#inflate.flush(() => { + const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]); + this.#inflate[kBuffer].length = 0; + this.#inflate[kLength] = 0; + callback(null, full); + }); } }; - module2.exports = { - WebsocketFrameSend - }; + module2.exports = { PerMessageDeflate }; } }); -// node_modules/undici/lib/websocket/receiver.js +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js var require_receiver2 = __commonJS({ - "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) { "use strict"; - var { Writable } = require("stream"); - var diagnosticsChannel = require("diagnostics_channel"); - var { parserStates, opcodes, states, emptyBuffer } = require_constants10(); + var { Writable } = require("node:stream"); + var assert = require("node:assert"); + var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10(); var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10(); - var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15(); + var { channels } = require_diagnostics2(); + var { + isValidStatusCode, + isValidOpcode, + failWebsocketConnection, + websocketMessageReceived, + utf8Decode, + isControlFrame, + isTextBinaryFrame, + isContinuationFrame + } = require_util15(); var { WebsocketFrameSend } = require_frame2(); - var channels = {}; - channels.ping = diagnosticsChannel.channel("undici:websocket:ping"); - channels.pong = diagnosticsChannel.channel("undici:websocket:pong"); + var { closeWebSocketConnection } = require_connection2(); + var { PerMessageDeflate } = require_permessage_deflate2(); var ByteParser = class extends Writable { #buffers = []; #byteOffset = 0; + #loop = false; #state = parserStates.INFO; #info = {}; #fragments = []; - constructor(ws) { + /** @type {Map} */ + #extensions; + constructor(ws, extensions) { super(); this.ws = ws; + this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions; + if (this.#extensions.has("permessage-deflate")) { + this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions)); + } } /** * @param {Buffer} chunk @@ -37556,6 +38378,7 @@ var require_receiver2 = __commonJS({ _write(chunk, _2, callback) { this.#buffers.push(chunk); this.#byteOffset += chunk.length; + this.#loop = true; this.run(callback); } /** @@ -37564,21 +38387,56 @@ var require_receiver2 = __commonJS({ * or not enough bytes are buffered to parse. */ run(callback) { - while (true) { + while (this.#loop) { if (this.#state === parserStates.INFO) { if (this.#byteOffset < 2) { return callback(); } const buffer = this.consume(2); - this.#info.fin = (buffer[0] & 128) !== 0; - this.#info.opcode = buffer[0] & 15; - this.#info.originalOpcode ??= this.#info.opcode; - this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION; - if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) { + const fin = (buffer[0] & 128) !== 0; + const opcode = buffer[0] & 15; + const masked = (buffer[1] & 128) === 128; + const fragmented = !fin && opcode !== opcodes.CONTINUATION; + const payloadLength = buffer[1] & 127; + const rsv1 = buffer[0] & 64; + const rsv2 = buffer[0] & 32; + const rsv3 = buffer[0] & 16; + if (!isValidOpcode(opcode)) { + failWebsocketConnection(this.ws, "Invalid opcode received"); + return callback(); + } + if (masked) { + failWebsocketConnection(this.ws, "Frame cannot be masked"); + return callback(); + } + if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) { + failWebsocketConnection(this.ws, "Expected RSV1 to be clear."); + return; + } + if (rsv2 !== 0 || rsv3 !== 0) { + failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear"); + return; + } + if (fragmented && !isTextBinaryFrame(opcode)) { failWebsocketConnection(this.ws, "Invalid frame type was fragmented."); return; } - const payloadLength = buffer[1] & 127; + if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) { + failWebsocketConnection(this.ws, "Expected continuation frame"); + return; + } + if (this.#info.fragmented && fragmented) { + failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes."); + return; + } + if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) { + failWebsocketConnection(this.ws, "Control frame either too large or fragmented"); + return; + } + if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) { + failWebsocketConnection(this.ws, "Unexpected continuation frame"); + return; + } if (payloadLength <= 125) { this.#info.payloadLength = payloadLength; this.#state = parserStates.READ_DATA; @@ -37587,68 +38445,14 @@ var require_receiver2 = __commonJS({ } else if (payloadLength === 127) { this.#state = parserStates.PAYLOADLENGTH_64; } - if (this.#info.fragmented && payloadLength > 125) { - failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes."); - return; - } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) { - failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes."); - return; - } else if (this.#info.opcode === opcodes.CLOSE) { - if (payloadLength === 1) { - failWebsocketConnection(this.ws, "Received close frame with a 1-byte body."); - return; - } - const body = this.consume(payloadLength); - this.#info.closeInfo = this.parseCloseBody(false, body); - if (!this.ws[kSentClose]) { - const body2 = Buffer.allocUnsafe(2); - body2.writeUInt16BE(this.#info.closeInfo.code, 0); - const closeFrame = new WebsocketFrameSend(body2); - this.ws[kResponse].socket.write( - closeFrame.createFrame(opcodes.CLOSE), - (err) => { - if (!err) { - this.ws[kSentClose] = true; - } - } - ); - } - this.ws[kReadyState] = states.CLOSING; - this.ws[kReceivedClose] = true; - this.end(); - return; - } else if (this.#info.opcode === opcodes.PING) { - const body = this.consume(payloadLength); - if (!this.ws[kReceivedClose]) { - const frame = new WebsocketFrameSend(body); - this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); - if (channels.ping.hasSubscribers) { - channels.ping.publish({ - payload: body - }); - } - } - this.#state = parserStates.INFO; - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - return; - } - } else if (this.#info.opcode === opcodes.PONG) { - const body = this.consume(payloadLength); - if (channels.pong.hasSubscribers) { - channels.pong.publish({ - payload: body - }); - } - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - return; - } + if (isTextBinaryFrame(opcode)) { + this.#info.binaryType = opcode; + this.#info.compressed = rsv1 !== 0; } + this.#info.opcode = opcode; + this.#info.masked = masked; + this.#info.fin = fin; + this.#info.fragmented = fragmented; } else if (this.#state === parserStates.PAYLOADLENGTH_16) { if (this.#byteOffset < 2) { return callback(); @@ -37672,34 +38476,54 @@ var require_receiver2 = __commonJS({ } else if (this.#state === parserStates.READ_DATA) { if (this.#byteOffset < this.#info.payloadLength) { return callback(); - } else if (this.#byteOffset >= this.#info.payloadLength) { - const body = this.consume(this.#info.payloadLength); - this.#fragments.push(body); - if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) { - const fullMessage = Buffer.concat(this.#fragments); - websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage); - this.#info = {}; - this.#fragments.length = 0; - } + } + const body = this.consume(this.#info.payloadLength); + if (isControlFrame(this.#info.opcode)) { + this.#loop = this.parseControlFrame(body); this.#state = parserStates.INFO; + } else { + if (!this.#info.compressed) { + this.#fragments.push(body); + if (!this.#info.fragmented && this.#info.fin) { + const fullMessage = Buffer.concat(this.#fragments); + websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage); + this.#fragments.length = 0; + } + this.#state = parserStates.INFO; + } else { + this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => { + if (error3) { + closeWebSocketConnection(this.ws, 1007, error3.message, error3.message.length); + return; + } + this.#fragments.push(data); + if (!this.#info.fin) { + this.#state = parserStates.INFO; + this.#loop = true; + this.run(callback); + return; + } + websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments)); + this.#loop = true; + this.#state = parserStates.INFO; + this.#fragments.length = 0; + this.run(callback); + }); + this.#loop = false; + break; + } } } - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - break; - } } } /** * Take n bytes from the buffered Buffers * @param {number} n - * @returns {Buffer|null} + * @returns {Buffer} */ consume(n) { if (n > this.#byteOffset) { - return null; + throw new Error("Called consume() before buffers satiated."); } else if (n === 0) { return emptyBuffer; } @@ -37727,30 +38551,81 @@ var require_receiver2 = __commonJS({ this.#byteOffset -= n; return buffer; } - parseCloseBody(onlyCode, data) { + parseCloseBody(data) { + assert(data.length !== 1); let code; if (data.length >= 2) { code = data.readUInt16BE(0); } - if (onlyCode) { - if (!isValidStatusCode(code)) { - return null; - } - return { code }; + if (code !== void 0 && !isValidStatusCode(code)) { + return { code: 1002, reason: "Invalid status code", error: true }; } let reason = data.subarray(2); if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) { reason = reason.subarray(3); } - if (code !== void 0 && !isValidStatusCode(code)) { - return null; - } try { - reason = new TextDecoder("utf-8", { fatal: true }).decode(reason); + reason = utf8Decode(reason); } catch { - return null; + return { code: 1007, reason: "Invalid UTF-8", error: true }; } - return { code, reason }; + return { code, reason, error: false }; + } + /** + * Parses control frames. + * @param {Buffer} body + */ + parseControlFrame(body) { + const { opcode, payloadLength } = this.#info; + if (opcode === opcodes.CLOSE) { + if (payloadLength === 1) { + failWebsocketConnection(this.ws, "Received close frame with a 1-byte body."); + return false; + } + this.#info.closeInfo = this.parseCloseBody(body); + if (this.#info.closeInfo.error) { + const { code, reason } = this.#info.closeInfo; + closeWebSocketConnection(this.ws, code, reason, reason.length); + failWebsocketConnection(this.ws, reason); + return false; + } + if (this.ws[kSentClose] !== sentCloseFrameState.SENT) { + let body2 = emptyBuffer; + if (this.#info.closeInfo.code) { + body2 = Buffer.allocUnsafe(2); + body2.writeUInt16BE(this.#info.closeInfo.code, 0); + } + const closeFrame = new WebsocketFrameSend(body2); + this.ws[kResponse].socket.write( + closeFrame.createFrame(opcodes.CLOSE), + (err) => { + if (!err) { + this.ws[kSentClose] = sentCloseFrameState.SENT; + } + } + ); + } + this.ws[kReadyState] = states.CLOSING; + this.ws[kReceivedClose] = true; + return false; + } else if (opcode === opcodes.PING) { + if (!this.ws[kReceivedClose]) { + const frame = new WebsocketFrameSend(body); + this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); + if (channels.ping.hasSubscribers) { + channels.ping.publish({ + payload: body + }); + } + } + } else if (opcode === opcodes.PONG) { + if (channels.pong.hasSubscribers) { + channels.pong.publish({ + payload: body + }); + } + } + return true; } get closingInfo() { return this.#info.closeInfo; @@ -37762,15 +38637,96 @@ var require_receiver2 = __commonJS({ } }); -// node_modules/undici/lib/websocket/websocket.js +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js +var require_sender2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) { + "use strict"; + var { WebsocketFrameSend } = require_frame2(); + var { opcodes, sendHints } = require_constants10(); + var FixedQueue = require_fixed_queue2(); + var FastBuffer = Buffer[Symbol.species]; + var SendQueue = class { + /** + * @type {FixedQueue} + */ + #queue = new FixedQueue(); + /** + * @type {boolean} + */ + #running = false; + /** @type {import('node:net').Socket} */ + #socket; + constructor(socket) { + this.#socket = socket; + } + add(item, cb, hint) { + if (hint !== sendHints.blob) { + const frame = createFrame(item, hint); + if (!this.#running) { + this.#socket.write(frame, cb); + } else { + const node2 = { + promise: null, + callback: cb, + frame + }; + this.#queue.push(node2); + } + return; + } + const node = { + promise: item.arrayBuffer().then((ab) => { + node.promise = null; + node.frame = createFrame(ab, hint); + }), + callback: cb, + frame: null + }; + this.#queue.push(node); + if (!this.#running) { + this.#run(); + } + } + async #run() { + this.#running = true; + const queue = this.#queue; + while (!queue.isEmpty()) { + const node = queue.shift(); + if (node.promise !== null) { + await node.promise; + } + this.#socket.write(node.frame, node.callback); + node.callback = node.frame = null; + } + this.#running = false; + } + }; + function createFrame(data, hint) { + return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY); + } + function toBuffer(data, hint) { + switch (hint) { + case sendHints.string: + return Buffer.from(data); + case sendHints.arrayBuffer: + case sendHints.blob: + return new FastBuffer(data); + case sendHints.typedArray: + return new FastBuffer(data.buffer, data.byteOffset, data.byteLength); + } + } + module2.exports = { SendQueue }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js var require_websocket2 = __commonJS({ - "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) { "use strict"; var { webidl } = require_webidl2(); - var { DOMException: DOMException2 } = require_constants7(); - var { URLSerializer } = require_dataURL(); - var { getGlobalOrigin } = require_global3(); - var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10(); + var { URLSerializer } = require_data_url2(); + var { environmentSettingsObject } = require_util10(); + var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10(); var { kWebSocketURL, kReadyState, @@ -37780,14 +38736,20 @@ var require_websocket2 = __commonJS({ kSentClose, kByteParser } = require_symbols10(); - var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15(); - var { establishWebSocketConnection } = require_connection2(); - var { WebsocketFrameSend } = require_frame2(); + var { + isConnecting, + isEstablished, + isClosing, + isValidSubprotocol, + fireEvent + } = require_util15(); + var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2(); var { ByteParser } = require_receiver2(); var { kEnumerableProperty, isBlobLike } = require_util9(); var { getGlobalDispatcher } = require_global4(); - var { types } = require("util"); - var experimentalWarned = false; + var { types } = require("node:util"); + var { ErrorEvent, CloseEvent } = require_events2(); + var { SendQueue } = require_sender2(); var WebSocket = class _WebSocket extends EventTarget { #events = { open: null, @@ -37798,28 +38760,26 @@ var require_websocket2 = __commonJS({ #bufferedAmount = 0; #protocol = ""; #extensions = ""; + /** @type {SendQueue} */ + #sendQueue; /** * @param {string} url * @param {string|string[]} protocols */ constructor(url, protocols = []) { super(); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" }); - if (!experimentalWarned) { - experimentalWarned = true; - process.emitWarning("WebSockets are experimental, expect them to change at any time.", { - code: "UNDICI-WS" - }); - } - const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols); - url = webidl.converters.USVString(url); + webidl.util.markAsUncloneable(this); + const prefix = "WebSocket constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); + const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options"); + url = webidl.converters.USVString(url, prefix, "url"); protocols = options.protocols; - const baseURL = getGlobalOrigin(); + const baseURL = environmentSettingsObject.settingsObject.baseUrl; let urlRecord; try { urlRecord = new URL(url, baseURL); } catch (e) { - throw new DOMException2(e, "SyntaxError"); + throw new DOMException(e, "SyntaxError"); } if (urlRecord.protocol === "http:") { urlRecord.protocol = "ws:"; @@ -37827,32 +38787,35 @@ var require_websocket2 = __commonJS({ urlRecord.protocol = "wss:"; } if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") { - throw new DOMException2( + throw new DOMException( `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`, "SyntaxError" ); } if (urlRecord.hash || urlRecord.href.endsWith("#")) { - throw new DOMException2("Got fragment", "SyntaxError"); + throw new DOMException("Got fragment", "SyntaxError"); } if (typeof protocols === "string") { protocols = [protocols]; } if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) { - throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); } if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) { - throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); } this[kWebSocketURL] = new URL(urlRecord.href); + const client = environmentSettingsObject.settingsObject; this[kController] = establishWebSocketConnection( urlRecord, protocols, + client, this, - (response) => this.#onConnectionEstablished(response), + (response, extensions) => this.#onConnectionEstablished(response, extensions), options ); this[kReadyState] = _WebSocket.CONNECTING; + this[kSentClose] = sentCloseFrameState.NOT_SENT; this[kBinaryType] = "blob"; } /** @@ -37862,53 +38825,29 @@ var require_websocket2 = __commonJS({ */ close(code = void 0, reason = void 0) { webidl.brandCheck(this, _WebSocket); + const prefix = "WebSocket.close"; if (code !== void 0) { - code = webidl.converters["unsigned short"](code, { clamp: true }); + code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true }); } if (reason !== void 0) { - reason = webidl.converters.USVString(reason); + reason = webidl.converters.USVString(reason, prefix, "reason"); } if (code !== void 0) { if (code !== 1e3 && (code < 3e3 || code > 4999)) { - throw new DOMException2("invalid code", "InvalidAccessError"); + throw new DOMException("invalid code", "InvalidAccessError"); } } let reasonByteLength = 0; if (reason !== void 0) { reasonByteLength = Buffer.byteLength(reason); if (reasonByteLength > 123) { - throw new DOMException2( + throw new DOMException( `Reason must be less than 123 bytes; received ${reasonByteLength}`, "SyntaxError" ); } } - if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) { - } else if (!isEstablished(this)) { - failWebsocketConnection(this, "Connection was closed before it was established."); - this[kReadyState] = _WebSocket.CLOSING; - } else if (!isClosing(this)) { - const frame = new WebsocketFrameSend(); - if (code !== void 0 && reason === void 0) { - frame.frameData = Buffer.allocUnsafe(2); - frame.frameData.writeUInt16BE(code, 0); - } else if (code !== void 0 && reason !== void 0) { - frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength); - frame.frameData.writeUInt16BE(code, 0); - frame.frameData.write(reason, 2, "utf-8"); - } else { - frame.frameData = emptyBuffer; - } - const socket = this[kResponse].socket; - socket.write(frame.createFrame(opcodes.CLOSE), (err) => { - if (!err) { - this[kSentClose] = true; - } - }); - this[kReadyState] = states.CLOSING; - } else { - this[kReadyState] = _WebSocket.CLOSING; - } + closeWebSocketConnection(this, code, reason, reasonByteLength); } /** * @see https://websockets.spec.whatwg.org/#dom-websocket-send @@ -37916,50 +38855,36 @@ var require_websocket2 = __commonJS({ */ send(data) { webidl.brandCheck(this, _WebSocket); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" }); - data = webidl.converters.WebSocketSendData(data); - if (this[kReadyState] === _WebSocket.CONNECTING) { - throw new DOMException2("Sent before connected.", "InvalidStateError"); + const prefix = "WebSocket.send"; + webidl.argumentLengthCheck(arguments, 1, prefix); + data = webidl.converters.WebSocketSendData(data, prefix, "data"); + if (isConnecting(this)) { + throw new DOMException("Sent before connected.", "InvalidStateError"); } if (!isEstablished(this) || isClosing(this)) { return; } - const socket = this[kResponse].socket; if (typeof data === "string") { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.TEXT); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); + const length = Buffer.byteLength(data); + this.#bufferedAmount += length; + this.#sendQueue.add(data, () => { + this.#bufferedAmount -= length; + }, sendHints.string); } else if (types.isArrayBuffer(data)) { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); + this.#bufferedAmount += data.byteLength; + this.#sendQueue.add(data, () => { + this.#bufferedAmount -= data.byteLength; + }, sendHints.arrayBuffer); } else if (ArrayBuffer.isView(data)) { - const ab = Buffer.from(data, data.byteOffset, data.byteLength); - const frame = new WebsocketFrameSend(ab); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += ab.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= ab.byteLength; - }); + this.#bufferedAmount += data.byteLength; + this.#sendQueue.add(data, () => { + this.#bufferedAmount -= data.byteLength; + }, sendHints.typedArray); } else if (isBlobLike(data)) { - const frame = new WebsocketFrameSend(); - data.arrayBuffer().then((ab) => { - const value = Buffer.from(ab); - frame.frameData = value; - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); - }); + this.#bufferedAmount += data.size; + this.#sendQueue.add(data, () => { + this.#bufferedAmount -= data.size; + }, sendHints.blob); } } get readyState() { @@ -38061,14 +38986,14 @@ var require_websocket2 = __commonJS({ /** * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol */ - #onConnectionEstablished(response) { + #onConnectionEstablished(response, parsedExtensions) { this[kResponse] = response; - const parser = new ByteParser(this); - parser.on("drain", function onParserDrain() { - this.ws[kResponse].socket.resume(); - }); + const parser = new ByteParser(this, parsedExtensions); + parser.on("drain", onParserDrain); + parser.on("error", onParserError.bind(this)); response.socket.ws = this; this[kByteParser] = parser; + this.#sendQueue = new SendQueue(response.socket); this[kReadyState] = states.OPEN; const extensions = response.headersList.get("sec-websocket-extensions"); if (extensions !== null) { @@ -38118,26 +39043,22 @@ var require_websocket2 = __commonJS({ webidl.converters["sequence"] = webidl.sequenceConverter( webidl.converters.DOMString ); - webidl.converters["DOMString or sequence"] = function(V) { + webidl.converters["DOMString or sequence"] = function(V, prefix, argument) { if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) { return webidl.converters["sequence"](V); } - return webidl.converters.DOMString(V); + return webidl.converters.DOMString(V, prefix, argument); }; webidl.converters.WebSocketInit = webidl.dictionaryConverter([ { key: "protocols", converter: webidl.converters["DOMString or sequence"], - get defaultValue() { - return []; - } + defaultValue: () => new Array(0) }, { key: "dispatcher", - converter: (V) => V, - get defaultValue() { - return getGlobalDispatcher(); - } + converter: webidl.converters.any, + defaultValue: () => getGlobalDispatcher() }, { key: "headers", @@ -38155,28 +39076,600 @@ var require_websocket2 = __commonJS({ if (isBlobLike(V)) { return webidl.converters.Blob(V, { strict: false }); } - if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) { + if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) { return webidl.converters.BufferSource(V); } } return webidl.converters.USVString(V); }; + function onParserDrain() { + this.ws[kResponse].socket.resume(); + } + function onParserError(err) { + let message; + let code; + if (err instanceof CloseEvent) { + message = err.reason; + code = err.code; + } else { + message = err.message; + } + fireEvent("error", this, () => new ErrorEvent("error", { error: err, message })); + closeWebSocketConnection(this, code); + } module2.exports = { WebSocket }; } }); -// node_modules/undici/index.js +// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js +var require_util16 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) { + "use strict"; + function isValidLastEventId(value) { + return value.indexOf("\0") === -1; + } + function isASCIINumber(value) { + if (value.length === 0) return false; + for (let i = 0; i < value.length; i++) { + if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false; + } + return true; + } + function delay(ms) { + return new Promise((resolve5) => { + setTimeout(resolve5, ms).unref(); + }); + } + module2.exports = { + isValidLastEventId, + isASCIINumber, + delay + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js +var require_eventsource_stream2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) { + "use strict"; + var { Transform } = require("node:stream"); + var { isASCIINumber, isValidLastEventId } = require_util16(); + var BOM = [239, 187, 191]; + var LF = 10; + var CR = 13; + var COLON = 58; + var SPACE = 32; + var EventSourceStream = class extends Transform { + /** + * @type {eventSourceSettings} + */ + state = null; + /** + * Leading byte-order-mark check. + * @type {boolean} + */ + checkBOM = true; + /** + * @type {boolean} + */ + crlfCheck = false; + /** + * @type {boolean} + */ + eventEndCheck = false; + /** + * @type {Buffer} + */ + buffer = null; + pos = 0; + event = { + data: void 0, + event: void 0, + id: void 0, + retry: void 0 + }; + /** + * @param {object} options + * @param {eventSourceSettings} options.eventSourceSettings + * @param {Function} [options.push] + */ + constructor(options = {}) { + options.readableObjectMode = true; + super(options); + this.state = options.eventSourceSettings || {}; + if (options.push) { + this.push = options.push; + } + } + /** + * @param {Buffer} chunk + * @param {string} _encoding + * @param {Function} callback + * @returns {void} + */ + _transform(chunk, _encoding, callback) { + if (chunk.length === 0) { + callback(); + return; + } + if (this.buffer) { + this.buffer = Buffer.concat([this.buffer, chunk]); + } else { + this.buffer = chunk; + } + if (this.checkBOM) { + switch (this.buffer.length) { + case 1: + if (this.buffer[0] === BOM[0]) { + callback(); + return; + } + this.checkBOM = false; + callback(); + return; + case 2: + if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) { + callback(); + return; + } + this.checkBOM = false; + break; + case 3: + if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) { + this.buffer = Buffer.alloc(0); + this.checkBOM = false; + callback(); + return; + } + this.checkBOM = false; + break; + default: + if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) { + this.buffer = this.buffer.subarray(3); + } + this.checkBOM = false; + break; + } + } + while (this.pos < this.buffer.length) { + if (this.eventEndCheck) { + if (this.crlfCheck) { + if (this.buffer[this.pos] === LF) { + this.buffer = this.buffer.subarray(this.pos + 1); + this.pos = 0; + this.crlfCheck = false; + continue; + } + this.crlfCheck = false; + } + if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) { + if (this.buffer[this.pos] === CR) { + this.crlfCheck = true; + } + this.buffer = this.buffer.subarray(this.pos + 1); + this.pos = 0; + if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) { + this.processEvent(this.event); + } + this.clearEvent(); + continue; + } + this.eventEndCheck = false; + continue; + } + if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) { + if (this.buffer[this.pos] === CR) { + this.crlfCheck = true; + } + this.parseLine(this.buffer.subarray(0, this.pos), this.event); + this.buffer = this.buffer.subarray(this.pos + 1); + this.pos = 0; + this.eventEndCheck = true; + continue; + } + this.pos++; + } + callback(); + } + /** + * @param {Buffer} line + * @param {EventStreamEvent} event + */ + parseLine(line, event) { + if (line.length === 0) { + return; + } + const colonPosition = line.indexOf(COLON); + if (colonPosition === 0) { + return; + } + let field = ""; + let value = ""; + if (colonPosition !== -1) { + field = line.subarray(0, colonPosition).toString("utf8"); + let valueStart = colonPosition + 1; + if (line[valueStart] === SPACE) { + ++valueStart; + } + value = line.subarray(valueStart).toString("utf8"); + } else { + field = line.toString("utf8"); + value = ""; + } + switch (field) { + case "data": + if (event[field] === void 0) { + event[field] = value; + } else { + event[field] += ` +${value}`; + } + break; + case "retry": + if (isASCIINumber(value)) { + event[field] = value; + } + break; + case "id": + if (isValidLastEventId(value)) { + event[field] = value; + } + break; + case "event": + if (value.length > 0) { + event[field] = value; + } + break; + } + } + /** + * @param {EventSourceStreamEvent} event + */ + processEvent(event) { + if (event.retry && isASCIINumber(event.retry)) { + this.state.reconnectionTime = parseInt(event.retry, 10); + } + if (event.id && isValidLastEventId(event.id)) { + this.state.lastEventId = event.id; + } + if (event.data !== void 0) { + this.push({ + type: event.event || "message", + options: { + data: event.data, + lastEventId: this.state.lastEventId, + origin: this.state.origin + } + }); + } + } + clearEvent() { + this.event = { + data: void 0, + event: void 0, + id: void 0, + retry: void 0 + }; + } + }; + module2.exports = { + EventSourceStream + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js +var require_eventsource2 = __commonJS({ + "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) { + "use strict"; + var { pipeline } = require("node:stream"); + var { fetching } = require_fetch2(); + var { makeRequest } = require_request4(); + var { webidl } = require_webidl2(); + var { EventSourceStream } = require_eventsource_stream2(); + var { parseMIMEType } = require_data_url2(); + var { createFastMessageEvent } = require_events2(); + var { isNetworkError } = require_response2(); + var { delay } = require_util16(); + var { kEnumerableProperty } = require_util9(); + var { environmentSettingsObject } = require_util10(); + var experimentalWarned = false; + var defaultReconnectionTime = 3e3; + var CONNECTING = 0; + var OPEN = 1; + var CLOSED = 2; + var ANONYMOUS = "anonymous"; + var USE_CREDENTIALS = "use-credentials"; + var EventSource = class _EventSource extends EventTarget { + #events = { + open: null, + error: null, + message: null + }; + #url = null; + #withCredentials = false; + #readyState = CONNECTING; + #request = null; + #controller = null; + #dispatcher; + /** + * @type {import('./eventsource-stream').eventSourceSettings} + */ + #state; + /** + * Creates a new EventSource object. + * @param {string} url + * @param {EventSourceInit} [eventSourceInitDict] + * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface + */ + constructor(url, eventSourceInitDict = {}) { + super(); + webidl.util.markAsUncloneable(this); + const prefix = "EventSource constructor"; + webidl.argumentLengthCheck(arguments, 1, prefix); + if (!experimentalWarned) { + experimentalWarned = true; + process.emitWarning("EventSource is experimental, expect them to change at any time.", { + code: "UNDICI-ES" + }); + } + url = webidl.converters.USVString(url, prefix, "url"); + eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict"); + this.#dispatcher = eventSourceInitDict.dispatcher; + this.#state = { + lastEventId: "", + reconnectionTime: defaultReconnectionTime + }; + const settings = environmentSettingsObject; + let urlRecord; + try { + urlRecord = new URL(url, settings.settingsObject.baseUrl); + this.#state.origin = urlRecord.origin; + } catch (e) { + throw new DOMException(e, "SyntaxError"); + } + this.#url = urlRecord.href; + let corsAttributeState = ANONYMOUS; + if (eventSourceInitDict.withCredentials) { + corsAttributeState = USE_CREDENTIALS; + this.#withCredentials = true; + } + const initRequest = { + redirect: "follow", + keepalive: true, + // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes + mode: "cors", + credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit", + referrer: "no-referrer" + }; + initRequest.client = environmentSettingsObject.settingsObject; + initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]]; + initRequest.cache = "no-store"; + initRequest.initiator = "other"; + initRequest.urlList = [new URL(this.#url)]; + this.#request = makeRequest(initRequest); + this.#connect(); + } + /** + * Returns the state of this EventSource object's connection. It can have the + * values described below. + * @returns {0|1|2} + * @readonly + */ + get readyState() { + return this.#readyState; + } + /** + * Returns the URL providing the event stream. + * @readonly + * @returns {string} + */ + get url() { + return this.#url; + } + /** + * Returns a boolean indicating whether the EventSource object was + * instantiated with CORS credentials set (true), or not (false, the default). + */ + get withCredentials() { + return this.#withCredentials; + } + #connect() { + if (this.#readyState === CLOSED) return; + this.#readyState = CONNECTING; + const fetchParams = { + request: this.#request, + dispatcher: this.#dispatcher + }; + const processEventSourceEndOfBody = (response) => { + if (isNetworkError(response)) { + this.dispatchEvent(new Event("error")); + this.close(); + } + this.#reconnect(); + }; + fetchParams.processResponseEndOfBody = processEventSourceEndOfBody; + fetchParams.processResponse = (response) => { + if (isNetworkError(response)) { + if (response.aborted) { + this.close(); + this.dispatchEvent(new Event("error")); + return; + } else { + this.#reconnect(); + return; + } + } + const contentType = response.headersList.get("content-type", true); + const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure"; + const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream"; + if (response.status !== 200 || contentTypeValid === false) { + this.close(); + this.dispatchEvent(new Event("error")); + return; + } + this.#readyState = OPEN; + this.dispatchEvent(new Event("open")); + this.#state.origin = response.urlList[response.urlList.length - 1].origin; + const eventSourceStream = new EventSourceStream({ + eventSourceSettings: this.#state, + push: (event) => { + this.dispatchEvent(createFastMessageEvent( + event.type, + event.options + )); + } + }); + pipeline( + response.body.stream, + eventSourceStream, + (error3) => { + if (error3?.aborted === false) { + this.close(); + this.dispatchEvent(new Event("error")); + } + } + ); + }; + this.#controller = fetching(fetchParams); + } + /** + * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model + * @returns {Promise} + */ + async #reconnect() { + if (this.#readyState === CLOSED) return; + this.#readyState = CONNECTING; + this.dispatchEvent(new Event("error")); + await delay(this.#state.reconnectionTime); + if (this.#readyState !== CONNECTING) return; + if (this.#state.lastEventId.length) { + this.#request.headersList.set("last-event-id", this.#state.lastEventId, true); + } + this.#connect(); + } + /** + * Closes the connection, if any, and sets the readyState attribute to + * CLOSED. + */ + close() { + webidl.brandCheck(this, _EventSource); + if (this.#readyState === CLOSED) return; + this.#readyState = CLOSED; + this.#controller.abort(); + this.#request = null; + } + get onopen() { + return this.#events.open; + } + set onopen(fn) { + if (this.#events.open) { + this.removeEventListener("open", this.#events.open); + } + if (typeof fn === "function") { + this.#events.open = fn; + this.addEventListener("open", fn); + } else { + this.#events.open = null; + } + } + get onmessage() { + return this.#events.message; + } + set onmessage(fn) { + if (this.#events.message) { + this.removeEventListener("message", this.#events.message); + } + if (typeof fn === "function") { + this.#events.message = fn; + this.addEventListener("message", fn); + } else { + this.#events.message = null; + } + } + get onerror() { + return this.#events.error; + } + set onerror(fn) { + if (this.#events.error) { + this.removeEventListener("error", this.#events.error); + } + if (typeof fn === "function") { + this.#events.error = fn; + this.addEventListener("error", fn); + } else { + this.#events.error = null; + } + } + }; + var constantsPropertyDescriptors = { + CONNECTING: { + __proto__: null, + configurable: false, + enumerable: true, + value: CONNECTING, + writable: false + }, + OPEN: { + __proto__: null, + configurable: false, + enumerable: true, + value: OPEN, + writable: false + }, + CLOSED: { + __proto__: null, + configurable: false, + enumerable: true, + value: CLOSED, + writable: false + } + }; + Object.defineProperties(EventSource, constantsPropertyDescriptors); + Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors); + Object.defineProperties(EventSource.prototype, { + close: kEnumerableProperty, + onerror: kEnumerableProperty, + onmessage: kEnumerableProperty, + onopen: kEnumerableProperty, + readyState: kEnumerableProperty, + url: kEnumerableProperty, + withCredentials: kEnumerableProperty + }); + webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([ + { + key: "withCredentials", + converter: webidl.converters.boolean, + defaultValue: () => false + }, + { + key: "dispatcher", + // undici only + converter: webidl.converters.any + } + ]); + module2.exports = { + EventSource, + defaultReconnectionTime + }; + } +}); + +// node_modules/@actions/github/node_modules/undici/index.js var require_undici2 = __commonJS({ - "node_modules/undici/index.js"(exports2, module2) { + "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) { "use strict"; var Client = require_client2(); var Dispatcher = require_dispatcher2(); - var errors = require_errors2(); var Pool = require_pool2(); var BalancedPool = require_balanced_pool2(); var Agent = require_agent2(); + var ProxyAgent = require_proxy_agent2(); + var EnvHttpProxyAgent = require_env_http_proxy_agent2(); + var RetryAgent = require_retry_agent2(); + var errors = require_errors2(); var util = require_util9(); var { InvalidArgumentError } = errors; var api = require_api2(); @@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({ var MockAgent = require_mock_agent2(); var MockPool = require_mock_pool2(); var mockErrors = require_mock_errors2(); - var ProxyAgent = require_proxy_agent2(); - var RetryHandler = require_RetryHandler(); + var RetryHandler = require_retry_handler2(); var { getGlobalDispatcher, setGlobalDispatcher } = require_global4(); - var DecoratorHandler = require_DecoratorHandler(); - var RedirectHandler = require_RedirectHandler(); - var createRedirectInterceptor = require_redirectInterceptor(); - var hasCrypto; - try { - require("crypto"); - hasCrypto = true; - } catch { - hasCrypto = false; - } + var DecoratorHandler = require_decorator_handler2(); + var RedirectHandler = require_redirect_handler2(); + var createRedirectInterceptor = require_redirect_interceptor2(); Object.assign(Dispatcher.prototype, api); module2.exports.Dispatcher = Dispatcher; module2.exports.Client = Client; @@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({ module2.exports.BalancedPool = BalancedPool; module2.exports.Agent = Agent; module2.exports.ProxyAgent = ProxyAgent; + module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent; + module2.exports.RetryAgent = RetryAgent; module2.exports.RetryHandler = RetryHandler; module2.exports.DecoratorHandler = DecoratorHandler; module2.exports.RedirectHandler = RedirectHandler; module2.exports.createRedirectInterceptor = createRedirectInterceptor; + module2.exports.interceptors = { + redirect: require_redirect2(), + retry: require_retry2(), + dump: require_dump2(), + dns: require_dns2() + }; module2.exports.buildConnector = buildConnector; module2.exports.errors = errors; + module2.exports.util = { + parseHeaders: util.parseHeaders, + headerNameToString: util.headerNameToString + }; function makeDispatcher(fn) { return (url, opts, handler2) => { if (typeof opts === "function") { @@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({ } module2.exports.setGlobalDispatcher = setGlobalDispatcher; module2.exports.getGlobalDispatcher = getGlobalDispatcher; - if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) { - let fetchImpl = null; - module2.exports.fetch = async function fetch(resource) { - if (!fetchImpl) { - fetchImpl = require_fetch2().fetch; - } - try { - return await fetchImpl(...arguments); - } catch (err) { - if (typeof err === "object") { - Error.captureStackTrace(err, this); - } - throw err; + var fetchImpl = require_fetch2().fetch; + module2.exports.fetch = async function fetch(init, options = void 0) { + try { + return await fetchImpl(init, options); + } catch (err) { + if (err && typeof err === "object") { + Error.captureStackTrace(err); } - }; - module2.exports.Headers = require_headers2().Headers; - module2.exports.Response = require_response2().Response; - module2.exports.Request = require_request4().Request; - module2.exports.FormData = require_formdata2().FormData; - module2.exports.File = require_file2().File; - module2.exports.FileReader = require_filereader2().FileReader; - const { setGlobalOrigin, getGlobalOrigin } = require_global3(); - module2.exports.setGlobalOrigin = setGlobalOrigin; - module2.exports.getGlobalOrigin = getGlobalOrigin; - const { CacheStorage } = require_cachestorage2(); - const { kConstruct } = require_symbols9(); - module2.exports.caches = new CacheStorage(kConstruct); - } - if (util.nodeMajor >= 16) { - const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2(); - module2.exports.deleteCookie = deleteCookie; - module2.exports.getCookies = getCookies; - module2.exports.getSetCookies = getSetCookies; - module2.exports.setCookie = setCookie; - const { parseMIMEType, serializeAMimeType } = require_dataURL(); - module2.exports.parseMIMEType = parseMIMEType; - module2.exports.serializeAMimeType = serializeAMimeType; - } - if (util.nodeMajor >= 18 && hasCrypto) { - const { WebSocket } = require_websocket2(); - module2.exports.WebSocket = WebSocket; - } + throw err; + } + }; + module2.exports.Headers = require_headers2().Headers; + module2.exports.Response = require_response2().Response; + module2.exports.Request = require_request4().Request; + module2.exports.FormData = require_formdata2().FormData; + module2.exports.File = globalThis.File ?? require("node:buffer").File; + module2.exports.FileReader = require_filereader2().FileReader; + var { setGlobalOrigin, getGlobalOrigin } = require_global3(); + module2.exports.setGlobalOrigin = setGlobalOrigin; + module2.exports.getGlobalOrigin = getGlobalOrigin; + var { CacheStorage } = require_cachestorage2(); + var { kConstruct } = require_symbols9(); + module2.exports.caches = new CacheStorage(kConstruct); + var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2(); + module2.exports.deleteCookie = deleteCookie; + module2.exports.getCookies = getCookies; + module2.exports.getSetCookies = getSetCookies; + module2.exports.setCookie = setCookie; + var { parseMIMEType, serializeAMimeType } = require_data_url2(); + module2.exports.parseMIMEType = parseMIMEType; + module2.exports.serializeAMimeType = serializeAMimeType; + var { CloseEvent, ErrorEvent, MessageEvent } = require_events2(); + module2.exports.WebSocket = require_websocket2().WebSocket; + module2.exports.CloseEvent = CloseEvent; + module2.exports.ErrorEvent = ErrorEvent; + module2.exports.MessageEvent = MessageEvent; module2.exports.request = makeDispatcher(api.request); module2.exports.stream = makeDispatcher(api.stream); module2.exports.pipeline = makeDispatcher(api.pipeline); @@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({ module2.exports.MockPool = MockPool; module2.exports.MockAgent = MockAgent; module2.exports.mockErrors = mockErrors; + var { EventSource } = require_eventsource2(); + module2.exports.EventSource = EventSource; } }); @@ -44493,7 +45986,7 @@ var require_package = __commonJS({ "package.json"(exports2, module2) { module2.exports = { name: "codeql", - version: "4.32.1", + version: "4.32.2", private: true, description: "CodeQL action", scripts: { @@ -44522,7 +46015,7 @@ var require_package = __commonJS({ "@actions/cache": "^5.0.5", "@actions/core": "^2.0.3", "@actions/exec": "^2.0.0", - "@actions/github": "^8.0.0", + "@actions/github": "^8.0.1", "@actions/glob": "^0.5.0", "@actions/http-client": "^3.0.0", "@actions/io": "^2.0.0", @@ -44554,7 +46047,7 @@ var require_package = __commonJS({ "@types/node-forge": "^1.3.14", "@types/semver": "^7.7.1", "@types/sinon": "^21.0.0", - "@typescript-eslint/eslint-plugin": "^8.53.1", + "@typescript-eslint/eslint-plugin": "^8.54.0", "@typescript-eslint/parser": "^8.48.0", ava: "^6.4.1", esbuild: "^0.27.2", @@ -44563,7 +46056,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsdoc": "^62.3.0", + "eslint-plugin-jsdoc": "^62.4.1", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.1.0", nock: "^14.0.10", @@ -55054,7 +56547,7 @@ var require_clientHelpers = __commonJS({ }); // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js -var require_multipart2 = __commonJS({ +var require_multipart = __commonJS({ "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); @@ -55177,7 +56670,7 @@ var require_sendRequest = __commonJS({ var pipelineRequest_js_1 = require_pipelineRequest(); var clientHelpers_js_1 = require_clientHelpers(); var typeGuards_js_1 = require_typeGuards(); - var multipart_js_1 = require_multipart2(); + var multipart_js_1 = require_multipart(); async function sendRequest(method, url, pipeline, options = {}, customHttpClient) { const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)(); const request2 = buildPipelineRequest(method, url, options); @@ -59875,7 +61368,7 @@ var require_commonjs8 = __commonJS({ }); // node_modules/@azure/core-http-compat/dist/commonjs/util.js -var require_util16 = __commonJS({ +var require_util17 = __commonJS({ "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); @@ -60130,7 +61623,7 @@ var require_response3 = __commonJS({ exports2.toCompatResponse = toCompatResponse; exports2.toPipelineResponse = toPipelineResponse; var core_rest_pipeline_1 = require_commonjs6(); - var util_js_1 = require_util16(); + var util_js_1 = require_util17(); var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse"); function toCompatResponse(response, options) { let request2 = (0, util_js_1.toWebResourceLike)(response.request); @@ -60244,7 +61737,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({ Object.defineProperty(exports2, "__esModule", { value: true }); exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0; exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy; - var util_js_1 = require_util16(); + var util_js_1 = require_util17(); var response_js_1 = require_response3(); var HttpPipelineLogLevel; (function(HttpPipelineLogLevel2) { @@ -60291,7 +61784,7 @@ var require_httpClientAdapter = __commonJS({ Object.defineProperty(exports2, "__esModule", { value: true }); exports2.convertHttpClient = convertHttpClient; var response_js_1 = require_response3(); - var util_js_1 = require_util16(); + var util_js_1 = require_util17(); function convertHttpClient(requestPolicyClient) { return { sendRequest: async (request2) => { @@ -60331,7 +61824,7 @@ var require_commonjs9 = __commonJS({ Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() { return httpClientAdapter_js_1.convertHttpClient; } }); - var util_js_1 = require_util16(); + var util_js_1 = require_util17(); Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() { return util_js_1.toHttpHeadersLike; } }); @@ -78104,22677 +79597,40735 @@ var require_blob = __commonJS({ isXML: true, serializer: xmlSerializer }; - var queryOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: { - type: { name: "Stream" }, - serializedName: "parsedResponse" - }, - headersMapper: Mappers.BlobQueryHeaders - }, - 206: { - bodyMapper: { - type: { name: "Stream" }, - serializedName: "parsedResponse" - }, - headersMapper: Mappers.BlobQueryHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlobQueryExceptionHeaders + var queryOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: { + type: { name: "Stream" }, + serializedName: "parsedResponse" + }, + headersMapper: Mappers.BlobQueryHeaders + }, + 206: { + bodyMapper: { + type: { name: "Stream" }, + serializedName: "parsedResponse" + }, + headersMapper: Mappers.BlobQueryHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlobQueryExceptionHeaders + } + }, + requestBody: Parameters.queryRequest, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.snapshot, + Parameters.comp17 + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.version, + Parameters.requestId, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags + ], + isXML: true, + contentType: "application/xml; charset=utf-8", + mediaType: "xml", + serializer: xmlSerializer + }; + var getTagsOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.BlobTags, + headersMapper: Mappers.BlobGetTagsHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlobGetTagsExceptionHeaders + } + }, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.snapshot, + Parameters.versionId, + Parameters.comp18 + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.leaseId, + Parameters.ifTags + ], + isXML: true, + serializer: xmlSerializer + }; + var setTagsOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 204: { + headersMapper: Mappers.BlobSetTagsHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlobSetTagsExceptionHeaders + } + }, + requestBody: Parameters.tags, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.versionId, + Parameters.comp18 + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.version, + Parameters.requestId, + Parameters.leaseId, + Parameters.ifTags, + Parameters.transactionalContentMD5, + Parameters.transactionalContentCrc64 + ], + isXML: true, + contentType: "application/xml; charset=utf-8", + mediaType: "xml", + serializer: xmlSerializer + }; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js +var require_pageBlob = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.PageBlobImpl = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var coreClient = tslib_1.__importStar(require_commonjs8()); + var Mappers = tslib_1.__importStar(require_mappers()); + var Parameters = tslib_1.__importStar(require_parameters()); + var PageBlobImpl = class { + client; + /** + * Initialize a new instance of the class PageBlob class. + * @param client Reference to the service client + */ + constructor(client) { + this.client = client; + } + /** + * The Create operation creates a new page blob. + * @param contentLength The length of the request. + * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The + * page blob size must be aligned to a 512-byte boundary. + * @param options The options parameters. + */ + create(contentLength, blobContentLength, options) { + return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec); + } + /** + * The Upload Pages operation writes a range of pages to a page blob + * @param contentLength The length of the request. + * @param body Initial data + * @param options The options parameters. + */ + uploadPages(contentLength, body, options) { + return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec); + } + /** + * The Clear Pages operation clears a set of pages from a page blob + * @param contentLength The length of the request. + * @param options The options parameters. + */ + clearPages(contentLength, options) { + return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec); + } + /** + * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a + * URL + * @param sourceUrl Specify a URL to the copy source. + * @param sourceRange Bytes of source data in the specified range. The length of this range should + * match the ContentLength header and x-ms-range/Range destination range header. + * @param contentLength The length of the request. + * @param range The range of bytes to which the source range would be written. The range should be 512 + * aligned and range-end is required. + * @param options The options parameters. + */ + uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) { + return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec); + } + /** + * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a + * page blob + * @param options The options parameters. + */ + getPageRanges(options) { + return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec); + } + /** + * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were + * changed between target blob and previous snapshot. + * @param options The options parameters. + */ + getPageRangesDiff(options) { + return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec); + } + /** + * Resize the Blob + * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The + * page blob size must be aligned to a 512-byte boundary. + * @param options The options parameters. + */ + resize(blobContentLength, options) { + return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec); + } + /** + * Update the sequence number of the blob + * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request. + * This property applies to page blobs only. This property indicates how the service should modify the + * blob's sequence number + * @param options The options parameters. + */ + updateSequenceNumber(sequenceNumberAction, options) { + return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec); + } + /** + * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob. + * The snapshot is copied such that only the differential changes between the previously copied + * snapshot are transferred to the destination. The copied snapshots are complete copies of the + * original snapshot and can be read or copied from as usual. This API is supported since REST version + * 2016-05-31. + * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to + * 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would + * appear in a request URI. The source blob must either be public or must be authenticated via a shared + * access signature. + * @param options The options parameters. + */ + copyIncremental(copySource, options) { + return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec); + } + }; + exports2.PageBlobImpl = PageBlobImpl; + var xmlSerializer = coreClient.createSerializer( + Mappers, + /* isXml */ + true + ); + var createOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.PageBlobCreateHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobCreateExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.metadata, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.blobCacheControl, + Parameters.blobContentType, + Parameters.blobContentMD5, + Parameters.blobContentEncoding, + Parameters.blobContentLanguage, + Parameters.blobContentDisposition, + Parameters.immutabilityPolicyExpiry, + Parameters.immutabilityPolicyMode, + Parameters.encryptionScope, + Parameters.tier, + Parameters.blobTagsString, + Parameters.legalHold1, + Parameters.blobType, + Parameters.blobContentLength, + Parameters.blobSequenceNumber + ], + isXML: true, + serializer: xmlSerializer + }; + var uploadPagesOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.PageBlobUploadPagesHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders + } + }, + requestBody: Parameters.body1, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.contentLength, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.range, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.encryptionScope, + Parameters.transactionalContentMD5, + Parameters.transactionalContentCrc64, + Parameters.contentType1, + Parameters.accept2, + Parameters.pageWrite, + Parameters.ifSequenceNumberLessThanOrEqualTo, + Parameters.ifSequenceNumberLessThan, + Parameters.ifSequenceNumberEqualTo + ], + isXML: true, + contentType: "application/xml; charset=utf-8", + mediaType: "binary", + serializer: xmlSerializer + }; + var clearPagesOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.PageBlobClearPagesHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobClearPagesExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.range, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.encryptionScope, + Parameters.ifSequenceNumberLessThanOrEqualTo, + Parameters.ifSequenceNumberLessThan, + Parameters.ifSequenceNumberEqualTo, + Parameters.pageWrite1 + ], + isXML: true, + serializer: xmlSerializer + }; + var uploadPagesFromURLOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.encryptionScope, + Parameters.sourceIfModifiedSince, + Parameters.sourceIfUnmodifiedSince, + Parameters.sourceIfMatch, + Parameters.sourceIfNoneMatch, + Parameters.sourceContentMD5, + Parameters.copySourceAuthorization, + Parameters.fileRequestIntent, + Parameters.pageWrite, + Parameters.ifSequenceNumberLessThanOrEqualTo, + Parameters.ifSequenceNumberLessThan, + Parameters.ifSequenceNumberEqualTo, + Parameters.sourceUrl, + Parameters.sourceRange, + Parameters.sourceContentCrc64, + Parameters.range1 + ], + isXML: true, + serializer: xmlSerializer + }; + var getPageRangesOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PageList, + headersMapper: Mappers.PageBlobGetPageRangesHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders + } + }, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.marker, + Parameters.maxPageSize, + Parameters.snapshot, + Parameters.comp20 + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.range, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags + ], + isXML: true, + serializer: xmlSerializer + }; + var getPageRangesDiffOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PageList, + headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders + } + }, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.marker, + Parameters.maxPageSize, + Parameters.snapshot, + Parameters.comp20, + Parameters.prevsnapshot + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.range, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.prevSnapshotUrl + ], + isXML: true, + serializer: xmlSerializer + }; + var resizeOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 200: { + headersMapper: Mappers.PageBlobResizeHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobResizeExceptionHeaders + } + }, + queryParameters: [Parameters.comp, Parameters.timeoutInSeconds], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.encryptionScope, + Parameters.blobContentLength + ], + isXML: true, + serializer: xmlSerializer + }; + var updateSequenceNumberOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 200: { + headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders + } + }, + queryParameters: [Parameters.comp, Parameters.timeoutInSeconds], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.blobSequenceNumber, + Parameters.sequenceNumberAction + ], + isXML: true, + serializer: xmlSerializer + }; + var copyIncrementalOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 202: { + headersMapper: Mappers.PageBlobCopyIncrementalHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.copySource + ], + isXML: true, + serializer: xmlSerializer + }; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js +var require_appendBlob = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AppendBlobImpl = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var coreClient = tslib_1.__importStar(require_commonjs8()); + var Mappers = tslib_1.__importStar(require_mappers()); + var Parameters = tslib_1.__importStar(require_parameters()); + var AppendBlobImpl = class { + client; + /** + * Initialize a new instance of the class AppendBlob class. + * @param client Reference to the service client + */ + constructor(client) { + this.client = client; + } + /** + * The Create Append Blob operation creates a new append blob. + * @param contentLength The length of the request. + * @param options The options parameters. + */ + create(contentLength, options) { + return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec); + } + /** + * The Append Block operation commits a new block of data to the end of an existing append blob. The + * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to + * AppendBlob. Append Block is supported only on version 2015-02-21 version or later. + * @param contentLength The length of the request. + * @param body Initial data + * @param options The options parameters. + */ + appendBlock(contentLength, body, options) { + return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec); + } + /** + * The Append Block operation commits a new block of data to the end of an existing append blob where + * the contents are read from a source url. The Append Block operation is permitted only if the blob + * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version + * 2015-02-21 version or later. + * @param sourceUrl Specify a URL to the copy source. + * @param contentLength The length of the request. + * @param options The options parameters. + */ + appendBlockFromUrl(sourceUrl, contentLength, options) { + return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec); + } + /** + * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version + * 2019-12-12 version or later. + * @param options The options parameters. + */ + seal(options) { + return this.client.sendOperationRequest({ options }, sealOperationSpec); + } + }; + exports2.AppendBlobImpl = AppendBlobImpl; + var xmlSerializer = coreClient.createSerializer( + Mappers, + /* isXml */ + true + ); + var createOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.AppendBlobCreateHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.AppendBlobCreateExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.metadata, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.blobCacheControl, + Parameters.blobContentType, + Parameters.blobContentMD5, + Parameters.blobContentEncoding, + Parameters.blobContentLanguage, + Parameters.blobContentDisposition, + Parameters.immutabilityPolicyExpiry, + Parameters.immutabilityPolicyMode, + Parameters.encryptionScope, + Parameters.blobTagsString, + Parameters.legalHold1, + Parameters.blobType1 + ], + isXML: true, + serializer: xmlSerializer + }; + var appendBlockOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.AppendBlobAppendBlockHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders + } + }, + requestBody: Parameters.body1, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.contentLength, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.encryptionScope, + Parameters.transactionalContentMD5, + Parameters.transactionalContentCrc64, + Parameters.contentType1, + Parameters.accept2, + Parameters.maxSize, + Parameters.appendPosition + ], + isXML: true, + contentType: "application/xml; charset=utf-8", + mediaType: "binary", + serializer: xmlSerializer + }; + var appendBlockFromUrlOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.encryptionScope, + Parameters.sourceIfModifiedSince, + Parameters.sourceIfUnmodifiedSince, + Parameters.sourceIfMatch, + Parameters.sourceIfNoneMatch, + Parameters.sourceContentMD5, + Parameters.copySourceAuthorization, + Parameters.fileRequestIntent, + Parameters.transactionalContentMD5, + Parameters.sourceUrl, + Parameters.sourceContentCrc64, + Parameters.maxSize, + Parameters.appendPosition, + Parameters.sourceRange1 + ], + isXML: true, + serializer: xmlSerializer + }; + var sealOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 200: { + headersMapper: Mappers.AppendBlobSealHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.AppendBlobSealExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.appendPosition + ], + isXML: true, + serializer: xmlSerializer + }; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js +var require_blockBlob = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlockBlobImpl = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var coreClient = tslib_1.__importStar(require_commonjs8()); + var Mappers = tslib_1.__importStar(require_mappers()); + var Parameters = tslib_1.__importStar(require_parameters()); + var BlockBlobImpl = class { + client; + /** + * Initialize a new instance of the class BlockBlob class. + * @param client Reference to the service client + */ + constructor(client) { + this.client = client; + } + /** + * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing + * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put + * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a + * partial update of the content of a block blob, use the Put Block List operation. + * @param contentLength The length of the request. + * @param body Initial data + * @param options The options parameters. + */ + upload(contentLength, body, options) { + return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec); + } + /** + * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read + * from a given URL. This API is supported beginning with the 2020-04-08 version. Partial updates are + * not supported with Put Blob from URL; the content of an existing blob is overwritten with the + * content of the new blob. To perform partial updates to a block blob’s contents using a source URL, + * use the Put Block from URL API in conjunction with Put Block List. + * @param contentLength The length of the request. + * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to + * 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would + * appear in a request URI. The source blob must either be public or must be authenticated via a shared + * access signature. + * @param options The options parameters. + */ + putBlobFromUrl(contentLength, copySource, options) { + return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec); + } + /** + * The Stage Block operation creates a new block to be committed as part of a blob + * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string + * must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified + * for the blockid parameter must be the same size for each block. + * @param contentLength The length of the request. + * @param body Initial data + * @param options The options parameters. + */ + stageBlock(blockId, contentLength, body, options) { + return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec); + } + /** + * The Stage Block operation creates a new block to be committed as part of a blob where the contents + * are read from a URL. + * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string + * must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified + * for the blockid parameter must be the same size for each block. + * @param contentLength The length of the request. + * @param sourceUrl Specify a URL to the copy source. + * @param options The options parameters. + */ + stageBlockFromURL(blockId, contentLength, sourceUrl, options) { + return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec); + } + /** + * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the + * blob. In order to be written as part of a blob, a block must have been successfully written to the + * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading + * only those blocks that have changed, then committing the new and existing blocks together. You can + * do this by specifying whether to commit a block from the committed block list or from the + * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list + * it may belong to. + * @param blocks Blob Blocks. + * @param options The options parameters. + */ + commitBlockList(blocks, options) { + return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec); + } + /** + * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block + * blob + * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted + * blocks, or both lists together. + * @param options The options parameters. + */ + getBlockList(listType, options) { + return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec); + } + }; + exports2.BlockBlobImpl = BlockBlobImpl; + var xmlSerializer = coreClient.createSerializer( + Mappers, + /* isXml */ + true + ); + var uploadOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.BlockBlobUploadHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlockBlobUploadExceptionHeaders + } + }, + requestBody: Parameters.body1, + queryParameters: [Parameters.timeoutInSeconds], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.contentLength, + Parameters.metadata, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.blobCacheControl, + Parameters.blobContentType, + Parameters.blobContentMD5, + Parameters.blobContentEncoding, + Parameters.blobContentLanguage, + Parameters.blobContentDisposition, + Parameters.immutabilityPolicyExpiry, + Parameters.immutabilityPolicyMode, + Parameters.encryptionScope, + Parameters.tier, + Parameters.blobTagsString, + Parameters.legalHold1, + Parameters.transactionalContentMD5, + Parameters.transactionalContentCrc64, + Parameters.contentType1, + Parameters.accept2, + Parameters.blobType2 + ], + isXML: true, + contentType: "application/xml; charset=utf-8", + mediaType: "binary", + serializer: xmlSerializer + }; + var putBlobFromUrlOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders + } + }, + queryParameters: [Parameters.timeoutInSeconds], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.metadata, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.blobCacheControl, + Parameters.blobContentType, + Parameters.blobContentMD5, + Parameters.blobContentEncoding, + Parameters.blobContentLanguage, + Parameters.blobContentDisposition, + Parameters.encryptionScope, + Parameters.tier, + Parameters.sourceIfModifiedSince, + Parameters.sourceIfUnmodifiedSince, + Parameters.sourceIfMatch, + Parameters.sourceIfNoneMatch, + Parameters.sourceIfTags, + Parameters.copySource, + Parameters.blobTagsString, + Parameters.sourceContentMD5, + Parameters.copySourceAuthorization, + Parameters.copySourceTags, + Parameters.fileRequestIntent, + Parameters.transactionalContentMD5, + Parameters.blobType2, + Parameters.copySourceBlobProperties + ], + isXML: true, + serializer: xmlSerializer + }; + var stageBlockOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.BlockBlobStageBlockHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders + } + }, + requestBody: Parameters.body1, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.comp24, + Parameters.blockId + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.contentLength, + Parameters.leaseId, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.encryptionScope, + Parameters.transactionalContentMD5, + Parameters.transactionalContentCrc64, + Parameters.contentType1, + Parameters.accept2 + ], + isXML: true, + contentType: "application/xml; charset=utf-8", + mediaType: "binary", + serializer: xmlSerializer + }; + var stageBlockFromURLOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders + } + }, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.comp24, + Parameters.blockId + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.contentLength, + Parameters.leaseId, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.encryptionScope, + Parameters.sourceIfModifiedSince, + Parameters.sourceIfUnmodifiedSince, + Parameters.sourceIfMatch, + Parameters.sourceIfNoneMatch, + Parameters.sourceContentMD5, + Parameters.copySourceAuthorization, + Parameters.fileRequestIntent, + Parameters.sourceUrl, + Parameters.sourceContentCrc64, + Parameters.sourceRange1 + ], + isXML: true, + serializer: xmlSerializer + }; + var commitBlockListOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "PUT", + responses: { + 201: { + headersMapper: Mappers.BlockBlobCommitBlockListHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders + } + }, + requestBody: Parameters.blocks, + queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.contentType, + Parameters.accept, + Parameters.version, + Parameters.requestId, + Parameters.metadata, + Parameters.leaseId, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.encryptionKey, + Parameters.encryptionKeySha256, + Parameters.encryptionAlgorithm, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.ifTags, + Parameters.blobCacheControl, + Parameters.blobContentType, + Parameters.blobContentMD5, + Parameters.blobContentEncoding, + Parameters.blobContentLanguage, + Parameters.blobContentDisposition, + Parameters.immutabilityPolicyExpiry, + Parameters.immutabilityPolicyMode, + Parameters.encryptionScope, + Parameters.tier, + Parameters.blobTagsString, + Parameters.legalHold1, + Parameters.transactionalContentMD5, + Parameters.transactionalContentCrc64 + ], + isXML: true, + contentType: "application/xml; charset=utf-8", + mediaType: "xml", + serializer: xmlSerializer + }; + var getBlockListOperationSpec = { + path: "/{containerName}/{blob}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.BlockList, + headersMapper: Mappers.BlockBlobGetBlockListHeaders + }, + default: { + bodyMapper: Mappers.StorageError, + headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders + } + }, + queryParameters: [ + Parameters.timeoutInSeconds, + Parameters.snapshot, + Parameters.comp25, + Parameters.listType + ], + urlParameters: [Parameters.url], + headerParameters: [ + Parameters.version, + Parameters.requestId, + Parameters.accept1, + Parameters.leaseId, + Parameters.ifTags + ], + isXML: true, + serializer: xmlSerializer + }; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js +var require_operations = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_service(), exports2); + tslib_1.__exportStar(require_container(), exports2); + tslib_1.__exportStar(require_blob(), exports2); + tslib_1.__exportStar(require_pageBlob(), exports2); + tslib_1.__exportStar(require_appendBlob(), exports2); + tslib_1.__exportStar(require_blockBlob(), exports2); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js +var require_storageClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.StorageClient = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var coreHttpCompat = tslib_1.__importStar(require_commonjs9()); + var index_js_1 = require_operations(); + var StorageClient = class extends coreHttpCompat.ExtendedServiceClient { + url; + version; + /** + * Initializes a new instance of the StorageClient class. + * @param url The URL of the service account, container, or blob that is the target of the desired + * operation. + * @param options The parameter options + */ + constructor(url, options) { + if (url === void 0) { + throw new Error("'url' cannot be null"); + } + if (!options) { + options = {}; + } + const defaults = { + requestContentType: "application/json; charset=utf-8" + }; + const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`; + const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`; + const optionsWithDefaults = { + ...defaults, + ...options, + userAgentOptions: { + userAgentPrefix + }, + endpoint: options.endpoint ?? options.baseUri ?? "{url}" + }; + super(optionsWithDefaults); + this.url = url; + this.version = options.version || "2025-11-05"; + this.service = new index_js_1.ServiceImpl(this); + this.container = new index_js_1.ContainerImpl(this); + this.blob = new index_js_1.BlobImpl(this); + this.pageBlob = new index_js_1.PageBlobImpl(this); + this.appendBlob = new index_js_1.AppendBlobImpl(this); + this.blockBlob = new index_js_1.BlockBlobImpl(this); + } + service; + container; + blob; + pageBlob; + appendBlob; + blockBlob; + }; + exports2.StorageClient = StorageClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js +var require_service2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js +var require_container2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js +var require_blob2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js +var require_pageBlob2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js +var require_appendBlob2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js +var require_blockBlob2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js +var require_operationsInterfaces = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_service2(), exports2); + tslib_1.__exportStar(require_container2(), exports2); + tslib_1.__exportStar(require_blob2(), exports2); + tslib_1.__exportStar(require_pageBlob2(), exports2); + tslib_1.__exportStar(require_appendBlob2(), exports2); + tslib_1.__exportStar(require_blockBlob2(), exports2); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js +var require_src2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.StorageClient = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + tslib_1.__exportStar(require_models(), exports2); + var storageClient_js_1 = require_storageClient(); + Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() { + return storageClient_js_1.StorageClient; + } }); + tslib_1.__exportStar(require_operationsInterfaces(), exports2); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js +var require_StorageContextClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.StorageContextClient = void 0; + var index_js_1 = require_src2(); + var StorageContextClient = class extends index_js_1.StorageClient { + async sendOperationRequest(operationArguments, operationSpec) { + const operationSpecToSend = { ...operationSpec }; + if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") { + operationSpecToSend.path = ""; + } + return super.sendOperationRequest(operationArguments, operationSpecToSend); + } + }; + exports2.StorageContextClient = StorageContextClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js +var require_StorageClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.StorageClient = void 0; + var StorageContextClient_js_1 = require_StorageContextClient(); + var Pipeline_js_1 = require_Pipeline(); + var utils_common_js_1 = require_utils_common(); + var StorageClient = class { + /** + * Encoded URL string value. + */ + url; + accountName; + /** + * Request policy pipeline. + * + * @internal + */ + pipeline; + /** + * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used. + */ + credential; + /** + * StorageClient is a reference to protocol layer operations entry, which is + * generated by AutoRest generator. + */ + storageClientContext; + /** + */ + isHttps; + /** + * Creates an instance of StorageClient. + * @param url - url to resource + * @param pipeline - request policy pipeline. + */ + constructor(url, pipeline) { + this.url = (0, utils_common_js_1.escapeURLPath)(url); + this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url); + this.pipeline = pipeline; + this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline)); + this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https"); + this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline); + const storageClientContext = this.storageClientContext; + storageClientContext.requestContentType = void 0; + } + }; + exports2.StorageClient = StorageClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js +var require_tracing = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.tracingClient = void 0; + var core_tracing_1 = require_commonjs5(); + var constants_js_1 = require_constants15(); + exports2.tracingClient = (0, core_tracing_1.createTracingClient)({ + packageName: "@azure/storage-blob", + packageVersion: constants_js_1.SDK_VERSION, + namespace: "Microsoft.Storage" + }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js +var require_BlobSASPermissions = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobSASPermissions = void 0; + var BlobSASPermissions = class _BlobSASPermissions { + /** + * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an + * Error if it encounters a character that does not correspond to a valid permission. + * + * @param permissions - + */ + static parse(permissions) { + const blobSASPermissions = new _BlobSASPermissions(); + for (const char of permissions) { + switch (char) { + case "r": + blobSASPermissions.read = true; + break; + case "a": + blobSASPermissions.add = true; + break; + case "c": + blobSASPermissions.create = true; + break; + case "w": + blobSASPermissions.write = true; + break; + case "d": + blobSASPermissions.delete = true; + break; + case "x": + blobSASPermissions.deleteVersion = true; + break; + case "t": + blobSASPermissions.tag = true; + break; + case "m": + blobSASPermissions.move = true; + break; + case "e": + blobSASPermissions.execute = true; + break; + case "i": + blobSASPermissions.setImmutabilityPolicy = true; + break; + case "y": + blobSASPermissions.permanentDelete = true; + break; + default: + throw new RangeError(`Invalid permission: ${char}`); + } + } + return blobSASPermissions; + } + /** + * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it + * and boolean values for them. + * + * @param permissionLike - + */ + static from(permissionLike) { + const blobSASPermissions = new _BlobSASPermissions(); + if (permissionLike.read) { + blobSASPermissions.read = true; + } + if (permissionLike.add) { + blobSASPermissions.add = true; + } + if (permissionLike.create) { + blobSASPermissions.create = true; + } + if (permissionLike.write) { + blobSASPermissions.write = true; + } + if (permissionLike.delete) { + blobSASPermissions.delete = true; + } + if (permissionLike.deleteVersion) { + blobSASPermissions.deleteVersion = true; + } + if (permissionLike.tag) { + blobSASPermissions.tag = true; + } + if (permissionLike.move) { + blobSASPermissions.move = true; + } + if (permissionLike.execute) { + blobSASPermissions.execute = true; + } + if (permissionLike.setImmutabilityPolicy) { + blobSASPermissions.setImmutabilityPolicy = true; + } + if (permissionLike.permanentDelete) { + blobSASPermissions.permanentDelete = true; + } + return blobSASPermissions; + } + /** + * Specifies Read access granted. + */ + read = false; + /** + * Specifies Add access granted. + */ + add = false; + /** + * Specifies Create access granted. + */ + create = false; + /** + * Specifies Write access granted. + */ + write = false; + /** + * Specifies Delete access granted. + */ + delete = false; + /** + * Specifies Delete version access granted. + */ + deleteVersion = false; + /** + * Specfies Tag access granted. + */ + tag = false; + /** + * Specifies Move access granted. + */ + move = false; + /** + * Specifies Execute access granted. + */ + execute = false; + /** + * Specifies SetImmutabilityPolicy access granted. + */ + setImmutabilityPolicy = false; + /** + * Specifies that Permanent Delete is permitted. + */ + permanentDelete = false; + /** + * Converts the given permissions to a string. Using this method will guarantee the permissions are in an + * order accepted by the service. + * + * @returns A string which represents the BlobSASPermissions + */ + toString() { + const permissions = []; + if (this.read) { + permissions.push("r"); + } + if (this.add) { + permissions.push("a"); + } + if (this.create) { + permissions.push("c"); + } + if (this.write) { + permissions.push("w"); + } + if (this.delete) { + permissions.push("d"); + } + if (this.deleteVersion) { + permissions.push("x"); + } + if (this.tag) { + permissions.push("t"); + } + if (this.move) { + permissions.push("m"); + } + if (this.execute) { + permissions.push("e"); + } + if (this.setImmutabilityPolicy) { + permissions.push("i"); + } + if (this.permanentDelete) { + permissions.push("y"); + } + return permissions.join(""); + } + }; + exports2.BlobSASPermissions = BlobSASPermissions; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js +var require_ContainerSASPermissions = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ContainerSASPermissions = void 0; + var ContainerSASPermissions = class _ContainerSASPermissions { + /** + * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an + * Error if it encounters a character that does not correspond to a valid permission. + * + * @param permissions - + */ + static parse(permissions) { + const containerSASPermissions = new _ContainerSASPermissions(); + for (const char of permissions) { + switch (char) { + case "r": + containerSASPermissions.read = true; + break; + case "a": + containerSASPermissions.add = true; + break; + case "c": + containerSASPermissions.create = true; + break; + case "w": + containerSASPermissions.write = true; + break; + case "d": + containerSASPermissions.delete = true; + break; + case "l": + containerSASPermissions.list = true; + break; + case "t": + containerSASPermissions.tag = true; + break; + case "x": + containerSASPermissions.deleteVersion = true; + break; + case "m": + containerSASPermissions.move = true; + break; + case "e": + containerSASPermissions.execute = true; + break; + case "i": + containerSASPermissions.setImmutabilityPolicy = true; + break; + case "y": + containerSASPermissions.permanentDelete = true; + break; + case "f": + containerSASPermissions.filterByTags = true; + break; + default: + throw new RangeError(`Invalid permission ${char}`); + } + } + return containerSASPermissions; + } + /** + * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it + * and boolean values for them. + * + * @param permissionLike - + */ + static from(permissionLike) { + const containerSASPermissions = new _ContainerSASPermissions(); + if (permissionLike.read) { + containerSASPermissions.read = true; + } + if (permissionLike.add) { + containerSASPermissions.add = true; + } + if (permissionLike.create) { + containerSASPermissions.create = true; + } + if (permissionLike.write) { + containerSASPermissions.write = true; + } + if (permissionLike.delete) { + containerSASPermissions.delete = true; + } + if (permissionLike.list) { + containerSASPermissions.list = true; + } + if (permissionLike.deleteVersion) { + containerSASPermissions.deleteVersion = true; + } + if (permissionLike.tag) { + containerSASPermissions.tag = true; + } + if (permissionLike.move) { + containerSASPermissions.move = true; + } + if (permissionLike.execute) { + containerSASPermissions.execute = true; + } + if (permissionLike.setImmutabilityPolicy) { + containerSASPermissions.setImmutabilityPolicy = true; + } + if (permissionLike.permanentDelete) { + containerSASPermissions.permanentDelete = true; + } + if (permissionLike.filterByTags) { + containerSASPermissions.filterByTags = true; + } + return containerSASPermissions; + } + /** + * Specifies Read access granted. + */ + read = false; + /** + * Specifies Add access granted. + */ + add = false; + /** + * Specifies Create access granted. + */ + create = false; + /** + * Specifies Write access granted. + */ + write = false; + /** + * Specifies Delete access granted. + */ + delete = false; + /** + * Specifies Delete version access granted. + */ + deleteVersion = false; + /** + * Specifies List access granted. + */ + list = false; + /** + * Specfies Tag access granted. + */ + tag = false; + /** + * Specifies Move access granted. + */ + move = false; + /** + * Specifies Execute access granted. + */ + execute = false; + /** + * Specifies SetImmutabilityPolicy access granted. + */ + setImmutabilityPolicy = false; + /** + * Specifies that Permanent Delete is permitted. + */ + permanentDelete = false; + /** + * Specifies that Filter Blobs by Tags is permitted. + */ + filterByTags = false; + /** + * Converts the given permissions to a string. Using this method will guarantee the permissions are in an + * order accepted by the service. + * + * The order of the characters should be as specified here to ensure correctness. + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + */ + toString() { + const permissions = []; + if (this.read) { + permissions.push("r"); + } + if (this.add) { + permissions.push("a"); + } + if (this.create) { + permissions.push("c"); + } + if (this.write) { + permissions.push("w"); + } + if (this.delete) { + permissions.push("d"); + } + if (this.deleteVersion) { + permissions.push("x"); + } + if (this.list) { + permissions.push("l"); + } + if (this.tag) { + permissions.push("t"); + } + if (this.move) { + permissions.push("m"); + } + if (this.execute) { + permissions.push("e"); + } + if (this.setImmutabilityPolicy) { + permissions.push("i"); + } + if (this.permanentDelete) { + permissions.push("y"); + } + if (this.filterByTags) { + permissions.push("f"); + } + return permissions.join(""); + } + }; + exports2.ContainerSASPermissions = ContainerSASPermissions; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js +var require_UserDelegationKeyCredential = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.UserDelegationKeyCredential = void 0; + var node_crypto_1 = require("node:crypto"); + var UserDelegationKeyCredential = class { + /** + * Azure Storage account name; readonly. + */ + accountName; + /** + * Azure Storage user delegation key; readonly. + */ + userDelegationKey; + /** + * Key value in Buffer type. + */ + key; + /** + * Creates an instance of UserDelegationKeyCredential. + * @param accountName - + * @param userDelegationKey - + */ + constructor(accountName, userDelegationKey) { + this.accountName = accountName; + this.userDelegationKey = userDelegationKey; + this.key = Buffer.from(userDelegationKey.value, "base64"); + } + /** + * Generates a hash signature for an HTTP request or for a SAS. + * + * @param stringToSign - + */ + computeHMACSHA256(stringToSign) { + return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64"); + } + }; + exports2.UserDelegationKeyCredential = UserDelegationKeyCredential; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js +var require_SasIPRange = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ipRangeToString = ipRangeToString; + function ipRangeToString(ipRange) { + return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js +var require_SASQueryParameters = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.SASQueryParameters = exports2.SASProtocol = void 0; + var SasIPRange_js_1 = require_SasIPRange(); + var utils_common_js_1 = require_utils_common(); + var SASProtocol; + (function(SASProtocol2) { + SASProtocol2["Https"] = "https"; + SASProtocol2["HttpsAndHttp"] = "https,http"; + })(SASProtocol || (exports2.SASProtocol = SASProtocol = {})); + var SASQueryParameters = class { + /** + * The storage API version. + */ + version; + /** + * Optional. The allowed HTTP protocol(s). + */ + protocol; + /** + * Optional. The start time for this SAS token. + */ + startsOn; + /** + * Optional only when identifier is provided. The expiry time for this SAS token. + */ + expiresOn; + /** + * Optional only when identifier is provided. + * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for + * more details. + */ + permissions; + /** + * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices} + * for more details. + */ + services; + /** + * Optional. The storage resource types being accessed (only for Account SAS). Please refer to + * {@link AccountSASResourceTypes} for more details. + */ + resourceTypes; + /** + * Optional. The signed identifier (only for {@link BlobSASSignatureValues}). + * + * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy + */ + identifier; + /** + * Optional. Encryption scope to use when sending requests authorized with this SAS URI. + */ + encryptionScope; + /** + * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}). + * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only + */ + resource; + /** + * The signature for the SAS token. + */ + signature; + /** + * Value for cache-control header in Blob/File Service SAS. + */ + cacheControl; + /** + * Value for content-disposition header in Blob/File Service SAS. + */ + contentDisposition; + /** + * Value for content-encoding header in Blob/File Service SAS. + */ + contentEncoding; + /** + * Value for content-length header in Blob/File Service SAS. + */ + contentLanguage; + /** + * Value for content-type header in Blob/File Service SAS. + */ + contentType; + /** + * Inner value of getter ipRange. + */ + ipRangeInner; + /** + * The Azure Active Directory object ID in GUID format. + * Property of user delegation key. + */ + signedOid; + /** + * The Azure Active Directory tenant ID in GUID format. + * Property of user delegation key. + */ + signedTenantId; + /** + * The date-time the key is active. + * Property of user delegation key. + */ + signedStartsOn; + /** + * The date-time the key expires. + * Property of user delegation key. + */ + signedExpiresOn; + /** + * Abbreviation of the Azure Storage service that accepts the user delegation key. + * Property of user delegation key. + */ + signedService; + /** + * The service version that created the user delegation key. + * Property of user delegation key. + */ + signedVersion; + /** + * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key + * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key + * has the required permissions before granting access but no additional permission check for the user specified in + * this value will be performed. This is only used for User Delegation SAS. + */ + preauthorizedAgentObjectId; + /** + * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access. + * This is only used for User Delegation SAS. + */ + correlationId; + /** + * Optional. IP range allowed for this SAS. + * + * @readonly + */ + get ipRange() { + if (this.ipRangeInner) { + return { + end: this.ipRangeInner.end, + start: this.ipRangeInner.start + }; + } + return void 0; + } + constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) { + this.version = version; + this.signature = signature; + if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") { + this.permissions = permissionsOrOptions.permissions; + this.services = permissionsOrOptions.services; + this.resourceTypes = permissionsOrOptions.resourceTypes; + this.protocol = permissionsOrOptions.protocol; + this.startsOn = permissionsOrOptions.startsOn; + this.expiresOn = permissionsOrOptions.expiresOn; + this.ipRangeInner = permissionsOrOptions.ipRange; + this.identifier = permissionsOrOptions.identifier; + this.encryptionScope = permissionsOrOptions.encryptionScope; + this.resource = permissionsOrOptions.resource; + this.cacheControl = permissionsOrOptions.cacheControl; + this.contentDisposition = permissionsOrOptions.contentDisposition; + this.contentEncoding = permissionsOrOptions.contentEncoding; + this.contentLanguage = permissionsOrOptions.contentLanguage; + this.contentType = permissionsOrOptions.contentType; + if (permissionsOrOptions.userDelegationKey) { + this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId; + this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId; + this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn; + this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn; + this.signedService = permissionsOrOptions.userDelegationKey.signedService; + this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion; + this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId; + this.correlationId = permissionsOrOptions.correlationId; + } + } else { + this.services = services; + this.resourceTypes = resourceTypes; + this.expiresOn = expiresOn; + this.permissions = permissionsOrOptions; + this.protocol = protocol; + this.startsOn = startsOn; + this.ipRangeInner = ipRange; + this.encryptionScope = encryptionScope; + this.identifier = identifier; + this.resource = resource; + this.cacheControl = cacheControl; + this.contentDisposition = contentDisposition; + this.contentEncoding = contentEncoding; + this.contentLanguage = contentLanguage; + this.contentType = contentType; + if (userDelegationKey) { + this.signedOid = userDelegationKey.signedObjectId; + this.signedTenantId = userDelegationKey.signedTenantId; + this.signedStartsOn = userDelegationKey.signedStartsOn; + this.signedExpiresOn = userDelegationKey.signedExpiresOn; + this.signedService = userDelegationKey.signedService; + this.signedVersion = userDelegationKey.signedVersion; + this.preauthorizedAgentObjectId = preauthorizedAgentObjectId; + this.correlationId = correlationId; + } + } + } + /** + * Encodes all SAS query parameters into a string that can be appended to a URL. + * + */ + toString() { + const params = [ + "sv", + "ss", + "srt", + "spr", + "st", + "se", + "sip", + "si", + "ses", + "skoid", + // Signed object ID + "sktid", + // Signed tenant ID + "skt", + // Signed key start time + "ske", + // Signed key expiry time + "sks", + // Signed key service + "skv", + // Signed key version + "sr", + "sp", + "sig", + "rscc", + "rscd", + "rsce", + "rscl", + "rsct", + "saoid", + "scid" + ]; + const queries = []; + for (const param of params) { + switch (param) { + case "sv": + this.tryAppendQueryParameter(queries, param, this.version); + break; + case "ss": + this.tryAppendQueryParameter(queries, param, this.services); + break; + case "srt": + this.tryAppendQueryParameter(queries, param, this.resourceTypes); + break; + case "spr": + this.tryAppendQueryParameter(queries, param, this.protocol); + break; + case "st": + this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0); + break; + case "se": + this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0); + break; + case "sip": + this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0); + break; + case "si": + this.tryAppendQueryParameter(queries, param, this.identifier); + break; + case "ses": + this.tryAppendQueryParameter(queries, param, this.encryptionScope); + break; + case "skoid": + this.tryAppendQueryParameter(queries, param, this.signedOid); + break; + case "sktid": + this.tryAppendQueryParameter(queries, param, this.signedTenantId); + break; + case "skt": + this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0); + break; + case "ske": + this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0); + break; + case "sks": + this.tryAppendQueryParameter(queries, param, this.signedService); + break; + case "skv": + this.tryAppendQueryParameter(queries, param, this.signedVersion); + break; + case "sr": + this.tryAppendQueryParameter(queries, param, this.resource); + break; + case "sp": + this.tryAppendQueryParameter(queries, param, this.permissions); + break; + case "sig": + this.tryAppendQueryParameter(queries, param, this.signature); + break; + case "rscc": + this.tryAppendQueryParameter(queries, param, this.cacheControl); + break; + case "rscd": + this.tryAppendQueryParameter(queries, param, this.contentDisposition); + break; + case "rsce": + this.tryAppendQueryParameter(queries, param, this.contentEncoding); + break; + case "rscl": + this.tryAppendQueryParameter(queries, param, this.contentLanguage); + break; + case "rsct": + this.tryAppendQueryParameter(queries, param, this.contentType); + break; + case "saoid": + this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId); + break; + case "scid": + this.tryAppendQueryParameter(queries, param, this.correlationId); + break; + } + } + return queries.join("&"); + } + /** + * A private helper method used to filter and append query key/value pairs into an array. + * + * @param queries - + * @param key - + * @param value - + */ + tryAppendQueryParameter(queries, key, value) { + if (!value) { + return; + } + key = encodeURIComponent(key); + value = encodeURIComponent(value); + if (key.length > 0 && value.length > 0) { + queries.push(`${key}=${value}`); + } + } + }; + exports2.SASQueryParameters = SASQueryParameters; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js +var require_BlobSASSignatureValues = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters; + exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal; + var BlobSASPermissions_js_1 = require_BlobSASPermissions(); + var ContainerSASPermissions_js_1 = require_ContainerSASPermissions(); + var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); + var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential(); + var SasIPRange_js_1 = require_SasIPRange(); + var SASQueryParameters_js_1 = require_SASQueryParameters(); + var constants_js_1 = require_constants15(); + var utils_common_js_1 = require_utils_common(); + function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) { + return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters; + } + function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) { + const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION; + const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0; + let userDelegationKeyCredential; + if (sharedKeyCredential === void 0 && accountName !== void 0) { + userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey); + } + if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) { + throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName."); + } + if (version >= "2020-12-06") { + if (sharedKeyCredential !== void 0) { + return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential); + } else { + if (version >= "2025-07-05") { + return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential); + } else { + return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential); + } + } + } + if (version >= "2018-11-09") { + if (sharedKeyCredential !== void 0) { + return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential); + } else { + if (version >= "2020-02-10") { + return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential); + } else { + return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential); + } + } + } + if (version >= "2015-04-05") { + if (sharedKeyCredential !== void 0) { + return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential); + } else { + throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key."); + } + } + throw new RangeError("'version' must be >= '2015-04-05'."); + } + function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided."); + } + let resource = "c"; + if (blobSASSignatureValues.blobName) { + resource = "b"; + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + blobSASSignatureValues.identifier, + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "", + blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "", + blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "", + blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "", + blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "" + ].join("\n"); + const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType), + stringToSign + }; + } + function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided."); + } + let resource = "c"; + let timestamp2 = blobSASSignatureValues.snapshotTime; + if (blobSASSignatureValues.blobName) { + resource = "b"; + if (blobSASSignatureValues.snapshotTime) { + resource = "bs"; + } else if (blobSASSignatureValues.versionId) { + resource = "bv"; + timestamp2 = blobSASSignatureValues.versionId; + } + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + blobSASSignatureValues.identifier, + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + resource, + timestamp2, + blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "", + blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "", + blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "", + blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "", + blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "" + ].join("\n"); + const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType), + stringToSign + }; + } + function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided."); + } + let resource = "c"; + let timestamp2 = blobSASSignatureValues.snapshotTime; + if (blobSASSignatureValues.blobName) { + resource = "b"; + if (blobSASSignatureValues.snapshotTime) { + resource = "bs"; + } else if (blobSASSignatureValues.versionId) { + resource = "bv"; + timestamp2 = blobSASSignatureValues.versionId; + } + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + blobSASSignatureValues.identifier, + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + resource, + timestamp2, + blobSASSignatureValues.encryptionScope, + blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "", + blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "", + blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "", + blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "", + blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "" + ].join("\n"); + const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope), + stringToSign + }; + } + function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + } + let resource = "c"; + let timestamp2 = blobSASSignatureValues.snapshotTime; + if (blobSASSignatureValues.blobName) { + resource = "b"; + if (blobSASSignatureValues.snapshotTime) { + resource = "bs"; + } else if (blobSASSignatureValues.versionId) { + resource = "bv"; + timestamp2 = blobSASSignatureValues.versionId; + } + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + userDelegationKeyCredential.userDelegationKey.signedObjectId, + userDelegationKeyCredential.userDelegationKey.signedTenantId, + userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedService, + userDelegationKeyCredential.userDelegationKey.signedVersion, + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + resource, + timestamp2, + blobSASSignatureValues.cacheControl, + blobSASSignatureValues.contentDisposition, + blobSASSignatureValues.contentEncoding, + blobSASSignatureValues.contentLanguage, + blobSASSignatureValues.contentType + ].join("\n"); + const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey), + stringToSign + }; + } + function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + } + let resource = "c"; + let timestamp2 = blobSASSignatureValues.snapshotTime; + if (blobSASSignatureValues.blobName) { + resource = "b"; + if (blobSASSignatureValues.snapshotTime) { + resource = "bs"; + } else if (blobSASSignatureValues.versionId) { + resource = "bv"; + timestamp2 = blobSASSignatureValues.versionId; + } + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + userDelegationKeyCredential.userDelegationKey.signedObjectId, + userDelegationKeyCredential.userDelegationKey.signedTenantId, + userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedService, + userDelegationKeyCredential.userDelegationKey.signedVersion, + blobSASSignatureValues.preauthorizedAgentObjectId, + void 0, + // agentObjectId + blobSASSignatureValues.correlationId, + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + resource, + timestamp2, + blobSASSignatureValues.cacheControl, + blobSASSignatureValues.contentDisposition, + blobSASSignatureValues.contentEncoding, + blobSASSignatureValues.contentLanguage, + blobSASSignatureValues.contentType + ].join("\n"); + const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId), + stringToSign + }; + } + function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + } + let resource = "c"; + let timestamp2 = blobSASSignatureValues.snapshotTime; + if (blobSASSignatureValues.blobName) { + resource = "b"; + if (blobSASSignatureValues.snapshotTime) { + resource = "bs"; + } else if (blobSASSignatureValues.versionId) { + resource = "bv"; + timestamp2 = blobSASSignatureValues.versionId; + } + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + userDelegationKeyCredential.userDelegationKey.signedObjectId, + userDelegationKeyCredential.userDelegationKey.signedTenantId, + userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedService, + userDelegationKeyCredential.userDelegationKey.signedVersion, + blobSASSignatureValues.preauthorizedAgentObjectId, + void 0, + // agentObjectId + blobSASSignatureValues.correlationId, + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + resource, + timestamp2, + blobSASSignatureValues.encryptionScope, + blobSASSignatureValues.cacheControl, + blobSASSignatureValues.contentDisposition, + blobSASSignatureValues.contentEncoding, + blobSASSignatureValues.contentLanguage, + blobSASSignatureValues.contentType + ].join("\n"); + const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope), + stringToSign + }; + } + function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) { + blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); + if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { + throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + } + let resource = "c"; + let timestamp2 = blobSASSignatureValues.snapshotTime; + if (blobSASSignatureValues.blobName) { + resource = "b"; + if (blobSASSignatureValues.snapshotTime) { + resource = "bs"; + } else if (blobSASSignatureValues.versionId) { + resource = "bv"; + timestamp2 = blobSASSignatureValues.versionId; + } + } + let verifiedPermissions; + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } else { + verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + } + } + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", + blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", + getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), + userDelegationKeyCredential.userDelegationKey.signedObjectId, + userDelegationKeyCredential.userDelegationKey.signedTenantId, + userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", + userDelegationKeyCredential.userDelegationKey.signedService, + userDelegationKeyCredential.userDelegationKey.signedVersion, + blobSASSignatureValues.preauthorizedAgentObjectId, + void 0, + // agentObjectId + blobSASSignatureValues.correlationId, + void 0, + // SignedKeyDelegatedUserTenantId, will be added in a future release. + void 0, + // SignedDelegatedUserObjectId, will be added in future release. + blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + blobSASSignatureValues.version, + resource, + timestamp2, + blobSASSignatureValues.encryptionScope, + blobSASSignatureValues.cacheControl, + blobSASSignatureValues.contentDisposition, + blobSASSignatureValues.contentEncoding, + blobSASSignatureValues.contentLanguage, + blobSASSignatureValues.contentType + ].join("\n"); + const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope), + stringToSign + }; + } + function getCanonicalName(accountName, containerName, blobName) { + const elements = [`/blob/${accountName}/${containerName}`]; + if (blobName) { + elements.push(`/${blobName}`); + } + return elements.join(""); + } + function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) { + const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION; + if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") { + throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'."); + } + if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) { + throw RangeError("Must provide 'blobName' when providing 'snapshotTime'."); + } + if (blobSASSignatureValues.versionId && version < "2019-10-10") { + throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'."); + } + if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) { + throw RangeError("Must provide 'blobName' when providing 'versionId'."); + } + if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") { + throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission."); + } + if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") { + throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission."); + } + if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") { + throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission."); + } + if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") { + throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission."); + } + if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) { + throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission."); + } + if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) { + throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission."); + } + if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) { + throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'."); + } + if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") { + throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS."); + } + blobSASSignatureValues.version = version; + return blobSASSignatureValues; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js +var require_BlobLeaseClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobLeaseClient = void 0; + var core_util_1 = require_commonjs4(); + var constants_js_1 = require_constants15(); + var tracing_js_1 = require_tracing(); + var utils_common_js_1 = require_utils_common(); + var BlobLeaseClient = class { + _leaseId; + _url; + _containerOrBlobOperation; + _isContainer; + /** + * Gets the lease Id. + * + * @readonly + */ + get leaseId() { + return this._leaseId; + } + /** + * Gets the url. + * + * @readonly + */ + get url() { + return this._url; + } + /** + * Creates an instance of BlobLeaseClient. + * @param client - The client to make the lease operation requests. + * @param leaseId - Initial proposed lease id. + */ + constructor(client, leaseId) { + const clientContext = client.storageClientContext; + this._url = client.url; + if (client.name === void 0) { + this._isContainer = true; + this._containerOrBlobOperation = clientContext.container; + } else { + this._isContainer = false; + this._containerOrBlobOperation = clientContext.blob; + } + if (!leaseId) { + leaseId = (0, core_util_1.randomUUID)(); + } + this._leaseId = leaseId; + } + /** + * Establishes and manages a lock on a container for delete operations, or on a blob + * for write and delete operations. + * The lock duration can be 15 to 60 seconds, or can be infinite. + * @see https://learn.microsoft.com/rest/api/storageservices/lease-container + * and + * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob + * + * @param duration - Must be between 15 to 60 seconds, or infinite (-1) + * @param options - option to configure lease management operations. + * @returns Response data for acquire lease operation. + */ + async acquireLease(duration, options = {}) { + if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { + throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + } + return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({ + abortSignal: options.abortSignal, + duration, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + proposedLeaseId: this._leaseId, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * To change the ID of the lease. + * @see https://learn.microsoft.com/rest/api/storageservices/lease-container + * and + * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob + * + * @param proposedLeaseId - the proposed new lease Id. + * @param options - option to configure lease management operations. + * @returns Response data for change lease operation. + */ + async changeLease(proposedLeaseId, options = {}) { + if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { + throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + } + return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, { + abortSignal: options.abortSignal, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + this._leaseId = proposedLeaseId; + return response; + }); + } + /** + * To free the lease if it is no longer needed so that another client may + * immediately acquire a lease against the container or the blob. + * @see https://learn.microsoft.com/rest/api/storageservices/lease-container + * and + * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob + * + * @param options - option to configure lease management operations. + * @returns Response data for release lease operation. + */ + async releaseLease(options = {}) { + if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { + throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + } + return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, { + abortSignal: options.abortSignal, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * To renew the lease. + * @see https://learn.microsoft.com/rest/api/storageservices/lease-container + * and + * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob + * + * @param options - Optional option to configure lease management operations. + * @returns Response data for renew lease operation. + */ + async renewLease(options = {}) { + if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { + throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + } + return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => { + return this._containerOrBlobOperation.renewLease(this._leaseId, { + abortSignal: options.abortSignal, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + }); + }); + } + /** + * To end the lease but ensure that another client cannot acquire a new lease + * until the current lease period has expired. + * @see https://learn.microsoft.com/rest/api/storageservices/lease-container + * and + * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob + * + * @param breakPeriod - Break period + * @param options - Optional options to configure lease management operations. + * @returns Response data for break lease operation. + */ + async breakLease(breakPeriod, options = {}) { + if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { + throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + } + return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => { + const operationOptions = { + abortSignal: options.abortSignal, + breakPeriod, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + }; + return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions)); + }); + } + }; + exports2.BlobLeaseClient = BlobLeaseClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js +var require_RetriableReadableStream = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RetriableReadableStream = void 0; + var abort_controller_1 = require_commonjs11(); + var node_stream_1 = require("node:stream"); + var RetriableReadableStream = class extends node_stream_1.Readable { + start; + offset; + end; + getter; + source; + retries = 0; + maxRetryRequests; + onProgress; + options; + /** + * Creates an instance of RetriableReadableStream. + * + * @param source - The current ReadableStream returned from getter + * @param getter - A method calling downloading request returning + * a new ReadableStream from specified offset + * @param offset - Offset position in original data source to read + * @param count - How much data in original data source to read + * @param options - + */ + constructor(source, getter, offset, count, options = {}) { + super({ highWaterMark: options.highWaterMark }); + this.getter = getter; + this.source = source; + this.start = offset; + this.offset = offset; + this.end = offset + count - 1; + this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0; + this.onProgress = options.onProgress; + this.options = options; + this.setSourceEventHandlers(); + } + _read() { + this.source.resume(); + } + setSourceEventHandlers() { + this.source.on("data", this.sourceDataHandler); + this.source.on("end", this.sourceErrorOrEndHandler); + this.source.on("error", this.sourceErrorOrEndHandler); + this.source.on("aborted", this.sourceAbortedHandler); + } + removeSourceEventHandlers() { + this.source.removeListener("data", this.sourceDataHandler); + this.source.removeListener("end", this.sourceErrorOrEndHandler); + this.source.removeListener("error", this.sourceErrorOrEndHandler); + this.source.removeListener("aborted", this.sourceAbortedHandler); + } + sourceDataHandler = (data) => { + if (this.options.doInjectErrorOnce) { + this.options.doInjectErrorOnce = void 0; + this.source.pause(); + this.sourceErrorOrEndHandler(); + this.source.destroy(); + return; + } + this.offset += data.length; + if (this.onProgress) { + this.onProgress({ loadedBytes: this.offset - this.start }); + } + if (!this.push(data)) { + this.source.pause(); + } + }; + sourceAbortedHandler = () => { + const abortError = new abort_controller_1.AbortError("The operation was aborted."); + this.destroy(abortError); + }; + sourceErrorOrEndHandler = (err) => { + if (err && err.name === "AbortError") { + this.destroy(err); + return; + } + this.removeSourceEventHandlers(); + if (this.offset - 1 === this.end) { + this.push(null); + } else if (this.offset <= this.end) { + if (this.retries < this.maxRetryRequests) { + this.retries += 1; + this.getter(this.offset).then((newSource) => { + this.source = newSource; + this.setSourceEventHandlers(); + return; + }).catch((error3) => { + this.destroy(error3); + }); + } else { + this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`)); + } + } else { + this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`)); + } + }; + _destroy(error3, callback) { + this.removeSourceEventHandlers(); + this.source.destroy(); + callback(error3 === null ? void 0 : error3); + } + }; + exports2.RetriableReadableStream = RetriableReadableStream; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js +var require_BlobDownloadResponse = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobDownloadResponse = void 0; + var core_util_1 = require_commonjs4(); + var RetriableReadableStream_js_1 = require_RetriableReadableStream(); + var BlobDownloadResponse = class { + /** + * Indicates that the service supports + * requests for partial file content. + * + * @readonly + */ + get acceptRanges() { + return this.originalResponse.acceptRanges; + } + /** + * Returns if it was previously specified + * for the file. + * + * @readonly + */ + get cacheControl() { + return this.originalResponse.cacheControl; + } + /** + * Returns the value that was specified + * for the 'x-ms-content-disposition' header and specifies how to process the + * response. + * + * @readonly + */ + get contentDisposition() { + return this.originalResponse.contentDisposition; + } + /** + * Returns the value that was specified + * for the Content-Encoding request header. + * + * @readonly + */ + get contentEncoding() { + return this.originalResponse.contentEncoding; + } + /** + * Returns the value that was specified + * for the Content-Language request header. + * + * @readonly + */ + get contentLanguage() { + return this.originalResponse.contentLanguage; + } + /** + * The current sequence number for a + * page blob. This header is not returned for block blobs or append blobs. + * + * @readonly + */ + get blobSequenceNumber() { + return this.originalResponse.blobSequenceNumber; + } + /** + * The blob's type. Possible values include: + * 'BlockBlob', 'PageBlob', 'AppendBlob'. + * + * @readonly + */ + get blobType() { + return this.originalResponse.blobType; + } + /** + * The number of bytes present in the + * response body. + * + * @readonly + */ + get contentLength() { + return this.originalResponse.contentLength; + } + /** + * If the file has an MD5 hash and the + * request is to read the full file, this response header is returned so that + * the client can check for message content integrity. If the request is to + * read a specified range and the 'x-ms-range-get-content-md5' is set to + * true, then the request returns an MD5 hash for the range, as long as the + * range size is less than or equal to 4 MB. If neither of these sets of + * conditions is true, then no value is returned for the 'Content-MD5' + * header. + * + * @readonly + */ + get contentMD5() { + return this.originalResponse.contentMD5; + } + /** + * Indicates the range of bytes returned if + * the client requested a subset of the file by setting the Range request + * header. + * + * @readonly + */ + get contentRange() { + return this.originalResponse.contentRange; + } + /** + * The content type specified for the file. + * The default content type is 'application/octet-stream' + * + * @readonly + */ + get contentType() { + return this.originalResponse.contentType; + } + /** + * Conclusion time of the last attempted + * Copy File operation where this file was the destination file. This value + * can specify the time of a completed, aborted, or failed copy attempt. + * + * @readonly + */ + get copyCompletedOn() { + return this.originalResponse.copyCompletedOn; + } + /** + * String identifier for the last attempted Copy + * File operation where this file was the destination file. + * + * @readonly + */ + get copyId() { + return this.originalResponse.copyId; + } + /** + * Contains the number of bytes copied and + * the total bytes in the source in the last attempted Copy File operation + * where this file was the destination file. Can show between 0 and + * Content-Length bytes copied. + * + * @readonly + */ + get copyProgress() { + return this.originalResponse.copyProgress; + } + /** + * URL up to 2KB in length that specifies the + * source file used in the last attempted Copy File operation where this file + * was the destination file. + * + * @readonly + */ + get copySource() { + return this.originalResponse.copySource; + } + /** + * State of the copy operation + * identified by 'x-ms-copy-id'. Possible values include: 'pending', + * 'success', 'aborted', 'failed' + * + * @readonly + */ + get copyStatus() { + return this.originalResponse.copyStatus; + } + /** + * Only appears when + * x-ms-copy-status is failed or pending. Describes cause of fatal or + * non-fatal copy operation failure. + * + * @readonly + */ + get copyStatusDescription() { + return this.originalResponse.copyStatusDescription; + } + /** + * When a blob is leased, + * specifies whether the lease is of infinite or fixed duration. Possible + * values include: 'infinite', 'fixed'. + * + * @readonly + */ + get leaseDuration() { + return this.originalResponse.leaseDuration; + } + /** + * Lease state of the blob. Possible + * values include: 'available', 'leased', 'expired', 'breaking', 'broken'. + * + * @readonly + */ + get leaseState() { + return this.originalResponse.leaseState; + } + /** + * The current lease status of the + * blob. Possible values include: 'locked', 'unlocked'. + * + * @readonly + */ + get leaseStatus() { + return this.originalResponse.leaseStatus; + } + /** + * A UTC date/time value generated by the service that + * indicates the time at which the response was initiated. + * + * @readonly + */ + get date() { + return this.originalResponse.date; + } + /** + * The number of committed blocks + * present in the blob. This header is returned only for append blobs. + * + * @readonly + */ + get blobCommittedBlockCount() { + return this.originalResponse.blobCommittedBlockCount; + } + /** + * The ETag contains a value that you can use to + * perform operations conditionally, in quotes. + * + * @readonly + */ + get etag() { + return this.originalResponse.etag; + } + /** + * The number of tags associated with the blob + * + * @readonly + */ + get tagCount() { + return this.originalResponse.tagCount; + } + /** + * The error code. + * + * @readonly + */ + get errorCode() { + return this.originalResponse.errorCode; + } + /** + * The value of this header is set to + * true if the file data and application metadata are completely encrypted + * using the specified algorithm. Otherwise, the value is set to false (when + * the file is unencrypted, or if only parts of the file/application metadata + * are encrypted). + * + * @readonly + */ + get isServerEncrypted() { + return this.originalResponse.isServerEncrypted; + } + /** + * If the blob has a MD5 hash, and if + * request contains range header (Range or x-ms-range), this response header + * is returned with the value of the whole blob's MD5 value. This value may + * or may not be equal to the value returned in Content-MD5 header, with the + * latter calculated from the requested range. + * + * @readonly + */ + get blobContentMD5() { + return this.originalResponse.blobContentMD5; + } + /** + * Returns the date and time the file was last + * modified. Any operation that modifies the file or its properties updates + * the last modified time. + * + * @readonly + */ + get lastModified() { + return this.originalResponse.lastModified; + } + /** + * Returns the UTC date and time generated by the service that indicates the time at which the blob was + * last read or written to. + * + * @readonly + */ + get lastAccessed() { + return this.originalResponse.lastAccessed; + } + /** + * Returns the date and time the blob was created. + * + * @readonly + */ + get createdOn() { + return this.originalResponse.createdOn; + } + /** + * A name-value pair + * to associate with a file storage object. + * + * @readonly + */ + get metadata() { + return this.originalResponse.metadata; + } + /** + * This header uniquely identifies the request + * that was made and can be used for troubleshooting the request. + * + * @readonly + */ + get requestId() { + return this.originalResponse.requestId; + } + /** + * If a client request id header is sent in the request, this header will be present in the + * response with the same value. + * + * @readonly + */ + get clientRequestId() { + return this.originalResponse.clientRequestId; + } + /** + * Indicates the version of the Blob service used + * to execute the request. + * + * @readonly + */ + get version() { + return this.originalResponse.version; + } + /** + * Indicates the versionId of the downloaded blob version. + * + * @readonly + */ + get versionId() { + return this.originalResponse.versionId; + } + /** + * Indicates whether version of this blob is a current version. + * + * @readonly + */ + get isCurrentVersion() { + return this.originalResponse.isCurrentVersion; + } + /** + * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned + * when the blob was encrypted with a customer-provided key. + * + * @readonly + */ + get encryptionKeySha256() { + return this.originalResponse.encryptionKeySha256; + } + /** + * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to + * true, then the request returns a crc64 for the range, as long as the range size is less than + * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is + * specified in the same request, it will fail with 400(Bad Request) + */ + get contentCrc64() { + return this.originalResponse.contentCrc64; + } + /** + * Object Replication Policy Id of the destination blob. + * + * @readonly + */ + get objectReplicationDestinationPolicyId() { + return this.originalResponse.objectReplicationDestinationPolicyId; + } + /** + * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob. + * + * @readonly + */ + get objectReplicationSourceProperties() { + return this.originalResponse.objectReplicationSourceProperties; + } + /** + * If this blob has been sealed. + * + * @readonly + */ + get isSealed() { + return this.originalResponse.isSealed; + } + /** + * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire. + * + * @readonly + */ + get immutabilityPolicyExpiresOn() { + return this.originalResponse.immutabilityPolicyExpiresOn; + } + /** + * Indicates immutability policy mode. + * + * @readonly + */ + get immutabilityPolicyMode() { + return this.originalResponse.immutabilityPolicyMode; + } + /** + * Indicates if a legal hold is present on the blob. + * + * @readonly + */ + get legalHold() { + return this.originalResponse.legalHold; + } + /** + * The response body as a browser Blob. + * Always undefined in node.js. + * + * @readonly + */ + get contentAsBlob() { + return this.originalResponse.blobBody; + } + /** + * The response body as a node.js Readable stream. + * Always undefined in the browser. + * + * It will automatically retry when internal read stream unexpected ends. + * + * @readonly + */ + get readableStreamBody() { + return core_util_1.isNodeLike ? this.blobDownloadStream : void 0; + } + /** + * The HTTP response. + */ + get _response() { + return this.originalResponse._response; + } + originalResponse; + blobDownloadStream; + /** + * Creates an instance of BlobDownloadResponse. + * + * @param originalResponse - + * @param getter - + * @param offset - + * @param count - + * @param options - + */ + constructor(originalResponse, getter, offset, count, options = {}) { + this.originalResponse = originalResponse; + this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options); + } + }; + exports2.BlobDownloadResponse = BlobDownloadResponse; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js +var require_AvroConstants = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0; + exports2.AVRO_SYNC_MARKER_SIZE = 16; + exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]); + exports2.AVRO_CODEC_KEY = "avro.codec"; + exports2.AVRO_SCHEMA_KEY = "avro.schema"; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js +var require_AvroParser = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AvroType = exports2.AvroParser = void 0; + var AvroParser = class _AvroParser { + /** + * Reads a fixed number of bytes from the stream. + * + * @param stream - + * @param length - + * @param options - + */ + static async readFixedBytes(stream, length, options = {}) { + const bytes = await stream.read(length, { abortSignal: options.abortSignal }); + if (bytes.length !== length) { + throw new Error("Hit stream end."); + } + return bytes; + } + /** + * Reads a single byte from the stream. + * + * @param stream - + * @param options - + */ + static async readByte(stream, options = {}) { + const buf = await _AvroParser.readFixedBytes(stream, 1, options); + return buf[0]; + } + // int and long are stored in variable-length zig-zag coding. + // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt + // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types + static async readZigZagLong(stream, options = {}) { + let zigZagEncoded = 0; + let significanceInBit = 0; + let byte, haveMoreByte, significanceInFloat; + do { + byte = await _AvroParser.readByte(stream, options); + haveMoreByte = byte & 128; + zigZagEncoded |= (byte & 127) << significanceInBit; + significanceInBit += 7; + } while (haveMoreByte && significanceInBit < 28); + if (haveMoreByte) { + zigZagEncoded = zigZagEncoded; + significanceInFloat = 268435456; + do { + byte = await _AvroParser.readByte(stream, options); + zigZagEncoded += (byte & 127) * significanceInFloat; + significanceInFloat *= 128; + } while (byte & 128); + const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2; + if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) { + throw new Error("Integer overflow."); + } + return res; + } + return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1); + } + static async readLong(stream, options = {}) { + return _AvroParser.readZigZagLong(stream, options); + } + static async readInt(stream, options = {}) { + return _AvroParser.readZigZagLong(stream, options); + } + static async readNull() { + return null; + } + static async readBoolean(stream, options = {}) { + const b = await _AvroParser.readByte(stream, options); + if (b === 1) { + return true; + } else if (b === 0) { + return false; + } else { + throw new Error("Byte was not a boolean."); + } + } + static async readFloat(stream, options = {}) { + const u8arr = await _AvroParser.readFixedBytes(stream, 4, options); + const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength); + return view.getFloat32(0, true); + } + static async readDouble(stream, options = {}) { + const u8arr = await _AvroParser.readFixedBytes(stream, 8, options); + const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength); + return view.getFloat64(0, true); + } + static async readBytes(stream, options = {}) { + const size = await _AvroParser.readLong(stream, options); + if (size < 0) { + throw new Error("Bytes size was negative."); + } + return stream.read(size, { abortSignal: options.abortSignal }); + } + static async readString(stream, options = {}) { + const u8arr = await _AvroParser.readBytes(stream, options); + const utf8decoder = new TextDecoder(); + return utf8decoder.decode(u8arr); + } + static async readMapPair(stream, readItemMethod, options = {}) { + const key = await _AvroParser.readString(stream, options); + const value = await readItemMethod(stream, options); + return { key, value }; + } + static async readMap(stream, readItemMethod, options = {}) { + const readPairMethod = (s, opts = {}) => { + return _AvroParser.readMapPair(s, readItemMethod, opts); + }; + const pairs2 = await _AvroParser.readArray(stream, readPairMethod, options); + const dict = {}; + for (const pair of pairs2) { + dict[pair.key] = pair.value; + } + return dict; + } + static async readArray(stream, readItemMethod, options = {}) { + const items = []; + for (let count = await _AvroParser.readLong(stream, options); count !== 0; count = await _AvroParser.readLong(stream, options)) { + if (count < 0) { + await _AvroParser.readLong(stream, options); + count = -count; + } + while (count--) { + const item = await readItemMethod(stream, options); + items.push(item); + } + } + return items; + } + }; + exports2.AvroParser = AvroParser; + var AvroComplex; + (function(AvroComplex2) { + AvroComplex2["RECORD"] = "record"; + AvroComplex2["ENUM"] = "enum"; + AvroComplex2["ARRAY"] = "array"; + AvroComplex2["MAP"] = "map"; + AvroComplex2["UNION"] = "union"; + AvroComplex2["FIXED"] = "fixed"; + })(AvroComplex || (AvroComplex = {})); + var AvroPrimitive; + (function(AvroPrimitive2) { + AvroPrimitive2["NULL"] = "null"; + AvroPrimitive2["BOOLEAN"] = "boolean"; + AvroPrimitive2["INT"] = "int"; + AvroPrimitive2["LONG"] = "long"; + AvroPrimitive2["FLOAT"] = "float"; + AvroPrimitive2["DOUBLE"] = "double"; + AvroPrimitive2["BYTES"] = "bytes"; + AvroPrimitive2["STRING"] = "string"; + })(AvroPrimitive || (AvroPrimitive = {})); + var AvroType = class _AvroType { + /** + * Determines the AvroType from the Avro Schema. + */ + // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types + static fromSchema(schema2) { + if (typeof schema2 === "string") { + return _AvroType.fromStringSchema(schema2); + } else if (Array.isArray(schema2)) { + return _AvroType.fromArraySchema(schema2); + } else { + return _AvroType.fromObjectSchema(schema2); + } + } + static fromStringSchema(schema2) { + switch (schema2) { + case AvroPrimitive.NULL: + case AvroPrimitive.BOOLEAN: + case AvroPrimitive.INT: + case AvroPrimitive.LONG: + case AvroPrimitive.FLOAT: + case AvroPrimitive.DOUBLE: + case AvroPrimitive.BYTES: + case AvroPrimitive.STRING: + return new AvroPrimitiveType(schema2); + default: + throw new Error(`Unexpected Avro type ${schema2}`); + } + } + static fromArraySchema(schema2) { + return new AvroUnionType(schema2.map(_AvroType.fromSchema)); + } + static fromObjectSchema(schema2) { + const type2 = schema2.type; + try { + return _AvroType.fromStringSchema(type2); + } catch { + } + switch (type2) { + case AvroComplex.RECORD: + if (schema2.aliases) { + throw new Error(`aliases currently is not supported, schema: ${schema2}`); + } + if (!schema2.name) { + throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`); + } + const fields = {}; + if (!schema2.fields) { + throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`); + } + for (const field of schema2.fields) { + fields[field.name] = _AvroType.fromSchema(field.type); + } + return new AvroRecordType(fields, schema2.name); + case AvroComplex.ENUM: + if (schema2.aliases) { + throw new Error(`aliases currently is not supported, schema: ${schema2}`); + } + if (!schema2.symbols) { + throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`); + } + return new AvroEnumType(schema2.symbols); + case AvroComplex.MAP: + if (!schema2.values) { + throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`); + } + return new AvroMapType(_AvroType.fromSchema(schema2.values)); + case AvroComplex.ARRAY: + // Unused today + case AvroComplex.FIXED: + // Unused today + default: + throw new Error(`Unexpected Avro type ${type2} in ${schema2}`); + } + } + }; + exports2.AvroType = AvroType; + var AvroPrimitiveType = class extends AvroType { + _primitive; + constructor(primitive) { + super(); + this._primitive = primitive; + } + // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types + read(stream, options = {}) { + switch (this._primitive) { + case AvroPrimitive.NULL: + return AvroParser.readNull(); + case AvroPrimitive.BOOLEAN: + return AvroParser.readBoolean(stream, options); + case AvroPrimitive.INT: + return AvroParser.readInt(stream, options); + case AvroPrimitive.LONG: + return AvroParser.readLong(stream, options); + case AvroPrimitive.FLOAT: + return AvroParser.readFloat(stream, options); + case AvroPrimitive.DOUBLE: + return AvroParser.readDouble(stream, options); + case AvroPrimitive.BYTES: + return AvroParser.readBytes(stream, options); + case AvroPrimitive.STRING: + return AvroParser.readString(stream, options); + default: + throw new Error("Unknown Avro Primitive"); + } + } + }; + var AvroEnumType = class extends AvroType { + _symbols; + constructor(symbols) { + super(); + this._symbols = symbols; + } + // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types + async read(stream, options = {}) { + const value = await AvroParser.readInt(stream, options); + return this._symbols[value]; + } + }; + var AvroUnionType = class extends AvroType { + _types; + constructor(types) { + super(); + this._types = types; + } + async read(stream, options = {}) { + const typeIndex = await AvroParser.readInt(stream, options); + return this._types[typeIndex].read(stream, options); + } + }; + var AvroMapType = class extends AvroType { + _itemType; + constructor(itemType) { + super(); + this._itemType = itemType; + } + // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types + read(stream, options = {}) { + const readItemMethod = (s, opts) => { + return this._itemType.read(s, opts); + }; + return AvroParser.readMap(stream, readItemMethod, options); + } + }; + var AvroRecordType = class extends AvroType { + _name; + _fields; + constructor(fields, name) { + super(); + this._fields = fields; + this._name = name; + } + // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types + async read(stream, options = {}) { + const record = {}; + record["$schema"] = this._name; + for (const key in this._fields) { + if (Object.prototype.hasOwnProperty.call(this._fields, key)) { + record[key] = await this._fields[key].read(stream, options); + } + } + return record; + } + }; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js +var require_utils_common3 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.arraysEqual = arraysEqual; + function arraysEqual(a, b) { + if (a === b) + return true; + if (a == null || b == null) + return false; + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; ++i) { + if (a[i] !== b[i]) + return false; + } + return true; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js +var require_AvroReader = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AvroReader = void 0; + var AvroConstants_js_1 = require_AvroConstants(); + var AvroParser_js_1 = require_AvroParser(); + var utils_common_js_1 = require_utils_common3(); + var AvroReader = class { + _dataStream; + _headerStream; + _syncMarker; + _metadata; + _itemType; + _itemsRemainingInBlock; + // Remembers where we started if partial data stream was provided. + _initialBlockOffset; + /// The byte offset within the Avro file (both header and data) + /// of the start of the current block. + _blockOffset; + get blockOffset() { + return this._blockOffset; + } + _objectIndex; + get objectIndex() { + return this._objectIndex; + } + _initialized; + constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) { + this._dataStream = dataStream; + this._headerStream = headerStream || dataStream; + this._initialized = false; + this._blockOffset = currentBlockOffset || 0; + this._objectIndex = indexWithinCurrentBlock || 0; + this._initialBlockOffset = currentBlockOffset || 0; + } + async initialize(options = {}) { + const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, { + abortSignal: options.abortSignal + }); + if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) { + throw new Error("Stream is not an Avro file."); + } + this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, { + abortSignal: options.abortSignal + }); + const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY]; + if (!(codec === void 0 || codec === null || codec === "null")) { + throw new Error("Codecs are not supported"); + } + this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, { + abortSignal: options.abortSignal + }); + const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]); + this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2); + if (this._blockOffset === 0) { + this._blockOffset = this._initialBlockOffset + this._dataStream.position; + } + this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, { + abortSignal: options.abortSignal + }); + await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal }); + this._initialized = true; + if (this._objectIndex && this._objectIndex > 0) { + for (let i = 0; i < this._objectIndex; i++) { + await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal }); + this._itemsRemainingInBlock--; + } + } + } + hasNext() { + return !this._initialized || this._itemsRemainingInBlock > 0; + } + async *parseObjects(options = {}) { + if (!this._initialized) { + await this.initialize(options); + } + while (this.hasNext()) { + const result = await this._itemType.read(this._dataStream, { + abortSignal: options.abortSignal + }); + this._itemsRemainingInBlock--; + this._objectIndex++; + if (this._itemsRemainingInBlock === 0) { + const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, { + abortSignal: options.abortSignal + }); + this._blockOffset = this._initialBlockOffset + this._dataStream.position; + this._objectIndex = 0; + if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) { + throw new Error("Stream is not a valid Avro file."); + } + try { + this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, { + abortSignal: options.abortSignal + }); + } catch { + this._itemsRemainingInBlock = 0; + } + if (this._itemsRemainingInBlock > 0) { + await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal }); + } + } + yield result; + } + } + }; + exports2.AvroReader = AvroReader; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js +var require_AvroReadable = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AvroReadable = void 0; + var AvroReadable = class { + }; + exports2.AvroReadable = AvroReadable; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js +var require_AvroReadableFromStream = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AvroReadableFromStream = void 0; + var AvroReadable_js_1 = require_AvroReadable(); + var abort_controller_1 = require_commonjs11(); + var buffer_1 = require("buffer"); + var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted."); + var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable { + _position; + _readable; + toUint8Array(data) { + if (typeof data === "string") { + return buffer_1.Buffer.from(data); + } + return data; + } + constructor(readable) { + super(); + this._readable = readable; + this._position = 0; + } + get position() { + return this._position; + } + async read(size, options = {}) { + if (options.abortSignal?.aborted) { + throw ABORT_ERROR; + } + if (size < 0) { + throw new Error(`size parameter should be positive: ${size}`); + } + if (size === 0) { + return new Uint8Array(); + } + if (!this._readable.readable) { + throw new Error("Stream no longer readable."); + } + const chunk = this._readable.read(size); + if (chunk) { + this._position += chunk.length; + return this.toUint8Array(chunk); + } else { + return new Promise((resolve5, reject) => { + const cleanUp = () => { + this._readable.removeListener("readable", readableCallback); + this._readable.removeListener("error", rejectCallback); + this._readable.removeListener("end", rejectCallback); + this._readable.removeListener("close", rejectCallback); + if (options.abortSignal) { + options.abortSignal.removeEventListener("abort", abortHandler); + } + }; + const readableCallback = () => { + const callbackChunk = this._readable.read(size); + if (callbackChunk) { + this._position += callbackChunk.length; + cleanUp(); + resolve5(this.toUint8Array(callbackChunk)); + } + }; + const rejectCallback = () => { + cleanUp(); + reject(); + }; + const abortHandler = () => { + cleanUp(); + reject(ABORT_ERROR); + }; + this._readable.on("readable", readableCallback); + this._readable.once("error", rejectCallback); + this._readable.once("end", rejectCallback); + this._readable.once("close", rejectCallback); + if (options.abortSignal) { + options.abortSignal.addEventListener("abort", abortHandler); + } + }); + } + } + }; + exports2.AvroReadableFromStream = AvroReadableFromStream; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js +var require_internal_avro = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0; + var AvroReader_js_1 = require_AvroReader(); + Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() { + return AvroReader_js_1.AvroReader; + } }); + var AvroReadable_js_1 = require_AvroReadable(); + Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() { + return AvroReadable_js_1.AvroReadable; + } }); + var AvroReadableFromStream_js_1 = require_AvroReadableFromStream(); + Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() { + return AvroReadableFromStream_js_1.AvroReadableFromStream; + } }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js +var require_BlobQuickQueryStream = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobQuickQueryStream = void 0; + var node_stream_1 = require("node:stream"); + var index_js_1 = require_internal_avro(); + var BlobQuickQueryStream = class extends node_stream_1.Readable { + source; + avroReader; + avroIter; + avroPaused = true; + onProgress; + onError; + /** + * Creates an instance of BlobQuickQueryStream. + * + * @param source - The current ReadableStream returned from getter + * @param options - + */ + constructor(source, options = {}) { + super(); + this.source = source; + this.onProgress = options.onProgress; + this.onError = options.onError; + this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source)); + this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal }); + } + _read() { + if (this.avroPaused) { + this.readInternal().catch((err) => { + this.emit("error", err); + }); + } + } + async readInternal() { + this.avroPaused = false; + let avroNext; + do { + avroNext = await this.avroIter.next(); + if (avroNext.done) { + break; + } + const obj = avroNext.value; + const schema2 = obj.$schema; + if (typeof schema2 !== "string") { + throw Error("Missing schema in avro record."); + } + switch (schema2) { + case "com.microsoft.azure.storage.queryBlobContents.resultData": + { + const data = obj.data; + if (data instanceof Uint8Array === false) { + throw Error("Invalid data in avro result record."); + } + if (!this.push(Buffer.from(data))) { + this.avroPaused = true; + } + } + break; + case "com.microsoft.azure.storage.queryBlobContents.progress": + { + const bytesScanned = obj.bytesScanned; + if (typeof bytesScanned !== "number") { + throw Error("Invalid bytesScanned in avro progress record."); + } + if (this.onProgress) { + this.onProgress({ loadedBytes: bytesScanned }); + } + } + break; + case "com.microsoft.azure.storage.queryBlobContents.end": + if (this.onProgress) { + const totalBytes = obj.totalBytes; + if (typeof totalBytes !== "number") { + throw Error("Invalid totalBytes in avro end record."); + } + this.onProgress({ loadedBytes: totalBytes }); + } + this.push(null); + break; + case "com.microsoft.azure.storage.queryBlobContents.error": + if (this.onError) { + const fatal = obj.fatal; + if (typeof fatal !== "boolean") { + throw Error("Invalid fatal in avro error record."); + } + const name = obj.name; + if (typeof name !== "string") { + throw Error("Invalid name in avro error record."); + } + const description = obj.description; + if (typeof description !== "string") { + throw Error("Invalid description in avro error record."); + } + const position = obj.position; + if (typeof position !== "number") { + throw Error("Invalid position in avro error record."); + } + this.onError({ + position, + name, + isFatal: fatal, + description + }); + } + break; + default: + throw Error(`Unknown schema ${schema2} in avro progress record.`); + } + } while (!avroNext.done && !this.avroPaused); + } + }; + exports2.BlobQuickQueryStream = BlobQuickQueryStream; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js +var require_BlobQueryResponse = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobQueryResponse = void 0; + var core_util_1 = require_commonjs4(); + var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream(); + var BlobQueryResponse = class { + /** + * Indicates that the service supports + * requests for partial file content. + * + * @readonly + */ + get acceptRanges() { + return this.originalResponse.acceptRanges; + } + /** + * Returns if it was previously specified + * for the file. + * + * @readonly + */ + get cacheControl() { + return this.originalResponse.cacheControl; + } + /** + * Returns the value that was specified + * for the 'x-ms-content-disposition' header and specifies how to process the + * response. + * + * @readonly + */ + get contentDisposition() { + return this.originalResponse.contentDisposition; + } + /** + * Returns the value that was specified + * for the Content-Encoding request header. + * + * @readonly + */ + get contentEncoding() { + return this.originalResponse.contentEncoding; + } + /** + * Returns the value that was specified + * for the Content-Language request header. + * + * @readonly + */ + get contentLanguage() { + return this.originalResponse.contentLanguage; + } + /** + * The current sequence number for a + * page blob. This header is not returned for block blobs or append blobs. + * + * @readonly + */ + get blobSequenceNumber() { + return this.originalResponse.blobSequenceNumber; + } + /** + * The blob's type. Possible values include: + * 'BlockBlob', 'PageBlob', 'AppendBlob'. + * + * @readonly + */ + get blobType() { + return this.originalResponse.blobType; + } + /** + * The number of bytes present in the + * response body. + * + * @readonly + */ + get contentLength() { + return this.originalResponse.contentLength; + } + /** + * If the file has an MD5 hash and the + * request is to read the full file, this response header is returned so that + * the client can check for message content integrity. If the request is to + * read a specified range and the 'x-ms-range-get-content-md5' is set to + * true, then the request returns an MD5 hash for the range, as long as the + * range size is less than or equal to 4 MB. If neither of these sets of + * conditions is true, then no value is returned for the 'Content-MD5' + * header. + * + * @readonly + */ + get contentMD5() { + return this.originalResponse.contentMD5; + } + /** + * Indicates the range of bytes returned if + * the client requested a subset of the file by setting the Range request + * header. + * + * @readonly + */ + get contentRange() { + return this.originalResponse.contentRange; + } + /** + * The content type specified for the file. + * The default content type is 'application/octet-stream' + * + * @readonly + */ + get contentType() { + return this.originalResponse.contentType; + } + /** + * Conclusion time of the last attempted + * Copy File operation where this file was the destination file. This value + * can specify the time of a completed, aborted, or failed copy attempt. + * + * @readonly + */ + get copyCompletedOn() { + return void 0; + } + /** + * String identifier for the last attempted Copy + * File operation where this file was the destination file. + * + * @readonly + */ + get copyId() { + return this.originalResponse.copyId; + } + /** + * Contains the number of bytes copied and + * the total bytes in the source in the last attempted Copy File operation + * where this file was the destination file. Can show between 0 and + * Content-Length bytes copied. + * + * @readonly + */ + get copyProgress() { + return this.originalResponse.copyProgress; + } + /** + * URL up to 2KB in length that specifies the + * source file used in the last attempted Copy File operation where this file + * was the destination file. + * + * @readonly + */ + get copySource() { + return this.originalResponse.copySource; + } + /** + * State of the copy operation + * identified by 'x-ms-copy-id'. Possible values include: 'pending', + * 'success', 'aborted', 'failed' + * + * @readonly + */ + get copyStatus() { + return this.originalResponse.copyStatus; + } + /** + * Only appears when + * x-ms-copy-status is failed or pending. Describes cause of fatal or + * non-fatal copy operation failure. + * + * @readonly + */ + get copyStatusDescription() { + return this.originalResponse.copyStatusDescription; + } + /** + * When a blob is leased, + * specifies whether the lease is of infinite or fixed duration. Possible + * values include: 'infinite', 'fixed'. + * + * @readonly + */ + get leaseDuration() { + return this.originalResponse.leaseDuration; + } + /** + * Lease state of the blob. Possible + * values include: 'available', 'leased', 'expired', 'breaking', 'broken'. + * + * @readonly + */ + get leaseState() { + return this.originalResponse.leaseState; + } + /** + * The current lease status of the + * blob. Possible values include: 'locked', 'unlocked'. + * + * @readonly + */ + get leaseStatus() { + return this.originalResponse.leaseStatus; + } + /** + * A UTC date/time value generated by the service that + * indicates the time at which the response was initiated. + * + * @readonly + */ + get date() { + return this.originalResponse.date; + } + /** + * The number of committed blocks + * present in the blob. This header is returned only for append blobs. + * + * @readonly + */ + get blobCommittedBlockCount() { + return this.originalResponse.blobCommittedBlockCount; + } + /** + * The ETag contains a value that you can use to + * perform operations conditionally, in quotes. + * + * @readonly + */ + get etag() { + return this.originalResponse.etag; + } + /** + * The error code. + * + * @readonly + */ + get errorCode() { + return this.originalResponse.errorCode; + } + /** + * The value of this header is set to + * true if the file data and application metadata are completely encrypted + * using the specified algorithm. Otherwise, the value is set to false (when + * the file is unencrypted, or if only parts of the file/application metadata + * are encrypted). + * + * @readonly + */ + get isServerEncrypted() { + return this.originalResponse.isServerEncrypted; + } + /** + * If the blob has a MD5 hash, and if + * request contains range header (Range or x-ms-range), this response header + * is returned with the value of the whole blob's MD5 value. This value may + * or may not be equal to the value returned in Content-MD5 header, with the + * latter calculated from the requested range. + * + * @readonly + */ + get blobContentMD5() { + return this.originalResponse.blobContentMD5; + } + /** + * Returns the date and time the file was last + * modified. Any operation that modifies the file or its properties updates + * the last modified time. + * + * @readonly + */ + get lastModified() { + return this.originalResponse.lastModified; + } + /** + * A name-value pair + * to associate with a file storage object. + * + * @readonly + */ + get metadata() { + return this.originalResponse.metadata; + } + /** + * This header uniquely identifies the request + * that was made and can be used for troubleshooting the request. + * + * @readonly + */ + get requestId() { + return this.originalResponse.requestId; + } + /** + * If a client request id header is sent in the request, this header will be present in the + * response with the same value. + * + * @readonly + */ + get clientRequestId() { + return this.originalResponse.clientRequestId; + } + /** + * Indicates the version of the File service used + * to execute the request. + * + * @readonly + */ + get version() { + return this.originalResponse.version; + } + /** + * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned + * when the blob was encrypted with a customer-provided key. + * + * @readonly + */ + get encryptionKeySha256() { + return this.originalResponse.encryptionKeySha256; + } + /** + * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to + * true, then the request returns a crc64 for the range, as long as the range size is less than + * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is + * specified in the same request, it will fail with 400(Bad Request) + */ + get contentCrc64() { + return this.originalResponse.contentCrc64; + } + /** + * The response body as a browser Blob. + * Always undefined in node.js. + * + * @readonly + */ + get blobBody() { + return void 0; + } + /** + * The response body as a node.js Readable stream. + * Always undefined in the browser. + * + * It will parse avor data returned by blob query. + * + * @readonly + */ + get readableStreamBody() { + return core_util_1.isNodeLike ? this.blobDownloadStream : void 0; + } + /** + * The HTTP response. + */ + get _response() { + return this.originalResponse._response; + } + originalResponse; + blobDownloadStream; + /** + * Creates an instance of BlobQueryResponse. + * + * @param originalResponse - + * @param options - + */ + constructor(originalResponse, options = {}) { + this.originalResponse = originalResponse; + this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options); + } + }; + exports2.BlobQueryResponse = BlobQueryResponse; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/models.js +var require_models2 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0; + exports2.toAccessTier = toAccessTier; + exports2.ensureCpkIfSpecified = ensureCpkIfSpecified; + exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience; + var constants_js_1 = require_constants15(); + var BlockBlobTier; + (function(BlockBlobTier2) { + BlockBlobTier2["Hot"] = "Hot"; + BlockBlobTier2["Cool"] = "Cool"; + BlockBlobTier2["Cold"] = "Cold"; + BlockBlobTier2["Archive"] = "Archive"; + })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {})); + var PremiumPageBlobTier; + (function(PremiumPageBlobTier2) { + PremiumPageBlobTier2["P4"] = "P4"; + PremiumPageBlobTier2["P6"] = "P6"; + PremiumPageBlobTier2["P10"] = "P10"; + PremiumPageBlobTier2["P15"] = "P15"; + PremiumPageBlobTier2["P20"] = "P20"; + PremiumPageBlobTier2["P30"] = "P30"; + PremiumPageBlobTier2["P40"] = "P40"; + PremiumPageBlobTier2["P50"] = "P50"; + PremiumPageBlobTier2["P60"] = "P60"; + PremiumPageBlobTier2["P70"] = "P70"; + PremiumPageBlobTier2["P80"] = "P80"; + })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {})); + function toAccessTier(tier) { + if (tier === void 0) { + return void 0; + } + return tier; + } + function ensureCpkIfSpecified(cpk, isHttps) { + if (cpk && !isHttps) { + throw new RangeError("Customer-provided encryption key must be used over HTTPS."); + } + if (cpk && !cpk.encryptionAlgorithm) { + cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25; + } + } + var StorageBlobAudience; + (function(StorageBlobAudience2) { + StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default"; + StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default"; + })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {})); + function getBlobServiceAccountAudience(storageAccountName) { + return `https://${storageAccountName}.blob.core.windows.net/.default`; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js +var require_PageBlobRangeResponse = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.rangeResponseFromModel = rangeResponseFromModel; + function rangeResponseFromModel(response) { + const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({ + offset: x.start, + count: x.end - x.start + })); + const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({ + offset: x.start, + count: x.end - x.start + })); + return { + ...response, + pageRange, + clearRange, + _response: { + ...response._response, + parsedBody: { + pageRange, + clearRange + } + } + }; + } + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/logger.js +var require_logger2 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.logger = void 0; + var logger_1 = require_commonjs2(); + exports2.logger = (0, logger_1.createClientLogger)("core-lro"); + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js +var require_constants17 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0; + exports2.POLL_INTERVAL_IN_MS = 2e3; + exports2.terminalStates = ["succeeded", "canceled", "failed"]; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js +var require_operation = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0; + var logger_js_1 = require_logger2(); + var constants_js_1 = require_constants17(); + function deserializeState(serializedState) { + try { + return JSON.parse(serializedState).state; + } catch (e) { + throw new Error(`Unable to deserialize input state: ${serializedState}`); + } + } + exports2.deserializeState = deserializeState; + function setStateError(inputs) { + const { state, stateProxy, isOperationError } = inputs; + return (error3) => { + if (isOperationError(error3)) { + stateProxy.setError(state, error3); + stateProxy.setFailed(state); + } + throw error3; + }; + } + function appendReadableErrorMessage(currentMessage, innerMessage) { + let message = currentMessage; + if (message.slice(-1) !== ".") { + message = message + "."; + } + return message + " " + innerMessage; + } + function simplifyError(err) { + let message = err.message; + let code = err.code; + let curErr = err; + while (curErr.innererror) { + curErr = curErr.innererror; + code = curErr.code; + message = appendReadableErrorMessage(message, curErr.message); + } + return { + code, + message + }; + } + function processOperationStatus(result) { + const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result; + switch (status) { + case "succeeded": { + stateProxy.setSucceeded(state); + break; + } + case "failed": { + const err = getError === null || getError === void 0 ? void 0 : getError(response); + let postfix = ""; + if (err) { + const { code, message } = simplifyError(err); + postfix = `. ${code}. ${message}`; + } + const errStr = `The long-running operation has failed${postfix}`; + stateProxy.setError(state, new Error(errStr)); + stateProxy.setFailed(state); + logger_js_1.logger.warning(errStr); + break; + } + case "canceled": { + stateProxy.setCanceled(state); + break; + } + } + if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) { + stateProxy.setResult(state, buildResult({ + response, + state, + processResult + })); + } + } + function buildResult(inputs) { + const { processResult, response, state } = inputs; + return processResult ? processResult(response, state) : response; + } + async function initOperation(inputs) { + const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs; + const { operationLocation, resourceLocation, metadata, response } = await init(); + if (operationLocation) + withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false); + const config = { + metadata, + operationLocation, + resourceLocation + }; + logger_js_1.logger.verbose(`LRO: Operation description:`, config); + const state = stateProxy.initState(config); + const status = getOperationStatus({ response, state, operationLocation }); + processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult }); + return state; + } + exports2.initOperation = initOperation; + async function pollOperationHelper(inputs) { + const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs; + const response = await poll(operationLocation, options).catch(setStateError({ + state, + stateProxy, + isOperationError + })); + const status = getOperationStatus(response, state); + logger_js_1.logger.verbose(`LRO: Status: + Polling from: ${state.config.operationLocation} + Operation status: ${status} + Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`); + if (status === "succeeded") { + const resourceLocation = getResourceLocation(response, state); + if (resourceLocation !== void 0) { + return { + response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })), + status + }; + } + } + return { response, status }; + } + async function pollOperation(inputs) { + const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs; + const { operationLocation } = state.config; + if (operationLocation !== void 0) { + const { response, status } = await pollOperationHelper({ + poll, + getOperationStatus, + state, + stateProxy, + operationLocation, + getResourceLocation, + isOperationError, + options + }); + processOperationStatus({ + status, + response, + state, + stateProxy, + isDone, + processResult, + getError, + setErrorAsResult + }); + if (!constants_js_1.terminalStates.includes(status)) { + const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response); + if (intervalInMs) + setDelay(intervalInMs); + const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state); + if (location !== void 0) { + const isUpdated = operationLocation !== location; + state.config.operationLocation = location; + withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated); + } else + withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false); + } + updateState === null || updateState === void 0 ? void 0 : updateState(state, response); + } + } + exports2.pollOperation = pollOperation; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/http/operation.js +var require_operation2 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0; + var operation_js_1 = require_operation(); + var logger_js_1 = require_logger2(); + function getOperationLocationPollingUrl(inputs) { + const { azureAsyncOperation, operationLocation } = inputs; + return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation; + } + function getLocationHeader(rawResponse) { + return rawResponse.headers["location"]; + } + function getOperationLocationHeader(rawResponse) { + return rawResponse.headers["operation-location"]; + } + function getAzureAsyncOperationHeader(rawResponse) { + return rawResponse.headers["azure-asyncoperation"]; + } + function findResourceLocation(inputs) { + var _a; + const { location, requestMethod, requestPath, resourceLocationConfig } = inputs; + switch (requestMethod) { + case "PUT": { + return requestPath; + } + case "DELETE": { + return void 0; + } + case "PATCH": { + return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath; + } + default: { + return getDefault(); + } + } + function getDefault() { + switch (resourceLocationConfig) { + case "azure-async-operation": { + return void 0; + } + case "original-uri": { + return requestPath; + } + case "location": + default: { + return location; + } + } + } + } + function inferLroMode(inputs) { + const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs; + const operationLocation = getOperationLocationHeader(rawResponse); + const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse); + const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation }); + const location = getLocationHeader(rawResponse); + const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase(); + if (pollingUrl !== void 0) { + return { + mode: "OperationLocation", + operationLocation: pollingUrl, + resourceLocation: findResourceLocation({ + requestMethod: normalizedRequestMethod, + location, + requestPath, + resourceLocationConfig + }) + }; + } else if (location !== void 0) { + return { + mode: "ResourceLocation", + operationLocation: location + }; + } else if (normalizedRequestMethod === "PUT" && requestPath) { + return { + mode: "Body", + operationLocation: requestPath + }; + } else { + return void 0; + } + } + exports2.inferLroMode = inferLroMode; + function transformStatus(inputs) { + const { status, statusCode } = inputs; + if (typeof status !== "string" && status !== void 0) { + throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`); + } + switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) { + case void 0: + return toOperationStatus(statusCode); + case "succeeded": + return "succeeded"; + case "failed": + return "failed"; + case "running": + case "accepted": + case "started": + case "canceling": + case "cancelling": + return "running"; + case "canceled": + case "cancelled": + return "canceled"; + default: { + logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`); + return status; + } + } + } + function getStatus(rawResponse) { + var _a; + const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {}; + return transformStatus({ status, statusCode: rawResponse.statusCode }); + } + function getProvisioningState(rawResponse) { + var _a, _b; + const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {}; + const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState; + return transformStatus({ status, statusCode: rawResponse.statusCode }); + } + function toOperationStatus(statusCode) { + if (statusCode === 202) { + return "running"; + } else if (statusCode < 300) { + return "succeeded"; + } else { + return "failed"; + } + } + function parseRetryAfter({ rawResponse }) { + const retryAfter = rawResponse.headers["retry-after"]; + if (retryAfter !== void 0) { + const retryAfterInSeconds = parseInt(retryAfter); + return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3; + } + return void 0; + } + exports2.parseRetryAfter = parseRetryAfter; + function getErrorFromResponse(response) { + const error3 = accessBodyProperty(response, "error"); + if (!error3) { + logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`); + return; + } + if (!error3.code || !error3.message) { + logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`); + return; + } + return error3; + } + exports2.getErrorFromResponse = getErrorFromResponse; + function calculatePollingIntervalFromDate(retryAfterDate) { + const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime()); + const retryAfterTime = retryAfterDate.getTime(); + if (timeNow < retryAfterTime) { + return retryAfterTime - timeNow; + } + return void 0; + } + function getStatusFromInitialResponse(inputs) { + const { response, state, operationLocation } = inputs; + function helper() { + var _a; + const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; + switch (mode) { + case void 0: + return toOperationStatus(response.rawResponse.statusCode); + case "Body": + return getOperationStatus(response, state); + default: + return "running"; + } + } + const status = helper(); + return status === "running" && operationLocation === void 0 ? "succeeded" : status; + } + exports2.getStatusFromInitialResponse = getStatusFromInitialResponse; + async function initHttpOperation(inputs) { + const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs; + return (0, operation_js_1.initOperation)({ + init: async () => { + const response = await lro.sendInitialRequest(); + const config = inferLroMode({ + rawResponse: response.rawResponse, + requestPath: lro.requestPath, + requestMethod: lro.requestMethod, + resourceLocationConfig + }); + return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {}); + }, + stateProxy, + processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse, + getOperationStatus: getStatusFromInitialResponse, + setErrorAsResult + }); + } + exports2.initHttpOperation = initHttpOperation; + function getOperationLocation({ rawResponse }, state) { + var _a; + const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; + switch (mode) { + case "OperationLocation": { + return getOperationLocationPollingUrl({ + operationLocation: getOperationLocationHeader(rawResponse), + azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse) + }); + } + case "ResourceLocation": { + return getLocationHeader(rawResponse); + } + case "Body": + default: { + return void 0; + } + } + } + exports2.getOperationLocation = getOperationLocation; + function getOperationStatus({ rawResponse }, state) { + var _a; + const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; + switch (mode) { + case "OperationLocation": { + return getStatus(rawResponse); + } + case "ResourceLocation": { + return toOperationStatus(rawResponse.statusCode); + } + case "Body": { + return getProvisioningState(rawResponse); + } + default: + throw new Error(`Internal error: Unexpected operation mode: ${mode}`); + } + } + exports2.getOperationStatus = getOperationStatus; + function accessBodyProperty({ flatResponse, rawResponse }, prop) { + var _a, _b; + return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop]; + } + function getResourceLocation(res, state) { + const loc = accessBodyProperty(res, "resourceLocation"); + if (loc && typeof loc === "string") { + state.config.resourceLocation = loc; + } + return state.config.resourceLocation; + } + exports2.getResourceLocation = getResourceLocation; + function isOperationError(e) { + return e.name === "RestError"; + } + exports2.isOperationError = isOperationError; + async function pollHttpOperation(inputs) { + const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs; + return (0, operation_js_1.pollOperation)({ + state, + stateProxy, + setDelay, + processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse, + getError: getErrorFromResponse, + updateState, + getPollingInterval: parseRetryAfter, + getOperationLocation, + getOperationStatus, + isOperationError, + getResourceLocation, + options, + /** + * The expansion here is intentional because `lro` could be an object that + * references an inner this, so we need to preserve a reference to it. + */ + poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions), + setErrorAsResult + }); + } + exports2.pollHttpOperation = pollHttpOperation; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js +var require_poller = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.buildCreatePoller = void 0; + var operation_js_1 = require_operation(); + var constants_js_1 = require_constants17(); + var core_util_1 = require_commonjs4(); + var createStateProxy = () => ({ + /** + * The state at this point is created to be of type OperationState. + * It will be updated later to be of type TState when the + * customer-provided callback, `updateState`, is called during polling. + */ + initState: (config) => ({ status: "running", config }), + setCanceled: (state) => state.status = "canceled", + setError: (state, error3) => state.error = error3, + setResult: (state, result) => state.result = result, + setRunning: (state) => state.status = "running", + setSucceeded: (state) => state.status = "succeeded", + setFailed: (state) => state.status = "failed", + getError: (state) => state.error, + getResult: (state) => state.result, + isCanceled: (state) => state.status === "canceled", + isFailed: (state) => state.status === "failed", + isRunning: (state) => state.status === "running", + isSucceeded: (state) => state.status === "succeeded" + }); + function buildCreatePoller(inputs) { + const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs; + return async ({ init, poll }, options) => { + const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {}; + const stateProxy = createStateProxy(); + const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => { + let called = false; + return (operationLocation, isUpdated) => { + if (isUpdated) + withOperationLocationCallback(operationLocation); + else if (!called) + withOperationLocationCallback(operationLocation); + called = true; + }; + })() : void 0; + const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({ + init, + stateProxy, + processResult, + getOperationStatus: getStatusFromInitialResponse, + withOperationLocation, + setErrorAsResult: !resolveOnUnsuccessful + }); + let resultPromise; + const abortController = new AbortController(); + const handlers = /* @__PURE__ */ new Map(); + const handleProgressEvents = async () => handlers.forEach((h) => h(state)); + const cancelErrMsg = "Operation was canceled"; + let currentPollIntervalInMs = intervalInMs; + const poller = { + getOperationState: () => state, + getResult: () => state.result, + isDone: () => ["succeeded", "failed", "canceled"].includes(state.status), + isStopped: () => resultPromise === void 0, + stopPolling: () => { + abortController.abort(); + }, + toString: () => JSON.stringify({ + state + }), + onProgress: (callback) => { + const s = /* @__PURE__ */ Symbol(); + handlers.set(s, callback); + return () => handlers.delete(s); + }, + pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => { + const { abortSignal: inputAbortSignal } = pollOptions || {}; + function abortListener() { + abortController.abort(); + } + const abortSignal = abortController.signal; + if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) { + abortController.abort(); + } else if (!abortSignal.aborted) { + inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true }); + } + try { + if (!poller.isDone()) { + await poller.poll({ abortSignal }); + while (!poller.isDone()) { + await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal }); + await poller.poll({ abortSignal }); + } + } + } finally { + inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener); + } + if (resolveOnUnsuccessful) { + return poller.getResult(); + } else { + switch (state.status) { + case "succeeded": + return poller.getResult(); + case "canceled": + throw new Error(cancelErrMsg); + case "failed": + throw state.error; + case "notStarted": + case "running": + throw new Error(`Polling completed without succeeding or failing`); + } + } + })().finally(() => { + resultPromise = void 0; + }), + async poll(pollOptions) { + if (resolveOnUnsuccessful) { + if (poller.isDone()) + return; + } else { + switch (state.status) { + case "succeeded": + return; + case "canceled": + throw new Error(cancelErrMsg); + case "failed": + throw state.error; + } + } + await (0, operation_js_1.pollOperation)({ + poll, + state, + stateProxy, + getOperationLocation, + isOperationError, + withOperationLocation, + getPollingInterval, + getOperationStatus: getStatusFromPollResponse, + getResourceLocation, + processResult, + getError, + updateState, + options: pollOptions, + setDelay: (pollIntervalInMs) => { + currentPollIntervalInMs = pollIntervalInMs; + }, + setErrorAsResult: !resolveOnUnsuccessful + }); + await handleProgressEvents(); + if (!resolveOnUnsuccessful) { + switch (state.status) { + case "canceled": + throw new Error(cancelErrMsg); + case "failed": + throw state.error; + } + } + } + }; + return poller; + }; + } + exports2.buildCreatePoller = buildCreatePoller; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/http/poller.js +var require_poller2 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.createHttpPoller = void 0; + var operation_js_1 = require_operation2(); + var poller_js_1 = require_poller(); + async function createHttpPoller(lro, options) { + const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {}; + return (0, poller_js_1.buildCreatePoller)({ + getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse, + getStatusFromPollResponse: operation_js_1.getOperationStatus, + isOperationError: operation_js_1.isOperationError, + getOperationLocation: operation_js_1.getOperationLocation, + getResourceLocation: operation_js_1.getResourceLocation, + getPollingInterval: operation_js_1.parseRetryAfter, + getError: operation_js_1.getErrorFromResponse, + resolveOnUnsuccessful + })({ + init: async () => { + const response = await lro.sendInitialRequest(); + const config = (0, operation_js_1.inferLroMode)({ + rawResponse: response.rawResponse, + requestPath: lro.requestPath, + requestMethod: lro.requestMethod, + resourceLocationConfig + }); + return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {}); + }, + poll: lro.sendPollRequest + }, { + intervalInMs, + withOperationLocation, + restoreFrom, + updateState, + processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse + }); + } + exports2.createHttpPoller = createHttpPoller; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js +var require_operation3 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.GenericPollOperation = void 0; + var operation_js_1 = require_operation2(); + var logger_js_1 = require_logger2(); + var createStateProxy = () => ({ + initState: (config) => ({ config, isStarted: true }), + setCanceled: (state) => state.isCancelled = true, + setError: (state, error3) => state.error = error3, + setResult: (state, result) => state.result = result, + setRunning: (state) => state.isStarted = true, + setSucceeded: (state) => state.isCompleted = true, + setFailed: () => { + }, + getError: (state) => state.error, + getResult: (state) => state.result, + isCanceled: (state) => !!state.isCancelled, + isFailed: (state) => !!state.error, + isRunning: (state) => !!state.isStarted, + isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error) + }); + var GenericPollOperation = class { + constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) { + this.state = state; + this.lro = lro; + this.setErrorAsResult = setErrorAsResult; + this.lroResourceLocationConfig = lroResourceLocationConfig; + this.processResult = processResult; + this.updateState = updateState; + this.isDone = isDone; + } + setPollerConfig(pollerConfig) { + this.pollerConfig = pollerConfig; + } + async update(options) { + var _a; + const stateProxy = createStateProxy(); + if (!this.state.isStarted) { + this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({ + lro: this.lro, + stateProxy, + resourceLocationConfig: this.lroResourceLocationConfig, + processResult: this.processResult, + setErrorAsResult: this.setErrorAsResult + })); + } + const updateState = this.updateState; + const isDone = this.isDone; + if (!this.state.isCompleted && this.state.error === void 0) { + await (0, operation_js_1.pollHttpOperation)({ + lro: this.lro, + state: this.state, + stateProxy, + processResult: this.processResult, + updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0, + isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0, + options, + setDelay: (intervalInMs) => { + this.pollerConfig.intervalInMs = intervalInMs; + }, + setErrorAsResult: this.setErrorAsResult + }); + } + (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state); + return this; + } + async cancel() { + logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented"); + return this; + } + /** + * Serializes the Poller operation. + */ + toString() { + return JSON.stringify({ + state: this.state + }); + } + }; + exports2.GenericPollOperation = GenericPollOperation; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js +var require_poller3 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0; + var PollerStoppedError = class _PollerStoppedError extends Error { + constructor(message) { + super(message); + this.name = "PollerStoppedError"; + Object.setPrototypeOf(this, _PollerStoppedError.prototype); + } + }; + exports2.PollerStoppedError = PollerStoppedError; + var PollerCancelledError = class _PollerCancelledError extends Error { + constructor(message) { + super(message); + this.name = "PollerCancelledError"; + Object.setPrototypeOf(this, _PollerCancelledError.prototype); + } + }; + exports2.PollerCancelledError = PollerCancelledError; + var Poller = class { + /** + * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`. + * + * When writing an implementation of a Poller, this implementation needs to deal with the initialization + * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's + * operation has already been defined, at least its basic properties. The code below shows how to approach + * the definition of the constructor of a new custom poller. + * + * ```ts + * export class MyPoller extends Poller { + * constructor({ + * // Anything you might need outside of the basics + * }) { + * let state: MyOperationState = { + * privateProperty: private, + * publicProperty: public, + * }; + * + * const operation = { + * state, + * update, + * cancel, + * toString + * } + * + * // Sending the operation to the parent's constructor. + * super(operation); + * + * // You can assign more local properties here. + * } + * } + * ``` + * + * Inside of this constructor, a new promise is created. This will be used to + * tell the user when the poller finishes (see `pollUntilDone()`). The promise's + * resolve and reject methods are also used internally to control when to resolve + * or reject anyone waiting for the poller to finish. + * + * The constructor of a custom implementation of a poller is where any serialized version of + * a previous poller's operation should be deserialized into the operation sent to the + * base constructor. For example: + * + * ```ts + * export class MyPoller extends Poller { + * constructor( + * baseOperation: string | undefined + * ) { + * let state: MyOperationState = {}; + * if (baseOperation) { + * state = { + * ...JSON.parse(baseOperation).state, + * ...state + * }; + * } + * const operation = { + * state, + * // ... + * } + * super(operation); + * } + * } + * ``` + * + * @param operation - Must contain the basic properties of `PollOperation`. + */ + constructor(operation) { + this.resolveOnUnsuccessful = false; + this.stopped = true; + this.pollProgressCallbacks = []; + this.operation = operation; + this.promise = new Promise((resolve5, reject) => { + this.resolve = resolve5; + this.reject = reject; + }); + this.promise.catch(() => { + }); + } + /** + * Starts a loop that will break only if the poller is done + * or if the poller is stopped. + */ + async startPolling(pollOptions = {}) { + if (this.stopped) { + this.stopped = false; + } + while (!this.isStopped() && !this.isDone()) { + await this.poll(pollOptions); + await this.delay(); + } + } + /** + * pollOnce does one polling, by calling to the update method of the underlying + * poll operation to make any relevant change effective. + * + * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike. + * + * @param options - Optional properties passed to the operation's update method. + */ + async pollOnce(options = {}) { + if (!this.isDone()) { + this.operation = await this.operation.update({ + abortSignal: options.abortSignal, + fireProgress: this.fireProgress.bind(this) + }); + } + this.processUpdatedState(); + } + /** + * fireProgress calls the functions passed in via onProgress the method of the poller. + * + * It loops over all of the callbacks received from onProgress, and executes them, sending them + * the current operation state. + * + * @param state - The current operation state. + */ + fireProgress(state) { + for (const callback of this.pollProgressCallbacks) { + callback(state); + } + } + /** + * Invokes the underlying operation's cancel method. + */ + async cancelOnce(options = {}) { + this.operation = await this.operation.cancel(options); + } + /** + * Returns a promise that will resolve once a single polling request finishes. + * It does this by calling the update method of the Poller's operation. + * + * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike. + * + * @param options - Optional properties passed to the operation's update method. + */ + poll(options = {}) { + if (!this.pollOncePromise) { + this.pollOncePromise = this.pollOnce(options); + const clearPollOncePromise = () => { + this.pollOncePromise = void 0; + }; + this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject); + } + return this.pollOncePromise; + } + processUpdatedState() { + if (this.operation.state.error) { + this.stopped = true; + if (!this.resolveOnUnsuccessful) { + this.reject(this.operation.state.error); + throw this.operation.state.error; + } + } + if (this.operation.state.isCancelled) { + this.stopped = true; + if (!this.resolveOnUnsuccessful) { + const error3 = new PollerCancelledError("Operation was canceled"); + this.reject(error3); + throw error3; + } + } + if (this.isDone() && this.resolve) { + this.resolve(this.getResult()); + } + } + /** + * Returns a promise that will resolve once the underlying operation is completed. + */ + async pollUntilDone(pollOptions = {}) { + if (this.stopped) { + this.startPolling(pollOptions).catch(this.reject); + } + this.processUpdatedState(); + return this.promise; + } + /** + * Invokes the provided callback after each polling is completed, + * sending the current state of the poller's operation. + * + * It returns a method that can be used to stop receiving updates on the given callback function. + */ + onProgress(callback) { + this.pollProgressCallbacks.push(callback); + return () => { + this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback); + }; + } + /** + * Returns true if the poller has finished polling. + */ + isDone() { + const state = this.operation.state; + return Boolean(state.isCompleted || state.isCancelled || state.error); + } + /** + * Stops the poller from continuing to poll. + */ + stopPolling() { + if (!this.stopped) { + this.stopped = true; + if (this.reject) { + this.reject(new PollerStoppedError("This poller is already stopped")); + } + } + } + /** + * Returns true if the poller is stopped. + */ + isStopped() { + return this.stopped; + } + /** + * Attempts to cancel the underlying operation. + * + * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike. + * + * If it's called again before it finishes, it will throw an error. + * + * @param options - Optional properties passed to the operation's update method. + */ + cancelOperation(options = {}) { + if (!this.cancelPromise) { + this.cancelPromise = this.cancelOnce(options); + } else if (options.abortSignal) { + throw new Error("A cancel request is currently pending"); + } + return this.cancelPromise; + } + /** + * Returns the state of the operation. + * + * Even though TState will be the same type inside any of the methods of any extension of the Poller class, + * implementations of the pollers can customize what's shared with the public by writing their own + * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller + * and a public type representing a safe to share subset of the properties of the internal state. + * Their definition of getOperationState can then return their public type. + * + * Example: + * + * ```ts + * // Let's say we have our poller's operation state defined as: + * interface MyOperationState extends PollOperationState { + * privateProperty?: string; + * publicProperty?: string; + * } + * + * // To allow us to have a true separation of public and private state, we have to define another interface: + * interface PublicState extends PollOperationState { + * publicProperty?: string; + * } + * + * // Then, we define our Poller as follows: + * export class MyPoller extends Poller { + * // ... More content is needed here ... + * + * public getOperationState(): PublicState { + * const state: PublicState = this.operation.state; + * return { + * // Properties from PollOperationState + * isStarted: state.isStarted, + * isCompleted: state.isCompleted, + * isCancelled: state.isCancelled, + * error: state.error, + * result: state.result, + * + * // The only other property needed by PublicState. + * publicProperty: state.publicProperty + * } + * } + * } + * ``` + * + * You can see this in the tests of this repository, go to the file: + * `../test/utils/testPoller.ts` + * and look for the getOperationState implementation. + */ + getOperationState() { + return this.operation.state; + } + /** + * Returns the result value of the operation, + * regardless of the state of the poller. + * It can return undefined or an incomplete form of the final TResult value + * depending on the implementation. + */ + getResult() { + const state = this.operation.state; + return state.result; + } + /** + * Returns a serialized version of the poller's operation + * by invoking the operation's toString method. + */ + toString() { + return this.operation.toString(); + } + }; + exports2.Poller = Poller; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js +var require_lroEngine = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.LroEngine = void 0; + var operation_js_1 = require_operation3(); + var constants_js_1 = require_constants17(); + var poller_js_1 = require_poller3(); + var operation_js_2 = require_operation(); + var LroEngine = class extends poller_js_1.Poller { + constructor(lro, options) { + const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {}; + const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {}; + const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone); + super(operation); + this.resolveOnUnsuccessful = resolveOnUnsuccessful; + this.config = { intervalInMs }; + operation.setPollerConfig(this.config); + } + /** + * The method used by the poller to wait before attempting to update its operation. + */ + delay() { + return new Promise((resolve5) => setTimeout(() => resolve5(), this.config.intervalInMs)); + } + }; + exports2.LroEngine = LroEngine; + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js +var require_lroEngine2 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.LroEngine = void 0; + var lroEngine_js_1 = require_lroEngine(); + Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() { + return lroEngine_js_1.LroEngine; + } }); + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js +var require_pollOperation = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/core-lro/dist/commonjs/index.js +var require_commonjs14 = __commonJS({ + "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.createHttpPoller = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var poller_js_1 = require_poller2(); + Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() { + return poller_js_1.createHttpPoller; + } }); + tslib_1.__exportStar(require_lroEngine2(), exports2); + tslib_1.__exportStar(require_poller3(), exports2); + tslib_1.__exportStar(require_pollOperation(), exports2); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js +var require_BlobStartCopyFromUrlPoller = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobBeginCopyFromUrlPoller = void 0; + var core_util_1 = require_commonjs4(); + var core_lro_1 = require_commonjs14(); + var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller { + intervalInMs; + constructor(options) { + const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options; + let state; + if (resumeFrom) { + state = JSON.parse(resumeFrom).state; + } + const operation = makeBlobBeginCopyFromURLPollOperation({ + ...state, + blobClient, + copySource, + startCopyFromURLOptions + }); + super(operation); + if (typeof onProgress === "function") { + this.onProgress(onProgress); + } + this.intervalInMs = intervalInMs; + } + delay() { + return (0, core_util_1.delay)(this.intervalInMs); + } + }; + exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller; + var cancel = async function cancel2(options = {}) { + const state = this.state; + const { copyId } = state; + if (state.isCompleted) { + return makeBlobBeginCopyFromURLPollOperation(state); + } + if (!copyId) { + state.isCancelled = true; + return makeBlobBeginCopyFromURLPollOperation(state); + } + await state.blobClient.abortCopyFromURL(copyId, { + abortSignal: options.abortSignal + }); + state.isCancelled = true; + return makeBlobBeginCopyFromURLPollOperation(state); + }; + var update = async function update2(options = {}) { + const state = this.state; + const { blobClient, copySource, startCopyFromURLOptions } = state; + if (!state.isStarted) { + state.isStarted = true; + const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions); + state.copyId = result.copyId; + if (result.copyStatus === "success") { + state.result = result; + state.isCompleted = true; + } + } else if (!state.isCompleted) { + try { + const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal }); + const { copyStatus, copyProgress } = result; + const prevCopyProgress = state.copyProgress; + if (copyProgress) { + state.copyProgress = copyProgress; + } + if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") { + options.fireProgress(state); + } else if (copyStatus === "success") { + state.result = result; + state.isCompleted = true; + } else if (copyStatus === "failed") { + state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`); + state.isCompleted = true; + } + } catch (err) { + state.error = err; + state.isCompleted = true; + } + } + return makeBlobBeginCopyFromURLPollOperation(state); + }; + var toString2 = function toString3() { + return JSON.stringify({ state: this.state }, (key, value) => { + if (key === "blobClient") { + return void 0; + } + return value; + }); + }; + function makeBlobBeginCopyFromURLPollOperation(state) { + return { + state: { ...state }, + cancel, + toString: toString2, + update + }; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/Range.js +var require_Range = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.rangeToString = rangeToString; + function rangeToString(iRange) { + if (iRange.offset < 0) { + throw new RangeError(`Range.offset cannot be smaller than 0.`); + } + if (iRange.count && iRange.count <= 0) { + throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`); + } + return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js +var require_Batch = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.Batch = void 0; + var events_1 = require("events"); + var BatchStates; + (function(BatchStates2) { + BatchStates2[BatchStates2["Good"] = 0] = "Good"; + BatchStates2[BatchStates2["Error"] = 1] = "Error"; + })(BatchStates || (BatchStates = {})); + var Batch = class { + /** + * Concurrency. Must be lager than 0. + */ + concurrency; + /** + * Number of active operations under execution. + */ + actives = 0; + /** + * Number of completed operations under execution. + */ + completed = 0; + /** + * Offset of next operation to be executed. + */ + offset = 0; + /** + * Operation array to be executed. + */ + operations = []; + /** + * States of Batch. When an error happens, state will turn into error. + * Batch will stop execute left operations. + */ + state = BatchStates.Good; + /** + * A private emitter used to pass events inside this class. + */ + emitter; + /** + * Creates an instance of Batch. + * @param concurrency - + */ + constructor(concurrency = 5) { + if (concurrency < 1) { + throw new RangeError("concurrency must be larger than 0"); + } + this.concurrency = concurrency; + this.emitter = new events_1.EventEmitter(); + } + /** + * Add a operation into queue. + * + * @param operation - + */ + addOperation(operation) { + this.operations.push(async () => { + try { + this.actives++; + await operation(); + this.actives--; + this.completed++; + this.parallelExecute(); + } catch (error3) { + this.emitter.emit("error", error3); + } + }); + } + /** + * Start execute operations in the queue. + * + */ + async do() { + if (this.operations.length === 0) { + return Promise.resolve(); + } + this.parallelExecute(); + return new Promise((resolve5, reject) => { + this.emitter.on("finish", resolve5); + this.emitter.on("error", (error3) => { + this.state = BatchStates.Error; + reject(error3); + }); + }); + } + /** + * Get next operation to be executed. Return null when reaching ends. + * + */ + nextOperation() { + if (this.offset < this.operations.length) { + return this.operations[this.offset++]; + } + return null; + } + /** + * Start execute operations. One one the most important difference between + * this method with do() is that do() wraps as an sync method. + * + */ + parallelExecute() { + if (this.state === BatchStates.Error) { + return; + } + if (this.completed >= this.operations.length) { + this.emitter.emit("finish"); + return; + } + while (this.actives < this.concurrency) { + const operation = this.nextOperation(); + if (operation) { + operation(); + } else { + return; + } + } + } + }; + exports2.Batch = Batch; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js +var require_utils7 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.fsCreateReadStream = exports2.fsStat = void 0; + exports2.streamToBuffer = streamToBuffer; + exports2.streamToBuffer2 = streamToBuffer2; + exports2.streamToBuffer3 = streamToBuffer3; + exports2.readStreamToLocalFile = readStreamToLocalFile; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var node_fs_1 = tslib_1.__importDefault(require("node:fs")); + var node_util_1 = tslib_1.__importDefault(require("node:util")); + var constants_js_1 = require_constants15(); + async function streamToBuffer(stream, buffer, offset, end, encoding) { + let pos = 0; + const count = end - offset; + return new Promise((resolve5, reject) => { + const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT); + stream.on("readable", () => { + if (pos >= count) { + clearTimeout(timeout); + resolve5(); + return; + } + let chunk = stream.read(); + if (!chunk) { + return; + } + if (typeof chunk === "string") { + chunk = Buffer.from(chunk, encoding); + } + const chunkLength = pos + chunk.length > count ? count - pos : chunk.length; + buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength); + pos += chunkLength; + }); + stream.on("end", () => { + clearTimeout(timeout); + if (pos < count) { + reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`)); + } + resolve5(); + }); + stream.on("error", (msg) => { + clearTimeout(timeout); + reject(msg); + }); + }); + } + async function streamToBuffer2(stream, buffer, encoding) { + let pos = 0; + const bufferSize = buffer.length; + return new Promise((resolve5, reject) => { + stream.on("readable", () => { + let chunk = stream.read(); + if (!chunk) { + return; + } + if (typeof chunk === "string") { + chunk = Buffer.from(chunk, encoding); + } + if (pos + chunk.length > bufferSize) { + reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`)); + return; + } + buffer.fill(chunk, pos, pos + chunk.length); + pos += chunk.length; + }); + stream.on("end", () => { + resolve5(pos); + }); + stream.on("error", reject); + }); + } + async function streamToBuffer3(readableStream, encoding) { + return new Promise((resolve5, reject) => { + const chunks = []; + readableStream.on("data", (data) => { + chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data); + }); + readableStream.on("end", () => { + resolve5(Buffer.concat(chunks)); + }); + readableStream.on("error", reject); + }); + } + async function readStreamToLocalFile(rs, file) { + return new Promise((resolve5, reject) => { + const ws = node_fs_1.default.createWriteStream(file); + rs.on("error", (err) => { + reject(err); + }); + ws.on("error", (err) => { + reject(err); + }); + ws.on("close", resolve5); + rs.pipe(ws); + }); + } + exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat); + exports2.fsCreateReadStream = node_fs_1.default.createReadStream; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/Clients.js +var require_Clients = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0; + var core_rest_pipeline_1 = require_commonjs6(); + var core_auth_1 = require_commonjs7(); + var core_util_1 = require_commonjs4(); + var core_util_2 = require_commonjs4(); + var BlobDownloadResponse_js_1 = require_BlobDownloadResponse(); + var BlobQueryResponse_js_1 = require_BlobQueryResponse(); + var AnonymousCredential_js_1 = require_AnonymousCredential(); + var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); + var models_js_1 = require_models2(); + var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse(); + var Pipeline_js_1 = require_Pipeline(); + var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller(); + var Range_js_1 = require_Range(); + var StorageClient_js_1 = require_StorageClient(); + var Batch_js_1 = require_Batch(); + var storage_common_1 = require_commonjs13(); + var constants_js_1 = require_constants15(); + var tracing_js_1 = require_tracing(); + var utils_common_js_1 = require_utils_common(); + var utils_js_1 = require_utils7(); + var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues(); + var BlobLeaseClient_js_1 = require_BlobLeaseClient(); + var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient { + /** + * blobContext provided by protocol layer. + */ + blobContext; + _name; + _containerName; + _versionId; + _snapshot; + /** + * The name of the blob. + */ + get name() { + return this._name; + } + /** + * The name of the storage container the blob is associated with. + */ + get containerName() { + return this._containerName; + } + constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { + options = options || {}; + let pipeline; + let url; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + pipeline = credentialOrPipelineOrContainerName; + } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + options = blobNameOrOptions; + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); + } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { + url = urlOrConnectionString; + if (blobNameOrOptions && typeof blobNameOrOptions !== "string") { + options = blobNameOrOptions; + } + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { + const containerName = credentialOrPipelineOrContainerName; + const blobName = blobNameOrOptions; + const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); + if (extractedCreds.kind === "AccountConnString") { + if (core_util_1.isNodeLike) { + const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); + if (!options.proxyOptions) { + options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + } else { + throw new Error("Account connection string is only supported in Node.js environment"); + } + } else if (extractedCreds.kind === "SASConnString") { + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else { + throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + } + } else { + throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + } + super(url, pipeline); + ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl()); + this.blobContext = this.storageClientContext.blob; + this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT); + this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID); + } + /** + * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp. + * Provide "" will remove the snapshot and return a Client to the base blob. + * + * @param snapshot - The snapshot timestamp. + * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp + */ + withSnapshot(snapshot) { + return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + } + /** + * Creates a new BlobClient object pointing to a version of this blob. + * Provide "" will remove the versionId and return a Client to the base blob. + * + * @param versionId - The versionId. + * @returns A new BlobClient object pointing to the version of this blob. + */ + withVersion(versionId) { + return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline); + } + /** + * Creates a AppendBlobClient object. + * + */ + getAppendBlobClient() { + return new AppendBlobClient(this.url, this.pipeline); + } + /** + * Creates a BlockBlobClient object. + * + */ + getBlockBlobClient() { + return new BlockBlobClient(this.url, this.pipeline); + } + /** + * Creates a PageBlobClient object. + * + */ + getPageBlobClient() { + return new PageBlobClient(this.url, this.pipeline); + } + /** + * Reads or downloads a blob from the system, including its metadata and properties. + * You can also call Get Blob to read a snapshot. + * + * * In Node.js, data returns in a Readable stream readableStreamBody + * * In browsers, data returns in a promise blobBody + * + * @see https://learn.microsoft.com/rest/api/storageservices/get-blob + * + * @param offset - From which position of the blob to download, greater than or equal to 0 + * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined + * @param options - Optional options to Blob Download operation. + * + * + * Example usage (Node.js): + * + * ```ts snippet:ReadmeSampleDownloadBlob_Node + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blobClient = containerClient.getBlobClient(blobName); + * + * // Get blob content from position 0 to the end + * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody + * const downloadBlockBlobResponse = await blobClient.download(); + * if (downloadBlockBlobResponse.readableStreamBody) { + * const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody); + * console.log(`Downloaded blob content: ${downloaded}`); + * } + * + * async function streamToString(stream: NodeJS.ReadableStream): Promise { + * const result = await new Promise>((resolve, reject) => { + * const chunks: Buffer[] = []; + * stream.on("data", (data) => { + * chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data)); + * }); + * stream.on("end", () => { + * resolve(Buffer.concat(chunks)); + * }); + * stream.on("error", reject); + * }); + * return result.toString(); + * } + * ``` + * + * Example usage (browser): + * + * ```ts snippet:ReadmeSampleDownloadBlob_Browser + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blobClient = containerClient.getBlobClient(blobName); + * + * // Get blob content from position 0 to the end + * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody + * const downloadBlockBlobResponse = await blobClient.download(); + * const blobBody = await downloadBlockBlobResponse.blobBody; + * if (blobBody) { + * const downloaded = await blobBody.text(); + * console.log(`Downloaded blob content: ${downloaded}`); + * } + * ``` + */ + async download(offset = 0, count, options = {}) { + options.conditions = options.conditions || {}; + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => { + const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + requestOptions: { + onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress + // for Node.js, progress is reported by RetriableReadableStream + }, + range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }), + rangeGetContentMD5: options.rangeGetContentMD5, + rangeGetContentCRC64: options.rangeGetContentCrc64, + snapshot: options.snapshot, + cpkInfo: options.customerProvidedKey, + tracingOptions: updatedOptions.tracingOptions + })); + const wrappedRes = { + ...res, + _response: res._response, + // _response is made non-enumerable + objectReplicationDestinationPolicyId: res.objectReplicationPolicyId, + objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules) + }; + if (!core_util_1.isNodeLike) { + return wrappedRes; + } + if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) { + options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS; + } + if (res.contentLength === void 0) { + throw new RangeError(`File download response doesn't contain valid content length header`); + } + if (!res.etag) { + throw new RangeError(`File download response doesn't contain valid etag header`); + } + return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => { + const updatedDownloadOptions = { + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ifMatch: options.conditions.ifMatch || res.etag, + ifModifiedSince: options.conditions.ifModifiedSince, + ifNoneMatch: options.conditions.ifNoneMatch, + ifUnmodifiedSince: options.conditions.ifUnmodifiedSince, + ifTags: options.conditions?.tagConditions + }, + range: (0, Range_js_1.rangeToString)({ + count: offset + res.contentLength - start, + offset: start + }), + rangeGetContentMD5: options.rangeGetContentMD5, + rangeGetContentCRC64: options.rangeGetContentCrc64, + snapshot: options.snapshot, + cpkInfo: options.customerProvidedKey + }; + return (await this.blobContext.download({ + abortSignal: options.abortSignal, + ...updatedDownloadOptions + })).readableStreamBody; + }, offset, res.contentLength, { + maxRetryRequests: options.maxRetryRequests, + onProgress: options.onProgress + }); + }); + } + /** + * Returns true if the Azure blob resource represented by this client exists; false otherwise. + * + * NOTE: use this function with care since an existing blob might be deleted by other clients or + * applications. Vice versa new blobs might be added by other clients or applications after this + * function completes. + * + * @param options - options to Exists operation. + */ + async exists(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => { + try { + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + await this.getProperties({ + abortSignal: options.abortSignal, + customerProvidedKey: options.customerProvidedKey, + conditions: options.conditions, + tracingOptions: updatedOptions.tracingOptions + }); + return true; + } catch (e) { + if (e.statusCode === 404) { + return false; + } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) { + return true; + } + throw e; + } + }); + } + /** + * Returns all user-defined metadata, standard HTTP properties, and system properties + * for the blob. It does not return the content of the blob. + * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties + * + * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if + * they originally contained uppercase characters. This differs from the metadata keys returned by + * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which + * will retain their original casing. + * + * @param options - Optional options to Get Properties operation. + */ + async getProperties(options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => { + const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + tracingOptions: updatedOptions.tracingOptions + })); + return { + ...res, + _response: res._response, + // _response is made non-enumerable + objectReplicationDestinationPolicyId: res.objectReplicationPolicyId, + objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules) + }; + }); + } + /** + * Marks the specified blob or snapshot for deletion. The blob is later deleted + * during garbage collection. Note that in order to delete a blob, you must delete + * all of its snapshots. You can delete both at the same time with the Delete + * Blob operation. + * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob + * + * @param options - Optional options to Blob Delete operation. + */ + async delete(options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({ + abortSignal: options.abortSignal, + deleteSnapshots: options.deleteSnapshots, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted + * during garbage collection. Note that in order to delete a blob, you must delete + * all of its snapshots. You can delete both at the same time with the Delete + * Blob operation. + * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob + * + * @param options - Optional options to Blob Delete operation. + */ + async deleteIfExists(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => { + try { + const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions)); + return { + succeeded: true, + ...res, + _response: res._response + // _response is made non-enumerable + }; + } catch (e) { + if (e.details?.errorCode === "BlobNotFound") { + return { + succeeded: false, + ...e.response?.parsedHeaders, + _response: e.response + }; + } + throw e; + } + }); + } + /** + * Restores the contents and metadata of soft deleted blob and any associated + * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29 + * or later. + * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob + * + * @param options - Optional options to Blob Undelete operation. + */ + async undelete(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Sets system properties on the blob. + * + * If no value provided, or no value provided for the specified blob HTTP headers, + * these blob HTTP headers without a value will be cleared. + * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties + * + * @param blobHTTPHeaders - If no value provided, or no value provided for + * the specified blob HTTP headers, these blob HTTP + * headers without a value will be cleared. + * A common header to set is `blobContentType` + * enabling the browser to provide functionality + * based on file type. + * @param options - Optional options to Blob Set HTTP Headers operation. + */ + async setHTTPHeaders(blobHTTPHeaders, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({ + abortSignal: options.abortSignal, + blobHttpHeaders: blobHTTPHeaders, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger. + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Sets user-defined metadata for the specified blob as one or more name-value pairs. + * + * If no option provided, or no metadata defined in the parameter, the blob + * metadata will be removed. + * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata + * + * @param metadata - Replace existing metadata with this value. + * If no value provided the existing metadata will be removed. + * @param options - Optional options to Set Metadata operation. + */ + async setMetadata(metadata, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Sets tags on the underlying blob. + * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters. Tag values must be between 0 and 256 characters. + * Valid tag key and value characters include lower and upper case letters, digits (0-9), + * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_'). + * + * @param tags - + * @param options - + */ + async setTags(tags, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions, + tags: (0, utils_common_js_1.toBlobTags)(tags) + })); + }); + } + /** + * Gets the tags associated with the underlying blob. + * + * @param options - + */ + async getTags(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + const wrappedResponse = { + ...response, + _response: response._response, + // _response is made non-enumerable + tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {} + }; + return wrappedResponse; + }); + } + /** + * Get a {@link BlobLeaseClient} that manages leases on the blob. + * + * @param proposeLeaseId - Initial proposed lease Id. + * @returns A new BlobLeaseClient object for managing leases on the blob. + */ + getBlobLeaseClient(proposeLeaseId) { + return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId); + } + /** + * Creates a read-only snapshot of a blob. + * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob + * + * @param options - Optional options to the Blob Create Snapshot operation. + */ + async createSnapshot(options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + metadata: options.metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Asynchronously copies a blob to a destination within the storage account. + * This method returns a long running operation poller that allows you to wait + * indefinitely until the copy is completed. + * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller. + * Note that the onProgress callback will not be invoked if the operation completes in the first + * request, and attempting to cancel a completed copy will result in an error being thrown. + * + * In version 2012-02-12 and later, the source for a Copy Blob operation can be + * a committed blob in any Azure storage account. + * Beginning with version 2015-02-21, the source for a Copy Blob operation can be + * an Azure file in any Azure storage account. + * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob + * operation to copy from another storage account. + * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob + * + * ```ts snippet:ClientsBeginCopyFromURL + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blobClient = containerClient.getBlobClient(blobName); + * + * // Example using automatic polling + * const automaticCopyPoller = await blobClient.beginCopyFromURL("url"); + * const automaticResult = await automaticCopyPoller.pollUntilDone(); + * + * // Example using manual polling + * const manualCopyPoller = await blobClient.beginCopyFromURL("url"); + * while (!manualCopyPoller.isDone()) { + * await manualCopyPoller.poll(); + * } + * const manualResult = manualCopyPoller.getResult(); + * + * // Example using progress updates + * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", { + * onProgress(state) { + * console.log(`Progress: ${state.copyProgress}`); + * }, + * }); + * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone(); + * + * // Example using a changing polling interval (default 15 seconds) + * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", { + * intervalInMs: 1000, // poll blob every 1 second for copy progress + * }); + * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone(); + * + * // Example using copy cancellation: + * const cancelCopyPoller = await blobClient.beginCopyFromURL("url"); + * // cancel operation after starting it. + * try { + * await cancelCopyPoller.cancelOperation(); + * // calls to get the result now throw PollerCancelledError + * cancelCopyPoller.getResult(); + * } catch (err: any) { + * if (err.name === "PollerCancelledError") { + * console.log("The copy was cancelled."); + * } + * } + * ``` + * + * @param copySource - url to the source Azure Blob/File. + * @param options - Optional options to the Blob Start Copy From URL operation. + */ + async beginCopyFromURL(copySource, options = {}) { + const client = { + abortCopyFromURL: (...args) => this.abortCopyFromURL(...args), + getProperties: (...args) => this.getProperties(...args), + startCopyFromURL: (...args) => this.startCopyFromURL(...args) + }; + const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({ + blobClient: client, + copySource, + intervalInMs: options.intervalInMs, + onProgress: options.onProgress, + resumeFrom: options.resumeFrom, + startCopyFromURLOptions: options + }); + await poller.poll(); + return poller; + } + /** + * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero + * length and full metadata. Version 2012-02-12 and newer. + * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob + * + * @param copyId - Id of the Copy From URL operation. + * @param options - Optional options to the Blob Abort Copy From URL operation. + */ + async abortCopyFromURL(copyId, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not + * return a response until the copy is complete. + * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url + * + * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication + * @param options - + */ + async syncCopyFromURL(copySource, options = {}) { + options.conditions = options.conditions || {}; + options.sourceConditions = options.sourceConditions || {}; + return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, { + abortSignal: options.abortSignal, + metadata: options.metadata, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + sourceModifiedAccessConditions: { + sourceIfMatch: options.sourceConditions?.ifMatch, + sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, + sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, + sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince + }, + sourceContentMD5: options.sourceContentMD5, + copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), + tier: (0, models_js_1.toAccessTier)(options.tier), + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, + immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, + legalHold: options.legalHold, + encryptionScope: options.encryptionScope, + copySourceTags: options.copySourceTags, + fileRequestIntent: options.sourceShareTokenIntent, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Sets the tier on a blob. The operation is allowed on a page blob in a premium + * storage account and on a block blob in a blob storage account (locally redundant + * storage only). A premium page blob's tier determines the allowed size, IOPS, + * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive + * storage type. This operation does not update the blob's ETag. + * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier + * + * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive. + * @param options - Optional options to the Blob Set Tier operation. + */ + async setAccessTier(tier, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + rehydratePriority: options.rehydratePriority, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + async downloadToBuffer(param1, param2, param3, param4 = {}) { + let buffer; + let offset = 0; + let count = 0; + let options = param4; + if (param1 instanceof Buffer) { + buffer = param1; + offset = param2 || 0; + count = typeof param3 === "number" ? param3 : 0; + } else { + offset = typeof param1 === "number" ? param1 : 0; + count = typeof param2 === "number" ? param2 : 0; + options = param3 || {}; + } + let blockSize = options.blockSize ?? 0; + if (blockSize < 0) { + throw new RangeError("blockSize option must be >= 0"); + } + if (blockSize === 0) { + blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES; + } + if (offset < 0) { + throw new RangeError("offset option must be >= 0"); + } + if (count && count <= 0) { + throw new RangeError("count option must be greater than 0"); + } + if (!options.conditions) { + options.conditions = {}; + } + return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => { + if (!count) { + const response = await this.getProperties({ + ...options, + tracingOptions: updatedOptions.tracingOptions + }); + count = response.contentLength - offset; + if (count < 0) { + throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`); + } + } + if (!buffer) { + try { + buffer = Buffer.alloc(count); + } catch (error3) { + throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile". ${error3.message}`); + } + } + if (buffer.length < count) { + throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`); + } + let transferProgress = 0; + const batch = new Batch_js_1.Batch(options.concurrency); + for (let off = offset; off < offset + count; off = off + blockSize) { + batch.addOperation(async () => { + let chunkEnd = offset + count; + if (off + blockSize < chunkEnd) { + chunkEnd = off + blockSize; + } + const response = await this.download(off, chunkEnd - off, { + abortSignal: options.abortSignal, + conditions: options.conditions, + maxRetryRequests: options.maxRetryRequestsPerBlock, + customerProvidedKey: options.customerProvidedKey, + tracingOptions: updatedOptions.tracingOptions + }); + const stream = response.readableStreamBody; + await (0, utils_js_1.streamToBuffer)(stream, buffer, off - offset, chunkEnd - offset); + transferProgress += chunkEnd - off; + if (options.onProgress) { + options.onProgress({ loadedBytes: transferProgress }); + } + }); + } + await batch.do(); + return buffer; + }); + } + /** + * ONLY AVAILABLE IN NODE.JS RUNTIME. + * + * Downloads an Azure Blob to a local file. + * Fails if the the given file path already exits. + * Offset and count are optional, pass 0 and undefined respectively to download the entire blob. + * + * @param filePath - + * @param offset - From which position of the block blob to download. + * @param count - How much data to be downloaded. Will download to the end when passing undefined. + * @param options - Options to Blob download options. + * @returns The response data for blob download operation, + * but with readableStreamBody set to undefined since its + * content is already read and written into a local file + * at the specified path. + */ + async downloadToFile(filePath, offset = 0, count, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => { + const response = await this.download(offset, count, { + ...options, + tracingOptions: updatedOptions.tracingOptions + }); + if (response.readableStreamBody) { + await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath); + } + response.blobDownloadStream = void 0; + return response; + }); + } + getBlobAndContainerNamesFromUrl() { + let containerName; + let blobName; + try { + const parsedUrl = new URL(this.url); + if (parsedUrl.host.split(".")[1] === "blob") { + const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?"); + containerName = pathComponents[1]; + blobName = pathComponents[3]; + } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) { + const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?"); + containerName = pathComponents[2]; + blobName = pathComponents[4]; + } else { + const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?"); + containerName = pathComponents[1]; + blobName = pathComponents[3]; + } + containerName = decodeURIComponent(containerName); + blobName = decodeURIComponent(blobName); + blobName = blobName.replace(/\\/g, "/"); + if (!containerName) { + throw new Error("Provided containerName is invalid."); + } + return { blobName, containerName }; + } catch (error3) { + throw new Error("Unable to extract blobName and containerName with provided information."); + } + } + /** + * Asynchronously copies a blob to a destination within the storage account. + * In version 2012-02-12 and later, the source for a Copy Blob operation can be + * a committed blob in any Azure storage account. + * Beginning with version 2015-02-21, the source for a Copy Blob operation can be + * an Azure file in any Azure storage account. + * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob + * operation to copy from another storage account. + * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob + * + * @param copySource - url to the source Azure Blob/File. + * @param options - Optional options to the Blob Start Copy From URL operation. + */ + async startCopyFromURL(copySource, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => { + options.conditions = options.conditions || {}; + options.sourceConditions = options.sourceConditions || {}; + return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + metadata: options.metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + sourceModifiedAccessConditions: { + sourceIfMatch: options.sourceConditions.ifMatch, + sourceIfModifiedSince: options.sourceConditions.ifModifiedSince, + sourceIfNoneMatch: options.sourceConditions.ifNoneMatch, + sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince, + sourceIfTags: options.sourceConditions.tagConditions + }, + immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, + immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, + legalHold: options.legalHold, + rehydratePriority: options.rehydratePriority, + tier: (0, models_js_1.toAccessTier)(options.tier), + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + sealBlob: options.sealBlob, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Only available for BlobClient constructed with a shared key credential. + * + * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties + * and parameters passed in. The SAS is signed by the shared key credential of the client. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateSasUrl(options) { + return new Promise((resolve5) => { + if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { + throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); + } + const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ + containerName: this._containerName, + blobName: this._name, + snapshotTime: this._snapshot, + versionId: this._versionId, + ...options + }, this.credential).toString(); + resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + }); + } + /** + * Only available for BlobClient constructed with a shared key credential. + * + * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on + * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ + generateSasStringToSign(options) { + if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { + throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); + } + return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ + containerName: this._containerName, + blobName: this._name, + snapshotTime: this._snapshot, + versionId: this._versionId, + ...options + }, this.credential).stringToSign; + } + /** + * + * Generates a Blob Service Shared Access Signature (SAS) URI based on + * the client properties and parameters passed in. The SAS is signed by the input user delegation key. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateUserDelegationSasUrl(options, userDelegationKey) { + return new Promise((resolve5) => { + const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ + containerName: this._containerName, + blobName: this._name, + snapshotTime: this._snapshot, + versionId: this._versionId, + ...options + }, userDelegationKey, this.accountName).toString(); + resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + }); + } + /** + * Only available for BlobClient constructed with a shared key credential. + * + * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on + * the client properties and parameters passed in. The SAS is signed by the input user delegation key. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateUserDelegationSasStringToSign(options, userDelegationKey) { + return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ + containerName: this._containerName, + blobName: this._name, + snapshotTime: this._snapshot, + versionId: this._versionId, + ...options + }, userDelegationKey, this.accountName).stringToSign; + } + /** + * Delete the immutablility policy on the blob. + * + * @param options - Optional options to delete immutability policy on the blob. + */ + async deleteImmutabilityPolicy(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({ + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Set immutability policy on the blob. + * + * @param options - Optional options to set immutability policy on the blob. + */ + async setImmutabilityPolicy(immutabilityPolicy, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({ + immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn, + immutabilityPolicyMode: immutabilityPolicy.policyMode, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Set legal hold on the blob. + * + * @param options - Optional options to set legal hold on the blob. + */ + async setLegalHold(legalHoldEnabled, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, { + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The Get Account Information operation returns the sku name and account kind + * for the specified account. + * The Get Account Information operation is available on service versions beginning + * with version 2018-03-28. + * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information + * + * @param options - Options to the Service Get Account Info operation. + * @returns Response data for the Service Get Account Info operation. + */ + async getAccountInfo(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + }; + exports2.BlobClient = BlobClient; + var AppendBlobClient = class _AppendBlobClient extends BlobClient { + /** + * appendBlobsContext provided by protocol layer. + */ + appendBlobContext; + constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { + let pipeline; + let url; + options = options || {}; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + pipeline = credentialOrPipelineOrContainerName; + } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + options = blobNameOrOptions; + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); + } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { + url = urlOrConnectionString; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { + const containerName = credentialOrPipelineOrContainerName; + const blobName = blobNameOrOptions; + const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); + if (extractedCreds.kind === "AccountConnString") { + if (core_util_1.isNodeLike) { + const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); + if (!options.proxyOptions) { + options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + } else { + throw new Error("Account connection string is only supported in Node.js environment"); + } + } else if (extractedCreds.kind === "SASConnString") { + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else { + throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + } + } else { + throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + } + super(url, pipeline); + this.appendBlobContext = this.storageClientContext.appendBlob; + } + /** + * Creates a new AppendBlobClient object identical to the source but with the + * specified snapshot timestamp. + * Provide "" will remove the snapshot and return a Client to the base blob. + * + * @param snapshot - The snapshot timestamp. + * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp. + */ + withSnapshot(snapshot) { + return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + } + /** + * Creates a 0-length append blob. Call AppendBlock to append data to an append blob. + * @see https://learn.microsoft.com/rest/api/storageservices/put-blob + * + * @param options - Options to the Append Block Create operation. + * + * + * Example usage: + * + * ```ts snippet:ClientsCreateAppendBlob + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * + * const appendBlobClient = containerClient.getAppendBlobClient(blobName); + * await appendBlobClient.create(); + * ``` + */ + async create(options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, { + abortSignal: options.abortSignal, + blobHttpHeaders: options.blobHTTPHeaders, + leaseAccessConditions: options.conditions, + metadata: options.metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, + immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, + legalHold: options.legalHold, + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Creates a 0-length append blob. Call AppendBlock to append data to an append blob. + * If the blob with the same name already exists, the content of the existing blob will remain unchanged. + * @see https://learn.microsoft.com/rest/api/storageservices/put-blob + * + * @param options - + */ + async createIfNotExists(options = {}) { + const conditions = { ifNoneMatch: constants_js_1.ETagAny }; + return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => { + try { + const res = (0, utils_common_js_1.assertResponse)(await this.create({ + ...updatedOptions, + conditions + })); + return { + succeeded: true, + ...res, + _response: res._response + // _response is made non-enumerable + }; + } catch (e) { + if (e.details?.errorCode === "BlobAlreadyExists") { + return { + succeeded: false, + ...e.response?.parsedHeaders, + _response: e.response + }; + } + throw e; + } + }); + } + /** + * Seals the append blob, making it read only. + * + * @param options - + */ + async seal(options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({ + abortSignal: options.abortSignal, + appendPositionAccessConditions: options.conditions, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Commits a new block of data to the end of the existing append blob. + * @see https://learn.microsoft.com/rest/api/storageservices/append-block + * + * @param body - Data to be appended. + * @param contentLength - Length of the body in bytes. + * @param options - Options to the Append Block operation. + * + * + * Example usage: + * + * ```ts snippet:ClientsAppendBlock + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * + * const content = "Hello World!"; + * + * // Create a new append blob and append data to the blob. + * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName); + * await newAppendBlobClient.create(); + * await newAppendBlobClient.appendBlock(content, content.length); + * + * // Append data to an existing append blob. + * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName); + * await existingAppendBlobClient.appendBlock(content, content.length); + * ``` + */ + async appendBlock(body, contentLength, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, { + abortSignal: options.abortSignal, + appendPositionAccessConditions: options.conditions, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + requestOptions: { + onUploadProgress: options.onProgress + }, + transactionalContentMD5: options.transactionalContentMD5, + transactionalContentCrc64: options.transactionalContentCrc64, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The Append Block operation commits a new block of data to the end of an existing append blob + * where the contents are read from a source url. + * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url + * + * @param sourceURL - + * The url to the blob that will be the source of the copy. A source blob in the same storage account can + * be authenticated via Shared Key. However, if the source is a blob in another account, the source blob + * must either be public or must be authenticated via a shared access signature. If the source blob is + * public, no authentication is required to perform the operation. + * @param sourceOffset - Offset in source to be appended + * @param count - Number of bytes to be appended as a block + * @param options - + */ + async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) { + options.conditions = options.conditions || {}; + options.sourceConditions = options.sourceConditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, { + abortSignal: options.abortSignal, + sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), + sourceContentMD5: options.sourceContentMD5, + sourceContentCrc64: options.sourceContentCrc64, + leaseAccessConditions: options.conditions, + appendPositionAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + sourceModifiedAccessConditions: { + sourceIfMatch: options.sourceConditions?.ifMatch, + sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, + sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, + sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince + }, + copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + fileRequestIntent: options.sourceShareTokenIntent, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + }; + exports2.AppendBlobClient = AppendBlobClient; + var BlockBlobClient = class _BlockBlobClient extends BlobClient { + /** + * blobContext provided by protocol layer. + * + * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API + * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient. + */ + _blobContext; + /** + * blockBlobContext provided by protocol layer. + */ + blockBlobContext; + constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { + let pipeline; + let url; + options = options || {}; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + pipeline = credentialOrPipelineOrContainerName; + } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + options = blobNameOrOptions; + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); + } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { + url = urlOrConnectionString; + if (blobNameOrOptions && typeof blobNameOrOptions !== "string") { + options = blobNameOrOptions; + } + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { + const containerName = credentialOrPipelineOrContainerName; + const blobName = blobNameOrOptions; + const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); + if (extractedCreds.kind === "AccountConnString") { + if (core_util_1.isNodeLike) { + const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); + if (!options.proxyOptions) { + options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + } else { + throw new Error("Account connection string is only supported in Node.js environment"); + } + } else if (extractedCreds.kind === "SASConnString") { + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else { + throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + } + } else { + throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + } + super(url, pipeline); + this.blockBlobContext = this.storageClientContext.blockBlob; + this._blobContext = this.storageClientContext.blob; + } + /** + * Creates a new BlockBlobClient object identical to the source but with the + * specified snapshot timestamp. + * Provide "" will remove the snapshot and return a URL to the base blob. + * + * @param snapshot - The snapshot timestamp. + * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp. + */ + withSnapshot(snapshot) { + return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + } + /** + * ONLY AVAILABLE IN NODE.JS RUNTIME. + * + * Quick query for a JSON or CSV formatted blob. + * + * Example usage (Node.js): + * + * ```ts snippet:ClientsQuery + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blockBlobClient = containerClient.getBlockBlobClient(blobName); + * + * // Query and convert a blob to a string + * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage"); + * if (queryBlockBlobResponse.readableStreamBody) { + * const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody); + * const downloaded = downloadedBuffer.toString(); + * console.log(`Query blob content: ${downloaded}`); + * } + * + * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise { + * return new Promise((resolve, reject) => { + * const chunks: Buffer[] = []; + * readableStream.on("data", (data) => { + * chunks.push(data instanceof Buffer ? data : Buffer.from(data)); + * }); + * readableStream.on("end", () => { + * resolve(Buffer.concat(chunks)); + * }); + * readableStream.on("error", reject); + * }); + * } + * ``` + * + * @param query - + * @param options - + */ + async query(query, options = {}) { + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + if (!core_util_1.isNodeLike) { + throw new Error("This operation currently is only supported in Node.js."); + } + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({ + abortSignal: options.abortSignal, + queryRequest: { + queryType: "SQL", + expression: query, + inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration), + outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration) + }, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + tracingOptions: updatedOptions.tracingOptions + })); + return new BlobQueryResponse_js_1.BlobQueryResponse(response, { + abortSignal: options.abortSignal, + onProgress: options.onProgress, + onError: options.onError + }); + }); + } + /** + * Creates a new block blob, or updates the content of an existing block blob. + * Updating an existing block blob overwrites any existing metadata on the blob. + * Partial updates are not supported; the content of the existing blob is + * overwritten with the new content. To perform a partial update of a block blob's, + * use {@link stageBlock} and {@link commitBlockList}. + * + * This is a non-parallel uploading method, please use {@link uploadFile}, + * {@link uploadStream} or {@link uploadBrowserData} for better performance + * with concurrency uploading. + * + * @see https://learn.microsoft.com/rest/api/storageservices/put-blob + * + * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function + * which returns a new Readable stream whose offset is from data source beginning. + * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a + * string including non non-Base64/Hex-encoded characters. + * @param options - Options to the Block Blob Upload operation. + * @returns Response data for the Block Blob Upload operation. + * + * Example usage: + * + * ```ts snippet:ClientsUpload + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blockBlobClient = containerClient.getBlockBlobClient(blobName); + * + * const content = "Hello world!"; + * const uploadBlobResponse = await blockBlobClient.upload(content, content.length); + * ``` + */ + async upload(body, contentLength, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, { + abortSignal: options.abortSignal, + blobHttpHeaders: options.blobHTTPHeaders, + leaseAccessConditions: options.conditions, + metadata: options.metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + requestOptions: { + onUploadProgress: options.onProgress + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, + immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, + legalHold: options.legalHold, + tier: (0, models_js_1.toAccessTier)(options.tier), + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Creates a new Block Blob where the contents of the blob are read from a given URL. + * This API is supported beginning with the 2020-04-08 version. Partial updates + * are not supported with Put Blob from URL; the content of an existing blob is overwritten with + * the content of the new blob. To perform partial updates to a block blob’s contents using a + * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}. + * + * @param sourceURL - Specifies the URL of the blob. The value + * may be a URL of up to 2 KB in length that specifies a blob. + * The value should be URL-encoded as it would appear + * in a request URI. The source blob must either be public + * or must be authenticated via a shared access signature. + * If the source blob is public, no authentication is required + * to perform the operation. Here are some examples of source object URLs: + * - https://myaccount.blob.core.windows.net/mycontainer/myblob + * - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= + * @param options - Optional parameters. + */ + async syncUploadFromURL(sourceURL, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, { + ...options, + blobHttpHeaders: options.blobHTTPHeaders, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + sourceModifiedAccessConditions: { + sourceIfMatch: options.sourceConditions?.ifMatch, + sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, + sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, + sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince, + sourceIfTags: options.sourceConditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), + tier: (0, models_js_1.toAccessTier)(options.tier), + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + copySourceTags: options.copySourceTags, + fileRequestIntent: options.sourceShareTokenIntent, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Uploads the specified block to the block blob's "staging area" to be later + * committed by a call to commitBlockList. + * @see https://learn.microsoft.com/rest/api/storageservices/put-block + * + * @param blockId - A 64-byte value that is base64-encoded + * @param body - Data to upload to the staging area. + * @param contentLength - Number of bytes to upload. + * @param options - Options to the Block Blob Stage Block operation. + * @returns Response data for the Block Blob Stage Block operation. + */ + async stageBlock(blockId, body, contentLength, options = {}) { + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + requestOptions: { + onUploadProgress: options.onProgress + }, + transactionalContentMD5: options.transactionalContentMD5, + transactionalContentCrc64: options.transactionalContentCrc64, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The Stage Block From URL operation creates a new block to be committed as part + * of a blob where the contents are read from a URL. + * This API is available starting in version 2018-03-28. + * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url + * + * @param blockId - A 64-byte value that is base64-encoded + * @param sourceURL - Specifies the URL of the blob. The value + * may be a URL of up to 2 KB in length that specifies a blob. + * The value should be URL-encoded as it would appear + * in a request URI. The source blob must either be public + * or must be authenticated via a shared access signature. + * If the source blob is public, no authentication is required + * to perform the operation. Here are some examples of source object URLs: + * - https://myaccount.blob.core.windows.net/mycontainer/myblob + * - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= + * @param offset - From which position of the blob to download, greater than or equal to 0 + * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined + * @param options - Options to the Block Blob Stage Block From URL operation. + * @returns Response data for the Block Blob Stage Block From URL operation. + */ + async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) { + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + sourceContentMD5: options.sourceContentMD5, + sourceContentCrc64: options.sourceContentCrc64, + sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }), + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), + fileRequestIntent: options.sourceShareTokenIntent, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Writes a blob by specifying the list of block IDs that make up the blob. + * In order to be written as part of a blob, a block must have been successfully written + * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to + * update a blob by uploading only those blocks that have changed, then committing the new and existing + * blocks together. Any blocks not specified in the block list and permanently deleted. + * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list + * + * @param blocks - Array of 64-byte value that is base64-encoded + * @param options - Options to the Block Blob Commit Block List operation. + * @returns Response data for the Block Blob Commit Block List operation. + */ + async commitBlockList(blocks, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, { + abortSignal: options.abortSignal, + blobHttpHeaders: options.blobHTTPHeaders, + leaseAccessConditions: options.conditions, + metadata: options.metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, + immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, + legalHold: options.legalHold, + tier: (0, models_js_1.toAccessTier)(options.tier), + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Returns the list of blocks that have been uploaded as part of a block blob + * using the specified block list filter. + * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list + * + * @param listType - Specifies whether to return the list of committed blocks, + * the list of uncommitted blocks, or both lists together. + * @param options - Options to the Block Blob Get Block List operation. + * @returns Response data for the Block Blob Get Block List operation. + */ + async getBlockList(listType, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => { + const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + if (!res.committedBlocks) { + res.committedBlocks = []; + } + if (!res.uncommittedBlocks) { + res.uncommittedBlocks = []; + } + return res; + }); + } + // High level functions + /** + * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob. + * + * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is + * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload. + * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList} + * to commit the block list. + * + * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is + * `blobContentType`, enabling the browser to provide + * functionality based on file type. + * + * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView + * @param options - + */ + async uploadData(data, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => { + if (core_util_1.isNodeLike) { + let buffer; + if (data instanceof Buffer) { + buffer = data; + } else if (data instanceof ArrayBuffer) { + buffer = Buffer.from(data); + } else { + data = data; + buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength); + } + return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions); + } else { + const browserBlob = new Blob([data]); + return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions); + } + }); + } + /** + * ONLY AVAILABLE IN BROWSERS. + * + * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob. + * + * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload. + * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call + * {@link commitBlockList} to commit the block list. + * + * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is + * `blobContentType`, enabling the browser to provide + * functionality based on file type. + * + * @deprecated Use {@link uploadData} instead. + * + * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView + * @param options - Options to upload browser data. + * @returns Response data for the Blob Upload operation. + */ + async uploadBrowserData(browserData, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => { + const browserBlob = new Blob([browserData]); + return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions); + }); + } + /** + * + * Uploads data to block blob. Requires a bodyFactory as the data source, + * which need to return a {@link HttpRequestBody} object with the offset and size provided. + * + * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is + * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload. + * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList} + * to commit the block list. + * + * @param bodyFactory - + * @param size - size of the data to upload. + * @param options - Options to Upload to Block Blob operation. + * @returns Response data for the Blob Upload operation. + */ + async uploadSeekableInternal(bodyFactory, size, options = {}) { + let blockSize = options.blockSize ?? 0; + if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) { + throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`); + } + const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES; + if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) { + throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`); + } + if (blockSize === 0) { + if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) { + throw new RangeError(`${size} is too larger to upload to a block blob.`); + } + if (size > maxSingleShotSize) { + blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS); + if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) { + blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES; + } + } + } + if (!options.blobHTTPHeaders) { + options.blobHTTPHeaders = {}; + } + if (!options.conditions) { + options.conditions = {}; + } + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => { + if (size <= maxSingleShotSize) { + return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions)); + } + const numBlocks = Math.floor((size - 1) / blockSize) + 1; + if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) { + throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`); + } + const blockList = []; + const blockIDPrefix = (0, core_util_2.randomUUID)(); + let transferProgress = 0; + const batch = new Batch_js_1.Batch(options.concurrency); + for (let i = 0; i < numBlocks; i++) { + batch.addOperation(async () => { + const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i); + const start = blockSize * i; + const end = i === numBlocks - 1 ? size : start + blockSize; + const contentLength = end - start; + blockList.push(blockID); + await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, { + abortSignal: options.abortSignal, + conditions: options.conditions, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + }); + transferProgress += contentLength; + if (options.onProgress) { + options.onProgress({ + loadedBytes: transferProgress + }); + } + }); + } + await batch.do(); + return this.commitBlockList(blockList, updatedOptions); + }); + } + /** + * ONLY AVAILABLE IN NODE.JS RUNTIME. + * + * Uploads a local file in blocks to a block blob. + * + * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload. + * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList + * to commit the block list. + * + * @param filePath - Full path of local file + * @param options - Options to Upload to Block Blob operation. + * @returns Response data for the Blob Upload operation. + */ + async uploadFile(filePath, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => { + const size = (await (0, utils_js_1.fsStat)(filePath)).size; + return this.uploadSeekableInternal((offset, count) => { + return () => (0, utils_js_1.fsCreateReadStream)(filePath, { + autoClose: true, + end: count ? offset + count - 1 : Infinity, + start: offset + }); + }, size, { + ...options, + tracingOptions: updatedOptions.tracingOptions + }); + }); + } + /** + * ONLY AVAILABLE IN NODE.JS RUNTIME. + * + * Uploads a Node.js Readable stream into block blob. + * + * PERFORMANCE IMPROVEMENT TIPS: + * * Input stream highWaterMark is better to set a same value with bufferSize + * parameter, which will avoid Buffer.concat() operations. + * + * @param stream - Node.js Readable stream + * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB + * @param maxConcurrency - Max concurrency indicates the max number of buffers that can be allocated, + * positive correlation with max uploading concurrency. Default value is 5 + * @param options - Options to Upload Stream to Block Blob operation. + * @returns Response data for the Blob Upload operation. + */ + async uploadStream(stream, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) { + if (!options.blobHTTPHeaders) { + options.blobHTTPHeaders = {}; + } + if (!options.conditions) { + options.conditions = {}; + } + return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => { + let blockNum = 0; + const blockIDPrefix = (0, core_util_2.randomUUID)(); + let transferProgress = 0; + const blockList = []; + const scheduler = new storage_common_1.BufferScheduler( + stream, + bufferSize, + maxConcurrency, + async (body, length) => { + const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum); + blockList.push(blockID); + blockNum++; + await this.stageBlock(blockID, body, length, { + customerProvidedKey: options.customerProvidedKey, + conditions: options.conditions, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + }); + transferProgress += length; + if (options.onProgress) { + options.onProgress({ loadedBytes: transferProgress }); + } + }, + // concurrency should set a smaller value than maxConcurrency, which is helpful to + // reduce the possibility when a outgoing handler waits for stream data, in + // this situation, outgoing handlers are blocked. + // Outgoing queue shouldn't be empty. + Math.ceil(maxConcurrency / 4 * 3) + ); + await scheduler.do(); + return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, { + ...options, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + }; + exports2.BlockBlobClient = BlockBlobClient; + var PageBlobClient = class _PageBlobClient extends BlobClient { + /** + * pageBlobsContext provided by protocol layer. + */ + pageBlobContext; + constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { + let pipeline; + let url; + options = options || {}; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + pipeline = credentialOrPipelineOrContainerName; + } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + options = blobNameOrOptions; + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); + } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { + url = urlOrConnectionString; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { + const containerName = credentialOrPipelineOrContainerName; + const blobName = blobNameOrOptions; + const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); + if (extractedCreds.kind === "AccountConnString") { + if (core_util_1.isNodeLike) { + const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); + if (!options.proxyOptions) { + options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + } else { + throw new Error("Account connection string is only supported in Node.js environment"); + } + } else if (extractedCreds.kind === "SASConnString") { + url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else { + throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + } + } else { + throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + } + super(url, pipeline); + this.pageBlobContext = this.storageClientContext.pageBlob; + } + /** + * Creates a new PageBlobClient object identical to the source but with the + * specified snapshot timestamp. + * Provide "" will remove the snapshot and return a Client to the base blob. + * + * @param snapshot - The snapshot timestamp. + * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp. + */ + withSnapshot(snapshot) { + return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + } + /** + * Creates a page blob of the specified length. Call uploadPages to upload data + * data to a page blob. + * @see https://learn.microsoft.com/rest/api/storageservices/put-blob + * + * @param size - size of the page blob. + * @param options - Options to the Page Blob Create operation. + * @returns Response data for the Page Blob Create operation. + */ + async create(size, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, { + abortSignal: options.abortSignal, + blobHttpHeaders: options.blobHTTPHeaders, + blobSequenceNumber: options.blobSequenceNumber, + leaseAccessConditions: options.conditions, + metadata: options.metadata, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, + immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, + legalHold: options.legalHold, + tier: (0, models_js_1.toAccessTier)(options.tier), + blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Creates a page blob of the specified length. Call uploadPages to upload data + * data to a page blob. If the blob with the same name already exists, the content + * of the existing blob will remain unchanged. + * @see https://learn.microsoft.com/rest/api/storageservices/put-blob + * + * @param size - size of the page blob. + * @param options - + */ + async createIfNotExists(size, options = {}) { + return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => { + try { + const conditions = { ifNoneMatch: constants_js_1.ETagAny }; + const res = (0, utils_common_js_1.assertResponse)(await this.create(size, { + ...options, + conditions, + tracingOptions: updatedOptions.tracingOptions + })); + return { + succeeded: true, + ...res, + _response: res._response + // _response is made non-enumerable + }; + } catch (e) { + if (e.details?.errorCode === "BlobAlreadyExists") { + return { + succeeded: false, + ...e.response?.parsedHeaders, + _response: e.response + }; + } + throw e; + } + }); + } + /** + * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512. + * @see https://learn.microsoft.com/rest/api/storageservices/put-page + * + * @param body - Data to upload + * @param offset - Offset of destination page blob + * @param count - Content length of the body, also number of bytes to be uploaded + * @param options - Options to the Page Blob Upload Pages operation. + * @returns Response data for the Page Blob Upload Pages operation. + */ + async uploadPages(body, offset, count, options = {}) { + options.conditions = options.conditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + requestOptions: { + onUploadProgress: options.onProgress + }, + range: (0, Range_js_1.rangeToString)({ offset, count }), + sequenceNumberAccessConditions: options.conditions, + transactionalContentMD5: options.transactionalContentMD5, + transactionalContentCrc64: options.transactionalContentCrc64, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The Upload Pages operation writes a range of pages to a page blob where the + * contents are read from a URL. + * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url + * + * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication + * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob + * @param destOffset - Offset of destination page blob + * @param count - Number of bytes to be uploaded from source page blob + * @param options - + */ + async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) { + options.conditions = options.conditions || {}; + options.sourceConditions = options.sourceConditions || {}; + (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); + return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), { + abortSignal: options.abortSignal, + sourceContentMD5: options.sourceContentMD5, + sourceContentCrc64: options.sourceContentCrc64, + leaseAccessConditions: options.conditions, + sequenceNumberAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + sourceModifiedAccessConditions: { + sourceIfMatch: options.sourceConditions?.ifMatch, + sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, + sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, + sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince + }, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), + fileRequestIntent: options.sourceShareTokenIntent, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Frees the specified pages from the page blob. + * @see https://learn.microsoft.com/rest/api/storageservices/put-page + * + * @param offset - Starting byte position of the pages to clear. + * @param count - Number of bytes to clear. + * @param options - Options to the Page Blob Clear Pages operation. + * @returns Response data for the Page Blob Clear Pages operation. + */ + async clearPages(offset = 0, count, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + range: (0, Range_js_1.rangeToString)({ offset, count }), + sequenceNumberAccessConditions: options.conditions, + cpkInfo: options.customerProvidedKey, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Returns the list of valid page ranges for a page blob or snapshot of a page blob. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param options - Options to the Page Blob Get Ranges operation. + * @returns Response data for the Page Blob Get Ranges operation. + */ + async getPageRanges(offset = 0, count, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + range: (0, Range_js_1.rangeToString)({ offset, count }), + tracingOptions: updatedOptions.tracingOptions + })); + return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response); + }); + } + /** + * getPageRangesSegment returns a single segment of page ranges starting from the + * specified Marker. Use an empty Marker to start enumeration from the beginning. + * After getting a segment, process it, and then call getPageRangesSegment again + * (passing the the previously-returned Marker) to get the next segment. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param marker - A string value that identifies the portion of the list to be returned with the next list operation. + * @param options - Options to PageBlob Get Page Ranges Segment operation. + */ + async listPageRangesSegment(offset = 0, count, marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + range: (0, Range_js_1.rangeToString)({ offset, count }), + marker, + maxPageSize: options.maxPageSize, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel} + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param marker - A string value that identifies the portion of + * the get of page ranges to be returned with the next getting operation. The + * operation returns the ContinuationToken value within the response body if the + * getting operation did not return all page ranges remaining within the current page. + * The ContinuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of get + * items. The marker value is opaque to the client. + * @param options - Options to List Page Ranges operation. + */ + async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) { + let getPageRangeItemSegmentsResponse; + if (!!marker || marker === void 0) { + do { + getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options); + marker = getPageRangeItemSegmentsResponse.continuationToken; + yield await getPageRangeItemSegmentsResponse; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param options - Options to List Page Ranges operation. + */ + async *listPageRangeItems(offset = 0, count, options = {}) { + let marker; + for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) { + yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment); + } + } + /** + * Returns an async iterable iterator to list of page ranges for a page blob. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * .byPage() returns an async iterable iterator to list of page ranges for a page blob. + * + * ```ts snippet:ClientsListPageBlobs + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const pageBlobClient = containerClient.getPageBlobClient(blobName); + * + * // Example using `for await` syntax + * let i = 1; + * for await (const pageRange of pageBlobClient.listPageRanges()) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * + * // Example using `iter.next()` syntax + * i = 1; + * const iter = pageBlobClient.listPageRanges(); + * let { value, done } = await iter.next(); + * while (!done) { + * console.log(`Page range ${i++}: ${value.start} - ${value.end}`); + * ({ value, done } = await iter.next()); + * } + * + * // Example using `byPage()` syntax + * i = 1; + * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) { + * for (const pageRange of page.pageRange || []) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * } + * + * // Example using paging with a marker + * i = 1; + * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * // Prints 2 page ranges + * if (response.pageRange) { + * for (const pageRange of response.pageRange) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * } + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * // Prints 10 page ranges + * if (response.pageRange) { + * for (const pageRange of response.pageRange) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * } + * ``` + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param options - Options to the Page Blob Get Ranges operation. + * @returns An asyncIterableIterator that supports paging. + */ + listPageRanges(offset = 0, count, options = {}) { + options.conditions = options.conditions || {}; + const iter = this.listPageRangeItems(offset, count, options); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.listPageRangeItemSegments(offset, count, settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...options + }); + } + }; + } + /** + * Gets the collection of page ranges that differ between a specified snapshot and this page blob. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * @param offset - Starting byte position of the page blob + * @param count - Number of bytes to get ranges diff. + * @param prevSnapshot - Timestamp of snapshot to retrieve the difference. + * @param options - Options to the Page Blob Get Page Ranges Diff operation. + * @returns Response data for the Page Blob Get Page Range Diff operation. + */ + async getPageRangesDiff(offset, count, prevSnapshot, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => { + const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + prevsnapshot: prevSnapshot, + range: (0, Range_js_1.rangeToString)({ offset, count }), + tracingOptions: updatedOptions.tracingOptions + })); + return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result); + }); + } + /** + * getPageRangesDiffSegment returns a single segment of page ranges starting from the + * specified Marker for difference between previous snapshot and the target page blob. + * Use an empty Marker to start enumeration from the beginning. + * After getting a segment, process it, and then call getPageRangesDiffSegment again + * (passing the the previously-returned Marker) to get the next segment. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference. + * @param marker - A string value that identifies the portion of the get to be returned with the next get operation. + * @param options - Options to the Page Blob Get Page Ranges Diff operation. + */ + async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({ + abortSignal: options?.abortSignal, + leaseAccessConditions: options?.conditions, + modifiedAccessConditions: { + ...options?.conditions, + ifTags: options?.conditions?.tagConditions + }, + prevsnapshot: prevSnapshotOrUrl, + range: (0, Range_js_1.rangeToString)({ + offset, + count + }), + marker, + maxPageSize: options?.maxPageSize, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel} + * + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference. + * @param marker - A string value that identifies the portion of + * the get of page ranges to be returned with the next getting operation. The + * operation returns the ContinuationToken value within the response body if the + * getting operation did not return all page ranges remaining within the current page. + * The ContinuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of get + * items. The marker value is opaque to the client. + * @param options - Options to the Page Blob Get Page Ranges Diff operation. + */ + async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) { + let getPageRangeItemSegmentsResponse; + if (!!marker || marker === void 0) { + do { + getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options); + marker = getPageRangeItemSegmentsResponse.continuationToken; + yield await getPageRangeItemSegmentsResponse; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference. + * @param options - Options to the Page Blob Get Page Ranges Diff operation. + */ + async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) { + let marker; + for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) { + yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment); + } + } + /** + * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob. + * + * ```ts snippet:ClientsListPageBlobsDiff + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const pageBlobClient = containerClient.getPageBlobClient(blobName); + * + * const offset = 0; + * const count = 1024; + * const previousSnapshot = ""; + * // Example using `for await` syntax + * let i = 1; + * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * + * // Example using `iter.next()` syntax + * i = 1; + * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot); + * let { value, done } = await iter.next(); + * while (!done) { + * console.log(`Page range ${i++}: ${value.start} - ${value.end}`); + * ({ value, done } = await iter.next()); + * } + * + * // Example using `byPage()` syntax + * i = 1; + * for await (const page of pageBlobClient + * .listPageRangesDiff(offset, count, previousSnapshot) + * .byPage({ maxPageSize: 20 })) { + * for (const pageRange of page.pageRange || []) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * } + * + * // Example using paging with a marker + * i = 1; + * let iterator = pageBlobClient + * .listPageRangesDiff(offset, count, previousSnapshot) + * .byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * // Prints 2 page ranges + * if (response.pageRange) { + * for (const pageRange of response.pageRange) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * } + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = pageBlobClient + * .listPageRangesDiff(offset, count, previousSnapshot) + * .byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * // Prints 10 page ranges + * if (response.pageRange) { + * for (const pageRange of response.pageRange) { + * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); + * } + * } + * ``` + * + * @param offset - Starting byte position of the page ranges. + * @param count - Number of bytes to get. + * @param prevSnapshot - Timestamp of snapshot to retrieve the difference. + * @param options - Options to the Page Blob Get Ranges operation. + * @returns An asyncIterableIterator that supports paging. + */ + listPageRangesDiff(offset, count, prevSnapshot, options = {}) { + options.conditions = options.conditions || {}; + const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, { + ...options + }); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...options + }); + } + }; + } + /** + * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks. + * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges + * + * @param offset - Starting byte position of the page blob + * @param count - Number of bytes to get ranges diff. + * @param prevSnapshotUrl - URL of snapshot to retrieve the difference. + * @param options - Options to the Page Blob Get Page Ranges Diff operation. + * @returns Response data for the Page Blob Get Page Range Diff operation. + */ + async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + prevSnapshotUrl, + range: (0, Range_js_1.rangeToString)({ offset, count }), + tracingOptions: updatedOptions.tracingOptions + })); + return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response); + }); + } + /** + * Resizes the page blob to the specified size (which must be a multiple of 512). + * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties + * + * @param size - Target size + * @param options - Options to the Page Blob Resize operation. + * @returns Response data for the Page Blob Resize operation. + */ + async resize(size, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, { + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + encryptionScope: options.encryptionScope, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Sets a page blob's sequence number. + * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties + * + * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number. + * @param sequenceNumber - Required if sequenceNumberAction is max or update + * @param options - Options to the Page Blob Update Sequence Number operation. + * @returns Response data for the Page Blob Update Sequence Number operation. + */ + async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, { + abortSignal: options.abortSignal, + blobSequenceNumber: sequenceNumber, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob. + * The snapshot is copied such that only the differential changes between the previously + * copied snapshot are transferred to the destination. + * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual. + * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob + * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots + * + * @param copySource - Specifies the name of the source page blob snapshot. For example, + * https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= + * @param options - Options to the Page Blob Copy Incremental operation. + * @returns Response data for the Page Blob Copy Incremental operation. + */ + async startCopyIncremental(copySource, options = {}) { + return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, { + abortSignal: options.abortSignal, + modifiedAccessConditions: { + ...options.conditions, + ifTags: options.conditions?.tagConditions + }, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + }; + exports2.PageBlobClient = PageBlobClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js +var require_BatchUtils = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getBodyAsText = getBodyAsText; + exports2.utf8ByteLength = utf8ByteLength; + var utils_js_1 = require_utils7(); + var constants_js_1 = require_constants15(); + async function getBodyAsText(batchResponse) { + let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES); + const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer); + buffer = buffer.slice(0, responseLength); + return buffer.toString(); + } + function utf8ByteLength(str2) { + return Buffer.byteLength(str2); + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js +var require_BatchResponseParser = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BatchResponseParser = void 0; + var core_rest_pipeline_1 = require_commonjs6(); + var core_http_compat_1 = require_commonjs9(); + var constants_js_1 = require_constants15(); + var BatchUtils_js_1 = require_BatchUtils(); + var log_js_1 = require_log5(); + var HTTP_HEADER_DELIMITER = ": "; + var SPACE_DELIMITER = " "; + var NOT_FOUND = -1; + var BatchResponseParser = class { + batchResponse; + responseBatchBoundary; + perResponsePrefix; + batchResponseEnding; + subRequests; + constructor(batchResponse, subRequests) { + if (!batchResponse || !batchResponse.contentType) { + throw new RangeError("batchResponse is malformed or doesn't contain valid content-type."); + } + if (!subRequests || subRequests.size === 0) { + throw new RangeError("Invalid state: subRequests is not provided or size is 0."); + } + this.batchResponse = batchResponse; + this.subRequests = subRequests; + this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1]; + this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`; + this.batchResponseEnding = `--${this.responseBatchBoundary}--`; + } + // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response + async parseBatchResponse() { + if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) { + throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`); + } + const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse); + const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1); + const subResponseCount = subResponses.length; + if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) { + throw new Error("Invalid state: sub responses' count is not equal to sub requests' count."); + } + const deserializedSubResponses = new Array(subResponseCount); + let subResponsesSucceededCount = 0; + let subResponsesFailedCount = 0; + for (let index = 0; index < subResponseCount; index++) { + const subResponse = subResponses[index]; + const deserializedSubResponse = {}; + deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)()); + const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`); + let subRespHeaderStartFound = false; + let subRespHeaderEndFound = false; + let subRespFailed = false; + let contentId = NOT_FOUND; + for (const responseLine of responseLines) { + if (!subRespHeaderStartFound) { + if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) { + contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]); + } + if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) { + subRespHeaderStartFound = true; + const tokens = responseLine.split(SPACE_DELIMITER); + deserializedSubResponse.status = parseInt(tokens[1]); + deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER); + } + continue; + } + if (responseLine.trim() === "") { + if (!subRespHeaderEndFound) { + subRespHeaderEndFound = true; + } + continue; + } + if (!subRespHeaderEndFound) { + if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) { + throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`); + } + const tokens = responseLine.split(HTTP_HEADER_DELIMITER); + deserializedSubResponse.headers.set(tokens[0], tokens[1]); + if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) { + deserializedSubResponse.errorCode = tokens[1]; + subRespFailed = true; + } + } else { + if (!deserializedSubResponse.bodyAsText) { + deserializedSubResponse.bodyAsText = ""; + } + deserializedSubResponse.bodyAsText += responseLine; + } + } + if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) { + deserializedSubResponse._request = this.subRequests.get(contentId); + deserializedSubResponses[contentId] = deserializedSubResponse; + } else { + log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`); + } + if (subRespFailed) { + subResponsesFailedCount++; + } else { + subResponsesSucceededCount++; + } + } + return { + subResponses: deserializedSubResponses, + subResponsesSucceededCount, + subResponsesFailedCount + }; + } + }; + exports2.BatchResponseParser = BatchResponseParser; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js +var require_Mutex = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.Mutex = void 0; + var MutexLockStatus; + (function(MutexLockStatus2) { + MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED"; + MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED"; + })(MutexLockStatus || (MutexLockStatus = {})); + var Mutex = class { + /** + * Lock for a specific key. If the lock has been acquired by another customer, then + * will wait until getting the lock. + * + * @param key - lock key + */ + static async lock(key) { + return new Promise((resolve5) => { + if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) { + this.keys[key] = MutexLockStatus.LOCKED; + resolve5(); + } else { + this.onUnlockEvent(key, () => { + this.keys[key] = MutexLockStatus.LOCKED; + resolve5(); + }); + } + }); + } + /** + * Unlock a key. + * + * @param key - + */ + static async unlock(key) { + return new Promise((resolve5) => { + if (this.keys[key] === MutexLockStatus.LOCKED) { + this.emitUnlockEvent(key); + } + delete this.keys[key]; + resolve5(); + }); + } + static keys = {}; + static listeners = {}; + static onUnlockEvent(key, handler2) { + if (this.listeners[key] === void 0) { + this.listeners[key] = [handler2]; + } else { + this.listeners[key].push(handler2); + } + } + static emitUnlockEvent(key) { + if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) { + const handler2 = this.listeners[key].shift(); + setImmediate(() => { + handler2.call(this); + }); + } + } + }; + exports2.Mutex = Mutex; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js +var require_BlobBatch = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobBatch = void 0; + var core_util_1 = require_commonjs4(); + var core_auth_1 = require_commonjs7(); + var core_rest_pipeline_1 = require_commonjs6(); + var core_util_2 = require_commonjs4(); + var AnonymousCredential_js_1 = require_AnonymousCredential(); + var Clients_js_1 = require_Clients(); + var Mutex_js_1 = require_Mutex(); + var Pipeline_js_1 = require_Pipeline(); + var utils_common_js_1 = require_utils_common(); + var core_xml_1 = require_commonjs10(); + var constants_js_1 = require_constants15(); + var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); + var tracing_js_1 = require_tracing(); + var core_client_1 = require_commonjs8(); + var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22(); + var BlobBatch = class { + batchRequest; + batch = "batch"; + batchType; + constructor() { + this.batchRequest = new InnerBatchRequest(); + } + /** + * Get the value of Content-Type for a batch request. + * The value must be multipart/mixed with a batch boundary. + * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252 + */ + getMultiPartContentType() { + return this.batchRequest.getMultipartContentType(); + } + /** + * Get assembled HTTP request body for sub requests. + */ + getHttpRequestBody() { + return this.batchRequest.getHttpRequestBody(); + } + /** + * Get sub requests that are added into the batch request. + */ + getSubRequests() { + return this.batchRequest.getSubRequests(); + } + async addSubRequestInternal(subRequest, assembleSubRequestFunc) { + await Mutex_js_1.Mutex.lock(this.batch); + try { + this.batchRequest.preAddSubRequest(subRequest); + await assembleSubRequestFunc(); + this.batchRequest.postAddSubRequest(subRequest); + } finally { + await Mutex_js_1.Mutex.unlock(this.batch); + } + } + setBatchType(batchType) { + if (!this.batchType) { + this.batchType = batchType; + } + if (this.batchType !== batchType) { + throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`); + } + } + async deleteBlob(urlOrBlobClient, credentialOrOptions, options) { + let url; + let credential; + if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) { + url = urlOrBlobClient; + credential = credentialOrOptions; + } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) { + url = urlOrBlobClient.url; + credential = urlOrBlobClient.credential; + options = credentialOrOptions; + } else { + throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided."); + } + if (!options) { + options = {}; + } + return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => { + this.setBatchType("delete"); + await this.addSubRequestInternal({ + url, + credential + }, async () => { + await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).delete(updatedOptions); + }); + }); + } + async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) { + let url; + let credential; + let tier; + if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) { + url = urlOrBlobClient; + credential = credentialOrTier; + tier = tierOrOptions; + } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) { + url = urlOrBlobClient.url; + credential = urlOrBlobClient.credential; + tier = credentialOrTier; + options = tierOrOptions; + } else { + throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided."); + } + if (!options) { + options = {}; + } + return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => { + this.setBatchType("setAccessTier"); + await this.addSubRequestInternal({ + url, + credential + }, async () => { + await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions); + }); + }); + } + }; + exports2.BlobBatch = BlobBatch; + var InnerBatchRequest = class { + operationCount; + body; + subRequests; + boundary; + subRequestPrefix; + multipartContentType; + batchRequestEnding; + constructor() { + this.operationCount = 0; + this.body = ""; + const tempGuid = (0, core_util_1.randomUUID)(); + this.boundary = `batch_${tempGuid}`; + this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`; + this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`; + this.batchRequestEnding = `--${this.boundary}--`; + this.subRequests = /* @__PURE__ */ new Map(); + } + /** + * Create pipeline to assemble sub requests. The idea here is to use existing + * credential and serialization/deserialization components, with additional policies to + * filter unnecessary headers, assemble sub requests into request's body + * and intercept request from going to wire. + * @param credential - Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used. + */ + createPipeline(credential) { + const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)(); + corePipeline.addPolicy((0, core_client_1.serializationPolicy)({ + stringifyXML: core_xml_1.stringifyXML, + serializerOptions: { + xml: { + xmlCharKey: "#" + } + } + }), { phase: "Serialize" }); + corePipeline.addPolicy(batchHeaderFilterPolicy()); + corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" }); + if ((0, core_auth_1.isTokenCredential)(credential)) { + corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({ + credential, + scopes: constants_js_1.StorageOAuthScopes, + challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge } + }), { phase: "Sign" }); + } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) { + corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({ + accountName: credential.accountName, + accountKey: credential.accountKey + }), { phase: "Sign" }); + } + const pipeline = new Pipeline_js_1.Pipeline([]); + pipeline._credential = credential; + pipeline._corePipeline = corePipeline; + return pipeline; + } + appendSubRequestToBody(request2) { + this.body += [ + this.subRequestPrefix, + // sub request constant prefix + `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`, + // sub request's content ID + "", + // empty line after sub request's content ID + `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}` + // sub request start line with method + ].join(constants_js_1.HTTP_LINE_ENDING); + for (const [name, value] of request2.headers) { + this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`; + } + this.body += constants_js_1.HTTP_LINE_ENDING; + } + preAddSubRequest(subRequest) { + if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) { + throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`); + } + const path7 = (0, utils_common_js_1.getURLPath)(subRequest.url); + if (!path7 || path7 === "") { + throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`); + } + } + postAddSubRequest(subRequest) { + this.subRequests.set(this.operationCount, subRequest); + this.operationCount++; + } + // Return the http request body with assembling the ending line to the sub request body. + getHttpRequestBody() { + return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`; + } + getMultipartContentType() { + return this.multipartContentType; + } + getSubRequests() { + return this.subRequests; + } + }; + function batchRequestAssemblePolicy(batchRequest) { + return { + name: "batchRequestAssemblePolicy", + async sendRequest(request2) { + batchRequest.appendSubRequestToBody(request2); + return { + request: request2, + status: 200, + headers: (0, core_rest_pipeline_1.createHttpHeaders)() + }; + } + }; + } + function batchHeaderFilterPolicy() { + return { + name: "batchHeaderFilterPolicy", + async sendRequest(request2, next) { + let xMsHeaderName = ""; + for (const [name] of request2.headers) { + if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) { + xMsHeaderName = name; + } + } + if (xMsHeaderName !== "") { + request2.headers.delete(xMsHeaderName); + } + return next(request2); + } + }; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js +var require_BlobBatchClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobBatchClient = void 0; + var BatchResponseParser_js_1 = require_BatchResponseParser(); + var BatchUtils_js_1 = require_BatchUtils(); + var BlobBatch_js_1 = require_BlobBatch(); + var tracing_js_1 = require_tracing(); + var AnonymousCredential_js_1 = require_AnonymousCredential(); + var StorageContextClient_js_1 = require_StorageContextClient(); + var Pipeline_js_1 = require_Pipeline(); + var utils_common_js_1 = require_utils_common(); + var BlobBatchClient = class { + serviceOrContainerContext; + constructor(url, credentialOrPipeline, options) { + let pipeline; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) { + pipeline = credentialOrPipeline; + } else if (!credentialOrPipeline) { + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else { + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options); + } + const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline)); + const path7 = (0, utils_common_js_1.getURLPath)(url); + if (path7 && path7 !== "/") { + this.serviceOrContainerContext = storageClientContext.container; + } else { + this.serviceOrContainerContext = storageClientContext.service; + } + } + /** + * Creates a {@link BlobBatch}. + * A BlobBatch represents an aggregated set of operations on blobs. + */ + createBatch() { + return new BlobBatch_js_1.BlobBatch(); + } + async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) { + const batch = new BlobBatch_js_1.BlobBatch(); + for (const urlOrBlobClient of urlsOrBlobClients) { + if (typeof urlOrBlobClient === "string") { + await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options); + } else { + await batch.deleteBlob(urlOrBlobClient, credentialOrOptions); + } + } + return this.submitBatch(batch); + } + async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) { + const batch = new BlobBatch_js_1.BlobBatch(); + for (const urlOrBlobClient of urlsOrBlobClients) { + if (typeof urlOrBlobClient === "string") { + await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options); + } else { + await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions); + } + } + return this.submitBatch(batch); + } + /** + * Submit batch request which consists of multiple subrequests. + * + * Get `blobBatchClient` and other details before running the snippets. + * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient` + * + * Example usage: + * + * ```ts snippet:BlobBatchClientSubmitBatch + * import { DefaultAzureCredential } from "@azure/identity"; + * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob"; + * + * const account = ""; + * const credential = new DefaultAzureCredential(); + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * credential, + * ); + * + * const containerName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blobBatchClient = containerClient.getBlobBatchClient(); + * + * const batchRequest = new BlobBatch(); + * await batchRequest.deleteBlob("", credential); + * await batchRequest.deleteBlob("", credential, { + * deleteSnapshots: "include", + * }); + * const batchResp = await blobBatchClient.submitBatch(batchRequest); + * console.log(batchResp.subResponsesSucceededCount); + * ``` + * + * Example using a lease: + * + * ```ts snippet:BlobBatchClientSubmitBatchWithLease + * import { DefaultAzureCredential } from "@azure/identity"; + * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob"; + * + * const account = ""; + * const credential = new DefaultAzureCredential(); + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * credential, + * ); + * + * const containerName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blobBatchClient = containerClient.getBlobBatchClient(); + * const blobClient = containerClient.getBlobClient(""); + * + * const batchRequest = new BlobBatch(); + * await batchRequest.setBlobAccessTier(blobClient, "Cool"); + * await batchRequest.setBlobAccessTier(blobClient, "Cool", { + * conditions: { leaseId: "" }, + * }); + * const batchResp = await blobBatchClient.submitBatch(batchRequest); + * console.log(batchResp.subResponsesSucceededCount); + * ``` + * + * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch + * + * @param batchRequest - A set of Delete or SetTier operations. + * @param options - + */ + async submitBatch(batchRequest, options = {}) { + if (!batchRequest || batchRequest.getSubRequests().size === 0) { + throw new RangeError("Batch request should contain one or more sub requests."); + } + return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => { + const batchRequestBody = batchRequest.getHttpRequestBody(); + const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, { + ...updatedOptions + })); + const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests()); + const responseSummary = await batchResponseParser.parseBatchResponse(); + const res = { + _response: rawBatchResponse._response, + contentType: rawBatchResponse.contentType, + errorCode: rawBatchResponse.errorCode, + requestId: rawBatchResponse.requestId, + clientRequestId: rawBatchResponse.clientRequestId, + version: rawBatchResponse.version, + subResponses: responseSummary.subResponses, + subResponsesSucceededCount: responseSummary.subResponsesSucceededCount, + subResponsesFailedCount: responseSummary.subResponsesFailedCount + }; + return res; + }); + } + }; + exports2.BlobBatchClient = BlobBatchClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js +var require_ContainerClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ContainerClient = void 0; + var core_rest_pipeline_1 = require_commonjs6(); + var core_util_1 = require_commonjs4(); + var core_auth_1 = require_commonjs7(); + var AnonymousCredential_js_1 = require_AnonymousCredential(); + var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); + var Pipeline_js_1 = require_Pipeline(); + var StorageClient_js_1 = require_StorageClient(); + var tracing_js_1 = require_tracing(); + var utils_common_js_1 = require_utils_common(); + var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues(); + var BlobLeaseClient_js_1 = require_BlobLeaseClient(); + var Clients_js_1 = require_Clients(); + var BlobBatchClient_js_1 = require_BlobBatchClient(); + var ContainerClient = class extends StorageClient_js_1.StorageClient { + /** + * containerContext provided by protocol layer. + */ + containerContext; + _containerName; + /** + * The name of the container. + */ + get containerName() { + return this._containerName; + } + constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) { + let pipeline; + let url; + options = options || {}; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + pipeline = credentialOrPipelineOrContainerName; + } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { + url = urlOrConnectionString; + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); + } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { + url = urlOrConnectionString; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") { + const containerName = credentialOrPipelineOrContainerName; + const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); + if (extractedCreds.kind === "AccountConnString") { + if (core_util_1.isNodeLike) { + const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); + url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)); + if (!options.proxyOptions) { + options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + } else { + throw new Error("Account connection string is only supported in Node.js environment"); + } + } else if (extractedCreds.kind === "SASConnString") { + url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas; + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } else { + throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + } + } else { + throw new Error("Expecting non-empty strings for containerName parameter"); + } + super(url, pipeline); + this._containerName = this.getContainerNameFromUrl(); + this.containerContext = this.storageClientContext.container; + } + /** + * Creates a new container under the specified account. If the container with + * the same name already exists, the operation fails. + * @see https://learn.microsoft.com/rest/api/storageservices/create-container + * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata + * + * @param options - Options to Container Create operation. + * + * + * Example usage: + * + * ```ts snippet:ContainerClientCreate + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const createContainerResponse = await containerClient.create(); + * console.log("Container was created successfully", createContainerResponse.requestId); + * ``` + */ + async create(options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions)); + }); + } + /** + * Creates a new container under the specified account. If the container with + * the same name already exists, it is not changed. + * @see https://learn.microsoft.com/rest/api/storageservices/create-container + * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata + * + * @param options - + */ + async createIfNotExists(options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => { + try { + const res = await this.create(updatedOptions); + return { + succeeded: true, + ...res, + _response: res._response + // _response is made non-enumerable + }; + } catch (e) { + if (e.details?.errorCode === "ContainerAlreadyExists") { + return { + succeeded: false, + ...e.response?.parsedHeaders, + _response: e.response + }; + } else { + throw e; + } + } + }); + } + /** + * Returns true if the Azure container resource represented by this client exists; false otherwise. + * + * NOTE: use this function with care since an existing container might be deleted by other clients or + * applications. Vice versa new containers with the same name might be added by other clients or + * applications after this function completes. + * + * @param options - + */ + async exists(options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => { + try { + await this.getProperties({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + }); + return true; + } catch (e) { + if (e.statusCode === 404) { + return false; + } + throw e; + } + }); + } + /** + * Creates a {@link BlobClient} + * + * @param blobName - A blob name + * @returns A new BlobClient object for the given blob name. + */ + getBlobClient(blobName) { + return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); + } + /** + * Creates an {@link AppendBlobClient} + * + * @param blobName - An append blob name + */ + getAppendBlobClient(blobName) { + return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); + } + /** + * Creates a {@link BlockBlobClient} + * + * @param blobName - A block blob name + * + * + * Example usage: + * + * ```ts snippet:ClientsUpload + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const blobName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * const blockBlobClient = containerClient.getBlockBlobClient(blobName); + * + * const content = "Hello world!"; + * const uploadBlobResponse = await blockBlobClient.upload(content, content.length); + * ``` + */ + getBlockBlobClient(blobName) { + return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); + } + /** + * Creates a {@link PageBlobClient} + * + * @param blobName - A page blob name + */ + getPageBlobClient(blobName) { + return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); + } + /** + * Returns all user-defined metadata and system properties for the specified + * container. The data returned does not include the container's list of blobs. + * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties + * + * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if + * they originally contained uppercase characters. This differs from the metadata keys returned by + * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which + * will retain their original casing. + * + * @param options - Options to Container Get Properties operation. + */ + async getProperties(options = {}) { + if (!options.conditions) { + options.conditions = {}; + } + return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({ + abortSignal: options.abortSignal, + ...options.conditions, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Marks the specified container for deletion. The container and any blobs + * contained within it are later deleted during garbage collection. + * @see https://learn.microsoft.com/rest/api/storageservices/delete-container + * + * @param options - Options to Container Delete operation. + */ + async delete(options = {}) { + if (!options.conditions) { + options.conditions = {}; + } + return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: options.conditions, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Marks the specified container for deletion if it exists. The container and any blobs + * contained within it are later deleted during garbage collection. + * @see https://learn.microsoft.com/rest/api/storageservices/delete-container + * + * @param options - Options to Container Delete operation. + */ + async deleteIfExists(options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => { + try { + const res = await this.delete(updatedOptions); + return { + succeeded: true, + ...res, + _response: res._response + }; + } catch (e) { + if (e.details?.errorCode === "ContainerNotFound") { + return { + succeeded: false, + ...e.response?.parsedHeaders, + _response: e.response + }; + } + throw e; + } + }); + } + /** + * Sets one or more user-defined name-value pairs for the specified container. + * + * If no option provided, or no metadata defined in the parameter, the container + * metadata will be removed. + * + * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata + * + * @param metadata - Replace existing metadata with this value. + * If no value provided the existing metadata will be removed. + * @param options - Options to Container Set Metadata operation. + */ + async setMetadata(metadata, options = {}) { + if (!options.conditions) { + options.conditions = {}; + } + if (options.conditions.ifUnmodifiedSince) { + throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service"); + } + return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + metadata, + modifiedAccessConditions: options.conditions, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Gets the permissions for the specified container. The permissions indicate + * whether container data may be accessed publicly. + * + * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings. + * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z". + * + * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl + * + * @param options - Options to Container Get Access Policy operation. + */ + async getAccessPolicy(options = {}) { + if (!options.conditions) { + options.conditions = {}; + } + return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({ + abortSignal: options.abortSignal, + leaseAccessConditions: options.conditions, + tracingOptions: updatedOptions.tracingOptions + })); + const res = { + _response: response._response, + blobPublicAccess: response.blobPublicAccess, + date: response.date, + etag: response.etag, + errorCode: response.errorCode, + lastModified: response.lastModified, + requestId: response.requestId, + clientRequestId: response.clientRequestId, + signedIdentifiers: [], + version: response.version + }; + for (const identifier of response) { + let accessPolicy = void 0; + if (identifier.accessPolicy) { + accessPolicy = { + permissions: identifier.accessPolicy.permissions + }; + if (identifier.accessPolicy.expiresOn) { + accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn); + } + if (identifier.accessPolicy.startsOn) { + accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn); + } + } + res.signedIdentifiers.push({ + accessPolicy, + id: identifier.id + }); + } + return res; + }); + } + /** + * Sets the permissions for the specified container. The permissions indicate + * whether blobs in a container may be accessed publicly. + * + * When you set permissions for a container, the existing permissions are replaced. + * If no access or containerAcl provided, the existing container ACL will be + * removed. + * + * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect. + * During this interval, a shared access signature that is associated with the stored access policy will + * fail with status code 403 (Forbidden), until the access policy becomes active. + * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl + * + * @param access - The level of public access to data in the container. + * @param containerAcl - Array of elements each having a unique Id and details of the access policy. + * @param options - Options to Container Set Access Policy operation. + */ + async setAccessPolicy(access, containerAcl, options = {}) { + options.conditions = options.conditions || {}; + return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => { + const acl = []; + for (const identifier of containerAcl || []) { + acl.push({ + accessPolicy: { + expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "", + permissions: identifier.accessPolicy.permissions, + startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : "" + }, + id: identifier.id + }); + } + return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({ + abortSignal: options.abortSignal, + access, + containerAcl: acl, + leaseAccessConditions: options.conditions, + modifiedAccessConditions: options.conditions, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Get a {@link BlobLeaseClient} that manages leases on the container. + * + * @param proposeLeaseId - Initial proposed lease Id. + * @returns A new BlobLeaseClient object for managing leases on the container. + */ + getBlobLeaseClient(proposeLeaseId) { + return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId); + } + /** + * Creates a new block blob, or updates the content of an existing block blob. + * + * Updating an existing block blob overwrites any existing metadata on the blob. + * Partial updates are not supported; the content of the existing blob is + * overwritten with the new content. To perform a partial update of a block blob's, + * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}. + * + * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile}, + * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better + * performance with concurrency uploading. + * + * @see https://learn.microsoft.com/rest/api/storageservices/put-blob + * + * @param blobName - Name of the block blob to create or update. + * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function + * which returns a new Readable stream whose offset is from data source beginning. + * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a + * string including non non-Base64/Hex-encoded characters. + * @param options - Options to configure the Block Blob Upload operation. + * @returns Block Blob upload response data and the corresponding BlockBlobClient instance. + */ + async uploadBlockBlob(blobName, body, contentLength, options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => { + const blockBlobClient = this.getBlockBlobClient(blobName); + const response = await blockBlobClient.upload(body, contentLength, updatedOptions); + return { + blockBlobClient, + response + }; + }); + } + /** + * Marks the specified blob or snapshot for deletion. The blob is later deleted + * during garbage collection. Note that in order to delete a blob, you must delete + * all of its snapshots. You can delete both at the same time with the Delete + * Blob operation. + * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob + * + * @param blobName - + * @param options - Options to Blob Delete operation. + * @returns Block blob deletion response data. + */ + async deleteBlob(blobName, options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => { + let blobClient = this.getBlobClient(blobName); + if (options.versionId) { + blobClient = blobClient.withVersion(options.versionId); + } + return blobClient.delete(updatedOptions); + }); + } + /** + * listBlobFlatSegment returns a single segment of blobs starting from the + * specified Marker. Use an empty Marker to start enumeration from the beginning. + * After getting a segment, process it, and then call listBlobsFlatSegment again + * (passing the the previously-returned Marker) to get the next segment. + * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs + * + * @param marker - A string value that identifies the portion of the list to be returned with the next list operation. + * @param options - Options to Container List Blob Flat Segment operation. + */ + async listBlobFlatSegment(marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({ + marker, + ...options, + tracingOptions: updatedOptions.tracingOptions + })); + const wrappedResponse = { + ...response, + _response: { + ...response._response, + parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody) + }, + // _response is made non-enumerable + segment: { + ...response.segment, + blobItems: response.segment.blobItems.map((blobItemInternal) => { + const blobItem = { + ...blobItemInternal, + name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name), + tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags), + objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata) + }; + return blobItem; + }) + } + }; + return wrappedResponse; + }); + } + /** + * listBlobHierarchySegment returns a single segment of blobs starting from + * the specified Marker. Use an empty Marker to start enumeration from the + * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment + * again (passing the the previously-returned Marker) to get the next segment. + * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs + * + * @param delimiter - The character or string used to define the virtual hierarchy + * @param marker - A string value that identifies the portion of the list to be returned with the next list operation. + * @param options - Options to Container List Blob Hierarchy Segment operation. + */ + async listBlobHierarchySegment(delimiter, marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, { + marker, + ...options, + tracingOptions: updatedOptions.tracingOptions + })); + const wrappedResponse = { + ...response, + _response: { + ...response._response, + parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody) + }, + // _response is made non-enumerable + segment: { + ...response.segment, + blobItems: response.segment.blobItems.map((blobItemInternal) => { + const blobItem = { + ...blobItemInternal, + name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name), + tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags), + objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata) + }; + return blobItem; + }), + blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => { + const blobPrefix = { + ...blobPrefixInternal, + name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name) + }; + return blobPrefix; + }) + } + }; + return wrappedResponse; + }); + } + /** + * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse + * + * @param marker - A string value that identifies the portion of + * the list of blobs to be returned with the next listing operation. The + * operation returns the ContinuationToken value within the response body if the + * listing operation did not return all blobs remaining to be listed + * with the current page. The ContinuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to list blobs operation. + */ + async *listSegments(marker, options = {}) { + let listBlobsFlatSegmentResponse; + if (!!marker || marker === void 0) { + do { + listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options); + marker = listBlobsFlatSegmentResponse.continuationToken; + yield await listBlobsFlatSegmentResponse; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator of {@link BlobItem} objects + * + * @param options - Options to list blobs operation. + */ + async *listItems(options = {}) { + let marker; + for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) { + yield* listBlobsFlatSegmentResponse.segment.blobItems; + } + } + /** + * Returns an async iterable iterator to list all the blobs + * under the specified account. + * + * .byPage() returns an async iterable iterator to list the blobs in pages. + * + * ```ts snippet:ReadmeSampleListBlobs_Multiple + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * + * // Example using `for await` syntax + * let i = 1; + * const blobs = containerClient.listBlobsFlat(); + * for await (const blob of blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * + * // Example using `iter.next()` syntax + * i = 1; + * const iter = containerClient.listBlobsFlat(); + * let { value, done } = await iter.next(); + * while (!done) { + * console.log(`Blob ${i++}: ${value.name}`); + * ({ value, done } = await iter.next()); + * } + * + * // Example using `byPage()` syntax + * i = 1; + * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) { + * for (const blob of page.segment.blobItems) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * + * // Example using paging with a marker + * i = 1; + * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * // Prints 2 blob names + * if (response.segment.blobItems) { + * for (const blob of response.segment.blobItems) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * // Prints 10 blob names + * if (response.segment.blobItems) { + * for (const blob of response.segment.blobItems) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * ``` + * + * @param options - Options to list blobs. + * @returns An asyncIterableIterator that supports paging. + */ + listBlobsFlat(options = {}) { + const include = []; + if (options.includeCopy) { + include.push("copy"); + } + if (options.includeDeleted) { + include.push("deleted"); + } + if (options.includeMetadata) { + include.push("metadata"); + } + if (options.includeSnapshots) { + include.push("snapshots"); + } + if (options.includeVersions) { + include.push("versions"); + } + if (options.includeUncommitedBlobs) { + include.push("uncommittedblobs"); + } + if (options.includeTags) { + include.push("tags"); + } + if (options.includeDeletedWithVersions) { + include.push("deletedwithversions"); + } + if (options.includeImmutabilityPolicy) { + include.push("immutabilitypolicy"); + } + if (options.includeLegalHold) { + include.push("legalhold"); + } + if (options.prefix === "") { + options.prefix = void 0; + } + const updatedOptions = { + ...options, + ...include.length > 0 ? { include } : {} + }; + const iter = this.listItems(updatedOptions); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.listSegments(settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...updatedOptions + }); + } + }; + } + /** + * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse + * + * @param delimiter - The character or string used to define the virtual hierarchy + * @param marker - A string value that identifies the portion of + * the list of blobs to be returned with the next listing operation. The + * operation returns the ContinuationToken value within the response body if the + * listing operation did not return all blobs remaining to be listed + * with the current page. The ContinuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to list blobs operation. + */ + async *listHierarchySegments(delimiter, marker, options = {}) { + let listBlobsHierarchySegmentResponse; + if (!!marker || marker === void 0) { + do { + listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options); + marker = listBlobsHierarchySegmentResponse.continuationToken; + yield await listBlobsHierarchySegmentResponse; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects. + * + * @param delimiter - The character or string used to define the virtual hierarchy + * @param options - Options to list blobs operation. + */ + async *listItemsByHierarchy(delimiter, options = {}) { + let marker; + for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) { + const segment = listBlobsHierarchySegmentResponse.segment; + if (segment.blobPrefixes) { + for (const prefix of segment.blobPrefixes) { + yield { + kind: "prefix", + ...prefix + }; + } + } + for (const blob of segment.blobItems) { + yield { kind: "blob", ...blob }; + } + } + } + /** + * Returns an async iterable iterator to list all the blobs by hierarchy. + * under the specified account. + * + * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages. + * + * ```ts snippet:ReadmeSampleListBlobsByHierarchy + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * + * // Example using `for await` syntax + * let i = 1; + * const blobs = containerClient.listBlobsByHierarchy("/"); + * for await (const blob of blobs) { + * if (blob.kind === "prefix") { + * console.log(`\tBlobPrefix: ${blob.name}`); + * } else { + * console.log(`\tBlobItem: name - ${blob.name}`); + * } + * } + * + * // Example using `iter.next()` syntax + * i = 1; + * const iter = containerClient.listBlobsByHierarchy("/"); + * let { value, done } = await iter.next(); + * while (!done) { + * if (value.kind === "prefix") { + * console.log(`\tBlobPrefix: ${value.name}`); + * } else { + * console.log(`\tBlobItem: name - ${value.name}`); + * } + * ({ value, done } = await iter.next()); + * } + * + * // Example using `byPage()` syntax + * i = 1; + * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) { + * const segment = page.segment; + * if (segment.blobPrefixes) { + * for (const prefix of segment.blobPrefixes) { + * console.log(`\tBlobPrefix: ${prefix.name}`); + * } + * } + * for (const blob of page.segment.blobItems) { + * console.log(`\tBlobItem: name - ${blob.name}`); + * } + * } + * + * // Example using paging with a marker + * i = 1; + * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * // Prints 2 blob names + * if (response.blobPrefixes) { + * for (const prefix of response.blobPrefixes) { + * console.log(`\tBlobPrefix: ${prefix.name}`); + * } + * } + * if (response.segment.blobItems) { + * for (const blob of response.segment.blobItems) { + * console.log(`\tBlobItem: name - ${blob.name}`); + * } + * } + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = containerClient + * .listBlobsByHierarchy("/") + * .byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * // Prints 10 blob names + * if (response.blobPrefixes) { + * for (const prefix of response.blobPrefixes) { + * console.log(`\tBlobPrefix: ${prefix.name}`); + * } + * } + * if (response.segment.blobItems) { + * for (const blob of response.segment.blobItems) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * ``` + * + * @param delimiter - The character or string used to define the virtual hierarchy + * @param options - Options to list blobs operation. + */ + listBlobsByHierarchy(delimiter, options = {}) { + if (delimiter === "") { + throw new RangeError("delimiter should contain one or more characters"); + } + const include = []; + if (options.includeCopy) { + include.push("copy"); + } + if (options.includeDeleted) { + include.push("deleted"); + } + if (options.includeMetadata) { + include.push("metadata"); + } + if (options.includeSnapshots) { + include.push("snapshots"); + } + if (options.includeVersions) { + include.push("versions"); + } + if (options.includeUncommitedBlobs) { + include.push("uncommittedblobs"); + } + if (options.includeTags) { + include.push("tags"); + } + if (options.includeDeletedWithVersions) { + include.push("deletedwithversions"); + } + if (options.includeImmutabilityPolicy) { + include.push("immutabilitypolicy"); + } + if (options.includeLegalHold) { + include.push("legalhold"); + } + if (options.prefix === "") { + options.prefix = void 0; + } + const updatedOptions = { + ...options, + ...include.length > 0 ? { include } : {} + }; + const iter = this.listItemsByHierarchy(delimiter, updatedOptions); + return { + /** + * The next method, part of the iteration protocol + */ + async next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.listHierarchySegments(delimiter, settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...updatedOptions + }); + } + }; + } + /** + * The Filter Blobs operation enables callers to list blobs in the container whose tags + * match a given search expression. + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param marker - A string value that identifies the portion of + * the list of blobs to be returned with the next listing operation. The + * operation returns the continuationToken value within the response body if the + * listing operation did not return all blobs remaining to be listed + * with the current page. The continuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to find blobs by tags. + */ + async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => { + const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({ + abortSignal: options.abortSignal, + where: tagFilterSqlExpression, + marker, + maxPageSize: options.maxPageSize, + tracingOptions: updatedOptions.tracingOptions + })); + const wrappedResponse = { + ...response, + _response: response._response, + // _response is made non-enumerable + blobs: response.blobs.map((blob) => { + let tagValue = ""; + if (blob.tags?.blobTagSet.length === 1) { + tagValue = blob.tags.blobTagSet[0].value; + } + return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue }; + }) + }; + return wrappedResponse; + }); + } + /** + * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse. + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param marker - A string value that identifies the portion of + * the list of blobs to be returned with the next listing operation. The + * operation returns the continuationToken value within the response body if the + * listing operation did not return all blobs remaining to be listed + * with the current page. The continuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to find blobs by tags. + */ + async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) { + let response; + if (!!marker || marker === void 0) { + do { + response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options); + response.blobs = response.blobs || []; + marker = response.continuationToken; + yield response; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator for blobs. + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param options - Options to findBlobsByTagsItems. + */ + async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) { + let marker; + for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) { + yield* segment.blobs; + } + } + /** + * Returns an async iterable iterator to find all blobs with specified tag + * under the specified container. + * + * .byPage() returns an async iterable iterator to list the blobs in pages. + * + * Example using `for await` syntax: + * + * ```ts snippet:ReadmeSampleFindBlobsByTags + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerName = ""; + * const containerClient = blobServiceClient.getContainerClient(containerName); + * + * // Example using `for await` syntax + * let i = 1; + * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * + * // Example using `iter.next()` syntax + * i = 1; + * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'"); + * let { value, done } = await iter.next(); + * while (!done) { + * console.log(`Blob ${i++}: ${value.name}`); + * ({ value, done } = await iter.next()); + * } + * + * // Example using `byPage()` syntax + * i = 1; + * for await (const page of containerClient + * .findBlobsByTags("tagkey='tagvalue'") + * .byPage({ maxPageSize: 20 })) { + * for (const blob of page.blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * + * // Example using paging with a marker + * i = 1; + * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * // Prints 2 blob names + * if (response.blobs) { + * for (const blob of response.blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = containerClient + * .findBlobsByTags("tagkey='tagvalue'") + * .byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * // Prints 10 blob names + * if (response.blobs) { + * for (const blob of response.blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * ``` + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param options - Options to find blobs by tags. + */ + findBlobsByTags(tagFilterSqlExpression, options = {}) { + const listSegmentOptions = { + ...options + }; + const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...listSegmentOptions + }); + } + }; + } + /** + * The Get Account Information operation returns the sku name and account kind + * for the specified account. + * The Get Account Information operation is available on service versions beginning + * with version 2018-03-28. + * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information + * + * @param options - Options to the Service Get Account Info operation. + * @returns Response data for the Service Get Account Info operation. + */ + async getAccountInfo(options = {}) { + return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => { + return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + getContainerNameFromUrl() { + let containerName; + try { + const parsedUrl = new URL(this.url); + if (parsedUrl.hostname.split(".")[1] === "blob") { + containerName = parsedUrl.pathname.split("/")[1]; + } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) { + containerName = parsedUrl.pathname.split("/")[2]; + } else { + containerName = parsedUrl.pathname.split("/")[1]; + } + containerName = decodeURIComponent(containerName); + if (!containerName) { + throw new Error("Provided containerName is invalid."); + } + return containerName; + } catch (error3) { + throw new Error("Unable to extract containerName with provided information."); + } + } + /** + * Only available for ContainerClient constructed with a shared key credential. + * + * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties + * and parameters passed in. The SAS is signed by the shared key credential of the client. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateSasUrl(options) { + return new Promise((resolve5) => { + if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { + throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); + } + const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ + containerName: this._containerName, + ...options + }, this.credential).toString(); + resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + }); + } + /** + * Only available for ContainerClient constructed with a shared key credential. + * + * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI + * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ + generateSasStringToSign(options) { + if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { + throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); + } + return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ + containerName: this._containerName, + ...options + }, this.credential).stringToSign; + } + /** + * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties + * and parameters passed in. The SAS is signed by the input user delegation key. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateUserDelegationSasUrl(options, userDelegationKey) { + return new Promise((resolve5) => { + const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ + containerName: this._containerName, + ...options + }, userDelegationKey, this.accountName).toString(); + resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + }); + } + /** + * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI + * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas + * + * @param options - Optional parameters. + * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` + * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateUserDelegationSasStringToSign(options, userDelegationKey) { + return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ + containerName: this._containerName, + ...options + }, userDelegationKey, this.accountName).stringToSign; + } + /** + * Creates a BlobBatchClient object to conduct batch operations. + * + * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch + * + * @returns A new BlobBatchClient object for this container. + */ + getBlobBatchClient() { + return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline); + } + }; + exports2.ContainerClient = ContainerClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js +var require_AccountSASPermissions = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AccountSASPermissions = void 0; + var AccountSASPermissions = class _AccountSASPermissions { + /** + * Parse initializes the AccountSASPermissions fields from a string. + * + * @param permissions - + */ + static parse(permissions) { + const accountSASPermissions = new _AccountSASPermissions(); + for (const c of permissions) { + switch (c) { + case "r": + accountSASPermissions.read = true; + break; + case "w": + accountSASPermissions.write = true; + break; + case "d": + accountSASPermissions.delete = true; + break; + case "x": + accountSASPermissions.deleteVersion = true; + break; + case "l": + accountSASPermissions.list = true; + break; + case "a": + accountSASPermissions.add = true; + break; + case "c": + accountSASPermissions.create = true; + break; + case "u": + accountSASPermissions.update = true; + break; + case "p": + accountSASPermissions.process = true; + break; + case "t": + accountSASPermissions.tag = true; + break; + case "f": + accountSASPermissions.filter = true; + break; + case "i": + accountSASPermissions.setImmutabilityPolicy = true; + break; + case "y": + accountSASPermissions.permanentDelete = true; + break; + default: + throw new RangeError(`Invalid permission character: ${c}`); + } + } + return accountSASPermissions; + } + /** + * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it + * and boolean values for them. + * + * @param permissionLike - + */ + static from(permissionLike) { + const accountSASPermissions = new _AccountSASPermissions(); + if (permissionLike.read) { + accountSASPermissions.read = true; + } + if (permissionLike.write) { + accountSASPermissions.write = true; + } + if (permissionLike.delete) { + accountSASPermissions.delete = true; + } + if (permissionLike.deleteVersion) { + accountSASPermissions.deleteVersion = true; + } + if (permissionLike.filter) { + accountSASPermissions.filter = true; + } + if (permissionLike.tag) { + accountSASPermissions.tag = true; + } + if (permissionLike.list) { + accountSASPermissions.list = true; + } + if (permissionLike.add) { + accountSASPermissions.add = true; + } + if (permissionLike.create) { + accountSASPermissions.create = true; + } + if (permissionLike.update) { + accountSASPermissions.update = true; + } + if (permissionLike.process) { + accountSASPermissions.process = true; + } + if (permissionLike.setImmutabilityPolicy) { + accountSASPermissions.setImmutabilityPolicy = true; + } + if (permissionLike.permanentDelete) { + accountSASPermissions.permanentDelete = true; + } + return accountSASPermissions; + } + /** + * Permission to read resources and list queues and tables granted. + */ + read = false; + /** + * Permission to write resources granted. + */ + write = false; + /** + * Permission to delete blobs and files granted. + */ + delete = false; + /** + * Permission to delete versions granted. + */ + deleteVersion = false; + /** + * Permission to list blob containers, blobs, shares, directories, and files granted. + */ + list = false; + /** + * Permission to add messages, table entities, and append to blobs granted. + */ + add = false; + /** + * Permission to create blobs and files granted. + */ + create = false; + /** + * Permissions to update messages and table entities granted. + */ + update = false; + /** + * Permission to get and delete messages granted. + */ + process = false; + /** + * Specfies Tag access granted. + */ + tag = false; + /** + * Permission to filter blobs. + */ + filter = false; + /** + * Permission to set immutability policy. + */ + setImmutabilityPolicy = false; + /** + * Specifies that Permanent Delete is permitted. + */ + permanentDelete = false; + /** + * Produces the SAS permissions string for an Azure Storage account. + * Call this method to set AccountSASSignatureValues Permissions field. + * + * Using this method will guarantee the resource types are in + * an order accepted by the service. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas + * + */ + toString() { + const permissions = []; + if (this.read) { + permissions.push("r"); + } + if (this.write) { + permissions.push("w"); + } + if (this.delete) { + permissions.push("d"); + } + if (this.deleteVersion) { + permissions.push("x"); + } + if (this.filter) { + permissions.push("f"); + } + if (this.tag) { + permissions.push("t"); + } + if (this.list) { + permissions.push("l"); + } + if (this.add) { + permissions.push("a"); + } + if (this.create) { + permissions.push("c"); + } + if (this.update) { + permissions.push("u"); + } + if (this.process) { + permissions.push("p"); + } + if (this.setImmutabilityPolicy) { + permissions.push("i"); + } + if (this.permanentDelete) { + permissions.push("y"); + } + return permissions.join(""); + } + }; + exports2.AccountSASPermissions = AccountSASPermissions; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js +var require_AccountSASResourceTypes = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AccountSASResourceTypes = void 0; + var AccountSASResourceTypes = class _AccountSASResourceTypes { + /** + * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an + * Error if it encounters a character that does not correspond to a valid resource type. + * + * @param resourceTypes - + */ + static parse(resourceTypes) { + const accountSASResourceTypes = new _AccountSASResourceTypes(); + for (const c of resourceTypes) { + switch (c) { + case "s": + accountSASResourceTypes.service = true; + break; + case "c": + accountSASResourceTypes.container = true; + break; + case "o": + accountSASResourceTypes.object = true; + break; + default: + throw new RangeError(`Invalid resource type: ${c}`); + } + } + return accountSASResourceTypes; + } + /** + * Permission to access service level APIs granted. + */ + service = false; + /** + * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted. + */ + container = false; + /** + * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted. + */ + object = false; + /** + * Converts the given resource types to a string. + * + * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas + * + */ + toString() { + const resourceTypes = []; + if (this.service) { + resourceTypes.push("s"); + } + if (this.container) { + resourceTypes.push("c"); + } + if (this.object) { + resourceTypes.push("o"); + } + return resourceTypes.join(""); + } + }; + exports2.AccountSASResourceTypes = AccountSASResourceTypes; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js +var require_AccountSASServices = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AccountSASServices = void 0; + var AccountSASServices = class _AccountSASServices { + /** + * Creates an {@link AccountSASServices} from the specified services string. This method will throw an + * Error if it encounters a character that does not correspond to a valid service. + * + * @param services - + */ + static parse(services) { + const accountSASServices = new _AccountSASServices(); + for (const c of services) { + switch (c) { + case "b": + accountSASServices.blob = true; + break; + case "f": + accountSASServices.file = true; + break; + case "q": + accountSASServices.queue = true; + break; + case "t": + accountSASServices.table = true; + break; + default: + throw new RangeError(`Invalid service character: ${c}`); + } + } + return accountSASServices; + } + /** + * Permission to access blob resources granted. + */ + blob = false; + /** + * Permission to access file resources granted. + */ + file = false; + /** + * Permission to access queue resources granted. + */ + queue = false; + /** + * Permission to access table resources granted. + */ + table = false; + /** + * Converts the given services to a string. + * + */ + toString() { + const services = []; + if (this.blob) { + services.push("b"); + } + if (this.table) { + services.push("t"); + } + if (this.queue) { + services.push("q"); + } + if (this.file) { + services.push("f"); + } + return services.join(""); + } + }; + exports2.AccountSASServices = AccountSASServices; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js +var require_AccountSASSignatureValues = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters; + exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal; + var AccountSASPermissions_js_1 = require_AccountSASPermissions(); + var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes(); + var AccountSASServices_js_1 = require_AccountSASServices(); + var SasIPRange_js_1 = require_SasIPRange(); + var SASQueryParameters_js_1 = require_SASQueryParameters(); + var constants_js_1 = require_constants15(); + var utils_common_js_1 = require_utils_common(); + function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) { + return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters; + } + function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) { + const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION; + if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") { + throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission."); + } + if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") { + throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission."); + } + if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") { + throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission."); + } + if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") { + throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission."); + } + if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") { + throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission."); + } + if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") { + throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS."); + } + const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString()); + const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString(); + const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString(); + let stringToSign; + if (version >= "2020-12-06") { + stringToSign = [ + sharedKeyCredential.accountName, + parsedPermissions, + parsedServices, + parsedResourceTypes, + accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "", + (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false), + accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "", + accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "", + version, + accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "", + "" + // Account SAS requires an additional newline character + ].join("\n"); + } else { + stringToSign = [ + sharedKeyCredential.accountName, + parsedPermissions, + parsedServices, + parsedResourceTypes, + accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "", + (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false), + accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "", + accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "", + version, + "" + // Account SAS requires an additional newline character + ].join("\n"); + } + const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); + return { + sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope), + stringToSign + }; + } + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js +var require_BlobServiceClient = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BlobServiceClient = void 0; + var core_auth_1 = require_commonjs7(); + var core_rest_pipeline_1 = require_commonjs6(); + var core_util_1 = require_commonjs4(); + var Pipeline_js_1 = require_Pipeline(); + var ContainerClient_js_1 = require_ContainerClient(); + var utils_common_js_1 = require_utils_common(); + var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); + var AnonymousCredential_js_1 = require_AnonymousCredential(); + var utils_common_js_2 = require_utils_common(); + var tracing_js_1 = require_tracing(); + var BlobBatchClient_js_1 = require_BlobBatchClient(); + var StorageClient_js_1 = require_StorageClient(); + var AccountSASPermissions_js_1 = require_AccountSASPermissions(); + var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues(); + var AccountSASServices_js_1 = require_AccountSASServices(); + var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient { + /** + * serviceContext provided by protocol layer. + */ + serviceContext; + /** + * + * Creates an instance of BlobServiceClient from connection string. + * + * @param connectionString - Account connection string or a SAS connection string of an Azure storage account. + * [ Note - Account connection string can only be used in NODE.JS runtime. ] + * Account connection string example - + * `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net` + * SAS connection string example - + * `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString` + * @param options - Optional. Options to configure the HTTP pipeline. + */ + static fromConnectionString(connectionString, options) { + options = options || {}; + const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString); + if (extractedCreds.kind === "AccountConnString") { + if (core_util_1.isNodeLike) { + const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); + if (!options.proxyOptions) { + options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + return new _BlobServiceClient(extractedCreds.url, pipeline); + } else { + throw new Error("Account connection string is only supported in Node.js environment"); + } + } else if (extractedCreds.kind === "SASConnString") { + const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline); + } else { + throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + } + } + constructor(url, credentialOrPipeline, options) { + let pipeline; + if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) { + pipeline = credentialOrPipeline; + } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) { + pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options); + } else { + pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + } + super(url, pipeline); + this.serviceContext = this.storageClientContext.service; + } + /** + * Creates a {@link ContainerClient} object + * + * @param containerName - A container name + * @returns A new ContainerClient object for the given container name. + * + * Example usage: + * + * ```ts snippet:BlobServiceClientGetContainerClient + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * const containerClient = blobServiceClient.getContainerClient(""); + * ``` + */ + getContainerClient(containerName) { + return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline); + } + /** + * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container + * + * @param containerName - Name of the container to create. + * @param options - Options to configure Container Create operation. + * @returns Container creation response and the corresponding container client. + */ + async createContainer(containerName, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => { + const containerClient = this.getContainerClient(containerName); + const containerCreateResponse = await containerClient.create(updatedOptions); + return { + containerClient, + containerCreateResponse + }; + }); + } + /** + * Deletes a Blob container. + * + * @param containerName - Name of the container to delete. + * @param options - Options to configure Container Delete operation. + * @returns Container deletion response. + */ + async deleteContainer(containerName, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => { + const containerClient = this.getContainerClient(containerName); + return containerClient.delete(updatedOptions); + }); + } + /** + * Restore a previously deleted Blob container. + * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container. + * + * @param deletedContainerName - Name of the previously deleted container. + * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container. + * @param options - Options to configure Container Restore operation. + * @returns Container deletion response. + */ + async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => { + const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName); + const containerContext = containerClient["storageClientContext"].container; + const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({ + deletedContainerName, + deletedContainerVersion, + tracingOptions: updatedOptions.tracingOptions + })); + return { containerClient, containerUndeleteResponse }; + }); + } + /** + * Gets the properties of a storage account’s Blob service, including properties + * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. + * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties + * + * @param options - Options to the Service Get Properties operation. + * @returns Response data for the Service Get Properties operation. + */ + async getProperties(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => { + return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Sets properties for a storage account’s Blob service endpoint, including properties + * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings. + * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties + * + * @param properties - + * @param options - Options to the Service Set Properties operation. + * @returns Response data for the Service Set Properties operation. + */ + async setProperties(properties, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => { + return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, { + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Retrieves statistics related to replication for the Blob service. It is only + * available on the secondary location endpoint when read-access geo-redundant + * replication is enabled for the storage account. + * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats + * + * @param options - Options to the Service Get Statistics operation. + * @returns Response data for the Service Get Statistics operation. + */ + async getStatistics(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => { + return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The Get Account Information operation returns the sku name and account kind + * for the specified account. + * The Get Account Information operation is available on service versions beginning + * with version 2018-03-28. + * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information + * + * @param options - Options to the Service Get Account Info operation. + * @returns Response data for the Service Get Account Info operation. + */ + async getAccountInfo(options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => { + return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({ + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * Returns a list of the containers under the specified account. + * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2 + * + * @param marker - A string value that identifies the portion of + * the list of containers to be returned with the next listing operation. The + * operation returns the continuationToken value within the response body if the + * listing operation did not return all containers remaining to be listed + * with the current page. The continuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to the Service List Container Segment operation. + * @returns Response data for the Service List Container Segment operation. + */ + async listContainersSegment(marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => { + return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({ + abortSignal: options.abortSignal, + marker, + ...options, + include: typeof options.include === "string" ? [options.include] : options.include, + tracingOptions: updatedOptions.tracingOptions + })); + }); + } + /** + * The Filter Blobs operation enables callers to list blobs across all containers whose tags + * match a given search expression. Filter blobs searches across all containers within a + * storage account but can be scoped within the expression to a single container. + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param marker - A string value that identifies the portion of + * the list of blobs to be returned with the next listing operation. The + * operation returns the continuationToken value within the response body if the + * listing operation did not return all blobs remaining to be listed + * with the current page. The continuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to find blobs by tags. + */ + async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => { + const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({ + abortSignal: options.abortSignal, + where: tagFilterSqlExpression, + marker, + maxPageSize: options.maxPageSize, + tracingOptions: updatedOptions.tracingOptions + })); + const wrappedResponse = { + ...response, + _response: response._response, + // _response is made non-enumerable + blobs: response.blobs.map((blob) => { + let tagValue = ""; + if (blob.tags?.blobTagSet.length === 1) { + tagValue = blob.tags.blobTagSet[0].value; + } + return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue }; + }) + }; + return wrappedResponse; + }); + } + /** + * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse. + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param marker - A string value that identifies the portion of + * the list of blobs to be returned with the next listing operation. The + * operation returns the continuationToken value within the response body if the + * listing operation did not return all blobs remaining to be listed + * with the current page. The continuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to find blobs by tags. + */ + async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) { + let response; + if (!!marker || marker === void 0) { + do { + response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options); + response.blobs = response.blobs || []; + marker = response.continuationToken; + yield response; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator for blobs. + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param options - Options to findBlobsByTagsItems. + */ + async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) { + let marker; + for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) { + yield* segment.blobs; + } + } + /** + * Returns an async iterable iterator to find all blobs with specified tag + * under the specified account. + * + * .byPage() returns an async iterable iterator to list the blobs in pages. + * + * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties + * + * ```ts snippet:BlobServiceClientFindBlobsByTags + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * // Use for await to iterate the blobs + * let i = 1; + * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * + * // Use iter.next() to iterate the blobs + * i = 1; + * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'"); + * let { value, done } = await iter.next(); + * while (!done) { + * console.log(`Blob ${i++}: ${value.name}`); + * ({ value, done } = await iter.next()); + * } + * + * // Use byPage() to iterate the blobs + * i = 1; + * for await (const page of blobServiceClient + * .findBlobsByTags("tagkey='tagvalue'") + * .byPage({ maxPageSize: 20 })) { + * for (const blob of page.blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * + * // Use paging with a marker + * i = 1; + * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * // Prints 2 blob names + * if (response.blobs) { + * for (const blob of response.blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = blobServiceClient + * .findBlobsByTags("tagkey='tagvalue'") + * .byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * + * // Prints blob names + * if (response.blobs) { + * for (const blob of response.blobs) { + * console.log(`Blob ${i++}: ${blob.name}`); + * } + * } + * ``` + * + * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. + * The given expression must evaluate to true for a blob to be returned in the results. + * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; + * however, only a subset of the OData filter syntax is supported in the Blob service. + * @param options - Options to find blobs by tags. + */ + findBlobsByTags(tagFilterSqlExpression, options = {}) { + const listSegmentOptions = { + ...options + }; + const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...listSegmentOptions + }); + } + }; + } + /** + * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses + * + * @param marker - A string value that identifies the portion of + * the list of containers to be returned with the next listing operation. The + * operation returns the continuationToken value within the response body if the + * listing operation did not return all containers remaining to be listed + * with the current page. The continuationToken value can be used as the value for + * the marker parameter in a subsequent call to request the next page of list + * items. The marker value is opaque to the client. + * @param options - Options to list containers operation. + */ + async *listSegments(marker, options = {}) { + let listContainersSegmentResponse; + if (!!marker || marker === void 0) { + do { + listContainersSegmentResponse = await this.listContainersSegment(marker, options); + listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || []; + marker = listContainersSegmentResponse.continuationToken; + yield await listContainersSegmentResponse; + } while (marker); + } + } + /** + * Returns an AsyncIterableIterator for Container Items + * + * @param options - Options to list containers operation. + */ + async *listItems(options = {}) { + let marker; + for await (const segment of this.listSegments(marker, options)) { + yield* segment.containerItems; + } + } + /** + * Returns an async iterable iterator to list all the containers + * under the specified account. + * + * .byPage() returns an async iterable iterator to list the containers in pages. + * + * ```ts snippet:BlobServiceClientListContainers + * import { BlobServiceClient } from "@azure/storage-blob"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * const account = ""; + * const blobServiceClient = new BlobServiceClient( + * `https://${account}.blob.core.windows.net`, + * new DefaultAzureCredential(), + * ); + * + * // Use for await to iterate the containers + * let i = 1; + * for await (const container of blobServiceClient.listContainers()) { + * console.log(`Container ${i++}: ${container.name}`); + * } + * + * // Use iter.next() to iterate the containers + * i = 1; + * const iter = blobServiceClient.listContainers(); + * let { value, done } = await iter.next(); + * while (!done) { + * console.log(`Container ${i++}: ${value.name}`); + * ({ value, done } = await iter.next()); + * } + * + * // Use byPage() to iterate the containers + * i = 1; + * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) { + * for (const container of page.containerItems) { + * console.log(`Container ${i++}: ${container.name}`); + * } + * } + * + * // Use paging with a marker + * i = 1; + * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 }); + * let response = (await iterator.next()).value; + * + * // Prints 2 container names + * if (response.containerItems) { + * for (const container of response.containerItems) { + * console.log(`Container ${i++}: ${container.name}`); + * } + * } + * + * // Gets next marker + * let marker = response.continuationToken; + * // Passing next marker as continuationToken + * iterator = blobServiceClient + * .listContainers() + * .byPage({ continuationToken: marker, maxPageSize: 10 }); + * response = (await iterator.next()).value; + * + * // Prints 10 container names + * if (response.containerItems) { + * for (const container of response.containerItems) { + * console.log(`Container ${i++}: ${container.name}`); + * } + * } + * ``` + * + * @param options - Options to list containers. + * @returns An asyncIterableIterator that supports paging. + */ + listContainers(options = {}) { + if (options.prefix === "") { + options.prefix = void 0; + } + const include = []; + if (options.includeDeleted) { + include.push("deleted"); + } + if (options.includeMetadata) { + include.push("metadata"); + } + if (options.includeSystem) { + include.push("system"); + } + const listSegmentOptions = { + ...options, + ...include.length > 0 ? { include } : {} + }; + const iter = this.listItems(listSegmentOptions); + return { + /** + * The next method, part of the iteration protocol + */ + next() { + return iter.next(); + }, + /** + * The connection to the async iterator, part of the iteration protocol + */ + [Symbol.asyncIterator]() { + return this; + }, + /** + * Return an AsyncIterableIterator that works a page at a time + */ + byPage: (settings = {}) => { + return this.listSegments(settings.continuationToken, { + maxPageSize: settings.maxPageSize, + ...listSegmentOptions + }); + } + }; + } + /** + * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential). + * + * Retrieves a user delegation key for the Blob service. This is only a valid operation when using + * bearer token authentication. + * + * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key + * + * @param startsOn - The start time for the user delegation SAS. Must be within 7 days of the current time + * @param expiresOn - The end time for the user delegation SAS. Must be within 7 days of the current time + */ + async getUserDelegationKey(startsOn, expiresOn, options = {}) { + return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => { + const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({ + startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false), + expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false) + }, { + abortSignal: options.abortSignal, + tracingOptions: updatedOptions.tracingOptions + })); + const userDelegationKey = { + signedObjectId: response.signedObjectId, + signedTenantId: response.signedTenantId, + signedStartsOn: new Date(response.signedStartsOn), + signedExpiresOn: new Date(response.signedExpiresOn), + signedService: response.signedService, + signedVersion: response.signedVersion, + value: response.value + }; + const res = { + _response: response._response, + requestId: response.requestId, + clientRequestId: response.clientRequestId, + version: response.version, + date: response.date, + errorCode: response.errorCode, + ...userDelegationKey + }; + return res; + }); + } + /** + * Creates a BlobBatchClient object to conduct batch operations. + * + * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch + * + * @returns A new BlobBatchClient object for this service. + */ + getBlobBatchClient() { + return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline); + } + /** + * Only available for BlobServiceClient constructed with a shared key credential. + * + * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties + * and parameters passed in. The SAS is signed by the shared key credential of the client. + * + * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas + * + * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided. + * @param permissions - Specifies the list of permissions to be associated with the SAS. + * @param resourceTypes - Specifies the resource types associated with the shared access signature. + * @param options - Optional parameters. + * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) { + if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { + throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential"); + } + if (expiresOn === void 0) { + const now = /* @__PURE__ */ new Date(); + expiresOn = new Date(now.getTime() + 3600 * 1e3); + } + const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({ + permissions, + expiresOn, + resourceTypes, + services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(), + ...options + }, this.credential).toString(); + return (0, utils_common_js_1.appendToURLQuery)(this.url, sas); + } + /** + * Only available for BlobServiceClient constructed with a shared key credential. + * + * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on + * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client. + * + * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas + * + * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided. + * @param permissions - Specifies the list of permissions to be associated with the SAS. + * @param resourceTypes - Specifies the resource types associated with the shared access signature. + * @param options - Optional parameters. + * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. + */ + generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) { + if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { + throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential"); + } + if (expiresOn === void 0) { + const now = /* @__PURE__ */ new Date(); + expiresOn = new Date(now.getTime() + 3600 * 1e3); + } + return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({ + permissions, + expiresOn, + resourceTypes, + services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(), + ...options + }, this.credential).stringToSign; + } + }; + exports2.BlobServiceClient = BlobServiceClient; + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js +var require_BatchResponse = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js +var require_generatedModels = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.KnownEncryptionAlgorithmType = void 0; + var KnownEncryptionAlgorithmType; + (function(KnownEncryptionAlgorithmType2) { + KnownEncryptionAlgorithmType2["AES256"] = "AES256"; + })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {})); + } +}); + +// node_modules/@azure/storage-blob/dist/commonjs/index.js +var require_commonjs15 = __commonJS({ + "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var core_rest_pipeline_1 = require_commonjs6(); + Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() { + return core_rest_pipeline_1.RestError; + } }); + tslib_1.__exportStar(require_BlobServiceClient(), exports2); + tslib_1.__exportStar(require_Clients(), exports2); + tslib_1.__exportStar(require_ContainerClient(), exports2); + tslib_1.__exportStar(require_BlobLeaseClient(), exports2); + tslib_1.__exportStar(require_AccountSASPermissions(), exports2); + tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2); + tslib_1.__exportStar(require_AccountSASServices(), exports2); + var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues(); + Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() { + return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters; + } }); + tslib_1.__exportStar(require_BlobBatch(), exports2); + tslib_1.__exportStar(require_BlobBatchClient(), exports2); + tslib_1.__exportStar(require_BatchResponse(), exports2); + tslib_1.__exportStar(require_BlobSASPermissions(), exports2); + var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues(); + Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() { + return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters; + } }); + tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2); + tslib_1.__exportStar(require_ContainerSASPermissions(), exports2); + tslib_1.__exportStar(require_AnonymousCredential(), exports2); + tslib_1.__exportStar(require_Credential(), exports2); + tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2); + var models_js_1 = require_models2(); + Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() { + return models_js_1.BlockBlobTier; + } }); + Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() { + return models_js_1.PremiumPageBlobTier; + } }); + Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() { + return models_js_1.StorageBlobAudience; + } }); + Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() { + return models_js_1.getBlobServiceAccountAudience; + } }); + var Pipeline_js_1 = require_Pipeline(); + Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() { + return Pipeline_js_1.Pipeline; + } }); + Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() { + return Pipeline_js_1.isPipelineLike; + } }); + Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() { + return Pipeline_js_1.newPipeline; + } }); + Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() { + return Pipeline_js_1.StorageOAuthScopes; + } }); + tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2); + var RequestPolicy_js_1 = require_RequestPolicy(); + Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() { + return RequestPolicy_js_1.BaseRequestPolicy; + } }); + tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2); + tslib_1.__exportStar(require_CredentialPolicy(), exports2); + tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2); + tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2); + tslib_1.__exportStar(require_SASQueryParameters(), exports2); + tslib_1.__exportStar(require_generatedModels(), exports2); + var log_js_1 = require_log5(); + Object.defineProperty(exports2, "logger", { enumerable: true, get: function() { + return log_js_1.logger; + } }); + } +}); + +// node_modules/@actions/cache/lib/internal/shared/errors.js +var require_errors3 = __commonJS({ + "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RateLimitError = exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.CacheNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0; + var FilesNotFoundError = class extends Error { + constructor(files = []) { + let message = "No files were found to upload"; + if (files.length > 0) { + message += `: ${files.join(", ")}`; + } + super(message); + this.files = files; + this.name = "FilesNotFoundError"; + } + }; + exports2.FilesNotFoundError = FilesNotFoundError; + var InvalidResponseError = class extends Error { + constructor(message) { + super(message); + this.name = "InvalidResponseError"; + } + }; + exports2.InvalidResponseError = InvalidResponseError; + var CacheNotFoundError = class extends Error { + constructor(message = "Cache not found") { + super(message); + this.name = "CacheNotFoundError"; + } + }; + exports2.CacheNotFoundError = CacheNotFoundError; + var GHESNotSupportedError = class extends Error { + constructor(message = "@actions/cache v4.1.4+, actions/cache/save@v4+ and actions/cache/restore@v4+ are not currently supported on GHES.") { + super(message); + this.name = "GHESNotSupportedError"; + } + }; + exports2.GHESNotSupportedError = GHESNotSupportedError; + var NetworkError = class extends Error { + constructor(code) { + const message = `Unable to make request: ${code} +If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`; + super(message); + this.code = code; + this.name = "NetworkError"; + } + }; + exports2.NetworkError = NetworkError; + NetworkError.isNetworkErrorCode = (code) => { + if (!code) + return false; + return [ + "ECONNRESET", + "ENOTFOUND", + "ETIMEDOUT", + "ECONNREFUSED", + "EHOSTUNREACH" + ].includes(code); + }; + var UsageError = class extends Error { + constructor() { + const message = `Cache storage quota has been hit. Unable to upload any new cache entries. Usage is recalculated every 6-12 hours. +More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`; + super(message); + this.name = "UsageError"; + } + }; + exports2.UsageError = UsageError; + UsageError.isUsageErrorMessage = (msg) => { + if (!msg) + return false; + return msg.includes("insufficient usage"); + }; + var RateLimitError = class extends Error { + constructor(message) { + super(message); + this.name = "RateLimitError"; + } + }; + exports2.RateLimitError = RateLimitError; + } +}); + +// node_modules/@actions/cache/lib/internal/uploadUtils.js +var require_uploadUtils = __commonJS({ + "node_modules/@actions/cache/lib/internal/uploadUtils.js"(exports2) { + "use strict"; + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = Object.getOwnPropertyNames || function(o2) { + var ar = []; + for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.UploadProgress = void 0; + exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK; + var core14 = __importStar2(require_core()); + var storage_blob_1 = require_commonjs15(); + var errors_1 = require_errors3(); + var UploadProgress = class { + constructor(contentLength) { + this.contentLength = contentLength; + this.sentBytes = 0; + this.displayedComplete = false; + this.startTime = Date.now(); + } + /** + * Sets the number of bytes sent + * + * @param sentBytes the number of bytes sent + */ + setSentBytes(sentBytes) { + this.sentBytes = sentBytes; + } + /** + * Returns the total number of bytes transferred. + */ + getTransferredBytes() { + return this.sentBytes; + } + /** + * Returns true if the upload is complete. + */ + isDone() { + return this.getTransferredBytes() === this.contentLength; + } + /** + * Prints the current upload stats. Once the upload completes, this will print one + * last line and then stop. + */ + display() { + if (this.displayedComplete) { + return; + } + const transferredBytes = this.sentBytes; + const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1); + const elapsedTime = Date.now() - this.startTime; + const uploadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1); + core14.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`); + if (this.isDone()) { + this.displayedComplete = true; + } + } + /** + * Returns a function used to handle TransferProgressEvents. + */ + onProgress() { + return (progress) => { + this.setSentBytes(progress.loadedBytes); + }; + } + /** + * Starts the timer that displays the stats. + * + * @param delayInMs the delay between each write + */ + startDisplayTimer(delayInMs = 1e3) { + const displayCallback = () => { + this.display(); + if (!this.isDone()) { + this.timeoutHandle = setTimeout(displayCallback, delayInMs); + } + }; + this.timeoutHandle = setTimeout(displayCallback, delayInMs); + } + /** + * Stops the timer that displays the stats. As this typically indicates the upload + * is complete, this will display one last line, unless the last line has already + * been written. + */ + stopDisplayTimer() { + if (this.timeoutHandle) { + clearTimeout(this.timeoutHandle); + this.timeoutHandle = void 0; + } + this.display(); + } + }; + exports2.UploadProgress = UploadProgress; + function uploadCacheArchiveSDK(signedUploadURL, archivePath, options) { + return __awaiter2(this, void 0, void 0, function* () { + var _a; + const blobClient = new storage_blob_1.BlobClient(signedUploadURL); + const blockBlobClient = blobClient.getBlockBlobClient(); + const uploadProgress = new UploadProgress((_a = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a !== void 0 ? _a : 0); + const uploadOptions = { + blockSize: options === null || options === void 0 ? void 0 : options.uploadChunkSize, + concurrency: options === null || options === void 0 ? void 0 : options.uploadConcurrency, + // maximum number of parallel transfer workers + maxSingleShotSize: 128 * 1024 * 1024, + // 128 MiB initial transfer size + onProgress: uploadProgress.onProgress() + }; + try { + uploadProgress.startDisplayTimer(); + core14.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`); + const response = yield blockBlobClient.uploadFile(archivePath, uploadOptions); + if (response._response.status >= 400) { + throw new errors_1.InvalidResponseError(`uploadCacheArchiveSDK: upload failed with status code ${response._response.status}`); + } + return response; + } catch (error3) { + core14.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`); + throw error3; + } finally { + uploadProgress.stopDisplayTimer(); + } + }); + } + } +}); + +// node_modules/@actions/cache/lib/internal/requestUtils.js +var require_requestUtils = __commonJS({ + "node_modules/@actions/cache/lib/internal/requestUtils.js"(exports2) { + "use strict"; + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = Object.getOwnPropertyNames || function(o2) { + var ar = []; + for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.isSuccessStatusCode = isSuccessStatusCode; + exports2.isServerErrorStatusCode = isServerErrorStatusCode; + exports2.isRetryableStatusCode = isRetryableStatusCode; + exports2.retry = retry2; + exports2.retryTypedResponse = retryTypedResponse; + exports2.retryHttpClientResponse = retryHttpClientResponse; + var core14 = __importStar2(require_core()); + var http_client_1 = require_lib(); + var constants_1 = require_constants12(); + function isSuccessStatusCode(statusCode) { + if (!statusCode) { + return false; + } + return statusCode >= 200 && statusCode < 300; + } + function isServerErrorStatusCode(statusCode) { + if (!statusCode) { + return true; + } + return statusCode >= 500; + } + function isRetryableStatusCode(statusCode) { + if (!statusCode) { + return false; + } + const retryableStatusCodes = [ + http_client_1.HttpCodes.BadGateway, + http_client_1.HttpCodes.ServiceUnavailable, + http_client_1.HttpCodes.GatewayTimeout + ]; + return retryableStatusCodes.includes(statusCode); + } + function sleep(milliseconds) { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve5) => setTimeout(resolve5, milliseconds)); + }); + } + function retry2(name_1, method_1, getStatusCode_1) { + return __awaiter2(this, arguments, void 0, function* (name, method, getStatusCode, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay, onError = void 0) { + let errorMessage = ""; + let attempt = 1; + while (attempt <= maxAttempts) { + let response = void 0; + let statusCode = void 0; + let isRetryable = false; + try { + response = yield method(); + } catch (error3) { + if (onError) { + response = onError(error3); + } + isRetryable = true; + errorMessage = error3.message; + } + if (response) { + statusCode = getStatusCode(response); + if (!isServerErrorStatusCode(statusCode)) { + return response; + } + } + if (statusCode) { + isRetryable = isRetryableStatusCode(statusCode); + errorMessage = `Cache service responded with ${statusCode}`; + } + core14.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`); + if (!isRetryable) { + core14.debug(`${name} - Error is not retryable`); + break; + } + yield sleep(delay); + attempt++; + } + throw Error(`${name} failed: ${errorMessage}`); + }); + } + function retryTypedResponse(name_1, method_1) { + return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) { + return yield retry2( + name, + method, + (response) => response.statusCode, + maxAttempts, + delay, + // If the error object contains the statusCode property, extract it and return + // an TypedResponse so it can be processed by the retry logic. + (error3) => { + if (error3 instanceof http_client_1.HttpClientError) { + return { + statusCode: error3.statusCode, + result: null, + headers: {}, + error: error3 + }; + } else { + return void 0; + } + } + ); + }); + } + function retryHttpClientResponse(name_1, method_1) { + return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) { + return yield retry2(name, method, (response) => response.message.statusCode, maxAttempts, delay); + }); + } + } +}); + +// node_modules/@azure/abort-controller/dist/index.js +var require_dist4 = __commonJS({ + "node_modules/@azure/abort-controller/dist/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var listenersMap = /* @__PURE__ */ new WeakMap(); + var abortedMap = /* @__PURE__ */ new WeakMap(); + var AbortSignal2 = class _AbortSignal { + constructor() { + this.onabort = null; + listenersMap.set(this, []); + abortedMap.set(this, false); + } + /** + * Status of whether aborted or not. + * + * @readonly + */ + get aborted() { + if (!abortedMap.has(this)) { + throw new TypeError("Expected `this` to be an instance of AbortSignal."); + } + return abortedMap.get(this); + } + /** + * Creates a new AbortSignal instance that will never be aborted. + * + * @readonly + */ + static get none() { + return new _AbortSignal(); + } + /** + * Added new "abort" event listener, only support "abort" event. + * + * @param _type - Only support "abort" event + * @param listener - The listener to be added + */ + addEventListener(_type, listener) { + if (!listenersMap.has(this)) { + throw new TypeError("Expected `this` to be an instance of AbortSignal."); + } + const listeners = listenersMap.get(this); + listeners.push(listener); + } + /** + * Remove "abort" event listener, only support "abort" event. + * + * @param _type - Only support "abort" event + * @param listener - The listener to be removed + */ + removeEventListener(_type, listener) { + if (!listenersMap.has(this)) { + throw new TypeError("Expected `this` to be an instance of AbortSignal."); + } + const listeners = listenersMap.get(this); + const index = listeners.indexOf(listener); + if (index > -1) { + listeners.splice(index, 1); + } + } + /** + * Dispatches a synthetic event to the AbortSignal. + */ + dispatchEvent(_event) { + throw new Error("This is a stub dispatchEvent implementation that should not be used. It only exists for type-checking purposes."); + } + }; + function abortSignal(signal) { + if (signal.aborted) { + return; + } + if (signal.onabort) { + signal.onabort.call(signal); + } + const listeners = listenersMap.get(signal); + if (listeners) { + listeners.slice().forEach((listener) => { + listener.call(signal, { type: "abort" }); + }); + } + abortedMap.set(signal, true); + } + var AbortError = class extends Error { + constructor(message) { + super(message); + this.name = "AbortError"; + } + }; + var AbortController2 = class { + // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types + constructor(parentSignals) { + this._signal = new AbortSignal2(); + if (!parentSignals) { + return; + } + if (!Array.isArray(parentSignals)) { + parentSignals = arguments; + } + for (const parentSignal of parentSignals) { + if (parentSignal.aborted) { + this.abort(); + } else { + parentSignal.addEventListener("abort", () => { + this.abort(); + }); + } + } + } + /** + * The AbortSignal associated with this controller that will signal aborted + * when the abort method is called on this controller. + * + * @readonly + */ + get signal() { + return this._signal; + } + /** + * Signal that any operations passed this controller's associated abort signal + * to cancel any remaining work and throw an `AbortError`. + */ + abort() { + abortSignal(this._signal); + } + /** + * Creates a new AbortSignal instance that will abort after the provided ms. + * @param ms - Elapsed time in milliseconds to trigger an abort. + */ + static timeout(ms) { + const signal = new AbortSignal2(); + const timer = setTimeout(abortSignal, ms, signal); + if (typeof timer.unref === "function") { + timer.unref(); + } + return signal; + } + }; + exports2.AbortController = AbortController2; + exports2.AbortError = AbortError; + exports2.AbortSignal = AbortSignal2; + } +}); + +// node_modules/@actions/cache/lib/internal/downloadUtils.js +var require_downloadUtils = __commonJS({ + "node_modules/@actions/cache/lib/internal/downloadUtils.js"(exports2) { + "use strict"; + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = Object.getOwnPropertyNames || function(o2) { + var ar = []; + for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.DownloadProgress = void 0; + exports2.downloadCacheHttpClient = downloadCacheHttpClient; + exports2.downloadCacheHttpClientConcurrent = downloadCacheHttpClientConcurrent; + exports2.downloadCacheStorageSDK = downloadCacheStorageSDK; + var core14 = __importStar2(require_core()); + var http_client_1 = require_lib(); + var storage_blob_1 = require_commonjs15(); + var buffer = __importStar2(require("buffer")); + var fs8 = __importStar2(require("fs")); + var stream = __importStar2(require("stream")); + var util = __importStar2(require("util")); + var utils = __importStar2(require_cacheUtils()); + var constants_1 = require_constants12(); + var requestUtils_1 = require_requestUtils(); + var abort_controller_1 = require_dist4(); + function pipeResponseToStream(response, output) { + return __awaiter2(this, void 0, void 0, function* () { + const pipeline = util.promisify(stream.pipeline); + yield pipeline(response.message, output); + }); + } + var DownloadProgress = class { + constructor(contentLength) { + this.contentLength = contentLength; + this.segmentIndex = 0; + this.segmentSize = 0; + this.segmentOffset = 0; + this.receivedBytes = 0; + this.displayedComplete = false; + this.startTime = Date.now(); + } + /** + * Progress to the next segment. Only call this method when the previous segment + * is complete. + * + * @param segmentSize the length of the next segment + */ + nextSegment(segmentSize) { + this.segmentOffset = this.segmentOffset + this.segmentSize; + this.segmentIndex = this.segmentIndex + 1; + this.segmentSize = segmentSize; + this.receivedBytes = 0; + core14.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`); + } + /** + * Sets the number of bytes received for the current segment. + * + * @param receivedBytes the number of bytes received + */ + setReceivedBytes(receivedBytes) { + this.receivedBytes = receivedBytes; + } + /** + * Returns the total number of bytes transferred. + */ + getTransferredBytes() { + return this.segmentOffset + this.receivedBytes; + } + /** + * Returns true if the download is complete. + */ + isDone() { + return this.getTransferredBytes() === this.contentLength; + } + /** + * Prints the current download stats. Once the download completes, this will print one + * last line and then stop. + */ + display() { + if (this.displayedComplete) { + return; + } + const transferredBytes = this.segmentOffset + this.receivedBytes; + const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1); + const elapsedTime = Date.now() - this.startTime; + const downloadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1); + core14.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`); + if (this.isDone()) { + this.displayedComplete = true; + } + } + /** + * Returns a function used to handle TransferProgressEvents. + */ + onProgress() { + return (progress) => { + this.setReceivedBytes(progress.loadedBytes); + }; + } + /** + * Starts the timer that displays the stats. + * + * @param delayInMs the delay between each write + */ + startDisplayTimer(delayInMs = 1e3) { + const displayCallback = () => { + this.display(); + if (!this.isDone()) { + this.timeoutHandle = setTimeout(displayCallback, delayInMs); + } + }; + this.timeoutHandle = setTimeout(displayCallback, delayInMs); + } + /** + * Stops the timer that displays the stats. As this typically indicates the download + * is complete, this will display one last line, unless the last line has already + * been written. + */ + stopDisplayTimer() { + if (this.timeoutHandle) { + clearTimeout(this.timeoutHandle); + this.timeoutHandle = void 0; + } + this.display(); + } + }; + exports2.DownloadProgress = DownloadProgress; + function downloadCacheHttpClient(archiveLocation, archivePath) { + return __awaiter2(this, void 0, void 0, function* () { + const writeStream = fs8.createWriteStream(archivePath); + const httpClient = new http_client_1.HttpClient("actions/cache"); + const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCache", () => __awaiter2(this, void 0, void 0, function* () { + return httpClient.get(archiveLocation); + })); + downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => { + downloadResponse.message.destroy(); + core14.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`); + }); + yield pipeResponseToStream(downloadResponse, writeStream); + const contentLengthHeader = downloadResponse.message.headers["content-length"]; + if (contentLengthHeader) { + const expectedLength = parseInt(contentLengthHeader); + const actualLength = utils.getArchiveFileSizeInBytes(archivePath); + if (actualLength !== expectedLength) { + throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`); + } + } else { + core14.debug("Unable to validate download, no Content-Length header"); + } + }); + } + function downloadCacheHttpClientConcurrent(archiveLocation, archivePath, options) { + return __awaiter2(this, void 0, void 0, function* () { + var _a; + const archiveDescriptor = yield fs8.promises.open(archivePath, "w"); + const httpClient = new http_client_1.HttpClient("actions/cache", void 0, { + socketTimeout: options.timeoutInMs, + keepAlive: true + }); + try { + const res = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCacheMetadata", () => __awaiter2(this, void 0, void 0, function* () { + return yield httpClient.request("HEAD", archiveLocation, null, {}); + })); + const lengthHeader = res.message.headers["content-length"]; + if (lengthHeader === void 0 || lengthHeader === null) { + throw new Error("Content-Length not found on blob response"); + } + const length = parseInt(lengthHeader); + if (Number.isNaN(length)) { + throw new Error(`Could not interpret Content-Length: ${length}`); + } + const downloads = []; + const blockSize = 4 * 1024 * 1024; + for (let offset = 0; offset < length; offset += blockSize) { + const count = Math.min(blockSize, length - offset); + downloads.push({ + offset, + promiseGetter: () => __awaiter2(this, void 0, void 0, function* () { + return yield downloadSegmentRetry(httpClient, archiveLocation, offset, count); + }) + }); + } + downloads.reverse(); + let actives = 0; + let bytesDownloaded = 0; + const progress = new DownloadProgress(length); + progress.startDisplayTimer(); + const progressFn = progress.onProgress(); + const activeDownloads = []; + let nextDownload; + const waitAndWrite = () => __awaiter2(this, void 0, void 0, function* () { + const segment = yield Promise.race(Object.values(activeDownloads)); + yield archiveDescriptor.write(segment.buffer, 0, segment.count, segment.offset); + actives--; + delete activeDownloads[segment.offset]; + bytesDownloaded += segment.count; + progressFn({ loadedBytes: bytesDownloaded }); + }); + while (nextDownload = downloads.pop()) { + activeDownloads[nextDownload.offset] = nextDownload.promiseGetter(); + actives++; + if (actives >= ((_a = options.downloadConcurrency) !== null && _a !== void 0 ? _a : 10)) { + yield waitAndWrite(); + } + } + while (actives > 0) { + yield waitAndWrite(); + } + } finally { + httpClient.dispose(); + yield archiveDescriptor.close(); + } + }); + } + function downloadSegmentRetry(httpClient, archiveLocation, offset, count) { + return __awaiter2(this, void 0, void 0, function* () { + const retries = 5; + let failures = 0; + while (true) { + try { + const timeout = 3e4; + const result = yield promiseWithTimeout(timeout, downloadSegment(httpClient, archiveLocation, offset, count)); + if (typeof result === "string") { + throw new Error("downloadSegmentRetry failed due to timeout"); + } + return result; + } catch (err) { + if (failures >= retries) { + throw err; + } + failures++; + } + } + }); + } + function downloadSegment(httpClient, archiveLocation, offset, count) { + return __awaiter2(this, void 0, void 0, function* () { + const partRes = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCachePart", () => __awaiter2(this, void 0, void 0, function* () { + return yield httpClient.get(archiveLocation, { + Range: `bytes=${offset}-${offset + count - 1}` + }); + })); + if (!partRes.readBodyBuffer) { + throw new Error("Expected HttpClientResponse to implement readBodyBuffer"); + } + return { + offset, + count, + buffer: yield partRes.readBodyBuffer() + }; + }); + } + function downloadCacheStorageSDK(archiveLocation, archivePath, options) { + return __awaiter2(this, void 0, void 0, function* () { + var _a; + const client = new storage_blob_1.BlockBlobClient(archiveLocation, void 0, { + retryOptions: { + // Override the timeout used when downloading each 4 MB chunk + // The default is 2 min / MB, which is way too slow + tryTimeoutInMs: options.timeoutInMs + } + }); + const properties = yield client.getProperties(); + const contentLength = (_a = properties.contentLength) !== null && _a !== void 0 ? _a : -1; + if (contentLength < 0) { + core14.debug("Unable to determine content length, downloading file with http-client..."); + yield downloadCacheHttpClient(archiveLocation, archivePath); + } else { + const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH); + const downloadProgress = new DownloadProgress(contentLength); + const fd = fs8.openSync(archivePath, "w"); + try { + downloadProgress.startDisplayTimer(); + const controller = new abort_controller_1.AbortController(); + const abortSignal = controller.signal; + while (!downloadProgress.isDone()) { + const segmentStart = downloadProgress.segmentOffset + downloadProgress.segmentSize; + const segmentSize = Math.min(maxSegmentSize, contentLength - segmentStart); + downloadProgress.nextSegment(segmentSize); + const result = yield promiseWithTimeout(options.segmentTimeoutInMs || 36e5, client.downloadToBuffer(segmentStart, segmentSize, { + abortSignal, + concurrency: options.downloadConcurrency, + onProgress: downloadProgress.onProgress() + })); + if (result === "timeout") { + controller.abort(); + throw new Error("Aborting cache download as the download time exceeded the timeout."); + } else if (Buffer.isBuffer(result)) { + fs8.writeFileSync(fd, result); + } + } + } finally { + downloadProgress.stopDisplayTimer(); + fs8.closeSync(fd); + } + } + }); + } + var promiseWithTimeout = (timeoutMs, promise) => __awaiter2(void 0, void 0, void 0, function* () { + let timeoutHandle; + const timeoutPromise = new Promise((resolve5) => { + timeoutHandle = setTimeout(() => resolve5("timeout"), timeoutMs); + }); + return Promise.race([promise, timeoutPromise]).then((result) => { + clearTimeout(timeoutHandle); + return result; + }); + }); + } +}); + +// node_modules/@actions/cache/lib/options.js +var require_options = __commonJS({ + "node_modules/@actions/cache/lib/options.js"(exports2) { + "use strict"; + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = Object.getOwnPropertyNames || function(o2) { + var ar = []; + for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getUploadOptions = getUploadOptions; + exports2.getDownloadOptions = getDownloadOptions; + var core14 = __importStar2(require_core()); + function getUploadOptions(copy) { + const result = { + useAzureSdk: false, + uploadConcurrency: 4, + uploadChunkSize: 32 * 1024 * 1024 + }; + if (copy) { + if (typeof copy.useAzureSdk === "boolean") { + result.useAzureSdk = copy.useAzureSdk; + } + if (typeof copy.uploadConcurrency === "number") { + result.uploadConcurrency = copy.uploadConcurrency; + } + if (typeof copy.uploadChunkSize === "number") { + result.uploadChunkSize = copy.uploadChunkSize; + } + } + result.uploadConcurrency = !isNaN(Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) ? Math.min(32, Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) : result.uploadConcurrency; + result.uploadChunkSize = !isNaN(Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"])) ? Math.min(128 * 1024 * 1024, Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) * 1024 * 1024) : result.uploadChunkSize; + core14.debug(`Use Azure SDK: ${result.useAzureSdk}`); + core14.debug(`Upload concurrency: ${result.uploadConcurrency}`); + core14.debug(`Upload chunk size: ${result.uploadChunkSize}`); + return result; + } + function getDownloadOptions(copy) { + const result = { + useAzureSdk: false, + concurrentBlobDownloads: true, + downloadConcurrency: 8, + timeoutInMs: 3e4, + segmentTimeoutInMs: 6e5, + lookupOnly: false + }; + if (copy) { + if (typeof copy.useAzureSdk === "boolean") { + result.useAzureSdk = copy.useAzureSdk; + } + if (typeof copy.concurrentBlobDownloads === "boolean") { + result.concurrentBlobDownloads = copy.concurrentBlobDownloads; + } + if (typeof copy.downloadConcurrency === "number") { + result.downloadConcurrency = copy.downloadConcurrency; + } + if (typeof copy.timeoutInMs === "number") { + result.timeoutInMs = copy.timeoutInMs; + } + if (typeof copy.segmentTimeoutInMs === "number") { + result.segmentTimeoutInMs = copy.segmentTimeoutInMs; + } + if (typeof copy.lookupOnly === "boolean") { + result.lookupOnly = copy.lookupOnly; + } + } + const segmentDownloadTimeoutMins = process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]; + if (segmentDownloadTimeoutMins && !isNaN(Number(segmentDownloadTimeoutMins)) && isFinite(Number(segmentDownloadTimeoutMins))) { + result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1e3; + } + core14.debug(`Use Azure SDK: ${result.useAzureSdk}`); + core14.debug(`Download concurrency: ${result.downloadConcurrency}`); + core14.debug(`Request timeout (ms): ${result.timeoutInMs}`); + core14.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`); + core14.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`); + core14.debug(`Lookup only: ${result.lookupOnly}`); + return result; + } + } +}); + +// node_modules/@actions/cache/lib/internal/config.js +var require_config = __commonJS({ + "node_modules/@actions/cache/lib/internal/config.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.isGhes = isGhes; + exports2.getCacheServiceVersion = getCacheServiceVersion; + exports2.getCacheServiceURL = getCacheServiceURL; + function isGhes() { + const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com"); + const hostname = ghUrl.hostname.trimEnd().toUpperCase(); + const isGitHubHost = hostname === "GITHUB.COM"; + const isGheHost = hostname.endsWith(".GHE.COM"); + const isLocalHost = hostname.endsWith(".LOCALHOST"); + return !isGitHubHost && !isGheHost && !isLocalHost; + } + function getCacheServiceVersion() { + if (isGhes()) + return "v1"; + return process.env["ACTIONS_CACHE_SERVICE_V2"] ? "v2" : "v1"; + } + function getCacheServiceURL() { + const version = getCacheServiceVersion(); + switch (version) { + case "v1": + return process.env["ACTIONS_CACHE_URL"] || process.env["ACTIONS_RESULTS_URL"] || ""; + case "v2": + return process.env["ACTIONS_RESULTS_URL"] || ""; + default: + throw new Error(`Unsupported cache service version: ${version}`); + } + } + } +}); + +// node_modules/@actions/cache/package.json +var require_package2 = __commonJS({ + "node_modules/@actions/cache/package.json"(exports2, module2) { + module2.exports = { + name: "@actions/cache", + version: "5.0.5", + preview: true, + description: "Actions cache lib", + keywords: [ + "github", + "actions", + "cache" + ], + homepage: "https://github.com/actions/toolkit/tree/main/packages/cache", + license: "MIT", + main: "lib/cache.js", + types: "lib/cache.d.ts", + directories: { + lib: "lib", + test: "__tests__" + }, + files: [ + "lib", + "!.DS_Store" + ], + publishConfig: { + access: "public" + }, + repository: { + type: "git", + url: "git+https://github.com/actions/toolkit.git", + directory: "packages/cache" + }, + scripts: { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + test: 'echo "Error: run tests from root" && exit 1', + tsc: "tsc" + }, + bugs: { + url: "https://github.com/actions/toolkit/issues" + }, + dependencies: { + "@actions/core": "^2.0.0", + "@actions/exec": "^2.0.0", + "@actions/glob": "^0.5.1", + "@protobuf-ts/runtime-rpc": "^2.11.1", + "@actions/http-client": "^3.0.2", + "@actions/io": "^2.0.0", + "@azure/abort-controller": "^1.1.0", + "@azure/core-rest-pipeline": "^1.22.0", + "@azure/storage-blob": "^12.29.1", + semver: "^6.3.1" + }, + devDependencies: { + "@types/node": "^24.1.0", + "@types/semver": "^6.0.0", + "@protobuf-ts/plugin": "^2.9.4", + typescript: "^5.2.2" + }, + overrides: { + "uri-js": "npm:uri-js-replace@^1.0.1", + "node-fetch": "^3.3.2" + } + }; + } +}); + +// node_modules/@actions/cache/lib/internal/shared/user-agent.js +var require_user_agent = __commonJS({ + "node_modules/@actions/cache/lib/internal/shared/user-agent.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getUserAgentString = getUserAgentString; + var packageJson = require_package2(); + function getUserAgentString() { + return `@actions/cache-${packageJson.version}`; + } + } +}); + +// node_modules/@actions/cache/lib/internal/cacheHttpClient.js +var require_cacheHttpClient = __commonJS({ + "node_modules/@actions/cache/lib/internal/cacheHttpClient.js"(exports2) { + "use strict"; + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = Object.getOwnPropertyNames || function(o2) { + var ar = []; + for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getCacheEntry = getCacheEntry; + exports2.downloadCache = downloadCache; + exports2.reserveCache = reserveCache; + exports2.saveCache = saveCache4; + var core14 = __importStar2(require_core()); + var http_client_1 = require_lib(); + var auth_1 = require_auth(); + var fs8 = __importStar2(require("fs")); + var url_1 = require("url"); + var utils = __importStar2(require_cacheUtils()); + var uploadUtils_1 = require_uploadUtils(); + var downloadUtils_1 = require_downloadUtils(); + var options_1 = require_options(); + var requestUtils_1 = require_requestUtils(); + var config_1 = require_config(); + var user_agent_1 = require_user_agent(); + function getCacheApiUrl(resource) { + const baseUrl = (0, config_1.getCacheServiceURL)(); + if (!baseUrl) { + throw new Error("Cache Service Url not found, unable to restore cache."); + } + const url = `${baseUrl}_apis/artifactcache/${resource}`; + core14.debug(`Resource Url: ${url}`); + return url; + } + function createAcceptHeader(type2, apiVersion) { + return `${type2};api-version=${apiVersion}`; + } + function getRequestOptions() { + const requestOptions = { + headers: { + Accept: createAcceptHeader("application/json", "6.0-preview.1") + } + }; + return requestOptions; + } + function createHttpClient() { + const token = process.env["ACTIONS_RUNTIME_TOKEN"] || ""; + const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token); + return new http_client_1.HttpClient((0, user_agent_1.getUserAgentString)(), [bearerCredentialHandler], getRequestOptions()); + } + function getCacheEntry(keys, paths, options) { + return __awaiter2(this, void 0, void 0, function* () { + const httpClient = createHttpClient(); + const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive); + const resource = `cache?keys=${encodeURIComponent(keys.join(","))}&version=${version}`; + const response = yield (0, requestUtils_1.retryTypedResponse)("getCacheEntry", () => __awaiter2(this, void 0, void 0, function* () { + return httpClient.getJson(getCacheApiUrl(resource)); + })); + if (response.statusCode === 204) { + if (core14.isDebug()) { + yield printCachesListForDiagnostics(keys[0], httpClient, version); + } + return null; + } + if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) { + throw new Error(`Cache service responded with ${response.statusCode}`); + } + const cacheResult = response.result; + const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation; + if (!cacheDownloadUrl) { + throw new Error("Cache not found."); + } + core14.setSecret(cacheDownloadUrl); + core14.debug(`Cache Result:`); + core14.debug(JSON.stringify(cacheResult)); + return cacheResult; + }); + } + function printCachesListForDiagnostics(key, httpClient, version) { + return __awaiter2(this, void 0, void 0, function* () { + const resource = `caches?key=${encodeURIComponent(key)}`; + const response = yield (0, requestUtils_1.retryTypedResponse)("listCache", () => __awaiter2(this, void 0, void 0, function* () { + return httpClient.getJson(getCacheApiUrl(resource)); + })); + if (response.statusCode === 200) { + const cacheListResult = response.result; + const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount; + if (totalCount && totalCount > 0) { + core14.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key +Other caches with similar key:`); + for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) { + core14.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`); + } + } + } + }); + } + function downloadCache(archiveLocation, archivePath, options) { + return __awaiter2(this, void 0, void 0, function* () { + const archiveUrl = new url_1.URL(archiveLocation); + const downloadOptions = (0, options_1.getDownloadOptions)(options); + if (archiveUrl.hostname.endsWith(".blob.core.windows.net")) { + if (downloadOptions.useAzureSdk) { + yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions); + } else if (downloadOptions.concurrentBlobDownloads) { + yield (0, downloadUtils_1.downloadCacheHttpClientConcurrent)(archiveLocation, archivePath, downloadOptions); + } else { + yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath); + } + } else { + yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath); + } + }); + } + function reserveCache(key, paths, options) { + return __awaiter2(this, void 0, void 0, function* () { + const httpClient = createHttpClient(); + const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive); + const reserveCacheRequest = { + key, + version, + cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize + }; + const response = yield (0, requestUtils_1.retryTypedResponse)("reserveCache", () => __awaiter2(this, void 0, void 0, function* () { + return httpClient.postJson(getCacheApiUrl("caches"), reserveCacheRequest); + })); + return response; + }); + } + function getContentRange(start, end) { + return `bytes ${start}-${end}/*`; + } + function uploadChunk(httpClient, resourceUrl, openStream, start, end) { + return __awaiter2(this, void 0, void 0, function* () { + core14.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`); + const additionalHeaders = { + "Content-Type": "application/octet-stream", + "Content-Range": getContentRange(start, end) + }; + const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter2(this, void 0, void 0, function* () { + return httpClient.sendStream("PATCH", resourceUrl, openStream(), additionalHeaders); + })); + if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) { + throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`); + } + }); + } + function uploadFile(httpClient, cacheId, archivePath, options) { + return __awaiter2(this, void 0, void 0, function* () { + const fileSize = utils.getArchiveFileSizeInBytes(archivePath); + const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`); + const fd = fs8.openSync(archivePath, "r"); + const uploadOptions = (0, options_1.getUploadOptions)(options); + const concurrency = utils.assertDefined("uploadConcurrency", uploadOptions.uploadConcurrency); + const maxChunkSize = utils.assertDefined("uploadChunkSize", uploadOptions.uploadChunkSize); + const parallelUploads = [...new Array(concurrency).keys()]; + core14.debug("Awaiting all uploads"); + let offset = 0; + try { + yield Promise.all(parallelUploads.map(() => __awaiter2(this, void 0, void 0, function* () { + while (offset < fileSize) { + const chunkSize = Math.min(fileSize - offset, maxChunkSize); + const start = offset; + const end = offset + chunkSize - 1; + offset += maxChunkSize; + yield uploadChunk(httpClient, resourceUrl, () => fs8.createReadStream(archivePath, { + fd, + start, + end, + autoClose: false + }).on("error", (error3) => { + throw new Error(`Cache upload failed because file read failed with ${error3.message}`); + }), start, end); + } + }))); + } finally { + fs8.closeSync(fd); + } + return; + }); + } + function commitCache(httpClient, cacheId, filesize) { + return __awaiter2(this, void 0, void 0, function* () { + const commitCacheRequest = { size: filesize }; + return yield (0, requestUtils_1.retryTypedResponse)("commitCache", () => __awaiter2(this, void 0, void 0, function* () { + return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest); + })); + }); + } + function saveCache4(cacheId, archivePath, signedUploadURL, options) { + return __awaiter2(this, void 0, void 0, function* () { + const uploadOptions = (0, options_1.getUploadOptions)(options); + if (uploadOptions.useAzureSdk) { + if (!signedUploadURL) { + throw new Error("Azure Storage SDK can only be used when a signed URL is provided."); + } + yield (0, uploadUtils_1.uploadCacheArchiveSDK)(signedUploadURL, archivePath, options); + } else { + const httpClient = createHttpClient(); + core14.debug("Upload cache"); + yield uploadFile(httpClient, cacheId, archivePath, options); + core14.debug("Commiting cache"); + const cacheSize = utils.getArchiveFileSizeInBytes(archivePath); + core14.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`); + const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize); + if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) { + throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`); + } + core14.info("Cache saved successfully"); + } + }); + } + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js +var require_json_typings = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.isJsonObject = exports2.typeofJsonValue = void 0; + function typeofJsonValue(value) { + let t = typeof value; + if (t == "object") { + if (Array.isArray(value)) + return "array"; + if (value === null) + return "null"; + } + return t; + } + exports2.typeofJsonValue = typeofJsonValue; + function isJsonObject(value) { + return value !== null && typeof value == "object" && !Array.isArray(value); + } + exports2.isJsonObject = isJsonObject; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js +var require_base642 = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.base64encode = exports2.base64decode = void 0; + var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""); + var decTable = []; + for (let i = 0; i < encTable.length; i++) + decTable[encTable[i].charCodeAt(0)] = i; + decTable["-".charCodeAt(0)] = encTable.indexOf("+"); + decTable["_".charCodeAt(0)] = encTable.indexOf("/"); + function base64decode(base64Str) { + let es = base64Str.length * 3 / 4; + if (base64Str[base64Str.length - 2] == "=") + es -= 2; + else if (base64Str[base64Str.length - 1] == "=") + es -= 1; + let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0; + for (let i = 0; i < base64Str.length; i++) { + b = decTable[base64Str.charCodeAt(i)]; + if (b === void 0) { + switch (base64Str[i]) { + case "=": + groupPos = 0; + // reset state when padding found + case "\n": + case "\r": + case " ": + case " ": + continue; + // skip white-space, and padding + default: + throw Error(`invalid base64 string.`); + } + } + switch (groupPos) { + case 0: + p = b; + groupPos = 1; + break; + case 1: + bytes[bytePos++] = p << 2 | (b & 48) >> 4; + p = b; + groupPos = 2; + break; + case 2: + bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2; + p = b; + groupPos = 3; + break; + case 3: + bytes[bytePos++] = (p & 3) << 6 | b; + groupPos = 0; + break; + } + } + if (groupPos == 1) + throw Error(`invalid base64 string.`); + return bytes.subarray(0, bytePos); + } + exports2.base64decode = base64decode; + function base64encode(bytes) { + let base64 = "", groupPos = 0, b, p = 0; + for (let i = 0; i < bytes.length; i++) { + b = bytes[i]; + switch (groupPos) { + case 0: + base64 += encTable[b >> 2]; + p = (b & 3) << 4; + groupPos = 1; + break; + case 1: + base64 += encTable[p | b >> 4]; + p = (b & 15) << 2; + groupPos = 2; + break; + case 2: + base64 += encTable[p | b >> 6]; + base64 += encTable[b & 63]; + groupPos = 0; + break; + } + } + if (groupPos) { + base64 += encTable[p]; + base64 += "="; + if (groupPos == 1) + base64 += "="; + } + return base64; + } + exports2.base64encode = base64encode; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js +var require_protobufjs_utf8 = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.utf8read = void 0; + var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk); + function utf8read(bytes) { + if (bytes.length < 1) + return ""; + let pos = 0, parts = [], chunk = [], i = 0, t; + let len = bytes.length; + while (pos < len) { + t = bytes[pos++]; + if (t < 128) + chunk[i++] = t; + else if (t > 191 && t < 224) + chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63; + else if (t > 239 && t < 365) { + t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536; + chunk[i++] = 55296 + (t >> 10); + chunk[i++] = 56320 + (t & 1023); + } else + chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63; + if (i > 8191) { + parts.push(fromCharCodes(chunk)); + i = 0; + } + } + if (parts.length) { + if (i) + parts.push(fromCharCodes(chunk.slice(0, i))); + return parts.join(""); + } + return fromCharCodes(chunk.slice(0, i)); + } + exports2.utf8read = utf8read; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js +var require_binary_format_contract = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0; + var UnknownFieldHandler; + (function(UnknownFieldHandler2) { + UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown"); + UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => { + let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = []; + container.push({ no: fieldNo, wireType, data }); + }; + UnknownFieldHandler2.onWrite = (typeName, message, writer) => { + for (let { no, wireType, data } of UnknownFieldHandler2.list(message)) + writer.tag(no, wireType).raw(data); + }; + UnknownFieldHandler2.list = (message, fieldNo) => { + if (is(message)) { + let all = message[UnknownFieldHandler2.symbol]; + return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all; + } + return []; + }; + UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0]; + const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]); + })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {})); + function mergeBinaryOptions(a, b) { + return Object.assign(Object.assign({}, a), b); + } + exports2.mergeBinaryOptions = mergeBinaryOptions; + var WireType; + (function(WireType2) { + WireType2[WireType2["Varint"] = 0] = "Varint"; + WireType2[WireType2["Bit64"] = 1] = "Bit64"; + WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited"; + WireType2[WireType2["StartGroup"] = 3] = "StartGroup"; + WireType2[WireType2["EndGroup"] = 4] = "EndGroup"; + WireType2[WireType2["Bit32"] = 5] = "Bit32"; + })(WireType = exports2.WireType || (exports2.WireType = {})); + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js +var require_goog_varint = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0; + function varint64read() { + let lowBits = 0; + let highBits = 0; + for (let shift = 0; shift < 28; shift += 7) { + let b = this.buf[this.pos++]; + lowBits |= (b & 127) << shift; + if ((b & 128) == 0) { + this.assertBounds(); + return [lowBits, highBits]; + } + } + let middleByte = this.buf[this.pos++]; + lowBits |= (middleByte & 15) << 28; + highBits = (middleByte & 112) >> 4; + if ((middleByte & 128) == 0) { + this.assertBounds(); + return [lowBits, highBits]; + } + for (let shift = 3; shift <= 31; shift += 7) { + let b = this.buf[this.pos++]; + highBits |= (b & 127) << shift; + if ((b & 128) == 0) { + this.assertBounds(); + return [lowBits, highBits]; + } + } + throw new Error("invalid varint"); + } + exports2.varint64read = varint64read; + function varint64write(lo, hi, bytes) { + for (let i = 0; i < 28; i = i + 7) { + const shift = lo >>> i; + const hasNext = !(shift >>> 7 == 0 && hi == 0); + const byte = (hasNext ? shift | 128 : shift) & 255; + bytes.push(byte); + if (!hasNext) { + return; + } + } + const splitBits = lo >>> 28 & 15 | (hi & 7) << 4; + const hasMoreBits = !(hi >> 3 == 0); + bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255); + if (!hasMoreBits) { + return; + } + for (let i = 3; i < 31; i = i + 7) { + const shift = hi >>> i; + const hasNext = !(shift >>> 7 == 0); + const byte = (hasNext ? shift | 128 : shift) & 255; + bytes.push(byte); + if (!hasNext) { + return; + } + } + bytes.push(hi >>> 31 & 1); + } + exports2.varint64write = varint64write; + var TWO_PWR_32_DBL = (1 << 16) * (1 << 16); + function int64fromString(dec) { + let minus = dec[0] == "-"; + if (minus) + dec = dec.slice(1); + const base = 1e6; + let lowBits = 0; + let highBits = 0; + function add1e6digit(begin, end) { + const digit1e6 = Number(dec.slice(begin, end)); + highBits *= base; + lowBits = lowBits * base + digit1e6; + if (lowBits >= TWO_PWR_32_DBL) { + highBits = highBits + (lowBits / TWO_PWR_32_DBL | 0); + lowBits = lowBits % TWO_PWR_32_DBL; + } + } + add1e6digit(-24, -18); + add1e6digit(-18, -12); + add1e6digit(-12, -6); + add1e6digit(-6); + return [minus, lowBits, highBits]; + } + exports2.int64fromString = int64fromString; + function int64toString(bitsLow, bitsHigh) { + if (bitsHigh >>> 0 <= 2097151) { + return "" + (TWO_PWR_32_DBL * bitsHigh + (bitsLow >>> 0)); + } + let low = bitsLow & 16777215; + let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215; + let high = bitsHigh >> 16 & 65535; + let digitA = low + mid * 6777216 + high * 6710656; + let digitB = mid + high * 8147497; + let digitC = high * 2; + let base = 1e7; + if (digitA >= base) { + digitB += Math.floor(digitA / base); + digitA %= base; + } + if (digitB >= base) { + digitC += Math.floor(digitB / base); + digitB %= base; + } + function decimalFrom1e7(digit1e7, needLeadingZeros) { + let partial = digit1e7 ? String(digit1e7) : ""; + if (needLeadingZeros) { + return "0000000".slice(partial.length) + partial; + } + return partial; + } + return decimalFrom1e7( + digitC, + /*needLeadingZeros=*/ + 0 + ) + decimalFrom1e7( + digitB, + /*needLeadingZeros=*/ + digitC + ) + // If the final 1e7 digit didn't need leading zeros, we would have + // returned via the trivial code path at the top. + decimalFrom1e7( + digitA, + /*needLeadingZeros=*/ + 1 + ); + } + exports2.int64toString = int64toString; + function varint32write(value, bytes) { + if (value >= 0) { + while (value > 127) { + bytes.push(value & 127 | 128); + value = value >>> 7; + } + bytes.push(value); + } else { + for (let i = 0; i < 9; i++) { + bytes.push(value & 127 | 128); + value = value >> 7; + } + bytes.push(1); + } + } + exports2.varint32write = varint32write; + function varint32read() { + let b = this.buf[this.pos++]; + let result = b & 127; + if ((b & 128) == 0) { + this.assertBounds(); + return result; + } + b = this.buf[this.pos++]; + result |= (b & 127) << 7; + if ((b & 128) == 0) { + this.assertBounds(); + return result; + } + b = this.buf[this.pos++]; + result |= (b & 127) << 14; + if ((b & 128) == 0) { + this.assertBounds(); + return result; + } + b = this.buf[this.pos++]; + result |= (b & 127) << 21; + if ((b & 128) == 0) { + this.assertBounds(); + return result; + } + b = this.buf[this.pos++]; + result |= (b & 15) << 28; + for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++) + b = this.buf[this.pos++]; + if ((b & 128) != 0) + throw new Error("invalid varint"); + this.assertBounds(); + return result >>> 0; + } + exports2.varint32read = varint32read; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js +var require_pb_long = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0; + var goog_varint_1 = require_goog_varint(); + var BI; + function detectBi() { + const dv = new DataView(new ArrayBuffer(8)); + const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function"; + BI = ok ? { + MIN: BigInt("-9223372036854775808"), + MAX: BigInt("9223372036854775807"), + UMIN: BigInt("0"), + UMAX: BigInt("18446744073709551615"), + C: BigInt, + V: dv + } : void 0; + } + exports2.detectBi = detectBi; + detectBi(); + function assertBi(bi) { + if (!bi) + throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support"); + } + var RE_DECIMAL_STR = /^-?[0-9]+$/; + var TWO_PWR_32_DBL = 4294967296; + var HALF_2_PWR_32 = 2147483648; + var SharedPbLong = class { + /** + * Create a new instance with the given bits. + */ + constructor(lo, hi) { + this.lo = lo | 0; + this.hi = hi | 0; + } + /** + * Is this instance equal to 0? + */ + isZero() { + return this.lo == 0 && this.hi == 0; + } + /** + * Convert to a native number. + */ + toNumber() { + let result = this.hi * TWO_PWR_32_DBL + (this.lo >>> 0); + if (!Number.isSafeInteger(result)) + throw new Error("cannot convert to safe number"); + return result; + } + }; + var PbULong = class _PbULong extends SharedPbLong { + /** + * Create instance from a `string`, `number` or `bigint`. + */ + static from(value) { + if (BI) + switch (typeof value) { + case "string": + if (value == "0") + return this.ZERO; + if (value == "") + throw new Error("string is no integer"); + value = BI.C(value); + case "number": + if (value === 0) + return this.ZERO; + value = BI.C(value); + case "bigint": + if (!value) + return this.ZERO; + if (value < BI.UMIN) + throw new Error("signed value for ulong"); + if (value > BI.UMAX) + throw new Error("ulong too large"); + BI.V.setBigUint64(0, value, true); + return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true)); + } + else + switch (typeof value) { + case "string": + if (value == "0") + return this.ZERO; + value = value.trim(); + if (!RE_DECIMAL_STR.test(value)) + throw new Error("string is no integer"); + let [minus, lo, hi] = goog_varint_1.int64fromString(value); + if (minus) + throw new Error("signed value for ulong"); + return new _PbULong(lo, hi); + case "number": + if (value == 0) + return this.ZERO; + if (!Number.isSafeInteger(value)) + throw new Error("number is no integer"); + if (value < 0) + throw new Error("signed value for ulong"); + return new _PbULong(value, value / TWO_PWR_32_DBL); + } + throw new Error("unknown value " + typeof value); + } + /** + * Convert to decimal string. + */ + toString() { + return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi); + } + /** + * Convert to native bigint. + */ + toBigInt() { + assertBi(BI); + BI.V.setInt32(0, this.lo, true); + BI.V.setInt32(4, this.hi, true); + return BI.V.getBigUint64(0, true); + } + }; + exports2.PbULong = PbULong; + PbULong.ZERO = new PbULong(0, 0); + var PbLong = class _PbLong extends SharedPbLong { + /** + * Create instance from a `string`, `number` or `bigint`. + */ + static from(value) { + if (BI) + switch (typeof value) { + case "string": + if (value == "0") + return this.ZERO; + if (value == "") + throw new Error("string is no integer"); + value = BI.C(value); + case "number": + if (value === 0) + return this.ZERO; + value = BI.C(value); + case "bigint": + if (!value) + return this.ZERO; + if (value < BI.MIN) + throw new Error("signed long too small"); + if (value > BI.MAX) + throw new Error("signed long too large"); + BI.V.setBigInt64(0, value, true); + return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true)); + } + else + switch (typeof value) { + case "string": + if (value == "0") + return this.ZERO; + value = value.trim(); + if (!RE_DECIMAL_STR.test(value)) + throw new Error("string is no integer"); + let [minus, lo, hi] = goog_varint_1.int64fromString(value); + if (minus) { + if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0) + throw new Error("signed long too small"); + } else if (hi >= HALF_2_PWR_32) + throw new Error("signed long too large"); + let pbl = new _PbLong(lo, hi); + return minus ? pbl.negate() : pbl; + case "number": + if (value == 0) + return this.ZERO; + if (!Number.isSafeInteger(value)) + throw new Error("number is no integer"); + return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL) : new _PbLong(-value, -value / TWO_PWR_32_DBL).negate(); + } + throw new Error("unknown value " + typeof value); + } + /** + * Do we have a minus sign? + */ + isNegative() { + return (this.hi & HALF_2_PWR_32) !== 0; + } + /** + * Negate two's complement. + * Invert all the bits and add one to the result. + */ + negate() { + let hi = ~this.hi, lo = this.lo; + if (lo) + lo = ~lo + 1; + else + hi += 1; + return new _PbLong(lo, hi); + } + /** + * Convert to decimal string. + */ + toString() { + if (BI) + return this.toBigInt().toString(); + if (this.isNegative()) { + let n = this.negate(); + return "-" + goog_varint_1.int64toString(n.lo, n.hi); + } + return goog_varint_1.int64toString(this.lo, this.hi); + } + /** + * Convert to native bigint. + */ + toBigInt() { + assertBi(BI); + BI.V.setInt32(0, this.lo, true); + BI.V.setInt32(4, this.hi, true); + return BI.V.getBigInt64(0, true); + } + }; + exports2.PbLong = PbLong; + PbLong.ZERO = new PbLong(0, 0); + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js +var require_binary_reader = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BinaryReader = exports2.binaryReadOptions = void 0; + var binary_format_contract_1 = require_binary_format_contract(); + var pb_long_1 = require_pb_long(); + var goog_varint_1 = require_goog_varint(); + var defaultsRead = { + readUnknownField: true, + readerFactory: (bytes) => new BinaryReader(bytes) + }; + function binaryReadOptions(options) { + return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead; + } + exports2.binaryReadOptions = binaryReadOptions; + var BinaryReader = class { + constructor(buf, textDecoder) { + this.varint64 = goog_varint_1.varint64read; + this.uint32 = goog_varint_1.varint32read; + this.buf = buf; + this.len = buf.length; + this.pos = 0; + this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength); + this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", { + fatal: true, + ignoreBOM: true + }); + } + /** + * Reads a tag - field number and wire type. + */ + tag() { + let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7; + if (fieldNo <= 0 || wireType < 0 || wireType > 5) + throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType); + return [fieldNo, wireType]; + } + /** + * Skip one element on the wire and return the skipped data. + * Supports WireType.StartGroup since v2.0.0-alpha.23. + */ + skip(wireType) { + let start = this.pos; + switch (wireType) { + case binary_format_contract_1.WireType.Varint: + while (this.buf[this.pos++] & 128) { + } + break; + case binary_format_contract_1.WireType.Bit64: + this.pos += 4; + case binary_format_contract_1.WireType.Bit32: + this.pos += 4; + break; + case binary_format_contract_1.WireType.LengthDelimited: + let len = this.uint32(); + this.pos += len; + break; + case binary_format_contract_1.WireType.StartGroup: + let t; + while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) { + this.skip(t); + } + break; + default: + throw new Error("cant skip wire type " + wireType); + } + this.assertBounds(); + return this.buf.subarray(start, this.pos); + } + /** + * Throws error if position in byte array is out of range. + */ + assertBounds() { + if (this.pos > this.len) + throw new RangeError("premature EOF"); + } + /** + * Read a `int32` field, a signed 32 bit varint. + */ + int32() { + return this.uint32() | 0; + } + /** + * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint. + */ + sint32() { + let zze = this.uint32(); + return zze >>> 1 ^ -(zze & 1); + } + /** + * Read a `int64` field, a signed 64-bit varint. + */ + int64() { + return new pb_long_1.PbLong(...this.varint64()); + } + /** + * Read a `uint64` field, an unsigned 64-bit varint. + */ + uint64() { + return new pb_long_1.PbULong(...this.varint64()); + } + /** + * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint. + */ + sint64() { + let [lo, hi] = this.varint64(); + let s = -(lo & 1); + lo = (lo >>> 1 | (hi & 1) << 31) ^ s; + hi = hi >>> 1 ^ s; + return new pb_long_1.PbLong(lo, hi); + } + /** + * Read a `bool` field, a variant. + */ + bool() { + let [lo, hi] = this.varint64(); + return lo !== 0 || hi !== 0; + } + /** + * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer. + */ + fixed32() { + return this.view.getUint32((this.pos += 4) - 4, true); + } + /** + * Read a `sfixed32` field, a signed, fixed-length 32-bit integer. + */ + sfixed32() { + return this.view.getInt32((this.pos += 4) - 4, true); + } + /** + * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer. + */ + fixed64() { + return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32()); + } + /** + * Read a `fixed64` field, a signed, fixed-length 64-bit integer. + */ + sfixed64() { + return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32()); + } + /** + * Read a `float` field, 32-bit floating point number. + */ + float() { + return this.view.getFloat32((this.pos += 4) - 4, true); + } + /** + * Read a `double` field, a 64-bit floating point number. + */ + double() { + return this.view.getFloat64((this.pos += 8) - 8, true); + } + /** + * Read a `bytes` field, length-delimited arbitrary data. + */ + bytes() { + let len = this.uint32(); + let start = this.pos; + this.pos += len; + this.assertBounds(); + return this.buf.subarray(start, start + len); + } + /** + * Read a `string` field, length-delimited data converted to UTF-8 text. + */ + string() { + return this.textDecoder.decode(this.bytes()); + } + }; + exports2.BinaryReader = BinaryReader; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js +var require_assert = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0; + function assert(condition, msg) { + if (!condition) { + throw new Error(msg); + } + } + exports2.assert = assert; + function assertNever2(value, msg) { + throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value); + } + exports2.assertNever = assertNever2; + var FLOAT32_MAX = 34028234663852886e22; + var FLOAT32_MIN = -34028234663852886e22; + var UINT32_MAX = 4294967295; + var INT32_MAX = 2147483647; + var INT32_MIN = -2147483648; + function assertInt32(arg) { + if (typeof arg !== "number") + throw new Error("invalid int 32: " + typeof arg); + if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN) + throw new Error("invalid int 32: " + arg); + } + exports2.assertInt32 = assertInt32; + function assertUInt32(arg) { + if (typeof arg !== "number") + throw new Error("invalid uint 32: " + typeof arg); + if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0) + throw new Error("invalid uint 32: " + arg); + } + exports2.assertUInt32 = assertUInt32; + function assertFloat32(arg) { + if (typeof arg !== "number") + throw new Error("invalid float 32: " + typeof arg); + if (!Number.isFinite(arg)) + return; + if (arg > FLOAT32_MAX || arg < FLOAT32_MIN) + throw new Error("invalid float 32: " + arg); + } + exports2.assertFloat32 = assertFloat32; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js +var require_binary_writer = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.BinaryWriter = exports2.binaryWriteOptions = void 0; + var pb_long_1 = require_pb_long(); + var goog_varint_1 = require_goog_varint(); + var assert_1 = require_assert(); + var defaultsWrite = { + writeUnknownFields: true, + writerFactory: () => new BinaryWriter() + }; + function binaryWriteOptions(options) { + return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite; + } + exports2.binaryWriteOptions = binaryWriteOptions; + var BinaryWriter = class { + constructor(textEncoder) { + this.stack = []; + this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder(); + this.chunks = []; + this.buf = []; + } + /** + * Return all bytes written and reset this writer. + */ + finish() { + this.chunks.push(new Uint8Array(this.buf)); + let len = 0; + for (let i = 0; i < this.chunks.length; i++) + len += this.chunks[i].length; + let bytes = new Uint8Array(len); + let offset = 0; + for (let i = 0; i < this.chunks.length; i++) { + bytes.set(this.chunks[i], offset); + offset += this.chunks[i].length; + } + this.chunks = []; + return bytes; + } + /** + * Start a new fork for length-delimited data like a message + * or a packed repeated field. + * + * Must be joined later with `join()`. + */ + fork() { + this.stack.push({ chunks: this.chunks, buf: this.buf }); + this.chunks = []; + this.buf = []; + return this; + } + /** + * Join the last fork. Write its length and bytes, then + * return to the previous state. + */ + join() { + let chunk = this.finish(); + let prev = this.stack.pop(); + if (!prev) + throw new Error("invalid state, fork stack empty"); + this.chunks = prev.chunks; + this.buf = prev.buf; + this.uint32(chunk.byteLength); + return this.raw(chunk); + } + /** + * Writes a tag (field number and wire type). + * + * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`. + * + * Generated code should compute the tag ahead of time and call `uint32()`. + */ + tag(fieldNo, type2) { + return this.uint32((fieldNo << 3 | type2) >>> 0); + } + /** + * Write a chunk of raw bytes. + */ + raw(chunk) { + if (this.buf.length) { + this.chunks.push(new Uint8Array(this.buf)); + this.buf = []; + } + this.chunks.push(chunk); + return this; + } + /** + * Write a `uint32` value, an unsigned 32 bit varint. + */ + uint32(value) { + assert_1.assertUInt32(value); + while (value > 127) { + this.buf.push(value & 127 | 128); + value = value >>> 7; + } + this.buf.push(value); + return this; + } + /** + * Write a `int32` value, a signed 32 bit varint. + */ + int32(value) { + assert_1.assertInt32(value); + goog_varint_1.varint32write(value, this.buf); + return this; + } + /** + * Write a `bool` value, a variant. + */ + bool(value) { + this.buf.push(value ? 1 : 0); + return this; + } + /** + * Write a `bytes` value, length-delimited arbitrary data. + */ + bytes(value) { + this.uint32(value.byteLength); + return this.raw(value); + } + /** + * Write a `string` value, length-delimited data converted to UTF-8 text. + */ + string(value) { + let chunk = this.textEncoder.encode(value); + this.uint32(chunk.byteLength); + return this.raw(chunk); + } + /** + * Write a `float` value, 32-bit floating point number. + */ + float(value) { + assert_1.assertFloat32(value); + let chunk = new Uint8Array(4); + new DataView(chunk.buffer).setFloat32(0, value, true); + return this.raw(chunk); + } + /** + * Write a `double` value, a 64-bit floating point number. + */ + double(value) { + let chunk = new Uint8Array(8); + new DataView(chunk.buffer).setFloat64(0, value, true); + return this.raw(chunk); + } + /** + * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer. + */ + fixed32(value) { + assert_1.assertUInt32(value); + let chunk = new Uint8Array(4); + new DataView(chunk.buffer).setUint32(0, value, true); + return this.raw(chunk); + } + /** + * Write a `sfixed32` value, a signed, fixed-length 32-bit integer. + */ + sfixed32(value) { + assert_1.assertInt32(value); + let chunk = new Uint8Array(4); + new DataView(chunk.buffer).setInt32(0, value, true); + return this.raw(chunk); + } + /** + * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint. + */ + sint32(value) { + assert_1.assertInt32(value); + value = (value << 1 ^ value >> 31) >>> 0; + goog_varint_1.varint32write(value, this.buf); + return this; + } + /** + * Write a `fixed64` value, a signed, fixed-length 64-bit integer. + */ + sfixed64(value) { + let chunk = new Uint8Array(8); + let view = new DataView(chunk.buffer); + let long = pb_long_1.PbLong.from(value); + view.setInt32(0, long.lo, true); + view.setInt32(4, long.hi, true); + return this.raw(chunk); + } + /** + * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer. + */ + fixed64(value) { + let chunk = new Uint8Array(8); + let view = new DataView(chunk.buffer); + let long = pb_long_1.PbULong.from(value); + view.setInt32(0, long.lo, true); + view.setInt32(4, long.hi, true); + return this.raw(chunk); + } + /** + * Write a `int64` value, a signed 64-bit varint. + */ + int64(value) { + let long = pb_long_1.PbLong.from(value); + goog_varint_1.varint64write(long.lo, long.hi, this.buf); + return this; + } + /** + * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint. + */ + sint64(value) { + let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign; + goog_varint_1.varint64write(lo, hi, this.buf); + return this; + } + /** + * Write a `uint64` value, an unsigned 64-bit varint. + */ + uint64(value) { + let long = pb_long_1.PbULong.from(value); + goog_varint_1.varint64write(long.lo, long.hi, this.buf); + return this; + } + }; + exports2.BinaryWriter = BinaryWriter; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js +var require_json_format_contract = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0; + var defaultsWrite = { + emitDefaultValues: false, + enumAsInteger: false, + useProtoFieldName: false, + prettySpaces: 0 + }; + var defaultsRead = { + ignoreUnknownFields: false + }; + function jsonReadOptions(options) { + return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead; + } + exports2.jsonReadOptions = jsonReadOptions; + function jsonWriteOptions(options) { + return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite; + } + exports2.jsonWriteOptions = jsonWriteOptions; + function mergeJsonOptions(a, b) { + var _a, _b; + let c = Object.assign(Object.assign({}, a), b); + c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []]; + return c; + } + exports2.mergeJsonOptions = mergeJsonOptions; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js +var require_message_type_contract = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.MESSAGE_TYPE = void 0; + exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type"); + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js +var require_lower_camel_case = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.lowerCamelCase = void 0; + function lowerCamelCase(snakeCase) { + let capNext = false; + const sb = []; + for (let i = 0; i < snakeCase.length; i++) { + let next = snakeCase.charAt(i); + if (next == "_") { + capNext = true; + } else if (/\d/.test(next)) { + sb.push(next); + capNext = true; + } else if (capNext) { + sb.push(next.toUpperCase()); + capNext = false; + } else if (i == 0) { + sb.push(next.toLowerCase()); + } else { + sb.push(next); + } + } + return sb.join(""); + } + exports2.lowerCamelCase = lowerCamelCase; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js +var require_reflection_info = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0; + var lower_camel_case_1 = require_lower_camel_case(); + var ScalarType; + (function(ScalarType2) { + ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE"; + ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT"; + ScalarType2[ScalarType2["INT64"] = 3] = "INT64"; + ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64"; + ScalarType2[ScalarType2["INT32"] = 5] = "INT32"; + ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64"; + ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32"; + ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL"; + ScalarType2[ScalarType2["STRING"] = 9] = "STRING"; + ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES"; + ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32"; + ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32"; + ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64"; + ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32"; + ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64"; + })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {})); + var LongType; + (function(LongType2) { + LongType2[LongType2["BIGINT"] = 0] = "BIGINT"; + LongType2[LongType2["STRING"] = 1] = "STRING"; + LongType2[LongType2["NUMBER"] = 2] = "NUMBER"; + })(LongType = exports2.LongType || (exports2.LongType = {})); + var RepeatType; + (function(RepeatType2) { + RepeatType2[RepeatType2["NO"] = 0] = "NO"; + RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED"; + RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED"; + })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {})); + function normalizeFieldInfo(field) { + var _a, _b, _c, _d; + field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name); + field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name); + field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO; + field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message"; + return field; + } + exports2.normalizeFieldInfo = normalizeFieldInfo; + function readFieldOptions(messageType, fieldName, extensionName, extensionType) { + var _a; + const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options; + return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0; + } + exports2.readFieldOptions = readFieldOptions; + function readFieldOption(messageType, fieldName, extensionName, extensionType) { + var _a; + const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options; + if (!options) { + return void 0; + } + const optionVal = options[extensionName]; + if (optionVal === void 0) { + return optionVal; + } + return extensionType ? extensionType.fromJson(optionVal) : optionVal; + } + exports2.readFieldOption = readFieldOption; + function readMessageOption(messageType, extensionName, extensionType) { + const options = messageType.options; + const optionVal = options[extensionName]; + if (optionVal === void 0) { + return optionVal; + } + return extensionType ? extensionType.fromJson(optionVal) : optionVal; + } + exports2.readMessageOption = readMessageOption; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js +var require_oneof = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0; + function isOneofGroup(any) { + if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) { + return false; + } + switch (typeof any.oneofKind) { + case "string": + if (any[any.oneofKind] === void 0) + return false; + return Object.keys(any).length == 2; + case "undefined": + return Object.keys(any).length == 1; + default: + return false; + } + } + exports2.isOneofGroup = isOneofGroup; + function getOneofValue(oneof, kind) { + return oneof[kind]; + } + exports2.getOneofValue = getOneofValue; + function setOneofValue(oneof, kind, value) { + if (oneof.oneofKind !== void 0) { + delete oneof[oneof.oneofKind]; + } + oneof.oneofKind = kind; + if (value !== void 0) { + oneof[kind] = value; + } + } + exports2.setOneofValue = setOneofValue; + function setUnknownOneofValue(oneof, kind, value) { + if (oneof.oneofKind !== void 0) { + delete oneof[oneof.oneofKind]; + } + oneof.oneofKind = kind; + if (value !== void 0 && kind !== void 0) { + oneof[kind] = value; + } + } + exports2.setUnknownOneofValue = setUnknownOneofValue; + function clearOneofValue(oneof) { + if (oneof.oneofKind !== void 0) { + delete oneof[oneof.oneofKind]; + } + oneof.oneofKind = void 0; + } + exports2.clearOneofValue = clearOneofValue; + function getSelectedOneofValue(oneof) { + if (oneof.oneofKind === void 0) { + return void 0; + } + return oneof[oneof.oneofKind]; + } + exports2.getSelectedOneofValue = getSelectedOneofValue; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js +var require_reflection_type_check = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ReflectionTypeCheck = void 0; + var reflection_info_1 = require_reflection_info(); + var oneof_1 = require_oneof(); + var ReflectionTypeCheck = class { + constructor(info7) { + var _a; + this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : []; + } + prepare() { + if (this.data) + return; + const req = [], known = [], oneofs = []; + for (let field of this.fields) { + if (field.oneof) { + if (!oneofs.includes(field.oneof)) { + oneofs.push(field.oneof); + req.push(field.oneof); + known.push(field.oneof); + } + } else { + known.push(field.localName); + switch (field.kind) { + case "scalar": + case "enum": + if (!field.opt || field.repeat) + req.push(field.localName); + break; + case "message": + if (field.repeat) + req.push(field.localName); + break; + case "map": + req.push(field.localName); + break; + } + } + } + this.data = { req, known, oneofs: Object.values(oneofs) }; + } + /** + * Is the argument a valid message as specified by the + * reflection information? + * + * Checks all field types recursively. The `depth` + * specifies how deep into the structure the check will be. + * + * With a depth of 0, only the presence of fields + * is checked. + * + * With a depth of 1 or more, the field types are checked. + * + * With a depth of 2 or more, the members of map, repeated + * and message fields are checked. + * + * Message fields will be checked recursively with depth - 1. + * + * The number of map entries / repeated values being checked + * is < depth. + */ + is(message, depth, allowExcessProperties = false) { + if (depth < 0) + return true; + if (message === null || message === void 0 || typeof message != "object") + return false; + this.prepare(); + let keys = Object.keys(message), data = this.data; + if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n))) + return false; + if (!allowExcessProperties) { + if (keys.some((k) => !data.known.includes(k))) + return false; + } + if (depth < 1) { + return true; + } + for (const name of data.oneofs) { + const group = message[name]; + if (!oneof_1.isOneofGroup(group)) + return false; + if (group.oneofKind === void 0) + continue; + const field = this.fields.find((f) => f.localName === group.oneofKind); + if (!field) + return false; + if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth)) + return false; + } + for (const field of this.fields) { + if (field.oneof !== void 0) + continue; + if (!this.field(message[field.localName], field, allowExcessProperties, depth)) + return false; + } + return true; + } + field(arg, field, allowExcessProperties, depth) { + let repeated = field.repeat; + switch (field.kind) { + case "scalar": + if (arg === void 0) + return field.opt; + if (repeated) + return this.scalars(arg, field.T, depth, field.L); + return this.scalar(arg, field.T, field.L); + case "enum": + if (arg === void 0) + return field.opt; + if (repeated) + return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth); + return this.scalar(arg, reflection_info_1.ScalarType.INT32); + case "message": + if (arg === void 0) + return true; + if (repeated) + return this.messages(arg, field.T(), allowExcessProperties, depth); + return this.message(arg, field.T(), allowExcessProperties, depth); + case "map": + if (typeof arg != "object" || arg === null) + return false; + if (depth < 2) + return true; + if (!this.mapKeys(arg, field.K, depth)) + return false; + switch (field.V.kind) { + case "scalar": + return this.scalars(Object.values(arg), field.V.T, depth, field.V.L); + case "enum": + return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth); + case "message": + return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth); + } + break; + } + return true; + } + message(arg, type2, allowExcessProperties, depth) { + if (allowExcessProperties) { + return type2.isAssignable(arg, depth); + } + return type2.is(arg, depth); + } + messages(arg, type2, allowExcessProperties, depth) { + if (!Array.isArray(arg)) + return false; + if (depth < 2) + return true; + if (allowExcessProperties) { + for (let i = 0; i < arg.length && i < depth; i++) + if (!type2.isAssignable(arg[i], depth - 1)) + return false; + } else { + for (let i = 0; i < arg.length && i < depth; i++) + if (!type2.is(arg[i], depth - 1)) + return false; + } + return true; + } + scalar(arg, type2, longType) { + let argType = typeof arg; + switch (type2) { + case reflection_info_1.ScalarType.UINT64: + case reflection_info_1.ScalarType.FIXED64: + case reflection_info_1.ScalarType.INT64: + case reflection_info_1.ScalarType.SFIXED64: + case reflection_info_1.ScalarType.SINT64: + switch (longType) { + case reflection_info_1.LongType.BIGINT: + return argType == "bigint"; + case reflection_info_1.LongType.NUMBER: + return argType == "number" && !isNaN(arg); + default: + return argType == "string"; + } + case reflection_info_1.ScalarType.BOOL: + return argType == "boolean"; + case reflection_info_1.ScalarType.STRING: + return argType == "string"; + case reflection_info_1.ScalarType.BYTES: + return arg instanceof Uint8Array; + case reflection_info_1.ScalarType.DOUBLE: + case reflection_info_1.ScalarType.FLOAT: + return argType == "number" && !isNaN(arg); + default: + return argType == "number" && Number.isInteger(arg); + } + } + scalars(arg, type2, depth, longType) { + if (!Array.isArray(arg)) + return false; + if (depth < 2) + return true; + if (Array.isArray(arg)) { + for (let i = 0; i < arg.length && i < depth; i++) + if (!this.scalar(arg[i], type2, longType)) + return false; + } + return true; + } + mapKeys(map2, type2, depth) { + let keys = Object.keys(map2); + switch (type2) { + case reflection_info_1.ScalarType.INT32: + case reflection_info_1.ScalarType.FIXED32: + case reflection_info_1.ScalarType.SFIXED32: + case reflection_info_1.ScalarType.SINT32: + case reflection_info_1.ScalarType.UINT32: + return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth); + case reflection_info_1.ScalarType.BOOL: + return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth); + default: + return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING); + } + } + }; + exports2.ReflectionTypeCheck = ReflectionTypeCheck; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js +var require_reflection_long_convert = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.reflectionLongConvert = void 0; + var reflection_info_1 = require_reflection_info(); + function reflectionLongConvert(long, type2) { + switch (type2) { + case reflection_info_1.LongType.BIGINT: + return long.toBigInt(); + case reflection_info_1.LongType.NUMBER: + return long.toNumber(); + default: + return long.toString(); + } + } + exports2.reflectionLongConvert = reflectionLongConvert; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js +var require_reflection_json_reader = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ReflectionJsonReader = void 0; + var json_typings_1 = require_json_typings(); + var base64_1 = require_base642(); + var reflection_info_1 = require_reflection_info(); + var pb_long_1 = require_pb_long(); + var assert_1 = require_assert(); + var reflection_long_convert_1 = require_reflection_long_convert(); + var ReflectionJsonReader = class { + constructor(info7) { + this.info = info7; + } + prepare() { + var _a; + if (this.fMap === void 0) { + this.fMap = {}; + const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : []; + for (const field of fieldsInput) { + this.fMap[field.name] = field; + this.fMap[field.jsonName] = field; + this.fMap[field.localName] = field; + } + } + } + // Cannot parse JSON for #. + assert(condition, fieldName, jsonValue) { + if (!condition) { + let what = json_typings_1.typeofJsonValue(jsonValue); + if (what == "number" || what == "boolean") + what = jsonValue.toString(); + throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`); + } + } + /** + * Reads a message from canonical JSON format into the target message. + * + * Repeated fields are appended. Map entries are added, overwriting + * existing keys. + * + * If a message field is already present, it will be merged with the + * new data. + */ + read(input, message, options) { + this.prepare(); + const oneofsHandled = []; + for (const [jsonKey, jsonValue] of Object.entries(input)) { + const field = this.fMap[jsonKey]; + if (!field) { + if (!options.ignoreUnknownFields) + throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`); + continue; + } + const localName = field.localName; + let target; + if (field.oneof) { + if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) { + continue; + } + if (oneofsHandled.includes(field.oneof)) + throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`); + oneofsHandled.push(field.oneof); + target = message[field.oneof] = { + oneofKind: localName + }; + } else { + target = message; + } + if (field.kind == "map") { + if (jsonValue === null) { + continue; + } + this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue); + const fieldObj = target[localName]; + for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) { + this.assert(jsonObjValue !== null, field.name + " map value", null); + let val; + switch (field.V.kind) { + case "message": + val = field.V.T().internalJsonRead(jsonObjValue, options); + break; + case "enum": + val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields); + if (val === false) + continue; + break; + case "scalar": + val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name); + break; + } + this.assert(val !== void 0, field.name + " map value", jsonObjValue); + let key = jsonObjKey; + if (field.K == reflection_info_1.ScalarType.BOOL) + key = key == "true" ? true : key == "false" ? false : key; + key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString(); + fieldObj[key] = val; + } + } else if (field.repeat) { + if (jsonValue === null) + continue; + this.assert(Array.isArray(jsonValue), field.name, jsonValue); + const fieldArr = target[localName]; + for (const jsonItem of jsonValue) { + this.assert(jsonItem !== null, field.name, null); + let val; + switch (field.kind) { + case "message": + val = field.T().internalJsonRead(jsonItem, options); + break; + case "enum": + val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields); + if (val === false) + continue; + break; + case "scalar": + val = this.scalar(jsonItem, field.T, field.L, field.name); + break; + } + this.assert(val !== void 0, field.name, jsonValue); + fieldArr.push(val); + } + } else { + switch (field.kind) { + case "message": + if (jsonValue === null && field.T().typeName != "google.protobuf.Value") { + this.assert(field.oneof === void 0, field.name + " (oneof member)", null); + continue; + } + target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]); + break; + case "enum": + if (jsonValue === null) + continue; + let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields); + if (val === false) + continue; + target[localName] = val; + break; + case "scalar": + if (jsonValue === null) + continue; + target[localName] = this.scalar(jsonValue, field.T, field.L, field.name); + break; + } + } + } + } + /** + * Returns `false` for unrecognized string representations. + * + * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`). + */ + enum(type2, json2, fieldName, ignoreUnknownFields) { + if (type2[0] == "google.protobuf.NullValue") + assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`); + if (json2 === null) + return 0; + switch (typeof json2) { + case "number": + assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`); + return json2; + case "string": + let localEnumName = json2; + if (type2[2] && json2.substring(0, type2[2].length) === type2[2]) + localEnumName = json2.substring(type2[2].length); + let enumNumber = type2[1][localEnumName]; + if (typeof enumNumber === "undefined" && ignoreUnknownFields) { + return false; + } + assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`); + return enumNumber; + } + assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`); + } + scalar(json2, type2, longType, fieldName) { + let e; + try { + switch (type2) { + // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity". + // Either numbers or strings are accepted. Exponent notation is also accepted. + case reflection_info_1.ScalarType.DOUBLE: + case reflection_info_1.ScalarType.FLOAT: + if (json2 === null) + return 0; + if (json2 === "NaN") + return Number.NaN; + if (json2 === "Infinity") + return Number.POSITIVE_INFINITY; + if (json2 === "-Infinity") + return Number.NEGATIVE_INFINITY; + if (json2 === "") { + e = "empty string"; + break; + } + if (typeof json2 == "string" && json2.trim().length !== json2.length) { + e = "extra whitespace"; + break; + } + if (typeof json2 != "string" && typeof json2 != "number") { + break; + } + let float2 = Number(json2); + if (Number.isNaN(float2)) { + e = "not a number"; + break; + } + if (!Number.isFinite(float2)) { + e = "too large or small"; + break; + } + if (type2 == reflection_info_1.ScalarType.FLOAT) + assert_1.assertFloat32(float2); + return float2; + // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted. + case reflection_info_1.ScalarType.INT32: + case reflection_info_1.ScalarType.FIXED32: + case reflection_info_1.ScalarType.SFIXED32: + case reflection_info_1.ScalarType.SINT32: + case reflection_info_1.ScalarType.UINT32: + if (json2 === null) + return 0; + let int32; + if (typeof json2 == "number") + int32 = json2; + else if (json2 === "") + e = "empty string"; + else if (typeof json2 == "string") { + if (json2.trim().length !== json2.length) + e = "extra whitespace"; + else + int32 = Number(json2); + } + if (int32 === void 0) + break; + if (type2 == reflection_info_1.ScalarType.UINT32) + assert_1.assertUInt32(int32); + else + assert_1.assertInt32(int32); + return int32; + // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted. + case reflection_info_1.ScalarType.INT64: + case reflection_info_1.ScalarType.SFIXED64: + case reflection_info_1.ScalarType.SINT64: + if (json2 === null) + return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType); + if (typeof json2 != "number" && typeof json2 != "string") + break; + return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType); + case reflection_info_1.ScalarType.FIXED64: + case reflection_info_1.ScalarType.UINT64: + if (json2 === null) + return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType); + if (typeof json2 != "number" && typeof json2 != "string") + break; + return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType); + // bool: + case reflection_info_1.ScalarType.BOOL: + if (json2 === null) + return false; + if (typeof json2 !== "boolean") + break; + return json2; + // string: + case reflection_info_1.ScalarType.STRING: + if (json2 === null) + return ""; + if (typeof json2 !== "string") { + e = "extra whitespace"; + break; + } + try { + encodeURIComponent(json2); + } catch (e2) { + e2 = "invalid UTF8"; + break; + } + return json2; + // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings. + // Either standard or URL-safe base64 encoding with/without paddings are accepted. + case reflection_info_1.ScalarType.BYTES: + if (json2 === null || json2 === "") + return new Uint8Array(0); + if (typeof json2 !== "string") + break; + return base64_1.base64decode(json2); + } + } catch (error3) { + e = error3.message; + } + this.assert(false, fieldName + (e ? " - " + e : ""), json2); + } + }; + exports2.ReflectionJsonReader = ReflectionJsonReader; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js +var require_reflection_json_writer = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ReflectionJsonWriter = void 0; + var base64_1 = require_base642(); + var pb_long_1 = require_pb_long(); + var reflection_info_1 = require_reflection_info(); + var assert_1 = require_assert(); + var ReflectionJsonWriter = class { + constructor(info7) { + var _a; + this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : []; + } + /** + * Converts the message to a JSON object, based on the field descriptors. + */ + write(message, options) { + const json2 = {}, source = message; + for (const field of this.fields) { + if (!field.oneof) { + let jsonValue2 = this.field(field, source[field.localName], options); + if (jsonValue2 !== void 0) + json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2; + continue; + } + const group = source[field.oneof]; + if (group.oneofKind !== field.localName) + continue; + const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options; + let jsonValue = this.field(field, group[field.localName], opt); + assert_1.assert(jsonValue !== void 0); + json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue; + } + return json2; + } + field(field, value, options) { + let jsonValue = void 0; + if (field.kind == "map") { + assert_1.assert(typeof value == "object" && value !== null); + const jsonObj = {}; + switch (field.V.kind) { + case "scalar": + for (const [entryKey, entryValue] of Object.entries(value)) { + const val = this.scalar(field.V.T, entryValue, field.name, false, true); + assert_1.assert(val !== void 0); + jsonObj[entryKey.toString()] = val; + } + break; + case "message": + const messageType = field.V.T(); + for (const [entryKey, entryValue] of Object.entries(value)) { + const val = this.message(messageType, entryValue, field.name, options); + assert_1.assert(val !== void 0); + jsonObj[entryKey.toString()] = val; + } + break; + case "enum": + const enumInfo = field.V.T(); + for (const [entryKey, entryValue] of Object.entries(value)) { + assert_1.assert(entryValue === void 0 || typeof entryValue == "number"); + const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger); + assert_1.assert(val !== void 0); + jsonObj[entryKey.toString()] = val; + } + break; + } + if (options.emitDefaultValues || Object.keys(jsonObj).length > 0) + jsonValue = jsonObj; + } else if (field.repeat) { + assert_1.assert(Array.isArray(value)); + const jsonArr = []; + switch (field.kind) { + case "scalar": + for (let i = 0; i < value.length; i++) { + const val = this.scalar(field.T, value[i], field.name, field.opt, true); + assert_1.assert(val !== void 0); + jsonArr.push(val); + } + break; + case "enum": + const enumInfo = field.T(); + for (let i = 0; i < value.length; i++) { + assert_1.assert(value[i] === void 0 || typeof value[i] == "number"); + const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger); + assert_1.assert(val !== void 0); + jsonArr.push(val); + } + break; + case "message": + const messageType = field.T(); + for (let i = 0; i < value.length; i++) { + const val = this.message(messageType, value[i], field.name, options); + assert_1.assert(val !== void 0); + jsonArr.push(val); + } + break; + } + if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues) + jsonValue = jsonArr; + } else { + switch (field.kind) { + case "scalar": + jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues); + break; + case "enum": + jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger); + break; + case "message": + jsonValue = this.message(field.T(), value, field.name, options); + break; + } + } + return jsonValue; + } + /** + * Returns `null` as the default for google.protobuf.NullValue. + */ + enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) { + if (type2[0] == "google.protobuf.NullValue") + return !emitDefaultValues && !optional ? void 0 : null; + if (value === void 0) { + assert_1.assert(optional); + return void 0; + } + if (value === 0 && !emitDefaultValues && !optional) + return void 0; + assert_1.assert(typeof value == "number"); + assert_1.assert(Number.isInteger(value)); + if (enumAsInteger || !type2[1].hasOwnProperty(value)) + return value; + if (type2[2]) + return type2[2] + type2[1][value]; + return type2[1][value]; + } + message(type2, value, fieldName, options) { + if (value === void 0) + return options.emitDefaultValues ? null : void 0; + return type2.internalJsonWrite(value, options); + } + scalar(type2, value, fieldName, optional, emitDefaultValues) { + if (value === void 0) { + assert_1.assert(optional); + return void 0; + } + const ed = emitDefaultValues || optional; + switch (type2) { + // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted. + case reflection_info_1.ScalarType.INT32: + case reflection_info_1.ScalarType.SFIXED32: + case reflection_info_1.ScalarType.SINT32: + if (value === 0) + return ed ? 0 : void 0; + assert_1.assertInt32(value); + return value; + case reflection_info_1.ScalarType.FIXED32: + case reflection_info_1.ScalarType.UINT32: + if (value === 0) + return ed ? 0 : void 0; + assert_1.assertUInt32(value); + return value; + // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity". + // Either numbers or strings are accepted. Exponent notation is also accepted. + case reflection_info_1.ScalarType.FLOAT: + assert_1.assertFloat32(value); + case reflection_info_1.ScalarType.DOUBLE: + if (value === 0) + return ed ? 0 : void 0; + assert_1.assert(typeof value == "number"); + if (Number.isNaN(value)) + return "NaN"; + if (value === Number.POSITIVE_INFINITY) + return "Infinity"; + if (value === Number.NEGATIVE_INFINITY) + return "-Infinity"; + return value; + // string: + case reflection_info_1.ScalarType.STRING: + if (value === "") + return ed ? "" : void 0; + assert_1.assert(typeof value == "string"); + return value; + // bool: + case reflection_info_1.ScalarType.BOOL: + if (value === false) + return ed ? false : void 0; + assert_1.assert(typeof value == "boolean"); + return value; + // JSON value will be a decimal string. Either numbers or strings are accepted. + case reflection_info_1.ScalarType.UINT64: + case reflection_info_1.ScalarType.FIXED64: + assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint"); + let ulong = pb_long_1.PbULong.from(value); + if (ulong.isZero() && !ed) + return void 0; + return ulong.toString(); + // JSON value will be a decimal string. Either numbers or strings are accepted. + case reflection_info_1.ScalarType.INT64: + case reflection_info_1.ScalarType.SFIXED64: + case reflection_info_1.ScalarType.SINT64: + assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint"); + let long = pb_long_1.PbLong.from(value); + if (long.isZero() && !ed) + return void 0; + return long.toString(); + // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings. + // Either standard or URL-safe base64 encoding with/without paddings are accepted. + case reflection_info_1.ScalarType.BYTES: + assert_1.assert(value instanceof Uint8Array); + if (!value.byteLength) + return ed ? "" : void 0; + return base64_1.base64encode(value); + } + } + }; + exports2.ReflectionJsonWriter = ReflectionJsonWriter; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js +var require_reflection_scalar_default = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.reflectionScalarDefault = void 0; + var reflection_info_1 = require_reflection_info(); + var reflection_long_convert_1 = require_reflection_long_convert(); + var pb_long_1 = require_pb_long(); + function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) { + switch (type2) { + case reflection_info_1.ScalarType.BOOL: + return false; + case reflection_info_1.ScalarType.UINT64: + case reflection_info_1.ScalarType.FIXED64: + return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType); + case reflection_info_1.ScalarType.INT64: + case reflection_info_1.ScalarType.SFIXED64: + case reflection_info_1.ScalarType.SINT64: + return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType); + case reflection_info_1.ScalarType.DOUBLE: + case reflection_info_1.ScalarType.FLOAT: + return 0; + case reflection_info_1.ScalarType.BYTES: + return new Uint8Array(0); + case reflection_info_1.ScalarType.STRING: + return ""; + default: + return 0; + } + } + exports2.reflectionScalarDefault = reflectionScalarDefault; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js +var require_reflection_binary_reader = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ReflectionBinaryReader = void 0; + var binary_format_contract_1 = require_binary_format_contract(); + var reflection_info_1 = require_reflection_info(); + var reflection_long_convert_1 = require_reflection_long_convert(); + var reflection_scalar_default_1 = require_reflection_scalar_default(); + var ReflectionBinaryReader = class { + constructor(info7) { + this.info = info7; + } + prepare() { + var _a; + if (!this.fieldNoToField) { + const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : []; + this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field])); + } + } + /** + * Reads a message from binary format into the target message. + * + * Repeated fields are appended. Map entries are added, overwriting + * existing keys. + * + * If a message field is already present, it will be merged with the + * new data. + */ + read(reader, message, options, length) { + this.prepare(); + const end = length === void 0 ? reader.len : reader.pos + length; + while (reader.pos < end) { + const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo); + if (!field) { + let u = options.readUnknownField; + if (u == "throw") + throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d); + continue; + } + let target = message, repeated = field.repeat, localName = field.localName; + if (field.oneof) { + target = target[field.oneof]; + if (target.oneofKind !== localName) + target = message[field.oneof] = { + oneofKind: localName + }; + } + switch (field.kind) { + case "scalar": + case "enum": + let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T; + let L = field.kind == "scalar" ? field.L : void 0; + if (repeated) { + let arr = target[localName]; + if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) { + let e = reader.uint32() + reader.pos; + while (reader.pos < e) + arr.push(this.scalar(reader, T, L)); + } else + arr.push(this.scalar(reader, T, L)); + } else + target[localName] = this.scalar(reader, T, L); + break; + case "message": + if (repeated) { + let arr = target[localName]; + let msg = field.T().internalBinaryRead(reader, reader.uint32(), options); + arr.push(msg); + } else + target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]); + break; + case "map": + let [mapKey, mapVal] = this.mapEntry(field, reader, options); + target[localName][mapKey] = mapVal; + break; + } + } + } + /** + * Read a map field, expecting key field = 1, value field = 2 + */ + mapEntry(field, reader, options) { + let length = reader.uint32(); + let end = reader.pos + length; + let key = void 0; + let val = void 0; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case 1: + if (field.K == reflection_info_1.ScalarType.BOOL) + key = reader.bool().toString(); + else + key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING); + break; + case 2: + switch (field.V.kind) { + case "scalar": + val = this.scalar(reader, field.V.T, field.V.L); + break; + case "enum": + val = reader.int32(); + break; + case "message": + val = field.V.T().internalBinaryRead(reader, reader.uint32(), options); + break; + } + break; + default: + throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`); + } + } + if (key === void 0) { + let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K); + key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw; + } + if (val === void 0) + switch (field.V.kind) { + case "scalar": + val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L); + break; + case "enum": + val = 0; + break; + case "message": + val = field.V.T().create(); + break; + } + return [key, val]; + } + scalar(reader, type2, longType) { + switch (type2) { + case reflection_info_1.ScalarType.INT32: + return reader.int32(); + case reflection_info_1.ScalarType.STRING: + return reader.string(); + case reflection_info_1.ScalarType.BOOL: + return reader.bool(); + case reflection_info_1.ScalarType.DOUBLE: + return reader.double(); + case reflection_info_1.ScalarType.FLOAT: + return reader.float(); + case reflection_info_1.ScalarType.INT64: + return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType); + case reflection_info_1.ScalarType.UINT64: + return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType); + case reflection_info_1.ScalarType.FIXED64: + return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType); + case reflection_info_1.ScalarType.FIXED32: + return reader.fixed32(); + case reflection_info_1.ScalarType.BYTES: + return reader.bytes(); + case reflection_info_1.ScalarType.UINT32: + return reader.uint32(); + case reflection_info_1.ScalarType.SFIXED32: + return reader.sfixed32(); + case reflection_info_1.ScalarType.SFIXED64: + return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType); + case reflection_info_1.ScalarType.SINT32: + return reader.sint32(); + case reflection_info_1.ScalarType.SINT64: + return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType); + } + } + }; + exports2.ReflectionBinaryReader = ReflectionBinaryReader; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js +var require_reflection_binary_writer = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ReflectionBinaryWriter = void 0; + var binary_format_contract_1 = require_binary_format_contract(); + var reflection_info_1 = require_reflection_info(); + var assert_1 = require_assert(); + var pb_long_1 = require_pb_long(); + var ReflectionBinaryWriter = class { + constructor(info7) { + this.info = info7; + } + prepare() { + if (!this.fields) { + const fieldsInput = this.info.fields ? this.info.fields.concat() : []; + this.fields = fieldsInput.sort((a, b) => a.no - b.no); + } + } + /** + * Writes the message to binary format. + */ + write(message, writer, options) { + this.prepare(); + for (const field of this.fields) { + let value, emitDefault, repeated = field.repeat, localName = field.localName; + if (field.oneof) { + const group = message[field.oneof]; + if (group.oneofKind !== localName) + continue; + value = group[localName]; + emitDefault = true; + } else { + value = message[localName]; + emitDefault = false; + } + switch (field.kind) { + case "scalar": + case "enum": + let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T; + if (repeated) { + assert_1.assert(Array.isArray(value)); + if (repeated == reflection_info_1.RepeatType.PACKED) + this.packed(writer, T, field.no, value); + else + for (const item of value) + this.scalar(writer, T, field.no, item, true); + } else if (value === void 0) + assert_1.assert(field.opt); + else + this.scalar(writer, T, field.no, value, emitDefault || field.opt); + break; + case "message": + if (repeated) { + assert_1.assert(Array.isArray(value)); + for (const item of value) + this.message(writer, options, field.T(), field.no, item); + } else { + this.message(writer, options, field.T(), field.no, value); + } + break; + case "map": + assert_1.assert(typeof value == "object" && value !== null); + for (const [key, val] of Object.entries(value)) + this.mapEntry(writer, options, field, key, val); + break; + } + } + let u = options.writeUnknownFields; + if (u !== false) + (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer); + } + mapEntry(writer, options, field, key, value) { + writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited); + writer.fork(); + let keyValue = key; + switch (field.K) { + case reflection_info_1.ScalarType.INT32: + case reflection_info_1.ScalarType.FIXED32: + case reflection_info_1.ScalarType.UINT32: + case reflection_info_1.ScalarType.SFIXED32: + case reflection_info_1.ScalarType.SINT32: + keyValue = Number.parseInt(key); + break; + case reflection_info_1.ScalarType.BOOL: + assert_1.assert(key == "true" || key == "false"); + keyValue = key == "true"; + break; + } + this.scalar(writer, field.K, 1, keyValue, true); + switch (field.V.kind) { + case "scalar": + this.scalar(writer, field.V.T, 2, value, true); + break; + case "enum": + this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true); + break; + case "message": + this.message(writer, options, field.V.T(), 2, value); + break; + } + writer.join(); + } + message(writer, options, handler2, fieldNo, value) { + if (value === void 0) + return; + handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options); + writer.join(); + } + /** + * Write a single scalar value. + */ + scalar(writer, type2, fieldNo, value, emitDefault) { + let [wireType, method, isDefault] = this.scalarInfo(type2, value); + if (!isDefault || emitDefault) { + writer.tag(fieldNo, wireType); + writer[method](value); + } + } + /** + * Write an array of scalar values in packed format. + */ + packed(writer, type2, fieldNo, value) { + if (!value.length) + return; + assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING); + writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited); + writer.fork(); + let [, method] = this.scalarInfo(type2); + for (let i = 0; i < value.length; i++) + writer[method](value[i]); + writer.join(); + } + /** + * Get information for writing a scalar value. + * + * Returns tuple: + * [0]: appropriate WireType + * [1]: name of the appropriate method of IBinaryWriter + * [2]: whether the given value is a default value + * + * If argument `value` is omitted, [2] is always false. + */ + scalarInfo(type2, value) { + let t = binary_format_contract_1.WireType.Varint; + let m; + let i = value === void 0; + let d = value === 0; + switch (type2) { + case reflection_info_1.ScalarType.INT32: + m = "int32"; + break; + case reflection_info_1.ScalarType.STRING: + d = i || !value.length; + t = binary_format_contract_1.WireType.LengthDelimited; + m = "string"; + break; + case reflection_info_1.ScalarType.BOOL: + d = value === false; + m = "bool"; + break; + case reflection_info_1.ScalarType.UINT32: + m = "uint32"; + break; + case reflection_info_1.ScalarType.DOUBLE: + t = binary_format_contract_1.WireType.Bit64; + m = "double"; + break; + case reflection_info_1.ScalarType.FLOAT: + t = binary_format_contract_1.WireType.Bit32; + m = "float"; + break; + case reflection_info_1.ScalarType.INT64: + d = i || pb_long_1.PbLong.from(value).isZero(); + m = "int64"; + break; + case reflection_info_1.ScalarType.UINT64: + d = i || pb_long_1.PbULong.from(value).isZero(); + m = "uint64"; + break; + case reflection_info_1.ScalarType.FIXED64: + d = i || pb_long_1.PbULong.from(value).isZero(); + t = binary_format_contract_1.WireType.Bit64; + m = "fixed64"; + break; + case reflection_info_1.ScalarType.BYTES: + d = i || !value.byteLength; + t = binary_format_contract_1.WireType.LengthDelimited; + m = "bytes"; + break; + case reflection_info_1.ScalarType.FIXED32: + t = binary_format_contract_1.WireType.Bit32; + m = "fixed32"; + break; + case reflection_info_1.ScalarType.SFIXED32: + t = binary_format_contract_1.WireType.Bit32; + m = "sfixed32"; + break; + case reflection_info_1.ScalarType.SFIXED64: + d = i || pb_long_1.PbLong.from(value).isZero(); + t = binary_format_contract_1.WireType.Bit64; + m = "sfixed64"; + break; + case reflection_info_1.ScalarType.SINT32: + m = "sint32"; + break; + case reflection_info_1.ScalarType.SINT64: + d = i || pb_long_1.PbLong.from(value).isZero(); + m = "sint64"; + break; + } + return [t, m, i || d]; + } + }; + exports2.ReflectionBinaryWriter = ReflectionBinaryWriter; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js +var require_reflection_create = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.reflectionCreate = void 0; + var reflection_scalar_default_1 = require_reflection_scalar_default(); + var message_type_contract_1 = require_message_type_contract(); + function reflectionCreate(type2) { + const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 }); + for (let field of type2.fields) { + let name = field.localName; + if (field.opt) + continue; + if (field.oneof) + msg[field.oneof] = { oneofKind: void 0 }; + else if (field.repeat) + msg[name] = []; + else + switch (field.kind) { + case "scalar": + msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L); + break; + case "enum": + msg[name] = 0; + break; + case "map": + msg[name] = {}; + break; + } + } + return msg; + } + exports2.reflectionCreate = reflectionCreate; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js +var require_reflection_merge_partial = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.reflectionMergePartial = void 0; + function reflectionMergePartial(info7, target, source) { + let fieldValue, input = source, output; + for (let field of info7.fields) { + let name = field.localName; + if (field.oneof) { + const group = input[field.oneof]; + if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) { + continue; + } + fieldValue = group[name]; + output = target[field.oneof]; + output.oneofKind = group.oneofKind; + if (fieldValue == void 0) { + delete output[name]; + continue; + } + } else { + fieldValue = input[name]; + output = target; + if (fieldValue == void 0) { + continue; + } + } + if (field.repeat) + output[name].length = fieldValue.length; + switch (field.kind) { + case "scalar": + case "enum": + if (field.repeat) + for (let i = 0; i < fieldValue.length; i++) + output[name][i] = fieldValue[i]; + else + output[name] = fieldValue; + break; + case "message": + let T = field.T(); + if (field.repeat) + for (let i = 0; i < fieldValue.length; i++) + output[name][i] = T.create(fieldValue[i]); + else if (output[name] === void 0) + output[name] = T.create(fieldValue); + else + T.mergePartial(output[name], fieldValue); + break; + case "map": + switch (field.V.kind) { + case "scalar": + case "enum": + Object.assign(output[name], fieldValue); + break; + case "message": + let T2 = field.V.T(); + for (let k of Object.keys(fieldValue)) + output[name][k] = T2.create(fieldValue[k]); + break; + } + break; + } + } + } + exports2.reflectionMergePartial = reflectionMergePartial; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js +var require_reflection_equals = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.reflectionEquals = void 0; + var reflection_info_1 = require_reflection_info(); + function reflectionEquals(info7, a, b) { + if (a === b) + return true; + if (!a || !b) + return false; + for (let field of info7.fields) { + let localName = field.localName; + let val_a = field.oneof ? a[field.oneof][localName] : a[localName]; + let val_b = field.oneof ? b[field.oneof][localName] : b[localName]; + switch (field.kind) { + case "enum": + case "scalar": + let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T; + if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b))) + return false; + break; + case "map": + if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b)))) + return false; + break; + case "message": + let T = field.T(); + if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b))) + return false; + break; + } + } + return true; + } + exports2.reflectionEquals = reflectionEquals; + var objectValues = Object.values; + function primitiveEq(type2, a, b) { + if (a === b) + return true; + if (type2 !== reflection_info_1.ScalarType.BYTES) + return false; + let ba = a; + let bb = b; + if (ba.length !== bb.length) + return false; + for (let i = 0; i < ba.length; i++) + if (ba[i] != bb[i]) + return false; + return true; + } + function repeatedPrimitiveEq(type2, a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) + if (!primitiveEq(type2, a[i], b[i])) + return false; + return true; + } + function repeatedMsgEq(type2, a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) + if (!type2.equals(a[i], b[i])) + return false; + return true; + } + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js +var require_message_type = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.MessageType = void 0; + var message_type_contract_1 = require_message_type_contract(); + var reflection_info_1 = require_reflection_info(); + var reflection_type_check_1 = require_reflection_type_check(); + var reflection_json_reader_1 = require_reflection_json_reader(); + var reflection_json_writer_1 = require_reflection_json_writer(); + var reflection_binary_reader_1 = require_reflection_binary_reader(); + var reflection_binary_writer_1 = require_reflection_binary_writer(); + var reflection_create_1 = require_reflection_create(); + var reflection_merge_partial_1 = require_reflection_merge_partial(); + var json_typings_1 = require_json_typings(); + var json_format_contract_1 = require_json_format_contract(); + var reflection_equals_1 = require_reflection_equals(); + var binary_writer_1 = require_binary_writer(); + var binary_reader_1 = require_binary_reader(); + var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})); + var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {}; + var MessageType = class { + constructor(name, fields, options) { + this.defaultCheckDepth = 16; + this.typeName = name; + this.fields = fields.map(reflection_info_1.normalizeFieldInfo); + this.options = options !== null && options !== void 0 ? options : {}; + messageTypeDescriptor.value = this; + this.messagePrototype = Object.create(null, baseDescriptors); + this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this); + this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this); + this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this); + this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this); + this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this); + } + create(value) { + let message = reflection_create_1.reflectionCreate(this); + if (value !== void 0) { + reflection_merge_partial_1.reflectionMergePartial(this, message, value); + } + return message; + } + /** + * Clone the message. + * + * Unknown fields are discarded. + */ + clone(message) { + let copy = this.create(); + reflection_merge_partial_1.reflectionMergePartial(this, copy, message); + return copy; + } + /** + * Determines whether two message of the same type have the same field values. + * Checks for deep equality, traversing repeated fields, oneof groups, maps + * and messages recursively. + * Will also return true if both messages are `undefined`. + */ + equals(a, b) { + return reflection_equals_1.reflectionEquals(this, a, b); + } + /** + * Is the given value assignable to our message type + * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)? + */ + is(arg, depth = this.defaultCheckDepth) { + return this.refTypeCheck.is(arg, depth, false); + } + /** + * Is the given value assignable to our message type, + * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)? + */ + isAssignable(arg, depth = this.defaultCheckDepth) { + return this.refTypeCheck.is(arg, depth, true); + } + /** + * Copy partial data into the target message. + */ + mergePartial(target, source) { + reflection_merge_partial_1.reflectionMergePartial(this, target, source); + } + /** + * Create a new message from binary format. + */ + fromBinary(data, options) { + let opt = binary_reader_1.binaryReadOptions(options); + return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt); + } + /** + * Read a new message from a JSON value. + */ + fromJson(json2, options) { + return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options)); + } + /** + * Read a new message from a JSON string. + * This is equivalent to `T.fromJson(JSON.parse(json))`. + */ + fromJsonString(json2, options) { + let value = JSON.parse(json2); + return this.fromJson(value, options); + } + /** + * Write the message to canonical JSON value. + */ + toJson(message, options) { + return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options)); + } + /** + * Convert the message to canonical JSON string. + * This is equivalent to `JSON.stringify(T.toJson(t))` + */ + toJsonString(message, options) { + var _a; + let value = this.toJson(message, options); + return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0); + } + /** + * Write the message to binary format. + */ + toBinary(message, options) { + let opt = binary_writer_1.binaryWriteOptions(options); + return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish(); + } + /** + * This is an internal method. If you just want to read a message from + * JSON, use `fromJson()` or `fromJsonString()`. + * + * Reads JSON value and merges the fields into the target + * according to protobuf rules. If the target is omitted, + * a new instance is created first. + */ + internalJsonRead(json2, options, target) { + if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) { + let message = target !== null && target !== void 0 ? target : this.create(); + this.refJsonReader.read(json2, message, options); + return message; + } + throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`); + } + /** + * This is an internal method. If you just want to write a message + * to JSON, use `toJson()` or `toJsonString(). + * + * Writes JSON value and returns it. + */ + internalJsonWrite(message, options) { + return this.refJsonWriter.write(message, options); + } + /** + * This is an internal method. If you just want to write a message + * in binary format, use `toBinary()`. + * + * Serializes the message in binary format and appends it to the given + * writer. Returns passed writer. + */ + internalBinaryWrite(message, writer, options) { + this.refBinWriter.write(message, writer, options); + return writer; + } + /** + * This is an internal method. If you just want to read a message from + * binary data, use `fromBinary()`. + * + * Reads data from binary format and merges the fields into + * the target according to protobuf rules. If the target is + * omitted, a new instance is created first. + */ + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(); + this.refBinReader.read(reader, message, options, length); + return message; + } + }; + exports2.MessageType = MessageType; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js +var require_reflection_contains_message_type = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.containsMessageType = void 0; + var message_type_contract_1 = require_message_type_contract(); + function containsMessageType(msg) { + return msg[message_type_contract_1.MESSAGE_TYPE] != null; + } + exports2.containsMessageType = containsMessageType; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js +var require_enum_object = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0; + function isEnumObject(arg) { + if (typeof arg != "object" || arg === null) { + return false; + } + if (!arg.hasOwnProperty(0)) { + return false; + } + for (let k of Object.keys(arg)) { + let num = parseInt(k); + if (!Number.isNaN(num)) { + let nam = arg[num]; + if (nam === void 0) + return false; + if (arg[nam] !== num) + return false; + } else { + let num2 = arg[k]; + if (num2 === void 0) + return false; + if (typeof num2 !== "number") + return false; + if (arg[num2] === void 0) + return false; + } + } + return true; + } + exports2.isEnumObject = isEnumObject; + function listEnumValues(enumObject) { + if (!isEnumObject(enumObject)) + throw new Error("not a typescript enum object"); + let values = []; + for (let [name, number] of Object.entries(enumObject)) + if (typeof number == "number") + values.push({ name, number }); + return values; + } + exports2.listEnumValues = listEnumValues; + function listEnumNames(enumObject) { + return listEnumValues(enumObject).map((val) => val.name); + } + exports2.listEnumNames = listEnumNames; + function listEnumNumbers(enumObject) { + return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index); + } + exports2.listEnumNumbers = listEnumNumbers; + } +}); + +// node_modules/@protobuf-ts/runtime/build/commonjs/index.js +var require_commonjs16 = __commonJS({ + "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var json_typings_1 = require_json_typings(); + Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() { + return json_typings_1.typeofJsonValue; + } }); + Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() { + return json_typings_1.isJsonObject; + } }); + var base64_1 = require_base642(); + Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() { + return base64_1.base64decode; + } }); + Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() { + return base64_1.base64encode; + } }); + var protobufjs_utf8_1 = require_protobufjs_utf8(); + Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() { + return protobufjs_utf8_1.utf8read; + } }); + var binary_format_contract_1 = require_binary_format_contract(); + Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() { + return binary_format_contract_1.WireType; + } }); + Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() { + return binary_format_contract_1.mergeBinaryOptions; + } }); + Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() { + return binary_format_contract_1.UnknownFieldHandler; + } }); + var binary_reader_1 = require_binary_reader(); + Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() { + return binary_reader_1.BinaryReader; + } }); + Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() { + return binary_reader_1.binaryReadOptions; + } }); + var binary_writer_1 = require_binary_writer(); + Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() { + return binary_writer_1.BinaryWriter; + } }); + Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() { + return binary_writer_1.binaryWriteOptions; + } }); + var pb_long_1 = require_pb_long(); + Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() { + return pb_long_1.PbLong; + } }); + Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() { + return pb_long_1.PbULong; + } }); + var json_format_contract_1 = require_json_format_contract(); + Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() { + return json_format_contract_1.jsonReadOptions; + } }); + Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() { + return json_format_contract_1.jsonWriteOptions; + } }); + Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() { + return json_format_contract_1.mergeJsonOptions; + } }); + var message_type_contract_1 = require_message_type_contract(); + Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() { + return message_type_contract_1.MESSAGE_TYPE; + } }); + var message_type_1 = require_message_type(); + Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() { + return message_type_1.MessageType; + } }); + var reflection_info_1 = require_reflection_info(); + Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() { + return reflection_info_1.ScalarType; + } }); + Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() { + return reflection_info_1.LongType; + } }); + Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() { + return reflection_info_1.RepeatType; + } }); + Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() { + return reflection_info_1.normalizeFieldInfo; + } }); + Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() { + return reflection_info_1.readFieldOptions; + } }); + Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() { + return reflection_info_1.readFieldOption; + } }); + Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() { + return reflection_info_1.readMessageOption; + } }); + var reflection_type_check_1 = require_reflection_type_check(); + Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() { + return reflection_type_check_1.ReflectionTypeCheck; + } }); + var reflection_create_1 = require_reflection_create(); + Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() { + return reflection_create_1.reflectionCreate; + } }); + var reflection_scalar_default_1 = require_reflection_scalar_default(); + Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() { + return reflection_scalar_default_1.reflectionScalarDefault; + } }); + var reflection_merge_partial_1 = require_reflection_merge_partial(); + Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() { + return reflection_merge_partial_1.reflectionMergePartial; + } }); + var reflection_equals_1 = require_reflection_equals(); + Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() { + return reflection_equals_1.reflectionEquals; + } }); + var reflection_binary_reader_1 = require_reflection_binary_reader(); + Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() { + return reflection_binary_reader_1.ReflectionBinaryReader; + } }); + var reflection_binary_writer_1 = require_reflection_binary_writer(); + Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() { + return reflection_binary_writer_1.ReflectionBinaryWriter; + } }); + var reflection_json_reader_1 = require_reflection_json_reader(); + Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() { + return reflection_json_reader_1.ReflectionJsonReader; + } }); + var reflection_json_writer_1 = require_reflection_json_writer(); + Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() { + return reflection_json_writer_1.ReflectionJsonWriter; + } }); + var reflection_contains_message_type_1 = require_reflection_contains_message_type(); + Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() { + return reflection_contains_message_type_1.containsMessageType; + } }); + var oneof_1 = require_oneof(); + Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() { + return oneof_1.isOneofGroup; + } }); + Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() { + return oneof_1.setOneofValue; + } }); + Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() { + return oneof_1.getOneofValue; + } }); + Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() { + return oneof_1.clearOneofValue; + } }); + Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() { + return oneof_1.getSelectedOneofValue; + } }); + var enum_object_1 = require_enum_object(); + Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() { + return enum_object_1.listEnumValues; + } }); + Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() { + return enum_object_1.listEnumNames; + } }); + Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() { + return enum_object_1.listEnumNumbers; + } }); + Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() { + return enum_object_1.isEnumObject; + } }); + var lower_camel_case_1 = require_lower_camel_case(); + Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() { + return lower_camel_case_1.lowerCamelCase; + } }); + var assert_1 = require_assert(); + Object.defineProperty(exports2, "assert", { enumerable: true, get: function() { + return assert_1.assert; + } }); + Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() { + return assert_1.assertNever; + } }); + Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() { + return assert_1.assertInt32; + } }); + Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() { + return assert_1.assertUInt32; + } }); + Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() { + return assert_1.assertFloat32; + } }); + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js +var require_reflection_info2 = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0; + var runtime_1 = require_commonjs16(); + function normalizeMethodInfo(method, service) { + var _a, _b, _c; + let m = method; + m.service = service; + m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name); + m.serverStreaming = !!m.serverStreaming; + m.clientStreaming = !!m.clientStreaming; + m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {}; + m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0; + return m; + } + exports2.normalizeMethodInfo = normalizeMethodInfo; + function readMethodOptions(service, methodName, extensionName, extensionType) { + var _a; + const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options; + return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0; + } + exports2.readMethodOptions = readMethodOptions; + function readMethodOption(service, methodName, extensionName, extensionType) { + var _a; + const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options; + if (!options) { + return void 0; + } + const optionVal = options[extensionName]; + if (optionVal === void 0) { + return optionVal; + } + return extensionType ? extensionType.fromJson(optionVal) : optionVal; + } + exports2.readMethodOption = readMethodOption; + function readServiceOption(service, extensionName, extensionType) { + const options = service.options; + if (!options) { + return void 0; + } + const optionVal = options[extensionName]; + if (optionVal === void 0) { + return optionVal; + } + return extensionType ? extensionType.fromJson(optionVal) : optionVal; + } + exports2.readServiceOption = readServiceOption; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js +var require_service_type = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ServiceType = void 0; + var reflection_info_1 = require_reflection_info2(); + var ServiceType = class { + constructor(typeName, methods, options) { + this.typeName = typeName; + this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this)); + this.options = options !== null && options !== void 0 ? options : {}; + } + }; + exports2.ServiceType = ServiceType; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js +var require_rpc_error = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RpcError = void 0; + var RpcError = class extends Error { + constructor(message, code = "UNKNOWN", meta) { + super(message); + this.name = "RpcError"; + Object.setPrototypeOf(this, new.target.prototype); + this.code = code; + this.meta = meta !== null && meta !== void 0 ? meta : {}; + } + toString() { + const l = [this.name + ": " + this.message]; + if (this.code) { + l.push(""); + l.push("Code: " + this.code); } - }, - requestBody: Parameters.queryRequest, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.snapshot, - Parameters.comp17 - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.contentType, - Parameters.accept, - Parameters.version, - Parameters.requestId, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags - ], - isXML: true, - contentType: "application/xml; charset=utf-8", - mediaType: "xml", - serializer: xmlSerializer - }; - var getTagsOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.BlobTags, - headersMapper: Mappers.BlobGetTagsHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlobGetTagsExceptionHeaders + if (this.serviceName && this.methodName) { + l.push("Method: " + this.serviceName + "/" + this.methodName); } - }, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.snapshot, - Parameters.versionId, - Parameters.comp18 - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.leaseId, - Parameters.ifTags - ], - isXML: true, - serializer: xmlSerializer - }; - var setTagsOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 204: { - headersMapper: Mappers.BlobSetTagsHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlobSetTagsExceptionHeaders + let m = Object.entries(this.meta); + if (m.length) { + l.push(""); + l.push("Meta:"); + for (let [k, v] of m) { + l.push(` ${k}: ${v}`); + } } - }, - requestBody: Parameters.tags, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.versionId, - Parameters.comp18 - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.contentType, - Parameters.accept, - Parameters.version, - Parameters.requestId, - Parameters.leaseId, - Parameters.ifTags, - Parameters.transactionalContentMD5, - Parameters.transactionalContentCrc64 - ], - isXML: true, - contentType: "application/xml; charset=utf-8", - mediaType: "xml", - serializer: xmlSerializer + return l.join("\n"); + } }; + exports2.RpcError = RpcError; } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js -var require_pageBlob = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) { +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js +var require_rpc_options = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.PageBlobImpl = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var coreClient = tslib_1.__importStar(require_commonjs8()); - var Mappers = tslib_1.__importStar(require_mappers()); - var Parameters = tslib_1.__importStar(require_parameters()); - var PageBlobImpl = class { - client; + exports2.mergeRpcOptions = void 0; + var runtime_1 = require_commonjs16(); + function mergeRpcOptions(defaults, options) { + if (!options) + return defaults; + let o = {}; + copy(defaults, o); + copy(options, o); + for (let key of Object.keys(options)) { + let val = options[key]; + switch (key) { + case "jsonOptions": + o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions); + break; + case "binaryOptions": + o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions); + break; + case "meta": + o.meta = {}; + copy(defaults.meta, o.meta); + copy(options.meta, o.meta); + break; + case "interceptors": + o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat(); + break; + } + } + return o; + } + exports2.mergeRpcOptions = mergeRpcOptions; + function copy(a, into) { + if (!a) + return; + let c = into; + for (let [k, v] of Object.entries(a)) { + if (v instanceof Date) + c[k] = new Date(v.getTime()); + else if (Array.isArray(v)) + c[k] = v.concat(); + else + c[k] = v; + } + } + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js +var require_deferred = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.Deferred = exports2.DeferredState = void 0; + var DeferredState; + (function(DeferredState2) { + DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING"; + DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED"; + DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED"; + })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {})); + var Deferred = class { /** - * Initialize a new instance of the class PageBlob class. - * @param client Reference to the service client + * @param preventUnhandledRejectionWarning - prevents the warning + * "Unhandled Promise rejection" by adding a noop rejection handler. + * Working with calls returned from the runtime-rpc package in an + * async function usually means awaiting one call property after + * the other. This means that the "status" is not being awaited when + * an earlier await for the "headers" is rejected. This causes the + * "unhandled promise reject" warning. A more correct behaviour for + * calls might be to become aware whether at least one of the + * promises is handled and swallow the rejection warning for the + * others. */ - constructor(client) { - this.client = client; + constructor(preventUnhandledRejectionWarning = true) { + this._state = DeferredState.PENDING; + this._promise = new Promise((resolve5, reject) => { + this._resolve = resolve5; + this._reject = reject; + }); + if (preventUnhandledRejectionWarning) { + this._promise.catch((_2) => { + }); + } } /** - * The Create operation creates a new page blob. - * @param contentLength The length of the request. - * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The - * page blob size must be aligned to a 512-byte boundary. - * @param options The options parameters. + * Get the current state of the promise. */ - create(contentLength, blobContentLength, options) { - return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec); + get state() { + return this._state; } /** - * The Upload Pages operation writes a range of pages to a page blob - * @param contentLength The length of the request. - * @param body Initial data - * @param options The options parameters. + * Get the deferred promise. */ - uploadPages(contentLength, body, options) { - return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec); + get promise() { + return this._promise; } /** - * The Clear Pages operation clears a set of pages from a page blob - * @param contentLength The length of the request. - * @param options The options parameters. + * Resolve the promise. Throws if the promise is already resolved or rejected. */ - clearPages(contentLength, options) { - return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec); + resolve(value) { + if (this.state !== DeferredState.PENDING) + throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`); + this._resolve(value); + this._state = DeferredState.RESOLVED; } /** - * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a - * URL - * @param sourceUrl Specify a URL to the copy source. - * @param sourceRange Bytes of source data in the specified range. The length of this range should - * match the ContentLength header and x-ms-range/Range destination range header. - * @param contentLength The length of the request. - * @param range The range of bytes to which the source range would be written. The range should be 512 - * aligned and range-end is required. - * @param options The options parameters. + * Reject the promise. Throws if the promise is already resolved or rejected. */ - uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) { - return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec); + reject(reason) { + if (this.state !== DeferredState.PENDING) + throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`); + this._reject(reason); + this._state = DeferredState.REJECTED; } /** - * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a - * page blob - * @param options The options parameters. + * Resolve the promise. Ignore if not pending. */ - getPageRanges(options) { - return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec); + resolvePending(val) { + if (this._state === DeferredState.PENDING) + this.resolve(val); } /** - * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were - * changed between target blob and previous snapshot. - * @param options The options parameters. + * Reject the promise. Ignore if not pending. */ - getPageRangesDiff(options) { - return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec); + rejectPending(reason) { + if (this._state === DeferredState.PENDING) + this.reject(reason); + } + }; + exports2.Deferred = Deferred; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js +var require_rpc_output_stream = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RpcOutputStreamController = void 0; + var deferred_1 = require_deferred(); + var runtime_1 = require_commonjs16(); + var RpcOutputStreamController = class { + constructor() { + this._lis = { + nxt: [], + msg: [], + err: [], + cmp: [] + }; + this._closed = false; + this._itState = { q: [] }; + } + // --- RpcOutputStream callback API + onNext(callback) { + return this.addLis(callback, this._lis.nxt); + } + onMessage(callback) { + return this.addLis(callback, this._lis.msg); + } + onError(callback) { + return this.addLis(callback, this._lis.err); + } + onComplete(callback) { + return this.addLis(callback, this._lis.cmp); + } + addLis(callback, list) { + list.push(callback); + return () => { + let i = list.indexOf(callback); + if (i >= 0) + list.splice(i, 1); + }; + } + // remove all listeners + clearLis() { + for (let l of Object.values(this._lis)) + l.splice(0, l.length); } + // --- Controller API /** - * Resize the Blob - * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The - * page blob size must be aligned to a 512-byte boundary. - * @param options The options parameters. + * Is this stream already closed by a completion or error? */ - resize(blobContentLength, options) { - return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec); + get closed() { + return this._closed !== false; } /** - * Update the sequence number of the blob - * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request. - * This property applies to page blobs only. This property indicates how the service should modify the - * blob's sequence number - * @param options The options parameters. + * Emit message, close with error, or close successfully, but only one + * at a time. + * Can be used to wrap a stream by using the other stream's `onNext`. */ - updateSequenceNumber(sequenceNumberAction, options) { - return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec); + notifyNext(message, error3, complete) { + runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time"); + if (message) + this.notifyMessage(message); + if (error3) + this.notifyError(error3); + if (complete) + this.notifyComplete(); } /** - * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob. - * The snapshot is copied such that only the differential changes between the previously copied - * snapshot are transferred to the destination. The copied snapshots are complete copies of the - * original snapshot and can be read or copied from as usual. This API is supported since REST version - * 2016-05-31. - * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to - * 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would - * appear in a request URI. The source blob must either be public or must be authenticated via a shared - * access signature. - * @param options The options parameters. + * Emits a new message. Throws if stream is closed. + * + * Triggers onNext and onMessage callbacks. */ - copyIncremental(copySource, options) { - return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec); + notifyMessage(message) { + runtime_1.assert(!this.closed, "stream is closed"); + this.pushIt({ value: message, done: false }); + this._lis.msg.forEach((l) => l(message)); + this._lis.nxt.forEach((l) => l(message, void 0, false)); } - }; - exports2.PageBlobImpl = PageBlobImpl; - var xmlSerializer = coreClient.createSerializer( - Mappers, - /* isXml */ - true - ); - var createOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.PageBlobCreateHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobCreateExceptionHeaders - } - }, - queryParameters: [Parameters.timeoutInSeconds], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.metadata, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.blobCacheControl, - Parameters.blobContentType, - Parameters.blobContentMD5, - Parameters.blobContentEncoding, - Parameters.blobContentLanguage, - Parameters.blobContentDisposition, - Parameters.immutabilityPolicyExpiry, - Parameters.immutabilityPolicyMode, - Parameters.encryptionScope, - Parameters.tier, - Parameters.blobTagsString, - Parameters.legalHold1, - Parameters.blobType, - Parameters.blobContentLength, - Parameters.blobSequenceNumber - ], - isXML: true, - serializer: xmlSerializer - }; - var uploadPagesOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.PageBlobUploadPagesHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders - } - }, - requestBody: Parameters.body1, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.contentLength, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.range, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.encryptionScope, - Parameters.transactionalContentMD5, - Parameters.transactionalContentCrc64, - Parameters.contentType1, - Parameters.accept2, - Parameters.pageWrite, - Parameters.ifSequenceNumberLessThanOrEqualTo, - Parameters.ifSequenceNumberLessThan, - Parameters.ifSequenceNumberEqualTo - ], - isXML: true, - contentType: "application/xml; charset=utf-8", - mediaType: "binary", - serializer: xmlSerializer - }; - var clearPagesOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.PageBlobClearPagesHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobClearPagesExceptionHeaders - } - }, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.range, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.encryptionScope, - Parameters.ifSequenceNumberLessThanOrEqualTo, - Parameters.ifSequenceNumberLessThan, - Parameters.ifSequenceNumberEqualTo, - Parameters.pageWrite1 - ], - isXML: true, - serializer: xmlSerializer - }; - var uploadPagesFromURLOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders - } - }, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.encryptionScope, - Parameters.sourceIfModifiedSince, - Parameters.sourceIfUnmodifiedSince, - Parameters.sourceIfMatch, - Parameters.sourceIfNoneMatch, - Parameters.sourceContentMD5, - Parameters.copySourceAuthorization, - Parameters.fileRequestIntent, - Parameters.pageWrite, - Parameters.ifSequenceNumberLessThanOrEqualTo, - Parameters.ifSequenceNumberLessThan, - Parameters.ifSequenceNumberEqualTo, - Parameters.sourceUrl, - Parameters.sourceRange, - Parameters.sourceContentCrc64, - Parameters.range1 - ], - isXML: true, - serializer: xmlSerializer - }; - var getPageRangesOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.PageList, - headersMapper: Mappers.PageBlobGetPageRangesHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders + /** + * Closes the stream with an error. Throws if stream is closed. + * + * Triggers onNext and onError callbacks. + */ + notifyError(error3) { + runtime_1.assert(!this.closed, "stream is closed"); + this._closed = error3; + this.pushIt(error3); + this._lis.err.forEach((l) => l(error3)); + this._lis.nxt.forEach((l) => l(void 0, error3, false)); + this.clearLis(); + } + /** + * Closes the stream successfully. Throws if stream is closed. + * + * Triggers onNext and onComplete callbacks. + */ + notifyComplete() { + runtime_1.assert(!this.closed, "stream is closed"); + this._closed = true; + this.pushIt({ value: null, done: true }); + this._lis.cmp.forEach((l) => l()); + this._lis.nxt.forEach((l) => l(void 0, void 0, true)); + this.clearLis(); + } + /** + * Creates an async iterator (that can be used with `for await {...}`) + * to consume the stream. + * + * Some things to note: + * - If an error occurs, the `for await` will throw it. + * - If an error occurred before the `for await` was started, `for await` + * will re-throw it. + * - If the stream is already complete, the `for await` will be empty. + * - If your `for await` consumes slower than the stream produces, + * for example because you are relaying messages in a slow operation, + * messages are queued. + */ + [Symbol.asyncIterator]() { + if (this._closed === true) + this.pushIt({ value: null, done: true }); + else if (this._closed !== false) + this.pushIt(this._closed); + return { + next: () => { + let state = this._itState; + runtime_1.assert(state, "bad state"); + runtime_1.assert(!state.p, "iterator contract broken"); + let first = state.q.shift(); + if (first) + return "value" in first ? Promise.resolve(first) : Promise.reject(first); + state.p = new deferred_1.Deferred(); + return state.p.promise; + } + }; + } + // "push" a new iterator result. + // this either resolves a pending promise, or enqueues the result. + pushIt(result) { + let state = this._itState; + if (state.p) { + const p = state.p; + runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken"); + "value" in result ? p.resolve(result) : p.reject(result); + delete state.p; + } else { + state.q.push(result); } - }, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.marker, - Parameters.maxPageSize, - Parameters.snapshot, - Parameters.comp20 - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.range, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags - ], - isXML: true, - serializer: xmlSerializer + } }; - var getPageRangesDiffOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.PageList, - headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders + exports2.RpcOutputStreamController = RpcOutputStreamController; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js +var require_unary_call = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) { + "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - }, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.marker, - Parameters.maxPageSize, - Parameters.snapshot, - Parameters.comp20, - Parameters.prevsnapshot - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.range, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.prevSnapshotUrl - ], - isXML: true, - serializer: xmlSerializer - }; - var resizeOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 200: { - headersMapper: Mappers.PageBlobResizeHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobResizeExceptionHeaders + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } } - }, - queryParameters: [Parameters.comp, Parameters.timeoutInSeconds], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.encryptionScope, - Parameters.blobContentLength - ], - isXML: true, - serializer: xmlSerializer - }; - var updateSequenceNumberOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 200: { - headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); } - }, - queryParameters: [Parameters.comp, Parameters.timeoutInSeconds], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.blobSequenceNumber, - Parameters.sequenceNumberAction - ], - isXML: true, - serializer: xmlSerializer + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); }; - var copyIncrementalOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 202: { - headersMapper: Mappers.PageBlobCopyIncrementalHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders - } - }, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.copySource - ], - isXML: true, - serializer: xmlSerializer + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.UnaryCall = void 0; + var UnaryCall = class { + constructor(method, requestHeaders, request2, headers, response, status, trailers) { + this.method = method; + this.requestHeaders = requestHeaders; + this.request = request2; + this.headers = headers; + this.response = response; + this.status = status; + this.trailers = trailers; + } + /** + * If you are only interested in the final outcome of this call, + * you can await it to receive a `FinishedUnaryCall`. + */ + then(onfulfilled, onrejected) { + return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); + } + promiseFinished() { + return __awaiter2(this, void 0, void 0, function* () { + let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]); + return { + method: this.method, + requestHeaders: this.requestHeaders, + request: this.request, + headers, + response, + status, + trailers + }; + }); + } }; + exports2.UnaryCall = UnaryCall; } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js -var require_appendBlob = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) { +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js +var require_server_streaming_call = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) { "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AppendBlobImpl = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var coreClient = tslib_1.__importStar(require_commonjs8()); - var Mappers = tslib_1.__importStar(require_mappers()); - var Parameters = tslib_1.__importStar(require_parameters()); - var AppendBlobImpl = class { - client; - /** - * Initialize a new instance of the class AppendBlob class. - * @param client Reference to the service client - */ - constructor(client) { - this.client = client; + exports2.ServerStreamingCall = void 0; + var ServerStreamingCall = class { + constructor(method, requestHeaders, request2, headers, response, status, trailers) { + this.method = method; + this.requestHeaders = requestHeaders; + this.request = request2; + this.headers = headers; + this.responses = response; + this.status = status; + this.trailers = trailers; } /** - * The Create Append Blob operation creates a new append blob. - * @param contentLength The length of the request. - * @param options The options parameters. + * Instead of awaiting the response status and trailers, you can + * just as well await this call itself to receive the server outcome. + * You should first setup some listeners to the `request` to + * see the actual messages the server replied with. */ - create(contentLength, options) { - return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec); + then(onfulfilled, onrejected) { + return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); } - /** - * The Append Block operation commits a new block of data to the end of an existing append blob. The - * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to - * AppendBlob. Append Block is supported only on version 2015-02-21 version or later. - * @param contentLength The length of the request. - * @param body Initial data - * @param options The options parameters. - */ - appendBlock(contentLength, body, options) { - return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec); + promiseFinished() { + return __awaiter2(this, void 0, void 0, function* () { + let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]); + return { + method: this.method, + requestHeaders: this.requestHeaders, + request: this.request, + headers, + status, + trailers + }; + }); } - /** - * The Append Block operation commits a new block of data to the end of an existing append blob where - * the contents are read from a source url. The Append Block operation is permitted only if the blob - * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version - * 2015-02-21 version or later. - * @param sourceUrl Specify a URL to the copy source. - * @param contentLength The length of the request. - * @param options The options parameters. - */ - appendBlockFromUrl(sourceUrl, contentLength, options) { - return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec); + }; + exports2.ServerStreamingCall = ServerStreamingCall; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js +var require_client_streaming_call = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) { + "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ClientStreamingCall = void 0; + var ClientStreamingCall = class { + constructor(method, requestHeaders, request2, headers, response, status, trailers) { + this.method = method; + this.requestHeaders = requestHeaders; + this.requests = request2; + this.headers = headers; + this.response = response; + this.status = status; + this.trailers = trailers; } /** - * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version - * 2019-12-12 version or later. - * @param options The options parameters. + * Instead of awaiting the response status and trailers, you can + * just as well await this call itself to receive the server outcome. + * Note that it may still be valid to send more request messages. */ - seal(options) { - return this.client.sendOperationRequest({ options }, sealOperationSpec); + then(onfulfilled, onrejected) { + return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); + } + promiseFinished() { + return __awaiter2(this, void 0, void 0, function* () { + let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]); + return { + method: this.method, + requestHeaders: this.requestHeaders, + headers, + response, + status, + trailers + }; + }); } }; - exports2.AppendBlobImpl = AppendBlobImpl; - var xmlSerializer = coreClient.createSerializer( - Mappers, - /* isXml */ - true - ); - var createOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.AppendBlobCreateHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.AppendBlobCreateExceptionHeaders + exports2.ClientStreamingCall = ClientStreamingCall; + } +}); + +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js +var require_duplex_streaming_call = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) { + "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - }, - queryParameters: [Parameters.timeoutInSeconds], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.metadata, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.blobCacheControl, - Parameters.blobContentType, - Parameters.blobContentMD5, - Parameters.blobContentEncoding, - Parameters.blobContentLanguage, - Parameters.blobContentDisposition, - Parameters.immutabilityPolicyExpiry, - Parameters.immutabilityPolicyMode, - Parameters.encryptionScope, - Parameters.blobTagsString, - Parameters.legalHold1, - Parameters.blobType1 - ], - isXML: true, - serializer: xmlSerializer - }; - var appendBlockOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.AppendBlobAppendBlockHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } } - }, - requestBody: Parameters.body1, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.contentLength, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.encryptionScope, - Parameters.transactionalContentMD5, - Parameters.transactionalContentCrc64, - Parameters.contentType1, - Parameters.accept2, - Parameters.maxSize, - Parameters.appendPosition - ], - isXML: true, - contentType: "application/xml; charset=utf-8", - mediaType: "binary", - serializer: xmlSerializer - }; - var appendBlockFromUrlOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); } - }, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.encryptionScope, - Parameters.sourceIfModifiedSince, - Parameters.sourceIfUnmodifiedSince, - Parameters.sourceIfMatch, - Parameters.sourceIfNoneMatch, - Parameters.sourceContentMD5, - Parameters.copySourceAuthorization, - Parameters.fileRequestIntent, - Parameters.transactionalContentMD5, - Parameters.sourceUrl, - Parameters.sourceContentCrc64, - Parameters.maxSize, - Parameters.appendPosition, - Parameters.sourceRange1 - ], - isXML: true, - serializer: xmlSerializer + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); }; - var sealOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 200: { - headersMapper: Mappers.AppendBlobSealHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.AppendBlobSealExceptionHeaders - } - }, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.appendPosition - ], - isXML: true, - serializer: xmlSerializer + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.DuplexStreamingCall = void 0; + var DuplexStreamingCall = class { + constructor(method, requestHeaders, request2, headers, response, status, trailers) { + this.method = method; + this.requestHeaders = requestHeaders; + this.requests = request2; + this.headers = headers; + this.responses = response; + this.status = status; + this.trailers = trailers; + } + /** + * Instead of awaiting the response status and trailers, you can + * just as well await this call itself to receive the server outcome. + * Note that it may still be valid to send more request messages. + */ + then(onfulfilled, onrejected) { + return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); + } + promiseFinished() { + return __awaiter2(this, void 0, void 0, function* () { + let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]); + return { + method: this.method, + requestHeaders: this.requestHeaders, + headers, + status, + trailers + }; + }); + } }; + exports2.DuplexStreamingCall = DuplexStreamingCall; } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js -var require_blockBlob = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) { +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js +var require_test_transport = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) { "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlockBlobImpl = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var coreClient = tslib_1.__importStar(require_commonjs8()); - var Mappers = tslib_1.__importStar(require_mappers()); - var Parameters = tslib_1.__importStar(require_parameters()); - var BlockBlobImpl = class { - client; + exports2.TestTransport = void 0; + var rpc_error_1 = require_rpc_error(); + var runtime_1 = require_commonjs16(); + var rpc_output_stream_1 = require_rpc_output_stream(); + var rpc_options_1 = require_rpc_options(); + var unary_call_1 = require_unary_call(); + var server_streaming_call_1 = require_server_streaming_call(); + var client_streaming_call_1 = require_client_streaming_call(); + var duplex_streaming_call_1 = require_duplex_streaming_call(); + var TestTransport = class _TestTransport { /** - * Initialize a new instance of the class BlockBlob class. - * @param client Reference to the service client + * Initialize with mock data. Omitted fields have default value. */ - constructor(client) { - this.client = client; + constructor(data) { + this.suppressUncaughtRejections = true; + this.headerDelay = 10; + this.responseDelay = 50; + this.betweenResponseDelay = 10; + this.afterResponseDelay = 10; + this.data = data !== null && data !== void 0 ? data : {}; } /** - * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing - * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put - * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a - * partial update of the content of a block blob, use the Put Block List operation. - * @param contentLength The length of the request. - * @param body Initial data - * @param options The options parameters. + * Sent message(s) during the last operation. */ - upload(contentLength, body, options) { - return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec); + get sentMessages() { + if (this.lastInput instanceof TestInputStream) { + return this.lastInput.sent; + } else if (typeof this.lastInput == "object") { + return [this.lastInput.single]; + } + return []; } /** - * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read - * from a given URL. This API is supported beginning with the 2020-04-08 version. Partial updates are - * not supported with Put Blob from URL; the content of an existing blob is overwritten with the - * content of the new blob. To perform partial updates to a block blob’s contents using a source URL, - * use the Put Block from URL API in conjunction with Put Block List. - * @param contentLength The length of the request. - * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to - * 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would - * appear in a request URI. The source blob must either be public or must be authenticated via a shared - * access signature. - * @param options The options parameters. + * Sending message(s) completed? */ - putBlobFromUrl(contentLength, copySource, options) { - return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec); + get sendComplete() { + if (this.lastInput instanceof TestInputStream) { + return this.lastInput.completed; + } else if (typeof this.lastInput == "object") { + return true; + } + return false; } - /** - * The Stage Block operation creates a new block to be committed as part of a blob - * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string - * must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified - * for the blockid parameter must be the same size for each block. - * @param contentLength The length of the request. - * @param body Initial data - * @param options The options parameters. - */ - stageBlock(blockId, contentLength, body, options) { - return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec); + // Creates a promise for response headers from the mock data. + promiseHeaders() { + var _a; + const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders; + return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers); } - /** - * The Stage Block operation creates a new block to be committed as part of a blob where the contents - * are read from a URL. - * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string - * must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified - * for the blockid parameter must be the same size for each block. - * @param contentLength The length of the request. - * @param sourceUrl Specify a URL to the copy source. - * @param options The options parameters. - */ - stageBlockFromURL(blockId, contentLength, sourceUrl, options) { - return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec); + // Creates a promise for a single, valid, message from the mock data. + promiseSingleResponse(method) { + if (this.data.response instanceof rpc_error_1.RpcError) { + return Promise.reject(this.data.response); + } + let r; + if (Array.isArray(this.data.response)) { + runtime_1.assert(this.data.response.length > 0); + r = this.data.response[0]; + } else if (this.data.response !== void 0) { + r = this.data.response; + } else { + r = method.O.create(); + } + runtime_1.assert(method.O.is(r)); + return Promise.resolve(r); } /** - * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the - * blob. In order to be written as part of a blob, a block must have been successfully written to the - * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading - * only those blocks that have changed, then committing the new and existing blocks together. You can - * do this by specifying whether to commit a block from the committed block list or from the - * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list - * it may belong to. - * @param blocks Blob Blocks. - * @param options The options parameters. + * Pushes response messages from the mock data to the output stream. + * If an error response, status or trailers are mocked, the stream is + * closed with the respective error. + * Otherwise, stream is completed successfully. + * + * The returned promise resolves when the stream is closed. It should + * not reject. If it does, code is broken. */ - commitBlockList(blocks, options) { - return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec); + streamResponses(method, stream, abort) { + return __awaiter2(this, void 0, void 0, function* () { + const messages = []; + if (this.data.response === void 0) { + messages.push(method.O.create()); + } else if (Array.isArray(this.data.response)) { + for (let msg of this.data.response) { + runtime_1.assert(method.O.is(msg)); + messages.push(msg); + } + } else if (!(this.data.response instanceof rpc_error_1.RpcError)) { + runtime_1.assert(method.O.is(this.data.response)); + messages.push(this.data.response); + } + try { + yield delay(this.responseDelay, abort)(void 0); + } catch (error3) { + stream.notifyError(error3); + return; + } + if (this.data.response instanceof rpc_error_1.RpcError) { + stream.notifyError(this.data.response); + return; + } + for (let msg of messages) { + stream.notifyMessage(msg); + try { + yield delay(this.betweenResponseDelay, abort)(void 0); + } catch (error3) { + stream.notifyError(error3); + return; + } + } + if (this.data.status instanceof rpc_error_1.RpcError) { + stream.notifyError(this.data.status); + return; + } + if (this.data.trailers instanceof rpc_error_1.RpcError) { + stream.notifyError(this.data.trailers); + return; + } + stream.notifyComplete(); + }); } - /** - * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block - * blob - * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted - * blocks, or both lists together. - * @param options The options parameters. - */ - getBlockList(listType, options) { - return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec); + // Creates a promise for response status from the mock data. + promiseStatus() { + var _a; + const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus; + return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status); } - }; - exports2.BlockBlobImpl = BlockBlobImpl; - var xmlSerializer = coreClient.createSerializer( - Mappers, - /* isXml */ - true - ); - var uploadOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.BlockBlobUploadHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlockBlobUploadExceptionHeaders + // Creates a promise for response trailers from the mock data. + promiseTrailers() { + var _a; + const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers; + return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers); + } + maybeSuppressUncaught(...promise) { + if (this.suppressUncaughtRejections) { + for (let p of promise) { + p.catch(() => { + }); + } } - }, - requestBody: Parameters.body1, - queryParameters: [Parameters.timeoutInSeconds], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.contentLength, - Parameters.metadata, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.blobCacheControl, - Parameters.blobContentType, - Parameters.blobContentMD5, - Parameters.blobContentEncoding, - Parameters.blobContentLanguage, - Parameters.blobContentDisposition, - Parameters.immutabilityPolicyExpiry, - Parameters.immutabilityPolicyMode, - Parameters.encryptionScope, - Parameters.tier, - Parameters.blobTagsString, - Parameters.legalHold1, - Parameters.transactionalContentMD5, - Parameters.transactionalContentCrc64, - Parameters.contentType1, - Parameters.accept2, - Parameters.blobType2 - ], - isXML: true, - contentType: "application/xml; charset=utf-8", - mediaType: "binary", - serializer: xmlSerializer + } + mergeOptions(options) { + return rpc_options_1.mergeRpcOptions({}, options); + } + unary(method, input, options) { + var _a; + const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => { + }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => { + }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => { + }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers()); + this.maybeSuppressUncaught(statusPromise, trailersPromise); + this.lastInput = { single: input }; + return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise); + } + serverStreaming(method, input, options) { + var _a; + const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => { + }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers()); + this.maybeSuppressUncaught(statusPromise, trailersPromise); + this.lastInput = { single: input }; + return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise); + } + clientStreaming(method, options) { + var _a; + const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => { + }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => { + }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => { + }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers()); + this.maybeSuppressUncaught(statusPromise, trailersPromise); + this.lastInput = new TestInputStream(this.data, options.abort); + return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise); + } + duplex(method, options) { + var _a; + const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => { + }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers()); + this.maybeSuppressUncaught(statusPromise, trailersPromise); + this.lastInput = new TestInputStream(this.data, options.abort); + return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise); + } }; - var putBlobFromUrlOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders - } - }, - queryParameters: [Parameters.timeoutInSeconds], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.metadata, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.blobCacheControl, - Parameters.blobContentType, - Parameters.blobContentMD5, - Parameters.blobContentEncoding, - Parameters.blobContentLanguage, - Parameters.blobContentDisposition, - Parameters.encryptionScope, - Parameters.tier, - Parameters.sourceIfModifiedSince, - Parameters.sourceIfUnmodifiedSince, - Parameters.sourceIfMatch, - Parameters.sourceIfNoneMatch, - Parameters.sourceIfTags, - Parameters.copySource, - Parameters.blobTagsString, - Parameters.sourceContentMD5, - Parameters.copySourceAuthorization, - Parameters.copySourceTags, - Parameters.fileRequestIntent, - Parameters.transactionalContentMD5, - Parameters.blobType2, - Parameters.copySourceBlobProperties - ], - isXML: true, - serializer: xmlSerializer + exports2.TestTransport = TestTransport; + TestTransport.defaultHeaders = { + responseHeader: "test" }; - var stageBlockOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.BlockBlobStageBlockHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders - } - }, - requestBody: Parameters.body1, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.comp24, - Parameters.blockId - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.contentLength, - Parameters.leaseId, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.encryptionScope, - Parameters.transactionalContentMD5, - Parameters.transactionalContentCrc64, - Parameters.contentType1, - Parameters.accept2 - ], - isXML: true, - contentType: "application/xml; charset=utf-8", - mediaType: "binary", - serializer: xmlSerializer + TestTransport.defaultStatus = { + code: "OK", + detail: "all good" }; - var stageBlockFromURLOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders - } - }, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.comp24, - Parameters.blockId - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.contentLength, - Parameters.leaseId, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.encryptionScope, - Parameters.sourceIfModifiedSince, - Parameters.sourceIfUnmodifiedSince, - Parameters.sourceIfMatch, - Parameters.sourceIfNoneMatch, - Parameters.sourceContentMD5, - Parameters.copySourceAuthorization, - Parameters.fileRequestIntent, - Parameters.sourceUrl, - Parameters.sourceContentCrc64, - Parameters.sourceRange1 - ], - isXML: true, - serializer: xmlSerializer + TestTransport.defaultTrailers = { + responseTrailer: "test" }; - var commitBlockListOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "PUT", - responses: { - 201: { - headersMapper: Mappers.BlockBlobCommitBlockListHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders + function delay(ms, abort) { + return (v) => new Promise((resolve5, reject) => { + if (abort === null || abort === void 0 ? void 0 : abort.aborted) { + reject(new rpc_error_1.RpcError("user cancel", "CANCELLED")); + } else { + const id = setTimeout(() => resolve5(v), ms); + if (abort) { + abort.addEventListener("abort", (ev) => { + clearTimeout(id); + reject(new rpc_error_1.RpcError("user cancel", "CANCELLED")); + }); + } } - }, - requestBody: Parameters.blocks, - queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.contentType, - Parameters.accept, - Parameters.version, - Parameters.requestId, - Parameters.metadata, - Parameters.leaseId, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.encryptionKey, - Parameters.encryptionKeySha256, - Parameters.encryptionAlgorithm, - Parameters.ifMatch, - Parameters.ifNoneMatch, - Parameters.ifTags, - Parameters.blobCacheControl, - Parameters.blobContentType, - Parameters.blobContentMD5, - Parameters.blobContentEncoding, - Parameters.blobContentLanguage, - Parameters.blobContentDisposition, - Parameters.immutabilityPolicyExpiry, - Parameters.immutabilityPolicyMode, - Parameters.encryptionScope, - Parameters.tier, - Parameters.blobTagsString, - Parameters.legalHold1, - Parameters.transactionalContentMD5, - Parameters.transactionalContentCrc64 - ], - isXML: true, - contentType: "application/xml; charset=utf-8", - mediaType: "xml", - serializer: xmlSerializer - }; - var getBlockListOperationSpec = { - path: "/{containerName}/{blob}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.BlockList, - headersMapper: Mappers.BlockBlobGetBlockListHeaders - }, - default: { - bodyMapper: Mappers.StorageError, - headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders + }); + } + var TestInputStream = class { + constructor(data, abort) { + this._completed = false; + this._sent = []; + this.data = data; + this.abort = abort; + } + get sent() { + return this._sent; + } + get completed() { + return this._completed; + } + send(message) { + if (this.data.inputMessage instanceof rpc_error_1.RpcError) { + return Promise.reject(this.data.inputMessage); } - }, - queryParameters: [ - Parameters.timeoutInSeconds, - Parameters.snapshot, - Parameters.comp25, - Parameters.listType - ], - urlParameters: [Parameters.url], - headerParameters: [ - Parameters.version, - Parameters.requestId, - Parameters.accept1, - Parameters.leaseId, - Parameters.ifTags - ], - isXML: true, - serializer: xmlSerializer + const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage; + return Promise.resolve(void 0).then(() => { + this._sent.push(message); + }).then(delay(delayMs, this.abort)); + } + complete() { + if (this.data.inputComplete instanceof rpc_error_1.RpcError) { + return Promise.reject(this.data.inputComplete); + } + const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete; + return Promise.resolve(void 0).then(() => { + this._completed = true; + }).then(delay(delayMs, this.abort)); + } }; } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js -var require_operations = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) { +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js +var require_rpc_interceptor = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_service(), exports2); - tslib_1.__exportStar(require_container(), exports2); - tslib_1.__exportStar(require_blob(), exports2); - tslib_1.__exportStar(require_pageBlob(), exports2); - tslib_1.__exportStar(require_appendBlob(), exports2); - tslib_1.__exportStar(require_blockBlob(), exports2); + exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0; + var runtime_1 = require_commonjs16(); + function stackIntercept(kind, transport, method, options, input) { + var _a, _b, _c, _d; + if (kind == "unary") { + let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt); + for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) { + const next = tail; + tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt); + } + return tail(method, input, options); + } + if (kind == "serverStreaming") { + let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt); + for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) { + const next = tail; + tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt); + } + return tail(method, input, options); + } + if (kind == "clientStreaming") { + let tail = (mtd, opt) => transport.clientStreaming(mtd, opt); + for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) { + const next = tail; + tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt); + } + return tail(method, options); + } + if (kind == "duplex") { + let tail = (mtd, opt) => transport.duplex(mtd, opt); + for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) { + const next = tail; + tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt); + } + return tail(method, options); + } + runtime_1.assertNever(kind); + } + exports2.stackIntercept = stackIntercept; + function stackUnaryInterceptors(transport, method, input, options) { + return stackIntercept("unary", transport, method, options, input); + } + exports2.stackUnaryInterceptors = stackUnaryInterceptors; + function stackServerStreamingInterceptors(transport, method, input, options) { + return stackIntercept("serverStreaming", transport, method, options, input); + } + exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors; + function stackClientStreamingInterceptors(transport, method, options) { + return stackIntercept("clientStreaming", transport, method, options); + } + exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors; + function stackDuplexStreamingInterceptors(transport, method, options) { + return stackIntercept("duplex", transport, method, options); + } + exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors; } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js -var require_storageClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) { +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js +var require_server_call_context = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StorageClient = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var coreHttpCompat = tslib_1.__importStar(require_commonjs9()); - var index_js_1 = require_operations(); - var StorageClient = class extends coreHttpCompat.ExtendedServiceClient { - url; - version; + exports2.ServerCallContextController = void 0; + var ServerCallContextController = class { + constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) { + this._cancelled = false; + this._listeners = []; + this.method = method; + this.headers = headers; + this.deadline = deadline; + this.trailers = {}; + this._sendRH = sendResponseHeadersFn; + this.status = defaultStatus; + } /** - * Initializes a new instance of the StorageClient class. - * @param url The URL of the service account, container, or blob that is the target of the desired - * operation. - * @param options The parameter options + * Set the call cancelled. + * + * Invokes all callbacks registered with onCancel() and + * sets `cancelled = true`. */ - constructor(url, options) { - if (url === void 0) { - throw new Error("'url' cannot be null"); - } - if (!options) { - options = {}; + notifyCancelled() { + if (!this._cancelled) { + this._cancelled = true; + for (let l of this._listeners) { + l(); + } } - const defaults = { - requestContentType: "application/json; charset=utf-8" - }; - const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`; - const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`; - const optionsWithDefaults = { - ...defaults, - ...options, - userAgentOptions: { - userAgentPrefix - }, - endpoint: options.endpoint ?? options.baseUri ?? "{url}" - }; - super(optionsWithDefaults); - this.url = url; - this.version = options.version || "2025-11-05"; - this.service = new index_js_1.ServiceImpl(this); - this.container = new index_js_1.ContainerImpl(this); - this.blob = new index_js_1.BlobImpl(this); - this.pageBlob = new index_js_1.PageBlobImpl(this); - this.appendBlob = new index_js_1.AppendBlobImpl(this); - this.blockBlob = new index_js_1.BlockBlobImpl(this); } - service; - container; - blob; - pageBlob; - appendBlob; - blockBlob; - }; - exports2.StorageClient = StorageClient; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js -var require_service2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js -var require_container2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js -var require_blob2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); + /** + * Send response headers. + */ + sendResponseHeaders(data) { + this._sendRH(data); + } + /** + * Is the call cancelled? + * + * When the client closes the connection before the server + * is done, the call is cancelled. + * + * If you want to cancel a request on the server, throw a + * RpcError with the CANCELLED status code. + */ + get cancelled() { + return this._cancelled; + } + /** + * Add a callback for cancellation. + */ + onCancel(callback) { + const l = this._listeners; + l.push(callback); + return () => { + let i = l.indexOf(callback); + if (i >= 0) + l.splice(i, 1); + }; + } + }; + exports2.ServerCallContextController = ServerCallContextController; } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js -var require_pageBlob2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) { +// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js +var require_commonjs17 = __commonJS({ + "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); + var service_type_1 = require_service_type(); + Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() { + return service_type_1.ServiceType; + } }); + var reflection_info_1 = require_reflection_info2(); + Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() { + return reflection_info_1.readMethodOptions; + } }); + Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() { + return reflection_info_1.readMethodOption; + } }); + Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() { + return reflection_info_1.readServiceOption; + } }); + var rpc_error_1 = require_rpc_error(); + Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() { + return rpc_error_1.RpcError; + } }); + var rpc_options_1 = require_rpc_options(); + Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() { + return rpc_options_1.mergeRpcOptions; + } }); + var rpc_output_stream_1 = require_rpc_output_stream(); + Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() { + return rpc_output_stream_1.RpcOutputStreamController; + } }); + var test_transport_1 = require_test_transport(); + Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() { + return test_transport_1.TestTransport; + } }); + var deferred_1 = require_deferred(); + Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() { + return deferred_1.Deferred; + } }); + Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() { + return deferred_1.DeferredState; + } }); + var duplex_streaming_call_1 = require_duplex_streaming_call(); + Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() { + return duplex_streaming_call_1.DuplexStreamingCall; + } }); + var client_streaming_call_1 = require_client_streaming_call(); + Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() { + return client_streaming_call_1.ClientStreamingCall; + } }); + var server_streaming_call_1 = require_server_streaming_call(); + Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() { + return server_streaming_call_1.ServerStreamingCall; + } }); + var unary_call_1 = require_unary_call(); + Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() { + return unary_call_1.UnaryCall; + } }); + var rpc_interceptor_1 = require_rpc_interceptor(); + Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() { + return rpc_interceptor_1.stackIntercept; + } }); + Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() { + return rpc_interceptor_1.stackDuplexStreamingInterceptors; + } }); + Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() { + return rpc_interceptor_1.stackClientStreamingInterceptors; + } }); + Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() { + return rpc_interceptor_1.stackServerStreamingInterceptors; + } }); + Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() { + return rpc_interceptor_1.stackUnaryInterceptors; + } }); + var server_call_context_1 = require_server_call_context(); + Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() { + return server_call_context_1.ServerCallContextController; + } }); } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js -var require_appendBlob2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) { +// node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js +var require_cachescope = __commonJS({ + "node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.CacheScope = void 0; + var runtime_1 = require_commonjs16(); + var runtime_2 = require_commonjs16(); + var runtime_3 = require_commonjs16(); + var runtime_4 = require_commonjs16(); + var runtime_5 = require_commonjs16(); + var CacheScope$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.entities.v1.CacheScope", [ + { + no: 1, + name: "scope", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "permission", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + } + ]); + } + create(value) { + const message = { scope: "", permission: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string scope */ + 1: + message.scope = reader.string(); + break; + case /* int64 permission */ + 2: + message.permission = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.scope !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.scope); + if (message.permission !== "0") + writer.tag(2, runtime_1.WireType.Varint).int64(message.permission); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.CacheScope = new CacheScope$Type(); } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js -var require_blockBlob2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) { +// node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js +var require_cachemetadata = __commonJS({ + "node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.CacheMetadata = void 0; + var runtime_1 = require_commonjs16(); + var runtime_2 = require_commonjs16(); + var runtime_3 = require_commonjs16(); + var runtime_4 = require_commonjs16(); + var runtime_5 = require_commonjs16(); + var cachescope_1 = require_cachescope(); + var CacheMetadata$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.entities.v1.CacheMetadata", [ + { + no: 1, + name: "repository_id", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { no: 2, name: "scope", kind: "message", repeat: 1, T: () => cachescope_1.CacheScope } + ]); + } + create(value) { + const message = { repositoryId: "0", scope: [] }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* int64 repository_id */ + 1: + message.repositoryId = reader.int64().toString(); + break; + case /* repeated github.actions.results.entities.v1.CacheScope scope */ + 2: + message.scope.push(cachescope_1.CacheScope.internalBinaryRead(reader, reader.uint32(), options)); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.repositoryId !== "0") + writer.tag(1, runtime_1.WireType.Varint).int64(message.repositoryId); + for (let i = 0; i < message.scope.length; i++) + cachescope_1.CacheScope.internalBinaryWrite(message.scope[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join(); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.CacheMetadata = new CacheMetadata$Type(); } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js -var require_operationsInterfaces = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) { +// node_modules/@actions/cache/lib/generated/results/api/v1/cache.js +var require_cache4 = __commonJS({ + "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_service2(), exports2); - tslib_1.__exportStar(require_container2(), exports2); - tslib_1.__exportStar(require_blob2(), exports2); - tslib_1.__exportStar(require_pageBlob2(), exports2); - tslib_1.__exportStar(require_appendBlob2(), exports2); - tslib_1.__exportStar(require_blockBlob2(), exports2); + exports2.CacheService = exports2.GetCacheEntryDownloadURLResponse = exports2.GetCacheEntryDownloadURLRequest = exports2.FinalizeCacheEntryUploadResponse = exports2.FinalizeCacheEntryUploadRequest = exports2.CreateCacheEntryResponse = exports2.CreateCacheEntryRequest = void 0; + var runtime_rpc_1 = require_commonjs17(); + var runtime_1 = require_commonjs16(); + var runtime_2 = require_commonjs16(); + var runtime_3 = require_commonjs16(); + var runtime_4 = require_commonjs16(); + var runtime_5 = require_commonjs16(); + var cachemetadata_1 = require_cachemetadata(); + var CreateCacheEntryRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.CreateCacheEntryRequest", [ + { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata }, + { + no: 2, + name: "key", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "version", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); + } + create(value) { + const message = { key: "", version: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* github.actions.results.entities.v1.CacheMetadata metadata */ + 1: + message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata); + break; + case /* string key */ + 2: + message.key = reader.string(); + break; + case /* string version */ + 3: + message.version = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.metadata) + cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); + if (message.key !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key); + if (message.version !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.version); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.CreateCacheEntryRequest = new CreateCacheEntryRequest$Type(); + var CreateCacheEntryResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.CreateCacheEntryResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "signed_upload_url", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "message", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); + } + create(value) { + const message = { ok: false, signedUploadUrl: "", message: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* string signed_upload_url */ + 2: + message.signedUploadUrl = reader.string(); + break; + case /* string message */ + 3: + message.message = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.signedUploadUrl !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl); + if (message.message !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.CreateCacheEntryResponse = new CreateCacheEntryResponse$Type(); + var FinalizeCacheEntryUploadRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeCacheEntryUploadRequest", [ + { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata }, + { + no: 2, + name: "key", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "size_bytes", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { + no: 4, + name: "version", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); + } + create(value) { + const message = { key: "", sizeBytes: "0", version: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* github.actions.results.entities.v1.CacheMetadata metadata */ + 1: + message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata); + break; + case /* string key */ + 2: + message.key = reader.string(); + break; + case /* int64 size_bytes */ + 3: + message.sizeBytes = reader.int64().toString(); + break; + case /* string version */ + 4: + message.version = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.metadata) + cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); + if (message.key !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key); + if (message.sizeBytes !== "0") + writer.tag(3, runtime_1.WireType.Varint).int64(message.sizeBytes); + if (message.version !== "") + writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.FinalizeCacheEntryUploadRequest = new FinalizeCacheEntryUploadRequest$Type(); + var FinalizeCacheEntryUploadResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeCacheEntryUploadResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "entry_id", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { + no: 3, + name: "message", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); + } + create(value) { + const message = { ok: false, entryId: "0", message: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* int64 entry_id */ + 2: + message.entryId = reader.int64().toString(); + break; + case /* string message */ + 3: + message.message = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.entryId !== "0") + writer.tag(2, runtime_1.WireType.Varint).int64(message.entryId); + if (message.message !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.FinalizeCacheEntryUploadResponse = new FinalizeCacheEntryUploadResponse$Type(); + var GetCacheEntryDownloadURLRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.GetCacheEntryDownloadURLRequest", [ + { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata }, + { + no: 2, + name: "key", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "restore_keys", + kind: "scalar", + repeat: 2, + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 4, + name: "version", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); + } + create(value) { + const message = { key: "", restoreKeys: [], version: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* github.actions.results.entities.v1.CacheMetadata metadata */ + 1: + message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata); + break; + case /* string key */ + 2: + message.key = reader.string(); + break; + case /* repeated string restore_keys */ + 3: + message.restoreKeys.push(reader.string()); + break; + case /* string version */ + 4: + message.version = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.metadata) + cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); + if (message.key !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key); + for (let i = 0; i < message.restoreKeys.length; i++) + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.restoreKeys[i]); + if (message.version !== "") + writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.GetCacheEntryDownloadURLRequest = new GetCacheEntryDownloadURLRequest$Type(); + var GetCacheEntryDownloadURLResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.GetCacheEntryDownloadURLResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "signed_download_url", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "matched_key", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); + } + create(value) { + const message = { ok: false, signedDownloadUrl: "", matchedKey: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* string signed_download_url */ + 2: + message.signedDownloadUrl = reader.string(); + break; + case /* string matched_key */ + 3: + message.matchedKey = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.signedDownloadUrl !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedDownloadUrl); + if (message.matchedKey !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.matchedKey); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.GetCacheEntryDownloadURLResponse = new GetCacheEntryDownloadURLResponse$Type(); + exports2.CacheService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.CacheService", [ + { name: "CreateCacheEntry", options: {}, I: exports2.CreateCacheEntryRequest, O: exports2.CreateCacheEntryResponse }, + { name: "FinalizeCacheEntryUpload", options: {}, I: exports2.FinalizeCacheEntryUploadRequest, O: exports2.FinalizeCacheEntryUploadResponse }, + { name: "GetCacheEntryDownloadURL", options: {}, I: exports2.GetCacheEntryDownloadURLRequest, O: exports2.GetCacheEntryDownloadURLResponse } + ]); } }); -// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js -var require_src2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) { +// node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js +var require_cache_twirp_client = __commonJS({ + "node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StorageClient = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - tslib_1.__exportStar(require_models(), exports2); - var storageClient_js_1 = require_storageClient(); - Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() { - return storageClient_js_1.StorageClient; - } }); - tslib_1.__exportStar(require_operationsInterfaces(), exports2); + exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0; + var cache_1 = require_cache4(); + var CacheServiceClientJSON = class { + constructor(rpc) { + this.rpc = rpc; + this.CreateCacheEntry.bind(this); + this.FinalizeCacheEntryUpload.bind(this); + this.GetCacheEntryDownloadURL.bind(this); + } + CreateCacheEntry(request2) { + const data = cache_1.CreateCacheEntryRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/json", data); + return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromJson(data2, { + ignoreUnknownFields: true + })); + } + FinalizeCacheEntryUpload(request2) { + const data = cache_1.FinalizeCacheEntryUploadRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/json", data); + return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromJson(data2, { + ignoreUnknownFields: true + })); + } + GetCacheEntryDownloadURL(request2) { + const data = cache_1.GetCacheEntryDownloadURLRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/json", data); + return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromJson(data2, { + ignoreUnknownFields: true + })); + } + }; + exports2.CacheServiceClientJSON = CacheServiceClientJSON; + var CacheServiceClientProtobuf = class { + constructor(rpc) { + this.rpc = rpc; + this.CreateCacheEntry.bind(this); + this.FinalizeCacheEntryUpload.bind(this); + this.GetCacheEntryDownloadURL.bind(this); + } + CreateCacheEntry(request2) { + const data = cache_1.CreateCacheEntryRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/protobuf", data); + return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromBinary(data2)); + } + FinalizeCacheEntryUpload(request2) { + const data = cache_1.FinalizeCacheEntryUploadRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/protobuf", data); + return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromBinary(data2)); + } + GetCacheEntryDownloadURL(request2) { + const data = cache_1.GetCacheEntryDownloadURLRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/protobuf", data); + return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromBinary(data2)); + } + }; + exports2.CacheServiceClientProtobuf = CacheServiceClientProtobuf; } }); -// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js -var require_StorageContextClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) { +// node_modules/@actions/cache/lib/internal/shared/util.js +var require_util18 = __commonJS({ + "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StorageContextClient = void 0; - var index_js_1 = require_src2(); - var StorageContextClient = class extends index_js_1.StorageClient { - async sendOperationRequest(operationArguments, operationSpec) { - const operationSpecToSend = { ...operationSpec }; - if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") { - operationSpecToSend.path = ""; + exports2.maskSigUrl = maskSigUrl; + exports2.maskSecretUrls = maskSecretUrls; + var core_1 = require_core(); + function maskSigUrl(url) { + if (!url) + return; + try { + const parsedUrl = new URL(url); + const signature = parsedUrl.searchParams.get("sig"); + if (signature) { + (0, core_1.setSecret)(signature); + (0, core_1.setSecret)(encodeURIComponent(signature)); } - return super.sendOperationRequest(operationArguments, operationSpecToSend); + } catch (error3) { + (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`); } - }; - exports2.StorageContextClient = StorageContextClient; + } + function maskSecretUrls(body) { + if (typeof body !== "object" || body === null) { + (0, core_1.debug)("body is not an object or is null"); + return; + } + if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") { + maskSigUrl(body.signed_upload_url); + } + if ("signed_download_url" in body && typeof body.signed_download_url === "string") { + maskSigUrl(body.signed_download_url); + } + } } }); -// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js -var require_StorageClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) { +// node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js +var require_cacheTwirpClient = __commonJS({ + "node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js"(exports2) { "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StorageClient = void 0; - var StorageContextClient_js_1 = require_StorageContextClient(); - var Pipeline_js_1 = require_Pipeline(); - var utils_common_js_1 = require_utils_common(); - var StorageClient = class { - /** - * Encoded URL string value. - */ - url; - accountName; - /** - * Request policy pipeline. - * - * @internal - */ - pipeline; - /** - * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used. - */ - credential; - /** - * StorageClient is a reference to protocol layer operations entry, which is - * generated by AutoRest generator. - */ - storageClientContext; - /** - */ - isHttps; - /** - * Creates an instance of StorageClient. - * @param url - url to resource - * @param pipeline - request policy pipeline. - */ - constructor(url, pipeline) { - this.url = (0, utils_common_js_1.escapeURLPath)(url); - this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url); - this.pipeline = pipeline; - this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline)); - this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https"); - this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline); - const storageClientContext = this.storageClientContext; - storageClientContext.requestContentType = void 0; + exports2.internalCacheTwirpClient = internalCacheTwirpClient; + var core_1 = require_core(); + var user_agent_1 = require_user_agent(); + var errors_1 = require_errors3(); + var config_1 = require_config(); + var cacheUtils_1 = require_cacheUtils(); + var auth_1 = require_auth(); + var http_client_1 = require_lib(); + var cache_twirp_client_1 = require_cache_twirp_client(); + var util_1 = require_util18(); + var CacheServiceClient = class { + constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) { + this.maxAttempts = 5; + this.baseRetryIntervalMilliseconds = 3e3; + this.retryMultiplier = 1.5; + const token = (0, cacheUtils_1.getRuntimeToken)(); + this.baseUrl = (0, config_1.getCacheServiceURL)(); + if (maxAttempts) { + this.maxAttempts = maxAttempts; + } + if (baseRetryIntervalMilliseconds) { + this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds; + } + if (retryMultiplier) { + this.retryMultiplier = retryMultiplier; + } + this.httpClient = new http_client_1.HttpClient(userAgent2, [ + new auth_1.BearerCredentialHandler(token) + ]); + } + // This function satisfies the Rpc interface. It is compatible with the JSON + // JSON generated client. + request(service, method, contentType, data) { + return __awaiter2(this, void 0, void 0, function* () { + const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href; + (0, core_1.debug)(`[Request] ${method} ${url}`); + const headers = { + "Content-Type": contentType + }; + try { + const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () { + return this.httpClient.post(url, JSON.stringify(data), headers); + })); + return body; + } catch (error3) { + throw new Error(`Failed to ${method}: ${error3.message}`); + } + }); + } + retryableRequest(operation) { + return __awaiter2(this, void 0, void 0, function* () { + let attempt = 0; + let errorMessage = ""; + let rawBody = ""; + while (attempt < this.maxAttempts) { + let isRetryable = false; + try { + const response = yield operation(); + const statusCode = response.message.statusCode; + rawBody = yield response.readBody(); + (0, core_1.debug)(`[Response] - ${response.message.statusCode}`); + (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`); + const body = JSON.parse(rawBody); + (0, util_1.maskSecretUrls)(body); + (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`); + if (this.isSuccessStatusCode(statusCode)) { + return { response, body }; + } + isRetryable = this.isRetryableHttpStatusCode(statusCode); + errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`; + if (body.msg) { + if (errors_1.UsageError.isUsageErrorMessage(body.msg)) { + throw new errors_1.UsageError(); + } + errorMessage = `${errorMessage}: ${body.msg}`; + } + if (statusCode === http_client_1.HttpCodes.TooManyRequests) { + const retryAfterHeader = response.message.headers["retry-after"]; + if (retryAfterHeader) { + const parsedSeconds = parseInt(retryAfterHeader, 10); + if (!isNaN(parsedSeconds) && parsedSeconds > 0) { + (0, core_1.warning)(`You've hit a rate limit, your rate limit will reset in ${parsedSeconds} seconds`); + } + } + throw new errors_1.RateLimitError(`Rate limited: ${errorMessage}`); + } + } catch (error3) { + if (error3 instanceof SyntaxError) { + (0, core_1.debug)(`Raw Body: ${rawBody}`); + } + if (error3 instanceof errors_1.UsageError) { + throw error3; + } + if (error3 instanceof errors_1.RateLimitError) { + throw error3; + } + if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) { + throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code); + } + isRetryable = true; + errorMessage = error3.message; + } + if (!isRetryable) { + throw new Error(`Received non-retryable error: ${errorMessage}`); + } + if (attempt + 1 === this.maxAttempts) { + throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`); + } + const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt); + (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`); + yield this.sleep(retryTimeMilliseconds); + attempt++; + } + throw new Error(`Request failed`); + }); + } + isSuccessStatusCode(statusCode) { + if (!statusCode) + return false; + return statusCode >= 200 && statusCode < 300; + } + isRetryableHttpStatusCode(statusCode) { + if (!statusCode) + return false; + const retryableStatusCodes = [ + http_client_1.HttpCodes.BadGateway, + http_client_1.HttpCodes.GatewayTimeout, + http_client_1.HttpCodes.InternalServerError, + http_client_1.HttpCodes.ServiceUnavailable + ]; + return retryableStatusCodes.includes(statusCode); + } + sleep(milliseconds) { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve5) => setTimeout(resolve5, milliseconds)); + }); + } + getExponentialRetryTimeMilliseconds(attempt) { + if (attempt < 0) { + throw new Error("attempt should be a positive integer"); + } + if (attempt === 0) { + return this.baseRetryIntervalMilliseconds; + } + const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt); + const maxTime = minTime * this.retryMultiplier; + return Math.trunc(Math.random() * (maxTime - minTime) + minTime); } }; - exports2.StorageClient = StorageClient; + function internalCacheTwirpClient(options) { + const client = new CacheServiceClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier); + return new cache_twirp_client_1.CacheServiceClientJSON(client); + } } }); -// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js -var require_tracing = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) { +// node_modules/@actions/cache/lib/internal/tar.js +var require_tar = __commonJS({ + "node_modules/@actions/cache/lib/internal/tar.js"(exports2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.tracingClient = void 0; - var core_tracing_1 = require_commonjs5(); - var constants_js_1 = require_constants15(); - exports2.tracingClient = (0, core_tracing_1.createTracingClient)({ - packageName: "@azure/storage-blob", - packageVersion: constants_js_1.SDK_VERSION, - namespace: "Microsoft.Storage" + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = Object.getOwnPropertyNames || function(o2) { + var ar = []; + for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.listTar = listTar; + exports2.extractTar = extractTar2; + exports2.createTar = createTar; + var exec_1 = require_exec(); + var io6 = __importStar2(require_io()); + var fs_1 = require("fs"); + var path7 = __importStar2(require("path")); + var utils = __importStar2(require_cacheUtils()); + var constants_1 = require_constants12(); + var IS_WINDOWS = process.platform === "win32"; + function getTarPath() { + return __awaiter2(this, void 0, void 0, function* () { + switch (process.platform) { + case "win32": { + const gnuTar = yield utils.getGnuTarPathOnWindows(); + const systemTar = constants_1.SystemTarPathOnWindows; + if (gnuTar) { + return { path: gnuTar, type: constants_1.ArchiveToolType.GNU }; + } else if ((0, fs_1.existsSync)(systemTar)) { + return { path: systemTar, type: constants_1.ArchiveToolType.BSD }; + } + break; + } + case "darwin": { + const gnuTar = yield io6.which("gtar", false); + if (gnuTar) { + return { path: gnuTar, type: constants_1.ArchiveToolType.GNU }; + } else { + return { + path: yield io6.which("tar", true), + type: constants_1.ArchiveToolType.BSD + }; + } + } + default: + break; + } + return { + path: yield io6.which("tar", true), + type: constants_1.ArchiveToolType.GNU + }; + }); + } + function getTarArgs(tarPath_1, compressionMethod_1, type_1) { + return __awaiter2(this, arguments, void 0, function* (tarPath, compressionMethod, type2, archivePath = "") { + const args = [`"${tarPath.path}"`]; + const cacheFileName = utils.getCacheFileName(compressionMethod); + const tarFile = "cache.tar"; + const workingDirectory = getWorkingDirectory(); + const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; + switch (type2) { + case "create": + args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename); + break; + case "extract": + args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path7.sep}`, "g"), "/")); + break; + case "list": + args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "-P"); + break; + } + if (tarPath.type === constants_1.ArchiveToolType.GNU) { + switch (process.platform) { + case "win32": + args.push("--force-local"); + break; + case "darwin": + args.push("--delay-directory-restore"); + break; + } + } + return args; + }); + } + function getCommands(compressionMethod_1, type_1) { + return __awaiter2(this, arguments, void 0, function* (compressionMethod, type2, archivePath = "") { + let args; + const tarPath = yield getTarPath(); + const tarArgs = yield getTarArgs(tarPath, compressionMethod, type2, archivePath); + const compressionArgs = type2 !== "create" ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath) : yield getCompressionProgram(tarPath, compressionMethod); + const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; + if (BSD_TAR_ZSTD && type2 !== "create") { + args = [[...compressionArgs].join(" "), [...tarArgs].join(" ")]; + } else { + args = [[...tarArgs].join(" "), [...compressionArgs].join(" ")]; + } + if (BSD_TAR_ZSTD) { + return args; + } + return [args.join(" ")]; + }); + } + function getWorkingDirectory() { + var _a; + return (_a = process.env["GITHUB_WORKSPACE"]) !== null && _a !== void 0 ? _a : process.cwd(); + } + function getDecompressionProgram(tarPath, compressionMethod, archivePath) { + return __awaiter2(this, void 0, void 0, function* () { + const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; + switch (compressionMethod) { + case constants_1.CompressionMethod.Zstd: + return BSD_TAR_ZSTD ? [ + "zstd -d --long=30 --force -o", + constants_1.TarFilename, + archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/") + ] : [ + "--use-compress-program", + IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30" + ]; + case constants_1.CompressionMethod.ZstdWithoutLong: + return BSD_TAR_ZSTD ? [ + "zstd -d --force -o", + constants_1.TarFilename, + archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/") + ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"]; + default: + return ["-z"]; + } + }); + } + function getCompressionProgram(tarPath, compressionMethod) { + return __awaiter2(this, void 0, void 0, function* () { + const cacheFileName = utils.getCacheFileName(compressionMethod); + const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; + switch (compressionMethod) { + case constants_1.CompressionMethod.Zstd: + return BSD_TAR_ZSTD ? [ + "zstd -T0 --long=30 --force -o", + cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), + constants_1.TarFilename + ] : [ + "--use-compress-program", + IS_WINDOWS ? '"zstd -T0 --long=30"' : "zstdmt --long=30" + ]; + case constants_1.CompressionMethod.ZstdWithoutLong: + return BSD_TAR_ZSTD ? [ + "zstd -T0 --force -o", + cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), + constants_1.TarFilename + ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"]; + default: + return ["-z"]; + } + }); + } + function execCommands(commands, cwd) { + return __awaiter2(this, void 0, void 0, function* () { + for (const command of commands) { + try { + yield (0, exec_1.exec)(command, void 0, { + cwd, + env: Object.assign(Object.assign({}, process.env), { MSYS: "winsymlinks:nativestrict" }) + }); + } catch (error3) { + throw new Error(`${command.split(" ")[0]} failed with error: ${error3 === null || error3 === void 0 ? void 0 : error3.message}`); + } + } + }); + } + function listTar(archivePath, compressionMethod) { + return __awaiter2(this, void 0, void 0, function* () { + const commands = yield getCommands(compressionMethod, "list", archivePath); + yield execCommands(commands); + }); + } + function extractTar2(archivePath, compressionMethod) { + return __awaiter2(this, void 0, void 0, function* () { + const workingDirectory = getWorkingDirectory(); + yield io6.mkdirP(workingDirectory); + const commands = yield getCommands(compressionMethod, "extract", archivePath); + yield execCommands(commands); + }); + } + function createTar(archiveFolder, sourceDirectories, compressionMethod) { + return __awaiter2(this, void 0, void 0, function* () { + (0, fs_1.writeFileSync)(path7.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n")); + const commands = yield getCommands(compressionMethod, "create"); + yield execCommands(commands, archiveFolder); + }); + } } }); -// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js -var require_BlobSASPermissions = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) { +// node_modules/@actions/cache/lib/cache.js +var require_cache5 = __commonJS({ + "node_modules/@actions/cache/lib/cache.js"(exports2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobSASPermissions = void 0; - var BlobSASPermissions = class _BlobSASPermissions { - /** - * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an - * Error if it encounters a character that does not correspond to a valid permission. - * - * @param permissions - - */ - static parse(permissions) { - const blobSASPermissions = new _BlobSASPermissions(); - for (const char of permissions) { - switch (char) { - case "r": - blobSASPermissions.read = true; - break; - case "a": - blobSASPermissions.add = true; - break; - case "c": - blobSASPermissions.create = true; - break; - case "w": - blobSASPermissions.write = true; - break; - case "d": - blobSASPermissions.delete = true; - break; - case "x": - blobSASPermissions.deleteVersion = true; - break; - case "t": - blobSASPermissions.tag = true; - break; - case "m": - blobSASPermissions.move = true; - break; - case "e": - blobSASPermissions.execute = true; - break; - case "i": - blobSASPermissions.setImmutabilityPolicy = true; - break; - case "y": - blobSASPermissions.permanentDelete = true; - break; - default: - throw new RangeError(`Invalid permission: ${char}`); + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = Object.getOwnPropertyNames || function(o2) { + var ar = []; + for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + } + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); } } - return blobSASPermissions; + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.FinalizeCacheError = exports2.ReserveCacheError = exports2.ValidationError = void 0; + exports2.isFeatureAvailable = isFeatureAvailable; + exports2.restoreCache = restoreCache4; + exports2.saveCache = saveCache4; + var core14 = __importStar2(require_core()); + var path7 = __importStar2(require("path")); + var utils = __importStar2(require_cacheUtils()); + var cacheHttpClient = __importStar2(require_cacheHttpClient()); + var cacheTwirpClient = __importStar2(require_cacheTwirpClient()); + var config_1 = require_config(); + var tar_1 = require_tar(); + var http_client_1 = require_lib(); + var ValidationError = class _ValidationError extends Error { + constructor(message) { + super(message); + this.name = "ValidationError"; + Object.setPrototypeOf(this, _ValidationError.prototype); } - /** - * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it - * and boolean values for them. - * - * @param permissionLike - - */ - static from(permissionLike) { - const blobSASPermissions = new _BlobSASPermissions(); - if (permissionLike.read) { - blobSASPermissions.read = true; + }; + exports2.ValidationError = ValidationError; + var ReserveCacheError2 = class _ReserveCacheError extends Error { + constructor(message) { + super(message); + this.name = "ReserveCacheError"; + Object.setPrototypeOf(this, _ReserveCacheError.prototype); + } + }; + exports2.ReserveCacheError = ReserveCacheError2; + var FinalizeCacheError = class _FinalizeCacheError extends Error { + constructor(message) { + super(message); + this.name = "FinalizeCacheError"; + Object.setPrototypeOf(this, _FinalizeCacheError.prototype); + } + }; + exports2.FinalizeCacheError = FinalizeCacheError; + function checkPaths(paths) { + if (!paths || paths.length === 0) { + throw new ValidationError(`Path Validation Error: At least one directory or file path is required`); + } + } + function checkKey(key) { + if (key.length > 512) { + throw new ValidationError(`Key Validation Error: ${key} cannot be larger than 512 characters.`); + } + const regex = /^[^,]*$/; + if (!regex.test(key)) { + throw new ValidationError(`Key Validation Error: ${key} cannot contain commas.`); + } + } + function isFeatureAvailable() { + const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); + switch (cacheServiceVersion) { + case "v2": + return !!process.env["ACTIONS_RESULTS_URL"]; + case "v1": + default: + return !!process.env["ACTIONS_CACHE_URL"]; + } + } + function restoreCache4(paths_1, primaryKey_1, restoreKeys_1, options_1) { + return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { + const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); + core14.debug(`Cache service version: ${cacheServiceVersion}`); + checkPaths(paths); + switch (cacheServiceVersion) { + case "v2": + return yield restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsArchive); + case "v1": + default: + return yield restoreCacheV1(paths, primaryKey, restoreKeys, options, enableCrossOsArchive); } - if (permissionLike.add) { - blobSASPermissions.add = true; + }); + } + function restoreCacheV1(paths_1, primaryKey_1, restoreKeys_1, options_1) { + return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { + restoreKeys = restoreKeys || []; + const keys = [primaryKey, ...restoreKeys]; + core14.debug("Resolved Keys:"); + core14.debug(JSON.stringify(keys)); + if (keys.length > 10) { + throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`); } - if (permissionLike.create) { - blobSASPermissions.create = true; + for (const key of keys) { + checkKey(key); } - if (permissionLike.write) { - blobSASPermissions.write = true; + const compressionMethod = yield utils.getCompressionMethod(); + let archivePath = ""; + try { + const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, { + compressionMethod, + enableCrossOsArchive + }); + if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) { + return void 0; + } + if (options === null || options === void 0 ? void 0 : options.lookupOnly) { + core14.info("Lookup only - skipping download"); + return cacheEntry.cacheKey; + } + archivePath = path7.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod)); + core14.debug(`Archive Path: ${archivePath}`); + yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options); + if (core14.isDebug()) { + yield (0, tar_1.listTar)(archivePath, compressionMethod); + } + const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); + core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`); + yield (0, tar_1.extractTar)(archivePath, compressionMethod); + core14.info("Cache restored successfully"); + return cacheEntry.cacheKey; + } catch (error3) { + const typedError = error3; + if (typedError.name === ValidationError.name) { + throw error3; + } else { + if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { + core14.error(`Failed to restore: ${error3.message}`); + } else { + core14.warning(`Failed to restore: ${error3.message}`); + } + } + } finally { + try { + yield utils.unlinkFile(archivePath); + } catch (error3) { + core14.debug(`Failed to delete archive: ${error3}`); + } } - if (permissionLike.delete) { - blobSASPermissions.delete = true; + return void 0; + }); + } + function restoreCacheV2(paths_1, primaryKey_1, restoreKeys_1, options_1) { + return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { + options = Object.assign(Object.assign({}, options), { useAzureSdk: true }); + restoreKeys = restoreKeys || []; + const keys = [primaryKey, ...restoreKeys]; + core14.debug("Resolved Keys:"); + core14.debug(JSON.stringify(keys)); + if (keys.length > 10) { + throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`); } - if (permissionLike.deleteVersion) { - blobSASPermissions.deleteVersion = true; + for (const key of keys) { + checkKey(key); } - if (permissionLike.tag) { - blobSASPermissions.tag = true; + let archivePath = ""; + try { + const twirpClient = cacheTwirpClient.internalCacheTwirpClient(); + const compressionMethod = yield utils.getCompressionMethod(); + const request2 = { + key: primaryKey, + restoreKeys, + version: utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive) + }; + const response = yield twirpClient.GetCacheEntryDownloadURL(request2); + if (!response.ok) { + core14.debug(`Cache not found for version ${request2.version} of keys: ${keys.join(", ")}`); + return void 0; + } + const isRestoreKeyMatch = request2.key !== response.matchedKey; + if (isRestoreKeyMatch) { + core14.info(`Cache hit for restore-key: ${response.matchedKey}`); + } else { + core14.info(`Cache hit for: ${response.matchedKey}`); + } + if (options === null || options === void 0 ? void 0 : options.lookupOnly) { + core14.info("Lookup only - skipping download"); + return response.matchedKey; + } + archivePath = path7.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod)); + core14.debug(`Archive path: ${archivePath}`); + core14.debug(`Starting download of archive to: ${archivePath}`); + yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options); + const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); + core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`); + if (core14.isDebug()) { + yield (0, tar_1.listTar)(archivePath, compressionMethod); + } + yield (0, tar_1.extractTar)(archivePath, compressionMethod); + core14.info("Cache restored successfully"); + return response.matchedKey; + } catch (error3) { + const typedError = error3; + if (typedError.name === ValidationError.name) { + throw error3; + } else { + if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { + core14.error(`Failed to restore: ${error3.message}`); + } else { + core14.warning(`Failed to restore: ${error3.message}`); + } + } + } finally { + try { + if (archivePath) { + yield utils.unlinkFile(archivePath); + } + } catch (error3) { + core14.debug(`Failed to delete archive: ${error3}`); + } } - if (permissionLike.move) { - blobSASPermissions.move = true; + return void 0; + }); + } + function saveCache4(paths_1, key_1, options_1) { + return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { + const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); + core14.debug(`Cache service version: ${cacheServiceVersion}`); + checkPaths(paths); + checkKey(key); + switch (cacheServiceVersion) { + case "v2": + return yield saveCacheV2(paths, key, options, enableCrossOsArchive); + case "v1": + default: + return yield saveCacheV1(paths, key, options, enableCrossOsArchive); } - if (permissionLike.execute) { - blobSASPermissions.execute = true; + }); + } + function saveCacheV1(paths_1, key_1, options_1) { + return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { + var _a, _b, _c, _d, _e; + const compressionMethod = yield utils.getCompressionMethod(); + let cacheId = -1; + const cachePaths = yield utils.resolvePaths(paths); + core14.debug("Cache Paths:"); + core14.debug(`${JSON.stringify(cachePaths)}`); + if (cachePaths.length === 0) { + throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`); } - if (permissionLike.setImmutabilityPolicy) { - blobSASPermissions.setImmutabilityPolicy = true; + const archiveFolder = yield utils.createTempDirectory(); + const archivePath = path7.join(archiveFolder, utils.getCacheFileName(compressionMethod)); + core14.debug(`Archive Path: ${archivePath}`); + try { + yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod); + if (core14.isDebug()) { + yield (0, tar_1.listTar)(archivePath, compressionMethod); + } + const fileSizeLimit = 10 * 1024 * 1024 * 1024; + const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); + core14.debug(`File Size: ${archiveFileSize}`); + if (archiveFileSize > fileSizeLimit && !(0, config_1.isGhes)()) { + throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`); + } + core14.debug("Reserving Cache"); + const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, { + compressionMethod, + enableCrossOsArchive, + cacheSize: archiveFileSize + }); + if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) { + cacheId = (_b = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _b === void 0 ? void 0 : _b.cacheId; + } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) { + throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`); + } else { + throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`); + } + core14.debug(`Saving Cache (ID: ${cacheId})`); + yield cacheHttpClient.saveCache(cacheId, archivePath, "", options); + } catch (error3) { + const typedError = error3; + if (typedError.name === ValidationError.name) { + throw error3; + } else if (typedError.name === ReserveCacheError2.name) { + core14.info(`Failed to save: ${typedError.message}`); + } else { + if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { + core14.error(`Failed to save: ${typedError.message}`); + } else { + core14.warning(`Failed to save: ${typedError.message}`); + } + } + } finally { + try { + yield utils.unlinkFile(archivePath); + } catch (error3) { + core14.debug(`Failed to delete archive: ${error3}`); + } } - if (permissionLike.permanentDelete) { - blobSASPermissions.permanentDelete = true; + return cacheId; + }); + } + function saveCacheV2(paths_1, key_1, options_1) { + return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { + options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true }); + const compressionMethod = yield utils.getCompressionMethod(); + const twirpClient = cacheTwirpClient.internalCacheTwirpClient(); + let cacheId = -1; + const cachePaths = yield utils.resolvePaths(paths); + core14.debug("Cache Paths:"); + core14.debug(`${JSON.stringify(cachePaths)}`); + if (cachePaths.length === 0) { + throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`); } - return blobSASPermissions; + const archiveFolder = yield utils.createTempDirectory(); + const archivePath = path7.join(archiveFolder, utils.getCacheFileName(compressionMethod)); + core14.debug(`Archive Path: ${archivePath}`); + try { + yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod); + if (core14.isDebug()) { + yield (0, tar_1.listTar)(archivePath, compressionMethod); + } + const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); + core14.debug(`File Size: ${archiveFileSize}`); + options.archiveSizeBytes = archiveFileSize; + core14.debug("Reserving Cache"); + const version = utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive); + const request2 = { + key, + version + }; + let signedUploadUrl; + try { + const response = yield twirpClient.CreateCacheEntry(request2); + if (!response.ok) { + if (response.message) { + core14.warning(`Cache reservation failed: ${response.message}`); + } + throw new Error(response.message || "Response was not ok"); + } + signedUploadUrl = response.signedUploadUrl; + } catch (error3) { + core14.debug(`Failed to reserve cache: ${error3}`); + throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache.`); + } + core14.debug(`Attempting to upload cache located at: ${archivePath}`); + yield cacheHttpClient.saveCache(cacheId, archivePath, signedUploadUrl, options); + const finalizeRequest = { + key, + version, + sizeBytes: `${archiveFileSize}` + }; + const finalizeResponse = yield twirpClient.FinalizeCacheEntryUpload(finalizeRequest); + core14.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`); + if (!finalizeResponse.ok) { + if (finalizeResponse.message) { + throw new FinalizeCacheError(finalizeResponse.message); + } + throw new Error(`Unable to finalize cache with key ${key}, another job may be finalizing this cache.`); + } + cacheId = parseInt(finalizeResponse.entryId); + } catch (error3) { + const typedError = error3; + if (typedError.name === ValidationError.name) { + throw error3; + } else if (typedError.name === ReserveCacheError2.name) { + core14.info(`Failed to save: ${typedError.message}`); + } else if (typedError.name === FinalizeCacheError.name) { + core14.warning(typedError.message); + } else { + if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { + core14.error(`Failed to save: ${typedError.message}`); + } else { + core14.warning(`Failed to save: ${typedError.message}`); + } + } + } finally { + try { + yield utils.unlinkFile(archivePath); + } catch (error3) { + core14.debug(`Failed to delete archive: ${error3}`); + } + } + return cacheId; + }); + } + } +}); + +// node_modules/@actions/tool-cache/lib/manifest.js +var require_manifest = __commonJS({ + "node_modules/@actions/tool-cache/lib/manifest.js"(exports2, module2) { + "use strict"; + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; } - /** - * Specifies Read access granted. - */ - read = false; - /** - * Specifies Add access granted. - */ - add = false; - /** - * Specifies Create access granted. - */ - create = false; - /** - * Specifies Write access granted. - */ - write = false; - /** - * Specifies Delete access granted. - */ - delete = false; - /** - * Specifies Delete version access granted. - */ - deleteVersion = false; - /** - * Specfies Tag access granted. - */ - tag = false; - /** - * Specifies Move access granted. - */ - move = false; - /** - * Specifies Execute access granted. - */ - execute = false; - /** - * Specifies SetImmutabilityPolicy access granted. - */ - setImmutabilityPolicy = false; - /** - * Specifies that Permanent Delete is permitted. - */ - permanentDelete = false; - /** - * Converts the given permissions to a string. Using this method will guarantee the permissions are in an - * order accepted by the service. - * - * @returns A string which represents the BlobSASPermissions - */ - toString() { - const permissions = []; - if (this.read) { - permissions.push("r"); + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = Object.getOwnPropertyNames || function(o2) { + var ar = []; + for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); } - if (this.add) { - permissions.push("a"); + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - if (this.create) { - permissions.push("c"); + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } } - if (this.write) { - permissions.push("w"); + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); } - if (this.delete) { - permissions.push("d"); + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2._findMatch = _findMatch; + exports2._getOsVersion = _getOsVersion; + exports2._readLinuxVersionFile = _readLinuxVersionFile; + var semver9 = __importStar2(require_semver2()); + var core_1 = require_core(); + var os2 = require("os"); + var cp = require("child_process"); + var fs8 = require("fs"); + function _findMatch(versionSpec, stable, candidates, archFilter) { + return __awaiter2(this, void 0, void 0, function* () { + const platFilter = os2.platform(); + let result; + let match; + let file; + for (const candidate of candidates) { + const version = candidate.version; + (0, core_1.debug)(`check ${version} satisfies ${versionSpec}`); + if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) { + file = candidate.files.find((item) => { + (0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`); + let chk = item.arch === archFilter && item.platform === platFilter; + if (chk && item.platform_version) { + const osVersion = module2.exports._getOsVersion(); + if (osVersion === item.platform_version) { + chk = true; + } else { + chk = semver9.satisfies(osVersion, item.platform_version); + } + } + return chk; + }); + if (file) { + (0, core_1.debug)(`matched ${candidate.version}`); + match = candidate; + break; + } + } } - if (this.deleteVersion) { - permissions.push("x"); + if (match && file) { + result = Object.assign({}, match); + result.files = [file]; + } + return result; + }); + } + function _getOsVersion() { + const plat = os2.platform(); + let version = ""; + if (plat === "darwin") { + version = cp.execSync("sw_vers -productVersion").toString(); + } else if (plat === "linux") { + const lsbContents = module2.exports._readLinuxVersionFile(); + if (lsbContents) { + const lines = lsbContents.split("\n"); + for (const line of lines) { + const parts = line.split("="); + if (parts.length === 2 && (parts[0].trim() === "VERSION_ID" || parts[0].trim() === "DISTRIB_RELEASE")) { + version = parts[1].trim().replace(/^"/, "").replace(/"$/, ""); + break; + } + } + } + } + return version; + } + function _readLinuxVersionFile() { + const lsbReleaseFile = "/etc/lsb-release"; + const osReleaseFile = "/etc/os-release"; + let contents = ""; + if (fs8.existsSync(lsbReleaseFile)) { + contents = fs8.readFileSync(lsbReleaseFile).toString(); + } else if (fs8.existsSync(osReleaseFile)) { + contents = fs8.readFileSync(osReleaseFile).toString(); + } + return contents; + } + } +}); + +// node_modules/@actions/tool-cache/lib/retry-helper.js +var require_retry_helper = __commonJS({ + "node_modules/@actions/tool-cache/lib/retry-helper.js"(exports2) { + "use strict"; + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = Object.getOwnPropertyNames || function(o2) { + var ar = []; + for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); } - if (this.tag) { - permissions.push("t"); + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - if (this.move) { - permissions.push("m"); + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } } - if (this.execute) { - permissions.push("e"); + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); } - if (this.setImmutabilityPolicy) { - permissions.push("i"); + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RetryHelper = void 0; + var core14 = __importStar2(require_core()); + var RetryHelper = class { + constructor(maxAttempts, minSeconds, maxSeconds) { + if (maxAttempts < 1) { + throw new Error("max attempts should be greater than or equal to 1"); } - if (this.permanentDelete) { - permissions.push("y"); + this.maxAttempts = maxAttempts; + this.minSeconds = Math.floor(minSeconds); + this.maxSeconds = Math.floor(maxSeconds); + if (this.minSeconds > this.maxSeconds) { + throw new Error("min seconds should be less than or equal to max seconds"); } - return permissions.join(""); + } + execute(action, isRetryable) { + return __awaiter2(this, void 0, void 0, function* () { + let attempt = 1; + while (attempt < this.maxAttempts) { + try { + return yield action(); + } catch (err) { + if (isRetryable && !isRetryable(err)) { + throw err; + } + core14.info(err.message); + } + const seconds = this.getSleepAmount(); + core14.info(`Waiting ${seconds} seconds before trying again`); + yield this.sleep(seconds); + attempt++; + } + return yield action(); + }); + } + getSleepAmount() { + return Math.floor(Math.random() * (this.maxSeconds - this.minSeconds + 1)) + this.minSeconds; + } + sleep(seconds) { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve5) => setTimeout(resolve5, seconds * 1e3)); + }); } }; - exports2.BlobSASPermissions = BlobSASPermissions; + exports2.RetryHelper = RetryHelper; } }); -// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js -var require_ContainerSASPermissions = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) { +// node_modules/@actions/tool-cache/lib/tool-cache.js +var require_tool_cache = __commonJS({ + "node_modules/@actions/tool-cache/lib/tool-cache.js"(exports2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ContainerSASPermissions = void 0; - var ContainerSASPermissions = class _ContainerSASPermissions { - /** - * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an - * Error if it encounters a character that does not correspond to a valid permission. - * - * @param permissions - - */ - static parse(permissions) { - const containerSASPermissions = new _ContainerSASPermissions(); - for (const char of permissions) { - switch (char) { - case "r": - containerSASPermissions.read = true; - break; - case "a": - containerSASPermissions.add = true; - break; - case "c": - containerSASPermissions.create = true; - break; - case "w": - containerSASPermissions.write = true; - break; - case "d": - containerSASPermissions.delete = true; - break; - case "l": - containerSASPermissions.list = true; - break; - case "t": - containerSASPermissions.tag = true; - break; - case "x": - containerSASPermissions.deleteVersion = true; - break; - case "m": - containerSASPermissions.move = true; - break; - case "e": - containerSASPermissions.execute = true; - break; - case "i": - containerSASPermissions.setImmutabilityPolicy = true; - break; - case "y": - containerSASPermissions.permanentDelete = true; - break; - case "f": - containerSASPermissions.filterByTags = true; - break; - default: - throw new RangeError(`Invalid permission ${char}`); - } - } - return containerSASPermissions; + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; } - /** - * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it - * and boolean values for them. - * - * @param permissionLike - - */ - static from(permissionLike) { - const containerSASPermissions = new _ContainerSASPermissions(); - if (permissionLike.read) { - containerSASPermissions.read = true; - } - if (permissionLike.add) { - containerSASPermissions.add = true; - } - if (permissionLike.create) { - containerSASPermissions.create = true; - } - if (permissionLike.write) { - containerSASPermissions.write = true; - } - if (permissionLike.delete) { - containerSASPermissions.delete = true; - } - if (permissionLike.list) { - containerSASPermissions.list = true; - } - if (permissionLike.deleteVersion) { - containerSASPermissions.deleteVersion = true; - } - if (permissionLike.tag) { - containerSASPermissions.tag = true; - } - if (permissionLike.move) { - containerSASPermissions.move = true; - } - if (permissionLike.execute) { - containerSASPermissions.execute = true; + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { + var ownKeys2 = function(o) { + ownKeys2 = Object.getOwnPropertyNames || function(o2) { + var ar = []; + for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys2(o); + }; + return function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); } - if (permissionLike.setImmutabilityPolicy) { - containerSASPermissions.setImmutabilityPolicy = true; + __setModuleDefault2(result, mod); + return result; + }; + })(); + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - if (permissionLike.permanentDelete) { - containerSASPermissions.permanentDelete = true; + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } } - if (permissionLike.filterByTags) { - containerSASPermissions.filterByTags = true; + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); } - return containerSASPermissions; + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.HTTPError = void 0; + exports2.downloadTool = downloadTool2; + exports2.extract7z = extract7z; + exports2.extractTar = extractTar2; + exports2.extractXar = extractXar; + exports2.extractZip = extractZip; + exports2.cacheDir = cacheDir; + exports2.cacheFile = cacheFile; + exports2.find = find2; + exports2.findAllVersions = findAllVersions2; + exports2.getManifestFromRepo = getManifestFromRepo; + exports2.findFromManifest = findFromManifest; + exports2.isExplicitVersion = isExplicitVersion; + exports2.evaluateVersions = evaluateVersions; + var core14 = __importStar2(require_core()); + var io6 = __importStar2(require_io()); + var crypto2 = __importStar2(require("crypto")); + var fs8 = __importStar2(require("fs")); + var mm = __importStar2(require_manifest()); + var os2 = __importStar2(require("os")); + var path7 = __importStar2(require("path")); + var httpm = __importStar2(require_lib()); + var semver9 = __importStar2(require_semver2()); + var stream = __importStar2(require("stream")); + var util = __importStar2(require("util")); + var assert_1 = require("assert"); + var exec_1 = require_exec(); + var retry_helper_1 = require_retry_helper(); + var HTTPError = class extends Error { + constructor(httpStatusCode) { + super(`Unexpected HTTP response: ${httpStatusCode}`); + this.httpStatusCode = httpStatusCode; + Object.setPrototypeOf(this, new.target.prototype); } - /** - * Specifies Read access granted. - */ - read = false; - /** - * Specifies Add access granted. - */ - add = false; - /** - * Specifies Create access granted. - */ - create = false; - /** - * Specifies Write access granted. - */ - write = false; - /** - * Specifies Delete access granted. - */ - delete = false; - /** - * Specifies Delete version access granted. - */ - deleteVersion = false; - /** - * Specifies List access granted. - */ - list = false; - /** - * Specfies Tag access granted. - */ - tag = false; - /** - * Specifies Move access granted. - */ - move = false; - /** - * Specifies Execute access granted. - */ - execute = false; - /** - * Specifies SetImmutabilityPolicy access granted. - */ - setImmutabilityPolicy = false; - /** - * Specifies that Permanent Delete is permitted. - */ - permanentDelete = false; - /** - * Specifies that Filter Blobs by Tags is permitted. - */ - filterByTags = false; - /** - * Converts the given permissions to a string. Using this method will guarantee the permissions are in an - * order accepted by the service. - * - * The order of the characters should be as specified here to ensure correctness. - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - */ - toString() { - const permissions = []; - if (this.read) { - permissions.push("r"); - } - if (this.add) { - permissions.push("a"); + }; + exports2.HTTPError = HTTPError; + var IS_WINDOWS = process.platform === "win32"; + var IS_MAC = process.platform === "darwin"; + var userAgent2 = "actions/tool-cache"; + function downloadTool2(url, dest, auth2, headers) { + return __awaiter2(this, void 0, void 0, function* () { + dest = dest || path7.join(_getTempDirectory(), crypto2.randomUUID()); + yield io6.mkdirP(path7.dirname(dest)); + core14.debug(`Downloading ${url}`); + core14.debug(`Destination ${dest}`); + const maxAttempts = 3; + const minSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS", 10); + const maxSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS", 20); + const retryHelper = new retry_helper_1.RetryHelper(maxAttempts, minSeconds, maxSeconds); + return yield retryHelper.execute(() => __awaiter2(this, void 0, void 0, function* () { + return yield downloadToolAttempt(url, dest || "", auth2, headers); + }), (err) => { + if (err instanceof HTTPError && err.httpStatusCode) { + if (err.httpStatusCode < 500 && err.httpStatusCode !== 408 && err.httpStatusCode !== 429) { + return false; + } + } + return true; + }); + }); + } + function downloadToolAttempt(url, dest, auth2, headers) { + return __awaiter2(this, void 0, void 0, function* () { + if (fs8.existsSync(dest)) { + throw new Error(`Destination file path ${dest} already exists`); } - if (this.create) { - permissions.push("c"); + const http = new httpm.HttpClient(userAgent2, [], { + allowRetries: false + }); + if (auth2) { + core14.debug("set auth"); + if (headers === void 0) { + headers = {}; + } + headers.authorization = auth2; } - if (this.write) { - permissions.push("w"); + const response = yield http.get(url, headers); + if (response.message.statusCode !== 200) { + const err = new HTTPError(response.message.statusCode); + core14.debug(`Failed to download from "${url}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`); + throw err; } - if (this.delete) { - permissions.push("d"); + const pipeline = util.promisify(stream.pipeline); + const responseMessageFactory = _getGlobal("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY", () => response.message); + const readStream = responseMessageFactory(); + let succeeded = false; + try { + yield pipeline(readStream, fs8.createWriteStream(dest)); + core14.debug("download complete"); + succeeded = true; + return dest; + } finally { + if (!succeeded) { + core14.debug("download failed"); + try { + yield io6.rmRF(dest); + } catch (err) { + core14.debug(`Failed to delete '${dest}'. ${err.message}`); + } + } } - if (this.deleteVersion) { - permissions.push("x"); + }); + } + function extract7z(file, dest, _7zPath) { + return __awaiter2(this, void 0, void 0, function* () { + (0, assert_1.ok)(IS_WINDOWS, "extract7z() not supported on current OS"); + (0, assert_1.ok)(file, 'parameter "file" is required'); + dest = yield _createExtractFolder(dest); + const originalCwd = process.cwd(); + process.chdir(dest); + if (_7zPath) { + try { + const logLevel = core14.isDebug() ? "-bb1" : "-bb0"; + const args = [ + "x", + // eXtract files with full paths + logLevel, + // -bb[0-3] : set output log level + "-bd", + // disable progress indicator + "-sccUTF-8", + // set charset for for console input/output + file + ]; + const options = { + silent: true + }; + yield (0, exec_1.exec)(`"${_7zPath}"`, args, options); + } finally { + process.chdir(originalCwd); + } + } else { + const escapedScript = path7.join(__dirname, "..", "scripts", "Invoke-7zdec.ps1").replace(/'/g, "''").replace(/"|\n|\r/g, ""); + const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, ""); + const escapedTarget = dest.replace(/'/g, "''").replace(/"|\n|\r/g, ""); + const command = `& '${escapedScript}' -Source '${escapedFile}' -Target '${escapedTarget}'`; + const args = [ + "-NoLogo", + "-Sta", + "-NoProfile", + "-NonInteractive", + "-ExecutionPolicy", + "Unrestricted", + "-Command", + command + ]; + const options = { + silent: true + }; + try { + const powershellPath = yield io6.which("powershell", true); + yield (0, exec_1.exec)(`"${powershellPath}"`, args, options); + } finally { + process.chdir(originalCwd); + } } - if (this.list) { - permissions.push("l"); + return dest; + }); + } + function extractTar2(file_1, dest_1) { + return __awaiter2(this, arguments, void 0, function* (file, dest, flags = "xz") { + if (!file) { + throw new Error("parameter 'file' is required"); } - if (this.tag) { - permissions.push("t"); + dest = yield _createExtractFolder(dest); + core14.debug("Checking tar --version"); + let versionOutput = ""; + yield (0, exec_1.exec)("tar --version", [], { + ignoreReturnCode: true, + silent: true, + listeners: { + stdout: (data) => versionOutput += data.toString(), + stderr: (data) => versionOutput += data.toString() + } + }); + core14.debug(versionOutput.trim()); + const isGnuTar = versionOutput.toUpperCase().includes("GNU TAR"); + let args; + if (flags instanceof Array) { + args = flags; + } else { + args = [flags]; } - if (this.move) { - permissions.push("m"); + if (core14.isDebug() && !flags.includes("v")) { + args.push("-v"); } - if (this.execute) { - permissions.push("e"); + let destArg = dest; + let fileArg = file; + if (IS_WINDOWS && isGnuTar) { + args.push("--force-local"); + destArg = dest.replace(/\\/g, "/"); + fileArg = file.replace(/\\/g, "/"); } - if (this.setImmutabilityPolicy) { - permissions.push("i"); + if (isGnuTar) { + args.push("--warning=no-unknown-keyword"); + args.push("--overwrite"); } - if (this.permanentDelete) { - permissions.push("y"); + args.push("-C", destArg, "-f", fileArg); + yield (0, exec_1.exec)(`tar`, args); + return dest; + }); + } + function extractXar(file_1, dest_1) { + return __awaiter2(this, arguments, void 0, function* (file, dest, flags = []) { + (0, assert_1.ok)(IS_MAC, "extractXar() not supported on current OS"); + (0, assert_1.ok)(file, 'parameter "file" is required'); + dest = yield _createExtractFolder(dest); + let args; + if (flags instanceof Array) { + args = flags; + } else { + args = [flags]; } - if (this.filterByTags) { - permissions.push("f"); + args.push("-x", "-C", dest, "-f", file); + if (core14.isDebug()) { + args.push("-v"); } - return permissions.join(""); - } - }; - exports2.ContainerSASPermissions = ContainerSASPermissions; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js -var require_UserDelegationKeyCredential = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.UserDelegationKeyCredential = void 0; - var node_crypto_1 = require("node:crypto"); - var UserDelegationKeyCredential = class { - /** - * Azure Storage account name; readonly. - */ - accountName; - /** - * Azure Storage user delegation key; readonly. - */ - userDelegationKey; - /** - * Key value in Buffer type. - */ - key; - /** - * Creates an instance of UserDelegationKeyCredential. - * @param accountName - - * @param userDelegationKey - - */ - constructor(accountName, userDelegationKey) { - this.accountName = accountName; - this.userDelegationKey = userDelegationKey; - this.key = Buffer.from(userDelegationKey.value, "base64"); - } - /** - * Generates a hash signature for an HTTP request or for a SAS. - * - * @param stringToSign - - */ - computeHMACSHA256(stringToSign) { - return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64"); - } - }; - exports2.UserDelegationKeyCredential = UserDelegationKeyCredential; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js -var require_SasIPRange = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ipRangeToString = ipRangeToString; - function ipRangeToString(ipRange) { - return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start; + const xarPath = yield io6.which("xar", true); + yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args)); + return dest; + }); } - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js -var require_SASQueryParameters = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SASQueryParameters = exports2.SASProtocol = void 0; - var SasIPRange_js_1 = require_SasIPRange(); - var utils_common_js_1 = require_utils_common(); - var SASProtocol; - (function(SASProtocol2) { - SASProtocol2["Https"] = "https"; - SASProtocol2["HttpsAndHttp"] = "https,http"; - })(SASProtocol || (exports2.SASProtocol = SASProtocol = {})); - var SASQueryParameters = class { - /** - * The storage API version. - */ - version; - /** - * Optional. The allowed HTTP protocol(s). - */ - protocol; - /** - * Optional. The start time for this SAS token. - */ - startsOn; - /** - * Optional only when identifier is provided. The expiry time for this SAS token. - */ - expiresOn; - /** - * Optional only when identifier is provided. - * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for - * more details. - */ - permissions; - /** - * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices} - * for more details. - */ - services; - /** - * Optional. The storage resource types being accessed (only for Account SAS). Please refer to - * {@link AccountSASResourceTypes} for more details. - */ - resourceTypes; - /** - * Optional. The signed identifier (only for {@link BlobSASSignatureValues}). - * - * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy - */ - identifier; - /** - * Optional. Encryption scope to use when sending requests authorized with this SAS URI. - */ - encryptionScope; - /** - * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}). - * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only - */ - resource; - /** - * The signature for the SAS token. - */ - signature; - /** - * Value for cache-control header in Blob/File Service SAS. - */ - cacheControl; - /** - * Value for content-disposition header in Blob/File Service SAS. - */ - contentDisposition; - /** - * Value for content-encoding header in Blob/File Service SAS. - */ - contentEncoding; - /** - * Value for content-length header in Blob/File Service SAS. - */ - contentLanguage; - /** - * Value for content-type header in Blob/File Service SAS. - */ - contentType; - /** - * Inner value of getter ipRange. - */ - ipRangeInner; - /** - * The Azure Active Directory object ID in GUID format. - * Property of user delegation key. - */ - signedOid; - /** - * The Azure Active Directory tenant ID in GUID format. - * Property of user delegation key. - */ - signedTenantId; - /** - * The date-time the key is active. - * Property of user delegation key. - */ - signedStartsOn; - /** - * The date-time the key expires. - * Property of user delegation key. - */ - signedExpiresOn; - /** - * Abbreviation of the Azure Storage service that accepts the user delegation key. - * Property of user delegation key. - */ - signedService; - /** - * The service version that created the user delegation key. - * Property of user delegation key. - */ - signedVersion; - /** - * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key - * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key - * has the required permissions before granting access but no additional permission check for the user specified in - * this value will be performed. This is only used for User Delegation SAS. - */ - preauthorizedAgentObjectId; - /** - * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access. - * This is only used for User Delegation SAS. - */ - correlationId; - /** - * Optional. IP range allowed for this SAS. - * - * @readonly - */ - get ipRange() { - if (this.ipRangeInner) { - return { - end: this.ipRangeInner.end, - start: this.ipRangeInner.start - }; + function extractZip(file, dest) { + return __awaiter2(this, void 0, void 0, function* () { + if (!file) { + throw new Error("parameter 'file' is required"); } - return void 0; - } - constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) { - this.version = version; - this.signature = signature; - if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") { - this.permissions = permissionsOrOptions.permissions; - this.services = permissionsOrOptions.services; - this.resourceTypes = permissionsOrOptions.resourceTypes; - this.protocol = permissionsOrOptions.protocol; - this.startsOn = permissionsOrOptions.startsOn; - this.expiresOn = permissionsOrOptions.expiresOn; - this.ipRangeInner = permissionsOrOptions.ipRange; - this.identifier = permissionsOrOptions.identifier; - this.encryptionScope = permissionsOrOptions.encryptionScope; - this.resource = permissionsOrOptions.resource; - this.cacheControl = permissionsOrOptions.cacheControl; - this.contentDisposition = permissionsOrOptions.contentDisposition; - this.contentEncoding = permissionsOrOptions.contentEncoding; - this.contentLanguage = permissionsOrOptions.contentLanguage; - this.contentType = permissionsOrOptions.contentType; - if (permissionsOrOptions.userDelegationKey) { - this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId; - this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId; - this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn; - this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn; - this.signedService = permissionsOrOptions.userDelegationKey.signedService; - this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion; - this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId; - this.correlationId = permissionsOrOptions.correlationId; - } + dest = yield _createExtractFolder(dest); + if (IS_WINDOWS) { + yield extractZipWin(file, dest); } else { - this.services = services; - this.resourceTypes = resourceTypes; - this.expiresOn = expiresOn; - this.permissions = permissionsOrOptions; - this.protocol = protocol; - this.startsOn = startsOn; - this.ipRangeInner = ipRange; - this.encryptionScope = encryptionScope; - this.identifier = identifier; - this.resource = resource; - this.cacheControl = cacheControl; - this.contentDisposition = contentDisposition; - this.contentEncoding = contentEncoding; - this.contentLanguage = contentLanguage; - this.contentType = contentType; - if (userDelegationKey) { - this.signedOid = userDelegationKey.signedObjectId; - this.signedTenantId = userDelegationKey.signedTenantId; - this.signedStartsOn = userDelegationKey.signedStartsOn; - this.signedExpiresOn = userDelegationKey.signedExpiresOn; - this.signedService = userDelegationKey.signedService; - this.signedVersion = userDelegationKey.signedVersion; - this.preauthorizedAgentObjectId = preauthorizedAgentObjectId; - this.correlationId = correlationId; - } + yield extractZipNix(file, dest); } - } - /** - * Encodes all SAS query parameters into a string that can be appended to a URL. - * - */ - toString() { - const params = [ - "sv", - "ss", - "srt", - "spr", - "st", - "se", - "sip", - "si", - "ses", - "skoid", - // Signed object ID - "sktid", - // Signed tenant ID - "skt", - // Signed key start time - "ske", - // Signed key expiry time - "sks", - // Signed key service - "skv", - // Signed key version - "sr", - "sp", - "sig", - "rscc", - "rscd", - "rsce", - "rscl", - "rsct", - "saoid", - "scid" - ]; - const queries = []; - for (const param of params) { - switch (param) { - case "sv": - this.tryAppendQueryParameter(queries, param, this.version); - break; - case "ss": - this.tryAppendQueryParameter(queries, param, this.services); - break; - case "srt": - this.tryAppendQueryParameter(queries, param, this.resourceTypes); - break; - case "spr": - this.tryAppendQueryParameter(queries, param, this.protocol); - break; - case "st": - this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0); - break; - case "se": - this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0); - break; - case "sip": - this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0); - break; - case "si": - this.tryAppendQueryParameter(queries, param, this.identifier); - break; - case "ses": - this.tryAppendQueryParameter(queries, param, this.encryptionScope); - break; - case "skoid": - this.tryAppendQueryParameter(queries, param, this.signedOid); - break; - case "sktid": - this.tryAppendQueryParameter(queries, param, this.signedTenantId); - break; - case "skt": - this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0); - break; - case "ske": - this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0); - break; - case "sks": - this.tryAppendQueryParameter(queries, param, this.signedService); - break; - case "skv": - this.tryAppendQueryParameter(queries, param, this.signedVersion); - break; - case "sr": - this.tryAppendQueryParameter(queries, param, this.resource); - break; - case "sp": - this.tryAppendQueryParameter(queries, param, this.permissions); - break; - case "sig": - this.tryAppendQueryParameter(queries, param, this.signature); - break; - case "rscc": - this.tryAppendQueryParameter(queries, param, this.cacheControl); - break; - case "rscd": - this.tryAppendQueryParameter(queries, param, this.contentDisposition); - break; - case "rsce": - this.tryAppendQueryParameter(queries, param, this.contentEncoding); - break; - case "rscl": - this.tryAppendQueryParameter(queries, param, this.contentLanguage); - break; - case "rsct": - this.tryAppendQueryParameter(queries, param, this.contentType); - break; - case "saoid": - this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId); - break; - case "scid": - this.tryAppendQueryParameter(queries, param, this.correlationId); - break; - } + return dest; + }); + } + function extractZipWin(file, dest) { + return __awaiter2(this, void 0, void 0, function* () { + const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, ""); + const escapedDest = dest.replace(/'/g, "''").replace(/"|\n|\r/g, ""); + const pwshPath = yield io6.which("pwsh", false); + if (pwshPath) { + const pwshCommand = [ + `$ErrorActionPreference = 'Stop' ;`, + `try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;`, + `try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`, + `catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force } else { throw $_ } } ;` + ].join(" "); + const args = [ + "-NoLogo", + "-NoProfile", + "-NonInteractive", + "-ExecutionPolicy", + "Unrestricted", + "-Command", + pwshCommand + ]; + core14.debug(`Using pwsh at path: ${pwshPath}`); + yield (0, exec_1.exec)(`"${pwshPath}"`, args); + } else { + const powershellCommand = [ + `$ErrorActionPreference = 'Stop' ;`, + `try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`, + `if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force }`, + `else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }` + ].join(" "); + const args = [ + "-NoLogo", + "-Sta", + "-NoProfile", + "-NonInteractive", + "-ExecutionPolicy", + "Unrestricted", + "-Command", + powershellCommand + ]; + const powershellPath = yield io6.which("powershell", true); + core14.debug(`Using powershell at path: ${powershellPath}`); + yield (0, exec_1.exec)(`"${powershellPath}"`, args); + } + }); + } + function extractZipNix(file, dest) { + return __awaiter2(this, void 0, void 0, function* () { + const unzipPath = yield io6.which("unzip", true); + const args = [file]; + if (!core14.isDebug()) { + args.unshift("-q"); + } + args.unshift("-o"); + yield (0, exec_1.exec)(`"${unzipPath}"`, args, { cwd: dest }); + }); + } + function cacheDir(sourceDir, tool, version, arch) { + return __awaiter2(this, void 0, void 0, function* () { + version = semver9.clean(version) || version; + arch = arch || os2.arch(); + core14.debug(`Caching tool ${tool} ${version} ${arch}`); + core14.debug(`source dir: ${sourceDir}`); + if (!fs8.statSync(sourceDir).isDirectory()) { + throw new Error("sourceDir is not a directory"); } - return queries.join("&"); - } - /** - * A private helper method used to filter and append query key/value pairs into an array. - * - * @param queries - - * @param key - - * @param value - - */ - tryAppendQueryParameter(queries, key, value) { - if (!value) { - return; + const destPath = yield _createToolPath(tool, version, arch); + for (const itemName of fs8.readdirSync(sourceDir)) { + const s = path7.join(sourceDir, itemName); + yield io6.cp(s, destPath, { recursive: true }); } - key = encodeURIComponent(key); - value = encodeURIComponent(value); - if (key.length > 0 && value.length > 0) { - queries.push(`${key}=${value}`); + _completeToolPath(tool, version, arch); + return destPath; + }); + } + function cacheFile(sourceFile, targetFile, tool, version, arch) { + return __awaiter2(this, void 0, void 0, function* () { + version = semver9.clean(version) || version; + arch = arch || os2.arch(); + core14.debug(`Caching tool ${tool} ${version} ${arch}`); + core14.debug(`source file: ${sourceFile}`); + if (!fs8.statSync(sourceFile).isFile()) { + throw new Error("sourceFile is not a file"); } - } - }; - exports2.SASQueryParameters = SASQueryParameters; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js -var require_BlobSASSignatureValues = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters; - exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal; - var BlobSASPermissions_js_1 = require_BlobSASPermissions(); - var ContainerSASPermissions_js_1 = require_ContainerSASPermissions(); - var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); - var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential(); - var SasIPRange_js_1 = require_SasIPRange(); - var SASQueryParameters_js_1 = require_SASQueryParameters(); - var constants_js_1 = require_constants15(); - var utils_common_js_1 = require_utils_common(); - function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) { - return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters; + const destFolder = yield _createToolPath(tool, version, arch); + const destPath = path7.join(destFolder, targetFile); + core14.debug(`destination file ${destPath}`); + yield io6.cp(sourceFile, destPath); + _completeToolPath(tool, version, arch); + return destFolder; + }); } - function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) { - const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION; - const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0; - let userDelegationKeyCredential; - if (sharedKeyCredential === void 0 && accountName !== void 0) { - userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey); + function find2(toolName, versionSpec, arch) { + if (!toolName) { + throw new Error("toolName parameter is required"); } - if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) { - throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName."); + if (!versionSpec) { + throw new Error("versionSpec parameter is required"); } - if (version >= "2020-12-06") { - if (sharedKeyCredential !== void 0) { - return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential); + arch = arch || os2.arch(); + if (!isExplicitVersion(versionSpec)) { + const localVersions = findAllVersions2(toolName, arch); + const match = evaluateVersions(localVersions, versionSpec); + versionSpec = match; + } + let toolPath = ""; + if (versionSpec) { + versionSpec = semver9.clean(versionSpec) || ""; + const cachePath = path7.join(_getCacheDirectory(), toolName, versionSpec, arch); + core14.debug(`checking cache: ${cachePath}`); + if (fs8.existsSync(cachePath) && fs8.existsSync(`${cachePath}.complete`)) { + core14.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch}`); + toolPath = cachePath; } else { - if (version >= "2025-07-05") { - return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential); - } else { - return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential); - } + core14.debug("not found"); } } - if (version >= "2018-11-09") { - if (sharedKeyCredential !== void 0) { - return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential); - } else { - if (version >= "2020-02-10") { - return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential); - } else { - return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential); + return toolPath; + } + function findAllVersions2(toolName, arch) { + const versions = []; + arch = arch || os2.arch(); + const toolPath = path7.join(_getCacheDirectory(), toolName); + if (fs8.existsSync(toolPath)) { + const children = fs8.readdirSync(toolPath); + for (const child of children) { + if (isExplicitVersion(child)) { + const fullPath = path7.join(toolPath, child, arch || ""); + if (fs8.existsSync(fullPath) && fs8.existsSync(`${fullPath}.complete`)) { + versions.push(child); + } } } } - if (version >= "2015-04-05") { - if (sharedKeyCredential !== void 0) { - return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential); - } else { - throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key."); + return versions; + } + function getManifestFromRepo(owner_1, repo_1, auth_1) { + return __awaiter2(this, arguments, void 0, function* (owner, repo, auth2, branch = "master") { + let releases = []; + const treeUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}`; + const http = new httpm.HttpClient("tool-cache"); + const headers = {}; + if (auth2) { + core14.debug("set auth"); + headers.authorization = auth2; } - } - throw new RangeError("'version' must be >= '2015-04-05'."); + const response = yield http.getJson(treeUrl, headers); + if (!response.result) { + return releases; + } + let manifestUrl = ""; + for (const item of response.result.tree) { + if (item.path === "versions-manifest.json") { + manifestUrl = item.url; + break; + } + } + headers["accept"] = "application/vnd.github.VERSION.raw"; + let versionsRaw = yield (yield http.get(manifestUrl, headers)).readBody(); + if (versionsRaw) { + versionsRaw = versionsRaw.replace(/^\uFEFF/, ""); + try { + releases = JSON.parse(versionsRaw); + } catch (_a) { + core14.debug("Invalid json"); + } + } + return releases; + }); } - function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided."); - } - let resource = "c"; - if (blobSASSignatureValues.blobName) { - resource = "b"; - } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + function findFromManifest(versionSpec_1, stable_1, manifest_1) { + return __awaiter2(this, arguments, void 0, function* (versionSpec, stable, manifest, archFilter = os2.arch()) { + const match = yield mm._findMatch(versionSpec, stable, manifest, archFilter); + return match; + }); + } + function _createExtractFolder(dest) { + return __awaiter2(this, void 0, void 0, function* () { + if (!dest) { + dest = path7.join(_getTempDirectory(), crypto2.randomUUID()); } - } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - blobSASSignatureValues.identifier, - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "", - blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "", - blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "", - blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "", - blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "" - ].join("\n"); - const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType), - stringToSign - }; + yield io6.mkdirP(dest); + return dest; + }); } - function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided."); - } - let resource = "c"; - let timestamp2 = blobSASSignatureValues.snapshotTime; - if (blobSASSignatureValues.blobName) { - resource = "b"; - if (blobSASSignatureValues.snapshotTime) { - resource = "bs"; - } else if (blobSASSignatureValues.versionId) { - resource = "bv"; - timestamp2 = blobSASSignatureValues.versionId; + function _createToolPath(tool, version, arch) { + return __awaiter2(this, void 0, void 0, function* () { + const folderPath = path7.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || ""); + core14.debug(`destination ${folderPath}`); + const markerPath = `${folderPath}.complete`; + yield io6.rmRF(folderPath); + yield io6.rmRF(markerPath); + yield io6.mkdirP(folderPath); + return folderPath; + }); + } + function _completeToolPath(tool, version, arch) { + const folderPath = path7.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || ""); + const markerPath = `${folderPath}.complete`; + fs8.writeFileSync(markerPath, ""); + core14.debug("finished caching tool"); + } + function isExplicitVersion(versionSpec) { + const c = semver9.clean(versionSpec) || ""; + core14.debug(`isExplicit: ${c}`); + const valid3 = semver9.valid(c) != null; + core14.debug(`explicit? ${valid3}`); + return valid3; + } + function evaluateVersions(versions, versionSpec) { + let version = ""; + core14.debug(`evaluating ${versions.length} versions`); + versions = versions.sort((a, b) => { + if (semver9.gt(a, b)) { + return 1; } - } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + return -1; + }); + for (let i = versions.length - 1; i >= 0; i--) { + const potential = versions[i]; + const satisfied = semver9.satisfies(potential, versionSpec); + if (satisfied) { + version = potential; + break; } } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - blobSASSignatureValues.identifier, - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - resource, - timestamp2, - blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "", - blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "", - blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "", - blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "", - blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "" - ].join("\n"); - const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType), - stringToSign - }; - } - function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided."); + if (version) { + core14.debug(`matched: ${version}`); + } else { + core14.debug("match not found"); } - let resource = "c"; - let timestamp2 = blobSASSignatureValues.snapshotTime; - if (blobSASSignatureValues.blobName) { - resource = "b"; - if (blobSASSignatureValues.snapshotTime) { - resource = "bs"; - } else if (blobSASSignatureValues.versionId) { - resource = "bv"; - timestamp2 = blobSASSignatureValues.versionId; + return version; + } + function _getCacheDirectory() { + const cacheDirectory = process.env["RUNNER_TOOL_CACHE"] || ""; + (0, assert_1.ok)(cacheDirectory, "Expected RUNNER_TOOL_CACHE to be defined"); + return cacheDirectory; + } + function _getTempDirectory() { + const tempDirectory = process.env["RUNNER_TEMP"] || ""; + (0, assert_1.ok)(tempDirectory, "Expected RUNNER_TEMP to be defined"); + return tempDirectory; + } + function _getGlobal(key, defaultValue) { + const value = global[key]; + return value !== void 0 ? value : defaultValue; + } + function _unique(values) { + return Array.from(new Set(values)); + } + } +}); + +// node_modules/fast-deep-equal/index.js +var require_fast_deep_equal = __commonJS({ + "node_modules/fast-deep-equal/index.js"(exports2, module2) { + "use strict"; + module2.exports = function equal(a, b) { + if (a === b) return true; + if (a && b && typeof a == "object" && typeof b == "object") { + if (a.constructor !== b.constructor) return false; + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0; ) + if (!equal(a[i], b[i])) return false; + return true; + } + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + for (i = length; i-- !== 0; ) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + for (i = length; i-- !== 0; ) { + var key = keys[i]; + if (!equal(a[key], b[key])) return false; } + return true; } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + return a !== a && b !== b; + }; + } +}); + +// node_modules/follow-redirects/debug.js +var require_debug3 = __commonJS({ + "node_modules/follow-redirects/debug.js"(exports2, module2) { + var debug4; + module2.exports = function() { + if (!debug4) { + try { + debug4 = require_src()("follow-redirects"); + } catch (error3) { + } + if (typeof debug4 !== "function") { + debug4 = function() { + }; } } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - blobSASSignatureValues.identifier, - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - resource, - timestamp2, - blobSASSignatureValues.encryptionScope, - blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "", - blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "", - blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "", - blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "", - blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "" - ].join("\n"); - const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope), - stringToSign - }; - } - function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + debug4.apply(null, arguments); + }; + } +}); + +// node_modules/follow-redirects/index.js +var require_follow_redirects = __commonJS({ + "node_modules/follow-redirects/index.js"(exports2, module2) { + var url = require("url"); + var URL2 = url.URL; + var http = require("http"); + var https2 = require("https"); + var Writable = require("stream").Writable; + var assert = require("assert"); + var debug4 = require_debug3(); + (function detectUnsupportedEnvironment() { + var looksLikeNode = typeof process !== "undefined"; + var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined"; + var looksLikeV8 = isFunction(Error.captureStackTrace); + if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) { + console.warn("The follow-redirects package should be excluded from browser builds."); } - let resource = "c"; - let timestamp2 = blobSASSignatureValues.snapshotTime; - if (blobSASSignatureValues.blobName) { - resource = "b"; - if (blobSASSignatureValues.snapshotTime) { - resource = "bs"; - } else if (blobSASSignatureValues.versionId) { - resource = "bv"; - timestamp2 = blobSASSignatureValues.versionId; - } + })(); + var useNativeURL = false; + try { + assert(new URL2("")); + } catch (error3) { + useNativeURL = error3.code === "ERR_INVALID_URL"; + } + var preservedUrlFields = [ + "auth", + "host", + "hostname", + "href", + "path", + "pathname", + "port", + "protocol", + "query", + "search", + "hash" + ]; + var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; + var eventHandlers = /* @__PURE__ */ Object.create(null); + events.forEach(function(event) { + eventHandlers[event] = function(arg1, arg2, arg3) { + this._redirectable.emit(event, arg1, arg2, arg3); + }; + }); + var InvalidUrlError = createErrorType( + "ERR_INVALID_URL", + "Invalid URL", + TypeError + ); + var RedirectionError = createErrorType( + "ERR_FR_REDIRECTION_FAILURE", + "Redirected request failed" + ); + var TooManyRedirectsError = createErrorType( + "ERR_FR_TOO_MANY_REDIRECTS", + "Maximum number of redirects exceeded", + RedirectionError + ); + var MaxBodyLengthExceededError = createErrorType( + "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", + "Request body larger than maxBodyLength limit" + ); + var WriteAfterEndError = createErrorType( + "ERR_STREAM_WRITE_AFTER_END", + "write after end" + ); + var destroy = Writable.prototype.destroy || noop3; + function RedirectableRequest(options, responseCallback) { + Writable.call(this); + this._sanitizeOptions(options); + this._options = options; + this._ended = false; + this._ending = false; + this._redirectCount = 0; + this._redirects = []; + this._requestBodyLength = 0; + this._requestBodyBuffers = []; + if (responseCallback) { + this.on("response", responseCallback); } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + var self2 = this; + this._onNativeResponse = function(response) { + try { + self2._processResponse(response); + } catch (cause) { + self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause })); } - } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - userDelegationKeyCredential.userDelegationKey.signedObjectId, - userDelegationKeyCredential.userDelegationKey.signedTenantId, - userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedService, - userDelegationKeyCredential.userDelegationKey.signedVersion, - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - resource, - timestamp2, - blobSASSignatureValues.cacheControl, - blobSASSignatureValues.contentDisposition, - blobSASSignatureValues.contentEncoding, - blobSASSignatureValues.contentLanguage, - blobSASSignatureValues.contentType - ].join("\n"); - const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey), - stringToSign }; + this._performRequest(); } - function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + RedirectableRequest.prototype = Object.create(Writable.prototype); + RedirectableRequest.prototype.abort = function() { + destroyRequest(this._currentRequest); + this._currentRequest.abort(); + this.emit("abort"); + }; + RedirectableRequest.prototype.destroy = function(error3) { + destroyRequest(this._currentRequest, error3); + destroy.call(this, error3); + return this; + }; + RedirectableRequest.prototype.write = function(data, encoding, callback) { + if (this._ending) { + throw new WriteAfterEndError(); } - let resource = "c"; - let timestamp2 = blobSASSignatureValues.snapshotTime; - if (blobSASSignatureValues.blobName) { - resource = "b"; - if (blobSASSignatureValues.snapshotTime) { - resource = "bs"; - } else if (blobSASSignatureValues.versionId) { - resource = "bv"; - timestamp2 = blobSASSignatureValues.versionId; - } + if (!isString(data) && !isBuffer(data)) { + throw new TypeError("data should be a string, Buffer or Uint8Array"); } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + if (isFunction(encoding)) { + callback = encoding; + encoding = null; + } + if (data.length === 0) { + if (callback) { + callback(); } + return; } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - userDelegationKeyCredential.userDelegationKey.signedObjectId, - userDelegationKeyCredential.userDelegationKey.signedTenantId, - userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedService, - userDelegationKeyCredential.userDelegationKey.signedVersion, - blobSASSignatureValues.preauthorizedAgentObjectId, - void 0, - // agentObjectId - blobSASSignatureValues.correlationId, - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - resource, - timestamp2, - blobSASSignatureValues.cacheControl, - blobSASSignatureValues.contentDisposition, - blobSASSignatureValues.contentEncoding, - blobSASSignatureValues.contentLanguage, - blobSASSignatureValues.contentType - ].join("\n"); - const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId), - stringToSign - }; - } - function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + if (this._requestBodyLength + data.length <= this._options.maxBodyLength) { + this._requestBodyLength += data.length; + this._requestBodyBuffers.push({ data, encoding }); + this._currentRequest.write(data, encoding, callback); + } else { + this.emit("error", new MaxBodyLengthExceededError()); + this.abort(); } - let resource = "c"; - let timestamp2 = blobSASSignatureValues.snapshotTime; - if (blobSASSignatureValues.blobName) { - resource = "b"; - if (blobSASSignatureValues.snapshotTime) { - resource = "bs"; - } else if (blobSASSignatureValues.versionId) { - resource = "bv"; - timestamp2 = blobSASSignatureValues.versionId; + }; + RedirectableRequest.prototype.end = function(data, encoding, callback) { + if (isFunction(data)) { + callback = data; + data = encoding = null; + } else if (isFunction(encoding)) { + callback = encoding; + encoding = null; + } + if (!data) { + this._ended = this._ending = true; + this._currentRequest.end(null, null, callback); + } else { + var self2 = this; + var currentRequest = this._currentRequest; + this.write(data, encoding, function() { + self2._ended = true; + currentRequest.end(null, null, callback); + }); + this._ending = true; + } + }; + RedirectableRequest.prototype.setHeader = function(name, value) { + this._options.headers[name] = value; + this._currentRequest.setHeader(name, value); + }; + RedirectableRequest.prototype.removeHeader = function(name) { + delete this._options.headers[name]; + this._currentRequest.removeHeader(name); + }; + RedirectableRequest.prototype.setTimeout = function(msecs, callback) { + var self2 = this; + function destroyOnTimeout(socket) { + socket.setTimeout(msecs); + socket.removeListener("timeout", socket.destroy); + socket.addListener("timeout", socket.destroy); + } + function startTimer(socket) { + if (self2._timeout) { + clearTimeout(self2._timeout); } + self2._timeout = setTimeout(function() { + self2.emit("timeout"); + clearTimer(); + }, msecs); + destroyOnTimeout(socket); } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); - } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + function clearTimer() { + if (self2._timeout) { + clearTimeout(self2._timeout); + self2._timeout = null; + } + self2.removeListener("abort", clearTimer); + self2.removeListener("error", clearTimer); + self2.removeListener("response", clearTimer); + self2.removeListener("close", clearTimer); + if (callback) { + self2.removeListener("timeout", callback); + } + if (!self2.socket) { + self2._currentRequest.removeListener("socket", startTimer); } } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - userDelegationKeyCredential.userDelegationKey.signedObjectId, - userDelegationKeyCredential.userDelegationKey.signedTenantId, - userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedService, - userDelegationKeyCredential.userDelegationKey.signedVersion, - blobSASSignatureValues.preauthorizedAgentObjectId, - void 0, - // agentObjectId - blobSASSignatureValues.correlationId, - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - resource, - timestamp2, - blobSASSignatureValues.encryptionScope, - blobSASSignatureValues.cacheControl, - blobSASSignatureValues.contentDisposition, - blobSASSignatureValues.contentEncoding, - blobSASSignatureValues.contentLanguage, - blobSASSignatureValues.contentType - ].join("\n"); - const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope), - stringToSign + if (callback) { + this.on("timeout", callback); + } + if (this.socket) { + startTimer(this.socket); + } else { + this._currentRequest.once("socket", startTimer); + } + this.on("socket", destroyOnTimeout); + this.on("abort", clearTimer); + this.on("error", clearTimer); + this.on("response", clearTimer); + this.on("close", clearTimer); + return this; + }; + [ + "flushHeaders", + "getHeader", + "setNoDelay", + "setSocketKeepAlive" + ].forEach(function(method) { + RedirectableRequest.prototype[method] = function(a, b) { + return this._currentRequest[method](a, b); }; - } - function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) { - blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues); - if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) { - throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS."); + }); + ["aborted", "connection", "socket"].forEach(function(property) { + Object.defineProperty(RedirectableRequest.prototype, property, { + get: function() { + return this._currentRequest[property]; + } + }); + }); + RedirectableRequest.prototype._sanitizeOptions = function(options) { + if (!options.headers) { + options.headers = {}; } - let resource = "c"; - let timestamp2 = blobSASSignatureValues.snapshotTime; - if (blobSASSignatureValues.blobName) { - resource = "b"; - if (blobSASSignatureValues.snapshotTime) { - resource = "bs"; - } else if (blobSASSignatureValues.versionId) { - resource = "bv"; - timestamp2 = blobSASSignatureValues.versionId; + if (options.host) { + if (!options.hostname) { + options.hostname = options.host; } + delete options.host; } - let verifiedPermissions; - if (blobSASSignatureValues.permissions) { - if (blobSASSignatureValues.blobName) { - verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + if (!options.pathname && options.path) { + var searchPos = options.path.indexOf("?"); + if (searchPos < 0) { + options.pathname = options.path; } else { - verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString(); + options.pathname = options.path.substring(0, searchPos); + options.search = options.path.substring(searchPos); } } - const stringToSign = [ - verifiedPermissions ? verifiedPermissions : "", - blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "", - blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "", - getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName), - userDelegationKeyCredential.userDelegationKey.signedObjectId, - userDelegationKeyCredential.userDelegationKey.signedTenantId, - userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "", - userDelegationKeyCredential.userDelegationKey.signedService, - userDelegationKeyCredential.userDelegationKey.signedVersion, - blobSASSignatureValues.preauthorizedAgentObjectId, - void 0, - // agentObjectId - blobSASSignatureValues.correlationId, - void 0, - // SignedKeyDelegatedUserTenantId, will be added in a future release. - void 0, - // SignedDelegatedUserObjectId, will be added in future release. - blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "", - blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", - blobSASSignatureValues.version, - resource, - timestamp2, - blobSASSignatureValues.encryptionScope, - blobSASSignatureValues.cacheControl, - blobSASSignatureValues.contentDisposition, - blobSASSignatureValues.contentEncoding, - blobSASSignatureValues.contentLanguage, - blobSASSignatureValues.contentType - ].join("\n"); - const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope), - stringToSign - }; - } - function getCanonicalName(accountName, containerName, blobName) { - const elements = [`/blob/${accountName}/${containerName}`]; - if (blobName) { - elements.push(`/${blobName}`); + }; + RedirectableRequest.prototype._performRequest = function() { + var protocol = this._options.protocol; + var nativeProtocol = this._options.nativeProtocols[protocol]; + if (!nativeProtocol) { + throw new TypeError("Unsupported protocol " + protocol); } - return elements.join(""); - } - function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) { - const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION; - if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") { - throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'."); + if (this._options.agents) { + var scheme = protocol.slice(0, -1); + this._options.agent = this._options.agents[scheme]; } - if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) { - throw RangeError("Must provide 'blobName' when providing 'snapshotTime'."); + var request2 = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse); + request2._redirectable = this; + for (var event of events) { + request2.on(event, eventHandlers[event]); } - if (blobSASSignatureValues.versionId && version < "2019-10-10") { - throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'."); + this._currentUrl = /^\//.test(this._options.path) ? url.format(this._options) : ( + // When making a request to a proxy, […] + // a client MUST send the target URI in absolute-form […]. + this._options.path + ); + if (this._isRedirect) { + var i = 0; + var self2 = this; + var buffers = this._requestBodyBuffers; + (function writeNext(error3) { + if (request2 === self2._currentRequest) { + if (error3) { + self2.emit("error", error3); + } else if (i < buffers.length) { + var buffer = buffers[i++]; + if (!request2.finished) { + request2.write(buffer.data, buffer.encoding, writeNext); + } + } else if (self2._ended) { + request2.end(); + } + } + })(); } - if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) { - throw RangeError("Must provide 'blobName' when providing 'versionId'."); + }; + RedirectableRequest.prototype._processResponse = function(response) { + var statusCode = response.statusCode; + if (this._options.trackRedirects) { + this._redirects.push({ + url: this._currentUrl, + headers: response.headers, + statusCode + }); } - if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") { - throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission."); + var location = response.headers.location; + if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) { + response.responseUrl = this._currentUrl; + response.redirects = this._redirects; + this.emit("response", response); + this._requestBodyBuffers = []; + return; + } + destroyRequest(this._currentRequest); + response.destroy(); + if (++this._redirectCount > this._options.maxRedirects) { + throw new TooManyRedirectsError(); + } + var requestHeaders; + var beforeRedirect = this._options.beforeRedirect; + if (beforeRedirect) { + requestHeaders = Object.assign({ + // The Host header was set by nativeProtocol.request + Host: response.req.getHeader("host") + }, this._options.headers); + } + var method = this._options.method; + if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || // RFC7231§6.4.4: The 303 (See Other) status code indicates that + // the server is redirecting the user agent to a different resource […] + // A user agent can perform a retrieval request targeting that URI + // (a GET or HEAD request if using HTTP) […] + statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) { + this._options.method = "GET"; + this._requestBodyBuffers = []; + removeMatchingHeaders(/^content-/i, this._options.headers); + } + var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); + var currentUrlParts = parseUrl2(this._currentUrl); + var currentHost = currentHostHeader || currentUrlParts.host; + var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url.format(Object.assign(currentUrlParts, { host: currentHost })); + var redirectUrl = resolveUrl(location, currentUrl); + debug4("redirecting to", redirectUrl.href); + this._isRedirect = true; + spreadUrlObject(redirectUrl, this._options); + if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) { + removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers); + } + if (isFunction(beforeRedirect)) { + var responseDetails = { + headers: response.headers, + statusCode + }; + var requestDetails = { + url: currentUrl, + method, + headers: requestHeaders + }; + beforeRedirect(this._options, responseDetails, requestDetails); + this._sanitizeOptions(this._options); + } + this._performRequest(); + }; + function wrap(protocols) { + var exports3 = { + maxRedirects: 21, + maxBodyLength: 10 * 1024 * 1024 + }; + var nativeProtocols = {}; + Object.keys(protocols).forEach(function(scheme) { + var protocol = scheme + ":"; + var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; + var wrappedProtocol = exports3[scheme] = Object.create(nativeProtocol); + function request2(input, options, callback) { + if (isURL(input)) { + input = spreadUrlObject(input); + } else if (isString(input)) { + input = spreadUrlObject(parseUrl2(input)); + } else { + callback = options; + options = validateUrl(input); + input = { protocol }; + } + if (isFunction(options)) { + callback = options; + options = null; + } + options = Object.assign({ + maxRedirects: exports3.maxRedirects, + maxBodyLength: exports3.maxBodyLength + }, input, options); + options.nativeProtocols = nativeProtocols; + if (!isString(options.host) && !isString(options.hostname)) { + options.hostname = "::1"; + } + assert.equal(options.protocol, protocol, "protocol mismatch"); + debug4("options", options); + return new RedirectableRequest(options, callback); + } + function get(input, options, callback) { + var wrappedRequest = wrappedProtocol.request(input, options, callback); + wrappedRequest.end(); + return wrappedRequest; + } + Object.defineProperties(wrappedProtocol, { + request: { value: request2, configurable: true, enumerable: true, writable: true }, + get: { value: get, configurable: true, enumerable: true, writable: true } + }); + }); + return exports3; + } + function noop3() { + } + function parseUrl2(input) { + var parsed; + if (useNativeURL) { + parsed = new URL2(input); + } else { + parsed = validateUrl(url.parse(input)); + if (!isString(parsed.protocol)) { + throw new InvalidUrlError({ input }); + } } - if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") { - throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission."); + return parsed; + } + function resolveUrl(relative, base) { + return useNativeURL ? new URL2(relative, base) : parseUrl2(url.resolve(base, relative)); + } + function validateUrl(input) { + if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) { + throw new InvalidUrlError({ input: input.href || input }); } - if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") { - throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission."); + if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) { + throw new InvalidUrlError({ input: input.href || input }); } - if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") { - throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission."); + return input; + } + function spreadUrlObject(urlObject, target) { + var spread = target || {}; + for (var key of preservedUrlFields) { + spread[key] = urlObject[key]; } - if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) { - throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission."); + if (spread.hostname.startsWith("[")) { + spread.hostname = spread.hostname.slice(1, -1); } - if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) { - throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission."); + if (spread.port !== "") { + spread.port = Number(spread.port); } - if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) { - throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'."); + spread.path = spread.search ? spread.pathname + spread.search : spread.pathname; + return spread; + } + function removeMatchingHeaders(regex, headers) { + var lastValue; + for (var header in headers) { + if (regex.test(header)) { + lastValue = headers[header]; + delete headers[header]; + } } - if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") { - throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS."); + return lastValue === null || typeof lastValue === "undefined" ? void 0 : String(lastValue).trim(); + } + function createErrorType(code, message, baseClass) { + function CustomError(properties) { + if (isFunction(Error.captureStackTrace)) { + Error.captureStackTrace(this, this.constructor); + } + Object.assign(this, properties || {}); + this.code = code; + this.message = this.cause ? message + ": " + this.cause.message : message; } - blobSASSignatureValues.version = version; - return blobSASSignatureValues; + CustomError.prototype = new (baseClass || Error)(); + Object.defineProperties(CustomError.prototype, { + constructor: { + value: CustomError, + enumerable: false + }, + name: { + value: "Error [" + code + "]", + enumerable: false + } + }); + return CustomError; + } + function destroyRequest(request2, error3) { + for (var event of events) { + request2.removeListener(event, eventHandlers[event]); + } + request2.on("error", noop3); + request2.destroy(error3); + } + function isSubdomain(subdomain, domain) { + assert(isString(subdomain) && isString(domain)); + var dot = subdomain.length - domain.length - 1; + return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain); } + function isString(value) { + return typeof value === "string" || value instanceof String; + } + function isFunction(value) { + return typeof value === "function"; + } + function isBuffer(value) { + return typeof value === "object" && "length" in value; + } + function isURL(value) { + return URL2 && value instanceof URL2; + } + module2.exports = wrap({ http, https: https2 }); + module2.exports.wrap = wrap; } }); -// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js -var require_BlobLeaseClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/shared/config.js +var require_config2 = __commonJS({ + "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) { "use strict"; + var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobLeaseClient = void 0; - var core_util_1 = require_commonjs4(); - var constants_js_1 = require_constants15(); - var tracing_js_1 = require_tracing(); - var utils_common_js_1 = require_utils_common(); - var BlobLeaseClient = class { - _leaseId; - _url; - _containerOrBlobOperation; - _isContainer; - /** - * Gets the lease Id. - * - * @readonly - */ - get leaseId() { - return this._leaseId; + exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0; + var os_1 = __importDefault2(require("os")); + var core_1 = require_core(); + function getUploadChunkSize() { + return 8 * 1024 * 1024; + } + exports2.getUploadChunkSize = getUploadChunkSize; + function getRuntimeToken() { + const token = process.env["ACTIONS_RUNTIME_TOKEN"]; + if (!token) { + throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable"); } - /** - * Gets the url. - * - * @readonly - */ - get url() { - return this._url; + return token; + } + exports2.getRuntimeToken = getRuntimeToken; + function getResultsServiceUrl() { + const resultsUrl = process.env["ACTIONS_RESULTS_URL"]; + if (!resultsUrl) { + throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable"); } - /** - * Creates an instance of BlobLeaseClient. - * @param client - The client to make the lease operation requests. - * @param leaseId - Initial proposed lease id. - */ - constructor(client, leaseId) { - const clientContext = client.storageClientContext; - this._url = client.url; - if (client.name === void 0) { - this._isContainer = true; - this._containerOrBlobOperation = clientContext.container; - } else { - this._isContainer = false; - this._containerOrBlobOperation = clientContext.blob; + return new URL(resultsUrl).origin; + } + exports2.getResultsServiceUrl = getResultsServiceUrl; + function isGhes() { + const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com"); + const hostname = ghUrl.hostname.trimEnd().toUpperCase(); + const isGitHubHost = hostname === "GITHUB.COM"; + const isGheHost = hostname.endsWith(".GHE.COM"); + const isLocalHost = hostname.endsWith(".LOCALHOST"); + return !isGitHubHost && !isGheHost && !isLocalHost; + } + exports2.isGhes = isGhes; + function getGitHubWorkspaceDir() { + const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"]; + if (!ghWorkspaceDir) { + throw new Error("Unable to get the GITHUB_WORKSPACE env variable"); + } + return ghWorkspaceDir; + } + exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir; + function getConcurrency() { + const numCPUs = os_1.default.cpus().length; + let concurrencyCap = 32; + if (numCPUs > 4) { + const concurrency = 16 * numCPUs; + concurrencyCap = concurrency > 300 ? 300 : concurrency; + } + const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"]; + if (concurrencyOverride) { + const concurrency = parseInt(concurrencyOverride); + if (isNaN(concurrency) || concurrency < 1) { + throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable"); } - if (!leaseId) { - leaseId = (0, core_util_1.randomUUID)(); + if (concurrency < concurrencyCap) { + (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`); + return concurrency; } - this._leaseId = leaseId; + (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`); + return concurrencyCap; } - /** - * Establishes and manages a lock on a container for delete operations, or on a blob - * for write and delete operations. - * The lock duration can be 15 to 60 seconds, or can be infinite. - * @see https://learn.microsoft.com/rest/api/storageservices/lease-container - * and - * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob - * - * @param duration - Must be between 15 to 60 seconds, or infinite (-1) - * @param options - option to configure lease management operations. - * @returns Response data for acquire lease operation. - */ - async acquireLease(duration, options = {}) { - if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { - throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); - } - return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({ - abortSignal: options.abortSignal, - duration, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - proposedLeaseId: this._leaseId, - tracingOptions: updatedOptions.tracingOptions - })); - }); + return 5; + } + exports2.getConcurrency = getConcurrency; + function getUploadChunkTimeout() { + const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"]; + if (!timeoutVar) { + return 3e5; + } + const timeout = parseInt(timeoutVar); + if (isNaN(timeout)) { + throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable"); + } + return timeout; + } + exports2.getUploadChunkTimeout = getUploadChunkTimeout; + function getMaxArtifactListCount() { + const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000"; + const maxCount = parseInt(maxCountVar); + if (isNaN(maxCount) || maxCount < 1) { + throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable"); + } + return maxCount; + } + exports2.getMaxArtifactListCount = getMaxArtifactListCount; + } +}); + +// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js +var require_timestamp = __commonJS({ + "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.Timestamp = void 0; + var runtime_1 = require_commonjs16(); + var runtime_2 = require_commonjs16(); + var runtime_3 = require_commonjs16(); + var runtime_4 = require_commonjs16(); + var runtime_5 = require_commonjs16(); + var runtime_6 = require_commonjs16(); + var runtime_7 = require_commonjs16(); + var Timestamp$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.Timestamp", [ + { + no: 1, + name: "seconds", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { + no: 2, + name: "nanos", + kind: "scalar", + T: 5 + /*ScalarType.INT32*/ + } + ]); } /** - * To change the ID of the lease. - * @see https://learn.microsoft.com/rest/api/storageservices/lease-container - * and - * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob - * - * @param proposedLeaseId - the proposed new lease Id. - * @param options - option to configure lease management operations. - * @returns Response data for change lease operation. + * Creates a new `Timestamp` for the current time. */ - async changeLease(proposedLeaseId, options = {}) { - if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { - throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); - } - return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, { - abortSignal: options.abortSignal, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); - this._leaseId = proposedLeaseId; - return response; - }); + now() { + const msg = this.create(); + const ms = Date.now(); + msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString(); + msg.nanos = ms % 1e3 * 1e6; + return msg; } /** - * To free the lease if it is no longer needed so that another client may - * immediately acquire a lease against the container or the blob. - * @see https://learn.microsoft.com/rest/api/storageservices/lease-container - * and - * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob - * - * @param options - option to configure lease management operations. - * @returns Response data for release lease operation. + * Converts a `Timestamp` to a JavaScript Date. */ - async releaseLease(options = {}) { - if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { - throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); - } - return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, { - abortSignal: options.abortSignal, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); - }); + toDate(message) { + return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6)); } /** - * To renew the lease. - * @see https://learn.microsoft.com/rest/api/storageservices/lease-container - * and - * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob - * - * @param options - Optional option to configure lease management operations. - * @returns Response data for renew lease operation. + * Converts a JavaScript Date to a `Timestamp`. */ - async renewLease(options = {}) { - if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { - throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); - } - return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => { - return this._containerOrBlobOperation.renewLease(this._leaseId, { - abortSignal: options.abortSignal, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - }); - }); + fromDate(date) { + const msg = this.create(); + const ms = date.getTime(); + msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString(); + msg.nanos = ms % 1e3 * 1e6; + return msg; } /** - * To end the lease but ensure that another client cannot acquire a new lease - * until the current lease period has expired. - * @see https://learn.microsoft.com/rest/api/storageservices/lease-container - * and - * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob - * - * @param breakPeriod - Break period - * @param options - Optional options to configure lease management operations. - * @returns Response data for break lease operation. + * In JSON format, the `Timestamp` type is encoded as a string + * in the RFC 3339 format. */ - async breakLease(breakPeriod, options = {}) { - if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) { - throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable."); + internalJsonWrite(message, options) { + let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3; + if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z")) + throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive."); + if (message.nanos < 0) + throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative."); + let z = "Z"; + if (message.nanos > 0) { + let nanosStr = (message.nanos + 1e9).toString().substring(1); + if (nanosStr.substring(3) === "000000") + z = "." + nanosStr.substring(0, 3) + "Z"; + else if (nanosStr.substring(6) === "000") + z = "." + nanosStr.substring(0, 6) + "Z"; + else + z = "." + nanosStr + "Z"; } - return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => { - const operationOptions = { - abortSignal: options.abortSignal, - breakPeriod, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - }; - return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions)); - }); + return new Date(ms).toISOString().replace(".000Z", z); } - }; - exports2.BlobLeaseClient = BlobLeaseClient; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js -var require_RetriableReadableStream = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.RetriableReadableStream = void 0; - var abort_controller_1 = require_commonjs11(); - var node_stream_1 = require("node:stream"); - var RetriableReadableStream = class extends node_stream_1.Readable { - start; - offset; - end; - getter; - source; - retries = 0; - maxRetryRequests; - onProgress; - options; /** - * Creates an instance of RetriableReadableStream. - * - * @param source - The current ReadableStream returned from getter - * @param getter - A method calling downloading request returning - * a new ReadableStream from specified offset - * @param offset - Offset position in original data source to read - * @param count - How much data in original data source to read - * @param options - + * In JSON format, the `Timestamp` type is encoded as a string + * in the RFC 3339 format. */ - constructor(source, getter, offset, count, options = {}) { - super({ highWaterMark: options.highWaterMark }); - this.getter = getter; - this.source = source; - this.start = offset; - this.offset = offset; - this.end = offset + count - 1; - this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0; - this.onProgress = options.onProgress; - this.options = options; - this.setSourceEventHandlers(); - } - _read() { - this.source.resume(); - } - setSourceEventHandlers() { - this.source.on("data", this.sourceDataHandler); - this.source.on("end", this.sourceErrorOrEndHandler); - this.source.on("error", this.sourceErrorOrEndHandler); - this.source.on("aborted", this.sourceAbortedHandler); + internalJsonRead(json2, options, target) { + if (typeof json2 !== "string") + throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + "."); + let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/); + if (!matches) + throw new Error("Unable to parse Timestamp from JSON. Invalid format."); + let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z")); + if (Number.isNaN(ms)) + throw new Error("Unable to parse Timestamp from JSON. Invalid value."); + if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z")) + throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive."); + if (!target) + target = this.create(); + target.seconds = runtime_6.PbLong.from(ms / 1e3).toString(); + target.nanos = 0; + if (matches[7]) + target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9; + return target; } - removeSourceEventHandlers() { - this.source.removeListener("data", this.sourceDataHandler); - this.source.removeListener("end", this.sourceErrorOrEndHandler); - this.source.removeListener("error", this.sourceErrorOrEndHandler); - this.source.removeListener("aborted", this.sourceAbortedHandler); + create(value) { + const message = { seconds: "0", nanos: 0 }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - sourceDataHandler = (data) => { - if (this.options.doInjectErrorOnce) { - this.options.doInjectErrorOnce = void 0; - this.source.pause(); - this.sourceErrorOrEndHandler(); - this.source.destroy(); - return; - } - this.offset += data.length; - if (this.onProgress) { - this.onProgress({ loadedBytes: this.offset - this.start }); - } - if (!this.push(data)) { - this.source.pause(); - } - }; - sourceAbortedHandler = () => { - const abortError = new abort_controller_1.AbortError("The operation was aborted."); - this.destroy(abortError); - }; - sourceErrorOrEndHandler = (err) => { - if (err && err.name === "AbortError") { - this.destroy(err); - return; - } - this.removeSourceEventHandlers(); - if (this.offset - 1 === this.end) { - this.push(null); - } else if (this.offset <= this.end) { - if (this.retries < this.maxRetryRequests) { - this.retries += 1; - this.getter(this.offset).then((newSource) => { - this.source = newSource; - this.setSourceEventHandlers(); - return; - }).catch((error3) => { - this.destroy(error3); - }); - } else { - this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`)); + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* int64 seconds */ + 1: + message.seconds = reader.int64().toString(); + break; + case /* int32 nanos */ + 2: + message.nanos = reader.int32(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } - } else { - this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`)); } - }; - _destroy(error3, callback) { - this.removeSourceEventHandlers(); - this.source.destroy(); - callback(error3 === null ? void 0 : error3); + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.seconds !== "0") + writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds); + if (message.nanos !== 0) + writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } }; - exports2.RetriableReadableStream = RetriableReadableStream; + exports2.Timestamp = new Timestamp$Type(); } }); -// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js -var require_BlobDownloadResponse = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) { +// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js +var require_wrappers = __commonJS({ + "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobDownloadResponse = void 0; - var core_util_1 = require_commonjs4(); - var RetriableReadableStream_js_1 = require_RetriableReadableStream(); - var BlobDownloadResponse = class { - /** - * Indicates that the service supports - * requests for partial file content. - * - * @readonly - */ - get acceptRanges() { - return this.originalResponse.acceptRanges; - } - /** - * Returns if it was previously specified - * for the file. - * - * @readonly - */ - get cacheControl() { - return this.originalResponse.cacheControl; + exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0; + var runtime_1 = require_commonjs16(); + var runtime_2 = require_commonjs16(); + var runtime_3 = require_commonjs16(); + var runtime_4 = require_commonjs16(); + var runtime_5 = require_commonjs16(); + var runtime_6 = require_commonjs16(); + var runtime_7 = require_commonjs16(); + var DoubleValue$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.DoubleValue", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 1 + /*ScalarType.DOUBLE*/ + } + ]); } /** - * Returns the value that was specified - * for the 'x-ms-content-disposition' header and specifies how to process the - * response. - * - * @readonly + * Encode `DoubleValue` to JSON number. */ - get contentDisposition() { - return this.originalResponse.contentDisposition; + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(2, message.value, "value", false, true); } /** - * Returns the value that was specified - * for the Content-Encoding request header. - * - * @readonly + * Decode `DoubleValue` from JSON number. */ - get contentEncoding() { - return this.originalResponse.contentEncoding; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 1, void 0, "value"); + return target; } - /** - * Returns the value that was specified - * for the Content-Language request header. - * - * @readonly - */ - get contentLanguage() { - return this.originalResponse.contentLanguage; + create(value) { + const message = { value: 0 }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - /** - * The current sequence number for a - * page blob. This header is not returned for block blobs or append blobs. - * - * @readonly - */ - get blobSequenceNumber() { - return this.originalResponse.blobSequenceNumber; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* double value */ + 1: + message.value = reader.double(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * The blob's type. Possible values include: - * 'BlockBlob', 'PageBlob', 'AppendBlob'. - * - * @readonly - */ - get blobType() { - return this.originalResponse.blobType; + internalBinaryWrite(message, writer, options) { + if (message.value !== 0) + writer.tag(1, runtime_3.WireType.Bit64).double(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * The number of bytes present in the - * response body. - * - * @readonly - */ - get contentLength() { - return this.originalResponse.contentLength; + }; + exports2.DoubleValue = new DoubleValue$Type(); + var FloatValue$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.FloatValue", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 2 + /*ScalarType.FLOAT*/ + } + ]); } /** - * If the file has an MD5 hash and the - * request is to read the full file, this response header is returned so that - * the client can check for message content integrity. If the request is to - * read a specified range and the 'x-ms-range-get-content-md5' is set to - * true, then the request returns an MD5 hash for the range, as long as the - * range size is less than or equal to 4 MB. If neither of these sets of - * conditions is true, then no value is returned for the 'Content-MD5' - * header. - * - * @readonly + * Encode `FloatValue` to JSON number. */ - get contentMD5() { - return this.originalResponse.contentMD5; + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(1, message.value, "value", false, true); } /** - * Indicates the range of bytes returned if - * the client requested a subset of the file by setting the Range request - * header. - * - * @readonly + * Decode `FloatValue` from JSON number. */ - get contentRange() { - return this.originalResponse.contentRange; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 1, void 0, "value"); + return target; } - /** - * The content type specified for the file. - * The default content type is 'application/octet-stream' - * - * @readonly - */ - get contentType() { - return this.originalResponse.contentType; + create(value) { + const message = { value: 0 }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - /** - * Conclusion time of the last attempted - * Copy File operation where this file was the destination file. This value - * can specify the time of a completed, aborted, or failed copy attempt. - * - * @readonly - */ - get copyCompletedOn() { - return this.originalResponse.copyCompletedOn; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* float value */ + 1: + message.value = reader.float(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * String identifier for the last attempted Copy - * File operation where this file was the destination file. - * - * @readonly - */ - get copyId() { - return this.originalResponse.copyId; + internalBinaryWrite(message, writer, options) { + if (message.value !== 0) + writer.tag(1, runtime_3.WireType.Bit32).float(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * Contains the number of bytes copied and - * the total bytes in the source in the last attempted Copy File operation - * where this file was the destination file. Can show between 0 and - * Content-Length bytes copied. - * - * @readonly - */ - get copyProgress() { - return this.originalResponse.copyProgress; + }; + exports2.FloatValue = new FloatValue$Type(); + var Int64Value$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.Int64Value", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + } + ]); } /** - * URL up to 2KB in length that specifies the - * source file used in the last attempted Copy File operation where this file - * was the destination file. - * - * @readonly + * Encode `Int64Value` to JSON string. */ - get copySource() { - return this.originalResponse.copySource; + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true); } /** - * State of the copy operation - * identified by 'x-ms-copy-id'. Possible values include: 'pending', - * 'success', 'aborted', 'failed' - * - * @readonly + * Decode `Int64Value` from JSON string. */ - get copyStatus() { - return this.originalResponse.copyStatus; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value"); + return target; } - /** - * Only appears when - * x-ms-copy-status is failed or pending. Describes cause of fatal or - * non-fatal copy operation failure. - * - * @readonly - */ - get copyStatusDescription() { - return this.originalResponse.copyStatusDescription; + create(value) { + const message = { value: "0" }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - /** - * When a blob is leased, - * specifies whether the lease is of infinite or fixed duration. Possible - * values include: 'infinite', 'fixed'. - * - * @readonly - */ - get leaseDuration() { - return this.originalResponse.leaseDuration; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* int64 value */ + 1: + message.value = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * Lease state of the blob. Possible - * values include: 'available', 'leased', 'expired', 'breaking', 'broken'. - * - * @readonly - */ - get leaseState() { - return this.originalResponse.leaseState; + internalBinaryWrite(message, writer, options) { + if (message.value !== "0") + writer.tag(1, runtime_3.WireType.Varint).int64(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * The current lease status of the - * blob. Possible values include: 'locked', 'unlocked'. - * - * @readonly - */ - get leaseStatus() { - return this.originalResponse.leaseStatus; + }; + exports2.Int64Value = new Int64Value$Type(); + var UInt64Value$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.UInt64Value", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 4 + /*ScalarType.UINT64*/ + } + ]); } /** - * A UTC date/time value generated by the service that - * indicates the time at which the response was initiated. - * - * @readonly + * Encode `UInt64Value` to JSON string. */ - get date() { - return this.originalResponse.date; + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true); } /** - * The number of committed blocks - * present in the blob. This header is returned only for append blobs. - * - * @readonly + * Decode `UInt64Value` from JSON string. */ - get blobCommittedBlockCount() { - return this.originalResponse.blobCommittedBlockCount; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value"); + return target; } - /** - * The ETag contains a value that you can use to - * perform operations conditionally, in quotes. - * - * @readonly - */ - get etag() { - return this.originalResponse.etag; + create(value) { + const message = { value: "0" }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - /** - * The number of tags associated with the blob - * - * @readonly - */ - get tagCount() { - return this.originalResponse.tagCount; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* uint64 value */ + 1: + message.value = reader.uint64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * The error code. - * - * @readonly - */ - get errorCode() { - return this.originalResponse.errorCode; + internalBinaryWrite(message, writer, options) { + if (message.value !== "0") + writer.tag(1, runtime_3.WireType.Varint).uint64(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * The value of this header is set to - * true if the file data and application metadata are completely encrypted - * using the specified algorithm. Otherwise, the value is set to false (when - * the file is unencrypted, or if only parts of the file/application metadata - * are encrypted). - * - * @readonly - */ - get isServerEncrypted() { - return this.originalResponse.isServerEncrypted; + }; + exports2.UInt64Value = new UInt64Value$Type(); + var Int32Value$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.Int32Value", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 5 + /*ScalarType.INT32*/ + } + ]); } /** - * If the blob has a MD5 hash, and if - * request contains range header (Range or x-ms-range), this response header - * is returned with the value of the whole blob's MD5 value. This value may - * or may not be equal to the value returned in Content-MD5 header, with the - * latter calculated from the requested range. - * - * @readonly + * Encode `Int32Value` to JSON string. */ - get blobContentMD5() { - return this.originalResponse.blobContentMD5; + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(5, message.value, "value", false, true); } /** - * Returns the date and time the file was last - * modified. Any operation that modifies the file or its properties updates - * the last modified time. - * - * @readonly + * Decode `Int32Value` from JSON string. */ - get lastModified() { - return this.originalResponse.lastModified; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 5, void 0, "value"); + return target; } - /** - * Returns the UTC date and time generated by the service that indicates the time at which the blob was - * last read or written to. - * - * @readonly - */ - get lastAccessed() { - return this.originalResponse.lastAccessed; + create(value) { + const message = { value: 0 }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - /** - * Returns the date and time the blob was created. - * - * @readonly - */ - get createdOn() { - return this.originalResponse.createdOn; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* int32 value */ + 1: + message.value = reader.int32(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * A name-value pair - * to associate with a file storage object. - * - * @readonly - */ - get metadata() { - return this.originalResponse.metadata; + internalBinaryWrite(message, writer, options) { + if (message.value !== 0) + writer.tag(1, runtime_3.WireType.Varint).int32(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * This header uniquely identifies the request - * that was made and can be used for troubleshooting the request. - * - * @readonly - */ - get requestId() { - return this.originalResponse.requestId; + }; + exports2.Int32Value = new Int32Value$Type(); + var UInt32Value$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.UInt32Value", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 13 + /*ScalarType.UINT32*/ + } + ]); } /** - * If a client request id header is sent in the request, this header will be present in the - * response with the same value. - * - * @readonly + * Encode `UInt32Value` to JSON string. */ - get clientRequestId() { - return this.originalResponse.clientRequestId; + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(13, message.value, "value", false, true); } /** - * Indicates the version of the Blob service used - * to execute the request. - * - * @readonly + * Decode `UInt32Value` from JSON string. */ - get version() { - return this.originalResponse.version; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 13, void 0, "value"); + return target; } - /** - * Indicates the versionId of the downloaded blob version. - * - * @readonly - */ - get versionId() { - return this.originalResponse.versionId; + create(value) { + const message = { value: 0 }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - /** - * Indicates whether version of this blob is a current version. - * - * @readonly - */ - get isCurrentVersion() { - return this.originalResponse.isCurrentVersion; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* uint32 value */ + 1: + message.value = reader.uint32(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned - * when the blob was encrypted with a customer-provided key. - * - * @readonly - */ - get encryptionKeySha256() { - return this.originalResponse.encryptionKeySha256; + internalBinaryWrite(message, writer, options) { + if (message.value !== 0) + writer.tag(1, runtime_3.WireType.Varint).uint32(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to - * true, then the request returns a crc64 for the range, as long as the range size is less than - * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is - * specified in the same request, it will fail with 400(Bad Request) - */ - get contentCrc64() { - return this.originalResponse.contentCrc64; + }; + exports2.UInt32Value = new UInt32Value$Type(); + var BoolValue$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.BoolValue", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + } + ]); } /** - * Object Replication Policy Id of the destination blob. - * - * @readonly + * Encode `BoolValue` to JSON bool. */ - get objectReplicationDestinationPolicyId() { - return this.originalResponse.objectReplicationDestinationPolicyId; + internalJsonWrite(message, options) { + return message.value; } /** - * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob. - * - * @readonly + * Decode `BoolValue` from JSON bool. */ - get objectReplicationSourceProperties() { - return this.originalResponse.objectReplicationSourceProperties; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 8, void 0, "value"); + return target; } - /** - * If this blob has been sealed. - * - * @readonly - */ - get isSealed() { - return this.originalResponse.isSealed; + create(value) { + const message = { value: false }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; } - /** - * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire. - * - * @readonly - */ - get immutabilityPolicyExpiresOn() { - return this.originalResponse.immutabilityPolicyExpiresOn; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool value */ + 1: + message.value = reader.bool(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * Indicates immutability policy mode. - * - * @readonly - */ - get immutabilityPolicyMode() { - return this.originalResponse.immutabilityPolicyMode; + internalBinaryWrite(message, writer, options) { + if (message.value !== false) + writer.tag(1, runtime_3.WireType.Varint).bool(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * Indicates if a legal hold is present on the blob. - * - * @readonly - */ - get legalHold() { - return this.originalResponse.legalHold; + }; + exports2.BoolValue = new BoolValue$Type(); + var StringValue$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.StringValue", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); } /** - * The response body as a browser Blob. - * Always undefined in node.js. - * - * @readonly + * Encode `StringValue` to JSON string. */ - get contentAsBlob() { - return this.originalResponse.blobBody; + internalJsonWrite(message, options) { + return message.value; } /** - * The response body as a node.js Readable stream. - * Always undefined in the browser. - * - * It will automatically retry when internal read stream unexpected ends. - * - * @readonly + * Decode `StringValue` from JSON string. */ - get readableStreamBody() { - return core_util_1.isNodeLike ? this.blobDownloadStream : void 0; + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 9, void 0, "value"); + return target; + } + create(value) { + const message = { value: "" }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string value */ + 1: + message.value = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.value !== "") + writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } + }; + exports2.StringValue = new StringValue$Type(); + var BytesValue$Type = class extends runtime_7.MessageType { + constructor() { + super("google.protobuf.BytesValue", [ + { + no: 1, + name: "value", + kind: "scalar", + T: 12 + /*ScalarType.BYTES*/ + } + ]); } /** - * The HTTP response. + * Encode `BytesValue` to JSON string. */ - get _response() { - return this.originalResponse._response; + internalJsonWrite(message, options) { + return this.refJsonWriter.scalar(12, message.value, "value", false, true); } - originalResponse; - blobDownloadStream; /** - * Creates an instance of BlobDownloadResponse. - * - * @param originalResponse - - * @param getter - - * @param offset - - * @param count - - * @param options - + * Decode `BytesValue` from JSON string. */ - constructor(originalResponse, getter, offset, count, options = {}) { - this.originalResponse = originalResponse; - this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options); + internalJsonRead(json2, options, target) { + if (!target) + target = this.create(); + target.value = this.refJsonReader.scalar(json2, 12, void 0, "value"); + return target; + } + create(value) { + const message = { value: new Uint8Array(0) }; + globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_5.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bytes value */ + 1: + message.value = reader.bytes(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.value.length) + writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } }; - exports2.BlobDownloadResponse = BlobDownloadResponse; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js -var require_AvroConstants = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0; - exports2.AVRO_SYNC_MARKER_SIZE = 16; - exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]); - exports2.AVRO_CODEC_KEY = "avro.codec"; - exports2.AVRO_SCHEMA_KEY = "avro.schema"; + exports2.BytesValue = new BytesValue$Type(); } }); -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js -var require_AvroParser = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) { +// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js +var require_artifact = __commonJS({ + "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AvroType = exports2.AvroParser = void 0; - var AvroParser = class _AvroParser { - /** - * Reads a fixed number of bytes from the stream. - * - * @param stream - - * @param length - - * @param options - - */ - static async readFixedBytes(stream, length, options = {}) { - const bytes = await stream.read(length, { abortSignal: options.abortSignal }); - if (bytes.length !== length) { - throw new Error("Hit stream end."); - } - return bytes; + exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0; + var runtime_rpc_1 = require_commonjs17(); + var runtime_1 = require_commonjs16(); + var runtime_2 = require_commonjs16(); + var runtime_3 = require_commonjs16(); + var runtime_4 = require_commonjs16(); + var runtime_5 = require_commonjs16(); + var wrappers_1 = require_wrappers(); + var wrappers_2 = require_wrappers(); + var timestamp_1 = require_timestamp(); + var MigrateArtifactRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.MigrateArtifactRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp } + ]); } - /** - * Reads a single byte from the stream. - * - * @param stream - - * @param options - - */ - static async readByte(stream, options = {}) { - const buf = await _AvroParser.readFixedBytes(stream, 1, options); - return buf[0]; + create(value) { + const message = { workflowRunBackendId: "", name: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - // int and long are stored in variable-length zig-zag coding. - // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt - // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types - static async readZigZagLong(stream, options = {}) { - let zigZagEncoded = 0; - let significanceInBit = 0; - let byte, haveMoreByte, significanceInFloat; - do { - byte = await _AvroParser.readByte(stream, options); - haveMoreByte = byte & 128; - zigZagEncoded |= (byte & 127) << significanceInBit; - significanceInBit += 7; - } while (haveMoreByte && significanceInBit < 28); - if (haveMoreByte) { - zigZagEncoded = zigZagEncoded; - significanceInFloat = 268435456; - do { - byte = await _AvroParser.readByte(stream, options); - zigZagEncoded += (byte & 127) * significanceInFloat; - significanceInFloat *= 128; - } while (byte & 128); - const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2; - if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) { - throw new Error("Integer overflow."); + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string name */ + 2: + message.name = reader.string(); + break; + case /* google.protobuf.Timestamp expires_at */ + 3: + message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } - return res; } - return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1); - } - static async readLong(stream, options = {}) { - return _AvroParser.readZigZagLong(stream, options); - } - static async readInt(stream, options = {}) { - return _AvroParser.readZigZagLong(stream, options); - } - static async readNull() { - return null; + return message; } - static async readBoolean(stream, options = {}) { - const b = await _AvroParser.readByte(stream, options); - if (b === 1) { - return true; - } else if (b === 0) { - return false; - } else { - throw new Error("Byte was not a boolean."); - } + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.name !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name); + if (message.expiresAt) + timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join(); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - static async readFloat(stream, options = {}) { - const u8arr = await _AvroParser.readFixedBytes(stream, 4, options); - const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength); - return view.getFloat32(0, true); + }; + exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type(); + var MigrateArtifactResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.MigrateArtifactResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "signed_upload_url", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); } - static async readDouble(stream, options = {}) { - const u8arr = await _AvroParser.readFixedBytes(stream, 8, options); - const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength); - return view.getFloat64(0, true); + create(value) { + const message = { ok: false, signedUploadUrl: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - static async readBytes(stream, options = {}) { - const size = await _AvroParser.readLong(stream, options); - if (size < 0) { - throw new Error("Bytes size was negative."); + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* string signed_upload_url */ + 2: + message.signedUploadUrl = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } } - return stream.read(size, { abortSignal: options.abortSignal }); - } - static async readString(stream, options = {}) { - const u8arr = await _AvroParser.readBytes(stream, options); - const utf8decoder = new TextDecoder(); - return utf8decoder.decode(u8arr); - } - static async readMapPair(stream, readItemMethod, options = {}) { - const key = await _AvroParser.readString(stream, options); - const value = await readItemMethod(stream, options); - return { key, value }; + return message; } - static async readMap(stream, readItemMethod, options = {}) { - const readPairMethod = (s, opts = {}) => { - return _AvroParser.readMapPair(s, readItemMethod, opts); - }; - const pairs2 = await _AvroParser.readArray(stream, readPairMethod, options); - const dict = {}; - for (const pair of pairs2) { - dict[pair.key] = pair.value; - } - return dict; + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.signedUploadUrl !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - static async readArray(stream, readItemMethod, options = {}) { - const items = []; - for (let count = await _AvroParser.readLong(stream, options); count !== 0; count = await _AvroParser.readLong(stream, options)) { - if (count < 0) { - await _AvroParser.readLong(stream, options); - count = -count; - } - while (count--) { - const item = await readItemMethod(stream, options); - items.push(item); + }; + exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type(); + var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "size", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ } - } - return items; + ]); } - }; - exports2.AvroParser = AvroParser; - var AvroComplex; - (function(AvroComplex2) { - AvroComplex2["RECORD"] = "record"; - AvroComplex2["ENUM"] = "enum"; - AvroComplex2["ARRAY"] = "array"; - AvroComplex2["MAP"] = "map"; - AvroComplex2["UNION"] = "union"; - AvroComplex2["FIXED"] = "fixed"; - })(AvroComplex || (AvroComplex = {})); - var AvroPrimitive; - (function(AvroPrimitive2) { - AvroPrimitive2["NULL"] = "null"; - AvroPrimitive2["BOOLEAN"] = "boolean"; - AvroPrimitive2["INT"] = "int"; - AvroPrimitive2["LONG"] = "long"; - AvroPrimitive2["FLOAT"] = "float"; - AvroPrimitive2["DOUBLE"] = "double"; - AvroPrimitive2["BYTES"] = "bytes"; - AvroPrimitive2["STRING"] = "string"; - })(AvroPrimitive || (AvroPrimitive = {})); - var AvroType = class _AvroType { - /** - * Determines the AvroType from the Avro Schema. - */ - // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types - static fromSchema(schema2) { - if (typeof schema2 === "string") { - return _AvroType.fromStringSchema(schema2); - } else if (Array.isArray(schema2)) { - return _AvroType.fromArraySchema(schema2); - } else { - return _AvroType.fromObjectSchema(schema2); - } + create(value) { + const message = { workflowRunBackendId: "", name: "", size: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - static fromStringSchema(schema2) { - switch (schema2) { - case AvroPrimitive.NULL: - case AvroPrimitive.BOOLEAN: - case AvroPrimitive.INT: - case AvroPrimitive.LONG: - case AvroPrimitive.FLOAT: - case AvroPrimitive.DOUBLE: - case AvroPrimitive.BYTES: - case AvroPrimitive.STRING: - return new AvroPrimitiveType(schema2); - default: - throw new Error(`Unexpected Avro type ${schema2}`); + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string name */ + 2: + message.name = reader.string(); + break; + case /* int64 size */ + 3: + message.size = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } } + return message; } - static fromArraySchema(schema2) { - return new AvroUnionType(schema2.map(_AvroType.fromSchema)); - } - static fromObjectSchema(schema2) { - const type2 = schema2.type; - try { - return _AvroType.fromStringSchema(type2); - } catch { - } - switch (type2) { - case AvroComplex.RECORD: - if (schema2.aliases) { - throw new Error(`aliases currently is not supported, schema: ${schema2}`); - } - if (!schema2.name) { - throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`); - } - const fields = {}; - if (!schema2.fields) { - throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`); - } - for (const field of schema2.fields) { - fields[field.name] = _AvroType.fromSchema(field.type); - } - return new AvroRecordType(fields, schema2.name); - case AvroComplex.ENUM: - if (schema2.aliases) { - throw new Error(`aliases currently is not supported, schema: ${schema2}`); - } - if (!schema2.symbols) { - throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`); - } - return new AvroEnumType(schema2.symbols); - case AvroComplex.MAP: - if (!schema2.values) { - throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`); - } - return new AvroMapType(_AvroType.fromSchema(schema2.values)); - case AvroComplex.ARRAY: - // Unused today - case AvroComplex.FIXED: - // Unused today - default: - throw new Error(`Unexpected Avro type ${type2} in ${schema2}`); - } + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.name !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name); + if (message.size !== "0") + writer.tag(3, runtime_1.WireType.Varint).int64(message.size); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } }; - exports2.AvroType = AvroType; - var AvroPrimitiveType = class extends AvroType { - _primitive; - constructor(primitive) { - super(); - this._primitive = primitive; + exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type(); + var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "artifact_id", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + } + ]); } - // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types - read(stream, options = {}) { - switch (this._primitive) { - case AvroPrimitive.NULL: - return AvroParser.readNull(); - case AvroPrimitive.BOOLEAN: - return AvroParser.readBoolean(stream, options); - case AvroPrimitive.INT: - return AvroParser.readInt(stream, options); - case AvroPrimitive.LONG: - return AvroParser.readLong(stream, options); - case AvroPrimitive.FLOAT: - return AvroParser.readFloat(stream, options); - case AvroPrimitive.DOUBLE: - return AvroParser.readDouble(stream, options); - case AvroPrimitive.BYTES: - return AvroParser.readBytes(stream, options); - case AvroPrimitive.STRING: - return AvroParser.readString(stream, options); - default: - throw new Error("Unknown Avro Primitive"); - } + create(value) { + const message = { ok: false, artifactId: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - }; - var AvroEnumType = class extends AvroType { - _symbols; - constructor(symbols) { - super(); - this._symbols = symbols; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* int64 artifact_id */ + 2: + message.artifactId = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types - async read(stream, options = {}) { - const value = await AvroParser.readInt(stream, options); - return this._symbols[value]; + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.artifactId !== "0") + writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } }; - var AvroUnionType = class extends AvroType { - _types; - constructor(types) { - super(); - this._types = types; + exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type(); + var CreateArtifactRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.CreateArtifactRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "workflow_job_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }, + { + no: 5, + name: "version", + kind: "scalar", + T: 5 + /*ScalarType.INT32*/ + } + ]); } - async read(stream, options = {}) { - const typeIndex = await AvroParser.readInt(stream, options); - return this._types[typeIndex].read(stream, options); + create(value) { + const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - }; - var AvroMapType = class extends AvroType { - _itemType; - constructor(itemType) { - super(); - this._itemType = itemType; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string workflow_job_run_backend_id */ + 2: + message.workflowJobRunBackendId = reader.string(); + break; + case /* string name */ + 3: + message.name = reader.string(); + break; + case /* google.protobuf.Timestamp expires_at */ + 4: + message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt); + break; + case /* int32 version */ + 5: + message.version = reader.int32(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types - read(stream, options = {}) { - const readItemMethod = (s, opts) => { - return this._itemType.read(s, opts); - }; - return AvroParser.readMap(stream, readItemMethod, options); + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.workflowJobRunBackendId !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId); + if (message.name !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name); + if (message.expiresAt) + timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join(); + if (message.version !== 0) + writer.tag(5, runtime_1.WireType.Varint).int32(message.version); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } }; - var AvroRecordType = class extends AvroType { - _name; - _fields; - constructor(fields, name) { - super(); - this._fields = fields; - this._name = name; + exports2.CreateArtifactRequest = new CreateArtifactRequest$Type(); + var CreateArtifactResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.CreateArtifactResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "signed_upload_url", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); } - // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types - async read(stream, options = {}) { - const record = {}; - record["$schema"] = this._name; - for (const key in this._fields) { - if (Object.prototype.hasOwnProperty.call(this._fields, key)) { - record[key] = await this._fields[key].read(stream, options); + create(value) { + const message = { ok: false, signedUploadUrl: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; + } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* string signed_upload_url */ + 2: + message.signedUploadUrl = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } - return record; - } - }; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js -var require_utils_common3 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.arraysEqual = arraysEqual; - function arraysEqual(a, b) { - if (a === b) - return true; - if (a == null || b == null) - return false; - if (a.length !== b.length) - return false; - for (let i = 0; i < a.length; ++i) { - if (a[i] !== b[i]) - return false; + return message; } - return true; - } - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js -var require_AvroReader = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AvroReader = void 0; - var AvroConstants_js_1 = require_AvroConstants(); - var AvroParser_js_1 = require_AvroParser(); - var utils_common_js_1 = require_utils_common3(); - var AvroReader = class { - _dataStream; - _headerStream; - _syncMarker; - _metadata; - _itemType; - _itemsRemainingInBlock; - // Remembers where we started if partial data stream was provided. - _initialBlockOffset; - /// The byte offset within the Avro file (both header and data) - /// of the start of the current block. - _blockOffset; - get blockOffset() { - return this._blockOffset; + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.signedUploadUrl !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - _objectIndex; - get objectIndex() { - return this._objectIndex; + }; + exports2.CreateArtifactResponse = new CreateArtifactResponse$Type(); + var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeArtifactRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "workflow_job_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 4, + name: "size", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue } + ]); } - _initialized; - constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) { - this._dataStream = dataStream; - this._headerStream = headerStream || dataStream; - this._initialized = false; - this._blockOffset = currentBlockOffset || 0; - this._objectIndex = indexWithinCurrentBlock || 0; - this._initialBlockOffset = currentBlockOffset || 0; + create(value) { + const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - async initialize(options = {}) { - const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, { - abortSignal: options.abortSignal - }); - if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) { - throw new Error("Stream is not an Avro file."); - } - this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, { - abortSignal: options.abortSignal - }); - const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY]; - if (!(codec === void 0 || codec === null || codec === "null")) { - throw new Error("Codecs are not supported"); - } - this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, { - abortSignal: options.abortSignal - }); - const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]); - this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2); - if (this._blockOffset === 0) { - this._blockOffset = this._initialBlockOffset + this._dataStream.position; - } - this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, { - abortSignal: options.abortSignal - }); - await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal }); - this._initialized = true; - if (this._objectIndex && this._objectIndex > 0) { - for (let i = 0; i < this._objectIndex; i++) { - await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal }); - this._itemsRemainingInBlock--; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string workflow_job_run_backend_id */ + 2: + message.workflowJobRunBackendId = reader.string(); + break; + case /* string name */ + 3: + message.name = reader.string(); + break; + case /* int64 size */ + 4: + message.size = reader.int64().toString(); + break; + case /* google.protobuf.StringValue hash */ + 5: + message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } + return message; } - hasNext() { - return !this._initialized || this._itemsRemainingInBlock > 0; - } - async *parseObjects(options = {}) { - if (!this._initialized) { - await this.initialize(options); - } - while (this.hasNext()) { - const result = await this._itemType.read(this._dataStream, { - abortSignal: options.abortSignal - }); - this._itemsRemainingInBlock--; - this._objectIndex++; - if (this._itemsRemainingInBlock === 0) { - const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, { - abortSignal: options.abortSignal - }); - this._blockOffset = this._initialBlockOffset + this._dataStream.position; - this._objectIndex = 0; - if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) { - throw new Error("Stream is not a valid Avro file."); - } - try { - this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, { - abortSignal: options.abortSignal - }); - } catch { - this._itemsRemainingInBlock = 0; - } - if (this._itemsRemainingInBlock > 0) { - await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal }); - } - } - yield result; - } + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.workflowJobRunBackendId !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId); + if (message.name !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name); + if (message.size !== "0") + writer.tag(4, runtime_1.WireType.Varint).int64(message.size); + if (message.hash) + wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join(); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } }; - exports2.AvroReader = AvroReader; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js -var require_AvroReadable = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AvroReadable = void 0; - var AvroReadable = class { - }; - exports2.AvroReadable = AvroReadable; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js -var require_AvroReadableFromStream = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AvroReadableFromStream = void 0; - var AvroReadable_js_1 = require_AvroReadable(); - var abort_controller_1 = require_commonjs11(); - var buffer_1 = require("buffer"); - var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted."); - var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable { - _position; - _readable; - toUint8Array(data) { - if (typeof data === "string") { - return buffer_1.Buffer.from(data); - } - return data; - } - constructor(readable) { - super(); - this._readable = readable; - this._position = 0; + exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type(); + var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.FinalizeArtifactResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "artifact_id", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + } + ]); } - get position() { - return this._position; + create(value) { + const message = { ok: false, artifactId: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - async read(size, options = {}) { - if (options.abortSignal?.aborted) { - throw ABORT_ERROR; - } - if (size < 0) { - throw new Error(`size parameter should be positive: ${size}`); - } - if (size === 0) { - return new Uint8Array(); - } - if (!this._readable.readable) { - throw new Error("Stream no longer readable."); - } - const chunk = this._readable.read(size); - if (chunk) { - this._position += chunk.length; - return this.toUint8Array(chunk); - } else { - return new Promise((resolve5, reject) => { - const cleanUp = () => { - this._readable.removeListener("readable", readableCallback); - this._readable.removeListener("error", rejectCallback); - this._readable.removeListener("end", rejectCallback); - this._readable.removeListener("close", rejectCallback); - if (options.abortSignal) { - options.abortSignal.removeEventListener("abort", abortHandler); - } - }; - const readableCallback = () => { - const callbackChunk = this._readable.read(size); - if (callbackChunk) { - this._position += callbackChunk.length; - cleanUp(); - resolve5(this.toUint8Array(callbackChunk)); - } - }; - const rejectCallback = () => { - cleanUp(); - reject(); - }; - const abortHandler = () => { - cleanUp(); - reject(ABORT_ERROR); - }; - this._readable.on("readable", readableCallback); - this._readable.once("error", rejectCallback); - this._readable.once("end", rejectCallback); - this._readable.once("close", rejectCallback); - if (options.abortSignal) { - options.abortSignal.addEventListener("abort", abortHandler); - } - }); + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* int64 artifact_id */ + 2: + message.artifactId = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } } + return message; + } + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.artifactId !== "0") + writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } }; - exports2.AvroReadableFromStream = AvroReadableFromStream; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js -var require_internal_avro = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0; - var AvroReader_js_1 = require_AvroReader(); - Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() { - return AvroReader_js_1.AvroReader; - } }); - var AvroReadable_js_1 = require_AvroReadable(); - Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() { - return AvroReadable_js_1.AvroReadable; - } }); - var AvroReadableFromStream_js_1 = require_AvroReadableFromStream(); - Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() { - return AvroReadableFromStream_js_1.AvroReadableFromStream; - } }); - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js -var require_BlobQuickQueryStream = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobQuickQueryStream = void 0; - var node_stream_1 = require("node:stream"); - var index_js_1 = require_internal_avro(); - var BlobQuickQueryStream = class extends node_stream_1.Readable { - source; - avroReader; - avroIter; - avroPaused = true; - onProgress; - onError; - /** - * Creates an instance of BlobQuickQueryStream. - * - * @param source - The current ReadableStream returned from getter - * @param options - - */ - constructor(source, options = {}) { - super(); - this.source = source; - this.onProgress = options.onProgress; - this.onError = options.onError; - this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source)); - this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal }); + exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type(); + var ListArtifactsRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.ListArtifactsRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "workflow_job_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue }, + { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value } + ]); } - _read() { - if (this.avroPaused) { - this.readInternal().catch((err) => { - this.emit("error", err); - }); - } + create(value) { + const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - async readInternal() { - this.avroPaused = false; - let avroNext; - do { - avroNext = await this.avroIter.next(); - if (avroNext.done) { - break; - } - const obj = avroNext.value; - const schema2 = obj.$schema; - if (typeof schema2 !== "string") { - throw Error("Missing schema in avro record."); - } - switch (schema2) { - case "com.microsoft.azure.storage.queryBlobContents.resultData": - { - const data = obj.data; - if (data instanceof Uint8Array === false) { - throw Error("Invalid data in avro result record."); - } - if (!this.push(Buffer.from(data))) { - this.avroPaused = true; - } - } + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); break; - case "com.microsoft.azure.storage.queryBlobContents.progress": - { - const bytesScanned = obj.bytesScanned; - if (typeof bytesScanned !== "number") { - throw Error("Invalid bytesScanned in avro progress record."); - } - if (this.onProgress) { - this.onProgress({ loadedBytes: bytesScanned }); - } - } + case /* string workflow_job_run_backend_id */ + 2: + message.workflowJobRunBackendId = reader.string(); break; - case "com.microsoft.azure.storage.queryBlobContents.end": - if (this.onProgress) { - const totalBytes = obj.totalBytes; - if (typeof totalBytes !== "number") { - throw Error("Invalid totalBytes in avro end record."); - } - this.onProgress({ loadedBytes: totalBytes }); - } - this.push(null); + case /* google.protobuf.StringValue name_filter */ + 3: + message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter); break; - case "com.microsoft.azure.storage.queryBlobContents.error": - if (this.onError) { - const fatal = obj.fatal; - if (typeof fatal !== "boolean") { - throw Error("Invalid fatal in avro error record."); - } - const name = obj.name; - if (typeof name !== "string") { - throw Error("Invalid name in avro error record."); - } - const description = obj.description; - if (typeof description !== "string") { - throw Error("Invalid description in avro error record."); - } - const position = obj.position; - if (typeof position !== "number") { - throw Error("Invalid position in avro error record."); - } - this.onError({ - position, - name, - isFatal: fatal, - description - }); - } + case /* google.protobuf.Int64Value id_filter */ + 4: + message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter); break; default: - throw Error(`Unknown schema ${schema2} in avro progress record.`); + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } - } while (!avroNext.done && !this.avroPaused); + } + return message; } - }; - exports2.BlobQuickQueryStream = BlobQuickQueryStream; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js -var require_BlobQueryResponse = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobQueryResponse = void 0; - var core_util_1 = require_commonjs4(); - var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream(); - var BlobQueryResponse = class { - /** - * Indicates that the service supports - * requests for partial file content. - * - * @readonly - */ - get acceptRanges() { - return this.originalResponse.acceptRanges; + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.workflowJobRunBackendId !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId); + if (message.nameFilter) + wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join(); + if (message.idFilter) + wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join(); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * Returns if it was previously specified - * for the file. - * - * @readonly - */ - get cacheControl() { - return this.originalResponse.cacheControl; + }; + exports2.ListArtifactsRequest = new ListArtifactsRequest$Type(); + var ListArtifactsResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.ListArtifactsResponse", [ + { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact } + ]); } - /** - * Returns the value that was specified - * for the 'x-ms-content-disposition' header and specifies how to process the - * response. - * - * @readonly - */ - get contentDisposition() { - return this.originalResponse.contentDisposition; + create(value) { + const message = { artifacts: [] }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * Returns the value that was specified - * for the Content-Encoding request header. - * - * @readonly - */ - get contentEncoding() { - return this.originalResponse.contentEncoding; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */ + 1: + message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options)); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * Returns the value that was specified - * for the Content-Language request header. - * - * @readonly - */ - get contentLanguage() { - return this.originalResponse.contentLanguage; + internalBinaryWrite(message, writer, options) { + for (let i = 0; i < message.artifacts.length; i++) + exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * The current sequence number for a - * page blob. This header is not returned for block blobs or append blobs. - * - * @readonly - */ - get blobSequenceNumber() { - return this.originalResponse.blobSequenceNumber; + }; + exports2.ListArtifactsResponse = new ListArtifactsResponse$Type(); + var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "workflow_job_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "database_id", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { + no: 4, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 5, + name: "size", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + }, + { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp }, + { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue } + ]); } - /** - * The blob's type. Possible values include: - * 'BlockBlob', 'PageBlob', 'AppendBlob'. - * - * @readonly - */ - get blobType() { - return this.originalResponse.blobType; + create(value) { + const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * The number of bytes present in the - * response body. - * - * @readonly - */ - get contentLength() { - return this.originalResponse.contentLength; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string workflow_job_run_backend_id */ + 2: + message.workflowJobRunBackendId = reader.string(); + break; + case /* int64 database_id */ + 3: + message.databaseId = reader.int64().toString(); + break; + case /* string name */ + 4: + message.name = reader.string(); + break; + case /* int64 size */ + 5: + message.size = reader.int64().toString(); + break; + case /* google.protobuf.Timestamp created_at */ + 6: + message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt); + break; + case /* google.protobuf.StringValue digest */ + 7: + message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * If the file has an MD5 hash and the - * request is to read the full file, this response header is returned so that - * the client can check for message content integrity. If the request is to - * read a specified range and the 'x-ms-range-get-content-md5' is set to - * true, then the request returns an MD5 hash for the range, as long as the - * range size is less than or equal to 4 MB. If neither of these sets of - * conditions is true, then no value is returned for the 'Content-MD5' - * header. - * - * @readonly - */ - get contentMD5() { - return this.originalResponse.contentMD5; + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.workflowJobRunBackendId !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId); + if (message.databaseId !== "0") + writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId); + if (message.name !== "") + writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name); + if (message.size !== "0") + writer.tag(5, runtime_1.WireType.Varint).int64(message.size); + if (message.createdAt) + timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join(); + if (message.digest) + wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join(); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * Indicates the range of bytes returned if - * the client requested a subset of the file by setting the Range request - * header. - * - * @readonly - */ - get contentRange() { - return this.originalResponse.contentRange; + }; + exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type(); + var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "workflow_job_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); } - /** - * The content type specified for the file. - * The default content type is 'application/octet-stream' - * - * @readonly - */ - get contentType() { - return this.originalResponse.contentType; + create(value) { + const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * Conclusion time of the last attempted - * Copy File operation where this file was the destination file. This value - * can specify the time of a completed, aborted, or failed copy attempt. - * - * @readonly - */ - get copyCompletedOn() { - return void 0; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string workflow_job_run_backend_id */ + 2: + message.workflowJobRunBackendId = reader.string(); + break; + case /* string name */ + 3: + message.name = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * String identifier for the last attempted Copy - * File operation where this file was the destination file. - * - * @readonly - */ - get copyId() { - return this.originalResponse.copyId; + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.workflowJobRunBackendId !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId); + if (message.name !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * Contains the number of bytes copied and - * the total bytes in the source in the last attempted Copy File operation - * where this file was the destination file. Can show between 0 and - * Content-Length bytes copied. - * - * @readonly - */ - get copyProgress() { - return this.originalResponse.copyProgress; + }; + exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type(); + var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [ + { + no: 1, + name: "signed_url", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); } - /** - * URL up to 2KB in length that specifies the - * source file used in the last attempted Copy File operation where this file - * was the destination file. - * - * @readonly - */ - get copySource() { - return this.originalResponse.copySource; + create(value) { + const message = { signedUrl: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * State of the copy operation - * identified by 'x-ms-copy-id'. Possible values include: 'pending', - * 'success', 'aborted', 'failed' - * - * @readonly - */ - get copyStatus() { - return this.originalResponse.copyStatus; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string signed_url */ + 1: + message.signedUrl = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * Only appears when - * x-ms-copy-status is failed or pending. Describes cause of fatal or - * non-fatal copy operation failure. - * - * @readonly - */ - get copyStatusDescription() { - return this.originalResponse.copyStatusDescription; + internalBinaryWrite(message, writer, options) { + if (message.signedUrl !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * When a blob is leased, - * specifies whether the lease is of infinite or fixed duration. Possible - * values include: 'infinite', 'fixed'. - * - * @readonly - */ - get leaseDuration() { - return this.originalResponse.leaseDuration; + }; + exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type(); + var DeleteArtifactRequest$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.DeleteArtifactRequest", [ + { + no: 1, + name: "workflow_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 2, + name: "workflow_job_run_backend_id", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + }, + { + no: 3, + name: "name", + kind: "scalar", + T: 9 + /*ScalarType.STRING*/ + } + ]); } - /** - * Lease state of the blob. Possible - * values include: 'available', 'leased', 'expired', 'breaking', 'broken'. - * - * @readonly - */ - get leaseState() { - return this.originalResponse.leaseState; + create(value) { + const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * The current lease status of the - * blob. Possible values include: 'locked', 'unlocked'. - * - * @readonly - */ - get leaseStatus() { - return this.originalResponse.leaseStatus; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* string workflow_run_backend_id */ + 1: + message.workflowRunBackendId = reader.string(); + break; + case /* string workflow_job_run_backend_id */ + 2: + message.workflowJobRunBackendId = reader.string(); + break; + case /* string name */ + 3: + message.name = reader.string(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * A UTC date/time value generated by the service that - * indicates the time at which the response was initiated. - * - * @readonly - */ - get date() { - return this.originalResponse.date; + internalBinaryWrite(message, writer, options) { + if (message.workflowRunBackendId !== "") + writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId); + if (message.workflowJobRunBackendId !== "") + writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId); + if (message.name !== "") + writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * The number of committed blocks - * present in the blob. This header is returned only for append blobs. - * - * @readonly - */ - get blobCommittedBlockCount() { - return this.originalResponse.blobCommittedBlockCount; + }; + exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type(); + var DeleteArtifactResponse$Type = class extends runtime_5.MessageType { + constructor() { + super("github.actions.results.api.v1.DeleteArtifactResponse", [ + { + no: 1, + name: "ok", + kind: "scalar", + T: 8 + /*ScalarType.BOOL*/ + }, + { + no: 2, + name: "artifact_id", + kind: "scalar", + T: 3 + /*ScalarType.INT64*/ + } + ]); } - /** - * The ETag contains a value that you can use to - * perform operations conditionally, in quotes. - * - * @readonly - */ - get etag() { - return this.originalResponse.etag; + create(value) { + const message = { ok: false, artifactId: "0" }; + globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== void 0) + (0, runtime_3.reflectionMergePartial)(this, message, value); + return message; } - /** - * The error code. - * - * @readonly - */ - get errorCode() { - return this.originalResponse.errorCode; + internalBinaryRead(reader, length, options, target) { + let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool ok */ + 1: + message.ok = reader.bool(); + break; + case /* int64 artifact_id */ + 2: + message.artifactId = reader.int64().toString(); + break; + default: + let u = options.readUnknownField; + if (u === "throw") + throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + } + return message; } - /** - * The value of this header is set to - * true if the file data and application metadata are completely encrypted - * using the specified algorithm. Otherwise, the value is set to false (when - * the file is unencrypted, or if only parts of the file/application metadata - * are encrypted). - * - * @readonly - */ - get isServerEncrypted() { - return this.originalResponse.isServerEncrypted; + internalBinaryWrite(message, writer, options) { + if (message.ok !== false) + writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); + if (message.artifactId !== "0") + writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId); + let u = options.writeUnknownFields; + if (u !== false) + (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; } - /** - * If the blob has a MD5 hash, and if - * request contains range header (Range or x-ms-range), this response header - * is returned with the value of the whole blob's MD5 value. This value may - * or may not be equal to the value returned in Content-MD5 header, with the - * latter calculated from the requested range. - * - * @readonly - */ - get blobContentMD5() { - return this.originalResponse.blobContentMD5; + }; + exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type(); + exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [ + { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse }, + { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse }, + { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse }, + { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse }, + { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse }, + { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse }, + { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse } + ]); + } +}); + +// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js +var require_artifact_twirp_client = __commonJS({ + "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0; + var artifact_1 = require_artifact(); + var ArtifactServiceClientJSON = class { + constructor(rpc) { + this.rpc = rpc; + this.CreateArtifact.bind(this); + this.FinalizeArtifact.bind(this); + this.ListArtifacts.bind(this); + this.GetSignedArtifactURL.bind(this); + this.DeleteArtifact.bind(this); } - /** - * Returns the date and time the file was last - * modified. Any operation that modifies the file or its properties updates - * the last modified time. - * - * @readonly - */ - get lastModified() { - return this.originalResponse.lastModified; + CreateArtifact(request2) { + const data = artifact_1.CreateArtifactRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data); + return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, { + ignoreUnknownFields: true + })); } - /** - * A name-value pair - * to associate with a file storage object. - * - * @readonly - */ - get metadata() { - return this.originalResponse.metadata; + FinalizeArtifact(request2) { + const data = artifact_1.FinalizeArtifactRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data); + return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, { + ignoreUnknownFields: true + })); } - /** - * This header uniquely identifies the request - * that was made and can be used for troubleshooting the request. - * - * @readonly - */ - get requestId() { - return this.originalResponse.requestId; + ListArtifacts(request2) { + const data = artifact_1.ListArtifactsRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data); + return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true })); } - /** - * If a client request id header is sent in the request, this header will be present in the - * response with the same value. - * - * @readonly - */ - get clientRequestId() { - return this.originalResponse.clientRequestId; + GetSignedArtifactURL(request2) { + const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data); + return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, { + ignoreUnknownFields: true + })); } - /** - * Indicates the version of the File service used - * to execute the request. - * - * @readonly - */ - get version() { - return this.originalResponse.version; + DeleteArtifact(request2) { + const data = artifact_1.DeleteArtifactRequest.toJson(request2, { + useProtoFieldName: true, + emitDefaultValues: false + }); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data); + return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, { + ignoreUnknownFields: true + })); } - /** - * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned - * when the blob was encrypted with a customer-provided key. - * - * @readonly - */ - get encryptionKeySha256() { - return this.originalResponse.encryptionKeySha256; + }; + exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON; + var ArtifactServiceClientProtobuf = class { + constructor(rpc) { + this.rpc = rpc; + this.CreateArtifact.bind(this); + this.FinalizeArtifact.bind(this); + this.ListArtifacts.bind(this); + this.GetSignedArtifactURL.bind(this); + this.DeleteArtifact.bind(this); } - /** - * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to - * true, then the request returns a crc64 for the range, as long as the range size is less than - * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is - * specified in the same request, it will fail with 400(Bad Request) - */ - get contentCrc64() { - return this.originalResponse.contentCrc64; + CreateArtifact(request2) { + const data = artifact_1.CreateArtifactRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data); + return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2)); } - /** - * The response body as a browser Blob. - * Always undefined in node.js. - * - * @readonly - */ - get blobBody() { - return void 0; + FinalizeArtifact(request2) { + const data = artifact_1.FinalizeArtifactRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data); + return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2)); } - /** - * The response body as a node.js Readable stream. - * Always undefined in the browser. - * - * It will parse avor data returned by blob query. - * - * @readonly - */ - get readableStreamBody() { - return core_util_1.isNodeLike ? this.blobDownloadStream : void 0; + ListArtifacts(request2) { + const data = artifact_1.ListArtifactsRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data); + return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2)); } - /** - * The HTTP response. - */ - get _response() { - return this.originalResponse._response; + GetSignedArtifactURL(request2) { + const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data); + return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2)); } - originalResponse; - blobDownloadStream; - /** - * Creates an instance of BlobQueryResponse. - * - * @param originalResponse - - * @param options - - */ - constructor(originalResponse, options = {}) { - this.originalResponse = originalResponse; - this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options); + DeleteArtifact(request2) { + const data = artifact_1.DeleteArtifactRequest.toBinary(request2); + const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data); + return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2)); } }; - exports2.BlobQueryResponse = BlobQueryResponse; + exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf; } }); -// node_modules/@azure/storage-blob/dist/commonjs/models.js -var require_models2 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) { +// node_modules/@actions/artifact/lib/generated/index.js +var require_generated = __commonJS({ + "node_modules/@actions/artifact/lib/generated/index.js"(exports2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0; - exports2.toAccessTier = toAccessTier; - exports2.ensureCpkIfSpecified = ensureCpkIfSpecified; - exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience; - var constants_js_1 = require_constants15(); - var BlockBlobTier; - (function(BlockBlobTier2) { - BlockBlobTier2["Hot"] = "Hot"; - BlockBlobTier2["Cool"] = "Cool"; - BlockBlobTier2["Cold"] = "Cold"; - BlockBlobTier2["Archive"] = "Archive"; - })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {})); - var PremiumPageBlobTier; - (function(PremiumPageBlobTier2) { - PremiumPageBlobTier2["P4"] = "P4"; - PremiumPageBlobTier2["P6"] = "P6"; - PremiumPageBlobTier2["P10"] = "P10"; - PremiumPageBlobTier2["P15"] = "P15"; - PremiumPageBlobTier2["P20"] = "P20"; - PremiumPageBlobTier2["P30"] = "P30"; - PremiumPageBlobTier2["P40"] = "P40"; - PremiumPageBlobTier2["P50"] = "P50"; - PremiumPageBlobTier2["P60"] = "P60"; - PremiumPageBlobTier2["P70"] = "P70"; - PremiumPageBlobTier2["P80"] = "P80"; - })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {})); - function toAccessTier(tier) { - if (tier === void 0) { - return void 0; - } - return tier; - } - function ensureCpkIfSpecified(cpk, isHttps) { - if (cpk && !isHttps) { - throw new RangeError("Customer-provided encryption key must be used over HTTPS."); - } - if (cpk && !cpk.encryptionAlgorithm) { - cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25; + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; } - } - var StorageBlobAudience; - (function(StorageBlobAudience2) { - StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default"; - StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default"; - })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {})); - function getBlobServiceAccountAudience(storageAccountName) { - return `https://${storageAccountName}.blob.core.windows.net/.default`; - } - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js -var require_PageBlobRangeResponse = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.rangeResponseFromModel = rangeResponseFromModel; - function rangeResponseFromModel(response) { - const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({ - offset: x.start, - count: x.end - x.start - })); - const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({ - offset: x.start, - count: x.end - x.start - })); - return { - ...response, - pageRange, - clearRange, - _response: { - ...response._response, - parsedBody: { - pageRange, - clearRange - } - } - }; - } - } -}); - -// node_modules/@azure/core-lro/dist/commonjs/logger.js -var require_logger2 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.logger = void 0; - var logger_1 = require_commonjs2(); - exports2.logger = (0, logger_1.createClientLogger)("core-lro"); - } -}); - -// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js -var require_constants17 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) { - "use strict"; + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p); + }; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0; - exports2.POLL_INTERVAL_IN_MS = 2e3; - exports2.terminalStates = ["succeeded", "canceled", "failed"]; + __exportStar2(require_timestamp(), exports2); + __exportStar2(require_wrappers(), exports2); + __exportStar2(require_artifact(), exports2); + __exportStar2(require_artifact_twirp_client(), exports2); } }); -// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js -var require_operation = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/upload/retention.js +var require_retention = __commonJS({ + "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0; - var logger_js_1 = require_logger2(); - var constants_js_1 = require_constants17(); - function deserializeState(serializedState) { - try { - return JSON.parse(serializedState).state; - } catch (e) { - throw new Error(`Unable to deserialize input state: ${serializedState}`); - } - } - exports2.deserializeState = deserializeState; - function setStateError(inputs) { - const { state, stateProxy, isOperationError } = inputs; - return (error3) => { - if (isOperationError(error3)) { - stateProxy.setError(state, error3); - stateProxy.setFailed(state); - } - throw error3; - }; - } - function appendReadableErrorMessage(currentMessage, innerMessage) { - let message = currentMessage; - if (message.slice(-1) !== ".") { - message = message + "."; + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; } - return message + " " + innerMessage; - } - function simplifyError(err) { - let message = err.message; - let code = err.code; - let curErr = err; - while (curErr.innererror) { - curErr = curErr.innererror; - code = curErr.code; - message = appendReadableErrorMessage(message, curErr.message); + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k); } - return { - code, - message - }; - } - function processOperationStatus(result) { - const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result; - switch (status) { - case "succeeded": { - stateProxy.setSucceeded(state); - break; - } - case "failed": { - const err = getError === null || getError === void 0 ? void 0 : getError(response); - let postfix = ""; - if (err) { - const { code, message } = simplifyError(err); - postfix = `. ${code}. ${message}`; - } - const errStr = `The long-running operation has failed${postfix}`; - stateProxy.setError(state, new Error(errStr)); - stateProxy.setFailed(state); - logger_js_1.logger.warning(errStr); - break; - } - case "canceled": { - stateProxy.setCanceled(state); - break; - } + __setModuleDefault2(result, mod); + return result; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getExpiration = void 0; + var generated_1 = require_generated(); + var core14 = __importStar2(require_core()); + function getExpiration(retentionDays) { + if (!retentionDays) { + return void 0; } - if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) { - stateProxy.setResult(state, buildResult({ - response, - state, - processResult - })); + const maxRetentionDays = getRetentionDays(); + if (maxRetentionDays && maxRetentionDays < retentionDays) { + core14.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`); + retentionDays = maxRetentionDays; } + const expirationDate = /* @__PURE__ */ new Date(); + expirationDate.setDate(expirationDate.getDate() + retentionDays); + return generated_1.Timestamp.fromDate(expirationDate); } - function buildResult(inputs) { - const { processResult, response, state } = inputs; - return processResult ? processResult(response, state) : response; - } - async function initOperation(inputs) { - const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs; - const { operationLocation, resourceLocation, metadata, response } = await init(); - if (operationLocation) - withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false); - const config = { - metadata, - operationLocation, - resourceLocation - }; - logger_js_1.logger.verbose(`LRO: Operation description:`, config); - const state = stateProxy.initState(config); - const status = getOperationStatus({ response, state, operationLocation }); - processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult }); - return state; - } - exports2.initOperation = initOperation; - async function pollOperationHelper(inputs) { - const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs; - const response = await poll(operationLocation, options).catch(setStateError({ - state, - stateProxy, - isOperationError - })); - const status = getOperationStatus(response, state); - logger_js_1.logger.verbose(`LRO: Status: - Polling from: ${state.config.operationLocation} - Operation status: ${status} - Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`); - if (status === "succeeded") { - const resourceLocation = getResourceLocation(response, state); - if (resourceLocation !== void 0) { - return { - response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })), - status - }; - } + exports2.getExpiration = getExpiration; + function getRetentionDays() { + const retentionDays = process.env["GITHUB_RETENTION_DAYS"]; + if (!retentionDays) { + return void 0; } - return { response, status }; - } - async function pollOperation(inputs) { - const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs; - const { operationLocation } = state.config; - if (operationLocation !== void 0) { - const { response, status } = await pollOperationHelper({ - poll, - getOperationStatus, - state, - stateProxy, - operationLocation, - getResourceLocation, - isOperationError, - options - }); - processOperationStatus({ - status, - response, - state, - stateProxy, - isDone, - processResult, - getError, - setErrorAsResult - }); - if (!constants_js_1.terminalStates.includes(status)) { - const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response); - if (intervalInMs) - setDelay(intervalInMs); - const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state); - if (location !== void 0) { - const isUpdated = operationLocation !== location; - state.config.operationLocation = location; - withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated); - } else - withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false); - } - updateState === null || updateState === void 0 ? void 0 : updateState(state, response); + const days = parseInt(retentionDays); + if (isNaN(days)) { + return void 0; } + return days; } - exports2.pollOperation = pollOperation; } }); -// node_modules/@azure/core-lro/dist/commonjs/http/operation.js -var require_operation2 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js +var require_path_and_artifact_name_validation = __commonJS({ + "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0; - var operation_js_1 = require_operation(); - var logger_js_1 = require_logger2(); - function getOperationLocationPollingUrl(inputs) { - const { azureAsyncOperation, operationLocation } = inputs; - return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation; - } - function getLocationHeader(rawResponse) { - return rawResponse.headers["location"]; - } - function getOperationLocationHeader(rawResponse) { - return rawResponse.headers["operation-location"]; - } - function getAzureAsyncOperationHeader(rawResponse) { - return rawResponse.headers["azure-asyncoperation"]; - } - function findResourceLocation(inputs) { - var _a; - const { location, requestMethod, requestPath, resourceLocationConfig } = inputs; - switch (requestMethod) { - case "PUT": { - return requestPath; - } - case "DELETE": { - return void 0; - } - case "PATCH": { - return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath; - } - default: { - return getDefault(); - } - } - function getDefault() { - switch (resourceLocationConfig) { - case "azure-async-operation": { - return void 0; - } - case "original-uri": { - return requestPath; - } - case "location": - default: { - return location; - } - } - } - } - function inferLroMode(inputs) { - const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs; - const operationLocation = getOperationLocationHeader(rawResponse); - const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse); - const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation }); - const location = getLocationHeader(rawResponse); - const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase(); - if (pollingUrl !== void 0) { - return { - mode: "OperationLocation", - operationLocation: pollingUrl, - resourceLocation: findResourceLocation({ - requestMethod: normalizedRequestMethod, - location, - requestPath, - resourceLocationConfig - }) - }; - } else if (location !== void 0) { - return { - mode: "ResourceLocation", - operationLocation: location - }; - } else if (normalizedRequestMethod === "PUT" && requestPath) { - return { - mode: "Body", - operationLocation: requestPath - }; - } else { - return void 0; - } - } - exports2.inferLroMode = inferLroMode; - function transformStatus(inputs) { - const { status, statusCode } = inputs; - if (typeof status !== "string" && status !== void 0) { - throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`); - } - switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) { - case void 0: - return toOperationStatus(statusCode); - case "succeeded": - return "succeeded"; - case "failed": - return "failed"; - case "running": - case "accepted": - case "started": - case "canceling": - case "cancelling": - return "running"; - case "canceled": - case "cancelled": - return "canceled"; - default: { - logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`); - return status; - } - } - } - function getStatus(rawResponse) { - var _a; - const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {}; - return transformStatus({ status, statusCode: rawResponse.statusCode }); - } - function getProvisioningState(rawResponse) { - var _a, _b; - const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {}; - const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState; - return transformStatus({ status, statusCode: rawResponse.statusCode }); - } - function toOperationStatus(statusCode) { - if (statusCode === 202) { - return "running"; - } else if (statusCode < 300) { - return "succeeded"; - } else { - return "failed"; - } - } - function parseRetryAfter({ rawResponse }) { - const retryAfter = rawResponse.headers["retry-after"]; - if (retryAfter !== void 0) { - const retryAfterInSeconds = parseInt(retryAfter); - return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3; - } - return void 0; - } - exports2.parseRetryAfter = parseRetryAfter; - function getErrorFromResponse(response) { - const error3 = accessBodyProperty(response, "error"); - if (!error3) { - logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`); - return; - } - if (!error3.code || !error3.message) { - logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`); - return; - } - return error3; - } - exports2.getErrorFromResponse = getErrorFromResponse; - function calculatePollingIntervalFromDate(retryAfterDate) { - const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime()); - const retryAfterTime = retryAfterDate.getTime(); - if (timeNow < retryAfterTime) { - return retryAfterTime - timeNow; - } - return void 0; - } - function getStatusFromInitialResponse(inputs) { - const { response, state, operationLocation } = inputs; - function helper() { - var _a; - const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; - switch (mode) { - case void 0: - return toOperationStatus(response.rawResponse.statusCode); - case "Body": - return getOperationStatus(response, state); - default: - return "running"; - } - } - const status = helper(); - return status === "running" && operationLocation === void 0 ? "succeeded" : status; - } - exports2.getStatusFromInitialResponse = getStatusFromInitialResponse; - async function initHttpOperation(inputs) { - const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs; - return (0, operation_js_1.initOperation)({ - init: async () => { - const response = await lro.sendInitialRequest(); - const config = inferLroMode({ - rawResponse: response.rawResponse, - requestPath: lro.requestPath, - requestMethod: lro.requestMethod, - resourceLocationConfig - }); - return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {}); - }, - stateProxy, - processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse, - getOperationStatus: getStatusFromInitialResponse, - setErrorAsResult - }); - } - exports2.initHttpOperation = initHttpOperation; - function getOperationLocation({ rawResponse }, state) { - var _a; - const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; - switch (mode) { - case "OperationLocation": { - return getOperationLocationPollingUrl({ - operationLocation: getOperationLocationHeader(rawResponse), - azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse) - }); - } - case "ResourceLocation": { - return getLocationHeader(rawResponse); - } - case "Body": - default: { - return void 0; - } + exports2.validateFilePath = exports2.validateArtifactName = void 0; + var core_1 = require_core(); + var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([ + ['"', ' Double quote "'], + [":", " Colon :"], + ["<", " Less than <"], + [">", " Greater than >"], + ["|", " Vertical bar |"], + ["*", " Asterisk *"], + ["?", " Question mark ?"], + ["\r", " Carriage return \\r"], + ["\n", " Line feed \\n"] + ]); + var invalidArtifactNameCharacters = new Map([ + ...invalidArtifactFilePathCharacters, + ["\\", " Backslash \\"], + ["/", " Forward slash /"] + ]); + function validateArtifactName(name) { + if (!name) { + throw new Error(`Provided artifact name input during validation is empty`); } - } - exports2.getOperationLocation = getOperationLocation; - function getOperationStatus({ rawResponse }, state) { - var _a; - const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; - switch (mode) { - case "OperationLocation": { - return getStatus(rawResponse); - } - case "ResourceLocation": { - return toOperationStatus(rawResponse.statusCode); - } - case "Body": { - return getProvisioningState(rawResponse); + for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) { + if (name.includes(invalidCharacterKey)) { + throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter} + +Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()} + +These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`); } - default: - throw new Error(`Internal error: Unexpected operation mode: ${mode}`); } + (0, core_1.info)(`Artifact name is valid!`); } - exports2.getOperationStatus = getOperationStatus; - function accessBodyProperty({ flatResponse, rawResponse }, prop) { - var _a, _b; - return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop]; - } - function getResourceLocation(res, state) { - const loc = accessBodyProperty(res, "resourceLocation"); - if (loc && typeof loc === "string") { - state.config.resourceLocation = loc; + exports2.validateArtifactName = validateArtifactName; + function validateFilePath(path7) { + if (!path7) { + throw new Error(`Provided file path input during validation is empty`); + } + for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) { + if (path7.includes(invalidCharacterKey)) { + throw new Error(`The path for one of the files in artifact is not valid: ${path7}. Contains the following character: ${errorMessageForCharacter} + +Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()} + +The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems. + `); + } } - return state.config.resourceLocation; - } - exports2.getResourceLocation = getResourceLocation; - function isOperationError(e) { - return e.name === "RestError"; - } - exports2.isOperationError = isOperationError; - async function pollHttpOperation(inputs) { - const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs; - return (0, operation_js_1.pollOperation)({ - state, - stateProxy, - setDelay, - processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse, - getError: getErrorFromResponse, - updateState, - getPollingInterval: parseRetryAfter, - getOperationLocation, - getOperationStatus, - isOperationError, - getResourceLocation, - options, - /** - * The expansion here is intentional because `lro` could be an object that - * references an inner this, so we need to preserve a reference to it. - */ - poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions), - setErrorAsResult - }); } - exports2.pollHttpOperation = pollHttpOperation; + exports2.validateFilePath = validateFilePath; } }); -// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js -var require_poller = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.buildCreatePoller = void 0; - var operation_js_1 = require_operation(); - var constants_js_1 = require_constants17(); - var core_util_1 = require_commonjs4(); - var createStateProxy = () => ({ - /** - * The state at this point is created to be of type OperationState. - * It will be updated later to be of type TState when the - * customer-provided callback, `updateState`, is called during polling. - */ - initState: (config) => ({ status: "running", config }), - setCanceled: (state) => state.status = "canceled", - setError: (state, error3) => state.error = error3, - setResult: (state, result) => state.result = result, - setRunning: (state) => state.status = "running", - setSucceeded: (state) => state.status = "succeeded", - setFailed: (state) => state.status = "failed", - getError: (state) => state.error, - getResult: (state) => state.result, - isCanceled: (state) => state.status === "canceled", - isFailed: (state) => state.status === "failed", - isRunning: (state) => state.status === "running", - isSucceeded: (state) => state.status === "succeeded" - }); - function buildCreatePoller(inputs) { - const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs; - return async ({ init, poll }, options) => { - const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {}; - const stateProxy = createStateProxy(); - const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => { - let called = false; - return (operationLocation, isUpdated) => { - if (isUpdated) - withOperationLocationCallback(operationLocation); - else if (!called) - withOperationLocationCallback(operationLocation); - called = true; - }; - })() : void 0; - const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({ - init, - stateProxy, - processResult, - getOperationStatus: getStatusFromInitialResponse, - withOperationLocation, - setErrorAsResult: !resolveOnUnsuccessful - }); - let resultPromise; - const abortController = new AbortController(); - const handlers = /* @__PURE__ */ new Map(); - const handleProgressEvents = async () => handlers.forEach((h) => h(state)); - const cancelErrMsg = "Operation was canceled"; - let currentPollIntervalInMs = intervalInMs; - const poller = { - getOperationState: () => state, - getResult: () => state.result, - isDone: () => ["succeeded", "failed", "canceled"].includes(state.status), - isStopped: () => resultPromise === void 0, - stopPolling: () => { - abortController.abort(); - }, - toString: () => JSON.stringify({ - state - }), - onProgress: (callback) => { - const s = /* @__PURE__ */ Symbol(); - handlers.set(s, callback); - return () => handlers.delete(s); - }, - pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => { - const { abortSignal: inputAbortSignal } = pollOptions || {}; - function abortListener() { - abortController.abort(); - } - const abortSignal = abortController.signal; - if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) { - abortController.abort(); - } else if (!abortSignal.aborted) { - inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true }); - } - try { - if (!poller.isDone()) { - await poller.poll({ abortSignal }); - while (!poller.isDone()) { - await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal }); - await poller.poll({ abortSignal }); - } - } - } finally { - inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener); - } - if (resolveOnUnsuccessful) { - return poller.getResult(); - } else { - switch (state.status) { - case "succeeded": - return poller.getResult(); - case "canceled": - throw new Error(cancelErrMsg); - case "failed": - throw state.error; - case "notStarted": - case "running": - throw new Error(`Polling completed without succeeding or failing`); - } - } - })().finally(() => { - resultPromise = void 0; - }), - async poll(pollOptions) { - if (resolveOnUnsuccessful) { - if (poller.isDone()) - return; - } else { - switch (state.status) { - case "succeeded": - return; - case "canceled": - throw new Error(cancelErrMsg); - case "failed": - throw state.error; - } - } - await (0, operation_js_1.pollOperation)({ - poll, - state, - stateProxy, - getOperationLocation, - isOperationError, - withOperationLocation, - getPollingInterval, - getOperationStatus: getStatusFromPollResponse, - getResourceLocation, - processResult, - getError, - updateState, - options: pollOptions, - setDelay: (pollIntervalInMs) => { - currentPollIntervalInMs = pollIntervalInMs; - }, - setErrorAsResult: !resolveOnUnsuccessful - }); - await handleProgressEvents(); - if (!resolveOnUnsuccessful) { - switch (state.status) { - case "canceled": - throw new Error(cancelErrMsg); - case "failed": - throw state.error; - } - } - } - }; - return poller; - }; - } - exports2.buildCreatePoller = buildCreatePoller; +// node_modules/@actions/artifact/package.json +var require_package3 = __commonJS({ + "node_modules/@actions/artifact/package.json"(exports2, module2) { + module2.exports = { + name: "@actions/artifact", + version: "5.0.3", + preview: true, + description: "Actions artifact lib", + keywords: [ + "github", + "actions", + "artifact" + ], + homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact", + license: "MIT", + main: "lib/artifact.js", + types: "lib/artifact.d.ts", + directories: { + lib: "lib", + test: "__tests__" + }, + files: [ + "lib", + "!.DS_Store" + ], + publishConfig: { + access: "public" + }, + repository: { + type: "git", + url: "git+https://github.com/actions/toolkit.git", + directory: "packages/artifact" + }, + scripts: { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + test: "cd ../../ && npm run test ./packages/artifact", + bootstrap: "cd ../../ && npm run bootstrap", + "tsc-run": "tsc", + tsc: "npm run bootstrap && npm run tsc-run", + "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none" + }, + bugs: { + url: "https://github.com/actions/toolkit/issues" + }, + dependencies: { + "@actions/core": "^2.0.0", + "@actions/github": "^6.0.1", + "@actions/http-client": "^3.0.2", + "@azure/storage-blob": "^12.29.1", + "@octokit/core": "^5.2.1", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-retry": "^3.0.9", + "@octokit/request": "^8.4.1", + "@octokit/request-error": "^5.1.1", + "@protobuf-ts/plugin": "^2.2.3-alpha.1", + archiver: "^7.0.1", + "jwt-decode": "^3.1.2", + "unzip-stream": "^0.3.1" + }, + devDependencies: { + "@types/archiver": "^5.3.2", + "@types/unzip-stream": "^0.3.4", + typedoc: "^0.28.13", + "typedoc-plugin-markdown": "^3.17.1", + typescript: "^5.2.2" + }, + overrides: { + "uri-js": "npm:uri-js-replace@^1.0.1", + "node-fetch": "^3.3.2" + } + }; } }); -// node_modules/@azure/core-lro/dist/commonjs/http/poller.js -var require_poller2 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/shared/user-agent.js +var require_user_agent2 = __commonJS({ + "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.createHttpPoller = void 0; - var operation_js_1 = require_operation2(); - var poller_js_1 = require_poller(); - async function createHttpPoller(lro, options) { - const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {}; - return (0, poller_js_1.buildCreatePoller)({ - getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse, - getStatusFromPollResponse: operation_js_1.getOperationStatus, - isOperationError: operation_js_1.isOperationError, - getOperationLocation: operation_js_1.getOperationLocation, - getResourceLocation: operation_js_1.getResourceLocation, - getPollingInterval: operation_js_1.parseRetryAfter, - getError: operation_js_1.getErrorFromResponse, - resolveOnUnsuccessful - })({ - init: async () => { - const response = await lro.sendInitialRequest(); - const config = (0, operation_js_1.inferLroMode)({ - rawResponse: response.rawResponse, - requestPath: lro.requestPath, - requestMethod: lro.requestMethod, - resourceLocationConfig - }); - return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {}); - }, - poll: lro.sendPollRequest - }, { - intervalInMs, - withOperationLocation, - restoreFrom, - updateState, - processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse - }); + exports2.getUserAgentString = void 0; + var packageJson = require_package3(); + function getUserAgentString() { + return `@actions/artifact-${packageJson.version}`; } - exports2.createHttpPoller = createHttpPoller; + exports2.getUserAgentString = getUserAgentString; } }); -// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js -var require_operation3 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/shared/errors.js +var require_errors4 = __commonJS({ + "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.GenericPollOperation = void 0; - var operation_js_1 = require_operation2(); - var logger_js_1 = require_logger2(); - var createStateProxy = () => ({ - initState: (config) => ({ config, isStarted: true }), - setCanceled: (state) => state.isCancelled = true, - setError: (state, error3) => state.error = error3, - setResult: (state, result) => state.result = result, - setRunning: (state) => state.isStarted = true, - setSucceeded: (state) => state.isCompleted = true, - setFailed: () => { - }, - getError: (state) => state.error, - getResult: (state) => state.result, - isCanceled: (state) => !!state.isCancelled, - isFailed: (state) => !!state.error, - isRunning: (state) => !!state.isStarted, - isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error) - }); - var GenericPollOperation = class { - constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) { - this.state = state; - this.lro = lro; - this.setErrorAsResult = setErrorAsResult; - this.lroResourceLocationConfig = lroResourceLocationConfig; - this.processResult = processResult; - this.updateState = updateState; - this.isDone = isDone; + exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0; + var FilesNotFoundError = class extends Error { + constructor(files = []) { + let message = "No files were found to upload"; + if (files.length > 0) { + message += `: ${files.join(", ")}`; + } + super(message); + this.files = files; + this.name = "FilesNotFoundError"; } - setPollerConfig(pollerConfig) { - this.pollerConfig = pollerConfig; + }; + exports2.FilesNotFoundError = FilesNotFoundError; + var InvalidResponseError = class extends Error { + constructor(message) { + super(message); + this.name = "InvalidResponseError"; } - async update(options) { - var _a; - const stateProxy = createStateProxy(); - if (!this.state.isStarted) { - this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({ - lro: this.lro, - stateProxy, - resourceLocationConfig: this.lroResourceLocationConfig, - processResult: this.processResult, - setErrorAsResult: this.setErrorAsResult - })); - } - const updateState = this.updateState; - const isDone = this.isDone; - if (!this.state.isCompleted && this.state.error === void 0) { - await (0, operation_js_1.pollHttpOperation)({ - lro: this.lro, - state: this.state, - stateProxy, - processResult: this.processResult, - updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0, - isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0, - options, - setDelay: (intervalInMs) => { - this.pollerConfig.intervalInMs = intervalInMs; - }, - setErrorAsResult: this.setErrorAsResult - }); - } - (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state); - return this; + }; + exports2.InvalidResponseError = InvalidResponseError; + var ArtifactNotFoundError = class extends Error { + constructor(message = "Artifact not found") { + super(message); + this.name = "ArtifactNotFoundError"; } - async cancel() { - logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented"); - return this; + }; + exports2.ArtifactNotFoundError = ArtifactNotFoundError; + var GHESNotSupportedError = class extends Error { + constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") { + super(message); + this.name = "GHESNotSupportedError"; } - /** - * Serializes the Poller operation. - */ - toString() { - return JSON.stringify({ - state: this.state - }); + }; + exports2.GHESNotSupportedError = GHESNotSupportedError; + var NetworkError = class extends Error { + constructor(code) { + const message = `Unable to make request: ${code} +If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`; + super(message); + this.code = code; + this.name = "NetworkError"; } }; - exports2.GenericPollOperation = GenericPollOperation; + exports2.NetworkError = NetworkError; + NetworkError.isNetworkErrorCode = (code) => { + if (!code) + return false; + return [ + "ECONNRESET", + "ENOTFOUND", + "ETIMEDOUT", + "ECONNREFUSED", + "EHOSTUNREACH" + ].includes(code); + }; + var UsageError = class extends Error { + constructor() { + const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours. +More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`; + super(message); + this.name = "UsageError"; + } + }; + exports2.UsageError = UsageError; + UsageError.isUsageErrorMessage = (msg) => { + if (!msg) + return false; + return msg.includes("insufficient usage"); + }; } }); -// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js -var require_poller3 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) { +// node_modules/jwt-decode/build/jwt-decode.cjs.js +var require_jwt_decode_cjs = __commonJS({ + "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0; - var PollerStoppedError = class _PollerStoppedError extends Error { - constructor(message) { - super(message); - this.name = "PollerStoppedError"; - Object.setPrototypeOf(this, _PollerStoppedError.prototype); - } + function e(e2) { + this.message = e2; + } + e.prototype = new Error(), e.prototype.name = "InvalidCharacterError"; + var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) { + var t2 = String(r2).replace(/=+$/, ""); + if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded."); + for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2); + return c; }; - exports2.PollerStoppedError = PollerStoppedError; - var PollerCancelledError = class _PollerCancelledError extends Error { - constructor(message) { - super(message); - this.name = "PollerCancelledError"; - Object.setPrototypeOf(this, _PollerCancelledError.prototype); + function t(e2) { + var t2 = e2.replace(/-/g, "+").replace(/_/g, "/"); + switch (t2.length % 4) { + case 0: + break; + case 2: + t2 += "=="; + break; + case 3: + t2 += "="; + break; + default: + throw "Illegal base64url string!"; + } + try { + return (function(e3) { + return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) { + var t3 = r2.charCodeAt(0).toString(16).toUpperCase(); + return t3.length < 2 && (t3 = "0" + t3), "%" + t3; + }))); + })(t2); + } catch (e3) { + return r(t2); + } + } + function n(e2) { + this.message = e2; + } + function o(e2, r2) { + if ("string" != typeof e2) throw new n("Invalid token specified"); + var o2 = true === (r2 = r2 || {}).header ? 0 : 1; + try { + return JSON.parse(t(e2.split(".")[o2])); + } catch (e3) { + throw new n("Invalid token specified: " + e3.message); + } + } + n.prototype = new Error(), n.prototype.name = "InvalidTokenError"; + var a = o; + a.default = o, a.InvalidTokenError = n, module2.exports = a; + } +}); + +// node_modules/@actions/artifact/lib/internal/shared/util.js +var require_util19 = __commonJS({ + "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) { + "use strict"; + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k); } + __setModuleDefault2(result, mod); + return result; }; - exports2.PollerCancelledError = PollerCancelledError; - var Poller = class { - /** - * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`. - * - * When writing an implementation of a Poller, this implementation needs to deal with the initialization - * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's - * operation has already been defined, at least its basic properties. The code below shows how to approach - * the definition of the constructor of a new custom poller. - * - * ```ts - * export class MyPoller extends Poller { - * constructor({ - * // Anything you might need outside of the basics - * }) { - * let state: MyOperationState = { - * privateProperty: private, - * publicProperty: public, - * }; - * - * const operation = { - * state, - * update, - * cancel, - * toString - * } - * - * // Sending the operation to the parent's constructor. - * super(operation); - * - * // You can assign more local properties here. - * } - * } - * ``` - * - * Inside of this constructor, a new promise is created. This will be used to - * tell the user when the poller finishes (see `pollUntilDone()`). The promise's - * resolve and reject methods are also used internally to control when to resolve - * or reject anyone waiting for the poller to finish. - * - * The constructor of a custom implementation of a poller is where any serialized version of - * a previous poller's operation should be deserialized into the operation sent to the - * base constructor. For example: - * - * ```ts - * export class MyPoller extends Poller { - * constructor( - * baseOperation: string | undefined - * ) { - * let state: MyOperationState = {}; - * if (baseOperation) { - * state = { - * ...JSON.parse(baseOperation).state, - * ...state - * }; - * } - * const operation = { - * state, - * // ... - * } - * super(operation); - * } - * } - * ``` - * - * @param operation - Must contain the basic properties of `PollOperation`. - */ - constructor(operation) { - this.resolveOnUnsuccessful = false; - this.stopped = true; - this.pollProgressCallbacks = []; - this.operation = operation; - this.promise = new Promise((resolve5, reject) => { - this.resolve = resolve5; - this.reject = reject; - }); - this.promise.catch(() => { - }); + var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0; + var core14 = __importStar2(require_core()); + var config_1 = require_config2(); + var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs()); + var core_1 = require_core(); + var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims"); + function getBackendIdsFromToken() { + const token = (0, config_1.getRuntimeToken)(); + const decoded = (0, jwt_decode_1.default)(token); + if (!decoded.scp) { + throw InvalidJwtError; } - /** - * Starts a loop that will break only if the poller is done - * or if the poller is stopped. - */ - async startPolling(pollOptions = {}) { - if (this.stopped) { - this.stopped = false; + const scpParts = decoded.scp.split(" "); + if (scpParts.length === 0) { + throw InvalidJwtError; + } + for (const scopes of scpParts) { + const scopeParts = scopes.split(":"); + if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") { + continue; } - while (!this.isStopped() && !this.isDone()) { - await this.poll(pollOptions); - await this.delay(); + if (scopeParts.length !== 3) { + throw InvalidJwtError; } + const ids = { + workflowRunBackendId: scopeParts[1], + workflowJobRunBackendId: scopeParts[2] + }; + core14.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`); + core14.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`); + return ids; } - /** - * pollOnce does one polling, by calling to the update method of the underlying - * poll operation to make any relevant change effective. - * - * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike. - * - * @param options - Optional properties passed to the operation's update method. - */ - async pollOnce(options = {}) { - if (!this.isDone()) { - this.operation = await this.operation.update({ - abortSignal: options.abortSignal, - fireProgress: this.fireProgress.bind(this) - }); + throw InvalidJwtError; + } + exports2.getBackendIdsFromToken = getBackendIdsFromToken; + function maskSigUrl(url) { + if (!url) + return; + try { + const parsedUrl = new URL(url); + const signature = parsedUrl.searchParams.get("sig"); + if (signature) { + (0, core_1.setSecret)(signature); + (0, core_1.setSecret)(encodeURIComponent(signature)); } - this.processUpdatedState(); + } catch (error3) { + (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`); } - /** - * fireProgress calls the functions passed in via onProgress the method of the poller. - * - * It loops over all of the callbacks received from onProgress, and executes them, sending them - * the current operation state. - * - * @param state - The current operation state. - */ - fireProgress(state) { - for (const callback of this.pollProgressCallbacks) { - callback(state); - } + } + exports2.maskSigUrl = maskSigUrl; + function maskSecretUrls(body) { + if (typeof body !== "object" || body === null) { + (0, core_1.debug)("body is not an object or is null"); + return; } - /** - * Invokes the underlying operation's cancel method. - */ - async cancelOnce(options = {}) { - this.operation = await this.operation.cancel(options); + if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") { + maskSigUrl(body.signed_upload_url); } - /** - * Returns a promise that will resolve once a single polling request finishes. - * It does this by calling the update method of the Poller's operation. - * - * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike. - * - * @param options - Optional properties passed to the operation's update method. - */ - poll(options = {}) { - if (!this.pollOncePromise) { - this.pollOncePromise = this.pollOnce(options); - const clearPollOncePromise = () => { - this.pollOncePromise = void 0; - }; - this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject); - } - return this.pollOncePromise; + if ("signed_url" in body && typeof body.signed_url === "string") { + maskSigUrl(body.signed_url); } - processUpdatedState() { - if (this.operation.state.error) { - this.stopped = true; - if (!this.resolveOnUnsuccessful) { - this.reject(this.operation.state.error); - throw this.operation.state.error; + } + exports2.maskSecretUrls = maskSecretUrls; + } +}); + +// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js +var require_artifact_twirp_client2 = __commonJS({ + "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) { + "use strict"; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); } } - if (this.operation.state.isCancelled) { - this.stopped = true; - if (!this.resolveOnUnsuccessful) { - const error3 = new PollerCancelledError("Operation was canceled"); - this.reject(error3); - throw error3; + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); } } - if (this.isDone() && this.resolve) { - this.resolve(this.getResult()); + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); } - } - /** - * Returns a promise that will resolve once the underlying operation is completed. - */ - async pollUntilDone(pollOptions = {}) { - if (this.stopped) { - this.startPolling(pollOptions).catch(this.reject); + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.internalArtifactTwirpClient = void 0; + var http_client_1 = require_lib(); + var auth_1 = require_auth(); + var core_1 = require_core(); + var generated_1 = require_generated(); + var config_1 = require_config2(); + var user_agent_1 = require_user_agent2(); + var errors_1 = require_errors4(); + var util_1 = require_util19(); + var ArtifactHttpClient = class { + constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) { + this.maxAttempts = 5; + this.baseRetryIntervalMilliseconds = 3e3; + this.retryMultiplier = 1.5; + const token = (0, config_1.getRuntimeToken)(); + this.baseUrl = (0, config_1.getResultsServiceUrl)(); + if (maxAttempts) { + this.maxAttempts = maxAttempts; } - this.processUpdatedState(); - return this.promise; - } - /** - * Invokes the provided callback after each polling is completed, - * sending the current state of the poller's operation. - * - * It returns a method that can be used to stop receiving updates on the given callback function. - */ - onProgress(callback) { - this.pollProgressCallbacks.push(callback); - return () => { - this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback); - }; - } - /** - * Returns true if the poller has finished polling. - */ - isDone() { - const state = this.operation.state; - return Boolean(state.isCompleted || state.isCancelled || state.error); - } - /** - * Stops the poller from continuing to poll. - */ - stopPolling() { - if (!this.stopped) { - this.stopped = true; - if (this.reject) { - this.reject(new PollerStoppedError("This poller is already stopped")); - } + if (baseRetryIntervalMilliseconds) { + this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds; } - } - /** - * Returns true if the poller is stopped. - */ - isStopped() { - return this.stopped; - } - /** - * Attempts to cancel the underlying operation. - * - * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike. - * - * If it's called again before it finishes, it will throw an error. - * - * @param options - Optional properties passed to the operation's update method. - */ - cancelOperation(options = {}) { - if (!this.cancelPromise) { - this.cancelPromise = this.cancelOnce(options); - } else if (options.abortSignal) { - throw new Error("A cancel request is currently pending"); + if (retryMultiplier) { + this.retryMultiplier = retryMultiplier; } - return this.cancelPromise; + this.httpClient = new http_client_1.HttpClient(userAgent2, [ + new auth_1.BearerCredentialHandler(token) + ]); } - /** - * Returns the state of the operation. - * - * Even though TState will be the same type inside any of the methods of any extension of the Poller class, - * implementations of the pollers can customize what's shared with the public by writing their own - * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller - * and a public type representing a safe to share subset of the properties of the internal state. - * Their definition of getOperationState can then return their public type. - * - * Example: - * - * ```ts - * // Let's say we have our poller's operation state defined as: - * interface MyOperationState extends PollOperationState { - * privateProperty?: string; - * publicProperty?: string; - * } - * - * // To allow us to have a true separation of public and private state, we have to define another interface: - * interface PublicState extends PollOperationState { - * publicProperty?: string; - * } - * - * // Then, we define our Poller as follows: - * export class MyPoller extends Poller { - * // ... More content is needed here ... - * - * public getOperationState(): PublicState { - * const state: PublicState = this.operation.state; - * return { - * // Properties from PollOperationState - * isStarted: state.isStarted, - * isCompleted: state.isCompleted, - * isCancelled: state.isCancelled, - * error: state.error, - * result: state.result, - * - * // The only other property needed by PublicState. - * publicProperty: state.publicProperty - * } - * } - * } - * ``` - * - * You can see this in the tests of this repository, go to the file: - * `../test/utils/testPoller.ts` - * and look for the getOperationState implementation. - */ - getOperationState() { - return this.operation.state; + // This function satisfies the Rpc interface. It is compatible with the JSON + // JSON generated client. + request(service, method, contentType, data) { + return __awaiter2(this, void 0, void 0, function* () { + const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href; + (0, core_1.debug)(`[Request] ${method} ${url}`); + const headers = { + "Content-Type": contentType + }; + try { + const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () { + return this.httpClient.post(url, JSON.stringify(data), headers); + })); + return body; + } catch (error3) { + throw new Error(`Failed to ${method}: ${error3.message}`); + } + }); + } + retryableRequest(operation) { + return __awaiter2(this, void 0, void 0, function* () { + let attempt = 0; + let errorMessage = ""; + let rawBody = ""; + while (attempt < this.maxAttempts) { + let isRetryable = false; + try { + const response = yield operation(); + const statusCode = response.message.statusCode; + rawBody = yield response.readBody(); + (0, core_1.debug)(`[Response] - ${response.message.statusCode}`); + (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`); + const body = JSON.parse(rawBody); + (0, util_1.maskSecretUrls)(body); + (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`); + if (this.isSuccessStatusCode(statusCode)) { + return { response, body }; + } + isRetryable = this.isRetryableHttpStatusCode(statusCode); + errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`; + if (body.msg) { + if (errors_1.UsageError.isUsageErrorMessage(body.msg)) { + throw new errors_1.UsageError(); + } + errorMessage = `${errorMessage}: ${body.msg}`; + } + } catch (error3) { + if (error3 instanceof SyntaxError) { + (0, core_1.debug)(`Raw Body: ${rawBody}`); + } + if (error3 instanceof errors_1.UsageError) { + throw error3; + } + if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) { + throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code); + } + isRetryable = true; + errorMessage = error3.message; + } + if (!isRetryable) { + throw new Error(`Received non-retryable error: ${errorMessage}`); + } + if (attempt + 1 === this.maxAttempts) { + throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`); + } + const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt); + (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`); + yield this.sleep(retryTimeMilliseconds); + attempt++; + } + throw new Error(`Request failed`); + }); } - /** - * Returns the result value of the operation, - * regardless of the state of the poller. - * It can return undefined or an incomplete form of the final TResult value - * depending on the implementation. - */ - getResult() { - const state = this.operation.state; - return state.result; + isSuccessStatusCode(statusCode) { + if (!statusCode) + return false; + return statusCode >= 200 && statusCode < 300; } - /** - * Returns a serialized version of the poller's operation - * by invoking the operation's toString method. - */ - toString() { - return this.operation.toString(); + isRetryableHttpStatusCode(statusCode) { + if (!statusCode) + return false; + const retryableStatusCodes = [ + http_client_1.HttpCodes.BadGateway, + http_client_1.HttpCodes.GatewayTimeout, + http_client_1.HttpCodes.InternalServerError, + http_client_1.HttpCodes.ServiceUnavailable, + http_client_1.HttpCodes.TooManyRequests + ]; + return retryableStatusCodes.includes(statusCode); + } + sleep(milliseconds) { + return __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve5) => setTimeout(resolve5, milliseconds)); + }); + } + getExponentialRetryTimeMilliseconds(attempt) { + if (attempt < 0) { + throw new Error("attempt should be a positive integer"); + } + if (attempt === 0) { + return this.baseRetryIntervalMilliseconds; + } + const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt); + const maxTime = minTime * this.retryMultiplier; + return Math.trunc(Math.random() * (maxTime - minTime) + minTime); } }; - exports2.Poller = Poller; + function internalArtifactTwirpClient(options) { + const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier); + return new generated_1.ArtifactServiceClientJSON(client); + } + exports2.internalArtifactTwirpClient = internalArtifactTwirpClient; } }); -// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js -var require_lroEngine = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js +var require_upload_zip_specification = __commonJS({ + "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.LroEngine = void 0; - var operation_js_1 = require_operation3(); - var constants_js_1 = require_constants17(); - var poller_js_1 = require_poller3(); - var operation_js_2 = require_operation(); - var LroEngine = class extends poller_js_1.Poller { - constructor(lro, options) { - const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {}; - const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {}; - const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone); - super(operation); - this.resolveOnUnsuccessful = resolveOnUnsuccessful; - this.config = { intervalInMs }; - operation.setPollerConfig(this.config); + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; } - /** - * The method used by the poller to wait before attempting to update its operation. - */ - delay() { - return new Promise((resolve5) => setTimeout(() => resolve5(), this.config.intervalInMs)); + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k); } + __setModuleDefault2(result, mod); + return result; }; - exports2.LroEngine = LroEngine; - } -}); - -// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js -var require_lroEngine2 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) { - "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.LroEngine = void 0; - var lroEngine_js_1 = require_lroEngine(); - Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() { - return lroEngine_js_1.LroEngine; - } }); + exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0; + var fs8 = __importStar2(require("fs")); + var core_1 = require_core(); + var path_1 = require("path"); + var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation(); + function validateRootDirectory(rootDirectory) { + if (!fs8.existsSync(rootDirectory)) { + throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`); + } + if (!fs8.statSync(rootDirectory).isDirectory()) { + throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`); + } + (0, core_1.info)(`Root directory input is valid!`); + } + exports2.validateRootDirectory = validateRootDirectory; + function getUploadZipSpecification(filesToZip, rootDirectory) { + const specification = []; + rootDirectory = (0, path_1.normalize)(rootDirectory); + rootDirectory = (0, path_1.resolve)(rootDirectory); + for (let file of filesToZip) { + const stats = fs8.lstatSync(file, { throwIfNoEntry: false }); + if (!stats) { + throw new Error(`File ${file} does not exist`); + } + if (!stats.isDirectory()) { + file = (0, path_1.normalize)(file); + file = (0, path_1.resolve)(file); + if (!file.startsWith(rootDirectory)) { + throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`); + } + const uploadPath = file.replace(rootDirectory, ""); + (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath); + specification.push({ + sourcePath: file, + destinationPath: uploadPath, + stats + }); + } else { + const directoryPath = file.replace(rootDirectory, ""); + (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath); + specification.push({ + sourcePath: null, + destinationPath: directoryPath, + stats + }); + } + } + return specification; + } + exports2.getUploadZipSpecification = getUploadZipSpecification; } }); -// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js -var require_pollOperation = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) { +// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js +var require_blob_upload = __commonJS({ + "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) { "use strict"; + var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports2 && exports2.__importStar || function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k); + } + __setModuleDefault2(result, mod); + return result; + }; + var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve5) { + resolve5(value); + }); + } + return new (P || (P = Promise))(function(resolve5, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.uploadZipToBlobStorage = void 0; + var storage_blob_1 = require_commonjs15(); + var config_1 = require_config2(); + var core14 = __importStar2(require_core()); + var crypto2 = __importStar2(require("crypto")); + var stream = __importStar2(require("stream")); + var errors_1 = require_errors4(); + function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) { + return __awaiter2(this, void 0, void 0, function* () { + let uploadByteCount = 0; + let lastProgressTime = Date.now(); + const abortController = new AbortController(); + const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve5, reject) => { + const timer = setInterval(() => { + if (Date.now() - lastProgressTime > interval) { + reject(new Error("Upload progress stalled.")); + } + }, interval); + abortController.signal.addEventListener("abort", () => { + clearInterval(timer); + resolve5(); + }); + }); + }); + const maxConcurrency = (0, config_1.getConcurrency)(); + const bufferSize = (0, config_1.getUploadChunkSize)(); + const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL); + const blockBlobClient = blobClient.getBlockBlobClient(); + core14.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`); + const uploadCallback = (progress) => { + core14.info(`Uploaded bytes ${progress.loadedBytes}`); + uploadByteCount = progress.loadedBytes; + lastProgressTime = Date.now(); + }; + const options = { + blobHTTPHeaders: { blobContentType: "zip" }, + onProgress: uploadCallback, + abortSignal: abortController.signal + }; + let sha256Hash = void 0; + const uploadStream = new stream.PassThrough(); + const hashStream = crypto2.createHash("sha256"); + zipUploadStream.pipe(uploadStream); + zipUploadStream.pipe(hashStream).setEncoding("hex"); + core14.info("Beginning upload of artifact content to blob storage"); + try { + yield Promise.race([ + blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options), + chunkTimer((0, config_1.getUploadChunkTimeout)()) + ]); + } catch (error3) { + if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) { + throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code); + } + throw error3; + } finally { + abortController.abort(); + } + core14.info("Finished uploading artifact content to blob storage!"); + hashStream.end(); + sha256Hash = hashStream.read(); + core14.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`); + if (uploadByteCount === 0) { + core14.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`); + } + return { + uploadSize: uploadByteCount, + sha256Hash + }; + }); + } + exports2.uploadZipToBlobStorage = uploadZipToBlobStorage; } }); -// node_modules/@azure/core-lro/dist/commonjs/index.js -var require_commonjs14 = __commonJS({ - "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.createHttpPoller = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var poller_js_1 = require_poller2(); - Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() { - return poller_js_1.createHttpPoller; - } }); - tslib_1.__exportStar(require_lroEngine2(), exports2); - tslib_1.__exportStar(require_poller3(), exports2); - tslib_1.__exportStar(require_pollOperation(), exports2); +// node_modules/readdir-glob/node_modules/minimatch/lib/path.js +var require_path = __commonJS({ + "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) { + var isWindows = typeof process === "object" && process && process.platform === "win32"; + module2.exports = isWindows ? { sep: "\\" } : { sep: "/" }; } }); -// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js -var require_BlobStartCopyFromUrlPoller = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobBeginCopyFromUrlPoller = void 0; - var core_util_1 = require_commonjs4(); - var core_lro_1 = require_commonjs14(); - var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller { - intervalInMs; - constructor(options) { - const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options; - let state; - if (resumeFrom) { - state = JSON.parse(resumeFrom).state; +// node_modules/readdir-glob/node_modules/brace-expansion/index.js +var require_brace_expansion2 = __commonJS({ + "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) { + var balanced = require_balanced_match(); + module2.exports = expandTop; + var escSlash = "\0SLASH" + Math.random() + "\0"; + var escOpen = "\0OPEN" + Math.random() + "\0"; + var escClose = "\0CLOSE" + Math.random() + "\0"; + var escComma = "\0COMMA" + Math.random() + "\0"; + var escPeriod = "\0PERIOD" + Math.random() + "\0"; + function numeric(str2) { + return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0); + } + function escapeBraces(str2) { + return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod); + } + function unescapeBraces(str2) { + return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join("."); + } + function parseCommaParts(str2) { + if (!str2) + return [""]; + var parts = []; + var m = balanced("{", "}", str2); + if (!m) + return str2.split(","); + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(","); + p[p.length - 1] += "{" + body + "}"; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length - 1] += postParts.shift(); + p.push.apply(p, postParts); + } + parts.push.apply(parts, p); + return parts; + } + function expandTop(str2) { + if (!str2) + return []; + if (str2.substr(0, 2) === "{}") { + str2 = "\\{\\}" + str2.substr(2); + } + return expand2(escapeBraces(str2), true).map(unescapeBraces); + } + function embrace(str2) { + return "{" + str2 + "}"; + } + function isPadded(el) { + return /^-?0\d/.test(el); + } + function lte(i, y) { + return i <= y; + } + function gte6(i, y) { + return i >= y; + } + function expand2(str2, isTop) { + var expansions = []; + var m = balanced("{", "}", str2); + if (!m) return [str2]; + var pre = m.pre; + var post = m.post.length ? expand2(m.post, false) : [""]; + if (/\$$/.test(m.pre)) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + "{" + m.body + "}" + post[k]; + expansions.push(expansion); } - const operation = makeBlobBeginCopyFromURLPollOperation({ - ...state, - blobClient, - copySource, - startCopyFromURLOptions - }); - super(operation); - if (typeof onProgress === "function") { - this.onProgress(onProgress); + } else { + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(",") >= 0; + if (!isSequence && !isOptions) { + if (m.post.match(/,(?!,).*\}/)) { + str2 = m.pre + "{" + m.body + escClose + m.post; + return expand2(str2); + } + return [str2]; + } + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + n = expand2(n[0], false).map(embrace); + if (n.length === 1) { + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } + } + } + var N; + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length); + var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte6; + } + var pad = n.some(isPadded); + N = []; + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === "\\") + c = ""; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join("0"); + if (i < 0) + c = "-" + z + c.slice(1); + else + c = z + c; + } + } + } + N.push(c); + } + } else { + N = []; + for (var j = 0; j < n.length; j++) { + N.push.apply(N, expand2(n[j], false)); + } + } + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } } - this.intervalInMs = intervalInMs; } - delay() { - return (0, core_util_1.delay)(this.intervalInMs); + return expansions; + } + } +}); + +// node_modules/readdir-glob/node_modules/minimatch/minimatch.js +var require_minimatch2 = __commonJS({ + "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) { + var minimatch = module2.exports = (p, pattern, options = {}) => { + assertValidPattern(pattern); + if (!options.nocomment && pattern.charAt(0) === "#") { + return false; } + return new Minimatch(pattern, options).match(p); }; - exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller; - var cancel = async function cancel2(options = {}) { - const state = this.state; - const { copyId } = state; - if (state.isCompleted) { - return makeBlobBeginCopyFromURLPollOperation(state); + module2.exports = minimatch; + var path7 = require_path(); + minimatch.sep = path7.sep; + var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **"); + minimatch.GLOBSTAR = GLOBSTAR; + var expand2 = require_brace_expansion2(); + var plTypes = { + "!": { open: "(?:(?!(?:", close: "))[^/]*?)" }, + "?": { open: "(?:", close: ")?" }, + "+": { open: "(?:", close: ")+" }, + "*": { open: "(?:", close: ")*" }, + "@": { open: "(?:", close: ")" } + }; + var qmark = "[^/]"; + var star = qmark + "*?"; + var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; + var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?"; + var charSet = (s) => s.split("").reduce((set2, c) => { + set2[c] = true; + return set2; + }, {}); + var reSpecials = charSet("().*{}+?[]^$\\!"); + var addPatternStartSet = charSet("[.("); + var slashSplit = /\/+/; + minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options); + var ext = (a, b = {}) => { + const t = {}; + Object.keys(a).forEach((k) => t[k] = a[k]); + Object.keys(b).forEach((k) => t[k] = b[k]); + return t; + }; + minimatch.defaults = (def) => { + if (!def || typeof def !== "object" || !Object.keys(def).length) { + return minimatch; } - if (!copyId) { - state.isCancelled = true; - return makeBlobBeginCopyFromURLPollOperation(state); + const orig = minimatch; + const m = (p, pattern, options) => orig(p, pattern, ext(def, options)); + m.Minimatch = class Minimatch extends orig.Minimatch { + constructor(pattern, options) { + super(pattern, ext(def, options)); + } + }; + m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch; + m.filter = (pattern, options) => orig.filter(pattern, ext(def, options)); + m.defaults = (options) => orig.defaults(ext(def, options)); + m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options)); + m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options)); + m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options)); + return m; + }; + minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options); + var braceExpand = (pattern, options = {}) => { + assertValidPattern(pattern); + if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { + return [pattern]; } - await state.blobClient.abortCopyFromURL(copyId, { - abortSignal: options.abortSignal - }); - state.isCancelled = true; - return makeBlobBeginCopyFromURLPollOperation(state); + return expand2(pattern); }; - var update = async function update2(options = {}) { - const state = this.state; - const { blobClient, copySource, startCopyFromURLOptions } = state; - if (!state.isStarted) { - state.isStarted = true; - const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions); - state.copyId = result.copyId; - if (result.copyStatus === "success") { - state.result = result; - state.isCompleted = true; + var MAX_PATTERN_LENGTH = 1024 * 64; + var assertValidPattern = (pattern) => { + if (typeof pattern !== "string") { + throw new TypeError("invalid pattern"); + } + if (pattern.length > MAX_PATTERN_LENGTH) { + throw new TypeError("pattern is too long"); + } + }; + var SUBPARSE = /* @__PURE__ */ Symbol("subparse"); + minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe(); + minimatch.match = (list, pattern, options = {}) => { + const mm = new Minimatch(pattern, options); + list = list.filter((f) => mm.match(f)); + if (mm.options.nonull && !list.length) { + list.push(pattern); + } + return list; + }; + var globUnescape = (s) => s.replace(/\\(.)/g, "$1"); + var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1"); + var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&"); + var Minimatch = class { + constructor(pattern, options) { + assertValidPattern(pattern); + if (!options) options = {}; + this.options = options; + this.set = []; + this.pattern = pattern; + this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false; + if (this.windowsPathsNoEscape) { + this.pattern = this.pattern.replace(/\\/g, "/"); } - } else if (!state.isCompleted) { - try { - const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal }); - const { copyStatus, copyProgress } = result; - const prevCopyProgress = state.copyProgress; - if (copyProgress) { - state.copyProgress = copyProgress; + this.regexp = null; + this.negate = false; + this.comment = false; + this.empty = false; + this.partial = !!options.partial; + this.make(); + } + debug() { + } + make() { + const pattern = this.pattern; + const options = this.options; + if (!options.nocomment && pattern.charAt(0) === "#") { + this.comment = true; + return; + } + if (!pattern) { + this.empty = true; + return; + } + this.parseNegate(); + let set2 = this.globSet = this.braceExpand(); + if (options.debug) this.debug = (...args) => console.error(...args); + this.debug(this.pattern, set2); + set2 = this.globParts = set2.map((s) => s.split(slashSplit)); + this.debug(this.pattern, set2); + set2 = set2.map((s, si, set3) => s.map(this.parse, this)); + this.debug(this.pattern, set2); + set2 = set2.filter((s) => s.indexOf(false) === -1); + this.debug(this.pattern, set2); + this.set = set2; + } + parseNegate() { + if (this.options.nonegate) return; + const pattern = this.pattern; + let negate = false; + let negateOffset = 0; + for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) { + negate = !negate; + negateOffset++; + } + if (negateOffset) this.pattern = pattern.slice(negateOffset); + this.negate = negate; + } + // set partial to true to test if, for example, + // "/a/b" matches the start of "/*/b/*/d" + // Partial means, if you run out of file before you run + // out of pattern, then that's fine, as long as all + // the parts match. + matchOne(file, pattern, partial) { + var options = this.options; + this.debug( + "matchOne", + { "this": this, file, pattern } + ); + this.debug("matchOne", file.length, pattern.length); + for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) { + this.debug("matchOne loop"); + var p = pattern[pi]; + var f = file[fi]; + this.debug(pattern, p, f); + if (p === false) return false; + if (p === GLOBSTAR) { + this.debug("GLOBSTAR", [pattern, p, f]); + var fr = fi; + var pr = pi + 1; + if (pr === pl) { + this.debug("** at the end"); + for (; fi < fl; fi++) { + if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false; + } + return true; + } + while (fr < fl) { + var swallowee = file[fr]; + this.debug("\nglobstar while", file, fr, pattern, pr, swallowee); + if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { + this.debug("globstar found match!", fr, fl, swallowee); + return true; + } else { + if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") { + this.debug("dot detected!", file, fr, pattern, pr); + break; + } + this.debug("globstar swallow a segment, and continue"); + fr++; + } + } + if (partial) { + this.debug("\n>>> no match, partial?", file, fr, pattern, pr); + if (fr === fl) return true; + } + return false; } - if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") { - options.fireProgress(state); - } else if (copyStatus === "success") { - state.result = result; - state.isCompleted = true; - } else if (copyStatus === "failed") { - state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`); - state.isCompleted = true; + var hit; + if (typeof p === "string") { + hit = f === p; + this.debug("string match", p, f, hit); + } else { + hit = f.match(p); + this.debug("pattern match", p, f, hit); } - } catch (err) { - state.error = err; - state.isCompleted = true; + if (!hit) return false; } - } - return makeBlobBeginCopyFromURLPollOperation(state); - }; - var toString2 = function toString3() { - return JSON.stringify({ state: this.state }, (key, value) => { - if (key === "blobClient") { - return void 0; + if (fi === fl && pi === pl) { + return true; + } else if (fi === fl) { + return partial; + } else if (pi === pl) { + return fi === fl - 1 && file[fi] === ""; } - return value; - }); - }; - function makeBlobBeginCopyFromURLPollOperation(state) { - return { - state: { ...state }, - cancel, - toString: toString2, - update - }; - } - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/Range.js -var require_Range = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.rangeToString = rangeToString; - function rangeToString(iRange) { - if (iRange.offset < 0) { - throw new RangeError(`Range.offset cannot be smaller than 0.`); + throw new Error("wtf?"); } - if (iRange.count && iRange.count <= 0) { - throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`); + braceExpand() { + return braceExpand(this.pattern, this.options); } - return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`; - } - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js -var require_Batch = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Batch = void 0; - var events_1 = require("events"); - var BatchStates; - (function(BatchStates2) { - BatchStates2[BatchStates2["Good"] = 0] = "Good"; - BatchStates2[BatchStates2["Error"] = 1] = "Error"; - })(BatchStates || (BatchStates = {})); - var Batch = class { - /** - * Concurrency. Must be lager than 0. - */ - concurrency; - /** - * Number of active operations under execution. - */ - actives = 0; - /** - * Number of completed operations under execution. - */ - completed = 0; - /** - * Offset of next operation to be executed. - */ - offset = 0; - /** - * Operation array to be executed. - */ - operations = []; - /** - * States of Batch. When an error happens, state will turn into error. - * Batch will stop execute left operations. - */ - state = BatchStates.Good; - /** - * A private emitter used to pass events inside this class. - */ - emitter; - /** - * Creates an instance of Batch. - * @param concurrency - - */ - constructor(concurrency = 5) { - if (concurrency < 1) { - throw new RangeError("concurrency must be larger than 0"); + parse(pattern, isSub) { + assertValidPattern(pattern); + const options = this.options; + if (pattern === "**") { + if (!options.noglobstar) + return GLOBSTAR; + else + pattern = "*"; + } + if (pattern === "") return ""; + let re = ""; + let hasMagic = false; + let escaping = false; + const patternListStack = []; + const negativeLists = []; + let stateChar; + let inClass = false; + let reClassStart = -1; + let classStart = -1; + let cs; + let pl; + let sp; + let dotTravAllowed = pattern.charAt(0) === "."; + let dotFileAllowed = options.dot || dotTravAllowed; + const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)"; + const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)"; + const clearStateChar = () => { + if (stateChar) { + switch (stateChar) { + case "*": + re += star; + hasMagic = true; + break; + case "?": + re += qmark; + hasMagic = true; + break; + default: + re += "\\" + stateChar; + break; + } + this.debug("clearStateChar %j %j", stateChar, re); + stateChar = false; + } + }; + for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) { + this.debug("%s %s %s %j", pattern, i, re, c); + if (escaping) { + if (c === "/") { + return false; + } + if (reSpecials[c]) { + re += "\\"; + } + re += c; + escaping = false; + continue; + } + switch (c) { + /* istanbul ignore next */ + case "/": { + return false; + } + case "\\": + if (inClass && pattern.charAt(i + 1) === "-") { + re += c; + continue; + } + clearStateChar(); + escaping = true; + continue; + // the various stateChar values + // for the "extglob" stuff. + case "?": + case "*": + case "+": + case "@": + case "!": + this.debug("%s %s %s %j <-- stateChar", pattern, i, re, c); + if (inClass) { + this.debug(" in class"); + if (c === "!" && i === classStart + 1) c = "^"; + re += c; + continue; + } + this.debug("call clearStateChar %j", stateChar); + clearStateChar(); + stateChar = c; + if (options.noext) clearStateChar(); + continue; + case "(": { + if (inClass) { + re += "("; + continue; + } + if (!stateChar) { + re += "\\("; + continue; + } + const plEntry = { + type: stateChar, + start: i - 1, + reStart: re.length, + open: plTypes[stateChar].open, + close: plTypes[stateChar].close + }; + this.debug(this.pattern, " ", plEntry); + patternListStack.push(plEntry); + re += plEntry.open; + if (plEntry.start === 0 && plEntry.type !== "!") { + dotTravAllowed = true; + re += subPatternStart(pattern.slice(i + 1)); + } + this.debug("plType %j %j", stateChar, re); + stateChar = false; + continue; + } + case ")": { + const plEntry = patternListStack[patternListStack.length - 1]; + if (inClass || !plEntry) { + re += "\\)"; + continue; + } + patternListStack.pop(); + clearStateChar(); + hasMagic = true; + pl = plEntry; + re += pl.close; + if (pl.type === "!") { + negativeLists.push(Object.assign(pl, { reEnd: re.length })); + } + continue; + } + case "|": { + const plEntry = patternListStack[patternListStack.length - 1]; + if (inClass || !plEntry) { + re += "\\|"; + continue; + } + clearStateChar(); + re += "|"; + if (plEntry.start === 0 && plEntry.type !== "!") { + dotTravAllowed = true; + re += subPatternStart(pattern.slice(i + 1)); + } + continue; + } + // these are mostly the same in regexp and glob + case "[": + clearStateChar(); + if (inClass) { + re += "\\" + c; + continue; + } + inClass = true; + classStart = i; + reClassStart = re.length; + re += c; + continue; + case "]": + if (i === classStart + 1 || !inClass) { + re += "\\" + c; + continue; + } + cs = pattern.substring(classStart + 1, i); + try { + RegExp("[" + braExpEscape(charUnescape(cs)) + "]"); + re += c; + } catch (er) { + re = re.substring(0, reClassStart) + "(?:$.)"; + } + hasMagic = true; + inClass = false; + continue; + default: + clearStateChar(); + if (reSpecials[c] && !(c === "^" && inClass)) { + re += "\\"; + } + re += c; + break; + } } - this.concurrency = concurrency; - this.emitter = new events_1.EventEmitter(); - } - /** - * Add a operation into queue. - * - * @param operation - - */ - addOperation(operation) { - this.operations.push(async () => { - try { - this.actives++; - await operation(); - this.actives--; - this.completed++; - this.parallelExecute(); - } catch (error3) { - this.emitter.emit("error", error3); + if (inClass) { + cs = pattern.slice(classStart + 1); + sp = this.parse(cs, SUBPARSE); + re = re.substring(0, reClassStart) + "\\[" + sp[0]; + hasMagic = hasMagic || sp[1]; + } + for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { + let tail; + tail = re.slice(pl.reStart + pl.open.length); + this.debug("setting tail", re, pl); + tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => { + if (!$2) { + $2 = "\\"; + } + return $1 + $1 + $2 + "|"; + }); + this.debug("tail=%j\n %s", tail, tail, pl, re); + const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type; + hasMagic = true; + re = re.slice(0, pl.reStart) + t + "\\(" + tail; + } + clearStateChar(); + if (escaping) { + re += "\\\\"; + } + const addPatternStart = addPatternStartSet[re.charAt(0)]; + for (let n = negativeLists.length - 1; n > -1; n--) { + const nl = negativeLists[n]; + const nlBefore = re.slice(0, nl.reStart); + const nlFirst = re.slice(nl.reStart, nl.reEnd - 8); + let nlAfter = re.slice(nl.reEnd); + const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter; + const closeParensBefore = nlBefore.split(")").length; + const openParensBefore = nlBefore.split("(").length - closeParensBefore; + let cleanAfter = nlAfter; + for (let i = 0; i < openParensBefore; i++) { + cleanAfter = cleanAfter.replace(/\)[+*?]?/, ""); } - }); - } - /** - * Start execute operations in the queue. - * - */ - async do() { - if (this.operations.length === 0) { - return Promise.resolve(); + nlAfter = cleanAfter; + const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : ""; + re = nlBefore + nlFirst + nlAfter + dollar + nlLast; } - this.parallelExecute(); - return new Promise((resolve5, reject) => { - this.emitter.on("finish", resolve5); - this.emitter.on("error", (error3) => { - this.state = BatchStates.Error; - reject(error3); + if (re !== "" && hasMagic) { + re = "(?=.)" + re; + } + if (addPatternStart) { + re = patternStart() + re; + } + if (isSub === SUBPARSE) { + return [re, hasMagic]; + } + if (options.nocase && !hasMagic) { + hasMagic = pattern.toUpperCase() !== pattern.toLowerCase(); + } + if (!hasMagic) { + return globUnescape(pattern); + } + const flags = options.nocase ? "i" : ""; + try { + return Object.assign(new RegExp("^" + re + "$", flags), { + _glob: pattern, + _src: re }); - }); + } catch (er) { + return new RegExp("$."); + } } - /** - * Get next operation to be executed. Return null when reaching ends. - * - */ - nextOperation() { - if (this.offset < this.operations.length) { - return this.operations[this.offset++]; + makeRe() { + if (this.regexp || this.regexp === false) return this.regexp; + const set2 = this.set; + if (!set2.length) { + this.regexp = false; + return this.regexp; } - return null; + const options = this.options; + const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot; + const flags = options.nocase ? "i" : ""; + let re = set2.map((pattern) => { + pattern = pattern.map( + (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src + ).reduce((set3, p) => { + if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) { + set3.push(p); + } + return set3; + }, []); + pattern.forEach((p, i) => { + if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) { + return; + } + if (i === 0) { + if (pattern.length > 1) { + pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1]; + } else { + pattern[i] = twoStar; + } + } else if (i === pattern.length - 1) { + pattern[i - 1] += "(?:\\/|" + twoStar + ")?"; + } else { + pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1]; + pattern[i + 1] = GLOBSTAR; + } + }); + return pattern.filter((p) => p !== GLOBSTAR).join("/"); + }).join("|"); + re = "^(?:" + re + ")$"; + if (this.negate) re = "^(?!" + re + ").*$"; + try { + this.regexp = new RegExp(re, flags); + } catch (ex) { + this.regexp = false; + } + return this.regexp; } - /** - * Start execute operations. One one the most important difference between - * this method with do() is that do() wraps as an sync method. - * - */ - parallelExecute() { - if (this.state === BatchStates.Error) { - return; + match(f, partial = this.partial) { + this.debug("match", f, this.pattern); + if (this.comment) return false; + if (this.empty) return f === ""; + if (f === "/" && partial) return true; + const options = this.options; + if (path7.sep !== "/") { + f = f.split(path7.sep).join("/"); } - if (this.completed >= this.operations.length) { - this.emitter.emit("finish"); - return; + f = f.split(slashSplit); + this.debug(this.pattern, "split", f); + const set2 = this.set; + this.debug(this.pattern, "set", set2); + let filename; + for (let i = f.length - 1; i >= 0; i--) { + filename = f[i]; + if (filename) break; } - while (this.actives < this.concurrency) { - const operation = this.nextOperation(); - if (operation) { - operation(); - } else { - return; + for (let i = 0; i < set2.length; i++) { + const pattern = set2[i]; + let file = f; + if (options.matchBase && pattern.length === 1) { + file = [filename]; + } + const hit = this.matchOne(file, pattern, partial); + if (hit) { + if (options.flipNegate) return true; + return !this.negate; } } + if (options.flipNegate) return false; + return this.negate; + } + static defaults(def) { + return minimatch.defaults(def).Minimatch; } }; - exports2.Batch = Batch; + minimatch.Minimatch = Minimatch; } }); -// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js -var require_utils7 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.fsCreateReadStream = exports2.fsStat = void 0; - exports2.streamToBuffer = streamToBuffer; - exports2.streamToBuffer2 = streamToBuffer2; - exports2.streamToBuffer3 = streamToBuffer3; - exports2.readStreamToLocalFile = readStreamToLocalFile; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var node_fs_1 = tslib_1.__importDefault(require("node:fs")); - var node_util_1 = tslib_1.__importDefault(require("node:util")); - var constants_js_1 = require_constants15(); - async function streamToBuffer(stream, buffer, offset, end, encoding) { - let pos = 0; - const count = end - offset; - return new Promise((resolve5, reject) => { - const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT); - stream.on("readable", () => { - if (pos >= count) { - clearTimeout(timeout); - resolve5(); - return; - } - let chunk = stream.read(); - if (!chunk) { - return; - } - if (typeof chunk === "string") { - chunk = Buffer.from(chunk, encoding); - } - const chunkLength = pos + chunk.length > count ? count - pos : chunk.length; - buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength); - pos += chunkLength; - }); - stream.on("end", () => { - clearTimeout(timeout); - if (pos < count) { - reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`)); +// node_modules/readdir-glob/index.js +var require_readdir_glob = __commonJS({ + "node_modules/readdir-glob/index.js"(exports2, module2) { + module2.exports = readdirGlob; + var fs8 = require("fs"); + var { EventEmitter } = require("events"); + var { Minimatch } = require_minimatch2(); + var { resolve: resolve5 } = require("path"); + function readdir(dir, strict) { + return new Promise((resolve6, reject) => { + fs8.readdir(dir, { withFileTypes: true }, (err, files) => { + if (err) { + switch (err.code) { + case "ENOTDIR": + if (strict) { + reject(err); + } else { + resolve6([]); + } + break; + case "ENOTSUP": + // Operation not supported + case "ENOENT": + // No such file or directory + case "ENAMETOOLONG": + // Filename too long + case "UNKNOWN": + resolve6([]); + break; + case "ELOOP": + // Too many levels of symbolic links + default: + reject(err); + break; + } + } else { + resolve6(files); } - resolve5(); - }); - stream.on("error", (msg) => { - clearTimeout(timeout); - reject(msg); }); }); } - async function streamToBuffer2(stream, buffer, encoding) { - let pos = 0; - const bufferSize = buffer.length; - return new Promise((resolve5, reject) => { - stream.on("readable", () => { - let chunk = stream.read(); - if (!chunk) { - return; - } - if (typeof chunk === "string") { - chunk = Buffer.from(chunk, encoding); - } - if (pos + chunk.length > bufferSize) { - reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`)); - return; + function stat(file, followSymlinks) { + return new Promise((resolve6, reject) => { + const statFunc = followSymlinks ? fs8.stat : fs8.lstat; + statFunc(file, (err, stats) => { + if (err) { + switch (err.code) { + case "ENOENT": + if (followSymlinks) { + resolve6(stat(file, false)); + } else { + resolve6(null); + } + break; + default: + resolve6(null); + break; + } + } else { + resolve6(stats); } - buffer.fill(chunk, pos, pos + chunk.length); - pos += chunk.length; - }); - stream.on("end", () => { - resolve5(pos); }); - stream.on("error", reject); }); } - async function streamToBuffer3(readableStream, encoding) { - return new Promise((resolve5, reject) => { - const chunks = []; - readableStream.on("data", (data) => { - chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data); - }); - readableStream.on("end", () => { - resolve5(Buffer.concat(chunks)); - }); - readableStream.on("error", reject); - }); + async function* exploreWalkAsync(dir, path7, followSymlinks, useStat, shouldSkip, strict) { + let files = await readdir(path7 + dir, strict); + for (const file of files) { + let name = file.name; + if (name === void 0) { + name = file; + useStat = true; + } + const filename = dir + "/" + name; + const relative = filename.slice(1); + const absolute = path7 + "/" + relative; + let stats = null; + if (useStat || followSymlinks) { + stats = await stat(absolute, followSymlinks); + } + if (!stats && file.name !== void 0) { + stats = file; + } + if (stats === null) { + stats = { isDirectory: () => false }; + } + if (stats.isDirectory()) { + if (!shouldSkip(relative)) { + yield { relative, absolute, stats }; + yield* exploreWalkAsync(filename, path7, followSymlinks, useStat, shouldSkip, false); + } + } else { + yield { relative, absolute, stats }; + } + } } - async function readStreamToLocalFile(rs, file) { - return new Promise((resolve5, reject) => { - const ws = node_fs_1.default.createWriteStream(file); - rs.on("error", (err) => { - reject(err); - }); - ws.on("error", (err) => { - reject(err); - }); - ws.on("close", resolve5); - rs.pipe(ws); - }); + async function* explore(path7, followSymlinks, useStat, shouldSkip) { + yield* exploreWalkAsync("", path7, followSymlinks, useStat, shouldSkip, true); } - exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat); - exports2.fsCreateReadStream = node_fs_1.default.createReadStream; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/Clients.js -var require_Clients = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0; - var core_rest_pipeline_1 = require_commonjs6(); - var core_auth_1 = require_commonjs7(); - var core_util_1 = require_commonjs4(); - var core_util_2 = require_commonjs4(); - var BlobDownloadResponse_js_1 = require_BlobDownloadResponse(); - var BlobQueryResponse_js_1 = require_BlobQueryResponse(); - var AnonymousCredential_js_1 = require_AnonymousCredential(); - var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); - var models_js_1 = require_models2(); - var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse(); - var Pipeline_js_1 = require_Pipeline(); - var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller(); - var Range_js_1 = require_Range(); - var StorageClient_js_1 = require_StorageClient(); - var Batch_js_1 = require_Batch(); - var storage_common_1 = require_commonjs13(); - var constants_js_1 = require_constants15(); - var tracing_js_1 = require_tracing(); - var utils_common_js_1 = require_utils_common(); - var utils_js_1 = require_utils7(); - var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues(); - var BlobLeaseClient_js_1 = require_BlobLeaseClient(); - var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient { - /** - * blobContext provided by protocol layer. - */ - blobContext; - _name; - _containerName; - _versionId; - _snapshot; - /** - * The name of the blob. - */ - get name() { - return this._name; + function readOptions(options) { + return { + pattern: options.pattern, + dot: !!options.dot, + noglobstar: !!options.noglobstar, + matchBase: !!options.matchBase, + nocase: !!options.nocase, + ignore: options.ignore, + skip: options.skip, + follow: !!options.follow, + stat: !!options.stat, + nodir: !!options.nodir, + mark: !!options.mark, + silent: !!options.silent, + absolute: !!options.absolute + }; + } + var ReaddirGlob = class extends EventEmitter { + constructor(cwd, options, cb) { + super(); + if (typeof options === "function") { + cb = options; + options = null; + } + this.options = readOptions(options || {}); + this.matchers = []; + if (this.options.pattern) { + const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern]; + this.matchers = matchers.map( + (m) => new Minimatch(m, { + dot: this.options.dot, + noglobstar: this.options.noglobstar, + matchBase: this.options.matchBase, + nocase: this.options.nocase + }) + ); + } + this.ignoreMatchers = []; + if (this.options.ignore) { + const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore]; + this.ignoreMatchers = ignorePatterns.map( + (ignore) => new Minimatch(ignore, { dot: true }) + ); + } + this.skipMatchers = []; + if (this.options.skip) { + const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip]; + this.skipMatchers = skipPatterns.map( + (skip) => new Minimatch(skip, { dot: true }) + ); + } + this.iterator = explore(resolve5(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this)); + this.paused = false; + this.inactive = false; + this.aborted = false; + if (cb) { + this._matches = []; + this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative)); + this.on("error", (err) => cb(err)); + this.on("end", () => cb(null, this._matches)); + } + setTimeout(() => this._next(), 0); } - /** - * The name of the storage container the blob is associated with. - */ - get containerName() { - return this._containerName; + _shouldSkipDirectory(relative) { + return this.skipMatchers.some((m) => m.match(relative)); } - constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { - options = options || {}; - let pipeline; - let url; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - pipeline = credentialOrPipelineOrContainerName; - } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - options = blobNameOrOptions; - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); - } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { - url = urlOrConnectionString; - if (blobNameOrOptions && typeof blobNameOrOptions !== "string") { - options = blobNameOrOptions; - } - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { - const containerName = credentialOrPipelineOrContainerName; - const blobName = blobNameOrOptions; - const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); - if (extractedCreds.kind === "AccountConnString") { - if (core_util_1.isNodeLike) { - const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); - if (!options.proxyOptions) { - options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + _fileMatches(relative, isDirectory) { + const file = relative + (isDirectory ? "/" : ""); + return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory); + } + _next() { + if (!this.paused && !this.aborted) { + this.iterator.next().then((obj) => { + if (!obj.done) { + const isDirectory = obj.value.stats.isDirectory(); + if (this._fileMatches(obj.value.relative, isDirectory)) { + let relative = obj.value.relative; + let absolute = obj.value.absolute; + if (this.options.mark && isDirectory) { + relative += "/"; + absolute += "/"; + } + if (this.options.stat) { + this.emit("match", { relative, absolute, stat: obj.value.stats }); + } else { + this.emit("match", { relative, absolute }); + } } - pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); + this._next(this.iterator); } else { - throw new Error("Account connection string is only supported in Node.js environment"); + this.emit("end"); } - } else if (extractedCreds.kind === "SASConnString") { - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else { - throw new Error("Connection string must be either an Account connection string or a SAS connection string"); - } + }).catch((err) => { + this.abort(); + this.emit("error", err); + if (!err.code && !this.options.silent) { + console.error(err); + } + }); } else { - throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + this.inactive = true; } - super(url, pipeline); - ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl()); - this.blobContext = this.storageClientContext.blob; - this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT); - this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID); } - /** - * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp. - * Provide "" will remove the snapshot and return a Client to the base blob. - * - * @param snapshot - The snapshot timestamp. - * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp - */ - withSnapshot(snapshot) { - return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + abort() { + this.aborted = true; } - /** - * Creates a new BlobClient object pointing to a version of this blob. - * Provide "" will remove the versionId and return a Client to the base blob. - * - * @param versionId - The versionId. - * @returns A new BlobClient object pointing to the version of this blob. - */ - withVersion(versionId) { - return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline); + pause() { + this.paused = true; } - /** - * Creates a AppendBlobClient object. - * - */ - getAppendBlobClient() { - return new AppendBlobClient(this.url, this.pipeline); + resume() { + this.paused = false; + if (this.inactive) { + this.inactive = false; + this._next(); + } } - /** - * Creates a BlockBlobClient object. - * - */ - getBlockBlobClient() { - return new BlockBlobClient(this.url, this.pipeline); + }; + function readdirGlob(pattern, options, cb) { + return new ReaddirGlob(pattern, options, cb); + } + readdirGlob.ReaddirGlob = ReaddirGlob; + } +}); + +// node_modules/async/dist/async.js +var require_async = __commonJS({ + "node_modules/async/dist/async.js"(exports2, module2) { + (function(global2, factory) { + typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {})); + })(exports2, (function(exports3) { + "use strict"; + function apply(fn, ...args) { + return (...callArgs) => fn(...args, ...callArgs); } - /** - * Creates a PageBlobClient object. - * - */ - getPageBlobClient() { - return new PageBlobClient(this.url, this.pipeline); + function initialParams(fn) { + return function(...args) { + var callback = args.pop(); + return fn.call(this, args, callback); + }; } - /** - * Reads or downloads a blob from the system, including its metadata and properties. - * You can also call Get Blob to read a snapshot. - * - * * In Node.js, data returns in a Readable stream readableStreamBody - * * In browsers, data returns in a promise blobBody - * - * @see https://learn.microsoft.com/rest/api/storageservices/get-blob - * - * @param offset - From which position of the blob to download, greater than or equal to 0 - * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined - * @param options - Optional options to Blob Download operation. - * - * - * Example usage (Node.js): - * - * ```ts snippet:ReadmeSampleDownloadBlob_Node - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blobClient = containerClient.getBlobClient(blobName); - * - * // Get blob content from position 0 to the end - * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody - * const downloadBlockBlobResponse = await blobClient.download(); - * if (downloadBlockBlobResponse.readableStreamBody) { - * const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody); - * console.log(`Downloaded blob content: ${downloaded}`); - * } - * - * async function streamToString(stream: NodeJS.ReadableStream): Promise { - * const result = await new Promise>((resolve, reject) => { - * const chunks: Buffer[] = []; - * stream.on("data", (data) => { - * chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data)); - * }); - * stream.on("end", () => { - * resolve(Buffer.concat(chunks)); - * }); - * stream.on("error", reject); - * }); - * return result.toString(); - * } - * ``` - * - * Example usage (browser): - * - * ```ts snippet:ReadmeSampleDownloadBlob_Browser - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blobClient = containerClient.getBlobClient(blobName); - * - * // Get blob content from position 0 to the end - * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody - * const downloadBlockBlobResponse = await blobClient.download(); - * const blobBody = await downloadBlockBlobResponse.blobBody; - * if (blobBody) { - * const downloaded = await blobBody.text(); - * console.log(`Downloaded blob content: ${downloaded}`); - * } - * ``` - */ - async download(offset = 0, count, options = {}) { - options.conditions = options.conditions || {}; - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => { - const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - requestOptions: { - onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress - // for Node.js, progress is reported by RetriableReadableStream - }, - range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }), - rangeGetContentMD5: options.rangeGetContentMD5, - rangeGetContentCRC64: options.rangeGetContentCrc64, - snapshot: options.snapshot, - cpkInfo: options.customerProvidedKey, - tracingOptions: updatedOptions.tracingOptions - })); - const wrappedRes = { - ...res, - _response: res._response, - // _response is made non-enumerable - objectReplicationDestinationPolicyId: res.objectReplicationPolicyId, - objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules) + var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask; + var hasSetImmediate = typeof setImmediate === "function" && setImmediate; + var hasNextTick = typeof process === "object" && typeof process.nextTick === "function"; + function fallback(fn) { + setTimeout(fn, 0); + } + function wrap(defer) { + return (fn, ...args) => defer(() => fn(...args)); + } + var _defer$1; + if (hasQueueMicrotask) { + _defer$1 = queueMicrotask; + } else if (hasSetImmediate) { + _defer$1 = setImmediate; + } else if (hasNextTick) { + _defer$1 = process.nextTick; + } else { + _defer$1 = fallback; + } + var setImmediate$1 = wrap(_defer$1); + function asyncify(func) { + if (isAsync(func)) { + return function(...args) { + const callback = args.pop(); + const promise = func.apply(this, args); + return handlePromise(promise, callback); }; - if (!core_util_1.isNodeLike) { - return wrappedRes; - } - if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) { - options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS; + } + return initialParams(function(args, callback) { + var result; + try { + result = func.apply(this, args); + } catch (e) { + return callback(e); } - if (res.contentLength === void 0) { - throw new RangeError(`File download response doesn't contain valid content length header`); + if (result && typeof result.then === "function") { + return handlePromise(result, callback); + } else { + callback(null, result); } - if (!res.etag) { - throw new RangeError(`File download response doesn't contain valid etag header`); + }); + } + function handlePromise(promise, callback) { + return promise.then((value) => { + invokeCallback(callback, null, value); + }, (err) => { + invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err)); + }); + } + function invokeCallback(callback, error3, value) { + try { + callback(error3, value); + } catch (err) { + setImmediate$1((e) => { + throw e; + }, err); + } + } + function isAsync(fn) { + return fn[Symbol.toStringTag] === "AsyncFunction"; + } + function isAsyncGenerator(fn) { + return fn[Symbol.toStringTag] === "AsyncGenerator"; + } + function isAsyncIterable(obj) { + return typeof obj[Symbol.asyncIterator] === "function"; + } + function wrapAsync(asyncFn) { + if (typeof asyncFn !== "function") throw new Error("expected a function"); + return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn; + } + function awaitify(asyncFn, arity) { + if (!arity) arity = asyncFn.length; + if (!arity) throw new Error("arity is undefined"); + function awaitable(...args) { + if (typeof args[arity - 1] === "function") { + return asyncFn.apply(this, args); } - return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => { - const updatedDownloadOptions = { - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ifMatch: options.conditions.ifMatch || res.etag, - ifModifiedSince: options.conditions.ifModifiedSince, - ifNoneMatch: options.conditions.ifNoneMatch, - ifUnmodifiedSince: options.conditions.ifUnmodifiedSince, - ifTags: options.conditions?.tagConditions - }, - range: (0, Range_js_1.rangeToString)({ - count: offset + res.contentLength - start, - offset: start - }), - rangeGetContentMD5: options.rangeGetContentMD5, - rangeGetContentCRC64: options.rangeGetContentCrc64, - snapshot: options.snapshot, - cpkInfo: options.customerProvidedKey + return new Promise((resolve5, reject2) => { + args[arity - 1] = (err, ...cbArgs) => { + if (err) return reject2(err); + resolve5(cbArgs.length > 1 ? cbArgs : cbArgs[0]); }; - return (await this.blobContext.download({ - abortSignal: options.abortSignal, - ...updatedDownloadOptions - })).readableStreamBody; - }, offset, res.contentLength, { - maxRetryRequests: options.maxRetryRequests, - onProgress: options.onProgress + asyncFn.apply(this, args); + }); + } + return awaitable; + } + function applyEach$1(eachfn) { + return function applyEach2(fns, ...callArgs) { + const go = awaitify(function(callback) { + var that = this; + return eachfn(fns, (fn, cb) => { + wrapAsync(fn).apply(that, callArgs.concat(cb)); + }, callback); + }); + return go; + }; + } + function _asyncMap(eachfn, arr, iteratee, callback) { + arr = arr || []; + var results = []; + var counter = 0; + var _iteratee = wrapAsync(iteratee); + return eachfn(arr, (value, _2, iterCb) => { + var index2 = counter++; + _iteratee(value, (err, v) => { + results[index2] = v; + iterCb(err); }); + }, (err) => { + callback(err, results); }); } - /** - * Returns true if the Azure blob resource represented by this client exists; false otherwise. - * - * NOTE: use this function with care since an existing blob might be deleted by other clients or - * applications. Vice versa new blobs might be added by other clients or applications after this - * function completes. - * - * @param options - options to Exists operation. - */ - async exists(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => { - try { - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - await this.getProperties({ - abortSignal: options.abortSignal, - customerProvidedKey: options.customerProvidedKey, - conditions: options.conditions, - tracingOptions: updatedOptions.tracingOptions - }); - return true; - } catch (e) { - if (e.statusCode === 404) { - return false; - } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) { - return true; + function isArrayLike(value) { + return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0; + } + const breakLoop = {}; + function once(fn) { + function wrapper(...args) { + if (fn === null) return; + var callFn = fn; + fn = null; + callFn.apply(this, args); + } + Object.assign(wrapper, fn); + return wrapper; + } + function getIterator(coll) { + return coll[Symbol.iterator] && coll[Symbol.iterator](); + } + function createArrayIterator(coll) { + var i = -1; + var len = coll.length; + return function next() { + return ++i < len ? { value: coll[i], key: i } : null; + }; + } + function createES2015Iterator(iterator2) { + var i = -1; + return function next() { + var item = iterator2.next(); + if (item.done) + return null; + i++; + return { value: item.value, key: i }; + }; + } + function createObjectIterator(obj) { + var okeys = obj ? Object.keys(obj) : []; + var i = -1; + var len = okeys.length; + return function next() { + var key = okeys[++i]; + if (key === "__proto__") { + return next(); + } + return i < len ? { value: obj[key], key } : null; + }; + } + function createIterator(coll) { + if (isArrayLike(coll)) { + return createArrayIterator(coll); + } + var iterator2 = getIterator(coll); + return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll); + } + function onlyOnce(fn) { + return function(...args) { + if (fn === null) throw new Error("Callback was already called."); + var callFn = fn; + fn = null; + callFn.apply(this, args); + }; + } + function asyncEachOfLimit(generator, limit, iteratee, callback) { + let done = false; + let canceled = false; + let awaiting = false; + let running = 0; + let idx = 0; + function replenish() { + if (running >= limit || awaiting || done) return; + awaiting = true; + generator.next().then(({ value, done: iterDone }) => { + if (canceled || done) return; + awaiting = false; + if (iterDone) { + done = true; + if (running <= 0) { + callback(null); + } + return; + } + running++; + iteratee(value, idx, iterateeCallback); + idx++; + replenish(); + }).catch(handleError); + } + function iterateeCallback(err, result) { + running -= 1; + if (canceled) return; + if (err) return handleError(err); + if (err === false) { + done = true; + canceled = true; + return; + } + if (result === breakLoop || done && running <= 0) { + done = true; + return callback(null); + } + replenish(); + } + function handleError(err) { + if (canceled) return; + awaiting = false; + done = true; + callback(err); + } + replenish(); + } + var eachOfLimit$2 = (limit) => { + return (obj, iteratee, callback) => { + callback = once(callback); + if (limit <= 0) { + throw new RangeError("concurrency limit cannot be less than 1"); + } + if (!obj) { + return callback(null); + } + if (isAsyncGenerator(obj)) { + return asyncEachOfLimit(obj, limit, iteratee, callback); + } + if (isAsyncIterable(obj)) { + return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback); + } + var nextElem = createIterator(obj); + var done = false; + var canceled = false; + var running = 0; + var looping = false; + function iterateeCallback(err, value) { + if (canceled) return; + running -= 1; + if (err) { + done = true; + callback(err); + } else if (err === false) { + done = true; + canceled = true; + } else if (value === breakLoop || done && running <= 0) { + done = true; + return callback(null); + } else if (!looping) { + replenish(); } - throw e; } - }); - } - /** - * Returns all user-defined metadata, standard HTTP properties, and system properties - * for the blob. It does not return the content of the blob. - * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties - * - * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if - * they originally contained uppercase characters. This differs from the metadata keys returned by - * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which - * will retain their original casing. - * - * @param options - Optional options to Get Properties operation. - */ - async getProperties(options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => { - const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - tracingOptions: updatedOptions.tracingOptions - })); - return { - ...res, - _response: res._response, - // _response is made non-enumerable - objectReplicationDestinationPolicyId: res.objectReplicationPolicyId, - objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules) - }; - }); - } - /** - * Marks the specified blob or snapshot for deletion. The blob is later deleted - * during garbage collection. Note that in order to delete a blob, you must delete - * all of its snapshots. You can delete both at the same time with the Delete - * Blob operation. - * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob - * - * @param options - Optional options to Blob Delete operation. - */ - async delete(options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({ - abortSignal: options.abortSignal, - deleteSnapshots: options.deleteSnapshots, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); - }); - } - /** - * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted - * during garbage collection. Note that in order to delete a blob, you must delete - * all of its snapshots. You can delete both at the same time with the Delete - * Blob operation. - * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob - * - * @param options - Optional options to Blob Delete operation. - */ - async deleteIfExists(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => { - try { - const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions)); - return { - succeeded: true, - ...res, - _response: res._response - // _response is made non-enumerable - }; - } catch (e) { - if (e.details?.errorCode === "BlobNotFound") { - return { - succeeded: false, - ...e.response?.parsedHeaders, - _response: e.response - }; + function replenish() { + looping = true; + while (running < limit && !done) { + var elem = nextElem(); + if (elem === null) { + done = true; + if (running <= 0) { + callback(null); + } + return; + } + running += 1; + iteratee(elem.value, elem.key, onlyOnce(iterateeCallback)); } - throw e; + looping = false; } - }); + replenish(); + }; + }; + function eachOfLimit(coll, limit, iteratee, callback) { + return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback); } - /** - * Restores the contents and metadata of soft deleted blob and any associated - * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29 - * or later. - * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob - * - * @param options - Optional options to Blob Undelete operation. - */ - async undelete(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - }); + var eachOfLimit$1 = awaitify(eachOfLimit, 4); + function eachOfArrayLike(coll, iteratee, callback) { + callback = once(callback); + var index2 = 0, completed = 0, { length } = coll, canceled = false; + if (length === 0) { + callback(null); + } + function iteratorCallback(err, value) { + if (err === false) { + canceled = true; + } + if (canceled === true) return; + if (err) { + callback(err); + } else if (++completed === length || value === breakLoop) { + callback(null); + } + } + for (; index2 < length; index2++) { + iteratee(coll[index2], index2, onlyOnce(iteratorCallback)); + } } - /** - * Sets system properties on the blob. - * - * If no value provided, or no value provided for the specified blob HTTP headers, - * these blob HTTP headers without a value will be cleared. - * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties - * - * @param blobHTTPHeaders - If no value provided, or no value provided for - * the specified blob HTTP headers, these blob HTTP - * headers without a value will be cleared. - * A common header to set is `blobContentType` - * enabling the browser to provide functionality - * based on file type. - * @param options - Optional options to Blob Set HTTP Headers operation. - */ - async setHTTPHeaders(blobHTTPHeaders, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({ - abortSignal: options.abortSignal, - blobHttpHeaders: blobHTTPHeaders, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger. - tracingOptions: updatedOptions.tracingOptions - })); - }); + function eachOfGeneric(coll, iteratee, callback) { + return eachOfLimit$1(coll, Infinity, iteratee, callback); } - /** - * Sets user-defined metadata for the specified blob as one or more name-value pairs. - * - * If no option provided, or no metadata defined in the parameter, the blob - * metadata will be removed. - * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata - * - * @param metadata - Replace existing metadata with this value. - * If no value provided the existing metadata will be removed. - * @param options - Optional options to Set Metadata operation. - */ - async setMetadata(metadata, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function eachOf(coll, iteratee, callback) { + var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric; + return eachOfImplementation(coll, wrapAsync(iteratee), callback); } - /** - * Sets tags on the underlying blob. - * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters. Tag values must be between 0 and 256 characters. - * Valid tag key and value characters include lower and upper case letters, digits (0-9), - * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_'). - * - * @param tags - - * @param options - - */ - async setTags(tags, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions, - tags: (0, utils_common_js_1.toBlobTags)(tags) - })); - }); + var eachOf$1 = awaitify(eachOf, 3); + function map2(coll, iteratee, callback) { + return _asyncMap(eachOf$1, coll, iteratee, callback); } - /** - * Gets the tags associated with the underlying blob. - * - * @param options - - */ - async getTags(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); - const wrappedResponse = { - ...response, - _response: response._response, - // _response is made non-enumerable - tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {} - }; - return wrappedResponse; - }); + var map$1 = awaitify(map2, 3); + var applyEach = applyEach$1(map$1); + function eachOfSeries(coll, iteratee, callback) { + return eachOfLimit$1(coll, 1, iteratee, callback); } - /** - * Get a {@link BlobLeaseClient} that manages leases on the blob. - * - * @param proposeLeaseId - Initial proposed lease Id. - * @returns A new BlobLeaseClient object for managing leases on the blob. - */ - getBlobLeaseClient(proposeLeaseId) { - return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId); + var eachOfSeries$1 = awaitify(eachOfSeries, 3); + function mapSeries(coll, iteratee, callback) { + return _asyncMap(eachOfSeries$1, coll, iteratee, callback); } - /** - * Creates a read-only snapshot of a blob. - * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob - * - * @param options - Optional options to the Blob Create Snapshot operation. - */ - async createSnapshot(options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - metadata: options.metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); + var mapSeries$1 = awaitify(mapSeries, 3); + var applyEachSeries = applyEach$1(mapSeries$1); + const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback"); + function promiseCallback() { + let resolve5, reject2; + function callback(err, ...args) { + if (err) return reject2(err); + resolve5(args.length > 1 ? args : args[0]); + } + callback[PROMISE_SYMBOL] = new Promise((res, rej) => { + resolve5 = res, reject2 = rej; }); + return callback; } - /** - * Asynchronously copies a blob to a destination within the storage account. - * This method returns a long running operation poller that allows you to wait - * indefinitely until the copy is completed. - * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller. - * Note that the onProgress callback will not be invoked if the operation completes in the first - * request, and attempting to cancel a completed copy will result in an error being thrown. - * - * In version 2012-02-12 and later, the source for a Copy Blob operation can be - * a committed blob in any Azure storage account. - * Beginning with version 2015-02-21, the source for a Copy Blob operation can be - * an Azure file in any Azure storage account. - * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob - * operation to copy from another storage account. - * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob - * - * ```ts snippet:ClientsBeginCopyFromURL - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blobClient = containerClient.getBlobClient(blobName); - * - * // Example using automatic polling - * const automaticCopyPoller = await blobClient.beginCopyFromURL("url"); - * const automaticResult = await automaticCopyPoller.pollUntilDone(); - * - * // Example using manual polling - * const manualCopyPoller = await blobClient.beginCopyFromURL("url"); - * while (!manualCopyPoller.isDone()) { - * await manualCopyPoller.poll(); - * } - * const manualResult = manualCopyPoller.getResult(); - * - * // Example using progress updates - * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", { - * onProgress(state) { - * console.log(`Progress: ${state.copyProgress}`); - * }, - * }); - * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone(); - * - * // Example using a changing polling interval (default 15 seconds) - * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", { - * intervalInMs: 1000, // poll blob every 1 second for copy progress - * }); - * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone(); - * - * // Example using copy cancellation: - * const cancelCopyPoller = await blobClient.beginCopyFromURL("url"); - * // cancel operation after starting it. - * try { - * await cancelCopyPoller.cancelOperation(); - * // calls to get the result now throw PollerCancelledError - * cancelCopyPoller.getResult(); - * } catch (err: any) { - * if (err.name === "PollerCancelledError") { - * console.log("The copy was cancelled."); - * } - * } - * ``` - * - * @param copySource - url to the source Azure Blob/File. - * @param options - Optional options to the Blob Start Copy From URL operation. - */ - async beginCopyFromURL(copySource, options = {}) { - const client = { - abortCopyFromURL: (...args) => this.abortCopyFromURL(...args), - getProperties: (...args) => this.getProperties(...args), - startCopyFromURL: (...args) => this.startCopyFromURL(...args) - }; - const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({ - blobClient: client, - copySource, - intervalInMs: options.intervalInMs, - onProgress: options.onProgress, - resumeFrom: options.resumeFrom, - startCopyFromURLOptions: options + function auto(tasks, concurrency, callback) { + if (typeof concurrency !== "number") { + callback = concurrency; + concurrency = null; + } + callback = once(callback || promiseCallback()); + var numTasks = Object.keys(tasks).length; + if (!numTasks) { + return callback(null); + } + if (!concurrency) { + concurrency = numTasks; + } + var results = {}; + var runningTasks = 0; + var canceled = false; + var hasError = false; + var listeners = /* @__PURE__ */ Object.create(null); + var readyTasks = []; + var readyToCheck = []; + var uncheckedDependencies = {}; + Object.keys(tasks).forEach((key) => { + var task = tasks[key]; + if (!Array.isArray(task)) { + enqueueTask(key, [task]); + readyToCheck.push(key); + return; + } + var dependencies = task.slice(0, task.length - 1); + var remainingDependencies = dependencies.length; + if (remainingDependencies === 0) { + enqueueTask(key, task); + readyToCheck.push(key); + return; + } + uncheckedDependencies[key] = remainingDependencies; + dependencies.forEach((dependencyName) => { + if (!tasks[dependencyName]) { + throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", ")); + } + addListener(dependencyName, () => { + remainingDependencies--; + if (remainingDependencies === 0) { + enqueueTask(key, task); + } + }); + }); }); - await poller.poll(); - return poller; + checkForDeadlocks(); + processQueue(); + function enqueueTask(key, task) { + readyTasks.push(() => runTask(key, task)); + } + function processQueue() { + if (canceled) return; + if (readyTasks.length === 0 && runningTasks === 0) { + return callback(null, results); + } + while (readyTasks.length && runningTasks < concurrency) { + var run = readyTasks.shift(); + run(); + } + } + function addListener(taskName, fn) { + var taskListeners = listeners[taskName]; + if (!taskListeners) { + taskListeners = listeners[taskName] = []; + } + taskListeners.push(fn); + } + function taskComplete(taskName) { + var taskListeners = listeners[taskName] || []; + taskListeners.forEach((fn) => fn()); + processQueue(); + } + function runTask(key, task) { + if (hasError) return; + var taskCallback = onlyOnce((err, ...result) => { + runningTasks--; + if (err === false) { + canceled = true; + return; + } + if (result.length < 2) { + [result] = result; + } + if (err) { + var safeResults = {}; + Object.keys(results).forEach((rkey) => { + safeResults[rkey] = results[rkey]; + }); + safeResults[key] = result; + hasError = true; + listeners = /* @__PURE__ */ Object.create(null); + if (canceled) return; + callback(err, safeResults); + } else { + results[key] = result; + taskComplete(key); + } + }); + runningTasks++; + var taskFn = wrapAsync(task[task.length - 1]); + if (task.length > 1) { + taskFn(results, taskCallback); + } else { + taskFn(taskCallback); + } + } + function checkForDeadlocks() { + var currentTask; + var counter = 0; + while (readyToCheck.length) { + currentTask = readyToCheck.pop(); + counter++; + getDependents(currentTask).forEach((dependent) => { + if (--uncheckedDependencies[dependent] === 0) { + readyToCheck.push(dependent); + } + }); + } + if (counter !== numTasks) { + throw new Error( + "async.auto cannot execute tasks due to a recursive dependency" + ); + } + } + function getDependents(taskName) { + var result = []; + Object.keys(tasks).forEach((key) => { + const task = tasks[key]; + if (Array.isArray(task) && task.indexOf(taskName) >= 0) { + result.push(key); + } + }); + return result; + } + return callback[PROMISE_SYMBOL]; } - /** - * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero - * length and full metadata. Version 2012-02-12 and newer. - * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob - * - * @param copyId - Id of the Copy From URL operation. - * @param options - Optional options to the Blob Abort Copy From URL operation. - */ - async abortCopyFromURL(copyId, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - tracingOptions: updatedOptions.tracingOptions - })); - }); + var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/; + var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/; + var FN_ARG_SPLIT = /,/; + var FN_ARG = /(=.+)?(\s*)$/; + function stripComments(string) { + let stripped = ""; + let index2 = 0; + let endBlockComment = string.indexOf("*/"); + while (index2 < string.length) { + if (string[index2] === "/" && string[index2 + 1] === "/") { + let endIndex = string.indexOf("\n", index2); + index2 = endIndex === -1 ? string.length : endIndex; + } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") { + let endIndex = string.indexOf("*/", index2); + if (endIndex !== -1) { + index2 = endIndex + 2; + endBlockComment = string.indexOf("*/", index2); + } else { + stripped += string[index2]; + index2++; + } + } else { + stripped += string[index2]; + index2++; + } + } + return stripped; } - /** - * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not - * return a response until the copy is complete. - * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url - * - * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication - * @param options - - */ - async syncCopyFromURL(copySource, options = {}) { - options.conditions = options.conditions || {}; - options.sourceConditions = options.sourceConditions || {}; - return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, { - abortSignal: options.abortSignal, - metadata: options.metadata, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - sourceModifiedAccessConditions: { - sourceIfMatch: options.sourceConditions?.ifMatch, - sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, - sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, - sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince - }, - sourceContentMD5: options.sourceContentMD5, - copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), - tier: (0, models_js_1.toAccessTier)(options.tier), - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, - immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, - legalHold: options.legalHold, - encryptionScope: options.encryptionScope, - copySourceTags: options.copySourceTags, - fileRequestIntent: options.sourceShareTokenIntent, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function parseParams(func) { + const src = stripComments(func.toString()); + let match = src.match(FN_ARGS); + if (!match) { + match = src.match(ARROW_FN_ARGS); + } + if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src); + let [, args] = match; + return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim()); } - /** - * Sets the tier on a blob. The operation is allowed on a page blob in a premium - * storage account and on a block blob in a blob storage account (locally redundant - * storage only). A premium page blob's tier determines the allowed size, IOPS, - * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive - * storage type. This operation does not update the blob's ETag. - * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier - * - * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive. - * @param options - Optional options to the Blob Set Tier operation. - */ - async setAccessTier(tier, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - rehydratePriority: options.rehydratePriority, - tracingOptions: updatedOptions.tracingOptions - })); + function autoInject(tasks, callback) { + var newTasks = {}; + Object.keys(tasks).forEach((key) => { + var taskFn = tasks[key]; + var params; + var fnIsAsync = isAsync(taskFn); + var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0; + if (Array.isArray(taskFn)) { + params = [...taskFn]; + taskFn = params.pop(); + newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn); + } else if (hasNoDeps) { + newTasks[key] = taskFn; + } else { + params = parseParams(taskFn); + if (taskFn.length === 0 && !fnIsAsync && params.length === 0) { + throw new Error("autoInject task functions require explicit parameters."); + } + if (!fnIsAsync) params.pop(); + newTasks[key] = params.concat(newTask); + } + function newTask(results, taskCb) { + var newArgs = params.map((name) => results[name]); + newArgs.push(taskCb); + wrapAsync(taskFn)(...newArgs); + } }); + return auto(newTasks, callback); } - async downloadToBuffer(param1, param2, param3, param4 = {}) { - let buffer; - let offset = 0; - let count = 0; - let options = param4; - if (param1 instanceof Buffer) { - buffer = param1; - offset = param2 || 0; - count = typeof param3 === "number" ? param3 : 0; - } else { - offset = typeof param1 === "number" ? param1 : 0; - count = typeof param2 === "number" ? param2 : 0; - options = param3 || {}; + class DLL { + constructor() { + this.head = this.tail = null; + this.length = 0; } - let blockSize = options.blockSize ?? 0; - if (blockSize < 0) { - throw new RangeError("blockSize option must be >= 0"); + removeLink(node) { + if (node.prev) node.prev.next = node.next; + else this.head = node.next; + if (node.next) node.next.prev = node.prev; + else this.tail = node.prev; + node.prev = node.next = null; + this.length -= 1; + return node; } - if (blockSize === 0) { - blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES; + empty() { + while (this.head) this.shift(); + return this; } - if (offset < 0) { - throw new RangeError("offset option must be >= 0"); + insertAfter(node, newNode) { + newNode.prev = node; + newNode.next = node.next; + if (node.next) node.next.prev = newNode; + else this.tail = newNode; + node.next = newNode; + this.length += 1; } - if (count && count <= 0) { - throw new RangeError("count option must be greater than 0"); + insertBefore(node, newNode) { + newNode.prev = node.prev; + newNode.next = node; + if (node.prev) node.prev.next = newNode; + else this.head = newNode; + node.prev = newNode; + this.length += 1; } - if (!options.conditions) { - options.conditions = {}; + unshift(node) { + if (this.head) this.insertBefore(this.head, node); + else setInitial(this, node); } - return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => { - if (!count) { - const response = await this.getProperties({ - ...options, - tracingOptions: updatedOptions.tracingOptions + push(node) { + if (this.tail) this.insertAfter(this.tail, node); + else setInitial(this, node); + } + shift() { + return this.head && this.removeLink(this.head); + } + pop() { + return this.tail && this.removeLink(this.tail); + } + toArray() { + return [...this]; + } + *[Symbol.iterator]() { + var cur = this.head; + while (cur) { + yield cur.data; + cur = cur.next; + } + } + remove(testFn) { + var curr = this.head; + while (curr) { + var { next } = curr; + if (testFn(curr)) { + this.removeLink(curr); + } + curr = next; + } + return this; + } + } + function setInitial(dll, node) { + dll.length = 1; + dll.head = dll.tail = node; + } + function queue$1(worker, concurrency, payload) { + if (concurrency == null) { + concurrency = 1; + } else if (concurrency === 0) { + throw new RangeError("Concurrency must not be zero"); + } + var _worker = wrapAsync(worker); + var numRunning = 0; + var workersList = []; + const events = { + error: [], + drain: [], + saturated: [], + unsaturated: [], + empty: [] + }; + function on(event, handler2) { + events[event].push(handler2); + } + function once2(event, handler2) { + const handleAndRemove = (...args) => { + off(event, handleAndRemove); + handler2(...args); + }; + events[event].push(handleAndRemove); + } + function off(event, handler2) { + if (!event) return Object.keys(events).forEach((ev) => events[ev] = []); + if (!handler2) return events[event] = []; + events[event] = events[event].filter((ev) => ev !== handler2); + } + function trigger(event, ...args) { + events[event].forEach((handler2) => handler2(...args)); + } + var processingScheduled = false; + function _insert(data, insertAtFront, rejectOnError, callback) { + if (callback != null && typeof callback !== "function") { + throw new Error("task callback must be a function"); + } + q.started = true; + var res, rej; + function promiseCallback2(err, ...args) { + if (err) return rejectOnError ? rej(err) : res(); + if (args.length <= 1) return res(args[0]); + res(args); + } + var item = q._createTaskItem( + data, + rejectOnError ? promiseCallback2 : callback || promiseCallback2 + ); + if (insertAtFront) { + q._tasks.unshift(item); + } else { + q._tasks.push(item); + } + if (!processingScheduled) { + processingScheduled = true; + setImmediate$1(() => { + processingScheduled = false; + q.process(); }); - count = response.contentLength - offset; - if (count < 0) { - throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`); + } + if (rejectOnError || !callback) { + return new Promise((resolve5, reject2) => { + res = resolve5; + rej = reject2; + }); + } + } + function _createCB(tasks) { + return function(err, ...args) { + numRunning -= 1; + for (var i = 0, l = tasks.length; i < l; i++) { + var task = tasks[i]; + var index2 = workersList.indexOf(task); + if (index2 === 0) { + workersList.shift(); + } else if (index2 > 0) { + workersList.splice(index2, 1); + } + task.callback(err, ...args); + if (err != null) { + trigger("error", err, task.data); + } + } + if (numRunning <= q.concurrency - q.buffer) { + trigger("unsaturated"); + } + if (q.idle()) { + trigger("drain"); } + q.process(); + }; + } + function _maybeDrain(data) { + if (data.length === 0 && q.idle()) { + setImmediate$1(() => trigger("drain")); + return true; } - if (!buffer) { - try { - buffer = Buffer.alloc(count); - } catch (error3) { - throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile". ${error3.message}`); + return false; + } + const eventMethod = (name) => (handler2) => { + if (!handler2) { + return new Promise((resolve5, reject2) => { + once2(name, (err, data) => { + if (err) return reject2(err); + resolve5(data); + }); + }); + } + off(name); + on(name, handler2); + }; + var isProcessing = false; + var q = { + _tasks: new DLL(), + _createTaskItem(data, callback) { + return { + data, + callback + }; + }, + *[Symbol.iterator]() { + yield* q._tasks[Symbol.iterator](); + }, + concurrency, + payload, + buffer: concurrency / 4, + started: false, + paused: false, + push(data, callback) { + if (Array.isArray(data)) { + if (_maybeDrain(data)) return; + return data.map((datum) => _insert(datum, false, false, callback)); + } + return _insert(data, false, false, callback); + }, + pushAsync(data, callback) { + if (Array.isArray(data)) { + if (_maybeDrain(data)) return; + return data.map((datum) => _insert(datum, false, true, callback)); + } + return _insert(data, false, true, callback); + }, + kill() { + off(); + q._tasks.empty(); + }, + unshift(data, callback) { + if (Array.isArray(data)) { + if (_maybeDrain(data)) return; + return data.map((datum) => _insert(datum, true, false, callback)); + } + return _insert(data, true, false, callback); + }, + unshiftAsync(data, callback) { + if (Array.isArray(data)) { + if (_maybeDrain(data)) return; + return data.map((datum) => _insert(datum, true, true, callback)); + } + return _insert(data, true, true, callback); + }, + remove(testFn) { + q._tasks.remove(testFn); + }, + process() { + if (isProcessing) { + return; + } + isProcessing = true; + while (!q.paused && numRunning < q.concurrency && q._tasks.length) { + var tasks = [], data = []; + var l = q._tasks.length; + if (q.payload) l = Math.min(l, q.payload); + for (var i = 0; i < l; i++) { + var node = q._tasks.shift(); + tasks.push(node); + workersList.push(node); + data.push(node.data); + } + numRunning += 1; + if (q._tasks.length === 0) { + trigger("empty"); + } + if (numRunning === q.concurrency) { + trigger("saturated"); + } + var cb = onlyOnce(_createCB(tasks)); + _worker(data, cb); + } + isProcessing = false; + }, + length() { + return q._tasks.length; + }, + running() { + return numRunning; + }, + workersList() { + return workersList; + }, + idle() { + return q._tasks.length + numRunning === 0; + }, + pause() { + q.paused = true; + }, + resume() { + if (q.paused === false) { + return; } + q.paused = false; + setImmediate$1(q.process); } - if (buffer.length < count) { - throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`); - } - let transferProgress = 0; - const batch = new Batch_js_1.Batch(options.concurrency); - for (let off = offset; off < offset + count; off = off + blockSize) { - batch.addOperation(async () => { - let chunkEnd = offset + count; - if (off + blockSize < chunkEnd) { - chunkEnd = off + blockSize; - } - const response = await this.download(off, chunkEnd - off, { - abortSignal: options.abortSignal, - conditions: options.conditions, - maxRetryRequests: options.maxRetryRequestsPerBlock, - customerProvidedKey: options.customerProvidedKey, - tracingOptions: updatedOptions.tracingOptions - }); - const stream = response.readableStreamBody; - await (0, utils_js_1.streamToBuffer)(stream, buffer, off - offset, chunkEnd - offset); - transferProgress += chunkEnd - off; - if (options.onProgress) { - options.onProgress({ loadedBytes: transferProgress }); - } - }); + }; + Object.defineProperties(q, { + saturated: { + writable: false, + value: eventMethod("saturated") + }, + unsaturated: { + writable: false, + value: eventMethod("unsaturated") + }, + empty: { + writable: false, + value: eventMethod("empty") + }, + drain: { + writable: false, + value: eventMethod("drain") + }, + error: { + writable: false, + value: eventMethod("error") } - await batch.do(); - return buffer; }); + return q; } - /** - * ONLY AVAILABLE IN NODE.JS RUNTIME. - * - * Downloads an Azure Blob to a local file. - * Fails if the the given file path already exits. - * Offset and count are optional, pass 0 and undefined respectively to download the entire blob. - * - * @param filePath - - * @param offset - From which position of the block blob to download. - * @param count - How much data to be downloaded. Will download to the end when passing undefined. - * @param options - Options to Blob download options. - * @returns The response data for blob download operation, - * but with readableStreamBody set to undefined since its - * content is already read and written into a local file - * at the specified path. - */ - async downloadToFile(filePath, offset = 0, count, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => { - const response = await this.download(offset, count, { - ...options, - tracingOptions: updatedOptions.tracingOptions + function cargo$1(worker, payload) { + return queue$1(worker, 1, payload); + } + function cargo(worker, concurrency, payload) { + return queue$1(worker, concurrency, payload); + } + function reduce(coll, memo, iteratee, callback) { + callback = once(callback); + var _iteratee = wrapAsync(iteratee); + return eachOfSeries$1(coll, (x, i, iterCb) => { + _iteratee(memo, x, (err, v) => { + memo = v; + iterCb(err); }); - if (response.readableStreamBody) { - await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath); - } - response.blobDownloadStream = void 0; - return response; - }); + }, (err) => callback(err, memo)); } - getBlobAndContainerNamesFromUrl() { - let containerName; - let blobName; - try { - const parsedUrl = new URL(this.url); - if (parsedUrl.host.split(".")[1] === "blob") { - const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?"); - containerName = pathComponents[1]; - blobName = pathComponents[3]; - } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) { - const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?"); - containerName = pathComponents[2]; - blobName = pathComponents[4]; + var reduce$1 = awaitify(reduce, 4); + function seq2(...functions) { + var _functions = functions.map(wrapAsync); + return function(...args) { + var that = this; + var cb = args[args.length - 1]; + if (typeof cb == "function") { + args.pop(); } else { - const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?"); - containerName = pathComponents[1]; - blobName = pathComponents[3]; - } - containerName = decodeURIComponent(containerName); - blobName = decodeURIComponent(blobName); - blobName = blobName.replace(/\\/g, "/"); - if (!containerName) { - throw new Error("Provided containerName is invalid."); + cb = promiseCallback(); } - return { blobName, containerName }; - } catch (error3) { - throw new Error("Unable to extract blobName and containerName with provided information."); - } - } - /** - * Asynchronously copies a blob to a destination within the storage account. - * In version 2012-02-12 and later, the source for a Copy Blob operation can be - * a committed blob in any Azure storage account. - * Beginning with version 2015-02-21, the source for a Copy Blob operation can be - * an Azure file in any Azure storage account. - * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob - * operation to copy from another storage account. - * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob - * - * @param copySource - url to the source Azure Blob/File. - * @param options - Optional options to the Blob Start Copy From URL operation. - */ - async startCopyFromURL(copySource, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => { - options.conditions = options.conditions || {}; - options.sourceConditions = options.sourceConditions || {}; - return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - metadata: options.metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - sourceModifiedAccessConditions: { - sourceIfMatch: options.sourceConditions.ifMatch, - sourceIfModifiedSince: options.sourceConditions.ifModifiedSince, - sourceIfNoneMatch: options.sourceConditions.ifNoneMatch, - sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince, - sourceIfTags: options.sourceConditions.tagConditions + reduce$1( + _functions, + args, + (newargs, fn, iterCb) => { + fn.apply(that, newargs.concat((err, ...nextargs) => { + iterCb(err, nextargs); + })); }, - immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, - immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, - legalHold: options.legalHold, - rehydratePriority: options.rehydratePriority, - tier: (0, models_js_1.toAccessTier)(options.tier), - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - sealBlob: options.sealBlob, - tracingOptions: updatedOptions.tracingOptions - })); - }); + (err, results) => cb(err, ...results) + ); + return cb[PROMISE_SYMBOL]; + }; } - /** - * Only available for BlobClient constructed with a shared key credential. - * - * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties - * and parameters passed in. The SAS is signed by the shared key credential of the client. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateSasUrl(options) { - return new Promise((resolve5) => { - if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { - throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); + function compose(...args) { + return seq2(...args.reverse()); + } + function mapLimit(coll, limit, iteratee, callback) { + return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback); + } + var mapLimit$1 = awaitify(mapLimit, 4); + function concatLimit(coll, limit, iteratee, callback) { + var _iteratee = wrapAsync(iteratee); + return mapLimit$1(coll, limit, (val, iterCb) => { + _iteratee(val, (err, ...args) => { + if (err) return iterCb(err); + return iterCb(err, args); + }); + }, (err, mapResults) => { + var result = []; + for (var i = 0; i < mapResults.length; i++) { + if (mapResults[i]) { + result = result.concat(...mapResults[i]); + } } - const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ - containerName: this._containerName, - blobName: this._name, - snapshotTime: this._snapshot, - versionId: this._versionId, - ...options - }, this.credential).toString(); - resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + return callback(err, result); }); } - /** - * Only available for BlobClient constructed with a shared key credential. - * - * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on - * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ - generateSasStringToSign(options) { - if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { - throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); - } - return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ - containerName: this._containerName, - blobName: this._name, - snapshotTime: this._snapshot, - versionId: this._versionId, - ...options - }, this.credential).stringToSign; + var concatLimit$1 = awaitify(concatLimit, 4); + function concat(coll, iteratee, callback) { + return concatLimit$1(coll, Infinity, iteratee, callback); } - /** - * - * Generates a Blob Service Shared Access Signature (SAS) URI based on - * the client properties and parameters passed in. The SAS is signed by the input user delegation key. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateUserDelegationSasUrl(options, userDelegationKey) { - return new Promise((resolve5) => { - const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ - containerName: this._containerName, - blobName: this._name, - snapshotTime: this._snapshot, - versionId: this._versionId, - ...options - }, userDelegationKey, this.accountName).toString(); - resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); - }); + var concat$1 = awaitify(concat, 3); + function concatSeries(coll, iteratee, callback) { + return concatLimit$1(coll, 1, iteratee, callback); } - /** - * Only available for BlobClient constructed with a shared key credential. - * - * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on - * the client properties and parameters passed in. The SAS is signed by the input user delegation key. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateUserDelegationSasStringToSign(options, userDelegationKey) { - return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ - containerName: this._containerName, - blobName: this._name, - snapshotTime: this._snapshot, - versionId: this._versionId, - ...options - }, userDelegationKey, this.accountName).stringToSign; + var concatSeries$1 = awaitify(concatSeries, 3); + function constant$1(...args) { + return function(...ignoredArgs) { + var callback = ignoredArgs.pop(); + return callback(null, ...args); + }; } - /** - * Delete the immutablility policy on the blob. - * - * @param options - Optional options to delete immutability policy on the blob. - */ - async deleteImmutabilityPolicy(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({ - tracingOptions: updatedOptions.tracingOptions - })); - }); + function _createTester(check, getResult) { + return (eachfn, arr, _iteratee, cb) => { + var testPassed = false; + var testResult; + const iteratee = wrapAsync(_iteratee); + eachfn(arr, (value, _2, callback) => { + iteratee(value, (err, result) => { + if (err || err === false) return callback(err); + if (check(result) && !testResult) { + testPassed = true; + testResult = getResult(true, value); + return callback(null, breakLoop); + } + callback(); + }); + }, (err) => { + if (err) return cb(err); + cb(null, testPassed ? testResult : getResult(false)); + }); + }; } - /** - * Set immutability policy on the blob. - * - * @param options - Optional options to set immutability policy on the blob. - */ - async setImmutabilityPolicy(immutabilityPolicy, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({ - immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn, - immutabilityPolicyMode: immutabilityPolicy.policyMode, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function detect(coll, iteratee, callback) { + return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback); } - /** - * Set legal hold on the blob. - * - * @param options - Optional options to set legal hold on the blob. - */ - async setLegalHold(legalHoldEnabled, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, { - tracingOptions: updatedOptions.tracingOptions - })); - }); + var detect$1 = awaitify(detect, 3); + function detectLimit(coll, limit, iteratee, callback) { + return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback); } - /** - * The Get Account Information operation returns the sku name and account kind - * for the specified account. - * The Get Account Information operation is available on service versions beginning - * with version 2018-03-28. - * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information - * - * @param options - Options to the Service Get Account Info operation. - * @returns Response data for the Service Get Account Info operation. - */ - async getAccountInfo(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - }); + var detectLimit$1 = awaitify(detectLimit, 4); + function detectSeries(coll, iteratee, callback) { + return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback); } - }; - exports2.BlobClient = BlobClient; - var AppendBlobClient = class _AppendBlobClient extends BlobClient { - /** - * appendBlobsContext provided by protocol layer. - */ - appendBlobContext; - constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { - let pipeline; - let url; - options = options || {}; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - pipeline = credentialOrPipelineOrContainerName; - } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - options = blobNameOrOptions; - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); - } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { - url = urlOrConnectionString; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { - const containerName = credentialOrPipelineOrContainerName; - const blobName = blobNameOrOptions; - const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); - if (extractedCreds.kind === "AccountConnString") { - if (core_util_1.isNodeLike) { - const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); - if (!options.proxyOptions) { - options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + var detectSeries$1 = awaitify(detectSeries, 3); + function consoleFunc(name) { + return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => { + if (typeof console === "object") { + if (err) { + if (console.error) { + console.error(err); } - pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); - } else { - throw new Error("Account connection string is only supported in Node.js environment"); + } else if (console[name]) { + resultArgs.forEach((x) => console[name](x)); } - } else if (extractedCreds.kind === "SASConnString") { - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else { - throw new Error("Connection string must be either an Account connection string or a SAS connection string"); } - } else { - throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + }); + } + var dir = consoleFunc("dir"); + function doWhilst(iteratee, test, callback) { + callback = onlyOnce(callback); + var _fn = wrapAsync(iteratee); + var _test = wrapAsync(test); + var results; + function next(err, ...args) { + if (err) return callback(err); + if (err === false) return; + results = args; + _test(...args, check); } - super(url, pipeline); - this.appendBlobContext = this.storageClientContext.appendBlob; + function check(err, truth) { + if (err) return callback(err); + if (err === false) return; + if (!truth) return callback(null, ...results); + _fn(next); + } + return check(null, true); } - /** - * Creates a new AppendBlobClient object identical to the source but with the - * specified snapshot timestamp. - * Provide "" will remove the snapshot and return a Client to the base blob. - * - * @param snapshot - The snapshot timestamp. - * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp. - */ - withSnapshot(snapshot) { - return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + var doWhilst$1 = awaitify(doWhilst, 3); + function doUntil(iteratee, test, callback) { + const _test = wrapAsync(test); + return doWhilst$1(iteratee, (...args) => { + const cb = args.pop(); + _test(...args, (err, truth) => cb(err, !truth)); + }, callback); } - /** - * Creates a 0-length append blob. Call AppendBlock to append data to an append blob. - * @see https://learn.microsoft.com/rest/api/storageservices/put-blob - * - * @param options - Options to the Append Block Create operation. - * - * - * Example usage: - * - * ```ts snippet:ClientsCreateAppendBlob - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * - * const appendBlobClient = containerClient.getAppendBlobClient(blobName); - * await appendBlobClient.create(); - * ``` - */ - async create(options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, { - abortSignal: options.abortSignal, - blobHttpHeaders: options.blobHTTPHeaders, - leaseAccessConditions: options.conditions, - metadata: options.metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, - immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, - legalHold: options.legalHold, - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - tracingOptions: updatedOptions.tracingOptions - })); - }); + function _withoutIndex(iteratee) { + return (value, index2, callback) => iteratee(value, callback); } - /** - * Creates a 0-length append blob. Call AppendBlock to append data to an append blob. - * If the blob with the same name already exists, the content of the existing blob will remain unchanged. - * @see https://learn.microsoft.com/rest/api/storageservices/put-blob - * - * @param options - - */ - async createIfNotExists(options = {}) { - const conditions = { ifNoneMatch: constants_js_1.ETagAny }; - return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => { - try { - const res = (0, utils_common_js_1.assertResponse)(await this.create({ - ...updatedOptions, - conditions - })); - return { - succeeded: true, - ...res, - _response: res._response - // _response is made non-enumerable - }; - } catch (e) { - if (e.details?.errorCode === "BlobAlreadyExists") { - return { - succeeded: false, - ...e.response?.parsedHeaders, - _response: e.response - }; + function eachLimit$2(coll, iteratee, callback) { + return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback); + } + var each = awaitify(eachLimit$2, 3); + function eachLimit(coll, limit, iteratee, callback) { + return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback); + } + var eachLimit$1 = awaitify(eachLimit, 4); + function eachSeries(coll, iteratee, callback) { + return eachLimit$1(coll, 1, iteratee, callback); + } + var eachSeries$1 = awaitify(eachSeries, 3); + function ensureAsync(fn) { + if (isAsync(fn)) return fn; + return function(...args) { + var callback = args.pop(); + var sync = true; + args.push((...innerArgs) => { + if (sync) { + setImmediate$1(() => callback(...innerArgs)); + } else { + callback(...innerArgs); } - throw e; + }); + fn.apply(this, args); + sync = false; + }; + } + function every(coll, iteratee, callback) { + return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback); + } + var every$1 = awaitify(every, 3); + function everyLimit(coll, limit, iteratee, callback) { + return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback); + } + var everyLimit$1 = awaitify(everyLimit, 4); + function everySeries(coll, iteratee, callback) { + return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback); + } + var everySeries$1 = awaitify(everySeries, 3); + function filterArray(eachfn, arr, iteratee, callback) { + var truthValues = new Array(arr.length); + eachfn(arr, (x, index2, iterCb) => { + iteratee(x, (err, v) => { + truthValues[index2] = !!v; + iterCb(err); + }); + }, (err) => { + if (err) return callback(err); + var results = []; + for (var i = 0; i < arr.length; i++) { + if (truthValues[i]) results.push(arr[i]); } + callback(null, results); }); } - /** - * Seals the append blob, making it read only. - * - * @param options - - */ - async seal(options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({ - abortSignal: options.abortSignal, - appendPositionAccessConditions: options.conditions, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); + function filterGeneric(eachfn, coll, iteratee, callback) { + var results = []; + eachfn(coll, (x, index2, iterCb) => { + iteratee(x, (err, v) => { + if (err) return iterCb(err); + if (v) { + results.push({ index: index2, value: x }); + } + iterCb(err); + }); + }, (err) => { + if (err) return callback(err); + callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value)); }); } - /** - * Commits a new block of data to the end of the existing append blob. - * @see https://learn.microsoft.com/rest/api/storageservices/append-block - * - * @param body - Data to be appended. - * @param contentLength - Length of the body in bytes. - * @param options - Options to the Append Block operation. - * - * - * Example usage: - * - * ```ts snippet:ClientsAppendBlock - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * - * const content = "Hello World!"; - * - * // Create a new append blob and append data to the blob. - * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName); - * await newAppendBlobClient.create(); - * await newAppendBlobClient.appendBlock(content, content.length); - * - * // Append data to an existing append blob. - * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName); - * await existingAppendBlobClient.appendBlock(content, content.length); - * ``` - */ - async appendBlock(body, contentLength, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, { - abortSignal: options.abortSignal, - appendPositionAccessConditions: options.conditions, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - requestOptions: { - onUploadProgress: options.onProgress - }, - transactionalContentMD5: options.transactionalContentMD5, - transactionalContentCrc64: options.transactionalContentCrc64, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); + function _filter(eachfn, coll, iteratee, callback) { + var filter2 = isArrayLike(coll) ? filterArray : filterGeneric; + return filter2(eachfn, coll, wrapAsync(iteratee), callback); + } + function filter(coll, iteratee, callback) { + return _filter(eachOf$1, coll, iteratee, callback); + } + var filter$1 = awaitify(filter, 3); + function filterLimit(coll, limit, iteratee, callback) { + return _filter(eachOfLimit$2(limit), coll, iteratee, callback); + } + var filterLimit$1 = awaitify(filterLimit, 4); + function filterSeries(coll, iteratee, callback) { + return _filter(eachOfSeries$1, coll, iteratee, callback); + } + var filterSeries$1 = awaitify(filterSeries, 3); + function forever(fn, errback) { + var done = onlyOnce(errback); + var task = wrapAsync(ensureAsync(fn)); + function next(err) { + if (err) return done(err); + if (err === false) return; + task(next); + } + return next(); + } + var forever$1 = awaitify(forever, 2); + function groupByLimit(coll, limit, iteratee, callback) { + var _iteratee = wrapAsync(iteratee); + return mapLimit$1(coll, limit, (val, iterCb) => { + _iteratee(val, (err, key) => { + if (err) return iterCb(err); + return iterCb(err, { key, val }); + }); + }, (err, mapResults) => { + var result = {}; + var { hasOwnProperty } = Object.prototype; + for (var i = 0; i < mapResults.length; i++) { + if (mapResults[i]) { + var { key } = mapResults[i]; + var { val } = mapResults[i]; + if (hasOwnProperty.call(result, key)) { + result[key].push(val); + } else { + result[key] = [val]; + } + } + } + return callback(err, result); }); } - /** - * The Append Block operation commits a new block of data to the end of an existing append blob - * where the contents are read from a source url. - * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url - * - * @param sourceURL - - * The url to the blob that will be the source of the copy. A source blob in the same storage account can - * be authenticated via Shared Key. However, if the source is a blob in another account, the source blob - * must either be public or must be authenticated via a shared access signature. If the source blob is - * public, no authentication is required to perform the operation. - * @param sourceOffset - Offset in source to be appended - * @param count - Number of bytes to be appended as a block - * @param options - - */ - async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) { - options.conditions = options.conditions || {}; - options.sourceConditions = options.sourceConditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, { - abortSignal: options.abortSignal, - sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), - sourceContentMD5: options.sourceContentMD5, - sourceContentCrc64: options.sourceContentCrc64, - leaseAccessConditions: options.conditions, - appendPositionAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - sourceModifiedAccessConditions: { - sourceIfMatch: options.sourceConditions?.ifMatch, - sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, - sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, - sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince - }, - copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - fileRequestIntent: options.sourceShareTokenIntent, - tracingOptions: updatedOptions.tracingOptions - })); + var groupByLimit$1 = awaitify(groupByLimit, 4); + function groupBy(coll, iteratee, callback) { + return groupByLimit$1(coll, Infinity, iteratee, callback); + } + function groupBySeries(coll, iteratee, callback) { + return groupByLimit$1(coll, 1, iteratee, callback); + } + var log = consoleFunc("log"); + function mapValuesLimit(obj, limit, iteratee, callback) { + callback = once(callback); + var newObj = {}; + var _iteratee = wrapAsync(iteratee); + return eachOfLimit$2(limit)(obj, (val, key, next) => { + _iteratee(val, key, (err, result) => { + if (err) return next(err); + newObj[key] = result; + next(err); + }); + }, (err) => callback(err, newObj)); + } + var mapValuesLimit$1 = awaitify(mapValuesLimit, 4); + function mapValues(obj, iteratee, callback) { + return mapValuesLimit$1(obj, Infinity, iteratee, callback); + } + function mapValuesSeries(obj, iteratee, callback) { + return mapValuesLimit$1(obj, 1, iteratee, callback); + } + function memoize(fn, hasher = (v) => v) { + var memo = /* @__PURE__ */ Object.create(null); + var queues = /* @__PURE__ */ Object.create(null); + var _fn = wrapAsync(fn); + var memoized = initialParams((args, callback) => { + var key = hasher(...args); + if (key in memo) { + setImmediate$1(() => callback(null, ...memo[key])); + } else if (key in queues) { + queues[key].push(callback); + } else { + queues[key] = [callback]; + _fn(...args, (err, ...resultArgs) => { + if (!err) { + memo[key] = resultArgs; + } + var q = queues[key]; + delete queues[key]; + for (var i = 0, l = q.length; i < l; i++) { + q[i](err, ...resultArgs); + } + }); + } }); + memoized.memo = memo; + memoized.unmemoized = fn; + return memoized; } - }; - exports2.AppendBlobClient = AppendBlobClient; - var BlockBlobClient = class _BlockBlobClient extends BlobClient { - /** - * blobContext provided by protocol layer. - * - * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API - * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient. - */ - _blobContext; - /** - * blockBlobContext provided by protocol layer. - */ - blockBlobContext; - constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { - let pipeline; - let url; - options = options || {}; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - pipeline = credentialOrPipelineOrContainerName; - } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - options = blobNameOrOptions; - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); - } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { - url = urlOrConnectionString; - if (blobNameOrOptions && typeof blobNameOrOptions !== "string") { - options = blobNameOrOptions; + var _defer; + if (hasNextTick) { + _defer = process.nextTick; + } else if (hasSetImmediate) { + _defer = setImmediate; + } else { + _defer = fallback; + } + var nextTick = wrap(_defer); + var _parallel = awaitify((eachfn, tasks, callback) => { + var results = isArrayLike(tasks) ? [] : {}; + eachfn(tasks, (task, key, taskCb) => { + wrapAsync(task)((err, ...result) => { + if (result.length < 2) { + [result] = result; + } + results[key] = result; + taskCb(err); + }); + }, (err) => callback(err, results)); + }, 3); + function parallel(tasks, callback) { + return _parallel(eachOf$1, tasks, callback); + } + function parallelLimit(tasks, limit, callback) { + return _parallel(eachOfLimit$2(limit), tasks, callback); + } + function queue(worker, concurrency) { + var _worker = wrapAsync(worker); + return queue$1((items, cb) => { + _worker(items[0], cb); + }, concurrency, 1); + } + class Heap { + constructor() { + this.heap = []; + this.pushCount = Number.MIN_SAFE_INTEGER; + } + get length() { + return this.heap.length; + } + empty() { + this.heap = []; + return this; + } + percUp(index2) { + let p; + while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) { + let t = this.heap[index2]; + this.heap[index2] = this.heap[p]; + this.heap[p] = t; + index2 = p; } - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { - const containerName = credentialOrPipelineOrContainerName; - const blobName = blobNameOrOptions; - const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); - if (extractedCreds.kind === "AccountConnString") { - if (core_util_1.isNodeLike) { - const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); - if (!options.proxyOptions) { - options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + } + percDown(index2) { + let l; + while ((l = leftChi(index2)) < this.heap.length) { + if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) { + l = l + 1; + } + if (smaller(this.heap[index2], this.heap[l])) { + break; + } + let t = this.heap[index2]; + this.heap[index2] = this.heap[l]; + this.heap[l] = t; + index2 = l; + } + } + push(node) { + node.pushCount = ++this.pushCount; + this.heap.push(node); + this.percUp(this.heap.length - 1); + } + unshift(node) { + return this.heap.push(node); + } + shift() { + let [top] = this.heap; + this.heap[0] = this.heap[this.heap.length - 1]; + this.heap.pop(); + this.percDown(0); + return top; + } + toArray() { + return [...this]; + } + *[Symbol.iterator]() { + for (let i = 0; i < this.heap.length; i++) { + yield this.heap[i].data; + } + } + remove(testFn) { + let j = 0; + for (let i = 0; i < this.heap.length; i++) { + if (!testFn(this.heap[i])) { + this.heap[j] = this.heap[i]; + j++; + } + } + this.heap.splice(j); + for (let i = parent(this.heap.length - 1); i >= 0; i--) { + this.percDown(i); + } + return this; + } + } + function leftChi(i) { + return (i << 1) + 1; + } + function parent(i) { + return (i + 1 >> 1) - 1; + } + function smaller(x, y) { + if (x.priority !== y.priority) { + return x.priority < y.priority; + } else { + return x.pushCount < y.pushCount; + } + } + function priorityQueue(worker, concurrency) { + var q = queue(worker, concurrency); + var { + push, + pushAsync + } = q; + q._tasks = new Heap(); + q._createTaskItem = ({ data, priority }, callback) => { + return { + data, + priority, + callback + }; + }; + function createDataItems(tasks, priority) { + if (!Array.isArray(tasks)) { + return { data: tasks, priority }; + } + return tasks.map((data) => { + return { data, priority }; + }); + } + q.push = function(data, priority = 0, callback) { + return push(createDataItems(data, priority), callback); + }; + q.pushAsync = function(data, priority = 0, callback) { + return pushAsync(createDataItems(data, priority), callback); + }; + delete q.unshift; + delete q.unshiftAsync; + return q; + } + function race(tasks, callback) { + callback = once(callback); + if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions")); + if (!tasks.length) return callback(); + for (var i = 0, l = tasks.length; i < l; i++) { + wrapAsync(tasks[i])(callback); + } + } + var race$1 = awaitify(race, 2); + function reduceRight(array, memo, iteratee, callback) { + var reversed = [...array].reverse(); + return reduce$1(reversed, memo, iteratee, callback); + } + function reflect(fn) { + var _fn = wrapAsync(fn); + return initialParams(function reflectOn(args, reflectCallback) { + args.push((error3, ...cbArgs) => { + let retVal = {}; + if (error3) { + retVal.error = error3; + } + if (cbArgs.length > 0) { + var value = cbArgs; + if (cbArgs.length <= 1) { + [value] = cbArgs; } - pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); - } else { - throw new Error("Account connection string is only supported in Node.js environment"); + retVal.value = value; } - } else if (extractedCreds.kind === "SASConnString") { - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else { - throw new Error("Connection string must be either an Account connection string or a SAS connection string"); - } + reflectCallback(null, retVal); + }); + return _fn.apply(this, args); + }); + } + function reflectAll(tasks) { + var results; + if (Array.isArray(tasks)) { + results = tasks.map(reflect); } else { - throw new Error("Expecting non-empty strings for containerName and blobName parameters"); + results = {}; + Object.keys(tasks).forEach((key) => { + results[key] = reflect.call(this, tasks[key]); + }); } - super(url, pipeline); - this.blockBlobContext = this.storageClientContext.blockBlob; - this._blobContext = this.storageClientContext.blob; + return results; } - /** - * Creates a new BlockBlobClient object identical to the source but with the - * specified snapshot timestamp. - * Provide "" will remove the snapshot and return a URL to the base blob. - * - * @param snapshot - The snapshot timestamp. - * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp. - */ - withSnapshot(snapshot) { - return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + function reject$2(eachfn, arr, _iteratee, callback) { + const iteratee = wrapAsync(_iteratee); + return _filter(eachfn, arr, (value, cb) => { + iteratee(value, (err, v) => { + cb(err, !v); + }); + }, callback); } - /** - * ONLY AVAILABLE IN NODE.JS RUNTIME. - * - * Quick query for a JSON or CSV formatted blob. - * - * Example usage (Node.js): - * - * ```ts snippet:ClientsQuery - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blockBlobClient = containerClient.getBlockBlobClient(blobName); - * - * // Query and convert a blob to a string - * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage"); - * if (queryBlockBlobResponse.readableStreamBody) { - * const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody); - * const downloaded = downloadedBuffer.toString(); - * console.log(`Query blob content: ${downloaded}`); - * } - * - * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise { - * return new Promise((resolve, reject) => { - * const chunks: Buffer[] = []; - * readableStream.on("data", (data) => { - * chunks.push(data instanceof Buffer ? data : Buffer.from(data)); - * }); - * readableStream.on("end", () => { - * resolve(Buffer.concat(chunks)); - * }); - * readableStream.on("error", reject); - * }); - * } - * ``` - * - * @param query - - * @param options - - */ - async query(query, options = {}) { - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - if (!core_util_1.isNodeLike) { - throw new Error("This operation currently is only supported in Node.js."); + function reject(coll, iteratee, callback) { + return reject$2(eachOf$1, coll, iteratee, callback); + } + var reject$1 = awaitify(reject, 3); + function rejectLimit(coll, limit, iteratee, callback) { + return reject$2(eachOfLimit$2(limit), coll, iteratee, callback); + } + var rejectLimit$1 = awaitify(rejectLimit, 4); + function rejectSeries(coll, iteratee, callback) { + return reject$2(eachOfSeries$1, coll, iteratee, callback); + } + var rejectSeries$1 = awaitify(rejectSeries, 3); + function constant(value) { + return function() { + return value; + }; + } + const DEFAULT_TIMES = 5; + const DEFAULT_INTERVAL = 0; + function retry2(opts, task, callback) { + var options = { + times: DEFAULT_TIMES, + intervalFunc: constant(DEFAULT_INTERVAL) + }; + if (arguments.length < 3 && typeof opts === "function") { + callback = task || promiseCallback(); + task = opts; + } else { + parseTimes(options, opts); + callback = callback || promiseCallback(); } - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({ - abortSignal: options.abortSignal, - queryRequest: { - queryType: "SQL", - expression: query, - inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration), - outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration) - }, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - tracingOptions: updatedOptions.tracingOptions - })); - return new BlobQueryResponse_js_1.BlobQueryResponse(response, { - abortSignal: options.abortSignal, - onProgress: options.onProgress, - onError: options.onError + if (typeof task !== "function") { + throw new Error("Invalid arguments for async.retry"); + } + var _task = wrapAsync(task); + var attempt = 1; + function retryAttempt() { + _task((err, ...args) => { + if (err === false) return; + if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) { + setTimeout(retryAttempt, options.intervalFunc(attempt - 1)); + } else { + callback(err, ...args); + } }); - }); + } + retryAttempt(); + return callback[PROMISE_SYMBOL]; } - /** - * Creates a new block blob, or updates the content of an existing block blob. - * Updating an existing block blob overwrites any existing metadata on the blob. - * Partial updates are not supported; the content of the existing blob is - * overwritten with the new content. To perform a partial update of a block blob's, - * use {@link stageBlock} and {@link commitBlockList}. - * - * This is a non-parallel uploading method, please use {@link uploadFile}, - * {@link uploadStream} or {@link uploadBrowserData} for better performance - * with concurrency uploading. - * - * @see https://learn.microsoft.com/rest/api/storageservices/put-blob - * - * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function - * which returns a new Readable stream whose offset is from data source beginning. - * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a - * string including non non-Base64/Hex-encoded characters. - * @param options - Options to the Block Blob Upload operation. - * @returns Response data for the Block Blob Upload operation. - * - * Example usage: - * - * ```ts snippet:ClientsUpload - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blockBlobClient = containerClient.getBlockBlobClient(blobName); - * - * const content = "Hello world!"; - * const uploadBlobResponse = await blockBlobClient.upload(content, content.length); - * ``` - */ - async upload(body, contentLength, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, { - abortSignal: options.abortSignal, - blobHttpHeaders: options.blobHTTPHeaders, - leaseAccessConditions: options.conditions, - metadata: options.metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - requestOptions: { - onUploadProgress: options.onProgress - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, - immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, - legalHold: options.legalHold, - tier: (0, models_js_1.toAccessTier)(options.tier), - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - tracingOptions: updatedOptions.tracingOptions - })); - }); + function parseTimes(acc, t) { + if (typeof t === "object") { + acc.times = +t.times || DEFAULT_TIMES; + acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL); + acc.errorFilter = t.errorFilter; + } else if (typeof t === "number" || typeof t === "string") { + acc.times = +t || DEFAULT_TIMES; + } else { + throw new Error("Invalid arguments for async.retry"); + } } - /** - * Creates a new Block Blob where the contents of the blob are read from a given URL. - * This API is supported beginning with the 2020-04-08 version. Partial updates - * are not supported with Put Blob from URL; the content of an existing blob is overwritten with - * the content of the new blob. To perform partial updates to a block blob’s contents using a - * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}. - * - * @param sourceURL - Specifies the URL of the blob. The value - * may be a URL of up to 2 KB in length that specifies a blob. - * The value should be URL-encoded as it would appear - * in a request URI. The source blob must either be public - * or must be authenticated via a shared access signature. - * If the source blob is public, no authentication is required - * to perform the operation. Here are some examples of source object URLs: - * - https://myaccount.blob.core.windows.net/mycontainer/myblob - * - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= - * @param options - Optional parameters. - */ - async syncUploadFromURL(sourceURL, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, { - ...options, - blobHttpHeaders: options.blobHTTPHeaders, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - sourceModifiedAccessConditions: { - sourceIfMatch: options.sourceConditions?.ifMatch, - sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, - sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, - sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince, - sourceIfTags: options.sourceConditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), - tier: (0, models_js_1.toAccessTier)(options.tier), - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - copySourceTags: options.copySourceTags, - fileRequestIntent: options.sourceShareTokenIntent, - tracingOptions: updatedOptions.tracingOptions - })); + function retryable(opts, task) { + if (!task) { + task = opts; + opts = null; + } + let arity = opts && opts.arity || task.length; + if (isAsync(task)) { + arity += 1; + } + var _task = wrapAsync(task); + return initialParams((args, callback) => { + if (args.length < arity - 1 || callback == null) { + args.push(callback); + callback = promiseCallback(); + } + function taskFn(cb) { + _task(...args, cb); + } + if (opts) retry2(opts, taskFn, callback); + else retry2(taskFn, callback); + return callback[PROMISE_SYMBOL]; }); } - /** - * Uploads the specified block to the block blob's "staging area" to be later - * committed by a call to commitBlockList. - * @see https://learn.microsoft.com/rest/api/storageservices/put-block - * - * @param blockId - A 64-byte value that is base64-encoded - * @param body - Data to upload to the staging area. - * @param contentLength - Number of bytes to upload. - * @param options - Options to the Block Blob Stage Block operation. - * @returns Response data for the Block Blob Stage Block operation. - */ - async stageBlock(blockId, body, contentLength, options = {}) { - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - requestOptions: { - onUploadProgress: options.onProgress - }, - transactionalContentMD5: options.transactionalContentMD5, - transactionalContentCrc64: options.transactionalContentCrc64, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function series(tasks, callback) { + return _parallel(eachOfSeries$1, tasks, callback); } - /** - * The Stage Block From URL operation creates a new block to be committed as part - * of a blob where the contents are read from a URL. - * This API is available starting in version 2018-03-28. - * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url - * - * @param blockId - A 64-byte value that is base64-encoded - * @param sourceURL - Specifies the URL of the blob. The value - * may be a URL of up to 2 KB in length that specifies a blob. - * The value should be URL-encoded as it would appear - * in a request URI. The source blob must either be public - * or must be authenticated via a shared access signature. - * If the source blob is public, no authentication is required - * to perform the operation. Here are some examples of source object URLs: - * - https://myaccount.blob.core.windows.net/mycontainer/myblob - * - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= - * @param offset - From which position of the blob to download, greater than or equal to 0 - * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined - * @param options - Options to the Block Blob Stage Block From URL operation. - * @returns Response data for the Block Blob Stage Block From URL operation. - */ - async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) { - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - sourceContentMD5: options.sourceContentMD5, - sourceContentCrc64: options.sourceContentCrc64, - sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }), - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), - fileRequestIntent: options.sourceShareTokenIntent, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function some(coll, iteratee, callback) { + return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback); } - /** - * Writes a blob by specifying the list of block IDs that make up the blob. - * In order to be written as part of a blob, a block must have been successfully written - * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to - * update a blob by uploading only those blocks that have changed, then committing the new and existing - * blocks together. Any blocks not specified in the block list and permanently deleted. - * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list - * - * @param blocks - Array of 64-byte value that is base64-encoded - * @param options - Options to the Block Blob Commit Block List operation. - * @returns Response data for the Block Blob Commit Block List operation. - */ - async commitBlockList(blocks, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, { - abortSignal: options.abortSignal, - blobHttpHeaders: options.blobHTTPHeaders, - leaseAccessConditions: options.conditions, - metadata: options.metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, - immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, - legalHold: options.legalHold, - tier: (0, models_js_1.toAccessTier)(options.tier), - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - tracingOptions: updatedOptions.tracingOptions - })); - }); + var some$1 = awaitify(some, 3); + function someLimit(coll, limit, iteratee, callback) { + return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback); } - /** - * Returns the list of blocks that have been uploaded as part of a block blob - * using the specified block list filter. - * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list - * - * @param listType - Specifies whether to return the list of committed blocks, - * the list of uncommitted blocks, or both lists together. - * @param options - Options to the Block Blob Get Block List operation. - * @returns Response data for the Block Blob Get Block List operation. - */ - async getBlockList(listType, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => { - const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); - if (!res.committedBlocks) { - res.committedBlocks = []; - } - if (!res.uncommittedBlocks) { - res.uncommittedBlocks = []; - } - return res; + var someLimit$1 = awaitify(someLimit, 4); + function someSeries(coll, iteratee, callback) { + return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback); + } + var someSeries$1 = awaitify(someSeries, 3); + function sortBy(coll, iteratee, callback) { + var _iteratee = wrapAsync(iteratee); + return map$1(coll, (x, iterCb) => { + _iteratee(x, (err, criteria) => { + if (err) return iterCb(err); + iterCb(err, { value: x, criteria }); + }); + }, (err, results) => { + if (err) return callback(err); + callback(null, results.sort(comparator).map((v) => v.value)); }); + function comparator(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + } } - // High level functions - /** - * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob. - * - * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is - * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload. - * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList} - * to commit the block list. - * - * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is - * `blobContentType`, enabling the browser to provide - * functionality based on file type. - * - * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView - * @param options - - */ - async uploadData(data, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => { - if (core_util_1.isNodeLike) { - let buffer; - if (data instanceof Buffer) { - buffer = data; - } else if (data instanceof ArrayBuffer) { - buffer = Buffer.from(data); - } else { - data = data; - buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength); + var sortBy$1 = awaitify(sortBy, 3); + function timeout(asyncFn, milliseconds, info7) { + var fn = wrapAsync(asyncFn); + return initialParams((args, callback) => { + var timedOut = false; + var timer; + function timeoutCallback() { + var name = asyncFn.name || "anonymous"; + var error3 = new Error('Callback function "' + name + '" timed out.'); + error3.code = "ETIMEDOUT"; + if (info7) { + error3.info = info7; } - return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions); - } else { - const browserBlob = new Blob([data]); - return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions); + timedOut = true; + callback(error3); } + args.push((...cbArgs) => { + if (!timedOut) { + callback(...cbArgs); + clearTimeout(timer); + } + }); + timer = setTimeout(timeoutCallback, milliseconds); + fn(...args); }); } - /** - * ONLY AVAILABLE IN BROWSERS. - * - * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob. - * - * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload. - * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call - * {@link commitBlockList} to commit the block list. - * - * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is - * `blobContentType`, enabling the browser to provide - * functionality based on file type. - * - * @deprecated Use {@link uploadData} instead. - * - * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView - * @param options - Options to upload browser data. - * @returns Response data for the Blob Upload operation. - */ - async uploadBrowserData(browserData, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => { - const browserBlob = new Blob([browserData]); - return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions); - }); - } - /** - * - * Uploads data to block blob. Requires a bodyFactory as the data source, - * which need to return a {@link HttpRequestBody} object with the offset and size provided. - * - * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is - * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload. - * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList} - * to commit the block list. - * - * @param bodyFactory - - * @param size - size of the data to upload. - * @param options - Options to Upload to Block Blob operation. - * @returns Response data for the Blob Upload operation. - */ - async uploadSeekableInternal(bodyFactory, size, options = {}) { - let blockSize = options.blockSize ?? 0; - if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) { - throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`); + function range(size) { + var result = Array(size); + while (size--) { + result[size] = size; } - const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES; - if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) { - throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`); + return result; + } + function timesLimit(count, limit, iteratee, callback) { + var _iteratee = wrapAsync(iteratee); + return mapLimit$1(range(count), limit, _iteratee, callback); + } + function times(n, iteratee, callback) { + return timesLimit(n, Infinity, iteratee, callback); + } + function timesSeries(n, iteratee, callback) { + return timesLimit(n, 1, iteratee, callback); + } + function transform(coll, accumulator, iteratee, callback) { + if (arguments.length <= 3 && typeof accumulator === "function") { + callback = iteratee; + iteratee = accumulator; + accumulator = Array.isArray(coll) ? [] : {}; } - if (blockSize === 0) { - if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) { - throw new RangeError(`${size} is too larger to upload to a block blob.`); - } - if (size > maxSingleShotSize) { - blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS); - if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) { - blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES; + callback = once(callback || promiseCallback()); + var _iteratee = wrapAsync(iteratee); + eachOf$1(coll, (v, k, cb) => { + _iteratee(accumulator, v, k, cb); + }, (err) => callback(err, accumulator)); + return callback[PROMISE_SYMBOL]; + } + function tryEach(tasks, callback) { + var error3 = null; + var result; + return eachSeries$1(tasks, (task, taskCb) => { + wrapAsync(task)((err, ...args) => { + if (err === false) return taskCb(err); + if (args.length < 2) { + [result] = args; + } else { + result = args; } - } + error3 = err; + taskCb(err ? null : {}); + }); + }, () => callback(error3, result)); + } + var tryEach$1 = awaitify(tryEach); + function unmemoize(fn) { + return (...args) => { + return (fn.unmemoized || fn)(...args); + }; + } + function whilst(test, iteratee, callback) { + callback = onlyOnce(callback); + var _fn = wrapAsync(iteratee); + var _test = wrapAsync(test); + var results = []; + function next(err, ...rest) { + if (err) return callback(err); + results = rest; + if (err === false) return; + _test(check); } - if (!options.blobHTTPHeaders) { - options.blobHTTPHeaders = {}; + function check(err, truth) { + if (err) return callback(err); + if (err === false) return; + if (!truth) return callback(null, ...results); + _fn(next); } - if (!options.conditions) { - options.conditions = {}; + return _test(check); + } + var whilst$1 = awaitify(whilst, 3); + function until(test, iteratee, callback) { + const _test = wrapAsync(test); + return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback); + } + function waterfall(tasks, callback) { + callback = once(callback); + if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions")); + if (!tasks.length) return callback(); + var taskIndex = 0; + function nextTask(args) { + var task = wrapAsync(tasks[taskIndex++]); + task(...args, onlyOnce(next)); } - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => { - if (size <= maxSingleShotSize) { - return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions)); - } - const numBlocks = Math.floor((size - 1) / blockSize) + 1; - if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) { - throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`); - } - const blockList = []; - const blockIDPrefix = (0, core_util_2.randomUUID)(); - let transferProgress = 0; - const batch = new Batch_js_1.Batch(options.concurrency); - for (let i = 0; i < numBlocks; i++) { - batch.addOperation(async () => { - const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i); - const start = blockSize * i; - const end = i === numBlocks - 1 ? size : start + blockSize; - const contentLength = end - start; - blockList.push(blockID); - await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, { - abortSignal: options.abortSignal, - conditions: options.conditions, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - }); - transferProgress += contentLength; - if (options.onProgress) { - options.onProgress({ - loadedBytes: transferProgress - }); - } - }); + function next(err, ...args) { + if (err === false) return; + if (err || taskIndex === tasks.length) { + return callback(err, ...args); } - await batch.do(); - return this.commitBlockList(blockList, updatedOptions); - }); + nextTask(args); + } + nextTask([]); } - /** - * ONLY AVAILABLE IN NODE.JS RUNTIME. - * - * Uploads a local file in blocks to a block blob. - * - * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload. - * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList - * to commit the block list. - * - * @param filePath - Full path of local file - * @param options - Options to Upload to Block Blob operation. - * @returns Response data for the Blob Upload operation. - */ - async uploadFile(filePath, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => { - const size = (await (0, utils_js_1.fsStat)(filePath)).size; - return this.uploadSeekableInternal((offset, count) => { - return () => (0, utils_js_1.fsCreateReadStream)(filePath, { - autoClose: true, - end: count ? offset + count - 1 : Infinity, - start: offset + var waterfall$1 = awaitify(waterfall); + var index = { + apply, + applyEach, + applyEachSeries, + asyncify, + auto, + autoInject, + cargo: cargo$1, + cargoQueue: cargo, + compose, + concat: concat$1, + concatLimit: concatLimit$1, + concatSeries: concatSeries$1, + constant: constant$1, + detect: detect$1, + detectLimit: detectLimit$1, + detectSeries: detectSeries$1, + dir, + doUntil, + doWhilst: doWhilst$1, + each, + eachLimit: eachLimit$1, + eachOf: eachOf$1, + eachOfLimit: eachOfLimit$1, + eachOfSeries: eachOfSeries$1, + eachSeries: eachSeries$1, + ensureAsync, + every: every$1, + everyLimit: everyLimit$1, + everySeries: everySeries$1, + filter: filter$1, + filterLimit: filterLimit$1, + filterSeries: filterSeries$1, + forever: forever$1, + groupBy, + groupByLimit: groupByLimit$1, + groupBySeries, + log, + map: map$1, + mapLimit: mapLimit$1, + mapSeries: mapSeries$1, + mapValues, + mapValuesLimit: mapValuesLimit$1, + mapValuesSeries, + memoize, + nextTick, + parallel, + parallelLimit, + priorityQueue, + queue, + race: race$1, + reduce: reduce$1, + reduceRight, + reflect, + reflectAll, + reject: reject$1, + rejectLimit: rejectLimit$1, + rejectSeries: rejectSeries$1, + retry: retry2, + retryable, + seq: seq2, + series, + setImmediate: setImmediate$1, + some: some$1, + someLimit: someLimit$1, + someSeries: someSeries$1, + sortBy: sortBy$1, + timeout, + times, + timesLimit, + timesSeries, + transform, + tryEach: tryEach$1, + unmemoize, + until, + waterfall: waterfall$1, + whilst: whilst$1, + // aliases + all: every$1, + allLimit: everyLimit$1, + allSeries: everySeries$1, + any: some$1, + anyLimit: someLimit$1, + anySeries: someSeries$1, + find: detect$1, + findLimit: detectLimit$1, + findSeries: detectSeries$1, + flatMap: concat$1, + flatMapLimit: concatLimit$1, + flatMapSeries: concatSeries$1, + forEach: each, + forEachSeries: eachSeries$1, + forEachLimit: eachLimit$1, + forEachOf: eachOf$1, + forEachOfSeries: eachOfSeries$1, + forEachOfLimit: eachOfLimit$1, + inject: reduce$1, + foldl: reduce$1, + foldr: reduceRight, + select: filter$1, + selectLimit: filterLimit$1, + selectSeries: filterSeries$1, + wrapSync: asyncify, + during: whilst$1, + doDuring: doWhilst$1 + }; + exports3.all = every$1; + exports3.allLimit = everyLimit$1; + exports3.allSeries = everySeries$1; + exports3.any = some$1; + exports3.anyLimit = someLimit$1; + exports3.anySeries = someSeries$1; + exports3.apply = apply; + exports3.applyEach = applyEach; + exports3.applyEachSeries = applyEachSeries; + exports3.asyncify = asyncify; + exports3.auto = auto; + exports3.autoInject = autoInject; + exports3.cargo = cargo$1; + exports3.cargoQueue = cargo; + exports3.compose = compose; + exports3.concat = concat$1; + exports3.concatLimit = concatLimit$1; + exports3.concatSeries = concatSeries$1; + exports3.constant = constant$1; + exports3.default = index; + exports3.detect = detect$1; + exports3.detectLimit = detectLimit$1; + exports3.detectSeries = detectSeries$1; + exports3.dir = dir; + exports3.doDuring = doWhilst$1; + exports3.doUntil = doUntil; + exports3.doWhilst = doWhilst$1; + exports3.during = whilst$1; + exports3.each = each; + exports3.eachLimit = eachLimit$1; + exports3.eachOf = eachOf$1; + exports3.eachOfLimit = eachOfLimit$1; + exports3.eachOfSeries = eachOfSeries$1; + exports3.eachSeries = eachSeries$1; + exports3.ensureAsync = ensureAsync; + exports3.every = every$1; + exports3.everyLimit = everyLimit$1; + exports3.everySeries = everySeries$1; + exports3.filter = filter$1; + exports3.filterLimit = filterLimit$1; + exports3.filterSeries = filterSeries$1; + exports3.find = detect$1; + exports3.findLimit = detectLimit$1; + exports3.findSeries = detectSeries$1; + exports3.flatMap = concat$1; + exports3.flatMapLimit = concatLimit$1; + exports3.flatMapSeries = concatSeries$1; + exports3.foldl = reduce$1; + exports3.foldr = reduceRight; + exports3.forEach = each; + exports3.forEachLimit = eachLimit$1; + exports3.forEachOf = eachOf$1; + exports3.forEachOfLimit = eachOfLimit$1; + exports3.forEachOfSeries = eachOfSeries$1; + exports3.forEachSeries = eachSeries$1; + exports3.forever = forever$1; + exports3.groupBy = groupBy; + exports3.groupByLimit = groupByLimit$1; + exports3.groupBySeries = groupBySeries; + exports3.inject = reduce$1; + exports3.log = log; + exports3.map = map$1; + exports3.mapLimit = mapLimit$1; + exports3.mapSeries = mapSeries$1; + exports3.mapValues = mapValues; + exports3.mapValuesLimit = mapValuesLimit$1; + exports3.mapValuesSeries = mapValuesSeries; + exports3.memoize = memoize; + exports3.nextTick = nextTick; + exports3.parallel = parallel; + exports3.parallelLimit = parallelLimit; + exports3.priorityQueue = priorityQueue; + exports3.queue = queue; + exports3.race = race$1; + exports3.reduce = reduce$1; + exports3.reduceRight = reduceRight; + exports3.reflect = reflect; + exports3.reflectAll = reflectAll; + exports3.reject = reject$1; + exports3.rejectLimit = rejectLimit$1; + exports3.rejectSeries = rejectSeries$1; + exports3.retry = retry2; + exports3.retryable = retryable; + exports3.select = filter$1; + exports3.selectLimit = filterLimit$1; + exports3.selectSeries = filterSeries$1; + exports3.seq = seq2; + exports3.series = series; + exports3.setImmediate = setImmediate$1; + exports3.some = some$1; + exports3.someLimit = someLimit$1; + exports3.someSeries = someSeries$1; + exports3.sortBy = sortBy$1; + exports3.timeout = timeout; + exports3.times = times; + exports3.timesLimit = timesLimit; + exports3.timesSeries = timesSeries; + exports3.transform = transform; + exports3.tryEach = tryEach$1; + exports3.unmemoize = unmemoize; + exports3.until = until; + exports3.waterfall = waterfall$1; + exports3.whilst = whilst$1; + exports3.wrapSync = asyncify; + Object.defineProperty(exports3, "__esModule", { value: true }); + })); + } +}); + +// node_modules/graceful-fs/polyfills.js +var require_polyfills = __commonJS({ + "node_modules/graceful-fs/polyfills.js"(exports2, module2) { + var constants = require("constants"); + var origCwd = process.cwd; + var cwd = null; + var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform; + process.cwd = function() { + if (!cwd) + cwd = origCwd.call(process); + return cwd; + }; + try { + process.cwd(); + } catch (er) { + } + if (typeof process.chdir === "function") { + chdir = process.chdir; + process.chdir = function(d) { + cwd = null; + chdir.call(process, d); + }; + if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir); + } + var chdir; + module2.exports = patch; + function patch(fs8) { + if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { + patchLchmod(fs8); + } + if (!fs8.lutimes) { + patchLutimes(fs8); + } + fs8.chown = chownFix(fs8.chown); + fs8.fchown = chownFix(fs8.fchown); + fs8.lchown = chownFix(fs8.lchown); + fs8.chmod = chmodFix(fs8.chmod); + fs8.fchmod = chmodFix(fs8.fchmod); + fs8.lchmod = chmodFix(fs8.lchmod); + fs8.chownSync = chownFixSync(fs8.chownSync); + fs8.fchownSync = chownFixSync(fs8.fchownSync); + fs8.lchownSync = chownFixSync(fs8.lchownSync); + fs8.chmodSync = chmodFixSync(fs8.chmodSync); + fs8.fchmodSync = chmodFixSync(fs8.fchmodSync); + fs8.lchmodSync = chmodFixSync(fs8.lchmodSync); + fs8.stat = statFix(fs8.stat); + fs8.fstat = statFix(fs8.fstat); + fs8.lstat = statFix(fs8.lstat); + fs8.statSync = statFixSync(fs8.statSync); + fs8.fstatSync = statFixSync(fs8.fstatSync); + fs8.lstatSync = statFixSync(fs8.lstatSync); + if (fs8.chmod && !fs8.lchmod) { + fs8.lchmod = function(path7, mode, cb) { + if (cb) process.nextTick(cb); + }; + fs8.lchmodSync = function() { + }; + } + if (fs8.chown && !fs8.lchown) { + fs8.lchown = function(path7, uid, gid, cb) { + if (cb) process.nextTick(cb); + }; + fs8.lchownSync = function() { + }; + } + if (platform === "win32") { + fs8.rename = typeof fs8.rename !== "function" ? fs8.rename : (function(fs$rename) { + function rename(from, to, cb) { + var start = Date.now(); + var backoff = 0; + fs$rename(from, to, function CB(er) { + if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) { + setTimeout(function() { + fs8.stat(to, function(stater, st) { + if (stater && stater.code === "ENOENT") + fs$rename(from, to, CB); + else + cb(er); + }); + }, backoff); + if (backoff < 100) + backoff += 10; + return; + } + if (cb) cb(er); }); - }, size, { - ...options, - tracingOptions: updatedOptions.tracingOptions - }); - }); + } + if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename); + return rename; + })(fs8.rename); } - /** - * ONLY AVAILABLE IN NODE.JS RUNTIME. - * - * Uploads a Node.js Readable stream into block blob. - * - * PERFORMANCE IMPROVEMENT TIPS: - * * Input stream highWaterMark is better to set a same value with bufferSize - * parameter, which will avoid Buffer.concat() operations. - * - * @param stream - Node.js Readable stream - * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB - * @param maxConcurrency - Max concurrency indicates the max number of buffers that can be allocated, - * positive correlation with max uploading concurrency. Default value is 5 - * @param options - Options to Upload Stream to Block Blob operation. - * @returns Response data for the Blob Upload operation. - */ - async uploadStream(stream, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) { - if (!options.blobHTTPHeaders) { - options.blobHTTPHeaders = {}; - } - if (!options.conditions) { - options.conditions = {}; + fs8.read = typeof fs8.read !== "function" ? fs8.read : (function(fs$read) { + function read(fd, buffer, offset, length, position, callback_) { + var callback; + if (callback_ && typeof callback_ === "function") { + var eagCounter = 0; + callback = function(er, _2, __) { + if (er && er.code === "EAGAIN" && eagCounter < 10) { + eagCounter++; + return fs$read.call(fs8, fd, buffer, offset, length, position, callback); + } + callback_.apply(this, arguments); + }; + } + return fs$read.call(fs8, fd, buffer, offset, length, position, callback); } - return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => { - let blockNum = 0; - const blockIDPrefix = (0, core_util_2.randomUUID)(); - let transferProgress = 0; - const blockList = []; - const scheduler = new storage_common_1.BufferScheduler( - stream, - bufferSize, - maxConcurrency, - async (body, length) => { - const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum); - blockList.push(blockID); - blockNum++; - await this.stageBlock(blockID, body, length, { - customerProvidedKey: options.customerProvidedKey, - conditions: options.conditions, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - }); - transferProgress += length; - if (options.onProgress) { - options.onProgress({ loadedBytes: transferProgress }); + if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read); + return read; + })(fs8.read); + fs8.readSync = typeof fs8.readSync !== "function" ? fs8.readSync : /* @__PURE__ */ (function(fs$readSync) { + return function(fd, buffer, offset, length, position) { + var eagCounter = 0; + while (true) { + try { + return fs$readSync.call(fs8, fd, buffer, offset, length, position); + } catch (er) { + if (er.code === "EAGAIN" && eagCounter < 10) { + eagCounter++; + continue; } - }, - // concurrency should set a smaller value than maxConcurrency, which is helpful to - // reduce the possibility when a outgoing handler waits for stream data, in - // this situation, outgoing handlers are blocked. - // Outgoing queue shouldn't be empty. - Math.ceil(maxConcurrency / 4 * 3) + throw er; + } + } + }; + })(fs8.readSync); + function patchLchmod(fs9) { + fs9.lchmod = function(path7, mode, callback) { + fs9.open( + path7, + constants.O_WRONLY | constants.O_SYMLINK, + mode, + function(err, fd) { + if (err) { + if (callback) callback(err); + return; + } + fs9.fchmod(fd, mode, function(err2) { + fs9.close(fd, function(err22) { + if (callback) callback(err2 || err22); + }); + }); + } ); - await scheduler.do(); - return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, { - ...options, - tracingOptions: updatedOptions.tracingOptions - })); - }); - } - }; - exports2.BlockBlobClient = BlockBlobClient; - var PageBlobClient = class _PageBlobClient extends BlobClient { - /** - * pageBlobsContext provided by protocol layer. - */ - pageBlobContext; - constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) { - let pipeline; - let url; - options = options || {}; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - pipeline = credentialOrPipelineOrContainerName; - } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - options = blobNameOrOptions; - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); - } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { - url = urlOrConnectionString; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") { - const containerName = credentialOrPipelineOrContainerName; - const blobName = blobNameOrOptions; - const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); - if (extractedCreds.kind === "AccountConnString") { - if (core_util_1.isNodeLike) { - const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)); - if (!options.proxyOptions) { - options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); + }; + fs9.lchmodSync = function(path7, mode) { + var fd = fs9.openSync(path7, constants.O_WRONLY | constants.O_SYMLINK, mode); + var threw = true; + var ret; + try { + ret = fs9.fchmodSync(fd, mode); + threw = false; + } finally { + if (threw) { + try { + fs9.closeSync(fd); + } catch (er) { } - pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); } else { - throw new Error("Account connection string is only supported in Node.js environment"); + fs9.closeSync(fd); } - } else if (extractedCreds.kind === "SASConnString") { - url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else { - throw new Error("Connection string must be either an Account connection string or a SAS connection string"); } - } else { - throw new Error("Expecting non-empty strings for containerName and blobName parameters"); - } - super(url, pipeline); - this.pageBlobContext = this.storageClientContext.pageBlob; + return ret; + }; } - /** - * Creates a new PageBlobClient object identical to the source but with the - * specified snapshot timestamp. - * Provide "" will remove the snapshot and return a Client to the base blob. - * - * @param snapshot - The snapshot timestamp. - * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp. - */ - withSnapshot(snapshot) { - return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline); + function patchLutimes(fs9) { + if (constants.hasOwnProperty("O_SYMLINK") && fs9.futimes) { + fs9.lutimes = function(path7, at, mt, cb) { + fs9.open(path7, constants.O_SYMLINK, function(er, fd) { + if (er) { + if (cb) cb(er); + return; + } + fs9.futimes(fd, at, mt, function(er2) { + fs9.close(fd, function(er22) { + if (cb) cb(er2 || er22); + }); + }); + }); + }; + fs9.lutimesSync = function(path7, at, mt) { + var fd = fs9.openSync(path7, constants.O_SYMLINK); + var ret; + var threw = true; + try { + ret = fs9.futimesSync(fd, at, mt); + threw = false; + } finally { + if (threw) { + try { + fs9.closeSync(fd); + } catch (er) { + } + } else { + fs9.closeSync(fd); + } + } + return ret; + }; + } else if (fs9.futimes) { + fs9.lutimes = function(_a, _b, _c, cb) { + if (cb) process.nextTick(cb); + }; + fs9.lutimesSync = function() { + }; + } } - /** - * Creates a page blob of the specified length. Call uploadPages to upload data - * data to a page blob. - * @see https://learn.microsoft.com/rest/api/storageservices/put-blob - * - * @param size - size of the page blob. - * @param options - Options to the Page Blob Create operation. - * @returns Response data for the Page Blob Create operation. - */ - async create(size, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, { - abortSignal: options.abortSignal, - blobHttpHeaders: options.blobHTTPHeaders, - blobSequenceNumber: options.blobSequenceNumber, - leaseAccessConditions: options.conditions, - metadata: options.metadata, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn, - immutabilityPolicyMode: options.immutabilityPolicy?.policyMode, - legalHold: options.legalHold, - tier: (0, models_js_1.toAccessTier)(options.tier), - blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags), - tracingOptions: updatedOptions.tracingOptions - })); - }); + function chmodFix(orig) { + if (!orig) return orig; + return function(target, mode, cb) { + return orig.call(fs8, target, mode, function(er) { + if (chownErOk(er)) er = null; + if (cb) cb.apply(this, arguments); + }); + }; } - /** - * Creates a page blob of the specified length. Call uploadPages to upload data - * data to a page blob. If the blob with the same name already exists, the content - * of the existing blob will remain unchanged. - * @see https://learn.microsoft.com/rest/api/storageservices/put-blob - * - * @param size - size of the page blob. - * @param options - - */ - async createIfNotExists(size, options = {}) { - return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => { + function chmodFixSync(orig) { + if (!orig) return orig; + return function(target, mode) { try { - const conditions = { ifNoneMatch: constants_js_1.ETagAny }; - const res = (0, utils_common_js_1.assertResponse)(await this.create(size, { - ...options, - conditions, - tracingOptions: updatedOptions.tracingOptions - })); - return { - succeeded: true, - ...res, - _response: res._response - // _response is made non-enumerable - }; - } catch (e) { - if (e.details?.errorCode === "BlobAlreadyExists") { - return { - succeeded: false, - ...e.response?.parsedHeaders, - _response: e.response - }; - } - throw e; + return orig.call(fs8, target, mode); + } catch (er) { + if (!chownErOk(er)) throw er; } - }); - } - /** - * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512. - * @see https://learn.microsoft.com/rest/api/storageservices/put-page - * - * @param body - Data to upload - * @param offset - Offset of destination page blob - * @param count - Content length of the body, also number of bytes to be uploaded - * @param options - Options to the Page Blob Upload Pages operation. - * @returns Response data for the Page Blob Upload Pages operation. - */ - async uploadPages(body, offset, count, options = {}) { - options.conditions = options.conditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - requestOptions: { - onUploadProgress: options.onProgress - }, - range: (0, Range_js_1.rangeToString)({ offset, count }), - sequenceNumberAccessConditions: options.conditions, - transactionalContentMD5: options.transactionalContentMD5, - transactionalContentCrc64: options.transactionalContentCrc64, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); - }); + }; } - /** - * The Upload Pages operation writes a range of pages to a page blob where the - * contents are read from a URL. - * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url - * - * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication - * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob - * @param destOffset - Offset of destination page blob - * @param count - Number of bytes to be uploaded from source page blob - * @param options - - */ - async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) { - options.conditions = options.conditions || {}; - options.sourceConditions = options.sourceConditions || {}; - (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps); - return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), { - abortSignal: options.abortSignal, - sourceContentMD5: options.sourceContentMD5, - sourceContentCrc64: options.sourceContentCrc64, - leaseAccessConditions: options.conditions, - sequenceNumberAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - sourceModifiedAccessConditions: { - sourceIfMatch: options.sourceConditions?.ifMatch, - sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince, - sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch, - sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince - }, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization), - fileRequestIntent: options.sourceShareTokenIntent, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function chownFix(orig) { + if (!orig) return orig; + return function(target, uid, gid, cb) { + return orig.call(fs8, target, uid, gid, function(er) { + if (chownErOk(er)) er = null; + if (cb) cb.apply(this, arguments); + }); + }; } - /** - * Frees the specified pages from the page blob. - * @see https://learn.microsoft.com/rest/api/storageservices/put-page - * - * @param offset - Starting byte position of the pages to clear. - * @param count - Number of bytes to clear. - * @param options - Options to the Page Blob Clear Pages operation. - * @returns Response data for the Page Blob Clear Pages operation. - */ - async clearPages(offset = 0, count, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - range: (0, Range_js_1.rangeToString)({ offset, count }), - sequenceNumberAccessConditions: options.conditions, - cpkInfo: options.customerProvidedKey, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function chownFixSync(orig) { + if (!orig) return orig; + return function(target, uid, gid) { + try { + return orig.call(fs8, target, uid, gid); + } catch (er) { + if (!chownErOk(er)) throw er; + } + }; } - /** - * Returns the list of valid page ranges for a page blob or snapshot of a page blob. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param options - Options to the Page Blob Get Ranges operation. - * @returns Response data for the Page Blob Get Ranges operation. - */ - async getPageRanges(offset = 0, count, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - range: (0, Range_js_1.rangeToString)({ offset, count }), - tracingOptions: updatedOptions.tracingOptions - })); - return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response); - }); + function statFix(orig) { + if (!orig) return orig; + return function(target, options, cb) { + if (typeof options === "function") { + cb = options; + options = null; + } + function callback(er, stats) { + if (stats) { + if (stats.uid < 0) stats.uid += 4294967296; + if (stats.gid < 0) stats.gid += 4294967296; + } + if (cb) cb.apply(this, arguments); + } + return options ? orig.call(fs8, target, options, callback) : orig.call(fs8, target, callback); + }; } - /** - * getPageRangesSegment returns a single segment of page ranges starting from the - * specified Marker. Use an empty Marker to start enumeration from the beginning. - * After getting a segment, process it, and then call getPageRangesSegment again - * (passing the the previously-returned Marker) to get the next segment. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param marker - A string value that identifies the portion of the list to be returned with the next list operation. - * @param options - Options to PageBlob Get Page Ranges Segment operation. - */ - async listPageRangesSegment(offset = 0, count, marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - range: (0, Range_js_1.rangeToString)({ offset, count }), - marker, - maxPageSize: options.maxPageSize, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function statFixSync(orig) { + if (!orig) return orig; + return function(target, options) { + var stats = options ? orig.call(fs8, target, options) : orig.call(fs8, target); + if (stats) { + if (stats.uid < 0) stats.uid += 4294967296; + if (stats.gid < 0) stats.gid += 4294967296; + } + return stats; + }; } - /** - * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel} - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param marker - A string value that identifies the portion of - * the get of page ranges to be returned with the next getting operation. The - * operation returns the ContinuationToken value within the response body if the - * getting operation did not return all page ranges remaining within the current page. - * The ContinuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of get - * items. The marker value is opaque to the client. - * @param options - Options to List Page Ranges operation. - */ - async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) { - let getPageRangeItemSegmentsResponse; - if (!!marker || marker === void 0) { - do { - getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options); - marker = getPageRangeItemSegmentsResponse.continuationToken; - yield await getPageRangeItemSegmentsResponse; - } while (marker); + function chownErOk(er) { + if (!er) + return true; + if (er.code === "ENOSYS") + return true; + var nonroot = !process.getuid || process.getuid() !== 0; + if (nonroot) { + if (er.code === "EINVAL" || er.code === "EPERM") + return true; } + return false; } - /** - * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param options - Options to List Page Ranges operation. - */ - async *listPageRangeItems(offset = 0, count, options = {}) { - let marker; - for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) { - yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment); + } + } +}); + +// node_modules/graceful-fs/legacy-streams.js +var require_legacy_streams = __commonJS({ + "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) { + var Stream = require("stream").Stream; + module2.exports = legacy; + function legacy(fs8) { + return { + ReadStream, + WriteStream + }; + function ReadStream(path7, options) { + if (!(this instanceof ReadStream)) return new ReadStream(path7, options); + Stream.call(this); + var self2 = this; + this.path = path7; + this.fd = null; + this.readable = true; + this.paused = false; + this.flags = "r"; + this.mode = 438; + this.bufferSize = 64 * 1024; + options = options || {}; + var keys = Object.keys(options); + for (var index = 0, length = keys.length; index < length; index++) { + var key = keys[index]; + this[key] = options[key]; } - } - /** - * Returns an async iterable iterator to list of page ranges for a page blob. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * .byPage() returns an async iterable iterator to list of page ranges for a page blob. - * - * ```ts snippet:ClientsListPageBlobs - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const pageBlobClient = containerClient.getPageBlobClient(blobName); - * - * // Example using `for await` syntax - * let i = 1; - * for await (const pageRange of pageBlobClient.listPageRanges()) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * - * // Example using `iter.next()` syntax - * i = 1; - * const iter = pageBlobClient.listPageRanges(); - * let { value, done } = await iter.next(); - * while (!done) { - * console.log(`Page range ${i++}: ${value.start} - ${value.end}`); - * ({ value, done } = await iter.next()); - * } - * - * // Example using `byPage()` syntax - * i = 1; - * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) { - * for (const pageRange of page.pageRange || []) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * } - * - * // Example using paging with a marker - * i = 1; - * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * // Prints 2 page ranges - * if (response.pageRange) { - * for (const pageRange of response.pageRange) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * } - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * // Prints 10 page ranges - * if (response.pageRange) { - * for (const pageRange of response.pageRange) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * } - * ``` - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param options - Options to the Page Blob Get Ranges operation. - * @returns An asyncIterableIterator that supports paging. - */ - listPageRanges(offset = 0, count, options = {}) { - options.conditions = options.conditions || {}; - const iter = this.listPageRangeItems(offset, count, options); - return { - /** - * The next method, part of the iteration protocol - */ - next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.listPageRangeItemSegments(offset, count, settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...options - }); + if (this.encoding) this.setEncoding(this.encoding); + if (this.start !== void 0) { + if ("number" !== typeof this.start) { + throw TypeError("start must be a Number"); } - }; - } - /** - * Gets the collection of page ranges that differ between a specified snapshot and this page blob. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * @param offset - Starting byte position of the page blob - * @param count - Number of bytes to get ranges diff. - * @param prevSnapshot - Timestamp of snapshot to retrieve the difference. - * @param options - Options to the Page Blob Get Page Ranges Diff operation. - * @returns Response data for the Page Blob Get Page Range Diff operation. - */ - async getPageRangesDiff(offset, count, prevSnapshot, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => { - const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - prevsnapshot: prevSnapshot, - range: (0, Range_js_1.rangeToString)({ offset, count }), - tracingOptions: updatedOptions.tracingOptions - })); - return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result); - }); - } - /** - * getPageRangesDiffSegment returns a single segment of page ranges starting from the - * specified Marker for difference between previous snapshot and the target page blob. - * Use an empty Marker to start enumeration from the beginning. - * After getting a segment, process it, and then call getPageRangesDiffSegment again - * (passing the the previously-returned Marker) to get the next segment. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference. - * @param marker - A string value that identifies the portion of the get to be returned with the next get operation. - * @param options - Options to the Page Blob Get Page Ranges Diff operation. - */ - async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({ - abortSignal: options?.abortSignal, - leaseAccessConditions: options?.conditions, - modifiedAccessConditions: { - ...options?.conditions, - ifTags: options?.conditions?.tagConditions - }, - prevsnapshot: prevSnapshotOrUrl, - range: (0, Range_js_1.rangeToString)({ - offset, - count - }), - marker, - maxPageSize: options?.maxPageSize, - tracingOptions: updatedOptions.tracingOptions - })); - }); - } - /** - * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel} - * - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference. - * @param marker - A string value that identifies the portion of - * the get of page ranges to be returned with the next getting operation. The - * operation returns the ContinuationToken value within the response body if the - * getting operation did not return all page ranges remaining within the current page. - * The ContinuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of get - * items. The marker value is opaque to the client. - * @param options - Options to the Page Blob Get Page Ranges Diff operation. - */ - async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) { - let getPageRangeItemSegmentsResponse; - if (!!marker || marker === void 0) { - do { - getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options); - marker = getPageRangeItemSegmentsResponse.continuationToken; - yield await getPageRangeItemSegmentsResponse; - } while (marker); + if (this.end === void 0) { + this.end = Infinity; + } else if ("number" !== typeof this.end) { + throw TypeError("end must be a Number"); + } + if (this.start > this.end) { + throw new Error("start must be <= end"); + } + this.pos = this.start; } - } - /** - * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference. - * @param options - Options to the Page Blob Get Page Ranges Diff operation. - */ - async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) { - let marker; - for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) { - yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment); + if (this.fd !== null) { + process.nextTick(function() { + self2._read(); + }); + return; } - } - /** - * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob. - * - * ```ts snippet:ClientsListPageBlobsDiff - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const pageBlobClient = containerClient.getPageBlobClient(blobName); - * - * const offset = 0; - * const count = 1024; - * const previousSnapshot = ""; - * // Example using `for await` syntax - * let i = 1; - * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * - * // Example using `iter.next()` syntax - * i = 1; - * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot); - * let { value, done } = await iter.next(); - * while (!done) { - * console.log(`Page range ${i++}: ${value.start} - ${value.end}`); - * ({ value, done } = await iter.next()); - * } - * - * // Example using `byPage()` syntax - * i = 1; - * for await (const page of pageBlobClient - * .listPageRangesDiff(offset, count, previousSnapshot) - * .byPage({ maxPageSize: 20 })) { - * for (const pageRange of page.pageRange || []) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * } - * - * // Example using paging with a marker - * i = 1; - * let iterator = pageBlobClient - * .listPageRangesDiff(offset, count, previousSnapshot) - * .byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * // Prints 2 page ranges - * if (response.pageRange) { - * for (const pageRange of response.pageRange) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * } - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = pageBlobClient - * .listPageRangesDiff(offset, count, previousSnapshot) - * .byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * // Prints 10 page ranges - * if (response.pageRange) { - * for (const pageRange of response.pageRange) { - * console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`); - * } - * } - * ``` - * - * @param offset - Starting byte position of the page ranges. - * @param count - Number of bytes to get. - * @param prevSnapshot - Timestamp of snapshot to retrieve the difference. - * @param options - Options to the Page Blob Get Ranges operation. - * @returns An asyncIterableIterator that supports paging. - */ - listPageRangesDiff(offset, count, prevSnapshot, options = {}) { - options.conditions = options.conditions || {}; - const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, { - ...options - }); - return { - /** - * The next method, part of the iteration protocol - */ - next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...options - }); + fs8.open(this.path, this.flags, this.mode, function(err, fd) { + if (err) { + self2.emit("error", err); + self2.readable = false; + return; } - }; - } - /** - * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks. - * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges - * - * @param offset - Starting byte position of the page blob - * @param count - Number of bytes to get ranges diff. - * @param prevSnapshotUrl - URL of snapshot to retrieve the difference. - * @param options - Options to the Page Blob Get Page Ranges Diff operation. - * @returns Response data for the Page Blob Get Page Range Diff operation. - */ - async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - prevSnapshotUrl, - range: (0, Range_js_1.rangeToString)({ offset, count }), - tracingOptions: updatedOptions.tracingOptions - })); - return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response); - }); - } - /** - * Resizes the page blob to the specified size (which must be a multiple of 512). - * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties - * - * @param size - Target size - * @param options - Options to the Page Blob Resize operation. - * @returns Response data for the Page Blob Resize operation. - */ - async resize(size, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, { - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - encryptionScope: options.encryptionScope, - tracingOptions: updatedOptions.tracingOptions - })); - }); - } - /** - * Sets a page blob's sequence number. - * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties - * - * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number. - * @param sequenceNumber - Required if sequenceNumberAction is max or update - * @param options - Options to the Page Blob Update Sequence Number operation. - * @returns Response data for the Page Blob Update Sequence Number operation. - */ - async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, { - abortSignal: options.abortSignal, - blobSequenceNumber: sequenceNumber, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); + self2.fd = fd; + self2.emit("open", fd); + self2._read(); }); } - /** - * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob. - * The snapshot is copied such that only the differential changes between the previously - * copied snapshot are transferred to the destination. - * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual. - * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob - * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots - * - * @param copySource - Specifies the name of the source page blob snapshot. For example, - * https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= - * @param options - Options to the Page Blob Copy Incremental operation. - * @returns Response data for the Page Blob Copy Incremental operation. - */ - async startCopyIncremental(copySource, options = {}) { - return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, { - abortSignal: options.abortSignal, - modifiedAccessConditions: { - ...options.conditions, - ifTags: options.conditions?.tagConditions - }, - tracingOptions: updatedOptions.tracingOptions - })); - }); + function WriteStream(path7, options) { + if (!(this instanceof WriteStream)) return new WriteStream(path7, options); + Stream.call(this); + this.path = path7; + this.fd = null; + this.writable = true; + this.flags = "w"; + this.encoding = "binary"; + this.mode = 438; + this.bytesWritten = 0; + options = options || {}; + var keys = Object.keys(options); + for (var index = 0, length = keys.length; index < length; index++) { + var key = keys[index]; + this[key] = options[key]; + } + if (this.start !== void 0) { + if ("number" !== typeof this.start) { + throw TypeError("start must be a Number"); + } + if (this.start < 0) { + throw new Error("start must be >= zero"); + } + this.pos = this.start; + } + this.busy = false; + this._queue = []; + if (this.fd === null) { + this._open = fs8.open; + this._queue.push([this._open, this.path, this.flags, this.mode, void 0]); + this.flush(); + } } - }; - exports2.PageBlobClient = PageBlobClient; + } } }); -// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js -var require_BatchUtils = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) { +// node_modules/graceful-fs/clone.js +var require_clone = __commonJS({ + "node_modules/graceful-fs/clone.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getBodyAsText = getBodyAsText; - exports2.utf8ByteLength = utf8ByteLength; - var utils_js_1 = require_utils7(); - var constants_js_1 = require_constants15(); - async function getBodyAsText(batchResponse) { - let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES); - const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer); - buffer = buffer.slice(0, responseLength); - return buffer.toString(); - } - function utf8ByteLength(str2) { - return Buffer.byteLength(str2); + module2.exports = clone; + var getPrototypeOf = Object.getPrototypeOf || function(obj) { + return obj.__proto__; + }; + function clone(obj) { + if (obj === null || typeof obj !== "object") + return obj; + if (obj instanceof Object) + var copy = { __proto__: getPrototypeOf(obj) }; + else + var copy = /* @__PURE__ */ Object.create(null); + Object.getOwnPropertyNames(obj).forEach(function(key) { + Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)); + }); + return copy; } } }); -// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js -var require_BatchResponseParser = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BatchResponseParser = void 0; - var core_rest_pipeline_1 = require_commonjs6(); - var core_http_compat_1 = require_commonjs9(); - var constants_js_1 = require_constants15(); - var BatchUtils_js_1 = require_BatchUtils(); - var log_js_1 = require_log5(); - var HTTP_HEADER_DELIMITER = ": "; - var SPACE_DELIMITER = " "; - var NOT_FOUND = -1; - var BatchResponseParser = class { - batchResponse; - responseBatchBoundary; - perResponsePrefix; - batchResponseEnding; - subRequests; - constructor(batchResponse, subRequests) { - if (!batchResponse || !batchResponse.contentType) { - throw new RangeError("batchResponse is malformed or doesn't contain valid content-type."); +// node_modules/graceful-fs/graceful-fs.js +var require_graceful_fs = __commonJS({ + "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) { + var fs8 = require("fs"); + var polyfills = require_polyfills(); + var legacy = require_legacy_streams(); + var clone = require_clone(); + var util = require("util"); + var gracefulQueue; + var previousSymbol; + if (typeof Symbol === "function" && typeof Symbol.for === "function") { + gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue"); + previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous"); + } else { + gracefulQueue = "___graceful-fs.queue"; + previousSymbol = "___graceful-fs.previous"; + } + function noop3() { + } + function publishQueue(context2, queue2) { + Object.defineProperty(context2, gracefulQueue, { + get: function() { + return queue2; } - if (!subRequests || subRequests.size === 0) { - throw new RangeError("Invalid state: subRequests is not provided or size is 0."); + }); + } + var debug4 = noop3; + if (util.debuglog) + debug4 = util.debuglog("gfs4"); + else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) + debug4 = function() { + var m = util.format.apply(util, arguments); + m = "GFS4: " + m.split(/\n/).join("\nGFS4: "); + console.error(m); + }; + if (!fs8[gracefulQueue]) { + queue = global[gracefulQueue] || []; + publishQueue(fs8, queue); + fs8.close = (function(fs$close) { + function close(fd, cb) { + return fs$close.call(fs8, fd, function(err) { + if (!err) { + resetQueue(); + } + if (typeof cb === "function") + cb.apply(this, arguments); + }); } - this.batchResponse = batchResponse; - this.subRequests = subRequests; - this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1]; - this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`; - this.batchResponseEnding = `--${this.responseBatchBoundary}--`; - } - // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response - async parseBatchResponse() { - if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) { - throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`); + Object.defineProperty(close, previousSymbol, { + value: fs$close + }); + return close; + })(fs8.close); + fs8.closeSync = (function(fs$closeSync) { + function closeSync(fd) { + fs$closeSync.apply(fs8, arguments); + resetQueue(); } - const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse); - const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1); - const subResponseCount = subResponses.length; - if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) { - throw new Error("Invalid state: sub responses' count is not equal to sub requests' count."); + Object.defineProperty(closeSync, previousSymbol, { + value: fs$closeSync + }); + return closeSync; + })(fs8.closeSync); + if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) { + process.on("exit", function() { + debug4(fs8[gracefulQueue]); + require("assert").equal(fs8[gracefulQueue].length, 0); + }); + } + } + var queue; + if (!global[gracefulQueue]) { + publishQueue(global, fs8[gracefulQueue]); + } + module2.exports = patch(clone(fs8)); + if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs8.__patched) { + module2.exports = patch(fs8); + fs8.__patched = true; + } + function patch(fs9) { + polyfills(fs9); + fs9.gracefulify = patch; + fs9.createReadStream = createReadStream; + fs9.createWriteStream = createWriteStream3; + var fs$readFile = fs9.readFile; + fs9.readFile = readFile; + function readFile(path7, options, cb) { + if (typeof options === "function") + cb = options, options = null; + return go$readFile(path7, options, cb); + function go$readFile(path8, options2, cb2, startTime) { + return fs$readFile(path8, options2, function(err) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$readFile, [path8, options2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); + } + }); } - const deserializedSubResponses = new Array(subResponseCount); - let subResponsesSucceededCount = 0; - let subResponsesFailedCount = 0; - for (let index = 0; index < subResponseCount; index++) { - const subResponse = subResponses[index]; - const deserializedSubResponse = {}; - deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)()); - const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`); - let subRespHeaderStartFound = false; - let subRespHeaderEndFound = false; - let subRespFailed = false; - let contentId = NOT_FOUND; - for (const responseLine of responseLines) { - if (!subRespHeaderStartFound) { - if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) { - contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]); - } - if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) { - subRespHeaderStartFound = true; - const tokens = responseLine.split(SPACE_DELIMITER); - deserializedSubResponse.status = parseInt(tokens[1]); - deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER); - } - continue; + } + var fs$writeFile = fs9.writeFile; + fs9.writeFile = writeFile; + function writeFile(path7, data, options, cb) { + if (typeof options === "function") + cb = options, options = null; + return go$writeFile(path7, data, options, cb); + function go$writeFile(path8, data2, options2, cb2, startTime) { + return fs$writeFile(path8, data2, options2, function(err) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$writeFile, [path8, data2, options2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); } - if (responseLine.trim() === "") { - if (!subRespHeaderEndFound) { - subRespHeaderEndFound = true; - } - continue; + }); + } + } + var fs$appendFile = fs9.appendFile; + if (fs$appendFile) + fs9.appendFile = appendFile; + function appendFile(path7, data, options, cb) { + if (typeof options === "function") + cb = options, options = null; + return go$appendFile(path7, data, options, cb); + function go$appendFile(path8, data2, options2, cb2, startTime) { + return fs$appendFile(path8, data2, options2, function(err) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$appendFile, [path8, data2, options2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); } - if (!subRespHeaderEndFound) { - if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) { - throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`); - } - const tokens = responseLine.split(HTTP_HEADER_DELIMITER); - deserializedSubResponse.headers.set(tokens[0], tokens[1]); - if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) { - deserializedSubResponse.errorCode = tokens[1]; - subRespFailed = true; - } - } else { - if (!deserializedSubResponse.bodyAsText) { - deserializedSubResponse.bodyAsText = ""; - } - deserializedSubResponse.bodyAsText += responseLine; + }); + } + } + var fs$copyFile = fs9.copyFile; + if (fs$copyFile) + fs9.copyFile = copyFile; + function copyFile(src, dest, flags, cb) { + if (typeof flags === "function") { + cb = flags; + flags = 0; + } + return go$copyFile(src, dest, flags, cb); + function go$copyFile(src2, dest2, flags2, cb2, startTime) { + return fs$copyFile(src2, dest2, flags2, function(err) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); } - } - if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) { - deserializedSubResponse._request = this.subRequests.get(contentId); - deserializedSubResponses[contentId] = deserializedSubResponse; - } else { - log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`); - } - if (subRespFailed) { - subResponsesFailedCount++; - } else { - subResponsesSucceededCount++; - } + }); } - return { - subResponses: deserializedSubResponses, - subResponsesSucceededCount, - subResponsesFailedCount + } + var fs$readdir = fs9.readdir; + fs9.readdir = readdir; + var noReaddirOptionVersions = /^v[0-5]\./; + function readdir(path7, options, cb) { + if (typeof options === "function") + cb = options, options = null; + var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path8, options2, cb2, startTime) { + return fs$readdir(path8, fs$readdirCallback( + path8, + options2, + cb2, + startTime + )); + } : function go$readdir2(path8, options2, cb2, startTime) { + return fs$readdir(path8, options2, fs$readdirCallback( + path8, + options2, + cb2, + startTime + )); }; + return go$readdir(path7, options, cb); + function fs$readdirCallback(path8, options2, cb2, startTime) { + return function(err, files) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([ + go$readdir, + [path8, options2, cb2], + err, + startTime || Date.now(), + Date.now() + ]); + else { + if (files && files.sort) + files.sort(); + if (typeof cb2 === "function") + cb2.call(this, err, files); + } + }; + } } - }; - exports2.BatchResponseParser = BatchResponseParser; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js -var require_Mutex = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Mutex = void 0; - var MutexLockStatus; - (function(MutexLockStatus2) { - MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED"; - MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED"; - })(MutexLockStatus || (MutexLockStatus = {})); - var Mutex = class { - /** - * Lock for a specific key. If the lock has been acquired by another customer, then - * will wait until getting the lock. - * - * @param key - lock key - */ - static async lock(key) { - return new Promise((resolve5) => { - if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) { - this.keys[key] = MutexLockStatus.LOCKED; - resolve5(); + if (process.version.substr(0, 4) === "v0.8") { + var legStreams = legacy(fs9); + ReadStream = legStreams.ReadStream; + WriteStream = legStreams.WriteStream; + } + var fs$ReadStream = fs9.ReadStream; + if (fs$ReadStream) { + ReadStream.prototype = Object.create(fs$ReadStream.prototype); + ReadStream.prototype.open = ReadStream$open; + } + var fs$WriteStream = fs9.WriteStream; + if (fs$WriteStream) { + WriteStream.prototype = Object.create(fs$WriteStream.prototype); + WriteStream.prototype.open = WriteStream$open; + } + Object.defineProperty(fs9, "ReadStream", { + get: function() { + return ReadStream; + }, + set: function(val) { + ReadStream = val; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(fs9, "WriteStream", { + get: function() { + return WriteStream; + }, + set: function(val) { + WriteStream = val; + }, + enumerable: true, + configurable: true + }); + var FileReadStream = ReadStream; + Object.defineProperty(fs9, "FileReadStream", { + get: function() { + return FileReadStream; + }, + set: function(val) { + FileReadStream = val; + }, + enumerable: true, + configurable: true + }); + var FileWriteStream = WriteStream; + Object.defineProperty(fs9, "FileWriteStream", { + get: function() { + return FileWriteStream; + }, + set: function(val) { + FileWriteStream = val; + }, + enumerable: true, + configurable: true + }); + function ReadStream(path7, options) { + if (this instanceof ReadStream) + return fs$ReadStream.apply(this, arguments), this; + else + return ReadStream.apply(Object.create(ReadStream.prototype), arguments); + } + function ReadStream$open() { + var that = this; + open(that.path, that.flags, that.mode, function(err, fd) { + if (err) { + if (that.autoClose) + that.destroy(); + that.emit("error", err); } else { - this.onUnlockEvent(key, () => { - this.keys[key] = MutexLockStatus.LOCKED; - resolve5(); - }); + that.fd = fd; + that.emit("open", fd); + that.read(); } }); } - /** - * Unlock a key. - * - * @param key - - */ - static async unlock(key) { - return new Promise((resolve5) => { - if (this.keys[key] === MutexLockStatus.LOCKED) { - this.emitUnlockEvent(key); + function WriteStream(path7, options) { + if (this instanceof WriteStream) + return fs$WriteStream.apply(this, arguments), this; + else + return WriteStream.apply(Object.create(WriteStream.prototype), arguments); + } + function WriteStream$open() { + var that = this; + open(that.path, that.flags, that.mode, function(err, fd) { + if (err) { + that.destroy(); + that.emit("error", err); + } else { + that.fd = fd; + that.emit("open", fd); } - delete this.keys[key]; - resolve5(); }); } - static keys = {}; - static listeners = {}; - static onUnlockEvent(key, handler2) { - if (this.listeners[key] === void 0) { - this.listeners[key] = [handler2]; - } else { - this.listeners[key].push(handler2); - } + function createReadStream(path7, options) { + return new fs9.ReadStream(path7, options); } - static emitUnlockEvent(key) { - if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) { - const handler2 = this.listeners[key].shift(); - setImmediate(() => { - handler2.call(this); + function createWriteStream3(path7, options) { + return new fs9.WriteStream(path7, options); + } + var fs$open = fs9.open; + fs9.open = open; + function open(path7, flags, mode, cb) { + if (typeof mode === "function") + cb = mode, mode = null; + return go$open(path7, flags, mode, cb); + function go$open(path8, flags2, mode2, cb2, startTime) { + return fs$open(path8, flags2, mode2, function(err, fd) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$open, [path8, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); + } }); } } - }; - exports2.Mutex = Mutex; + return fs9; + } + function enqueue(elem) { + debug4("ENQUEUE", elem[0].name, elem[1]); + fs8[gracefulQueue].push(elem); + retry2(); + } + var retryTimer; + function resetQueue() { + var now = Date.now(); + for (var i = 0; i < fs8[gracefulQueue].length; ++i) { + if (fs8[gracefulQueue][i].length > 2) { + fs8[gracefulQueue][i][3] = now; + fs8[gracefulQueue][i][4] = now; + } + } + retry2(); + } + function retry2() { + clearTimeout(retryTimer); + retryTimer = void 0; + if (fs8[gracefulQueue].length === 0) + return; + var elem = fs8[gracefulQueue].shift(); + var fn = elem[0]; + var args = elem[1]; + var err = elem[2]; + var startTime = elem[3]; + var lastTime = elem[4]; + if (startTime === void 0) { + debug4("RETRY", fn.name, args); + fn.apply(null, args); + } else if (Date.now() - startTime >= 6e4) { + debug4("TIMEOUT", fn.name, args); + var cb = args.pop(); + if (typeof cb === "function") + cb.call(null, err); + } else { + var sinceAttempt = Date.now() - lastTime; + var sinceStart = Math.max(lastTime - startTime, 1); + var desiredDelay = Math.min(sinceStart * 1.2, 100); + if (sinceAttempt >= desiredDelay) { + debug4("RETRY", fn.name, args); + fn.apply(null, args.concat([startTime])); + } else { + fs8[gracefulQueue].push(elem); + } + } + if (retryTimer === void 0) { + retryTimer = setTimeout(retry2, 0); + } + } } }); -// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js -var require_BlobBatch = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) { +// node_modules/archiver-utils/node_modules/is-stream/index.js +var require_is_stream = __commonJS({ + "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobBatch = void 0; - var core_util_1 = require_commonjs4(); - var core_auth_1 = require_commonjs7(); - var core_rest_pipeline_1 = require_commonjs6(); - var core_util_2 = require_commonjs4(); - var AnonymousCredential_js_1 = require_AnonymousCredential(); - var Clients_js_1 = require_Clients(); - var Mutex_js_1 = require_Mutex(); - var Pipeline_js_1 = require_Pipeline(); - var utils_common_js_1 = require_utils_common(); - var core_xml_1 = require_commonjs10(); - var constants_js_1 = require_constants15(); - var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); - var tracing_js_1 = require_tracing(); - var core_client_1 = require_commonjs8(); - var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22(); - var BlobBatch = class { - batchRequest; - batch = "batch"; - batchType; - constructor() { - this.batchRequest = new InnerBatchRequest(); - } - /** - * Get the value of Content-Type for a batch request. - * The value must be multipart/mixed with a batch boundary. - * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252 - */ - getMultiPartContentType() { - return this.batchRequest.getMultipartContentType(); - } - /** - * Get assembled HTTP request body for sub requests. - */ - getHttpRequestBody() { - return this.batchRequest.getHttpRequestBody(); - } - /** - * Get sub requests that are added into the batch request. - */ - getSubRequests() { - return this.batchRequest.getSubRequests(); - } - async addSubRequestInternal(subRequest, assembleSubRequestFunc) { - await Mutex_js_1.Mutex.lock(this.batch); - try { - this.batchRequest.preAddSubRequest(subRequest); - await assembleSubRequestFunc(); - this.batchRequest.postAddSubRequest(subRequest); - } finally { - await Mutex_js_1.Mutex.unlock(this.batch); - } - } - setBatchType(batchType) { - if (!this.batchType) { - this.batchType = batchType; - } - if (this.batchType !== batchType) { - throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`); - } + var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function"; + isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object"; + isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object"; + isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream); + isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function"; + module2.exports = isStream; + } +}); + +// node_modules/process-nextick-args/index.js +var require_process_nextick_args = __commonJS({ + "node_modules/process-nextick-args/index.js"(exports2, module2) { + "use strict"; + if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) { + module2.exports = { nextTick }; + } else { + module2.exports = process; + } + function nextTick(fn, arg1, arg2, arg3) { + if (typeof fn !== "function") { + throw new TypeError('"callback" argument must be a function'); } - async deleteBlob(urlOrBlobClient, credentialOrOptions, options) { - let url; - let credential; - if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) { - url = urlOrBlobClient; - credential = credentialOrOptions; - } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) { - url = urlOrBlobClient.url; - credential = urlOrBlobClient.credential; - options = credentialOrOptions; - } else { - throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided."); - } - if (!options) { - options = {}; - } - return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => { - this.setBatchType("delete"); - await this.addSubRequestInternal({ - url, - credential - }, async () => { - await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).delete(updatedOptions); + var len = arguments.length; + var args, i; + switch (len) { + case 0: + case 1: + return process.nextTick(fn); + case 2: + return process.nextTick(function afterTickOne() { + fn.call(null, arg1); }); - }); - } - async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) { - let url; - let credential; - let tier; - if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) { - url = urlOrBlobClient; - credential = credentialOrTier; - tier = tierOrOptions; - } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) { - url = urlOrBlobClient.url; - credential = urlOrBlobClient.credential; - tier = credentialOrTier; - options = tierOrOptions; - } else { - throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided."); - } - if (!options) { - options = {}; - } - return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => { - this.setBatchType("setAccessTier"); - await this.addSubRequestInternal({ - url, - credential - }, async () => { - await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions); + case 3: + return process.nextTick(function afterTickTwo() { + fn.call(null, arg1, arg2); + }); + case 4: + return process.nextTick(function afterTickThree() { + fn.call(null, arg1, arg2, arg3); + }); + default: + args = new Array(len - 1); + i = 0; + while (i < args.length) { + args[i++] = arguments[i]; + } + return process.nextTick(function afterTick() { + fn.apply(null, args); }); - }); } + } + } +}); + +// node_modules/lazystream/node_modules/isarray/index.js +var require_isarray = __commonJS({ + "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) { + var toString2 = {}.toString; + module2.exports = Array.isArray || function(arr) { + return toString2.call(arr) == "[object Array]"; }; - exports2.BlobBatch = BlobBatch; - var InnerBatchRequest = class { - operationCount; - body; - subRequests; - boundary; - subRequestPrefix; - multipartContentType; - batchRequestEnding; - constructor() { - this.operationCount = 0; - this.body = ""; - const tempGuid = (0, core_util_1.randomUUID)(); - this.boundary = `batch_${tempGuid}`; - this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`; - this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`; - this.batchRequestEnding = `--${this.boundary}--`; - this.subRequests = /* @__PURE__ */ new Map(); + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js +var require_stream = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) { + module2.exports = require("stream"); + } +}); + +// node_modules/lazystream/node_modules/safe-buffer/index.js +var require_safe_buffer = __commonJS({ + "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) { + var buffer = require("buffer"); + var Buffer2 = buffer.Buffer; + function copyProps(src, dst) { + for (var key in src) { + dst[key] = src[key]; } - /** - * Create pipeline to assemble sub requests. The idea here is to use existing - * credential and serialization/deserialization components, with additional policies to - * filter unnecessary headers, assemble sub requests into request's body - * and intercept request from going to wire. - * @param credential - Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used. - */ - createPipeline(credential) { - const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)(); - corePipeline.addPolicy((0, core_client_1.serializationPolicy)({ - stringifyXML: core_xml_1.stringifyXML, - serializerOptions: { - xml: { - xmlCharKey: "#" - } - } - }), { phase: "Serialize" }); - corePipeline.addPolicy(batchHeaderFilterPolicy()); - corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" }); - if ((0, core_auth_1.isTokenCredential)(credential)) { - corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({ - credential, - scopes: constants_js_1.StorageOAuthScopes, - challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge } - }), { phase: "Sign" }); - } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) { - corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({ - accountName: credential.accountName, - accountKey: credential.accountKey - }), { phase: "Sign" }); - } - const pipeline = new Pipeline_js_1.Pipeline([]); - pipeline._credential = credential; - pipeline._corePipeline = corePipeline; - return pipeline; + } + if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) { + module2.exports = buffer; + } else { + copyProps(buffer, exports2); + exports2.Buffer = SafeBuffer; + } + function SafeBuffer(arg, encodingOrOffset, length) { + return Buffer2(arg, encodingOrOffset, length); + } + copyProps(Buffer2, SafeBuffer); + SafeBuffer.from = function(arg, encodingOrOffset, length) { + if (typeof arg === "number") { + throw new TypeError("Argument must not be a number"); } - appendSubRequestToBody(request2) { - this.body += [ - this.subRequestPrefix, - // sub request constant prefix - `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`, - // sub request's content ID - "", - // empty line after sub request's content ID - `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}` - // sub request start line with method - ].join(constants_js_1.HTTP_LINE_ENDING); - for (const [name, value] of request2.headers) { - this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`; - } - this.body += constants_js_1.HTTP_LINE_ENDING; + return Buffer2(arg, encodingOrOffset, length); + }; + SafeBuffer.alloc = function(size, fill, encoding) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); } - preAddSubRequest(subRequest) { - if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) { - throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`); - } - const path7 = (0, utils_common_js_1.getURLPath)(subRequest.url); - if (!path7 || path7 === "") { - throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`); + var buf = Buffer2(size); + if (fill !== void 0) { + if (typeof encoding === "string") { + buf.fill(fill, encoding); + } else { + buf.fill(fill); } + } else { + buf.fill(0); } - postAddSubRequest(subRequest) { - this.subRequests.set(this.operationCount, subRequest); - this.operationCount++; + return buf; + }; + SafeBuffer.allocUnsafe = function(size) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); } - // Return the http request body with assembling the ending line to the sub request body. - getHttpRequestBody() { - return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`; + return Buffer2(size); + }; + SafeBuffer.allocUnsafeSlow = function(size) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); } - getMultipartContentType() { - return this.multipartContentType; + return buffer.SlowBuffer(size); + }; + } +}); + +// node_modules/core-util-is/lib/util.js +var require_util20 = __commonJS({ + "node_modules/core-util-is/lib/util.js"(exports2) { + function isArray(arg) { + if (Array.isArray) { + return Array.isArray(arg); } - getSubRequests() { - return this.subRequests; + return objectToString(arg) === "[object Array]"; + } + exports2.isArray = isArray; + function isBoolean2(arg) { + return typeof arg === "boolean"; + } + exports2.isBoolean = isBoolean2; + function isNull2(arg) { + return arg === null; + } + exports2.isNull = isNull2; + function isNullOrUndefined(arg) { + return arg == null; + } + exports2.isNullOrUndefined = isNullOrUndefined; + function isNumber(arg) { + return typeof arg === "number"; + } + exports2.isNumber = isNumber; + function isString(arg) { + return typeof arg === "string"; + } + exports2.isString = isString; + function isSymbol(arg) { + return typeof arg === "symbol"; + } + exports2.isSymbol = isSymbol; + function isUndefined(arg) { + return arg === void 0; + } + exports2.isUndefined = isUndefined; + function isRegExp(re) { + return objectToString(re) === "[object RegExp]"; + } + exports2.isRegExp = isRegExp; + function isObject2(arg) { + return typeof arg === "object" && arg !== null; + } + exports2.isObject = isObject2; + function isDate(d) { + return objectToString(d) === "[object Date]"; + } + exports2.isDate = isDate; + function isError(e) { + return objectToString(e) === "[object Error]" || e instanceof Error; + } + exports2.isError = isError; + function isFunction(arg) { + return typeof arg === "function"; + } + exports2.isFunction = isFunction; + function isPrimitive(arg) { + return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol + typeof arg === "undefined"; + } + exports2.isPrimitive = isPrimitive; + exports2.isBuffer = require("buffer").Buffer.isBuffer; + function objectToString(o) { + return Object.prototype.toString.call(o); + } + } +}); + +// node_modules/inherits/inherits_browser.js +var require_inherits_browser = __commonJS({ + "node_modules/inherits/inherits_browser.js"(exports2, module2) { + if (typeof Object.create === "function") { + module2.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; + } else { + module2.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor; + var TempCtor = function() { + }; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + }; + } + } +}); + +// node_modules/inherits/inherits.js +var require_inherits = __commonJS({ + "node_modules/inherits/inherits.js"(exports2, module2) { + try { + util = require("util"); + if (typeof util.inherits !== "function") throw ""; + module2.exports = util.inherits; + } catch (e) { + module2.exports = require_inherits_browser(); + } + var util; + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js +var require_BufferList = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) { + "use strict"; + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + var Buffer2 = require_safe_buffer().Buffer; + var util = require("util"); + function copyBuffer(src, target, offset) { + src.copy(target, offset); + } + module2.exports = (function() { + function BufferList() { + _classCallCheck(this, BufferList); + this.head = null; + this.tail = null; + this.length = 0; } - }; - function batchRequestAssemblePolicy(batchRequest) { - return { - name: "batchRequestAssemblePolicy", - async sendRequest(request2) { - batchRequest.appendSubRequestToBody(request2); - return { - request: request2, - status: 200, - headers: (0, core_rest_pipeline_1.createHttpHeaders)() - }; + BufferList.prototype.push = function push(v) { + var entry = { data: v, next: null }; + if (this.length > 0) this.tail.next = entry; + else this.head = entry; + this.tail = entry; + ++this.length; + }; + BufferList.prototype.unshift = function unshift(v) { + var entry = { data: v, next: this.head }; + if (this.length === 0) this.tail = entry; + this.head = entry; + ++this.length; + }; + BufferList.prototype.shift = function shift() { + if (this.length === 0) return; + var ret = this.head.data; + if (this.length === 1) this.head = this.tail = null; + else this.head = this.head.next; + --this.length; + return ret; + }; + BufferList.prototype.clear = function clear() { + this.head = this.tail = null; + this.length = 0; + }; + BufferList.prototype.join = function join8(s) { + if (this.length === 0) return ""; + var p = this.head; + var ret = "" + p.data; + while (p = p.next) { + ret += s + p.data; } + return ret; }; - } - function batchHeaderFilterPolicy() { - return { - name: "batchHeaderFilterPolicy", - async sendRequest(request2, next) { - let xMsHeaderName = ""; - for (const [name] of request2.headers) { - if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) { - xMsHeaderName = name; - } - } - if (xMsHeaderName !== "") { - request2.headers.delete(xMsHeaderName); - } - return next(request2); + BufferList.prototype.concat = function concat(n) { + if (this.length === 0) return Buffer2.alloc(0); + var ret = Buffer2.allocUnsafe(n >>> 0); + var p = this.head; + var i = 0; + while (p) { + copyBuffer(p.data, ret, i); + i += p.data.length; + p = p.next; } + return ret; + }; + return BufferList; + })(); + if (util && util.inspect && util.inspect.custom) { + module2.exports.prototype[util.inspect.custom] = function() { + var obj = util.inspect({ length: this.length }); + return this.constructor.name + " " + obj; }; } } }); -// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js -var require_BlobBatchClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) { +// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js +var require_destroy = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobBatchClient = void 0; - var BatchResponseParser_js_1 = require_BatchResponseParser(); - var BatchUtils_js_1 = require_BatchUtils(); - var BlobBatch_js_1 = require_BlobBatch(); - var tracing_js_1 = require_tracing(); - var AnonymousCredential_js_1 = require_AnonymousCredential(); - var StorageContextClient_js_1 = require_StorageContextClient(); - var Pipeline_js_1 = require_Pipeline(); - var utils_common_js_1 = require_utils_common(); - var BlobBatchClient = class { - serviceOrContainerContext; - constructor(url, credentialOrPipeline, options) { - let pipeline; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) { - pipeline = credentialOrPipeline; - } else if (!credentialOrPipeline) { - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else { - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options); - } - const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline)); - const path7 = (0, utils_common_js_1.getURLPath)(url); - if (path7 && path7 !== "/") { - this.serviceOrContainerContext = storageClientContext.container; - } else { - this.serviceOrContainerContext = storageClientContext.service; + var pna = require_process_nextick_args(); + function destroy(err, cb) { + var _this = this; + var readableDestroyed = this._readableState && this._readableState.destroyed; + var writableDestroyed = this._writableState && this._writableState.destroyed; + if (readableDestroyed || writableDestroyed) { + if (cb) { + cb(err); + } else if (err) { + if (!this._writableState) { + pna.nextTick(emitErrorNT, this, err); + } else if (!this._writableState.errorEmitted) { + this._writableState.errorEmitted = true; + pna.nextTick(emitErrorNT, this, err); + } } + return this; } - /** - * Creates a {@link BlobBatch}. - * A BlobBatch represents an aggregated set of operations on blobs. - */ - createBatch() { - return new BlobBatch_js_1.BlobBatch(); + if (this._readableState) { + this._readableState.destroyed = true; } - async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) { - const batch = new BlobBatch_js_1.BlobBatch(); - for (const urlOrBlobClient of urlsOrBlobClients) { - if (typeof urlOrBlobClient === "string") { - await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options); - } else { - await batch.deleteBlob(urlOrBlobClient, credentialOrOptions); - } - } - return this.submitBatch(batch); + if (this._writableState) { + this._writableState.destroyed = true; } - async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) { - const batch = new BlobBatch_js_1.BlobBatch(); - for (const urlOrBlobClient of urlsOrBlobClients) { - if (typeof urlOrBlobClient === "string") { - await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options); - } else { - await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions); + this._destroy(err || null, function(err2) { + if (!cb && err2) { + if (!_this._writableState) { + pna.nextTick(emitErrorNT, _this, err2); + } else if (!_this._writableState.errorEmitted) { + _this._writableState.errorEmitted = true; + pna.nextTick(emitErrorNT, _this, err2); } + } else if (cb) { + cb(err2); } - return this.submitBatch(batch); + }); + return this; + } + function undestroy() { + if (this._readableState) { + this._readableState.destroyed = false; + this._readableState.reading = false; + this._readableState.ended = false; + this._readableState.endEmitted = false; } - /** - * Submit batch request which consists of multiple subrequests. - * - * Get `blobBatchClient` and other details before running the snippets. - * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient` - * - * Example usage: - * - * ```ts snippet:BlobBatchClientSubmitBatch - * import { DefaultAzureCredential } from "@azure/identity"; - * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob"; - * - * const account = ""; - * const credential = new DefaultAzureCredential(); - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * credential, - * ); - * - * const containerName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blobBatchClient = containerClient.getBlobBatchClient(); - * - * const batchRequest = new BlobBatch(); - * await batchRequest.deleteBlob("", credential); - * await batchRequest.deleteBlob("", credential, { - * deleteSnapshots: "include", - * }); - * const batchResp = await blobBatchClient.submitBatch(batchRequest); - * console.log(batchResp.subResponsesSucceededCount); - * ``` - * - * Example using a lease: - * - * ```ts snippet:BlobBatchClientSubmitBatchWithLease - * import { DefaultAzureCredential } from "@azure/identity"; - * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob"; - * - * const account = ""; - * const credential = new DefaultAzureCredential(); - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * credential, - * ); - * - * const containerName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blobBatchClient = containerClient.getBlobBatchClient(); - * const blobClient = containerClient.getBlobClient(""); - * - * const batchRequest = new BlobBatch(); - * await batchRequest.setBlobAccessTier(blobClient, "Cool"); - * await batchRequest.setBlobAccessTier(blobClient, "Cool", { - * conditions: { leaseId: "" }, - * }); - * const batchResp = await blobBatchClient.submitBatch(batchRequest); - * console.log(batchResp.subResponsesSucceededCount); - * ``` - * - * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch - * - * @param batchRequest - A set of Delete or SetTier operations. - * @param options - - */ - async submitBatch(batchRequest, options = {}) { - if (!batchRequest || batchRequest.getSubRequests().size === 0) { - throw new RangeError("Batch request should contain one or more sub requests."); - } - return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => { - const batchRequestBody = batchRequest.getHttpRequestBody(); - const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, { - ...updatedOptions - })); - const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests()); - const responseSummary = await batchResponseParser.parseBatchResponse(); - const res = { - _response: rawBatchResponse._response, - contentType: rawBatchResponse.contentType, - errorCode: rawBatchResponse.errorCode, - requestId: rawBatchResponse.requestId, - clientRequestId: rawBatchResponse.clientRequestId, - version: rawBatchResponse.version, - subResponses: responseSummary.subResponses, - subResponsesSucceededCount: responseSummary.subResponsesSucceededCount, - subResponsesFailedCount: responseSummary.subResponsesFailedCount - }; - return res; - }); + if (this._writableState) { + this._writableState.destroyed = false; + this._writableState.ended = false; + this._writableState.ending = false; + this._writableState.finalCalled = false; + this._writableState.prefinished = false; + this._writableState.finished = false; + this._writableState.errorEmitted = false; } + } + function emitErrorNT(self2, err) { + self2.emit("error", err); + } + module2.exports = { + destroy, + undestroy }; - exports2.BlobBatchClient = BlobBatchClient; } }); -// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js -var require_ContainerClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) { +// node_modules/util-deprecate/node.js +var require_node2 = __commonJS({ + "node_modules/util-deprecate/node.js"(exports2, module2) { + module2.exports = require("util").deprecate; + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js +var require_stream_writable = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ContainerClient = void 0; - var core_rest_pipeline_1 = require_commonjs6(); - var core_util_1 = require_commonjs4(); - var core_auth_1 = require_commonjs7(); - var AnonymousCredential_js_1 = require_AnonymousCredential(); - var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); - var Pipeline_js_1 = require_Pipeline(); - var StorageClient_js_1 = require_StorageClient(); - var tracing_js_1 = require_tracing(); - var utils_common_js_1 = require_utils_common(); - var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues(); - var BlobLeaseClient_js_1 = require_BlobLeaseClient(); - var Clients_js_1 = require_Clients(); - var BlobBatchClient_js_1 = require_BlobBatchClient(); - var ContainerClient = class extends StorageClient_js_1.StorageClient { - /** - * containerContext provided by protocol layer. - */ - containerContext; - _containerName; - /** - * The name of the container. - */ - get containerName() { - return this._containerName; - } - constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) { - let pipeline; - let url; - options = options || {}; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - pipeline = credentialOrPipelineOrContainerName; - } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) { - url = urlOrConnectionString; - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options); - } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") { - url = urlOrConnectionString; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") { - const containerName = credentialOrPipelineOrContainerName; - const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString); - if (extractedCreds.kind === "AccountConnString") { - if (core_util_1.isNodeLike) { - const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); - url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)); - if (!options.proxyOptions) { - options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); - } - pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); - } else { - throw new Error("Account connection string is only supported in Node.js environment"); - } - } else if (extractedCreds.kind === "SASConnString") { - url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas; - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - } else { - throw new Error("Connection string must be either an Account connection string or a SAS connection string"); - } - } else { - throw new Error("Expecting non-empty strings for containerName parameter"); - } - super(url, pipeline); - this._containerName = this.getContainerNameFromUrl(); - this.containerContext = this.storageClientContext.container; - } - /** - * Creates a new container under the specified account. If the container with - * the same name already exists, the operation fails. - * @see https://learn.microsoft.com/rest/api/storageservices/create-container - * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata - * - * @param options - Options to Container Create operation. - * - * - * Example usage: - * - * ```ts snippet:ContainerClientCreate - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const createContainerResponse = await containerClient.create(); - * console.log("Container was created successfully", createContainerResponse.requestId); - * ``` - */ - async create(options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions)); - }); - } - /** - * Creates a new container under the specified account. If the container with - * the same name already exists, it is not changed. - * @see https://learn.microsoft.com/rest/api/storageservices/create-container - * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata - * - * @param options - - */ - async createIfNotExists(options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => { - try { - const res = await this.create(updatedOptions); - return { - succeeded: true, - ...res, - _response: res._response - // _response is made non-enumerable - }; - } catch (e) { - if (e.details?.errorCode === "ContainerAlreadyExists") { - return { - succeeded: false, - ...e.response?.parsedHeaders, - _response: e.response - }; - } else { - throw e; - } - } - }); - } - /** - * Returns true if the Azure container resource represented by this client exists; false otherwise. - * - * NOTE: use this function with care since an existing container might be deleted by other clients or - * applications. Vice versa new containers with the same name might be added by other clients or - * applications after this function completes. - * - * @param options - - */ - async exists(options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => { - try { - await this.getProperties({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - }); - return true; - } catch (e) { - if (e.statusCode === 404) { - return false; - } - throw e; - } - }); - } - /** - * Creates a {@link BlobClient} - * - * @param blobName - A blob name - * @returns A new BlobClient object for the given blob name. - */ - getBlobClient(blobName) { - return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); - } - /** - * Creates an {@link AppendBlobClient} - * - * @param blobName - An append blob name - */ - getAppendBlobClient(blobName) { - return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); - } - /** - * Creates a {@link BlockBlobClient} - * - * @param blobName - A block blob name - * - * - * Example usage: - * - * ```ts snippet:ClientsUpload - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const blobName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * const blockBlobClient = containerClient.getBlockBlobClient(blobName); - * - * const content = "Hello world!"; - * const uploadBlobResponse = await blockBlobClient.upload(content, content.length); - * ``` - */ - getBlockBlobClient(blobName) { - return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); - } - /** - * Creates a {@link PageBlobClient} - * - * @param blobName - A page blob name - */ - getPageBlobClient(blobName) { - return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline); + var pna = require_process_nextick_args(); + module2.exports = Writable; + function CorkedRequest(state) { + var _this = this; + this.next = null; + this.entry = null; + this.finish = function() { + onCorkedFinish(_this, state); + }; + } + var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick; + var Duplex; + Writable.WritableState = WritableState; + var util = Object.create(require_util20()); + util.inherits = require_inherits(); + var internalUtil = { + deprecate: require_node2() + }; + var Stream = require_stream(); + var Buffer2 = require_safe_buffer().Buffer; + var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() { + }; + function _uint8ArrayToBuffer(chunk) { + return Buffer2.from(chunk); + } + function _isUint8Array(obj) { + return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array; + } + var destroyImpl = require_destroy(); + util.inherits(Writable, Stream); + function nop() { + } + function WritableState(options, stream) { + Duplex = Duplex || require_stream_duplex(); + options = options || {}; + var isDuplex = stream instanceof Duplex; + this.objectMode = !!options.objectMode; + if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; + var hwm = options.highWaterMark; + var writableHwm = options.writableHighWaterMark; + var defaultHwm = this.objectMode ? 16 : 16 * 1024; + if (hwm || hwm === 0) this.highWaterMark = hwm; + else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm; + else this.highWaterMark = defaultHwm; + this.highWaterMark = Math.floor(this.highWaterMark); + this.finalCalled = false; + this.needDrain = false; + this.ending = false; + this.ended = false; + this.finished = false; + this.destroyed = false; + var noDecode = options.decodeStrings === false; + this.decodeStrings = !noDecode; + this.defaultEncoding = options.defaultEncoding || "utf8"; + this.length = 0; + this.writing = false; + this.corked = 0; + this.sync = true; + this.bufferProcessing = false; + this.onwrite = function(er) { + onwrite(stream, er); + }; + this.writecb = null; + this.writelen = 0; + this.bufferedRequest = null; + this.lastBufferedRequest = null; + this.pendingcb = 0; + this.prefinished = false; + this.errorEmitted = false; + this.bufferedRequestCount = 0; + this.corkedRequestsFree = new CorkedRequest(this); + } + WritableState.prototype.getBuffer = function getBuffer() { + var current = this.bufferedRequest; + var out = []; + while (current) { + out.push(current); + current = current.next; } - /** - * Returns all user-defined metadata and system properties for the specified - * container. The data returned does not include the container's list of blobs. - * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties - * - * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if - * they originally contained uppercase characters. This differs from the metadata keys returned by - * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which - * will retain their original casing. - * - * @param options - Options to Container Get Properties operation. - */ - async getProperties(options = {}) { - if (!options.conditions) { - options.conditions = {}; - } - return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({ - abortSignal: options.abortSignal, - ...options.conditions, - tracingOptions: updatedOptions.tracingOptions - })); + return out; + }; + (function() { + try { + Object.defineProperty(WritableState.prototype, "buffer", { + get: internalUtil.deprecate(function() { + return this.getBuffer(); + }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003") }); + } catch (_2) { } - /** - * Marks the specified container for deletion. The container and any blobs - * contained within it are later deleted during garbage collection. - * @see https://learn.microsoft.com/rest/api/storageservices/delete-container - * - * @param options - Options to Container Delete operation. - */ - async delete(options = {}) { - if (!options.conditions) { - options.conditions = {}; + })(); + var realHasInstance; + if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") { + realHasInstance = Function.prototype[Symbol.hasInstance]; + Object.defineProperty(Writable, Symbol.hasInstance, { + value: function(object) { + if (realHasInstance.call(this, object)) return true; + if (this !== Writable) return false; + return object && object._writableState instanceof WritableState; } - return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: options.conditions, - tracingOptions: updatedOptions.tracingOptions - })); - }); - } - /** - * Marks the specified container for deletion if it exists. The container and any blobs - * contained within it are later deleted during garbage collection. - * @see https://learn.microsoft.com/rest/api/storageservices/delete-container - * - * @param options - Options to Container Delete operation. - */ - async deleteIfExists(options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => { - try { - const res = await this.delete(updatedOptions); - return { - succeeded: true, - ...res, - _response: res._response - }; - } catch (e) { - if (e.details?.errorCode === "ContainerNotFound") { - return { - succeeded: false, - ...e.response?.parsedHeaders, - _response: e.response - }; - } - throw e; - } - }); + }); + } else { + realHasInstance = function(object) { + return object instanceof this; + }; + } + function Writable(options) { + Duplex = Duplex || require_stream_duplex(); + if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) { + return new Writable(options); } - /** - * Sets one or more user-defined name-value pairs for the specified container. - * - * If no option provided, or no metadata defined in the parameter, the container - * metadata will be removed. - * - * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata - * - * @param metadata - Replace existing metadata with this value. - * If no value provided the existing metadata will be removed. - * @param options - Options to Container Set Metadata operation. - */ - async setMetadata(metadata, options = {}) { - if (!options.conditions) { - options.conditions = {}; - } - if (options.conditions.ifUnmodifiedSince) { - throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service"); - } - return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - metadata, - modifiedAccessConditions: options.conditions, - tracingOptions: updatedOptions.tracingOptions - })); - }); + this._writableState = new WritableState(options, this); + this.writable = true; + if (options) { + if (typeof options.write === "function") this._write = options.write; + if (typeof options.writev === "function") this._writev = options.writev; + if (typeof options.destroy === "function") this._destroy = options.destroy; + if (typeof options.final === "function") this._final = options.final; } - /** - * Gets the permissions for the specified container. The permissions indicate - * whether container data may be accessed publicly. - * - * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings. - * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z". - * - * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl - * - * @param options - Options to Container Get Access Policy operation. - */ - async getAccessPolicy(options = {}) { - if (!options.conditions) { - options.conditions = {}; - } - return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({ - abortSignal: options.abortSignal, - leaseAccessConditions: options.conditions, - tracingOptions: updatedOptions.tracingOptions - })); - const res = { - _response: response._response, - blobPublicAccess: response.blobPublicAccess, - date: response.date, - etag: response.etag, - errorCode: response.errorCode, - lastModified: response.lastModified, - requestId: response.requestId, - clientRequestId: response.clientRequestId, - signedIdentifiers: [], - version: response.version - }; - for (const identifier of response) { - let accessPolicy = void 0; - if (identifier.accessPolicy) { - accessPolicy = { - permissions: identifier.accessPolicy.permissions - }; - if (identifier.accessPolicy.expiresOn) { - accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn); - } - if (identifier.accessPolicy.startsOn) { - accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn); - } - } - res.signedIdentifiers.push({ - accessPolicy, - id: identifier.id - }); - } - return res; - }); + Stream.call(this); + } + Writable.prototype.pipe = function() { + this.emit("error", new Error("Cannot pipe, not readable")); + }; + function writeAfterEnd(stream, cb) { + var er = new Error("write after end"); + stream.emit("error", er); + pna.nextTick(cb, er); + } + function validChunk(stream, state, chunk, cb) { + var valid3 = true; + var er = false; + if (chunk === null) { + er = new TypeError("May not write null values to stream"); + } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) { + er = new TypeError("Invalid non-string/buffer chunk"); } - /** - * Sets the permissions for the specified container. The permissions indicate - * whether blobs in a container may be accessed publicly. - * - * When you set permissions for a container, the existing permissions are replaced. - * If no access or containerAcl provided, the existing container ACL will be - * removed. - * - * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect. - * During this interval, a shared access signature that is associated with the stored access policy will - * fail with status code 403 (Forbidden), until the access policy becomes active. - * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl - * - * @param access - The level of public access to data in the container. - * @param containerAcl - Array of elements each having a unique Id and details of the access policy. - * @param options - Options to Container Set Access Policy operation. - */ - async setAccessPolicy(access, containerAcl, options = {}) { - options.conditions = options.conditions || {}; - return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => { - const acl = []; - for (const identifier of containerAcl || []) { - acl.push({ - accessPolicy: { - expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "", - permissions: identifier.accessPolicy.permissions, - startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : "" - }, - id: identifier.id - }); - } - return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({ - abortSignal: options.abortSignal, - access, - containerAcl: acl, - leaseAccessConditions: options.conditions, - modifiedAccessConditions: options.conditions, - tracingOptions: updatedOptions.tracingOptions - })); - }); + if (er) { + stream.emit("error", er); + pna.nextTick(cb, er); + valid3 = false; } - /** - * Get a {@link BlobLeaseClient} that manages leases on the container. - * - * @param proposeLeaseId - Initial proposed lease Id. - * @returns A new BlobLeaseClient object for managing leases on the container. - */ - getBlobLeaseClient(proposeLeaseId) { - return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId); + return valid3; + } + Writable.prototype.write = function(chunk, encoding, cb) { + var state = this._writableState; + var ret = false; + var isBuf = !state.objectMode && _isUint8Array(chunk); + if (isBuf && !Buffer2.isBuffer(chunk)) { + chunk = _uint8ArrayToBuffer(chunk); } - /** - * Creates a new block blob, or updates the content of an existing block blob. - * - * Updating an existing block blob overwrites any existing metadata on the blob. - * Partial updates are not supported; the content of the existing blob is - * overwritten with the new content. To perform a partial update of a block blob's, - * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}. - * - * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile}, - * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better - * performance with concurrency uploading. - * - * @see https://learn.microsoft.com/rest/api/storageservices/put-blob - * - * @param blobName - Name of the block blob to create or update. - * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function - * which returns a new Readable stream whose offset is from data source beginning. - * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a - * string including non non-Base64/Hex-encoded characters. - * @param options - Options to configure the Block Blob Upload operation. - * @returns Block Blob upload response data and the corresponding BlockBlobClient instance. - */ - async uploadBlockBlob(blobName, body, contentLength, options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => { - const blockBlobClient = this.getBlockBlobClient(blobName); - const response = await blockBlobClient.upload(body, contentLength, updatedOptions); - return { - blockBlobClient, - response - }; - }); + if (typeof encoding === "function") { + cb = encoding; + encoding = null; } - /** - * Marks the specified blob or snapshot for deletion. The blob is later deleted - * during garbage collection. Note that in order to delete a blob, you must delete - * all of its snapshots. You can delete both at the same time with the Delete - * Blob operation. - * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob - * - * @param blobName - - * @param options - Options to Blob Delete operation. - * @returns Block blob deletion response data. - */ - async deleteBlob(blobName, options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => { - let blobClient = this.getBlobClient(blobName); - if (options.versionId) { - blobClient = blobClient.withVersion(options.versionId); - } - return blobClient.delete(updatedOptions); - }); + if (isBuf) encoding = "buffer"; + else if (!encoding) encoding = state.defaultEncoding; + if (typeof cb !== "function") cb = nop; + if (state.ended) writeAfterEnd(this, cb); + else if (isBuf || validChunk(this, state, chunk, cb)) { + state.pendingcb++; + ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); } - /** - * listBlobFlatSegment returns a single segment of blobs starting from the - * specified Marker. Use an empty Marker to start enumeration from the beginning. - * After getting a segment, process it, and then call listBlobsFlatSegment again - * (passing the the previously-returned Marker) to get the next segment. - * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs - * - * @param marker - A string value that identifies the portion of the list to be returned with the next list operation. - * @param options - Options to Container List Blob Flat Segment operation. - */ - async listBlobFlatSegment(marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({ - marker, - ...options, - tracingOptions: updatedOptions.tracingOptions - })); - const wrappedResponse = { - ...response, - _response: { - ...response._response, - parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody) - }, - // _response is made non-enumerable - segment: { - ...response.segment, - blobItems: response.segment.blobItems.map((blobItemInternal) => { - const blobItem = { - ...blobItemInternal, - name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name), - tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags), - objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata) - }; - return blobItem; - }) - } - }; - return wrappedResponse; - }); + return ret; + }; + Writable.prototype.cork = function() { + var state = this._writableState; + state.corked++; + }; + Writable.prototype.uncork = function() { + var state = this._writableState; + if (state.corked) { + state.corked--; + if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); } - /** - * listBlobHierarchySegment returns a single segment of blobs starting from - * the specified Marker. Use an empty Marker to start enumeration from the - * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment - * again (passing the the previously-returned Marker) to get the next segment. - * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs - * - * @param delimiter - The character or string used to define the virtual hierarchy - * @param marker - A string value that identifies the portion of the list to be returned with the next list operation. - * @param options - Options to Container List Blob Hierarchy Segment operation. - */ - async listBlobHierarchySegment(delimiter, marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, { - marker, - ...options, - tracingOptions: updatedOptions.tracingOptions - })); - const wrappedResponse = { - ...response, - _response: { - ...response._response, - parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody) - }, - // _response is made non-enumerable - segment: { - ...response.segment, - blobItems: response.segment.blobItems.map((blobItemInternal) => { - const blobItem = { - ...blobItemInternal, - name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name), - tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags), - objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata) - }; - return blobItem; - }), - blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => { - const blobPrefix = { - ...blobPrefixInternal, - name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name) - }; - return blobPrefix; - }) - } - }; - return wrappedResponse; - }); + }; + Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { + if (typeof encoding === "string") encoding = encoding.toLowerCase(); + if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding); + this._writableState.defaultEncoding = encoding; + return this; + }; + function decodeChunk(state, chunk, encoding) { + if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") { + chunk = Buffer2.from(chunk, encoding); } - /** - * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse - * - * @param marker - A string value that identifies the portion of - * the list of blobs to be returned with the next listing operation. The - * operation returns the ContinuationToken value within the response body if the - * listing operation did not return all blobs remaining to be listed - * with the current page. The ContinuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to list blobs operation. - */ - async *listSegments(marker, options = {}) { - let listBlobsFlatSegmentResponse; - if (!!marker || marker === void 0) { - do { - listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options); - marker = listBlobsFlatSegmentResponse.continuationToken; - yield await listBlobsFlatSegmentResponse; - } while (marker); - } + return chunk; + } + Object.defineProperty(Writable.prototype, "writableHighWaterMark", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function() { + return this._writableState.highWaterMark; } - /** - * Returns an AsyncIterableIterator of {@link BlobItem} objects - * - * @param options - Options to list blobs operation. - */ - async *listItems(options = {}) { - let marker; - for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) { - yield* listBlobsFlatSegmentResponse.segment.blobItems; + }); + function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { + if (!isBuf) { + var newChunk = decodeChunk(state, chunk, encoding); + if (chunk !== newChunk) { + isBuf = true; + encoding = "buffer"; + chunk = newChunk; } } - /** - * Returns an async iterable iterator to list all the blobs - * under the specified account. - * - * .byPage() returns an async iterable iterator to list the blobs in pages. - * - * ```ts snippet:ReadmeSampleListBlobs_Multiple - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * - * // Example using `for await` syntax - * let i = 1; - * const blobs = containerClient.listBlobsFlat(); - * for await (const blob of blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * - * // Example using `iter.next()` syntax - * i = 1; - * const iter = containerClient.listBlobsFlat(); - * let { value, done } = await iter.next(); - * while (!done) { - * console.log(`Blob ${i++}: ${value.name}`); - * ({ value, done } = await iter.next()); - * } - * - * // Example using `byPage()` syntax - * i = 1; - * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) { - * for (const blob of page.segment.blobItems) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * - * // Example using paging with a marker - * i = 1; - * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * // Prints 2 blob names - * if (response.segment.blobItems) { - * for (const blob of response.segment.blobItems) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * // Prints 10 blob names - * if (response.segment.blobItems) { - * for (const blob of response.segment.blobItems) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * ``` - * - * @param options - Options to list blobs. - * @returns An asyncIterableIterator that supports paging. - */ - listBlobsFlat(options = {}) { - const include = []; - if (options.includeCopy) { - include.push("copy"); - } - if (options.includeDeleted) { - include.push("deleted"); - } - if (options.includeMetadata) { - include.push("metadata"); - } - if (options.includeSnapshots) { - include.push("snapshots"); - } - if (options.includeVersions) { - include.push("versions"); - } - if (options.includeUncommitedBlobs) { - include.push("uncommittedblobs"); - } - if (options.includeTags) { - include.push("tags"); + var len = state.objectMode ? 1 : chunk.length; + state.length += len; + var ret = state.length < state.highWaterMark; + if (!ret) state.needDrain = true; + if (state.writing || state.corked) { + var last = state.lastBufferedRequest; + state.lastBufferedRequest = { + chunk, + encoding, + isBuf, + callback: cb, + next: null + }; + if (last) { + last.next = state.lastBufferedRequest; + } else { + state.bufferedRequest = state.lastBufferedRequest; } - if (options.includeDeletedWithVersions) { - include.push("deletedwithversions"); + state.bufferedRequestCount += 1; + } else { + doWrite(stream, state, false, len, chunk, encoding, cb); + } + return ret; + } + function doWrite(stream, state, writev, len, chunk, encoding, cb) { + state.writelen = len; + state.writecb = cb; + state.writing = true; + state.sync = true; + if (writev) stream._writev(chunk, state.onwrite); + else stream._write(chunk, encoding, state.onwrite); + state.sync = false; + } + function onwriteError(stream, state, sync, er, cb) { + --state.pendingcb; + if (sync) { + pna.nextTick(cb, er); + pna.nextTick(finishMaybe, stream, state); + stream._writableState.errorEmitted = true; + stream.emit("error", er); + } else { + cb(er); + stream._writableState.errorEmitted = true; + stream.emit("error", er); + finishMaybe(stream, state); + } + } + function onwriteStateUpdate(state) { + state.writing = false; + state.writecb = null; + state.length -= state.writelen; + state.writelen = 0; + } + function onwrite(stream, er) { + var state = stream._writableState; + var sync = state.sync; + var cb = state.writecb; + onwriteStateUpdate(state); + if (er) onwriteError(stream, state, sync, er, cb); + else { + var finished = needFinish(state); + if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { + clearBuffer(stream, state); } - if (options.includeImmutabilityPolicy) { - include.push("immutabilitypolicy"); + if (sync) { + asyncWrite(afterWrite, stream, state, finished, cb); + } else { + afterWrite(stream, state, finished, cb); } - if (options.includeLegalHold) { - include.push("legalhold"); + } + } + function afterWrite(stream, state, finished, cb) { + if (!finished) onwriteDrain(stream, state); + state.pendingcb--; + cb(); + finishMaybe(stream, state); + } + function onwriteDrain(stream, state) { + if (state.length === 0 && state.needDrain) { + state.needDrain = false; + stream.emit("drain"); + } + } + function clearBuffer(stream, state) { + state.bufferProcessing = true; + var entry = state.bufferedRequest; + if (stream._writev && entry && entry.next) { + var l = state.bufferedRequestCount; + var buffer = new Array(l); + var holder = state.corkedRequestsFree; + holder.entry = entry; + var count = 0; + var allBuffers = true; + while (entry) { + buffer[count] = entry; + if (!entry.isBuf) allBuffers = false; + entry = entry.next; + count += 1; } - if (options.prefix === "") { - options.prefix = void 0; + buffer.allBuffers = allBuffers; + doWrite(stream, state, true, state.length, buffer, "", holder.finish); + state.pendingcb++; + state.lastBufferedRequest = null; + if (holder.next) { + state.corkedRequestsFree = holder.next; + holder.next = null; + } else { + state.corkedRequestsFree = new CorkedRequest(state); } - const updatedOptions = { - ...options, - ...include.length > 0 ? { include } : {} - }; - const iter = this.listItems(updatedOptions); - return { - /** - * The next method, part of the iteration protocol - */ - next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.listSegments(settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...updatedOptions - }); + state.bufferedRequestCount = 0; + } else { + while (entry) { + var chunk = entry.chunk; + var encoding = entry.encoding; + var cb = entry.callback; + var len = state.objectMode ? 1 : chunk.length; + doWrite(stream, state, false, len, chunk, encoding, cb); + entry = entry.next; + state.bufferedRequestCount--; + if (state.writing) { + break; } - }; - } - /** - * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse - * - * @param delimiter - The character or string used to define the virtual hierarchy - * @param marker - A string value that identifies the portion of - * the list of blobs to be returned with the next listing operation. The - * operation returns the ContinuationToken value within the response body if the - * listing operation did not return all blobs remaining to be listed - * with the current page. The ContinuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to list blobs operation. - */ - async *listHierarchySegments(delimiter, marker, options = {}) { - let listBlobsHierarchySegmentResponse; - if (!!marker || marker === void 0) { - do { - listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options); - marker = listBlobsHierarchySegmentResponse.continuationToken; - yield await listBlobsHierarchySegmentResponse; - } while (marker); } + if (entry === null) state.lastBufferedRequest = null; } - /** - * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects. - * - * @param delimiter - The character or string used to define the virtual hierarchy - * @param options - Options to list blobs operation. - */ - async *listItemsByHierarchy(delimiter, options = {}) { - let marker; - for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) { - const segment = listBlobsHierarchySegmentResponse.segment; - if (segment.blobPrefixes) { - for (const prefix of segment.blobPrefixes) { - yield { - kind: "prefix", - ...prefix - }; - } - } - for (const blob of segment.blobItems) { - yield { kind: "blob", ...blob }; - } - } + state.bufferedRequest = entry; + state.bufferProcessing = false; + } + Writable.prototype._write = function(chunk, encoding, cb) { + cb(new Error("_write() is not implemented")); + }; + Writable.prototype._writev = null; + Writable.prototype.end = function(chunk, encoding, cb) { + var state = this._writableState; + if (typeof chunk === "function") { + cb = chunk; + chunk = null; + encoding = null; + } else if (typeof encoding === "function") { + cb = encoding; + encoding = null; } - /** - * Returns an async iterable iterator to list all the blobs by hierarchy. - * under the specified account. - * - * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages. - * - * ```ts snippet:ReadmeSampleListBlobsByHierarchy - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * - * // Example using `for await` syntax - * let i = 1; - * const blobs = containerClient.listBlobsByHierarchy("/"); - * for await (const blob of blobs) { - * if (blob.kind === "prefix") { - * console.log(`\tBlobPrefix: ${blob.name}`); - * } else { - * console.log(`\tBlobItem: name - ${blob.name}`); - * } - * } - * - * // Example using `iter.next()` syntax - * i = 1; - * const iter = containerClient.listBlobsByHierarchy("/"); - * let { value, done } = await iter.next(); - * while (!done) { - * if (value.kind === "prefix") { - * console.log(`\tBlobPrefix: ${value.name}`); - * } else { - * console.log(`\tBlobItem: name - ${value.name}`); - * } - * ({ value, done } = await iter.next()); - * } - * - * // Example using `byPage()` syntax - * i = 1; - * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) { - * const segment = page.segment; - * if (segment.blobPrefixes) { - * for (const prefix of segment.blobPrefixes) { - * console.log(`\tBlobPrefix: ${prefix.name}`); - * } - * } - * for (const blob of page.segment.blobItems) { - * console.log(`\tBlobItem: name - ${blob.name}`); - * } - * } - * - * // Example using paging with a marker - * i = 1; - * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * // Prints 2 blob names - * if (response.blobPrefixes) { - * for (const prefix of response.blobPrefixes) { - * console.log(`\tBlobPrefix: ${prefix.name}`); - * } - * } - * if (response.segment.blobItems) { - * for (const blob of response.segment.blobItems) { - * console.log(`\tBlobItem: name - ${blob.name}`); - * } - * } - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = containerClient - * .listBlobsByHierarchy("/") - * .byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * // Prints 10 blob names - * if (response.blobPrefixes) { - * for (const prefix of response.blobPrefixes) { - * console.log(`\tBlobPrefix: ${prefix.name}`); - * } - * } - * if (response.segment.blobItems) { - * for (const blob of response.segment.blobItems) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * ``` - * - * @param delimiter - The character or string used to define the virtual hierarchy - * @param options - Options to list blobs operation. - */ - listBlobsByHierarchy(delimiter, options = {}) { - if (delimiter === "") { - throw new RangeError("delimiter should contain one or more characters"); - } - const include = []; - if (options.includeCopy) { - include.push("copy"); + if (chunk !== null && chunk !== void 0) this.write(chunk, encoding); + if (state.corked) { + state.corked = 1; + this.uncork(); + } + if (!state.ending) endWritable(this, state, cb); + }; + function needFinish(state) { + return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; + } + function callFinal(stream, state) { + stream._final(function(err) { + state.pendingcb--; + if (err) { + stream.emit("error", err); } - if (options.includeDeleted) { - include.push("deleted"); + state.prefinished = true; + stream.emit("prefinish"); + finishMaybe(stream, state); + }); + } + function prefinish(stream, state) { + if (!state.prefinished && !state.finalCalled) { + if (typeof stream._final === "function") { + state.pendingcb++; + state.finalCalled = true; + pna.nextTick(callFinal, stream, state); + } else { + state.prefinished = true; + stream.emit("prefinish"); } - if (options.includeMetadata) { - include.push("metadata"); + } + } + function finishMaybe(stream, state) { + var need = needFinish(state); + if (need) { + prefinish(stream, state); + if (state.pendingcb === 0) { + state.finished = true; + stream.emit("finish"); } - if (options.includeSnapshots) { - include.push("snapshots"); + } + return need; + } + function endWritable(stream, state, cb) { + state.ending = true; + finishMaybe(stream, state); + if (cb) { + if (state.finished) pna.nextTick(cb); + else stream.once("finish", cb); + } + state.ended = true; + stream.writable = false; + } + function onCorkedFinish(corkReq, state, err) { + var entry = corkReq.entry; + corkReq.entry = null; + while (entry) { + var cb = entry.callback; + state.pendingcb--; + cb(err); + entry = entry.next; + } + state.corkedRequestsFree.next = corkReq; + } + Object.defineProperty(Writable.prototype, "destroyed", { + get: function() { + if (this._writableState === void 0) { + return false; } - if (options.includeVersions) { - include.push("versions"); + return this._writableState.destroyed; + }, + set: function(value) { + if (!this._writableState) { + return; } - if (options.includeUncommitedBlobs) { - include.push("uncommittedblobs"); + this._writableState.destroyed = value; + } + }); + Writable.prototype.destroy = destroyImpl.destroy; + Writable.prototype._undestroy = destroyImpl.undestroy; + Writable.prototype._destroy = function(err, cb) { + this.end(); + cb(err); + }; + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js +var require_stream_duplex = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) { + "use strict"; + var pna = require_process_nextick_args(); + var objectKeys = Object.keys || function(obj) { + var keys2 = []; + for (var key in obj) { + keys2.push(key); + } + return keys2; + }; + module2.exports = Duplex; + var util = Object.create(require_util20()); + util.inherits = require_inherits(); + var Readable = require_stream_readable(); + var Writable = require_stream_writable(); + util.inherits(Duplex, Readable); + { + keys = objectKeys(Writable.prototype); + for (v = 0; v < keys.length; v++) { + method = keys[v]; + if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; + } + } + var keys; + var method; + var v; + function Duplex(options) { + if (!(this instanceof Duplex)) return new Duplex(options); + Readable.call(this, options); + Writable.call(this, options); + if (options && options.readable === false) this.readable = false; + if (options && options.writable === false) this.writable = false; + this.allowHalfOpen = true; + if (options && options.allowHalfOpen === false) this.allowHalfOpen = false; + this.once("end", onend); + } + Object.defineProperty(Duplex.prototype, "writableHighWaterMark", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function() { + return this._writableState.highWaterMark; + } + }); + function onend() { + if (this.allowHalfOpen || this._writableState.ended) return; + pna.nextTick(onEndNT, this); + } + function onEndNT(self2) { + self2.end(); + } + Object.defineProperty(Duplex.prototype, "destroyed", { + get: function() { + if (this._readableState === void 0 || this._writableState === void 0) { + return false; } - if (options.includeTags) { - include.push("tags"); + return this._readableState.destroyed && this._writableState.destroyed; + }, + set: function(value) { + if (this._readableState === void 0 || this._writableState === void 0) { + return; } - if (options.includeDeletedWithVersions) { - include.push("deletedwithversions"); + this._readableState.destroyed = value; + this._writableState.destroyed = value; + } + }); + Duplex.prototype._destroy = function(err, cb) { + this.push(null); + this.end(); + pna.nextTick(cb, err); + }; + } +}); + +// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js +var require_string_decoder = __commonJS({ + "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) { + "use strict"; + var Buffer2 = require_safe_buffer().Buffer; + var isEncoding = Buffer2.isEncoding || function(encoding) { + encoding = "" + encoding; + switch (encoding && encoding.toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + case "raw": + return true; + default: + return false; + } + }; + function _normalizeEncoding(enc) { + if (!enc) return "utf8"; + var retried; + while (true) { + switch (enc) { + case "utf8": + case "utf-8": + return "utf8"; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return "utf16le"; + case "latin1": + case "binary": + return "latin1"; + case "base64": + case "ascii": + case "hex": + return enc; + default: + if (retried) return; + enc = ("" + enc).toLowerCase(); + retried = true; } - if (options.includeImmutabilityPolicy) { - include.push("immutabilitypolicy"); + } + } + function normalizeEncoding(enc) { + var nenc = _normalizeEncoding(enc); + if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc); + return nenc || enc; + } + exports2.StringDecoder = StringDecoder; + function StringDecoder(encoding) { + this.encoding = normalizeEncoding(encoding); + var nb; + switch (this.encoding) { + case "utf16le": + this.text = utf16Text; + this.end = utf16End; + nb = 4; + break; + case "utf8": + this.fillLast = utf8FillLast; + nb = 4; + break; + case "base64": + this.text = base64Text; + this.end = base64End; + nb = 3; + break; + default: + this.write = simpleWrite; + this.end = simpleEnd; + return; + } + this.lastNeed = 0; + this.lastTotal = 0; + this.lastChar = Buffer2.allocUnsafe(nb); + } + StringDecoder.prototype.write = function(buf) { + if (buf.length === 0) return ""; + var r; + var i; + if (this.lastNeed) { + r = this.fillLast(buf); + if (r === void 0) return ""; + i = this.lastNeed; + this.lastNeed = 0; + } else { + i = 0; + } + if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); + return r || ""; + }; + StringDecoder.prototype.end = utf8End; + StringDecoder.prototype.text = utf8Text; + StringDecoder.prototype.fillLast = function(buf) { + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); + this.lastNeed -= buf.length; + }; + function utf8CheckByte(byte) { + if (byte <= 127) return 0; + else if (byte >> 5 === 6) return 2; + else if (byte >> 4 === 14) return 3; + else if (byte >> 3 === 30) return 4; + return byte >> 6 === 2 ? -1 : -2; + } + function utf8CheckIncomplete(self2, buf, i) { + var j = buf.length - 1; + if (j < i) return 0; + var nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self2.lastNeed = nb - 1; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self2.lastNeed = nb - 2; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) { + if (nb === 2) nb = 0; + else self2.lastNeed = nb - 3; } - if (options.includeLegalHold) { - include.push("legalhold"); + return nb; + } + return 0; + } + function utf8CheckExtraBytes(self2, buf, p) { + if ((buf[0] & 192) !== 128) { + self2.lastNeed = 0; + return "\uFFFD"; + } + if (self2.lastNeed > 1 && buf.length > 1) { + if ((buf[1] & 192) !== 128) { + self2.lastNeed = 1; + return "\uFFFD"; } - if (options.prefix === "") { - options.prefix = void 0; + if (self2.lastNeed > 2 && buf.length > 2) { + if ((buf[2] & 192) !== 128) { + self2.lastNeed = 2; + return "\uFFFD"; + } } - const updatedOptions = { - ...options, - ...include.length > 0 ? { include } : {} - }; - const iter = this.listItemsByHierarchy(delimiter, updatedOptions); - return { - /** - * The next method, part of the iteration protocol - */ - async next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.listHierarchySegments(delimiter, settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...updatedOptions - }); + } + } + function utf8FillLast(buf) { + var p = this.lastTotal - this.lastNeed; + var r = utf8CheckExtraBytes(this, buf, p); + if (r !== void 0) return r; + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, p, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, p, 0, buf.length); + this.lastNeed -= buf.length; + } + function utf8Text(buf, i) { + var total = utf8CheckIncomplete(this, buf, i); + if (!this.lastNeed) return buf.toString("utf8", i); + this.lastTotal = total; + var end = buf.length - (total - this.lastNeed); + buf.copy(this.lastChar, 0, end); + return buf.toString("utf8", i, end); + } + function utf8End(buf) { + var r = buf && buf.length ? this.write(buf) : ""; + if (this.lastNeed) return r + "\uFFFD"; + return r; + } + function utf16Text(buf, i) { + if ((buf.length - i) % 2 === 0) { + var r = buf.toString("utf16le", i); + if (r) { + var c = r.charCodeAt(r.length - 1); + if (c >= 55296 && c <= 56319) { + this.lastNeed = 2; + this.lastTotal = 4; + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + return r.slice(0, -1); } - }; + } + return r; } - /** - * The Filter Blobs operation enables callers to list blobs in the container whose tags - * match a given search expression. - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param marker - A string value that identifies the portion of - * the list of blobs to be returned with the next listing operation. The - * operation returns the continuationToken value within the response body if the - * listing operation did not return all blobs remaining to be listed - * with the current page. The continuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to find blobs by tags. - */ - async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => { - const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({ - abortSignal: options.abortSignal, - where: tagFilterSqlExpression, - marker, - maxPageSize: options.maxPageSize, - tracingOptions: updatedOptions.tracingOptions - })); - const wrappedResponse = { - ...response, - _response: response._response, - // _response is made non-enumerable - blobs: response.blobs.map((blob) => { - let tagValue = ""; - if (blob.tags?.blobTagSet.length === 1) { - tagValue = blob.tags.blobTagSet[0].value; - } - return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue }; - }) - }; - return wrappedResponse; - }); + this.lastNeed = 1; + this.lastTotal = 2; + this.lastChar[0] = buf[buf.length - 1]; + return buf.toString("utf16le", i, buf.length - 1); + } + function utf16End(buf) { + var r = buf && buf.length ? this.write(buf) : ""; + if (this.lastNeed) { + var end = this.lastTotal - this.lastNeed; + return r + this.lastChar.toString("utf16le", 0, end); } - /** - * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse. - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param marker - A string value that identifies the portion of - * the list of blobs to be returned with the next listing operation. The - * operation returns the continuationToken value within the response body if the - * listing operation did not return all blobs remaining to be listed - * with the current page. The continuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to find blobs by tags. - */ - async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) { - let response; - if (!!marker || marker === void 0) { - do { - response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options); - response.blobs = response.blobs || []; - marker = response.continuationToken; - yield response; - } while (marker); + return r; + } + function base64Text(buf, i) { + var n = (buf.length - i) % 3; + if (n === 0) return buf.toString("base64", i); + this.lastNeed = 3 - n; + this.lastTotal = 3; + if (n === 1) { + this.lastChar[0] = buf[buf.length - 1]; + } else { + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + } + return buf.toString("base64", i, buf.length - n); + } + function base64End(buf) { + var r = buf && buf.length ? this.write(buf) : ""; + if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed); + return r; + } + function simpleWrite(buf) { + return buf.toString(this.encoding); + } + function simpleEnd(buf) { + return buf && buf.length ? this.write(buf) : ""; + } + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js +var require_stream_readable = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) { + "use strict"; + var pna = require_process_nextick_args(); + module2.exports = Readable; + var isArray = require_isarray(); + var Duplex; + Readable.ReadableState = ReadableState; + var EE = require("events").EventEmitter; + var EElistenerCount = function(emitter, type2) { + return emitter.listeners(type2).length; + }; + var Stream = require_stream(); + var Buffer2 = require_safe_buffer().Buffer; + var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() { + }; + function _uint8ArrayToBuffer(chunk) { + return Buffer2.from(chunk); + } + function _isUint8Array(obj) { + return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array; + } + var util = Object.create(require_util20()); + util.inherits = require_inherits(); + var debugUtil = require("util"); + var debug4 = void 0; + if (debugUtil && debugUtil.debuglog) { + debug4 = debugUtil.debuglog("stream"); + } else { + debug4 = function() { + }; + } + var BufferList = require_BufferList(); + var destroyImpl = require_destroy(); + var StringDecoder; + util.inherits(Readable, Stream); + var kProxyEvents = ["error", "close", "destroy", "pause", "resume"]; + function prependListener(emitter, event, fn) { + if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn); + if (!emitter._events || !emitter._events[event]) emitter.on(event, fn); + else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn); + else emitter._events[event] = [fn, emitter._events[event]]; + } + function ReadableState(options, stream) { + Duplex = Duplex || require_stream_duplex(); + options = options || {}; + var isDuplex = stream instanceof Duplex; + this.objectMode = !!options.objectMode; + if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; + var hwm = options.highWaterMark; + var readableHwm = options.readableHighWaterMark; + var defaultHwm = this.objectMode ? 16 : 16 * 1024; + if (hwm || hwm === 0) this.highWaterMark = hwm; + else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm; + else this.highWaterMark = defaultHwm; + this.highWaterMark = Math.floor(this.highWaterMark); + this.buffer = new BufferList(); + this.length = 0; + this.pipes = null; + this.pipesCount = 0; + this.flowing = null; + this.ended = false; + this.endEmitted = false; + this.reading = false; + this.sync = true; + this.needReadable = false; + this.emittedReadable = false; + this.readableListening = false; + this.resumeScheduled = false; + this.destroyed = false; + this.defaultEncoding = options.defaultEncoding || "utf8"; + this.awaitDrain = 0; + this.readingMore = false; + this.decoder = null; + this.encoding = null; + if (options.encoding) { + if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder; + this.decoder = new StringDecoder(options.encoding); + this.encoding = options.encoding; + } + } + function Readable(options) { + Duplex = Duplex || require_stream_duplex(); + if (!(this instanceof Readable)) return new Readable(options); + this._readableState = new ReadableState(options, this); + this.readable = true; + if (options) { + if (typeof options.read === "function") this._read = options.read; + if (typeof options.destroy === "function") this._destroy = options.destroy; + } + Stream.call(this); + } + Object.defineProperty(Readable.prototype, "destroyed", { + get: function() { + if (this._readableState === void 0) { + return false; } - } - /** - * Returns an AsyncIterableIterator for blobs. - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param options - Options to findBlobsByTagsItems. - */ - async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) { - let marker; - for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) { - yield* segment.blobs; + return this._readableState.destroyed; + }, + set: function(value) { + if (!this._readableState) { + return; } + this._readableState.destroyed = value; } - /** - * Returns an async iterable iterator to find all blobs with specified tag - * under the specified container. - * - * .byPage() returns an async iterable iterator to list the blobs in pages. - * - * Example using `for await` syntax: - * - * ```ts snippet:ReadmeSampleFindBlobsByTags - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerName = ""; - * const containerClient = blobServiceClient.getContainerClient(containerName); - * - * // Example using `for await` syntax - * let i = 1; - * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * - * // Example using `iter.next()` syntax - * i = 1; - * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'"); - * let { value, done } = await iter.next(); - * while (!done) { - * console.log(`Blob ${i++}: ${value.name}`); - * ({ value, done } = await iter.next()); - * } - * - * // Example using `byPage()` syntax - * i = 1; - * for await (const page of containerClient - * .findBlobsByTags("tagkey='tagvalue'") - * .byPage({ maxPageSize: 20 })) { - * for (const blob of page.blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * - * // Example using paging with a marker - * i = 1; - * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * // Prints 2 blob names - * if (response.blobs) { - * for (const blob of response.blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = containerClient - * .findBlobsByTags("tagkey='tagvalue'") - * .byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * // Prints 10 blob names - * if (response.blobs) { - * for (const blob of response.blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * ``` - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param options - Options to find blobs by tags. - */ - findBlobsByTags(tagFilterSqlExpression, options = {}) { - const listSegmentOptions = { - ...options - }; - const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions); - return { - /** - * The next method, part of the iteration protocol - */ - next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...listSegmentOptions - }); + }); + Readable.prototype.destroy = destroyImpl.destroy; + Readable.prototype._undestroy = destroyImpl.undestroy; + Readable.prototype._destroy = function(err, cb) { + this.push(null); + cb(err); + }; + Readable.prototype.push = function(chunk, encoding) { + var state = this._readableState; + var skipChunkCheck; + if (!state.objectMode) { + if (typeof chunk === "string") { + encoding = encoding || state.defaultEncoding; + if (encoding !== state.encoding) { + chunk = Buffer2.from(chunk, encoding); + encoding = ""; } - }; - } - /** - * The Get Account Information operation returns the sku name and account kind - * for the specified account. - * The Get Account Information operation is available on service versions beginning - * with version 2018-03-28. - * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information - * - * @param options - Options to the Service Get Account Info operation. - * @returns Response data for the Service Get Account Info operation. - */ - async getAccountInfo(options = {}) { - return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => { - return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - }); + skipChunkCheck = true; + } + } else { + skipChunkCheck = true; } - getContainerNameFromUrl() { - let containerName; - try { - const parsedUrl = new URL(this.url); - if (parsedUrl.hostname.split(".")[1] === "blob") { - containerName = parsedUrl.pathname.split("/")[1]; - } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) { - containerName = parsedUrl.pathname.split("/")[2]; - } else { - containerName = parsedUrl.pathname.split("/")[1]; + return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); + }; + Readable.prototype.unshift = function(chunk) { + return readableAddChunk(this, chunk, null, true, false); + }; + function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { + var state = stream._readableState; + if (chunk === null) { + state.reading = false; + onEofChunk(stream, state); + } else { + var er; + if (!skipChunkCheck) er = chunkInvalid(state, chunk); + if (er) { + stream.emit("error", er); + } else if (state.objectMode || chunk && chunk.length > 0) { + if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) { + chunk = _uint8ArrayToBuffer(chunk); } - containerName = decodeURIComponent(containerName); - if (!containerName) { - throw new Error("Provided containerName is invalid."); + if (addToFront) { + if (state.endEmitted) stream.emit("error", new Error("stream.unshift() after end event")); + else addChunk(stream, state, chunk, true); + } else if (state.ended) { + stream.emit("error", new Error("stream.push() after EOF")); + } else { + state.reading = false; + if (state.decoder && !encoding) { + chunk = state.decoder.write(chunk); + if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false); + else maybeReadMore(stream, state); + } else { + addChunk(stream, state, chunk, false); + } } - return containerName; - } catch (error3) { - throw new Error("Unable to extract containerName with provided information."); + } else if (!addToFront) { + state.reading = false; } } - /** - * Only available for ContainerClient constructed with a shared key credential. - * - * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties - * and parameters passed in. The SAS is signed by the shared key credential of the client. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateSasUrl(options) { - return new Promise((resolve5) => { - if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { - throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); - } - const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ - containerName: this._containerName, - ...options - }, this.credential).toString(); - resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); - }); + return needMoreData(state); + } + function addChunk(stream, state, chunk, addToFront) { + if (state.flowing && state.length === 0 && !state.sync) { + stream.emit("data", chunk); + stream.read(0); + } else { + state.length += state.objectMode ? 1 : chunk.length; + if (addToFront) state.buffer.unshift(chunk); + else state.buffer.push(chunk); + if (state.needReadable) emitReadable(stream); } - /** - * Only available for ContainerClient constructed with a shared key credential. - * - * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI - * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/ - generateSasStringToSign(options) { - if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { - throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); - } - return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ - containerName: this._containerName, - ...options - }, this.credential).stringToSign; + maybeReadMore(stream, state); + } + function chunkInvalid(state, chunk) { + var er; + if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) { + er = new TypeError("Invalid non-string/buffer chunk"); } - /** - * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties - * and parameters passed in. The SAS is signed by the input user delegation key. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateUserDelegationSasUrl(options, userDelegationKey) { - return new Promise((resolve5) => { - const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ - containerName: this._containerName, - ...options - }, userDelegationKey, this.accountName).toString(); - resolve5((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); - }); + return er; + } + function needMoreData(state) { + return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); + } + Readable.prototype.isPaused = function() { + return this._readableState.flowing === false; + }; + Readable.prototype.setEncoding = function(enc) { + if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder; + this._readableState.decoder = new StringDecoder(enc); + this._readableState.encoding = enc; + return this; + }; + var MAX_HWM = 8388608; + function computeNewHighWaterMark(n) { + if (n >= MAX_HWM) { + n = MAX_HWM; + } else { + n--; + n |= n >>> 1; + n |= n >>> 2; + n |= n >>> 4; + n |= n >>> 8; + n |= n >>> 16; + n++; } - /** - * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI - * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas - * - * @param options - Optional parameters. - * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()` - * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateUserDelegationSasStringToSign(options, userDelegationKey) { - return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({ - containerName: this._containerName, - ...options - }, userDelegationKey, this.accountName).stringToSign; + return n; + } + function howMuchToRead(n, state) { + if (n <= 0 || state.length === 0 && state.ended) return 0; + if (state.objectMode) return 1; + if (n !== n) { + if (state.flowing && state.length) return state.buffer.head.data.length; + else return state.length; } - /** - * Creates a BlobBatchClient object to conduct batch operations. - * - * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch - * - * @returns A new BlobBatchClient object for this container. - */ - getBlobBatchClient() { - return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline); + if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); + if (n <= state.length) return n; + if (!state.ended) { + state.needReadable = true; + return 0; + } + return state.length; + } + Readable.prototype.read = function(n) { + debug4("read", n); + n = parseInt(n, 10); + var state = this._readableState; + var nOrig = n; + if (n !== 0) state.emittedReadable = false; + if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) { + debug4("read: emitReadable", state.length, state.ended); + if (state.length === 0 && state.ended) endReadable(this); + else emitReadable(this); + return null; + } + n = howMuchToRead(n, state); + if (n === 0 && state.ended) { + if (state.length === 0) endReadable(this); + return null; + } + var doRead = state.needReadable; + debug4("need readable", doRead); + if (state.length === 0 || state.length - n < state.highWaterMark) { + doRead = true; + debug4("length less than watermark", doRead); + } + if (state.ended || state.reading) { + doRead = false; + debug4("reading or ended", doRead); + } else if (doRead) { + debug4("do read"); + state.reading = true; + state.sync = true; + if (state.length === 0) state.needReadable = true; + this._read(state.highWaterMark); + state.sync = false; + if (!state.reading) n = howMuchToRead(nOrig, state); + } + var ret; + if (n > 0) ret = fromList(n, state); + else ret = null; + if (ret === null) { + state.needReadable = true; + n = 0; + } else { + state.length -= n; + } + if (state.length === 0) { + if (!state.ended) state.needReadable = true; + if (nOrig !== n && state.ended) endReadable(this); } + if (ret !== null) this.emit("data", ret); + return ret; }; - exports2.ContainerClient = ContainerClient; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js -var require_AccountSASPermissions = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AccountSASPermissions = void 0; - var AccountSASPermissions = class _AccountSASPermissions { - /** - * Parse initializes the AccountSASPermissions fields from a string. - * - * @param permissions - - */ - static parse(permissions) { - const accountSASPermissions = new _AccountSASPermissions(); - for (const c of permissions) { - switch (c) { - case "r": - accountSASPermissions.read = true; - break; - case "w": - accountSASPermissions.write = true; - break; - case "d": - accountSASPermissions.delete = true; - break; - case "x": - accountSASPermissions.deleteVersion = true; - break; - case "l": - accountSASPermissions.list = true; - break; - case "a": - accountSASPermissions.add = true; - break; - case "c": - accountSASPermissions.create = true; - break; - case "u": - accountSASPermissions.update = true; - break; - case "p": - accountSASPermissions.process = true; - break; - case "t": - accountSASPermissions.tag = true; - break; - case "f": - accountSASPermissions.filter = true; - break; - case "i": - accountSASPermissions.setImmutabilityPolicy = true; - break; - case "y": - accountSASPermissions.permanentDelete = true; - break; - default: - throw new RangeError(`Invalid permission character: ${c}`); - } + function onEofChunk(stream, state) { + if (state.ended) return; + if (state.decoder) { + var chunk = state.decoder.end(); + if (chunk && chunk.length) { + state.buffer.push(chunk); + state.length += state.objectMode ? 1 : chunk.length; } - return accountSASPermissions; } - /** - * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it - * and boolean values for them. - * - * @param permissionLike - - */ - static from(permissionLike) { - const accountSASPermissions = new _AccountSASPermissions(); - if (permissionLike.read) { - accountSASPermissions.read = true; - } - if (permissionLike.write) { - accountSASPermissions.write = true; - } - if (permissionLike.delete) { - accountSASPermissions.delete = true; - } - if (permissionLike.deleteVersion) { - accountSASPermissions.deleteVersion = true; - } - if (permissionLike.filter) { - accountSASPermissions.filter = true; - } - if (permissionLike.tag) { - accountSASPermissions.tag = true; - } - if (permissionLike.list) { - accountSASPermissions.list = true; - } - if (permissionLike.add) { - accountSASPermissions.add = true; - } - if (permissionLike.create) { - accountSASPermissions.create = true; - } - if (permissionLike.update) { - accountSASPermissions.update = true; - } - if (permissionLike.process) { - accountSASPermissions.process = true; - } - if (permissionLike.setImmutabilityPolicy) { - accountSASPermissions.setImmutabilityPolicy = true; - } - if (permissionLike.permanentDelete) { - accountSASPermissions.permanentDelete = true; - } - return accountSASPermissions; + state.ended = true; + emitReadable(stream); + } + function emitReadable(stream) { + var state = stream._readableState; + state.needReadable = false; + if (!state.emittedReadable) { + debug4("emitReadable", state.flowing); + state.emittedReadable = true; + if (state.sync) pna.nextTick(emitReadable_, stream); + else emitReadable_(stream); } - /** - * Permission to read resources and list queues and tables granted. - */ - read = false; - /** - * Permission to write resources granted. - */ - write = false; - /** - * Permission to delete blobs and files granted. - */ - delete = false; - /** - * Permission to delete versions granted. - */ - deleteVersion = false; - /** - * Permission to list blob containers, blobs, shares, directories, and files granted. - */ - list = false; - /** - * Permission to add messages, table entities, and append to blobs granted. - */ - add = false; - /** - * Permission to create blobs and files granted. - */ - create = false; - /** - * Permissions to update messages and table entities granted. - */ - update = false; - /** - * Permission to get and delete messages granted. - */ - process = false; - /** - * Specfies Tag access granted. - */ - tag = false; - /** - * Permission to filter blobs. - */ - filter = false; - /** - * Permission to set immutability policy. - */ - setImmutabilityPolicy = false; - /** - * Specifies that Permanent Delete is permitted. - */ - permanentDelete = false; - /** - * Produces the SAS permissions string for an Azure Storage account. - * Call this method to set AccountSASSignatureValues Permissions field. - * - * Using this method will guarantee the resource types are in - * an order accepted by the service. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas - * - */ - toString() { - const permissions = []; - if (this.read) { - permissions.push("r"); - } - if (this.write) { - permissions.push("w"); - } - if (this.delete) { - permissions.push("d"); - } - if (this.deleteVersion) { - permissions.push("x"); - } - if (this.filter) { - permissions.push("f"); - } - if (this.tag) { - permissions.push("t"); - } - if (this.list) { - permissions.push("l"); - } - if (this.add) { - permissions.push("a"); - } - if (this.create) { - permissions.push("c"); - } - if (this.update) { - permissions.push("u"); - } - if (this.process) { - permissions.push("p"); - } - if (this.setImmutabilityPolicy) { - permissions.push("i"); - } - if (this.permanentDelete) { - permissions.push("y"); - } - return permissions.join(""); + } + function emitReadable_(stream) { + debug4("emit readable"); + stream.emit("readable"); + flow(stream); + } + function maybeReadMore(stream, state) { + if (!state.readingMore) { + state.readingMore = true; + pna.nextTick(maybeReadMore_, stream, state); + } + } + function maybeReadMore_(stream, state) { + var len = state.length; + while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) { + debug4("maybeReadMore read 0"); + stream.read(0); + if (len === state.length) + break; + else len = state.length; } + state.readingMore = false; + } + Readable.prototype._read = function(n) { + this.emit("error", new Error("_read() is not implemented")); }; - exports2.AccountSASPermissions = AccountSASPermissions; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js -var require_AccountSASResourceTypes = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AccountSASResourceTypes = void 0; - var AccountSASResourceTypes = class _AccountSASResourceTypes { - /** - * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an - * Error if it encounters a character that does not correspond to a valid resource type. - * - * @param resourceTypes - - */ - static parse(resourceTypes) { - const accountSASResourceTypes = new _AccountSASResourceTypes(); - for (const c of resourceTypes) { - switch (c) { - case "s": - accountSASResourceTypes.service = true; - break; - case "c": - accountSASResourceTypes.container = true; - break; - case "o": - accountSASResourceTypes.object = true; - break; - default: - throw new RangeError(`Invalid resource type: ${c}`); + Readable.prototype.pipe = function(dest, pipeOpts) { + var src = this; + var state = this._readableState; + switch (state.pipesCount) { + case 0: + state.pipes = dest; + break; + case 1: + state.pipes = [state.pipes, dest]; + break; + default: + state.pipes.push(dest); + break; + } + state.pipesCount += 1; + debug4("pipe count=%d opts=%j", state.pipesCount, pipeOpts); + var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; + var endFn = doEnd ? onend : unpipe; + if (state.endEmitted) pna.nextTick(endFn); + else src.once("end", endFn); + dest.on("unpipe", onunpipe); + function onunpipe(readable, unpipeInfo) { + debug4("onunpipe"); + if (readable === src) { + if (unpipeInfo && unpipeInfo.hasUnpiped === false) { + unpipeInfo.hasUnpiped = true; + cleanup(); } } - return accountSASResourceTypes; } - /** - * Permission to access service level APIs granted. - */ - service = false; - /** - * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted. - */ - container = false; - /** - * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted. - */ - object = false; - /** - * Converts the given resource types to a string. - * - * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas - * - */ - toString() { - const resourceTypes = []; - if (this.service) { - resourceTypes.push("s"); + function onend() { + debug4("onend"); + dest.end(); + } + var ondrain = pipeOnDrain(src); + dest.on("drain", ondrain); + var cleanedUp = false; + function cleanup() { + debug4("cleanup"); + dest.removeListener("close", onclose); + dest.removeListener("finish", onfinish); + dest.removeListener("drain", ondrain); + dest.removeListener("error", onerror); + dest.removeListener("unpipe", onunpipe); + src.removeListener("end", onend); + src.removeListener("end", unpipe); + src.removeListener("data", ondata); + cleanedUp = true; + if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); + } + var increasedAwaitDrain = false; + src.on("data", ondata); + function ondata(chunk) { + debug4("ondata"); + increasedAwaitDrain = false; + var ret = dest.write(chunk); + if (false === ret && !increasedAwaitDrain) { + if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { + debug4("false write response, pause", state.awaitDrain); + state.awaitDrain++; + increasedAwaitDrain = true; + } + src.pause(); } - if (this.container) { - resourceTypes.push("c"); + } + function onerror(er) { + debug4("onerror", er); + unpipe(); + dest.removeListener("error", onerror); + if (EElistenerCount(dest, "error") === 0) dest.emit("error", er); + } + prependListener(dest, "error", onerror); + function onclose() { + dest.removeListener("finish", onfinish); + unpipe(); + } + dest.once("close", onclose); + function onfinish() { + debug4("onfinish"); + dest.removeListener("close", onclose); + unpipe(); + } + dest.once("finish", onfinish); + function unpipe() { + debug4("unpipe"); + src.unpipe(dest); + } + dest.emit("pipe", src); + if (!state.flowing) { + debug4("pipe resume"); + src.resume(); + } + return dest; + }; + function pipeOnDrain(src) { + return function() { + var state = src._readableState; + debug4("pipeOnDrain", state.awaitDrain); + if (state.awaitDrain) state.awaitDrain--; + if (state.awaitDrain === 0 && EElistenerCount(src, "data")) { + state.flowing = true; + flow(src); } - if (this.object) { - resourceTypes.push("o"); + }; + } + Readable.prototype.unpipe = function(dest) { + var state = this._readableState; + var unpipeInfo = { hasUnpiped: false }; + if (state.pipesCount === 0) return this; + if (state.pipesCount === 1) { + if (dest && dest !== state.pipes) return this; + if (!dest) dest = state.pipes; + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + if (dest) dest.emit("unpipe", this, unpipeInfo); + return this; + } + if (!dest) { + var dests = state.pipes; + var len = state.pipesCount; + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + for (var i = 0; i < len; i++) { + dests[i].emit("unpipe", this, { hasUnpiped: false }); } - return resourceTypes.join(""); + return this; } + var index = indexOf(state.pipes, dest); + if (index === -1) return this; + state.pipes.splice(index, 1); + state.pipesCount -= 1; + if (state.pipesCount === 1) state.pipes = state.pipes[0]; + dest.emit("unpipe", this, unpipeInfo); + return this; }; - exports2.AccountSASResourceTypes = AccountSASResourceTypes; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js -var require_AccountSASServices = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AccountSASServices = void 0; - var AccountSASServices = class _AccountSASServices { - /** - * Creates an {@link AccountSASServices} from the specified services string. This method will throw an - * Error if it encounters a character that does not correspond to a valid service. - * - * @param services - - */ - static parse(services) { - const accountSASServices = new _AccountSASServices(); - for (const c of services) { - switch (c) { - case "b": - accountSASServices.blob = true; - break; - case "f": - accountSASServices.file = true; - break; - case "q": - accountSASServices.queue = true; - break; - case "t": - accountSASServices.table = true; - break; - default: - throw new RangeError(`Invalid service character: ${c}`); + Readable.prototype.on = function(ev, fn) { + var res = Stream.prototype.on.call(this, ev, fn); + if (ev === "data") { + if (this._readableState.flowing !== false) this.resume(); + } else if (ev === "readable") { + var state = this._readableState; + if (!state.endEmitted && !state.readableListening) { + state.readableListening = state.needReadable = true; + state.emittedReadable = false; + if (!state.reading) { + pna.nextTick(nReadingNextTick, this); + } else if (state.length) { + emitReadable(this); } } - return accountSASServices; } - /** - * Permission to access blob resources granted. - */ - blob = false; - /** - * Permission to access file resources granted. - */ - file = false; - /** - * Permission to access queue resources granted. - */ - queue = false; - /** - * Permission to access table resources granted. - */ - table = false; - /** - * Converts the given services to a string. - * - */ - toString() { - const services = []; - if (this.blob) { - services.push("b"); - } - if (this.table) { - services.push("t"); - } - if (this.queue) { - services.push("q"); - } - if (this.file) { - services.push("f"); - } - return services.join(""); + return res; + }; + Readable.prototype.addListener = Readable.prototype.on; + function nReadingNextTick(self2) { + debug4("readable nexttick read 0"); + self2.read(0); + } + Readable.prototype.resume = function() { + var state = this._readableState; + if (!state.flowing) { + debug4("resume"); + state.flowing = true; + resume(this, state); } + return this; }; - exports2.AccountSASServices = AccountSASServices; - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js -var require_AccountSASSignatureValues = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters; - exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal; - var AccountSASPermissions_js_1 = require_AccountSASPermissions(); - var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes(); - var AccountSASServices_js_1 = require_AccountSASServices(); - var SasIPRange_js_1 = require_SasIPRange(); - var SASQueryParameters_js_1 = require_SASQueryParameters(); - var constants_js_1 = require_constants15(); - var utils_common_js_1 = require_utils_common(); - function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) { - return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters; + function resume(stream, state) { + if (!state.resumeScheduled) { + state.resumeScheduled = true; + pna.nextTick(resume_, stream, state); + } } - function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) { - const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION; - if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") { - throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission."); + function resume_(stream, state) { + if (!state.reading) { + debug4("resume read 0"); + stream.read(0); } - if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") { - throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission."); + state.resumeScheduled = false; + state.awaitDrain = 0; + stream.emit("resume"); + flow(stream); + if (state.flowing && !state.reading) stream.read(0); + } + Readable.prototype.pause = function() { + debug4("call pause flowing=%j", this._readableState.flowing); + if (false !== this._readableState.flowing) { + debug4("pause"); + this._readableState.flowing = false; + this.emit("pause"); } - if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") { - throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission."); + return this; + }; + function flow(stream) { + var state = stream._readableState; + debug4("flow", state.flowing); + while (state.flowing && stream.read() !== null) { + } + } + Readable.prototype.wrap = function(stream) { + var _this = this; + var state = this._readableState; + var paused = false; + stream.on("end", function() { + debug4("wrapped end"); + if (state.decoder && !state.ended) { + var chunk = state.decoder.end(); + if (chunk && chunk.length) _this.push(chunk); + } + _this.push(null); + }); + stream.on("data", function(chunk) { + debug4("wrapped data"); + if (state.decoder) chunk = state.decoder.write(chunk); + if (state.objectMode && (chunk === null || chunk === void 0)) return; + else if (!state.objectMode && (!chunk || !chunk.length)) return; + var ret = _this.push(chunk); + if (!ret) { + paused = true; + stream.pause(); + } + }); + for (var i in stream) { + if (this[i] === void 0 && typeof stream[i] === "function") { + this[i] = /* @__PURE__ */ (function(method) { + return function() { + return stream[method].apply(stream, arguments); + }; + })(i); + } } - if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") { - throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission."); + for (var n = 0; n < kProxyEvents.length; n++) { + stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); } - if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") { - throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission."); + this._read = function(n2) { + debug4("wrapped _read", n2); + if (paused) { + paused = false; + stream.resume(); + } + }; + return this; + }; + Object.defineProperty(Readable.prototype, "readableHighWaterMark", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function() { + return this._readableState.highWaterMark; } - if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") { - throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS."); + }); + Readable._fromList = fromList; + function fromList(n, state) { + if (state.length === 0) return null; + var ret; + if (state.objectMode) ret = state.buffer.shift(); + else if (!n || n >= state.length) { + if (state.decoder) ret = state.buffer.join(""); + else if (state.buffer.length === 1) ret = state.buffer.head.data; + else ret = state.buffer.concat(state.length); + state.buffer.clear(); + } else { + ret = fromListPartial(n, state.buffer, state.decoder); } - const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString()); - const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString(); - const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString(); - let stringToSign; - if (version >= "2020-12-06") { - stringToSign = [ - sharedKeyCredential.accountName, - parsedPermissions, - parsedServices, - parsedResourceTypes, - accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "", - (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false), - accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "", - accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "", - version, - accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "", - "" - // Account SAS requires an additional newline character - ].join("\n"); + return ret; + } + function fromListPartial(n, list, hasStrings) { + var ret; + if (n < list.head.data.length) { + ret = list.head.data.slice(0, n); + list.head.data = list.head.data.slice(n); + } else if (n === list.head.data.length) { + ret = list.shift(); } else { - stringToSign = [ - sharedKeyCredential.accountName, - parsedPermissions, - parsedServices, - parsedResourceTypes, - accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "", - (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false), - accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "", - accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "", - version, - "" - // Account SAS requires an additional newline character - ].join("\n"); + ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list); } - const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); - return { - sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope), - stringToSign - }; + return ret; } - } -}); - -// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js -var require_BlobServiceClient = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BlobServiceClient = void 0; - var core_auth_1 = require_commonjs7(); - var core_rest_pipeline_1 = require_commonjs6(); - var core_util_1 = require_commonjs4(); - var Pipeline_js_1 = require_Pipeline(); - var ContainerClient_js_1 = require_ContainerClient(); - var utils_common_js_1 = require_utils_common(); - var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential(); - var AnonymousCredential_js_1 = require_AnonymousCredential(); - var utils_common_js_2 = require_utils_common(); - var tracing_js_1 = require_tracing(); - var BlobBatchClient_js_1 = require_BlobBatchClient(); - var StorageClient_js_1 = require_StorageClient(); - var AccountSASPermissions_js_1 = require_AccountSASPermissions(); - var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues(); - var AccountSASServices_js_1 = require_AccountSASServices(); - var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient { - /** - * serviceContext provided by protocol layer. - */ - serviceContext; - /** - * - * Creates an instance of BlobServiceClient from connection string. - * - * @param connectionString - Account connection string or a SAS connection string of an Azure storage account. - * [ Note - Account connection string can only be used in NODE.JS runtime. ] - * Account connection string example - - * `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net` - * SAS connection string example - - * `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString` - * @param options - Optional. Options to configure the HTTP pipeline. - */ - static fromConnectionString(connectionString, options) { - options = options || {}; - const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString); - if (extractedCreds.kind === "AccountConnString") { - if (core_util_1.isNodeLike) { - const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey); - if (!options.proxyOptions) { - options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri); - } - const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options); - return new _BlobServiceClient(extractedCreds.url, pipeline); + function copyFromBufferString(n, list) { + var p = list.head; + var c = 1; + var ret = p.data; + n -= ret.length; + while (p = p.next) { + var str2 = p.data; + var nb = n > str2.length ? str2.length : n; + if (nb === str2.length) ret += str2; + else ret += str2.slice(0, n); + n -= nb; + if (n === 0) { + if (nb === str2.length) { + ++c; + if (p.next) list.head = p.next; + else list.head = list.tail = null; } else { - throw new Error("Account connection string is only supported in Node.js environment"); + list.head = p; + p.data = str2.slice(nb); } - } else if (extractedCreds.kind === "SASConnString") { - const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); - return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline); - } else { - throw new Error("Connection string must be either an Account connection string or a SAS connection string"); + break; } + ++c; } - constructor(url, credentialOrPipeline, options) { - let pipeline; - if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) { - pipeline = credentialOrPipeline; - } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) { - pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options); - } else { - pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options); + list.length -= c; + return ret; + } + function copyFromBuffer(n, list) { + var ret = Buffer2.allocUnsafe(n); + var p = list.head; + var c = 1; + p.data.copy(ret); + n -= p.data.length; + while (p = p.next) { + var buf = p.data; + var nb = n > buf.length ? buf.length : n; + buf.copy(ret, ret.length - n, 0, nb); + n -= nb; + if (n === 0) { + if (nb === buf.length) { + ++c; + if (p.next) list.head = p.next; + else list.head = list.tail = null; + } else { + list.head = p; + p.data = buf.slice(nb); + } + break; } - super(url, pipeline); - this.serviceContext = this.storageClientContext.service; - } - /** - * Creates a {@link ContainerClient} object - * - * @param containerName - A container name - * @returns A new ContainerClient object for the given container name. - * - * Example usage: - * - * ```ts snippet:BlobServiceClientGetContainerClient - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * const containerClient = blobServiceClient.getContainerClient(""); - * ``` - */ - getContainerClient(containerName) { - return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline); + ++c; } - /** - * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container - * - * @param containerName - Name of the container to create. - * @param options - Options to configure Container Create operation. - * @returns Container creation response and the corresponding container client. - */ - async createContainer(containerName, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => { - const containerClient = this.getContainerClient(containerName); - const containerCreateResponse = await containerClient.create(updatedOptions); - return { - containerClient, - containerCreateResponse - }; - }); + list.length -= c; + return ret; + } + function endReadable(stream) { + var state = stream._readableState; + if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream'); + if (!state.endEmitted) { + state.ended = true; + pna.nextTick(endReadableNT, state, stream); } - /** - * Deletes a Blob container. - * - * @param containerName - Name of the container to delete. - * @param options - Options to configure Container Delete operation. - * @returns Container deletion response. - */ - async deleteContainer(containerName, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => { - const containerClient = this.getContainerClient(containerName); - return containerClient.delete(updatedOptions); - }); + } + function endReadableNT(state, stream) { + if (!state.endEmitted && state.length === 0) { + state.endEmitted = true; + stream.readable = false; + stream.emit("end"); } - /** - * Restore a previously deleted Blob container. - * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container. - * - * @param deletedContainerName - Name of the previously deleted container. - * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container. - * @param options - Options to configure Container Restore operation. - * @returns Container deletion response. - */ - async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => { - const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName); - const containerContext = containerClient["storageClientContext"].container; - const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({ - deletedContainerName, - deletedContainerVersion, - tracingOptions: updatedOptions.tracingOptions - })); - return { containerClient, containerUndeleteResponse }; - }); + } + function indexOf(xs, x) { + for (var i = 0, l = xs.length; i < l; i++) { + if (xs[i] === x) return i; } - /** - * Gets the properties of a storage account’s Blob service, including properties - * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. - * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties - * - * @param options - Options to the Service Get Properties operation. - * @returns Response data for the Service Get Properties operation. - */ - async getProperties(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => { - return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - }); + return -1; + } + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js +var require_stream_transform = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) { + "use strict"; + module2.exports = Transform; + var Duplex = require_stream_duplex(); + var util = Object.create(require_util20()); + util.inherits = require_inherits(); + util.inherits(Transform, Duplex); + function afterTransform(er, data) { + var ts = this._transformState; + ts.transforming = false; + var cb = ts.writecb; + if (!cb) { + return this.emit("error", new Error("write callback called multiple times")); } - /** - * Sets properties for a storage account’s Blob service endpoint, including properties - * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings. - * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties - * - * @param properties - - * @param options - Options to the Service Set Properties operation. - * @returns Response data for the Service Set Properties operation. - */ - async setProperties(properties, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => { - return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, { - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - }); + ts.writechunk = null; + ts.writecb = null; + if (data != null) + this.push(data); + cb(er); + var rs = this._readableState; + rs.reading = false; + if (rs.needReadable || rs.length < rs.highWaterMark) { + this._read(rs.highWaterMark); } - /** - * Retrieves statistics related to replication for the Blob service. It is only - * available on the secondary location endpoint when read-access geo-redundant - * replication is enabled for the storage account. - * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats - * - * @param options - Options to the Service Get Statistics operation. - * @returns Response data for the Service Get Statistics operation. - */ - async getStatistics(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => { - return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - }); + } + function Transform(options) { + if (!(this instanceof Transform)) return new Transform(options); + Duplex.call(this, options); + this._transformState = { + afterTransform: afterTransform.bind(this), + needTransform: false, + transforming: false, + writecb: null, + writechunk: null, + writeencoding: null + }; + this._readableState.needReadable = true; + this._readableState.sync = false; + if (options) { + if (typeof options.transform === "function") this._transform = options.transform; + if (typeof options.flush === "function") this._flush = options.flush; } - /** - * The Get Account Information operation returns the sku name and account kind - * for the specified account. - * The Get Account Information operation is available on service versions beginning - * with version 2018-03-28. - * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information - * - * @param options - Options to the Service Get Account Info operation. - * @returns Response data for the Service Get Account Info operation. - */ - async getAccountInfo(options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => { - return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({ - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); + this.on("prefinish", prefinish); + } + function prefinish() { + var _this = this; + if (typeof this._flush === "function") { + this._flush(function(er, data) { + done(_this, er, data); }); + } else { + done(this, null, null); } - /** - * Returns a list of the containers under the specified account. - * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2 - * - * @param marker - A string value that identifies the portion of - * the list of containers to be returned with the next listing operation. The - * operation returns the continuationToken value within the response body if the - * listing operation did not return all containers remaining to be listed - * with the current page. The continuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to the Service List Container Segment operation. - * @returns Response data for the Service List Container Segment operation. - */ - async listContainersSegment(marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => { - return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({ - abortSignal: options.abortSignal, - marker, - ...options, - include: typeof options.include === "string" ? [options.include] : options.include, - tracingOptions: updatedOptions.tracingOptions - })); - }); + } + Transform.prototype.push = function(chunk, encoding) { + this._transformState.needTransform = false; + return Duplex.prototype.push.call(this, chunk, encoding); + }; + Transform.prototype._transform = function(chunk, encoding, cb) { + throw new Error("_transform() is not implemented"); + }; + Transform.prototype._write = function(chunk, encoding, cb) { + var ts = this._transformState; + ts.writecb = cb; + ts.writechunk = chunk; + ts.writeencoding = encoding; + if (!ts.transforming) { + var rs = this._readableState; + if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); } - /** - * The Filter Blobs operation enables callers to list blobs across all containers whose tags - * match a given search expression. Filter blobs searches across all containers within a - * storage account but can be scoped within the expression to a single container. - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param marker - A string value that identifies the portion of - * the list of blobs to be returned with the next listing operation. The - * operation returns the continuationToken value within the response body if the - * listing operation did not return all blobs remaining to be listed - * with the current page. The continuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to find blobs by tags. - */ - async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => { - const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({ - abortSignal: options.abortSignal, - where: tagFilterSqlExpression, - marker, - maxPageSize: options.maxPageSize, - tracingOptions: updatedOptions.tracingOptions - })); - const wrappedResponse = { - ...response, - _response: response._response, - // _response is made non-enumerable - blobs: response.blobs.map((blob) => { - let tagValue = ""; - if (blob.tags?.blobTagSet.length === 1) { - tagValue = blob.tags.blobTagSet[0].value; - } - return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue }; - }) - }; - return wrappedResponse; - }); + }; + Transform.prototype._read = function(n) { + var ts = this._transformState; + if (ts.writechunk !== null && ts.writecb && !ts.transforming) { + ts.transforming = true; + this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); + } else { + ts.needTransform = true; } - /** - * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse. - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param marker - A string value that identifies the portion of - * the list of blobs to be returned with the next listing operation. The - * operation returns the continuationToken value within the response body if the - * listing operation did not return all blobs remaining to be listed - * with the current page. The continuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to find blobs by tags. - */ - async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) { - let response; - if (!!marker || marker === void 0) { - do { - response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options); - response.blobs = response.blobs || []; - marker = response.continuationToken; - yield response; - } while (marker); - } + }; + Transform.prototype._destroy = function(err, cb) { + var _this2 = this; + Duplex.prototype._destroy.call(this, err, function(err2) { + cb(err2); + _this2.emit("close"); + }); + }; + function done(stream, er, data) { + if (er) return stream.emit("error", er); + if (data != null) + stream.push(data); + if (stream._writableState.length) throw new Error("Calling transform done when ws.length != 0"); + if (stream._transformState.transforming) throw new Error("Calling transform done when still transforming"); + return stream.push(null); + } + } +}); + +// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js +var require_stream_passthrough = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) { + "use strict"; + module2.exports = PassThrough; + var Transform = require_stream_transform(); + var util = Object.create(require_util20()); + util.inherits = require_inherits(); + util.inherits(PassThrough, Transform); + function PassThrough(options) { + if (!(this instanceof PassThrough)) return new PassThrough(options); + Transform.call(this, options); + } + PassThrough.prototype._transform = function(chunk, encoding, cb) { + cb(null, chunk); + }; + } +}); + +// node_modules/lazystream/node_modules/readable-stream/readable.js +var require_readable3 = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) { + var Stream = require("stream"); + if (process.env.READABLE_STREAM === "disable" && Stream) { + module2.exports = Stream; + exports2 = module2.exports = Stream.Readable; + exports2.Readable = Stream.Readable; + exports2.Writable = Stream.Writable; + exports2.Duplex = Stream.Duplex; + exports2.Transform = Stream.Transform; + exports2.PassThrough = Stream.PassThrough; + exports2.Stream = Stream; + } else { + exports2 = module2.exports = require_stream_readable(); + exports2.Stream = Stream || exports2; + exports2.Readable = exports2; + exports2.Writable = require_stream_writable(); + exports2.Duplex = require_stream_duplex(); + exports2.Transform = require_stream_transform(); + exports2.PassThrough = require_stream_passthrough(); + } + } +}); + +// node_modules/lazystream/node_modules/readable-stream/passthrough.js +var require_passthrough = __commonJS({ + "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) { + module2.exports = require_readable3().PassThrough; + } +}); + +// node_modules/lazystream/lib/lazystream.js +var require_lazystream = __commonJS({ + "node_modules/lazystream/lib/lazystream.js"(exports2, module2) { + var util = require("util"); + var PassThrough = require_passthrough(); + module2.exports = { + Readable, + Writable + }; + util.inherits(Readable, PassThrough); + util.inherits(Writable, PassThrough); + function beforeFirstCall(instance, method, callback) { + instance[method] = function() { + delete instance[method]; + callback.apply(this, arguments); + return this[method].apply(this, arguments); + }; + } + function Readable(fn, options) { + if (!(this instanceof Readable)) + return new Readable(fn, options); + PassThrough.call(this, options); + beforeFirstCall(this, "_read", function() { + var source = fn.call(this, options); + var emit = this.emit.bind(this, "error"); + source.on("error", emit); + source.pipe(this); + }); + this.emit("readable"); + } + function Writable(fn, options) { + if (!(this instanceof Writable)) + return new Writable(fn, options); + PassThrough.call(this, options); + beforeFirstCall(this, "_write", function() { + var destination = fn.call(this, options); + var emit = this.emit.bind(this, "error"); + destination.on("error", emit); + this.pipe(destination); + }); + this.emit("writable"); + } + } +}); + +// node_modules/normalize-path/index.js +var require_normalize_path = __commonJS({ + "node_modules/normalize-path/index.js"(exports2, module2) { + module2.exports = function(path7, stripTrailing) { + if (typeof path7 !== "string") { + throw new TypeError("expected path to be a string"); } - /** - * Returns an AsyncIterableIterator for blobs. - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param options - Options to findBlobsByTagsItems. - */ - async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) { - let marker; - for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) { - yield* segment.blobs; + if (path7 === "\\" || path7 === "/") return "/"; + var len = path7.length; + if (len <= 1) return path7; + var prefix = ""; + if (len > 4 && path7[3] === "\\") { + var ch = path7[2]; + if ((ch === "?" || ch === ".") && path7.slice(0, 2) === "\\\\") { + path7 = path7.slice(2); + prefix = "//"; } } - /** - * Returns an async iterable iterator to find all blobs with specified tag - * under the specified account. - * - * .byPage() returns an async iterable iterator to list the blobs in pages. - * - * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties - * - * ```ts snippet:BlobServiceClientFindBlobsByTags - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * // Use for await to iterate the blobs - * let i = 1; - * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * - * // Use iter.next() to iterate the blobs - * i = 1; - * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'"); - * let { value, done } = await iter.next(); - * while (!done) { - * console.log(`Blob ${i++}: ${value.name}`); - * ({ value, done } = await iter.next()); - * } - * - * // Use byPage() to iterate the blobs - * i = 1; - * for await (const page of blobServiceClient - * .findBlobsByTags("tagkey='tagvalue'") - * .byPage({ maxPageSize: 20 })) { - * for (const blob of page.blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * - * // Use paging with a marker - * i = 1; - * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * // Prints 2 blob names - * if (response.blobs) { - * for (const blob of response.blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = blobServiceClient - * .findBlobsByTags("tagkey='tagvalue'") - * .byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * - * // Prints blob names - * if (response.blobs) { - * for (const blob of response.blobs) { - * console.log(`Blob ${i++}: ${blob.name}`); - * } - * } - * ``` - * - * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression. - * The given expression must evaluate to true for a blob to be returned in the results. - * The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; - * however, only a subset of the OData filter syntax is supported in the Blob service. - * @param options - Options to find blobs by tags. - */ - findBlobsByTags(tagFilterSqlExpression, options = {}) { - const listSegmentOptions = { - ...options - }; - const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions); - return { - /** - * The next method, part of the iteration protocol - */ - next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...listSegmentOptions - }); - } - }; - } - /** - * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses - * - * @param marker - A string value that identifies the portion of - * the list of containers to be returned with the next listing operation. The - * operation returns the continuationToken value within the response body if the - * listing operation did not return all containers remaining to be listed - * with the current page. The continuationToken value can be used as the value for - * the marker parameter in a subsequent call to request the next page of list - * items. The marker value is opaque to the client. - * @param options - Options to list containers operation. - */ - async *listSegments(marker, options = {}) { - let listContainersSegmentResponse; - if (!!marker || marker === void 0) { - do { - listContainersSegmentResponse = await this.listContainersSegment(marker, options); - listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || []; - marker = listContainersSegmentResponse.continuationToken; - yield await listContainersSegmentResponse; - } while (marker); - } + var segs = path7.split(/[/\\]+/); + if (stripTrailing !== false && segs[segs.length - 1] === "") { + segs.pop(); } - /** - * Returns an AsyncIterableIterator for Container Items - * - * @param options - Options to list containers operation. - */ - async *listItems(options = {}) { - let marker; - for await (const segment of this.listSegments(marker, options)) { - yield* segment.containerItems; - } + return prefix + segs.join("/"); + }; + } +}); + +// node_modules/lodash/identity.js +var require_identity = __commonJS({ + "node_modules/lodash/identity.js"(exports2, module2) { + function identity(value) { + return value; + } + module2.exports = identity; + } +}); + +// node_modules/lodash/_apply.js +var require_apply = __commonJS({ + "node_modules/lodash/_apply.js"(exports2, module2) { + function apply(func, thisArg, args) { + switch (args.length) { + case 0: + return func.call(thisArg); + case 1: + return func.call(thisArg, args[0]); + case 2: + return func.call(thisArg, args[0], args[1]); + case 3: + return func.call(thisArg, args[0], args[1], args[2]); } - /** - * Returns an async iterable iterator to list all the containers - * under the specified account. - * - * .byPage() returns an async iterable iterator to list the containers in pages. - * - * ```ts snippet:BlobServiceClientListContainers - * import { BlobServiceClient } from "@azure/storage-blob"; - * import { DefaultAzureCredential } from "@azure/identity"; - * - * const account = ""; - * const blobServiceClient = new BlobServiceClient( - * `https://${account}.blob.core.windows.net`, - * new DefaultAzureCredential(), - * ); - * - * // Use for await to iterate the containers - * let i = 1; - * for await (const container of blobServiceClient.listContainers()) { - * console.log(`Container ${i++}: ${container.name}`); - * } - * - * // Use iter.next() to iterate the containers - * i = 1; - * const iter = blobServiceClient.listContainers(); - * let { value, done } = await iter.next(); - * while (!done) { - * console.log(`Container ${i++}: ${value.name}`); - * ({ value, done } = await iter.next()); - * } - * - * // Use byPage() to iterate the containers - * i = 1; - * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) { - * for (const container of page.containerItems) { - * console.log(`Container ${i++}: ${container.name}`); - * } - * } - * - * // Use paging with a marker - * i = 1; - * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 }); - * let response = (await iterator.next()).value; - * - * // Prints 2 container names - * if (response.containerItems) { - * for (const container of response.containerItems) { - * console.log(`Container ${i++}: ${container.name}`); - * } - * } - * - * // Gets next marker - * let marker = response.continuationToken; - * // Passing next marker as continuationToken - * iterator = blobServiceClient - * .listContainers() - * .byPage({ continuationToken: marker, maxPageSize: 10 }); - * response = (await iterator.next()).value; - * - * // Prints 10 container names - * if (response.containerItems) { - * for (const container of response.containerItems) { - * console.log(`Container ${i++}: ${container.name}`); - * } - * } - * ``` - * - * @param options - Options to list containers. - * @returns An asyncIterableIterator that supports paging. - */ - listContainers(options = {}) { - if (options.prefix === "") { - options.prefix = void 0; - } - const include = []; - if (options.includeDeleted) { - include.push("deleted"); - } - if (options.includeMetadata) { - include.push("metadata"); + return func.apply(thisArg, args); + } + module2.exports = apply; + } +}); + +// node_modules/lodash/_overRest.js +var require_overRest = __commonJS({ + "node_modules/lodash/_overRest.js"(exports2, module2) { + var apply = require_apply(); + var nativeMax = Math.max; + function overRest(func, start, transform) { + start = nativeMax(start === void 0 ? func.length - 1 : start, 0); + return function() { + var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length); + while (++index < length) { + array[index] = args[start + index]; } - if (options.includeSystem) { - include.push("system"); + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; } - const listSegmentOptions = { - ...options, - ...include.length > 0 ? { include } : {} - }; - const iter = this.listItems(listSegmentOptions); - return { - /** - * The next method, part of the iteration protocol - */ - next() { - return iter.next(); - }, - /** - * The connection to the async iterator, part of the iteration protocol - */ - [Symbol.asyncIterator]() { - return this; - }, - /** - * Return an AsyncIterableIterator that works a page at a time - */ - byPage: (settings = {}) => { - return this.listSegments(settings.continuationToken, { - maxPageSize: settings.maxPageSize, - ...listSegmentOptions - }); - } - }; + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; + } + module2.exports = overRest; + } +}); + +// node_modules/lodash/constant.js +var require_constant = __commonJS({ + "node_modules/lodash/constant.js"(exports2, module2) { + function constant(value) { + return function() { + return value; + }; + } + module2.exports = constant; + } +}); + +// node_modules/lodash/_freeGlobal.js +var require_freeGlobal = __commonJS({ + "node_modules/lodash/_freeGlobal.js"(exports2, module2) { + var freeGlobal = typeof global == "object" && global && global.Object === Object && global; + module2.exports = freeGlobal; + } +}); + +// node_modules/lodash/_root.js +var require_root = __commonJS({ + "node_modules/lodash/_root.js"(exports2, module2) { + var freeGlobal = require_freeGlobal(); + var freeSelf = typeof self == "object" && self && self.Object === Object && self; + var root = freeGlobal || freeSelf || Function("return this")(); + module2.exports = root; + } +}); + +// node_modules/lodash/_Symbol.js +var require_Symbol = __commonJS({ + "node_modules/lodash/_Symbol.js"(exports2, module2) { + var root = require_root(); + var Symbol2 = root.Symbol; + module2.exports = Symbol2; + } +}); + +// node_modules/lodash/_getRawTag.js +var require_getRawTag = __commonJS({ + "node_modules/lodash/_getRawTag.js"(exports2, module2) { + var Symbol2 = require_Symbol(); + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + var nativeObjectToString = objectProto.toString; + var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0; + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag]; + try { + value[symToStringTag] = void 0; + var unmasked = true; + } catch (e) { } - /** - * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential). - * - * Retrieves a user delegation key for the Blob service. This is only a valid operation when using - * bearer token authentication. - * - * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key - * - * @param startsOn - The start time for the user delegation SAS. Must be within 7 days of the current time - * @param expiresOn - The end time for the user delegation SAS. Must be within 7 days of the current time - */ - async getUserDelegationKey(startsOn, expiresOn, options = {}) { - return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => { - const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({ - startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false), - expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false) - }, { - abortSignal: options.abortSignal, - tracingOptions: updatedOptions.tracingOptions - })); - const userDelegationKey = { - signedObjectId: response.signedObjectId, - signedTenantId: response.signedTenantId, - signedStartsOn: new Date(response.signedStartsOn), - signedExpiresOn: new Date(response.signedExpiresOn), - signedService: response.signedService, - signedVersion: response.signedVersion, - value: response.value - }; - const res = { - _response: response._response, - requestId: response.requestId, - clientRequestId: response.clientRequestId, - version: response.version, - date: response.date, - errorCode: response.errorCode, - ...userDelegationKey - }; - return res; - }); + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } } - /** - * Creates a BlobBatchClient object to conduct batch operations. - * - * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch - * - * @returns A new BlobBatchClient object for this service. - */ - getBlobBatchClient() { - return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline); + return result; + } + module2.exports = getRawTag; + } +}); + +// node_modules/lodash/_objectToString.js +var require_objectToString = __commonJS({ + "node_modules/lodash/_objectToString.js"(exports2, module2) { + var objectProto = Object.prototype; + var nativeObjectToString = objectProto.toString; + function objectToString(value) { + return nativeObjectToString.call(value); + } + module2.exports = objectToString; + } +}); + +// node_modules/lodash/_baseGetTag.js +var require_baseGetTag = __commonJS({ + "node_modules/lodash/_baseGetTag.js"(exports2, module2) { + var Symbol2 = require_Symbol(); + var getRawTag = require_getRawTag(); + var objectToString = require_objectToString(); + var nullTag = "[object Null]"; + var undefinedTag = "[object Undefined]"; + var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0; + function baseGetTag(value) { + if (value == null) { + return value === void 0 ? undefinedTag : nullTag; } - /** - * Only available for BlobServiceClient constructed with a shared key credential. - * - * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties - * and parameters passed in. The SAS is signed by the shared key credential of the client. - * - * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas - * - * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided. - * @param permissions - Specifies the list of permissions to be associated with the SAS. - * @param resourceTypes - Specifies the resource types associated with the shared access signature. - * @param options - Optional parameters. - * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) { - if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { - throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential"); + return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); + } + module2.exports = baseGetTag; + } +}); + +// node_modules/lodash/isObject.js +var require_isObject = __commonJS({ + "node_modules/lodash/isObject.js"(exports2, module2) { + function isObject2(value) { + var type2 = typeof value; + return value != null && (type2 == "object" || type2 == "function"); + } + module2.exports = isObject2; + } +}); + +// node_modules/lodash/isFunction.js +var require_isFunction = __commonJS({ + "node_modules/lodash/isFunction.js"(exports2, module2) { + var baseGetTag = require_baseGetTag(); + var isObject2 = require_isObject(); + var asyncTag = "[object AsyncFunction]"; + var funcTag = "[object Function]"; + var genTag = "[object GeneratorFunction]"; + var proxyTag = "[object Proxy]"; + function isFunction(value) { + if (!isObject2(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + module2.exports = isFunction; + } +}); + +// node_modules/lodash/_coreJsData.js +var require_coreJsData = __commonJS({ + "node_modules/lodash/_coreJsData.js"(exports2, module2) { + var root = require_root(); + var coreJsData = root["__core-js_shared__"]; + module2.exports = coreJsData; + } +}); + +// node_modules/lodash/_isMasked.js +var require_isMasked = __commonJS({ + "node_modules/lodash/_isMasked.js"(exports2, module2) { + var coreJsData = require_coreJsData(); + var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ""); + return uid ? "Symbol(src)_1." + uid : ""; + })(); + function isMasked(func) { + return !!maskSrcKey && maskSrcKey in func; + } + module2.exports = isMasked; + } +}); + +// node_modules/lodash/_toSource.js +var require_toSource = __commonJS({ + "node_modules/lodash/_toSource.js"(exports2, module2) { + var funcProto = Function.prototype; + var funcToString = funcProto.toString; + function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) { } - if (expiresOn === void 0) { - const now = /* @__PURE__ */ new Date(); - expiresOn = new Date(now.getTime() + 3600 * 1e3); + try { + return func + ""; + } catch (e) { } - const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({ - permissions, - expiresOn, - resourceTypes, - services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(), - ...options - }, this.credential).toString(); - return (0, utils_common_js_1.appendToURLQuery)(this.url, sas); } - /** - * Only available for BlobServiceClient constructed with a shared key credential. - * - * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on - * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client. - * - * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas - * - * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided. - * @param permissions - Specifies the list of permissions to be associated with the SAS. - * @param resourceTypes - Specifies the resource types associated with the shared access signature. - * @param options - Optional parameters. - * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. - */ - generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) { - if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { - throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential"); - } - if (expiresOn === void 0) { - const now = /* @__PURE__ */ new Date(); - expiresOn = new Date(now.getTime() + 3600 * 1e3); + return ""; + } + module2.exports = toSource; + } +}); + +// node_modules/lodash/_baseIsNative.js +var require_baseIsNative = __commonJS({ + "node_modules/lodash/_baseIsNative.js"(exports2, module2) { + var isFunction = require_isFunction(); + var isMasked = require_isMasked(); + var isObject2 = require_isObject(); + var toSource = require_toSource(); + var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + var reIsHostCtor = /^\[object .+?Constructor\]$/; + var funcProto = Function.prototype; + var objectProto = Object.prototype; + var funcToString = funcProto.toString; + var hasOwnProperty = objectProto.hasOwnProperty; + var reIsNative = RegExp( + "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" + ); + function baseIsNative(value) { + if (!isObject2(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); + } + module2.exports = baseIsNative; + } +}); + +// node_modules/lodash/_getValue.js +var require_getValue = __commonJS({ + "node_modules/lodash/_getValue.js"(exports2, module2) { + function getValue(object, key) { + return object == null ? void 0 : object[key]; + } + module2.exports = getValue; + } +}); + +// node_modules/lodash/_getNative.js +var require_getNative = __commonJS({ + "node_modules/lodash/_getNative.js"(exports2, module2) { + var baseIsNative = require_baseIsNative(); + var getValue = require_getValue(); + function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : void 0; + } + module2.exports = getNative; + } +}); + +// node_modules/lodash/_defineProperty.js +var require_defineProperty = __commonJS({ + "node_modules/lodash/_defineProperty.js"(exports2, module2) { + var getNative = require_getNative(); + var defineProperty = (function() { + try { + var func = getNative(Object, "defineProperty"); + func({}, "", {}); + return func; + } catch (e) { + } + })(); + module2.exports = defineProperty; + } +}); + +// node_modules/lodash/_baseSetToString.js +var require_baseSetToString = __commonJS({ + "node_modules/lodash/_baseSetToString.js"(exports2, module2) { + var constant = require_constant(); + var defineProperty = require_defineProperty(); + var identity = require_identity(); + var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, "toString", { + "configurable": true, + "enumerable": false, + "value": constant(string), + "writable": true + }); + }; + module2.exports = baseSetToString; + } +}); + +// node_modules/lodash/_shortOut.js +var require_shortOut = __commonJS({ + "node_modules/lodash/_shortOut.js"(exports2, module2) { + var HOT_COUNT = 800; + var HOT_SPAN = 16; + var nativeNow = Date.now; + function shortOut(func) { + var count = 0, lastCalled = 0; + return function() { + var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled); + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; } - return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({ - permissions, - expiresOn, - resourceTypes, - services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(), - ...options - }, this.credential).stringToSign; + return func.apply(void 0, arguments); + }; + } + module2.exports = shortOut; + } +}); + +// node_modules/lodash/_setToString.js +var require_setToString = __commonJS({ + "node_modules/lodash/_setToString.js"(exports2, module2) { + var baseSetToString = require_baseSetToString(); + var shortOut = require_shortOut(); + var setToString = shortOut(baseSetToString); + module2.exports = setToString; + } +}); + +// node_modules/lodash/_baseRest.js +var require_baseRest = __commonJS({ + "node_modules/lodash/_baseRest.js"(exports2, module2) { + var identity = require_identity(); + var overRest = require_overRest(); + var setToString = require_setToString(); + function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ""); + } + module2.exports = baseRest; + } +}); + +// node_modules/lodash/eq.js +var require_eq2 = __commonJS({ + "node_modules/lodash/eq.js"(exports2, module2) { + function eq(value, other) { + return value === other || value !== value && other !== other; + } + module2.exports = eq; + } +}); + +// node_modules/lodash/isLength.js +var require_isLength = __commonJS({ + "node_modules/lodash/isLength.js"(exports2, module2) { + var MAX_SAFE_INTEGER = 9007199254740991; + function isLength(value) { + return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + module2.exports = isLength; + } +}); + +// node_modules/lodash/isArrayLike.js +var require_isArrayLike = __commonJS({ + "node_modules/lodash/isArrayLike.js"(exports2, module2) { + var isFunction = require_isFunction(); + var isLength = require_isLength(); + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + module2.exports = isArrayLike; + } +}); + +// node_modules/lodash/_isIndex.js +var require_isIndex = __commonJS({ + "node_modules/lodash/_isIndex.js"(exports2, module2) { + var MAX_SAFE_INTEGER = 9007199254740991; + var reIsUint = /^(?:0|[1-9]\d*)$/; + function isIndex(value, length) { + var type2 = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); + } + module2.exports = isIndex; + } +}); + +// node_modules/lodash/_isIterateeCall.js +var require_isIterateeCall = __commonJS({ + "node_modules/lodash/_isIterateeCall.js"(exports2, module2) { + var eq = require_eq2(); + var isArrayLike = require_isArrayLike(); + var isIndex = require_isIndex(); + var isObject2 = require_isObject(); + function isIterateeCall(value, index, object) { + if (!isObject2(object)) { + return false; + } + var type2 = typeof index; + if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) { + return eq(object[index], value); + } + return false; + } + module2.exports = isIterateeCall; + } +}); + +// node_modules/lodash/_baseTimes.js +var require_baseTimes = __commonJS({ + "node_modules/lodash/_baseTimes.js"(exports2, module2) { + function baseTimes(n, iteratee) { + var index = -1, result = Array(n); + while (++index < n) { + result[index] = iteratee(index); } + return result; + } + module2.exports = baseTimes; + } +}); + +// node_modules/lodash/isObjectLike.js +var require_isObjectLike = __commonJS({ + "node_modules/lodash/isObjectLike.js"(exports2, module2) { + function isObjectLike(value) { + return value != null && typeof value == "object"; + } + module2.exports = isObjectLike; + } +}); + +// node_modules/lodash/_baseIsArguments.js +var require_baseIsArguments = __commonJS({ + "node_modules/lodash/_baseIsArguments.js"(exports2, module2) { + var baseGetTag = require_baseGetTag(); + var isObjectLike = require_isObjectLike(); + var argsTag = "[object Arguments]"; + function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; + } + module2.exports = baseIsArguments; + } +}); + +// node_modules/lodash/isArguments.js +var require_isArguments = __commonJS({ + "node_modules/lodash/isArguments.js"(exports2, module2) { + var baseIsArguments = require_baseIsArguments(); + var isObjectLike = require_isObjectLike(); + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + var propertyIsEnumerable = objectProto.propertyIsEnumerable; + var isArguments = baseIsArguments(/* @__PURE__ */ (function() { + return arguments; + })()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee"); }; - exports2.BlobServiceClient = BlobServiceClient; + module2.exports = isArguments; } }); -// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js -var require_BatchResponse = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); +// node_modules/lodash/isArray.js +var require_isArray = __commonJS({ + "node_modules/lodash/isArray.js"(exports2, module2) { + var isArray = Array.isArray; + module2.exports = isArray; } }); -// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js -var require_generatedModels = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.KnownEncryptionAlgorithmType = void 0; - var KnownEncryptionAlgorithmType; - (function(KnownEncryptionAlgorithmType2) { - KnownEncryptionAlgorithmType2["AES256"] = "AES256"; - })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {})); +// node_modules/lodash/stubFalse.js +var require_stubFalse = __commonJS({ + "node_modules/lodash/stubFalse.js"(exports2, module2) { + function stubFalse() { + return false; + } + module2.exports = stubFalse; } }); -// node_modules/@azure/storage-blob/dist/commonjs/index.js -var require_commonjs15 = __commonJS({ - "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var core_rest_pipeline_1 = require_commonjs6(); - Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() { - return core_rest_pipeline_1.RestError; - } }); - tslib_1.__exportStar(require_BlobServiceClient(), exports2); - tslib_1.__exportStar(require_Clients(), exports2); - tslib_1.__exportStar(require_ContainerClient(), exports2); - tslib_1.__exportStar(require_BlobLeaseClient(), exports2); - tslib_1.__exportStar(require_AccountSASPermissions(), exports2); - tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2); - tslib_1.__exportStar(require_AccountSASServices(), exports2); - var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues(); - Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() { - return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters; - } }); - tslib_1.__exportStar(require_BlobBatch(), exports2); - tslib_1.__exportStar(require_BlobBatchClient(), exports2); - tslib_1.__exportStar(require_BatchResponse(), exports2); - tslib_1.__exportStar(require_BlobSASPermissions(), exports2); - var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues(); - Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() { - return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters; - } }); - tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2); - tslib_1.__exportStar(require_ContainerSASPermissions(), exports2); - tslib_1.__exportStar(require_AnonymousCredential(), exports2); - tslib_1.__exportStar(require_Credential(), exports2); - tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2); - var models_js_1 = require_models2(); - Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() { - return models_js_1.BlockBlobTier; - } }); - Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() { - return models_js_1.PremiumPageBlobTier; - } }); - Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() { - return models_js_1.StorageBlobAudience; - } }); - Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() { - return models_js_1.getBlobServiceAccountAudience; - } }); - var Pipeline_js_1 = require_Pipeline(); - Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() { - return Pipeline_js_1.Pipeline; - } }); - Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() { - return Pipeline_js_1.isPipelineLike; - } }); - Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() { - return Pipeline_js_1.newPipeline; - } }); - Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() { - return Pipeline_js_1.StorageOAuthScopes; - } }); - tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2); - var RequestPolicy_js_1 = require_RequestPolicy(); - Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() { - return RequestPolicy_js_1.BaseRequestPolicy; - } }); - tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2); - tslib_1.__exportStar(require_CredentialPolicy(), exports2); - tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2); - tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2); - tslib_1.__exportStar(require_SASQueryParameters(), exports2); - tslib_1.__exportStar(require_generatedModels(), exports2); - var log_js_1 = require_log5(); - Object.defineProperty(exports2, "logger", { enumerable: true, get: function() { - return log_js_1.logger; - } }); +// node_modules/lodash/isBuffer.js +var require_isBuffer = __commonJS({ + "node_modules/lodash/isBuffer.js"(exports2, module2) { + var root = require_root(); + var stubFalse = require_stubFalse(); + var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2; + var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2; + var moduleExports = freeModule && freeModule.exports === freeExports; + var Buffer2 = moduleExports ? root.Buffer : void 0; + var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0; + var isBuffer = nativeIsBuffer || stubFalse; + module2.exports = isBuffer; } }); -// node_modules/@actions/cache/lib/internal/shared/errors.js -var require_errors3 = __commonJS({ - "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.RateLimitError = exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.CacheNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0; - var FilesNotFoundError = class extends Error { - constructor(files = []) { - let message = "No files were found to upload"; - if (files.length > 0) { - message += `: ${files.join(", ")}`; +// node_modules/lodash/_baseIsTypedArray.js +var require_baseIsTypedArray = __commonJS({ + "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) { + var baseGetTag = require_baseGetTag(); + var isLength = require_isLength(); + var isObjectLike = require_isObjectLike(); + var argsTag = "[object Arguments]"; + var arrayTag = "[object Array]"; + var boolTag = "[object Boolean]"; + var dateTag = "[object Date]"; + var errorTag = "[object Error]"; + var funcTag = "[object Function]"; + var mapTag = "[object Map]"; + var numberTag = "[object Number]"; + var objectTag = "[object Object]"; + var regexpTag = "[object RegExp]"; + var setTag = "[object Set]"; + var stringTag = "[object String]"; + var weakMapTag = "[object WeakMap]"; + var arrayBufferTag = "[object ArrayBuffer]"; + var dataViewTag = "[object DataView]"; + var float32Tag = "[object Float32Array]"; + var float64Tag = "[object Float64Array]"; + var int8Tag = "[object Int8Array]"; + var int16Tag = "[object Int16Array]"; + var int32Tag = "[object Int32Array]"; + var uint8Tag = "[object Uint8Array]"; + var uint8ClampedTag = "[object Uint8ClampedArray]"; + var uint16Tag = "[object Uint16Array]"; + var uint32Tag = "[object Uint32Array]"; + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; + function baseIsTypedArray(value) { + return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; + } + module2.exports = baseIsTypedArray; + } +}); + +// node_modules/lodash/_baseUnary.js +var require_baseUnary = __commonJS({ + "node_modules/lodash/_baseUnary.js"(exports2, module2) { + function baseUnary(func) { + return function(value) { + return func(value); + }; + } + module2.exports = baseUnary; + } +}); + +// node_modules/lodash/_nodeUtil.js +var require_nodeUtil = __commonJS({ + "node_modules/lodash/_nodeUtil.js"(exports2, module2) { + var freeGlobal = require_freeGlobal(); + var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2; + var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2; + var moduleExports = freeModule && freeModule.exports === freeExports; + var freeProcess = moduleExports && freeGlobal.process; + var nodeUtil = (function() { + try { + var types = freeModule && freeModule.require && freeModule.require("util").types; + if (types) { + return types; } - super(message); - this.files = files; - this.name = "FilesNotFoundError"; + return freeProcess && freeProcess.binding && freeProcess.binding("util"); + } catch (e) { } - }; - exports2.FilesNotFoundError = FilesNotFoundError; - var InvalidResponseError = class extends Error { - constructor(message) { - super(message); - this.name = "InvalidResponseError"; + })(); + module2.exports = nodeUtil; + } +}); + +// node_modules/lodash/isTypedArray.js +var require_isTypedArray = __commonJS({ + "node_modules/lodash/isTypedArray.js"(exports2, module2) { + var baseIsTypedArray = require_baseIsTypedArray(); + var baseUnary = require_baseUnary(); + var nodeUtil = require_nodeUtil(); + var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + module2.exports = isTypedArray; + } +}); + +// node_modules/lodash/_arrayLikeKeys.js +var require_arrayLikeKeys = __commonJS({ + "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) { + var baseTimes = require_baseTimes(); + var isArguments = require_isArguments(); + var isArray = require_isArray(); + var isBuffer = require_isBuffer(); + var isIndex = require_isIndex(); + var isTypedArray = require_isTypedArray(); + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length; + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode. + (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. + isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. + isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties. + isIndex(key, length)))) { + result.push(key); + } } - }; - exports2.InvalidResponseError = InvalidResponseError; - var CacheNotFoundError = class extends Error { - constructor(message = "Cache not found") { - super(message); - this.name = "CacheNotFoundError"; + return result; + } + module2.exports = arrayLikeKeys; + } +}); + +// node_modules/lodash/_isPrototype.js +var require_isPrototype = __commonJS({ + "node_modules/lodash/_isPrototype.js"(exports2, module2) { + var objectProto = Object.prototype; + function isPrototype(value) { + var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto; + return value === proto; + } + module2.exports = isPrototype; + } +}); + +// node_modules/lodash/_nativeKeysIn.js +var require_nativeKeysIn = __commonJS({ + "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) { + function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } } - }; - exports2.CacheNotFoundError = CacheNotFoundError; - var GHESNotSupportedError = class extends Error { - constructor(message = "@actions/cache v4.1.4+, actions/cache/save@v4+ and actions/cache/restore@v4+ are not currently supported on GHES.") { - super(message); - this.name = "GHESNotSupportedError"; + return result; + } + module2.exports = nativeKeysIn; + } +}); + +// node_modules/lodash/_baseKeysIn.js +var require_baseKeysIn = __commonJS({ + "node_modules/lodash/_baseKeysIn.js"(exports2, module2) { + var isObject2 = require_isObject(); + var isPrototype = require_isPrototype(); + var nativeKeysIn = require_nativeKeysIn(); + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + function baseKeysIn(object) { + if (!isObject2(object)) { + return nativeKeysIn(object); } - }; - exports2.GHESNotSupportedError = GHESNotSupportedError; - var NetworkError = class extends Error { - constructor(code) { - const message = `Unable to make request: ${code} -If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`; - super(message); - this.code = code; - this.name = "NetworkError"; + var isProto = isPrototype(object), result = []; + for (var key in object) { + if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } } - }; - exports2.NetworkError = NetworkError; - NetworkError.isNetworkErrorCode = (code) => { - if (!code) - return false; - return [ - "ECONNRESET", - "ENOTFOUND", - "ETIMEDOUT", - "ECONNREFUSED", - "EHOSTUNREACH" - ].includes(code); - }; - var UsageError = class extends Error { - constructor() { - const message = `Cache storage quota has been hit. Unable to upload any new cache entries. Usage is recalculated every 6-12 hours. -More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`; - super(message); - this.name = "UsageError"; + return result; + } + module2.exports = baseKeysIn; + } +}); + +// node_modules/lodash/keysIn.js +var require_keysIn = __commonJS({ + "node_modules/lodash/keysIn.js"(exports2, module2) { + var arrayLikeKeys = require_arrayLikeKeys(); + var baseKeysIn = require_baseKeysIn(); + var isArrayLike = require_isArrayLike(); + function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); + } + module2.exports = keysIn; + } +}); + +// node_modules/lodash/defaults.js +var require_defaults = __commonJS({ + "node_modules/lodash/defaults.js"(exports2, module2) { + var baseRest = require_baseRest(); + var eq = require_eq2(); + var isIterateeCall = require_isIterateeCall(); + var keysIn = require_keysIn(); + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + var defaults = baseRest(function(object, sources) { + object = Object(object); + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : void 0; + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; } - }; - exports2.UsageError = UsageError; - UsageError.isUsageErrorMessage = (msg) => { - if (!msg) - return false; - return msg.includes("insufficient usage"); - }; - var RateLimitError = class extends Error { - constructor(message) { - super(message); - this.name = "RateLimitError"; + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) { + object[key] = source[key]; + } + } } + return object; + }); + module2.exports = defaults; + } +}); + +// node_modules/readable-stream/lib/ours/primordials.js +var require_primordials = __commonJS({ + "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) { + "use strict"; + module2.exports = { + ArrayIsArray(self2) { + return Array.isArray(self2); + }, + ArrayPrototypeIncludes(self2, el) { + return self2.includes(el); + }, + ArrayPrototypeIndexOf(self2, el) { + return self2.indexOf(el); + }, + ArrayPrototypeJoin(self2, sep3) { + return self2.join(sep3); + }, + ArrayPrototypeMap(self2, fn) { + return self2.map(fn); + }, + ArrayPrototypePop(self2, el) { + return self2.pop(el); + }, + ArrayPrototypePush(self2, el) { + return self2.push(el); + }, + ArrayPrototypeSlice(self2, start, end) { + return self2.slice(start, end); + }, + Error, + FunctionPrototypeCall(fn, thisArgs, ...args) { + return fn.call(thisArgs, ...args); + }, + FunctionPrototypeSymbolHasInstance(self2, instance) { + return Function.prototype[Symbol.hasInstance].call(self2, instance); + }, + MathFloor: Math.floor, + Number, + NumberIsInteger: Number.isInteger, + NumberIsNaN: Number.isNaN, + NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER, + NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER, + NumberParseInt: Number.parseInt, + ObjectDefineProperties(self2, props) { + return Object.defineProperties(self2, props); + }, + ObjectDefineProperty(self2, name, prop) { + return Object.defineProperty(self2, name, prop); + }, + ObjectGetOwnPropertyDescriptor(self2, name) { + return Object.getOwnPropertyDescriptor(self2, name); + }, + ObjectKeys(obj) { + return Object.keys(obj); + }, + ObjectSetPrototypeOf(target, proto) { + return Object.setPrototypeOf(target, proto); + }, + Promise, + PromisePrototypeCatch(self2, fn) { + return self2.catch(fn); + }, + PromisePrototypeThen(self2, thenFn, catchFn) { + return self2.then(thenFn, catchFn); + }, + PromiseReject(err) { + return Promise.reject(err); + }, + PromiseResolve(val) { + return Promise.resolve(val); + }, + ReflectApply: Reflect.apply, + RegExpPrototypeTest(self2, value) { + return self2.test(value); + }, + SafeSet: Set, + String, + StringPrototypeSlice(self2, start, end) { + return self2.slice(start, end); + }, + StringPrototypeToLowerCase(self2) { + return self2.toLowerCase(); + }, + StringPrototypeToUpperCase(self2) { + return self2.toUpperCase(); + }, + StringPrototypeTrim(self2) { + return self2.trim(); + }, + Symbol, + SymbolFor: Symbol.for, + SymbolAsyncIterator: Symbol.asyncIterator, + SymbolHasInstance: Symbol.hasInstance, + SymbolIterator: Symbol.iterator, + SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"), + SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"), + TypedArrayPrototypeSet(self2, buf, len) { + return self2.set(buf, len); + }, + Boolean, + Uint8Array }; - exports2.RateLimitError = RateLimitError; } }); -// node_modules/@actions/cache/lib/internal/uploadUtils.js -var require_uploadUtils = __commonJS({ - "node_modules/@actions/cache/lib/internal/uploadUtils.js"(exports2) { +// node_modules/event-target-shim/dist/event-target-shim.js +var require_event_target_shim = __commonJS({ + "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = Object.getOwnPropertyNames || function(o2) { - var ar = []; - for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + Object.defineProperty(exports2, "__esModule", { value: true }); + var privateData = /* @__PURE__ */ new WeakMap(); + var wrappers = /* @__PURE__ */ new WeakMap(); + function pd(event) { + const retv = privateData.get(event); + console.assert( + retv != null, + "'this' is expected an Event object, but got", + event + ); + return retv; + } + function setCancelFlag(data) { + if (data.passiveListener != null) { + if (typeof console !== "undefined" && typeof console.error === "function") { + console.error( + "Unable to preventDefault inside passive event listener invocation.", + data.passiveListener + ); } - __setModuleDefault2(result, mod); - return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + return; } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); + if (!data.event.cancelable) { + return; + } + data.canceled = true; + if (typeof data.event.preventDefault === "function") { + data.event.preventDefault(); + } + } + function Event2(eventTarget, event) { + privateData.set(this, { + eventTarget, + event, + eventPhase: 2, + currentTarget: eventTarget, + canceled: false, + stopped: false, + immediateStopped: false, + passiveListener: null, + timeStamp: event.timeStamp || Date.now() }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.UploadProgress = void 0; - exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK; - var core14 = __importStar2(require_core()); - var storage_blob_1 = require_commonjs15(); - var errors_1 = require_errors3(); - var UploadProgress = class { - constructor(contentLength) { - this.contentLength = contentLength; - this.sentBytes = 0; - this.displayedComplete = false; - this.startTime = Date.now(); + Object.defineProperty(this, "isTrusted", { value: false, enumerable: true }); + const keys = Object.keys(event); + for (let i = 0; i < keys.length; ++i) { + const key = keys[i]; + if (!(key in this)) { + Object.defineProperty(this, key, defineRedirectDescriptor(key)); + } } + } + Event2.prototype = { /** - * Sets the number of bytes sent - * - * @param sentBytes the number of bytes sent + * The type of this event. + * @type {string} */ - setSentBytes(sentBytes) { - this.sentBytes = sentBytes; - } + get type() { + return pd(this).event.type; + }, /** - * Returns the total number of bytes transferred. + * The target of this event. + * @type {EventTarget} */ - getTransferredBytes() { - return this.sentBytes; - } + get target() { + return pd(this).eventTarget; + }, /** - * Returns true if the upload is complete. + * The target of this event. + * @type {EventTarget} */ - isDone() { - return this.getTransferredBytes() === this.contentLength; - } + get currentTarget() { + return pd(this).currentTarget; + }, /** - * Prints the current upload stats. Once the upload completes, this will print one - * last line and then stop. + * @returns {EventTarget[]} The composed path of this event. */ - display() { - if (this.displayedComplete) { - return; + composedPath() { + const currentTarget = pd(this).currentTarget; + if (currentTarget == null) { + return []; } - const transferredBytes = this.sentBytes; - const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1); - const elapsedTime = Date.now() - this.startTime; - const uploadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1); - core14.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`); - if (this.isDone()) { - this.displayedComplete = true; + return [currentTarget]; + }, + /** + * Constant of NONE. + * @type {number} + */ + get NONE() { + return 0; + }, + /** + * Constant of CAPTURING_PHASE. + * @type {number} + */ + get CAPTURING_PHASE() { + return 1; + }, + /** + * Constant of AT_TARGET. + * @type {number} + */ + get AT_TARGET() { + return 2; + }, + /** + * Constant of BUBBLING_PHASE. + * @type {number} + */ + get BUBBLING_PHASE() { + return 3; + }, + /** + * The target of this event. + * @type {number} + */ + get eventPhase() { + return pd(this).eventPhase; + }, + /** + * Stop event bubbling. + * @returns {void} + */ + stopPropagation() { + const data = pd(this); + data.stopped = true; + if (typeof data.event.stopPropagation === "function") { + data.event.stopPropagation(); } - } + }, /** - * Returns a function used to handle TransferProgressEvents. + * Stop event bubbling. + * @returns {void} */ - onProgress() { - return (progress) => { - this.setSentBytes(progress.loadedBytes); - }; - } + stopImmediatePropagation() { + const data = pd(this); + data.stopped = true; + data.immediateStopped = true; + if (typeof data.event.stopImmediatePropagation === "function") { + data.event.stopImmediatePropagation(); + } + }, /** - * Starts the timer that displays the stats. - * - * @param delayInMs the delay between each write + * The flag to be bubbling. + * @type {boolean} */ - startDisplayTimer(delayInMs = 1e3) { - const displayCallback = () => { - this.display(); - if (!this.isDone()) { - this.timeoutHandle = setTimeout(displayCallback, delayInMs); - } - }; - this.timeoutHandle = setTimeout(displayCallback, delayInMs); - } + get bubbles() { + return Boolean(pd(this).event.bubbles); + }, /** - * Stops the timer that displays the stats. As this typically indicates the upload - * is complete, this will display one last line, unless the last line has already - * been written. + * The flag to be cancelable. + * @type {boolean} */ - stopDisplayTimer() { - if (this.timeoutHandle) { - clearTimeout(this.timeoutHandle); - this.timeoutHandle = void 0; + get cancelable() { + return Boolean(pd(this).event.cancelable); + }, + /** + * Cancel this event. + * @returns {void} + */ + preventDefault() { + setCancelFlag(pd(this)); + }, + /** + * The flag to indicate cancellation state. + * @type {boolean} + */ + get defaultPrevented() { + return pd(this).canceled; + }, + /** + * The flag to be composed. + * @type {boolean} + */ + get composed() { + return Boolean(pd(this).event.composed); + }, + /** + * The unix time of this event. + * @type {number} + */ + get timeStamp() { + return pd(this).timeStamp; + }, + /** + * The target of this event. + * @type {EventTarget} + * @deprecated + */ + get srcElement() { + return pd(this).eventTarget; + }, + /** + * The flag to stop event bubbling. + * @type {boolean} + * @deprecated + */ + get cancelBubble() { + return pd(this).stopped; + }, + set cancelBubble(value) { + if (!value) { + return; } - this.display(); - } - }; - exports2.UploadProgress = UploadProgress; - function uploadCacheArchiveSDK(signedUploadURL, archivePath, options) { - return __awaiter2(this, void 0, void 0, function* () { - var _a; - const blobClient = new storage_blob_1.BlobClient(signedUploadURL); - const blockBlobClient = blobClient.getBlockBlobClient(); - const uploadProgress = new UploadProgress((_a = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a !== void 0 ? _a : 0); - const uploadOptions = { - blockSize: options === null || options === void 0 ? void 0 : options.uploadChunkSize, - concurrency: options === null || options === void 0 ? void 0 : options.uploadConcurrency, - // maximum number of parallel transfer workers - maxSingleShotSize: 128 * 1024 * 1024, - // 128 MiB initial transfer size - onProgress: uploadProgress.onProgress() - }; - try { - uploadProgress.startDisplayTimer(); - core14.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`); - const response = yield blockBlobClient.uploadFile(archivePath, uploadOptions); - if (response._response.status >= 400) { - throw new errors_1.InvalidResponseError(`uploadCacheArchiveSDK: upload failed with status code ${response._response.status}`); - } - return response; - } catch (error3) { - core14.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`); - throw error3; - } finally { - uploadProgress.stopDisplayTimer(); + const data = pd(this); + data.stopped = true; + if (typeof data.event.cancelBubble === "boolean") { + data.event.cancelBubble = true; } - }); - } - } -}); - -// node_modules/@actions/cache/lib/internal/requestUtils.js -var require_requestUtils = __commonJS({ - "node_modules/@actions/cache/lib/internal/requestUtils.js"(exports2) { - "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; + }, + /** + * The flag to indicate cancellation state. + * @type {boolean} + * @deprecated + */ + get returnValue() { + return !pd(this).canceled; + }, + set returnValue(value) { + if (!value) { + setCancelFlag(pd(this)); + } + }, + /** + * Initialize this event object. But do nothing under event dispatching. + * @param {string} type The event type. + * @param {boolean} [bubbles=false] The flag to be possible to bubble up. + * @param {boolean} [cancelable=false] The flag to be possible to cancel. + * @deprecated + */ + initEvent() { } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; + }; + Object.defineProperty(Event2.prototype, "constructor", { + value: Event2, + configurable: true, + writable: true }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = Object.getOwnPropertyNames || function(o2) { - var ar = []; - for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys2(o); + if (typeof window !== "undefined" && typeof window.Event !== "undefined") { + Object.setPrototypeOf(Event2.prototype, window.Event.prototype); + wrappers.set(window.Event.prototype, Event2); + } + function defineRedirectDescriptor(key) { + return { + get() { + return pd(this).event[key]; + }, + set(value) { + pd(this).event[key] = value; + }, + configurable: true, + enumerable: true }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); - return result; + } + function defineCallDescriptor(key) { + return { + value() { + const event = pd(this).event; + return event[key].apply(event, arguments); + }, + configurable: true, + enumerable: true }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + } + function defineWrapper(BaseEvent, proto) { + const keys = Object.keys(proto); + if (keys.length === 0) { + return BaseEvent; } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); + function CustomEvent(eventTarget, event) { + BaseEvent.call(this, eventTarget, event); + } + CustomEvent.prototype = Object.create(BaseEvent.prototype, { + constructor: { value: CustomEvent, configurable: true, writable: true } }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isSuccessStatusCode = isSuccessStatusCode; - exports2.isServerErrorStatusCode = isServerErrorStatusCode; - exports2.isRetryableStatusCode = isRetryableStatusCode; - exports2.retry = retry2; - exports2.retryTypedResponse = retryTypedResponse; - exports2.retryHttpClientResponse = retryHttpClientResponse; - var core14 = __importStar2(require_core()); - var http_client_1 = require_lib(); - var constants_1 = require_constants12(); - function isSuccessStatusCode(statusCode) { - if (!statusCode) { - return false; + for (let i = 0; i < keys.length; ++i) { + const key = keys[i]; + if (!(key in BaseEvent.prototype)) { + const descriptor = Object.getOwnPropertyDescriptor(proto, key); + const isFunc = typeof descriptor.value === "function"; + Object.defineProperty( + CustomEvent.prototype, + key, + isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key) + ); + } } - return statusCode >= 200 && statusCode < 300; + return CustomEvent; } - function isServerErrorStatusCode(statusCode) { - if (!statusCode) { - return true; + function getWrapper(proto) { + if (proto == null || proto === Object.prototype) { + return Event2; } - return statusCode >= 500; - } - function isRetryableStatusCode(statusCode) { - if (!statusCode) { - return false; + let wrapper = wrappers.get(proto); + if (wrapper == null) { + wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto); + wrappers.set(proto, wrapper); } - const retryableStatusCodes = [ - http_client_1.HttpCodes.BadGateway, - http_client_1.HttpCodes.ServiceUnavailable, - http_client_1.HttpCodes.GatewayTimeout - ]; - return retryableStatusCodes.includes(statusCode); + return wrapper; } - function sleep(milliseconds) { - return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve5) => setTimeout(resolve5, milliseconds)); - }); + function wrapEvent(eventTarget, event) { + const Wrapper = getWrapper(Object.getPrototypeOf(event)); + return new Wrapper(eventTarget, event); } - function retry2(name_1, method_1, getStatusCode_1) { - return __awaiter2(this, arguments, void 0, function* (name, method, getStatusCode, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay, onError = void 0) { - let errorMessage = ""; - let attempt = 1; - while (attempt <= maxAttempts) { - let response = void 0; - let statusCode = void 0; - let isRetryable = false; - try { - response = yield method(); - } catch (error3) { - if (onError) { - response = onError(error3); + function isStopped(event) { + return pd(event).immediateStopped; + } + function setEventPhase(event, eventPhase) { + pd(event).eventPhase = eventPhase; + } + function setCurrentTarget(event, currentTarget) { + pd(event).currentTarget = currentTarget; + } + function setPassiveListener(event, passiveListener) { + pd(event).passiveListener = passiveListener; + } + var listenersMap = /* @__PURE__ */ new WeakMap(); + var CAPTURE = 1; + var BUBBLE = 2; + var ATTRIBUTE = 3; + function isObject2(x) { + return x !== null && typeof x === "object"; + } + function getListeners(eventTarget) { + const listeners = listenersMap.get(eventTarget); + if (listeners == null) { + throw new TypeError( + "'this' is expected an EventTarget object, but got another value." + ); + } + return listeners; + } + function defineEventAttributeDescriptor(eventName) { + return { + get() { + const listeners = getListeners(this); + let node = listeners.get(eventName); + while (node != null) { + if (node.listenerType === ATTRIBUTE) { + return node.listener; } - isRetryable = true; - errorMessage = error3.message; + node = node.next; } - if (response) { - statusCode = getStatusCode(response); - if (!isServerErrorStatusCode(statusCode)) { - return response; - } + return null; + }, + set(listener) { + if (typeof listener !== "function" && !isObject2(listener)) { + listener = null; } - if (statusCode) { - isRetryable = isRetryableStatusCode(statusCode); - errorMessage = `Cache service responded with ${statusCode}`; + const listeners = getListeners(this); + let prev = null; + let node = listeners.get(eventName); + while (node != null) { + if (node.listenerType === ATTRIBUTE) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + } else { + prev = node; + } + node = node.next; } - core14.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`); - if (!isRetryable) { - core14.debug(`${name} - Error is not retryable`); - break; + if (listener !== null) { + const newNode = { + listener, + listenerType: ATTRIBUTE, + passive: false, + once: false, + next: null + }; + if (prev === null) { + listeners.set(eventName, newNode); + } else { + prev.next = newNode; + } } - yield sleep(delay); - attempt++; + }, + configurable: true, + enumerable: true + }; + } + function defineEventAttribute(eventTargetPrototype, eventName) { + Object.defineProperty( + eventTargetPrototype, + `on${eventName}`, + defineEventAttributeDescriptor(eventName) + ); + } + function defineCustomEventTarget(eventNames) { + function CustomEventTarget() { + EventTarget2.call(this); + } + CustomEventTarget.prototype = Object.create(EventTarget2.prototype, { + constructor: { + value: CustomEventTarget, + configurable: true, + writable: true } - throw Error(`${name} failed: ${errorMessage}`); }); + for (let i = 0; i < eventNames.length; ++i) { + defineEventAttribute(CustomEventTarget.prototype, eventNames[i]); + } + return CustomEventTarget; } - function retryTypedResponse(name_1, method_1) { - return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) { - return yield retry2( - name, - method, - (response) => response.statusCode, - maxAttempts, - delay, - // If the error object contains the statusCode property, extract it and return - // an TypedResponse so it can be processed by the retry logic. - (error3) => { - if (error3 instanceof http_client_1.HttpClientError) { - return { - statusCode: error3.statusCode, - result: null, - headers: {}, - error: error3 - }; + function EventTarget2() { + if (this instanceof EventTarget2) { + listenersMap.set(this, /* @__PURE__ */ new Map()); + return; + } + if (arguments.length === 1 && Array.isArray(arguments[0])) { + return defineCustomEventTarget(arguments[0]); + } + if (arguments.length > 0) { + const types = new Array(arguments.length); + for (let i = 0; i < arguments.length; ++i) { + types[i] = arguments[i]; + } + return defineCustomEventTarget(types); + } + throw new TypeError("Cannot call a class as a function"); + } + EventTarget2.prototype = { + /** + * Add a given listener to this event target. + * @param {string} eventName The event name to add. + * @param {Function} listener The listener to add. + * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener. + * @returns {void} + */ + addEventListener(eventName, listener, options) { + if (listener == null) { + return; + } + if (typeof listener !== "function" && !isObject2(listener)) { + throw new TypeError("'listener' should be a function or an object."); + } + const listeners = getListeners(this); + const optionsIsObj = isObject2(options); + const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options); + const listenerType = capture ? CAPTURE : BUBBLE; + const newNode = { + listener, + listenerType, + passive: optionsIsObj && Boolean(options.passive), + once: optionsIsObj && Boolean(options.once), + next: null + }; + let node = listeners.get(eventName); + if (node === void 0) { + listeners.set(eventName, newNode); + return; + } + let prev = null; + while (node != null) { + if (node.listener === listener && node.listenerType === listenerType) { + return; + } + prev = node; + node = node.next; + } + prev.next = newNode; + }, + /** + * Remove a given listener from this event target. + * @param {string} eventName The event name to remove. + * @param {Function} listener The listener to remove. + * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener. + * @returns {void} + */ + removeEventListener(eventName, listener, options) { + if (listener == null) { + return; + } + const listeners = getListeners(this); + const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options); + const listenerType = capture ? CAPTURE : BUBBLE; + let prev = null; + let node = listeners.get(eventName); + while (node != null) { + if (node.listener === listener && node.listenerType === listenerType) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); } else { - return void 0; + listeners.delete(eventName); } + return; } - ); - }); - } - function retryHttpClientResponse(name_1, method_1) { - return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) { - return yield retry2(name, method, (response) => response.message.statusCode, maxAttempts, delay); - }); + prev = node; + node = node.next; + } + }, + /** + * Dispatch a given event. + * @param {Event|{type:string}} event The event to dispatch. + * @returns {boolean} `false` if canceled. + */ + dispatchEvent(event) { + if (event == null || typeof event.type !== "string") { + throw new TypeError('"event.type" should be a string.'); + } + const listeners = getListeners(this); + const eventName = event.type; + let node = listeners.get(eventName); + if (node == null) { + return true; + } + const wrappedEvent = wrapEvent(this, event); + let prev = null; + while (node != null) { + if (node.once) { + if (prev !== null) { + prev.next = node.next; + } else if (node.next !== null) { + listeners.set(eventName, node.next); + } else { + listeners.delete(eventName); + } + } else { + prev = node; + } + setPassiveListener( + wrappedEvent, + node.passive ? node.listener : null + ); + if (typeof node.listener === "function") { + try { + node.listener.call(this, wrappedEvent); + } catch (err) { + if (typeof console !== "undefined" && typeof console.error === "function") { + console.error(err); + } + } + } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") { + node.listener.handleEvent(wrappedEvent); + } + if (isStopped(wrappedEvent)) { + break; + } + node = node.next; + } + setPassiveListener(wrappedEvent, null); + setEventPhase(wrappedEvent, 0); + setCurrentTarget(wrappedEvent, null); + return !wrappedEvent.defaultPrevented; + } + }; + Object.defineProperty(EventTarget2.prototype, "constructor", { + value: EventTarget2, + configurable: true, + writable: true + }); + if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") { + Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype); } + exports2.defineEventAttribute = defineEventAttribute; + exports2.EventTarget = EventTarget2; + exports2.default = EventTarget2; + module2.exports = EventTarget2; + module2.exports.EventTarget = module2.exports["default"] = EventTarget2; + module2.exports.defineEventAttribute = defineEventAttribute; } }); -// node_modules/@azure/abort-controller/dist/index.js -var require_dist4 = __commonJS({ - "node_modules/@azure/abort-controller/dist/index.js"(exports2) { +// node_modules/abort-controller/dist/abort-controller.js +var require_abort_controller = __commonJS({ + "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); - var listenersMap = /* @__PURE__ */ new WeakMap(); - var abortedMap = /* @__PURE__ */ new WeakMap(); - var AbortSignal2 = class _AbortSignal { + var eventTargetShim = require_event_target_shim(); + var AbortSignal2 = class extends eventTargetShim.EventTarget { + /** + * AbortSignal cannot be constructed directly. + */ constructor() { - this.onabort = null; - listenersMap.set(this, []); - abortedMap.set(this, false); + super(); + throw new TypeError("AbortSignal cannot be constructed directly"); } /** - * Status of whether aborted or not. - * - * @readonly + * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise. */ get aborted() { - if (!abortedMap.has(this)) { - throw new TypeError("Expected `this` to be an instance of AbortSignal."); + const aborted = abortedFlags.get(this); + if (typeof aborted !== "boolean") { + throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`); } - return abortedMap.get(this); + return aborted; + } + }; + eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort"); + function createAbortSignal() { + const signal = Object.create(AbortSignal2.prototype); + eventTargetShim.EventTarget.call(signal); + abortedFlags.set(signal, false); + return signal; + } + function abortSignal(signal) { + if (abortedFlags.get(signal) !== false) { + return; } + abortedFlags.set(signal, true); + signal.dispatchEvent({ type: "abort" }); + } + var abortedFlags = /* @__PURE__ */ new WeakMap(); + Object.defineProperties(AbortSignal2.prototype, { + aborted: { enumerable: true } + }); + if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, { + configurable: true, + value: "AbortSignal" + }); + } + var AbortController2 = class { /** - * Creates a new AbortSignal instance that will never be aborted. - * - * @readonly + * Initialize this controller. */ - static get none() { - return new _AbortSignal(); + constructor() { + signals.set(this, createAbortSignal()); } /** - * Added new "abort" event listener, only support "abort" event. - * - * @param _type - Only support "abort" event - * @param listener - The listener to be added + * Returns the `AbortSignal` object associated with this object. */ - addEventListener(_type, listener) { - if (!listenersMap.has(this)) { - throw new TypeError("Expected `this` to be an instance of AbortSignal."); - } - const listeners = listenersMap.get(this); - listeners.push(listener); + get signal() { + return getSignal(this); } /** - * Remove "abort" event listener, only support "abort" event. - * - * @param _type - Only support "abort" event - * @param listener - The listener to be removed + * Abort and signal to any observers that the associated activity is to be aborted. */ - removeEventListener(_type, listener) { - if (!listenersMap.has(this)) { - throw new TypeError("Expected `this` to be an instance of AbortSignal."); + abort() { + abortSignal(getSignal(this)); + } + }; + var signals = /* @__PURE__ */ new WeakMap(); + function getSignal(controller) { + const signal = signals.get(controller); + if (signal == null) { + throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`); + } + return signal; + } + Object.defineProperties(AbortController2.prototype, { + signal: { enumerable: true }, + abort: { enumerable: true } + }); + if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { + Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, { + configurable: true, + value: "AbortController" + }); + } + exports2.AbortController = AbortController2; + exports2.AbortSignal = AbortSignal2; + exports2.default = AbortController2; + module2.exports = AbortController2; + module2.exports.AbortController = module2.exports["default"] = AbortController2; + module2.exports.AbortSignal = AbortSignal2; + } +}); + +// node_modules/readable-stream/lib/ours/util.js +var require_util21 = __commonJS({ + "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) { + "use strict"; + var bufferModule = require("buffer"); + var { kResistStopPropagation, SymbolDispose } = require_primordials(); + var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal; + var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController; + var AsyncFunction = Object.getPrototypeOf(async function() { + }).constructor; + var Blob2 = globalThis.Blob || bufferModule.Blob; + var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) { + return b instanceof Blob2; + } : function isBlob2(b) { + return false; + }; + var validateAbortSignal = (signal, name) => { + if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) { + throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal); + } + }; + var validateFunction = (value, name) => { + if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value); + }; + var AggregateError = class extends Error { + constructor(errors) { + if (!Array.isArray(errors)) { + throw new TypeError(`Expected input to be an Array, got ${typeof errors}`); + } + let message = ""; + for (let i = 0; i < errors.length; i++) { + message += ` ${errors[i].stack} +`; + } + super(message); + this.name = "AggregateError"; + this.errors = errors; + } + }; + module2.exports = { + AggregateError, + kEmptyObject: Object.freeze({}), + once(callback) { + let called = false; + return function(...args) { + if (called) { + return; + } + called = true; + callback.apply(this, args); + }; + }, + createDeferredPromise: function() { + let resolve5; + let reject; + const promise = new Promise((res, rej) => { + resolve5 = res; + reject = rej; + }); + return { + promise, + resolve: resolve5, + reject + }; + }, + promisify(fn) { + return new Promise((resolve5, reject) => { + fn((err, ...args) => { + if (err) { + return reject(err); + } + return resolve5(...args); + }); + }); + }, + debuglog() { + return function() { + }; + }, + format(format, ...args) { + return format.replace(/%([sdifj])/g, function(...[_unused, type2]) { + const replacement = args.shift(); + if (type2 === "f") { + return replacement.toFixed(6); + } else if (type2 === "j") { + return JSON.stringify(replacement); + } else if (type2 === "s" && typeof replacement === "object") { + const ctor = replacement.constructor !== Object ? replacement.constructor.name : ""; + return `${ctor} {}`.trim(); + } else { + return replacement.toString(); + } + }); + }, + inspect(value) { + switch (typeof value) { + case "string": + if (value.includes("'")) { + if (!value.includes('"')) { + return `"${value}"`; + } else if (!value.includes("`") && !value.includes("${")) { + return `\`${value}\``; + } + } + return `'${value}'`; + case "number": + if (isNaN(value)) { + return "NaN"; + } else if (Object.is(value, -0)) { + return String(value); + } + return value; + case "bigint": + return `${String(value)}n`; + case "boolean": + case "undefined": + return String(value); + case "object": + return "{}"; } - const listeners = listenersMap.get(this); - const index = listeners.indexOf(listener); - if (index > -1) { - listeners.splice(index, 1); + }, + types: { + isAsyncFunction(fn) { + return fn instanceof AsyncFunction; + }, + isArrayBufferView(arr) { + return ArrayBuffer.isView(arr); } - } - /** - * Dispatches a synthetic event to the AbortSignal. - */ - dispatchEvent(_event) { - throw new Error("This is a stub dispatchEvent implementation that should not be used. It only exists for type-checking purposes."); - } - }; - function abortSignal(signal) { - if (signal.aborted) { - return; - } - if (signal.onabort) { - signal.onabort.call(signal); - } - const listeners = listenersMap.get(signal); - if (listeners) { - listeners.slice().forEach((listener) => { - listener.call(signal, { type: "abort" }); - }); - } - abortedMap.set(signal, true); - } - var AbortError = class extends Error { - constructor(message) { - super(message); - this.name = "AbortError"; - } - }; - var AbortController2 = class { - // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types - constructor(parentSignals) { - this._signal = new AbortSignal2(); - if (!parentSignals) { - return; + }, + isBlob, + deprecate(fn, message) { + return fn; + }, + addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) { + if (signal === void 0) { + throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal); } - if (!Array.isArray(parentSignals)) { - parentSignals = arguments; + validateAbortSignal(signal, "signal"); + validateFunction(listener, "listener"); + let removeEventListener; + if (signal.aborted) { + queueMicrotask(() => listener()); + } else { + signal.addEventListener("abort", listener, { + __proto__: null, + once: true, + [kResistStopPropagation]: true + }); + removeEventListener = () => { + signal.removeEventListener("abort", listener); + }; } - for (const parentSignal of parentSignals) { - if (parentSignal.aborted) { - this.abort(); - } else { - parentSignal.addEventListener("abort", () => { - this.abort(); - }); + return { + __proto__: null, + [SymbolDispose]() { + var _removeEventListener; + (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener(); } + }; + }, + AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) { + if (signals.length === 1) { + return signals[0]; } - } - /** - * The AbortSignal associated with this controller that will signal aborted - * when the abort method is called on this controller. - * - * @readonly - */ - get signal() { - return this._signal; - } - /** - * Signal that any operations passed this controller's associated abort signal - * to cancel any remaining work and throw an `AbortError`. - */ - abort() { - abortSignal(this._signal); - } - /** - * Creates a new AbortSignal instance that will abort after the provided ms. - * @param ms - Elapsed time in milliseconds to trigger an abort. - */ - static timeout(ms) { - const signal = new AbortSignal2(); - const timer = setTimeout(abortSignal, ms, signal); - if (typeof timer.unref === "function") { - timer.unref(); - } - return signal; + const ac = new AbortController2(); + const abort = () => ac.abort(); + signals.forEach((signal) => { + validateAbortSignal(signal, "signals"); + signal.addEventListener("abort", abort, { + once: true + }); + }); + ac.signal.addEventListener( + "abort", + () => { + signals.forEach((signal) => signal.removeEventListener("abort", abort)); + }, + { + once: true + } + ); + return ac.signal; } }; - exports2.AbortController = AbortController2; - exports2.AbortError = AbortError; - exports2.AbortSignal = AbortSignal2; + module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom"); } }); -// node_modules/@actions/cache/lib/internal/downloadUtils.js -var require_downloadUtils = __commonJS({ - "node_modules/@actions/cache/lib/internal/downloadUtils.js"(exports2) { +// node_modules/readable-stream/lib/ours/errors.js +var require_errors5 = __commonJS({ + "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = Object.getOwnPropertyNames || function(o2) { - var ar = []; - for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); - return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + var { format, inspect, AggregateError: CustomAggregateError } = require_util21(); + var AggregateError = globalThis.AggregateError || CustomAggregateError; + var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError"); + var kTypes = [ + "string", + "function", + "number", + "object", + // Accept 'Function' and 'Object' as alternative to the lower cased version. + "Function", + "Object", + "boolean", + "bigint", + "symbol" + ]; + var classRegExp = /^([A-Z][a-z0-9]*)+$/; + var nodeInternalPrefix = "__node_internal_"; + var codes = {}; + function assert(value, message) { + if (!value) { + throw new codes.ERR_INTERNAL_ASSERTION(message); } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DownloadProgress = void 0; - exports2.downloadCacheHttpClient = downloadCacheHttpClient; - exports2.downloadCacheHttpClientConcurrent = downloadCacheHttpClientConcurrent; - exports2.downloadCacheStorageSDK = downloadCacheStorageSDK; - var core14 = __importStar2(require_core()); - var http_client_1 = require_lib(); - var storage_blob_1 = require_commonjs15(); - var buffer = __importStar2(require("buffer")); - var fs8 = __importStar2(require("fs")); - var stream = __importStar2(require("stream")); - var util = __importStar2(require("util")); - var utils = __importStar2(require_cacheUtils()); - var constants_1 = require_constants12(); - var requestUtils_1 = require_requestUtils(); - var abort_controller_1 = require_dist4(); - function pipeResponseToStream(response, output) { - return __awaiter2(this, void 0, void 0, function* () { - const pipeline = util.promisify(stream.pipeline); - yield pipeline(response.message, output); - }); } - var DownloadProgress = class { - constructor(contentLength) { - this.contentLength = contentLength; - this.segmentIndex = 0; - this.segmentSize = 0; - this.segmentOffset = 0; - this.receivedBytes = 0; - this.displayedComplete = false; - this.startTime = Date.now(); - } - /** - * Progress to the next segment. Only call this method when the previous segment - * is complete. - * - * @param segmentSize the length of the next segment - */ - nextSegment(segmentSize) { - this.segmentOffset = this.segmentOffset + this.segmentSize; - this.segmentIndex = this.segmentIndex + 1; - this.segmentSize = segmentSize; - this.receivedBytes = 0; - core14.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`); + function addNumericalSeparator(val) { + let res = ""; + let i = val.length; + const start = val[0] === "-" ? 1 : 0; + for (; i >= start + 4; i -= 3) { + res = `_${val.slice(i - 3, i)}${res}`; } - /** - * Sets the number of bytes received for the current segment. - * - * @param receivedBytes the number of bytes received - */ - setReceivedBytes(receivedBytes) { - this.receivedBytes = receivedBytes; + return `${val.slice(0, i)}${res}`; + } + function getMessage(key, msg, args) { + if (typeof msg === "function") { + assert( + msg.length <= args.length, + // Default options do not count. + `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).` + ); + return msg(...args); } - /** - * Returns the total number of bytes transferred. - */ - getTransferredBytes() { - return this.segmentOffset + this.receivedBytes; + const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length; + assert( + expectedLength === args.length, + `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).` + ); + if (args.length === 0) { + return msg; } - /** - * Returns true if the download is complete. - */ - isDone() { - return this.getTransferredBytes() === this.contentLength; + return format(msg, ...args); + } + function E(code, message, Base) { + if (!Base) { + Base = Error; } - /** - * Prints the current download stats. Once the download completes, this will print one - * last line and then stop. - */ - display() { - if (this.displayedComplete) { - return; + class NodeError extends Base { + constructor(...args) { + super(getMessage(code, message, args)); } - const transferredBytes = this.segmentOffset + this.receivedBytes; - const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1); - const elapsedTime = Date.now() - this.startTime; - const downloadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1); - core14.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`); - if (this.isDone()) { - this.displayedComplete = true; + toString() { + return `${this.name} [${code}]: ${this.message}`; } } - /** - * Returns a function used to handle TransferProgressEvents. - */ - onProgress() { - return (progress) => { - this.setReceivedBytes(progress.loadedBytes); - }; - } - /** - * Starts the timer that displays the stats. - * - * @param delayInMs the delay between each write - */ - startDisplayTimer(delayInMs = 1e3) { - const displayCallback = () => { - this.display(); - if (!this.isDone()) { - this.timeoutHandle = setTimeout(displayCallback, delayInMs); - } - }; - this.timeoutHandle = setTimeout(displayCallback, delayInMs); + Object.defineProperties(NodeError.prototype, { + name: { + value: Base.name, + writable: true, + enumerable: false, + configurable: true + }, + toString: { + value() { + return `${this.name} [${code}]: ${this.message}`; + }, + writable: true, + enumerable: false, + configurable: true + } + }); + NodeError.prototype.code = code; + NodeError.prototype[kIsNodeError] = true; + codes[code] = NodeError; + } + function hideStackFrames(fn) { + const hidden = nodeInternalPrefix + fn.name; + Object.defineProperty(fn, "name", { + value: hidden + }); + return fn; + } + function aggregateTwoErrors(innerError, outerError) { + if (innerError && outerError && innerError !== outerError) { + if (Array.isArray(outerError.errors)) { + outerError.errors.push(innerError); + return outerError; + } + const err = new AggregateError([outerError, innerError], outerError.message); + err.code = outerError.code; + return err; } - /** - * Stops the timer that displays the stats. As this typically indicates the download - * is complete, this will display one last line, unless the last line has already - * been written. - */ - stopDisplayTimer() { - if (this.timeoutHandle) { - clearTimeout(this.timeoutHandle); - this.timeoutHandle = void 0; + return innerError || outerError; + } + var AbortError = class extends Error { + constructor(message = "The operation was aborted", options = void 0) { + if (options !== void 0 && typeof options !== "object") { + throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options); } - this.display(); + super(message, options); + this.code = "ABORT_ERR"; + this.name = "AbortError"; } }; - exports2.DownloadProgress = DownloadProgress; - function downloadCacheHttpClient(archiveLocation, archivePath) { - return __awaiter2(this, void 0, void 0, function* () { - const writeStream = fs8.createWriteStream(archivePath); - const httpClient = new http_client_1.HttpClient("actions/cache"); - const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCache", () => __awaiter2(this, void 0, void 0, function* () { - return httpClient.get(archiveLocation); - })); - downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => { - downloadResponse.message.destroy(); - core14.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`); - }); - yield pipeResponseToStream(downloadResponse, writeStream); - const contentLengthHeader = downloadResponse.message.headers["content-length"]; - if (contentLengthHeader) { - const expectedLength = parseInt(contentLengthHeader); - const actualLength = utils.getArchiveFileSizeInBytes(archivePath); - if (actualLength !== expectedLength) { - throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`); - } + E("ERR_ASSERTION", "%s", Error); + E( + "ERR_INVALID_ARG_TYPE", + (name, expected, actual) => { + assert(typeof name === "string", "'name' must be a string"); + if (!Array.isArray(expected)) { + expected = [expected]; + } + let msg = "The "; + if (name.endsWith(" argument")) { + msg += `${name} `; } else { - core14.debug("Unable to validate download, no Content-Length header"); + msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `; } - }); - } - function downloadCacheHttpClientConcurrent(archiveLocation, archivePath, options) { - return __awaiter2(this, void 0, void 0, function* () { - var _a; - const archiveDescriptor = yield fs8.promises.open(archivePath, "w"); - const httpClient = new http_client_1.HttpClient("actions/cache", void 0, { - socketTimeout: options.timeoutInMs, - keepAlive: true - }); - try { - const res = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCacheMetadata", () => __awaiter2(this, void 0, void 0, function* () { - return yield httpClient.request("HEAD", archiveLocation, null, {}); - })); - const lengthHeader = res.message.headers["content-length"]; - if (lengthHeader === void 0 || lengthHeader === null) { - throw new Error("Content-Length not found on blob response"); - } - const length = parseInt(lengthHeader); - if (Number.isNaN(length)) { - throw new Error(`Could not interpret Content-Length: ${length}`); + msg += "must be "; + const types = []; + const instances = []; + const other = []; + for (const value of expected) { + assert(typeof value === "string", "All expected entries have to be of type string"); + if (kTypes.includes(value)) { + types.push(value.toLowerCase()); + } else if (classRegExp.test(value)) { + instances.push(value); + } else { + assert(value !== "object", 'The value "object" should be written as "Object"'); + other.push(value); } - const downloads = []; - const blockSize = 4 * 1024 * 1024; - for (let offset = 0; offset < length; offset += blockSize) { - const count = Math.min(blockSize, length - offset); - downloads.push({ - offset, - promiseGetter: () => __awaiter2(this, void 0, void 0, function* () { - return yield downloadSegmentRetry(httpClient, archiveLocation, offset, count); - }) - }); + } + if (instances.length > 0) { + const pos = types.indexOf("object"); + if (pos !== -1) { + types.splice(types, pos, 1); + instances.push("Object"); } - downloads.reverse(); - let actives = 0; - let bytesDownloaded = 0; - const progress = new DownloadProgress(length); - progress.startDisplayTimer(); - const progressFn = progress.onProgress(); - const activeDownloads = []; - let nextDownload; - const waitAndWrite = () => __awaiter2(this, void 0, void 0, function* () { - const segment = yield Promise.race(Object.values(activeDownloads)); - yield archiveDescriptor.write(segment.buffer, 0, segment.count, segment.offset); - actives--; - delete activeDownloads[segment.offset]; - bytesDownloaded += segment.count; - progressFn({ loadedBytes: bytesDownloaded }); - }); - while (nextDownload = downloads.pop()) { - activeDownloads[nextDownload.offset] = nextDownload.promiseGetter(); - actives++; - if (actives >= ((_a = options.downloadConcurrency) !== null && _a !== void 0 ? _a : 10)) { - yield waitAndWrite(); + } + if (types.length > 0) { + switch (types.length) { + case 1: + msg += `of type ${types[0]}`; + break; + case 2: + msg += `one of type ${types[0]} or ${types[1]}`; + break; + default: { + const last = types.pop(); + msg += `one of type ${types.join(", ")}, or ${last}`; } } - while (actives > 0) { - yield waitAndWrite(); + if (instances.length > 0 || other.length > 0) { + msg += " or "; } - } finally { - httpClient.dispose(); - yield archiveDescriptor.close(); } - }); - } - function downloadSegmentRetry(httpClient, archiveLocation, offset, count) { - return __awaiter2(this, void 0, void 0, function* () { - const retries = 5; - let failures = 0; - while (true) { - try { - const timeout = 3e4; - const result = yield promiseWithTimeout(timeout, downloadSegment(httpClient, archiveLocation, offset, count)); - if (typeof result === "string") { - throw new Error("downloadSegmentRetry failed due to timeout"); - } - return result; - } catch (err) { - if (failures >= retries) { - throw err; + if (instances.length > 0) { + switch (instances.length) { + case 1: + msg += `an instance of ${instances[0]}`; + break; + case 2: + msg += `an instance of ${instances[0]} or ${instances[1]}`; + break; + default: { + const last = instances.pop(); + msg += `an instance of ${instances.join(", ")}, or ${last}`; } - failures++; + } + if (other.length > 0) { + msg += " or "; } } - }); - } - function downloadSegment(httpClient, archiveLocation, offset, count) { - return __awaiter2(this, void 0, void 0, function* () { - const partRes = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCachePart", () => __awaiter2(this, void 0, void 0, function* () { - return yield httpClient.get(archiveLocation, { - Range: `bytes=${offset}-${offset + count - 1}` - }); - })); - if (!partRes.readBodyBuffer) { - throw new Error("Expected HttpClientResponse to implement readBodyBuffer"); + switch (other.length) { + case 0: + break; + case 1: + if (other[0].toLowerCase() !== other[0]) { + msg += "an "; + } + msg += `${other[0]}`; + break; + case 2: + msg += `one of ${other[0]} or ${other[1]}`; + break; + default: { + const last = other.pop(); + msg += `one of ${other.join(", ")}, or ${last}`; + } } - return { - offset, - count, - buffer: yield partRes.readBodyBuffer() - }; - }); - } - function downloadCacheStorageSDK(archiveLocation, archivePath, options) { - return __awaiter2(this, void 0, void 0, function* () { - var _a; - const client = new storage_blob_1.BlockBlobClient(archiveLocation, void 0, { - retryOptions: { - // Override the timeout used when downloading each 4 MB chunk - // The default is 2 min / MB, which is way too slow - tryTimeoutInMs: options.timeoutInMs + if (actual == null) { + msg += `. Received ${actual}`; + } else if (typeof actual === "function" && actual.name) { + msg += `. Received function ${actual.name}`; + } else if (typeof actual === "object") { + var _actual$constructor; + if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) { + msg += `. Received an instance of ${actual.constructor.name}`; + } else { + const inspected = inspect(actual, { + depth: -1 + }); + msg += `. Received ${inspected}`; } - }); - const properties = yield client.getProperties(); - const contentLength = (_a = properties.contentLength) !== null && _a !== void 0 ? _a : -1; - if (contentLength < 0) { - core14.debug("Unable to determine content length, downloading file with http-client..."); - yield downloadCacheHttpClient(archiveLocation, archivePath); } else { - const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH); - const downloadProgress = new DownloadProgress(contentLength); - const fd = fs8.openSync(archivePath, "w"); - try { - downloadProgress.startDisplayTimer(); - const controller = new abort_controller_1.AbortController(); - const abortSignal = controller.signal; - while (!downloadProgress.isDone()) { - const segmentStart = downloadProgress.segmentOffset + downloadProgress.segmentSize; - const segmentSize = Math.min(maxSegmentSize, contentLength - segmentStart); - downloadProgress.nextSegment(segmentSize); - const result = yield promiseWithTimeout(options.segmentTimeoutInMs || 36e5, client.downloadToBuffer(segmentStart, segmentSize, { - abortSignal, - concurrency: options.downloadConcurrency, - onProgress: downloadProgress.onProgress() - })); - if (result === "timeout") { - controller.abort(); - throw new Error("Aborting cache download as the download time exceeded the timeout."); - } else if (Buffer.isBuffer(result)) { - fs8.writeFileSync(fd, result); - } + let inspected = inspect(actual, { + colors: false + }); + if (inspected.length > 25) { + inspected = `${inspected.slice(0, 25)}...`; + } + msg += `. Received type ${typeof actual} (${inspected})`; + } + return msg; + }, + TypeError + ); + E( + "ERR_INVALID_ARG_VALUE", + (name, value, reason = "is invalid") => { + let inspected = inspect(value); + if (inspected.length > 128) { + inspected = inspected.slice(0, 128) + "..."; + } + const type2 = name.includes(".") ? "property" : "argument"; + return `The ${type2} '${name}' ${reason}. Received ${inspected}`; + }, + TypeError + ); + E( + "ERR_INVALID_RETURN_VALUE", + (input, name, value) => { + var _value$constructor; + const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`; + return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`; + }, + TypeError + ); + E( + "ERR_MISSING_ARGS", + (...args) => { + assert(args.length > 0, "At least one arg needs to be specified"); + let msg; + const len = args.length; + args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or "); + switch (len) { + case 1: + msg += `The ${args[0]} argument`; + break; + case 2: + msg += `The ${args[0]} and ${args[1]} arguments`; + break; + default: + { + const last = args.pop(); + msg += `The ${args.join(", ")}, and ${last} arguments`; } - } finally { - downloadProgress.stopDisplayTimer(); - fs8.closeSync(fd); + break; + } + return `${msg} must be specified`; + }, + TypeError + ); + E( + "ERR_OUT_OF_RANGE", + (str2, range, input) => { + assert(range, 'Missing "range" argument'); + let received; + if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) { + received = addNumericalSeparator(String(input)); + } else if (typeof input === "bigint") { + received = String(input); + if (input > 2n ** 32n || input < -(2n ** 32n)) { + received = addNumericalSeparator(received); } + received += "n"; + } else { + received = inspect(input); } - }); - } - var promiseWithTimeout = (timeoutMs, promise) => __awaiter2(void 0, void 0, void 0, function* () { - let timeoutHandle; - const timeoutPromise = new Promise((resolve5) => { - timeoutHandle = setTimeout(() => resolve5("timeout"), timeoutMs); - }); - return Promise.race([promise, timeoutPromise]).then((result) => { - clearTimeout(timeoutHandle); - return result; - }); - }); + return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`; + }, + RangeError + ); + E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error); + E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error); + E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error); + E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error); + E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error); + E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError); + E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error); + E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error); + E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error); + E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error); + E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError); + module2.exports = { + AbortError, + aggregateTwoErrors: hideStackFrames(aggregateTwoErrors), + hideStackFrames, + codes + }; } }); -// node_modules/@actions/cache/lib/options.js -var require_options = __commonJS({ - "node_modules/@actions/cache/lib/options.js"(exports2) { +// node_modules/readable-stream/lib/internal/validators.js +var require_validators = __commonJS({ + "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; + var { + ArrayIsArray, + ArrayPrototypeIncludes, + ArrayPrototypeJoin, + ArrayPrototypeMap, + NumberIsInteger, + NumberIsNaN, + NumberMAX_SAFE_INTEGER, + NumberMIN_SAFE_INTEGER, + NumberParseInt, + ObjectPrototypeHasOwnProperty, + RegExpPrototypeExec, + String: String2, + StringPrototypeToUpperCase, + StringPrototypeTrim + } = require_primordials(); + var { + hideStackFrames, + codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL } + } = require_errors5(); + var { normalizeEncoding } = require_util21(); + var { isAsyncFunction, isArrayBufferView } = require_util21().types; + var signals = {}; + function isInt32(value) { + return value === (value | 0); + } + function isUint32(value) { + return value === value >>> 0; + } + var octalReg = /^[0-7]+$/; + var modeDesc = "must be a 32-bit unsigned integer or an octal string"; + function parseFileMode(value, name, def) { + if (typeof value === "undefined") { + value = def; } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = Object.getOwnPropertyNames || function(o2) { - var ar = []; - for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); - return result; - }; - })(); - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getUploadOptions = getUploadOptions; - exports2.getDownloadOptions = getDownloadOptions; - var core14 = __importStar2(require_core()); - function getUploadOptions(copy) { - const result = { - useAzureSdk: false, - uploadConcurrency: 4, - uploadChunkSize: 32 * 1024 * 1024 - }; - if (copy) { - if (typeof copy.useAzureSdk === "boolean") { - result.useAzureSdk = copy.useAzureSdk; - } - if (typeof copy.uploadConcurrency === "number") { - result.uploadConcurrency = copy.uploadConcurrency; - } - if (typeof copy.uploadChunkSize === "number") { - result.uploadChunkSize = copy.uploadChunkSize; + if (typeof value === "string") { + if (RegExpPrototypeExec(octalReg, value) === null) { + throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc); } + value = NumberParseInt(value, 8); } - result.uploadConcurrency = !isNaN(Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) ? Math.min(32, Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) : result.uploadConcurrency; - result.uploadChunkSize = !isNaN(Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"])) ? Math.min(128 * 1024 * 1024, Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) * 1024 * 1024) : result.uploadChunkSize; - core14.debug(`Use Azure SDK: ${result.useAzureSdk}`); - core14.debug(`Upload concurrency: ${result.uploadConcurrency}`); - core14.debug(`Upload chunk size: ${result.uploadChunkSize}`); - return result; + validateUint32(value, name); + return value; } - function getDownloadOptions(copy) { - const result = { - useAzureSdk: false, - concurrentBlobDownloads: true, - downloadConcurrency: 8, - timeoutInMs: 3e4, - segmentTimeoutInMs: 6e5, - lookupOnly: false - }; - if (copy) { - if (typeof copy.useAzureSdk === "boolean") { - result.useAzureSdk = copy.useAzureSdk; - } - if (typeof copy.concurrentBlobDownloads === "boolean") { - result.concurrentBlobDownloads = copy.concurrentBlobDownloads; - } - if (typeof copy.downloadConcurrency === "number") { - result.downloadConcurrency = copy.downloadConcurrency; - } - if (typeof copy.timeoutInMs === "number") { - result.timeoutInMs = copy.timeoutInMs; - } - if (typeof copy.segmentTimeoutInMs === "number") { - result.segmentTimeoutInMs = copy.segmentTimeoutInMs; + var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => { + if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value); + if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value); + if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); + }); + var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => { + if (typeof value !== "number") { + throw new ERR_INVALID_ARG_TYPE2(name, "number", value); + } + if (!NumberIsInteger(value)) { + throw new ERR_OUT_OF_RANGE(name, "an integer", value); + } + if (value < min || value > max) { + throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); + } + }); + var validateUint32 = hideStackFrames((value, name, positive = false) => { + if (typeof value !== "number") { + throw new ERR_INVALID_ARG_TYPE2(name, "number", value); + } + if (!NumberIsInteger(value)) { + throw new ERR_OUT_OF_RANGE(name, "an integer", value); + } + const min = positive ? 1 : 0; + const max = 4294967295; + if (value < min || value > max) { + throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); + } + }); + function validateString(value, name) { + if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value); + } + function validateNumber(value, name, min = void 0, max) { + if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value); + if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) { + throw new ERR_OUT_OF_RANGE( + name, + `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`, + value + ); + } + } + var validateOneOf = hideStackFrames((value, name, oneOf) => { + if (!ArrayPrototypeIncludes(oneOf, value)) { + const allowed = ArrayPrototypeJoin( + ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)), + ", " + ); + const reason = "must be one of: " + allowed; + throw new ERR_INVALID_ARG_VALUE(name, value, reason); + } + }); + function validateBoolean(value, name) { + if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value); + } + function getOwnPropertyValueOrDefault(options, key, defaultValue) { + return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key]; + } + var validateObject = hideStackFrames((value, name, options = null) => { + const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false); + const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false); + const nullable = getOwnPropertyValueOrDefault(options, "nullable", false); + if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) { + throw new ERR_INVALID_ARG_TYPE2(name, "Object", value); + } + }); + var validateDictionary = hideStackFrames((value, name) => { + if (value != null && typeof value !== "object" && typeof value !== "function") { + throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value); + } + }); + var validateArray = hideStackFrames((value, name, minLength = 0) => { + if (!ArrayIsArray(value)) { + throw new ERR_INVALID_ARG_TYPE2(name, "Array", value); + } + if (value.length < minLength) { + const reason = `must be longer than ${minLength}`; + throw new ERR_INVALID_ARG_VALUE(name, value, reason); + } + }); + function validateStringArray(value, name) { + validateArray(value, name); + for (let i = 0; i < value.length; i++) { + validateString(value[i], `${name}[${i}]`); + } + } + function validateBooleanArray(value, name) { + validateArray(value, name); + for (let i = 0; i < value.length; i++) { + validateBoolean(value[i], `${name}[${i}]`); + } + } + function validateAbortSignalArray(value, name) { + validateArray(value, name); + for (let i = 0; i < value.length; i++) { + const signal = value[i]; + const indexedName = `${name}[${i}]`; + if (signal == null) { + throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal); } - if (typeof copy.lookupOnly === "boolean") { - result.lookupOnly = copy.lookupOnly; + validateAbortSignal(signal, indexedName); + } + } + function validateSignalName(signal, name = "signal") { + validateString(signal, name); + if (signals[signal] === void 0) { + if (signals[StringPrototypeToUpperCase(signal)] !== void 0) { + throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)"); } + throw new ERR_UNKNOWN_SIGNAL(signal); } - const segmentDownloadTimeoutMins = process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]; - if (segmentDownloadTimeoutMins && !isNaN(Number(segmentDownloadTimeoutMins)) && isFinite(Number(segmentDownloadTimeoutMins))) { - result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1e3; + } + var validateBuffer = hideStackFrames((buffer, name = "buffer") => { + if (!isArrayBufferView(buffer)) { + throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer); + } + }); + function validateEncoding(data, encoding) { + const normalizedEncoding = normalizeEncoding(encoding); + const length = data.length; + if (normalizedEncoding === "hex" && length % 2 !== 0) { + throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`); + } + } + function validatePort(port, name = "Port", allowZero = true) { + if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) { + throw new ERR_SOCKET_BAD_PORT(name, port, allowZero); + } + return port | 0; + } + var validateAbortSignal = hideStackFrames((signal, name) => { + if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) { + throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal); + } + }); + var validateFunction = hideStackFrames((value, name) => { + if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value); + }); + var validatePlainFunction = hideStackFrames((value, name) => { + if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value); + }); + var validateUndefined = hideStackFrames((value, name) => { + if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value); + }); + function validateUnion(value, name, union) { + if (!ArrayPrototypeIncludes(union, value)) { + throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value); } - core14.debug(`Use Azure SDK: ${result.useAzureSdk}`); - core14.debug(`Download concurrency: ${result.downloadConcurrency}`); - core14.debug(`Request timeout (ms): ${result.timeoutInMs}`); - core14.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`); - core14.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`); - core14.debug(`Lookup only: ${result.lookupOnly}`); - return result; - } - } -}); - -// node_modules/@actions/cache/lib/internal/config.js -var require_config = __commonJS({ - "node_modules/@actions/cache/lib/internal/config.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isGhes = isGhes; - exports2.getCacheServiceVersion = getCacheServiceVersion; - exports2.getCacheServiceURL = getCacheServiceURL; - function isGhes() { - const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com"); - const hostname = ghUrl.hostname.trimEnd().toUpperCase(); - const isGitHubHost = hostname === "GITHUB.COM"; - const isGheHost = hostname.endsWith(".GHE.COM"); - const isLocalHost = hostname.endsWith(".LOCALHOST"); - return !isGitHubHost && !isGheHost && !isLocalHost; } - function getCacheServiceVersion() { - if (isGhes()) - return "v1"; - return process.env["ACTIONS_CACHE_SERVICE_V2"] ? "v2" : "v1"; + var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/; + function validateLinkHeaderFormat(value, name) { + if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) { + throw new ERR_INVALID_ARG_VALUE( + name, + value, + 'must be an array or string of format "; rel=preload; as=style"' + ); + } } - function getCacheServiceURL() { - const version = getCacheServiceVersion(); - switch (version) { - case "v1": - return process.env["ACTIONS_CACHE_URL"] || process.env["ACTIONS_RESULTS_URL"] || ""; - case "v2": - return process.env["ACTIONS_RESULTS_URL"] || ""; - default: - throw new Error(`Unsupported cache service version: ${version}`); + function validateLinkHeaderValue(hints) { + if (typeof hints === "string") { + validateLinkHeaderFormat(hints, "hints"); + return hints; + } else if (ArrayIsArray(hints)) { + const hintsLength = hints.length; + let result = ""; + if (hintsLength === 0) { + return result; + } + for (let i = 0; i < hintsLength; i++) { + const link = hints[i]; + validateLinkHeaderFormat(link, "hints"); + result += link; + if (i !== hintsLength - 1) { + result += ", "; + } + } + return result; } + throw new ERR_INVALID_ARG_VALUE( + "hints", + hints, + 'must be an array or string of format "; rel=preload; as=style"' + ); } - } -}); - -// node_modules/@actions/cache/package.json -var require_package2 = __commonJS({ - "node_modules/@actions/cache/package.json"(exports2, module2) { module2.exports = { - name: "@actions/cache", - version: "5.0.5", - preview: true, - description: "Actions cache lib", - keywords: [ - "github", - "actions", - "cache" - ], - homepage: "https://github.com/actions/toolkit/tree/main/packages/cache", - license: "MIT", - main: "lib/cache.js", - types: "lib/cache.d.ts", - directories: { - lib: "lib", - test: "__tests__" - }, - files: [ - "lib", - "!.DS_Store" - ], - publishConfig: { - access: "public" - }, - repository: { - type: "git", - url: "git+https://github.com/actions/toolkit.git", - directory: "packages/cache" - }, - scripts: { - "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", - test: 'echo "Error: run tests from root" && exit 1', - tsc: "tsc" - }, - bugs: { - url: "https://github.com/actions/toolkit/issues" - }, - dependencies: { - "@actions/core": "^2.0.0", - "@actions/exec": "^2.0.0", - "@actions/glob": "^0.5.1", - "@protobuf-ts/runtime-rpc": "^2.11.1", - "@actions/http-client": "^3.0.2", - "@actions/io": "^2.0.0", - "@azure/abort-controller": "^1.1.0", - "@azure/core-rest-pipeline": "^1.22.0", - "@azure/storage-blob": "^12.29.1", - semver: "^6.3.1" - }, - devDependencies: { - "@types/node": "^24.1.0", - "@types/semver": "^6.0.0", - "@protobuf-ts/plugin": "^2.9.4", - typescript: "^5.2.2" - }, - overrides: { - "uri-js": "npm:uri-js-replace@^1.0.1", - "node-fetch": "^3.3.2" - } + isInt32, + isUint32, + parseFileMode, + validateArray, + validateStringArray, + validateBooleanArray, + validateAbortSignalArray, + validateBoolean, + validateBuffer, + validateDictionary, + validateEncoding, + validateFunction, + validateInt32, + validateInteger, + validateNumber, + validateObject, + validateOneOf, + validatePlainFunction, + validatePort, + validateSignalName, + validateString, + validateUint32, + validateUndefined, + validateUnion, + validateAbortSignal, + validateLinkHeaderValue }; } }); -// node_modules/@actions/cache/lib/internal/shared/user-agent.js -var require_user_agent = __commonJS({ - "node_modules/@actions/cache/lib/internal/shared/user-agent.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getUserAgentString = getUserAgentString; - var packageJson = require_package2(); - function getUserAgentString() { - return `@actions/cache-${packageJson.version}`; - } +// node_modules/process/index.js +var require_process = __commonJS({ + "node_modules/process/index.js"(exports2, module2) { + module2.exports = global.process; } }); -// node_modules/@actions/cache/lib/internal/cacheHttpClient.js -var require_cacheHttpClient = __commonJS({ - "node_modules/@actions/cache/lib/internal/cacheHttpClient.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/utils.js +var require_utils8 = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = Object.getOwnPropertyNames || function(o2) { - var ar = []; - for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); - return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); - } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getCacheEntry = getCacheEntry; - exports2.downloadCache = downloadCache; - exports2.reserveCache = reserveCache; - exports2.saveCache = saveCache4; - var core14 = __importStar2(require_core()); - var http_client_1 = require_lib(); - var auth_1 = require_auth(); - var fs8 = __importStar2(require("fs")); - var url_1 = require("url"); - var utils = __importStar2(require_cacheUtils()); - var uploadUtils_1 = require_uploadUtils(); - var downloadUtils_1 = require_downloadUtils(); - var options_1 = require_options(); - var requestUtils_1 = require_requestUtils(); - var config_1 = require_config(); - var user_agent_1 = require_user_agent(); - function getCacheApiUrl(resource) { - const baseUrl = (0, config_1.getCacheServiceURL)(); - if (!baseUrl) { - throw new Error("Cache Service Url not found, unable to restore cache."); - } - const url = `${baseUrl}_apis/artifactcache/${resource}`; - core14.debug(`Resource Url: ${url}`); - return url; + var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials(); + var kIsDestroyed = SymbolFor("nodejs.stream.destroyed"); + var kIsErrored = SymbolFor("nodejs.stream.errored"); + var kIsReadable = SymbolFor("nodejs.stream.readable"); + var kIsWritable = SymbolFor("nodejs.stream.writable"); + var kIsDisturbed = SymbolFor("nodejs.stream.disturbed"); + var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise"); + var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction"); + function isReadableNodeStream(obj, strict = false) { + var _obj$_readableState; + return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex + (!obj._writableState || obj._readableState)); } - function createAcceptHeader(type2, apiVersion) { - return `${type2};api-version=${apiVersion}`; + function isWritableNodeStream(obj) { + var _obj$_writableState; + return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false)); } - function getRequestOptions() { - const requestOptions = { - headers: { - Accept: createAcceptHeader("application/json", "6.0-preview.1") - } - }; - return requestOptions; + function isDuplexNodeStream(obj) { + return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function"); } - function createHttpClient() { - const token = process.env["ACTIONS_RUNTIME_TOKEN"] || ""; - const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token); - return new http_client_1.HttpClient((0, user_agent_1.getUserAgentString)(), [bearerCredentialHandler], getRequestOptions()); + function isNodeStream(obj) { + return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function"); } - function getCacheEntry(keys, paths, options) { - return __awaiter2(this, void 0, void 0, function* () { - const httpClient = createHttpClient(); - const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive); - const resource = `cache?keys=${encodeURIComponent(keys.join(","))}&version=${version}`; - const response = yield (0, requestUtils_1.retryTypedResponse)("getCacheEntry", () => __awaiter2(this, void 0, void 0, function* () { - return httpClient.getJson(getCacheApiUrl(resource)); - })); - if (response.statusCode === 204) { - if (core14.isDebug()) { - yield printCachesListForDiagnostics(keys[0], httpClient, version); - } - return null; - } - if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) { - throw new Error(`Cache service responded with ${response.statusCode}`); - } - const cacheResult = response.result; - const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation; - if (!cacheDownloadUrl) { - throw new Error("Cache not found."); - } - core14.setSecret(cacheDownloadUrl); - core14.debug(`Cache Result:`); - core14.debug(JSON.stringify(cacheResult)); - return cacheResult; - }); + function isReadableStream(obj) { + return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function"); } - function printCachesListForDiagnostics(key, httpClient, version) { - return __awaiter2(this, void 0, void 0, function* () { - const resource = `caches?key=${encodeURIComponent(key)}`; - const response = yield (0, requestUtils_1.retryTypedResponse)("listCache", () => __awaiter2(this, void 0, void 0, function* () { - return httpClient.getJson(getCacheApiUrl(resource)); - })); - if (response.statusCode === 200) { - const cacheListResult = response.result; - const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount; - if (totalCount && totalCount > 0) { - core14.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key -Other caches with similar key:`); - for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) { - core14.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`); - } - } - } - }); + function isWritableStream(obj) { + return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function"); } - function downloadCache(archiveLocation, archivePath, options) { - return __awaiter2(this, void 0, void 0, function* () { - const archiveUrl = new url_1.URL(archiveLocation); - const downloadOptions = (0, options_1.getDownloadOptions)(options); - if (archiveUrl.hostname.endsWith(".blob.core.windows.net")) { - if (downloadOptions.useAzureSdk) { - yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions); - } else if (downloadOptions.concurrentBlobDownloads) { - yield (0, downloadUtils_1.downloadCacheHttpClientConcurrent)(archiveLocation, archivePath, downloadOptions); - } else { - yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath); - } - } else { - yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath); - } - }); + function isTransformStream(obj) { + return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object"); } - function reserveCache(key, paths, options) { - return __awaiter2(this, void 0, void 0, function* () { - const httpClient = createHttpClient(); - const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive); - const reserveCacheRequest = { - key, - version, - cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize - }; - const response = yield (0, requestUtils_1.retryTypedResponse)("reserveCache", () => __awaiter2(this, void 0, void 0, function* () { - return httpClient.postJson(getCacheApiUrl("caches"), reserveCacheRequest); - })); - return response; - }); + function isWebStream(obj) { + return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj); } - function getContentRange(start, end) { - return `bytes ${start}-${end}/*`; + function isIterable(obj, isAsync) { + if (obj == null) return false; + if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function"; + if (isAsync === false) return typeof obj[SymbolIterator] === "function"; + return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function"; } - function uploadChunk(httpClient, resourceUrl, openStream, start, end) { - return __awaiter2(this, void 0, void 0, function* () { - core14.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`); - const additionalHeaders = { - "Content-Type": "application/octet-stream", - "Content-Range": getContentRange(start, end) - }; - const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter2(this, void 0, void 0, function* () { - return httpClient.sendStream("PATCH", resourceUrl, openStream(), additionalHeaders); - })); - if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) { - throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`); - } - }); + function isDestroyed(stream) { + if (!isNodeStream(stream)) return null; + const wState = stream._writableState; + const rState = stream._readableState; + const state = wState || rState; + return !!(stream.destroyed || stream[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed); } - function uploadFile(httpClient, cacheId, archivePath, options) { - return __awaiter2(this, void 0, void 0, function* () { - const fileSize = utils.getArchiveFileSizeInBytes(archivePath); - const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`); - const fd = fs8.openSync(archivePath, "r"); - const uploadOptions = (0, options_1.getUploadOptions)(options); - const concurrency = utils.assertDefined("uploadConcurrency", uploadOptions.uploadConcurrency); - const maxChunkSize = utils.assertDefined("uploadChunkSize", uploadOptions.uploadChunkSize); - const parallelUploads = [...new Array(concurrency).keys()]; - core14.debug("Awaiting all uploads"); - let offset = 0; - try { - yield Promise.all(parallelUploads.map(() => __awaiter2(this, void 0, void 0, function* () { - while (offset < fileSize) { - const chunkSize = Math.min(fileSize - offset, maxChunkSize); - const start = offset; - const end = offset + chunkSize - 1; - offset += maxChunkSize; - yield uploadChunk(httpClient, resourceUrl, () => fs8.createReadStream(archivePath, { - fd, - start, - end, - autoClose: false - }).on("error", (error3) => { - throw new Error(`Cache upload failed because file read failed with ${error3.message}`); - }), start, end); - } - }))); - } finally { - fs8.closeSync(fd); - } - return; - }); + function isWritableEnded(stream) { + if (!isWritableNodeStream(stream)) return null; + if (stream.writableEnded === true) return true; + const wState = stream._writableState; + if (wState !== null && wState !== void 0 && wState.errored) return false; + if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null; + return wState.ended; } - function commitCache(httpClient, cacheId, filesize) { - return __awaiter2(this, void 0, void 0, function* () { - const commitCacheRequest = { size: filesize }; - return yield (0, requestUtils_1.retryTypedResponse)("commitCache", () => __awaiter2(this, void 0, void 0, function* () { - return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest); - })); - }); + function isWritableFinished(stream, strict) { + if (!isWritableNodeStream(stream)) return null; + if (stream.writableFinished === true) return true; + const wState = stream._writableState; + if (wState !== null && wState !== void 0 && wState.errored) return false; + if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null; + return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0); } - function saveCache4(cacheId, archivePath, signedUploadURL, options) { - return __awaiter2(this, void 0, void 0, function* () { - const uploadOptions = (0, options_1.getUploadOptions)(options); - if (uploadOptions.useAzureSdk) { - if (!signedUploadURL) { - throw new Error("Azure Storage SDK can only be used when a signed URL is provided."); - } - yield (0, uploadUtils_1.uploadCacheArchiveSDK)(signedUploadURL, archivePath, options); - } else { - const httpClient = createHttpClient(); - core14.debug("Upload cache"); - yield uploadFile(httpClient, cacheId, archivePath, options); - core14.debug("Commiting cache"); - const cacheSize = utils.getArchiveFileSizeInBytes(archivePath); - core14.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`); - const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize); - if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) { - throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`); - } - core14.info("Cache saved successfully"); - } - }); + function isReadableEnded(stream) { + if (!isReadableNodeStream(stream)) return null; + if (stream.readableEnded === true) return true; + const rState = stream._readableState; + if (!rState || rState.errored) return false; + if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null; + return rState.ended; } - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js -var require_json_typings = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isJsonObject = exports2.typeofJsonValue = void 0; - function typeofJsonValue(value) { - let t = typeof value; - if (t == "object") { - if (Array.isArray(value)) - return "array"; - if (value === null) - return "null"; - } - return t; + function isReadableFinished(stream, strict) { + if (!isReadableNodeStream(stream)) return null; + const rState = stream._readableState; + if (rState !== null && rState !== void 0 && rState.errored) return false; + if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null; + return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0); } - exports2.typeofJsonValue = typeofJsonValue; - function isJsonObject(value) { - return value !== null && typeof value == "object" && !Array.isArray(value); + function isReadable(stream) { + if (stream && stream[kIsReadable] != null) return stream[kIsReadable]; + if (typeof (stream === null || stream === void 0 ? void 0 : stream.readable) !== "boolean") return null; + if (isDestroyed(stream)) return false; + return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream); } - exports2.isJsonObject = isJsonObject; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js -var require_base642 = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.base64encode = exports2.base64decode = void 0; - var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""); - var decTable = []; - for (let i = 0; i < encTable.length; i++) - decTable[encTable[i].charCodeAt(0)] = i; - decTable["-".charCodeAt(0)] = encTable.indexOf("+"); - decTable["_".charCodeAt(0)] = encTable.indexOf("/"); - function base64decode(base64Str) { - let es = base64Str.length * 3 / 4; - if (base64Str[base64Str.length - 2] == "=") - es -= 2; - else if (base64Str[base64Str.length - 1] == "=") - es -= 1; - let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0; - for (let i = 0; i < base64Str.length; i++) { - b = decTable[base64Str.charCodeAt(i)]; - if (b === void 0) { - switch (base64Str[i]) { - case "=": - groupPos = 0; - // reset state when padding found - case "\n": - case "\r": - case " ": - case " ": - continue; - // skip white-space, and padding - default: - throw Error(`invalid base64 string.`); - } - } - switch (groupPos) { - case 0: - p = b; - groupPos = 1; - break; - case 1: - bytes[bytePos++] = p << 2 | (b & 48) >> 4; - p = b; - groupPos = 2; - break; - case 2: - bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2; - p = b; - groupPos = 3; - break; - case 3: - bytes[bytePos++] = (p & 3) << 6 | b; - groupPos = 0; - break; - } + function isWritable(stream) { + if (stream && stream[kIsWritable] != null) return stream[kIsWritable]; + if (typeof (stream === null || stream === void 0 ? void 0 : stream.writable) !== "boolean") return null; + if (isDestroyed(stream)) return false; + return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream); + } + function isFinished(stream, opts) { + if (!isNodeStream(stream)) { + return null; } - if (groupPos == 1) - throw Error(`invalid base64 string.`); - return bytes.subarray(0, bytePos); + if (isDestroyed(stream)) { + return true; + } + if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream)) { + return false; + } + if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream)) { + return false; + } + return true; } - exports2.base64decode = base64decode; - function base64encode(bytes) { - let base64 = "", groupPos = 0, b, p = 0; - for (let i = 0; i < bytes.length; i++) { - b = bytes[i]; - switch (groupPos) { - case 0: - base64 += encTable[b >> 2]; - p = (b & 3) << 4; - groupPos = 1; - break; - case 1: - base64 += encTable[p | b >> 4]; - p = (b & 15) << 2; - groupPos = 2; - break; - case 2: - base64 += encTable[p | b >> 6]; - base64 += encTable[b & 63]; - groupPos = 0; - break; - } + function isWritableErrored(stream) { + var _stream$_writableStat, _stream$_writableStat2; + if (!isNodeStream(stream)) { + return null; } - if (groupPos) { - base64 += encTable[p]; - base64 += "="; - if (groupPos == 1) - base64 += "="; + if (stream.writableErrored) { + return stream.writableErrored; } - return base64; + return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null; } - exports2.base64encode = base64encode; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js -var require_protobufjs_utf8 = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.utf8read = void 0; - var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk); - function utf8read(bytes) { - if (bytes.length < 1) - return ""; - let pos = 0, parts = [], chunk = [], i = 0, t; - let len = bytes.length; - while (pos < len) { - t = bytes[pos++]; - if (t < 128) - chunk[i++] = t; - else if (t > 191 && t < 224) - chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63; - else if (t > 239 && t < 365) { - t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536; - chunk[i++] = 55296 + (t >> 10); - chunk[i++] = 56320 + (t & 1023); - } else - chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63; - if (i > 8191) { - parts.push(fromCharCodes(chunk)); - i = 0; - } + function isReadableErrored(stream) { + var _stream$_readableStat, _stream$_readableStat2; + if (!isNodeStream(stream)) { + return null; } - if (parts.length) { - if (i) - parts.push(fromCharCodes(chunk.slice(0, i))); - return parts.join(""); + if (stream.readableErrored) { + return stream.readableErrored; } - return fromCharCodes(chunk.slice(0, i)); + return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null; } - exports2.utf8read = utf8read; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js -var require_binary_format_contract = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0; - var UnknownFieldHandler; - (function(UnknownFieldHandler2) { - UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown"); - UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => { - let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = []; - container.push({ no: fieldNo, wireType, data }); - }; - UnknownFieldHandler2.onWrite = (typeName, message, writer) => { - for (let { no, wireType, data } of UnknownFieldHandler2.list(message)) - writer.tag(no, wireType).raw(data); - }; - UnknownFieldHandler2.list = (message, fieldNo) => { - if (is(message)) { - let all = message[UnknownFieldHandler2.symbol]; - return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all; - } - return []; - }; - UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0]; - const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]); - })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {})); - function mergeBinaryOptions(a, b) { - return Object.assign(Object.assign({}, a), b); + function isClosed(stream) { + if (!isNodeStream(stream)) { + return null; + } + if (typeof stream.closed === "boolean") { + return stream.closed; + } + const wState = stream._writableState; + const rState = stream._readableState; + if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") { + return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed); + } + if (typeof stream._closed === "boolean" && isOutgoingMessage(stream)) { + return stream._closed; + } + return null; } - exports2.mergeBinaryOptions = mergeBinaryOptions; - var WireType; - (function(WireType2) { - WireType2[WireType2["Varint"] = 0] = "Varint"; - WireType2[WireType2["Bit64"] = 1] = "Bit64"; - WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited"; - WireType2[WireType2["StartGroup"] = 3] = "StartGroup"; - WireType2[WireType2["EndGroup"] = 4] = "EndGroup"; - WireType2[WireType2["Bit32"] = 5] = "Bit32"; - })(WireType = exports2.WireType || (exports2.WireType = {})); + function isOutgoingMessage(stream) { + return typeof stream._closed === "boolean" && typeof stream._defaultKeepAlive === "boolean" && typeof stream._removedConnection === "boolean" && typeof stream._removedContLen === "boolean"; + } + function isServerResponse(stream) { + return typeof stream._sent100 === "boolean" && isOutgoingMessage(stream); + } + function isServerRequest(stream) { + var _stream$req; + return typeof stream._consuming === "boolean" && typeof stream._dumped === "boolean" && ((_stream$req = stream.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0; + } + function willEmitClose(stream) { + if (!isNodeStream(stream)) return null; + const wState = stream._writableState; + const rState = stream._readableState; + const state = wState || rState; + return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === false); + } + function isDisturbed(stream) { + var _stream$kIsDisturbed; + return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted)); + } + function isErrored(stream) { + var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4; + return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored)); + } + module2.exports = { + isDestroyed, + kIsDestroyed, + isDisturbed, + kIsDisturbed, + isErrored, + kIsErrored, + isReadable, + kIsReadable, + kIsClosedPromise, + kControllerErrorFunction, + kIsWritable, + isClosed, + isDuplexNodeStream, + isFinished, + isIterable, + isReadableNodeStream, + isReadableStream, + isReadableEnded, + isReadableFinished, + isReadableErrored, + isNodeStream, + isWebStream, + isWritable, + isWritableNodeStream, + isWritableStream, + isWritableEnded, + isWritableFinished, + isWritableErrored, + isServerRequest, + isServerResponse, + willEmitClose, + isTransformStream + }; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js -var require_goog_varint = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0; - function varint64read() { - let lowBits = 0; - let highBits = 0; - for (let shift = 0; shift < 28; shift += 7) { - let b = this.buf[this.pos++]; - lowBits |= (b & 127) << shift; - if ((b & 128) == 0) { - this.assertBounds(); - return [lowBits, highBits]; - } +// node_modules/readable-stream/lib/internal/streams/end-of-stream.js +var require_end_of_stream = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) { + var process2 = require_process(); + var { AbortError, codes } = require_errors5(); + var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes; + var { kEmptyObject, once } = require_util21(); + var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators(); + var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials(); + var { + isClosed, + isReadable, + isReadableNodeStream, + isReadableStream, + isReadableFinished, + isReadableErrored, + isWritable, + isWritableNodeStream, + isWritableStream, + isWritableFinished, + isWritableErrored, + isNodeStream, + willEmitClose: _willEmitClose, + kIsClosedPromise + } = require_utils8(); + var addAbortListener; + function isRequest(stream) { + return stream.setHeader && typeof stream.abort === "function"; + } + var nop = () => { + }; + function eos(stream, options, callback) { + var _options$readable, _options$writable; + if (arguments.length === 2) { + callback = options; + options = kEmptyObject; + } else if (options == null) { + options = kEmptyObject; + } else { + validateObject(options, "options"); } - let middleByte = this.buf[this.pos++]; - lowBits |= (middleByte & 15) << 28; - highBits = (middleByte & 112) >> 4; - if ((middleByte & 128) == 0) { - this.assertBounds(); - return [lowBits, highBits]; + validateFunction(callback, "callback"); + validateAbortSignal(options.signal, "options.signal"); + callback = once(callback); + if (isReadableStream(stream) || isWritableStream(stream)) { + return eosWeb(stream, options, callback); } - for (let shift = 3; shift <= 31; shift += 7) { - let b = this.buf[this.pos++]; - highBits |= (b & 127) << shift; - if ((b & 128) == 0) { - this.assertBounds(); - return [lowBits, highBits]; - } + if (!isNodeStream(stream)) { + throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream); } - throw new Error("invalid varint"); - } - exports2.varint64read = varint64read; - function varint64write(lo, hi, bytes) { - for (let i = 0; i < 28; i = i + 7) { - const shift = lo >>> i; - const hasNext = !(shift >>> 7 == 0 && hi == 0); - const byte = (hasNext ? shift | 128 : shift) & 255; - bytes.push(byte); - if (!hasNext) { + const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream); + const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream); + const wState = stream._writableState; + const rState = stream._readableState; + const onlegacyfinish = () => { + if (!stream.writable) { + onfinish(); + } + }; + let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable; + let writableFinished = isWritableFinished(stream, false); + const onfinish = () => { + writableFinished = true; + if (stream.destroyed) { + willEmitClose = false; + } + if (willEmitClose && (!stream.readable || readable)) { return; } - } - const splitBits = lo >>> 28 & 15 | (hi & 7) << 4; - const hasMoreBits = !(hi >> 3 == 0); - bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255); - if (!hasMoreBits) { - return; - } - for (let i = 3; i < 31; i = i + 7) { - const shift = hi >>> i; - const hasNext = !(shift >>> 7 == 0); - const byte = (hasNext ? shift | 128 : shift) & 255; - bytes.push(byte); - if (!hasNext) { + if (!readable || readableFinished) { + callback.call(stream); + } + }; + let readableFinished = isReadableFinished(stream, false); + const onend = () => { + readableFinished = true; + if (stream.destroyed) { + willEmitClose = false; + } + if (willEmitClose && (!stream.writable || writable)) { return; } - } - bytes.push(hi >>> 31 & 1); - } - exports2.varint64write = varint64write; - var TWO_PWR_32_DBL = (1 << 16) * (1 << 16); - function int64fromString(dec) { - let minus = dec[0] == "-"; - if (minus) - dec = dec.slice(1); - const base = 1e6; - let lowBits = 0; - let highBits = 0; - function add1e6digit(begin, end) { - const digit1e6 = Number(dec.slice(begin, end)); - highBits *= base; - lowBits = lowBits * base + digit1e6; - if (lowBits >= TWO_PWR_32_DBL) { - highBits = highBits + (lowBits / TWO_PWR_32_DBL | 0); - lowBits = lowBits % TWO_PWR_32_DBL; + if (!writable || writableFinished) { + callback.call(stream); } + }; + const onerror = (err) => { + callback.call(stream, err); + }; + let closed = isClosed(stream); + const onclose = () => { + closed = true; + const errored = isWritableErrored(stream) || isReadableErrored(stream); + if (errored && typeof errored !== "boolean") { + return callback.call(stream, errored); + } + if (readable && !readableFinished && isReadableNodeStream(stream, true)) { + if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE()); + } + if (writable && !writableFinished) { + if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE()); + } + callback.call(stream); + }; + const onclosed = () => { + closed = true; + const errored = isWritableErrored(stream) || isReadableErrored(stream); + if (errored && typeof errored !== "boolean") { + return callback.call(stream, errored); + } + callback.call(stream); + }; + const onrequest = () => { + stream.req.on("finish", onfinish); + }; + if (isRequest(stream)) { + stream.on("complete", onfinish); + if (!willEmitClose) { + stream.on("abort", onclose); + } + if (stream.req) { + onrequest(); + } else { + stream.on("request", onrequest); + } + } else if (writable && !wState) { + stream.on("end", onlegacyfinish); + stream.on("close", onlegacyfinish); } - add1e6digit(-24, -18); - add1e6digit(-18, -12); - add1e6digit(-12, -6); - add1e6digit(-6); - return [minus, lowBits, highBits]; - } - exports2.int64fromString = int64fromString; - function int64toString(bitsLow, bitsHigh) { - if (bitsHigh >>> 0 <= 2097151) { - return "" + (TWO_PWR_32_DBL * bitsHigh + (bitsLow >>> 0)); - } - let low = bitsLow & 16777215; - let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215; - let high = bitsHigh >> 16 & 65535; - let digitA = low + mid * 6777216 + high * 6710656; - let digitB = mid + high * 8147497; - let digitC = high * 2; - let base = 1e7; - if (digitA >= base) { - digitB += Math.floor(digitA / base); - digitA %= base; - } - if (digitB >= base) { - digitC += Math.floor(digitB / base); - digitB %= base; + if (!willEmitClose && typeof stream.aborted === "boolean") { + stream.on("aborted", onclose); } - function decimalFrom1e7(digit1e7, needLeadingZeros) { - let partial = digit1e7 ? String(digit1e7) : ""; - if (needLeadingZeros) { - return "0000000".slice(partial.length) + partial; - } - return partial; + stream.on("end", onend); + stream.on("finish", onfinish); + if (options.error !== false) { + stream.on("error", onerror); } - return decimalFrom1e7( - digitC, - /*needLeadingZeros=*/ - 0 - ) + decimalFrom1e7( - digitB, - /*needLeadingZeros=*/ - digitC - ) + // If the final 1e7 digit didn't need leading zeros, we would have - // returned via the trivial code path at the top. - decimalFrom1e7( - digitA, - /*needLeadingZeros=*/ - 1 - ); - } - exports2.int64toString = int64toString; - function varint32write(value, bytes) { - if (value >= 0) { - while (value > 127) { - bytes.push(value & 127 | 128); - value = value >>> 7; + stream.on("close", onclose); + if (closed) { + process2.nextTick(onclose); + } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) { + if (!willEmitClose) { + process2.nextTick(onclosed); } - bytes.push(value); - } else { - for (let i = 0; i < 9; i++) { - bytes.push(value & 127 | 128); - value = value >> 7; + } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === false)) { + process2.nextTick(onclosed); + } else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === false)) { + process2.nextTick(onclosed); + } else if (rState && stream.req && stream.aborted) { + process2.nextTick(onclosed); + } + const cleanup = () => { + callback = nop; + stream.removeListener("aborted", onclose); + stream.removeListener("complete", onfinish); + stream.removeListener("abort", onclose); + stream.removeListener("request", onrequest); + if (stream.req) stream.req.removeListener("finish", onfinish); + stream.removeListener("end", onlegacyfinish); + stream.removeListener("close", onlegacyfinish); + stream.removeListener("finish", onfinish); + stream.removeListener("end", onend); + stream.removeListener("error", onerror); + stream.removeListener("close", onclose); + }; + if (options.signal && !closed) { + const abort = () => { + const endCallback = callback; + cleanup(); + endCallback.call( + stream, + new AbortError(void 0, { + cause: options.signal.reason + }) + ); + }; + if (options.signal.aborted) { + process2.nextTick(abort); + } else { + addAbortListener = addAbortListener || require_util21().addAbortListener; + const disposable = addAbortListener(options.signal, abort); + const originalCallback = callback; + callback = once((...args) => { + disposable[SymbolDispose](); + originalCallback.apply(stream, args); + }); } - bytes.push(1); } + return cleanup; } - exports2.varint32write = varint32write; - function varint32read() { - let b = this.buf[this.pos++]; - let result = b & 127; - if ((b & 128) == 0) { - this.assertBounds(); - return result; - } - b = this.buf[this.pos++]; - result |= (b & 127) << 7; - if ((b & 128) == 0) { - this.assertBounds(); - return result; + function eosWeb(stream, options, callback) { + let isAborted = false; + let abort = nop; + if (options.signal) { + abort = () => { + isAborted = true; + callback.call( + stream, + new AbortError(void 0, { + cause: options.signal.reason + }) + ); + }; + if (options.signal.aborted) { + process2.nextTick(abort); + } else { + addAbortListener = addAbortListener || require_util21().addAbortListener; + const disposable = addAbortListener(options.signal, abort); + const originalCallback = callback; + callback = once((...args) => { + disposable[SymbolDispose](); + originalCallback.apply(stream, args); + }); + } } - b = this.buf[this.pos++]; - result |= (b & 127) << 14; - if ((b & 128) == 0) { - this.assertBounds(); - return result; + const resolverFn = (...args) => { + if (!isAborted) { + process2.nextTick(() => callback.apply(stream, args)); + } + }; + PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn); + return nop; + } + function finished(stream, opts) { + var _opts; + let autoCleanup = false; + if (opts === null) { + opts = kEmptyObject; } - b = this.buf[this.pos++]; - result |= (b & 127) << 21; - if ((b & 128) == 0) { - this.assertBounds(); - return result; + if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) { + validateBoolean(opts.cleanup, "cleanup"); + autoCleanup = opts.cleanup; } - b = this.buf[this.pos++]; - result |= (b & 15) << 28; - for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++) - b = this.buf[this.pos++]; - if ((b & 128) != 0) - throw new Error("invalid varint"); - this.assertBounds(); - return result >>> 0; + return new Promise2((resolve5, reject) => { + const cleanup = eos(stream, opts, (err) => { + if (autoCleanup) { + cleanup(); + } + if (err) { + reject(err); + } else { + resolve5(); + } + }); + }); } - exports2.varint32read = varint32read; + module2.exports = eos; + module2.exports.finished = finished; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js -var require_pb_long = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/destroy.js +var require_destroy2 = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0; - var goog_varint_1 = require_goog_varint(); - var BI; - function detectBi() { - const dv = new DataView(new ArrayBuffer(8)); - const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function"; - BI = ok ? { - MIN: BigInt("-9223372036854775808"), - MAX: BigInt("9223372036854775807"), - UMIN: BigInt("0"), - UMAX: BigInt("18446744073709551615"), - C: BigInt, - V: dv - } : void 0; - } - exports2.detectBi = detectBi; - detectBi(); - function assertBi(bi) { - if (!bi) - throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support"); - } - var RE_DECIMAL_STR = /^-?[0-9]+$/; - var TWO_PWR_32_DBL = 4294967296; - var HALF_2_PWR_32 = 2147483648; - var SharedPbLong = class { - /** - * Create a new instance with the given bits. - */ - constructor(lo, hi) { - this.lo = lo | 0; - this.hi = hi | 0; - } - /** - * Is this instance equal to 0? - */ - isZero() { - return this.lo == 0 && this.hi == 0; - } - /** - * Convert to a native number. - */ - toNumber() { - let result = this.hi * TWO_PWR_32_DBL + (this.lo >>> 0); - if (!Number.isSafeInteger(result)) - throw new Error("cannot convert to safe number"); - return result; - } - }; - var PbULong = class _PbULong extends SharedPbLong { - /** - * Create instance from a `string`, `number` or `bigint`. - */ - static from(value) { - if (BI) - switch (typeof value) { - case "string": - if (value == "0") - return this.ZERO; - if (value == "") - throw new Error("string is no integer"); - value = BI.C(value); - case "number": - if (value === 0) - return this.ZERO; - value = BI.C(value); - case "bigint": - if (!value) - return this.ZERO; - if (value < BI.UMIN) - throw new Error("signed value for ulong"); - if (value > BI.UMAX) - throw new Error("ulong too large"); - BI.V.setBigUint64(0, value, true); - return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true)); - } - else - switch (typeof value) { - case "string": - if (value == "0") - return this.ZERO; - value = value.trim(); - if (!RE_DECIMAL_STR.test(value)) - throw new Error("string is no integer"); - let [minus, lo, hi] = goog_varint_1.int64fromString(value); - if (minus) - throw new Error("signed value for ulong"); - return new _PbULong(lo, hi); - case "number": - if (value == 0) - return this.ZERO; - if (!Number.isSafeInteger(value)) - throw new Error("number is no integer"); - if (value < 0) - throw new Error("signed value for ulong"); - return new _PbULong(value, value / TWO_PWR_32_DBL); - } - throw new Error("unknown value " + typeof value); - } - /** - * Convert to decimal string. - */ - toString() { - return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi); + var process2 = require_process(); + var { + aggregateTwoErrors, + codes: { ERR_MULTIPLE_CALLBACK }, + AbortError + } = require_errors5(); + var { Symbol: Symbol2 } = require_primordials(); + var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8(); + var kDestroy = Symbol2("kDestroy"); + var kConstruct = Symbol2("kConstruct"); + function checkError(err, w, r) { + if (err) { + err.stack; + if (w && !w.errored) { + w.errored = err; + } + if (r && !r.errored) { + r.errored = err; + } } - /** - * Convert to native bigint. - */ - toBigInt() { - assertBi(BI); - BI.V.setInt32(0, this.lo, true); - BI.V.setInt32(4, this.hi, true); - return BI.V.getBigUint64(0, true); + } + function destroy(err, cb) { + const r = this._readableState; + const w = this._writableState; + const s = w || r; + if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) { + if (typeof cb === "function") { + cb(); + } + return this; } - }; - exports2.PbULong = PbULong; - PbULong.ZERO = new PbULong(0, 0); - var PbLong = class _PbLong extends SharedPbLong { - /** - * Create instance from a `string`, `number` or `bigint`. - */ - static from(value) { - if (BI) - switch (typeof value) { - case "string": - if (value == "0") - return this.ZERO; - if (value == "") - throw new Error("string is no integer"); - value = BI.C(value); - case "number": - if (value === 0) - return this.ZERO; - value = BI.C(value); - case "bigint": - if (!value) - return this.ZERO; - if (value < BI.MIN) - throw new Error("signed long too small"); - if (value > BI.MAX) - throw new Error("signed long too large"); - BI.V.setBigInt64(0, value, true); - return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true)); - } - else - switch (typeof value) { - case "string": - if (value == "0") - return this.ZERO; - value = value.trim(); - if (!RE_DECIMAL_STR.test(value)) - throw new Error("string is no integer"); - let [minus, lo, hi] = goog_varint_1.int64fromString(value); - if (minus) { - if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0) - throw new Error("signed long too small"); - } else if (hi >= HALF_2_PWR_32) - throw new Error("signed long too large"); - let pbl = new _PbLong(lo, hi); - return minus ? pbl.negate() : pbl; - case "number": - if (value == 0) - return this.ZERO; - if (!Number.isSafeInteger(value)) - throw new Error("number is no integer"); - return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL) : new _PbLong(-value, -value / TWO_PWR_32_DBL).negate(); - } - throw new Error("unknown value " + typeof value); + checkError(err, w, r); + if (w) { + w.destroyed = true; } - /** - * Do we have a minus sign? - */ - isNegative() { - return (this.hi & HALF_2_PWR_32) !== 0; + if (r) { + r.destroyed = true; } - /** - * Negate two's complement. - * Invert all the bits and add one to the result. - */ - negate() { - let hi = ~this.hi, lo = this.lo; - if (lo) - lo = ~lo + 1; - else - hi += 1; - return new _PbLong(lo, hi); + if (!s.constructed) { + this.once(kDestroy, function(er) { + _destroy(this, aggregateTwoErrors(er, err), cb); + }); + } else { + _destroy(this, err, cb); } - /** - * Convert to decimal string. - */ - toString() { - if (BI) - return this.toBigInt().toString(); - if (this.isNegative()) { - let n = this.negate(); - return "-" + goog_varint_1.int64toString(n.lo, n.hi); + return this; + } + function _destroy(self2, err, cb) { + let called = false; + function onDestroy(err2) { + if (called) { + return; + } + called = true; + const r = self2._readableState; + const w = self2._writableState; + checkError(err2, w, r); + if (w) { + w.closed = true; + } + if (r) { + r.closed = true; + } + if (typeof cb === "function") { + cb(err2); + } + if (err2) { + process2.nextTick(emitErrorCloseNT, self2, err2); + } else { + process2.nextTick(emitCloseNT, self2); } - return goog_varint_1.int64toString(this.lo, this.hi); } - /** - * Convert to native bigint. - */ - toBigInt() { - assertBi(BI); - BI.V.setInt32(0, this.lo, true); - BI.V.setInt32(4, this.hi, true); - return BI.V.getBigInt64(0, true); + try { + self2._destroy(err || null, onDestroy); + } catch (err2) { + onDestroy(err2); } - }; - exports2.PbLong = PbLong; - PbLong.ZERO = new PbLong(0, 0); - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js -var require_binary_reader = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BinaryReader = exports2.binaryReadOptions = void 0; - var binary_format_contract_1 = require_binary_format_contract(); - var pb_long_1 = require_pb_long(); - var goog_varint_1 = require_goog_varint(); - var defaultsRead = { - readUnknownField: true, - readerFactory: (bytes) => new BinaryReader(bytes) - }; - function binaryReadOptions(options) { - return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead; } - exports2.binaryReadOptions = binaryReadOptions; - var BinaryReader = class { - constructor(buf, textDecoder) { - this.varint64 = goog_varint_1.varint64read; - this.uint32 = goog_varint_1.varint32read; - this.buf = buf; - this.len = buf.length; - this.pos = 0; - this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength); - this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", { - fatal: true, - ignoreBOM: true - }); - } - /** - * Reads a tag - field number and wire type. - */ - tag() { - let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7; - if (fieldNo <= 0 || wireType < 0 || wireType > 5) - throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType); - return [fieldNo, wireType]; - } - /** - * Skip one element on the wire and return the skipped data. - * Supports WireType.StartGroup since v2.0.0-alpha.23. - */ - skip(wireType) { - let start = this.pos; - switch (wireType) { - case binary_format_contract_1.WireType.Varint: - while (this.buf[this.pos++] & 128) { - } - break; - case binary_format_contract_1.WireType.Bit64: - this.pos += 4; - case binary_format_contract_1.WireType.Bit32: - this.pos += 4; - break; - case binary_format_contract_1.WireType.LengthDelimited: - let len = this.uint32(); - this.pos += len; - break; - case binary_format_contract_1.WireType.StartGroup: - let t; - while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) { - this.skip(t); - } - break; - default: - throw new Error("cant skip wire type " + wireType); - } - this.assertBounds(); - return this.buf.subarray(start, this.pos); - } - /** - * Throws error if position in byte array is out of range. - */ - assertBounds() { - if (this.pos > this.len) - throw new RangeError("premature EOF"); + function emitErrorCloseNT(self2, err) { + emitErrorNT(self2, err); + emitCloseNT(self2); + } + function emitCloseNT(self2) { + const r = self2._readableState; + const w = self2._writableState; + if (w) { + w.closeEmitted = true; } - /** - * Read a `int32` field, a signed 32 bit varint. - */ - int32() { - return this.uint32() | 0; + if (r) { + r.closeEmitted = true; } - /** - * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint. - */ - sint32() { - let zze = this.uint32(); - return zze >>> 1 ^ -(zze & 1); + if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) { + self2.emit("close"); } - /** - * Read a `int64` field, a signed 64-bit varint. - */ - int64() { - return new pb_long_1.PbLong(...this.varint64()); + } + function emitErrorNT(self2, err) { + const r = self2._readableState; + const w = self2._writableState; + if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) { + return; } - /** - * Read a `uint64` field, an unsigned 64-bit varint. - */ - uint64() { - return new pb_long_1.PbULong(...this.varint64()); + if (w) { + w.errorEmitted = true; } - /** - * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint. - */ - sint64() { - let [lo, hi] = this.varint64(); - let s = -(lo & 1); - lo = (lo >>> 1 | (hi & 1) << 31) ^ s; - hi = hi >>> 1 ^ s; - return new pb_long_1.PbLong(lo, hi); + if (r) { + r.errorEmitted = true; } - /** - * Read a `bool` field, a variant. - */ - bool() { - let [lo, hi] = this.varint64(); - return lo !== 0 || hi !== 0; + self2.emit("error", err); + } + function undestroy() { + const r = this._readableState; + const w = this._writableState; + if (r) { + r.constructed = true; + r.closed = false; + r.closeEmitted = false; + r.destroyed = false; + r.errored = null; + r.errorEmitted = false; + r.reading = false; + r.ended = r.readable === false; + r.endEmitted = r.readable === false; } - /** - * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer. - */ - fixed32() { - return this.view.getUint32((this.pos += 4) - 4, true); + if (w) { + w.constructed = true; + w.destroyed = false; + w.closed = false; + w.closeEmitted = false; + w.errored = null; + w.errorEmitted = false; + w.finalCalled = false; + w.prefinished = false; + w.ended = w.writable === false; + w.ending = w.writable === false; + w.finished = w.writable === false; } - /** - * Read a `sfixed32` field, a signed, fixed-length 32-bit integer. - */ - sfixed32() { - return this.view.getInt32((this.pos += 4) - 4, true); + } + function errorOrDestroy(stream, err, sync) { + const r = stream._readableState; + const w = stream._writableState; + if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) { + return this; } - /** - * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer. - */ - fixed64() { - return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32()); + if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy) + stream.destroy(err); + else if (err) { + err.stack; + if (w && !w.errored) { + w.errored = err; + } + if (r && !r.errored) { + r.errored = err; + } + if (sync) { + process2.nextTick(emitErrorNT, stream, err); + } else { + emitErrorNT(stream, err); + } } - /** - * Read a `fixed64` field, a signed, fixed-length 64-bit integer. - */ - sfixed64() { - return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32()); + } + function construct(stream, cb) { + if (typeof stream._construct !== "function") { + return; } - /** - * Read a `float` field, 32-bit floating point number. - */ - float() { - return this.view.getFloat32((this.pos += 4) - 4, true); + const r = stream._readableState; + const w = stream._writableState; + if (r) { + r.constructed = false; } - /** - * Read a `double` field, a 64-bit floating point number. - */ - double() { - return this.view.getFloat64((this.pos += 8) - 8, true); + if (w) { + w.constructed = false; } - /** - * Read a `bytes` field, length-delimited arbitrary data. - */ - bytes() { - let len = this.uint32(); - let start = this.pos; - this.pos += len; - this.assertBounds(); - return this.buf.subarray(start, start + len); + stream.once(kConstruct, cb); + if (stream.listenerCount(kConstruct) > 1) { + return; } - /** - * Read a `string` field, length-delimited data converted to UTF-8 text. - */ - string() { - return this.textDecoder.decode(this.bytes()); + process2.nextTick(constructNT, stream); + } + function constructNT(stream) { + let called = false; + function onConstruct(err) { + if (called) { + errorOrDestroy(stream, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK()); + return; + } + called = true; + const r = stream._readableState; + const w = stream._writableState; + const s = w || r; + if (r) { + r.constructed = true; + } + if (w) { + w.constructed = true; + } + if (s.destroyed) { + stream.emit(kDestroy, err); + } else if (err) { + errorOrDestroy(stream, err, true); + } else { + process2.nextTick(emitConstructNT, stream); + } } - }; - exports2.BinaryReader = BinaryReader; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js -var require_assert = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0; - function assert(condition, msg) { - if (!condition) { - throw new Error(msg); + try { + stream._construct((err) => { + process2.nextTick(onConstruct, err); + }); + } catch (err) { + process2.nextTick(onConstruct, err); } } - exports2.assert = assert; - function assertNever2(value, msg) { - throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value); + function emitConstructNT(stream) { + stream.emit(kConstruct); } - exports2.assertNever = assertNever2; - var FLOAT32_MAX = 34028234663852886e22; - var FLOAT32_MIN = -34028234663852886e22; - var UINT32_MAX = 4294967295; - var INT32_MAX = 2147483647; - var INT32_MIN = -2147483648; - function assertInt32(arg) { - if (typeof arg !== "number") - throw new Error("invalid int 32: " + typeof arg); - if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN) - throw new Error("invalid int 32: " + arg); + function isRequest(stream) { + return (stream === null || stream === void 0 ? void 0 : stream.setHeader) && typeof stream.abort === "function"; } - exports2.assertInt32 = assertInt32; - function assertUInt32(arg) { - if (typeof arg !== "number") - throw new Error("invalid uint 32: " + typeof arg); - if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0) - throw new Error("invalid uint 32: " + arg); + function emitCloseLegacy(stream) { + stream.emit("close"); } - exports2.assertUInt32 = assertUInt32; - function assertFloat32(arg) { - if (typeof arg !== "number") - throw new Error("invalid float 32: " + typeof arg); - if (!Number.isFinite(arg)) + function emitErrorCloseLegacy(stream, err) { + stream.emit("error", err); + process2.nextTick(emitCloseLegacy, stream); + } + function destroyer(stream, err) { + if (!stream || isDestroyed(stream)) { return; - if (arg > FLOAT32_MAX || arg < FLOAT32_MIN) - throw new Error("invalid float 32: " + arg); + } + if (!err && !isFinished(stream)) { + err = new AbortError(); + } + if (isServerRequest(stream)) { + stream.socket = null; + stream.destroy(err); + } else if (isRequest(stream)) { + stream.abort(); + } else if (isRequest(stream.req)) { + stream.req.abort(); + } else if (typeof stream.destroy === "function") { + stream.destroy(err); + } else if (typeof stream.close === "function") { + stream.close(); + } else if (err) { + process2.nextTick(emitErrorCloseLegacy, stream, err); + } else { + process2.nextTick(emitCloseLegacy, stream); + } + if (!stream.destroyed) { + stream[kIsDestroyed] = true; + } } - exports2.assertFloat32 = assertFloat32; + module2.exports = { + construct, + destroyer, + destroy, + undestroy, + errorOrDestroy + }; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js -var require_binary_writer = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/legacy.js +var require_legacy = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BinaryWriter = exports2.binaryWriteOptions = void 0; - var pb_long_1 = require_pb_long(); - var goog_varint_1 = require_goog_varint(); - var assert_1 = require_assert(); - var defaultsWrite = { - writeUnknownFields: true, - writerFactory: () => new BinaryWriter() - }; - function binaryWriteOptions(options) { - return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite; + var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials(); + var { EventEmitter: EE } = require("events"); + function Stream(opts) { + EE.call(this, opts); } - exports2.binaryWriteOptions = binaryWriteOptions; - var BinaryWriter = class { - constructor(textEncoder) { - this.stack = []; - this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder(); - this.chunks = []; - this.buf = []; - } - /** - * Return all bytes written and reset this writer. - */ - finish() { - this.chunks.push(new Uint8Array(this.buf)); - let len = 0; - for (let i = 0; i < this.chunks.length; i++) - len += this.chunks[i].length; - let bytes = new Uint8Array(len); - let offset = 0; - for (let i = 0; i < this.chunks.length; i++) { - bytes.set(this.chunks[i], offset); - offset += this.chunks[i].length; - } - this.chunks = []; - return bytes; - } - /** - * Start a new fork for length-delimited data like a message - * or a packed repeated field. - * - * Must be joined later with `join()`. - */ - fork() { - this.stack.push({ chunks: this.chunks, buf: this.buf }); - this.chunks = []; - this.buf = []; - return this; - } - /** - * Join the last fork. Write its length and bytes, then - * return to the previous state. - */ - join() { - let chunk = this.finish(); - let prev = this.stack.pop(); - if (!prev) - throw new Error("invalid state, fork stack empty"); - this.chunks = prev.chunks; - this.buf = prev.buf; - this.uint32(chunk.byteLength); - return this.raw(chunk); - } - /** - * Writes a tag (field number and wire type). - * - * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`. - * - * Generated code should compute the tag ahead of time and call `uint32()`. - */ - tag(fieldNo, type2) { - return this.uint32((fieldNo << 3 | type2) >>> 0); - } - /** - * Write a chunk of raw bytes. - */ - raw(chunk) { - if (this.buf.length) { - this.chunks.push(new Uint8Array(this.buf)); - this.buf = []; + ObjectSetPrototypeOf(Stream.prototype, EE.prototype); + ObjectSetPrototypeOf(Stream, EE); + Stream.prototype.pipe = function(dest, options) { + const source = this; + function ondata(chunk) { + if (dest.writable && dest.write(chunk) === false && source.pause) { + source.pause(); } - this.chunks.push(chunk); - return this; } - /** - * Write a `uint32` value, an unsigned 32 bit varint. - */ - uint32(value) { - assert_1.assertUInt32(value); - while (value > 127) { - this.buf.push(value & 127 | 128); - value = value >>> 7; + source.on("data", ondata); + function ondrain() { + if (source.readable && source.resume) { + source.resume(); } - this.buf.push(value); - return this; - } - /** - * Write a `int32` value, a signed 32 bit varint. - */ - int32(value) { - assert_1.assertInt32(value); - goog_varint_1.varint32write(value, this.buf); - return this; - } - /** - * Write a `bool` value, a variant. - */ - bool(value) { - this.buf.push(value ? 1 : 0); - return this; - } - /** - * Write a `bytes` value, length-delimited arbitrary data. - */ - bytes(value) { - this.uint32(value.byteLength); - return this.raw(value); - } - /** - * Write a `string` value, length-delimited data converted to UTF-8 text. - */ - string(value) { - let chunk = this.textEncoder.encode(value); - this.uint32(chunk.byteLength); - return this.raw(chunk); - } - /** - * Write a `float` value, 32-bit floating point number. - */ - float(value) { - assert_1.assertFloat32(value); - let chunk = new Uint8Array(4); - new DataView(chunk.buffer).setFloat32(0, value, true); - return this.raw(chunk); - } - /** - * Write a `double` value, a 64-bit floating point number. - */ - double(value) { - let chunk = new Uint8Array(8); - new DataView(chunk.buffer).setFloat64(0, value, true); - return this.raw(chunk); - } - /** - * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer. - */ - fixed32(value) { - assert_1.assertUInt32(value); - let chunk = new Uint8Array(4); - new DataView(chunk.buffer).setUint32(0, value, true); - return this.raw(chunk); - } - /** - * Write a `sfixed32` value, a signed, fixed-length 32-bit integer. - */ - sfixed32(value) { - assert_1.assertInt32(value); - let chunk = new Uint8Array(4); - new DataView(chunk.buffer).setInt32(0, value, true); - return this.raw(chunk); - } - /** - * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint. - */ - sint32(value) { - assert_1.assertInt32(value); - value = (value << 1 ^ value >> 31) >>> 0; - goog_varint_1.varint32write(value, this.buf); - return this; - } - /** - * Write a `fixed64` value, a signed, fixed-length 64-bit integer. - */ - sfixed64(value) { - let chunk = new Uint8Array(8); - let view = new DataView(chunk.buffer); - let long = pb_long_1.PbLong.from(value); - view.setInt32(0, long.lo, true); - view.setInt32(4, long.hi, true); - return this.raw(chunk); } - /** - * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer. - */ - fixed64(value) { - let chunk = new Uint8Array(8); - let view = new DataView(chunk.buffer); - let long = pb_long_1.PbULong.from(value); - view.setInt32(0, long.lo, true); - view.setInt32(4, long.hi, true); - return this.raw(chunk); + dest.on("drain", ondrain); + if (!dest._isStdio && (!options || options.end !== false)) { + source.on("end", onend); + source.on("close", onclose); } - /** - * Write a `int64` value, a signed 64-bit varint. - */ - int64(value) { - let long = pb_long_1.PbLong.from(value); - goog_varint_1.varint64write(long.lo, long.hi, this.buf); - return this; + let didOnEnd = false; + function onend() { + if (didOnEnd) return; + didOnEnd = true; + dest.end(); } - /** - * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint. - */ - sint64(value) { - let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign; - goog_varint_1.varint64write(lo, hi, this.buf); - return this; + function onclose() { + if (didOnEnd) return; + didOnEnd = true; + if (typeof dest.destroy === "function") dest.destroy(); } - /** - * Write a `uint64` value, an unsigned 64-bit varint. - */ - uint64(value) { - let long = pb_long_1.PbULong.from(value); - goog_varint_1.varint64write(long.lo, long.hi, this.buf); - return this; + function onerror(er) { + cleanup(); + if (EE.listenerCount(this, "error") === 0) { + this.emit("error", er); + } + } + prependListener(source, "error", onerror); + prependListener(dest, "error", onerror); + function cleanup() { + source.removeListener("data", ondata); + dest.removeListener("drain", ondrain); + source.removeListener("end", onend); + source.removeListener("close", onclose); + source.removeListener("error", onerror); + dest.removeListener("error", onerror); + source.removeListener("end", cleanup); + source.removeListener("close", cleanup); + dest.removeListener("close", cleanup); } + source.on("end", cleanup); + source.on("close", cleanup); + dest.on("close", cleanup); + dest.emit("pipe", source); + return dest; + }; + function prependListener(emitter, event, fn) { + if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn); + if (!emitter._events || !emitter._events[event]) emitter.on(event, fn); + else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn); + else emitter._events[event] = [fn, emitter._events[event]]; + } + module2.exports = { + Stream, + prependListener }; - exports2.BinaryWriter = BinaryWriter; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js -var require_json_format_contract = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +var require_add_abort_signal = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0; - var defaultsWrite = { - emitDefaultValues: false, - enumAsInteger: false, - useProtoFieldName: false, - prettySpaces: 0 + var { SymbolDispose } = require_primordials(); + var { AbortError, codes } = require_errors5(); + var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8(); + var eos = require_end_of_stream(); + var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes; + var addAbortListener; + var validateAbortSignal = (signal, name) => { + if (typeof signal !== "object" || !("aborted" in signal)) { + throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal); + } }; - var defaultsRead = { - ignoreUnknownFields: false + module2.exports.addAbortSignal = function addAbortSignal(signal, stream) { + validateAbortSignal(signal, "signal"); + if (!isNodeStream(stream) && !isWebStream(stream)) { + throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream); + } + return module2.exports.addAbortSignalNoValidate(signal, stream); + }; + module2.exports.addAbortSignalNoValidate = function(signal, stream) { + if (typeof signal !== "object" || !("aborted" in signal)) { + return stream; + } + const onAbort = isNodeStream(stream) ? () => { + stream.destroy( + new AbortError(void 0, { + cause: signal.reason + }) + ); + } : () => { + stream[kControllerErrorFunction]( + new AbortError(void 0, { + cause: signal.reason + }) + ); + }; + if (signal.aborted) { + onAbort(); + } else { + addAbortListener = addAbortListener || require_util21().addAbortListener; + const disposable = addAbortListener(signal, onAbort); + eos(stream, disposable[SymbolDispose]); + } + return stream; }; - function jsonReadOptions(options) { - return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead; - } - exports2.jsonReadOptions = jsonReadOptions; - function jsonWriteOptions(options) { - return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite; - } - exports2.jsonWriteOptions = jsonWriteOptions; - function mergeJsonOptions(a, b) { - var _a, _b; - let c = Object.assign(Object.assign({}, a), b); - c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []]; - return c; - } - exports2.mergeJsonOptions = mergeJsonOptions; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js -var require_message_type_contract = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.MESSAGE_TYPE = void 0; - exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type"); } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js -var require_lower_camel_case = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/buffer_list.js +var require_buffer_list = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.lowerCamelCase = void 0; - function lowerCamelCase(snakeCase) { - let capNext = false; - const sb = []; - for (let i = 0; i < snakeCase.length; i++) { - let next = snakeCase.charAt(i); - if (next == "_") { - capNext = true; - } else if (/\d/.test(next)) { - sb.push(next); - capNext = true; - } else if (capNext) { - sb.push(next.toUpperCase()); - capNext = false; - } else if (i == 0) { - sb.push(next.toLowerCase()); - } else { - sb.push(next); + var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials(); + var { Buffer: Buffer2 } = require("buffer"); + var { inspect } = require_util21(); + module2.exports = class BufferList { + constructor() { + this.head = null; + this.tail = null; + this.length = 0; + } + push(v) { + const entry = { + data: v, + next: null + }; + if (this.length > 0) this.tail.next = entry; + else this.head = entry; + this.tail = entry; + ++this.length; + } + unshift(v) { + const entry = { + data: v, + next: this.head + }; + if (this.length === 0) this.tail = entry; + this.head = entry; + ++this.length; + } + shift() { + if (this.length === 0) return; + const ret = this.head.data; + if (this.length === 1) this.head = this.tail = null; + else this.head = this.head.next; + --this.length; + return ret; + } + clear() { + this.head = this.tail = null; + this.length = 0; + } + join(s) { + if (this.length === 0) return ""; + let p = this.head; + let ret = "" + p.data; + while ((p = p.next) !== null) ret += s + p.data; + return ret; + } + concat(n) { + if (this.length === 0) return Buffer2.alloc(0); + const ret = Buffer2.allocUnsafe(n >>> 0); + let p = this.head; + let i = 0; + while (p) { + TypedArrayPrototypeSet(ret, p.data, i); + i += p.data.length; + p = p.next; } + return ret; } - return sb.join(""); - } - exports2.lowerCamelCase = lowerCamelCase; + // Consumes a specified amount of bytes or characters from the buffered data. + consume(n, hasStrings) { + const data = this.head.data; + if (n < data.length) { + const slice = data.slice(0, n); + this.head.data = data.slice(n); + return slice; + } + if (n === data.length) { + return this.shift(); + } + return hasStrings ? this._getString(n) : this._getBuffer(n); + } + first() { + return this.head.data; + } + *[SymbolIterator]() { + for (let p = this.head; p; p = p.next) { + yield p.data; + } + } + // Consumes a specified amount of characters from the buffered data. + _getString(n) { + let ret = ""; + let p = this.head; + let c = 0; + do { + const str2 = p.data; + if (n > str2.length) { + ret += str2; + n -= str2.length; + } else { + if (n === str2.length) { + ret += str2; + ++c; + if (p.next) this.head = p.next; + else this.head = this.tail = null; + } else { + ret += StringPrototypeSlice(str2, 0, n); + this.head = p; + p.data = StringPrototypeSlice(str2, n); + } + break; + } + ++c; + } while ((p = p.next) !== null); + this.length -= c; + return ret; + } + // Consumes a specified amount of bytes from the buffered data. + _getBuffer(n) { + const ret = Buffer2.allocUnsafe(n); + const retLen = n; + let p = this.head; + let c = 0; + do { + const buf = p.data; + if (n > buf.length) { + TypedArrayPrototypeSet(ret, buf, retLen - n); + n -= buf.length; + } else { + if (n === buf.length) { + TypedArrayPrototypeSet(ret, buf, retLen - n); + ++c; + if (p.next) this.head = p.next; + else this.head = this.tail = null; + } else { + TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n); + this.head = p; + p.data = buf.slice(n); + } + break; + } + ++c; + } while ((p = p.next) !== null); + this.length -= c; + return ret; + } + // Make sure the linked list only shows the minimal necessary information. + [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) { + return inspect(this, { + ...options, + // Only inspect one level. + depth: 0, + // It should not recurse. + customInspect: false + }); + } + }; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js -var require_reflection_info = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/state.js +var require_state3 = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0; - var lower_camel_case_1 = require_lower_camel_case(); - var ScalarType; - (function(ScalarType2) { - ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE"; - ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT"; - ScalarType2[ScalarType2["INT64"] = 3] = "INT64"; - ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64"; - ScalarType2[ScalarType2["INT32"] = 5] = "INT32"; - ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64"; - ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32"; - ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL"; - ScalarType2[ScalarType2["STRING"] = 9] = "STRING"; - ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES"; - ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32"; - ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32"; - ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64"; - ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32"; - ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64"; - })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {})); - var LongType; - (function(LongType2) { - LongType2[LongType2["BIGINT"] = 0] = "BIGINT"; - LongType2[LongType2["STRING"] = 1] = "STRING"; - LongType2[LongType2["NUMBER"] = 2] = "NUMBER"; - })(LongType = exports2.LongType || (exports2.LongType = {})); - var RepeatType; - (function(RepeatType2) { - RepeatType2[RepeatType2["NO"] = 0] = "NO"; - RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED"; - RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED"; - })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {})); - function normalizeFieldInfo(field) { - var _a, _b, _c, _d; - field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name); - field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name); - field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO; - field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message"; - return field; + var { MathFloor, NumberIsInteger } = require_primordials(); + var { validateInteger } = require_validators(); + var { ERR_INVALID_ARG_VALUE } = require_errors5().codes; + var defaultHighWaterMarkBytes = 16 * 1024; + var defaultHighWaterMarkObjectMode = 16; + function highWaterMarkFrom(options, isDuplex, duplexKey) { + return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null; } - exports2.normalizeFieldInfo = normalizeFieldInfo; - function readFieldOptions(messageType, fieldName, extensionName, extensionType) { - var _a; - const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options; - return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0; + function getDefaultHighWaterMark(objectMode) { + return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes; } - exports2.readFieldOptions = readFieldOptions; - function readFieldOption(messageType, fieldName, extensionName, extensionType) { - var _a; - const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options; - if (!options) { - return void 0; - } - const optionVal = options[extensionName]; - if (optionVal === void 0) { - return optionVal; + function setDefaultHighWaterMark(objectMode, value) { + validateInteger(value, "value", 0); + if (objectMode) { + defaultHighWaterMarkObjectMode = value; + } else { + defaultHighWaterMarkBytes = value; } - return extensionType ? extensionType.fromJson(optionVal) : optionVal; } - exports2.readFieldOption = readFieldOption; - function readMessageOption(messageType, extensionName, extensionType) { - const options = messageType.options; - const optionVal = options[extensionName]; - if (optionVal === void 0) { - return optionVal; + function getHighWaterMark(state, options, duplexKey, isDuplex) { + const hwm = highWaterMarkFrom(options, isDuplex, duplexKey); + if (hwm != null) { + if (!NumberIsInteger(hwm) || hwm < 0) { + const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark"; + throw new ERR_INVALID_ARG_VALUE(name, hwm); + } + return MathFloor(hwm); } - return extensionType ? extensionType.fromJson(optionVal) : optionVal; + return getDefaultHighWaterMark(state.objectMode); } - exports2.readMessageOption = readMessageOption; + module2.exports = { + getHighWaterMark, + getDefaultHighWaterMark, + setDefaultHighWaterMark + }; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js -var require_oneof = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/from.js +var require_from = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0; - function isOneofGroup(any) { - if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) { - return false; + var process2 = require_process(); + var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials(); + var { Buffer: Buffer2 } = require("buffer"); + var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors5().codes; + function from(Readable, iterable, opts) { + let iterator2; + if (typeof iterable === "string" || iterable instanceof Buffer2) { + return new Readable({ + objectMode: true, + ...opts, + read() { + this.push(iterable); + this.push(null); + } + }); } - switch (typeof any.oneofKind) { - case "string": - if (any[any.oneofKind] === void 0) - return false; - return Object.keys(any).length == 2; - case "undefined": - return Object.keys(any).length == 1; - default: - return false; + let isAsync; + if (iterable && iterable[SymbolAsyncIterator]) { + isAsync = true; + iterator2 = iterable[SymbolAsyncIterator](); + } else if (iterable && iterable[SymbolIterator]) { + isAsync = false; + iterator2 = iterable[SymbolIterator](); + } else { + throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable); } - } - exports2.isOneofGroup = isOneofGroup; - function getOneofValue(oneof, kind) { - return oneof[kind]; - } - exports2.getOneofValue = getOneofValue; - function setOneofValue(oneof, kind, value) { - if (oneof.oneofKind !== void 0) { - delete oneof[oneof.oneofKind]; + const readable = new Readable({ + objectMode: true, + highWaterMark: 1, + // TODO(ronag): What options should be allowed? + ...opts + }); + let reading = false; + readable._read = function() { + if (!reading) { + reading = true; + next(); + } + }; + readable._destroy = function(error3, cb) { + PromisePrototypeThen( + close(error3), + () => process2.nextTick(cb, error3), + // nextTick is here in case cb throws + (e) => process2.nextTick(cb, e || error3) + ); + }; + async function close(error3) { + const hadError = error3 !== void 0 && error3 !== null; + const hasThrow = typeof iterator2.throw === "function"; + if (hadError && hasThrow) { + const { value, done } = await iterator2.throw(error3); + await value; + if (done) { + return; + } + } + if (typeof iterator2.return === "function") { + const { value } = await iterator2.return(); + await value; + } } - oneof.oneofKind = kind; - if (value !== void 0) { - oneof[kind] = value; + async function next() { + for (; ; ) { + try { + const { value, done } = isAsync ? await iterator2.next() : iterator2.next(); + if (done) { + readable.push(null); + } else { + const res = value && typeof value.then === "function" ? await value : value; + if (res === null) { + reading = false; + throw new ERR_STREAM_NULL_VALUES(); + } else if (readable.push(res)) { + continue; + } else { + reading = false; + } + } + } catch (err) { + readable.destroy(err); + } + break; + } } + return readable; } - exports2.setOneofValue = setOneofValue; - function setUnknownOneofValue(oneof, kind, value) { - if (oneof.oneofKind !== void 0) { - delete oneof[oneof.oneofKind]; - } - oneof.oneofKind = kind; - if (value !== void 0 && kind !== void 0) { - oneof[kind] = value; - } + module2.exports = from; + } +}); + +// node_modules/readable-stream/lib/internal/streams/readable.js +var require_readable4 = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) { + var process2 = require_process(); + var { + ArrayPrototypeIndexOf, + NumberIsInteger, + NumberIsNaN, + NumberParseInt, + ObjectDefineProperties, + ObjectKeys, + ObjectSetPrototypeOf, + Promise: Promise2, + SafeSet, + SymbolAsyncDispose, + SymbolAsyncIterator, + Symbol: Symbol2 + } = require_primordials(); + module2.exports = Readable; + Readable.ReadableState = ReadableState; + var { EventEmitter: EE } = require("events"); + var { Stream, prependListener } = require_legacy(); + var { Buffer: Buffer2 } = require("buffer"); + var { addAbortSignal } = require_add_abort_signal(); + var eos = require_end_of_stream(); + var debug4 = require_util21().debuglog("stream", (fn) => { + debug4 = fn; + }); + var BufferList = require_buffer_list(); + var destroyImpl = require_destroy2(); + var { getHighWaterMark, getDefaultHighWaterMark } = require_state3(); + var { + aggregateTwoErrors, + codes: { + ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, + ERR_METHOD_NOT_IMPLEMENTED, + ERR_OUT_OF_RANGE, + ERR_STREAM_PUSH_AFTER_EOF, + ERR_STREAM_UNSHIFT_AFTER_END_EVENT + }, + AbortError + } = require_errors5(); + var { validateObject } = require_validators(); + var kPaused = Symbol2("kPaused"); + var { StringDecoder } = require("string_decoder"); + var from = require_from(); + ObjectSetPrototypeOf(Readable.prototype, Stream.prototype); + ObjectSetPrototypeOf(Readable, Stream); + var nop = () => { + }; + var { errorOrDestroy } = destroyImpl; + var kObjectMode = 1 << 0; + var kEnded = 1 << 1; + var kEndEmitted = 1 << 2; + var kReading = 1 << 3; + var kConstructed = 1 << 4; + var kSync = 1 << 5; + var kNeedReadable = 1 << 6; + var kEmittedReadable = 1 << 7; + var kReadableListening = 1 << 8; + var kResumeScheduled = 1 << 9; + var kErrorEmitted = 1 << 10; + var kEmitClose = 1 << 11; + var kAutoDestroy = 1 << 12; + var kDestroyed = 1 << 13; + var kClosed = 1 << 14; + var kCloseEmitted = 1 << 15; + var kMultiAwaitDrain = 1 << 16; + var kReadingMore = 1 << 17; + var kDataEmitted = 1 << 18; + function makeBitMapDescriptor(bit) { + return { + enumerable: false, + get() { + return (this.state & bit) !== 0; + }, + set(value) { + if (value) this.state |= bit; + else this.state &= ~bit; + } + }; } - exports2.setUnknownOneofValue = setUnknownOneofValue; - function clearOneofValue(oneof) { - if (oneof.oneofKind !== void 0) { - delete oneof[oneof.oneofKind]; + ObjectDefineProperties(ReadableState.prototype, { + objectMode: makeBitMapDescriptor(kObjectMode), + ended: makeBitMapDescriptor(kEnded), + endEmitted: makeBitMapDescriptor(kEndEmitted), + reading: makeBitMapDescriptor(kReading), + // Stream is still being constructed and cannot be + // destroyed until construction finished or failed. + // Async construction is opt in, therefore we start as + // constructed. + constructed: makeBitMapDescriptor(kConstructed), + // A flag to be able to tell if the event 'readable'/'data' is emitted + // immediately, or on a later tick. We set this to true at first, because + // any actions that shouldn't happen until "later" should generally also + // not happen before the first read call. + sync: makeBitMapDescriptor(kSync), + // Whenever we return null, then we set a flag to say + // that we're awaiting a 'readable' event emission. + needReadable: makeBitMapDescriptor(kNeedReadable), + emittedReadable: makeBitMapDescriptor(kEmittedReadable), + readableListening: makeBitMapDescriptor(kReadableListening), + resumeScheduled: makeBitMapDescriptor(kResumeScheduled), + // True if the error was already emitted and should not be thrown again. + errorEmitted: makeBitMapDescriptor(kErrorEmitted), + emitClose: makeBitMapDescriptor(kEmitClose), + autoDestroy: makeBitMapDescriptor(kAutoDestroy), + // Has it been destroyed. + destroyed: makeBitMapDescriptor(kDestroyed), + // Indicates whether the stream has finished destroying. + closed: makeBitMapDescriptor(kClosed), + // True if close has been emitted or would have been emitted + // depending on emitClose. + closeEmitted: makeBitMapDescriptor(kCloseEmitted), + multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain), + // If true, a maybeReadMore has been scheduled. + readingMore: makeBitMapDescriptor(kReadingMore), + dataEmitted: makeBitMapDescriptor(kDataEmitted) + }); + function ReadableState(options, stream, isDuplex) { + if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex(); + this.state = kEmitClose | kAutoDestroy | kConstructed | kSync; + if (options && options.objectMode) this.state |= kObjectMode; + if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode; + this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false); + this.buffer = new BufferList(); + this.length = 0; + this.pipes = []; + this.flowing = null; + this[kPaused] = null; + if (options && options.emitClose === false) this.state &= ~kEmitClose; + if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy; + this.errored = null; + this.defaultEncoding = options && options.defaultEncoding || "utf8"; + this.awaitDrainWriters = null; + this.decoder = null; + this.encoding = null; + if (options && options.encoding) { + this.decoder = new StringDecoder(options.encoding); + this.encoding = options.encoding; } - oneof.oneofKind = void 0; } - exports2.clearOneofValue = clearOneofValue; - function getSelectedOneofValue(oneof) { - if (oneof.oneofKind === void 0) { - return void 0; + function Readable(options) { + if (!(this instanceof Readable)) return new Readable(options); + const isDuplex = this instanceof require_duplex(); + this._readableState = new ReadableState(options, this, isDuplex); + if (options) { + if (typeof options.read === "function") this._read = options.read; + if (typeof options.destroy === "function") this._destroy = options.destroy; + if (typeof options.construct === "function") this._construct = options.construct; + if (options.signal && !isDuplex) addAbortSignal(options.signal, this); } - return oneof[oneof.oneofKind]; + Stream.call(this, options); + destroyImpl.construct(this, () => { + if (this._readableState.needReadable) { + maybeReadMore(this, this._readableState); + } + }); } - exports2.getSelectedOneofValue = getSelectedOneofValue; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js -var require_reflection_type_check = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ReflectionTypeCheck = void 0; - var reflection_info_1 = require_reflection_info(); - var oneof_1 = require_oneof(); - var ReflectionTypeCheck = class { - constructor(info7) { - var _a; - this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : []; + Readable.prototype.destroy = destroyImpl.destroy; + Readable.prototype._undestroy = destroyImpl.undestroy; + Readable.prototype._destroy = function(err, cb) { + cb(err); + }; + Readable.prototype[EE.captureRejectionSymbol] = function(err) { + this.destroy(err); + }; + Readable.prototype[SymbolAsyncDispose] = function() { + let error3; + if (!this.destroyed) { + error3 = this.readableEnded ? null : new AbortError(); + this.destroy(error3); } - prepare() { - if (this.data) - return; - const req = [], known = [], oneofs = []; - for (let field of this.fields) { - if (field.oneof) { - if (!oneofs.includes(field.oneof)) { - oneofs.push(field.oneof); - req.push(field.oneof); - known.push(field.oneof); - } - } else { - known.push(field.localName); - switch (field.kind) { - case "scalar": - case "enum": - if (!field.opt || field.repeat) - req.push(field.localName); - break; - case "message": - if (field.repeat) - req.push(field.localName); - break; - case "map": - req.push(field.localName); - break; + return new Promise2((resolve5, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve5(null))); + }; + Readable.prototype.push = function(chunk, encoding) { + return readableAddChunk(this, chunk, encoding, false); + }; + Readable.prototype.unshift = function(chunk, encoding) { + return readableAddChunk(this, chunk, encoding, true); + }; + function readableAddChunk(stream, chunk, encoding, addToFront) { + debug4("readableAddChunk", chunk); + const state = stream._readableState; + let err; + if ((state.state & kObjectMode) === 0) { + if (typeof chunk === "string") { + encoding = encoding || state.defaultEncoding; + if (state.encoding !== encoding) { + if (addToFront && state.encoding) { + chunk = Buffer2.from(chunk, encoding).toString(state.encoding); + } else { + chunk = Buffer2.from(chunk, encoding); + encoding = ""; } } + } else if (chunk instanceof Buffer2) { + encoding = ""; + } else if (Stream._isUint8Array(chunk)) { + chunk = Stream._uint8ArrayToBuffer(chunk); + encoding = ""; + } else if (chunk != null) { + err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk); } - this.data = { req, known, oneofs: Object.values(oneofs) }; } - /** - * Is the argument a valid message as specified by the - * reflection information? - * - * Checks all field types recursively. The `depth` - * specifies how deep into the structure the check will be. - * - * With a depth of 0, only the presence of fields - * is checked. - * - * With a depth of 1 or more, the field types are checked. - * - * With a depth of 2 or more, the members of map, repeated - * and message fields are checked. - * - * Message fields will be checked recursively with depth - 1. - * - * The number of map entries / repeated values being checked - * is < depth. - */ - is(message, depth, allowExcessProperties = false) { - if (depth < 0) - return true; - if (message === null || message === void 0 || typeof message != "object") - return false; - this.prepare(); - let keys = Object.keys(message), data = this.data; - if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n))) + if (err) { + errorOrDestroy(stream, err); + } else if (chunk === null) { + state.state &= ~kReading; + onEofChunk(stream, state); + } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) { + if (addToFront) { + if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT()); + else if (state.destroyed || state.errored) return false; + else addChunk(stream, state, chunk, true); + } else if (state.ended) { + errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF()); + } else if (state.destroyed || state.errored) { return false; - if (!allowExcessProperties) { - if (keys.some((k) => !data.known.includes(k))) - return false; - } - if (depth < 1) { - return true; - } - for (const name of data.oneofs) { - const group = message[name]; - if (!oneof_1.isOneofGroup(group)) - return false; - if (group.oneofKind === void 0) - continue; - const field = this.fields.find((f) => f.localName === group.oneofKind); - if (!field) - return false; - if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth)) - return false; - } - for (const field of this.fields) { - if (field.oneof !== void 0) - continue; - if (!this.field(message[field.localName], field, allowExcessProperties, depth)) - return false; + } else { + state.state &= ~kReading; + if (state.decoder && !encoding) { + chunk = state.decoder.write(chunk); + if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false); + else maybeReadMore(stream, state); + } else { + addChunk(stream, state, chunk, false); + } } - return true; + } else if (!addToFront) { + state.state &= ~kReading; + maybeReadMore(stream, state); } - field(arg, field, allowExcessProperties, depth) { - let repeated = field.repeat; - switch (field.kind) { - case "scalar": - if (arg === void 0) - return field.opt; - if (repeated) - return this.scalars(arg, field.T, depth, field.L); - return this.scalar(arg, field.T, field.L); - case "enum": - if (arg === void 0) - return field.opt; - if (repeated) - return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth); - return this.scalar(arg, reflection_info_1.ScalarType.INT32); - case "message": - if (arg === void 0) - return true; - if (repeated) - return this.messages(arg, field.T(), allowExcessProperties, depth); - return this.message(arg, field.T(), allowExcessProperties, depth); - case "map": - if (typeof arg != "object" || arg === null) - return false; - if (depth < 2) - return true; - if (!this.mapKeys(arg, field.K, depth)) - return false; - switch (field.V.kind) { - case "scalar": - return this.scalars(Object.values(arg), field.V.T, depth, field.V.L); - case "enum": - return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth); - case "message": - return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth); - } - break; + return !state.ended && (state.length < state.highWaterMark || state.length === 0); + } + function addChunk(stream, state, chunk, addToFront) { + if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount("data") > 0) { + if ((state.state & kMultiAwaitDrain) !== 0) { + state.awaitDrainWriters.clear(); + } else { + state.awaitDrainWriters = null; } - return true; + state.dataEmitted = true; + stream.emit("data", chunk); + } else { + state.length += state.objectMode ? 1 : chunk.length; + if (addToFront) state.buffer.unshift(chunk); + else state.buffer.push(chunk); + if ((state.state & kNeedReadable) !== 0) emitReadable(stream); } - message(arg, type2, allowExcessProperties, depth) { - if (allowExcessProperties) { - return type2.isAssignable(arg, depth); - } - return type2.is(arg, depth); + maybeReadMore(stream, state); + } + Readable.prototype.isPaused = function() { + const state = this._readableState; + return state[kPaused] === true || state.flowing === false; + }; + Readable.prototype.setEncoding = function(enc) { + const decoder = new StringDecoder(enc); + this._readableState.decoder = decoder; + this._readableState.encoding = this._readableState.decoder.encoding; + const buffer = this._readableState.buffer; + let content = ""; + for (const data of buffer) { + content += decoder.write(data); } - messages(arg, type2, allowExcessProperties, depth) { - if (!Array.isArray(arg)) - return false; - if (depth < 2) - return true; - if (allowExcessProperties) { - for (let i = 0; i < arg.length && i < depth; i++) - if (!type2.isAssignable(arg[i], depth - 1)) - return false; - } else { - for (let i = 0; i < arg.length && i < depth; i++) - if (!type2.is(arg[i], depth - 1)) - return false; + buffer.clear(); + if (content !== "") buffer.push(content); + this._readableState.length = content.length; + return this; + }; + var MAX_HWM = 1073741824; + function computeNewHighWaterMark(n) { + if (n > MAX_HWM) { + throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n); + } else { + n--; + n |= n >>> 1; + n |= n >>> 2; + n |= n >>> 4; + n |= n >>> 8; + n |= n >>> 16; + n++; + } + return n; + } + function howMuchToRead(n, state) { + if (n <= 0 || state.length === 0 && state.ended) return 0; + if ((state.state & kObjectMode) !== 0) return 1; + if (NumberIsNaN(n)) { + if (state.flowing && state.length) return state.buffer.first().length; + return state.length; + } + if (n <= state.length) return n; + return state.ended ? state.length : 0; + } + Readable.prototype.read = function(n) { + debug4("read", n); + if (n === void 0) { + n = NaN; + } else if (!NumberIsInteger(n)) { + n = NumberParseInt(n, 10); + } + const state = this._readableState; + const nOrig = n; + if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); + if (n !== 0) state.state &= ~kEmittedReadable; + if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) { + debug4("read: emitReadable", state.length, state.ended); + if (state.length === 0 && state.ended) endReadable(this); + else emitReadable(this); + return null; + } + n = howMuchToRead(n, state); + if (n === 0 && state.ended) { + if (state.length === 0) endReadable(this); + return null; + } + let doRead = (state.state & kNeedReadable) !== 0; + debug4("need readable", doRead); + if (state.length === 0 || state.length - n < state.highWaterMark) { + doRead = true; + debug4("length less than watermark", doRead); + } + if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) { + doRead = false; + debug4("reading, ended or constructing", doRead); + } else if (doRead) { + debug4("do read"); + state.state |= kReading | kSync; + if (state.length === 0) state.state |= kNeedReadable; + try { + this._read(state.highWaterMark); + } catch (err) { + errorOrDestroy(this, err); } - return true; + state.state &= ~kSync; + if (!state.reading) n = howMuchToRead(nOrig, state); } - scalar(arg, type2, longType) { - let argType = typeof arg; - switch (type2) { - case reflection_info_1.ScalarType.UINT64: - case reflection_info_1.ScalarType.FIXED64: - case reflection_info_1.ScalarType.INT64: - case reflection_info_1.ScalarType.SFIXED64: - case reflection_info_1.ScalarType.SINT64: - switch (longType) { - case reflection_info_1.LongType.BIGINT: - return argType == "bigint"; - case reflection_info_1.LongType.NUMBER: - return argType == "number" && !isNaN(arg); - default: - return argType == "string"; - } - case reflection_info_1.ScalarType.BOOL: - return argType == "boolean"; - case reflection_info_1.ScalarType.STRING: - return argType == "string"; - case reflection_info_1.ScalarType.BYTES: - return arg instanceof Uint8Array; - case reflection_info_1.ScalarType.DOUBLE: - case reflection_info_1.ScalarType.FLOAT: - return argType == "number" && !isNaN(arg); - default: - return argType == "number" && Number.isInteger(arg); + let ret; + if (n > 0) ret = fromList(n, state); + else ret = null; + if (ret === null) { + state.needReadable = state.length <= state.highWaterMark; + n = 0; + } else { + state.length -= n; + if (state.multiAwaitDrain) { + state.awaitDrainWriters.clear(); + } else { + state.awaitDrainWriters = null; } } - scalars(arg, type2, depth, longType) { - if (!Array.isArray(arg)) - return false; - if (depth < 2) - return true; - if (Array.isArray(arg)) { - for (let i = 0; i < arg.length && i < depth; i++) - if (!this.scalar(arg[i], type2, longType)) - return false; - } - return true; + if (state.length === 0) { + if (!state.ended) state.needReadable = true; + if (nOrig !== n && state.ended) endReadable(this); } - mapKeys(map2, type2, depth) { - let keys = Object.keys(map2); - switch (type2) { - case reflection_info_1.ScalarType.INT32: - case reflection_info_1.ScalarType.FIXED32: - case reflection_info_1.ScalarType.SFIXED32: - case reflection_info_1.ScalarType.SINT32: - case reflection_info_1.ScalarType.UINT32: - return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth); - case reflection_info_1.ScalarType.BOOL: - return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth); - default: - return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING); - } + if (ret !== null && !state.errorEmitted && !state.closeEmitted) { + state.dataEmitted = true; + this.emit("data", ret); } + return ret; }; - exports2.ReflectionTypeCheck = ReflectionTypeCheck; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js -var require_reflection_long_convert = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.reflectionLongConvert = void 0; - var reflection_info_1 = require_reflection_info(); - function reflectionLongConvert(long, type2) { - switch (type2) { - case reflection_info_1.LongType.BIGINT: - return long.toBigInt(); - case reflection_info_1.LongType.NUMBER: - return long.toNumber(); - default: - return long.toString(); + function onEofChunk(stream, state) { + debug4("onEofChunk"); + if (state.ended) return; + if (state.decoder) { + const chunk = state.decoder.end(); + if (chunk && chunk.length) { + state.buffer.push(chunk); + state.length += state.objectMode ? 1 : chunk.length; + } + } + state.ended = true; + if (state.sync) { + emitReadable(stream); + } else { + state.needReadable = false; + state.emittedReadable = true; + emitReadable_(stream); } } - exports2.reflectionLongConvert = reflectionLongConvert; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js -var require_reflection_json_reader = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ReflectionJsonReader = void 0; - var json_typings_1 = require_json_typings(); - var base64_1 = require_base642(); - var reflection_info_1 = require_reflection_info(); - var pb_long_1 = require_pb_long(); - var assert_1 = require_assert(); - var reflection_long_convert_1 = require_reflection_long_convert(); - var ReflectionJsonReader = class { - constructor(info7) { - this.info = info7; + function emitReadable(stream) { + const state = stream._readableState; + debug4("emitReadable", state.needReadable, state.emittedReadable); + state.needReadable = false; + if (!state.emittedReadable) { + debug4("emitReadable", state.flowing); + state.emittedReadable = true; + process2.nextTick(emitReadable_, stream); } - prepare() { - var _a; - if (this.fMap === void 0) { - this.fMap = {}; - const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : []; - for (const field of fieldsInput) { - this.fMap[field.name] = field; - this.fMap[field.jsonName] = field; - this.fMap[field.localName] = field; + } + function emitReadable_(stream) { + const state = stream._readableState; + debug4("emitReadable_", state.destroyed, state.length, state.ended); + if (!state.destroyed && !state.errored && (state.length || state.ended)) { + stream.emit("readable"); + state.emittedReadable = false; + } + state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark; + flow(stream); + } + function maybeReadMore(stream, state) { + if (!state.readingMore && state.constructed) { + state.readingMore = true; + process2.nextTick(maybeReadMore_, stream, state); + } + } + function maybeReadMore_(stream, state) { + while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) { + const len = state.length; + debug4("maybeReadMore read 0"); + stream.read(0); + if (len === state.length) + break; + } + state.readingMore = false; + } + Readable.prototype._read = function(n) { + throw new ERR_METHOD_NOT_IMPLEMENTED("_read()"); + }; + Readable.prototype.pipe = function(dest, pipeOpts) { + const src = this; + const state = this._readableState; + if (state.pipes.length === 1) { + if (!state.multiAwaitDrain) { + state.multiAwaitDrain = true; + state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []); + } + } + state.pipes.push(dest); + debug4("pipe count=%d opts=%j", state.pipes.length, pipeOpts); + const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr; + const endFn = doEnd ? onend : unpipe; + if (state.endEmitted) process2.nextTick(endFn); + else src.once("end", endFn); + dest.on("unpipe", onunpipe); + function onunpipe(readable, unpipeInfo) { + debug4("onunpipe"); + if (readable === src) { + if (unpipeInfo && unpipeInfo.hasUnpiped === false) { + unpipeInfo.hasUnpiped = true; + cleanup(); } } } - // Cannot parse JSON for #. - assert(condition, fieldName, jsonValue) { - if (!condition) { - let what = json_typings_1.typeofJsonValue(jsonValue); - if (what == "number" || what == "boolean") - what = jsonValue.toString(); - throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`); + function onend() { + debug4("onend"); + dest.end(); + } + let ondrain; + let cleanedUp = false; + function cleanup() { + debug4("cleanup"); + dest.removeListener("close", onclose); + dest.removeListener("finish", onfinish); + if (ondrain) { + dest.removeListener("drain", ondrain); } + dest.removeListener("error", onerror); + dest.removeListener("unpipe", onunpipe); + src.removeListener("end", onend); + src.removeListener("end", unpipe); + src.removeListener("data", ondata); + cleanedUp = true; + if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain(); } - /** - * Reads a message from canonical JSON format into the target message. - * - * Repeated fields are appended. Map entries are added, overwriting - * existing keys. - * - * If a message field is already present, it will be merged with the - * new data. - */ - read(input, message, options) { - this.prepare(); - const oneofsHandled = []; - for (const [jsonKey, jsonValue] of Object.entries(input)) { - const field = this.fMap[jsonKey]; - if (!field) { - if (!options.ignoreUnknownFields) - throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`); - continue; - } - const localName = field.localName; - let target; - if (field.oneof) { - if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) { - continue; - } - if (oneofsHandled.includes(field.oneof)) - throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`); - oneofsHandled.push(field.oneof); - target = message[field.oneof] = { - oneofKind: localName - }; - } else { - target = message; - } - if (field.kind == "map") { - if (jsonValue === null) { - continue; - } - this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue); - const fieldObj = target[localName]; - for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) { - this.assert(jsonObjValue !== null, field.name + " map value", null); - let val; - switch (field.V.kind) { - case "message": - val = field.V.T().internalJsonRead(jsonObjValue, options); - break; - case "enum": - val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields); - if (val === false) - continue; - break; - case "scalar": - val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name); - break; - } - this.assert(val !== void 0, field.name + " map value", jsonObjValue); - let key = jsonObjKey; - if (field.K == reflection_info_1.ScalarType.BOOL) - key = key == "true" ? true : key == "false" ? false : key; - key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString(); - fieldObj[key] = val; - } - } else if (field.repeat) { - if (jsonValue === null) - continue; - this.assert(Array.isArray(jsonValue), field.name, jsonValue); - const fieldArr = target[localName]; - for (const jsonItem of jsonValue) { - this.assert(jsonItem !== null, field.name, null); - let val; - switch (field.kind) { - case "message": - val = field.T().internalJsonRead(jsonItem, options); - break; - case "enum": - val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields); - if (val === false) - continue; - break; - case "scalar": - val = this.scalar(jsonItem, field.T, field.L, field.name); - break; - } - this.assert(val !== void 0, field.name, jsonValue); - fieldArr.push(val); - } - } else { - switch (field.kind) { - case "message": - if (jsonValue === null && field.T().typeName != "google.protobuf.Value") { - this.assert(field.oneof === void 0, field.name + " (oneof member)", null); - continue; - } - target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]); - break; - case "enum": - if (jsonValue === null) - continue; - let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields); - if (val === false) - continue; - target[localName] = val; - break; - case "scalar": - if (jsonValue === null) - continue; - target[localName] = this.scalar(jsonValue, field.T, field.L, field.name); - break; - } + function pause() { + if (!cleanedUp) { + if (state.pipes.length === 1 && state.pipes[0] === dest) { + debug4("false write response, pause", 0); + state.awaitDrainWriters = dest; + state.multiAwaitDrain = false; + } else if (state.pipes.length > 1 && state.pipes.includes(dest)) { + debug4("false write response, pause", state.awaitDrainWriters.size); + state.awaitDrainWriters.add(dest); } + src.pause(); + } + if (!ondrain) { + ondrain = pipeOnDrain(src, dest); + dest.on("drain", ondrain); } } - /** - * Returns `false` for unrecognized string representations. - * - * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`). - */ - enum(type2, json2, fieldName, ignoreUnknownFields) { - if (type2[0] == "google.protobuf.NullValue") - assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`); - if (json2 === null) - return 0; - switch (typeof json2) { - case "number": - assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`); - return json2; - case "string": - let localEnumName = json2; - if (type2[2] && json2.substring(0, type2[2].length) === type2[2]) - localEnumName = json2.substring(type2[2].length); - let enumNumber = type2[1][localEnumName]; - if (typeof enumNumber === "undefined" && ignoreUnknownFields) { - return false; - } - assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`); - return enumNumber; + src.on("data", ondata); + function ondata(chunk) { + debug4("ondata"); + const ret = dest.write(chunk); + debug4("dest.write", ret); + if (ret === false) { + pause(); } - assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`); } - scalar(json2, type2, longType, fieldName) { - let e; - try { - switch (type2) { - // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity". - // Either numbers or strings are accepted. Exponent notation is also accepted. - case reflection_info_1.ScalarType.DOUBLE: - case reflection_info_1.ScalarType.FLOAT: - if (json2 === null) - return 0; - if (json2 === "NaN") - return Number.NaN; - if (json2 === "Infinity") - return Number.POSITIVE_INFINITY; - if (json2 === "-Infinity") - return Number.NEGATIVE_INFINITY; - if (json2 === "") { - e = "empty string"; - break; - } - if (typeof json2 == "string" && json2.trim().length !== json2.length) { - e = "extra whitespace"; - break; - } - if (typeof json2 != "string" && typeof json2 != "number") { - break; - } - let float2 = Number(json2); - if (Number.isNaN(float2)) { - e = "not a number"; - break; - } - if (!Number.isFinite(float2)) { - e = "too large or small"; - break; - } - if (type2 == reflection_info_1.ScalarType.FLOAT) - assert_1.assertFloat32(float2); - return float2; - // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted. - case reflection_info_1.ScalarType.INT32: - case reflection_info_1.ScalarType.FIXED32: - case reflection_info_1.ScalarType.SFIXED32: - case reflection_info_1.ScalarType.SINT32: - case reflection_info_1.ScalarType.UINT32: - if (json2 === null) - return 0; - let int32; - if (typeof json2 == "number") - int32 = json2; - else if (json2 === "") - e = "empty string"; - else if (typeof json2 == "string") { - if (json2.trim().length !== json2.length) - e = "extra whitespace"; - else - int32 = Number(json2); - } - if (int32 === void 0) - break; - if (type2 == reflection_info_1.ScalarType.UINT32) - assert_1.assertUInt32(int32); - else - assert_1.assertInt32(int32); - return int32; - // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted. - case reflection_info_1.ScalarType.INT64: - case reflection_info_1.ScalarType.SFIXED64: - case reflection_info_1.ScalarType.SINT64: - if (json2 === null) - return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType); - if (typeof json2 != "number" && typeof json2 != "string") - break; - return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType); - case reflection_info_1.ScalarType.FIXED64: - case reflection_info_1.ScalarType.UINT64: - if (json2 === null) - return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType); - if (typeof json2 != "number" && typeof json2 != "string") - break; - return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType); - // bool: - case reflection_info_1.ScalarType.BOOL: - if (json2 === null) - return false; - if (typeof json2 !== "boolean") - break; - return json2; - // string: - case reflection_info_1.ScalarType.STRING: - if (json2 === null) - return ""; - if (typeof json2 !== "string") { - e = "extra whitespace"; - break; - } - try { - encodeURIComponent(json2); - } catch (e2) { - e2 = "invalid UTF8"; - break; - } - return json2; - // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings. - // Either standard or URL-safe base64 encoding with/without paddings are accepted. - case reflection_info_1.ScalarType.BYTES: - if (json2 === null || json2 === "") - return new Uint8Array(0); - if (typeof json2 !== "string") - break; - return base64_1.base64decode(json2); + function onerror(er) { + debug4("onerror", er); + unpipe(); + dest.removeListener("error", onerror); + if (dest.listenerCount("error") === 0) { + const s = dest._writableState || dest._readableState; + if (s && !s.errorEmitted) { + errorOrDestroy(dest, er); + } else { + dest.emit("error", er); } - } catch (error3) { - e = error3.message; } - this.assert(false, fieldName + (e ? " - " + e : ""), json2); } - }; - exports2.ReflectionJsonReader = ReflectionJsonReader; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js -var require_reflection_json_writer = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ReflectionJsonWriter = void 0; - var base64_1 = require_base642(); - var pb_long_1 = require_pb_long(); - var reflection_info_1 = require_reflection_info(); - var assert_1 = require_assert(); - var ReflectionJsonWriter = class { - constructor(info7) { - var _a; - this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : []; + prependListener(dest, "error", onerror); + function onclose() { + dest.removeListener("finish", onfinish); + unpipe(); } - /** - * Converts the message to a JSON object, based on the field descriptors. - */ - write(message, options) { - const json2 = {}, source = message; - for (const field of this.fields) { - if (!field.oneof) { - let jsonValue2 = this.field(field, source[field.localName], options); - if (jsonValue2 !== void 0) - json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2; - continue; - } - const group = source[field.oneof]; - if (group.oneofKind !== field.localName) - continue; - const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options; - let jsonValue = this.field(field, group[field.localName], opt); - assert_1.assert(jsonValue !== void 0); - json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue; + dest.once("close", onclose); + function onfinish() { + debug4("onfinish"); + dest.removeListener("close", onclose); + unpipe(); + } + dest.once("finish", onfinish); + function unpipe() { + debug4("unpipe"); + src.unpipe(dest); + } + dest.emit("pipe", src); + if (dest.writableNeedDrain === true) { + pause(); + } else if (!state.flowing) { + debug4("pipe resume"); + src.resume(); + } + return dest; + }; + function pipeOnDrain(src, dest) { + return function pipeOnDrainFunctionResult() { + const state = src._readableState; + if (state.awaitDrainWriters === dest) { + debug4("pipeOnDrain", 1); + state.awaitDrainWriters = null; + } else if (state.multiAwaitDrain) { + debug4("pipeOnDrain", state.awaitDrainWriters.size); + state.awaitDrainWriters.delete(dest); } - return json2; + if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) { + src.resume(); + } + }; + } + Readable.prototype.unpipe = function(dest) { + const state = this._readableState; + const unpipeInfo = { + hasUnpiped: false + }; + if (state.pipes.length === 0) return this; + if (!dest) { + const dests = state.pipes; + state.pipes = []; + this.pause(); + for (let i = 0; i < dests.length; i++) + dests[i].emit("unpipe", this, { + hasUnpiped: false + }); + return this; } - field(field, value, options) { - let jsonValue = void 0; - if (field.kind == "map") { - assert_1.assert(typeof value == "object" && value !== null); - const jsonObj = {}; - switch (field.V.kind) { - case "scalar": - for (const [entryKey, entryValue] of Object.entries(value)) { - const val = this.scalar(field.V.T, entryValue, field.name, false, true); - assert_1.assert(val !== void 0); - jsonObj[entryKey.toString()] = val; - } - break; - case "message": - const messageType = field.V.T(); - for (const [entryKey, entryValue] of Object.entries(value)) { - const val = this.message(messageType, entryValue, field.name, options); - assert_1.assert(val !== void 0); - jsonObj[entryKey.toString()] = val; - } - break; - case "enum": - const enumInfo = field.V.T(); - for (const [entryKey, entryValue] of Object.entries(value)) { - assert_1.assert(entryValue === void 0 || typeof entryValue == "number"); - const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger); - assert_1.assert(val !== void 0); - jsonObj[entryKey.toString()] = val; - } - break; - } - if (options.emitDefaultValues || Object.keys(jsonObj).length > 0) - jsonValue = jsonObj; - } else if (field.repeat) { - assert_1.assert(Array.isArray(value)); - const jsonArr = []; - switch (field.kind) { - case "scalar": - for (let i = 0; i < value.length; i++) { - const val = this.scalar(field.T, value[i], field.name, field.opt, true); - assert_1.assert(val !== void 0); - jsonArr.push(val); - } - break; - case "enum": - const enumInfo = field.T(); - for (let i = 0; i < value.length; i++) { - assert_1.assert(value[i] === void 0 || typeof value[i] == "number"); - const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger); - assert_1.assert(val !== void 0); - jsonArr.push(val); - } - break; - case "message": - const messageType = field.T(); - for (let i = 0; i < value.length; i++) { - const val = this.message(messageType, value[i], field.name, options); - assert_1.assert(val !== void 0); - jsonArr.push(val); - } - break; - } - if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues) - jsonValue = jsonArr; - } else { - switch (field.kind) { - case "scalar": - jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues); - break; - case "enum": - jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger); - break; - case "message": - jsonValue = this.message(field.T(), value, field.name, options); - break; + const index = ArrayPrototypeIndexOf(state.pipes, dest); + if (index === -1) return this; + state.pipes.splice(index, 1); + if (state.pipes.length === 0) this.pause(); + dest.emit("unpipe", this, unpipeInfo); + return this; + }; + Readable.prototype.on = function(ev, fn) { + const res = Stream.prototype.on.call(this, ev, fn); + const state = this._readableState; + if (ev === "data") { + state.readableListening = this.listenerCount("readable") > 0; + if (state.flowing !== false) this.resume(); + } else if (ev === "readable") { + if (!state.endEmitted && !state.readableListening) { + state.readableListening = state.needReadable = true; + state.flowing = false; + state.emittedReadable = false; + debug4("on readable", state.length, state.reading); + if (state.length) { + emitReadable(this); + } else if (!state.reading) { + process2.nextTick(nReadingNextTick, this); } } - return jsonValue; } - /** - * Returns `null` as the default for google.protobuf.NullValue. - */ - enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) { - if (type2[0] == "google.protobuf.NullValue") - return !emitDefaultValues && !optional ? void 0 : null; - if (value === void 0) { - assert_1.assert(optional); - return void 0; - } - if (value === 0 && !emitDefaultValues && !optional) - return void 0; - assert_1.assert(typeof value == "number"); - assert_1.assert(Number.isInteger(value)); - if (enumAsInteger || !type2[1].hasOwnProperty(value)) - return value; - if (type2[2]) - return type2[2] + type2[1][value]; - return type2[1][value]; + return res; + }; + Readable.prototype.addListener = Readable.prototype.on; + Readable.prototype.removeListener = function(ev, fn) { + const res = Stream.prototype.removeListener.call(this, ev, fn); + if (ev === "readable") { + process2.nextTick(updateReadableListening, this); } - message(type2, value, fieldName, options) { - if (value === void 0) - return options.emitDefaultValues ? null : void 0; - return type2.internalJsonWrite(value, options); + return res; + }; + Readable.prototype.off = Readable.prototype.removeListener; + Readable.prototype.removeAllListeners = function(ev) { + const res = Stream.prototype.removeAllListeners.apply(this, arguments); + if (ev === "readable" || ev === void 0) { + process2.nextTick(updateReadableListening, this); } - scalar(type2, value, fieldName, optional, emitDefaultValues) { - if (value === void 0) { - assert_1.assert(optional); - return void 0; - } - const ed = emitDefaultValues || optional; - switch (type2) { - // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted. - case reflection_info_1.ScalarType.INT32: - case reflection_info_1.ScalarType.SFIXED32: - case reflection_info_1.ScalarType.SINT32: - if (value === 0) - return ed ? 0 : void 0; - assert_1.assertInt32(value); - return value; - case reflection_info_1.ScalarType.FIXED32: - case reflection_info_1.ScalarType.UINT32: - if (value === 0) - return ed ? 0 : void 0; - assert_1.assertUInt32(value); - return value; - // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity". - // Either numbers or strings are accepted. Exponent notation is also accepted. - case reflection_info_1.ScalarType.FLOAT: - assert_1.assertFloat32(value); - case reflection_info_1.ScalarType.DOUBLE: - if (value === 0) - return ed ? 0 : void 0; - assert_1.assert(typeof value == "number"); - if (Number.isNaN(value)) - return "NaN"; - if (value === Number.POSITIVE_INFINITY) - return "Infinity"; - if (value === Number.NEGATIVE_INFINITY) - return "-Infinity"; - return value; - // string: - case reflection_info_1.ScalarType.STRING: - if (value === "") - return ed ? "" : void 0; - assert_1.assert(typeof value == "string"); - return value; - // bool: - case reflection_info_1.ScalarType.BOOL: - if (value === false) - return ed ? false : void 0; - assert_1.assert(typeof value == "boolean"); - return value; - // JSON value will be a decimal string. Either numbers or strings are accepted. - case reflection_info_1.ScalarType.UINT64: - case reflection_info_1.ScalarType.FIXED64: - assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint"); - let ulong = pb_long_1.PbULong.from(value); - if (ulong.isZero() && !ed) - return void 0; - return ulong.toString(); - // JSON value will be a decimal string. Either numbers or strings are accepted. - case reflection_info_1.ScalarType.INT64: - case reflection_info_1.ScalarType.SFIXED64: - case reflection_info_1.ScalarType.SINT64: - assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint"); - let long = pb_long_1.PbLong.from(value); - if (long.isZero() && !ed) - return void 0; - return long.toString(); - // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings. - // Either standard or URL-safe base64 encoding with/without paddings are accepted. - case reflection_info_1.ScalarType.BYTES: - assert_1.assert(value instanceof Uint8Array); - if (!value.byteLength) - return ed ? "" : void 0; - return base64_1.base64encode(value); - } + return res; + }; + function updateReadableListening(self2) { + const state = self2._readableState; + state.readableListening = self2.listenerCount("readable") > 0; + if (state.resumeScheduled && state[kPaused] === false) { + state.flowing = true; + } else if (self2.listenerCount("data") > 0) { + self2.resume(); + } else if (!state.readableListening) { + state.flowing = null; + } + } + function nReadingNextTick(self2) { + debug4("readable nexttick read 0"); + self2.read(0); + } + Readable.prototype.resume = function() { + const state = this._readableState; + if (!state.flowing) { + debug4("resume"); + state.flowing = !state.readableListening; + resume(this, state); } + state[kPaused] = false; + return this; }; - exports2.ReflectionJsonWriter = ReflectionJsonWriter; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js -var require_reflection_scalar_default = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.reflectionScalarDefault = void 0; - var reflection_info_1 = require_reflection_info(); - var reflection_long_convert_1 = require_reflection_long_convert(); - var pb_long_1 = require_pb_long(); - function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) { - switch (type2) { - case reflection_info_1.ScalarType.BOOL: - return false; - case reflection_info_1.ScalarType.UINT64: - case reflection_info_1.ScalarType.FIXED64: - return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType); - case reflection_info_1.ScalarType.INT64: - case reflection_info_1.ScalarType.SFIXED64: - case reflection_info_1.ScalarType.SINT64: - return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType); - case reflection_info_1.ScalarType.DOUBLE: - case reflection_info_1.ScalarType.FLOAT: - return 0; - case reflection_info_1.ScalarType.BYTES: - return new Uint8Array(0); - case reflection_info_1.ScalarType.STRING: - return ""; - default: - return 0; + function resume(stream, state) { + if (!state.resumeScheduled) { + state.resumeScheduled = true; + process2.nextTick(resume_, stream, state); } } - exports2.reflectionScalarDefault = reflectionScalarDefault; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js -var require_reflection_binary_reader = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ReflectionBinaryReader = void 0; - var binary_format_contract_1 = require_binary_format_contract(); - var reflection_info_1 = require_reflection_info(); - var reflection_long_convert_1 = require_reflection_long_convert(); - var reflection_scalar_default_1 = require_reflection_scalar_default(); - var ReflectionBinaryReader = class { - constructor(info7) { - this.info = info7; + function resume_(stream, state) { + debug4("resume", state.reading); + if (!state.reading) { + stream.read(0); } - prepare() { - var _a; - if (!this.fieldNoToField) { - const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : []; - this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field])); - } + state.resumeScheduled = false; + stream.emit("resume"); + flow(stream); + if (state.flowing && !state.reading) stream.read(0); + } + Readable.prototype.pause = function() { + debug4("call pause flowing=%j", this._readableState.flowing); + if (this._readableState.flowing !== false) { + debug4("pause"); + this._readableState.flowing = false; + this.emit("pause"); } - /** - * Reads a message from binary format into the target message. - * - * Repeated fields are appended. Map entries are added, overwriting - * existing keys. - * - * If a message field is already present, it will be merged with the - * new data. - */ - read(reader, message, options, length) { - this.prepare(); - const end = length === void 0 ? reader.len : reader.pos + length; - while (reader.pos < end) { - const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo); - if (!field) { - let u = options.readUnknownField; - if (u == "throw") - throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d); - continue; - } - let target = message, repeated = field.repeat, localName = field.localName; - if (field.oneof) { - target = target[field.oneof]; - if (target.oneofKind !== localName) - target = message[field.oneof] = { - oneofKind: localName - }; - } - switch (field.kind) { - case "scalar": - case "enum": - let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T; - let L = field.kind == "scalar" ? field.L : void 0; - if (repeated) { - let arr = target[localName]; - if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) { - let e = reader.uint32() + reader.pos; - while (reader.pos < e) - arr.push(this.scalar(reader, T, L)); - } else - arr.push(this.scalar(reader, T, L)); - } else - target[localName] = this.scalar(reader, T, L); - break; - case "message": - if (repeated) { - let arr = target[localName]; - let msg = field.T().internalBinaryRead(reader, reader.uint32(), options); - arr.push(msg); - } else - target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]); - break; - case "map": - let [mapKey, mapVal] = this.mapEntry(field, reader, options); - target[localName][mapKey] = mapVal; - break; - } + this._readableState[kPaused] = true; + return this; + }; + function flow(stream) { + const state = stream._readableState; + debug4("flow", state.flowing); + while (state.flowing && stream.read() !== null) ; + } + Readable.prototype.wrap = function(stream) { + let paused = false; + stream.on("data", (chunk) => { + if (!this.push(chunk) && stream.pause) { + paused = true; + stream.pause(); } - } - /** - * Read a map field, expecting key field = 1, value field = 2 - */ - mapEntry(field, reader, options) { - let length = reader.uint32(); - let end = reader.pos + length; - let key = void 0; - let val = void 0; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case 1: - if (field.K == reflection_info_1.ScalarType.BOOL) - key = reader.bool().toString(); - else - key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING); - break; - case 2: - switch (field.V.kind) { - case "scalar": - val = this.scalar(reader, field.V.T, field.V.L); - break; - case "enum": - val = reader.int32(); - break; - case "message": - val = field.V.T().internalBinaryRead(reader, reader.uint32(), options); - break; - } - break; - default: - throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`); - } + }); + stream.on("end", () => { + this.push(null); + }); + stream.on("error", (err) => { + errorOrDestroy(this, err); + }); + stream.on("close", () => { + this.destroy(); + }); + stream.on("destroy", () => { + this.destroy(); + }); + this._read = () => { + if (paused && stream.resume) { + paused = false; + stream.resume(); } - if (key === void 0) { - let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K); - key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw; + }; + const streamKeys = ObjectKeys(stream); + for (let j = 1; j < streamKeys.length; j++) { + const i = streamKeys[j]; + if (this[i] === void 0 && typeof stream[i] === "function") { + this[i] = stream[i].bind(stream); } - if (val === void 0) - switch (field.V.kind) { - case "scalar": - val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L); - break; - case "enum": - val = 0; - break; - case "message": - val = field.V.T().create(); - break; - } - return [key, val]; } - scalar(reader, type2, longType) { - switch (type2) { - case reflection_info_1.ScalarType.INT32: - return reader.int32(); - case reflection_info_1.ScalarType.STRING: - return reader.string(); - case reflection_info_1.ScalarType.BOOL: - return reader.bool(); - case reflection_info_1.ScalarType.DOUBLE: - return reader.double(); - case reflection_info_1.ScalarType.FLOAT: - return reader.float(); - case reflection_info_1.ScalarType.INT64: - return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType); - case reflection_info_1.ScalarType.UINT64: - return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType); - case reflection_info_1.ScalarType.FIXED64: - return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType); - case reflection_info_1.ScalarType.FIXED32: - return reader.fixed32(); - case reflection_info_1.ScalarType.BYTES: - return reader.bytes(); - case reflection_info_1.ScalarType.UINT32: - return reader.uint32(); - case reflection_info_1.ScalarType.SFIXED32: - return reader.sfixed32(); - case reflection_info_1.ScalarType.SFIXED64: - return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType); - case reflection_info_1.ScalarType.SINT32: - return reader.sint32(); - case reflection_info_1.ScalarType.SINT64: - return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType); - } + return this; + }; + Readable.prototype[SymbolAsyncIterator] = function() { + return streamToAsyncIterator(this); + }; + Readable.prototype.iterator = function(options) { + if (options !== void 0) { + validateObject(options, "options"); } + return streamToAsyncIterator(this, options); }; - exports2.ReflectionBinaryReader = ReflectionBinaryReader; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js -var require_reflection_binary_writer = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ReflectionBinaryWriter = void 0; - var binary_format_contract_1 = require_binary_format_contract(); - var reflection_info_1 = require_reflection_info(); - var assert_1 = require_assert(); - var pb_long_1 = require_pb_long(); - var ReflectionBinaryWriter = class { - constructor(info7) { - this.info = info7; + function streamToAsyncIterator(stream, options) { + if (typeof stream.read !== "function") { + stream = Readable.wrap(stream, { + objectMode: true + }); } - prepare() { - if (!this.fields) { - const fieldsInput = this.info.fields ? this.info.fields.concat() : []; - this.fields = fieldsInput.sort((a, b) => a.no - b.no); + const iter = createAsyncIterator(stream, options); + iter.stream = stream; + return iter; + } + async function* createAsyncIterator(stream, options) { + let callback = nop; + function next(resolve5) { + if (this === stream) { + callback(); + callback = nop; + } else { + callback = resolve5; } } - /** - * Writes the message to binary format. - */ - write(message, writer, options) { - this.prepare(); - for (const field of this.fields) { - let value, emitDefault, repeated = field.repeat, localName = field.localName; - if (field.oneof) { - const group = message[field.oneof]; - if (group.oneofKind !== localName) - continue; - value = group[localName]; - emitDefault = true; + stream.on("readable", next); + let error3; + const cleanup = eos( + stream, + { + writable: false + }, + (err) => { + error3 = err ? aggregateTwoErrors(error3, err) : null; + callback(); + callback = nop; + } + ); + try { + while (true) { + const chunk = stream.destroyed ? null : stream.read(); + if (chunk !== null) { + yield chunk; + } else if (error3) { + throw error3; + } else if (error3 === null) { + return; } else { - value = message[localName]; - emitDefault = false; + await new Promise2(next); } - switch (field.kind) { - case "scalar": - case "enum": - let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T; - if (repeated) { - assert_1.assert(Array.isArray(value)); - if (repeated == reflection_info_1.RepeatType.PACKED) - this.packed(writer, T, field.no, value); - else - for (const item of value) - this.scalar(writer, T, field.no, item, true); - } else if (value === void 0) - assert_1.assert(field.opt); - else - this.scalar(writer, T, field.no, value, emitDefault || field.opt); - break; - case "message": - if (repeated) { - assert_1.assert(Array.isArray(value)); - for (const item of value) - this.message(writer, options, field.T(), field.no, item); - } else { - this.message(writer, options, field.T(), field.no, value); - } - break; - case "map": - assert_1.assert(typeof value == "object" && value !== null); - for (const [key, val] of Object.entries(value)) - this.mapEntry(writer, options, field, key, val); - break; + } + } catch (err) { + error3 = aggregateTwoErrors(error3, err); + throw error3; + } finally { + if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream._readableState.autoDestroy)) { + destroyImpl.destroyer(stream, null); + } else { + stream.off("readable", next); + cleanup(); + } + } + } + ObjectDefineProperties(Readable.prototype, { + readable: { + __proto__: null, + get() { + const r = this._readableState; + return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted; + }, + set(val) { + if (this._readableState) { + this._readableState.readable = !!val; } } - let u = options.writeUnknownFields; - if (u !== false) - (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer); + }, + readableDidRead: { + __proto__: null, + enumerable: false, + get: function() { + return this._readableState.dataEmitted; + } + }, + readableAborted: { + __proto__: null, + enumerable: false, + get: function() { + return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted); + } + }, + readableHighWaterMark: { + __proto__: null, + enumerable: false, + get: function() { + return this._readableState.highWaterMark; + } + }, + readableBuffer: { + __proto__: null, + enumerable: false, + get: function() { + return this._readableState && this._readableState.buffer; + } + }, + readableFlowing: { + __proto__: null, + enumerable: false, + get: function() { + return this._readableState.flowing; + }, + set: function(state) { + if (this._readableState) { + this._readableState.flowing = state; + } + } + }, + readableLength: { + __proto__: null, + enumerable: false, + get() { + return this._readableState.length; + } + }, + readableObjectMode: { + __proto__: null, + enumerable: false, + get() { + return this._readableState ? this._readableState.objectMode : false; + } + }, + readableEncoding: { + __proto__: null, + enumerable: false, + get() { + return this._readableState ? this._readableState.encoding : null; + } + }, + errored: { + __proto__: null, + enumerable: false, + get() { + return this._readableState ? this._readableState.errored : null; + } + }, + closed: { + __proto__: null, + get() { + return this._readableState ? this._readableState.closed : false; + } + }, + destroyed: { + __proto__: null, + enumerable: false, + get() { + return this._readableState ? this._readableState.destroyed : false; + }, + set(value) { + if (!this._readableState) { + return; + } + this._readableState.destroyed = value; + } + }, + readableEnded: { + __proto__: null, + enumerable: false, + get() { + return this._readableState ? this._readableState.endEmitted : false; + } } - mapEntry(writer, options, field, key, value) { - writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited); - writer.fork(); - let keyValue = key; - switch (field.K) { - case reflection_info_1.ScalarType.INT32: - case reflection_info_1.ScalarType.FIXED32: - case reflection_info_1.ScalarType.UINT32: - case reflection_info_1.ScalarType.SFIXED32: - case reflection_info_1.ScalarType.SINT32: - keyValue = Number.parseInt(key); - break; - case reflection_info_1.ScalarType.BOOL: - assert_1.assert(key == "true" || key == "false"); - keyValue = key == "true"; - break; + }); + ObjectDefineProperties(ReadableState.prototype, { + // Legacy getter for `pipesCount`. + pipesCount: { + __proto__: null, + get() { + return this.pipes.length; } - this.scalar(writer, field.K, 1, keyValue, true); - switch (field.V.kind) { - case "scalar": - this.scalar(writer, field.V.T, 2, value, true); - break; - case "enum": - this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true); - break; - case "message": - this.message(writer, options, field.V.T(), 2, value); - break; + }, + // Legacy property for `paused`. + paused: { + __proto__: null, + get() { + return this[kPaused] !== false; + }, + set(value) { + this[kPaused] = !!value; } - writer.join(); } - message(writer, options, handler2, fieldNo, value) { - if (value === void 0) - return; - handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options); - writer.join(); + }); + Readable._fromList = fromList; + function fromList(n, state) { + if (state.length === 0) return null; + let ret; + if (state.objectMode) ret = state.buffer.shift(); + else if (!n || n >= state.length) { + if (state.decoder) ret = state.buffer.join(""); + else if (state.buffer.length === 1) ret = state.buffer.first(); + else ret = state.buffer.concat(state.length); + state.buffer.clear(); + } else { + ret = state.buffer.consume(n, state.decoder); } - /** - * Write a single scalar value. - */ - scalar(writer, type2, fieldNo, value, emitDefault) { - let [wireType, method, isDefault] = this.scalarInfo(type2, value); - if (!isDefault || emitDefault) { - writer.tag(fieldNo, wireType); - writer[method](value); + return ret; + } + function endReadable(stream) { + const state = stream._readableState; + debug4("endReadable", state.endEmitted); + if (!state.endEmitted) { + state.ended = true; + process2.nextTick(endReadableNT, state, stream); + } + } + function endReadableNT(state, stream) { + debug4("endReadableNT", state.endEmitted, state.length); + if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) { + state.endEmitted = true; + stream.emit("end"); + if (stream.writable && stream.allowHalfOpen === false) { + process2.nextTick(endWritableNT, stream); + } else if (state.autoDestroy) { + const wState = stream._writableState; + const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish' + // if writable is explicitly set to false. + (wState.finished || wState.writable === false); + if (autoDestroy) { + stream.destroy(); + } } } - /** - * Write an array of scalar values in packed format. - */ - packed(writer, type2, fieldNo, value) { - if (!value.length) - return; - assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING); - writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited); - writer.fork(); - let [, method] = this.scalarInfo(type2); - for (let i = 0; i < value.length; i++) - writer[method](value[i]); - writer.join(); + } + function endWritableNT(stream) { + const writable = stream.writable && !stream.writableEnded && !stream.destroyed; + if (writable) { + stream.end(); } - /** - * Get information for writing a scalar value. - * - * Returns tuple: - * [0]: appropriate WireType - * [1]: name of the appropriate method of IBinaryWriter - * [2]: whether the given value is a default value - * - * If argument `value` is omitted, [2] is always false. - */ - scalarInfo(type2, value) { - let t = binary_format_contract_1.WireType.Varint; - let m; - let i = value === void 0; - let d = value === 0; - switch (type2) { - case reflection_info_1.ScalarType.INT32: - m = "int32"; - break; - case reflection_info_1.ScalarType.STRING: - d = i || !value.length; - t = binary_format_contract_1.WireType.LengthDelimited; - m = "string"; - break; - case reflection_info_1.ScalarType.BOOL: - d = value === false; - m = "bool"; - break; - case reflection_info_1.ScalarType.UINT32: - m = "uint32"; - break; - case reflection_info_1.ScalarType.DOUBLE: - t = binary_format_contract_1.WireType.Bit64; - m = "double"; - break; - case reflection_info_1.ScalarType.FLOAT: - t = binary_format_contract_1.WireType.Bit32; - m = "float"; - break; - case reflection_info_1.ScalarType.INT64: - d = i || pb_long_1.PbLong.from(value).isZero(); - m = "int64"; - break; - case reflection_info_1.ScalarType.UINT64: - d = i || pb_long_1.PbULong.from(value).isZero(); - m = "uint64"; - break; - case reflection_info_1.ScalarType.FIXED64: - d = i || pb_long_1.PbULong.from(value).isZero(); - t = binary_format_contract_1.WireType.Bit64; - m = "fixed64"; - break; - case reflection_info_1.ScalarType.BYTES: - d = i || !value.byteLength; - t = binary_format_contract_1.WireType.LengthDelimited; - m = "bytes"; - break; - case reflection_info_1.ScalarType.FIXED32: - t = binary_format_contract_1.WireType.Bit32; - m = "fixed32"; - break; - case reflection_info_1.ScalarType.SFIXED32: - t = binary_format_contract_1.WireType.Bit32; - m = "sfixed32"; - break; - case reflection_info_1.ScalarType.SFIXED64: - d = i || pb_long_1.PbLong.from(value).isZero(); - t = binary_format_contract_1.WireType.Bit64; - m = "sfixed64"; - break; - case reflection_info_1.ScalarType.SINT32: - m = "sint32"; - break; - case reflection_info_1.ScalarType.SINT64: - d = i || pb_long_1.PbLong.from(value).isZero(); - m = "sint64"; - break; + } + Readable.from = function(iterable, opts) { + return from(Readable, iterable, opts); + }; + var webStreamsAdapters; + function lazyWebStreams() { + if (webStreamsAdapters === void 0) webStreamsAdapters = {}; + return webStreamsAdapters; + } + Readable.fromWeb = function(readableStream, options) { + return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options); + }; + Readable.toWeb = function(streamReadable, options) { + return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options); + }; + Readable.wrap = function(src, options) { + var _ref, _src$readableObjectMo; + return new Readable({ + objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true, + ...options, + destroy(err, callback) { + destroyImpl.destroyer(src, err); + callback(err); } - return [t, m, i || d]; - } + }).wrap(src); }; - exports2.ReflectionBinaryWriter = ReflectionBinaryWriter; } }); -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js -var require_reflection_create = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.reflectionCreate = void 0; - var reflection_scalar_default_1 = require_reflection_scalar_default(); - var message_type_contract_1 = require_message_type_contract(); - function reflectionCreate(type2) { - const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 }); - for (let field of type2.fields) { - let name = field.localName; - if (field.opt) - continue; - if (field.oneof) - msg[field.oneof] = { oneofKind: void 0 }; - else if (field.repeat) - msg[name] = []; - else - switch (field.kind) { - case "scalar": - msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L); - break; - case "enum": - msg[name] = 0; - break; - case "map": - msg[name] = {}; - break; - } +// node_modules/readable-stream/lib/internal/streams/writable.js +var require_writable = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) { + var process2 = require_process(); + var { + ArrayPrototypeSlice, + Error: Error2, + FunctionPrototypeSymbolHasInstance, + ObjectDefineProperty, + ObjectDefineProperties, + ObjectSetPrototypeOf, + StringPrototypeToLowerCase, + Symbol: Symbol2, + SymbolHasInstance + } = require_primordials(); + module2.exports = Writable; + Writable.WritableState = WritableState; + var { EventEmitter: EE } = require("events"); + var Stream = require_legacy().Stream; + var { Buffer: Buffer2 } = require("buffer"); + var destroyImpl = require_destroy2(); + var { addAbortSignal } = require_add_abort_signal(); + var { getHighWaterMark, getDefaultHighWaterMark } = require_state3(); + var { + ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, + ERR_METHOD_NOT_IMPLEMENTED, + ERR_MULTIPLE_CALLBACK, + ERR_STREAM_CANNOT_PIPE, + ERR_STREAM_DESTROYED, + ERR_STREAM_ALREADY_FINISHED, + ERR_STREAM_NULL_VALUES, + ERR_STREAM_WRITE_AFTER_END, + ERR_UNKNOWN_ENCODING + } = require_errors5().codes; + var { errorOrDestroy } = destroyImpl; + ObjectSetPrototypeOf(Writable.prototype, Stream.prototype); + ObjectSetPrototypeOf(Writable, Stream); + function nop() { + } + var kOnFinished = Symbol2("kOnFinished"); + function WritableState(options, stream, isDuplex) { + if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex(); + this.objectMode = !!(options && options.objectMode); + if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode); + this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false); + this.finalCalled = false; + this.needDrain = false; + this.ending = false; + this.ended = false; + this.finished = false; + this.destroyed = false; + const noDecode = !!(options && options.decodeStrings === false); + this.decodeStrings = !noDecode; + this.defaultEncoding = options && options.defaultEncoding || "utf8"; + this.length = 0; + this.writing = false; + this.corked = 0; + this.sync = true; + this.bufferProcessing = false; + this.onwrite = onwrite.bind(void 0, stream); + this.writecb = null; + this.writelen = 0; + this.afterWriteTickInfo = null; + resetBuffer(this); + this.pendingcb = 0; + this.constructed = true; + this.prefinished = false; + this.errorEmitted = false; + this.emitClose = !options || options.emitClose !== false; + this.autoDestroy = !options || options.autoDestroy !== false; + this.errored = null; + this.closed = false; + this.closeEmitted = false; + this[kOnFinished] = []; + } + function resetBuffer(state) { + state.buffered = []; + state.bufferedIndex = 0; + state.allBuffers = true; + state.allNoop = true; + } + WritableState.prototype.getBuffer = function getBuffer() { + return ArrayPrototypeSlice(this.buffered, this.bufferedIndex); + }; + ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", { + __proto__: null, + get() { + return this.buffered.length - this.bufferedIndex; } - return msg; + }); + function Writable(options) { + const isDuplex = this instanceof require_duplex(); + if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options); + this._writableState = new WritableState(options, this, isDuplex); + if (options) { + if (typeof options.write === "function") this._write = options.write; + if (typeof options.writev === "function") this._writev = options.writev; + if (typeof options.destroy === "function") this._destroy = options.destroy; + if (typeof options.final === "function") this._final = options.final; + if (typeof options.construct === "function") this._construct = options.construct; + if (options.signal) addAbortSignal(options.signal, this); + } + Stream.call(this, options); + destroyImpl.construct(this, () => { + const state = this._writableState; + if (!state.writing) { + clearBuffer(this, state); + } + finishMaybe(this, state); + }); } - exports2.reflectionCreate = reflectionCreate; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js -var require_reflection_merge_partial = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.reflectionMergePartial = void 0; - function reflectionMergePartial(info7, target, source) { - let fieldValue, input = source, output; - for (let field of info7.fields) { - let name = field.localName; - if (field.oneof) { - const group = input[field.oneof]; - if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) { - continue; - } - fieldValue = group[name]; - output = target[field.oneof]; - output.oneofKind = group.oneofKind; - if (fieldValue == void 0) { - delete output[name]; - continue; + ObjectDefineProperty(Writable, SymbolHasInstance, { + __proto__: null, + value: function(object) { + if (FunctionPrototypeSymbolHasInstance(this, object)) return true; + if (this !== Writable) return false; + return object && object._writableState instanceof WritableState; + } + }); + Writable.prototype.pipe = function() { + errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE()); + }; + function _write(stream, chunk, encoding, cb) { + const state = stream._writableState; + if (typeof encoding === "function") { + cb = encoding; + encoding = state.defaultEncoding; + } else { + if (!encoding) encoding = state.defaultEncoding; + else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding); + if (typeof cb !== "function") cb = nop; + } + if (chunk === null) { + throw new ERR_STREAM_NULL_VALUES(); + } else if (!state.objectMode) { + if (typeof chunk === "string") { + if (state.decodeStrings !== false) { + chunk = Buffer2.from(chunk, encoding); + encoding = "buffer"; } + } else if (chunk instanceof Buffer2) { + encoding = "buffer"; + } else if (Stream._isUint8Array(chunk)) { + chunk = Stream._uint8ArrayToBuffer(chunk); + encoding = "buffer"; } else { - fieldValue = input[name]; - output = target; - if (fieldValue == void 0) { - continue; - } - } - if (field.repeat) - output[name].length = fieldValue.length; - switch (field.kind) { - case "scalar": - case "enum": - if (field.repeat) - for (let i = 0; i < fieldValue.length; i++) - output[name][i] = fieldValue[i]; - else - output[name] = fieldValue; - break; - case "message": - let T = field.T(); - if (field.repeat) - for (let i = 0; i < fieldValue.length; i++) - output[name][i] = T.create(fieldValue[i]); - else if (output[name] === void 0) - output[name] = T.create(fieldValue); - else - T.mergePartial(output[name], fieldValue); - break; - case "map": - switch (field.V.kind) { - case "scalar": - case "enum": - Object.assign(output[name], fieldValue); - break; - case "message": - let T2 = field.V.T(); - for (let k of Object.keys(fieldValue)) - output[name][k] = T2.create(fieldValue[k]); - break; - } - break; + throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk); } } + let err; + if (state.ending) { + err = new ERR_STREAM_WRITE_AFTER_END(); + } else if (state.destroyed) { + err = new ERR_STREAM_DESTROYED("write"); + } + if (err) { + process2.nextTick(cb, err); + errorOrDestroy(stream, err, true); + return err; + } + state.pendingcb++; + return writeOrBuffer(stream, state, chunk, encoding, cb); } - exports2.reflectionMergePartial = reflectionMergePartial; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js -var require_reflection_equals = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.reflectionEquals = void 0; - var reflection_info_1 = require_reflection_info(); - function reflectionEquals(info7, a, b) { - if (a === b) - return true; - if (!a || !b) - return false; - for (let field of info7.fields) { - let localName = field.localName; - let val_a = field.oneof ? a[field.oneof][localName] : a[localName]; - let val_b = field.oneof ? b[field.oneof][localName] : b[localName]; - switch (field.kind) { - case "enum": - case "scalar": - let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T; - if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b))) - return false; - break; - case "map": - if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b)))) - return false; - break; - case "message": - let T = field.T(); - if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b))) - return false; - break; + Writable.prototype.write = function(chunk, encoding, cb) { + return _write(this, chunk, encoding, cb) === true; + }; + Writable.prototype.cork = function() { + this._writableState.corked++; + }; + Writable.prototype.uncork = function() { + const state = this._writableState; + if (state.corked) { + state.corked--; + if (!state.writing) clearBuffer(this, state); + } + }; + Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { + if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding); + if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding); + this._writableState.defaultEncoding = encoding; + return this; + }; + function writeOrBuffer(stream, state, chunk, encoding, callback) { + const len = state.objectMode ? 1 : chunk.length; + state.length += len; + const ret = state.length < state.highWaterMark; + if (!ret) state.needDrain = true; + if (state.writing || state.corked || state.errored || !state.constructed) { + state.buffered.push({ + chunk, + encoding, + callback + }); + if (state.allBuffers && encoding !== "buffer") { + state.allBuffers = false; } + if (state.allNoop && callback !== nop) { + state.allNoop = false; + } + } else { + state.writelen = len; + state.writecb = callback; + state.writing = true; + state.sync = true; + stream._write(chunk, encoding, state.onwrite); + state.sync = false; } - return true; - } - exports2.reflectionEquals = reflectionEquals; - var objectValues = Object.values; - function primitiveEq(type2, a, b) { - if (a === b) - return true; - if (type2 !== reflection_info_1.ScalarType.BYTES) - return false; - let ba = a; - let bb = b; - if (ba.length !== bb.length) - return false; - for (let i = 0; i < ba.length; i++) - if (ba[i] != bb[i]) - return false; - return true; + return ret && !state.errored && !state.destroyed; } - function repeatedPrimitiveEq(type2, a, b) { - if (a.length !== b.length) - return false; - for (let i = 0; i < a.length; i++) - if (!primitiveEq(type2, a[i], b[i])) - return false; - return true; + function doWrite(stream, state, writev, len, chunk, encoding, cb) { + state.writelen = len; + state.writecb = cb; + state.writing = true; + state.sync = true; + if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write")); + else if (writev) stream._writev(chunk, state.onwrite); + else stream._write(chunk, encoding, state.onwrite); + state.sync = false; } - function repeatedMsgEq(type2, a, b) { - if (a.length !== b.length) - return false; - for (let i = 0; i < a.length; i++) - if (!type2.equals(a[i], b[i])) - return false; - return true; + function onwriteError(stream, state, er, cb) { + --state.pendingcb; + cb(er); + errorBuffer(state); + errorOrDestroy(stream, er); } - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js -var require_message_type = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.MessageType = void 0; - var message_type_contract_1 = require_message_type_contract(); - var reflection_info_1 = require_reflection_info(); - var reflection_type_check_1 = require_reflection_type_check(); - var reflection_json_reader_1 = require_reflection_json_reader(); - var reflection_json_writer_1 = require_reflection_json_writer(); - var reflection_binary_reader_1 = require_reflection_binary_reader(); - var reflection_binary_writer_1 = require_reflection_binary_writer(); - var reflection_create_1 = require_reflection_create(); - var reflection_merge_partial_1 = require_reflection_merge_partial(); - var json_typings_1 = require_json_typings(); - var json_format_contract_1 = require_json_format_contract(); - var reflection_equals_1 = require_reflection_equals(); - var binary_writer_1 = require_binary_writer(); - var binary_reader_1 = require_binary_reader(); - var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})); - var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {}; - var MessageType = class { - constructor(name, fields, options) { - this.defaultCheckDepth = 16; - this.typeName = name; - this.fields = fields.map(reflection_info_1.normalizeFieldInfo); - this.options = options !== null && options !== void 0 ? options : {}; - messageTypeDescriptor.value = this; - this.messagePrototype = Object.create(null, baseDescriptors); - this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this); - this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this); - this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this); - this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this); - this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this); + function onwrite(stream, er) { + const state = stream._writableState; + const sync = state.sync; + const cb = state.writecb; + if (typeof cb !== "function") { + errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK()); + return; } - create(value) { - let message = reflection_create_1.reflectionCreate(this); - if (value !== void 0) { - reflection_merge_partial_1.reflectionMergePartial(this, message, value); + state.writing = false; + state.writecb = null; + state.length -= state.writelen; + state.writelen = 0; + if (er) { + er.stack; + if (!state.errored) { + state.errored = er; + } + if (stream._readableState && !stream._readableState.errored) { + stream._readableState.errored = er; + } + if (sync) { + process2.nextTick(onwriteError, stream, state, er, cb); + } else { + onwriteError(stream, state, er, cb); + } + } else { + if (state.buffered.length > state.bufferedIndex) { + clearBuffer(stream, state); + } + if (sync) { + if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) { + state.afterWriteTickInfo.count++; + } else { + state.afterWriteTickInfo = { + count: 1, + cb, + stream, + state + }; + process2.nextTick(afterWriteTick, state.afterWriteTickInfo); + } + } else { + afterWrite(stream, state, 1, cb); } - return message; } - /** - * Clone the message. - * - * Unknown fields are discarded. - */ - clone(message) { - let copy = this.create(); - reflection_merge_partial_1.reflectionMergePartial(this, copy, message); - return copy; + } + function afterWriteTick({ stream, state, count, cb }) { + state.afterWriteTickInfo = null; + return afterWrite(stream, state, count, cb); + } + function afterWrite(stream, state, count, cb) { + const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain; + if (needDrain) { + state.needDrain = false; + stream.emit("drain"); } - /** - * Determines whether two message of the same type have the same field values. - * Checks for deep equality, traversing repeated fields, oneof groups, maps - * and messages recursively. - * Will also return true if both messages are `undefined`. - */ - equals(a, b) { - return reflection_equals_1.reflectionEquals(this, a, b); + while (count-- > 0) { + state.pendingcb--; + cb(); } - /** - * Is the given value assignable to our message type - * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)? - */ - is(arg, depth = this.defaultCheckDepth) { - return this.refTypeCheck.is(arg, depth, false); + if (state.destroyed) { + errorBuffer(state); } - /** - * Is the given value assignable to our message type, - * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)? - */ - isAssignable(arg, depth = this.defaultCheckDepth) { - return this.refTypeCheck.is(arg, depth, true); + finishMaybe(stream, state); + } + function errorBuffer(state) { + if (state.writing) { + return; } - /** - * Copy partial data into the target message. - */ - mergePartial(target, source) { - reflection_merge_partial_1.reflectionMergePartial(this, target, source); + for (let n = state.bufferedIndex; n < state.buffered.length; ++n) { + var _state$errored; + const { chunk, callback } = state.buffered[n]; + const len = state.objectMode ? 1 : chunk.length; + state.length -= len; + callback( + (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write") + ); } - /** - * Create a new message from binary format. - */ - fromBinary(data, options) { - let opt = binary_reader_1.binaryReadOptions(options); - return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt); + const onfinishCallbacks = state[kOnFinished].splice(0); + for (let i = 0; i < onfinishCallbacks.length; i++) { + var _state$errored2; + onfinishCallbacks[i]( + (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end") + ); } - /** - * Read a new message from a JSON value. - */ - fromJson(json2, options) { - return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options)); + resetBuffer(state); + } + function clearBuffer(stream, state) { + if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) { + return; } - /** - * Read a new message from a JSON string. - * This is equivalent to `T.fromJson(JSON.parse(json))`. - */ - fromJsonString(json2, options) { - let value = JSON.parse(json2); - return this.fromJson(value, options); + const { buffered, bufferedIndex, objectMode } = state; + const bufferedLength = buffered.length - bufferedIndex; + if (!bufferedLength) { + return; } - /** - * Write the message to canonical JSON value. - */ - toJson(message, options) { - return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options)); + let i = bufferedIndex; + state.bufferProcessing = true; + if (bufferedLength > 1 && stream._writev) { + state.pendingcb -= bufferedLength - 1; + const callback = state.allNoop ? nop : (err) => { + for (let n = i; n < buffered.length; ++n) { + buffered[n].callback(err); + } + }; + const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i); + chunks.allBuffers = state.allBuffers; + doWrite(stream, state, true, state.length, chunks, "", callback); + resetBuffer(state); + } else { + do { + const { chunk, encoding, callback } = buffered[i]; + buffered[i++] = null; + const len = objectMode ? 1 : chunk.length; + doWrite(stream, state, false, len, chunk, encoding, callback); + } while (i < buffered.length && !state.writing); + if (i === buffered.length) { + resetBuffer(state); + } else if (i > 256) { + buffered.splice(0, i); + state.bufferedIndex = 0; + } else { + state.bufferedIndex = i; + } } - /** - * Convert the message to canonical JSON string. - * This is equivalent to `JSON.stringify(T.toJson(t))` - */ - toJsonString(message, options) { - var _a; - let value = this.toJson(message, options); - return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0); + state.bufferProcessing = false; + } + Writable.prototype._write = function(chunk, encoding, cb) { + if (this._writev) { + this._writev( + [ + { + chunk, + encoding + } + ], + cb + ); + } else { + throw new ERR_METHOD_NOT_IMPLEMENTED("_write()"); } - /** - * Write the message to binary format. - */ - toBinary(message, options) { - let opt = binary_writer_1.binaryWriteOptions(options); - return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish(); + }; + Writable.prototype._writev = null; + Writable.prototype.end = function(chunk, encoding, cb) { + const state = this._writableState; + if (typeof chunk === "function") { + cb = chunk; + chunk = null; + encoding = null; + } else if (typeof encoding === "function") { + cb = encoding; + encoding = null; } - /** - * This is an internal method. If you just want to read a message from - * JSON, use `fromJson()` or `fromJsonString()`. - * - * Reads JSON value and merges the fields into the target - * according to protobuf rules. If the target is omitted, - * a new instance is created first. - */ - internalJsonRead(json2, options, target) { - if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) { - let message = target !== null && target !== void 0 ? target : this.create(); - this.refJsonReader.read(json2, message, options); - return message; + let err; + if (chunk !== null && chunk !== void 0) { + const ret = _write(this, chunk, encoding); + if (ret instanceof Error2) { + err = ret; } - throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`); } - /** - * This is an internal method. If you just want to write a message - * to JSON, use `toJson()` or `toJsonString(). - * - * Writes JSON value and returns it. - */ - internalJsonWrite(message, options) { - return this.refJsonWriter.write(message, options); + if (state.corked) { + state.corked = 1; + this.uncork(); } - /** - * This is an internal method. If you just want to write a message - * in binary format, use `toBinary()`. - * - * Serializes the message in binary format and appends it to the given - * writer. Returns passed writer. - */ - internalBinaryWrite(message, writer, options) { - this.refBinWriter.write(message, writer, options); - return writer; + if (err) { + } else if (!state.errored && !state.ending) { + state.ending = true; + finishMaybe(this, state, true); + state.ended = true; + } else if (state.finished) { + err = new ERR_STREAM_ALREADY_FINISHED("end"); + } else if (state.destroyed) { + err = new ERR_STREAM_DESTROYED("end"); } - /** - * This is an internal method. If you just want to read a message from - * binary data, use `fromBinary()`. - * - * Reads data from binary format and merges the fields into - * the target according to protobuf rules. If the target is - * omitted, a new instance is created first. - */ - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(); - this.refBinReader.read(reader, message, options, length); - return message; + if (typeof cb === "function") { + if (err || state.finished) { + process2.nextTick(cb, err); + } else { + state[kOnFinished].push(cb); + } } + return this; }; - exports2.MessageType = MessageType; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js -var require_reflection_contains_message_type = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.containsMessageType = void 0; - var message_type_contract_1 = require_message_type_contract(); - function containsMessageType(msg) { - return msg[message_type_contract_1.MESSAGE_TYPE] != null; + function needFinish(state) { + return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted; } - exports2.containsMessageType = containsMessageType; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js -var require_enum_object = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0; - function isEnumObject(arg) { - if (typeof arg != "object" || arg === null) { - return false; + function callFinal(stream, state) { + let called = false; + function onFinish(err) { + if (called) { + errorOrDestroy(stream, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK()); + return; + } + called = true; + state.pendingcb--; + if (err) { + const onfinishCallbacks = state[kOnFinished].splice(0); + for (let i = 0; i < onfinishCallbacks.length; i++) { + onfinishCallbacks[i](err); + } + errorOrDestroy(stream, err, state.sync); + } else if (needFinish(state)) { + state.prefinished = true; + stream.emit("prefinish"); + state.pendingcb++; + process2.nextTick(finish, stream, state); + } } - if (!arg.hasOwnProperty(0)) { - return false; + state.sync = true; + state.pendingcb++; + try { + stream._final(onFinish); + } catch (err) { + onFinish(err); } - for (let k of Object.keys(arg)) { - let num = parseInt(k); - if (!Number.isNaN(num)) { - let nam = arg[num]; - if (nam === void 0) - return false; - if (arg[nam] !== num) - return false; + state.sync = false; + } + function prefinish(stream, state) { + if (!state.prefinished && !state.finalCalled) { + if (typeof stream._final === "function" && !state.destroyed) { + state.finalCalled = true; + callFinal(stream, state); } else { - let num2 = arg[k]; - if (num2 === void 0) - return false; - if (typeof num2 !== "number") - return false; - if (arg[num2] === void 0) - return false; + state.prefinished = true; + stream.emit("prefinish"); } } - return true; - } - exports2.isEnumObject = isEnumObject; - function listEnumValues(enumObject) { - if (!isEnumObject(enumObject)) - throw new Error("not a typescript enum object"); - let values = []; - for (let [name, number] of Object.entries(enumObject)) - if (typeof number == "number") - values.push({ name, number }); - return values; - } - exports2.listEnumValues = listEnumValues; - function listEnumNames(enumObject) { - return listEnumValues(enumObject).map((val) => val.name); - } - exports2.listEnumNames = listEnumNames; - function listEnumNumbers(enumObject) { - return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index); - } - exports2.listEnumNumbers = listEnumNumbers; - } -}); - -// node_modules/@protobuf-ts/runtime/build/commonjs/index.js -var require_commonjs16 = __commonJS({ - "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var json_typings_1 = require_json_typings(); - Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() { - return json_typings_1.typeofJsonValue; - } }); - Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() { - return json_typings_1.isJsonObject; - } }); - var base64_1 = require_base642(); - Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() { - return base64_1.base64decode; - } }); - Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() { - return base64_1.base64encode; - } }); - var protobufjs_utf8_1 = require_protobufjs_utf8(); - Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() { - return protobufjs_utf8_1.utf8read; - } }); - var binary_format_contract_1 = require_binary_format_contract(); - Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() { - return binary_format_contract_1.WireType; - } }); - Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() { - return binary_format_contract_1.mergeBinaryOptions; - } }); - Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() { - return binary_format_contract_1.UnknownFieldHandler; - } }); - var binary_reader_1 = require_binary_reader(); - Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() { - return binary_reader_1.BinaryReader; - } }); - Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() { - return binary_reader_1.binaryReadOptions; - } }); - var binary_writer_1 = require_binary_writer(); - Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() { - return binary_writer_1.BinaryWriter; - } }); - Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() { - return binary_writer_1.binaryWriteOptions; - } }); - var pb_long_1 = require_pb_long(); - Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() { - return pb_long_1.PbLong; - } }); - Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() { - return pb_long_1.PbULong; - } }); - var json_format_contract_1 = require_json_format_contract(); - Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() { - return json_format_contract_1.jsonReadOptions; - } }); - Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() { - return json_format_contract_1.jsonWriteOptions; - } }); - Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() { - return json_format_contract_1.mergeJsonOptions; - } }); - var message_type_contract_1 = require_message_type_contract(); - Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() { - return message_type_contract_1.MESSAGE_TYPE; - } }); - var message_type_1 = require_message_type(); - Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() { - return message_type_1.MessageType; - } }); - var reflection_info_1 = require_reflection_info(); - Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() { - return reflection_info_1.ScalarType; - } }); - Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() { - return reflection_info_1.LongType; - } }); - Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() { - return reflection_info_1.RepeatType; - } }); - Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() { - return reflection_info_1.normalizeFieldInfo; - } }); - Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() { - return reflection_info_1.readFieldOptions; - } }); - Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() { - return reflection_info_1.readFieldOption; - } }); - Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() { - return reflection_info_1.readMessageOption; - } }); - var reflection_type_check_1 = require_reflection_type_check(); - Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() { - return reflection_type_check_1.ReflectionTypeCheck; - } }); - var reflection_create_1 = require_reflection_create(); - Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() { - return reflection_create_1.reflectionCreate; - } }); - var reflection_scalar_default_1 = require_reflection_scalar_default(); - Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() { - return reflection_scalar_default_1.reflectionScalarDefault; - } }); - var reflection_merge_partial_1 = require_reflection_merge_partial(); - Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() { - return reflection_merge_partial_1.reflectionMergePartial; - } }); - var reflection_equals_1 = require_reflection_equals(); - Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() { - return reflection_equals_1.reflectionEquals; - } }); - var reflection_binary_reader_1 = require_reflection_binary_reader(); - Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() { - return reflection_binary_reader_1.ReflectionBinaryReader; - } }); - var reflection_binary_writer_1 = require_reflection_binary_writer(); - Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() { - return reflection_binary_writer_1.ReflectionBinaryWriter; - } }); - var reflection_json_reader_1 = require_reflection_json_reader(); - Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() { - return reflection_json_reader_1.ReflectionJsonReader; - } }); - var reflection_json_writer_1 = require_reflection_json_writer(); - Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() { - return reflection_json_writer_1.ReflectionJsonWriter; - } }); - var reflection_contains_message_type_1 = require_reflection_contains_message_type(); - Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() { - return reflection_contains_message_type_1.containsMessageType; - } }); - var oneof_1 = require_oneof(); - Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() { - return oneof_1.isOneofGroup; - } }); - Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() { - return oneof_1.setOneofValue; - } }); - Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() { - return oneof_1.getOneofValue; - } }); - Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() { - return oneof_1.clearOneofValue; - } }); - Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() { - return oneof_1.getSelectedOneofValue; - } }); - var enum_object_1 = require_enum_object(); - Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() { - return enum_object_1.listEnumValues; - } }); - Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() { - return enum_object_1.listEnumNames; - } }); - Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() { - return enum_object_1.listEnumNumbers; - } }); - Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() { - return enum_object_1.isEnumObject; - } }); - var lower_camel_case_1 = require_lower_camel_case(); - Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() { - return lower_camel_case_1.lowerCamelCase; - } }); - var assert_1 = require_assert(); - Object.defineProperty(exports2, "assert", { enumerable: true, get: function() { - return assert_1.assert; - } }); - Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() { - return assert_1.assertNever; - } }); - Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() { - return assert_1.assertInt32; - } }); - Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() { - return assert_1.assertUInt32; - } }); - Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() { - return assert_1.assertFloat32; - } }); - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js -var require_reflection_info2 = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0; - var runtime_1 = require_commonjs16(); - function normalizeMethodInfo(method, service) { - var _a, _b, _c; - let m = method; - m.service = service; - m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name); - m.serverStreaming = !!m.serverStreaming; - m.clientStreaming = !!m.clientStreaming; - m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {}; - m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0; - return m; } - exports2.normalizeMethodInfo = normalizeMethodInfo; - function readMethodOptions(service, methodName, extensionName, extensionType) { - var _a; - const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options; - return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0; + function finishMaybe(stream, state, sync) { + if (needFinish(state)) { + prefinish(stream, state); + if (state.pendingcb === 0) { + if (sync) { + state.pendingcb++; + process2.nextTick( + (stream2, state2) => { + if (needFinish(state2)) { + finish(stream2, state2); + } else { + state2.pendingcb--; + } + }, + stream, + state + ); + } else if (needFinish(state)) { + state.pendingcb++; + finish(stream, state); + } + } + } } - exports2.readMethodOptions = readMethodOptions; - function readMethodOption(service, methodName, extensionName, extensionType) { - var _a; - const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options; - if (!options) { - return void 0; + function finish(stream, state) { + state.pendingcb--; + state.finished = true; + const onfinishCallbacks = state[kOnFinished].splice(0); + for (let i = 0; i < onfinishCallbacks.length; i++) { + onfinishCallbacks[i](); } - const optionVal = options[extensionName]; - if (optionVal === void 0) { - return optionVal; + stream.emit("finish"); + if (state.autoDestroy) { + const rState = stream._readableState; + const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end' + // if readable is explicitly set to false. + (rState.endEmitted || rState.readable === false); + if (autoDestroy) { + stream.destroy(); + } } - return extensionType ? extensionType.fromJson(optionVal) : optionVal; } - exports2.readMethodOption = readMethodOption; - function readServiceOption(service, extensionName, extensionType) { - const options = service.options; - if (!options) { - return void 0; + ObjectDefineProperties(Writable.prototype, { + closed: { + __proto__: null, + get() { + return this._writableState ? this._writableState.closed : false; + } + }, + destroyed: { + __proto__: null, + get() { + return this._writableState ? this._writableState.destroyed : false; + }, + set(value) { + if (this._writableState) { + this._writableState.destroyed = value; + } + } + }, + writable: { + __proto__: null, + get() { + const w = this._writableState; + return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended; + }, + set(val) { + if (this._writableState) { + this._writableState.writable = !!val; + } + } + }, + writableFinished: { + __proto__: null, + get() { + return this._writableState ? this._writableState.finished : false; + } + }, + writableObjectMode: { + __proto__: null, + get() { + return this._writableState ? this._writableState.objectMode : false; + } + }, + writableBuffer: { + __proto__: null, + get() { + return this._writableState && this._writableState.getBuffer(); + } + }, + writableEnded: { + __proto__: null, + get() { + return this._writableState ? this._writableState.ending : false; + } + }, + writableNeedDrain: { + __proto__: null, + get() { + const wState = this._writableState; + if (!wState) return false; + return !wState.destroyed && !wState.ending && wState.needDrain; + } + }, + writableHighWaterMark: { + __proto__: null, + get() { + return this._writableState && this._writableState.highWaterMark; + } + }, + writableCorked: { + __proto__: null, + get() { + return this._writableState ? this._writableState.corked : 0; + } + }, + writableLength: { + __proto__: null, + get() { + return this._writableState && this._writableState.length; + } + }, + errored: { + __proto__: null, + enumerable: false, + get() { + return this._writableState ? this._writableState.errored : null; + } + }, + writableAborted: { + __proto__: null, + enumerable: false, + get: function() { + return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished); + } } - const optionVal = options[extensionName]; - if (optionVal === void 0) { - return optionVal; + }); + var destroy = destroyImpl.destroy; + Writable.prototype.destroy = function(err, cb) { + const state = this._writableState; + if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) { + process2.nextTick(errorBuffer, state); } - return extensionType ? extensionType.fromJson(optionVal) : optionVal; + destroy.call(this, err, cb); + return this; + }; + Writable.prototype._undestroy = destroyImpl.undestroy; + Writable.prototype._destroy = function(err, cb) { + cb(err); + }; + Writable.prototype[EE.captureRejectionSymbol] = function(err) { + this.destroy(err); + }; + var webStreamsAdapters; + function lazyWebStreams() { + if (webStreamsAdapters === void 0) webStreamsAdapters = {}; + return webStreamsAdapters; } - exports2.readServiceOption = readServiceOption; + Writable.fromWeb = function(writableStream, options) { + return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options); + }; + Writable.toWeb = function(streamWritable) { + return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable); + }; } }); -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js -var require_service_type = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ServiceType = void 0; - var reflection_info_1 = require_reflection_info2(); - var ServiceType = class { - constructor(typeName, methods, options) { - this.typeName = typeName; - this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this)); - this.options = options !== null && options !== void 0 ? options : {}; +// node_modules/readable-stream/lib/internal/streams/duplexify.js +var require_duplexify = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) { + var process2 = require_process(); + var bufferModule = require("buffer"); + var { + isReadable, + isWritable, + isIterable, + isNodeStream, + isReadableNodeStream, + isWritableNodeStream, + isDuplexNodeStream, + isReadableStream, + isWritableStream + } = require_utils8(); + var eos = require_end_of_stream(); + var { + AbortError, + codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE } + } = require_errors5(); + var { destroyer } = require_destroy2(); + var Duplex = require_duplex(); + var Readable = require_readable4(); + var Writable = require_writable(); + var { createDeferredPromise } = require_util21(); + var from = require_from(); + var Blob2 = globalThis.Blob || bufferModule.Blob; + var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) { + return b instanceof Blob2; + } : function isBlob2(b) { + return false; + }; + var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController; + var { FunctionPrototypeCall } = require_primordials(); + var Duplexify = class extends Duplex { + constructor(options) { + super(options); + if ((options === null || options === void 0 ? void 0 : options.readable) === false) { + this._readableState.readable = false; + this._readableState.ended = true; + this._readableState.endEmitted = true; + } + if ((options === null || options === void 0 ? void 0 : options.writable) === false) { + this._writableState.writable = false; + this._writableState.ending = true; + this._writableState.ended = true; + this._writableState.finished = true; + } } }; - exports2.ServiceType = ServiceType; - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js -var require_rpc_error = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.RpcError = void 0; - var RpcError = class extends Error { - constructor(message, code = "UNKNOWN", meta) { - super(message); - this.name = "RpcError"; - Object.setPrototypeOf(this, new.target.prototype); - this.code = code; - this.meta = meta !== null && meta !== void 0 ? meta : {}; + module2.exports = function duplexify(body, name) { + if (isDuplexNodeStream(body)) { + return body; + } + if (isReadableNodeStream(body)) { + return _duplexify({ + readable: body + }); + } + if (isWritableNodeStream(body)) { + return _duplexify({ + writable: body + }); + } + if (isNodeStream(body)) { + return _duplexify({ + writable: false, + readable: false + }); + } + if (isReadableStream(body)) { + return _duplexify({ + readable: Readable.fromWeb(body) + }); + } + if (isWritableStream(body)) { + return _duplexify({ + writable: Writable.fromWeb(body) + }); + } + if (typeof body === "function") { + const { value, write, final, destroy } = fromAsyncGen(body); + if (isIterable(value)) { + return from(Duplexify, value, { + // TODO (ronag): highWaterMark? + objectMode: true, + write, + final, + destroy + }); + } + const then2 = value === null || value === void 0 ? void 0 : value.then; + if (typeof then2 === "function") { + let d; + const promise = FunctionPrototypeCall( + then2, + value, + (val) => { + if (val != null) { + throw new ERR_INVALID_RETURN_VALUE("nully", "body", val); + } + }, + (err) => { + destroyer(d, err); + } + ); + return d = new Duplexify({ + // TODO (ronag): highWaterMark? + objectMode: true, + readable: false, + write, + final(cb) { + final(async () => { + try { + await promise; + process2.nextTick(cb, null); + } catch (err) { + process2.nextTick(cb, err); + } + }); + }, + destroy + }); + } + throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value); + } + if (isBlob(body)) { + return duplexify(body.arrayBuffer()); + } + if (isIterable(body)) { + return from(Duplexify, body, { + // TODO (ronag): highWaterMark? + objectMode: true, + writable: false + }); + } + if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) { + return Duplexify.fromWeb(body); + } + if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") { + const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0; + const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0; + return _duplexify({ + readable, + writable + }); + } + const then = body === null || body === void 0 ? void 0 : body.then; + if (typeof then === "function") { + let d; + FunctionPrototypeCall( + then, + body, + (val) => { + if (val != null) { + d.push(val); + } + d.push(null); + }, + (err) => { + destroyer(d, err); + } + ); + return d = new Duplexify({ + objectMode: true, + writable: false, + read() { + } + }); + } + throw new ERR_INVALID_ARG_TYPE2( + name, + [ + "Blob", + "ReadableStream", + "WritableStream", + "Stream", + "Iterable", + "AsyncIterable", + "Function", + "{ readable, writable } pair", + "Promise" + ], + body + ); + }; + function fromAsyncGen(fn) { + let { promise, resolve: resolve5 } = createDeferredPromise(); + const ac = new AbortController2(); + const signal = ac.signal; + const value = fn( + (async function* () { + while (true) { + const _promise = promise; + promise = null; + const { chunk, done, cb } = await _promise; + process2.nextTick(cb); + if (done) return; + if (signal.aborted) + throw new AbortError(void 0, { + cause: signal.reason + }); + ({ promise, resolve: resolve5 } = createDeferredPromise()); + yield chunk; + } + })(), + { + signal + } + ); + return { + value, + write(chunk, encoding, cb) { + const _resolve = resolve5; + resolve5 = null; + _resolve({ + chunk, + done: false, + cb + }); + }, + final(cb) { + const _resolve = resolve5; + resolve5 = null; + _resolve({ + done: true, + cb + }); + }, + destroy(err, cb) { + ac.abort(); + cb(err); + } + }; + } + function _duplexify(pair) { + const r = pair.readable && typeof pair.readable.read !== "function" ? Readable.wrap(pair.readable) : pair.readable; + const w = pair.writable; + let readable = !!isReadable(r); + let writable = !!isWritable(w); + let ondrain; + let onfinish; + let onreadable; + let onclose; + let d; + function onfinished(err) { + const cb = onclose; + onclose = null; + if (cb) { + cb(err); + } else if (err) { + d.destroy(err); + } + } + d = new Duplexify({ + // TODO (ronag): highWaterMark? + readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode), + writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode), + readable, + writable + }); + if (writable) { + eos(w, (err) => { + writable = false; + if (err) { + destroyer(r, err); + } + onfinished(err); + }); + d._write = function(chunk, encoding, callback) { + if (w.write(chunk, encoding)) { + callback(); + } else { + ondrain = callback; + } + }; + d._final = function(callback) { + w.end(); + onfinish = callback; + }; + w.on("drain", function() { + if (ondrain) { + const cb = ondrain; + ondrain = null; + cb(); + } + }); + w.on("finish", function() { + if (onfinish) { + const cb = onfinish; + onfinish = null; + cb(); + } + }); + } + if (readable) { + eos(r, (err) => { + readable = false; + if (err) { + destroyer(r, err); + } + onfinished(err); + }); + r.on("readable", function() { + if (onreadable) { + const cb = onreadable; + onreadable = null; + cb(); + } + }); + r.on("end", function() { + d.push(null); + }); + d._read = function() { + while (true) { + const buf = r.read(); + if (buf === null) { + onreadable = d._read; + return; + } + if (!d.push(buf)) { + return; + } + } + }; } - toString() { - const l = [this.name + ": " + this.message]; - if (this.code) { - l.push(""); - l.push("Code: " + this.code); - } - if (this.serviceName && this.methodName) { - l.push("Method: " + this.serviceName + "/" + this.methodName); + d._destroy = function(err, callback) { + if (!err && onclose !== null) { + err = new AbortError(); } - let m = Object.entries(this.meta); - if (m.length) { - l.push(""); - l.push("Meta:"); - for (let [k, v] of m) { - l.push(` ${k}: ${v}`); - } + onreadable = null; + ondrain = null; + onfinish = null; + if (onclose === null) { + callback(err); + } else { + onclose = callback; + destroyer(w, err); + destroyer(r, err); } - return l.join("\n"); - } - }; - exports2.RpcError = RpcError; + }; + return d; + } } }); -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js -var require_rpc_options = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/duplex.js +var require_duplex = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.mergeRpcOptions = void 0; - var runtime_1 = require_commonjs16(); - function mergeRpcOptions(defaults, options) { - if (!options) - return defaults; - let o = {}; - copy(defaults, o); - copy(options, o); - for (let key of Object.keys(options)) { - let val = options[key]; - switch (key) { - case "jsonOptions": - o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions); - break; - case "binaryOptions": - o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions); - break; - case "meta": - o.meta = {}; - copy(defaults.meta, o.meta); - copy(options.meta, o.meta); - break; - case "interceptors": - o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat(); - break; - } + var { + ObjectDefineProperties, + ObjectGetOwnPropertyDescriptor, + ObjectKeys, + ObjectSetPrototypeOf + } = require_primordials(); + module2.exports = Duplex; + var Readable = require_readable4(); + var Writable = require_writable(); + ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype); + ObjectSetPrototypeOf(Duplex, Readable); + { + const keys = ObjectKeys(Writable.prototype); + for (let i = 0; i < keys.length; i++) { + const method = keys[i]; + if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; } - return o; } - exports2.mergeRpcOptions = mergeRpcOptions; - function copy(a, into) { - if (!a) - return; - let c = into; - for (let [k, v] of Object.entries(a)) { - if (v instanceof Date) - c[k] = new Date(v.getTime()); - else if (Array.isArray(v)) - c[k] = v.concat(); - else - c[k] = v; + function Duplex(options) { + if (!(this instanceof Duplex)) return new Duplex(options); + Readable.call(this, options); + Writable.call(this, options); + if (options) { + this.allowHalfOpen = options.allowHalfOpen !== false; + if (options.readable === false) { + this._readableState.readable = false; + this._readableState.ended = true; + this._readableState.endEmitted = true; + } + if (options.writable === false) { + this._writableState.writable = false; + this._writableState.ending = true; + this._writableState.ended = true; + this._writableState.finished = true; + } + } else { + this.allowHalfOpen = true; } } - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js -var require_deferred = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Deferred = exports2.DeferredState = void 0; - var DeferredState; - (function(DeferredState2) { - DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING"; - DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED"; - DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED"; - })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {})); - var Deferred = class { - /** - * @param preventUnhandledRejectionWarning - prevents the warning - * "Unhandled Promise rejection" by adding a noop rejection handler. - * Working with calls returned from the runtime-rpc package in an - * async function usually means awaiting one call property after - * the other. This means that the "status" is not being awaited when - * an earlier await for the "headers" is rejected. This causes the - * "unhandled promise reject" warning. A more correct behaviour for - * calls might be to become aware whether at least one of the - * promises is handled and swallow the rejection warning for the - * others. - */ - constructor(preventUnhandledRejectionWarning = true) { - this._state = DeferredState.PENDING; - this._promise = new Promise((resolve5, reject) => { - this._resolve = resolve5; - this._reject = reject; - }); - if (preventUnhandledRejectionWarning) { - this._promise.catch((_2) => { - }); + ObjectDefineProperties(Duplex.prototype, { + writable: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable") + }, + writableHighWaterMark: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark") + }, + writableObjectMode: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode") + }, + writableBuffer: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer") + }, + writableLength: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength") + }, + writableFinished: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished") + }, + writableCorked: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked") + }, + writableEnded: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded") + }, + writableNeedDrain: { + __proto__: null, + ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain") + }, + destroyed: { + __proto__: null, + get() { + if (this._readableState === void 0 || this._writableState === void 0) { + return false; + } + return this._readableState.destroyed && this._writableState.destroyed; + }, + set(value) { + if (this._readableState && this._writableState) { + this._readableState.destroyed = value; + this._writableState.destroyed = value; + } } } - /** - * Get the current state of the promise. - */ - get state() { - return this._state; - } - /** - * Get the deferred promise. - */ - get promise() { - return this._promise; - } - /** - * Resolve the promise. Throws if the promise is already resolved or rejected. - */ - resolve(value) { - if (this.state !== DeferredState.PENDING) - throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`); - this._resolve(value); - this._state = DeferredState.RESOLVED; - } - /** - * Reject the promise. Throws if the promise is already resolved or rejected. - */ - reject(reason) { - if (this.state !== DeferredState.PENDING) - throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`); - this._reject(reason); - this._state = DeferredState.REJECTED; - } - /** - * Resolve the promise. Ignore if not pending. - */ - resolvePending(val) { - if (this._state === DeferredState.PENDING) - this.resolve(val); - } - /** - * Reject the promise. Ignore if not pending. - */ - rejectPending(reason) { - if (this._state === DeferredState.PENDING) - this.reject(reason); + }); + var webStreamsAdapters; + function lazyWebStreams() { + if (webStreamsAdapters === void 0) webStreamsAdapters = {}; + return webStreamsAdapters; + } + Duplex.fromWeb = function(pair, options) { + return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options); + }; + Duplex.toWeb = function(duplex) { + return lazyWebStreams().newReadableWritablePairFromDuplex(duplex); + }; + var duplexify; + Duplex.from = function(body) { + if (!duplexify) { + duplexify = require_duplexify(); } + return duplexify(body, "body"); }; - exports2.Deferred = Deferred; } }); -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js -var require_rpc_output_stream = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/transform.js +var require_transform = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.RpcOutputStreamController = void 0; - var deferred_1 = require_deferred(); - var runtime_1 = require_commonjs16(); - var RpcOutputStreamController = class { - constructor() { - this._lis = { - nxt: [], - msg: [], - err: [], - cmp: [] - }; - this._closed = false; - this._itState = { q: [] }; - } - // --- RpcOutputStream callback API - onNext(callback) { - return this.addLis(callback, this._lis.nxt); - } - onMessage(callback) { - return this.addLis(callback, this._lis.msg); - } - onError(callback) { - return this.addLis(callback, this._lis.err); - } - onComplete(callback) { - return this.addLis(callback, this._lis.cmp); - } - addLis(callback, list) { - list.push(callback); - return () => { - let i = list.indexOf(callback); - if (i >= 0) - list.splice(i, 1); + var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials(); + module2.exports = Transform; + var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors5().codes; + var Duplex = require_duplex(); + var { getHighWaterMark } = require_state3(); + ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype); + ObjectSetPrototypeOf(Transform, Duplex); + var kCallback = Symbol2("kCallback"); + function Transform(options) { + if (!(this instanceof Transform)) return new Transform(options); + const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null; + if (readableHighWaterMark === 0) { + options = { + ...options, + highWaterMark: null, + readableHighWaterMark, + // TODO (ronag): 0 is not optimal since we have + // a "bug" where we check needDrain before calling _write and not after. + // Refs: https://github.com/nodejs/node/pull/32887 + // Refs: https://github.com/nodejs/node/pull/35941 + writableHighWaterMark: options.writableHighWaterMark || 0 }; } - // remove all listeners - clearLis() { - for (let l of Object.values(this._lis)) - l.splice(0, l.length); - } - // --- Controller API - /** - * Is this stream already closed by a completion or error? - */ - get closed() { - return this._closed !== false; - } - /** - * Emit message, close with error, or close successfully, but only one - * at a time. - * Can be used to wrap a stream by using the other stream's `onNext`. - */ - notifyNext(message, error3, complete) { - runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time"); - if (message) - this.notifyMessage(message); - if (error3) - this.notifyError(error3); - if (complete) - this.notifyComplete(); - } - /** - * Emits a new message. Throws if stream is closed. - * - * Triggers onNext and onMessage callbacks. - */ - notifyMessage(message) { - runtime_1.assert(!this.closed, "stream is closed"); - this.pushIt({ value: message, done: false }); - this._lis.msg.forEach((l) => l(message)); - this._lis.nxt.forEach((l) => l(message, void 0, false)); - } - /** - * Closes the stream with an error. Throws if stream is closed. - * - * Triggers onNext and onError callbacks. - */ - notifyError(error3) { - runtime_1.assert(!this.closed, "stream is closed"); - this._closed = error3; - this.pushIt(error3); - this._lis.err.forEach((l) => l(error3)); - this._lis.nxt.forEach((l) => l(void 0, error3, false)); - this.clearLis(); - } - /** - * Closes the stream successfully. Throws if stream is closed. - * - * Triggers onNext and onComplete callbacks. - */ - notifyComplete() { - runtime_1.assert(!this.closed, "stream is closed"); - this._closed = true; - this.pushIt({ value: null, done: true }); - this._lis.cmp.forEach((l) => l()); - this._lis.nxt.forEach((l) => l(void 0, void 0, true)); - this.clearLis(); + Duplex.call(this, options); + this._readableState.sync = false; + this[kCallback] = null; + if (options) { + if (typeof options.transform === "function") this._transform = options.transform; + if (typeof options.flush === "function") this._flush = options.flush; } - /** - * Creates an async iterator (that can be used with `for await {...}`) - * to consume the stream. - * - * Some things to note: - * - If an error occurs, the `for await` will throw it. - * - If an error occurred before the `for await` was started, `for await` - * will re-throw it. - * - If the stream is already complete, the `for await` will be empty. - * - If your `for await` consumes slower than the stream produces, - * for example because you are relaying messages in a slow operation, - * messages are queued. - */ - [Symbol.asyncIterator]() { - if (this._closed === true) - this.pushIt({ value: null, done: true }); - else if (this._closed !== false) - this.pushIt(this._closed); - return { - next: () => { - let state = this._itState; - runtime_1.assert(state, "bad state"); - runtime_1.assert(!state.p, "iterator contract broken"); - let first = state.q.shift(); - if (first) - return "value" in first ? Promise.resolve(first) : Promise.reject(first); - state.p = new deferred_1.Deferred(); - return state.p.promise; + this.on("prefinish", prefinish); + } + function final(cb) { + if (typeof this._flush === "function" && !this.destroyed) { + this._flush((er, data) => { + if (er) { + if (cb) { + cb(er); + } else { + this.destroy(er); + } + return; } - }; - } - // "push" a new iterator result. - // this either resolves a pending promise, or enqueues the result. - pushIt(result) { - let state = this._itState; - if (state.p) { - const p = state.p; - runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken"); - "value" in result ? p.resolve(result) : p.reject(result); - delete state.p; - } else { - state.q.push(result); + if (data != null) { + this.push(data); + } + this.push(null); + if (cb) { + cb(); + } + }); + } else { + this.push(null); + if (cb) { + cb(); } } - }; - exports2.RpcOutputStreamController = RpcOutputStreamController; - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js -var require_unary_call = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + } + function prefinish() { + if (this._final !== final) { + final.call(this); } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } + } + Transform.prototype._final = final; + Transform.prototype._transform = function(chunk, encoding, callback) { + throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()"); + }; + Transform.prototype._write = function(chunk, encoding, callback) { + const rState = this._readableState; + const wState = this._writableState; + const length = rState.length; + this._transform(chunk, encoding, (err, val) => { + if (err) { + callback(err); + return; } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } + if (val != null) { + this.push(val); } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + if (wState.ended || // Backwards compat. + length === rState.length || // Backwards compat. + rState.length < rState.highWaterMark) { + callback(); + } else { + this[kCallback] = callback; } - step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.UnaryCall = void 0; - var UnaryCall = class { - constructor(method, requestHeaders, request2, headers, response, status, trailers) { - this.method = method; - this.requestHeaders = requestHeaders; - this.request = request2; - this.headers = headers; - this.response = response; - this.status = status; - this.trailers = trailers; - } - /** - * If you are only interested in the final outcome of this call, - * you can await it to receive a `FinishedUnaryCall`. - */ - then(onfulfilled, onrejected) { - return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); - } - promiseFinished() { - return __awaiter2(this, void 0, void 0, function* () { - let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]); - return { - method: this.method, - requestHeaders: this.requestHeaders, - request: this.request, - headers, - response, - status, - trailers - }; - }); + Transform.prototype._read = function() { + if (this[kCallback]) { + const callback = this[kCallback]; + this[kCallback] = null; + callback(); } }; - exports2.UnaryCall = UnaryCall; } }); -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js -var require_server_streaming_call = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/passthrough.js +var require_passthrough2 = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) { "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + var { ObjectSetPrototypeOf } = require_primordials(); + module2.exports = PassThrough; + var Transform = require_transform(); + ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype); + ObjectSetPrototypeOf(PassThrough, Transform); + function PassThrough(options) { + if (!(this instanceof PassThrough)) return new PassThrough(options); + Transform.call(this, options); + } + PassThrough.prototype._transform = function(chunk, encoding, cb) { + cb(null, chunk); + }; + } +}); + +// node_modules/readable-stream/lib/internal/streams/pipeline.js +var require_pipeline4 = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) { + var process2 = require_process(); + var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials(); + var eos = require_end_of_stream(); + var { once } = require_util21(); + var destroyImpl = require_destroy2(); + var Duplex = require_duplex(); + var { + aggregateTwoErrors, + codes: { + ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, + ERR_INVALID_RETURN_VALUE, + ERR_MISSING_ARGS, + ERR_STREAM_DESTROYED, + ERR_STREAM_PREMATURE_CLOSE + }, + AbortError + } = require_errors5(); + var { validateFunction, validateAbortSignal } = require_validators(); + var { + isIterable, + isReadable, + isReadableNodeStream, + isNodeStream, + isTransformStream, + isWebStream, + isReadableStream, + isReadableFinished + } = require_utils8(); + var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController; + var PassThrough; + var Readable; + var addAbortListener; + function destroyer(stream, reading, writing) { + let finished = false; + stream.on("close", () => { + finished = true; + }); + const cleanup = eos( + stream, + { + readable: reading, + writable: writing + }, + (err) => { + finished = !err; + } + ); + return { + destroy: (err) => { + if (finished) return; + finished = true; + destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED("pipe")); + }, + cleanup + }; + } + function popCallback(streams) { + validateFunction(streams[streams.length - 1], "streams[stream.length - 1]"); + return streams.pop(); + } + function makeAsyncIterable(val) { + if (isIterable(val)) { + return val; + } else if (isReadableNodeStream(val)) { + return fromReadable(val); } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } + throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val); + } + async function* fromReadable(val) { + if (!Readable) { + Readable = require_readable4(); + } + yield* Readable.prototype[SymbolAsyncIterator].call(val); + } + async function pumpToNode(iterable, writable, finish, { end }) { + let error3; + let onresolve = null; + const resume = (err) => { + if (err) { + error3 = err; } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } + if (onresolve) { + const callback = onresolve; + onresolve = null; + callback(); } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + }; + const wait = () => new Promise2((resolve5, reject) => { + if (error3) { + reject(error3); + } else { + onresolve = () => { + if (error3) { + reject(error3); + } else { + resolve5(); + } + }; } - step((generator = generator.apply(thisArg, _arguments || [])).next()); }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ServerStreamingCall = void 0; - var ServerStreamingCall = class { - constructor(method, requestHeaders, request2, headers, response, status, trailers) { - this.method = method; - this.requestHeaders = requestHeaders; - this.request = request2; - this.headers = headers; - this.responses = response; - this.status = status; - this.trailers = trailers; - } - /** - * Instead of awaiting the response status and trailers, you can - * just as well await this call itself to receive the server outcome. - * You should first setup some listeners to the `request` to - * see the actual messages the server replied with. - */ - then(onfulfilled, onrejected) { - return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); - } - promiseFinished() { - return __awaiter2(this, void 0, void 0, function* () { - let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]); - return { - method: this.method, - requestHeaders: this.requestHeaders, - request: this.request, - headers, - status, - trailers - }; - }); + writable.on("drain", resume); + const cleanup = eos( + writable, + { + readable: false + }, + resume + ); + try { + if (writable.writableNeedDrain) { + await wait(); + } + for await (const chunk of iterable) { + if (!writable.write(chunk)) { + await wait(); + } + } + if (end) { + writable.end(); + await wait(); + } + finish(); + } catch (err) { + finish(error3 !== err ? aggregateTwoErrors(error3, err) : err); + } finally { + cleanup(); + writable.off("drain", resume); } - }; - exports2.ServerStreamingCall = ServerStreamingCall; - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js -var require_client_streaming_call = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + } + async function pumpToWeb(readable, writable, finish, { end }) { + if (isTransformStream(writable)) { + writable = writable.writable; } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } + const writer = writable.getWriter(); + try { + for await (const chunk of readable) { + await writer.ready; + writer.write(chunk).catch(() => { + }); } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } + await writer.ready; + if (end) { + await writer.close(); } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + finish(); + } catch (err) { + try { + await writer.abort(err); + finish(err); + } catch (err2) { + finish(err2); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ClientStreamingCall = void 0; - var ClientStreamingCall = class { - constructor(method, requestHeaders, request2, headers, response, status, trailers) { - this.method = method; - this.requestHeaders = requestHeaders; - this.requests = request2; - this.headers = headers; - this.response = response; - this.status = status; - this.trailers = trailers; } - /** - * Instead of awaiting the response status and trailers, you can - * just as well await this call itself to receive the server outcome. - * Note that it may still be valid to send more request messages. - */ - then(onfulfilled, onrejected) { - return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); + } + function pipeline(...streams) { + return pipelineImpl(streams, once(popCallback(streams))); + } + function pipelineImpl(streams, callback, opts) { + if (streams.length === 1 && ArrayIsArray(streams[0])) { + streams = streams[0]; } - promiseFinished() { - return __awaiter2(this, void 0, void 0, function* () { - let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]); - return { - method: this.method, - requestHeaders: this.requestHeaders, - headers, - response, - status, - trailers - }; - }); + if (streams.length < 2) { + throw new ERR_MISSING_ARGS("streams"); } - }; - exports2.ClientStreamingCall = ClientStreamingCall; - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js -var require_duplex_streaming_call = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + const ac = new AbortController2(); + const signal = ac.signal; + const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal; + const lastStreamCleanup = []; + validateAbortSignal(outerSignal, "options.signal"); + function abort() { + finishImpl(new AbortError()); } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + addAbortListener = addAbortListener || require_util21().addAbortListener; + let disposable; + if (outerSignal) { + disposable = addAbortListener(outerSignal, abort); + } + let error3; + let value; + const destroys = []; + let finishCount = 0; + function finish(err) { + finishImpl(err, --finishCount === 0); + } + function finishImpl(err, final) { + var _disposable; + if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) { + error3 = err; + } + if (!error3 && !final) { + return; + } + while (destroys.length) { + destroys.shift()(error3); + } + ; + (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose](); + ac.abort(); + if (final) { + if (!error3) { + lastStreamCleanup.forEach((fn) => fn()); + } + process2.nextTick(callback, error3, value); + } + } + let ret; + for (let i = 0; i < streams.length; i++) { + const stream = streams[i]; + const reading = i < streams.length - 1; + const writing = i > 0; + const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false; + const isLastStream = i === streams.length - 1; + if (isNodeStream(stream)) { + let onError2 = function(err) { + if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") { + finish(err); + } + }; + var onError = onError2; + if (end) { + const { destroy, cleanup } = destroyer(stream, reading, writing); + destroys.push(destroy); + if (isReadable(stream) && isLastStream) { + lastStreamCleanup.push(cleanup); + } + } + stream.on("error", onError2); + if (isReadable(stream) && isLastStream) { + lastStreamCleanup.push(() => { + stream.removeListener("error", onError2); + }); + } + } + if (i === 0) { + if (typeof stream === "function") { + ret = stream({ + signal + }); + if (!isIterable(ret)) { + throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret); + } + } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) { + ret = stream; + } else { + ret = Duplex.from(stream); + } + } else if (typeof stream === "function") { + if (isTransformStream(ret)) { + var _ret; + ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable); + } else { + ret = makeAsyncIterable(ret); + } + ret = stream(ret, { + signal + }); + if (reading) { + if (!isIterable(ret, true)) { + throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret); + } + } else { + var _ret2; + if (!PassThrough) { + PassThrough = require_passthrough2(); + } + const pt = new PassThrough({ + objectMode: true + }); + const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then; + if (typeof then === "function") { + finishCount++; + then.call( + ret, + (val) => { + value = val; + if (val != null) { + pt.write(val); + } + if (end) { + pt.end(); + } + process2.nextTick(finish); + }, + (err) => { + pt.destroy(err); + process2.nextTick(finish, err); + } + ); + } else if (isIterable(ret, true)) { + finishCount++; + pumpToNode(ret, pt, finish, { + end + }); + } else if (isReadableStream(ret) || isTransformStream(ret)) { + const toRead = ret.readable || ret; + finishCount++; + pumpToNode(toRead, pt, finish, { + end + }); + } else { + throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret); + } + ret = pt; + const { destroy, cleanup } = destroyer(ret, false, true); + destroys.push(destroy); + if (isLastStream) { + lastStreamCleanup.push(cleanup); + } + } + } else if (isNodeStream(stream)) { + if (isReadableNodeStream(ret)) { + finishCount += 2; + const cleanup = pipe(ret, stream, finish, { + end + }); + if (isReadable(stream) && isLastStream) { + lastStreamCleanup.push(cleanup); + } + } else if (isTransformStream(ret) || isReadableStream(ret)) { + const toRead = ret.readable || ret; + finishCount++; + pumpToNode(toRead, stream, finish, { + end + }); + } else if (isIterable(ret)) { + finishCount++; + pumpToNode(ret, stream, finish, { + end + }); + } else { + throw new ERR_INVALID_ARG_TYPE2( + "val", + ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"], + ret + ); } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + ret = stream; + } else if (isWebStream(stream)) { + if (isReadableNodeStream(ret)) { + finishCount++; + pumpToWeb(makeAsyncIterable(ret), stream, finish, { + end + }); + } else if (isReadableStream(ret) || isIterable(ret)) { + finishCount++; + pumpToWeb(ret, stream, finish, { + end + }); + } else if (isTransformStream(ret)) { + finishCount++; + pumpToWeb(ret.readable, stream, finish, { + end + }); + } else { + throw new ERR_INVALID_ARG_TYPE2( + "val", + ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"], + ret + ); } + ret = stream; + } else { + ret = Duplex.from(stream); } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DuplexStreamingCall = void 0; - var DuplexStreamingCall = class { - constructor(method, requestHeaders, request2, headers, response, status, trailers) { - this.method = method; - this.requestHeaders = requestHeaders; - this.requests = request2; - this.headers = headers; - this.responses = response; - this.status = status; - this.trailers = trailers; } - /** - * Instead of awaiting the response status and trailers, you can - * just as well await this call itself to receive the server outcome. - * Note that it may still be valid to send more request messages. - */ - then(onfulfilled, onrejected) { - return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason)); + if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) { + process2.nextTick(abort); } - promiseFinished() { - return __awaiter2(this, void 0, void 0, function* () { - let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]); - return { - method: this.method, - requestHeaders: this.requestHeaders, - headers, - status, - trailers - }; - }); + return ret; + } + function pipe(src, dst, finish, { end }) { + let ended = false; + dst.on("close", () => { + if (!ended) { + finish(new ERR_STREAM_PREMATURE_CLOSE()); + } + }); + src.pipe(dst, { + end: false + }); + if (end) { + let endFn2 = function() { + ended = true; + dst.end(); + }; + var endFn = endFn2; + if (isReadableFinished(src)) { + process2.nextTick(endFn2); + } else { + src.once("end", endFn2); + } + } else { + finish(); } + eos( + src, + { + readable: true, + writable: false + }, + (err) => { + const rState = src._readableState; + if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) { + src.once("end", finish).once("error", finish); + } else { + finish(err); + } + } + ); + return eos( + dst, + { + readable: false, + writable: true + }, + finish + ); + } + module2.exports = { + pipelineImpl, + pipeline }; - exports2.DuplexStreamingCall = DuplexStreamingCall; } }); -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js -var require_test_transport = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/compose.js +var require_compose = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) { "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); - } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.TestTransport = void 0; - var rpc_error_1 = require_rpc_error(); - var runtime_1 = require_commonjs16(); - var rpc_output_stream_1 = require_rpc_output_stream(); - var rpc_options_1 = require_rpc_options(); - var unary_call_1 = require_unary_call(); - var server_streaming_call_1 = require_server_streaming_call(); - var client_streaming_call_1 = require_client_streaming_call(); - var duplex_streaming_call_1 = require_duplex_streaming_call(); - var TestTransport = class _TestTransport { - /** - * Initialize with mock data. Omitted fields have default value. - */ - constructor(data) { - this.suppressUncaughtRejections = true; - this.headerDelay = 10; - this.responseDelay = 50; - this.betweenResponseDelay = 10; - this.afterResponseDelay = 10; - this.data = data !== null && data !== void 0 ? data : {}; + var { pipeline } = require_pipeline4(); + var Duplex = require_duplex(); + var { destroyer } = require_destroy2(); + var { + isNodeStream, + isReadable, + isWritable, + isWebStream, + isTransformStream, + isWritableStream, + isReadableStream + } = require_utils8(); + var { + AbortError, + codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS } + } = require_errors5(); + var eos = require_end_of_stream(); + module2.exports = function compose(...streams) { + if (streams.length === 0) { + throw new ERR_MISSING_ARGS("streams"); } - /** - * Sent message(s) during the last operation. - */ - get sentMessages() { - if (this.lastInput instanceof TestInputStream) { - return this.lastInput.sent; - } else if (typeof this.lastInput == "object") { - return [this.lastInput.single]; - } - return []; + if (streams.length === 1) { + return Duplex.from(streams[0]); } - /** - * Sending message(s) completed? - */ - get sendComplete() { - if (this.lastInput instanceof TestInputStream) { - return this.lastInput.completed; - } else if (typeof this.lastInput == "object") { - return true; - } - return false; + const orgStreams = [...streams]; + if (typeof streams[0] === "function") { + streams[0] = Duplex.from(streams[0]); } - // Creates a promise for response headers from the mock data. - promiseHeaders() { - var _a; - const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders; - return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers); + if (typeof streams[streams.length - 1] === "function") { + const idx = streams.length - 1; + streams[idx] = Duplex.from(streams[idx]); } - // Creates a promise for a single, valid, message from the mock data. - promiseSingleResponse(method) { - if (this.data.response instanceof rpc_error_1.RpcError) { - return Promise.reject(this.data.response); + for (let n = 0; n < streams.length; ++n) { + if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) { + continue; } - let r; - if (Array.isArray(this.data.response)) { - runtime_1.assert(this.data.response.length > 0); - r = this.data.response[0]; - } else if (this.data.response !== void 0) { - r = this.data.response; - } else { - r = method.O.create(); + if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) { + throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable"); + } + if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) { + throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable"); } - runtime_1.assert(method.O.is(r)); - return Promise.resolve(r); } - /** - * Pushes response messages from the mock data to the output stream. - * If an error response, status or trailers are mocked, the stream is - * closed with the respective error. - * Otherwise, stream is completed successfully. - * - * The returned promise resolves when the stream is closed. It should - * not reject. If it does, code is broken. - */ - streamResponses(method, stream, abort) { - return __awaiter2(this, void 0, void 0, function* () { - const messages = []; - if (this.data.response === void 0) { - messages.push(method.O.create()); - } else if (Array.isArray(this.data.response)) { - for (let msg of this.data.response) { - runtime_1.assert(method.O.is(msg)); - messages.push(msg); + let ondrain; + let onfinish; + let onreadable; + let onclose; + let d; + function onfinished(err) { + const cb = onclose; + onclose = null; + if (cb) { + cb(err); + } else if (err) { + d.destroy(err); + } else if (!readable && !writable) { + d.destroy(); + } + } + const head = streams[0]; + const tail = pipeline(streams, onfinished); + const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head)); + const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail)); + d = new Duplex({ + // TODO (ronag): highWaterMark? + writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode), + readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode), + writable, + readable + }); + if (writable) { + if (isNodeStream(head)) { + d._write = function(chunk, encoding, callback) { + if (head.write(chunk, encoding)) { + callback(); + } else { + ondrain = callback; } - } else if (!(this.data.response instanceof rpc_error_1.RpcError)) { - runtime_1.assert(method.O.is(this.data.response)); - messages.push(this.data.response); - } - try { - yield delay(this.responseDelay, abort)(void 0); - } catch (error3) { - stream.notifyError(error3); - return; - } - if (this.data.response instanceof rpc_error_1.RpcError) { - stream.notifyError(this.data.response); - return; - } - for (let msg of messages) { - stream.notifyMessage(msg); + }; + d._final = function(callback) { + head.end(); + onfinish = callback; + }; + head.on("drain", function() { + if (ondrain) { + const cb = ondrain; + ondrain = null; + cb(); + } + }); + } else if (isWebStream(head)) { + const writable2 = isTransformStream(head) ? head.writable : head; + const writer = writable2.getWriter(); + d._write = async function(chunk, encoding, callback) { try { - yield delay(this.betweenResponseDelay, abort)(void 0); - } catch (error3) { - stream.notifyError(error3); - return; + await writer.ready; + writer.write(chunk).catch(() => { + }); + callback(); + } catch (err) { + callback(err); } + }; + d._final = async function(callback) { + try { + await writer.ready; + writer.close().catch(() => { + }); + onfinish = callback; + } catch (err) { + callback(err); + } + }; + } + const toRead = isTransformStream(tail) ? tail.readable : tail; + eos(toRead, () => { + if (onfinish) { + const cb = onfinish; + onfinish = null; + cb(); } - if (this.data.status instanceof rpc_error_1.RpcError) { - stream.notifyError(this.data.status); - return; - } - if (this.data.trailers instanceof rpc_error_1.RpcError) { - stream.notifyError(this.data.trailers); - return; - } - stream.notifyComplete(); }); } - // Creates a promise for response status from the mock data. - promiseStatus() { - var _a; - const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus; - return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status); - } - // Creates a promise for response trailers from the mock data. - promiseTrailers() { - var _a; - const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers; - return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers); - } - maybeSuppressUncaught(...promise) { - if (this.suppressUncaughtRejections) { - for (let p of promise) { - p.catch(() => { - }); - } + if (readable) { + if (isNodeStream(tail)) { + tail.on("readable", function() { + if (onreadable) { + const cb = onreadable; + onreadable = null; + cb(); + } + }); + tail.on("end", function() { + d.push(null); + }); + d._read = function() { + while (true) { + const buf = tail.read(); + if (buf === null) { + onreadable = d._read; + return; + } + if (!d.push(buf)) { + return; + } + } + }; + } else if (isWebStream(tail)) { + const readable2 = isTransformStream(tail) ? tail.readable : tail; + const reader = readable2.getReader(); + d._read = async function() { + while (true) { + try { + const { value, done } = await reader.read(); + if (!d.push(value)) { + return; + } + if (done) { + d.push(null); + return; + } + } catch { + return; + } + } + }; } } - mergeOptions(options) { - return rpc_options_1.mergeRpcOptions({}, options); - } - unary(method, input, options) { - var _a; - const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => { - }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => { - }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => { - }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers()); - this.maybeSuppressUncaught(statusPromise, trailersPromise); - this.lastInput = { single: input }; - return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise); - } - serverStreaming(method, input, options) { - var _a; - const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => { - }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers()); - this.maybeSuppressUncaught(statusPromise, trailersPromise); - this.lastInput = { single: input }; - return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise); - } - clientStreaming(method, options) { - var _a; - const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => { - }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => { - }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => { - }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers()); - this.maybeSuppressUncaught(statusPromise, trailersPromise); - this.lastInput = new TestInputStream(this.data, options.abort); - return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise); - } - duplex(method, options) { - var _a; - const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => { - }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers()); - this.maybeSuppressUncaught(statusPromise, trailersPromise); - this.lastInput = new TestInputStream(this.data, options.abort); - return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise); - } - }; - exports2.TestTransport = TestTransport; - TestTransport.defaultHeaders = { - responseHeader: "test" - }; - TestTransport.defaultStatus = { - code: "OK", - detail: "all good" - }; - TestTransport.defaultTrailers = { - responseTrailer: "test" - }; - function delay(ms, abort) { - return (v) => new Promise((resolve5, reject) => { - if (abort === null || abort === void 0 ? void 0 : abort.aborted) { - reject(new rpc_error_1.RpcError("user cancel", "CANCELLED")); + d._destroy = function(err, callback) { + if (!err && onclose !== null) { + err = new AbortError(); + } + onreadable = null; + ondrain = null; + onfinish = null; + if (onclose === null) { + callback(err); } else { - const id = setTimeout(() => resolve5(v), ms); - if (abort) { - abort.addEventListener("abort", (ev) => { - clearTimeout(id); - reject(new rpc_error_1.RpcError("user cancel", "CANCELLED")); - }); + onclose = callback; + if (isNodeStream(tail)) { + destroyer(tail, err); } } - }); - } - var TestInputStream = class { - constructor(data, abort) { - this._completed = false; - this._sent = []; - this.data = data; - this.abort = abort; - } - get sent() { - return this._sent; - } - get completed() { - return this._completed; - } - send(message) { - if (this.data.inputMessage instanceof rpc_error_1.RpcError) { - return Promise.reject(this.data.inputMessage); - } - const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage; - return Promise.resolve(void 0).then(() => { - this._sent.push(message); - }).then(delay(delayMs, this.abort)); - } - complete() { - if (this.data.inputComplete instanceof rpc_error_1.RpcError) { - return Promise.reject(this.data.inputComplete); - } - const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete; - return Promise.resolve(void 0).then(() => { - this._completed = true; - }).then(delay(delayMs, this.abort)); - } + }; + return d; }; } }); -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js -var require_rpc_interceptor = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) { +// node_modules/readable-stream/lib/internal/streams/operators.js +var require_operators = __commonJS({ + "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0; - var runtime_1 = require_commonjs16(); - function stackIntercept(kind, transport, method, options, input) { - var _a, _b, _c, _d; - if (kind == "unary") { - let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt); - for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) { - const next = tail; - tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt); - } - return tail(method, input, options); + var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController; + var { + codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE }, + AbortError + } = require_errors5(); + var { validateAbortSignal, validateInteger, validateObject } = require_validators(); + var kWeakHandler = require_primordials().Symbol("kWeak"); + var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation"); + var { finished } = require_end_of_stream(); + var staticCompose = require_compose(); + var { addAbortSignalNoValidate } = require_add_abort_signal(); + var { isWritable, isNodeStream } = require_utils8(); + var { deprecate } = require_util21(); + var { + ArrayPrototypePush, + Boolean: Boolean2, + MathFloor, + Number: Number2, + NumberIsNaN, + Promise: Promise2, + PromiseReject, + PromiseResolve, + PromisePrototypeThen, + Symbol: Symbol2 + } = require_primordials(); + var kEmpty = Symbol2("kEmpty"); + var kEof = Symbol2("kEof"); + function compose(stream, options) { + if (options != null) { + validateObject(options, "options"); } - if (kind == "serverStreaming") { - let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt); - for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) { - const next = tail; - tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt); - } - return tail(method, input, options); + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); } - if (kind == "clientStreaming") { - let tail = (mtd, opt) => transport.clientStreaming(mtd, opt); - for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) { - const next = tail; - tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt); - } - return tail(method, options); + if (isNodeStream(stream) && !isWritable(stream)) { + throw new ERR_INVALID_ARG_VALUE("stream", stream, "must be writable"); } - if (kind == "duplex") { - let tail = (mtd, opt) => transport.duplex(mtd, opt); - for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) { - const next = tail; - tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt); - } - return tail(method, options); + const composedStream = staticCompose(this, stream); + if (options !== null && options !== void 0 && options.signal) { + addAbortSignalNoValidate(options.signal, composedStream); } - runtime_1.assertNever(kind); - } - exports2.stackIntercept = stackIntercept; - function stackUnaryInterceptors(transport, method, input, options) { - return stackIntercept("unary", transport, method, options, input); - } - exports2.stackUnaryInterceptors = stackUnaryInterceptors; - function stackServerStreamingInterceptors(transport, method, input, options) { - return stackIntercept("serverStreaming", transport, method, options, input); - } - exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors; - function stackClientStreamingInterceptors(transport, method, options) { - return stackIntercept("clientStreaming", transport, method, options); - } - exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors; - function stackDuplexStreamingInterceptors(transport, method, options) { - return stackIntercept("duplex", transport, method, options); + return composedStream; } - exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors; - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js -var require_server_call_context = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ServerCallContextController = void 0; - var ServerCallContextController = class { - constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) { - this._cancelled = false; - this._listeners = []; - this.method = method; - this.headers = headers; - this.deadline = deadline; - this.trailers = {}; - this._sendRH = sendResponseHeadersFn; - this.status = defaultStatus; + function map2(fn, options) { + if (typeof fn !== "function") { + throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn); } - /** - * Set the call cancelled. - * - * Invokes all callbacks registered with onCancel() and - * sets `cancelled = true`. - */ - notifyCancelled() { - if (!this._cancelled) { - this._cancelled = true; - for (let l of this._listeners) { - l(); - } - } + if (options != null) { + validateObject(options, "options"); } - /** - * Send response headers. - */ - sendResponseHeaders(data) { - this._sendRH(data); + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); } - /** - * Is the call cancelled? - * - * When the client closes the connection before the server - * is done, the call is cancelled. - * - * If you want to cancel a request on the server, throw a - * RpcError with the CANCELLED status code. - */ - get cancelled() { - return this._cancelled; + let concurrency = 1; + if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) { + concurrency = MathFloor(options.concurrency); } - /** - * Add a callback for cancellation. - */ - onCancel(callback) { - const l = this._listeners; - l.push(callback); - return () => { - let i = l.indexOf(callback); - if (i >= 0) - l.splice(i, 1); - }; + let highWaterMark = concurrency - 1; + if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) { + highWaterMark = MathFloor(options.highWaterMark); } - }; - exports2.ServerCallContextController = ServerCallContextController; - } -}); - -// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js -var require_commonjs17 = __commonJS({ - "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var service_type_1 = require_service_type(); - Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() { - return service_type_1.ServiceType; - } }); - var reflection_info_1 = require_reflection_info2(); - Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() { - return reflection_info_1.readMethodOptions; - } }); - Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() { - return reflection_info_1.readMethodOption; - } }); - Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() { - return reflection_info_1.readServiceOption; - } }); - var rpc_error_1 = require_rpc_error(); - Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() { - return rpc_error_1.RpcError; - } }); - var rpc_options_1 = require_rpc_options(); - Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() { - return rpc_options_1.mergeRpcOptions; - } }); - var rpc_output_stream_1 = require_rpc_output_stream(); - Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() { - return rpc_output_stream_1.RpcOutputStreamController; - } }); - var test_transport_1 = require_test_transport(); - Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() { - return test_transport_1.TestTransport; - } }); - var deferred_1 = require_deferred(); - Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() { - return deferred_1.Deferred; - } }); - Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() { - return deferred_1.DeferredState; - } }); - var duplex_streaming_call_1 = require_duplex_streaming_call(); - Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() { - return duplex_streaming_call_1.DuplexStreamingCall; - } }); - var client_streaming_call_1 = require_client_streaming_call(); - Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() { - return client_streaming_call_1.ClientStreamingCall; - } }); - var server_streaming_call_1 = require_server_streaming_call(); - Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() { - return server_streaming_call_1.ServerStreamingCall; - } }); - var unary_call_1 = require_unary_call(); - Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() { - return unary_call_1.UnaryCall; - } }); - var rpc_interceptor_1 = require_rpc_interceptor(); - Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() { - return rpc_interceptor_1.stackIntercept; - } }); - Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() { - return rpc_interceptor_1.stackDuplexStreamingInterceptors; - } }); - Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() { - return rpc_interceptor_1.stackClientStreamingInterceptors; - } }); - Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() { - return rpc_interceptor_1.stackServerStreamingInterceptors; - } }); - Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() { - return rpc_interceptor_1.stackUnaryInterceptors; - } }); - var server_call_context_1 = require_server_call_context(); - Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() { - return server_call_context_1.ServerCallContextController; - } }); - } -}); - -// node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js -var require_cachescope = __commonJS({ - "node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.CacheScope = void 0; - var runtime_1 = require_commonjs16(); - var runtime_2 = require_commonjs16(); - var runtime_3 = require_commonjs16(); - var runtime_4 = require_commonjs16(); - var runtime_5 = require_commonjs16(); - var CacheScope$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.entities.v1.CacheScope", [ - { - no: 1, - name: "scope", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - }, - { - no: 2, - name: "permission", - kind: "scalar", - T: 3 - /*ScalarType.INT64*/ + validateInteger(concurrency, "options.concurrency", 1); + validateInteger(highWaterMark, "options.highWaterMark", 0); + highWaterMark += concurrency; + return async function* map3() { + const signal = require_util21().AbortSignalAny( + [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2) + ); + const stream = this; + const queue = []; + const signalOpt = { + signal + }; + let next; + let resume; + let done = false; + let cnt = 0; + function onCatch() { + done = true; + afterItemProcessed(); + } + function afterItemProcessed() { + cnt -= 1; + maybeResume(); + } + function maybeResume() { + if (resume && !done && cnt < concurrency && queue.length < highWaterMark) { + resume(); + resume = null; } - ]); - } - create(value) { - const message = { scope: "", permission: "0" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; - } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string scope */ - 1: - message.scope = reader.string(); - break; - case /* int64 permission */ - 2: - message.permission = reader.int64().toString(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + } + async function pump() { + try { + for await (let val of stream) { + if (done) { + return; + } + if (signal.aborted) { + throw new AbortError(); + } + try { + val = fn(val, signalOpt); + if (val === kEmpty) { + continue; + } + val = PromiseResolve(val); + } catch (err) { + val = PromiseReject(err); + } + cnt += 1; + PromisePrototypeThen(val, afterItemProcessed, onCatch); + queue.push(val); + if (next) { + next(); + next = null; + } + if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) { + await new Promise2((resolve5) => { + resume = resolve5; + }); + } + } + queue.push(kEof); + } catch (err) { + const val = PromiseReject(err); + PromisePrototypeThen(val, afterItemProcessed, onCatch); + queue.push(val); + } finally { + done = true; + if (next) { + next(); + next = null; + } } } - return message; - } - internalBinaryWrite(message, writer, options) { - if (message.scope !== "") - writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.scope); - if (message.permission !== "0") - writer.tag(2, runtime_1.WireType.Varint).int64(message.permission); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } - }; - exports2.CacheScope = new CacheScope$Type(); - } -}); - -// node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js -var require_cachemetadata = __commonJS({ - "node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.CacheMetadata = void 0; - var runtime_1 = require_commonjs16(); - var runtime_2 = require_commonjs16(); - var runtime_3 = require_commonjs16(); - var runtime_4 = require_commonjs16(); - var runtime_5 = require_commonjs16(); - var cachescope_1 = require_cachescope(); - var CacheMetadata$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.entities.v1.CacheMetadata", [ - { - no: 1, - name: "repository_id", - kind: "scalar", - T: 3 - /*ScalarType.INT64*/ - }, - { no: 2, name: "scope", kind: "message", repeat: 1, T: () => cachescope_1.CacheScope } - ]); - } - create(value) { - const message = { repositoryId: "0", scope: [] }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; - } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* int64 repository_id */ - 1: - message.repositoryId = reader.int64().toString(); - break; - case /* repeated github.actions.results.entities.v1.CacheScope scope */ - 2: - message.scope.push(cachescope_1.CacheScope.internalBinaryRead(reader, reader.uint32(), options)); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + pump(); + try { + while (true) { + while (queue.length > 0) { + const val = await queue[0]; + if (val === kEof) { + return; + } + if (signal.aborted) { + throw new AbortError(); + } + if (val !== kEmpty) { + yield val; + } + queue.shift(); + maybeResume(); + } + await new Promise2((resolve5) => { + next = resolve5; + }); + } + } finally { + done = true; + if (resume) { + resume(); + resume = null; } } - return message; + }.call(this); + } + function asIndexedPairs(options = void 0) { + if (options != null) { + validateObject(options, "options"); } - internalBinaryWrite(message, writer, options) { - if (message.repositoryId !== "0") - writer.tag(1, runtime_1.WireType.Varint).int64(message.repositoryId); - for (let i = 0; i < message.scope.length; i++) - cachescope_1.CacheScope.internalBinaryWrite(message.scope[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); } - }; - exports2.CacheMetadata = new CacheMetadata$Type(); - } -}); - -// node_modules/@actions/cache/lib/generated/results/api/v1/cache.js -var require_cache4 = __commonJS({ - "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.CacheService = exports2.GetCacheEntryDownloadURLResponse = exports2.GetCacheEntryDownloadURLRequest = exports2.FinalizeCacheEntryUploadResponse = exports2.FinalizeCacheEntryUploadRequest = exports2.CreateCacheEntryResponse = exports2.CreateCacheEntryRequest = void 0; - var runtime_rpc_1 = require_commonjs17(); - var runtime_1 = require_commonjs16(); - var runtime_2 = require_commonjs16(); - var runtime_3 = require_commonjs16(); - var runtime_4 = require_commonjs16(); - var runtime_5 = require_commonjs16(); - var cachemetadata_1 = require_cachemetadata(); - var CreateCacheEntryRequest$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.api.v1.CreateCacheEntryRequest", [ - { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata }, - { - no: 2, - name: "key", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - }, - { - no: 3, - name: "version", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ + return async function* asIndexedPairs2() { + let index = 0; + for await (const val of this) { + var _options$signal; + if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) { + throw new AbortError({ + cause: options.signal.reason + }); } - ]); + yield [index++, val]; + } + }.call(this); + } + async function some(fn, options = void 0) { + for await (const unused of filter.call(this, fn, options)) { + return true; } - create(value) { - const message = { key: "", version: "" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; + return false; + } + async function every(fn, options = void 0) { + if (typeof fn !== "function") { + throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn); } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* github.actions.results.entities.v1.CacheMetadata metadata */ - 1: - message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata); - break; - case /* string key */ - 2: - message.key = reader.string(); - break; - case /* string version */ - 3: - message.version = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } - } - return message; + return !await some.call( + this, + async (...args) => { + return !await fn(...args); + }, + options + ); + } + async function find2(fn, options) { + for await (const result of filter.call(this, fn, options)) { + return result; } - internalBinaryWrite(message, writer, options) { - if (message.metadata) - cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); - if (message.key !== "") - writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key); - if (message.version !== "") - writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.version); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; + return void 0; + } + async function forEach(fn, options) { + if (typeof fn !== "function") { + throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn); } - }; - exports2.CreateCacheEntryRequest = new CreateCacheEntryRequest$Type(); - var CreateCacheEntryResponse$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.api.v1.CreateCacheEntryResponse", [ - { - no: 1, - name: "ok", - kind: "scalar", - T: 8 - /*ScalarType.BOOL*/ - }, - { - no: 2, - name: "signed_upload_url", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - }, - { - no: 3, - name: "message", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - } - ]); + async function forEachFn(value, options2) { + await fn(value, options2); + return kEmpty; } - create(value) { - const message = { ok: false, signedUploadUrl: "", message: "" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; + for await (const unused of map2.call(this, forEachFn, options)) ; + } + function filter(fn, options) { + if (typeof fn !== "function") { + throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn); } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* bool ok */ - 1: - message.ok = reader.bool(); - break; - case /* string signed_upload_url */ - 2: - message.signedUploadUrl = reader.string(); - break; - case /* string message */ - 3: - message.message = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } + async function filterFn(value, options2) { + if (await fn(value, options2)) { + return value; } - return message; + return kEmpty; } - internalBinaryWrite(message, writer, options) { - if (message.ok !== false) - writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); - if (message.signedUploadUrl !== "") - writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl); - if (message.message !== "") - writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; + return map2.call(this, filterFn, options); + } + var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS { + constructor() { + super("reduce"); + this.message = "Reduce of an empty stream requires an initial value"; } }; - exports2.CreateCacheEntryResponse = new CreateCacheEntryResponse$Type(); - var FinalizeCacheEntryUploadRequest$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.api.v1.FinalizeCacheEntryUploadRequest", [ - { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata }, - { - no: 2, - name: "key", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - }, - { - no: 3, - name: "size_bytes", - kind: "scalar", - T: 3 - /*ScalarType.INT64*/ - }, - { - no: 4, - name: "version", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - } - ]); + async function reduce(reducer, initialValue, options) { + var _options$signal2; + if (typeof reducer !== "function") { + throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer); } - create(value) { - const message = { key: "", sizeBytes: "0", version: "" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; + if (options != null) { + validateObject(options, "options"); } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* github.actions.results.entities.v1.CacheMetadata metadata */ - 1: - message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata); - break; - case /* string key */ - 2: - message.key = reader.string(); - break; - case /* int64 size_bytes */ - 3: - message.sizeBytes = reader.int64().toString(); - break; - case /* string version */ - 4: - message.version = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); + } + let hasInitialValue = arguments.length > 1; + if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) { + const err = new AbortError(void 0, { + cause: options.signal.reason + }); + this.once("error", () => { + }); + await finished(this.destroy(err)); + throw err; + } + const ac = new AbortController2(); + const signal = ac.signal; + if (options !== null && options !== void 0 && options.signal) { + const opts = { + once: true, + [kWeakHandler]: this, + [kResistStopPropagation]: true + }; + options.signal.addEventListener("abort", () => ac.abort(), opts); + } + let gotAnyItemFromStream = false; + try { + for await (const value of this) { + var _options$signal3; + gotAnyItemFromStream = true; + if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) { + throw new AbortError(); + } + if (!hasInitialValue) { + initialValue = value; + hasInitialValue = true; + } else { + initialValue = await reducer(initialValue, value, { + signal + }); } } - return message; + if (!gotAnyItemFromStream && !hasInitialValue) { + throw new ReduceAwareErrMissingArgs(); + } + } finally { + ac.abort(); } - internalBinaryWrite(message, writer, options) { - if (message.metadata) - cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); - if (message.key !== "") - writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key); - if (message.sizeBytes !== "0") - writer.tag(3, runtime_1.WireType.Varint).int64(message.sizeBytes); - if (message.version !== "") - writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; + return initialValue; + } + async function toArray2(options) { + if (options != null) { + validateObject(options, "options"); } - }; - exports2.FinalizeCacheEntryUploadRequest = new FinalizeCacheEntryUploadRequest$Type(); - var FinalizeCacheEntryUploadResponse$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.api.v1.FinalizeCacheEntryUploadResponse", [ - { - no: 1, - name: "ok", - kind: "scalar", - T: 8 - /*ScalarType.BOOL*/ - }, - { - no: 2, - name: "entry_id", - kind: "scalar", - T: 3 - /*ScalarType.INT64*/ - }, - { - no: 3, - name: "message", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - } - ]); + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); } - create(value) { - const message = { ok: false, entryId: "0", message: "" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; + const result = []; + for await (const val of this) { + var _options$signal4; + if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) { + throw new AbortError(void 0, { + cause: options.signal.reason + }); + } + ArrayPrototypePush(result, val); } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* bool ok */ - 1: - message.ok = reader.bool(); - break; - case /* int64 entry_id */ - 2: - message.entryId = reader.int64().toString(); - break; - case /* string message */ - 3: - message.message = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } + return result; + } + function flatMap(fn, options) { + const values = map2.call(this, fn, options); + return async function* flatMap2() { + for await (const val of values) { + yield* val; } - return message; + }.call(this); + } + function toIntegerOrInfinity(number) { + number = Number2(number); + if (NumberIsNaN(number)) { + return 0; } - internalBinaryWrite(message, writer, options) { - if (message.ok !== false) - writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); - if (message.entryId !== "0") - writer.tag(2, runtime_1.WireType.Varint).int64(message.entryId); - if (message.message !== "") - writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; + if (number < 0) { + throw new ERR_OUT_OF_RANGE("number", ">= 0", number); } - }; - exports2.FinalizeCacheEntryUploadResponse = new FinalizeCacheEntryUploadResponse$Type(); - var GetCacheEntryDownloadURLRequest$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.api.v1.GetCacheEntryDownloadURLRequest", [ - { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata }, - { - no: 2, - name: "key", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - }, - { - no: 3, - name: "restore_keys", - kind: "scalar", - repeat: 2, - T: 9 - /*ScalarType.STRING*/ - }, - { - no: 4, - name: "version", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ - } - ]); + return number; + } + function drop(number, options = void 0) { + if (options != null) { + validateObject(options, "options"); } - create(value) { - const message = { key: "", restoreKeys: [], version: "" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* github.actions.results.entities.v1.CacheMetadata metadata */ - 1: - message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata); - break; - case /* string key */ - 2: - message.key = reader.string(); - break; - case /* repeated string restore_keys */ - 3: - message.restoreKeys.push(reader.string()); - break; - case /* string version */ - 4: - message.version = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + number = toIntegerOrInfinity(number); + return async function* drop2() { + var _options$signal5; + if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) { + throw new AbortError(); + } + for await (const val of this) { + var _options$signal6; + if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) { + throw new AbortError(); + } + if (number-- <= 0) { + yield val; } } - return message; + }.call(this); + } + function take(number, options = void 0) { + if (options != null) { + validateObject(options, "options"); } - internalBinaryWrite(message, writer, options) { - if (message.metadata) - cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join(); - if (message.key !== "") - writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key); - for (let i = 0; i < message.restoreKeys.length; i++) - writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.restoreKeys[i]); - if (message.version !== "") - writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; + if ((options === null || options === void 0 ? void 0 : options.signal) != null) { + validateAbortSignal(options.signal, "options.signal"); } + number = toIntegerOrInfinity(number); + return async function* take2() { + var _options$signal7; + if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) { + throw new AbortError(); + } + for await (const val of this) { + var _options$signal8; + if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) { + throw new AbortError(); + } + if (number-- > 0) { + yield val; + } + if (number <= 0) { + return; + } + } + }.call(this); + } + module2.exports.streamReturningOperators = { + asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."), + drop, + filter, + flatMap, + map: map2, + take, + compose }; - exports2.GetCacheEntryDownloadURLRequest = new GetCacheEntryDownloadURLRequest$Type(); - var GetCacheEntryDownloadURLResponse$Type = class extends runtime_5.MessageType { - constructor() { - super("github.actions.results.api.v1.GetCacheEntryDownloadURLResponse", [ - { - no: 1, - name: "ok", - kind: "scalar", - T: 8 - /*ScalarType.BOOL*/ - }, - { - no: 2, - name: "signed_download_url", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ + module2.exports.promiseReturningOperators = { + every, + forEach, + reduce, + toArray: toArray2, + some, + find: find2 + }; + } +}); + +// node_modules/readable-stream/lib/stream/promises.js +var require_promises = __commonJS({ + "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) { + "use strict"; + var { ArrayPrototypePop, Promise: Promise2 } = require_primordials(); + var { isIterable, isNodeStream, isWebStream } = require_utils8(); + var { pipelineImpl: pl } = require_pipeline4(); + var { finished } = require_end_of_stream(); + require_stream2(); + function pipeline(...streams) { + return new Promise2((resolve5, reject) => { + let signal; + let end; + const lastArg = streams[streams.length - 1]; + if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) { + const options = ArrayPrototypePop(streams); + signal = options.signal; + end = options.end; + } + pl( + streams, + (err, value) => { + if (err) { + reject(err); + } else { + resolve5(value); + } }, { - no: 3, - name: "matched_key", - kind: "scalar", - T: 9 - /*ScalarType.STRING*/ + signal, + end } - ]); + ); + }); + } + module2.exports = { + finished, + pipeline + }; + } +}); + +// node_modules/readable-stream/lib/stream.js +var require_stream2 = __commonJS({ + "node_modules/readable-stream/lib/stream.js"(exports2, module2) { + var { Buffer: Buffer2 } = require("buffer"); + var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials(); + var { + promisify: { custom: customPromisify } + } = require_util21(); + var { streamReturningOperators, promiseReturningOperators } = require_operators(); + var { + codes: { ERR_ILLEGAL_CONSTRUCTOR } + } = require_errors5(); + var compose = require_compose(); + var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3(); + var { pipeline } = require_pipeline4(); + var { destroyer } = require_destroy2(); + var eos = require_end_of_stream(); + var promises3 = require_promises(); + var utils = require_utils8(); + var Stream = module2.exports = require_legacy().Stream; + Stream.isDestroyed = utils.isDestroyed; + Stream.isDisturbed = utils.isDisturbed; + Stream.isErrored = utils.isErrored; + Stream.isReadable = utils.isReadable; + Stream.isWritable = utils.isWritable; + Stream.Readable = require_readable4(); + for (const key of ObjectKeys(streamReturningOperators)) { + let fn2 = function(...args) { + if (new.target) { + throw ERR_ILLEGAL_CONSTRUCTOR(); + } + return Stream.Readable.from(ReflectApply(op, this, args)); + }; + fn = fn2; + const op = streamReturningOperators[key]; + ObjectDefineProperty(fn2, "name", { + __proto__: null, + value: op.name + }); + ObjectDefineProperty(fn2, "length", { + __proto__: null, + value: op.length + }); + ObjectDefineProperty(Stream.Readable.prototype, key, { + __proto__: null, + value: fn2, + enumerable: false, + configurable: true, + writable: true + }); + } + var fn; + for (const key of ObjectKeys(promiseReturningOperators)) { + let fn2 = function(...args) { + if (new.target) { + throw ERR_ILLEGAL_CONSTRUCTOR(); + } + return ReflectApply(op, this, args); + }; + fn = fn2; + const op = promiseReturningOperators[key]; + ObjectDefineProperty(fn2, "name", { + __proto__: null, + value: op.name + }); + ObjectDefineProperty(fn2, "length", { + __proto__: null, + value: op.length + }); + ObjectDefineProperty(Stream.Readable.prototype, key, { + __proto__: null, + value: fn2, + enumerable: false, + configurable: true, + writable: true + }); + } + var fn; + Stream.Writable = require_writable(); + Stream.Duplex = require_duplex(); + Stream.Transform = require_transform(); + Stream.PassThrough = require_passthrough2(); + Stream.pipeline = pipeline; + var { addAbortSignal } = require_add_abort_signal(); + Stream.addAbortSignal = addAbortSignal; + Stream.finished = eos; + Stream.destroy = destroyer; + Stream.compose = compose; + Stream.setDefaultHighWaterMark = setDefaultHighWaterMark; + Stream.getDefaultHighWaterMark = getDefaultHighWaterMark; + ObjectDefineProperty(Stream, "promises", { + __proto__: null, + configurable: true, + enumerable: true, + get() { + return promises3; } - create(value) { - const message = { ok: false, signedDownloadUrl: "", matchedKey: "" }; - globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this }); - if (value !== void 0) - (0, runtime_3.reflectionMergePartial)(this, message, value); - return message; + }); + ObjectDefineProperty(pipeline, customPromisify, { + __proto__: null, + enumerable: true, + get() { + return promises3.pipeline; } - internalBinaryRead(reader, length, options, target) { - let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* bool ok */ - 1: - message.ok = reader.bool(); - break; - case /* string signed_download_url */ - 2: - message.signedDownloadUrl = reader.string(); - break; - case /* string matched_key */ - 3: - message.matchedKey = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); + }); + ObjectDefineProperty(eos, customPromisify, { + __proto__: null, + enumerable: true, + get() { + return promises3.finished; + } + }); + Stream.Stream = Stream; + Stream._isUint8Array = function isUint8Array(value) { + return value instanceof Uint8Array; + }; + Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) { + return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength); + }; + } +}); + +// node_modules/readable-stream/lib/ours/index.js +var require_ours = __commonJS({ + "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) { + "use strict"; + var Stream = require("stream"); + if (Stream && process.env.READABLE_STREAM === "disable") { + const promises3 = Stream.promises; + module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer; + module2.exports._isUint8Array = Stream._isUint8Array; + module2.exports.isDisturbed = Stream.isDisturbed; + module2.exports.isErrored = Stream.isErrored; + module2.exports.isReadable = Stream.isReadable; + module2.exports.Readable = Stream.Readable; + module2.exports.Writable = Stream.Writable; + module2.exports.Duplex = Stream.Duplex; + module2.exports.Transform = Stream.Transform; + module2.exports.PassThrough = Stream.PassThrough; + module2.exports.addAbortSignal = Stream.addAbortSignal; + module2.exports.finished = Stream.finished; + module2.exports.destroy = Stream.destroy; + module2.exports.pipeline = Stream.pipeline; + module2.exports.compose = Stream.compose; + Object.defineProperty(Stream, "promises", { + configurable: true, + enumerable: true, + get() { + return promises3; + } + }); + module2.exports.Stream = Stream.Stream; + } else { + const CustomStream = require_stream2(); + const promises3 = require_promises(); + const originalDestroy = CustomStream.Readable.destroy; + module2.exports = CustomStream.Readable; + module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer; + module2.exports._isUint8Array = CustomStream._isUint8Array; + module2.exports.isDisturbed = CustomStream.isDisturbed; + module2.exports.isErrored = CustomStream.isErrored; + module2.exports.isReadable = CustomStream.isReadable; + module2.exports.Readable = CustomStream.Readable; + module2.exports.Writable = CustomStream.Writable; + module2.exports.Duplex = CustomStream.Duplex; + module2.exports.Transform = CustomStream.Transform; + module2.exports.PassThrough = CustomStream.PassThrough; + module2.exports.addAbortSignal = CustomStream.addAbortSignal; + module2.exports.finished = CustomStream.finished; + module2.exports.destroy = CustomStream.destroy; + module2.exports.destroy = originalDestroy; + module2.exports.pipeline = CustomStream.pipeline; + module2.exports.compose = CustomStream.compose; + Object.defineProperty(CustomStream, "promises", { + configurable: true, + enumerable: true, + get() { + return promises3; + } + }); + module2.exports.Stream = CustomStream.Stream; + } + module2.exports.default = module2.exports; + } +}); + +// node_modules/lodash/_arrayPush.js +var require_arrayPush = __commonJS({ + "node_modules/lodash/_arrayPush.js"(exports2, module2) { + function arrayPush(array, values) { + var index = -1, length = values.length, offset = array.length; + while (++index < length) { + array[offset + index] = values[index]; + } + return array; + } + module2.exports = arrayPush; + } +}); + +// node_modules/lodash/_isFlattenable.js +var require_isFlattenable = __commonJS({ + "node_modules/lodash/_isFlattenable.js"(exports2, module2) { + var Symbol2 = require_Symbol(); + var isArguments = require_isArguments(); + var isArray = require_isArray(); + var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0; + function isFlattenable(value) { + return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); + } + module2.exports = isFlattenable; + } +}); + +// node_modules/lodash/_baseFlatten.js +var require_baseFlatten = __commonJS({ + "node_modules/lodash/_baseFlatten.js"(exports2, module2) { + var arrayPush = require_arrayPush(); + var isFlattenable = require_isFlattenable(); + function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, length = array.length; + predicate || (predicate = isFlattenable); + result || (result = []); + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); } + } else if (!isStrict) { + result[result.length] = value; } - return message; } - internalBinaryWrite(message, writer, options) { - if (message.ok !== false) - writer.tag(1, runtime_1.WireType.Varint).bool(message.ok); - if (message.signedDownloadUrl !== "") - writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedDownloadUrl); - if (message.matchedKey !== "") - writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.matchedKey); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; + return result; + } + module2.exports = baseFlatten; + } +}); + +// node_modules/lodash/flatten.js +var require_flatten = __commonJS({ + "node_modules/lodash/flatten.js"(exports2, module2) { + var baseFlatten = require_baseFlatten(); + function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; + } + module2.exports = flatten; + } +}); + +// node_modules/lodash/_nativeCreate.js +var require_nativeCreate = __commonJS({ + "node_modules/lodash/_nativeCreate.js"(exports2, module2) { + var getNative = require_getNative(); + var nativeCreate = getNative(Object, "create"); + module2.exports = nativeCreate; + } +}); + +// node_modules/lodash/_hashClear.js +var require_hashClear = __commonJS({ + "node_modules/lodash/_hashClear.js"(exports2, module2) { + var nativeCreate = require_nativeCreate(); + function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; + } + module2.exports = hashClear; + } +}); + +// node_modules/lodash/_hashDelete.js +var require_hashDelete = __commonJS({ + "node_modules/lodash/_hashDelete.js"(exports2, module2) { + function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; + } + module2.exports = hashDelete; + } +}); + +// node_modules/lodash/_hashGet.js +var require_hashGet = __commonJS({ + "node_modules/lodash/_hashGet.js"(exports2, module2) { + var nativeCreate = require_nativeCreate(); + var HASH_UNDEFINED = "__lodash_hash_undefined__"; + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? void 0 : result; } - }; - exports2.GetCacheEntryDownloadURLResponse = new GetCacheEntryDownloadURLResponse$Type(); - exports2.CacheService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.CacheService", [ - { name: "CreateCacheEntry", options: {}, I: exports2.CreateCacheEntryRequest, O: exports2.CreateCacheEntryResponse }, - { name: "FinalizeCacheEntryUpload", options: {}, I: exports2.FinalizeCacheEntryUploadRequest, O: exports2.FinalizeCacheEntryUploadResponse }, - { name: "GetCacheEntryDownloadURL", options: {}, I: exports2.GetCacheEntryDownloadURLRequest, O: exports2.GetCacheEntryDownloadURLResponse } - ]); + return hasOwnProperty.call(data, key) ? data[key] : void 0; + } + module2.exports = hashGet; + } +}); + +// node_modules/lodash/_hashHas.js +var require_hashHas = __commonJS({ + "node_modules/lodash/_hashHas.js"(exports2, module2) { + var nativeCreate = require_nativeCreate(); + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key); + } + module2.exports = hashHas; + } +}); + +// node_modules/lodash/_hashSet.js +var require_hashSet = __commonJS({ + "node_modules/lodash/_hashSet.js"(exports2, module2) { + var nativeCreate = require_nativeCreate(); + var HASH_UNDEFINED = "__lodash_hash_undefined__"; + function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value; + return this; + } + module2.exports = hashSet; } }); -// node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js -var require_cache_twirp_client = __commonJS({ - "node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0; - var cache_1 = require_cache4(); - var CacheServiceClientJSON = class { - constructor(rpc) { - this.rpc = rpc; - this.CreateCacheEntry.bind(this); - this.FinalizeCacheEntryUpload.bind(this); - this.GetCacheEntryDownloadURL.bind(this); +// node_modules/lodash/_Hash.js +var require_Hash = __commonJS({ + "node_modules/lodash/_Hash.js"(exports2, module2) { + var hashClear = require_hashClear(); + var hashDelete = require_hashDelete(); + var hashGet = require_hashGet(); + var hashHas = require_hashHas(); + var hashSet = require_hashSet(); + function Hash(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); } - CreateCacheEntry(request2) { - const data = cache_1.CreateCacheEntryRequest.toJson(request2, { - useProtoFieldName: true, - emitDefaultValues: false - }); - const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/json", data); - return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromJson(data2, { - ignoreUnknownFields: true - })); + } + Hash.prototype.clear = hashClear; + Hash.prototype["delete"] = hashDelete; + Hash.prototype.get = hashGet; + Hash.prototype.has = hashHas; + Hash.prototype.set = hashSet; + module2.exports = Hash; + } +}); + +// node_modules/lodash/_listCacheClear.js +var require_listCacheClear = __commonJS({ + "node_modules/lodash/_listCacheClear.js"(exports2, module2) { + function listCacheClear() { + this.__data__ = []; + this.size = 0; + } + module2.exports = listCacheClear; + } +}); + +// node_modules/lodash/_assocIndexOf.js +var require_assocIndexOf = __commonJS({ + "node_modules/lodash/_assocIndexOf.js"(exports2, module2) { + var eq = require_eq2(); + function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } } - FinalizeCacheEntryUpload(request2) { - const data = cache_1.FinalizeCacheEntryUploadRequest.toJson(request2, { - useProtoFieldName: true, - emitDefaultValues: false - }); - const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/json", data); - return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromJson(data2, { - ignoreUnknownFields: true - })); + return -1; + } + module2.exports = assocIndexOf; + } +}); + +// node_modules/lodash/_listCacheDelete.js +var require_listCacheDelete = __commonJS({ + "node_modules/lodash/_listCacheDelete.js"(exports2, module2) { + var assocIndexOf = require_assocIndexOf(); + var arrayProto = Array.prototype; + var splice = arrayProto.splice; + function listCacheDelete(key) { + var data = this.__data__, index = assocIndexOf(data, key); + if (index < 0) { + return false; } - GetCacheEntryDownloadURL(request2) { - const data = cache_1.GetCacheEntryDownloadURLRequest.toJson(request2, { - useProtoFieldName: true, - emitDefaultValues: false - }); - const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/json", data); - return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromJson(data2, { - ignoreUnknownFields: true - })); + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); } - }; - exports2.CacheServiceClientJSON = CacheServiceClientJSON; - var CacheServiceClientProtobuf = class { - constructor(rpc) { - this.rpc = rpc; - this.CreateCacheEntry.bind(this); - this.FinalizeCacheEntryUpload.bind(this); - this.GetCacheEntryDownloadURL.bind(this); + --this.size; + return true; + } + module2.exports = listCacheDelete; + } +}); + +// node_modules/lodash/_listCacheGet.js +var require_listCacheGet = __commonJS({ + "node_modules/lodash/_listCacheGet.js"(exports2, module2) { + var assocIndexOf = require_assocIndexOf(); + function listCacheGet(key) { + var data = this.__data__, index = assocIndexOf(data, key); + return index < 0 ? void 0 : data[index][1]; + } + module2.exports = listCacheGet; + } +}); + +// node_modules/lodash/_listCacheHas.js +var require_listCacheHas = __commonJS({ + "node_modules/lodash/_listCacheHas.js"(exports2, module2) { + var assocIndexOf = require_assocIndexOf(); + function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; + } + module2.exports = listCacheHas; + } +}); + +// node_modules/lodash/_listCacheSet.js +var require_listCacheSet = __commonJS({ + "node_modules/lodash/_listCacheSet.js"(exports2, module2) { + var assocIndexOf = require_assocIndexOf(); + function listCacheSet(key, value) { + var data = this.__data__, index = assocIndexOf(data, key); + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; } - CreateCacheEntry(request2) { - const data = cache_1.CreateCacheEntryRequest.toBinary(request2); - const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/protobuf", data); - return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromBinary(data2)); + return this; + } + module2.exports = listCacheSet; + } +}); + +// node_modules/lodash/_ListCache.js +var require_ListCache = __commonJS({ + "node_modules/lodash/_ListCache.js"(exports2, module2) { + var listCacheClear = require_listCacheClear(); + var listCacheDelete = require_listCacheDelete(); + var listCacheGet = require_listCacheGet(); + var listCacheHas = require_listCacheHas(); + var listCacheSet = require_listCacheSet(); + function ListCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); } - FinalizeCacheEntryUpload(request2) { - const data = cache_1.FinalizeCacheEntryUploadRequest.toBinary(request2); - const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/protobuf", data); - return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromBinary(data2)); + } + ListCache.prototype.clear = listCacheClear; + ListCache.prototype["delete"] = listCacheDelete; + ListCache.prototype.get = listCacheGet; + ListCache.prototype.has = listCacheHas; + ListCache.prototype.set = listCacheSet; + module2.exports = ListCache; + } +}); + +// node_modules/lodash/_Map.js +var require_Map = __commonJS({ + "node_modules/lodash/_Map.js"(exports2, module2) { + var getNative = require_getNative(); + var root = require_root(); + var Map2 = getNative(root, "Map"); + module2.exports = Map2; + } +}); + +// node_modules/lodash/_mapCacheClear.js +var require_mapCacheClear = __commonJS({ + "node_modules/lodash/_mapCacheClear.js"(exports2, module2) { + var Hash = require_Hash(); + var ListCache = require_ListCache(); + var Map2 = require_Map(); + function mapCacheClear() { + this.size = 0; + this.__data__ = { + "hash": new Hash(), + "map": new (Map2 || ListCache)(), + "string": new Hash() + }; + } + module2.exports = mapCacheClear; + } +}); + +// node_modules/lodash/_isKeyable.js +var require_isKeyable = __commonJS({ + "node_modules/lodash/_isKeyable.js"(exports2, module2) { + function isKeyable(value) { + var type2 = typeof value; + return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null; + } + module2.exports = isKeyable; + } +}); + +// node_modules/lodash/_getMapData.js +var require_getMapData = __commonJS({ + "node_modules/lodash/_getMapData.js"(exports2, module2) { + var isKeyable = require_isKeyable(); + function getMapData(map2, key) { + var data = map2.__data__; + return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map; + } + module2.exports = getMapData; + } +}); + +// node_modules/lodash/_mapCacheDelete.js +var require_mapCacheDelete = __commonJS({ + "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) { + var getMapData = require_getMapData(); + function mapCacheDelete(key) { + var result = getMapData(this, key)["delete"](key); + this.size -= result ? 1 : 0; + return result; + } + module2.exports = mapCacheDelete; + } +}); + +// node_modules/lodash/_mapCacheGet.js +var require_mapCacheGet = __commonJS({ + "node_modules/lodash/_mapCacheGet.js"(exports2, module2) { + var getMapData = require_getMapData(); + function mapCacheGet(key) { + return getMapData(this, key).get(key); + } + module2.exports = mapCacheGet; + } +}); + +// node_modules/lodash/_mapCacheHas.js +var require_mapCacheHas = __commonJS({ + "node_modules/lodash/_mapCacheHas.js"(exports2, module2) { + var getMapData = require_getMapData(); + function mapCacheHas(key) { + return getMapData(this, key).has(key); + } + module2.exports = mapCacheHas; + } +}); + +// node_modules/lodash/_mapCacheSet.js +var require_mapCacheSet = __commonJS({ + "node_modules/lodash/_mapCacheSet.js"(exports2, module2) { + var getMapData = require_getMapData(); + function mapCacheSet(key, value) { + var data = getMapData(this, key), size = data.size; + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; + } + module2.exports = mapCacheSet; + } +}); + +// node_modules/lodash/_MapCache.js +var require_MapCache = __commonJS({ + "node_modules/lodash/_MapCache.js"(exports2, module2) { + var mapCacheClear = require_mapCacheClear(); + var mapCacheDelete = require_mapCacheDelete(); + var mapCacheGet = require_mapCacheGet(); + var mapCacheHas = require_mapCacheHas(); + var mapCacheSet = require_mapCacheSet(); + function MapCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); } - GetCacheEntryDownloadURL(request2) { - const data = cache_1.GetCacheEntryDownloadURLRequest.toBinary(request2); - const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/protobuf", data); - return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromBinary(data2)); + } + MapCache.prototype.clear = mapCacheClear; + MapCache.prototype["delete"] = mapCacheDelete; + MapCache.prototype.get = mapCacheGet; + MapCache.prototype.has = mapCacheHas; + MapCache.prototype.set = mapCacheSet; + module2.exports = MapCache; + } +}); + +// node_modules/lodash/_setCacheAdd.js +var require_setCacheAdd = __commonJS({ + "node_modules/lodash/_setCacheAdd.js"(exports2, module2) { + var HASH_UNDEFINED = "__lodash_hash_undefined__"; + function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; + } + module2.exports = setCacheAdd; + } +}); + +// node_modules/lodash/_setCacheHas.js +var require_setCacheHas = __commonJS({ + "node_modules/lodash/_setCacheHas.js"(exports2, module2) { + function setCacheHas(value) { + return this.__data__.has(value); + } + module2.exports = setCacheHas; + } +}); + +// node_modules/lodash/_SetCache.js +var require_SetCache = __commonJS({ + "node_modules/lodash/_SetCache.js"(exports2, module2) { + var MapCache = require_MapCache(); + var setCacheAdd = require_setCacheAdd(); + var setCacheHas = require_setCacheHas(); + function SetCache(values) { + var index = -1, length = values == null ? 0 : values.length; + this.__data__ = new MapCache(); + while (++index < length) { + this.add(values[index]); } - }; - exports2.CacheServiceClientProtobuf = CacheServiceClientProtobuf; + } + SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; + SetCache.prototype.has = setCacheHas; + module2.exports = SetCache; } }); -// node_modules/@actions/cache/lib/internal/shared/util.js -var require_util17 = __commonJS({ - "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.maskSigUrl = maskSigUrl; - exports2.maskSecretUrls = maskSecretUrls; - var core_1 = require_core(); - function maskSigUrl(url) { - if (!url) - return; - try { - const parsedUrl = new URL(url); - const signature = parsedUrl.searchParams.get("sig"); - if (signature) { - (0, core_1.setSecret)(signature); - (0, core_1.setSecret)(encodeURIComponent(signature)); +// node_modules/lodash/_baseFindIndex.js +var require_baseFindIndex = __commonJS({ + "node_modules/lodash/_baseFindIndex.js"(exports2, module2) { + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, index = fromIndex + (fromRight ? 1 : -1); + while (fromRight ? index-- : ++index < length) { + if (predicate(array[index], index, array)) { + return index; } - } catch (error3) { - (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`); } + return -1; } - function maskSecretUrls(body) { - if (typeof body !== "object" || body === null) { - (0, core_1.debug)("body is not an object or is null"); - return; - } - if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") { - maskSigUrl(body.signed_upload_url); - } - if ("signed_download_url" in body && typeof body.signed_download_url === "string") { - maskSigUrl(body.signed_download_url); - } + module2.exports = baseFindIndex; + } +}); + +// node_modules/lodash/_baseIsNaN.js +var require_baseIsNaN = __commonJS({ + "node_modules/lodash/_baseIsNaN.js"(exports2, module2) { + function baseIsNaN(value) { + return value !== value; } + module2.exports = baseIsNaN; } }); -// node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js -var require_cacheTwirpClient = __commonJS({ - "node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js"(exports2) { - "use strict"; - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); - } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.internalCacheTwirpClient = internalCacheTwirpClient; - var core_1 = require_core(); - var user_agent_1 = require_user_agent(); - var errors_1 = require_errors3(); - var config_1 = require_config(); - var cacheUtils_1 = require_cacheUtils(); - var auth_1 = require_auth(); - var http_client_1 = require_lib(); - var cache_twirp_client_1 = require_cache_twirp_client(); - var util_1 = require_util17(); - var CacheServiceClient = class { - constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) { - this.maxAttempts = 5; - this.baseRetryIntervalMilliseconds = 3e3; - this.retryMultiplier = 1.5; - const token = (0, cacheUtils_1.getRuntimeToken)(); - this.baseUrl = (0, config_1.getCacheServiceURL)(); - if (maxAttempts) { - this.maxAttempts = maxAttempts; - } - if (baseRetryIntervalMilliseconds) { - this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds; - } - if (retryMultiplier) { - this.retryMultiplier = retryMultiplier; +// node_modules/lodash/_strictIndexOf.js +var require_strictIndexOf = __commonJS({ + "node_modules/lodash/_strictIndexOf.js"(exports2, module2) { + function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, length = array.length; + while (++index < length) { + if (array[index] === value) { + return index; } - this.httpClient = new http_client_1.HttpClient(userAgent2, [ - new auth_1.BearerCredentialHandler(token) - ]); - } - // This function satisfies the Rpc interface. It is compatible with the JSON - // JSON generated client. - request(service, method, contentType, data) { - return __awaiter2(this, void 0, void 0, function* () { - const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href; - (0, core_1.debug)(`[Request] ${method} ${url}`); - const headers = { - "Content-Type": contentType - }; - try { - const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () { - return this.httpClient.post(url, JSON.stringify(data), headers); - })); - return body; - } catch (error3) { - throw new Error(`Failed to ${method}: ${error3.message}`); - } - }); - } - retryableRequest(operation) { - return __awaiter2(this, void 0, void 0, function* () { - let attempt = 0; - let errorMessage = ""; - let rawBody = ""; - while (attempt < this.maxAttempts) { - let isRetryable = false; - try { - const response = yield operation(); - const statusCode = response.message.statusCode; - rawBody = yield response.readBody(); - (0, core_1.debug)(`[Response] - ${response.message.statusCode}`); - (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`); - const body = JSON.parse(rawBody); - (0, util_1.maskSecretUrls)(body); - (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`); - if (this.isSuccessStatusCode(statusCode)) { - return { response, body }; - } - isRetryable = this.isRetryableHttpStatusCode(statusCode); - errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`; - if (body.msg) { - if (errors_1.UsageError.isUsageErrorMessage(body.msg)) { - throw new errors_1.UsageError(); - } - errorMessage = `${errorMessage}: ${body.msg}`; - } - if (statusCode === http_client_1.HttpCodes.TooManyRequests) { - const retryAfterHeader = response.message.headers["retry-after"]; - if (retryAfterHeader) { - const parsedSeconds = parseInt(retryAfterHeader, 10); - if (!isNaN(parsedSeconds) && parsedSeconds > 0) { - (0, core_1.warning)(`You've hit a rate limit, your rate limit will reset in ${parsedSeconds} seconds`); - } - } - throw new errors_1.RateLimitError(`Rate limited: ${errorMessage}`); - } - } catch (error3) { - if (error3 instanceof SyntaxError) { - (0, core_1.debug)(`Raw Body: ${rawBody}`); - } - if (error3 instanceof errors_1.UsageError) { - throw error3; - } - if (error3 instanceof errors_1.RateLimitError) { - throw error3; - } - if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) { - throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code); - } - isRetryable = true; - errorMessage = error3.message; - } - if (!isRetryable) { - throw new Error(`Received non-retryable error: ${errorMessage}`); - } - if (attempt + 1 === this.maxAttempts) { - throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`); - } - const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt); - (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`); - yield this.sleep(retryTimeMilliseconds); - attempt++; - } - throw new Error(`Request failed`); - }); - } - isSuccessStatusCode(statusCode) { - if (!statusCode) - return false; - return statusCode >= 200 && statusCode < 300; - } - isRetryableHttpStatusCode(statusCode) { - if (!statusCode) - return false; - const retryableStatusCodes = [ - http_client_1.HttpCodes.BadGateway, - http_client_1.HttpCodes.GatewayTimeout, - http_client_1.HttpCodes.InternalServerError, - http_client_1.HttpCodes.ServiceUnavailable - ]; - return retryableStatusCodes.includes(statusCode); - } - sleep(milliseconds) { - return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve5) => setTimeout(resolve5, milliseconds)); - }); } - getExponentialRetryTimeMilliseconds(attempt) { - if (attempt < 0) { - throw new Error("attempt should be a positive integer"); - } - if (attempt === 0) { - return this.baseRetryIntervalMilliseconds; + return -1; + } + module2.exports = strictIndexOf; + } +}); + +// node_modules/lodash/_baseIndexOf.js +var require_baseIndexOf = __commonJS({ + "node_modules/lodash/_baseIndexOf.js"(exports2, module2) { + var baseFindIndex = require_baseFindIndex(); + var baseIsNaN = require_baseIsNaN(); + var strictIndexOf = require_strictIndexOf(); + function baseIndexOf(array, value, fromIndex) { + return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex); + } + module2.exports = baseIndexOf; + } +}); + +// node_modules/lodash/_arrayIncludes.js +var require_arrayIncludes = __commonJS({ + "node_modules/lodash/_arrayIncludes.js"(exports2, module2) { + var baseIndexOf = require_baseIndexOf(); + function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; + } + module2.exports = arrayIncludes; + } +}); + +// node_modules/lodash/_arrayIncludesWith.js +var require_arrayIncludesWith = __commonJS({ + "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) { + function arrayIncludesWith(array, value, comparator) { + var index = -1, length = array == null ? 0 : array.length; + while (++index < length) { + if (comparator(value, array[index])) { + return true; } - const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt); - const maxTime = minTime * this.retryMultiplier; - return Math.trunc(Math.random() * (maxTime - minTime) + minTime); } - }; - function internalCacheTwirpClient(options) { - const client = new CacheServiceClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier); - return new cache_twirp_client_1.CacheServiceClientJSON(client); + return false; } + module2.exports = arrayIncludesWith; } }); -// node_modules/@actions/cache/lib/internal/tar.js -var require_tar = __commonJS({ - "node_modules/@actions/cache/lib/internal/tar.js"(exports2) { - "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; +// node_modules/lodash/_arrayMap.js +var require_arrayMap = __commonJS({ + "node_modules/lodash/_arrayMap.js"(exports2, module2) { + function arrayMap(array, iteratee) { + var index = -1, length = array == null ? 0 : array.length, result = Array(length); + while (++index < length) { + result[index] = iteratee(array[index], index, array); } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = Object.getOwnPropertyNames || function(o2) { - var ar = []; - for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); + return result; + } + module2.exports = arrayMap; + } +}); + +// node_modules/lodash/_cacheHas.js +var require_cacheHas = __commonJS({ + "node_modules/lodash/_cacheHas.js"(exports2, module2) { + function cacheHas(cache, key) { + return cache.has(key); + } + module2.exports = cacheHas; + } +}); + +// node_modules/lodash/_baseDifference.js +var require_baseDifference = __commonJS({ + "node_modules/lodash/_baseDifference.js"(exports2, module2) { + var SetCache = require_SetCache(); + var arrayIncludes = require_arrayIncludes(); + var arrayIncludesWith = require_arrayIncludesWith(); + var arrayMap = require_arrayMap(); + var baseUnary = require_baseUnary(); + var cacheHas = require_cacheHas(); + var LARGE_ARRAY_SIZE = 200; + function baseDifference(array, values, iteratee, comparator) { + var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length; + if (!length) { return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.listTar = listTar; - exports2.extractTar = extractTar2; - exports2.createTar = createTar; - var exec_1 = require_exec(); - var io6 = __importStar2(require_io()); - var fs_1 = require("fs"); - var path7 = __importStar2(require("path")); - var utils = __importStar2(require_cacheUtils()); - var constants_1 = require_constants12(); - var IS_WINDOWS = process.platform === "win32"; - function getTarPath() { - return __awaiter2(this, void 0, void 0, function* () { - switch (process.platform) { - case "win32": { - const gnuTar = yield utils.getGnuTarPathOnWindows(); - const systemTar = constants_1.SystemTarPathOnWindows; - if (gnuTar) { - return { path: gnuTar, type: constants_1.ArchiveToolType.GNU }; - } else if ((0, fs_1.existsSync)(systemTar)) { - return { path: systemTar, type: constants_1.ArchiveToolType.BSD }; - } - break; - } - case "darwin": { - const gnuTar = yield io6.which("gtar", false); - if (gnuTar) { - return { path: gnuTar, type: constants_1.ArchiveToolType.GNU }; - } else { - return { - path: yield io6.which("tar", true), - type: constants_1.ArchiveToolType.BSD - }; + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + outer: + while (++index < length) { + var value = array[index], computed = iteratee == null ? value : iteratee(value); + value = comparator || value !== 0 ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } } - } - default: - break; - } - return { - path: yield io6.which("tar", true), - type: constants_1.ArchiveToolType.GNU - }; - }); - } - function getTarArgs(tarPath_1, compressionMethod_1, type_1) { - return __awaiter2(this, arguments, void 0, function* (tarPath, compressionMethod, type2, archivePath = "") { - const args = [`"${tarPath.path}"`]; - const cacheFileName = utils.getCacheFileName(compressionMethod); - const tarFile = "cache.tar"; - const workingDirectory = getWorkingDirectory(); - const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; - switch (type2) { - case "create": - args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename); - break; - case "extract": - args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path7.sep}`, "g"), "/")); - break; - case "list": - args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), "-P"); - break; - } - if (tarPath.type === constants_1.ArchiveToolType.GNU) { - switch (process.platform) { - case "win32": - args.push("--force-local"); - break; - case "darwin": - args.push("--delay-directory-restore"); - break; + result.push(value); + } else if (!includes(values, computed, comparator)) { + result.push(value); } } - return args; - }); + return result; } - function getCommands(compressionMethod_1, type_1) { - return __awaiter2(this, arguments, void 0, function* (compressionMethod, type2, archivePath = "") { - let args; - const tarPath = yield getTarPath(); - const tarArgs = yield getTarArgs(tarPath, compressionMethod, type2, archivePath); - const compressionArgs = type2 !== "create" ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath) : yield getCompressionProgram(tarPath, compressionMethod); - const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; - if (BSD_TAR_ZSTD && type2 !== "create") { - args = [[...compressionArgs].join(" "), [...tarArgs].join(" ")]; - } else { - args = [[...tarArgs].join(" "), [...compressionArgs].join(" ")]; - } - if (BSD_TAR_ZSTD) { - return args; - } - return [args.join(" ")]; - }); + module2.exports = baseDifference; + } +}); + +// node_modules/lodash/isArrayLikeObject.js +var require_isArrayLikeObject = __commonJS({ + "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) { + var isArrayLike = require_isArrayLike(); + var isObjectLike = require_isObjectLike(); + function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); } - function getWorkingDirectory() { - var _a; - return (_a = process.env["GITHUB_WORKSPACE"]) !== null && _a !== void 0 ? _a : process.cwd(); + module2.exports = isArrayLikeObject; + } +}); + +// node_modules/lodash/difference.js +var require_difference = __commonJS({ + "node_modules/lodash/difference.js"(exports2, module2) { + var baseDifference = require_baseDifference(); + var baseFlatten = require_baseFlatten(); + var baseRest = require_baseRest(); + var isArrayLikeObject = require_isArrayLikeObject(); + var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : []; + }); + module2.exports = difference; + } +}); + +// node_modules/lodash/_Set.js +var require_Set = __commonJS({ + "node_modules/lodash/_Set.js"(exports2, module2) { + var getNative = require_getNative(); + var root = require_root(); + var Set2 = getNative(root, "Set"); + module2.exports = Set2; + } +}); + +// node_modules/lodash/noop.js +var require_noop = __commonJS({ + "node_modules/lodash/noop.js"(exports2, module2) { + function noop3() { } - function getDecompressionProgram(tarPath, compressionMethod, archivePath) { - return __awaiter2(this, void 0, void 0, function* () { - const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; - switch (compressionMethod) { - case constants_1.CompressionMethod.Zstd: - return BSD_TAR_ZSTD ? [ - "zstd -d --long=30 --force -o", - constants_1.TarFilename, - archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/") - ] : [ - "--use-compress-program", - IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30" - ]; - case constants_1.CompressionMethod.ZstdWithoutLong: - return BSD_TAR_ZSTD ? [ - "zstd -d --force -o", - constants_1.TarFilename, - archivePath.replace(new RegExp(`\\${path7.sep}`, "g"), "/") - ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"]; - default: - return ["-z"]; - } + module2.exports = noop3; + } +}); + +// node_modules/lodash/_setToArray.js +var require_setToArray = __commonJS({ + "node_modules/lodash/_setToArray.js"(exports2, module2) { + function setToArray(set2) { + var index = -1, result = Array(set2.size); + set2.forEach(function(value) { + result[++index] = value; }); + return result; } - function getCompressionProgram(tarPath, compressionMethod) { - return __awaiter2(this, void 0, void 0, function* () { - const cacheFileName = utils.getCacheFileName(compressionMethod); - const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; - switch (compressionMethod) { - case constants_1.CompressionMethod.Zstd: - return BSD_TAR_ZSTD ? [ - "zstd -T0 --long=30 --force -o", - cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), - constants_1.TarFilename - ] : [ - "--use-compress-program", - IS_WINDOWS ? '"zstd -T0 --long=30"' : "zstdmt --long=30" - ]; - case constants_1.CompressionMethod.ZstdWithoutLong: - return BSD_TAR_ZSTD ? [ - "zstd -T0 --force -o", - cacheFileName.replace(new RegExp(`\\${path7.sep}`, "g"), "/"), - constants_1.TarFilename - ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"]; - default: - return ["-z"]; + module2.exports = setToArray; + } +}); + +// node_modules/lodash/_createSet.js +var require_createSet = __commonJS({ + "node_modules/lodash/_createSet.js"(exports2, module2) { + var Set2 = require_Set(); + var noop3 = require_noop(); + var setToArray = require_setToArray(); + var INFINITY = 1 / 0; + var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) { + return new Set2(values); + }; + module2.exports = createSet; + } +}); + +// node_modules/lodash/_baseUniq.js +var require_baseUniq = __commonJS({ + "node_modules/lodash/_baseUniq.js"(exports2, module2) { + var SetCache = require_SetCache(); + var arrayIncludes = require_arrayIncludes(); + var arrayIncludesWith = require_arrayIncludesWith(); + var cacheHas = require_cacheHas(); + var createSet = require_createSet(); + var setToArray = require_setToArray(); + var LARGE_ARRAY_SIZE = 200; + function baseUniq(array, iteratee, comparator) { + var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result; + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } else if (length >= LARGE_ARRAY_SIZE) { + var set2 = iteratee ? null : createSet(array); + if (set2) { + return setToArray(set2); } - }); - } - function execCommands(commands, cwd) { - return __awaiter2(this, void 0, void 0, function* () { - for (const command of commands) { - try { - yield (0, exec_1.exec)(command, void 0, { - cwd, - env: Object.assign(Object.assign({}, process.env), { MSYS: "winsymlinks:nativestrict" }) - }); - } catch (error3) { - throw new Error(`${command.split(" ")[0]} failed with error: ${error3 === null || error3 === void 0 ? void 0 : error3.message}`); + isCommon = false; + includes = cacheHas; + seen = new SetCache(); + } else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], computed = iteratee ? iteratee(value) : value; + value = comparator || value !== 0 ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); } } - }); - } - function listTar(archivePath, compressionMethod) { - return __awaiter2(this, void 0, void 0, function* () { - const commands = yield getCommands(compressionMethod, "list", archivePath); - yield execCommands(commands); - }); + return result; } - function extractTar2(archivePath, compressionMethod) { - return __awaiter2(this, void 0, void 0, function* () { - const workingDirectory = getWorkingDirectory(); - yield io6.mkdirP(workingDirectory); - const commands = yield getCommands(compressionMethod, "extract", archivePath); - yield execCommands(commands); - }); + module2.exports = baseUniq; + } +}); + +// node_modules/lodash/union.js +var require_union = __commonJS({ + "node_modules/lodash/union.js"(exports2, module2) { + var baseFlatten = require_baseFlatten(); + var baseRest = require_baseRest(); + var baseUniq = require_baseUniq(); + var isArrayLikeObject = require_isArrayLikeObject(); + var union = baseRest(function(arrays) { + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); + }); + module2.exports = union; + } +}); + +// node_modules/lodash/_overArg.js +var require_overArg = __commonJS({ + "node_modules/lodash/_overArg.js"(exports2, module2) { + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; } - function createTar(archiveFolder, sourceDirectories, compressionMethod) { - return __awaiter2(this, void 0, void 0, function* () { - (0, fs_1.writeFileSync)(path7.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n")); - const commands = yield getCommands(compressionMethod, "create"); - yield execCommands(commands, archiveFolder); - }); + module2.exports = overArg; + } +}); + +// node_modules/lodash/_getPrototype.js +var require_getPrototype = __commonJS({ + "node_modules/lodash/_getPrototype.js"(exports2, module2) { + var overArg = require_overArg(); + var getPrototype = overArg(Object.getPrototypeOf, Object); + module2.exports = getPrototype; + } +}); + +// node_modules/lodash/isPlainObject.js +var require_isPlainObject = __commonJS({ + "node_modules/lodash/isPlainObject.js"(exports2, module2) { + var baseGetTag = require_baseGetTag(); + var getPrototype = require_getPrototype(); + var isObjectLike = require_isObjectLike(); + var objectTag = "[object Object]"; + var funcProto = Function.prototype; + var objectProto = Object.prototype; + var funcToString = funcProto.toString; + var hasOwnProperty = objectProto.hasOwnProperty; + var objectCtorString = funcToString.call(Object); + function isPlainObject3(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; } + module2.exports = isPlainObject3; } }); -// node_modules/@actions/cache/lib/cache.js -var require_cache5 = __commonJS({ - "node_modules/@actions/cache/lib/cache.js"(exports2) { +// node_modules/@isaacs/balanced-match/dist/commonjs/index.js +var require_commonjs18 = __commonJS({ + "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = Object.getOwnPropertyNames || function(o2) { - var ar = []; - for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); - return result; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.range = exports2.balanced = void 0; + var balanced = (a, b, str2) => { + const ma = a instanceof RegExp ? maybeMatch(a, str2) : a; + const mb = b instanceof RegExp ? maybeMatch(b, str2) : b; + const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2); + return r && { + start: r[0], + end: r[1], + pre: str2.slice(0, r[0]), + body: str2.slice(r[0] + ma.length, r[1]), + post: str2.slice(r[1] + mb.length) }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); - } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } + }; + exports2.balanced = balanced; + var maybeMatch = (reg, str2) => { + const m = str2.match(reg); + return m ? m[0] : null; + }; + var range = (a, b, str2) => { + let begs, beg, left, right = void 0, result; + let ai = str2.indexOf(a); + let bi = str2.indexOf(b, ai + 1); + let i = ai; + if (ai >= 0 && bi > 0) { + if (a === b) { + return [ai, bi]; } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + begs = []; + left = str2.length; + while (i >= 0 && !result) { + if (i === ai) { + begs.push(i); + ai = str2.indexOf(a, i + 1); + } else if (begs.length === 1) { + const r = begs.pop(); + if (r !== void 0) + result = [r, bi]; + } else { + beg = begs.pop(); + if (beg !== void 0 && beg < left) { + left = beg; + right = bi; + } + bi = str2.indexOf(b, i + 1); } + i = ai < bi && ai >= 0 ? ai : bi; } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + if (begs.length && right !== void 0) { + result = [left, right]; } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.FinalizeCacheError = exports2.ReserveCacheError = exports2.ValidationError = void 0; - exports2.isFeatureAvailable = isFeatureAvailable; - exports2.restoreCache = restoreCache4; - exports2.saveCache = saveCache4; - var core14 = __importStar2(require_core()); - var path7 = __importStar2(require("path")); - var utils = __importStar2(require_cacheUtils()); - var cacheHttpClient = __importStar2(require_cacheHttpClient()); - var cacheTwirpClient = __importStar2(require_cacheTwirpClient()); - var config_1 = require_config(); - var tar_1 = require_tar(); - var http_client_1 = require_lib(); - var ValidationError = class _ValidationError extends Error { - constructor(message) { - super(message); - this.name = "ValidationError"; - Object.setPrototypeOf(this, _ValidationError.prototype); } + return result; }; - exports2.ValidationError = ValidationError; - var ReserveCacheError2 = class _ReserveCacheError extends Error { - constructor(message) { - super(message); - this.name = "ReserveCacheError"; - Object.setPrototypeOf(this, _ReserveCacheError.prototype); + exports2.range = range; + } +}); + +// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js +var require_commonjs19 = __commonJS({ + "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.EXPANSION_MAX = void 0; + exports2.expand = expand2; + var balanced_match_1 = require_commonjs18(); + var escSlash = "\0SLASH" + Math.random() + "\0"; + var escOpen = "\0OPEN" + Math.random() + "\0"; + var escClose = "\0CLOSE" + Math.random() + "\0"; + var escComma = "\0COMMA" + Math.random() + "\0"; + var escPeriod = "\0PERIOD" + Math.random() + "\0"; + var escSlashPattern = new RegExp(escSlash, "g"); + var escOpenPattern = new RegExp(escOpen, "g"); + var escClosePattern = new RegExp(escClose, "g"); + var escCommaPattern = new RegExp(escComma, "g"); + var escPeriodPattern = new RegExp(escPeriod, "g"); + var slashPattern = /\\\\/g; + var openPattern = /\\{/g; + var closePattern = /\\}/g; + var commaPattern = /\\,/g; + var periodPattern = /\\./g; + exports2.EXPANSION_MAX = 1e5; + function numeric(str2) { + return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0); + } + function escapeBraces(str2) { + return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod); + } + function unescapeBraces(str2) { + return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, "."); + } + function parseCommaParts(str2) { + if (!str2) { + return [""]; } - }; - exports2.ReserveCacheError = ReserveCacheError2; - var FinalizeCacheError = class _FinalizeCacheError extends Error { - constructor(message) { - super(message); - this.name = "FinalizeCacheError"; - Object.setPrototypeOf(this, _FinalizeCacheError.prototype); + const parts = []; + const m = (0, balanced_match_1.balanced)("{", "}", str2); + if (!m) { + return str2.split(","); } - }; - exports2.FinalizeCacheError = FinalizeCacheError; - function checkPaths(paths) { - if (!paths || paths.length === 0) { - throw new ValidationError(`Path Validation Error: At least one directory or file path is required`); + const { pre, body, post } = m; + const p = pre.split(","); + p[p.length - 1] += "{" + body + "}"; + const postParts = parseCommaParts(post); + if (post.length) { + ; + p[p.length - 1] += postParts.shift(); + p.push.apply(p, postParts); } + parts.push.apply(parts, p); + return parts; } - function checkKey(key) { - if (key.length > 512) { - throw new ValidationError(`Key Validation Error: ${key} cannot be larger than 512 characters.`); - } - const regex = /^[^,]*$/; - if (!regex.test(key)) { - throw new ValidationError(`Key Validation Error: ${key} cannot contain commas.`); + function expand2(str2, options = {}) { + if (!str2) { + return []; } - } - function isFeatureAvailable() { - const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); - switch (cacheServiceVersion) { - case "v2": - return !!process.env["ACTIONS_RESULTS_URL"]; - case "v1": - default: - return !!process.env["ACTIONS_CACHE_URL"]; + const { max = exports2.EXPANSION_MAX } = options; + if (str2.slice(0, 2) === "{}") { + str2 = "\\{\\}" + str2.slice(2); } + return expand_(escapeBraces(str2), max, true).map(unescapeBraces); } - function restoreCache4(paths_1, primaryKey_1, restoreKeys_1, options_1) { - return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { - const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); - core14.debug(`Cache service version: ${cacheServiceVersion}`); - checkPaths(paths); - switch (cacheServiceVersion) { - case "v2": - return yield restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsArchive); - case "v1": - default: - return yield restoreCacheV1(paths, primaryKey, restoreKeys, options, enableCrossOsArchive); - } - }); + function embrace(str2) { + return "{" + str2 + "}"; } - function restoreCacheV1(paths_1, primaryKey_1, restoreKeys_1, options_1) { - return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { - restoreKeys = restoreKeys || []; - const keys = [primaryKey, ...restoreKeys]; - core14.debug("Resolved Keys:"); - core14.debug(JSON.stringify(keys)); - if (keys.length > 10) { - throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`); - } - for (const key of keys) { - checkKey(key); - } - const compressionMethod = yield utils.getCompressionMethod(); - let archivePath = ""; - try { - const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, { - compressionMethod, - enableCrossOsArchive - }); - if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) { - return void 0; - } - if (options === null || options === void 0 ? void 0 : options.lookupOnly) { - core14.info("Lookup only - skipping download"); - return cacheEntry.cacheKey; - } - archivePath = path7.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod)); - core14.debug(`Archive Path: ${archivePath}`); - yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options); - if (core14.isDebug()) { - yield (0, tar_1.listTar)(archivePath, compressionMethod); - } - const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); - core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`); - yield (0, tar_1.extractTar)(archivePath, compressionMethod); - core14.info("Cache restored successfully"); - return cacheEntry.cacheKey; - } catch (error3) { - const typedError = error3; - if (typedError.name === ValidationError.name) { - throw error3; - } else { - if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { - core14.error(`Failed to restore: ${error3.message}`); - } else { - core14.warning(`Failed to restore: ${error3.message}`); - } - } - } finally { - try { - yield utils.unlinkFile(archivePath); - } catch (error3) { - core14.debug(`Failed to delete archive: ${error3}`); - } - } - return void 0; - }); + function isPadded(el) { + return /^-?0\d/.test(el); } - function restoreCacheV2(paths_1, primaryKey_1, restoreKeys_1, options_1) { - return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { - options = Object.assign(Object.assign({}, options), { useAzureSdk: true }); - restoreKeys = restoreKeys || []; - const keys = [primaryKey, ...restoreKeys]; - core14.debug("Resolved Keys:"); - core14.debug(JSON.stringify(keys)); - if (keys.length > 10) { - throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`); - } - for (const key of keys) { - checkKey(key); - } - let archivePath = ""; - try { - const twirpClient = cacheTwirpClient.internalCacheTwirpClient(); - const compressionMethod = yield utils.getCompressionMethod(); - const request2 = { - key: primaryKey, - restoreKeys, - version: utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive) - }; - const response = yield twirpClient.GetCacheEntryDownloadURL(request2); - if (!response.ok) { - core14.debug(`Cache not found for version ${request2.version} of keys: ${keys.join(", ")}`); - return void 0; - } - const isRestoreKeyMatch = request2.key !== response.matchedKey; - if (isRestoreKeyMatch) { - core14.info(`Cache hit for restore-key: ${response.matchedKey}`); - } else { - core14.info(`Cache hit for: ${response.matchedKey}`); - } - if (options === null || options === void 0 ? void 0 : options.lookupOnly) { - core14.info("Lookup only - skipping download"); - return response.matchedKey; - } - archivePath = path7.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod)); - core14.debug(`Archive path: ${archivePath}`); - core14.debug(`Starting download of archive to: ${archivePath}`); - yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options); - const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); - core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`); - if (core14.isDebug()) { - yield (0, tar_1.listTar)(archivePath, compressionMethod); - } - yield (0, tar_1.extractTar)(archivePath, compressionMethod); - core14.info("Cache restored successfully"); - return response.matchedKey; - } catch (error3) { - const typedError = error3; - if (typedError.name === ValidationError.name) { - throw error3; - } else { - if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { - core14.error(`Failed to restore: ${error3.message}`); - } else { - core14.warning(`Failed to restore: ${error3.message}`); - } - } - } finally { - try { - if (archivePath) { - yield utils.unlinkFile(archivePath); - } - } catch (error3) { - core14.debug(`Failed to delete archive: ${error3}`); - } - } - return void 0; - }); + function lte(i, y) { + return i <= y; } - function saveCache4(paths_1, key_1, options_1) { - return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { - const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); - core14.debug(`Cache service version: ${cacheServiceVersion}`); - checkPaths(paths); - checkKey(key); - switch (cacheServiceVersion) { - case "v2": - return yield saveCacheV2(paths, key, options, enableCrossOsArchive); - case "v1": - default: - return yield saveCacheV1(paths, key, options, enableCrossOsArchive); - } - }); + function gte6(i, y) { + return i >= y; } - function saveCacheV1(paths_1, key_1, options_1) { - return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { - var _a, _b, _c, _d, _e; - const compressionMethod = yield utils.getCompressionMethod(); - let cacheId = -1; - const cachePaths = yield utils.resolvePaths(paths); - core14.debug("Cache Paths:"); - core14.debug(`${JSON.stringify(cachePaths)}`); - if (cachePaths.length === 0) { - throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`); + function expand_(str2, max, isTop) { + const expansions = []; + const m = (0, balanced_match_1.balanced)("{", "}", str2); + if (!m) + return [str2]; + const pre = m.pre; + const post = m.post.length ? expand_(m.post, max, false) : [""]; + if (/\$$/.test(m.pre)) { + for (let k = 0; k < post.length && k < max; k++) { + const expansion = pre + "{" + m.body + "}" + post[k]; + expansions.push(expansion); } - const archiveFolder = yield utils.createTempDirectory(); - const archivePath = path7.join(archiveFolder, utils.getCacheFileName(compressionMethod)); - core14.debug(`Archive Path: ${archivePath}`); - try { - yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod); - if (core14.isDebug()) { - yield (0, tar_1.listTar)(archivePath, compressionMethod); - } - const fileSizeLimit = 10 * 1024 * 1024 * 1024; - const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); - core14.debug(`File Size: ${archiveFileSize}`); - if (archiveFileSize > fileSizeLimit && !(0, config_1.isGhes)()) { - throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`); - } - core14.debug("Reserving Cache"); - const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, { - compressionMethod, - enableCrossOsArchive, - cacheSize: archiveFileSize - }); - if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) { - cacheId = (_b = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _b === void 0 ? void 0 : _b.cacheId; - } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) { - throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`); - } else { - throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`); + } else { + const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + const isSequence = isNumericSequence || isAlphaSequence; + const isOptions = m.body.indexOf(",") >= 0; + if (!isSequence && !isOptions) { + if (m.post.match(/,(?!,).*\}/)) { + str2 = m.pre + "{" + m.body + escClose + m.post; + return expand_(str2, max, true); } - core14.debug(`Saving Cache (ID: ${cacheId})`); - yield cacheHttpClient.saveCache(cacheId, archivePath, "", options); - } catch (error3) { - const typedError = error3; - if (typedError.name === ValidationError.name) { - throw error3; - } else if (typedError.name === ReserveCacheError2.name) { - core14.info(`Failed to save: ${typedError.message}`); - } else { - if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { - core14.error(`Failed to save: ${typedError.message}`); - } else { - core14.warning(`Failed to save: ${typedError.message}`); + return [str2]; + } + let n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1 && n[0] !== void 0) { + n = expand_(n[0], max, false).map(embrace); + if (n.length === 1) { + return post.map((p) => m.pre + n[0] + p); } } - } finally { - try { - yield utils.unlinkFile(archivePath); - } catch (error3) { - core14.debug(`Failed to delete archive: ${error3}`); - } - } - return cacheId; - }); - } - function saveCacheV2(paths_1, key_1, options_1) { - return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { - options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true }); - const compressionMethod = yield utils.getCompressionMethod(); - const twirpClient = cacheTwirpClient.internalCacheTwirpClient(); - let cacheId = -1; - const cachePaths = yield utils.resolvePaths(paths); - core14.debug("Cache Paths:"); - core14.debug(`${JSON.stringify(cachePaths)}`); - if (cachePaths.length === 0) { - throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`); } - const archiveFolder = yield utils.createTempDirectory(); - const archivePath = path7.join(archiveFolder, utils.getCacheFileName(compressionMethod)); - core14.debug(`Archive Path: ${archivePath}`); - try { - yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod); - if (core14.isDebug()) { - yield (0, tar_1.listTar)(archivePath, compressionMethod); + let N; + if (isSequence && n[0] !== void 0 && n[1] !== void 0) { + const x = numeric(n[0]); + const y = numeric(n[1]); + const width = Math.max(n[0].length, n[1].length); + let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1; + let test = lte; + const reverse = y < x; + if (reverse) { + incr *= -1; + test = gte6; } - const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); - core14.debug(`File Size: ${archiveFileSize}`); - options.archiveSizeBytes = archiveFileSize; - core14.debug("Reserving Cache"); - const version = utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive); - const request2 = { - key, - version - }; - let signedUploadUrl; - try { - const response = yield twirpClient.CreateCacheEntry(request2); - if (!response.ok) { - if (response.message) { - core14.warning(`Cache reservation failed: ${response.message}`); + const pad = n.some(isPadded); + N = []; + for (let i = x; test(i, y); i += incr) { + let c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === "\\") { + c = ""; + } + } else { + c = String(i); + if (pad) { + const need = width - c.length; + if (need > 0) { + const z = new Array(need + 1).join("0"); + if (i < 0) { + c = "-" + z + c.slice(1); + } else { + c = z + c; + } + } } - throw new Error(response.message || "Response was not ok"); } - signedUploadUrl = response.signedUploadUrl; - } catch (error3) { - core14.debug(`Failed to reserve cache: ${error3}`); - throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache.`); + N.push(c); } - core14.debug(`Attempting to upload cache located at: ${archivePath}`); - yield cacheHttpClient.saveCache(cacheId, archivePath, signedUploadUrl, options); - const finalizeRequest = { - key, - version, - sizeBytes: `${archiveFileSize}` - }; - const finalizeResponse = yield twirpClient.FinalizeCacheEntryUpload(finalizeRequest); - core14.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`); - if (!finalizeResponse.ok) { - if (finalizeResponse.message) { - throw new FinalizeCacheError(finalizeResponse.message); - } - throw new Error(`Unable to finalize cache with key ${key}, another job may be finalizing this cache.`); + } else { + N = []; + for (let j = 0; j < n.length; j++) { + N.push.apply(N, expand_(n[j], max, false)); } - cacheId = parseInt(finalizeResponse.entryId); - } catch (error3) { - const typedError = error3; - if (typedError.name === ValidationError.name) { - throw error3; - } else if (typedError.name === ReserveCacheError2.name) { - core14.info(`Failed to save: ${typedError.message}`); - } else if (typedError.name === FinalizeCacheError.name) { - core14.warning(typedError.message); - } else { - if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { - core14.error(`Failed to save: ${typedError.message}`); - } else { - core14.warning(`Failed to save: ${typedError.message}`); + } + for (let j = 0; j < N.length; j++) { + for (let k = 0; k < post.length && expansions.length < max; k++) { + const expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) { + expansions.push(expansion); } } - } finally { - try { - yield utils.unlinkFile(archivePath); - } catch (error3) { - core14.debug(`Failed to delete archive: ${error3}`); - } } - return cacheId; - }); + } + return expansions; } } }); -// node_modules/@actions/tool-cache/lib/manifest.js -var require_manifest = __commonJS({ - "node_modules/@actions/tool-cache/lib/manifest.js"(exports2, module2) { +// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +var require_assert_valid_pattern = __commonJS({ + "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = Object.getOwnPropertyNames || function(o2) { - var ar = []; - for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); - } - __setModuleDefault2(result, mod); - return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); - } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2._findMatch = _findMatch; - exports2._getOsVersion = _getOsVersion; - exports2._readLinuxVersionFile = _readLinuxVersionFile; - var semver9 = __importStar2(require_semver2()); - var core_1 = require_core(); - var os2 = require("os"); - var cp = require("child_process"); - var fs8 = require("fs"); - function _findMatch(versionSpec, stable, candidates, archFilter) { - return __awaiter2(this, void 0, void 0, function* () { - const platFilter = os2.platform(); - let result; - let match; - let file; - for (const candidate of candidates) { - const version = candidate.version; - (0, core_1.debug)(`check ${version} satisfies ${versionSpec}`); - if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) { - file = candidate.files.find((item) => { - (0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`); - let chk = item.arch === archFilter && item.platform === platFilter; - if (chk && item.platform_version) { - const osVersion = module2.exports._getOsVersion(); - if (osVersion === item.platform_version) { - chk = true; - } else { - chk = semver9.satisfies(osVersion, item.platform_version); - } - } - return chk; - }); - if (file) { - (0, core_1.debug)(`matched ${candidate.version}`); - match = candidate; - break; - } - } - } - if (match && file) { - result = Object.assign({}, match); - result.files = [file]; - } - return result; - }); - } - function _getOsVersion() { - const plat = os2.platform(); - let version = ""; - if (plat === "darwin") { - version = cp.execSync("sw_vers -productVersion").toString(); - } else if (plat === "linux") { - const lsbContents = module2.exports._readLinuxVersionFile(); - if (lsbContents) { - const lines = lsbContents.split("\n"); - for (const line of lines) { - const parts = line.split("="); - if (parts.length === 2 && (parts[0].trim() === "VERSION_ID" || parts[0].trim() === "DISTRIB_RELEASE")) { - version = parts[1].trim().replace(/^"/, "").replace(/"$/, ""); - break; - } - } - } + exports2.assertValidPattern = void 0; + var MAX_PATTERN_LENGTH = 1024 * 64; + var assertValidPattern = (pattern) => { + if (typeof pattern !== "string") { + throw new TypeError("invalid pattern"); } - return version; - } - function _readLinuxVersionFile() { - const lsbReleaseFile = "/etc/lsb-release"; - const osReleaseFile = "/etc/os-release"; - let contents = ""; - if (fs8.existsSync(lsbReleaseFile)) { - contents = fs8.readFileSync(lsbReleaseFile).toString(); - } else if (fs8.existsSync(osReleaseFile)) { - contents = fs8.readFileSync(osReleaseFile).toString(); + if (pattern.length > MAX_PATTERN_LENGTH) { + throw new TypeError("pattern is too long"); } - return contents; - } + }; + exports2.assertValidPattern = assertValidPattern; } }); -// node_modules/@actions/tool-cache/lib/retry-helper.js -var require_retry_helper = __commonJS({ - "node_modules/@actions/tool-cache/lib/retry-helper.js"(exports2) { +// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js +var require_brace_expressions = __commonJS({ + "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.parseClass = void 0; + var posixClasses = { + "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true], + "[:alpha:]": ["\\p{L}\\p{Nl}", true], + "[:ascii:]": ["\\x00-\\x7f", false], + "[:blank:]": ["\\p{Zs}\\t", true], + "[:cntrl:]": ["\\p{Cc}", true], + "[:digit:]": ["\\p{Nd}", true], + "[:graph:]": ["\\p{Z}\\p{C}", true, true], + "[:lower:]": ["\\p{Ll}", true], + "[:print:]": ["\\p{C}", true], + "[:punct:]": ["\\p{P}", true], + "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true], + "[:upper:]": ["\\p{Lu}", true], + "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true], + "[:xdigit:]": ["A-Fa-f0-9", false] + }; + var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&"); + var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + var rangesToString = (ranges) => ranges.join(""); + var parseClass = (glob2, position) => { + const pos = position; + if (glob2.charAt(pos) !== "[") { + throw new Error("not in a brace expression"); } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = Object.getOwnPropertyNames || function(o2) { - var ar = []; - for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + const ranges = []; + const negs = []; + let i = pos + 1; + let sawStart = false; + let uflag = false; + let escaping = false; + let negate = false; + let endPos = pos; + let rangeStart = ""; + WHILE: while (i < glob2.length) { + const c = glob2.charAt(i); + if ((c === "!" || c === "^") && i === pos + 1) { + negate = true; + i++; + continue; } - __setModuleDefault2(result, mod); - return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); - } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + if (c === "]" && sawStart && !escaping) { + endPos = i + 1; + break; + } + sawStart = true; + if (c === "\\") { + if (!escaping) { + escaping = true; + i++; + continue; } } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + if (c === "[" && !escaping) { + for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) { + if (glob2.startsWith(cls, i)) { + if (rangeStart) { + return ["$.", false, glob2.length - pos, true]; + } + i += cls.length; + if (neg) + negs.push(unip); + else + ranges.push(unip); + uflag = uflag || u; + continue WHILE; + } } } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + escaping = false; + if (rangeStart) { + if (c > rangeStart) { + ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c)); + } else if (c === rangeStart) { + ranges.push(braceEscape(c)); + } + rangeStart = ""; + i++; + continue; } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.RetryHelper = void 0; - var core14 = __importStar2(require_core()); - var RetryHelper = class { - constructor(maxAttempts, minSeconds, maxSeconds) { - if (maxAttempts < 1) { - throw new Error("max attempts should be greater than or equal to 1"); + if (glob2.startsWith("-]", i + 1)) { + ranges.push(braceEscape(c + "-")); + i += 2; + continue; } - this.maxAttempts = maxAttempts; - this.minSeconds = Math.floor(minSeconds); - this.maxSeconds = Math.floor(maxSeconds); - if (this.minSeconds > this.maxSeconds) { - throw new Error("min seconds should be less than or equal to max seconds"); + if (glob2.startsWith("-", i + 1)) { + rangeStart = c; + i += 2; + continue; } + ranges.push(braceEscape(c)); + i++; } - execute(action, isRetryable) { - return __awaiter2(this, void 0, void 0, function* () { - let attempt = 1; - while (attempt < this.maxAttempts) { - try { - return yield action(); - } catch (err) { - if (isRetryable && !isRetryable(err)) { - throw err; - } - core14.info(err.message); - } - const seconds = this.getSleepAmount(); - core14.info(`Waiting ${seconds} seconds before trying again`); - yield this.sleep(seconds); - attempt++; - } - return yield action(); - }); + if (endPos < i) { + return ["", false, 0, false]; } - getSleepAmount() { - return Math.floor(Math.random() * (this.maxSeconds - this.minSeconds + 1)) + this.minSeconds; + if (!ranges.length && !negs.length) { + return ["$.", false, glob2.length - pos, true]; } - sleep(seconds) { - return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve5) => setTimeout(resolve5, seconds * 1e3)); - }); + if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate) { + const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0]; + return [regexpEscape(r), false, endPos - pos, false]; + } + const sranges = "[" + (negate ? "^" : "") + rangesToString(ranges) + "]"; + const snegs = "[" + (negate ? "" : "^") + rangesToString(negs) + "]"; + const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs; + return [comb, uflag, endPos - pos, true]; + }; + exports2.parseClass = parseClass; + } +}); + +// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js +var require_unescape = __commonJS({ + "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.unescape = void 0; + var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => { + if (magicalBraces) { + return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1"); } + return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1"); }; - exports2.RetryHelper = RetryHelper; + exports2.unescape = unescape; } }); -// node_modules/@actions/tool-cache/lib/tool-cache.js -var require_tool_cache = __commonJS({ - "node_modules/@actions/tool-cache/lib/tool-cache.js"(exports2) { +// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js +var require_ast = __commonJS({ + "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) { "use strict"; - var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.AST = void 0; + var brace_expressions_js_1 = require_brace_expressions(); + var unescape_js_1 = require_unescape(); + var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]); + var isExtglobType = (c) => types.has(c); + var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))"; + var startNoDot = "(?!\\.)"; + var addPatternStart = /* @__PURE__ */ new Set(["[", "."]); + var justDots = /* @__PURE__ */ new Set(["..", "."]); + var reSpecials = new Set("().*{}+?[]^$\\!"); + var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + var qmark = "[^/]"; + var star = qmark + "*?"; + var starNoEmpty = qmark + "+?"; + var AST = class _AST { + type; + #root; + #hasMagic; + #uflag = false; + #parts = []; + #parent; + #parentIndex; + #negs; + #filledNegs = false; + #options; + #toString; + // set to true if it's an extglob with no children + // (which really means one child of '') + #emptyExt = false; + constructor(type2, parent, options = {}) { + this.type = type2; + if (type2) + this.#hasMagic = true; + this.#parent = parent; + this.#root = this.#parent ? this.#parent.#root : this; + this.#options = this.#root === this ? options : this.#root.#options; + this.#negs = this.#root === this ? [] : this.#root.#negs; + if (type2 === "!" && !this.#root.#filledNegs) + this.#negs.push(this); + this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0; } - Object.defineProperty(o, k2, desc); - }) : (function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - })); - var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function(o, v) { - o["default"] = v; - }); - var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { - var ownKeys2 = function(o) { - ownKeys2 = Object.getOwnPropertyNames || function(o2) { - var ar = []; - for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys2(o); - }; - return function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]); + get hasMagic() { + if (this.#hasMagic !== void 0) + return this.#hasMagic; + for (const p of this.#parts) { + if (typeof p === "string") + continue; + if (p.type || p.hasMagic) + return this.#hasMagic = true; } - __setModuleDefault2(result, mod); - return result; - }; - })(); - var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve5) { - resolve5(value); - }); + return this.#hasMagic; } - return new (P || (P = Promise))(function(resolve5, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + // reconstructs the pattern + toString() { + if (this.#toString !== void 0) + return this.#toString; + if (!this.type) { + return this.#toString = this.#parts.map((p) => String(p)).join(""); + } else { + return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")"; + } + } + #fillNegs() { + if (this !== this.#root) + throw new Error("should only call on root"); + if (this.#filledNegs) + return this; + this.toString(); + this.#filledNegs = true; + let n; + while (n = this.#negs.pop()) { + if (n.type !== "!") + continue; + let p = n; + let pp = p.#parent; + while (pp) { + for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) { + for (const part of n.#parts) { + if (typeof part === "string") { + throw new Error("string part in extglob AST??"); + } + part.copyIn(pp.#parts[i]); + } + } + p = pp; + pp = p.#parent; } } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + return this; + } + push(...parts) { + for (const p of parts) { + if (p === "") + continue; + if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) { + throw new Error("invalid part: " + p); } + this.#parts.push(p); } - function step(result) { - result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected); + } + toJSON() { + const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())]; + if (this.isStart() && !this.type) + ret.unshift([]); + if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) { + ret.push({}); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.HTTPError = void 0; - exports2.downloadTool = downloadTool2; - exports2.extract7z = extract7z; - exports2.extractTar = extractTar2; - exports2.extractXar = extractXar; - exports2.extractZip = extractZip; - exports2.cacheDir = cacheDir; - exports2.cacheFile = cacheFile; - exports2.find = find2; - exports2.findAllVersions = findAllVersions2; - exports2.getManifestFromRepo = getManifestFromRepo; - exports2.findFromManifest = findFromManifest; - exports2.isExplicitVersion = isExplicitVersion; - exports2.evaluateVersions = evaluateVersions; - var core14 = __importStar2(require_core()); - var io6 = __importStar2(require_io()); - var crypto2 = __importStar2(require("crypto")); - var fs8 = __importStar2(require("fs")); - var mm = __importStar2(require_manifest()); - var os2 = __importStar2(require("os")); - var path7 = __importStar2(require("path")); - var httpm = __importStar2(require_lib()); - var semver9 = __importStar2(require_semver2()); - var stream = __importStar2(require("stream")); - var util = __importStar2(require("util")); - var assert_1 = require("assert"); - var exec_1 = require_exec(); - var retry_helper_1 = require_retry_helper(); - var HTTPError = class extends Error { - constructor(httpStatusCode) { - super(`Unexpected HTTP response: ${httpStatusCode}`); - this.httpStatusCode = httpStatusCode; - Object.setPrototypeOf(this, new.target.prototype); + return ret; } - }; - exports2.HTTPError = HTTPError; - var IS_WINDOWS = process.platform === "win32"; - var IS_MAC = process.platform === "darwin"; - var userAgent2 = "actions/tool-cache"; - function downloadTool2(url, dest, auth2, headers) { - return __awaiter2(this, void 0, void 0, function* () { - dest = dest || path7.join(_getTempDirectory(), crypto2.randomUUID()); - yield io6.mkdirP(path7.dirname(dest)); - core14.debug(`Downloading ${url}`); - core14.debug(`Destination ${dest}`); - const maxAttempts = 3; - const minSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS", 10); - const maxSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS", 20); - const retryHelper = new retry_helper_1.RetryHelper(maxAttempts, minSeconds, maxSeconds); - return yield retryHelper.execute(() => __awaiter2(this, void 0, void 0, function* () { - return yield downloadToolAttempt(url, dest || "", auth2, headers); - }), (err) => { - if (err instanceof HTTPError && err.httpStatusCode) { - if (err.httpStatusCode < 500 && err.httpStatusCode !== 408 && err.httpStatusCode !== 429) { - return false; - } - } + isStart() { + if (this.#root === this) return true; - }); - }); - } - function downloadToolAttempt(url, dest, auth2, headers) { - return __awaiter2(this, void 0, void 0, function* () { - if (fs8.existsSync(dest)) { - throw new Error(`Destination file path ${dest} already exists`); - } - const http = new httpm.HttpClient(userAgent2, [], { - allowRetries: false - }); - if (auth2) { - core14.debug("set auth"); - if (headers === void 0) { - headers = {}; + if (!this.#parent?.isStart()) + return false; + if (this.#parentIndex === 0) + return true; + const p = this.#parent; + for (let i = 0; i < this.#parentIndex; i++) { + const pp = p.#parts[i]; + if (!(pp instanceof _AST && pp.type === "!")) { + return false; } - headers.authorization = auth2; } - const response = yield http.get(url, headers); - if (response.message.statusCode !== 200) { - const err = new HTTPError(response.message.statusCode); - core14.debug(`Failed to download from "${url}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`); - throw err; + return true; + } + isEnd() { + if (this.#root === this) + return true; + if (this.#parent?.type === "!") + return true; + if (!this.#parent?.isEnd()) + return false; + if (!this.type) + return this.#parent?.isEnd(); + const pl = this.#parent ? this.#parent.#parts.length : 0; + return this.#parentIndex === pl - 1; + } + copyIn(part) { + if (typeof part === "string") + this.push(part); + else + this.push(part.clone(this)); + } + clone(parent) { + const c = new _AST(this.type, parent); + for (const p of this.#parts) { + c.copyIn(p); } - const pipeline = util.promisify(stream.pipeline); - const responseMessageFactory = _getGlobal("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY", () => response.message); - const readStream = responseMessageFactory(); - let succeeded = false; - try { - yield pipeline(readStream, fs8.createWriteStream(dest)); - core14.debug("download complete"); - succeeded = true; - return dest; - } finally { - if (!succeeded) { - core14.debug("download failed"); - try { - yield io6.rmRF(dest); - } catch (err) { - core14.debug(`Failed to delete '${dest}'. ${err.message}`); + return c; + } + static #parseAST(str2, ast, pos, opt) { + let escaping = false; + let inBrace = false; + let braceStart = -1; + let braceNeg = false; + if (ast.type === null) { + let i2 = pos; + let acc2 = ""; + while (i2 < str2.length) { + const c = str2.charAt(i2++); + if (escaping || c === "\\") { + escaping = !escaping; + acc2 += c; + continue; + } + if (inBrace) { + if (i2 === braceStart + 1) { + if (c === "^" || c === "!") { + braceNeg = true; + } + } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) { + inBrace = false; + } + acc2 += c; + continue; + } else if (c === "[") { + inBrace = true; + braceStart = i2; + braceNeg = false; + acc2 += c; + continue; + } + if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") { + ast.push(acc2); + acc2 = ""; + const ext = new _AST(c, ast); + i2 = _AST.#parseAST(str2, ext, i2, opt); + ast.push(ext); + continue; } + acc2 += c; } + ast.push(acc2); + return i2; } - }); - } - function extract7z(file, dest, _7zPath) { - return __awaiter2(this, void 0, void 0, function* () { - (0, assert_1.ok)(IS_WINDOWS, "extract7z() not supported on current OS"); - (0, assert_1.ok)(file, 'parameter "file" is required'); - dest = yield _createExtractFolder(dest); - const originalCwd = process.cwd(); - process.chdir(dest); - if (_7zPath) { - try { - const logLevel = core14.isDebug() ? "-bb1" : "-bb0"; - const args = [ - "x", - // eXtract files with full paths - logLevel, - // -bb[0-3] : set output log level - "-bd", - // disable progress indicator - "-sccUTF-8", - // set charset for for console input/output - file - ]; - const options = { - silent: true - }; - yield (0, exec_1.exec)(`"${_7zPath}"`, args, options); - } finally { - process.chdir(originalCwd); + let i = pos + 1; + let part = new _AST(null, ast); + const parts = []; + let acc = ""; + while (i < str2.length) { + const c = str2.charAt(i++); + if (escaping || c === "\\") { + escaping = !escaping; + acc += c; + continue; } - } else { - const escapedScript = path7.join(__dirname, "..", "scripts", "Invoke-7zdec.ps1").replace(/'/g, "''").replace(/"|\n|\r/g, ""); - const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, ""); - const escapedTarget = dest.replace(/'/g, "''").replace(/"|\n|\r/g, ""); - const command = `& '${escapedScript}' -Source '${escapedFile}' -Target '${escapedTarget}'`; - const args = [ - "-NoLogo", - "-Sta", - "-NoProfile", - "-NonInteractive", - "-ExecutionPolicy", - "Unrestricted", - "-Command", - command - ]; - const options = { - silent: true - }; - try { - const powershellPath = yield io6.which("powershell", true); - yield (0, exec_1.exec)(`"${powershellPath}"`, args, options); - } finally { - process.chdir(originalCwd); + if (inBrace) { + if (i === braceStart + 1) { + if (c === "^" || c === "!") { + braceNeg = true; + } + } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) { + inBrace = false; + } + acc += c; + continue; + } else if (c === "[") { + inBrace = true; + braceStart = i; + braceNeg = false; + acc += c; + continue; } - } - return dest; - }); - } - function extractTar2(file_1, dest_1) { - return __awaiter2(this, arguments, void 0, function* (file, dest, flags = "xz") { - if (!file) { - throw new Error("parameter 'file' is required"); - } - dest = yield _createExtractFolder(dest); - core14.debug("Checking tar --version"); - let versionOutput = ""; - yield (0, exec_1.exec)("tar --version", [], { - ignoreReturnCode: true, - silent: true, - listeners: { - stdout: (data) => versionOutput += data.toString(), - stderr: (data) => versionOutput += data.toString() + if (isExtglobType(c) && str2.charAt(i) === "(") { + part.push(acc); + acc = ""; + const ext = new _AST(c, part); + part.push(ext); + i = _AST.#parseAST(str2, ext, i, opt); + continue; } - }); - core14.debug(versionOutput.trim()); - const isGnuTar = versionOutput.toUpperCase().includes("GNU TAR"); - let args; - if (flags instanceof Array) { - args = flags; - } else { - args = [flags]; - } - if (core14.isDebug() && !flags.includes("v")) { - args.push("-v"); - } - let destArg = dest; - let fileArg = file; - if (IS_WINDOWS && isGnuTar) { - args.push("--force-local"); - destArg = dest.replace(/\\/g, "/"); - fileArg = file.replace(/\\/g, "/"); - } - if (isGnuTar) { - args.push("--warning=no-unknown-keyword"); - args.push("--overwrite"); - } - args.push("-C", destArg, "-f", fileArg); - yield (0, exec_1.exec)(`tar`, args); - return dest; - }); - } - function extractXar(file_1, dest_1) { - return __awaiter2(this, arguments, void 0, function* (file, dest, flags = []) { - (0, assert_1.ok)(IS_MAC, "extractXar() not supported on current OS"); - (0, assert_1.ok)(file, 'parameter "file" is required'); - dest = yield _createExtractFolder(dest); - let args; - if (flags instanceof Array) { - args = flags; - } else { - args = [flags]; - } - args.push("-x", "-C", dest, "-f", file); - if (core14.isDebug()) { - args.push("-v"); - } - const xarPath = yield io6.which("xar", true); - yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args)); - return dest; - }); - } - function extractZip(file, dest) { - return __awaiter2(this, void 0, void 0, function* () { - if (!file) { - throw new Error("parameter 'file' is required"); - } - dest = yield _createExtractFolder(dest); - if (IS_WINDOWS) { - yield extractZipWin(file, dest); - } else { - yield extractZipNix(file, dest); - } - return dest; - }); - } - function extractZipWin(file, dest) { - return __awaiter2(this, void 0, void 0, function* () { - const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, ""); - const escapedDest = dest.replace(/'/g, "''").replace(/"|\n|\r/g, ""); - const pwshPath = yield io6.which("pwsh", false); - if (pwshPath) { - const pwshCommand = [ - `$ErrorActionPreference = 'Stop' ;`, - `try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;`, - `try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`, - `catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force } else { throw $_ } } ;` - ].join(" "); - const args = [ - "-NoLogo", - "-NoProfile", - "-NonInteractive", - "-ExecutionPolicy", - "Unrestricted", - "-Command", - pwshCommand - ]; - core14.debug(`Using pwsh at path: ${pwshPath}`); - yield (0, exec_1.exec)(`"${pwshPath}"`, args); - } else { - const powershellCommand = [ - `$ErrorActionPreference = 'Stop' ;`, - `try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`, - `if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force }`, - `else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }` - ].join(" "); - const args = [ - "-NoLogo", - "-Sta", - "-NoProfile", - "-NonInteractive", - "-ExecutionPolicy", - "Unrestricted", - "-Command", - powershellCommand - ]; - const powershellPath = yield io6.which("powershell", true); - core14.debug(`Using powershell at path: ${powershellPath}`); - yield (0, exec_1.exec)(`"${powershellPath}"`, args); - } - }); - } - function extractZipNix(file, dest) { - return __awaiter2(this, void 0, void 0, function* () { - const unzipPath = yield io6.which("unzip", true); - const args = [file]; - if (!core14.isDebug()) { - args.unshift("-q"); - } - args.unshift("-o"); - yield (0, exec_1.exec)(`"${unzipPath}"`, args, { cwd: dest }); - }); - } - function cacheDir(sourceDir, tool, version, arch) { - return __awaiter2(this, void 0, void 0, function* () { - version = semver9.clean(version) || version; - arch = arch || os2.arch(); - core14.debug(`Caching tool ${tool} ${version} ${arch}`); - core14.debug(`source dir: ${sourceDir}`); - if (!fs8.statSync(sourceDir).isDirectory()) { - throw new Error("sourceDir is not a directory"); - } - const destPath = yield _createToolPath(tool, version, arch); - for (const itemName of fs8.readdirSync(sourceDir)) { - const s = path7.join(sourceDir, itemName); - yield io6.cp(s, destPath, { recursive: true }); - } - _completeToolPath(tool, version, arch); - return destPath; - }); - } - function cacheFile(sourceFile, targetFile, tool, version, arch) { - return __awaiter2(this, void 0, void 0, function* () { - version = semver9.clean(version) || version; - arch = arch || os2.arch(); - core14.debug(`Caching tool ${tool} ${version} ${arch}`); - core14.debug(`source file: ${sourceFile}`); - if (!fs8.statSync(sourceFile).isFile()) { - throw new Error("sourceFile is not a file"); + if (c === "|") { + part.push(acc); + acc = ""; + parts.push(part); + part = new _AST(null, ast); + continue; + } + if (c === ")") { + if (acc === "" && ast.#parts.length === 0) { + ast.#emptyExt = true; + } + part.push(acc); + acc = ""; + ast.push(...parts, part); + return i; + } + acc += c; } - const destFolder = yield _createToolPath(tool, version, arch); - const destPath = path7.join(destFolder, targetFile); - core14.debug(`destination file ${destPath}`); - yield io6.cp(sourceFile, destPath); - _completeToolPath(tool, version, arch); - return destFolder; - }); - } - function find2(toolName, versionSpec, arch) { - if (!toolName) { - throw new Error("toolName parameter is required"); - } - if (!versionSpec) { - throw new Error("versionSpec parameter is required"); + ast.type = null; + ast.#hasMagic = void 0; + ast.#parts = [str2.substring(pos - 1)]; + return i; } - arch = arch || os2.arch(); - if (!isExplicitVersion(versionSpec)) { - const localVersions = findAllVersions2(toolName, arch); - const match = evaluateVersions(localVersions, versionSpec); - versionSpec = match; + static fromGlob(pattern, options = {}) { + const ast = new _AST(null, void 0, options); + _AST.#parseAST(pattern, ast, 0, options); + return ast; } - let toolPath = ""; - if (versionSpec) { - versionSpec = semver9.clean(versionSpec) || ""; - const cachePath = path7.join(_getCacheDirectory(), toolName, versionSpec, arch); - core14.debug(`checking cache: ${cachePath}`); - if (fs8.existsSync(cachePath) && fs8.existsSync(`${cachePath}.complete`)) { - core14.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch}`); - toolPath = cachePath; - } else { - core14.debug("not found"); + // returns the regular expression if there's magic, or the unescaped + // string if not. + toMMPattern() { + if (this !== this.#root) + return this.#root.toMMPattern(); + const glob2 = this.toString(); + const [re, body, hasMagic, uflag] = this.toRegExpSource(); + const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase(); + if (!anyMagic) { + return body; } + const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : ""); + return Object.assign(new RegExp(`^${re}$`, flags), { + _src: re, + _glob: glob2 + }); } - return toolPath; - } - function findAllVersions2(toolName, arch) { - const versions = []; - arch = arch || os2.arch(); - const toolPath = path7.join(_getCacheDirectory(), toolName); - if (fs8.existsSync(toolPath)) { - const children = fs8.readdirSync(toolPath); - for (const child of children) { - if (isExplicitVersion(child)) { - const fullPath = path7.join(toolPath, child, arch || ""); - if (fs8.existsSync(fullPath) && fs8.existsSync(`${fullPath}.complete`)) { - versions.push(child); + get options() { + return this.#options; + } + // returns the string match, the regexp source, whether there's magic + // in the regexp (so a regular expression is required) and whether or + // not the uflag is needed for the regular expression (for posix classes) + // TODO: instead of injecting the start/end at this point, just return + // the BODY of the regexp, along with the start/end portions suitable + // for binding the start/end in either a joined full-path makeRe context + // (where we bind to (^|/), or a standalone matchPart context (where + // we bind to ^, and not /). Otherwise slashes get duped! + // + // In part-matching mode, the start is: + // - if not isStart: nothing + // - if traversal possible, but not allowed: ^(?!\.\.?$) + // - if dots allowed or not possible: ^ + // - if dots possible and not allowed: ^(?!\.) + // end is: + // - if not isEnd(): nothing + // - else: $ + // + // In full-path matching mode, we put the slash at the START of the + // pattern, so start is: + // - if first pattern: same as part-matching mode + // - if not isStart(): nothing + // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/)) + // - if dots allowed or not possible: / + // - if dots possible and not allowed: /(?!\.) + // end is: + // - if last pattern, same as part-matching mode + // - else nothing + // + // Always put the (?:$|/) on negated tails, though, because that has to be + // there to bind the end of the negated pattern portion, and it's easier to + // just stick it in now rather than try to inject it later in the middle of + // the pattern. + // + // We can just always return the same end, and leave it up to the caller + // to know whether it's going to be used joined or in parts. + // And, if the start is adjusted slightly, can do the same there: + // - if not isStart: nothing + // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$) + // - if dots allowed or not possible: (?:/|^) + // - if dots possible and not allowed: (?:/|^)(?!\.) + // + // But it's better to have a simpler binding without a conditional, for + // performance, so probably better to return both start options. + // + // Then the caller just ignores the end if it's not the first pattern, + // and the start always gets applied. + // + // But that's always going to be $ if it's the ending pattern, or nothing, + // so the caller can just attach $ at the end of the pattern when building. + // + // So the todo is: + // - better detect what kind of start is needed + // - return both flavors of starting pattern + // - attach $ at the end of the pattern when creating the actual RegExp + // + // Ah, but wait, no, that all only applies to the root when the first pattern + // is not an extglob. If the first pattern IS an extglob, then we need all + // that dot prevention biz to live in the extglob portions, because eg + // +(*|.x*) can match .xy but not .yx. + // + // So, return the two flavors if it's #root and the first child is not an + // AST, otherwise leave it to the child AST to handle it, and there, + // use the (?:^|/) style of start binding. + // + // Even simplified further: + // - Since the start for a join is eg /(?!\.) and the start for a part + // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root + // or start or whatever) and prepend ^ or / at the Regexp construction. + toRegExpSource(allowDot) { + const dot = allowDot ?? !!this.#options.dot; + if (this.#root === this) + this.#fillNegs(); + if (!this.type) { + const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string"); + const src = this.#parts.map((p) => { + const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot); + this.#hasMagic = this.#hasMagic || hasMagic; + this.#uflag = this.#uflag || uflag; + return re; + }).join(""); + let start2 = ""; + if (this.isStart()) { + if (typeof this.#parts[0] === "string") { + const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]); + if (!dotTravAllowed) { + const aps = addPatternStart; + const needNoTrav = ( + // dots are allowed, and the pattern starts with [ or . + dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or . + src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or . + src.startsWith("\\.\\.") && aps.has(src.charAt(4)) + ); + const needNoDot = !dot && !allowDot && aps.has(src.charAt(0)); + start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : ""; + } } } - } - } - return versions; - } - function getManifestFromRepo(owner_1, repo_1, auth_1) { - return __awaiter2(this, arguments, void 0, function* (owner, repo, auth2, branch = "master") { - let releases = []; - const treeUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}`; - const http = new httpm.HttpClient("tool-cache"); - const headers = {}; - if (auth2) { - core14.debug("set auth"); - headers.authorization = auth2; - } - const response = yield http.getJson(treeUrl, headers); - if (!response.result) { - return releases; - } - let manifestUrl = ""; - for (const item of response.result.tree) { - if (item.path === "versions-manifest.json") { - manifestUrl = item.url; - break; + let end = ""; + if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") { + end = "(?:$|\\/)"; } + const final2 = start2 + src + end; + return [ + final2, + (0, unescape_js_1.unescape)(src), + this.#hasMagic = !!this.#hasMagic, + this.#uflag + ]; } - headers["accept"] = "application/vnd.github.VERSION.raw"; - let versionsRaw = yield (yield http.get(manifestUrl, headers)).readBody(); - if (versionsRaw) { - versionsRaw = versionsRaw.replace(/^\uFEFF/, ""); - try { - releases = JSON.parse(versionsRaw); - } catch (_a) { - core14.debug("Invalid json"); - } + const repeated = this.type === "*" || this.type === "+"; + const start = this.type === "!" ? "(?:(?!(?:" : "(?:"; + let body = this.#partsToRegExp(dot); + if (this.isStart() && this.isEnd() && !body && this.type !== "!") { + const s = this.toString(); + this.#parts = [s]; + this.type = null; + this.#hasMagic = void 0; + return [s, (0, unescape_js_1.unescape)(this.toString()), false, false]; } - return releases; - }); - } - function findFromManifest(versionSpec_1, stable_1, manifest_1) { - return __awaiter2(this, arguments, void 0, function* (versionSpec, stable, manifest, archFilter = os2.arch()) { - const match = yield mm._findMatch(versionSpec, stable, manifest, archFilter); - return match; - }); - } - function _createExtractFolder(dest) { - return __awaiter2(this, void 0, void 0, function* () { - if (!dest) { - dest = path7.join(_getTempDirectory(), crypto2.randomUUID()); + let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true); + if (bodyDotAllowed === body) { + bodyDotAllowed = ""; } - yield io6.mkdirP(dest); - return dest; - }); - } - function _createToolPath(tool, version, arch) { - return __awaiter2(this, void 0, void 0, function* () { - const folderPath = path7.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || ""); - core14.debug(`destination ${folderPath}`); - const markerPath = `${folderPath}.complete`; - yield io6.rmRF(folderPath); - yield io6.rmRF(markerPath); - yield io6.mkdirP(folderPath); - return folderPath; - }); - } - function _completeToolPath(tool, version, arch) { - const folderPath = path7.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || ""); - const markerPath = `${folderPath}.complete`; - fs8.writeFileSync(markerPath, ""); - core14.debug("finished caching tool"); - } - function isExplicitVersion(versionSpec) { - const c = semver9.clean(versionSpec) || ""; - core14.debug(`isExplicit: ${c}`); - const valid3 = semver9.valid(c) != null; - core14.debug(`explicit? ${valid3}`); - return valid3; - } - function evaluateVersions(versions, versionSpec) { - let version = ""; - core14.debug(`evaluating ${versions.length} versions`); - versions = versions.sort((a, b) => { - if (semver9.gt(a, b)) { - return 1; + if (bodyDotAllowed) { + body = `(?:${body})(?:${bodyDotAllowed})*?`; } - return -1; - }); - for (let i = versions.length - 1; i >= 0; i--) { - const potential = versions[i]; - const satisfied = semver9.satisfies(potential, versionSpec); - if (satisfied) { - version = potential; - break; + let final = ""; + if (this.type === "!" && this.#emptyExt) { + final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty; + } else { + const close = this.type === "!" ? ( + // !() must match something,but !(x) can match '' + "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")" + ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`; + final = start + body + close; } + return [ + final, + (0, unescape_js_1.unescape)(body), + this.#hasMagic = !!this.#hasMagic, + this.#uflag + ]; } - if (version) { - core14.debug(`matched: ${version}`); - } else { - core14.debug("match not found"); - } - return version; - } - function _getCacheDirectory() { - const cacheDirectory = process.env["RUNNER_TOOL_CACHE"] || ""; - (0, assert_1.ok)(cacheDirectory, "Expected RUNNER_TOOL_CACHE to be defined"); - return cacheDirectory; - } - function _getTempDirectory() { - const tempDirectory = process.env["RUNNER_TEMP"] || ""; - (0, assert_1.ok)(tempDirectory, "Expected RUNNER_TEMP to be defined"); - return tempDirectory; - } - function _getGlobal(key, defaultValue) { - const value = global[key]; - return value !== void 0 ? value : defaultValue; - } - function _unique(values) { - return Array.from(new Set(values)); - } - } -}); - -// node_modules/fast-deep-equal/index.js -var require_fast_deep_equal = __commonJS({ - "node_modules/fast-deep-equal/index.js"(exports2, module2) { - "use strict"; - module2.exports = function equal(a, b) { - if (a === b) return true; - if (a && b && typeof a == "object" && typeof b == "object") { - if (a.constructor !== b.constructor) return false; - var length, i, keys; - if (Array.isArray(a)) { - length = a.length; - if (length != b.length) return false; - for (i = length; i-- !== 0; ) - if (!equal(a[i], b[i])) return false; - return true; - } - if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; - if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); - if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); - keys = Object.keys(a); - length = keys.length; - if (length !== Object.keys(b).length) return false; - for (i = length; i-- !== 0; ) - if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; - for (i = length; i-- !== 0; ) { - var key = keys[i]; - if (!equal(a[key], b[key])) return false; - } - return true; + #partsToRegExp(dot) { + return this.#parts.map((p) => { + if (typeof p === "string") { + throw new Error("string type in extglob ast??"); + } + const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot); + this.#uflag = this.#uflag || uflag; + return re; + }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|"); } - return a !== a && b !== b; - }; - } -}); - -// node_modules/follow-redirects/debug.js -var require_debug3 = __commonJS({ - "node_modules/follow-redirects/debug.js"(exports2, module2) { - var debug4; - module2.exports = function() { - if (!debug4) { - try { - debug4 = require_src()("follow-redirects"); - } catch (error3) { - } - if (typeof debug4 !== "function") { - debug4 = function() { - }; + static #parseGlob(glob2, hasMagic, noEmpty = false) { + let escaping = false; + let re = ""; + let uflag = false; + for (let i = 0; i < glob2.length; i++) { + const c = glob2.charAt(i); + if (escaping) { + escaping = false; + re += (reSpecials.has(c) ? "\\" : "") + c; + continue; + } + if (c === "\\") { + if (i === glob2.length - 1) { + re += "\\\\"; + } else { + escaping = true; + } + continue; + } + if (c === "[") { + const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i); + if (consumed) { + re += src; + uflag = uflag || needUflag; + i += consumed - 1; + hasMagic = hasMagic || magic; + continue; + } + } + if (c === "*") { + re += noEmpty && glob2 === "*" ? starNoEmpty : star; + hasMagic = true; + continue; + } + if (c === "?") { + re += qmark; + hasMagic = true; + continue; + } + re += regExpEscape(c); } + return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag]; } - debug4.apply(null, arguments); }; + exports2.AST = AST; } }); -// node_modules/follow-redirects/index.js -var require_follow_redirects = __commonJS({ - "node_modules/follow-redirects/index.js"(exports2, module2) { - var url = require("url"); - var URL2 = url.URL; - var http = require("http"); - var https2 = require("https"); - var Writable = require("stream").Writable; - var assert = require("assert"); - var debug4 = require_debug3(); - (function detectUnsupportedEnvironment() { - var looksLikeNode = typeof process !== "undefined"; - var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined"; - var looksLikeV8 = isFunction(Error.captureStackTrace); - if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) { - console.warn("The follow-redirects package should be excluded from browser builds."); +// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js +var require_escape = __commonJS({ + "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.escape = void 0; + var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => { + if (magicalBraces) { + return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&"); } - })(); - var useNativeURL = false; - try { - assert(new URL2("")); - } catch (error3) { - useNativeURL = error3.code === "ERR_INVALID_URL"; - } - var preservedUrlFields = [ - "auth", - "host", - "hostname", - "href", - "path", - "pathname", - "port", - "protocol", - "query", - "search", - "hash" - ]; - var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; - var eventHandlers = /* @__PURE__ */ Object.create(null); - events.forEach(function(event) { - eventHandlers[event] = function(arg1, arg2, arg3) { - this._redirectable.emit(event, arg1, arg2, arg3); - }; - }); - var InvalidUrlError = createErrorType( - "ERR_INVALID_URL", - "Invalid URL", - TypeError - ); - var RedirectionError = createErrorType( - "ERR_FR_REDIRECTION_FAILURE", - "Redirected request failed" - ); - var TooManyRedirectsError = createErrorType( - "ERR_FR_TOO_MANY_REDIRECTS", - "Maximum number of redirects exceeded", - RedirectionError - ); - var MaxBodyLengthExceededError = createErrorType( - "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", - "Request body larger than maxBodyLength limit" - ); - var WriteAfterEndError = createErrorType( - "ERR_STREAM_WRITE_AFTER_END", - "write after end" - ); - var destroy = Writable.prototype.destroy || noop3; - function RedirectableRequest(options, responseCallback) { - Writable.call(this); - this._sanitizeOptions(options); - this._options = options; - this._ended = false; - this._ending = false; - this._redirectCount = 0; - this._redirects = []; - this._requestBodyLength = 0; - this._requestBodyBuffers = []; - if (responseCallback) { - this.on("response", responseCallback); + return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&"); + }; + exports2.escape = escape; + } +}); + +// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js +var require_commonjs20 = __commonJS({ + "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0; + var brace_expansion_1 = require_commonjs19(); + var assert_valid_pattern_js_1 = require_assert_valid_pattern(); + var ast_js_1 = require_ast(); + var escape_js_1 = require_escape(); + var unescape_js_1 = require_unescape(); + var minimatch = (p, pattern, options = {}) => { + (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); + if (!options.nocomment && pattern.charAt(0) === "#") { + return false; } - var self2 = this; - this._onNativeResponse = function(response) { - try { - self2._processResponse(response); - } catch (cause) { - self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause })); - } - }; - this._performRequest(); - } - RedirectableRequest.prototype = Object.create(Writable.prototype); - RedirectableRequest.prototype.abort = function() { - destroyRequest(this._currentRequest); - this._currentRequest.abort(); - this.emit("abort"); + return new Minimatch(pattern, options).match(p); }; - RedirectableRequest.prototype.destroy = function(error3) { - destroyRequest(this._currentRequest, error3); - destroy.call(this, error3); - return this; + exports2.minimatch = minimatch; + var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/; + var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2); + var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2); + var starDotExtTestNocase = (ext2) => { + ext2 = ext2.toLowerCase(); + return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2); }; - RedirectableRequest.prototype.write = function(data, encoding, callback) { - if (this._ending) { - throw new WriteAfterEndError(); - } - if (!isString(data) && !isBuffer(data)) { - throw new TypeError("data should be a string, Buffer or Uint8Array"); - } - if (isFunction(encoding)) { - callback = encoding; - encoding = null; - } - if (data.length === 0) { - if (callback) { - callback(); - } - return; - } - if (this._requestBodyLength + data.length <= this._options.maxBodyLength) { - this._requestBodyLength += data.length; - this._requestBodyBuffers.push({ data, encoding }); - this._currentRequest.write(data, encoding, callback); - } else { - this.emit("error", new MaxBodyLengthExceededError()); - this.abort(); - } + var starDotExtTestNocaseDot = (ext2) => { + ext2 = ext2.toLowerCase(); + return (f) => f.toLowerCase().endsWith(ext2); }; - RedirectableRequest.prototype.end = function(data, encoding, callback) { - if (isFunction(data)) { - callback = data; - data = encoding = null; - } else if (isFunction(encoding)) { - callback = encoding; - encoding = null; - } - if (!data) { - this._ended = this._ending = true; - this._currentRequest.end(null, null, callback); - } else { - var self2 = this; - var currentRequest = this._currentRequest; - this.write(data, encoding, function() { - self2._ended = true; - currentRequest.end(null, null, callback); - }); - this._ending = true; - } + var starDotStarRE = /^\*+\.\*+$/; + var starDotStarTest = (f) => !f.startsWith(".") && f.includes("."); + var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes("."); + var dotStarRE = /^\.\*+$/; + var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith("."); + var starRE = /^\*+$/; + var starTest = (f) => f.length !== 0 && !f.startsWith("."); + var starTestDot = (f) => f.length !== 0 && f !== "." && f !== ".."; + var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/; + var qmarksTestNocase = ([$0, ext2 = ""]) => { + const noext = qmarksTestNoExt([$0]); + if (!ext2) + return noext; + ext2 = ext2.toLowerCase(); + return (f) => noext(f) && f.toLowerCase().endsWith(ext2); }; - RedirectableRequest.prototype.setHeader = function(name, value) { - this._options.headers[name] = value; - this._currentRequest.setHeader(name, value); + var qmarksTestNocaseDot = ([$0, ext2 = ""]) => { + const noext = qmarksTestNoExtDot([$0]); + if (!ext2) + return noext; + ext2 = ext2.toLowerCase(); + return (f) => noext(f) && f.toLowerCase().endsWith(ext2); }; - RedirectableRequest.prototype.removeHeader = function(name) { - delete this._options.headers[name]; - this._currentRequest.removeHeader(name); + var qmarksTestDot = ([$0, ext2 = ""]) => { + const noext = qmarksTestNoExtDot([$0]); + return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2); }; - RedirectableRequest.prototype.setTimeout = function(msecs, callback) { - var self2 = this; - function destroyOnTimeout(socket) { - socket.setTimeout(msecs); - socket.removeListener("timeout", socket.destroy); - socket.addListener("timeout", socket.destroy); - } - function startTimer(socket) { - if (self2._timeout) { - clearTimeout(self2._timeout); - } - self2._timeout = setTimeout(function() { - self2.emit("timeout"); - clearTimer(); - }, msecs); - destroyOnTimeout(socket); - } - function clearTimer() { - if (self2._timeout) { - clearTimeout(self2._timeout); - self2._timeout = null; - } - self2.removeListener("abort", clearTimer); - self2.removeListener("error", clearTimer); - self2.removeListener("response", clearTimer); - self2.removeListener("close", clearTimer); - if (callback) { - self2.removeListener("timeout", callback); - } - if (!self2.socket) { - self2._currentRequest.removeListener("socket", startTimer); - } + var qmarksTest = ([$0, ext2 = ""]) => { + const noext = qmarksTestNoExt([$0]); + return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2); + }; + var qmarksTestNoExt = ([$0]) => { + const len = $0.length; + return (f) => f.length === len && !f.startsWith("."); + }; + var qmarksTestNoExtDot = ([$0]) => { + const len = $0.length; + return (f) => f.length === len && f !== "." && f !== ".."; + }; + var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix"; + var path7 = { + win32: { sep: "\\" }, + posix: { sep: "/" } + }; + exports2.sep = defaultPlatform === "win32" ? path7.win32.sep : path7.posix.sep; + exports2.minimatch.sep = exports2.sep; + exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **"); + exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR; + var qmark = "[^/]"; + var star = qmark + "*?"; + var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; + var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?"; + var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options); + exports2.filter = filter; + exports2.minimatch.filter = exports2.filter; + var ext = (a, b = {}) => Object.assign({}, a, b); + var defaults = (def) => { + if (!def || typeof def !== "object" || !Object.keys(def).length) { + return exports2.minimatch; } - if (callback) { - this.on("timeout", callback); + const orig = exports2.minimatch; + const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options)); + return Object.assign(m, { + Minimatch: class Minimatch extends orig.Minimatch { + constructor(pattern, options = {}) { + super(pattern, ext(def, options)); + } + static defaults(options) { + return orig.defaults(ext(def, options)).Minimatch; + } + }, + AST: class AST extends orig.AST { + /* c8 ignore start */ + constructor(type2, parent, options = {}) { + super(type2, parent, ext(def, options)); + } + /* c8 ignore stop */ + static fromGlob(pattern, options = {}) { + return orig.AST.fromGlob(pattern, ext(def, options)); + } + }, + unescape: (s, options = {}) => orig.unescape(s, ext(def, options)), + escape: (s, options = {}) => orig.escape(s, ext(def, options)), + filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)), + defaults: (options) => orig.defaults(ext(def, options)), + makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)), + braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)), + match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)), + sep: orig.sep, + GLOBSTAR: exports2.GLOBSTAR + }); + }; + exports2.defaults = defaults; + exports2.minimatch.defaults = exports2.defaults; + var braceExpand = (pattern, options = {}) => { + (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); + if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { + return [pattern]; } - if (this.socket) { - startTimer(this.socket); - } else { - this._currentRequest.once("socket", startTimer); + return (0, brace_expansion_1.expand)(pattern); + }; + exports2.braceExpand = braceExpand; + exports2.minimatch.braceExpand = exports2.braceExpand; + var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe(); + exports2.makeRe = makeRe; + exports2.minimatch.makeRe = exports2.makeRe; + var match = (list, pattern, options = {}) => { + const mm = new Minimatch(pattern, options); + list = list.filter((f) => mm.match(f)); + if (mm.options.nonull && !list.length) { + list.push(pattern); } - this.on("socket", destroyOnTimeout); - this.on("abort", clearTimer); - this.on("error", clearTimer); - this.on("response", clearTimer); - this.on("close", clearTimer); - return this; + return list; }; - [ - "flushHeaders", - "getHeader", - "setNoDelay", - "setSocketKeepAlive" - ].forEach(function(method) { - RedirectableRequest.prototype[method] = function(a, b) { - return this._currentRequest[method](a, b); - }; - }); - ["aborted", "connection", "socket"].forEach(function(property) { - Object.defineProperty(RedirectableRequest.prototype, property, { - get: function() { - return this._currentRequest[property]; + exports2.match = match; + exports2.minimatch.match = exports2.match; + var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/; + var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + var Minimatch = class { + options; + set; + pattern; + windowsPathsNoEscape; + nonegate; + negate; + comment; + empty; + preserveMultipleSlashes; + partial; + globSet; + globParts; + nocase; + isWindows; + platform; + windowsNoMagicRoot; + regexp; + constructor(pattern, options = {}) { + (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); + options = options || {}; + this.options = options; + this.pattern = pattern; + this.platform = options.platform || defaultPlatform; + this.isWindows = this.platform === "win32"; + this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false; + if (this.windowsPathsNoEscape) { + this.pattern = this.pattern.replace(/\\/g, "/"); } - }); - }); - RedirectableRequest.prototype._sanitizeOptions = function(options) { - if (!options.headers) { - options.headers = {}; + this.preserveMultipleSlashes = !!options.preserveMultipleSlashes; + this.regexp = null; + this.negate = false; + this.nonegate = !!options.nonegate; + this.comment = false; + this.empty = false; + this.partial = !!options.partial; + this.nocase = !!this.options.nocase; + this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase); + this.globSet = []; + this.globParts = []; + this.set = []; + this.make(); } - if (options.host) { - if (!options.hostname) { - options.hostname = options.host; + hasMagic() { + if (this.options.magicalBraces && this.set.length > 1) { + return true; } - delete options.host; - } - if (!options.pathname && options.path) { - var searchPos = options.path.indexOf("?"); - if (searchPos < 0) { - options.pathname = options.path; - } else { - options.pathname = options.path.substring(0, searchPos); - options.search = options.path.substring(searchPos); + for (const pattern of this.set) { + for (const part of pattern) { + if (typeof part !== "string") + return true; + } } + return false; } - }; - RedirectableRequest.prototype._performRequest = function() { - var protocol = this._options.protocol; - var nativeProtocol = this._options.nativeProtocols[protocol]; - if (!nativeProtocol) { - throw new TypeError("Unsupported protocol " + protocol); - } - if (this._options.agents) { - var scheme = protocol.slice(0, -1); - this._options.agent = this._options.agents[scheme]; + debug(..._2) { } - var request2 = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse); - request2._redirectable = this; - for (var event of events) { - request2.on(event, eventHandlers[event]); + make() { + const pattern = this.pattern; + const options = this.options; + if (!options.nocomment && pattern.charAt(0) === "#") { + this.comment = true; + return; + } + if (!pattern) { + this.empty = true; + return; + } + this.parseNegate(); + this.globSet = [...new Set(this.braceExpand())]; + if (options.debug) { + this.debug = (...args) => console.error(...args); + } + this.debug(this.pattern, this.globSet); + const rawGlobParts = this.globSet.map((s) => this.slashSplit(s)); + this.globParts = this.preprocess(rawGlobParts); + this.debug(this.pattern, this.globParts); + let set2 = this.globParts.map((s, _2, __) => { + if (this.isWindows && this.windowsNoMagicRoot) { + const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]); + const isDrive = /^[a-z]:/i.test(s[0]); + if (isUNC) { + return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))]; + } else if (isDrive) { + return [s[0], ...s.slice(1).map((ss) => this.parse(ss))]; + } + } + return s.map((ss) => this.parse(ss)); + }); + this.debug(this.pattern, set2); + this.set = set2.filter((s) => s.indexOf(false) === -1); + if (this.isWindows) { + for (let i = 0; i < this.set.length; i++) { + const p = this.set[i]; + if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) { + p[2] = "?"; + } + } + } + this.debug(this.pattern, this.set); } - this._currentUrl = /^\//.test(this._options.path) ? url.format(this._options) : ( - // When making a request to a proxy, […] - // a client MUST send the target URI in absolute-form […]. - this._options.path - ); - if (this._isRedirect) { - var i = 0; - var self2 = this; - var buffers = this._requestBodyBuffers; - (function writeNext(error3) { - if (request2 === self2._currentRequest) { - if (error3) { - self2.emit("error", error3); - } else if (i < buffers.length) { - var buffer = buffers[i++]; - if (!request2.finished) { - request2.write(buffer.data, buffer.encoding, writeNext); + // various transforms to equivalent pattern sets that are + // faster to process in a filesystem walk. The goal is to + // eliminate what we can, and push all ** patterns as far + // to the right as possible, even if it increases the number + // of patterns that we have to process. + preprocess(globParts) { + if (this.options.noglobstar) { + for (let i = 0; i < globParts.length; i++) { + for (let j = 0; j < globParts[i].length; j++) { + if (globParts[i][j] === "**") { + globParts[i][j] = "*"; } - } else if (self2._ended) { - request2.end(); } } - })(); + } + const { optimizationLevel = 1 } = this.options; + if (optimizationLevel >= 2) { + globParts = this.firstPhasePreProcess(globParts); + globParts = this.secondPhasePreProcess(globParts); + } else if (optimizationLevel >= 1) { + globParts = this.levelOneOptimize(globParts); + } else { + globParts = this.adjascentGlobstarOptimize(globParts); + } + return globParts; } - }; - RedirectableRequest.prototype._processResponse = function(response) { - var statusCode = response.statusCode; - if (this._options.trackRedirects) { - this._redirects.push({ - url: this._currentUrl, - headers: response.headers, - statusCode + // just get rid of adjascent ** portions + adjascentGlobstarOptimize(globParts) { + return globParts.map((parts) => { + let gs = -1; + while (-1 !== (gs = parts.indexOf("**", gs + 1))) { + let i = gs; + while (parts[i + 1] === "**") { + i++; + } + if (i !== gs) { + parts.splice(gs, i - gs); + } + } + return parts; }); } - var location = response.headers.location; - if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) { - response.responseUrl = this._currentUrl; - response.redirects = this._redirects; - this.emit("response", response); - this._requestBodyBuffers = []; - return; + // get rid of adjascent ** and resolve .. portions + levelOneOptimize(globParts) { + return globParts.map((parts) => { + parts = parts.reduce((set2, part) => { + const prev = set2[set2.length - 1]; + if (part === "**" && prev === "**") { + return set2; + } + if (part === "..") { + if (prev && prev !== ".." && prev !== "." && prev !== "**") { + set2.pop(); + return set2; + } + } + set2.push(part); + return set2; + }, []); + return parts.length === 0 ? [""] : parts; + }); } - destroyRequest(this._currentRequest); - response.destroy(); - if (++this._redirectCount > this._options.maxRedirects) { - throw new TooManyRedirectsError(); + levelTwoFileOptimize(parts) { + if (!Array.isArray(parts)) { + parts = this.slashSplit(parts); + } + let didSomething = false; + do { + didSomething = false; + if (!this.preserveMultipleSlashes) { + for (let i = 1; i < parts.length - 1; i++) { + const p = parts[i]; + if (i === 1 && p === "" && parts[0] === "") + continue; + if (p === "." || p === "") { + didSomething = true; + parts.splice(i, 1); + i--; + } + } + if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) { + didSomething = true; + parts.pop(); + } + } + let dd = 0; + while (-1 !== (dd = parts.indexOf("..", dd + 1))) { + const p = parts[dd - 1]; + if (p && p !== "." && p !== ".." && p !== "**") { + didSomething = true; + parts.splice(dd - 1, 2); + dd -= 2; + } + } + } while (didSomething); + return parts.length === 0 ? [""] : parts; } - var requestHeaders; - var beforeRedirect = this._options.beforeRedirect; - if (beforeRedirect) { - requestHeaders = Object.assign({ - // The Host header was set by nativeProtocol.request - Host: response.req.getHeader("host") - }, this._options.headers); + // First phase: single-pattern processing + //
 is 1 or more portions
+      //  is 1 or more portions
+      // 

is any portion other than ., .., '', or ** + // is . or '' + // + // **/.. is *brutal* for filesystem walking performance, because + // it effectively resets the recursive walk each time it occurs, + // and ** cannot be reduced out by a .. pattern part like a regexp + // or most strings (other than .., ., and '') can be. + // + //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} + //

// -> 
/
+      // 
/

/../ ->

/
+      // **/**/ -> **/
+      //
+      // **/*/ -> */**/ <== not valid because ** doesn't follow
+      // this WOULD be allowed if ** did follow symlinks, or * didn't
+      firstPhasePreProcess(globParts) {
+        let didSomething = false;
+        do {
+          didSomething = false;
+          for (let parts of globParts) {
+            let gs = -1;
+            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+              let gss = gs;
+              while (parts[gss + 1] === "**") {
+                gss++;
+              }
+              if (gss > gs) {
+                parts.splice(gs + 1, gss - gs);
+              }
+              let next = parts[gs + 1];
+              const p = parts[gs + 2];
+              const p2 = parts[gs + 3];
+              if (next !== "..")
+                continue;
+              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
+                continue;
+              }
+              didSomething = true;
+              parts.splice(gs, 1);
+              const other = parts.slice(0);
+              other[gs] = "**";
+              globParts.push(other);
+              gs--;
+            }
+            if (!this.preserveMultipleSlashes) {
+              for (let i = 1; i < parts.length - 1; i++) {
+                const p = parts[i];
+                if (i === 1 && p === "" && parts[0] === "")
+                  continue;
+                if (p === "." || p === "") {
+                  didSomething = true;
+                  parts.splice(i, 1);
+                  i--;
+                }
+              }
+              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+                didSomething = true;
+                parts.pop();
+              }
+            }
+            let dd = 0;
+            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+              const p = parts[dd - 1];
+              if (p && p !== "." && p !== ".." && p !== "**") {
+                didSomething = true;
+                const needDot = dd === 1 && parts[dd + 1] === "**";
+                const splin = needDot ? ["."] : [];
+                parts.splice(dd - 1, 2, ...splin);
+                if (parts.length === 0)
+                  parts.push("");
+                dd -= 2;
+              }
+            }
+          }
+        } while (didSomething);
+        return globParts;
       }
-      var method = this._options.method;
-      if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || // RFC7231§6.4.4: The 303 (See Other) status code indicates that
-      // the server is redirecting the user agent to a different resource […]
-      // A user agent can perform a retrieval request targeting that URI
-      // (a GET or HEAD request if using HTTP) […]
-      statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) {
-        this._options.method = "GET";
-        this._requestBodyBuffers = [];
-        removeMatchingHeaders(/^content-/i, this._options.headers);
+      // second phase: multi-pattern dedupes
+      // {
/*/,
/

/} ->

/*/
+      // {
/,
/} -> 
/
+      // {
/**/,
/} -> 
/**/
+      //
+      // {
/**/,
/**/

/} ->

/**/
+      // ^-- not valid because ** doens't follow symlinks
+      secondPhasePreProcess(globParts) {
+        for (let i = 0; i < globParts.length - 1; i++) {
+          for (let j = i + 1; j < globParts.length; j++) {
+            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
+            if (matched) {
+              globParts[i] = [];
+              globParts[j] = matched;
+              break;
+            }
+          }
+        }
+        return globParts.filter((gs) => gs.length);
       }
-      var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
-      var currentUrlParts = parseUrl2(this._currentUrl);
-      var currentHost = currentHostHeader || currentUrlParts.host;
-      var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url.format(Object.assign(currentUrlParts, { host: currentHost }));
-      var redirectUrl = resolveUrl(location, currentUrl);
-      debug4("redirecting to", redirectUrl.href);
-      this._isRedirect = true;
-      spreadUrlObject(redirectUrl, this._options);
-      if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) {
-        removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);
+      partsMatch(a, b, emptyGSMatch = false) {
+        let ai = 0;
+        let bi = 0;
+        let result = [];
+        let which6 = "";
+        while (ai < a.length && bi < b.length) {
+          if (a[ai] === b[bi]) {
+            result.push(which6 === "b" ? b[bi] : a[ai]);
+            ai++;
+            bi++;
+          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
+            result.push(a[ai]);
+            ai++;
+          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
+            result.push(b[bi]);
+            bi++;
+          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
+            if (which6 === "b")
+              return false;
+            which6 = "a";
+            result.push(a[ai]);
+            ai++;
+            bi++;
+          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
+            if (which6 === "a")
+              return false;
+            which6 = "b";
+            result.push(b[bi]);
+            ai++;
+            bi++;
+          } else {
+            return false;
+          }
+        }
+        return a.length === b.length && result;
       }
-      if (isFunction(beforeRedirect)) {
-        var responseDetails = {
-          headers: response.headers,
-          statusCode
-        };
-        var requestDetails = {
-          url: currentUrl,
-          method,
-          headers: requestHeaders
-        };
-        beforeRedirect(this._options, responseDetails, requestDetails);
-        this._sanitizeOptions(this._options);
+      parseNegate() {
+        if (this.nonegate)
+          return;
+        const pattern = this.pattern;
+        let negate = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate = !negate;
+          negateOffset++;
+        }
+        if (negateOffset)
+          this.pattern = pattern.slice(negateOffset);
+        this.negate = negate;
       }
-      this._performRequest();
-    };
-    function wrap(protocols) {
-      var exports3 = {
-        maxRedirects: 21,
-        maxBodyLength: 10 * 1024 * 1024
-      };
-      var nativeProtocols = {};
-      Object.keys(protocols).forEach(function(scheme) {
-        var protocol = scheme + ":";
-        var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];
-        var wrappedProtocol = exports3[scheme] = Object.create(nativeProtocol);
-        function request2(input, options, callback) {
-          if (isURL(input)) {
-            input = spreadUrlObject(input);
-          } else if (isString(input)) {
-            input = spreadUrlObject(parseUrl2(input));
-          } else {
-            callback = options;
-            options = validateUrl(input);
-            input = { protocol };
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial = false) {
+        const options = this.options;
+        if (this.isWindows) {
+          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
+          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
+          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
+          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
+          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
+          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
+          if (typeof fdi === "number" && typeof pdi === "number") {
+            const [fd, pd] = [file[fdi], pattern[pdi]];
+            if (fd.toLowerCase() === pd.toLowerCase()) {
+              pattern[pdi] = fd;
+              if (pdi > fdi) {
+                pattern = pattern.slice(pdi);
+              } else if (fdi > pdi) {
+                file = file.slice(fdi);
+              }
+            }
           }
-          if (isFunction(options)) {
-            callback = options;
-            options = null;
+        }
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          file = this.levelTwoFileOptimize(file);
+        }
+        this.debug("matchOne", this, { file, pattern });
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) {
+            return false;
           }
-          options = Object.assign({
-            maxRedirects: exports3.maxRedirects,
-            maxBodyLength: exports3.maxBodyLength
-          }, input, options);
-          options.nativeProtocols = nativeProtocols;
-          if (!isString(options.host) && !isString(options.hostname)) {
-            options.hostname = "::1";
+          if (p === exports2.GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
+                  return false;
+              }
+              return true;
+            }
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
+            }
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) {
+                return true;
+              }
+            }
+            return false;
           }
-          assert.equal(options.protocol, protocol, "protocol mismatch");
-          debug4("options", options);
-          return new RedirectableRequest(options, callback);
+          let hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
+          } else {
+            hit = p.test(f);
+            this.debug("pattern match", p, f, hit);
+          }
+          if (!hit)
+            return false;
         }
-        function get(input, options, callback) {
-          var wrappedRequest = wrappedProtocol.request(input, options, callback);
-          wrappedRequest.end();
-          return wrappedRequest;
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
+        } else {
+          throw new Error("wtf?");
         }
-        Object.defineProperties(wrappedProtocol, {
-          request: { value: request2, configurable: true, enumerable: true, writable: true },
-          get: { value: get, configurable: true, enumerable: true, writable: true }
-        });
-      });
-      return exports3;
-    }
-    function noop3() {
-    }
-    function parseUrl2(input) {
-      var parsed;
-      if (useNativeURL) {
-        parsed = new URL2(input);
-      } else {
-        parsed = validateUrl(url.parse(input));
-        if (!isString(parsed.protocol)) {
-          throw new InvalidUrlError({ input });
+      }
+      braceExpand() {
+        return (0, exports2.braceExpand)(this.pattern, this.options);
+      }
+      parse(pattern) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        const options = this.options;
+        if (pattern === "**")
+          return exports2.GLOBSTAR;
+        if (pattern === "")
+          return "";
+        let m;
+        let fastTest = null;
+        if (m = pattern.match(starRE)) {
+          fastTest = options.dot ? starTestDot : starTest;
+        } else if (m = pattern.match(starDotExtRE)) {
+          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
+        } else if (m = pattern.match(qmarksRE)) {
+          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
+        } else if (m = pattern.match(starDotStarRE)) {
+          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
+        } else if (m = pattern.match(dotStarRE)) {
+          fastTest = dotStarTest;
+        }
+        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
+        if (fastTest && typeof re === "object") {
+          Reflect.defineProperty(re, "test", { value: fastTest });
+        }
+        return re;
+      }
+      makeRe() {
+        if (this.regexp || this.regexp === false)
+          return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
+        }
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = new Set(options.nocase ? ["i"] : []);
+        let re = set2.map((pattern) => {
+          const pp = pattern.map((p) => {
+            if (p instanceof RegExp) {
+              for (const f of p.flags.split(""))
+                flags.add(f);
+            }
+            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
+          });
+          pp.forEach((p, i) => {
+            const next = pp[i + 1];
+            const prev = pp[i - 1];
+            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
+              return;
+            }
+            if (prev === void 0) {
+              if (next !== void 0 && next !== exports2.GLOBSTAR) {
+                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
+              } else {
+                pp[i] = twoStar;
+              }
+            } else if (next === void 0) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
+            } else if (next !== exports2.GLOBSTAR) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
+              pp[i + 1] = exports2.GLOBSTAR;
+            }
+          });
+          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
+          if (this.partial && filtered.length >= 1) {
+            const prefixes = [];
+            for (let i = 1; i <= filtered.length; i++) {
+              prefixes.push(filtered.slice(0, i).join("/"));
+            }
+            return "(?:" + prefixes.join("|") + ")";
+          }
+          return filtered.join("/");
+        }).join("|");
+        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
+        re = "^" + open + re + close + "$";
+        if (this.partial) {
+          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
         }
-      }
-      return parsed;
-    }
-    function resolveUrl(relative, base) {
-      return useNativeURL ? new URL2(relative, base) : parseUrl2(url.resolve(base, relative));
-    }
-    function validateUrl(input) {
-      if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
-        throw new InvalidUrlError({ input: input.href || input });
-      }
-      if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) {
-        throw new InvalidUrlError({ input: input.href || input });
-      }
-      return input;
-    }
-    function spreadUrlObject(urlObject, target) {
-      var spread = target || {};
-      for (var key of preservedUrlFields) {
-        spread[key] = urlObject[key];
-      }
-      if (spread.hostname.startsWith("[")) {
-        spread.hostname = spread.hostname.slice(1, -1);
-      }
-      if (spread.port !== "") {
-        spread.port = Number(spread.port);
-      }
-      spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;
-      return spread;
-    }
-    function removeMatchingHeaders(regex, headers) {
-      var lastValue;
-      for (var header in headers) {
-        if (regex.test(header)) {
-          lastValue = headers[header];
-          delete headers[header];
+        if (this.negate)
+          re = "^(?!" + re + ").+$";
+        try {
+          this.regexp = new RegExp(re, [...flags].join(""));
+        } catch (ex) {
+          this.regexp = false;
         }
+        return this.regexp;
       }
-      return lastValue === null || typeof lastValue === "undefined" ? void 0 : String(lastValue).trim();
-    }
-    function createErrorType(code, message, baseClass) {
-      function CustomError(properties) {
-        if (isFunction(Error.captureStackTrace)) {
-          Error.captureStackTrace(this, this.constructor);
+      slashSplit(p) {
+        if (this.preserveMultipleSlashes) {
+          return p.split("/");
+        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
+          return ["", ...p.split(/\/+/)];
+        } else {
+          return p.split(/\/+/);
         }
-        Object.assign(this, properties || {});
-        this.code = code;
-        this.message = this.cause ? message + ": " + this.cause.message : message;
       }
-      CustomError.prototype = new (baseClass || Error)();
-      Object.defineProperties(CustomError.prototype, {
-        constructor: {
-          value: CustomError,
-          enumerable: false
-        },
-        name: {
-          value: "Error [" + code + "]",
-          enumerable: false
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) {
+          return false;
         }
-      });
-      return CustomError;
-    }
-    function destroyRequest(request2, error3) {
-      for (var event of events) {
-        request2.removeListener(event, eventHandlers[event]);
+        if (this.empty) {
+          return f === "";
+        }
+        if (f === "/" && partial) {
+          return true;
+        }
+        const options = this.options;
+        if (this.isWindows) {
+          f = f.split("\\").join("/");
+        }
+        const ff = this.slashSplit(f);
+        this.debug(this.pattern, "split", ff);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename = ff[ff.length - 1];
+        if (!filename) {
+          for (let i = ff.length - 2; !filename && i >= 0; i--) {
+            filename = ff[i];
+          }
+        }
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = ff;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
+          }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) {
+              return true;
+            }
+            return !this.negate;
+          }
+        }
+        if (options.flipNegate) {
+          return false;
+        }
+        return this.negate;
       }
-      request2.on("error", noop3);
-      request2.destroy(error3);
-    }
-    function isSubdomain(subdomain, domain) {
-      assert(isString(subdomain) && isString(domain));
-      var dot = subdomain.length - domain.length - 1;
-      return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
-    }
-    function isString(value) {
-      return typeof value === "string" || value instanceof String;
-    }
-    function isFunction(value) {
-      return typeof value === "function";
-    }
-    function isBuffer(value) {
-      return typeof value === "object" && "length" in value;
-    }
-    function isURL(value) {
-      return URL2 && value instanceof URL2;
-    }
-    module2.exports = wrap({ http, https: https2 });
-    module2.exports.wrap = wrap;
+      static defaults(def) {
+        return exports2.minimatch.defaults(def).Minimatch;
+      }
+    };
+    exports2.Minimatch = Minimatch;
+    var ast_js_2 = require_ast();
+    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
+      return ast_js_2.AST;
+    } });
+    var escape_js_2 = require_escape();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return escape_js_2.escape;
+    } });
+    var unescape_js_2 = require_unescape();
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return unescape_js_2.unescape;
+    } });
+    exports2.minimatch.AST = ast_js_1.AST;
+    exports2.minimatch.Minimatch = Minimatch;
+    exports2.minimatch.escape = escape_js_1.escape;
+    exports2.minimatch.unescape = unescape_js_1.unescape;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/config.js
-var require_config2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
+// node_modules/lru-cache/dist/commonjs/index.js
+var require_commonjs21 = __commonJS({
+  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
-    var os_1 = __importDefault2(require("os"));
-    var core_1 = require_core();
-    function getUploadChunkSize() {
-      return 8 * 1024 * 1024;
-    }
-    exports2.getUploadChunkSize = getUploadChunkSize;
-    function getRuntimeToken() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
-      if (!token) {
-        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
-      }
-      return token;
-    }
-    exports2.getRuntimeToken = getRuntimeToken;
-    function getResultsServiceUrl() {
-      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
-      if (!resultsUrl) {
-        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
-      }
-      return new URL(resultsUrl).origin;
-    }
-    exports2.getResultsServiceUrl = getResultsServiceUrl;
-    function isGhes() {
-      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
-      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
-      const isGitHubHost = hostname === "GITHUB.COM";
-      const isGheHost = hostname.endsWith(".GHE.COM");
-      const isLocalHost = hostname.endsWith(".LOCALHOST");
-      return !isGitHubHost && !isGheHost && !isLocalHost;
+    exports2.LRUCache = void 0;
+    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
+    var warned = /* @__PURE__ */ new Set();
+    var PROCESS = typeof process === "object" && !!process ? process : {};
+    var emitWarning = (msg, type2, code, fn) => {
+      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
+    };
+    var AC = globalThis.AbortController;
+    var AS = globalThis.AbortSignal;
+    if (typeof AC === "undefined") {
+      AS = class AbortSignal {
+        onabort;
+        _onabort = [];
+        reason;
+        aborted = false;
+        addEventListener(_2, fn) {
+          this._onabort.push(fn);
+        }
+      };
+      AC = class AbortController {
+        constructor() {
+          warnACPolyfill();
+        }
+        signal = new AS();
+        abort(reason) {
+          if (this.signal.aborted)
+            return;
+          this.signal.reason = reason;
+          this.signal.aborted = true;
+          for (const fn of this.signal._onabort) {
+            fn(reason);
+          }
+          this.signal.onabort?.(reason);
+        }
+      };
+      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
+      const warnACPolyfill = () => {
+        if (!printACPolyfillWarning)
+          return;
+        printACPolyfillWarning = false;
+        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
+      };
     }
-    exports2.isGhes = isGhes;
-    function getGitHubWorkspaceDir() {
-      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
-      if (!ghWorkspaceDir) {
-        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
+    var shouldWarn = (code) => !warned.has(code);
+    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
+    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
+    var ZeroArray = class extends Array {
+      constructor(size) {
+        super(size);
+        this.fill(0);
       }
-      return ghWorkspaceDir;
-    }
-    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
-    function getConcurrency() {
-      const numCPUs = os_1.default.cpus().length;
-      let concurrencyCap = 32;
-      if (numCPUs > 4) {
-        const concurrency = 16 * numCPUs;
-        concurrencyCap = concurrency > 300 ? 300 : concurrency;
+    };
+    var Stack = class _Stack {
+      heap;
+      length;
+      // private constructor
+      static #constructing = false;
+      static create(max) {
+        const HeapCls = getUintArray(max);
+        if (!HeapCls)
+          return [];
+        _Stack.#constructing = true;
+        const s = new _Stack(max, HeapCls);
+        _Stack.#constructing = false;
+        return s;
       }
-      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
-      if (concurrencyOverride) {
-        const concurrency = parseInt(concurrencyOverride);
-        if (isNaN(concurrency) || concurrency < 1) {
-          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
-        }
-        if (concurrency < concurrencyCap) {
-          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
-          return concurrency;
+      constructor(max, HeapCls) {
+        if (!_Stack.#constructing) {
+          throw new TypeError("instantiate Stack using Stack.create(n)");
         }
-        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
-        return concurrencyCap;
-      }
-      return 5;
-    }
-    exports2.getConcurrency = getConcurrency;
-    function getUploadChunkTimeout() {
-      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
-      if (!timeoutVar) {
-        return 3e5;
+        this.heap = new HeapCls(max);
+        this.length = 0;
       }
-      const timeout = parseInt(timeoutVar);
-      if (isNaN(timeout)) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
+      push(n) {
+        this.heap[this.length++] = n;
       }
-      return timeout;
-    }
-    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
-    function getMaxArtifactListCount() {
-      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
-      const maxCount = parseInt(maxCountVar);
-      if (isNaN(maxCount) || maxCount < 1) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
+      pop() {
+        return this.heap[--this.length];
       }
-      return maxCount;
-    }
-    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
-var require_timestamp = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Timestamp = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var runtime_6 = require_commonjs16();
-    var runtime_7 = require_commonjs16();
-    var Timestamp$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Timestamp", [
-          {
-            no: 1,
-            name: "seconds",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+    };
+    var LRUCache = class _LRUCache {
+      // options that cannot be changed without disaster
+      #max;
+      #maxSize;
+      #dispose;
+      #onInsert;
+      #disposeAfter;
+      #fetchMethod;
+      #memoMethod;
+      /**
+       * {@link LRUCache.OptionsBase.ttl}
+       */
+      ttl;
+      /**
+       * {@link LRUCache.OptionsBase.ttlResolution}
+       */
+      ttlResolution;
+      /**
+       * {@link LRUCache.OptionsBase.ttlAutopurge}
+       */
+      ttlAutopurge;
+      /**
+       * {@link LRUCache.OptionsBase.updateAgeOnGet}
+       */
+      updateAgeOnGet;
+      /**
+       * {@link LRUCache.OptionsBase.updateAgeOnHas}
+       */
+      updateAgeOnHas;
+      /**
+       * {@link LRUCache.OptionsBase.allowStale}
+       */
+      allowStale;
+      /**
+       * {@link LRUCache.OptionsBase.noDisposeOnSet}
+       */
+      noDisposeOnSet;
+      /**
+       * {@link LRUCache.OptionsBase.noUpdateTTL}
+       */
+      noUpdateTTL;
+      /**
+       * {@link LRUCache.OptionsBase.maxEntrySize}
+       */
+      maxEntrySize;
+      /**
+       * {@link LRUCache.OptionsBase.sizeCalculation}
+       */
+      sizeCalculation;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
+       */
+      noDeleteOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
+       */
+      noDeleteOnStaleGet;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
+       */
+      allowStaleOnFetchAbort;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
+       */
+      allowStaleOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
+       */
+      ignoreFetchAbort;
+      // computed properties
+      #size;
+      #calculatedSize;
+      #keyMap;
+      #keyList;
+      #valList;
+      #next;
+      #prev;
+      #head;
+      #tail;
+      #free;
+      #disposed;
+      #sizes;
+      #starts;
+      #ttls;
+      #hasDispose;
+      #hasFetchMethod;
+      #hasDisposeAfter;
+      #hasOnInsert;
+      /**
+       * Do not call this method unless you need to inspect the
+       * inner workings of the cache.  If anything returned by this
+       * object is modified in any way, strange breakage may occur.
+       *
+       * These fields are private for a reason!
+       *
+       * @internal
+       */
+      static unsafeExposeInternals(c) {
+        return {
+          // properties
+          starts: c.#starts,
+          ttls: c.#ttls,
+          sizes: c.#sizes,
+          keyMap: c.#keyMap,
+          keyList: c.#keyList,
+          valList: c.#valList,
+          next: c.#next,
+          prev: c.#prev,
+          get head() {
+            return c.#head;
           },
-          {
-            no: 2,
-            name: "nanos",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
+          get tail() {
+            return c.#tail;
+          },
+          free: c.#free,
+          // methods
+          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
+          backgroundFetch: (k, index, options, context2) => c.#backgroundFetch(k, index, options, context2),
+          moveToTail: (index) => c.#moveToTail(index),
+          indexes: (options) => c.#indexes(options),
+          rindexes: (options) => c.#rindexes(options),
+          isStale: (index) => c.#isStale(index)
+        };
       }
+      // Protected read-only members
       /**
-       * Creates a new `Timestamp` for the current time.
+       * {@link LRUCache.OptionsBase.max} (read-only)
        */
-      now() {
-        const msg = this.create();
-        const ms = Date.now();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
+      get max() {
+        return this.#max;
       }
       /**
-       * Converts a `Timestamp` to a JavaScript Date.
+       * {@link LRUCache.OptionsBase.maxSize} (read-only)
        */
-      toDate(message) {
-        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
+      get maxSize() {
+        return this.#maxSize;
       }
       /**
-       * Converts a JavaScript Date to a `Timestamp`.
+       * The total computed size of items in the cache (read-only)
        */
-      fromDate(date) {
-        const msg = this.create();
-        const ms = date.getTime();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
+      get calculatedSize() {
+        return this.#calculatedSize;
       }
       /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
+       * The number of items stored in the cache (read-only)
        */
-      internalJsonWrite(message, options) {
-        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (message.nanos < 0)
-          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
-        let z = "Z";
-        if (message.nanos > 0) {
-          let nanosStr = (message.nanos + 1e9).toString().substring(1);
-          if (nanosStr.substring(3) === "000000")
-            z = "." + nanosStr.substring(0, 3) + "Z";
-          else if (nanosStr.substring(6) === "000")
-            z = "." + nanosStr.substring(0, 6) + "Z";
-          else
-            z = "." + nanosStr + "Z";
-        }
-        return new Date(ms).toISOString().replace(".000Z", z);
+      get size() {
+        return this.#size;
       }
       /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
+       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
        */
-      internalJsonRead(json2, options, target) {
-        if (typeof json2 !== "string")
-          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
-        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
-        if (!matches)
-          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
-        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
-        if (Number.isNaN(ms))
-          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (!target)
-          target = this.create();
-        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
-        target.nanos = 0;
-        if (matches[7])
-          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
-        return target;
-      }
-      create(value) {
-        const message = { seconds: "0", nanos: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      get fetchMethod() {
+        return this.#fetchMethod;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 seconds */
-            1:
-              message.seconds = reader.int64().toString();
-              break;
-            case /* int32 nanos */
-            2:
-              message.nanos = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      get memoMethod() {
+        return this.#memoMethod;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.seconds !== "0")
-          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
-        if (message.nanos !== 0)
-          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * {@link LRUCache.OptionsBase.dispose} (read-only)
+       */
+      get dispose() {
+        return this.#dispose;
       }
-    };
-    exports2.Timestamp = new Timestamp$Type();
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
-var require_wrappers = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var runtime_6 = require_commonjs16();
-    var runtime_7 = require_commonjs16();
-    var DoubleValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.DoubleValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 1
-            /*ScalarType.DOUBLE*/
-          }
-        ]);
+      /**
+       * {@link LRUCache.OptionsBase.onInsert} (read-only)
+       */
+      get onInsert() {
+        return this.#onInsert;
       }
       /**
-       * Encode `DoubleValue` to JSON number.
+       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
+      get disposeAfter() {
+        return this.#disposeAfter;
+      }
+      constructor(options) {
+        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
+        if (max !== 0 && !isPosInt(max)) {
+          throw new TypeError("max option must be a nonnegative integer");
+        }
+        const UintArray = max ? getUintArray(max) : Array;
+        if (!UintArray) {
+          throw new Error("invalid max value: " + max);
+        }
+        this.#max = max;
+        this.#maxSize = maxSize;
+        this.maxEntrySize = maxEntrySize || this.#maxSize;
+        this.sizeCalculation = sizeCalculation;
+        if (this.sizeCalculation) {
+          if (!this.#maxSize && !this.maxEntrySize) {
+            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
+          }
+          if (typeof this.sizeCalculation !== "function") {
+            throw new TypeError("sizeCalculation set to non-function");
+          }
+        }
+        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
+          throw new TypeError("memoMethod must be a function if defined");
+        }
+        this.#memoMethod = memoMethod;
+        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
+          throw new TypeError("fetchMethod must be a function if specified");
+        }
+        this.#fetchMethod = fetchMethod;
+        this.#hasFetchMethod = !!fetchMethod;
+        this.#keyMap = /* @__PURE__ */ new Map();
+        this.#keyList = new Array(max).fill(void 0);
+        this.#valList = new Array(max).fill(void 0);
+        this.#next = new UintArray(max);
+        this.#prev = new UintArray(max);
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free = Stack.create(max);
+        this.#size = 0;
+        this.#calculatedSize = 0;
+        if (typeof dispose === "function") {
+          this.#dispose = dispose;
+        }
+        if (typeof onInsert === "function") {
+          this.#onInsert = onInsert;
+        }
+        if (typeof disposeAfter === "function") {
+          this.#disposeAfter = disposeAfter;
+          this.#disposed = [];
+        } else {
+          this.#disposeAfter = void 0;
+          this.#disposed = void 0;
+        }
+        this.#hasDispose = !!this.#dispose;
+        this.#hasOnInsert = !!this.#onInsert;
+        this.#hasDisposeAfter = !!this.#disposeAfter;
+        this.noDisposeOnSet = !!noDisposeOnSet;
+        this.noUpdateTTL = !!noUpdateTTL;
+        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
+        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
+        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
+        this.ignoreFetchAbort = !!ignoreFetchAbort;
+        if (this.maxEntrySize !== 0) {
+          if (this.#maxSize !== 0) {
+            if (!isPosInt(this.#maxSize)) {
+              throw new TypeError("maxSize must be a positive integer if specified");
+            }
+          }
+          if (!isPosInt(this.maxEntrySize)) {
+            throw new TypeError("maxEntrySize must be a positive integer if specified");
+          }
+          this.#initializeSizeTracking();
+        }
+        this.allowStale = !!allowStale;
+        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
+        this.updateAgeOnGet = !!updateAgeOnGet;
+        this.updateAgeOnHas = !!updateAgeOnHas;
+        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
+        this.ttlAutopurge = !!ttlAutopurge;
+        this.ttl = ttl || 0;
+        if (this.ttl) {
+          if (!isPosInt(this.ttl)) {
+            throw new TypeError("ttl must be a positive integer if specified");
+          }
+          this.#initializeTTLTracking();
+        }
+        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
+          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        }
+        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
+          const code = "LRU_CACHE_UNBOUNDED";
+          if (shouldWarn(code)) {
+            warned.add(code);
+            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
+            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
+          }
+        }
       }
       /**
-       * Decode `DoubleValue` from JSON number.
+       * Return the number of ms left in the item's TTL. If item is not in cache,
+       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
+      getRemainingTTL(key) {
+        return this.#keyMap.has(key) ? Infinity : 0;
       }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      #initializeTTLTracking() {
+        const ttls = new ZeroArray(this.#max);
+        const starts = new ZeroArray(this.#max);
+        this.#ttls = ttls;
+        this.#starts = starts;
+        this.#setItemTTL = (index, ttl, start = perf.now()) => {
+          starts[index] = ttl !== 0 ? start : 0;
+          ttls[index] = ttl;
+          if (ttl !== 0 && this.ttlAutopurge) {
+            const t = setTimeout(() => {
+              if (this.#isStale(index)) {
+                this.#delete(this.#keyList[index], "expire");
+              }
+            }, ttl + 1);
+            if (t.unref) {
+              t.unref();
+            }
+          }
+        };
+        this.#updateItemAge = (index) => {
+          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
+        };
+        this.#statusTTL = (status, index) => {
+          if (ttls[index]) {
+            const ttl = ttls[index];
+            const start = starts[index];
+            if (!ttl || !start)
+              return;
+            status.ttl = ttl;
+            status.start = start;
+            status.now = cachedNow || getNow();
+            const age = status.now - start;
+            status.remainingTTL = ttl - age;
+          }
+        };
+        let cachedNow = 0;
+        const getNow = () => {
+          const n = perf.now();
+          if (this.ttlResolution > 0) {
+            cachedNow = n;
+            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
+            if (t.unref) {
+              t.unref();
+            }
+          }
+          return n;
+        };
+        this.getRemainingTTL = (key) => {
+          const index = this.#keyMap.get(key);
+          if (index === void 0) {
+            return 0;
+          }
+          const ttl = ttls[index];
+          const start = starts[index];
+          if (!ttl || !start) {
+            return Infinity;
+          }
+          const age = (cachedNow || getNow()) - start;
+          return ttl - age;
+        };
+        this.#isStale = (index) => {
+          const s = starts[index];
+          const t = ttls[index];
+          return !!t && !!s && (cachedNow || getNow()) - s > t;
+        };
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* double value */
-            1:
-              message.value = reader.double();
+      // conditionally set private methods related to TTL
+      #updateItemAge = () => {
+      };
+      #statusTTL = () => {
+      };
+      #setItemTTL = () => {
+      };
+      /* c8 ignore stop */
+      #isStale = () => false;
+      #initializeSizeTracking() {
+        const sizes = new ZeroArray(this.#max);
+        this.#calculatedSize = 0;
+        this.#sizes = sizes;
+        this.#removeItemSize = (index) => {
+          this.#calculatedSize -= sizes[index];
+          sizes[index] = 0;
+        };
+        this.#requireSize = (k, v, size, sizeCalculation) => {
+          if (this.#isBackgroundFetch(v)) {
+            return 0;
+          }
+          if (!isPosInt(size)) {
+            if (sizeCalculation) {
+              if (typeof sizeCalculation !== "function") {
+                throw new TypeError("sizeCalculation must be a function");
+              }
+              size = sizeCalculation(v, k);
+              if (!isPosInt(size)) {
+                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
+              }
+            } else {
+              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
+            }
+          }
+          return size;
+        };
+        this.#addItemSize = (index, size, status) => {
+          sizes[index] = size;
+          if (this.#maxSize) {
+            const maxSize = this.#maxSize - sizes[index];
+            while (this.#calculatedSize > maxSize) {
+              this.#evict(true);
+            }
+          }
+          this.#calculatedSize += sizes[index];
+          if (status) {
+            status.entrySize = size;
+            status.totalCalculatedSize = this.#calculatedSize;
+          }
+        };
+      }
+      #removeItemSize = (_i) => {
+      };
+      #addItemSize = (_i, _s, _st) => {
+      };
+      #requireSize = (_k, _v, size, sizeCalculation) => {
+        if (size || sizeCalculation) {
+          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
+        }
+        return 0;
+      };
+      *#indexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#tail; true; ) {
+            if (!this.#isValidIndex(i)) {
               break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#head) {
+              break;
+            } else {
+              i = this.#prev[i];
+            }
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.DoubleValue = new DoubleValue$Type();
-    var FloatValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.FloatValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 2
-            /*ScalarType.FLOAT*/
+      *#rindexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#head; true; ) {
+            if (!this.#isValidIndex(i)) {
+              break;
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#tail) {
+              break;
+            } else {
+              i = this.#next[i];
+            }
           }
-        ]);
+        }
+      }
+      #isValidIndex(index) {
+        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
       }
       /**
-       * Encode `FloatValue` to JSON number.
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from most recently used to least recently used.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
+      *entries() {
+        for (const i of this.#indexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
+          }
+        }
       }
       /**
-       * Decode `FloatValue` from JSON number.
+       * Inverse order version of {@link LRUCache.entries}
+       *
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from least recently used to most recently used.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* float value */
-            1:
-              message.value = reader.float();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      *rentries() {
+        for (const i of this.#rindexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.FloatValue = new FloatValue$Type();
-    var Int64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+      /**
+       * Return a generator yielding the keys in the cache,
+       * in order from most recently used to least recently used.
+       */
+      *keys() {
+        for (const i of this.#indexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
           }
-        ]);
+        }
       }
       /**
-       * Encode `Int64Value` to JSON string.
+       * Inverse order version of {@link LRUCache.keys}
+       *
+       * Return a generator yielding the keys in the cache,
+       * in order from least recently used to most recently used.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
+      *rkeys() {
+        for (const i of this.#rindexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
+          }
+        }
       }
       /**
-       * Decode `Int64Value` from JSON string.
+       * Return a generator yielding the values in the cache,
+       * in order from most recently used to least recently used.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 value */
-            1:
-              message.value = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      *values() {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.Int64Value = new Int64Value$Type();
-    var UInt64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 4
-            /*ScalarType.UINT64*/
+      /**
+       * Inverse order version of {@link LRUCache.values}
+       *
+       * Return a generator yielding the values in the cache,
+       * in order from least recently used to most recently used.
+       */
+      *rvalues() {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
           }
-        ]);
+        }
       }
       /**
-       * Encode `UInt64Value` to JSON string.
+       * Iterating over the cache itself yields the same results as
+       * {@link LRUCache.entries}
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
+      [Symbol.iterator]() {
+        return this.entries();
       }
       /**
-       * Decode `UInt64Value` from JSON string.
+       * A String value that is used in the creation of the default string
+       * description of an object. Called by the built-in method
+       * `Object.prototype.toString`.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint64 value */
-            1:
-              message.value = reader.uint64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      [Symbol.toStringTag] = "LRUCache";
+      /**
+       * Find a value for which the supplied fn method returns a truthy value,
+       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
+       */
+      find(fn, getOptions = {}) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          if (fn(value, this.#keyList[i], this)) {
+            return this.get(this.#keyList[i], getOptions);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.UInt64Value = new UInt64Value$Type();
-    var Int32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
       }
       /**
-       * Encode `Int32Value` to JSON string.
+       * Call the supplied function on each item in the cache, in order from most
+       * recently used to least recently used.
+       *
+       * `fn` is called as `fn(value, key, cache)`.
+       *
+       * If `thisp` is provided, function will be called in the `this`-context of
+       * the provided object, or the cache if no `thisp` object is provided.
+       *
+       * Does not update age or recenty of use, or iterate over stale values.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
+      forEach(fn, thisp = this) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
+        }
       }
       /**
-       * Decode `Int32Value` from JSON string.
+       * The same as {@link LRUCache.forEach} but items are iterated over in
+       * reverse order.  (ie, less recently used items are iterated over first.)
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      rforEach(fn, thisp = this) {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int32 value */
-            1:
-              message.value = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Delete any stale entries. Returns true if anything was removed,
+       * false otherwise.
+       */
+      purgeStale() {
+        let deleted = false;
+        for (const i of this.#rindexes({ allowStale: true })) {
+          if (this.#isStale(i)) {
+            this.#delete(this.#keyList[i], "expire");
+            deleted = true;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return deleted;
       }
-    };
-    exports2.Int32Value = new Int32Value$Type();
-    var UInt32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 13
-            /*ScalarType.UINT32*/
+      /**
+       * Get the extended info about a given entry, to get its value, size, and
+       * TTL info simultaneously. Returns `undefined` if the key is not present.
+       *
+       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
+       * serialization, the `start` value is always the current timestamp, and the
+       * `ttl` is a calculated remaining time to live (negative if expired).
+       *
+       * Always returns stale values, if their info is found in the cache, so be
+       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
+       * if relevant.
+       */
+      info(key) {
+        const i = this.#keyMap.get(key);
+        if (i === void 0)
+          return void 0;
+        const v = this.#valList[i];
+        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+        if (value === void 0)
+          return void 0;
+        const entry = { value };
+        if (this.#ttls && this.#starts) {
+          const ttl = this.#ttls[i];
+          const start = this.#starts[i];
+          if (ttl && start) {
+            const remain = ttl - (perf.now() - start);
+            entry.ttl = remain;
+            entry.start = Date.now();
           }
-        ]);
+        }
+        if (this.#sizes) {
+          entry.size = this.#sizes[i];
+        }
+        return entry;
       }
       /**
-       * Encode `UInt32Value` to JSON string.
+       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
+       * passed to {@link LRUCache#load}.
+       *
+       * The `start` fields are calculated relative to a portable `Date.now()`
+       * timestamp, even if `performance.now()` is available.
+       *
+       * Stale entries are always included in the `dump`, even if
+       * {@link LRUCache.OptionsBase.allowStale} is false.
+       *
+       * Note: this returns an actual array, not a generator, so it can be more
+       * easily passed around.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
+      dump() {
+        const arr = [];
+        for (const i of this.#indexes({ allowStale: true })) {
+          const key = this.#keyList[i];
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0 || key === void 0)
+            continue;
+          const entry = { value };
+          if (this.#ttls && this.#starts) {
+            entry.ttl = this.#ttls[i];
+            const age = perf.now() - this.#starts[i];
+            entry.start = Math.floor(Date.now() - age);
+          }
+          if (this.#sizes) {
+            entry.size = this.#sizes[i];
+          }
+          arr.unshift([key, entry]);
+        }
+        return arr;
       }
       /**
-       * Decode `UInt32Value` from JSON string.
+       * Reset the cache and load in the items in entries in the order listed.
+       *
+       * The shape of the resulting cache may be different if the same options are
+       * not used in both caches.
+       *
+       * The `start` fields are assumed to be calculated relative to a portable
+       * `Date.now()` timestamp, even if `performance.now()` is available.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      load(arr) {
+        this.clear();
+        for (const [key, entry] of arr) {
+          if (entry.start) {
+            const age = Date.now() - entry.start;
+            entry.start = perf.now() - age;
+          }
+          this.set(key, entry.value, entry);
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint32 value */
-            1:
-              message.value = reader.uint32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Add a value to the cache.
+       *
+       * Note: if `undefined` is specified as a value, this is an alias for
+       * {@link LRUCache#delete}
+       *
+       * Fields on the {@link LRUCache.SetOptions} options param will override
+       * their corresponding values in the constructor options for the scope
+       * of this single `set()` operation.
+       *
+       * If `start` is provided, then that will set the effective start
+       * time for the TTL calculation. Note that this must be a previous
+       * value of `performance.now()` if supported, or a previous value of
+       * `Date.now()` if not.
+       *
+       * Options object may also include `size`, which will prevent
+       * calling the `sizeCalculation` function and just use the specified
+       * number if it is a positive integer, and `noDisposeOnSet` which
+       * will prevent calling a `dispose` function in the case of
+       * overwrites.
+       *
+       * If the `size` (or return value of `sizeCalculation`) for a given
+       * entry is greater than `maxEntrySize`, then the item will not be
+       * added to the cache.
+       *
+       * Will update the recency of the entry.
+       *
+       * If the value is `undefined`, then this is an alias for
+       * `cache.delete(key)`. `undefined` is never stored in the cache.
+       */
+      set(k, v, setOptions = {}) {
+        if (v === void 0) {
+          this.delete(k);
+          return this;
+        }
+        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
+        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
+        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
+        if (this.maxEntrySize && size > this.maxEntrySize) {
+          if (status) {
+            status.set = "miss";
+            status.maxEntrySizeExceeded = true;
           }
+          this.#delete(k, "set");
+          return this;
         }
-        return message;
+        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
+        if (index === void 0) {
+          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
+          this.#keyList[index] = k;
+          this.#valList[index] = v;
+          this.#keyMap.set(k, index);
+          this.#next[this.#tail] = index;
+          this.#prev[index] = this.#tail;
+          this.#tail = index;
+          this.#size++;
+          this.#addItemSize(index, size, status);
+          if (status)
+            status.set = "add";
+          noUpdateTTL = false;
+          if (this.#hasOnInsert) {
+            this.#onInsert?.(v, k, "add");
+          }
+        } else {
+          this.#moveToTail(index);
+          const oldVal = this.#valList[index];
+          if (v !== oldVal) {
+            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
+              oldVal.__abortController.abort(new Error("replaced"));
+              const { __staleWhileFetching: s } = oldVal;
+              if (s !== void 0 && !noDisposeOnSet) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(s, k, "set");
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([s, k, "set"]);
+                }
+              }
+            } else if (!noDisposeOnSet) {
+              if (this.#hasDispose) {
+                this.#dispose?.(oldVal, k, "set");
+              }
+              if (this.#hasDisposeAfter) {
+                this.#disposed?.push([oldVal, k, "set"]);
+              }
+            }
+            this.#removeItemSize(index);
+            this.#addItemSize(index, size, status);
+            this.#valList[index] = v;
+            if (status) {
+              status.set = "replace";
+              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
+              if (oldValue !== void 0)
+                status.oldValue = oldValue;
+            }
+          } else if (status) {
+            status.set = "update";
+          }
+          if (this.#hasOnInsert) {
+            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
+          }
+        }
+        if (ttl !== 0 && !this.#ttls) {
+          this.#initializeTTLTracking();
+        }
+        if (this.#ttls) {
+          if (!noUpdateTTL) {
+            this.#setItemTTL(index, ttl, start);
+          }
+          if (status)
+            this.#statusTTL(status, index);
+        }
+        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
+        }
+        return this;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Evict the least recently used item, returning its value or
+       * `undefined` if cache is empty.
+       */
+      pop() {
+        try {
+          while (this.#size) {
+            const val = this.#valList[this.#head];
+            this.#evict(true);
+            if (this.#isBackgroundFetch(val)) {
+              if (val.__staleWhileFetching) {
+                return val.__staleWhileFetching;
+              }
+            } else if (val !== void 0) {
+              return val;
+            }
+          }
+        } finally {
+          if (this.#hasDisposeAfter && this.#disposed) {
+            const dt = this.#disposed;
+            let task;
+            while (task = dt?.shift()) {
+              this.#disposeAfter?.(...task);
+            }
+          }
+        }
       }
-    };
-    exports2.UInt32Value = new UInt32Value$Type();
-    var BoolValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BoolValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
+      #evict(free) {
+        const head = this.#head;
+        const k = this.#keyList[head];
+        const v = this.#valList[head];
+        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
+          v.__abortController.abort(new Error("evicted"));
+        } else if (this.#hasDispose || this.#hasDisposeAfter) {
+          if (this.#hasDispose) {
+            this.#dispose?.(v, k, "evict");
           }
-        ]);
+          if (this.#hasDisposeAfter) {
+            this.#disposed?.push([v, k, "evict"]);
+          }
+        }
+        this.#removeItemSize(head);
+        if (free) {
+          this.#keyList[head] = void 0;
+          this.#valList[head] = void 0;
+          this.#free.push(head);
+        }
+        if (this.#size === 1) {
+          this.#head = this.#tail = 0;
+          this.#free.length = 0;
+        } else {
+          this.#head = this.#next[head];
+        }
+        this.#keyMap.delete(k);
+        this.#size--;
+        return head;
       }
       /**
-       * Encode `BoolValue` to JSON bool.
+       * Check if a key is in the cache, without updating the recency of use.
+       * Will return false if the item is stale, even though it is technically
+       * in the cache.
+       *
+       * Check if a key is in the cache, without updating the recency of
+       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
+       * to `true` in either the options or the constructor.
+       *
+       * Will return `false` if the item is stale, even though it is technically in
+       * the cache. The difference can be determined (if it matters) by using a
+       * `status` argument, and inspecting the `has` field.
+       *
+       * Will not update item age unless
+       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
        */
-      internalJsonWrite(message, options) {
-        return message.value;
+      has(k, hasOptions = {}) {
+        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
+            return false;
+          }
+          if (!this.#isStale(index)) {
+            if (updateAgeOnHas) {
+              this.#updateItemAge(index);
+            }
+            if (status) {
+              status.has = "hit";
+              this.#statusTTL(status, index);
+            }
+            return true;
+          } else if (status) {
+            status.has = "stale";
+            this.#statusTTL(status, index);
+          }
+        } else if (status) {
+          status.has = "miss";
+        }
+        return false;
       }
       /**
-       * Decode `BoolValue` from JSON bool.
+       * Like {@link LRUCache#get} but doesn't update recency or delete stale
+       * items.
+       *
+       * Returns `undefined` if the item is stale, unless
+       * {@link LRUCache.OptionsBase.allowStale} is set.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: false };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      peek(k, peekOptions = {}) {
+        const { allowStale = this.allowStale } = peekOptions;
+        const index = this.#keyMap.get(k);
+        if (index === void 0 || !allowStale && this.#isStale(index)) {
+          return;
+        }
+        const v = this.#valList[index];
+        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool value */
-            1:
-              message.value = reader.bool();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #backgroundFetch(k, index, options, context2) {
+        const v = index === void 0 ? void 0 : this.#valList[index];
+        if (this.#isBackgroundFetch(v)) {
+          return v;
+        }
+        const ac = new AC();
+        const { signal } = options;
+        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
+          signal: ac.signal
+        });
+        const fetchOpts = {
+          signal: ac.signal,
+          options,
+          context: context2
+        };
+        const cb = (v2, updateCache = false) => {
+          const { aborted } = ac.signal;
+          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
+          if (options.status) {
+            if (aborted && !updateCache) {
+              options.status.fetchAborted = true;
+              options.status.fetchError = ac.signal.reason;
+              if (ignoreAbort)
+                options.status.fetchAbortIgnored = true;
+            } else {
+              options.status.fetchResolved = true;
+            }
+          }
+          if (aborted && !ignoreAbort && !updateCache) {
+            return fetchFail(ac.signal.reason);
+          }
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            if (v2 === void 0) {
+              if (bf2.__staleWhileFetching) {
+                this.#valList[index] = bf2.__staleWhileFetching;
+              } else {
+                this.#delete(k, "fetch");
+              }
+            } else {
+              if (options.status)
+                options.status.fetchUpdated = true;
+              this.set(k, v2, fetchOpts.options);
+            }
+          }
+          return v2;
+        };
+        const eb = (er) => {
+          if (options.status) {
+            options.status.fetchRejected = true;
+            options.status.fetchError = er;
+          }
+          return fetchFail(er);
+        };
+        const fetchFail = (er) => {
+          const { aborted } = ac.signal;
+          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
+          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
+          const noDelete = allowStale || options.noDeleteOnFetchRejection;
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            const del = !noDelete || bf2.__staleWhileFetching === void 0;
+            if (del) {
+              this.#delete(k, "fetch");
+            } else if (!allowStaleAborted) {
+              this.#valList[index] = bf2.__staleWhileFetching;
+            }
+          }
+          if (allowStale) {
+            if (options.status && bf2.__staleWhileFetching !== void 0) {
+              options.status.returnedStale = true;
+            }
+            return bf2.__staleWhileFetching;
+          } else if (bf2.__returned === bf2) {
+            throw er;
+          }
+        };
+        const pcall = (res, rej) => {
+          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
+          if (fmp && fmp instanceof Promise) {
+            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
           }
+          ac.signal.addEventListener("abort", () => {
+            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
+              res(void 0);
+              if (options.allowStaleOnFetchAbort) {
+                res = (v2) => cb(v2, true);
+              }
+            }
+          });
+        };
+        if (options.status)
+          options.status.fetchDispatched = true;
+        const p = new Promise(pcall).then(cb, eb);
+        const bf = Object.assign(p, {
+          __abortController: ac,
+          __staleWhileFetching: v,
+          __returned: void 0
+        });
+        if (index === void 0) {
+          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
+          index = this.#keyMap.get(k);
+        } else {
+          this.#valList[index] = bf;
         }
-        return message;
+        return bf;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== false)
-          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      #isBackgroundFetch(p) {
+        if (!this.#hasFetchMethod)
+          return false;
+        const b = p;
+        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
       }
-    };
-    exports2.BoolValue = new BoolValue$Type();
-    var StringValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.StringValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      async fetch(k, fetchOptions = {}) {
+        const {
+          // get options
+          allowStale = this.allowStale,
+          updateAgeOnGet = this.updateAgeOnGet,
+          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
+          // set options
+          ttl = this.ttl,
+          noDisposeOnSet = this.noDisposeOnSet,
+          size = 0,
+          sizeCalculation = this.sizeCalculation,
+          noUpdateTTL = this.noUpdateTTL,
+          // fetch exclusive options
+          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
+          ignoreFetchAbort = this.ignoreFetchAbort,
+          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
+          context: context2,
+          forceRefresh = false,
+          status,
+          signal
+        } = fetchOptions;
+        if (!this.#hasFetchMethod) {
+          if (status)
+            status.fetch = "get";
+          return this.get(k, {
+            allowStale,
+            updateAgeOnGet,
+            noDeleteOnStaleGet,
+            status
+          });
+        }
+        const options = {
+          allowStale,
+          updateAgeOnGet,
+          noDeleteOnStaleGet,
+          ttl,
+          noDisposeOnSet,
+          size,
+          sizeCalculation,
+          noUpdateTTL,
+          noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection,
+          allowStaleOnFetchAbort,
+          ignoreFetchAbort,
+          status,
+          signal
+        };
+        let index = this.#keyMap.get(k);
+        if (index === void 0) {
+          if (status)
+            status.fetch = "miss";
+          const p = this.#backgroundFetch(k, index, options, context2);
+          return p.__returned = p;
+        } else {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            const stale = allowStale && v.__staleWhileFetching !== void 0;
+            if (status) {
+              status.fetch = "inflight";
+              if (stale)
+                status.returnedStale = true;
+            }
+            return stale ? v.__staleWhileFetching : v.__returned = v;
           }
-        ]);
+          const isStale = this.#isStale(index);
+          if (!forceRefresh && !isStale) {
+            if (status)
+              status.fetch = "hit";
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            if (status)
+              this.#statusTTL(status, index);
+            return v;
+          }
+          const p = this.#backgroundFetch(k, index, options, context2);
+          const hasStale = p.__staleWhileFetching !== void 0;
+          const staleVal = hasStale && allowStale;
+          if (status) {
+            status.fetch = isStale ? "stale" : "refresh";
+            if (staleVal && isStale)
+              status.returnedStale = true;
+          }
+          return staleVal ? p.__staleWhileFetching : p.__returned = p;
+        }
       }
-      /**
-       * Encode `StringValue` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return message.value;
+      async forceFetch(k, fetchOptions = {}) {
+        const v = await this.fetch(k, fetchOptions);
+        if (v === void 0)
+          throw new Error("fetch() returned undefined");
+        return v;
+      }
+      memo(k, memoOptions = {}) {
+        const memoMethod = this.#memoMethod;
+        if (!memoMethod) {
+          throw new Error("no memoMethod provided to constructor");
+        }
+        const { context: context2, forceRefresh, ...options } = memoOptions;
+        const v = this.get(k, options);
+        if (!forceRefresh && v !== void 0)
+          return v;
+        const vv = memoMethod(k, v, {
+          options,
+          context: context2
+        });
+        this.set(k, vv, options);
+        return vv;
       }
       /**
-       * Decode `StringValue` from JSON string.
+       * Return a value from the cache. Will update the recency of the cache
+       * entry found.
+       *
+       * If the key is not found, get() will return `undefined`.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
-        return target;
+      get(k, getOptions = {}) {
+        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const value = this.#valList[index];
+          const fetching = this.#isBackgroundFetch(value);
+          if (status)
+            this.#statusTTL(status, index);
+          if (this.#isStale(index)) {
+            if (status)
+              status.get = "stale";
+            if (!fetching) {
+              if (!noDeleteOnStaleGet) {
+                this.#delete(k, "expire");
+              }
+              if (status && allowStale)
+                status.returnedStale = true;
+              return allowStale ? value : void 0;
+            } else {
+              if (status && allowStale && value.__staleWhileFetching !== void 0) {
+                status.returnedStale = true;
+              }
+              return allowStale ? value.__staleWhileFetching : void 0;
+            }
+          } else {
+            if (status)
+              status.get = "hit";
+            if (fetching) {
+              return value.__staleWhileFetching;
+            }
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            return value;
+          }
+        } else if (status) {
+          status.get = "miss";
+        }
       }
-      create(value) {
-        const message = { value: "" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      #connect(p, n) {
+        this.#prev[n] = p;
+        this.#next[p] = n;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string value */
-            1:
-              message.value = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #moveToTail(index) {
+        if (index !== this.#tail) {
+          if (index === this.#head) {
+            this.#head = this.#next[index];
+          } else {
+            this.#connect(this.#prev[index], this.#next[index]);
           }
+          this.#connect(this.#tail, index);
+          this.#tail = index;
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "")
-          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Deletes a key out of the cache.
+       *
+       * Returns true if the key was deleted, false otherwise.
+       */
+      delete(k) {
+        return this.#delete(k, "delete");
       }
-    };
-    exports2.StringValue = new StringValue$Type();
-    var BytesValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BytesValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 12
-            /*ScalarType.BYTES*/
+      #delete(k, reason) {
+        let deleted = false;
+        if (this.#size !== 0) {
+          const index = this.#keyMap.get(k);
+          if (index !== void 0) {
+            deleted = true;
+            if (this.#size === 1) {
+              this.#clear(reason);
+            } else {
+              this.#removeItemSize(index);
+              const v = this.#valList[index];
+              if (this.#isBackgroundFetch(v)) {
+                v.__abortController.abort(new Error("deleted"));
+              } else if (this.#hasDispose || this.#hasDisposeAfter) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(v, k, reason);
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([v, k, reason]);
+                }
+              }
+              this.#keyMap.delete(k);
+              this.#keyList[index] = void 0;
+              this.#valList[index] = void 0;
+              if (index === this.#tail) {
+                this.#tail = this.#prev[index];
+              } else if (index === this.#head) {
+                this.#head = this.#next[index];
+              } else {
+                const pi = this.#prev[index];
+                this.#next[pi] = this.#next[index];
+                const ni = this.#next[index];
+                this.#prev[ni] = this.#prev[index];
+              }
+              this.#size--;
+              this.#free.push(index);
+            }
           }
-        ]);
-      }
-      /**
-       * Encode `BytesValue` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
+        }
+        if (this.#hasDisposeAfter && this.#disposed?.length) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
+        }
+        return deleted;
       }
       /**
-       * Decode `BytesValue` from JSON string.
+       * Clear the cache entirely, throwing away all values.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: new Uint8Array(0) };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      clear() {
+        return this.#clear("delete");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bytes value */
-            1:
-              message.value = reader.bytes();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #clear(reason) {
+        for (const index of this.#rindexes({ allowStale: true })) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            v.__abortController.abort(new Error("deleted"));
+          } else {
+            const k = this.#keyList[index];
+            if (this.#hasDispose) {
+              this.#dispose?.(v, k, reason);
+            }
+            if (this.#hasDisposeAfter) {
+              this.#disposed?.push([v, k, reason]);
+            }
+          }
+        }
+        this.#keyMap.clear();
+        this.#valList.fill(void 0);
+        this.#keyList.fill(void 0);
+        if (this.#ttls && this.#starts) {
+          this.#ttls.fill(0);
+          this.#starts.fill(0);
+        }
+        if (this.#sizes) {
+          this.#sizes.fill(0);
+        }
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free.length = 0;
+        this.#calculatedSize = 0;
+        this.#size = 0;
+        if (this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value.length)
-          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
     };
-    exports2.BytesValue = new BytesValue$Type();
+    exports2.LRUCache = LRUCache;
   }
 });
 
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
-var require_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
+// node_modules/minipass/dist/commonjs/index.js
+var require_commonjs22 = __commonJS({
+  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
     "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
-    var runtime_rpc_1 = require_commonjs17();
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var wrappers_1 = require_wrappers();
-    var wrappers_2 = require_wrappers();
-    var timestamp_1 = require_timestamp();
-    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            3:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
+    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
+    var proc = typeof process === "object" && process ? process : {
+      stdout: null,
+      stderr: null
     };
-    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
-    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+    var node_events_1 = require("node:events");
+    var node_stream_1 = __importDefault2(require("node:stream"));
+    var node_string_decoder_1 = require("node:string_decoder");
+    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
+    exports2.isStream = isStream;
+    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
+    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
+    exports2.isReadable = isReadable;
+    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
+    exports2.isWritable = isWritable;
+    var EOF = /* @__PURE__ */ Symbol("EOF");
+    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
+    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
+    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
+    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
+    var CLOSED = /* @__PURE__ */ Symbol("closed");
+    var READ = /* @__PURE__ */ Symbol("read");
+    var FLUSH = /* @__PURE__ */ Symbol("flush");
+    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
+    var ENCODING = /* @__PURE__ */ Symbol("encoding");
+    var DECODER = /* @__PURE__ */ Symbol("decoder");
+    var FLOWING = /* @__PURE__ */ Symbol("flowing");
+    var PAUSED = /* @__PURE__ */ Symbol("paused");
+    var RESUME = /* @__PURE__ */ Symbol("resume");
+    var BUFFER = /* @__PURE__ */ Symbol("buffer");
+    var PIPES = /* @__PURE__ */ Symbol("pipes");
+    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
+    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
+    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
+    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
+    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
+    var ERROR = /* @__PURE__ */ Symbol("error");
+    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
+    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
+    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
+    var ASYNC = /* @__PURE__ */ Symbol("async");
+    var ABORT = /* @__PURE__ */ Symbol("abort");
+    var ABORTED = /* @__PURE__ */ Symbol("aborted");
+    var SIGNAL = /* @__PURE__ */ Symbol("signal");
+    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
+    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
+    var defer = (fn) => Promise.resolve().then(fn);
+    var nodefer = (fn) => fn();
+    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
+    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
+    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
+    var Pipe = class {
+      src;
+      dest;
+      opts;
+      ondrain;
+      constructor(src, dest, opts) {
+        this.src = src;
+        this.dest = dest;
+        this.opts = opts;
+        this.ondrain = () => src[RESUME]();
+        this.dest.on("drain", this.ondrain);
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      unpipe() {
+        this.dest.removeListener("drain", this.ondrain);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      // only here for the prototype
+      /* c8 ignore start */
+      proxyErrors(_er) {
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /* c8 ignore stop */
+      end() {
+        this.unpipe();
+        if (this.opts.end)
+          this.dest.end();
       }
     };
-    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
-    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            3:
-              message.size = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+    var PipeProxyErrors = class extends Pipe {
+      unpipe() {
+        this.src.removeListener("error", this.proxyErrors);
+        super.unpipe();
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      constructor(src, dest, opts) {
+        super(src, dest, opts);
+        this.proxyErrors = (er) => dest.emit("error", er);
+        src.on("error", this.proxyErrors);
       }
     };
-    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
-    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+    var isObjectModeOptions = (o) => !!o.objectMode;
+    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
+    var Minipass = class extends node_events_1.EventEmitter {
+      [FLOWING] = false;
+      [PAUSED] = false;
+      [PIPES] = [];
+      [BUFFER] = [];
+      [OBJECTMODE];
+      [ENCODING];
+      [ASYNC];
+      [DECODER];
+      [EOF] = false;
+      [EMITTED_END] = false;
+      [EMITTING_END] = false;
+      [CLOSED] = false;
+      [EMITTED_ERROR] = null;
+      [BUFFERLENGTH] = 0;
+      [DESTROYED] = false;
+      [SIGNAL];
+      [ABORTED] = false;
+      [DATALISTENERS] = 0;
+      [DISCARDED] = false;
+      /**
+       * true if the stream can be written
+       */
+      writable = true;
+      /**
+       * true if the stream can be read
+       */
+      readable = true;
+      /**
+       * If `RType` is Buffer, then options do not need to be provided.
+       * Otherwise, an options object must be provided to specify either
+       * {@link Minipass.SharedOptions.objectMode} or
+       * {@link Minipass.SharedOptions.encoding}, as appropriate.
+       */
+      constructor(...args) {
+        const options = args[0] || {};
+        super();
+        if (options.objectMode && typeof options.encoding === "string") {
+          throw new TypeError("Encoding and objectMode may not be used together");
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
-    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
-          {
-            no: 5,
-            name: "version",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            4:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            case /* int32 version */
-            5:
-              message.version = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+        if (isObjectModeOptions(options)) {
+          this[OBJECTMODE] = true;
+          this[ENCODING] = null;
+        } else if (isEncodingOptions(options)) {
+          this[ENCODING] = options.encoding;
+          this[OBJECTMODE] = false;
+        } else {
+          this[OBJECTMODE] = false;
+          this[ENCODING] = null;
+        }
+        this[ASYNC] = !!options.async;
+        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
+        if (options && options.debugExposeBuffer === true) {
+          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
+        }
+        if (options && options.debugExposePipes === true) {
+          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
+        }
+        const { signal } = options;
+        if (signal) {
+          this[SIGNAL] = signal;
+          if (signal.aborted) {
+            this[ABORT]();
+          } else {
+            signal.addEventListener("abort", () => this[ABORT]());
           }
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.version !== 0)
-          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * The amount of data stored in the buffer waiting to be read.
+       *
+       * For Buffer strings, this will be the total byte length.
+       * For string encoding streams, this will be the string character length,
+       * according to JavaScript's `string.length` logic.
+       * For objectMode streams, this is a count of the items waiting to be
+       * emitted.
+       */
+      get bufferLength() {
+        return this[BUFFERLENGTH];
       }
-    };
-    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
-    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      /**
+       * The `BufferEncoding` currently in use, or `null`
+       */
+      get encoding() {
+        return this[ENCODING];
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * @deprecated - This is a read only property
+       */
+      set encoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * @deprecated - Encoding may only be set at instantiation time
+       */
+      setEncoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * True if this is an objectMode stream
+       */
+      get objectMode() {
+        return this[OBJECTMODE];
       }
-    };
-    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
-    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 4,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+      /**
+       * @deprecated - This is a read-only property
+       */
+      set objectMode(_om) {
+        throw new Error("objectMode must be set at instantiation time");
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * true if this is an async stream
+       */
+      get ["async"]() {
+        return this[ASYNC];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            4:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.StringValue hash */
-            5:
-              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * Set to true to make this stream async.
+       *
+       * Once set, it cannot be unset, as this would potentially cause incorrect
+       * behavior.  Ie, a sync stream can be made async, but an async stream
+       * cannot be safely made sync.
+       */
+      set ["async"](a) {
+        this[ASYNC] = this[ASYNC] || !!a;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
-        if (message.hash)
-          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      // drop everything and get out of the flow completely
+      [ABORT]() {
+        this[ABORTED] = true;
+        this.emit("abort", this[SIGNAL]?.reason);
+        this.destroy(this[SIGNAL]?.reason);
       }
-    };
-    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
-    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+      /**
+       * True if the stream has been aborted.
+       */
+      get aborted() {
+        return this[ABORTED];
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * No-op setter. Stream aborted status is set via the AbortSignal provided
+       * in the constructor options.
+       */
+      set aborted(_2) {
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      write(chunk, encoding, cb) {
+        if (this[ABORTED])
+          return false;
+        if (this[EOF])
+          throw new Error("write after end");
+        if (this[DESTROYED]) {
+          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
+          return true;
+        }
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
+        }
+        if (!encoding)
+          encoding = "utf8";
+        const fn = this[ASYNC] ? defer : nodefer;
+        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
+          if (isArrayBufferView(chunk)) {
+            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+          } else if (isArrayBufferLike(chunk)) {
+            chunk = Buffer.from(chunk);
+          } else if (typeof chunk !== "string") {
+            throw new Error("Non-contiguous data written to non-objectMode stream");
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
-    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
-          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        if (this[OBJECTMODE]) {
+          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+            this[FLUSH](true);
+          if (this[FLOWING])
+            this.emit("data", chunk);
+          else
+            this[BUFFERPUSH](chunk);
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
+        }
+        if (!chunk.length) {
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
+        }
+        if (typeof chunk === "string" && // unless it is a string already ready for us to use
+        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
+          chunk = Buffer.from(chunk, encoding);
+        }
+        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
+          chunk = this[DECODER].write(chunk);
+        }
+        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+          this[FLUSH](true);
+        if (this[FLOWING])
+          this.emit("data", chunk);
+        else
+          this[BUFFERPUSH](chunk);
+        if (this[BUFFERLENGTH] !== 0)
+          this.emit("readable");
+        if (cb)
+          fn(cb);
+        return this[FLOWING];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* google.protobuf.StringValue name_filter */
-            3:
-              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
-              break;
-            case /* google.protobuf.Int64Value id_filter */
-            4:
-              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Low-level explicit read method.
+       *
+       * In objectMode, the argument is ignored, and one item is returned if
+       * available.
+       *
+       * `n` is the number of bytes (or in the case of encoding streams,
+       * characters) to consume. If `n` is not provided, then the entire buffer
+       * is returned, or `null` is returned if no data is available.
+       *
+       * If `n` is greater that the amount of data in the internal buffer,
+       * then `null` is returned.
+       */
+      read(n) {
+        if (this[DESTROYED])
+          return null;
+        this[DISCARDED] = false;
+        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
+          this[MAYBE_EMIT_END]();
+          return null;
+        }
+        if (this[OBJECTMODE])
+          n = null;
+        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
+          this[BUFFER] = [
+            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
+          ];
+        }
+        const ret = this[READ](n || null, this[BUFFER][0]);
+        this[MAYBE_EMIT_END]();
+        return ret;
+      }
+      [READ](n, chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERSHIFT]();
+        else {
+          const c = chunk;
+          if (n === c.length || n === null)
+            this[BUFFERSHIFT]();
+          else if (typeof c === "string") {
+            this[BUFFER][0] = c.slice(n);
+            chunk = c.slice(0, n);
+            this[BUFFERLENGTH] -= n;
+          } else {
+            this[BUFFER][0] = c.subarray(n);
+            chunk = c.subarray(0, n);
+            this[BUFFERLENGTH] -= n;
           }
         }
-        return message;
+        this.emit("data", chunk);
+        if (!this[BUFFER].length && !this[EOF])
+          this.emit("drain");
+        return chunk;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.nameFilter)
-          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.idFilter)
-          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      end(chunk, encoding, cb) {
+        if (typeof chunk === "function") {
+          cb = chunk;
+          chunk = void 0;
+        }
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
+        }
+        if (chunk !== void 0)
+          this.write(chunk, encoding);
+        if (cb)
+          this.once("end", cb);
+        this[EOF] = true;
+        this.writable = false;
+        if (this[FLOWING] || !this[PAUSED])
+          this[MAYBE_EMIT_END]();
+        return this;
       }
-    };
-    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
-    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse", [
-          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
-        ]);
+      // don't let the internal resume be overwritten
+      [RESUME]() {
+        if (this[DESTROYED])
+          return;
+        if (!this[DATALISTENERS] && !this[PIPES].length) {
+          this[DISCARDED] = true;
+        }
+        this[PAUSED] = false;
+        this[FLOWING] = true;
+        this.emit("resume");
+        if (this[BUFFER].length)
+          this[FLUSH]();
+        else if (this[EOF])
+          this[MAYBE_EMIT_END]();
+        else
+          this.emit("drain");
       }
-      create(value) {
-        const message = { artifacts: [] };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Resume the stream if it is currently in a paused state
+       *
+       * If called when there are no pipe destinations or `data` event listeners,
+       * this will place the stream in a "discarded" state, where all data will
+       * be thrown away. The discarded state is removed if a pipe destination or
+       * data handler is added, if pause() is called, or if any synchronous or
+       * asynchronous iteration is started.
+       */
+      resume() {
+        return this[RESUME]();
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
-            1:
-              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * Pause the stream
+       */
+      pause() {
+        this[FLOWING] = false;
+        this[PAUSED] = true;
+        this[DISCARDED] = false;
       }
-      internalBinaryWrite(message, writer, options) {
-        for (let i = 0; i < message.artifacts.length; i++)
-          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * true if the stream has been forcibly destroyed
+       */
+      get destroyed() {
+        return this[DESTROYED];
       }
-    };
-    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
-    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "database_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 4,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 5,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
-          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+      /**
+       * true if the stream is currently in a flowing state, meaning that
+       * any writes will be immediately emitted.
+       */
+      get flowing() {
+        return this[FLOWING];
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * true if the stream is currently in a paused state
+       */
+      get paused() {
+        return this[PAUSED];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* int64 database_id */
-            3:
-              message.databaseId = reader.int64().toString();
-              break;
-            case /* string name */
-            4:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            5:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.Timestamp created_at */
-            6:
-              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
-              break;
-            case /* google.protobuf.StringValue digest */
-            7:
-              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      [BUFFERPUSH](chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] += 1;
+        else
+          this[BUFFERLENGTH] += chunk.length;
+        this[BUFFER].push(chunk);
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.databaseId !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
-        if (message.name !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
-        if (message.createdAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.digest)
-          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      [BUFFERSHIFT]() {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] -= 1;
+        else
+          this[BUFFERLENGTH] -= this[BUFFER][0].length;
+        return this[BUFFER].shift();
       }
-    };
-    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
-    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      [FLUSH](noDrain = false) {
+        do {
+        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
+        if (!noDrain && !this[BUFFER].length && !this[EOF])
+          this.emit("drain");
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      [FLUSHCHUNK](chunk) {
+        this.emit("data", chunk);
+        return this[FLOWING];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      /**
+       * Pipe all data emitted by this stream into the destination provided.
+       *
+       * Triggers the flow of data.
+       */
+      pipe(dest, opts) {
+        if (this[DESTROYED])
+          return dest;
+        this[DISCARDED] = false;
+        const ended = this[EMITTED_END];
+        opts = opts || {};
+        if (dest === proc.stdout || dest === proc.stderr)
+          opts.end = false;
+        else
+          opts.end = opts.end !== false;
+        opts.proxyErrors = !!opts.proxyErrors;
+        if (ended) {
+          if (opts.end)
+            dest.end();
+        } else {
+          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
+          if (this[ASYNC])
+            defer(() => this[RESUME]());
+          else
+            this[RESUME]();
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return dest;
       }
-    };
-    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
-    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
-          {
-            no: 1,
-            name: "signed_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      /**
+       * Fully unhook a piped destination stream.
+       *
+       * If the destination stream was the only consumer of this stream (ie,
+       * there are no other piped destinations or `'data'` event listeners)
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      unpipe(dest) {
+        const p = this[PIPES].find((p2) => p2.dest === dest);
+        if (p) {
+          if (this[PIPES].length === 1) {
+            if (this[FLOWING] && this[DATALISTENERS] === 0) {
+              this[FLOWING] = false;
+            }
+            this[PIPES] = [];
+          } else
+            this[PIPES].splice(this[PIPES].indexOf(p), 1);
+          p.unpipe();
+        }
       }
-      create(value) {
-        const message = { signedUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Alias for {@link Minipass#on}
+       */
+      addListener(ev, handler2) {
+        return this.on(ev, handler2);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string signed_url */
-            1:
-              message.signedUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Mostly identical to `EventEmitter.on`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * - Adding a 'data' event handler will trigger the flow of data
+       *
+       * - Adding a 'readable' event handler when there is data waiting to be read
+       *   will cause 'readable' to be emitted immediately.
+       *
+       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
+       *   already passed will cause the event to be emitted immediately and all
+       *   handlers removed.
+       *
+       * - Adding an 'error' event handler after an error has been emitted will
+       *   cause the event to be re-emitted immediately with the error previously
+       *   raised.
+       */
+      on(ev, handler2) {
+        const ret = super.on(ev, handler2);
+        if (ev === "data") {
+          this[DISCARDED] = false;
+          this[DATALISTENERS]++;
+          if (!this[PIPES].length && !this[FLOWING]) {
+            this[RESUME]();
           }
+        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
+          super.emit("readable");
+        } else if (isEndish(ev) && this[EMITTED_END]) {
+          super.emit(ev);
+          this.removeAllListeners(ev);
+        } else if (ev === "error" && this[EMITTED_ERROR]) {
+          const h = handler2;
+          if (this[ASYNC])
+            defer(() => h.call(this, this[EMITTED_ERROR]));
+          else
+            h.call(this, this[EMITTED_ERROR]);
         }
-        return message;
+        return ret;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.signedUrl !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Alias for {@link Minipass#off}
+       */
+      removeListener(ev, handler2) {
+        return this.off(ev, handler2);
       }
-    };
-    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
-    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      /**
+       * Mostly identical to `EventEmitter.off`
+       *
+       * If a 'data' event handler is removed, and it was the last consumer
+       * (ie, there are no pipe destinations or other 'data' event listeners),
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      off(ev, handler2) {
+        const ret = super.off(ev, handler2);
+        if (ev === "data") {
+          this[DATALISTENERS] = this.listeners("data").length;
+          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
           }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        }
+        return ret;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Mostly identical to `EventEmitter.removeAllListeners`
+       *
+       * If all 'data' event handlers are removed, and they were the last consumer
+       * (ie, there are no pipe destinations), then the flow of data will stop
+       * until there is another consumer or {@link Minipass#resume} is explicitly
+       * called.
+       */
+      removeAllListeners(ev) {
+        const ret = super.removeAllListeners(ev);
+        if (ev === "data" || ev === void 0) {
+          this[DATALISTENERS] = 0;
+          if (!this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return ret;
       }
-    };
-    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
-    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+      /**
+       * true if the 'end' event has been emitted
+       */
+      get emittedEnd() {
+        return this[EMITTED_END];
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      [MAYBE_EMIT_END]() {
+        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
+          this[EMITTING_END] = true;
+          this.emit("end");
+          this.emit("prefinish");
+          this.emit("finish");
+          if (this[CLOSED])
+            this.emit("close");
+          this[EMITTING_END] = false;
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      /**
+       * Mostly identical to `EventEmitter.emit`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * If the stream has been destroyed, and the event is something other
+       * than 'close' or 'error', then `false` is returned and no handlers
+       * are called.
+       *
+       * If the event is 'end', and has already been emitted, then the event
+       * is ignored. If the stream is in a paused or non-flowing state, then
+       * the event will be deferred until data flow resumes. If the stream is
+       * async, then handlers will be called on the next tick rather than
+       * immediately.
+       *
+       * If the event is 'close', and 'end' has not yet been emitted, then
+       * the event will be deferred until after 'end' is emitted.
+       *
+       * If the event is 'error', and an AbortSignal was provided for the stream,
+       * and there are no listeners, then the event is ignored, matching the
+       * behavior of node core streams in the presense of an AbortSignal.
+       *
+       * If the event is 'finish' or 'prefinish', then all listeners will be
+       * removed after emitting the event, to prevent double-firing.
+       */
+      emit(ev, ...args) {
+        const data = args[0];
+        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
+          return false;
+        } else if (ev === "data") {
+          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
+        } else if (ev === "end") {
+          return this[EMITEND]();
+        } else if (ev === "close") {
+          this[CLOSED] = true;
+          if (!this[EMITTED_END] && !this[DESTROYED])
+            return false;
+          const ret2 = super.emit("close");
+          this.removeAllListeners("close");
+          return ret2;
+        } else if (ev === "error") {
+          this[EMITTED_ERROR] = data;
+          super.emit(ERROR, data);
+          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "resume") {
+          const ret2 = super.emit("resume");
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "finish" || ev === "prefinish") {
+          const ret2 = super.emit(ev);
+          this.removeAllListeners(ev);
+          return ret2;
         }
-        return message;
+        const ret = super.emit(ev, ...args);
+        this[MAYBE_EMIT_END]();
+        return ret;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      [EMITDATA](data) {
+        for (const p of this[PIPES]) {
+          if (p.dest.write(data) === false)
+            this.pause();
+        }
+        const ret = this[DISCARDED] ? false : super.emit("data", data);
+        this[MAYBE_EMIT_END]();
+        return ret;
       }
-    };
-    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
-    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
-      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
-      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
-      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
-      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
-      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
-      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
-      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
-    ]);
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
-var require_artifact_twirp_client = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
-    var artifact_1 = require_artifact();
-    var ArtifactServiceClientJSON = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
+      [EMITEND]() {
+        if (this[EMITTED_END])
+          return false;
+        this[EMITTED_END] = true;
+        this.readable = false;
+        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
       }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      [EMITEND2]() {
+        if (this[DECODER]) {
+          const data = this[DECODER].end();
+          if (data) {
+            for (const p of this[PIPES]) {
+              p.dest.write(data);
+            }
+            if (!this[DISCARDED])
+              super.emit("data", data);
+          }
+        }
+        for (const p of this[PIPES]) {
+          p.end();
+        }
+        const ret = super.emit("end");
+        this.removeAllListeners("end");
+        return ret;
       }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+      /**
+       * Return a Promise that resolves to an array of all emitted data once
+       * the stream ends.
+       */
+      async collect() {
+        const buf = Object.assign([], {
+          dataLength: 0
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+        if (!this[OBJECTMODE])
+          buf.dataLength = 0;
+        const p = this.promise();
+        this.on("data", (c) => {
+          buf.push(c);
+          if (!this[OBJECTMODE])
+            buf.dataLength += c.length;
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
+        await p;
+        return buf;
       }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      /**
+       * Return a Promise that resolves to the concatenation of all emitted data
+       * once the stream ends.
+       *
+       * Not allowed on objectMode streams.
+       */
+      async concat() {
+        if (this[OBJECTMODE]) {
+          throw new Error("cannot concat in objectMode");
+        }
+        const buf = await this.collect();
+        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
       }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+      /**
+       * Return a void Promise that resolves once the stream ends.
+       */
+      async promise() {
+        return new Promise((resolve5, reject) => {
+          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
+          this.on("error", (er) => reject(er));
+          this.on("end", () => resolve5());
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-    };
-    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
-    var ArtifactServiceClientProtobuf = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
-      }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
-      }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
-      }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
       }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
+      /**
+       * Asynchronous `for await of` iteration.
+       *
+       * This will continue emitting all chunks until the stream terminates.
+       */
+      [Symbol.asyncIterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = async () => {
+          this.pause();
+          stopped = true;
+          return { value: void 0, done: true };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const res = this.read();
+          if (res !== null)
+            return Promise.resolve({ done: false, value: res });
+          if (this[EOF])
+            return stop();
+          let resolve5;
+          let reject;
+          const onerr = (er) => {
+            this.off("data", ondata);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            reject(er);
+          };
+          const ondata = (value) => {
+            this.off("error", onerr);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            this.pause();
+            resolve5({ value, done: !!this[EOF] });
+          };
+          const onend = () => {
+            this.off("error", onerr);
+            this.off("data", ondata);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            resolve5({ done: true, value: void 0 });
+          };
+          const ondestroy = () => onerr(new Error("stream destroyed"));
+          return new Promise((res2, rej) => {
+            reject = rej;
+            resolve5 = res2;
+            this.once(DESTROYED, ondestroy);
+            this.once("error", onerr);
+            this.once("end", onend);
+            this.once("data", ondata);
+          });
+        };
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.asyncIterator]() {
+            return this;
+          }
+        };
       }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
+      /**
+       * Synchronous `for of` iteration.
+       *
+       * The iteration will terminate when the internal buffer runs out, even
+       * if the stream has not yet terminated.
+       */
+      [Symbol.iterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = () => {
+          this.pause();
+          this.off(ERROR, stop);
+          this.off(DESTROYED, stop);
+          this.off("end", stop);
+          stopped = true;
+          return { done: true, value: void 0 };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const value = this.read();
+          return value === null ? stop() : { done: false, value };
+        };
+        this.once("end", stop);
+        this.once(ERROR, stop);
+        this.once(DESTROYED, stop);
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.iterator]() {
+            return this;
+          }
+        };
       }
-    };
-    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/index.js
-var require_generated = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      /**
+       * Destroy a stream, preventing it from being used for any further purpose.
+       *
+       * If the stream has a `close()` method, then it will be called on
+       * destruction.
+       *
+       * After destruction, any attempt to write data, read data, or emit most
+       * events will be ignored.
+       *
+       * If an error argument is provided, then it will be emitted in an
+       * 'error' event.
+       */
+      destroy(er) {
+        if (this[DESTROYED]) {
+          if (er)
+            this.emit("error", er);
+          else
+            this.emit(DESTROYED);
+          return this;
+        }
+        this[DESTROYED] = true;
+        this[DISCARDED] = true;
+        this[BUFFER].length = 0;
+        this[BUFFERLENGTH] = 0;
+        const wc = this;
+        if (typeof wc.close === "function" && !this[CLOSED])
+          wc.close();
+        if (er)
+          this.emit("error", er);
+        else
+          this.emit(DESTROYED);
+        return this;
+      }
+      /**
+       * Alias for {@link isStream}
+       *
+       * Former export location, maintained for backwards compatibility.
+       *
+       * @deprecated
+       */
+      static get isStream() {
+        return exports2.isStream;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
-      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    __exportStar2(require_timestamp(), exports2);
-    __exportStar2(require_wrappers(), exports2);
-    __exportStar2(require_artifact(), exports2);
-    __exportStar2(require_artifact_twirp_client(), exports2);
+    exports2.Minipass = Minipass;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/upload/retention.js
-var require_retention = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
+// node_modules/path-scurry/dist/commonjs/index.js
+var require_commonjs23 = __commonJS({
+  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
       if (k2 === void 0) k2 = k;
@@ -100804,26123 +120355,24825 @@ var require_retention = __commonJS({
       return result;
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getExpiration = void 0;
-    var generated_1 = require_generated();
-    var core14 = __importStar2(require_core());
-    function getExpiration(retentionDays) {
-      if (!retentionDays) {
-        return void 0;
+    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
+    var lru_cache_1 = require_commonjs21();
+    var node_path_1 = require("node:path");
+    var node_url_1 = require("node:url");
+    var fs_1 = require("fs");
+    var actualFS = __importStar2(require("node:fs"));
+    var realpathSync = fs_1.realpathSync.native;
+    var promises_1 = require("node:fs/promises");
+    var minipass_1 = require_commonjs22();
+    var defaultFS = {
+      lstatSync: fs_1.lstatSync,
+      readdir: fs_1.readdir,
+      readdirSync: fs_1.readdirSync,
+      readlinkSync: fs_1.readlinkSync,
+      realpathSync,
+      promises: {
+        lstat: promises_1.lstat,
+        readdir: promises_1.readdir,
+        readlink: promises_1.readlink,
+        realpath: promises_1.realpath
       }
-      const maxRetentionDays = getRetentionDays();
-      if (maxRetentionDays && maxRetentionDays < retentionDays) {
-        core14.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
-        retentionDays = maxRetentionDays;
+    };
+    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
+      ...defaultFS,
+      ...fsOption,
+      promises: {
+        ...defaultFS.promises,
+        ...fsOption.promises || {}
       }
-      const expirationDate = /* @__PURE__ */ new Date();
-      expirationDate.setDate(expirationDate.getDate() + retentionDays);
-      return generated_1.Timestamp.fromDate(expirationDate);
-    }
-    exports2.getExpiration = getExpiration;
-    function getRetentionDays() {
-      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
-      if (!retentionDays) {
-        return void 0;
+    };
+    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
+    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+    var eitherSep = /[\\\/]/;
+    var UNKNOWN = 0;
+    var IFIFO = 1;
+    var IFCHR = 2;
+    var IFDIR = 4;
+    var IFBLK = 6;
+    var IFREG = 8;
+    var IFLNK = 10;
+    var IFSOCK = 12;
+    var IFMT = 15;
+    var IFMT_UNKNOWN = ~IFMT;
+    var READDIR_CALLED = 16;
+    var LSTAT_CALLED = 32;
+    var ENOTDIR = 64;
+    var ENOENT = 128;
+    var ENOREADLINK = 256;
+    var ENOREALPATH = 512;
+    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
+    var TYPEMASK = 1023;
+    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
+    var normalizeCache = /* @__PURE__ */ new Map();
+    var normalize2 = (s) => {
+      const c = normalizeCache.get(s);
+      if (c)
+        return c;
+      const n = s.normalize("NFKD");
+      normalizeCache.set(s, n);
+      return n;
+    };
+    var normalizeNocaseCache = /* @__PURE__ */ new Map();
+    var normalizeNocase = (s) => {
+      const c = normalizeNocaseCache.get(s);
+      if (c)
+        return c;
+      const n = normalize2(s.toLowerCase());
+      normalizeNocaseCache.set(s, n);
+      return n;
+    };
+    var ResolveCache = class extends lru_cache_1.LRUCache {
+      constructor() {
+        super({ max: 256 });
       }
-      const days = parseInt(retentionDays);
-      if (isNaN(days)) {
-        return void 0;
+    };
+    exports2.ResolveCache = ResolveCache;
+    var ChildrenCache = class extends lru_cache_1.LRUCache {
+      constructor(maxSize = 16 * 1024) {
+        super({
+          maxSize,
+          // parent + children
+          sizeCalculation: (a) => a.length + 1
+        });
       }
-      return days;
-    }
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
-var require_path_and_artifact_name_validation = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.validateFilePath = exports2.validateArtifactName = void 0;
-    var core_1 = require_core();
-    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
-      ['"', ' Double quote "'],
-      [":", " Colon :"],
-      ["<", " Less than <"],
-      [">", " Greater than >"],
-      ["|", " Vertical bar |"],
-      ["*", " Asterisk *"],
-      ["?", " Question mark ?"],
-      ["\r", " Carriage return \\r"],
-      ["\n", " Line feed \\n"]
-    ]);
-    var invalidArtifactNameCharacters = new Map([
-      ...invalidArtifactFilePathCharacters,
-      ["\\", " Backslash \\"],
-      ["/", " Forward slash /"]
-    ]);
-    function validateArtifactName(name) {
-      if (!name) {
-        throw new Error(`Provided artifact name input during validation is empty`);
+    };
+    exports2.ChildrenCache = ChildrenCache;
+    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
+    var PathBase = class {
+      /**
+       * the basename of this path
+       *
+       * **Important**: *always* test the path name against any test string
+       * usingthe {@link isNamed} method, and not by directly comparing this
+       * string. Otherwise, unicode path strings that the system sees as identical
+       * will not be properly treated as the same path, leading to incorrect
+       * behavior and possible security issues.
+       */
+      name;
+      /**
+       * the Path entry corresponding to the path root.
+       *
+       * @internal
+       */
+      root;
+      /**
+       * All roots found within the current PathScurry family
+       *
+       * @internal
+       */
+      roots;
+      /**
+       * a reference to the parent path, or undefined in the case of root entries
+       *
+       * @internal
+       */
+      parent;
+      /**
+       * boolean indicating whether paths are compared case-insensitively
+       * @internal
+       */
+      nocase;
+      /**
+       * boolean indicating that this path is the current working directory
+       * of the PathScurry collection that contains it.
+       */
+      isCWD = false;
+      // potential default fs override
+      #fs;
+      // Stats fields
+      #dev;
+      get dev() {
+        return this.#dev;
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
-        if (name.includes(invalidCharacterKey)) {
-          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
-          
-These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
+      #mode;
+      get mode() {
+        return this.#mode;
+      }
+      #nlink;
+      get nlink() {
+        return this.#nlink;
+      }
+      #uid;
+      get uid() {
+        return this.#uid;
+      }
+      #gid;
+      get gid() {
+        return this.#gid;
+      }
+      #rdev;
+      get rdev() {
+        return this.#rdev;
+      }
+      #blksize;
+      get blksize() {
+        return this.#blksize;
+      }
+      #ino;
+      get ino() {
+        return this.#ino;
+      }
+      #size;
+      get size() {
+        return this.#size;
+      }
+      #blocks;
+      get blocks() {
+        return this.#blocks;
+      }
+      #atimeMs;
+      get atimeMs() {
+        return this.#atimeMs;
+      }
+      #mtimeMs;
+      get mtimeMs() {
+        return this.#mtimeMs;
+      }
+      #ctimeMs;
+      get ctimeMs() {
+        return this.#ctimeMs;
+      }
+      #birthtimeMs;
+      get birthtimeMs() {
+        return this.#birthtimeMs;
+      }
+      #atime;
+      get atime() {
+        return this.#atime;
+      }
+      #mtime;
+      get mtime() {
+        return this.#mtime;
+      }
+      #ctime;
+      get ctime() {
+        return this.#ctime;
+      }
+      #birthtime;
+      get birthtime() {
+        return this.#birthtime;
+      }
+      #matchName;
+      #depth;
+      #fullpath;
+      #fullpathPosix;
+      #relative;
+      #relativePosix;
+      #type;
+      #children;
+      #linkTarget;
+      #realpath;
+      /**
+       * This property is for compatibility with the Dirent class as of
+       * Node v20, where Dirent['parentPath'] refers to the path of the
+       * directory that was passed to readdir. For root entries, it's the path
+       * to the entry itself.
+       */
+      get parentPath() {
+        return (this.parent || this).fullpath();
+      }
+      /**
+       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
+       * this property refers to the *parent* path, not the path object itself.
+       *
+       * @deprecated
+       */
+      get path() {
+        return this.parentPath;
+      }
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        this.name = name;
+        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
+        this.#type = type2 & TYPEMASK;
+        this.nocase = nocase;
+        this.roots = roots;
+        this.root = root || this;
+        this.#children = children;
+        this.#fullpath = opts.fullpath;
+        this.#relative = opts.relative;
+        this.#relativePosix = opts.relativePosix;
+        this.parent = opts.parent;
+        if (this.parent) {
+          this.#fs = this.parent.#fs;
+        } else {
+          this.#fs = fsFromOption(opts.fs);
         }
       }
-      (0, core_1.info)(`Artifact name is valid!`);
-    }
-    exports2.validateArtifactName = validateArtifactName;
-    function validateFilePath(path7) {
-      if (!path7) {
-        throw new Error(`Provided file path input during validation is empty`);
+      /**
+       * Returns the depth of the Path object from its root.
+       *
+       * For example, a path at `/foo/bar` would have a depth of 2.
+       */
+      depth() {
+        if (this.#depth !== void 0)
+          return this.#depth;
+        if (!this.parent)
+          return this.#depth = 0;
+        return this.#depth = this.parent.depth() + 1;
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
-        if (path7.includes(invalidCharacterKey)) {
-          throw new Error(`The path for one of the files in artifact is not valid: ${path7}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
-          
-The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
-          `);
+      /**
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
+      }
+      /**
+       * Get the Path object referenced by the string path, resolved from this Path
+       */
+      resolve(path7) {
+        if (!path7) {
+          return this;
         }
+        const rootPath = this.getRootString(path7);
+        const dir = path7.substring(rootPath.length);
+        const dirParts = dir.split(this.splitSep);
+        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
+        return result;
       }
-    }
-    exports2.validateFilePath = validateFilePath;
-  }
-});
-
-// node_modules/@actions/artifact/package.json
-var require_package3 = __commonJS({
-  "node_modules/@actions/artifact/package.json"(exports2, module2) {
-    module2.exports = {
-      name: "@actions/artifact",
-      version: "5.0.3",
-      preview: true,
-      description: "Actions artifact lib",
-      keywords: [
-        "github",
-        "actions",
-        "artifact"
-      ],
-      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
-      license: "MIT",
-      main: "lib/artifact.js",
-      types: "lib/artifact.d.ts",
-      directories: {
-        lib: "lib",
-        test: "__tests__"
-      },
-      files: [
-        "lib",
-        "!.DS_Store"
-      ],
-      publishConfig: {
-        access: "public"
-      },
-      repository: {
-        type: "git",
-        url: "git+https://github.com/actions/toolkit.git",
-        directory: "packages/artifact"
-      },
-      scripts: {
-        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
-        test: "cd ../../ && npm run test ./packages/artifact",
-        bootstrap: "cd ../../ && npm run bootstrap",
-        "tsc-run": "tsc",
-        tsc: "npm run bootstrap && npm run tsc-run",
-        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
-      },
-      bugs: {
-        url: "https://github.com/actions/toolkit/issues"
-      },
-      dependencies: {
-        "@actions/core": "^2.0.0",
-        "@actions/github": "^6.0.1",
-        "@actions/http-client": "^3.0.2",
-        "@azure/storage-blob": "^12.29.1",
-        "@octokit/core": "^5.2.1",
-        "@octokit/plugin-request-log": "^1.0.4",
-        "@octokit/plugin-retry": "^3.0.9",
-        "@octokit/request": "^8.4.1",
-        "@octokit/request-error": "^5.1.1",
-        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
-        archiver: "^7.0.1",
-        "jwt-decode": "^3.1.2",
-        "unzip-stream": "^0.3.1"
-      },
-      devDependencies: {
-        "@types/archiver": "^5.3.2",
-        "@types/unzip-stream": "^0.3.4",
-        typedoc: "^0.28.13",
-        "typedoc-plugin-markdown": "^3.17.1",
-        typescript: "^5.2.2"
-      },
-      overrides: {
-        "uri-js": "npm:uri-js-replace@^1.0.1",
-        "node-fetch": "^3.3.2"
+      #resolveParts(dirParts) {
+        let p = this;
+        for (const part of dirParts) {
+          p = p.child(part);
+        }
+        return p;
       }
-    };
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
-var require_user_agent2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentString = void 0;
-    var packageJson = require_package3();
-    function getUserAgentString() {
-      return `@actions/artifact-${packageJson.version}`;
-    }
-    exports2.getUserAgentString = getUserAgentString;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/errors.js
-var require_errors4 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
-    var FilesNotFoundError = class extends Error {
-      constructor(files = []) {
-        let message = "No files were found to upload";
-        if (files.length > 0) {
-          message += `: ${files.join(", ")}`;
+      /**
+       * Returns the cached children Path objects, if still available.  If they
+       * have fallen out of the cache, then returns an empty array, and resets the
+       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
+       * lookup.
+       *
+       * @internal
+       */
+      children() {
+        const cached = this.#children.get(this);
+        if (cached) {
+          return cached;
         }
-        super(message);
-        this.files = files;
-        this.name = "FilesNotFoundError";
+        const children = Object.assign([], { provisional: 0 });
+        this.#children.set(this, children);
+        this.#type &= ~READDIR_CALLED;
+        return children;
       }
-    };
-    exports2.FilesNotFoundError = FilesNotFoundError;
-    var InvalidResponseError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "InvalidResponseError";
+      /**
+       * Resolves a path portion and returns or creates the child Path.
+       *
+       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
+       * `'..'`.
+       *
+       * This should not be called directly.  If `pathPart` contains any path
+       * separators, it will lead to unsafe undefined behavior.
+       *
+       * Use `Path.resolve()` instead.
+       *
+       * @internal
+       */
+      child(pathPart, opts) {
+        if (pathPart === "" || pathPart === ".") {
+          return this;
+        }
+        if (pathPart === "..") {
+          return this.parent || this;
+        }
+        const children = this.children();
+        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
+        for (const p of children) {
+          if (p.#matchName === name) {
+            return p;
+          }
+        }
+        const s = this.parent ? this.sep : "";
+        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
+        const pchild = this.newChild(pathPart, UNKNOWN, {
+          ...opts,
+          parent: this,
+          fullpath
+        });
+        if (!this.canReaddir()) {
+          pchild.#type |= ENOENT;
+        }
+        children.push(pchild);
+        return pchild;
       }
-    };
-    exports2.InvalidResponseError = InvalidResponseError;
-    var ArtifactNotFoundError = class extends Error {
-      constructor(message = "Artifact not found") {
-        super(message);
-        this.name = "ArtifactNotFoundError";
+      /**
+       * The relative path from the cwd. If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpath()
+       */
+      relative() {
+        if (this.isCWD)
+          return "";
+        if (this.#relative !== void 0) {
+          return this.#relative;
+        }
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relative = this.name;
+        }
+        const pv = p.relative();
+        return pv + (!pv || !p.parent ? "" : this.sep) + name;
       }
-    };
-    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
-    var GHESNotSupportedError = class extends Error {
-      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
-        super(message);
-        this.name = "GHESNotSupportedError";
+      /**
+       * The relative path from the cwd, using / as the path separator.
+       * If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpathPosix()
+       * On posix systems, this is identical to relative().
+       */
+      relativePosix() {
+        if (this.sep === "/")
+          return this.relative();
+        if (this.isCWD)
+          return "";
+        if (this.#relativePosix !== void 0)
+          return this.#relativePosix;
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relativePosix = this.fullpathPosix();
+        }
+        const pv = p.relativePosix();
+        return pv + (!pv || !p.parent ? "" : "/") + name;
       }
-    };
-    exports2.GHESNotSupportedError = GHESNotSupportedError;
-    var NetworkError = class extends Error {
-      constructor(code) {
-        const message = `Unable to make request: ${code}
-If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
-        super(message);
-        this.code = code;
-        this.name = "NetworkError";
+      /**
+       * The fully resolved path string for this Path entry
+       */
+      fullpath() {
+        if (this.#fullpath !== void 0) {
+          return this.#fullpath;
+        }
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#fullpath = this.name;
+        }
+        const pv = p.fullpath();
+        const fp = pv + (!p.parent ? "" : this.sep) + name;
+        return this.#fullpath = fp;
       }
-    };
-    exports2.NetworkError = NetworkError;
-    NetworkError.isNetworkErrorCode = (code) => {
-      if (!code)
-        return false;
-      return [
-        "ECONNRESET",
-        "ENOTFOUND",
-        "ETIMEDOUT",
-        "ECONNREFUSED",
-        "EHOSTUNREACH"
-      ].includes(code);
-    };
-    var UsageError = class extends Error {
-      constructor() {
-        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
-More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
-        super(message);
-        this.name = "UsageError";
+      /**
+       * On platforms other than windows, this is identical to fullpath.
+       *
+       * On windows, this is overridden to return the forward-slash form of the
+       * full UNC path.
+       */
+      fullpathPosix() {
+        if (this.#fullpathPosix !== void 0)
+          return this.#fullpathPosix;
+        if (this.sep === "/")
+          return this.#fullpathPosix = this.fullpath();
+        if (!this.parent) {
+          const p2 = this.fullpath().replace(/\\/g, "/");
+          if (/^[a-z]:\//i.test(p2)) {
+            return this.#fullpathPosix = `//?/${p2}`;
+          } else {
+            return this.#fullpathPosix = p2;
+          }
+        }
+        const p = this.parent;
+        const pfpp = p.fullpathPosix();
+        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
+        return this.#fullpathPosix = fpp;
       }
-    };
-    exports2.UsageError = UsageError;
-    UsageError.isUsageErrorMessage = (msg) => {
-      if (!msg)
-        return false;
-      return msg.includes("insufficient usage");
-    };
-  }
-});
-
-// node_modules/jwt-decode/build/jwt-decode.cjs.js
-var require_jwt_decode_cjs = __commonJS({
-  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
-    "use strict";
-    function e(e2) {
-      this.message = e2;
-    }
-    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
-    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
-      var t2 = String(r2).replace(/=+$/, "");
-      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
-      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
-      return c;
-    };
-    function t(e2) {
-      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
-      switch (t2.length % 4) {
-        case 0:
-          break;
-        case 2:
-          t2 += "==";
-          break;
-        case 3:
-          t2 += "=";
-          break;
-        default:
-          throw "Illegal base64url string!";
+      /**
+       * Is the Path of an unknown type?
+       *
+       * Note that we might know *something* about it if there has been a previous
+       * filesystem operation, for example that it does not exist, or is not a
+       * link, or whether it has child entries.
+       */
+      isUnknown() {
+        return (this.#type & IFMT) === UNKNOWN;
       }
-      try {
-        return (function(e3) {
-          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
-            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
-            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
-          })));
-        })(t2);
-      } catch (e3) {
-        return r(t2);
+      isType(type2) {
+        return this[`is${type2}`]();
       }
-    }
-    function n(e2) {
-      this.message = e2;
-    }
-    function o(e2, r2) {
-      if ("string" != typeof e2) throw new n("Invalid token specified");
-      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
-      try {
-        return JSON.parse(t(e2.split(".")[o2]));
-      } catch (e3) {
-        throw new n("Invalid token specified: " + e3.message);
+      getType() {
+        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
+          /* c8 ignore start */
+          this.isSocket() ? "Socket" : "Unknown"
+        );
       }
-    }
-    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
-    var a = o;
-    a.default = o, a.InvalidTokenError = n, module2.exports = a;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/util.js
-var require_util18 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      /**
+       * Is the Path a regular file?
+       */
+      isFile() {
+        return (this.#type & IFMT) === IFREG;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * Is the Path a directory?
+       */
+      isDirectory() {
+        return (this.#type & IFMT) === IFDIR;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
-    var core14 = __importStar2(require_core());
-    var config_1 = require_config2();
-    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
-    var core_1 = require_core();
-    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
-    function getBackendIdsFromToken() {
-      const token = (0, config_1.getRuntimeToken)();
-      const decoded = (0, jwt_decode_1.default)(token);
-      if (!decoded.scp) {
-        throw InvalidJwtError;
+      /**
+       * Is the path a character device?
+       */
+      isCharacterDevice() {
+        return (this.#type & IFMT) === IFCHR;
       }
-      const scpParts = decoded.scp.split(" ");
-      if (scpParts.length === 0) {
-        throw InvalidJwtError;
+      /**
+       * Is the path a block device?
+       */
+      isBlockDevice() {
+        return (this.#type & IFMT) === IFBLK;
       }
-      for (const scopes of scpParts) {
-        const scopeParts = scopes.split(":");
-        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
-          continue;
+      /**
+       * Is the path a FIFO pipe?
+       */
+      isFIFO() {
+        return (this.#type & IFMT) === IFIFO;
+      }
+      /**
+       * Is the path a socket?
+       */
+      isSocket() {
+        return (this.#type & IFMT) === IFSOCK;
+      }
+      /**
+       * Is the path a symbolic link?
+       */
+      isSymbolicLink() {
+        return (this.#type & IFLNK) === IFLNK;
+      }
+      /**
+       * Return the entry if it has been subject of a successful lstat, or
+       * undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* simply
+       * mean that we haven't called lstat on it.
+       */
+      lstatCached() {
+        return this.#type & LSTAT_CALLED ? this : void 0;
+      }
+      /**
+       * Return the cached link target if the entry has been the subject of a
+       * successful readlink, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readlink() has been called at some point.
+       */
+      readlinkCached() {
+        return this.#linkTarget;
+      }
+      /**
+       * Returns the cached realpath target if the entry has been the subject
+       * of a successful realpath, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * realpath() has been called at some point.
+       */
+      realpathCached() {
+        return this.#realpath;
+      }
+      /**
+       * Returns the cached child Path entries array if the entry has been the
+       * subject of a successful readdir(), or [] otherwise.
+       *
+       * Does not read the filesystem, so an empty array *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readdir() has been called recently enough to still be valid.
+       */
+      readdirCached() {
+        const children = this.children();
+        return children.slice(0, children.provisional);
+      }
+      /**
+       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
+       * any indication that readlink will definitely fail.
+       *
+       * Returns false if the path is known to not be a symlink, if a previous
+       * readlink failed, or if the entry does not exist.
+       */
+      canReadlink() {
+        if (this.#linkTarget)
+          return true;
+        if (!this.parent)
+          return false;
+        const ifmt = this.#type & IFMT;
+        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      }
+      /**
+       * Return true if readdir has previously been successfully called on this
+       * path, indicating that cachedReaddir() is likely valid.
+       */
+      calledReaddir() {
+        return !!(this.#type & READDIR_CALLED);
+      }
+      /**
+       * Returns true if the path is known to not exist. That is, a previous lstat
+       * or readdir failed to verify its existence when that would have been
+       * expected, or a parent entry was marked either enoent or enotdir.
+       */
+      isENOENT() {
+        return !!(this.#type & ENOENT);
+      }
+      /**
+       * Return true if the path is a match for the given path name.  This handles
+       * case sensitivity and unicode normalization.
+       *
+       * Note: even on case-sensitive systems, it is **not** safe to test the
+       * equality of the `.name` property to determine whether a given pathname
+       * matches, due to unicode normalization mismatches.
+       *
+       * Always use this method instead of testing the `path.name` property
+       * directly.
+       */
+      isNamed(n) {
+        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+      }
+      /**
+       * Return the Path object corresponding to the target of a symbolic link.
+       *
+       * If the Path is not a symbolic link, or if the readlink call fails for any
+       * reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       */
+      async readlink() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
         }
-        if (scopeParts.length !== 3) {
-          throw InvalidJwtError;
+        if (!this.canReadlink()) {
+          return void 0;
+        }
+        if (!this.parent) {
+          return void 0;
+        }
+        try {
+          const read = await this.#fs.promises.readlink(this.fullpath());
+          const linkTarget = (await this.parent.realpath())?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
+          }
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
+        }
+      }
+      /**
+       * Synchronous {@link PathBase.readlink}
+       */
+      readlinkSync() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
+        }
+        if (!this.canReadlink()) {
+          return void 0;
+        }
+        if (!this.parent) {
+          return void 0;
+        }
+        try {
+          const read = this.#fs.readlinkSync(this.fullpath());
+          const linkTarget = this.parent.realpathSync()?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
+          }
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
+        }
+      }
+      #readdirSuccess(children) {
+        this.#type |= READDIR_CALLED;
+        for (let p = children.provisional; p < children.length; p++) {
+          const c = children[p];
+          if (c)
+            c.#markENOENT();
+        }
+      }
+      #markENOENT() {
+        if (this.#type & ENOENT)
+          return;
+        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
+        this.#markChildrenENOENT();
+      }
+      #markChildrenENOENT() {
+        const children = this.children();
+        children.provisional = 0;
+        for (const p of children) {
+          p.#markENOENT();
+        }
+      }
+      #markENOREALPATH() {
+        this.#type |= ENOREALPATH;
+        this.#markENOTDIR();
+      }
+      // save the information when we know the entry is not a dir
+      #markENOTDIR() {
+        if (this.#type & ENOTDIR)
+          return;
+        let t = this.#type;
+        if ((t & IFMT) === IFDIR)
+          t &= IFMT_UNKNOWN;
+        this.#type = t | ENOTDIR;
+        this.#markChildrenENOENT();
+      }
+      #readdirFail(code = "") {
+        if (code === "ENOTDIR" || code === "EPERM") {
+          this.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
+        } else {
+          this.children().provisional = 0;
+        }
+      }
+      #lstatFail(code = "") {
+        if (code === "ENOTDIR") {
+          const p = this.parent;
+          p.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
         }
-        const ids = {
-          workflowRunBackendId: scopeParts[1],
-          workflowJobRunBackendId: scopeParts[2]
-        };
-        core14.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
-        core14.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
-        return ids;
       }
-      throw InvalidJwtError;
-    }
-    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
-    function maskSigUrl(url) {
-      if (!url)
-        return;
-      try {
-        const parsedUrl = new URL(url);
-        const signature = parsedUrl.searchParams.get("sig");
-        if (signature) {
-          (0, core_1.setSecret)(signature);
-          (0, core_1.setSecret)(encodeURIComponent(signature));
+      #readlinkFail(code = "") {
+        let ter = this.#type;
+        ter |= ENOREADLINK;
+        if (code === "ENOENT")
+          ter |= ENOENT;
+        if (code === "EINVAL" || code === "UNKNOWN") {
+          ter &= IFMT_UNKNOWN;
+        }
+        this.#type = ter;
+        if (code === "ENOTDIR" && this.parent) {
+          this.parent.#markENOTDIR();
         }
-      } catch (error3) {
-        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
-    }
-    exports2.maskSigUrl = maskSigUrl;
-    function maskSecretUrls(body) {
-      if (typeof body !== "object" || body === null) {
-        (0, core_1.debug)("body is not an object or is null");
-        return;
+      #readdirAddChild(e, c) {
+        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
       }
-      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
-        maskSigUrl(body.signed_upload_url);
+      #readdirAddNewChild(e, c) {
+        const type2 = entToType(e);
+        const child = this.newChild(e.name, type2, { parent: this });
+        const ifmt = child.#type & IFMT;
+        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
+          child.#type |= ENOTDIR;
+        }
+        c.unshift(child);
+        c.provisional++;
+        return child;
       }
-      if ("signed_url" in body && typeof body.signed_url === "string") {
-        maskSigUrl(body.signed_url);
+      #readdirMaybePromoteChild(e, c) {
+        for (let p = c.provisional; p < c.length; p++) {
+          const pchild = c[p];
+          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
+          if (name !== pchild.#matchName) {
+            continue;
+          }
+          return this.#readdirPromoteChild(e, pchild, p, c);
+        }
       }
-    }
-    exports2.maskSecretUrls = maskSecretUrls;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
-var require_artifact_twirp_client2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve5) {
-          resolve5(value);
-        });
+      #readdirPromoteChild(e, p, index, c) {
+        const v = p.name;
+        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
+        if (v !== e.name)
+          p.name = e.name;
+        if (index !== c.provisional) {
+          if (index === c.length - 1)
+            c.pop();
+          else
+            c.splice(index, 1);
+          c.unshift(p);
+        }
+        c.provisional++;
+        return p;
       }
-      return new (P || (P = Promise))(function(resolve5, reject) {
-        function fulfilled(value) {
+      /**
+       * Call lstat() on this Path, and update all known information that can be
+       * determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat() {
+        if ((this.#type & ENOENT) === 0) {
           try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
           }
         }
-        function rejected(value) {
+      }
+      /**
+       * synchronous {@link PathBase.lstat}
+       */
+      lstatSync() {
+        if ((this.#type & ENOENT) === 0) {
           try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
           }
         }
-        function step(result) {
-          result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      #applyStat(st) {
+        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
+        this.#atime = atime;
+        this.#atimeMs = atimeMs;
+        this.#birthtime = birthtime;
+        this.#birthtimeMs = birthtimeMs;
+        this.#blksize = blksize;
+        this.#blocks = blocks;
+        this.#ctime = ctime;
+        this.#ctimeMs = ctimeMs;
+        this.#dev = dev;
+        this.#gid = gid;
+        this.#ino = ino;
+        this.#mode = mode;
+        this.#mtime = mtime;
+        this.#mtimeMs = mtimeMs;
+        this.#nlink = nlink;
+        this.#rdev = rdev;
+        this.#size = size;
+        this.#uid = uid;
+        const ifmt = entToType(st);
+        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
+        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
+          this.#type |= ENOTDIR;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.internalArtifactTwirpClient = void 0;
-    var http_client_1 = require_lib();
-    var auth_1 = require_auth();
-    var core_1 = require_core();
-    var generated_1 = require_generated();
-    var config_1 = require_config2();
-    var user_agent_1 = require_user_agent2();
-    var errors_1 = require_errors4();
-    var util_1 = require_util18();
-    var ArtifactHttpClient = class {
-      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
-        this.maxAttempts = 5;
-        this.baseRetryIntervalMilliseconds = 3e3;
-        this.retryMultiplier = 1.5;
-        const token = (0, config_1.getRuntimeToken)();
-        this.baseUrl = (0, config_1.getResultsServiceUrl)();
-        if (maxAttempts) {
-          this.maxAttempts = maxAttempts;
+      }
+      #onReaddirCB = [];
+      #readdirCBInFlight = false;
+      #callOnReaddirCB(children) {
+        this.#readdirCBInFlight = false;
+        const cbs = this.#onReaddirCB.slice();
+        this.#onReaddirCB.length = 0;
+        cbs.forEach((cb) => cb(null, children));
+      }
+      /**
+       * Standard node-style callback interface to get list of directory entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       *
+       * @param cb The callback called with (er, entries).  Note that the `er`
+       * param is somewhat extraneous, as all readdir() errors are handled and
+       * simply result in an empty set of entries being returned.
+       * @param allowZalgo Boolean indicating that immediately known results should
+       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
+       * zalgo at your peril, the dark pony lord is devious and unforgiving.
+       */
+      readdirCB(cb, allowZalgo = false) {
+        if (!this.canReaddir()) {
+          if (allowZalgo)
+            cb(null, []);
+          else
+            queueMicrotask(() => cb(null, []));
+          return;
         }
-        if (baseRetryIntervalMilliseconds) {
-          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        const children = this.children();
+        if (this.calledReaddir()) {
+          const c = children.slice(0, children.provisional);
+          if (allowZalgo)
+            cb(null, c);
+          else
+            queueMicrotask(() => cb(null, c));
+          return;
         }
-        if (retryMultiplier) {
-          this.retryMultiplier = retryMultiplier;
+        this.#onReaddirCB.push(cb);
+        if (this.#readdirCBInFlight) {
+          return;
         }
-        this.httpClient = new http_client_1.HttpClient(userAgent2, [
-          new auth_1.BearerCredentialHandler(token)
-        ]);
+        this.#readdirCBInFlight = true;
+        const fullpath = this.fullpath();
+        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
+          if (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
+          } else {
+            for (const e of entries) {
+              this.#readdirAddChild(e, children);
+            }
+            this.#readdirSuccess(children);
+          }
+          this.#callOnReaddirCB(children.slice(0, children.provisional));
+          return;
+        });
       }
-      // This function satisfies the Rpc interface. It is compatible with the JSON
-      // JSON generated client.
-      request(service, method, contentType, data) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
-          (0, core_1.debug)(`[Request] ${method} ${url}`);
-          const headers = {
-            "Content-Type": contentType
+      #asyncReaddirInFlight;
+      /**
+       * Return an array of known child entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async readdir() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        if (this.#asyncReaddirInFlight) {
+          await this.#asyncReaddirInFlight;
+        } else {
+          let resolve5 = () => {
           };
+          this.#asyncReaddirInFlight = new Promise((res) => resolve5 = res);
           try {
-            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
-              return this.httpClient.post(url, JSON.stringify(data), headers);
-            }));
-            return body;
-          } catch (error3) {
-            throw new Error(`Failed to ${method}: ${error3.message}`);
+            for (const e of await this.#fs.promises.readdir(fullpath, {
+              withFileTypes: true
+            })) {
+              this.#readdirAddChild(e, children);
+            }
+            this.#readdirSuccess(children);
+          } catch (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
           }
-        });
+          this.#asyncReaddirInFlight = void 0;
+          resolve5();
+        }
+        return children.slice(0, children.provisional);
       }
-      retryableRequest(operation) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 0;
-          let errorMessage = "";
-          let rawBody = "";
-          while (attempt < this.maxAttempts) {
-            let isRetryable = false;
-            try {
-              const response = yield operation();
-              const statusCode = response.message.statusCode;
-              rawBody = yield response.readBody();
-              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
-              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
-              const body = JSON.parse(rawBody);
-              (0, util_1.maskSecretUrls)(body);
-              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
-              if (this.isSuccessStatusCode(statusCode)) {
-                return { response, body };
-              }
-              isRetryable = this.isRetryableHttpStatusCode(statusCode);
-              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
-              if (body.msg) {
-                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
-                  throw new errors_1.UsageError();
-                }
-                errorMessage = `${errorMessage}: ${body.msg}`;
-              }
-            } catch (error3) {
-              if (error3 instanceof SyntaxError) {
-                (0, core_1.debug)(`Raw Body: ${rawBody}`);
-              }
-              if (error3 instanceof errors_1.UsageError) {
-                throw error3;
-              }
-              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-              }
-              isRetryable = true;
-              errorMessage = error3.message;
-            }
-            if (!isRetryable) {
-              throw new Error(`Received non-retryable error: ${errorMessage}`);
-            }
-            if (attempt + 1 === this.maxAttempts) {
-              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
-            }
-            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
-            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
-            yield this.sleep(retryTimeMilliseconds);
-            attempt++;
+      /**
+       * synchronous {@link PathBase.readdir}
+       */
+      readdirSync() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        try {
+          for (const e of this.#fs.readdirSync(fullpath, {
+            withFileTypes: true
+          })) {
+            this.#readdirAddChild(e, children);
           }
-          throw new Error(`Request failed`);
-        });
+          this.#readdirSuccess(children);
+        } catch (er) {
+          this.#readdirFail(er.code);
+          children.provisional = 0;
+        }
+        return children.slice(0, children.provisional);
       }
-      isSuccessStatusCode(statusCode) {
-        if (!statusCode)
+      canReaddir() {
+        if (this.#type & ENOCHILD)
           return false;
-        return statusCode >= 200 && statusCode < 300;
-      }
-      isRetryableHttpStatusCode(statusCode) {
-        if (!statusCode)
+        const ifmt = IFMT & this.#type;
+        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
           return false;
-        const retryableStatusCodes = [
-          http_client_1.HttpCodes.BadGateway,
-          http_client_1.HttpCodes.GatewayTimeout,
-          http_client_1.HttpCodes.InternalServerError,
-          http_client_1.HttpCodes.ServiceUnavailable,
-          http_client_1.HttpCodes.TooManyRequests
-        ];
-        return retryableStatusCodes.includes(statusCode);
+        }
+        return true;
       }
-      sleep(milliseconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve5) => setTimeout(resolve5, milliseconds));
-        });
+      shouldWalk(dirs, walkFilter) {
+        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
       }
-      getExponentialRetryTimeMilliseconds(attempt) {
-        if (attempt < 0) {
-          throw new Error("attempt should be a positive integer");
-        }
-        if (attempt === 0) {
-          return this.baseRetryIntervalMilliseconds;
+      /**
+       * Return the Path object corresponding to path as resolved
+       * by realpath(3).
+       *
+       * If the realpath call fails for any reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       * On success, returns a Path object.
+       */
+      async realpath() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = await this.#fs.promises.realpath(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
         }
-        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
-        const maxTime = minTime * this.retryMultiplier;
-        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
-    };
-    function internalArtifactTwirpClient(options) {
-      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
-      return new generated_1.ArtifactServiceClientJSON(client);
-    }
-    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
-var require_upload_zip_specification = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      /**
+       * Synchronous {@link realpath}
+       */
+      realpathSync() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = this.#fs.realpathSync(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * Internal method to mark this Path object as the scurry cwd,
+       * called by {@link PathScurry#chdir}
+       *
+       * @internal
+       */
+      [setAsCwd](oldCwd) {
+        if (oldCwd === this)
+          return;
+        oldCwd.isCWD = false;
+        this.isCWD = true;
+        const changed = /* @__PURE__ */ new Set([]);
+        let rp = [];
+        let p = this;
+        while (p && p.parent) {
+          changed.add(p);
+          p.#relative = rp.join(this.sep);
+          p.#relativePosix = rp.join("/");
+          p = p.parent;
+          rp.push("..");
+        }
+        p = oldCwd;
+        while (p && p.parent && !changed.has(p)) {
+          p.#relative = void 0;
+          p.#relativePosix = void 0;
+          p = p.parent;
+        }
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
-    var fs8 = __importStar2(require("fs"));
-    var core_1 = require_core();
-    var path_1 = require("path");
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    function validateRootDirectory(rootDirectory) {
-      if (!fs8.existsSync(rootDirectory)) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
+    exports2.PathBase = PathBase;
+    var PathWin32 = class _PathWin32 extends PathBase {
+      /**
+       * Separator for generating path strings.
+       */
+      sep = "\\";
+      /**
+       * Separator for parsing path strings.
+       */
+      splitSep = eitherSep;
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
       }
-      if (!fs8.statSync(rootDirectory).isDirectory()) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
       }
-      (0, core_1.info)(`Root directory input is valid!`);
-    }
-    exports2.validateRootDirectory = validateRootDirectory;
-    function getUploadZipSpecification(filesToZip, rootDirectory) {
-      const specification = [];
-      rootDirectory = (0, path_1.normalize)(rootDirectory);
-      rootDirectory = (0, path_1.resolve)(rootDirectory);
-      for (let file of filesToZip) {
-        const stats = fs8.lstatSync(file, { throwIfNoEntry: false });
-        if (!stats) {
-          throw new Error(`File ${file} does not exist`);
+      /**
+       * @internal
+       */
+      getRootString(path7) {
+        return node_path_1.win32.parse(path7).root;
+      }
+      /**
+       * @internal
+       */
+      getRoot(rootPath) {
+        rootPath = uncToDrive(rootPath.toUpperCase());
+        if (rootPath === this.root.name) {
+          return this.root;
         }
-        if (!stats.isDirectory()) {
-          file = (0, path_1.normalize)(file);
-          file = (0, path_1.resolve)(file);
-          if (!file.startsWith(rootDirectory)) {
-            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
+        for (const [compare2, root] of Object.entries(this.roots)) {
+          if (this.sameRoot(rootPath, compare2)) {
+            return this.roots[rootPath] = root;
           }
-          const uploadPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
-          specification.push({
-            sourcePath: file,
-            destinationPath: uploadPath,
-            stats
-          });
-        } else {
-          const directoryPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
-          specification.push({
-            sourcePath: null,
-            destinationPath: directoryPath,
-            stats
-          });
         }
+        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
       }
-      return specification;
-    }
-    exports2.getUploadZipSpecification = getUploadZipSpecification;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
-var require_blob_upload = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * @internal
+       */
+      sameRoot(rootPath, compare2 = this.root.name) {
+        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+        return rootPath === compare2;
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve5) {
-          resolve5(value);
-        });
+    exports2.PathWin32 = PathWin32;
+    var PathPosix = class _PathPosix extends PathBase {
+      /**
+       * separator for parsing path strings
+       */
+      splitSep = "/";
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
       }
-      return new (P || (P = Promise))(function(resolve5, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadZipToBlobStorage = void 0;
-    var storage_blob_1 = require_commonjs15();
-    var config_1 = require_config2();
-    var core14 = __importStar2(require_core());
-    var crypto2 = __importStar2(require("crypto"));
-    var stream = __importStar2(require("stream"));
-    var errors_1 = require_errors4();
-    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        let uploadByteCount = 0;
-        let lastProgressTime = Date.now();
-        const abortController = new AbortController();
-        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve5, reject) => {
-            const timer = setInterval(() => {
-              if (Date.now() - lastProgressTime > interval) {
-                reject(new Error("Upload progress stalled."));
-              }
-            }, interval);
-            abortController.signal.addEventListener("abort", () => {
-              clearInterval(timer);
-              resolve5();
-            });
-          });
-        });
-        const maxConcurrency = (0, config_1.getConcurrency)();
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
-        const blockBlobClient = blobClient.getBlockBlobClient();
-        core14.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
-        const uploadCallback = (progress) => {
-          core14.info(`Uploaded bytes ${progress.loadedBytes}`);
-          uploadByteCount = progress.loadedBytes;
-          lastProgressTime = Date.now();
-        };
-        const options = {
-          blobHTTPHeaders: { blobContentType: "zip" },
-          onProgress: uploadCallback,
-          abortSignal: abortController.signal
-        };
-        let sha256Hash = void 0;
-        const uploadStream = new stream.PassThrough();
-        const hashStream = crypto2.createHash("sha256");
-        zipUploadStream.pipe(uploadStream);
-        zipUploadStream.pipe(hashStream).setEncoding("hex");
-        core14.info("Beginning upload of artifact content to blob storage");
-        try {
-          yield Promise.race([
-            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
-            chunkTimer((0, config_1.getUploadChunkTimeout)())
-          ]);
-        } catch (error3) {
-          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-          }
-          throw error3;
-        } finally {
-          abortController.abort();
-        }
-        core14.info("Finished uploading artifact content to blob storage!");
-        hashStream.end();
-        sha256Hash = hashStream.read();
-        core14.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
-        if (uploadByteCount === 0) {
-          core14.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
-        }
-        return {
-          uploadSize: uploadByteCount,
-          sha256Hash
-        };
-      });
-    }
-    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
-var require_path = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
-    var isWindows = typeof process === "object" && process && process.platform === "win32";
-    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
-  }
-});
-
-// node_modules/readdir-glob/node_modules/brace-expansion/index.js
-var require_brace_expansion2 = __commonJS({
-  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
-    var balanced = require_balanced_match();
-    module2.exports = expandTop;
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    function numeric(str2) {
-      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2)
-        return [""];
-      var parts = [];
-      var m = balanced("{", "}", str2);
-      if (!m)
-        return str2.split(",");
-      var pre = m.pre;
-      var body = m.body;
-      var post = m.post;
-      var p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      var postParts = parseCommaParts(post);
-      if (post.length) {
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
+      /**
+       * @internal
+       */
+      getRootString(path7) {
+        return path7.startsWith("/") ? "/" : "";
       }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expandTop(str2) {
-      if (!str2)
-        return [];
-      if (str2.substr(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.substr(2);
+      /**
+       * @internal
+       */
+      getRoot(_rootPath) {
+        return this.root;
       }
-      return expand2(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand2(str2, isTop) {
-      var expansions = [];
-      var m = balanced("{", "}", str2);
-      if (!m) return [str2];
-      var pre = m.pre;
-      var post = m.post.length ? expand2(m.post, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (var k = 0; k < post.length; k++) {
-          var expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
-        }
-      } else {
-        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        var isSequence = isNumericSequence || isAlphaSequence;
-        var isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand2(str2);
-          }
-          return [str2];
-        }
-        var n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1) {
-            n = expand2(n[0], false).map(embrace);
-            if (n.length === 1) {
-              return post.map(function(p) {
-                return m.pre + n[0] + p;
-              });
-            }
-          }
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      }
+    };
+    exports2.PathPosix = PathPosix;
+    var PathScurryBase = class {
+      /**
+       * The root Path entry for the current working directory of this Scurry
+       */
+      root;
+      /**
+       * The string path for the root of this Scurry's current working directory
+       */
+      rootPath;
+      /**
+       * A collection of all roots encountered, referenced by rootPath
+       */
+      roots;
+      /**
+       * The Path entry corresponding to this PathScurry's current working directory.
+       */
+      cwd;
+      #resolveCache;
+      #resolvePosixCache;
+      #children;
+      /**
+       * Perform path comparisons case-insensitively.
+       *
+       * Defaults true on Darwin and Windows systems, false elsewhere.
+       */
+      nocase;
+      #fs;
+      /**
+       * This class should not be instantiated directly.
+       *
+       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
+       *
+       * @internal
+       */
+      constructor(cwd = process.cwd(), pathImpl, sep3, { nocase, childrenCacheSize = 16 * 1024, fs: fs8 = defaultFS } = {}) {
+        this.#fs = fsFromOption(fs8);
+        if (cwd instanceof URL || cwd.startsWith("file://")) {
+          cwd = (0, node_url_1.fileURLToPath)(cwd);
         }
-        var N;
-        if (isSequence) {
-          var x = numeric(n[0]);
-          var y = numeric(n[1]);
-          var width = Math.max(n[0].length, n[1].length);
-          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
-          var test = lte;
-          var reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
-          }
-          var pad = n.some(isPadded);
-          N = [];
-          for (var i = x; test(i, y); i += incr) {
-            var c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\")
-                c = "";
-            } else {
-              c = String(i);
-              if (pad) {
-                var need = width - c.length;
-                if (need > 0) {
-                  var z = new Array(need + 1).join("0");
-                  if (i < 0)
-                    c = "-" + z + c.slice(1);
-                  else
-                    c = z + c;
-                }
-              }
-            }
-            N.push(c);
-          }
-        } else {
-          N = [];
-          for (var j = 0; j < n.length; j++) {
-            N.push.apply(N, expand2(n[j], false));
-          }
+        const cwdPath = pathImpl.resolve(cwd);
+        this.roots = /* @__PURE__ */ Object.create(null);
+        this.rootPath = this.parseRootPath(cwdPath);
+        this.#resolveCache = new ResolveCache();
+        this.#resolvePosixCache = new ResolveCache();
+        this.#children = new ChildrenCache(childrenCacheSize);
+        const split = cwdPath.substring(this.rootPath.length).split(sep3);
+        if (split.length === 1 && !split[0]) {
+          split.pop();
         }
-        for (var j = 0; j < N.length; j++) {
-          for (var k = 0; k < post.length; k++) {
-            var expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion)
-              expansions.push(expansion);
-          }
+        if (nocase === void 0) {
+          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
         }
-      }
-      return expansions;
-    }
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
-var require_minimatch2 = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
-    var minimatch = module2.exports = (p, pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
-      }
-      return new Minimatch(pattern, options).match(p);
-    };
-    module2.exports = minimatch;
-    var path7 = require_path();
-    minimatch.sep = path7.sep;
-    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    minimatch.GLOBSTAR = GLOBSTAR;
-    var expand2 = require_brace_expansion2();
-    var plTypes = {
-      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
-      "?": { open: "(?:", close: ")?" },
-      "+": { open: "(?:", close: ")+" },
-      "*": { open: "(?:", close: ")*" },
-      "@": { open: "(?:", close: ")" }
-    };
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var charSet = (s) => s.split("").reduce((set2, c) => {
-      set2[c] = true;
-      return set2;
-    }, {});
-    var reSpecials = charSet("().*{}+?[]^$\\!");
-    var addPatternStartSet = charSet("[.(");
-    var slashSplit = /\/+/;
-    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
-    var ext = (a, b = {}) => {
-      const t = {};
-      Object.keys(a).forEach((k) => t[k] = a[k]);
-      Object.keys(b).forEach((k) => t[k] = b[k]);
-      return t;
-    };
-    minimatch.defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return minimatch;
-      }
-      const orig = minimatch;
-      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
-      m.Minimatch = class Minimatch extends orig.Minimatch {
-        constructor(pattern, options) {
-          super(pattern, ext(def, options));
+        this.nocase = nocase;
+        this.root = this.newRoot(this.#fs);
+        this.roots[this.rootPath] = this.root;
+        let prev = this.root;
+        let len = split.length - 1;
+        const joinSep = pathImpl.sep;
+        let abs = this.rootPath;
+        let sawFirst = false;
+        for (const part of split) {
+          const l = len--;
+          prev = prev.child(part, {
+            relative: new Array(l).fill("..").join(joinSep),
+            relativePosix: new Array(l).fill("..").join("/"),
+            fullpath: abs += (sawFirst ? "" : joinSep) + part
+          });
+          sawFirst = true;
         }
-      };
-      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
-      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
-      m.defaults = (options) => orig.defaults(ext(def, options));
-      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
-      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
-      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
-      return m;
-    };
-    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
-    var braceExpand = (pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
-      }
-      return expand2(pattern);
-    };
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
-      }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
-      }
-    };
-    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
-    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
-    minimatch.match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+        this.cwd = prev;
       }
-      return list;
-    };
-    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
-    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
-    var Minimatch = class {
-      constructor(pattern, options) {
-        assertValidPattern(pattern);
-        if (!options) options = {};
-        this.options = options;
-        this.set = [];
-        this.pattern = pattern;
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
+      /**
+       * Get the depth of a provided path, string, or the cwd
+       */
+      depth(path7 = this.cwd) {
+        if (typeof path7 === "string") {
+          path7 = this.cwd.resolve(path7);
         }
-        this.regexp = null;
-        this.negate = false;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.make();
+        return path7.depth();
       }
-      debug() {
+      /**
+       * Return the cache of child entries.  Exposed so subclasses can create
+       * child Path objects in a platform-specific way.
+       *
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
       }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
-        }
-        if (!pattern) {
-          this.empty = true;
-          return;
+      /**
+       * Resolve one or more path strings to a resolved string
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolve(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
+          }
         }
-        this.parseNegate();
-        let set2 = this.globSet = this.braceExpand();
-        if (options.debug) this.debug = (...args) => console.error(...args);
-        this.debug(this.pattern, set2);
-        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
-        this.debug(this.pattern, set2);
-        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
-        this.debug(this.pattern, set2);
-        set2 = set2.filter((s) => s.indexOf(false) === -1);
-        this.debug(this.pattern, set2);
-        this.set = set2;
-      }
-      parseNegate() {
-        if (this.options.nonegate) return;
-        const pattern = this.pattern;
-        let negate = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate = !negate;
-          negateOffset++;
+        const cached = this.#resolveCache.get(r);
+        if (cached !== void 0) {
+          return cached;
         }
-        if (negateOffset) this.pattern = pattern.slice(negateOffset);
-        this.negate = negate;
+        const result = this.cwd.resolve(r).fullpath();
+        this.#resolveCache.set(r, result);
+        return result;
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial) {
-        var options = this.options;
-        this.debug(
-          "matchOne",
-          { "this": this, file, pattern }
-        );
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) return false;
-          if (p === GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) return true;
-            }
-            return false;
-          }
-          var hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
-          } else {
-            hit = f.match(p);
-            this.debug("pattern match", p, f, hit);
+      /**
+       * Resolve one or more path strings to a resolved string, returning
+       * the posix path.  Identical to .resolve() on posix systems, but on
+       * windows will return a forward-slash separated UNC path.
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolvePosix(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
           }
-          if (!hit) return false;
         }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
+        const cached = this.#resolvePosixCache.get(r);
+        if (cached !== void 0) {
+          return cached;
         }
-        throw new Error("wtf?");
+        const result = this.cwd.resolve(r).fullpathPosix();
+        this.#resolvePosixCache.set(r, result);
+        return result;
       }
-      braceExpand() {
-        return braceExpand(this.pattern, this.options);
+      /**
+       * find the relative path from the cwd to the supplied path string or entry
+       */
+      relative(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return entry.relative();
       }
-      parse(pattern, isSub) {
-        assertValidPattern(pattern);
-        const options = this.options;
-        if (pattern === "**") {
-          if (!options.noglobstar)
-            return GLOBSTAR;
-          else
-            pattern = "*";
+      /**
+       * find the relative path from the cwd to the supplied path string or
+       * entry, using / as the path delimiter, even on Windows.
+       */
+      relativePosix(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (pattern === "") return "";
-        let re = "";
-        let hasMagic = false;
-        let escaping = false;
-        const patternListStack = [];
-        const negativeLists = [];
-        let stateChar;
-        let inClass = false;
-        let reClassStart = -1;
-        let classStart = -1;
-        let cs;
-        let pl;
-        let sp;
-        let dotTravAllowed = pattern.charAt(0) === ".";
-        let dotFileAllowed = options.dot || dotTravAllowed;
-        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const clearStateChar = () => {
-          if (stateChar) {
-            switch (stateChar) {
-              case "*":
-                re += star;
-                hasMagic = true;
-                break;
-              case "?":
-                re += qmark;
-                hasMagic = true;
-                break;
-              default:
-                re += "\\" + stateChar;
-                break;
-            }
-            this.debug("clearStateChar %j %j", stateChar, re);
-            stateChar = false;
-          }
-        };
-        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
-          this.debug("%s	%s %s %j", pattern, i, re, c);
-          if (escaping) {
-            if (c === "/") {
-              return false;
-            }
-            if (reSpecials[c]) {
-              re += "\\";
-            }
-            re += c;
-            escaping = false;
-            continue;
-          }
-          switch (c) {
-            /* istanbul ignore next */
-            case "/": {
-              return false;
-            }
-            case "\\":
-              if (inClass && pattern.charAt(i + 1) === "-") {
-                re += c;
-                continue;
-              }
-              clearStateChar();
-              escaping = true;
-              continue;
-            // the various stateChar values
-            // for the "extglob" stuff.
-            case "?":
-            case "*":
-            case "+":
-            case "@":
-            case "!":
-              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
-              if (inClass) {
-                this.debug("  in class");
-                if (c === "!" && i === classStart + 1) c = "^";
-                re += c;
-                continue;
-              }
-              this.debug("call clearStateChar %j", stateChar);
-              clearStateChar();
-              stateChar = c;
-              if (options.noext) clearStateChar();
-              continue;
-            case "(": {
-              if (inClass) {
-                re += "(";
-                continue;
-              }
-              if (!stateChar) {
-                re += "\\(";
-                continue;
-              }
-              const plEntry = {
-                type: stateChar,
-                start: i - 1,
-                reStart: re.length,
-                open: plTypes[stateChar].open,
-                close: plTypes[stateChar].close
-              };
-              this.debug(this.pattern, "	", plEntry);
-              patternListStack.push(plEntry);
-              re += plEntry.open;
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              this.debug("plType %j %j", stateChar, re);
-              stateChar = false;
-              continue;
-            }
-            case ")": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\)";
-                continue;
-              }
-              patternListStack.pop();
-              clearStateChar();
-              hasMagic = true;
-              pl = plEntry;
-              re += pl.close;
-              if (pl.type === "!") {
-                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
-              }
-              continue;
-            }
-            case "|": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\|";
-                continue;
-              }
-              clearStateChar();
-              re += "|";
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              continue;
-            }
-            // these are mostly the same in regexp and glob
-            case "[":
-              clearStateChar();
-              if (inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              inClass = true;
-              classStart = i;
-              reClassStart = re.length;
-              re += c;
-              continue;
-            case "]":
-              if (i === classStart + 1 || !inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              cs = pattern.substring(classStart + 1, i);
-              try {
-                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
-                re += c;
-              } catch (er) {
-                re = re.substring(0, reClassStart) + "(?:$.)";
-              }
-              hasMagic = true;
-              inClass = false;
-              continue;
-            default:
-              clearStateChar();
-              if (reSpecials[c] && !(c === "^" && inClass)) {
-                re += "\\";
-              }
-              re += c;
-              break;
-          }
+        return entry.relativePosix();
+      }
+      /**
+       * Return the basename for the provided string or Path object
+       */
+      basename(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (inClass) {
-          cs = pattern.slice(classStart + 1);
-          sp = this.parse(cs, SUBPARSE);
-          re = re.substring(0, reClassStart) + "\\[" + sp[0];
-          hasMagic = hasMagic || sp[1];
+        return entry.name;
+      }
+      /**
+       * Return the dirname for the provided string or Path object
+       */
+      dirname(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
-          let tail;
-          tail = re.slice(pl.reStart + pl.open.length);
-          this.debug("setting tail", re, pl);
-          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
-            if (!$2) {
-              $2 = "\\";
-            }
-            return $1 + $1 + $2 + "|";
-          });
-          this.debug("tail=%j\n   %s", tail, tail, pl, re);
-          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
-          hasMagic = true;
-          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+        return (entry.parent || entry).fullpath();
+      }
+      async readdir(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        clearStateChar();
-        if (escaping) {
-          re += "\\\\";
+        const { withFileTypes } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else {
+          const p = await entry.readdir();
+          return withFileTypes ? p : p.map((e) => e.name);
         }
-        const addPatternStart = addPatternStartSet[re.charAt(0)];
-        for (let n = negativeLists.length - 1; n > -1; n--) {
-          const nl = negativeLists[n];
-          const nlBefore = re.slice(0, nl.reStart);
-          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
-          let nlAfter = re.slice(nl.reEnd);
-          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
-          const closeParensBefore = nlBefore.split(")").length;
-          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
-          let cleanAfter = nlAfter;
-          for (let i = 0; i < openParensBefore; i++) {
-            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
-          }
-          nlAfter = cleanAfter;
-          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
-          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
+      }
+      readdirSync(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        if (re !== "" && hasMagic) {
-          re = "(?=.)" + re;
+        const { withFileTypes = true } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else if (withFileTypes) {
+          return entry.readdirSync();
+        } else {
+          return entry.readdirSync().map((e) => e.name);
         }
-        if (addPatternStart) {
-          re = patternStart() + re;
+      }
+      /**
+       * Call lstat() on the string or Path object, and update all known
+       * information that can be determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (isSub === SUBPARSE) {
-          return [re, hasMagic];
+        return entry.lstat();
+      }
+      /**
+       * synchronous {@link PathScurryBase.lstat}
+       */
+      lstatSync(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (options.nocase && !hasMagic) {
-          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
+        return entry.lstatSync();
+      }
+      async readlink(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        if (!hasMagic) {
-          return globUnescape(pattern);
+        const e = await entry.readlink();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      readlinkSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        const flags = options.nocase ? "i" : "";
-        try {
-          return Object.assign(new RegExp("^" + re + "$", flags), {
-            _glob: pattern,
-            _src: re
-          });
-        } catch (er) {
-          return new RegExp("$.");
+        const e = entry.readlinkSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async realpath(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
+        const e = await entry.realpath();
+        return withFileTypes ? e : e?.fullpath();
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false) return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
+      realpathSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = options.nocase ? "i" : "";
-        let re = set2.map((pattern) => {
-          pattern = pattern.map(
-            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
-          ).reduce((set3, p) => {
-            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
-              set3.push(p);
-            }
-            return set3;
-          }, []);
-          pattern.forEach((p, i) => {
-            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
-              return;
+        const e = entry.realpathSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async walk(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set();
+        const walk = (dir, cb) => {
+          dirs.add(dir);
+          dir.readdirCB((er, entries) => {
+            if (er) {
+              return cb(er);
             }
-            if (i === 0) {
-              if (pattern.length > 1) {
-                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
+            let len = entries.length;
+            if (!len)
+              return cb();
+            const next = () => {
+              if (--len === 0) {
+                cb();
+              }
+            };
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                results.push(withFileTypes ? e : e.fullpath());
+              }
+              if (follow && e.isSymbolicLink()) {
+                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
               } else {
-                pattern[i] = twoStar;
+                if (e.shouldWalk(dirs, walkFilter)) {
+                  walk(e, next);
+                } else {
+                  next();
+                }
               }
-            } else if (i === pattern.length - 1) {
-              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
-            } else {
-              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
-              pattern[i + 1] = GLOBSTAR;
             }
+          }, true);
+        };
+        const start = entry;
+        return new Promise((res, rej) => {
+          walk(start, (er) => {
+            if (er)
+              return rej(er);
+            res(results);
           });
-          return pattern.filter((p) => p !== GLOBSTAR).join("/");
-        }).join("|");
-        re = "^(?:" + re + ")$";
-        if (this.negate) re = "^(?!" + re + ").*$";
-        try {
-          this.regexp = new RegExp(re, flags);
-        } catch (ex) {
-          this.regexp = false;
-        }
-        return this.regexp;
+        });
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) return false;
-        if (this.empty) return f === "";
-        if (f === "/" && partial) return true;
-        const options = this.options;
-        if (path7.sep !== "/") {
-          f = f.split(path7.sep).join("/");
-        }
-        f = f.split(slashSplit);
-        this.debug(this.pattern, "split", f);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename;
-        for (let i = f.length - 1; i >= 0; i--) {
-          filename = f[i];
-          if (filename) break;
+      walkSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = f;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) return true;
-            return !this.negate;
-          }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
         }
-        if (options.flipNegate) return false;
-        return this.negate;
-      }
-      static defaults(def) {
-        return minimatch.defaults(def).Minimatch;
-      }
-    };
-    minimatch.Minimatch = Minimatch;
-  }
-});
-
-// node_modules/readdir-glob/index.js
-var require_readdir_glob = __commonJS({
-  "node_modules/readdir-glob/index.js"(exports2, module2) {
-    module2.exports = readdirGlob;
-    var fs8 = require("fs");
-    var { EventEmitter } = require("events");
-    var { Minimatch } = require_minimatch2();
-    var { resolve: resolve5 } = require("path");
-    function readdir(dir, strict) {
-      return new Promise((resolve6, reject) => {
-        fs8.readdir(dir, { withFileTypes: true }, (err, files) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOTDIR":
-                if (strict) {
-                  reject(err);
-                } else {
-                  resolve6([]);
-                }
-                break;
-              case "ENOTSUP":
-              // Operation not supported
-              case "ENOENT":
-              // No such file or directory
-              case "ENAMETOOLONG":
-              // Filename too long
-              case "UNKNOWN":
-                resolve6([]);
-                break;
-              case "ELOOP":
-              // Too many levels of symbolic links
-              default:
-                reject(err);
-                break;
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              results.push(withFileTypes ? e : e.fullpath());
             }
-          } else {
-            resolve6(files);
-          }
-        });
-      });
-    }
-    function stat(file, followSymlinks) {
-      return new Promise((resolve6, reject) => {
-        const statFunc = followSymlinks ? fs8.stat : fs8.lstat;
-        statFunc(file, (err, stats) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOENT":
-                if (followSymlinks) {
-                  resolve6(stat(file, false));
-                } else {
-                  resolve6(null);
-                }
-                break;
-              default:
-                resolve6(null);
-                break;
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
+            }
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
             }
-          } else {
-            resolve6(stats);
           }
-        });
-      });
-    }
-    async function* exploreWalkAsync(dir, path7, followSymlinks, useStat, shouldSkip, strict) {
-      let files = await readdir(path7 + dir, strict);
-      for (const file of files) {
-        let name = file.name;
-        if (name === void 0) {
-          name = file;
-          useStat = true;
         }
-        const filename = dir + "/" + name;
-        const relative = filename.slice(1);
-        const absolute = path7 + "/" + relative;
-        let stats = null;
-        if (useStat || followSymlinks) {
-          stats = await stat(absolute, followSymlinks);
+        return results;
+      }
+      /**
+       * Support for `for await`
+       *
+       * Alias for {@link PathScurryBase.iterate}
+       *
+       * Note: As of Node 19, this is very slow, compared to other methods of
+       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
+       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
+       */
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+      iterate(entry = this.cwd, options = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          options = entry;
+          entry = this.cwd;
         }
-        if (!stats && file.name !== void 0) {
-          stats = file;
+        return this.stream(entry, options)[Symbol.asyncIterator]();
+      }
+      /**
+       * Iterating over a PathScurry performs a synchronous walk.
+       *
+       * Alias for {@link PathScurryBase.iterateSync}
+       */
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      *iterateSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        if (stats === null) {
-          stats = { isDirectory: () => false };
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        if (!filter || filter(entry)) {
+          yield withFileTypes ? entry : entry.fullpath();
         }
-        if (stats.isDirectory()) {
-          if (!shouldSkip(relative)) {
-            yield { relative, absolute, stats };
-            yield* exploreWalkAsync(filename, path7, followSymlinks, useStat, shouldSkip, false);
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              yield withFileTypes ? e : e.fullpath();
+            }
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
+            }
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
+            }
           }
-        } else {
-          yield { relative, absolute, stats };
         }
       }
-    }
-    async function* explore(path7, followSymlinks, useStat, shouldSkip) {
-      yield* exploreWalkAsync("", path7, followSymlinks, useStat, shouldSkip, true);
-    }
-    function readOptions(options) {
-      return {
-        pattern: options.pattern,
-        dot: !!options.dot,
-        noglobstar: !!options.noglobstar,
-        matchBase: !!options.matchBase,
-        nocase: !!options.nocase,
-        ignore: options.ignore,
-        skip: options.skip,
-        follow: !!options.follow,
-        stat: !!options.stat,
-        nodir: !!options.nodir,
-        mark: !!options.mark,
-        silent: !!options.silent,
-        absolute: !!options.absolute
-      };
-    }
-    var ReaddirGlob = class extends EventEmitter {
-      constructor(cwd, options, cb) {
-        super();
-        if (typeof options === "function") {
-          cb = options;
-          options = null;
-        }
-        this.options = readOptions(options || {});
-        this.matchers = [];
-        if (this.options.pattern) {
-          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
-          this.matchers = matchers.map(
-            (m) => new Minimatch(m, {
-              dot: this.options.dot,
-              noglobstar: this.options.noglobstar,
-              matchBase: this.options.matchBase,
-              nocase: this.options.nocase
-            })
-          );
+      stream(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        this.ignoreMatchers = [];
-        if (this.options.ignore) {
-          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
-          this.ignoreMatchers = ignorePatterns.map(
-            (ignore) => new Minimatch(ignore, { dot: true })
-          );
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
         }
-        this.skipMatchers = [];
-        if (this.options.skip) {
-          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
-          this.skipMatchers = skipPatterns.map(
-            (skip) => new Minimatch(skip, { dot: true })
-          );
+        const dirs = /* @__PURE__ */ new Set();
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
+            }
+            processing++;
+            dirs.add(dir);
+            const onReaddir = (er, entries, didRealpaths = false) => {
+              if (er)
+                return results.emit("error", er);
+              if (follow && !didRealpaths) {
+                const promises3 = [];
+                for (const e of entries) {
+                  if (e.isSymbolicLink()) {
+                    promises3.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
+                  }
+                }
+                if (promises3.length) {
+                  Promise.all(promises3).then(() => onReaddir(null, entries, true));
+                  return;
+                }
+              }
+              for (const e of entries) {
+                if (e && (!filter || filter(e))) {
+                  if (!results.write(withFileTypes ? e : e.fullpath())) {
+                    paused = true;
+                  }
+                }
+              }
+              processing--;
+              for (const e of entries) {
+                const r = e.realpathCached() || e;
+                if (r.shouldWalk(dirs, walkFilter)) {
+                  queue.push(r);
+                }
+              }
+              if (paused && !results.flowing) {
+                results.once("drain", process2);
+              } else if (!sync) {
+                process2();
+              }
+            };
+            let sync = true;
+            dir.readdirCB(onReaddir, true);
+            sync = false;
+          }
+        };
+        process2();
+        return results;
+      }
+      streamSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        this.iterator = explore(resolve5(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
-        this.paused = false;
-        this.inactive = false;
-        this.aborted = false;
-        if (cb) {
-          this._matches = [];
-          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
-          this.on("error", (err) => cb(err));
-          this.on("end", () => cb(null, this._matches));
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        const dirs = /* @__PURE__ */ new Set();
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
         }
-        setTimeout(() => this._next(), 0);
-      }
-      _shouldSkipDirectory(relative) {
-        return this.skipMatchers.some((m) => m.match(relative));
-      }
-      _fileMatches(relative, isDirectory) {
-        const file = relative + (isDirectory ? "/" : "");
-        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
-      }
-      _next() {
-        if (!this.paused && !this.aborted) {
-          this.iterator.next().then((obj) => {
-            if (!obj.done) {
-              const isDirectory = obj.value.stats.isDirectory();
-              if (this._fileMatches(obj.value.relative, isDirectory)) {
-                let relative = obj.value.relative;
-                let absolute = obj.value.absolute;
-                if (this.options.mark && isDirectory) {
-                  relative += "/";
-                  absolute += "/";
-                }
-                if (this.options.stat) {
-                  this.emit("match", { relative, absolute, stat: obj.value.stats });
-                } else {
-                  this.emit("match", { relative, absolute });
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
+            }
+            processing++;
+            dirs.add(dir);
+            const entries = dir.readdirSync();
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                if (!results.write(withFileTypes ? e : e.fullpath())) {
+                  paused = true;
                 }
               }
-              this._next(this.iterator);
-            } else {
-              this.emit("end");
             }
-          }).catch((err) => {
-            this.abort();
-            this.emit("error", err);
-            if (!err.code && !this.options.silent) {
-              console.error(err);
+            processing--;
+            for (const e of entries) {
+              let r = e;
+              if (e.isSymbolicLink()) {
+                if (!(follow && (r = e.realpathSync())))
+                  continue;
+                if (r.isUnknown())
+                  r.lstatSync();
+              }
+              if (r.shouldWalk(dirs, walkFilter)) {
+                queue.push(r);
+              }
             }
-          });
-        } else {
-          this.inactive = true;
+          }
+          if (paused && !results.flowing)
+            results.once("drain", process2);
+        };
+        process2();
+        return results;
+      }
+      chdir(path7 = this.cwd) {
+        const oldCwd = this.cwd;
+        this.cwd = typeof path7 === "string" ? this.cwd.resolve(path7) : path7;
+        this.cwd[setAsCwd](oldCwd);
+      }
+    };
+    exports2.PathScurryBase = PathScurryBase;
+    var PathScurryWin32 = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "\\";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
+        this.nocase = nocase;
+        for (let p = this.cwd; p; p = p.parent) {
+          p.nocase = this.nocase;
         }
       }
-      abort() {
-        this.aborted = true;
+      /**
+       * @internal
+       */
+      parseRootPath(dir) {
+        return node_path_1.win32.parse(dir).root.toUpperCase();
       }
-      pause() {
-        this.paused = true;
+      /**
+       * @internal
+       */
+      newRoot(fs8) {
+        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs8 });
       }
-      resume() {
-        this.paused = false;
-        if (this.inactive) {
-          this.inactive = false;
-          this._next();
-        }
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
       }
     };
-    function readdirGlob(pattern, options, cb) {
-      return new ReaddirGlob(pattern, options, cb);
-    }
-    readdirGlob.ReaddirGlob = ReaddirGlob;
-  }
-});
-
-// node_modules/async/dist/async.js
-var require_async = __commonJS({
-  "node_modules/async/dist/async.js"(exports2, module2) {
-    (function(global2, factory) {
-      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
-    })(exports2, (function(exports3) {
-      "use strict";
-      function apply(fn, ...args) {
-        return (...callArgs) => fn(...args, ...callArgs);
+    exports2.PathScurryWin32 = PathScurryWin32;
+    var PathScurryPosix = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = false } = opts;
+        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
+        this.nocase = nocase;
       }
-      function initialParams(fn) {
-        return function(...args) {
-          var callback = args.pop();
-          return fn.call(this, args, callback);
-        };
+      /**
+       * @internal
+       */
+      parseRootPath(_dir) {
+        return "/";
       }
-      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
-      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
-      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
-      function fallback(fn) {
-        setTimeout(fn, 0);
+      /**
+       * @internal
+       */
+      newRoot(fs8) {
+        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs8 });
       }
-      function wrap(defer) {
-        return (fn, ...args) => defer(() => fn(...args));
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/");
       }
-      var _defer$1;
-      if (hasQueueMicrotask) {
-        _defer$1 = queueMicrotask;
-      } else if (hasSetImmediate) {
-        _defer$1 = setImmediate;
-      } else if (hasNextTick) {
-        _defer$1 = process.nextTick;
-      } else {
-        _defer$1 = fallback;
+    };
+    exports2.PathScurryPosix = PathScurryPosix;
+    var PathScurryDarwin = class extends PathScurryPosix {
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, { ...opts, nocase });
       }
-      var setImmediate$1 = wrap(_defer$1);
-      function asyncify(func) {
-        if (isAsync(func)) {
-          return function(...args) {
-            const callback = args.pop();
-            const promise = func.apply(this, args);
-            return handlePromise(promise, callback);
-          };
+    };
+    exports2.PathScurryDarwin = PathScurryDarwin;
+    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
+    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
+  }
+});
+
+// node_modules/glob/dist/commonjs/pattern.js
+var require_pattern = __commonJS({
+  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Pattern = void 0;
+    var minimatch_1 = require_commonjs20();
+    var isPatternList = (pl) => pl.length >= 1;
+    var isGlobList = (gl) => gl.length >= 1;
+    var Pattern = class _Pattern {
+      #patternList;
+      #globList;
+      #index;
+      length;
+      #platform;
+      #rest;
+      #globString;
+      #isDrive;
+      #isUNC;
+      #isAbsolute;
+      #followGlobstar = true;
+      constructor(patternList, globList, index, platform) {
+        if (!isPatternList(patternList)) {
+          throw new TypeError("empty pattern list");
         }
-        return initialParams(function(args, callback) {
-          var result;
-          try {
-            result = func.apply(this, args);
-          } catch (e) {
-            return callback(e);
-          }
-          if (result && typeof result.then === "function") {
-            return handlePromise(result, callback);
-          } else {
-            callback(null, result);
+        if (!isGlobList(globList)) {
+          throw new TypeError("empty glob list");
+        }
+        if (globList.length !== patternList.length) {
+          throw new TypeError("mismatched pattern list and glob list lengths");
+        }
+        this.length = patternList.length;
+        if (index < 0 || index >= this.length) {
+          throw new TypeError("index out of range");
+        }
+        this.#patternList = patternList;
+        this.#globList = globList;
+        this.#index = index;
+        this.#platform = platform;
+        if (this.#index === 0) {
+          if (this.isUNC()) {
+            const [p0, p1, p2, p3, ...prest] = this.#patternList;
+            const [g0, g1, g2, g3, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = [p0, p1, p2, p3, ""].join("/");
+            const g = [g0, g1, g2, g3, ""].join("/");
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
+          } else if (this.isDrive() || this.isAbsolute()) {
+            const [p1, ...prest] = this.#patternList;
+            const [g1, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = p1 + "/";
+            const g = g1 + "/";
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
           }
-        });
+        }
       }
-      function handlePromise(promise, callback) {
-        return promise.then((value) => {
-          invokeCallback(callback, null, value);
-        }, (err) => {
-          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
-        });
+      /**
+       * The first entry in the parsed list of patterns
+       */
+      pattern() {
+        return this.#patternList[this.#index];
       }
-      function invokeCallback(callback, error3, value) {
-        try {
-          callback(error3, value);
-        } catch (err) {
-          setImmediate$1((e) => {
-            throw e;
-          }, err);
-        }
+      /**
+       * true of if pattern() returns a string
+       */
+      isString() {
+        return typeof this.#patternList[this.#index] === "string";
       }
-      function isAsync(fn) {
-        return fn[Symbol.toStringTag] === "AsyncFunction";
+      /**
+       * true of if pattern() returns GLOBSTAR
+       */
+      isGlobstar() {
+        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
       }
-      function isAsyncGenerator(fn) {
-        return fn[Symbol.toStringTag] === "AsyncGenerator";
+      /**
+       * true if pattern() returns a regexp
+       */
+      isRegExp() {
+        return this.#patternList[this.#index] instanceof RegExp;
       }
-      function isAsyncIterable(obj) {
-        return typeof obj[Symbol.asyncIterator] === "function";
+      /**
+       * The /-joined set of glob parts that make up this pattern
+       */
+      globString() {
+        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
       }
-      function wrapAsync(asyncFn) {
-        if (typeof asyncFn !== "function") throw new Error("expected a function");
-        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
+      /**
+       * true if there are more pattern parts after this one
+       */
+      hasMore() {
+        return this.length > this.#index + 1;
       }
-      function awaitify(asyncFn, arity) {
-        if (!arity) arity = asyncFn.length;
-        if (!arity) throw new Error("arity is undefined");
-        function awaitable(...args) {
-          if (typeof args[arity - 1] === "function") {
-            return asyncFn.apply(this, args);
-          }
-          return new Promise((resolve5, reject2) => {
-            args[arity - 1] = (err, ...cbArgs) => {
-              if (err) return reject2(err);
-              resolve5(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
-            };
-            asyncFn.apply(this, args);
-          });
-        }
-        return awaitable;
+      /**
+       * The rest of the pattern after this part, or null if this is the end
+       */
+      rest() {
+        if (this.#rest !== void 0)
+          return this.#rest;
+        if (!this.hasMore())
+          return this.#rest = null;
+        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
+        this.#rest.#isAbsolute = this.#isAbsolute;
+        this.#rest.#isUNC = this.#isUNC;
+        this.#rest.#isDrive = this.#isDrive;
+        return this.#rest;
       }
-      function applyEach$1(eachfn) {
-        return function applyEach2(fns, ...callArgs) {
-          const go = awaitify(function(callback) {
-            var that = this;
-            return eachfn(fns, (fn, cb) => {
-              wrapAsync(fn).apply(that, callArgs.concat(cb));
-            }, callback);
-          });
-          return go;
-        };
+      /**
+       * true if the pattern represents a //unc/path/ on windows
+       */
+      isUNC() {
+        const pl = this.#patternList;
+        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
       }
-      function _asyncMap(eachfn, arr, iteratee, callback) {
-        arr = arr || [];
-        var results = [];
-        var counter = 0;
-        var _iteratee = wrapAsync(iteratee);
-        return eachfn(arr, (value, _2, iterCb) => {
-          var index2 = counter++;
-          _iteratee(value, (err, v) => {
-            results[index2] = v;
-            iterCb(err);
-          });
-        }, (err) => {
-          callback(err, results);
-        });
+      // pattern like C:/...
+      // split = ['C:', ...]
+      // XXX: would be nice to handle patterns like `c:*` to test the cwd
+      // in c: for *, but I don't know of a way to even figure out what that
+      // cwd is without actually chdir'ing into it?
+      /**
+       * True if the pattern starts with a drive letter on Windows
+       */
+      isDrive() {
+        const pl = this.#patternList;
+        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
       }
-      function isArrayLike(value) {
-        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
+      // pattern = '/' or '/...' or '/x/...'
+      // split = ['', ''] or ['', ...] or ['', 'x', ...]
+      // Drive and UNC both considered absolute on windows
+      /**
+       * True if the pattern is rooted on an absolute path
+       */
+      isAbsolute() {
+        const pl = this.#patternList;
+        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
       }
-      const breakLoop = {};
-      function once(fn) {
-        function wrapper(...args) {
-          if (fn === null) return;
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
-        }
-        Object.assign(wrapper, fn);
-        return wrapper;
+      /**
+       * consume the root of the pattern, and return it
+       */
+      root() {
+        const p = this.#patternList[0];
+        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
       }
-      function getIterator(coll) {
-        return coll[Symbol.iterator] && coll[Symbol.iterator]();
+      /**
+       * Check to see if the current globstar pattern is allowed to follow
+       * a symbolic link.
+       */
+      checkFollowGlobstar() {
+        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
       }
-      function createArrayIterator(coll) {
-        var i = -1;
-        var len = coll.length;
-        return function next() {
-          return ++i < len ? { value: coll[i], key: i } : null;
-        };
+      /**
+       * Mark that the current globstar pattern is following a symbolic link
+       */
+      markFollowGlobstar() {
+        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
+          return false;
+        this.#followGlobstar = false;
+        return true;
       }
-      function createES2015Iterator(iterator2) {
-        var i = -1;
-        return function next() {
-          var item = iterator2.next();
-          if (item.done)
-            return null;
-          i++;
-          return { value: item.value, key: i };
+    };
+    exports2.Pattern = Pattern;
+  }
+});
+
+// node_modules/glob/dist/commonjs/ignore.js
+var require_ignore = __commonJS({
+  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Ignore = void 0;
+    var minimatch_1 = require_commonjs20();
+    var pattern_js_1 = require_pattern();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Ignore = class {
+      relative;
+      relativeChildren;
+      absolute;
+      absoluteChildren;
+      platform;
+      mmopts;
+      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
+        this.relative = [];
+        this.absolute = [];
+        this.relativeChildren = [];
+        this.absoluteChildren = [];
+        this.platform = platform;
+        this.mmopts = {
+          dot: true,
+          nobrace,
+          nocase,
+          noext,
+          noglobstar,
+          optimizationLevel: 2,
+          platform,
+          nocomment: true,
+          nonegate: true
         };
+        for (const ign of ignored)
+          this.add(ign);
       }
-      function createObjectIterator(obj) {
-        var okeys = obj ? Object.keys(obj) : [];
-        var i = -1;
-        var len = okeys.length;
-        return function next() {
-          var key = okeys[++i];
-          if (key === "__proto__") {
-            return next();
+      add(ign) {
+        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
+        for (let i = 0; i < mm.set.length; i++) {
+          const parsed = mm.set[i];
+          const globParts = mm.globParts[i];
+          if (!parsed || !globParts) {
+            throw new Error("invalid pattern object");
           }
-          return i < len ? { value: obj[key], key } : null;
-        };
+          while (parsed[0] === "." && globParts[0] === ".") {
+            parsed.shift();
+            globParts.shift();
+          }
+          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
+          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
+          const children = globParts[globParts.length - 1] === "**";
+          const absolute = p.isAbsolute();
+          if (absolute)
+            this.absolute.push(m);
+          else
+            this.relative.push(m);
+          if (children) {
+            if (absolute)
+              this.absoluteChildren.push(m);
+            else
+              this.relativeChildren.push(m);
+          }
+        }
       }
-      function createIterator(coll) {
-        if (isArrayLike(coll)) {
-          return createArrayIterator(coll);
+      ignored(p) {
+        const fullpath = p.fullpath();
+        const fullpaths = `${fullpath}/`;
+        const relative = p.relative() || ".";
+        const relatives = `${relative}/`;
+        for (const m of this.relative) {
+          if (m.match(relative) || m.match(relatives))
+            return true;
         }
-        var iterator2 = getIterator(coll);
-        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
+        for (const m of this.absolute) {
+          if (m.match(fullpath) || m.match(fullpaths))
+            return true;
+        }
+        return false;
       }
-      function onlyOnce(fn) {
-        return function(...args) {
-          if (fn === null) throw new Error("Callback was already called.");
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
-        };
+      childrenIgnored(p) {
+        const fullpath = p.fullpath() + "/";
+        const relative = (p.relative() || ".") + "/";
+        for (const m of this.relativeChildren) {
+          if (m.match(relative))
+            return true;
+        }
+        for (const m of this.absoluteChildren) {
+          if (m.match(fullpath))
+            return true;
+        }
+        return false;
       }
-      function asyncEachOfLimit(generator, limit, iteratee, callback) {
-        let done = false;
-        let canceled = false;
-        let awaiting = false;
-        let running = 0;
-        let idx = 0;
-        function replenish() {
-          if (running >= limit || awaiting || done) return;
-          awaiting = true;
-          generator.next().then(({ value, done: iterDone }) => {
-            if (canceled || done) return;
-            awaiting = false;
-            if (iterDone) {
-              done = true;
-              if (running <= 0) {
-                callback(null);
-              }
-              return;
-            }
-            running++;
-            iteratee(value, idx, iterateeCallback);
-            idx++;
-            replenish();
-          }).catch(handleError);
+    };
+    exports2.Ignore = Ignore;
+  }
+});
+
+// node_modules/glob/dist/commonjs/processor.js
+var require_processor = __commonJS({
+  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
+    var minimatch_1 = require_commonjs20();
+    var HasWalkedCache = class _HasWalkedCache {
+      store;
+      constructor(store = /* @__PURE__ */ new Map()) {
+        this.store = store;
+      }
+      copy() {
+        return new _HasWalkedCache(new Map(this.store));
+      }
+      hasWalked(target, pattern) {
+        return this.store.get(target.fullpath())?.has(pattern.globString());
+      }
+      storeWalked(target, pattern) {
+        const fullpath = target.fullpath();
+        const cached = this.store.get(fullpath);
+        if (cached)
+          cached.add(pattern.globString());
+        else
+          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
+      }
+    };
+    exports2.HasWalkedCache = HasWalkedCache;
+    var MatchRecord = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, absolute, ifDir) {
+        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
+        const current = this.store.get(target);
+        this.store.set(target, current === void 0 ? n : n & current);
+      }
+      // match, absolute, ifdir
+      entries() {
+        return [...this.store.entries()].map(([path7, n]) => [
+          path7,
+          !!(n & 2),
+          !!(n & 1)
+        ]);
+      }
+    };
+    exports2.MatchRecord = MatchRecord;
+    var SubWalks = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, pattern) {
+        if (!target.canReaddir()) {
+          return;
         }
-        function iterateeCallback(err, result) {
-          running -= 1;
-          if (canceled) return;
-          if (err) return handleError(err);
-          if (err === false) {
-            done = true;
-            canceled = true;
-            return;
-          }
-          if (result === breakLoop || done && running <= 0) {
-            done = true;
-            return callback(null);
+        const subs = this.store.get(target);
+        if (subs) {
+          if (!subs.find((p) => p.globString() === pattern.globString())) {
+            subs.push(pattern);
           }
-          replenish();
-        }
-        function handleError(err) {
-          if (canceled) return;
-          awaiting = false;
-          done = true;
-          callback(err);
+        } else
+          this.store.set(target, [pattern]);
+      }
+      get(target) {
+        const subs = this.store.get(target);
+        if (!subs) {
+          throw new Error("attempting to walk unknown path");
         }
-        replenish();
+        return subs;
       }
-      var eachOfLimit$2 = (limit) => {
-        return (obj, iteratee, callback) => {
-          callback = once(callback);
-          if (limit <= 0) {
-            throw new RangeError("concurrency limit cannot be less than 1");
-          }
-          if (!obj) {
-            return callback(null);
+      entries() {
+        return this.keys().map((k) => [k, this.store.get(k)]);
+      }
+      keys() {
+        return [...this.store.keys()].filter((t) => t.canReaddir());
+      }
+    };
+    exports2.SubWalks = SubWalks;
+    var Processor = class _Processor {
+      hasWalkedCache;
+      matches = new MatchRecord();
+      subwalks = new SubWalks();
+      patterns;
+      follow;
+      dot;
+      opts;
+      constructor(opts, hasWalkedCache) {
+        this.opts = opts;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      }
+      processPatterns(target, patterns) {
+        this.patterns = patterns;
+        const processingSet = patterns.map((p) => [target, p]);
+        for (let [t, pattern] of processingSet) {
+          this.hasWalkedCache.storeWalked(t, pattern);
+          const root = pattern.root();
+          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
+          if (root) {
+            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
+            const rest2 = pattern.rest();
+            if (!rest2) {
+              this.matches.add(t, true, false);
+              continue;
+            } else {
+              pattern = rest2;
+            }
           }
-          if (isAsyncGenerator(obj)) {
-            return asyncEachOfLimit(obj, limit, iteratee, callback);
+          if (t.isENOENT())
+            continue;
+          let p;
+          let rest;
+          let changed = false;
+          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
+            const c = t.resolve(p);
+            t = c;
+            pattern = rest;
+            changed = true;
           }
-          if (isAsyncIterable(obj)) {
-            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
+          p = pattern.pattern();
+          rest = pattern.rest();
+          if (changed) {
+            if (this.hasWalkedCache.hasWalked(t, pattern))
+              continue;
+            this.hasWalkedCache.storeWalked(t, pattern);
           }
-          var nextElem = createIterator(obj);
-          var done = false;
-          var canceled = false;
-          var running = 0;
-          var looping = false;
-          function iterateeCallback(err, value) {
-            if (canceled) return;
-            running -= 1;
-            if (err) {
-              done = true;
-              callback(err);
-            } else if (err === false) {
-              done = true;
-              canceled = true;
-            } else if (value === breakLoop || done && running <= 0) {
-              done = true;
-              return callback(null);
-            } else if (!looping) {
-              replenish();
+          if (typeof p === "string") {
+            const ifDir = p === ".." || p === "" || p === ".";
+            this.matches.add(t.resolve(p), absolute, ifDir);
+            continue;
+          } else if (p === minimatch_1.GLOBSTAR) {
+            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
+              this.subwalks.add(t, pattern);
             }
-          }
-          function replenish() {
-            looping = true;
-            while (running < limit && !done) {
-              var elem = nextElem();
-              if (elem === null) {
-                done = true;
-                if (running <= 0) {
-                  callback(null);
+            const rp = rest?.pattern();
+            const rrest = rest?.rest();
+            if (!rest || (rp === "" || rp === ".") && !rrest) {
+              this.matches.add(t, absolute, rp === "" || rp === ".");
+            } else {
+              if (rp === "..") {
+                const tp = t.parent || t;
+                if (!rrest)
+                  this.matches.add(tp, absolute, true);
+                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
+                  this.subwalks.add(tp, rrest);
                 }
-                return;
               }
-              running += 1;
-              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
             }
-            looping = false;
-          }
-          replenish();
-        };
-      };
-      function eachOfLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
-      }
-      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
-      function eachOfArrayLike(coll, iteratee, callback) {
-        callback = once(callback);
-        var index2 = 0, completed = 0, { length } = coll, canceled = false;
-        if (length === 0) {
-          callback(null);
-        }
-        function iteratorCallback(err, value) {
-          if (err === false) {
-            canceled = true;
-          }
-          if (canceled === true) return;
-          if (err) {
-            callback(err);
-          } else if (++completed === length || value === breakLoop) {
-            callback(null);
+          } else if (p instanceof RegExp) {
+            this.subwalks.add(t, pattern);
           }
         }
-        for (; index2 < length; index2++) {
-          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
-        }
-      }
-      function eachOfGeneric(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, Infinity, iteratee, callback);
-      }
-      function eachOf(coll, iteratee, callback) {
-        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
-        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
-      }
-      var eachOf$1 = awaitify(eachOf, 3);
-      function map2(coll, iteratee, callback) {
-        return _asyncMap(eachOf$1, coll, iteratee, callback);
+        return this;
       }
-      var map$1 = awaitify(map2, 3);
-      var applyEach = applyEach$1(map$1);
-      function eachOfSeries(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, 1, iteratee, callback);
+      subwalkTargets() {
+        return this.subwalks.keys();
       }
-      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
-      function mapSeries(coll, iteratee, callback) {
-        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
+      child() {
+        return new _Processor(this.opts, this.hasWalkedCache);
       }
-      var mapSeries$1 = awaitify(mapSeries, 3);
-      var applyEachSeries = applyEach$1(mapSeries$1);
-      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
-      function promiseCallback() {
-        let resolve5, reject2;
-        function callback(err, ...args) {
-          if (err) return reject2(err);
-          resolve5(args.length > 1 ? args : args[0]);
+      // return a new Processor containing the subwalks for each
+      // child entry, and a set of matches, and
+      // a hasWalkedCache that's a copy of this one
+      // then we're going to call
+      filterEntries(parent, entries) {
+        const patterns = this.subwalks.get(parent);
+        const results = this.child();
+        for (const e of entries) {
+          for (const pattern of patterns) {
+            const absolute = pattern.isAbsolute();
+            const p = pattern.pattern();
+            const rest = pattern.rest();
+            if (p === minimatch_1.GLOBSTAR) {
+              results.testGlobstar(e, pattern, rest, absolute);
+            } else if (p instanceof RegExp) {
+              results.testRegExp(e, p, rest, absolute);
+            } else {
+              results.testString(e, p, rest, absolute);
+            }
+          }
         }
-        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
-          resolve5 = res, reject2 = rej;
-        });
-        return callback;
+        return results;
       }
-      function auto(tasks, concurrency, callback) {
-        if (typeof concurrency !== "number") {
-          callback = concurrency;
-          concurrency = null;
-        }
-        callback = once(callback || promiseCallback());
-        var numTasks = Object.keys(tasks).length;
-        if (!numTasks) {
-          return callback(null);
-        }
-        if (!concurrency) {
-          concurrency = numTasks;
-        }
-        var results = {};
-        var runningTasks = 0;
-        var canceled = false;
-        var hasError = false;
-        var listeners = /* @__PURE__ */ Object.create(null);
-        var readyTasks = [];
-        var readyToCheck = [];
-        var uncheckedDependencies = {};
-        Object.keys(tasks).forEach((key) => {
-          var task = tasks[key];
-          if (!Array.isArray(task)) {
-            enqueueTask(key, [task]);
-            readyToCheck.push(key);
-            return;
-          }
-          var dependencies = task.slice(0, task.length - 1);
-          var remainingDependencies = dependencies.length;
-          if (remainingDependencies === 0) {
-            enqueueTask(key, task);
-            readyToCheck.push(key);
-            return;
+      testGlobstar(e, pattern, rest, absolute) {
+        if (this.dot || !e.name.startsWith(".")) {
+          if (!pattern.hasMore()) {
+            this.matches.add(e, absolute, false);
           }
-          uncheckedDependencies[key] = remainingDependencies;
-          dependencies.forEach((dependencyName) => {
-            if (!tasks[dependencyName]) {
-              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
-            }
-            addListener(dependencyName, () => {
-              remainingDependencies--;
-              if (remainingDependencies === 0) {
-                enqueueTask(key, task);
+          if (e.canReaddir()) {
+            if (this.follow || !e.isSymbolicLink()) {
+              this.subwalks.add(e, pattern);
+            } else if (e.isSymbolicLink()) {
+              if (rest && pattern.checkFollowGlobstar()) {
+                this.subwalks.add(e, rest);
+              } else if (pattern.markFollowGlobstar()) {
+                this.subwalks.add(e, pattern);
               }
-            });
-          });
-        });
-        checkForDeadlocks();
-        processQueue();
-        function enqueueTask(key, task) {
-          readyTasks.push(() => runTask(key, task));
+            }
+          }
         }
-        function processQueue() {
-          if (canceled) return;
-          if (readyTasks.length === 0 && runningTasks === 0) {
-            return callback(null, results);
+        if (rest) {
+          const rp = rest.pattern();
+          if (typeof rp === "string" && // dots and empty were handled already
+          rp !== ".." && rp !== "" && rp !== ".") {
+            this.testString(e, rp, rest.rest(), absolute);
+          } else if (rp === "..") {
+            const ep = e.parent || e;
+            this.subwalks.add(ep, rest);
+          } else if (rp instanceof RegExp) {
+            this.testRegExp(e, rp, rest.rest(), absolute);
           }
-          while (readyTasks.length && runningTasks < concurrency) {
-            var run = readyTasks.shift();
-            run();
+        }
+      }
+      testRegExp(e, p, rest, absolute) {
+        if (!p.test(e.name))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
+        }
+      }
+      testString(e, p, rest, absolute) {
+        if (!e.isNamed(p))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
+        }
+      }
+    };
+    exports2.Processor = Processor;
+  }
+});
+
+// node_modules/glob/dist/commonjs/walker.js
+var require_walker = __commonJS({
+  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
+    var minipass_1 = require_commonjs22();
+    var ignore_js_1 = require_ignore();
+    var processor_js_1 = require_processor();
+    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
+    var GlobUtil = class {
+      path;
+      patterns;
+      opts;
+      seen = /* @__PURE__ */ new Set();
+      paused = false;
+      aborted = false;
+      #onResume = [];
+      #ignore;
+      #sep;
+      signal;
+      maxDepth;
+      includeChildMatches;
+      constructor(patterns, path7, opts) {
+        this.patterns = patterns;
+        this.path = path7;
+        this.opts = opts;
+        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        if (opts.ignore || !this.includeChildMatches) {
+          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
+          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
+            const m = "cannot ignore child matches, ignore lacks add() method.";
+            throw new Error(m);
           }
         }
-        function addListener(taskName, fn) {
-          var taskListeners = listeners[taskName];
-          if (!taskListeners) {
-            taskListeners = listeners[taskName] = [];
-          }
-          taskListeners.push(fn);
+        this.maxDepth = opts.maxDepth || Infinity;
+        if (opts.signal) {
+          this.signal = opts.signal;
+          this.signal.addEventListener("abort", () => {
+            this.#onResume.length = 0;
+          });
         }
-        function taskComplete(taskName) {
-          var taskListeners = listeners[taskName] || [];
-          taskListeners.forEach((fn) => fn());
-          processQueue();
+      }
+      #ignored(path7) {
+        return this.seen.has(path7) || !!this.#ignore?.ignored?.(path7);
+      }
+      #childrenIgnored(path7) {
+        return !!this.#ignore?.childrenIgnored?.(path7);
+      }
+      // backpressure mechanism
+      pause() {
+        this.paused = true;
+      }
+      resume() {
+        if (this.signal?.aborted)
+          return;
+        this.paused = false;
+        let fn = void 0;
+        while (!this.paused && (fn = this.#onResume.shift())) {
+          fn();
         }
-        function runTask(key, task) {
-          if (hasError) return;
-          var taskCallback = onlyOnce((err, ...result) => {
-            runningTasks--;
-            if (err === false) {
-              canceled = true;
-              return;
-            }
-            if (result.length < 2) {
-              [result] = result;
-            }
-            if (err) {
-              var safeResults = {};
-              Object.keys(results).forEach((rkey) => {
-                safeResults[rkey] = results[rkey];
-              });
-              safeResults[key] = result;
-              hasError = true;
-              listeners = /* @__PURE__ */ Object.create(null);
-              if (canceled) return;
-              callback(err, safeResults);
-            } else {
-              results[key] = result;
-              taskComplete(key);
-            }
-          });
-          runningTasks++;
-          var taskFn = wrapAsync(task[task.length - 1]);
-          if (task.length > 1) {
-            taskFn(results, taskCallback);
-          } else {
-            taskFn(taskCallback);
-          }
+      }
+      onResume(fn) {
+        if (this.signal?.aborted)
+          return;
+        if (!this.paused) {
+          fn();
+        } else {
+          this.#onResume.push(fn);
         }
-        function checkForDeadlocks() {
-          var currentTask;
-          var counter = 0;
-          while (readyToCheck.length) {
-            currentTask = readyToCheck.pop();
-            counter++;
-            getDependents(currentTask).forEach((dependent) => {
-              if (--uncheckedDependencies[dependent] === 0) {
-                readyToCheck.push(dependent);
-              }
-            });
-          }
-          if (counter !== numTasks) {
-            throw new Error(
-              "async.auto cannot execute tasks due to a recursive dependency"
-            );
-          }
+      }
+      // do the requisite realpath/stat checking, and return the path
+      // to add or undefined to filter it out.
+      async matchCheck(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || await e.realpath();
+          if (!rpc)
+            return void 0;
+          e = rpc;
         }
-        function getDependents(taskName) {
-          var result = [];
-          Object.keys(tasks).forEach((key) => {
-            const task = tasks[key];
-            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
-              result.push(key);
-            }
-          });
-          return result;
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? await e.lstat() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = await s.realpath();
+          if (target && (target.isUnknown() || this.opts.stat)) {
+            await target.lstat();
+          }
         }
-        return callback[PROMISE_SYMBOL];
+        return this.matchCheckTest(s, ifDir);
       }
-      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
-      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
-      var FN_ARG_SPLIT = /,/;
-      var FN_ARG = /(=.+)?(\s*)$/;
-      function stripComments(string) {
-        let stripped = "";
-        let index2 = 0;
-        let endBlockComment = string.indexOf("*/");
-        while (index2 < string.length) {
-          if (string[index2] === "/" && string[index2 + 1] === "/") {
-            let endIndex = string.indexOf("\n", index2);
-            index2 = endIndex === -1 ? string.length : endIndex;
-          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
-            let endIndex = string.indexOf("*/", index2);
-            if (endIndex !== -1) {
-              index2 = endIndex + 2;
-              endBlockComment = string.indexOf("*/", index2);
-            } else {
-              stripped += string[index2];
-              index2++;
-            }
-          } else {
-            stripped += string[index2];
-            index2++;
+      matchCheckTest(e, ifDir) {
+        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
+      }
+      matchCheckSync(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || e.realpathSync();
+          if (!rpc)
+            return void 0;
+          e = rpc;
+        }
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? e.lstatSync() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = s.realpathSync();
+          if (target && (target?.isUnknown() || this.opts.stat)) {
+            target.lstatSync();
           }
         }
-        return stripped;
+        return this.matchCheckTest(s, ifDir);
       }
-      function parseParams(func) {
-        const src = stripComments(func.toString());
-        let match = src.match(FN_ARGS);
-        if (!match) {
-          match = src.match(ARROW_FN_ARGS);
+      matchFinish(e, absolute) {
+        if (this.#ignored(e))
+          return;
+        if (!this.includeChildMatches && this.#ignore?.add) {
+          const ign = `${e.relativePosix()}/**`;
+          this.#ignore.add(ign);
+        }
+        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
+        this.seen.add(e);
+        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
+        if (this.opts.withFileTypes) {
+          this.matchEmit(e);
+        } else if (abs) {
+          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
+          this.matchEmit(abs2 + mark);
+        } else {
+          const rel = this.opts.posix ? e.relativePosix() : e.relative();
+          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
+          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
         }
-        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
-        let [, args] = match;
-        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
       }
-      function autoInject(tasks, callback) {
-        var newTasks = {};
-        Object.keys(tasks).forEach((key) => {
-          var taskFn = tasks[key];
-          var params;
-          var fnIsAsync = isAsync(taskFn);
-          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
-          if (Array.isArray(taskFn)) {
-            params = [...taskFn];
-            taskFn = params.pop();
-            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
-          } else if (hasNoDeps) {
-            newTasks[key] = taskFn;
-          } else {
-            params = parseParams(taskFn);
-            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
-              throw new Error("autoInject task functions require explicit parameters.");
-            }
-            if (!fnIsAsync) params.pop();
-            newTasks[key] = params.concat(newTask);
-          }
-          function newTask(results, taskCb) {
-            var newArgs = params.map((name) => results[name]);
-            newArgs.push(taskCb);
-            wrapAsync(taskFn)(...newArgs);
-          }
-        });
-        return auto(newTasks, callback);
+      async match(e, absolute, ifDir) {
+        const p = await this.matchCheck(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
       }
-      class DLL {
-        constructor() {
-          this.head = this.tail = null;
-          this.length = 0;
+      matchSync(e, absolute, ifDir) {
+        const p = this.matchCheckSync(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
+      }
+      walkCB(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      }
+      walkCB2(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
+          return;
         }
-        removeLink(node) {
-          if (node.prev) node.prev.next = node.next;
-          else this.head = node.next;
-          if (node.next) node.next.prev = node.prev;
-          else this.tail = node.prev;
-          node.prev = node.next = null;
-          this.length -= 1;
-          return node;
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
         }
-        empty() {
-          while (this.head) this.shift();
-          return this;
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const childrenCached = t.readdirCached();
+          if (t.calledReaddir())
+            this.walkCB3(t, childrenCached, processor, next);
+          else {
+            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
+          }
         }
-        insertAfter(node, newNode) {
-          newNode.prev = node;
-          newNode.next = node.next;
-          if (node.next) node.next.prev = newNode;
-          else this.tail = newNode;
-          node.next = newNode;
-          this.length += 1;
+        next();
+      }
+      walkCB3(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
         }
-        insertBefore(node, newNode) {
-          newNode.prev = node.prev;
-          newNode.next = node;
-          if (node.prev) node.prev.next = newNode;
-          else this.head = newNode;
-          node.prev = newNode;
-          this.length += 1;
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2(target2, patterns, processor.child(), next);
         }
-        unshift(node) {
-          if (this.head) this.insertBefore(this.head, node);
-          else setInitial(this, node);
+        next();
+      }
+      walkCBSync(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      }
+      walkCB2Sync(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
+          return;
         }
-        push(node) {
-          if (this.tail) this.insertAfter(this.tail, node);
-          else setInitial(this, node);
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
         }
-        shift() {
-          return this.head && this.removeLink(this.head);
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const children = t.readdirSync();
+          this.walkCB3Sync(t, children, processor, next);
         }
-        pop() {
-          return this.tail && this.removeLink(this.tail);
+        next();
+      }
+      walkCB3Sync(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
         }
-        toArray() {
-          return [...this];
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2Sync(target2, patterns, processor.child(), next);
         }
-        *[Symbol.iterator]() {
-          var cur = this.head;
-          while (cur) {
-            yield cur.data;
-            cur = cur.next;
-          }
+        next();
+      }
+    };
+    exports2.GlobUtil = GlobUtil;
+    var GlobWalker = class extends GlobUtil {
+      matches = /* @__PURE__ */ new Set();
+      constructor(patterns, path7, opts) {
+        super(patterns, path7, opts);
+      }
+      matchEmit(e) {
+        this.matches.add(e);
+      }
+      async walk() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          await this.path.lstat();
         }
-        remove(testFn) {
-          var curr = this.head;
-          while (curr) {
-            var { next } = curr;
-            if (testFn(curr)) {
-              this.removeLink(curr);
+        await new Promise((res, rej) => {
+          this.walkCB(this.path, this.patterns, () => {
+            if (this.signal?.aborted) {
+              rej(this.signal.reason);
+            } else {
+              res(this.matches);
             }
-            curr = next;
-          }
-          return this;
+          });
+        });
+        return this.matches;
+      }
+      walkSync() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
         }
+        this.walkCBSync(this.path, this.patterns, () => {
+          if (this.signal?.aborted)
+            throw this.signal.reason;
+        });
+        return this.matches;
       }
-      function setInitial(dll, node) {
-        dll.length = 1;
-        dll.head = dll.tail = node;
+    };
+    exports2.GlobWalker = GlobWalker;
+    var GlobStream = class extends GlobUtil {
+      results;
+      constructor(patterns, path7, opts) {
+        super(patterns, path7, opts);
+        this.results = new minipass_1.Minipass({
+          signal: this.signal,
+          objectMode: true
+        });
+        this.results.on("drain", () => this.resume());
+        this.results.on("resume", () => this.resume());
       }
-      function queue$1(worker, concurrency, payload) {
-        if (concurrency == null) {
-          concurrency = 1;
-        } else if (concurrency === 0) {
-          throw new RangeError("Concurrency must not be zero");
-        }
-        var _worker = wrapAsync(worker);
-        var numRunning = 0;
-        var workersList = [];
-        const events = {
-          error: [],
-          drain: [],
-          saturated: [],
-          unsaturated: [],
-          empty: []
-        };
-        function on(event, handler2) {
-          events[event].push(handler2);
+      matchEmit(e) {
+        this.results.write(e);
+        if (!this.results.flowing)
+          this.pause();
+      }
+      stream() {
+        const target = this.path;
+        if (target.isUnknown()) {
+          target.lstat().then(() => {
+            this.walkCB(target, this.patterns, () => this.results.end());
+          });
+        } else {
+          this.walkCB(target, this.patterns, () => this.results.end());
         }
-        function once2(event, handler2) {
-          const handleAndRemove = (...args) => {
-            off(event, handleAndRemove);
-            handler2(...args);
-          };
-          events[event].push(handleAndRemove);
+        return this.results;
+      }
+      streamSync() {
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
         }
-        function off(event, handler2) {
-          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
-          if (!handler2) return events[event] = [];
-          events[event] = events[event].filter((ev) => ev !== handler2);
+        this.walkCBSync(this.path, this.patterns, () => this.results.end());
+        return this.results;
+      }
+    };
+    exports2.GlobStream = GlobStream;
+  }
+});
+
+// node_modules/glob/dist/commonjs/glob.js
+var require_glob2 = __commonJS({
+  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Glob = void 0;
+    var minimatch_1 = require_commonjs20();
+    var node_url_1 = require("node:url");
+    var path_scurry_1 = require_commonjs23();
+    var pattern_js_1 = require_pattern();
+    var walker_js_1 = require_walker();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Glob = class {
+      absolute;
+      cwd;
+      root;
+      dot;
+      dotRelative;
+      follow;
+      ignore;
+      magicalBraces;
+      mark;
+      matchBase;
+      maxDepth;
+      nobrace;
+      nocase;
+      nodir;
+      noext;
+      noglobstar;
+      pattern;
+      platform;
+      realpath;
+      scurry;
+      stat;
+      signal;
+      windowsPathsNoEscape;
+      withFileTypes;
+      includeChildMatches;
+      /**
+       * The options provided to the constructor.
+       */
+      opts;
+      /**
+       * An array of parsed immutable {@link Pattern} objects.
+       */
+      patterns;
+      /**
+       * All options are stored as properties on the `Glob` object.
+       *
+       * See {@link GlobOptions} for full options descriptions.
+       *
+       * Note that a previous `Glob` object can be passed as the
+       * `GlobOptions` to another `Glob` instantiation to re-use settings
+       * and caches with a new pattern.
+       *
+       * Traversal functions can be called multiple times to run the walk
+       * again.
+       */
+      constructor(pattern, opts) {
+        if (!opts)
+          throw new TypeError("glob options required");
+        this.withFileTypes = !!opts.withFileTypes;
+        this.signal = opts.signal;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.dotRelative = !!opts.dotRelative;
+        this.nodir = !!opts.nodir;
+        this.mark = !!opts.mark;
+        if (!opts.cwd) {
+          this.cwd = "";
+        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
+          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
         }
-        function trigger(event, ...args) {
-          events[event].forEach((handler2) => handler2(...args));
+        this.cwd = opts.cwd || "";
+        this.root = opts.root;
+        this.magicalBraces = !!opts.magicalBraces;
+        this.nobrace = !!opts.nobrace;
+        this.noext = !!opts.noext;
+        this.realpath = !!opts.realpath;
+        this.absolute = opts.absolute;
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        this.noglobstar = !!opts.noglobstar;
+        this.matchBase = !!opts.matchBase;
+        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
+        this.stat = !!opts.stat;
+        this.ignore = opts.ignore;
+        if (this.withFileTypes && this.absolute !== void 0) {
+          throw new Error("cannot set absolute and withFileTypes:true");
         }
-        var processingScheduled = false;
-        function _insert(data, insertAtFront, rejectOnError, callback) {
-          if (callback != null && typeof callback !== "function") {
-            throw new Error("task callback must be a function");
-          }
-          q.started = true;
-          var res, rej;
-          function promiseCallback2(err, ...args) {
-            if (err) return rejectOnError ? rej(err) : res();
-            if (args.length <= 1) return res(args[0]);
-            res(args);
-          }
-          var item = q._createTaskItem(
-            data,
-            rejectOnError ? promiseCallback2 : callback || promiseCallback2
-          );
-          if (insertAtFront) {
-            q._tasks.unshift(item);
-          } else {
-            q._tasks.push(item);
-          }
-          if (!processingScheduled) {
-            processingScheduled = true;
-            setImmediate$1(() => {
-              processingScheduled = false;
-              q.process();
-            });
-          }
-          if (rejectOnError || !callback) {
-            return new Promise((resolve5, reject2) => {
-              res = resolve5;
-              rej = reject2;
-            });
-          }
+        if (typeof pattern === "string") {
+          pattern = [pattern];
         }
-        function _createCB(tasks) {
-          return function(err, ...args) {
-            numRunning -= 1;
-            for (var i = 0, l = tasks.length; i < l; i++) {
-              var task = tasks[i];
-              var index2 = workersList.indexOf(task);
-              if (index2 === 0) {
-                workersList.shift();
-              } else if (index2 > 0) {
-                workersList.splice(index2, 1);
-              }
-              task.callback(err, ...args);
-              if (err != null) {
-                trigger("error", err, task.data);
-              }
-            }
-            if (numRunning <= q.concurrency - q.buffer) {
-              trigger("unsaturated");
-            }
-            if (q.idle()) {
-              trigger("drain");
-            }
-            q.process();
-          };
+        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
         }
-        function _maybeDrain(data) {
-          if (data.length === 0 && q.idle()) {
-            setImmediate$1(() => trigger("drain"));
-            return true;
+        if (this.matchBase) {
+          if (opts.noglobstar) {
+            throw new TypeError("base matching requires globstar");
           }
-          return false;
+          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
         }
-        const eventMethod = (name) => (handler2) => {
-          if (!handler2) {
-            return new Promise((resolve5, reject2) => {
-              once2(name, (err, data) => {
-                if (err) return reject2(err);
-                resolve5(data);
-              });
-            });
-          }
-          off(name);
-          on(name, handler2);
-        };
-        var isProcessing = false;
-        var q = {
-          _tasks: new DLL(),
-          _createTaskItem(data, callback) {
-            return {
-              data,
-              callback
-            };
-          },
-          *[Symbol.iterator]() {
-            yield* q._tasks[Symbol.iterator]();
-          },
-          concurrency,
-          payload,
-          buffer: concurrency / 4,
-          started: false,
-          paused: false,
-          push(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, false, callback));
-            }
-            return _insert(data, false, false, callback);
-          },
-          pushAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, true, callback));
-            }
-            return _insert(data, false, true, callback);
-          },
-          kill() {
-            off();
-            q._tasks.empty();
-          },
-          unshift(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, false, callback));
-            }
-            return _insert(data, true, false, callback);
-          },
-          unshiftAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, true, callback));
-            }
-            return _insert(data, true, true, callback);
-          },
-          remove(testFn) {
-            q._tasks.remove(testFn);
-          },
-          process() {
-            if (isProcessing) {
-              return;
-            }
-            isProcessing = true;
-            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
-              var tasks = [], data = [];
-              var l = q._tasks.length;
-              if (q.payload) l = Math.min(l, q.payload);
-              for (var i = 0; i < l; i++) {
-                var node = q._tasks.shift();
-                tasks.push(node);
-                workersList.push(node);
-                data.push(node.data);
-              }
-              numRunning += 1;
-              if (q._tasks.length === 0) {
-                trigger("empty");
-              }
-              if (numRunning === q.concurrency) {
-                trigger("saturated");
-              }
-              var cb = onlyOnce(_createCB(tasks));
-              _worker(data, cb);
-            }
-            isProcessing = false;
-          },
-          length() {
-            return q._tasks.length;
-          },
-          running() {
-            return numRunning;
-          },
-          workersList() {
-            return workersList;
-          },
-          idle() {
-            return q._tasks.length + numRunning === 0;
-          },
-          pause() {
-            q.paused = true;
-          },
-          resume() {
-            if (q.paused === false) {
-              return;
-            }
-            q.paused = false;
-            setImmediate$1(q.process);
+        this.pattern = pattern;
+        this.platform = opts.platform || defaultPlatform;
+        this.opts = { ...opts, platform: this.platform };
+        if (opts.scurry) {
+          this.scurry = opts.scurry;
+          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
+            throw new Error("nocase option contradicts provided scurry option");
           }
+        } else {
+          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
+          this.scurry = new Scurry(this.cwd, {
+            nocase: opts.nocase,
+            fs: opts.fs
+          });
+        }
+        this.nocase = this.scurry.nocase;
+        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
+        const mmo = {
+          // default nocase based on platform
+          ...opts,
+          dot: this.dot,
+          matchBase: this.matchBase,
+          nobrace: this.nobrace,
+          nocase: this.nocase,
+          nocaseMagicOnly,
+          nocomment: true,
+          noext: this.noext,
+          nonegate: true,
+          optimizationLevel: 2,
+          platform: this.platform,
+          windowsPathsNoEscape: this.windowsPathsNoEscape,
+          debug: !!this.opts.debug
         };
-        Object.defineProperties(q, {
-          saturated: {
-            writable: false,
-            value: eventMethod("saturated")
-          },
-          unsaturated: {
-            writable: false,
-            value: eventMethod("unsaturated")
-          },
-          empty: {
-            writable: false,
-            value: eventMethod("empty")
-          },
-          drain: {
-            writable: false,
-            value: eventMethod("drain")
-          },
-          error: {
-            writable: false,
-            value: eventMethod("error")
-          }
+        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
+        const [matchSet, globParts] = mms.reduce((set2, m) => {
+          set2[0].push(...m.set);
+          set2[1].push(...m.globParts);
+          return set2;
+        }, [[], []]);
+        this.patterns = matchSet.map((set2, i) => {
+          const g = globParts[i];
+          if (!g)
+            throw new Error("invalid pattern object");
+          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
         });
-        return q;
       }
-      function cargo$1(worker, payload) {
-        return queue$1(worker, 1, payload);
+      async walk() {
+        return [
+          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walk()
+        ];
       }
-      function cargo(worker, concurrency, payload) {
-        return queue$1(worker, concurrency, payload);
+      walkSync() {
+        return [
+          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walkSync()
+        ];
       }
-      function reduce(coll, memo, iteratee, callback) {
-        callback = once(callback);
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfSeries$1(coll, (x, i, iterCb) => {
-          _iteratee(memo, x, (err, v) => {
-            memo = v;
-            iterCb(err);
-          });
-        }, (err) => callback(err, memo));
+      stream() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).stream();
       }
-      var reduce$1 = awaitify(reduce, 4);
-      function seq2(...functions) {
-        var _functions = functions.map(wrapAsync);
-        return function(...args) {
-          var that = this;
-          var cb = args[args.length - 1];
-          if (typeof cb == "function") {
-            args.pop();
-          } else {
-            cb = promiseCallback();
-          }
-          reduce$1(
-            _functions,
-            args,
-            (newargs, fn, iterCb) => {
-              fn.apply(that, newargs.concat((err, ...nextargs) => {
-                iterCb(err, nextargs);
-              }));
-            },
-            (err, results) => cb(err, ...results)
-          );
-          return cb[PROMISE_SYMBOL];
-        };
+      streamSync() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).streamSync();
       }
-      function compose(...args) {
-        return seq2(...args.reverse());
+      /**
+       * Default sync iteration function. Returns a Generator that
+       * iterates over the results.
+       */
+      iterateSync() {
+        return this.streamSync()[Symbol.iterator]();
       }
-      function mapLimit(coll, limit, iteratee, callback) {
-        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      /**
+       * Default async iteration function. Returns an AsyncGenerator that
+       * iterates over the results.
+       */
+      iterate() {
+        return this.stream()[Symbol.asyncIterator]();
+      }
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+    };
+    exports2.Glob = Glob;
+  }
+});
+
+// node_modules/glob/dist/commonjs/has-magic.js
+var require_has_magic = __commonJS({
+  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hasMagic = void 0;
+    var minimatch_1 = require_commonjs20();
+    var hasMagic = (pattern, options = {}) => {
+      if (!Array.isArray(pattern)) {
+        pattern = [pattern];
+      }
+      for (const p of pattern) {
+        if (new minimatch_1.Minimatch(p, options).hasMagic())
+          return true;
+      }
+      return false;
+    };
+    exports2.hasMagic = hasMagic;
+  }
+});
+
+// node_modules/glob/dist/commonjs/index.js
+var require_commonjs24 = __commonJS({
+  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
+    exports2.globStreamSync = globStreamSync;
+    exports2.globStream = globStream;
+    exports2.globSync = globSync;
+    exports2.globIterateSync = globIterateSync;
+    exports2.globIterate = globIterate;
+    var minimatch_1 = require_commonjs20();
+    var glob_js_1 = require_glob2();
+    var has_magic_js_1 = require_has_magic();
+    var minimatch_2 = require_commonjs20();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return minimatch_2.escape;
+    } });
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return minimatch_2.unescape;
+    } });
+    var glob_js_2 = require_glob2();
+    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
+      return glob_js_2.Glob;
+    } });
+    var has_magic_js_2 = require_has_magic();
+    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
+      return has_magic_js_2.hasMagic;
+    } });
+    var ignore_js_1 = require_ignore();
+    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
+      return ignore_js_1.Ignore;
+    } });
+    function globStreamSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).streamSync();
+    }
+    function globStream(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).stream();
+    }
+    function globSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walkSync();
+    }
+    async function glob_(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walk();
+    }
+    function globIterateSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterateSync();
+    }
+    function globIterate(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterate();
+    }
+    exports2.streamSync = globStreamSync;
+    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
+    exports2.iterateSync = globIterateSync;
+    exports2.iterate = Object.assign(globIterate, {
+      sync: globIterateSync
+    });
+    exports2.sync = Object.assign(globSync, {
+      stream: globStreamSync,
+      iterate: globIterateSync
+    });
+    exports2.glob = Object.assign(glob_, {
+      glob: glob_,
+      globSync,
+      sync: exports2.sync,
+      globStream,
+      stream: exports2.stream,
+      globStreamSync,
+      streamSync: exports2.streamSync,
+      globIterate,
+      iterate: exports2.iterate,
+      globIterateSync,
+      iterateSync: exports2.iterateSync,
+      Glob: glob_js_1.Glob,
+      hasMagic: has_magic_js_1.hasMagic,
+      escape: minimatch_1.escape,
+      unescape: minimatch_1.unescape
+    });
+    exports2.glob.glob = exports2.glob;
+  }
+});
+
+// node_modules/archiver-utils/file.js
+var require_file4 = __commonJS({
+  "node_modules/archiver-utils/file.js"(exports2, module2) {
+    var fs8 = require_graceful_fs();
+    var path7 = require("path");
+    var flatten = require_flatten();
+    var difference = require_difference();
+    var union = require_union();
+    var isPlainObject3 = require_isPlainObject();
+    var glob2 = require_commonjs24();
+    var file = module2.exports = {};
+    var pathSeparatorRe = /[\/\\]/g;
+    var processPatterns = function(patterns, fn) {
+      var result = [];
+      flatten(patterns).forEach(function(pattern) {
+        var exclusion = pattern.indexOf("!") === 0;
+        if (exclusion) {
+          pattern = pattern.slice(1);
+        }
+        var matches = fn(pattern);
+        if (exclusion) {
+          result = difference(result, matches);
+        } else {
+          result = union(result, matches);
+        }
+      });
+      return result;
+    };
+    file.exists = function() {
+      var filepath = path7.join.apply(path7, arguments);
+      return fs8.existsSync(filepath);
+    };
+    file.expand = function(...args) {
+      var options = isPlainObject3(args[0]) ? args.shift() : {};
+      var patterns = Array.isArray(args[0]) ? args[0] : args;
+      if (patterns.length === 0) {
+        return [];
       }
-      var mapLimit$1 = awaitify(mapLimit, 4);
-      function concatLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, ...args) => {
-            if (err) return iterCb(err);
-            return iterCb(err, args);
-          });
-        }, (err, mapResults) => {
-          var result = [];
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              result = result.concat(...mapResults[i]);
+      var matches = processPatterns(patterns, function(pattern) {
+        return glob2.sync(pattern, options);
+      });
+      if (options.filter) {
+        matches = matches.filter(function(filepath) {
+          filepath = path7.join(options.cwd || "", filepath);
+          try {
+            if (typeof options.filter === "function") {
+              return options.filter(filepath);
+            } else {
+              return fs8.statSync(filepath)[options.filter]();
             }
+          } catch (e) {
+            return false;
           }
-          return callback(err, result);
         });
       }
-      var concatLimit$1 = awaitify(concatLimit, 4);
-      function concat(coll, iteratee, callback) {
-        return concatLimit$1(coll, Infinity, iteratee, callback);
-      }
-      var concat$1 = awaitify(concat, 3);
-      function concatSeries(coll, iteratee, callback) {
-        return concatLimit$1(coll, 1, iteratee, callback);
-      }
-      var concatSeries$1 = awaitify(concatSeries, 3);
-      function constant$1(...args) {
-        return function(...ignoredArgs) {
-          var callback = ignoredArgs.pop();
-          return callback(null, ...args);
-        };
+      return matches;
+    };
+    file.expandMapping = function(patterns, destBase, options) {
+      options = Object.assign({
+        rename: function(destBase2, destPath) {
+          return path7.join(destBase2 || "", destPath);
+        }
+      }, options);
+      var files = [];
+      var fileByDest = {};
+      file.expand(options, patterns).forEach(function(src) {
+        var destPath = src;
+        if (options.flatten) {
+          destPath = path7.basename(destPath);
+        }
+        if (options.ext) {
+          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+        }
+        var dest = options.rename(destBase, destPath, options);
+        if (options.cwd) {
+          src = path7.join(options.cwd, src);
+        }
+        dest = dest.replace(pathSeparatorRe, "/");
+        src = src.replace(pathSeparatorRe, "/");
+        if (fileByDest[dest]) {
+          fileByDest[dest].src.push(src);
+        } else {
+          files.push({
+            src: [src],
+            dest
+          });
+          fileByDest[dest] = files[files.length - 1];
+        }
+      });
+      return files;
+    };
+    file.normalizeFilesArray = function(data) {
+      var files = [];
+      data.forEach(function(obj) {
+        var prop;
+        if ("src" in obj || "dest" in obj) {
+          files.push(obj);
+        }
+      });
+      if (files.length === 0) {
+        return [];
       }
-      function _createTester(check, getResult) {
-        return (eachfn, arr, _iteratee, cb) => {
-          var testPassed = false;
-          var testResult;
-          const iteratee = wrapAsync(_iteratee);
-          eachfn(arr, (value, _2, callback) => {
-            iteratee(value, (err, result) => {
-              if (err || err === false) return callback(err);
-              if (check(result) && !testResult) {
-                testPassed = true;
-                testResult = getResult(true, value);
-                return callback(null, breakLoop);
-              }
-              callback();
+      files = _(files).chain().forEach(function(obj) {
+        if (!("src" in obj) || !obj.src) {
+          return;
+        }
+        if (Array.isArray(obj.src)) {
+          obj.src = flatten(obj.src);
+        } else {
+          obj.src = [obj.src];
+        }
+      }).map(function(obj) {
+        var expandOptions = Object.assign({}, obj);
+        delete expandOptions.src;
+        delete expandOptions.dest;
+        if (obj.expand) {
+          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
+            var result2 = Object.assign({}, obj);
+            result2.orig = Object.assign({}, obj);
+            result2.src = mapObj.src;
+            result2.dest = mapObj.dest;
+            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
+              delete result2[prop];
             });
-          }, (err) => {
-            if (err) return cb(err);
-            cb(null, testPassed ? testResult : getResult(false));
+            return result2;
           });
-        };
-      }
-      function detect(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
-      }
-      var detect$1 = awaitify(detect, 3);
-      function detectLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
-      }
-      var detectLimit$1 = awaitify(detectLimit, 4);
-      function detectSeries(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
-      }
-      var detectSeries$1 = awaitify(detectSeries, 3);
-      function consoleFunc(name) {
-        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
-          if (typeof console === "object") {
-            if (err) {
-              if (console.error) {
-                console.error(err);
+        }
+        var result = Object.assign({}, obj);
+        result.orig = Object.assign({}, obj);
+        if ("src" in result) {
+          Object.defineProperty(result, "src", {
+            enumerable: true,
+            get: function fn() {
+              var src;
+              if (!("result" in fn)) {
+                src = obj.src;
+                src = Array.isArray(src) ? flatten(src) : [src];
+                fn.result = file.expand(expandOptions, src);
               }
-            } else if (console[name]) {
-              resultArgs.forEach((x) => console[name](x));
+              return fn.result;
             }
-          }
-        });
-      }
-      var dir = consoleFunc("dir");
-      function doWhilst(iteratee, test, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results;
-        function next(err, ...args) {
-          if (err) return callback(err);
-          if (err === false) return;
-          results = args;
-          _test(...args, check);
+          });
         }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
+        if ("dest" in result) {
+          result.dest = obj.dest;
         }
-        return check(null, true);
-      }
-      var doWhilst$1 = awaitify(doWhilst, 3);
-      function doUntil(iteratee, test, callback) {
-        const _test = wrapAsync(test);
-        return doWhilst$1(iteratee, (...args) => {
-          const cb = args.pop();
-          _test(...args, (err, truth) => cb(err, !truth));
-        }, callback);
-      }
-      function _withoutIndex(iteratee) {
-        return (value, index2, callback) => iteratee(value, callback);
-      }
-      function eachLimit$2(coll, iteratee, callback) {
-        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+        return result;
+      }).flatten().value();
+      return files;
+    };
+  }
+});
+
+// node_modules/archiver-utils/index.js
+var require_archiver_utils = __commonJS({
+  "node_modules/archiver-utils/index.js"(exports2, module2) {
+    var fs8 = require_graceful_fs();
+    var path7 = require("path");
+    var isStream = require_is_stream();
+    var lazystream = require_lazystream();
+    var normalizePath = require_normalize_path();
+    var defaults = require_defaults();
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var utils = module2.exports = {};
+    utils.file = require_file4();
+    utils.collectStream = function(source, callback) {
+      var collection = [];
+      var size = 0;
+      source.on("error", callback);
+      source.on("data", function(chunk) {
+        collection.push(chunk);
+        size += chunk.length;
+      });
+      source.on("end", function() {
+        var buf = Buffer.alloc(size);
+        var offset = 0;
+        collection.forEach(function(data) {
+          data.copy(buf, offset);
+          offset += data.length;
+        });
+        callback(null, buf);
+      });
+    };
+    utils.dateify = function(dateish) {
+      dateish = dateish || /* @__PURE__ */ new Date();
+      if (dateish instanceof Date) {
+        dateish = dateish;
+      } else if (typeof dateish === "string") {
+        dateish = new Date(dateish);
+      } else {
+        dateish = /* @__PURE__ */ new Date();
       }
-      var each = awaitify(eachLimit$2, 3);
-      function eachLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      return dateish;
+    };
+    utils.defaults = function(object, source, guard) {
+      var args = arguments;
+      args[0] = args[0] || {};
+      return defaults(...args);
+    };
+    utils.isStream = function(source) {
+      return isStream(source);
+    };
+    utils.lazyReadStream = function(filepath) {
+      return new lazystream.Readable(function() {
+        return fs8.createReadStream(filepath);
+      });
+    };
+    utils.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (utils.isStream(source)) {
+        return source.pipe(new PassThrough());
       }
-      var eachLimit$1 = awaitify(eachLimit, 4);
-      function eachSeries(coll, iteratee, callback) {
-        return eachLimit$1(coll, 1, iteratee, callback);
+      return source;
+    };
+    utils.sanitizePath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+    };
+    utils.trailingSlashIt = function(str2) {
+      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
+    };
+    utils.unixifyPath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "");
+    };
+    utils.walkdir = function(dirpath, base, callback) {
+      var results = [];
+      if (typeof base === "function") {
+        callback = base;
+        base = dirpath;
       }
-      var eachSeries$1 = awaitify(eachSeries, 3);
-      function ensureAsync(fn) {
-        if (isAsync(fn)) return fn;
-        return function(...args) {
-          var callback = args.pop();
-          var sync = true;
-          args.push((...innerArgs) => {
-            if (sync) {
-              setImmediate$1(() => callback(...innerArgs));
+      fs8.readdir(dirpath, function(err, list) {
+        var i = 0;
+        var file;
+        var filepath;
+        if (err) {
+          return callback(err);
+        }
+        (function next() {
+          file = list[i++];
+          if (!file) {
+            return callback(null, results);
+          }
+          filepath = path7.join(dirpath, file);
+          fs8.stat(filepath, function(err2, stats) {
+            results.push({
+              path: filepath,
+              relative: path7.relative(base, filepath).replace(/\\/g, "/"),
+              stats
+            });
+            if (stats && stats.isDirectory()) {
+              utils.walkdir(filepath, base, function(err3, res) {
+                if (err3) {
+                  return callback(err3);
+                }
+                res.forEach(function(dirEntry) {
+                  results.push(dirEntry);
+                });
+                next();
+              });
             } else {
-              callback(...innerArgs);
+              next();
             }
           });
-          fn.apply(this, args);
-          sync = false;
-        };
+        })();
+      });
+    };
+  }
+});
+
+// node_modules/archiver/lib/error.js
+var require_error3 = __commonJS({
+  "node_modules/archiver/lib/error.js"(exports2, module2) {
+    var util = require("util");
+    var ERROR_CODES = {
+      "ABORTED": "archive was aborted",
+      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
+      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
+      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
+      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
+      "FINALIZING": "archive already finalizing",
+      "QUEUECLOSED": "queue closed",
+      "NOENDMETHOD": "no suitable finalize/end method defined by module",
+      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
+      "FORMATSET": "archive format already set",
+      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
+      "MODULESET": "module already set",
+      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
+      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
+      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
+      "ENTRYNOTSUPPORTED": "entry not supported"
+    };
+    function ArchiverError(code, data) {
+      Error.captureStackTrace(this, this.constructor);
+      this.message = ERROR_CODES[code] || code;
+      this.code = code;
+      this.data = data;
+    }
+    util.inherits(ArchiverError, Error);
+    exports2 = module2.exports = ArchiverError;
+  }
+});
+
+// node_modules/archiver/lib/core.js
+var require_core2 = __commonJS({
+  "node_modules/archiver/lib/core.js"(exports2, module2) {
+    var fs8 = require("fs");
+    var glob2 = require_readdir_glob();
+    var async = require_async();
+    var path7 = require("path");
+    var util = require_archiver_utils();
+    var inherits = require("util").inherits;
+    var ArchiverError = require_error3();
+    var Transform = require_ours().Transform;
+    var win32 = process.platform === "win32";
+    var Archiver = function(format, options) {
+      if (!(this instanceof Archiver)) {
+        return new Archiver(format, options);
       }
-      function every(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
+      if (typeof format !== "string") {
+        options = format;
+        format = "zip";
       }
-      var every$1 = awaitify(every, 3);
-      function everyLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      options = this.options = util.defaults(options, {
+        highWaterMark: 1024 * 1024,
+        statConcurrency: 4
+      });
+      Transform.call(this, options);
+      this._format = false;
+      this._module = false;
+      this._pending = 0;
+      this._pointer = 0;
+      this._entriesCount = 0;
+      this._entriesProcessedCount = 0;
+      this._fsEntriesTotalBytes = 0;
+      this._fsEntriesProcessedBytes = 0;
+      this._queue = async.queue(this._onQueueTask.bind(this), 1);
+      this._queue.drain(this._onQueueDrain.bind(this));
+      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
+      this._statQueue.drain(this._onQueueDrain.bind(this));
+      this._state = {
+        aborted: false,
+        finalize: false,
+        finalizing: false,
+        finalized: false,
+        modulePiped: false
+      };
+      this._streams = [];
+    };
+    inherits(Archiver, Transform);
+    Archiver.prototype._abort = function() {
+      this._state.aborted = true;
+      this._queue.kill();
+      this._statQueue.kill();
+      if (this._queue.idle()) {
+        this._shutdown();
       }
-      var everyLimit$1 = awaitify(everyLimit, 4);
-      function everySeries(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
+    };
+    Archiver.prototype._append = function(filepath, data) {
+      data = data || {};
+      var task = {
+        source: null,
+        filepath
+      };
+      if (!data.name) {
+        data.name = filepath;
       }
-      var everySeries$1 = awaitify(everySeries, 3);
-      function filterArray(eachfn, arr, iteratee, callback) {
-        var truthValues = new Array(arr.length);
-        eachfn(arr, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            truthValues[index2] = !!v;
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          var results = [];
-          for (var i = 0; i < arr.length; i++) {
-            if (truthValues[i]) results.push(arr[i]);
+      data.sourcePath = filepath;
+      task.data = data;
+      this._entriesCount++;
+      if (data.stats && data.stats instanceof fs8.Stats) {
+        task = this._updateQueueTaskWithStats(task, data.stats);
+        if (task) {
+          if (data.stats.size) {
+            this._fsEntriesTotalBytes += data.stats.size;
           }
-          callback(null, results);
-        });
-      }
-      function filterGeneric(eachfn, coll, iteratee, callback) {
-        var results = [];
-        eachfn(coll, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            if (err) return iterCb(err);
-            if (v) {
-              results.push({ index: index2, value: x });
-            }
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
-        });
-      }
-      function _filter(eachfn, coll, iteratee, callback) {
-        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
-        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
-      }
-      function filter(coll, iteratee, callback) {
-        return _filter(eachOf$1, coll, iteratee, callback);
-      }
-      var filter$1 = awaitify(filter, 3);
-      function filterLimit(coll, limit, iteratee, callback) {
-        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
-      }
-      var filterLimit$1 = awaitify(filterLimit, 4);
-      function filterSeries(coll, iteratee, callback) {
-        return _filter(eachOfSeries$1, coll, iteratee, callback);
-      }
-      var filterSeries$1 = awaitify(filterSeries, 3);
-      function forever(fn, errback) {
-        var done = onlyOnce(errback);
-        var task = wrapAsync(ensureAsync(fn));
-        function next(err) {
-          if (err) return done(err);
-          if (err === false) return;
-          task(next);
+          this._queue.push(task);
         }
-        return next();
-      }
-      var forever$1 = awaitify(forever, 2);
-      function groupByLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, key) => {
-            if (err) return iterCb(err);
-            return iterCb(err, { key, val });
-          });
-        }, (err, mapResults) => {
-          var result = {};
-          var { hasOwnProperty } = Object.prototype;
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              var { key } = mapResults[i];
-              var { val } = mapResults[i];
-              if (hasOwnProperty.call(result, key)) {
-                result[key].push(val);
-              } else {
-                result[key] = [val];
-              }
-            }
-          }
-          return callback(err, result);
-        });
-      }
-      var groupByLimit$1 = awaitify(groupByLimit, 4);
-      function groupBy(coll, iteratee, callback) {
-        return groupByLimit$1(coll, Infinity, iteratee, callback);
+      } else {
+        this._statQueue.push(task);
       }
-      function groupBySeries(coll, iteratee, callback) {
-        return groupByLimit$1(coll, 1, iteratee, callback);
+    };
+    Archiver.prototype._finalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
       }
-      var log = consoleFunc("log");
-      function mapValuesLimit(obj, limit, iteratee, callback) {
-        callback = once(callback);
-        var newObj = {};
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfLimit$2(limit)(obj, (val, key, next) => {
-          _iteratee(val, key, (err, result) => {
-            if (err) return next(err);
-            newObj[key] = result;
-            next(err);
-          });
-        }, (err) => callback(err, newObj));
+      this._state.finalizing = true;
+      this._moduleFinalize();
+      this._state.finalizing = false;
+      this._state.finalized = true;
+    };
+    Archiver.prototype._maybeFinalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return false;
       }
-      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
-      function mapValues(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+        return true;
       }
-      function mapValuesSeries(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, 1, iteratee, callback);
+      return false;
+    };
+    Archiver.prototype._moduleAppend = function(source, data, callback) {
+      if (this._state.aborted) {
+        callback();
+        return;
       }
-      function memoize(fn, hasher = (v) => v) {
-        var memo = /* @__PURE__ */ Object.create(null);
-        var queues = /* @__PURE__ */ Object.create(null);
-        var _fn = wrapAsync(fn);
-        var memoized = initialParams((args, callback) => {
-          var key = hasher(...args);
-          if (key in memo) {
-            setImmediate$1(() => callback(null, ...memo[key]));
-          } else if (key in queues) {
-            queues[key].push(callback);
-          } else {
-            queues[key] = [callback];
-            _fn(...args, (err, ...resultArgs) => {
-              if (!err) {
-                memo[key] = resultArgs;
-              }
-              var q = queues[key];
-              delete queues[key];
-              for (var i = 0, l = q.length; i < l; i++) {
-                q[i](err, ...resultArgs);
-              }
-            });
+      this._module.append(source, data, function(err) {
+        this._task = null;
+        if (this._state.aborted) {
+          this._shutdown();
+          return;
+        }
+        if (err) {
+          this.emit("error", err);
+          setImmediate(callback);
+          return;
+        }
+        this.emit("entry", data);
+        this._entriesProcessedCount++;
+        if (data.stats && data.stats.size) {
+          this._fsEntriesProcessedBytes += data.stats.size;
+        }
+        this.emit("progress", {
+          entries: {
+            total: this._entriesCount,
+            processed: this._entriesProcessedCount
+          },
+          fs: {
+            totalBytes: this._fsEntriesTotalBytes,
+            processedBytes: this._fsEntriesProcessedBytes
           }
         });
-        memoized.memo = memo;
-        memoized.unmemoized = fn;
-        return memoized;
-      }
-      var _defer;
-      if (hasNextTick) {
-        _defer = process.nextTick;
-      } else if (hasSetImmediate) {
-        _defer = setImmediate;
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._moduleFinalize = function() {
+      if (typeof this._module.finalize === "function") {
+        this._module.finalize();
+      } else if (typeof this._module.end === "function") {
+        this._module.end();
       } else {
-        _defer = fallback;
-      }
-      var nextTick = wrap(_defer);
-      var _parallel = awaitify((eachfn, tasks, callback) => {
-        var results = isArrayLike(tasks) ? [] : {};
-        eachfn(tasks, (task, key, taskCb) => {
-          wrapAsync(task)((err, ...result) => {
-            if (result.length < 2) {
-              [result] = result;
-            }
-            results[key] = result;
-            taskCb(err);
-          });
-        }, (err) => callback(err, results));
-      }, 3);
-      function parallel(tasks, callback) {
-        return _parallel(eachOf$1, tasks, callback);
+        this.emit("error", new ArchiverError("NOENDMETHOD"));
       }
-      function parallelLimit(tasks, limit, callback) {
-        return _parallel(eachOfLimit$2(limit), tasks, callback);
+    };
+    Archiver.prototype._modulePipe = function() {
+      this._module.on("error", this._onModuleError.bind(this));
+      this._module.pipe(this);
+      this._state.modulePiped = true;
+    };
+    Archiver.prototype._moduleSupports = function(key) {
+      if (!this._module.supports || !this._module.supports[key]) {
+        return false;
       }
-      function queue(worker, concurrency) {
-        var _worker = wrapAsync(worker);
-        return queue$1((items, cb) => {
-          _worker(items[0], cb);
-        }, concurrency, 1);
+      return this._module.supports[key];
+    };
+    Archiver.prototype._moduleUnpipe = function() {
+      this._module.unpipe(this);
+      this._state.modulePiped = false;
+    };
+    Archiver.prototype._normalizeEntryData = function(data, stats) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        date: null,
+        mode: null,
+        prefix: null,
+        sourcePath: null,
+        stats: false
+      });
+      if (stats && data.stats === false) {
+        data.stats = stats;
       }
-      class Heap {
-        constructor() {
-          this.heap = [];
-          this.pushCount = Number.MIN_SAFE_INTEGER;
-        }
-        get length() {
-          return this.heap.length;
+      var isDir = data.type === "directory";
+      if (data.name) {
+        if (typeof data.prefix === "string" && "" !== data.prefix) {
+          data.name = data.prefix + "/" + data.name;
+          data.prefix = null;
         }
-        empty() {
-          this.heap = [];
-          return this;
+        data.name = util.sanitizePath(data.name);
+        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
         }
-        percUp(index2) {
-          let p;
-          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[p];
-            this.heap[p] = t;
-            index2 = p;
-          }
+      }
+      if (typeof data.mode === "number") {
+        if (win32) {
+          data.mode &= 511;
+        } else {
+          data.mode &= 4095;
         }
-        percDown(index2) {
-          let l;
-          while ((l = leftChi(index2)) < this.heap.length) {
-            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
-              l = l + 1;
-            }
-            if (smaller(this.heap[index2], this.heap[l])) {
-              break;
-            }
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[l];
-            this.heap[l] = t;
-            index2 = l;
-          }
+      } else if (data.stats && data.mode === null) {
+        if (win32) {
+          data.mode = data.stats.mode & 511;
+        } else {
+          data.mode = data.stats.mode & 4095;
         }
-        push(node) {
-          node.pushCount = ++this.pushCount;
-          this.heap.push(node);
-          this.percUp(this.heap.length - 1);
+        if (win32 && isDir) {
+          data.mode = 493;
         }
-        unshift(node) {
-          return this.heap.push(node);
+      } else if (data.mode === null) {
+        data.mode = isDir ? 493 : 420;
+      }
+      if (data.stats && data.date === null) {
+        data.date = data.stats.mtime;
+      } else {
+        data.date = util.dateify(data.date);
+      }
+      return data;
+    };
+    Archiver.prototype._onModuleError = function(err) {
+      this.emit("error", err);
+    };
+    Archiver.prototype._onQueueDrain = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
+      }
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+      }
+    };
+    Archiver.prototype._onQueueTask = function(task, callback) {
+      var fullCallback = () => {
+        if (task.data.callback) {
+          task.data.callback();
         }
-        shift() {
-          let [top] = this.heap;
-          this.heap[0] = this.heap[this.heap.length - 1];
-          this.heap.pop();
-          this.percDown(0);
-          return top;
+        callback();
+      };
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        fullCallback();
+        return;
+      }
+      this._task = task;
+      this._moduleAppend(task.source, task.data, fullCallback);
+    };
+    Archiver.prototype._onStatQueueTask = function(task, callback) {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        callback();
+        return;
+      }
+      fs8.lstat(task.filepath, function(err, stats) {
+        if (this._state.aborted) {
+          setImmediate(callback);
+          return;
         }
-        toArray() {
-          return [...this];
+        if (err) {
+          this._entriesCount--;
+          this.emit("warning", err);
+          setImmediate(callback);
+          return;
         }
-        *[Symbol.iterator]() {
-          for (let i = 0; i < this.heap.length; i++) {
-            yield this.heap[i].data;
+        task = this._updateQueueTaskWithStats(task, stats);
+        if (task) {
+          if (stats.size) {
+            this._fsEntriesTotalBytes += stats.size;
           }
+          this._queue.push(task);
         }
-        remove(testFn) {
-          let j = 0;
-          for (let i = 0; i < this.heap.length; i++) {
-            if (!testFn(this.heap[i])) {
-              this.heap[j] = this.heap[i];
-              j++;
-            }
-          }
-          this.heap.splice(j);
-          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
-            this.percDown(i);
-          }
-          return this;
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._shutdown = function() {
+      this._moduleUnpipe();
+      this.end();
+    };
+    Archiver.prototype._transform = function(chunk, encoding, callback) {
+      if (chunk) {
+        this._pointer += chunk.length;
+      }
+      callback(null, chunk);
+    };
+    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
+      if (stats.isFile()) {
+        task.data.type = "file";
+        task.data.sourceType = "stream";
+        task.source = util.lazyReadStream(task.filepath);
+      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
+        task.data.name = util.trailingSlashIt(task.data.name);
+        task.data.type = "directory";
+        task.data.sourcePath = util.trailingSlashIt(task.filepath);
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
+        var linkPath = fs8.readlinkSync(task.filepath);
+        var dirName = path7.dirname(task.filepath);
+        task.data.type = "symlink";
+        task.data.linkname = path7.relative(dirName, path7.resolve(dirName, linkPath));
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else {
+        if (stats.isDirectory()) {
+          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
+        } else if (stats.isSymbolicLink()) {
+          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
+        } else {
+          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
         }
+        return null;
       }
-      function leftChi(i) {
-        return (i << 1) + 1;
+      task.data = this._normalizeEntryData(task.data, stats);
+      return task;
+    };
+    Archiver.prototype.abort = function() {
+      if (this._state.aborted || this._state.finalized) {
+        return this;
       }
-      function parent(i) {
-        return (i + 1 >> 1) - 1;
+      this._abort();
+      return this;
+    };
+    Archiver.prototype.append = function(source, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      function smaller(x, y) {
-        if (x.priority !== y.priority) {
-          return x.priority < y.priority;
-        } else {
-          return x.pushCount < y.pushCount;
-        }
+      data = this._normalizeEntryData(data);
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
+        return this;
       }
-      function priorityQueue(worker, concurrency) {
-        var q = queue(worker, concurrency);
-        var {
-          push,
-          pushAsync
-        } = q;
-        q._tasks = new Heap();
-        q._createTaskItem = ({ data, priority }, callback) => {
-          return {
-            data,
-            priority,
-            callback
-          };
-        };
-        function createDataItems(tasks, priority) {
-          if (!Array.isArray(tasks)) {
-            return { data: tasks, priority };
-          }
-          return tasks.map((data) => {
-            return { data, priority };
-          });
-        }
-        q.push = function(data, priority = 0, callback) {
-          return push(createDataItems(data, priority), callback);
-        };
-        q.pushAsync = function(data, priority = 0, callback) {
-          return pushAsync(createDataItems(data, priority), callback);
-        };
-        delete q.unshift;
-        delete q.unshiftAsync;
-        return q;
+      if (data.type === "directory" && !this._moduleSupports("directory")) {
+        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
+        return this;
       }
-      function race(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
-        if (!tasks.length) return callback();
-        for (var i = 0, l = tasks.length; i < l; i++) {
-          wrapAsync(tasks[i])(callback);
-        }
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        data.sourceType = "buffer";
+      } else if (util.isStream(source)) {
+        data.sourceType = "stream";
+      } else {
+        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
+        return this;
+      }
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source
+      });
+      return this;
+    };
+    Archiver.prototype.directory = function(dirpath, destpath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
+      }
+      if (typeof dirpath !== "string" || dirpath.length === 0) {
+        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
+        return this;
+      }
+      this._pending++;
+      if (destpath === false) {
+        destpath = "";
+      } else if (typeof destpath !== "string") {
+        destpath = dirpath;
+      }
+      var dataFunction = false;
+      if (typeof data === "function") {
+        dataFunction = data;
+        data = {};
+      } else if (typeof data !== "object") {
+        data = {};
       }
-      var race$1 = awaitify(race, 2);
-      function reduceRight(array, memo, iteratee, callback) {
-        var reversed = [...array].reverse();
-        return reduce$1(reversed, memo, iteratee, callback);
+      var globOptions = {
+        stat: true,
+        dot: true
+      };
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-      function reflect(fn) {
-        var _fn = wrapAsync(fn);
-        return initialParams(function reflectOn(args, reflectCallback) {
-          args.push((error3, ...cbArgs) => {
-            let retVal = {};
-            if (error3) {
-              retVal.error = error3;
-            }
-            if (cbArgs.length > 0) {
-              var value = cbArgs;
-              if (cbArgs.length <= 1) {
-                [value] = cbArgs;
-              }
-              retVal.value = value;
-            }
-            reflectCallback(null, retVal);
-          });
-          return _fn.apply(this, args);
-        });
+      function onGlobError(err) {
+        this.emit("error", err);
       }
-      function reflectAll(tasks) {
-        var results;
-        if (Array.isArray(tasks)) {
-          results = tasks.map(reflect);
-        } else {
-          results = {};
-          Object.keys(tasks).forEach((key) => {
-            results[key] = reflect.call(this, tasks[key]);
-          });
+      function onGlobMatch(match) {
+        globber.pause();
+        var ignoreMatch = false;
+        var entryData = Object.assign({}, data);
+        entryData.name = match.relative;
+        entryData.prefix = destpath;
+        entryData.stats = match.stat;
+        entryData.callback = globber.resume.bind(globber);
+        try {
+          if (dataFunction) {
+            entryData = dataFunction(entryData);
+            if (entryData === false) {
+              ignoreMatch = true;
+            } else if (typeof entryData !== "object") {
+              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
+            }
+          }
+        } catch (e) {
+          this.emit("error", e);
+          return;
         }
-        return results;
+        if (ignoreMatch) {
+          globber.resume();
+          return;
+        }
+        this._append(match.absolute, entryData);
       }
-      function reject$2(eachfn, arr, _iteratee, callback) {
-        const iteratee = wrapAsync(_iteratee);
-        return _filter(eachfn, arr, (value, cb) => {
-          iteratee(value, (err, v) => {
-            cb(err, !v);
-          });
-        }, callback);
+      var globber = glob2(dirpath, globOptions);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.file = function(filepath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      function reject(coll, iteratee, callback) {
-        return reject$2(eachOf$1, coll, iteratee, callback);
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
+        return this;
       }
-      var reject$1 = awaitify(reject, 3);
-      function rejectLimit(coll, limit, iteratee, callback) {
-        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
+      this._append(filepath, data);
+      return this;
+    };
+    Archiver.prototype.glob = function(pattern, options, data) {
+      this._pending++;
+      options = util.defaults(options, {
+        stat: true,
+        pattern
+      });
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-      var rejectLimit$1 = awaitify(rejectLimit, 4);
-      function rejectSeries(coll, iteratee, callback) {
-        return reject$2(eachOfSeries$1, coll, iteratee, callback);
+      function onGlobError(err) {
+        this.emit("error", err);
       }
-      var rejectSeries$1 = awaitify(rejectSeries, 3);
-      function constant(value) {
-        return function() {
-          return value;
-        };
+      function onGlobMatch(match) {
+        globber.pause();
+        var entryData = Object.assign({}, data);
+        entryData.callback = globber.resume.bind(globber);
+        entryData.stats = match.stat;
+        entryData.name = match.relative;
+        this._append(match.absolute, entryData);
       }
-      const DEFAULT_TIMES = 5;
-      const DEFAULT_INTERVAL = 0;
-      function retry2(opts, task, callback) {
-        var options = {
-          times: DEFAULT_TIMES,
-          intervalFunc: constant(DEFAULT_INTERVAL)
-        };
-        if (arguments.length < 3 && typeof opts === "function") {
-          callback = task || promiseCallback();
-          task = opts;
-        } else {
-          parseTimes(options, opts);
-          callback = callback || promiseCallback();
-        }
-        if (typeof task !== "function") {
-          throw new Error("Invalid arguments for async.retry");
-        }
-        var _task = wrapAsync(task);
-        var attempt = 1;
-        function retryAttempt() {
-          _task((err, ...args) => {
-            if (err === false) return;
-            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
-              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
-            } else {
-              callback(err, ...args);
-            }
-          });
-        }
-        retryAttempt();
-        return callback[PROMISE_SYMBOL];
+      var globber = glob2(options.cwd || ".", options);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.finalize = function() {
+      if (this._state.aborted) {
+        var abortedError = new ArchiverError("ABORTED");
+        this.emit("error", abortedError);
+        return Promise.reject(abortedError);
       }
-      function parseTimes(acc, t) {
-        if (typeof t === "object") {
-          acc.times = +t.times || DEFAULT_TIMES;
-          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
-          acc.errorFilter = t.errorFilter;
-        } else if (typeof t === "number" || typeof t === "string") {
-          acc.times = +t || DEFAULT_TIMES;
-        } else {
-          throw new Error("Invalid arguments for async.retry");
-        }
+      if (this._state.finalize) {
+        var finalizingError = new ArchiverError("FINALIZING");
+        this.emit("error", finalizingError);
+        return Promise.reject(finalizingError);
       }
-      function retryable(opts, task) {
-        if (!task) {
-          task = opts;
-          opts = null;
-        }
-        let arity = opts && opts.arity || task.length;
-        if (isAsync(task)) {
-          arity += 1;
-        }
-        var _task = wrapAsync(task);
-        return initialParams((args, callback) => {
-          if (args.length < arity - 1 || callback == null) {
-            args.push(callback);
-            callback = promiseCallback();
-          }
-          function taskFn(cb) {
-            _task(...args, cb);
+      this._state.finalize = true;
+      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+      }
+      var self2 = this;
+      return new Promise(function(resolve5, reject) {
+        var errored;
+        self2._module.on("end", function() {
+          if (!errored) {
+            resolve5();
           }
-          if (opts) retry2(opts, taskFn, callback);
-          else retry2(taskFn, callback);
-          return callback[PROMISE_SYMBOL];
         });
+        self2._module.on("error", function(err) {
+          errored = true;
+          reject(err);
+        });
+      });
+    };
+    Archiver.prototype.setFormat = function(format) {
+      if (this._format) {
+        this.emit("error", new ArchiverError("FORMATSET"));
+        return this;
       }
-      function series(tasks, callback) {
-        return _parallel(eachOfSeries$1, tasks, callback);
+      this._format = format;
+      return this;
+    };
+    Archiver.prototype.setModule = function(module3) {
+      if (this._state.aborted) {
+        this.emit("error", new ArchiverError("ABORTED"));
+        return this;
       }
-      function some(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
+      if (this._state.module) {
+        this.emit("error", new ArchiverError("MODULESET"));
+        return this;
       }
-      var some$1 = awaitify(some, 3);
-      function someLimit(coll, limit, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      this._module = module3;
+      this._modulePipe();
+      return this;
+    };
+    Archiver.prototype.symlink = function(filepath, target, mode) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      var someLimit$1 = awaitify(someLimit, 4);
-      function someSeries(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
+        return this;
       }
-      var someSeries$1 = awaitify(someSeries, 3);
-      function sortBy(coll, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return map$1(coll, (x, iterCb) => {
-          _iteratee(x, (err, criteria) => {
-            if (err) return iterCb(err);
-            iterCb(err, { value: x, criteria });
-          });
-        }, (err, results) => {
-          if (err) return callback(err);
-          callback(null, results.sort(comparator).map((v) => v.value));
-        });
-        function comparator(left, right) {
-          var a = left.criteria, b = right.criteria;
-          return a < b ? -1 : a > b ? 1 : 0;
-        }
+      if (typeof target !== "string" || target.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
+        return this;
       }
-      var sortBy$1 = awaitify(sortBy, 3);
-      function timeout(asyncFn, milliseconds, info7) {
-        var fn = wrapAsync(asyncFn);
-        return initialParams((args, callback) => {
-          var timedOut = false;
-          var timer;
-          function timeoutCallback() {
-            var name = asyncFn.name || "anonymous";
-            var error3 = new Error('Callback function "' + name + '" timed out.');
-            error3.code = "ETIMEDOUT";
-            if (info7) {
-              error3.info = info7;
-            }
-            timedOut = true;
-            callback(error3);
-          }
-          args.push((...cbArgs) => {
-            if (!timedOut) {
-              callback(...cbArgs);
-              clearTimeout(timer);
-            }
-          });
-          timer = setTimeout(timeoutCallback, milliseconds);
-          fn(...args);
-        });
+      if (!this._moduleSupports("symlink")) {
+        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
+        return this;
       }
-      function range(size) {
-        var result = Array(size);
-        while (size--) {
-          result[size] = size;
-        }
-        return result;
+      var data = {};
+      data.type = "symlink";
+      data.name = filepath.replace(/\\/g, "/");
+      data.linkname = target.replace(/\\/g, "/");
+      data.sourceType = "buffer";
+      if (typeof mode === "number") {
+        data.mode = mode;
       }
-      function timesLimit(count, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(range(count), limit, _iteratee, callback);
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source: Buffer.concat([])
+      });
+      return this;
+    };
+    Archiver.prototype.pointer = function() {
+      return this._pointer;
+    };
+    Archiver.prototype.use = function(plugin) {
+      this._streams.push(plugin);
+      return this;
+    };
+    module2.exports = Archiver;
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/archive-entry.js
+var require_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
+    var ArchiveEntry = module2.exports = function() {
+    };
+    ArchiveEntry.prototype.getName = function() {
+    };
+    ArchiveEntry.prototype.getSize = function() {
+    };
+    ArchiveEntry.prototype.getLastModifiedDate = function() {
+    };
+    ArchiveEntry.prototype.isDirectory = function() {
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/util.js
+var require_util22 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
+    var util = module2.exports = {};
+    util.dateToDos = function(d, forceLocalTime) {
+      forceLocalTime = forceLocalTime || false;
+      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
+      if (year < 1980) {
+        return 2162688;
+      } else if (year >= 2044) {
+        return 2141175677;
       }
-      function times(n, iteratee, callback) {
-        return timesLimit(n, Infinity, iteratee, callback);
+      var val = {
+        year,
+        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
+        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
+        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
+        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
+        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
+      };
+      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
+    };
+    util.dosToDate = function(dos) {
+      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
+    };
+    util.fromDosTime = function(buf) {
+      return util.dosToDate(buf.readUInt32LE(0));
+    };
+    util.getEightBytes = function(v) {
+      var buf = Buffer.alloc(8);
+      buf.writeUInt32LE(v % 4294967296, 0);
+      buf.writeUInt32LE(v / 4294967296 | 0, 4);
+      return buf;
+    };
+    util.getShortBytes = function(v) {
+      var buf = Buffer.alloc(2);
+      buf.writeUInt16LE((v & 65535) >>> 0, 0);
+      return buf;
+    };
+    util.getShortBytesValue = function(buf, offset) {
+      return buf.readUInt16LE(offset);
+    };
+    util.getLongBytes = function(v) {
+      var buf = Buffer.alloc(4);
+      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
+      return buf;
+    };
+    util.getLongBytesValue = function(buf, offset) {
+      return buf.readUInt32LE(offset);
+    };
+    util.toDosTime = function(d) {
+      return util.getLongBytes(util.dateToDos(d));
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
+var require_general_purpose_bit = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
+    var zipUtil = require_util22();
+    var DATA_DESCRIPTOR_FLAG = 1 << 3;
+    var ENCRYPTION_FLAG = 1 << 0;
+    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
+    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
+    var STRONG_ENCRYPTION_FLAG = 1 << 6;
+    var UFT8_NAMES_FLAG = 1 << 11;
+    var GeneralPurposeBit = module2.exports = function() {
+      if (!(this instanceof GeneralPurposeBit)) {
+        return new GeneralPurposeBit();
       }
-      function timesSeries(n, iteratee, callback) {
-        return timesLimit(n, 1, iteratee, callback);
+      this.descriptor = false;
+      this.encryption = false;
+      this.utf8 = false;
+      this.numberOfShannonFanoTrees = 0;
+      this.strongEncryption = false;
+      this.slidingDictionarySize = 0;
+      return this;
+    };
+    GeneralPurposeBit.prototype.encode = function() {
+      return zipUtil.getShortBytes(
+        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
+      );
+    };
+    GeneralPurposeBit.prototype.parse = function(buf, offset) {
+      var flag = zipUtil.getShortBytesValue(buf, offset);
+      var gbp = new GeneralPurposeBit();
+      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
+      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
+      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
+      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
+      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
+      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
+      return gbp;
+    };
+    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
+      this.numberOfShannonFanoTrees = n;
+    };
+    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
+      return this.numberOfShannonFanoTrees;
+    };
+    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
+      this.slidingDictionarySize = n;
+    };
+    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
+      return this.slidingDictionarySize;
+    };
+    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
+      this.descriptor = b;
+    };
+    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
+      return this.descriptor;
+    };
+    GeneralPurposeBit.prototype.useEncryption = function(b) {
+      this.encryption = b;
+    };
+    GeneralPurposeBit.prototype.usesEncryption = function() {
+      return this.encryption;
+    };
+    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
+      this.strongEncryption = b;
+    };
+    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
+      return this.strongEncryption;
+    };
+    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
+      this.utf8 = b;
+    };
+    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
+      return this.utf8;
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
+var require_unix_stat = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
+    module2.exports = {
+      /**
+       * Bits used for permissions (and sticky bit)
+       */
+      PERM_MASK: 4095,
+      // 07777
+      /**
+       * Bits used to indicate the filesystem object type.
+       */
+      FILE_TYPE_FLAG: 61440,
+      // 0170000
+      /**
+       * Indicates symbolic links.
+       */
+      LINK_FLAG: 40960,
+      // 0120000
+      /**
+       * Indicates plain files.
+       */
+      FILE_FLAG: 32768,
+      // 0100000
+      /**
+       * Indicates directories.
+       */
+      DIR_FLAG: 16384,
+      // 040000
+      // ----------------------------------------------------------
+      // somewhat arbitrary choices that are quite common for shared
+      // installations
+      // -----------------------------------------------------------
+      /**
+       * Default permissions for symbolic links.
+       */
+      DEFAULT_LINK_PERM: 511,
+      // 0777
+      /**
+       * Default permissions for directories.
+       */
+      DEFAULT_DIR_PERM: 493,
+      // 0755
+      /**
+       * Default permissions for plain files.
+       */
+      DEFAULT_FILE_PERM: 420
+      // 0644
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/constants.js
+var require_constants18 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
+    module2.exports = {
+      WORD: 4,
+      DWORD: 8,
+      EMPTY: Buffer.alloc(0),
+      SHORT: 2,
+      SHORT_MASK: 65535,
+      SHORT_SHIFT: 16,
+      SHORT_ZERO: Buffer.from(Array(2)),
+      LONG: 4,
+      LONG_ZERO: Buffer.from(Array(4)),
+      MIN_VERSION_INITIAL: 10,
+      MIN_VERSION_DATA_DESCRIPTOR: 20,
+      MIN_VERSION_ZIP64: 45,
+      VERSION_MADEBY: 45,
+      METHOD_STORED: 0,
+      METHOD_DEFLATED: 8,
+      PLATFORM_UNIX: 3,
+      PLATFORM_FAT: 0,
+      SIG_LFH: 67324752,
+      SIG_DD: 134695760,
+      SIG_CFH: 33639248,
+      SIG_EOCD: 101010256,
+      SIG_ZIP64_EOCD: 101075792,
+      SIG_ZIP64_EOCD_LOC: 117853008,
+      ZIP64_MAGIC_SHORT: 65535,
+      ZIP64_MAGIC: 4294967295,
+      ZIP64_EXTRA_ID: 1,
+      ZLIB_NO_COMPRESSION: 0,
+      ZLIB_BEST_SPEED: 1,
+      ZLIB_BEST_COMPRESSION: 9,
+      ZLIB_DEFAULT_COMPRESSION: -1,
+      MODE_MASK: 4095,
+      DEFAULT_FILE_MODE: 33188,
+      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
+      DEFAULT_DIR_MODE: 16877,
+      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
+      EXT_FILE_ATTR_DIR: 1106051088,
+      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
+      EXT_FILE_ATTR_FILE: 2175008800,
+      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
+      // Unix file types
+      S_IFMT: 61440,
+      // 0170000 type of file mask
+      S_IFIFO: 4096,
+      // 010000 named pipe (fifo)
+      S_IFCHR: 8192,
+      // 020000 character special
+      S_IFDIR: 16384,
+      // 040000 directory
+      S_IFBLK: 24576,
+      // 060000 block special
+      S_IFREG: 32768,
+      // 0100000 regular
+      S_IFLNK: 40960,
+      // 0120000 symbolic link
+      S_IFSOCK: 49152,
+      // 0140000 socket
+      // DOS file type flags
+      S_DOS_A: 32,
+      // 040 Archive
+      S_DOS_D: 16,
+      // 020 Directory
+      S_DOS_V: 8,
+      // 010 Volume
+      S_DOS_S: 4,
+      // 04 System
+      S_DOS_H: 2,
+      // 02 Hidden
+      S_DOS_R: 1
+      // 01 Read Only
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
+var require_zip_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var normalizePath = require_normalize_path();
+    var ArchiveEntry = require_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var UnixStat = require_unix_stat();
+    var constants = require_constants18();
+    var zipUtil = require_util22();
+    var ZipArchiveEntry = module2.exports = function(name) {
+      if (!(this instanceof ZipArchiveEntry)) {
+        return new ZipArchiveEntry(name);
       }
-      function transform(coll, accumulator, iteratee, callback) {
-        if (arguments.length <= 3 && typeof accumulator === "function") {
-          callback = iteratee;
-          iteratee = accumulator;
-          accumulator = Array.isArray(coll) ? [] : {};
-        }
-        callback = once(callback || promiseCallback());
-        var _iteratee = wrapAsync(iteratee);
-        eachOf$1(coll, (v, k, cb) => {
-          _iteratee(accumulator, v, k, cb);
-        }, (err) => callback(err, accumulator));
-        return callback[PROMISE_SYMBOL];
+      ArchiveEntry.call(this);
+      this.platform = constants.PLATFORM_FAT;
+      this.method = -1;
+      this.name = null;
+      this.size = 0;
+      this.csize = 0;
+      this.gpb = new GeneralPurposeBit();
+      this.crc = 0;
+      this.time = -1;
+      this.minver = constants.MIN_VERSION_INITIAL;
+      this.mode = -1;
+      this.extra = null;
+      this.exattr = 0;
+      this.inattr = 0;
+      this.comment = null;
+      if (name) {
+        this.setName(name);
       }
-      function tryEach(tasks, callback) {
-        var error3 = null;
-        var result;
-        return eachSeries$1(tasks, (task, taskCb) => {
-          wrapAsync(task)((err, ...args) => {
-            if (err === false) return taskCb(err);
-            if (args.length < 2) {
-              [result] = args;
-            } else {
-              result = args;
-            }
-            error3 = err;
-            taskCb(err ? null : {});
-          });
-        }, () => callback(error3, result));
+    };
+    inherits(ZipArchiveEntry, ArchiveEntry);
+    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getComment = function() {
+      return this.comment !== null ? this.comment : "";
+    };
+    ZipArchiveEntry.prototype.getCompressedSize = function() {
+      return this.csize;
+    };
+    ZipArchiveEntry.prototype.getCrc = function() {
+      return this.crc;
+    };
+    ZipArchiveEntry.prototype.getExternalAttributes = function() {
+      return this.exattr;
+    };
+    ZipArchiveEntry.prototype.getExtra = function() {
+      return this.extra !== null ? this.extra : constants.EMPTY;
+    };
+    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
+      return this.gpb;
+    };
+    ZipArchiveEntry.prototype.getInternalAttributes = function() {
+      return this.inattr;
+    };
+    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
+      return this.getTime();
+    };
+    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getMethod = function() {
+      return this.method;
+    };
+    ZipArchiveEntry.prototype.getName = function() {
+      return this.name;
+    };
+    ZipArchiveEntry.prototype.getPlatform = function() {
+      return this.platform;
+    };
+    ZipArchiveEntry.prototype.getSize = function() {
+      return this.size;
+    };
+    ZipArchiveEntry.prototype.getTime = function() {
+      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
+    };
+    ZipArchiveEntry.prototype.getTimeDos = function() {
+      return this.time !== -1 ? this.time : 0;
+    };
+    ZipArchiveEntry.prototype.getUnixMode = function() {
+      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
+    };
+    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
+      return this.minver;
+    };
+    ZipArchiveEntry.prototype.setComment = function(comment) {
+      if (Buffer.byteLength(comment) !== comment.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
       }
-      var tryEach$1 = awaitify(tryEach);
-      function unmemoize(fn) {
-        return (...args) => {
-          return (fn.unmemoized || fn)(...args);
-        };
+      this.comment = comment;
+    };
+    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry compressed size");
       }
-      function whilst(test, iteratee, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results = [];
-        function next(err, ...rest) {
-          if (err) return callback(err);
-          results = rest;
-          if (err === false) return;
-          _test(check);
-        }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
-        }
-        return _test(check);
+      this.csize = size;
+    };
+    ZipArchiveEntry.prototype.setCrc = function(crc) {
+      if (crc < 0) {
+        throw new Error("invalid entry crc32");
       }
-      var whilst$1 = awaitify(whilst, 3);
-      function until(test, iteratee, callback) {
-        const _test = wrapAsync(test);
-        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
+      this.crc = crc;
+    };
+    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
+      this.exattr = attr >>> 0;
+    };
+    ZipArchiveEntry.prototype.setExtra = function(extra) {
+      this.extra = extra;
+    };
+    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
+      if (!(gpb instanceof GeneralPurposeBit)) {
+        throw new Error("invalid entry GeneralPurposeBit");
       }
-      function waterfall(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
-        if (!tasks.length) return callback();
-        var taskIndex = 0;
-        function nextTask(args) {
-          var task = wrapAsync(tasks[taskIndex++]);
-          task(...args, onlyOnce(next));
-        }
-        function next(err, ...args) {
-          if (err === false) return;
-          if (err || taskIndex === tasks.length) {
-            return callback(err, ...args);
-          }
-          nextTask(args);
-        }
-        nextTask([]);
+      this.gpb = gpb;
+    };
+    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
+      this.inattr = attr;
+    };
+    ZipArchiveEntry.prototype.setMethod = function(method) {
+      if (method < 0) {
+        throw new Error("invalid entry compression method");
       }
-      var waterfall$1 = awaitify(waterfall);
-      var index = {
-        apply,
-        applyEach,
-        applyEachSeries,
-        asyncify,
-        auto,
-        autoInject,
-        cargo: cargo$1,
-        cargoQueue: cargo,
-        compose,
-        concat: concat$1,
-        concatLimit: concatLimit$1,
-        concatSeries: concatSeries$1,
-        constant: constant$1,
-        detect: detect$1,
-        detectLimit: detectLimit$1,
-        detectSeries: detectSeries$1,
-        dir,
-        doUntil,
-        doWhilst: doWhilst$1,
-        each,
-        eachLimit: eachLimit$1,
-        eachOf: eachOf$1,
-        eachOfLimit: eachOfLimit$1,
-        eachOfSeries: eachOfSeries$1,
-        eachSeries: eachSeries$1,
-        ensureAsync,
-        every: every$1,
-        everyLimit: everyLimit$1,
-        everySeries: everySeries$1,
-        filter: filter$1,
-        filterLimit: filterLimit$1,
-        filterSeries: filterSeries$1,
-        forever: forever$1,
-        groupBy,
-        groupByLimit: groupByLimit$1,
-        groupBySeries,
-        log,
-        map: map$1,
-        mapLimit: mapLimit$1,
-        mapSeries: mapSeries$1,
-        mapValues,
-        mapValuesLimit: mapValuesLimit$1,
-        mapValuesSeries,
-        memoize,
-        nextTick,
-        parallel,
-        parallelLimit,
-        priorityQueue,
-        queue,
-        race: race$1,
-        reduce: reduce$1,
-        reduceRight,
-        reflect,
-        reflectAll,
-        reject: reject$1,
-        rejectLimit: rejectLimit$1,
-        rejectSeries: rejectSeries$1,
-        retry: retry2,
-        retryable,
-        seq: seq2,
-        series,
-        setImmediate: setImmediate$1,
-        some: some$1,
-        someLimit: someLimit$1,
-        someSeries: someSeries$1,
-        sortBy: sortBy$1,
-        timeout,
-        times,
-        timesLimit,
-        timesSeries,
-        transform,
-        tryEach: tryEach$1,
-        unmemoize,
-        until,
-        waterfall: waterfall$1,
-        whilst: whilst$1,
-        // aliases
-        all: every$1,
-        allLimit: everyLimit$1,
-        allSeries: everySeries$1,
-        any: some$1,
-        anyLimit: someLimit$1,
-        anySeries: someSeries$1,
-        find: detect$1,
-        findLimit: detectLimit$1,
-        findSeries: detectSeries$1,
-        flatMap: concat$1,
-        flatMapLimit: concatLimit$1,
-        flatMapSeries: concatSeries$1,
-        forEach: each,
-        forEachSeries: eachSeries$1,
-        forEachLimit: eachLimit$1,
-        forEachOf: eachOf$1,
-        forEachOfSeries: eachOfSeries$1,
-        forEachOfLimit: eachOfLimit$1,
-        inject: reduce$1,
-        foldl: reduce$1,
-        foldr: reduceRight,
-        select: filter$1,
-        selectLimit: filterLimit$1,
-        selectSeries: filterSeries$1,
-        wrapSync: asyncify,
-        during: whilst$1,
-        doDuring: doWhilst$1
-      };
-      exports3.all = every$1;
-      exports3.allLimit = everyLimit$1;
-      exports3.allSeries = everySeries$1;
-      exports3.any = some$1;
-      exports3.anyLimit = someLimit$1;
-      exports3.anySeries = someSeries$1;
-      exports3.apply = apply;
-      exports3.applyEach = applyEach;
-      exports3.applyEachSeries = applyEachSeries;
-      exports3.asyncify = asyncify;
-      exports3.auto = auto;
-      exports3.autoInject = autoInject;
-      exports3.cargo = cargo$1;
-      exports3.cargoQueue = cargo;
-      exports3.compose = compose;
-      exports3.concat = concat$1;
-      exports3.concatLimit = concatLimit$1;
-      exports3.concatSeries = concatSeries$1;
-      exports3.constant = constant$1;
-      exports3.default = index;
-      exports3.detect = detect$1;
-      exports3.detectLimit = detectLimit$1;
-      exports3.detectSeries = detectSeries$1;
-      exports3.dir = dir;
-      exports3.doDuring = doWhilst$1;
-      exports3.doUntil = doUntil;
-      exports3.doWhilst = doWhilst$1;
-      exports3.during = whilst$1;
-      exports3.each = each;
-      exports3.eachLimit = eachLimit$1;
-      exports3.eachOf = eachOf$1;
-      exports3.eachOfLimit = eachOfLimit$1;
-      exports3.eachOfSeries = eachOfSeries$1;
-      exports3.eachSeries = eachSeries$1;
-      exports3.ensureAsync = ensureAsync;
-      exports3.every = every$1;
-      exports3.everyLimit = everyLimit$1;
-      exports3.everySeries = everySeries$1;
-      exports3.filter = filter$1;
-      exports3.filterLimit = filterLimit$1;
-      exports3.filterSeries = filterSeries$1;
-      exports3.find = detect$1;
-      exports3.findLimit = detectLimit$1;
-      exports3.findSeries = detectSeries$1;
-      exports3.flatMap = concat$1;
-      exports3.flatMapLimit = concatLimit$1;
-      exports3.flatMapSeries = concatSeries$1;
-      exports3.foldl = reduce$1;
-      exports3.foldr = reduceRight;
-      exports3.forEach = each;
-      exports3.forEachLimit = eachLimit$1;
-      exports3.forEachOf = eachOf$1;
-      exports3.forEachOfLimit = eachOfLimit$1;
-      exports3.forEachOfSeries = eachOfSeries$1;
-      exports3.forEachSeries = eachSeries$1;
-      exports3.forever = forever$1;
-      exports3.groupBy = groupBy;
-      exports3.groupByLimit = groupByLimit$1;
-      exports3.groupBySeries = groupBySeries;
-      exports3.inject = reduce$1;
-      exports3.log = log;
-      exports3.map = map$1;
-      exports3.mapLimit = mapLimit$1;
-      exports3.mapSeries = mapSeries$1;
-      exports3.mapValues = mapValues;
-      exports3.mapValuesLimit = mapValuesLimit$1;
-      exports3.mapValuesSeries = mapValuesSeries;
-      exports3.memoize = memoize;
-      exports3.nextTick = nextTick;
-      exports3.parallel = parallel;
-      exports3.parallelLimit = parallelLimit;
-      exports3.priorityQueue = priorityQueue;
-      exports3.queue = queue;
-      exports3.race = race$1;
-      exports3.reduce = reduce$1;
-      exports3.reduceRight = reduceRight;
-      exports3.reflect = reflect;
-      exports3.reflectAll = reflectAll;
-      exports3.reject = reject$1;
-      exports3.rejectLimit = rejectLimit$1;
-      exports3.rejectSeries = rejectSeries$1;
-      exports3.retry = retry2;
-      exports3.retryable = retryable;
-      exports3.select = filter$1;
-      exports3.selectLimit = filterLimit$1;
-      exports3.selectSeries = filterSeries$1;
-      exports3.seq = seq2;
-      exports3.series = series;
-      exports3.setImmediate = setImmediate$1;
-      exports3.some = some$1;
-      exports3.someLimit = someLimit$1;
-      exports3.someSeries = someSeries$1;
-      exports3.sortBy = sortBy$1;
-      exports3.timeout = timeout;
-      exports3.times = times;
-      exports3.timesLimit = timesLimit;
-      exports3.timesSeries = timesSeries;
-      exports3.transform = transform;
-      exports3.tryEach = tryEach$1;
-      exports3.unmemoize = unmemoize;
-      exports3.until = until;
-      exports3.waterfall = waterfall$1;
-      exports3.whilst = whilst$1;
-      exports3.wrapSync = asyncify;
-      Object.defineProperty(exports3, "__esModule", { value: true });
-    }));
+      this.method = method;
+    };
+    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
+      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+      if (prependSlash) {
+        name = `/${name}`;
+      }
+      if (Buffer.byteLength(name) !== name.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      }
+      this.name = name;
+    };
+    ZipArchiveEntry.prototype.setPlatform = function(platform) {
+      this.platform = platform;
+    };
+    ZipArchiveEntry.prototype.setSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry size");
+      }
+      this.size = size;
+    };
+    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
+      if (!(time instanceof Date)) {
+        throw new Error("invalid entry time");
+      }
+      this.time = zipUtil.dateToDos(time, forceLocalTime);
+    };
+    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
+      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
+      var extattr = 0;
+      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
+      this.setExternalAttributes(extattr);
+      this.mode = mode & constants.MODE_MASK;
+      this.platform = constants.PLATFORM_UNIX;
+    };
+    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
+      this.minver = minver;
+    };
+    ZipArchiveEntry.prototype.isDirectory = function() {
+      return this.getName().slice(-1) === "/";
+    };
+    ZipArchiveEntry.prototype.isUnixSymlink = function() {
+      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
+    };
+    ZipArchiveEntry.prototype.isZip64 = function() {
+      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
+    };
   }
 });
 
-// node_modules/graceful-fs/polyfills.js
-var require_polyfills = __commonJS({
-  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
-    var constants = require("constants");
-    var origCwd = process.cwd;
-    var cwd = null;
-    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
-    process.cwd = function() {
-      if (!cwd)
-        cwd = origCwd.call(process);
-      return cwd;
+// node_modules/compress-commons/node_modules/is-stream/index.js
+var require_is_stream2 = __commonJS({
+  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+    "use strict";
+    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
+    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
+    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
+    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
+    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
+    module2.exports = isStream;
+  }
+});
+
+// node_modules/compress-commons/lib/util/index.js
+var require_util23 = __commonJS({
+  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var isStream = require_is_stream2();
+    var util = module2.exports = {};
+    util.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (isStream(source) && !source._readableState) {
+        var normalized = new PassThrough();
+        source.pipe(normalized);
+        return normalized;
+      }
+      return source;
     };
-    try {
-      process.cwd();
-    } catch (er) {
-    }
-    if (typeof process.chdir === "function") {
-      chdir = process.chdir;
-      process.chdir = function(d) {
-        cwd = null;
-        chdir.call(process, d);
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/archive-output-stream.js
+var require_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var isStream = require_is_stream2();
+    var Transform = require_ours().Transform;
+    var ArchiveEntry = require_archive_entry();
+    var util = require_util23();
+    var ArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ArchiveOutputStream)) {
+        return new ArchiveOutputStream(options);
+      }
+      Transform.call(this, options);
+      this.offset = 0;
+      this._archive = {
+        finish: false,
+        finished: false,
+        processing: false
       };
-      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
-    }
-    var chdir;
-    module2.exports = patch;
-    function patch(fs8) {
-      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
-        patchLchmod(fs8);
+    };
+    inherits(ArchiveOutputStream, Transform);
+    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
+      if (err) {
+        this.emit("error", err);
       }
-      if (!fs8.lutimes) {
-        patchLutimes(fs8);
+    };
+    ArchiveOutputStream.prototype._finish = function(ae) {
+    };
+    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+    };
+    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
+      source = source || null;
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
       }
-      fs8.chown = chownFix(fs8.chown);
-      fs8.fchown = chownFix(fs8.fchown);
-      fs8.lchown = chownFix(fs8.lchown);
-      fs8.chmod = chmodFix(fs8.chmod);
-      fs8.fchmod = chmodFix(fs8.fchmod);
-      fs8.lchmod = chmodFix(fs8.lchmod);
-      fs8.chownSync = chownFixSync(fs8.chownSync);
-      fs8.fchownSync = chownFixSync(fs8.fchownSync);
-      fs8.lchownSync = chownFixSync(fs8.lchownSync);
-      fs8.chmodSync = chmodFixSync(fs8.chmodSync);
-      fs8.fchmodSync = chmodFixSync(fs8.fchmodSync);
-      fs8.lchmodSync = chmodFixSync(fs8.lchmodSync);
-      fs8.stat = statFix(fs8.stat);
-      fs8.fstat = statFix(fs8.fstat);
-      fs8.lstat = statFix(fs8.lstat);
-      fs8.statSync = statFixSync(fs8.statSync);
-      fs8.fstatSync = statFixSync(fs8.fstatSync);
-      fs8.lstatSync = statFixSync(fs8.lstatSync);
-      if (fs8.chmod && !fs8.lchmod) {
-        fs8.lchmod = function(path7, mode, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs8.lchmodSync = function() {
-        };
+      if (!(ae instanceof ArchiveEntry)) {
+        callback(new Error("not a valid instance of ArchiveEntry"));
+        return;
       }
-      if (fs8.chown && !fs8.lchown) {
-        fs8.lchown = function(path7, uid, gid, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs8.lchownSync = function() {
-        };
+      if (this._archive.finish || this._archive.finished) {
+        callback(new Error("unacceptable entry after finish"));
+        return;
       }
-      if (platform === "win32") {
-        fs8.rename = typeof fs8.rename !== "function" ? fs8.rename : (function(fs$rename) {
-          function rename(from, to, cb) {
-            var start = Date.now();
-            var backoff = 0;
-            fs$rename(from, to, function CB(er) {
-              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
-                setTimeout(function() {
-                  fs8.stat(to, function(stater, st) {
-                    if (stater && stater.code === "ENOENT")
-                      fs$rename(from, to, CB);
-                    else
-                      cb(er);
-                  });
-                }, backoff);
-                if (backoff < 100)
-                  backoff += 10;
-                return;
-              }
-              if (cb) cb(er);
-            });
-          }
-          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
-          return rename;
-        })(fs8.rename);
+      if (this._archive.processing) {
+        callback(new Error("already processing an entry"));
+        return;
       }
-      fs8.read = typeof fs8.read !== "function" ? fs8.read : (function(fs$read) {
-        function read(fd, buffer, offset, length, position, callback_) {
-          var callback;
-          if (callback_ && typeof callback_ === "function") {
-            var eagCounter = 0;
-            callback = function(er, _2, __) {
-              if (er && er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                return fs$read.call(fs8, fd, buffer, offset, length, position, callback);
-              }
-              callback_.apply(this, arguments);
-            };
-          }
-          return fs$read.call(fs8, fd, buffer, offset, length, position, callback);
-        }
-        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
-        return read;
-      })(fs8.read);
-      fs8.readSync = typeof fs8.readSync !== "function" ? fs8.readSync : /* @__PURE__ */ (function(fs$readSync) {
-        return function(fd, buffer, offset, length, position) {
-          var eagCounter = 0;
-          while (true) {
-            try {
-              return fs$readSync.call(fs8, fd, buffer, offset, length, position);
-            } catch (er) {
-              if (er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                continue;
-              }
-              throw er;
-            }
-          }
-        };
-      })(fs8.readSync);
-      function patchLchmod(fs9) {
-        fs9.lchmod = function(path7, mode, callback) {
-          fs9.open(
-            path7,
-            constants.O_WRONLY | constants.O_SYMLINK,
-            mode,
-            function(err, fd) {
-              if (err) {
-                if (callback) callback(err);
-                return;
-              }
-              fs9.fchmod(fd, mode, function(err2) {
-                fs9.close(fd, function(err22) {
-                  if (callback) callback(err2 || err22);
-                });
-              });
-            }
-          );
-        };
-        fs9.lchmodSync = function(path7, mode) {
-          var fd = fs9.openSync(path7, constants.O_WRONLY | constants.O_SYMLINK, mode);
-          var threw = true;
-          var ret;
-          try {
-            ret = fs9.fchmodSync(fd, mode);
-            threw = false;
-          } finally {
-            if (threw) {
-              try {
-                fs9.closeSync(fd);
-              } catch (er) {
-              }
-            } else {
-              fs9.closeSync(fd);
-            }
-          }
-          return ret;
-        };
+      this._archive.processing = true;
+      this._normalizeEntry(ae);
+      this._entry = ae;
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        this._appendBuffer(ae, source, callback);
+      } else if (isStream(source)) {
+        this._appendStream(ae, source, callback);
+      } else {
+        this._archive.processing = false;
+        callback(new Error("input source must be valid Stream or Buffer instance"));
+        return;
       }
-      function patchLutimes(fs9) {
-        if (constants.hasOwnProperty("O_SYMLINK") && fs9.futimes) {
-          fs9.lutimes = function(path7, at, mt, cb) {
-            fs9.open(path7, constants.O_SYMLINK, function(er, fd) {
-              if (er) {
-                if (cb) cb(er);
-                return;
-              }
-              fs9.futimes(fd, at, mt, function(er2) {
-                fs9.close(fd, function(er22) {
-                  if (cb) cb(er2 || er22);
-                });
-              });
-            });
-          };
-          fs9.lutimesSync = function(path7, at, mt) {
-            var fd = fs9.openSync(path7, constants.O_SYMLINK);
-            var ret;
-            var threw = true;
-            try {
-              ret = fs9.futimesSync(fd, at, mt);
-              threw = false;
-            } finally {
-              if (threw) {
-                try {
-                  fs9.closeSync(fd);
-                } catch (er) {
-                }
-              } else {
-                fs9.closeSync(fd);
-              }
-            }
-            return ret;
-          };
-        } else if (fs9.futimes) {
-          fs9.lutimes = function(_a, _b, _c, cb) {
-            if (cb) process.nextTick(cb);
-          };
-          fs9.lutimesSync = function() {
-          };
-        }
+      return this;
+    };
+    ArchiveOutputStream.prototype.finish = function() {
+      if (this._archive.processing) {
+        this._archive.finish = true;
+        return;
       }
-      function chmodFix(orig) {
-        if (!orig) return orig;
-        return function(target, mode, cb) {
-          return orig.call(fs8, target, mode, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
+      this._finish();
+    };
+    ArchiveOutputStream.prototype.getBytesWritten = function() {
+      return this.offset;
+    };
+    ArchiveOutputStream.prototype.write = function(chunk, cb) {
+      if (chunk) {
+        this.offset += chunk.length;
+      }
+      return Transform.prototype.write.call(this, chunk, cb);
+    };
+  }
+});
+
+// node_modules/crc-32/crc32.js
+var require_crc32 = __commonJS({
+  "node_modules/crc-32/crc32.js"(exports2) {
+    var CRC32;
+    (function(factory) {
+      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
+        if ("object" === typeof exports2) {
+          factory(exports2);
+        } else if ("function" === typeof define && define.amd) {
+          define(function() {
+            var module3 = {};
+            factory(module3);
+            return module3;
           });
-        };
+        } else {
+          factory(CRC32 = {});
+        }
+      } else {
+        factory(CRC32 = {});
       }
-      function chmodFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, mode) {
-          try {
-            return orig.call(fs8, target, mode);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
-          }
-        };
+    })(function(CRC322) {
+      CRC322.version = "1.2.2";
+      function signed_crc_table() {
+        var c = 0, table = new Array(256);
+        for (var n = 0; n != 256; ++n) {
+          c = n;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          table[n] = c;
+        }
+        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
       }
-      function chownFix(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid, cb) {
-          return orig.call(fs8, target, uid, gid, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
-          });
-        };
+      var T0 = signed_crc_table();
+      function slice_by_16_tables(T) {
+        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
+        for (n = 0; n != 256; ++n) table[n] = T[n];
+        for (n = 0; n != 256; ++n) {
+          v = T[n];
+          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
+        }
+        var out = [];
+        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
+        return out;
       }
-      function chownFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid) {
-          try {
-            return orig.call(fs8, target, uid, gid);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
-          }
-        };
+      var TT = slice_by_16_tables(T0);
+      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
+      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
+      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
+      function crc32_bstr(bstr, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
+        return ~C;
       }
-      function statFix(orig) {
-        if (!orig) return orig;
-        return function(target, options, cb) {
-          if (typeof options === "function") {
-            cb = options;
-            options = null;
-          }
-          function callback(er, stats) {
-            if (stats) {
-              if (stats.uid < 0) stats.uid += 4294967296;
-              if (stats.gid < 0) stats.gid += 4294967296;
-            }
-            if (cb) cb.apply(this, arguments);
-          }
-          return options ? orig.call(fs8, target, options, callback) : orig.call(fs8, target, callback);
-        };
+      function crc32_buf(B, seed) {
+        var C = seed ^ -1, L = B.length - 15, i = 0;
+        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
+        L += 15;
+        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
+        return ~C;
       }
-      function statFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, options) {
-          var stats = options ? orig.call(fs8, target, options) : orig.call(fs8, target);
-          if (stats) {
-            if (stats.uid < 0) stats.uid += 4294967296;
-            if (stats.gid < 0) stats.gid += 4294967296;
+      function crc32_str(str2, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
+          c = str2.charCodeAt(i++);
+          if (c < 128) {
+            C = C >>> 8 ^ T0[(C ^ c) & 255];
+          } else if (c < 2048) {
+            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
+          } else if (c >= 55296 && c < 57344) {
+            c = (c & 1023) + 64;
+            d = str2.charCodeAt(i++) & 1023;
+            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
+          } else {
+            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
           }
-          return stats;
-        };
-      }
-      function chownErOk(er) {
-        if (!er)
-          return true;
-        if (er.code === "ENOSYS")
-          return true;
-        var nonroot = !process.getuid || process.getuid() !== 0;
-        if (nonroot) {
-          if (er.code === "EINVAL" || er.code === "EPERM")
-            return true;
         }
-        return false;
+        return ~C;
       }
-    }
+      CRC322.table = T0;
+      CRC322.bstr = crc32_bstr;
+      CRC322.buf = crc32_buf;
+      CRC322.str = crc32_str;
+    });
   }
 });
 
-// node_modules/graceful-fs/legacy-streams.js
-var require_legacy_streams = __commonJS({
-  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    module2.exports = legacy;
-    function legacy(fs8) {
-      return {
-        ReadStream,
-        WriteStream
-      };
-      function ReadStream(path7, options) {
-        if (!(this instanceof ReadStream)) return new ReadStream(path7, options);
-        Stream.call(this);
-        var self2 = this;
-        this.path = path7;
-        this.fd = null;
-        this.readable = true;
-        this.paused = false;
-        this.flags = "r";
-        this.mode = 438;
-        this.bufferSize = 64 * 1024;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
-        }
-        if (this.encoding) this.setEncoding(this.encoding);
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.end === void 0) {
-            this.end = Infinity;
-          } else if ("number" !== typeof this.end) {
-            throw TypeError("end must be a Number");
-          }
-          if (this.start > this.end) {
-            throw new Error("start must be <= end");
-          }
-          this.pos = this.start;
-        }
-        if (this.fd !== null) {
-          process.nextTick(function() {
-            self2._read();
-          });
-          return;
+// node_modules/crc32-stream/lib/crc32-stream.js
+var require_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require_ours();
+    var crc32 = require_crc32();
+    var CRC32Stream = class extends Transform {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
+      }
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
         }
-        fs8.open(this.path, this.flags, this.mode, function(err, fd) {
-          if (err) {
-            self2.emit("error", err);
-            self2.readable = false;
-            return;
-          }
-          self2.fd = fd;
-          self2.emit("open", fd);
-          self2._read();
-        });
+        callback(null, chunk);
       }
-      function WriteStream(path7, options) {
-        if (!(this instanceof WriteStream)) return new WriteStream(path7, options);
-        Stream.call(this);
-        this.path = path7;
-        this.fd = null;
-        this.writable = true;
-        this.flags = "w";
-        this.encoding = "binary";
-        this.mode = 438;
-        this.bytesWritten = 0;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
+      }
+      hex() {
+        return this.digest("hex").toUpperCase();
+      }
+      size() {
+        return this.rawSize;
+      }
+    };
+    module2.exports = CRC32Stream;
+  }
+});
+
+// node_modules/crc32-stream/lib/deflate-crc32-stream.js
+var require_deflate_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
+    "use strict";
+    var { DeflateRaw } = require("zlib");
+    var crc32 = require_crc32();
+    var DeflateCRC32Stream = class extends DeflateRaw {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
+        this.compressedSize = 0;
+      }
+      push(chunk, encoding) {
+        if (chunk) {
+          this.compressedSize += chunk.length;
         }
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.start < 0) {
-            throw new Error("start must be >= zero");
-          }
-          this.pos = this.start;
+        return super.push(chunk, encoding);
+      }
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
         }
-        this.busy = false;
-        this._queue = [];
-        if (this.fd === null) {
-          this._open = fs8.open;
-          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
-          this.flush();
+        super._transform(chunk, encoding, callback);
+      }
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
+      }
+      hex() {
+        return this.digest("hex").toUpperCase();
+      }
+      size(compressed = false) {
+        if (compressed) {
+          return this.compressedSize;
+        } else {
+          return this.rawSize;
         }
       }
-    }
+    };
+    module2.exports = DeflateCRC32Stream;
   }
 });
 
-// node_modules/graceful-fs/clone.js
-var require_clone = __commonJS({
-  "node_modules/graceful-fs/clone.js"(exports2, module2) {
+// node_modules/crc32-stream/lib/index.js
+var require_lib3 = __commonJS({
+  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
     "use strict";
-    module2.exports = clone;
-    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
-      return obj.__proto__;
+    module2.exports = {
+      CRC32Stream: require_crc32_stream(),
+      DeflateCRC32Stream: require_deflate_crc32_stream()
     };
-    function clone(obj) {
-      if (obj === null || typeof obj !== "object")
-        return obj;
-      if (obj instanceof Object)
-        var copy = { __proto__: getPrototypeOf(obj) };
-      else
-        var copy = /* @__PURE__ */ Object.create(null);
-      Object.getOwnPropertyNames(obj).forEach(function(key) {
-        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
-      });
-      return copy;
-    }
   }
 });
 
-// node_modules/graceful-fs/graceful-fs.js
-var require_graceful_fs = __commonJS({
-  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
-    var fs8 = require("fs");
-    var polyfills = require_polyfills();
-    var legacy = require_legacy_streams();
-    var clone = require_clone();
-    var util = require("util");
-    var gracefulQueue;
-    var previousSymbol;
-    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
-      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
-      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
-    } else {
-      gracefulQueue = "___graceful-fs.queue";
-      previousSymbol = "___graceful-fs.previous";
-    }
-    function noop3() {
-    }
-    function publishQueue(context2, queue2) {
-      Object.defineProperty(context2, gracefulQueue, {
-        get: function() {
-          return queue2;
-        }
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
+var require_zip_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var crc32 = require_crc32();
+    var { CRC32Stream } = require_lib3();
+    var { DeflateCRC32Stream } = require_lib3();
+    var ArchiveOutputStream = require_archive_output_stream();
+    var ZipArchiveEntry = require_zip_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var constants = require_constants18();
+    var util = require_util23();
+    var zipUtil = require_util22();
+    var ZipArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ZipArchiveOutputStream)) {
+        return new ZipArchiveOutputStream(options);
+      }
+      options = this.options = this._defaults(options);
+      ArchiveOutputStream.call(this, options);
+      this._entry = null;
+      this._entries = [];
+      this._archive = {
+        centralLength: 0,
+        centralOffset: 0,
+        comment: "",
+        finish: false,
+        finished: false,
+        processing: false,
+        forceZip64: options.forceZip64,
+        forceLocalTime: options.forceLocalTime
+      };
+    };
+    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
+    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
+      this._entries.push(ae);
+      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
+        this._writeDataDescriptor(ae);
+      }
+      this._archive.processing = false;
+      this._entry = null;
+      if (this._archive.finish && !this._archive.finished) {
+        this._finish();
+      }
+    };
+    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
+      if (source.length === 0) {
+        ae.setMethod(constants.METHOD_STORED);
+      }
+      var method = ae.getMethod();
+      if (method === constants.METHOD_STORED) {
+        ae.setSize(source.length);
+        ae.setCompressedSize(source.length);
+        ae.setCrc(crc32.buf(source) >>> 0);
+      }
+      this._writeLocalFileHeader(ae);
+      if (method === constants.METHOD_STORED) {
+        this.write(source);
+        this._afterAppend(ae);
+        callback(null, ae);
+        return;
+      } else if (method === constants.METHOD_DEFLATED) {
+        this._smartStream(ae, callback).end(source);
+        return;
+      } else {
+        callback(new Error("compression method " + method + " not implemented"));
+        return;
+      }
+    };
+    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
+      ae.getGeneralPurposeBit().useDataDescriptor(true);
+      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      this._writeLocalFileHeader(ae);
+      var smart = this._smartStream(ae, callback);
+      source.once("error", function(err) {
+        smart.emit("error", err);
+        smart.end();
       });
-    }
-    var debug4 = noop3;
-    if (util.debuglog)
-      debug4 = util.debuglog("gfs4");
-    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
-      debug4 = function() {
-        var m = util.format.apply(util, arguments);
-        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
-        console.error(m);
+      source.pipe(smart);
+    };
+    ZipArchiveOutputStream.prototype._defaults = function(o) {
+      if (typeof o !== "object") {
+        o = {};
+      }
+      if (typeof o.zlib !== "object") {
+        o.zlib = {};
+      }
+      if (typeof o.zlib.level !== "number") {
+        o.zlib.level = constants.ZLIB_BEST_SPEED;
+      }
+      o.forceZip64 = !!o.forceZip64;
+      o.forceLocalTime = !!o.forceLocalTime;
+      return o;
+    };
+    ZipArchiveOutputStream.prototype._finish = function() {
+      this._archive.centralOffset = this.offset;
+      this._entries.forEach(function(ae) {
+        this._writeCentralFileHeader(ae);
+      }.bind(this));
+      this._archive.centralLength = this.offset - this._archive.centralOffset;
+      if (this.isZip64()) {
+        this._writeCentralDirectoryZip64();
+      }
+      this._writeCentralDirectoryEnd();
+      this._archive.processing = false;
+      this._archive.finish = true;
+      this._archive.finished = true;
+      this.end();
+    };
+    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+      if (ae.getMethod() === -1) {
+        ae.setMethod(constants.METHOD_DEFLATED);
+      }
+      if (ae.getMethod() === constants.METHOD_DEFLATED) {
+        ae.getGeneralPurposeBit().useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      }
+      if (ae.getTime() === -1) {
+        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+      }
+      ae._offsets = {
+        file: 0,
+        data: 0,
+        contents: 0
       };
-    if (!fs8[gracefulQueue]) {
-      queue = global[gracefulQueue] || [];
-      publishQueue(fs8, queue);
-      fs8.close = (function(fs$close) {
-        function close(fd, cb) {
-          return fs$close.call(fs8, fd, function(err) {
-            if (!err) {
-              resetQueue();
-            }
-            if (typeof cb === "function")
-              cb.apply(this, arguments);
-          });
-        }
-        Object.defineProperty(close, previousSymbol, {
-          value: fs$close
-        });
-        return close;
-      })(fs8.close);
-      fs8.closeSync = (function(fs$closeSync) {
-        function closeSync(fd) {
-          fs$closeSync.apply(fs8, arguments);
-          resetQueue();
-        }
-        Object.defineProperty(closeSync, previousSymbol, {
-          value: fs$closeSync
-        });
-        return closeSync;
-      })(fs8.closeSync);
-      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
-        process.on("exit", function() {
-          debug4(fs8[gracefulQueue]);
-          require("assert").equal(fs8[gracefulQueue].length, 0);
-        });
+    };
+    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
+      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
+      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
+      var error3 = null;
+      function handleStuff() {
+        var digest = process2.digest().readUInt32BE(0);
+        ae.setCrc(digest);
+        ae.setSize(process2.size());
+        ae.setCompressedSize(process2.size(true));
+        this._afterAppend(ae);
+        callback(error3, ae);
       }
-    }
-    var queue;
-    if (!global[gracefulQueue]) {
-      publishQueue(global, fs8[gracefulQueue]);
-    }
-    module2.exports = patch(clone(fs8));
-    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs8.__patched) {
-      module2.exports = patch(fs8);
-      fs8.__patched = true;
-    }
-    function patch(fs9) {
-      polyfills(fs9);
-      fs9.gracefulify = patch;
-      fs9.createReadStream = createReadStream;
-      fs9.createWriteStream = createWriteStream3;
-      var fs$readFile = fs9.readFile;
-      fs9.readFile = readFile;
-      function readFile(path7, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$readFile(path7, options, cb);
-        function go$readFile(path8, options2, cb2, startTime) {
-          return fs$readFile(path8, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$readFile, [path8, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      process2.once("end", handleStuff.bind(this));
+      process2.once("error", function(err) {
+        error3 = err;
+      });
+      process2.pipe(this, { end: false });
+      return process2;
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
+      var records = this._entries.length;
+      var size = this._archive.centralLength;
+      var offset = this._archive.centralOffset;
+      if (this.isZip64()) {
+        records = constants.ZIP64_MAGIC_SHORT;
+        size = constants.ZIP64_MAGIC;
+        offset = constants.ZIP64_MAGIC;
       }
-      var fs$writeFile = fs9.writeFile;
-      fs9.writeFile = writeFile;
-      function writeFile(path7, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$writeFile(path7, data, options, cb);
-        function go$writeFile(path8, data2, options2, cb2, startTime) {
-          return fs$writeFile(path8, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$writeFile, [path8, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
+      this.write(constants.SHORT_ZERO);
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getLongBytes(size));
+      this.write(zipUtil.getLongBytes(offset));
+      var comment = this.getComment();
+      var commentLength = Buffer.byteLength(comment);
+      this.write(zipUtil.getShortBytes(commentLength));
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
+      this.write(zipUtil.getEightBytes(44));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(constants.LONG_ZERO);
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._archive.centralLength));
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
+      this.write(zipUtil.getLongBytes(1));
+    };
+    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var fileOffset = ae._offsets.file;
+      var size = ae.getSize();
+      var compressedSize = ae.getCompressedSize();
+      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
+        size = constants.ZIP64_MAGIC;
+        compressedSize = constants.ZIP64_MAGIC;
+        fileOffset = constants.ZIP64_MAGIC;
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+        var extraBuf = Buffer.concat([
+          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
+          zipUtil.getShortBytes(24),
+          zipUtil.getEightBytes(ae.getSize()),
+          zipUtil.getEightBytes(ae.getCompressedSize()),
+          zipUtil.getEightBytes(ae._offsets.file)
+        ], 28);
+        ae.setExtra(extraBuf);
+      }
+      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
+      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      this.write(zipUtil.getLongBytes(compressedSize));
+      this.write(zipUtil.getLongBytes(size));
+      var name = ae.getName();
+      var comment = ae.getComment();
+      var extra = ae.getCentralDirectoryExtra();
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+        comment = Buffer.from(comment);
+      }
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(zipUtil.getShortBytes(comment.length));
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
+      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
+      this.write(zipUtil.getLongBytes(fileOffset));
+      this.write(name);
+      this.write(extra);
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
+      this.write(zipUtil.getLongBytes(constants.SIG_DD));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      if (ae.isZip64()) {
+        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getEightBytes(ae.getSize()));
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
       }
-      var fs$appendFile = fs9.appendFile;
-      if (fs$appendFile)
-        fs9.appendFile = appendFile;
-      function appendFile(path7, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$appendFile(path7, data, options, cb);
-        function go$appendFile(path8, data2, options2, cb2, startTime) {
-          return fs$appendFile(path8, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$appendFile, [path8, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+    };
+    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var name = ae.getName();
+      var extra = ae.getLocalFileDataExtra();
+      if (ae.isZip64()) {
+        gpb.useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
       }
-      var fs$copyFile = fs9.copyFile;
-      if (fs$copyFile)
-        fs9.copyFile = copyFile;
-      function copyFile(src, dest, flags, cb) {
-        if (typeof flags === "function") {
-          cb = flags;
-          flags = 0;
-        }
-        return go$copyFile(src, dest, flags, cb);
-        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
-          return fs$copyFile(src2, dest2, flags2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
       }
-      var fs$readdir = fs9.readdir;
-      fs9.readdir = readdir;
-      var noReaddirOptionVersions = /^v[0-5]\./;
-      function readdir(path7, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path8, options2, cb2, startTime) {
-          return fs$readdir(path8, fs$readdirCallback(
-            path8,
-            options2,
-            cb2,
-            startTime
-          ));
-        } : function go$readdir2(path8, options2, cb2, startTime) {
-          return fs$readdir(path8, options2, fs$readdirCallback(
-            path8,
-            options2,
-            cb2,
-            startTime
-          ));
-        };
-        return go$readdir(path7, options, cb);
-        function fs$readdirCallback(path8, options2, cb2, startTime) {
-          return function(err, files) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([
-                go$readdir,
-                [path8, options2, cb2],
-                err,
-                startTime || Date.now(),
-                Date.now()
-              ]);
-            else {
-              if (files && files.sort)
-                files.sort();
-              if (typeof cb2 === "function")
-                cb2.call(this, err, files);
-            }
-          };
-        }
+      ae._offsets.file = this.offset;
+      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      ae._offsets.data = this.offset;
+      if (gpb.usesDataDescriptor()) {
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCrc()));
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
       }
-      if (process.version.substr(0, 4) === "v0.8") {
-        var legStreams = legacy(fs9);
-        ReadStream = legStreams.ReadStream;
-        WriteStream = legStreams.WriteStream;
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(name);
+      this.write(extra);
+      ae._offsets.contents = this.offset;
+    };
+    ZipArchiveOutputStream.prototype.getComment = function(comment) {
+      return this._archive.comment !== null ? this._archive.comment : "";
+    };
+    ZipArchiveOutputStream.prototype.isZip64 = function() {
+      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
+    };
+    ZipArchiveOutputStream.prototype.setComment = function(comment) {
+      this._archive.comment = comment;
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/compress-commons.js
+var require_compress_commons = __commonJS({
+  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
+    module2.exports = {
+      ArchiveEntry: require_archive_entry(),
+      ZipArchiveEntry: require_zip_archive_entry(),
+      ArchiveOutputStream: require_archive_output_stream(),
+      ZipArchiveOutputStream: require_zip_archive_output_stream()
+    };
+  }
+});
+
+// node_modules/zip-stream/index.js
+var require_zip_stream = __commonJS({
+  "node_modules/zip-stream/index.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
+    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
+    var util = require_archiver_utils();
+    var ZipStream = module2.exports = function(options) {
+      if (!(this instanceof ZipStream)) {
+        return new ZipStream(options);
       }
-      var fs$ReadStream = fs9.ReadStream;
-      if (fs$ReadStream) {
-        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
-        ReadStream.prototype.open = ReadStream$open;
+      options = this.options = options || {};
+      options.zlib = options.zlib || {};
+      ZipArchiveOutputStream.call(this, options);
+      if (typeof options.level === "number" && options.level >= 0) {
+        options.zlib.level = options.level;
+        delete options.level;
       }
-      var fs$WriteStream = fs9.WriteStream;
-      if (fs$WriteStream) {
-        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
-        WriteStream.prototype.open = WriteStream$open;
+      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
+        options.store = true;
       }
-      Object.defineProperty(fs9, "ReadStream", {
-        get: function() {
-          return ReadStream;
-        },
-        set: function(val) {
-          ReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      Object.defineProperty(fs9, "WriteStream", {
-        get: function() {
-          return WriteStream;
-        },
-        set: function(val) {
-          WriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileReadStream = ReadStream;
-      Object.defineProperty(fs9, "FileReadStream", {
-        get: function() {
-          return FileReadStream;
-        },
-        set: function(val) {
-          FileReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileWriteStream = WriteStream;
-      Object.defineProperty(fs9, "FileWriteStream", {
-        get: function() {
-          return FileWriteStream;
-        },
-        set: function(val) {
-          FileWriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
+      options.namePrependSlash = options.namePrependSlash || false;
+      if (options.comment && options.comment.length > 0) {
+        this.setComment(options.comment);
+      }
+    };
+    inherits(ZipStream, ZipArchiveOutputStream);
+    ZipStream.prototype._normalizeFileData = function(data) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        namePrependSlash: this.options.namePrependSlash,
+        linkname: null,
+        date: null,
+        mode: null,
+        store: this.options.store,
+        comment: ""
       });
-      function ReadStream(path7, options) {
-        if (this instanceof ReadStream)
-          return fs$ReadStream.apply(this, arguments), this;
-        else
-          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+      var isDir = data.type === "directory";
+      var isSymlink = data.type === "symlink";
+      if (data.name) {
+        data.name = util.sanitizePath(data.name);
+        if (!isSymlink && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
+        }
       }
-      function ReadStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            if (that.autoClose)
-              that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
-            that.read();
-          }
-        });
+      if (isDir || isSymlink) {
+        data.store = true;
       }
-      function WriteStream(path7, options) {
-        if (this instanceof WriteStream)
-          return fs$WriteStream.apply(this, arguments), this;
-        else
-          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      data.date = util.dateify(data.date);
+      return data;
+    };
+    ZipStream.prototype.entry = function(source, data, callback) {
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
       }
-      function WriteStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
-          }
-        });
+      data = this._normalizeFileData(data);
+      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
+        callback(new Error(data.type + " entries not currently supported"));
+        return;
       }
-      function createReadStream(path7, options) {
-        return new fs9.ReadStream(path7, options);
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        callback(new Error("entry name must be a non-empty string value"));
+        return;
       }
-      function createWriteStream3(path7, options) {
-        return new fs9.WriteStream(path7, options);
+      if (data.type === "symlink" && typeof data.linkname !== "string") {
+        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
+        return;
       }
-      var fs$open = fs9.open;
-      fs9.open = open;
-      function open(path7, flags, mode, cb) {
-        if (typeof mode === "function")
-          cb = mode, mode = null;
-        return go$open(path7, flags, mode, cb);
-        function go$open(path8, flags2, mode2, cb2, startTime) {
-          return fs$open(path8, flags2, mode2, function(err, fd) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$open, [path8, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      var entry = new ZipArchiveEntry(data.name);
+      entry.setTime(data.date, this.options.forceLocalTime);
+      if (data.namePrependSlash) {
+        entry.setName(data.name, true);
       }
-      return fs9;
-    }
-    function enqueue(elem) {
-      debug4("ENQUEUE", elem[0].name, elem[1]);
-      fs8[gracefulQueue].push(elem);
-      retry2();
-    }
-    var retryTimer;
-    function resetQueue() {
-      var now = Date.now();
-      for (var i = 0; i < fs8[gracefulQueue].length; ++i) {
-        if (fs8[gracefulQueue][i].length > 2) {
-          fs8[gracefulQueue][i][3] = now;
-          fs8[gracefulQueue][i][4] = now;
-        }
+      if (data.store) {
+        entry.setMethod(0);
       }
-      retry2();
-    }
-    function retry2() {
-      clearTimeout(retryTimer);
-      retryTimer = void 0;
-      if (fs8[gracefulQueue].length === 0)
-        return;
-      var elem = fs8[gracefulQueue].shift();
-      var fn = elem[0];
-      var args = elem[1];
-      var err = elem[2];
-      var startTime = elem[3];
-      var lastTime = elem[4];
-      if (startTime === void 0) {
-        debug4("RETRY", fn.name, args);
-        fn.apply(null, args);
-      } else if (Date.now() - startTime >= 6e4) {
-        debug4("TIMEOUT", fn.name, args);
-        var cb = args.pop();
-        if (typeof cb === "function")
-          cb.call(null, err);
-      } else {
-        var sinceAttempt = Date.now() - lastTime;
-        var sinceStart = Math.max(lastTime - startTime, 1);
-        var desiredDelay = Math.min(sinceStart * 1.2, 100);
-        if (sinceAttempt >= desiredDelay) {
-          debug4("RETRY", fn.name, args);
-          fn.apply(null, args.concat([startTime]));
-        } else {
-          fs8[gracefulQueue].push(elem);
+      if (data.comment.length > 0) {
+        entry.setComment(data.comment);
+      }
+      if (data.type === "symlink" && typeof data.mode !== "number") {
+        data.mode = 40960;
+      }
+      if (typeof data.mode === "number") {
+        if (data.type === "symlink") {
+          data.mode |= 40960;
         }
+        entry.setUnixMode(data.mode);
       }
-      if (retryTimer === void 0) {
-        retryTimer = setTimeout(retry2, 0);
+      if (data.type === "symlink" && typeof data.linkname === "string") {
+        source = Buffer.from(data.linkname);
       }
-    }
+      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
+    };
+    ZipStream.prototype.finalize = function() {
+      this.finish();
+    };
   }
 });
 
-// node_modules/archiver-utils/node_modules/is-stream/index.js
-var require_is_stream = __commonJS({
-  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
-    "use strict";
-    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
-    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
-    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
-    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
-    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
-    module2.exports = isStream;
+// node_modules/archiver/lib/plugins/zip.js
+var require_zip = __commonJS({
+  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
+    var engine = require_zip_stream();
+    var util = require_archiver_utils();
+    var Zip = function(options) {
+      if (!(this instanceof Zip)) {
+        return new Zip(options);
+      }
+      options = this.options = util.defaults(options, {
+        comment: "",
+        forceUTC: false,
+        namePrependSlash: false,
+        store: false
+      });
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = new engine(options);
+    };
+    Zip.prototype.append = function(source, data, callback) {
+      this.engine.entry(source, data, callback);
+    };
+    Zip.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Zip.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Zip.prototype.pipe = function() {
+      return this.engine.pipe.apply(this.engine, arguments);
+    };
+    Zip.prototype.unpipe = function() {
+      return this.engine.unpipe.apply(this.engine, arguments);
+    };
+    module2.exports = Zip;
   }
 });
 
-// node_modules/process-nextick-args/index.js
-var require_process_nextick_args = __commonJS({
-  "node_modules/process-nextick-args/index.js"(exports2, module2) {
-    "use strict";
-    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
-      module2.exports = { nextTick };
-    } else {
-      module2.exports = process;
-    }
-    function nextTick(fn, arg1, arg2, arg3) {
-      if (typeof fn !== "function") {
-        throw new TypeError('"callback" argument must be a function');
-      }
-      var len = arguments.length;
-      var args, i;
-      switch (len) {
-        case 0:
-        case 1:
-          return process.nextTick(fn);
-        case 2:
-          return process.nextTick(function afterTickOne() {
-            fn.call(null, arg1);
-          });
-        case 3:
-          return process.nextTick(function afterTickTwo() {
-            fn.call(null, arg1, arg2);
-          });
-        case 4:
-          return process.nextTick(function afterTickThree() {
-            fn.call(null, arg1, arg2, arg3);
-          });
-        default:
-          args = new Array(len - 1);
-          i = 0;
-          while (i < args.length) {
-            args[i++] = arguments[i];
-          }
-          return process.nextTick(function afterTick() {
-            fn.apply(null, args);
-          });
-      }
-    }
+// node_modules/queue-tick/queue-microtask.js
+var require_queue_microtask = __commonJS({
+  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
+    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
   }
 });
 
-// node_modules/lazystream/node_modules/isarray/index.js
-var require_isarray = __commonJS({
-  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
-    var toString2 = {}.toString;
-    module2.exports = Array.isArray || function(arr) {
-      return toString2.call(arr) == "[object Array]";
-    };
+// node_modules/queue-tick/process-next-tick.js
+var require_process_next_tick = __commonJS({
+  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
+    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
-var require_stream = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
-    module2.exports = require("stream");
+// node_modules/fast-fifo/fixed-size.js
+var require_fixed_size = __commonJS({
+  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
+    module2.exports = class FixedFIFO {
+      constructor(hwm) {
+        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
+        this.buffer = new Array(hwm);
+        this.mask = hwm - 1;
+        this.top = 0;
+        this.btm = 0;
+        this.next = null;
+      }
+      clear() {
+        this.top = this.btm = 0;
+        this.next = null;
+        this.buffer.fill(void 0);
+      }
+      push(data) {
+        if (this.buffer[this.top] !== void 0) return false;
+        this.buffer[this.top] = data;
+        this.top = this.top + 1 & this.mask;
+        return true;
+      }
+      shift() {
+        const last = this.buffer[this.btm];
+        if (last === void 0) return void 0;
+        this.buffer[this.btm] = void 0;
+        this.btm = this.btm + 1 & this.mask;
+        return last;
+      }
+      peek() {
+        return this.buffer[this.btm];
+      }
+      isEmpty() {
+        return this.buffer[this.btm] === void 0;
+      }
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/safe-buffer/index.js
-var require_safe_buffer = __commonJS({
-  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
-    var buffer = require("buffer");
-    var Buffer2 = buffer.Buffer;
-    function copyProps(src, dst) {
-      for (var key in src) {
-        dst[key] = src[key];
+// node_modules/fast-fifo/index.js
+var require_fast_fifo = __commonJS({
+  "node_modules/fast-fifo/index.js"(exports2, module2) {
+    var FixedFIFO = require_fixed_size();
+    module2.exports = class FastFIFO {
+      constructor(hwm) {
+        this.hwm = hwm || 16;
+        this.head = new FixedFIFO(this.hwm);
+        this.tail = this.head;
+        this.length = 0;
       }
-    }
-    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
-      module2.exports = buffer;
-    } else {
-      copyProps(buffer, exports2);
-      exports2.Buffer = SafeBuffer;
-    }
-    function SafeBuffer(arg, encodingOrOffset, length) {
-      return Buffer2(arg, encodingOrOffset, length);
-    }
-    copyProps(Buffer2, SafeBuffer);
-    SafeBuffer.from = function(arg, encodingOrOffset, length) {
-      if (typeof arg === "number") {
-        throw new TypeError("Argument must not be a number");
+      clear() {
+        this.head = this.tail;
+        this.head.clear();
+        this.length = 0;
       }
-      return Buffer2(arg, encodingOrOffset, length);
-    };
-    SafeBuffer.alloc = function(size, fill, encoding) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      push(val) {
+        this.length++;
+        if (!this.head.push(val)) {
+          const prev = this.head;
+          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
+          this.head.push(val);
+        }
       }
-      var buf = Buffer2(size);
-      if (fill !== void 0) {
-        if (typeof encoding === "string") {
-          buf.fill(fill, encoding);
-        } else {
-          buf.fill(fill);
+      shift() {
+        if (this.length !== 0) this.length--;
+        const val = this.tail.shift();
+        if (val === void 0 && this.tail.next) {
+          const next = this.tail.next;
+          this.tail.next = null;
+          this.tail = next;
+          return this.tail.shift();
         }
-      } else {
-        buf.fill(0);
+        return val;
       }
-      return buf;
-    };
-    SafeBuffer.allocUnsafe = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      peek() {
+        const val = this.tail.peek();
+        if (val === void 0 && this.tail.next) return this.tail.next.peek();
+        return val;
       }
-      return Buffer2(size);
-    };
-    SafeBuffer.allocUnsafeSlow = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      isEmpty() {
+        return this.length === 0;
       }
-      return buffer.SlowBuffer(size);
     };
   }
 });
 
-// node_modules/core-util-is/lib/util.js
-var require_util19 = __commonJS({
-  "node_modules/core-util-is/lib/util.js"(exports2) {
-    function isArray(arg) {
-      if (Array.isArray) {
-        return Array.isArray(arg);
-      }
-      return objectToString(arg) === "[object Array]";
-    }
-    exports2.isArray = isArray;
-    function isBoolean2(arg) {
-      return typeof arg === "boolean";
-    }
-    exports2.isBoolean = isBoolean2;
-    function isNull2(arg) {
-      return arg === null;
-    }
-    exports2.isNull = isNull2;
-    function isNullOrUndefined(arg) {
-      return arg == null;
-    }
-    exports2.isNullOrUndefined = isNullOrUndefined;
-    function isNumber(arg) {
-      return typeof arg === "number";
-    }
-    exports2.isNumber = isNumber;
-    function isString(arg) {
-      return typeof arg === "string";
-    }
-    exports2.isString = isString;
-    function isSymbol(arg) {
-      return typeof arg === "symbol";
-    }
-    exports2.isSymbol = isSymbol;
-    function isUndefined(arg) {
-      return arg === void 0;
-    }
-    exports2.isUndefined = isUndefined;
-    function isRegExp(re) {
-      return objectToString(re) === "[object RegExp]";
-    }
-    exports2.isRegExp = isRegExp;
-    function isObject2(arg) {
-      return typeof arg === "object" && arg !== null;
-    }
-    exports2.isObject = isObject2;
-    function isDate(d) {
-      return objectToString(d) === "[object Date]";
+// node_modules/b4a/index.js
+var require_b4a = __commonJS({
+  "node_modules/b4a/index.js"(exports2, module2) {
+    function isBuffer(value) {
+      return Buffer.isBuffer(value) || value instanceof Uint8Array;
     }
-    exports2.isDate = isDate;
-    function isError(e) {
-      return objectToString(e) === "[object Error]" || e instanceof Error;
+    function isEncoding(encoding) {
+      return Buffer.isEncoding(encoding);
     }
-    exports2.isError = isError;
-    function isFunction(arg) {
-      return typeof arg === "function";
+    function alloc(size, fill2, encoding) {
+      return Buffer.alloc(size, fill2, encoding);
     }
-    exports2.isFunction = isFunction;
-    function isPrimitive(arg) {
-      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
-      typeof arg === "undefined";
+    function allocUnsafe(size) {
+      return Buffer.allocUnsafe(size);
     }
-    exports2.isPrimitive = isPrimitive;
-    exports2.isBuffer = require("buffer").Buffer.isBuffer;
-    function objectToString(o) {
-      return Object.prototype.toString.call(o);
+    function allocUnsafeSlow(size) {
+      return Buffer.allocUnsafeSlow(size);
     }
-  }
-});
-
-// node_modules/inherits/inherits_browser.js
-var require_inherits_browser = __commonJS({
-  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
-    if (typeof Object.create === "function") {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        ctor.prototype = Object.create(superCtor.prototype, {
-          constructor: {
-            value: ctor,
-            enumerable: false,
-            writable: true,
-            configurable: true
-          }
-        });
-      };
-    } else {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        var TempCtor = function() {
-        };
-        TempCtor.prototype = superCtor.prototype;
-        ctor.prototype = new TempCtor();
-        ctor.prototype.constructor = ctor;
-      };
+    function byteLength(string, encoding) {
+      return Buffer.byteLength(string, encoding);
     }
-  }
-});
-
-// node_modules/inherits/inherits.js
-var require_inherits = __commonJS({
-  "node_modules/inherits/inherits.js"(exports2, module2) {
-    try {
-      util = require("util");
-      if (typeof util.inherits !== "function") throw "";
-      module2.exports = util.inherits;
-    } catch (e) {
-      module2.exports = require_inherits_browser();
+    function compare2(a, b) {
+      return Buffer.compare(a, b);
     }
-    var util;
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
-var require_BufferList = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
-    "use strict";
-    function _classCallCheck(instance, Constructor) {
-      if (!(instance instanceof Constructor)) {
-        throw new TypeError("Cannot call a class as a function");
-      }
+    function concat(buffers, totalLength) {
+      return Buffer.concat(buffers, totalLength);
     }
-    var Buffer2 = require_safe_buffer().Buffer;
-    var util = require("util");
-    function copyBuffer(src, target, offset) {
-      src.copy(target, offset);
+    function copy(source, target, targetStart, start, end) {
+      return toBuffer(source).copy(target, targetStart, start, end);
     }
-    module2.exports = (function() {
-      function BufferList() {
-        _classCallCheck(this, BufferList);
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
-      }
-      BufferList.prototype.push = function push(v) {
-        var entry = { data: v, next: null };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
-      };
-      BufferList.prototype.unshift = function unshift(v) {
-        var entry = { data: v, next: this.head };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
-      };
-      BufferList.prototype.shift = function shift() {
-        if (this.length === 0) return;
-        var ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
-      };
-      BufferList.prototype.clear = function clear() {
-        this.head = this.tail = null;
-        this.length = 0;
-      };
-      BufferList.prototype.join = function join8(s) {
-        if (this.length === 0) return "";
-        var p = this.head;
-        var ret = "" + p.data;
-        while (p = p.next) {
-          ret += s + p.data;
-        }
-        return ret;
-      };
-      BufferList.prototype.concat = function concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        var ret = Buffer2.allocUnsafe(n >>> 0);
-        var p = this.head;
-        var i = 0;
-        while (p) {
-          copyBuffer(p.data, ret, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
-      };
-      return BufferList;
-    })();
-    if (util && util.inspect && util.inspect.custom) {
-      module2.exports.prototype[util.inspect.custom] = function() {
-        var obj = util.inspect({ length: this.length });
-        return this.constructor.name + " " + obj;
-      };
+    function equals(a, b) {
+      return toBuffer(a).equals(b);
     }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    function destroy(err, cb) {
-      var _this = this;
-      var readableDestroyed = this._readableState && this._readableState.destroyed;
-      var writableDestroyed = this._writableState && this._writableState.destroyed;
-      if (readableDestroyed || writableDestroyed) {
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          if (!this._writableState) {
-            pna.nextTick(emitErrorNT, this, err);
-          } else if (!this._writableState.errorEmitted) {
-            this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, this, err);
-          }
-        }
-        return this;
-      }
-      if (this._readableState) {
-        this._readableState.destroyed = true;
-      }
-      if (this._writableState) {
-        this._writableState.destroyed = true;
-      }
-      this._destroy(err || null, function(err2) {
-        if (!cb && err2) {
-          if (!_this._writableState) {
-            pna.nextTick(emitErrorNT, _this, err2);
-          } else if (!_this._writableState.errorEmitted) {
-            _this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, _this, err2);
-          }
-        } else if (cb) {
-          cb(err2);
-        }
-      });
-      return this;
+    function fill(buffer, value, offset, end, encoding) {
+      return toBuffer(buffer).fill(value, offset, end, encoding);
     }
-    function undestroy() {
-      if (this._readableState) {
-        this._readableState.destroyed = false;
-        this._readableState.reading = false;
-        this._readableState.ended = false;
-        this._readableState.endEmitted = false;
-      }
-      if (this._writableState) {
-        this._writableState.destroyed = false;
-        this._writableState.ended = false;
-        this._writableState.ending = false;
-        this._writableState.finalCalled = false;
-        this._writableState.prefinished = false;
-        this._writableState.finished = false;
-        this._writableState.errorEmitted = false;
-      }
+    function from(value, encodingOrOffset, length) {
+      return Buffer.from(value, encodingOrOffset, length);
     }
-    function emitErrorNT(self2, err) {
-      self2.emit("error", err);
+    function includes(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).includes(value, byteOffset, encoding);
     }
-    module2.exports = {
-      destroy,
-      undestroy
-    };
-  }
-});
-
-// node_modules/util-deprecate/node.js
-var require_node2 = __commonJS({
-  "node_modules/util-deprecate/node.js"(exports2, module2) {
-    module2.exports = require("util").deprecate;
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
-var require_stream_writable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Writable;
-    function CorkedRequest(state) {
-      var _this = this;
-      this.next = null;
-      this.entry = null;
-      this.finish = function() {
-        onCorkedFinish(_this, state);
-      };
+    function indexOf(buffer, value, byfeOffset, encoding) {
+      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
     }
-    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
-    var Duplex;
-    Writable.WritableState = WritableState;
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var internalUtil = {
-      deprecate: require_node2()
-    };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
-    };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
+    function lastIndexOf(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
     }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    function swap16(buffer) {
+      return toBuffer(buffer).swap16();
     }
-    var destroyImpl = require_destroy();
-    util.inherits(Writable, Stream);
-    function nop() {
+    function swap32(buffer) {
+      return toBuffer(buffer).swap32();
     }
-    function WritableState(options, stream) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
-      var hwm = options.highWaterMark;
-      var writableHwm = options.writableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      var noDecode = options.decodeStrings === false;
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = function(er) {
-        onwrite(stream, er);
-      };
-      this.writecb = null;
-      this.writelen = 0;
-      this.bufferedRequest = null;
-      this.lastBufferedRequest = null;
-      this.pendingcb = 0;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.bufferedRequestCount = 0;
-      this.corkedRequestsFree = new CorkedRequest(this);
+    function swap64(buffer) {
+      return toBuffer(buffer).swap64();
     }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      var current = this.bufferedRequest;
-      var out = [];
-      while (current) {
-        out.push(current);
-        current = current.next;
-      }
-      return out;
-    };
-    (function() {
-      try {
-        Object.defineProperty(WritableState.prototype, "buffer", {
-          get: internalUtil.deprecate(function() {
-            return this.getBuffer();
-          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
-        });
-      } catch (_2) {
-      }
-    })();
-    var realHasInstance;
-    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
-      realHasInstance = Function.prototype[Symbol.hasInstance];
-      Object.defineProperty(Writable, Symbol.hasInstance, {
-        value: function(object) {
-          if (realHasInstance.call(this, object)) return true;
-          if (this !== Writable) return false;
-          return object && object._writableState instanceof WritableState;
-        }
-      });
-    } else {
-      realHasInstance = function(object) {
-        return object instanceof this;
-      };
+    function toBuffer(buffer) {
+      if (Buffer.isBuffer(buffer)) return buffer;
+      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
     }
-    function Writable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
-        return new Writable(options);
-      }
-      this._writableState = new WritableState(options, this);
-      this.writable = true;
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
-      }
-      Stream.call(this);
+    function toString2(buffer, encoding, start, end) {
+      return toBuffer(buffer).toString(encoding, start, end);
     }
-    Writable.prototype.pipe = function() {
-      this.emit("error", new Error("Cannot pipe, not readable"));
-    };
-    function writeAfterEnd(stream, cb) {
-      var er = new Error("write after end");
-      stream.emit("error", er);
-      pna.nextTick(cb, er);
+    function write(buffer, string, offset, length, encoding) {
+      return toBuffer(buffer).write(string, offset, length, encoding);
     }
-    function validChunk(stream, state, chunk, cb) {
-      var valid3 = true;
-      var er = false;
-      if (chunk === null) {
-        er = new TypeError("May not write null values to stream");
-      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
-      }
-      if (er) {
-        stream.emit("error", er);
-        pna.nextTick(cb, er);
-        valid3 = false;
-      }
-      return valid3;
+    function writeDoubleLE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleLE(value, offset);
     }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      var ret = false;
-      var isBuf = !state.objectMode && _isUint8Array(chunk);
-      if (isBuf && !Buffer2.isBuffer(chunk)) {
-        chunk = _uint8ArrayToBuffer(chunk);
-      }
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      if (isBuf) encoding = "buffer";
-      else if (!encoding) encoding = state.defaultEncoding;
-      if (typeof cb !== "function") cb = nop;
-      if (state.ended) writeAfterEnd(this, cb);
-      else if (isBuf || validChunk(this, state, chunk, cb)) {
-        state.pendingcb++;
-        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
-      }
-      return ret;
-    };
-    Writable.prototype.cork = function() {
-      var state = this._writableState;
-      state.corked++;
-    };
-    Writable.prototype.uncork = function() {
-      var state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
-      }
-    };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = encoding.toLowerCase();
-      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function decodeChunk(state, chunk, encoding) {
-      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
-        chunk = Buffer2.from(chunk, encoding);
-      }
-      return chunk;
+    function writeFloatLE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatLE(value, offset);
     }
-    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
-      }
-    });
-    function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
-      if (!isBuf) {
-        var newChunk = decodeChunk(state, chunk, encoding);
-        if (chunk !== newChunk) {
-          isBuf = true;
-          encoding = "buffer";
-          chunk = newChunk;
-        }
-      }
-      var len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      var ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked) {
-        var last = state.lastBufferedRequest;
-        state.lastBufferedRequest = {
-          chunk,
-          encoding,
-          isBuf,
-          callback: cb,
-          next: null
-        };
-        if (last) {
-          last.next = state.lastBufferedRequest;
-        } else {
-          state.bufferedRequest = state.lastBufferedRequest;
-        }
-        state.bufferedRequestCount += 1;
-      } else {
-        doWrite(stream, state, false, len, chunk, encoding, cb);
-      }
-      return ret;
+    function writeUInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32LE(value, offset);
     }
-    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (writev) stream._writev(chunk, state.onwrite);
-      else stream._write(chunk, encoding, state.onwrite);
-      state.sync = false;
+    function writeInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32LE(value, offset);
     }
-    function onwriteError(stream, state, sync, er, cb) {
-      --state.pendingcb;
-      if (sync) {
-        pna.nextTick(cb, er);
-        pna.nextTick(finishMaybe, stream, state);
-        stream._writableState.errorEmitted = true;
-        stream.emit("error", er);
-      } else {
-        cb(er);
-        stream._writableState.errorEmitted = true;
-        stream.emit("error", er);
-        finishMaybe(stream, state);
-      }
+    function readDoubleLE(buffer, offset) {
+      return toBuffer(buffer).readDoubleLE(offset);
     }
-    function onwriteStateUpdate(state) {
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
+    function readFloatLE(buffer, offset) {
+      return toBuffer(buffer).readFloatLE(offset);
     }
-    function onwrite(stream, er) {
-      var state = stream._writableState;
-      var sync = state.sync;
-      var cb = state.writecb;
-      onwriteStateUpdate(state);
-      if (er) onwriteError(stream, state, sync, er, cb);
-      else {
-        var finished = needFinish(state);
-        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
-          clearBuffer(stream, state);
-        }
-        if (sync) {
-          asyncWrite(afterWrite, stream, state, finished, cb);
-        } else {
-          afterWrite(stream, state, finished, cb);
-        }
-      }
+    function readUInt32LE(buffer, offset) {
+      return toBuffer(buffer).readUInt32LE(offset);
     }
-    function afterWrite(stream, state, finished, cb) {
-      if (!finished) onwriteDrain(stream, state);
-      state.pendingcb--;
-      cb();
-      finishMaybe(stream, state);
+    function readInt32LE(buffer, offset) {
+      return toBuffer(buffer).readInt32LE(offset);
     }
-    function onwriteDrain(stream, state) {
-      if (state.length === 0 && state.needDrain) {
-        state.needDrain = false;
-        stream.emit("drain");
-      }
+    function writeDoubleBE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleBE(value, offset);
     }
-    function clearBuffer(stream, state) {
-      state.bufferProcessing = true;
-      var entry = state.bufferedRequest;
-      if (stream._writev && entry && entry.next) {
-        var l = state.bufferedRequestCount;
-        var buffer = new Array(l);
-        var holder = state.corkedRequestsFree;
-        holder.entry = entry;
-        var count = 0;
-        var allBuffers = true;
-        while (entry) {
-          buffer[count] = entry;
-          if (!entry.isBuf) allBuffers = false;
-          entry = entry.next;
-          count += 1;
-        }
-        buffer.allBuffers = allBuffers;
-        doWrite(stream, state, true, state.length, buffer, "", holder.finish);
-        state.pendingcb++;
-        state.lastBufferedRequest = null;
-        if (holder.next) {
-          state.corkedRequestsFree = holder.next;
-          holder.next = null;
-        } else {
-          state.corkedRequestsFree = new CorkedRequest(state);
-        }
-        state.bufferedRequestCount = 0;
-      } else {
-        while (entry) {
-          var chunk = entry.chunk;
-          var encoding = entry.encoding;
-          var cb = entry.callback;
-          var len = state.objectMode ? 1 : chunk.length;
-          doWrite(stream, state, false, len, chunk, encoding, cb);
-          entry = entry.next;
-          state.bufferedRequestCount--;
-          if (state.writing) {
-            break;
-          }
-        }
-        if (entry === null) state.lastBufferedRequest = null;
-      }
-      state.bufferedRequest = entry;
-      state.bufferProcessing = false;
+    function writeFloatBE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatBE(value, offset);
     }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      cb(new Error("_write() is not implemented"));
-    };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
-      }
-      if (!state.ending) endWritable(this, state, cb);
-    };
-    function needFinish(state) {
-      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
+    function writeUInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32BE(value, offset);
     }
-    function callFinal(stream, state) {
-      stream._final(function(err) {
-        state.pendingcb--;
-        if (err) {
-          stream.emit("error", err);
-        }
-        state.prefinished = true;
-        stream.emit("prefinish");
-        finishMaybe(stream, state);
-      });
+    function writeInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32BE(value, offset);
     }
-    function prefinish(stream, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream._final === "function") {
-          state.pendingcb++;
-          state.finalCalled = true;
-          pna.nextTick(callFinal, stream, state);
-        } else {
-          state.prefinished = true;
-          stream.emit("prefinish");
-        }
-      }
+    function readDoubleBE(buffer, offset) {
+      return toBuffer(buffer).readDoubleBE(offset);
     }
-    function finishMaybe(stream, state) {
-      var need = needFinish(state);
-      if (need) {
-        prefinish(stream, state);
-        if (state.pendingcb === 0) {
-          state.finished = true;
-          stream.emit("finish");
-        }
-      }
-      return need;
+    function readFloatBE(buffer, offset) {
+      return toBuffer(buffer).readFloatBE(offset);
     }
-    function endWritable(stream, state, cb) {
-      state.ending = true;
-      finishMaybe(stream, state);
-      if (cb) {
-        if (state.finished) pna.nextTick(cb);
-        else stream.once("finish", cb);
-      }
-      state.ended = true;
-      stream.writable = false;
+    function readUInt32BE(buffer, offset) {
+      return toBuffer(buffer).readUInt32BE(offset);
     }
-    function onCorkedFinish(corkReq, state, err) {
-      var entry = corkReq.entry;
-      corkReq.entry = null;
-      while (entry) {
-        var cb = entry.callback;
-        state.pendingcb--;
-        cb(err);
-        entry = entry.next;
-      }
-      state.corkedRequestsFree.next = corkReq;
+    function readInt32BE(buffer, offset) {
+      return toBuffer(buffer).readInt32BE(offset);
     }
-    Object.defineProperty(Writable.prototype, "destroyed", {
-      get: function() {
-        if (this._writableState === void 0) {
-          return false;
-        }
-        return this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._writableState) {
-          return;
-        }
-        this._writableState.destroyed = value;
-      }
-    });
-    Writable.prototype.destroy = destroyImpl.destroy;
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      this.end();
-      cb(err);
+    module2.exports = {
+      isBuffer,
+      isEncoding,
+      alloc,
+      allocUnsafe,
+      allocUnsafeSlow,
+      byteLength,
+      compare: compare2,
+      concat,
+      copy,
+      equals,
+      fill,
+      from,
+      includes,
+      indexOf,
+      lastIndexOf,
+      swap16,
+      swap32,
+      swap64,
+      toBuffer,
+      toString: toString2,
+      write,
+      writeDoubleLE,
+      writeFloatLE,
+      writeUInt32LE,
+      writeInt32LE,
+      readDoubleLE,
+      readFloatLE,
+      readUInt32LE,
+      readInt32LE,
+      writeDoubleBE,
+      writeFloatBE,
+      writeUInt32BE,
+      writeInt32BE,
+      readDoubleBE,
+      readFloatBE,
+      readUInt32BE,
+      readInt32BE
     };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
-var require_stream_duplex = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    var objectKeys = Object.keys || function(obj) {
-      var keys2 = [];
-      for (var key in obj) {
-        keys2.push(key);
+// node_modules/text-decoder/lib/pass-through-decoder.js
+var require_pass_through_decoder = __commonJS({
+  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class PassThroughDecoder {
+      constructor(encoding) {
+        this.encoding = encoding;
+      }
+      get remaining() {
+        return 0;
+      }
+      decode(tail) {
+        return b4a.toString(tail, this.encoding);
+      }
+      flush() {
+        return "";
       }
-      return keys2;
     };
-    module2.exports = Duplex;
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var Readable = require_stream_readable();
-    var Writable = require_stream_writable();
-    util.inherits(Duplex, Readable);
-    {
-      keys = objectKeys(Writable.prototype);
-      for (v = 0; v < keys.length; v++) {
-        method = keys[v];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
+  }
+});
+
+// node_modules/text-decoder/lib/utf8-decoder.js
+var require_utf8_decoder = __commonJS({
+  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class UTF8Decoder {
+      constructor() {
+        this.codePoint = 0;
+        this.bytesSeen = 0;
+        this.bytesNeeded = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
       }
-    }
-    var keys;
-    var method;
-    var v;
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable.call(this, options);
-      Writable.call(this, options);
-      if (options && options.readable === false) this.readable = false;
-      if (options && options.writable === false) this.writable = false;
-      this.allowHalfOpen = true;
-      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
-      this.once("end", onend);
-    }
-    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+      get remaining() {
+        return this.bytesSeen;
       }
-    });
-    function onend() {
-      if (this.allowHalfOpen || this._writableState.ended) return;
-      pna.nextTick(onEndNT, this);
-    }
-    function onEndNT(self2) {
-      self2.end();
-    }
-    Object.defineProperty(Duplex.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return false;
+      decode(data) {
+        if (this.bytesNeeded === 0) {
+          let isBoundary = true;
+          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
+            isBoundary = data[i] <= 127;
+          }
+          if (isBoundary) return b4a.toString(data, "utf8");
         }
-        return this._readableState.destroyed && this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return;
+        let result = "";
+        for (let i = 0, n = data.byteLength; i < n; i++) {
+          const byte = data[i];
+          if (this.bytesNeeded === 0) {
+            if (byte <= 127) {
+              result += String.fromCharCode(byte);
+            } else {
+              this.bytesSeen = 1;
+              if (byte >= 194 && byte <= 223) {
+                this.bytesNeeded = 2;
+                this.codePoint = byte & 31;
+              } else if (byte >= 224 && byte <= 239) {
+                if (byte === 224) this.lowerBoundary = 160;
+                else if (byte === 237) this.upperBoundary = 159;
+                this.bytesNeeded = 3;
+                this.codePoint = byte & 15;
+              } else if (byte >= 240 && byte <= 244) {
+                if (byte === 240) this.lowerBoundary = 144;
+                if (byte === 244) this.upperBoundary = 143;
+                this.bytesNeeded = 4;
+                this.codePoint = byte & 7;
+              } else {
+                result += "\uFFFD";
+              }
+            }
+            continue;
+          }
+          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
+            this.codePoint = 0;
+            this.bytesNeeded = 0;
+            this.bytesSeen = 0;
+            this.lowerBoundary = 128;
+            this.upperBoundary = 191;
+            result += "\uFFFD";
+            continue;
+          }
+          this.lowerBoundary = 128;
+          this.upperBoundary = 191;
+          this.codePoint = this.codePoint << 6 | byte & 63;
+          this.bytesSeen++;
+          if (this.bytesSeen !== this.bytesNeeded) continue;
+          result += String.fromCodePoint(this.codePoint);
+          this.codePoint = 0;
+          this.bytesNeeded = 0;
+          this.bytesSeen = 0;
         }
-        this._readableState.destroyed = value;
-        this._writableState.destroyed = value;
+        return result;
+      }
+      flush() {
+        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
+        this.codePoint = 0;
+        this.bytesNeeded = 0;
+        this.bytesSeen = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
+        return result;
       }
-    });
-    Duplex.prototype._destroy = function(err, cb) {
-      this.push(null);
-      this.end();
-      pna.nextTick(cb, err);
     };
   }
 });
 
-// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
-var require_string_decoder = __commonJS({
-  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
-    "use strict";
-    var Buffer2 = require_safe_buffer().Buffer;
-    var isEncoding = Buffer2.isEncoding || function(encoding) {
-      encoding = "" + encoding;
-      switch (encoding && encoding.toLowerCase()) {
-        case "hex":
-        case "utf8":
-        case "utf-8":
-        case "ascii":
-        case "binary":
-        case "base64":
-        case "ucs2":
-        case "ucs-2":
-        case "utf16le":
-        case "utf-16le":
-        case "raw":
-          return true;
-        default:
-          return false;
-      }
-    };
-    function _normalizeEncoding(enc) {
-      if (!enc) return "utf8";
-      var retried;
-      while (true) {
-        switch (enc) {
+// node_modules/text-decoder/index.js
+var require_text_decoder = __commonJS({
+  "node_modules/text-decoder/index.js"(exports2, module2) {
+    var PassThroughDecoder = require_pass_through_decoder();
+    var UTF8Decoder = require_utf8_decoder();
+    module2.exports = class TextDecoder {
+      constructor(encoding = "utf8") {
+        this.encoding = normalizeEncoding(encoding);
+        switch (this.encoding) {
           case "utf8":
-          case "utf-8":
-            return "utf8";
-          case "ucs2":
-          case "ucs-2":
+            this.decoder = new UTF8Decoder();
+            break;
           case "utf16le":
-          case "utf-16le":
-            return "utf16le";
-          case "latin1":
-          case "binary":
-            return "latin1";
           case "base64":
-          case "ascii":
-          case "hex":
-            return enc;
+            throw new Error("Unsupported encoding: " + this.encoding);
           default:
-            if (retried) return;
-            enc = ("" + enc).toLowerCase();
-            retried = true;
+            this.decoder = new PassThroughDecoder(this.encoding);
         }
       }
-    }
-    function normalizeEncoding(enc) {
-      var nenc = _normalizeEncoding(enc);
-      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
-      return nenc || enc;
-    }
-    exports2.StringDecoder = StringDecoder;
-    function StringDecoder(encoding) {
-      this.encoding = normalizeEncoding(encoding);
-      var nb;
-      switch (this.encoding) {
-        case "utf16le":
-          this.text = utf16Text;
-          this.end = utf16End;
-          nb = 4;
-          break;
-        case "utf8":
-          this.fillLast = utf8FillLast;
-          nb = 4;
-          break;
-        case "base64":
-          this.text = base64Text;
-          this.end = base64End;
-          nb = 3;
-          break;
-        default:
-          this.write = simpleWrite;
-          this.end = simpleEnd;
-          return;
+      get remaining() {
+        return this.decoder.remaining;
       }
-      this.lastNeed = 0;
-      this.lastTotal = 0;
-      this.lastChar = Buffer2.allocUnsafe(nb);
-    }
-    StringDecoder.prototype.write = function(buf) {
-      if (buf.length === 0) return "";
-      var r;
-      var i;
-      if (this.lastNeed) {
-        r = this.fillLast(buf);
-        if (r === void 0) return "";
-        i = this.lastNeed;
-        this.lastNeed = 0;
-      } else {
-        i = 0;
+      push(data) {
+        if (typeof data === "string") return data;
+        return this.decoder.decode(data);
       }
-      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
-      return r || "";
-    };
-    StringDecoder.prototype.end = utf8End;
-    StringDecoder.prototype.text = utf8Text;
-    StringDecoder.prototype.fillLast = function(buf) {
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      // For Node.js compatibility
+      write(data) {
+        return this.push(data);
+      }
+      end(data) {
+        let result = "";
+        if (data) result = this.push(data);
+        result += this.decoder.flush();
+        return result;
       }
-      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
-      this.lastNeed -= buf.length;
     };
-    function utf8CheckByte(byte) {
-      if (byte <= 127) return 0;
-      else if (byte >> 5 === 6) return 2;
-      else if (byte >> 4 === 14) return 3;
-      else if (byte >> 3 === 30) return 4;
-      return byte >> 6 === 2 ? -1 : -2;
+    function normalizeEncoding(encoding) {
+      encoding = encoding.toLowerCase();
+      switch (encoding) {
+        case "utf8":
+        case "utf-8":
+          return "utf8";
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+          return "utf16le";
+        case "latin1":
+        case "binary":
+          return "latin1";
+        case "base64":
+        case "ascii":
+        case "hex":
+          return encoding;
+        default:
+          throw new Error("Unknown encoding: " + encoding);
+      }
     }
-    function utf8CheckIncomplete(self2, buf, i) {
-      var j = buf.length - 1;
-      if (j < i) return 0;
-      var nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 1;
-        return nb;
+  }
+});
+
+// node_modules/streamx/index.js
+var require_streamx = __commonJS({
+  "node_modules/streamx/index.js"(exports2, module2) {
+    var { EventEmitter } = require("events");
+    var STREAM_DESTROYED = new Error("Stream was destroyed");
+    var PREMATURE_CLOSE = new Error("Premature close");
+    var queueTick = require_process_next_tick();
+    var FIFO = require_fast_fifo();
+    var TextDecoder2 = require_text_decoder();
+    var MAX = (1 << 29) - 1;
+    var OPENING = 1;
+    var PREDESTROYING = 2;
+    var DESTROYING = 4;
+    var DESTROYED = 8;
+    var NOT_OPENING = MAX ^ OPENING;
+    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
+    var READ_ACTIVE = 1 << 4;
+    var READ_UPDATING = 2 << 4;
+    var READ_PRIMARY = 4 << 4;
+    var READ_QUEUED = 8 << 4;
+    var READ_RESUMED = 16 << 4;
+    var READ_PIPE_DRAINED = 32 << 4;
+    var READ_ENDING = 64 << 4;
+    var READ_EMIT_DATA = 128 << 4;
+    var READ_EMIT_READABLE = 256 << 4;
+    var READ_EMITTED_READABLE = 512 << 4;
+    var READ_DONE = 1024 << 4;
+    var READ_NEXT_TICK = 2048 << 4;
+    var READ_NEEDS_PUSH = 4096 << 4;
+    var READ_READ_AHEAD = 8192 << 4;
+    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
+    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
+    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
+    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
+    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
+    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
+    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
+    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
+    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
+    var READ_PAUSED = MAX ^ READ_RESUMED;
+    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
+    var READ_NOT_ENDING = MAX ^ READ_ENDING;
+    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
+    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
+    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
+    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
+    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
+    var WRITE_ACTIVE = 1 << 18;
+    var WRITE_UPDATING = 2 << 18;
+    var WRITE_PRIMARY = 4 << 18;
+    var WRITE_QUEUED = 8 << 18;
+    var WRITE_UNDRAINED = 16 << 18;
+    var WRITE_DONE = 32 << 18;
+    var WRITE_EMIT_DRAIN = 64 << 18;
+    var WRITE_NEXT_TICK = 128 << 18;
+    var WRITE_WRITING = 256 << 18;
+    var WRITE_FINISHING = 512 << 18;
+    var WRITE_CORKED = 1024 << 18;
+    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
+    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
+    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
+    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
+    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
+    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
+    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
+    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
+    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
+    var NOT_ACTIVE = MAX ^ ACTIVE;
+    var DONE = READ_DONE | WRITE_DONE;
+    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
+    var OPEN_STATUS = DESTROY_STATUS | OPENING;
+    var AUTO_DESTROY = DESTROY_STATUS | DONE;
+    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
+    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
+    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
+    var IS_OPENING = OPEN_STATUS | TICKING;
+    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
+    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
+    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
+    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
+    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
+    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
+    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
+    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
+    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
+    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
+    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
+    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
+    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
+    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
+    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
+    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
+    var WritableState = class {
+      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
+        this.stream = stream;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark;
+        this.buffered = 0;
+        this.error = null;
+        this.pipeline = null;
+        this.drains = null;
+        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
+        this.map = mapWritable || map2;
+        this.afterWrite = afterWrite.bind(this);
+        this.afterUpdateNextTick = updateWriteNT.bind(this);
       }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 2;
-        return nb;
+      get ended() {
+        return (this.stream._duplexState & WRITE_DONE) !== 0;
       }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) {
-          if (nb === 2) nb = 0;
-          else self2.lastNeed = nb - 3;
+      push(data) {
+        if (this.map !== null) data = this.map(data);
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        if (this.buffered < this.highWaterMark) {
+          this.stream._duplexState |= WRITE_QUEUED;
+          return true;
         }
-        return nb;
-      }
-      return 0;
-    }
-    function utf8CheckExtraBytes(self2, buf, p) {
-      if ((buf[0] & 192) !== 128) {
-        self2.lastNeed = 0;
-        return "\uFFFD";
+        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
+        return false;
       }
-      if (self2.lastNeed > 1 && buf.length > 1) {
-        if ((buf[1] & 192) !== 128) {
-          self2.lastNeed = 1;
-          return "\uFFFD";
-        }
-        if (self2.lastNeed > 2 && buf.length > 2) {
-          if ((buf[2] & 192) !== 128) {
-            self2.lastNeed = 2;
-            return "\uFFFD";
-          }
-        }
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
+        return data;
       }
-    }
-    function utf8FillLast(buf) {
-      var p = this.lastTotal - this.lastNeed;
-      var r = utf8CheckExtraBytes(this, buf, p);
-      if (r !== void 0) return r;
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, p, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      end(data) {
+        if (typeof data === "function") this.stream.once("finish", data);
+        else if (data !== void 0 && data !== null) this.push(data);
+        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
       }
-      buf.copy(this.lastChar, p, 0, buf.length);
-      this.lastNeed -= buf.length;
-    }
-    function utf8Text(buf, i) {
-      var total = utf8CheckIncomplete(this, buf, i);
-      if (!this.lastNeed) return buf.toString("utf8", i);
-      this.lastTotal = total;
-      var end = buf.length - (total - this.lastNeed);
-      buf.copy(this.lastChar, 0, end);
-      return buf.toString("utf8", i, end);
-    }
-    function utf8End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + "\uFFFD";
-      return r;
-    }
-    function utf16Text(buf, i) {
-      if ((buf.length - i) % 2 === 0) {
-        var r = buf.toString("utf16le", i);
-        if (r) {
-          var c = r.charCodeAt(r.length - 1);
-          if (c >= 55296 && c <= 56319) {
-            this.lastNeed = 2;
-            this.lastTotal = 4;
-            this.lastChar[0] = buf[buf.length - 2];
-            this.lastChar[1] = buf[buf.length - 1];
-            return r.slice(0, -1);
-          }
+      autoBatch(data, cb) {
+        const buffer = [];
+        const stream = this.stream;
+        buffer.push(data);
+        while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
+          buffer.push(stream._writableState.shift());
         }
-        return r;
-      }
-      this.lastNeed = 1;
-      this.lastTotal = 2;
-      this.lastChar[0] = buf[buf.length - 1];
-      return buf.toString("utf16le", i, buf.length - 1);
-    }
-    function utf16End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) {
-        var end = this.lastTotal - this.lastNeed;
-        return r + this.lastChar.toString("utf16le", 0, end);
+        if ((stream._duplexState & OPEN_STATUS) !== 0) return cb(null);
+        stream._writev(buffer, cb);
       }
-      return r;
-    }
-    function base64Text(buf, i) {
-      var n = (buf.length - i) % 3;
-      if (n === 0) return buf.toString("base64", i);
-      this.lastNeed = 3 - n;
-      this.lastTotal = 3;
-      if (n === 1) {
-        this.lastChar[0] = buf[buf.length - 1];
-      } else {
-        this.lastChar[0] = buf[buf.length - 2];
-        this.lastChar[1] = buf[buf.length - 1];
+      update() {
+        const stream = this.stream;
+        stream._duplexState |= WRITE_UPDATING;
+        do {
+          while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
+            const data = this.shift();
+            stream._duplexState |= WRITE_ACTIVE_AND_WRITING;
+            stream._write(data, this.afterWrite);
+          }
+          if ((stream._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream._duplexState &= WRITE_NOT_UPDATING;
       }
-      return buf.toString("base64", i, buf.length - n);
-    }
-    function base64End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
-      return r;
-    }
-    function simpleWrite(buf) {
-      return buf.toString(this.encoding);
-    }
-    function simpleEnd(buf) {
-      return buf && buf.length ? this.write(buf) : "";
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
-var require_stream_readable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Readable;
-    var isArray = require_isarray();
-    var Duplex;
-    Readable.ReadableState = ReadableState;
-    var EE = require("events").EventEmitter;
-    var EElistenerCount = function(emitter, type2) {
-      return emitter.listeners(type2).length;
-    };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
-    };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var debugUtil = require("util");
-    var debug4 = void 0;
-    if (debugUtil && debugUtil.debuglog) {
-      debug4 = debugUtil.debuglog("stream");
-    } else {
-      debug4 = function() {
-      };
-    }
-    var BufferList = require_BufferList();
-    var destroyImpl = require_destroy();
-    var StringDecoder;
-    util.inherits(Readable, Stream);
-    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
-    function ReadableState(options, stream) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
-      var hwm = options.highWaterMark;
-      var readableHwm = options.readableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = null;
-      this.pipesCount = 0;
-      this.flowing = null;
-      this.ended = false;
-      this.endEmitted = false;
-      this.reading = false;
-      this.sync = true;
-      this.needReadable = false;
-      this.emittedReadable = false;
-      this.readableListening = false;
-      this.resumeScheduled = false;
-      this.destroyed = false;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.awaitDrain = 0;
-      this.readingMore = false;
-      this.decoder = null;
-      this.encoding = null;
-      if (options.encoding) {
-        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
+      updateNonPrimary() {
+        const stream = this.stream;
+        if ((stream._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
+          stream._duplexState = (stream._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
+          stream._final(afterFinal.bind(this));
+          return;
+        }
+        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream._duplexState |= ACTIVE;
+            stream._destroy(afterDestroy.bind(this));
+          }
+          return;
+        }
+        if ((stream._duplexState & IS_OPENING) === OPENING) {
+          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
+          stream._open(afterOpen.bind(this));
+        }
       }
-    }
-    function Readable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!(this instanceof Readable)) return new Readable(options);
-      this._readableState = new ReadableState(options, this);
-      this.readable = true;
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
+      continueUpdate() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        return true;
       }
-      Stream.call(this);
-    }
-    Object.defineProperty(Readable.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0) {
+      updateCallback() {
+        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= WRITE_NEXT_TICK;
+        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      }
+    };
+    var ReadableState = class {
+      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
+        this.stream = stream;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
+        this.buffered = 0;
+        this.readAhead = highWaterMark > 0;
+        this.error = null;
+        this.pipeline = null;
+        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
+        this.map = mapReadable || map2;
+        this.pipeTo = null;
+        this.afterRead = afterRead.bind(this);
+        this.afterUpdateNextTick = updateReadNT.bind(this);
+      }
+      get ended() {
+        return (this.stream._duplexState & READ_DONE) !== 0;
+      }
+      pipe(pipeTo, cb) {
+        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
+        if (typeof cb !== "function") cb = null;
+        this.stream._duplexState |= READ_PIPE_DRAINED;
+        this.pipeTo = pipeTo;
+        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
+        if (cb) this.stream.on("error", noop3);
+        if (isStreamx(pipeTo)) {
+          pipeTo._writableState.pipeline = this.pipeline;
+          if (cb) pipeTo.on("error", noop3);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+        } else {
+          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
+          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
+          pipeTo.on("error", onerror);
+          pipeTo.on("close", onclose);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+        }
+        pipeTo.on("drain", afterDrain.bind(this));
+        this.stream.emit("piping", pipeTo);
+        pipeTo.emit("pipe", this.stream);
+      }
+      push(data) {
+        const stream = this.stream;
+        if (data === null) {
+          this.highWaterMark = 0;
+          stream._duplexState = (stream._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
           return false;
         }
-        return this._readableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._readableState) {
-          return;
+        if (this.map !== null) {
+          data = this.map(data);
+          if (data === null) {
+            stream._duplexState &= READ_PUSHED;
+            return this.buffered < this.highWaterMark;
+          }
         }
-        this._readableState.destroyed = value;
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        stream._duplexState = (stream._duplexState | READ_QUEUED) & READ_PUSHED;
+        return this.buffered < this.highWaterMark;
       }
-    });
-    Readable.prototype.destroy = destroyImpl.destroy;
-    Readable.prototype._undestroy = destroyImpl.undestroy;
-    Readable.prototype._destroy = function(err, cb) {
-      this.push(null);
-      cb(err);
-    };
-    Readable.prototype.push = function(chunk, encoding) {
-      var state = this._readableState;
-      var skipChunkCheck;
-      if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (encoding !== state.encoding) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "";
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
+        return data;
+      }
+      unshift(data) {
+        const pending = [this.map !== null ? this.map(data) : data];
+        while (this.buffered > 0) pending.push(this.shift());
+        for (let i = 0; i < pending.length - 1; i++) {
+          const data2 = pending[i];
+          this.buffered += this.byteLength(data2);
+          this.queue.push(data2);
+        }
+        this.push(pending[pending.length - 1]);
+      }
+      read() {
+        const stream = this.stream;
+        if ((stream._duplexState & READ_STATUS) === READ_QUEUED) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
+          return data;
+        }
+        if (this.readAhead === false) {
+          stream._duplexState |= READ_READ_AHEAD;
+          this.updateNextTick();
+        }
+        return null;
+      }
+      drain() {
+        const stream = this.stream;
+        while ((stream._duplexState & READ_STATUS) === READ_QUEUED && (stream._duplexState & READ_FLOWING) !== 0) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
+        }
+      }
+      update() {
+        const stream = this.stream;
+        stream._duplexState |= READ_UPDATING;
+        do {
+          this.drain();
+          while (this.buffered < this.highWaterMark && (stream._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
+            stream._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
+            stream._read(this.afterRead);
+            this.drain();
           }
-          skipChunkCheck = true;
+          if ((stream._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
+            stream._duplexState |= READ_EMITTED_READABLE;
+            stream.emit("readable");
+          }
+          if ((stream._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream._duplexState &= READ_NOT_UPDATING;
+      }
+      updateNonPrimary() {
+        const stream = this.stream;
+        if ((stream._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
+          stream._duplexState = (stream._duplexState | READ_DONE) & READ_NOT_ENDING;
+          stream.emit("end");
+          if ((stream._duplexState & AUTO_DESTROY) === DONE) stream._duplexState |= DESTROYING;
+          if (this.pipeTo !== null) this.pipeTo.end();
+        }
+        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream._duplexState |= ACTIVE;
+            stream._destroy(afterDestroy.bind(this));
+          }
+          return;
+        }
+        if ((stream._duplexState & IS_OPENING) === OPENING) {
+          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
+          stream._open(afterOpen.bind(this));
         }
-      } else {
-        skipChunkCheck = true;
       }
-      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
+      continueUpdate() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        return true;
+      }
+      updateCallback() {
+        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= READ_NEXT_TICK;
+        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      }
     };
-    Readable.prototype.unshift = function(chunk) {
-      return readableAddChunk(this, chunk, null, true, false);
+    var TransformState = class {
+      constructor(stream) {
+        this.data = null;
+        this.afterTransform = afterTransform.bind(stream);
+        this.afterFinal = null;
+      }
     };
-    function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
-      var state = stream._readableState;
-      if (chunk === null) {
-        state.reading = false;
-        onEofChunk(stream, state);
-      } else {
-        var er;
-        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
-        if (er) {
-          stream.emit("error", er);
-        } else if (state.objectMode || chunk && chunk.length > 0) {
-          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
-            chunk = _uint8ArrayToBuffer(chunk);
+    var Pipeline = class {
+      constructor(src, dst, cb) {
+        this.from = src;
+        this.to = dst;
+        this.afterPipe = cb;
+        this.error = null;
+        this.pipeToFinished = false;
+      }
+      finished() {
+        this.pipeToFinished = true;
+      }
+      done(stream, err) {
+        if (err) this.error = err;
+        if (stream === this.to) {
+          this.to = null;
+          if (this.from !== null) {
+            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
+              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+            }
+            return;
           }
-          if (addToFront) {
-            if (state.endEmitted) stream.emit("error", new Error("stream.unshift() after end event"));
-            else addChunk(stream, state, chunk, true);
-          } else if (state.ended) {
-            stream.emit("error", new Error("stream.push() after EOF"));
-          } else {
-            state.reading = false;
-            if (state.decoder && !encoding) {
-              chunk = state.decoder.write(chunk);
-              if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
-              else maybeReadMore(stream, state);
-            } else {
-              addChunk(stream, state, chunk, false);
+        }
+        if (stream === this.from) {
+          this.from = null;
+          if (this.to !== null) {
+            if ((stream._duplexState & READ_DONE) === 0) {
+              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
             }
+            return;
           }
-        } else if (!addToFront) {
-          state.reading = false;
         }
+        if (this.afterPipe !== null) this.afterPipe(this.error);
+        this.to = this.from = this.afterPipe = null;
       }
-      return needMoreData(state);
+    };
+    function afterDrain() {
+      this.stream._duplexState |= READ_PIPE_DRAINED;
+      this.updateCallback();
     }
-    function addChunk(stream, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync) {
-        stream.emit("data", chunk);
-        stream.read(0);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if (state.needReadable) emitReadable(stream);
+    function afterFinal(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      if ((stream._duplexState & DESTROY_STATUS) === 0) {
+        stream._duplexState |= WRITE_DONE;
+        stream.emit("finish");
       }
-      maybeReadMore(stream, state);
-    }
-    function chunkInvalid(state, chunk) {
-      var er;
-      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+      if ((stream._duplexState & AUTO_DESTROY) === DONE) {
+        stream._duplexState |= DESTROYING;
       }
-      return er;
-    }
-    function needMoreData(state) {
-      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
+      stream._duplexState &= WRITE_NOT_ACTIVE;
+      if ((stream._duplexState & WRITE_UPDATING) === 0) this.update();
+      else this.updateNextTick();
     }
-    Readable.prototype.isPaused = function() {
-      return this._readableState.flowing === false;
-    };
-    Readable.prototype.setEncoding = function(enc) {
-      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-      this._readableState.decoder = new StringDecoder(enc);
-      this._readableState.encoding = enc;
-      return this;
-    };
-    var MAX_HWM = 8388608;
-    function computeNewHighWaterMark(n) {
-      if (n >= MAX_HWM) {
-        n = MAX_HWM;
-      } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+    function afterDestroy(err) {
+      const stream = this.stream;
+      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
+      if (err) stream.emit("error", err);
+      stream._duplexState |= DESTROYED;
+      stream.emit("close");
+      const rs = stream._readableState;
+      const ws = stream._writableState;
+      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream, err);
+      if (ws !== null) {
+        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
+        if (ws.pipeline !== null) ws.pipeline.done(stream, err);
       }
-      return n;
     }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if (state.objectMode) return 1;
-      if (n !== n) {
-        if (state.flowing && state.length) return state.buffer.head.data.length;
-        else return state.length;
+    function afterWrite(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      stream._duplexState &= WRITE_NOT_ACTIVE;
+      if (this.drains !== null) tickDrains(this.drains);
+      if ((stream._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
+        stream._duplexState &= WRITE_DRAINED;
+        if ((stream._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
+          stream.emit("drain");
+        }
       }
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n <= state.length) return n;
-      if (!state.ended) {
-        state.needReadable = true;
-        return 0;
+      this.updateCallback();
+    }
+    function afterRead(err) {
+      if (err) this.stream.destroy(err);
+      this.stream._duplexState &= READ_NOT_ACTIVE;
+      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
+      this.updateCallback();
+    }
+    function updateReadNT() {
+      if ((this.stream._duplexState & READ_UPDATING) === 0) {
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        this.update();
       }
-      return state.length;
     }
-    Readable.prototype.read = function(n) {
-      debug4("read", n);
-      n = parseInt(n, 10);
-      var state = this._readableState;
-      var nOrig = n;
-      if (n !== 0) state.emittedReadable = false;
-      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
-        debug4("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
+    function updateWriteNT() {
+      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        this.update();
       }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
+    }
+    function tickDrains(drains) {
+      for (let i = 0; i < drains.length; i++) {
+        if (--drains[i].writes === 0) {
+          drains.shift().resolve(true);
+          i--;
+        }
       }
-      var doRead = state.needReadable;
-      debug4("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug4("length less than watermark", doRead);
+    }
+    function afterOpen(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      if ((stream._duplexState & DESTROYING) === 0) {
+        if ((stream._duplexState & READ_PRIMARY_STATUS) === 0) stream._duplexState |= READ_PRIMARY;
+        if ((stream._duplexState & WRITE_PRIMARY_STATUS) === 0) stream._duplexState |= WRITE_PRIMARY;
+        stream.emit("open");
       }
-      if (state.ended || state.reading) {
-        doRead = false;
-        debug4("reading or ended", doRead);
-      } else if (doRead) {
-        debug4("do read");
-        state.reading = true;
-        state.sync = true;
-        if (state.length === 0) state.needReadable = true;
-        this._read(state.highWaterMark);
-        state.sync = false;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
+      stream._duplexState &= NOT_ACTIVE;
+      if (stream._writableState !== null) {
+        stream._writableState.updateCallback();
       }
-      var ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = true;
-        n = 0;
-      } else {
-        state.length -= n;
+      if (stream._readableState !== null) {
+        stream._readableState.updateCallback();
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
+    }
+    function afterTransform(err, data) {
+      if (data !== void 0 && data !== null) this.push(data);
+      this._writableState.afterWrite(err);
+    }
+    function newListener(name) {
+      if (this._readableState !== null) {
+        if (name === "data") {
+          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
+          this._readableState.updateNextTick();
+        }
+        if (name === "readable") {
+          this._duplexState |= READ_EMIT_READABLE;
+          this._readableState.updateNextTick();
+        }
       }
-      if (ret !== null) this.emit("data", ret);
-      return ret;
-    };
-    function onEofChunk(stream, state) {
-      if (state.ended) return;
-      if (state.decoder) {
-        var chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
+      if (this._writableState !== null) {
+        if (name === "drain") {
+          this._duplexState |= WRITE_EMIT_DRAIN;
+          this._writableState.updateNextTick();
         }
       }
-      state.ended = true;
-      emitReadable(stream);
     }
-    function emitReadable(stream) {
-      var state = stream._readableState;
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug4("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        if (state.sync) pna.nextTick(emitReadable_, stream);
-        else emitReadable_(stream);
+    var Stream = class extends EventEmitter {
+      constructor(opts) {
+        super();
+        this._duplexState = 0;
+        this._readableState = null;
+        this._writableState = null;
+        if (opts) {
+          if (opts.open) this._open = opts.open;
+          if (opts.destroy) this._destroy = opts.destroy;
+          if (opts.predestroy) this._predestroy = opts.predestroy;
+          if (opts.signal) {
+            opts.signal.addEventListener("abort", abort.bind(this));
+          }
+        }
+        this.on("newListener", newListener);
       }
-    }
-    function emitReadable_(stream) {
-      debug4("emit readable");
-      stream.emit("readable");
-      flow(stream);
-    }
-    function maybeReadMore(stream, state) {
-      if (!state.readingMore) {
-        state.readingMore = true;
-        pna.nextTick(maybeReadMore_, stream, state);
+      _open(cb) {
+        cb(null);
       }
-    }
-    function maybeReadMore_(stream, state) {
-      var len = state.length;
-      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
-        debug4("maybeReadMore read 0");
-        stream.read(0);
-        if (len === state.length)
-          break;
-        else len = state.length;
+      _destroy(cb) {
+        cb(null);
       }
-      state.readingMore = false;
-    }
-    Readable.prototype._read = function(n) {
-      this.emit("error", new Error("_read() is not implemented"));
-    };
-    Readable.prototype.pipe = function(dest, pipeOpts) {
-      var src = this;
-      var state = this._readableState;
-      switch (state.pipesCount) {
-        case 0:
-          state.pipes = dest;
-          break;
-        case 1:
-          state.pipes = [state.pipes, dest];
-          break;
-        default:
-          state.pipes.push(dest);
-          break;
+      _predestroy() {
       }
-      state.pipesCount += 1;
-      debug4("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
-      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
-      var endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) pna.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug4("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
-        }
+      get readable() {
+        return this._readableState !== null ? true : void 0;
       }
-      function onend() {
-        debug4("onend");
-        dest.end();
+      get writable() {
+        return this._writableState !== null ? true : void 0;
       }
-      var ondrain = pipeOnDrain(src);
-      dest.on("drain", ondrain);
-      var cleanedUp = false;
-      function cleanup() {
-        debug4("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        dest.removeListener("drain", ondrain);
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      get destroyed() {
+        return (this._duplexState & DESTROYED) !== 0;
       }
-      var increasedAwaitDrain = false;
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug4("ondata");
-        increasedAwaitDrain = false;
-        var ret = dest.write(chunk);
-        if (false === ret && !increasedAwaitDrain) {
-          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
-            debug4("false write response, pause", state.awaitDrain);
-            state.awaitDrain++;
-            increasedAwaitDrain = true;
+      get destroying() {
+        return (this._duplexState & DESTROY_STATUS) !== 0;
+      }
+      destroy(err) {
+        if ((this._duplexState & DESTROY_STATUS) === 0) {
+          if (!err) err = STREAM_DESTROYED;
+          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
+          if (this._readableState !== null) {
+            this._readableState.highWaterMark = 0;
+            this._readableState.error = err;
           }
-          src.pause();
+          if (this._writableState !== null) {
+            this._writableState.highWaterMark = 0;
+            this._writableState.error = err;
+          }
+          this._duplexState |= PREDESTROYING;
+          this._predestroy();
+          this._duplexState &= NOT_PREDESTROYING;
+          if (this._readableState !== null) this._readableState.updateNextTick();
+          if (this._writableState !== null) this._writableState.updateNextTick();
         }
       }
-      function onerror(er) {
-        debug4("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
+    };
+    var Readable = class _Readable extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
+        this._readableState = new ReadableState(this, opts);
+        if (opts) {
+          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
+          if (opts.read) this._read = opts.read;
+          if (opts.eagerOpen) this._readableState.updateNextTick();
+          if (opts.encoding) this.setEncoding(opts.encoding);
+        }
       }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
+      setEncoding(encoding) {
+        const dec = new TextDecoder2(encoding);
+        const map2 = this._readableState.map || echo;
+        this._readableState.map = mapOrSkip;
+        return this;
+        function mapOrSkip(data) {
+          const next = dec.push(data);
+          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+        }
       }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug4("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
+      _read(cb) {
+        cb(null);
       }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug4("unpipe");
-        src.unpipe(dest);
+      pipe(dest, cb) {
+        this._readableState.updateNextTick();
+        this._readableState.pipe(dest, cb);
+        return dest;
       }
-      dest.emit("pipe", src);
-      if (!state.flowing) {
-        debug4("pipe resume");
-        src.resume();
+      read() {
+        this._readableState.updateNextTick();
+        return this._readableState.read();
       }
-      return dest;
-    };
-    function pipeOnDrain(src) {
-      return function() {
-        var state = src._readableState;
-        debug4("pipeOnDrain", state.awaitDrain);
-        if (state.awaitDrain) state.awaitDrain--;
-        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
-          state.flowing = true;
-          flow(src);
-        }
-      };
-    }
-    Readable.prototype.unpipe = function(dest) {
-      var state = this._readableState;
-      var unpipeInfo = { hasUnpiped: false };
-      if (state.pipesCount === 0) return this;
-      if (state.pipesCount === 1) {
-        if (dest && dest !== state.pipes) return this;
-        if (!dest) dest = state.pipes;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        if (dest) dest.emit("unpipe", this, unpipeInfo);
+      push(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.push(data);
+      }
+      unshift(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.unshift(data);
+      }
+      resume() {
+        this._duplexState |= READ_RESUMED_READ_AHEAD;
+        this._readableState.updateNextTick();
         return this;
       }
-      if (!dest) {
-        var dests = state.pipes;
-        var len = state.pipesCount;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        for (var i = 0; i < len; i++) {
-          dests[i].emit("unpipe", this, { hasUnpiped: false });
-        }
+      pause() {
+        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
         return this;
       }
-      var index = indexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      state.pipesCount -= 1;
-      if (state.pipesCount === 1) state.pipes = state.pipes[0];
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
-    };
-    Readable.prototype.on = function(ev, fn) {
-      var res = Stream.prototype.on.call(this, ev, fn);
-      if (ev === "data") {
-        if (this._readableState.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        var state = this._readableState;
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.emittedReadable = false;
-          if (!state.reading) {
-            pna.nextTick(nReadingNextTick, this);
-          } else if (state.length) {
-            emitReadable(this);
+      static _fromAsyncIterator(ite, opts) {
+        let destroy;
+        const rs = new _Readable({
+          ...opts,
+          read(cb) {
+            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
+          },
+          predestroy() {
+            destroy = ite.return();
+          },
+          destroy(cb) {
+            if (!destroy) return cb(null);
+            destroy.then(cb.bind(null, null)).catch(cb);
           }
+        });
+        return rs;
+        function push(data) {
+          if (data.done) rs.push(null);
+          else rs.push(data.value);
         }
       }
-      return res;
-    };
-    Readable.prototype.addListener = Readable.prototype.on;
-    function nReadingNextTick(self2) {
-      debug4("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable.prototype.resume = function() {
-      var state = this._readableState;
-      if (!state.flowing) {
-        debug4("resume");
-        state.flowing = true;
-        resume(this, state);
-      }
-      return this;
-    };
-    function resume(stream, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        pna.nextTick(resume_, stream, state);
-      }
-    }
-    function resume_(stream, state) {
-      if (!state.reading) {
-        debug4("resume read 0");
-        stream.read(0);
+      static from(data, opts) {
+        if (isReadStreamx(data)) return data;
+        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
+        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
+        let i = 0;
+        return new _Readable({
+          ...opts,
+          read(cb) {
+            this.push(i === data.length ? null : data[i++]);
+            cb(null);
+          }
+        });
       }
-      state.resumeScheduled = false;
-      state.awaitDrain = 0;
-      stream.emit("resume");
-      flow(stream);
-      if (state.flowing && !state.reading) stream.read(0);
-    }
-    Readable.prototype.pause = function() {
-      debug4("call pause flowing=%j", this._readableState.flowing);
-      if (false !== this._readableState.flowing) {
-        debug4("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+      static isBackpressured(rs) {
+        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
       }
-      return this;
-    };
-    function flow(stream) {
-      var state = stream._readableState;
-      debug4("flow", state.flowing);
-      while (state.flowing && stream.read() !== null) {
+      static isPaused(rs) {
+        return (rs._duplexState & READ_RESUMED) === 0;
       }
-    }
-    Readable.prototype.wrap = function(stream) {
-      var _this = this;
-      var state = this._readableState;
-      var paused = false;
-      stream.on("end", function() {
-        debug4("wrapped end");
-        if (state.decoder && !state.ended) {
-          var chunk = state.decoder.end();
-          if (chunk && chunk.length) _this.push(chunk);
+      [asyncIterator]() {
+        const stream = this;
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("readable", onreadable);
+        this.on("close", onclose);
+        return {
+          [asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(function(resolve5, reject) {
+              promiseResolve = resolve5;
+              promiseReject = reject;
+              const data = stream.read();
+              if (data !== null) ondata(data);
+              else if ((stream._duplexState & DESTROYED) !== 0) ondata(null);
+            });
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
+          }
+        };
+        function onreadable() {
+          if (promiseResolve !== null) ondata(stream.read());
         }
-        _this.push(null);
-      });
-      stream.on("data", function(chunk) {
-        debug4("wrapped data");
-        if (state.decoder) chunk = state.decoder.write(chunk);
-        if (state.objectMode && (chunk === null || chunk === void 0)) return;
-        else if (!state.objectMode && (!chunk || !chunk.length)) return;
-        var ret = _this.push(chunk);
-        if (!ret) {
-          paused = true;
-          stream.pause();
+        function onclose() {
+          if (promiseResolve !== null) ondata(null);
         }
-      });
-      for (var i in stream) {
-        if (this[i] === void 0 && typeof stream[i] === "function") {
-          this[i] = /* @__PURE__ */ (function(method) {
-            return function() {
-              return stream[method].apply(stream, arguments);
-            };
-          })(i);
+        function ondata(data) {
+          if (promiseReject === null) return;
+          if (error3) promiseReject(error3);
+          else if (data === null && (stream._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
+          else promiseResolve({ value: data, done: data === null });
+          promiseReject = promiseResolve = null;
         }
-      }
-      for (var n = 0; n < kProxyEvents.length; n++) {
-        stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
-      }
-      this._read = function(n2) {
-        debug4("wrapped _read", n2);
-        if (paused) {
-          paused = false;
-          stream.resume();
+        function destroy(err) {
+          stream.destroy(err);
+          return new Promise((resolve5, reject) => {
+            if (stream._duplexState & DESTROYED) return resolve5({ value: void 0, done: true });
+            stream.once("close", function() {
+              if (err) reject(err);
+              else resolve5({ value: void 0, done: true });
+            });
+          });
         }
-      };
-      return this;
+      }
     };
-    Object.defineProperty(Readable.prototype, "readableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._readableState.highWaterMark;
+    var Writable = class extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | READ_DONE;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
+          if (opts.eagerOpen) this._writableState.updateNextTick();
+        }
       }
-    });
-    Readable._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      var ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.head.data;
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
-      } else {
-        ret = fromListPartial(n, state.buffer, state.decoder);
+      cork() {
+        this._duplexState |= WRITE_CORKED;
       }
-      return ret;
-    }
-    function fromListPartial(n, list, hasStrings) {
-      var ret;
-      if (n < list.head.data.length) {
-        ret = list.head.data.slice(0, n);
-        list.head.data = list.head.data.slice(n);
-      } else if (n === list.head.data.length) {
-        ret = list.shift();
-      } else {
-        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
       }
-      return ret;
-    }
-    function copyFromBufferString(n, list) {
-      var p = list.head;
-      var c = 1;
-      var ret = p.data;
-      n -= ret.length;
-      while (p = p.next) {
-        var str2 = p.data;
-        var nb = n > str2.length ? str2.length : n;
-        if (nb === str2.length) ret += str2;
-        else ret += str2.slice(0, n);
-        n -= nb;
-        if (n === 0) {
-          if (nb === str2.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = str2.slice(nb);
-          }
-          break;
-        }
-        ++c;
+      _writev(batch, cb) {
+        cb(null);
       }
-      list.length -= c;
-      return ret;
-    }
-    function copyFromBuffer(n, list) {
-      var ret = Buffer2.allocUnsafe(n);
-      var p = list.head;
-      var c = 1;
-      p.data.copy(ret);
-      n -= p.data.length;
-      while (p = p.next) {
-        var buf = p.data;
-        var nb = n > buf.length ? buf.length : n;
-        buf.copy(ret, ret.length - n, 0, nb);
-        n -= nb;
-        if (n === 0) {
-          if (nb === buf.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = buf.slice(nb);
-          }
-          break;
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
+      }
+      _final(cb) {
+        cb(null);
+      }
+      static isBackpressured(ws) {
+        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
+      }
+      static drained(ws) {
+        if (ws.destroyed) return Promise.resolve(false);
+        const state = ws._writableState;
+        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
+        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
+        if (writes === 0) return Promise.resolve(true);
+        if (state.drains === null) state.drains = [];
+        return new Promise((resolve5) => {
+          state.drains.push({ writes, resolve: resolve5 });
+        });
+      }
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
+      }
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
+      }
+    };
+    var Duplex = class extends Readable {
+      // and Writable
+      constructor(opts) {
+        super(opts);
+        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
         }
-        ++c;
       }
-      list.length -= c;
-      return ret;
-    }
-    function endReadable(stream) {
-      var state = stream._readableState;
-      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
-      if (!state.endEmitted) {
-        state.ended = true;
-        pna.nextTick(endReadableNT, state, stream);
+      cork() {
+        this._duplexState |= WRITE_CORKED;
       }
-    }
-    function endReadableNT(state, stream) {
-      if (!state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream.readable = false;
-        stream.emit("end");
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
       }
-    }
-    function indexOf(xs, x) {
-      for (var i = 0, l = xs.length; i < l; i++) {
-        if (xs[i] === x) return i;
+      _writev(batch, cb) {
+        cb(null);
       }
-      return -1;
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
-var require_stream_transform = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
-    "use strict";
-    module2.exports = Transform;
-    var Duplex = require_stream_duplex();
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    util.inherits(Transform, Duplex);
-    function afterTransform(er, data) {
-      var ts = this._transformState;
-      ts.transforming = false;
-      var cb = ts.writecb;
-      if (!cb) {
-        return this.emit("error", new Error("write callback called multiple times"));
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
       }
-      ts.writechunk = null;
-      ts.writecb = null;
-      if (data != null)
-        this.push(data);
-      cb(er);
-      var rs = this._readableState;
-      rs.reading = false;
-      if (rs.needReadable || rs.length < rs.highWaterMark) {
-        this._read(rs.highWaterMark);
+      _final(cb) {
+        cb(null);
       }
-    }
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      Duplex.call(this, options);
-      this._transformState = {
-        afterTransform: afterTransform.bind(this),
-        needTransform: false,
-        transforming: false,
-        writecb: null,
-        writechunk: null,
-        writeencoding: null
-      };
-      this._readableState.needReadable = true;
-      this._readableState.sync = false;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
       }
-      this.on("prefinish", prefinish);
-    }
-    function prefinish() {
-      var _this = this;
-      if (typeof this._flush === "function") {
-        this._flush(function(er, data) {
-          done(_this, er, data);
-        });
-      } else {
-        done(this, null, null);
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
       }
-    }
-    Transform.prototype.push = function(chunk, encoding) {
-      this._transformState.needTransform = false;
-      return Duplex.prototype.push.call(this, chunk, encoding);
     };
-    Transform.prototype._transform = function(chunk, encoding, cb) {
-      throw new Error("_transform() is not implemented");
-    };
-    Transform.prototype._write = function(chunk, encoding, cb) {
-      var ts = this._transformState;
-      ts.writecb = cb;
-      ts.writechunk = chunk;
-      ts.writeencoding = encoding;
-      if (!ts.transforming) {
-        var rs = this._readableState;
-        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
+    var Transform = class extends Duplex {
+      constructor(opts) {
+        super(opts);
+        this._transformState = new TransformState(this);
+        if (opts) {
+          if (opts.transform) this._transform = opts.transform;
+          if (opts.flush) this._flush = opts.flush;
+        }
       }
-    };
-    Transform.prototype._read = function(n) {
-      var ts = this._transformState;
-      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
-        ts.transforming = true;
-        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
-      } else {
-        ts.needTransform = true;
+      _write(data, cb) {
+        if (this._readableState.buffered >= this._readableState.highWaterMark) {
+          this._transformState.data = data;
+        } else {
+          this._transform(data, this._transformState.afterTransform);
+        }
       }
-    };
-    Transform.prototype._destroy = function(err, cb) {
-      var _this2 = this;
-      Duplex.prototype._destroy.call(this, err, function(err2) {
-        cb(err2);
-        _this2.emit("close");
-      });
-    };
-    function done(stream, er, data) {
-      if (er) return stream.emit("error", er);
-      if (data != null)
-        stream.push(data);
-      if (stream._writableState.length) throw new Error("Calling transform done when ws.length != 0");
-      if (stream._transformState.transforming) throw new Error("Calling transform done when still transforming");
-      return stream.push(null);
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
-var require_stream_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
-    "use strict";
-    module2.exports = PassThrough;
-    var Transform = require_stream_transform();
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    util.inherits(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
-    };
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/readable.js
-var require_readable3 = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
-    var Stream = require("stream");
-    if (process.env.READABLE_STREAM === "disable" && Stream) {
-      module2.exports = Stream;
-      exports2 = module2.exports = Stream.Readable;
-      exports2.Readable = Stream.Readable;
-      exports2.Writable = Stream.Writable;
-      exports2.Duplex = Stream.Duplex;
-      exports2.Transform = Stream.Transform;
-      exports2.PassThrough = Stream.PassThrough;
-      exports2.Stream = Stream;
-    } else {
-      exports2 = module2.exports = require_stream_readable();
-      exports2.Stream = Stream || exports2;
-      exports2.Readable = exports2;
-      exports2.Writable = require_stream_writable();
-      exports2.Duplex = require_stream_duplex();
-      exports2.Transform = require_stream_transform();
-      exports2.PassThrough = require_stream_passthrough();
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/passthrough.js
-var require_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
-    module2.exports = require_readable3().PassThrough;
-  }
-});
-
-// node_modules/lazystream/lib/lazystream.js
-var require_lazystream = __commonJS({
-  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
-    var util = require("util");
-    var PassThrough = require_passthrough();
-    module2.exports = {
-      Readable,
-      Writable
-    };
-    util.inherits(Readable, PassThrough);
-    util.inherits(Writable, PassThrough);
-    function beforeFirstCall(instance, method, callback) {
-      instance[method] = function() {
-        delete instance[method];
-        callback.apply(this, arguments);
-        return this[method].apply(this, arguments);
-      };
-    }
-    function Readable(fn, options) {
-      if (!(this instanceof Readable))
-        return new Readable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_read", function() {
-        var source = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        source.on("error", emit);
-        source.pipe(this);
-      });
-      this.emit("readable");
-    }
-    function Writable(fn, options) {
-      if (!(this instanceof Writable))
-        return new Writable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_write", function() {
-        var destination = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        destination.on("error", emit);
-        this.pipe(destination);
-      });
-      this.emit("writable");
-    }
-  }
-});
-
-// node_modules/normalize-path/index.js
-var require_normalize_path = __commonJS({
-  "node_modules/normalize-path/index.js"(exports2, module2) {
-    module2.exports = function(path7, stripTrailing) {
-      if (typeof path7 !== "string") {
-        throw new TypeError("expected path to be a string");
+      _read(cb) {
+        if (this._transformState.data !== null) {
+          const data = this._transformState.data;
+          this._transformState.data = null;
+          cb(null);
+          this._transform(data, this._transformState.afterTransform);
+        } else {
+          cb(null);
+        }
       }
-      if (path7 === "\\" || path7 === "/") return "/";
-      var len = path7.length;
-      if (len <= 1) return path7;
-      var prefix = "";
-      if (len > 4 && path7[3] === "\\") {
-        var ch = path7[2];
-        if ((ch === "?" || ch === ".") && path7.slice(0, 2) === "\\\\") {
-          path7 = path7.slice(2);
-          prefix = "//";
+      destroy(err) {
+        super.destroy(err);
+        if (this._transformState.data !== null) {
+          this._transformState.data = null;
+          this._transformState.afterTransform();
         }
       }
-      var segs = path7.split(/[/\\]+/);
-      if (stripTrailing !== false && segs[segs.length - 1] === "") {
-        segs.pop();
+      _transform(data, cb) {
+        cb(null, data);
+      }
+      _flush(cb) {
+        cb(null);
+      }
+      _final(cb) {
+        this._transformState.afterFinal = cb;
+        this._flush(transformAfterFlush.bind(this));
       }
-      return prefix + segs.join("/");
     };
-  }
-});
-
-// node_modules/lodash/identity.js
-var require_identity = __commonJS({
-  "node_modules/lodash/identity.js"(exports2, module2) {
-    function identity(value) {
-      return value;
+    var PassThrough = class extends Transform {
+    };
+    function transformAfterFlush(err, data) {
+      const cb = this._transformState.afterFinal;
+      if (err) return cb(err);
+      if (data !== null && data !== void 0) this.push(data);
+      this.push(null);
+      cb(null);
     }
-    module2.exports = identity;
-  }
-});
-
-// node_modules/lodash/_apply.js
-var require_apply = __commonJS({
-  "node_modules/lodash/_apply.js"(exports2, module2) {
-    function apply(func, thisArg, args) {
-      switch (args.length) {
-        case 0:
-          return func.call(thisArg);
-        case 1:
-          return func.call(thisArg, args[0]);
-        case 2:
-          return func.call(thisArg, args[0], args[1]);
-        case 3:
-          return func.call(thisArg, args[0], args[1], args[2]);
-      }
-      return func.apply(thisArg, args);
+    function pipelinePromise(...streams) {
+      return new Promise((resolve5, reject) => {
+        return pipeline(...streams, (err) => {
+          if (err) return reject(err);
+          resolve5();
+        });
+      });
     }
-    module2.exports = apply;
-  }
-});
-
-// node_modules/lodash/_overRest.js
-var require_overRest = __commonJS({
-  "node_modules/lodash/_overRest.js"(exports2, module2) {
-    var apply = require_apply();
-    var nativeMax = Math.max;
-    function overRest(func, start, transform) {
-      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
-      return function() {
-        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
-        while (++index < length) {
-          array[index] = args[start + index];
+    function pipeline(stream, ...streams) {
+      const all = Array.isArray(stream) ? [...stream, ...streams] : [stream, ...streams];
+      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
+      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
+      let src = all[0];
+      let dest = null;
+      let error3 = null;
+      for (let i = 1; i < all.length; i++) {
+        dest = all[i];
+        if (isStreamx(src)) {
+          src.pipe(dest, onerror);
+        } else {
+          errorHandle(src, true, i > 1, onerror);
+          src.pipe(dest);
         }
-        index = -1;
-        var otherArgs = Array(start + 1);
-        while (++index < start) {
-          otherArgs[index] = args[index];
+        src = dest;
+      }
+      if (done) {
+        let fin = false;
+        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
+        dest.on("error", (err) => {
+          if (error3 === null) error3 = err;
+        });
+        dest.on("finish", () => {
+          fin = true;
+          if (!autoDestroy) done(error3);
+        });
+        if (autoDestroy) {
+          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
         }
-        otherArgs[start] = transform(array);
-        return apply(func, this, otherArgs);
-      };
-    }
-    module2.exports = overRest;
-  }
-});
-
-// node_modules/lodash/constant.js
-var require_constant = __commonJS({
-  "node_modules/lodash/constant.js"(exports2, module2) {
-    function constant(value) {
-      return function() {
-        return value;
-      };
-    }
-    module2.exports = constant;
-  }
-});
-
-// node_modules/lodash/_freeGlobal.js
-var require_freeGlobal = __commonJS({
-  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
-    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
-    module2.exports = freeGlobal;
-  }
-});
-
-// node_modules/lodash/_root.js
-var require_root = __commonJS({
-  "node_modules/lodash/_root.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
-    var root = freeGlobal || freeSelf || Function("return this")();
-    module2.exports = root;
-  }
-});
-
-// node_modules/lodash/_Symbol.js
-var require_Symbol = __commonJS({
-  "node_modules/lodash/_Symbol.js"(exports2, module2) {
-    var root = require_root();
-    var Symbol2 = root.Symbol;
-    module2.exports = Symbol2;
-  }
-});
-
-// node_modules/lodash/_getRawTag.js
-var require_getRawTag = __commonJS({
-  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var nativeObjectToString = objectProto.toString;
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function getRawTag(value) {
-      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
-      try {
-        value[symToStringTag] = void 0;
-        var unmasked = true;
-      } catch (e) {
       }
-      var result = nativeObjectToString.call(value);
-      if (unmasked) {
-        if (isOwn) {
-          value[symToStringTag] = tag;
-        } else {
-          delete value[symToStringTag];
+      return dest;
+      function errorHandle(s, rd, wr, onerror2) {
+        s.on("error", onerror2);
+        s.on("close", onclose);
+        function onclose() {
+          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
+          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
         }
       }
-      return result;
-    }
-    module2.exports = getRawTag;
-  }
-});
-
-// node_modules/lodash/_objectToString.js
-var require_objectToString = __commonJS({
-  "node_modules/lodash/_objectToString.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    var nativeObjectToString = objectProto.toString;
-    function objectToString(value) {
-      return nativeObjectToString.call(value);
-    }
-    module2.exports = objectToString;
-  }
-});
-
-// node_modules/lodash/_baseGetTag.js
-var require_baseGetTag = __commonJS({
-  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var getRawTag = require_getRawTag();
-    var objectToString = require_objectToString();
-    var nullTag = "[object Null]";
-    var undefinedTag = "[object Undefined]";
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function baseGetTag(value) {
-      if (value == null) {
-        return value === void 0 ? undefinedTag : nullTag;
+      function onerror(err) {
+        if (!err || error3) return;
+        error3 = err;
+        for (const s of all) {
+          s.destroy(err);
+        }
       }
-      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
-    }
-    module2.exports = baseGetTag;
-  }
-});
-
-// node_modules/lodash/isObject.js
-var require_isObject = __commonJS({
-  "node_modules/lodash/isObject.js"(exports2, module2) {
-    function isObject2(value) {
-      var type2 = typeof value;
-      return value != null && (type2 == "object" || type2 == "function");
     }
-    module2.exports = isObject2;
-  }
-});
-
-// node_modules/lodash/isFunction.js
-var require_isFunction = __commonJS({
-  "node_modules/lodash/isFunction.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObject2 = require_isObject();
-    var asyncTag = "[object AsyncFunction]";
-    var funcTag = "[object Function]";
-    var genTag = "[object GeneratorFunction]";
-    var proxyTag = "[object Proxy]";
-    function isFunction(value) {
-      if (!isObject2(value)) {
-        return false;
-      }
-      var tag = baseGetTag(value);
-      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
+    function echo(s) {
+      return s;
     }
-    module2.exports = isFunction;
-  }
-});
-
-// node_modules/lodash/_coreJsData.js
-var require_coreJsData = __commonJS({
-  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
-    var root = require_root();
-    var coreJsData = root["__core-js_shared__"];
-    module2.exports = coreJsData;
-  }
-});
-
-// node_modules/lodash/_isMasked.js
-var require_isMasked = __commonJS({
-  "node_modules/lodash/_isMasked.js"(exports2, module2) {
-    var coreJsData = require_coreJsData();
-    var maskSrcKey = (function() {
-      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
-      return uid ? "Symbol(src)_1." + uid : "";
-    })();
-    function isMasked(func) {
-      return !!maskSrcKey && maskSrcKey in func;
+    function isStream(stream) {
+      return !!stream._readableState || !!stream._writableState;
     }
-    module2.exports = isMasked;
-  }
-});
-
-// node_modules/lodash/_toSource.js
-var require_toSource = __commonJS({
-  "node_modules/lodash/_toSource.js"(exports2, module2) {
-    var funcProto = Function.prototype;
-    var funcToString = funcProto.toString;
-    function toSource(func) {
-      if (func != null) {
-        try {
-          return funcToString.call(func);
-        } catch (e) {
-        }
-        try {
-          return func + "";
-        } catch (e) {
-        }
-      }
-      return "";
+    function isStreamx(stream) {
+      return typeof stream._duplexState === "number" && isStream(stream);
     }
-    module2.exports = toSource;
-  }
-});
-
-// node_modules/lodash/_baseIsNative.js
-var require_baseIsNative = __commonJS({
-  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isMasked = require_isMasked();
-    var isObject2 = require_isObject();
-    var toSource = require_toSource();
-    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
-    var reIsHostCtor = /^\[object .+?Constructor\]$/;
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var reIsNative = RegExp(
-      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
-    );
-    function baseIsNative(value) {
-      if (!isObject2(value) || isMasked(value)) {
-        return false;
-      }
-      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
-      return pattern.test(toSource(value));
+    function isEnded(stream) {
+      return !!stream._readableState && stream._readableState.ended;
     }
-    module2.exports = baseIsNative;
-  }
-});
-
-// node_modules/lodash/_getValue.js
-var require_getValue = __commonJS({
-  "node_modules/lodash/_getValue.js"(exports2, module2) {
-    function getValue(object, key) {
-      return object == null ? void 0 : object[key];
+    function isFinished(stream) {
+      return !!stream._writableState && stream._writableState.ended;
     }
-    module2.exports = getValue;
-  }
-});
-
-// node_modules/lodash/_getNative.js
-var require_getNative = __commonJS({
-  "node_modules/lodash/_getNative.js"(exports2, module2) {
-    var baseIsNative = require_baseIsNative();
-    var getValue = require_getValue();
-    function getNative(object, key) {
-      var value = getValue(object, key);
-      return baseIsNative(value) ? value : void 0;
+    function getStreamError(stream, opts = {}) {
+      const err = stream._readableState && stream._readableState.error || stream._writableState && stream._writableState.error;
+      return !opts.all && err === STREAM_DESTROYED ? null : err;
     }
-    module2.exports = getNative;
-  }
-});
-
-// node_modules/lodash/_defineProperty.js
-var require_defineProperty = __commonJS({
-  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var defineProperty = (function() {
-      try {
-        var func = getNative(Object, "defineProperty");
-        func({}, "", {});
-        return func;
-      } catch (e) {
-      }
-    })();
-    module2.exports = defineProperty;
-  }
-});
-
-// node_modules/lodash/_baseSetToString.js
-var require_baseSetToString = __commonJS({
-  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
-    var constant = require_constant();
-    var defineProperty = require_defineProperty();
-    var identity = require_identity();
-    var baseSetToString = !defineProperty ? identity : function(func, string) {
-      return defineProperty(func, "toString", {
-        "configurable": true,
-        "enumerable": false,
-        "value": constant(string),
-        "writable": true
-      });
-    };
-    module2.exports = baseSetToString;
-  }
-});
-
-// node_modules/lodash/_shortOut.js
-var require_shortOut = __commonJS({
-  "node_modules/lodash/_shortOut.js"(exports2, module2) {
-    var HOT_COUNT = 800;
-    var HOT_SPAN = 16;
-    var nativeNow = Date.now;
-    function shortOut(func) {
-      var count = 0, lastCalled = 0;
-      return function() {
-        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
-        lastCalled = stamp;
-        if (remaining > 0) {
-          if (++count >= HOT_COUNT) {
-            return arguments[0];
-          }
-        } else {
-          count = 0;
-        }
-        return func.apply(void 0, arguments);
-      };
+    function isReadStreamx(stream) {
+      return isStreamx(stream) && stream.readable;
     }
-    module2.exports = shortOut;
-  }
-});
-
-// node_modules/lodash/_setToString.js
-var require_setToString = __commonJS({
-  "node_modules/lodash/_setToString.js"(exports2, module2) {
-    var baseSetToString = require_baseSetToString();
-    var shortOut = require_shortOut();
-    var setToString = shortOut(baseSetToString);
-    module2.exports = setToString;
-  }
-});
-
-// node_modules/lodash/_baseRest.js
-var require_baseRest = __commonJS({
-  "node_modules/lodash/_baseRest.js"(exports2, module2) {
-    var identity = require_identity();
-    var overRest = require_overRest();
-    var setToString = require_setToString();
-    function baseRest(func, start) {
-      return setToString(overRest(func, start, identity), func + "");
+    function isTypedArray(data) {
+      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
     }
-    module2.exports = baseRest;
-  }
-});
-
-// node_modules/lodash/eq.js
-var require_eq2 = __commonJS({
-  "node_modules/lodash/eq.js"(exports2, module2) {
-    function eq(value, other) {
-      return value === other || value !== value && other !== other;
+    function defaultByteLength(data) {
+      return isTypedArray(data) ? data.byteLength : 1024;
     }
-    module2.exports = eq;
-  }
-});
-
-// node_modules/lodash/isLength.js
-var require_isLength = __commonJS({
-  "node_modules/lodash/isLength.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    function isLength(value) {
-      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+    function noop3() {
     }
-    module2.exports = isLength;
-  }
-});
-
-// node_modules/lodash/isArrayLike.js
-var require_isArrayLike = __commonJS({
-  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isLength = require_isLength();
-    function isArrayLike(value) {
-      return value != null && isLength(value.length) && !isFunction(value);
+    function abort() {
+      this.destroy(new Error("Stream aborted."));
     }
-    module2.exports = isArrayLike;
-  }
-});
-
-// node_modules/lodash/_isIndex.js
-var require_isIndex = __commonJS({
-  "node_modules/lodash/_isIndex.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    var reIsUint = /^(?:0|[1-9]\d*)$/;
-    function isIndex(value, length) {
-      var type2 = typeof value;
-      length = length == null ? MAX_SAFE_INTEGER : length;
-      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
+    function isWritev(s) {
+      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
     }
-    module2.exports = isIndex;
+    module2.exports = {
+      pipeline,
+      pipelinePromise,
+      isStream,
+      isStreamx,
+      isEnded,
+      isFinished,
+      getStreamError,
+      Stream,
+      Writable,
+      Readable,
+      Duplex,
+      Transform,
+      // Export PassThrough for compatibility with Node.js core's stream module
+      PassThrough
+    };
   }
 });
 
-// node_modules/lodash/_isIterateeCall.js
-var require_isIterateeCall = __commonJS({
-  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
-    var eq = require_eq2();
-    var isArrayLike = require_isArrayLike();
-    var isIndex = require_isIndex();
-    var isObject2 = require_isObject();
-    function isIterateeCall(value, index, object) {
-      if (!isObject2(object)) {
-        return false;
-      }
-      var type2 = typeof index;
-      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
-        return eq(object[index], value);
+// node_modules/tar-stream/headers.js
+var require_headers3 = __commonJS({
+  "node_modules/tar-stream/headers.js"(exports2) {
+    var b4a = require_b4a();
+    var ZEROS = "0000000000000000000";
+    var SEVENS = "7777777777777777777";
+    var ZERO_OFFSET = "0".charCodeAt(0);
+    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
+    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
+    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
+    var GNU_VER = b4a.from([32, 0]);
+    var MASK = 4095;
+    var MAGIC_OFFSET = 257;
+    var VERSION_OFFSET = 263;
+    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
+      return decodeStr(buf, 0, buf.length, encoding);
+    };
+    exports2.encodePax = function encodePax(opts) {
+      let result = "";
+      if (opts.name) result += addLength(" path=" + opts.name + "\n");
+      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
+      const pax = opts.pax;
+      if (pax) {
+        for (const key in pax) {
+          result += addLength(" " + key + "=" + pax[key] + "\n");
+        }
       }
-      return false;
-    }
-    module2.exports = isIterateeCall;
-  }
-});
-
-// node_modules/lodash/_baseTimes.js
-var require_baseTimes = __commonJS({
-  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
-    function baseTimes(n, iteratee) {
-      var index = -1, result = Array(n);
-      while (++index < n) {
-        result[index] = iteratee(index);
+      return b4a.from(result);
+    };
+    exports2.decodePax = function decodePax(buf) {
+      const result = {};
+      while (buf.length) {
+        let i = 0;
+        while (i < buf.length && buf[i] !== 32) i++;
+        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
+        if (!len) return result;
+        const b = b4a.toString(buf.subarray(i + 1, len - 1));
+        const keyIndex = b.indexOf("=");
+        if (keyIndex === -1) return result;
+        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
+        buf = buf.subarray(len);
       }
       return result;
-    }
-    module2.exports = baseTimes;
-  }
-});
-
-// node_modules/lodash/isObjectLike.js
-var require_isObjectLike = __commonJS({
-  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
-    function isObjectLike(value) {
-      return value != null && typeof value == "object";
-    }
-    module2.exports = isObjectLike;
-  }
-});
-
-// node_modules/lodash/_baseIsArguments.js
-var require_baseIsArguments = __commonJS({
-  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    function baseIsArguments(value) {
-      return isObjectLike(value) && baseGetTag(value) == argsTag;
-    }
-    module2.exports = baseIsArguments;
-  }
-});
-
-// node_modules/lodash/isArguments.js
-var require_isArguments = __commonJS({
-  "node_modules/lodash/isArguments.js"(exports2, module2) {
-    var baseIsArguments = require_baseIsArguments();
-    var isObjectLike = require_isObjectLike();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
-    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
-      return arguments;
-    })()) ? baseIsArguments : function(value) {
-      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
     };
-    module2.exports = isArguments;
-  }
-});
-
-// node_modules/lodash/isArray.js
-var require_isArray = __commonJS({
-  "node_modules/lodash/isArray.js"(exports2, module2) {
-    var isArray = Array.isArray;
-    module2.exports = isArray;
-  }
-});
-
-// node_modules/lodash/stubFalse.js
-var require_stubFalse = __commonJS({
-  "node_modules/lodash/stubFalse.js"(exports2, module2) {
-    function stubFalse() {
-      return false;
-    }
-    module2.exports = stubFalse;
-  }
-});
-
-// node_modules/lodash/isBuffer.js
-var require_isBuffer = __commonJS({
-  "node_modules/lodash/isBuffer.js"(exports2, module2) {
-    var root = require_root();
-    var stubFalse = require_stubFalse();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var Buffer2 = moduleExports ? root.Buffer : void 0;
-    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
-    var isBuffer = nativeIsBuffer || stubFalse;
-    module2.exports = isBuffer;
-  }
-});
-
-// node_modules/lodash/_baseIsTypedArray.js
-var require_baseIsTypedArray = __commonJS({
-  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isLength = require_isLength();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    var arrayTag = "[object Array]";
-    var boolTag = "[object Boolean]";
-    var dateTag = "[object Date]";
-    var errorTag = "[object Error]";
-    var funcTag = "[object Function]";
-    var mapTag = "[object Map]";
-    var numberTag = "[object Number]";
-    var objectTag = "[object Object]";
-    var regexpTag = "[object RegExp]";
-    var setTag = "[object Set]";
-    var stringTag = "[object String]";
-    var weakMapTag = "[object WeakMap]";
-    var arrayBufferTag = "[object ArrayBuffer]";
-    var dataViewTag = "[object DataView]";
-    var float32Tag = "[object Float32Array]";
-    var float64Tag = "[object Float64Array]";
-    var int8Tag = "[object Int8Array]";
-    var int16Tag = "[object Int16Array]";
-    var int32Tag = "[object Int32Array]";
-    var uint8Tag = "[object Uint8Array]";
-    var uint8ClampedTag = "[object Uint8ClampedArray]";
-    var uint16Tag = "[object Uint16Array]";
-    var uint32Tag = "[object Uint32Array]";
-    var typedArrayTags = {};
-    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
-    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
-    function baseIsTypedArray(value) {
-      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
-    }
-    module2.exports = baseIsTypedArray;
-  }
-});
-
-// node_modules/lodash/_baseUnary.js
-var require_baseUnary = __commonJS({
-  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
-    function baseUnary(func) {
-      return function(value) {
-        return func(value);
+    exports2.encode = function encode(opts) {
+      const buf = b4a.alloc(512);
+      let name = opts.name;
+      let prefix = "";
+      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
+      if (b4a.byteLength(name) !== name.length) return null;
+      while (b4a.byteLength(name) > 100) {
+        const i = name.indexOf("/");
+        if (i === -1) return null;
+        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
+        name = name.slice(i + 1);
+      }
+      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
+      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
+      b4a.write(buf, name);
+      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
+      b4a.write(buf, encodeOct(opts.uid, 6), 108);
+      b4a.write(buf, encodeOct(opts.gid, 6), 116);
+      encodeSize(opts.size, buf, 124);
+      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
+      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
+      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
+      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
+      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
+      if (opts.uname) b4a.write(buf, opts.uname, 265);
+      if (opts.gname) b4a.write(buf, opts.gname, 297);
+      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
+      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
+      if (prefix) b4a.write(buf, prefix, 345);
+      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
+      return buf;
+    };
+    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
+      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
+      let name = decodeStr(buf, 0, 100, filenameEncoding);
+      const mode = decodeOct(buf, 100, 8);
+      const uid = decodeOct(buf, 108, 8);
+      const gid = decodeOct(buf, 116, 8);
+      const size = decodeOct(buf, 124, 12);
+      const mtime = decodeOct(buf, 136, 12);
+      const type2 = toType(typeflag);
+      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
+      const uname = decodeStr(buf, 265, 32);
+      const gname = decodeStr(buf, 297, 32);
+      const devmajor = decodeOct(buf, 329, 8);
+      const devminor = decodeOct(buf, 337, 8);
+      const c = cksum(buf);
+      if (c === 8 * 32) return null;
+      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
+      if (isUSTAR(buf)) {
+        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
+      } else if (isGNU(buf)) {
+      } else {
+        if (!allowUnknownFormat) {
+          throw new Error("Invalid tar header: unknown format.");
+        }
+      }
+      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
+      return {
+        name,
+        mode,
+        uid,
+        gid,
+        size,
+        mtime: new Date(1e3 * mtime),
+        type: type2,
+        linkname,
+        uname,
+        gname,
+        devmajor,
+        devminor,
+        pax: null
       };
+    };
+    function isUSTAR(buf) {
+      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
     }
-    module2.exports = baseUnary;
-  }
-});
-
-// node_modules/lodash/_nodeUtil.js
-var require_nodeUtil = __commonJS({
-  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var freeProcess = moduleExports && freeGlobal.process;
-    var nodeUtil = (function() {
-      try {
-        var types = freeModule && freeModule.require && freeModule.require("util").types;
-        if (types) {
-          return types;
-        }
-        return freeProcess && freeProcess.binding && freeProcess.binding("util");
-      } catch (e) {
+    function isGNU(buf) {
+      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
+    }
+    function clamp(index, len, defaultValue) {
+      if (typeof index !== "number") return defaultValue;
+      index = ~~index;
+      if (index >= len) return len;
+      if (index >= 0) return index;
+      index += len;
+      if (index >= 0) return index;
+      return 0;
+    }
+    function toType(flag) {
+      switch (flag) {
+        case 0:
+          return "file";
+        case 1:
+          return "link";
+        case 2:
+          return "symlink";
+        case 3:
+          return "character-device";
+        case 4:
+          return "block-device";
+        case 5:
+          return "directory";
+        case 6:
+          return "fifo";
+        case 7:
+          return "contiguous-file";
+        case 72:
+          return "pax-header";
+        case 55:
+          return "pax-global-header";
+        case 27:
+          return "gnu-long-link-path";
+        case 28:
+        case 30:
+          return "gnu-long-path";
       }
-    })();
-    module2.exports = nodeUtil;
-  }
-});
-
-// node_modules/lodash/isTypedArray.js
-var require_isTypedArray = __commonJS({
-  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
-    var baseIsTypedArray = require_baseIsTypedArray();
-    var baseUnary = require_baseUnary();
-    var nodeUtil = require_nodeUtil();
-    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
-    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
-    module2.exports = isTypedArray;
-  }
-});
-
-// node_modules/lodash/_arrayLikeKeys.js
-var require_arrayLikeKeys = __commonJS({
-  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
-    var baseTimes = require_baseTimes();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var isBuffer = require_isBuffer();
-    var isIndex = require_isIndex();
-    var isTypedArray = require_isTypedArray();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function arrayLikeKeys(value, inherited) {
-      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
-      for (var key in value) {
-        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
-        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
-        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
-        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
-        isIndex(key, length)))) {
-          result.push(key);
-        }
+      return null;
+    }
+    function toTypeflag(flag) {
+      switch (flag) {
+        case "file":
+          return 0;
+        case "link":
+          return 1;
+        case "symlink":
+          return 2;
+        case "character-device":
+          return 3;
+        case "block-device":
+          return 4;
+        case "directory":
+          return 5;
+        case "fifo":
+          return 6;
+        case "contiguous-file":
+          return 7;
+        case "pax-header":
+          return 72;
       }
-      return result;
+      return 0;
     }
-    module2.exports = arrayLikeKeys;
-  }
-});
-
-// node_modules/lodash/_isPrototype.js
-var require_isPrototype = __commonJS({
-  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    function isPrototype(value) {
-      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
-      return value === proto;
+    function indexOf(block, num, offset, end) {
+      for (; offset < end; offset++) {
+        if (block[offset] === num) return offset;
+      }
+      return end;
     }
-    module2.exports = isPrototype;
-  }
-});
-
-// node_modules/lodash/_nativeKeysIn.js
-var require_nativeKeysIn = __commonJS({
-  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
-    function nativeKeysIn(object) {
-      var result = [];
-      if (object != null) {
-        for (var key in Object(object)) {
-          result.push(key);
-        }
+    function cksum(block) {
+      let sum = 8 * 32;
+      for (let i = 0; i < 148; i++) sum += block[i];
+      for (let j = 156; j < 512; j++) sum += block[j];
+      return sum;
+    }
+    function encodeOct(val, n) {
+      val = val.toString(8);
+      if (val.length > n) return SEVENS.slice(0, n) + " ";
+      return ZEROS.slice(0, n - val.length) + val + " ";
+    }
+    function encodeSizeBin(num, buf, off) {
+      buf[off] = 128;
+      for (let i = 11; i > 0; i--) {
+        buf[off + i] = num & 255;
+        num = Math.floor(num / 256);
       }
-      return result;
     }
-    module2.exports = nativeKeysIn;
-  }
-});
-
-// node_modules/lodash/_baseKeysIn.js
-var require_baseKeysIn = __commonJS({
-  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
-    var isObject2 = require_isObject();
-    var isPrototype = require_isPrototype();
-    var nativeKeysIn = require_nativeKeysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function baseKeysIn(object) {
-      if (!isObject2(object)) {
-        return nativeKeysIn(object);
+    function encodeSize(num, buf, off) {
+      if (num.toString(8).length > 11) {
+        encodeSizeBin(num, buf, off);
+      } else {
+        b4a.write(buf, encodeOct(num, 11), off);
       }
-      var isProto = isPrototype(object), result = [];
-      for (var key in object) {
-        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
-          result.push(key);
-        }
+    }
+    function parse256(buf) {
+      let positive;
+      if (buf[0] === 128) positive = true;
+      else if (buf[0] === 255) positive = false;
+      else return null;
+      const tuple = [];
+      let i;
+      for (i = buf.length - 1; i > 0; i--) {
+        const byte = buf[i];
+        if (positive) tuple.push(byte);
+        else tuple.push(255 - byte);
       }
-      return result;
+      let sum = 0;
+      const l = tuple.length;
+      for (i = 0; i < l; i++) {
+        sum += tuple[i] * Math.pow(256, i);
+      }
+      return positive ? sum : -1 * sum;
     }
-    module2.exports = baseKeysIn;
-  }
-});
-
-// node_modules/lodash/keysIn.js
-var require_keysIn = __commonJS({
-  "node_modules/lodash/keysIn.js"(exports2, module2) {
-    var arrayLikeKeys = require_arrayLikeKeys();
-    var baseKeysIn = require_baseKeysIn();
-    var isArrayLike = require_isArrayLike();
-    function keysIn(object) {
-      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
+    function decodeOct(val, offset, length) {
+      val = val.subarray(offset, offset + length);
+      offset = 0;
+      if (val[offset] & 128) {
+        return parse256(val);
+      } else {
+        while (offset < val.length && val[offset] === 32) offset++;
+        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
+        while (offset < end && val[offset] === 0) offset++;
+        if (end === offset) return 0;
+        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
+      }
+    }
+    function decodeStr(val, offset, length, encoding) {
+      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
+    }
+    function addLength(str2) {
+      const len = b4a.byteLength(str2);
+      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
+      if (len + digits >= Math.pow(10, digits)) digits++;
+      return len + digits + str2;
     }
-    module2.exports = keysIn;
   }
 });
 
-// node_modules/lodash/defaults.js
-var require_defaults = __commonJS({
-  "node_modules/lodash/defaults.js"(exports2, module2) {
-    var baseRest = require_baseRest();
-    var eq = require_eq2();
-    var isIterateeCall = require_isIterateeCall();
-    var keysIn = require_keysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var defaults = baseRest(function(object, sources) {
-      object = Object(object);
-      var index = -1;
-      var length = sources.length;
-      var guard = length > 2 ? sources[2] : void 0;
-      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
-        length = 1;
+// node_modules/tar-stream/extract.js
+var require_extract = __commonJS({
+  "node_modules/tar-stream/extract.js"(exports2, module2) {
+    var { Writable, Readable, getStreamError } = require_streamx();
+    var FIFO = require_fast_fifo();
+    var b4a = require_b4a();
+    var headers = require_headers3();
+    var EMPTY = b4a.alloc(0);
+    var BufferList = class {
+      constructor() {
+        this.buffered = 0;
+        this.shifted = 0;
+        this.queue = new FIFO();
+        this._offset = 0;
       }
-      while (++index < length) {
-        var source = sources[index];
-        var props = keysIn(source);
-        var propsIndex = -1;
-        var propsLength = props.length;
-        while (++propsIndex < propsLength) {
-          var key = props[propsIndex];
-          var value = object[key];
-          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
-            object[key] = source[key];
-          }
+      push(buffer) {
+        this.buffered += buffer.byteLength;
+        this.queue.push(buffer);
+      }
+      shiftFirst(size) {
+        return this._buffered === 0 ? null : this._next(size);
+      }
+      shift(size) {
+        if (size > this.buffered) return null;
+        if (size === 0) return EMPTY;
+        let chunk = this._next(size);
+        if (size === chunk.byteLength) return chunk;
+        const chunks = [chunk];
+        while ((size -= chunk.byteLength) > 0) {
+          chunk = this._next(size);
+          chunks.push(chunk);
         }
+        return b4a.concat(chunks);
+      }
+      _next(size) {
+        const buf = this.queue.peek();
+        const rem = buf.byteLength - this._offset;
+        if (size >= rem) {
+          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
+          this.queue.shift();
+          this._offset = 0;
+          this.buffered -= rem;
+          this.shifted += rem;
+          return sub;
+        }
+        this.buffered -= size;
+        this.shifted += size;
+        return buf.subarray(this._offset, this._offset += size);
       }
-      return object;
-    });
-    module2.exports = defaults;
-  }
-});
-
-// node_modules/readable-stream/lib/ours/primordials.js
-var require_primordials = __commonJS({
-  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      ArrayIsArray(self2) {
-        return Array.isArray(self2);
-      },
-      ArrayPrototypeIncludes(self2, el) {
-        return self2.includes(el);
-      },
-      ArrayPrototypeIndexOf(self2, el) {
-        return self2.indexOf(el);
-      },
-      ArrayPrototypeJoin(self2, sep3) {
-        return self2.join(sep3);
-      },
-      ArrayPrototypeMap(self2, fn) {
-        return self2.map(fn);
-      },
-      ArrayPrototypePop(self2, el) {
-        return self2.pop(el);
-      },
-      ArrayPrototypePush(self2, el) {
-        return self2.push(el);
-      },
-      ArrayPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      Error,
-      FunctionPrototypeCall(fn, thisArgs, ...args) {
-        return fn.call(thisArgs, ...args);
-      },
-      FunctionPrototypeSymbolHasInstance(self2, instance) {
-        return Function.prototype[Symbol.hasInstance].call(self2, instance);
-      },
-      MathFloor: Math.floor,
-      Number,
-      NumberIsInteger: Number.isInteger,
-      NumberIsNaN: Number.isNaN,
-      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
-      NumberParseInt: Number.parseInt,
-      ObjectDefineProperties(self2, props) {
-        return Object.defineProperties(self2, props);
-      },
-      ObjectDefineProperty(self2, name, prop) {
-        return Object.defineProperty(self2, name, prop);
-      },
-      ObjectGetOwnPropertyDescriptor(self2, name) {
-        return Object.getOwnPropertyDescriptor(self2, name);
-      },
-      ObjectKeys(obj) {
-        return Object.keys(obj);
-      },
-      ObjectSetPrototypeOf(target, proto) {
-        return Object.setPrototypeOf(target, proto);
-      },
-      Promise,
-      PromisePrototypeCatch(self2, fn) {
-        return self2.catch(fn);
-      },
-      PromisePrototypeThen(self2, thenFn, catchFn) {
-        return self2.then(thenFn, catchFn);
-      },
-      PromiseReject(err) {
-        return Promise.reject(err);
-      },
-      PromiseResolve(val) {
-        return Promise.resolve(val);
-      },
-      ReflectApply: Reflect.apply,
-      RegExpPrototypeTest(self2, value) {
-        return self2.test(value);
-      },
-      SafeSet: Set,
-      String,
-      StringPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      StringPrototypeToLowerCase(self2) {
-        return self2.toLowerCase();
-      },
-      StringPrototypeToUpperCase(self2) {
-        return self2.toUpperCase();
-      },
-      StringPrototypeTrim(self2) {
-        return self2.trim();
-      },
-      Symbol,
-      SymbolFor: Symbol.for,
-      SymbolAsyncIterator: Symbol.asyncIterator,
-      SymbolHasInstance: Symbol.hasInstance,
-      SymbolIterator: Symbol.iterator,
-      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
-      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
-      TypedArrayPrototypeSet(self2, buf, len) {
-        return self2.set(buf, len);
-      },
-      Boolean,
-      Uint8Array
     };
-  }
-});
-
-// node_modules/event-target-shim/dist/event-target-shim.js
-var require_event_target_shim = __commonJS({
-  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var privateData = /* @__PURE__ */ new WeakMap();
-    var wrappers = /* @__PURE__ */ new WeakMap();
-    function pd(event) {
-      const retv = privateData.get(event);
-      console.assert(
-        retv != null,
-        "'this' is expected an Event object, but got",
-        event
-      );
-      return retv;
-    }
-    function setCancelFlag(data) {
-      if (data.passiveListener != null) {
-        if (typeof console !== "undefined" && typeof console.error === "function") {
-          console.error(
-            "Unable to preventDefault inside passive event listener invocation.",
-            data.passiveListener
-          );
+    var Source = class extends Readable {
+      constructor(self2, header, offset) {
+        super();
+        this.header = header;
+        this.offset = offset;
+        this._parent = self2;
+      }
+      _read(cb) {
+        if (this.header.size === 0) {
+          this.push(null);
         }
-        return;
+        if (this._parent._stream === this) {
+          this._parent._update();
+        }
+        cb(null);
       }
-      if (!data.event.cancelable) {
-        return;
+      _predestroy() {
+        this._parent.destroy(getStreamError(this));
       }
-      data.canceled = true;
-      if (typeof data.event.preventDefault === "function") {
-        data.event.preventDefault();
+      _detach() {
+        if (this._parent._stream === this) {
+          this._parent._stream = null;
+          this._parent._missing = overflow(this.header.size);
+          this._parent._update();
+        }
       }
-    }
-    function Event2(eventTarget, event) {
-      privateData.set(this, {
-        eventTarget,
-        event,
-        eventPhase: 2,
-        currentTarget: eventTarget,
-        canceled: false,
-        stopped: false,
-        immediateStopped: false,
-        passiveListener: null,
-        timeStamp: event.timeStamp || Date.now()
-      });
-      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
-      const keys = Object.keys(event);
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in this)) {
-          Object.defineProperty(this, key, defineRedirectDescriptor(key));
+      _destroy(cb) {
+        this._detach();
+        cb(null);
+      }
+    };
+    var Extract = class extends Writable {
+      constructor(opts) {
+        super(opts);
+        if (!opts) opts = {};
+        this._buffer = new BufferList();
+        this._offset = 0;
+        this._header = null;
+        this._stream = null;
+        this._missing = 0;
+        this._longHeader = false;
+        this._callback = noop3;
+        this._locked = false;
+        this._finished = false;
+        this._pax = null;
+        this._paxGlobal = null;
+        this._gnuLongPath = null;
+        this._gnuLongLinkPath = null;
+        this._filenameEncoding = opts.filenameEncoding || "utf-8";
+        this._allowUnknownFormat = !!opts.allowUnknownFormat;
+        this._unlockBound = this._unlock.bind(this);
+      }
+      _unlock(err) {
+        this._locked = false;
+        if (err) {
+          this.destroy(err);
+          this._continueWrite(err);
+          return;
         }
+        this._update();
       }
-    }
-    Event2.prototype = {
-      /**
-       * The type of this event.
-       * @type {string}
-       */
-      get type() {
-        return pd(this).event.type;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get target() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get currentTarget() {
-        return pd(this).currentTarget;
-      },
-      /**
-       * @returns {EventTarget[]} The composed path of this event.
-       */
-      composedPath() {
-        const currentTarget = pd(this).currentTarget;
-        if (currentTarget == null) {
-          return [];
+      _consumeHeader() {
+        if (this._locked) return false;
+        this._offset = this._buffer.shifted;
+        try {
+          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
         }
-        return [currentTarget];
-      },
-      /**
-       * Constant of NONE.
-       * @type {number}
-       */
-      get NONE() {
-        return 0;
-      },
-      /**
-       * Constant of CAPTURING_PHASE.
-       * @type {number}
-       */
-      get CAPTURING_PHASE() {
-        return 1;
-      },
-      /**
-       * Constant of AT_TARGET.
-       * @type {number}
-       */
-      get AT_TARGET() {
-        return 2;
-      },
-      /**
-       * Constant of BUBBLING_PHASE.
-       * @type {number}
-       */
-      get BUBBLING_PHASE() {
-        return 3;
-      },
-      /**
-       * The target of this event.
-       * @type {number}
-       */
-      get eventPhase() {
-        return pd(this).eventPhase;
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopPropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.stopPropagation === "function") {
-          data.event.stopPropagation();
+        if (!this._header) return true;
+        switch (this._header.type) {
+          case "gnu-long-path":
+          case "gnu-long-link-path":
+          case "pax-global-header":
+          case "pax-header":
+            this._longHeader = true;
+            this._missing = this._header.size;
+            return true;
         }
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopImmediatePropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        data.immediateStopped = true;
-        if (typeof data.event.stopImmediatePropagation === "function") {
-          data.event.stopImmediatePropagation();
+        this._locked = true;
+        this._applyLongHeaders();
+        if (this._header.size === 0 || this._header.type === "directory") {
+          this.emit("entry", this._header, this._createStream(), this._unlockBound);
+          return true;
         }
-      },
-      /**
-       * The flag to be bubbling.
-       * @type {boolean}
-       */
-      get bubbles() {
-        return Boolean(pd(this).event.bubbles);
-      },
-      /**
-       * The flag to be cancelable.
-       * @type {boolean}
-       */
-      get cancelable() {
-        return Boolean(pd(this).event.cancelable);
-      },
-      /**
-       * Cancel this event.
-       * @returns {void}
-       */
-      preventDefault() {
-        setCancelFlag(pd(this));
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       */
-      get defaultPrevented() {
-        return pd(this).canceled;
-      },
-      /**
-       * The flag to be composed.
-       * @type {boolean}
-       */
-      get composed() {
-        return Boolean(pd(this).event.composed);
-      },
-      /**
-       * The unix time of this event.
-       * @type {number}
-       */
-      get timeStamp() {
-        return pd(this).timeStamp;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       * @deprecated
-       */
-      get srcElement() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The flag to stop event bubbling.
-       * @type {boolean}
-       * @deprecated
-       */
-      get cancelBubble() {
-        return pd(this).stopped;
-      },
-      set cancelBubble(value) {
-        if (!value) {
-          return;
+        this._stream = this._createStream();
+        this._missing = this._header.size;
+        this.emit("entry", this._header, this._stream, this._unlockBound);
+        return true;
+      }
+      _applyLongHeaders() {
+        if (this._gnuLongPath) {
+          this._header.name = this._gnuLongPath;
+          this._gnuLongPath = null;
         }
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.cancelBubble === "boolean") {
-          data.event.cancelBubble = true;
+        if (this._gnuLongLinkPath) {
+          this._header.linkname = this._gnuLongLinkPath;
+          this._gnuLongLinkPath = null;
         }
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       * @deprecated
-       */
-      get returnValue() {
-        return !pd(this).canceled;
-      },
-      set returnValue(value) {
-        if (!value) {
-          setCancelFlag(pd(this));
+        if (this._pax) {
+          if (this._pax.path) this._header.name = this._pax.path;
+          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
+          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
+          this._header.pax = this._pax;
+          this._pax = null;
         }
-      },
-      /**
-       * Initialize this event object. But do nothing under event dispatching.
-       * @param {string} type The event type.
-       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
-       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
-       * @deprecated
-       */
-      initEvent() {
       }
-    };
-    Object.defineProperty(Event2.prototype, "constructor", {
-      value: Event2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
-      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
-      wrappers.set(window.Event.prototype, Event2);
-    }
-    function defineRedirectDescriptor(key) {
-      return {
-        get() {
-          return pd(this).event[key];
-        },
-        set(value) {
-          pd(this).event[key] = value;
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineCallDescriptor(key) {
-      return {
-        value() {
-          const event = pd(this).event;
-          return event[key].apply(event, arguments);
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineWrapper(BaseEvent, proto) {
-      const keys = Object.keys(proto);
-      if (keys.length === 0) {
-        return BaseEvent;
+      _decodeLongHeader(buf) {
+        switch (this._header.type) {
+          case "gnu-long-path":
+            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
+            break;
+          case "gnu-long-link-path":
+            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
+            break;
+          case "pax-global-header":
+            this._paxGlobal = headers.decodePax(buf);
+            break;
+          case "pax-header":
+            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
+            break;
+        }
       }
-      function CustomEvent(eventTarget, event) {
-        BaseEvent.call(this, eventTarget, event);
+      _consumeLongHeader() {
+        this._longHeader = false;
+        this._missing = overflow(this._header.size);
+        const buf = this._buffer.shift(this._header.size);
+        try {
+          this._decodeLongHeader(buf);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
+        }
+        return true;
       }
-      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
-        constructor: { value: CustomEvent, configurable: true, writable: true }
-      });
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in BaseEvent.prototype)) {
-          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
-          const isFunc = typeof descriptor.value === "function";
-          Object.defineProperty(
-            CustomEvent.prototype,
-            key,
-            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
-          );
+      _consumeStream() {
+        const buf = this._buffer.shiftFirst(this._missing);
+        if (buf === null) return false;
+        this._missing -= buf.byteLength;
+        const drained = this._stream.push(buf);
+        if (this._missing === 0) {
+          this._stream.push(null);
+          if (drained) this._stream._detach();
+          return drained && this._locked === false;
         }
+        return drained;
       }
-      return CustomEvent;
-    }
-    function getWrapper(proto) {
-      if (proto == null || proto === Object.prototype) {
-        return Event2;
+      _createStream() {
+        return new Source(this, this._header, this._offset);
       }
-      let wrapper = wrappers.get(proto);
-      if (wrapper == null) {
-        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
-        wrappers.set(proto, wrapper);
+      _update() {
+        while (this._buffer.buffered > 0 && !this.destroying) {
+          if (this._missing > 0) {
+            if (this._stream !== null) {
+              if (this._consumeStream() === false) return;
+              continue;
+            }
+            if (this._longHeader === true) {
+              if (this._missing > this._buffer.buffered) break;
+              if (this._consumeLongHeader() === false) return false;
+              continue;
+            }
+            const ignore = this._buffer.shiftFirst(this._missing);
+            if (ignore !== null) this._missing -= ignore.byteLength;
+            continue;
+          }
+          if (this._buffer.buffered < 512) break;
+          if (this._stream !== null || this._consumeHeader() === false) return;
+        }
+        this._continueWrite(null);
       }
-      return wrapper;
-    }
-    function wrapEvent(eventTarget, event) {
-      const Wrapper = getWrapper(Object.getPrototypeOf(event));
-      return new Wrapper(eventTarget, event);
-    }
-    function isStopped(event) {
-      return pd(event).immediateStopped;
-    }
-    function setEventPhase(event, eventPhase) {
-      pd(event).eventPhase = eventPhase;
-    }
-    function setCurrentTarget(event, currentTarget) {
-      pd(event).currentTarget = currentTarget;
-    }
-    function setPassiveListener(event, passiveListener) {
-      pd(event).passiveListener = passiveListener;
-    }
-    var listenersMap = /* @__PURE__ */ new WeakMap();
-    var CAPTURE = 1;
-    var BUBBLE = 2;
-    var ATTRIBUTE = 3;
-    function isObject2(x) {
-      return x !== null && typeof x === "object";
-    }
-    function getListeners(eventTarget) {
-      const listeners = listenersMap.get(eventTarget);
-      if (listeners == null) {
-        throw new TypeError(
-          "'this' is expected an EventTarget object, but got another value."
-        );
+      _continueWrite(err) {
+        const cb = this._callback;
+        this._callback = noop3;
+        cb(err);
       }
-      return listeners;
-    }
-    function defineEventAttributeDescriptor(eventName) {
-      return {
-        get() {
-          const listeners = getListeners(this);
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              return node.listener;
-            }
-            node = node.next;
+      _write(data, cb) {
+        this._callback = cb;
+        this._buffer.push(data);
+        this._update();
+      }
+      _final(cb) {
+        this._finished = this._missing === 0 && this._buffer.buffered === 0;
+        cb(this._finished ? null : new Error("Unexpected end of data"));
+      }
+      _predestroy() {
+        this._continueWrite(null);
+      }
+      _destroy(cb) {
+        if (this._stream) this._stream.destroy(getStreamError(this));
+        cb(null);
+      }
+      [Symbol.asyncIterator]() {
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        let entryStream = null;
+        let entryCallback = null;
+        const extract2 = this;
+        this.on("entry", onentry);
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("close", onclose);
+        return {
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(onnext);
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
           }
-          return null;
-        },
-        set(listener) {
-          if (typeof listener !== "function" && !isObject2(listener)) {
-            listener = null;
+        };
+        function consumeCallback(err) {
+          if (!entryCallback) return;
+          const cb = entryCallback;
+          entryCallback = null;
+          cb(err);
+        }
+        function onnext(resolve5, reject) {
+          if (error3) {
+            return reject(error3);
           }
-          const listeners = getListeners(this);
-          let prev = null;
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              if (prev !== null) {
-                prev.next = node.next;
-              } else if (node.next !== null) {
-                listeners.set(eventName, node.next);
-              } else {
-                listeners.delete(eventName);
-              }
-            } else {
-              prev = node;
-            }
-            node = node.next;
+          if (entryStream) {
+            resolve5({ value: entryStream, done: false });
+            entryStream = null;
+            return;
           }
-          if (listener !== null) {
-            const newNode = {
-              listener,
-              listenerType: ATTRIBUTE,
-              passive: false,
-              once: false,
-              next: null
-            };
-            if (prev === null) {
-              listeners.set(eventName, newNode);
-            } else {
-              prev.next = newNode;
-            }
+          promiseResolve = resolve5;
+          promiseReject = reject;
+          consumeCallback(null);
+          if (extract2._finished && promiseResolve) {
+            promiseResolve({ value: void 0, done: true });
+            promiseResolve = promiseReject = null;
+          }
+        }
+        function onentry(header, stream, callback) {
+          entryCallback = callback;
+          stream.on("error", noop3);
+          if (promiseResolve) {
+            promiseResolve({ value: stream, done: false });
+            promiseResolve = promiseReject = null;
+          } else {
+            entryStream = stream;
           }
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineEventAttribute(eventTargetPrototype, eventName) {
-      Object.defineProperty(
-        eventTargetPrototype,
-        `on${eventName}`,
-        defineEventAttributeDescriptor(eventName)
-      );
-    }
-    function defineCustomEventTarget(eventNames) {
-      function CustomEventTarget() {
-        EventTarget2.call(this);
-      }
-      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
-        constructor: {
-          value: CustomEventTarget,
-          configurable: true,
-          writable: true
         }
-      });
-      for (let i = 0; i < eventNames.length; ++i) {
-        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
+        function onclose() {
+          consumeCallback(error3);
+          if (!promiseResolve) return;
+          if (error3) promiseReject(error3);
+          else promiseResolve({ value: void 0, done: true });
+          promiseResolve = promiseReject = null;
+        }
+        function destroy(err) {
+          extract2.destroy(err);
+          consumeCallback(err);
+          return new Promise((resolve5, reject) => {
+            if (extract2.destroyed) return resolve5({ value: void 0, done: true });
+            extract2.once("close", function() {
+              if (err) reject(err);
+              else resolve5({ value: void 0, done: true });
+            });
+          });
+        }
       }
-      return CustomEventTarget;
+    };
+    module2.exports = function extract2(opts) {
+      return new Extract(opts);
+    };
+    function noop3() {
     }
-    function EventTarget2() {
-      if (this instanceof EventTarget2) {
-        listenersMap.set(this, /* @__PURE__ */ new Map());
-        return;
+    function overflow(size) {
+      size &= 511;
+      return size && 512 - size;
+    }
+  }
+});
+
+// node_modules/tar-stream/constants.js
+var require_constants19 = __commonJS({
+  "node_modules/tar-stream/constants.js"(exports2, module2) {
+    var constants = {
+      // just for envs without fs
+      S_IFMT: 61440,
+      S_IFDIR: 16384,
+      S_IFCHR: 8192,
+      S_IFBLK: 24576,
+      S_IFIFO: 4096,
+      S_IFLNK: 40960
+    };
+    try {
+      module2.exports = require("fs").constants || constants;
+    } catch {
+      module2.exports = constants;
+    }
+  }
+});
+
+// node_modules/tar-stream/pack.js
+var require_pack = __commonJS({
+  "node_modules/tar-stream/pack.js"(exports2, module2) {
+    var { Readable, Writable, getStreamError } = require_streamx();
+    var b4a = require_b4a();
+    var constants = require_constants19();
+    var headers = require_headers3();
+    var DMODE = 493;
+    var FMODE = 420;
+    var END_OF_TAR = b4a.alloc(1024);
+    var Sink = class extends Writable {
+      constructor(pack, header, callback) {
+        super({ mapWritable, eagerOpen: true });
+        this.written = 0;
+        this.header = header;
+        this._callback = callback;
+        this._linkname = null;
+        this._isLinkname = header.type === "symlink" && !header.linkname;
+        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
+        this._finished = false;
+        this._pack = pack;
+        this._openCallback = null;
+        if (this._pack._stream === null) this._pack._stream = this;
+        else this._pack._pending.push(this);
       }
-      if (arguments.length === 1 && Array.isArray(arguments[0])) {
-        return defineCustomEventTarget(arguments[0]);
+      _open(cb) {
+        this._openCallback = cb;
+        if (this._pack._stream === this) this._continueOpen();
       }
-      if (arguments.length > 0) {
-        const types = new Array(arguments.length);
-        for (let i = 0; i < arguments.length; ++i) {
-          types[i] = arguments[i];
-        }
-        return defineCustomEventTarget(types);
+      _continuePack(err) {
+        if (this._callback === null) return;
+        const callback = this._callback;
+        this._callback = null;
+        callback(err);
       }
-      throw new TypeError("Cannot call a class as a function");
-    }
-    EventTarget2.prototype = {
-      /**
-       * Add a given listener to this event target.
-       * @param {string} eventName The event name to add.
-       * @param {Function} listener The listener to add.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      addEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
+      _continueOpen() {
+        if (this._pack._stream === null) this._pack._stream = this;
+        const cb = this._openCallback;
+        this._openCallback = null;
+        if (cb === null) return;
+        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
+        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
+        this._pack._stream = this;
+        if (!this._isLinkname) {
+          this._pack._encode(this.header);
         }
-        if (typeof listener !== "function" && !isObject2(listener)) {
-          throw new TypeError("'listener' should be a function or an object.");
+        if (this._isVoid) {
+          this._finish();
+          this._continuePack(null);
         }
-        const listeners = getListeners(this);
-        const optionsIsObj = isObject2(options);
-        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        const newNode = {
-          listener,
-          listenerType,
-          passive: optionsIsObj && Boolean(options.passive),
-          once: optionsIsObj && Boolean(options.once),
-          next: null
-        };
-        let node = listeners.get(eventName);
-        if (node === void 0) {
-          listeners.set(eventName, newNode);
-          return;
+        cb(null);
+      }
+      _write(data, cb) {
+        if (this._isLinkname) {
+          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
+          return cb(null);
         }
-        let prev = null;
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            return;
+        if (this._isVoid) {
+          if (data.byteLength > 0) {
+            return cb(new Error("No body allowed for this entry"));
           }
-          prev = node;
-          node = node.next;
+          return cb();
         }
-        prev.next = newNode;
-      },
-      /**
-       * Remove a given listener from this event target.
-       * @param {string} eventName The event name to remove.
-       * @param {Function} listener The listener to remove.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      removeEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
+        this.written += data.byteLength;
+        if (this._pack.push(data)) return cb();
+        this._pack._drain = cb;
+      }
+      _finish() {
+        if (this._finished) return;
+        this._finished = true;
+        if (this._isLinkname) {
+          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
+          this._pack._encode(this.header);
         }
-        const listeners = getListeners(this);
-        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        let prev = null;
-        let node = listeners.get(eventName);
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-            return;
-          }
-          prev = node;
-          node = node.next;
+        overflow(this._pack, this.header.size);
+        this._pack._done(this);
+      }
+      _final(cb) {
+        if (this.written !== this.header.size) {
+          return cb(new Error("Size mismatch"));
         }
-      },
-      /**
-       * Dispatch a given event.
-       * @param {Event|{type:string}} event The event to dispatch.
-       * @returns {boolean} `false` if canceled.
-       */
-      dispatchEvent(event) {
-        if (event == null || typeof event.type !== "string") {
-          throw new TypeError('"event.type" should be a string.');
+        this._finish();
+        cb(null);
+      }
+      _getError() {
+        return getStreamError(this) || new Error("tar entry destroyed");
+      }
+      _predestroy() {
+        this._pack.destroy(this._getError());
+      }
+      _destroy(cb) {
+        this._pack._done(this);
+        this._continuePack(this._finished ? null : this._getError());
+        cb();
+      }
+    };
+    var Pack = class extends Readable {
+      constructor(opts) {
+        super(opts);
+        this._drain = noop3;
+        this._finalized = false;
+        this._finalizing = false;
+        this._pending = [];
+        this._stream = null;
+      }
+      entry(header, buffer, callback) {
+        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
+        if (typeof buffer === "function") {
+          callback = buffer;
+          buffer = null;
         }
-        const listeners = getListeners(this);
-        const eventName = event.type;
-        let node = listeners.get(eventName);
-        if (node == null) {
-          return true;
+        if (!callback) callback = noop3;
+        if (!header.size || header.type === "symlink") header.size = 0;
+        if (!header.type) header.type = modeToType(header.mode);
+        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
+        if (!header.uid) header.uid = 0;
+        if (!header.gid) header.gid = 0;
+        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
+        if (typeof buffer === "string") buffer = b4a.from(buffer);
+        const sink = new Sink(this, header, callback);
+        if (b4a.isBuffer(buffer)) {
+          header.size = buffer.byteLength;
+          sink.write(buffer);
+          sink.end();
+          return sink;
         }
-        const wrappedEvent = wrapEvent(this, event);
-        let prev = null;
-        while (node != null) {
-          if (node.once) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-          } else {
-            prev = node;
-          }
-          setPassiveListener(
-            wrappedEvent,
-            node.passive ? node.listener : null
-          );
-          if (typeof node.listener === "function") {
-            try {
-              node.listener.call(this, wrappedEvent);
-            } catch (err) {
-              if (typeof console !== "undefined" && typeof console.error === "function") {
-                console.error(err);
-              }
-            }
-          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
-            node.listener.handleEvent(wrappedEvent);
-          }
-          if (isStopped(wrappedEvent)) {
-            break;
-          }
-          node = node.next;
+        if (sink._isVoid) {
+          return sink;
         }
-        setPassiveListener(wrappedEvent, null);
-        setEventPhase(wrappedEvent, 0);
-        setCurrentTarget(wrappedEvent, null);
-        return !wrappedEvent.defaultPrevented;
+        return sink;
       }
-    };
-    Object.defineProperty(EventTarget2.prototype, "constructor", {
-      value: EventTarget2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
-      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
-    }
-    exports2.defineEventAttribute = defineEventAttribute;
-    exports2.EventTarget = EventTarget2;
-    exports2.default = EventTarget2;
-    module2.exports = EventTarget2;
-    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
-    module2.exports.defineEventAttribute = defineEventAttribute;
-  }
-});
-
-// node_modules/abort-controller/dist/abort-controller.js
-var require_abort_controller = __commonJS({
-  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var eventTargetShim = require_event_target_shim();
-    var AbortSignal2 = class extends eventTargetShim.EventTarget {
-      /**
-       * AbortSignal cannot be constructed directly.
-       */
-      constructor() {
-        super();
-        throw new TypeError("AbortSignal cannot be constructed directly");
+      finalize() {
+        if (this._stream || this._pending.length > 0) {
+          this._finalizing = true;
+          return;
+        }
+        if (this._finalized) return;
+        this._finalized = true;
+        this.push(END_OF_TAR);
+        this.push(null);
       }
-      /**
-       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
-       */
-      get aborted() {
-        const aborted = abortedFlags.get(this);
-        if (typeof aborted !== "boolean") {
-          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
+      _done(stream) {
+        if (stream !== this._stream) return;
+        this._stream = null;
+        if (this._finalizing) this.finalize();
+        if (this._pending.length) this._pending.shift()._continueOpen();
+      }
+      _encode(header) {
+        if (!header.pax) {
+          const buf = headers.encode(header);
+          if (buf) {
+            this.push(buf);
+            return;
+          }
         }
-        return aborted;
+        this._encodePax(header);
       }
-    };
-    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
-    function createAbortSignal() {
-      const signal = Object.create(AbortSignal2.prototype);
-      eventTargetShim.EventTarget.call(signal);
-      abortedFlags.set(signal, false);
-      return signal;
-    }
-    function abortSignal(signal) {
-      if (abortedFlags.get(signal) !== false) {
-        return;
+      _encodePax(header) {
+        const paxHeader = headers.encodePax({
+          name: header.name,
+          linkname: header.linkname,
+          pax: header.pax
+        });
+        const newHeader = {
+          name: "PaxHeader",
+          mode: header.mode,
+          uid: header.uid,
+          gid: header.gid,
+          size: paxHeader.byteLength,
+          mtime: header.mtime,
+          type: "pax-header",
+          linkname: header.linkname && "PaxHeader",
+          uname: header.uname,
+          gname: header.gname,
+          devmajor: header.devmajor,
+          devminor: header.devminor
+        };
+        this.push(headers.encode(newHeader));
+        this.push(paxHeader);
+        overflow(this, paxHeader.byteLength);
+        newHeader.size = header.size;
+        newHeader.type = header.type;
+        this.push(headers.encode(newHeader));
       }
-      abortedFlags.set(signal, true);
-      signal.dispatchEvent({ type: "abort" });
-    }
-    var abortedFlags = /* @__PURE__ */ new WeakMap();
-    Object.defineProperties(AbortSignal2.prototype, {
-      aborted: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortSignal"
-      });
-    }
-    var AbortController2 = class {
-      /**
-       * Initialize this controller.
-       */
-      constructor() {
-        signals.set(this, createAbortSignal());
+      _doDrain() {
+        const drain = this._drain;
+        this._drain = noop3;
+        drain();
       }
-      /**
-       * Returns the `AbortSignal` object associated with this object.
-       */
-      get signal() {
-        return getSignal(this);
+      _predestroy() {
+        const err = getStreamError(this);
+        if (this._stream) this._stream.destroy(err);
+        while (this._pending.length) {
+          const stream = this._pending.shift();
+          stream.destroy(err);
+          stream._continueOpen();
+        }
+        this._doDrain();
       }
-      /**
-       * Abort and signal to any observers that the associated activity is to be aborted.
-       */
-      abort() {
-        abortSignal(getSignal(this));
+      _read(cb) {
+        this._doDrain();
+        cb();
       }
     };
-    var signals = /* @__PURE__ */ new WeakMap();
-    function getSignal(controller) {
-      const signal = signals.get(controller);
-      if (signal == null) {
-        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
+    module2.exports = function pack(opts) {
+      return new Pack(opts);
+    };
+    function modeToType(mode) {
+      switch (mode & constants.S_IFMT) {
+        case constants.S_IFBLK:
+          return "block-device";
+        case constants.S_IFCHR:
+          return "character-device";
+        case constants.S_IFDIR:
+          return "directory";
+        case constants.S_IFIFO:
+          return "fifo";
+        case constants.S_IFLNK:
+          return "symlink";
       }
-      return signal;
+      return "file";
     }
-    Object.defineProperties(AbortController2.prototype, {
-      signal: { enumerable: true },
-      abort: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortController"
-      });
+    function noop3() {
+    }
+    function overflow(self2, size) {
+      size &= 511;
+      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
+    }
+    function mapWritable(buf) {
+      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
     }
-    exports2.AbortController = AbortController2;
-    exports2.AbortSignal = AbortSignal2;
-    exports2.default = AbortController2;
-    module2.exports = AbortController2;
-    module2.exports.AbortController = module2.exports["default"] = AbortController2;
-    module2.exports.AbortSignal = AbortSignal2;
   }
 });
 
-// node_modules/readable-stream/lib/ours/util.js
-var require_util20 = __commonJS({
-  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
-    "use strict";
-    var bufferModule = require("buffer");
-    var { kResistStopPropagation, SymbolDispose } = require_primordials();
-    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var AsyncFunction = Object.getPrototypeOf(async function() {
-    }).constructor;
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
-    };
-    var validateAbortSignal = (signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
+// node_modules/tar-stream/index.js
+var require_tar_stream = __commonJS({
+  "node_modules/tar-stream/index.js"(exports2) {
+    exports2.extract = require_extract();
+    exports2.pack = require_pack();
+  }
+});
+
+// node_modules/archiver/lib/plugins/tar.js
+var require_tar2 = __commonJS({
+  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
+    var zlib = require("zlib");
+    var engine = require_tar_stream();
+    var util = require_archiver_utils();
+    var Tar = function(options) {
+      if (!(this instanceof Tar)) {
+        return new Tar(options);
+      }
+      options = this.options = util.defaults(options, {
+        gzip: false
+      });
+      if (typeof options.gzipOptions !== "object") {
+        options.gzipOptions = {};
+      }
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = engine.pack(options);
+      this.compressor = false;
+      if (options.gzip) {
+        this.compressor = zlib.createGzip(options.gzipOptions);
+        this.compressor.on("error", this._onCompressorError.bind(this));
       }
     };
-    var validateFunction = (value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    Tar.prototype._onCompressorError = function(err) {
+      this.engine.emit("error", err);
     };
-    var AggregateError = class extends Error {
-      constructor(errors) {
-        if (!Array.isArray(errors)) {
-          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
-        }
-        let message = "";
-        for (let i = 0; i < errors.length; i++) {
-          message += `    ${errors[i].stack}
-`;
+    Tar.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.mtime = data.date;
+      function append(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
         }
-        super(message);
-        this.name = "AggregateError";
-        this.errors = errors;
-      }
-    };
-    module2.exports = {
-      AggregateError,
-      kEmptyObject: Object.freeze({}),
-      once(callback) {
-        let called = false;
-        return function(...args) {
-          if (called) {
-            return;
-          }
-          called = true;
-          callback.apply(this, args);
-        };
-      },
-      createDeferredPromise: function() {
-        let resolve5;
-        let reject;
-        const promise = new Promise((res, rej) => {
-          resolve5 = res;
-          reject = rej;
-        });
-        return {
-          promise,
-          resolve: resolve5,
-          reject
-        };
-      },
-      promisify(fn) {
-        return new Promise((resolve5, reject) => {
-          fn((err, ...args) => {
-            if (err) {
-              return reject(err);
-            }
-            return resolve5(...args);
-          });
-        });
-      },
-      debuglog() {
-        return function() {
-        };
-      },
-      format(format, ...args) {
-        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
-          const replacement = args.shift();
-          if (type2 === "f") {
-            return replacement.toFixed(6);
-          } else if (type2 === "j") {
-            return JSON.stringify(replacement);
-          } else if (type2 === "s" && typeof replacement === "object") {
-            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
-            return `${ctor} {}`.trim();
-          } else {
-            return replacement.toString();
-          }
+        self2.engine.entry(data, sourceBuffer, function(err2) {
+          callback(err2, data);
         });
-      },
-      inspect(value) {
-        switch (typeof value) {
-          case "string":
-            if (value.includes("'")) {
-              if (!value.includes('"')) {
-                return `"${value}"`;
-              } else if (!value.includes("`") && !value.includes("${")) {
-                return `\`${value}\``;
-              }
-            }
-            return `'${value}'`;
-          case "number":
-            if (isNaN(value)) {
-              return "NaN";
-            } else if (Object.is(value, -0)) {
-              return String(value);
-            }
-            return value;
-          case "bigint":
-            return `${String(value)}n`;
-          case "boolean":
-          case "undefined":
-            return String(value);
-          case "object":
-            return "{}";
-        }
-      },
-      types: {
-        isAsyncFunction(fn) {
-          return fn instanceof AsyncFunction;
-        },
-        isArrayBufferView(arr) {
-          return ArrayBuffer.isView(arr);
-        }
-      },
-      isBlob,
-      deprecate(fn, message) {
-        return fn;
-      },
-      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
-        if (signal === void 0) {
-          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
-        }
-        validateAbortSignal(signal, "signal");
-        validateFunction(listener, "listener");
-        let removeEventListener;
-        if (signal.aborted) {
-          queueMicrotask(() => listener());
-        } else {
-          signal.addEventListener("abort", listener, {
-            __proto__: null,
-            once: true,
-            [kResistStopPropagation]: true
-          });
-          removeEventListener = () => {
-            signal.removeEventListener("abort", listener);
-          };
-        }
-        return {
-          __proto__: null,
-          [SymbolDispose]() {
-            var _removeEventListener;
-            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
-          }
-        };
-      },
-      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
-        if (signals.length === 1) {
-          return signals[0];
-        }
-        const ac = new AbortController2();
-        const abort = () => ac.abort();
-        signals.forEach((signal) => {
-          validateAbortSignal(signal, "signals");
-          signal.addEventListener("abort", abort, {
-            once: true
-          });
+      }
+      if (data.sourceType === "buffer") {
+        append(null, source);
+      } else if (data.sourceType === "stream" && data.stats) {
+        data.size = data.stats.size;
+        var entry = self2.engine.entry(data, function(err) {
+          callback(err, data);
         });
-        ac.signal.addEventListener(
-          "abort",
-          () => {
-            signals.forEach((signal) => signal.removeEventListener("abort", abort));
-          },
-          {
-            once: true
-          }
-        );
-        return ac.signal;
+        source.pipe(entry);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, append);
       }
     };
-    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
+    Tar.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Tar.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Tar.prototype.pipe = function(destination, options) {
+      if (this.compressor) {
+        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
+      } else {
+        return this.engine.pipe.apply(this.engine, arguments);
+      }
+    };
+    Tar.prototype.unpipe = function() {
+      if (this.compressor) {
+        return this.compressor.unpipe.apply(this.compressor, arguments);
+      } else {
+        return this.engine.unpipe.apply(this.engine, arguments);
+      }
+    };
+    module2.exports = Tar;
   }
 });
 
-// node_modules/readable-stream/lib/ours/errors.js
-var require_errors5 = __commonJS({
-  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
+// node_modules/buffer-crc32/dist/index.cjs
+var require_dist5 = __commonJS({
+  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
     "use strict";
-    var { format, inspect, AggregateError: CustomAggregateError } = require_util20();
-    var AggregateError = globalThis.AggregateError || CustomAggregateError;
-    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
-    var kTypes = [
-      "string",
-      "function",
-      "number",
-      "object",
-      // Accept 'Function' and 'Object' as alternative to the lower cased version.
-      "Function",
-      "Object",
-      "boolean",
-      "bigint",
-      "symbol"
-    ];
-    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
-    var nodeInternalPrefix = "__node_internal_";
-    var codes = {};
-    function assert(value, message) {
-      if (!value) {
-        throw new codes.ERR_INTERNAL_ASSERTION(message);
+    function getDefaultExportFromCjs(x) {
+      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
+    }
+    var CRC_TABLE = new Int32Array([
+      0,
+      1996959894,
+      3993919788,
+      2567524794,
+      124634137,
+      1886057615,
+      3915621685,
+      2657392035,
+      249268274,
+      2044508324,
+      3772115230,
+      2547177864,
+      162941995,
+      2125561021,
+      3887607047,
+      2428444049,
+      498536548,
+      1789927666,
+      4089016648,
+      2227061214,
+      450548861,
+      1843258603,
+      4107580753,
+      2211677639,
+      325883990,
+      1684777152,
+      4251122042,
+      2321926636,
+      335633487,
+      1661365465,
+      4195302755,
+      2366115317,
+      997073096,
+      1281953886,
+      3579855332,
+      2724688242,
+      1006888145,
+      1258607687,
+      3524101629,
+      2768942443,
+      901097722,
+      1119000684,
+      3686517206,
+      2898065728,
+      853044451,
+      1172266101,
+      3705015759,
+      2882616665,
+      651767980,
+      1373503546,
+      3369554304,
+      3218104598,
+      565507253,
+      1454621731,
+      3485111705,
+      3099436303,
+      671266974,
+      1594198024,
+      3322730930,
+      2970347812,
+      795835527,
+      1483230225,
+      3244367275,
+      3060149565,
+      1994146192,
+      31158534,
+      2563907772,
+      4023717930,
+      1907459465,
+      112637215,
+      2680153253,
+      3904427059,
+      2013776290,
+      251722036,
+      2517215374,
+      3775830040,
+      2137656763,
+      141376813,
+      2439277719,
+      3865271297,
+      1802195444,
+      476864866,
+      2238001368,
+      4066508878,
+      1812370925,
+      453092731,
+      2181625025,
+      4111451223,
+      1706088902,
+      314042704,
+      2344532202,
+      4240017532,
+      1658658271,
+      366619977,
+      2362670323,
+      4224994405,
+      1303535960,
+      984961486,
+      2747007092,
+      3569037538,
+      1256170817,
+      1037604311,
+      2765210733,
+      3554079995,
+      1131014506,
+      879679996,
+      2909243462,
+      3663771856,
+      1141124467,
+      855842277,
+      2852801631,
+      3708648649,
+      1342533948,
+      654459306,
+      3188396048,
+      3373015174,
+      1466479909,
+      544179635,
+      3110523913,
+      3462522015,
+      1591671054,
+      702138776,
+      2966460450,
+      3352799412,
+      1504918807,
+      783551873,
+      3082640443,
+      3233442989,
+      3988292384,
+      2596254646,
+      62317068,
+      1957810842,
+      3939845945,
+      2647816111,
+      81470997,
+      1943803523,
+      3814918930,
+      2489596804,
+      225274430,
+      2053790376,
+      3826175755,
+      2466906013,
+      167816743,
+      2097651377,
+      4027552580,
+      2265490386,
+      503444072,
+      1762050814,
+      4150417245,
+      2154129355,
+      426522225,
+      1852507879,
+      4275313526,
+      2312317920,
+      282753626,
+      1742555852,
+      4189708143,
+      2394877945,
+      397917763,
+      1622183637,
+      3604390888,
+      2714866558,
+      953729732,
+      1340076626,
+      3518719985,
+      2797360999,
+      1068828381,
+      1219638859,
+      3624741850,
+      2936675148,
+      906185462,
+      1090812512,
+      3747672003,
+      2825379669,
+      829329135,
+      1181335161,
+      3412177804,
+      3160834842,
+      628085408,
+      1382605366,
+      3423369109,
+      3138078467,
+      570562233,
+      1426400815,
+      3317316542,
+      2998733608,
+      733239954,
+      1555261956,
+      3268935591,
+      3050360625,
+      752459403,
+      1541320221,
+      2607071920,
+      3965973030,
+      1969922972,
+      40735498,
+      2617837225,
+      3943577151,
+      1913087877,
+      83908371,
+      2512341634,
+      3803740692,
+      2075208622,
+      213261112,
+      2463272603,
+      3855990285,
+      2094854071,
+      198958881,
+      2262029012,
+      4057260610,
+      1759359992,
+      534414190,
+      2176718541,
+      4139329115,
+      1873836001,
+      414664567,
+      2282248934,
+      4279200368,
+      1711684554,
+      285281116,
+      2405801727,
+      4167216745,
+      1634467795,
+      376229701,
+      2685067896,
+      3608007406,
+      1308918612,
+      956543938,
+      2808555105,
+      3495958263,
+      1231636301,
+      1047427035,
+      2932959818,
+      3654703836,
+      1088359270,
+      936918e3,
+      2847714899,
+      3736837829,
+      1202900863,
+      817233897,
+      3183342108,
+      3401237130,
+      1404277552,
+      615818150,
+      3134207493,
+      3453421203,
+      1423857449,
+      601450431,
+      3009837614,
+      3294710456,
+      1567103746,
+      711928724,
+      3020668471,
+      3272380065,
+      1510334235,
+      755167117
+    ]);
+    function ensureBuffer(input) {
+      if (Buffer.isBuffer(input)) {
+        return input;
       }
-    }
-    function addNumericalSeparator(val) {
-      let res = "";
-      let i = val.length;
-      const start = val[0] === "-" ? 1 : 0;
-      for (; i >= start + 4; i -= 3) {
-        res = `_${val.slice(i - 3, i)}${res}`;
+      if (typeof input === "number") {
+        return Buffer.alloc(input);
+      } else if (typeof input === "string") {
+        return Buffer.from(input);
+      } else {
+        throw new Error("input must be buffer, number, or string, received " + typeof input);
       }
-      return `${val.slice(0, i)}${res}`;
     }
-    function getMessage(key, msg, args) {
-      if (typeof msg === "function") {
-        assert(
-          msg.length <= args.length,
-          // Default options do not count.
-          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
-        );
-        return msg(...args);
-      }
-      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
-      assert(
-        expectedLength === args.length,
-        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
-      );
-      if (args.length === 0) {
-        return msg;
-      }
-      return format(msg, ...args);
+    function bufferizeInt(num) {
+      const tmp = ensureBuffer(4);
+      tmp.writeInt32BE(num, 0);
+      return tmp;
     }
-    function E(code, message, Base) {
-      if (!Base) {
-        Base = Error;
+    function _crc32(buf, previous) {
+      buf = ensureBuffer(buf);
+      if (Buffer.isBuffer(previous)) {
+        previous = previous.readUInt32BE(0);
       }
-      class NodeError extends Base {
-        constructor(...args) {
-          super(getMessage(code, message, args));
-        }
-        toString() {
-          return `${this.name} [${code}]: ${this.message}`;
-        }
+      let crc = ~~previous ^ -1;
+      for (var n = 0; n < buf.length; n++) {
+        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
       }
-      Object.defineProperties(NodeError.prototype, {
-        name: {
-          value: Base.name,
-          writable: true,
-          enumerable: false,
-          configurable: true
-        },
-        toString: {
-          value() {
-            return `${this.name} [${code}]: ${this.message}`;
-          },
-          writable: true,
-          enumerable: false,
-          configurable: true
-        }
-      });
-      NodeError.prototype.code = code;
-      NodeError.prototype[kIsNodeError] = true;
-      codes[code] = NodeError;
-    }
-    function hideStackFrames(fn) {
-      const hidden = nodeInternalPrefix + fn.name;
-      Object.defineProperty(fn, "name", {
-        value: hidden
-      });
-      return fn;
+      return crc ^ -1;
     }
-    function aggregateTwoErrors(innerError, outerError) {
-      if (innerError && outerError && innerError !== outerError) {
-        if (Array.isArray(outerError.errors)) {
-          outerError.errors.push(innerError);
-          return outerError;
-        }
-        const err = new AggregateError([outerError, innerError], outerError.message);
-        err.code = outerError.code;
-        return err;
-      }
-      return innerError || outerError;
+    function crc32() {
+      return bufferizeInt(_crc32.apply(null, arguments));
     }
-    var AbortError = class extends Error {
-      constructor(message = "The operation was aborted", options = void 0) {
-        if (options !== void 0 && typeof options !== "object") {
-          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
-        }
-        super(message, options);
-        this.code = "ABORT_ERR";
-        this.name = "AbortError";
-      }
+    crc32.signed = function() {
+      return _crc32.apply(null, arguments);
     };
-    E("ERR_ASSERTION", "%s", Error);
-    E(
-      "ERR_INVALID_ARG_TYPE",
-      (name, expected, actual) => {
-        assert(typeof name === "string", "'name' must be a string");
-        if (!Array.isArray(expected)) {
-          expected = [expected];
-        }
-        let msg = "The ";
-        if (name.endsWith(" argument")) {
-          msg += `${name} `;
-        } else {
-          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
-        }
-        msg += "must be ";
-        const types = [];
-        const instances = [];
-        const other = [];
-        for (const value of expected) {
-          assert(typeof value === "string", "All expected entries have to be of type string");
-          if (kTypes.includes(value)) {
-            types.push(value.toLowerCase());
-          } else if (classRegExp.test(value)) {
-            instances.push(value);
-          } else {
-            assert(value !== "object", 'The value "object" should be written as "Object"');
-            other.push(value);
-          }
-        }
-        if (instances.length > 0) {
-          const pos = types.indexOf("object");
-          if (pos !== -1) {
-            types.splice(types, pos, 1);
-            instances.push("Object");
-          }
-        }
-        if (types.length > 0) {
-          switch (types.length) {
-            case 1:
-              msg += `of type ${types[0]}`;
-              break;
-            case 2:
-              msg += `one of type ${types[0]} or ${types[1]}`;
-              break;
-            default: {
-              const last = types.pop();
-              msg += `one of type ${types.join(", ")}, or ${last}`;
-            }
-          }
-          if (instances.length > 0 || other.length > 0) {
-            msg += " or ";
-          }
-        }
-        if (instances.length > 0) {
-          switch (instances.length) {
-            case 1:
-              msg += `an instance of ${instances[0]}`;
-              break;
-            case 2:
-              msg += `an instance of ${instances[0]} or ${instances[1]}`;
-              break;
-            default: {
-              const last = instances.pop();
-              msg += `an instance of ${instances.join(", ")}, or ${last}`;
-            }
-          }
-          if (other.length > 0) {
-            msg += " or ";
-          }
-        }
-        switch (other.length) {
-          case 0:
-            break;
-          case 1:
-            if (other[0].toLowerCase() !== other[0]) {
-              msg += "an ";
-            }
-            msg += `${other[0]}`;
-            break;
-          case 2:
-            msg += `one of ${other[0]} or ${other[1]}`;
-            break;
-          default: {
-            const last = other.pop();
-            msg += `one of ${other.join(", ")}, or ${last}`;
-          }
-        }
-        if (actual == null) {
-          msg += `. Received ${actual}`;
-        } else if (typeof actual === "function" && actual.name) {
-          msg += `. Received function ${actual.name}`;
-        } else if (typeof actual === "object") {
-          var _actual$constructor;
-          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
-            msg += `. Received an instance of ${actual.constructor.name}`;
-          } else {
-            const inspected = inspect(actual, {
-              depth: -1
-            });
-            msg += `. Received ${inspected}`;
-          }
-        } else {
-          let inspected = inspect(actual, {
-            colors: false
-          });
-          if (inspected.length > 25) {
-            inspected = `${inspected.slice(0, 25)}...`;
-          }
-          msg += `. Received type ${typeof actual} (${inspected})`;
-        }
-        return msg;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_ARG_VALUE",
-      (name, value, reason = "is invalid") => {
-        let inspected = inspect(value);
-        if (inspected.length > 128) {
-          inspected = inspected.slice(0, 128) + "...";
-        }
-        const type2 = name.includes(".") ? "property" : "argument";
-        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_RETURN_VALUE",
-      (input, name, value) => {
-        var _value$constructor;
-        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
-        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_MISSING_ARGS",
-      (...args) => {
-        assert(args.length > 0, "At least one arg needs to be specified");
-        let msg;
-        const len = args.length;
-        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
-        switch (len) {
-          case 1:
-            msg += `The ${args[0]} argument`;
-            break;
-          case 2:
-            msg += `The ${args[0]} and ${args[1]} arguments`;
-            break;
-          default:
-            {
-              const last = args.pop();
-              msg += `The ${args.join(", ")}, and ${last} arguments`;
-            }
-            break;
-        }
-        return `${msg} must be specified`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_OUT_OF_RANGE",
-      (str2, range, input) => {
-        assert(range, 'Missing "range" argument');
-        let received;
-        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
-          received = addNumericalSeparator(String(input));
-        } else if (typeof input === "bigint") {
-          received = String(input);
-          if (input > 2n ** 32n || input < -(2n ** 32n)) {
-            received = addNumericalSeparator(received);
-          }
-          received += "n";
-        } else {
-          received = inspect(input);
-        }
-        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
-      },
-      RangeError
-    );
-    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
-    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
-    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
-    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
-    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
-    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
-    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
-    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
-    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
-    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
-    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
-    module2.exports = {
-      AbortError,
-      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
-      hideStackFrames,
-      codes
+    crc32.unsigned = function() {
+      return _crc32.apply(null, arguments) >>> 0;
     };
+    var bufferCrc32 = crc32;
+    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
+    module2.exports = index;
   }
 });
 
-// node_modules/readable-stream/lib/internal/validators.js
-var require_validators = __commonJS({
-  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
-    "use strict";
-    var {
-      ArrayIsArray,
-      ArrayPrototypeIncludes,
-      ArrayPrototypeJoin,
-      ArrayPrototypeMap,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberMAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER,
-      NumberParseInt,
-      ObjectPrototypeHasOwnProperty,
-      RegExpPrototypeExec,
-      String: String2,
-      StringPrototypeToUpperCase,
-      StringPrototypeTrim
-    } = require_primordials();
-    var {
-      hideStackFrames,
-      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
-    } = require_errors5();
-    var { normalizeEncoding } = require_util20();
-    var { isAsyncFunction, isArrayBufferView } = require_util20().types;
-    var signals = {};
-    function isInt32(value) {
-      return value === (value | 0);
-    }
-    function isUint32(value) {
-      return value === value >>> 0;
-    }
-    var octalReg = /^[0-7]+$/;
-    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
-    function parseFileMode(value, name, def) {
-      if (typeof value === "undefined") {
-        value = def;
+// node_modules/archiver/lib/plugins/json.js
+var require_json = __commonJS({
+  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var Transform = require_ours().Transform;
+    var crc32 = require_dist5();
+    var util = require_archiver_utils();
+    var Json = function(options) {
+      if (!(this instanceof Json)) {
+        return new Json(options);
       }
-      if (typeof value === "string") {
-        if (RegExpPrototypeExec(octalReg, value) === null) {
-          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
+      options = this.options = util.defaults(options, {});
+      Transform.call(this, options);
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.files = [];
+    };
+    inherits(Json, Transform);
+    Json.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    Json.prototype._writeStringified = function() {
+      var fileString = JSON.stringify(this.files);
+      this.write(fileString);
+    };
+    Json.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.crc32 = 0;
+      function onend(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
         }
-        value = NumberParseInt(value, 8);
-      }
-      validateUint32(value, name);
-      return value;
-    }
-    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
-      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
-    });
-    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
-      }
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
-      }
-    });
-    var validateUint32 = hideStackFrames((value, name, positive = false) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+        data.size = sourceBuffer.length || 0;
+        data.crc32 = crc32.unsigned(sourceBuffer);
+        self2.files.push(data);
+        callback(null, data);
       }
-      const min = positive ? 1 : 0;
-      const max = 4294967295;
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      if (data.sourceType === "buffer") {
+        onend(null, source);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, onend);
       }
-    });
-    function validateString(value, name) {
-      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
-    }
-    function validateNumber(value, name, min = void 0, max) {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
-        throw new ERR_OUT_OF_RANGE(
-          name,
-          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
-          value
-        );
+    };
+    Json.prototype.finalize = function() {
+      this._writeStringified();
+      this.end();
+    };
+    module2.exports = Json;
+  }
+});
+
+// node_modules/archiver/index.js
+var require_archiver = __commonJS({
+  "node_modules/archiver/index.js"(exports2, module2) {
+    var Archiver = require_core2();
+    var formats = {};
+    var vending = function(format, options) {
+      return vending.create(format, options);
+    };
+    vending.create = function(format, options) {
+      if (formats[format]) {
+        var instance = new Archiver(format, options);
+        instance.setFormat(format);
+        instance.setModule(new formats[format](options));
+        return instance;
+      } else {
+        throw new Error("create(" + format + "): format not registered");
       }
-    }
-    var validateOneOf = hideStackFrames((value, name, oneOf) => {
-      if (!ArrayPrototypeIncludes(oneOf, value)) {
-        const allowed = ArrayPrototypeJoin(
-          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
-          ", "
-        );
-        const reason = "must be one of: " + allowed;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+    };
+    vending.registerFormat = function(format, module3) {
+      if (formats[format]) {
+        throw new Error("register(" + format + "): format already registered");
       }
-    });
-    function validateBoolean(value, name) {
-      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
-    }
-    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
-      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
-    }
-    var validateObject = hideStackFrames((value, name, options = null) => {
-      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
-      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
-      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
-      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
+      if (typeof module3 !== "function") {
+        throw new Error("register(" + format + "): format module invalid");
       }
-    });
-    var validateDictionary = hideStackFrames((value, name) => {
-      if (value != null && typeof value !== "object" && typeof value !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
+      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
+        throw new Error("register(" + format + "): format module missing methods");
       }
-    });
-    var validateArray = hideStackFrames((value, name, minLength = 0) => {
-      if (!ArrayIsArray(value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
+      formats[format] = module3;
+    };
+    vending.isRegisteredFormat = function(format) {
+      if (formats[format]) {
+        return true;
       }
-      if (value.length < minLength) {
-        const reason = `must be longer than ${minLength}`;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      return false;
+    };
+    vending.registerFormat("zip", require_zip());
+    vending.registerFormat("tar", require_tar2());
+    vending.registerFormat("json", require_json());
+    module2.exports = vending;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/zip.js
+var require_zip2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
     });
-    function validateStringArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateString(value[i], `${name}[${i}]`);
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-    }
-    function validateBooleanArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateBoolean(value[i], `${name}[${i}]`);
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve5) {
+          resolve5(value);
+        });
       }
-    }
-    function validateAbortSignalArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        const signal = value[i];
-        const indexedName = `${name}[${i}]`;
-        if (signal == null) {
-          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
+      return new (P || (P = Promise))(function(resolve5, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        validateAbortSignal(signal, indexedName);
-      }
-    }
-    function validateSignalName(signal, name = "signal") {
-      validateString(signal, name);
-      if (signals[signal] === void 0) {
-        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
-          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        throw new ERR_UNKNOWN_SIGNAL(signal);
-      }
-    }
-    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
-      if (!isArrayBufferView(buffer)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
+        function step(result) {
+          result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
+    var stream = __importStar2(require("stream"));
+    var promises_1 = require("fs/promises");
+    var archiver2 = __importStar2(require_archiver());
+    var core14 = __importStar2(require_core());
+    var config_1 = require_config2();
+    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
+    var ZipUploadStream = class extends stream.Transform {
+      constructor(bufferSize) {
+        super({
+          highWaterMark: bufferSize
+        });
       }
-    });
-    function validateEncoding(data, encoding) {
-      const normalizedEncoding = normalizeEncoding(encoding);
-      const length = data.length;
-      if (normalizedEncoding === "hex" && length % 2 !== 0) {
-        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      _transform(chunk, enc, cb) {
+        cb(null, chunk);
       }
+    };
+    exports2.ZipUploadStream = ZipUploadStream;
+    function createZipUploadStream(uploadSpecification_1) {
+      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
+        core14.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
+        const zip = archiver2.create("zip", {
+          highWaterMark: (0, config_1.getUploadChunkSize)(),
+          zlib: { level: compressionLevel }
+        });
+        zip.on("error", zipErrorCallback);
+        zip.on("warning", zipWarningCallback);
+        zip.on("finish", zipFinishCallback);
+        zip.on("end", zipEndCallback);
+        for (const file of uploadSpecification) {
+          if (file.sourcePath !== null) {
+            let sourcePath = file.sourcePath;
+            if (file.stats.isSymbolicLink()) {
+              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
+            }
+            zip.file(sourcePath, {
+              name: file.destinationPath
+            });
+          } else {
+            zip.append("", { name: file.destinationPath });
+          }
+        }
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const zipUploadStream = new ZipUploadStream(bufferSize);
+        core14.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
+        core14.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
+        zip.pipe(zipUploadStream);
+        zip.finalize();
+        return zipUploadStream;
+      });
     }
-    function validatePort(port, name = "Port", allowZero = true) {
-      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
-        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
+    exports2.createZipUploadStream = createZipUploadStream;
+    var zipErrorCallback = (error3) => {
+      core14.error("An error has occurred while creating the zip file for upload");
+      core14.info(error3);
+      throw new Error("An error has occurred during zip creation for the artifact");
+    };
+    var zipWarningCallback = (error3) => {
+      if (error3.code === "ENOENT") {
+        core14.warning("ENOENT warning during artifact zip creation. No such file or directory");
+        core14.info(error3);
+      } else {
+        core14.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
+        core14.info(error3);
       }
-      return port | 0;
-    }
-    var validateAbortSignal = hideStackFrames((signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+    };
+    var zipFinishCallback = () => {
+      core14.debug("Zip stream for upload has finished.");
+    };
+    var zipEndCallback = () => {
+      core14.debug("Zip stream for upload has ended.");
+    };
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
+var require_upload_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
     });
-    var validateFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validatePlainFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validateUndefined = hideStackFrames((value, name) => {
-      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
-    });
-    function validateUnion(value, name, union) {
-      if (!ArrayPrototypeIncludes(union, value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-    }
-    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
-    function validateLinkHeaderFormat(value, name) {
-      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
-        throw new ERR_INVALID_ARG_VALUE(
-          name,
-          value,
-          'must be an array or string of format "; rel=preload; as=style"'
-        );
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve5) {
+          resolve5(value);
+        });
       }
-    }
-    function validateLinkHeaderValue(hints) {
-      if (typeof hints === "string") {
-        validateLinkHeaderFormat(hints, "hints");
-        return hints;
-      } else if (ArrayIsArray(hints)) {
-        const hintsLength = hints.length;
-        let result = "";
-        if (hintsLength === 0) {
-          return result;
+      return new (P || (P = Promise))(function(resolve5, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        for (let i = 0; i < hintsLength; i++) {
-          const link = hints[i];
-          validateLinkHeaderFormat(link, "hints");
-          result += link;
-          if (i !== hintsLength - 1) {
-            result += ", ";
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
           }
         }
-        return result;
-      }
-      throw new ERR_INVALID_ARG_VALUE(
-        "hints",
-        hints,
-        'must be an array or string of format "; rel=preload; as=style"'
-      );
-    }
-    module2.exports = {
-      isInt32,
-      isUint32,
-      parseFileMode,
-      validateArray,
-      validateStringArray,
-      validateBooleanArray,
-      validateAbortSignalArray,
-      validateBoolean,
-      validateBuffer,
-      validateDictionary,
-      validateEncoding,
-      validateFunction,
-      validateInt32,
-      validateInteger,
-      validateNumber,
-      validateObject,
-      validateOneOf,
-      validatePlainFunction,
-      validatePort,
-      validateSignalName,
-      validateString,
-      validateUint32,
-      validateUndefined,
-      validateUnion,
-      validateAbortSignal,
-      validateLinkHeaderValue
+        function step(result) {
+          result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadArtifact = void 0;
+    var core14 = __importStar2(require_core());
+    var retention_1 = require_retention();
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    var artifact_twirp_client_1 = require_artifact_twirp_client2();
+    var upload_zip_specification_1 = require_upload_zip_specification();
+    var util_1 = require_util19();
+    var blob_upload_1 = require_blob_upload();
+    var zip_1 = require_zip2();
+    var generated_1 = require_generated();
+    var errors_1 = require_errors4();
+    function uploadArtifact(name, files, rootDirectory, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
+        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
+        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
+        if (zipSpecification.length === 0) {
+          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
+        }
+        const backendIds = (0, util_1.getBackendIdsFromToken)();
+        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
+        const createArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          version: 4
+        };
+        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
+        if (expiresAt) {
+          createArtifactReq.expiresAt = expiresAt;
+        }
+        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
+        if (!createArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
+        }
+        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
+        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
+        const finalizeArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
+        };
+        if (uploadResult.sha256Hash) {
+          finalizeArtifactReq.hash = generated_1.StringValue.create({
+            value: `sha256:${uploadResult.sha256Hash}`
+          });
+        }
+        core14.info(`Finalizing artifact upload`);
+        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
+        if (!finalizeArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
+        }
+        const artifactId = BigInt(finalizeArtifactResp.artifactId);
+        core14.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
+        return {
+          size: uploadResult.uploadSize,
+          digest: uploadResult.sha256Hash,
+          id: Number(artifactId)
+        };
+      });
+    }
+    exports2.uploadArtifact = uploadArtifact;
   }
 });
 
-// node_modules/process/index.js
-var require_process = __commonJS({
-  "node_modules/process/index.js"(exports2, module2) {
-    module2.exports = global.process;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/utils.js
-var require_utils8 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
+// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
+var require_context2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js"(exports2) {
     "use strict";
-    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
-    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
-    var kIsErrored = SymbolFor("nodejs.stream.errored");
-    var kIsReadable = SymbolFor("nodejs.stream.readable");
-    var kIsWritable = SymbolFor("nodejs.stream.writable");
-    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
-    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
-    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
-    function isReadableNodeStream(obj, strict = false) {
-      var _obj$_readableState;
-      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
-      (!obj._writableState || obj._readableState));
-    }
-    function isWritableNodeStream(obj) {
-      var _obj$_writableState;
-      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
-    }
-    function isDuplexNodeStream(obj) {
-      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
-    }
-    function isNodeStream(obj) {
-      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
-    }
-    function isReadableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
-    }
-    function isWritableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
-    }
-    function isTransformStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
-    }
-    function isWebStream(obj) {
-      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
-    }
-    function isIterable(obj, isAsync) {
-      if (obj == null) return false;
-      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
-      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
-      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
-    }
-    function isDestroyed(stream) {
-      if (!isNodeStream(stream)) return null;
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const state = wState || rState;
-      return !!(stream.destroyed || stream[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
-    }
-    function isWritableEnded(stream) {
-      if (!isWritableNodeStream(stream)) return null;
-      if (stream.writableEnded === true) return true;
-      const wState = stream._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
-      return wState.ended;
-    }
-    function isWritableFinished(stream, strict) {
-      if (!isWritableNodeStream(stream)) return null;
-      if (stream.writableFinished === true) return true;
-      const wState = stream._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
-      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
-    }
-    function isReadableEnded(stream) {
-      if (!isReadableNodeStream(stream)) return null;
-      if (stream.readableEnded === true) return true;
-      const rState = stream._readableState;
-      if (!rState || rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
-      return rState.ended;
-    }
-    function isReadableFinished(stream, strict) {
-      if (!isReadableNodeStream(stream)) return null;
-      const rState = stream._readableState;
-      if (rState !== null && rState !== void 0 && rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
-      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
-    }
-    function isReadable(stream) {
-      if (stream && stream[kIsReadable] != null) return stream[kIsReadable];
-      if (typeof (stream === null || stream === void 0 ? void 0 : stream.readable) !== "boolean") return null;
-      if (isDestroyed(stream)) return false;
-      return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);
-    }
-    function isWritable(stream) {
-      if (stream && stream[kIsWritable] != null) return stream[kIsWritable];
-      if (typeof (stream === null || stream === void 0 ? void 0 : stream.writable) !== "boolean") return null;
-      if (isDestroyed(stream)) return false;
-      return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);
-    }
-    function isFinished(stream, opts) {
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (isDestroyed(stream)) {
-        return true;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Context = void 0;
+    var fs_1 = require("fs");
+    var os_1 = require("os");
+    var Context = class {
+      /**
+       * Hydrate the context from the environment
+       */
+      constructor() {
+        var _a, _b, _c;
+        this.payload = {};
+        if (process.env.GITHUB_EVENT_PATH) {
+          if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) {
+            this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" }));
+          } else {
+            const path7 = process.env.GITHUB_EVENT_PATH;
+            process.stdout.write(`GITHUB_EVENT_PATH ${path7} does not exist${os_1.EOL}`);
+          }
+        }
+        this.eventName = process.env.GITHUB_EVENT_NAME;
+        this.sha = process.env.GITHUB_SHA;
+        this.ref = process.env.GITHUB_REF;
+        this.workflow = process.env.GITHUB_WORKFLOW;
+        this.action = process.env.GITHUB_ACTION;
+        this.actor = process.env.GITHUB_ACTOR;
+        this.job = process.env.GITHUB_JOB;
+        this.runAttempt = parseInt(process.env.GITHUB_RUN_ATTEMPT, 10);
+        this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);
+        this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);
+        this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;
+        this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;
+        this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;
       }
-      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream)) {
-        return false;
+      get issue() {
+        const payload = this.payload;
+        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
       }
-      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream)) {
-        return false;
+      get repo() {
+        if (process.env.GITHUB_REPOSITORY) {
+          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
+          return { owner, repo };
+        }
+        if (this.payload.repository) {
+          return {
+            owner: this.payload.repository.owner.login,
+            repo: this.payload.repository.name
+          };
+        }
+        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
       }
-      return true;
-    }
-    function isWritableErrored(stream) {
-      var _stream$_writableStat, _stream$_writableStat2;
-      if (!isNodeStream(stream)) {
-        return null;
+    };
+    exports2.Context = Context;
+  }
+});
+
+// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
+var require_proxy2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.checkBypass = exports2.getProxyUrl = void 0;
+    function getProxyUrl(reqUrl) {
+      const usingSsl = reqUrl.protocol === "https:";
+      if (checkBypass(reqUrl)) {
+        return void 0;
       }
-      if (stream.writableErrored) {
-        return stream.writableErrored;
+      const proxyVar = (() => {
+        if (usingSsl) {
+          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+        } else {
+          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+        }
+      })();
+      if (proxyVar) {
+        try {
+          return new DecodedURL(proxyVar);
+        } catch (_a) {
+          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
+            return new DecodedURL(`http://${proxyVar}`);
+        }
+      } else {
+        return void 0;
       }
-      return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
     }
-    function isReadableErrored(stream) {
-      var _stream$_readableStat, _stream$_readableStat2;
-      if (!isNodeStream(stream)) {
-        return null;
+    exports2.getProxyUrl = getProxyUrl;
+    function checkBypass(reqUrl) {
+      if (!reqUrl.hostname) {
+        return false;
       }
-      if (stream.readableErrored) {
-        return stream.readableErrored;
+      const reqHost = reqUrl.hostname;
+      if (isLoopbackAddress(reqHost)) {
+        return true;
       }
-      return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
-    }
-    function isClosed(stream) {
-      if (!isNodeStream(stream)) {
-        return null;
+      const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || "";
+      if (!noProxy) {
+        return false;
       }
-      if (typeof stream.closed === "boolean") {
-        return stream.closed;
+      let reqPort;
+      if (reqUrl.port) {
+        reqPort = Number(reqUrl.port);
+      } else if (reqUrl.protocol === "http:") {
+        reqPort = 80;
+      } else if (reqUrl.protocol === "https:") {
+        reqPort = 443;
       }
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
-        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
+      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
+      if (typeof reqPort === "number") {
+        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
       }
-      if (typeof stream._closed === "boolean" && isOutgoingMessage(stream)) {
-        return stream._closed;
+      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
+        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
+          return true;
+        }
       }
-      return null;
-    }
-    function isOutgoingMessage(stream) {
-      return typeof stream._closed === "boolean" && typeof stream._defaultKeepAlive === "boolean" && typeof stream._removedConnection === "boolean" && typeof stream._removedContLen === "boolean";
-    }
-    function isServerResponse(stream) {
-      return typeof stream._sent100 === "boolean" && isOutgoingMessage(stream);
-    }
-    function isServerRequest(stream) {
-      var _stream$req;
-      return typeof stream._consuming === "boolean" && typeof stream._dumped === "boolean" && ((_stream$req = stream.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
-    }
-    function willEmitClose(stream) {
-      if (!isNodeStream(stream)) return null;
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const state = wState || rState;
-      return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
-    }
-    function isDisturbed(stream) {
-      var _stream$kIsDisturbed;
-      return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));
+      return false;
     }
-    function isErrored(stream) {
-      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
-      return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
+    exports2.checkBypass = checkBypass;
+    function isLoopbackAddress(host) {
+      const hostLower = host.toLowerCase();
+      return hostLower === "localhost" || hostLower.startsWith("127.") || hostLower.startsWith("[::1]") || hostLower.startsWith("[0:0:0:0:0:0:0:1]");
     }
+    var DecodedURL = class extends URL {
+      constructor(url, base) {
+        super(url, base);
+        this._decodedUsername = decodeURIComponent(super.username);
+        this._decodedPassword = decodeURIComponent(super.password);
+      }
+      get username() {
+        return this._decodedUsername;
+      }
+      get password() {
+        return this._decodedPassword;
+      }
+    };
+  }
+});
+
+// node_modules/undici/lib/core/symbols.js
+var require_symbols11 = __commonJS({
+  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
-      isDestroyed,
-      kIsDestroyed,
-      isDisturbed,
-      kIsDisturbed,
-      isErrored,
-      kIsErrored,
-      isReadable,
-      kIsReadable,
-      kIsClosedPromise,
-      kControllerErrorFunction,
-      kIsWritable,
-      isClosed,
-      isDuplexNodeStream,
-      isFinished,
-      isIterable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableEnded,
-      isReadableFinished,
-      isReadableErrored,
-      isNodeStream,
-      isWebStream,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableEnded,
-      isWritableFinished,
-      isWritableErrored,
-      isServerRequest,
-      isServerResponse,
-      willEmitClose,
-      isTransformStream
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kDestroy: /* @__PURE__ */ Symbol("destroy"),
+      kDispatch: /* @__PURE__ */ Symbol("dispatch"),
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kWriting: /* @__PURE__ */ Symbol("writing"),
+      kResuming: /* @__PURE__ */ Symbol("resuming"),
+      kQueue: /* @__PURE__ */ Symbol("queue"),
+      kConnect: /* @__PURE__ */ Symbol("connect"),
+      kConnecting: /* @__PURE__ */ Symbol("connecting"),
+      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
+      kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
+      kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
+      kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
+      kKeepAliveTimeoutValue: /* @__PURE__ */ Symbol("keep alive timeout"),
+      kKeepAlive: /* @__PURE__ */ Symbol("keep alive"),
+      kHeadersTimeout: /* @__PURE__ */ Symbol("headers timeout"),
+      kBodyTimeout: /* @__PURE__ */ Symbol("body timeout"),
+      kServerName: /* @__PURE__ */ Symbol("server name"),
+      kLocalAddress: /* @__PURE__ */ Symbol("local address"),
+      kHost: /* @__PURE__ */ Symbol("host"),
+      kNoRef: /* @__PURE__ */ Symbol("no ref"),
+      kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kRunning: /* @__PURE__ */ Symbol("running"),
+      kBlocking: /* @__PURE__ */ Symbol("blocking"),
+      kPending: /* @__PURE__ */ Symbol("pending"),
+      kSize: /* @__PURE__ */ Symbol("size"),
+      kBusy: /* @__PURE__ */ Symbol("busy"),
+      kQueued: /* @__PURE__ */ Symbol("queued"),
+      kFree: /* @__PURE__ */ Symbol("free"),
+      kConnected: /* @__PURE__ */ Symbol("connected"),
+      kClosed: /* @__PURE__ */ Symbol("closed"),
+      kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
+      kReset: /* @__PURE__ */ Symbol("reset"),
+      kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
+      kRunningIdx: /* @__PURE__ */ Symbol("running index"),
+      kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
+      kError: /* @__PURE__ */ Symbol("error"),
+      kClients: /* @__PURE__ */ Symbol("clients"),
+      kClient: /* @__PURE__ */ Symbol("client"),
+      kParser: /* @__PURE__ */ Symbol("parser"),
+      kOnDestroyed: /* @__PURE__ */ Symbol("destroy callbacks"),
+      kPipelining: /* @__PURE__ */ Symbol("pipelining"),
+      kSocket: /* @__PURE__ */ Symbol("socket"),
+      kHostHeader: /* @__PURE__ */ Symbol("host header"),
+      kConnector: /* @__PURE__ */ Symbol("connector"),
+      kStrictContentLength: /* @__PURE__ */ Symbol("strict content length"),
+      kMaxRedirections: /* @__PURE__ */ Symbol("maxRedirections"),
+      kMaxRequests: /* @__PURE__ */ Symbol("maxRequestsPerClient"),
+      kProxy: /* @__PURE__ */ Symbol("proxy agent options"),
+      kCounter: /* @__PURE__ */ Symbol("socket request counter"),
+      kInterceptors: /* @__PURE__ */ Symbol("dispatch interceptors"),
+      kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
+      kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
+      kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
+      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
+      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
+      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
+      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
+      kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
+      kConstruct: /* @__PURE__ */ Symbol("constructable")
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
-var require_end_of_stream = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
-    var process2 = require_process();
-    var { AbortError, codes } = require_errors5();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
-    var { kEmptyObject, once } = require_util20();
-    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
-    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
-    var {
-      isClosed,
-      isReadable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableFinished,
-      isReadableErrored,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableFinished,
-      isWritableErrored,
-      isNodeStream,
-      willEmitClose: _willEmitClose,
-      kIsClosedPromise
-    } = require_utils8();
-    var addAbortListener;
-    function isRequest(stream) {
-      return stream.setHeader && typeof stream.abort === "function";
-    }
-    var nop = () => {
+// node_modules/undici/lib/core/errors.js
+var require_errors6 = __commonJS({
+  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+    "use strict";
+    var UndiciError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "UndiciError";
+        this.code = "UND_ERR";
+      }
     };
-    function eos(stream, options, callback) {
-      var _options$readable, _options$writable;
-      if (arguments.length === 2) {
-        callback = options;
-        options = kEmptyObject;
-      } else if (options == null) {
-        options = kEmptyObject;
-      } else {
-        validateObject(options, "options");
+    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ConnectTimeoutError);
+        this.name = "ConnectTimeoutError";
+        this.message = message || "Connect Timeout Error";
+        this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
-      validateFunction(callback, "callback");
-      validateAbortSignal(options.signal, "options.signal");
-      callback = once(callback);
-      if (isReadableStream(stream) || isWritableStream(stream)) {
-        return eosWeb(stream, options, callback);
+    };
+    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersTimeoutError);
+        this.name = "HeadersTimeoutError";
+        this.message = message || "Headers Timeout Error";
+        this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
-      if (!isNodeStream(stream)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+    };
+    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersOverflowError);
+        this.name = "HeadersOverflowError";
+        this.message = message || "Headers Overflow Error";
+        this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
-      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream);
-      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream);
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const onlegacyfinish = () => {
-        if (!stream.writable) {
-          onfinish();
-        }
-      };
-      let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable;
-      let writableFinished = isWritableFinished(stream, false);
-      const onfinish = () => {
-        writableFinished = true;
-        if (stream.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream.readable || readable)) {
-          return;
-        }
-        if (!readable || readableFinished) {
-          callback.call(stream);
-        }
-      };
-      let readableFinished = isReadableFinished(stream, false);
-      const onend = () => {
-        readableFinished = true;
-        if (stream.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream.writable || writable)) {
-          return;
-        }
-        if (!writable || writableFinished) {
-          callback.call(stream);
-        }
-      };
-      const onerror = (err) => {
-        callback.call(stream, err);
-      };
-      let closed = isClosed(stream);
-      const onclose = () => {
-        closed = true;
-        const errored = isWritableErrored(stream) || isReadableErrored(stream);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream, errored);
-        }
-        if (readable && !readableFinished && isReadableNodeStream(stream, true)) {
-          if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        if (writable && !writableFinished) {
-          if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        callback.call(stream);
-      };
-      const onclosed = () => {
-        closed = true;
-        const errored = isWritableErrored(stream) || isReadableErrored(stream);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream, errored);
-        }
-        callback.call(stream);
-      };
-      const onrequest = () => {
-        stream.req.on("finish", onfinish);
-      };
-      if (isRequest(stream)) {
-        stream.on("complete", onfinish);
-        if (!willEmitClose) {
-          stream.on("abort", onclose);
-        }
-        if (stream.req) {
-          onrequest();
-        } else {
-          stream.on("request", onrequest);
-        }
-      } else if (writable && !wState) {
-        stream.on("end", onlegacyfinish);
-        stream.on("close", onlegacyfinish);
+    };
+    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _BodyTimeoutError);
+        this.name = "BodyTimeoutError";
+        this.message = message || "Body Timeout Error";
+        this.code = "UND_ERR_BODY_TIMEOUT";
       }
-      if (!willEmitClose && typeof stream.aborted === "boolean") {
-        stream.on("aborted", onclose);
+    };
+    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+      constructor(message, statusCode, headers, body) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseStatusCodeError);
+        this.name = "ResponseStatusCodeError";
+        this.message = message || "Response Status Code Error";
+        this.code = "UND_ERR_RESPONSE_STATUS_CODE";
+        this.body = body;
+        this.status = statusCode;
+        this.statusCode = statusCode;
+        this.headers = headers;
       }
-      stream.on("end", onend);
-      stream.on("finish", onfinish);
-      if (options.error !== false) {
-        stream.on("error", onerror);
+    };
+    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidArgumentError);
+        this.name = "InvalidArgumentError";
+        this.message = message || "Invalid Argument Error";
+        this.code = "UND_ERR_INVALID_ARG";
       }
-      stream.on("close", onclose);
-      if (closed) {
-        process2.nextTick(onclose);
-      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
-        if (!willEmitClose) {
-          process2.nextTick(onclosed);
-        }
-      } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === false)) {
-        process2.nextTick(onclosed);
-      } else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === false)) {
-        process2.nextTick(onclosed);
-      } else if (rState && stream.req && stream.aborted) {
-        process2.nextTick(onclosed);
+    };
+    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidReturnValueError);
+        this.name = "InvalidReturnValueError";
+        this.message = message || "Invalid Return Value Error";
+        this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
-      const cleanup = () => {
-        callback = nop;
-        stream.removeListener("aborted", onclose);
-        stream.removeListener("complete", onfinish);
-        stream.removeListener("abort", onclose);
-        stream.removeListener("request", onrequest);
-        if (stream.req) stream.req.removeListener("finish", onfinish);
-        stream.removeListener("end", onlegacyfinish);
-        stream.removeListener("close", onlegacyfinish);
-        stream.removeListener("finish", onfinish);
-        stream.removeListener("end", onend);
-        stream.removeListener("error", onerror);
-        stream.removeListener("close", onclose);
-      };
-      if (options.signal && !closed) {
-        const abort = () => {
-          const endCallback = callback;
-          cleanup();
-          endCallback.call(
-            stream,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util20().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream, args);
-          });
-        }
+    };
+    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestAbortedError);
+        this.name = "AbortError";
+        this.message = message || "Request aborted";
+        this.code = "UND_ERR_ABORTED";
       }
-      return cleanup;
-    }
-    function eosWeb(stream, options, callback) {
-      let isAborted = false;
-      let abort = nop;
-      if (options.signal) {
-        abort = () => {
-          isAborted = true;
-          callback.call(
-            stream,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util20().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream, args);
-          });
-        }
+    };
+    var InformationalError = class _InformationalError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InformationalError);
+        this.name = "InformationalError";
+        this.message = message || "Request information";
+        this.code = "UND_ERR_INFO";
       }
-      const resolverFn = (...args) => {
-        if (!isAborted) {
-          process2.nextTick(() => callback.apply(stream, args));
-        }
-      };
-      PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn);
-      return nop;
-    }
-    function finished(stream, opts) {
-      var _opts;
-      let autoCleanup = false;
-      if (opts === null) {
-        opts = kEmptyObject;
+    };
+    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
+        this.name = "RequestContentLengthMismatchError";
+        this.message = message || "Request body length does not match content-length header";
+        this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
-      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
-        validateBoolean(opts.cleanup, "cleanup");
-        autoCleanup = opts.cleanup;
+    };
+    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
+        this.name = "ResponseContentLengthMismatchError";
+        this.message = message || "Response body length does not match content-length header";
+        this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
-      return new Promise2((resolve5, reject) => {
-        const cleanup = eos(stream, opts, (err) => {
-          if (autoCleanup) {
-            cleanup();
-          }
-          if (err) {
-            reject(err);
-          } else {
-            resolve5();
-          }
-        });
-      });
+    };
+    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientDestroyedError);
+        this.name = "ClientDestroyedError";
+        this.message = message || "The client is destroyed";
+        this.code = "UND_ERR_DESTROYED";
+      }
+    };
+    var ClientClosedError = class _ClientClosedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientClosedError);
+        this.name = "ClientClosedError";
+        this.message = message || "The client is closed";
+        this.code = "UND_ERR_CLOSED";
+      }
+    };
+    var SocketError = class _SocketError extends UndiciError {
+      constructor(message, socket) {
+        super(message);
+        Error.captureStackTrace(this, _SocketError);
+        this.name = "SocketError";
+        this.message = message || "Socket error";
+        this.code = "UND_ERR_SOCKET";
+        this.socket = socket;
+      }
+    };
+    var NotSupportedError = class _NotSupportedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _NotSupportedError);
+        this.name = "NotSupportedError";
+        this.message = message || "Not supported error";
+        this.code = "UND_ERR_NOT_SUPPORTED";
+      }
+    };
+    var BalancedPoolMissingUpstreamError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, NotSupportedError);
+        this.name = "MissingUpstreamError";
+        this.message = message || "No upstream has been added to the BalancedPool";
+        this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
+      }
+    };
+    var HTTPParserError = class _HTTPParserError extends Error {
+      constructor(message, code, data) {
+        super(message);
+        Error.captureStackTrace(this, _HTTPParserError);
+        this.name = "HTTPParserError";
+        this.code = code ? `HPE_${code}` : void 0;
+        this.data = data ? data.toString() : void 0;
+      }
+    };
+    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
+        this.name = "ResponseExceededMaxSizeError";
+        this.message = message || "Response content exceeded max size";
+        this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
+      }
+    };
+    var RequestRetryError = class _RequestRetryError extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        Error.captureStackTrace(this, _RequestRetryError);
+        this.name = "RequestRetryError";
+        this.message = message || "Request retry error";
+        this.code = "UND_ERR_REQ_RETRY";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+    };
+    module2.exports = {
+      HTTPParserError,
+      UndiciError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      BodyTimeoutError,
+      RequestContentLengthMismatchError,
+      ConnectTimeoutError,
+      ResponseStatusCodeError,
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError,
+      ClientDestroyedError,
+      ClientClosedError,
+      InformationalError,
+      SocketError,
+      NotSupportedError,
+      ResponseContentLengthMismatchError,
+      BalancedPoolMissingUpstreamError,
+      ResponseExceededMaxSizeError,
+      RequestRetryError
+    };
+  }
+});
+
+// node_modules/undici/lib/core/constants.js
+var require_constants20 = __commonJS({
+  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+    "use strict";
+    var headerNameLowerCasedRecord = {};
+    var wellknownHeaderNames = [
+      "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 i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = wellknownHeaderNames[i];
+      const lowerCasedKey = key.toLowerCase();
+      headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey;
     }
-    module2.exports = eos;
-    module2.exports.finished = finished;
+    Object.setPrototypeOf(headerNameLowerCasedRecord, null);
+    module2.exports = {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
+// node_modules/undici/lib/core/util.js
+var require_util24 = __commonJS({
+  "node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var process2 = require_process();
-    var {
-      aggregateTwoErrors,
-      codes: { ERR_MULTIPLE_CALLBACK },
-      AbortError
-    } = require_errors5();
-    var { Symbol: Symbol2 } = require_primordials();
-    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
-    var kDestroy = Symbol2("kDestroy");
-    var kConstruct = Symbol2("kConstruct");
-    function checkError(err, w, r) {
-      if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
-        }
-        if (r && !r.errored) {
-          r.errored = err;
-        }
+    var assert = require("assert");
+    var { kDestroyed, kBodyUsed } = require_symbols11();
+    var { IncomingMessage } = require("http");
+    var stream = require("stream");
+    var net = require("net");
+    var { InvalidArgumentError } = require_errors6();
+    var { Blob: Blob2 } = require("buffer");
+    var nodeUtil = require("util");
+    var { stringify } = require("querystring");
+    var { headerNameLowerCasedRecord } = require_constants20();
+    var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    function nop() {
+    }
+    function isStream(obj) {
+      return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
+    }
+    function isBlobLike(object) {
+      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+    }
+    function buildURL(url, queryParams) {
+      if (url.includes("?") || url.includes("#")) {
+        throw new Error('Query params cannot be passed when url already contains "?" or "#".');
+      }
+      const stringified = stringify(queryParams);
+      if (stringified) {
+        url += "?" + stringified;
       }
+      return url;
     }
-    function destroy(err, cb) {
-      const r = this._readableState;
-      const w = this._writableState;
-      const s = w || r;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        if (typeof cb === "function") {
-          cb();
+    function parseURL(url) {
+      if (typeof url === "string") {
+        url = new URL(url);
+        if (!/^https?:/.test(url.origin || url.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
-        return this;
-      }
-      checkError(err, w, r);
-      if (w) {
-        w.destroyed = true;
+        return url;
       }
-      if (r) {
-        r.destroyed = true;
+      if (!url || typeof url !== "object") {
+        throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!s.constructed) {
-        this.once(kDestroy, function(er) {
-          _destroy(this, aggregateTwoErrors(er, err), cb);
-        });
-      } else {
-        _destroy(this, err, cb);
+      if (!/^https?:/.test(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
-      return this;
-    }
-    function _destroy(self2, err, cb) {
-      let called = false;
-      function onDestroy(err2) {
-        if (called) {
-          return;
+      if (!(url instanceof URL)) {
+        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+          throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
-        called = true;
-        const r = self2._readableState;
-        const w = self2._writableState;
-        checkError(err2, w, r);
-        if (w) {
-          w.closed = true;
+        if (url.path != null && typeof url.path !== "string") {
+          throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.");
         }
-        if (r) {
-          r.closed = true;
+        if (url.pathname != null && typeof url.pathname !== "string") {
+          throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.");
         }
-        if (typeof cb === "function") {
-          cb(err2);
+        if (url.hostname != null && typeof url.hostname !== "string") {
+          throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.");
         }
-        if (err2) {
-          process2.nextTick(emitErrorCloseNT, self2, err2);
-        } else {
-          process2.nextTick(emitCloseNT, self2);
+        if (url.origin != null && typeof url.origin !== "string") {
+          throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
+        let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
+        let path7 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
+        if (origin.endsWith("/")) {
+          origin = origin.substring(0, origin.length - 1);
+        }
+        if (path7 && !path7.startsWith("/")) {
+          path7 = `/${path7}`;
+        }
+        url = new URL(origin + path7);
       }
-      try {
-        self2._destroy(err || null, onDestroy);
-      } catch (err2) {
-        onDestroy(err2);
-      }
-    }
-    function emitErrorCloseNT(self2, err) {
-      emitErrorNT(self2, err);
-      emitCloseNT(self2);
+      return url;
     }
-    function emitCloseNT(self2) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w) {
-        w.closeEmitted = true;
-      }
-      if (r) {
-        r.closeEmitted = true;
-      }
-      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
-        self2.emit("close");
+    function parseOrigin(url) {
+      url = parseURL(url);
+      if (url.pathname !== "/" || url.search || url.hash) {
+        throw new InvalidArgumentError("invalid url");
       }
+      return url;
     }
-    function emitErrorNT(self2, err) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
-        return;
+    function getHostname(host) {
+      if (host[0] === "[") {
+        const idx2 = host.indexOf("]");
+        assert(idx2 !== -1);
+        return host.substring(1, idx2);
       }
-      if (w) {
-        w.errorEmitted = true;
+      const idx = host.indexOf(":");
+      if (idx === -1) return host;
+      return host.substring(0, idx);
+    }
+    function getServerName(host) {
+      if (!host) {
+        return null;
       }
-      if (r) {
-        r.errorEmitted = true;
+      assert.strictEqual(typeof host, "string");
+      const servername = getHostname(host);
+      if (net.isIP(servername)) {
+        return "";
       }
-      self2.emit("error", err);
+      return servername;
     }
-    function undestroy() {
-      const r = this._readableState;
-      const w = this._writableState;
-      if (r) {
-        r.constructed = true;
-        r.closed = false;
-        r.closeEmitted = false;
-        r.destroyed = false;
-        r.errored = null;
-        r.errorEmitted = false;
-        r.reading = false;
-        r.ended = r.readable === false;
-        r.endEmitted = r.readable === false;
-      }
-      if (w) {
-        w.constructed = true;
-        w.destroyed = false;
-        w.closed = false;
-        w.closeEmitted = false;
-        w.errored = null;
-        w.errorEmitted = false;
-        w.finalCalled = false;
-        w.prefinished = false;
-        w.ended = w.writable === false;
-        w.ending = w.writable === false;
-        w.finished = w.writable === false;
+    function deepClone(obj) {
+      return JSON.parse(JSON.stringify(obj));
+    }
+    function isAsyncIterable(obj) {
+      return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
+    }
+    function isIterable(obj) {
+      return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
+    }
+    function bodyLength(body) {
+      if (body == null) {
+        return 0;
+      } else if (isStream(body)) {
+        const state = body._readableState;
+        return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null;
+      } else if (isBlobLike(body)) {
+        return body.size != null ? body.size : null;
+      } else if (isBuffer(body)) {
+        return body.byteLength;
       }
+      return null;
+    }
+    function isDestroyed(stream2) {
+      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
+    }
+    function isReadableAborted(stream2) {
+      const state = stream2 && stream2._readableState;
+      return isDestroyed(stream2) && state && !state.endEmitted;
     }
-    function errorOrDestroy(stream, err, sync) {
-      const r = stream._readableState;
-      const w = stream._writableState;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        return this;
+    function destroy(stream2, err) {
+      if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
+        return;
       }
-      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
-        stream.destroy(err);
-      else if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
+      if (typeof stream2.destroy === "function") {
+        if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) {
+          stream2.socket = null;
         }
-        if (r && !r.errored) {
-          r.errored = err;
+        stream2.destroy(err);
+      } else if (err) {
+        process.nextTick((stream3, err2) => {
+          stream3.emit("error", err2);
+        }, stream2, err);
+      }
+      if (stream2.destroyed !== true) {
+        stream2[kDestroyed] = true;
+      }
+    }
+    var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/;
+    function parseKeepAliveTimeout(val) {
+      const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR);
+      return m ? parseInt(m[1], 10) * 1e3 : null;
+    }
+    function headerNameToString(value) {
+      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+    }
+    function parseHeaders(headers, obj = {}) {
+      if (!Array.isArray(headers)) return headers;
+      for (let i = 0; i < headers.length; i += 2) {
+        const key = headers[i].toString().toLowerCase();
+        let val = obj[key];
+        if (!val) {
+          if (Array.isArray(headers[i + 1])) {
+            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
+          } else {
+            obj[key] = headers[i + 1].toString("utf8");
+          }
+        } else {
+          if (!Array.isArray(val)) {
+            val = [val];
+            obj[key] = val;
+          }
+          val.push(headers[i + 1].toString("utf8"));
         }
-        if (sync) {
-          process2.nextTick(emitErrorNT, stream, err);
+      }
+      if ("content-length" in obj && "content-disposition" in obj) {
+        obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1");
+      }
+      return obj;
+    }
+    function parseRawHeaders(headers) {
+      const ret = [];
+      let hasContentLength = false;
+      let contentDispositionIdx = -1;
+      for (let n = 0; n < headers.length; n += 2) {
+        const key = headers[n + 0].toString();
+        const val = headers[n + 1].toString("utf8");
+        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
+          ret.push(key, val);
+          hasContentLength = true;
+        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = ret.push(key, val) - 1;
         } else {
-          emitErrorNT(stream, err);
+          ret.push(key, val);
         }
       }
+      if (hasContentLength && contentDispositionIdx !== -1) {
+        ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
+      }
+      return ret;
     }
-    function construct(stream, cb) {
-      if (typeof stream._construct !== "function") {
-        return;
+    function isBuffer(buffer) {
+      return buffer instanceof Uint8Array || Buffer.isBuffer(buffer);
+    }
+    function validateHandler(handler2, method, upgrade) {
+      if (!handler2 || typeof handler2 !== "object") {
+        throw new InvalidArgumentError("handler must be an object");
       }
-      const r = stream._readableState;
-      const w = stream._writableState;
-      if (r) {
-        r.constructed = false;
+      if (typeof handler2.onConnect !== "function") {
+        throw new InvalidArgumentError("invalid onConnect method");
       }
-      if (w) {
-        w.constructed = false;
+      if (typeof handler2.onError !== "function") {
+        throw new InvalidArgumentError("invalid onError method");
       }
-      stream.once(kConstruct, cb);
-      if (stream.listenerCount(kConstruct) > 1) {
-        return;
+      if (typeof handler2.onBodySent !== "function" && handler2.onBodySent !== void 0) {
+        throw new InvalidArgumentError("invalid onBodySent method");
       }
-      process2.nextTick(constructNT, stream);
-    }
-    function constructNT(stream) {
-      let called = false;
-      function onConstruct(err) {
-        if (called) {
-          errorOrDestroy(stream, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
-          return;
+      if (upgrade || method === "CONNECT") {
+        if (typeof handler2.onUpgrade !== "function") {
+          throw new InvalidArgumentError("invalid onUpgrade method");
         }
-        called = true;
-        const r = stream._readableState;
-        const w = stream._writableState;
-        const s = w || r;
-        if (r) {
-          r.constructed = true;
+      } else {
+        if (typeof handler2.onHeaders !== "function") {
+          throw new InvalidArgumentError("invalid onHeaders method");
         }
-        if (w) {
-          w.constructed = true;
+        if (typeof handler2.onData !== "function") {
+          throw new InvalidArgumentError("invalid onData method");
         }
-        if (s.destroyed) {
-          stream.emit(kDestroy, err);
-        } else if (err) {
-          errorOrDestroy(stream, err, true);
-        } else {
-          process2.nextTick(emitConstructNT, stream);
+        if (typeof handler2.onComplete !== "function") {
+          throw new InvalidArgumentError("invalid onComplete method");
         }
       }
-      try {
-        stream._construct((err) => {
-          process2.nextTick(onConstruct, err);
-        });
-      } catch (err) {
-        process2.nextTick(onConstruct, err);
-      }
     }
-    function emitConstructNT(stream) {
-      stream.emit(kConstruct);
+    function isDisturbed(body) {
+      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
     }
-    function isRequest(stream) {
-      return (stream === null || stream === void 0 ? void 0 : stream.setHeader) && typeof stream.abort === "function";
+    function isErrored(body) {
+      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
+        nodeUtil.inspect(body)
+      )));
     }
-    function emitCloseLegacy(stream) {
-      stream.emit("close");
+    function isReadable(body) {
+      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
+        nodeUtil.inspect(body)
+      )));
     }
-    function emitErrorCloseLegacy(stream, err) {
-      stream.emit("error", err);
-      process2.nextTick(emitCloseLegacy, stream);
+    function getSocketInfo(socket) {
+      return {
+        localAddress: socket.localAddress,
+        localPort: socket.localPort,
+        remoteAddress: socket.remoteAddress,
+        remotePort: socket.remotePort,
+        remoteFamily: socket.remoteFamily,
+        timeout: socket.timeout,
+        bytesWritten: socket.bytesWritten,
+        bytesRead: socket.bytesRead
+      };
     }
-    function destroyer(stream, err) {
-      if (!stream || isDestroyed(stream)) {
-        return;
+    async function* convertIterableToBuffer(iterable) {
+      for await (const chunk of iterable) {
+        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
       }
-      if (!err && !isFinished(stream)) {
-        err = new AbortError();
+    }
+    var ReadableStream2;
+    function ReadableStreamFrom(iterable) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      if (isServerRequest(stream)) {
-        stream.socket = null;
-        stream.destroy(err);
-      } else if (isRequest(stream)) {
-        stream.abort();
-      } else if (isRequest(stream.req)) {
-        stream.req.abort();
-      } else if (typeof stream.destroy === "function") {
-        stream.destroy(err);
-      } else if (typeof stream.close === "function") {
-        stream.close();
-      } else if (err) {
-        process2.nextTick(emitErrorCloseLegacy, stream, err);
+      if (ReadableStream2.from) {
+        return ReadableStream2.from(convertIterableToBuffer(iterable));
+      }
+      let iterator2;
+      return new ReadableStream2(
+        {
+          async start() {
+            iterator2 = iterable[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { done, value } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
+              controller.enqueue(new Uint8Array(buf));
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          }
+        },
+        0
+      );
+    }
+    function isFormDataLike(object) {
+      return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
+    }
+    function throwIfAborted(signal) {
+      if (!signal) {
+        return;
+      }
+      if (typeof signal.throwIfAborted === "function") {
+        signal.throwIfAborted();
       } else {
-        process2.nextTick(emitCloseLegacy, stream);
+        if (signal.aborted) {
+          const err = new Error("The operation was aborted");
+          err.name = "AbortError";
+          throw err;
+        }
       }
-      if (!stream.destroyed) {
-        stream[kIsDestroyed] = true;
+    }
+    function addAbortListener(signal, listener) {
+      if ("addEventListener" in signal) {
+        signal.addEventListener("abort", listener, { once: true });
+        return () => signal.removeEventListener("abort", listener);
+      }
+      signal.addListener("abort", listener);
+      return () => signal.removeListener("abort", listener);
+    }
+    var hasToWellFormed = !!String.prototype.toWellFormed;
+    function toUSVString(val) {
+      if (hasToWellFormed) {
+        return `${val}`.toWellFormed();
+      } else if (nodeUtil.toUSVString) {
+        return nodeUtil.toUSVString(val);
       }
+      return `${val}`;
+    }
+    function parseRangeHeader(range) {
+      if (range == null || range === "") return { start: 0, end: null, size: null };
+      const m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null;
+      return m ? {
+        start: parseInt(m[1]),
+        end: m[2] ? parseInt(m[2]) : null,
+        size: m[3] ? parseInt(m[3]) : null
+      } : null;
     }
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
     module2.exports = {
-      construct,
-      destroyer,
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isReadableAborted,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
+      isStream,
+      isIterable,
+      isAsyncIterable,
+      isDestroyed,
+      headerNameToString,
+      parseRawHeaders,
+      parseHeaders,
+      parseKeepAliveTimeout,
       destroy,
-      undestroy,
-      errorOrDestroy
+      bodyLength,
+      deepClone,
+      ReadableStreamFrom,
+      isBuffer,
+      validateHandler,
+      getSocketInfo,
+      isFormDataLike,
+      buildURL,
+      throwIfAborted,
+      addAbortListener,
+      parseRangeHeader,
+      nodeMajor,
+      nodeMinor,
+      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/legacy.js
-var require_legacy = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
+// node_modules/undici/lib/timers.js
+var require_timers3 = __commonJS({
+  "node_modules/undici/lib/timers.js"(exports2, module2) {
     "use strict";
-    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
-    var { EventEmitter: EE } = require("events");
-    function Stream(opts) {
-      EE.call(this, opts);
-    }
-    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
-    ObjectSetPrototypeOf(Stream, EE);
-    Stream.prototype.pipe = function(dest, options) {
-      const source = this;
-      function ondata(chunk) {
-        if (dest.writable && dest.write(chunk) === false && source.pause) {
-          source.pause();
+    var fastNow = Date.now();
+    var fastNowTimeout;
+    var fastTimers = [];
+    function onTimeout() {
+      fastNow = Date.now();
+      let len = fastTimers.length;
+      let idx = 0;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer.state === 0) {
+          timer.state = fastNow + timer.delay;
+        } else if (timer.state > 0 && fastNow >= timer.state) {
+          timer.state = -1;
+          timer.callback(timer.opaque);
         }
-      }
-      source.on("data", ondata);
-      function ondrain() {
-        if (source.readable && source.resume) {
-          source.resume();
+        if (timer.state === -1) {
+          timer.state = -2;
+          if (idx !== len - 1) {
+            fastTimers[idx] = fastTimers.pop();
+          } else {
+            fastTimers.pop();
+          }
+          len -= 1;
+        } else {
+          idx += 1;
         }
       }
-      dest.on("drain", ondrain);
-      if (!dest._isStdio && (!options || options.end !== false)) {
-        source.on("end", onend);
-        source.on("close", onclose);
+      if (fastTimers.length > 0) {
+        refreshTimeout();
       }
-      let didOnEnd = false;
-      function onend() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        dest.end();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout && fastNowTimeout.refresh) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTimeout, 1e3);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      function onclose() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        if (typeof dest.destroy === "function") dest.destroy();
+    }
+    var Timeout = class {
+      constructor(callback, delay, opaque) {
+        this.callback = callback;
+        this.delay = delay;
+        this.opaque = opaque;
+        this.state = -2;
+        this.refresh();
       }
-      function onerror(er) {
-        cleanup();
-        if (EE.listenerCount(this, "error") === 0) {
-          this.emit("error", er);
+      refresh() {
+        if (this.state === -2) {
+          fastTimers.push(this);
+          if (!fastNowTimeout || fastTimers.length === 1) {
+            refreshTimeout();
+          }
         }
+        this.state = 0;
       }
-      prependListener(source, "error", onerror);
-      prependListener(dest, "error", onerror);
-      function cleanup() {
-        source.removeListener("data", ondata);
-        dest.removeListener("drain", ondrain);
-        source.removeListener("end", onend);
-        source.removeListener("close", onclose);
-        source.removeListener("error", onerror);
-        dest.removeListener("error", onerror);
-        source.removeListener("end", cleanup);
-        source.removeListener("close", cleanup);
-        dest.removeListener("close", cleanup);
+      clear() {
+        this.state = -1;
       }
-      source.on("end", cleanup);
-      source.on("close", cleanup);
-      dest.on("close", cleanup);
-      dest.emit("pipe", source);
-      return dest;
     };
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
     module2.exports = {
-      Stream,
-      prependListener
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
-var require_add_abort_signal = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
-    "use strict";
-    var { SymbolDispose } = require_primordials();
-    var { AbortError, codes } = require_errors5();
-    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
-    var eos = require_end_of_stream();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
-    var addAbortListener;
-    var validateAbortSignal = (signal, name) => {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
-      }
-    };
-    module2.exports.addAbortSignal = function addAbortSignal(signal, stream) {
-      validateAbortSignal(signal, "signal");
-      if (!isNodeStream(stream) && !isWebStream(stream)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
-      }
-      return module2.exports.addAbortSignalNoValidate(signal, stream);
-    };
-    module2.exports.addAbortSignalNoValidate = function(signal, stream) {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        return stream;
-      }
-      const onAbort = isNodeStream(stream) ? () => {
-        stream.destroy(
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      } : () => {
-        stream[kControllerErrorFunction](
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      };
-      if (signal.aborted) {
-        onAbort();
-      } else {
-        addAbortListener = addAbortListener || require_util20().addAbortListener;
-        const disposable = addAbortListener(signal, onAbort);
-        eos(stream, disposable[SymbolDispose]);
+      setTimeout(callback, delay, opaque) {
+        return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);
+      },
+      clearTimeout(timeout) {
+        if (timeout instanceof Timeout) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
       }
-      return stream;
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/buffer_list.js
-var require_buffer_list = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
+// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
+var require_sbmh = __commonJS({
+  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
     "use strict";
-    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { inspect } = require_util20();
-    module2.exports = class BufferList {
-      constructor() {
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    function SBMH(needle) {
+      if (typeof needle === "string") {
+        needle = Buffer.from(needle);
       }
-      push(v) {
-        const entry = {
-          data: v,
-          next: null
-        };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
+      if (!Buffer.isBuffer(needle)) {
+        throw new TypeError("The needle has to be a String or a Buffer.");
       }
-      unshift(v) {
-        const entry = {
-          data: v,
-          next: this.head
-        };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
+      const needleLength = needle.length;
+      if (needleLength === 0) {
+        throw new Error("The needle cannot be an empty String/Buffer.");
       }
-      shift() {
-        if (this.length === 0) return;
-        const ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
+      if (needleLength > 256) {
+        throw new Error("The needle cannot have a length bigger than 256.");
       }
-      clear() {
-        this.head = this.tail = null;
-        this.length = 0;
+      this.maxMatches = Infinity;
+      this.matches = 0;
+      this._occ = new Array(256).fill(needleLength);
+      this._lookbehind_size = 0;
+      this._needle = needle;
+      this._bufpos = 0;
+      this._lookbehind = Buffer.alloc(needleLength);
+      for (var i = 0; i < needleLength - 1; ++i) {
+        this._occ[needle[i]] = needleLength - 1 - i;
       }
-      join(s) {
-        if (this.length === 0) return "";
-        let p = this.head;
-        let ret = "" + p.data;
-        while ((p = p.next) !== null) ret += s + p.data;
-        return ret;
+    }
+    inherits(SBMH, EventEmitter);
+    SBMH.prototype.reset = function() {
+      this._lookbehind_size = 0;
+      this.matches = 0;
+      this._bufpos = 0;
+    };
+    SBMH.prototype.push = function(chunk, pos) {
+      if (!Buffer.isBuffer(chunk)) {
+        chunk = Buffer.from(chunk, "binary");
       }
-      concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        const ret = Buffer2.allocUnsafe(n >>> 0);
-        let p = this.head;
-        let i = 0;
-        while (p) {
-          TypedArrayPrototypeSet(ret, p.data, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
+      const chlen = chunk.length;
+      this._bufpos = pos || 0;
+      let r;
+      while (r !== chlen && this.matches < this.maxMatches) {
+        r = this._sbmh_feed(chunk);
       }
-      // Consumes a specified amount of bytes or characters from the buffered data.
-      consume(n, hasStrings) {
-        const data = this.head.data;
-        if (n < data.length) {
-          const slice = data.slice(0, n);
-          this.head.data = data.slice(n);
-          return slice;
+      return r;
+    };
+    SBMH.prototype._sbmh_feed = function(data) {
+      const len = data.length;
+      const needle = this._needle;
+      const needleLength = needle.length;
+      const lastNeedleChar = needle[needleLength - 1];
+      let pos = -this._lookbehind_size;
+      let ch;
+      if (pos < 0) {
+        while (pos < 0 && pos <= len - needleLength) {
+          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
+          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
+            this._lookbehind_size = 0;
+            ++this.matches;
+            this.emit("info", true);
+            return this._bufpos = pos + needleLength;
+          }
+          pos += this._occ[ch];
         }
-        if (n === data.length) {
-          return this.shift();
+        if (pos < 0) {
+          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
+            ++pos;
+          }
+        }
+        if (pos >= 0) {
+          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
+          this._lookbehind_size = 0;
+        } else {
+          const bytesToCutOff = this._lookbehind_size + pos;
+          if (bytesToCutOff > 0) {
+            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
+          }
+          this._lookbehind.copy(
+            this._lookbehind,
+            0,
+            bytesToCutOff,
+            this._lookbehind_size - bytesToCutOff
+          );
+          this._lookbehind_size -= bytesToCutOff;
+          data.copy(this._lookbehind, this._lookbehind_size);
+          this._lookbehind_size += len;
+          this._bufpos = len;
+          return len;
         }
-        return hasStrings ? this._getString(n) : this._getBuffer(n);
-      }
-      first() {
-        return this.head.data;
       }
-      *[SymbolIterator]() {
-        for (let p = this.head; p; p = p.next) {
-          yield p.data;
+      pos += (pos >= 0) * this._bufpos;
+      if (data.indexOf(needle, pos) !== -1) {
+        pos = data.indexOf(needle, pos);
+        ++this.matches;
+        if (pos > 0) {
+          this.emit("info", true, data, this._bufpos, pos);
+        } else {
+          this.emit("info", true);
         }
+        return this._bufpos = pos + needleLength;
+      } else {
+        pos = len - needleLength;
       }
-      // Consumes a specified amount of characters from the buffered data.
-      _getString(n) {
-        let ret = "";
-        let p = this.head;
-        let c = 0;
-        do {
-          const str2 = p.data;
-          if (n > str2.length) {
-            ret += str2;
-            n -= str2.length;
-          } else {
-            if (n === str2.length) {
-              ret += str2;
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              ret += StringPrototypeSlice(str2, 0, n);
-              this.head = p;
-              p.data = StringPrototypeSlice(str2, n);
-            }
-            break;
-          }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
+        data.subarray(pos, pos + len - pos),
+        needle.subarray(0, len - pos)
+      ) !== 0)) {
+        ++pos;
       }
-      // Consumes a specified amount of bytes from the buffered data.
-      _getBuffer(n) {
-        const ret = Buffer2.allocUnsafe(n);
-        const retLen = n;
-        let p = this.head;
-        let c = 0;
-        do {
-          const buf = p.data;
-          if (n > buf.length) {
-            TypedArrayPrototypeSet(ret, buf, retLen - n);
-            n -= buf.length;
-          } else {
-            if (n === buf.length) {
-              TypedArrayPrototypeSet(ret, buf, retLen - n);
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
-              this.head = p;
-              p.data = buf.slice(n);
-            }
-            break;
-          }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+      if (pos < len) {
+        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
+        this._lookbehind_size = len - pos;
       }
-      // Make sure the linked list only shows the minimal necessary information.
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
-        return inspect(this, {
-          ...options,
-          // Only inspect one level.
-          depth: 0,
-          // It should not recurse.
-          customInspect: false
-        });
+      if (pos > 0) {
+        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
+      }
+      this._bufpos = len;
+      return len;
+    };
+    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
+      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
+    };
+    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
+      for (var i = 0; i < len; ++i) {
+        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+          return false;
+        }
       }
+      return true;
     };
+    module2.exports = SBMH;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/state.js
-var require_state3 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
+// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
+var require_PartStream = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
     "use strict";
-    var { MathFloor, NumberIsInteger } = require_primordials();
-    var { validateInteger } = require_validators();
-    var { ERR_INVALID_ARG_VALUE } = require_errors5().codes;
-    var defaultHighWaterMarkBytes = 16 * 1024;
-    var defaultHighWaterMarkObjectMode = 16;
-    function highWaterMarkFrom(options, isDuplex, duplexKey) {
-      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
-    }
-    function getDefaultHighWaterMark(objectMode) {
-      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
+    var inherits = require("node:util").inherits;
+    var ReadableStream2 = require("node:stream").Readable;
+    function PartStream(opts) {
+      ReadableStream2.call(this, opts);
     }
-    function setDefaultHighWaterMark(objectMode, value) {
-      validateInteger(value, "value", 0);
-      if (objectMode) {
-        defaultHighWaterMarkObjectMode = value;
-      } else {
-        defaultHighWaterMarkBytes = value;
+    inherits(PartStream, ReadableStream2);
+    PartStream.prototype._read = function(n) {
+    };
+    module2.exports = PartStream;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/getLimit.js
+var require_getLimit = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function getLimit(limits, name, defaultLimit) {
+      if (!limits || limits[name] === void 0 || limits[name] === null) {
+        return defaultLimit;
       }
-    }
-    function getHighWaterMark(state, options, duplexKey, isDuplex) {
-      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
-      if (hwm != null) {
-        if (!NumberIsInteger(hwm) || hwm < 0) {
-          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
-          throw new ERR_INVALID_ARG_VALUE(name, hwm);
-        }
-        return MathFloor(hwm);
+      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
+        throw new TypeError("Limit " + name + " is not a valid number");
       }
-      return getDefaultHighWaterMark(state.objectMode);
-    }
-    module2.exports = {
-      getHighWaterMark,
-      getDefaultHighWaterMark,
-      setDefaultHighWaterMark
+      return limits[name];
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/from.js
-var require_from = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
+// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
+var require_HeaderParser = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
     "use strict";
-    var process2 = require_process();
-    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors5().codes;
-    function from(Readable, iterable, opts) {
-      let iterator2;
-      if (typeof iterable === "string" || iterable instanceof Buffer2) {
-        return new Readable({
-          objectMode: true,
-          ...opts,
-          read() {
-            this.push(iterable);
-            this.push(null);
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    var getLimit = require_getLimit();
+    var StreamSearch = require_sbmh();
+    var B_DCRLF = Buffer.from("\r\n\r\n");
+    var RE_CRLF = /\r\n/g;
+    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
+    function HeaderParser(cfg) {
+      EventEmitter.call(this);
+      cfg = cfg || {};
+      const self2 = this;
+      this.nread = 0;
+      this.maxed = false;
+      this.npairs = 0;
+      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
+      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
+      this.buffer = "";
+      this.header = {};
+      this.finished = false;
+      this.ss = new StreamSearch(B_DCRLF);
+      this.ss.on("info", function(isMatch, data, start, end) {
+        if (data && !self2.maxed) {
+          if (self2.nread + end - start >= self2.maxHeaderSize) {
+            end = self2.maxHeaderSize - self2.nread + start;
+            self2.nread = self2.maxHeaderSize;
+            self2.maxed = true;
+          } else {
+            self2.nread += end - start;
           }
-        });
+          self2.buffer += data.toString("binary", start, end);
+        }
+        if (isMatch) {
+          self2._finish();
+        }
+      });
+    }
+    inherits(HeaderParser, EventEmitter);
+    HeaderParser.prototype.push = function(data) {
+      const r = this.ss.push(data);
+      if (this.finished) {
+        return r;
       }
-      let isAsync;
-      if (iterable && iterable[SymbolAsyncIterator]) {
-        isAsync = true;
-        iterator2 = iterable[SymbolAsyncIterator]();
-      } else if (iterable && iterable[SymbolIterator]) {
-        isAsync = false;
-        iterator2 = iterable[SymbolIterator]();
-      } else {
-        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
+    };
+    HeaderParser.prototype.reset = function() {
+      this.finished = false;
+      this.buffer = "";
+      this.header = {};
+      this.ss.reset();
+    };
+    HeaderParser.prototype._finish = function() {
+      if (this.buffer) {
+        this._parseHeader();
       }
-      const readable = new Readable({
-        objectMode: true,
-        highWaterMark: 1,
-        // TODO(ronag): What options should be allowed?
-        ...opts
-      });
-      let reading = false;
-      readable._read = function() {
-        if (!reading) {
-          reading = true;
-          next();
+      this.ss.matches = this.ss.maxMatches;
+      const header = this.header;
+      this.header = {};
+      this.buffer = "";
+      this.finished = true;
+      this.nread = this.npairs = 0;
+      this.maxed = false;
+      this.emit("header", header);
+    };
+    HeaderParser.prototype._parseHeader = function() {
+      if (this.npairs === this.maxHeaderPairs) {
+        return;
+      }
+      const lines = this.buffer.split(RE_CRLF);
+      const len = lines.length;
+      let m, h;
+      for (var i = 0; i < len; ++i) {
+        if (lines[i].length === 0) {
+          continue;
         }
-      };
-      readable._destroy = function(error3, cb) {
-        PromisePrototypeThen(
-          close(error3),
-          () => process2.nextTick(cb, error3),
-          // nextTick is here in case cb throws
-          (e) => process2.nextTick(cb, e || error3)
-        );
-      };
-      async function close(error3) {
-        const hadError = error3 !== void 0 && error3 !== null;
-        const hasThrow = typeof iterator2.throw === "function";
-        if (hadError && hasThrow) {
-          const { value, done } = await iterator2.throw(error3);
-          await value;
-          if (done) {
-            return;
+        if (lines[i][0] === "	" || lines[i][0] === " ") {
+          if (h) {
+            this.header[h][this.header[h].length - 1] += lines[i];
+            continue;
           }
         }
-        if (typeof iterator2.return === "function") {
-          const { value } = await iterator2.return();
-          await value;
+        const posColon = lines[i].indexOf(":");
+        if (posColon === -1 || posColon === 0) {
+          return;
+        }
+        m = RE_HDR.exec(lines[i]);
+        h = m[1].toLowerCase();
+        this.header[h] = this.header[h] || [];
+        this.header[h].push(m[2] || "");
+        if (++this.npairs === this.maxHeaderPairs) {
+          break;
         }
       }
-      async function next() {
-        for (; ; ) {
-          try {
-            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
-            if (done) {
-              readable.push(null);
-            } else {
-              const res = value && typeof value.then === "function" ? await value : value;
-              if (res === null) {
-                reading = false;
-                throw new ERR_STREAM_NULL_VALUES();
-              } else if (readable.push(res)) {
-                continue;
-              } else {
-                reading = false;
-              }
+    };
+    module2.exports = HeaderParser;
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
+var require_Dicer = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+    "use strict";
+    var WritableStream = require("node:stream").Writable;
+    var inherits = require("node:util").inherits;
+    var StreamSearch = require_sbmh();
+    var PartStream = require_PartStream();
+    var HeaderParser = require_HeaderParser();
+    var DASH = 45;
+    var B_ONEDASH = Buffer.from("-");
+    var B_CRLF = Buffer.from("\r\n");
+    var EMPTY_FN = function() {
+    };
+    function Dicer(cfg) {
+      if (!(this instanceof Dicer)) {
+        return new Dicer(cfg);
+      }
+      WritableStream.call(this, cfg);
+      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
+        throw new TypeError("Boundary required");
+      }
+      if (typeof cfg.boundary === "string") {
+        this.setBoundary(cfg.boundary);
+      } else {
+        this._bparser = void 0;
+      }
+      this._headerFirst = cfg.headerFirst;
+      this._dashes = 0;
+      this._parts = 0;
+      this._finished = false;
+      this._realFinish = false;
+      this._isPreamble = true;
+      this._justMatched = false;
+      this._firstWrite = true;
+      this._inHeader = true;
+      this._part = void 0;
+      this._cb = void 0;
+      this._ignoreData = false;
+      this._partOpts = { highWaterMark: cfg.partHwm };
+      this._pause = false;
+      const self2 = this;
+      this._hparser = new HeaderParser(cfg);
+      this._hparser.on("header", function(header) {
+        self2._inHeader = false;
+        self2._part.emit("header", header);
+      });
+    }
+    inherits(Dicer, WritableStream);
+    Dicer.prototype.emit = function(ev) {
+      if (ev === "finish" && !this._realFinish) {
+        if (!this._finished) {
+          const self2 = this;
+          process.nextTick(function() {
+            self2.emit("error", new Error("Unexpected end of multipart data"));
+            if (self2._part && !self2._ignoreData) {
+              const type2 = self2._isPreamble ? "Preamble" : "Part";
+              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
+              self2._part.push(null);
+              process.nextTick(function() {
+                self2._realFinish = true;
+                self2.emit("finish");
+                self2._realFinish = false;
+              });
+              return;
             }
-          } catch (err) {
-            readable.destroy(err);
-          }
-          break;
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
+          });
         }
+      } else {
+        WritableStream.prototype.emit.apply(this, arguments);
       }
-      return readable;
-    }
-    module2.exports = from;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/readable.js
-var require_readable4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeIndexOf,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberParseInt,
-      ObjectDefineProperties,
-      ObjectKeys,
-      ObjectSetPrototypeOf,
-      Promise: Promise2,
-      SafeSet,
-      SymbolAsyncDispose,
-      SymbolAsyncIterator,
-      Symbol: Symbol2
-    } = require_primordials();
-    module2.exports = Readable;
-    Readable.ReadableState = ReadableState;
-    var { EventEmitter: EE } = require("events");
-    var { Stream, prependListener } = require_legacy();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { addAbortSignal } = require_add_abort_signal();
-    var eos = require_end_of_stream();
-    var debug4 = require_util20().debuglog("stream", (fn) => {
-      debug4 = fn;
-    });
-    var BufferList = require_buffer_list();
-    var destroyImpl = require_destroy2();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_METHOD_NOT_IMPLEMENTED,
-        ERR_OUT_OF_RANGE,
-        ERR_STREAM_PUSH_AFTER_EOF,
-        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
-      },
-      AbortError
-    } = require_errors5();
-    var { validateObject } = require_validators();
-    var kPaused = Symbol2("kPaused");
-    var { StringDecoder } = require("string_decoder");
-    var from = require_from();
-    ObjectSetPrototypeOf(Readable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Readable, Stream);
-    var nop = () => {
     };
-    var { errorOrDestroy } = destroyImpl;
-    var kObjectMode = 1 << 0;
-    var kEnded = 1 << 1;
-    var kEndEmitted = 1 << 2;
-    var kReading = 1 << 3;
-    var kConstructed = 1 << 4;
-    var kSync = 1 << 5;
-    var kNeedReadable = 1 << 6;
-    var kEmittedReadable = 1 << 7;
-    var kReadableListening = 1 << 8;
-    var kResumeScheduled = 1 << 9;
-    var kErrorEmitted = 1 << 10;
-    var kEmitClose = 1 << 11;
-    var kAutoDestroy = 1 << 12;
-    var kDestroyed = 1 << 13;
-    var kClosed = 1 << 14;
-    var kCloseEmitted = 1 << 15;
-    var kMultiAwaitDrain = 1 << 16;
-    var kReadingMore = 1 << 17;
-    var kDataEmitted = 1 << 18;
-    function makeBitMapDescriptor(bit) {
-      return {
-        enumerable: false,
-        get() {
-          return (this.state & bit) !== 0;
-        },
-        set(value) {
-          if (value) this.state |= bit;
-          else this.state &= ~bit;
+    Dicer.prototype._write = function(data, encoding, cb) {
+      if (!this._hparser && !this._bparser) {
+        return cb();
+      }
+      if (this._headerFirst && this._isPreamble) {
+        if (!this._part) {
+          this._part = new PartStream(this._partOpts);
+          if (this.listenerCount("preamble") !== 0) {
+            this.emit("preamble", this._part);
+          } else {
+            this._ignore();
+          }
+        }
+        const r = this._hparser.push(data);
+        if (!this._inHeader && r !== void 0 && r < data.length) {
+          data = data.slice(r);
+        } else {
+          return cb();
         }
-      };
-    }
-    ObjectDefineProperties(ReadableState.prototype, {
-      objectMode: makeBitMapDescriptor(kObjectMode),
-      ended: makeBitMapDescriptor(kEnded),
-      endEmitted: makeBitMapDescriptor(kEndEmitted),
-      reading: makeBitMapDescriptor(kReading),
-      // Stream is still being constructed and cannot be
-      // destroyed until construction finished or failed.
-      // Async construction is opt in, therefore we start as
-      // constructed.
-      constructed: makeBitMapDescriptor(kConstructed),
-      // A flag to be able to tell if the event 'readable'/'data' is emitted
-      // immediately, or on a later tick.  We set this to true at first, because
-      // any actions that shouldn't happen until "later" should generally also
-      // not happen before the first read call.
-      sync: makeBitMapDescriptor(kSync),
-      // Whenever we return null, then we set a flag to say
-      // that we're awaiting a 'readable' event emission.
-      needReadable: makeBitMapDescriptor(kNeedReadable),
-      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
-      readableListening: makeBitMapDescriptor(kReadableListening),
-      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
-      // True if the error was already emitted and should not be thrown again.
-      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
-      emitClose: makeBitMapDescriptor(kEmitClose),
-      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
-      // Has it been destroyed.
-      destroyed: makeBitMapDescriptor(kDestroyed),
-      // Indicates whether the stream has finished destroying.
-      closed: makeBitMapDescriptor(kClosed),
-      // True if close has been emitted or would have been emitted
-      // depending on emitClose.
-      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
-      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
-      // If true, a maybeReadMore has been scheduled.
-      readingMore: makeBitMapDescriptor(kReadingMore),
-      dataEmitted: makeBitMapDescriptor(kDataEmitted)
-    });
-    function ReadableState(options, stream, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
-      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
-      if (options && options.objectMode) this.state |= kObjectMode;
-      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
-      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = [];
-      this.flowing = null;
-      this[kPaused] = null;
-      if (options && options.emitClose === false) this.state &= ~kEmitClose;
-      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
-      this.errored = null;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.awaitDrainWriters = null;
-      this.decoder = null;
-      this.encoding = null;
-      if (options && options.encoding) {
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
       }
-    }
-    function Readable(options) {
-      if (!(this instanceof Readable)) return new Readable(options);
-      const isDuplex = this instanceof require_duplex();
-      this._readableState = new ReadableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
+      if (this._firstWrite) {
+        this._bparser.push(B_CRLF);
+        this._firstWrite = false;
       }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        if (this._readableState.needReadable) {
-          maybeReadMore(this, this._readableState);
-        }
-      });
-    }
-    Readable.prototype.destroy = destroyImpl.destroy;
-    Readable.prototype._undestroy = destroyImpl.undestroy;
-    Readable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Readable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    Readable.prototype[SymbolAsyncDispose] = function() {
-      let error3;
-      if (!this.destroyed) {
-        error3 = this.readableEnded ? null : new AbortError();
-        this.destroy(error3);
+      this._bparser.push(data);
+      if (this._pause) {
+        this._cb = cb;
+      } else {
+        cb();
       }
-      return new Promise2((resolve5, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve5(null)));
     };
-    Readable.prototype.push = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, false);
+    Dicer.prototype.reset = function() {
+      this._part = void 0;
+      this._bparser = void 0;
+      this._hparser = void 0;
     };
-    Readable.prototype.unshift = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, true);
+    Dicer.prototype.setBoundary = function(boundary) {
+      const self2 = this;
+      this._bparser = new StreamSearch("\r\n--" + boundary);
+      this._bparser.on("info", function(isMatch, data, start, end) {
+        self2._oninfo(isMatch, data, start, end);
+      });
     };
-    function readableAddChunk(stream, chunk, encoding, addToFront) {
-      debug4("readableAddChunk", chunk);
-      const state = stream._readableState;
-      let err;
-      if ((state.state & kObjectMode) === 0) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (state.encoding !== encoding) {
-            if (addToFront && state.encoding) {
-              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
-            } else {
-              chunk = Buffer2.from(chunk, encoding);
-              encoding = "";
+    Dicer.prototype._ignore = function() {
+      if (this._part && !this._ignoreData) {
+        this._ignoreData = true;
+        this._part.on("error", EMPTY_FN);
+        this._part.resume();
+      }
+    };
+    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
+      let buf;
+      const self2 = this;
+      let i = 0;
+      let r;
+      let shouldWriteMore = true;
+      if (!this._part && this._justMatched && data) {
+        while (this._dashes < 2 && start + i < end) {
+          if (data[start + i] === DASH) {
+            ++i;
+            ++this._dashes;
+          } else {
+            if (this._dashes) {
+              buf = B_ONEDASH;
             }
+            this._dashes = 0;
+            break;
+          }
+        }
+        if (this._dashes === 2) {
+          if (start + i < end && this.listenerCount("trailer") !== 0) {
+            this.emit("trailer", data.slice(start + i, end));
+          }
+          this.reset();
+          this._finished = true;
+          if (self2._parts === 0) {
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
           }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "";
-        } else if (chunk != null) {
-          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+        }
+        if (this._dashes) {
+          return;
         }
       }
-      if (err) {
-        errorOrDestroy(stream, err);
-      } else if (chunk === null) {
-        state.state &= ~kReading;
-        onEofChunk(stream, state);
-      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
-        if (addToFront) {
-          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
-          else if (state.destroyed || state.errored) return false;
-          else addChunk(stream, state, chunk, true);
-        } else if (state.ended) {
-          errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
-        } else if (state.destroyed || state.errored) {
-          return false;
+      if (this._justMatched) {
+        this._justMatched = false;
+      }
+      if (!this._part) {
+        this._part = new PartStream(this._partOpts);
+        this._part._read = function(n) {
+          self2._unpause();
+        };
+        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
+          this.emit("preamble", this._part);
+        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
+          this.emit("part", this._part);
         } else {
-          state.state &= ~kReading;
-          if (state.decoder && !encoding) {
-            chunk = state.decoder.write(chunk);
-            if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
-            else maybeReadMore(stream, state);
-          } else {
-            addChunk(stream, state, chunk, false);
+          this._ignore();
+        }
+        if (!this._isPreamble) {
+          this._inHeader = true;
+        }
+      }
+      if (data && start < end && !this._ignoreData) {
+        if (this._isPreamble || !this._inHeader) {
+          if (buf) {
+            shouldWriteMore = this._part.push(buf);
+          }
+          shouldWriteMore = this._part.push(data.slice(start, end));
+          if (!shouldWriteMore) {
+            this._pause = true;
+          }
+        } else if (!this._isPreamble && this._inHeader) {
+          if (buf) {
+            this._hparser.push(buf);
+          }
+          r = this._hparser.push(data.slice(start, end));
+          if (!this._inHeader && r !== void 0 && r < end) {
+            this._oninfo(false, data, start + r, end);
           }
         }
-      } else if (!addToFront) {
-        state.state &= ~kReading;
-        maybeReadMore(stream, state);
       }
-      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
-    }
-    function addChunk(stream, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount("data") > 0) {
-        if ((state.state & kMultiAwaitDrain) !== 0) {
-          state.awaitDrainWriters.clear();
+      if (isMatch) {
+        this._hparser.reset();
+        if (this._isPreamble) {
+          this._isPreamble = false;
         } else {
-          state.awaitDrainWriters = null;
+          if (start !== end) {
+            ++this._parts;
+            this._part.on("end", function() {
+              if (--self2._parts === 0) {
+                if (self2._finished) {
+                  self2._realFinish = true;
+                  self2.emit("finish");
+                  self2._realFinish = false;
+                } else {
+                  self2._unpause();
+                }
+              }
+            });
+          }
         }
-        state.dataEmitted = true;
-        stream.emit("data", chunk);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if ((state.state & kNeedReadable) !== 0) emitReadable(stream);
+        this._part.push(null);
+        this._part = void 0;
+        this._ignoreData = false;
+        this._justMatched = true;
+        this._dashes = 0;
       }
-      maybeReadMore(stream, state);
-    }
-    Readable.prototype.isPaused = function() {
-      const state = this._readableState;
-      return state[kPaused] === true || state.flowing === false;
     };
-    Readable.prototype.setEncoding = function(enc) {
-      const decoder = new StringDecoder(enc);
-      this._readableState.decoder = decoder;
-      this._readableState.encoding = this._readableState.decoder.encoding;
-      const buffer = this._readableState.buffer;
-      let content = "";
-      for (const data of buffer) {
-        content += decoder.write(data);
+    Dicer.prototype._unpause = function() {
+      if (!this._pause) {
+        return;
+      }
+      this._pause = false;
+      if (this._cb) {
+        const cb = this._cb;
+        this._cb = void 0;
+        cb();
       }
-      buffer.clear();
-      if (content !== "") buffer.push(content);
-      this._readableState.length = content.length;
-      return this;
     };
-    var MAX_HWM = 1073741824;
-    function computeNewHighWaterMark(n) {
-      if (n > MAX_HWM) {
-        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
-      } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+    module2.exports = Dicer;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/decodeText.js
+var require_decodeText = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
+    "use strict";
+    var utf8Decoder = new TextDecoder("utf-8");
+    var textDecoders = /* @__PURE__ */ new Map([
+      ["utf-8", utf8Decoder],
+      ["utf8", utf8Decoder]
+    ]);
+    function getDecoder(charset) {
+      let lc;
+      while (true) {
+        switch (charset) {
+          case "utf-8":
+          case "utf8":
+            return decoders.utf8;
+          case "latin1":
+          case "ascii":
+          // TODO: Make these a separate, strict decoder?
+          case "us-ascii":
+          case "iso-8859-1":
+          case "iso8859-1":
+          case "iso88591":
+          case "iso_8859-1":
+          case "windows-1252":
+          case "iso_8859-1:1987":
+          case "cp1252":
+          case "x-cp1252":
+            return decoders.latin1;
+          case "utf16le":
+          case "utf-16le":
+          case "ucs2":
+          case "ucs-2":
+            return decoders.utf16le;
+          case "base64":
+            return decoders.base64;
+          default:
+            if (lc === void 0) {
+              lc = true;
+              charset = charset.toLowerCase();
+              continue;
+            }
+            return decoders.other.bind(charset);
+        }
       }
-      return n;
     }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if ((state.state & kObjectMode) !== 0) return 1;
-      if (NumberIsNaN(n)) {
-        if (state.flowing && state.length) return state.buffer.first().length;
-        return state.length;
+    var decoders = {
+      utf8: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        return data.utf8Slice(0, data.length);
+      },
+      latin1: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          return data;
+        }
+        return data.latin1Slice(0, data.length);
+      },
+      utf16le: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        return data.ucs2Slice(0, data.length);
+      },
+      base64: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        return data.base64Slice(0, data.length);
+      },
+      other: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        if (textDecoders.has(exports2.toString())) {
+          try {
+            return textDecoders.get(exports2).decode(data);
+          } catch {
+          }
+        }
+        return typeof data === "string" ? data : data.toString();
       }
-      if (n <= state.length) return n;
-      return state.ended ? state.length : 0;
+    };
+    function decodeText(text, sourceEncoding, destEncoding) {
+      if (text) {
+        return getDecoder(destEncoding)(text, sourceEncoding);
+      }
+      return text;
+    }
+    module2.exports = decodeText;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/parseParams.js
+var require_parseParams = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+    "use strict";
+    var decodeText = require_decodeText();
+    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
+    var EncodedLookup = {
+      "%00": "\0",
+      "%01": "",
+      "%02": "",
+      "%03": "",
+      "%04": "",
+      "%05": "",
+      "%06": "",
+      "%07": "\x07",
+      "%08": "\b",
+      "%09": "	",
+      "%0a": "\n",
+      "%0A": "\n",
+      "%0b": "\v",
+      "%0B": "\v",
+      "%0c": "\f",
+      "%0C": "\f",
+      "%0d": "\r",
+      "%0D": "\r",
+      "%0e": "",
+      "%0E": "",
+      "%0f": "",
+      "%0F": "",
+      "%10": "",
+      "%11": "",
+      "%12": "",
+      "%13": "",
+      "%14": "",
+      "%15": "",
+      "%16": "",
+      "%17": "",
+      "%18": "",
+      "%19": "",
+      "%1a": "",
+      "%1A": "",
+      "%1b": "\x1B",
+      "%1B": "\x1B",
+      "%1c": "",
+      "%1C": "",
+      "%1d": "",
+      "%1D": "",
+      "%1e": "",
+      "%1E": "",
+      "%1f": "",
+      "%1F": "",
+      "%20": " ",
+      "%21": "!",
+      "%22": '"',
+      "%23": "#",
+      "%24": "$",
+      "%25": "%",
+      "%26": "&",
+      "%27": "'",
+      "%28": "(",
+      "%29": ")",
+      "%2a": "*",
+      "%2A": "*",
+      "%2b": "+",
+      "%2B": "+",
+      "%2c": ",",
+      "%2C": ",",
+      "%2d": "-",
+      "%2D": "-",
+      "%2e": ".",
+      "%2E": ".",
+      "%2f": "/",
+      "%2F": "/",
+      "%30": "0",
+      "%31": "1",
+      "%32": "2",
+      "%33": "3",
+      "%34": "4",
+      "%35": "5",
+      "%36": "6",
+      "%37": "7",
+      "%38": "8",
+      "%39": "9",
+      "%3a": ":",
+      "%3A": ":",
+      "%3b": ";",
+      "%3B": ";",
+      "%3c": "<",
+      "%3C": "<",
+      "%3d": "=",
+      "%3D": "=",
+      "%3e": ">",
+      "%3E": ">",
+      "%3f": "?",
+      "%3F": "?",
+      "%40": "@",
+      "%41": "A",
+      "%42": "B",
+      "%43": "C",
+      "%44": "D",
+      "%45": "E",
+      "%46": "F",
+      "%47": "G",
+      "%48": "H",
+      "%49": "I",
+      "%4a": "J",
+      "%4A": "J",
+      "%4b": "K",
+      "%4B": "K",
+      "%4c": "L",
+      "%4C": "L",
+      "%4d": "M",
+      "%4D": "M",
+      "%4e": "N",
+      "%4E": "N",
+      "%4f": "O",
+      "%4F": "O",
+      "%50": "P",
+      "%51": "Q",
+      "%52": "R",
+      "%53": "S",
+      "%54": "T",
+      "%55": "U",
+      "%56": "V",
+      "%57": "W",
+      "%58": "X",
+      "%59": "Y",
+      "%5a": "Z",
+      "%5A": "Z",
+      "%5b": "[",
+      "%5B": "[",
+      "%5c": "\\",
+      "%5C": "\\",
+      "%5d": "]",
+      "%5D": "]",
+      "%5e": "^",
+      "%5E": "^",
+      "%5f": "_",
+      "%5F": "_",
+      "%60": "`",
+      "%61": "a",
+      "%62": "b",
+      "%63": "c",
+      "%64": "d",
+      "%65": "e",
+      "%66": "f",
+      "%67": "g",
+      "%68": "h",
+      "%69": "i",
+      "%6a": "j",
+      "%6A": "j",
+      "%6b": "k",
+      "%6B": "k",
+      "%6c": "l",
+      "%6C": "l",
+      "%6d": "m",
+      "%6D": "m",
+      "%6e": "n",
+      "%6E": "n",
+      "%6f": "o",
+      "%6F": "o",
+      "%70": "p",
+      "%71": "q",
+      "%72": "r",
+      "%73": "s",
+      "%74": "t",
+      "%75": "u",
+      "%76": "v",
+      "%77": "w",
+      "%78": "x",
+      "%79": "y",
+      "%7a": "z",
+      "%7A": "z",
+      "%7b": "{",
+      "%7B": "{",
+      "%7c": "|",
+      "%7C": "|",
+      "%7d": "}",
+      "%7D": "}",
+      "%7e": "~",
+      "%7E": "~",
+      "%7f": "\x7F",
+      "%7F": "\x7F",
+      "%80": "\x80",
+      "%81": "\x81",
+      "%82": "\x82",
+      "%83": "\x83",
+      "%84": "\x84",
+      "%85": "\x85",
+      "%86": "\x86",
+      "%87": "\x87",
+      "%88": "\x88",
+      "%89": "\x89",
+      "%8a": "\x8A",
+      "%8A": "\x8A",
+      "%8b": "\x8B",
+      "%8B": "\x8B",
+      "%8c": "\x8C",
+      "%8C": "\x8C",
+      "%8d": "\x8D",
+      "%8D": "\x8D",
+      "%8e": "\x8E",
+      "%8E": "\x8E",
+      "%8f": "\x8F",
+      "%8F": "\x8F",
+      "%90": "\x90",
+      "%91": "\x91",
+      "%92": "\x92",
+      "%93": "\x93",
+      "%94": "\x94",
+      "%95": "\x95",
+      "%96": "\x96",
+      "%97": "\x97",
+      "%98": "\x98",
+      "%99": "\x99",
+      "%9a": "\x9A",
+      "%9A": "\x9A",
+      "%9b": "\x9B",
+      "%9B": "\x9B",
+      "%9c": "\x9C",
+      "%9C": "\x9C",
+      "%9d": "\x9D",
+      "%9D": "\x9D",
+      "%9e": "\x9E",
+      "%9E": "\x9E",
+      "%9f": "\x9F",
+      "%9F": "\x9F",
+      "%a0": "\xA0",
+      "%A0": "\xA0",
+      "%a1": "\xA1",
+      "%A1": "\xA1",
+      "%a2": "\xA2",
+      "%A2": "\xA2",
+      "%a3": "\xA3",
+      "%A3": "\xA3",
+      "%a4": "\xA4",
+      "%A4": "\xA4",
+      "%a5": "\xA5",
+      "%A5": "\xA5",
+      "%a6": "\xA6",
+      "%A6": "\xA6",
+      "%a7": "\xA7",
+      "%A7": "\xA7",
+      "%a8": "\xA8",
+      "%A8": "\xA8",
+      "%a9": "\xA9",
+      "%A9": "\xA9",
+      "%aa": "\xAA",
+      "%Aa": "\xAA",
+      "%aA": "\xAA",
+      "%AA": "\xAA",
+      "%ab": "\xAB",
+      "%Ab": "\xAB",
+      "%aB": "\xAB",
+      "%AB": "\xAB",
+      "%ac": "\xAC",
+      "%Ac": "\xAC",
+      "%aC": "\xAC",
+      "%AC": "\xAC",
+      "%ad": "\xAD",
+      "%Ad": "\xAD",
+      "%aD": "\xAD",
+      "%AD": "\xAD",
+      "%ae": "\xAE",
+      "%Ae": "\xAE",
+      "%aE": "\xAE",
+      "%AE": "\xAE",
+      "%af": "\xAF",
+      "%Af": "\xAF",
+      "%aF": "\xAF",
+      "%AF": "\xAF",
+      "%b0": "\xB0",
+      "%B0": "\xB0",
+      "%b1": "\xB1",
+      "%B1": "\xB1",
+      "%b2": "\xB2",
+      "%B2": "\xB2",
+      "%b3": "\xB3",
+      "%B3": "\xB3",
+      "%b4": "\xB4",
+      "%B4": "\xB4",
+      "%b5": "\xB5",
+      "%B5": "\xB5",
+      "%b6": "\xB6",
+      "%B6": "\xB6",
+      "%b7": "\xB7",
+      "%B7": "\xB7",
+      "%b8": "\xB8",
+      "%B8": "\xB8",
+      "%b9": "\xB9",
+      "%B9": "\xB9",
+      "%ba": "\xBA",
+      "%Ba": "\xBA",
+      "%bA": "\xBA",
+      "%BA": "\xBA",
+      "%bb": "\xBB",
+      "%Bb": "\xBB",
+      "%bB": "\xBB",
+      "%BB": "\xBB",
+      "%bc": "\xBC",
+      "%Bc": "\xBC",
+      "%bC": "\xBC",
+      "%BC": "\xBC",
+      "%bd": "\xBD",
+      "%Bd": "\xBD",
+      "%bD": "\xBD",
+      "%BD": "\xBD",
+      "%be": "\xBE",
+      "%Be": "\xBE",
+      "%bE": "\xBE",
+      "%BE": "\xBE",
+      "%bf": "\xBF",
+      "%Bf": "\xBF",
+      "%bF": "\xBF",
+      "%BF": "\xBF",
+      "%c0": "\xC0",
+      "%C0": "\xC0",
+      "%c1": "\xC1",
+      "%C1": "\xC1",
+      "%c2": "\xC2",
+      "%C2": "\xC2",
+      "%c3": "\xC3",
+      "%C3": "\xC3",
+      "%c4": "\xC4",
+      "%C4": "\xC4",
+      "%c5": "\xC5",
+      "%C5": "\xC5",
+      "%c6": "\xC6",
+      "%C6": "\xC6",
+      "%c7": "\xC7",
+      "%C7": "\xC7",
+      "%c8": "\xC8",
+      "%C8": "\xC8",
+      "%c9": "\xC9",
+      "%C9": "\xC9",
+      "%ca": "\xCA",
+      "%Ca": "\xCA",
+      "%cA": "\xCA",
+      "%CA": "\xCA",
+      "%cb": "\xCB",
+      "%Cb": "\xCB",
+      "%cB": "\xCB",
+      "%CB": "\xCB",
+      "%cc": "\xCC",
+      "%Cc": "\xCC",
+      "%cC": "\xCC",
+      "%CC": "\xCC",
+      "%cd": "\xCD",
+      "%Cd": "\xCD",
+      "%cD": "\xCD",
+      "%CD": "\xCD",
+      "%ce": "\xCE",
+      "%Ce": "\xCE",
+      "%cE": "\xCE",
+      "%CE": "\xCE",
+      "%cf": "\xCF",
+      "%Cf": "\xCF",
+      "%cF": "\xCF",
+      "%CF": "\xCF",
+      "%d0": "\xD0",
+      "%D0": "\xD0",
+      "%d1": "\xD1",
+      "%D1": "\xD1",
+      "%d2": "\xD2",
+      "%D2": "\xD2",
+      "%d3": "\xD3",
+      "%D3": "\xD3",
+      "%d4": "\xD4",
+      "%D4": "\xD4",
+      "%d5": "\xD5",
+      "%D5": "\xD5",
+      "%d6": "\xD6",
+      "%D6": "\xD6",
+      "%d7": "\xD7",
+      "%D7": "\xD7",
+      "%d8": "\xD8",
+      "%D8": "\xD8",
+      "%d9": "\xD9",
+      "%D9": "\xD9",
+      "%da": "\xDA",
+      "%Da": "\xDA",
+      "%dA": "\xDA",
+      "%DA": "\xDA",
+      "%db": "\xDB",
+      "%Db": "\xDB",
+      "%dB": "\xDB",
+      "%DB": "\xDB",
+      "%dc": "\xDC",
+      "%Dc": "\xDC",
+      "%dC": "\xDC",
+      "%DC": "\xDC",
+      "%dd": "\xDD",
+      "%Dd": "\xDD",
+      "%dD": "\xDD",
+      "%DD": "\xDD",
+      "%de": "\xDE",
+      "%De": "\xDE",
+      "%dE": "\xDE",
+      "%DE": "\xDE",
+      "%df": "\xDF",
+      "%Df": "\xDF",
+      "%dF": "\xDF",
+      "%DF": "\xDF",
+      "%e0": "\xE0",
+      "%E0": "\xE0",
+      "%e1": "\xE1",
+      "%E1": "\xE1",
+      "%e2": "\xE2",
+      "%E2": "\xE2",
+      "%e3": "\xE3",
+      "%E3": "\xE3",
+      "%e4": "\xE4",
+      "%E4": "\xE4",
+      "%e5": "\xE5",
+      "%E5": "\xE5",
+      "%e6": "\xE6",
+      "%E6": "\xE6",
+      "%e7": "\xE7",
+      "%E7": "\xE7",
+      "%e8": "\xE8",
+      "%E8": "\xE8",
+      "%e9": "\xE9",
+      "%E9": "\xE9",
+      "%ea": "\xEA",
+      "%Ea": "\xEA",
+      "%eA": "\xEA",
+      "%EA": "\xEA",
+      "%eb": "\xEB",
+      "%Eb": "\xEB",
+      "%eB": "\xEB",
+      "%EB": "\xEB",
+      "%ec": "\xEC",
+      "%Ec": "\xEC",
+      "%eC": "\xEC",
+      "%EC": "\xEC",
+      "%ed": "\xED",
+      "%Ed": "\xED",
+      "%eD": "\xED",
+      "%ED": "\xED",
+      "%ee": "\xEE",
+      "%Ee": "\xEE",
+      "%eE": "\xEE",
+      "%EE": "\xEE",
+      "%ef": "\xEF",
+      "%Ef": "\xEF",
+      "%eF": "\xEF",
+      "%EF": "\xEF",
+      "%f0": "\xF0",
+      "%F0": "\xF0",
+      "%f1": "\xF1",
+      "%F1": "\xF1",
+      "%f2": "\xF2",
+      "%F2": "\xF2",
+      "%f3": "\xF3",
+      "%F3": "\xF3",
+      "%f4": "\xF4",
+      "%F4": "\xF4",
+      "%f5": "\xF5",
+      "%F5": "\xF5",
+      "%f6": "\xF6",
+      "%F6": "\xF6",
+      "%f7": "\xF7",
+      "%F7": "\xF7",
+      "%f8": "\xF8",
+      "%F8": "\xF8",
+      "%f9": "\xF9",
+      "%F9": "\xF9",
+      "%fa": "\xFA",
+      "%Fa": "\xFA",
+      "%fA": "\xFA",
+      "%FA": "\xFA",
+      "%fb": "\xFB",
+      "%Fb": "\xFB",
+      "%fB": "\xFB",
+      "%FB": "\xFB",
+      "%fc": "\xFC",
+      "%Fc": "\xFC",
+      "%fC": "\xFC",
+      "%FC": "\xFC",
+      "%fd": "\xFD",
+      "%Fd": "\xFD",
+      "%fD": "\xFD",
+      "%FD": "\xFD",
+      "%fe": "\xFE",
+      "%Fe": "\xFE",
+      "%fE": "\xFE",
+      "%FE": "\xFE",
+      "%ff": "\xFF",
+      "%Ff": "\xFF",
+      "%fF": "\xFF",
+      "%FF": "\xFF"
+    };
+    function encodedReplacer(match) {
+      return EncodedLookup[match];
     }
-    Readable.prototype.read = function(n) {
-      debug4("read", n);
-      if (n === void 0) {
-        n = NaN;
-      } else if (!NumberIsInteger(n)) {
-        n = NumberParseInt(n, 10);
-      }
-      const state = this._readableState;
-      const nOrig = n;
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n !== 0) state.state &= ~kEmittedReadable;
-      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
-        debug4("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
-      }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
-      }
-      let doRead = (state.state & kNeedReadable) !== 0;
-      debug4("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug4("length less than watermark", doRead);
-      }
-      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
-        doRead = false;
-        debug4("reading, ended or constructing", doRead);
-      } else if (doRead) {
-        debug4("do read");
-        state.state |= kReading | kSync;
-        if (state.length === 0) state.state |= kNeedReadable;
-        try {
-          this._read(state.highWaterMark);
-        } catch (err) {
-          errorOrDestroy(this, err);
-        }
-        state.state &= ~kSync;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
-      }
-      let ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = state.length <= state.highWaterMark;
-        n = 0;
-      } else {
-        state.length -= n;
-        if (state.multiAwaitDrain) {
-          state.awaitDrainWriters.clear();
+    var STATE_KEY = 0;
+    var STATE_VALUE = 1;
+    var STATE_CHARSET = 2;
+    var STATE_LANG = 3;
+    function parseParams(str2) {
+      const res = [];
+      let state = STATE_KEY;
+      let charset = "";
+      let inquote = false;
+      let escaping = false;
+      let p = 0;
+      let tmp = "";
+      const len = str2.length;
+      for (var i = 0; i < len; ++i) {
+        const char = str2[i];
+        if (char === "\\" && inquote) {
+          if (escaping) {
+            escaping = false;
+          } else {
+            escaping = true;
+            continue;
+          }
+        } else if (char === '"') {
+          if (!escaping) {
+            if (inquote) {
+              inquote = false;
+              state = STATE_KEY;
+            } else {
+              inquote = true;
+            }
+            continue;
+          } else {
+            escaping = false;
+          }
         } else {
-          state.awaitDrainWriters = null;
+          if (escaping && inquote) {
+            tmp += "\\";
+          }
+          escaping = false;
+          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
+            if (state === STATE_CHARSET) {
+              state = STATE_LANG;
+              charset = tmp.substring(1);
+            } else {
+              state = STATE_VALUE;
+            }
+            tmp = "";
+            continue;
+          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
+            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
+            res[p] = [tmp, void 0];
+            tmp = "";
+            continue;
+          } else if (!inquote && char === ";") {
+            state = STATE_KEY;
+            if (charset) {
+              if (tmp.length) {
+                tmp = decodeText(
+                  tmp.replace(RE_ENCODED, encodedReplacer),
+                  "binary",
+                  charset
+                );
+              }
+              charset = "";
+            } else if (tmp.length) {
+              tmp = decodeText(tmp, "binary", "utf8");
+            }
+            if (res[p] === void 0) {
+              res[p] = tmp;
+            } else {
+              res[p][1] = tmp;
+            }
+            tmp = "";
+            ++p;
+            continue;
+          } else if (!inquote && (char === " " || char === "	")) {
+            continue;
+          }
         }
+        tmp += char;
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
-      }
-      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
-        state.dataEmitted = true;
-        this.emit("data", ret);
+      if (charset && tmp.length) {
+        tmp = decodeText(
+          tmp.replace(RE_ENCODED, encodedReplacer),
+          "binary",
+          charset
+        );
+      } else if (tmp) {
+        tmp = decodeText(tmp, "binary", "utf8");
       }
-      return ret;
-    };
-    function onEofChunk(stream, state) {
-      debug4("onEofChunk");
-      if (state.ended) return;
-      if (state.decoder) {
-        const chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
+      if (res[p] === void 0) {
+        if (tmp) {
+          res[p] = tmp;
         }
-      }
-      state.ended = true;
-      if (state.sync) {
-        emitReadable(stream);
       } else {
-        state.needReadable = false;
-        state.emittedReadable = true;
-        emitReadable_(stream);
-      }
-    }
-    function emitReadable(stream) {
-      const state = stream._readableState;
-      debug4("emitReadable", state.needReadable, state.emittedReadable);
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug4("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        process2.nextTick(emitReadable_, stream);
-      }
-    }
-    function emitReadable_(stream) {
-      const state = stream._readableState;
-      debug4("emitReadable_", state.destroyed, state.length, state.ended);
-      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
-        stream.emit("readable");
-        state.emittedReadable = false;
-      }
-      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
-      flow(stream);
-    }
-    function maybeReadMore(stream, state) {
-      if (!state.readingMore && state.constructed) {
-        state.readingMore = true;
-        process2.nextTick(maybeReadMore_, stream, state);
-      }
-    }
-    function maybeReadMore_(stream, state) {
-      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
-        const len = state.length;
-        debug4("maybeReadMore read 0");
-        stream.read(0);
-        if (len === state.length)
-          break;
+        res[p][1] = tmp;
       }
-      state.readingMore = false;
+      return res;
     }
-    Readable.prototype._read = function(n) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
-    };
-    Readable.prototype.pipe = function(dest, pipeOpts) {
-      const src = this;
-      const state = this._readableState;
-      if (state.pipes.length === 1) {
-        if (!state.multiAwaitDrain) {
-          state.multiAwaitDrain = true;
-          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
-        }
-      }
-      state.pipes.push(dest);
-      debug4("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
-      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
-      const endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) process2.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug4("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
-        }
-      }
-      function onend() {
-        debug4("onend");
-        dest.end();
-      }
-      let ondrain;
-      let cleanedUp = false;
-      function cleanup() {
-        debug4("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        if (ondrain) {
-          dest.removeListener("drain", ondrain);
-        }
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
-      }
-      function pause() {
-        if (!cleanedUp) {
-          if (state.pipes.length === 1 && state.pipes[0] === dest) {
-            debug4("false write response, pause", 0);
-            state.awaitDrainWriters = dest;
-            state.multiAwaitDrain = false;
-          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
-            debug4("false write response, pause", state.awaitDrainWriters.size);
-            state.awaitDrainWriters.add(dest);
-          }
-          src.pause();
-        }
-        if (!ondrain) {
-          ondrain = pipeOnDrain(src, dest);
-          dest.on("drain", ondrain);
-        }
-      }
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug4("ondata");
-        const ret = dest.write(chunk);
-        debug4("dest.write", ret);
-        if (ret === false) {
-          pause();
-        }
+    module2.exports = parseParams;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/basename.js
+var require_basename = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function basename2(path7) {
+      if (typeof path7 !== "string") {
+        return "";
       }
-      function onerror(er) {
-        debug4("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (dest.listenerCount("error") === 0) {
-          const s = dest._writableState || dest._readableState;
-          if (s && !s.errorEmitted) {
-            errorOrDestroy(dest, er);
-          } else {
-            dest.emit("error", er);
-          }
+      for (var i = path7.length - 1; i >= 0; --i) {
+        switch (path7.charCodeAt(i)) {
+          case 47:
+          // '/'
+          case 92:
+            path7 = path7.slice(i + 1);
+            return path7 === ".." || path7 === "." ? "" : path7;
         }
       }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
-      }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug4("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
-      }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug4("unpipe");
-        src.unpipe(dest);
-      }
-      dest.emit("pipe", src);
-      if (dest.writableNeedDrain === true) {
-        pause();
-      } else if (!state.flowing) {
-        debug4("pipe resume");
-        src.resume();
-      }
-      return dest;
+      return path7 === ".." || path7 === "." ? "" : path7;
     };
-    function pipeOnDrain(src, dest) {
-      return function pipeOnDrainFunctionResult() {
-        const state = src._readableState;
-        if (state.awaitDrainWriters === dest) {
-          debug4("pipeOnDrain", 1);
-          state.awaitDrainWriters = null;
-        } else if (state.multiAwaitDrain) {
-          debug4("pipeOnDrain", state.awaitDrainWriters.size);
-          state.awaitDrainWriters.delete(dest);
-        }
-        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
-          src.resume();
+  }
+});
+
+// node_modules/@fastify/busboy/lib/types/multipart.js
+var require_multipart2 = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+    "use strict";
+    var { Readable } = require("node:stream");
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var parseParams = require_parseParams();
+    var decodeText = require_decodeText();
+    var basename2 = require_basename();
+    var getLimit = require_getLimit();
+    var RE_BOUNDARY = /^boundary$/i;
+    var RE_FIELD = /^form-data$/i;
+    var RE_CHARSET = /^charset$/i;
+    var RE_FILENAME = /^filename$/i;
+    var RE_NAME = /^name$/i;
+    Multipart.detect = /^multipart\/form-data/i;
+    function Multipart(boy, cfg) {
+      let i;
+      let len;
+      const self2 = this;
+      let boundary;
+      const limits = cfg.limits;
+      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
+      const parsedConType = cfg.parsedConType || [];
+      const defCharset = cfg.defCharset || "utf8";
+      const preservePath = cfg.preservePath;
+      const fileOpts = { highWaterMark: cfg.fileHwm };
+      for (i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
+          boundary = parsedConType[i][1];
+          break;
         }
-      };
-    }
-    Readable.prototype.unpipe = function(dest) {
-      const state = this._readableState;
-      const unpipeInfo = {
-        hasUnpiped: false
-      };
-      if (state.pipes.length === 0) return this;
-      if (!dest) {
-        const dests = state.pipes;
-        state.pipes = [];
-        this.pause();
-        for (let i = 0; i < dests.length; i++)
-          dests[i].emit("unpipe", this, {
-            hasUnpiped: false
-          });
-        return this;
       }
-      const index = ArrayPrototypeIndexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      if (state.pipes.length === 0) this.pause();
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
-    };
-    Readable.prototype.on = function(ev, fn) {
-      const res = Stream.prototype.on.call(this, ev, fn);
-      const state = this._readableState;
-      if (ev === "data") {
-        state.readableListening = this.listenerCount("readable") > 0;
-        if (state.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.flowing = false;
-          state.emittedReadable = false;
-          debug4("on readable", state.length, state.reading);
-          if (state.length) {
-            emitReadable(this);
-          } else if (!state.reading) {
-            process2.nextTick(nReadingNextTick, this);
-          }
+      function checkFinished() {
+        if (nends === 0 && finished && !boy._done) {
+          finished = false;
+          self2.end();
         }
       }
-      return res;
-    };
-    Readable.prototype.addListener = Readable.prototype.on;
-    Readable.prototype.removeListener = function(ev, fn) {
-      const res = Stream.prototype.removeListener.call(this, ev, fn);
-      if (ev === "readable") {
-        process2.nextTick(updateReadableListening, this);
-      }
-      return res;
-    };
-    Readable.prototype.off = Readable.prototype.removeListener;
-    Readable.prototype.removeAllListeners = function(ev) {
-      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
-      if (ev === "readable" || ev === void 0) {
-        process2.nextTick(updateReadableListening, this);
-      }
-      return res;
-    };
-    function updateReadableListening(self2) {
-      const state = self2._readableState;
-      state.readableListening = self2.listenerCount("readable") > 0;
-      if (state.resumeScheduled && state[kPaused] === false) {
-        state.flowing = true;
-      } else if (self2.listenerCount("data") > 0) {
-        self2.resume();
-      } else if (!state.readableListening) {
-        state.flowing = null;
-      }
-    }
-    function nReadingNextTick(self2) {
-      debug4("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable.prototype.resume = function() {
-      const state = this._readableState;
-      if (!state.flowing) {
-        debug4("resume");
-        state.flowing = !state.readableListening;
-        resume(this, state);
-      }
-      state[kPaused] = false;
-      return this;
-    };
-    function resume(stream, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        process2.nextTick(resume_, stream, state);
-      }
-    }
-    function resume_(stream, state) {
-      debug4("resume", state.reading);
-      if (!state.reading) {
-        stream.read(0);
-      }
-      state.resumeScheduled = false;
-      stream.emit("resume");
-      flow(stream);
-      if (state.flowing && !state.reading) stream.read(0);
-    }
-    Readable.prototype.pause = function() {
-      debug4("call pause flowing=%j", this._readableState.flowing);
-      if (this._readableState.flowing !== false) {
-        debug4("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+      if (typeof boundary !== "string") {
+        throw new Error("Multipart: Boundary not found");
       }
-      this._readableState[kPaused] = true;
-      return this;
-    };
-    function flow(stream) {
-      const state = stream._readableState;
-      debug4("flow", state.flowing);
-      while (state.flowing && stream.read() !== null) ;
-    }
-    Readable.prototype.wrap = function(stream) {
-      let paused = false;
-      stream.on("data", (chunk) => {
-        if (!this.push(chunk) && stream.pause) {
-          paused = true;
-          stream.pause();
-        }
-      });
-      stream.on("end", () => {
-        this.push(null);
-      });
-      stream.on("error", (err) => {
-        errorOrDestroy(this, err);
-      });
-      stream.on("close", () => {
-        this.destroy();
-      });
-      stream.on("destroy", () => {
-        this.destroy();
-      });
-      this._read = () => {
-        if (paused && stream.resume) {
-          paused = false;
-          stream.resume();
-        }
+      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
+      const filesLimit = getLimit(limits, "files", Infinity);
+      const fieldsLimit = getLimit(limits, "fields", Infinity);
+      const partsLimit = getLimit(limits, "parts", Infinity);
+      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
+      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
+      let nfiles = 0;
+      let nfields = 0;
+      let nends = 0;
+      let curFile;
+      let curField;
+      let finished = false;
+      this._needDrain = false;
+      this._pause = false;
+      this._cb = void 0;
+      this._nparts = 0;
+      this._boy = boy;
+      const parserCfg = {
+        boundary,
+        maxHeaderPairs: headerPairsLimit,
+        maxHeaderSize: headerSizeLimit,
+        partHwm: fileOpts.highWaterMark,
+        highWaterMark: cfg.highWaterMark
       };
-      const streamKeys = ObjectKeys(stream);
-      for (let j = 1; j < streamKeys.length; j++) {
-        const i = streamKeys[j];
-        if (this[i] === void 0 && typeof stream[i] === "function") {
-          this[i] = stream[i].bind(stream);
+      this.parser = new Dicer(parserCfg);
+      this.parser.on("drain", function() {
+        self2._needDrain = false;
+        if (self2._cb && !self2._pause) {
+          const cb = self2._cb;
+          self2._cb = void 0;
+          cb();
         }
-      }
-      return this;
-    };
-    Readable.prototype[SymbolAsyncIterator] = function() {
-      return streamToAsyncIterator(this);
-    };
-    Readable.prototype.iterator = function(options) {
-      if (options !== void 0) {
-        validateObject(options, "options");
-      }
-      return streamToAsyncIterator(this, options);
-    };
-    function streamToAsyncIterator(stream, options) {
-      if (typeof stream.read !== "function") {
-        stream = Readable.wrap(stream, {
-          objectMode: true
-        });
-      }
-      const iter = createAsyncIterator(stream, options);
-      iter.stream = stream;
-      return iter;
-    }
-    async function* createAsyncIterator(stream, options) {
-      let callback = nop;
-      function next(resolve5) {
-        if (this === stream) {
-          callback();
-          callback = nop;
-        } else {
-          callback = resolve5;
+      }).on("part", function onPart(part) {
+        if (++self2._nparts > partsLimit) {
+          self2.parser.removeListener("part", onPart);
+          self2.parser.on("part", skipPart);
+          boy.hitPartsLimit = true;
+          boy.emit("partsLimit");
+          return skipPart(part);
         }
-      }
-      stream.on("readable", next);
-      let error3;
-      const cleanup = eos(
-        stream,
-        {
-          writable: false
-        },
-        (err) => {
-          error3 = err ? aggregateTwoErrors(error3, err) : null;
-          callback();
-          callback = nop;
+        if (curField) {
+          const field = curField;
+          field.emit("end");
+          field.removeAllListeners("end");
         }
-      );
-      try {
-        while (true) {
-          const chunk = stream.destroyed ? null : stream.read();
-          if (chunk !== null) {
-            yield chunk;
-          } else if (error3) {
-            throw error3;
-          } else if (error3 === null) {
-            return;
+        part.on("header", function(header) {
+          let contype;
+          let fieldname;
+          let parsed;
+          let charset;
+          let encoding;
+          let filename;
+          let nsize = 0;
+          if (header["content-type"]) {
+            parsed = parseParams(header["content-type"][0]);
+            if (parsed[0]) {
+              contype = parsed[0].toLowerCase();
+              for (i = 0, len = parsed.length; i < len; ++i) {
+                if (RE_CHARSET.test(parsed[i][0])) {
+                  charset = parsed[i][1].toLowerCase();
+                  break;
+                }
+              }
+            }
+          }
+          if (contype === void 0) {
+            contype = "text/plain";
+          }
+          if (charset === void 0) {
+            charset = defCharset;
+          }
+          if (header["content-disposition"]) {
+            parsed = parseParams(header["content-disposition"][0]);
+            if (!RE_FIELD.test(parsed[0])) {
+              return skipPart(part);
+            }
+            for (i = 0, len = parsed.length; i < len; ++i) {
+              if (RE_NAME.test(parsed[i][0])) {
+                fieldname = parsed[i][1];
+              } else if (RE_FILENAME.test(parsed[i][0])) {
+                filename = parsed[i][1];
+                if (!preservePath) {
+                  filename = basename2(filename);
+                }
+              }
+            }
           } else {
-            await new Promise2(next);
+            return skipPart(part);
           }
-        }
-      } catch (err) {
-        error3 = aggregateTwoErrors(error3, err);
-        throw error3;
-      } finally {
-        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream._readableState.autoDestroy)) {
-          destroyImpl.destroyer(stream, null);
-        } else {
-          stream.off("readable", next);
-          cleanup();
-        }
-      }
-    }
-    ObjectDefineProperties(Readable.prototype, {
-      readable: {
-        __proto__: null,
-        get() {
-          const r = this._readableState;
-          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
-        },
-        set(val) {
-          if (this._readableState) {
-            this._readableState.readable = !!val;
+          if (header["content-transfer-encoding"]) {
+            encoding = header["content-transfer-encoding"][0].toLowerCase();
+          } else {
+            encoding = "7bit";
           }
-        }
-      },
-      readableDidRead: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.dataEmitted;
-        }
-      },
-      readableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
-        }
-      },
-      readableHighWaterMark: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.highWaterMark;
-        }
-      },
-      readableBuffer: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState && this._readableState.buffer;
-        }
-      },
-      readableFlowing: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.flowing;
-        },
-        set: function(state) {
-          if (this._readableState) {
-            this._readableState.flowing = state;
+          let onData, onEnd;
+          if (isPartAFile(fieldname, contype, filename)) {
+            if (nfiles === filesLimit) {
+              if (!boy.hitFilesLimit) {
+                boy.hitFilesLimit = true;
+                boy.emit("filesLimit");
+              }
+              return skipPart(part);
+            }
+            ++nfiles;
+            if (boy.listenerCount("file") === 0) {
+              self2.parser._ignore();
+              return;
+            }
+            ++nends;
+            const file = new FileStream(fileOpts);
+            curFile = file;
+            file.on("end", function() {
+              --nends;
+              self2._pause = false;
+              checkFinished();
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            });
+            file._read = function(n) {
+              if (!self2._pause) {
+                return;
+              }
+              self2._pause = false;
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            };
+            boy.emit("file", fieldname, file, filename, encoding, contype);
+            onData = function(data) {
+              if ((nsize += data.length) > fileSizeLimit) {
+                const extralen = fileSizeLimit - nsize + data.length;
+                if (extralen > 0) {
+                  file.push(data.slice(0, extralen));
+                }
+                file.truncated = true;
+                file.bytesRead = fileSizeLimit;
+                part.removeAllListeners("data");
+                file.emit("limit");
+                return;
+              } else if (!file.push(data)) {
+                self2._pause = true;
+              }
+              file.bytesRead = nsize;
+            };
+            onEnd = function() {
+              curFile = void 0;
+              file.push(null);
+            };
+          } else {
+            if (nfields === fieldsLimit) {
+              if (!boy.hitFieldsLimit) {
+                boy.hitFieldsLimit = true;
+                boy.emit("fieldsLimit");
+              }
+              return skipPart(part);
+            }
+            ++nfields;
+            ++nends;
+            let buffer = "";
+            let truncated = false;
+            curField = part;
+            onData = function(data) {
+              if ((nsize += data.length) > fieldSizeLimit) {
+                const extralen = fieldSizeLimit - (nsize - data.length);
+                buffer += data.toString("binary", 0, extralen);
+                truncated = true;
+                part.removeAllListeners("data");
+              } else {
+                buffer += data.toString("binary");
+              }
+            };
+            onEnd = function() {
+              curField = void 0;
+              if (buffer.length) {
+                buffer = decodeText(buffer, "binary", charset);
+              }
+              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
+              --nends;
+              checkFinished();
+            };
           }
-        }
-      },
-      readableLength: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState.length;
-        }
-      },
-      readableObjectMode: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.objectMode : false;
-        }
-      },
-      readableEncoding: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.encoding : null;
-        }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.errored : null;
-        }
-      },
-      closed: {
-        __proto__: null,
-        get() {
-          return this._readableState ? this._readableState.closed : false;
-        }
-      },
-      destroyed: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.destroyed : false;
-        },
-        set(value) {
-          if (!this._readableState) {
-            return;
+          part._readableState.sync = false;
+          part.on("data", onData);
+          part.on("end", onEnd);
+        }).on("error", function(err) {
+          if (curFile) {
+            curFile.emit("error", err);
           }
-          this._readableState.destroyed = value;
-        }
-      },
-      readableEnded: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.endEmitted : false;
-        }
-      }
-    });
-    ObjectDefineProperties(ReadableState.prototype, {
-      // Legacy getter for `pipesCount`.
-      pipesCount: {
-        __proto__: null,
-        get() {
-          return this.pipes.length;
-        }
-      },
-      // Legacy property for `paused`.
-      paused: {
-        __proto__: null,
-        get() {
-          return this[kPaused] !== false;
-        },
-        set(value) {
-          this[kPaused] = !!value;
-        }
-      }
-    });
-    Readable._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      let ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.first();
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
+        });
+      }).on("error", function(err) {
+        boy.emit("error", err);
+      }).on("finish", function() {
+        finished = true;
+        checkFinished();
+      });
+    }
+    Multipart.prototype.write = function(chunk, cb) {
+      const r = this.parser.write(chunk);
+      if (r && !this._pause) {
+        cb();
       } else {
-        ret = state.buffer.consume(n, state.decoder);
+        this._needDrain = !r;
+        this._cb = cb;
       }
-      return ret;
-    }
-    function endReadable(stream) {
-      const state = stream._readableState;
-      debug4("endReadable", state.endEmitted);
-      if (!state.endEmitted) {
-        state.ended = true;
-        process2.nextTick(endReadableNT, state, stream);
+    };
+    Multipart.prototype.end = function() {
+      const self2 = this;
+      if (self2.parser.writable) {
+        self2.parser.end();
+      } else if (!self2._boy._done) {
+        process.nextTick(function() {
+          self2._boy._done = true;
+          self2._boy.emit("finish");
+        });
       }
+    };
+    function skipPart(part) {
+      part.resume();
+    }
+    function FileStream(opts) {
+      Readable.call(this, opts);
+      this.bytesRead = 0;
+      this.truncated = false;
+    }
+    inherits(FileStream, Readable);
+    FileStream.prototype._read = function(n) {
+    };
+    module2.exports = Multipart;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/Decoder.js
+var require_Decoder = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+    "use strict";
+    var RE_PLUS = /\+/g;
+    var HEX = [
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ];
+    function Decoder() {
+      this.buffer = void 0;
     }
-    function endReadableNT(state, stream) {
-      debug4("endReadableNT", state.endEmitted, state.length);
-      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream.emit("end");
-        if (stream.writable && stream.allowHalfOpen === false) {
-          process2.nextTick(endWritableNT, stream);
-        } else if (state.autoDestroy) {
-          const wState = stream._writableState;
-          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
-          // if writable is explicitly set to false.
-          (wState.finished || wState.writable === false);
-          if (autoDestroy) {
-            stream.destroy();
+    Decoder.prototype.write = function(str2) {
+      str2 = str2.replace(RE_PLUS, " ");
+      let res = "";
+      let i = 0;
+      let p = 0;
+      const len = str2.length;
+      for (; i < len; ++i) {
+        if (this.buffer !== void 0) {
+          if (!HEX[str2.charCodeAt(i)]) {
+            res += "%" + this.buffer;
+            this.buffer = void 0;
+            --i;
+          } else {
+            this.buffer += str2[i];
+            ++p;
+            if (this.buffer.length === 2) {
+              res += String.fromCharCode(parseInt(this.buffer, 16));
+              this.buffer = void 0;
+            }
+          }
+        } else if (str2[i] === "%") {
+          if (i > p) {
+            res += str2.substring(p, i);
+            p = i;
           }
+          this.buffer = "";
+          ++p;
         }
       }
-    }
-    function endWritableNT(stream) {
-      const writable = stream.writable && !stream.writableEnded && !stream.destroyed;
-      if (writable) {
-        stream.end();
+      if (p < len && this.buffer === void 0) {
+        res += str2.substring(p);
       }
-    }
-    Readable.from = function(iterable, opts) {
-      return from(Readable, iterable, opts);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Readable.fromWeb = function(readableStream, options) {
-      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
-    };
-    Readable.toWeb = function(streamReadable, options) {
-      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
+      return res;
     };
-    Readable.wrap = function(src, options) {
-      var _ref, _src$readableObjectMo;
-      return new Readable({
-        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
-        ...options,
-        destroy(err, callback) {
-          destroyImpl.destroyer(src, err);
-          callback(err);
-        }
-      }).wrap(src);
+    Decoder.prototype.reset = function() {
+      this.buffer = void 0;
     };
+    module2.exports = Decoder;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/writable.js
-var require_writable = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeSlice,
-      Error: Error2,
-      FunctionPrototypeSymbolHasInstance,
-      ObjectDefineProperty,
-      ObjectDefineProperties,
-      ObjectSetPrototypeOf,
-      StringPrototypeToLowerCase,
-      Symbol: Symbol2,
-      SymbolHasInstance
-    } = require_primordials();
-    module2.exports = Writable;
-    Writable.WritableState = WritableState;
-    var { EventEmitter: EE } = require("events");
-    var Stream = require_legacy().Stream;
-    var { Buffer: Buffer2 } = require("buffer");
-    var destroyImpl = require_destroy2();
-    var { addAbortSignal } = require_add_abort_signal();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-      ERR_METHOD_NOT_IMPLEMENTED,
-      ERR_MULTIPLE_CALLBACK,
-      ERR_STREAM_CANNOT_PIPE,
-      ERR_STREAM_DESTROYED,
-      ERR_STREAM_ALREADY_FINISHED,
-      ERR_STREAM_NULL_VALUES,
-      ERR_STREAM_WRITE_AFTER_END,
-      ERR_UNKNOWN_ENCODING
-    } = require_errors5().codes;
-    var { errorOrDestroy } = destroyImpl;
-    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Writable, Stream);
-    function nop() {
-    }
-    var kOnFinished = Symbol2("kOnFinished");
-    function WritableState(options, stream, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
-      this.objectMode = !!(options && options.objectMode);
-      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
-      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      const noDecode = !!(options && options.decodeStrings === false);
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = onwrite.bind(void 0, stream);
-      this.writecb = null;
-      this.writelen = 0;
-      this.afterWriteTickInfo = null;
-      resetBuffer(this);
-      this.pendingcb = 0;
-      this.constructed = true;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.emitClose = !options || options.emitClose !== false;
-      this.autoDestroy = !options || options.autoDestroy !== false;
-      this.errored = null;
-      this.closed = false;
-      this.closeEmitted = false;
-      this[kOnFinished] = [];
-    }
-    function resetBuffer(state) {
-      state.buffered = [];
-      state.bufferedIndex = 0;
-      state.allBuffers = true;
-      state.allNoop = true;
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
-    };
-    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
-      __proto__: null,
-      get() {
-        return this.buffered.length - this.bufferedIndex;
+// node_modules/@fastify/busboy/lib/types/urlencoded.js
+var require_urlencoded = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
+    "use strict";
+    var Decoder = require_Decoder();
+    var decodeText = require_decodeText();
+    var getLimit = require_getLimit();
+    var RE_CHARSET = /^charset$/i;
+    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
+    function UrlEncoded(boy, cfg) {
+      const limits = cfg.limits;
+      const parsedConType = cfg.parsedConType;
+      this.boy = boy;
+      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
+      this.fieldsLimit = getLimit(limits, "fields", Infinity);
+      let charset;
+      for (var i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
+          charset = parsedConType[i][1].toLowerCase();
+          break;
+        }
       }
-    });
-    function Writable(options) {
-      const isDuplex = this instanceof require_duplex();
-      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
-      this._writableState = new WritableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal) addAbortSignal(options.signal, this);
+      if (charset === void 0) {
+        charset = cfg.defCharset || "utf8";
       }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        const state = this._writableState;
-        if (!state.writing) {
-          clearBuffer(this, state);
-        }
-        finishMaybe(this, state);
-      });
+      this.decoder = new Decoder();
+      this.charset = charset;
+      this._fields = 0;
+      this._state = "key";
+      this._checkingBytes = true;
+      this._bytesKey = 0;
+      this._bytesVal = 0;
+      this._key = "";
+      this._val = "";
+      this._keyTrunc = false;
+      this._valTrunc = false;
+      this._hitLimit = false;
     }
-    ObjectDefineProperty(Writable, SymbolHasInstance, {
-      __proto__: null,
-      value: function(object) {
-        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
-        if (this !== Writable) return false;
-        return object && object._writableState instanceof WritableState;
-      }
-    });
-    Writable.prototype.pipe = function() {
-      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
-    };
-    function _write(stream, chunk, encoding, cb) {
-      const state = stream._writableState;
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = state.defaultEncoding;
-      } else {
-        if (!encoding) encoding = state.defaultEncoding;
-        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-        if (typeof cb !== "function") cb = nop;
+    UrlEncoded.prototype.write = function(data, cb) {
+      if (this._fields === this.fieldsLimit) {
+        if (!this.boy.hitFieldsLimit) {
+          this.boy.hitFieldsLimit = true;
+          this.boy.emit("fieldsLimit");
+        }
+        return cb();
       }
-      if (chunk === null) {
-        throw new ERR_STREAM_NULL_VALUES();
-      } else if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          if (state.decodeStrings !== false) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "buffer";
+      let idxeq;
+      let idxamp;
+      let i;
+      let p = 0;
+      const len = data.length;
+      while (p < len) {
+        if (this._state === "key") {
+          idxeq = idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
+            }
+            if (data[i] === 61) {
+              idxeq = i;
+              break;
+            } else if (data[i] === 38) {
+              idxamp = i;
+              break;
+            }
+            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesKey;
+            }
+          }
+          if (idxeq !== void 0) {
+            if (idxeq > p) {
+              this._key += this.decoder.write(data.toString("binary", p, idxeq));
+            }
+            this._state = "val";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._val = "";
+            this._bytesVal = 0;
+            this._valTrunc = false;
+            this.decoder.reset();
+            p = idxeq + 1;
+          } else if (idxamp !== void 0) {
+            ++this._fields;
+            let key;
+            const keyTrunc = this._keyTrunc;
+            if (idxamp > p) {
+              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
+            } else {
+              key = this._key;
+            }
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            if (key.length) {
+              this.boy.emit(
+                "field",
+                decodeText(key, "binary", this.charset),
+                "",
+                keyTrunc,
+                false
+              );
+            }
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._key += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
+              this._checkingBytes = false;
+              this._keyTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._key += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
           }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "buffer";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "buffer";
         } else {
-          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+          idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
+            }
+            if (data[i] === 38) {
+              idxamp = i;
+              break;
+            }
+            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesVal;
+            }
+          }
+          if (idxamp !== void 0) {
+            ++this._fields;
+            if (idxamp > p) {
+              this._val += this.decoder.write(data.toString("binary", p, idxamp));
+            }
+            this.boy.emit(
+              "field",
+              decodeText(this._key, "binary", this.charset),
+              decodeText(this._val, "binary", this.charset),
+              this._keyTrunc,
+              this._valTrunc
+            );
+            this._state = "key";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._val += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
+              this._checkingBytes = false;
+              this._valTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._val += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
+          }
         }
       }
-      let err;
-      if (state.ending) {
-        err = new ERR_STREAM_WRITE_AFTER_END();
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("write");
+      cb();
+    };
+    UrlEncoded.prototype.end = function() {
+      if (this.boy._done) {
+        return;
       }
-      if (err) {
-        process2.nextTick(cb, err);
-        errorOrDestroy(stream, err, true);
-        return err;
+      if (this._state === "key" && this._key.length > 0) {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          "",
+          this._keyTrunc,
+          false
+        );
+      } else if (this._state === "val") {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          decodeText(this._val, "binary", this.charset),
+          this._keyTrunc,
+          this._valTrunc
+        );
       }
-      state.pendingcb++;
-      return writeOrBuffer(stream, state, chunk, encoding, cb);
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      return _write(this, chunk, encoding, cb) === true;
-    };
-    Writable.prototype.cork = function() {
-      this._writableState.corked++;
+      this.boy._done = true;
+      this.boy.emit("finish");
     };
-    Writable.prototype.uncork = function() {
-      const state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing) clearBuffer(this, state);
+    module2.exports = UrlEncoded;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/main.js
+var require_main = __commonJS({
+  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+    "use strict";
+    var WritableStream = require("node:stream").Writable;
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var MultipartParser = require_multipart2();
+    var UrlencodedParser = require_urlencoded();
+    var parseParams = require_parseParams();
+    function Busboy(opts) {
+      if (!(this instanceof Busboy)) {
+        return new Busboy(opts);
       }
-    };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
-      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function writeOrBuffer(stream, state, chunk, encoding, callback) {
-      const len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      const ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked || state.errored || !state.constructed) {
-        state.buffered.push({
-          chunk,
-          encoding,
-          callback
-        });
-        if (state.allBuffers && encoding !== "buffer") {
-          state.allBuffers = false;
-        }
-        if (state.allNoop && callback !== nop) {
-          state.allNoop = false;
-        }
-      } else {
-        state.writelen = len;
-        state.writecb = callback;
-        state.writing = true;
-        state.sync = true;
-        stream._write(chunk, encoding, state.onwrite);
-        state.sync = false;
+      if (typeof opts !== "object") {
+        throw new TypeError("Busboy expected an options-Object.");
       }
-      return ret && !state.errored && !state.destroyed;
-    }
-    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
-      else if (writev) stream._writev(chunk, state.onwrite);
-      else stream._write(chunk, encoding, state.onwrite);
-      state.sync = false;
-    }
-    function onwriteError(stream, state, er, cb) {
-      --state.pendingcb;
-      cb(er);
-      errorBuffer(state);
-      errorOrDestroy(stream, er);
-    }
-    function onwrite(stream, er) {
-      const state = stream._writableState;
-      const sync = state.sync;
-      const cb = state.writecb;
-      if (typeof cb !== "function") {
-        errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK());
-        return;
+      if (typeof opts.headers !== "object") {
+        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
       }
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
-      if (er) {
-        er.stack;
-        if (!state.errored) {
-          state.errored = er;
-        }
-        if (stream._readableState && !stream._readableState.errored) {
-          stream._readableState.errored = er;
-        }
-        if (sync) {
-          process2.nextTick(onwriteError, stream, state, er, cb);
-        } else {
-          onwriteError(stream, state, er, cb);
-        }
-      } else {
-        if (state.buffered.length > state.bufferedIndex) {
-          clearBuffer(stream, state);
-        }
-        if (sync) {
-          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
-            state.afterWriteTickInfo.count++;
-          } else {
-            state.afterWriteTickInfo = {
-              count: 1,
-              cb,
-              stream,
-              state
-            };
-            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
-          }
-        } else {
-          afterWrite(stream, state, 1, cb);
-        }
+      if (typeof opts.headers["content-type"] !== "string") {
+        throw new TypeError("Missing Content-Type-header.");
       }
+      const {
+        headers,
+        ...streamOptions
+      } = opts;
+      this.opts = {
+        autoDestroy: false,
+        ...streamOptions
+      };
+      WritableStream.call(this, this.opts);
+      this._done = false;
+      this._parser = this.getParserByHeaders(headers);
+      this._finished = false;
     }
-    function afterWriteTick({ stream, state, count, cb }) {
-      state.afterWriteTickInfo = null;
-      return afterWrite(stream, state, count, cb);
-    }
-    function afterWrite(stream, state, count, cb) {
-      const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain;
-      if (needDrain) {
-        state.needDrain = false;
-        stream.emit("drain");
+    inherits(Busboy, WritableStream);
+    Busboy.prototype.emit = function(ev) {
+      if (ev === "finish") {
+        if (!this._done) {
+          this._parser?.end();
+          return;
+        } else if (this._finished) {
+          return;
+        }
+        this._finished = true;
       }
-      while (count-- > 0) {
-        state.pendingcb--;
-        cb();
+      WritableStream.prototype.emit.apply(this, arguments);
+    };
+    Busboy.prototype.getParserByHeaders = function(headers) {
+      const parsed = parseParams(headers["content-type"]);
+      const cfg = {
+        defCharset: this.opts.defCharset,
+        fileHwm: this.opts.fileHwm,
+        headers,
+        highWaterMark: this.opts.highWaterMark,
+        isPartAFile: this.opts.isPartAFile,
+        limits: this.opts.limits,
+        parsedConType: parsed,
+        preservePath: this.opts.preservePath
+      };
+      if (MultipartParser.detect.test(parsed[0])) {
+        return new MultipartParser(this, cfg);
       }
-      if (state.destroyed) {
-        errorBuffer(state);
+      if (UrlencodedParser.detect.test(parsed[0])) {
+        return new UrlencodedParser(this, cfg);
       }
-      finishMaybe(stream, state);
-    }
-    function errorBuffer(state) {
-      if (state.writing) {
-        return;
+      throw new Error("Unsupported Content-Type.");
+    };
+    Busboy.prototype._write = function(chunk, encoding, cb) {
+      this._parser.write(chunk, cb);
+    };
+    module2.exports = Busboy;
+    module2.exports.default = Busboy;
+    module2.exports.Busboy = Busboy;
+    module2.exports.Dicer = Dicer;
+  }
+});
+
+// node_modules/undici/lib/fetch/constants.js
+var require_constants21 = __commonJS({
+  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
+    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = [101, 204, 205, 304];
+    var redirectStatus = [301, 302, 303, 307, 308];
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = [
+      "1",
+      "7",
+      "9",
+      "11",
+      "13",
+      "15",
+      "17",
+      "19",
+      "20",
+      "21",
+      "22",
+      "23",
+      "25",
+      "37",
+      "42",
+      "43",
+      "53",
+      "69",
+      "77",
+      "79",
+      "87",
+      "95",
+      "101",
+      "102",
+      "103",
+      "104",
+      "109",
+      "110",
+      "111",
+      "113",
+      "115",
+      "117",
+      "119",
+      "123",
+      "135",
+      "137",
+      "139",
+      "143",
+      "161",
+      "179",
+      "389",
+      "427",
+      "465",
+      "512",
+      "513",
+      "514",
+      "515",
+      "526",
+      "530",
+      "531",
+      "532",
+      "540",
+      "548",
+      "554",
+      "556",
+      "563",
+      "587",
+      "601",
+      "636",
+      "989",
+      "990",
+      "993",
+      "995",
+      "1719",
+      "1720",
+      "1723",
+      "2049",
+      "3659",
+      "4045",
+      "5060",
+      "5061",
+      "6000",
+      "6566",
+      "6665",
+      "6666",
+      "6667",
+      "6668",
+      "6669",
+      "6697",
+      "10080"
+    ];
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = [
+      "",
+      "no-referrer",
+      "no-referrer-when-downgrade",
+      "same-origin",
+      "origin",
+      "strict-origin",
+      "origin-when-cross-origin",
+      "strict-origin-when-cross-origin",
+      "unsafe-url"
+    ];
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = ["follow", "manual", "error"];
+    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
+    var requestCredentials = ["omit", "same-origin", "include"];
+    var requestCache = [
+      "default",
+      "no-store",
+      "reload",
+      "no-cache",
+      "force-cache",
+      "only-if-cached"
+    ];
+    var requestBodyHeader = [
+      "content-encoding",
+      "content-language",
+      "content-location",
+      "content-type",
+      // See https://github.com/nodejs/undici/issues/2021
+      // 'Content-Length' is a forbidden header name, which is typically
+      // removed in the Headers implementation. However, undici doesn't
+      // filter out headers, so we add it here.
+      "content-length"
+    ];
+    var requestDuplex = [
+      "half"
+    ];
+    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = [
+      "audio",
+      "audioworklet",
+      "font",
+      "image",
+      "manifest",
+      "paintworklet",
+      "script",
+      "style",
+      "track",
+      "video",
+      "xslt",
+      ""
+    ];
+    var subresourceSet = new Set(subresource);
+    var DOMException2 = globalThis.DOMException ?? (() => {
+      try {
+        atob("~");
+      } catch (err) {
+        return Object.getPrototypeOf(err).constructor;
       }
-      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
-        var _state$errored;
-        const { chunk, callback } = state.buffered[n];
-        const len = state.objectMode ? 1 : chunk.length;
-        state.length -= len;
-        callback(
-          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
-        );
+    })();
+    var channel;
+    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
+    // structuredClone was added in v17.0.0, but fetch supports v16.8
+    function structuredClone2(value, options = void 0) {
+      if (arguments.length === 0) {
+        throw new TypeError("missing argument");
       }
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        var _state$errored2;
-        onfinishCallbacks[i](
-          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
-        );
+      if (!channel) {
+        channel = new MessageChannel();
       }
-      resetBuffer(state);
+      channel.port1.unref();
+      channel.port2.unref();
+      channel.port1.postMessage(value, options?.transfer);
+      return receiveMessageOnPort(channel.port2).message;
+    };
+    module2.exports = {
+      DOMException: DOMException2,
+      structuredClone,
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/global.js
+var require_global5 = __commonJS({
+  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    function clearBuffer(stream, state) {
-      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
-        return;
-      }
-      const { buffered, bufferedIndex, objectMode } = state;
-      const bufferedLength = buffered.length - bufferedIndex;
-      if (!bufferedLength) {
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
         return;
       }
-      let i = bufferedIndex;
-      state.bufferProcessing = true;
-      if (bufferedLength > 1 && stream._writev) {
-        state.pendingcb -= bufferedLength - 1;
-        const callback = state.allNoop ? nop : (err) => {
-          for (let n = i; n < buffered.length; ++n) {
-            buffered[n].callback(err);
-          }
-        };
-        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
-        chunks.allBuffers = state.allBuffers;
-        doWrite(stream, state, true, state.length, chunks, "", callback);
-        resetBuffer(state);
-      } else {
-        do {
-          const { chunk, encoding, callback } = buffered[i];
-          buffered[i++] = null;
-          const len = objectMode ? 1 : chunk.length;
-          doWrite(stream, state, false, len, chunk, encoding, callback);
-        } while (i < buffered.length && !state.writing);
-        if (i === buffered.length) {
-          resetBuffer(state);
-        } else if (i > 256) {
-          buffered.splice(0, i);
-          state.bufferedIndex = 0;
-        } else {
-          state.bufferedIndex = i;
-        }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
       }
-      state.bufferProcessing = false;
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
     }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      if (this._writev) {
-        this._writev(
-          [
-            {
-              chunk,
-              encoding
-            }
-          ],
-          cb
-        );
-      } else {
-        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
-      }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
     };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      const state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      let err;
-      if (chunk !== null && chunk !== void 0) {
-        const ret = _write(this, chunk, encoding);
-        if (ret instanceof Error2) {
-          err = ret;
-        }
+  }
+});
+
+// node_modules/undici/lib/fetch/util.js
+var require_util25 = __commonJS({
+  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants21();
+    var { getGlobalOrigin } = require_global5();
+    var { performance: performance2 } = require("perf_hooks");
+    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util24();
+    var assert = require("assert");
+    var { isUint8Array } = require("util/types");
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
       }
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
+      let location = response.headersList.get("location");
+      if (location !== null && isValidHeaderValue(location)) {
+        location = new URL(location, responseURL(response));
       }
-      if (err) {
-      } else if (!state.errored && !state.ending) {
-        state.ending = true;
-        finishMaybe(this, state, true);
-        state.ended = true;
-      } else if (state.finished) {
-        err = new ERR_STREAM_ALREADY_FINISHED("end");
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("end");
+      if (location && !location.hash) {
+        location.hash = requestFragment;
       }
-      if (typeof cb === "function") {
-        if (err || state.finished) {
-          process2.nextTick(cb, err);
-        } else {
-          state[kOnFinished].push(cb);
-        }
+      return location;
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
+        return "blocked";
       }
-      return this;
-    };
-    function needFinish(state) {
-      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
+      return "allowed";
     }
-    function callFinal(stream, state) {
-      let called = false;
-      function onFinish(err) {
-        if (called) {
-          errorOrDestroy(stream, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
-          return;
-        }
-        called = true;
-        state.pendingcb--;
-        if (err) {
-          const onfinishCallbacks = state[kOnFinished].splice(0);
-          for (let i = 0; i < onfinishCallbacks.length; i++) {
-            onfinishCallbacks[i](err);
-          }
-          errorOrDestroy(stream, err, state.sync);
-        } else if (needFinish(state)) {
-          state.prefinished = true;
-          stream.emit("prefinish");
-          state.pendingcb++;
-          process2.nextTick(finish, stream, state);
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
         }
       }
-      state.sync = true;
-      state.pendingcb++;
-      try {
-        stream._final(onFinish);
-      } catch (err) {
-        onFinish(err);
-      }
-      state.sync = false;
+      return true;
     }
-    function prefinish(stream, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream._final === "function" && !state.destroyed) {
-          state.finalCalled = true;
-          callFinal(stream, state);
-        } else {
-          state.prefinished = true;
-          stream.emit("prefinish");
-        }
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
       }
     }
-    function finishMaybe(stream, state, sync) {
-      if (needFinish(state)) {
-        prefinish(stream, state);
-        if (state.pendingcb === 0) {
-          if (sync) {
-            state.pendingcb++;
-            process2.nextTick(
-              (stream2, state2) => {
-                if (needFinish(state2)) {
-                  finish(stream2, state2);
-                } else {
-                  state2.pendingcb--;
-                }
-              },
-              stream,
-              state
-            );
-          } else if (needFinish(state)) {
-            state.pendingcb++;
-            finish(stream, state);
-          }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
         }
       }
+      return true;
     }
-    function finish(stream, state) {
-      state.pendingcb--;
-      state.finished = true;
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        onfinishCallbacks[i]();
+    function isValidHeaderName(potentialValue) {
+      return isValidHTTPToken(potentialValue);
+    }
+    function isValidHeaderValue(potentialValue) {
+      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
+        return false;
       }
-      stream.emit("finish");
-      if (state.autoDestroy) {
-        const rState = stream._readableState;
-        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
-        // if readable is explicitly set to false.
-        (rState.endEmitted || rState.readable === false);
-        if (autoDestroy) {
-          stream.destroy();
-        }
+      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
+        return false;
       }
+      return true;
     }
-    ObjectDefineProperties(Writable.prototype, {
-      closed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.closed : false;
-        }
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.destroyed : false;
-        },
-        set(value) {
-          if (this._writableState) {
-            this._writableState.destroyed = value;
-          }
-        }
-      },
-      writable: {
-        __proto__: null,
-        get() {
-          const w = this._writableState;
-          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
-        },
-        set(val) {
-          if (this._writableState) {
-            this._writableState.writable = !!val;
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
           }
         }
-      },
-      writableFinished: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.finished : false;
-        }
-      },
-      writableObjectMode: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.objectMode : false;
-        }
-      },
-      writableBuffer: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.getBuffer();
-        }
-      },
-      writableEnded: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.ending : false;
-        }
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        get() {
-          const wState = this._writableState;
-          if (!wState) return false;
-          return !wState.destroyed && !wState.ending && wState.needDrain;
-        }
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.highWaterMark;
-        }
-      },
-      writableCorked: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.corked : 0;
-        }
-      },
-      writableLength: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.length;
+      }
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
+      }
+    }
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
         }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._writableState ? this._writableState.errored : null;
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
         }
-      },
-      writableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
         }
       }
-    });
-    var destroy = destroyImpl.destroy;
-    Writable.prototype.destroy = function(err, cb) {
-      const state = this._writableState;
-      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
-        process2.nextTick(errorBuffer, state);
-      }
-      destroy.call(this, err, cb);
-      return this;
-    };
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
     }
-    Writable.fromWeb = function(writableStream, options) {
-      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
-    };
-    Writable.toWeb = function(streamWritable) {
-      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/duplexify.js
-var require_duplexify = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
-    var process2 = require_process();
-    var bufferModule = require("buffer");
-    var {
-      isReadable,
-      isWritable,
-      isIterable,
-      isNodeStream,
-      isReadableNodeStream,
-      isWritableNodeStream,
-      isDuplexNodeStream,
-      isReadableStream,
-      isWritableStream
-    } = require_utils8();
-    var eos = require_end_of_stream();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
-    } = require_errors5();
-    var { destroyer } = require_destroy2();
-    var Duplex = require_duplex();
-    var Readable = require_readable4();
-    var Writable = require_writable();
-    var { createDeferredPromise } = require_util20();
-    var from = require_from();
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
-    };
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var { FunctionPrototypeCall } = require_primordials();
-    var Duplexify = class extends Duplex {
-      constructor(options) {
-        super(options);
-        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
-        }
-        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return performance2.now();
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
+      };
+    }
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
+      };
+    }
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
+      };
+    }
+    function determineRequestsReferrer(request2) {
+      const policy = request2.referrerPolicy;
+      assert(policy);
+      let referrerSource = null;
+      if (request2.referrer === "client") {
+        const globalOrigin = getGlobalOrigin();
+        if (!globalOrigin || globalOrigin.origin === "null") {
+          return "no-referrer";
         }
+        referrerSource = new URL(globalOrigin);
+      } else if (request2.referrer instanceof URL) {
+        referrerSource = request2.referrer;
       }
-    };
-    module2.exports = function duplexify(body, name) {
-      if (isDuplexNodeStream(body)) {
-        return body;
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
       }
-      if (isReadableNodeStream(body)) {
-        return _duplexify({
-          readable: body
-        });
+      const areSameOrigin = sameOrigin(request2, referrerURL);
+      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
+      switch (policy) {
+        case "origin":
+          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
+        case "unsafe-url":
+          return referrerURL;
+        case "same-origin":
+          return areSameOrigin ? referrerOrigin : "no-referrer";
+        case "origin-when-cross-origin":
+          return areSameOrigin ? referrerURL : referrerOrigin;
+        case "strict-origin-when-cross-origin": {
+          const currentURL = requestCurrentURL(request2);
+          if (sameOrigin(referrerURL, currentURL)) {
+            return referrerURL;
+          }
+          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
+            return "no-referrer";
+          }
+          return referrerOrigin;
+        }
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
       }
-      if (isWritableNodeStream(body)) {
-        return _duplexify({
-          writable: body
-        });
+    }
+    function stripURLForReferrer(url, originOnly) {
+      assert(url instanceof URL);
+      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
+        return "no-referrer";
       }
-      if (isNodeStream(body)) {
-        return _duplexify({
-          writable: false,
-          readable: false
-        });
+      url.username = "";
+      url.password = "";
+      url.hash = "";
+      if (originOnly) {
+        url.pathname = "";
+        url.search = "";
       }
-      if (isReadableStream(body)) {
-        return _duplexify({
-          readable: Readable.fromWeb(body)
-        });
+      return url;
+    }
+    function isURLPotentiallyTrustworthy(url) {
+      if (!(url instanceof URL)) {
+        return false;
       }
-      if (isWritableStream(body)) {
-        return _duplexify({
-          writable: Writable.fromWeb(body)
-        });
+      if (url.href === "about:blank" || url.href === "about:srcdoc") {
+        return true;
       }
-      if (typeof body === "function") {
-        const { value, write, final, destroy } = fromAsyncGen(body);
-        if (isIterable(value)) {
-          return from(Duplexify, value, {
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            write,
-            final,
-            destroy
-          });
+      if (url.protocol === "data:") return true;
+      if (url.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url.origin);
+      function isOriginPotentiallyTrustworthy(origin) {
+        if (origin == null || origin === "null") return false;
+        const originAsURL = new URL(origin);
+        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
+          return true;
         }
-        const then2 = value === null || value === void 0 ? void 0 : value.then;
-        if (typeof then2 === "function") {
-          let d;
-          const promise = FunctionPrototypeCall(
-            then2,
-            value,
-            (val) => {
-              if (val != null) {
-                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
-              }
-            },
-            (err) => {
-              destroyer(d, err);
-            }
-          );
-          return d = new Duplexify({
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            readable: false,
-            write,
-            final(cb) {
-              final(async () => {
-                try {
-                  await promise;
-                  process2.nextTick(cb, null);
-                } catch (err) {
-                  process2.nextTick(cb, err);
-                }
-              });
-            },
-            destroy
-          });
+        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
+          return true;
         }
-        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
-      }
-      if (isBlob(body)) {
-        return duplexify(body.arrayBuffer());
-      }
-      if (isIterable(body)) {
-        return from(Duplexify, body, {
-          // TODO (ronag): highWaterMark?
-          objectMode: true,
-          writable: false
-        });
+        return false;
       }
-      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
-        return Duplexify.fromWeb(body);
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto2 === void 0) {
+        return true;
       }
-      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
-        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
-        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
-        return _duplexify({
-          readable,
-          writable
-        });
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
       }
-      const then = body === null || body === void 0 ? void 0 : body.then;
-      if (typeof then === "function") {
-        let d;
-        FunctionPrototypeCall(
-          then,
-          body,
-          (val) => {
-            if (val != null) {
-              d.push(val);
-            }
-            d.push(null);
-          },
-          (err) => {
-            destroyer(d, err);
-          }
-        );
-        return d = new Duplexify({
-          objectMode: true,
-          writable: false,
-          read() {
-          }
-        });
+      if (parsedMetadata.length === 0) {
+        return true;
       }
-      throw new ERR_INVALID_ARG_TYPE2(
-        name,
-        [
-          "Blob",
-          "ReadableStream",
-          "WritableStream",
-          "Stream",
-          "Iterable",
-          "AsyncIterable",
-          "Function",
-          "{ readable, writable } pair",
-          "Promise"
-        ],
-        body
-      );
-    };
-    function fromAsyncGen(fn) {
-      let { promise, resolve: resolve5 } = createDeferredPromise();
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const value = fn(
-        (async function* () {
-          while (true) {
-            const _promise = promise;
-            promise = null;
-            const { chunk, done, cb } = await _promise;
-            process2.nextTick(cb);
-            if (done) return;
-            if (signal.aborted)
-              throw new AbortError(void 0, {
-                cause: signal.reason
-              });
-            ({ promise, resolve: resolve5 } = createDeferredPromise());
-            yield chunk;
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
+          } else {
+            actualValue = actualValue.slice(0, -1);
           }
-        })(),
-        {
-          signal
         }
-      );
-      return {
-        value,
-        write(chunk, encoding, cb) {
-          const _resolve = resolve5;
-          resolve5 = null;
-          _resolve({
-            chunk,
-            done: false,
-            cb
-          });
-        },
-        final(cb) {
-          const _resolve = resolve5;
-          resolve5 = null;
-          _resolve({
-            done: true,
-            cb
-          });
-        },
-        destroy(err, cb) {
-          ac.abort();
-          cb(err);
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
         }
-      };
+      }
+      return false;
     }
-    function _duplexify(pair) {
-      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable.wrap(pair.readable) : pair.readable;
-      const w = pair.writable;
-      let readable = !!isReadable(r);
-      let writable = !!isWritable(w);
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
+    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
+    function parseMetadata(metadata) {
+      const result = [];
+      let empty = true;
+      for (const token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
+          continue;
+        }
+        const algorithm = parsedToken.groups.algo.toLowerCase();
+        if (supportedHashes.includes(algorithm)) {
+          result.push(parsedToken.groups);
         }
       }
-      d = new Duplexify({
-        // TODO (ronag): highWaterMark?
-        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
-        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
-        readable,
-        writable
-      });
-      if (writable) {
-        eos(w, (err) => {
-          writable = false;
-          if (err) {
-            destroyer(r, err);
-          }
-          onfinished(err);
-        });
-        d._write = function(chunk, encoding, callback) {
-          if (w.write(chunk, encoding)) {
-            callback();
-          } else {
-            ondrain = callback;
-          }
-        };
-        d._final = function(callback) {
-          w.end();
-          onfinish = callback;
-        };
-        w.on("drain", function() {
-          if (ondrain) {
-            const cb = ondrain;
-            ondrain = null;
-            cb();
-          }
-        });
-        w.on("finish", function() {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
-          }
-        });
+      if (empty === true) {
+        return "no metadata";
       }
-      if (readable) {
-        eos(r, (err) => {
-          readable = false;
-          if (err) {
-            destroyer(r, err);
-          }
-          onfinished(err);
-        });
-        r.on("readable", function() {
-          if (onreadable) {
-            const cb = onreadable;
-            onreadable = null;
-            cb();
-          }
-        });
-        r.on("end", function() {
-          d.push(null);
-        });
-        d._read = function() {
-          while (true) {
-            const buf = r.read();
-            if (buf === null) {
-              onreadable = d._read;
-              return;
-            }
-            if (!d.push(buf)) {
-              return;
-            }
-          }
-        };
+      return result;
+    }
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
       }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          destroyer(w, err);
-          destroyer(r, err);
+      for (let i = 1; i < metadataList.length; ++i) {
+        const metadata = metadataList[i];
+        if (metadata.algo[3] === "5") {
+          algorithm = "sha512";
+          break;
+        } else if (algorithm[3] === "3") {
+          continue;
+        } else if (metadata.algo[3] === "3") {
+          algorithm = "sha384";
         }
-      };
-      return d;
-    }
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/duplex.js
-var require_duplex = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
-    "use strict";
-    var {
-      ObjectDefineProperties,
-      ObjectGetOwnPropertyDescriptor,
-      ObjectKeys,
-      ObjectSetPrototypeOf
-    } = require_primordials();
-    module2.exports = Duplex;
-    var Readable = require_readable4();
-    var Writable = require_writable();
-    ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype);
-    ObjectSetPrototypeOf(Duplex, Readable);
-    {
-      const keys = ObjectKeys(Writable.prototype);
-      for (let i = 0; i < keys.length; i++) {
-        const method = keys[i];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
       }
+      return algorithm;
     }
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable.call(this, options);
-      Writable.call(this, options);
-      if (options) {
-        this.allowHalfOpen = options.allowHalfOpen !== false;
-        if (options.readable === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
+    function filterMetadataListByAlgorithm(metadataList, algorithm) {
+      if (metadataList.length === 1) {
+        return metadataList;
+      }
+      let pos = 0;
+      for (let i = 0; i < metadataList.length; ++i) {
+        if (metadataList[i].algo === algorithm) {
+          metadataList[pos++] = metadataList[i];
         }
-        if (options.writable === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
+      }
+      metadataList.length = pos;
+      return metadataList;
+    }
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
+        return false;
+      }
+      for (let i = 0; i < actualValue.length; ++i) {
+        if (actualValue[i] !== expectedValue[i]) {
+          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
+            continue;
+          }
+          return false;
         }
-      } else {
-        this.allowHalfOpen = true;
       }
+      return true;
     }
-    ObjectDefineProperties(Duplex.prototype, {
-      writable: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
-      },
-      writableObjectMode: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
-      },
-      writableBuffer: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
-      },
-      writableLength: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
-      },
-      writableFinished: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
-      },
-      writableCorked: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
-      },
-      writableEnded: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          if (this._readableState === void 0 || this._writableState === void 0) {
-            return false;
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
+    }
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
+      }
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
+      }
+      return false;
+    }
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve5, reject) => {
+        res = resolve5;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    var normalizeMethodRecord = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    Object.setPrototypeOf(normalizeMethodRecord, null);
+    function normalizeMethod(method) {
+      return normalizeMethodRecord[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function makeIterator(iterator2, name, kind) {
+      const object = {
+        index: 0,
+        kind,
+        target: iterator2
+      };
+      const i = {
+        next() {
+          if (Object.getPrototypeOf(this) !== i) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
           }
-          return this._readableState.destroyed && this._writableState.destroyed;
-        },
-        set(value) {
-          if (this._readableState && this._writableState) {
-            this._readableState.destroyed = value;
-            this._writableState.destroyed = value;
+          const { index, kind: kind2, target } = object;
+          const values = target();
+          const len = values.length;
+          if (index >= len) {
+            return { value: void 0, done: true };
           }
+          const pair = values[index];
+          object.index = index + 1;
+          return iteratorResult(pair, kind2);
+        },
+        // The class string of an iterator prototype object for a given interface is the
+        // result of concatenating the identifier of the interface and the string " Iterator".
+        [Symbol.toStringTag]: `${name} Iterator`
+      };
+      Object.setPrototypeOf(i, esIteratorPrototype);
+      return Object.setPrototypeOf({}, i);
+    }
+    function iteratorResult(pair, kind) {
+      let result;
+      switch (kind) {
+        case "key": {
+          result = pair[0];
+          break;
+        }
+        case "value": {
+          result = pair[1];
+          break;
+        }
+        case "key+value": {
+          result = pair;
+          break;
         }
       }
-    });
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
+      return { value: result, done: false };
     }
-    Duplex.fromWeb = function(pair, options) {
-      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
-    };
-    Duplex.toWeb = function(duplex) {
-      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
-    };
-    var duplexify;
-    Duplex.from = function(body) {
-      if (!duplexify) {
-        duplexify = require_duplexify();
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
       }
-      return duplexify(body, "body");
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/transform.js
-var require_transform = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
-    "use strict";
-    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
-    module2.exports = Transform;
-    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors5().codes;
-    var Duplex = require_duplex();
-    var { getHighWaterMark } = require_state3();
-    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
-    ObjectSetPrototypeOf(Transform, Duplex);
-    var kCallback = Symbol2("kCallback");
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
-      if (readableHighWaterMark === 0) {
-        options = {
-          ...options,
-          highWaterMark: null,
-          readableHighWaterMark,
-          // TODO (ronag): 0 is not optimal since we have
-          // a "bug" where we check needDrain before calling _write and not after.
-          // Refs: https://github.com/nodejs/node/pull/32887
-          // Refs: https://github.com/nodejs/node/pull/35941
-          writableHighWaterMark: options.writableHighWaterMark || 0
-        };
+      try {
+        const result = await readAllBytes(reader);
+        successSteps(result);
+      } catch (e) {
+        errorSteps(e);
       }
-      Duplex.call(this, options);
-      this._readableState.sync = false;
-      this[kCallback] = null;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
+    }
+    var ReadableStream2 = globalThis.ReadableStream;
+    function isReadableStreamLike(stream) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      this.on("prefinish", prefinish);
+      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
     }
-    function final(cb) {
-      if (typeof this._flush === "function" && !this.destroyed) {
-        this._flush((er, data) => {
-          if (er) {
-            if (cb) {
-              cb(er);
-            } else {
-              this.destroy(er);
-            }
-            return;
-          }
-          if (data != null) {
-            this.push(data);
-          }
-          this.push(null);
-          if (cb) {
-            cb();
-          }
-        });
-      } else {
-        this.push(null);
-        if (cb) {
-          cb();
+    var MAXIMUM_ARGUMENT_LENGTH = 65535;
+    function isomorphicDecode(input) {
+      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
+        return String.fromCharCode(...input);
+      }
+      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed")) {
+          throw err;
         }
       }
     }
-    function prefinish() {
-      if (this._final !== final) {
-        final.call(this);
+    function isomorphicEncode(input) {
+      for (let i = 0; i < input.length; i++) {
+        assert(input.charCodeAt(i) <= 255);
       }
+      return input;
     }
-    Transform.prototype._final = final;
-    Transform.prototype._transform = function(chunk, encoding, callback) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
-    };
-    Transform.prototype._write = function(chunk, encoding, callback) {
-      const rState = this._readableState;
-      const wState = this._writableState;
-      const length = rState.length;
-      this._transform(chunk, encoding, (err, val) => {
-        if (err) {
-          callback(err);
-          return;
-        }
-        if (val != null) {
-          this.push(val);
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
         }
-        if (wState.ended || // Backwards compat.
-        length === rState.length || // Backwards compat.
-        rState.length < rState.highWaterMark) {
-          callback();
-        } else {
-          this[kCallback] = callback;
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
         }
-      });
-    };
-    Transform.prototype._read = function() {
-      if (this[kCallback]) {
-        const callback = this[kCallback];
-        this[kCallback] = null;
-        callback();
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
+    }
+    function urlIsLocal(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url) {
+      if (typeof url === "string") {
+        return url.startsWith("https:");
       }
+      return url.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      toUSVString,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      hasOwn,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      isomorphicDecode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      normalizeMethodRecord,
+      parseMetadata
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/passthrough.js
-var require_passthrough2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/symbols.js
+var require_symbols12 = __commonJS({
+  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
     "use strict";
-    var { ObjectSetPrototypeOf } = require_primordials();
-    module2.exports = PassThrough;
-    var Transform = require_transform();
-    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
-    ObjectSetPrototypeOf(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kGuard: /* @__PURE__ */ Symbol("guard"),
+      kRealm: /* @__PURE__ */ Symbol("realm")
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/pipeline.js
-var require_pipeline4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
-    var process2 = require_process();
-    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
-    var eos = require_end_of_stream();
-    var { once } = require_util20();
-    var destroyImpl = require_destroy2();
-    var Duplex = require_duplex();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_INVALID_RETURN_VALUE,
-        ERR_MISSING_ARGS,
-        ERR_STREAM_DESTROYED,
-        ERR_STREAM_PREMATURE_CLOSE
-      },
-      AbortError
-    } = require_errors5();
-    var { validateFunction, validateAbortSignal } = require_validators();
-    var {
-      isIterable,
-      isReadable,
-      isReadableNodeStream,
-      isNodeStream,
-      isTransformStream,
-      isWebStream,
-      isReadableStream,
-      isReadableFinished
-    } = require_utils8();
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var PassThrough;
-    var Readable;
-    var addAbortListener;
-    function destroyer(stream, reading, writing) {
-      let finished = false;
-      stream.on("close", () => {
-        finished = true;
+// node_modules/undici/lib/fetch/webidl.js
+var require_webidl3 = __commonJS({
+  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types } = require("util");
+    var { hasOwn, toUSVString } = require_util25();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
       });
-      const cleanup = eos(
-        stream,
-        {
-          readable: reading,
-          writable: writing
-        },
-        (err) => {
-          finished = !err;
-        }
-      );
-      return {
-        destroy: (err) => {
-          if (finished) return;
-          finished = true;
-          destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED("pipe"));
-        },
-        cleanup
-      };
-    }
-    function popCallback(streams) {
-      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
-      return streams.pop();
-    }
-    function makeAsyncIterable(val) {
-      if (isIterable(val)) {
-        return val;
-      } else if (isReadableNodeStream(val)) {
-        return fromReadable(val);
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts = void 0) {
+      if (opts?.strict !== false && !(V instanceof I)) {
+        throw new TypeError("Illegal invocation");
+      } else {
+        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
       }
-      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
-    }
-    async function* fromReadable(val) {
-      if (!Readable) {
-        Readable = require_readable4();
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          ...ctx
+        });
       }
-      yield* Readable.prototype[SymbolAsyncIterator].call(val);
-    }
-    async function pumpToNode(iterable, writable, finish, { end }) {
-      let error3;
-      let onresolve = null;
-      const resume = (err) => {
-        if (err) {
-          error3 = err;
-        }
-        if (onresolve) {
-          const callback = onresolve;
-          onresolve = null;
-          callback();
-        }
-      };
-      const wait = () => new Promise2((resolve5, reject) => {
-        if (error3) {
-          reject(error3);
-        } else {
-          onresolve = () => {
-            if (error3) {
-              reject(error3);
-            } else {
-              resolve5();
-            }
-          };
-        }
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
       });
-      writable.on("drain", resume);
-      const cleanup = eos(
-        writable,
-        {
-          readable: false
-        },
-        resume
-      );
-      try {
-        if (writable.writableNeedDrain) {
-          await wait();
-        }
-        for await (const chunk of iterable) {
-          if (!writable.write(chunk)) {
-            await wait();
+    };
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
           }
+          return "Object";
         }
-        if (end) {
-          writable.end();
-          await wait();
+      }
+    };
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
         }
-        finish();
-      } catch (err) {
-        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
-      } finally {
-        cleanup();
-        writable.off("drain", resume);
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
       }
-    }
-    async function pumpToWeb(readable, writable, finish, { end }) {
-      if (isTransformStream(writable)) {
-        writable = writable.writable;
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
       }
-      const writer = writable.getWriter();
-      try {
-        for await (const chunk of readable) {
-          await writer.ready;
-          writer.write(chunk).catch(() => {
+      if (opts.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${V} to an integer.`
           });
         }
-        await writer.ready;
-        if (end) {
-          await writer.close();
-        }
-        finish();
-      } catch (err) {
-        try {
-          await writer.abort(err);
-          finish(err);
-        } catch (err2) {
-          finish(err2);
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
         }
+        return x;
       }
-    }
-    function pipeline(...streams) {
-      return pipelineImpl(streams, once(popCallback(streams)));
-    }
-    function pipelineImpl(streams, callback, opts) {
-      if (streams.length === 1 && ArrayIsArray(streams[0])) {
-        streams = streams[0];
-      }
-      if (streams.length < 2) {
-        throw new ERR_MISSING_ARGS("streams");
+      if (!Number.isNaN(x) && opts.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
       }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
-      const lastStreamCleanup = [];
-      validateAbortSignal(outerSignal, "options.signal");
-      function abort() {
-        finishImpl(new AbortError());
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
       }
-      addAbortListener = addAbortListener || require_util20().addAbortListener;
-      let disposable;
-      if (outerSignal) {
-        disposable = addAbortListener(outerSignal, abort);
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
       }
-      let error3;
-      let value;
-      const destroys = [];
-      let finishCount = 0;
-      function finish(err) {
-        finishImpl(err, --finishCount === 0);
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
       }
-      function finishImpl(err, final) {
-        var _disposable;
-        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
-          error3 = err;
-        }
-        if (!error3 && !final) {
-          return;
-        }
-        while (destroys.length) {
-          destroys.shift()(error3);
+      return r;
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
+          });
         }
-        ;
-        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
-        ac.abort();
-        if (final) {
-          if (!error3) {
-            lastStreamCleanup.forEach((fn) => fn());
-          }
-          process2.nextTick(callback, error3, value);
+        const method = V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: "Object is not an iterator."
+          });
         }
-      }
-      let ret;
-      for (let i = 0; i < streams.length; i++) {
-        const stream = streams[i];
-        const reading = i < streams.length - 1;
-        const writing = i > 0;
-        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
-        const isLastStream = i === streams.length - 1;
-        if (isNodeStream(stream)) {
-          let onError2 = function(err) {
-            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
-              finish(err);
-            }
-          };
-          var onError = onError2;
-          if (end) {
-            const { destroy, cleanup } = destroyer(stream, reading, writing);
-            destroys.push(destroy);
-            if (isReadable(stream) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
-            }
-          }
-          stream.on("error", onError2);
-          if (isReadable(stream) && isLastStream) {
-            lastStreamCleanup.push(() => {
-              stream.removeListener("error", onError2);
-            });
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
           }
+          seq2.push(converter(value));
         }
-        if (i === 0) {
-          if (typeof stream === "function") {
-            ret = stream({
-              signal
-            });
-            if (!isIterable(ret)) {
-              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
-            }
-          } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {
-            ret = stream;
-          } else {
-            ret = Duplex.from(stream);
-          }
-        } else if (typeof stream === "function") {
-          if (isTransformStream(ret)) {
-            var _ret;
-            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
-          } else {
-            ret = makeAsyncIterable(ret);
-          }
-          ret = stream(ret, {
-            signal
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Record",
+            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
           });
-          if (reading) {
-            if (!isIterable(ret, true)) {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
-            }
-          } else {
-            var _ret2;
-            if (!PassThrough) {
-              PassThrough = require_passthrough2();
-            }
-            const pt = new PassThrough({
-              objectMode: true
-            });
-            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
-            if (typeof then === "function") {
-              finishCount++;
-              then.call(
-                ret,
-                (val) => {
-                  value = val;
-                  if (val != null) {
-                    pt.write(val);
-                  }
-                  if (end) {
-                    pt.end();
-                  }
-                  process2.nextTick(finish);
-                },
-                (err) => {
-                  pt.destroy(err);
-                  process2.nextTick(finish, err);
-                }
-              );
-            } else if (isIterable(ret, true)) {
-              finishCount++;
-              pumpToNode(ret, pt, finish, {
-                end
-              });
-            } else if (isReadableStream(ret) || isTransformStream(ret)) {
-              const toRead = ret.readable || ret;
-              finishCount++;
-              pumpToNode(toRead, pt, finish, {
-                end
-              });
-            } else {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
-            }
-            ret = pt;
-            const { destroy, cleanup } = destroyer(ret, false, true);
-            destroys.push(destroy);
-            if (isLastStream) {
-              lastStreamCleanup.push(cleanup);
-            }
-          }
-        } else if (isNodeStream(stream)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount += 2;
-            const cleanup = pipe(ret, stream, finish, {
-              end
-            });
-            if (isReadable(stream) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
-            }
-          } else if (isTransformStream(ret) || isReadableStream(ret)) {
-            const toRead = ret.readable || ret;
-            finishCount++;
-            pumpToNode(toRead, stream, finish, {
-              end
-            });
-          } else if (isIterable(ret)) {
-            finishCount++;
-            pumpToNode(ret, stream, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
-            );
-          }
-          ret = stream;
-        } else if (isWebStream(stream)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount++;
-            pumpToWeb(makeAsyncIterable(ret), stream, finish, {
-              end
-            });
-          } else if (isReadableStream(ret) || isIterable(ret)) {
-            finishCount++;
-            pumpToWeb(ret, stream, finish, {
-              end
-            });
-          } else if (isTransformStream(ret)) {
-            finishCount++;
-            pumpToWeb(ret.readable, stream, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
-            );
-          }
-          ret = stream;
-        } else {
-          ret = Duplex.from(stream);
-        }
-      }
-      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
-        process2.nextTick(abort);
-      }
-      return ret;
-    }
-    function pipe(src, dst, finish, { end }) {
-      let ended = false;
-      dst.on("close", () => {
-        if (!ended) {
-          finish(new ERR_STREAM_PREMATURE_CLOSE());
         }
-      });
-      src.pipe(dst, {
-        end: false
-      });
-      if (end) {
-        let endFn2 = function() {
-          ended = true;
-          dst.end();
-        };
-        var endFn = endFn2;
-        if (isReadableFinished(src)) {
-          process2.nextTick(endFn2);
-        } else {
-          src.once("end", endFn2);
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = Object.keys(O);
+          for (const key of keys2) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
+          }
+          return result;
         }
-      } else {
-        finish();
-      }
-      eos(
-        src,
-        {
-          readable: true,
-          writable: false
-        },
-        (err) => {
-          const rState = src._readableState;
-          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
-            src.once("end", finish).once("error", finish);
-          } else {
-            finish(err);
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
           }
         }
-      );
-      return eos(
-        dst,
-        {
-          readable: false,
-          writable: true
-        },
-        finish
-      );
-    }
-    module2.exports = {
-      pipelineImpl,
-      pipeline
+        return result;
+      };
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/compose.js
-var require_compose = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
-    "use strict";
-    var { pipeline } = require_pipeline4();
-    var Duplex = require_duplex();
-    var { destroyer } = require_destroy2();
-    var {
-      isNodeStream,
-      isReadable,
-      isWritable,
-      isWebStream,
-      isTransformStream,
-      isWritableStream,
-      isReadableStream
-    } = require_utils8();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
-    } = require_errors5();
-    var eos = require_end_of_stream();
-    module2.exports = function compose(...streams) {
-      if (streams.length === 0) {
-        throw new ERR_MISSING_ARGS("streams");
-      }
-      if (streams.length === 1) {
-        return Duplex.from(streams[0]);
-      }
-      const orgStreams = [...streams];
-      if (typeof streams[0] === "function") {
-        streams[0] = Duplex.from(streams[0]);
-      }
-      if (typeof streams[streams.length - 1] === "function") {
-        const idx = streams.length - 1;
-        streams[idx] = Duplex.from(streams[idx]);
-      }
-      for (let n = 0; n < streams.length; ++n) {
-        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
-          continue;
-        }
-        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
-        }
-        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
-        }
-      }
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
-        } else if (!readable && !writable) {
-          d.destroy();
+    webidl.interfaceConverter = function(i) {
+      return (V, opts = {}) => {
+        if (opts.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: i.name,
+            message: `Expected ${V} to be an instance of ${i.name}.`
+          });
         }
-      }
-      const head = streams[0];
-      const tail = pipeline(streams, onfinished);
-      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
-      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
-      d = new Duplex({
-        // TODO (ronag): highWaterMark?
-        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
-        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
-        writable,
-        readable
-      });
-      if (writable) {
-        if (isNodeStream(head)) {
-          d._write = function(chunk, encoding, callback) {
-            if (head.write(chunk, encoding)) {
-              callback();
-            } else {
-              ondrain = callback;
-            }
-          };
-          d._final = function(callback) {
-            head.end();
-            onfinish = callback;
-          };
-          head.on("drain", function() {
-            if (ondrain) {
-              const cb = ondrain;
-              ondrain = null;
-              cb();
-            }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: "Dictionary",
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
           });
-        } else if (isWebStream(head)) {
-          const writable2 = isTransformStream(head) ? head.writable : head;
-          const writer = writable2.getWriter();
-          d._write = async function(chunk, encoding, callback) {
-            try {
-              await writer.ready;
-              writer.write(chunk).catch(() => {
-              });
-              callback();
-            } catch (err) {
-              callback(err);
-            }
-          };
-          d._final = async function(callback) {
-            try {
-              await writer.ready;
-              writer.close().catch(() => {
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `Missing required key "${key}".`
               });
-              onfinish = callback;
-            } catch (err) {
-              callback(err);
             }
-          };
-        }
-        const toRead = isTransformStream(tail) ? tail.readable : tail;
-        eos(toRead, () => {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
           }
-        });
-      }
-      if (readable) {
-        if (isNodeStream(tail)) {
-          tail.on("readable", function() {
-            if (onreadable) {
-              const cb = onreadable;
-              onreadable = null;
-              cb();
-            }
-          });
-          tail.on("end", function() {
-            d.push(null);
-          });
-          d._read = function() {
-            while (true) {
-              const buf = tail.read();
-              if (buf === null) {
-                onreadable = d._read;
-                return;
-              }
-              if (!d.push(buf)) {
-                return;
-              }
-            }
-          };
-        } else if (isWebStream(tail)) {
-          const readable2 = isTransformStream(tail) ? tail.readable : tail;
-          const reader = readable2.getReader();
-          d._read = async function() {
-            while (true) {
-              try {
-                const { value, done } = await reader.read();
-                if (!d.push(value)) {
-                  return;
-                }
-                if (done) {
-                  d.push(null);
-                  return;
-                }
-              } catch {
-                return;
-              }
-            }
-          };
-        }
-      }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          if (isNodeStream(tail)) {
-            destroyer(tail, err);
+          let value = dictionary[key];
+          const hasDefault = hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value = value ?? defaultValue;
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
           }
         }
+        return dict;
       };
-      return d;
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/operators.js
-var require_operators = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
-    "use strict";
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var {
-      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
-      AbortError
-    } = require_errors5();
-    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
-    var kWeakHandler = require_primordials().Symbol("kWeak");
-    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
-    var { finished } = require_end_of_stream();
-    var staticCompose = require_compose();
-    var { addAbortSignalNoValidate } = require_add_abort_signal();
-    var { isWritable, isNodeStream } = require_utils8();
-    var { deprecate } = require_util20();
-    var {
-      ArrayPrototypePush,
-      Boolean: Boolean2,
-      MathFloor,
-      Number: Number2,
-      NumberIsNaN,
-      Promise: Promise2,
-      PromiseReject,
-      PromiseResolve,
-      PromisePrototypeThen,
-      Symbol: Symbol2
-    } = require_primordials();
-    var kEmpty = Symbol2("kEmpty");
-    var kEof = Symbol2("kEof");
-    function compose(stream, options) {
-      if (options != null) {
-        validateObject(options, "options");
+    webidl.nullableConverter = function(converter) {
+      return (V) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V);
+      };
+    };
+    webidl.converters.DOMString = function(V, opts = {}) {
+      if (V === null && opts.legacyNullToEmptyString) {
+        return "";
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (typeof V === "symbol") {
+        throw new TypeError("Could not convert argument of type symbol to string.");
       }
-      if (isNodeStream(stream) && !isWritable(stream)) {
-        throw new ERR_INVALID_ARG_VALUE("stream", stream, "must be writable");
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V) {
+      const x = webidl.converters.DOMString(V);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
       }
-      const composedStream = staticCompose(this, stream);
-      if (options !== null && options !== void 0 && options.signal) {
-        addAbortSignalNoValidate(options.signal, composedStream);
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed");
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${V}`,
+          argument: `${V}`,
+          types: ["ArrayBuffer"]
+        });
       }
-      return composedStream;
-    }
-    function map2(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      if (options != null) {
-        validateObject(options, "options");
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${T.name}`,
+          argument: `${V}`,
+          types: [T.name]
+        });
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      let concurrency = 1;
-      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
-        concurrency = MathFloor(options.concurrency);
+      return V;
+    };
+    webidl.converters.DataView = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: "DataView",
+          message: "Object is not a DataView."
+        });
       }
-      let highWaterMark = concurrency - 1;
-      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
-        highWaterMark = MathFloor(options.highWaterMark);
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      validateInteger(concurrency, "options.concurrency", 1);
-      validateInteger(highWaterMark, "options.highWaterMark", 0);
-      highWaterMark += concurrency;
-      return async function* map3() {
-        const signal = require_util20().AbortSignalAny(
-          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
-        );
-        const stream = this;
-        const queue = [];
-        const signalOpt = {
-          signal
-        };
-        let next;
-        let resume;
-        let done = false;
-        let cnt = 0;
-        function onCatch() {
-          done = true;
-          afterItemProcessed();
-        }
-        function afterItemProcessed() {
-          cnt -= 1;
-          maybeResume();
-        }
-        function maybeResume() {
-          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
-            resume();
-            resume = null;
-          }
-        }
-        async function pump() {
-          try {
-            for await (let val of stream) {
-              if (done) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              try {
-                val = fn(val, signalOpt);
-                if (val === kEmpty) {
-                  continue;
-                }
-                val = PromiseResolve(val);
-              } catch (err) {
-                val = PromiseReject(err);
-              }
-              cnt += 1;
-              PromisePrototypeThen(val, afterItemProcessed, onCatch);
-              queue.push(val);
-              if (next) {
-                next();
-                next = null;
-              }
-              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
-                await new Promise2((resolve5) => {
-                  resume = resolve5;
-                });
-              }
-            }
-            queue.push(kEof);
-          } catch (err) {
-            const val = PromiseReject(err);
-            PromisePrototypeThen(val, afterItemProcessed, onCatch);
-            queue.push(val);
-          } finally {
-            done = true;
-            if (next) {
-              next();
-              next = null;
-            }
-          }
-        }
-        pump();
-        try {
-          while (true) {
-            while (queue.length > 0) {
-              const val = await queue[0];
-              if (val === kEof) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              if (val !== kEmpty) {
-                yield val;
-              }
-              queue.shift();
-              maybeResume();
-            }
-            await new Promise2((resolve5) => {
-              next = resolve5;
-            });
-          }
-        } finally {
-          done = true;
-          if (resume) {
-            resume();
-            resume = null;
-          }
-        }
-      }.call(this);
-    }
-    function asIndexedPairs(options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, opts = {}) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, opts);
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor);
       }
-      return async function* asIndexedPairs2() {
-        let index = 0;
-        for await (const val of this) {
-          var _options$signal;
-          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
-            throw new AbortError({
-              cause: options.signal.reason
-            });
-          }
-          yield [index++, val];
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, opts);
+      }
+      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/dataURL.js
+var require_dataURL = __commonJS({
+  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
+    var assert = require("assert");
+    var { atob: atob2 } = require("buffer");
+    var { isomorphicDecode } = require_util25();
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
+    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
-      }.call(this);
-    }
-    async function some(fn, options = void 0) {
-      for await (const unused of filter.call(this, fn, options)) {
-        return true;
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      return false;
-    }
-    async function every(fn, options = void 0) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
       }
-      return !await some.call(
-        this,
-        async (...args) => {
-          return !await fn(...args);
-        },
-        options
-      );
-    }
-    async function find2(fn, options) {
-      for await (const result of filter.call(this, fn, options)) {
-        return result;
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
       }
-      return void 0;
+      return { mimeType: mimeTypeRecord, body };
     }
-    async function forEach(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
       }
-      async function forEachFn(value, options2) {
-        await fn(value, options2);
-        return kEmpty;
+      const href = url.href;
+      const hashLength = url.hash.length;
+      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
       }
-      for await (const unused of map2.call(this, forEachFn, options)) ;
+      return result;
     }
-    function filter(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
       }
-      async function filterFn(value, options2) {
-        if (await fn(value, options2)) {
-          return value;
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function percentDecode(input) {
+      const output = [];
+      for (let i = 0; i < input.length; i++) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output.push(byte);
+        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
+          output.push(37);
+        } else {
+          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
+          const bytePoint = Number.parseInt(nextTwoBytes, 16);
+          output.push(bytePoint);
+          i += 2;
         }
-        return kEmpty;
       }
-      return map2.call(this, filterFn, options);
+      return Uint8Array.from(output);
     }
-    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
-      constructor() {
-        super("reduce");
-        this.message = "Reduce of an empty stream requires an initial value";
-      }
-    };
-    async function reduce(reducer, initialValue, options) {
-      var _options$signal2;
-      if (typeof reducer !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
-      }
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
       }
-      let hasInitialValue = arguments.length > 1;
-      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
-        const err = new AbortError(void 0, {
-          cause: options.signal.reason
-        });
-        this.once("error", () => {
-        });
-        await finished(this.destroy(err));
-        throw err;
+      if (position.position > input.length) {
+        return "failure";
       }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      if (options !== null && options !== void 0 && options.signal) {
-        const opts = {
-          once: true,
-          [kWeakHandler]: this,
-          [kResistStopPropagation]: true
-        };
-        options.signal.addEventListener("abort", () => ac.abort(), opts);
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
       }
-      let gotAnyItemFromStream = false;
-      try {
-        for await (const value of this) {
-          var _options$signal3;
-          gotAnyItemFromStream = true;
-          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
-            throw new AbortError();
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
           }
-          if (!hasInitialValue) {
-            initialValue = value;
-            hasInitialValue = true;
-          } else {
-            initialValue = await reducer(initialValue, value, {
-              signal
-            });
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+        } else {
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
           }
         }
-        if (!gotAnyItemFromStream && !hasInitialValue) {
-          throw new ReduceAwareErrMissingArgs();
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
         }
-      } finally {
-        ac.abort();
       }
-      return initialValue;
+      return mimeType;
     }
-    async function toArray2(options) {
-      if (options != null) {
-        validateObject(options, "options");
+    function forgivingBase64(data) {
+      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
+      if (data.length % 4 === 0) {
+        data = data.replace(/=?=$/, "");
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (data.length % 4 === 1) {
+        return "failure";
       }
-      const result = [];
-      for await (const val of this) {
-        var _options$signal4;
-        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
-          throw new AbortError(void 0, {
-            cause: options.signal.reason
-          });
-        }
-        ArrayPrototypePush(result, val);
+      if (/[^+/0-9A-Za-z]/.test(data)) {
+        return "failure";
       }
-      return result;
+      const binary2 = atob2(data);
+      const bytes = new Uint8Array(binary2.length);
+      for (let byte = 0; byte < binary2.length; byte++) {
+        bytes[byte] = binary2.charCodeAt(byte);
+      }
+      return bytes;
     }
-    function flatMap(fn, options) {
-      const values = map2.call(this, fn, options);
-      return async function* flatMap2() {
-        for await (const val of values) {
-          yield* val;
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
         }
-      }.call(this);
-    }
-    function toIntegerOrInfinity(number) {
-      number = Number2(number);
-      if (NumberIsNaN(number)) {
-        return 0;
       }
-      if (number < 0) {
-        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
+      if (extractValue) {
+        return value;
       }
-      return number;
+      return input.slice(positionStart, position.position);
     }
-    function drop(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === " ";
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
       }
-      number = toIntegerOrInfinity(number);
-      return async function* drop2() {
-        var _options$signal5;
-        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal6;
-          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
-            throw new AbortError();
-          }
-          if (number-- <= 0) {
-            yield val;
-          }
-        }
-      }.call(this);
+      if (trailing) {
+        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      }
+      return str2.slice(lead, trail + 1);
     }
-    function take(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+    function isASCIIWhitespace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (trailing) {
+        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
       }
-      number = toIntegerOrInfinity(number);
-      return async function* take2() {
-        var _options$signal7;
-        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal8;
-          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
-            throw new AbortError();
-          }
-          if (number-- > 0) {
-            yield val;
-          }
-          if (number <= 0) {
-            return;
-          }
-        }
-      }.call(this);
+      return str2.slice(lead, trail + 1);
     }
-    module2.exports.streamReturningOperators = {
-      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
-      drop,
-      filter,
-      flatMap,
-      map: map2,
-      take,
-      compose
-    };
-    module2.exports.promiseReturningOperators = {
-      every,
-      forEach,
-      reduce,
-      toArray: toArray2,
-      some,
-      find: find2
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType
     };
   }
 });
 
-// node_modules/readable-stream/lib/stream/promises.js
-var require_promises = __commonJS({
-  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/file.js
+var require_file5 = __commonJS({
+  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
     "use strict";
-    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
-    var { isIterable, isNodeStream, isWebStream } = require_utils8();
-    var { pipelineImpl: pl } = require_pipeline4();
-    var { finished } = require_end_of_stream();
-    require_stream2();
-    function pipeline(...streams) {
-      return new Promise2((resolve5, reject) => {
-        let signal;
-        let end;
-        const lastArg = streams[streams.length - 1];
-        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
-          const options = ArrayPrototypePop(streams);
-          signal = options.signal;
-          end = options.end;
-        }
-        pl(
-          streams,
-          (err, value) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve5(value);
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { types } = require("util");
+    var { kState } = require_symbols12();
+    var { isBlobLike } = require_util25();
+    var { webidl } = require_webidl3();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var { kEnumerableProperty } = require_util24();
+    var encoder = new TextEncoder();
+    var File2 = class _File extends Blob2 {
+      constructor(fileBits, fileName, options = {}) {
+        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
+        fileBits = webidl.converters["sequence"](fileBits);
+        fileName = webidl.converters.USVString(fileName);
+        options = webidl.converters.FilePropertyBag(options);
+        const n = fileName;
+        let t = options.type;
+        let d;
+        substep: {
+          if (t) {
+            t = parseMIMEType(t);
+            if (t === "failure") {
+              t = "";
+              break substep;
             }
-          },
-          {
-            signal,
-            end
+            t = serializeAMimeType(t).toLowerCase();
           }
-        );
-      });
-    }
-    module2.exports = {
-      finished,
-      pipeline
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/stream.js
-var require_stream2 = __commonJS({
-  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
-    var {
-      promisify: { custom: customPromisify }
-    } = require_util20();
-    var { streamReturningOperators, promiseReturningOperators } = require_operators();
-    var {
-      codes: { ERR_ILLEGAL_CONSTRUCTOR }
-    } = require_errors5();
-    var compose = require_compose();
-    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var { pipeline } = require_pipeline4();
-    var { destroyer } = require_destroy2();
-    var eos = require_end_of_stream();
-    var promises3 = require_promises();
-    var utils = require_utils8();
-    var Stream = module2.exports = require_legacy().Stream;
-    Stream.isDestroyed = utils.isDestroyed;
-    Stream.isDisturbed = utils.isDisturbed;
-    Stream.isErrored = utils.isErrored;
-    Stream.isReadable = utils.isReadable;
-    Stream.isWritable = utils.isWritable;
-    Stream.Readable = require_readable4();
-    for (const key of ObjectKeys(streamReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
-        }
-        return Stream.Readable.from(ReflectApply(op, this, args));
-      };
-      fn = fn2;
-      const op = streamReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
-    }
-    var fn;
-    for (const key of ObjectKeys(promiseReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
+          d = options.lastModified;
         }
-        return ReflectApply(op, this, args);
-      };
-      fn = fn2;
-      const op = promiseReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
-    }
-    var fn;
-    Stream.Writable = require_writable();
-    Stream.Duplex = require_duplex();
-    Stream.Transform = require_transform();
-    Stream.PassThrough = require_passthrough2();
-    Stream.pipeline = pipeline;
-    var { addAbortSignal } = require_add_abort_signal();
-    Stream.addAbortSignal = addAbortSignal;
-    Stream.finished = eos;
-    Stream.destroy = destroyer;
-    Stream.compose = compose;
-    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
-    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
-    ObjectDefineProperty(Stream, "promises", {
-      __proto__: null,
-      configurable: true,
-      enumerable: true,
-      get() {
-        return promises3;
+        super(processBlobParts(fileBits, options), { type: t });
+        this[kState] = {
+          name: n,
+          lastModified: d,
+          type: t
+        };
       }
-    });
-    ObjectDefineProperty(pipeline, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises3.pipeline;
+      get name() {
+        webidl.brandCheck(this, _File);
+        return this[kState].name;
       }
-    });
-    ObjectDefineProperty(eos, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises3.finished;
+      get lastModified() {
+        webidl.brandCheck(this, _File);
+        return this[kState].lastModified;
+      }
+      get type() {
+        webidl.brandCheck(this, _File);
+        return this[kState].type;
       }
-    });
-    Stream.Stream = Stream;
-    Stream._isUint8Array = function isUint8Array(value) {
-      return value instanceof Uint8Array;
-    };
-    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
     };
-  }
-});
-
-// node_modules/readable-stream/lib/ours/index.js
-var require_ours = __commonJS({
-  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
-    "use strict";
-    var Stream = require("stream");
-    if (Stream && process.env.READABLE_STREAM === "disable") {
-      const promises3 = Stream.promises;
-      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = Stream._isUint8Array;
-      module2.exports.isDisturbed = Stream.isDisturbed;
-      module2.exports.isErrored = Stream.isErrored;
-      module2.exports.isReadable = Stream.isReadable;
-      module2.exports.Readable = Stream.Readable;
-      module2.exports.Writable = Stream.Writable;
-      module2.exports.Duplex = Stream.Duplex;
-      module2.exports.Transform = Stream.Transform;
-      module2.exports.PassThrough = Stream.PassThrough;
-      module2.exports.addAbortSignal = Stream.addAbortSignal;
-      module2.exports.finished = Stream.finished;
-      module2.exports.destroy = Stream.destroy;
-      module2.exports.pipeline = Stream.pipeline;
-      module2.exports.compose = Stream.compose;
-      Object.defineProperty(Stream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises3;
-        }
-      });
-      module2.exports.Stream = Stream.Stream;
-    } else {
-      const CustomStream = require_stream2();
-      const promises3 = require_promises();
-      const originalDestroy = CustomStream.Readable.destroy;
-      module2.exports = CustomStream.Readable;
-      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = CustomStream._isUint8Array;
-      module2.exports.isDisturbed = CustomStream.isDisturbed;
-      module2.exports.isErrored = CustomStream.isErrored;
-      module2.exports.isReadable = CustomStream.isReadable;
-      module2.exports.Readable = CustomStream.Readable;
-      module2.exports.Writable = CustomStream.Writable;
-      module2.exports.Duplex = CustomStream.Duplex;
-      module2.exports.Transform = CustomStream.Transform;
-      module2.exports.PassThrough = CustomStream.PassThrough;
-      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
-      module2.exports.finished = CustomStream.finished;
-      module2.exports.destroy = CustomStream.destroy;
-      module2.exports.destroy = originalDestroy;
-      module2.exports.pipeline = CustomStream.pipeline;
-      module2.exports.compose = CustomStream.compose;
-      Object.defineProperty(CustomStream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises3;
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
+      }
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
+      }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
+      }
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
+      }
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
+      }
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
+      }
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
+      }
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
+      }
+      get [Symbol.toStringTag]() {
+        return "File";
+      }
+    };
+    Object.defineProperties(File2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "File",
+        configurable: true
+      },
+      name: kEnumerableProperty,
+      lastModified: kEnumerableProperty
+    });
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    webidl.converters.BlobPart = function(V, opts) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V, opts);
         }
-      });
-      module2.exports.Stream = CustomStream.Stream;
-    }
-    module2.exports.default = module2.exports;
-  }
-});
-
-// node_modules/lodash/_arrayPush.js
-var require_arrayPush = __commonJS({
-  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
-    function arrayPush(array, values) {
-      var index = -1, length = values.length, offset = array.length;
-      while (++index < length) {
-        array[offset + index] = values[index];
       }
-      return array;
-    }
-    module2.exports = arrayPush;
-  }
-});
-
-// node_modules/lodash/_isFlattenable.js
-var require_isFlattenable = __commonJS({
-  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
-    function isFlattenable(value) {
-      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
-    }
-    module2.exports = isFlattenable;
-  }
-});
-
-// node_modules/lodash/_baseFlatten.js
-var require_baseFlatten = __commonJS({
-  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
-    var arrayPush = require_arrayPush();
-    var isFlattenable = require_isFlattenable();
-    function baseFlatten(array, depth, predicate, isStrict, result) {
-      var index = -1, length = array.length;
-      predicate || (predicate = isFlattenable);
-      result || (result = []);
-      while (++index < length) {
-        var value = array[index];
-        if (depth > 0 && predicate(value)) {
-          if (depth > 1) {
-            baseFlatten(value, depth - 1, predicate, isStrict, result);
+      return webidl.converters.USVString(V, opts);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.BlobPart
+    );
+    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
+      {
+        key: "lastModified",
+        converter: webidl.converters["long long"],
+        get defaultValue() {
+          return Date.now();
+        }
+      },
+      {
+        key: "type",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "endings",
+        converter: (value) => {
+          value = webidl.converters.DOMString(value);
+          value = value.toLowerCase();
+          if (value !== "native") {
+            value = "transparent";
+          }
+          return value;
+        },
+        defaultValue: "transparent"
+      }
+    ]);
+    function processBlobParts(parts, options) {
+      const bytes = [];
+      for (const element of parts) {
+        if (typeof element === "string") {
+          let s = element;
+          if (options.endings === "native") {
+            s = convertLineEndingsNative(s);
+          }
+          bytes.push(encoder.encode(s));
+        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
+          if (!element.buffer) {
+            bytes.push(new Uint8Array(element));
           } else {
-            arrayPush(result, value);
+            bytes.push(
+              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
+            );
           }
-        } else if (!isStrict) {
-          result[result.length] = value;
+        } else if (isBlobLike(element)) {
+          bytes.push(element);
         }
       }
-      return result;
-    }
-    module2.exports = baseFlatten;
-  }
-});
-
-// node_modules/lodash/flatten.js
-var require_flatten = __commonJS({
-  "node_modules/lodash/flatten.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    function flatten(array) {
-      var length = array == null ? 0 : array.length;
-      return length ? baseFlatten(array, 1) : [];
-    }
-    module2.exports = flatten;
-  }
-});
-
-// node_modules/lodash/_nativeCreate.js
-var require_nativeCreate = __commonJS({
-  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var nativeCreate = getNative(Object, "create");
-    module2.exports = nativeCreate;
-  }
-});
-
-// node_modules/lodash/_hashClear.js
-var require_hashClear = __commonJS({
-  "node_modules/lodash/_hashClear.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    function hashClear() {
-      this.__data__ = nativeCreate ? nativeCreate(null) : {};
-      this.size = 0;
-    }
-    module2.exports = hashClear;
-  }
-});
-
-// node_modules/lodash/_hashDelete.js
-var require_hashDelete = __commonJS({
-  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
-    function hashDelete(key) {
-      var result = this.has(key) && delete this.__data__[key];
-      this.size -= result ? 1 : 0;
-      return result;
+      return bytes;
     }
-    module2.exports = hashDelete;
-  }
-});
-
-// node_modules/lodash/_hashGet.js
-var require_hashGet = __commonJS({
-  "node_modules/lodash/_hashGet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashGet(key) {
-      var data = this.__data__;
-      if (nativeCreate) {
-        var result = data[key];
-        return result === HASH_UNDEFINED ? void 0 : result;
+    function convertLineEndingsNative(s) {
+      let nativeLineEnding = "\n";
+      if (process.platform === "win32") {
+        nativeLineEnding = "\r\n";
       }
-      return hasOwnProperty.call(data, key) ? data[key] : void 0;
-    }
-    module2.exports = hashGet;
-  }
-});
-
-// node_modules/lodash/_hashHas.js
-var require_hashHas = __commonJS({
-  "node_modules/lodash/_hashHas.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashHas(key) {
-      var data = this.__data__;
-      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
+      return s.replace(/\r?\n/g, nativeLineEnding);
     }
-    module2.exports = hashHas;
-  }
-});
-
-// node_modules/lodash/_hashSet.js
-var require_hashSet = __commonJS({
-  "node_modules/lodash/_hashSet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function hashSet(key, value) {
-      var data = this.__data__;
-      this.size += this.has(key) ? 0 : 1;
-      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
-      return this;
+    function isFileLike(object) {
+      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
     }
-    module2.exports = hashSet;
+    module2.exports = { File: File2, FileLike, isFileLike };
   }
 });
 
-// node_modules/lodash/_Hash.js
-var require_Hash = __commonJS({
-  "node_modules/lodash/_Hash.js"(exports2, module2) {
-    var hashClear = require_hashClear();
-    var hashDelete = require_hashDelete();
-    var hashGet = require_hashGet();
-    var hashHas = require_hashHas();
-    var hashSet = require_hashSet();
-    function Hash(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+// node_modules/undici/lib/fetch/formdata.js
+var require_formdata3 = __commonJS({
+  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, toUSVString, makeIterator } = require_util25();
+    var { kState } = require_symbols12();
+    var { File: UndiciFile, FileLike, isFileLike } = require_file5();
+    var { webidl } = require_webidl3();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var File2 = NativeFile ?? UndiciFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
       }
-    }
-    Hash.prototype.clear = hashClear;
-    Hash.prototype["delete"] = hashDelete;
-    Hash.prototype.get = hashGet;
-    Hash.prototype.has = hashHas;
-    Hash.prototype.set = hashSet;
-    module2.exports = Hash;
-  }
-});
-
-// node_modules/lodash/_listCacheClear.js
-var require_listCacheClear = __commonJS({
-  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
-    function listCacheClear() {
-      this.__data__ = [];
-      this.size = 0;
-    }
-    module2.exports = listCacheClear;
-  }
-});
-
-// node_modules/lodash/_assocIndexOf.js
-var require_assocIndexOf = __commonJS({
-  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
-    var eq = require_eq2();
-    function assocIndexOf(array, key) {
-      var length = array.length;
-      while (length--) {
-        if (eq(array[length][0], key)) {
-          return length;
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
         }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
       }
-      return -1;
-    }
-    module2.exports = assocIndexOf;
-  }
-});
-
-// node_modules/lodash/_listCacheDelete.js
-var require_listCacheDelete = __commonJS({
-  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    var arrayProto = Array.prototype;
-    var splice = arrayProto.splice;
-    function listCacheDelete(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
-        return false;
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
+        name = webidl.converters.USVString(name);
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
       }
-      var lastIndex = data.length - 1;
-      if (index == lastIndex) {
-        data.pop();
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
+        name = webidl.converters.USVString(name);
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
+      }
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
+        name = webidl.converters.USVString(name);
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
+        name = webidl.converters.USVString(name);
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
+        } else {
+          this[kState].push(entry);
+        }
+      }
+      entries() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key+value"
+        );
+      }
+      keys() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key"
+        );
+      }
+      values() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "value"
+        );
+      }
+      /**
+       * @param {(value: string, key: string, self: FormData) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
+      }
+    };
+    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
+    Object.defineProperties(FormData2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      name = Buffer.from(name).toString("utf8");
+      if (typeof value === "string") {
+        value = Buffer.from(value).toString("utf8");
       } else {
-        splice.call(data, index, 1);
+        if (!isFileLike(value)) {
+          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
       }
-      --this.size;
-      return true;
-    }
-    module2.exports = listCacheDelete;
-  }
-});
-
-// node_modules/lodash/_listCacheGet.js
-var require_listCacheGet = __commonJS({
-  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheGet(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      return index < 0 ? void 0 : data[index][1];
+      return { name, value };
     }
-    module2.exports = listCacheGet;
+    module2.exports = { FormData: FormData2 };
   }
 });
 
-// node_modules/lodash/_listCacheHas.js
-var require_listCacheHas = __commonJS({
-  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheHas(key) {
-      return assocIndexOf(this.__data__, key) > -1;
+// node_modules/undici/lib/fetch/body.js
+var require_body3 = __commonJS({
+  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var Busboy = require_main();
+    var util = require_util24();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody
+    } = require_util25();
+    var { FormData: FormData2 } = require_formdata3();
+    var { kState } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2, structuredClone } = require_constants21();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { isErrored } = require_util24();
+    var { isUint8Array, isArrayBuffer } = require("util/types");
+    var { File: UndiciFile } = require_file5();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
     }
-    module2.exports = listCacheHas;
-  }
-});
-
-// node_modules/lodash/_listCacheSet.js
-var require_listCacheSet = __commonJS({
-  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheSet(key, value) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
-        ++this.size;
-        data.push([key, value]);
+    var ReadableStream2 = globalThis.ReadableStream;
+    var File2 = NativeFile ?? UndiciFile;
+    var textEncoder = new TextEncoder();
+    var textDecoder = new TextDecoder();
+    function extractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      let stream = null;
+      if (object instanceof ReadableStream2) {
+        stream = object;
+      } else if (isBlobLike(object)) {
+        stream = object.stream();
       } else {
-        data[index][1] = value;
+        stream = new ReadableStream2({
+          async pull(controller) {
+            controller.enqueue(
+              typeof source === "string" ? textEncoder.encode(source) : source
+            );
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: void 0
+        });
       }
-      return this;
+      assert(isReadableStreamLike(stream));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
+            }
+          }
+        }
+        const chunk = textEncoder.encode(`--${boundary}--`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
+          }
+        };
+        type2 = "multipart/form-data; boundary=" + boundary;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream = new ReadableStream2({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              if (!isErrored(stream)) {
+                controller.enqueue(new Uint8Array(value));
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: void 0
+        });
+      }
+      const body = { stream, source, length };
+      return [body, type2];
     }
-    module2.exports = listCacheSet;
-  }
-});
-
-// node_modules/lodash/_ListCache.js
-var require_ListCache = __commonJS({
-  "node_modules/lodash/_ListCache.js"(exports2, module2) {
-    var listCacheClear = require_listCacheClear();
-    var listCacheDelete = require_listCacheDelete();
-    var listCacheGet = require_listCacheGet();
-    var listCacheHas = require_listCacheHas();
-    var listCacheSet = require_listCacheSet();
-    function ListCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    function safelyExtractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      if (object instanceof ReadableStream2) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
       }
+      return extractBody(object, keepalive);
     }
-    ListCache.prototype.clear = listCacheClear;
-    ListCache.prototype["delete"] = listCacheDelete;
-    ListCache.prototype.get = listCacheGet;
-    ListCache.prototype.has = listCacheHas;
-    ListCache.prototype.set = listCacheSet;
-    module2.exports = ListCache;
-  }
-});
-
-// node_modules/lodash/_Map.js
-var require_Map = __commonJS({
-  "node_modules/lodash/_Map.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Map2 = getNative(root, "Map");
-    module2.exports = Map2;
-  }
-});
-
-// node_modules/lodash/_mapCacheClear.js
-var require_mapCacheClear = __commonJS({
-  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
-    var Hash = require_Hash();
-    var ListCache = require_ListCache();
-    var Map2 = require_Map();
-    function mapCacheClear() {
-      this.size = 0;
-      this.__data__ = {
-        "hash": new Hash(),
-        "map": new (Map2 || ListCache)(),
-        "string": new Hash()
+    function cloneBody(body) {
+      const [out1, out2] = body.stream.tee();
+      const out2Clone = structuredClone(out2, { transfer: [out2] });
+      const [, finalClone] = out2Clone.tee();
+      body.stream = out1;
+      return {
+        stream: finalClone,
+        length: body.length,
+        source: body.source
       };
     }
-    module2.exports = mapCacheClear;
-  }
-});
-
-// node_modules/lodash/_isKeyable.js
-var require_isKeyable = __commonJS({
-  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
-    function isKeyable(value) {
-      var type2 = typeof value;
-      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
-    }
-    module2.exports = isKeyable;
-  }
-});
-
-// node_modules/lodash/_getMapData.js
-var require_getMapData = __commonJS({
-  "node_modules/lodash/_getMapData.js"(exports2, module2) {
-    var isKeyable = require_isKeyable();
-    function getMapData(map2, key) {
-      var data = map2.__data__;
-      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
-    }
-    module2.exports = getMapData;
-  }
-});
-
-// node_modules/lodash/_mapCacheDelete.js
-var require_mapCacheDelete = __commonJS({
-  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheDelete(key) {
-      var result = getMapData(this, key)["delete"](key);
-      this.size -= result ? 1 : 0;
-      return result;
-    }
-    module2.exports = mapCacheDelete;
-  }
-});
-
-// node_modules/lodash/_mapCacheGet.js
-var require_mapCacheGet = __commonJS({
-  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheGet(key) {
-      return getMapData(this, key).get(key);
-    }
-    module2.exports = mapCacheGet;
-  }
-});
-
-// node_modules/lodash/_mapCacheHas.js
-var require_mapCacheHas = __commonJS({
-  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheHas(key) {
-      return getMapData(this, key).has(key);
-    }
-    module2.exports = mapCacheHas;
-  }
-});
-
-// node_modules/lodash/_mapCacheSet.js
-var require_mapCacheSet = __commonJS({
-  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheSet(key, value) {
-      var data = getMapData(this, key), size = data.size;
-      data.set(key, value);
-      this.size += data.size == size ? 0 : 1;
-      return this;
-    }
-    module2.exports = mapCacheSet;
-  }
-});
-
-// node_modules/lodash/_MapCache.js
-var require_MapCache = __commonJS({
-  "node_modules/lodash/_MapCache.js"(exports2, module2) {
-    var mapCacheClear = require_mapCacheClear();
-    var mapCacheDelete = require_mapCacheDelete();
-    var mapCacheGet = require_mapCacheGet();
-    var mapCacheHas = require_mapCacheHas();
-    var mapCacheSet = require_mapCacheSet();
-    function MapCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    async function* consumeBody(body) {
+      if (body) {
+        if (isUint8Array(body)) {
+          yield body;
+        } else {
+          const stream = body.stream;
+          if (util.isDisturbed(stream)) {
+            throw new TypeError("The body has already been consumed.");
+          }
+          if (stream.locked) {
+            throw new TypeError("The stream is locked.");
+          }
+          stream[kBodyUsed] = true;
+          yield* stream;
+        }
       }
     }
-    MapCache.prototype.clear = mapCacheClear;
-    MapCache.prototype["delete"] = mapCacheDelete;
-    MapCache.prototype.get = mapCacheGet;
-    MapCache.prototype.has = mapCacheHas;
-    MapCache.prototype.set = mapCacheSet;
-    module2.exports = MapCache;
-  }
-});
-
-// node_modules/lodash/_setCacheAdd.js
-var require_setCacheAdd = __commonJS({
-  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function setCacheAdd(value) {
-      this.__data__.set(value, HASH_UNDEFINED);
-      return this;
-    }
-    module2.exports = setCacheAdd;
-  }
-});
-
-// node_modules/lodash/_setCacheHas.js
-var require_setCacheHas = __commonJS({
-  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
-    function setCacheHas(value) {
-      return this.__data__.has(value);
-    }
-    module2.exports = setCacheHas;
-  }
-});
-
-// node_modules/lodash/_SetCache.js
-var require_SetCache = __commonJS({
-  "node_modules/lodash/_SetCache.js"(exports2, module2) {
-    var MapCache = require_MapCache();
-    var setCacheAdd = require_setCacheAdd();
-    var setCacheHas = require_setCacheHas();
-    function SetCache(values) {
-      var index = -1, length = values == null ? 0 : values.length;
-      this.__data__ = new MapCache();
-      while (++index < length) {
-        this.add(values[index]);
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException2("The operation was aborted.", "AbortError");
       }
     }
-    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
-    SetCache.prototype.has = setCacheHas;
-    module2.exports = SetCache;
-  }
-});
-
-// node_modules/lodash/_baseFindIndex.js
-var require_baseFindIndex = __commonJS({
-  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
-    function baseFindIndex(array, predicate, fromIndex, fromRight) {
-      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
-      while (fromRight ? index-- : ++index < length) {
-        if (predicate(array[index], index, array)) {
-          return index;
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return specConsumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === "failure") {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return specConsumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return specConsumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return specConsumeBody(this, parseJSONFromBytes, instance);
+        },
+        async formData() {
+          webidl.brandCheck(this, instance);
+          throwIfAborted(this[kState]);
+          const contentType = this.headers.get("Content-Type");
+          if (/multipart\/form-data/.test(contentType)) {
+            const headers = {};
+            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
+            const responseFormData = new FormData2();
+            let busboy;
+            try {
+              busboy = new Busboy({
+                headers,
+                preservePath: true
+              });
+            } catch (err) {
+              throw new DOMException2(`${err}`, "AbortError");
+            }
+            busboy.on("field", (name, value) => {
+              responseFormData.append(name, value);
+            });
+            busboy.on("file", (name, value, filename, encoding, mimeType) => {
+              const chunks = [];
+              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
+                let base64chunk = "";
+                value.on("data", (chunk) => {
+                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
+                  const end = base64chunk.length - base64chunk.length % 4;
+                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
+                  base64chunk = base64chunk.slice(end);
+                });
+                value.on("end", () => {
+                  chunks.push(Buffer.from(base64chunk, "base64"));
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              } else {
+                value.on("data", (chunk) => {
+                  chunks.push(chunk);
+                });
+                value.on("end", () => {
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              }
+            });
+            const busboyResolve = new Promise((resolve5, reject) => {
+              busboy.on("finish", resolve5);
+              busboy.on("error", (err) => reject(new TypeError(err)));
+            });
+            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
+            busboy.end();
+            await busboyResolve;
+            return responseFormData;
+          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
+            let entries;
+            try {
+              let text = "";
+              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
+              for await (const chunk of consumeBody(this[kState].body)) {
+                if (!isUint8Array(chunk)) {
+                  throw new TypeError("Expected Uint8Array chunk");
+                }
+                text += streamingDecoder.decode(chunk, { stream: true });
+              }
+              text += streamingDecoder.decode();
+              entries = new URLSearchParams(text);
+            } catch (err) {
+              throw Object.assign(new TypeError(), { cause: err });
+            }
+            const formData = new FormData2();
+            for (const [name, value] of entries) {
+              formData.append(name, value);
+            }
+            return formData;
+          } else {
+            await Promise.resolve();
+            throwIfAborted(this[kState]);
+            throw webidl.errors.exception({
+              header: `${instance.name}.formData`,
+              message: "Could not parse content as FormData."
+            });
+          }
         }
-      }
-      return -1;
+      };
+      return methods;
     }
-    module2.exports = baseFindIndex;
-  }
-});
-
-// node_modules/lodash/_baseIsNaN.js
-var require_baseIsNaN = __commonJS({
-  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
-    function baseIsNaN(value) {
-      return value !== value;
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
     }
-    module2.exports = baseIsNaN;
-  }
-});
-
-// node_modules/lodash/_strictIndexOf.js
-var require_strictIndexOf = __commonJS({
-  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
-    function strictIndexOf(array, value, fromIndex) {
-      var index = fromIndex - 1, length = array.length;
-      while (++index < length) {
-        if (array[index] === value) {
-          return index;
-        }
+    async function specConsumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      throwIfAborted(object[kState]);
+      if (bodyUnusable(object[kState].body)) {
+        throw new TypeError("Body is unusable");
       }
-      return -1;
-    }
-    module2.exports = strictIndexOf;
-  }
-});
-
-// node_modules/lodash/_baseIndexOf.js
-var require_baseIndexOf = __commonJS({
-  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
-    var baseFindIndex = require_baseFindIndex();
-    var baseIsNaN = require_baseIsNaN();
-    var strictIndexOf = require_strictIndexOf();
-    function baseIndexOf(array, value, fromIndex) {
-      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
-    }
-    module2.exports = baseIndexOf;
-  }
-});
-
-// node_modules/lodash/_arrayIncludes.js
-var require_arrayIncludes = __commonJS({
-  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
-    var baseIndexOf = require_baseIndexOf();
-    function arrayIncludes(array, value) {
-      var length = array == null ? 0 : array.length;
-      return !!length && baseIndexOf(array, value, 0) > -1;
-    }
-    module2.exports = arrayIncludes;
-  }
-});
-
-// node_modules/lodash/_arrayIncludesWith.js
-var require_arrayIncludesWith = __commonJS({
-  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
-    function arrayIncludesWith(array, value, comparator) {
-      var index = -1, length = array == null ? 0 : array.length;
-      while (++index < length) {
-        if (comparator(value, array[index])) {
-          return true;
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
         }
+      };
+      if (object[kState].body == null) {
+        successSteps(new Uint8Array());
+        return promise.promise;
       }
-      return false;
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
     }
-    module2.exports = arrayIncludesWith;
-  }
-});
-
-// node_modules/lodash/_arrayMap.js
-var require_arrayMap = __commonJS({
-  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
-    function arrayMap(array, iteratee) {
-      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
-      while (++index < length) {
-        result[index] = iteratee(array[index], index, array);
+    function bodyUnusable(body) {
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
       }
-      return result;
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
     }
-    module2.exports = arrayMap;
-  }
-});
-
-// node_modules/lodash/_cacheHas.js
-var require_cacheHas = __commonJS({
-  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
-    function cacheHas(cache, key) {
-      return cache.has(key);
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
     }
-    module2.exports = cacheHas;
+    function bodyMimeType(object) {
+      const { headersList } = object[kState];
+      const contentType = headersList.get("content-type");
+      if (contentType === null) {
+        return "failure";
+      }
+      return parseMIMEType(contentType);
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody
+    };
   }
 });
 
-// node_modules/lodash/_baseDifference.js
-var require_baseDifference = __commonJS({
-  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var arrayMap = require_arrayMap();
-    var baseUnary = require_baseUnary();
-    var cacheHas = require_cacheHas();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseDifference(array, values, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
-      if (!length) {
-        return result;
+// node_modules/undici/lib/core/request.js
+var require_request5 = __commonJS({
+  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+    "use strict";
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors6();
+    var assert = require("assert");
+    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols11();
+    var util = require_util24();
+    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var channels = {};
+    var extractBody;
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.create = diagnosticsChannel.channel("undici:request:create");
+      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
+      channels.headers = diagnosticsChannel.channel("undici:request:headers");
+      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
+      channels.error = diagnosticsChannel.channel("undici:request:error");
+    } catch {
+      channels.create = { hasSubscribers: false };
+      channels.bodySent = { hasSubscribers: false };
+      channels.headers = { hasSubscribers: false };
+      channels.trailers = { hasSubscribers: false };
+      channels.error = { hasSubscribers: false };
+    }
+    var Request = class _Request {
+      constructor(origin, {
+        path: path7,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue
+      }, handler2) {
+        if (typeof path7 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path7[0] !== "/" && !(path7.startsWith("http://") || path7.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.exec(path7) !== null) {
+          throw new InvalidArgumentError("invalid request path");
+        }
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (tokenRegExp.exec(method) === null) {
+          throw new InvalidArgumentError("invalid request method");
+        }
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
+        }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
+        }
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
+        }
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
+        }
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
+        }
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (util.isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              util.destroy(this);
+            };
+            this.body.on("end", this.endHandler);
+          }
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (util.isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? util.buildURL(path7, query) : path7;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = "";
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
+          }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
+          }
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(this, key, headers[key]);
+          }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        if (util.isFormDataLike(this.body)) {
+          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
+            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
+          }
+          if (!extractBody) {
+            extractBody = require_body3().extractBody;
+          }
+          const [bodyStream, contentType] = extractBody(body);
+          if (this.contentType == null) {
+            this.contentType = contentType;
+            this.headers += `content-type: ${contentType}\r
+`;
+          }
+          this.body = bodyStream.stream;
+          this.contentLength = bodyStream.length;
+        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
+          this.contentType = body.type;
+          this.headers += `content-type: ${body.type}\r
+`;
+        }
+        util.validateHandler(handler2, method, upgrade);
+        this.servername = util.getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
+        }
       }
-      if (iteratee) {
-        values = arrayMap(values, baseUnary(iteratee));
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (comparator) {
-        includes = arrayIncludesWith;
-        isCommon = false;
-      } else if (values.length >= LARGE_ARRAY_SIZE) {
-        includes = cacheHas;
-        isCommon = false;
-        values = new SetCache(values);
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
+        }
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee == null ? value : iteratee(value);
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var valuesIndex = valuesLength;
-            while (valuesIndex--) {
-              if (values[valuesIndex] === computed) {
-                continue outer;
-              }
-            }
-            result.push(value);
-          } else if (!includes(values, computed, comparator)) {
-            result.push(value);
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
+        } else {
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
+        }
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        }
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
+        }
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
+        }
+      }
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      }
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
+        }
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
+        }
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
+        }
+        if (this.aborted) {
+          return;
+        }
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
+        }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
+        }
+      }
+      // TODO: adjust to support H2
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
+      }
+      static [kHTTP1BuildRequest](origin, opts, handler2) {
+        return new _Request(origin, opts, handler2);
+      }
+      static [kHTTP2BuildRequest](origin, opts, handler2) {
+        const headers = opts.headers;
+        opts = { ...opts, headers: null };
+        const request2 = new _Request(origin, opts, handler2);
+        request2.headers = {};
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
+          }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(request2, headers[i], headers[i + 1], true);
+          }
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(request2, key, headers[key], true);
           }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
         }
-      return result;
-    }
-    module2.exports = baseDifference;
-  }
-});
-
-// node_modules/lodash/isArrayLikeObject.js
-var require_isArrayLikeObject = __commonJS({
-  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
-    var isArrayLike = require_isArrayLike();
-    var isObjectLike = require_isObjectLike();
-    function isArrayLikeObject(value) {
-      return isObjectLike(value) && isArrayLike(value);
-    }
-    module2.exports = isArrayLikeObject;
-  }
-});
-
-// node_modules/lodash/difference.js
-var require_difference = __commonJS({
-  "node_modules/lodash/difference.js"(exports2, module2) {
-    var baseDifference = require_baseDifference();
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var difference = baseRest(function(array, values) {
-      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
-    });
-    module2.exports = difference;
-  }
-});
-
-// node_modules/lodash/_Set.js
-var require_Set = __commonJS({
-  "node_modules/lodash/_Set.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Set2 = getNative(root, "Set");
-    module2.exports = Set2;
-  }
-});
-
-// node_modules/lodash/noop.js
-var require_noop = __commonJS({
-  "node_modules/lodash/noop.js"(exports2, module2) {
-    function noop3() {
-    }
-    module2.exports = noop3;
-  }
-});
-
-// node_modules/lodash/_setToArray.js
-var require_setToArray = __commonJS({
-  "node_modules/lodash/_setToArray.js"(exports2, module2) {
-    function setToArray(set2) {
-      var index = -1, result = Array(set2.size);
-      set2.forEach(function(value) {
-        result[++index] = value;
-      });
-      return result;
-    }
-    module2.exports = setToArray;
-  }
-});
-
-// node_modules/lodash/_createSet.js
-var require_createSet = __commonJS({
-  "node_modules/lodash/_createSet.js"(exports2, module2) {
-    var Set2 = require_Set();
-    var noop3 = require_noop();
-    var setToArray = require_setToArray();
-    var INFINITY = 1 / 0;
-    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
-      return new Set2(values);
+        return request2;
+      }
+      static [kHTTP2CopyHeaders](raw) {
+        const rawHeaders = raw.split("\r\n");
+        const headers = {};
+        for (const header of rawHeaders) {
+          const [key, value] = header.split(": ");
+          if (value == null || value.length === 0) continue;
+          if (headers[key]) headers[key] += `,${value}`;
+          else headers[key] = value;
+        }
+        return headers;
+      }
     };
-    module2.exports = createSet;
-  }
-});
-
-// node_modules/lodash/_baseUniq.js
-var require_baseUniq = __commonJS({
-  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var cacheHas = require_cacheHas();
-    var createSet = require_createSet();
-    var setToArray = require_setToArray();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseUniq(array, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
-      if (comparator) {
-        isCommon = false;
-        includes = arrayIncludesWith;
-      } else if (length >= LARGE_ARRAY_SIZE) {
-        var set2 = iteratee ? null : createSet(array);
-        if (set2) {
-          return setToArray(set2);
+    function processHeaderValue(key, val, skipAppend) {
+      if (val && typeof val === "object") {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      val = val != null ? `${val}` : "";
+      if (headerCharRegex.exec(val) !== null) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      return skipAppend ? val : `${key}: ${val}\r
+`;
+    }
+    function processHeader(request2, key, val, skipAppend = false) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
+      }
+      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
+        if (headerCharRegex.exec(val) !== null) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        isCommon = false;
-        includes = cacheHas;
-        seen = new SetCache();
+        request2.host = val;
+      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
+        }
+      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
+        request2.contentType = val;
+        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+        else request2.headers += processHeaderValue(key, val);
+      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
+        throw new InvalidArgumentError("invalid transfer-encoding header");
+      } else if (key.length === 10 && key.toLowerCase() === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
+        } else if (value === "close") {
+          request2.reset = true;
+        }
+      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
+        throw new InvalidArgumentError("invalid keep-alive header");
+      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
+        throw new InvalidArgumentError("invalid upgrade header");
+      } else if (key.length === 6 && key.toLowerCase() === "expect") {
+        throw new NotSupportedError("expect header not supported");
+      } else if (tokenRegExp.exec(key) === null) {
+        throw new InvalidArgumentError("invalid header key");
       } else {
-        seen = iteratee ? [] : result;
-      }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee ? iteratee(value) : value;
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var seenIndex = seen.length;
-            while (seenIndex--) {
-              if (seen[seenIndex] === computed) {
-                continue outer;
-              }
-            }
-            if (iteratee) {
-              seen.push(computed);
-            }
-            result.push(value);
-          } else if (!includes(seen, computed, comparator)) {
-            if (seen !== result) {
-              seen.push(computed);
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (skipAppend) {
+              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
+              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
+            } else {
+              request2.headers += processHeaderValue(key, val[i]);
             }
-            result.push(value);
           }
+        } else {
+          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+          else request2.headers += processHeaderValue(key, val);
         }
-      return result;
-    }
-    module2.exports = baseUniq;
-  }
-});
-
-// node_modules/lodash/union.js
-var require_union = __commonJS({
-  "node_modules/lodash/union.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var baseUniq = require_baseUniq();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var union = baseRest(function(arrays) {
-      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
-    });
-    module2.exports = union;
-  }
-});
-
-// node_modules/lodash/_overArg.js
-var require_overArg = __commonJS({
-  "node_modules/lodash/_overArg.js"(exports2, module2) {
-    function overArg(func, transform) {
-      return function(arg) {
-        return func(transform(arg));
-      };
+      }
     }
-    module2.exports = overArg;
-  }
-});
-
-// node_modules/lodash/_getPrototype.js
-var require_getPrototype = __commonJS({
-  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
-    var overArg = require_overArg();
-    var getPrototype = overArg(Object.getPrototypeOf, Object);
-    module2.exports = getPrototype;
+    module2.exports = Request;
   }
 });
 
-// node_modules/lodash/isPlainObject.js
-var require_isPlainObject = __commonJS({
-  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var getPrototype = require_getPrototype();
-    var isObjectLike = require_isObjectLike();
-    var objectTag = "[object Object]";
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var objectCtorString = funcToString.call(Object);
-    function isPlainObject3(value) {
-      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
-        return false;
+// node_modules/undici/lib/dispatcher.js
+var require_dispatcher3 = __commonJS({
+  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      var proto = getPrototype(value);
-      if (proto === null) {
-        return true;
+      close() {
+        throw new Error("not implemented");
       }
-      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
-      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
-    }
-    module2.exports = isPlainObject3;
+      destroy() {
+        throw new Error("not implemented");
+      }
+    };
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
-var require_commonjs18 = __commonJS({
-  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/dispatcher-base.js
+var require_dispatcher_base3 = __commonJS({
+  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.range = exports2.balanced = void 0;
-    var balanced = (a, b, str2) => {
-      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
-      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
-      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
-      return r && {
-        start: r[0],
-        end: r[1],
-        pre: str2.slice(0, r[0]),
-        body: str2.slice(r[0] + ma.length, r[1]),
-        post: str2.slice(r[1] + mb.length)
-      };
-    };
-    exports2.balanced = balanced;
-    var maybeMatch = (reg, str2) => {
-      const m = str2.match(reg);
-      return m ? m[0] : null;
-    };
-    var range = (a, b, str2) => {
-      let begs, beg, left, right = void 0, result;
-      let ai = str2.indexOf(a);
-      let bi = str2.indexOf(b, ai + 1);
-      let i = ai;
-      if (ai >= 0 && bi > 0) {
-        if (a === b) {
-          return [ai, bi];
+    var Dispatcher = require_dispatcher3();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors6();
+    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols11();
+    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
+    var kClosed = /* @__PURE__ */ Symbol("closed");
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
+      }
+      get destroyed() {
+        return this[kDestroyed];
+      }
+      get closed() {
+        return this[kClosed];
+      }
+      get interceptors() {
+        return this[kInterceptors];
+      }
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
+            }
+          }
         }
-        begs = [];
-        left = str2.length;
-        while (i >= 0 && !result) {
-          if (i === ai) {
-            begs.push(i);
-            ai = str2.indexOf(a, i + 1);
-          } else if (begs.length === 1) {
-            const r = begs.pop();
-            if (r !== void 0)
-              result = [r, bi];
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve5, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve5(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+          return;
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
           } else {
-            beg = begs.pop();
-            if (beg !== void 0 && beg < left) {
-              left = beg;
-              right = bi;
-            }
-            bi = str2.indexOf(b, i + 1);
+            queueMicrotask(() => callback(null, null));
           }
-          i = ai < bi && ai >= 0 ? ai : bi;
+          return;
         }
-        if (begs.length && right !== void 0) {
-          result = [left, right];
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
+        });
+      }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve5, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve5(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
+        }
+        if (!err) {
+          err = new ClientDestroyedError();
+        }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
+        });
+      }
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
+        }
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
+        }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
+      }
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
+        }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
+          }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
+          }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
+          }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
+          }
+          handler2.onError(err);
+          return false;
         }
       }
-      return result;
     };
-    exports2.range = range;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
-var require_commonjs19 = __commonJS({
-  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/core/connect.js
+var require_connect3 = __commonJS({
+  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.expand = expand2;
-    var balanced_match_1 = require_commonjs18();
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    var escSlashPattern = new RegExp(escSlash, "g");
-    var escOpenPattern = new RegExp(escOpen, "g");
-    var escClosePattern = new RegExp(escClose, "g");
-    var escCommaPattern = new RegExp(escComma, "g");
-    var escPeriodPattern = new RegExp(escPeriod, "g");
-    var slashPattern = /\\\\/g;
-    var openPattern = /\\{/g;
-    var closePattern = /\\}/g;
-    var commaPattern = /\\,/g;
-    var periodPattern = /\\./g;
-    function numeric(str2) {
-      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2) {
-        return [""];
-      }
-      const parts = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m) {
-        return str2.split(",");
-      }
-      const { pre, body, post } = m;
-      const p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      const postParts = parseCommaParts(post);
-      if (post.length) {
-        ;
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
-      }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expand2(str2) {
-      if (!str2) {
-        return [];
-      }
-      if (str2.slice(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.slice(2);
-      }
-      return expand_(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand_(str2, isTop) {
-      const expansions = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m)
-        return [str2];
-      const pre = m.pre;
-      const post = m.post.length ? expand_(m.post, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (let k = 0; k < post.length; k++) {
-          const expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
+    var net = require("net");
+    var assert = require("assert");
+    var util = require_util24();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors6();
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
         }
-      } else {
-        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        const isSequence = isNumericSequence || isAlphaSequence;
-        const isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand_(str2);
-          }
-          return [str2];
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-        let n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1 && n[0] !== void 0) {
-            n = expand_(n[0], false).map(embrace);
-            if (n.length === 1) {
-              return post.map((p) => m.pre + n[0] + p);
-            }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-        let N;
-        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
-          const x = numeric(n[0]);
-          const y = numeric(n[1]);
-          const width = Math.max(n[0].length, n[1].length);
-          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
-          let test = lte;
-          const reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+        }
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          const pad = n.some(isPadded);
-          N = [];
-          for (let i = x; test(i, y); i += incr) {
-            let c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\") {
-                c = "";
-              }
-            } else {
-              c = String(i);
-              if (pad) {
-                const need = width - c.length;
-                if (need > 0) {
-                  const z = new Array(need + 1).join("0");
-                  if (i < 0) {
-                    c = "-" + z + c.slice(1);
-                  } else {
-                    c = z + c;
-                  }
-                }
-              }
-            }
-            N.push(c);
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
+          }
+          this._sessionCache.set(sessionKey, session);
+        }
+      };
+    }
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+      }
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          const session = sessionCache.get(sessionKey) || null;
+          assert(sessionKey);
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port: port || 443,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
         } else {
-          N = [];
-          for (let j = 0; j < n.length; j++) {
-            N.push.apply(N, expand_(n[j], false));
-          }
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port: port || 80,
+            host: hostname
+          });
         }
-        for (let j = 0; j < N.length; j++) {
-          for (let k = 0; k < post.length; k++) {
-            const expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion) {
-              expansions.push(expansion);
-            }
-          }
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
+        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
+          }
+        }).on("error", function(err) {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
+          }
+        });
+        return socket;
+      };
+    }
+    function setupTimeout(onConnectTimeout2, timeout) {
+      if (!timeout) {
+        return () => {
+        };
       }
-      return expansions;
+      let s1 = null;
+      let s2 = null;
+      const timeoutId = setTimeout(() => {
+        s1 = setImmediate(() => {
+          if (process.platform === "win32") {
+            s2 = setImmediate(() => onConnectTimeout2());
+          } else {
+            onConnectTimeout2();
+          }
+        });
+      }, timeout);
+      return () => {
+        clearTimeout(timeoutId);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
     }
+    function onConnectTimeout(socket) {
+      util.destroy(socket, new ConnectTimeoutError());
+    }
+    module2.exports = buildConnector;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
-var require_assert_valid_pattern = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
+// node_modules/undici/lib/llhttp/utils.js
+var require_utils9 = __commonJS({
+  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertValidPattern = void 0;
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
-      }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
-      }
-    };
-    exports2.assertValidPattern = assertValidPattern;
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
+        }
+      });
+      return res;
+    }
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
-var require_brace_expressions = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
+// node_modules/undici/lib/llhttp/constants.js
+var require_constants22 = __commonJS({
+  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseClass = void 0;
-    var posixClasses = {
-      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
-      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
-      "[:ascii:]": ["\\x00-\\x7f", false],
-      "[:blank:]": ["\\p{Zs}\\t", true],
-      "[:cntrl:]": ["\\p{Cc}", true],
-      "[:digit:]": ["\\p{Nd}", true],
-      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
-      "[:lower:]": ["\\p{Ll}", true],
-      "[:print:]": ["\\p{C}", true],
-      "[:punct:]": ["\\p{P}", true],
-      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
-      "[:upper:]": ["\\p{Lu}", true],
-      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
-      "[:xdigit:]": ["A-Fa-f0-9", false]
-    };
-    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
-    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var rangesToString = (ranges) => ranges.join("");
-    var parseClass = (glob2, position) => {
-      const pos = position;
-      if (glob2.charAt(pos) !== "[") {
-        throw new Error("not in a brace expression");
-      }
-      const ranges = [];
-      const negs = [];
-      let i = pos + 1;
-      let sawStart = false;
-      let uflag = false;
-      let escaping = false;
-      let negate = false;
-      let endPos = pos;
-      let rangeStart = "";
-      WHILE: while (i < glob2.length) {
-        const c = glob2.charAt(i);
-        if ((c === "!" || c === "^") && i === pos + 1) {
-          negate = true;
-          i++;
-          continue;
-        }
-        if (c === "]" && sawStart && !escaping) {
-          endPos = i + 1;
-          break;
-        }
-        sawStart = true;
-        if (c === "\\") {
-          if (!escaping) {
-            escaping = true;
-            i++;
-            continue;
-          }
-        }
-        if (c === "[" && !escaping) {
-          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
-            if (glob2.startsWith(cls, i)) {
-              if (rangeStart) {
-                return ["$.", false, glob2.length - pos, true];
-              }
-              i += cls.length;
-              if (neg)
-                negs.push(unip);
-              else
-                ranges.push(unip);
-              uflag = uflag || u;
-              continue WHILE;
-            }
-          }
-        }
-        escaping = false;
-        if (rangeStart) {
-          if (c > rangeStart) {
-            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
-          } else if (c === rangeStart) {
-            ranges.push(braceEscape(c));
-          }
-          rangeStart = "";
-          i++;
-          continue;
-        }
-        if (glob2.startsWith("-]", i + 1)) {
-          ranges.push(braceEscape(c + "-"));
-          i += 2;
-          continue;
-        }
-        if (glob2.startsWith("-", i + 1)) {
-          rangeStart = c;
-          i += 2;
-          continue;
-        }
-        ranges.push(braceEscape(c));
-        i++;
-      }
-      if (endPos < i) {
-        return ["", false, 0, false];
-      }
-      if (!ranges.length && !negs.length) {
-        return ["$.", false, glob2.length - pos, true];
-      }
-      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate) {
-        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
-        return [regexpEscape(r), false, endPos - pos, false];
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils9();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
       }
-      const sranges = "[" + (negate ? "^" : "") + rangesToString(ranges) + "]";
-      const snegs = "[" + (negate ? "" : "^") + rangesToString(negs) + "]";
-      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
-      return [comb, uflag, endPos - pos, true];
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
     };
-    exports2.parseClass = parseClass;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
-var require_unescape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = void 0;
-    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
+    exports2.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
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
       }
-      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
+    }
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
     };
-    exports2.unescape = unescape;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
-var require_ast = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
+// node_modules/undici/lib/handler/RedirectHandler.js
+var require_RedirectHandler = __commonJS({
+  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AST = void 0;
-    var brace_expressions_js_1 = require_brace_expressions();
-    var unescape_js_1 = require_unescape();
-    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
-    var isExtglobType = (c) => types.has(c);
-    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
-    var startNoDot = "(?!\\.)";
-    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
-    var justDots = /* @__PURE__ */ new Set(["..", "."]);
-    var reSpecials = new Set("().*{}+?[]^$\\!");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var starNoEmpty = qmark + "+?";
-    var AST = class _AST {
-      type;
-      #root;
-      #hasMagic;
-      #uflag = false;
-      #parts = [];
-      #parent;
-      #parentIndex;
-      #negs;
-      #filledNegs = false;
-      #options;
-      #toString;
-      // set to true if it's an extglob with no children
-      // (which really means one child of '')
-      #emptyExt = false;
-      constructor(type2, parent, options = {}) {
-        this.type = type2;
-        if (type2)
-          this.#hasMagic = true;
-        this.#parent = parent;
-        this.#root = this.#parent ? this.#parent.#root : this;
-        this.#options = this.#root === this ? options : this.#root.#options;
-        this.#negs = this.#root === this ? [] : this.#root.#negs;
-        if (type2 === "!" && !this.#root.#filledNegs)
-          this.#negs.push(this);
-        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
+    var util = require_util24();
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { InvalidArgumentError } = require_errors6();
+    var EE = require("events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
       }
-      get hasMagic() {
-        if (this.#hasMagic !== void 0)
-          return this.#hasMagic;
-        for (const p of this.#parts) {
-          if (typeof p === "string")
-            continue;
-          if (p.type || p.hasMagic)
-            return this.#hasMagic = true;
-        }
-        return this.#hasMagic;
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
       }
-      // reconstructs the pattern
-      toString() {
-        if (this.#toString !== void 0)
-          return this.#toString;
-        if (!this.type) {
-          return this.#toString = this.#parts.map((p) => String(p)).join("");
-        } else {
-          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-      }
-      #fillNegs() {
-        if (this !== this.#root)
-          throw new Error("should only call on root");
-        if (this.#filledNegs)
-          return this;
-        this.toString();
-        this.#filledNegs = true;
-        let n;
-        while (n = this.#negs.pop()) {
-          if (n.type !== "!")
-            continue;
-          let p = n;
-          let pp = p.#parent;
-          while (pp) {
-            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
-              for (const part of n.#parts) {
-                if (typeof part === "string") {
-                  throw new Error("string part in extglob AST??");
-                }
-                part.copyIn(pp.#parts[i]);
-              }
-            }
-            p = pp;
-            pp = p.#parent;
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
           }
-        }
-        return this;
-      }
-      push(...parts) {
-        for (const p of parts) {
-          if (p === "")
-            continue;
-          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
-            throw new Error("invalid part: " + p);
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
           }
-          this.#parts.push(p);
-        }
-      }
-      toJSON() {
-        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
-        if (this.isStart() && !this.type)
-          ret.unshift([]);
-        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
-          ret.push({});
+        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
         }
-        return ret;
       }
-      isStart() {
-        if (this.#root === this)
-          return true;
-        if (!this.#parent?.isStart())
-          return false;
-        if (this.#parentIndex === 0)
-          return true;
-        const p = this.#parent;
-        for (let i = 0; i < this.#parentIndex; i++) {
-          const pp = p.#parts[i];
-          if (!(pp instanceof _AST && pp.type === "!")) {
-            return false;
-          }
-        }
-        return true;
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      isEnd() {
-        if (this.#root === this)
-          return true;
-        if (this.#parent?.type === "!")
-          return true;
-        if (!this.#parent?.isEnd())
-          return false;
-        if (!this.type)
-          return this.#parent?.isEnd();
-        const pl = this.#parent ? this.#parent.#parts.length : 0;
-        return this.#parentIndex === pl - 1;
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      copyIn(part) {
-        if (typeof part === "string")
-          this.push(part);
-        else
-          this.push(part.clone(this));
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      clone(parent) {
-        const c = new _AST(this.type, parent);
-        for (const p of this.#parts) {
-          c.copyIn(p);
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
         }
-        return c;
-      }
-      static #parseAST(str2, ast, pos, opt) {
-        let escaping = false;
-        let inBrace = false;
-        let braceStart = -1;
-        let braceNeg = false;
-        if (ast.type === null) {
-          let i2 = pos;
-          let acc2 = "";
-          while (i2 < str2.length) {
-            const c = str2.charAt(i2++);
-            if (escaping || c === "\\") {
-              escaping = !escaping;
-              acc2 += c;
-              continue;
-            }
-            if (inBrace) {
-              if (i2 === braceStart + 1) {
-                if (c === "^" || c === "!") {
-                  braceNeg = true;
-                }
-              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
-                inBrace = false;
-              }
-              acc2 += c;
-              continue;
-            } else if (c === "[") {
-              inBrace = true;
-              braceStart = i2;
-              braceNeg = false;
-              acc2 += c;
-              continue;
-            }
-            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
-              ast.push(acc2);
-              acc2 = "";
-              const ext = new _AST(c, ast);
-              i2 = _AST.#parseAST(str2, ext, i2, opt);
-              ast.push(ext);
-              continue;
-            }
-            acc2 += c;
-          }
-          ast.push(acc2);
-          return i2;
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
         }
-        let i = pos + 1;
-        let part = new _AST(null, ast);
-        const parts = [];
-        let acc = "";
-        while (i < str2.length) {
-          const c = str2.charAt(i++);
-          if (escaping || c === "\\") {
-            escaping = !escaping;
-            acc += c;
-            continue;
-          }
-          if (inBrace) {
-            if (i === braceStart + 1) {
-              if (c === "^" || c === "!") {
-                braceNeg = true;
-              }
-            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
-              inBrace = false;
-            }
-            acc += c;
-            continue;
-          } else if (c === "[") {
-            inBrace = true;
-            braceStart = i;
-            braceNeg = false;
-            acc += c;
-            continue;
-          }
-          if (isExtglobType(c) && str2.charAt(i) === "(") {
-            part.push(acc);
-            acc = "";
-            const ext = new _AST(c, part);
-            part.push(ext);
-            i = _AST.#parseAST(str2, ext, i, opt);
-            continue;
-          }
-          if (c === "|") {
-            part.push(acc);
-            acc = "";
-            parts.push(part);
-            part = new _AST(null, ast);
-            continue;
-          }
-          if (c === ")") {
-            if (acc === "" && ast.#parts.length === 0) {
-              ast.#emptyExt = true;
-            }
-            part.push(acc);
-            acc = "";
-            ast.push(...parts, part);
-            return i;
-          }
-          acc += c;
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path7 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path7;
+        this.opts.origin = origin;
+        this.opts.maxRedirections = 0;
+        this.opts.query = null;
+        if (statusCode === 303 && this.opts.method !== "HEAD") {
+          this.opts.method = "GET";
+          this.opts.body = null;
         }
-        ast.type = null;
-        ast.#hasMagic = void 0;
-        ast.#parts = [str2.substring(pos - 1)];
-        return i;
-      }
-      static fromGlob(pattern, options = {}) {
-        const ast = new _AST(null, void 0, options);
-        _AST.#parseAST(pattern, ast, 0, options);
-        return ast;
       }
-      // returns the regular expression if there's magic, or the unescaped
-      // string if not.
-      toMMPattern() {
-        if (this !== this.#root)
-          return this.#root.toMMPattern();
-        const glob2 = this.toString();
-        const [re, body, hasMagic, uflag] = this.toRegExpSource();
-        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
-        if (!anyMagic) {
-          return body;
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
-        return Object.assign(new RegExp(`^${re}$`, flags), {
-          _src: re,
-          _glob: glob2
-        });
       }
-      get options() {
-        return this.#options;
-      }
-      // returns the string match, the regexp source, whether there's magic
-      // in the regexp (so a regular expression is required) and whether or
-      // not the uflag is needed for the regular expression (for posix classes)
-      // TODO: instead of injecting the start/end at this point, just return
-      // the BODY of the regexp, along with the start/end portions suitable
-      // for binding the start/end in either a joined full-path makeRe context
-      // (where we bind to (^|/), or a standalone matchPart context (where
-      // we bind to ^, and not /).  Otherwise slashes get duped!
-      //
-      // In part-matching mode, the start is:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: ^(?!\.\.?$)
-      // - if dots allowed or not possible: ^
-      // - if dots possible and not allowed: ^(?!\.)
-      // end is:
-      // - if not isEnd(): nothing
-      // - else: $
-      //
-      // In full-path matching mode, we put the slash at the START of the
-      // pattern, so start is:
-      // - if first pattern: same as part-matching mode
-      // - if not isStart(): nothing
-      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
-      // - if dots allowed or not possible: /
-      // - if dots possible and not allowed: /(?!\.)
-      // end is:
-      // - if last pattern, same as part-matching mode
-      // - else nothing
-      //
-      // Always put the (?:$|/) on negated tails, though, because that has to be
-      // there to bind the end of the negated pattern portion, and it's easier to
-      // just stick it in now rather than try to inject it later in the middle of
-      // the pattern.
-      //
-      // We can just always return the same end, and leave it up to the caller
-      // to know whether it's going to be used joined or in parts.
-      // And, if the start is adjusted slightly, can do the same there:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
-      // - if dots allowed or not possible: (?:/|^)
-      // - if dots possible and not allowed: (?:/|^)(?!\.)
-      //
-      // But it's better to have a simpler binding without a conditional, for
-      // performance, so probably better to return both start options.
-      //
-      // Then the caller just ignores the end if it's not the first pattern,
-      // and the start always gets applied.
-      //
-      // But that's always going to be $ if it's the ending pattern, or nothing,
-      // so the caller can just attach $ at the end of the pattern when building.
-      //
-      // So the todo is:
-      // - better detect what kind of start is needed
-      // - return both flavors of starting pattern
-      // - attach $ at the end of the pattern when creating the actual RegExp
-      //
-      // Ah, but wait, no, that all only applies to the root when the first pattern
-      // is not an extglob. If the first pattern IS an extglob, then we need all
-      // that dot prevention biz to live in the extglob portions, because eg
-      // +(*|.x*) can match .xy but not .yx.
-      //
-      // So, return the two flavors if it's #root and the first child is not an
-      // AST, otherwise leave it to the child AST to handle it, and there,
-      // use the (?:^|/) style of start binding.
-      //
-      // Even simplified further:
-      // - Since the start for a join is eg /(?!\.) and the start for a part
-      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
-      // or start or whatever) and prepend ^ or / at the Regexp construction.
-      toRegExpSource(allowDot) {
-        const dot = allowDot ?? !!this.#options.dot;
-        if (this.#root === this)
-          this.#fillNegs();
-        if (!this.type) {
-          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
-          const src = this.#parts.map((p) => {
-            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
-            this.#hasMagic = this.#hasMagic || hasMagic;
-            this.#uflag = this.#uflag || uflag;
-            return re;
-          }).join("");
-          let start2 = "";
-          if (this.isStart()) {
-            if (typeof this.#parts[0] === "string") {
-              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
-              if (!dotTravAllowed) {
-                const aps = addPatternStart;
-                const needNoTrav = (
-                  // dots are allowed, and the pattern starts with [ or .
-                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
-                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
-                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
-                );
-                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
-                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
-              }
-            }
-          }
-          let end = "";
-          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
-            end = "(?:$|\\/)";
-          }
-          const final2 = start2 + src + end;
-          return [
-            final2,
-            (0, unescape_js_1.unescape)(src),
-            this.#hasMagic = !!this.#hasMagic,
-            this.#uflag
-          ];
-        }
-        const repeated = this.type === "*" || this.type === "+";
-        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
-        let body = this.#partsToRegExp(dot);
-        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
-          const s = this.toString();
-          this.#parts = [s];
-          this.type = null;
-          this.#hasMagic = void 0;
-          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
-        }
-        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
-        if (bodyDotAllowed === body) {
-          bodyDotAllowed = "";
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
         }
-        if (bodyDotAllowed) {
-          body = `(?:${body})(?:${bodyDotAllowed})*?`;
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
         }
-        let final = "";
-        if (this.type === "!" && this.#emptyExt) {
-          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
-        } else {
-          const close = this.type === "!" ? (
-            // !() must match something,but !(x) can match ''
-            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
-          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
-          final = start + body + close;
+      }
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
+      }
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].toString().toLowerCase() === "location") {
+          return headers[i + 1];
         }
-        return [
-          final,
-          (0, unescape_js_1.unescape)(body),
-          this.#hasMagic = !!this.#hasMagic,
-          this.#uflag
-        ];
       }
-      #partsToRegExp(dot) {
-        return this.#parts.map((p) => {
-          if (typeof p === "string") {
-            throw new Error("string type in extglob ast??");
-          }
-          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
-          this.#uflag = this.#uflag || uflag;
-          return re;
-        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
+    }
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      static #parseGlob(glob2, hasMagic, noEmpty = false) {
-        let escaping = false;
-        let re = "";
-        let uflag = false;
-        for (let i = 0; i < glob2.length; i++) {
-          const c = glob2.charAt(i);
-          if (escaping) {
-            escaping = false;
-            re += (reSpecials.has(c) ? "\\" : "") + c;
-            continue;
-          }
-          if (c === "\\") {
-            if (i === glob2.length - 1) {
-              re += "\\\\";
-            } else {
-              escaping = true;
-            }
-            continue;
-          }
-          if (c === "[") {
-            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
-            if (consumed) {
-              re += src;
-              uflag = uflag || needUflag;
-              i += consumed - 1;
-              hasMagic = hasMagic || magic;
-              continue;
-            }
-          }
-          if (c === "*") {
-            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
-            hasMagic = true;
-            continue;
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
+      }
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+      }
+      return false;
+    }
+    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
+      const ret = [];
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
+            ret.push(headers[i], headers[i + 1]);
           }
-          if (c === "?") {
-            re += qmark;
-            hasMagic = true;
-            continue;
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
-          re += regExpEscape(c);
         }
-        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-    };
-    exports2.AST = AST;
+      return ret;
+    }
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
-var require_escape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
+// node_modules/undici/lib/interceptor/redirectInterceptor.js
+var require_redirectInterceptor = __commonJS({
+  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escape = void 0;
-    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
-      }
-      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
-    };
-    exports2.escape = escape;
+    var RedirectHandler = require_RedirectHandler();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
+          }
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
+        };
+      };
+    }
+    module2.exports = createRedirectInterceptor;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js
-var require_commonjs20 = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
+  }
+});
+
+// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB4fICEjJSg/QEFERUZHSElKS0xNT1BRUlPeA1dZW1xdYGJlZmdoaWprbG1vcHFyc3R1dnd4eXp7fH1+gAGCAYUBhgGHAYkBiwGMAY0BjgGPAZABkQGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMBmQKkArAC/gL+AgsgASIEIAJHDfMBQd0BIRAM/wMLIAEiECACRw3dAUHDASEQDP4DCyABIgEgAkcNkAFB9wAhEAz9AwsgASIBIAJHDYYBQe8AIRAM/AMLIAEiASACRw1/QeoAIRAM+wMLIAEiASACRw17QegAIRAM+gMLIAEiASACRw14QeYAIRAM+QMLIAEiASACRw0aQRghEAz4AwsgASIBIAJHDRRBEiEQDPcDCyABIgEgAkcNWUHFACEQDPYDCyABIgEgAkcNSkE/IRAM9QMLIAEiASACRw1IQTwhEAz0AwsgASIBIAJHDUFBMSEQDPMDCyAALQAuQQFGDesDDIcCCyAAIAEiASACEMCAgIAAQQFHDeYBIABCADcDIAznAQsgACABIgEgAhC0gICAACIQDecBIAEhAQz1AgsCQCABIgEgAkcNAEEGIRAM8AMLIAAgAUEBaiIBIAIQu4CAgAAiEA3oASABIQEMMQsgAEIANwMgQRIhEAzVAwsgASIQIAJHDStBHSEQDO0DCwJAIAEiASACRg0AIAFBAWohAUEQIRAM1AMLQQchEAzsAwsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3lAUEIIRAM6wMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQRQhEAzSAwtBCSEQDOoDCyABIQEgACkDIFAN5AEgASEBDPICCwJAIAEiASACRw0AQQshEAzpAwsgACABQQFqIgEgAhC2gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeYBIAEhAQwNCyAAIAEiASACELqAgIAAIhAN5wEgASEBDPACCwJAIAEiASACRw0AQQ8hEAzlAwsgAS0AACIQQTtGDQggEEENRw3oASABQQFqIQEM7wILIAAgASIBIAIQuoCAgAAiEA3oASABIQEM8gILA0ACQCABLQAAQfC1gIAAai0AACIQQQFGDQAgEEECRw3rASAAKAIEIRAgAEEANgIEIAAgECABQQFqIgEQuYCAgAAiEA3qASABIQEM9AILIAFBAWoiASACRw0AC0ESIRAM4gMLIAAgASIBIAIQuoCAgAAiEA3pASABIQEMCgsgASIBIAJHDQZBGyEQDOADCwJAIAEiASACRw0AQRYhEAzgAwsgAEGKgICAADYCCCAAIAE2AgQgACABIAIQuICAgAAiEA3qASABIQFBICEQDMYDCwJAIAEiASACRg0AA0ACQCABLQAAQfC3gIAAai0AACIQQQJGDQACQCAQQX9qDgTlAewBAOsB7AELIAFBAWohAUEIIRAMyAMLIAFBAWoiASACRw0AC0EVIRAM3wMLQRUhEAzeAwsDQAJAIAEtAABB8LmAgABqLQAAIhBBAkYNACAQQX9qDgTeAewB4AHrAewBCyABQQFqIgEgAkcNAAtBGCEQDN0DCwJAIAEiASACRg0AIABBi4CAgAA2AgggACABNgIEIAEhAUEHIRAMxAMLQRkhEAzcAwsgAUEBaiEBDAILAkAgASIUIAJHDQBBGiEQDNsDCyAUIQECQCAULQAAQXNqDhTdAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAgDuAgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQM2gMLAkAgAS0AACIQQTtGDQAgEEENRw3oASABQQFqIQEM5QILIAFBAWohAQtBIiEQDL8DCwJAIAEiECACRw0AQRwhEAzYAwtCACERIBAhASAQLQAAQVBqDjfnAeYBAQIDBAUGBwgAAAAAAAAACQoLDA0OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBESExQAC0EeIRAMvQMLQgIhEQzlAQtCAyERDOQBC0IEIREM4wELQgUhEQziAQtCBiERDOEBC0IHIREM4AELQgghEQzfAQtCCSERDN4BC0IKIREM3QELQgshEQzcAQtCDCERDNsBC0INIREM2gELQg4hEQzZAQtCDyERDNgBC0IKIREM1wELQgshEQzWAQtCDCERDNUBC0INIREM1AELQg4hEQzTAQtCDyERDNIBC0IAIRECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAtAABBUGoON+UB5AEAAQIDBAUGB+YB5gHmAeYB5gHmAeYBCAkKCwwN5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAQ4PEBESE+YBC0ICIREM5AELQgMhEQzjAQtCBCERDOIBC0IFIREM4QELQgYhEQzgAQtCByERDN8BC0IIIREM3gELQgkhEQzdAQtCCiERDNwBC0ILIREM2wELQgwhEQzaAQtCDSERDNkBC0IOIREM2AELQg8hEQzXAQtCCiERDNYBC0ILIREM1QELQgwhEQzUAQtCDSERDNMBC0IOIREM0gELQg8hEQzRAQsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3SAUEfIRAMwAMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQSQhEAynAwtBICEQDL8DCyAAIAEiECACEL6AgIAAQX9qDgW2AQDFAgHRAdIBC0ERIRAMpAMLIABBAToALyAQIQEMuwMLIAEiASACRw3SAUEkIRAMuwMLIAEiDSACRw0eQcYAIRAMugMLIAAgASIBIAIQsoCAgAAiEA3UASABIQEMtQELIAEiECACRw0mQdAAIRAMuAMLAkAgASIBIAJHDQBBKCEQDLgDCyAAQQA2AgQgAEGMgICAADYCCCAAIAEgARCxgICAACIQDdMBIAEhAQzYAQsCQCABIhAgAkcNAEEpIRAMtwMLIBAtAAAiAUEgRg0UIAFBCUcN0wEgEEEBaiEBDBULAkAgASIBIAJGDQAgAUEBaiEBDBcLQSohEAy1AwsCQCABIhAgAkcNAEErIRAMtQMLAkAgEC0AACIBQQlGDQAgAUEgRw3VAQsgAC0ALEEIRg3TASAQIQEMkQMLAkAgASIBIAJHDQBBLCEQDLQDCyABLQAAQQpHDdUBIAFBAWohAQzJAgsgASIOIAJHDdUBQS8hEAyyAwsDQAJAIAEtAAAiEEEgRg0AAkAgEEF2ag4EANwB3AEA2gELIAEhAQzgAQsgAUEBaiIBIAJHDQALQTEhEAyxAwtBMiEQIAEiFCACRg2wAyACIBRrIAAoAgAiAWohFSAUIAFrQQNqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB8LuAgABqLQAARw0BAkAgAUEDRw0AQQYhAQyWAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMsQMLIABBADYCACAUIQEM2QELQTMhECABIhQgAkYNrwMgAiAUayAAKAIAIgFqIRUgFCABa0EIaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfS7gIAAai0AAEcNAQJAIAFBCEcNAEEFIQEMlQMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLADCyAAQQA2AgAgFCEBDNgBC0E0IRAgASIUIAJGDa4DIAIgFGsgACgCACIBaiEVIBQgAWtBBWohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUHQwoCAAGotAABHDQECQCABQQVHDQBBByEBDJQDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAyvAwsgAEEANgIAIBQhAQzXAQsCQCABIgEgAkYNAANAAkAgAS0AAEGAvoCAAGotAAAiEEEBRg0AIBBBAkYNCiABIQEM3QELIAFBAWoiASACRw0AC0EwIRAMrgMLQTAhEAytAwsCQCABIgEgAkYNAANAAkAgAS0AACIQQSBGDQAgEEF2ag4E2QHaAdoB2QHaAQsgAUEBaiIBIAJHDQALQTghEAytAwtBOCEQDKwDCwNAAkAgAS0AACIQQSBGDQAgEEEJRw0DCyABQQFqIgEgAkcNAAtBPCEQDKsDCwNAAkAgAS0AACIQQSBGDQACQAJAIBBBdmoOBNoBAQHaAQALIBBBLEYN2wELIAEhAQwECyABQQFqIgEgAkcNAAtBPyEQDKoDCyABIQEM2wELQcAAIRAgASIUIAJGDagDIAIgFGsgACgCACIBaiEWIBQgAWtBBmohFwJAA0AgFC0AAEEgciABQYDAgIAAai0AAEcNASABQQZGDY4DIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADKkDCyAAQQA2AgAgFCEBC0E2IRAMjgMLAkAgASIPIAJHDQBBwQAhEAynAwsgAEGMgICAADYCCCAAIA82AgQgDyEBIAAtACxBf2oOBM0B1QHXAdkBhwMLIAFBAWohAQzMAQsCQCABIgEgAkYNAANAAkAgAS0AACIQQSByIBAgEEG/f2pB/wFxQRpJG0H/AXEiEEEJRg0AIBBBIEYNAAJAAkACQAJAIBBBnX9qDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTEhEAyRAwsgAUEBaiEBQTIhEAyQAwsgAUEBaiEBQTMhEAyPAwsgASEBDNABCyABQQFqIgEgAkcNAAtBNSEQDKUDC0E1IRAMpAMLAkAgASIBIAJGDQADQAJAIAEtAABBgLyAgABqLQAAQQFGDQAgASEBDNMBCyABQQFqIgEgAkcNAAtBPSEQDKQDC0E9IRAMowMLIAAgASIBIAIQsICAgAAiEA3WASABIQEMAQsgEEEBaiEBC0E8IRAMhwMLAkAgASIBIAJHDQBBwgAhEAygAwsCQANAAkAgAS0AAEF3ag4YAAL+Av4ChAP+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gIA/gILIAFBAWoiASACRw0AC0HCACEQDKADCyABQQFqIQEgAC0ALUEBcUUNvQEgASEBC0EsIRAMhQMLIAEiASACRw3TAUHEACEQDJ0DCwNAAkAgAS0AAEGQwICAAGotAABBAUYNACABIQEMtwILIAFBAWoiASACRw0AC0HFACEQDJwDCyANLQAAIhBBIEYNswEgEEE6Rw2BAyAAKAIEIQEgAEEANgIEIAAgASANEK+AgIAAIgEN0AEgDUEBaiEBDLMCC0HHACEQIAEiDSACRg2aAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQZDCgIAAai0AAEcNgAMgAUEFRg30AiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyaAwtByAAhECABIg0gAkYNmQMgAiANayAAKAIAIgFqIRYgDSABa0EJaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGWwoCAAGotAABHDf8CAkAgAUEJRw0AQQIhAQz1AgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmQMLAkAgASINIAJHDQBByQAhEAyZAwsCQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZJ/ag4HAIADgAOAA4ADgAMBgAMLIA1BAWohAUE+IRAMgAMLIA1BAWohAUE/IRAM/wILQcoAIRAgASINIAJGDZcDIAIgDWsgACgCACIBaiEWIA0gAWtBAWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBoMKAgABqLQAARw39AiABQQFGDfACIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJcDC0HLACEQIAEiDSACRg2WAyACIA1rIAAoAgAiAWohFiANIAFrQQ5qIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaLCgIAAai0AAEcN/AIgAUEORg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyWAwtBzAAhECABIg0gAkYNlQMgAiANayAAKAIAIgFqIRYgDSABa0EPaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUHAwoCAAGotAABHDfsCAkAgAUEPRw0AQQMhAQzxAgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlQMLQc0AIRAgASINIAJGDZQDIAIgDWsgACgCACIBaiEWIA0gAWtBBWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw36AgJAIAFBBUcNAEEEIQEM8AILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJQDCwJAIAEiDSACRw0AQc4AIRAMlAMLAkACQAJAAkAgDS0AACIBQSByIAEgAUG/f2pB/wFxQRpJG0H/AXFBnX9qDhMA/QL9Av0C/QL9Av0C/QL9Av0C/QL9Av0CAf0C/QL9AgID/QILIA1BAWohAUHBACEQDP0CCyANQQFqIQFBwgAhEAz8AgsgDUEBaiEBQcMAIRAM+wILIA1BAWohAUHEACEQDPoCCwJAIAEiASACRg0AIABBjYCAgAA2AgggACABNgIEIAEhAUHFACEQDPoCC0HPACEQDJIDCyAQIQECQAJAIBAtAABBdmoOBAGoAqgCAKgCCyAQQQFqIQELQSchEAz4AgsCQCABIgEgAkcNAEHRACEQDJEDCwJAIAEtAABBIEYNACABIQEMjQELIAFBAWohASAALQAtQQFxRQ3HASABIQEMjAELIAEiFyACRw3IAUHSACEQDI8DC0HTACEQIAEiFCACRg2OAyACIBRrIAAoAgAiAWohFiAUIAFrQQFqIRcDQCAULQAAIAFB1sKAgABqLQAARw3MASABQQFGDccBIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADI4DCwJAIAEiASACRw0AQdUAIRAMjgMLIAEtAABBCkcNzAEgAUEBaiEBDMcBCwJAIAEiASACRw0AQdYAIRAMjQMLAkACQCABLQAAQXZqDgQAzQHNAQHNAQsgAUEBaiEBDMcBCyABQQFqIQFBygAhEAzzAgsgACABIgEgAhCugICAACIQDcsBIAEhAUHNACEQDPICCyAALQApQSJGDYUDDKYCCwJAIAEiASACRw0AQdsAIRAMigMLQQAhFEEBIRdBASEWQQAhEAJAAkACQAJAAkACQAJAAkACQCABLQAAQVBqDgrUAdMBAAECAwQFBgjVAQtBAiEQDAYLQQMhEAwFC0EEIRAMBAtBBSEQDAMLQQYhEAwCC0EHIRAMAQtBCCEQC0EAIRdBACEWQQAhFAzMAQtBCSEQQQEhFEEAIRdBACEWDMsBCwJAIAEiASACRw0AQd0AIRAMiQMLIAEtAABBLkcNzAEgAUEBaiEBDKYCCyABIgEgAkcNzAFB3wAhEAyHAwsCQCABIgEgAkYNACAAQY6AgIAANgIIIAAgATYCBCABIQFB0AAhEAzuAgtB4AAhEAyGAwtB4QAhECABIgEgAkYNhQMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQeLCgIAAai0AAEcNzQEgFEEDRg3MASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyFAwtB4gAhECABIgEgAkYNhAMgAiABayAAKAIAIhRqIRYgASAUa0ECaiEXA0AgAS0AACAUQebCgIAAai0AAEcNzAEgFEECRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyEAwtB4wAhECABIgEgAkYNgwMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQenCgIAAai0AAEcNywEgFEEDRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyDAwsCQCABIgEgAkcNAEHlACEQDIMDCyAAIAFBAWoiASACEKiAgIAAIhANzQEgASEBQdYAIRAM6QILAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AAkACQAJAIBBBuH9qDgsAAc8BzwHPAc8BzwHPAc8BzwECzwELIAFBAWohAUHSACEQDO0CCyABQQFqIQFB0wAhEAzsAgsgAUEBaiEBQdQAIRAM6wILIAFBAWoiASACRw0AC0HkACEQDIIDC0HkACEQDIEDCwNAAkAgAS0AAEHwwoCAAGotAAAiEEEBRg0AIBBBfmoOA88B0AHRAdIBCyABQQFqIgEgAkcNAAtB5gAhEAyAAwsCQCABIgEgAkYNACABQQFqIQEMAwtB5wAhEAz/AgsDQAJAIAEtAABB8MSAgABqLQAAIhBBAUYNAAJAIBBBfmoOBNIB0wHUAQDVAQsgASEBQdcAIRAM5wILIAFBAWoiASACRw0AC0HoACEQDP4CCwJAIAEiASACRw0AQekAIRAM/gILAkAgAS0AACIQQXZqDhq6AdUB1QG8AdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAcoB1QHVAQDTAQsgAUEBaiEBC0EGIRAM4wILA0ACQCABLQAAQfDGgIAAai0AAEEBRg0AIAEhAQyeAgsgAUEBaiIBIAJHDQALQeoAIRAM+wILAkAgASIBIAJGDQAgAUEBaiEBDAMLQesAIRAM+gILAkAgASIBIAJHDQBB7AAhEAz6AgsgAUEBaiEBDAELAkAgASIBIAJHDQBB7QAhEAz5AgsgAUEBaiEBC0EEIRAM3gILAkAgASIUIAJHDQBB7gAhEAz3AgsgFCEBAkACQAJAIBQtAABB8MiAgABqLQAAQX9qDgfUAdUB1gEAnAIBAtcBCyAUQQFqIQEMCgsgFEEBaiEBDM0BC0EAIRAgAEEANgIcIABBm5KAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAz2AgsCQANAAkAgAS0AAEHwyICAAGotAAAiEEEERg0AAkACQCAQQX9qDgfSAdMB1AHZAQAEAdkBCyABIQFB2gAhEAzgAgsgAUEBaiEBQdwAIRAM3wILIAFBAWoiASACRw0AC0HvACEQDPYCCyABQQFqIQEMywELAkAgASIUIAJHDQBB8AAhEAz1AgsgFC0AAEEvRw3UASAUQQFqIQEMBgsCQCABIhQgAkcNAEHxACEQDPQCCwJAIBQtAAAiAUEvRw0AIBRBAWohAUHdACEQDNsCCyABQXZqIgRBFksN0wFBASAEdEGJgIACcUUN0wEMygILAkAgASIBIAJGDQAgAUEBaiEBQd4AIRAM2gILQfIAIRAM8gILAkAgASIUIAJHDQBB9AAhEAzyAgsgFCEBAkAgFC0AAEHwzICAAGotAABBf2oOA8kClAIA1AELQeEAIRAM2AILAkAgASIUIAJGDQADQAJAIBQtAABB8MqAgABqLQAAIgFBA0YNAAJAIAFBf2oOAssCANUBCyAUIQFB3wAhEAzaAgsgFEEBaiIUIAJHDQALQfMAIRAM8QILQfMAIRAM8AILAkAgASIBIAJGDQAgAEGPgICAADYCCCAAIAE2AgQgASEBQeAAIRAM1wILQfUAIRAM7wILAkAgASIBIAJHDQBB9gAhEAzvAgsgAEGPgICAADYCCCAAIAE2AgQgASEBC0EDIRAM1AILA0AgAS0AAEEgRw3DAiABQQFqIgEgAkcNAAtB9wAhEAzsAgsCQCABIgEgAkcNAEH4ACEQDOwCCyABLQAAQSBHDc4BIAFBAWohAQzvAQsgACABIgEgAhCsgICAACIQDc4BIAEhAQyOAgsCQCABIgQgAkcNAEH6ACEQDOoCCyAELQAAQcwARw3RASAEQQFqIQFBEyEQDM8BCwJAIAEiBCACRw0AQfsAIRAM6QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEANAIAQtAAAgAUHwzoCAAGotAABHDdABIAFBBUYNzgEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBB+wAhEAzoAgsCQCABIgQgAkcNAEH8ACEQDOgCCwJAAkAgBC0AAEG9f2oODADRAdEB0QHRAdEB0QHRAdEB0QHRAQHRAQsgBEEBaiEBQeYAIRAMzwILIARBAWohAUHnACEQDM4CCwJAIAEiBCACRw0AQf0AIRAM5wILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNzwEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf0AIRAM5wILIABBADYCACAQQQFqIQFBECEQDMwBCwJAIAEiBCACRw0AQf4AIRAM5gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQfbOgIAAai0AAEcNzgEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf4AIRAM5gILIABBADYCACAQQQFqIQFBFiEQDMsBCwJAIAEiBCACRw0AQf8AIRAM5QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQfzOgIAAai0AAEcNzQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf8AIRAM5QILIABBADYCACAQQQFqIQFBBSEQDMoBCwJAIAEiBCACRw0AQYABIRAM5AILIAQtAABB2QBHDcsBIARBAWohAUEIIRAMyQELAkAgASIEIAJHDQBBgQEhEAzjAgsCQAJAIAQtAABBsn9qDgMAzAEBzAELIARBAWohAUHrACEQDMoCCyAEQQFqIQFB7AAhEAzJAgsCQCABIgQgAkcNAEGCASEQDOICCwJAAkAgBC0AAEG4f2oOCADLAcsBywHLAcsBywEBywELIARBAWohAUHqACEQDMkCCyAEQQFqIQFB7QAhEAzIAgsCQCABIgQgAkcNAEGDASEQDOECCyACIARrIAAoAgAiAWohECAEIAFrQQJqIRQCQANAIAQtAAAgAUGAz4CAAGotAABHDckBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgEDYCAEGDASEQDOECC0EAIRAgAEEANgIAIBRBAWohAQzGAQsCQCABIgQgAkcNAEGEASEQDOACCyACIARrIAAoAgAiAWohFCAEIAFrQQRqIRACQANAIAQtAAAgAUGDz4CAAGotAABHDcgBIAFBBEYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGEASEQDOACCyAAQQA2AgAgEEEBaiEBQSMhEAzFAQsCQCABIgQgAkcNAEGFASEQDN8CCwJAAkAgBC0AAEG0f2oOCADIAcgByAHIAcgByAEByAELIARBAWohAUHvACEQDMYCCyAEQQFqIQFB8AAhEAzFAgsCQCABIgQgAkcNAEGGASEQDN4CCyAELQAAQcUARw3FASAEQQFqIQEMgwILAkAgASIEIAJHDQBBhwEhEAzdAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBiM+AgABqLQAARw3FASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhwEhEAzdAgsgAEEANgIAIBBBAWohAUEtIRAMwgELAkAgASIEIAJHDQBBiAEhEAzcAgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw3EASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiAEhEAzcAgsgAEEANgIAIBBBAWohAUEpIRAMwQELAkAgASIBIAJHDQBBiQEhEAzbAgtBASEQIAEtAABB3wBHDcABIAFBAWohAQyBAgsCQCABIgQgAkcNAEGKASEQDNoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRADQCAELQAAIAFBjM+AgABqLQAARw3BASABQQFGDa8CIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYoBIRAM2QILAkAgASIEIAJHDQBBiwEhEAzZAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBjs+AgABqLQAARw3BASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiwEhEAzZAgsgAEEANgIAIBBBAWohAUECIRAMvgELAkAgASIEIAJHDQBBjAEhEAzYAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw3AASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjAEhEAzYAgsgAEEANgIAIBBBAWohAUEfIRAMvQELAkAgASIEIAJHDQBBjQEhEAzXAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8s+AgABqLQAARw2/ASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjQEhEAzXAgsgAEEANgIAIBBBAWohAUEJIRAMvAELAkAgASIEIAJHDQBBjgEhEAzWAgsCQAJAIAQtAABBt39qDgcAvwG/Ab8BvwG/AQG/AQsgBEEBaiEBQfgAIRAMvQILIARBAWohAUH5ACEQDLwCCwJAIAEiBCACRw0AQY8BIRAM1QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQZHPgIAAai0AAEcNvQEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY8BIRAM1QILIABBADYCACAQQQFqIQFBGCEQDLoBCwJAIAEiBCACRw0AQZABIRAM1AILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQZfPgIAAai0AAEcNvAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZABIRAM1AILIABBADYCACAQQQFqIQFBFyEQDLkBCwJAIAEiBCACRw0AQZEBIRAM0wILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQZrPgIAAai0AAEcNuwEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZEBIRAM0wILIABBADYCACAQQQFqIQFBFSEQDLgBCwJAIAEiBCACRw0AQZIBIRAM0gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQaHPgIAAai0AAEcNugEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZIBIRAM0gILIABBADYCACAQQQFqIQFBHiEQDLcBCwJAIAEiBCACRw0AQZMBIRAM0QILIAQtAABBzABHDbgBIARBAWohAUEKIRAMtgELAkAgBCACRw0AQZQBIRAM0AILAkACQCAELQAAQb9/ag4PALkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AbkBAbkBCyAEQQFqIQFB/gAhEAy3AgsgBEEBaiEBQf8AIRAMtgILAkAgBCACRw0AQZUBIRAMzwILAkACQCAELQAAQb9/ag4DALgBAbgBCyAEQQFqIQFB/QAhEAy2AgsgBEEBaiEEQYABIRAMtQILAkAgBCACRw0AQZYBIRAMzgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQafPgIAAai0AAEcNtgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZYBIRAMzgILIABBADYCACAQQQFqIQFBCyEQDLMBCwJAIAQgAkcNAEGXASEQDM0CCwJAAkACQAJAIAQtAABBU2oOIwC4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBAbgBuAG4AbgBuAECuAG4AbgBA7gBCyAEQQFqIQFB+wAhEAy2AgsgBEEBaiEBQfwAIRAMtQILIARBAWohBEGBASEQDLQCCyAEQQFqIQRBggEhEAyzAgsCQCAEIAJHDQBBmAEhEAzMAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBqc+AgABqLQAARw20ASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmAEhEAzMAgsgAEEANgIAIBBBAWohAUEZIRAMsQELAkAgBCACRw0AQZkBIRAMywILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQa7PgIAAai0AAEcNswEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZkBIRAMywILIABBADYCACAQQQFqIQFBBiEQDLABCwJAIAQgAkcNAEGaASEQDMoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG0z4CAAGotAABHDbIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGaASEQDMoCCyAAQQA2AgAgEEEBaiEBQRwhEAyvAQsCQCAEIAJHDQBBmwEhEAzJAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBts+AgABqLQAARw2xASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmwEhEAzJAgsgAEEANgIAIBBBAWohAUEnIRAMrgELAkAgBCACRw0AQZwBIRAMyAILAkACQCAELQAAQax/ag4CAAGxAQsgBEEBaiEEQYYBIRAMrwILIARBAWohBEGHASEQDK4CCwJAIAQgAkcNAEGdASEQDMcCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG4z4CAAGotAABHDa8BIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGdASEQDMcCCyAAQQA2AgAgEEEBaiEBQSYhEAysAQsCQCAEIAJHDQBBngEhEAzGAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBus+AgABqLQAARw2uASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBngEhEAzGAgsgAEEANgIAIBBBAWohAUEDIRAMqwELAkAgBCACRw0AQZ8BIRAMxQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNrQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ8BIRAMxQILIABBADYCACAQQQFqIQFBDCEQDKoBCwJAIAQgAkcNAEGgASEQDMQCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUG8z4CAAGotAABHDawBIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGgASEQDMQCCyAAQQA2AgAgEEEBaiEBQQ0hEAypAQsCQCAEIAJHDQBBoQEhEAzDAgsCQAJAIAQtAABBun9qDgsArAGsAawBrAGsAawBrAGsAawBAawBCyAEQQFqIQRBiwEhEAyqAgsgBEEBaiEEQYwBIRAMqQILAkAgBCACRw0AQaIBIRAMwgILIAQtAABB0ABHDakBIARBAWohBAzpAQsCQCAEIAJHDQBBowEhEAzBAgsCQAJAIAQtAABBt39qDgcBqgGqAaoBqgGqAQCqAQsgBEEBaiEEQY4BIRAMqAILIARBAWohAUEiIRAMpgELAkAgBCACRw0AQaQBIRAMwAILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQcDPgIAAai0AAEcNqAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaQBIRAMwAILIABBADYCACAQQQFqIQFBHSEQDKUBCwJAIAQgAkcNAEGlASEQDL8CCwJAAkAgBC0AAEGuf2oOAwCoAQGoAQsgBEEBaiEEQZABIRAMpgILIARBAWohAUEEIRAMpAELAkAgBCACRw0AQaYBIRAMvgILAkACQAJAAkACQCAELQAAQb9/ag4VAKoBqgGqAaoBqgGqAaoBqgGqAaoBAaoBqgECqgGqAQOqAaoBBKoBCyAEQQFqIQRBiAEhEAyoAgsgBEEBaiEEQYkBIRAMpwILIARBAWohBEGKASEQDKYCCyAEQQFqIQRBjwEhEAylAgsgBEEBaiEEQZEBIRAMpAILAkAgBCACRw0AQacBIRAMvQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNpQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQacBIRAMvQILIABBADYCACAQQQFqIQFBESEQDKIBCwJAIAQgAkcNAEGoASEQDLwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHCz4CAAGotAABHDaQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGoASEQDLwCCyAAQQA2AgAgEEEBaiEBQSwhEAyhAQsCQCAEIAJHDQBBqQEhEAy7AgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBxc+AgABqLQAARw2jASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqQEhEAy7AgsgAEEANgIAIBBBAWohAUErIRAMoAELAkAgBCACRw0AQaoBIRAMugILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQcrPgIAAai0AAEcNogEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaoBIRAMugILIABBADYCACAQQQFqIQFBFCEQDJ8BCwJAIAQgAkcNAEGrASEQDLkCCwJAAkACQAJAIAQtAABBvn9qDg8AAQKkAaQBpAGkAaQBpAGkAaQBpAGkAaQBA6QBCyAEQQFqIQRBkwEhEAyiAgsgBEEBaiEEQZQBIRAMoQILIARBAWohBEGVASEQDKACCyAEQQFqIQRBlgEhEAyfAgsCQCAEIAJHDQBBrAEhEAy4AgsgBC0AAEHFAEcNnwEgBEEBaiEEDOABCwJAIAQgAkcNAEGtASEQDLcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHNz4CAAGotAABHDZ8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGtASEQDLcCCyAAQQA2AgAgEEEBaiEBQQ4hEAycAQsCQCAEIAJHDQBBrgEhEAy2AgsgBC0AAEHQAEcNnQEgBEEBaiEBQSUhEAybAQsCQCAEIAJHDQBBrwEhEAy1AgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw2dASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrwEhEAy1AgsgAEEANgIAIBBBAWohAUEqIRAMmgELAkAgBCACRw0AQbABIRAMtAILAkACQCAELQAAQat/ag4LAJ0BnQGdAZ0BnQGdAZ0BnQGdAQGdAQsgBEEBaiEEQZoBIRAMmwILIARBAWohBEGbASEQDJoCCwJAIAQgAkcNAEGxASEQDLMCCwJAAkAgBC0AAEG/f2oOFACcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAEBnAELIARBAWohBEGZASEQDJoCCyAEQQFqIQRBnAEhEAyZAgsCQCAEIAJHDQBBsgEhEAyyAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFB2c+AgABqLQAARw2aASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBsgEhEAyyAgsgAEEANgIAIBBBAWohAUEhIRAMlwELAkAgBCACRw0AQbMBIRAMsQILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQd3PgIAAai0AAEcNmQEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbMBIRAMsQILIABBADYCACAQQQFqIQFBGiEQDJYBCwJAIAQgAkcNAEG0ASEQDLACCwJAAkACQCAELQAAQbt/ag4RAJoBmgGaAZoBmgGaAZoBmgGaAQGaAZoBmgGaAZoBApoBCyAEQQFqIQRBnQEhEAyYAgsgBEEBaiEEQZ4BIRAMlwILIARBAWohBEGfASEQDJYCCwJAIAQgAkcNAEG1ASEQDK8CCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUHkz4CAAGotAABHDZcBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG1ASEQDK8CCyAAQQA2AgAgEEEBaiEBQSghEAyUAQsCQCAEIAJHDQBBtgEhEAyuAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB6s+AgABqLQAARw2WASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtgEhEAyuAgsgAEEANgIAIBBBAWohAUEHIRAMkwELAkAgBCACRw0AQbcBIRAMrQILAkACQCAELQAAQbt/ag4OAJYBlgGWAZYBlgGWAZYBlgGWAZYBlgGWAQGWAQsgBEEBaiEEQaEBIRAMlAILIARBAWohBEGiASEQDJMCCwJAIAQgAkcNAEG4ASEQDKwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDZQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG4ASEQDKwCCyAAQQA2AgAgEEEBaiEBQRIhEAyRAQsCQCAEIAJHDQBBuQEhEAyrAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw2TASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuQEhEAyrAgsgAEEANgIAIBBBAWohAUEgIRAMkAELAkAgBCACRw0AQboBIRAMqgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNkgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQboBIRAMqgILIABBADYCACAQQQFqIQFBDyEQDI8BCwJAIAQgAkcNAEG7ASEQDKkCCwJAAkAgBC0AAEG3f2oOBwCSAZIBkgGSAZIBAZIBCyAEQQFqIQRBpQEhEAyQAgsgBEEBaiEEQaYBIRAMjwILAkAgBCACRw0AQbwBIRAMqAILIAIgBGsgACgCACIBaiEUIAQgAWtBB2ohEAJAA0AgBC0AACABQfTPgIAAai0AAEcNkAEgAUEHRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbwBIRAMqAILIABBADYCACAQQQFqIQFBGyEQDI0BCwJAIAQgAkcNAEG9ASEQDKcCCwJAAkACQCAELQAAQb5/ag4SAJEBkQGRAZEBkQGRAZEBkQGRAQGRAZEBkQGRAZEBkQECkQELIARBAWohBEGkASEQDI8CCyAEQQFqIQRBpwEhEAyOAgsgBEEBaiEEQagBIRAMjQILAkAgBCACRw0AQb4BIRAMpgILIAQtAABBzgBHDY0BIARBAWohBAzPAQsCQCAEIAJHDQBBvwEhEAylAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAAQb9/ag4VAAECA5wBBAUGnAGcAZwBBwgJCgucAQwNDg+cAQsgBEEBaiEBQegAIRAMmgILIARBAWohAUHpACEQDJkCCyAEQQFqIQFB7gAhEAyYAgsgBEEBaiEBQfIAIRAMlwILIARBAWohAUHzACEQDJYCCyAEQQFqIQFB9gAhEAyVAgsgBEEBaiEBQfcAIRAMlAILIARBAWohAUH6ACEQDJMCCyAEQQFqIQRBgwEhEAySAgsgBEEBaiEEQYQBIRAMkQILIARBAWohBEGFASEQDJACCyAEQQFqIQRBkgEhEAyPAgsgBEEBaiEEQZgBIRAMjgILIARBAWohBEGgASEQDI0CCyAEQQFqIQRBowEhEAyMAgsgBEEBaiEEQaoBIRAMiwILAkAgBCACRg0AIABBkICAgAA2AgggACAENgIEQasBIRAMiwILQcABIRAMowILIAAgBSACEKqAgIAAIgENiwEgBSEBDFwLAkAgBiACRg0AIAZBAWohBQyNAQtBwgEhEAyhAgsDQAJAIBAtAABBdmoOBIwBAACPAQALIBBBAWoiECACRw0AC0HDASEQDKACCwJAIAcgAkYNACAAQZGAgIAANgIIIAAgBzYCBCAHIQFBASEQDIcCC0HEASEQDJ8CCwJAIAcgAkcNAEHFASEQDJ8CCwJAAkAgBy0AAEF2ag4EAc4BzgEAzgELIAdBAWohBgyNAQsgB0EBaiEFDIkBCwJAIAcgAkcNAEHGASEQDJ4CCwJAAkAgBy0AAEF2ag4XAY8BjwEBjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAI8BCyAHQQFqIQcLQbABIRAMhAILAkAgCCACRw0AQcgBIRAMnQILIAgtAABBIEcNjQEgAEEAOwEyIAhBAWohAUGzASEQDIMCCyABIRcCQANAIBciByACRg0BIActAABBUGpB/wFxIhBBCk8NzAECQCAALwEyIhRBmTNLDQAgACAUQQpsIhQ7ATIgEEH//wNzIBRB/v8DcUkNACAHQQFqIRcgACAUIBBqIhA7ATIgEEH//wNxQegHSQ0BCwtBACEQIABBADYCHCAAQcGJgIAANgIQIABBDTYCDCAAIAdBAWo2AhQMnAILQccBIRAMmwILIAAgCCACEK6AgIAAIhBFDcoBIBBBFUcNjAEgAEHIATYCHCAAIAg2AhQgAEHJl4CAADYCECAAQRU2AgxBACEQDJoCCwJAIAkgAkcNAEHMASEQDJoCC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgCS0AAEFQag4KlgGVAQABAgMEBQYIlwELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMjgELQQkhEEEBIRRBACEXQQAhFgyNAQsCQCAKIAJHDQBBzgEhEAyZAgsgCi0AAEEuRw2OASAKQQFqIQkMygELIAsgAkcNjgFB0AEhEAyXAgsCQCALIAJGDQAgAEGOgICAADYCCCAAIAs2AgRBtwEhEAz+AQtB0QEhEAyWAgsCQCAEIAJHDQBB0gEhEAyWAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EEaiELA0AgBC0AACAQQfzPgIAAai0AAEcNjgEgEEEERg3pASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHSASEQDJUCCyAAIAwgAhCsgICAACIBDY0BIAwhAQy4AQsCQCAEIAJHDQBB1AEhEAyUAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EBaiEMA0AgBC0AACAQQYHQgIAAai0AAEcNjwEgEEEBRg2OASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHUASEQDJMCCwJAIAQgAkcNAEHWASEQDJMCCyACIARrIAAoAgAiEGohFCAEIBBrQQJqIQsDQCAELQAAIBBBg9CAgABqLQAARw2OASAQQQJGDZABIBBBAWohECAEQQFqIgQgAkcNAAsgACAUNgIAQdYBIRAMkgILAkAgBCACRw0AQdcBIRAMkgILAkACQCAELQAAQbt/ag4QAI8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwEBjwELIARBAWohBEG7ASEQDPkBCyAEQQFqIQRBvAEhEAz4AQsCQCAEIAJHDQBB2AEhEAyRAgsgBC0AAEHIAEcNjAEgBEEBaiEEDMQBCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEG+ASEQDPcBC0HZASEQDI8CCwJAIAQgAkcNAEHaASEQDI8CCyAELQAAQcgARg3DASAAQQE6ACgMuQELIABBAjoALyAAIAQgAhCmgICAACIQDY0BQcIBIRAM9AELIAAtAChBf2oOArcBuQG4AQsDQAJAIAQtAABBdmoOBACOAY4BAI4BCyAEQQFqIgQgAkcNAAtB3QEhEAyLAgsgAEEAOgAvIAAtAC1BBHFFDYQCCyAAQQA6AC8gAEEBOgA0IAEhAQyMAQsgEEEVRg3aASAAQQA2AhwgACABNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAyIAgsCQCAAIBAgAhC0gICAACIEDQAgECEBDIECCwJAIARBFUcNACAAQQM2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAyIAgsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMhwILIBBBFUYN1gEgAEEANgIcIAAgATYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMhgILIAAoAgQhFyAAQQA2AgQgECARp2oiFiEBIAAgFyAQIBYgFBsiEBC1gICAACIURQ2NASAAQQc2AhwgACAQNgIUIAAgFDYCDEEAIRAMhQILIAAgAC8BMEGAAXI7ATAgASEBC0EqIRAM6gELIBBBFUYN0QEgAEEANgIcIAAgATYCFCAAQYOMgIAANgIQIABBEzYCDEEAIRAMggILIBBBFUYNzwEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAMgQILIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDI0BCyAAQQw2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMgAILIBBBFUYNzAEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM/wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIwBCyAAQQ02AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/gELIBBBFUYNyQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM/QELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIsBCyAAQQ42AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/AELIABBADYCHCAAIAE2AhQgAEHAlYCAADYCECAAQQI2AgxBACEQDPsBCyAQQRVGDcUBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPoBCyAAQRA2AhwgACABNgIUIAAgEDYCDEEAIRAM+QELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDPEBCyAAQRE2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM+AELIBBBFUYNwQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM9wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIgBCyAAQRM2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM9gELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDO0BCyAAQRQ2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM9QELIBBBFUYNvQEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM9AELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIYBCyAAQRY2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM8wELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC3gICAACIEDQAgAUEBaiEBDOkBCyAAQRc2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM8gELIABBADYCHCAAIAE2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDPEBC0IBIRELIBBBAWohAQJAIAApAyAiEkL//////////w9WDQAgACASQgSGIBGENwMgIAEhAQyEAQsgAEEANgIcIAAgATYCFCAAQa2JgIAANgIQIABBDDYCDEEAIRAM7wELIABBADYCHCAAIBA2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDO4BCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNcyAAQQU2AhwgACAQNgIUIAAgFDYCDEEAIRAM7QELIABBADYCHCAAIBA2AhQgAEGqnICAADYCECAAQQ82AgxBACEQDOwBCyAAIBAgAhC0gICAACIBDQEgECEBC0EOIRAM0QELAkAgAUEVRw0AIABBAjYCHCAAIBA2AhQgAEGwmICAADYCECAAQRU2AgxBACEQDOoBCyAAQQA2AhwgACAQNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAzpAQsgAUEBaiEQAkAgAC8BMCIBQYABcUUNAAJAIAAgECACELuAgIAAIgENACAQIQEMcAsgAUEVRw26ASAAQQU2AhwgACAQNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAzpAQsCQCABQaAEcUGgBEcNACAALQAtQQJxDQAgAEEANgIcIAAgEDYCFCAAQZaTgIAANgIQIABBBDYCDEEAIRAM6QELIAAgECACEL2AgIAAGiAQIQECQAJAAkACQAJAIAAgECACELOAgIAADhYCAQAEBAQEBAQEBAQEBAQEBAQEBAQDBAsgAEEBOgAuCyAAIAAvATBBwAByOwEwIBAhAQtBJiEQDNEBCyAAQSM2AhwgACAQNgIUIABBpZaAgAA2AhAgAEEVNgIMQQAhEAzpAQsgAEEANgIcIAAgEDYCFCAAQdWLgIAANgIQIABBETYCDEEAIRAM6AELIAAtAC1BAXFFDQFBwwEhEAzOAQsCQCANIAJGDQADQAJAIA0tAABBIEYNACANIQEMxAELIA1BAWoiDSACRw0AC0ElIRAM5wELQSUhEAzmAQsgACgCBCEEIABBADYCBCAAIAQgDRCvgICAACIERQ2tASAAQSY2AhwgACAENgIMIAAgDUEBajYCFEEAIRAM5QELIBBBFUYNqwEgAEEANgIcIAAgATYCFCAAQf2NgIAANgIQIABBHTYCDEEAIRAM5AELIABBJzYCHCAAIAE2AhQgACAQNgIMQQAhEAzjAQsgECEBQQEhFAJAAkACQAJAAkACQAJAIAAtACxBfmoOBwYFBQMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0ErIRAMygELIABBADYCHCAAIBA2AhQgAEGrkoCAADYCECAAQQs2AgxBACEQDOIBCyAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMQQAhEAzhAQsgAEEAOgAsIBAhAQy9AQsgECEBQQEhFAJAAkACQAJAAkAgAC0ALEF7ag4EAwECAAULIAAgAC8BMEEIcjsBMAwDC0ECIRQMAQtBBCEUCyAAQQE6ACwgACAALwEwIBRyOwEwCyAQIQELQSkhEAzFAQsgAEEANgIcIAAgATYCFCAAQfCUgIAANgIQIABBAzYCDEEAIRAM3QELAkAgDi0AAEENRw0AIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHULIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzdAQsgAC0ALUEBcUUNAUHEASEQDMMBCwJAIA4gAkcNAEEtIRAM3AELAkACQANAAkAgDi0AAEF2ag4EAgAAAwALIA5BAWoiDiACRw0AC0EtIRAM3QELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDiEBDHQLIABBLDYCHCAAIA42AhQgACABNgIMQQAhEAzcAQsgACgCBCEBIABBADYCBAJAIAAgASAOELGAgIAAIgENACAOQQFqIQEMcwsgAEEsNgIcIAAgATYCDCAAIA5BAWo2AhRBACEQDNsBCyAAKAIEIQQgAEEANgIEIAAgBCAOELGAgIAAIgQNoAEgDiEBDM4BCyAQQSxHDQEgAUEBaiEQQQEhAQJAAkACQAJAAkAgAC0ALEF7ag4EAwECBAALIBAhAQwEC0ECIQEMAQtBBCEBCyAAQQE6ACwgACAALwEwIAFyOwEwIBAhAQwBCyAAIAAvATBBCHI7ATAgECEBC0E5IRAMvwELIABBADoALCABIQELQTQhEAy9AQsgACAALwEwQSByOwEwIAEhAQwCCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBA0AIAEhAQzHAQsgAEE3NgIcIAAgATYCFCAAIAQ2AgxBACEQDNQBCyAAQQg6ACwgASEBC0EwIRAMuQELAkAgAC0AKEEBRg0AIAEhAQwECyAALQAtQQhxRQ2TASABIQEMAwsgAC0AMEEgcQ2UAUHFASEQDLcBCwJAIA8gAkYNAAJAA0ACQCAPLQAAQVBqIgFB/wFxQQpJDQAgDyEBQTUhEAy6AQsgACkDICIRQpmz5syZs+bMGVYNASAAIBFCCn4iETcDICARIAGtQv8BgyISQn+FVg0BIAAgESASfDcDICAPQQFqIg8gAkcNAAtBOSEQDNEBCyAAKAIEIQIgAEEANgIEIAAgAiAPQQFqIgQQsYCAgAAiAg2VASAEIQEMwwELQTkhEAzPAQsCQCAALwEwIgFBCHFFDQAgAC0AKEEBRw0AIAAtAC1BCHFFDZABCyAAIAFB9/sDcUGABHI7ATAgDyEBC0E3IRAMtAELIAAgAC8BMEEQcjsBMAyrAQsgEEEVRg2LASAAQQA2AhwgACABNgIUIABB8I6AgAA2AhAgAEEcNgIMQQAhEAzLAQsgAEHDADYCHCAAIAE2AgwgACANQQFqNgIUQQAhEAzKAQsCQCABLQAAQTpHDQAgACgCBCEQIABBADYCBAJAIAAgECABEK+AgIAAIhANACABQQFqIQEMYwsgAEHDADYCHCAAIBA2AgwgACABQQFqNgIUQQAhEAzKAQsgAEEANgIcIAAgATYCFCAAQbGRgIAANgIQIABBCjYCDEEAIRAMyQELIABBADYCHCAAIAE2AhQgAEGgmYCAADYCECAAQR42AgxBACEQDMgBCyAAQQA2AgALIABBgBI7ASogACAXQQFqIgEgAhCogICAACIQDQEgASEBC0HHACEQDKwBCyAQQRVHDYMBIABB0QA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAzEAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAzDAQsgAEEANgIcIAAgFDYCFCAAQcGogIAANgIQIABBBzYCDCAAQQA2AgBBACEQDMIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxdCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDMEBC0EAIRAgAEEANgIcIAAgATYCFCAAQYCRgIAANgIQIABBCTYCDAzAAQsgEEEVRg19IABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEQDL8BC0EBIRZBACEXQQAhFEEBIRALIAAgEDoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAWRQ0DDAILIBQNAQwCCyAXRQ0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQrYCAgAAiEA0AIAEhAQxcCyAAQdgANgIcIAAgATYCFCAAIBA2AgxBACEQDL4BCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQytAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhEAy9AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqwELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAIRAMvAELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKkBCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEQDLsBCwJAIAEtAABBUGoiEEH/AXFBCk8NACAAIBA6ACogAUEBaiEBQc8AIRAMogELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKcBCyAAQd4ANgIcIAAgATYCFCAAIAQ2AgxBACEQDLoBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKUEjTw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABB04mAgAA2AhAgAEEINgIMQQAhEAy5AQsgAEEANgIAC0EAIRAgAEEANgIcIAAgATYCFCAAQZCzgIAANgIQIABBCDYCDAy3AQsgAEEANgIAIBdBAWohAQJAIAAtAClBIUcNACABIQEMVgsgAEEANgIcIAAgATYCFCAAQZuKgIAANgIQIABBCDYCDEEAIRAMtgELIABBADYCACAXQQFqIQECQCAALQApIhBBXWpBC08NACABIQEMVQsCQCAQQQZLDQBBASAQdEHKAHFFDQAgASEBDFULQQAhECAAQQA2AhwgACABNgIUIABB94mAgAA2AhAgAEEINgIMDLUBCyAQQRVGDXEgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMtAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFQLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMswELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMsgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMsQELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFELIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMsAELIABBADYCHCAAIAE2AhQgAEHGioCAADYCECAAQQc2AgxBACEQDK8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDK4BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDK0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDKwBCyAAQQA2AhwgACABNgIUIABB3IiAgAA2AhAgAEEHNgIMQQAhEAyrAQsgEEE/Rw0BIAFBAWohAQtBBSEQDJABC0EAIRAgAEEANgIcIAAgATYCFCAAQf2SgIAANgIQIABBBzYCDAyoAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAynAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAymAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMRgsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAylAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHSADYCHCAAIBQ2AhQgACABNgIMQQAhEAykAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHTADYCHCAAIBQ2AhQgACABNgIMQQAhEAyjAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMQwsgAEHlADYCHCAAIBQ2AhQgACABNgIMQQAhEAyiAQsgAEEANgIcIAAgFDYCFCAAQcOPgIAANgIQIABBBzYCDEEAIRAMoQELIABBADYCHCAAIAE2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKABC0EAIRAgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDAyfAQsgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDEEAIRAMngELIABBADYCHCAAIBQ2AhQgAEH+kYCAADYCECAAQQc2AgxBACEQDJ0BCyAAQQA2AhwgACABNgIUIABBjpuAgAA2AhAgAEEGNgIMQQAhEAycAQsgEEEVRg1XIABBADYCHCAAIAE2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDJsBCyAAQQA2AgAgEEEBaiEBQSQhEAsgACAQOgApIAAoAgQhECAAQQA2AgQgACAQIAEQq4CAgAAiEA1UIAEhAQw+CyAAQQA2AgALQQAhECAAQQA2AhwgACAENgIUIABB8ZuAgAA2AhAgAEEGNgIMDJcBCyABQRVGDVAgAEEANgIcIAAgBTYCFCAAQfCMgIAANgIQIABBGzYCDEEAIRAMlgELIAAoAgQhBSAAQQA2AgQgACAFIBAQqYCAgAAiBQ0BIBBBAWohBQtBrQEhEAx7CyAAQcEBNgIcIAAgBTYCDCAAIBBBAWo2AhRBACEQDJMBCyAAKAIEIQYgAEEANgIEIAAgBiAQEKmAgIAAIgYNASAQQQFqIQYLQa4BIRAMeAsgAEHCATYCHCAAIAY2AgwgACAQQQFqNgIUQQAhEAyQAQsgAEEANgIcIAAgBzYCFCAAQZeLgIAANgIQIABBDTYCDEEAIRAMjwELIABBADYCHCAAIAg2AhQgAEHjkICAADYCECAAQQk2AgxBACEQDI4BCyAAQQA2AhwgACAINgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAyNAQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgCUEBaiEIAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBCAAIBAgCBCtgICAACIQRQ09IABByQE2AhwgACAINgIUIAAgEDYCDEEAIRAMjAELIAAoAgQhBCAAQQA2AgQgACAEIAgQrYCAgAAiBEUNdiAAQcoBNgIcIAAgCDYCFCAAIAQ2AgxBACEQDIsBCyAAKAIEIQQgAEEANgIEIAAgBCAJEK2AgIAAIgRFDXQgAEHLATYCHCAAIAk2AhQgACAENgIMQQAhEAyKAQsgACgCBCEEIABBADYCBCAAIAQgChCtgICAACIERQ1yIABBzQE2AhwgACAKNgIUIAAgBDYCDEEAIRAMiQELAkAgCy0AAEFQaiIQQf8BcUEKTw0AIAAgEDoAKiALQQFqIQpBtgEhEAxwCyAAKAIEIQQgAEEANgIEIAAgBCALEK2AgIAAIgRFDXAgAEHPATYCHCAAIAs2AhQgACAENgIMQQAhEAyIAQsgAEEANgIcIAAgBDYCFCAAQZCzgIAANgIQIABBCDYCDCAAQQA2AgBBACEQDIcBCyABQRVGDT8gAEEANgIcIAAgDDYCFCAAQcyOgIAANgIQIABBIDYCDEEAIRAMhgELIABBgQQ7ASggACgCBCEQIABCADcDACAAIBAgDEEBaiIMEKuAgIAAIhBFDTggAEHTATYCHCAAIAw2AhQgACAQNgIMQQAhEAyFAQsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQdibgIAANgIQIABBCDYCDAyDAQsgACgCBCEQIABCADcDACAAIBAgC0EBaiILEKuAgIAAIhANAUHGASEQDGkLIABBAjoAKAxVCyAAQdUBNgIcIAAgCzYCFCAAIBA2AgxBACEQDIABCyAQQRVGDTcgAEEANgIcIAAgBDYCFCAAQaSMgIAANgIQIABBEDYCDEEAIRAMfwsgAC0ANEEBRw00IAAgBCACELyAgIAAIhBFDTQgEEEVRw01IABB3AE2AhwgACAENgIUIABB1ZaAgAA2AhAgAEEVNgIMQQAhEAx+C0EAIRAgAEEANgIcIABBr4uAgAA2AhAgAEECNgIMIAAgFEEBajYCFAx9C0EAIRAMYwtBAiEQDGILQQ0hEAxhC0EPIRAMYAtBJSEQDF8LQRMhEAxeC0EVIRAMXQtBFiEQDFwLQRchEAxbC0EYIRAMWgtBGSEQDFkLQRohEAxYC0EbIRAMVwtBHCEQDFYLQR0hEAxVC0EfIRAMVAtBISEQDFMLQSMhEAxSC0HGACEQDFELQS4hEAxQC0EvIRAMTwtBOyEQDE4LQT0hEAxNC0HIACEQDEwLQckAIRAMSwtBywAhEAxKC0HMACEQDEkLQc4AIRAMSAtB0QAhEAxHC0HVACEQDEYLQdgAIRAMRQtB2QAhEAxEC0HbACEQDEMLQeQAIRAMQgtB5QAhEAxBC0HxACEQDEALQfQAIRAMPwtBjQEhEAw+C0GXASEQDD0LQakBIRAMPAtBrAEhEAw7C0HAASEQDDoLQbkBIRAMOQtBrwEhEAw4C0GxASEQDDcLQbIBIRAMNgtBtAEhEAw1C0G1ASEQDDQLQboBIRAMMwtBvQEhEAwyC0G/ASEQDDELQcEBIRAMMAsgAEEANgIcIAAgBDYCFCAAQemLgIAANgIQIABBHzYCDEEAIRAMSAsgAEHbATYCHCAAIAQ2AhQgAEH6loCAADYCECAAQRU2AgxBACEQDEcLIABB+AA2AhwgACAMNgIUIABBypiAgAA2AhAgAEEVNgIMQQAhEAxGCyAAQdEANgIcIAAgBTYCFCAAQbCXgIAANgIQIABBFTYCDEEAIRAMRQsgAEH5ADYCHCAAIAE2AhQgACAQNgIMQQAhEAxECyAAQfgANgIcIAAgATYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMQwsgAEHkADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEQDEILIABB1wA2AhwgACABNgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAxBCyAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhEAxACyAAQcIANgIcIAAgATYCFCAAQeOYgIAANgIQIABBFTYCDEEAIRAMPwsgAEEANgIEIAAgDyAPELGAgIAAIgRFDQEgAEE6NgIcIAAgBDYCDCAAIA9BAWo2AhRBACEQDD4LIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCxgICAACIERQ0AIABBOzYCHCAAIAQ2AgwgACABQQFqNgIUQQAhEAw+CyABQQFqIQEMLQsgD0EBaiEBDC0LIABBADYCHCAAIA82AhQgAEHkkoCAADYCECAAQQQ2AgxBACEQDDsLIABBNjYCHCAAIAQ2AhQgACACNgIMQQAhEAw6CyAAQS42AhwgACAONgIUIAAgBDYCDEEAIRAMOQsgAEHQADYCHCAAIAE2AhQgAEGRmICAADYCECAAQRU2AgxBACEQDDgLIA1BAWohAQwsCyAAQRU2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAw2CyAAQRs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw1CyAAQQ82AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw0CyAAQQs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAwzCyAAQRo2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwyCyAAQQs2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwxCyAAQQo2AhwgACABNgIUIABB5JaAgAA2AhAgAEEVNgIMQQAhEAwwCyAAQR42AhwgACABNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAwvCyAAQQA2AhwgACAQNgIUIABB2o2AgAA2AhAgAEEUNgIMQQAhEAwuCyAAQQQ2AhwgACABNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAwtCyAAQQA2AgAgC0EBaiELC0G4ASEQDBILIABBADYCACAQQQFqIQFB9QAhEAwRCyABIQECQCAALQApQQVHDQBB4wAhEAwRC0HiACEQDBALQQAhECAAQQA2AhwgAEHkkYCAADYCECAAQQc2AgwgACAUQQFqNgIUDCgLIABBADYCACAXQQFqIQFBwAAhEAwOC0EBIQELIAAgAToALCAAQQA2AgAgF0EBaiEBC0EoIRAMCwsgASEBC0E4IRAMCQsCQCABIg8gAkYNAANAAkAgDy0AAEGAvoCAAGotAAAiAUEBRg0AIAFBAkcNAyAPQQFqIQEMBAsgD0EBaiIPIAJHDQALQT4hEAwiC0E+IRAMIQsgAEEAOgAsIA8hAQwBC0ELIRAMBgtBOiEQDAULIAFBAWohAUEtIRAMBAsgACABOgAsIABBADYCACAWQQFqIQFBDCEQDAMLIABBADYCACAXQQFqIQFBCiEQDAILIABBADYCAAsgAEEAOgAsIA0hAUEJIRAMAAsLQQAhECAAQQA2AhwgACALNgIUIABBzZCAgAA2AhAgAEEJNgIMDBcLQQAhECAAQQA2AhwgACAKNgIUIABB6YqAgAA2AhAgAEEJNgIMDBYLQQAhECAAQQA2AhwgACAJNgIUIABBt5CAgAA2AhAgAEEJNgIMDBULQQAhECAAQQA2AhwgACAINgIUIABBnJGAgAA2AhAgAEEJNgIMDBQLQQAhECAAQQA2AhwgACABNgIUIABBzZCAgAA2AhAgAEEJNgIMDBMLQQAhECAAQQA2AhwgACABNgIUIABB6YqAgAA2AhAgAEEJNgIMDBILQQAhECAAQQA2AhwgACABNgIUIABBt5CAgAA2AhAgAEEJNgIMDBELQQAhECAAQQA2AhwgACABNgIUIABBnJGAgAA2AhAgAEEJNgIMDBALQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA8LQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA4LQQAhECAAQQA2AhwgACABNgIUIABBwJKAgAA2AhAgAEELNgIMDA0LQQAhECAAQQA2AhwgACABNgIUIABBlYmAgAA2AhAgAEELNgIMDAwLQQAhECAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMDAsLQQAhECAAQQA2AhwgACABNgIUIABB+4+AgAA2AhAgAEEKNgIMDAoLQQAhECAAQQA2AhwgACABNgIUIABB8ZmAgAA2AhAgAEECNgIMDAkLQQAhECAAQQA2AhwgACABNgIUIABBxJSAgAA2AhAgAEECNgIMDAgLQQAhECAAQQA2AhwgACABNgIUIABB8pWAgAA2AhAgAEECNgIMDAcLIABBAjYCHCAAIAE2AhQgAEGcmoCAADYCECAAQRY2AgxBACEQDAYLQQEhEAwFC0HUACEQIAEiBCACRg0EIANBCGogACAEIAJB2MKAgABBChDFgICAACADKAIMIQQgAygCCA4DAQQCAAsQyoCAgAAACyAAQQA2AhwgAEG1moCAADYCECAAQRc2AgwgACAEQQFqNgIUQQAhEAwCCyAAQQA2AhwgACAENgIUIABBypqAgAA2AhAgAEEJNgIMQQAhEAwBCwJAIAEiBCACRw0AQSIhEAwBCyAAQYmAgIAANgIIIAAgBDYCBEEhIRALIANBEGokgICAgAAgEAuvAQECfyABKAIAIQYCQAJAIAIgA0YNACAEIAZqIQQgBiADaiACayEHIAIgBkF/cyAFaiIGaiEFA0ACQCACLQAAIAQtAABGDQBBAiEEDAMLAkAgBg0AQQAhBCAFIQIMAwsgBkF/aiEGIARBAWohBCACQQFqIgIgA0cNAAsgByEGIAMhAgsgAEEBNgIAIAEgBjYCACAAIAI2AgQPCyABQQA2AgAgACAENgIAIAAgAjYCBAsKACAAEMeAgIAAC/I2AQt/I4CAgIAAQRBrIgEkgICAgAACQEEAKAKg0ICAAA0AQQAQy4CAgABBgNSEgABrIgJB2QBJDQBBACEDAkBBACgC4NOAgAAiBA0AQQBCfzcC7NOAgABBAEKAgISAgIDAADcC5NOAgABBACABQQhqQXBxQdiq1aoFcyIENgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgAALQQAgAjYCzNOAgABBAEGA1ISAADYCyNOAgABBAEGA1ISAADYCmNCAgABBACAENgKs0ICAAEEAQX82AqjQgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAtBgNSEgABBeEGA1ISAAGtBD3FBAEGA1ISAAEEIakEPcRsiA2oiBEEEaiACQUhqIgUgA2siA0EBcjYCAEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgABBgNSEgAAgBWpBODYCBAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAUsNAAJAQQAoAojQgIAAIgZBECAAQRNqQXBxIABBC0kbIgJBA3YiBHYiA0EDcUUNAAJAAkAgA0EBcSAEckEBcyIFQQN0IgRBsNCAgABqIgMgBEG40ICAAGooAgAiBCgCCCICRw0AQQAgBkF+IAV3cTYCiNCAgAAMAQsgAyACNgIIIAIgAzYCDAsgBEEIaiEDIAQgBUEDdCIFQQNyNgIEIAQgBWoiBCAEKAIEQQFyNgIEDAwLIAJBACgCkNCAgAAiB00NAQJAIANFDQACQAJAIAMgBHRBAiAEdCIDQQAgA2tycSIDQQAgA2txQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmoiBEEDdCIDQbDQgIAAaiIFIANBuNCAgABqKAIAIgMoAggiAEcNAEEAIAZBfiAEd3EiBjYCiNCAgAAMAQsgBSAANgIIIAAgBTYCDAsgAyACQQNyNgIEIAMgBEEDdCIEaiAEIAJrIgU2AgAgAyACaiIAIAVBAXI2AgQCQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhBAJAAkAgBkEBIAdBA3Z0IghxDQBBACAGIAhyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAQ2AgwgAiAENgIIIAQgAjYCDCAEIAg2AggLIANBCGohA0EAIAA2ApzQgIAAQQAgBTYCkNCAgAAMDAtBACgCjNCAgAAiCUUNASAJQQAgCWtxQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmpBAnRBuNKAgABqKAIAIgAoAgRBeHEgAmshBCAAIQUCQANAAkAgBSgCECIDDQAgBUEUaigCACIDRQ0CCyADKAIEQXhxIAJrIgUgBCAFIARJIgUbIQQgAyAAIAUbIQAgAyEFDAALCyAAKAIYIQoCQCAAKAIMIgggAEYNACAAKAIIIgNBACgCmNCAgABJGiAIIAM2AgggAyAINgIMDAsLAkAgAEEUaiIFKAIAIgMNACAAKAIQIgNFDQMgAEEQaiEFCwNAIAUhCyADIghBFGoiBSgCACIDDQAgCEEQaiEFIAgoAhAiAw0ACyALQQA2AgAMCgtBfyECIABBv39LDQAgAEETaiIDQXBxIQJBACgCjNCAgAAiB0UNAEEAIQsCQCACQYACSQ0AQR8hCyACQf///wdLDQAgA0EIdiIDIANBgP4/akEQdkEIcSIDdCIEIARBgOAfakEQdkEEcSIEdCIFIAVBgIAPakEQdkECcSIFdEEPdiADIARyIAVyayIDQQF0IAIgA0EVanZBAXFyQRxqIQsLQQAgAmshBAJAAkACQAJAIAtBAnRBuNKAgABqKAIAIgUNAEEAIQNBACEIDAELQQAhAyACQQBBGSALQQF2ayALQR9GG3QhAEEAIQgDQAJAIAUoAgRBeHEgAmsiBiAETw0AIAYhBCAFIQggBg0AQQAhBCAFIQggBSEDDAMLIAMgBUEUaigCACIGIAYgBSAAQR12QQRxakEQaigCACIFRhsgAyAGGyEDIABBAXQhACAFDQALCwJAIAMgCHINAEEAIQhBAiALdCIDQQAgA2tyIAdxIgNFDQMgA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBUEFdkEIcSIAIANyIAUgAHYiA0ECdkEEcSIFciADIAV2IgNBAXZBAnEiBXIgAyAFdiIDQQF2QQFxIgVyIAMgBXZqQQJ0QbjSgIAAaigCACEDCyADRQ0BCwNAIAMoAgRBeHEgAmsiBiAESSEAAkAgAygCECIFDQAgA0EUaigCACEFCyAGIAQgABshBCADIAggABshCCAFIQMgBQ0ACwsgCEUNACAEQQAoApDQgIAAIAJrTw0AIAgoAhghCwJAIAgoAgwiACAIRg0AIAgoAggiA0EAKAKY0ICAAEkaIAAgAzYCCCADIAA2AgwMCQsCQCAIQRRqIgUoAgAiAw0AIAgoAhAiA0UNAyAIQRBqIQULA0AgBSEGIAMiAEEUaiIFKAIAIgMNACAAQRBqIQUgACgCECIDDQALIAZBADYCAAwICwJAQQAoApDQgIAAIgMgAkkNAEEAKAKc0ICAACEEAkACQCADIAJrIgVBEEkNACAEIAJqIgAgBUEBcjYCBEEAIAU2ApDQgIAAQQAgADYCnNCAgAAgBCADaiAFNgIAIAQgAkEDcjYCBAwBCyAEIANBA3I2AgQgBCADaiIDIAMoAgRBAXI2AgRBAEEANgKc0ICAAEEAQQA2ApDQgIAACyAEQQhqIQMMCgsCQEEAKAKU0ICAACIAIAJNDQBBACgCoNCAgAAiAyACaiIEIAAgAmsiBUEBcjYCBEEAIAU2ApTQgIAAQQAgBDYCoNCAgAAgAyACQQNyNgIEIANBCGohAwwKCwJAAkBBACgC4NOAgABFDQBBACgC6NOAgAAhBAwBC0EAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEMakFwcUHYqtWqBXM2AuDTgIAAQQBBADYC9NOAgABBAEEANgLE04CAAEGAgAQhBAtBACEDAkAgBCACQccAaiIHaiIGQQAgBGsiC3EiCCACSw0AQQBBMDYC+NOAgAAMCgsCQEEAKALA04CAACIDRQ0AAkBBACgCuNOAgAAiBCAIaiIFIARNDQAgBSADTQ0BC0EAIQNBAEEwNgL404CAAAwKC0EALQDE04CAAEEEcQ0EAkACQAJAQQAoAqDQgIAAIgRFDQBByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiAESw0DCyADKAIIIgMNAAsLQQAQy4CAgAAiAEF/Rg0FIAghBgJAQQAoAuTTgIAAIgNBf2oiBCAAcUUNACAIIABrIAQgAGpBACADa3FqIQYLIAYgAk0NBSAGQf7///8HSw0FAkBBACgCwNOAgAAiA0UNAEEAKAK404CAACIEIAZqIgUgBE0NBiAFIANLDQYLIAYQy4CAgAAiAyAARw0BDAcLIAYgAGsgC3EiBkH+////B0sNBCAGEMuAgIAAIgAgAygCACADKAIEakYNAyAAIQMLAkAgA0F/Rg0AIAJByABqIAZNDQACQCAHIAZrQQAoAujTgIAAIgRqQQAgBGtxIgRB/v///wdNDQAgAyEADAcLAkAgBBDLgICAAEF/Rg0AIAQgBmohBiADIQAMBwtBACAGaxDLgICAABoMBAsgAyEAIANBf0cNBQwDC0EAIQgMBwtBACEADAULIABBf0cNAgtBAEEAKALE04CAAEEEcjYCxNOAgAALIAhB/v///wdLDQEgCBDLgICAACEAQQAQy4CAgAAhAyAAQX9GDQEgA0F/Rg0BIAAgA08NASADIABrIgYgAkE4ak0NAQtBAEEAKAK404CAACAGaiIDNgK404CAAAJAIANBACgCvNOAgABNDQBBACADNgK804CAAAsCQAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQCAAIAMoAgAiBSADKAIEIghqRg0CIAMoAggiAw0ADAMLCwJAAkBBACgCmNCAgAAiA0UNACAAIANPDQELQQAgADYCmNCAgAALQQAhA0EAIAY2AszTgIAAQQAgADYCyNOAgABBAEF/NgKo0ICAAEEAQQAoAuDTgIAANgKs0ICAAEEAQQA2AtTTgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiBCAGQUhqIgUgA2siA0EBcjYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgAAgACAFakE4NgIEDAILIAMtAAxBCHENACAEIAVJDQAgBCAATw0AIARBeCAEa0EPcUEAIARBCGpBD3EbIgVqIgBBACgClNCAgAAgBmoiCyAFayIFQQFyNgIEIAMgCCAGajYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAU2ApTQgIAAQQAgADYCoNCAgAAgBCALakE4NgIEDAELAkAgAEEAKAKY0ICAACIITw0AQQAgADYCmNCAgAAgACEICyAAIAZqIQVByNOAgAAhAwJAAkACQAJAAkACQAJAA0AgAygCACAFRg0BIAMoAggiAw0ADAILCyADLQAMQQhxRQ0BC0HI04CAACEDA0ACQCADKAIAIgUgBEsNACAFIAMoAgRqIgUgBEsNAwsgAygCCCEDDAALCyADIAA2AgAgAyADKAIEIAZqNgIEIABBeCAAa0EPcUEAIABBCGpBD3EbaiILIAJBA3I2AgQgBUF4IAVrQQ9xQQAgBUEIakEPcRtqIgYgCyACaiICayEDAkAgBiAERw0AQQAgAjYCoNCAgABBAEEAKAKU0ICAACADaiIDNgKU0ICAACACIANBAXI2AgQMAwsCQCAGQQAoApzQgIAARw0AQQAgAjYCnNCAgABBAEEAKAKQ0ICAACADaiIDNgKQ0ICAACACIANBAXI2AgQgAiADaiADNgIADAMLAkAgBigCBCIEQQNxQQFHDQAgBEF4cSEHAkACQCAEQf8BSw0AIAYoAggiBSAEQQN2IghBA3RBsNCAgABqIgBGGgJAIAYoAgwiBCAFRw0AQQBBACgCiNCAgABBfiAId3E2AojQgIAADAILIAQgAEYaIAQgBTYCCCAFIAQ2AgwMAQsgBigCGCEJAkACQCAGKAIMIgAgBkYNACAGKAIIIgQgCEkaIAAgBDYCCCAEIAA2AgwMAQsCQCAGQRRqIgQoAgAiBQ0AIAZBEGoiBCgCACIFDQBBACEADAELA0AgBCEIIAUiAEEUaiIEKAIAIgUNACAAQRBqIQQgACgCECIFDQALIAhBADYCAAsgCUUNAAJAAkAgBiAGKAIcIgVBAnRBuNKAgABqIgQoAgBHDQAgBCAANgIAIAANAUEAQQAoAozQgIAAQX4gBXdxNgKM0ICAAAwCCyAJQRBBFCAJKAIQIAZGG2ogADYCACAARQ0BCyAAIAk2AhgCQCAGKAIQIgRFDQAgACAENgIQIAQgADYCGAsgBigCFCIERQ0AIABBFGogBDYCACAEIAA2AhgLIAcgA2ohAyAGIAdqIgYoAgQhBAsgBiAEQX5xNgIEIAIgA2ogAzYCACACIANBAXI2AgQCQCADQf8BSw0AIANBeHFBsNCAgABqIQQCQAJAQQAoAojQgIAAIgVBASADQQN2dCIDcQ0AQQAgBSADcjYCiNCAgAAgBCEDDAELIAQoAgghAwsgAyACNgIMIAQgAjYCCCACIAQ2AgwgAiADNgIIDAMLQR8hBAJAIANB////B0sNACADQQh2IgQgBEGA/j9qQRB2QQhxIgR0IgUgBUGA4B9qQRB2QQRxIgV0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAQgBXIgAHJrIgRBAXQgAyAEQRVqdkEBcXJBHGohBAsgAiAENgIcIAJCADcCECAEQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiAEEBIAR0IghxDQAgBSACNgIAQQAgACAIcjYCjNCAgAAgAiAFNgIYIAIgAjYCCCACIAI2AgwMAwsgA0EAQRkgBEEBdmsgBEEfRht0IQQgBSgCACEAA0AgACIFKAIEQXhxIANGDQIgBEEddiEAIARBAXQhBCAFIABBBHFqQRBqIggoAgAiAA0ACyAIIAI2AgAgAiAFNgIYIAIgAjYCDCACIAI2AggMAgsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiCyAGQUhqIgggA2siA0EBcjYCBCAAIAhqQTg2AgQgBCAFQTcgBWtBD3FBACAFQUlqQQ9xG2pBQWoiCCAIIARBEGpJGyIIQSM2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAs2AqDQgIAAIAhBEGpBACkC0NOAgAA3AgAgCEEAKQLI04CAADcCCEEAIAhBCGo2AtDTgIAAQQAgBjYCzNOAgABBACAANgLI04CAAEEAQQA2AtTTgIAAIAhBJGohAwNAIANBBzYCACADQQRqIgMgBUkNAAsgCCAERg0DIAggCCgCBEF+cTYCBCAIIAggBGsiADYCACAEIABBAXI2AgQCQCAAQf8BSw0AIABBeHFBsNCAgABqIQMCQAJAQQAoAojQgIAAIgVBASAAQQN2dCIAcQ0AQQAgBSAAcjYCiNCAgAAgAyEFDAELIAMoAgghBQsgBSAENgIMIAMgBDYCCCAEIAM2AgwgBCAFNgIIDAQLQR8hAwJAIABB////B0sNACAAQQh2IgMgA0GA/j9qQRB2QQhxIgN0IgUgBUGA4B9qQRB2QQRxIgV0IgggCEGAgA9qQRB2QQJxIgh0QQ92IAMgBXIgCHJrIgNBAXQgACADQRVqdkEBcXJBHGohAwsgBCADNgIcIARCADcCECADQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiCEEBIAN0IgZxDQAgBSAENgIAQQAgCCAGcjYCjNCAgAAgBCAFNgIYIAQgBDYCCCAEIAQ2AgwMBAsgAEEAQRkgA0EBdmsgA0EfRht0IQMgBSgCACEIA0AgCCIFKAIEQXhxIABGDQMgA0EddiEIIANBAXQhAyAFIAhBBHFqQRBqIgYoAgAiCA0ACyAGIAQ2AgAgBCAFNgIYIAQgBDYCDCAEIAQ2AggMAwsgBSgCCCIDIAI2AgwgBSACNgIIIAJBADYCGCACIAU2AgwgAiADNgIICyALQQhqIQMMBQsgBSgCCCIDIAQ2AgwgBSAENgIIIARBADYCGCAEIAU2AgwgBCADNgIIC0EAKAKU0ICAACIDIAJNDQBBACgCoNCAgAAiBCACaiIFIAMgAmsiA0EBcjYCBEEAIAM2ApTQgIAAQQAgBTYCoNCAgAAgBCACQQNyNgIEIARBCGohAwwDC0EAIQNBAEEwNgL404CAAAwCCwJAIAtFDQACQAJAIAggCCgCHCIFQQJ0QbjSgIAAaiIDKAIARw0AIAMgADYCACAADQFBACAHQX4gBXdxIgc2AozQgIAADAILIAtBEEEUIAsoAhAgCEYbaiAANgIAIABFDQELIAAgCzYCGAJAIAgoAhAiA0UNACAAIAM2AhAgAyAANgIYCyAIQRRqKAIAIgNFDQAgAEEUaiADNgIAIAMgADYCGAsCQAJAIARBD0sNACAIIAQgAmoiA0EDcjYCBCAIIANqIgMgAygCBEEBcjYCBAwBCyAIIAJqIgAgBEEBcjYCBCAIIAJBA3I2AgQgACAEaiAENgIAAkAgBEH/AUsNACAEQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgBEEDdnQiBHENAEEAIAUgBHI2AojQgIAAIAMhBAwBCyADKAIIIQQLIAQgADYCDCADIAA2AgggACADNgIMIAAgBDYCCAwBC0EfIQMCQCAEQf///wdLDQAgBEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCICIAJBgIAPakEQdkECcSICdEEPdiADIAVyIAJyayIDQQF0IAQgA0EVanZBAXFyQRxqIQMLIAAgAzYCHCAAQgA3AhAgA0ECdEG40oCAAGohBQJAIAdBASADdCICcQ0AIAUgADYCAEEAIAcgAnI2AozQgIAAIAAgBTYCGCAAIAA2AgggACAANgIMDAELIARBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhAgJAA0AgAiIFKAIEQXhxIARGDQEgA0EddiECIANBAXQhAyAFIAJBBHFqQRBqIgYoAgAiAg0ACyAGIAA2AgAgACAFNgIYIAAgADYCDCAAIAA2AggMAQsgBSgCCCIDIAA2AgwgBSAANgIIIABBADYCGCAAIAU2AgwgACADNgIICyAIQQhqIQMMAQsCQCAKRQ0AAkACQCAAIAAoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAg2AgAgCA0BQQAgCUF+IAV3cTYCjNCAgAAMAgsgCkEQQRQgCigCECAARhtqIAg2AgAgCEUNAQsgCCAKNgIYAkAgACgCECIDRQ0AIAggAzYCECADIAg2AhgLIABBFGooAgAiA0UNACAIQRRqIAM2AgAgAyAINgIYCwJAAkAgBEEPSw0AIAAgBCACaiIDQQNyNgIEIAAgA2oiAyADKAIEQQFyNgIEDAELIAAgAmoiBSAEQQFyNgIEIAAgAkEDcjYCBCAFIARqIAQ2AgACQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhAwJAAkBBASAHQQN2dCIIIAZxDQBBACAIIAZyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAM2AgwgAiADNgIIIAMgAjYCDCADIAg2AggLQQAgBTYCnNCAgABBACAENgKQ0ICAAAsgAEEIaiEDCyABQRBqJICAgIAAIAMLCgAgABDJgICAAAviDQEHfwJAIABFDQAgAEF4aiIBIABBfGooAgAiAkF4cSIAaiEDAkAgAkEBcQ0AIAJBA3FFDQEgASABKAIAIgJrIgFBACgCmNCAgAAiBEkNASACIABqIQACQCABQQAoApzQgIAARg0AAkAgAkH/AUsNACABKAIIIgQgAkEDdiIFQQN0QbDQgIAAaiIGRhoCQCABKAIMIgIgBEcNAEEAQQAoAojQgIAAQX4gBXdxNgKI0ICAAAwDCyACIAZGGiACIAQ2AgggBCACNgIMDAILIAEoAhghBwJAAkAgASgCDCIGIAFGDQAgASgCCCICIARJGiAGIAI2AgggAiAGNgIMDAELAkAgAUEUaiICKAIAIgQNACABQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQECQAJAIAEgASgCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAwsgB0EQQRQgBygCECABRhtqIAY2AgAgBkUNAgsgBiAHNgIYAkAgASgCECICRQ0AIAYgAjYCECACIAY2AhgLIAEoAhQiAkUNASAGQRRqIAI2AgAgAiAGNgIYDAELIAMoAgQiAkEDcUEDRw0AIAMgAkF+cTYCBEEAIAA2ApDQgIAAIAEgAGogADYCACABIABBAXI2AgQPCyABIANPDQAgAygCBCICQQFxRQ0AAkACQCACQQJxDQACQCADQQAoAqDQgIAARw0AQQAgATYCoNCAgABBAEEAKAKU0ICAACAAaiIANgKU0ICAACABIABBAXI2AgQgAUEAKAKc0ICAAEcNA0EAQQA2ApDQgIAAQQBBADYCnNCAgAAPCwJAIANBACgCnNCAgABHDQBBACABNgKc0ICAAEEAQQAoApDQgIAAIABqIgA2ApDQgIAAIAEgAEEBcjYCBCABIABqIAA2AgAPCyACQXhxIABqIQACQAJAIAJB/wFLDQAgAygCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgAygCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAgsgAiAGRhogAiAENgIIIAQgAjYCDAwBCyADKAIYIQcCQAJAIAMoAgwiBiADRg0AIAMoAggiAkEAKAKY0ICAAEkaIAYgAjYCCCACIAY2AgwMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEGDAELA0AgAiEFIAQiBkEUaiICKAIAIgQNACAGQRBqIQIgBigCECIEDQALIAVBADYCAAsgB0UNAAJAAkAgAyADKAIcIgRBAnRBuNKAgABqIgIoAgBHDQAgAiAGNgIAIAYNAUEAQQAoAozQgIAAQX4gBHdxNgKM0ICAAAwCCyAHQRBBFCAHKAIQIANGG2ogBjYCACAGRQ0BCyAGIAc2AhgCQCADKAIQIgJFDQAgBiACNgIQIAIgBjYCGAsgAygCFCICRQ0AIAZBFGogAjYCACACIAY2AhgLIAEgAGogADYCACABIABBAXI2AgQgAUEAKAKc0ICAAEcNAUEAIAA2ApDQgIAADwsgAyACQX5xNgIEIAEgAGogADYCACABIABBAXI2AgQLAkAgAEH/AUsNACAAQXhxQbDQgIAAaiECAkACQEEAKAKI0ICAACIEQQEgAEEDdnQiAHENAEEAIAQgAHI2AojQgIAAIAIhAAwBCyACKAIIIQALIAAgATYCDCACIAE2AgggASACNgIMIAEgADYCCA8LQR8hAgJAIABB////B0sNACAAQQh2IgIgAkGA/j9qQRB2QQhxIgJ0IgQgBEGA4B9qQRB2QQRxIgR0IgYgBkGAgA9qQRB2QQJxIgZ0QQ92IAIgBHIgBnJrIgJBAXQgACACQRVqdkEBcXJBHGohAgsgASACNgIcIAFCADcCECACQQJ0QbjSgIAAaiEEAkACQEEAKAKM0ICAACIGQQEgAnQiA3ENACAEIAE2AgBBACAGIANyNgKM0ICAACABIAQ2AhggASABNgIIIAEgATYCDAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiAEKAIAIQYCQANAIAYiBCgCBEF4cSAARg0BIAJBHXYhBiACQQF0IQIgBCAGQQRxakEQaiIDKAIAIgYNAAsgAyABNgIAIAEgBDYCGCABIAE2AgwgASABNgIIDAELIAQoAggiACABNgIMIAQgATYCCCABQQA2AhggASAENgIMIAEgADYCCAtBAEEAKAKo0ICAAEF/aiIBQX8gARs2AqjQgIAACwsEAAAAC04AAkAgAA0APwBBEHQPCwJAIABB//8DcQ0AIABBf0wNAAJAIABBEHZAACIAQX9HDQBBAEEwNgL404CAAEF/DwsgAEEQdA8LEMqAgIAAAAvyAgIDfwF+AkAgAkUNACAAIAE6AAAgAiAAaiIDQX9qIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0F9aiABOgAAIANBfmogAToAACACQQdJDQAgACABOgADIANBfGogAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkF8aiABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBeGogATYCACACQXRqIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQXBqIAE2AgAgAkFsaiABNgIAIAJBaGogATYCACACQWRqIAE2AgAgBCADQQRxQRhyIgVrIgJBIEkNACABrUKBgICAEH4hBiADIAVqIQEDQCABIAY3AxggASAGNwMQIAEgBjcDCCABIAY3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAsLjkgBAEGACAuGSAEAAAACAAAAAwAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAYAAAAHAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+  }
+});
+
+// node_modules/undici/lib/client.js
+var require_client3 = __commonJS({
+  "node_modules/undici/lib/client.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
-    var brace_expansion_1 = require_commonjs19();
-    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
-    var ast_js_1 = require_ast();
-    var escape_js_1 = require_escape();
-    var unescape_js_1 = require_unescape();
-    var minimatch = (p, pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
-      }
-      return new Minimatch(pattern, options).match(p);
-    };
-    exports2.minimatch = minimatch;
-    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
-    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
-    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
-    var starDotExtTestNocase = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
-    };
-    var starDotExtTestNocaseDot = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => f.toLowerCase().endsWith(ext2);
-    };
-    var starDotStarRE = /^\*+\.\*+$/;
-    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
-    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
-    var dotStarRE = /^\.\*+$/;
-    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
-    var starRE = /^\*+$/;
-    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
-    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
-    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
-    var qmarksTestNocase = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTest = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTestNoExt = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && !f.startsWith(".");
-    };
-    var qmarksTestNoExtDot = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && f !== "." && f !== "..";
-    };
-    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
-    var path7 = {
-      win32: { sep: "\\" },
-      posix: { sep: "/" }
-    };
-    exports2.sep = defaultPlatform === "win32" ? path7.win32.sep : path7.posix.sep;
-    exports2.minimatch.sep = exports2.sep;
-    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
-    exports2.filter = filter;
-    exports2.minimatch.filter = exports2.filter;
-    var ext = (a, b = {}) => Object.assign({}, a, b);
-    var defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return exports2.minimatch;
-      }
-      const orig = exports2.minimatch;
-      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
-      return Object.assign(m, {
-        Minimatch: class Minimatch extends orig.Minimatch {
-          constructor(pattern, options = {}) {
-            super(pattern, ext(def, options));
-          }
-          static defaults(options) {
-            return orig.defaults(ext(def, options)).Minimatch;
-          }
-        },
-        AST: class AST extends orig.AST {
-          /* c8 ignore start */
-          constructor(type2, parent, options = {}) {
-            super(type2, parent, ext(def, options));
-          }
-          /* c8 ignore stop */
-          static fromGlob(pattern, options = {}) {
-            return orig.AST.fromGlob(pattern, ext(def, options));
-          }
-        },
-        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
-        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
-        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
-        defaults: (options) => orig.defaults(ext(def, options)),
-        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
-        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
-        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
-        sep: orig.sep,
-        GLOBSTAR: exports2.GLOBSTAR
-      });
-    };
-    exports2.defaults = defaults;
-    exports2.minimatch.defaults = exports2.defaults;
-    var braceExpand = (pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
-      }
-      return (0, brace_expansion_1.expand)(pattern);
-    };
-    exports2.braceExpand = braceExpand;
-    exports2.minimatch.braceExpand = exports2.braceExpand;
-    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
-    exports2.makeRe = makeRe;
-    exports2.minimatch.makeRe = exports2.makeRe;
-    var match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+    var assert = require("assert");
+    var net = require("net");
+    var http = require("http");
+    var { pipeline } = require("stream");
+    var util = require_util24();
+    var timers = require_timers3();
+    var Request = require_request5();
+    var DispatcherBase = require_dispatcher_base3();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      InvalidArgumentError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError,
+      ClientDestroyedError
+    } = require_errors6();
+    var buildConnector = require_connect3();
+    var {
+      kUrl,
+      kReset,
+      kServerName,
+      kClient,
+      kBusy,
+      kParser,
+      kConnect,
+      kBlocking,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kHTTPConnVersion,
+      // HTTP2
+      kHost,
+      kHTTP2Session,
+      kHTTP2SessionState,
+      kHTTP2BuildRequest,
+      kHTTP2CopyHeaders,
+      kHTTP1BuildRequest
+    } = require_symbols11();
+    var http2;
+    try {
+      http2 = require("http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
       }
-      return list;
-    };
-    exports2.match = match;
-    exports2.minimatch.match = exports2.match;
-    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var Minimatch = class {
-      options;
-      set;
-      pattern;
-      windowsPathsNoEscape;
-      nonegate;
-      negate;
-      comment;
-      empty;
-      preserveMultipleSlashes;
-      partial;
-      globSet;
-      globParts;
-      nocase;
-      isWindows;
-      platform;
-      windowsNoMagicRoot;
-      regexp;
-      constructor(pattern, options = {}) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        options = options || {};
-        this.options = options;
-        this.pattern = pattern;
-        this.platform = options.platform || defaultPlatform;
-        this.isWindows = this.platform === "win32";
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
+    } = http2;
+    var h2ExperimentalWarned = false;
+    var FastBuffer = Buffer[Symbol.species];
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var channels = {};
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
+      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
+      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
+      channels.connected = diagnosticsChannel.channel("undici:client:connected");
+    } catch {
+      channels.sendHeaders = { hasSubscribers: false };
+      channels.beforeConnect = { hasSubscribers: false };
+      channels.connectError = { hasSubscribers: false };
+      channels.connected = { hasSubscribers: false };
+    }
+    var Client = class extends DispatcherBase {
+      /**
+       *
+       * @param {string|URL} url
+       * @param {import('../types/client').Client.Options} options
+       */
+      constructor(url, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        allowH2,
+        maxConcurrentStreams
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
         }
-        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
-        this.regexp = null;
-        this.negate = false;
-        this.nonegate = !!options.nonegate;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.nocase = !!this.options.nocase;
-        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
-        this.globSet = [];
-        this.globParts = [];
-        this.set = [];
-        this.make();
-      }
-      hasMagic() {
-        if (this.options.magicalBraces && this.set.length > 1) {
-          return true;
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        for (const pattern of this.set) {
-          for (const part of pattern) {
-            if (typeof part !== "string")
-              return true;
-          }
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        return false;
-      }
-      debug(..._2) {
-      }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        if (!pattern) {
-          this.empty = true;
-          return;
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-        this.parseNegate();
-        this.globSet = [...new Set(this.braceExpand())];
-        if (options.debug) {
-          this.debug = (...args) => console.error(...args);
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
         }
-        this.debug(this.pattern, this.globSet);
-        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
-        this.globParts = this.preprocess(rawGlobParts);
-        this.debug(this.pattern, this.globParts);
-        let set2 = this.globParts.map((s, _2, __) => {
-          if (this.isWindows && this.windowsNoMagicRoot) {
-            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
-            const isDrive = /^[a-z]:/i.test(s[0]);
-            if (isUNC) {
-              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
-            } else if (isDrive) {
-              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
-            }
-          }
-          return s.map((ss) => this.parse(ss));
-        });
-        this.debug(this.pattern, set2);
-        this.set = set2.filter((s) => s.indexOf(false) === -1);
-        if (this.isWindows) {
-          for (let i = 0; i < this.set.length; i++) {
-            const p = this.set[i];
-            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
-              p[2] = "?";
-            }
-          }
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
         }
-        this.debug(this.pattern, this.set);
-      }
-      // various transforms to equivalent pattern sets that are
-      // faster to process in a filesystem walk.  The goal is to
-      // eliminate what we can, and push all ** patterns as far
-      // to the right as possible, even if it increases the number
-      // of patterns that we have to process.
-      preprocess(globParts) {
-        if (this.options.noglobstar) {
-          for (let i = 0; i < globParts.length; i++) {
-            for (let j = 0; j < globParts[i].length; j++) {
-              if (globParts[i][j] === "**") {
-                globParts[i][j] = "*";
-              }
-            }
-          }
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          globParts = this.firstPhasePreProcess(globParts);
-          globParts = this.secondPhasePreProcess(globParts);
-        } else if (optimizationLevel >= 1) {
-          globParts = this.levelOneOptimize(globParts);
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
+        }
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        }
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        }
+        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        }
+        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        }
+        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+        }
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        }
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        }
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        }
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        }
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
+        }
+        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        this[kUrl] = util.parseOrigin(url);
+        this[kConnector] = connect2;
+        this[kSocket] = null;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kHTTPConnVersion] = "h1";
+        this[kHTTP2Session] = null;
+        this[kHTTP2SessionState] = !allowH2 ? null : {
+          // streams: null, // Fixed queue of streams - For future support of `push`
+          openStreams: 0,
+          // Keep track of them to decide wether or not unref the session
+          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
+          // Max peerConcurrentStreams for a Node h2 server
+        };
+        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
+      }
+      get pipelining() {
+        return this[kPipelining];
+      }
+      set pipelining(value) {
+        this[kPipelining] = value;
+        resume(this, true);
+      }
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
+      }
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
+      }
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
+      }
+      get [kConnected]() {
+        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      }
+      get [kBusy]() {
+        const socket = this[kSocket];
+        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      }
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
+      }
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          process.nextTick(resume, this);
         } else {
-          globParts = this.adjascentGlobstarOptimize(globParts);
+          resume(this, true);
         }
-        return globParts;
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
+        }
+        return this[kNeedDrain] < 2;
       }
-      // just get rid of adjascent ** portions
-      adjascentGlobstarOptimize(globParts) {
-        return globParts.map((parts) => {
-          let gs = -1;
-          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-            let i = gs;
-            while (parts[i + 1] === "**") {
-              i++;
-            }
-            if (i !== gs) {
-              parts.splice(gs, i - gs);
-            }
+      async [kClose]() {
+        return new Promise((resolve5) => {
+          if (!this[kSize]) {
+            resolve5(null);
+          } else {
+            this[kClosedResolve] = resolve5;
           }
-          return parts;
         });
       }
-      // get rid of adjascent ** and resolve .. portions
-      levelOneOptimize(globParts) {
-        return globParts.map((parts) => {
-          parts = parts.reduce((set2, part) => {
-            const prev = set2[set2.length - 1];
-            if (part === "**" && prev === "**") {
-              return set2;
-            }
-            if (part === "..") {
-              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
-                set2.pop();
-                return set2;
-              }
+      async [kDestroy](err) {
+        return new Promise((resolve5) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            errorRequest2(this, request2, err);
+          }
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
             }
-            set2.push(part);
-            return set2;
-          }, []);
-          return parts.length === 0 ? [""] : parts;
+            resolve5();
+          };
+          if (this[kHTTP2Session] != null) {
+            util.destroy(this[kHTTP2Session], err);
+            this[kHTTP2Session] = null;
+            this[kHTTP2SessionState] = null;
+          }
+          if (!this[kSocket]) {
+            queueMicrotask(callback);
+          } else {
+            util.destroy(this[kSocket].on("close", callback), err);
+          }
+          resume(this);
         });
       }
-      levelTwoFileOptimize(parts) {
-        if (!Array.isArray(parts)) {
-          parts = this.slashSplit(parts);
+    };
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      onError(this[kClient], err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+      if (id === 0) {
+        this[kSocket][kError] = err;
+        onError(this[kClient], err);
+      }
+    }
+    function onHttp2SessionEnd() {
+      util.destroy(this, new SocketError("other side closed"));
+      util.destroy(this[kSocket], new SocketError("other side closed"));
+    }
+    function onHTTP2GoAway(code) {
+      const client = this[kClient];
+      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
+      client[kSocket] = null;
+      client[kHTTP2Session] = null;
+      if (client.destroyed) {
+        assert(this[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(this, request2, err);
         }
-        let didSomething = false;
-        do {
-          didSomething = false;
-          if (!this.preserveMultipleSlashes) {
-            for (let i = 1; i < parts.length - 1; i++) {
-              const p = parts[i];
-              if (i === 1 && p === "" && parts[0] === "")
-                continue;
-              if (p === "." || p === "") {
-                didSomething = true;
-                parts.splice(i, 1);
-                i--;
-              }
-            }
-            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-              didSomething = true;
-              parts.pop();
-            }
-          }
-          let dd = 0;
-          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-            const p = parts[dd - 1];
-            if (p && p !== "." && p !== ".." && p !== "**") {
-              didSomething = true;
-              parts.splice(dd - 1, 2);
-              dd -= 2;
-            }
-          }
-        } while (didSomething);
-        return parts.length === 0 ? [""] : parts;
+      } else if (client[kRunning] > 0) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
       }
-      // First phase: single-pattern processing
-      // 
 is 1 or more portions
-      //  is 1 or more portions
-      // 

is any portion other than ., .., '', or ** - // is . or '' - // - // **/.. is *brutal* for filesystem walking performance, because - // it effectively resets the recursive walk each time it occurs, - // and ** cannot be reduced out by a .. pattern part like a regexp - // or most strings (other than .., ., and '') can be. - // - //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} - //

// -> 
/
-      // 
/

/../ ->

/
-      // **/**/ -> **/
-      //
-      // **/*/ -> */**/ <== not valid because ** doesn't follow
-      // this WOULD be allowed if ** did follow symlinks, or * didn't
-      firstPhasePreProcess(globParts) {
-        let didSomething = false;
-        do {
-          didSomething = false;
-          for (let parts of globParts) {
-            let gs = -1;
-            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-              let gss = gs;
-              while (parts[gss + 1] === "**") {
-                gss++;
-              }
-              if (gss > gs) {
-                parts.splice(gs + 1, gss - gs);
-              }
-              let next = parts[gs + 1];
-              const p = parts[gs + 2];
-              const p2 = parts[gs + 3];
-              if (next !== "..")
-                continue;
-              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
-                continue;
-              }
-              didSomething = true;
-              parts.splice(gs, 1);
-              const other = parts.slice(0);
-              other[gs] = "**";
-              globParts.push(other);
-              gs--;
-            }
-            if (!this.preserveMultipleSlashes) {
-              for (let i = 1; i < parts.length - 1; i++) {
-                const p = parts[i];
-                if (i === 1 && p === "" && parts[0] === "")
-                  continue;
-                if (p === "." || p === "") {
-                  didSomething = true;
-                  parts.splice(i, 1);
-                  i--;
-                }
-              }
-              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-                didSomething = true;
-                parts.pop();
-              }
-            }
-            let dd = 0;
-            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-              const p = parts[dd - 1];
-              if (p && p !== "." && p !== ".." && p !== "**") {
-                didSomething = true;
-                const needDot = dd === 1 && parts[dd + 1] === "**";
-                const splin = needDot ? ["."] : [];
-                parts.splice(dd - 1, 2, ...splin);
-                if (parts.length === 0)
-                  parts.push("");
-                dd -= 2;
-              }
-            }
-          }
-        } while (didSomething);
-        return globParts;
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit(
+        "disconnect",
+        client[kUrl],
+        [client],
+        err
+      );
+      resume(client);
+    }
+    var constants = require_constants22();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var EMPTY_BUF = Buffer.alloc(0);
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm3() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm3(), "base64"));
+      } catch (e) {
+        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm3(), "base64"));
       }
-      // second phase: multi-pattern dedupes
-      // {
/*/,
/

/} ->

/*/
-      // {
/,
/} -> 
/
-      // {
/**/,
/} -> 
/**/
-      //
-      // {
/**/,
/**/

/} ->

/**/
-      // ^-- not valid because ** doens't follow symlinks
-      secondPhasePreProcess(globParts) {
-        for (let i = 0; i < globParts.length - 1; i++) {
-          for (let j = i + 1; j < globParts.length; j++) {
-            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
-            if (matched) {
-              globParts[i] = [];
-              globParts[j] = matched;
-              break;
-            }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageComplete() || 0;
           }
+          /* eslint-enable camelcase */
         }
-        return globParts.filter((gs) => gs.length);
-      }
-      partsMatch(a, b, emptyGSMatch = false) {
-        let ai = 0;
-        let bi = 0;
-        let result = [];
-        let which6 = "";
-        while (ai < a.length && bi < b.length) {
-          if (a[ai] === b[bi]) {
-            result.push(which6 === "b" ? b[bi] : a[ai]);
-            ai++;
-            bi++;
-          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
-            result.push(a[ai]);
-            ai++;
-          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
-            result.push(b[bi]);
-            bi++;
-          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
-            if (which6 === "b")
-              return false;
-            which6 = "a";
-            result.push(a[ai]);
-            ai++;
-            bi++;
-          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
-            if (which6 === "a")
-              return false;
-            which6 = "b";
-            result.push(b[bi]);
-            ai++;
-            bi++;
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var TIMEOUT_HEADERS = 1;
+    var TIMEOUT_BODY = 2;
+    var TIMEOUT_IDLE = 3;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
+      }
+      setTimeout(value, type2) {
+        this.timeoutType = type2;
+        if (value !== this.timeoutValue) {
+          timers.clearTimeout(this.timeout);
+          if (value) {
+            this.timeout = timers.setTimeout(onParserTimeout, value, this);
+            if (this.timeout.unref) {
+              this.timeout.unref();
+            }
           } else {
-            return false;
+            this.timeout = null;
+          }
+          this.timeoutValue = value;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
         }
-        return a.length === b.length && result;
       }
-      parseNegate() {
-        if (this.nonegate)
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
           return;
-        const pattern = this.pattern;
-        let negate = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate = !negate;
-          negateOffset++;
         }
-        if (negateOffset)
-          this.pattern = pattern.slice(negateOffset);
-        this.negate = negate;
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial = false) {
-        const options = this.options;
-        if (this.isWindows) {
-          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
-          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
-          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
-          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
-          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
-          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
-          if (typeof fdi === "number" && typeof pdi === "number") {
-            const [fd, pd] = [file[fdi], pattern[pdi]];
-            if (fd.toLowerCase() === pd.toLowerCase()) {
-              pattern[pdi] = fd;
-              if (pdi > fdi) {
-                pattern = pattern.slice(pdi);
-              } else if (fdi > pdi) {
-                file = file.slice(fdi);
-              }
-            }
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
           }
+          this.execute(chunk);
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          file = this.levelTwoFileOptimize(file);
+      }
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
+          }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
         }
-        this.debug("matchOne", this, { file, pattern });
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) {
-            return false;
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
+        try {
+          let ret;
+          try {
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
+          } catch (err) {
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
           }
-          if (p === exports2.GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
-                  return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) {
-                return true;
-              }
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
             }
-            return false;
-          }
-          let hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
-          } else {
-            hit = p.test(f);
-            this.debug("pattern match", p, f, hit);
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
           }
-          if (!hit)
-            return false;
-        }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
-        } else {
-          throw new Error("wtf?");
+        } catch (err) {
+          util.destroy(socket, err);
         }
       }
-      braceExpand() {
-        return (0, exports2.braceExpand)(this.pattern, this.options);
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
       }
-      parse(pattern) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        const options = this.options;
-        if (pattern === "**")
-          return exports2.GLOBSTAR;
-        if (pattern === "")
-          return "";
-        let m;
-        let fastTest = null;
-        if (m = pattern.match(starRE)) {
-          fastTest = options.dot ? starTestDot : starTest;
-        } else if (m = pattern.match(starDotExtRE)) {
-          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
-        } else if (m = pattern.match(qmarksRE)) {
-          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
-        } else if (m = pattern.match(starDotStarRE)) {
-          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
-        } else if (m = pattern.match(dotStarRE)) {
-          fastTest = dotStarTest;
-        }
-        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
-        if (fastTest && typeof re === "object") {
-          Reflect.defineProperty(re, "test", { value: fastTest });
-        }
-        return re;
+      onStatus(buf) {
+        this.statusText = buf.toString();
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false)
-          return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
-        }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = new Set(options.nocase ? ["i"] : []);
-        let re = set2.map((pattern) => {
-          const pp = pattern.map((p) => {
-            if (p instanceof RegExp) {
-              for (const f of p.flags.split(""))
-                flags.add(f);
-            }
-            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
-          });
-          pp.forEach((p, i) => {
-            const next = pp[i + 1];
-            const prev = pp[i - 1];
-            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
-              return;
-            }
-            if (prev === void 0) {
-              if (next !== void 0 && next !== exports2.GLOBSTAR) {
-                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
-              } else {
-                pp[i] = twoStar;
-              }
-            } else if (next === void 0) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
-            } else if (next !== exports2.GLOBSTAR) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
-              pp[i + 1] = exports2.GLOBSTAR;
-            }
-          });
-          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
-          if (this.partial && filtered.length >= 1) {
-            const prefixes = [];
-            for (let i = 1; i <= filtered.length; i++) {
-              prefixes.push(filtered.slice(0, i).join("/"));
-            }
-            return "(?:" + prefixes.join("|") + ")";
-          }
-          return filtered.join("/");
-        }).join("|");
-        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
-        re = "^" + open + re + close + "$";
-        if (this.partial) {
-          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (this.negate)
-          re = "^(?!" + re + ").+$";
-        try {
-          this.regexp = new RegExp(re, [...flags].join(""));
-        } catch (ex) {
-          this.regexp = false;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        return this.regexp;
       }
-      slashSplit(p) {
-        if (this.preserveMultipleSlashes) {
-          return p.split("/");
-        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
-          return ["", ...p.split(/\/+/)];
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
         } else {
-          return p.split(/\/+/);
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
+        this.trackHeader(buf.length);
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) {
-          return false;
-        }
-        if (this.empty) {
-          return f === "";
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
-        if (f === "/" && partial) {
-          return true;
+        const key = this.headers[len - 2];
+        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
+          this.keepAlive += buf.toString();
+        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
+          this.connection += buf.toString();
+        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
+          this.contentLength += buf.toString();
         }
-        const options = this.options;
-        if (this.isWindows) {
-          f = f.split("\\").join("/");
+        this.trackHeader(buf.length);
+      }
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
         }
-        const ff = this.slashSplit(f);
-        this.debug(this.pattern, "split", ff);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename = ff[ff.length - 1];
-        if (!filename) {
-          for (let i = ff.length - 2; !filename && i >= 0; i--) {
-            filename = ff[i];
-          }
+      }
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(!socket.destroyed);
+        assert(socket === client[kSocket]);
+        assert(!this.paused);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
+        client[kSocket] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = ff;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) {
-              return true;
-            }
-            return !this.negate;
-          }
+        resume(client);
+      }
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (options.flipNegate) {
-          return false;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        return this.negate;
-      }
-      static defaults(def) {
-        return exports2.minimatch.defaults(def).Minimatch;
-      }
-    };
-    exports2.Minimatch = Minimatch;
-    var ast_js_2 = require_ast();
-    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
-      return ast_js_2.AST;
-    } });
-    var escape_js_2 = require_escape();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return escape_js_2.escape;
-    } });
-    var unescape_js_2 = require_unescape();
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return unescape_js_2.unescape;
-    } });
-    exports2.minimatch.AST = ast_js_1.AST;
-    exports2.minimatch.Minimatch = Minimatch;
-    exports2.minimatch.escape = escape_js_1.escape;
-    exports2.minimatch.unescape = unescape_js_1.unescape;
-  }
-});
-
-// node_modules/lru-cache/dist/commonjs/index.js
-var require_commonjs21 = __commonJS({
-  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LRUCache = void 0;
-    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
-    var warned = /* @__PURE__ */ new Set();
-    var PROCESS = typeof process === "object" && !!process ? process : {};
-    var emitWarning = (msg, type2, code, fn) => {
-      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
-    };
-    var AC = globalThis.AbortController;
-    var AS = globalThis.AbortSignal;
-    if (typeof AC === "undefined") {
-      AS = class AbortSignal {
-        onabort;
-        _onabort = [];
-        reason;
-        aborted = false;
-        addEventListener(_2, fn) {
-          this._onabort.push(fn);
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
         }
-      };
-      AC = class AbortController {
-        constructor() {
-          warnACPolyfill();
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
         }
-        signal = new AS();
-        abort(reason) {
-          if (this.signal.aborted)
-            return;
-          this.signal.reason = reason;
-          this.signal.aborted = true;
-          for (const fn of this.signal._onabort) {
-            fn(reason);
+        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-          this.signal.onabort?.(reason);
-        }
-      };
-      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
-      const warnACPolyfill = () => {
-        if (!printACPolyfillWarning)
-          return;
-        printACPolyfillWarning = false;
-        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
-      };
-    }
-    var shouldWarn = (code) => !warned.has(code);
-    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
-    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
-    var ZeroArray = class extends Array {
-      constructor(size) {
-        super(size);
-        this.fill(0);
-      }
-    };
-    var Stack = class _Stack {
-      heap;
-      length;
-      // private constructor
-      static #constructing = false;
-      static create(max) {
-        const HeapCls = getUintArray(max);
-        if (!HeapCls)
-          return [];
-        _Stack.#constructing = true;
-        const s = new _Stack(max, HeapCls);
-        _Stack.#constructing = false;
-        return s;
-      }
-      constructor(max, HeapCls) {
-        if (!_Stack.#constructing) {
-          throw new TypeError("instantiate Stack using Stack.create(n)");
         }
-        this.heap = new HeapCls(max);
-        this.length = 0;
-      }
-      push(n) {
-        this.heap[this.length++] = n;
-      }
-      pop() {
-        return this.heap[--this.length];
-      }
-    };
-    var LRUCache = class _LRUCache {
-      // options that cannot be changed without disaster
-      #max;
-      #maxSize;
-      #dispose;
-      #onInsert;
-      #disposeAfter;
-      #fetchMethod;
-      #memoMethod;
-      /**
-       * {@link LRUCache.OptionsBase.ttl}
-       */
-      ttl;
-      /**
-       * {@link LRUCache.OptionsBase.ttlResolution}
-       */
-      ttlResolution;
-      /**
-       * {@link LRUCache.OptionsBase.ttlAutopurge}
-       */
-      ttlAutopurge;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnGet}
-       */
-      updateAgeOnGet;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnHas}
-       */
-      updateAgeOnHas;
-      /**
-       * {@link LRUCache.OptionsBase.allowStale}
-       */
-      allowStale;
-      /**
-       * {@link LRUCache.OptionsBase.noDisposeOnSet}
-       */
-      noDisposeOnSet;
-      /**
-       * {@link LRUCache.OptionsBase.noUpdateTTL}
-       */
-      noUpdateTTL;
-      /**
-       * {@link LRUCache.OptionsBase.maxEntrySize}
-       */
-      maxEntrySize;
-      /**
-       * {@link LRUCache.OptionsBase.sizeCalculation}
-       */
-      sizeCalculation;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
-       */
-      noDeleteOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
-       */
-      noDeleteOnStaleGet;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
-       */
-      allowStaleOnFetchAbort;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
-       */
-      allowStaleOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
-       */
-      ignoreFetchAbort;
-      // computed properties
-      #size;
-      #calculatedSize;
-      #keyMap;
-      #keyList;
-      #valList;
-      #next;
-      #prev;
-      #head;
-      #tail;
-      #free;
-      #disposed;
-      #sizes;
-      #starts;
-      #ttls;
-      #hasDispose;
-      #hasFetchMethod;
-      #hasDisposeAfter;
-      #hasOnInsert;
-      /**
-       * Do not call this method unless you need to inspect the
-       * inner workings of the cache.  If anything returned by this
-       * object is modified in any way, strange breakage may occur.
-       *
-       * These fields are private for a reason!
-       *
-       * @internal
-       */
-      static unsafeExposeInternals(c) {
-        return {
-          // properties
-          starts: c.#starts,
-          ttls: c.#ttls,
-          sizes: c.#sizes,
-          keyMap: c.#keyMap,
-          keyList: c.#keyList,
-          valList: c.#valList,
-          next: c.#next,
-          prev: c.#prev,
-          get head() {
-            return c.#head;
-          },
-          get tail() {
-            return c.#tail;
-          },
-          free: c.#free,
-          // methods
-          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
-          backgroundFetch: (k, index, options, context2) => c.#backgroundFetch(k, index, options, context2),
-          moveToTail: (index) => c.#moveToTail(index),
-          indexes: (options) => c.#indexes(options),
-          rindexes: (options) => c.#rindexes(options),
-          isStale: (index) => c.#isStale(index)
-        };
-      }
-      // Protected read-only members
-      /**
-       * {@link LRUCache.OptionsBase.max} (read-only)
-       */
-      get max() {
-        return this.#max;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.maxSize} (read-only)
-       */
-      get maxSize() {
-        return this.#maxSize;
-      }
-      /**
-       * The total computed size of items in the cache (read-only)
-       */
-      get calculatedSize() {
-        return this.#calculatedSize;
-      }
-      /**
-       * The number of items stored in the cache (read-only)
-       */
-      get size() {
-        return this.#size;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
-       */
-      get fetchMethod() {
-        return this.#fetchMethod;
-      }
-      get memoMethod() {
-        return this.#memoMethod;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.dispose} (read-only)
-       */
-      get dispose() {
-        return this.#dispose;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.onInsert} (read-only)
-       */
-      get onInsert() {
-        return this.#onInsert;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
-       */
-      get disposeAfter() {
-        return this.#disposeAfter;
-      }
-      constructor(options) {
-        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
-        if (max !== 0 && !isPosInt(max)) {
-          throw new TypeError("max option must be a nonnegative integer");
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
         }
-        const UintArray = max ? getUintArray(max) : Array;
-        if (!UintArray) {
-          throw new Error("invalid max value: " + max);
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
         }
-        this.#max = max;
-        this.#maxSize = maxSize;
-        this.maxEntrySize = maxEntrySize || this.#maxSize;
-        this.sizeCalculation = sizeCalculation;
-        if (this.sizeCalculation) {
-          if (!this.#maxSize && !this.maxEntrySize) {
-            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
-          }
-          if (typeof this.sizeCalculation !== "function") {
-            throw new TypeError("sizeCalculation set to non-function");
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
+            );
+            if (timeout <= 0) {
+              socket[kReset] = true;
+            } else {
+              client[kKeepAliveTimeoutValue] = timeout;
+            }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
           }
+        } else {
+          socket[kReset] = true;
         }
-        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
-          throw new TypeError("memoMethod must be a function if defined");
-        }
-        this.#memoMethod = memoMethod;
-        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
-          throw new TypeError("fetchMethod must be a function if specified");
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
         }
-        this.#fetchMethod = fetchMethod;
-        this.#hasFetchMethod = !!fetchMethod;
-        this.#keyMap = /* @__PURE__ */ new Map();
-        this.#keyList = new Array(max).fill(void 0);
-        this.#valList = new Array(max).fill(void 0);
-        this.#next = new UintArray(max);
-        this.#prev = new UintArray(max);
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free = Stack.create(max);
-        this.#size = 0;
-        this.#calculatedSize = 0;
-        if (typeof dispose === "function") {
-          this.#dispose = dispose;
+        if (request2.method === "HEAD") {
+          return 1;
         }
-        if (typeof onInsert === "function") {
-          this.#onInsert = onInsert;
+        if (statusCode < 200) {
+          return 1;
         }
-        if (typeof disposeAfter === "function") {
-          this.#disposeAfter = disposeAfter;
-          this.#disposed = [];
-        } else {
-          this.#disposeAfter = void 0;
-          this.#disposed = void 0;
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          resume(client);
         }
-        this.#hasDispose = !!this.#dispose;
-        this.#hasOnInsert = !!this.#onInsert;
-        this.#hasDisposeAfter = !!this.#disposeAfter;
-        this.noDisposeOnSet = !!noDisposeOnSet;
-        this.noUpdateTTL = !!noUpdateTTL;
-        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
-        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
-        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
-        this.ignoreFetchAbort = !!ignoreFetchAbort;
-        if (this.maxEntrySize !== 0) {
-          if (this.#maxSize !== 0) {
-            if (!isPosInt(this.#maxSize)) {
-              throw new TypeError("maxSize must be a positive integer if specified");
-            }
-          }
-          if (!isPosInt(this.maxEntrySize)) {
-            throw new TypeError("maxEntrySize must be a positive integer if specified");
-          }
-          this.#initializeSizeTracking();
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        this.allowStale = !!allowStale;
-        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
-        this.updateAgeOnGet = !!updateAgeOnGet;
-        this.updateAgeOnHas = !!updateAgeOnHas;
-        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
-        this.ttlAutopurge = !!ttlAutopurge;
-        this.ttl = ttl || 0;
-        if (this.ttl) {
-          if (!isPosInt(this.ttl)) {
-            throw new TypeError("ttl must be a positive integer if specified");
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-          this.#initializeTTLTracking();
         }
-        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
-          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
         }
-        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
-          const code = "LRU_CACHE_UNBOUNDED";
-          if (shouldWarn(code)) {
-            warned.add(code);
-            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
-            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
-          }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
         }
       }
-      /**
-       * Return the number of ms left in the item's TTL. If item is not in cache,
-       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
-       */
-      getRemainingTTL(key) {
-        return this.#keyMap.has(key) ? Infinity : 0;
-      }
-      #initializeTTLTracking() {
-        const ttls = new ZeroArray(this.#max);
-        const starts = new ZeroArray(this.#max);
-        this.#ttls = ttls;
-        this.#starts = starts;
-        this.#setItemTTL = (index, ttl, start = perf.now()) => {
-          starts[index] = ttl !== 0 ? start : 0;
-          ttls[index] = ttl;
-          if (ttl !== 0 && this.ttlAutopurge) {
-            const t = setTimeout(() => {
-              if (this.#isStale(index)) {
-                this.#delete(this.#keyList[index], "expire");
-              }
-            }, ttl + 1);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-        };
-        this.#updateItemAge = (index) => {
-          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
-        };
-        this.#statusTTL = (status, index) => {
-          if (ttls[index]) {
-            const ttl = ttls[index];
-            const start = starts[index];
-            if (!ttl || !start)
-              return;
-            status.ttl = ttl;
-            status.start = start;
-            status.now = cachedNow || getNow();
-            const age = status.now - start;
-            status.remainingTTL = ttl - age;
-          }
-        };
-        let cachedNow = 0;
-        const getNow = () => {
-          const n = perf.now();
-          if (this.ttlResolution > 0) {
-            cachedNow = n;
-            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-          return n;
-        };
-        this.getRemainingTTL = (key) => {
-          const index = this.#keyMap.get(key);
-          if (index === void 0) {
-            return 0;
-          }
-          const ttl = ttls[index];
-          const start = starts[index];
-          if (!ttl || !start) {
-            return Infinity;
-          }
-          const age = (cachedNow || getNow()) - start;
-          return ttl - age;
-        };
-        this.#isStale = (index) => {
-          const s = starts[index];
-          const t = ttls[index];
-          return !!t && !!s && (cachedNow || getNow()) - s > t;
-        };
-      }
-      // conditionally set private methods related to TTL
-      #updateItemAge = () => {
-      };
-      #statusTTL = () => {
-      };
-      #setItemTTL = () => {
-      };
-      /* c8 ignore stop */
-      #isStale = () => false;
-      #initializeSizeTracking() {
-        const sizes = new ZeroArray(this.#max);
-        this.#calculatedSize = 0;
-        this.#sizes = sizes;
-        this.#removeItemSize = (index) => {
-          this.#calculatedSize -= sizes[index];
-          sizes[index] = 0;
-        };
-        this.#requireSize = (k, v, size, sizeCalculation) => {
-          if (this.#isBackgroundFetch(v)) {
-            return 0;
-          }
-          if (!isPosInt(size)) {
-            if (sizeCalculation) {
-              if (typeof sizeCalculation !== "function") {
-                throw new TypeError("sizeCalculation must be a function");
-              }
-              size = sizeCalculation(v, k);
-              if (!isPosInt(size)) {
-                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
-              }
-            } else {
-              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
-            }
-          }
-          return size;
-        };
-        this.#addItemSize = (index, size, status) => {
-          sizes[index] = size;
-          if (this.#maxSize) {
-            const maxSize = this.#maxSize - sizes[index];
-            while (this.#calculatedSize > maxSize) {
-              this.#evict(true);
-            }
-          }
-          this.#calculatedSize += sizes[index];
-          if (status) {
-            status.entrySize = size;
-            status.totalCalculatedSize = this.#calculatedSize;
-          }
-        };
-      }
-      #removeItemSize = (_i) => {
-      };
-      #addItemSize = (_i, _s, _st) => {
-      };
-      #requireSize = (_k, _v, size, sizeCalculation) => {
-        if (size || sizeCalculation) {
-          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
         }
-        return 0;
-      };
-      *#indexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#tail; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#head) {
-              break;
-            } else {
-              i = this.#prev[i];
-            }
-          }
+        if (upgrade) {
+          return;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(statusCode >= 100);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert.strictEqual(client[kRunning], 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] === 1) {
+          setImmediate(resume, client);
+        } else {
+          resume(client);
         }
       }
-      *#rindexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#head; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#tail) {
-              break;
-            } else {
-              i = this.#next[i];
-            }
-          }
+    };
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client } = parser;
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!parser.paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
         }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!parser.paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_IDLE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-      #isValidIndex(index) {
-        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
+    }
+    function onSocketReadable() {
+      const { [kParser]: parser } = this;
+      if (parser) {
+        parser.readMore();
       }
-      /**
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from most recently used to least recently used.
-       */
-      *entries() {
-        for (const i of this.#indexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
+    }
+    function onSocketError(err) {
+      const { [kClient]: client, [kParser]: parser } = this;
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
         }
       }
-      /**
-       * Inverse order version of {@link LRUCache.entries}
-       *
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from least recently used to most recently used.
-       */
-      *rentries() {
-        for (const i of this.#rindexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
+      this[kError] = err;
+      onError(this[kClient], err);
+    }
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
         }
+        assert(client[kSize] === 0);
       }
-      /**
-       * Return a generator yielding the keys in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *keys() {
-        for (const i of this.#indexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
+    }
+    function onSocketEnd() {
+      const { [kParser]: parser, [kClient]: client } = this;
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
         }
       }
-      /**
-       * Inverse order version of {@link LRUCache.keys}
-       *
-       * Return a generator yielding the keys in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rkeys() {
-        for (const i of this.#rindexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
+      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+    }
+    function onSocketClose() {
+      const { [kClient]: client, [kParser]: parser } = this;
+      if (client[kHTTPConnVersion] === "h1" && parser) {
+        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
         }
+        this[kParser].destroy();
+        this[kParser] = null;
       }
-      /**
-       * Return a generator yielding the values in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *values() {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
-          }
+      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+      client[kSocket] = null;
+      if (client.destroyed) {
+        assert(client[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
         }
+      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
       }
-      /**
-       * Inverse order version of {@link LRUCache.values}
-       *
-       * Return a generator yielding the values in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rvalues() {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
-          }
-        }
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      resume(client);
+    }
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kSocket]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      /**
-       * Iterating over the cache itself yields the same results as
-       * {@link LRUCache.entries}
-       */
-      [Symbol.iterator]() {
-        return this.entries();
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
       }
-      /**
-       * A String value that is used in the creation of the default string
-       * description of an object. Called by the built-in method
-       * `Object.prototype.toString`.
-       */
-      [Symbol.toStringTag] = "LRUCache";
-      /**
-       * Find a value for which the supplied fn method returns a truthy value,
-       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
-       */
-      find(fn, getOptions = {}) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          if (fn(value, this.#keyList[i], this)) {
-            return this.get(this.#keyList[i], getOptions);
+      try {
+        const socket = await new Promise((resolve5, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve5(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", () => {
+          }), new ClientDestroyedError());
+          return;
+        }
+        client[kConnecting] = false;
+        assert(socket);
+        const isH2 = socket.alpnProtocol === "h2";
+        if (isH2) {
+          if (!h2ExperimentalWarned) {
+            h2ExperimentalWarned = true;
+            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+              code: "UNDICI-H2"
+            });
+          }
+          const session = http2.connect(client[kUrl], {
+            createConnection: () => socket,
+            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          });
+          client[kHTTPConnVersion] = "h2";
+          session[kClient] = client;
+          session[kSocket] = socket;
+          session.on("error", onHttp2SessionError);
+          session.on("frameError", onHttp2FrameError);
+          session.on("end", onHttp2SessionEnd);
+          session.on("goaway", onHTTP2GoAway);
+          session.on("close", onSocketClose);
+          session.unref();
+          client[kHTTP2Session] = session;
+          socket[kHTTP2Session] = session;
+        } else {
+          if (!llhttpInstance) {
+            llhttpInstance = await llhttpPromise;
+            llhttpPromise = null;
           }
+          socket[kNoRef] = false;
+          socket[kWriting] = false;
+          socket[kReset] = false;
+          socket[kBlocking] = false;
+          socket[kParser] = new Parser(client, socket, llhttpInstance);
         }
-      }
-      /**
-       * Call the supplied function on each item in the cache, in order from most
-       * recently used to least recently used.
-       *
-       * `fn` is called as `fn(value, key, cache)`.
-       *
-       * If `thisp` is provided, function will be called in the `this`-context of
-       * the provided object, or the cache if no `thisp` object is provided.
-       *
-       * Does not update age or recenty of use, or iterate over stale values.
-       */
-      forEach(fn, thisp = this) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
+        client[kSocket] = socket;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-      }
-      /**
-       * The same as {@link LRUCache.forEach} but items are iterated over in
-       * reverse order.  (ie, less recently used items are iterated over first.)
-       */
-      rforEach(fn, thisp = this) {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-      }
-      /**
-       * Delete any stale entries. Returns true if anything was removed,
-       * false otherwise.
-       */
-      purgeStale() {
-        let deleted = false;
-        for (const i of this.#rindexes({ allowStale: true })) {
-          if (this.#isStale(i)) {
-            this.#delete(this.#keyList[i], "expire");
-            deleted = true;
-          }
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
         }
-        return deleted;
-      }
-      /**
-       * Get the extended info about a given entry, to get its value, size, and
-       * TTL info simultaneously. Returns `undefined` if the key is not present.
-       *
-       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
-       * serialization, the `start` value is always the current timestamp, and the
-       * `ttl` is a calculated remaining time to live (negative if expired).
-       *
-       * Always returns stale values, if their info is found in the cache, so be
-       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
-       * if relevant.
-       */
-      info(key) {
-        const i = this.#keyMap.get(key);
-        if (i === void 0)
-          return void 0;
-        const v = this.#valList[i];
-        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-        if (value === void 0)
-          return void 0;
-        const entry = { value };
-        if (this.#ttls && this.#starts) {
-          const ttl = this.#ttls[i];
-          const start = this.#starts[i];
-          if (ttl && start) {
-            const remain = ttl - (perf.now() - start);
-            entry.ttl = remain;
-            entry.start = Date.now();
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            errorRequest2(client, request2, err);
           }
+        } else {
+          onError(client, err);
         }
-        if (this.#sizes) {
-          entry.size = this.#sizes[i];
-        }
-        return entry;
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      /**
-       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
-       * passed to {@link LRUCache#load}.
-       *
-       * The `start` fields are calculated relative to a portable `Date.now()`
-       * timestamp, even if `performance.now()` is available.
-       *
-       * Stale entries are always included in the `dump`, even if
-       * {@link LRUCache.OptionsBase.allowStale} is false.
-       *
-       * Note: this returns an actual array, not a generator, so it can be more
-       * easily passed around.
-       */
-      dump() {
-        const arr = [];
-        for (const i of this.#indexes({ allowStale: true })) {
-          const key = this.#keyList[i];
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0 || key === void 0)
-            continue;
-          const entry = { value };
-          if (this.#ttls && this.#starts) {
-            entry.ttl = this.#ttls[i];
-            const age = perf.now() - this.#starts[i];
-            entry.start = Math.floor(Date.now() - age);
-          }
-          if (this.#sizes) {
-            entry.size = this.#sizes[i];
-          }
-          arr.unshift([key, entry]);
-        }
-        return arr;
+      resume(client);
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      /**
-       * Reset the cache and load in the items in entries in the order listed.
-       *
-       * The shape of the resulting cache may be different if the same options are
-       * not used in both caches.
-       *
-       * The `start` fields are assumed to be calculated relative to a portable
-       * `Date.now()` timestamp, even if `performance.now()` is available.
-       */
-      load(arr) {
-        this.clear();
-        for (const [key, entry] of arr) {
-          if (entry.start) {
-            const age = Date.now() - entry.start;
-            entry.start = perf.now() - age;
-          }
-          this.set(key, entry.value, entry);
-        }
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
       }
-      /**
-       * Add a value to the cache.
-       *
-       * Note: if `undefined` is specified as a value, this is an alias for
-       * {@link LRUCache#delete}
-       *
-       * Fields on the {@link LRUCache.SetOptions} options param will override
-       * their corresponding values in the constructor options for the scope
-       * of this single `set()` operation.
-       *
-       * If `start` is provided, then that will set the effective start
-       * time for the TTL calculation. Note that this must be a previous
-       * value of `performance.now()` if supported, or a previous value of
-       * `Date.now()` if not.
-       *
-       * Options object may also include `size`, which will prevent
-       * calling the `sizeCalculation` function and just use the specified
-       * number if it is a positive integer, and `noDisposeOnSet` which
-       * will prevent calling a `dispose` function in the case of
-       * overwrites.
-       *
-       * If the `size` (or return value of `sizeCalculation`) for a given
-       * entry is greater than `maxEntrySize`, then the item will not be
-       * added to the cache.
-       *
-       * Will update the recency of the entry.
-       *
-       * If the value is `undefined`, then this is an alias for
-       * `cache.delete(key)`. `undefined` is never stored in the cache.
-       */
-      set(k, v, setOptions = {}) {
-        if (v === void 0) {
-          this.delete(k);
-          return this;
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
-        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
-        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
-        if (this.maxEntrySize && size > this.maxEntrySize) {
-          if (status) {
-            status.set = "miss";
-            status.maxEntrySizeExceeded = true;
-          }
-          this.#delete(k, "set");
-          return this;
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
-        if (index === void 0) {
-          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
-          this.#keyList[index] = k;
-          this.#valList[index] = v;
-          this.#keyMap.set(k, index);
-          this.#next[this.#tail] = index;
-          this.#prev[index] = this.#tail;
-          this.#tail = index;
-          this.#size++;
-          this.#addItemSize(index, size, status);
-          if (status)
-            status.set = "add";
-          noUpdateTTL = false;
-          if (this.#hasOnInsert) {
-            this.#onInsert?.(v, k, "add");
+        const socket = client[kSocket];
+        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
+          if (client[kSize] === 0) {
+            if (!socket[kNoRef] && socket.unref) {
+              socket.unref();
+              socket[kNoRef] = true;
+            }
+          } else if (socket[kNoRef] && socket.ref) {
+            socket.ref();
+            socket[kNoRef] = false;
           }
-        } else {
-          this.#moveToTail(index);
-          const oldVal = this.#valList[index];
-          if (v !== oldVal) {
-            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
-              oldVal.__abortController.abort(new Error("replaced"));
-              const { __staleWhileFetching: s } = oldVal;
-              if (s !== void 0 && !noDisposeOnSet) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(s, k, "set");
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([s, k, "set"]);
-                }
-              }
-            } else if (!noDisposeOnSet) {
-              if (this.#hasDispose) {
-                this.#dispose?.(oldVal, k, "set");
-              }
-              if (this.#hasDisposeAfter) {
-                this.#disposed?.push([oldVal, k, "set"]);
-              }
+          if (client[kSize] === 0) {
+            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
+              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
             }
-            this.#removeItemSize(index);
-            this.#addItemSize(index, size, status);
-            this.#valList[index] = v;
-            if (status) {
-              status.set = "replace";
-              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
-              if (oldValue !== void 0)
-                status.oldValue = oldValue;
+          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+              const request3 = client[kQueue][client[kRunningIdx]];
+              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
+              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
             }
-          } else if (status) {
-            status.set = "update";
-          }
-          if (this.#hasOnInsert) {
-            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
           }
         }
-        if (ttl !== 0 && !this.#ttls) {
-          this.#initializeTTLTracking();
-        }
-        if (this.#ttls) {
-          if (!noUpdateTTL) {
-            this.#setItemTTL(index, ttl, start);
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            process.nextTick(emitDrain, client);
+          } else {
+            emitDrain(client);
           }
-          if (status)
-            this.#statusTTL(status, index);
+          continue;
         }
-        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
-          }
+        if (client[kPending] === 0) {
+          return;
         }
-        return this;
-      }
-      /**
-       * Evict the least recently used item, returning its value or
-       * `undefined` if cache is empty.
-       */
-      pop() {
-        try {
-          while (this.#size) {
-            const val = this.#valList[this.#head];
-            this.#evict(true);
-            if (this.#isBackgroundFetch(val)) {
-              if (val.__staleWhileFetching) {
-                return val.__staleWhileFetching;
-              }
-            } else if (val !== void 0) {
-              return val;
-            }
-          }
-        } finally {
-          if (this.#hasDisposeAfter && this.#disposed) {
-            const dt = this.#disposed;
-            let task;
-            while (task = dt?.shift()) {
-              this.#disposeAfter?.(...task);
-            }
-          }
+        if (client[kRunning] >= (client[kPipelining] || 1)) {
+          return;
         }
-      }
-      #evict(free) {
-        const head = this.#head;
-        const k = this.#keyList[head];
-        const v = this.#valList[head];
-        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
-          v.__abortController.abort(new Error("evicted"));
-        } else if (this.#hasDispose || this.#hasDisposeAfter) {
-          if (this.#hasDispose) {
-            this.#dispose?.(v, k, "evict");
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
           }
-          if (this.#hasDisposeAfter) {
-            this.#disposed?.push([v, k, "evict"]);
+          client[kServerName] = request2.servername;
+          if (socket && socket.servername !== request2.servername) {
+            util.destroy(socket, new InformationalError("servername changed"));
+            return;
           }
         }
-        this.#removeItemSize(head);
-        if (free) {
-          this.#keyList[head] = void 0;
-          this.#valList[head] = void 0;
-          this.#free.push(head);
+        if (client[kConnecting]) {
+          return;
         }
-        if (this.#size === 1) {
-          this.#head = this.#tail = 0;
-          this.#free.length = 0;
-        } else {
-          this.#head = this.#next[head];
+        if (!socket && !client[kHTTP2Session]) {
+          connect(client);
+          return;
         }
-        this.#keyMap.delete(k);
-        this.#size--;
-        return head;
-      }
-      /**
-       * Check if a key is in the cache, without updating the recency of use.
-       * Will return false if the item is stale, even though it is technically
-       * in the cache.
-       *
-       * Check if a key is in the cache, without updating the recency of
-       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
-       * to `true` in either the options or the constructor.
-       *
-       * Will return `false` if the item is stale, even though it is technically in
-       * the cache. The difference can be determined (if it matters) by using a
-       * `status` argument, and inspecting the `has` field.
-       *
-       * Will not update item age unless
-       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
-       */
-      has(k, hasOptions = {}) {
-        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
-            return false;
-          }
-          if (!this.#isStale(index)) {
-            if (updateAgeOnHas) {
-              this.#updateItemAge(index);
-            }
-            if (status) {
-              status.has = "hit";
-              this.#statusTTL(status, index);
-            }
-            return true;
-          } else if (status) {
-            status.has = "stale";
-            this.#statusTTL(status, index);
-          }
-        } else if (status) {
-          status.has = "miss";
+        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+          return;
         }
-        return false;
-      }
-      /**
-       * Like {@link LRUCache#get} but doesn't update recency or delete stale
-       * items.
-       *
-       * Returns `undefined` if the item is stale, unless
-       * {@link LRUCache.OptionsBase.allowStale} is set.
-       */
-      peek(k, peekOptions = {}) {
-        const { allowStale = this.allowStale } = peekOptions;
-        const index = this.#keyMap.get(k);
-        if (index === void 0 || !allowStale && this.#isStale(index)) {
+        if (client[kRunning] > 0 && !request2.idempotent) {
           return;
         }
-        const v = this.#valList[index];
-        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-      }
-      #backgroundFetch(k, index, options, context2) {
-        const v = index === void 0 ? void 0 : this.#valList[index];
-        if (this.#isBackgroundFetch(v)) {
-          return v;
+        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+          return;
         }
-        const ac = new AC();
-        const { signal } = options;
-        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
-          signal: ac.signal
-        });
-        const fetchOpts = {
-          signal: ac.signal,
-          options,
-          context: context2
-        };
-        const cb = (v2, updateCache = false) => {
-          const { aborted } = ac.signal;
-          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
-          if (options.status) {
-            if (aborted && !updateCache) {
-              options.status.fetchAborted = true;
-              options.status.fetchError = ac.signal.reason;
-              if (ignoreAbort)
-                options.status.fetchAbortIgnored = true;
-            } else {
-              options.status.fetchResolved = true;
-            }
-          }
-          if (aborted && !ignoreAbort && !updateCache) {
-            return fetchFail(ac.signal.reason);
-          }
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            if (v2 === void 0) {
-              if (bf2.__staleWhileFetching) {
-                this.#valList[index] = bf2.__staleWhileFetching;
-              } else {
-                this.#delete(k, "fetch");
-              }
-            } else {
-              if (options.status)
-                options.status.fetchUpdated = true;
-              this.set(k, v2, fetchOpts.options);
-            }
-          }
-          return v2;
-        };
-        const eb = (er) => {
-          if (options.status) {
-            options.status.fetchRejected = true;
-            options.status.fetchError = er;
-          }
-          return fetchFail(er);
-        };
-        const fetchFail = (er) => {
-          const { aborted } = ac.signal;
-          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
-          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
-          const noDelete = allowStale || options.noDeleteOnFetchRejection;
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            const del = !noDelete || bf2.__staleWhileFetching === void 0;
-            if (del) {
-              this.#delete(k, "fetch");
-            } else if (!allowStaleAborted) {
-              this.#valList[index] = bf2.__staleWhileFetching;
-            }
-          }
-          if (allowStale) {
-            if (options.status && bf2.__staleWhileFetching !== void 0) {
-              options.status.returnedStale = true;
-            }
-            return bf2.__staleWhileFetching;
-          } else if (bf2.__returned === bf2) {
-            throw er;
-          }
-        };
-        const pcall = (res, rej) => {
-          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
-          if (fmp && fmp instanceof Promise) {
-            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
-          }
-          ac.signal.addEventListener("abort", () => {
-            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
-              res(void 0);
-              if (options.allowStaleOnFetchAbort) {
-                res = (v2) => cb(v2, true);
-              }
-            }
-          });
-        };
-        if (options.status)
-          options.status.fetchDispatched = true;
-        const p = new Promise(pcall).then(cb, eb);
-        const bf = Object.assign(p, {
-          __abortController: ac,
-          __staleWhileFetching: v,
-          __returned: void 0
-        });
-        if (index === void 0) {
-          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
-          index = this.#keyMap.get(k);
+        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
+          return;
+        }
+        if (!request2.aborted && write(client, request2)) {
+          client[kPendingIdx]++;
         } else {
-          this.#valList[index] = bf;
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
-        return bf;
       }
-      #isBackgroundFetch(p) {
-        if (!this.#hasFetchMethod)
-          return false;
-        const b = p;
-        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function write(client, request2) {
+      if (client[kHTTPConnVersion] === "h2") {
+        writeH2(client, client[kHTTP2Session], request2);
+        return;
       }
-      async fetch(k, fetchOptions = {}) {
-        const {
-          // get options
-          allowStale = this.allowStale,
-          updateAgeOnGet = this.updateAgeOnGet,
-          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
-          // set options
-          ttl = this.ttl,
-          noDisposeOnSet = this.noDisposeOnSet,
-          size = 0,
-          sizeCalculation = this.sizeCalculation,
-          noUpdateTTL = this.noUpdateTTL,
-          // fetch exclusive options
-          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
-          ignoreFetchAbort = this.ignoreFetchAbort,
-          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
-          context: context2,
-          forceRefresh = false,
-          status,
-          signal
-        } = fetchOptions;
-        if (!this.#hasFetchMethod) {
-          if (status)
-            status.fetch = "get";
-          return this.get(k, {
-            allowStale,
-            updateAgeOnGet,
-            noDeleteOnStaleGet,
-            status
-          });
+      const { body, method, path: path7, host, upgrade, headers, blocking, reset } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      let contentLength = bodyLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        const options = {
-          allowStale,
-          updateAgeOnGet,
-          noDeleteOnStaleGet,
-          ttl,
-          noDisposeOnSet,
-          size,
-          sizeCalculation,
-          noUpdateTTL,
-          noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection,
-          allowStaleOnFetchAbort,
-          ignoreFetchAbort,
-          status,
-          signal
-        };
-        let index = this.#keyMap.get(k);
-        if (index === void 0) {
-          if (status)
-            status.fetch = "miss";
-          const p = this.#backgroundFetch(k, index, options, context2);
-          return p.__returned = p;
-        } else {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            const stale = allowStale && v.__staleWhileFetching !== void 0;
-            if (status) {
-              status.fetch = "inflight";
-              if (stale)
-                status.returnedStale = true;
-            }
-            return stale ? v.__staleWhileFetching : v.__returned = v;
-          }
-          const isStale = this.#isStale(index);
-          if (!forceRefresh && !isStale) {
-            if (status)
-              status.fetch = "hit";
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            if (status)
-              this.#statusTTL(status, index);
-            return v;
-          }
-          const p = this.#backgroundFetch(k, index, options, context2);
-          const hasStale = p.__staleWhileFetching !== void 0;
-          const staleVal = hasStale && allowStale;
-          if (status) {
-            status.fetch = isStale ? "stale" : "refresh";
-            if (staleVal && isStale)
-              status.returnedStale = true;
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
           }
-          return staleVal ? p.__staleWhileFetching : p.__returned = p;
+          errorRequest2(client, request2, err || new RequestAbortedError());
+          util.destroy(socket, new InformationalError("aborted"));
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path7} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
+      } else {
+        header += client[kHostHeader];
+      }
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
+      }
+      if (headers) {
+        header += headers;
+      }
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        if (contentLength === 0) {
+          socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+        } else {
+          assert(contentLength === null, "no body must not have content length");
+          socket.write(`${header}\r
+`, "latin1");
+        }
+        request2.onRequestSent();
+      } else if (util.isBuffer(body)) {
+        assert(contentLength === body.byteLength, "buffer body must have content length");
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(body);
+        socket.uncork();
+        request2.onBodySent(body);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
+        } else {
+          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
         }
+      } else if (util.isStream(body)) {
+        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else if (util.isIterable(body)) {
+        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else {
+        assert(false);
       }
-      async forceFetch(k, fetchOptions = {}) {
-        const v = await this.fetch(k, fetchOptions);
-        if (v === void 0)
-          throw new Error("fetch() returned undefined");
-        return v;
+      return true;
+    }
+    function writeH2(client, session, request2) {
+      const { body, method, path: path7, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let headers;
+      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
+      else headers = reqHeaders;
+      if (upgrade) {
+        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      memo(k, memoOptions = {}) {
-        const memoMethod = this.#memoMethod;
-        if (!memoMethod) {
-          throw new Error("no memoMethod provided to constructor");
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
+          }
+          errorRequest2(client, request2, err || new RequestAbortedError());
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      let stream;
+      const h2State = client[kHTTP2SessionState];
+      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
+      headers[HTTP2_HEADER_METHOD] = method;
+      if (method === "CONNECT") {
+        session.ref();
+        stream = session.request(headers, { endStream: false, signal });
+        if (stream.id && !stream.pending) {
+          request2.onUpgrade(null, null, stream);
+          ++h2State.openStreams;
+        } else {
+          stream.once("ready", () => {
+            request2.onUpgrade(null, null, stream);
+            ++h2State.openStreams;
+          });
         }
-        const { context: context2, forceRefresh, ...options } = memoOptions;
-        const v = this.get(k, options);
-        if (!forceRefresh && v !== void 0)
-          return v;
-        const vv = memoMethod(k, v, {
-          options,
-          context: context2
+        stream.once("close", () => {
+          h2State.openStreams -= 1;
+          if (h2State.openStreams === 0) session.unref();
         });
-        this.set(k, vv, options);
-        return vv;
+        return true;
       }
-      /**
-       * Return a value from the cache. Will update the recency of the cache
-       * entry found.
-       *
-       * If the key is not found, get() will return `undefined`.
-       */
-      get(k, getOptions = {}) {
-        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const value = this.#valList[index];
-          const fetching = this.#isBackgroundFetch(value);
-          if (status)
-            this.#statusTTL(status, index);
-          if (this.#isStale(index)) {
-            if (status)
-              status.get = "stale";
-            if (!fetching) {
-              if (!noDeleteOnStaleGet) {
-                this.#delete(k, "expire");
-              }
-              if (status && allowStale)
-                status.returnedStale = true;
-              return allowStale ? value : void 0;
-            } else {
-              if (status && allowStale && value.__staleWhileFetching !== void 0) {
-                status.returnedStale = true;
-              }
-              return allowStale ? value.__staleWhileFetching : void 0;
-            }
-          } else {
-            if (status)
-              status.get = "hit";
-            if (fetching) {
-              return value.__staleWhileFetching;
-            }
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            return value;
-          }
-        } else if (status) {
-          status.get = "miss";
+      headers[HTTP2_HEADER_PATH] = path7;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      let contentLength = util.bodyLength(body);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      #connect(p, n) {
-        this.#prev[n] = p;
-        this.#next[p] = n;
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      #moveToTail(index) {
-        if (index !== this.#tail) {
-          if (index === this.#head) {
-            this.#head = this.#next[index];
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD";
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
+      }
+      ++h2State.openStreams;
+      stream.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
+          stream.pause();
+        }
+      });
+      stream.once("end", () => {
+        request2.onComplete([]);
+      });
+      stream.on("data", (chunk) => {
+        if (request2.onData(chunk) === false) {
+          stream.pause();
+        }
+      });
+      stream.once("close", () => {
+        h2State.openStreams -= 1;
+        if (h2State.openStreams === 0) {
+          session.unref();
+        }
+      });
+      stream.once("error", function(err) {
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream, err);
+        }
+      });
+      stream.once("frameError", (type2, code) => {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        errorRequest2(client, request2, err);
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream, err);
+        }
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body) {
+          request2.onRequestSent();
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          stream.cork();
+          stream.write(body);
+          stream.uncork();
+          stream.end();
+          request2.onBodySent(body);
+          request2.onRequestSent();
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable({
+              client,
+              request: request2,
+              contentLength,
+              h2stream: stream,
+              expectsPayload,
+              body: body.stream(),
+              socket: client[kSocket],
+              header: ""
+            });
           } else {
-            this.#connect(this.#prev[index], this.#next[index]);
+            writeBlob({
+              body,
+              client,
+              request: request2,
+              contentLength,
+              expectsPayload,
+              h2stream: stream,
+              header: "",
+              socket: client[kSocket]
+            });
           }
-          this.#connect(this.#tail, index);
-          this.#tail = index;
+        } else if (util.isStream(body)) {
+          writeStream({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            socket: client[kSocket],
+            h2stream: stream,
+            header: ""
+          });
+        } else if (util.isIterable(body)) {
+          writeIterable({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            header: "",
+            h2stream: stream,
+            socket: client[kSocket]
+          });
+        } else {
+          assert(false);
         }
       }
-      /**
-       * Deletes a key out of the cache.
-       *
-       * Returns true if the key was deleted, false otherwise.
-       */
-      delete(k) {
-        return this.#delete(k, "delete");
-      }
-      #delete(k, reason) {
-        let deleted = false;
-        if (this.#size !== 0) {
-          const index = this.#keyMap.get(k);
-          if (index !== void 0) {
-            deleted = true;
-            if (this.#size === 1) {
-              this.#clear(reason);
+    }
+    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      if (client[kHTTPConnVersion] === "h2") {
+        let onPipeData = function(chunk) {
+          request2.onBodySent(chunk);
+        };
+        const pipe = pipeline(
+          body,
+          h2stream,
+          (err) => {
+            if (err) {
+              util.destroy(body, err);
+              util.destroy(h2stream, err);
             } else {
-              this.#removeItemSize(index);
-              const v = this.#valList[index];
-              if (this.#isBackgroundFetch(v)) {
-                v.__abortController.abort(new Error("deleted"));
-              } else if (this.#hasDispose || this.#hasDisposeAfter) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(v, k, reason);
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([v, k, reason]);
-                }
-              }
-              this.#keyMap.delete(k);
-              this.#keyList[index] = void 0;
-              this.#valList[index] = void 0;
-              if (index === this.#tail) {
-                this.#tail = this.#prev[index];
-              } else if (index === this.#head) {
-                this.#head = this.#next[index];
-              } else {
-                const pi = this.#prev[index];
-                this.#next[pi] = this.#next[index];
-                const ni = this.#next[index];
-                this.#prev[ni] = this.#prev[index];
-              }
-              this.#size--;
-              this.#free.push(index);
+              request2.onRequestSent();
             }
           }
+        );
+        pipe.on("data", onPipeData);
+        pipe.once("end", () => {
+          pipe.removeListener("data", onPipeData);
+          util.destroy(pipe);
+        });
+        return;
+      }
+      let finished = false;
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
         }
-        if (this.#hasDisposeAfter && this.#disposed?.length) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
           }
+        } catch (err) {
+          util.destroy(this, err);
         }
-        return deleted;
-      }
-      /**
-       * Clear the cache entirely, throwing away all values.
-       */
-      clear() {
-        return this.#clear("delete");
-      }
-      #clear(reason) {
-        for (const index of this.#rindexes({ allowStale: true })) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            v.__abortController.abort(new Error("deleted"));
-          } else {
-            const k = this.#keyList[index];
-            if (this.#hasDispose) {
-              this.#dispose?.(v, k, reason);
-            }
-            if (this.#hasDisposeAfter) {
-              this.#disposed?.push([v, k, reason]);
-            }
-          }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
         }
-        this.#keyMap.clear();
-        this.#valList.fill(void 0);
-        this.#keyList.fill(void 0);
-        if (this.#ttls && this.#starts) {
-          this.#ttls.fill(0);
-          this.#starts.fill(0);
+        if (body.resume) {
+          body.resume();
         }
-        if (this.#sizes) {
-          this.#sizes.fill(0);
+      };
+      const onAbort = function() {
+        if (finished) {
+          return;
         }
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free.length = 0;
-        this.#calculatedSize = 0;
-        this.#size = 0;
-        if (this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+        const err = new RequestAbortedError();
+        queueMicrotask(() => onFinished(err));
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
           }
         }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
+        }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
+      if (body.resume) {
+        body.resume();
       }
-    };
-    exports2.LRUCache = LRUCache;
-  }
-});
-
-// node_modules/minipass/dist/commonjs/index.js
-var require_commonjs22 = __commonJS({
-  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
-    var proc = typeof process === "object" && process ? process : {
-      stdout: null,
-      stderr: null
-    };
-    var node_events_1 = require("node:events");
-    var node_stream_1 = __importDefault2(require("node:stream"));
-    var node_string_decoder_1 = require("node:string_decoder");
-    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
-    exports2.isStream = isStream;
-    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
-    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
-    exports2.isReadable = isReadable;
-    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
-    exports2.isWritable = isWritable;
-    var EOF = /* @__PURE__ */ Symbol("EOF");
-    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
-    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
-    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
-    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
-    var CLOSED = /* @__PURE__ */ Symbol("closed");
-    var READ = /* @__PURE__ */ Symbol("read");
-    var FLUSH = /* @__PURE__ */ Symbol("flush");
-    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
-    var ENCODING = /* @__PURE__ */ Symbol("encoding");
-    var DECODER = /* @__PURE__ */ Symbol("decoder");
-    var FLOWING = /* @__PURE__ */ Symbol("flowing");
-    var PAUSED = /* @__PURE__ */ Symbol("paused");
-    var RESUME = /* @__PURE__ */ Symbol("resume");
-    var BUFFER = /* @__PURE__ */ Symbol("buffer");
-    var PIPES = /* @__PURE__ */ Symbol("pipes");
-    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
-    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
-    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
-    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
-    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
-    var ERROR = /* @__PURE__ */ Symbol("error");
-    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
-    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
-    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
-    var ASYNC = /* @__PURE__ */ Symbol("async");
-    var ABORT = /* @__PURE__ */ Symbol("abort");
-    var ABORTED = /* @__PURE__ */ Symbol("aborted");
-    var SIGNAL = /* @__PURE__ */ Symbol("signal");
-    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
-    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
-    var defer = (fn) => Promise.resolve().then(fn);
-    var nodefer = (fn) => fn();
-    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
-    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
-    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
-    var Pipe = class {
-      src;
-      dest;
-      opts;
-      ondrain;
-      constructor(src, dest, opts) {
-        this.src = src;
-        this.dest = dest;
-        this.opts = opts;
-        this.ondrain = () => src[RESUME]();
-        this.dest.on("drain", this.ondrain);
-      }
-      unpipe() {
-        this.dest.removeListener("drain", this.ondrain);
-      }
-      // only here for the prototype
-      /* c8 ignore start */
-      proxyErrors(_er) {
-      }
-      /* c8 ignore stop */
-      end() {
-        this.unpipe();
-        if (this.opts.end)
-          this.dest.end();
-      }
-    };
-    var PipeProxyErrors = class extends Pipe {
-      unpipe() {
-        this.src.removeListener("error", this.proxyErrors);
-        super.unpipe();
-      }
-      constructor(src, dest, opts) {
-        super(src, dest, opts);
-        this.proxyErrors = (er) => dest.emit("error", er);
-        src.on("error", this.proxyErrors);
-      }
-    };
-    var isObjectModeOptions = (o) => !!o.objectMode;
-    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
-    var Minipass = class extends node_events_1.EventEmitter {
-      [FLOWING] = false;
-      [PAUSED] = false;
-      [PIPES] = [];
-      [BUFFER] = [];
-      [OBJECTMODE];
-      [ENCODING];
-      [ASYNC];
-      [DECODER];
-      [EOF] = false;
-      [EMITTED_END] = false;
-      [EMITTING_END] = false;
-      [CLOSED] = false;
-      [EMITTED_ERROR] = null;
-      [BUFFERLENGTH] = 0;
-      [DESTROYED] = false;
-      [SIGNAL];
-      [ABORTED] = false;
-      [DATALISTENERS] = 0;
-      [DISCARDED] = false;
-      /**
-       * true if the stream can be written
-       */
-      writable = true;
-      /**
-       * true if the stream can be read
-       */
-      readable = true;
-      /**
-       * If `RType` is Buffer, then options do not need to be provided.
-       * Otherwise, an options object must be provided to specify either
-       * {@link Minipass.SharedOptions.objectMode} or
-       * {@link Minipass.SharedOptions.encoding}, as appropriate.
-       */
-      constructor(...args) {
-        const options = args[0] || {};
-        super();
-        if (options.objectMode && typeof options.encoding === "string") {
-          throw new TypeError("Encoding and objectMode may not be used together");
+      socket.on("drain", onDrain).on("error", onFinished);
+    }
+    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength === body.size, "blob body must have content length");
+      const isH2 = client[kHTTPConnVersion] === "h2";
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        if (isObjectModeOptions(options)) {
-          this[OBJECTMODE] = true;
-          this[ENCODING] = null;
-        } else if (isEncodingOptions(options)) {
-          this[ENCODING] = options.encoding;
-          this[OBJECTMODE] = false;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        if (isH2) {
+          h2stream.cork();
+          h2stream.write(buffer);
+          h2stream.uncork();
         } else {
-          this[OBJECTMODE] = false;
-          this[ENCODING] = null;
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(buffer);
+          socket.uncork();
         }
-        this[ASYNC] = !!options.async;
-        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
-        if (options && options.debugExposeBuffer === true) {
-          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
-        if (options && options.debugExposePipes === true) {
-          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
+        resume(client);
+      } catch (err) {
+        util.destroy(isH2 ? h2stream : socket, err);
+      }
+    }
+    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
         }
-        const { signal } = options;
-        if (signal) {
-          this[SIGNAL] = signal;
-          if (signal.aborted) {
-            this[ABORT]();
-          } else {
-            signal.addEventListener("abort", () => this[ABORT]());
+      }
+      const waitForDrain = () => new Promise((resolve5, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve5;
+        }
+      });
+      if (client[kHTTPConnVersion] === "h2") {
+        h2stream.on("close", onDrain).on("drain", onDrain);
+        try {
+          for await (const chunk of body) {
+            if (socket[kError]) {
+              throw socket[kError];
+            }
+            const res = h2stream.write(chunk);
+            request2.onBodySent(chunk);
+            if (!res) {
+              await waitForDrain();
+            }
           }
+        } catch (err) {
+          h2stream.destroy(err);
+        } finally {
+          request2.onRequestSent();
+          h2stream.end();
+          h2stream.off("close", onDrain).off("drain", onDrain);
         }
+        return;
       }
-      /**
-       * The amount of data stored in the buffer waiting to be read.
-       *
-       * For Buffer strings, this will be the total byte length.
-       * For string encoding streams, this will be the string character length,
-       * according to JavaScript's `string.length` logic.
-       * For objectMode streams, this is a count of the items waiting to be
-       * emitted.
-       */
-      get bufferLength() {
-        return this[BUFFERLENGTH];
-      }
-      /**
-       * The `BufferEncoding` currently in use, or `null`
-       */
-      get encoding() {
-        return this[ENCODING];
-      }
-      /**
-       * @deprecated - This is a read only property
-       */
-      set encoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
-      }
-      /**
-       * @deprecated - Encoding may only be set at instantiation time
-       */
-      setEncoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
-      }
-      /**
-       * True if this is an objectMode stream
-       */
-      get objectMode() {
-        return this[OBJECTMODE];
-      }
-      /**
-       * @deprecated - This is a read-only property
-       */
-      set objectMode(_om) {
-        throw new Error("objectMode must be set at instantiation time");
-      }
-      /**
-       * true if this is an async stream
-       */
-      get ["async"]() {
-        return this[ASYNC];
-      }
-      /**
-       * Set to true to make this stream async.
-       *
-       * Once set, it cannot be unset, as this would potentially cause incorrect
-       * behavior.  Ie, a sync stream can be made async, but an async stream
-       * cannot be safely made sync.
-       */
-      set ["async"](a) {
-        this[ASYNC] = this[ASYNC] || !!a;
-      }
-      // drop everything and get out of the flow completely
-      [ABORT]() {
-        this[ABORTED] = true;
-        this.emit("abort", this[SIGNAL]?.reason);
-        this.destroy(this[SIGNAL]?.reason);
-      }
-      /**
-       * True if the stream has been aborted.
-       */
-      get aborted() {
-        return this[ABORTED];
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      /**
-       * No-op setter. Stream aborted status is set via the AbortSignal provided
-       * in the constructor options.
-       */
-      set aborted(_2) {
+    }
+    var AsyncWriter = class {
+      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        socket[kWriting] = true;
       }
-      write(chunk, encoding, cb) {
-        if (this[ABORTED])
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
+        }
+        if (socket.destroyed) {
           return false;
-        if (this[EOF])
-          throw new Error("write after end");
-        if (this[DESTROYED]) {
-          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
-          return true;
         }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        if (!encoding)
-          encoding = "utf8";
-        const fn = this[ASYNC] ? defer : nodefer;
-        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
-          if (isArrayBufferView(chunk)) {
-            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
-          } else if (isArrayBufferLike(chunk)) {
-            chunk = Buffer.from(chunk);
-          } else if (typeof chunk !== "string") {
-            throw new Error("Non-contiguous data written to non-objectMode stream");
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        if (this[OBJECTMODE]) {
-          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-            this[FLUSH](true);
-          if (this[FLOWING])
-            this.emit("data", chunk);
-          else
-            this[BUFFERPUSH](chunk);
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (!chunk.length) {
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
+          } else {
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          }
         }
-        if (typeof chunk === "string" && // unless it is a string already ready for us to use
-        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
-          chunk = Buffer.from(chunk, encoding);
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
         }
-        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
-          chunk = this[DECODER].write(chunk);
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
+            }
+          }
         }
-        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-          this[FLUSH](true);
-        if (this[FLOWING])
-          this.emit("data", chunk);
-        else
-          this[BUFFERPUSH](chunk);
-        if (this[BUFFERLENGTH] !== 0)
-          this.emit("readable");
-        if (cb)
-          fn(cb);
-        return this[FLOWING];
+        return ret;
       }
-      /**
-       * Low-level explicit read method.
-       *
-       * In objectMode, the argument is ignored, and one item is returned if
-       * available.
-       *
-       * `n` is the number of bytes (or in the case of encoding streams,
-       * characters) to consume. If `n` is not provided, then the entire buffer
-       * is returned, or `null` is returned if no data is available.
-       *
-       * If `n` is greater that the amount of data in the internal buffer,
-       * then `null` is returned.
-       */
-      read(n) {
-        if (this[DESTROYED])
-          return null;
-        this[DISCARDED] = false;
-        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
-          this[MAYBE_EMIT_END]();
-          return null;
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        if (this[OBJECTMODE])
-          n = null;
-        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
-          this[BUFFER] = [
-            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
-          ];
+        if (socket.destroyed) {
+          return;
         }
-        const ret = this[READ](n || null, this[BUFFER][0]);
-        this[MAYBE_EMIT_END]();
-        return ret;
-      }
-      [READ](n, chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERSHIFT]();
-        else {
-          const c = chunk;
-          if (n === c.length || n === null)
-            this[BUFFERSHIFT]();
-          else if (typeof c === "string") {
-            this[BUFFER][0] = c.slice(n);
-            chunk = c.slice(0, n);
-            this[BUFFERLENGTH] -= n;
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
           } else {
-            this[BUFFER][0] = c.subarray(n);
-            chunk = c.subarray(0, n);
-            this[BUFFERLENGTH] -= n;
+            socket.write(`${header}\r
+`, "latin1");
           }
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
         }
-        this.emit("data", chunk);
-        if (!this[BUFFER].length && !this[EOF])
-          this.emit("drain");
-        return chunk;
-      }
-      end(chunk, encoding, cb) {
-        if (typeof chunk === "function") {
-          cb = chunk;
-          chunk = void 0;
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
+          }
         }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        if (chunk !== void 0)
-          this.write(chunk, encoding);
-        if (cb)
-          this.once("end", cb);
-        this[EOF] = true;
-        this.writable = false;
-        if (this[FLOWING] || !this[PAUSED])
-          this[MAYBE_EMIT_END]();
-        return this;
+        resume(client);
       }
-      // don't let the internal resume be overwritten
-      [RESUME]() {
-        if (this[DESTROYED])
-          return;
-        if (!this[DATALISTENERS] && !this[PIPES].length) {
-          this[DISCARDED] = true;
+      destroy(err) {
+        const { socket, client } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          util.destroy(socket, err);
         }
-        this[PAUSED] = false;
-        this[FLOWING] = true;
-        this.emit("resume");
-        if (this[BUFFER].length)
-          this[FLUSH]();
-        else if (this[EOF])
-          this[MAYBE_EMIT_END]();
-        else
-          this.emit("drain");
       }
-      /**
-       * Resume the stream if it is currently in a paused state
-       *
-       * If called when there are no pipe destinations or `data` event listeners,
-       * this will place the stream in a "discarded" state, where all data will
-       * be thrown away. The discarded state is removed if a pipe destination or
-       * data handler is added, if pause() is called, or if any synchronous or
-       * asynchronous iteration is started.
-       */
-      resume() {
-        return this[RESUME]();
+    };
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
       }
-      /**
-       * Pause the stream
-       */
-      pause() {
-        this[FLOWING] = false;
-        this[PAUSED] = true;
-        this[DISCARDED] = false;
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/undici/lib/node/fixed-queue.js
+var require_fixed_queue3 = __commonJS({
+  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+    "use strict";
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
+      constructor() {
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
+      }
+      isEmpty() {
+        return this.top === this.bottom;
+      }
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
+      }
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
+      }
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
+      }
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
+      }
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      /**
-       * true if the stream has been forcibly destroyed
-       */
-      get destroyed() {
-        return this[DESTROYED];
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
+        }
+        return next;
       }
-      /**
-       * true if the stream is currently in a flowing state, meaning that
-       * any writes will be immediately emitted.
-       */
-      get flowing() {
-        return this[FLOWING];
+    };
+  }
+});
+
+// node_modules/undici/lib/pool-stats.js
+var require_pool_stats3 = __commonJS({
+  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols11();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      /**
-       * true if the stream is currently in a paused state
-       */
-      get paused() {
-        return this[PAUSED];
+      get connected() {
+        return this[kPool][kConnected];
       }
-      [BUFFERPUSH](chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] += 1;
-        else
-          this[BUFFERLENGTH] += chunk.length;
-        this[BUFFER].push(chunk);
+      get free() {
+        return this[kPool][kFree];
       }
-      [BUFFERSHIFT]() {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] -= 1;
-        else
-          this[BUFFERLENGTH] -= this[BUFFER][0].length;
-        return this[BUFFER].shift();
+      get pending() {
+        return this[kPool][kPending];
       }
-      [FLUSH](noDrain = false) {
-        do {
-        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
-        if (!noDrain && !this[BUFFER].length && !this[EOF])
-          this.emit("drain");
+      get queued() {
+        return this[kPool][kQueued];
       }
-      [FLUSHCHUNK](chunk) {
-        this.emit("data", chunk);
-        return this[FLOWING];
+      get running() {
+        return this[kPool][kRunning];
       }
-      /**
-       * Pipe all data emitted by this stream into the destination provided.
-       *
-       * Triggers the flow of data.
-       */
-      pipe(dest, opts) {
-        if (this[DESTROYED])
-          return dest;
-        this[DISCARDED] = false;
-        const ended = this[EMITTED_END];
-        opts = opts || {};
-        if (dest === proc.stdout || dest === proc.stderr)
-          opts.end = false;
-        else
-          opts.end = opts.end !== false;
-        opts.proxyErrors = !!opts.proxyErrors;
-        if (ended) {
-          if (opts.end)
-            dest.end();
-        } else {
-          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
-          if (this[ASYNC])
-            defer(() => this[RESUME]());
-          else
-            this[RESUME]();
-        }
-        return dest;
+      get size() {
+        return this[kPool][kSize];
       }
-      /**
-       * Fully unhook a piped destination stream.
-       *
-       * If the destination stream was the only consumer of this stream (ie,
-       * there are no other piped destinations or `'data'` event listeners)
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      unpipe(dest) {
-        const p = this[PIPES].find((p2) => p2.dest === dest);
-        if (p) {
-          if (this[PIPES].length === 1) {
-            if (this[FLOWING] && this[DATALISTENERS] === 0) {
-              this[FLOWING] = false;
+    };
+    module2.exports = PoolStats;
+  }
+});
+
+// node_modules/undici/lib/pool-base.js
+var require_pool_base3 = __commonJS({
+  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base3();
+    var FixedQueue = require_fixed_queue3();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols11();
+    var PoolStats = require_pool_stats3();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
+      constructor() {
+        super();
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
             }
-            this[PIPES] = [];
-          } else
-            this[PIPES].splice(this[PIPES].indexOf(p), 1);
-          p.unpipe();
-        }
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
+          }
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
+          }
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+          }
+        };
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      /**
-       * Alias for {@link Minipass#on}
-       */
-      addListener(ev, handler2) {
-        return this.on(ev, handler2);
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      /**
-       * Mostly identical to `EventEmitter.on`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * - Adding a 'data' event handler will trigger the flow of data
-       *
-       * - Adding a 'readable' event handler when there is data waiting to be read
-       *   will cause 'readable' to be emitted immediately.
-       *
-       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
-       *   already passed will cause the event to be emitted immediately and all
-       *   handlers removed.
-       *
-       * - Adding an 'error' event handler after an error has been emitted will
-       *   cause the event to be re-emitted immediately with the error previously
-       *   raised.
-       */
-      on(ev, handler2) {
-        const ret = super.on(ev, handler2);
-        if (ev === "data") {
-          this[DISCARDED] = false;
-          this[DATALISTENERS]++;
-          if (!this[PIPES].length && !this[FLOWING]) {
-            this[RESUME]();
-          }
-        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
-          super.emit("readable");
-        } else if (isEndish(ev) && this[EMITTED_END]) {
-          super.emit(ev);
-          this.removeAllListeners(ev);
-        } else if (ev === "error" && this[EMITTED_ERROR]) {
-          const h = handler2;
-          if (this[ASYNC])
-            defer(() => h.call(this, this[EMITTED_ERROR]));
-          else
-            h.call(this, this[EMITTED_ERROR]);
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
+      }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+      }
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
         return ret;
       }
-      /**
-       * Alias for {@link Minipass#off}
-       */
-      removeListener(ev, handler2) {
-        return this.off(ev, handler2);
-      }
-      /**
-       * Mostly identical to `EventEmitter.off`
-       *
-       * If a 'data' event handler is removed, and it was the last consumer
-       * (ie, there are no pipe destinations or other 'data' event listeners),
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      off(ev, handler2) {
-        const ret = super.off(ev, handler2);
-        if (ev === "data") {
-          this[DATALISTENERS] = this.listeners("data").length;
-          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
-          }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
         return ret;
       }
-      /**
-       * Mostly identical to `EventEmitter.removeAllListeners`
-       *
-       * If all 'data' event handlers are removed, and they were the last consumer
-       * (ie, there are no pipe destinations), then the flow of data will stop
-       * until there is another consumer or {@link Minipass#resume} is explicitly
-       * called.
-       */
-      removeAllListeners(ev) {
-        const ret = super.removeAllListeners(ev);
-        if (ev === "data" || ev === void 0) {
-          this[DATALISTENERS] = 0;
-          if (!this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
-          }
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
         return ret;
       }
-      /**
-       * true if the 'end' event has been emitted
-       */
-      get emittedEnd() {
-        return this[EMITTED_END];
+      get stats() {
+        return this[kStats];
       }
-      [MAYBE_EMIT_END]() {
-        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
-          this[EMITTING_END] = true;
-          this.emit("end");
-          this.emit("prefinish");
-          this.emit("finish");
-          if (this[CLOSED])
-            this.emit("close");
-          this[EMITTING_END] = false;
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          return Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          return new Promise((resolve5) => {
+            this[kClosedResolve] = resolve5;
+          });
         }
       }
-      /**
-       * Mostly identical to `EventEmitter.emit`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * If the stream has been destroyed, and the event is something other
-       * than 'close' or 'error', then `false` is returned and no handlers
-       * are called.
-       *
-       * If the event is 'end', and has already been emitted, then the event
-       * is ignored. If the stream is in a paused or non-flowing state, then
-       * the event will be deferred until data flow resumes. If the stream is
-       * async, then handlers will be called on the next tick rather than
-       * immediately.
-       *
-       * If the event is 'close', and 'end' has not yet been emitted, then
-       * the event will be deferred until after 'end' is emitted.
-       *
-       * If the event is 'error', and an AbortSignal was provided for the stream,
-       * and there are no listeners, then the event is ignored, matching the
-       * behavior of node core streams in the presense of an AbortSignal.
-       *
-       * If the event is 'finish' or 'prefinish', then all listeners will be
-       * removed after emitting the event, to prevent double-firing.
-       */
-      emit(ev, ...args) {
-        const data = args[0];
-        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
-          return false;
-        } else if (ev === "data") {
-          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
-        } else if (ev === "end") {
-          return this[EMITEND]();
-        } else if (ev === "close") {
-          this[CLOSED] = true;
-          if (!this[EMITTED_END] && !this[DESTROYED])
-            return false;
-          const ret2 = super.emit("close");
-          this.removeAllListeners("close");
-          return ret2;
-        } else if (ev === "error") {
-          this[EMITTED_ERROR] = data;
-          super.emit(ERROR, data);
-          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "resume") {
-          const ret2 = super.emit("resume");
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "finish" || ev === "prefinish") {
-          const ret2 = super.emit(ev);
-          this.removeAllListeners(ev);
-          return ret2;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        const ret = super.emit(ev, ...args);
-        this[MAYBE_EMIT_END]();
-        return ret;
+        return Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      [EMITDATA](data) {
-        for (const p of this[PIPES]) {
-          if (p.dest.write(data) === false)
-            this.pause();
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
         }
-        const ret = this[DISCARDED] ? false : super.emit("data", data);
-        this[MAYBE_EMIT_END]();
-        return ret;
-      }
-      [EMITEND]() {
-        if (this[EMITTED_END])
-          return false;
-        this[EMITTED_END] = true;
-        this.readable = false;
-        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
+        return !this[kNeedDrain];
       }
-      [EMITEND2]() {
-        if (this[DECODER]) {
-          const data = this[DECODER].end();
-          if (data) {
-            for (const p of this[PIPES]) {
-              p.dest.write(data);
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          process.nextTick(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
             }
-            if (!this[DISCARDED])
-              super.emit("data", data);
-          }
-        }
-        for (const p of this[PIPES]) {
-          p.end();
+          });
         }
-        const ret = super.emit("end");
-        this.removeAllListeners("end");
-        return ret;
+        return this;
       }
-      /**
-       * Return a Promise that resolves to an array of all emitted data once
-       * the stream ends.
-       */
-      async collect() {
-        const buf = Object.assign([], {
-          dataLength: 0
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
+          }
         });
-        if (!this[OBJECTMODE])
-          buf.dataLength = 0;
-        const p = this.promise();
-        this.on("data", (c) => {
-          buf.push(c);
-          if (!this[OBJECTMODE])
-            buf.dataLength += c.length;
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      }
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/undici/lib/pool.js
+var require_pool3 = __commonJS({
+  "node_modules/undici/lib/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Client = require_client3();
+    var {
+      InvalidArgumentError
+    } = require_errors6();
+    var util = require_util24();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var buildConnector = require_connect3();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
+        }
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
+        }
+        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
+          }
         });
-        await p;
-        return buf;
       }
-      /**
-       * Return a Promise that resolves to the concatenation of all emitted data
-       * once the stream ends.
-       *
-       * Not allowed on objectMode streams.
-       */
-      async concat() {
-        if (this[OBJECTMODE]) {
-          throw new Error("cannot concat in objectMode");
+      [kGetDispatcher]() {
+        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
+        if (dispatcher) {
+          return dispatcher;
         }
-        const buf = await this.collect();
-        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+        }
+        return dispatcher;
       }
-      /**
-       * Return a void Promise that resolves once the stream ends.
-       */
-      async promise() {
-        return new Promise((resolve5, reject) => {
-          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
-          this.on("error", (er) => reject(er));
-          this.on("end", () => resolve5());
-        });
+    };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/undici/lib/balanced-pool.js
+var require_balanced_pool3 = __commonJS({
+  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors6();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Pool = require_pool3();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var { parseOrigin } = require_util24();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (b === 0) return a;
+      return getGreatestCommonDivisor(b, a % b);
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
+        }
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
       }
-      /**
-       * Asynchronous `for await of` iteration.
-       *
-       * This will continue emitting all chunks until the stream terminates.
-       */
-      [Symbol.asyncIterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = async () => {
-          this.pause();
-          stopped = true;
-          return { value: void 0, done: true };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const res = this.read();
-          if (res !== null)
-            return Promise.resolve({ done: false, value: res });
-          if (this[EOF])
-            return stop();
-          let resolve5;
-          let reject;
-          const onerr = (er) => {
-            this.off("data", ondata);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            reject(er);
-          };
-          const ondata = (value) => {
-            this.off("error", onerr);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            this.pause();
-            resolve5({ value, done: !!this[EOF] });
-          };
-          const onend = () => {
-            this.off("error", onerr);
-            this.off("data", ondata);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            resolve5({ done: true, value: void 0 });
-          };
-          const ondestroy = () => onerr(new Error("stream destroyed"));
-          return new Promise((res2, rej) => {
-            reject = rej;
-            resolve5 = res2;
-            this.once(DESTROYED, ondestroy);
-            this.once("error", onerr);
-            this.once("end", onend);
-            this.once("data", ondata);
-          });
-        };
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.asyncIterator]() {
-            return this;
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
+        }
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
           }
-        };
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
+        }
+        this._updateBalancedPoolStats();
+        return this;
       }
-      /**
-       * Synchronous `for of` iteration.
-       *
-       * The iteration will terminate when the internal buffer runs out, even
-       * if the stream has not yet terminated.
-       */
-      [Symbol.iterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = () => {
-          this.pause();
-          this.off(ERROR, stop);
-          this.off(DESTROYED, stop);
-          this.off("end", stop);
-          stopped = true;
-          return { done: true, value: void 0 };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const value = this.read();
-          return value === null ? stop() : { done: false, value };
-        };
-        this.once("end", stop);
-        this.once(ERROR, stop);
-        this.once(DESTROYED, stop);
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.iterator]() {
-            return this;
-          }
-        };
+      _updateBalancedPoolStats() {
+        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
       }
-      /**
-       * Destroy a stream, preventing it from being used for any further purpose.
-       *
-       * If the stream has a `close()` method, then it will be called on
-       * destruction.
-       *
-       * After destruction, any attempt to write data, read data, or emit most
-       * events will be ignored.
-       *
-       * If an error argument is provided, then it will be emitted in an
-       * 'error' event.
-       */
-      destroy(er) {
-        if (this[DESTROYED]) {
-          if (er)
-            this.emit("error", er);
-          else
-            this.emit(DESTROYED);
-          return this;
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
         }
-        this[DESTROYED] = true;
-        this[DISCARDED] = true;
-        this[BUFFER].length = 0;
-        this[BUFFERLENGTH] = 0;
-        const wc = this;
-        if (typeof wc.close === "function" && !this[CLOSED])
-          wc.close();
-        if (er)
-          this.emit("error", er);
-        else
-          this.emit(DESTROYED);
         return this;
       }
-      /**
-       * Alias for {@link isStream}
-       *
-       * Former export location, maintained for backwards compatibility.
-       *
-       * @deprecated
-       */
-      static get isStream() {
-        return exports2.isStream;
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      }
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
+        }
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
+          return;
+        }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
+          return;
+        }
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
+          }
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
+            }
+          }
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
+          }
+        }
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
       }
     };
-    exports2.Minipass = Minipass;
+    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/path-scurry/dist/commonjs/index.js
-var require_commonjs23 = __commonJS({
-  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/compat/dispatcher-weakref.js
+var require_dispatcher_weakref3 = __commonJS({
+  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+    var { kConnected, kSize } = require_symbols11();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
-    var lru_cache_1 = require_commonjs21();
-    var node_path_1 = require("node:path");
-    var node_url_1 = require("node:url");
-    var fs_1 = require("fs");
-    var actualFS = __importStar2(require("node:fs"));
-    var realpathSync = fs_1.realpathSync.native;
-    var promises_1 = require("node:fs/promises");
-    var minipass_1 = require_commonjs22();
-    var defaultFS = {
-      lstatSync: fs_1.lstatSync,
-      readdir: fs_1.readdir,
-      readdirSync: fs_1.readdirSync,
-      readlinkSync: fs_1.readlinkSync,
-      realpathSync,
-      promises: {
-        lstat: promises_1.lstat,
-        readdir: promises_1.readdir,
-        readlink: promises_1.readlink,
-        realpath: promises_1.realpath
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
     };
-    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
-      ...defaultFS,
-      ...fsOption,
-      promises: {
-        ...defaultFS.promises,
-        ...fsOption.promises || {}
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-    };
-    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
-    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-    var eitherSep = /[\\\/]/;
-    var UNKNOWN = 0;
-    var IFIFO = 1;
-    var IFCHR = 2;
-    var IFDIR = 4;
-    var IFBLK = 6;
-    var IFREG = 8;
-    var IFLNK = 10;
-    var IFSOCK = 12;
-    var IFMT = 15;
-    var IFMT_UNKNOWN = ~IFMT;
-    var READDIR_CALLED = 16;
-    var LSTAT_CALLED = 32;
-    var ENOTDIR = 64;
-    var ENOENT = 128;
-    var ENOREADLINK = 256;
-    var ENOREALPATH = 512;
-    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
-    var TYPEMASK = 1023;
-    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
-    var normalizeCache = /* @__PURE__ */ new Map();
-    var normalize2 = (s) => {
-      const c = normalizeCache.get(s);
-      if (c)
-        return c;
-      const n = s.normalize("NFKD");
-      normalizeCache.set(s, n);
-      return n;
-    };
-    var normalizeNocaseCache = /* @__PURE__ */ new Map();
-    var normalizeNocase = (s) => {
-      const c = normalizeNocaseCache.get(s);
-      if (c)
-        return c;
-      const n = normalize2(s.toLowerCase());
-      normalizeNocaseCache.set(s, n);
-      return n;
-    };
-    var ResolveCache = class extends lru_cache_1.LRUCache {
-      constructor() {
-        super({ max: 256 });
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
+            }
+          });
+        }
       }
     };
-    exports2.ResolveCache = ResolveCache;
-    var ChildrenCache = class extends lru_cache_1.LRUCache {
-      constructor(maxSize = 16 * 1024) {
-        super({
-          maxSize,
-          // parent + children
-          sizeCalculation: (a) => a.length + 1
-        });
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE) {
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
       }
+      return {
+        WeakRef: global.WeakRef || CompatWeakRef,
+        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
+      };
     };
-    exports2.ChildrenCache = ChildrenCache;
-    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
-    var PathBase = class {
-      /**
-       * the basename of this path
-       *
-       * **Important**: *always* test the path name against any test string
-       * usingthe {@link isNamed} method, and not by directly comparing this
-       * string. Otherwise, unicode path strings that the system sees as identical
-       * will not be properly treated as the same path, leading to incorrect
-       * behavior and possible security issues.
-       */
-      name;
-      /**
-       * the Path entry corresponding to the path root.
-       *
-       * @internal
-       */
-      root;
-      /**
-       * All roots found within the current PathScurry family
-       *
-       * @internal
-       */
-      roots;
-      /**
-       * a reference to the parent path, or undefined in the case of root entries
-       *
-       * @internal
-       */
-      parent;
-      /**
-       * boolean indicating whether paths are compared case-insensitively
-       * @internal
-       */
-      nocase;
-      /**
-       * boolean indicating that this path is the current working directory
-       * of the PathScurry collection that contains it.
-       */
-      isCWD = false;
-      // potential default fs override
-      #fs;
-      // Stats fields
-      #dev;
-      get dev() {
-        return this.#dev;
-      }
-      #mode;
-      get mode() {
-        return this.#mode;
+  }
+});
+
+// node_modules/undici/lib/agent.js
+var require_agent3 = __commonJS({
+  "node_modules/undici/lib/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors6();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols11();
+    var DispatcherBase = require_dispatcher_base3();
+    var Pool = require_pool3();
+    var Client = require_client3();
+    var util = require_util24();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
+        }
+        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kFinalizer] = new FinalizationRegistry2(
+          /* istanbul ignore next: gc is undeterministic */
+          (key) => {
+            const ref = this[kClients].get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this[kClients].delete(key);
+            }
+          }
+        );
+        const agent = this;
+        this[kOnDrain] = (origin, targets) => {
+          agent.emit("drain", origin, [agent, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          agent.emit("connect", origin, [agent, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          agent.emit("disconnect", origin, [agent, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          agent.emit("connectionError", origin, [agent, ...targets], err);
+        };
       }
-      #nlink;
-      get nlink() {
-        return this.#nlink;
+      get [kRunning]() {
+        let ret = 0;
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            ret += client[kRunning];
+          }
+        }
+        return ret;
       }
-      #uid;
-      get uid() {
-        return this.#uid;
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
+        }
+        const ref = this[kClients].get(key);
+        let dispatcher = ref ? ref.deref() : null;
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, new WeakRef2(dispatcher));
+          this[kFinalizer].register(dispatcher, key);
+        }
+        return dispatcher.dispatch(opts, handler2);
       }
-      #gid;
-      get gid() {
-        return this.#gid;
+      async [kClose]() {
+        const closePromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            closePromises.push(client.close());
+          }
+        }
+        await Promise.all(closePromises);
       }
-      #rdev;
-      get rdev() {
-        return this.#rdev;
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            destroyPromises.push(client.destroy(err));
+          }
+        }
+        await Promise.all(destroyPromises);
       }
-      #blksize;
-      get blksize() {
-        return this.#blksize;
+    };
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/undici/lib/api/readable.js
+var require_readable5 = __commonJS({
+  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { Readable } = require("stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors6();
+    var util = require_util24();
+    var { ReadableStreamFrom, toUSVString } = require_util24();
+    var Blob2;
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("abort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var noop3 = () => {
+    };
+    module2.exports = class BodyReadable extends Readable {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kReading] = false;
       }
-      #ino;
-      get ino() {
-        return this.#ino;
+      destroy(err) {
+        if (this.destroyed) {
+          return this;
+        }
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
+        }
+        return super.destroy(err);
       }
-      #size;
-      get size() {
-        return this.#size;
+      emit(ev, ...args) {
+        if (ev === "data") {
+          this._readableState.dataEmitted = true;
+        } else if (ev === "error") {
+          this._readableState.errorEmitted = true;
+        }
+        return super.emit(ev, ...args);
       }
-      #blocks;
-      get blocks() {
-        return this.#blocks;
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
+        }
+        return super.on(ev, ...args);
       }
-      #atimeMs;
-      get atimeMs() {
-        return this.#atimeMs;
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      #mtimeMs;
-      get mtimeMs() {
-        return this.#mtimeMs;
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+        }
+        return ret;
       }
-      #ctimeMs;
-      get ctimeMs() {
-        return this.#ctimeMs;
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      #birthtimeMs;
-      get birthtimeMs() {
-        return this.#birthtimeMs;
+      push(chunk) {
+        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
+        }
+        return super.push(chunk);
       }
-      #atime;
-      get atime() {
-        return this.#atime;
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      #mtime;
-      get mtime() {
-        return this.#mtime;
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      #ctime;
-      get ctime() {
-        return this.#ctime;
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      #birthtime;
-      get birthtime() {
-        return this.#birthtime;
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      #matchName;
-      #depth;
-      #fullpath;
-      #fullpathPosix;
-      #relative;
-      #relativePosix;
-      #type;
-      #children;
-      #linkTarget;
-      #realpath;
-      /**
-       * This property is for compatibility with the Dirent class as of
-       * Node v20, where Dirent['parentPath'] refers to the path of the
-       * directory that was passed to readdir. For root entries, it's the path
-       * to the entry itself.
-       */
-      get parentPath() {
-        return (this.parent || this).fullpath();
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      /**
-       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
-       * this property refers to the *parent* path, not the path object itself.
-       *
-       * @deprecated
-       */
-      get path() {
-        return this.parentPath;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        this.name = name;
-        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
-        this.#type = type2 & TYPEMASK;
-        this.nocase = nocase;
-        this.roots = roots;
-        this.root = root || this;
-        this.#children = children;
-        this.#fullpath = opts.fullpath;
-        this.#relative = opts.relative;
-        this.#relativePosix = opts.relativePosix;
-        this.parent = opts.parent;
-        if (this.parent) {
-          this.#fs = this.parent.#fs;
-        } else {
-          this.#fs = fsFromOption(opts.fs);
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
+          }
         }
+        return this[kBody];
       }
-      /**
-       * Returns the depth of the Path object from its root.
-       *
-       * For example, a path at `/foo/bar` would have a depth of 2.
-       */
-      depth() {
-        if (this.#depth !== void 0)
-          return this.#depth;
-        if (!this.parent)
-          return this.#depth = 0;
-        return this.#depth = this.parent.depth() + 1;
-      }
-      /**
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
-      }
-      /**
-       * Get the Path object referenced by the string path, resolved from this Path
-       */
-      resolve(path7) {
-        if (!path7) {
-          return this;
+      dump(opts) {
+        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
+        const signal = opts && opts.signal;
+        if (signal) {
+          try {
+            if (typeof signal !== "object" || !("aborted" in signal)) {
+              throw new InvalidArgumentError("signal must be an AbortSignal");
+            }
+            util.throwIfAborted(signal);
+          } catch (err) {
+            return Promise.reject(err);
+          }
         }
-        const rootPath = this.getRootString(path7);
-        const dir = path7.substring(rootPath.length);
-        const dirParts = dir.split(this.splitSep);
-        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
-        return result;
-      }
-      #resolveParts(dirParts) {
-        let p = this;
-        for (const part of dirParts) {
-          p = p.child(part);
+        if (this.closed) {
+          return Promise.resolve(null);
         }
-        return p;
+        return new Promise((resolve5, reject) => {
+          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
+            this.destroy();
+          }) : noop3;
+          this.on("close", function() {
+            signalListenerCleanup();
+            if (signal && signal.aborted) {
+              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+            } else {
+              resolve5(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
       }
-      /**
-       * Returns the cached children Path objects, if still available.  If they
-       * have fallen out of the cache, then returns an empty array, and resets the
-       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
-       * lookup.
-       *
-       * @internal
-       */
-      children() {
-        const cached = this.#children.get(this);
-        if (cached) {
-          return cached;
-        }
-        const children = Object.assign([], { provisional: 0 });
-        this.#children.set(this, children);
-        this.#type &= ~READDIR_CALLED;
-        return children;
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      if (isUnusable(stream)) {
+        throw new TypeError("unusable");
       }
-      /**
-       * Resolves a path portion and returns or creates the child Path.
-       *
-       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
-       * `'..'`.
-       *
-       * This should not be called directly.  If `pathPart` contains any path
-       * separators, it will lead to unsafe undefined behavior.
-       *
-       * Use `Path.resolve()` instead.
-       *
-       * @internal
-       */
-      child(pathPart, opts) {
-        if (pathPart === "" || pathPart === ".") {
-          return this;
-        }
-        if (pathPart === "..") {
-          return this.parent || this;
-        }
-        const children = this.children();
-        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
-        for (const p of children) {
-          if (p.#matchName === name) {
-            return p;
+      assert(!stream[kConsume]);
+      return new Promise((resolve5, reject) => {
+        stream[kConsume] = {
+          type: type2,
+          stream,
+          resolve: resolve5,
+          reject,
+          length: 0,
+          body: []
+        };
+        stream.on("error", function(err) {
+          consumeFinish(this[kConsume], err);
+        }).on("close", function() {
+          if (this[kConsume].body !== null) {
+            consumeFinish(this[kConsume], new RequestAbortedError());
           }
-        }
-        const s = this.parent ? this.sep : "";
-        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
-        const pchild = this.newChild(pathPart, UNKNOWN, {
-          ...opts,
-          parent: this,
-          fullpath
         });
-        if (!this.canReaddir()) {
-          pchild.#type |= ENOENT;
-        }
-        children.push(pchild);
-        return pchild;
+        process.nextTick(consumeStart, stream[kConsume]);
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
       }
-      /**
-       * The relative path from the cwd. If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpath()
-       */
-      relative() {
-        if (this.isCWD)
-          return "";
-        if (this.#relative !== void 0) {
-          return this.#relative;
-        }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relative = this.name;
-        }
-        const pv = p.relative();
-        return pv + (!pv || !p.parent ? "" : this.sep) + name;
+      const { _readableState: state } = consume2.stream;
+      for (const chunk of state.buffer) {
+        consumePush(consume2, chunk);
       }
-      /**
-       * The relative path from the cwd, using / as the path separator.
-       * If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpathPosix()
-       * On posix systems, this is identical to relative().
-       */
-      relativePosix() {
-        if (this.sep === "/")
-          return this.relative();
-        if (this.isCWD)
-          return "";
-        if (this.#relativePosix !== void 0)
-          return this.#relativePosix;
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relativePosix = this.fullpathPosix();
-        }
-        const pv = p.relativePosix();
-        return pv + (!pv || !p.parent ? "" : "/") + name;
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
       }
-      /**
-       * The fully resolved path string for this Path entry
-       */
-      fullpath() {
-        if (this.#fullpath !== void 0) {
-          return this.#fullpath;
-        }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#fullpath = this.name;
-        }
-        const pv = p.fullpath();
-        const fp = pv + (!p.parent ? "" : this.sep) + name;
-        return this.#fullpath = fp;
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-      /**
-       * On platforms other than windows, this is identical to fullpath.
-       *
-       * On windows, this is overridden to return the forward-slash form of the
-       * full UNC path.
-       */
-      fullpathPosix() {
-        if (this.#fullpathPosix !== void 0)
-          return this.#fullpathPosix;
-        if (this.sep === "/")
-          return this.#fullpathPosix = this.fullpath();
-        if (!this.parent) {
-          const p2 = this.fullpath().replace(/\\/g, "/");
-          if (/^[a-z]:\//i.test(p2)) {
-            return this.#fullpathPosix = `//?/${p2}`;
-          } else {
-            return this.#fullpathPosix = p2;
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve5, stream, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve5(toUSVString(Buffer.concat(body)));
+        } else if (type2 === "json") {
+          resolve5(JSON.parse(Buffer.concat(body)));
+        } else if (type2 === "arrayBuffer") {
+          const dst = new Uint8Array(length);
+          let pos = 0;
+          for (const buf of body) {
+            dst.set(buf, pos);
+            pos += buf.byteLength;
+          }
+          resolve5(dst.buffer);
+        } else if (type2 === "blob") {
+          if (!Blob2) {
+            Blob2 = require("buffer").Blob;
           }
+          resolve5(new Blob2(body, { type: stream[kContentType] }));
         }
-        const p = this.parent;
-        const pfpp = p.fullpathPosix();
-        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
-        return this.#fullpathPosix = fpp;
-      }
-      /**
-       * Is the Path of an unknown type?
-       *
-       * Note that we might know *something* about it if there has been a previous
-       * filesystem operation, for example that it does not exist, or is not a
-       * link, or whether it has child entries.
-       */
-      isUnknown() {
-        return (this.#type & IFMT) === UNKNOWN;
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      isType(type2) {
-        return this[`is${type2}`]();
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      getType() {
-        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
-          /* c8 ignore start */
-          this.isSocket() ? "Socket" : "Unknown"
-        );
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      /**
-       * Is the Path a regular file?
-       */
-      isFile() {
-        return (this.#type & IFMT) === IFREG;
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+  }
+});
+
+// node_modules/undici/lib/api/util.js
+var require_util26 = __commonJS({
+  "node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors6();
+    var { toUSVString } = require_util24();
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let limit = 0;
+      for await (const chunk of body) {
+        chunks.push(chunk);
+        limit += chunk.length;
+        if (limit > 128 * 1024) {
+          chunks = null;
+          break;
+        }
       }
-      /**
-       * Is the Path a directory?
-       */
-      isDirectory() {
-        return (this.#type & IFMT) === IFDIR;
+      if (statusCode === 204 || !contentType || !chunks) {
+        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+        return;
       }
-      /**
-       * Is the path a character device?
-       */
-      isCharacterDevice() {
-        return (this.#type & IFMT) === IFCHR;
+      try {
+        if (contentType.startsWith("application/json")) {
+          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
+        }
+        if (contentType.startsWith("text/")) {
+          const payload = toUSVString(Buffer.concat(chunks));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
+        }
+      } catch (err) {
       }
-      /**
-       * Is the path a block device?
-       */
-      isBlockDevice() {
-        return (this.#type & IFMT) === IFBLK;
+      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+    }
+    module2.exports = { getResolveErrorBodyCallback };
+  }
+});
+
+// node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal3 = __commonJS({
+  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util24();
+    var { RequestAbortedError } = require_errors6();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort();
+      } else {
+        self2.onError(new RequestAbortedError());
       }
-      /**
-       * Is the path a FIFO pipe?
-       */
-      isFIFO() {
-        return (this.#type & IFMT) === IFIFO;
+    }
+    function addSignal(self2, signal) {
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      /**
-       * Is the path a socket?
-       */
-      isSocket() {
-        return (this.#type & IFMT) === IFSOCK;
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      /**
-       * Is the path a symbolic link?
-       */
-      isSymbolicLink() {
-        return (this.#type & IFLNK) === IFLNK;
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      /**
-       * Return the entry if it has been subject of a successful lstat, or
-       * undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* simply
-       * mean that we haven't called lstat on it.
-       */
-      lstatCached() {
-        return this.#type & LSTAT_CALLED ? this : void 0;
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      /**
-       * Return the cached link target if the entry has been the subject of a
-       * successful readlink, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readlink() has been called at some point.
-       */
-      readlinkCached() {
-        return this.#linkTarget;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/undici/lib/api/api-request.js
+var require_api_request3 = __commonJS({
+  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var Readable = require_readable5();
+    var {
+      InvalidArgumentError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { getResolveErrorBodyCallback } = require_util26();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
+        }
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      /**
-       * Returns the cached realpath target if the entry has been the subject
-       * of a successful realpath, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * realpath() has been called at some point.
-       */
-      realpathCached() {
-        return this.#realpath;
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = context2;
       }
-      /**
-       * Returns the cached child Path entries array if the entry has been the
-       * subject of a successful readdir(), or [] otherwise.
-       *
-       * Does not read the filesystem, so an empty array *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readdir() has been called recently enough to still be valid.
-       */
-      readdirCached() {
-        const children = this.children();
-        return children.slice(0, children.provisional);
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
+          return;
+        }
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const body = new Readable({ resume, abort, contentType, highWaterMark });
+        this.callback = null;
+        this.res = body;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body,
+              context: context2
+            });
+          }
+        }
       }
-      /**
-       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
-       * any indication that readlink will definitely fail.
-       *
-       * Returns false if the path is known to not be a symlink, if a previous
-       * readlink failed, or if the entry does not exist.
-       */
-      canReadlink() {
-        if (this.#linkTarget)
-          return true;
-        if (!this.parent)
-          return false;
-        const ifmt = this.#type & IFMT;
-        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      /**
-       * Return true if readdir has previously been successfully called on this
-       * path, indicating that cachedReaddir() is likely valid.
-       */
-      calledReaddir() {
-        return !!(this.#type & READDIR_CALLED);
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        util.parseHeaders(trailers, this.trailers);
+        res.push(null);
       }
-      /**
-       * Returns true if the path is known to not exist. That is, a previous lstat
-       * or readdir failed to verify its existence when that would have been
-       * expected, or a parent entry was marked either enoent or enotdir.
-       */
-      isENOENT() {
-        return !!(this.#type & ENOENT);
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
+        }
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
       }
-      /**
-       * Return true if the path is a match for the given path name.  This handles
-       * case sensitivity and unicode normalization.
-       *
-       * Note: even on case-sensitive systems, it is **not** safe to test the
-       * equality of the `.name` property to determine whether a given pathname
-       * matches, due to unicode normalization mismatches.
-       *
-       * Always use this method instead of testing the `path.name` property
-       * directly.
-       */
-      isNamed(n) {
-        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
       }
-      /**
-       * Return the Path object corresponding to the target of a symbolic link.
-       *
-       * If the Path is not a symbolic link, or if the readlink call fails for any
-       * reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       */
-      async readlink() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
-        }
-        if (!this.canReadlink()) {
-          return void 0;
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        if (!this.parent) {
-          return void 0;
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/undici/lib/api/api-stream.js
+var require_api_stream3 = __commonJS({
+  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var { finished, PassThrough } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { getResolveErrorBodyCallback } = require_util26();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
         try {
-          const read = await this.#fs.promises.readlink(this.fullpath());
-          const linkTarget = (await this.parent.realpath())?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
           }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      }
-      /**
-       * Synchronous {@link PathBase.readlink}
-       */
-      readlinkSync() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        if (!this.canReadlink()) {
-          return void 0;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        if (!this.parent) {
-          return void 0;
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
+          return;
         }
-        try {
-          const read = this.#fs.readlinkSync(this.fullpath());
-          const linkTarget = this.parent.realpathSync()?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
+          this.callback = null;
+          this.runInAsyncScope(
+            getResolveErrorBodyCallback,
+            null,
+            { callback, body: res, contentType, statusCode, statusMessage, headers }
+          );
+        } else {
+          if (factory === null) {
+            return;
           }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
+          });
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
+          }
+          finished(res, { readable: false }, (err) => {
+            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
+            this.res = null;
+            if (err || !res2.readable) {
+              util.destroy(res2, err);
+            }
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
+            }
+          });
         }
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
+        return needDrain !== true;
       }
-      #readdirSuccess(children) {
-        this.#type |= READDIR_CALLED;
-        for (let p = children.provisional; p < children.length; p++) {
-          const c = children[p];
-          if (c)
-            c.#markENOENT();
-        }
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
       }
-      #markENOENT() {
-        if (this.#type & ENOENT)
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
           return;
-        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
-        this.#markChildrenENOENT();
-      }
-      #markChildrenENOENT() {
-        const children = this.children();
-        children.provisional = 0;
-        for (const p of children) {
-          p.#markENOENT();
         }
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
       }
-      #markENOREALPATH() {
-        this.#type |= ENOREALPATH;
-        this.#markENOTDIR();
-      }
-      // save the information when we know the entry is not a dir
-      #markENOTDIR() {
-        if (this.#type & ENOTDIR)
-          return;
-        let t = this.#type;
-        if ((t & IFMT) === IFDIR)
-          t &= IFMT_UNKNOWN;
-        this.#type = t | ENOTDIR;
-        this.#markChildrenENOENT();
-      }
-      #readdirFail(code = "") {
-        if (code === "ENOTDIR" || code === "EPERM") {
-          this.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
-        } else {
-          this.children().provisional = 0;
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-      }
-      #lstatFail(code = "") {
-        if (code === "ENOTDIR") {
-          const p = this.parent;
-          p.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
       }
-      #readlinkFail(code = "") {
-        let ter = this.#type;
-        ter |= ENOREADLINK;
-        if (code === "ENOENT")
-          ter |= ENOENT;
-        if (code === "EINVAL" || code === "UNKNOWN") {
-          ter &= IFMT_UNKNOWN;
-        }
-        this.#type = ter;
-        if (code === "ENOTDIR" && this.parent) {
-          this.parent.#markENOTDIR();
+    };
+    function stream(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          stream.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      #readdirAddChild(e, c) {
-        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
+    }
+    module2.exports = stream;
+  }
+});
+
+// node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline3 = __commonJS({
+  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable,
+      Duplex,
+      PassThrough
+    } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
       }
-      #readdirAddNewChild(e, c) {
-        const type2 = entToType(e);
-        const child = this.newChild(e.name, type2, { parent: this });
-        const ifmt = child.#type & IFMT;
-        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
-          child.#type |= ENOTDIR;
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
         }
-        c.unshift(child);
-        c.provisional++;
-        return child;
       }
-      #readdirMaybePromoteChild(e, c) {
-        for (let p = c.provisional; p < c.length; p++) {
-          const pchild = c[p];
-          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
-          if (name !== pchild.#matchName) {
-            continue;
-          }
-          return this.#readdirPromoteChild(e, pchild, p, c);
-        }
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
       }
-      #readdirPromoteChild(e, p, index, c) {
-        const v = p.name;
-        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
-        if (v !== e.name)
-          p.name = e.name;
-        if (index !== c.provisional) {
-          if (index === c.length - 1)
-            c.pop();
-          else
-            c.splice(index, 1);
-          c.unshift(p);
-        }
-        c.provisional++;
-        return p;
+    };
+    var PipelineResponse = class extends Readable {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
       }
-      /**
-       * Call lstat() on this Path, and update all known information that can be
-       * determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
-        }
+      _read() {
+        this[kResume]();
       }
-      /**
-       * synchronous {@link PathBase.lstat}
-       */
-      lstatSync() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
+        callback(err);
       }
-      #applyStat(st) {
-        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
-        this.#atime = atime;
-        this.#atimeMs = atimeMs;
-        this.#birthtime = birthtime;
-        this.#birthtimeMs = birthtimeMs;
-        this.#blksize = blksize;
-        this.#blocks = blocks;
-        this.#ctime = ctime;
-        this.#ctimeMs = ctimeMs;
-        this.#dev = dev;
-        this.#gid = gid;
-        this.#ino = ino;
-        this.#mode = mode;
-        this.#mtime = mtime;
-        this.#mtimeMs = mtimeMs;
-        this.#nlink = nlink;
-        this.#rdev = rdev;
-        this.#size = size;
-        this.#uid = uid;
-        const ifmt = entToType(st);
-        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
-        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
-          this.#type |= ENOTDIR;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-      }
-      #onReaddirCB = [];
-      #readdirCBInFlight = false;
-      #callOnReaddirCB(children) {
-        this.#readdirCBInFlight = false;
-        const cbs = this.#onReaddirCB.slice();
-        this.#onReaddirCB.length = 0;
-        cbs.forEach((cb) => cb(null, children));
-      }
-      /**
-       * Standard node-style callback interface to get list of directory entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       *
-       * @param cb The callback called with (er, entries).  Note that the `er`
-       * param is somewhat extraneous, as all readdir() errors are handled and
-       * simply result in an empty set of entries being returned.
-       * @param allowZalgo Boolean indicating that immediately known results should
-       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
-       * zalgo at your peril, the dark pony lord is devious and unforgiving.
-       */
-      readdirCB(cb, allowZalgo = false) {
-        if (!this.canReaddir()) {
-          if (allowZalgo)
-            cb(null, []);
-          else
-            queueMicrotask(() => cb(null, []));
-          return;
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
         }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          const c = children.slice(0, children.provisional);
-          if (allowZalgo)
-            cb(null, c);
-          else
-            queueMicrotask(() => cb(null, c));
-          return;
+        const { signal, method, opaque, onInfo, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        this.#onReaddirCB.push(cb);
-        if (this.#readdirCBInFlight) {
-          return;
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
         }
-        this.#readdirCBInFlight = true;
-        const fullpath = this.fullpath();
-        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
-          if (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
-          } else {
-            for (const e of entries) {
-              this.#readdirAddChild(e, children);
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body && body.resume) {
+              body.resume();
             }
-            this.#readdirSuccess(children);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
+            }
+            if (abort && err) {
+              abort();
+            }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
-          this.#callOnReaddirCB(children.slice(0, children.provisional));
-          return;
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
         });
+        this.res = null;
+        addSignal(this, signal);
       }
-      #asyncReaddirInFlight;
-      /**
-       * Return an array of known child entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async readdir() {
-        if (!this.canReaddir()) {
-          return [];
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        assert(!res, "pipeline cannot be retried");
+        if (ret.destroyed) {
+          throw new RequestAbortedError();
         }
-        const fullpath = this.fullpath();
-        if (this.#asyncReaddirInFlight) {
-          await this.#asyncReaddirInFlight;
-        } else {
-          let resolve5 = () => {
-          };
-          this.#asyncReaddirInFlight = new Promise((res) => resolve5 = res);
-          try {
-            for (const e of await this.#fs.promises.readdir(fullpath, {
-              withFileTypes: true
-            })) {
-              this.#readdirAddChild(e, children);
-            }
-            this.#readdirSuccess(children);
-          } catch (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          this.#asyncReaddirInFlight = void 0;
-          resolve5();
+          return;
         }
-        return children.slice(0, children.provisional);
-      }
-      /**
-       * synchronous {@link PathBase.readdir}
-       */
-      readdirSync() {
-        if (!this.canReaddir()) {
-          return [];
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
         }
-        const fullpath = this.fullpath();
-        try {
-          for (const e of this.#fs.readdirSync(fullpath, {
-            withFileTypes: true
-          })) {
-            this.#readdirAddChild(e, children);
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          this.#readdirSuccess(children);
-        } catch (er) {
-          this.#readdirFail(er.code);
-          children.provisional = 0;
-        }
-        return children.slice(0, children.provisional);
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
+          }
+        });
+        this.body = body;
       }
-      canReaddir() {
-        if (this.#type & ENOCHILD)
-          return false;
-        const ifmt = IFMT & this.#type;
-        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
-          return false;
-        }
-        return true;
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      shouldWalk(dirs, walkFilter) {
-        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
       }
-      /**
-       * Return the Path object corresponding to path as resolved
-       * by realpath(3).
-       *
-       * If the realpath call fails for any reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       * On success, returns a Path object.
-       */
-      async realpath() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = await this.#fs.promises.realpath(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
-        }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
       }
-      /**
-       * Synchronous {@link realpath}
-       */
-      realpathSync() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = this.#fs.realpathSync(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
-        }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
       }
-      /**
-       * Internal method to mark this Path object as the scurry cwd,
-       * called by {@link PathScurry#chdir}
-       *
-       * @internal
-       */
-      [setAsCwd](oldCwd) {
-        if (oldCwd === this)
-          return;
-        oldCwd.isCWD = false;
-        this.isCWD = true;
-        const changed = /* @__PURE__ */ new Set([]);
-        let rp = [];
-        let p = this;
-        while (p && p.parent) {
-          changed.add(p);
-          p.#relative = rp.join(this.sep);
-          p.#relativePosix = rp.join("/");
-          p = p.parent;
-          rp.push("..");
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade3 = __commonJS({
+  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors6();
+    var { AsyncResource } = require("async_hooks");
+    var util = require_util24();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        p = oldCwd;
-        while (p && p.parent && !changed.has(p)) {
-          p.#relative = void 0;
-          p.#relativePosix = void 0;
-          p = p.parent;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
+        super("UNDICI_UPGRADE");
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.abort = null;
+        this.context = null;
+        addSignal(this, signal);
       }
-    };
-    exports2.PathBase = PathBase;
-    var PathWin32 = class _PathWin32 extends PathBase {
-      /**
-       * Separator for generating path strings.
-       */
-      sep = "\\";
-      /**
-       * Separator for parsing path strings.
-       */
-      splitSep = eitherSep;
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = null;
       }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
       }
-      /**
-       * @internal
-       */
-      getRootString(path7) {
-        return node_path_1.win32.parse(path7).root;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        assert.strictEqual(statusCode, 101);
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
       }
-      /**
-       * @internal
-       */
-      getRoot(rootPath) {
-        rootPath = uncToDrive(rootPath.toUpperCase());
-        if (rootPath === this.root.name) {
-          return this.root;
-        }
-        for (const [compare2, root] of Object.entries(this.roots)) {
-          if (this.sameRoot(rootPath, compare2)) {
-            return this.roots[rootPath] = root;
-          }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
-      }
-      /**
-       * @internal
-       */
-      sameRoot(rootPath, compare2 = this.root.name) {
-        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-        return rootPath === compare2;
       }
     };
-    exports2.PathWin32 = PathWin32;
-    var PathPosix = class _PathPosix extends PathBase {
-      /**
-       * separator for parsing path strings
-       */
-      splitSep = "/";
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
-      }
-      /**
-       * @internal
-       */
-      getRootString(path7) {
-        return path7.startsWith("/") ? "/" : "";
-      }
-      /**
-       * @internal
-       */
-      getRoot(_rootPath) {
-        return this.root;
-      }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
       }
-    };
-    exports2.PathPosix = PathPosix;
-    var PathScurryBase = class {
-      /**
-       * The root Path entry for the current working directory of this Scurry
-       */
-      root;
-      /**
-       * The string path for the root of this Scurry's current working directory
-       */
-      rootPath;
-      /**
-       * A collection of all roots encountered, referenced by rootPath
-       */
-      roots;
-      /**
-       * The Path entry corresponding to this PathScurry's current working directory.
-       */
-      cwd;
-      #resolveCache;
-      #resolvePosixCache;
-      #children;
-      /**
-       * Perform path comparisons case-insensitively.
-       *
-       * Defaults true on Darwin and Windows systems, false elsewhere.
-       */
-      nocase;
-      #fs;
-      /**
-       * This class should not be instantiated directly.
-       *
-       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
-       *
-       * @internal
-       */
-      constructor(cwd = process.cwd(), pathImpl, sep3, { nocase, childrenCacheSize = 16 * 1024, fs: fs8 = defaultFS } = {}) {
-        this.#fs = fsFromOption(fs8);
-        if (cwd instanceof URL || cwd.startsWith("file://")) {
-          cwd = (0, node_url_1.fileURLToPath)(cwd);
+      try {
+        const upgradeHandler = new UpgradeHandler(opts, callback);
+        this.dispatch({
+          ...opts,
+          method: opts.method || "GET",
+          upgrade: opts.protocol || "Websocket"
+        }, upgradeHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        const cwdPath = pathImpl.resolve(cwd);
-        this.roots = /* @__PURE__ */ Object.create(null);
-        this.rootPath = this.parseRootPath(cwdPath);
-        this.#resolveCache = new ResolveCache();
-        this.#resolvePosixCache = new ResolveCache();
-        this.#children = new ChildrenCache(childrenCacheSize);
-        const split = cwdPath.substring(this.rootPath.length).split(sep3);
-        if (split.length === 1 && !split[0]) {
-          split.pop();
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/undici/lib/api/api-connect.js
+var require_api_connect3 = __commonJS({
+  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors6();
+    var util = require_util24();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (nocase === void 0) {
-          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        this.nocase = nocase;
-        this.root = this.newRoot(this.#fs);
-        this.roots[this.rootPath] = this.root;
-        let prev = this.root;
-        let len = split.length - 1;
-        const joinSep = pathImpl.sep;
-        let abs = this.rootPath;
-        let sawFirst = false;
-        for (const part of split) {
-          const l = len--;
-          prev = prev.child(part, {
-            relative: new Array(l).fill("..").join(joinSep),
-            relativePosix: new Array(l).fill("..").join("/"),
-            fullpath: abs += (sawFirst ? "" : joinSep) + part
-          });
-          sawFirst = true;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        this.cwd = prev;
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      /**
-       * Get the depth of a provided path, string, or the cwd
-       */
-      depth(path7 = this.cwd) {
-        if (typeof path7 === "string") {
-          path7 = this.cwd.resolve(path7);
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        return path7.depth();
+        this.abort = abort;
+        this.context = context2;
       }
-      /**
-       * Return the cache of child entries.  Exposed so subclasses can create
-       * child Path objects in a platform-specific way.
-       *
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      /**
-       * Resolve one or more path strings to a resolved string
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolve(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
-          }
-        }
-        const cached = this.#resolveCache.get(r);
-        if (cached !== void 0) {
-          return cached;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        const result = this.cwd.resolve(r).fullpath();
-        this.#resolveCache.set(r, result);
-        return result;
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
       }
-      /**
-       * Resolve one or more path strings to a resolved string, returning
-       * the posix path.  Identical to .resolve() on posix systems, but on
-       * windows will return a forward-slash separated UNC path.
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolvePosix(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
-          }
-        }
-        const cached = this.#resolvePosixCache.get(r);
-        if (cached !== void 0) {
-          return cached;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const result = this.cwd.resolve(r).fullpathPosix();
-        this.#resolvePosixCache.set(r, result);
-        return result;
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or entry
-       */
-      relative(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
+      }
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        return entry.relative();
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or
-       * entry, using / as the path delimiter, even on Windows.
-       */
-      relativePosix(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/undici/lib/api/index.js
+var require_api3 = __commonJS({
+  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request3();
+    module2.exports.stream = require_api_stream3();
+    module2.exports.pipeline = require_api_pipeline3();
+    module2.exports.upgrade = require_api_upgrade3();
+    module2.exports.connect = require_api_connect3();
+  }
+});
+
+// node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors6();
+    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _MockNotMatchedError);
+        this.name = "MockNotMatchedError";
+        this.message = message || "The request does not match any registered mock dispatches";
+        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      }
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols3();
+    var { buildURL, nop } = require_util24();
+    var { STATUS_CODES } = require("http");
+    var {
+      types: {
+        isPromise
+      }
+    } = require("util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
+      }
+      if (match instanceof RegExp) {
+        return match.test(value);
+      }
+      if (typeof match === "function") {
+        return match(value) === true;
+      }
+      return false;
+    }
+    function lowerCaseEntries(headers) {
+      return Object.fromEntries(
+        Object.entries(headers).map(([headerName, headerValue]) => {
+          return [headerName.toLocaleLowerCase(), headerValue];
+        })
+      );
+    }
+    function getHeaderByName(headers, key) {
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
+            return headers[i + 1];
+          }
         }
-        return entry.relativePosix();
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
+      } else {
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      /**
-       * Return the basename for the provided string or Path object
-       */
-      basename(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.name;
+    }
+    function buildHeadersFromArray(headers) {
+      const clone = headers.slice();
+      const entries = [];
+      for (let index = 0; index < clone.length; index += 2) {
+        entries.push([clone[index], clone[index + 1]]);
       }
-      /**
-       * Return the dirname for the provided string or Path object
-       */
-      dirname(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      return Object.fromEntries(entries);
+    }
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
         }
-        return (entry.parent || entry).fullpath();
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      async readdir(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else {
-          const p = await entry.readdir();
-          return withFileTypes ? p : p.map((e) => e.name);
-        }
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
       }
-      readdirSync(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else if (withFileTypes) {
-          return entry.readdirSync();
-        } else {
-          return entry.readdirSync().map((e) => e.name);
-        }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
+        return false;
       }
-      /**
-       * Call lstat() on the string or Path object, and update all known
-       * information that can be determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        return entry.lstat();
       }
-      /**
-       * synchronous {@link PathScurryBase.lstat}
-       */
-      lstatSync(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.lstatSync();
+      return true;
+    }
+    function safeUrl(path7) {
+      if (typeof path7 !== "string") {
+        return path7;
       }
-      async readlink(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.readlink();
-        return withFileTypes ? e : e?.fullpath();
+      const pathSegments = path7.split("?");
+      if (pathSegments.length !== 2) {
+        return path7;
       }
-      readlinkSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = entry.readlinkSync();
-        return withFileTypes ? e : e?.fullpath();
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path7, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path7);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      async realpath(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.realpath();
-        return withFileTypes ? e : e?.fullpath();
+    }
+    function getMockDispatch(mockDispatches, key) {
+      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
+      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path7 }) => matchValue(safeUrl(path7), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      realpathSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = entry.realpathSync();
-        return withFileTypes ? e : e?.fullpath();
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
       }
-      async walk(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set();
-        const walk = (dir, cb) => {
-          dirs.add(dir);
-          dir.readdirCB((er, entries) => {
-            if (er) {
-              return cb(er);
-            }
-            let len = entries.length;
-            if (!len)
-              return cb();
-            const next = () => {
-              if (--len === 0) {
-                cb();
-              }
-            };
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                results.push(withFileTypes ? e : e.fullpath());
-              }
-              if (follow && e.isSymbolicLink()) {
-                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
-              } else {
-                if (e.shouldWalk(dirs, walkFilter)) {
-                  walk(e, next);
-                } else {
-                  next();
-                }
-              }
-            }
-          }, true);
-        };
-        const start = entry;
-        return new Promise((res, rej) => {
-          walk(start, (er) => {
-            if (er)
-              return rej(er);
-            res(results);
-          });
-        });
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
       }
-      walkSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              results.push(withFileTypes ? e : e.fullpath());
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      }
+      return matchedMockDispatches[0];
+    }
+    function addMockDispatch(mockDispatches, key, data) {
+      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
+      const replyData = typeof data === "function" ? { callback: data } : { ...data };
+      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
+      mockDispatches.push(newMockDispatch);
+      return newMockDispatch;
+    }
+    function deleteMockDispatch(mockDispatches, key) {
+      const index = mockDispatches.findIndex((dispatch) => {
+        if (!dispatch.consumed) {
+          return false;
         }
-        return results;
+        return matchKey(dispatch, key);
+      });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
-      /**
-       * Support for `for await`
-       *
-       * Alias for {@link PathScurryBase.iterate}
-       *
-       * Note: As of Node 19, this is very slow, compared to other methods of
-       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
-       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
-       */
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    }
+    function buildKey(opts) {
+      const { path: path7, method, body, headers, query } = opts;
+      return {
+        path: path7,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
+        ...keyValuePairs,
+        Buffer.from(`${key}`),
+        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
+      ], []);
+    }
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      iterate(entry = this.cwd, options = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          options = entry;
-          entry = this.cwd;
-        }
-        return this.stream(entry, options)[Symbol.asyncIterator]();
+      return Buffer.concat(buffers).toString("utf8");
+    }
+    function mockDispatch(opts, handler2) {
+      const key = buildKey(opts);
+      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
+      mockDispatch2.timesInvoked++;
+      if (mockDispatch2.data.callback) {
+        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
       }
-      /**
-       * Iterating over a PathScurry performs a synchronous walk.
-       *
-       * Alias for {@link PathScurryBase.iterateSync}
-       */
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      *iterateSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        if (!filter || filter(entry)) {
-          yield withFileTypes ? entry : entry.fullpath();
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              yield withFileTypes ? e : e.fullpath();
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
-        }
+      if (typeof delay === "number" && delay > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay);
+      } else {
+        handleReply(this[kDispatches]);
       }
-      stream(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
         }
-        const dirs = /* @__PURE__ */ new Set();
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const onReaddir = (er, entries, didRealpaths = false) => {
-              if (er)
-                return results.emit("error", er);
-              if (follow && !didRealpaths) {
-                const promises3 = [];
-                for (const e of entries) {
-                  if (e.isSymbolicLink()) {
-                    promises3.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
-                  }
-                }
-                if (promises3.length) {
-                  Promise.all(promises3).then(() => onReaddir(null, entries, true));
-                  return;
-                }
-              }
-              for (const e of entries) {
-                if (e && (!filter || filter(e))) {
-                  if (!results.write(withFileTypes ? e : e.fullpath())) {
-                    paused = true;
-                  }
-                }
-              }
-              processing--;
-              for (const e of entries) {
-                const r = e.realpathCached() || e;
-                if (r.shouldWalk(dirs, walkFilter)) {
-                  queue.push(r);
-                }
-              }
-              if (paused && !results.flowing) {
-                results.once("drain", process2);
-              } else if (!sync) {
-                process2();
-              }
-            };
-            let sync = true;
-            dir.readdirCB(onReaddir, true);
-            sync = false;
-          }
-        };
-        process2();
-        return results;
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.abort = nop;
+        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData(Buffer.from(responseData));
+        handler2.onComplete(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
       }
-      streamSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        const dirs = /* @__PURE__ */ new Set();
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
-        }
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const entries = dir.readdirSync();
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                if (!results.write(withFileTypes ? e : e.fullpath())) {
-                  paused = true;
-                }
-              }
-            }
-            processing--;
-            for (const e of entries) {
-              let r = e;
-              if (e.isSymbolicLink()) {
-                if (!(follow && (r = e.realpathSync())))
-                  continue;
-                if (r.isUnknown())
-                  r.lstatSync();
+      function resume() {
+      }
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
+          try {
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
               }
-              if (r.shouldWalk(dirs, walkFilter)) {
-                queue.push(r);
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
               }
+            } else {
+              throw error3;
             }
           }
-          if (paused && !results.flowing)
-            results.once("drain", process2);
-        };
-        process2();
-        return results;
-      }
-      chdir(path7 = this.cwd) {
-        const oldCwd = this.cwd;
-        this.cwd = typeof path7 === "string" ? this.cwd.resolve(path7) : path7;
-        this.cwd[setAsCwd](oldCwd);
-      }
-    };
-    exports2.PathScurryBase = PathScurryBase;
-    var PathScurryWin32 = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "\\";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
-        this.nocase = nocase;
-        for (let p = this.cwd; p; p = p.parent) {
-          p.nocase = this.nocase;
+        } else {
+          originalDispatch.call(this, opts, handler2);
         }
+      };
+    }
+    function checkNetConnect(netConnect, origin) {
+      const url = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
+        return true;
       }
-      /**
-       * @internal
-       */
-      parseRootPath(dir) {
-        return node_path_1.win32.parse(dir).root.toUpperCase();
-      }
-      /**
-       * @internal
-       */
-      newRoot(fs8) {
-        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs8 });
-      }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
+      return false;
+    }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
+    }
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName
     };
-    exports2.PathScurryWin32 = PathScurryWin32;
-    var PathScurryPosix = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = false } = opts;
-        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
-        this.nocase = nocase;
+  }
+});
+
+// node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols3();
+    var { InvalidArgumentError } = require_errors6();
+    var { buildURL } = require_util24();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
       /**
-       * @internal
+       * Delay a reply by a set amount in ms.
        */
-      parseRootPath(_dir) {
-        return "/";
+      delay(waitInMs) {
+        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
+          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
+        }
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
       /**
-       * @internal
+       * For a defined reply, never mark as consumed.
        */
-      newRoot(fs8) {
-        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs8 });
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
       /**
-       * Return true if the provided path string is an absolute path
+       * Allow one to define a reply for a set amount of matching requests.
        */
-      isAbsolute(p) {
-        return p.startsWith("/");
-      }
-    };
-    exports2.PathScurryPosix = PathScurryPosix;
-    var PathScurryDarwin = class extends PathScurryPosix {
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, { ...opts, nocase });
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+        }
+        this[kMockDispatch].times = repeatTimes;
+        return this;
       }
     };
-    exports2.PathScurryDarwin = PathScurryDarwin;
-    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
-    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
-  }
-});
-
-// node_modules/glob/dist/commonjs/pattern.js
-var require_pattern = __commonJS({
-  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pattern = void 0;
-    var minimatch_1 = require_commonjs20();
-    var isPatternList = (pl) => pl.length >= 1;
-    var isGlobList = (gl) => gl.length >= 1;
-    var Pattern = class _Pattern {
-      #patternList;
-      #globList;
-      #index;
-      length;
-      #platform;
-      #rest;
-      #globString;
-      #isDrive;
-      #isUNC;
-      #isAbsolute;
-      #followGlobstar = true;
-      constructor(patternList, globList, index, platform) {
-        if (!isPatternList(patternList)) {
-          throw new TypeError("empty pattern list");
-        }
-        if (!isGlobList(globList)) {
-          throw new TypeError("empty glob list");
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        if (globList.length !== patternList.length) {
-          throw new TypeError("mismatched pattern list and glob list lengths");
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        this.length = patternList.length;
-        if (index < 0 || index >= this.length) {
-          throw new TypeError("index out of range");
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
         }
-        this.#patternList = patternList;
-        this.#globList = globList;
-        this.#index = index;
-        this.#platform = platform;
-        if (this.#index === 0) {
-          if (this.isUNC()) {
-            const [p0, p1, p2, p3, ...prest] = this.#patternList;
-            const [g0, g1, g2, g3, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = [p0, p1, p2, p3, ""].join("/");
-            const g = [g0, g1, g2, g3, ""].join("/");
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
-          } else if (this.isDrive() || this.isAbsolute()) {
-            const [p1, ...prest] = this.#patternList;
-            const [g1, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = p1 + "/";
-            const g = g1 + "/";
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
+          } else {
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
           }
         }
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
+        }
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      /**
-       * The first entry in the parsed list of patterns
-       */
-      pattern() {
-        return this.#patternList[this.#index];
-      }
-      /**
-       * true of if pattern() returns a string
-       */
-      isString() {
-        return typeof this.#patternList[this.#index] === "string";
-      }
-      /**
-       * true of if pattern() returns GLOBSTAR
-       */
-      isGlobstar() {
-        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
+      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
+        const responseData = getResponseData2(data);
+        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
+        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
+        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
+        return { statusCode, data, headers, trailers };
       }
-      /**
-       * true if pattern() returns a regexp
-       */
-      isRegExp() {
-        return this.#patternList[this.#index] instanceof RegExp;
+      validateReplyParameters(statusCode, data, responseOptions) {
+        if (typeof statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
+        }
+        if (typeof data === "undefined") {
+          throw new InvalidArgumentError("data must be defined");
+        }
+        if (typeof responseOptions !== "object") {
+          throw new InvalidArgumentError("responseOptions must be an object");
+        }
       }
       /**
-       * The /-joined set of glob parts that make up this pattern
+       * Mock an undici request with a defined reply.
        */
-      globString() {
-        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
+      reply(replyData) {
+        if (typeof replyData === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyData(opts);
+            if (typeof resolvedData !== "object") {
+              throw new InvalidArgumentError("reply options callback must return an object");
+            }
+            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
+            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            return {
+              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
+        }
+        const [statusCode, data = "", responseOptions = {}] = [...arguments];
+        this.validateReplyParameters(statusCode, data, responseOptions);
+        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
       }
       /**
-       * true if there are more pattern parts after this one
+       * Mock an undici request with a defined error.
        */
-      hasMore() {
-        return this.length > this.#index + 1;
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
+        }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
       /**
-       * The rest of the pattern after this part, or null if this is the end
+       * Set default reply headers on the interceptor for subsequent replies
        */
-      rest() {
-        if (this.#rest !== void 0)
-          return this.#rest;
-        if (!this.hasMore())
-          return this.#rest = null;
-        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
-        this.#rest.#isAbsolute = this.#isAbsolute;
-        this.#rest.#isUNC = this.#isUNC;
-        this.#rest.#isDrive = this.#isDrive;
-        return this.#rest;
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
+        }
+        this[kDefaultHeaders] = headers;
+        return this;
       }
       /**
-       * true if the pattern represents a //unc/path/ on windows
+       * Set default reply trailers on the interceptor for subsequent replies
        */
-      isUNC() {
-        const pl = this.#patternList;
-        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
+        }
+        this[kDefaultTrailers] = trailers;
+        return this;
       }
-      // pattern like C:/...
-      // split = ['C:', ...]
-      // XXX: would be nice to handle patterns like `c:*` to test the cwd
-      // in c: for *, but I don't know of a way to even figure out what that
-      // cwd is without actually chdir'ing into it?
       /**
-       * True if the pattern starts with a drive letter on Windows
+       * Set reply content length header for replies on the interceptor
        */
-      isDrive() {
-        const pl = this.#patternList;
-        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
-      // pattern = '/' or '/...' or '/x/...'
-      // split = ['', ''] or ['', ...] or ['', 'x', ...]
-      // Drive and UNC both considered absolute on windows
-      /**
-       * True if the pattern is rooted on an absolute path
-       */
-      isAbsolute() {
-        const pl = this.#patternList;
-        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
+    };
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
+  }
+});
+
+// node_modules/undici/lib/mock/mock-client.js
+var require_mock_client3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("util");
+    var Client = require_client3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors6();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      /**
-       * consume the root of the pattern, and return it
-       */
-      root() {
-        const p = this.#patternList[0];
-        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
       /**
-       * Check to see if the current globstar pattern is allowed to follow
-       * a symbolic link.
+       * Sets up the base interceptor for mocking replies from undici.
        */
-      checkFollowGlobstar() {
-        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      /**
-       * Mark that the current globstar pattern is following a symbolic link
-       */
-      markFollowGlobstar() {
-        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
-          return false;
-        this.#followGlobstar = false;
-        return true;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    exports2.Pattern = Pattern;
+    module2.exports = MockClient;
   }
 });
 
-// node_modules/glob/dist/commonjs/ignore.js
-var require_ignore = __commonJS({
-  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+// node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Ignore = void 0;
-    var minimatch_1 = require_commonjs20();
-    var pattern_js_1 = require_pattern();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Ignore = class {
-      relative;
-      relativeChildren;
-      absolute;
-      absoluteChildren;
-      platform;
-      mmopts;
-      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
-        this.relative = [];
-        this.absolute = [];
-        this.relativeChildren = [];
-        this.absoluteChildren = [];
-        this.platform = platform;
-        this.mmopts = {
-          dot: true,
-          nobrace,
-          nocase,
-          noext,
-          noglobstar,
-          optimizationLevel: 2,
-          platform,
-          nocomment: true,
-          nonegate: true
-        };
-        for (const ign of ignored)
-          this.add(ign);
-      }
-      add(ign) {
-        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
-        for (let i = 0; i < mm.set.length; i++) {
-          const parsed = mm.set[i];
-          const globParts = mm.globParts[i];
-          if (!parsed || !globParts) {
-            throw new Error("invalid pattern object");
-          }
-          while (parsed[0] === "." && globParts[0] === ".") {
-            parsed.shift();
-            globParts.shift();
-          }
-          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
-          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
-          const children = globParts[globParts.length - 1] === "**";
-          const absolute = p.isAbsolute();
-          if (absolute)
-            this.absolute.push(m);
-          else
-            this.relative.push(m);
-          if (children) {
-            if (absolute)
-              this.absoluteChildren.push(m);
-            else
-              this.relativeChildren.push(m);
-          }
+    var { promisify } = require("util");
+    var Pool = require_pool3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors6();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      ignored(p) {
-        const fullpath = p.fullpath();
-        const fullpaths = `${fullpath}/`;
-        const relative = p.relative() || ".";
-        const relatives = `${relative}/`;
-        for (const m of this.relative) {
-          if (m.match(relative) || m.match(relatives))
-            return true;
-        }
-        for (const m of this.absolute) {
-          if (m.match(fullpath) || m.match(fullpaths))
-            return true;
-        }
-        return false;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      childrenIgnored(p) {
-        const fullpath = p.fullpath() + "/";
-        const relative = (p.relative() || ".") + "/";
-        for (const m of this.relativeChildren) {
-          if (m.match(relative))
-            return true;
-        }
-        for (const m of this.absoluteChildren) {
-          if (m.match(fullpath))
-            return true;
-        }
-        return false;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
+      }
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    exports2.Ignore = Ignore;
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/glob/dist/commonjs/processor.js
-var require_processor = __commonJS({
-  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
+// node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer3 = __commonJS({
+  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
-    var minimatch_1 = require_commonjs20();
-    var HasWalkedCache = class _HasWalkedCache {
-      store;
-      constructor(store = /* @__PURE__ */ new Map()) {
-        this.store = store;
+    var singulars = {
+      pronoun: "it",
+      is: "is",
+      was: "was",
+      this: "this"
+    };
+    var plurals = {
+      pronoun: "they",
+      is: "are",
+      was: "were",
+      this: "these"
+    };
+    module2.exports = class Pluralizer {
+      constructor(singular, plural) {
+        this.singular = singular;
+        this.plural = plural;
       }
-      copy() {
-        return new _HasWalkedCache(new Map(this.store));
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
       }
-      hasWalked(target, pattern) {
-        return this.store.get(target.fullpath())?.has(pattern.globString());
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter3 = __commonJS({
+  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("stream");
+    var { Console } = require("console");
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
+          }
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
+          }
+        });
       }
-      storeWalked(target, pattern) {
-        const fullpath = target.fullpath();
-        const cached = this.store.get(fullpath);
-        if (cached)
-          cached.add(pattern.globString());
-        else
-          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path7, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path7,
+            "Status code": statusCode,
+            Persistent: persist ? "\u2705" : "\u274C",
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
     };
-    exports2.HasWalkedCache = HasWalkedCache;
-    var MatchRecord = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, absolute, ifDir) {
-        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
-        const current = this.store.get(target);
-        this.store.set(target, current === void 0 ? n : n & current);
+  }
+});
+
+// node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols11();
+    var Agent = require_agent3();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols3();
+    var MockClient = require_mock_client3();
+    var MockPool = require_mock_pool3();
+    var { matchValue, buildMockOptions } = require_mock_utils3();
+    var { InvalidArgumentError, UndiciError } = require_errors6();
+    var Dispatcher = require_dispatcher3();
+    var Pluralizer = require_pluralizer3();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter3();
+    var FakeWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      // match, absolute, ifdir
-      entries() {
-        return [...this.store.entries()].map(([path7, n]) => [
-          path7,
-          !!(n & 2),
-          !!(n & 1)
-        ]);
+      deref() {
+        return this.value;
       }
     };
-    exports2.MatchRecord = MatchRecord;
-    var SubWalks = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, pattern) {
-        if (!target.canReaddir()) {
-          return;
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const subs = this.store.get(target);
-        if (subs) {
-          if (!subs.find((p) => p.globString() === pattern.globString())) {
-            subs.push(pattern);
-          }
-        } else
-          this.store.set(target, [pattern]);
+        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      get(target) {
-        const subs = this.store.get(target);
-        if (!subs) {
-          throw new Error("attempting to walk unknown path");
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        return subs;
+        return dispatcher;
       }
-      entries() {
-        return this.keys().map((k) => [k, this.store.get(k)]);
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
       }
-      keys() {
-        return [...this.store.keys()].filter((t) => t.canReaddir());
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
       }
-    };
-    exports2.SubWalks = SubWalks;
-    var Processor = class _Processor {
-      hasWalkedCache;
-      matches = new MatchRecord();
-      subwalks = new SubWalks();
-      patterns;
-      follow;
-      dot;
-      opts;
-      constructor(opts, hasWalkedCache) {
-        this.opts = opts;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      deactivate() {
+        this[kIsMockActive] = false;
       }
-      processPatterns(target, patterns) {
-        this.patterns = patterns;
-        const processingSet = patterns.map((p) => [target, p]);
-        for (let [t, pattern] of processingSet) {
-          this.hasWalkedCache.storeWalked(t, pattern);
-          const root = pattern.root();
-          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
-          if (root) {
-            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
-            const rest2 = pattern.rest();
-            if (!rest2) {
-              this.matches.add(t, true, false);
-              continue;
-            } else {
-              pattern = rest2;
-            }
-          }
-          if (t.isENOENT())
-            continue;
-          let p;
-          let rest;
-          let changed = false;
-          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
-            const c = t.resolve(p);
-            t = c;
-            pattern = rest;
-            changed = true;
-          }
-          p = pattern.pattern();
-          rest = pattern.rest();
-          if (changed) {
-            if (this.hasWalkedCache.hasWalked(t, pattern))
-              continue;
-            this.hasWalkedCache.storeWalked(t, pattern);
-          }
-          if (typeof p === "string") {
-            const ifDir = p === ".." || p === "" || p === ".";
-            this.matches.add(t.resolve(p), absolute, ifDir);
-            continue;
-          } else if (p === minimatch_1.GLOBSTAR) {
-            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
-              this.subwalks.add(t, pattern);
-            }
-            const rp = rest?.pattern();
-            const rrest = rest?.rest();
-            if (!rest || (rp === "" || rp === ".") && !rrest) {
-              this.matches.add(t, absolute, rp === "" || rp === ".");
-            } else {
-              if (rp === "..") {
-                const tp = t.parent || t;
-                if (!rrest)
-                  this.matches.add(tp, absolute, true);
-                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
-                  this.subwalks.add(tp, rrest);
-                }
-              }
-            }
-          } else if (p instanceof RegExp) {
-            this.subwalks.add(t, pattern);
+      activate() {
+        this[kIsMockActive] = true;
+      }
+      enableNetConnect(matcher) {
+        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
+          if (Array.isArray(this[kNetConnect])) {
+            this[kNetConnect].push(matcher);
+          } else {
+            this[kNetConnect] = [matcher];
           }
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        return this;
       }
-      subwalkTargets() {
-        return this.subwalks.keys();
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      child() {
-        return new _Processor(this.opts, this.hasWalkedCache);
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      // return a new Processor containing the subwalks for each
-      // child entry, and a set of matches, and
-      // a hasWalkedCache that's a copy of this one
-      // then we're going to call
-      filterEntries(parent, entries) {
-        const patterns = this.subwalks.get(parent);
-        const results = this.child();
-        for (const e of entries) {
-          for (const pattern of patterns) {
-            const absolute = pattern.isAbsolute();
-            const p = pattern.pattern();
-            const rest = pattern.rest();
-            if (p === minimatch_1.GLOBSTAR) {
-              results.testGlobstar(e, pattern, rest, absolute);
-            } else if (p instanceof RegExp) {
-              results.testRegExp(e, p, rest, absolute);
-            } else {
-              results.testString(e, p, rest, absolute);
-            }
-          }
-        }
-        return results;
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, new FakeWeakRef(dispatcher));
       }
-      testGlobstar(e, pattern, rest, absolute) {
-        if (this.dot || !e.name.startsWith(".")) {
-          if (!pattern.hasMore()) {
-            this.matches.add(e, absolute, false);
-          }
-          if (e.canReaddir()) {
-            if (this.follow || !e.isSymbolicLink()) {
-              this.subwalks.add(e, pattern);
-            } else if (e.isSymbolicLink()) {
-              if (rest && pattern.checkFollowGlobstar()) {
-                this.subwalks.add(e, rest);
-              } else if (pattern.markFollowGlobstar()) {
-                this.subwalks.add(e, pattern);
-              }
-            }
-          }
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const ref = this[kClients].get(origin);
+        if (ref) {
+          return ref.deref();
         }
-        if (rest) {
-          const rp = rest.pattern();
-          if (typeof rp === "string" && // dots and empty were handled already
-          rp !== ".." && rp !== "" && rp !== ".") {
-            this.testString(e, rp, rest.rest(), absolute);
-          } else if (rp === "..") {
-            const ep = e.parent || e;
-            this.subwalks.add(ep, rest);
-          } else if (rp instanceof RegExp) {
-            this.testRegExp(e, rp, rest.rest(), absolute);
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
+        }
+        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
+          const nonExplicitDispatcher = nonExplicitRef.deref();
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
         }
       }
-      testRegExp(e, p, rest, absolute) {
-        if (!p.test(e.name))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
-        }
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-      testString(e, p, rest, absolute) {
-        if (!e.isNamed(p))
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      }
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
           return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
         }
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    exports2.Processor = Processor;
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/glob/dist/commonjs/walker.js
-var require_walker = __commonJS({
-  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+// node_modules/undici/lib/proxy-agent.js
+var require_proxy_agent3 = __commonJS({
+  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
-    var minipass_1 = require_commonjs22();
-    var ignore_js_1 = require_ignore();
-    var processor_js_1 = require_processor();
-    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
-    var GlobUtil = class {
-      path;
-      patterns;
-      opts;
-      seen = /* @__PURE__ */ new Set();
-      paused = false;
-      aborted = false;
-      #onResume = [];
-      #ignore;
-      #sep;
-      signal;
-      maxDepth;
-      includeChildMatches;
-      constructor(patterns, path7, opts) {
-        this.patterns = patterns;
-        this.path = path7;
-        this.opts = opts;
-        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        if (opts.ignore || !this.includeChildMatches) {
-          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
-          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
-            const m = "cannot ignore child matches, ignore lacks add() method.";
-            throw new Error(m);
-          }
-        }
-        this.maxDepth = opts.maxDepth || Infinity;
-        if (opts.signal) {
-          this.signal = opts.signal;
-          this.signal.addEventListener("abort", () => {
-            this.#onResume.length = 0;
-          });
-        }
-      }
-      #ignored(path7) {
-        return this.seen.has(path7) || !!this.#ignore?.ignored?.(path7);
-      }
-      #childrenIgnored(path7) {
-        return !!this.#ignore?.childrenIgnored?.(path7);
-      }
-      // backpressure mechanism
-      pause() {
-        this.paused = true;
+    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols11();
+    var { URL: URL2 } = require("url");
+    var Agent = require_agent3();
+    var Pool = require_pool3();
+    var DispatcherBase = require_dispatcher_base3();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors6();
+    var buildConnector = require_connect3();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function buildProxyOptions(opts) {
+      if (typeof opts === "string") {
+        opts = { uri: opts };
       }
-      resume() {
-        if (this.signal?.aborted)
-          return;
-        this.paused = false;
-        let fn = void 0;
-        while (!this.paused && (fn = this.#onResume.shift())) {
-          fn();
-        }
+      if (!opts || !opts.uri) {
+        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
       }
-      onResume(fn) {
-        if (this.signal?.aborted)
-          return;
-        if (!this.paused) {
-          fn();
-        } else {
-          this.#onResume.push(fn);
+      return {
+        uri: opts.uri,
+        protocol: opts.protocol || "https"
+      };
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super(opts);
+        this[kProxy] = buildProxyOptions(opts);
+        this[kAgent] = new Agent(opts);
+        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        if (typeof opts === "string") {
+          opts = { uri: opts };
         }
-      }
-      // do the requisite realpath/stat checking, and return the path
-      // to add or undefined to filter it out.
-      async matchCheck(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || await e.realpath();
-          if (!rpc)
-            return void 0;
-          e = rpc;
+        if (!opts || !opts.uri) {
+          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
         }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? await e.lstat() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = await s.realpath();
-          if (target && (target.isUnknown() || this.opts.stat)) {
-            await target.lstat();
-          }
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        return this.matchCheckTest(s, ifDir);
-      }
-      matchCheckTest(e, ifDir) {
-        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
-      }
-      matchCheckSync(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || e.realpathSync();
-          if (!rpc)
-            return void 0;
-          e = rpc;
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        const resolvedUrl = new URL2(opts.uri);
+        const { origin, port, host, username, password } = resolvedUrl;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
         }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? e.lstatSync() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = s.realpathSync();
-          if (target && (target?.isUnknown() || this.opts.stat)) {
-            target.lstatSync();
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        this[kClient] = clientFactory(resolvedUrl, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          connect: async (opts2, callback) => {
+            let requestedHost = opts2.host;
+            if (!opts2.port) {
+              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedHost,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host
+                }
+              });
+              if (statusCode !== 200) {
+                socket.on("error", () => {
+                }).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              callback(err);
+            }
           }
-        }
-        return this.matchCheckTest(s, ifDir);
-      }
-      matchFinish(e, absolute) {
-        if (this.#ignored(e))
-          return;
-        if (!this.includeChildMatches && this.#ignore?.add) {
-          const ign = `${e.relativePosix()}/**`;
-          this.#ignore.add(ign);
-        }
-        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
-        this.seen.add(e);
-        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
-        if (this.opts.withFileTypes) {
-          this.matchEmit(e);
-        } else if (abs) {
-          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
-          this.matchEmit(abs2 + mark);
-        } else {
-          const rel = this.opts.posix ? e.relativePosix() : e.relative();
-          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
-          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
-        }
-      }
-      async match(e, absolute, ifDir) {
-        const p = await this.matchCheck(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+        });
       }
-      matchSync(e, absolute, ifDir) {
-        const p = this.matchCheckSync(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+      dispatch(opts, handler2) {
+        const { host } = new URL2(opts.origin);
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers: {
+              ...headers,
+              host
+            }
+          },
+          handler2
+        );
       }
-      walkCB(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      walkCB2(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
-          }
-          tasks++;
-          const childrenCached = t.readdirCached();
-          if (t.calledReaddir())
-            this.walkCB3(t, childrenCached, processor, next);
-          else {
-            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
-          }
-        }
-        next();
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-      walkCB3(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2(target2, patterns, processor.child(), next);
+    };
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
         }
-        next();
+        return headersPair;
       }
-      walkCBSync(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      return headers;
+    }
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
       }
-      walkCB2Sync(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
+    }
+    module2.exports = ProxyAgent;
+  }
+});
+
+// node_modules/undici/lib/handler/RetryHandler.js
+var require_RetryHandler = __commonJS({
+  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
+    var assert = require("assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols11();
+    var { RequestRetryError } = require_errors6();
+    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util24();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      const diff = new Date(retryAfter).getTime() - current;
+      return diff;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = dispatchOpts;
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          timeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "ECONNRESET",
+            "ECONNREFUSED",
+            "ENOTFOUND",
+            "ENETDOWN",
+            "ENETUNREACH",
+            "EHOSTDOWN",
+            "EHOSTUNREACH",
+            "EPIPE"
+          ]
         };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
+        this.retryCount = 0;
+        this.start = 0;
+        this.end = null;
+        this.etag = null;
+        this.resume = null;
+        this.handler.onConnect((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
           }
-          tasks++;
-          const children = t.readdirSync();
-          this.walkCB3Sync(t, children, processor, next);
-        }
-        next();
-      }
-      walkCB3Sync(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2Sync(target2, patterns, processor.child(), next);
-        }
-        next();
-      }
-    };
-    exports2.GlobUtil = GlobUtil;
-    var GlobWalker = class extends GlobUtil {
-      matches = /* @__PURE__ */ new Set();
-      constructor(patterns, path7, opts) {
-        super(patterns, path7, opts);
-      }
-      matchEmit(e) {
-        this.matches.add(e);
-      }
-      async walk() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          await this.path.lstat();
-        }
-        await new Promise((res, rej) => {
-          this.walkCB(this.path, this.patterns, () => {
-            if (this.signal?.aborted) {
-              rej(this.signal.reason);
-            } else {
-              res(this.matches);
-            }
-          });
         });
-        return this.matches;
       }
-      walkSync() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
-        this.walkCBSync(this.path, this.patterns, () => {
-          if (this.signal?.aborted)
-            throw this.signal.reason;
-        });
-        return this.matches;
-      }
-    };
-    exports2.GlobWalker = GlobWalker;
-    var GlobStream = class extends GlobUtil {
-      results;
-      constructor(patterns, path7, opts) {
-        super(patterns, path7, opts);
-        this.results = new minipass_1.Minipass({
-          signal: this.signal,
-          objectMode: true
-        });
-        this.results.on("drain", () => this.resume());
-        this.results.on("resume", () => this.resume());
       }
-      matchEmit(e) {
-        this.results.write(e);
-        if (!this.results.flowing)
-          this.pause();
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
+        }
       }
-      stream() {
-        const target = this.path;
-        if (target.isUnknown()) {
-          target.lstat().then(() => {
-            this.walkCB(target, this.patterns, () => this.results.end());
-          });
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
         } else {
-          this.walkCB(target, this.patterns, () => this.results.end());
+          this.abort = abort;
         }
-        return this.results;
       }
-      streamSync() {
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => this.results.end());
-        return this.results;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-    };
-    exports2.GlobStream = GlobStream;
-  }
-});
-
-// node_modules/glob/dist/commonjs/glob.js
-var require_glob2 = __commonJS({
-  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Glob = void 0;
-    var minimatch_1 = require_commonjs20();
-    var node_url_1 = require("node:url");
-    var path_scurry_1 = require_commonjs23();
-    var pattern_js_1 = require_pattern();
-    var walker_js_1 = require_walker();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Glob = class {
-      absolute;
-      cwd;
-      root;
-      dot;
-      dotRelative;
-      follow;
-      ignore;
-      magicalBraces;
-      mark;
-      matchBase;
-      maxDepth;
-      nobrace;
-      nocase;
-      nodir;
-      noext;
-      noglobstar;
-      pattern;
-      platform;
-      realpath;
-      scurry;
-      stat;
-      signal;
-      windowsPathsNoEscape;
-      withFileTypes;
-      includeChildMatches;
-      /**
-       * The options provided to the constructor.
-       */
-      opts;
-      /**
-       * An array of parsed immutable {@link Pattern} objects.
-       */
-      patterns;
-      /**
-       * All options are stored as properties on the `Glob` object.
-       *
-       * See {@link GlobOptions} for full options descriptions.
-       *
-       * Note that a previous `Glob` object can be passed as the
-       * `GlobOptions` to another `Glob` instantiation to re-use settings
-       * and caches with a new pattern.
-       *
-       * Traversal functions can be called multiple times to run the walk
-       * again.
-       */
-      constructor(pattern, opts) {
-        if (!opts)
-          throw new TypeError("glob options required");
-        this.withFileTypes = !!opts.withFileTypes;
-        this.signal = opts.signal;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.dotRelative = !!opts.dotRelative;
-        this.nodir = !!opts.nodir;
-        this.mark = !!opts.mark;
-        if (!opts.cwd) {
-          this.cwd = "";
-        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
-          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          timeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        let { counter, currentTimeout } = state;
+        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
+        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
+        }
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
         }
-        this.cwd = opts.cwd || "";
-        this.root = opts.root;
-        this.magicalBraces = !!opts.magicalBraces;
-        this.nobrace = !!opts.nobrace;
-        this.noext = !!opts.noext;
-        this.realpath = !!opts.realpath;
-        this.absolute = opts.absolute;
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        this.noglobstar = !!opts.noglobstar;
-        this.matchBase = !!opts.matchBase;
-        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
-        this.stat = !!opts.stat;
-        this.ignore = opts.ignore;
-        if (this.withFileTypes && this.absolute !== void 0) {
-          throw new Error("cannot set absolute and withFileTypes:true");
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
         }
-        if (typeof pattern === "string") {
-          pattern = [pattern];
+        if (counter > maxRetries) {
+          cb(err);
+          return;
         }
-        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
+        let retryAfterHeader = headers != null && headers["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
         }
-        if (this.matchBase) {
-          if (opts.noglobstar) {
-            throw new TypeError("base matching requires globstar");
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
+        state.currentTimeout = retryTimeout;
+        setTimeout(() => cb(null), retryTimeout);
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          this.abort(
+            new RequestRetryError("Request failed", statusCode, {
+              headers,
+              count: this.retryCount
+            })
+          );
+          return false;
+        }
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206) {
+            return true;
           }
-          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
         }
-        this.pattern = pattern;
-        this.platform = opts.platform || defaultPlatform;
-        this.opts = { ...opts, platform: this.platform };
-        if (opts.scurry) {
-          this.scurry = opts.scurry;
-          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
-            throw new Error("nocase option contradicts provided scurry option");
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
+            }
+            const { start, size, end = size } = range;
+            assert(
+              start != null && Number.isFinite(start) && this.start !== start,
+              "content-range mismatch"
+            );
+            assert(Number.isFinite(start));
+            assert(
+              end != null && Number.isFinite(end) && this.end !== end,
+              "invalid content-length"
+            );
+            this.start = start;
+            this.end = end;
           }
-        } else {
-          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
-          this.scurry = new Scurry(this.cwd, {
-            nocase: opts.nocase,
-            fs: opts.fs
-          });
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) : null;
+          }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
         }
-        this.nocase = this.scurry.nocase;
-        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
-        const mmo = {
-          // default nocase based on platform
-          ...opts,
-          dot: this.dot,
-          matchBase: this.matchBase,
-          nobrace: this.nobrace,
-          nocase: this.nocase,
-          nocaseMagicOnly,
-          nocomment: true,
-          noext: this.noext,
-          nonegate: true,
-          optimizationLevel: 2,
-          platform: this.platform,
-          windowsPathsNoEscape: this.windowsPathsNoEscape,
-          debug: !!this.opts.debug
-        };
-        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
-        const [matchSet, globParts] = mms.reduce((set2, m) => {
-          set2[0].push(...m.set);
-          set2[1].push(...m.globParts);
-          return set2;
-        }, [[], []]);
-        this.patterns = matchSet.map((set2, i) => {
-          const g = globParts[i];
-          if (!g)
-            throw new Error("invalid pattern object");
-          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          count: this.retryCount
         });
+        this.abort(err);
+        return false;
       }
-      async walk() {
-        return [
-          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walk()
-        ];
-      }
-      walkSync() {
-        return [
-          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walkSync()
-        ];
-      }
-      stream() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).stream();
-      }
-      streamSync() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).streamSync();
-      }
-      /**
-       * Default sync iteration function. Returns a Generator that
-       * iterates over the results.
-       */
-      iterateSync() {
-        return this.streamSync()[Symbol.iterator]();
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      /**
-       * Default async iteration function. Returns an AsyncGenerator that
-       * iterates over the results.
-       */
-      iterate() {
-        return this.stream()[Symbol.asyncIterator]();
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
+          },
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
+          }
+          if (this.start !== 0) {
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                range: `bytes=${this.start}-${this.end ?? ""}`
+              }
+            };
+          }
+          try {
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
+          }
+        }
       }
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/undici/lib/global.js
+var require_global6 = __commonJS({
+  "node_modules/undici/lib/global.js"(exports2, module2) {
+    "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors6();
+    var Agent = require_agent3();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
+    }
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
     };
-    exports2.Glob = Glob;
   }
 });
 
-// node_modules/glob/dist/commonjs/has-magic.js
-var require_has_magic = __commonJS({
-  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+// node_modules/undici/lib/handler/DecoratorHandler.js
+var require_DecoratorHandler = __commonJS({
+  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hasMagic = void 0;
-    var minimatch_1 = require_commonjs20();
-    var hasMagic = (pattern, options = {}) => {
-      if (!Array.isArray(pattern)) {
-        pattern = [pattern];
+    module2.exports = class DecoratorHandler {
+      constructor(handler2) {
+        this.handler = handler2;
       }
-      for (const p of pattern) {
-        if (new minimatch_1.Minimatch(p, options).hasMagic())
-          return true;
+      onConnect(...args) {
+        return this.handler.onConnect(...args);
+      }
+      onError(...args) {
+        return this.handler.onError(...args);
+      }
+      onUpgrade(...args) {
+        return this.handler.onUpgrade(...args);
+      }
+      onHeaders(...args) {
+        return this.handler.onHeaders(...args);
+      }
+      onData(...args) {
+        return this.handler.onData(...args);
+      }
+      onComplete(...args) {
+        return this.handler.onComplete(...args);
+      }
+      onBodySent(...args) {
+        return this.handler.onBodySent(...args);
       }
-      return false;
     };
-    exports2.hasMagic = hasMagic;
   }
 });
 
-// node_modules/glob/dist/commonjs/index.js
-var require_commonjs24 = __commonJS({
-  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/headers.js
+var require_headers4 = __commonJS({
+  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
-    exports2.globStreamSync = globStreamSync;
-    exports2.globStream = globStream;
-    exports2.globSync = globSync;
-    exports2.globIterateSync = globIterateSync;
-    exports2.globIterate = globIterate;
-    var minimatch_1 = require_commonjs20();
-    var glob_js_1 = require_glob2();
-    var has_magic_js_1 = require_has_magic();
-    var minimatch_2 = require_commonjs20();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return minimatch_2.escape;
-    } });
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return minimatch_2.unescape;
-    } });
-    var glob_js_2 = require_glob2();
-    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
-      return glob_js_2.Glob;
-    } });
-    var has_magic_js_2 = require_has_magic();
-    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
-      return has_magic_js_2.hasMagic;
-    } });
-    var ignore_js_1 = require_ignore();
-    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
-      return ignore_js_1.Ignore;
-    } });
-    function globStreamSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).streamSync();
-    }
-    function globStream(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).stream();
-    }
-    function globSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walkSync();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var { kGuard } = require_symbols12();
+    var { kEnumerableProperty } = require_util24();
+    var {
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util25();
+    var util = require("util");
+    var { webidl } = require_webidl3();
+    var assert = require("assert");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
     }
-    async function glob_(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walk();
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
+      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
     }
-    function globIterateSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterateSync();
+    function fill(headers, object) {
+      if (Array.isArray(object)) {
+        for (let i = 0; i < object.length; ++i) {
+          const header = object[i];
+          if (header.length !== 2) {
+            throw webidl.errors.exception({
+              header: "Headers constructor",
+              message: `expected name/value pair to be length 2, found ${header.length}.`
+            });
+          }
+          appendHeader(headers, header[0], header[1]);
+        }
+      } else if (typeof object === "object" && object !== null) {
+        const keys = Object.keys(object);
+        for (let i = 0; i < keys.length; ++i) {
+          appendHeader(headers, keys[i], object[keys[i]]);
+        }
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
+      }
     }
-    function globIterate(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterate();
+    function appendHeader(headers, name, value) {
+      value = headerValueNormalize(value);
+      if (!isValidHeaderName(name)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value: name,
+          type: "header name"
+        });
+      } else if (!isValidHeaderValue(value)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value,
+          type: "header value"
+        });
+      }
+      if (headers[kGuard] === "immutable") {
+        throw new TypeError("immutable");
+      } else if (headers[kGuard] === "request-no-cors") {
+      }
+      return headers[kHeadersList].append(name, value);
     }
-    exports2.streamSync = globStreamSync;
-    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
-    exports2.iterateSync = globIterateSync;
-    exports2.iterate = Object.assign(globIterate, {
-      sync: globIterateSync
-    });
-    exports2.sync = Object.assign(globSync, {
-      stream: globStreamSync,
-      iterate: globIterateSync
-    });
-    exports2.glob = Object.assign(glob_, {
-      glob: glob_,
-      globSync,
-      sync: exports2.sync,
-      globStream,
-      stream: exports2.stream,
-      globStreamSync,
-      streamSync: exports2.streamSync,
-      globIterate,
-      iterate: exports2.iterate,
-      globIterateSync,
-      iterateSync: exports2.iterateSync,
-      Glob: glob_js_1.Glob,
-      hasMagic: has_magic_js_1.hasMagic,
-      escape: minimatch_1.escape,
-      unescape: minimatch_1.unescape
-    });
-    exports2.glob.glob = exports2.glob;
-  }
-});
-
-// node_modules/archiver-utils/file.js
-var require_file4 = __commonJS({
-  "node_modules/archiver-utils/file.js"(exports2, module2) {
-    var fs8 = require_graceful_fs();
-    var path7 = require("path");
-    var flatten = require_flatten();
-    var difference = require_difference();
-    var union = require_union();
-    var isPlainObject3 = require_isPlainObject();
-    var glob2 = require_commonjs24();
-    var file = module2.exports = {};
-    var pathSeparatorRe = /[\/\\]/g;
-    var processPatterns = function(patterns, fn) {
-      var result = [];
-      flatten(patterns).forEach(function(pattern) {
-        var exclusion = pattern.indexOf("!") === 0;
-        if (exclusion) {
-          pattern = pattern.slice(1);
-        }
-        var matches = fn(pattern);
-        if (exclusion) {
-          result = difference(result, matches);
+    var HeadersList = class _HeadersList {
+      /** @type {[string, string][]|null} */
+      cookies = null;
+      constructor(init) {
+        if (init instanceof _HeadersList) {
+          this[kHeadersMap] = new Map(init[kHeadersMap]);
+          this[kHeadersSortedMap] = init[kHeadersSortedMap];
+          this.cookies = init.cookies === null ? null : [...init.cookies];
         } else {
-          result = union(result, matches);
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
         }
-      });
-      return result;
-    };
-    file.exists = function() {
-      var filepath = path7.join.apply(path7, arguments);
-      return fs8.existsSync(filepath);
-    };
-    file.expand = function(...args) {
-      var options = isPlainObject3(args[0]) ? args.shift() : {};
-      var patterns = Array.isArray(args[0]) ? args[0] : args;
-      if (patterns.length === 0) {
-        return [];
       }
-      var matches = processPatterns(patterns, function(pattern) {
-        return glob2.sync(pattern, options);
-      });
-      if (options.filter) {
-        matches = matches.filter(function(filepath) {
-          filepath = path7.join(options.cwd || "", filepath);
-          try {
-            if (typeof options.filter === "function") {
-              return options.filter(filepath);
-            } else {
-              return fs8.statSync(filepath)[options.filter]();
-            }
-          } catch (e) {
-            return false;
-          }
-        });
+      // https://fetch.spec.whatwg.org/#header-list-contains
+      contains(name) {
+        name = name.toLowerCase();
+        return this[kHeadersMap].has(name);
       }
-      return matches;
-    };
-    file.expandMapping = function(patterns, destBase, options) {
-      options = Object.assign({
-        rename: function(destBase2, destPath) {
-          return path7.join(destBase2 || "", destPath);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-append
+      append(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
+          });
+        } else {
+          this[kHeadersMap].set(lowercaseName, { name, value });
         }
-      }, options);
-      var files = [];
-      var fileByDest = {};
-      file.expand(options, patterns).forEach(function(src) {
-        var destPath = src;
-        if (options.flatten) {
-          destPath = path7.basename(destPath);
+        if (lowercaseName === "set-cookie") {
+          this.cookies ??= [];
+          this.cookies.push(value);
         }
-        if (options.ext) {
-          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-set
+      set(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
         }
-        var dest = options.rename(destBase, destPath, options);
-        if (options.cwd) {
-          src = path7.join(options.cwd, src);
+        this[kHeadersMap].set(lowercaseName, { name, value });
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-delete
+      delete(name) {
+        this[kHeadersSortedMap] = null;
+        name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
         }
-        dest = dest.replace(pathSeparatorRe, "/");
-        src = src.replace(pathSeparatorRe, "/");
-        if (fileByDest[dest]) {
-          fileByDest[dest].src.push(src);
-        } else {
-          files.push({
-            src: [src],
-            dest
-          });
-          fileByDest[dest] = files[files.length - 1];
+        this[kHeadersMap].delete(name);
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-get
+      get(name) {
+        const value = this[kHeadersMap].get(name.toLowerCase());
+        return value === void 0 ? null : value.value;
+      }
+      *[Symbol.iterator]() {
+        for (const [name, { value }] of this[kHeadersMap]) {
+          yield [name, value];
         }
-      });
-      return files;
-    };
-    file.normalizeFilesArray = function(data) {
-      var files = [];
-      data.forEach(function(obj) {
-        var prop;
-        if ("src" in obj || "dest" in obj) {
-          files.push(obj);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
+          }
         }
-      });
-      if (files.length === 0) {
-        return [];
+        return headers;
       }
-      files = _(files).chain().forEach(function(obj) {
-        if (!("src" in obj) || !obj.src) {
+    };
+    var Headers = class _Headers {
+      constructor(init = void 0) {
+        if (init === kConstruct) {
           return;
         }
-        if (Array.isArray(obj.src)) {
-          obj.src = flatten(obj.src);
-        } else {
-          obj.src = [obj.src];
+        this[kHeadersList] = new HeadersList();
+        this[kGuard] = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init);
+          fill(this, init);
         }
-      }).map(function(obj) {
-        var expandOptions = Object.assign({}, obj);
-        delete expandOptions.src;
-        delete expandOptions.dest;
-        if (obj.expand) {
-          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
-            var result2 = Object.assign({}, obj);
-            result2.orig = Object.assign({}, obj);
-            result2.src = mapObj.src;
-            result2.dest = mapObj.dest;
-            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
-              delete result2[prop];
-            });
-            return result2;
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
           });
         }
-        var result = Object.assign({}, obj);
-        result.orig = Object.assign({}, obj);
-        if ("src" in result) {
-          Object.defineProperty(result, "src", {
-            enumerable: true,
-            get: function fn() {
-              var src;
-              if (!("result" in fn)) {
-                src = obj.src;
-                src = Array.isArray(src) ? flatten(src) : [src];
-                fn.result = file.expand(expandOptions, src);
-              }
-              return fn.result;
-            }
-          });
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
         }
-        if ("dest" in result) {
-          result.dest = obj.dest;
+        if (!this[kHeadersList].contains(name)) {
+          return;
         }
-        return result;
-      }).flatten().value();
-      return files;
-    };
-  }
-});
-
-// node_modules/archiver-utils/index.js
-var require_archiver_utils = __commonJS({
-  "node_modules/archiver-utils/index.js"(exports2, module2) {
-    var fs8 = require_graceful_fs();
-    var path7 = require("path");
-    var isStream = require_is_stream();
-    var lazystream = require_lazystream();
-    var normalizePath = require_normalize_path();
-    var defaults = require_defaults();
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var utils = module2.exports = {};
-    utils.file = require_file4();
-    utils.collectStream = function(source, callback) {
-      var collection = [];
-      var size = 0;
-      source.on("error", callback);
-      source.on("data", function(chunk) {
-        collection.push(chunk);
-        size += chunk.length;
-      });
-      source.on("end", function() {
-        var buf = Buffer.alloc(size);
-        var offset = 0;
-        collection.forEach(function(data) {
-          data.copy(buf, offset);
-          offset += data.length;
-        });
-        callback(null, buf);
-      });
-    };
-    utils.dateify = function(dateish) {
-      dateish = dateish || /* @__PURE__ */ new Date();
-      if (dateish instanceof Date) {
-        dateish = dateish;
-      } else if (typeof dateish === "string") {
-        dateish = new Date(dateish);
-      } else {
-        dateish = /* @__PURE__ */ new Date();
-      }
-      return dateish;
-    };
-    utils.defaults = function(object, source, guard) {
-      var args = arguments;
-      args[0] = args[0] || {};
-      return defaults(...args);
-    };
-    utils.isStream = function(source) {
-      return isStream(source);
-    };
-    utils.lazyReadStream = function(filepath) {
-      return new lazystream.Readable(function() {
-        return fs8.createReadStream(filepath);
-      });
-    };
-    utils.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (utils.isStream(source)) {
-        return source.pipe(new PassThrough());
+        this[kHeadersList].delete(name);
       }
-      return source;
-    };
-    utils.sanitizePath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-    };
-    utils.trailingSlashIt = function(str2) {
-      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
-    };
-    utils.unixifyPath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "");
-    };
-    utils.walkdir = function(dirpath, base, callback) {
-      var results = [];
-      if (typeof base === "function") {
-        callback = base;
-        base = dirpath;
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.get",
+            value: name,
+            type: "header name"
+          });
+        }
+        return this[kHeadersList].get(name);
       }
-      fs8.readdir(dirpath, function(err, list) {
-        var i = 0;
-        var file;
-        var filepath;
-        if (err) {
-          return callback(err);
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.has",
+            value: name,
+            type: "header name"
+          });
         }
-        (function next() {
-          file = list[i++];
-          if (!file) {
-            return callback(null, results);
-          }
-          filepath = path7.join(dirpath, file);
-          fs8.stat(filepath, function(err2, stats) {
-            results.push({
-              path: filepath,
-              relative: path7.relative(base, filepath).replace(/\\/g, "/"),
-              stats
-            });
-            if (stats && stats.isDirectory()) {
-              utils.walkdir(filepath, base, function(err3, res) {
-                if (err3) {
-                  return callback(err3);
-                }
-                res.forEach(function(dirEntry) {
-                  results.push(dirEntry);
-                });
-                next();
-              });
-            } else {
-              next();
-            }
+        return this[kHeadersList].contains(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value: name,
+            type: "header name"
           });
-        })();
-      });
-    };
-  }
-});
-
-// node_modules/archiver/lib/error.js
-var require_error3 = __commonJS({
-  "node_modules/archiver/lib/error.js"(exports2, module2) {
-    var util = require("util");
-    var ERROR_CODES = {
-      "ABORTED": "archive was aborted",
-      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
-      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
-      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
-      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
-      "FINALIZING": "archive already finalizing",
-      "QUEUECLOSED": "queue closed",
-      "NOENDMETHOD": "no suitable finalize/end method defined by module",
-      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
-      "FORMATSET": "archive format already set",
-      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
-      "MODULESET": "module already set",
-      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
-      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
-      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
-      "ENTRYNOTSUPPORTED": "entry not supported"
-    };
-    function ArchiverError(code, data) {
-      Error.captureStackTrace(this, this.constructor);
-      this.message = ERROR_CODES[code] || code;
-      this.code = code;
-      this.data = data;
-    }
-    util.inherits(ArchiverError, Error);
-    exports2 = module2.exports = ArchiverError;
-  }
-});
-
-// node_modules/archiver/lib/core.js
-var require_core2 = __commonJS({
-  "node_modules/archiver/lib/core.js"(exports2, module2) {
-    var fs8 = require("fs");
-    var glob2 = require_readdir_glob();
-    var async = require_async();
-    var path7 = require("path");
-    var util = require_archiver_utils();
-    var inherits = require("util").inherits;
-    var ArchiverError = require_error3();
-    var Transform = require_ours().Transform;
-    var win32 = process.platform === "win32";
-    var Archiver = function(format, options) {
-      if (!(this instanceof Archiver)) {
-        return new Archiver(format, options);
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value,
+            type: "header value"
+          });
+        }
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
+        }
+        this[kHeadersList].set(name, value);
       }
-      if (typeof format !== "string") {
-        options = format;
-        format = "zip";
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this[kHeadersList].cookies;
+        if (list) {
+          return [...list];
+        }
+        return [];
       }
-      options = this.options = util.defaults(options, {
-        highWaterMark: 1024 * 1024,
-        statConcurrency: 4
-      });
-      Transform.call(this, options);
-      this._format = false;
-      this._module = false;
-      this._pending = 0;
-      this._pointer = 0;
-      this._entriesCount = 0;
-      this._entriesProcessedCount = 0;
-      this._fsEntriesTotalBytes = 0;
-      this._fsEntriesProcessedBytes = 0;
-      this._queue = async.queue(this._onQueueTask.bind(this), 1);
-      this._queue.drain(this._onQueueDrain.bind(this));
-      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
-      this._statQueue.drain(this._onQueueDrain.bind(this));
-      this._state = {
-        aborted: false,
-        finalize: false,
-        finalizing: false,
-        finalized: false,
-        modulePiped: false
-      };
-      this._streams = [];
-    };
-    inherits(Archiver, Transform);
-    Archiver.prototype._abort = function() {
-      this._state.aborted = true;
-      this._queue.kill();
-      this._statQueue.kill();
-      if (this._queue.idle()) {
-        this._shutdown();
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this[kHeadersList][kHeadersSortedMap]) {
+          return this[kHeadersList][kHeadersSortedMap];
+        }
+        const headers = [];
+        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
+        const cookies = this[kHeadersList].cookies;
+        for (let i = 0; i < names.length; ++i) {
+          const [name, value] = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
+            }
+          } else {
+            assert(value !== null);
+            headers.push([name, value]);
+          }
+        }
+        this[kHeadersList][kHeadersSortedMap] = headers;
+        return headers;
       }
-    };
-    Archiver.prototype._append = function(filepath, data) {
-      data = data || {};
-      var task = {
-        source: null,
-        filepath
-      };
-      if (!data.name) {
-        data.name = filepath;
+      keys() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key"
+        );
       }
-      data.sourcePath = filepath;
-      task.data = data;
-      this._entriesCount++;
-      if (data.stats && data.stats instanceof fs8.Stats) {
-        task = this._updateQueueTaskWithStats(task, data.stats);
-        if (task) {
-          if (data.stats.size) {
-            this._fsEntriesTotalBytes += data.stats.size;
-          }
-          this._queue.push(task);
+      values() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "value"
+          );
         }
-      } else {
-        this._statQueue.push(task);
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "value"
+        );
       }
-    };
-    Archiver.prototype._finalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      entries() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key+value"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key+value"
+        );
       }
-      this._state.finalizing = true;
-      this._moduleFinalize();
-      this._state.finalizing = false;
-      this._state.finalized = true;
-    };
-    Archiver.prototype._maybeFinalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return false;
+      /**
+       * @param {(value: string, key: string, self: Headers) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
-        return true;
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
+        webidl.brandCheck(this, _Headers);
+        return this[kHeadersList];
       }
-      return false;
     };
-    Archiver.prototype._moduleAppend = function(source, data, callback) {
-      if (this._state.aborted) {
-        callback();
-        return;
+    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      keys: kEnumerableProperty,
+      values: kEnumerableProperty,
+      entries: kEnumerableProperty,
+      forEach: kEnumerableProperty,
+      [Symbol.iterator]: { enumerable: false },
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-      this._module.append(source, data, function(err) {
-        this._task = null;
-        if (this._state.aborted) {
-          this._shutdown();
-          return;
-        }
-        if (err) {
-          this.emit("error", err);
-          setImmediate(callback);
-          return;
-        }
-        this.emit("entry", data);
-        this._entriesProcessedCount++;
-        if (data.stats && data.stats.size) {
-          this._fsEntriesProcessedBytes += data.stats.size;
+    });
+    webidl.converters.HeadersInit = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (V[Symbol.iterator]) {
+          return webidl.converters["sequence>"](V);
         }
-        this.emit("progress", {
-          entries: {
-            total: this._entriesCount,
-            processed: this._entriesProcessedCount
-          },
-          fs: {
-            totalBytes: this._fsEntriesTotalBytes,
-            processedBytes: this._fsEntriesProcessedBytes
-          }
-        });
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._moduleFinalize = function() {
-      if (typeof this._module.finalize === "function") {
-        this._module.finalize();
-      } else if (typeof this._module.end === "function") {
-        this._module.end();
-      } else {
-        this.emit("error", new ArchiverError("NOENDMETHOD"));
+        return webidl.converters["record"](V);
       }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
     };
-    Archiver.prototype._modulePipe = function() {
-      this._module.on("error", this._onModuleError.bind(this));
-      this._module.pipe(this);
-      this._state.modulePiped = true;
+    module2.exports = {
+      fill,
+      Headers,
+      HeadersList
     };
-    Archiver.prototype._moduleSupports = function(key) {
-      if (!this._module.supports || !this._module.supports[key]) {
-        return false;
+  }
+});
+
+// node_modules/undici/lib/fetch/response.js
+var require_response4 = __commonJS({
+  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+    "use strict";
+    var { Headers, HeadersList, fill } = require_headers4();
+    var { extractBody, cloneBody, mixinBody } = require_body3();
+    var util = require_util24();
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode
+    } = require_util25();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      DOMException: DOMException2
+    } = require_constants21();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { FormData: FormData2 } = require_formdata3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { types } = require("util");
+    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kState] = makeNetworkError();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        return responseObject;
       }
-      return this._module.supports[key];
-    };
-    Archiver.prototype._moduleUnpipe = function() {
-      this._module.unpipe(this);
-      this._state.modulePiped = false;
-    };
-    Archiver.prototype._normalizeEntryData = function(data, stats) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        date: null,
-        mode: null,
-        prefix: null,
-        sourcePath: null,
-        stats: false
-      });
-      if (stats && data.stats === false) {
-        data.stats = stats;
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
+        }
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "response";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
       }
-      var isDir = data.type === "directory";
-      if (data.name) {
-        if (typeof data.prefix === "string" && "" !== data.prefix) {
-          data.name = data.prefix + "/" + data.name;
-          data.prefix = null;
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        const relevantRealm = { settingsObject: {} };
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, getGlobalOrigin());
+        } catch (err) {
+          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
+            cause: err
+          });
         }
-        data.name = util.sanitizePath(data.name);
-        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError("Invalid status code " + status);
         }
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value);
+        return responseObject;
       }
-      if (typeof data.mode === "number") {
-        if (win32) {
-          data.mode &= 511;
-        } else {
-          data.mode &= 4095;
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
         }
-      } else if (data.stats && data.mode === null) {
-        if (win32) {
-          data.mode = data.stats.mode & 511;
-        } else {
-          data.mode = data.stats.mode & 4095;
+        init = webidl.converters.ResponseInit(init);
+        this[kRealm] = { settingsObject: {} };
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kGuard] = "response";
+        this[kHeaders][kHeadersList] = this[kState].headersList;
+        this[kHeaders][kRealm] = this[kRealm];
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
-        if (win32 && isDir) {
-          data.mode = 493;
+        initializeResponse(this, init, bodyWithType);
+      }
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
+      }
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url = urlList[urlList.length - 1] ?? null;
+        if (url === null) {
+          return "";
         }
-      } else if (data.mode === null) {
-        data.mode = isDir ? 493 : 420;
+        return URLSerializer(url, true);
       }
-      if (data.stats && data.date === null) {
-        data.date = data.stats.mtime;
-      } else {
-        data.date = util.dateify(data.date);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      return data;
-    };
-    Archiver.prototype._onModuleError = function(err) {
-      this.emit("error", err);
-    };
-    Archiver.prototype._onQueueDrain = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-    };
-    Archiver.prototype._onQueueTask = function(task, callback) {
-      var fullCallback = () => {
-        if (task.data.callback) {
-          task.data.callback();
-        }
-        callback();
-      };
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        fullCallback();
-        return;
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      this._task = task;
-      this._moduleAppend(task.source, task.data, fullCallback);
-    };
-    Archiver.prototype._onStatQueueTask = function(task, callback) {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        callback();
-        return;
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-      fs8.lstat(task.filepath, function(err, stats) {
-        if (this._state.aborted) {
-          setImmediate(callback);
-          return;
-        }
-        if (err) {
-          this._entriesCount--;
-          this.emit("warning", err);
-          setImmediate(callback);
-          return;
-        }
-        task = this._updateQueueTaskWithStats(task, stats);
-        if (task) {
-          if (stats.size) {
-            this._fsEntriesTotalBytes += stats.size;
-          }
-          this._queue.push(task);
-        }
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._shutdown = function() {
-      this._moduleUnpipe();
-      this.end();
-    };
-    Archiver.prototype._transform = function(chunk, encoding, callback) {
-      if (chunk) {
-        this._pointer += chunk.length;
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      callback(null, chunk);
-    };
-    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
-      if (stats.isFile()) {
-        task.data.type = "file";
-        task.data.sourceType = "stream";
-        task.source = util.lazyReadStream(task.filepath);
-      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
-        task.data.name = util.trailingSlashIt(task.data.name);
-        task.data.type = "directory";
-        task.data.sourcePath = util.trailingSlashIt(task.filepath);
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
-        var linkPath = fs8.readlinkSync(task.filepath);
-        var dirName = path7.dirname(task.filepath);
-        task.data.type = "symlink";
-        task.data.linkname = path7.relative(dirName, path7.resolve(dirName, linkPath));
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else {
-        if (stats.isDirectory()) {
-          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
-        } else if (stats.isSymbolicLink()) {
-          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
-        } else {
-          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
-        }
-        return null;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      task.data = this._normalizeEntryData(task.data, stats);
-      return task;
-    };
-    Archiver.prototype.abort = function() {
-      if (this._state.aborted || this._state.finalized) {
-        return this;
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (this.bodyUsed || this.body && this.body.locked) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
+        }
+        const clonedResponse = cloneResponse(this[kState]);
+        const clonedResponseObject = new _Response();
+        clonedResponseObject[kState] = clonedResponse;
+        clonedResponseObject[kRealm] = this[kRealm];
+        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
+        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        return clonedResponseObject;
       }
-      this._abort();
-      return this;
     };
-    Archiver.prototype.append = function(source, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
-      }
-      data = this._normalizeEntryData(data);
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
-        return this;
+    mixinBody(Response);
+    Object.defineProperties(Response.prototype, {
+      type: kEnumerableProperty,
+      url: kEnumerableProperty,
+      status: kEnumerableProperty,
+      ok: kEnumerableProperty,
+      redirected: kEnumerableProperty,
+      statusText: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Response",
+        configurable: true
       }
-      if (data.type === "directory" && !this._moduleSupports("directory")) {
-        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
-        return this;
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        data.sourceType = "buffer";
-      } else if (util.isStream(source)) {
-        data.sourceType = "stream";
-      } else {
-        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
-        return this;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(response.body);
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source
+      return newResponse;
+    }
+    function makeResponse(init) {
+      return {
+        aborted: false,
+        rangeRequested: false,
+        timingAllowPassed: false,
+        requestIncludesCredentials: false,
+        type: "default",
+        status: 200,
+        timingInfo: null,
+        cacheState: "",
+        statusText: "",
+        ...init,
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
+        urlList: init.urlList ? [...init.urlList] : []
+      };
+    }
+    function makeNetworkError(reason) {
+      const isError = isErrorLike(reason);
+      return makeResponse({
+        type: "error",
+        status: 0,
+        error: isError ? reason : new Error(reason ? String(reason) : reason),
+        aborted: reason && reason.name === "AbortError"
       });
-      return this;
-    };
-    Archiver.prototype.directory = function(dirpath, destpath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    function makeFilteredResponse(response, state) {
+      state = {
+        internalResponse: response,
+        ...state
+      };
+      return new Proxy(response, {
+        get(target, p) {
+          return p in state ? state[p] : target[p];
+        },
+        set(target, p, value) {
+          assert(!(p in state));
+          target[p] = value;
+          return true;
+        }
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
+      } else {
+        assert(false);
       }
-      if (typeof dirpath !== "string" || dirpath.length === 0) {
-        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
-        return this;
+    }
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+    }
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      this._pending++;
-      if (destpath === false) {
-        destpath = "";
-      } else if (typeof destpath !== "string") {
-        destpath = dirpath;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      var dataFunction = false;
-      if (typeof data === "function") {
-        dataFunction = data;
-        data = {};
-      } else if (typeof data !== "object") {
-        data = {};
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      var globOptions = {
-        stat: true,
-        dot: true
-      };
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var ignoreMatch = false;
-        var entryData = Object.assign({}, data);
-        entryData.name = match.relative;
-        entryData.prefix = destpath;
-        entryData.stats = match.stat;
-        entryData.callback = globber.resume.bind(globber);
-        try {
-          if (dataFunction) {
-            entryData = dataFunction(entryData);
-            if (entryData === false) {
-              ignoreMatch = true;
-            } else if (typeof entryData !== "object") {
-              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
-            }
-          }
-        } catch (e) {
-          this.emit("error", e);
-          return;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: "Invalid response status code " + response.status
+          });
         }
-        if (ignoreMatch) {
-          globber.resume();
-          return;
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
+          response[kState].headersList.append("content-type", body.type);
         }
-        this._append(match.absolute, entryData);
       }
-      var globber = glob2(dirpath, globOptions);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
-    };
-    Archiver.prototype.file = function(filepath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream2
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
-        return this;
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, { strict: false });
       }
-      this._append(filepath, data);
-      return this;
+      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
+        return webidl.converters.BufferSource(V);
+      }
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, { strict: false });
+      }
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V);
+      }
+      return webidl.converters.DOMString(V);
     };
-    Archiver.prototype.glob = function(pattern, options, data) {
-      this._pending++;
-      options = util.defaults(options, {
-        stat: true,
-        pattern
-      });
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+    webidl.converters.BodyInit = function(V) {
+      if (V instanceof ReadableStream2) {
+        return webidl.converters.ReadableStream(V);
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var entryData = Object.assign({}, data);
-        entryData.callback = globber.resume.bind(globber);
-        entryData.stats = match.stat;
-        entryData.name = match.relative;
-        this._append(match.absolute, entryData);
+      return webidl.converters.XMLHttpRequestBodyInit(V);
+    };
+    webidl.converters.ResponseInit = webidl.dictionaryConverter([
+      {
+        key: "status",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: 200
+      },
+      {
+        key: "statusText",
+        converter: webidl.converters.ByteString,
+        defaultValue: ""
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      }
+    ]);
+    module2.exports = {
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/request.js
+var require_request6 = __commonJS({
+  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+    "use strict";
+    var { extractBody, mixinBody, cloneBody } = require_body3();
+    var { Headers, fill: fillHeaders, HeadersList } = require_headers4();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var util = require_util24();
+    var {
+      isValidHTTPToken,
+      sameOrigin,
+      normalizeMethod,
+      makePolicyContainer,
+      normalizeMethodRecord
+    } = require_util25();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants21();
+    var { kEnumerableProperty } = util;
+    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
+    var TransformStream2 = globalThis.TransformStream;
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        if (input === kConstruct) {
+          return;
+        }
+        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
+        input = webidl.converters.RequestInfo(input);
+        init = webidl.converters.RequestInit(init);
+        this[kRealm] = {
+          settingsObject: {
+            baseUrl: getGlobalOrigin(),
+            get origin() {
+              return this.baseUrl?.origin;
+            },
+            policyContainer: makePolicyContainer()
+          }
+        };
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = this[kRealm].settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } catch (err) {
+            throw new TypeError("Failed to parse URL from " + input, { cause: err });
+          }
+          if (parsedURL.username || parsedURL.password) {
+            throw new TypeError(
+              "Request cannot be constructed from a URL that includes credentials: " + input
+            );
+          }
+          request2 = makeRequest({ urlList: [parsedURL] });
+          fallbackMode = "cors";
+        } else {
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
+        }
+        const origin = this[kRealm].settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
+        }
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
+        }
+        if ("window" in init) {
+          window2 = "no-window";
+        }
+        request2 = makeRequest({
+          // URL request’s URL.
+          // undici implementation note: this is set as the first item in request's urlList in makeRequest
+          // method request’s method.
+          method: request2.method,
+          // header list A copy of request’s header list.
+          // undici implementation note: headersList is cloned in makeRequest
+          headersList: request2.headersList,
+          // unsafe-request flag Set.
+          unsafeRequest: request2.unsafeRequest,
+          // client This’s relevant settings object.
+          client: this[kRealm].settingsObject,
+          // window window.
+          window: window2,
+          // priority request’s priority.
+          priority: request2.priority,
+          // origin request’s origin. The propagation of the origin is only significant for navigation requests
+          // being handled by a service worker. In this scenario a request can have an origin that is different
+          // from the current client.
+          origin: request2.origin,
+          // referrer request’s referrer.
+          referrer: request2.referrer,
+          // referrer policy request’s referrer policy.
+          referrerPolicy: request2.referrerPolicy,
+          // mode request’s mode.
+          mode: request2.mode,
+          // credentials mode request’s credentials mode.
+          credentials: request2.credentials,
+          // cache mode request’s cache mode.
+          cache: request2.cache,
+          // redirect mode request’s redirect mode.
+          redirect: request2.redirect,
+          // integrity metadata request’s integrity metadata.
+          integrity: request2.integrity,
+          // keepalive request’s keepalive.
+          keepalive: request2.keepalive,
+          // reload-navigation flag request’s reload-navigation flag.
+          reloadNavigation: request2.reloadNavigation,
+          // history-navigation flag request’s history-navigation flag.
+          historyNavigation: request2.historyNavigation,
+          // URL list A clone of request’s URL list.
+          urlList: [...request2.urlList]
+        });
+        const initHasKey = Object.keys(init).length !== 0;
+        if (initHasKey) {
+          if (request2.mode === "navigate") {
+            request2.mode = "same-origin";
+          }
+          request2.reloadNavigation = false;
+          request2.historyNavigation = false;
+          request2.origin = "client";
+          request2.referrer = "client";
+          request2.referrerPolicy = "";
+          request2.url = request2.urlList[request2.urlList.length - 1];
+          request2.urlList = [request2.url];
+        }
+        if (init.referrer !== void 0) {
+          const referrer = init.referrer;
+          if (referrer === "") {
+            request2.referrer = "no-referrer";
+          } else {
+            let parsedReferrer;
+            try {
+              parsedReferrer = new URL(referrer, baseUrl);
+            } catch (err) {
+              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
+            }
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
+              request2.referrer = "client";
+            } else {
+              request2.referrer = parsedReferrer;
+            }
+          }
+        }
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
+        }
+        let mode;
+        if (init.mode !== void 0) {
+          mode = init.mode;
+        } else {
+          mode = fallbackMode;
+        }
+        if (mode === "navigate") {
+          throw webidl.errors.exception({
+            header: "Request constructor",
+            message: "invalid request mode navigate."
+          });
+        }
+        if (mode != null) {
+          request2.mode = mode;
+        }
+        if (init.credentials !== void 0) {
+          request2.credentials = init.credentials;
+        }
+        if (init.cache !== void 0) {
+          request2.cache = init.cache;
+        }
+        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
+          throw new TypeError(
+            "'only-if-cached' can be set only with 'same-origin' mode"
+          );
+        }
+        if (init.redirect !== void 0) {
+          request2.redirect = init.redirect;
+        }
+        if (init.integrity != null) {
+          request2.integrity = String(init.integrity);
+        }
+        if (init.keepalive !== void 0) {
+          request2.keepalive = Boolean(init.keepalive);
+        }
+        if (init.method !== void 0) {
+          let method = init.method;
+          if (!isValidHTTPToken(method)) {
+            throw new TypeError(`'${method}' is not a valid HTTP method.`);
+          }
+          if (forbiddenMethodsSet.has(method.toUpperCase())) {
+            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          }
+          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
+          request2.method = method;
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        this[kSignal][kRealm] = this[kRealm];
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            throw new TypeError(
+              "Failed to construct 'Request': member signal is not of type AbortSignal."
+            );
+          }
+          if (signal.aborted) {
+            ac.abort(signal.reason);
+          } else {
+            this[kAbortController] = ac;
+            const acRef = new WeakRef(ac);
+            const abort = function() {
+              const ac2 = acRef.deref();
+              if (ac2 !== void 0) {
+                ac2.abort(this.reason);
+              }
+            };
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort });
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kHeadersList] = request2.headersList;
+        this[kHeaders][kGuard] = "request";
+        this[kHeaders][kRealm] = this[kRealm];
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          this[kHeaders][kGuard] = "request-no-cors";
+        }
+        if (initHasKey) {
+          const headersList = this[kHeaders][kHeadersList];
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const [key, val] of headers) {
+              headersList.append(key, val);
+            }
+            headersList.cookies = headers.cookies;
+          } else {
+            fillHeaders(this[kHeaders], headers);
+          }
+        }
+        const inputBody = input instanceof _Request ? input[kState].body : null;
+        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
+          throw new TypeError("Request with GET/HEAD method cannot have body.");
+        }
+        let initBody = null;
+        if (init.body != null) {
+          const [extractedBody, contentType] = extractBody(
+            init.body,
+            request2.keepalive
+          );
+          initBody = extractedBody;
+          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
+            this[kHeaders].append("content-type", contentType);
+          }
+        }
+        const inputOrInitBody = initBody ?? inputBody;
+        if (inputOrInitBody != null && inputOrInitBody.source == null) {
+          if (initBody != null && init.duplex == null) {
+            throw new TypeError("RequestInit: duplex option is required when sending a body.");
+          }
+          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
+            throw new TypeError(
+              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
+            );
+          }
+          request2.useCORSPreflightFlag = true;
+        }
+        let finalBody = inputOrInitBody;
+        if (initBody == null && inputBody != null) {
+          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          if (!TransformStream2) {
+            TransformStream2 = require("stream/web").TransformStream;
+          }
+          const identityTransform = new TransformStream2();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
+        }
+        this[kState].body = finalBody;
       }
-      var globber = glob2(options.cwd || ".", options);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
-    };
-    Archiver.prototype.finalize = function() {
-      if (this._state.aborted) {
-        var abortedError = new ArchiverError("ABORTED");
-        this.emit("error", abortedError);
-        return Promise.reject(abortedError);
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      if (this._state.finalize) {
-        var finalizingError = new ArchiverError("FINALIZING");
-        this.emit("error", finalizingError);
-        return Promise.reject(finalizingError);
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
       }
-      this._state.finalize = true;
-      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      // Returns a Headers object consisting of the headers associated with request.
+      // Note that headers added in the network layer by the user agent will not
+      // be accounted for in this object, e.g., the "Host" header.
+      get headers() {
+        webidl.brandCheck(this, _Request);
+        return this[kHeaders];
       }
-      var self2 = this;
-      return new Promise(function(resolve5, reject) {
-        var errored;
-        self2._module.on("end", function() {
-          if (!errored) {
-            resolve5();
-          }
-        });
-        self2._module.on("error", function(err) {
-          errored = true;
-          reject(err);
-        });
-      });
-    };
-    Archiver.prototype.setFormat = function(format) {
-      if (this._format) {
-        this.emit("error", new ArchiverError("FORMATSET"));
-        return this;
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
       }
-      this._format = format;
-      return this;
-    };
-    Archiver.prototype.setModule = function(module3) {
-      if (this._state.aborted) {
-        this.emit("error", new ArchiverError("ABORTED"));
-        return this;
+      // Returns the referrer of request. Its value can be a same-origin URL if
+      // explicitly set in init, the empty string to indicate no referrer, and
+      // "about:client" when defaulting to the global’s default. This is used
+      // during fetching to determine the value of the `Referer` header of the
+      // request being made.
+      get referrer() {
+        webidl.brandCheck(this, _Request);
+        if (this[kState].referrer === "no-referrer") {
+          return "";
+        }
+        if (this[kState].referrer === "client") {
+          return "about:client";
+        }
+        return this[kState].referrer.toString();
       }
-      if (this._state.module) {
-        this.emit("error", new ArchiverError("MODULESET"));
-        return this;
+      // Returns the referrer policy associated with request.
+      // This is used during fetching to compute the value of the request’s
+      // referrer.
+      get referrerPolicy() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].referrerPolicy;
       }
-      this._module = module3;
-      this._modulePipe();
-      return this;
-    };
-    Archiver.prototype.symlink = function(filepath, target, mode) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+      // Returns the mode associated with request, which is a string indicating
+      // whether the request will use CORS, or will be restricted to same-origin
+      // URLs.
+      get mode() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].mode;
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
-        return this;
+      // Returns the credentials mode associated with request,
+      // which is a string indicating whether credentials will be sent with the
+      // request always, never, or only when sent to a same-origin URL.
+      get credentials() {
+        return this[kState].credentials;
       }
-      if (typeof target !== "string" || target.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
-        return this;
+      // Returns the cache mode associated with request,
+      // which is a string indicating how the request will
+      // interact with the browser’s cache when fetching.
+      get cache() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].cache;
       }
-      if (!this._moduleSupports("symlink")) {
-        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
-        return this;
+      // Returns the redirect mode associated with request,
+      // which is a string indicating how redirects for the
+      // request will be handled during fetching. A request
+      // will follow redirects by default.
+      get redirect() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].redirect;
       }
-      var data = {};
-      data.type = "symlink";
-      data.name = filepath.replace(/\\/g, "/");
-      data.linkname = target.replace(/\\/g, "/");
-      data.sourceType = "buffer";
-      if (typeof mode === "number") {
-        data.mode = mode;
+      // Returns request’s subresource integrity metadata, which is a
+      // cryptographic hash of the resource being fetched. Its value
+      // consists of multiple hashes separated by whitespace. [SRI]
+      get integrity() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].integrity;
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source: Buffer.concat([])
-      });
-      return this;
-    };
-    Archiver.prototype.pointer = function() {
-      return this._pointer;
-    };
-    Archiver.prototype.use = function(plugin) {
-      this._streams.push(plugin);
-      return this;
-    };
-    module2.exports = Archiver;
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-entry.js
-var require_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
-    var ArchiveEntry = module2.exports = function() {
-    };
-    ArchiveEntry.prototype.getName = function() {
-    };
-    ArchiveEntry.prototype.getSize = function() {
-    };
-    ArchiveEntry.prototype.getLastModifiedDate = function() {
-    };
-    ArchiveEntry.prototype.isDirectory = function() {
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/util.js
-var require_util21 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
-    var util = module2.exports = {};
-    util.dateToDos = function(d, forceLocalTime) {
-      forceLocalTime = forceLocalTime || false;
-      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
-      if (year < 1980) {
-        return 2162688;
-      } else if (year >= 2044) {
-        return 2141175677;
+      // Returns a boolean indicating whether or not request can outlive the
+      // global in which it was created.
+      get keepalive() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].keepalive;
       }
-      var val = {
-        year,
-        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
-        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
-        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
-        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
-        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
-      };
-      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
-    };
-    util.dosToDate = function(dos) {
-      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
-    };
-    util.fromDosTime = function(buf) {
-      return util.dosToDate(buf.readUInt32LE(0));
-    };
-    util.getEightBytes = function(v) {
-      var buf = Buffer.alloc(8);
-      buf.writeUInt32LE(v % 4294967296, 0);
-      buf.writeUInt32LE(v / 4294967296 | 0, 4);
-      return buf;
-    };
-    util.getShortBytes = function(v) {
-      var buf = Buffer.alloc(2);
-      buf.writeUInt16LE((v & 65535) >>> 0, 0);
-      return buf;
-    };
-    util.getShortBytesValue = function(buf, offset) {
-      return buf.readUInt16LE(offset);
-    };
-    util.getLongBytes = function(v) {
-      var buf = Buffer.alloc(4);
-      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
-      return buf;
-    };
-    util.getLongBytesValue = function(buf, offset) {
-      return buf.readUInt32LE(offset);
-    };
-    util.toDosTime = function(d) {
-      return util.getLongBytes(util.dateToDos(d));
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
-var require_general_purpose_bit = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
-    var zipUtil = require_util21();
-    var DATA_DESCRIPTOR_FLAG = 1 << 3;
-    var ENCRYPTION_FLAG = 1 << 0;
-    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
-    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
-    var STRONG_ENCRYPTION_FLAG = 1 << 6;
-    var UFT8_NAMES_FLAG = 1 << 11;
-    var GeneralPurposeBit = module2.exports = function() {
-      if (!(this instanceof GeneralPurposeBit)) {
-        return new GeneralPurposeBit();
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      this.descriptor = false;
-      this.encryption = false;
-      this.utf8 = false;
-      this.numberOfShannonFanoTrees = 0;
-      this.strongEncryption = false;
-      this.slidingDictionarySize = 0;
-      return this;
-    };
-    GeneralPurposeBit.prototype.encode = function() {
-      return zipUtil.getShortBytes(
-        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
-      );
-    };
-    GeneralPurposeBit.prototype.parse = function(buf, offset) {
-      var flag = zipUtil.getShortBytesValue(buf, offset);
-      var gbp = new GeneralPurposeBit();
-      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
-      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
-      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
-      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
-      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
-      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
-      return gbp;
-    };
-    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
-      this.numberOfShannonFanoTrees = n;
-    };
-    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
-      return this.numberOfShannonFanoTrees;
-    };
-    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
-      this.slidingDictionarySize = n;
-    };
-    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
-      return this.slidingDictionarySize;
-    };
-    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
-      this.descriptor = b;
-    };
-    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
-      return this.descriptor;
-    };
-    GeneralPurposeBit.prototype.useEncryption = function(b) {
-      this.encryption = b;
-    };
-    GeneralPurposeBit.prototype.usesEncryption = function() {
-      return this.encryption;
-    };
-    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
-      this.strongEncryption = b;
-    };
-    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
-      return this.strongEncryption;
-    };
-    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
-      this.utf8 = b;
-    };
-    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
-      return this.utf8;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
-var require_unix_stat = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
-    module2.exports = {
-      /**
-       * Bits used for permissions (and sticky bit)
-       */
-      PERM_MASK: 4095,
-      // 07777
-      /**
-       * Bits used to indicate the filesystem object type.
-       */
-      FILE_TYPE_FLAG: 61440,
-      // 0170000
-      /**
-       * Indicates symbolic links.
-       */
-      LINK_FLAG: 40960,
-      // 0120000
-      /**
-       * Indicates plain files.
-       */
-      FILE_FLAG: 32768,
-      // 0100000
-      /**
-       * Indicates directories.
-       */
-      DIR_FLAG: 16384,
-      // 040000
-      // ----------------------------------------------------------
-      // somewhat arbitrary choices that are quite common for shared
-      // installations
-      // -----------------------------------------------------------
-      /**
-       * Default permissions for symbolic links.
-       */
-      DEFAULT_LINK_PERM: 511,
-      // 0777
-      /**
-       * Default permissions for directories.
-       */
-      DEFAULT_DIR_PERM: 493,
-      // 0755
-      /**
-       * Default permissions for plain files.
-       */
-      DEFAULT_FILE_PERM: 420
-      // 0644
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/constants.js
-var require_constants18 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
-    module2.exports = {
-      WORD: 4,
-      DWORD: 8,
-      EMPTY: Buffer.alloc(0),
-      SHORT: 2,
-      SHORT_MASK: 65535,
-      SHORT_SHIFT: 16,
-      SHORT_ZERO: Buffer.from(Array(2)),
-      LONG: 4,
-      LONG_ZERO: Buffer.from(Array(4)),
-      MIN_VERSION_INITIAL: 10,
-      MIN_VERSION_DATA_DESCRIPTOR: 20,
-      MIN_VERSION_ZIP64: 45,
-      VERSION_MADEBY: 45,
-      METHOD_STORED: 0,
-      METHOD_DEFLATED: 8,
-      PLATFORM_UNIX: 3,
-      PLATFORM_FAT: 0,
-      SIG_LFH: 67324752,
-      SIG_DD: 134695760,
-      SIG_CFH: 33639248,
-      SIG_EOCD: 101010256,
-      SIG_ZIP64_EOCD: 101075792,
-      SIG_ZIP64_EOCD_LOC: 117853008,
-      ZIP64_MAGIC_SHORT: 65535,
-      ZIP64_MAGIC: 4294967295,
-      ZIP64_EXTRA_ID: 1,
-      ZLIB_NO_COMPRESSION: 0,
-      ZLIB_BEST_SPEED: 1,
-      ZLIB_BEST_COMPRESSION: 9,
-      ZLIB_DEFAULT_COMPRESSION: -1,
-      MODE_MASK: 4095,
-      DEFAULT_FILE_MODE: 33188,
-      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-      DEFAULT_DIR_MODE: 16877,
-      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
-      EXT_FILE_ATTR_DIR: 1106051088,
-      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
-      EXT_FILE_ATTR_FILE: 2175008800,
-      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
-      // Unix file types
-      S_IFMT: 61440,
-      // 0170000 type of file mask
-      S_IFIFO: 4096,
-      // 010000 named pipe (fifo)
-      S_IFCHR: 8192,
-      // 020000 character special
-      S_IFDIR: 16384,
-      // 040000 directory
-      S_IFBLK: 24576,
-      // 060000 block special
-      S_IFREG: 32768,
-      // 0100000 regular
-      S_IFLNK: 40960,
-      // 0120000 symbolic link
-      S_IFSOCK: 49152,
-      // 0140000 socket
-      // DOS file type flags
-      S_DOS_A: 32,
-      // 040 Archive
-      S_DOS_D: 16,
-      // 020 Directory
-      S_DOS_V: 8,
-      // 010 Volume
-      S_DOS_S: 4,
-      // 04 System
-      S_DOS_H: 2,
-      // 02 Hidden
-      S_DOS_R: 1
-      // 01 Read Only
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
-var require_zip_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var normalizePath = require_normalize_path();
-    var ArchiveEntry = require_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var UnixStat = require_unix_stat();
-    var constants = require_constants18();
-    var zipUtil = require_util21();
-    var ZipArchiveEntry = module2.exports = function(name) {
-      if (!(this instanceof ZipArchiveEntry)) {
-        return new ZipArchiveEntry(name);
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-foward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
       }
-      ArchiveEntry.call(this);
-      this.platform = constants.PLATFORM_FAT;
-      this.method = -1;
-      this.name = null;
-      this.size = 0;
-      this.csize = 0;
-      this.gpb = new GeneralPurposeBit();
-      this.crc = 0;
-      this.time = -1;
-      this.minver = constants.MIN_VERSION_INITIAL;
-      this.mode = -1;
-      this.extra = null;
-      this.exattr = 0;
-      this.inattr = 0;
-      this.comment = null;
-      if (name) {
-        this.setName(name);
+      // Returns the signal associated with request, which is an AbortSignal
+      // object indicating whether or not request has been aborted, and its
+      // abort event handler.
+      get signal() {
+        webidl.brandCheck(this, _Request);
+        return this[kSignal];
       }
-    };
-    inherits(ZipArchiveEntry, ArchiveEntry);
-    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getComment = function() {
-      return this.comment !== null ? this.comment : "";
-    };
-    ZipArchiveEntry.prototype.getCompressedSize = function() {
-      return this.csize;
-    };
-    ZipArchiveEntry.prototype.getCrc = function() {
-      return this.crc;
-    };
-    ZipArchiveEntry.prototype.getExternalAttributes = function() {
-      return this.exattr;
-    };
-    ZipArchiveEntry.prototype.getExtra = function() {
-      return this.extra !== null ? this.extra : constants.EMPTY;
-    };
-    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
-      return this.gpb;
-    };
-    ZipArchiveEntry.prototype.getInternalAttributes = function() {
-      return this.inattr;
-    };
-    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
-      return this.getTime();
-    };
-    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getMethod = function() {
-      return this.method;
-    };
-    ZipArchiveEntry.prototype.getName = function() {
-      return this.name;
-    };
-    ZipArchiveEntry.prototype.getPlatform = function() {
-      return this.platform;
-    };
-    ZipArchiveEntry.prototype.getSize = function() {
-      return this.size;
-    };
-    ZipArchiveEntry.prototype.getTime = function() {
-      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
-    };
-    ZipArchiveEntry.prototype.getTimeDos = function() {
-      return this.time !== -1 ? this.time : 0;
-    };
-    ZipArchiveEntry.prototype.getUnixMode = function() {
-      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
-    };
-    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
-      return this.minver;
-    };
-    ZipArchiveEntry.prototype.setComment = function(comment) {
-      if (Buffer.byteLength(comment) !== comment.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      this.comment = comment;
-    };
-    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry compressed size");
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      this.csize = size;
-    };
-    ZipArchiveEntry.prototype.setCrc = function(crc) {
-      if (crc < 0) {
-        throw new Error("invalid entry crc32");
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-      this.crc = crc;
-    };
-    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
-      this.exattr = attr >>> 0;
-    };
-    ZipArchiveEntry.prototype.setExtra = function(extra) {
-      this.extra = extra;
-    };
-    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
-      if (!(gpb instanceof GeneralPurposeBit)) {
-        throw new Error("invalid entry GeneralPurposeBit");
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (this.bodyUsed || this.body?.locked) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const clonedRequestObject = new _Request(kConstruct);
+        clonedRequestObject[kState] = clonedRequest;
+        clonedRequestObject[kRealm] = this[kRealm];
+        clonedRequestObject[kHeaders] = new Headers(kConstruct);
+        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
+        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          util.addAbortListener(
+            this.signal,
+            () => {
+              ac.abort(this.signal.reason);
+            }
+          );
+        }
+        clonedRequestObject[kSignal] = ac.signal;
+        return clonedRequestObject;
       }
-      this.gpb = gpb;
-    };
-    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
-      this.inattr = attr;
     };
-    ZipArchiveEntry.prototype.setMethod = function(method) {
-      if (method < 0) {
-        throw new Error("invalid entry compression method");
+    mixinBody(Request);
+    function makeRequest(init) {
+      const request2 = {
+        method: "GET",
+        localURLsOnly: false,
+        unsafeRequest: false,
+        body: null,
+        client: null,
+        reservedClient: null,
+        replacesClientId: "",
+        window: "client",
+        keepalive: false,
+        serviceWorkers: "all",
+        initiator: "",
+        destination: "",
+        priority: null,
+        origin: "client",
+        policyContainer: "client",
+        referrer: "client",
+        referrerPolicy: "",
+        mode: "no-cors",
+        useCORSPreflightFlag: false,
+        credentials: "same-origin",
+        useCredentials: false,
+        cache: "default",
+        redirect: "follow",
+        integrity: "",
+        cryptoGraphicsNonceMetadata: "",
+        parserMetadata: "",
+        reloadNavigation: false,
+        historyNavigation: false,
+        userActivation: false,
+        taintedOrigin: false,
+        redirectCount: 0,
+        responseTainting: "basic",
+        preventNoCacheCacheControlHeaderModification: false,
+        done: false,
+        timingAllowFailed: false,
+        ...init,
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+      request2.url = request2.urlList[0];
+      return request2;
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(request2.body);
       }
-      this.method = method;
-    };
-    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
-      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-      if (prependSlash) {
-        name = `/${name}`;
+      return newRequest;
+    }
+    Object.defineProperties(Request.prototype, {
+      method: kEnumerableProperty,
+      url: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      signal: kEnumerableProperty,
+      duplex: kEnumerableProperty,
+      destination: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      isHistoryNavigation: kEnumerableProperty,
+      isReloadNavigation: kEnumerableProperty,
+      keepalive: kEnumerableProperty,
+      integrity: kEnumerableProperty,
+      cache: kEnumerableProperty,
+      credentials: kEnumerableProperty,
+      attribute: kEnumerableProperty,
+      referrerPolicy: kEnumerableProperty,
+      referrer: kEnumerableProperty,
+      mode: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Request",
+        configurable: true
       }
-      if (Buffer.byteLength(name) !== name.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      this.name = name;
-    };
-    ZipArchiveEntry.prototype.setPlatform = function(platform) {
-      this.platform = platform;
-    };
-    ZipArchiveEntry.prototype.setSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry size");
+      if (V instanceof Request) {
+        return webidl.converters.Request(V);
       }
-      this.size = size;
+      return webidl.converters.USVString(V);
     };
-    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
-      if (!(time instanceof Date)) {
-        throw new Error("invalid entry time");
+    webidl.converters.AbortSignal = webidl.interfaceConverter(
+      AbortSignal
+    );
+    webidl.converters.RequestInit = webidl.dictionaryConverter([
+      {
+        key: "method",
+        converter: webidl.converters.ByteString
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      },
+      {
+        key: "body",
+        converter: webidl.nullableConverter(
+          webidl.converters.BodyInit
+        )
+      },
+      {
+        key: "referrer",
+        converter: webidl.converters.USVString
+      },
+      {
+        key: "referrerPolicy",
+        converter: webidl.converters.DOMString,
+        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
+        allowedValues: referrerPolicy
+      },
+      {
+        key: "mode",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#concept-request-mode
+        allowedValues: requestMode
+      },
+      {
+        key: "credentials",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcredentials
+        allowedValues: requestCredentials
+      },
+      {
+        key: "cache",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcache
+        allowedValues: requestCache
+      },
+      {
+        key: "redirect",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestredirect
+        allowedValues: requestRedirect
+      },
+      {
+        key: "integrity",
+        converter: webidl.converters.DOMString
+      },
+      {
+        key: "keepalive",
+        converter: webidl.converters.boolean
+      },
+      {
+        key: "signal",
+        converter: webidl.nullableConverter(
+          (signal) => webidl.converters.AbortSignal(
+            signal,
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
       }
-      this.time = zipUtil.dateToDos(time, forceLocalTime);
-    };
-    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
-      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
-      var extattr = 0;
-      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
-      this.setExternalAttributes(extattr);
-      this.mode = mode & constants.MODE_MASK;
-      this.platform = constants.PLATFORM_UNIX;
-    };
-    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
-      this.minver = minver;
-    };
-    ZipArchiveEntry.prototype.isDirectory = function() {
-      return this.getName().slice(-1) === "/";
-    };
-    ZipArchiveEntry.prototype.isUnixSymlink = function() {
-      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
-    };
-    ZipArchiveEntry.prototype.isZip64 = function() {
-      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
-    };
+    ]);
+    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/compress-commons/node_modules/is-stream/index.js
-var require_is_stream2 = __commonJS({
-  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/index.js
+var require_fetch3 = __commonJS({
+  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
     "use strict";
-    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
-    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
-    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
-    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
-    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
-    module2.exports = isStream;
-  }
-});
-
-// node_modules/compress-commons/lib/util/index.js
-var require_util22 = __commonJS({
-  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var isStream = require_is_stream2();
-    var util = module2.exports = {};
-    util.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (isStream(source) && !source._readableState) {
-        var normalized = new PassThrough();
-        source.pipe(normalized);
-        return normalized;
+    var {
+      Response,
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse
+    } = require_response4();
+    var { Headers } = require_headers4();
+    var { Request, makeRequest } = require_request6();
+    var zlib = require("zlib");
+    var {
+      bytesMatch,
+      makePolicyContainer,
+      clonePolicyContainer,
+      requestBadPort,
+      TAOCheck,
+      appendRequestOriginHeader,
+      responseLocationURL,
+      requestCurrentURL,
+      setRequestReferrerPolicyOnRedirect,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      createOpaqueTimingInfo,
+      appendFetchMetadata,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      determineRequestsReferrer,
+      coarsenedSharedCurrentTime,
+      createDeferredPromise,
+      isBlobLike,
+      sameOrigin,
+      isCancelled,
+      isAborted,
+      isErrorLike,
+      fullyReadBody,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlIsHttpHttpsScheme,
+      urlHasHttpsScheme
+    } = require_util25();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var assert = require("assert");
+    var { safelyExtractBody } = require_body3();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet,
+      DOMException: DOMException2
+    } = require_constants21();
+    var { kHeadersList } = require_symbols11();
+    var EE = require("events");
+    var { Readable, pipeline } = require("stream");
+    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util24();
+    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
+    var { TransformStream: TransformStream2 } = require("stream/web");
+    var { getGlobalDispatcher } = require_global6();
+    var { webidl } = require_webidl3();
+    var { STATUS_CODES } = require("http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var resolveObjectURL;
+    var ReadableStream2 = globalThis.ReadableStream;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
+        this.setMaxListeners(21);
       }
-      return source;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-output-stream.js
-var require_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var isStream = require_is_stream2();
-    var Transform = require_ours().Transform;
-    var ArchiveEntry = require_archive_entry();
-    var util = require_util22();
-    var ArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ArchiveOutputStream)) {
-        return new ArchiveOutputStream(options);
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      Transform.call(this, options);
-      this.offset = 0;
-      this._archive = {
-        finish: false,
-        finished: false,
-        processing: false
-      };
-    };
-    inherits(ArchiveOutputStream, Transform);
-    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
-      if (err) {
-        this.emit("error", err);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException2("The operation was aborted.", "AbortError");
+        }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
     };
-    ArchiveOutputStream.prototype._finish = function(ae) {
-    };
-    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-    };
-    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
-    };
-    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
-      source = source || null;
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+    function fetch(input, init = {}) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
+      const p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      if (!(ae instanceof ArchiveEntry)) {
-        callback(new Error("not a valid instance of ArchiveEntry"));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
+      }
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
+      }
+      let responseObject = null;
+      const relevantRealm = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+        }
+      );
+      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return Promise.resolve();
+        }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return Promise.resolve();
+        }
+        if (response.type === "error") {
+          p.reject(
+            Object.assign(new TypeError("fetch failed"), { cause: response.error })
+          );
+          return Promise.resolve();
+        }
+        responseObject = new Response();
+        responseObject[kState] = response;
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = response.headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        p.resolve(responseObject);
+      };
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
         return;
       }
-      if (this._archive.finish || this._archive.finished) {
-        callback(new Error("unacceptable entry after finish"));
+      if (!response.urlList?.length) {
         return;
       }
-      if (this._archive.processing) {
-        callback(new Error("already processing an entry"));
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
         return;
       }
-      this._archive.processing = true;
-      this._normalizeEntry(ae);
-      this._entry = ae;
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        this._appendBuffer(ae, source, callback);
-      } else if (isStream(source)) {
-        this._appendStream(ae, source, callback);
-      } else {
-        this._archive.processing = false;
-        callback(new Error("input source must be valid Stream or Buffer instance"));
+      if (timingInfo === null) {
         return;
       }
-      return this;
-    };
-    ArchiveOutputStream.prototype.finish = function() {
-      if (this._archive.processing) {
-        this._archive.finish = true;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
+    }
+    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
+      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
+        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+      }
+    }
+    function abortFetch(p, request2, responseObject, error3) {
+      if (!error3) {
+        error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      p.reject(error3);
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
+      }
+      if (responseObject == null) {
         return;
       }
-      this._finish();
-    };
-    ArchiveOutputStream.prototype.getBytesWritten = function() {
-      return this.offset;
-    };
-    ArchiveOutputStream.prototype.write = function(chunk, cb) {
-      if (chunk) {
-        this.offset += chunk.length;
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return Transform.prototype.write.call(this, chunk, cb);
-    };
-  }
-});
-
-// node_modules/crc-32/crc32.js
-var require_crc32 = __commonJS({
-  "node_modules/crc-32/crc32.js"(exports2) {
-    var CRC32;
-    (function(factory) {
-      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
-        if ("object" === typeof exports2) {
-          factory(exports2);
-        } else if ("function" === typeof define && define.amd) {
-          define(function() {
-            var module3 = {};
-            factory(module3);
-            return module3;
-          });
-        } else {
-          factory(CRC32 = {});
-        }
-      } else {
-        factory(CRC32 = {});
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher
+      // undici
+    }) {
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-    })(function(CRC322) {
-      CRC322.version = "1.2.2";
-      function signed_crc_table() {
-        var c = 0, table = new Array(256);
-        for (var n = 0; n != 256; ++n) {
-          c = n;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          table[n] = c;
-        }
-        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
+      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currenTime
+      });
+      const fetchParams = {
+        controller: new Fetch(dispatcher),
+        request: request2,
+        timingInfo,
+        processRequestBodyChunkLength,
+        processRequestEndOfBody,
+        processResponse,
+        processResponseConsumeBody,
+        processResponseEndOfBody,
+        taskDestination,
+        crossOriginIsolatedCapability
+      };
+      assert(!request2.body || request2.body.stream);
+      if (request2.window === "client") {
+        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
-      var T0 = signed_crc_table();
-      function slice_by_16_tables(T) {
-        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
-        for (n = 0; n != 256; ++n) table[n] = T[n];
-        for (n = 0; n != 256; ++n) {
-          v = T[n];
-          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
+      if (request2.origin === "client") {
+        request2.origin = request2.client?.origin;
+      }
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        var out = [];
-        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
-        return out;
       }
-      var TT = slice_by_16_tables(T0);
-      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
-      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
-      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
-      function crc32_bstr(bstr, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
-        return ~C;
+      if (!request2.headersList.contains("accept")) {
+        const value = "*/*";
+        request2.headersList.append("accept", value);
       }
-      function crc32_buf(B, seed) {
-        var C = seed ^ -1, L = B.length - 15, i = 0;
-        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
-        L += 15;
-        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
-        return ~C;
+      if (!request2.headersList.contains("accept-language")) {
+        request2.headersList.append("accept-language", "*");
       }
-      function crc32_str(str2, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
-          c = str2.charCodeAt(i++);
-          if (c < 128) {
-            C = C >>> 8 ^ T0[(C ^ c) & 255];
-          } else if (c < 2048) {
-            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          } else if (c >= 55296 && c < 57344) {
-            c = (c & 1023) + 64;
-            d = str2.charCodeAt(i++) & 1023;
-            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
-          } else {
-            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          }
-        }
-        return ~C;
+      if (request2.priority === null) {
       }
-      CRC322.table = T0;
-      CRC322.bstr = crc32_bstr;
-      CRC322.buf = crc32_buf;
-      CRC322.str = crc32_str;
-    });
-  }
-});
-
-// node_modules/crc32-stream/lib/crc32-stream.js
-var require_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require_ours();
-    var crc32 = require_crc32();
-    var CRC32Stream = class extends Transform {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
+      if (subresourceSet.has(request2.destination)) {
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
-        }
-        callback(null, chunk);
+      mainFetch(fetchParams).catch((err) => {
+        fetchParams.controller.terminate(err);
+      });
+      return fetchParams.controller;
+    }
+    async function mainFetch(fetchParams, recursive = false) {
+      const request2 = fetchParams.request;
+      let response = null;
+      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
+        response = makeNetworkError("local URLs only");
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
       }
-      size() {
-        return this.rawSize;
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
       }
-    };
-    module2.exports = CRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/deflate-crc32-stream.js
-var require_deflate_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { DeflateRaw } = require("zlib");
-    var crc32 = require_crc32();
-    var DeflateCRC32Stream = class extends DeflateRaw {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
-        this.compressedSize = 0;
+      if (response === null) {
+        response = await (async () => {
+          const currentURL = requestCurrentURL(request2);
+          if (
+            // - request’s current URL’s origin is same origin with request’s origin,
+            //   and request’s response tainting is "basic"
+            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
+            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
+            (request2.mode === "navigate" || request2.mode === "websocket")
+          ) {
+            request2.responseTainting = "basic";
+            return await schemeFetch(fetchParams);
+          }
+          if (request2.mode === "same-origin") {
+            return makeNetworkError('request mode cannot be "same-origin"');
+          }
+          if (request2.mode === "no-cors") {
+            if (request2.redirect !== "follow") {
+              return makeNetworkError(
+                'redirect mode cannot be "follow" for "no-cors" request'
+              );
+            }
+            request2.responseTainting = "opaque";
+            return await schemeFetch(fetchParams);
+          }
+          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
+            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          }
+          request2.responseTainting = "cors";
+          return await httpFetch(fetchParams);
+        })();
       }
-      push(chunk, encoding) {
-        if (chunk) {
-          this.compressedSize += chunk.length;
-        }
-        return super.push(chunk, encoding);
+      if (recursive) {
+        return response;
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
+        }
+        if (request2.responseTainting === "basic") {
+          response = filterResponse(response, "basic");
+        } else if (request2.responseTainting === "cors") {
+          response = filterResponse(response, "cors");
+        } else if (request2.responseTainting === "opaque") {
+          response = filterResponse(response, "opaque");
+        } else {
+          assert(false);
         }
-        super._transform(chunk, encoding, callback);
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
       }
-      size(compressed = false) {
-        if (compressed) {
-          return this.compressedSize;
-        } else {
-          return this.rawSize;
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+        response = internalResponse = makeNetworkError();
+      }
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
+      }
+      if (request2.integrity) {
+        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
+        if (request2.responseTainting === "opaque" || response.body == null) {
+          processBodyError(response.error);
+          return;
         }
+        const processBody = (bytes) => {
+          if (!bytesMatch(bytes, request2.integrity)) {
+            processBodyError("integrity mismatch");
+            return;
+          }
+          response.body = safelyExtractBody(bytes)[0];
+          fetchFinale(fetchParams, response);
+        };
+        await fullyReadBody(response.body, processBody, processBodyError);
+      } else {
+        fetchFinale(fetchParams, response);
       }
-    };
-    module2.exports = DeflateCRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/index.js
-var require_lib3 = __commonJS({
-  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      CRC32Stream: require_crc32_stream(),
-      DeflateCRC32Stream: require_deflate_crc32_stream()
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
-var require_zip_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var crc32 = require_crc32();
-    var { CRC32Stream } = require_lib3();
-    var { DeflateCRC32Stream } = require_lib3();
-    var ArchiveOutputStream = require_archive_output_stream();
-    var ZipArchiveEntry = require_zip_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var constants = require_constants18();
-    var util = require_util22();
-    var zipUtil = require_util21();
-    var ZipArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ZipArchiveOutputStream)) {
-        return new ZipArchiveOutputStream(options);
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
       }
-      options = this.options = this._defaults(options);
-      ArchiveOutputStream.call(this, options);
-      this._entry = null;
-      this._entries = [];
-      this._archive = {
-        centralLength: 0,
-        centralOffset: 0,
-        comment: "",
-        finish: false,
-        finished: false,
-        processing: false,
-        forceZip64: options.forceZip64,
-        forceLocalTime: options.forceLocalTime
-      };
-    };
-    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
-    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
-      this._entries.push(ae);
-      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
-        this._writeDataDescriptor(ae);
+      const { request: request2 } = fetchParams;
+      const { protocol: scheme } = requestCurrentURL(request2);
+      switch (scheme) {
+        case "about:": {
+          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+        }
+        case "blob:": {
+          if (!resolveObjectURL) {
+            resolveObjectURL = require("buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const bodyWithType = safelyExtractBody(blobURLEntryObject);
+          const body = bodyWithType[0];
+          const length = isomorphicEncode(`${body.length}`);
+          const type2 = bodyWithType[1] ?? "";
+          const response = makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-length", { name: "Content-Length", value: length }],
+              ["content-type", { name: "Content-Type", value: type2 }]
+            ]
+          });
+          response.body = body;
+          return Promise.resolve(response);
+        }
+        case "data:": {
+          const currentURL = requestCurrentURL(request2);
+          const dataURLStruct = dataURLProcessor(currentURL);
+          if (dataURLStruct === "failure") {
+            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+          }
+          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
+          return Promise.resolve(makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-type", { name: "Content-Type", value: mimeType }]
+            ],
+            body: safelyExtractBody(dataURLStruct.body)[0]
+          }));
+        }
+        case "file:": {
+          return Promise.resolve(makeNetworkError("not implemented... yet..."));
+        }
+        case "http:":
+        case "https:": {
+          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        }
+        default: {
+          return Promise.resolve(makeNetworkError("unknown scheme"));
+        }
       }
-      this._archive.processing = false;
-      this._entry = null;
-      if (this._archive.finish && !this._archive.finished) {
-        this._finish();
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
       }
-    };
-    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
-      if (source.length === 0) {
-        ae.setMethod(constants.METHOD_STORED);
+    }
+    function fetchFinale(fetchParams, response) {
+      if (response.type === "error") {
+        response.urlList = [fetchParams.request.urlList[0]];
+        response.timingInfo = createOpaqueTimingInfo({
+          startTime: fetchParams.timingInfo.startTime
+        });
       }
-      var method = ae.getMethod();
-      if (method === constants.METHOD_STORED) {
-        ae.setSize(source.length);
-        ae.setCompressedSize(source.length);
-        ae.setCrc(crc32.buf(source) >>> 0);
+      const processResponseEndOfBody = () => {
+        fetchParams.request.done = true;
+        if (fetchParams.processResponseEndOfBody != null) {
+          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        }
+      };
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => fetchParams.processResponse(response));
       }
-      this._writeLocalFileHeader(ae);
-      if (method === constants.METHOD_STORED) {
-        this.write(source);
-        this._afterAppend(ae);
-        callback(null, ae);
-        return;
-      } else if (method === constants.METHOD_DEFLATED) {
-        this._smartStream(ae, callback).end(source);
-        return;
+      if (response.body == null) {
+        processResponseEndOfBody();
       } else {
-        callback(new Error("compression method " + method + " not implemented"));
-        return;
+        const identityTransformAlgorithm = (chunk, controller) => {
+          controller.enqueue(chunk);
+        };
+        const transformStream = new TransformStream2({
+          start() {
+          },
+          transform: identityTransformAlgorithm,
+          flush: processResponseEndOfBody
+        }, {
+          size() {
+            return 1;
+          }
+        }, {
+          size() {
+            return 1;
+          }
+        });
+        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
       }
-    };
-    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
-      ae.getGeneralPurposeBit().useDataDescriptor(true);
-      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
-      this._writeLocalFileHeader(ae);
-      var smart = this._smartStream(ae, callback);
-      source.once("error", function(err) {
-        smart.emit("error", err);
-        smart.end();
-      });
-      source.pipe(smart);
-    };
-    ZipArchiveOutputStream.prototype._defaults = function(o) {
-      if (typeof o !== "object") {
-        o = {};
+      if (fetchParams.processResponseConsumeBody != null) {
+        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
+        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
+        if (response.body == null) {
+          queueMicrotask(() => processBody(null));
+        } else {
+          return fullyReadBody(response.body, processBody, processBodyError);
+        }
+        return Promise.resolve();
       }
-      if (typeof o.zlib !== "object") {
-        o.zlib = {};
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      if (typeof o.zlib.level !== "number") {
-        o.zlib.level = constants.ZLIB_BEST_SPEED;
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
+        }
+        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
+        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
+          return makeNetworkError("cors failure");
+        }
+        if (TAOCheck(request2, response) === "failure") {
+          request2.timingAllowFailed = true;
+        }
       }
-      o.forceZip64 = !!o.forceZip64;
-      o.forceLocalTime = !!o.forceLocalTime;
-      return o;
-    };
-    ZipArchiveOutputStream.prototype._finish = function() {
-      this._archive.centralOffset = this.offset;
-      this._entries.forEach(function(ae) {
-        this._writeCentralFileHeader(ae);
-      }.bind(this));
-      this._archive.centralLength = this.offset - this._archive.centralOffset;
-      if (this.isZip64()) {
-        this._writeCentralDirectoryZip64();
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      this._writeCentralDirectoryEnd();
-      this._archive.processing = false;
-      this._archive.finish = true;
-      this._archive.finished = true;
-      this.end();
-    };
-    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-      if (ae.getMethod() === -1) {
-        ae.setMethod(constants.METHOD_DEFLATED);
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy();
+        }
+        if (request2.redirect === "error") {
+          response = makeNetworkError("unexpected redirect");
+        } else if (request2.redirect === "manual") {
+          response = actualResponse;
+        } else if (request2.redirect === "follow") {
+          response = await httpRedirectFetch(fetchParams, response);
+        } else {
+          assert(false);
+        }
       }
-      if (ae.getMethod() === constants.METHOD_DEFLATED) {
-        ae.getGeneralPurposeBit().useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      response.timingInfo = timingInfo;
+      return response;
+    }
+    function httpRedirectFetch(fetchParams, response) {
+      const request2 = fetchParams.request;
+      const actualResponse = response.internalResponse ? response.internalResponse : response;
+      let locationURL;
+      try {
+        locationURL = responseLocationURL(
+          actualResponse,
+          requestCurrentURL(request2).hash
+        );
+        if (locationURL == null) {
+          return response;
+        }
+      } catch (err) {
+        return Promise.resolve(makeNetworkError(err));
       }
-      if (ae.getTime() === -1) {
-        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
       }
-      ae._offsets = {
-        file: 0,
-        data: 0,
-        contents: 0
-      };
-    };
-    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
-      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
-      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
-      var error3 = null;
-      function handleStuff() {
-        var digest = process2.digest().readUInt32BE(0);
-        ae.setCrc(digest);
-        ae.setSize(process2.size());
-        ae.setCompressedSize(process2.size(true));
-        this._afterAppend(ae);
-        callback(error3, ae);
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
       }
-      process2.once("end", handleStuff.bind(this));
-      process2.once("error", function(err) {
-        error3 = err;
-      });
-      process2.pipe(this, { end: false });
-      return process2;
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
-      var records = this._entries.length;
-      var size = this._archive.centralLength;
-      var offset = this._archive.centralOffset;
-      if (this.isZip64()) {
-        records = constants.ZIP64_MAGIC_SHORT;
-        size = constants.ZIP64_MAGIC;
-        offset = constants.ZIP64_MAGIC;
+      request2.redirectCount += 1;
+      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
+        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
       }
-      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
-      this.write(constants.SHORT_ZERO);
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getLongBytes(size));
-      this.write(zipUtil.getLongBytes(offset));
-      var comment = this.getComment();
-      var commentLength = Buffer.byteLength(comment);
-      this.write(zipUtil.getShortBytes(commentLength));
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
-      this.write(zipUtil.getEightBytes(44));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(constants.LONG_ZERO);
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._archive.centralLength));
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
-      this.write(zipUtil.getLongBytes(1));
-    };
-    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var fileOffset = ae._offsets.file;
-      var size = ae.getSize();
-      var compressedSize = ae.getCompressedSize();
-      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
-        size = constants.ZIP64_MAGIC;
-        compressedSize = constants.ZIP64_MAGIC;
-        fileOffset = constants.ZIP64_MAGIC;
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
-        var extraBuf = Buffer.concat([
-          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
-          zipUtil.getShortBytes(24),
-          zipUtil.getEightBytes(ae.getSize()),
-          zipUtil.getEightBytes(ae.getCompressedSize()),
-          zipUtil.getEightBytes(ae._offsets.file)
-        ], 28);
-        ae.setExtra(extraBuf);
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
       }
-      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
-      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      this.write(zipUtil.getLongBytes(compressedSize));
-      this.write(zipUtil.getLongBytes(size));
-      var name = ae.getName();
-      var comment = ae.getComment();
-      var extra = ae.getCentralDirectoryExtra();
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
-        comment = Buffer.from(comment);
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(zipUtil.getShortBytes(comment.length));
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
-      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
-      this.write(zipUtil.getLongBytes(fileOffset));
-      this.write(name);
-      this.write(extra);
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
-      this.write(zipUtil.getLongBytes(constants.SIG_DD));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      if (ae.isZip64()) {
-        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getEightBytes(ae.getSize()));
-      } else {
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
+        request2.method = "GET";
+        request2.body = null;
+        for (const headerName of requestBodyHeader) {
+          request2.headersList.delete(headerName);
+        }
       }
-    };
-    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var name = ae.getName();
-      var extra = ae.getLocalFileDataExtra();
-      if (ae.isZip64()) {
-        gpb.useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization");
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie");
+        request2.headersList.delete("host");
       }
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
       }
-      ae._offsets.file = this.offset;
-      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      ae._offsets.data = this.offset;
-      if (gpb.usesDataDescriptor()) {
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
+      }
+      request2.urlList.push(locationURL);
+      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
+      return mainFetch(fetchParams, true);
+    }
+    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
+      const request2 = fetchParams.request;
+      let httpFetchParams = null;
+      let httpRequest = null;
+      let response = null;
+      const httpCache = null;
+      const revalidatingFlag = false;
+      if (request2.window === "no-window" && request2.redirect === "error") {
+        httpFetchParams = fetchParams;
+        httpRequest = request2;
       } else {
-        this.write(zipUtil.getLongBytes(ae.getCrc()));
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+        httpRequest = makeRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(name);
-      this.write(extra);
-      ae._offsets.contents = this.offset;
-    };
-    ZipArchiveOutputStream.prototype.getComment = function(comment) {
-      return this._archive.comment !== null ? this._archive.comment : "";
-    };
-    ZipArchiveOutputStream.prototype.isZip64 = function() {
-      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
-    };
-    ZipArchiveOutputStream.prototype.setComment = function(comment) {
-      this._archive.comment = comment;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/compress-commons.js
-var require_compress_commons = __commonJS({
-  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
-    module2.exports = {
-      ArchiveEntry: require_archive_entry(),
-      ZipArchiveEntry: require_zip_archive_entry(),
-      ArchiveOutputStream: require_archive_output_stream(),
-      ZipArchiveOutputStream: require_zip_archive_output_stream()
-    };
-  }
-});
-
-// node_modules/zip-stream/index.js
-var require_zip_stream = __commonJS({
-  "node_modules/zip-stream/index.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
-    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
-    var util = require_archiver_utils();
-    var ZipStream = module2.exports = function(options) {
-      if (!(this instanceof ZipStream)) {
-        return new ZipStream(options);
+      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
+      const contentLength = httpRequest.body ? httpRequest.body.length : null;
+      let contentLengthHeaderValue = null;
+      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
+        contentLengthHeaderValue = "0";
       }
-      options = this.options = options || {};
-      options.zlib = options.zlib || {};
-      ZipArchiveOutputStream.call(this, options);
-      if (typeof options.level === "number" && options.level >= 0) {
-        options.zlib.level = options.level;
-        delete options.level;
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
-        options.store = true;
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
       }
-      options.namePrependSlash = options.namePrependSlash || false;
-      if (options.comment && options.comment.length > 0) {
-        this.setComment(options.comment);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-    };
-    inherits(ZipStream, ZipArchiveOutputStream);
-    ZipStream.prototype._normalizeFileData = function(data) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        namePrependSlash: this.options.namePrependSlash,
-        linkname: null,
-        date: null,
-        mode: null,
-        store: this.options.store,
-        comment: ""
-      });
-      var isDir = data.type === "directory";
-      var isSymlink = data.type === "symlink";
-      if (data.name) {
-        data.name = util.sanitizePath(data.name);
-        if (!isSymlink && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
-        }
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
       }
-      if (isDir || isSymlink) {
-        data.store = true;
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent")) {
+        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
       }
-      data.date = util.dateify(data.date);
-      return data;
-    };
-    ZipStream.prototype.entry = function(source, data, callback) {
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+        httpRequest.cache = "no-store";
       }
-      data = this._normalizeFileData(data);
-      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
-        callback(new Error(data.type + " entries not currently supported"));
-        return;
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
+        httpRequest.headersList.append("cache-control", "max-age=0");
       }
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        callback(new Error("entry name must be a non-empty string value"));
-        return;
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma")) {
+          httpRequest.headersList.append("pragma", "no-cache");
+        }
+        if (!httpRequest.headersList.contains("cache-control")) {
+          httpRequest.headersList.append("cache-control", "no-cache");
+        }
       }
-      if (data.type === "symlink" && typeof data.linkname !== "string") {
-        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
-        return;
+      if (httpRequest.headersList.contains("range")) {
+        httpRequest.headersList.append("accept-encoding", "identity");
       }
-      var entry = new ZipArchiveEntry(data.name);
-      entry.setTime(data.date, this.options.forceLocalTime);
-      if (data.namePrependSlash) {
-        entry.setName(data.name, true);
+      if (!httpRequest.headersList.contains("accept-encoding")) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+        } else {
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+        }
       }
-      if (data.store) {
-        entry.setMethod(0);
+      httpRequest.headersList.delete("host");
+      if (includeCredentials) {
       }
-      if (data.comment.length > 0) {
-        entry.setComment(data.comment);
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      if (data.type === "symlink" && typeof data.mode !== "number") {
-        data.mode = 40960;
+      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
       }
-      if (typeof data.mode === "number") {
-        if (data.type === "symlink") {
-          data.mode |= 40960;
+      if (response == null) {
+        if (httpRequest.mode === "only-if-cached") {
+          return makeNetworkError("only if cached");
+        }
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
+        }
+        if (revalidatingFlag && forwardResponse.status === 304) {
+        }
+        if (response == null) {
+          response = forwardResponse;
         }
-        entry.setUnixMode(data.mode);
-      }
-      if (data.type === "symlink" && typeof data.linkname === "string") {
-        source = Buffer.from(data.linkname);
       }
-      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
-    };
-    ZipStream.prototype.finalize = function() {
-      this.finish();
-    };
-  }
-});
-
-// node_modules/archiver/lib/plugins/zip.js
-var require_zip = __commonJS({
-  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
-    var engine = require_zip_stream();
-    var util = require_archiver_utils();
-    var Zip = function(options) {
-      if (!(this instanceof Zip)) {
-        return new Zip(options);
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range")) {
+        response.rangeRequested = true;
       }
-      options = this.options = util.defaults(options, {
-        comment: "",
-        forceUTC: false,
-        namePrependSlash: false,
-        store: false
-      });
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = new engine(options);
-    };
-    Zip.prototype.append = function(source, data, callback) {
-      this.engine.entry(source, data, callback);
-    };
-    Zip.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Zip.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Zip.prototype.pipe = function() {
-      return this.engine.pipe.apply(this.engine, arguments);
-    };
-    Zip.prototype.unpipe = function() {
-      return this.engine.unpipe.apply(this.engine, arguments);
-    };
-    module2.exports = Zip;
-  }
-});
-
-// node_modules/queue-tick/queue-microtask.js
-var require_queue_microtask = __commonJS({
-  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
-    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
-  }
-});
-
-// node_modules/queue-tick/process-next-tick.js
-var require_process_next_tick = __commonJS({
-  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
-    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
-  }
-});
-
-// node_modules/fast-fifo/fixed-size.js
-var require_fixed_size = __commonJS({
-  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
-    module2.exports = class FixedFIFO {
-      constructor(hwm) {
-        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
-        this.buffer = new Array(hwm);
-        this.mask = hwm - 1;
-        this.top = 0;
-        this.btm = 0;
-        this.next = null;
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
+        }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        return makeNetworkError("proxy authentication required");
       }
-      clear() {
-        this.top = this.btm = 0;
-        this.next = null;
-        this.buffer.fill(void 0);
+      if (
+        // response’s status is 421
+        response.status === 421 && // isNewConnectionFetch is false
+        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
+        (request2.body == null || request2.body.source != null)
+      ) {
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        fetchParams.controller.connection.destroy();
+        response = await httpNetworkOrCacheFetch(
+          fetchParams,
+          isAuthenticationFetch,
+          true
+        );
       }
-      push(data) {
-        if (this.buffer[this.top] !== void 0) return false;
-        this.buffer[this.top] = data;
-        this.top = this.top + 1 & this.mask;
-        return true;
+      if (isAuthenticationFetch) {
       }
-      shift() {
-        const last = this.buffer[this.btm];
-        if (last === void 0) return void 0;
-        this.buffer[this.btm] = void 0;
-        this.btm = this.btm + 1 & this.mask;
-        return last;
+      return response;
+    }
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+          }
+        }
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      peek() {
-        return this.buffer[this.btm];
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      isEmpty() {
-        return this.buffer[this.btm] === void 0;
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
       }
-    };
-  }
-});
-
-// node_modules/fast-fifo/index.js
-var require_fast_fifo = __commonJS({
-  "node_modules/fast-fifo/index.js"(exports2, module2) {
-    var FixedFIFO = require_fixed_size();
-    module2.exports = class FastFIFO {
-      constructor(hwm) {
-        this.hwm = hwm || 16;
-        this.head = new FixedFIFO(this.hwm);
-        this.tail = this.head;
-        this.length = 0;
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
+        }
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
+        }
+        return makeNetworkError(err);
       }
-      clear() {
-        this.head = this.tail;
-        this.head.clear();
-        this.length = 0;
+      const pullAlgorithm = () => {
+        fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        fetchParams.controller.abort(reason);
+      };
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      push(val) {
-        this.length++;
-        if (!this.head.push(val)) {
-          const prev = this.head;
-          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
-          this.head.push(val);
+      const stream = new ReadableStream2(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          }
+        },
+        {
+          highWaterMark: 0,
+          size() {
+            return 1;
+          }
         }
-      }
-      shift() {
-        if (this.length !== 0) this.length--;
-        const val = this.tail.shift();
-        if (val === void 0 && this.tail.next) {
-          const next = this.tail.next;
-          this.tail.next = null;
-          this.tail = next;
-          return this.tail.shift();
+      );
+      response.body = { stream };
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          if (isErrored(stream)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (!fetchParams.controller.controller.desiredSize) {
+            return;
+          }
         }
-        return val;
-      }
-      peek() {
-        const val = this.tail.peek();
-        if (val === void 0 && this.tail.next) return this.tail.next.peek();
-        return val;
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
       }
-      isEmpty() {
-        return this.length === 0;
+      return response;
+      async function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve5, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              if (connection.destroyed) {
+                abort(new DOMException2("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+            },
+            onHeaders(status, headersList, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let codings = [];
+              let location = "";
+              const headers = new Headers();
+              if (Array.isArray(headersList)) {
+                for (let n = 0; n < headersList.length; n += 2) {
+                  const key = headersList[n + 0].toString("latin1");
+                  const val = headersList[n + 1].toString("latin1");
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim());
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              } else {
+                const keys = Object.keys(headersList);
+                for (const key of keys) {
+                  const val = headersList[key];
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              }
+              this.body = new Readable({ read: resume });
+              const decoders = [];
+              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                for (const coding of codings) {
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(zlib.createInflate());
+                  } else if (coding === "br") {
+                    decoders.push(zlib.createBrotliDecompress());
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              resolve5({
+                status,
+                statusText,
+                headersList: headers[kHeadersList],
+                body: decoders.length ? pipeline(this.body, ...decoders, () => {
+                }) : this.body.on("error", () => {
+                })
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, headersList, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headers = new Headers();
+              for (let n = 0; n < headersList.length; n += 2) {
+                const key = headersList[n + 0].toString("latin1");
+                const val = headersList[n + 1].toString("latin1");
+                headers[kHeadersList].append(key, val);
+              }
+              resolve5({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList: headers[kHeadersList],
+                socket
+              });
+              return true;
+            }
+          }
+        ));
       }
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
   }
 });
 
-// node_modules/b4a/index.js
-var require_b4a = __commonJS({
-  "node_modules/b4a/index.js"(exports2, module2) {
-    function isBuffer(value) {
-      return Buffer.isBuffer(value) || value instanceof Uint8Array;
-    }
-    function isEncoding(encoding) {
-      return Buffer.isEncoding(encoding);
-    }
-    function alloc(size, fill2, encoding) {
-      return Buffer.alloc(size, fill2, encoding);
-    }
-    function allocUnsafe(size) {
-      return Buffer.allocUnsafe(size);
-    }
-    function allocUnsafeSlow(size) {
-      return Buffer.allocUnsafeSlow(size);
-    }
-    function byteLength(string, encoding) {
-      return Buffer.byteLength(string, encoding);
-    }
-    function compare2(a, b) {
-      return Buffer.compare(a, b);
-    }
-    function concat(buffers, totalLength) {
-      return Buffer.concat(buffers, totalLength);
-    }
-    function copy(source, target, targetStart, start, end) {
-      return toBuffer(source).copy(target, targetStart, start, end);
-    }
-    function equals(a, b) {
-      return toBuffer(a).equals(b);
-    }
-    function fill(buffer, value, offset, end, encoding) {
-      return toBuffer(buffer).fill(value, offset, end, encoding);
-    }
-    function from(value, encodingOrOffset, length) {
-      return Buffer.from(value, encodingOrOffset, length);
-    }
-    function includes(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).includes(value, byteOffset, encoding);
-    }
-    function indexOf(buffer, value, byfeOffset, encoding) {
-      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
-    }
-    function lastIndexOf(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
-    }
-    function swap16(buffer) {
-      return toBuffer(buffer).swap16();
-    }
-    function swap32(buffer) {
-      return toBuffer(buffer).swap32();
-    }
-    function swap64(buffer) {
-      return toBuffer(buffer).swap64();
-    }
-    function toBuffer(buffer) {
-      if (Buffer.isBuffer(buffer)) return buffer;
-      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
-    }
-    function toString2(buffer, encoding, start, end) {
-      return toBuffer(buffer).toString(encoding, start, end);
-    }
-    function write(buffer, string, offset, length, encoding) {
-      return toBuffer(buffer).write(string, offset, length, encoding);
-    }
-    function writeDoubleLE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleLE(value, offset);
-    }
-    function writeFloatLE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatLE(value, offset);
-    }
-    function writeUInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32LE(value, offset);
-    }
-    function writeInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32LE(value, offset);
-    }
-    function readDoubleLE(buffer, offset) {
-      return toBuffer(buffer).readDoubleLE(offset);
-    }
-    function readFloatLE(buffer, offset) {
-      return toBuffer(buffer).readFloatLE(offset);
-    }
-    function readUInt32LE(buffer, offset) {
-      return toBuffer(buffer).readUInt32LE(offset);
-    }
-    function readInt32LE(buffer, offset) {
-      return toBuffer(buffer).readInt32LE(offset);
-    }
-    function writeDoubleBE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleBE(value, offset);
-    }
-    function writeFloatBE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatBE(value, offset);
-    }
-    function writeUInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32BE(value, offset);
-    }
-    function writeInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32BE(value, offset);
-    }
-    function readDoubleBE(buffer, offset) {
-      return toBuffer(buffer).readDoubleBE(offset);
-    }
-    function readFloatBE(buffer, offset) {
-      return toBuffer(buffer).readFloatBE(offset);
-    }
-    function readUInt32BE(buffer, offset) {
-      return toBuffer(buffer).readUInt32BE(offset);
-    }
-    function readInt32BE(buffer, offset) {
-      return toBuffer(buffer).readInt32BE(offset);
-    }
+// node_modules/undici/lib/fileapi/symbols.js
+var require_symbols13 = __commonJS({
+  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      isBuffer,
-      isEncoding,
-      alloc,
-      allocUnsafe,
-      allocUnsafeSlow,
-      byteLength,
-      compare: compare2,
-      concat,
-      copy,
-      equals,
-      fill,
-      from,
-      includes,
-      indexOf,
-      lastIndexOf,
-      swap16,
-      swap32,
-      swap64,
-      toBuffer,
-      toString: toString2,
-      write,
-      writeDoubleLE,
-      writeFloatLE,
-      writeUInt32LE,
-      writeInt32LE,
-      readDoubleLE,
-      readFloatLE,
-      readUInt32LE,
-      readInt32LE,
-      writeDoubleBE,
-      writeFloatBE,
-      writeUInt32BE,
-      writeInt32BE,
-      readDoubleBE,
-      readFloatBE,
-      readUInt32BE,
-      readInt32BE
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/text-decoder/lib/pass-through-decoder.js
-var require_pass_through_decoder = __commonJS({
-  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class PassThroughDecoder {
-      constructor(encoding) {
-        this.encoding = encoding;
+// node_modules/undici/lib/fileapi/progressevent.js
+var require_progressevent3 = __commonJS({
+  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get remaining() {
-        return 0;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      decode(tail) {
-        return b4a.toString(tail, this.encoding);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      flush() {
-        return "";
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
+      }
+    };
+    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
+      {
+        key: "lengthComputable",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "loaded",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: 0
+      },
+      {
+        key: "total",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: 0
+      },
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: false
       }
+    ]);
+    module2.exports = {
+      ProgressEvent
     };
   }
 });
 
-// node_modules/text-decoder/lib/utf8-decoder.js
-var require_utf8_decoder = __commonJS({
-  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class UTF8Decoder {
-      constructor() {
-        this.codePoint = 0;
-        this.bytesSeen = 0;
-        this.bytesNeeded = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
-      }
-      get remaining() {
-        return this.bytesSeen;
-      }
-      decode(data) {
-        if (this.bytesNeeded === 0) {
-          let isBoundary = true;
-          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
-            isBoundary = data[i] <= 127;
-          }
-          if (isBoundary) return b4a.toString(data, "utf8");
-        }
-        let result = "";
-        for (let i = 0, n = data.byteLength; i < n; i++) {
-          const byte = data[i];
-          if (this.bytesNeeded === 0) {
-            if (byte <= 127) {
-              result += String.fromCharCode(byte);
-            } else {
-              this.bytesSeen = 1;
-              if (byte >= 194 && byte <= 223) {
-                this.bytesNeeded = 2;
-                this.codePoint = byte & 31;
-              } else if (byte >= 224 && byte <= 239) {
-                if (byte === 224) this.lowerBoundary = 160;
-                else if (byte === 237) this.upperBoundary = 159;
-                this.bytesNeeded = 3;
-                this.codePoint = byte & 15;
-              } else if (byte >= 240 && byte <= 244) {
-                if (byte === 240) this.lowerBoundary = 144;
-                if (byte === 244) this.upperBoundary = 143;
-                this.bytesNeeded = 4;
-                this.codePoint = byte & 7;
-              } else {
-                result += "\uFFFD";
-              }
-            }
-            continue;
-          }
-          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
-            this.codePoint = 0;
-            this.bytesNeeded = 0;
-            this.bytesSeen = 0;
-            this.lowerBoundary = 128;
-            this.upperBoundary = 191;
-            result += "\uFFFD";
-            continue;
-          }
-          this.lowerBoundary = 128;
-          this.upperBoundary = 191;
-          this.codePoint = this.codePoint << 6 | byte & 63;
-          this.bytesSeen++;
-          if (this.bytesSeen !== this.bytesNeeded) continue;
-          result += String.fromCodePoint(this.codePoint);
-          this.codePoint = 0;
-          this.bytesNeeded = 0;
-          this.bytesSeen = 0;
-        }
-        return result;
+// node_modules/undici/lib/fileapi/encoding.js
+var require_encoding3 = __commonJS({
+  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      flush() {
-        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
-        this.codePoint = 0;
-        this.bytesNeeded = 0;
-        this.bytesSeen = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
-        return result;
+      switch (label.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";
       }
+    }
+    module2.exports = {
+      getEncoding
     };
   }
 });
 
-// node_modules/text-decoder/index.js
-var require_text_decoder = __commonJS({
-  "node_modules/text-decoder/index.js"(exports2, module2) {
-    var PassThroughDecoder = require_pass_through_decoder();
-    var UTF8Decoder = require_utf8_decoder();
-    module2.exports = class TextDecoder {
-      constructor(encoding = "utf8") {
-        this.encoding = normalizeEncoding(encoding);
-        switch (this.encoding) {
-          case "utf8":
-            this.decoder = new UTF8Decoder();
+// node_modules/undici/lib/fileapi/util.js
+var require_util27 = __commonJS({
+  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+    "use strict";
+    var {
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols13();
+    var { ProgressEvent } = require_progressevent3();
+    var { getEncoding } = require_encoding3();
+    var { DOMException: DOMException2 } = require_constants21();
+    var { serializeAMimeType, parseMIMEType } = require_dataURL();
+    var { types } = require("util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException2("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream = blob.stream();
+      const reader = stream.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
+          try {
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
+            }
+            isFirstChunk = false;
+            if (!done && types.isUint8Array(value)) {
+              bytes.push(value);
+              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
+                fr[kLastProgressEventFired] = Date.now();
+                queueMicrotask(() => {
+                  fireAProgressEvent("progress", fr);
+                });
+              }
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
+              }
+            });
             break;
-          case "utf16le":
-          case "base64":
-            throw new Error("Unsupported encoding: " + this.encoding);
-          default:
-            this.decoder = new PassThroughDecoder(this.encoding);
+          }
+        }
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
+          }
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
+          }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
+        }
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
+          }
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
+          }
+          if (encoding === "failure") {
+            encoding = "UTF-8";
+          }
+          return decode(bytes, encoding);
+        }
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
+        }
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
       }
-      get remaining() {
-        return this.decoder.remaining;
-      }
-      push(data) {
-        if (typeof data === "string") return data;
-        return this.decoder.decode(data);
-      }
-      // For Node.js compatibility
-      write(data) {
-        return this.push(data);
-      }
-      end(data) {
-        let result = "";
-        if (data) result = this.push(data);
-        result += this.decoder.flush();
-        return result;
+    }
+    function decode(ioQueue, encoding) {
+      const bytes = combineByteSequences(ioQueue);
+      const BOMEncoding = BOMSniffing(bytes);
+      let slice = 0;
+      if (BOMEncoding !== null) {
+        encoding = BOMEncoding;
+        slice = BOMEncoding === "UTF-8" ? 3 : 2;
       }
-    };
-    function normalizeEncoding(encoding) {
-      encoding = encoding.toLowerCase();
-      switch (encoding) {
-        case "utf8":
-        case "utf-8":
-          return "utf8";
-        case "ucs2":
-        case "ucs-2":
-        case "utf16le":
-        case "utf-16le":
-          return "utf16le";
-        case "latin1":
-        case "binary":
-          return "latin1";
-        case "base64":
-        case "ascii":
-        case "hex":
-          return encoding;
-        default:
-          throw new Error("Unknown encoding: " + encoding);
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
+    }
+    function BOMSniffing(ioQueue) {
+      const [a, b, c] = ioQueue;
+      if (a === 239 && b === 187 && c === 191) {
+        return "UTF-8";
+      } else if (a === 254 && b === 255) {
+        return "UTF-16BE";
+      } else if (a === 255 && b === 254) {
+        return "UTF-16LE";
       }
+      return null;
+    }
+    function combineByteSequences(sequences) {
+      const size = sequences.reduce((a, b) => {
+        return a + b.byteLength;
+      }, 0);
+      let offset = 0;
+      return sequences.reduce((a, b) => {
+        a.set(b, offset);
+        offset += b.byteLength;
+        return a;
+      }, new Uint8Array(size));
     }
+    module2.exports = {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    };
   }
 });
 
-// node_modules/streamx/index.js
-var require_streamx = __commonJS({
-  "node_modules/streamx/index.js"(exports2, module2) {
-    var { EventEmitter } = require("events");
-    var STREAM_DESTROYED = new Error("Stream was destroyed");
-    var PREMATURE_CLOSE = new Error("Premature close");
-    var queueTick = require_process_next_tick();
-    var FIFO = require_fast_fifo();
-    var TextDecoder2 = require_text_decoder();
-    var MAX = (1 << 29) - 1;
-    var OPENING = 1;
-    var PREDESTROYING = 2;
-    var DESTROYING = 4;
-    var DESTROYED = 8;
-    var NOT_OPENING = MAX ^ OPENING;
-    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
-    var READ_ACTIVE = 1 << 4;
-    var READ_UPDATING = 2 << 4;
-    var READ_PRIMARY = 4 << 4;
-    var READ_QUEUED = 8 << 4;
-    var READ_RESUMED = 16 << 4;
-    var READ_PIPE_DRAINED = 32 << 4;
-    var READ_ENDING = 64 << 4;
-    var READ_EMIT_DATA = 128 << 4;
-    var READ_EMIT_READABLE = 256 << 4;
-    var READ_EMITTED_READABLE = 512 << 4;
-    var READ_DONE = 1024 << 4;
-    var READ_NEXT_TICK = 2048 << 4;
-    var READ_NEEDS_PUSH = 4096 << 4;
-    var READ_READ_AHEAD = 8192 << 4;
-    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
-    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
-    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
-    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
-    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
-    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
-    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
-    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
-    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
-    var READ_PAUSED = MAX ^ READ_RESUMED;
-    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
-    var READ_NOT_ENDING = MAX ^ READ_ENDING;
-    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
-    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
-    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
-    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
-    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
-    var WRITE_ACTIVE = 1 << 18;
-    var WRITE_UPDATING = 2 << 18;
-    var WRITE_PRIMARY = 4 << 18;
-    var WRITE_QUEUED = 8 << 18;
-    var WRITE_UNDRAINED = 16 << 18;
-    var WRITE_DONE = 32 << 18;
-    var WRITE_EMIT_DRAIN = 64 << 18;
-    var WRITE_NEXT_TICK = 128 << 18;
-    var WRITE_WRITING = 256 << 18;
-    var WRITE_FINISHING = 512 << 18;
-    var WRITE_CORKED = 1024 << 18;
-    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
-    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
-    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
-    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
-    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
-    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
-    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
-    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
-    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
-    var NOT_ACTIVE = MAX ^ ACTIVE;
-    var DONE = READ_DONE | WRITE_DONE;
-    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
-    var OPEN_STATUS = DESTROY_STATUS | OPENING;
-    var AUTO_DESTROY = DESTROY_STATUS | DONE;
-    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
-    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
-    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
-    var IS_OPENING = OPEN_STATUS | TICKING;
-    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
-    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
-    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
-    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
-    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
-    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
-    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
-    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
-    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
-    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
-    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
-    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
-    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
-    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
-    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
-    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
-    var WritableState = class {
-      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
-        this.stream = stream;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark;
-        this.buffered = 0;
-        this.error = null;
-        this.pipeline = null;
-        this.drains = null;
-        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
-        this.map = mapWritable || map2;
-        this.afterWrite = afterWrite.bind(this);
-        this.afterUpdateNextTick = updateWriteNT.bind(this);
-      }
-      get ended() {
-        return (this.stream._duplexState & WRITE_DONE) !== 0;
-      }
-      push(data) {
-        if (this.map !== null) data = this.map(data);
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        if (this.buffered < this.highWaterMark) {
-          this.stream._duplexState |= WRITE_QUEUED;
-          return true;
-        }
-        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
-        return false;
+// node_modules/undici/lib/fileapi/filereader.js
+var require_filereader3 = __commonJS({
+  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+    "use strict";
+    var {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util27();
+    var {
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols13();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
+        super();
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
-        return data;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
       }
-      end(data) {
-        if (typeof data === "function") this.stream.once("finish", data);
-        else if (data !== void 0 && data !== null) this.push(data);
-        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
       }
-      autoBatch(data, cb) {
-        const buffer = [];
-        const stream = this.stream;
-        buffer.push(data);
-        while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
-          buffer.push(stream._writableState.shift());
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsDataText
+       * @param {import('buffer').Blob} blob
+       * @param {string?} encoding
+       */
+      readAsText(blob, encoding = void 0) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding);
         }
-        if ((stream._duplexState & OPEN_STATUS) !== 0) return cb(null);
-        stream._writev(buffer, cb);
+        readOperation(this, blob, "Text", encoding);
       }
-      update() {
-        const stream = this.stream;
-        stream._duplexState |= WRITE_UPDATING;
-        do {
-          while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
-            const data = this.shift();
-            stream._duplexState |= WRITE_ACTIVE_AND_WRITING;
-            stream._write(data, this.afterWrite);
-          }
-          if ((stream._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream._duplexState &= WRITE_NOT_UPDATING;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
       }
-      updateNonPrimary() {
-        const stream = this.stream;
-        if ((stream._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
-          stream._duplexState = (stream._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
-          stream._final(afterFinal.bind(this));
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
           return;
         }
-        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream._duplexState |= ACTIVE;
-            stream._destroy(afterDestroy.bind(this));
-          }
-          return;
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
         }
-        if ((stream._duplexState & IS_OPENING) === OPENING) {
-          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
-          stream._open(afterOpen.bind(this));
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
         }
       }
-      continueUpdate() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        return true;
-      }
-      updateCallback() {
-        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
-        else this.updateNextTick();
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
+       */
+      get readyState() {
+        webidl.brandCheck(this, _FileReader);
+        switch (this[kState]) {
+          case "empty":
+            return this.EMPTY;
+          case "loading":
+            return this.LOADING;
+          case "done":
+            return this.DONE;
+        }
       }
-      updateNextTick() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= WRITE_NEXT_TICK;
-        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
       }
-    };
-    var ReadableState = class {
-      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
-        this.stream = stream;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
-        this.buffered = 0;
-        this.readAhead = highWaterMark > 0;
-        this.error = null;
-        this.pipeline = null;
-        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
-        this.map = mapReadable || map2;
-        this.pipeTo = null;
-        this.afterRead = afterRead.bind(this);
-        this.afterUpdateNextTick = updateReadNT.bind(this);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
       }
-      get ended() {
-        return (this.stream._duplexState & READ_DONE) !== 0;
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
       }
-      pipe(pipeTo, cb) {
-        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
-        if (typeof cb !== "function") cb = null;
-        this.stream._duplexState |= READ_PIPE_DRAINED;
-        this.pipeTo = pipeTo;
-        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
-        if (cb) this.stream.on("error", noop3);
-        if (isStreamx(pipeTo)) {
-          pipeTo._writableState.pipeline = this.pipeline;
-          if (cb) pipeTo.on("error", noop3);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+      set onloadend(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadend) {
+          this.removeEventListener("loadend", this[kEvents].loadend);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].loadend = fn;
+          this.addEventListener("loadend", fn);
         } else {
-          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
-          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
-          pipeTo.on("error", onerror);
-          pipeTo.on("close", onclose);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+          this[kEvents].loadend = null;
         }
-        pipeTo.on("drain", afterDrain.bind(this));
-        this.stream.emit("piping", pipeTo);
-        pipeTo.emit("pipe", this.stream);
       }
-      push(data) {
-        const stream = this.stream;
-        if (data === null) {
-          this.highWaterMark = 0;
-          stream._duplexState = (stream._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
-          return false;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
+      }
+      set onerror(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].error) {
+          this.removeEventListener("error", this[kEvents].error);
         }
-        if (this.map !== null) {
-          data = this.map(data);
-          if (data === null) {
-            stream._duplexState &= READ_PUSHED;
-            return this.buffered < this.highWaterMark;
-          }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
         }
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        stream._duplexState = (stream._duplexState | READ_QUEUED) & READ_PUSHED;
-        return this.buffered < this.highWaterMark;
       }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
-        return data;
-      }
-      unshift(data) {
-        const pending = [this.map !== null ? this.map(data) : data];
-        while (this.buffered > 0) pending.push(this.shift());
-        for (let i = 0; i < pending.length - 1; i++) {
-          const data2 = pending[i];
-          this.buffered += this.byteLength(data2);
-          this.queue.push(data2);
-        }
-        this.push(pending[pending.length - 1]);
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      read() {
-        const stream = this.stream;
-        if ((stream._duplexState & READ_STATUS) === READ_QUEUED) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
-          return data;
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-        if (this.readAhead === false) {
-          stream._duplexState |= READ_READ_AHEAD;
-          this.updateNextTick();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        return null;
       }
-      drain() {
-        const stream = this.stream;
-        while ((stream._duplexState & READ_STATUS) === READ_QUEUED && (stream._duplexState & READ_FLOWING) !== 0) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
+      get onprogress() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].progress;
+      }
+      set onprogress(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].progress) {
+          this.removeEventListener("progress", this[kEvents].progress);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
       }
-      update() {
-        const stream = this.stream;
-        stream._duplexState |= READ_UPDATING;
-        do {
-          this.drain();
-          while (this.buffered < this.highWaterMark && (stream._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
-            stream._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
-            stream._read(this.afterRead);
-            this.drain();
-          }
-          if ((stream._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
-            stream._duplexState |= READ_EMITTED_READABLE;
-            stream.emit("readable");
-          }
-          if ((stream._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream._duplexState &= READ_NOT_UPDATING;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      updateNonPrimary() {
-        const stream = this.stream;
-        if ((stream._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
-          stream._duplexState = (stream._duplexState | READ_DONE) & READ_NOT_ENDING;
-          stream.emit("end");
-          if ((stream._duplexState & AUTO_DESTROY) === DONE) stream._duplexState |= DESTROYING;
-          if (this.pipeTo !== null) this.pipeTo.end();
-        }
-        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream._duplexState |= ACTIVE;
-            stream._destroy(afterDestroy.bind(this));
-          }
-          return;
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
         }
-        if ((stream._duplexState & IS_OPENING) === OPENING) {
-          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
-          stream._open(afterOpen.bind(this));
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
         }
       }
-      continueUpdate() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        return true;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      updateCallback() {
-        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
-        else this.updateNextTick();
+      set onabort(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].abort) {
+          this.removeEventListener("abort", this[kEvents].abort);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].abort = fn;
+          this.addEventListener("abort", fn);
+        } else {
+          this[kEvents].abort = null;
+        }
       }
-      updateNextTick() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= READ_NEXT_TICK;
-        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+    };
+    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
+    FileReader.LOADING = FileReader.prototype.LOADING = 1;
+    FileReader.DONE = FileReader.prototype.DONE = 2;
+    Object.defineProperties(FileReader.prototype, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors,
+      readAsArrayBuffer: kEnumerableProperty,
+      readAsBinaryString: kEnumerableProperty,
+      readAsText: kEnumerableProperty,
+      readAsDataURL: kEnumerableProperty,
+      abort: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      result: kEnumerableProperty,
+      error: kEnumerableProperty,
+      onloadstart: kEnumerableProperty,
+      onprogress: kEnumerableProperty,
+      onload: kEnumerableProperty,
+      onabort: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onloadend: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FileReader",
+        writable: false,
+        enumerable: false,
+        configurable: true
       }
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
+    module2.exports = {
+      FileReader
     };
-    var TransformState = class {
-      constructor(stream) {
-        this.data = null;
-        this.afterTransform = afterTransform.bind(stream);
-        this.afterFinal = null;
+  }
+});
+
+// node_modules/undici/lib/cache/symbols.js
+var require_symbols14 = __commonJS({
+  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols11().kConstruct
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/util.js
+var require_util28 = __commonJS({
+  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { URLSerializer } = require_dataURL();
+    var { isValidHeaderName } = require_util25();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
+    }
+    function fieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (!value.length) {
+          continue;
+        } else if (!isValidHeaderName(value)) {
+          continue;
+        }
+        values.push(value);
       }
+      return values;
+    }
+    module2.exports = {
+      urlEquals,
+      fieldValues
     };
-    var Pipeline = class {
-      constructor(src, dst, cb) {
-        this.from = src;
-        this.to = dst;
-        this.afterPipe = cb;
-        this.error = null;
-        this.pipeToFinished = false;
+  }
+});
+
+// node_modules/undici/lib/cache/cache.js
+var require_cache6 = __commonJS({
+  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { urlEquals, fieldValues: getFieldValues } = require_util28();
+    var { kEnumerableProperty, isDisturbed } = require_util24();
+    var { kHeadersList } = require_symbols11();
+    var { webidl } = require_webidl3();
+    var { Response, cloneResponse } = require_response4();
+    var { Request } = require_request6();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { fetching } = require_fetch3();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util25();
+    var assert = require("assert");
+    var { getGlobalDispatcher } = require_global6();
+    var Cache = class _Cache {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
+       * @type {requestResponseList}
+       */
+      #relevantRequestResponseList;
+      constructor() {
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
+        }
+        this.#relevantRequestResponseList = arguments[1];
       }
-      finished() {
-        this.pipeToFinished = true;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        const p = await this.matchAll(request2, options);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
       }
-      done(stream, err) {
-        if (err) this.error = err;
-        if (stream === this.to) {
-          this.to = null;
-          if (this.from !== null) {
-            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
-              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
             }
-            return;
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
         }
-        if (stream === this.from) {
-          this.from = null;
-          if (this.to !== null) {
-            if ((stream._duplexState & READ_DONE) === 0) {
-              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
-            }
-            return;
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
           }
         }
-        if (this.afterPipe !== null) this.afterPipe(this.error);
-        this.to = this.from = this.afterPipe = null;
-      }
-    };
-    function afterDrain() {
-      this.stream._duplexState |= READ_PIPE_DRAINED;
-      this.updateCallback();
-    }
-    function afterFinal(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      if ((stream._duplexState & DESTROY_STATUS) === 0) {
-        stream._duplexState |= WRITE_DONE;
-        stream.emit("finish");
-      }
-      if ((stream._duplexState & AUTO_DESTROY) === DONE) {
-        stream._duplexState |= DESTROYING;
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = new Response(response.body?.source ?? null);
+          const body = responseObject[kState].body;
+          responseObject[kState] = response;
+          responseObject[kState].body = body;
+          responseObject[kHeaders][kHeadersList] = response.headersList;
+          responseObject[kHeaders][kGuard] = "immutable";
+          responseList.push(responseObject);
+        }
+        return Object.freeze(responseList);
       }
-      stream._duplexState &= WRITE_NOT_ACTIVE;
-      if ((stream._duplexState & WRITE_UPDATING) === 0) this.update();
-      else this.updateNextTick();
-    }
-    function afterDestroy(err) {
-      const stream = this.stream;
-      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
-      if (err) stream.emit("error", err);
-      stream._duplexState |= DESTROYED;
-      stream.emit("close");
-      const rs = stream._readableState;
-      const ws = stream._writableState;
-      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream, err);
-      if (ws !== null) {
-        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
-        if (ws.pipeline !== null) ws.pipeline.done(stream, err);
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
+        request2 = webidl.converters.RequestInfo(request2);
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
       }
-    }
-    function afterWrite(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      stream._duplexState &= WRITE_NOT_ACTIVE;
-      if (this.drains !== null) tickDrains(this.drains);
-      if ((stream._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
-        stream._duplexState &= WRITE_DRAINED;
-        if ((stream._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
-          stream.emit("drain");
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
+        requests = webidl.converters["sequence"](requests);
+        const responsePromises = [];
+        const requestList = [];
+        for (const request2 of requests) {
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme when method is not GET."
+            });
+          }
+        }
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme."
+            });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            dispatcher: getGlobalDispatcher(),
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
+        }
+        const p = Promise.all(responsePromises);
+        const responses = await p;
+        const operations = [];
+        let index = 0;
+        for (const response of responses) {
+          const operation = {
+            type: "put",
+            // 7.3.2
+            request: requestList[index],
+            // 7.3.3
+            response
+            // 7.3.4
+          };
+          operations.push(operation);
+          index++;
         }
-      }
-      this.updateCallback();
-    }
-    function afterRead(err) {
-      if (err) this.stream.destroy(err);
-      this.stream._duplexState &= READ_NOT_ACTIVE;
-      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
-      this.updateCallback();
-    }
-    function updateReadNT() {
-      if ((this.stream._duplexState & READ_UPDATING) === 0) {
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        this.update();
-      }
-    }
-    function updateWriteNT() {
-      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        this.update();
-      }
-    }
-    function tickDrains(drains) {
-      for (let i = 0; i < drains.length; i++) {
-        if (--drains[i].writes === 0) {
-          drains.shift().resolve(true);
-          i--;
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
         }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(void 0);
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
+        });
+        return cacheJobPromise.promise;
       }
-    }
-    function afterOpen(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      if ((stream._duplexState & DESTROYING) === 0) {
-        if ((stream._duplexState & READ_PRIMARY_STATUS) === 0) stream._duplexState |= READ_PRIMARY;
-        if ((stream._duplexState & WRITE_PRIMARY_STATUS) === 0) stream._duplexState |= WRITE_PRIMARY;
-        stream.emit("open");
-      }
-      stream._duplexState &= NOT_ACTIVE;
-      if (stream._writableState !== null) {
-        stream._writableState.updateCallback();
-      }
-      if (stream._readableState !== null) {
-        stream._readableState.updateCallback();
-      }
-    }
-    function afterTransform(err, data) {
-      if (data !== void 0 && data !== null) this.push(data);
-      this._writableState.afterWrite(err);
-    }
-    function newListener(name) {
-      if (this._readableState !== null) {
-        if (name === "data") {
-          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
-          this._readableState.updateNextTick();
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
+        request2 = webidl.converters.RequestInfo(request2);
+        response = webidl.converters.Response(response);
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
         }
-        if (name === "readable") {
-          this._duplexState |= READ_EMIT_READABLE;
-          this._readableState.updateNextTick();
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Expected an http/s scheme when method is not GET"
+          });
         }
-      }
-      if (this._writableState !== null) {
-        if (name === "drain") {
-          this._duplexState |= WRITE_EMIT_DRAIN;
-          this._writableState.updateNextTick();
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Got 206 status"
+          });
         }
-      }
-    }
-    var Stream = class extends EventEmitter {
-      constructor(opts) {
-        super();
-        this._duplexState = 0;
-        this._readableState = null;
-        this._writableState = null;
-        if (opts) {
-          if (opts.open) this._open = opts.open;
-          if (opts.destroy) this._destroy = opts.destroy;
-          if (opts.predestroy) this._predestroy = opts.predestroy;
-          if (opts.signal) {
-            opts.signal.addEventListener("abort", abort.bind(this));
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: "Cache.put",
+                message: "Got * vary field value"
+              });
+            }
           }
         }
-        this.on("newListener", newListener);
-      }
-      _open(cb) {
-        cb(null);
-      }
-      _destroy(cb) {
-        cb(null);
-      }
-      _predestroy() {
-      }
-      get readable() {
-        return this._readableState !== null ? true : void 0;
-      }
-      get writable() {
-        return this._writableState !== null ? true : void 0;
-      }
-      get destroyed() {
-        return (this._duplexState & DESTROYED) !== 0;
-      }
-      get destroying() {
-        return (this._duplexState & DESTROY_STATUS) !== 0;
-      }
-      destroy(err) {
-        if ((this._duplexState & DESTROY_STATUS) === 0) {
-          if (!err) err = STREAM_DESTROYED;
-          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
-          if (this._readableState !== null) {
-            this._readableState.highWaterMark = 0;
-            this._readableState.error = err;
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Response body is locked or disturbed"
+          });
+        }
+        const clonedResponse = cloneResponse(innerResponse);
+        const bodyReadPromise = createDeferredPromise();
+        if (innerResponse.body != null) {
+          const stream = innerResponse.body.stream;
+          const reader = stream.getReader();
+          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+        } else {
+          bodyReadPromise.resolve(void 0);
+        }
+        const operations = [];
+        const operation = {
+          type: "put",
+          // 14.
+          request: innerRequest,
+          // 15.
+          response: clonedResponse
+          // 16.
+        };
+        operations.push(operation);
+        const bytes = await bodyReadPromise.promise;
+        if (clonedResponse.body != null) {
+          clonedResponse.body.source = bytes;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve();
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          if (this._writableState !== null) {
-            this._writableState.highWaterMark = 0;
-            this._writableState.error = err;
+        });
+        return cacheJobPromise.promise;
+      }
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
           }
-          this._duplexState |= PREDESTROYING;
-          this._predestroy();
-          this._duplexState &= NOT_PREDESTROYING;
-          if (this._readableState !== null) this._readableState.updateNextTick();
-          if (this._writableState !== null) this._writableState.updateNextTick();
+        } else {
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-    };
-    var Readable = class _Readable extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
-        this._readableState = new ReadableState(this, opts);
-        if (opts) {
-          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
-          if (opts.read) this._read = opts.read;
-          if (opts.eagerOpen) this._readableState.updateNextTick();
-          if (opts.encoding) this.setEncoding(opts.encoding);
+        const operations = [];
+        const operation = {
+          type: "delete",
+          request: r,
+          options
+        };
+        operations.push(operation);
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        let requestResponses;
+        try {
+          requestResponses = this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
         }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
+        });
+        return cacheJobPromise.promise;
       }
-      setEncoding(encoding) {
-        const dec = new TextDecoder2(encoding);
-        const map2 = this._readableState.map || echo;
-        this._readableState.map = mapOrSkip;
-        return this;
-        function mapOrSkip(data) {
-          const next = dec.push(data);
-          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {readonly Request[]}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
+          }
         }
-      }
-      _read(cb) {
-        cb(null);
-      }
-      pipe(dest, cb) {
-        this._readableState.updateNextTick();
-        this._readableState.pipe(dest, cb);
-        return dest;
-      }
-      read() {
-        this._readableState.updateNextTick();
-        return this._readableState.read();
-      }
-      push(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.push(data);
-      }
-      unshift(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.unshift(data);
-      }
-      resume() {
-        this._duplexState |= READ_RESUMED_READ_AHEAD;
-        this._readableState.updateNextTick();
-        return this;
-      }
-      pause() {
-        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
-        return this;
-      }
-      static _fromAsyncIterator(ite, opts) {
-        let destroy;
-        const rs = new _Readable({
-          ...opts,
-          read(cb) {
-            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
-          },
-          predestroy() {
-            destroy = ite.return();
-          },
-          destroy(cb) {
-            if (!destroy) return cb(null);
-            destroy.then(cb.bind(null, null)).catch(cb);
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
           }
-        });
-        return rs;
-        function push(data) {
-          if (data.done) rs.push(null);
-          else rs.push(data.value);
         }
-      }
-      static from(data, opts) {
-        if (isReadStreamx(data)) return data;
-        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
-        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
-        let i = 0;
-        return new _Readable({
-          ...opts,
-          read(cb) {
-            this.push(i === data.length ? null : data[i++]);
-            cb(null);
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = new Request("https://a");
+            requestObject[kState] = request3;
+            requestObject[kHeaders][kHeadersList] = request3.headersList;
+            requestObject[kHeaders][kGuard] = "immutable";
+            requestObject[kRealm] = request3.client;
+            requestList.push(requestObject);
           }
+          promise.resolve(Object.freeze(requestList));
         });
+        return promise.promise;
       }
-      static isBackpressured(rs) {
-        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
-      }
-      static isPaused(rs) {
-        return (rs._duplexState & READ_RESUMED) === 0;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
+       * @param {CacheBatchOperation[]} operations
+       * @returns {requestResponseList}
+       */
+      #batchCacheOperations(operations) {
+        const cache = this.#relevantRequestResponseList;
+        const backupCache = [...cache];
+        const addedItems = [];
+        const resultList = [];
+        try {
+          for (const operation of operations) {
+            if (operation.type !== "delete" && operation.type !== "put") {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: 'operation type does not match "delete" or "put"'
+              });
+            }
+            if (operation.type === "delete" && operation.response != null) {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: "delete operation should not have an associated response"
+              });
+            }
+            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
+              throw new DOMException("???", "InvalidStateError");
+            }
+            let requestResponses;
+            if (operation.type === "delete") {
+              requestResponses = this.#queryCache(operation.request, operation.options);
+              if (requestResponses.length === 0) {
+                return [];
+              }
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+            } else if (operation.type === "put") {
+              if (operation.response == null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "put operation should have an associated response"
+                });
+              }
+              const r = operation.request;
+              if (!urlIsHttpHttpsScheme(r.url)) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "expected http or https scheme"
+                });
+              }
+              if (r.method !== "GET") {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "not get method"
+                });
+              }
+              if (operation.options != null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "options must not be defined"
+                });
+              }
+              requestResponses = this.#queryCache(operation.request);
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+              cache.push([operation.request, operation.response]);
+              addedItems.push([operation.request, operation.response]);
+            }
+            resultList.push([operation.request, operation.response]);
+          }
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-      [asyncIterator]() {
-        const stream = this;
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("readable", onreadable);
-        this.on("close", onclose);
-        return {
-          [asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(function(resolve5, reject) {
-              promiseResolve = resolve5;
-              promiseReject = reject;
-              const data = stream.read();
-              if (data !== null) ondata(data);
-              else if ((stream._duplexState & DESTROYED) !== 0) ondata(null);
-            });
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#query-cache
+       * @param {any} requestQuery
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @param {requestResponseList} targetStorage
+       * @returns {requestResponseList}
+       */
+      #queryCache(requestQuery, options, targetStorage) {
+        const resultList = [];
+        const storage = targetStorage ?? this.#relevantRequestResponseList;
+        for (const requestResponse of storage) {
+          const [cachedRequest, cachedResponse] = requestResponse;
+          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
+            resultList.push(requestResponse);
           }
-        };
-        function onreadable() {
-          if (promiseResolve !== null) ondata(stream.read());
         }
-        function onclose() {
-          if (promiseResolve !== null) ondata(null);
+        return resultList;
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
+       * @param {any} requestQuery
+       * @param {any} request
+       * @param {any | null} response
+       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
+       * @returns {boolean}
+       */
+      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
+        const queryURL = new URL(requestQuery.url);
+        const cachedURL = new URL(request2.url);
+        if (options?.ignoreSearch) {
+          cachedURL.search = "";
+          queryURL.search = "";
         }
-        function ondata(data) {
-          if (promiseReject === null) return;
-          if (error3) promiseReject(error3);
-          else if (data === null && (stream._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
-          else promiseResolve({ value: data, done: data === null });
-          promiseReject = promiseResolve = null;
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
         }
-        function destroy(err) {
-          stream.destroy(err);
-          return new Promise((resolve5, reject) => {
-            if (stream._duplexState & DESTROYED) return resolve5({ value: void 0, done: true });
-            stream.once("close", function() {
-              if (err) reject(err);
-              else resolve5({ value: void 0, done: true });
-            });
-          });
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
         }
-      }
-    };
-    var Writable = class extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | READ_DONE;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
-          if (opts.eagerOpen) this._writableState.updateNextTick();
+        const fieldValues = getFieldValues(response.headersList.get("vary"));
+        for (const fieldValue of fieldValues) {
+          if (fieldValue === "*") {
+            return false;
+          }
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
+          }
         }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      static isBackpressured(ws) {
-        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
-      }
-      static drained(ws) {
-        if (ws.destroyed) return Promise.resolve(false);
-        const state = ws._writableState;
-        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
-        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
-        if (writes === 0) return Promise.resolve(true);
-        if (state.drains === null) state.drains = [];
-        return new Promise((resolve5) => {
-          state.drains.push({ writes, resolve: resolve5 });
-        });
-      }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
-      }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
+        return true;
       }
     };
-    var Duplex = class extends Readable {
-      // and Writable
-      constructor(opts) {
-        super(opts);
-        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
-        }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
+    Object.defineProperties(Cache.prototype, {
+      [Symbol.toStringTag]: {
+        value: "Cache",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      matchAll: kEnumerableProperty,
+      add: kEnumerableProperty,
+      addAll: kEnumerableProperty,
+      put: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    var cacheQueryOptionConverters = [
+      {
+        key: "ignoreSearch",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "ignoreMethod",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "ignoreVary",
+        converter: webidl.converters.boolean,
+        defaultValue: false
       }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
     };
-    var Transform = class extends Duplex {
-      constructor(opts) {
-        super(opts);
-        this._transformState = new TransformState(this);
-        if (opts) {
-          if (opts.transform) this._transform = opts.transform;
-          if (opts.flush) this._flush = opts.flush;
+  }
+});
+
+// node_modules/undici/lib/cache/cachestorage.js
+var require_cachestorage3 = __commonJS({
+  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { Cache } = require_cache6();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map= this._readableState.highWaterMark) {
-          this._transformState.data = data;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          this._transform(data, this._transformState.afterTransform);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
       }
-      _read(cb) {
-        if (this._transformState.data !== null) {
-          const data = this._transformState.data;
-          this._transformState.data = null;
-          cb(null);
-          this._transform(data, this._transformState.afterTransform);
-        } else {
-          cb(null);
-        }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.has(cacheName);
       }
-      destroy(err) {
-        super.destroy(err);
-        if (this._transformState.data !== null) {
-          this._transformState.data = null;
-          this._transformState.afterTransform();
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      _transform(data, cb) {
-        cb(null, data);
-      }
-      _flush(cb) {
-        cb(null);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.delete(cacheName);
       }
-      _final(cb) {
-        this._transformState.afterFinal = cb;
-        this._flush(transformAfterFlush.bind(this));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {string[]}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
       }
     };
-    var PassThrough = class extends Transform {
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
     };
-    function transformAfterFlush(err, data) {
-      const cb = this._transformState.afterFinal;
-      if (err) return cb(err);
-      if (data !== null && data !== void 0) this.push(data);
-      this.push(null);
-      cb(null);
-    }
-    function pipelinePromise(...streams) {
-      return new Promise((resolve5, reject) => {
-        return pipeline(...streams, (err) => {
-          if (err) return reject(err);
-          resolve5();
-        });
-      });
-    }
-    function pipeline(stream, ...streams) {
-      const all = Array.isArray(stream) ? [...stream, ...streams] : [stream, ...streams];
-      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
-      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
-      let src = all[0];
-      let dest = null;
-      let error3 = null;
-      for (let i = 1; i < all.length; i++) {
-        dest = all[i];
-        if (isStreamx(src)) {
-          src.pipe(dest, onerror);
-        } else {
-          errorHandle(src, true, i > 1, onerror);
-          src.pipe(dest);
-        }
-        src = dest;
+  }
+});
+
+// node_modules/undici/lib/cookies/constants.js
+var require_constants23 = __commonJS({
+  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/util.js
+var require_util29 = __commonJS({
+  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      if (value.length === 0) {
+        return false;
       }
-      if (done) {
-        let fin = false;
-        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
-        dest.on("error", (err) => {
-          if (error3 === null) error3 = err;
-        });
-        dest.on("finish", () => {
-          fin = true;
-          if (!autoDestroy) done(error3);
-        });
-        if (autoDestroy) {
-          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
+          return false;
         }
       }
-      return dest;
-      function errorHandle(s, rd, wr, onerror2) {
-        s.on("error", onerror2);
-        s.on("close", onclose);
-        function onclose() {
-          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
-          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
+    }
+    function validateCookieName(name) {
+      for (const char of name) {
+        const code = char.charCodeAt(0);
+        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+          throw new Error("Invalid cookie name");
         }
       }
-      function onerror(err) {
-        if (!err || error3) return;
-        error3 = err;
-        for (const s of all) {
-          s.destroy(err);
+    }
+    function validateCookieValue(value) {
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || // exclude CTLs (0-31)
+        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
+          throw new Error("Invalid header value");
         }
       }
     }
-    function echo(s) {
-      return s;
-    }
-    function isStream(stream) {
-      return !!stream._readableState || !!stream._writableState;
-    }
-    function isStreamx(stream) {
-      return typeof stream._duplexState === "number" && isStream(stream);
-    }
-    function isEnded(stream) {
-      return !!stream._readableState && stream._readableState.ended;
-    }
-    function isFinished(stream) {
-      return !!stream._writableState && stream._writableState.ended;
-    }
-    function getStreamError(stream, opts = {}) {
-      const err = stream._readableState && stream._readableState.error || stream._writableState && stream._writableState.error;
-      return !opts.all && err === STREAM_DESTROYED ? null : err;
-    }
-    function isReadStreamx(stream) {
-      return isStreamx(stream) && stream.readable;
-    }
-    function isTypedArray(data) {
-      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
-    }
-    function defaultByteLength(data) {
-      return isTypedArray(data) ? data.byteLength : 1024;
+    function validateCookiePath(path7) {
+      for (const char of path7) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || char === ";") {
+          throw new Error("Invalid cookie path");
+        }
+      }
     }
-    function noop3() {
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
+      }
     }
-    function abort() {
-      this.destroy(new Error("Stream aborted."));
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
+      }
+      const days = [
+        "Sun",
+        "Mon",
+        "Tue",
+        "Wed",
+        "Thu",
+        "Fri",
+        "Sat"
+      ];
+      const months = [
+        "Jan",
+        "Feb",
+        "Mar",
+        "Apr",
+        "May",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Oct",
+        "Nov",
+        "Dec"
+      ];
+      const dayName = days[date.getUTCDay()];
+      const day = date.getUTCDate().toString().padStart(2, "0");
+      const month = months[date.getUTCMonth()];
+      const year = date.getUTCFullYear();
+      const hour = date.getUTCHours().toString().padStart(2, "0");
+      const minute = date.getUTCMinutes().toString().padStart(2, "0");
+      const second = date.getUTCSeconds().toString().padStart(2, "0");
+      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
     }
-    function isWritev(s) {
-      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
+      }
     }
-    module2.exports = {
-      pipeline,
-      pipelinePromise,
-      isStream,
-      isStreamx,
-      isEnded,
-      isFinished,
-      getStreamError,
-      Stream,
-      Writable,
-      Readable,
-      Duplex,
-      Transform,
-      // Export PassThrough for compatibility with Node.js core's stream module
-      PassThrough
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
+      }
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
+      }
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
+      }
+      if (cookie.secure) {
+        out.push("Secure");
+      }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
+      }
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
+      }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
+      }
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
+      }
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
+      }
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
+      }
+      for (const part of cookie.unparsed) {
+        if (!part.includes("=")) {
+          throw new Error("Invalid unparsed");
+        }
+        const [key, ...value] = part.split("=");
+        out.push(`${key.trim()}=${value.join("=")}`);
+      }
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
     };
   }
 });
 
-// node_modules/tar-stream/headers.js
-var require_headers3 = __commonJS({
-  "node_modules/tar-stream/headers.js"(exports2) {
-    var b4a = require_b4a();
-    var ZEROS = "0000000000000000000";
-    var SEVENS = "7777777777777777777";
-    var ZERO_OFFSET = "0".charCodeAt(0);
-    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
-    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
-    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
-    var GNU_VER = b4a.from([32, 0]);
-    var MASK = 4095;
-    var MAGIC_OFFSET = 257;
-    var VERSION_OFFSET = 263;
-    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
-      return decodeStr(buf, 0, buf.length, encoding);
-    };
-    exports2.encodePax = function encodePax(opts) {
-      let result = "";
-      if (opts.name) result += addLength(" path=" + opts.name + "\n");
-      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
-      const pax = opts.pax;
-      if (pax) {
-        for (const key in pax) {
-          result += addLength(" " + key + "=" + pax[key] + "\n");
-        }
-      }
-      return b4a.from(result);
-    };
-    exports2.decodePax = function decodePax(buf) {
-      const result = {};
-      while (buf.length) {
-        let i = 0;
-        while (i < buf.length && buf[i] !== 32) i++;
-        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
-        if (!len) return result;
-        const b = b4a.toString(buf.subarray(i + 1, len - 1));
-        const keyIndex = b.indexOf("=");
-        if (keyIndex === -1) return result;
-        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
-        buf = buf.subarray(len);
+// node_modules/undici/lib/cookies/parse.js
+var require_parse4 = __commonJS({
+  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants23();
+    var { isCTLExcludingHtab } = require_util29();
+    var { collectASequenceOfCodePointsFast } = require_dataURL();
+    var assert = require("assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      return result;
-    };
-    exports2.encode = function encode(opts) {
-      const buf = b4a.alloc(512);
-      let name = opts.name;
-      let prefix = "";
-      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
-      if (b4a.byteLength(name) !== name.length) return null;
-      while (b4a.byteLength(name) > 100) {
-        const i = name.indexOf("/");
-        if (i === -1) return null;
-        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
-        name = name.slice(i + 1);
+      let nameValuePair = "";
+      let unparsedAttributes = "";
+      let name = "";
+      let value = "";
+      if (header.includes(";")) {
+        const position = { position: 0 };
+        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
+        unparsedAttributes = header.slice(position.position);
+      } else {
+        nameValuePair = header;
       }
-      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
-      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
-      b4a.write(buf, name);
-      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
-      b4a.write(buf, encodeOct(opts.uid, 6), 108);
-      b4a.write(buf, encodeOct(opts.gid, 6), 116);
-      encodeSize(opts.size, buf, 124);
-      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
-      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
-      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
-      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
-      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
-      if (opts.uname) b4a.write(buf, opts.uname, 265);
-      if (opts.gname) b4a.write(buf, opts.gname, 297);
-      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
-      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
-      if (prefix) b4a.write(buf, prefix, 345);
-      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
-      return buf;
-    };
-    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
-      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
-      let name = decodeStr(buf, 0, 100, filenameEncoding);
-      const mode = decodeOct(buf, 100, 8);
-      const uid = decodeOct(buf, 108, 8);
-      const gid = decodeOct(buf, 116, 8);
-      const size = decodeOct(buf, 124, 12);
-      const mtime = decodeOct(buf, 136, 12);
-      const type2 = toType(typeflag);
-      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
-      const uname = decodeStr(buf, 265, 32);
-      const gname = decodeStr(buf, 297, 32);
-      const devmajor = decodeOct(buf, 329, 8);
-      const devminor = decodeOct(buf, 337, 8);
-      const c = cksum(buf);
-      if (c === 8 * 32) return null;
-      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
-      if (isUSTAR(buf)) {
-        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
-      } else if (isGNU(buf)) {
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
       } else {
-        if (!allowUnknownFormat) {
-          throw new Error("Invalid tar header: unknown format.");
-        }
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
+        );
+        value = nameValuePair.slice(position.position + 1);
+      }
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
       return {
         name,
-        mode,
-        uid,
-        gid,
-        size,
-        mtime: new Date(1e3 * mtime),
-        type: type2,
-        linkname,
-        uname,
-        gname,
-        devmajor,
-        devminor,
-        pax: null
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-    };
-    function isUSTAR(buf) {
-      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
-    }
-    function isGNU(buf) {
-      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
     }
-    function clamp(index, len, defaultValue) {
-      if (typeof index !== "number") return defaultValue;
-      index = ~~index;
-      if (index >= len) return len;
-      if (index >= 0) return index;
-      index += len;
-      if (index >= 0) return index;
-      return 0;
-    }
-    function toType(flag) {
-      switch (flag) {
-        case 0:
-          return "file";
-        case 1:
-          return "link";
-        case 2:
-          return "symlink";
-        case 3:
-          return "character-device";
-        case 4:
-          return "block-device";
-        case 5:
-          return "directory";
-        case 6:
-          return "fifo";
-        case 7:
-          return "contiguous-file";
-        case 72:
-          return "pax-header";
-        case 55:
-          return "pax-global-header";
-        case 27:
-          return "gnu-long-link-path";
-        case 28:
-        case 30:
-          return "gnu-long-path";
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      return null;
-    }
-    function toTypeflag(flag) {
-      switch (flag) {
-        case "file":
-          return 0;
-        case "link":
-          return 1;
-        case "symlink":
-          return 2;
-        case "character-device":
-          return 3;
-        case "block-device":
-          return 4;
-        case "directory":
-          return 5;
-        case "fifo":
-          return 6;
-        case "contiguous-file":
-          return 7;
-        case "pax-header":
-          return 72;
+      assert(unparsedAttributes[0] === ";");
+      unparsedAttributes = unparsedAttributes.slice(1);
+      let cookieAv = "";
+      if (unparsedAttributes.includes(";")) {
+        cookieAv = collectASequenceOfCodePointsFast(
+          ";",
+          unparsedAttributes,
+          { position: 0 }
+        );
+        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
+      } else {
+        cookieAv = unparsedAttributes;
+        unparsedAttributes = "";
       }
-      return 0;
-    }
-    function indexOf(block, num, offset, end) {
-      for (; offset < end; offset++) {
-        if (block[offset] === num) return offset;
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      return end;
-    }
-    function cksum(block) {
-      let sum = 8 * 32;
-      for (let i = 0; i < 148; i++) sum += block[i];
-      for (let j = 156; j < 512; j++) sum += block[j];
-      return sum;
-    }
-    function encodeOct(val, n) {
-      val = val.toString(8);
-      if (val.length > n) return SEVENS.slice(0, n) + " ";
-      return ZEROS.slice(0, n - val.length) + val + " ";
-    }
-    function encodeSizeBin(num, buf, off) {
-      buf[off] = 128;
-      for (let i = 11; i > 0; i--) {
-        buf[off + i] = num & 255;
-        num = Math.floor(num / 256);
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-    }
-    function encodeSize(num, buf, off) {
-      if (num.toString(8).length > 11) {
-        encodeSizeBin(num, buf, off);
+      const attributeNameLowercase = attributeName.toLowerCase();
+      if (attributeNameLowercase === "expires") {
+        const expiryTime = new Date(attributeValue);
+        cookieAttributeList.expires = expiryTime;
+      } else if (attributeNameLowercase === "max-age") {
+        const charCode = attributeValue.charCodeAt(0);
+        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        }
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
+        }
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
+        } else {
+          cookiePath = attributeValue;
+        }
+        cookieAttributeList.path = cookiePath;
+      } else if (attributeNameLowercase === "secure") {
+        cookieAttributeList.secure = true;
+      } else if (attributeNameLowercase === "httponly") {
+        cookieAttributeList.httpOnly = true;
+      } else if (attributeNameLowercase === "samesite") {
+        let enforcement = "Default";
+        const attributeValueLowercase = attributeValue.toLowerCase();
+        if (attributeValueLowercase.includes("none")) {
+          enforcement = "None";
+        }
+        if (attributeValueLowercase.includes("strict")) {
+          enforcement = "Strict";
+        }
+        if (attributeValueLowercase.includes("lax")) {
+          enforcement = "Lax";
+        }
+        cookieAttributeList.sameSite = enforcement;
       } else {
-        b4a.write(buf, encodeOct(num, 11), off);
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
       }
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
     }
-    function parse256(buf) {
-      let positive;
-      if (buf[0] === 128) positive = true;
-      else if (buf[0] === 255) positive = false;
-      else return null;
-      const tuple = [];
-      let i;
-      for (i = buf.length - 1; i > 0; i--) {
-        const byte = buf[i];
-        if (positive) tuple.push(byte);
-        else tuple.push(255 - byte);
+    module2.exports = {
+      parseSetCookie,
+      parseUnparsedAttributes
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/index.js
+var require_cookies3 = __commonJS({
+  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+    "use strict";
+    var { parseSetCookie } = require_parse4();
+    var { stringify } = require_util29();
+    var { webidl } = require_webidl3();
+    var { Headers } = require_headers4();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
       }
-      let sum = 0;
-      const l = tuple.length;
-      for (i = 0; i < l; i++) {
-        sum += tuple[i] * Math.pow(256, i);
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
       }
-      return positive ? sum : -1 * sum;
+      return out;
     }
-    function decodeOct(val, offset, length) {
-      val = val.subarray(offset, offset + length);
-      offset = 0;
-      if (val[offset] & 128) {
-        return parse256(val);
-      } else {
-        while (offset < val.length && val[offset] === 32) offset++;
-        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
-        while (offset < end && val[offset] === 0) offset++;
-        if (end === offset) return 0;
-        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
-      }
+    function deleteCookie(headers, name, attributes) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      name = webidl.converters.DOMString(name);
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
     }
-    function decodeStr(val, offset, length, encoding) {
-      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
+      }
+      return cookies.map((pair) => parseSetCookie(pair));
     }
-    function addLength(str2) {
-      const len = b4a.byteLength(str2);
-      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
-      if (len + digits >= Math.pow(10, digits)) digits++;
-      return len + digits + str2;
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", stringify(cookie));
+      }
     }
+    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: null
+      }
+    ]);
+    webidl.converters.Cookie = webidl.dictionaryConverter([
+      {
+        converter: webidl.converters.DOMString,
+        key: "name"
+      },
+      {
+        converter: webidl.converters.DOMString,
+        key: "value"
+      },
+      {
+        converter: webidl.nullableConverter((value) => {
+          if (typeof value === "number") {
+            return webidl.converters["unsigned long long"](value);
+          }
+          return new Date(value);
+        }),
+        key: "expires",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters["long long"]),
+        key: "maxAge",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "secure",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "httpOnly",
+        defaultValue: null
+      },
+      {
+        converter: webidl.converters.USVString,
+        key: "sameSite",
+        allowedValues: ["Strict", "Lax", "None"]
+      },
+      {
+        converter: webidl.sequenceConverter(webidl.converters.DOMString),
+        key: "unparsed",
+        defaultValue: []
+      }
+    ]);
+    module2.exports = {
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
+    };
   }
 });
 
-// node_modules/tar-stream/extract.js
-var require_extract = __commonJS({
-  "node_modules/tar-stream/extract.js"(exports2, module2) {
-    var { Writable, Readable, getStreamError } = require_streamx();
-    var FIFO = require_fast_fifo();
-    var b4a = require_b4a();
-    var headers = require_headers3();
-    var EMPTY = b4a.alloc(0);
-    var BufferList = class {
-      constructor() {
-        this.buffered = 0;
-        this.shifted = 0;
-        this.queue = new FIFO();
-        this._offset = 0;
-      }
-      push(buffer) {
-        this.buffered += buffer.byteLength;
-        this.queue.push(buffer);
-      }
-      shiftFirst(size) {
-        return this._buffered === 0 ? null : this._next(size);
-      }
-      shift(size) {
-        if (size > this.buffered) return null;
-        if (size === 0) return EMPTY;
-        let chunk = this._next(size);
-        if (size === chunk.byteLength) return chunk;
-        const chunks = [chunk];
-        while ((size -= chunk.byteLength) > 0) {
-          chunk = this._next(size);
-          chunks.push(chunk);
-        }
-        return b4a.concat(chunks);
+// node_modules/undici/lib/websocket/constants.js
+var require_constants24 = __commonJS({
+  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
+    "use strict";
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    module2.exports = {
+      uid,
+      staticPropertyDescriptors,
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer
+    };
+  }
+});
+
+// node_modules/undici/lib/websocket/symbols.js
+var require_symbols15 = __commonJS({
+  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/undici/lib/websocket/events.js
+var require_events3 = __commonJS({
+  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var { MessagePort } = require("worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
       }
-      _next(size) {
-        const buf = this.queue.peek();
-        const rem = buf.byteLength - this._offset;
-        if (size >= rem) {
-          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
-          this.queue.shift();
-          this._offset = 0;
-          this.buffered -= rem;
-          this.shifted += rem;
-          return sub;
-        }
-        this.buffered -= size;
-        this.shifted += size;
-        return buf.subarray(this._offset, this._offset += size);
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-    };
-    var Source = class extends Readable {
-      constructor(self2, header, offset) {
-        super();
-        this.header = header;
-        this.offset = offset;
-        this._parent = self2;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      _read(cb) {
-        if (this.header.size === 0) {
-          this.push(null);
-        }
-        if (this._parent._stream === this) {
-          this._parent._update();
-        }
-        cb(null);
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
       }
-      _predestroy() {
-        this._parent.destroy(getStreamError(this));
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
       }
-      _detach() {
-        if (this._parent._stream === this) {
-          this._parent._stream = null;
-          this._parent._missing = overflow(this.header.size);
-          this._parent._update();
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
         }
+        return this.#eventInit.ports;
       }
-      _destroy(cb) {
-        this._detach();
-        cb(null);
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
       }
     };
-    var Extract = class extends Writable {
-      constructor(opts) {
-        super(opts);
-        if (!opts) opts = {};
-        this._buffer = new BufferList();
-        this._offset = 0;
-        this._header = null;
-        this._stream = null;
-        this._missing = 0;
-        this._longHeader = false;
-        this._callback = noop3;
-        this._locked = false;
-        this._finished = false;
-        this._pax = null;
-        this._paxGlobal = null;
-        this._gnuLongPath = null;
-        this._gnuLongLinkPath = null;
-        this._filenameEncoding = opts.filenameEncoding || "utf-8";
-        this._allowUnknownFormat = !!opts.allowUnknownFormat;
-        this._unlockBound = this._unlock.bind(this);
-      }
-      _unlock(err) {
-        this._locked = false;
-        if (err) {
-          this.destroy(err);
-          this._continueWrite(err);
-          return;
-        }
-        this._update();
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
       }
-      _consumeHeader() {
-        if (this._locked) return false;
-        this._offset = this._buffer.shifted;
-        try {
-          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
-        } catch (err) {
-          this._continueWrite(err);
-          return false;
-        }
-        if (!this._header) return true;
-        switch (this._header.type) {
-          case "gnu-long-path":
-          case "gnu-long-link-path":
-          case "pax-global-header":
-          case "pax-header":
-            this._longHeader = true;
-            this._missing = this._header.size;
-            return true;
-        }
-        this._locked = true;
-        this._applyLongHeaders();
-        if (this._header.size === 0 || this._header.type === "directory") {
-          this.emit("entry", this._header, this._createStream(), this._unlockBound);
-          return true;
-        }
-        this._stream = this._createStream();
-        this._missing = this._header.size;
-        this.emit("entry", this._header, this._stream, this._unlockBound);
-        return true;
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
       }
-      _applyLongHeaders() {
-        if (this._gnuLongPath) {
-          this._header.name = this._gnuLongPath;
-          this._gnuLongPath = null;
-        }
-        if (this._gnuLongLinkPath) {
-          this._header.linkname = this._gnuLongLinkPath;
-          this._gnuLongLinkPath = null;
-        }
-        if (this._pax) {
-          if (this._pax.path) this._header.name = this._pax.path;
-          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
-          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
-          this._header.pax = this._pax;
-          this._pax = null;
-        }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
       }
-      _decodeLongHeader(buf) {
-        switch (this._header.type) {
-          case "gnu-long-path":
-            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "gnu-long-link-path":
-            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "pax-global-header":
-            this._paxGlobal = headers.decodePax(buf);
-            break;
-          case "pax-header":
-            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
-            break;
-        }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
       }
-      _consumeLongHeader() {
-        this._longHeader = false;
-        this._missing = overflow(this._header.size);
-        const buf = this._buffer.shift(this._header.size);
-        try {
-          this._decodeLongHeader(buf);
-        } catch (err) {
-          this._continueWrite(err);
-          return false;
-        }
-        return true;
+    };
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        super(type2, eventInitDict);
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
       }
-      _consumeStream() {
-        const buf = this._buffer.shiftFirst(this._missing);
-        if (buf === null) return false;
-        this._missing -= buf.byteLength;
-        const drained = this._stream.push(buf);
-        if (this._missing === 0) {
-          this._stream.push(null);
-          if (drained) this._stream._detach();
-          return drained && this._locked === false;
-        }
-        return drained;
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
       }
-      _createStream() {
-        return new Source(this, this._header, this._offset);
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
       }
-      _update() {
-        while (this._buffer.buffered > 0 && !this.destroying) {
-          if (this._missing > 0) {
-            if (this._stream !== null) {
-              if (this._consumeStream() === false) return;
-              continue;
-            }
-            if (this._longHeader === true) {
-              if (this._missing > this._buffer.buffered) break;
-              if (this._consumeLongHeader() === false) return false;
-              continue;
-            }
-            const ignore = this._buffer.shiftFirst(this._missing);
-            if (ignore !== null) this._missing -= ignore.byteLength;
-            continue;
-          }
-          if (this._buffer.buffered < 512) break;
-          if (this._stream !== null || this._consumeHeader() === false) return;
-        }
-        this._continueWrite(null);
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
       }
-      _continueWrite(err) {
-        const cb = this._callback;
-        this._callback = noop3;
-        cb(err);
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
       }
-      _write(data, cb) {
-        this._callback = cb;
-        this._buffer.push(data);
-        this._update();
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
       }
-      _final(cb) {
-        this._finished = this._missing === 0 && this._buffer.buffered === 0;
-        cb(this._finished ? null : new Error("Unexpected end of data"));
+    };
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
+      },
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
+      },
+      reason: kEnumerableProperty,
+      code: kEnumerableProperty,
+      wasClean: kEnumerableProperty
+    });
+    Object.defineProperties(ErrorEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "ErrorEvent",
+        configurable: true
+      },
+      message: kEnumerableProperty,
+      filename: kEnumerableProperty,
+      lineno: kEnumerableProperty,
+      colno: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.MessagePort
+    );
+    var eventInit = [
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: false
       }
-      _predestroy() {
-        this._continueWrite(null);
+    ];
+    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "data",
+        converter: webidl.converters.any,
+        defaultValue: null
+      },
+      {
+        key: "origin",
+        converter: webidl.converters.USVString,
+        defaultValue: ""
+      },
+      {
+        key: "lastEventId",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "source",
+        // Node doesn't implement WindowProxy or ServiceWorker, so the only
+        // valid value for source is a MessagePort.
+        converter: webidl.nullableConverter(webidl.converters.MessagePort),
+        defaultValue: null
+      },
+      {
+        key: "ports",
+        converter: webidl.converters["sequence"],
+        get defaultValue() {
+          return [];
+        }
       }
-      _destroy(cb) {
-        if (this._stream) this._stream.destroy(getStreamError(this));
-        cb(null);
+    ]);
+    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "wasClean",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "code",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: 0
+      },
+      {
+        key: "reason",
+        converter: webidl.converters.USVString,
+        defaultValue: ""
       }
-      [Symbol.asyncIterator]() {
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        let entryStream = null;
-        let entryCallback = null;
-        const extract2 = this;
-        this.on("entry", onentry);
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("close", onclose);
-        return {
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(onnext);
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
-          }
-        };
-        function consumeCallback(err) {
-          if (!entryCallback) return;
-          const cb = entryCallback;
-          entryCallback = null;
-          cb(err);
-        }
-        function onnext(resolve5, reject) {
-          if (error3) {
-            return reject(error3);
-          }
-          if (entryStream) {
-            resolve5({ value: entryStream, done: false });
-            entryStream = null;
-            return;
-          }
-          promiseResolve = resolve5;
-          promiseReject = reject;
-          consumeCallback(null);
-          if (extract2._finished && promiseResolve) {
-            promiseResolve({ value: void 0, done: true });
-            promiseResolve = promiseReject = null;
-          }
-        }
-        function onentry(header, stream, callback) {
-          entryCallback = callback;
-          stream.on("error", noop3);
-          if (promiseResolve) {
-            promiseResolve({ value: stream, done: false });
-            promiseResolve = promiseReject = null;
-          } else {
-            entryStream = stream;
-          }
-        }
-        function onclose() {
-          consumeCallback(error3);
-          if (!promiseResolve) return;
-          if (error3) promiseReject(error3);
-          else promiseResolve({ value: void 0, done: true });
-          promiseResolve = promiseReject = null;
-        }
-        function destroy(err) {
-          extract2.destroy(err);
-          consumeCallback(err);
-          return new Promise((resolve5, reject) => {
-            if (extract2.destroyed) return resolve5({ value: void 0, done: true });
-            extract2.once("close", function() {
-              if (err) reject(err);
-              else resolve5({ value: void 0, done: true });
-            });
-          });
-        }
+    ]);
+    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "message",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "filename",
+        converter: webidl.converters.USVString,
+        defaultValue: ""
+      },
+      {
+        key: "lineno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: 0
+      },
+      {
+        key: "colno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: 0
+      },
+      {
+        key: "error",
+        converter: webidl.converters.any
       }
+    ]);
+    module2.exports = {
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent
     };
-    module2.exports = function extract2(opts) {
-      return new Extract(opts);
-    };
-    function noop3() {
-    }
-    function overflow(size) {
-      size &= 511;
-      return size && 512 - size;
-    }
   }
 });
 
-// node_modules/tar-stream/constants.js
-var require_constants19 = __commonJS({
-  "node_modules/tar-stream/constants.js"(exports2, module2) {
-    var constants = {
-      // just for envs without fs
-      S_IFMT: 61440,
-      S_IFDIR: 16384,
-      S_IFCHR: 8192,
-      S_IFBLK: 24576,
-      S_IFIFO: 4096,
-      S_IFLNK: 40960
-    };
-    try {
-      module2.exports = require("fs").constants || constants;
-    } catch {
-      module2.exports = constants;
+// node_modules/undici/lib/websocket/util.js
+var require_util30 = __commonJS({
+  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols15();
+    var { states, opcodes } = require_constants24();
+    var { MessageEvent, ErrorEvent } = require_events3();
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
     }
-  }
-});
-
-// node_modules/tar-stream/pack.js
-var require_pack = __commonJS({
-  "node_modules/tar-stream/pack.js"(exports2, module2) {
-    var { Readable, Writable, getStreamError } = require_streamx();
-    var b4a = require_b4a();
-    var constants = require_constants19();
-    var headers = require_headers3();
-    var DMODE = 493;
-    var FMODE = 420;
-    var END_OF_TAR = b4a.alloc(1024);
-    var Sink = class extends Writable {
-      constructor(pack, header, callback) {
-        super({ mapWritable, eagerOpen: true });
-        this.written = 0;
-        this.header = header;
-        this._callback = callback;
-        this._linkname = null;
-        this._isLinkname = header.type === "symlink" && !header.linkname;
-        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
-        this._finished = false;
-        this._pack = pack;
-        this._openCallback = null;
-        if (this._pack._stream === null) this._pack._stream = this;
-        else this._pack._pending.push(this);
-      }
-      _open(cb) {
-        this._openCallback = cb;
-        if (this._pack._stream === this) this._continueOpen();
-      }
-      _continuePack(err) {
-        if (this._callback === null) return;
-        const callback = this._callback;
-        this._callback = null;
-        callback(err);
-      }
-      _continueOpen() {
-        if (this._pack._stream === null) this._pack._stream = this;
-        const cb = this._openCallback;
-        this._openCallback = null;
-        if (cb === null) return;
-        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
-        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
-        this._pack._stream = this;
-        if (!this._isLinkname) {
-          this._pack._encode(this.header);
-        }
-        if (this._isVoid) {
-          this._finish();
-          this._continuePack(null);
-        }
-        cb(null);
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
+    }
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
+      const event = new eventConstructor(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      _write(data, cb) {
-        if (this._isLinkname) {
-          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
-          return cb(null);
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
+          return;
         }
-        if (this._isVoid) {
-          if (data.byteLength > 0) {
-            return cb(new Error("No body allowed for this entry"));
-          }
-          return cb();
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
+        } else {
+          dataForEvent = new Uint8Array(data).buffer;
         }
-        this.written += data.byteLength;
-        if (this._pack.push(data)) return cb();
-        this._pack._drain = cb;
       }
-      _finish() {
-        if (this._finished) return;
-        this._finished = true;
-        if (this._isLinkname) {
-          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
-          this._pack._encode(this.header);
-        }
-        overflow(this._pack, this.header.size);
-        this._pack._done(this);
+      fireEvent("message", ws, MessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      _final(cb) {
-        if (this.written !== this.header.size) {
-          return cb(new Error("Size mismatch"));
+      for (const char of protocol) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
+        code === 9) {
+          return false;
         }
-        this._finish();
-        cb(null);
       }
-      _getError() {
-        return getStreamError(this) || new Error("tar entry destroyed");
+      return true;
+    }
+    function isValidStatusCode(code) {
+      if (code >= 1e3 && code < 1015) {
+        return code !== 1004 && // reserved
+        code !== 1005 && // "MUST NOT be set as a status code"
+        code !== 1006;
       }
-      _predestroy() {
-        this._pack.destroy(this._getError());
+      return code >= 3e3 && code <= 4999;
+    }
+    function failWebsocketConnection(ws, reason) {
+      const { [kController]: controller, [kResponse]: response } = ws;
+      controller.abort();
+      if (response?.socket && !response.socket.destroyed) {
+        response.socket.destroy();
       }
-      _destroy(cb) {
-        this._pack._done(this);
-        this._continuePack(this._finished ? null : this._getError());
-        cb();
+      if (reason) {
+        fireEvent("error", ws, ErrorEvent, {
+          error: new Error(reason)
+        });
       }
+    }
+    module2.exports = {
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived
     };
-    var Pack = class extends Readable {
-      constructor(opts) {
-        super(opts);
-        this._drain = noop3;
-        this._finalized = false;
-        this._finalizing = false;
-        this._pending = [];
-        this._stream = null;
-      }
-      entry(header, buffer, callback) {
-        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
-        if (typeof buffer === "function") {
-          callback = buffer;
-          buffer = null;
-        }
-        if (!callback) callback = noop3;
-        if (!header.size || header.type === "symlink") header.size = 0;
-        if (!header.type) header.type = modeToType(header.mode);
-        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
-        if (!header.uid) header.uid = 0;
-        if (!header.gid) header.gid = 0;
-        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
-        if (typeof buffer === "string") buffer = b4a.from(buffer);
-        const sink = new Sink(this, header, callback);
-        if (b4a.isBuffer(buffer)) {
-          header.size = buffer.byteLength;
-          sink.write(buffer);
-          sink.end();
-          return sink;
-        }
-        if (sink._isVoid) {
-          return sink;
-        }
-        return sink;
-      }
-      finalize() {
-        if (this._stream || this._pending.length > 0) {
-          this._finalizing = true;
-          return;
-        }
-        if (this._finalized) return;
-        this._finalized = true;
-        this.push(END_OF_TAR);
-        this.push(null);
+  }
+});
+
+// node_modules/undici/lib/websocket/connection.js
+var require_connection3 = __commonJS({
+  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+    "use strict";
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { uid, states } = require_constants24();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose
+    } = require_symbols15();
+    var { fireEvent, failWebsocketConnection } = require_util30();
+    var { CloseEvent } = require_events3();
+    var { makeRequest } = require_request6();
+    var { fetching } = require_fetch3();
+    var { Headers } = require_headers4();
+    var { getGlobalDispatcher } = require_global6();
+    var { kHeadersList } = require_symbols11();
+    var channels = {};
+    channels.open = diagnosticsChannel.channel("undici:websocket:open");
+    channels.close = diagnosticsChannel.channel("undici:websocket:close");
+    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
+      const requestURL = url;
+      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = new Headers(options.headers)[kHeadersList];
+        request2.headersList = headersList;
       }
-      _done(stream) {
-        if (stream !== this._stream) return;
-        this._stream = null;
-        if (this._finalizing) this.finalize();
-        if (this._pending.length) this._pending.shift()._continueOpen();
+      const keyValue = crypto2.randomBytes(16).toString("base64");
+      request2.headersList.append("sec-websocket-key", keyValue);
+      request2.headersList.append("sec-websocket-version", "13");
+      for (const protocol of protocols) {
+        request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      _encode(header) {
-        if (!header.pax) {
-          const buf = headers.encode(header);
-          if (buf) {
-            this.push(buf);
+      const permessageDeflate = "";
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
             return;
           }
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
+          }
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
+          }
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
+          }
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
+          }
+          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
+          if (secExtension !== null && secExtension !== permessageDeflate) {
+            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
+            return;
+          }
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+            return;
+          }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response);
         }
-        this._encodePax(header);
-      }
-      _encodePax(header) {
-        const paxHeader = headers.encodePax({
-          name: header.name,
-          linkname: header.linkname,
-          pax: header.pax
-        });
-        const newHeader = {
-          name: "PaxHeader",
-          mode: header.mode,
-          uid: header.uid,
-          gid: header.gid,
-          size: paxHeader.byteLength,
-          mtime: header.mtime,
-          type: "pax-header",
-          linkname: header.linkname && "PaxHeader",
-          uname: header.uname,
-          gname: header.gname,
-          devmajor: header.devmajor,
-          devminor: header.devminor
-        };
-        this.push(headers.encode(newHeader));
-        this.push(paxHeader);
-        overflow(this, paxHeader.byteLength);
-        newHeader.size = header.size;
-        newHeader.type = header.type;
-        this.push(headers.encode(newHeader));
-      }
-      _doDrain() {
-        const drain = this._drain;
-        this._drain = noop3;
-        drain();
-      }
-      _predestroy() {
-        const err = getStreamError(this);
-        if (this._stream) this._stream.destroy(err);
-        while (this._pending.length) {
-          const stream = this._pending.shift();
-          stream.destroy(err);
-          stream._continueOpen();
-        }
-        this._doDrain();
+      });
+      return controller;
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
       }
-      _read(cb) {
-        this._doDrain();
-        cb();
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kSentClose]) {
+        code = 1006;
       }
-    };
-    module2.exports = function pack(opts) {
-      return new Pack(opts);
-    };
-    function modeToType(mode) {
-      switch (mode & constants.S_IFMT) {
-        case constants.S_IFBLK:
-          return "block-device";
-        case constants.S_IFCHR:
-          return "character-device";
-        case constants.S_IFDIR:
-          return "directory";
-        case constants.S_IFIFO:
-          return "fifo";
-        case constants.S_IFLNK:
-          return "symlink";
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, CloseEvent, {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
+        });
       }
-      return "file";
     }
-    function noop3() {
-    }
-    function overflow(self2, size) {
-      size &= 511;
-      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
-    }
-    function mapWritable(buf) {
-      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
     }
+    module2.exports = {
+      establishWebSocketConnection
+    };
   }
 });
 
-// node_modules/tar-stream/index.js
-var require_tar_stream = __commonJS({
-  "node_modules/tar-stream/index.js"(exports2) {
-    exports2.extract = require_extract();
-    exports2.pack = require_pack();
-  }
-});
-
-// node_modules/archiver/lib/plugins/tar.js
-var require_tar2 = __commonJS({
-  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
-    var zlib = require("zlib");
-    var engine = require_tar_stream();
-    var util = require_archiver_utils();
-    var Tar = function(options) {
-      if (!(this instanceof Tar)) {
-        return new Tar(options);
-      }
-      options = this.options = util.defaults(options, {
-        gzip: false
-      });
-      if (typeof options.gzipOptions !== "object") {
-        options.gzipOptions = {};
-      }
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = engine.pack(options);
-      this.compressor = false;
-      if (options.gzip) {
-        this.compressor = zlib.createGzip(options.gzipOptions);
-        this.compressor.on("error", this._onCompressorError.bind(this));
+// node_modules/undici/lib/websocket/frame.js
+var require_frame3 = __commonJS({
+  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants24();
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+        this.maskKey = crypto2.randomBytes(4);
       }
-    };
-    Tar.prototype._onCompressorError = function(err) {
-      this.engine.emit("error", err);
-    };
-    Tar.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.mtime = data.date;
-      function append(err, sourceBuffer) {
-        if (err) {
-          callback(err);
-          return;
+      createFrame(opcode) {
+        const bodyLength = this.frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
         }
-        self2.engine.entry(data, sourceBuffer, function(err2) {
-          callback(err2, data);
-        });
-      }
-      if (data.sourceType === "buffer") {
-        append(null, source);
-      } else if (data.sourceType === "stream" && data.stats) {
-        data.size = data.stats.size;
-        var entry = self2.engine.entry(data, function(err) {
-          callback(err, data);
-        });
-        source.pipe(entry);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, append);
-      }
-    };
-    Tar.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Tar.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Tar.prototype.pipe = function(destination, options) {
-      if (this.compressor) {
-        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
-      } else {
-        return this.engine.pipe.apply(this.engine, arguments);
+        const buffer = Buffer.allocUnsafe(bodyLength + offset);
+        buffer[0] = buffer[1] = 0;
+        buffer[0] |= 128;
+        buffer[0] = (buffer[0] & 240) + opcode;
+        buffer[offset - 4] = this.maskKey[0];
+        buffer[offset - 3] = this.maskKey[1];
+        buffer[offset - 2] = this.maskKey[2];
+        buffer[offset - 1] = this.maskKey[3];
+        buffer[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer[2] = buffer[3] = 0;
+          buffer.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer[1] |= 128;
+        for (let i = 0; i < bodyLength; i++) {
+          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        }
+        return buffer;
       }
     };
-    Tar.prototype.unpipe = function() {
-      if (this.compressor) {
-        return this.compressor.unpipe.apply(this.compressor, arguments);
-      } else {
-        return this.engine.unpipe.apply(this.engine, arguments);
-      }
+    module2.exports = {
+      WebsocketFrameSend
     };
-    module2.exports = Tar;
   }
 });
 
-// node_modules/buffer-crc32/dist/index.cjs
-var require_dist5 = __commonJS({
-  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
+// node_modules/undici/lib/websocket/receiver.js
+var require_receiver3 = __commonJS({
+  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
     "use strict";
-    function getDefaultExportFromCjs(x) {
-      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
-    }
-    var CRC_TABLE = new Int32Array([
-      0,
-      1996959894,
-      3993919788,
-      2567524794,
-      124634137,
-      1886057615,
-      3915621685,
-      2657392035,
-      249268274,
-      2044508324,
-      3772115230,
-      2547177864,
-      162941995,
-      2125561021,
-      3887607047,
-      2428444049,
-      498536548,
-      1789927666,
-      4089016648,
-      2227061214,
-      450548861,
-      1843258603,
-      4107580753,
-      2211677639,
-      325883990,
-      1684777152,
-      4251122042,
-      2321926636,
-      335633487,
-      1661365465,
-      4195302755,
-      2366115317,
-      997073096,
-      1281953886,
-      3579855332,
-      2724688242,
-      1006888145,
-      1258607687,
-      3524101629,
-      2768942443,
-      901097722,
-      1119000684,
-      3686517206,
-      2898065728,
-      853044451,
-      1172266101,
-      3705015759,
-      2882616665,
-      651767980,
-      1373503546,
-      3369554304,
-      3218104598,
-      565507253,
-      1454621731,
-      3485111705,
-      3099436303,
-      671266974,
-      1594198024,
-      3322730930,
-      2970347812,
-      795835527,
-      1483230225,
-      3244367275,
-      3060149565,
-      1994146192,
-      31158534,
-      2563907772,
-      4023717930,
-      1907459465,
-      112637215,
-      2680153253,
-      3904427059,
-      2013776290,
-      251722036,
-      2517215374,
-      3775830040,
-      2137656763,
-      141376813,
-      2439277719,
-      3865271297,
-      1802195444,
-      476864866,
-      2238001368,
-      4066508878,
-      1812370925,
-      453092731,
-      2181625025,
-      4111451223,
-      1706088902,
-      314042704,
-      2344532202,
-      4240017532,
-      1658658271,
-      366619977,
-      2362670323,
-      4224994405,
-      1303535960,
-      984961486,
-      2747007092,
-      3569037538,
-      1256170817,
-      1037604311,
-      2765210733,
-      3554079995,
-      1131014506,
-      879679996,
-      2909243462,
-      3663771856,
-      1141124467,
-      855842277,
-      2852801631,
-      3708648649,
-      1342533948,
-      654459306,
-      3188396048,
-      3373015174,
-      1466479909,
-      544179635,
-      3110523913,
-      3462522015,
-      1591671054,
-      702138776,
-      2966460450,
-      3352799412,
-      1504918807,
-      783551873,
-      3082640443,
-      3233442989,
-      3988292384,
-      2596254646,
-      62317068,
-      1957810842,
-      3939845945,
-      2647816111,
-      81470997,
-      1943803523,
-      3814918930,
-      2489596804,
-      225274430,
-      2053790376,
-      3826175755,
-      2466906013,
-      167816743,
-      2097651377,
-      4027552580,
-      2265490386,
-      503444072,
-      1762050814,
-      4150417245,
-      2154129355,
-      426522225,
-      1852507879,
-      4275313526,
-      2312317920,
-      282753626,
-      1742555852,
-      4189708143,
-      2394877945,
-      397917763,
-      1622183637,
-      3604390888,
-      2714866558,
-      953729732,
-      1340076626,
-      3518719985,
-      2797360999,
-      1068828381,
-      1219638859,
-      3624741850,
-      2936675148,
-      906185462,
-      1090812512,
-      3747672003,
-      2825379669,
-      829329135,
-      1181335161,
-      3412177804,
-      3160834842,
-      628085408,
-      1382605366,
-      3423369109,
-      3138078467,
-      570562233,
-      1426400815,
-      3317316542,
-      2998733608,
-      733239954,
-      1555261956,
-      3268935591,
-      3050360625,
-      752459403,
-      1541320221,
-      2607071920,
-      3965973030,
-      1969922972,
-      40735498,
-      2617837225,
-      3943577151,
-      1913087877,
-      83908371,
-      2512341634,
-      3803740692,
-      2075208622,
-      213261112,
-      2463272603,
-      3855990285,
-      2094854071,
-      198958881,
-      2262029012,
-      4057260610,
-      1759359992,
-      534414190,
-      2176718541,
-      4139329115,
-      1873836001,
-      414664567,
-      2282248934,
-      4279200368,
-      1711684554,
-      285281116,
-      2405801727,
-      4167216745,
-      1634467795,
-      376229701,
-      2685067896,
-      3608007406,
-      1308918612,
-      956543938,
-      2808555105,
-      3495958263,
-      1231636301,
-      1047427035,
-      2932959818,
-      3654703836,
-      1088359270,
-      936918e3,
-      2847714899,
-      3736837829,
-      1202900863,
-      817233897,
-      3183342108,
-      3401237130,
-      1404277552,
-      615818150,
-      3134207493,
-      3453421203,
-      1423857449,
-      601450431,
-      3009837614,
-      3294710456,
-      1567103746,
-      711928724,
-      3020668471,
-      3272380065,
-      1510334235,
-      755167117
-    ]);
-    function ensureBuffer(input) {
-      if (Buffer.isBuffer(input)) {
-        return input;
+    var { Writable } = require("stream");
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { parserStates, opcodes, states, emptyBuffer } = require_constants24();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols15();
+    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util30();
+    var { WebsocketFrameSend } = require_frame3();
+    var channels = {};
+    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
+    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      constructor(ws) {
+        super();
+        this.ws = ws;
       }
-      if (typeof input === "number") {
-        return Buffer.alloc(input);
-      } else if (typeof input === "string") {
-        return Buffer.from(input);
-      } else {
-        throw new Error("input must be buffer, number, or string, received " + typeof input);
+      /**
+       * @param {Buffer} chunk
+       * @param {() => void} callback
+       */
+      _write(chunk, _2, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        this.run(callback);
+      }
+      /**
+       * Runs whenever a new chunk is received.
+       * Callback is called whenever there are no more chunks buffering,
+       * or not enough bytes are buffered to parse.
+       */
+      run(callback) {
+        while (true) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.fin = (buffer[0] & 128) !== 0;
+            this.#info.opcode = buffer[0] & 15;
+            this.#info.originalOpcode ??= this.#info.opcode;
+            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
+            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            const payloadLength = buffer[1] & 127;
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (this.#info.fragmented && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
+              return;
+            } else if (this.#info.opcode === opcodes.CLOSE) {
+              if (payloadLength === 1) {
+                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+                return;
+              }
+              const body = this.consume(payloadLength);
+              this.#info.closeInfo = this.parseCloseBody(false, body);
+              if (!this.ws[kSentClose]) {
+                const body2 = Buffer.allocUnsafe(2);
+                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+                const closeFrame = new WebsocketFrameSend(body2);
+                this.ws[kResponse].socket.write(
+                  closeFrame.createFrame(opcodes.CLOSE),
+                  (err) => {
+                    if (!err) {
+                      this.ws[kSentClose] = true;
+                    }
+                  }
+                );
+              }
+              this.ws[kReadyState] = states.CLOSING;
+              this.ws[kReceivedClose] = true;
+              this.end();
+              return;
+            } else if (this.#info.opcode === opcodes.PING) {
+              const body = this.consume(payloadLength);
+              if (!this.ws[kReceivedClose]) {
+                const frame = new WebsocketFrameSend(body);
+                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+                if (channels.ping.hasSubscribers) {
+                  channels.ping.publish({
+                    payload: body
+                  });
+                }
+              }
+              this.#state = parserStates.INFO;
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            } else if (this.#info.opcode === opcodes.PONG) {
+              const body = this.consume(payloadLength);
+              if (channels.pong.hasSubscribers) {
+                channels.pong.publish({
+                  payload: body
+                });
+              }
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            }
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            } else if (this.#byteOffset >= this.#info.payloadLength) {
+              const body = this.consume(this.#info.payloadLength);
+              this.#fragments.push(body);
+              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
+                const fullMessage = Buffer.concat(this.#fragments);
+                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
+                this.#info = {};
+                this.#fragments.length = 0;
+              }
+              this.#state = parserStates.INFO;
+            }
+          }
+          if (this.#byteOffset > 0) {
+            continue;
+          } else {
+            callback();
+            break;
+          }
+        }
+      }
+      /**
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer|null}
+       */
+      consume(n) {
+        if (n > this.#byteOffset) {
+          return null;
+        } else if (n === 0) {
+          return emptyBuffer;
+        }
+        if (this.#buffers[0].length === n) {
+          this.#byteOffset -= this.#buffers[0].length;
+          return this.#buffers.shift();
+        }
+        const buffer = Buffer.allocUnsafe(n);
+        let offset = 0;
+        while (offset !== n) {
+          const next = this.#buffers[0];
+          const { length } = next;
+          if (length + offset === n) {
+            buffer.set(this.#buffers.shift(), offset);
+            break;
+          } else if (length + offset > n) {
+            buffer.set(next.subarray(0, n - offset), offset);
+            this.#buffers[0] = next.subarray(n - offset);
+            break;
+          } else {
+            buffer.set(this.#buffers.shift(), offset);
+            offset += next.length;
+          }
+        }
+        this.#byteOffset -= n;
+        return buffer;
       }
-    }
-    function bufferizeInt(num) {
-      const tmp = ensureBuffer(4);
-      tmp.writeInt32BE(num, 0);
-      return tmp;
-    }
-    function _crc32(buf, previous) {
-      buf = ensureBuffer(buf);
-      if (Buffer.isBuffer(previous)) {
-        previous = previous.readUInt32BE(0);
+      parseCloseBody(onlyCode, data) {
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
+        }
+        if (onlyCode) {
+          if (!isValidStatusCode(code)) {
+            return null;
+          }
+          return { code };
+        }
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
+        }
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return null;
+        }
+        try {
+          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+        } catch {
+          return null;
+        }
+        return { code, reason };
       }
-      let crc = ~~previous ^ -1;
-      for (var n = 0; n < buf.length; n++) {
-        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
-      return crc ^ -1;
-    }
-    function crc32() {
-      return bufferizeInt(_crc32.apply(null, arguments));
-    }
-    crc32.signed = function() {
-      return _crc32.apply(null, arguments);
     };
-    crc32.unsigned = function() {
-      return _crc32.apply(null, arguments) >>> 0;
+    module2.exports = {
+      ByteParser
     };
-    var bufferCrc32 = crc32;
-    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
-    module2.exports = index;
   }
 });
 
-// node_modules/archiver/lib/plugins/json.js
-var require_json = __commonJS({
-  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var Transform = require_ours().Transform;
-    var crc32 = require_dist5();
-    var util = require_archiver_utils();
-    var Json = function(options) {
-      if (!(this instanceof Json)) {
-        return new Json(options);
-      }
-      options = this.options = util.defaults(options, {});
-      Transform.call(this, options);
-      this.supports = {
-        directory: true,
-        symlink: true
+// node_modules/undici/lib/websocket/websocket.js
+var require_websocket3 = __commonJS({
+  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2 } = require_constants21();
+    var { URLSerializer } = require_dataURL();
+    var { getGlobalOrigin } = require_global5();
+    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants24();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols15();
+    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util30();
+    var { establishWebSocketConnection } = require_connection3();
+    var { WebsocketFrameSend } = require_frame3();
+    var { ByteParser } = require_receiver3();
+    var { kEnumerableProperty, isBlobLike } = require_util24();
+    var { getGlobalDispatcher } = require_global6();
+    var { types } = require("util");
+    var experimentalWarned = false;
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-      this.files = [];
-    };
-    inherits(Json, Transform);
-    Json.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
-    };
-    Json.prototype._writeStringified = function() {
-      var fileString = JSON.stringify(this.files);
-      this.write(fileString);
-    };
-    Json.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.crc32 = 0;
-      function onend(err, sourceBuffer) {
-        if (err) {
-          callback(err);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url, protocols = []) {
+        super();
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
+            code: "UNDICI-WS"
+          });
+        }
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
+        url = webidl.converters.USVString(url);
+        protocols = options.protocols;
+        const baseURL = getGlobalOrigin();
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, baseURL);
+        } catch (e) {
+          throw new DOMException2(e, "SyntaxError");
+        }
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
+        }
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException2(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
+        }
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException2("Got fragment", "SyntaxError");
+        }
+        if (typeof protocols === "string") {
+          protocols = [protocols];
+        }
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          this,
+          (response) => this.#onConnectionEstablished(response),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kBinaryType] = "blob";
+      }
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
+       * @param {number|undefined} code
+       * @param {string|undefined} reason
+       */
+      close(code = void 0, reason = void 0) {
+        webidl.brandCheck(this, _WebSocket);
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason);
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException2("invalid code", "InvalidAccessError");
+          }
+        }
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException2(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
+          }
+        }
+        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
+        } else if (!isEstablished(this)) {
+          failWebsocketConnection(this, "Connection was closed before it was established.");
+          this[kReadyState] = _WebSocket.CLOSING;
+        } else if (!isClosing(this)) {
+          const frame = new WebsocketFrameSend();
+          if (code !== void 0 && reason === void 0) {
+            frame.frameData = Buffer.allocUnsafe(2);
+            frame.frameData.writeUInt16BE(code, 0);
+          } else if (code !== void 0 && reason !== void 0) {
+            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+            frame.frameData.writeUInt16BE(code, 0);
+            frame.frameData.write(reason, 2, "utf-8");
+          } else {
+            frame.frameData = emptyBuffer;
+          }
+          const socket = this[kResponse].socket;
+          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
+            if (!err) {
+              this[kSentClose] = true;
+            }
+          });
+          this[kReadyState] = states.CLOSING;
+        } else {
+          this[kReadyState] = _WebSocket.CLOSING;
+        }
+      }
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
+        data = webidl.converters.WebSocketSendData(data);
+        if (this[kReadyState] === _WebSocket.CONNECTING) {
+          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
           return;
         }
-        data.size = sourceBuffer.length || 0;
-        data.crc32 = crc32.unsigned(sourceBuffer);
-        self2.files.push(data);
-        callback(null, data);
+        const socket = this[kResponse].socket;
+        if (typeof data === "string") {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.TEXT);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (types.isArrayBuffer(data)) {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (ArrayBuffer.isView(data)) {
+          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
+          const frame = new WebsocketFrameSend(ab);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += ab.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= ab.byteLength;
+          });
+        } else if (isBlobLike(data)) {
+          const frame = new WebsocketFrameSend();
+          data.arrayBuffer().then((ab) => {
+            const value = Buffer.from(ab);
+            frame.frameData = value;
+            const buffer = frame.createFrame(opcodes.BINARY);
+            this.#bufferedAmount += value.byteLength;
+            socket.write(buffer, () => {
+              this.#bufferedAmount -= value.byteLength;
+            });
+          });
+        }
       }
-      if (data.sourceType === "buffer") {
-        onend(null, source);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, onend);
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-    };
-    Json.prototype.finalize = function() {
-      this._writeStringified();
-      this.end();
-    };
-    module2.exports = Json;
-  }
-});
-
-// node_modules/archiver/index.js
-var require_archiver = __commonJS({
-  "node_modules/archiver/index.js"(exports2, module2) {
-    var Archiver = require_core2();
-    var formats = {};
-    var vending = function(format, options) {
-      return vending.create(format, options);
-    };
-    vending.create = function(format, options) {
-      if (formats[format]) {
-        var instance = new Archiver(format, options);
-        instance.setFormat(format);
-        instance.setModule(new formats[format](options));
-        return instance;
-      } else {
-        throw new Error("create(" + format + "): format not registered");
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-    };
-    vending.registerFormat = function(format, module3) {
-      if (formats[format]) {
-        throw new Error("register(" + format + "): format already registered");
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      if (typeof module3 !== "function") {
-        throw new Error("register(" + format + "): format module invalid");
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
-        throw new Error("register(" + format + "): format module missing methods");
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      formats[format] = module3;
-    };
-    vending.isRegisteredFormat = function(format) {
-      if (formats[format]) {
-        return true;
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-      return false;
-    };
-    vending.registerFormat("zip", require_zip());
-    vending.registerFormat("tar", require_tar2());
-    vending.registerFormat("json", require_json());
-    module2.exports = vending;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/zip.js
-var require_zip2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      set onopen(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
+        }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve5) {
-          resolve5(value);
-        });
+      set onerror(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
+        }
       }
-      return new (P || (P = Promise))(function(resolve5, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
+      }
+      set onclose(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.close) {
+          this.removeEventListener("close", this.#events.close);
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
         }
-        function step(result) {
-          result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
+      }
+      set onmessage(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
+        }
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
-    var stream = __importStar2(require("stream"));
-    var promises_1 = require("fs/promises");
-    var archiver2 = __importStar2(require_archiver());
-    var core14 = __importStar2(require_core());
-    var config_1 = require_config2();
-    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
-    var ZipUploadStream = class extends stream.Transform {
-      constructor(bufferSize) {
-        super({
-          highWaterMark: bufferSize
-        });
       }
-      // eslint-disable-next-line @typescript-eslint/no-explicit-any
-      _transform(chunk, enc, cb) {
-        cb(null, chunk);
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-    };
-    exports2.ZipUploadStream = ZipUploadStream;
-    function createZipUploadStream(uploadSpecification_1) {
-      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
-        core14.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
-        const zip = archiver2.create("zip", {
-          highWaterMark: (0, config_1.getUploadChunkSize)(),
-          zlib: { level: compressionLevel }
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
+      }
+      /**
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
+       */
+      #onConnectionEstablished(response) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this);
+        parser.on("drain", function onParserDrain() {
+          this.ws[kResponse].socket.resume();
         });
-        zip.on("error", zipErrorCallback);
-        zip.on("warning", zipWarningCallback);
-        zip.on("finish", zipFinishCallback);
-        zip.on("end", zipEndCallback);
-        for (const file of uploadSpecification) {
-          if (file.sourcePath !== null) {
-            let sourcePath = file.sourcePath;
-            if (file.stats.isSymbolicLink()) {
-              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
-            }
-            zip.file(sourcePath, {
-              name: file.destinationPath
-            });
-          } else {
-            zip.append("", { name: file.destinationPath });
-          }
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
         }
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const zipUploadStream = new ZipUploadStream(bufferSize);
-        core14.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
-        core14.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
-        zip.pipe(zipUploadStream);
-        zip.finalize();
-        return zipUploadStream;
-      });
-    }
-    exports2.createZipUploadStream = createZipUploadStream;
-    var zipErrorCallback = (error3) => {
-      core14.error("An error has occurred while creating the zip file for upload");
-      core14.info(error3);
-      throw new Error("An error has occurred during zip creation for the artifact");
-    };
-    var zipWarningCallback = (error3) => {
-      if (error3.code === "ENOENT") {
-        core14.warning("ENOENT warning during artifact zip creation. No such file or directory");
-        core14.info(error3);
-      } else {
-        core14.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
-        core14.info(error3);
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
     };
-    var zipFinishCallback = () => {
-      core14.debug("Zip stream for upload has finished.");
-    };
-    var zipEndCallback = () => {
-      core14.debug("Zip stream for upload has ended.");
-    };
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
-var require_upload_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
+    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
+    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
+    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
+    Object.defineProperties(WebSocket.prototype, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors,
+      url: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      bufferedAmount: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onclose: kEnumerableProperty,
+      close: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      binaryType: kEnumerableProperty,
+      send: kEnumerableProperty,
+      extensions: kEnumerableProperty,
+      protocol: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
+        configurable: true
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
     });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve5) {
-          resolve5(value);
-        });
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
+    });
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
+    );
+    webidl.converters["DOMString or sequence"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-      return new (P || (P = Promise))(function(resolve5, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve5(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
+      return webidl.converters.DOMString(V);
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadArtifact = void 0;
-    var core14 = __importStar2(require_core());
-    var retention_1 = require_retention();
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var upload_zip_specification_1 = require_upload_zip_specification();
-    var util_1 = require_util18();
-    var blob_upload_1 = require_blob_upload();
-    var zip_1 = require_zip2();
-    var generated_1 = require_generated();
-    var errors_1 = require_errors4();
-    function uploadArtifact(name, files, rootDirectory, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
-        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
-        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
-        if (zipSpecification.length === 0) {
-          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
-        }
-        const backendIds = (0, util_1.getBackendIdsFromToken)();
-        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
-        const createArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          version: 4
-        };
-        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
-        if (expiresAt) {
-          createArtifactReq.expiresAt = expiresAt;
-        }
-        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
-        if (!createArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
-        }
-        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
-        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
-        const finalizeArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
-        };
-        if (uploadResult.sha256Hash) {
-          finalizeArtifactReq.hash = generated_1.StringValue.create({
-            value: `sha256:${uploadResult.sha256Hash}`
-          });
-        }
-        core14.info(`Finalizing artifact upload`);
-        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
-        if (!finalizeArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+      {
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        get defaultValue() {
+          return [];
         }
-        const artifactId = BigInt(finalizeArtifactResp.artifactId);
-        core14.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
-        return {
-          size: uploadResult.uploadSize,
-          digest: uploadResult.sha256Hash,
-          id: Number(artifactId)
-        };
-      });
-    }
-    exports2.uploadArtifact = uploadArtifact;
-  }
-});
-
-// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
-var require_context2 = __commonJS({
-  "node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Context = void 0;
-    var fs_1 = require("fs");
-    var os_1 = require("os");
-    var Context = class {
-      /**
-       * Hydrate the context from the environment
-       */
-      constructor() {
-        var _a, _b, _c;
-        this.payload = {};
-        if (process.env.GITHUB_EVENT_PATH) {
-          if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) {
-            this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" }));
-          } else {
-            const path7 = process.env.GITHUB_EVENT_PATH;
-            process.stdout.write(`GITHUB_EVENT_PATH ${path7} does not exist${os_1.EOL}`);
-          }
+      },
+      {
+        key: "dispatcher",
+        converter: (V) => V,
+        get defaultValue() {
+          return getGlobalDispatcher();
         }
-        this.eventName = process.env.GITHUB_EVENT_NAME;
-        this.sha = process.env.GITHUB_SHA;
-        this.ref = process.env.GITHUB_REF;
-        this.workflow = process.env.GITHUB_WORKFLOW;
-        this.action = process.env.GITHUB_ACTION;
-        this.actor = process.env.GITHUB_ACTOR;
-        this.job = process.env.GITHUB_JOB;
-        this.runAttempt = parseInt(process.env.GITHUB_RUN_ATTEMPT, 10);
-        this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);
-        this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);
-        this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;
-        this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;
-        this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;
+      },
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      get issue() {
-        const payload = this.payload;
-        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      get repo() {
-        if (process.env.GITHUB_REPOSITORY) {
-          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
-          return { owner, repo };
+      return { protocols: webidl.converters["DOMString or sequence"](V) };
+    };
+    webidl.converters.WebSocketSendData = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
         }
-        if (this.payload.repository) {
-          return {
-            owner: this.payload.repository.owner.login,
-            repo: this.payload.repository.name
-          };
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
         }
-        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
       }
+      return webidl.converters.USVString(V);
+    };
+    module2.exports = {
+      WebSocket
     };
-    exports2.Context = Context;
   }
 });
 
-// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
-var require_proxy2 = __commonJS({
-  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
+// node_modules/undici/index.js
+var require_undici3 = __commonJS({
+  "node_modules/undici/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.checkBypass = exports2.getProxyUrl = void 0;
-    function getProxyUrl(reqUrl) {
-      const usingSsl = reqUrl.protocol === "https:";
-      if (checkBypass(reqUrl)) {
-        return void 0;
-      }
-      const proxyVar = (() => {
-        if (usingSsl) {
-          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+    var Client = require_client3();
+    var Dispatcher = require_dispatcher3();
+    var errors = require_errors6();
+    var Pool = require_pool3();
+    var BalancedPool = require_balanced_pool3();
+    var Agent = require_agent3();
+    var util = require_util24();
+    var { InvalidArgumentError } = errors;
+    var api = require_api3();
+    var buildConnector = require_connect3();
+    var MockClient = require_mock_client3();
+    var MockAgent = require_mock_agent3();
+    var MockPool = require_mock_pool3();
+    var mockErrors = require_mock_errors3();
+    var ProxyAgent = require_proxy_agent3();
+    var RetryHandler = require_RetryHandler();
+    var { getGlobalDispatcher, setGlobalDispatcher } = require_global6();
+    var DecoratorHandler = require_DecoratorHandler();
+    var RedirectHandler = require_RedirectHandler();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var hasCrypto;
+    try {
+      require("crypto");
+      hasCrypto = true;
+    } catch {
+      hasCrypto = false;
+    }
+    Object.assign(Dispatcher.prototype, api);
+    module2.exports.Dispatcher = Dispatcher;
+    module2.exports.Client = Client;
+    module2.exports.Pool = Pool;
+    module2.exports.BalancedPool = BalancedPool;
+    module2.exports.Agent = Agent;
+    module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.RetryHandler = RetryHandler;
+    module2.exports.DecoratorHandler = DecoratorHandler;
+    module2.exports.RedirectHandler = RedirectHandler;
+    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.buildConnector = buildConnector;
+    module2.exports.errors = errors;
+    function makeDispatcher(fn) {
+      return (url, opts, handler2) => {
+        if (typeof opts === "function") {
+          handler2 = opts;
+          opts = null;
+        }
+        if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) {
+          throw new InvalidArgumentError("invalid url");
+        }
+        if (opts != null && typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (opts && opts.path != null) {
+          if (typeof opts.path !== "string") {
+            throw new InvalidArgumentError("invalid opts.path");
+          }
+          let path7 = opts.path;
+          if (!opts.path.startsWith("/")) {
+            path7 = `/${path7}`;
+          }
+          url = new URL(util.parseOrigin(url).origin + path7);
         } else {
-          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+          if (!opts) {
+            opts = typeof url === "object" ? url : {};
+          }
+          url = util.parseURL(url);
         }
-      })();
-      if (proxyVar) {
-        try {
-          return new DecodedURL(proxyVar);
-        } catch (_a) {
-          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
-            return new DecodedURL(`http://${proxyVar}`);
+        const { agent, dispatcher = getGlobalDispatcher() } = opts;
+        if (agent) {
+          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
         }
-      } else {
-        return void 0;
-      }
+        return fn.call(dispatcher, {
+          ...opts,
+          origin: url.origin,
+          path: url.search ? `${url.pathname}${url.search}` : url.pathname,
+          method: opts.method || (opts.body ? "PUT" : "GET")
+        }, handler2);
+      };
     }
-    exports2.getProxyUrl = getProxyUrl;
-    function checkBypass(reqUrl) {
-      if (!reqUrl.hostname) {
-        return false;
-      }
-      const reqHost = reqUrl.hostname;
-      if (isLoopbackAddress(reqHost)) {
-        return true;
-      }
-      const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || "";
-      if (!noProxy) {
-        return false;
-      }
-      let reqPort;
-      if (reqUrl.port) {
-        reqPort = Number(reqUrl.port);
-      } else if (reqUrl.protocol === "http:") {
-        reqPort = 80;
-      } else if (reqUrl.protocol === "https:") {
-        reqPort = 443;
-      }
-      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
-      if (typeof reqPort === "number") {
-        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
-      }
-      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
-        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
-          return true;
+    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
+    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
+    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
+      let fetchImpl = null;
+      module2.exports.fetch = async function fetch(resource) {
+        if (!fetchImpl) {
+          fetchImpl = require_fetch3().fetch;
         }
-      }
-      return false;
+        try {
+          return await fetchImpl(...arguments);
+        } catch (err) {
+          if (typeof err === "object") {
+            Error.captureStackTrace(err, this);
+          }
+          throw err;
+        }
+      };
+      module2.exports.Headers = require_headers4().Headers;
+      module2.exports.Response = require_response4().Response;
+      module2.exports.Request = require_request6().Request;
+      module2.exports.FormData = require_formdata3().FormData;
+      module2.exports.File = require_file5().File;
+      module2.exports.FileReader = require_filereader3().FileReader;
+      const { setGlobalOrigin, getGlobalOrigin } = require_global5();
+      module2.exports.setGlobalOrigin = setGlobalOrigin;
+      module2.exports.getGlobalOrigin = getGlobalOrigin;
+      const { CacheStorage } = require_cachestorage3();
+      const { kConstruct } = require_symbols14();
+      module2.exports.caches = new CacheStorage(kConstruct);
     }
-    exports2.checkBypass = checkBypass;
-    function isLoopbackAddress(host) {
-      const hostLower = host.toLowerCase();
-      return hostLower === "localhost" || hostLower.startsWith("127.") || hostLower.startsWith("[::1]") || hostLower.startsWith("[0:0:0:0:0:0:0:1]");
+    if (util.nodeMajor >= 16) {
+      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies3();
+      module2.exports.deleteCookie = deleteCookie;
+      module2.exports.getCookies = getCookies;
+      module2.exports.getSetCookies = getSetCookies;
+      module2.exports.setCookie = setCookie;
+      const { parseMIMEType, serializeAMimeType } = require_dataURL();
+      module2.exports.parseMIMEType = parseMIMEType;
+      module2.exports.serializeAMimeType = serializeAMimeType;
     }
-    var DecodedURL = class extends URL {
-      constructor(url, base) {
-        super(url, base);
-        this._decodedUsername = decodeURIComponent(super.username);
-        this._decodedPassword = decodeURIComponent(super.password);
-      }
-      get username() {
-        return this._decodedUsername;
-      }
-      get password() {
-        return this._decodedPassword;
-      }
-    };
+    if (util.nodeMajor >= 18 && hasCrypto) {
+      const { WebSocket } = require_websocket3();
+      module2.exports.WebSocket = WebSocket;
+    }
+    module2.exports.request = makeDispatcher(api.request);
+    module2.exports.stream = makeDispatcher(api.stream);
+    module2.exports.pipeline = makeDispatcher(api.pipeline);
+    module2.exports.connect = makeDispatcher(api.connect);
+    module2.exports.upgrade = makeDispatcher(api.upgrade);
+    module2.exports.MockClient = MockClient;
+    module2.exports.MockPool = MockPool;
+    module2.exports.MockAgent = MockAgent;
+    module2.exports.mockErrors = mockErrors;
   }
 });
 
@@ -126988,7 +145241,7 @@ var require_lib4 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy2());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -127544,7 +145797,7 @@ var require_lib4 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js
-var require_utils9 = __commonJS({
+var require_utils10 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -127604,7 +145857,7 @@ var require_utils9 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getApiBaseUrl = exports2.getProxyFetch = exports2.getProxyAgentDispatcher = exports2.getProxyAgent = exports2.getAuthString = void 0;
     var httpClient = __importStar2(require_lib4());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     function getAuthString(token, options) {
       if (!token && !options.auth) {
         throw new Error("Parameter token or opts.auth is required");
@@ -131450,7 +149703,7 @@ var require_dist_node10 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js
-var require_utils10 = __commonJS({
+var require_utils11 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -131483,7 +149736,7 @@ var require_utils10 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokitOptions = exports2.GitHub = exports2.defaults = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var Utils = __importStar2(require_utils9());
+    var Utils = __importStar2(require_utils10());
     var core_1 = require_dist_node8();
     var plugin_rest_endpoint_methods_1 = require_dist_node9();
     var plugin_paginate_rest_1 = require_dist_node10();
@@ -131543,7 +149796,7 @@ var require_github2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokit = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     exports2.context = new Context.Context();
     function getOctokit(token, options, ...additionalPlugins) {
       const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
@@ -133502,7 +151755,7 @@ var require_download_artifact = __commonJS({
     var config_1 = require_config2();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var errors_1 = require_errors4();
     var scrubQueryParameters = (url) => {
       const parsed = new URL(url);
@@ -133884,10 +152137,10 @@ var require_get_artifact = __commonJS({
     var github_1 = require_github2();
     var plugin_retry_1 = require_dist_node12();
     var core14 = __importStar2(require_core());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var retry_options_1 = require_retry_options();
     var plugin_request_log_1 = require_dist_node11();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var user_agent_1 = require_user_agent2();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
@@ -134008,11 +152261,11 @@ var require_delete_artifact = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent2();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var generated_1 = require_generated();
     var get_artifact_1 = require_get_artifact();
     var errors_1 = require_errors4();
@@ -134114,11 +152367,11 @@ var require_list_artifacts = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent2();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var config_1 = require_config2();
     var generated_1 = require_generated();
     var maximumArtifactCount = (0, config_1.getMaxArtifactListCount)();
@@ -134235,7 +152488,7 @@ var require_list_artifacts = __commonJS({
 });
 
 // node_modules/@actions/artifact/lib/internal/client.js
-var require_client3 = __commonJS({
+var require_client4 = __commonJS({
   "node_modules/@actions/artifact/lib/internal/client.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -134422,17 +152675,17 @@ var require_artifact2 = __commonJS({
       for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var client_1 = require_client3();
+    var client_1 = require_client4();
     __exportStar2(require_interfaces2(), exports2);
     __exportStar2(require_errors4(), exports2);
-    __exportStar2(require_client3(), exports2);
+    __exportStar2(require_client4(), exports2);
     var client = new client_1.DefaultArtifactClient();
     exports2.default = client;
   }
 });
 
 // node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js
-var require_utils11 = __commonJS({
+var require_utils12 = __commonJS({
   "node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -134497,7 +152750,7 @@ var require_command2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.issue = exports2.issueCommand = void 0;
     var os2 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueCommand(command, properties, message) {
       const cmd = new Command(command, properties, message);
       process.stdout.write(cmd.toString() + os2.EOL);
@@ -134585,7 +152838,7 @@ var require_file_command2 = __commonJS({
     var crypto2 = __importStar2(require("crypto"));
     var fs8 = __importStar2(require("fs"));
     var os2 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueFileCommand(command, message) {
       const filePath = process.env[`GITHUB_${command}`];
       if (!filePath) {
@@ -134760,7 +153013,7 @@ var require_lib5 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy3());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -137053,7 +155306,7 @@ var require_core3 = __commonJS({
     exports2.platform = exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = exports2.markdownSummary = exports2.summary = exports2.getIDToken = exports2.getState = exports2.saveState = exports2.group = exports2.endGroup = exports2.startGroup = exports2.info = exports2.notice = exports2.warning = exports2.error = exports2.debug = exports2.isDebug = exports2.setFailed = exports2.setCommandEcho = exports2.setOutput = exports2.getBooleanInput = exports2.getMultilineInput = exports2.getInput = exports2.addPath = exports2.setSecret = exports2.exportVariable = exports2.ExitCode = void 0;
     var command_1 = require_command2();
     var file_command_1 = require_file_command2();
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     var os2 = __importStar2(require("os"));
     var path7 = __importStar2(require("path"));
     var oidc_utils_1 = require_oidc_utils2();
@@ -138126,7 +156379,7 @@ var require_crc64 = __commonJS({
 });
 
 // node_modules/@actions/artifact-legacy/lib/internal/utils.js
-var require_utils12 = __commonJS({
+var require_utils13 = __commonJS({
   "node_modules/@actions/artifact-legacy/lib/internal/utils.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -138436,7 +156689,7 @@ var require_http_manager = __commonJS({
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.HttpManager = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var HttpManager = class {
       constructor(clientCount, userAgent2) {
         if (clientCount < 1) {
@@ -138691,7 +156944,7 @@ var require_requestUtils2 = __commonJS({
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.retryHttpClientRequest = exports2.retry = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var core14 = __importStar2(require_core3());
     var config_variables_1 = require_config_variables();
     function retry2(name, operation, customErrorMessages, maxAttempts) {
@@ -138812,7 +157065,7 @@ var require_upload_http_client = __commonJS({
     var core14 = __importStar2(require_core3());
     var tmp = __importStar2(require_tmp_promise());
     var stream = __importStar2(require("stream"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var config_variables_1 = require_config_variables();
     var util_1 = require("util");
     var url_1 = require("url");
@@ -139203,7 +157456,7 @@ var require_download_http_client = __commonJS({
     var fs8 = __importStar2(require("fs"));
     var core14 = __importStar2(require_core3());
     var zlib = __importStar2(require("zlib"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var url_1 = require("url");
     var status_reporter_1 = require_status_reporter();
     var perf_hooks_1 = require("perf_hooks");
@@ -139546,7 +157799,7 @@ var require_artifact_client = __commonJS({
     var core14 = __importStar2(require_core3());
     var upload_specification_1 = require_upload_specification();
     var upload_http_client_1 = require_upload_http_client();
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation2();
     var download_http_client_1 = require_download_http_client();
     var download_specification_1 = require_download_specification();
@@ -144558,10 +162811,12 @@ async function runWrapper() {
 void runWrapper();
 /*! Bundled license information:
 
+undici/lib/web/fetch/body.js:
 undici/lib/web/fetch/body.js:
 undici/lib/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
+undici/lib/web/websocket/frame.js:
 undici/lib/web/websocket/frame.js:
 undici/lib/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
diff --git a/lib/analyze-action.js b/lib/analyze-action.js
index 86a39a5616..743a07e627 100644
--- a/lib/analyze-action.js
+++ b/lib/analyze-action.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT");
+    var AbortError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+        this.message = message || "The operation was aborted";
+        this.code = "UND_ERR_ABORT";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         this.name = "InformationalError";
         this.message = message || "Request information";
         this.code = "UND_ERR_INFO";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInformationalError] === true;
+      }
+      [kInformationalError] = true;
     };
-    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE");
+    var ResponseError = class extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        this.name = "ResponseError";
+        this.message = message || "Response error";
+        this.code = "UND_ERR_RESPONSE";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseError] === true;
+      }
+      [kResponseError] = true;
+    };
+    var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS");
+    var SecureProxyConnectionError = class extends UndiciError {
+      constructor(cause, message, options) {
+        super(message, { cause, ...options ?? {} });
+        this.name = "SecureProxyConnectionError";
+        this.message = message || "Secure Proxy Connection failed";
+        this.code = "UND_ERR_PRX_TLS";
+        this.cause = cause;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSecureProxyConnectionError] === true;
+      }
+      [kSecureProxyConnectionError] = true;
     };
     module2.exports = {
+      AbortError,
       HTTPParserError,
       UndiciError,
       HeadersTimeoutError,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              node.middle = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.code < code) {
+            if (node.left !== null) {
+              node = node.left;
+            } else {
+              node.left = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.right !== null) {
+            node = node.right;
+          } else {
+            node.right = new _TstNode(key, value, index);
+            break;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    var TernarySearchTree = class {
+      /** @type {TstNode | null} */
+      node = null;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * */
+      insert(key, value) {
+        if (this.node === null) {
+          this.node = new TstNode(key, value, 0);
+        } else {
+          this.node.add(key, value);
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {any}
+       */
+      lookup(key) {
+        return this.node?.search(key)?.value ?? null;
+      }
+    };
+    var tree = new TernarySearchTree();
+    for (let i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]];
+      tree.insert(key, key);
+    }
+    module2.exports = {
+      TernarySearchTree,
+      tree
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream2 = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream2 = require("node:stream");
+    var net = require("node:net");
+    var { Blob: Blob2 } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var { stringify } = require("node:querystring");
+    var { EventEmitter: EE } = require("node:events");
     var { InvalidArgumentError } = require_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      if (object === null) {
+        return false;
+      } else if (object instanceof Blob2) {
+        return true;
+      } else if (typeof object !== "object") {
+        return false;
+      } else {
+        const sTag = object[Symbol.toStringTag];
+        return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function");
+      }
     }
     function buildURL(url2, queryParams) {
       if (url2.includes("?") || url2.includes("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       return url2;
     }
+    function isValidPort(port) {
+      const value = parseInt(port, 10);
+      return value === Number(port) && value >= 0 && value <= 65535;
+    }
+    function isHttpOrHttpsPrefixed(value) {
+      return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
+    }
     function parseURL(url2) {
       if (typeof url2 === "string") {
         url2 = new URL(url2);
-        if (!/^https?:/.test(url2.origin || url2.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url2;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url2 || typeof url2 !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url2.origin || url2.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url2 instanceof URL)) {
-        if (url2.port != null && url2.port !== "" && !Number.isFinite(parseInt(url2.port))) {
+        if (url2.port != null && url2.port !== "" && isValidPort(url2.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url2.path != null && typeof url2.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         if (url2.origin != null && typeof url2.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80;
-        let origin = url2.origin != null ? url2.origin : `${url2.protocol}//${url2.hostname}:${port}`;
+        let origin = url2.origin != null ? url2.origin : `${url2.protocol || ""}//${url2.hostname || ""}:${port}`;
         let path16 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path16 && !path16.startsWith("/")) {
+        if (path16 && path16[0] !== "/") {
           path16 = `/${path16}`;
         }
-        url2 = new URL(origin + path16);
+        return new URL(`${origin}${path16}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url2;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream3) {
-      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
-    }
-    function isReadableAborted(stream3) {
-      const state = stream3 && stream3._readableState;
-      return isDestroyed(stream3) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body));
     }
     function destroy(stream3, err) {
       if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream3.destroy(err);
       } else if (err) {
-        process.nextTick((stream4, err2) => {
-          stream4.emit("error", err2);
-        }, stream3, err);
+        queueMicrotask(() => {
+          stream3.emit("error", err);
+        });
       }
       if (stream3.destroyed !== true) {
         stream3[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        if (val) {
+          if (typeof val === "string") {
             val = [val];
             obj[key] = val;
           }
           val.push(headers[i + 1].toString("utf8"));
+        } else {
+          const headersValue = headers[i + 1];
+          if (typeof headersValue === "string") {
+            obj[key] = headersValue;
+          } else {
+            obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      const len = headers.length;
+      const ret = new Array(len);
       let hasContentLength = false;
       let contentDispositionIdx = -1;
+      let key;
+      let val;
+      let kLen = 0;
       for (let n = 0; n < headers.length; n += 2) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        key = headers[n];
+        val = headers[n + 1];
+        typeof key !== "string" && (key = key.toString());
+        typeof val !== "string" && (val = val.toString("utf8"));
+        kLen = key.length;
+        if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) {
           hasContentLength = true;
-        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream2.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          type: "bytes"
+        }
       );
     }
     function isFormDataLike(object) {
       return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
     }
-    function throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.toUSVString(val);
+      return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val);
+    }
+    function isUSVString(val) {
+      return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`;
+    }
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
+      }
+    }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
+        }
       }
-      return `${val}`;
+      return true;
+    }
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    function isValidHeaderValue(characters) {
+      return !headerCharRegex.test(characters);
     }
     function parseRangeHeader(range) {
       if (range == null || range === "") return { start: 0, end: null, size: null };
@@ -22290,25 +22632,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
+    var normalizedMethodRecordsBase = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    var normalizedMethodRecords = {
+      ...normalizedMethodRecordsBase,
+      patch: "patch",
+      PATCH: "PATCH"
+    };
+    Object.setPrototypeOf(normalizedMethodRecordsBase, null);
+    Object.setPrototypeOf(normalizedMethodRecords, null);
+    module2.exports = {
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isUSVString,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
       isStream,
       isIterable,
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,15673 +22708,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    var diagnosticsChannel = require("node:diagnostics_channel");
+    var util = require("node:util");
+    var undiciDebugLog = util.debuglog("undici");
+    var fetchDebuglog = util.debuglog("fetch");
+    var websocketDebuglog = util.debuglog("websocket");
+    var isClientSet = false;
+    var channels = {
+      // Client
+      beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
+      connected: diagnosticsChannel.channel("undici:client:connected"),
+      connectError: diagnosticsChannel.channel("undici:client:connectError"),
+      sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
+      // Request
+      create: diagnosticsChannel.channel("undici:request:create"),
+      bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
+      headers: diagnosticsChannel.channel("undici:request:headers"),
+      trailers: diagnosticsChannel.channel("undici:request:trailers"),
+      error: diagnosticsChannel.channel("undici:request:error"),
+      // WebSocket
+      open: diagnosticsChannel.channel("undici:websocket:open"),
+      close: diagnosticsChannel.channel("undici:websocket:close"),
+      socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
+      ping: diagnosticsChannel.channel("undici:websocket:ping"),
+      pong: diagnosticsChannel.channel("undici:websocket:pong")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
+      const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog;
+      diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connecting to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connected to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host },
+          error: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path16);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path16,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path16);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path16,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    if (websocketDebuglog.enabled) {
+      if (!isClientSet) {
+        const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog;
+        diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connecting to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connected to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host },
+            error: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path16, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path16);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => {
+        const {
+          address: { address, port }
+        } = evt;
+        websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : "");
+      });
+      diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => {
+        const { websocket, code, reason } = evt;
+        websocketDebuglog(
+          "closed connection to %s - %s %s",
+          websocket.url,
+          code,
+          reason
+        );
+      });
+      diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => {
+        websocketDebuglog("connection errored - %s", err.message);
+      });
+      diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => {
+        websocketDebuglog("ping received");
+      });
+      diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => {
+        websocketDebuglog("pong received");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path16,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path16 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path16)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
+          throw new InvalidArgumentError("invalid request method");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path16, query) : path16;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
           }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      }
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    function processHeader(request2, key, val) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path16) {
-      if (typeof path16 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path16.length - 1; i >= 0; --i) {
-        switch (path16.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path16 = path16.slice(i + 1);
-            return path16 === ".." || path16 === "." ? "" : path16;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path16 === ".." || path16 === "." ? "" : path16;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable: Readable2 } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        request2.host = val;
+      } else if (request2.contentLength === null && headerName === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } else if (request2.contentType === null && headerName === "content-type") {
+        request2.contentType = val;
+        request2.headers.push(key, val);
+      } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
+        throw new InvalidArgumentError(`invalid ${headerName} header`);
+      } else if (headerName === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
         }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable2.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable2);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      compose(...args) {
+        const interceptors = Array.isArray(args[0]) ? args[0] : args;
+        let dispatch = this.dispatch.bind(this);
+        for (const interceptor of interceptors) {
+          if (interceptor == null) {
+            continue;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve8, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve8(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve8, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve8(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
+        }
+        if (!err) {
+          err = new ClientDestroyedError();
+        }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
+        });
+      }
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
+        }
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
+        }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
+      }
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
+        }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
+          }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
+          }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
+          }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
+          }
+          handler2.onError(err);
+          return false;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer");
+    var fastTimers = [];
+    var NOT_IN_LIST = -2;
+    var TO_BE_CLEARED = -1;
+    var PENDING = 0;
+    var ACTIVE = 1;
+    function onTick() {
+      fastNow += TICK_MS;
+      let idx = 0;
+      let len = fastTimers.length;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer._state === PENDING) {
+          timer._idleStart = fastNow - TICK_MS;
+          timer._state = ACTIVE;
+        } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
+          timer._state = TO_BE_CLEARED;
+          timer._idleStart = -1;
+          timer._onTimeout(timer._timerArg);
+        }
+        if (timer._state === TO_BE_CLEARED) {
+          timer._state = NOT_IN_LIST;
+          if (--len !== 0) {
+            fastTimers[idx] = fastTimers[len];
+          }
+        } else {
+          ++idx;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
-    function getGlobalOrigin() {
-      return globalThis[globalOrigin];
     }
-    function setGlobalOrigin(newOrigin) {
-      if (newOrigin === void 0) {
-        Object.defineProperty(globalThis, globalOrigin, {
-          value: void 0,
-          writable: true,
-          enumerable: false,
-          configurable: false
-        });
-        return;
+    var FastTimer = class {
+      [kFastTimer] = true;
+      /**
+       * The state of the timer, which can be one of the following:
+       * - NOT_IN_LIST (-2)
+       * - TO_BE_CLEARED (-1)
+       * - PENDING (0)
+       * - ACTIVE (1)
+       *
+       * @type {-2|-1|0|1}
+       * @private
+       */
+      _state = NOT_IN_LIST;
+      /**
+       * The number of milliseconds to wait before calling the callback.
+       *
+       * @type {number}
+       * @private
+       */
+      _idleTimeout = -1;
+      /**
+       * The time in milliseconds when the timer was started. This value is used to
+       * calculate when the timer should expire.
+       *
+       * @type {number}
+       * @default -1
+       * @private
+       */
+      _idleStart = -1;
+      /**
+       * The function to be executed when the timer expires.
+       * @type {Function}
+       * @private
+       */
+      _onTimeout;
+      /**
+       * The argument to be passed to the callback when the timer expires.
+       *
+       * @type {*}
+       * @private
+       */
+      _timerArg;
+      /**
+       * @constructor
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should wait
+       * before the specified function or code is executed.
+       * @param {*} arg
+       */
+      constructor(callback, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * Sets the timer's start time to the current time, and reschedules the timer
+       * to call its callback at the previously specified duration adjusted to the
+       * current time.
+       * Using this on a timer that has already called its callback will reactivate
+       * the timer.
+       *
+       * @returns {void}
+       */
+      refresh() {
+        if (this._state === NOT_IN_LIST) {
+          fastTimers.push(this);
+        }
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
+        }
+        this._state = PENDING;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * The setTimeout() method sets a timer which executes a function once the
+       * timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {NodeJS.Timeout|FastTimer}
+       */
+      setTimeout(callback, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated Timer previously created
+       * by calling setTimeout.
+       *
+       * @param {NodeJS.Timeout|FastTimer} timeout
+       */
+      clearTimeout(timeout) {
+        if (timeout[kFastTimer]) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
+      },
+      /**
+       * The setFastTimeout() method sets a fastTimer which executes a function once
+       * the timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {FastTimer}
+       */
+      setFastTimeout(callback, delay2, arg) {
+        return new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated FastTimer previously
+       * created by calling setFastTimeout.
+       *
+       * @param {FastTimer} timeout
+       */
+      clearFastTimeout(timeout) {
+        timeout.clear();
+      },
+      /**
+       * The now method returns the value of the internal fast timer clock.
+       *
+       * @returns {number}
+       */
+      now() {
+        return fastNow;
+      },
+      /**
+       * Trigger the onTick function to process the fastTimers array.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       * @param {number} [delay=0] The delay in milliseconds to add to the now value.
+       */
+      tick(delay2 = 0) {
+        fastNow += delay2 - RESOLUTION_MS + 1;
+        onTick();
+        onTick();
+      },
+      /**
+       * Reset FastTimers.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      reset() {
+        fastNow = 0;
+        fastTimers.length = 0;
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = null;
+      },
+      /**
+       * Exporting for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      kFastTimer
     };
   }
 });
 
-// node_modules/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance5 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto3;
-    try {
-      crypto3 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto3.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
-    } catch {
-    }
-    function responseURL(response) {
-      const urlList = response.urlList;
-      const length = urlList.length;
-      return length === 0 ? null : urlList[length - 1].toString();
-    }
-    function responseLocationURL(response, requestFragment) {
-      if (!redirectStatusSet.has(response.status)) {
-        return null;
-      }
-      let location = response.headersList.get("location");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url2 = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
-        return "blocked";
-      }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    function isValidReasonPhrase(statusText) {
-      for (let i = 0; i < statusText.length; ++i) {
-        const c = statusText.charCodeAt(i);
-        if (!(c === 9 || // HTAB
-        c >= 32 && c <= 126 || // SP / VCHAR
-        c >= 128 && c <= 255)) {
-          return false;
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
         }
-      }
-      return true;
-    }
-    function isTokenCharCode(c) {
-      switch (c) {
-        case 34:
-        case 40:
-        case 41:
-        case 44:
-        case 47:
-        case 58:
-        case 59:
-        case 60:
-        case 61:
-        case 62:
-        case 63:
-        case 64:
-        case 91:
-        case 92:
-        case 93:
-        case 123:
-        case 125:
-          return false;
-        default:
-          return c >= 33 && c <= 126;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      if (policy !== "") {
-        request2.referrerPolicy = policy;
-      }
-    }
-    function crossOriginResourcePolicyCheck() {
-      return "allowed";
-    }
-    function corsCheck() {
-      return "success";
-    }
-    function TAOCheck() {
-      return "success";
-    }
-    function appendFetchMetadata(httpRequest) {
-      let header = null;
-      header = httpRequest.mode;
-      httpRequest.headersList.set("sec-fetch-mode", header);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance5.now();
-    }
-    function createOpaqueTimingInfo(timingInfo) {
-      return {
-        startTime: timingInfo.startTime ?? 0,
-        redirectStartTime: 0,
-        redirectEndTime: 0,
-        postRedirectStartTime: timingInfo.startTime ?? 0,
-        finalServiceWorkerStartTime: 0,
-        finalNetworkResponseStartTime: 0,
-        finalNetworkRequestStartTime: 0,
-        endTime: 0,
-        encodedBodySize: 0,
-        decodedBodySize: 0,
-        finalConnectionTimingInfo: null
-      };
-    }
-    function makePolicyContainer() {
-      return {
-        referrerPolicy: "strict-origin-when-cross-origin"
-      };
-    }
-    function clonePolicyContainer(policyContainer) {
-      return {
-        referrerPolicy: policyContainer.referrerPolicy
       };
-    }
-    function determineRequestsReferrer(request2) {
-      const policy = request2.referrerPolicy;
-      assert(policy);
-      let referrerSource = null;
-      if (request2.referrer === "client") {
-        const globalOrigin = getGlobalOrigin();
-        if (!globalOrigin || globalOrigin.origin === "null") {
-          return "no-referrer";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        referrerSource = new URL(globalOrigin);
-      } else if (request2.referrer instanceof URL) {
-        referrerSource = request2.referrer;
-      }
-      let referrerURL = stripURLForReferrer(referrerSource);
-      const referrerOrigin = stripURLForReferrer(referrerSource, true);
-      if (referrerURL.toString().length > 4096) {
-        referrerURL = referrerOrigin;
-      }
-      const areSameOrigin = sameOrigin(request2, referrerURL);
-      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
-      switch (policy) {
-        case "origin":
-          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
-        case "unsafe-url":
-          return referrerURL;
-        case "same-origin":
-          return areSameOrigin ? referrerOrigin : "no-referrer";
-        case "origin-when-cross-origin":
-          return areSameOrigin ? referrerURL : referrerOrigin;
-        case "strict-origin-when-cross-origin": {
-          const currentURL = requestCurrentURL(request2);
-          if (sameOrigin(referrerURL, currentURL)) {
-            return referrerURL;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url2, originOnly) {
-      assert(url2 instanceof URL);
-      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url2.username = "";
-      url2.password = "";
-      url2.hash = "";
-      if (originOnly) {
-        url2.pathname = "";
-        url2.search = "";
-      }
-      return url2;
-    }
-    function isURLPotentiallyTrustworthy(url2) {
-      if (!(url2 instanceof URL)) {
-        return false;
-      }
-      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
-        return true;
-      }
-      if (url2.protocol === "data:") return true;
-      if (url2.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url2.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto3 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
       }
-      const strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto3.createHash(algorithm).update(bytes).digest("base64");
-        if (actualValue[actualValue.length - 1] === "=") {
-          if (actualValue[actualValue.length - 2] === "=") {
-            actualValue = actualValue.slice(0, -2);
-          } else {
-            actualValue = actualValue.slice(0, -1);
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("node:tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          assert(sessionKey);
+          const session = customSession || sessionCache.get(sessionKey) || null;
+          port = port || 443;
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          port = port || 80;
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port,
+            host: hostname
+          });
         }
-        if (compareBase64Mixed(actualValue, expectedValue)) {
-          return true;
-        }
-      }
-      return false;
-    }
-    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
-    function parseMetadata(metadata) {
-      const result = [];
-      let empty = true;
-      for (const token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
-          continue;
-        }
-        const algorithm = parsedToken.groups.algo.toLowerCase();
-        if (supportedHashes.includes(algorithm)) {
-          result.push(parsedToken.groups);
-        }
-      }
-      if (empty === true) {
-        return "no metadata";
-      }
-      return result;
-    }
-    function getStrongestMetadata(metadataList) {
-      let algorithm = metadataList[0].algo;
-      if (algorithm[3] === "5") {
-        return algorithm;
-      }
-      for (let i = 1; i < metadataList.length; ++i) {
-        const metadata = metadataList[i];
-        if (metadata.algo[3] === "5") {
-          algorithm = "sha512";
-          break;
-        } else if (algorithm[3] === "3") {
-          continue;
-        } else if (metadata.algo[3] === "3") {
-          algorithm = "sha384";
-        }
-      }
-      return algorithm;
-    }
-    function filterMetadataListByAlgorithm(metadataList, algorithm) {
-      if (metadataList.length === 1) {
-        return metadataList;
-      }
-      let pos = 0;
-      for (let i = 0; i < metadataList.length; ++i) {
-        if (metadataList[i].algo === algorithm) {
-          metadataList[pos++] = metadataList[i];
-        }
-      }
-      metadataList.length = pos;
-      return metadataList;
-    }
-    function compareBase64Mixed(actualValue, expectedValue) {
-      if (actualValue.length !== expectedValue.length) {
-        return false;
-      }
-      for (let i = 0; i < actualValue.length; ++i) {
-        if (actualValue[i] !== expectedValue[i]) {
-          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
-            continue;
-          }
-          return false;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      return true;
-    }
-    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
-    }
-    function sameOrigin(A, B) {
-      if (A.origin === B.origin && A.origin === "null") {
-        return true;
-      }
-      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
-        return true;
-      }
-      return false;
-    }
-    function createDeferredPromise() {
-      let res;
-      let rej;
-      const promise = new Promise((resolve8, reject) => {
-        res = resolve8;
-        rej = reject;
-      });
-      return { promise, resolve: res, reject: rej };
-    }
-    function isAborted(fetchParams) {
-      return fetchParams.controller.state === "aborted";
-    }
-    function isCancelled(fetchParams) {
-      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
-    }
-    function serializeJavascriptValueToJSONString(value) {
-      const result = JSON.stringify(value);
-      if (result === void 0) {
-        throw new TypeError("Value is not JSON serializable");
-      }
-      assert(typeof result === "string");
-      return result;
-    }
-    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port });
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream2) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      let s1 = null;
+      let s2 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    } : (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      let s1 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          onConnectTimeout(socketWeakRef.deref(), opts);
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+      };
+    };
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
+        return;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    async function readAllBytes(reader) {
-      const bytes = [];
-      let byteLength = 0;
-      while (true) {
-        const { done, value: chunk } = await reader.read();
-        if (done) {
-          return Buffer.concat(bytes, byteLength);
-        }
-        if (!isUint8Array(chunk)) {
-          throw new TypeError("Received non-Uint8Array chunk");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        bytes.push(chunk);
-        byteLength += chunk.length;
-      }
-    }
-    function urlIsLocal(url2) {
-      assert("protocol" in url2);
-      const protocol = url2.protocol;
-      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
-    }
-    function urlHasHttpsScheme(url2) {
-      if (typeof url2 === "string") {
-        return url2.startsWith("https:");
-      }
-      return url2.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url2) {
-      assert("protocol" in url2);
-      const protocol = url2.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.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
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    "use strict";
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.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");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var corsSafeListedMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "POST"]
+    );
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = (
+      /** @type {const} */
+      [101, 204, 205, 304]
+    );
+    var redirectStatus = (
+      /** @type {const} */
+      [301, 302, 303, 307, 308]
+    );
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = (
+      /** @type {const} */
+      [
+        "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"
+      ]
+    );
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = (
+      /** @type {const} */
+      [
+        "",
+        "no-referrer",
+        "no-referrer-when-downgrade",
+        "same-origin",
+        "origin",
+        "strict-origin",
+        "origin-when-cross-origin",
+        "strict-origin-when-cross-origin",
+        "unsafe-url"
+      ]
+    );
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = (
+      /** @type {const} */
+      ["follow", "manual", "error"]
+    );
+    var safeMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "OPTIONS", "TRACE"]
+    );
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = (
+      /** @type {const} */
+      ["navigate", "same-origin", "no-cors", "cors"]
+    );
+    var requestCredentials = (
+      /** @type {const} */
+      ["omit", "same-origin", "include"]
+    );
+    var requestCache = (
+      /** @type {const} */
+      [
+        "default",
+        "no-store",
+        "reload",
+        "no-cache",
+        "force-cache",
+        "only-if-cached"
+      ]
+    );
+    var requestBodyHeader = (
+      /** @type {const} */
+      [
+        "content-encoding",
+        "content-language",
+        "content-location",
+        "content-type",
+        // See https://github.com/nodejs/undici/issues/2021
+        // 'Content-Length' is a forbidden header name, which is typically
+        // removed in the Headers implementation. However, undici doesn't
+        // filter out headers, so we add it here.
+        "content-length"
+      ]
+    );
+    var requestDuplex = (
+      /** @type {const} */
+      [
+        "half"
+      ]
+    );
+    var forbiddenMethods = (
+      /** @type {const} */
+      ["CONNECT", "TRACE", "TRACK"]
+    );
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = (
+      /** @type {const} */
+      [
+        "audio",
+        "audioworklet",
+        "font",
+        "image",
+        "manifest",
+        "paintworklet",
+        "script",
+        "style",
+        "track",
+        "video",
+        "xslt",
+        ""
+      ]
+    );
+    var subresourceSet = new Set(subresource);
+    module2.exports = {
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
+      }
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
+    }
+    function URLSerializer(url2, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url2.href;
+      }
+      const href = url2.href;
+      const hashLength = url2.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function percentDecode(input) {
+      const length = input.length;
+      const output = new Uint8Array(length);
+      let j = 0;
+      for (let i = 0; i < length; ++i) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output[j++] = byte;
+        } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) {
+          output[j++] = 37;
+        } else {
+          output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]);
+          i += 2;
+        }
+      }
+      return length === j ? output : output.subarray(0, j);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
+      }
+      if (position.position > input.length) {
+        return "failure";
+      }
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
+      }
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
+          }
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+        } else {
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
+          }
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
+    }
+    function forgivingBase64(data) {
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
+          }
+        }
+      }
+      if (dataLength % 4 === 1) {
+        return "failure";
+      }
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
+      }
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
+    }
+    function isomorphicDecode(input) {
+      const length = input.length;
+      if ((2 << 15) - 1 > length) {
+        return String.fromCharCode.apply(null, input);
+      }
+      let result = "";
+      let i = 0;
+      let addition = (2 << 15) - 1;
+      while (i < length) {
+        if (i + addition > length) {
+          addition = length - i;
+        }
+        result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
+      }
+      return result;
+    }
+    function minimizeSupportedMimeType(mimeType) {
+      switch (mimeType.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";
+      }
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
+      }
+      if (mimeType.subtype.endsWith("+xml")) {
+        return "application/xml";
+      }
+      return "";
+    }
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType,
+      removeChars,
+      removeHTTPWhitespace,
+      minimizeSupportedMimeType,
+      HTTP_TOKEN_CODEPOINTS,
+      isomorphicDecode
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts) {
+      if (opts?.strict !== false) {
+        if (!(V instanceof I)) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      } else {
+        if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      }
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          header: ctx
+        });
+      }
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
+      });
+    };
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
+          }
+          return "Object";
+        }
+      }
+    };
+    webidl.util.markAsUncloneable = markAsUncloneable || (() => {
+    });
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
+        }
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
+      }
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
+      }
+      if (opts?.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
+          });
+        }
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
+        }
+        return x;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
+      }
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
+      }
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
+      }
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
+      }
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        let index = 0;
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} is not iterable.`
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O, prefix, argument) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} ("${webidl.util.Type(O)}") is not an Object.`
+          });
+        }
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
+          for (const key of keys2) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+          return result;
+        }
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+        }
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, prefix, argument, opts) => {
+        if (opts?.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.`
+          });
+        }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary, prefix, argument) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
+          });
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!Object.hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = Object.hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value ??= defaultValue();
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value, prefix, `${argument}.${key}`);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V, prefix, argument) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V, prefix, argument);
+      };
+    };
+    webidl.converters.DOMString = function(V, prefix, argument, opts) {
+      if (V === null && opts?.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${argument} is a symbol, which cannot be converted to a DOMString.`
+        });
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V, prefix, argument) {
+      const x = webidl.converters.DOMString(V, prefix, argument);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
+      }
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, prefix, argument, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${argument} ("${webidl.util.Stringify(V)}")`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.resizable || V.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${name} ("${webidl.util.Stringify(V)}")`,
+          types: [T.name]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${name} is not a DataView.`
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, prefix, name, opts) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false });
+      }
+      throw webidl.errors.conversionFailed({
+        prefix,
+        argument: `${name} ("${webidl.util.Stringify(V)}")`,
+        types: ["BufferSource"]
+      });
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib2 = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance5 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto3;
+    try {
+      crypto3 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto3.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
+      }
+      let location = response.headersList.get("location", true);
+      if (location !== null && isValidHeaderValue(location)) {
+        if (!isValidEncodedURL(location)) {
+          location = normalizeBinaryStringToUtf8(location);
+        }
+        location = new URL(location, responseURL(response));
+      }
+      if (location && !location.hash) {
+        location.hash = requestFragment;
+      }
+      return location;
+    }
+    function isValidEncodedURL(url2) {
+      for (let i = 0; i < url2.length; ++i) {
+        const code = url2.charCodeAt(i);
+        if (code > 126 || // Non-US-ASCII + DEL
+        code < 32) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function normalizeBinaryStringToUtf8(value) {
+      return Buffer.from(value, "binary").toString("utf8");
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url2 = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
+        return "blocked";
+      }
+      return "allowed";
+    }
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var isValidHeaderName = isValidHTTPToken;
+    function isValidHeaderValue(potentialValue) {
+      return (potentialValue[0] === "	" || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === "	" || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
+    }
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
+          }
+        }
+      }
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
+      }
+    }
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header, true);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (serializedOrigin === "client" || serializedOrigin === void 0) {
+        return;
+      }
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        request2.headersList.append("origin", serializedOrigin, true);
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
+        }
+        request2.headersList.append("origin", serializedOrigin, true);
+      }
+    }
+    function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
+      if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
+        return {
+          domainLookupStartTime: defaultStartTime,
+          domainLookupEndTime: defaultStartTime,
+          connectionStartTime: defaultStartTime,
+          connectionEndTime: defaultStartTime,
+          secureConnectionStartTime: defaultStartTime,
+          ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
+        };
+      }
+      return {
+        domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
+        domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
+        connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
+        connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
+        secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
+        ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
+      };
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return coarsenTime(performance5.now(), crossOriginIsolatedCapability);
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
+      };
+    }
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
+      };
+    }
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
+      };
+    }
+    function determineRequestsReferrer(request2) {
+      const policy = request2.referrerPolicy;
+      assert(policy);
+      let referrerSource = null;
+      if (request2.referrer === "client") {
+        const globalOrigin = getGlobalOrigin();
+        if (!globalOrigin || globalOrigin.origin === "null") {
+          return "no-referrer";
+        }
+        referrerSource = new URL(globalOrigin);
+      } else if (request2.referrer instanceof URL) {
+        referrerSource = request2.referrer;
+      }
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
+      }
+      const areSameOrigin = sameOrigin(request2, referrerURL);
+      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
+      switch (policy) {
+        case "origin":
+          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
+        case "unsafe-url":
+          return referrerURL;
+        case "same-origin":
+          return areSameOrigin ? referrerOrigin : "no-referrer";
+        case "origin-when-cross-origin":
+          return areSameOrigin ? referrerURL : referrerOrigin;
+        case "strict-origin-when-cross-origin": {
+          const currentURL = requestCurrentURL(request2);
+          if (sameOrigin(referrerURL, currentURL)) {
+            return referrerURL;
+          }
+          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
+            return "no-referrer";
+          }
+          return referrerOrigin;
+        }
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    function stripURLForReferrer(url2, originOnly) {
+      assert(url2 instanceof URL);
+      url2 = new URL(url2);
+      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
+        return "no-referrer";
+      }
+      url2.username = "";
+      url2.password = "";
+      url2.hash = "";
+      if (originOnly) {
+        url2.pathname = "";
+        url2.search = "";
+      }
+      return url2;
+    }
+    function isURLPotentiallyTrustworthy(url2) {
+      if (!(url2 instanceof URL)) {
+        return false;
+      }
+      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
+        return true;
+      }
+      if (url2.protocol === "data:") return true;
+      if (url2.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url2.origin);
+      function isOriginPotentiallyTrustworthy(origin) {
+        if (origin == null || origin === "null") return false;
+        const originAsURL = new URL(origin);
+        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
+          return true;
+        }
+        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
+          return true;
+        }
+        return false;
+      }
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto3 === void 0) {
+        return true;
+      }
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
+      }
+      if (parsedMetadata.length === 0) {
+        return true;
+      }
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto3.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
+          } else {
+            actualValue = actualValue.slice(0, -1);
+          }
+        }
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
+        }
+      }
+      return false;
+    }
+    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
+    function parseMetadata(metadata) {
+      const result = [];
+      let empty = true;
+      for (const token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
+          continue;
+        }
+        const algorithm = parsedToken.groups.algo.toLowerCase();
+        if (supportedHashes.includes(algorithm)) {
+          result.push(parsedToken.groups);
+        }
+      }
+      if (empty === true) {
+        return "no metadata";
+      }
+      return result;
+    }
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
+      }
+      for (let i = 1; i < metadataList.length; ++i) {
+        const metadata = metadataList[i];
+        if (metadata.algo[3] === "5") {
+          algorithm = "sha512";
+          break;
+        } else if (algorithm[3] === "3") {
+          continue;
+        } else if (metadata.algo[3] === "3") {
+          algorithm = "sha384";
+        }
+      }
+      return algorithm;
+    }
+    function filterMetadataListByAlgorithm(metadataList, algorithm) {
+      if (metadataList.length === 1) {
+        return metadataList;
+      }
+      let pos = 0;
+      for (let i = 0; i < metadataList.length; ++i) {
+        if (metadataList[i].algo === algorithm) {
+          metadataList[pos++] = metadataList[i];
+        }
+      }
+      metadataList.length = pos;
+      return metadataList;
+    }
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
+        return false;
+      }
+      for (let i = 0; i < actualValue.length; ++i) {
+        if (actualValue[i] !== expectedValue[i]) {
+          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
+            continue;
+          }
+          return false;
+        }
+      }
+      return true;
+    }
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
+    }
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
+      }
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
+      }
+      return false;
+    }
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve8, reject) => {
+        res = resolve8;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream2) {
+      return stream2 instanceof ReadableStream || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+        controller.byobRequest?.respond(0);
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
+          throw err;
+        }
+      }
+    }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
+    function isomorphicEncode(input) {
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
+      return input;
+    }
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
+        }
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
+        }
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
+    }
+    function urlIsLocal(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url2) {
+      return typeof url2 === "string" && url2[5] === ":" && url2[0] === "h" && url2[1] === "t" && url2[2] === "t" && url2[3] === "p" && url2[4] === "s" || url2.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    function simpleRangeHeaderValue(value, allowWhitespace) {
+      const data = value;
+      if (!data.startsWith("bytes")) {
+        return "failure";
+      }
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeStart = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeEnd = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
+      if (position.position < data.length) {
+        return "failure";
+      }
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
+      }
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
+      }
+      return { rangeStartValue, rangeEndValue };
+    }
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
+    }
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
+      }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
+          }
+          this._inflateStream = (chunk[0] & 15) === 8 ? zlib2.createInflate(this.#zlibOptions) : zlib2.createInflateRaw(this.#zlibOptions);
+          this._inflateStream.on("data", this.push.bind(this));
+          this._inflateStream.on("end", () => this.push(null));
+          this._inflateStream.on("error", (err) => this.destroy(err));
+        }
+        this._inflateStream.write(chunk, encoding, callback);
+      }
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
+        }
+        callback();
+      }
+    };
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
+    }
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
+      }
+      for (const value of values) {
+        const temporaryMimeType = parseMIMEType(value);
+        if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
+          continue;
+        }
+        mimeType = temporaryMimeType;
+        if (mimeType.essence !== essence) {
+          charset = null;
+          if (mimeType.parameters.has("charset")) {
+            charset = mimeType.parameters.get("charset");
+          }
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
+        }
+      }
+      if (mimeType == null) {
+        return "failure";
+      }
+      return mimeType;
+    }
+    function gettingDecodingSplitting(value) {
+      const input = value;
+      const position = { position: 0 };
+      const values = [];
+      let temporaryValue = "";
+      while (position.position < input.length) {
+        temporaryValue += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== ",",
+          input,
+          position
+        );
+        if (position.position < input.length) {
+          if (input.charCodeAt(position.position) === 34) {
+            temporaryValue += collectAnHTTPQuotedString(
+              input,
+              position
+            );
+            if (position.position < input.length) {
+              continue;
+            }
+          } else {
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
+          }
+        }
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
+      }
+      return values;
+    }
+    function getDecodeSplit(name, list) {
+      const value = list.get(name, true);
+      if (value === null) {
+        return null;
+      }
+      return gettingDecodingSplitting(value);
+    }
+    var textDecoder = new TextDecoder();
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
+      }
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
+      }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      isValidEncodedURL,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      iteratorMixin,
+      createIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
+      }
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
+      }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
+      }
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
+      }
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
+      }
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
+      }
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
+      }
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
+      }
+      get [Symbol.toStringTag]() {
+        return "File";
+      }
+    };
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
+      }
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.append";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
+      }
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      }
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.get";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
+      }
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.getAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.set";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
+        } else {
+          this[kState].push(entry);
+        }
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        const state = this[kState].reduce((a, b) => {
+          if (a[b.name]) {
+            if (Array.isArray(a[b.name])) {
+              a[b.name].push(b.value);
+            } else {
+              a[b.name] = [a[b.name], b.value];
+            }
+          } else {
+            a[b.name] = b.value;
+          }
+          return a;
+        }, { __proto__: null });
+        options.depth ??= depth;
+        options.colors ??= true;
+        const output = nodeUtil.formatWithOptions(options, state);
+        return `FormData ${output.slice(output.indexOf("]") + 2)}`;
+      }
+    };
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      if (typeof value === "string") {
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { Blob: Blob2 } = require("node:buffer");
+    var assert = require("node:assert");
+    var { isErrored, isDisturbed } = require("node:stream");
+    var { isArrayBuffer } = require("node:util/types");
+    var { serializeAMimeType } = require_data_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto3 = require("node:crypto");
+      random = (max) => crypto3.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var textEncoder = new TextEncoder();
+    function noop3() {
+    }
+    var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
+    var streamRegistry;
+    if (hasFinalizationRegistry) {
+      streamRegistry = new FinalizationRegistry((weakRef) => {
+        const stream2 = weakRef.deref();
+        if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
+          stream2.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream2 = null;
+      if (object instanceof ReadableStream) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
+      } else {
+        stream2 = new ReadableStream({
+          async pull(controller) {
+            const buffer = typeof source === "string" ? textEncoder.encode(source) : source;
+            if (buffer.byteLength) {
+              controller.enqueue(buffer);
+            }
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: "bytes"
+        });
+      }
+      assert(isReadableStreamLike(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
+            }
+          }
+        }
+        const chunk = textEncoder.encode(`--${boundary}--\r
+`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream2 = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = new ReadableStream({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+                controller.byobRequest?.respond(0);
+              });
+            } else {
+              if (!isErrored(stream2)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream: stream2, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  for (const [name, value2] of entries) {
+                    fd.append(name, value2);
+                  }
+                  return fd;
+                }
+              }
+            }
+            throw new TypeError(
+              'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
+            );
+          }, instance);
+        },
+        bytes() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes);
+          }, instance);
+        }
+      };
+      return methods;
+    }
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function consumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      if (bodyUnusable(object)) {
+        throw new TypeError("Body is unusable: Body has already been read");
+      }
+      throwIfAborted(object[kState]);
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kParser,
+      kBlocking,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kMaxRequests,
+      kCounter,
+      kMaxResponseSize,
+      kOnError,
+      kResume,
+      kHTTPContext
+    } = require_symbols6();
+    var constants = require_constants7();
+    var EMPTY_BUF = Buffer.alloc(0);
+    var FastBuffer = Buffer[Symbol.species];
+    var addListener = util.addListener;
+    var removeAllListeners = util.removeAllListeners;
+    var extractBody;
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageComplete() || 0;
+          }
+          /* eslint-enable camelcase */
+        }
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var USE_NATIVE_TIMER = 0;
+    var USE_FAST_TIMER = 1;
+    var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
+    var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
+    var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
+      }
+      setTimeout(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.timeoutType = type2;
+      }
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
+        }
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
+      }
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
+          }
+          this.execute(chunk);
+        }
+      }
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
+          }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
+        }
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
+        try {
+          let ret;
+          try {
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
+          } catch (err) {
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
+          }
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
+            }
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
+          }
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+      }
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        this.timeout && timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
+      }
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        request2.onResponseStarted();
+      }
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        this.trackHeader(buf.length);
+      }
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        const key = this.headers[len - 2];
+        if (key.length === 10) {
+          const headerName = util.bufferToLowerCasedHeaderName(key);
+          if (headerName === "keep-alive") {
+            this.keepAlive += buf.toString();
+          } else if (headerName === "connection") {
+            this.connection += buf.toString();
+          }
+        } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") {
+          this.contentLength += buf.toString();
+        }
+        this.trackHeader(buf.length);
+      }
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
+        }
+      }
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        assert(client[kSocket] === socket);
+        assert(!socket.destroyed);
+        assert(!this.paused);
+        assert((headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        removeAllListeners(socket);
+        client[kSocket] = null;
+        client[kHTTPContext] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+        client[kResume]();
+      }
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
+        }
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
+        }
+        assert(this.timeoutType === TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        assert((this.headers.length & 1) === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
+            );
+            if (timeout <= 0) {
+              socket[kReset] = true;
+            } else {
+              client[kKeepAliveTimeoutValue] = timeout;
+            }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+          }
+        } else {
+          socket[kReset] = true;
+        }
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
+        }
+        if (request2.method === "HEAD") {
+          return 1;
+        }
+        if (statusCode < 200) {
+          return 1;
+        }
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          client[kResume]();
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
+        }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
+        }
+      }
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
+        }
+        if (upgrade) {
+          return;
+        }
+        assert(statusCode >= 100);
+        assert((this.headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert(client[kRunning] === 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] == null || client[kPipelining] === 1) {
+          setImmediate(() => client[kResume]());
+        } else {
+          client[kResume]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client, paused } = parser.deref();
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
+      }
+    }
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
+      }
+      socket[kNoRef] = false;
+      socket[kWriting] = false;
+      socket[kReset] = false;
+      socket[kBlocking] = false;
+      socket[kParser] = new Parser(client, socket, llhttpInstance);
+      addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        const parser = this[kParser];
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        this[kError] = err;
+        this[kClient][kOnError](err);
       });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      addListener(socket, "end", function() {
+        const parser = this[kParser];
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      addListener(socket, "close", function() {
+        const client2 = this[kClient];
+        const parser = this[kParser];
+        if (parser) {
+          if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+            parser.onMessageComplete();
+          }
+          this[kParser].destroy();
+          this[kParser] = null;
+        }
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client2[kSocket] = null;
+        client2[kHTTPContext] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+          const request2 = client2[kQueue][client2[kRunningIdx]];
+          client2[kQueue][client2[kRunningIdx]++] = null;
+          util.errorRequest(client2, request2, err);
+        }
+        client2[kPendingIdx] = client2[kRunningIdx];
+        assert(client2[kRunning] === 0);
+        client2.emit("disconnect", client2[kUrl], [client2], err);
+        client2[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h1",
+        defaultPipelining: 1,
+        write(...args) {
+          return writeH1(client, ...args);
+        },
+        resume() {
+          resumeH1(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy(request2) {
+          if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+            return true;
+          }
+          if (request2) {
+            if (client[kRunning] > 0 && !request2.idempotent) {
+              return true;
+            }
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
+            }
+            if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) {
+              return true;
+            }
+          }
+          return false;
+        }
+      };
+    }
+    function resumeH1(client) {
+      const socket = client[kSocket];
+      if (socket && !socket.destroyed) {
+        if (client[kSize] === 0) {
+          if (!socket[kNoRef] && socket.unref) {
+            socket.unref();
+            socket[kNoRef] = true;
+          }
+        } else if (socket[kNoRef] && socket.ref) {
+          socket.ref();
+          socket[kNoRef] = false;
+        }
+        if (client[kSize] === 0) {
+          if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
+            socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
+          }
+        } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+          if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+            const request2 = client[kQueue][client[kRunningIdx]];
+            const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];
+            socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          }
+        }
+      }
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH1(client, request2) {
+      const { method, path: path16, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path16} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    webidl.argumentLengthCheck = function({ length }, min, ctx) {
-      if (length < min) {
-        throw webidl.errors.exception({
-          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
-          ...ctx
-        });
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
       }
-    };
-    webidl.illegalConstructor = function() {
-      throw webidl.errors.exception({
-        header: "TypeError",
-        message: "Illegal constructor"
-      });
-    };
-    webidl.util.Type = function(V) {
-      switch (typeof V) {
-        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": {
-          if (V === null) {
-            return "Null";
+      if (Array.isArray(headers)) {
+        for (let n = 0; n < headers.length; n += 2) {
+          const key = headers[n + 0];
+          const val = headers[n + 1];
+          if (Array.isArray(val)) {
+            for (let i = 0; i < val.length; i++) {
+              header += `${key}: ${val[i]}\r
+`;
+            }
+          } else {
+            header += `${key}: ${val}\r
+`;
           }
-          return "Object";
         }
       }
-    };
-    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
-      let upperBound;
-      let lowerBound;
-      if (bitLength === 64) {
-        upperBound = Math.pow(2, 53) - 1;
-        if (signedness === "unsigned") {
-          lowerBound = 0;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } else if (signedness === "unsigned") {
-        lowerBound = 0;
-        upperBound = Math.pow(2, bitLength) - 1;
-      } else {
-        lowerBound = Math.pow(-2, bitLength) - 1;
-        upperBound = Math.pow(2, bitLength - 1) - 1;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (opts.enforceRange === true) {
-        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Could not convert ${V} to an integer.`
-          });
-        }
-        x = webidl.util.IntegerPart(x);
-        if (x < lowerBound || x > upperBound) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      x = webidl.util.IntegerPart(x);
-      x = x % Math.pow(2, bitLength);
-      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
-        return x - Math.pow(2, bitLength);
+      const waitForDrain = () => new Promise((resolve8, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve8;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    var AsyncWriter = class {
+      constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        this.abort = abort;
+        socket[kWriting] = true;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
-        }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
-          }
-          seq2.push(converter(value));
+        if (socket.destroyed) {
+          return false;
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          return result;
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
+          } else {
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
           }
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
-        }
-        return V;
-      };
-    };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
             }
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+        return ret;
+      }
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
+        }
+        if (socket.destroyed) {
+          return;
+        }
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            socket.write(`${header}\r
+`, "latin1");
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
-            }
-            dict[key] = value;
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
+        }
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
           }
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        return converter(V);
-      };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
-      }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+        client[kResume]();
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      for (let index = 0; index < x.length; index++) {
-        if (x.charCodeAt(index) > 255) {
-          throw new TypeError(
-            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
-          );
+      destroy(err) {
+        const { socket, client, abort } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          abort(err);
         }
       }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
     };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
+    var util = require_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ Symbol("open streams");
+    var extractBody;
+    var h2ExperimentalWarned = false;
+    var http2;
+    try {
+      http2 = require("node:http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
       }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
+    } = http2;
+    function parseH2Headers(headers) {
+      const result = [];
+      for (const [name, value] of Object.entries(headers)) {
+        if (Array.isArray(value)) {
+          for (const subvalue of value) {
+            result.push(Buffer.from(name), Buffer.from(subvalue));
+          }
+        } else {
+          result.push(Buffer.from(name), Buffer.from(value));
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+      return result;
+    }
+    async function connectH2(client, socket) {
+      client[kSocket] = socket;
+      if (!h2ExperimentalWarned) {
+        h2ExperimentalWarned = true;
+        process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+          code: "UNDICI-H2"
         });
       }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
+      const session = http2.connect(client[kUrl], {
+        createConnection: () => socket,
+        peerMaxConcurrentStreams: client[kMaxConcurrentStreams]
+      });
+      session[kOpenStreams] = 0;
+      session[kClient] = client;
+      session[kSocket] = socket;
+      util.addListener(session, "error", onHttp2SessionError);
+      util.addListener(session, "frameError", onHttp2FrameError);
+      util.addListener(session, "end", onHttp2SessionEnd);
+      util.addListener(session, "goaway", onHTTP2GoAway);
+      util.addListener(session, "close", function() {
+        const { [kClient]: client2 } = this;
+        const { [kSocket]: socket2 } = client2;
+        const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2));
+        client2[kHTTP2Session] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        }
+      });
+      session.unref();
+      client[kHTTP2Session] = session;
+      socket[kHTTP2Session] = session;
+      util.addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      util.addListener(socket, "end", function() {
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      util.addListener(socket, "close", function() {
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client[kSocket] = null;
+        if (this[kHTTP2Session] != null) {
+          this[kHTTP2Session].destroy(err);
+        }
+        client[kPendingIdx] = client[kRunningIdx];
+        assert(client[kRunning] === 0);
+        client.emit("disconnect", client[kUrl], [client], err);
+        client[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h2",
+        defaultPipelining: Infinity,
+        write(...args) {
+          return writeH2(client, ...args);
+        },
+        resume() {
+          resumeH2(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy() {
+          return false;
+        }
+      };
+    }
+    function resumeH2(client) {
+      const socket = client[kSocket];
+      if (socket?.destroyed === false) {
+        if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {
+          socket.unref();
+          client[kHTTP2Session].unref();
+        } else {
+          socket.ref();
+          client[kHTTP2Session].ref();
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+    }
+    function onHttp2SessionEnd() {
+      const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket]));
+      this.destroy(err);
+      util.destroy(this[kSocket], err);
+    }
+    function onHTTP2GoAway(code) {
+      const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this));
+      const client = this[kClient];
+      client[kSocket] = null;
+      client[kHTTPContext] = null;
+      if (this[kHTTP2Session] != null) {
+        this[kHTTP2Session].destroy(err);
+        this[kHTTP2Session] = null;
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      util.destroy(this[kSocket], err);
+      if (client[kRunningIdx] < client[kQueue].length) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        util.errorRequest(client, request2, err);
+        client[kPendingIdx] = client[kRunningIdx];
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      client[kResume]();
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH2(client, request2) {
+      const session = client[kHTTP2Session];
+      const { method, path: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
+            }
+          }
+        } else {
+          headers[key] = val;
+        }
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      let stream2;
+      const { hostname, port } = client[kUrl];
+      headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
+      headers[HTTP2_HEADER_METHOD] = method;
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream2 != null) {
+          util.destroy(stream2, err);
+        }
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (request2.aborted) {
+        return false;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
+        }
+        stream2.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
+        });
+        return true;
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url2, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url2.href;
+      headers[HTTP2_HEADER_PATH] = path16;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      const href = url2.href;
-      const hashLength = url2.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
-    }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      return result;
-    }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
-    }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
-        }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      return Uint8Array.from(output);
-    }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        return "failure";
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      if (position.position > input.length) {
-        return "failure";
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      const typeLowercase = type2.toLowerCase();
-      const subtypeLowercase = subtype.toLowerCase();
-      const mimeType = {
-        type: typeLowercase,
-        subtype: subtypeLowercase,
-        /** @type {Map} */
-        parameters: /* @__PURE__ */ new Map(),
-        // https://mimesniff.spec.whatwg.org/#mime-type-essence
-        essence: `${typeLowercase}/${subtypeLowercase}`
-      };
-      while (position.position < input.length) {
-        position.position++;
-        collectASequenceOfCodePoints(
-          // https://fetch.spec.whatwg.org/#http-whitespace
-          (char) => HTTP_WHITESPACE_REGEX.test(char),
-          input,
-          position
-        );
-        let parameterName = collectASequenceOfCodePoints(
-          (char) => char !== ";" && char !== "=",
-          input,
-          position
-        );
-        parameterName = parameterName.toLowerCase();
-        if (position.position < input.length) {
-          if (input[position.position] === ";") {
-            continue;
+      ++session[kOpenStreams];
+      stream2.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        request2.onResponseStarted();
+        if (request2.aborted) {
+          const err = new RequestAbortedError();
+          util.errorRequest(client, request2, err);
+          util.destroy(stream2, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+        stream2.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream2.pause();
           }
-          position.position++;
+        });
+      });
+      stream2.once("end", () => {
+        if (stream2.state?.state == null || stream2.state.state < 6) {
+          request2.onComplete([]);
         }
-        if (position.position > input.length) {
-          break;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
         }
-        let parameterValue = null;
-        if (input[position.position] === '"') {
-          parameterValue = collectAnHTTPQuotedString(input, position, true);
-          collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
+      });
+      stream2.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        abort(err);
+      });
+      stream2.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream2,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
           );
-        } else {
-          parameterValue = collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
           );
-          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
-          if (parameterValue.length === 0) {
-            continue;
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream2,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream2,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
           }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream2,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
         }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
-        }
-      }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
-      }
-      if (data.length % 4 === 1) {
-        return "failure";
-      }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
-      }
-      return bytes;
     }
-    function collectAnHTTPQuotedString(input, position, extractValue) {
-      const positionStart = position.position;
-      let value = "";
-      assert(input[position.position] === '"');
-      position.position++;
-      while (true) {
-        value += collectASequenceOfCodePoints(
-          (char) => char !== '"' && char !== "\\",
-          input,
-          position
-        );
-        if (position.position >= input.length) {
-          break;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
         }
-        const quoteOrBackslash = input[position.position];
-        position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
-            break;
-          }
-          value += input[position.position];
-          position.position++;
-        } else {
-          assert(quoteOrBackslash === '"');
-          break;
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      if (extractValue) {
-        return value;
-      }
-      return input.slice(positionStart, position.position);
     }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
         }
-        serialization += value;
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
-      }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
     }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      const waitForDrain = () => new Promise((resolve8, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve8;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
+          }
+        }
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
       }
-      return str2.slice(lead, trail + 1);
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
-          }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
       }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
       }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        this.redirectionLimitReached = false;
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
+          }
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
+          }
+        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        }
       }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-    };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
-        };
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
+          if (this.request) {
+            this.request.abort(new Error("max redirects"));
+          }
+          this.redirectionLimitReached = true;
+          this.abort(new Error("max redirects"));
+          return;
+        }
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
+        }
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        }
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path16 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path16;
+        this.opts.origin = origin;
+        this.opts.maxRedirections = 0;
+        this.opts.query = null;
+        if (statusCode === 303 && this.opts.method !== "HEAD") {
+          this.opts.method = "GET";
+          this.opts.body = null;
+        }
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
+        }
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
+        }
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
+          return headers[i + 1];
+        }
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+    }
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
-        }
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
       }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      return false;
+    }
+    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
+      const ret = [];
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
+            ret.push(headers[i], headers[i + 1]);
           }
-          return value;
-        },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
         }
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-      return bytes;
-    }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
-      }
-      return s.replace(/\r?\n/g, nativeLineEnding);
+      return ret;
     }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    module2.exports = RedirectHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
+    "use strict";
+    var RedirectHandler = require_redirect_handler2();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
+          }
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
+        };
+      };
     }
-    module2.exports = { File: File2, FileLike, isFileLike };
+    module2.exports = createRedirectInterceptor;
   }
 });
 
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
     "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
-          });
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    var {
+      kUrl,
+      kServerName,
+      kClient,
+      kBusy,
+      kConnect,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
+    } = require_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var noop3 = () => {
+    };
+    function getPipelining(client) {
+      return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
+    }
+    var Client = class extends DispatcherBase {
+      /**
+       *
+       * @param {string|URL} url
+       * @param {import('../../types/client.js').Client.Options} options
+       */
+      constructor(url2, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        maxConcurrentStreams,
+        allowH2
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
-        } else {
-          this[kState].push(entry);
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-      }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
+        }
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
+        }
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
+        }
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
+        }
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        }
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        }
+        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        }
+        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        }
+        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
         }
-      }
-      return { name, value };
-    }
-    module2.exports = { FormData: FormData2 };
-  }
-});
-
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
-    "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto3 = require("node:crypto");
-      random = (max) => crypto3.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      let stream2 = null;
-      if (object instanceof ReadableStream2) {
-        stream2 = object;
-      } else if (isBlobLike(object)) {
-        stream2 = object.stream();
-      } else {
-        stream2 = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
-      }
-      assert(isReadableStreamLike(stream2));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
-      } else if (isArrayBuffer(object)) {
-        source = new Uint8Array(object.slice());
-      } else if (ArrayBuffer.isView(object)) {
-        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
-      } else if (util.isFormDataLike(object)) {
-        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
-        const prefix = `--${boundary}\r
-Content-Disposition: form-data`;
-        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
-        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
-        const blobParts = [];
-        const rn = new Uint8Array([13, 10]);
-        length = 0;
-        let hasUnknownSizeValue = false;
-        for (const [name, value] of object) {
-          if (typeof value === "string") {
-            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
-\r
-${normalizeLinefeeds(value)}\r
-`);
-            blobParts.push(chunk2);
-            length += chunk2.byteLength;
-          } else {
-            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
-Content-Type: ${value.type || "application/octet-stream"}\r
-\r
-`);
-            blobParts.push(chunk2, value, rn);
-            if (typeof value.size === "number") {
-              length += chunk2.byteLength + value.size + rn.byteLength;
-            } else {
-              hasUnknownSizeValue = true;
-            }
-          }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
         }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
         }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
         }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
         }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
+        if (interceptors?.Client && Array.isArray(interceptors.Client)) {
+          this[kInterceptors] = interceptors.Client;
+          if (!deprecatedInterceptorWarned) {
+            deprecatedInterceptorWarned = true;
+            process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", {
+              code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"
+            });
+          }
+        } else {
+          this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })];
         }
-        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+        this[kUrl] = util.parseOrigin(url2);
+        this[kConnector] = connect2;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
+        this[kHTTPContext] = null;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
+        this[kResume] = (sync) => resume(this, sync);
+        this[kOnError] = (err) => onError(this, err);
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      get pipelining() {
+        return this[kPipelining];
       }
-      if (action != null) {
-        let iterator2;
-        stream2 = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream2)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      const body = { stream: stream2, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
+      }
+      get [kConnected]() {
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
+      }
+      get [kBusy]() {
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
+      }
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
+      }
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = new Request(origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          queueMicrotask(() => resume(this));
         } else {
-          const stream2 = body.stream;
-          if (util.isDisturbed(stream2)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream2.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream2[kBodyUsed] = true;
-          yield* stream2;
+          this[kResume](true);
+        }
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+      async [kClose]() {
+        return new Promise((resolve8) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve8;
+          } else {
+            resolve8(null);
+          }
+        });
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve8, reject) => {
-              busboy.on("finish", resolve8);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
+      async [kDestroy](err) {
+        return new Promise((resolve8) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(this, request2, err);
+          }
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
             }
-            return formData;
+            resolve8(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
+            queueMicrotask(callback);
           }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+          this[kResume]();
+        });
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          util.errorRequest(client, request2, err);
         }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+        assert(client[kSize] === 0);
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
-      }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kHTTPContext]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            version: client[kHTTPContext]?.version,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
-    };
-  }
-});
-
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
-    "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path16,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path16 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path16) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
+      try {
+        const socket = await new Promise((resolve8, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve8(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
+        assert(socket);
+        try {
+          client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket);
+        } catch (err) {
+          socket.destroy().on("error", noop3);
+          throw err;
         }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
+        client[kConnecting] = false;
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
         }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            util.errorRequest(client, request2, err);
           }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
-            }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
         } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path16, query) : path16;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
-          }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
-          }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
-          }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
+      }
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-      }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
+          } else {
+            emitDrain(client);
+          }
+          continue;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        if (client[kPending] === 0) {
+          return;
         }
-      }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
         }
-      }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
-      }
-      onComplete(trailers) {
-        this.onFinally();
-        assert(!this.aborted);
-        this.completed = true;
-        if (channels.trailers.hasSubscribers) {
-          channels.trailers.publish({ request: this, trailers });
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
+          }
+          client[kServerName] = request2.servername;
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
         }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+        if (client[kConnecting]) {
+          return;
         }
-      }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
         }
-        if (this.aborted) {
+        if (client[kHTTPContext].destroyed) {
           return;
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
-      }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
+        if (client[kHTTPContext].busy(request2)) {
+          return;
         }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
+    "use strict";
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
+      constructor() {
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
-        }
-        return headers;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
       }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
       }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
-        }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
-        }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
-            }
-          }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
+        this.head.push(data);
+      }
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
+        return next;
       }
-    }
-    module2.exports = Request;
+    };
   }
 });
 
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      close() {
-        throw new Error("not implemented");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      destroy() {
-        throw new Error("not implemented");
+      get free() {
+        return this[kPool][kFree];
+      }
+      get pending() {
+        return this[kPool][kPending];
+      }
+      get queued() {
+        return this[kPool][kQueued];
+      }
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
       }
     };
-    module2.exports = Dispatcher;
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
-    var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
       constructor() {
         super();
-        this[kDestroyed] = false;
-        this[kOnDestroyed] = null;
-        this[kClosed] = false;
-        this[kOnClosed] = [];
-      }
-      get destroyed() {
-        return this[kDestroyed];
-      }
-      get closed() {
-        return this[kClosed];
-      }
-      get interceptors() {
-        return this[kInterceptors];
-      }
-      set interceptors(newInterceptors) {
-        if (newInterceptors) {
-          for (let i = newInterceptors.length - 1; i >= 0; i--) {
-            const interceptor = this[kInterceptors][i];
-            if (typeof interceptor !== "function") {
-              throw new InvalidArgumentError("interceptor must be an function");
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
             }
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-        }
-        this[kInterceptors] = newInterceptors;
-      }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve8, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve8(data);
-            });
-          });
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
-          return;
-        }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          return;
-        }
-        this[kClosed] = true;
-        this[kOnClosed].push(callback);
-        const onClosed = () => {
-          const callbacks = this[kOnClosed];
-          this[kOnClosed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
         };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
-        }
-        if (callback === void 0) {
-          return new Promise((resolve8, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve8(data);
-            });
-          });
+      get [kBusy]() {
+        return this[kNeedDrain];
+      }
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
+      }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+      }
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        return ret;
+      }
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        return ret;
+      }
+      get stats() {
+        return this[kStats];
+      }
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve8) => {
+            this[kClosedResolve] = resolve8;
+          });
         }
-        this[kDestroyed] = true;
-        this[kOnDestroyed] = this[kOnDestroyed] || [];
-        this[kOnDestroyed].push(callback);
-        const onDestroyed = () => {
-          const callbacks = this[kOnDestroyed];
-          this[kOnDestroyed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
-          }
-        };
-        this[kDestroy](err).then(() => {
-          queueMicrotask(onDestroyed);
-        });
       }
-      [kInterceptedDispatch](opts, handler2) {
-        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
-          this[kInterceptedDispatch] = this[kDispatch];
-          return this[kDispatch](opts, handler2);
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
+      }
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        return !this[kNeedDrain];
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          queueMicrotask(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
+            }
+          });
         }
-        try {
-          if (!opts || typeof opts !== "object") {
-            throw new InvalidArgumentError("opts must be an object.");
-          }
-          if (this[kDestroyed] || this[kOnDestroyed]) {
-            throw new ClientDestroyedError();
-          }
-          if (this[kClosed]) {
-            throw new ClientClosedError();
-          }
-          return this[kInterceptedDispatch](opts, handler2);
-        } catch (err) {
-          if (typeof handler2.onError !== "function") {
-            throw new InvalidArgumentError("invalid onError method");
+        return this;
+      }
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-          handler2.onError(err);
-          return false;
-        }
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
     };
-    module2.exports = DispatcherBase;
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
     var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._sessionRegistry = new global.FinalizationRegistry((key) => {
-            if (this._sessionCache.size < this._maxCachedSessions) {
-              return;
-            }
-            const ref = this._sessionCache.get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this._sessionCache.delete(key);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
-      }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...options,
-            servername,
-            session,
-            localAddress,
-            // TODO(HTTP/2): Add support for h2c
-            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
-            socket: httpSocket,
-            // upgrade socket connection
-            port: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
           });
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
-        }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
           }
         });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
       }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+      [kGetDispatcher]() {
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
           }
-        });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
         }
-      });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+          return dispatcher;
+        }
+      }
+    };
+    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
-    var TYPE;
-    (function(TYPE2) {
-      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
-      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
-      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
-    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
-    var FLAGS;
-    (function(FLAGS2) {
-      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
-      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
-      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
-      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
-      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
-      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
-      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
-      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
-      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
-    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
-    var LENIENT_FLAGS;
-    (function(LENIENT_FLAGS2) {
-      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
-    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
-    var METHODS;
-    (function(METHODS2) {
-      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
-      METHODS2[METHODS2["GET"] = 1] = "GET";
-      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
-      METHODS2[METHODS2["POST"] = 3] = "POST";
-      METHODS2[METHODS2["PUT"] = 4] = "PUT";
-      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
-      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
-      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
-      METHODS2[METHODS2["COPY"] = 8] = "COPY";
-      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
-      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
-      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
-      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
-      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
-      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
-      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
-      METHODS2[METHODS2["BIND"] = 16] = "BIND";
-      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
-      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
-      METHODS2[METHODS2["ACL"] = 19] = "ACL";
-      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
-      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
-      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
-      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
-      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
-      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
-      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
-      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
-      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
-      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
-      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
-      METHODS2[METHODS2["LINK"] = 31] = "LINK";
-      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
-      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
-      METHODS2[METHODS2["PRI"] = 34] = "PRI";
-      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
-      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
-      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
-      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
-      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
-      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
-      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
-      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
-      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
-      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
-      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
-    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
-    exports2.METHODS_HTTP = [
-      METHODS.DELETE,
-      METHODS.GET,
-      METHODS.HEAD,
-      METHODS.POST,
-      METHODS.PUT,
-      METHODS.CONNECT,
-      METHODS.OPTIONS,
-      METHODS.TRACE,
-      METHODS.COPY,
-      METHODS.LOCK,
-      METHODS.MKCOL,
-      METHODS.MOVE,
-      METHODS.PROPFIND,
-      METHODS.PROPPATCH,
-      METHODS.SEARCH,
-      METHODS.UNLOCK,
-      METHODS.BIND,
-      METHODS.REBIND,
-      METHODS.UNBIND,
-      METHODS.ACL,
-      METHODS.REPORT,
-      METHODS.MKACTIVITY,
-      METHODS.CHECKOUT,
-      METHODS.MERGE,
-      METHODS["M-SEARCH"],
-      METHODS.NOTIFY,
-      METHODS.SUBSCRIBE,
-      METHODS.UNSUBSCRIBE,
-      METHODS.PATCH,
-      METHODS.PURGE,
-      METHODS.MKCALENDAR,
-      METHODS.LINK,
-      METHODS.UNLINK,
-      METHODS.PRI,
-      // TODO(indutny): should we allow it with HTTP?
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_ICE = [
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_RTSP = [
-      METHODS.OPTIONS,
-      METHODS.DESCRIBE,
-      METHODS.ANNOUNCE,
-      METHODS.SETUP,
-      METHODS.PLAY,
-      METHODS.PAUSE,
-      METHODS.TEARDOWN,
-      METHODS.GET_PARAMETER,
-      METHODS.SET_PARAMETER,
-      METHODS.REDIRECT,
-      METHODS.RECORD,
-      METHODS.FLUSH,
-      // For AirPlay
-      METHODS.GET,
-      METHODS.POST
-    ];
-    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
-    exports2.H_METHOD_MAP = {};
-    Object.keys(exports2.METHOD_MAP).forEach((key) => {
-      if (/^H/.test(key)) {
-        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors2();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
+      return a;
     }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.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
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
+        }
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
+      }
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
+        }
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
+          }
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
+        }
+        this._updateBalancedPoolStats();
+        return this;
+      }
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
+        }
+        this[kGreatestCommonDivisor] = result;
+      }
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
+        }
+        return this;
+      }
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      }
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
+        }
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
+          return;
+        }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
+          return;
+        }
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
+          }
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
+            }
+          }
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
+          }
+        }
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
       }
-    }
-    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
-    exports2.MAJOR = exports2.NUM_MAP;
-    exports2.MINOR = exports2.MAJOR;
-    var HEADER_STATE;
-    (function(HEADER_STATE2) {
-      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
-      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
-      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
-    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
-    exports2.SPECIAL_HEADERS = {
-      "connection": HEADER_STATE.CONNECTION,
-      "content-length": HEADER_STATE.CONTENT_LENGTH,
-      "proxy-connection": HEADER_STATE.CONNECTION,
-      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
-      "upgrade": HEADER_STATE.UPGRADE
     };
+    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
     var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
+        }
+        this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kOnDrain] = (origin, targets) => {
+          this.emit("drain", origin, [this, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          this.emit("connect", origin, [this, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          this.emit("disconnect", origin, [this, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          this.emit("connectionError", origin, [this, ...targets], err);
+        };
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
+        }
+        return ret;
+      }
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
+        }
+        let dispatcher = this[kClients].get(key);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, dispatcher);
+        }
+        return dispatcher.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
+        }
+        this[kClients].clear();
+        await Promise.all(closePromises);
+      }
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const client of this[kClients].values()) {
+          destroyPromises.push(client.destroy(err));
+        }
+        this[kClients].clear();
+        await Promise.all(destroyPromises);
       }
     };
-    var RedirectHandler = class {
-      constructor(dispatch, maxRedirections, opts, handler2) {
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var noop3 = () => {
+    };
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
+      }
+      return new Pool(origin, opts);
+    }
+    var Http1ProxyWrapper = class extends DispatcherBase {
+      #client;
+      constructor(proxyUrl, { headers = {}, connect, factory }) {
+        super();
+        if (!proxyUrl) {
+          throw new InvalidArgumentError("Proxy URL is mandatory");
         }
-        util.validateHandler(handler2, opts.method, opts.upgrade);
-        this.dispatch = dispatch;
-        this.location = null;
-        this.abort = null;
-        this.opts = { ...opts, maxRedirections: 0 };
-        this.maxRedirections = maxRedirections;
-        this.handler = handler2;
-        this.history = [];
-        if (util.isStream(this.opts.body)) {
-          if (util.bodyLength(this.opts.body) === 0) {
-            this.opts.body.on("data", function() {
-              assert(false);
-            });
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
+        }
+      }
+      [kDispatch](opts, handler2) {
+        const onHeaders = handler2.onHeaders;
+        handler2.onHeaders = function(statusCode, data, resume) {
+          if (statusCode === 407) {
+            if (typeof handler2.onError === "function") {
+              handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
+            }
+            return;
           }
-          if (typeof this.opts.body.readableDidRead !== "boolean") {
-            this.opts.body[kBodyUsed] = false;
-            EE.prototype.on.call(this.opts.body, "data", function() {
-              this[kBodyUsed] = true;
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path16 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path16;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
+        }
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
+      }
+      async [kClose]() {
+        return this.#client.close();
+      }
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
+      }
+    };
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super();
+        if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) {
+          throw new InvalidArgumentError("Proxy uri is mandatory");
+        }
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
+        }
+        const { proxyTunnel = true } = opts;
+        const url2 = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url2;
+        this[kProxy] = { uri: href, protocol };
+        this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        this[kTunnelProxy] = proxyTunnel;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
+        }
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        const agentFactory = opts.factory || defaultAgentFactory;
+        const factory = (origin2, options) => {
+          const { protocol: protocol2 } = new URL2(origin2);
+          if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
+            return new Http1ProxyWrapper(this[kProxy].uri, {
+              headers: this[kProxyHeaders],
+              connect,
+              factory: agentFactory
             });
           }
-        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
-        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
-        }
-      }
-      onConnect(abort) {
-        this.abort = abort;
-        this.handler.onConnect(abort, { history: this.history });
-      }
-      onUpgrade(statusCode, headers, socket) {
-        this.handler.onUpgrade(statusCode, headers, socket);
-      }
-      onError(error3) {
-        this.handler.onError(error3);
+          return agentFactory(origin2, options);
+        };
+        this[kClient] = clientFactory(url2, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          factory,
+          connect: async (opts2, callback) => {
+            let requestedPath = opts2.host;
+            if (!opts2.port) {
+              requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedPath,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host: opts2.host
+                },
+                servername: this[kProxyTls]?.servername || proxyHostname
+              });
+              if (statusCode !== 200) {
+                socket.on("error", noop3).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+                callback(new SecureProxyConnectionError(err));
+              } else {
+                callback(err);
+              }
+            }
+          }
+        });
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
-        }
-        if (!this.location) {
-          return this.handler.onHeaders(statusCode, headers, resume, statusText);
-        }
-        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
-        const path16 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path16;
-        this.opts.origin = origin;
-        this.opts.maxRedirections = 0;
-        this.opts.query = null;
-        if (statusCode === 303 && this.opts.method !== "HEAD") {
-          this.opts.method = "GET";
-          this.opts.body = null;
+      dispatch(opts, handler2) {
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        if (headers && !("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(opts.origin);
+          headers.host = host;
         }
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-      onData(chunk) {
-        if (this.location) {
+      /**
+       * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts
+       * @returns {URL}
+       */
+      #getUrl(opts) {
+        if (typeof opts === "string") {
+          return new URL2(opts);
+        } else if (opts instanceof URL2) {
+          return opts;
         } else {
-          return this.handler.onData(chunk);
+          return new URL2(opts.uri);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
-        } else {
-          this.handler.onComplete(trailers);
-        }
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
     };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
-      }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
-          return headers[i + 1];
-        }
-      }
-    }
-    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
-      if (header.length === 4) {
-        return util.headerNameToString(header) === "host";
-      }
-      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
-        return true;
-      }
-      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
-        const name = util.headerNameToString(header);
-        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
-      }
-      return false;
-    }
-    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
-      const ret = [];
+    function buildHeaders(headers) {
       if (Array.isArray(headers)) {
+        const headersPair = {};
         for (let i = 0; i < headers.length; i += 2) {
-          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
-            ret.push(headers[i], headers[i + 1]);
-          }
-        }
-      } else if (headers && typeof headers === "object") {
-        for (const key of Object.keys(headers)) {
-          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
-            ret.push(key, headers[key]);
-          }
+          headersPair[headers[i]] = headers[i + 1];
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
+        return headersPair;
       }
-      return ret;
+      return headers;
     }
-    module2.exports = RedirectHandler;
-  }
-});
-
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
-    "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
-      return (dispatch) => {
-        return function Intercept(opts, handler2) {
-          const { maxRedirections = defaultMaxRedirections } = opts;
-          if (!maxRedirections) {
-            return dispatch(opts, handler2);
-          }
-          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
-          opts = { ...opts, maxRedirections: 0 };
-          return dispatch(opts, redirectHandler);
-        };
-      };
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      }
     }
-    module2.exports = createRedirectInterceptor;
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCrLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC0kBAXsgAEEQav0MAAAAAAAAAAAAAAAAAAAAACIB/QsDACAAIAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
-    var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
     var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("http2");
-    } catch {
-      http2 = { constants: {} };
-    }
-    var {
-      constants: {
-        HTTP2_HEADER_AUTHORITY,
-        HTTP2_HEADER_METHOD,
-        HTTP2_HEADER_PATH,
-        HTTP2_HEADER_SCHEME,
-        HTTP2_HEADER_CONTENT_LENGTH,
-        HTTP2_HEADER_EXPECT,
-        HTTP2_HEADER_STATUS
-      }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url2, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
         super();
-        if (keepAlive !== void 0) {
-          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
-        }
-        if (socketTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (requestTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (idleTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
-        }
-        if (maxKeepAliveTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
-        }
-        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
-          throw new InvalidArgumentError("invalid maxHeaderSize");
-        }
-        if (socketPath != null && typeof socketPath !== "string") {
-          throw new InvalidArgumentError("invalid socketPath");
-        }
-        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
-          throw new InvalidArgumentError("invalid connectTimeout");
-        }
-        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeout");
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
         }
-        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
+        this[kNoProxyAgent] = new Agent(agentOpts);
+        const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
+        if (HTTP_PROXY) {
+          this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY });
+        } else {
+          this[kHttpProxyAgent] = this[kNoProxyAgent];
         }
-        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
+        if (HTTPS_PROXY) {
+          this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY });
+        } else {
+          this[kHttpsProxyAgent] = this[kHttpProxyAgent];
         }
-        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        this.#parseNoProxy();
+      }
+      [kDispatch](opts, handler2) {
+        const url2 = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url2);
+        return agent.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
-        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
+      }
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
         }
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
         }
-        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
-          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+      }
+      #getProxyAgentForUrl(url2) {
+        let { protocol, host: hostname, port } = url2;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
         }
-        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
-          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        return this[kHttpProxyAgent];
+      }
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        if (this.#noProxyEntries.length === 0) {
+          return true;
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        if (this.#noProxyValue === "*") {
+          return false;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        for (let i = 0; i < this.#noProxyEntries.length; i++) {
+          const entry = this.#noProxyEntries[i];
+          if (entry.port && entry.port !== port) {
+            continue;
+          }
+          if (!/^[.*]/.test(entry.hostname)) {
+            if (hostname === entry.hostname) {
+              return false;
+            }
+          } else {
+            if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
+              return false;
+            }
+          }
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
+        return true;
+      }
+      #parseNoProxy() {
+        const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
+        const noProxySplit = noProxyValue.split(/[,\s]/);
+        const noProxyEntries = [];
+        for (let i = 0; i < noProxySplit.length; i++) {
+          const entry = noProxySplit[i];
+          if (!entry) {
+            continue;
+          }
+          const parsed = entry.match(/^(.+):(\d+)$/);
+          noProxyEntries.push({
+            hostname: (parsed ? parsed[1] : entry).toLowerCase(),
+            port: parsed ? Number.parseInt(parsed[2], 10) : 0
           });
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url2);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
+      }
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
+        }
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      return new Date(retryAfter).getTime() - current;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          minTimeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "ECONNRESET",
+            "ECONNREFUSED",
+            "ENOTFOUND",
+            "ENETDOWN",
+            "ENETUNREACH",
+            "EHOSTDOWN",
+            "EHOSTUNREACH",
+            "EPIPE",
+            "UND_ERR_SOCKET"
+          ]
         };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
-      }
-      get pipelining() {
-        return this[kPipelining];
-      }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
-      }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
-      }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+        this.retryCount = 0;
+        this.retryCountCheckpoint = 0;
+        this.start = 0;
+        this.end = null;
+        this.etag = null;
+        this.resume = null;
+        this.handler.onConnect((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
+          }
+        });
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
+        }
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
+        }
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
+        }
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
-        } else {
-          resume(this, true);
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          minTimeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        const { counter } = state;
+        if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
         }
-        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
         }
-        return this[kNeedDrain] < 2;
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
+        }
+        if (counter > maxRetries) {
+          cb(err);
+          return;
+        }
+        let retryAfterHeader = headers?.["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
+        setTimeout(() => cb(null), retryTimeout);
       }
-      async [kClose]() {
-        return new Promise((resolve8) => {
-          if (!this[kSize]) {
-            resolve8(null);
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          if (this.retryOpts.statusCodes.includes(statusCode) === false) {
+            return this.handler.onHeaders(
+              statusCode,
+              rawHeaders,
+              resume,
+              statusMessage
+            );
           } else {
-            this[kClosedResolve] = resolve8;
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
           }
-        });
-      }
-      async [kDestroy](err) {
-        return new Promise((resolve8) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
+        }
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
+            this.abort(
+              new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
           }
-          const callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size - 1 } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
+        }
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
             }
-            resolve8();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
+            const { start, size, end = size - 1 } = range;
+            assert(
+              start != null && Number.isFinite(start),
+              "content-range mismatch"
+            );
+            assert(end != null && Number.isFinite(end), "invalid content-length");
+            this.start = start;
+            this.end = end;
           }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
+          }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          if (this.etag != null && this.etag.startsWith("W/")) {
+            this.etag = null;
           }
-          resume(this);
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
+        }
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          data: { count: this.retryCount }
         });
+        this.abort(err);
+        return false;
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
-    }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
-      try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        if (this.retryCount - this.retryCountCheckpoint > 0) {
+          this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
+        } else {
+          this.retryCount += 1;
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
           },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
           }
-          /* eslint-enable camelcase */
-        }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: exports3 }) {
-        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
-        this.llhttp = exports3;
-        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
-        this.client = client;
-        this.socket = socket;
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.statusCode = null;
-        this.statusText = "";
-        this.upgrade = false;
-        this.headers = [];
-        this.headersSize = 0;
-        this.headersMaxSize = client[kMaxHeadersSize];
-        this.shouldKeepAlive = false;
-        this.paused = false;
-        this.resume = this.resume.bind(this);
-        this.bytesRead = 0;
-        this.keepAlive = "";
-        this.contentLength = "";
-        this.connection = "";
-        this.maxResponseSize = client[kMaxResponseSize];
-      }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
             }
-          } else {
-            this.timeout = null;
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
           }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
       }
-      resume() {
-        if (this.socket.destroyed || !this.paused) {
-          return;
-        }
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_resume(this.ptr);
-        assert(this.timeoutType === TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-        this.paused = false;
-        this.execute(this.socket.read() || EMPTY_BUF);
-        this.readMore();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
-            break;
-          }
-          this.execute(chunk);
-        }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
       }
-      execute(data) {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        assert(!this.paused);
-        const { socket, llhttp } = this;
-        if (data.length > currentBufferSize) {
-          if (currentBufferPtr) {
-            llhttp.free(currentBufferPtr);
-          }
-          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
-          currentBufferPtr = llhttp.malloc(currentBufferSize);
-        }
-        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
-        try {
-          let ret;
-          try {
-            currentBufferRef = data;
-            currentParser = this;
-            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
-          } catch (err) {
-            throw err;
-          } finally {
-            currentParser = null;
-            currentBufferRef = null;
-          }
-          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
-          if (ret === constants.ERROR.PAUSED_UPGRADE) {
-            this.onUpgrade(data.slice(offset));
-          } else if (ret === constants.ERROR.PAUSED) {
-            this.paused = true;
-            socket.unshift(data.slice(offset));
-          } else if (ret !== constants.ERROR.OK) {
-            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
-            let message = "";
-            if (ptr) {
-              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
-              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
-            }
-            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
-          }
-        } catch (err) {
-          util.destroy(socket, err);
-        }
+      close() {
+        return this.#agent.close();
       }
       destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
+        return this.#agent.destroy();
       }
-      onStatus(buf) {
-        this.statusText = buf.toString();
+    };
+    module2.exports = RetryAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
+    var util = require_util9();
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable2 {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        contentLength,
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kContentLength] = contentLength;
+        this[kReading] = false;
       }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
+        if (err) {
+          this[kAbort]();
         }
+        return super.destroy(err);
       }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
         } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+          callback(err);
         }
-        this.trackHeader(buf.length);
       }
-      onHeaderValue(buf) {
-        let len = this.headers.length;
-        if ((len & 1) === 1) {
-          this.headers.push(buf);
-          len += 1;
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        const key = this.headers[len - 2];
-        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        this.trackHeader(buf.length);
+        return super.on(ev, ...args);
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
-        }
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
-        try {
-          request2.onUpgrade(statusCode, headers, socket);
-        } catch (err) {
-          util.destroy(socket, err);
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        resume(client);
+        return ret;
       }
-      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
-        const { client, socket, headers, statusText } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
-        }
-        assert(!this.upgrade);
-        assert(this.statusCode < 200);
-        if (statusCode === 100) {
-          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
-          return -1;
-        }
-        if (upgrade && !request2.upgrade) {
-          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
-          return -1;
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
+      }
+      push(chunk) {
+        if (this[kConsume] && chunk !== null) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
         }
-        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
-        this.statusCode = statusCode;
-        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
-        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
-        if (this.statusCode >= 200) {
-          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
-          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+        return super.push(chunk);
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
           }
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        return this[kBody];
+      }
+      async dump(opts) {
+        let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024;
+        const signal = opts?.signal;
+        if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
+          throw new InvalidArgumentError("signal must be an AbortSignal");
         }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
+        return await new Promise((resolve8, reject) => {
+          if (this[kContentLength] > limit) {
+            this.destroy(new AbortError());
+          }
+          const onAbort = () => {
+            this.destroy(signal.reason ?? new AbortError());
+          };
+          signal?.addEventListener("abort", onAbort);
+          this.on("close", function() {
+            signal?.removeEventListener("abort", onAbort);
+            if (signal?.aborted) {
+              reject(signal.reason ?? new AbortError());
             } else {
-              client[kKeepAliveTimeoutValue] = timeout;
+              resolve8(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
             }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream2, type2) {
+      assert(!stream2[kConsume]);
+      return new Promise((resolve8, reject) => {
+        if (isUnusable(stream2)) {
+          const rState = stream2._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream2.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
           } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+            reject(rState.errored ?? new TypeError("unusable"));
           }
         } else {
-          socket[kReset] = true;
+          queueMicrotask(() => {
+            stream2[kConsume] = {
+              type: type2,
+              stream: stream2,
+              resolve: resolve8,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream2.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream2[kConsume]);
+          });
         }
-        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
-        if (request2.aborted) {
-          return -1;
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
+      }
+      const { _readableState: state } = consume2.stream;
+      if (state.bufferIndex) {
+        const start = state.bufferIndex;
+        const end = state.buffer.length;
+        for (let n = start; n < end; n++) {
+          consumePush(consume2, state.buffer[n]);
         }
-        if (request2.method === "HEAD") {
-          return 1;
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        if (statusCode < 200) {
-          return 1;
+      }
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
+      }
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
+      }
+    }
+    function chunksDecode(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return "";
+      }
+      const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
+      const bufferLength = buffer.length;
+      const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
+      return buffer.utf8Slice(start, bufferLength);
+    }
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
+      }
+      if (chunks.length === 1) {
+        return new Uint8Array(chunks[0]);
+      }
+      const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
+      let offset = 0;
+      for (let i = 0; i < chunks.length; ++i) {
+        const chunk = chunks[i];
+        buffer.set(chunk, offset);
+        offset += chunk.length;
+      }
+      return buffer;
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve8, stream: stream2, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve8(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve8(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve8(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve8(new Blob(body, { type: stream2[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve8(chunksConcat(body, length));
         }
-        if (socket[kBlocking]) {
-          socket[kBlocking] = false;
-          resume(client);
+        consumeFinish(consume2);
+      } catch (err) {
+        stream2.destroy(err);
+      }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
+      }
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
+      }
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+    module2.exports = { Readable: BodyReadable, chunksDecode };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
+      }
+      const stackTraceLimit = Error.stackTraceLimit;
+      Error.stackTraceLimit = 0;
+      let payload;
+      try {
+        if (isContentTypeApplicationJson(contentType)) {
+          payload = JSON.parse(chunksDecode(chunks, length));
+        } else if (isContentTypeText(contentType)) {
+          payload = chunksDecode(chunks, length);
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
+      }
+      queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)));
+    }
+    var isContentTypeApplicationJson = (contentType) => {
+      return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n";
+    };
+    var isContentTypeText = (contentType) => {
+      return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t";
+    };
+    module2.exports = {
+      getResolveErrorBodyCallback,
+      isContentTypeApplicationJson,
+      isContentTypeText
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
           }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
+          } else {
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable2({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        this.callback = null;
+        this.res = res;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body: res, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body: res,
+              context: context2
+            });
+          }
         }
       }
-    };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
+        }
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-    }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
       }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      this[kError] = err;
-      onError(this[kClient], err);
     }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
+      }
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-        }
-        this[kParser].destroy();
-        this[kParser] = null;
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
+        }
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      try {
-        const socket = await new Promise((resolve8, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve8(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
+          this.callback = null;
+          this.runInAsyncScope(
+            getResolveErrorBodyCallback,
+            null,
+            { callback, body: res, contentType, statusCode, statusMessage, headers }
+          );
+        } else {
+          if (factory === null) {
+            return;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          finished(res, { readable: false }, (err) => {
+            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
+            this.res = null;
+            if (err || !res2.readable) {
+              util.destroy(res2, err);
+            }
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
+        return needDrain !== true;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
           return;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
-          assert(client[kRunning] === 0);
-          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
-            const request2 = client[kQueue][client[kPendingIdx]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream2(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          stream2.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
       }
-      client[kResuming] = 2;
-      _resume(client, sync);
-      client[kResuming] = 0;
-      if (client[kRunningIdx] > 256) {
-        client[kQueue].splice(0, client[kRunningIdx]);
-        client[kPendingIdx] -= client[kRunningIdx];
-        client[kRunningIdx] = 0;
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    module2.exports = stream2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable: Readable2,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable2 {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
+      }
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
+        }
+      }
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
+      }
+    };
+    var PipelineResponse = class extends Readable2 {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
+      }
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        callback(err);
+      }
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
+        }
+        const { signal, method, opaque, onInfo, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
+        }
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        super("UNDICI_UPGRADE");
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.abort = null;
+        this.context = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = null;
+      }
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
+      }
+      onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
+      }
+      try {
+        const upgradeHandler = new UpgradeHandler(opts, callback);
+        this.dispatch({
+          ...opts,
+          method: opts.method || "GET",
+          upgrade: opts.protocol || "Websocket"
+        }, upgradeHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path16, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
       }
-      if (request2.aborted) {
-        return false;
-      }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
+    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _MockNotMatchedError);
+        this.name = "MockNotMatchedError";
+        this.message = message || "The request does not match any registered mock dispatches";
+        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path16} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      if (upgrade) {
-        header += `connection: upgrade\r
-upgrade: ${upgrade}\r
-`;
-      } else if (client[kPipelining] && !socket[kReset]) {
-        header += "connection: keep-alive\r\n";
-      } else {
-        header += "connection: close\r\n";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        if (contentLength === 0) {
-          socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-        } else {
-          assert(contentLength === null, "no body must not have content length");
-          socket.write(`${header}\r
-`, "latin1");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      return false;
+    }
+    function lowerCaseEntries(headers) {
+      return Object.fromEntries(
+        Object.entries(headers).map(([headerName, headerValue]) => {
+          return [headerName.toLocaleLowerCase(), headerValue];
+        })
+      );
+    }
+    function getHeaderByName(headers, key) {
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
+            return headers[i + 1];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+      }
+    }
+    function buildHeadersFromArray(headers) {
+      const clone = headers.slice();
+      const entries = [];
+      for (let index = 0; index < clone.length; index += 2) {
+        entries.push([clone[index], clone[index + 1]]);
       }
-      return true;
+      return Object.fromEntries(entries);
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
+        }
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
       }
-      if (request2.aborted) {
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream2;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream2 = session.request(headers, { endStream: false, signal });
-        if (stream2.id && !stream2.pending) {
-          request2.onUpgrade(null, null, stream2);
-          ++h2State.openStreams;
-        } else {
-          stream2.once("ready", () => {
-            request2.onUpgrade(null, null, stream2);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream2.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path16;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path16) {
+      if (typeof path16 !== "string") {
+        return path16;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path16.split("?");
+      if (pathSegments.length !== 2) {
+        return path16;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path16, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path16);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    function getMockDispatch(mockDispatches, key) {
+      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
+      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path16 }) => matchValue(safeUrl(path16), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
-        stream2.once("continue", writeBodyH2);
-      } else {
-        stream2 = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream2.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream2.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream2.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      stream2.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
+      }
+      return matchedMockDispatches[0];
+    }
+    function addMockDispatch(mockDispatches, key, data) {
+      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
+      const replyData = typeof data === "function" ? { callback: data } : { ...data };
+      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
+      mockDispatches.push(newMockDispatch);
+      return newMockDispatch;
+    }
+    function deleteMockDispatch(mockDispatches, key) {
+      const index = mockDispatches.findIndex((dispatch) => {
+        if (!dispatch.consumed) {
+          return false;
         }
+        return matchKey(dispatch, key);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream2.cork();
-          stream2.write(body);
-          stream2.uncork();
-          stream2.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream2,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream2,
-              header: "",
-              socket: client[kSocket]
-            });
-          }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream2,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream2,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
-        }
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
-      }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
+    function buildKey(opts) {
+      const { path: path16, method, body, headers, query } = opts;
+      return {
+        path: path16,
+        method,
+        body,
+        headers,
+        query
       };
-      const onFinished = function(err) {
-        if (finished) {
-          return;
-        }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
-          try {
-            writer.end();
-          } catch (er) {
-            err = er;
+    }
+    function generateKeyValues(data) {
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          result.push(name, Buffer.from(`${value}`));
         }
-      };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
       }
-      socket.on("drain", onDrain).on("error", onFinished);
+      return result;
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
+      return Buffer.concat(buffers).toString("utf8");
     }
-    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
-      let callback = null;
-      function onDrain() {
-        if (callback) {
-          const cb = callback;
-          callback = null;
-          cb();
-        }
+    function mockDispatch(opts, handler2) {
+      const key = buildKey(opts);
+      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
+      mockDispatch2.timesInvoked++;
+      if (mockDispatch2.data.callback) {
+        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
       }
-      const waitForDrain = () => new Promise((resolve8, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve8;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
       }
-    }
-    var AsyncWriter = class {
-      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
-        this.socket = socket;
-        this.request = request2;
-        this.contentLength = contentLength;
-        this.client = client;
-        this.bytesWritten = 0;
-        this.expectsPayload = expectsPayload;
-        this.header = header;
-        socket[kWriting] = true;
+      function resume() {
       }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
-        }
-        if (socket.destroyed) {
-          return false;
-        }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
-        }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          }
-          process.emitWarning(new RequestContentLengthMismatchError());
-        }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
-          }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
-          } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          }
-        }
-        if (contentLength === null) {
-          socket.write(`\r
-${len.toString(16)}\r
-`, "latin1");
-        }
-        this.bytesWritten += len;
-        const ret = socket.write(chunk);
-        socket.uncork();
-        request2.onBodySent(chunk);
-        if (!ret) {
-          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-            if (socket[kParser].timeout.refresh) {
-              socket[kParser].timeout.refresh();
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
+          try {
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
+              }
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
             }
           }
+        } else {
+          originalDispatch.call(this, opts, handler2);
         }
-        return ret;
-      }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
-        }
-        if (socket.destroyed) {
-          return;
-        }
-        if (bytesWritten === 0) {
-          if (expectsPayload) {
-            socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-          } else {
-            socket.write(`${header}\r
-`, "latin1");
-          }
-        } else if (contentLength === null) {
-          socket.write("\r\n0\r\n\r\n", "latin1");
-        }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
-          }
-        }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
-          }
-        }
-        resume(client);
-      }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
-        }
+      };
+    }
+    function checkNetConnect(netConnect, origin) {
+      const url2 = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
+        return true;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      return false;
+    }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
     }
-    module2.exports = Client;
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
     "use strict";
-    var kSize = 2048;
-    var kMask = kSize - 1;
-    var FixedCircularBuffer = class {
-      constructor() {
-        this.bottom = 0;
-        this.top = 0;
-        this.list = new Array(kSize);
-        this.next = null;
-      }
-      isEmpty() {
-        return this.top === this.bottom;
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      /**
+       * Delay a reply by a set amount in ms.
+       */
+      delay(waitInMs) {
+        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
+          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
+        }
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      shift() {
-        const nextItem = this.list[this.bottom];
-        if (nextItem === void 0)
-          return null;
-        this.list[this.bottom] = void 0;
-        this.bottom = this.bottom + 1 & kMask;
-        return nextItem;
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+        }
+        this[kMockDispatch].times = repeatTimes;
+        return this;
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
-      }
-      isEmpty() {
-        return this.head.isEmpty();
-      }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        this.head.push(data);
-      }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        return next;
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
+        }
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
+          } else {
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
+          }
+        }
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
+        }
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
+      createMockScopeDispatchData({ statusCode, data, responseOptions }) {
+        const responseData = getResponseData2(data);
+        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
+        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
+        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
+        return { statusCode, data, headers, trailers };
       }
-      get connected() {
-        return this[kPool][kConnected];
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
+        }
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
+          throw new InvalidArgumentError("responseOptions must be an object");
+        }
       }
-      get free() {
-        return this[kPool][kFree];
+      /**
+       * Mock an undici request with a defined reply.
+       */
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
+              throw new InvalidArgumentError("reply options callback must return an object");
+            }
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
+            return {
+              ...this.createMockScopeDispatchData(replyParameters2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
+        }
+        const replyParameters = {
+          statusCode: replyOptionsCallbackOrStatusCode,
+          data: arguments[1] === void 0 ? "" : arguments[1],
+          responseOptions: arguments[2] === void 0 ? {} : arguments[2]
+        };
+        this.validateReplyParameters(replyParameters);
+        const dispatchData = this.createMockScopeDispatchData(replyParameters);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
       }
-      get pending() {
-        return this[kPool][kPending];
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
+        }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
-      get queued() {
-        return this[kPool][kQueued];
+      /**
+       * Set default reply headers on the interceptor for subsequent replies
+       */
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
+        }
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-      get running() {
-        return this[kPool][kRunning];
+      /**
+       * Set default reply trailers on the interceptor for subsequent replies
+       */
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
+        }
+        this[kDefaultTrailers] = trailers;
+        return this;
       }
-      get size() {
-        return this[kPool][kSize];
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
     };
-    module2.exports = PoolStats;
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ Symbol("stats");
-    var PoolBase = class extends DispatcherBase {
-      constructor() {
-        super();
-        this[kQueue] = new FixedQueue();
-        this[kClients] = [];
-        this[kQueued] = 0;
-        const pool = this;
-        this[kOnDrain] = function onDrain(origin, targets) {
-          const queue = pool[kQueue];
-          let needDrain = false;
-          while (!needDrain) {
-            const item = queue.shift();
-            if (!item) {
-              break;
-            }
-            pool[kQueued]--;
-            needDrain = !this.dispatch(item.opts, item.handler);
-          }
-          this[kNeedDrain] = needDrain;
-          if (!this[kNeedDrain] && pool[kNeedDrain]) {
-            pool[kNeedDrain] = false;
-            pool.emit("drain", origin, [pool, ...targets]);
-          }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
-          }
-        };
-        this[kOnConnect] = (origin, targets) => {
-          pool.emit("connect", origin, [pool, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          pool.emit("disconnect", origin, [pool, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          pool.emit("connectionError", origin, [pool, ...targets], err);
-        };
-        this[kStats] = new PoolStats(this);
-      }
-      get [kBusy]() {
-        return this[kNeedDrain];
-      }
-      get [kConnected]() {
-        return this[kClients].filter((client) => client[kConnected]).length;
-      }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
-      }
-      get [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
-        }
-        return ret;
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        return ret;
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      get stats() {
-        return this[kStats];
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
       async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve8) => {
-            this[kClosedResolve] = resolve8;
-          });
-        }
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
+    };
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      [kDispatch](opts, handler2) {
-        const dispatcher = this[kGetDispatcher]();
-        if (!dispatcher) {
-          this[kNeedDrain] = true;
-          this[kQueue].push({ opts, handler: handler2 });
-          this[kQueued]++;
-        } else if (!dispatcher.dispatch(opts, handler2)) {
-          dispatcher[kNeedDrain] = true;
-          this[kNeedDrain] = !this[kGetDispatcher]();
-        }
-        return !this[kNeedDrain];
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      [kAddClient](client) {
-        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-        this[kClients].push(client);
-        if (this[kNeedDrain]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      [kRemoveClient](client) {
-        client.close(() => {
-          const idx = this[kClients].indexOf(client);
-          if (idx !== -1) {
-            this[kClients].splice(idx, 1);
-          }
-        });
-        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
-    }
-    var Pool = class extends PoolBase {
-      constructor(origin, {
-        connections,
-        factory = defaultFactory,
-        connect,
-        connectTimeout,
-        tls,
-        maxCachedSessions,
-        socketPath,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        allowH2,
-        ...options
-      } = {}) {
-        super();
-        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
-          throw new InvalidArgumentError("invalid connections");
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (typeof connect !== "function") {
-          connect = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
+    var singulars = {
+      pronoun: "it",
+      is: "is",
+      was: "was",
+      this: "this"
+    };
+    var plurals = {
+      pronoun: "they",
+      is: "are",
+      was: "were",
+      this: "these"
+    };
+    module2.exports = class Pluralizer {
+      constructor(singular, plural) {
+        this.singular = singular;
+        this.plural = plural;
+      }
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
+      }
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var { Console } = require("node:console");
+    var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
+    var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
+          }
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
           }
         });
       }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path16, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path16,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
     "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
     var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var BalancedPool = class extends PoolBase {
-      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
-        super();
-        this[kOptions] = opts;
-        this[kIndex] = -1;
-        this[kCurrentWeight] = 0;
-        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
-        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
-        if (!Array.isArray(upstreams)) {
-          upstreams = [upstreams];
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        this._updateBalancedPoolStats();
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      addUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
-          return this;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
-        this[kAddClient](pool);
-        pool.on("connect", () => {
-          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
-        });
-        pool.on("connectionError", () => {
-          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-          this._updateBalancedPoolStats();
-        });
-        pool.on("disconnect", (...args) => {
-          const err = args[2];
-          if (err && err.code === "UND_ERR_SOCKET") {
-            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-            this._updateBalancedPoolStats();
+        return dispatcher;
+      }
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
+      }
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
+      }
+      deactivate() {
+        this[kIsMockActive] = false;
+      }
+      activate() {
+        this[kIsMockActive] = true;
+      }
+      enableNetConnect(matcher) {
+        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
+          if (Array.isArray(this[kNetConnect])) {
+            this[kNetConnect].push(matcher);
+          } else {
+            this[kNetConnect] = [matcher];
           }
-        });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        this._updateBalancedPoolStats();
-        return this;
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      removeUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
-        if (pool) {
-          this[kRemoveClient](pool);
-        }
-        return this;
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      [kGetDispatcher]() {
-        if (this[kClients].length === 0) {
-          throw new BalancedPoolMissingUpstreamError();
-        }
-        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
-        if (!dispatcher) {
-          return;
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const client = this[kClients].get(origin);
+        if (client) {
+          return client;
         }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
         }
-        let counter = 0;
-        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
-        while (counter++ < this[kClients].length) {
-          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
-          const pool = this[kClients][this[kIndex]];
-          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
-            maxWeightIndex = this[kIndex];
-          }
-          if (this[kIndex] === 0) {
-            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
-            if (this[kCurrentWeight] <= 0) {
-              this[kCurrentWeight] = this[kMaxWeightPerServer];
-            }
-          }
-          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
-            return pool;
+        for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
         }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
-      }
-    };
-    module2.exports = BalancedPool;
-  }
-});
-
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
-    "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
       }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
+          return;
         }
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
     var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
-    var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    function defaultFactory(origin, opts) {
-      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    var Agent = class extends DispatcherBase {
-      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
-        super();
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
-        }
-        if (connect && typeof connect !== "function") {
-          connect = { ...connect };
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
-        );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
+    "use strict";
+    module2.exports = class DecoratorHandler {
+      #handler;
+      constructor(handler2) {
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
         }
-        return ret;
+        this.#handler = handler2;
       }
-      [kDispatch](opts, handler2) {
-        let key;
-        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
-          key = String(opts.origin);
-        } else {
-          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
-        }
-        return dispatcher.dispatch(opts, handler2);
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
-        }
-        await Promise.all(closePromises);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
-        }
-        await Promise.all(destroyPromises);
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
+      }
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
+      }
+      onHeaders(...args) {
+        return this.#handler.onHeaders?.(...args);
+      }
+      onData(...args) {
+        return this.#handler.onData?.(...args);
+      }
+      onComplete(...args) {
+        return this.#handler.onComplete?.(...args);
+      }
+      onBodySent(...args) {
+        return this.#handler.onBodySent?.(...args);
       }
     };
-    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable: Readable2 } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
+    var RedirectHandler = require_redirect_handler2();
+    module2.exports = (opts) => {
+      const globalMaxRedirections = opts?.maxRedirections;
+      return (dispatch) => {
+        return function redirectInterceptor(opts2, handler2) {
+          const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2;
+          if (!maxRedirections) {
+            return dispatch(opts2, handler2);
+          }
+          const redirectHandler = new RedirectHandler(
+            dispatch,
+            maxRedirections,
+            opts2,
+            handler2
+          );
+          return dispatch(baseOpts, redirectHandler);
+        };
+      };
     };
-    module2.exports = class BodyReadable extends Readable2 {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        highWaterMark = 64 * 1024
-        // Same as nodejs fs streams.
-      }) {
-        super({
-          autoDestroy: true,
-          read: resume,
-          highWaterMark
-        });
-        this._readableState.dataEmitted = false;
-        this[kAbort] = abort;
-        this[kConsume] = null;
-        this[kBody] = null;
-        this[kContentType] = contentType;
-        this[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    var DumpHandler = class extends DecoratorHandler {
+      #maxSize = 1024 * 1024;
+      #abort = null;
+      #dumped = false;
+      #aborted = false;
+      #size = 0;
+      #reason = null;
+      #handler = null;
+      constructor({ maxSize }, handler2) {
+        super(handler2);
+        if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
+          throw new InvalidArgumentError("maxSize must be a number greater than 0");
         }
-        return super.emit(ev, ...args);
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
       }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
+      onConnect(abort) {
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
       }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
       }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+      // TODO: will require adjustment after new hooks are out
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = util.parseHeaders(rawHeaders);
+        const contentLength = headers["content-length"];
+        if (contentLength != null && contentLength > this.#maxSize) {
+          throw new RequestAbortedError(
+            `Response size (${contentLength}) larger than maxSize (${this.#maxSize})`
+          );
         }
-        return ret;
-      }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
-      }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+        if (this.#aborted) {
+          return true;
         }
-        return super.push(chunk);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-text
-      async text() {
-        return consume(this, "text");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-json
-      async json() {
-        return consume(this, "json");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-blob
-      async blob() {
-        return consume(this, "blob");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
+      onError(err) {
+        if (this.#dumped) {
+          return;
+        }
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-body-body
-      get body() {
-        if (!this[kBody]) {
-          this[kBody] = ReadableStreamFrom(this);
-          if (this[kConsume]) {
-            this[kBody].getReader();
-            assert(this[kBody].locked);
+      onData(chunk) {
+        this.#size = this.#size + chunk.length;
+        if (this.#size >= this.#maxSize) {
+          this.#dumped = true;
+          if (this.#aborted) {
+            this.#handler.onError(this.#reason);
+          } else {
+            this.#handler.onComplete([]);
           }
         }
-        return this[kBody];
+        return true;
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        if (this.closed) {
-          return Promise.resolve(null);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
         }
-        return new Promise((resolve8, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve8(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
-            }
-          }).resume();
-        });
+        this.#handler.onComplete(trailers);
       }
     };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream2, type2) {
-      if (isUnusable(stream2)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream2[kConsume]);
-      return new Promise((resolve8, reject) => {
-        stream2[kConsume] = {
-          type: type2,
-          stream: stream2,
-          resolve: resolve8,
-          reject,
-          length: 0,
-          body: []
+    function createDumpInterceptor({ maxSize: defaultMaxSize } = {
+      maxSize: 1024 * 1024
+    }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { dumpMaxSize = defaultMaxSize } = opts;
+          const dumpHandler = new DumpHandler(
+            { maxSize: dumpMaxSize },
+            handler2
+          );
+          return dispatch(opts, dumpHandler);
         };
-        stream2.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
-          }
-        });
-        process.nextTick(consumeStart, stream2[kConsume]);
-      });
+      };
     }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
+    module2.exports = createDumpInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
+    "use strict";
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    var maxInt = Math.pow(2, 31) - 1;
+    var DNSInstance = class {
+      #maxTTL = 0;
+      #maxItems = 0;
+      #records = /* @__PURE__ */ new Map();
+      dualStack = true;
+      affinity = null;
+      lookup = null;
+      pick = null;
+      constructor(opts) {
+        this.#maxTTL = opts.maxTTL;
+        this.#maxItems = opts.maxItems;
+        this.dualStack = opts.dualStack;
+        this.affinity = opts.affinity;
+        this.lookup = opts.lookup ?? this.#defaultLookup;
+        this.pick = opts.pick ?? this.#defaultPick;
       }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
-        });
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
+        }
+        const newOpts = {
+          affinity: this.affinity,
+          dualStack: this.dualStack,
+          lookup: this.lookup,
+          pick: this.pick,
+          ...opts.dns,
+          maxTTL: this.#maxTTL,
+          maxItems: this.#maxItems
+        };
+        if (ips == null) {
+          this.lookup(origin, newOpts, (err, addresses) => {
+            if (err || addresses == null || addresses.length === 0) {
+              cb(err ?? new InformationalError("No DNS entries found"));
+              return;
+            }
+            this.setRecords(origin, addresses);
+            const records = this.#records.get(origin.hostname);
+            const ip = this.pick(
+              origin,
+              records,
+              newOpts.affinity
+            );
+            let port;
+            if (typeof ip.port === "number") {
+              port = `:${ip.port}`;
+            } else if (origin.port !== "") {
+              port = `:${origin.port}`;
+            } else {
+              port = "";
+            }
+            cb(
+              null,
+              `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+            );
+          });
+        } else {
+          const ip = this.pick(
+            origin,
+            ips,
+            newOpts.affinity
+          );
+          if (ip == null) {
+            this.#records.delete(origin.hostname);
+            this.runLookup(origin, opts, cb);
+            return;
+          }
+          let port;
+          if (typeof ip.port === "number") {
+            port = `:${ip.port}`;
+          } else if (origin.port !== "") {
+            port = `:${origin.port}`;
+          } else {
+            port = "";
+          }
+          cb(
+            null,
+            `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+          );
+        }
       }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
+      #defaultLookup(origin, opts, cb) {
+        lookup(
+          origin.hostname,
+          {
+            all: true,
+            family: this.dualStack === false ? this.affinity : 0,
+            order: "ipv4first"
+          },
+          (err, addresses) => {
+            if (err) {
+              return cb(err);
+            }
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
+          }
+        );
       }
-    }
-    function consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve8, stream: stream2, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve8(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve8(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+      #defaultPick(origin, hostnameRecords, affinity) {
+        let ip = null;
+        const { records, offset } = hostnameRecords;
+        let family;
+        if (this.dualStack) {
+          if (affinity == null) {
+            if (offset == null || offset === maxInt) {
+              hostnameRecords.offset = 0;
+              affinity = 4;
+            } else {
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
+            }
           }
-          resolve8(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve8(new Blob2(body, { type: stream2[kContentType] }));
+        } else {
+          family = records[affinity];
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream2.destroy(err);
+        if (family == null || family.ips.length === 0) {
+          return ip;
+        }
+        if (family.offset == null || family.offset === maxInt) {
+          family.offset = 0;
+        } else {
+          family.offset++;
+        }
+        const position = family.offset % family.ips.length;
+        ip = family.ips[position] ?? null;
+        if (ip == null) {
+          return ip;
+        }
+        if (Date.now() - ip.timestamp > ip.ttl) {
+          family.ips.splice(position, 1);
+          return this.pick(origin, hostnameRecords, affinity);
+        }
+        return ip;
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
+          }
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
+        }
+        this.#records.set(origin.hostname, records);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
+      }
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
+            }
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
+      };
     };
   }
 });
 
-// node_modules/undici/lib/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable2 = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
+    }
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
+      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
+    }
+    function fill(headers, object) {
+      if (Array.isArray(object)) {
+        for (let i = 0; i < object.length; ++i) {
+          const header = object[i];
+          if (header.length !== 2) {
+            throw webidl.errors.exception({
+              header: "Headers constructor",
+              message: `expected name/value pair to be length 2, found ${header.length}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } else if (typeof object === "object" && object !== null) {
+        const keys = Object.keys(object);
+        for (let i = 0; i < keys.length; ++i) {
+          appendHeader(headers, keys[i], object[keys[i]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+    }
+    function appendHeader(headers, name, value) {
+      value = headerValueNormalize(value);
+      if (!isValidHeaderName(name)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value: name,
+          type: "header name"
+        });
+      } else if (!isValidHeaderValue(value)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value,
+          type: "header value"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
-          }
-          return;
-        }
-        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-        const contentType = parsedHeaders["content-type"];
-        const body = new Readable2({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
+      if (getHeadersGuard(headers) === "immutable") {
+        throw new TypeError("immutable");
+      }
+      return getHeadersList(headers).append(name, value, false);
+    }
+    function compareHeaderName(a, b) {
+      return a[0] < b[0] ? -1 : 1;
+    }
+    var HeadersList = class _HeadersList {
+      /** @type {[string, string][]|null} */
+      cookies = null;
+      constructor(init) {
+        if (init instanceof _HeadersList) {
+          this[kHeadersMap] = new Map(init[kHeadersMap]);
+          this[kHeadersSortedMap] = init[kHeadersSortedMap];
+          this.cookies = init.cookies === null ? null : [...init.cookies];
+        } else {
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @see https://fetch.spec.whatwg.org/#header-list-contains
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      contains(name, isLowerCase) {
+        return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-append
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      append(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
           });
+        } else {
+          this[kHeadersMap].set(lowercaseName, { name, value });
         }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve8, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve8(data);
-          });
-        });
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-set
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      set(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
+        }
+        this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        if (!isLowerCase) name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-get
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       * @returns {string | null}
+       */
+      get(name, isLowerCase) {
+        return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
+      }
+      *[Symbol.iterator]() {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+          yield [name, value];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
-        }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
         }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      get entriesList() {
+        const headers = [];
+        if (this[kHeadersMap].size !== 0) {
+          for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) {
+            if (lowerName === "set-cookie") {
+              for (const cookie of this.cookies) {
+                headers.push([name, cookie]);
+              }
+            } else {
+              headers.push([name, value]);
+            }
           }
-          return;
         }
-        this.factory = null;
-        let res;
-        if (this.throwOnError && statusCode >= 400) {
-          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-          const contentType = parsedHeaders["content-type"];
-          res = new PassThrough();
-          this.callback = null;
-          this.runInAsyncScope(
-            getResolveErrorBodyCallback,
-            null,
-            { callback, body: res, contentType, statusCode, statusMessage, headers }
-          );
-        } else {
-          if (factory === null) {
-            return;
-          }
-          res = this.runInAsyncScope(factory, null, {
-            statusCode,
-            headers,
-            opaque,
-            context: context2
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        return headers;
+      }
+      // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set
+      toSortedArray() {
+        const size = this[kHeadersMap].size;
+        const array = new Array(size);
+        if (size <= 32) {
+          if (size === 0) {
+            return array;
           }
-          finished(res, { readable: false }, (err) => {
-            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
-            this.res = null;
-            if (err || !res2.readable) {
-              util.destroy(res2, err);
+          const iterator2 = this[kHeadersMap][Symbol.iterator]();
+          const firstValue = iterator2.next().value;
+          array[0] = [firstValue[0], firstValue[1].value];
+          assert(firstValue[1].value !== null);
+          for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) {
+            value = iterator2.next().value;
+            x = array[i] = [value[0], value[1].value];
+            assert(x[1] !== null);
+            left = 0;
+            right = i;
+            while (left < right) {
+              pivot = left + (right - left >> 1);
+              if (array[pivot][0] <= x[0]) {
+                left = pivot + 1;
+              } else {
+                right = pivot;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream2(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve8, reject) => {
-          stream2.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve8(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream2;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable: Readable2,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable2 {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
-      }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
+          }
+          if (!iterator2.next().done) {
+            throw new TypeError("Unreachable");
+          }
+          return array;
+        } else {
+          let i = 0;
+          for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+            array[i++] = [name, value];
+            assert(value !== null);
+          }
+          return array.sort(compareHeaderName);
         }
       }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
-      }
     };
-    var PipelineResponse = class extends Readable2 {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
-      }
-      _read() {
-        this[kResume]();
-      }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+    var Headers = class _Headers {
+      #guard;
+      #headersList;
+      constructor(init = void 0) {
+        webidl.util.markAsUncloneable(this);
+        if (init === kConstruct) {
+          return;
+        }
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
+          fill(this, init);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
+          });
         }
-        if (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        const { signal, method, opaque, onInfo, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        this.#headersList.delete(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        return this.#headersList.get(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value,
+            type: "header value"
+          });
         }
-        this.abort = abort;
-        this.context = context2;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        for (let i = 0; i < names.length; ++i) {
+          const { 0: name, 1: value } = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
+            }
+          } else {
+            headers.push([name, value]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    function pipeline(opts, handler2) {
-      try {
-        const pipelineHandler = new PipelineHandler(opts, handler2);
-        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
-        return pipelineHandler.ret;
-      } catch (err) {
-        return new PassThrough().destroy(err);
+    var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers;
+    Reflect.deleteProperty(Headers, "getHeadersGuard");
+    Reflect.deleteProperty(Headers, "setHeadersGuard");
+    Reflect.deleteProperty(Headers, "getHeadersList");
+    Reflect.deleteProperty(Headers, "setHeadersList");
+    iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1);
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-    }
-    module2.exports = pipeline;
+    });
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object") {
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
+        }
+        if (typeof iterator2 === "function") {
+          return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V));
+        }
+        return webidl.converters["record"](V, prefix, argument);
+      }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
+    };
+    module2.exports = {
+      fill,
+      // for test.
+      compareHeaderName,
+      Headers,
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
+    };
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { types } = require("node:util");
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
+        return responseObject;
+      }
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url2, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url2 = webidl.converters.USVString(url2);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url2, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url2}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve8, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve8(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      try {
-        const upgradeHandler = new UpgradeHandler(opts, callback);
-        this.dispatch({
-          ...opts,
-          method: opts.method || "GET",
-          upgrade: opts.protocol || "Websocket"
-        }, upgradeHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url2 = urlList[urlList.length - 1] ?? null;
+        if (url2 === null) {
+          return "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url2, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        removeSignal(this);
-        this.callback = null;
-        let headers = rawHeaders;
-        if (headers != null) {
-          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        }
-        this.runInAsyncScope(callback, null, null, {
-          statusCode,
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve8, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve8(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      }
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (bodyUnusable(this)) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        const clonedResponse = cloneResponse(this[kState]);
+        if (hasFinalizationRegistry && this[kState].body?.stream) {
+          streamRegistry.register(this, new WeakRef(this[kState].body.stream));
+        }
+        return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    mixinBody(Response);
+    Object.defineProperties(Response.prototype, {
+      type: kEnumerableProperty,
+      url: kEnumerableProperty,
+      status: kEnumerableProperty,
+      ok: kEnumerableProperty,
+      redirected: kEnumerableProperty,
+      statusText: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Response",
+        configurable: true
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    function makeResponse(init) {
+      return {
+        aborted: false,
+        rangeRequested: false,
+        timingAllowPassed: false,
+        requestIncludesCredentials: false,
+        type: "default",
+        status: 200,
+        timingInfo: null,
+        cacheState: "",
+        statusText: "",
+        ...init,
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
+      };
+    }
+    function makeNetworkError(reason) {
+      const isError = isErrorLike(reason);
+      return makeResponse({
+        type: "error",
+        status: 0,
+        error: isError ? reason : new Error(reason ? String(reason) : reason),
+        aborted: reason && reason.name === "AbortError"
+      });
+    }
+    function isNetworkError(response) {
+      return (
+        // A network error is a response whose type is "error",
+        response.type === "error" && // status is 0
+        response.status === 0
       );
     }
-    function getHeaderByName(headers, key) {
-      if (Array.isArray(headers)) {
-        for (let i = 0; i < headers.length; i += 2) {
-          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
-            return headers[i + 1];
-          }
+    function makeFilteredResponse(response, state) {
+      state = {
+        internalResponse: response,
+        ...state
+      };
+      return new Proxy(response, {
+        get(target, p) {
+          return p in state ? state[p] : target[p];
+        },
+        set(target, p, value) {
+          assert(!(p in state));
+          target[p] = value;
+          return true;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    function buildHeadersFromArray(headers) {
-      const clone = headers.slice();
-      const entries = [];
-      for (let index = 0; index < clone.length; index += 2) {
-        entries.push([clone[index], clone[index + 1]]);
-      }
-      return Object.fromEntries(entries);
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
     }
-    function matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path16) {
-      if (typeof path16 !== "string") {
-        return path16;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path16.split("?");
-      if (pathSegments.length !== 2) {
-        return path16;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
-    }
-    function matchKey(mockDispatch2, { path: path16, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path16);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
     }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
       }
+      return response;
     }
-    function getMockDispatch(mockDispatches, key) {
-      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
-      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
-      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path16 }) => matchValue(safeUrl(path16), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      return matchedMockDispatches[0];
-    }
-    function addMockDispatch(mockDispatches, key, data) {
-      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
-      const replyData = typeof data === "function" ? { callback: data } : { ...data };
-      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
-      mockDispatches.push(newMockDispatch);
-      return newMockDispatch;
-    }
-    function deleteMockDispatch(mockDispatches, key) {
-      const index = mockDispatches.findIndex((dispatch) => {
-        if (!dispatch.consumed) {
-          return false;
-        }
-        return matchKey(dispatch, key);
-      });
-      if (index !== -1) {
-        mockDispatches.splice(index, 1);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path16, method, body, headers, query } = opts;
-      return {
-        path: path16,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      return webidl.converters.DOMString(V, prefix, name);
+    };
+    webidl.converters.BodyInit = function(V, prefix, argument) {
+      if (V instanceof ReadableStream) {
+        return webidl.converters.ReadableStream(V, prefix, argument);
       }
-      return Buffer.concat(buffers).toString("utf8");
-    }
-    function mockDispatch(opts, handler2) {
-      const key = buildKey(opts);
-      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
-      mockDispatch2.timesInvoked++;
-      if (mockDispatch2.data.callback) {
-        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
+    };
+    webidl.converters.ResponseInit = webidl.dictionaryConverter([
+      {
+        key: "status",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 200
+      },
+      {
+        key: "statusText",
+        converter: webidl.converters.ByteString,
+        defaultValue: () => ""
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
       }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      return true;
-    }
-    function buildMockDispatch() {
-      const agent = this[kMockAgent];
-      const origin = this[kOrigin];
-      const originalDispatch = this[kOriginalDispatch];
-      return function dispatch(opts, handler2) {
-        if (agent.isMockActive) {
-          try {
-            mockDispatch.call(this, opts, handler2);
-          } catch (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
-              }
-              if (checkNetConnect(netConnect, origin)) {
-                originalDispatch.call(this, opts, handler2);
-              } else {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } else {
-          originalDispatch.call(this, opts, handler2);
+          });
         }
-      };
-    }
-    function checkNetConnect(netConnect, origin) {
-      const url2 = new URL(origin);
-      if (netConnect === true) {
-        return true;
-      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
-        return true;
       }
-      return false;
-    }
-    function buildMockOptions(opts) {
-      if (opts) {
-        const { agent, ...mockOptions } = opts;
-        return mockOptions;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) {
+        process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
+      }
+      return { WeakRef, FinalizationRegistry };
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    var MockScope = class {
-      constructor(mockDispatch) {
-        this[kMockDispatch] = mockDispatch;
-      }
-      /**
-       * Delay a reply by a set amount in ms.
-       */
-      delay(waitInMs) {
-        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
-          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var dependentControllerMap = /* @__PURE__ */ new WeakMap();
+    function buildAbort(acRef) {
+      return abort;
+      function abort() {
+        const ac = acRef.deref();
+        if (ac !== void 0) {
+          requestFinalizer.unregister(abort);
+          this.removeEventListener("abort", abort);
+          ac.abort(this.reason);
+          const controllerList = dependentControllerMap.get(ac.signal);
+          if (controllerList !== void 0) {
+            if (controllerList.size !== 0) {
+              for (const ref of controllerList) {
+                const ctrl = ref.deref();
+                if (ctrl !== void 0) {
+                  ctrl.abort(this.reason);
+                }
+              }
+              controllerList.clear();
+            }
+            dependentControllerMap.delete(ac.signal);
+          }
         }
-        this[kMockDispatch].delay = waitInMs;
-        return this;
-      }
-      /**
-       * For a defined reply, never mark as consumed.
-       */
-      persist() {
-        this[kMockDispatch].persist = true;
-        return this;
       }
-      /**
-       * Allow one to define a reply for a set amount of matching requests.
-       */
-      times(repeatTimes) {
-        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
-          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+    }
+    var patchMethodWarning = false;
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (input === kConstruct) {
+          return;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        const prefix = "Request constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        input = webidl.converters.RequestInfo(input, prefix, "input");
+        init = webidl.converters.RequestInit(init, prefix, "init");
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } catch (err) {
+            throw new TypeError("Failed to parse URL from " + input, { cause: err });
+          }
+          if (parsedURL.username || parsedURL.password) {
+            throw new TypeError(
+              "Request cannot be constructed from a URL that includes credentials: " + input
+            );
+          }
+          request2 = makeRequest({ urlList: [parsedURL] });
+          fallbackMode = "cors";
+        } else {
+          this[kDispatcher] = init.dispatcher || input[kDispatcher];
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "no-window";
+        }
+        request2 = makeRequest({
+          // URL request’s URL.
+          // undici implementation note: this is set as the first item in request's urlList in makeRequest
+          // method request’s method.
+          method: request2.method,
+          // header list A copy of request’s header list.
+          // undici implementation note: headersList is cloned in makeRequest
+          headersList: request2.headersList,
+          // unsafe-request flag Set.
+          unsafeRequest: request2.unsafeRequest,
+          // client This’s relevant settings object.
+          client: environmentSettingsObject.settingsObject,
+          // window window.
+          window: window2,
+          // priority request’s priority.
+          priority: request2.priority,
+          // origin request’s origin. The propagation of the origin is only significant for navigation requests
+          // being handled by a service worker. In this scenario a request can have an origin that is different
+          // from the current client.
+          origin: request2.origin,
+          // referrer request’s referrer.
+          referrer: request2.referrer,
+          // referrer policy request’s referrer policy.
+          referrerPolicy: request2.referrerPolicy,
+          // mode request’s mode.
+          mode: request2.mode,
+          // credentials mode request’s credentials mode.
+          credentials: request2.credentials,
+          // cache mode request’s cache mode.
+          cache: request2.cache,
+          // redirect mode request’s redirect mode.
+          redirect: request2.redirect,
+          // integrity metadata request’s integrity metadata.
+          integrity: request2.integrity,
+          // keepalive request’s keepalive.
+          keepalive: request2.keepalive,
+          // reload-navigation flag request’s reload-navigation flag.
+          reloadNavigation: request2.reloadNavigation,
+          // history-navigation flag request’s history-navigation flag.
+          historyNavigation: request2.historyNavigation,
+          // URL list A clone of request’s URL list.
+          urlList: [...request2.urlList]
+        });
+        const initHasKey = Object.keys(init).length !== 0;
+        if (initHasKey) {
+          if (request2.mode === "navigate") {
+            request2.mode = "same-origin";
+          }
+          request2.reloadNavigation = false;
+          request2.historyNavigation = false;
+          request2.origin = "client";
+          request2.referrer = "client";
+          request2.referrerPolicy = "";
+          request2.url = request2.urlList[request2.urlList.length - 1];
+          request2.urlList = [request2.url];
+        }
+        if (init.referrer !== void 0) {
+          const referrer = init.referrer;
+          if (referrer === "") {
+            request2.referrer = "no-referrer";
           } else {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            let parsedReferrer;
+            try {
+              parsedReferrer = new URL(referrer, baseUrl);
+            } catch (err) {
+              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
+            }
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
+              request2.referrer = "client";
+            } else {
+              request2.referrer = parsedReferrer;
+            }
           }
         }
-        if (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        let mode;
+        if (init.mode !== void 0) {
+          mode = init.mode;
+        } else {
+          mode = fallbackMode;
+        }
+        if (mode === "navigate") {
+          throw webidl.errors.exception({
+            header: "Request constructor",
+            message: "invalid request mode navigate."
+          });
+        }
+        if (mode != null) {
+          request2.mode = mode;
+        }
+        if (init.credentials !== void 0) {
+          request2.credentials = init.credentials;
+        }
+        if (init.cache !== void 0) {
+          request2.cache = init.cache;
+        }
+        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
+          throw new TypeError(
+            "'only-if-cached' can be set only with 'same-origin' mode"
+          );
+        }
+        if (init.redirect !== void 0) {
+          request2.redirect = init.redirect;
+        }
+        if (init.integrity != null) {
+          request2.integrity = String(init.integrity);
+        }
+        if (init.keepalive !== void 0) {
+          request2.keepalive = Boolean(init.keepalive);
+        }
+        if (init.method !== void 0) {
+          let method = init.method;
+          const mayBeNormalized = normalizedMethodRecords[method];
+          if (mayBeNormalized !== void 0) {
+            request2.method = mayBeNormalized;
+          } else {
+            if (!isValidHTTPToken(method)) {
+              throw new TypeError(`'${method}' is not a valid HTTP method.`);
+            }
+            const upperCase = method.toUpperCase();
+            if (forbiddenMethodsSet.has(upperCase)) {
+              throw new TypeError(`'${method}' HTTP method is unsupported.`);
+            }
+            method = normalizedMethodRecordsBase[upperCase] ?? method;
+            request2.method = method;
+          }
+          if (!patchMethodWarning && request2.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"
+            });
+            patchMethodWarning = true;
+          }
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            throw new TypeError(
+              "Failed to construct 'Request': member signal is not of type AbortSignal."
+            );
+          }
+          if (signal.aborted) {
+            ac.abort(signal.reason);
+          } else {
+            this[kAbortController] = ac;
+            const acRef = new WeakRef(ac);
+            const abort = buildAbort(acRef);
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort }, abort);
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersList(this[kHeaders], request2.headersList);
+        setHeadersGuard(this[kHeaders], "request");
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          setHeadersGuard(this[kHeaders], "request-no-cors");
+        }
+        if (initHasKey) {
+          const headersList = getHeadersList(this[kHeaders]);
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
+            }
+            headersList.cookies = headers.cookies;
+          } else {
+            fillHeaders(this[kHeaders], headers);
+          }
+        }
+        const inputBody = input instanceof _Request ? input[kState].body : null;
+        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
+          throw new TypeError("Request with GET/HEAD method cannot have body.");
+        }
+        let initBody = null;
+        if (init.body != null) {
+          const [extractedBody, contentType] = extractBody(
+            init.body,
+            request2.keepalive
+          );
+          initBody = extractedBody;
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
+            this[kHeaders].append("content-type", contentType);
+          }
+        }
+        const inputOrInitBody = initBody ?? inputBody;
+        if (inputOrInitBody != null && inputOrInitBody.source == null) {
+          if (initBody != null && init.duplex == null) {
+            throw new TypeError("RequestInit: duplex option is required when sending a body.");
+          }
+          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
+            throw new TypeError(
+              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
+            );
+          }
+          request2.useCORSPreflightFlag = true;
+        }
+        let finalBody = inputOrInitBody;
+        if (initBody == null && inputBody != null) {
+          if (bodyUnusable(input)) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          const identityTransform = new TransformStream();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
+        }
+        this[kState].body = finalBody;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
-        const responseData = getResponseData2(data);
-        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
-        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
-        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
-        return { statusCode, data, headers, trailers };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
+      }
+      // Returns a Headers object consisting of the headers associated with request.
+      // Note that headers added in the network layer by the user agent will not
+      // be accounted for in this object, e.g., the "Host" header.
+      get headers() {
+        webidl.brandCheck(this, _Request);
+        return this[kHeaders];
+      }
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
+      }
+      // Returns the referrer of request. Its value can be a same-origin URL if
+      // explicitly set in init, the empty string to indicate no referrer, and
+      // "about:client" when defaulting to the global’s default. This is used
+      // during fetching to determine the value of the `Referer` header of the
+      // request being made.
+      get referrer() {
+        webidl.brandCheck(this, _Request);
+        if (this[kState].referrer === "no-referrer") {
+          return "";
         }
-        if (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // Returns the referrer policy associated with request.
+      // This is used during fetching to compute the value of the request’s
+      // referrer.
+      get referrerPolicy() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].referrerPolicy;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // Returns the mode associated with request, which is a string indicating
+      // whether the request will use CORS, or will be restricted to same-origin
+      // URLs.
+      get mode() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].mode;
       }
-      /**
-       * Set default reply headers on the interceptor for subsequent replies
-       */
-      defaultReplyHeaders(headers) {
-        if (typeof headers === "undefined") {
-          throw new InvalidArgumentError("headers must be defined");
-        }
-        this[kDefaultHeaders] = headers;
-        return this;
+      // Returns the credentials mode associated with request,
+      // which is a string indicating whether credentials will be sent with the
+      // request always, never, or only when sent to a same-origin URL.
+      get credentials() {
+        return this[kState].credentials;
       }
-      /**
-       * Set default reply trailers on the interceptor for subsequent replies
-       */
-      defaultReplyTrailers(trailers) {
-        if (typeof trailers === "undefined") {
-          throw new InvalidArgumentError("trailers must be defined");
-        }
-        this[kDefaultTrailers] = trailers;
-        return this;
+      // Returns the cache mode associated with request,
+      // which is a string indicating how the request will
+      // interact with the browser’s cache when fetching.
+      get cache() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].cache;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // Returns the redirect mode associated with request,
+      // which is a string indicating how redirects for the
+      // request will be handled during fetching. A request
+      // will follow redirects by default.
+      get redirect() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].redirect;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns request’s subresource integrity metadata, which is a
+      // cryptographic hash of the resource being fetched. Its value
+      // consists of multiple hashes separated by whitespace. [SRI]
+      get integrity() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].integrity;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // Returns a boolean indicating whether or not request can outlive the
+      // global in which it was created.
+      get keepalive() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].keepalive;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-forward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns the signal associated with request, which is an AbortSignal
+      // object indicating whether or not request has been aborted, and its
+      // abort event handler.
+      get signal() {
+        webidl.brandCheck(this, _Request);
+        return this[kSignal];
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
-    "use strict";
-    var singulars = {
-      pronoun: "it",
-      is: "is",
-      was: "was",
-      this: "this"
-    };
-    var plurals = {
-      pronoun: "they",
-      is: "are",
-      was: "were",
-      this: "these"
-    };
-    module2.exports = class Pluralizer {
-      constructor(singular, plural) {
-        this.singular = singular;
-        this.plural = plural;
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (bodyUnusable(this)) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          let list = dependentControllerMap.get(this.signal);
+          if (list === void 0) {
+            list = /* @__PURE__ */ new Set();
+            dependentControllerMap.set(this.signal, list);
+          }
+          const acRef = new WeakRef(ac);
+          list.add(acRef);
+          util.addAbortListener(
+            ac.signal,
+            buildAbort(acRef)
+          );
+        }
+        return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    mixinBody(Request);
+    function makeRequest(init) {
+      return {
+        method: init.method ?? "GET",
+        localURLsOnly: init.localURLsOnly ?? false,
+        unsafeRequest: init.unsafeRequest ?? false,
+        body: init.body ?? null,
+        client: init.client ?? null,
+        reservedClient: init.reservedClient ?? null,
+        replacesClientId: init.replacesClientId ?? "",
+        window: init.window ?? "client",
+        keepalive: init.keepalive ?? false,
+        serviceWorkers: init.serviceWorkers ?? "all",
+        initiator: init.initiator ?? "",
+        destination: init.destination ?? "",
+        priority: init.priority ?? null,
+        origin: init.origin ?? "client",
+        policyContainer: init.policyContainer ?? "client",
+        referrer: init.referrer ?? "client",
+        referrerPolicy: init.referrerPolicy ?? "",
+        mode: init.mode ?? "no-cors",
+        useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
+        credentials: init.credentials ?? "same-origin",
+        useCredentials: init.useCredentials ?? false,
+        cache: init.cache ?? "default",
+        redirect: init.redirect ?? "follow",
+        integrity: init.integrity ?? "",
+        cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "",
+        parserMetadata: init.parserMetadata ?? "",
+        reloadNavigation: init.reloadNavigation ?? false,
+        historyNavigation: init.historyNavigation ?? false,
+        userActivation: init.userActivation ?? false,
+        taintedOrigin: init.taintedOrigin ?? false,
+        redirectCount: init.redirectCount ?? 0,
+        responseTainting: init.responseTainting ?? "basic",
+        preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
+        done: init.done ?? false,
+        timingAllowFailed: init.timingAllowFailed ?? false,
+        urlList: init.urlList,
+        url: init.urlList[0],
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(newRequest, request2.body);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path16, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path16,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      return newRequest;
+    }
+    function fromInnerRequest(innerRequest, signal, guard) {
+      const request2 = new Request(kConstruct);
+      request2[kState] = innerRequest;
+      request2[kSignal] = signal;
+      request2[kHeaders] = new Headers(kConstruct);
+      setHeadersList(request2[kHeaders], innerRequest.headersList);
+      setHeadersGuard(request2[kHeaders], guard);
+      return request2;
+    }
+    Object.defineProperties(Request.prototype, {
+      method: kEnumerableProperty,
+      url: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      signal: kEnumerableProperty,
+      duplex: kEnumerableProperty,
+      destination: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      isHistoryNavigation: kEnumerableProperty,
+      isReloadNavigation: kEnumerableProperty,
+      keepalive: kEnumerableProperty,
+      integrity: kEnumerableProperty,
+      cache: kEnumerableProperty,
+      credentials: kEnumerableProperty,
+      attribute: kEnumerableProperty,
+      referrerPolicy: kEnumerableProperty,
+      referrer: kEnumerableProperty,
+      mode: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Request",
+        configurable: true
+      }
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, argument);
+      }
+      if (V instanceof Request) {
+        return webidl.converters.Request(V, prefix, argument);
       }
+      return webidl.converters.USVString(V, prefix, argument);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    webidl.converters.AbortSignal = webidl.interfaceConverter(
+      AbortSignal
+    );
+    webidl.converters.RequestInit = webidl.dictionaryConverter([
+      {
+        key: "method",
+        converter: webidl.converters.ByteString
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      },
+      {
+        key: "body",
+        converter: webidl.nullableConverter(
+          webidl.converters.BodyInit
+        )
+      },
+      {
+        key: "referrer",
+        converter: webidl.converters.USVString
+      },
+      {
+        key: "referrerPolicy",
+        converter: webidl.converters.DOMString,
+        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
+        allowedValues: referrerPolicy
+      },
+      {
+        key: "mode",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#concept-request-mode
+        allowedValues: requestMode
+      },
+      {
+        key: "credentials",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcredentials
+        allowedValues: requestCredentials
+      },
+      {
+        key: "cache",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcache
+        allowedValues: requestCache
+      },
+      {
+        key: "redirect",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestredirect
+        allowedValues: requestRedirect
+      },
+      {
+        key: "integrity",
+        converter: webidl.converters.DOMString
+      },
+      {
+        key: "keepalive",
+        converter: webidl.converters.boolean
+      },
+      {
+        key: "signal",
+        converter: webidl.nullableConverter(
+          (signal) => webidl.converters.AbortSignal(
+            signal,
+            "RequestInit",
+            "signal",
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib2 = require("node:zlib");
+    var {
+      bytesMatch,
+      makePolicyContainer,
+      clonePolicyContainer,
+      requestBadPort,
+      TAOCheck,
+      appendRequestOriginHeader,
+      responseLocationURL,
+      requestCurrentURL,
+      setRequestReferrerPolicyOnRedirect,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      createOpaqueTimingInfo,
+      appendFetchMetadata,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      determineRequestsReferrer,
+      coarsenedSharedCurrentTime,
+      createDeferredPromise,
+      isBlobLike,
+      sameOrigin,
+      isCancelled,
+      isAborted,
+      isErrorLike,
+      fullyReadBody,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlIsHttpHttpsScheme,
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
+    } = require_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable: Readable2, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    var { STATUS_CODES } = require("node:http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
+    var resolveObjectURL;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        return dispatcher;
-      }
-      dispatch(opts, handler2) {
-        this.get(opts.origin);
-        return this[kAgent].dispatch(opts, handler2);
-      }
-      async close() {
-        await this[kAgent].close();
-        this[kClients].clear();
-      }
-      deactivate() {
-        this[kIsMockActive] = false;
-      }
-      activate() {
-        this[kIsMockActive] = true;
-      }
-      enableNetConnect(matcher) {
-        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
-          if (Array.isArray(this[kNetConnect])) {
-            this[kNetConnect].push(matcher);
-          } else {
-            this[kNetConnect] = [matcher];
-          }
-        } else if (typeof matcher === "undefined") {
-          this[kNetConnect] = true;
-        } else {
-          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      disableNetConnect() {
-        this[kNetConnect] = false;
-      }
-      // This is required to bypass issues caused by using global symbols - see:
-      // https://github.com/nodejs/undici/issues/1447
-      get isMockActive() {
-        return this[kIsMockActive];
+    };
+    function handleFetchDone(response) {
+      finalizeAndReportTiming(response, "fetch");
+    }
+    function fetch(input, init = void 0) {
+      webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
+      let p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      let responseObject = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return;
+        }
+        if (response.type === "error") {
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
+      };
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: requestObject[kDispatcher]
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
+        return;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
-        const pending = this.pendingInterceptors();
-        if (pending.length === 0) {
-          return;
-        }
-        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
-        throw new UndiciError(`
-${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
-
-${pendingInterceptorsFormatter.format(pending)}
-`.trim());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        if (opts.auth && opts.token) {
-          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
-        } else if (opts.auth) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
-        } else if (opts.token) {
-          this[kProxyHeaders]["proxy-authorization"] = opts.token;
-        } else if (username && password) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
-        }
-        const connect = buildConnector({ ...opts.proxyTls });
-        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).destroy();
-                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
-              }
-              if (opts2.protocol !== "https:") {
-                callback(null, socket);
-                return;
-              }
-              let servername;
-              if (this[kRequestTls]) {
-                servername = this[kRequestTls].servername;
-              } else {
-                servername = opts2.servername;
-              }
-              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
-            } catch (err) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher = getGlobalDispatcher()
+      // undici
+    }) {
+      assert(dispatcher);
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currentTime
+      });
+      const fetchParams = {
+        controller: new Fetch(dispatcher),
+        request: request2,
+        timingInfo,
+        processRequestBodyChunkLength,
+        processRequestEndOfBody,
+        processResponse,
+        processResponseConsumeBody,
+        processResponseEndOfBody,
+        taskDestination,
+        crossOriginIsolatedCapability
+      };
+      assert(!request2.body || request2.body.stream);
+      if (request2.window === "client") {
+        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        return headersPair;
       }
-      return headers;
-    }
-    function throwIfProxyAuthIsSent(headers) {
-      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
-      if (existProxyAuth) {
-        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    var RetryHandler = class _RetryHandler {
-      constructor(opts, handlers) {
-        const { retryOptions, ...dispatchOpts } = opts;
-        const {
-          // Retry scoped
-          retry: retryFn,
-          maxRetries,
-          maxTimeout,
-          minTimeout,
-          timeoutFactor,
-          // Response scoped
-          methods,
-          errorCodes,
-          retryAfter,
-          statusCodes
-        } = retryOptions ?? {};
-        this.dispatch = handlers.dispatch;
-        this.handler = handlers.handler;
-        this.opts = dispatchOpts;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: minTimeout ?? 500,
-          // .5s
-          timeoutFactor: timeoutFactor ?? 2,
-          maxRetries: maxRetries ?? 5,
-          // What errors we should retry
-          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
-          // Indicates which errors to retry
-          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
-          // List of errors to retry
-          errorCodes: errorCodes ?? [
-            "ECONNRESET",
-            "ECONNREFUSED",
-            "ENOTFOUND",
-            "ENETDOWN",
-            "ENETUNREACH",
-            "EHOSTDOWN",
-            "EHOSTUNREACH",
-            "EPIPE"
-          ]
-        };
-        this.retryCount = 0;
-        this.start = 0;
-        this.end = null;
-        this.etag = null;
-        this.resume = null;
-        this.handler.onConnect((reason) => {
-          this.aborted = true;
-          if (this.abort) {
-            this.abort(reason);
-          } else {
-            this.reason = reason;
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
+      }
+      if (request2.priority === null) {
+      }
+      if (subresourceSet.has(request2.destination)) {
+      }
+      mainFetch(fetchParams).catch((err) => {
+        fetchParams.controller.terminate(err);
+      });
+      return fetchParams.controller;
+    }
+    async function mainFetch(fetchParams, recursive = false) {
+      const request2 = fetchParams.request;
+      let response = null;
+      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
+        response = makeNetworkError("local URLs only");
+      }
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
+      }
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
+      }
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
+      }
+      if (response === null) {
+        response = await (async () => {
+          const currentURL = requestCurrentURL(request2);
+          if (
+            // - request’s current URL’s origin is same origin with request’s origin,
+            //   and request’s response tainting is "basic"
+            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
+            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
+            (request2.mode === "navigate" || request2.mode === "websocket")
+          ) {
+            request2.responseTainting = "basic";
+            return await schemeFetch(fetchParams);
           }
-        });
+          if (request2.mode === "same-origin") {
+            return makeNetworkError('request mode cannot be "same-origin"');
+          }
+          if (request2.mode === "no-cors") {
+            if (request2.redirect !== "follow") {
+              return makeNetworkError(
+                'redirect mode cannot be "follow" for "no-cors" request'
+              );
+            }
+            request2.responseTainting = "opaque";
+            return await schemeFetch(fetchParams);
+          }
+          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
+            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          }
+          request2.responseTainting = "cors";
+          return await httpFetch(fetchParams);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        if (request2.responseTainting === "basic") {
+          response = filterResponse(response, "basic");
+        } else if (request2.responseTainting === "cors") {
+          response = filterResponse(response, "cors");
+        } else if (request2.responseTainting === "opaque") {
+          response = filterResponse(response, "opaque");
         } else {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
+      }
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) {
+        response = internalResponse = makeNetworkError();
+      }
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
+      }
+      if (request2.integrity) {
+        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
+        if (request2.responseTainting === "opaque" || response.body == null) {
+          processBodyError(response.error);
           return;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          return;
+        const processBody = (bytes) => {
+          if (!bytesMatch(bytes, request2.integrity)) {
+            processBodyError("integrity mismatch");
+            return;
+          }
+          response.body = safelyExtractBody(bytes)[0];
+          fetchFinale(fetchParams, response);
+        };
+        await fullyReadBody(response.body, processBody, processBodyError);
+      } else {
+        fetchFinale(fetchParams, response);
+      }
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      }
+      const { request: request2 } = fetchParams;
+      const { protocol: scheme } = requestCurrentURL(request2);
+      switch (scheme) {
+        case "about:": {
+          return Promise.resolve(makeNetworkError("about scheme is not supported"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        case "blob:": {
+          if (!resolveObjectURL) {
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = blob.type;
+          if (!request2.headersList.contains("range", true)) {
+            const bodyWithType = extractBody(blob);
+            response.statusText = "OK";
+            response.body = bodyWithType[0];
+            response.headersList.set("content-length", serializedFullLength, true);
+            response.headersList.set("content-type", type2, true);
+          } else {
+            response.rangeRequested = true;
+            const rangeHeader = request2.headersList.get("range", true);
+            const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
+            if (rangeValue === "failure") {
+              return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+            }
+            let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
+            if (rangeStart === null) {
+              rangeStart = fullLength - rangeEnd;
+              rangeEnd = rangeStart + rangeEnd - 1;
+            } else {
+              if (rangeStart >= fullLength) {
+                return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
+              }
+              if (rangeEnd === null || rangeEnd >= fullLength) {
+                rangeEnd = fullLength - 1;
+              }
+            }
+            const slicedBlob = blob.slice(rangeStart, rangeEnd, type2);
+            const slicedBodyWithType = extractBody(slicedBlob);
+            response.body = slicedBodyWithType[0];
+            const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
+            const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
+            response.status = 206;
+            response.statusText = "Partial Content";
+            response.headersList.set("content-length", serializedSlicedLength, true);
+            response.headersList.set("content-type", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        case "data:": {
+          const currentURL = requestCurrentURL(request2);
+          const dataURLStruct = dataURLProcessor(currentURL);
+          if (dataURLStruct === "failure") {
+            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+          }
+          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
+          return Promise.resolve(makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-type", { name: "Content-Type", value: mimeType }]
+            ],
+            body: safelyExtractBody(dataURLStruct.body)[0]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        case "file:": {
+          return Promise.resolve(makeNetworkError("not implemented... yet..."));
+        }
+        case "http:":
+        case "https:": {
+          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        }
+        default: {
+          return Promise.resolve(makeNetworkError("unknown scheme"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
+      }
+    }
+    function fetchFinale(fetchParams, response) {
+      let timingInfo = fetchParams.timingInfo;
+      const processResponseEndOfBody = () => {
+        const unsafeEndTime = Date.now();
+        if (fetchParams.request.destination === "document") {
+          fetchParams.controller.fullTimingInfo = timingInfo;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = contentRange;
-          assert(this.start === start, "content-range mismatch");
-          assert(this.end == null || this.end === end, "content-range mismatch");
-          this.resume = resume;
-          return true;
-        }
-        if (this.end == null) {
-          if (statusCode === 206) {
-            const range = parseRangeHeader(headers["content-range"]);
-            if (range == null) {
-              return this.handler.onHeaders(
-                statusCode,
-                rawHeaders,
-                resume,
-                statusMessage
-              );
+          let responseStatus = 0;
+          if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
+            responseStatus = response.status;
+            const mimeType = extractMimeType(response.headersList);
+            if (mimeType !== "failure") {
+              bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== end,
-              "invalid content-length"
-            );
-            this.start = start;
-            this.end = end;
           }
-          if (this.end == null) {
-            const contentLength = headers["content-length"];
-            this.end = contentLength != null ? Number(contentLength) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          assert(Number.isFinite(this.start));
-          assert(
-            this.end == null || Number.isFinite(this.end),
-            "invalid content-length"
-          );
-          this.resume = resume;
-          this.etag = headers.etag != null ? headers.etag : null;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        const processResponseEndOfBodyTask = () => {
+          fetchParams.request.done = true;
+          if (fetchParams.processResponseEndOfBody != null) {
+            queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+          }
+          if (fetchParams.request.initiatorType != null) {
+            fetchParams.controller.reportTimingSteps();
+          }
+        };
+        queueMicrotask(() => processResponseEndOfBodyTask());
+      };
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            opts: { retryOptions: this.retryOpts, ...this.opts }
-          },
-          onRetry.bind(this)
-        );
-        function onRetry(err2) {
-          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
-            return this.handler.onError(err2);
-          }
-          if (this.start !== 0) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
+        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
+          return makeNetworkError("cors failure");
+        }
+        if (TAOCheck(request2, response) === "failure") {
+          request2.timingAllowFailed = true;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy(void 0, false);
+        }
+        if (request2.redirect === "error") {
+          response = makeNetworkError("unexpected redirect");
+        } else if (request2.redirect === "manual") {
+          response = actualResponse;
+        } else if (request2.redirect === "follow") {
+          response = await httpRedirectFetch(fetchParams, response);
+        } else {
+          assert(false);
+        }
+      }
+      response.timingInfo = timingInfo;
+      return response;
     }
-    function getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    function httpRedirectFetch(fetchParams, response) {
+      const request2 = fetchParams.request;
+      const actualResponse = response.internalResponse ? response.internalResponse : response;
+      let locationURL;
+      try {
+        locationURL = responseLocationURL(
+          actualResponse,
+          requestCurrentURL(request2).hash
+        );
+        if (locationURL == null) {
+          return response;
+        }
+      } catch (err) {
+        return Promise.resolve(makeNetworkError(err));
+      }
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
+      }
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
+      }
+      request2.redirectCount += 1;
+      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
+        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
+      }
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
+      }
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
+      }
+      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
+        request2.method = "GET";
+        request2.body = null;
+        for (const headerName of requestBodyHeader) {
+          request2.headersList.delete(headerName);
+        }
+      }
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization", true);
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
+      }
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
+      }
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
+      }
+      request2.urlList.push(locationURL);
+      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
+      return mainFetch(fetchParams, true);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
+      const request2 = fetchParams.request;
+      let httpFetchParams = null;
+      let httpRequest = null;
+      let response = null;
+      const httpCache = null;
+      const revalidatingFlag = false;
+      if (request2.window === "no-window" && request2.redirect === "error") {
+        httpFetchParams = fetchParams;
+        httpRequest = request2;
+      } else {
+        httpRequest = cloneRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
+      const contentLength = httpRequest.body ? httpRequest.body.length : null;
+      let contentLengthHeaderValue = null;
+      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
+        contentLengthHeaderValue = "0";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
+        httpRequest.cache = "no-store";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
-    function isHTTPWhiteSpaceCharCode(code) {
-      return code === 10 || code === 13 || code === 9 || code === 32;
-    }
-    function headerValueNormalize(potentialValue) {
-      let i = 0;
-      let j = potentialValue.length;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
-      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
-    }
-    function fill(headers, object) {
-      if (Array.isArray(object)) {
-        for (let i = 0; i < object.length; ++i) {
-          const header = object[i];
-          if (header.length !== 2) {
-            throw webidl.errors.exception({
-              header: "Headers constructor",
-              message: `expected name/value pair to be length 2, found ${header.length}.`
-            });
-          }
-          appendHeader(headers, header[0], header[1]);
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
+        httpRequest.headersList.append("cache-control", "max-age=0", true);
+      }
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
         }
-      } else if (typeof object === "object" && object !== null) {
-        const keys = Object.keys(object);
-        for (let i = 0; i < keys.length; ++i) {
-          appendHeader(headers, keys[i], object[keys[i]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } else {
-        throw webidl.errors.conversionFailed({
-          prefix: "Headers constructor",
-          argument: "Argument 1",
-          types: ["sequence>", "record"]
-        });
-      }
-    }
-    function appendHeader(headers, name, value) {
-      value = headerValueNormalize(value);
-      if (!isValidHeaderName(name)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value: name,
-          type: "header name"
-        });
-      } else if (!isValidHeaderValue(value)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value,
-          type: "header value"
-        });
       }
-      if (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    var HeadersList = class _HeadersList {
-      /** @type {[string, string][]|null} */
-      cookies = null;
-      constructor(init) {
-        if (init instanceof _HeadersList) {
-          this[kHeadersMap] = new Map(init[kHeadersMap]);
-          this[kHeadersSortedMap] = init[kHeadersSortedMap];
-          this.cookies = init.cookies === null ? null : [...init.cookies];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        if (exists) {
-          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
-          this[kHeadersMap].set(lowercaseName, {
-            name: exists.name,
-            value: `${exists.value}${delimiter}${value}`
-          });
-        } else {
-          this[kHeadersMap].set(lowercaseName, { name, value });
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      if (
+        // response’s status is 421
+        response.status === 421 && // isNewConnectionFetch is false
+        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
+        (request2.body == null || request2.body.source != null)
+      ) {
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
+        fetchParams.controller.connection.destroy();
+        response = await httpNetworkOrCacheFetch(
+          fetchParams,
+          isAuthenticationFetch,
+          true
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      return response;
+    }
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err, abort = true) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream2 = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream: stream2, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
+          if (isErrored(stream2)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url2 = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve8, reject) => agent.dispatch(
+          {
+            path: url2.pathname + url2.search,
+            origin: url2.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable2({ read: resume });
+              const decoders = [];
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib2.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib2.createBrotliDecompress({
+                      flush: zlib2.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib2.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve8({
+                status,
+                statusText,
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              if (fetchParams.controller.onAborted) {
+                fetchParams.controller.off("terminated", fetchParams.controller.onAborted);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, rawHeaders, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              resolve8({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url2, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url2 = webidl.converters.USVString(url2);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url2, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url2), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        initializeResponse(this, init, bodyWithType);
-      }
-      // Returns response’s type, e.g., "cors".
-      get type() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].type;
-      }
-      // Returns response’s URL, if it has one; otherwise the empty string.
-      get url() {
-        webidl.brandCheck(this, _Response);
-        const urlList = this[kState].urlList;
-        const url2 = urlList[urlList.length - 1] ?? null;
-        if (url2 === null) {
-          return "";
-        }
-        return URLSerializer(url2, true);
-      }
-      // Returns whether response was obtained through a redirect.
-      get redirected() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].urlList.length > 1;
-      }
-      // Returns response’s status.
-      get status() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status;
-      }
-      // Returns whether response’s status is an ok status.
-      get ok() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status >= 200 && this[kState].status <= 299;
-      }
-      // Returns response’s status message.
-      get statusText() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].statusText;
-      }
-      // Returns response’s headers as Headers.
-      get headers() {
-        webidl.brandCheck(this, _Response);
-        return this[kHeaders];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    mixinBody(Response);
-    Object.defineProperties(Response.prototype, {
-      type: kEnumerableProperty,
-      url: kEnumerableProperty,
-      status: kEnumerableProperty,
-      ok: kEnumerableProperty,
-      redirected: kEnumerableProperty,
-      statusText: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Response",
-        configurable: true
-      }
-    });
-    Object.defineProperties(Response, {
-      json: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      error: kEnumerableProperty
-    });
-    function cloneResponse(response) {
-      if (response.internalResponse) {
-        return filterResponse(
-          cloneResponse(response.internalResponse),
-          response.type
-        );
-      }
-      const newResponse = makeResponse({ ...response, body: null });
-      if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
-      }
-      return newResponse;
-    }
-    function makeResponse(init) {
-      return {
-        aborted: false,
-        rangeRequested: false,
-        timingAllowPassed: false,
-        requestIncludesCredentials: false,
-        type: "default",
-        status: 200,
-        timingInfo: null,
-        cacheState: "",
-        statusText: "",
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
-      };
-    }
-    function makeNetworkError(reason) {
-      const isError = isErrorLike(reason);
-      return makeResponse({
-        type: "error",
-        status: 0,
-        error: isError ? reason : new Error(reason ? String(reason) : reason),
-        aborted: reason && reason.name === "AbortError"
-      });
-    }
-    function makeFilteredResponse(response, state) {
-      state = {
-        internalResponse: response,
-        ...state
-      };
-      return new Proxy(response, {
-        get(target, p) {
-          return p in state ? state[p] : target[p];
-        },
-        set(target, p, value) {
-          assert(!(p in state));
-          target[p] = value;
-          return true;
-        }
-      });
-    }
-    function filterResponse(response, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "opaqueredirect") {
-        return makeFilteredResponse(response, {
-          type: "opaqueredirect",
-          status: 0,
-          statusText: "",
-          headersList: [],
-          body: null
-        });
-      } else {
-        assert(false);
-      }
-    }
-    function makeAppropriateNetworkError(fetchParams, err = null) {
-      assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      if ("statusText" in init && init.statusText != null) {
-        if (!isValidReasonPhrase(String(init.statusText))) {
-          throw new TypeError("Invalid statusText");
-        }
-      }
-      if ("status" in init && init.status != null) {
-        response[kState].status = init.status;
-      }
-      if ("statusText" in init && init.statusText != null) {
-        response[kState].statusText = init.statusText;
+    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
+      {
+        key: "lengthComputable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "loaded",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "total",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      switch (label.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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    webidl.converters.ResponseInit = webidl.dictionaryConverter([
-      {
-        key: "status",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 200
-      },
-      {
-        key: "statusText",
-        converter: webidl.converters.ByteString,
-        defaultValue: ""
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      }
-    ]);
     module2.exports = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream2 = blob.stream();
+      const reader = stream2.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
           try {
-            parsedURL = new URL(input, baseUrl);
-          } catch (err) {
-            throw new TypeError("Failed to parse URL from " + input, { cause: err });
-          }
-          if (parsedURL.username || parsedURL.password) {
-            throw new TypeError(
-              "Request cannot be constructed from a URL that includes credentials: " + input
-            );
-          }
-          request2 = makeRequest({ urlList: [parsedURL] });
-          fallbackMode = "cors";
-        } else {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "no-window";
-        }
-        request2 = makeRequest({
-          // URL request’s URL.
-          // undici implementation note: this is set as the first item in request's urlList in makeRequest
-          // method request’s method.
-          method: request2.method,
-          // header list A copy of request’s header list.
-          // undici implementation note: headersList is cloned in makeRequest
-          headersList: request2.headersList,
-          // unsafe-request flag Set.
-          unsafeRequest: request2.unsafeRequest,
-          // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // priority request’s priority.
-          priority: request2.priority,
-          // origin request’s origin. The propagation of the origin is only significant for navigation requests
-          // being handled by a service worker. In this scenario a request can have an origin that is different
-          // from the current client.
-          origin: request2.origin,
-          // referrer request’s referrer.
-          referrer: request2.referrer,
-          // referrer policy request’s referrer policy.
-          referrerPolicy: request2.referrerPolicy,
-          // mode request’s mode.
-          mode: request2.mode,
-          // credentials mode request’s credentials mode.
-          credentials: request2.credentials,
-          // cache mode request’s cache mode.
-          cache: request2.cache,
-          // redirect mode request’s redirect mode.
-          redirect: request2.redirect,
-          // integrity metadata request’s integrity metadata.
-          integrity: request2.integrity,
-          // keepalive request’s keepalive.
-          keepalive: request2.keepalive,
-          // reload-navigation flag request’s reload-navigation flag.
-          reloadNavigation: request2.reloadNavigation,
-          // history-navigation flag request’s history-navigation flag.
-          historyNavigation: request2.historyNavigation,
-          // URL list A clone of request’s URL list.
-          urlList: [...request2.urlList]
-        });
-        const initHasKey = Object.keys(init).length !== 0;
-        if (initHasKey) {
-          if (request2.mode === "navigate") {
-            request2.mode = "same-origin";
-          }
-          request2.reloadNavigation = false;
-          request2.historyNavigation = false;
-          request2.origin = "client";
-          request2.referrer = "client";
-          request2.referrerPolicy = "";
-          request2.url = request2.urlList[request2.urlList.length - 1];
-          request2.urlList = [request2.url];
-        }
-        if (init.referrer !== void 0) {
-          const referrer = init.referrer;
-          if (referrer === "") {
-            request2.referrer = "no-referrer";
-          } else {
-            let parsedReferrer;
-            try {
-              parsedReferrer = new URL(referrer, baseUrl);
-            } catch (err) {
-              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
-            }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        if (init.referrerPolicy !== void 0) {
-          request2.referrerPolicy = init.referrerPolicy;
-        }
-        let mode;
-        if (init.mode !== void 0) {
-          mode = init.mode;
-        } else {
-          mode = fallbackMode;
-        }
-        if (mode === "navigate") {
-          throw webidl.errors.exception({
-            header: "Request constructor",
-            message: "invalid request mode navigate."
-          });
-        }
-        if (mode != null) {
-          request2.mode = mode;
-        }
-        if (init.credentials !== void 0) {
-          request2.credentials = init.credentials;
-        }
-        if (init.cache !== void 0) {
-          request2.cache = init.cache;
-        }
-        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
-          throw new TypeError(
-            "'only-if-cached' can be set only with 'same-origin' mode"
-          );
-        }
-        if (init.redirect !== void 0) {
-          request2.redirect = init.redirect;
-        }
-        if (init.integrity != null) {
-          request2.integrity = String(init.integrity);
-        }
-        if (init.keepalive !== void 0) {
-          request2.keepalive = Boolean(init.keepalive);
-        }
-        if (init.method !== void 0) {
-          let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            throw new TypeError(
-              "Failed to construct 'Request': member signal is not of type AbortSignal."
-            );
-          }
-          if (signal.aborted) {
-            ac.abort(signal.reason);
-          } else {
-            this[kAbortController] = ac;
-            const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            isFirstChunk = false;
+            if (!done && types.isUint8Array(value)) {
+              bytes.push(value);
+              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
+                fr[kLastProgressEventFired] = Date.now();
+                queueMicrotask(() => {
+                  fireAProgressEvent("progress", fr);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        const inputBody = input instanceof _Request ? input[kState].body : null;
-        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
-          throw new TypeError("Request with GET/HEAD method cannot have body.");
-        }
-        let initBody = null;
-        if (init.body != null) {
-          const [extractedBody, contentType] = extractBody(
-            init.body,
-            request2.keepalive
-          );
-          initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        const inputOrInitBody = initBody ?? inputBody;
-        if (inputOrInitBody != null && inputOrInitBody.source == null) {
-          if (initBody != null && init.duplex == null) {
-            throw new TypeError("RequestInit: duplex option is required when sending a body.");
-          }
-          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
-            throw new TypeError(
-              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          inputBody.stream.pipeThrough(identityTransform);
-          finalBody = {
-            source: inputBody.source,
-            length: inputBody.length,
-            stream: identityTransform.readable
-          };
-        }
-        this[kState].body = finalBody;
-      }
-      // Returns request’s HTTP method, which is "GET" by default.
-      get method() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].method;
-      }
-      // Returns the URL of request as a string.
-      get url() {
-        webidl.brandCheck(this, _Request);
-        return URLSerializer(this[kState].url);
-      }
-      // Returns a Headers object consisting of the headers associated with request.
-      // Note that headers added in the network layer by the user agent will not
-      // be accounted for in this object, e.g., the "Host" header.
-      get headers() {
-        webidl.brandCheck(this, _Request);
-        return this[kHeaders];
-      }
-      // Returns the kind of resource requested by request, e.g., "document"
-      // or "script".
-      get destination() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].destination;
-      }
-      // Returns the referrer of request. Its value can be a same-origin URL if
-      // explicitly set in init, the empty string to indicate no referrer, and
-      // "about:client" when defaulting to the global’s default. This is used
-      // during fetching to determine the value of the `Referer` header of the
-      // request being made.
-      get referrer() {
-        webidl.brandCheck(this, _Request);
-        if (this[kState].referrer === "no-referrer") {
-          return "";
-        }
-        if (this[kState].referrer === "client") {
-          return "about:client";
+          return decode(bytes, encoding);
         }
-        return this[kState].referrer.toString();
-      }
-      // Returns the referrer policy associated with request.
-      // This is used during fetching to compute the value of the request’s
-      // referrer.
-      get referrerPolicy() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].referrerPolicy;
-      }
-      // Returns the mode associated with request, which is a string indicating
-      // whether the request will use CORS, or will be restricted to same-origin
-      // URLs.
-      get mode() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].mode;
-      }
-      // Returns the credentials mode associated with request,
-      // which is a string indicating whether credentials will be sent with the
-      // request always, never, or only when sent to a same-origin URL.
-      get credentials() {
-        return this[kState].credentials;
-      }
-      // Returns the cache mode associated with request,
-      // which is a string indicating how the request will
-      // interact with the browser’s cache when fetching.
-      get cache() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].cache;
-      }
-      // Returns the redirect mode associated with request,
-      // which is a string indicating how redirects for the
-      // request will be handled during fetching. A request
-      // will follow redirects by default.
-      get redirect() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].redirect;
-      }
-      // Returns request’s subresource integrity metadata, which is a
-      // cryptographic hash of the resource being fetched. Its value
-      // consists of multiple hashes separated by whitespace. [SRI]
-      get integrity() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].integrity;
-      }
-      // Returns a boolean indicating whether or not request can outlive the
-      // global in which it was created.
-      get keepalive() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].keepalive;
-      }
-      // Returns a boolean indicating whether or not request is for a reload
-      // navigation.
-      get isReloadNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].reloadNavigation;
-      }
-      // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
-      get isHistoryNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].historyNavigation;
-      }
-      // Returns the signal associated with request, which is an AbortSignal
-      // object indicating whether or not request has been aborted, and its
-      // abort event handler.
-      get signal() {
-        webidl.brandCheck(this, _Request);
-        return this[kSignal];
-      }
-      get body() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].body ? this[kState].body.stream : null;
-      }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Request);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
-      }
-      get duplex() {
-        webidl.brandCheck(this, _Request);
-        return "half";
-      }
-      // Returns a clone of request.
-      clone() {
-        webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    function decode(ioQueue, encoding) {
+      const bytes = combineByteSequences(ioQueue);
+      const BOMEncoding = BOMSniffing(bytes);
+      let slice = 0;
+      if (BOMEncoding !== null) {
+        encoding = BOMEncoding;
+        slice = BOMEncoding === "UTF-8" ? 3 : 2;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    Object.defineProperties(Request.prototype, {
-      method: kEnumerableProperty,
-      url: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      signal: kEnumerableProperty,
-      duplex: kEnumerableProperty,
-      destination: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      isHistoryNavigation: kEnumerableProperty,
-      isReloadNavigation: kEnumerableProperty,
-      keepalive: kEnumerableProperty,
-      integrity: kEnumerableProperty,
-      cache: kEnumerableProperty,
-      credentials: kEnumerableProperty,
-      attribute: kEnumerableProperty,
-      referrerPolicy: kEnumerableProperty,
-      referrer: kEnumerableProperty,
-      mode: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Request",
-        configurable: true
-      }
-    });
-    webidl.converters.Request = webidl.interfaceConverter(
-      Request
-    );
-    webidl.converters.RequestInfo = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    function BOMSniffing(ioQueue) {
+      const [a, b, c] = ioQueue;
+      if (a === 239 && b === 187 && c === 191) {
+        return "UTF-8";
+      } else if (a === 254 && b === 255) {
+        return "UTF-16BE";
+      } else if (a === 255 && b === 254) {
+        return "UTF-16LE";
       }
-      return webidl.converters.USVString(V);
+      return null;
+    }
+    function combineByteSequences(sequences) {
+      const size = sequences.reduce((a, b) => {
+        return a + b.byteLength;
+      }, 0);
+      let offset = 0;
+      return sequences.reduce((a, b) => {
+        a.set(b, offset);
+        offset += b.byteLength;
+        return a;
+      }, new Uint8Array(size));
+    }
+    module2.exports = {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
     };
-    webidl.converters.AbortSignal = webidl.interfaceConverter(
-      AbortSignal
-    );
-    webidl.converters.RequestInit = webidl.dictionaryConverter([
-      {
-        key: "method",
-        converter: webidl.converters.ByteString
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      },
-      {
-        key: "body",
-        converter: webidl.nullableConverter(
-          webidl.converters.BodyInit
-        )
-      },
-      {
-        key: "referrer",
-        converter: webidl.converters.USVString
-      },
-      {
-        key: "referrerPolicy",
-        converter: webidl.converters.DOMString,
-        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
-        allowedValues: referrerPolicy
-      },
-      {
-        key: "mode",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#concept-request-mode
-        allowedValues: requestMode
-      },
-      {
-        key: "credentials",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcredentials
-        allowedValues: requestCredentials
-      },
-      {
-        key: "cache",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcache
-        allowedValues: requestCache
-      },
-      {
-        key: "redirect",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestredirect
-        allowedValues: requestRedirect
-      },
-      {
-        key: "integrity",
-        converter: webidl.converters.DOMString
-      },
-      {
-        key: "keepalive",
-        converter: webidl.converters.boolean
-      },
-      {
-        key: "signal",
-        converter: webidl.nullableConverter(
-          (signal) => webidl.converters.AbortSignal(
-            signal,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib2 = require("zlib");
-    var {
-      bytesMatch,
-      makePolicyContainer,
-      clonePolicyContainer,
-      requestBadPort,
-      TAOCheck,
-      appendRequestOriginHeader,
-      responseLocationURL,
-      requestCurrentURL,
-      setRequestReferrerPolicyOnRedirect,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      createOpaqueTimingInfo,
-      appendFetchMetadata,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      determineRequestsReferrer,
-      coarsenedSharedCurrentTime,
-      createDeferredPromise,
-      isBlobLike,
-      sameOrigin,
-      isCancelled,
-      isAborted,
-      isErrorLike,
-      fullyReadBody,
-      readableStreamClose,
-      isomorphicEncode,
-      urlIsLocal,
-      urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable: Readable2, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsDataText
+       * @param {import('buffer').Blob} blob
+       * @param {string?} encoding
+       */
+      readAsText(blob, encoding = void 0) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
+        }
+        readOperation(this, blob, "Text", encoding);
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
           return;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
+       */
+      get readyState() {
+        webidl.brandCheck(this, _FileReader);
+        switch (this[kState]) {
+          case "empty":
+            return this.EMPTY;
+          case "loading":
+            return this.LOADING;
+          case "done":
+            return this.DONE;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
+      }
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
+      }
+      set onloadend(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadend) {
+          this.removeEventListener("loadend", this[kEvents].loadend);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].loadend = fn;
+          this.addEventListener("loadend", fn);
+        } else {
+          this[kEvents].loadend = null;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      set onerror(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].error) {
+          this.removeEventListener("error", this[kEvents].error);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      get onprogress() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].progress;
+      }
+      set onprogress(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].progress) {
+          this.removeEventListener("progress", this[kEvents].progress);
         }
-        if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      set onabort(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].abort) {
+          this.removeEventListener("abort", this[kEvents].abort);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].abort = fn;
+          this.addEventListener("abort", fn);
+        } else {
+          this[kEvents].abort = null;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
+    FileReader.LOADING = FileReader.prototype.LOADING = 1;
+    FileReader.DONE = FileReader.prototype.DONE = 2;
+    Object.defineProperties(FileReader.prototype, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors,
+      readAsArrayBuffer: kEnumerableProperty,
+      readAsBinaryString: kEnumerableProperty,
+      readAsText: kEnumerableProperty,
+      readAsDataURL: kEnumerableProperty,
+      abort: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      result: kEnumerableProperty,
+      error: kEnumerableProperty,
+      onloadstart: kEnumerableProperty,
+      onprogress: kEnumerableProperty,
+      onload: kEnumerableProperty,
+      onabort: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onloadend: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FileReader",
+        writable: false,
+        enumerable: false,
+        configurable: true
+      }
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
+    module2.exports = {
+      FileReader
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    function getFieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (isValidHeaderName(value)) {
+          values.push(value);
+        }
       }
+      return values;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    var assert = require("node:assert");
+    var Cache = class _Cache {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
+       * @type {requestResponseList}
+       */
+      #relevantRequestResponseList;
+      constructor() {
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
+        }
+        webidl.util.markAsUncloneable(this);
+        this.#relevantRequestResponseList = arguments[1];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.match";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        const p = this.#internalMatchAll(request2, options, 1);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
+      }
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.matchAll";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        return this.#internalMatchAll(request2, options);
+      }
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.add";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
+      }
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const responsePromises = [];
+        const requestList = [];
+        for (let request2 of requests) {
+          if (request2 === void 0) {
+            throw webidl.errors.conversionFailed({
+              prefix,
+              argument: "Argument 1",
+              types: ["undefined is not allowed"]
+            });
+          }
+          request2 = webidl.converters.RequestInfo(request2);
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme when method is not GET."
+            });
+          }
+        }
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme."
+            });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
+        }
+        const p = Promise.all(responsePromises);
+        const responses = await p;
+        const operations = [];
+        let index = 0;
+        for (const response of responses) {
+          const operation = {
+            type: "put",
+            // 7.3.2
+            request: requestList[index],
+            // 7.3.3
+            response
+            // 7.3.4
+          };
+          operations.push(operation);
+          index++;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(void 0);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.put";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        response = webidl.converters.Response(response, prefix, "response");
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
+        }
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Expected an http/s scheme when method is not GET"
+          });
+        }
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Got 206 status"
+          });
+        }
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: "Got * vary field value"
+              });
+            }
+          }
+        }
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Response body is locked or disturbed"
+          });
+        }
+        const clonedResponse = cloneResponse(innerResponse);
+        const bodyReadPromise = createDeferredPromise();
+        if (innerResponse.body != null) {
+          const stream2 = innerResponse.body.stream;
+          const reader = stream2.getReader();
+          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+        } else {
+          bodyReadPromise.resolve(void 0);
+        }
+        const operations = [];
+        const operation = {
+          type: "put",
+          // 14.
+          request: innerRequest,
+          // 15.
+          response: clonedResponse
+          // 16.
+        };
+        operations.push(operation);
+        const bytes = await bodyReadPromise.promise;
+        if (clonedResponse.body != null) {
+          clonedResponse.body.source = bytes;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve();
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      const fetchParams = {
-        controller: new Fetch(dispatcher),
-        request: request2,
-        timingInfo,
-        processRequestBodyChunkLength,
-        processRequestEndOfBody,
-        processResponse,
-        processResponseConsumeBody,
-        processResponseEndOfBody,
-        taskDestination,
-        crossOriginIsolatedCapability
-      };
-      assert(!request2.body || request2.body.stream);
-      if (request2.window === "client") {
-        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
-      }
-      if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
-      }
-      if (request2.policyContainer === "client") {
-        if (request2.client != null) {
-          request2.policyContainer = clonePolicyContainer(
-            request2.client.policyContainer
-          );
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
+          }
         } else {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      if (request2.priority === null) {
-      }
-      if (subresourceSet.has(request2.destination)) {
-      }
-      mainFetch(fetchParams).catch((err) => {
-        fetchParams.controller.terminate(err);
-      });
-      return fetchParams.controller;
-    }
-    async function mainFetch(fetchParams, recursive = false) {
-      const request2 = fetchParams.request;
-      let response = null;
-      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
-        response = makeNetworkError("local URLs only");
-      }
-      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
-      if (requestBadPort(request2) === "blocked") {
-        response = makeNetworkError("bad port");
-      }
-      if (request2.referrerPolicy === "") {
-        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
-      }
-      if (request2.referrer !== "no-referrer") {
-        request2.referrer = determineRequestsReferrer(request2);
-      }
-      if (response === null) {
-        response = await (async () => {
-          const currentURL = requestCurrentURL(request2);
-          if (
-            // - request’s current URL’s origin is same origin with request’s origin,
-            //   and request’s response tainting is "basic"
-            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
-            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
-            (request2.mode === "navigate" || request2.mode === "websocket")
-          ) {
-            request2.responseTainting = "basic";
-            return await schemeFetch(fetchParams);
-          }
-          if (request2.mode === "same-origin") {
-            return makeNetworkError('request mode cannot be "same-origin"');
+        const operations = [];
+        const operation = {
+          type: "delete",
+          request: r,
+          options
+        };
+        operations.push(operation);
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        let requestResponses;
+        try {
+          requestResponses = this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        return cacheJobPromise.promise;
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {Promise}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          request2.responseTainting = "cors";
-          return await httpFetch(fetchParams);
-        })();
-      }
-      if (recursive) {
-        return response;
-      }
-      if (response.status !== 0 && !response.internalResponse) {
-        if (request2.responseTainting === "cors") {
         }
-        if (request2.responseTainting === "basic") {
-          response = filterResponse(response, "basic");
-        } else if (request2.responseTainting === "cors") {
-          response = filterResponse(response, "cors");
-        } else if (request2.responseTainting === "opaque") {
-          response = filterResponse(response, "opaque");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
+          }
         }
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
+            requestList.push(requestObject);
+          }
+          promise.resolve(Object.freeze(requestList));
+        });
+        return promise.promise;
       }
-      let internalResponse = response.status === 0 ? response : response.internalResponse;
-      if (internalResponse.urlList.length === 0) {
-        internalResponse.urlList.push(...request2.urlList);
-      }
-      if (!request2.timingAllowFailed) {
-        response.timingAllowPassed = true;
-      }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
-        response = internalResponse = makeNetworkError();
-      }
-      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
-        internalResponse.body = null;
-        fetchParams.controller.dump = true;
-      }
-      if (request2.integrity) {
-        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
-        if (request2.responseTainting === "opaque" || response.body == null) {
-          processBodyError(response.error);
-          return;
-        }
-        const processBody = (bytes) => {
-          if (!bytesMatch(bytes, request2.integrity)) {
-            processBodyError("integrity mismatch");
-            return;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
+       * @param {CacheBatchOperation[]} operations
+       * @returns {requestResponseList}
+       */
+      #batchCacheOperations(operations) {
+        const cache = this.#relevantRequestResponseList;
+        const backupCache = [...cache];
+        const addedItems = [];
+        const resultList = [];
+        try {
+          for (const operation of operations) {
+            if (operation.type !== "delete" && operation.type !== "put") {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: 'operation type does not match "delete" or "put"'
+              });
+            }
+            if (operation.type === "delete" && operation.response != null) {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: "delete operation should not have an associated response"
+              });
+            }
+            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
+              throw new DOMException("???", "InvalidStateError");
+            }
+            let requestResponses;
+            if (operation.type === "delete") {
+              requestResponses = this.#queryCache(operation.request, operation.options);
+              if (requestResponses.length === 0) {
+                return [];
+              }
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+            } else if (operation.type === "put") {
+              if (operation.response == null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "put operation should have an associated response"
+                });
+              }
+              const r = operation.request;
+              if (!urlIsHttpHttpsScheme(r.url)) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "expected http or https scheme"
+                });
+              }
+              if (r.method !== "GET") {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "not get method"
+                });
+              }
+              if (operation.options != null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "options must not be defined"
+                });
+              }
+              requestResponses = this.#queryCache(operation.request);
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+              cache.push([operation.request, operation.response]);
+              addedItems.push([operation.request, operation.response]);
+            }
+            resultList.push([operation.request, operation.response]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#query-cache
+       * @param {any} requestQuery
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @param {requestResponseList} targetStorage
+       * @returns {requestResponseList}
+       */
+      #queryCache(requestQuery, options, targetStorage) {
+        const resultList = [];
+        const storage = targetStorage ?? this.#relevantRequestResponseList;
+        for (const requestResponse of storage) {
+          const [cachedRequest, cachedResponse] = requestResponse;
+          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
+            resultList.push(requestResponse);
+          }
+        }
+        return resultList;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
+       * @param {any} requestQuery
+       * @param {any} request
+       * @param {any | null} response
+       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
+       * @returns {boolean}
+       */
+      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
+        const queryURL = new URL(requestQuery.url);
+        const cachedURL = new URL(request2.url);
+        if (options?.ignoreSearch) {
+          cachedURL.search = "";
+          queryURL.search = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
+        }
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
+        }
+        const fieldValues = getFieldValues(response.headersList.get("vary"));
+        for (const fieldValue of fieldValues) {
+          if (fieldValue === "*") {
+            return false;
           }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          return Promise.resolve(response);
         }
-        case "data:": {
-          const currentURL = requestCurrentURL(request2);
-          const dataURLStruct = dataURLProcessor(currentURL);
-          if (dataURLStruct === "failure") {
-            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+        return true;
+      }
+      #internalMatchAll(request2, options, maxResponses = Infinity) {
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
-          return Promise.resolve(makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-type", { name: "Content-Type", value: mimeType }]
-            ],
-            body: safelyExtractBody(dataURLStruct.body)[0]
-          }));
-        }
-        case "file:": {
-          return Promise.resolve(makeNetworkError("not implemented... yet..."));
         }
-        case "http:":
-        case "https:": {
-          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = fromInnerResponse(response, "immutable");
+          responseList.push(responseObject.clone());
+          if (responseList.length >= maxResponses) {
+            break;
+          }
         }
+        return Object.freeze(responseList);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    Object.defineProperties(Cache.prototype, {
+      [Symbol.toStringTag]: {
+        value: "Cache",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      matchAll: kEnumerableProperty,
+      add: kEnumerableProperty,
+      addAll: kEnumerableProperty,
+      put: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    var cacheQueryOptionConverters = [
+      {
+        key: "ignoreSearch",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreMethod",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreVary",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.has(cacheName);
       }
-      if (response === null) {
-        if (request2.redirect === "follow") {
-          request2.serviceWorkers = "none";
-        }
-        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
-        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
-          return makeNetworkError("cors failure");
-        }
-        if (TAOCheck(request2, response) === "failure") {
-          request2.timingAllowFailed = true;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.open";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.delete(cacheName);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        if (request2.redirect === "error") {
-          response = makeNetworkError("unexpected redirect");
-        } else if (request2.redirect === "manual") {
-          response = actualResponse;
-        } else if (request2.redirect === "follow") {
-          response = await httpRedirectFetch(fetchParams, response);
-        } else {
-          assert(false);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {Promise}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
+      }
+    };
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      for (let i = 0; i < value.length; ++i) {
+        const code = value.charCodeAt(i);
+        if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
+          return true;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    function httpRedirectFetch(fetchParams, response) {
-      const request2 = fetchParams.request;
-      const actualResponse = response.internalResponse ? response.internalResponse : response;
-      let locationURL;
-      try {
-        locationURL = responseLocationURL(
-          actualResponse,
-          requestCurrentURL(request2).hash
-        );
-        if (locationURL == null) {
-          return response;
+    function validateCookieName(name) {
+      for (let i = 0; i < name.length; ++i) {
+        const code = name.charCodeAt(i);
+        if (code < 33 || // exclude CTLs (0-31), SP and HT
+        code > 126 || // exclude non-ascii and DEL
+        code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 60 || // <
+        code === 62 || // >
+        code === 64 || // @
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 58 || // :
+        code === 92 || // \
+        code === 47 || // /
+        code === 91 || // [
+        code === 93 || // ]
+        code === 63 || // ?
+        code === 61 || // =
+        code === 123 || // {
+        code === 125) {
+          throw new Error("Invalid cookie name");
         }
-      } catch (err) {
-        return Promise.resolve(makeNetworkError(err));
-      }
-      if (!urlIsHttpHttpsScheme(locationURL)) {
-        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
-      }
-      if (request2.redirectCount === 20) {
-        return Promise.resolve(makeNetworkError("redirect count exceeded"));
-      }
-      request2.redirectCount += 1;
-      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
-        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
-      }
-      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
-        return Promise.resolve(makeNetworkError(
-          'URL cannot contain credentials for request mode "cors"'
-        ));
-      }
-      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
-        return Promise.resolve(makeNetworkError());
       }
-      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
-        request2.method = "GET";
-        request2.body = null;
-        for (const headerName of requestBodyHeader) {
-          request2.headersList.delete(headerName);
+    }
+    function validateCookieValue(value) {
+      let len = value.length;
+      let i = 0;
+      if (value[0] === '"') {
+        if (len === 1 || value[len - 1] !== '"') {
+          throw new Error("Invalid cookie value");
         }
+        --len;
+        ++i;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      if (request2.body != null) {
-        assert(request2.body.source != null);
-        request2.body = safelyExtractBody(request2.body.source)[0];
-      }
-      const timingInfo = fetchParams.timingInfo;
-      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
-      if (timingInfo.redirectStartTime === 0) {
-        timingInfo.redirectStartTime = timingInfo.startTime;
+      while (i < len) {
+        const code = value.charCodeAt(i++);
+        if (code < 33 || // exclude CTLs (0-31)
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
+        }
       }
-      request2.urlList.push(locationURL);
-      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
-      return mainFetch(fetchParams, true);
     }
-    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
-      const request2 = fetchParams.request;
-      let httpFetchParams = null;
-      let httpRequest = null;
-      let response = null;
-      const httpCache = null;
-      const revalidatingFlag = false;
-      if (request2.window === "no-window" && request2.redirect === "error") {
-        httpFetchParams = fetchParams;
-        httpRequest = request2;
-      } else {
-        httpRequest = makeRequest(request2);
-        httpFetchParams = { ...fetchParams };
-        httpFetchParams.request = httpRequest;
-      }
-      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
-      const contentLength = httpRequest.body ? httpRequest.body.length : null;
-      let contentLengthHeaderValue = null;
-      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
-        contentLengthHeaderValue = "0";
+    function validateCookiePath(path16) {
+      for (let i = 0; i < path16.length; ++i) {
+        const code = path16.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    var IMFDays = [
+      "Sun",
+      "Mon",
+      "Tue",
+      "Wed",
+      "Thu",
+      "Fri",
+      "Sat"
+    ];
+    var IMFMonths = [
+      "Jan",
+      "Feb",
+      "Mar",
+      "Apr",
+      "May",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Oct",
+      "Nov",
+      "Dec"
+    ];
+    var IMFPaddedNumbers = Array(61).fill(0).map((_, i) => i.toString().padStart(2, "0"));
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`;
+    }
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      for (const part of cookie.unparsed) {
+        if (!part.includes("=")) {
+          throw new Error("Invalid unparsed");
         }
+        const [key, ...value] = part.split("=");
+        out.push(`${key.trim()}=${value.join("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      response.requestIncludesCredentials = includeCredentials;
-      if (response.status === 407) {
-        if (request2.window === "no-window") {
-          return makeNetworkError();
-        }
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        return makeNetworkError("proxy authentication required");
+      let nameValuePair = "";
+      let unparsedAttributes = "";
+      let name = "";
+      let value = "";
+      if (header.includes(";")) {
+        const position = { position: 0 };
+        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
+        unparsedAttributes = header.slice(position.position);
+      } else {
+        nameValuePair = header;
       }
-      if (
-        // response’s status is 421
-        response.status === 421 && // isNewConnectionFetch is false
-        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
-        (request2.body == null || request2.body.source != null)
-      ) {
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        fetchParams.controller.connection.destroy();
-        response = await httpNetworkOrCacheFetch(
-          fetchParams,
-          isAuthenticationFetch,
-          true
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      assert(unparsedAttributes[0] === ";");
+      unparsedAttributes = unparsedAttributes.slice(1);
+      let cookieAv = "";
+      if (unparsedAttributes.includes(";")) {
+        cookieAv = collectASequenceOfCodePointsFast(
+          ";",
+          unparsedAttributes,
+          { position: 0 }
+        );
+        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
       } else {
+        cookieAv = unparsedAttributes;
+        unparsedAttributes = "";
       }
-      let requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream2 = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      const attributeNameLowercase = attributeName.toLowerCase();
+      if (attributeNameLowercase === "expires") {
+        const expiryTime = new Date(attributeValue);
+        cookieAttributeList.expires = expiryTime;
+      } else if (attributeNameLowercase === "max-age") {
+        const charCode = attributeValue.charCodeAt(0);
+        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      );
-      response.body = { stream: stream2 };
-      fetchParams.controller.on("terminated", onAborted);
-      fetchParams.controller.resume = async () => {
-        while (true) {
-          let bytes;
-          let isFailure;
-          try {
-            const { done, value } = await fetchParams.controller.next();
-            if (isAborted(fetchParams)) {
-              break;
-            }
-            bytes = done ? void 0 : value;
-          } catch (err) {
-            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
-              bytes = void 0;
-            } else {
-              bytes = err;
-              isFailure = true;
-            }
-          }
-          if (bytes === void 0) {
-            readableStreamClose(fetchParams.controller.controller);
-            finalizeResponse(fetchParams, response);
-            return;
-          }
-          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
-          if (isFailure) {
-            fetchParams.controller.terminate(bytes);
-            return;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream2)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
+        }
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
         } else {
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url2 = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve8, reject) => agent.dispatch(
-          {
-            path: url2.pathname + url2.search,
-            origin: url2.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable2({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib2.createGunzip({
-                      // Be less strict when decoding compressed responses, since sometimes
-                      // servers send slightly invalid responses that are still accepted
-                      // by common browsers.
-                      // Always using Z_SYNC_FLUSH is what cURL does.
-                      flush: zlib2.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib2.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib2.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve8({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve8({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        cookieAttributeList.path = cookiePath;
+      } else if (attributeNameLowercase === "secure") {
+        cookieAttributeList.secure = true;
+      } else if (attributeNameLowercase === "httponly") {
+        cookieAttributeList.httpOnly = true;
+      } else if (attributeNameLowercase === "samesite") {
+        let enforcement = "Default";
+        const attributeValueLowercase = attributeValue.toLowerCase();
+        if (attributeValueLowercase.includes("none")) {
+          enforcement = "None";
+        }
+        if (attributeValueLowercase.includes("strict")) {
+          enforcement = "Strict";
+        }
+        if (attributeValueLowercase.includes("lax")) {
+          enforcement = "Lax";
+        }
+        cookieAttributeList.sameSite = enforcement;
+      } else {
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
       }
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
     }
     module2.exports = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
+      }
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
+      }
+      return out;
+    }
+    function deleteCookie(headers, name, attributes) {
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
+    }
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
+      }
+      return cookies.map((pair) => parseSetCookie(pair));
+    }
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      }
+    ]);
+    webidl.converters.Cookie = webidl.dictionaryConverter([
+      {
+        converter: webidl.converters.DOMString,
+        key: "name"
+      },
+      {
+        converter: webidl.converters.DOMString,
+        key: "value"
+      },
+      {
+        converter: webidl.nullableConverter((value) => {
+          if (typeof value === "number") {
+            return webidl.converters["unsigned long long"](value);
+          }
+          return new Date(value);
+        }),
+        key: "expires",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters["long long"]),
+        key: "maxAge",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "secure",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "httpOnly",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.converters.USVString,
+        key: "sameSite",
+        allowedValues: ["Strict", "Lax", "None"]
+      },
+      {
+        converter: webidl.sequenceConverter(webidl.converters.DOMString),
+        key: "unparsed",
+        defaultValue: () => new Array(0)
+      }
+    ]);
     module2.exports = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
+      }
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
+      }
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
+        }
+        return this.#eventInit.ports;
+      }
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, init);
+        messageEvent.#eventInit = init;
+        messageEvent.#eventInit.data ??= null;
+        messageEvent.#eventInit.origin ??= "";
+        messageEvent.#eventInit.lastEventId ??= "";
+        messageEvent.#eventInit.source ??= null;
+        messageEvent.#eventInit.ports ??= [];
+        return messageEvent;
+      }
+    };
+    var { createFastMessageEvent } = MessageEvent;
+    delete MessageEvent.createFastMessageEvent;
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
+      }
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
+      }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
+      }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
+      }
+    };
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
+      }
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
+      }
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
+      }
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
+      }
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
+      }
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      reason: kEnumerableProperty,
+      code: kEnumerableProperty,
+      wasClean: kEnumerableProperty
+    });
+    Object.defineProperties(ErrorEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "ErrorEvent",
+        configurable: true
       },
+      message: kEnumerableProperty,
+      filename: kEnumerableProperty,
+      lineno: kEnumerableProperty,
+      colno: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.MessagePort
+    );
+    var eventInit = [
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
-    "use strict";
-    function getEncoding(label) {
-      if (!label) {
-        return "failure";
-      }
-      switch (label.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";
-      }
-    }
-    module2.exports = {
-      getEncoding
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream2 = blob.stream();
-      const reader = stream2.getReader();
-      const bytes = [];
-      let chunkPromise = reader.read();
-      let isFirstChunk = true;
-      (async () => {
-        while (!fr[kAborted]) {
-          try {
-            const { done, value } = await chunkPromise;
-            if (isFirstChunk && !fr[kAborted]) {
-              queueMicrotask(() => {
-                fireAProgressEvent("loadstart", fr);
-              });
-            }
-            isFirstChunk = false;
-            if (!done && types.isUint8Array(value)) {
-              bytes.push(value);
-              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
-                fr[kLastProgressEventFired] = Date.now();
-                queueMicrotask(() => {
-                  fireAProgressEvent("progress", fr);
-                });
-              }
-              chunkPromise = reader.read();
-            } else if (done) {
-              queueMicrotask(() => {
-                fr[kState] = "done";
-                try {
-                  const result = packageData(bytes, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              fireAProgressEvent("error", fr);
-              if (fr[kState] !== "loading") {
-                fireAProgressEvent("loadend", fr);
-              }
-            });
-            break;
-          }
-        }
-      })();
-    }
-    function fireAProgressEvent(e, reader) {
-      const event = new ProgressEvent(e, {
-        bubbles: false,
-        cancelable: false
-      });
-      reader.dispatchEvent(event);
-    }
-    function packageData(bytes, type2, mimeType, encodingName) {
-      switch (type2) {
-        case "DataURL": {
-          let dataURL = "data:";
-          const parsed = parseMIMEType(mimeType || "application/octet-stream");
-          if (parsed !== "failure") {
-            dataURL += serializeAMimeType(parsed);
-          }
-          dataURL += ";base64,";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            dataURL += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.parameters.get("charset"));
-            }
-          }
-          if (encoding === "failure") {
-            encoding = "UTF-8";
-          }
-          return decode(bytes, encoding);
-        }
-        case "ArrayBuffer": {
-          const sequence = combineByteSequences(bytes);
-          return sequence.buffer;
-        }
-        case "BinaryString": {
-          let binaryString = "";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            binaryString += decoder.write(chunk);
-          }
-          binaryString += decoder.end();
-          return binaryString;
-        }
+        defaultValue: () => false
       }
-    }
-    function decode(ioQueue, encoding) {
-      const bytes = combineByteSequences(ioQueue);
-      const BOMEncoding = BOMSniffing(bytes);
-      let slice = 0;
-      if (BOMEncoding !== null) {
-        encoding = BOMEncoding;
-        slice = BOMEncoding === "UTF-8" ? 3 : 2;
+    ];
+    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "data",
+        converter: webidl.converters.any,
+        defaultValue: () => null
+      },
+      {
+        key: "origin",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lastEventId",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "source",
+        // Node doesn't implement WindowProxy or ServiceWorker, so the only
+        // valid value for source is a MessagePort.
+        converter: webidl.nullableConverter(webidl.converters.MessagePort),
+        defaultValue: () => null
+      },
+      {
+        key: "ports",
+        converter: webidl.converters["sequence"],
+        defaultValue: () => new Array(0)
       }
-      const sliced = bytes.slice(slice);
-      return new TextDecoder(encoding).decode(sliced);
-    }
-    function BOMSniffing(ioQueue) {
-      const [a, b, c] = ioQueue;
-      if (a === 239 && b === 187 && c === 191) {
-        return "UTF-8";
-      } else if (a === 254 && b === 255) {
-        return "UTF-16BE";
-      } else if (a === 255 && b === 254) {
-        return "UTF-16LE";
+    ]);
+    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "wasClean",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "code",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 0
+      },
+      {
+        key: "reason",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
       }
-      return null;
-    }
-    function combineByteSequences(sequences) {
-      const size = sequences.reduce((a, b) => {
-        return a + b.byteLength;
-      }, 0);
-      let offset = 0;
-      return sequences.reduce((a, b) => {
-        a.set(b, offset);
-        offset += b.byteLength;
-        return a;
-      }, new Uint8Array(size));
-    }
+    ]);
+    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "message",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "filename",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lineno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "colno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "error",
+        converter: webidl.converters.any
+      }
+    ]);
     module2.exports = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var sentCloseFrameState = {
+      NOT_SENT: 0,
+      PROCESSING: 1,
+      SENT: 2
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    var sendHints = {
+      string: 1,
+      typedArray: 2,
+      arrayBuffer: 3,
+      blob: 4
+    };
+    module2.exports = {
+      uid,
+      sentCloseFrameState,
       staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var FileReader = class _FileReader extends EventTarget {
-      constructor() {
-        super();
-        this[kState] = "empty";
-        this[kResult] = null;
-        this[kError] = null;
-        this[kEvents] = {
-          loadend: null,
-          error: null,
-          abort: null,
-          load: null,
-          progress: null,
-          loadstart: null
-        };
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
-       * @param {import('buffer').Blob} blob
-       */
-      readAsArrayBuffer(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsDataText
-       * @param {import('buffer').Blob} blob
-       * @param {string?} encoding
-       */
-      readAsText(blob, encoding = void 0) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
+    }
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
+    }
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
+    }
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           return;
         }
-        if (this[kState] === "loading") {
-          this[kState] = "done";
-          this[kResult] = null;
-        }
-        this[kAborted] = true;
-        fireAProgressEvent("abort", this);
-        if (this[kState] !== "loading") {
-          fireAProgressEvent("loadend", this);
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
-       */
-      get readyState() {
-        webidl.brandCheck(this, _FileReader);
-        switch (this[kState]) {
-          case "empty":
-            return this.EMPTY;
-          case "loading":
-            return this.LOADING;
-          case "done":
-            return this.DONE;
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
-       */
-      get result() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kResult];
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
-       */
-      get error() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kError];
-      }
-      get onloadend() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadend;
-      }
-      set onloadend(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadend) {
-          this.removeEventListener("loadend", this[kEvents].loadend);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadend = fn;
-          this.addEventListener("loadend", fn);
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].error) {
-          this.removeEventListener("error", this[kEvents].error);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this[kEvents].error = null;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      set onloadstart(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadstart) {
-          this.removeEventListener("loadstart", this[kEvents].loadstart);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadstart = fn;
-          this.addEventListener("loadstart", fn);
-        } else {
-          this[kEvents].loadstart = null;
+      for (let i = 0; i < protocol.length; ++i) {
+        const code = protocol.charCodeAt(i);
+        if (code < 33 || // CTL, contains SP (0x20) and HT (0x09)
+        code > 126 || code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 44 || // ,
+        code === 47 || // /
+        code === 58 || // :
+        code === 59 || // ;
+        code === 60 || // <
+        code === 61 || // =
+        code === 62 || // >
+        code === 63 || // ?
+        code === 64 || // @
+        code === 91 || // [
+        code === 92 || // \
+        code === 93 || // ]
+        code === 123 || // {
+        code === 125) {
+          return false;
         }
       }
-      get onprogress() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].progress;
-      }
-      set onprogress(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].progress) {
-          this.removeEventListener("progress", this[kEvents].progress);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].progress = fn;
-          this.addEventListener("progress", fn);
-        } else {
-          this[kEvents].progress = null;
-        }
+      return true;
+    }
+    function isValidStatusCode(code) {
+      if (code >= 1e3 && code < 1015) {
+        return code !== 1004 && // reserved
+        code !== 1005 && // "MUST NOT be set as a status code"
+        code !== 1006;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      return code >= 3e3 && code <= 4999;
+    }
+    function failWebsocketConnection(ws, reason) {
+      const { [kController]: controller, [kResponse]: response } = ws;
+      controller.abort();
+      if (response?.socket && !response.socket.destroyed) {
+        response.socket.destroy();
       }
-      set onload(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].load) {
-          this.removeEventListener("load", this[kEvents].load);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].load = fn;
-          this.addEventListener("load", fn);
-        } else {
-          this[kEvents].load = null;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    function isControlFrame(opcode) {
+      return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
+    }
+    function isContinuationFrame(opcode) {
+      return opcode === opcodes.CONTINUATION;
+    }
+    function isTextBinaryFrame(opcode) {
+      return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
+    }
+    function isValidOpcode(opcode) {
+      return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
+    }
+    function parseExtensions(extensions) {
+      const position = { position: 0 };
+      const extensionList = /* @__PURE__ */ new Map();
+      while (position.position < extensions.length) {
+        const pair = collectASequenceOfCodePointsFast(";", extensions, position);
+        const [name, value = ""] = pair.split("=");
+        extensionList.set(
+          removeHTTPWhitespace(name, true, false),
+          removeHTTPWhitespace(value, false, true)
+        );
+        position.position++;
       }
-      set onabort(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].abort) {
-          this.removeEventListener("abort", this[kEvents].abort);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].abort = fn;
-          this.addEventListener("abort", fn);
-        } else {
-          this[kEvents].abort = null;
+      return extensionList;
+    }
+    function isValidClientWindowBits(value) {
+      for (let i = 0; i < value.length; i++) {
+        const byte = value.charCodeAt(i);
+        if (byte < 48 || byte > 57) {
+          return false;
         }
       }
-    };
-    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
-    FileReader.LOADING = FileReader.prototype.LOADING = 1;
-    FileReader.DONE = FileReader.prototype.DONE = 2;
-    Object.defineProperties(FileReader.prototype, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors,
-      readAsArrayBuffer: kEnumerableProperty,
-      readAsBinaryString: kEnumerableProperty,
-      readAsText: kEnumerableProperty,
-      readAsDataURL: kEnumerableProperty,
-      abort: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      result: kEnumerableProperty,
-      error: kEnumerableProperty,
-      onloadstart: kEnumerableProperty,
-      onprogress: kEnumerableProperty,
-      onload: kEnumerableProperty,
-      onabort: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onloadend: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "FileReader",
-        writable: false,
-        enumerable: false,
-        configurable: true
+      return true;
+    }
+    var hasIntl = typeof process.versions.icu === "string";
+    var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0;
+    var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) {
+      if (isUtf8(buffer)) {
+        return buffer.toString("utf-8");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto3;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto3 = require("node:crypto");
+    } catch {
+      crypto3 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync2(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto3.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]];
     }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+      }
+      createFrame(opcode) {
+        const frameData = this.frameData;
+        const maskKey = generateMask();
+        const bodyLength = frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
+        }
+        const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
+        buffer2[0] = buffer2[1] = 0;
+        buffer2[0] |= 128;
+        buffer2[0] = (buffer2[0] & 240) + opcode;
+        buffer2[offset - 4] = maskKey[0];
+        buffer2[offset - 3] = maskKey[1];
+        buffer2[offset - 2] = maskKey[2];
+        buffer2[offset - 1] = maskKey[3];
+        buffer2[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer2.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer2[2] = buffer2[3] = 0;
+          buffer2.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer2[1] |= 128;
+        for (let i = 0; i < bodyLength; ++i) {
+          buffer2[offset + i] = frameData[i] ^ maskKey[i & 3];
+        }
+        return buffer2;
+      }
+    };
     module2.exports = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto3;
+    try {
+      crypto3 = require("node:crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url2, protocols, client, ws, onEstablish, options) {
+      const requestURL = url2;
+      requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        client,
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = getHeadersList(new Headers(options.headers));
+        request2.headersList = headersList;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto3.randomBytes(16).toString("base64");
+      request2.headersList.append("sec-websocket-key", keyValue);
+      request2.headersList.append("sec-websocket-version", "13");
+      for (const protocol of protocols) {
+        request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
-            }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
-          }
-        }
-        const responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher,
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
+            return;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto3.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
+          let extensions;
+          if (secExtension !== null) {
+            extensions = parseExtensions(secExtension);
+            if (!extensions.has("permessage-deflate")) {
+              failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match.");
+              return;
             }
-          }));
-          responsePromises.push(responsePromise.promise);
-        }
-        const p = Promise.all(responsePromises);
-        const responses = await p;
-        const operations = [];
-        let index = 0;
-        for (const response of responses) {
-          const operation = {
-            type: "put",
-            // 7.3.2
-            request: requestList[index],
-            // 7.3.3
-            response
-            // 7.3.4
-          };
-          operations.push(operation);
-          index++;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(void 0);
-          } else {
-            cacheJobPromise.reject(errorData);
           }
-        });
-        return cacheJobPromise.promise;
-      }
-      async put(request2, response) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
-        let innerRequest = null;
-        if (request2 instanceof Request) {
-          innerRequest = request2[kState];
-        } else {
-          innerRequest = new Request(request2)[kState];
-        }
-        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Got 206 status"
-          });
-        }
-        if (innerResponse.headersList.contains("vary")) {
-          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
-          for (const fieldValue of fieldValues) {
-            if (fieldValue === "*") {
-              throw webidl.errors.exception({
-                header: "Cache.put",
-                message: "Got * vary field value"
-              });
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null) {
+            const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList);
+            if (!requestProtocols.includes(secProtocol)) {
+              failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+              return;
             }
           }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response, extensions);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        const clonedResponse = cloneResponse(innerResponse);
-        const bodyReadPromise = createDeferredPromise();
-        if (innerResponse.body != null) {
-          const stream2 = innerResponse.body.stream;
-          const reader = stream2.getReader();
-          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+      });
+      return controller;
+    }
+    function closeWebSocketConnection(ws, code, reason, reasonByteLength) {
+      if (isClosing(ws) || isClosed(ws)) {
+      } else if (!isEstablished(ws)) {
+        failWebsocketConnection(ws, "Connection was closed before it was established.");
+        ws[kReadyState] = states.CLOSING;
+      } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) {
+        ws[kSentClose] = sentCloseFrameState.PROCESSING;
+        const frame = new WebsocketFrameSend();
+        if (code !== void 0 && reason === void 0) {
+          frame.frameData = Buffer.allocUnsafe(2);
+          frame.frameData.writeUInt16BE(code, 0);
+        } else if (code !== void 0 && reason !== void 0) {
+          frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+          frame.frameData.writeUInt16BE(code, 0);
+          frame.frameData.write(reason, 2, "utf-8");
         } else {
-          bodyReadPromise.resolve(void 0);
-        }
-        const operations = [];
-        const operation = {
-          type: "put",
-          // 14.
-          request: innerRequest,
-          // 15.
-          response: clonedResponse
-          // 16.
-        };
-        operations.push(operation);
-        const bytes = await bodyReadPromise.promise;
-        if (clonedResponse.body != null) {
-          clonedResponse.body.source = bytes;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 instanceof Request) {
-          r = request2[kState];
-          if (r.method !== "GET" && !options.ignoreMethod) {
-            return false;
-          }
-        } else {
-          assert(typeof request2 === "string");
-          r = new Request(request2)[kState];
-        }
-        const operations = [];
-        const operation = {
-          type: "delete",
-          request: r,
-          options
-        };
-        operations.push(operation);
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        let requestResponses;
-        try {
-          requestResponses = this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(!!requestResponses?.length);
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
+      }
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const { [kResponse]: response } = ws;
+      response.socket.off("data", onSocketData);
+      response.socket.off("close", onSocketClose);
+      response.socket.off("error", onSocketError);
+      const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result && !result.error) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kReceivedClose]) {
+        code = 1006;
+      }
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ Symbol("kLength");
+    var PerMessageDeflate = class {
+      /** @type {import('node:zlib').InflateRaw} */
+      #inflate;
+      #options = {};
+      constructor(extensions) {
+        this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
+        this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
+      }
+      decompress(chunk, fin, callback) {
+        if (!this.#inflate) {
+          let windowBits = Z_DEFAULT_WINDOWBITS;
+          if (this.#options.serverMaxWindowBits) {
+            if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
+              callback(new Error("Invalid server_max_window_bits"));
+              return;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
           }
+          this.#inflate = createInflateRaw({ windowBits });
+          this.#inflate[kBuffer] = [];
+          this.#inflate[kLength] = 0;
+          this.#inflate.on("data", (data) => {
+            this.#inflate[kBuffer].push(data);
+            this.#inflate[kLength] += data.length;
+          });
+          this.#inflate.on("error", (err) => {
+            this.#inflate = null;
+            callback(err);
+          });
         }
-        const promise = createDeferredPromise();
-        const requests = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            requests.push(requestResponse[0]);
-          }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            requests.push(requestResponse[0]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        this.#inflate.flush(() => {
+          const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
+          this.#inflate[kBuffer].length = 0;
+          this.#inflate[kLength] = 0;
+          callback(null, full);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
+    "use strict";
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #loop = false;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      /** @type {Map} */
+      #extensions;
+      constructor(ws, extensions) {
+        super();
+        this.ws = ws;
+        this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
+        if (this.#extensions.has("permessage-deflate")) {
+          this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #batchCacheOperations(operations) {
-        const cache = this.#relevantRequestResponseList;
-        const backupCache = [...cache];
-        const addedItems = [];
-        const resultList = [];
-        try {
-          for (const operation of operations) {
-            if (operation.type !== "delete" && operation.type !== "put") {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: 'operation type does not match "delete" or "put"'
-              });
+      _write(chunk, _, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        this.#loop = true;
+        this.run(callback);
+      }
+      /**
+       * Runs whenever a new chunk is received.
+       * Callback is called whenever there are no more chunks buffering,
+       * or not enough bytes are buffered to parse.
+       */
+      run(callback) {
+        while (this.#loop) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            const buffer = this.consume(2);
+            const fin = (buffer[0] & 128) !== 0;
+            const opcode = buffer[0] & 15;
+            const masked = (buffer[1] & 128) === 128;
+            const fragmented = !fin && opcode !== opcodes.CONTINUATION;
+            const payloadLength = buffer[1] & 127;
+            const rsv1 = buffer[0] & 64;
+            const rsv2 = buffer[0] & 32;
+            const rsv3 = buffer[0] & 16;
+            if (!isValidOpcode(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid opcode received");
+              return callback();
             }
-            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            let requestResponses;
-            if (operation.type === "delete") {
-              requestResponses = this.#queryCache(operation.request, operation.options);
-              if (requestResponses.length === 0) {
-                return [];
-              }
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-            } else if (operation.type === "put") {
-              if (operation.response == null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "put operation should have an associated response"
-                });
-              }
-              const r = operation.request;
-              if (!urlIsHttpHttpsScheme(r.url)) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "expected http or https scheme"
-                });
-              }
-              if (r.method !== "GET") {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "not get method"
-                });
-              }
-              if (operation.options != null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "options must not be defined"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.message.length);
+                    return;
+                  }
+                  this.#fragments.push(data);
+                  if (!this.#info.fin) {
+                    this.#state = parserStates.INFO;
+                    this.#loop = true;
+                    this.run(callback);
+                    return;
+                  }
+                  websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments));
+                  this.#loop = true;
+                  this.#state = parserStates.INFO;
+                  this.#fragments.length = 0;
+                  this.run(callback);
                 });
+                this.#loop = false;
+                break;
               }
-              requestResponses = this.#queryCache(operation.request);
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-              cache.push([operation.request, operation.response]);
-              addedItems.push([operation.request, operation.response]);
             }
-            resultList.push([operation.request, operation.response]);
           }
-          return resultList;
-        } catch (e) {
-          this.#relevantRequestResponseList.length = 0;
-          this.#relevantRequestResponseList = backupCache;
-          throw e;
         }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#query-cache
-       * @param {any} requestQuery
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @param {requestResponseList} targetStorage
-       * @returns {requestResponseList}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #queryCache(requestQuery, options, targetStorage) {
-        const resultList = [];
-        const storage = targetStorage ?? this.#relevantRequestResponseList;
-        for (const requestResponse of storage) {
-          const [cachedRequest, cachedResponse] = requestResponse;
-          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
-            resultList.push(requestResponse);
+      consume(n) {
+        if (n > this.#byteOffset) {
+          throw new Error("Called consume() before buffers satiated.");
+        } else if (n === 0) {
+          return emptyBuffer;
+        }
+        if (this.#buffers[0].length === n) {
+          this.#byteOffset -= this.#buffers[0].length;
+          return this.#buffers.shift();
+        }
+        const buffer = Buffer.allocUnsafe(n);
+        let offset = 0;
+        while (offset !== n) {
+          const next = this.#buffers[0];
+          const { length } = next;
+          if (length + offset === n) {
+            buffer.set(this.#buffers.shift(), offset);
+            break;
+          } else if (length + offset > n) {
+            buffer.set(next.subarray(0, n - offset), offset);
+            this.#buffers[0] = next.subarray(n - offset);
+            break;
+          } else {
+            buffer.set(this.#buffers.shift(), offset);
+            offset += next.length;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
-       * @param {any} requestQuery
-       * @param {any} request
-       * @param {any | null} response
-       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
-       * @returns {boolean}
-       */
-      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
-        const queryURL = new URL(requestQuery.url);
-        const cachedURL = new URL(request2.url);
-        if (options?.ignoreSearch) {
-          cachedURL.search = "";
-          queryURL.search = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        const fieldValues = getFieldValues(response.headersList.get("vary"));
-        for (const fieldValue of fieldValues) {
-          if (fieldValue === "*") {
-            return false;
-          }
-          const requestValue = request2.headersList.get(fieldValue);
-          const queryValue = requestQuery.headersList.get(fieldValue);
-          if (requestValue !== queryValue) {
-            return false;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    Object.defineProperties(Cache.prototype, {
-      [Symbol.toStringTag]: {
-        value: "Cache",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      matchAll: kEnumerableProperty,
-      add: kEnumerableProperty,
-      addAll: kEnumerableProperty,
-      put: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    var cacheQueryOptionConverters = [
-      {
-        key: "ignoreSearch",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreMethod",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreVary",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
-    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
-      ...cacheQueryOptionConverters,
-      {
-        key: "cacheName",
-        converter: webidl.converters.DOMString
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const cache = [];
-        this.#caches.set(cacheName, cache);
-        return new Cache(kConstruct, cache);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async delete(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    Object.defineProperties(CacheStorage.prototype, {
-      [Symbol.toStringTag]: {
-        value: "CacheStorage",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      has: kEnumerableProperty,
-      open: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    module2.exports = {
-      CacheStorage
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    var FastBuffer = Buffer[Symbol.species];
+    var SendQueue = class {
+      /**
+       * @type {FixedQueue}
+       */
+      #queue = new FixedQueue();
+      /**
+       * @type {boolean}
+       */
+      #running = false;
+      /** @type {import('node:net').Socket} */
+      #socket;
+      constructor(socket) {
+        this.#socket = socket;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      add(item, cb, hint) {
+        if (hint !== sendHints.blob) {
+          const frame = createFrame(item, hint);
+          if (!this.#running) {
+            this.#socket.write(frame, cb);
+          } else {
+            const node2 = {
+              promise: null,
+              callback: cb,
+              frame
+            };
+            this.#queue.push(node2);
+          }
+          return;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const node = {
+          promise: item.arrayBuffer().then((ab) => {
+            node.promise = null;
+            node.frame = createFrame(ab, hint);
+          }),
+          callback: cb,
+          frame: null
+        };
+        this.#queue.push(node);
+        if (!this.#running) {
+          this.#run();
         }
       }
-    }
-    function validateCookiePath(path16) {
-      for (const char of path16) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      async #run() {
+        this.#running = true;
+        const queue = this.#queue;
+        while (!queue.isEmpty()) {
+          const node = queue.shift();
+          if (node.promise !== null) {
+            await node.promise;
+          }
+          this.#socket.write(node.frame, node.callback);
+          node.callback = node.frame = null;
         }
+        this.#running = false;
       }
+    };
+    function createFrame(data, hint) {
+      return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY);
     }
-    function validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    function validateCookieMaxAge(maxAge) {
-      if (maxAge < 0) {
-        throw new Error("Invalid cookie max-age");
-      }
-    }
-    function stringify(cookie) {
-      if (cookie.name.length === 0) {
-        return null;
-      }
-      validateCookieName(cookie.name);
-      validateCookieValue(cookie.value);
-      const out = [`${cookie.name}=${cookie.value}`];
-      if (cookie.name.startsWith("__Secure-")) {
-        cookie.secure = true;
-      }
-      if (cookie.name.startsWith("__Host-")) {
-        cookie.secure = true;
-        cookie.domain = null;
-        cookie.path = "/";
-      }
-      if (cookie.secure) {
-        out.push("Secure");
-      }
-      if (cookie.httpOnly) {
-        out.push("HttpOnly");
-      }
-      if (typeof cookie.maxAge === "number") {
-        validateCookieMaxAge(cookie.maxAge);
-        out.push(`Max-Age=${cookie.maxAge}`);
-      }
-      if (cookie.domain) {
-        validateCookieDomain(cookie.domain);
-        out.push(`Domain=${cookie.domain}`);
-      }
-      if (cookie.path) {
-        validateCookiePath(cookie.path);
-        out.push(`Path=${cookie.path}`);
-      }
-      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
-        out.push(`Expires=${toIMFDate(cookie.expires)}`);
-      }
-      if (cookie.sameSite) {
-        out.push(`SameSite=${cookie.sameSite}`);
-      }
-      for (const part of cookie.unparsed) {
-        if (!part.includes("=")) {
-          throw new Error("Invalid unparsed");
-        }
-        const [key, ...value] = part.split("=");
-        out.push(`${key.trim()}=${value.join("=")}`);
+    function toBuffer(data, hint) {
+      switch (hint) {
+        case sendHints.string:
+          return Buffer.from(data);
+        case sendHints.arrayBuffer:
+        case sendHints.blob:
+          return new FastBuffer(data);
+        case sendHints.typedArray:
+          return new FastBuffer(data.buffer, data.byteOffset, data.byteLength);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } else {
-        nameValuePair = header;
-      }
-      if (!nameValuePair.includes("=")) {
-        value = nameValuePair;
-      } else {
-        const position = { position: 0 };
-        name = collectASequenceOfCodePointsFast(
-          "=",
-          nameValuePair,
-          position
-        );
-        value = nameValuePair.slice(position.position + 1);
-      }
-      name = name.trim();
-      value = value.trim();
-      if (name.length + value.length > maxNameValuePairSize) {
-        return null;
-      }
-      return {
-        name,
-        value,
-        ...parseUnparsedAttributes(unparsedAttributes)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
-      if (unparsedAttributes.length === 0) {
-        return cookieAttributeList;
-      }
-      assert(unparsedAttributes[0] === ";");
-      unparsedAttributes = unparsedAttributes.slice(1);
-      let cookieAv = "";
-      if (unparsedAttributes.includes(";")) {
-        cookieAv = collectASequenceOfCodePointsFast(
-          ";",
-          unparsedAttributes,
-          { position: 0 }
-        );
-        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
-      } else {
-        cookieAv = unparsedAttributes;
-        unparsedAttributes = "";
-      }
-      let attributeName = "";
-      let attributeValue = "";
-      if (cookieAv.includes("=")) {
-        const position = { position: 0 };
-        attributeName = collectASequenceOfCodePointsFast(
-          "=",
-          cookieAv,
-          position
-        );
-        attributeValue = cookieAv.slice(position.position + 1);
-      } else {
-        attributeName = cookieAv;
-      }
-      attributeName = attributeName.trim();
-      attributeValue = attributeValue.trim();
-      if (attributeValue.length > maxAttributeValueSize) {
-        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-      }
-      const attributeNameLowercase = attributeName.toLowerCase();
-      if (attributeNameLowercase === "expires") {
-        const expiryTime = new Date(attributeValue);
-        cookieAttributeList.expires = expiryTime;
-      } else if (attributeNameLowercase === "max-age") {
-        const charCode = attributeValue.charCodeAt(0);
-        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url2, protocols = []) {
+        super();
+        webidl.util.markAsUncloneable(this);
+        const prefix = "WebSocket constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options");
+        url2 = webidl.converters.USVString(url2, prefix, "url");
+        protocols = options.protocols;
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url2, baseURL);
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
         }
-        if (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        cookieAttributeList.path = cookiePath;
-      } else if (attributeNameLowercase === "secure") {
-        cookieAttributeList.secure = true;
-      } else if (attributeNameLowercase === "httponly") {
-        cookieAttributeList.httpOnly = true;
-      } else if (attributeNameLowercase === "samesite") {
-        let enforcement = "Default";
-        const attributeValueLowercase = attributeValue.toLowerCase();
-        if (attributeValueLowercase.includes("none")) {
-          enforcement = "None";
+        if (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      if (!cookie) {
-        return out;
-      }
-      for (const piece of cookie.split(";")) {
-        const [name, ...value] = piece.split("=");
-        out[name.trim()] = value.join("=");
-      }
-      return out;
-    }
-    function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookies = headers.getSetCookie();
-      if (!cookies) {
-        return [];
-      }
-      return cookies.map((pair) => parseSetCookie(pair));
-    }
-    function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        const client = environmentSettingsObject.settingsObject;
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          client,
+          this,
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
+        this[kBinaryType] = "blob";
       }
-    ]);
-    webidl.converters.Cookie = webidl.dictionaryConverter([
-      {
-        converter: webidl.converters.DOMString,
-        key: "name"
-      },
-      {
-        converter: webidl.converters.DOMString,
-        key: "value"
-      },
-      {
-        converter: webidl.nullableConverter((value) => {
-          if (typeof value === "number") {
-            return webidl.converters["unsigned long long"](value);
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
+       * @param {number|undefined} code
+       * @param {string|undefined} reason
+       */
+      close(code = void 0, reason = void 0) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.close";
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason, prefix, "reason");
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException("invalid code", "InvalidAccessError");
           }
-          return new Date(value);
-        }),
-        key: "expires",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters["long long"]),
-        key: "maxAge",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "secure",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "httpOnly",
-        defaultValue: null
-      },
-      {
-        converter: webidl.converters.USVString,
-        key: "sameSite",
-        allowedValues: ["Strict", "Lax", "None"]
-      },
-      {
-        converter: webidl.sequenceConverter(webidl.converters.DOMString),
-        key: "unparsed",
-        defaultValue: []
+        }
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
+          }
+        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
-    "use strict";
-    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    var states = {
-      CONNECTING: 0,
-      OPEN: 1,
-      CLOSING: 2,
-      CLOSED: 3
-    };
-    var opcodes = {
-      CONTINUATION: 0,
-      TEXT: 1,
-      BINARY: 2,
-      CLOSE: 8,
-      PING: 9,
-      PONG: 10
-    };
-    var maxUnsigned16Bit = 2 ** 16 - 1;
-    var parserStates = {
-      INFO: 0,
-      PAYLOADLENGTH_16: 2,
-      PAYLOADLENGTH_64: 3,
-      READ_DATA: 4
-    };
-    var emptyBuffer = Buffer.allocUnsafe(0);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.send";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        data = webidl.converters.WebSocketSendData(data, prefix, "data");
+        if (isConnecting(this)) {
+          throw new DOMException("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
+          return;
+        }
+        if (typeof data === "string") {
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
+        } else if (types.isArrayBuffer(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
+        } else if (ArrayBuffer.isView(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
+        } else if (isBlobLike(data)) {
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
+        }
       }
-      get data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      set onopen(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
+        }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
+        }
       }
-      get wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      set onerror(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
+        }
       }
-      get reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      set onclose(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.close) {
+          this.removeEventListener("close", this.#events.close);
+        }
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
+        }
       }
-      get message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      set onmessage(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
+        }
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
+        }
       }
-      get lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
+       */
+      #onConnectionEstablished(response, parsedExtensions) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this, parsedExtensions);
+        parser.on("drain", onParserDrain);
+        parser.on("error", onParserError.bind(this));
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this.#sendQueue = new SendQueue(response.socket);
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
+        }
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
     };
-    Object.defineProperties(MessageEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "MessageEvent",
-        configurable: true
-      },
-      data: kEnumerableProperty,
-      origin: kEnumerableProperty,
-      lastEventId: kEnumerableProperty,
-      source: kEnumerableProperty,
-      ports: kEnumerableProperty,
-      initMessageEvent: kEnumerableProperty
-    });
-    Object.defineProperties(CloseEvent.prototype, {
+    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
+    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
+    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
+    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
+    Object.defineProperties(WebSocket.prototype, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors,
+      url: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      bufferedAmount: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onclose: kEnumerableProperty,
+      close: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      binaryType: kEnumerableProperty,
+      send: kEnumerableProperty,
+      extensions: kEnumerableProperty,
+      protocol: kEnumerableProperty,
       [Symbol.toStringTag]: {
-        value: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         configurable: true
-      },
-      reason: kEnumerableProperty,
-      code: kEnumerableProperty,
-      wasClean: kEnumerableProperty
+      }
     });
-    Object.defineProperties(ErrorEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "ErrorEvent",
-        configurable: true
-      },
-      message: kEnumerableProperty,
-      filename: kEnumerableProperty,
-      lineno: kEnumerableProperty,
-      colno: kEnumerableProperty,
-      error: kEnumerableProperty
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    var eventInit = [
-      {
-        key: "bubbles",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "cancelable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "composed",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "data",
-        converter: webidl.converters.any,
-        defaultValue: null
-      },
-      {
-        key: "origin",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
-      {
-        key: "lastEventId",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "source",
-        // Node doesn't implement WindowProxy or ServiceWorker, so the only
-        // valid value for source is a MessagePort.
-        converter: webidl.nullableConverter(webidl.converters.MessagePort),
-        defaultValue: null
-      },
-      {
-        key: "ports",
-        converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "wasClean",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "code",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 0
-      },
-      {
-        key: "reason",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
+    webidl.converters["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    function isEstablished(ws) {
-      return ws[kReadyState] === states.OPEN;
-    }
-    function isClosing(ws) {
-      return ws[kReadyState] === states.CLOSING;
-    }
-    function isClosed(ws) {
-      return ws[kReadyState] === states.CLOSED;
-    }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { protocols: webidl.converters["DOMString or sequence"](V) };
+    };
+    webidl.converters.WebSocketSendData = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
         }
       }
-      return true;
-    }
-    function isValidStatusCode(code) {
-      if (code >= 1e3 && code < 1015) {
-        return code !== 1004 && // reserved
-        code !== 1005 && // "MUST NOT be set as a status code"
-        code !== 1006;
-      }
-      return code >= 3e3 && code <= 4999;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    function failWebsocketConnection(ws, reason) {
-      const { [kController]: controller, [kResponse]: response } = ws;
-      controller.abort();
-      if (response?.socket && !response.socket.destroyed) {
-        response.socket.destroy();
-      }
-      if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
-        });
+    function onParserError(err) {
+      let message;
+      let code;
+      if (err instanceof CloseEvent) {
+        message = err.reason;
+        code = err.code;
+      } else {
+        message = err.message;
       }
+      fireEvent("error", this, () => new ErrorEvent("error", { error: err, message }));
+      closeWebSocketConnection(this, code);
     }
     module2.exports = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto3;
-    try {
-      crypto3 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url2, protocols, ws, onEstablish, options) {
-      const requestURL = url2;
-      requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto3.randomBytes(16).toString("base64");
-      request2.headersList.append("sec-websocket-key", keyValue);
-      request2.headersList.append("sec-websocket-version", "13");
-      for (const protocol of protocols) {
-        request2.headersList.append("sec-websocket-protocol", protocol);
-      }
-      const permessageDeflate = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
-            return;
-          }
-          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
-            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
-            return;
-          }
-          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
-            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
-            return;
-          }
-          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
-          const digest = crypto3.createHash("sha1").update(keyValue + uid).digest("base64");
-          if (secWSAccept !== digest) {
-            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
-            return;
-          }
-          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    function isASCIINumber(value) {
+      if (value.length === 0) return false;
+      for (let i = 0; i < value.length; i++) {
+        if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false;
       }
+      return true;
     }
-    function onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay2(ms) {
+      return new Promise((resolve8) => {
+        setTimeout(resolve8, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto3;
-    try {
-      crypto3 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto3.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.frameData?.byteLength ?? 0;
-        let payloadLength = bodyLength;
-        let offset = 6;
-        if (bodyLength > maxUnsigned16Bit) {
-          offset += 8;
-          payloadLength = 127;
-        } else if (bodyLength > 125) {
-          offset += 2;
-          payloadLength = 126;
-        }
-        const buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      checkBOM = true;
+      /**
+       * @type {boolean}
+       */
+      crlfCheck = false;
+      /**
+       * @type {boolean}
+       */
+      eventEndCheck = false;
+      /**
+       * @type {Buffer}
+       */
+      buffer = null;
+      pos = 0;
+      event = {
+        data: void 0,
+        event: void 0,
+        id: void 0,
+        retry: void 0
+      };
+      /**
+       * @param {object} options
+       * @param {eventSourceSettings} options.eventSourceSettings
+       * @param {Function} [options.push]
+       */
+      constructor(options = {}) {
+        options.readableObjectMode = true;
+        super(options);
+        this.state = options.eventSourceSettings || {};
+        if (options.push) {
+          this.push = options.push;
+        }
       }
       /**
-       * Runs whenever a new chunk is received.
-       * Callback is called whenever there are no more chunks buffering,
-       * or not enough bytes are buffered to parse.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            if (payloadLength <= 125) {
-              this.#info.payloadLength = payloadLength;
-              this.#state = parserStates.READ_DATA;
-            } else if (payloadLength === 126) {
-              this.#state = parserStates.PAYLOADLENGTH_16;
-            } else if (payloadLength === 127) {
-              this.#state = parserStates.PAYLOADLENGTH_64;
-            }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _transform(chunk, _encoding, callback) {
+        if (chunk.length === 0) {
+          callback();
+          return;
+        }
+        if (this.buffer) {
+          this.buffer = Buffer.concat([this.buffer, chunk]);
+        } else {
+          this.buffer = chunk;
+        }
+        if (this.checkBOM) {
+          switch (this.buffer.length) {
+            case 1:
+              if (this.buffer[0] === BOM[0]) {
+                callback();
                 return;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              this.checkBOM = false;
+              break;
+            case 3:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = Buffer.alloc(0);
+                this.checkBOM = false;
                 callback();
                 return;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              this.checkBOM = false;
+              break;
+            default:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = this.buffer.subarray(3);
               }
-              if (this.#byteOffset > 0) {
+              this.checkBOM = false;
+              break;
+          }
+        }
+        while (this.pos < this.buffer.length) {
+          if (this.eventEndCheck) {
+            if (this.crlfCheck) {
+              if (this.buffer[this.pos] === LF) {
+                this.buffer = this.buffer.subarray(this.pos + 1);
+                this.pos = 0;
+                this.crlfCheck = false;
                 continue;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.payloadLength = buffer.readUInt16BE(0);
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
-            if (this.#byteOffset < 8) {
-              return callback();
-            }
-            const buffer = this.consume(8);
-            const upper = buffer.readUInt32BE(0);
-            if (upper > 2 ** 31 - 1) {
-              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
-              return;
-            }
-            const lower = buffer.readUInt32BE(4);
-            this.#info.payloadLength = (upper << 8) + lower;
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.READ_DATA) {
-            if (this.#byteOffset < this.#info.payloadLength) {
-              return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              this.buffer = this.buffer.subarray(this.pos + 1);
+              this.pos = 0;
+              if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) {
+                this.processEvent(this.event);
+              }
+              this.clearEvent();
+              continue;
             }
+            this.eventEndCheck = false;
+            continue;
           }
-          if (this.#byteOffset > 0) {
+          if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+            if (this.buffer[this.pos] === CR) {
+              this.crlfCheck = true;
+            }
+            this.parseLine(this.buffer.subarray(0, this.pos), this.event);
+            this.buffer = this.buffer.subarray(this.pos + 1);
+            this.pos = 0;
+            this.eventEndCheck = true;
             continue;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        const buffer = Buffer.allocUnsafe(n);
-        let offset = 0;
-        while (offset !== n) {
-          const next = this.#buffers[0];
-          const { length } = next;
-          if (length + offset === n) {
-            buffer.set(this.#buffers.shift(), offset);
+        let field = "";
+        let value = "";
+        if (colonPosition !== -1) {
+          field = line.subarray(0, colonPosition).toString("utf8");
+          let valueStart = colonPosition + 1;
+          if (line[valueStart] === SPACE) {
+            ++valueStart;
+          }
+          value = line.subarray(valueStart).toString("utf8");
+        } else {
+          field = line.toString("utf8");
+          value = "";
+        }
+        switch (field) {
+          case "data":
+            if (event[field] === void 0) {
+              event[field] = value;
+            } else {
+              event[field] += `
+${value}`;
+            }
             break;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          case "retry":
+            if (isASCIINumber(value)) {
+              event[field] = value;
+            }
+            break;
+          case "id":
+            if (isValidLastEventId(value)) {
+              event[field] = value;
+            }
+            break;
+          case "event":
+            if (value.length > 0) {
+              event[field] = value;
+            }
             break;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    var defaultReconnectionTime = 3e3;
+    var CONNECTING = 0;
+    var OPEN = 1;
+    var CLOSED = 2;
+    var ANONYMOUS = "anonymous";
+    var USE_CREDENTIALS = "use-credentials";
+    var EventSource = class _EventSource extends EventTarget {
       #events = {
         open: null,
         error: null,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #url = null;
+      #withCredentials = false;
+      #readyState = CONNECTING;
+      #request = null;
+      #controller = null;
+      #dispatcher;
+      /**
+       * @type {import('./eventsource-stream').eventSourceSettings}
+       */
+      #state;
       /**
+       * Creates a new EventSource object.
        * @param {string} url
-       * @param {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url2, protocols = []) {
+      constructor(url2, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url2 = webidl.converters.USVString(url2);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        url2 = webidl.converters.USVString(url2, prefix, "url");
+        eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
+        this.#dispatcher = eventSourceInitDict.dispatcher;
+        this.#state = {
+          lastEventId: "",
+          reconnectionTime: defaultReconnectionTime
+        };
+        const settings = environmentSettingsObject;
         let urlRecord;
         try {
-          urlRecord = new URL(url2, baseURL);
+          urlRecord = new URL(url2, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
-        }
-        if (urlRecord.protocol === "http:") {
-          urlRecord.protocol = "ws:";
-        } else if (urlRecord.protocol === "https:") {
-          urlRecord.protocol = "wss:";
-        }
-        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        const initRequest = {
+          redirect: "follow",
+          keepalive: true,
+          // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
+          mode: "cors",
+          credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
+          referrer: "no-referrer"
+        };
+        initRequest.client = environmentSettingsObject.settingsObject;
+        initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
+        initRequest.cache = "no-store";
+        initRequest.initiator = "other";
+        initRequest.urlList = [new URL(this.#url)];
+        this.#request = makeRequest(initRequest);
+        this.#connect();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      get readyState() {
+        return this.#readyState;
+      }
+      /**
+       * Returns the URL providing the event stream.
+       * @readonly
+       * @returns {string}
+       */
+      get url() {
+        return this.#url;
+      }
+      /**
+       * Returns a boolean indicating whether the EventSource object was
+       * instantiated with CORS credentials set (true), or not (false, the default).
+       */
+      get withCredentials() {
+        return this.#withCredentials;
+      }
+      #connect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        const fetchParams = {
+          request: this.#request,
+          dispatcher: this.#dispatcher
+        };
+        const processEventSourceEndOfBody = (response) => {
+          if (isNetworkError(response)) {
+            this.dispatchEvent(new Event("error"));
+            this.close();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          this.#reconnect();
+        };
+        fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
+        fetchParams.processResponse = (response) => {
+          if (isNetworkError(response)) {
+            if (response.aborted) {
+              this.close();
+              this.dispatchEvent(new Event("error"));
+              return;
+            } else {
+              this.#reconnect();
+              return;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          const frame = new WebsocketFrameSend();
-          if (code !== void 0 && reason === void 0) {
-            frame.frameData = Buffer.allocUnsafe(2);
-            frame.frameData.writeUInt16BE(code, 0);
-          } else if (code !== void 0 && reason !== void 0) {
-            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
-            frame.frameData.writeUInt16BE(code, 0);
-            frame.frameData.write(reason, 2, "utf-8");
-          } else {
-            frame.frameData = emptyBuffer;
+          const contentType = response.headersList.get("content-type", true);
+          const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
+          const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
+          if (response.status !== 200 || contentTypeValid === false) {
+            this.close();
+            this.dispatchEvent(new Event("error"));
+            return;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          this.#readyState = OPEN;
+          this.dispatchEvent(new Event("open"));
+          this.#state.origin = response.urlList[response.urlList.length - 1].origin;
+          const eventSourceStream = new EventSourceStream({
+            eventSourceSettings: this.#state,
+            push: (event) => {
+              this.dispatchEvent(createFastMessageEvent(
+                event.type,
+                event.options
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(this.#state.reconnectionTime);
+        if (this.#readyState !== CONNECTING) return;
+        if (this.#state.lastEventId.length) {
+          this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
         }
+        this.#connect();
       }
-      get readyState() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kReadyState];
-      }
-      get bufferedAmount() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#bufferedAmount;
-      }
-      get url() {
-        webidl.brandCheck(this, _WebSocket);
-        return URLSerializer(this[kWebSocketURL]);
-      }
-      get extensions() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#extensions;
-      }
-      get protocol() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#protocol;
+      /**
+       * Closes the connection, if any, and sets the readyState attribute to
+       * CLOSED.
+       */
+      close() {
+        webidl.brandCheck(this, _EventSource);
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CLOSED;
+        this.#controller.abort();
+        this.#request = null;
       }
       get onopen() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.open;
       }
       set onopen(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.open) {
           this.removeEventListener("open", this.#events.open);
         }
@@ -37998,44 +39575,10 @@ var require_websocket2 = __commonJS({
           this.#events.open = null;
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.error) {
-          this.removeEventListener("error", this.#events.error);
-        }
-        if (typeof fn === "function") {
-          this.#events.error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this.#events.error = null;
-        }
-      }
-      get onclose() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.close;
-      }
-      set onclose(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.close) {
-          this.removeEventListener("close", this.#events.close);
-        }
-        if (typeof fn === "function") {
-          this.#events.close = fn;
-          this.addEventListener("close", fn);
-        } else {
-          this.#events.close = null;
-        }
-      }
       get onmessage() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.message;
       }
       set onmessage(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.message) {
           this.removeEventListener("message", this.#events.message);
         }
@@ -38046,137 +39589,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      set onerror(fn) {
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
         } else {
-          this[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    var constantsPropertyDescriptors = {
+      CONNECTING: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CONNECTING,
+        writable: false
+      },
+      OPEN: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: OPEN,
+        writable: false
+      },
+      CLOSED: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CLOSED,
+        writable: false
       }
     };
-    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
-    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
-    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
-    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
-    Object.defineProperties(WebSocket.prototype, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors,
-      url: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      bufferedAmount: kEnumerableProperty,
-      onopen: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onclose: kEnumerableProperty,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: kEnumerableProperty,
       onmessage: kEnumerableProperty,
-      binaryType: kEnumerableProperty,
-      send: kEnumerableProperty,
-      extensions: kEnumerableProperty,
-      protocol: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "WebSocket",
-        writable: false,
-        enumerable: false,
-        configurable: true
-      }
-    });
-    Object.defineProperties(WebSocket, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
-        return webidl.converters.WebSocketInit(V);
-      }
-      return { protocols: webidl.converters["DOMString or sequence"](V) };
-    };
-    webidl.converters.WebSocketSendData = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     module2.exports.BalancedPool = BalancedPool;
     module2.exports.Agent = Agent;
     module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
+    module2.exports.RetryAgent = RetryAgent;
     module2.exports.RetryHandler = RetryHandler;
     module2.exports.DecoratorHandler = DecoratorHandler;
     module2.exports.RedirectHandler = RedirectHandler;
     module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.interceptors = {
+      redirect: require_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     module2.exports.buildConnector = buildConnector;
     module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
     function makeDispatcher(fn) {
       return (url2, opts, handler2) => {
         if (typeof opts === "function") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().fetch;
+    module2.exports.fetch = async function fetch(init, options = void 0) {
+      try {
+        return await fetchImpl(init, options);
+      } catch (err) {
+        if (err && typeof err === "object") {
+          Error.captureStackTrace(err);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().WebSocket;
+    module2.exports.CloseEvent = CloseEvent;
+    module2.exports.ErrorEvent = ErrorEvent;
+    module2.exports.MessageEvent = MessageEvent;
     module2.exports.request = makeDispatcher(api.request);
     module2.exports.stream = makeDispatcher(api.stream);
     module2.exports.pipeline = makeDispatcher(api.pipeline);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44493,7 +45986,7 @@ var require_package = __commonJS({
   "package.json"(exports2, module2) {
     module2.exports = {
       name: "codeql",
-      version: "4.32.1",
+      version: "4.32.2",
       private: true,
       description: "CodeQL action",
       scripts: {
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -55054,7 +56547,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -55177,7 +56670,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url2, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url2, options);
@@ -59875,7 +61368,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -60130,7 +61623,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -60244,7 +61737,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -60291,7 +61784,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -60331,7 +61824,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -96412,7 +97905,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -96489,7 +97982,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -105282,7 +106775,7 @@ function wrapApiConfigurationError(e) {
     ].some((pattern) => pattern.test(httpError.message))) {
       return new ConfigurationError(httpError.message);
     }
-    if (httpError.message.includes("Bad credentials") || httpError.message.includes("Not Found")) {
+    if (httpError.message.includes("Bad credentials") || httpError.message.includes("Not Found") || httpError.message.includes("Requires authentication")) {
       return new ConfigurationError(
         "Please check that your token is valid and has the required permissions: contents: read, security-events: write"
       );
@@ -105669,8 +107162,8 @@ var path5 = __toESM(require("path"));
 var semver5 = __toESM(require_semver2());
 
 // src/defaults.json
-var bundleVersion = "codeql-bundle-v2.24.0";
-var cliVersion = "2.24.0";
+var bundleVersion = "codeql-bundle-v2.24.1";
+var cliVersion = "2.24.1";
 
 // src/overlay-database-utils.ts
 var fs3 = __toESM(require("fs"));
@@ -111620,11 +113113,11 @@ void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/autobuild-action.js b/lib/autobuild-action.js
index bb50841540..59649f25bc 100644
--- a/lib/autobuild-action.js
+++ b/lib/autobuild-action.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT");
+    var AbortError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+        this.message = message || "The operation was aborted";
+        this.code = "UND_ERR_ABORT";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         this.name = "InformationalError";
         this.message = message || "Request information";
         this.code = "UND_ERR_INFO";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInformationalError] === true;
+      }
+      [kInformationalError] = true;
     };
-    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE");
+    var ResponseError = class extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        this.name = "ResponseError";
+        this.message = message || "Response error";
+        this.code = "UND_ERR_RESPONSE";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseError] === true;
+      }
+      [kResponseError] = true;
+    };
+    var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS");
+    var SecureProxyConnectionError = class extends UndiciError {
+      constructor(cause, message, options) {
+        super(message, { cause, ...options ?? {} });
+        this.name = "SecureProxyConnectionError";
+        this.message = message || "Secure Proxy Connection failed";
+        this.code = "UND_ERR_PRX_TLS";
+        this.cause = cause;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSecureProxyConnectionError] === true;
+      }
+      [kSecureProxyConnectionError] = true;
     };
     module2.exports = {
+      AbortError,
       HTTPParserError,
       UndiciError,
       HeadersTimeoutError,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              node.middle = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.code < code) {
+            if (node.left !== null) {
+              node = node.left;
+            } else {
+              node.left = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.right !== null) {
+            node = node.right;
+          } else {
+            node.right = new _TstNode(key, value, index);
+            break;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    var TernarySearchTree = class {
+      /** @type {TstNode | null} */
+      node = null;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * */
+      insert(key, value) {
+        if (this.node === null) {
+          this.node = new TstNode(key, value, 0);
+        } else {
+          this.node.add(key, value);
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {any}
+       */
+      lookup(key) {
+        return this.node?.search(key)?.value ?? null;
+      }
+    };
+    var tree = new TernarySearchTree();
+    for (let i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]];
+      tree.insert(key, key);
+    }
+    module2.exports = {
+      TernarySearchTree,
+      tree
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream = require("node:stream");
+    var net = require("node:net");
+    var { Blob: Blob2 } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var { stringify } = require("node:querystring");
+    var { EventEmitter: EE } = require("node:events");
     var { InvalidArgumentError } = require_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      if (object === null) {
+        return false;
+      } else if (object instanceof Blob2) {
+        return true;
+      } else if (typeof object !== "object") {
+        return false;
+      } else {
+        const sTag = object[Symbol.toStringTag];
+        return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function");
+      }
     }
     function buildURL(url, queryParams) {
       if (url.includes("?") || url.includes("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       return url;
     }
+    function isValidPort(port) {
+      const value = parseInt(port, 10);
+      return value === Number(port) && value >= 0 && value <= 65535;
+    }
+    function isHttpOrHttpsPrefixed(value) {
+      return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
+    }
     function parseURL(url) {
       if (typeof url === "string") {
         url = new URL(url);
-        if (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         if (url.origin != null && typeof url.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
-        let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
+        let origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
         let path7 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path7 && !path7.startsWith("/")) {
+        if (path7 && path7[0] !== "/") {
           path7 = `/${path7}`;
         }
-        url = new URL(origin + path7);
+        return new URL(`${origin}${path7}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream2) {
-      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
-    }
-    function isReadableAborted(stream2) {
-      const state = stream2 && stream2._readableState;
-      return isDestroyed(stream2) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body));
     }
     function destroy(stream2, err) {
       if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream2.destroy(err);
       } else if (err) {
-        process.nextTick((stream3, err2) => {
-          stream3.emit("error", err2);
-        }, stream2, err);
+        queueMicrotask(() => {
+          stream2.emit("error", err);
+        });
       }
       if (stream2.destroyed !== true) {
         stream2[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        if (val) {
+          if (typeof val === "string") {
             val = [val];
             obj[key] = val;
           }
           val.push(headers[i + 1].toString("utf8"));
+        } else {
+          const headersValue = headers[i + 1];
+          if (typeof headersValue === "string") {
+            obj[key] = headersValue;
+          } else {
+            obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      const len = headers.length;
+      const ret = new Array(len);
       let hasContentLength = false;
       let contentDispositionIdx = -1;
+      let key;
+      let val;
+      let kLen = 0;
       for (let n = 0; n < headers.length; n += 2) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        key = headers[n];
+        val = headers[n + 1];
+        typeof key !== "string" && (key = key.toString());
+        typeof val !== "string" && (val = val.toString("utf8"));
+        kLen = key.length;
+        if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) {
           hasContentLength = true;
-        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          type: "bytes"
+        }
       );
     }
     function isFormDataLike(object) {
       return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
     }
-    function throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.toUSVString(val);
+      return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val);
+    }
+    function isUSVString(val) {
+      return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`;
+    }
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
+      }
+    }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
+        }
       }
-      return `${val}`;
+      return true;
+    }
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    function isValidHeaderValue(characters) {
+      return !headerCharRegex.test(characters);
     }
     function parseRangeHeader(range) {
       if (range == null || range === "") return { start: 0, end: null, size: null };
@@ -22290,25 +22632,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
+    var normalizedMethodRecordsBase = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    var normalizedMethodRecords = {
+      ...normalizedMethodRecordsBase,
+      patch: "patch",
+      PATCH: "PATCH"
+    };
+    Object.setPrototypeOf(normalizedMethodRecordsBase, null);
+    Object.setPrototypeOf(normalizedMethodRecords, null);
+    module2.exports = {
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isUSVString,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
       isStream,
       isIterable,
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,15673 +22708,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay, opaque) {
-        this.callback = callback;
-        this.delay = delay;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay, opaque) {
-        return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    var diagnosticsChannel = require("node:diagnostics_channel");
+    var util = require("node:util");
+    var undiciDebugLog = util.debuglog("undici");
+    var fetchDebuglog = util.debuglog("fetch");
+    var websocketDebuglog = util.debuglog("websocket");
+    var isClientSet = false;
+    var channels = {
+      // Client
+      beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
+      connected: diagnosticsChannel.channel("undici:client:connected"),
+      connectError: diagnosticsChannel.channel("undici:client:connectError"),
+      sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
+      // Request
+      create: diagnosticsChannel.channel("undici:request:create"),
+      bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
+      headers: diagnosticsChannel.channel("undici:request:headers"),
+      trailers: diagnosticsChannel.channel("undici:request:trailers"),
+      error: diagnosticsChannel.channel("undici:request:error"),
+      // WebSocket
+      open: diagnosticsChannel.channel("undici:websocket:open"),
+      close: diagnosticsChannel.channel("undici:websocket:close"),
+      socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
+      ping: diagnosticsChannel.channel("undici:websocket:ping"),
+      pong: diagnosticsChannel.channel("undici:websocket:pong")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
+      const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog;
+      diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connecting to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connected to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host },
+          error: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path7, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path7);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path7, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path7,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path7, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path7);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path7, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path7,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    if (websocketDebuglog.enabled) {
+      if (!isClientSet) {
+        const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog;
+        diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connecting to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connected to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host },
+            error: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path7, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path7);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => {
+        const {
+          address: { address, port }
+        } = evt;
+        websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : "");
+      });
+      diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => {
+        const { websocket, code, reason } = evt;
+        websocketDebuglog(
+          "closed connection to %s - %s %s",
+          websocket.url,
+          code,
+          reason
+        );
+      });
+      diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => {
+        websocketDebuglog("connection errored - %s", err.message);
+      });
+      diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => {
+        websocketDebuglog("ping received");
+      });
+      diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => {
+        websocketDebuglog("pong received");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path7,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path7 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path7[0] !== "/" && !(path7.startsWith("http://") || path7.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path7)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
+          throw new InvalidArgumentError("invalid request method");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path7, query) : path7;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
           }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      }
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    function processHeader(request2, key, val) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path7) {
-      if (typeof path7 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path7.length - 1; i >= 0; --i) {
-        switch (path7.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path7 = path7.slice(i + 1);
-            return path7 === ".." || path7 === "." ? "" : path7;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path7 === ".." || path7 === "." ? "" : path7;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        request2.host = val;
+      } else if (request2.contentLength === null && headerName === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } else if (request2.contentType === null && headerName === "content-type") {
+        request2.contentType = val;
+        request2.headers.push(key, val);
+      } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
+        throw new InvalidArgumentError(`invalid ${headerName} header`);
+      } else if (headerName === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
         }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      compose(...args) {
+        const interceptors = Array.isArray(args[0]) ? args[0] : args;
+        let dispatch = this.dispatch.bind(this);
+        for (const interceptor of interceptors) {
+          if (interceptor == null) {
+            continue;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve5, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve5(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve5, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve5(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
+        }
+        if (!err) {
+          err = new ClientDestroyedError();
+        }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
+        });
+      }
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
+        }
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
+        }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
+      }
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
+        }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
+          }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
+          }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
+          }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
+          }
+          handler2.onError(err);
+          return false;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer");
+    var fastTimers = [];
+    var NOT_IN_LIST = -2;
+    var TO_BE_CLEARED = -1;
+    var PENDING = 0;
+    var ACTIVE = 1;
+    function onTick() {
+      fastNow += TICK_MS;
+      let idx = 0;
+      let len = fastTimers.length;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer._state === PENDING) {
+          timer._idleStart = fastNow - TICK_MS;
+          timer._state = ACTIVE;
+        } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
+          timer._state = TO_BE_CLEARED;
+          timer._idleStart = -1;
+          timer._onTimeout(timer._timerArg);
+        }
+        if (timer._state === TO_BE_CLEARED) {
+          timer._state = NOT_IN_LIST;
+          if (--len !== 0) {
+            fastTimers[idx] = fastTimers[len];
+          }
+        } else {
+          ++idx;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
-    function getGlobalOrigin() {
-      return globalThis[globalOrigin];
     }
-    function setGlobalOrigin(newOrigin) {
-      if (newOrigin === void 0) {
-        Object.defineProperty(globalThis, globalOrigin, {
-          value: void 0,
-          writable: true,
-          enumerable: false,
-          configurable: false
-        });
-        return;
+    var FastTimer = class {
+      [kFastTimer] = true;
+      /**
+       * The state of the timer, which can be one of the following:
+       * - NOT_IN_LIST (-2)
+       * - TO_BE_CLEARED (-1)
+       * - PENDING (0)
+       * - ACTIVE (1)
+       *
+       * @type {-2|-1|0|1}
+       * @private
+       */
+      _state = NOT_IN_LIST;
+      /**
+       * The number of milliseconds to wait before calling the callback.
+       *
+       * @type {number}
+       * @private
+       */
+      _idleTimeout = -1;
+      /**
+       * The time in milliseconds when the timer was started. This value is used to
+       * calculate when the timer should expire.
+       *
+       * @type {number}
+       * @default -1
+       * @private
+       */
+      _idleStart = -1;
+      /**
+       * The function to be executed when the timer expires.
+       * @type {Function}
+       * @private
+       */
+      _onTimeout;
+      /**
+       * The argument to be passed to the callback when the timer expires.
+       *
+       * @type {*}
+       * @private
+       */
+      _timerArg;
+      /**
+       * @constructor
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should wait
+       * before the specified function or code is executed.
+       * @param {*} arg
+       */
+      constructor(callback, delay, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * Sets the timer's start time to the current time, and reschedules the timer
+       * to call its callback at the previously specified duration adjusted to the
+       * current time.
+       * Using this on a timer that has already called its callback will reactivate
+       * the timer.
+       *
+       * @returns {void}
+       */
+      refresh() {
+        if (this._state === NOT_IN_LIST) {
+          fastTimers.push(this);
+        }
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
+        }
+        this._state = PENDING;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * The setTimeout() method sets a timer which executes a function once the
+       * timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {NodeJS.Timeout|FastTimer}
+       */
+      setTimeout(callback, delay, arg) {
+        return delay <= RESOLUTION_MS ? setTimeout(callback, delay, arg) : new FastTimer(callback, delay, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated Timer previously created
+       * by calling setTimeout.
+       *
+       * @param {NodeJS.Timeout|FastTimer} timeout
+       */
+      clearTimeout(timeout) {
+        if (timeout[kFastTimer]) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
+      },
+      /**
+       * The setFastTimeout() method sets a fastTimer which executes a function once
+       * the timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {FastTimer}
+       */
+      setFastTimeout(callback, delay, arg) {
+        return new FastTimer(callback, delay, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated FastTimer previously
+       * created by calling setFastTimeout.
+       *
+       * @param {FastTimer} timeout
+       */
+      clearFastTimeout(timeout) {
+        timeout.clear();
+      },
+      /**
+       * The now method returns the value of the internal fast timer clock.
+       *
+       * @returns {number}
+       */
+      now() {
+        return fastNow;
+      },
+      /**
+       * Trigger the onTick function to process the fastTimers array.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       * @param {number} [delay=0] The delay in milliseconds to add to the now value.
+       */
+      tick(delay = 0) {
+        fastNow += delay - RESOLUTION_MS + 1;
+        onTick();
+        onTick();
+      },
+      /**
+       * Reset FastTimers.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      reset() {
+        fastNow = 0;
+        fastTimers.length = 0;
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = null;
+      },
+      /**
+       * Exporting for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      kFastTimer
     };
   }
 });
 
-// node_modules/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance2 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
-    } catch {
-    }
-    function responseURL(response) {
-      const urlList = response.urlList;
-      const length = urlList.length;
-      return length === 0 ? null : urlList[length - 1].toString();
-    }
-    function responseLocationURL(response, requestFragment) {
-      if (!redirectStatusSet.has(response.status)) {
-        return null;
-      }
-      let location = response.headersList.get("location");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
-        return "blocked";
-      }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    function isValidReasonPhrase(statusText) {
-      for (let i = 0; i < statusText.length; ++i) {
-        const c = statusText.charCodeAt(i);
-        if (!(c === 9 || // HTAB
-        c >= 32 && c <= 126 || // SP / VCHAR
-        c >= 128 && c <= 255)) {
-          return false;
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
         }
-      }
-      return true;
-    }
-    function isTokenCharCode(c) {
-      switch (c) {
-        case 34:
-        case 40:
-        case 41:
-        case 44:
-        case 47:
-        case 58:
-        case 59:
-        case 60:
-        case 61:
-        case 62:
-        case 63:
-        case 64:
-        case 91:
-        case 92:
-        case 93:
-        case 123:
-        case 125:
-          return false;
-        default:
-          return c >= 33 && c <= 126;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      if (policy !== "") {
-        request2.referrerPolicy = policy;
-      }
-    }
-    function crossOriginResourcePolicyCheck() {
-      return "allowed";
-    }
-    function corsCheck() {
-      return "success";
-    }
-    function TAOCheck() {
-      return "success";
-    }
-    function appendFetchMetadata(httpRequest) {
-      let header = null;
-      header = httpRequest.mode;
-      httpRequest.headersList.set("sec-fetch-mode", header);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance2.now();
-    }
-    function createOpaqueTimingInfo(timingInfo) {
-      return {
-        startTime: timingInfo.startTime ?? 0,
-        redirectStartTime: 0,
-        redirectEndTime: 0,
-        postRedirectStartTime: timingInfo.startTime ?? 0,
-        finalServiceWorkerStartTime: 0,
-        finalNetworkResponseStartTime: 0,
-        finalNetworkRequestStartTime: 0,
-        endTime: 0,
-        encodedBodySize: 0,
-        decodedBodySize: 0,
-        finalConnectionTimingInfo: null
-      };
-    }
-    function makePolicyContainer() {
-      return {
-        referrerPolicy: "strict-origin-when-cross-origin"
-      };
-    }
-    function clonePolicyContainer(policyContainer) {
-      return {
-        referrerPolicy: policyContainer.referrerPolicy
       };
-    }
-    function determineRequestsReferrer(request2) {
-      const policy = request2.referrerPolicy;
-      assert(policy);
-      let referrerSource = null;
-      if (request2.referrer === "client") {
-        const globalOrigin = getGlobalOrigin();
-        if (!globalOrigin || globalOrigin.origin === "null") {
-          return "no-referrer";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        referrerSource = new URL(globalOrigin);
-      } else if (request2.referrer instanceof URL) {
-        referrerSource = request2.referrer;
-      }
-      let referrerURL = stripURLForReferrer(referrerSource);
-      const referrerOrigin = stripURLForReferrer(referrerSource, true);
-      if (referrerURL.toString().length > 4096) {
-        referrerURL = referrerOrigin;
-      }
-      const areSameOrigin = sameOrigin(request2, referrerURL);
-      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
-      switch (policy) {
-        case "origin":
-          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
-        case "unsafe-url":
-          return referrerURL;
-        case "same-origin":
-          return areSameOrigin ? referrerOrigin : "no-referrer";
-        case "origin-when-cross-origin":
-          return areSameOrigin ? referrerURL : referrerOrigin;
-        case "strict-origin-when-cross-origin": {
-          const currentURL = requestCurrentURL(request2);
-          if (sameOrigin(referrerURL, currentURL)) {
-            return referrerURL;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url, originOnly) {
-      assert(url instanceof URL);
-      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url.username = "";
-      url.password = "";
-      url.hash = "";
-      if (originOnly) {
-        url.pathname = "";
-        url.search = "";
-      }
-      return url;
-    }
-    function isURLPotentiallyTrustworthy(url) {
-      if (!(url instanceof URL)) {
-        return false;
-      }
-      if (url.href === "about:blank" || url.href === "about:srcdoc") {
-        return true;
-      }
-      if (url.protocol === "data:") return true;
-      if (url.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto2 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
       }
-      const strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
-        if (actualValue[actualValue.length - 1] === "=") {
-          if (actualValue[actualValue.length - 2] === "=") {
-            actualValue = actualValue.slice(0, -2);
-          } else {
-            actualValue = actualValue.slice(0, -1);
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("node:tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          assert(sessionKey);
+          const session = customSession || sessionCache.get(sessionKey) || null;
+          port = port || 443;
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          port = port || 80;
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port,
+            host: hostname
+          });
         }
-        if (compareBase64Mixed(actualValue, expectedValue)) {
-          return true;
-        }
-      }
-      return false;
-    }
-    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
-    function parseMetadata(metadata) {
-      const result = [];
-      let empty = true;
-      for (const token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
-          continue;
-        }
-        const algorithm = parsedToken.groups.algo.toLowerCase();
-        if (supportedHashes.includes(algorithm)) {
-          result.push(parsedToken.groups);
-        }
-      }
-      if (empty === true) {
-        return "no metadata";
-      }
-      return result;
-    }
-    function getStrongestMetadata(metadataList) {
-      let algorithm = metadataList[0].algo;
-      if (algorithm[3] === "5") {
-        return algorithm;
-      }
-      for (let i = 1; i < metadataList.length; ++i) {
-        const metadata = metadataList[i];
-        if (metadata.algo[3] === "5") {
-          algorithm = "sha512";
-          break;
-        } else if (algorithm[3] === "3") {
-          continue;
-        } else if (metadata.algo[3] === "3") {
-          algorithm = "sha384";
-        }
-      }
-      return algorithm;
-    }
-    function filterMetadataListByAlgorithm(metadataList, algorithm) {
-      if (metadataList.length === 1) {
-        return metadataList;
-      }
-      let pos = 0;
-      for (let i = 0; i < metadataList.length; ++i) {
-        if (metadataList[i].algo === algorithm) {
-          metadataList[pos++] = metadataList[i];
-        }
-      }
-      metadataList.length = pos;
-      return metadataList;
-    }
-    function compareBase64Mixed(actualValue, expectedValue) {
-      if (actualValue.length !== expectedValue.length) {
-        return false;
-      }
-      for (let i = 0; i < actualValue.length; ++i) {
-        if (actualValue[i] !== expectedValue[i]) {
-          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
-            continue;
-          }
-          return false;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      return true;
-    }
-    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
-    }
-    function sameOrigin(A, B) {
-      if (A.origin === B.origin && A.origin === "null") {
-        return true;
-      }
-      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
-        return true;
-      }
-      return false;
-    }
-    function createDeferredPromise() {
-      let res;
-      let rej;
-      const promise = new Promise((resolve5, reject) => {
-        res = resolve5;
-        rej = reject;
-      });
-      return { promise, resolve: res, reject: rej };
-    }
-    function isAborted(fetchParams) {
-      return fetchParams.controller.state === "aborted";
-    }
-    function isCancelled(fetchParams) {
-      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
-    }
-    function serializeJavascriptValueToJSONString(value) {
-      const result = JSON.stringify(value);
-      if (result === void 0) {
-        throw new TypeError("Value is not JSON serializable");
-      }
-      assert(typeof result === "string");
-      return result;
-    }
-    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port });
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      let s1 = null;
+      let s2 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    } : (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      let s1 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          onConnectTimeout(socketWeakRef.deref(), opts);
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+      };
+    };
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
+        return;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    async function readAllBytes(reader) {
-      const bytes = [];
-      let byteLength = 0;
-      while (true) {
-        const { done, value: chunk } = await reader.read();
-        if (done) {
-          return Buffer.concat(bytes, byteLength);
-        }
-        if (!isUint8Array(chunk)) {
-          throw new TypeError("Received non-Uint8Array chunk");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        bytes.push(chunk);
-        byteLength += chunk.length;
-      }
-    }
-    function urlIsLocal(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
-    }
-    function urlHasHttpsScheme(url) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
-      }
-      return url.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.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
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDsYBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHyAhIyUmKCorLC8wMTIzNDU2Nzk6Ozw9lANAQkRFRklLTk9QUVJTVFVWWFpbXF1eX2BhYmNkZWZnaGpsb3Bxc3V2eHl6e3x/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcsBzAHNAc4BzwGKA4kDiAOHA4QDgwOAA/sC+gL5AvgC9wL0AvMC8gLLAsECsALZAQsgASAERw3wAkHdASEDDLMDCyABIARHDcgBQcMBIQMMsgMLIAEgBEcNe0H3ACEDDLEDCyABIARHDXBB7wAhAwywAwsgASAERw1pQeoAIQMMrwMLIAEgBEcNZUHoACEDDK4DCyABIARHDWJB5gAhAwytAwsgASAERw0aQRghAwysAwsgASAERw0VQRIhAwyrAwsgASAERw1CQcUAIQMMqgMLIAEgBEcNNEE/IQMMqQMLIAEgBEcNMkE8IQMMqAMLIAEgBEcNK0ExIQMMpwMLIAItAC5BAUYNnwMMwQILQQAhAAJAAkACQCACLQAqRQ0AIAItACtFDQAgAi8BMCIDQQJxRQ0BDAILIAIvATAiA0EBcUUNAQtBASEAIAItAChBAUYNACACLwEyIgVB5ABrQeQASQ0AIAVBzAFGDQAgBUGwAkYNACADQcAAcQ0AQQAhACADQYgEcUGABEYNACADQShxQQBHIQALIAJBADsBMCACQQA6AC8gAEUN3wIgAkIANwMgDOACC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAARQ3MASAAQRVHDd0CIAJBBDYCHCACIAE2AhQgAkGwGDYCECACQRU2AgxBACEDDKQDCyABIARGBEBBBiEDDKQDCyABQQFqIQFBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAA3ZAgwcCyACQgA3AyBBEiEDDIkDCyABIARHDRZBHSEDDKEDCyABIARHBEAgAUEBaiEBQRAhAwyIAwtBByEDDKADCyACIAIpAyAiCiAEIAFrrSILfSIMQgAgCiAMWhs3AyAgCiALWA3UAkEIIQMMnwMLIAEgBEcEQCACQQk2AgggAiABNgIEQRQhAwyGAwtBCSEDDJ4DCyACKQMgQgBSDccBIAIgAi8BMEGAAXI7ATAMQgsgASAERw0/QdAAIQMMnAMLIAEgBEYEQEELIQMMnAMLIAFBAWohAUEAIQACQCACKAI4IgNFDQAgAygCUCIDRQ0AIAIgAxEAACEACyAADc8CDMYBC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ3GASAAQRVHDc0CIAJBCzYCHCACIAE2AhQgAkGCGTYCECACQRU2AgxBACEDDJoDC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ0MIABBFUcNygIgAkEaNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMmQMLQQAhAAJAIAIoAjgiA0UNACADKAJMIgNFDQAgAiADEQAAIQALIABFDcQBIABBFUcNxwIgAkELNgIcIAIgATYCFCACQZEXNgIQIAJBFTYCDEEAIQMMmAMLIAEgBEYEQEEPIQMMmAMLIAEtAAAiAEE7Rg0HIABBDUcNxAIgAUEBaiEBDMMBC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3DASAAQRVHDcICIAJBDzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJYDCwNAIAEtAABB8DVqLQAAIgBBAUcEQCAAQQJHDcECIAIoAgQhAEEAIQMgAkEANgIEIAIgACABQQFqIgEQLSIADcICDMUBCyAEIAFBAWoiAUcNAAtBEiEDDJUDC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3FASAAQRVHDb0CIAJBGzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJQDCyABIARGBEBBFiEDDJQDCyACQQo2AgggAiABNgIEQQAhAAJAIAIoAjgiA0UNACADKAJIIgNFDQAgAiADEQAAIQALIABFDcIBIABBFUcNuQIgAkEVNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMkwMLIAEgBEcEQANAIAEtAABB8DdqLQAAIgBBAkcEQAJAIABBAWsOBMQCvQIAvgK9AgsgAUEBaiEBQQghAwz8AgsgBCABQQFqIgFHDQALQRUhAwyTAwtBFSEDDJIDCwNAIAEtAABB8DlqLQAAIgBBAkcEQCAAQQFrDgTFArcCwwK4ArcCCyAEIAFBAWoiAUcNAAtBGCEDDJEDCyABIARHBEAgAkELNgIIIAIgATYCBEEHIQMM+AILQRkhAwyQAwsgAUEBaiEBDAILIAEgBEYEQEEaIQMMjwMLAkAgAS0AAEENaw4UtQG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwEAvwELQQAhAyACQQA2AhwgAkGvCzYCECACQQI2AgwgAiABQQFqNgIUDI4DCyABIARGBEBBGyEDDI4DCyABLQAAIgBBO0cEQCAAQQ1HDbECIAFBAWohAQy6AQsgAUEBaiEBC0EiIQMM8wILIAEgBEYEQEEcIQMMjAMLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43wQLAAgABAgMEBQYH0AHQAdAB0AHQAdAB0AEICQoLDA3QAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdABDg8QERIT0AELQgIhCgzAAgtCAyEKDL8CC0IEIQoMvgILQgUhCgy9AgtCBiEKDLwCC0IHIQoMuwILQgghCgy6AgtCCSEKDLkCC0IKIQoMuAILQgshCgy3AgtCDCEKDLYCC0INIQoMtQILQg4hCgy0AgtCDyEKDLMCC0IKIQoMsgILQgshCgyxAgtCDCEKDLACC0INIQoMrwILQg4hCgyuAgtCDyEKDK0CC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsON8ACvwIAAQIDBAUGB74CvgK+Ar4CvgK+Ar4CCAkKCwwNvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ag4PEBESE74CC0ICIQoMvwILQgMhCgy+AgtCBCEKDL0CC0IFIQoMvAILQgYhCgy7AgtCByEKDLoCC0IIIQoMuQILQgkhCgy4AgtCCiEKDLcCC0ILIQoMtgILQgwhCgy1AgtCDSEKDLQCC0IOIQoMswILQg8hCgyyAgtCCiEKDLECC0ILIQoMsAILQgwhCgyvAgtCDSEKDK4CC0IOIQoMrQILQg8hCgysAgsgAiACKQMgIgogBCABa60iC30iDEIAIAogDFobNwMgIAogC1gNpwJBHyEDDIkDCyABIARHBEAgAkEJNgIIIAIgATYCBEElIQMM8AILQSAhAwyIAwtBASEFIAIvATAiA0EIcUUEQCACKQMgQgBSIQULAkAgAi0ALgRAQQEhACACLQApQQVGDQEgA0HAAHFFIAVxRQ0BC0EAIQAgA0HAAHENAEECIQAgA0EIcQ0AIANBgARxBEACQCACLQAoQQFHDQAgAi0ALUEKcQ0AQQUhAAwCC0EEIQAMAQsgA0EgcUUEQAJAIAItAChBAUYNACACLwEyIgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNAEEEIQAgA0EocUUNAiADQYgEcUGABEYNAgtBACEADAELQQBBAyACKQMgUBshAAsgAEEBaw4FvgIAsAEBpAKhAgtBESEDDO0CCyACQQE6AC8MhAMLIAEgBEcNnQJBJCEDDIQDCyABIARHDRxBxgAhAwyDAwtBACEAAkAgAigCOCIDRQ0AIAMoAkQiA0UNACACIAMRAAAhAAsgAEUNJyAAQRVHDZgCIAJB0AA2AhwgAiABNgIUIAJBkRg2AhAgAkEVNgIMQQAhAwyCAwsgASAERgRAQSghAwyCAwtBACEDIAJBADYCBCACQQw2AgggAiABIAEQKiIARQ2UAiACQSc2AhwgAiABNgIUIAIgADYCDAyBAwsgASAERgRAQSkhAwyBAwsgAS0AACIAQSBGDRMgAEEJRw2VAiABQQFqIQEMFAsgASAERwRAIAFBAWohAQwWC0EqIQMM/wILIAEgBEYEQEErIQMM/wILIAEtAAAiAEEJRyAAQSBHcQ2QAiACLQAsQQhHDd0CIAJBADoALAzdAgsgASAERgRAQSwhAwz+AgsgAS0AAEEKRw2OAiABQQFqIQEMsAELIAEgBEcNigJBLyEDDPwCCwNAIAEtAAAiAEEgRwRAIABBCmsOBIQCiAKIAoQChgILIAQgAUEBaiIBRw0AC0ExIQMM+wILQTIhAyABIARGDfoCIAIoAgAiACAEIAFraiEHIAEgAGtBA2ohBgJAA0AgAEHwO2otAAAgAS0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAEEDRgRAQQYhAQziAgsgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAc2AgAM+wILIAJBADYCAAyGAgtBMyEDIAQgASIARg35AiAEIAFrIAIoAgAiAWohByAAIAFrQQhqIQYCQANAIAFB9DtqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBCEYEQEEFIQEM4QILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPoCCyACQQA2AgAgACEBDIUCC0E0IQMgBCABIgBGDfgCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgJAA0AgAUHQwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEM4AILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPkCCyACQQA2AgAgACEBDIQCCyABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRg0JDIECCyAEIAFBAWoiAUcNAAtBMCEDDPgCC0EwIQMM9wILIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBP8B/gH+Af8B/gELIAQgAUEBaiIBRw0AC0E4IQMM9wILQTghAwz2AgsDQCABLQAAIgBBIEcgAEEJR3EN9gEgBCABQQFqIgFHDQALQTwhAwz1AgsDQCABLQAAIgBBIEcEQAJAIABBCmsOBPkBBAT5AQALIABBLEYN9QEMAwsgBCABQQFqIgFHDQALQT8hAwz0AgtBwAAhAyABIARGDfMCIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEGAQGstAAAgAS0AAEEgckcNASAAQQZGDdsCIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPQCCyACQQA2AgALQTYhAwzZAgsgASAERgRAQcEAIQMM8gILIAJBDDYCCCACIAE2AgQgAi0ALEEBaw4E+wHuAewB6wHUAgsgAUEBaiEBDPoBCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIQMM3AILIAFBAWohAUEyIQMM2wILIAFBAWohAUEzIQMM2gILDP4BCyAEIAFBAWoiAUcNAAtBNSEDDPACC0E1IQMM7wILIAEgBEcEQANAIAEtAABBgDxqLQAAQQFHDfcBIAQgAUEBaiIBRw0AC0E9IQMM7wILQT0hAwzuAgtBACEAAkAgAigCOCIDRQ0AIAMoAkAiA0UNACACIAMRAAAhAAsgAEUNASAAQRVHDeYBIAJBwgA2AhwgAiABNgIUIAJB4xg2AhAgAkEVNgIMQQAhAwztAgsgAUEBaiEBC0E8IQMM0gILIAEgBEYEQEHCACEDDOsCCwJAA0ACQCABLQAAQQlrDhgAAswCzALRAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAgDMAgsgBCABQQFqIgFHDQALQcIAIQMM6wILIAFBAWohASACLQAtQQFxRQ3+AQtBLCEDDNACCyABIARHDd4BQcQAIQMM6AILA0AgAS0AAEGQwABqLQAAQQFHDZwBIAQgAUEBaiIBRw0AC0HFACEDDOcCCyABLQAAIgBBIEYN/gEgAEE6Rw3AAiACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgAN3gEM3QELQccAIQMgBCABIgBGDeUCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFBkMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvwIgAUEFRg3CAiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzlAgtByAAhAyAEIAEiAEYN5AIgBCABayACKAIAIgFqIQcgACABa0EJaiEGA0AgAUGWwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw2+AkECIAFBCUYNwgIaIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOQCCyABIARGBEBByQAhAwzkAgsCQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQe4Aaw4HAL8CvwK/Ar8CvwIBvwILIAFBAWohAUE+IQMMywILIAFBAWohAUE/IQMMygILQcoAIQMgBCABIgBGDeICIAQgAWsgAigCACIBaiEGIAAgAWtBAWohBwNAIAFBoMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvAIgAUEBRg2+AiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBjYCAAziAgtBywAhAyAEIAEiAEYN4QIgBCABayACKAIAIgFqIQcgACABa0EOaiEGA0AgAUGiwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw27AiABQQ5GDb4CIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOECC0HMACEDIAQgASIARg3gAiAEIAFrIAIoAgAiAWohByAAIAFrQQ9qIQYDQCABQcDCAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDboCQQMgAUEPRg2+AhogAUEBaiEBIAQgAEEBaiIARw0ACyACIAc2AgAM4AILQc0AIQMgBCABIgBGDd8CIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFB0MIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNuQJBBCABQQVGDb0CGiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzfAgsgASAERgRAQc4AIQMM3wILAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCAbwCvAK8AgIDvAILIAFBAWohAUHBACEDDMgCCyABQQFqIQFBwgAhAwzHAgsgAUEBaiEBQcMAIQMMxgILIAFBAWohAUHEACEDDMUCCyABIARHBEAgAkENNgIIIAIgATYCBEHFACEDDMUCC0HPACEDDN0CCwJAAkAgAS0AAEEKaw4EAZABkAEAkAELIAFBAWohAQtBKCEDDMMCCyABIARGBEBB0QAhAwzcAgsgAS0AAEEgRw0AIAFBAWohASACLQAtQQFxRQ3QAQtBFyEDDMECCyABIARHDcsBQdIAIQMM2QILQdMAIQMgASAERg3YAiACKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABB1sIAai0AAEcNxwEgAEEBRg3KASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBjYCAAzYAgsgASAERgRAQdUAIQMM2AILIAEtAABBCkcNwgEgAUEBaiEBDMoBCyABIARGBEBB1gAhAwzXAgsCQAJAIAEtAABBCmsOBADDAcMBAcMBCyABQQFqIQEMygELIAFBAWohAUHKACEDDL0CC0EAIQACQCACKAI4IgNFDQAgAygCPCIDRQ0AIAIgAxEAACEACyAADb8BQc0AIQMMvAILIAItAClBIkYNzwIMiQELIAQgASIFRgRAQdsAIQMM1AILQQAhAEEBIQFBASEGQQAhAwJAAn8CQAJAAkACQAJAAkACQCAFLQAAQTBrDgrFAcQBAAECAwQFBgjDAQtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshA0EAIQFBACEGDL0BC0EJIQNBASEAQQAhAUEAIQYMvAELIAEgBEYEQEHdACEDDNMCCyABLQAAQS5HDbgBIAFBAWohAQyIAQsgASAERw22AUHfACEDDNECCyABIARHBEAgAkEONgIIIAIgATYCBEHQACEDDLgCC0HgACEDDNACC0HhACEDIAEgBEYNzwIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGA0AgAS0AACAAQeLCAGotAABHDbEBIABBA0YNswEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMzwILQeIAIQMgASAERg3OAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYDQCABLQAAIABB5sIAai0AAEcNsAEgAEECRg2vASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAzOAgtB4wAhAyABIARGDc0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgNAIAEtAAAgAEHpwgBqLQAARw2vASAAQQNGDa0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADM0CCyABIARGBEBB5QAhAwzNAgsgAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANqgFB1gAhAwyzAgsgASAERwRAA0AgAS0AACIAQSBHBEACQAJAAkAgAEHIAGsOCwABswGzAbMBswGzAbMBswGzAQKzAQsgAUEBaiEBQdIAIQMMtwILIAFBAWohAUHTACEDDLYCCyABQQFqIQFB1AAhAwy1AgsgBCABQQFqIgFHDQALQeQAIQMMzAILQeQAIQMMywILA0AgAS0AAEHwwgBqLQAAIgBBAUcEQCAAQQJrDgOnAaYBpQGkAQsgBCABQQFqIgFHDQALQeYAIQMMygILIAFBAWogASAERw0CGkHnACEDDMkCCwNAIAEtAABB8MQAai0AACIAQQFHBEACQCAAQQJrDgSiAaEBoAEAnwELQdcAIQMMsQILIAQgAUEBaiIBRw0AC0HoACEDDMgCCyABIARGBEBB6QAhAwzIAgsCQCABLQAAIgBBCmsOGrcBmwGbAbQBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBpAGbAZsBAJkBCyABQQFqCyEBQQYhAwytAgsDQCABLQAAQfDGAGotAABBAUcNfSAEIAFBAWoiAUcNAAtB6gAhAwzFAgsgAUEBaiABIARHDQIaQesAIQMMxAILIAEgBEYEQEHsACEDDMQCCyABQQFqDAELIAEgBEYEQEHtACEDDMMCCyABQQFqCyEBQQQhAwyoAgsgASAERgRAQe4AIQMMwQILAkACQAJAIAEtAABB8MgAai0AAEEBaw4HkAGPAY4BAHwBAo0BCyABQQFqIQEMCwsgAUEBagyTAQtBACEDIAJBADYCHCACQZsSNgIQIAJBBzYCDCACIAFBAWo2AhQMwAILAkADQCABLQAAQfDIAGotAAAiAEEERwRAAkACQCAAQQFrDgeUAZMBkgGNAQAEAY0BC0HaACEDDKoCCyABQQFqIQFB3AAhAwypAgsgBCABQQFqIgFHDQALQe8AIQMMwAILIAFBAWoMkQELIAQgASIARgRAQfAAIQMMvwILIAAtAABBL0cNASAAQQFqIQEMBwsgBCABIgBGBEBB8QAhAwy+AgsgAC0AACIBQS9GBEAgAEEBaiEBQd0AIQMMpQILIAFBCmsiA0EWSw0AIAAhAUEBIAN0QYmAgAJxDfkBC0EAIQMgAkEANgIcIAIgADYCFCACQYwcNgIQIAJBBzYCDAy8AgsgASAERwRAIAFBAWohAUHeACEDDKMCC0HyACEDDLsCCyABIARGBEBB9AAhAwy7AgsCQCABLQAAQfDMAGotAABBAWsOA/cBcwCCAQtB4QAhAwyhAgsgASAERwRAA0AgAS0AAEHwygBqLQAAIgBBA0cEQAJAIABBAWsOAvkBAIUBC0HfACEDDKMCCyAEIAFBAWoiAUcNAAtB8wAhAwy6AgtB8wAhAwy5AgsgASAERwRAIAJBDzYCCCACIAE2AgRB4AAhAwygAgtB9QAhAwy4AgsgASAERgRAQfYAIQMMuAILIAJBDzYCCCACIAE2AgQLQQMhAwydAgsDQCABLQAAQSBHDY4CIAQgAUEBaiIBRw0AC0H3ACEDDLUCCyABIARGBEBB+AAhAwy1AgsgAS0AAEEgRw16IAFBAWohAQxbC0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAADXgMgAILIAEgBEYEQEH6ACEDDLMCCyABLQAAQcwARw10IAFBAWohAUETDHYLQfsAIQMgASAERg2xAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYDQCABLQAAIABB8M4Aai0AAEcNcyAAQQVGDXUgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMsQILIAEgBEYEQEH8ACEDDLECCwJAAkAgAS0AAEHDAGsODAB0dHR0dHR0dHR0AXQLIAFBAWohAUHmACEDDJgCCyABQQFqIQFB5wAhAwyXAgtB/QAhAyABIARGDa8CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDXIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADLACCyACQQA2AgAgBkEBaiEBQRAMcwtB/gAhAyABIARGDa4CIAIoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQfbOAGotAABHDXEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK8CCyACQQA2AgAgBkEBaiEBQRYMcgtB/wAhAyABIARGDa0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQfzOAGotAABHDXAgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK4CCyACQQA2AgAgBkEBaiEBQQUMcQsgASAERgRAQYABIQMMrQILIAEtAABB2QBHDW4gAUEBaiEBQQgMcAsgASAERgRAQYEBIQMMrAILAkACQCABLQAAQc4Aaw4DAG8BbwsgAUEBaiEBQesAIQMMkwILIAFBAWohAUHsACEDDJICCyABIARGBEBBggEhAwyrAgsCQAJAIAEtAABByABrDggAbm5ubm5uAW4LIAFBAWohAUHqACEDDJICCyABQQFqIQFB7QAhAwyRAgtBgwEhAyABIARGDakCIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQYDPAGotAABHDWwgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKoCCyACQQA2AgAgBkEBaiEBQQAMbQtBhAEhAyABIARGDagCIAIoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQYPPAGotAABHDWsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKkCCyACQQA2AgAgBkEBaiEBQSMMbAsgASAERgRAQYUBIQMMqAILAkACQCABLQAAQcwAaw4IAGtra2trawFrCyABQQFqIQFB7wAhAwyPAgsgAUEBaiEBQfAAIQMMjgILIAEgBEYEQEGGASEDDKcCCyABLQAAQcUARw1oIAFBAWohAQxgC0GHASEDIAEgBEYNpQIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBiM8Aai0AAEcNaCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpgILIAJBADYCACAGQQFqIQFBLQxpC0GIASEDIAEgBEYNpAIgAigCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABB0M8Aai0AAEcNZyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpQILIAJBADYCACAGQQFqIQFBKQxoCyABIARGBEBBiQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    "use strict";
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVuaWVudF9oZWFkZXJzACEhbGxodHRwX3NldF9sZW5pZW50X2NodW5rZWRfbGVuZ3RoACIdbGxodHRwX3NldF9sZW5pZW50X2tlZXBfYWxpdmUAIyRsbGh0dHBfc2V0X2xlbmllbnRfdHJhbnNmZXJfZW5jb2RpbmcAJBhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YALgkXAQBBAQsRAQIDBAUKBgcrLSwqKSglJyYK77MCLBYAQYjQACgCAARAAAtBiNAAQQE2AgALFAAgABAwIAAgAjYCOCAAIAE6ACgLFAAgACAALwEyIAAtAC4gABAvEAALHgEBf0HAABAyIgEQMCABQYAINgI4IAEgADoAKCABC48MAQd/AkAgAEUNACAAQQhrIgEgAEEEaygCACIAQXhxIgRqIQUCQCAAQQFxDQAgAEEDcUUNASABIAEoAgAiAGsiAUGc0AAoAgBJDQEgACAEaiEEAkACQEGg0AAoAgAgAUcEQCAAQf8BTQRAIABBA3YhAyABKAIIIgAgASgCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyABKAIYIQYgASABKAIMIgBHBEAgACABKAIIIgI2AgggAiAANgIMDAMLIAFBFGoiAygCACICRQRAIAEoAhAiAkUNAiABQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFKAIEIgBBA3FBA0cNAiAFIABBfnE2AgRBlNAAIAQ2AgAgBSAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCABKAIcIgJBAnRBvNIAaiIDKAIAIAFGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgAUYbaiAANgIAIABFDQELIAAgBjYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAFTw0AIAUoAgQiAEEBcUUNAAJAAkACQAJAIABBAnFFBEBBpNAAKAIAIAVGBEBBpNAAIAE2AgBBmNAAQZjQACgCACAEaiIANgIAIAEgAEEBcjYCBCABQaDQACgCAEcNBkGU0ABBADYCAEGg0ABBADYCAAwGC0Gg0AAoAgAgBUYEQEGg0AAgATYCAEGU0ABBlNAAKAIAIARqIgA2AgAgASAAQQFyNgIEIAAgAWogADYCAAwGCyAAQXhxIARqIQQgAEH/AU0EQCAAQQN2IQMgBSgCCCIAIAUoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgBSgCGCEGIAUgBSgCDCIARwRAQZzQACgCABogACAFKAIIIgI2AgggAiAANgIMDAMLIAVBFGoiAygCACICRQRAIAUoAhAiAkUNAiAFQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFIABBfnE2AgQgASAEaiAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCAFKAIcIgJBAnRBvNIAaiIDKAIAIAVGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiAANgIAIABFDQELIAAgBjYCGCAFKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAFQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAEaiAENgIAIAEgBEEBcjYCBCABQaDQACgCAEcNAEGU0AAgBDYCAAwBCyAEQf8BTQRAIARBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASAEQQN2dCIDcUUEQEGM0AAgAiADcjYCACAADAELIAAoAggLIgIgATYCDCAAIAE2AgggASAANgIMIAEgAjYCCAwBC0EfIQIgBEH///8HTQRAIARBJiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAgsgASACNgIcIAFCADcCECACQQJ0QbzSAGohAAJAQZDQACgCACIDQQEgAnQiB3FFBEAgACABNgIAQZDQACADIAdyNgIAIAEgADYCGCABIAE2AgggASABNgIMDAELIARBGSACQQF2a0EAIAJBH0cbdCECIAAoAgAhAAJAA0AgACIDKAIEQXhxIARGDQEgAkEddiEAIAJBAXQhAiADIABBBHFqQRBqIgcoAgAiAA0ACyAHIAE2AgAgASADNgIYIAEgATYCDCABIAE2AggMAQsgAygCCCIAIAE2AgwgAyABNgIIIAFBADYCGCABIAM2AgwgASAANgIIC0Gs0ABBrNAAKAIAQQFrIgBBfyAAGzYCAAsLBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LQAEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABAwIAAgBDYCOCAAIAM6ACggACACOgAtIAAgATYCGAu74gECB38DfiABIAJqIQQCQCAAIgIoAgwiAA0AIAIoAgQEQCACIAE2AgQLIwBBEGsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAhwiA0EBaw7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBywHKAbgByQG5AcgBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgEA3AELQQAMxgELQQ4MxQELQQ0MxAELQQ8MwwELQRAMwgELQRMMwQELQRQMwAELQRUMvwELQRYMvgELQRgMvQELQRkMvAELQRoMuwELQRsMugELQRwMuQELQR0MuAELQQgMtwELQR4MtgELQSAMtQELQR8MtAELQQcMswELQSEMsgELQSIMsQELQSMMsAELQSQMrwELQRIMrgELQREMrQELQSUMrAELQSYMqwELQScMqgELQSgMqQELQcMBDKgBC0EqDKcBC0ErDKYBC0EsDKUBC0EtDKQBC0EuDKMBC0EvDKIBC0HEAQyhAQtBMAygAQtBNAyfAQtBDAyeAQtBMQydAQtBMgycAQtBMwybAQtBOQyaAQtBNQyZAQtBxQEMmAELQQsMlwELQToMlgELQTYMlQELQQoMlAELQTcMkwELQTgMkgELQTwMkQELQTsMkAELQT0MjwELQQkMjgELQSkMjQELQT4MjAELQT8MiwELQcAADIoBC0HBAAyJAQtBwgAMiAELQcMADIcBC0HEAAyGAQtBxQAMhQELQcYADIQBC0EXDIMBC0HHAAyCAQtByAAMgQELQckADIABC0HKAAx/C0HLAAx+C0HNAAx9C0HMAAx8C0HOAAx7C0HPAAx6C0HQAAx5C0HRAAx4C0HSAAx3C0HTAAx2C0HUAAx1C0HWAAx0C0HVAAxzC0EGDHILQdcADHELQQUMcAtB2AAMbwtBBAxuC0HZAAxtC0HaAAxsC0HbAAxrC0HcAAxqC0EDDGkLQd0ADGgLQd4ADGcLQd8ADGYLQeEADGULQeAADGQLQeIADGMLQeMADGILQQIMYQtB5AAMYAtB5QAMXwtB5gAMXgtB5wAMXQtB6AAMXAtB6QAMWwtB6gAMWgtB6wAMWQtB7AAMWAtB7QAMVwtB7gAMVgtB7wAMVQtB8AAMVAtB8QAMUwtB8gAMUgtB8wAMUQtB9AAMUAtB9QAMTwtB9gAMTgtB9wAMTQtB+AAMTAtB+QAMSwtB+gAMSgtB+wAMSQtB/AAMSAtB/QAMRwtB/gAMRgtB/wAMRQtBgAEMRAtBgQEMQwtBggEMQgtBgwEMQQtBhAEMQAtBhQEMPwtBhgEMPgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+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");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var corsSafeListedMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "POST"]
+    );
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = (
+      /** @type {const} */
+      [101, 204, 205, 304]
+    );
+    var redirectStatus = (
+      /** @type {const} */
+      [301, 302, 303, 307, 308]
+    );
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = (
+      /** @type {const} */
+      [
+        "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"
+      ]
+    );
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = (
+      /** @type {const} */
+      [
+        "",
+        "no-referrer",
+        "no-referrer-when-downgrade",
+        "same-origin",
+        "origin",
+        "strict-origin",
+        "origin-when-cross-origin",
+        "strict-origin-when-cross-origin",
+        "unsafe-url"
+      ]
+    );
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = (
+      /** @type {const} */
+      ["follow", "manual", "error"]
+    );
+    var safeMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "OPTIONS", "TRACE"]
+    );
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = (
+      /** @type {const} */
+      ["navigate", "same-origin", "no-cors", "cors"]
+    );
+    var requestCredentials = (
+      /** @type {const} */
+      ["omit", "same-origin", "include"]
+    );
+    var requestCache = (
+      /** @type {const} */
+      [
+        "default",
+        "no-store",
+        "reload",
+        "no-cache",
+        "force-cache",
+        "only-if-cached"
+      ]
+    );
+    var requestBodyHeader = (
+      /** @type {const} */
+      [
+        "content-encoding",
+        "content-language",
+        "content-location",
+        "content-type",
+        // See https://github.com/nodejs/undici/issues/2021
+        // 'Content-Length' is a forbidden header name, which is typically
+        // removed in the Headers implementation. However, undici doesn't
+        // filter out headers, so we add it here.
+        "content-length"
+      ]
+    );
+    var requestDuplex = (
+      /** @type {const} */
+      [
+        "half"
+      ]
+    );
+    var forbiddenMethods = (
+      /** @type {const} */
+      ["CONNECT", "TRACE", "TRACK"]
+    );
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = (
+      /** @type {const} */
+      [
+        "audio",
+        "audioworklet",
+        "font",
+        "image",
+        "manifest",
+        "paintworklet",
+        "script",
+        "style",
+        "track",
+        "video",
+        "xslt",
+        ""
+      ]
+    );
+    var subresourceSet = new Set(subresource);
+    module2.exports = {
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
+      }
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
+    }
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function percentDecode(input) {
+      const length = input.length;
+      const output = new Uint8Array(length);
+      let j = 0;
+      for (let i = 0; i < length; ++i) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output[j++] = byte;
+        } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) {
+          output[j++] = 37;
+        } else {
+          output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]);
+          i += 2;
+        }
+      }
+      return length === j ? output : output.subarray(0, j);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
+      }
+      if (position.position > input.length) {
+        return "failure";
+      }
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
+      }
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
+          }
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+        } else {
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
+          }
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
+    }
+    function forgivingBase64(data) {
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
+          }
+        }
+      }
+      if (dataLength % 4 === 1) {
+        return "failure";
+      }
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
+      }
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
+    }
+    function isomorphicDecode(input) {
+      const length = input.length;
+      if ((2 << 15) - 1 > length) {
+        return String.fromCharCode.apply(null, input);
+      }
+      let result = "";
+      let i = 0;
+      let addition = (2 << 15) - 1;
+      while (i < length) {
+        if (i + addition > length) {
+          addition = length - i;
+        }
+        result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
+      }
+      return result;
+    }
+    function minimizeSupportedMimeType(mimeType) {
+      switch (mimeType.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";
+      }
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
+      }
+      if (mimeType.subtype.endsWith("+xml")) {
+        return "application/xml";
+      }
+      return "";
+    }
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType,
+      removeChars,
+      removeHTTPWhitespace,
+      minimizeSupportedMimeType,
+      HTTP_TOKEN_CODEPOINTS,
+      isomorphicDecode
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts) {
+      if (opts?.strict !== false) {
+        if (!(V instanceof I)) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      } else {
+        if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      }
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          header: ctx
+        });
+      }
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
+      });
+    };
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
+          }
+          return "Object";
+        }
+      }
+    };
+    webidl.util.markAsUncloneable = markAsUncloneable || (() => {
+    });
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
+        }
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
+      }
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
+      }
+      if (opts?.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
+          });
+        }
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
+        }
+        return x;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
+      }
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
+      }
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
+      }
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
+      }
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        let index = 0;
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} is not iterable.`
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O, prefix, argument) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} ("${webidl.util.Type(O)}") is not an Object.`
+          });
+        }
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
+          for (const key of keys2) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+          return result;
+        }
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+        }
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, prefix, argument, opts) => {
+        if (opts?.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.`
+          });
+        }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary, prefix, argument) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
+          });
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!Object.hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = Object.hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value ??= defaultValue();
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value, prefix, `${argument}.${key}`);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V, prefix, argument) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V, prefix, argument);
+      };
+    };
+    webidl.converters.DOMString = function(V, prefix, argument, opts) {
+      if (V === null && opts?.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${argument} is a symbol, which cannot be converted to a DOMString.`
+        });
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V, prefix, argument) {
+      const x = webidl.converters.DOMString(V, prefix, argument);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
+      }
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, prefix, argument, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${argument} ("${webidl.util.Stringify(V)}")`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.resizable || V.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${name} ("${webidl.util.Stringify(V)}")`,
+          types: [T.name]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${name} is not a DataView.`
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, prefix, name, opts) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false });
+      }
+      throw webidl.errors.conversionFailed({
+        prefix,
+        argument: `${name} ("${webidl.util.Stringify(V)}")`,
+        types: ["BufferSource"]
+      });
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance2 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
+      }
+      let location = response.headersList.get("location", true);
+      if (location !== null && isValidHeaderValue(location)) {
+        if (!isValidEncodedURL(location)) {
+          location = normalizeBinaryStringToUtf8(location);
+        }
+        location = new URL(location, responseURL(response));
+      }
+      if (location && !location.hash) {
+        location.hash = requestFragment;
+      }
+      return location;
+    }
+    function isValidEncodedURL(url) {
+      for (let i = 0; i < url.length; ++i) {
+        const code = url.charCodeAt(i);
+        if (code > 126 || // Non-US-ASCII + DEL
+        code < 32) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function normalizeBinaryStringToUtf8(value) {
+      return Buffer.from(value, "binary").toString("utf8");
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
+        return "blocked";
+      }
+      return "allowed";
+    }
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var isValidHeaderName = isValidHTTPToken;
+    function isValidHeaderValue(potentialValue) {
+      return (potentialValue[0] === "	" || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === "	" || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
+    }
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
+          }
+        }
+      }
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
+      }
+    }
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header, true);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (serializedOrigin === "client" || serializedOrigin === void 0) {
+        return;
+      }
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        request2.headersList.append("origin", serializedOrigin, true);
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
+        }
+        request2.headersList.append("origin", serializedOrigin, true);
+      }
+    }
+    function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
+      if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
+        return {
+          domainLookupStartTime: defaultStartTime,
+          domainLookupEndTime: defaultStartTime,
+          connectionStartTime: defaultStartTime,
+          connectionEndTime: defaultStartTime,
+          secureConnectionStartTime: defaultStartTime,
+          ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
+        };
+      }
+      return {
+        domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
+        domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
+        connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
+        connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
+        secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
+        ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
+      };
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return coarsenTime(performance2.now(), crossOriginIsolatedCapability);
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
+      };
+    }
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
+      };
+    }
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
+      };
+    }
+    function determineRequestsReferrer(request2) {
+      const policy = request2.referrerPolicy;
+      assert(policy);
+      let referrerSource = null;
+      if (request2.referrer === "client") {
+        const globalOrigin = getGlobalOrigin();
+        if (!globalOrigin || globalOrigin.origin === "null") {
+          return "no-referrer";
+        }
+        referrerSource = new URL(globalOrigin);
+      } else if (request2.referrer instanceof URL) {
+        referrerSource = request2.referrer;
+      }
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
+      }
+      const areSameOrigin = sameOrigin(request2, referrerURL);
+      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
+      switch (policy) {
+        case "origin":
+          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
+        case "unsafe-url":
+          return referrerURL;
+        case "same-origin":
+          return areSameOrigin ? referrerOrigin : "no-referrer";
+        case "origin-when-cross-origin":
+          return areSameOrigin ? referrerURL : referrerOrigin;
+        case "strict-origin-when-cross-origin": {
+          const currentURL = requestCurrentURL(request2);
+          if (sameOrigin(referrerURL, currentURL)) {
+            return referrerURL;
+          }
+          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
+            return "no-referrer";
+          }
+          return referrerOrigin;
+        }
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    function stripURLForReferrer(url, originOnly) {
+      assert(url instanceof URL);
+      url = new URL(url);
+      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
+        return "no-referrer";
+      }
+      url.username = "";
+      url.password = "";
+      url.hash = "";
+      if (originOnly) {
+        url.pathname = "";
+        url.search = "";
+      }
+      return url;
+    }
+    function isURLPotentiallyTrustworthy(url) {
+      if (!(url instanceof URL)) {
+        return false;
+      }
+      if (url.href === "about:blank" || url.href === "about:srcdoc") {
+        return true;
+      }
+      if (url.protocol === "data:") return true;
+      if (url.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url.origin);
+      function isOriginPotentiallyTrustworthy(origin) {
+        if (origin == null || origin === "null") return false;
+        const originAsURL = new URL(origin);
+        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
+          return true;
+        }
+        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
+          return true;
+        }
+        return false;
+      }
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto2 === void 0) {
+        return true;
+      }
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
+      }
+      if (parsedMetadata.length === 0) {
+        return true;
+      }
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
+          } else {
+            actualValue = actualValue.slice(0, -1);
+          }
+        }
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
+        }
+      }
+      return false;
+    }
+    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
+    function parseMetadata(metadata) {
+      const result = [];
+      let empty = true;
+      for (const token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
+          continue;
+        }
+        const algorithm = parsedToken.groups.algo.toLowerCase();
+        if (supportedHashes.includes(algorithm)) {
+          result.push(parsedToken.groups);
+        }
+      }
+      if (empty === true) {
+        return "no metadata";
+      }
+      return result;
+    }
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
+      }
+      for (let i = 1; i < metadataList.length; ++i) {
+        const metadata = metadataList[i];
+        if (metadata.algo[3] === "5") {
+          algorithm = "sha512";
+          break;
+        } else if (algorithm[3] === "3") {
+          continue;
+        } else if (metadata.algo[3] === "3") {
+          algorithm = "sha384";
+        }
+      }
+      return algorithm;
+    }
+    function filterMetadataListByAlgorithm(metadataList, algorithm) {
+      if (metadataList.length === 1) {
+        return metadataList;
+      }
+      let pos = 0;
+      for (let i = 0; i < metadataList.length; ++i) {
+        if (metadataList[i].algo === algorithm) {
+          metadataList[pos++] = metadataList[i];
+        }
+      }
+      metadataList.length = pos;
+      return metadataList;
+    }
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
+        return false;
+      }
+      for (let i = 0; i < actualValue.length; ++i) {
+        if (actualValue[i] !== expectedValue[i]) {
+          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
+            continue;
+          }
+          return false;
+        }
+      }
+      return true;
+    }
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
+    }
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
+      }
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
+      }
+      return false;
+    }
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve5, reject) => {
+        res = resolve5;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream) {
+      return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+        controller.byobRequest?.respond(0);
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
+          throw err;
+        }
+      }
+    }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
+    function isomorphicEncode(input) {
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
+      return input;
+    }
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
+        }
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
+        }
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
+    }
+    function urlIsLocal(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url) {
+      return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    function simpleRangeHeaderValue(value, allowWhitespace) {
+      const data = value;
+      if (!data.startsWith("bytes")) {
+        return "failure";
+      }
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeStart = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeEnd = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
+      if (position.position < data.length) {
+        return "failure";
+      }
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
+      }
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
+      }
+      return { rangeStartValue, rangeEndValue };
+    }
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
+    }
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
+      }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
+          }
+          this._inflateStream = (chunk[0] & 15) === 8 ? zlib.createInflate(this.#zlibOptions) : zlib.createInflateRaw(this.#zlibOptions);
+          this._inflateStream.on("data", this.push.bind(this));
+          this._inflateStream.on("end", () => this.push(null));
+          this._inflateStream.on("error", (err) => this.destroy(err));
+        }
+        this._inflateStream.write(chunk, encoding, callback);
+      }
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
+        }
+        callback();
+      }
+    };
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
+    }
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
+      }
+      for (const value of values) {
+        const temporaryMimeType = parseMIMEType(value);
+        if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
+          continue;
+        }
+        mimeType = temporaryMimeType;
+        if (mimeType.essence !== essence) {
+          charset = null;
+          if (mimeType.parameters.has("charset")) {
+            charset = mimeType.parameters.get("charset");
+          }
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
+        }
+      }
+      if (mimeType == null) {
+        return "failure";
+      }
+      return mimeType;
+    }
+    function gettingDecodingSplitting(value) {
+      const input = value;
+      const position = { position: 0 };
+      const values = [];
+      let temporaryValue = "";
+      while (position.position < input.length) {
+        temporaryValue += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== ",",
+          input,
+          position
+        );
+        if (position.position < input.length) {
+          if (input.charCodeAt(position.position) === 34) {
+            temporaryValue += collectAnHTTPQuotedString(
+              input,
+              position
+            );
+            if (position.position < input.length) {
+              continue;
+            }
+          } else {
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
+          }
+        }
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
+      }
+      return values;
+    }
+    function getDecodeSplit(name, list) {
+      const value = list.get(name, true);
+      if (value === null) {
+        return null;
+      }
+      return gettingDecodingSplitting(value);
+    }
+    var textDecoder = new TextDecoder();
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
+      }
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
+      }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      isValidEncodedURL,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      iteratorMixin,
+      createIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
+      }
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
+      }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
+      }
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
+      }
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
+      }
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
+      }
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
+      }
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
+      }
+      get [Symbol.toStringTag]() {
+        return "File";
+      }
+    };
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
+      }
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.append";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
+      }
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      }
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.get";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
+      }
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.getAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.set";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
+        } else {
+          this[kState].push(entry);
+        }
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        const state = this[kState].reduce((a, b) => {
+          if (a[b.name]) {
+            if (Array.isArray(a[b.name])) {
+              a[b.name].push(b.value);
+            } else {
+              a[b.name] = [a[b.name], b.value];
+            }
+          } else {
+            a[b.name] = b.value;
+          }
+          return a;
+        }, { __proto__: null });
+        options.depth ??= depth;
+        options.colors ??= true;
+        const output = nodeUtil.formatWithOptions(options, state);
+        return `FormData ${output.slice(output.indexOf("]") + 2)}`;
+      }
+    };
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      if (typeof value === "string") {
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { Blob: Blob2 } = require("node:buffer");
+    var assert = require("node:assert");
+    var { isErrored, isDisturbed } = require("node:stream");
+    var { isArrayBuffer } = require("node:util/types");
+    var { serializeAMimeType } = require_data_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var textEncoder = new TextEncoder();
+    function noop3() {
+    }
+    var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
+    var streamRegistry;
+    if (hasFinalizationRegistry) {
+      streamRegistry = new FinalizationRegistry((weakRef) => {
+        const stream = weakRef.deref();
+        if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) {
+          stream.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream = null;
+      if (object instanceof ReadableStream) {
+        stream = object;
+      } else if (isBlobLike(object)) {
+        stream = object.stream();
+      } else {
+        stream = new ReadableStream({
+          async pull(controller) {
+            const buffer = typeof source === "string" ? textEncoder.encode(source) : source;
+            if (buffer.byteLength) {
+              controller.enqueue(buffer);
+            }
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: "bytes"
+        });
+      }
+      assert(isReadableStreamLike(stream));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
+            }
+          }
+        }
+        const chunk = textEncoder.encode(`--${boundary}--\r
+`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream = new ReadableStream({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+                controller.byobRequest?.respond(0);
+              });
+            } else {
+              if (!isErrored(stream)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  for (const [name, value2] of entries) {
+                    fd.append(name, value2);
+                  }
+                  return fd;
+                }
+              }
+            }
+            throw new TypeError(
+              'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
+            );
+          }, instance);
+        },
+        bytes() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes);
+          }, instance);
+        }
+      };
+      return methods;
+    }
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function consumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      if (bodyUnusable(object)) {
+        throw new TypeError("Body is unusable: Body has already been read");
+      }
+      throwIfAborted(object[kState]);
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kParser,
+      kBlocking,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kMaxRequests,
+      kCounter,
+      kMaxResponseSize,
+      kOnError,
+      kResume,
+      kHTTPContext
+    } = require_symbols6();
+    var constants = require_constants7();
+    var EMPTY_BUF = Buffer.alloc(0);
+    var FastBuffer = Buffer[Symbol.species];
+    var addListener = util.addListener;
+    var removeAllListeners = util.removeAllListeners;
+    var extractBody;
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageComplete() || 0;
+          }
+          /* eslint-enable camelcase */
+        }
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var USE_NATIVE_TIMER = 0;
+    var USE_FAST_TIMER = 1;
+    var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
+    var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
+    var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
+      }
+      setTimeout(delay, type2) {
+        if (delay !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.timeoutType = type2;
+      }
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
+        }
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
+      }
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
+          }
+          this.execute(chunk);
+        }
+      }
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
+          }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
+        }
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
+        try {
+          let ret;
+          try {
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
+          } catch (err) {
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
+          }
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
+            }
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
+          }
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+      }
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        this.timeout && timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
+      }
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        request2.onResponseStarted();
+      }
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        this.trackHeader(buf.length);
+      }
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        const key = this.headers[len - 2];
+        if (key.length === 10) {
+          const headerName = util.bufferToLowerCasedHeaderName(key);
+          if (headerName === "keep-alive") {
+            this.keepAlive += buf.toString();
+          } else if (headerName === "connection") {
+            this.connection += buf.toString();
+          }
+        } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") {
+          this.contentLength += buf.toString();
+        }
+        this.trackHeader(buf.length);
+      }
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
+        }
+      }
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        assert(client[kSocket] === socket);
+        assert(!socket.destroyed);
+        assert(!this.paused);
+        assert((headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        removeAllListeners(socket);
+        client[kSocket] = null;
+        client[kHTTPContext] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+        client[kResume]();
+      }
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
+        }
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
+        }
+        assert(this.timeoutType === TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        assert((this.headers.length & 1) === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
+            );
+            if (timeout <= 0) {
+              socket[kReset] = true;
+            } else {
+              client[kKeepAliveTimeoutValue] = timeout;
+            }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+          }
+        } else {
+          socket[kReset] = true;
+        }
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
+        }
+        if (request2.method === "HEAD") {
+          return 1;
+        }
+        if (statusCode < 200) {
+          return 1;
+        }
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          client[kResume]();
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
+        }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
+        }
+      }
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
+        }
+        if (upgrade) {
+          return;
+        }
+        assert(statusCode >= 100);
+        assert((this.headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert(client[kRunning] === 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] == null || client[kPipelining] === 1) {
+          setImmediate(() => client[kResume]());
+        } else {
+          client[kResume]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client, paused } = parser.deref();
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
+      }
+    }
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
+      }
+      socket[kNoRef] = false;
+      socket[kWriting] = false;
+      socket[kReset] = false;
+      socket[kBlocking] = false;
+      socket[kParser] = new Parser(client, socket, llhttpInstance);
+      addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        const parser = this[kParser];
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        this[kError] = err;
+        this[kClient][kOnError](err);
       });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      addListener(socket, "end", function() {
+        const parser = this[kParser];
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      addListener(socket, "close", function() {
+        const client2 = this[kClient];
+        const parser = this[kParser];
+        if (parser) {
+          if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+            parser.onMessageComplete();
+          }
+          this[kParser].destroy();
+          this[kParser] = null;
+        }
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client2[kSocket] = null;
+        client2[kHTTPContext] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+          const request2 = client2[kQueue][client2[kRunningIdx]];
+          client2[kQueue][client2[kRunningIdx]++] = null;
+          util.errorRequest(client2, request2, err);
+        }
+        client2[kPendingIdx] = client2[kRunningIdx];
+        assert(client2[kRunning] === 0);
+        client2.emit("disconnect", client2[kUrl], [client2], err);
+        client2[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h1",
+        defaultPipelining: 1,
+        write(...args) {
+          return writeH1(client, ...args);
+        },
+        resume() {
+          resumeH1(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy(request2) {
+          if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+            return true;
+          }
+          if (request2) {
+            if (client[kRunning] > 0 && !request2.idempotent) {
+              return true;
+            }
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
+            }
+            if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) {
+              return true;
+            }
+          }
+          return false;
+        }
+      };
+    }
+    function resumeH1(client) {
+      const socket = client[kSocket];
+      if (socket && !socket.destroyed) {
+        if (client[kSize] === 0) {
+          if (!socket[kNoRef] && socket.unref) {
+            socket.unref();
+            socket[kNoRef] = true;
+          }
+        } else if (socket[kNoRef] && socket.ref) {
+          socket.ref();
+          socket[kNoRef] = false;
+        }
+        if (client[kSize] === 0) {
+          if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
+            socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
+          }
+        } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+          if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+            const request2 = client[kQueue][client[kRunningIdx]];
+            const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];
+            socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          }
+        }
+      }
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH1(client, request2) {
+      const { method, path: path7, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path7} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    webidl.argumentLengthCheck = function({ length }, min, ctx) {
-      if (length < min) {
-        throw webidl.errors.exception({
-          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
-          ...ctx
-        });
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
       }
-    };
-    webidl.illegalConstructor = function() {
-      throw webidl.errors.exception({
-        header: "TypeError",
-        message: "Illegal constructor"
-      });
-    };
-    webidl.util.Type = function(V) {
-      switch (typeof V) {
-        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": {
-          if (V === null) {
-            return "Null";
+      if (Array.isArray(headers)) {
+        for (let n = 0; n < headers.length; n += 2) {
+          const key = headers[n + 0];
+          const val = headers[n + 1];
+          if (Array.isArray(val)) {
+            for (let i = 0; i < val.length; i++) {
+              header += `${key}: ${val[i]}\r
+`;
+            }
+          } else {
+            header += `${key}: ${val}\r
+`;
           }
-          return "Object";
         }
       }
-    };
-    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
-      let upperBound;
-      let lowerBound;
-      if (bitLength === 64) {
-        upperBound = Math.pow(2, 53) - 1;
-        if (signedness === "unsigned") {
-          lowerBound = 0;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } else if (signedness === "unsigned") {
-        lowerBound = 0;
-        upperBound = Math.pow(2, bitLength) - 1;
-      } else {
-        lowerBound = Math.pow(-2, bitLength) - 1;
-        upperBound = Math.pow(2, bitLength - 1) - 1;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (opts.enforceRange === true) {
-        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Could not convert ${V} to an integer.`
-          });
-        }
-        x = webidl.util.IntegerPart(x);
-        if (x < lowerBound || x > upperBound) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      x = webidl.util.IntegerPart(x);
-      x = x % Math.pow(2, bitLength);
-      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
-        return x - Math.pow(2, bitLength);
+      const waitForDrain = () => new Promise((resolve5, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve5;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    var AsyncWriter = class {
+      constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        this.abort = abort;
+        socket[kWriting] = true;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+        if (socket.destroyed) {
+          return false;
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
+        }
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          seq2.push(converter(value));
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
+          } else {
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          }
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
+        }
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
+            }
           }
-          return result;
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        return ret;
+      }
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
+        }
+        if (socket.destroyed) {
+          return;
+        }
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            socket.write(`${header}\r
+`, "latin1");
           }
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
+          }
         }
-        return V;
-      };
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
+        }
+        client[kResume]();
+      }
+      destroy(err) {
+        const { socket, client, abort } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          abort(err);
+        }
+      }
     };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
+    var util = require_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ Symbol("open streams");
+    var extractBody;
+    var h2ExperimentalWarned = false;
+    var http2;
+    try {
+      http2 = require("node:http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
+      }
+    } = http2;
+    function parseH2Headers(headers) {
+      const result = [];
+      for (const [name, value] of Object.entries(headers)) {
+        if (Array.isArray(value)) {
+          for (const subvalue of value) {
+            result.push(Buffer.from(name), Buffer.from(subvalue));
+          }
+        } else {
+          result.push(Buffer.from(name), Buffer.from(value));
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
+      }
+      return result;
+    }
+    async function connectH2(client, socket) {
+      client[kSocket] = socket;
+      if (!h2ExperimentalWarned) {
+        h2ExperimentalWarned = true;
+        process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+          code: "UNDICI-H2"
+        });
+      }
+      const session = http2.connect(client[kUrl], {
+        createConnection: () => socket,
+        peerMaxConcurrentStreams: client[kMaxConcurrentStreams]
+      });
+      session[kOpenStreams] = 0;
+      session[kClient] = client;
+      session[kSocket] = socket;
+      util.addListener(session, "error", onHttp2SessionError);
+      util.addListener(session, "frameError", onHttp2FrameError);
+      util.addListener(session, "end", onHttp2SessionEnd);
+      util.addListener(session, "goaway", onHTTP2GoAway);
+      util.addListener(session, "close", function() {
+        const { [kClient]: client2 } = this;
+        const { [kSocket]: socket2 } = client2;
+        const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2));
+        client2[kHTTP2Session] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+      });
+      session.unref();
+      client[kHTTP2Session] = session;
+      socket[kHTTP2Session] = session;
+      util.addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      util.addListener(socket, "end", function() {
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      util.addListener(socket, "close", function() {
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client[kSocket] = null;
+        if (this[kHTTP2Session] != null) {
+          this[kHTTP2Session].destroy(err);
+        }
+        client[kPendingIdx] = client[kRunningIdx];
+        assert(client[kRunning] === 0);
+        client.emit("disconnect", client[kUrl], [client], err);
+        client[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h2",
+        defaultPipelining: Infinity,
+        write(...args) {
+          return writeH2(client, ...args);
+        },
+        resume() {
+          resumeH2(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy() {
+          return false;
+        }
+      };
+    }
+    function resumeH2(client) {
+      const socket = client[kSocket];
+      if (socket?.destroyed === false) {
+        if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {
+          socket.unref();
+          client[kHTTP2Session].unref();
+        } else {
+          socket.ref();
+          client[kHTTP2Session].ref();
+        }
+      }
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
+      }
+    }
+    function onHttp2SessionEnd() {
+      const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket]));
+      this.destroy(err);
+      util.destroy(this[kSocket], err);
+    }
+    function onHTTP2GoAway(code) {
+      const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this));
+      const client = this[kClient];
+      client[kSocket] = null;
+      client[kHTTPContext] = null;
+      if (this[kHTTP2Session] != null) {
+        this[kHTTP2Session].destroy(err);
+        this[kHTTP2Session] = null;
+      }
+      util.destroy(this[kSocket], err);
+      if (client[kRunningIdx] < client[kQueue].length) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        util.errorRequest(client, request2, err);
+        client[kPendingIdx] = client[kRunningIdx];
+      }
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      client[kResume]();
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH2(client, request2) {
+      const session = client[kHTTP2Session];
+      const { method, path: path7, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
             }
-            dict[key] = value;
           }
+        } else {
+          headers[key] = val;
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+      }
+      let stream;
+      const { hostname, port } = client[kUrl];
+      headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
+      headers[HTTP2_HEADER_METHOD] = method;
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream != null) {
+          util.destroy(stream, err);
         }
-        return converter(V);
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
       };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+      if (request2.aborted) {
+        return false;
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      for (let index = 0; index < x.length; index++) {
-        if (x.charCodeAt(index) > 255) {
-          throw new TypeError(
-            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
-          );
+      if (method === "CONNECT") {
+        session.ref();
+        stream = session.request(headers, { endStream: false, signal });
+        if (stream.id && !stream.pending) {
+          request2.onUpgrade(null, null, stream);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream.once("ready", () => {
+            request2.onUpgrade(null, null, stream);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
         }
-      }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+        stream.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
         });
+        return true;
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+      headers[HTTP2_HEADER_PATH] = path7;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
+      ++session[kOpenStreams];
+      stream.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        request2.onResponseStarted();
+        if (request2.aborted) {
+          const err = new RequestAbortedError();
+          util.errorRequest(client, request2, err);
+          util.destroy(stream, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) {
+          stream.pause();
+        }
+        stream.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream.pause();
+          }
+        });
+      });
+      stream.once("end", () => {
+        if (stream.state?.state == null || stream.state.state < 6) {
+          request2.onComplete([]);
+        }
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
+      });
+      stream.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream.once("error", function(err) {
+        abort(err);
+      });
+      stream.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
       }
-      const href = url.href;
-      const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
     }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      return result;
     }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
     }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return Uint8Array.from(output);
     }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        return "failure";
-      }
-      if (position.position > input.length) {
-        return "failure";
-      }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      const typeLowercase = type2.toLowerCase();
-      const subtypeLowercase = subtype.toLowerCase();
-      const mimeType = {
-        type: typeLowercase,
-        subtype: subtypeLowercase,
-        /** @type {Map} */
-        parameters: /* @__PURE__ */ new Map(),
-        // https://mimesniff.spec.whatwg.org/#mime-type-essence
-        essence: `${typeLowercase}/${subtypeLowercase}`
-      };
-      while (position.position < input.length) {
-        position.position++;
-        collectASequenceOfCodePoints(
-          // https://fetch.spec.whatwg.org/#http-whitespace
-          (char) => HTTP_WHITESPACE_REGEX.test(char),
-          input,
-          position
-        );
-        let parameterName = collectASequenceOfCodePoints(
-          (char) => char !== ";" && char !== "=",
-          input,
-          position
-        );
-        parameterName = parameterName.toLowerCase();
-        if (position.position < input.length) {
-          if (input[position.position] === ";") {
-            continue;
+      const waitForDrain = () => new Promise((resolve5, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve5;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
           }
-          position.position++;
         }
-        if (position.position > input.length) {
-          break;
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
+      }
+    }
+    module2.exports = connectH2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        let parameterValue = null;
-        if (input[position.position] === '"') {
-          parameterValue = collectAnHTTPQuotedString(input, position, true);
-          collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-        } else {
-          parameterValue = collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
-          if (parameterValue.length === 0) {
-            continue;
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        this.redirectionLimitReached = false;
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
           }
-        }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
+          }
+        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
         }
       }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      if (data.length % 4 === 1) {
-        return "failure";
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
+          if (this.request) {
+            this.request.abort(new Error("max redirects"));
+          }
+          this.redirectionLimitReached = true;
+          this.abort(new Error("max redirects"));
+          return;
+        }
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
+        }
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        }
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path7 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path7;
+        this.opts.origin = origin;
+        this.opts.maxRedirections = 0;
+        this.opts.query = null;
+        if (statusCode === 303 && this.opts.method !== "HEAD") {
+          this.opts.method = "GET";
+          this.opts.body = null;
+        }
       }
-      return bytes;
-    }
-    function collectAnHTTPQuotedString(input, position, extractValue) {
-      const positionStart = position.position;
-      let value = "";
-      assert(input[position.position] === '"');
-      position.position++;
-      while (true) {
-        value += collectASequenceOfCodePoints(
-          (char) => char !== '"' && char !== "\\",
-          input,
-          position
-        );
-        if (position.position >= input.length) {
-          break;
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        const quoteOrBackslash = input[position.position];
-        position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
-            break;
-          }
-          value += input[position.position];
-          position.position++;
+      }
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
         } else {
-          assert(quoteOrBackslash === '"');
-          break;
+          this.handler.onComplete(trailers);
         }
       }
-      if (extractValue) {
-        return value;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      return input.slice(positionStart, position.position);
-    }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
+      }
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
+          return headers[i + 1];
         }
-        serialization += value;
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
-    }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      return false;
+    }
+    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
+      const ret = [];
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
+            ret.push(headers[i], headers[i + 1]);
+          }
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
+          }
+        }
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-      return str2.slice(lead, trail + 1);
+      return ret;
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
+    var RedirectHandler = require_redirect_handler2();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
           }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
         };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
+      };
+    }
+    module2.exports = createRedirectInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    var {
+      kUrl,
+      kServerName,
+      kClient,
+      kBusy,
+      kConnect,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
+    } = require_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var noop3 = () => {
     };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
-        };
-      }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
+    function getPipelining(client) {
+      return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
+    }
+    var Client = class extends DispatcherBase {
+      /**
+       *
+       * @param {string|URL} url
+       * @param {import('../../types/client.js').Client.Options} options
+       */
+      constructor(url, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        maxConcurrentStreams,
+        allowH2
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
+        }
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
+        }
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
+        }
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
+        }
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
+        }
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
+        }
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
+        }
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
+        }
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
+        }
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        }
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        }
+        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        }
+        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        }
+        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+        }
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        }
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        }
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        }
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
+        }
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
+        }
+        if (interceptors?.Client && Array.isArray(interceptors.Client)) {
+          this[kInterceptors] = interceptors.Client;
+          if (!deprecatedInterceptorWarned) {
+            deprecatedInterceptorWarned = true;
+            process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", {
+              code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"
+            });
+          }
+        } else {
+          this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })];
+        }
+        this[kUrl] = util.parseOrigin(url);
+        this[kConnector] = connect2;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
+        this[kHTTPContext] = null;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
+        this[kResume] = (sync) => resume(this, sync);
+        this[kOnError] = (err) => onError(this, err);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      get pipelining() {
+        return this[kPipelining];
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      get [kConnected]() {
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      get [kBusy]() {
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = new Request(origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          queueMicrotask(() => resume(this));
+        } else {
+          this[kResume](true);
         }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      async [kClose]() {
+        return new Promise((resolve5) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve5;
+          } else {
+            resolve5(null);
           }
-          return value;
-        },
-        defaultValue: "transparent"
+        });
       }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
+      async [kDestroy](err) {
+        return new Promise((resolve5) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(this, request2, err);
+          }
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
+            }
+            resolve5(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+            queueMicrotask(callback);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
+          this[kResume]();
+        });
+      }
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          util.errorRequest(client, request2, err);
         }
+        assert(client[kSize] === 0);
       }
-      return bytes;
     }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kHTTPContext]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      return s.replace(/\r?\n/g, nativeLineEnding);
-    }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
-    }
-    module2.exports = { File: File2, FileLike, isFileLike };
-  }
-});
-
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
-    "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            version: client[kHTTPContext]?.version,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
+      }
+      try {
+        const socket = await new Promise((resolve5, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve5(socket2);
+            }
           });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        assert(socket);
+        try {
+          client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket);
+        } catch (err) {
+          socket.destroy().on("error", noop3);
+          throw err;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        client[kConnecting] = false;
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
+        }
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            util.errorRequest(client, request2, err);
+          }
         } else {
-          this[kState].push(entry);
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
       }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
+          } else {
+            emitDrain(client);
+          }
+          continue;
+        }
+        if (client[kPending] === 0) {
+          return;
+        }
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
+        }
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
+          }
+          client[kServerName] = request2.servername;
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
+        }
+        if (client[kConnecting]) {
+          return;
+        }
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
+        }
+        if (client[kHTTPContext].destroyed) {
+          return;
+        }
+        if (client[kHTTPContext].busy(request2)) {
+          return;
+        }
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
       }
-      return { name, value };
     }
-    module2.exports = { FormData: FormData2 };
+    module2.exports = Client;
   }
 });
 
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
     "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
+      constructor() {
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-      let stream = null;
-      if (object instanceof ReadableStream2) {
-        stream = object;
-      } else if (isBlobLike(object)) {
-        stream = object.stream();
-      } else {
-        stream = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      assert(isReadableStreamLike(stream));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
-      } else if (isArrayBuffer(object)) {
-        source = new Uint8Array(object.slice());
-      } else if (ArrayBuffer.isView(object)) {
-        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
-      } else if (util.isFormDataLike(object)) {
-        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
-        const prefix = `--${boundary}\r
-Content-Disposition: form-data`;
-        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
-        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
-        const blobParts = [];
-        const rn = new Uint8Array([13, 10]);
-        length = 0;
-        let hasUnknownSizeValue = false;
-        for (const [name, value] of object) {
-          if (typeof value === "string") {
-            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
-\r
-${normalizeLinefeeds(value)}\r
-`);
-            blobParts.push(chunk2);
-            length += chunk2.byteLength;
-          } else {
-            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
-Content-Type: ${value.type || "application/octet-stream"}\r
-\r
-`);
-            blobParts.push(chunk2, value, rn);
-            if (typeof value.size === "number") {
-              length += chunk2.byteLength + value.size + rn.byteLength;
-            } else {
-              hasUnknownSizeValue = true;
-            }
-          }
-        }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
-        }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
-        }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
-        }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
-        }
-        stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      if (action != null) {
-        let iterator2;
-        stream = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
       }
-      const body = { stream, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream = body.stream;
-          if (util.isDisturbed(stream)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream[kBodyUsed] = true;
-          yield* stream;
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
+        return next;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve5, reject) => {
-              busboy.on("finish", resolve5);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
-            }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
-          }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
-        }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+      get free() {
+        return this[kPool][kFree];
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
-    }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
+      get pending() {
+        return this[kPool][kPending];
       }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+      get queued() {
+        return this[kPool][kQueued];
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
     };
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path7,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path7 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path7[0] !== "/" && !(path7.startsWith("http://") || path7.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path7) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
-        }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
-          }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
+      constructor() {
+        super();
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
             }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path7, query) : path7;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
-        }
+        };
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
-        }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
-        }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
+        return ret;
       }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      get stats() {
+        return this[kStats];
       }
-      onComplete(trailers) {
-        this.onFinally();
-        assert(!this.aborted);
-        this.completed = true;
-        if (channels.trailers.hasSubscribers) {
-          channels.trailers.publish({ request: this, trailers });
-        }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve5) => {
+            this[kClosedResolve] = resolve5;
+          });
         }
       }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
-        }
-        if (this.aborted) {
-          return;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
-        }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
         }
+        return !this[kNeedDrain];
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          queueMicrotask(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
+            }
+          });
+        }
         return this;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
-      }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
         }
-        return headers;
-      }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
+        this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
             }
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
-        }
-      }
-    }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
-      }
-      close() {
-        throw new Error("not implemented");
+        });
       }
-      destroy() {
-        throw new Error("not implemented");
+      [kGetDispatcher]() {
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
+          }
+        }
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+          return dispatcher;
+        }
       }
     };
-    module2.exports = Dispatcher;
+    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
     var {
-      ClientDestroyedError,
-      ClientClosedError,
+      BalancedPoolMissingUpstreamError,
       InvalidArgumentError
     } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
-      constructor() {
-        super();
-        this[kDestroyed] = false;
-        this[kOnDestroyed] = null;
-        this[kClosed] = false;
-        this[kOnClosed] = [];
-      }
-      get destroyed() {
-        return this[kDestroyed];
-      }
-      get closed() {
-        return this[kClosed];
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-      get interceptors() {
-        return this[kInterceptors];
+      return a;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
+        }
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
       }
-      set interceptors(newInterceptors) {
-        if (newInterceptors) {
-          for (let i = newInterceptors.length - 1; i >= 0; i--) {
-            const interceptor = this[kInterceptors][i];
-            if (typeof interceptor !== "function") {
-              throw new InvalidArgumentError("interceptor must be an function");
-            }
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
+        }
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
           }
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
         }
-        this[kInterceptors] = newInterceptors;
+        this._updateBalancedPoolStats();
+        return this;
       }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve5, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve5(data);
-            });
-          });
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        this[kGreatestCommonDivisor] = result;
+      }
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+        return this;
+      }
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      }
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
+        }
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
           return;
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
           return;
         }
-        this[kClosed] = true;
-        this[kOnClosed].push(callback);
-        const onClosed = () => {
-          const callbacks = this[kOnClosed];
-          this[kOnClosed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
+          }
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
+            }
+          }
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
           }
-        };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
         }
-        if (callback === void 0) {
-          return new Promise((resolve5, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve5(data);
-            });
-          });
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
+      }
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors2();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
-        this[kDestroyed] = true;
-        this[kOnDestroyed] = this[kOnDestroyed] || [];
-        this[kOnDestroyed].push(callback);
-        const onDestroyed = () => {
-          const callbacks = this[kOnDestroyed];
-          this[kOnDestroyed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
-          }
+        this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kOnDrain] = (origin, targets) => {
+          this.emit("drain", origin, [this, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          this.emit("connect", origin, [this, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          this.emit("disconnect", origin, [this, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          this.emit("connectionError", origin, [this, ...targets], err);
         };
-        this[kDestroy](err).then(() => {
-          queueMicrotask(onDestroyed);
-        });
       }
-      [kInterceptedDispatch](opts, handler2) {
-        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
-          this[kInterceptedDispatch] = this[kDispatch];
-          return this[kDispatch](opts, handler2);
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        return ret;
+      }
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        let dispatcher = this[kClients].get(key);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, dispatcher);
+        }
+        return dispatcher.dispatch(opts, handler2);
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
-        try {
-          if (!opts || typeof opts !== "object") {
-            throw new InvalidArgumentError("opts must be an object.");
-          }
-          if (this[kDestroyed] || this[kOnDestroyed]) {
-            throw new ClientDestroyedError();
-          }
-          if (this[kClosed]) {
-            throw new ClientClosedError();
-          }
-          return this[kInterceptedDispatch](opts, handler2);
-        } catch (err) {
-          if (typeof handler2.onError !== "function") {
-            throw new InvalidArgumentError("invalid onError method");
-          }
-          handler2.onError(err);
-          return false;
+        this[kClients].clear();
+        await Promise.all(closePromises);
+      }
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const client of this[kClients].values()) {
+          destroyPromises.push(client.destroy(err));
         }
+        this[kClients].clear();
+        await Promise.all(destroyPromises);
       }
     };
-    module2.exports = DispatcherBase;
+    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
-    var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._sessionRegistry = new global.FinalizationRegistry((key) => {
-            if (this._sessionCache.size < this._maxCachedSessions) {
-              return;
-            }
-            const ref = this._sessionCache.get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this._sessionCache.delete(key);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var noop3 = () => {
+    };
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
+      }
+      return new Pool(origin, opts);
+    }
+    var Http1ProxyWrapper = class extends DispatcherBase {
+      #client;
+      constructor(proxyUrl, { headers = {}, connect, factory }) {
+        super();
+        if (!proxyUrl) {
+          throw new InvalidArgumentError("Proxy URL is mandatory");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
+      }
+      [kDispatch](opts, handler2) {
+        const onHeaders = handler2.onHeaders;
+        handler2.onHeaders = function(statusCode, data, resume) {
+          if (statusCode === 407) {
+            if (typeof handler2.onError === "function") {
+              handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
+            }
             return;
           }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path7 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path7;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...options,
-            servername,
-            session,
-            localAddress,
-            // TODO(HTTP/2): Add support for h2c
-            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
-            socket: httpSocket,
-            // upgrade socket connection
-            port: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
-          });
+      async [kClose]() {
+        return this.#client.close();
+      }
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
+      }
+    };
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super();
+        if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) {
+          throw new InvalidArgumentError("Proxy uri is mandatory");
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        const { proxyTunnel = true } = opts;
+        const url = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url;
+        this[kProxy] = { uri: href, protocol };
+        this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        this[kTunnelProxy] = proxyTunnel;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
+        }
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        const agentFactory = opts.factory || defaultAgentFactory;
+        const factory = (origin2, options) => {
+          const { protocol: protocol2 } = new URL2(origin2);
+          if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
+            return new Http1ProxyWrapper(this[kProxy].uri, {
+              headers: this[kProxyHeaders],
+              connect,
+              factory: agentFactory
+            });
           }
-        });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
+          return agentFactory(origin2, options);
         };
-      }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+        this[kClient] = clientFactory(url, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          factory,
+          connect: async (opts2, callback) => {
+            let requestedPath = opts2.host;
+            if (!opts2.port) {
+              requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedPath,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host: opts2.host
+                },
+                servername: this[kProxyTls]?.servername || proxyHostname
+              });
+              if (statusCode !== 200) {
+                socket.on("error", noop3).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+                callback(new SecureProxyConnectionError(err));
+              } else {
+                callback(err);
+              }
+            }
           }
         });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
+      }
+      dispatch(opts, handler2) {
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        if (headers && !("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(opts.origin);
+          headers.host = host;
         }
-      });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
-    var TYPE;
-    (function(TYPE2) {
-      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
-      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
-      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
-    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
-    var FLAGS;
-    (function(FLAGS2) {
-      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
-      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
-      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
-      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
-      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
-      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
-      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
-      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
-      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
-    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
-    var LENIENT_FLAGS;
-    (function(LENIENT_FLAGS2) {
-      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
-    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
-    var METHODS;
-    (function(METHODS2) {
-      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
-      METHODS2[METHODS2["GET"] = 1] = "GET";
-      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
-      METHODS2[METHODS2["POST"] = 3] = "POST";
-      METHODS2[METHODS2["PUT"] = 4] = "PUT";
-      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
-      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
-      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
-      METHODS2[METHODS2["COPY"] = 8] = "COPY";
-      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
-      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
-      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
-      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
-      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
-      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
-      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
-      METHODS2[METHODS2["BIND"] = 16] = "BIND";
-      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
-      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
-      METHODS2[METHODS2["ACL"] = 19] = "ACL";
-      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
-      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
-      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
-      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
-      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
-      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
-      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
-      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
-      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
-      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
-      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
-      METHODS2[METHODS2["LINK"] = 31] = "LINK";
-      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
-      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
-      METHODS2[METHODS2["PRI"] = 34] = "PRI";
-      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
-      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
-      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
-      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
-      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
-      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
-      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
-      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
-      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
-      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
-      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
-    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
-    exports2.METHODS_HTTP = [
-      METHODS.DELETE,
-      METHODS.GET,
-      METHODS.HEAD,
-      METHODS.POST,
-      METHODS.PUT,
-      METHODS.CONNECT,
-      METHODS.OPTIONS,
-      METHODS.TRACE,
-      METHODS.COPY,
-      METHODS.LOCK,
-      METHODS.MKCOL,
-      METHODS.MOVE,
-      METHODS.PROPFIND,
-      METHODS.PROPPATCH,
-      METHODS.SEARCH,
-      METHODS.UNLOCK,
-      METHODS.BIND,
-      METHODS.REBIND,
-      METHODS.UNBIND,
-      METHODS.ACL,
-      METHODS.REPORT,
-      METHODS.MKACTIVITY,
-      METHODS.CHECKOUT,
-      METHODS.MERGE,
-      METHODS["M-SEARCH"],
-      METHODS.NOTIFY,
-      METHODS.SUBSCRIBE,
-      METHODS.UNSUBSCRIBE,
-      METHODS.PATCH,
-      METHODS.PURGE,
-      METHODS.MKCALENDAR,
-      METHODS.LINK,
-      METHODS.UNLINK,
-      METHODS.PRI,
-      // TODO(indutny): should we allow it with HTTP?
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_ICE = [
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_RTSP = [
-      METHODS.OPTIONS,
-      METHODS.DESCRIBE,
-      METHODS.ANNOUNCE,
-      METHODS.SETUP,
-      METHODS.PLAY,
-      METHODS.PAUSE,
-      METHODS.TEARDOWN,
-      METHODS.GET_PARAMETER,
-      METHODS.SET_PARAMETER,
-      METHODS.REDIRECT,
-      METHODS.RECORD,
-      METHODS.FLUSH,
-      // For AirPlay
-      METHODS.GET,
-      METHODS.POST
-    ];
-    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
-    exports2.H_METHOD_MAP = {};
-    Object.keys(exports2.METHOD_MAP).forEach((key) => {
-      if (/^H/.test(key)) {
-        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
-    }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.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
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
-    }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+      /**
+       * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts
+       * @returns {URL}
+       */
+      #getUrl(opts) {
+        if (typeof opts === "string") {
+          return new URL2(opts);
+        } else if (opts instanceof URL2) {
+          return opts;
+        } else {
+          return new URL2(opts.uri);
+        }
+      }
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
+      }
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-    }
-    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
-    exports2.MAJOR = exports2.NUM_MAP;
-    exports2.MINOR = exports2.MAJOR;
-    var HEADER_STATE;
-    (function(HEADER_STATE2) {
-      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
-      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
-      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
-    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
-    exports2.SPECIAL_HEADERS = {
-      "connection": HEADER_STATE.CONNECTION,
-      "content-length": HEADER_STATE.CONTENT_LENGTH,
-      "proxy-connection": HEADER_STATE.CONNECTION,
-      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
-      "upgrade": HEADER_STATE.UPGRADE
     };
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
+        }
+        return headersPair;
+      }
+      return headers;
+    }
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      }
+    }
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
+        super();
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
+        }
+        const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
+        this[kNoProxyAgent] = new Agent(agentOpts);
+        const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
+        if (HTTP_PROXY) {
+          this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY });
+        } else {
+          this[kHttpProxyAgent] = this[kNoProxyAgent];
+        }
+        const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
+        if (HTTPS_PROXY) {
+          this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY });
+        } else {
+          this[kHttpsProxyAgent] = this[kHttpProxyAgent];
+        }
+        this.#parseNoProxy();
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      [kDispatch](opts, handler2) {
+        const url = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url);
+        return agent.dispatch(opts, handler2);
       }
-    };
-    var RedirectHandler = class {
-      constructor(dispatch, maxRedirections, opts, handler2) {
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        util.validateHandler(handler2, opts.method, opts.upgrade);
-        this.dispatch = dispatch;
-        this.location = null;
-        this.abort = null;
-        this.opts = { ...opts, maxRedirections: 0 };
-        this.maxRedirections = maxRedirections;
-        this.handler = handler2;
-        this.history = [];
-        if (util.isStream(this.opts.body)) {
-          if (util.bodyLength(this.opts.body) === 0) {
-            this.opts.body.on("data", function() {
-              assert(false);
-            });
-          }
-          if (typeof this.opts.body.readableDidRead !== "boolean") {
-            this.opts.body[kBodyUsed] = false;
-            EE.prototype.on.call(this.opts.body, "data", function() {
-              this[kBodyUsed] = true;
-            });
-          }
-        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
-        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
       }
-      onConnect(abort) {
-        this.abort = abort;
-        this.handler.onConnect(abort, { history: this.history });
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
+        }
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
+        }
       }
-      onUpgrade(statusCode, headers, socket) {
-        this.handler.onUpgrade(statusCode, headers, socket);
+      #getProxyAgentForUrl(url) {
+        let { protocol, host: hostname, port } = url;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
+        }
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
+        }
+        return this[kHttpProxyAgent];
       }
-      onError(error3) {
-        this.handler.onError(error3);
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
+        }
+        if (this.#noProxyEntries.length === 0) {
+          return true;
+        }
+        if (this.#noProxyValue === "*") {
+          return false;
+        }
+        for (let i = 0; i < this.#noProxyEntries.length; i++) {
+          const entry = this.#noProxyEntries[i];
+          if (entry.port && entry.port !== port) {
+            continue;
+          }
+          if (!/^[.*]/.test(entry.hostname)) {
+            if (hostname === entry.hostname) {
+              return false;
+            }
+          } else {
+            if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
+              return false;
+            }
+          }
+        }
+        return true;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
+      #parseNoProxy() {
+        const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
+        const noProxySplit = noProxyValue.split(/[,\s]/);
+        const noProxyEntries = [];
+        for (let i = 0; i < noProxySplit.length; i++) {
+          const entry = noProxySplit[i];
+          if (!entry) {
+            continue;
+          }
+          const parsed = entry.match(/^(.+):(\d+)$/);
+          noProxyEntries.push({
+            hostname: (parsed ? parsed[1] : entry).toLowerCase(),
+            port: parsed ? Number.parseInt(parsed[2], 10) : 0
+          });
         }
-        if (!this.location) {
-          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
+      }
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
         }
-        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
-        const path7 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path7;
-        this.opts.origin = origin;
-        this.opts.maxRedirections = 0;
-        this.opts.query = null;
-        if (statusCode === 303 && this.opts.method !== "HEAD") {
-          this.opts.method = "GET";
-          this.opts.body = null;
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      return new Date(retryAfter).getTime() - current;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          minTimeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "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((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
+          }
+        });
+      }
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
       }
-      onData(chunk) {
-        if (this.location) {
-        } else {
-          return this.handler.onData(chunk);
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
         } else {
-          this.handler.onComplete(trailers);
+          this.abort = abort;
         }
       }
       onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
-      }
-    };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
-          return headers[i + 1];
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          minTimeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        const { counter } = state;
+        if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
+        }
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
+        }
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
+        }
+        if (counter > maxRetries) {
+          cb(err);
+          return;
+        }
+        let retryAfterHeader = headers?.["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
         }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
+        setTimeout(() => cb(null), retryTimeout);
       }
-    }
-    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
-      if (header.length === 4) {
-        return util.headerNameToString(header) === "host";
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          if (this.retryOpts.statusCodes.includes(statusCode) === false) {
+            return this.handler.onHeaders(
+              statusCode,
+              rawHeaders,
+              resume,
+              statusMessage
+            );
+          } else {
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
+          }
+        }
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
+            this.abort(
+              new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size - 1 } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
+        }
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
+            }
+            const { start, size, end = size - 1 } = range;
+            assert(
+              start != null && Number.isFinite(start),
+              "content-range mismatch"
+            );
+            assert(end != null && Number.isFinite(end), "invalid content-length");
+            this.start = start;
+            this.end = end;
+          }
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
+          }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          if (this.etag != null && this.etag.startsWith("W/")) {
+            this.etag = null;
+          }
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
+        }
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          data: { count: this.retryCount }
+        });
+        this.abort(err);
+        return false;
       }
-      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
-        return true;
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
-        const name = util.headerNameToString(header);
-        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      return false;
-    }
-    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
-      const ret = [];
-      if (Array.isArray(headers)) {
-        for (let i = 0; i < headers.length; i += 2) {
-          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
-            ret.push(headers[i], headers[i + 1]);
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        if (this.retryCount - this.retryCountCheckpoint > 0) {
+          this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
+        } else {
+          this.retryCount += 1;
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
+          },
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
           }
-        }
-      } else if (headers && typeof headers === "object") {
-        for (const key of Object.keys(headers)) {
-          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
-            ret.push(key, headers[key]);
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
+            }
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
+          }
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
       }
-      return ret;
-    }
-    module2.exports = RedirectHandler;
+    };
+    module2.exports = RetryHandler;
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
-      return (dispatch) => {
-        return function Intercept(opts, handler2) {
-          const { maxRedirections = defaultMaxRedirections } = opts;
-          if (!maxRedirections) {
-            return dispatch(opts, handler2);
-          }
-          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
-          opts = { ...opts, maxRedirections: 0 };
-          return dispatch(opts, redirectHandler);
-        };
-      };
-    }
-    module2.exports = createRedirectInterceptor;
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCsLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC1kAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQDscBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxweHyAhIyUoP0BBREVGR0hJSktMTU9QUVJT3gNXWVtcXWBiZWZnaGlqa2xtb3BxcnN0dXZ3eHl6e3x9foABggGFAYYBhwGJAYsBjAGNAY4BjwGQAZEBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAZkCpAKwAv4C/gILIAEiBCACRw3zAUHdASEQDP8DCyABIhAgAkcN3QFBwwEhEAz+AwsgASIBIAJHDZABQfcAIRAM/QMLIAEiASACRw2GAUHvACEQDPwDCyABIgEgAkcNf0HqACEQDPsDCyABIgEgAkcNe0HoACEQDPoDCyABIgEgAkcNeEHmACEQDPkDCyABIgEgAkcNGkEYIRAM+AMLIAEiASACRw0UQRIhEAz3AwsgASIBIAJHDVlBxQAhEAz2AwsgASIBIAJHDUpBPyEQDPUDCyABIgEgAkcNSEE8IRAM9AMLIAEiASACRw1BQTEhEAzzAwsgAC0ALkEBRg3rAwyHAgsgACABIgEgAhDAgICAAEEBRw3mASAAQgA3AyAM5wELIAAgASIBIAIQtICAgAAiEA3nASABIQEM9QILAkAgASIBIAJHDQBBBiEQDPADCyAAIAFBAWoiASACELuAgIAAIhAN6AEgASEBDDELIABCADcDIEESIRAM1QMLIAEiECACRw0rQR0hEAztAwsCQCABIgEgAkYNACABQQFqIQFBECEQDNQDC0EHIRAM7AMLIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN5QFBCCEQDOsDCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEUIRAM0gMLQQkhEAzqAwsgASEBIAApAyBQDeQBIAEhAQzyAgsCQCABIgEgAkcNAEELIRAM6QMLIAAgAUEBaiIBIAIQtoCAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3mASABIQEMDQsgACABIgEgAhC6gICAACIQDecBIAEhAQzwAgsCQCABIgEgAkcNAEEPIRAM5QMLIAEtAAAiEEE7Rg0IIBBBDUcN6AEgAUEBaiEBDO8CCyAAIAEiASACELqAgIAAIhAN6AEgASEBDPICCwNAAkAgAS0AAEHwtYCAAGotAAAiEEEBRg0AIBBBAkcN6wEgACgCBCEQIABBADYCBCAAIBAgAUEBaiIBELmAgIAAIhAN6gEgASEBDPQCCyABQQFqIgEgAkcNAAtBEiEQDOIDCyAAIAEiASACELqAgIAAIhAN6QEgASEBDAoLIAEiASACRw0GQRshEAzgAwsCQCABIgEgAkcNAEEWIRAM4AMLIABBioCAgAA2AgggACABNgIEIAAgASACELiAgIAAIhAN6gEgASEBQSAhEAzGAwsCQCABIgEgAkYNAANAAkAgAS0AAEHwt4CAAGotAAAiEEECRg0AAkAgEEF/ag4E5QHsAQDrAewBCyABQQFqIQFBCCEQDMgDCyABQQFqIgEgAkcNAAtBFSEQDN8DC0EVIRAM3gMLA0ACQCABLQAAQfC5gIAAai0AACIQQQJGDQAgEEF/ag4E3gHsAeAB6wHsAQsgAUEBaiIBIAJHDQALQRghEAzdAwsCQCABIgEgAkYNACAAQYuAgIAANgIIIAAgATYCBCABIQFBByEQDMQDC0EZIRAM3AMLIAFBAWohAQwCCwJAIAEiFCACRw0AQRohEAzbAwsgFCEBAkAgFC0AAEFzag4U3QLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gIA7gILQQAhECAAQQA2AhwgAEGvi4CAADYCECAAQQI2AgwgACAUQQFqNgIUDNoDCwJAIAEtAAAiEEE7Rg0AIBBBDUcN6AEgAUEBaiEBDOUCCyABQQFqIQELQSIhEAy/AwsCQCABIhAgAkcNAEEcIRAM2AMLQgAhESAQIQEgEC0AAEFQag435wHmAQECAwQFBgcIAAAAAAAAAAkKCwwNDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxAREhMUAAtBHiEQDL0DC0ICIREM5QELQgMhEQzkAQtCBCERDOMBC0IFIREM4gELQgYhEQzhAQtCByERDOABC0IIIREM3wELQgkhEQzeAQtCCiERDN0BC0ILIREM3AELQgwhEQzbAQtCDSERDNoBC0IOIREM2QELQg8hEQzYAQtCCiERDNcBC0ILIREM1gELQgwhEQzVAQtCDSERDNQBC0IOIREM0wELQg8hEQzSAQtCACERAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQLQAAQVBqDjflAeQBAAECAwQFBgfmAeYB5gHmAeYB5gHmAQgJCgsMDeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gEODxAREhPmAQtCAiERDOQBC0IDIREM4wELQgQhEQziAQtCBSERDOEBC0IGIREM4AELQgchEQzfAQtCCCERDN4BC0IJIREM3QELQgohEQzcAQtCCyERDNsBC0IMIREM2gELQg0hEQzZAQtCDiERDNgBC0IPIREM1wELQgohEQzWAQtCCyERDNUBC0IMIREM1AELQg0hEQzTAQtCDiERDNIBC0IPIREM0QELIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN0gFBHyEQDMADCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEkIRAMpwMLQSAhEAy/AwsgACABIhAgAhC+gICAAEF/ag4FtgEAxQIB0QHSAQtBESEQDKQDCyAAQQE6AC8gECEBDLsDCyABIgEgAkcN0gFBJCEQDLsDCyABIg0gAkcNHkHGACEQDLoDCyAAIAEiASACELKAgIAAIhAN1AEgASEBDLUBCyABIhAgAkcNJkHQACEQDLgDCwJAIAEiASACRw0AQSghEAy4AwsgAEEANgIEIABBjICAgAA2AgggACABIAEQsYCAgAAiEA3TASABIQEM2AELAkAgASIQIAJHDQBBKSEQDLcDCyAQLQAAIgFBIEYNFCABQQlHDdMBIBBBAWohAQwVCwJAIAEiASACRg0AIAFBAWohAQwXC0EqIRAMtQMLAkAgASIQIAJHDQBBKyEQDLUDCwJAIBAtAAAiAUEJRg0AIAFBIEcN1QELIAAtACxBCEYN0wEgECEBDJEDCwJAIAEiASACRw0AQSwhEAy0AwsgAS0AAEEKRw3VASABQQFqIQEMyQILIAEiDiACRw3VAUEvIRAMsgMLA0ACQCABLQAAIhBBIEYNAAJAIBBBdmoOBADcAdwBANoBCyABIQEM4AELIAFBAWoiASACRw0AC0ExIRAMsQMLQTIhECABIhQgAkYNsAMgAiAUayAAKAIAIgFqIRUgFCABa0EDaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfC7gIAAai0AAEcNAQJAIAFBA0cNAEEGIQEMlgMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLEDCyAAQQA2AgAgFCEBDNkBC0EzIRAgASIUIAJGDa8DIAIgFGsgACgCACIBaiEVIBQgAWtBCGohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUH0u4CAAGotAABHDQECQCABQQhHDQBBBSEBDJUDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAywAwsgAEEANgIAIBQhAQzYAQtBNCEQIAEiFCACRg2uAyACIBRrIAAoAgAiAWohFSAUIAFrQQVqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw0BAkAgAUEFRw0AQQchAQyUAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMrwMLIABBADYCACAUIQEM1wELAkAgASIBIAJGDQADQAJAIAEtAABBgL6AgABqLQAAIhBBAUYNACAQQQJGDQogASEBDN0BCyABQQFqIgEgAkcNAAtBMCEQDK4DC0EwIRAMrQMLAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AIBBBdmoOBNkB2gHaAdkB2gELIAFBAWoiASACRw0AC0E4IRAMrQMLQTghEAysAwsDQAJAIAEtAAAiEEEgRg0AIBBBCUcNAwsgAUEBaiIBIAJHDQALQTwhEAyrAwsDQAJAIAEtAAAiEEEgRg0AAkACQCAQQXZqDgTaAQEB2gEACyAQQSxGDdsBCyABIQEMBAsgAUEBaiIBIAJHDQALQT8hEAyqAwsgASEBDNsBC0HAACEQIAEiFCACRg2oAyACIBRrIAAoAgAiAWohFiAUIAFrQQZqIRcCQANAIBQtAABBIHIgAUGAwICAAGotAABHDQEgAUEGRg2OAyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAypAwsgAEEANgIAIBQhAQtBNiEQDI4DCwJAIAEiDyACRw0AQcEAIRAMpwMLIABBjICAgAA2AgggACAPNgIEIA8hASAALQAsQX9qDgTNAdUB1wHZAYcDCyABQQFqIQEMzAELAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgciAQIBBBv39qQf8BcUEaSRtB/wFxIhBBCUYNACAQQSBGDQACQAJAAkACQCAQQZ1/ag4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIRAMkQMLIAFBAWohAUEyIRAMkAMLIAFBAWohAUEzIRAMjwMLIAEhAQzQAQsgAUEBaiIBIAJHDQALQTUhEAylAwtBNSEQDKQDCwJAIAEiASACRg0AA0ACQCABLQAAQYC8gIAAai0AAEEBRg0AIAEhAQzTAQsgAUEBaiIBIAJHDQALQT0hEAykAwtBPSEQDKMDCyAAIAEiASACELCAgIAAIhAN1gEgASEBDAELIBBBAWohAQtBPCEQDIcDCwJAIAEiASACRw0AQcIAIRAMoAMLAkADQAJAIAEtAABBd2oOGAAC/gL+AoQD/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4CAP4CCyABQQFqIgEgAkcNAAtBwgAhEAygAwsgAUEBaiEBIAAtAC1BAXFFDb0BIAEhAQtBLCEQDIUDCyABIgEgAkcN0wFBxAAhEAydAwsDQAJAIAEtAABBkMCAgABqLQAAQQFGDQAgASEBDLcCCyABQQFqIgEgAkcNAAtBxQAhEAycAwsgDS0AACIQQSBGDbMBIBBBOkcNgQMgACgCBCEBIABBADYCBCAAIAEgDRCvgICAACIBDdABIA1BAWohAQyzAgtBxwAhECABIg0gAkYNmgMgAiANayAAKAIAIgFqIRYgDSABa0EFaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGQwoCAAGotAABHDYADIAFBBUYN9AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmgMLQcgAIRAgASINIAJGDZkDIAIgDWsgACgCACIBaiEWIA0gAWtBCWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBlsKAgABqLQAARw3/AgJAIAFBCUcNAEECIQEM9QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJkDCwJAIAEiDSACRw0AQckAIRAMmQMLAkACQCANLQAAIgFBIHIgASABQb9/akH/AXFBGkkbQf8BcUGSf2oOBwCAA4ADgAOAA4ADAYADCyANQQFqIQFBPiEQDIADCyANQQFqIQFBPyEQDP8CC0HKACEQIAEiDSACRg2XAyACIA1rIAAoAgAiAWohFiANIAFrQQFqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaDCgIAAai0AAEcN/QIgAUEBRg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyXAwtBywAhECABIg0gAkYNlgMgAiANayAAKAIAIgFqIRYgDSABa0EOaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGiwoCAAGotAABHDfwCIAFBDkYN8AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlgMLQcwAIRAgASINIAJGDZUDIAIgDWsgACgCACIBaiEWIA0gAWtBD2ohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBwMKAgABqLQAARw37AgJAIAFBD0cNAEEDIQEM8QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJUDC0HNACEQIAEiDSACRg2UAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcN+gICQCABQQVHDQBBBCEBDPACCyABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyUAwsCQCABIg0gAkcNAEHOACEQDJQDCwJAAkACQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZ1/ag4TAP0C/QL9Av0C/QL9Av0C/QL9Av0C/QL9AgH9Av0C/QICA/0CCyANQQFqIQFBwQAhEAz9AgsgDUEBaiEBQcIAIRAM/AILIA1BAWohAUHDACEQDPsCCyANQQFqIQFBxAAhEAz6AgsCQCABIgEgAkYNACAAQY2AgIAANgIIIAAgATYCBCABIQFBxQAhEAz6AgtBzwAhEAySAwsgECEBAkACQCAQLQAAQXZqDgQBqAKoAgCoAgsgEEEBaiEBC0EnIRAM+AILAkAgASIBIAJHDQBB0QAhEAyRAwsCQCABLQAAQSBGDQAgASEBDI0BCyABQQFqIQEgAC0ALUEBcUUNxwEgASEBDIwBCyABIhcgAkcNyAFB0gAhEAyPAwtB0wAhECABIhQgAkYNjgMgAiAUayAAKAIAIgFqIRYgFCABa0EBaiEXA0AgFC0AACABQdbCgIAAai0AAEcNzAEgAUEBRg3HASABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAyOAwsCQCABIgEgAkcNAEHVACEQDI4DCyABLQAAQQpHDcwBIAFBAWohAQzHAQsCQCABIgEgAkcNAEHWACEQDI0DCwJAAkAgAS0AAEF2ag4EAM0BzQEBzQELIAFBAWohAQzHAQsgAUEBaiEBQcoAIRAM8wILIAAgASIBIAIQroCAgAAiEA3LASABIQFBzQAhEAzyAgsgAC0AKUEiRg2FAwymAgsCQCABIgEgAkcNAEHbACEQDIoDC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgAS0AAEFQag4K1AHTAQABAgMEBQYI1QELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMzAELQQkhEEEBIRRBACEXQQAhFgzLAQsCQCABIgEgAkcNAEHdACEQDIkDCyABLQAAQS5HDcwBIAFBAWohAQymAgsgASIBIAJHDcwBQd8AIRAMhwMLAkAgASIBIAJGDQAgAEGOgICAADYCCCAAIAE2AgQgASEBQdAAIRAM7gILQeAAIRAMhgMLQeEAIRAgASIBIAJGDYUDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHiwoCAAGotAABHDc0BIBRBA0YNzAEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhQMLQeIAIRAgASIBIAJGDYQDIAIgAWsgACgCACIUaiEWIAEgFGtBAmohFwNAIAEtAAAgFEHmwoCAAGotAABHDcwBIBRBAkYNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhAMLQeMAIRAgASIBIAJGDYMDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHpwoCAAGotAABHDcsBIBRBA0YNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMgwMLAkAgASIBIAJHDQBB5QAhEAyDAwsgACABQQFqIgEgAhCogICAACIQDc0BIAEhAUHWACEQDOkCCwJAIAEiASACRg0AA0ACQCABLQAAIhBBIEYNAAJAAkACQCAQQbh/ag4LAAHPAc8BzwHPAc8BzwHPAc8BAs8BCyABQQFqIQFB0gAhEAztAgsgAUEBaiEBQdMAIRAM7AILIAFBAWohAUHUACEQDOsCCyABQQFqIgEgAkcNAAtB5AAhEAyCAwtB5AAhEAyBAwsDQAJAIAEtAABB8MKAgABqLQAAIhBBAUYNACAQQX5qDgPPAdAB0QHSAQsgAUEBaiIBIAJHDQALQeYAIRAMgAMLAkAgASIBIAJGDQAgAUEBaiEBDAMLQecAIRAM/wILA0ACQCABLQAAQfDEgIAAai0AACIQQQFGDQACQCAQQX5qDgTSAdMB1AEA1QELIAEhAUHXACEQDOcCCyABQQFqIgEgAkcNAAtB6AAhEAz+AgsCQCABIgEgAkcNAEHpACEQDP4CCwJAIAEtAAAiEEF2ag4augHVAdUBvAHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHKAdUB1QEA0wELIAFBAWohAQtBBiEQDOMCCwNAAkAgAS0AAEHwxoCAAGotAABBAUYNACABIQEMngILIAFBAWoiASACRw0AC0HqACEQDPsCCwJAIAEiASACRg0AIAFBAWohAQwDC0HrACEQDPoCCwJAIAEiASACRw0AQewAIRAM+gILIAFBAWohAQwBCwJAIAEiASACRw0AQe0AIRAM+QILIAFBAWohAQtBBCEQDN4CCwJAIAEiFCACRw0AQe4AIRAM9wILIBQhAQJAAkACQCAULQAAQfDIgIAAai0AAEF/ag4H1AHVAdYBAJwCAQLXAQsgFEEBaiEBDAoLIBRBAWohAQzNAQtBACEQIABBADYCHCAAQZuSgIAANgIQIABBBzYCDCAAIBRBAWo2AhQM9gILAkADQAJAIAEtAABB8MiAgABqLQAAIhBBBEYNAAJAAkAgEEF/ag4H0gHTAdQB2QEABAHZAQsgASEBQdoAIRAM4AILIAFBAWohAUHcACEQDN8CCyABQQFqIgEgAkcNAAtB7wAhEAz2AgsgAUEBaiEBDMsBCwJAIAEiFCACRw0AQfAAIRAM9QILIBQtAABBL0cN1AEgFEEBaiEBDAYLAkAgASIUIAJHDQBB8QAhEAz0AgsCQCAULQAAIgFBL0cNACAUQQFqIQFB3QAhEAzbAgsgAUF2aiIEQRZLDdMBQQEgBHRBiYCAAnFFDdMBDMoCCwJAIAEiASACRg0AIAFBAWohAUHeACEQDNoCC0HyACEQDPICCwJAIAEiFCACRw0AQfQAIRAM8gILIBQhAQJAIBQtAABB8MyAgABqLQAAQX9qDgPJApQCANQBC0HhACEQDNgCCwJAIAEiFCACRg0AA0ACQCAULQAAQfDKgIAAai0AACIBQQNGDQACQCABQX9qDgLLAgDVAQsgFCEBQd8AIRAM2gILIBRBAWoiFCACRw0AC0HzACEQDPECC0HzACEQDPACCwJAIAEiASACRg0AIABBj4CAgAA2AgggACABNgIEIAEhAUHgACEQDNcCC0H1ACEQDO8CCwJAIAEiASACRw0AQfYAIRAM7wILIABBj4CAgAA2AgggACABNgIEIAEhAQtBAyEQDNQCCwNAIAEtAABBIEcNwwIgAUEBaiIBIAJHDQALQfcAIRAM7AILAkAgASIBIAJHDQBB+AAhEAzsAgsgAS0AAEEgRw3OASABQQFqIQEM7wELIAAgASIBIAIQrICAgAAiEA3OASABIQEMjgILAkAgASIEIAJHDQBB+gAhEAzqAgsgBC0AAEHMAEcN0QEgBEEBaiEBQRMhEAzPAQsCQCABIgQgAkcNAEH7ACEQDOkCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRADQCAELQAAIAFB8M6AgABqLQAARw3QASABQQVGDc4BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQfsAIRAM6AILAkAgASIEIAJHDQBB/AAhEAzoAgsCQAJAIAQtAABBvX9qDgwA0QHRAdEB0QHRAdEB0QHRAdEB0QEB0QELIARBAWohAUHmACEQDM8CCyAEQQFqIQFB5wAhEAzOAgsCQCABIgQgAkcNAEH9ACEQDOcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDc8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH9ACEQDOcCCyAAQQA2AgAgEEEBaiEBQRAhEAzMAQsCQCABIgQgAkcNAEH+ACEQDOYCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUH2zoCAAGotAABHDc4BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH+ACEQDOYCCyAAQQA2AgAgEEEBaiEBQRYhEAzLAQsCQCABIgQgAkcNAEH/ACEQDOUCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUH8zoCAAGotAABHDc0BIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH/ACEQDOUCCyAAQQA2AgAgEEEBaiEBQQUhEAzKAQsCQCABIgQgAkcNAEGAASEQDOQCCyAELQAAQdkARw3LASAEQQFqIQFBCCEQDMkBCwJAIAEiBCACRw0AQYEBIRAM4wILAkACQCAELQAAQbJ/ag4DAMwBAcwBCyAEQQFqIQFB6wAhEAzKAgsgBEEBaiEBQewAIRAMyQILAkAgASIEIAJHDQBBggEhEAziAgsCQAJAIAQtAABBuH9qDggAywHLAcsBywHLAcsBAcsBCyAEQQFqIQFB6gAhEAzJAgsgBEEBaiEBQe0AIRAMyAILAkAgASIEIAJHDQBBgwEhEAzhAgsgAiAEayAAKAIAIgFqIRAgBCABa0ECaiEUAkADQCAELQAAIAFBgM+AgABqLQAARw3JASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBA2AgBBgwEhEAzhAgtBACEQIABBADYCACAUQQFqIQEMxgELAkAgASIEIAJHDQBBhAEhEAzgAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBg8+AgABqLQAARw3IASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhAEhEAzgAgsgAEEANgIAIBBBAWohAUEjIRAMxQELAkAgASIEIAJHDQBBhQEhEAzfAgsCQAJAIAQtAABBtH9qDggAyAHIAcgByAHIAcgBAcgBCyAEQQFqIQFB7wAhEAzGAgsgBEEBaiEBQfAAIRAMxQILAkAgASIEIAJHDQBBhgEhEAzeAgsgBC0AAEHFAEcNxQEgBEEBaiEBDIMCCwJAIAEiBCACRw0AQYcBIRAM3QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQYjPgIAAai0AAEcNxQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYcBIRAM3QILIABBADYCACAQQQFqIQFBLSEQDMIBCwJAIAEiBCACRw0AQYgBIRAM3AILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNxAEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYgBIRAM3AILIABBADYCACAQQQFqIQFBKSEQDMEBCwJAIAEiASACRw0AQYkBIRAM2wILQQEhECABLQAAQd8ARw3AASABQQFqIQEMgQILAkAgASIEIAJHDQBBigEhEAzaAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQA0AgBC0AACABQYzPgIAAai0AAEcNwQEgAUEBRg2vAiABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGKASEQDNkCCwJAIAEiBCACRw0AQYsBIRAM2QILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQY7PgIAAai0AAEcNwQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYsBIRAM2QILIABBADYCACAQQQFqIQFBAiEQDL4BCwJAIAEiBCACRw0AQYwBIRAM2AILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNwAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYwBIRAM2AILIABBADYCACAQQQFqIQFBHyEQDL0BCwJAIAEiBCACRw0AQY0BIRAM1wILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNvwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY0BIRAM1wILIABBADYCACAQQQFqIQFBCSEQDLwBCwJAIAEiBCACRw0AQY4BIRAM1gILAkACQCAELQAAQbd/ag4HAL8BvwG/Ab8BvwEBvwELIARBAWohAUH4ACEQDL0CCyAEQQFqIQFB+QAhEAy8AgsCQCABIgQgAkcNAEGPASEQDNUCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGRz4CAAGotAABHDb0BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGPASEQDNUCCyAAQQA2AgAgEEEBaiEBQRghEAy6AQsCQCABIgQgAkcNAEGQASEQDNQCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUGXz4CAAGotAABHDbwBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGQASEQDNQCCyAAQQA2AgAgEEEBaiEBQRchEAy5AQsCQCABIgQgAkcNAEGRASEQDNMCCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUGaz4CAAGotAABHDbsBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGRASEQDNMCCyAAQQA2AgAgEEEBaiEBQRUhEAy4AQsCQCABIgQgAkcNAEGSASEQDNICCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGhz4CAAGotAABHDboBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGSASEQDNICCyAAQQA2AgAgEEEBaiEBQR4hEAy3AQsCQCABIgQgAkcNAEGTASEQDNECCyAELQAAQcwARw24ASAEQQFqIQFBCiEQDLYBCwJAIAQgAkcNAEGUASEQDNACCwJAAkAgBC0AAEG/f2oODwC5AbkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AQG5AQsgBEEBaiEBQf4AIRAMtwILIARBAWohAUH/ACEQDLYCCwJAIAQgAkcNAEGVASEQDM8CCwJAAkAgBC0AAEG/f2oOAwC4AQG4AQsgBEEBaiEBQf0AIRAMtgILIARBAWohBEGAASEQDLUCCwJAIAQgAkcNAEGWASEQDM4CCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUGnz4CAAGotAABHDbYBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGWASEQDM4CCyAAQQA2AgAgEEEBaiEBQQshEAyzAQsCQCAEIAJHDQBBlwEhEAzNAgsCQAJAAkACQCAELQAAQVNqDiMAuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AQG4AbgBuAG4AbgBArgBuAG4AQO4AQsgBEEBaiEBQfsAIRAMtgILIARBAWohAUH8ACEQDLUCCyAEQQFqIQRBgQEhEAy0AgsgBEEBaiEEQYIBIRAMswILAkAgBCACRw0AQZgBIRAMzAILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQanPgIAAai0AAEcNtAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZgBIRAMzAILIABBADYCACAQQQFqIQFBGSEQDLEBCwJAIAQgAkcNAEGZASEQDMsCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGuz4CAAGotAABHDbMBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGZASEQDMsCCyAAQQA2AgAgEEEBaiEBQQYhEAywAQsCQCAEIAJHDQBBmgEhEAzKAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBtM+AgABqLQAARw2yASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmgEhEAzKAgsgAEEANgIAIBBBAWohAUEcIRAMrwELAkAgBCACRw0AQZsBIRAMyQILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbbPgIAAai0AAEcNsQEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZsBIRAMyQILIABBADYCACAQQQFqIQFBJyEQDK4BCwJAIAQgAkcNAEGcASEQDMgCCwJAAkAgBC0AAEGsf2oOAgABsQELIARBAWohBEGGASEQDK8CCyAEQQFqIQRBhwEhEAyuAgsCQCAEIAJHDQBBnQEhEAzHAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBuM+AgABqLQAARw2vASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBnQEhEAzHAgsgAEEANgIAIBBBAWohAUEmIRAMrAELAkAgBCACRw0AQZ4BIRAMxgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbrPgIAAai0AAEcNrgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ4BIRAMxgILIABBADYCACAQQQFqIQFBAyEQDKsBCwJAIAQgAkcNAEGfASEQDMUCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDa0BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGfASEQDMUCCyAAQQA2AgAgEEEBaiEBQQwhEAyqAQsCQCAEIAJHDQBBoAEhEAzEAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBvM+AgABqLQAARw2sASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBoAEhEAzEAgsgAEEANgIAIBBBAWohAUENIRAMqQELAkAgBCACRw0AQaEBIRAMwwILAkACQCAELQAAQbp/ag4LAKwBrAGsAawBrAGsAawBrAGsAQGsAQsgBEEBaiEEQYsBIRAMqgILIARBAWohBEGMASEQDKkCCwJAIAQgAkcNAEGiASEQDMICCyAELQAAQdAARw2pASAEQQFqIQQM6QELAkAgBCACRw0AQaMBIRAMwQILAkACQCAELQAAQbd/ag4HAaoBqgGqAaoBqgEAqgELIARBAWohBEGOASEQDKgCCyAEQQFqIQFBIiEQDKYBCwJAIAQgAkcNAEGkASEQDMACCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHAz4CAAGotAABHDagBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGkASEQDMACCyAAQQA2AgAgEEEBaiEBQR0hEAylAQsCQCAEIAJHDQBBpQEhEAy/AgsCQAJAIAQtAABBrn9qDgMAqAEBqAELIARBAWohBEGQASEQDKYCCyAEQQFqIQFBBCEQDKQBCwJAIAQgAkcNAEGmASEQDL4CCwJAAkACQAJAAkAgBC0AAEG/f2oOFQCqAaoBqgGqAaoBqgGqAaoBqgGqAQGqAaoBAqoBqgEDqgGqAQSqAQsgBEEBaiEEQYgBIRAMqAILIARBAWohBEGJASEQDKcCCyAEQQFqIQRBigEhEAymAgsgBEEBaiEEQY8BIRAMpQILIARBAWohBEGRASEQDKQCCwJAIAQgAkcNAEGnASEQDL0CCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDaUBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGnASEQDL0CCyAAQQA2AgAgEEEBaiEBQREhEAyiAQsCQCAEIAJHDQBBqAEhEAy8AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBws+AgABqLQAARw2kASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqAEhEAy8AgsgAEEANgIAIBBBAWohAUEsIRAMoQELAkAgBCACRw0AQakBIRAMuwILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQcXPgIAAai0AAEcNowEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQakBIRAMuwILIABBADYCACAQQQFqIQFBKyEQDKABCwJAIAQgAkcNAEGqASEQDLoCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHKz4CAAGotAABHDaIBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGqASEQDLoCCyAAQQA2AgAgEEEBaiEBQRQhEAyfAQsCQCAEIAJHDQBBqwEhEAy5AgsCQAJAAkACQCAELQAAQb5/ag4PAAECpAGkAaQBpAGkAaQBpAGkAaQBpAGkAQOkAQsgBEEBaiEEQZMBIRAMogILIARBAWohBEGUASEQDKECCyAEQQFqIQRBlQEhEAygAgsgBEEBaiEEQZYBIRAMnwILAkAgBCACRw0AQawBIRAMuAILIAQtAABBxQBHDZ8BIARBAWohBAzgAQsCQCAEIAJHDQBBrQEhEAy3AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBzc+AgABqLQAARw2fASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrQEhEAy3AgsgAEEANgIAIBBBAWohAUEOIRAMnAELAkAgBCACRw0AQa4BIRAMtgILIAQtAABB0ABHDZ0BIARBAWohAUElIRAMmwELAkAgBCACRw0AQa8BIRAMtQILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNnQEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQa8BIRAMtQILIABBADYCACAQQQFqIQFBKiEQDJoBCwJAIAQgAkcNAEGwASEQDLQCCwJAAkAgBC0AAEGrf2oOCwCdAZ0BnQGdAZ0BnQGdAZ0BnQEBnQELIARBAWohBEGaASEQDJsCCyAEQQFqIQRBmwEhEAyaAgsCQCAEIAJHDQBBsQEhEAyzAgsCQAJAIAQtAABBv39qDhQAnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBAZwBCyAEQQFqIQRBmQEhEAyaAgsgBEEBaiEEQZwBIRAMmQILAkAgBCACRw0AQbIBIRAMsgILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQdnPgIAAai0AAEcNmgEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbIBIRAMsgILIABBADYCACAQQQFqIQFBISEQDJcBCwJAIAQgAkcNAEGzASEQDLECCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUHdz4CAAGotAABHDZkBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGzASEQDLECCyAAQQA2AgAgEEEBaiEBQRohEAyWAQsCQCAEIAJHDQBBtAEhEAywAgsCQAJAAkAgBC0AAEG7f2oOEQCaAZoBmgGaAZoBmgGaAZoBmgEBmgGaAZoBmgGaAQKaAQsgBEEBaiEEQZ0BIRAMmAILIARBAWohBEGeASEQDJcCCyAEQQFqIQRBnwEhEAyWAgsCQCAEIAJHDQBBtQEhEAyvAgsgAiAEayAAKAIAIgFqIRQgBCABa0EFaiEQAkADQCAELQAAIAFB5M+AgABqLQAARw2XASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtQEhEAyvAgsgAEEANgIAIBBBAWohAUEoIRAMlAELAkAgBCACRw0AQbYBIRAMrgILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQerPgIAAai0AAEcNlgEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbYBIRAMrgILIABBADYCACAQQQFqIQFBByEQDJMBCwJAIAQgAkcNAEG3ASEQDK0CCwJAAkAgBC0AAEG7f2oODgCWAZYBlgGWAZYBlgGWAZYBlgGWAZYBlgEBlgELIARBAWohBEGhASEQDJQCCyAEQQFqIQRBogEhEAyTAgsCQCAEIAJHDQBBuAEhEAysAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB7c+AgABqLQAARw2UASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuAEhEAysAgsgAEEANgIAIBBBAWohAUESIRAMkQELAkAgBCACRw0AQbkBIRAMqwILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNkwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbkBIRAMqwILIABBADYCACAQQQFqIQFBICEQDJABCwJAIAQgAkcNAEG6ASEQDKoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHyz4CAAGotAABHDZIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG6ASEQDKoCCyAAQQA2AgAgEEEBaiEBQQ8hEAyPAQsCQCAEIAJHDQBBuwEhEAypAgsCQAJAIAQtAABBt39qDgcAkgGSAZIBkgGSAQGSAQsgBEEBaiEEQaUBIRAMkAILIARBAWohBEGmASEQDI8CCwJAIAQgAkcNAEG8ASEQDKgCCyACIARrIAAoAgAiAWohFCAEIAFrQQdqIRACQANAIAQtAAAgAUH0z4CAAGotAABHDZABIAFBB0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG8ASEQDKgCCyAAQQA2AgAgEEEBaiEBQRshEAyNAQsCQCAEIAJHDQBBvQEhEAynAgsCQAJAAkAgBC0AAEG+f2oOEgCRAZEBkQGRAZEBkQGRAZEBkQEBkQGRAZEBkQGRAZEBApEBCyAEQQFqIQRBpAEhEAyPAgsgBEEBaiEEQacBIRAMjgILIARBAWohBEGoASEQDI0CCwJAIAQgAkcNAEG+ASEQDKYCCyAELQAAQc4ARw2NASAEQQFqIQQMzwELAkAgBCACRw0AQb8BIRAMpQILAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBC0AAEG/f2oOFQABAgOcAQQFBpwBnAGcAQcICQoLnAEMDQ4PnAELIARBAWohAUHoACEQDJoCCyAEQQFqIQFB6QAhEAyZAgsgBEEBaiEBQe4AIRAMmAILIARBAWohAUHyACEQDJcCCyAEQQFqIQFB8wAhEAyWAgsgBEEBaiEBQfYAIRAMlQILIARBAWohAUH3ACEQDJQCCyAEQQFqIQFB+gAhEAyTAgsgBEEBaiEEQYMBIRAMkgILIARBAWohBEGEASEQDJECCyAEQQFqIQRBhQEhEAyQAgsgBEEBaiEEQZIBIRAMjwILIARBAWohBEGYASEQDI4CCyAEQQFqIQRBoAEhEAyNAgsgBEEBaiEEQaMBIRAMjAILIARBAWohBEGqASEQDIsCCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEGrASEQDIsCC0HAASEQDKMCCyAAIAUgAhCqgICAACIBDYsBIAUhAQxcCwJAIAYgAkYNACAGQQFqIQUMjQELQcIBIRAMoQILA0ACQCAQLQAAQXZqDgSMAQAAjwEACyAQQQFqIhAgAkcNAAtBwwEhEAygAgsCQCAHIAJGDQAgAEGRgICAADYCCCAAIAc2AgQgByEBQQEhEAyHAgtBxAEhEAyfAgsCQCAHIAJHDQBBxQEhEAyfAgsCQAJAIActAABBdmoOBAHOAc4BAM4BCyAHQQFqIQYMjQELIAdBAWohBQyJAQsCQCAHIAJHDQBBxgEhEAyeAgsCQAJAIActAABBdmoOFwGPAY8BAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAQCPAQsgB0EBaiEHC0GwASEQDIQCCwJAIAggAkcNAEHIASEQDJ0CCyAILQAAQSBHDY0BIABBADsBMiAIQQFqIQFBswEhEAyDAgsgASEXAkADQCAXIgcgAkYNASAHLQAAQVBqQf8BcSIQQQpPDcwBAkAgAC8BMiIUQZkzSw0AIAAgFEEKbCIUOwEyIBBB//8DcyAUQf7/A3FJDQAgB0EBaiEXIAAgFCAQaiIQOwEyIBBB//8DcUHoB0kNAQsLQQAhECAAQQA2AhwgAEHBiYCAADYCECAAQQ02AgwgACAHQQFqNgIUDJwCC0HHASEQDJsCCyAAIAggAhCugICAACIQRQ3KASAQQRVHDYwBIABByAE2AhwgACAINgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAyaAgsCQCAJIAJHDQBBzAEhEAyaAgtBACEUQQEhF0EBIRZBACEQAkACQAJAAkACQAJAAkACQAJAIAktAABBUGoOCpYBlQEAAQIDBAUGCJcBC0ECIRAMBgtBAyEQDAULQQQhEAwEC0EFIRAMAwtBBiEQDAILQQchEAwBC0EIIRALQQAhF0EAIRZBACEUDI4BC0EJIRBBASEUQQAhF0EAIRYMjQELAkAgCiACRw0AQc4BIRAMmQILIAotAABBLkcNjgEgCkEBaiEJDMoBCyALIAJHDY4BQdABIRAMlwILAkAgCyACRg0AIABBjoCAgAA2AgggACALNgIEQbcBIRAM/gELQdEBIRAMlgILAkAgBCACRw0AQdIBIRAMlgILIAIgBGsgACgCACIQaiEUIAQgEGtBBGohCwNAIAQtAAAgEEH8z4CAAGotAABHDY4BIBBBBEYN6QEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB0gEhEAyVAgsgACAMIAIQrICAgAAiAQ2NASAMIQEMuAELAkAgBCACRw0AQdQBIRAMlAILIAIgBGsgACgCACIQaiEUIAQgEGtBAWohDANAIAQtAAAgEEGB0ICAAGotAABHDY8BIBBBAUYNjgEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB1AEhEAyTAgsCQCAEIAJHDQBB1gEhEAyTAgsgAiAEayAAKAIAIhBqIRQgBCAQa0ECaiELA0AgBC0AACAQQYPQgIAAai0AAEcNjgEgEEECRg2QASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHWASEQDJICCwJAIAQgAkcNAEHXASEQDJICCwJAAkAgBC0AAEG7f2oOEACPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAY8BCyAEQQFqIQRBuwEhEAz5AQsgBEEBaiEEQbwBIRAM+AELAkAgBCACRw0AQdgBIRAMkQILIAQtAABByABHDYwBIARBAWohBAzEAQsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBvgEhEAz3AQtB2QEhEAyPAgsCQCAEIAJHDQBB2gEhEAyPAgsgBC0AAEHIAEYNwwEgAEEBOgAoDLkBCyAAQQI6AC8gACAEIAIQpoCAgAAiEA2NAUHCASEQDPQBCyAALQAoQX9qDgK3AbkBuAELA0ACQCAELQAAQXZqDgQAjgGOAQCOAQsgBEEBaiIEIAJHDQALQd0BIRAMiwILIABBADoALyAALQAtQQRxRQ2EAgsgAEEAOgAvIABBAToANCABIQEMjAELIBBBFUYN2gEgAEEANgIcIAAgATYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMiAILAkAgACAQIAIQtICAgAAiBA0AIBAhAQyBAgsCQCAEQRVHDQAgAEEDNgIcIAAgEDYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMiAILIABBADYCHCAAIBA2AhQgAEGnjoCAADYCECAAQRI2AgxBACEQDIcCCyAQQRVGDdYBIABBADYCHCAAIAE2AhQgAEHajYCAADYCECAAQRQ2AgxBACEQDIYCCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNjQEgAEEHNgIcIAAgEDYCFCAAIBQ2AgxBACEQDIUCCyAAIAAvATBBgAFyOwEwIAEhAQtBKiEQDOoBCyAQQRVGDdEBIABBADYCHCAAIAE2AhQgAEGDjICAADYCECAAQRM2AgxBACEQDIICCyAQQRVGDc8BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDIECCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyNAQsgAEEMNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDIACCyAQQRVGDcwBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDP8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyMAQsgAEENNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDP4BCyAQQRVGDckBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDP0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyLAQsgAEEONgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPwBCyAAQQA2AhwgACABNgIUIABBwJWAgAA2AhAgAEECNgIMQQAhEAz7AQsgEEEVRg3FASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhEAz6AQsgAEEQNgIcIAAgATYCFCAAIBA2AgxBACEQDPkBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQzxAQsgAEERNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPgBCyAQQRVGDcEBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPcBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyIAQsgAEETNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPYBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQztAQsgAEEUNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPUBCyAQQRVGDb0BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDPQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyGAQsgAEEWNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQt4CAgAAiBA0AIAFBAWohAQzpAQsgAEEXNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPIBCyAAQQA2AhwgACABNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzxAQtCASERCyAQQQFqIQECQCAAKQMgIhJC//////////8PVg0AIAAgEkIEhiARhDcDICABIQEMhAELIABBADYCHCAAIAE2AhQgAEGtiYCAADYCECAAQQw2AgxBACEQDO8BCyAAQQA2AhwgACAQNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzuAQsgACgCBCEXIABBADYCBCAQIBGnaiIWIQEgACAXIBAgFiAUGyIQELWAgIAAIhRFDXMgAEEFNgIcIAAgEDYCFCAAIBQ2AgxBACEQDO0BCyAAQQA2AhwgACAQNgIUIABBqpyAgAA2AhAgAEEPNgIMQQAhEAzsAQsgACAQIAIQtICAgAAiAQ0BIBAhAQtBDiEQDNEBCwJAIAFBFUcNACAAQQI2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAzqAQsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAM6QELIAFBAWohEAJAIAAvATAiAUGAAXFFDQACQCAAIBAgAhC7gICAACIBDQAgECEBDHALIAFBFUcNugEgAEEFNgIcIAAgEDYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAM6QELAkAgAUGgBHFBoARHDQAgAC0ALUECcQ0AIABBADYCHCAAIBA2AhQgAEGWk4CAADYCECAAQQQ2AgxBACEQDOkBCyAAIBAgAhC9gICAABogECEBAkACQAJAAkACQCAAIBAgAhCzgICAAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIABBAToALgsgACAALwEwQcAAcjsBMCAQIQELQSYhEAzRAQsgAEEjNgIcIAAgEDYCFCAAQaWWgIAANgIQIABBFTYCDEEAIRAM6QELIABBADYCHCAAIBA2AhQgAEHVi4CAADYCECAAQRE2AgxBACEQDOgBCyAALQAtQQFxRQ0BQcMBIRAMzgELAkAgDSACRg0AA0ACQCANLQAAQSBGDQAgDSEBDMQBCyANQQFqIg0gAkcNAAtBJSEQDOcBC0ElIRAM5gELIAAoAgQhBCAAQQA2AgQgACAEIA0Qr4CAgAAiBEUNrQEgAEEmNgIcIAAgBDYCDCAAIA1BAWo2AhRBACEQDOUBCyAQQRVGDasBIABBADYCHCAAIAE2AhQgAEH9jYCAADYCECAAQR02AgxBACEQDOQBCyAAQSc2AhwgACABNgIUIAAgEDYCDEEAIRAM4wELIBAhAUEBIRQCQAJAAkACQAJAAkACQCAALQAsQX5qDgcGBQUDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhFAwBC0EEIRQLIABBAToALCAAIAAvATAgFHI7ATALIBAhAQtBKyEQDMoBCyAAQQA2AhwgACAQNgIUIABBq5KAgAA2AhAgAEELNgIMQQAhEAziAQsgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDEEAIRAM4QELIABBADoALCAQIQEMvQELIBAhAUEBIRQCQAJAAkACQAJAIAAtACxBe2oOBAMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0EpIRAMxQELIABBADYCHCAAIAE2AhQgAEHwlICAADYCECAAQQM2AgxBACEQDN0BCwJAIA4tAABBDUcNACAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA5BAWohAQx1CyAAQSw2AhwgACABNgIMIAAgDkEBajYCFEEAIRAM3QELIAAtAC1BAXFFDQFBxAEhEAzDAQsCQCAOIAJHDQBBLSEQDNwBCwJAAkADQAJAIA4tAABBdmoOBAIAAAMACyAOQQFqIg4gAkcNAAtBLSEQDN0BCyAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA4hAQx0CyAAQSw2AhwgACAONgIUIAAgATYCDEEAIRAM3AELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHMLIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzbAQsgACgCBCEEIABBADYCBCAAIAQgDhCxgICAACIEDaABIA4hAQzOAQsgEEEsRw0BIAFBAWohEEEBIQECQAJAAkACQAJAIAAtACxBe2oOBAMBAgQACyAQIQEMBAtBAiEBDAELQQQhAQsgAEEBOgAsIAAgAC8BMCABcjsBMCAQIQEMAQsgACAALwEwQQhyOwEwIBAhAQtBOSEQDL8BCyAAQQA6ACwgASEBC0E0IRAMvQELIAAgAC8BMEEgcjsBMCABIQEMAgsgACgCBCEEIABBADYCBAJAIAAgBCABELGAgIAAIgQNACABIQEMxwELIABBNzYCHCAAIAE2AhQgACAENgIMQQAhEAzUAQsgAEEIOgAsIAEhAQtBMCEQDLkBCwJAIAAtAChBAUYNACABIQEMBAsgAC0ALUEIcUUNkwEgASEBDAMLIAAtADBBIHENlAFBxQEhEAy3AQsCQCAPIAJGDQACQANAAkAgDy0AAEFQaiIBQf8BcUEKSQ0AIA8hAUE1IRAMugELIAApAyAiEUKZs+bMmbPmzBlWDQEgACARQgp+IhE3AyAgESABrUL/AYMiEkJ/hVYNASAAIBEgEnw3AyAgD0EBaiIPIAJHDQALQTkhEAzRAQsgACgCBCECIABBADYCBCAAIAIgD0EBaiIEELGAgIAAIgINlQEgBCEBDMMBC0E5IRAMzwELAkAgAC8BMCIBQQhxRQ0AIAAtAChBAUcNACAALQAtQQhxRQ2QAQsgACABQff7A3FBgARyOwEwIA8hAQtBNyEQDLQBCyAAIAAvATBBEHI7ATAMqwELIBBBFUYNiwEgAEEANgIcIAAgATYCFCAAQfCOgIAANgIQIABBHDYCDEEAIRAMywELIABBwwA2AhwgACABNgIMIAAgDUEBajYCFEEAIRAMygELAkAgAS0AAEE6Rw0AIAAoAgQhECAAQQA2AgQCQCAAIBAgARCvgICAACIQDQAgAUEBaiEBDGMLIABBwwA2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMygELIABBADYCHCAAIAE2AhQgAEGxkYCAADYCECAAQQo2AgxBACEQDMkBCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhEAzIAQsgAEEANgIACyAAQYASOwEqIAAgF0EBaiIBIAIQqICAgAAiEA0BIAEhAQtBxwAhEAysAQsgEEEVRw2DASAAQdEANgIcIAAgATYCFCAAQeOXgIAANgIQIABBFTYCDEEAIRAMxAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDF4LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMwwELIABBADYCHCAAIBQ2AhQgAEHBqICAADYCECAAQQc2AgwgAEEANgIAQQAhEAzCAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAzBAQtBACEQIABBADYCHCAAIAE2AhQgAEGAkYCAADYCECAAQQk2AgwMwAELIBBBFUYNfSAAQQA2AhwgACABNgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAy/AQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgAUEBaiEBAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBAJAIAAgECABEK2AgIAAIhANACABIQEMXAsgAEHYADYCHCAAIAE2AhQgACAQNgIMQQAhEAy+AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMrQELIABB2QA2AhwgACABNgIUIAAgBDYCDEEAIRAMvQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKsBCyAAQdoANgIcIAAgATYCFCAAIAQ2AgxBACEQDLwBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQypAQsgAEHcADYCHCAAIAE2AhQgACAENgIMQQAhEAy7AQsCQCABLQAAQVBqIhBB/wFxQQpPDQAgACAQOgAqIAFBAWohAUHPACEQDKIBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQynAQsgAEHeADYCHCAAIAE2AhQgACAENgIMQQAhEAy6AQsgAEEANgIAIBdBAWohAQJAIAAtAClBI08NACABIQEMWQsgAEEANgIcIAAgATYCFCAAQdOJgIAANgIQIABBCDYCDEEAIRAMuQELIABBADYCAAtBACEQIABBADYCHCAAIAE2AhQgAEGQs4CAADYCECAAQQg2AgwMtwELIABBADYCACAXQQFqIQECQCAALQApQSFHDQAgASEBDFYLIABBADYCHCAAIAE2AhQgAEGbioCAADYCECAAQQg2AgxBACEQDLYBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKSIQQV1qQQtPDQAgASEBDFULAkAgEEEGSw0AQQEgEHRBygBxRQ0AIAEhAQxVC0EAIRAgAEEANgIcIAAgATYCFCAAQfeJgIAANgIQIABBCDYCDAy1AQsgEEEVRg1xIABBADYCHCAAIAE2AhQgAEG5jYCAADYCECAAQRo2AgxBACEQDLQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxUCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLMBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
+      }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
+      }
+      close() {
+        return this.#agent.close();
+      }
+      destroy() {
+        return this.#agent.destroy();
+      }
+    };
+    module2.exports = RetryAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var { Readable } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
     var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
-    var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("http2");
-    } catch {
-      http2 = { constants: {} };
-    }
-    var {
-      constants: {
-        HTTP2_HEADER_AUTHORITY,
-        HTTP2_HEADER_METHOD,
-        HTTP2_HEADER_PATH,
-        HTTP2_HEADER_SCHEME,
-        HTTP2_HEADER_CONTENT_LENGTH,
-        HTTP2_HEADER_EXPECT,
-        HTTP2_HEADER_STATUS
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        contentLength,
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kContentLength] = contentLength;
+        this[kReading] = false;
       }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
-        super();
-        if (keepAlive !== void 0) {
-          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
-        }
-        if (socketTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (requestTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (idleTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
-        }
-        if (maxKeepAliveTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
-        }
-        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
-          throw new InvalidArgumentError("invalid maxHeaderSize");
-        }
-        if (socketPath != null && typeof socketPath !== "string") {
-          throw new InvalidArgumentError("invalid socketPath");
-        }
-        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
-          throw new InvalidArgumentError("invalid connectTimeout");
-        }
-        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeout");
-        }
-        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
-        }
-        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
-        }
-        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
-        }
-        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
-        }
-        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
-        }
-        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
-          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
-        }
-        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
-          throw new InvalidArgumentError("localAddress must be valid string IP address");
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        if (err) {
+          this[kAbort]();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        return super.destroy(err);
+      }
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+      }
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        return super.on(ev, ...args);
+      }
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
+      }
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
-          });
+        return ret;
+      }
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
+      }
+      push(chunk) {
+        if (this[kConsume] && chunk !== null) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
+        return super.push(chunk);
       }
-      get pipelining() {
-        return this[kPipelining];
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
+          }
+        }
+        return this[kBody];
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
+      async dump(opts) {
+        let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024;
+        const signal = opts?.signal;
+        if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
+          throw new InvalidArgumentError("signal must be an AbortSignal");
+        }
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
+        }
+        return await new Promise((resolve5, reject) => {
+          if (this[kContentLength] > limit) {
+            this.destroy(new AbortError());
+          }
+          const onAbort = () => {
+            this.destroy(signal.reason ?? new AbortError());
+          };
+          signal?.addEventListener("abort", onAbort);
+          this.on("close", function() {
+            signal?.removeEventListener("abort", onAbort);
+            if (signal?.aborted) {
+              reject(signal.reason ?? new AbortError());
+            } else {
+              resolve5(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      assert(!stream[kConsume]);
+      return new Promise((resolve5, reject) => {
+        if (isUnusable(stream)) {
+          const rState = stream._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
+          } else {
+            reject(rState.errored ?? new TypeError("unusable"));
+          }
         } else {
-          resume(this, true);
+          queueMicrotask(() => {
+            stream[kConsume] = {
+              type: type2,
+              stream,
+              resolve: resolve5,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream[kConsume]);
+          });
         }
-        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
+      }
+      const { _readableState: state } = consume2.stream;
+      if (state.bufferIndex) {
+        const start = state.bufferIndex;
+        const end = state.buffer.length;
+        for (let n = start; n < end; n++) {
+          consumePush(consume2, state.buffer[n]);
+        }
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        return this[kNeedDrain] < 2;
       }
-      async [kClose]() {
-        return new Promise((resolve5) => {
-          if (!this[kSize]) {
-            resolve5(null);
-          } else {
-            this[kClosedResolve] = resolve5;
-          }
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
         });
       }
-      async [kDestroy](err) {
-        return new Promise((resolve5) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
-          }
-          const callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
-            }
-            resolve5();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
-          }
-          resume(this);
-        });
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
     }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
+    function chunksDecode(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return "";
       }
+      const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
+      const bufferLength = buffer.length;
+      const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
+      return buffer.utf8Slice(start, bufferLength);
     }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
+      if (chunks.length === 1) {
+        return new Uint8Array(chunks[0]);
+      }
+      const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
+      let offset = 0;
+      for (let i = 0; i < chunks.length; ++i) {
+        const chunk = chunks[i];
+        buffer.set(chunk, offset);
+        offset += chunk.length;
+      }
+      return buffer;
     }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve5, stream, length } = consume2;
       try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
-      }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
-          }
-          /* eslint-enable camelcase */
+        if (type2 === "text") {
+          resolve5(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve5(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve5(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve5(new Blob(body, { type: stream[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve5(chunksConcat(body, length));
         }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: exports3 }) {
-        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
-        this.llhttp = exports3;
-        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
-        this.client = client;
-        this.socket = socket;
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.statusCode = null;
-        this.statusText = "";
-        this.upgrade = false;
-        this.headers = [];
-        this.headersSize = 0;
-        this.headersMaxSize = client[kMaxHeadersSize];
-        this.shouldKeepAlive = false;
-        this.paused = false;
-        this.resume = this.resume.bind(this);
-        this.bytesRead = 0;
-        this.keepAlive = "";
-        this.contentLength = "";
-        this.connection = "";
-        this.maxResponseSize = client[kMaxResponseSize];
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
-          } else {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      resume() {
-        if (this.socket.destroyed || !this.paused) {
-          return;
-        }
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_resume(this.ptr);
-        assert(this.timeoutType === TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-        this.paused = false;
-        this.execute(this.socket.read() || EMPTY_BUF);
-        this.readMore();
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+    module2.exports = { Readable: BodyReadable, chunksDecode };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
             break;
           }
-          this.execute(chunk);
-        }
-      }
-      execute(data) {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        assert(!this.paused);
-        const { socket, llhttp } = this;
-        if (data.length > currentBufferSize) {
-          if (currentBufferPtr) {
-            llhttp.free(currentBufferPtr);
-          }
-          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
-          currentBufferPtr = llhttp.malloc(currentBufferSize);
-        }
-        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
-        try {
-          let ret;
-          try {
-            currentBufferRef = data;
-            currentParser = this;
-            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
-          } catch (err) {
-            throw err;
-          } finally {
-            currentParser = null;
-            currentBufferRef = null;
-          }
-          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
-          if (ret === constants.ERROR.PAUSED_UPGRADE) {
-            this.onUpgrade(data.slice(offset));
-          } else if (ret === constants.ERROR.PAUSED) {
-            this.paused = true;
-            socket.unshift(data.slice(offset));
-          } else if (ret !== constants.ERROR.OK) {
-            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
-            let message = "";
-            if (ptr) {
-              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
-              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
-            }
-            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
-          }
-        } catch (err) {
-          util.destroy(socket, err);
-        }
-      }
-      destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
-      }
-      onStatus(buf) {
-        this.statusText = buf.toString();
-      }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
         }
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        this.trackHeader(buf.length);
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
       }
-      onHeaderValue(buf) {
-        let len = this.headers.length;
-        if ((len & 1) === 1) {
-          this.headers.push(buf);
-          len += 1;
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        const key = this.headers[len - 2];
-        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      const stackTraceLimit = Error.stackTraceLimit;
+      Error.stackTraceLimit = 0;
+      let payload;
+      try {
+        if (isContentTypeApplicationJson(contentType)) {
+          payload = JSON.parse(chunksDecode(chunks, length));
+        } else if (isContentTypeText(contentType)) {
+          payload = chunksDecode(chunks, length);
         }
-        this.trackHeader(buf.length);
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
+      queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)));
+    }
+    var isContentTypeApplicationJson = (contentType) => {
+      return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n";
+    };
+    var isContentTypeText = (contentType) => {
+      return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t";
+    };
+    module2.exports = {
+      getResolveErrorBodyCallback,
+      isContentTypeApplicationJson,
+      isContentTypeText
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-      }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
         try {
-          request2.onUpgrade(statusCode, headers, socket);
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
         } catch (err) {
-          util.destroy(socket, err);
-        }
-        resume(client);
-      }
-      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
-        const { client, socket, headers, statusText } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
-        }
-        assert(!this.upgrade);
-        assert(this.statusCode < 200);
-        if (statusCode === 100) {
-          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
-          return -1;
-        }
-        if (upgrade && !request2.upgrade) {
-          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
-          return -1;
-        }
-        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
-        this.statusCode = statusCode;
-        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
-        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
-        if (this.statusCode >= 200) {
-          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
-          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
           }
+          throw err;
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
-        }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
-            } else {
-              client[kKeepAliveTimeoutValue] = timeout;
-            }
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
           } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
-          }
-        } else {
-          socket[kReset] = true;
-        }
-        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
-        if (request2.aborted) {
-          return -1;
-        }
-        if (request2.method === "HEAD") {
-          return 1;
-        }
-        if (statusCode < 200) {
-          return 1;
-        }
-        if (socket[kBlocking]) {
-          socket[kBlocking] = false;
-          resume(client);
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
           }
+          return;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        this.callback = null;
+        this.res = res;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body: res, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body: res,
+              context: context2
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
-          return;
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
       }
     };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
+      }
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        this[kParser].destroy();
-        this[kParser] = null;
-      }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      try {
-        const socket = await new Promise((resolve5, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve5(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
+          this.callback = null;
+          this.runInAsyncScope(
+            getResolveErrorBodyCallback,
+            null,
+            { callback, body: res, contentType, statusCode, statusMessage, headers }
+          );
+        } else {
+          if (factory === null) {
+            return;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          finished(res, { readable: false }, (err) => {
+            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
+            this.res = null;
+            if (err || !res2.readable) {
+              util.destroy(res2, err);
+            }
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
+        return needDrain !== true;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
           return;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
-          assert(client[kRunning] === 0);
-          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
-            const request2 = client[kQueue][client[kPendingIdx]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          stream.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = stream;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
+      }
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
+        }
+      }
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
+      }
+    };
+    var PipelineResponse = class extends Readable {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
       }
-      client[kResuming] = 2;
-      _resume(client, sync);
-      client[kResuming] = 0;
-      if (client[kRunningIdx] > 256) {
-        client[kQueue].splice(0, client[kRunningIdx]);
-        client[kPendingIdx] -= client[kRunningIdx];
-        client[kRunningIdx] = 0;
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        callback(err);
       }
-    }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
+        }
+        const { signal, method, opaque, onInfo, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        super("UNDICI_UPGRADE");
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.abort = null;
+        this.context = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = null;
+      }
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
+      }
+      onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
+      }
+      try {
+        const upgradeHandler = new UpgradeHandler(opts, callback);
+        this.dispatch({
+          ...opts,
+          method: opts.method || "GET",
+          upgrade: opts.protocol || "Websocket"
+        }, upgradeHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path7, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
-      }
-      if (request2.aborted) {
-        return false;
       }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve5, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve5(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
+    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _MockNotMatchedError);
+        this.name = "MockNotMatchedError";
+        this.message = message || "The request does not match any registered mock dispatches";
+        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path7} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      if (upgrade) {
-        header += `connection: upgrade\r
-upgrade: ${upgrade}\r
-`;
-      } else if (client[kPipelining] && !socket[kReset]) {
-        header += "connection: keep-alive\r\n";
-      } else {
-        header += "connection: close\r\n";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        if (contentLength === 0) {
-          socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-        } else {
-          assert(contentLength === null, "no body must not have content length");
-          socket.write(`${header}\r
-`, "latin1");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      return false;
+    }
+    function lowerCaseEntries(headers) {
+      return Object.fromEntries(
+        Object.entries(headers).map(([headerName, headerValue]) => {
+          return [headerName.toLocaleLowerCase(), headerValue];
+        })
+      );
+    }
+    function getHeaderByName(headers, key) {
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
+            return headers[i + 1];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      return true;
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path7, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    function buildHeadersFromArray(headers) {
+      const clone = headers.slice();
+      const entries = [];
+      for (let index = 0; index < clone.length; index += 2) {
+        entries.push([clone[index], clone[index + 1]]);
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      return Object.fromEntries(entries);
+    }
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
+        }
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      if (request2.aborted) {
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
+      }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream = session.request(headers, { endStream: false, signal });
-        if (stream.id && !stream.pending) {
-          request2.onUpgrade(null, null, stream);
-          ++h2State.openStreams;
-        } else {
-          stream.once("ready", () => {
-            request2.onUpgrade(null, null, stream);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path7;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path7) {
+      if (typeof path7 !== "string") {
+        return path7;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path7.split("?");
+      if (pathSegments.length !== 2) {
+        return path7;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path7, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path7);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    function getMockDispatch(mockDispatches, key) {
+      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
+      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path7 }) => matchValue(safeUrl(path7), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream = session.request(headers, { endStream: shouldEndStream, signal });
-        stream.once("continue", writeBodyH2);
-      } else {
-        stream = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
-          stream.pause();
-        }
-      });
-      stream.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream.pause();
-        }
-      });
-      stream.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
-        }
-      });
-      stream.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
+      }
+      return matchedMockDispatches[0];
+    }
+    function addMockDispatch(mockDispatches, key, data) {
+      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
+      const replyData = typeof data === "function" ? { callback: data } : { ...data };
+      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
+      mockDispatches.push(newMockDispatch);
+      return newMockDispatch;
+    }
+    function deleteMockDispatch(mockDispatches, key) {
+      const index = mockDispatches.findIndex((dispatch) => {
+        if (!dispatch.consumed) {
+          return false;
         }
+        return matchKey(dispatch, key);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream.cork();
-          stream.write(body);
-          stream.uncork();
-          stream.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream,
-              header: "",
-              socket: client[kSocket]
-            });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
+      }
+    }
+    function buildKey(opts) {
+      const { path: path7, method, body, headers, query } = opts;
+      return {
+        path: path7,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
           }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream,
-            socket: client[kSocket]
-          });
         } else {
-          assert(false);
+          result.push(name, Buffer.from(`${value}`));
         }
       }
+      return result;
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
+      return Buffer.concat(buffers).toString("utf8");
+    }
+    function mockDispatch(opts, handler2) {
+      const key = buildKey(opts);
+      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
+      mockDispatch2.timesInvoked++;
+      if (mockDispatch2.data.callback) {
+        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+      }
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
+      }
+      if (typeof delay === "number" && delay > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
           return;
         }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
+      }
+      function resume() {
+      }
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
           try {
-            writer.end();
-          } catch (er) {
-            err = er;
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
+              }
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
+            }
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          originalDispatch.call(this, opts, handler2);
         }
       };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    function checkNetConnect(netConnect, origin) {
+      const url = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
+        return true;
       }
+      return false;
     }
-    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
-      let callback = null;
-      function onDrain() {
-        if (callback) {
-          const cb = callback;
-          callback = null;
-          cb();
-        }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
-      const waitForDrain = () => new Promise((resolve5, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve5;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+    }
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      /**
+       * Delay a reply by a set amount in ms.
+       */
+      delay(waitInMs) {
+        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
+          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
-    }
-    var AsyncWriter = class {
-      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
-        this.socket = socket;
-        this.request = request2;
-        this.contentLength = contentLength;
-        this.client = client;
-        this.bytesWritten = 0;
-        this.expectsPayload = expectsPayload;
-        this.header = header;
-        socket[kWriting] = true;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
         }
-        if (socket.destroyed) {
-          return false;
+        this[kMockDispatch].times = repeatTimes;
+        return this;
+      }
+    };
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          }
-          process.emitWarning(new RequestContentLengthMismatchError());
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
         }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
-          }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
           } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
           }
         }
-        if (contentLength === null) {
-          socket.write(`\r
-${len.toString(16)}\r
-`, "latin1");
-        }
-        this.bytesWritten += len;
-        const ret = socket.write(chunk);
-        socket.uncork();
-        request2.onBodySent(chunk);
-        if (!ret) {
-          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-            if (socket[kParser].timeout.refresh) {
-              socket[kParser].timeout.refresh();
-            }
-          }
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
         }
-        return ret;
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
+      createMockScopeDispatchData({ statusCode, data, responseOptions }) {
+        const responseData = getResponseData2(data);
+        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
+        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
+        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
+        return { statusCode, data, headers, trailers };
+      }
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
         }
-        if (socket.destroyed) {
-          return;
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
+          throw new InvalidArgumentError("responseOptions must be an object");
         }
-        if (bytesWritten === 0) {
-          if (expectsPayload) {
-            socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-          } else {
-            socket.write(`${header}\r
-`, "latin1");
-          }
-        } else if (contentLength === null) {
-          socket.write("\r\n0\r\n\r\n", "latin1");
+      }
+      /**
+       * Mock an undici request with a defined reply.
+       */
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
+              throw new InvalidArgumentError("reply options callback must return an object");
+            }
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
+            return {
+              ...this.createMockScopeDispatchData(replyParameters2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
         }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
-          }
+        const replyParameters = {
+          statusCode: replyOptionsCallbackOrStatusCode,
+          data: arguments[1] === void 0 ? "" : arguments[1],
+          responseOptions: arguments[2] === void 0 ? {} : arguments[2]
+        };
+        this.validateReplyParameters(replyParameters);
+        const dispatchData = this.createMockScopeDispatchData(replyParameters);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
+      }
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
         }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
-          }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
+      }
+      /**
+       * Set default reply headers on the interceptor for subsequent replies
+       */
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
         }
-        resume(client);
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
+      /**
+       * Set default reply trailers on the interceptor for subsequent replies
+       */
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
         }
+        this[kDefaultTrailers] = trailers;
+        return this;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
-    }
-    module2.exports = Client;
+    };
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var kSize = 2048;
-    var kMask = kSize - 1;
-    var FixedCircularBuffer = class {
-      constructor() {
-        this.bottom = 0;
-        this.top = 0;
-        this.list = new Array(kSize);
-        this.next = null;
-      }
-      isEmpty() {
-        return this.top === this.bottom;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      shift() {
-        const nextItem = this.list[this.bottom];
-        if (nextItem === void 0)
-          return null;
-        this.list[this.bottom] = void 0;
-        this.bottom = this.bottom + 1 & kMask;
-        return nextItem;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isEmpty() {
-        return this.head.isEmpty();
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
-        }
-        this.head.push(data);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
-        }
-        return next;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
-      }
-      get connected() {
-        return this[kPool][kConnected];
-      }
-      get free() {
-        return this[kPool][kFree];
-      }
-      get pending() {
-        return this[kPool][kPending];
-      }
-      get queued() {
-        return this[kPool][kQueued];
-      }
-      get running() {
-        return this[kPool][kRunning];
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+    "use strict";
+    var singulars = {
+      pronoun: "it",
+      is: "is",
+      was: "was",
+      this: "this"
+    };
+    var plurals = {
+      pronoun: "they",
+      is: "are",
+      was: "were",
+      this: "these"
+    };
+    module2.exports = class Pluralizer {
+      constructor(singular, plural) {
+        this.singular = singular;
+        this.plural = plural;
       }
-      get size() {
-        return this[kPool][kSize];
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
       }
     };
-    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ Symbol("stats");
-    var PoolBase = class extends DispatcherBase {
-      constructor() {
-        super();
-        this[kQueue] = new FixedQueue();
-        this[kClients] = [];
-        this[kQueued] = 0;
-        const pool = this;
-        this[kOnDrain] = function onDrain(origin, targets) {
-          const queue = pool[kQueue];
-          let needDrain = false;
-          while (!needDrain) {
-            const item = queue.shift();
-            if (!item) {
-              break;
-            }
-            pool[kQueued]--;
-            needDrain = !this.dispatch(item.opts, item.handler);
-          }
-          this[kNeedDrain] = needDrain;
-          if (!this[kNeedDrain] && pool[kNeedDrain]) {
-            pool[kNeedDrain] = false;
-            pool.emit("drain", origin, [pool, ...targets]);
+    var { Transform } = require("node:stream");
+    var { Console } = require("node:console");
+    var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
+    var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
           }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
           }
-        };
-        this[kOnConnect] = (origin, targets) => {
-          pool.emit("connect", origin, [pool, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          pool.emit("disconnect", origin, [pool, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          pool.emit("connectionError", origin, [pool, ...targets], err);
-        };
-        this[kStats] = new PoolStats(this);
-      }
-      get [kBusy]() {
-        return this[kNeedDrain];
+        });
       }
-      get [kConnected]() {
-        return this[kClients].filter((client) => client[kConnected]).length;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path7, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path7,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      get [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        return ret;
+        return dispatcher;
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
+      }
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
+      }
+      deactivate() {
+        this[kIsMockActive] = false;
+      }
+      activate() {
+        this[kIsMockActive] = true;
+      }
+      enableNetConnect(matcher) {
+        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
+          if (Array.isArray(this[kNetConnect])) {
+            this[kNetConnect].push(matcher);
+          } else {
+            this[kNetConnect] = [matcher];
+          }
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        return ret;
       }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      get stats() {
-        return this[kStats];
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve5) => {
-            this[kClosedResolve] = resolve5;
-          });
-        }
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const client = this[kClients].get(origin);
+        if (client) {
+          return client;
+        }
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
+        }
+        for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
-          item.handler.onError(err);
         }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      [kDispatch](opts, handler2) {
-        const dispatcher = this[kGetDispatcher]();
-        if (!dispatcher) {
-          this[kNeedDrain] = true;
-          this[kQueue].push({ opts, handler: handler2 });
-          this[kQueued]++;
-        } else if (!dispatcher.dispatch(opts, handler2)) {
-          dispatcher[kNeedDrain] = true;
-          this[kNeedDrain] = !this[kGetDispatcher]();
-        }
-        return !this[kNeedDrain];
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-      [kAddClient](client) {
-        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-        this[kClients].push(client);
-        if (this[kNeedDrain]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      [kRemoveClient](client) {
-        client.close(() => {
-          const idx = this[kClients].indexOf(client);
-          if (idx !== -1) {
-            this[kClients].splice(idx, 1);
-          }
-        });
-        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
+          return;
+        }
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors2();
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    var Pool = class extends PoolBase {
-      constructor(origin, {
-        connections,
-        factory = defaultFactory,
-        connect,
-        connectTimeout,
-        tls,
-        maxCachedSessions,
-        socketPath,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        allowH2,
-        ...options
-      } = {}) {
-        super();
-        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
-          throw new InvalidArgumentError("invalid connections");
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (typeof connect !== "function") {
-          connect = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
-          }
-        });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
     "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var BalancedPool = class extends PoolBase {
-      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
-        super();
-        this[kOptions] = opts;
-        this[kIndex] = -1;
-        this[kCurrentWeight] = 0;
-        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
-        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
-        if (!Array.isArray(upstreams)) {
-          upstreams = [upstreams];
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+    module2.exports = class DecoratorHandler {
+      #handler;
+      constructor(handler2) {
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
         }
-        this._updateBalancedPoolStats();
+        this.#handler = handler2;
       }
-      addUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
-          return this;
-        }
-        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
-        this[kAddClient](pool);
-        pool.on("connect", () => {
-          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
-        });
-        pool.on("connectionError", () => {
-          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-          this._updateBalancedPoolStats();
-        });
-        pool.on("disconnect", (...args) => {
-          const err = args[2];
-          if (err && err.code === "UND_ERR_SOCKET") {
-            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-            this._updateBalancedPoolStats();
-          }
-        });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
-        }
-        this._updateBalancedPoolStats();
-        return this;
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      removeUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
-        if (pool) {
-          this[kRemoveClient](pool);
-        }
-        return this;
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
-      [kGetDispatcher]() {
-        if (this[kClients].length === 0) {
-          throw new BalancedPoolMissingUpstreamError();
-        }
-        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
-        if (!dispatcher) {
-          return;
-        }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
-        }
-        let counter = 0;
-        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
-        while (counter++ < this[kClients].length) {
-          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
-          const pool = this[kClients][this[kIndex]];
-          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
-            maxWeightIndex = this[kIndex];
-          }
-          if (this[kIndex] === 0) {
-            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
-            if (this[kCurrentWeight] <= 0) {
-              this[kCurrentWeight] = this[kMaxWeightPerServer];
-            }
-          }
-          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
-            return pool;
-          }
-        }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
+      onHeaders(...args) {
+        return this.#handler.onHeaders?.(...args);
+      }
+      onData(...args) {
+        return this.#handler.onData?.(...args);
+      }
+      onComplete(...args) {
+        return this.#handler.onComplete?.(...args);
+      }
+      onBodySent(...args) {
+        return this.#handler.onBodySent?.(...args);
       }
     };
-    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
-      }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
-      }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
-      }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
-        }
-      }
+    var RedirectHandler = require_redirect_handler2();
+    module2.exports = (opts) => {
+      const globalMaxRedirections = opts?.maxRedirections;
+      return (dispatch) => {
+        return function redirectInterceptor(opts2, handler2) {
+          const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2;
+          if (!maxRedirections) {
+            return dispatch(opts2, handler2);
+          }
+          const redirectHandler = new RedirectHandler(
+            dispatch,
+            maxRedirections,
+            opts2,
+            handler2
+          );
+          return dispatch(baseOpts, redirectHandler);
+        };
+      };
     };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
         };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
       };
     };
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    function defaultFactory(origin, opts) {
-      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
-    }
-    var Agent = class extends DispatcherBase {
-      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
-        super();
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    var DumpHandler = class extends DecoratorHandler {
+      #maxSize = 1024 * 1024;
+      #abort = null;
+      #dumped = false;
+      #aborted = false;
+      #size = 0;
+      #reason = null;
+      #handler = null;
+      constructor({ maxSize }, handler2) {
+        super(handler2);
+        if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
+          throw new InvalidArgumentError("maxSize must be a number greater than 0");
         }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
+      }
+      onConnect(abort) {
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
+      }
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
+      }
+      // TODO: will require adjustment after new hooks are out
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = util.parseHeaders(rawHeaders);
+        const contentLength = headers["content-length"];
+        if (contentLength != null && contentLength > this.#maxSize) {
+          throw new RequestAbortedError(
+            `Response size (${contentLength}) larger than maxSize (${this.#maxSize})`
+          );
         }
-        if (connect && typeof connect !== "function") {
-          connect = { ...connect };
+        if (this.#aborted) {
+          return true;
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
         );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
-        }
-        return ret;
       }
-      [kDispatch](opts, handler2) {
-        let key;
-        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
-          key = String(opts.origin);
-        } else {
-          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
+      onError(err) {
+        if (this.#dumped) {
+          return;
         }
-        return dispatcher.dispatch(opts, handler2);
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
+      onData(chunk) {
+        this.#size = this.#size + chunk.length;
+        if (this.#size >= this.#maxSize) {
+          this.#dumped = true;
+          if (this.#aborted) {
+            this.#handler.onError(this.#reason);
+          } else {
+            this.#handler.onComplete([]);
           }
         }
-        await Promise.all(closePromises);
+        return true;
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        await Promise.all(destroyPromises);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
+        }
+        this.#handler.onComplete(trailers);
       }
     };
-    module2.exports = Agent;
+    function createDumpInterceptor({ maxSize: defaultMaxSize } = {
+      maxSize: 1024 * 1024
+    }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { dumpMaxSize = defaultMaxSize } = opts;
+          const dumpHandler = new DumpHandler(
+            { maxSize: dumpMaxSize },
+            handler2
+          );
+          return dispatch(opts, dumpHandler);
+        };
+      };
+    }
+    module2.exports = createDumpInterceptor;
   }
 });
 
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
-    };
-    module2.exports = class BodyReadable extends Readable {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        highWaterMark = 64 * 1024
-        // Same as nodejs fs streams.
-      }) {
-        super({
-          autoDestroy: true,
-          read: resume,
-          highWaterMark
-        });
-        this._readableState.dataEmitted = false;
-        this[kAbort] = abort;
-        this[kConsume] = null;
-        this[kBody] = null;
-        this[kContentType] = contentType;
-        this[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
-        }
-        return super.emit(ev, ...args);
-      }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
-      }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
-      }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
-        }
-        return ret;
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    var maxInt = Math.pow(2, 31) - 1;
+    var DNSInstance = class {
+      #maxTTL = 0;
+      #maxItems = 0;
+      #records = /* @__PURE__ */ new Map();
+      dualStack = true;
+      affinity = null;
+      lookup = null;
+      pick = null;
+      constructor(opts) {
+        this.#maxTTL = opts.maxTTL;
+        this.#maxItems = opts.maxItems;
+        this.dualStack = opts.dualStack;
+        this.affinity = opts.affinity;
+        this.lookup = opts.lookup ?? this.#defaultLookup;
+        this.pick = opts.pick ?? this.#defaultPick;
       }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
         }
-        return super.push(chunk);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-text
-      async text() {
-        return consume(this, "text");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-json
-      async json() {
-        return consume(this, "json");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-blob
-      async blob() {
-        return consume(this, "blob");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-body
-      get body() {
-        if (!this[kBody]) {
-          this[kBody] = ReadableStreamFrom(this);
-          if (this[kConsume]) {
-            this[kBody].getReader();
-            assert(this[kBody].locked);
+        const newOpts = {
+          affinity: this.affinity,
+          dualStack: this.dualStack,
+          lookup: this.lookup,
+          pick: this.pick,
+          ...opts.dns,
+          maxTTL: this.#maxTTL,
+          maxItems: this.#maxItems
+        };
+        if (ips == null) {
+          this.lookup(origin, newOpts, (err, addresses) => {
+            if (err || addresses == null || addresses.length === 0) {
+              cb(err ?? new InformationalError("No DNS entries found"));
+              return;
+            }
+            this.setRecords(origin, addresses);
+            const records = this.#records.get(origin.hostname);
+            const ip = this.pick(
+              origin,
+              records,
+              newOpts.affinity
+            );
+            let port;
+            if (typeof ip.port === "number") {
+              port = `:${ip.port}`;
+            } else if (origin.port !== "") {
+              port = `:${origin.port}`;
+            } else {
+              port = "";
+            }
+            cb(
+              null,
+              `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+            );
+          });
+        } else {
+          const ip = this.pick(
+            origin,
+            ips,
+            newOpts.affinity
+          );
+          if (ip == null) {
+            this.#records.delete(origin.hostname);
+            this.runLookup(origin, opts, cb);
+            return;
+          }
+          let port;
+          if (typeof ip.port === "number") {
+            port = `:${ip.port}`;
+          } else if (origin.port !== "") {
+            port = `:${origin.port}`;
+          } else {
+            port = "";
           }
+          cb(
+            null,
+            `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+          );
         }
-        return this[kBody];
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
+      #defaultLookup(origin, opts, cb) {
+        lookup(
+          origin.hostname,
+          {
+            all: true,
+            family: this.dualStack === false ? this.affinity : 0,
+            order: "ipv4first"
+          },
+          (err, addresses) => {
+            if (err) {
+              return cb(err);
             }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
           }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve5, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+        );
+      }
+      #defaultPick(origin, hostnameRecords, affinity) {
+        let ip = null;
+        const { records, offset } = hostnameRecords;
+        let family;
+        if (this.dualStack) {
+          if (affinity == null) {
+            if (offset == null || offset === maxInt) {
+              hostnameRecords.offset = 0;
+              affinity = 4;
             } else {
-              resolve5(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
             }
-          }).resume();
-        });
-      }
-    };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream, type2) {
-      if (isUnusable(stream)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream[kConsume]);
-      return new Promise((resolve5, reject) => {
-        stream[kConsume] = {
-          type: type2,
-          stream,
-          resolve: resolve5,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
           }
-        });
-        process.nextTick(consumeStart, stream[kConsume]);
-      });
-    }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
-      }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
-        });
-      }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
-      }
-    }
-    function consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve5, stream, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve5(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve5(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve5(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+        } else {
+          family = records[affinity];
+        }
+        if (family == null || family.ips.length === 0) {
+          return ip;
+        }
+        if (family.offset == null || family.offset === maxInt) {
+          family.offset = 0;
+        } else {
+          family.offset++;
+        }
+        const position = family.offset % family.ips.length;
+        ip = family.ips[position] ?? null;
+        if (ip == null) {
+          return ip;
+        }
+        if (Date.now() - ip.timestamp > ip.ttl) {
+          family.ips.splice(position, 1);
+          return this.pick(origin, hostnameRecords, affinity);
+        }
+        return ip;
+      }
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
           }
-          resolve5(new Blob2(body, { type: stream[kContentType] }));
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream.destroy(err);
+        this.#records.set(origin.hostname, records);
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
+            }
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
+      };
     };
   }
 });
 
-// node_modules/undici/lib/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
+    }
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
+      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
+    }
+    function fill(headers, object) {
+      if (Array.isArray(object)) {
+        for (let i = 0; i < object.length; ++i) {
+          const header = object[i];
+          if (header.length !== 2) {
+            throw webidl.errors.exception({
+              header: "Headers constructor",
+              message: `expected name/value pair to be length 2, found ${header.length}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } else if (typeof object === "object" && object !== null) {
+        const keys = Object.keys(object);
+        for (let i = 0; i < keys.length; ++i) {
+          appendHeader(headers, keys[i], object[keys[i]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+    }
+    function appendHeader(headers, name, value) {
+      value = headerValueNormalize(value);
+      if (!isValidHeaderName(name)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value: name,
+          type: "header name"
+        });
+      } else if (!isValidHeaderValue(value)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value,
+          type: "header value"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
-          }
-          return;
-        }
-        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-        const contentType = parsedHeaders["content-type"];
-        const body = new Readable({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
+      if (getHeadersGuard(headers) === "immutable") {
+        throw new TypeError("immutable");
+      }
+      return getHeadersList(headers).append(name, value, false);
+    }
+    function compareHeaderName(a, b) {
+      return a[0] < b[0] ? -1 : 1;
+    }
+    var HeadersList = class _HeadersList {
+      /** @type {[string, string][]|null} */
+      cookies = null;
+      constructor(init) {
+        if (init instanceof _HeadersList) {
+          this[kHeadersMap] = new Map(init[kHeadersMap]);
+          this[kHeadersSortedMap] = init[kHeadersSortedMap];
+          this.cookies = init.cookies === null ? null : [...init.cookies];
+        } else {
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @see https://fetch.spec.whatwg.org/#header-list-contains
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      contains(name, isLowerCase) {
+        return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-append
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      append(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
           });
+        } else {
+          this[kHeadersMap].set(lowercaseName, { name, value });
         }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve5, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve5(data);
-          });
-        });
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-set
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      set(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
+        }
+        this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        if (!isLowerCase) name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-get
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       * @returns {string | null}
+       */
+      get(name, isLowerCase) {
+        return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
+      }
+      *[Symbol.iterator]() {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+          yield [name, value];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
-        }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      get entriesList() {
+        const headers = [];
+        if (this[kHeadersMap].size !== 0) {
+          for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) {
+            if (lowerName === "set-cookie") {
+              for (const cookie of this.cookies) {
+                headers.push([name, cookie]);
+              }
+            } else {
+              headers.push([name, value]);
+            }
           }
-          return;
         }
-        this.factory = null;
-        let res;
-        if (this.throwOnError && statusCode >= 400) {
-          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-          const contentType = parsedHeaders["content-type"];
-          res = new PassThrough();
-          this.callback = null;
-          this.runInAsyncScope(
-            getResolveErrorBodyCallback,
-            null,
-            { callback, body: res, contentType, statusCode, statusMessage, headers }
-          );
-        } else {
-          if (factory === null) {
-            return;
-          }
-          res = this.runInAsyncScope(factory, null, {
-            statusCode,
-            headers,
-            opaque,
-            context: context2
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        return headers;
+      }
+      // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set
+      toSortedArray() {
+        const size = this[kHeadersMap].size;
+        const array = new Array(size);
+        if (size <= 32) {
+          if (size === 0) {
+            return array;
           }
-          finished(res, { readable: false }, (err) => {
-            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
-            this.res = null;
-            if (err || !res2.readable) {
-              util.destroy(res2, err);
+          const iterator2 = this[kHeadersMap][Symbol.iterator]();
+          const firstValue = iterator2.next().value;
+          array[0] = [firstValue[0], firstValue[1].value];
+          assert(firstValue[1].value !== null);
+          for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) {
+            value = iterator2.next().value;
+            x = array[i] = [value[0], value[1].value];
+            assert(x[1] !== null);
+            left = 0;
+            right = i;
+            while (left < right) {
+              pivot = left + (right - left >> 1);
+              if (array[pivot][0] <= x[0]) {
+                left = pivot + 1;
+              } else {
+                right = pivot;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve5, reject) => {
-          stream.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve5(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
-      }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
+          }
+          if (!iterator2.next().done) {
+            throw new TypeError("Unreachable");
+          }
+          return array;
+        } else {
+          let i = 0;
+          for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+            array[i++] = [name, value];
+            assert(value !== null);
+          }
+          return array.sort(compareHeaderName);
         }
       }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
-      }
     };
-    var PipelineResponse = class extends Readable {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
-      }
-      _read() {
-        this[kResume]();
-      }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+    var Headers = class _Headers {
+      #guard;
+      #headersList;
+      constructor(init = void 0) {
+        webidl.util.markAsUncloneable(this);
+        if (init === kConstruct) {
+          return;
+        }
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
+          fill(this, init);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
+          });
         }
-        if (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        const { signal, method, opaque, onInfo, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        this.#headersList.delete(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        return this.#headersList.get(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value,
+            type: "header value"
+          });
         }
-        this.abort = abort;
-        this.context = context2;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        for (let i = 0; i < names.length; ++i) {
+          const { 0: name, 1: value } = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
+            }
+          } else {
+            headers.push([name, value]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    function pipeline(opts, handler2) {
-      try {
-        const pipelineHandler = new PipelineHandler(opts, handler2);
-        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
-        return pipelineHandler.ret;
-      } catch (err) {
-        return new PassThrough().destroy(err);
+    var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers;
+    Reflect.deleteProperty(Headers, "getHeadersGuard");
+    Reflect.deleteProperty(Headers, "setHeadersGuard");
+    Reflect.deleteProperty(Headers, "getHeadersList");
+    Reflect.deleteProperty(Headers, "setHeadersList");
+    iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1);
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-    }
-    module2.exports = pipeline;
+    });
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object") {
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
+        }
+        if (typeof iterator2 === "function") {
+          return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V));
+        }
+        return webidl.converters["record"](V, prefix, argument);
+      }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
+    };
+    module2.exports = {
+      fill,
+      // for test.
+      compareHeaderName,
+      Headers,
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
+    };
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { types } = require("node:util");
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
+        return responseObject;
+      }
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve5, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve5(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      try {
-        const upgradeHandler = new UpgradeHandler(opts, callback);
-        this.dispatch({
-          ...opts,
-          method: opts.method || "GET",
-          upgrade: opts.protocol || "Websocket"
-        }, upgradeHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url = urlList[urlList.length - 1] ?? null;
+        if (url === null) {
+          return "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        removeSignal(this);
-        this.callback = null;
-        let headers = rawHeaders;
-        if (headers != null) {
-          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        }
-        this.runInAsyncScope(callback, null, null, {
-          statusCode,
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve5, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve5(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      }
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (bodyUnusable(this)) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        const clonedResponse = cloneResponse(this[kState]);
+        if (hasFinalizationRegistry && this[kState].body?.stream) {
+          streamRegistry.register(this, new WeakRef(this[kState].body.stream));
+        }
+        return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    mixinBody(Response);
+    Object.defineProperties(Response.prototype, {
+      type: kEnumerableProperty,
+      url: kEnumerableProperty,
+      status: kEnumerableProperty,
+      ok: kEnumerableProperty,
+      redirected: kEnumerableProperty,
+      statusText: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Response",
+        configurable: true
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    function makeResponse(init) {
+      return {
+        aborted: false,
+        rangeRequested: false,
+        timingAllowPassed: false,
+        requestIncludesCredentials: false,
+        type: "default",
+        status: 200,
+        timingInfo: null,
+        cacheState: "",
+        statusText: "",
+        ...init,
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
+      };
+    }
+    function makeNetworkError(reason) {
+      const isError = isErrorLike(reason);
+      return makeResponse({
+        type: "error",
+        status: 0,
+        error: isError ? reason : new Error(reason ? String(reason) : reason),
+        aborted: reason && reason.name === "AbortError"
+      });
+    }
+    function isNetworkError(response) {
+      return (
+        // A network error is a response whose type is "error",
+        response.type === "error" && // status is 0
+        response.status === 0
       );
     }
-    function getHeaderByName(headers, key) {
-      if (Array.isArray(headers)) {
-        for (let i = 0; i < headers.length; i += 2) {
-          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
-            return headers[i + 1];
-          }
+    function makeFilteredResponse(response, state) {
+      state = {
+        internalResponse: response,
+        ...state
+      };
+      return new Proxy(response, {
+        get(target, p) {
+          return p in state ? state[p] : target[p];
+        },
+        set(target, p, value) {
+          assert(!(p in state));
+          target[p] = value;
+          return true;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    function buildHeadersFromArray(headers) {
-      const clone = headers.slice();
-      const entries = [];
-      for (let index = 0; index < clone.length; index += 2) {
-        entries.push([clone[index], clone[index + 1]]);
-      }
-      return Object.fromEntries(entries);
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
     }
-    function matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path7) {
-      if (typeof path7 !== "string") {
-        return path7;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path7.split("?");
-      if (pathSegments.length !== 2) {
-        return path7;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
     }
-    function matchKey(mockDispatch2, { path: path7, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path7);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
-    }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
       }
+      return response;
     }
-    function getMockDispatch(mockDispatches, key) {
-      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
-      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
-      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path7 }) => matchValue(safeUrl(path7), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      return matchedMockDispatches[0];
-    }
-    function addMockDispatch(mockDispatches, key, data) {
-      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
-      const replyData = typeof data === "function" ? { callback: data } : { ...data };
-      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
-      mockDispatches.push(newMockDispatch);
-      return newMockDispatch;
-    }
-    function deleteMockDispatch(mockDispatches, key) {
-      const index = mockDispatches.findIndex((dispatch) => {
-        if (!dispatch.consumed) {
-          return false;
-        }
-        return matchKey(dispatch, key);
-      });
-      if (index !== -1) {
-        mockDispatches.splice(index, 1);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path7, method, body, headers, query } = opts;
-      return {
-        path: path7,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      return webidl.converters.DOMString(V, prefix, name);
+    };
+    webidl.converters.BodyInit = function(V, prefix, argument) {
+      if (V instanceof ReadableStream) {
+        return webidl.converters.ReadableStream(V, prefix, argument);
       }
-      return Buffer.concat(buffers).toString("utf8");
-    }
-    function mockDispatch(opts, handler2) {
-      const key = buildKey(opts);
-      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
-      mockDispatch2.timesInvoked++;
-      if (mockDispatch2.data.callback) {
-        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
+    };
+    webidl.converters.ResponseInit = webidl.dictionaryConverter([
+      {
+        key: "status",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 200
+      },
+      {
+        key: "statusText",
+        converter: webidl.converters.ByteString,
+        defaultValue: () => ""
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
       }
-      if (typeof delay === "number" && delay > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      return true;
-    }
-    function buildMockDispatch() {
-      const agent = this[kMockAgent];
-      const origin = this[kOrigin];
-      const originalDispatch = this[kOriginalDispatch];
-      return function dispatch(opts, handler2) {
-        if (agent.isMockActive) {
-          try {
-            mockDispatch.call(this, opts, handler2);
-          } catch (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
-              }
-              if (checkNetConnect(netConnect, origin)) {
-                originalDispatch.call(this, opts, handler2);
-              } else {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } else {
-          originalDispatch.call(this, opts, handler2);
+          });
         }
-      };
-    }
-    function checkNetConnect(netConnect, origin) {
-      const url = new URL(origin);
-      if (netConnect === true) {
-        return true;
-      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
-        return true;
       }
-      return false;
-    }
-    function buildMockOptions(opts) {
-      if (opts) {
-        const { agent, ...mockOptions } = opts;
-        return mockOptions;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) {
+        process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
+      }
+      return { WeakRef, FinalizationRegistry };
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    var MockScope = class {
-      constructor(mockDispatch) {
-        this[kMockDispatch] = mockDispatch;
-      }
-      /**
-       * Delay a reply by a set amount in ms.
-       */
-      delay(waitInMs) {
-        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
-          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var dependentControllerMap = /* @__PURE__ */ new WeakMap();
+    function buildAbort(acRef) {
+      return abort;
+      function abort() {
+        const ac = acRef.deref();
+        if (ac !== void 0) {
+          requestFinalizer.unregister(abort);
+          this.removeEventListener("abort", abort);
+          ac.abort(this.reason);
+          const controllerList = dependentControllerMap.get(ac.signal);
+          if (controllerList !== void 0) {
+            if (controllerList.size !== 0) {
+              for (const ref of controllerList) {
+                const ctrl = ref.deref();
+                if (ctrl !== void 0) {
+                  ctrl.abort(this.reason);
+                }
+              }
+              controllerList.clear();
+            }
+            dependentControllerMap.delete(ac.signal);
+          }
         }
-        this[kMockDispatch].delay = waitInMs;
-        return this;
-      }
-      /**
-       * For a defined reply, never mark as consumed.
-       */
-      persist() {
-        this[kMockDispatch].persist = true;
-        return this;
       }
-      /**
-       * Allow one to define a reply for a set amount of matching requests.
-       */
-      times(repeatTimes) {
-        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
-          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+    }
+    var patchMethodWarning = false;
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (input === kConstruct) {
+          return;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        const prefix = "Request constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        input = webidl.converters.RequestInfo(input, prefix, "input");
+        init = webidl.converters.RequestInit(init, prefix, "init");
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } catch (err) {
+            throw new TypeError("Failed to parse URL from " + input, { cause: err });
+          }
+          if (parsedURL.username || parsedURL.password) {
+            throw new TypeError(
+              "Request cannot be constructed from a URL that includes credentials: " + input
+            );
+          }
+          request2 = makeRequest({ urlList: [parsedURL] });
+          fallbackMode = "cors";
+        } else {
+          this[kDispatcher] = init.dispatcher || input[kDispatcher];
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "no-window";
+        }
+        request2 = makeRequest({
+          // URL request’s URL.
+          // undici implementation note: this is set as the first item in request's urlList in makeRequest
+          // method request’s method.
+          method: request2.method,
+          // header list A copy of request’s header list.
+          // undici implementation note: headersList is cloned in makeRequest
+          headersList: request2.headersList,
+          // unsafe-request flag Set.
+          unsafeRequest: request2.unsafeRequest,
+          // client This’s relevant settings object.
+          client: environmentSettingsObject.settingsObject,
+          // window window.
+          window: window2,
+          // priority request’s priority.
+          priority: request2.priority,
+          // origin request’s origin. The propagation of the origin is only significant for navigation requests
+          // being handled by a service worker. In this scenario a request can have an origin that is different
+          // from the current client.
+          origin: request2.origin,
+          // referrer request’s referrer.
+          referrer: request2.referrer,
+          // referrer policy request’s referrer policy.
+          referrerPolicy: request2.referrerPolicy,
+          // mode request’s mode.
+          mode: request2.mode,
+          // credentials mode request’s credentials mode.
+          credentials: request2.credentials,
+          // cache mode request’s cache mode.
+          cache: request2.cache,
+          // redirect mode request’s redirect mode.
+          redirect: request2.redirect,
+          // integrity metadata request’s integrity metadata.
+          integrity: request2.integrity,
+          // keepalive request’s keepalive.
+          keepalive: request2.keepalive,
+          // reload-navigation flag request’s reload-navigation flag.
+          reloadNavigation: request2.reloadNavigation,
+          // history-navigation flag request’s history-navigation flag.
+          historyNavigation: request2.historyNavigation,
+          // URL list A clone of request’s URL list.
+          urlList: [...request2.urlList]
+        });
+        const initHasKey = Object.keys(init).length !== 0;
+        if (initHasKey) {
+          if (request2.mode === "navigate") {
+            request2.mode = "same-origin";
+          }
+          request2.reloadNavigation = false;
+          request2.historyNavigation = false;
+          request2.origin = "client";
+          request2.referrer = "client";
+          request2.referrerPolicy = "";
+          request2.url = request2.urlList[request2.urlList.length - 1];
+          request2.urlList = [request2.url];
+        }
+        if (init.referrer !== void 0) {
+          const referrer = init.referrer;
+          if (referrer === "") {
+            request2.referrer = "no-referrer";
           } else {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            let parsedReferrer;
+            try {
+              parsedReferrer = new URL(referrer, baseUrl);
+            } catch (err) {
+              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
+            }
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
+              request2.referrer = "client";
+            } else {
+              request2.referrer = parsedReferrer;
+            }
           }
         }
-        if (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        let mode;
+        if (init.mode !== void 0) {
+          mode = init.mode;
+        } else {
+          mode = fallbackMode;
+        }
+        if (mode === "navigate") {
+          throw webidl.errors.exception({
+            header: "Request constructor",
+            message: "invalid request mode navigate."
+          });
+        }
+        if (mode != null) {
+          request2.mode = mode;
+        }
+        if (init.credentials !== void 0) {
+          request2.credentials = init.credentials;
+        }
+        if (init.cache !== void 0) {
+          request2.cache = init.cache;
+        }
+        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
+          throw new TypeError(
+            "'only-if-cached' can be set only with 'same-origin' mode"
+          );
+        }
+        if (init.redirect !== void 0) {
+          request2.redirect = init.redirect;
+        }
+        if (init.integrity != null) {
+          request2.integrity = String(init.integrity);
+        }
+        if (init.keepalive !== void 0) {
+          request2.keepalive = Boolean(init.keepalive);
+        }
+        if (init.method !== void 0) {
+          let method = init.method;
+          const mayBeNormalized = normalizedMethodRecords[method];
+          if (mayBeNormalized !== void 0) {
+            request2.method = mayBeNormalized;
+          } else {
+            if (!isValidHTTPToken(method)) {
+              throw new TypeError(`'${method}' is not a valid HTTP method.`);
+            }
+            const upperCase = method.toUpperCase();
+            if (forbiddenMethodsSet.has(upperCase)) {
+              throw new TypeError(`'${method}' HTTP method is unsupported.`);
+            }
+            method = normalizedMethodRecordsBase[upperCase] ?? method;
+            request2.method = method;
+          }
+          if (!patchMethodWarning && request2.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"
+            });
+            patchMethodWarning = true;
+          }
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            throw new TypeError(
+              "Failed to construct 'Request': member signal is not of type AbortSignal."
+            );
+          }
+          if (signal.aborted) {
+            ac.abort(signal.reason);
+          } else {
+            this[kAbortController] = ac;
+            const acRef = new WeakRef(ac);
+            const abort = buildAbort(acRef);
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort }, abort);
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersList(this[kHeaders], request2.headersList);
+        setHeadersGuard(this[kHeaders], "request");
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          setHeadersGuard(this[kHeaders], "request-no-cors");
+        }
+        if (initHasKey) {
+          const headersList = getHeadersList(this[kHeaders]);
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
+            }
+            headersList.cookies = headers.cookies;
+          } else {
+            fillHeaders(this[kHeaders], headers);
+          }
+        }
+        const inputBody = input instanceof _Request ? input[kState].body : null;
+        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
+          throw new TypeError("Request with GET/HEAD method cannot have body.");
+        }
+        let initBody = null;
+        if (init.body != null) {
+          const [extractedBody, contentType] = extractBody(
+            init.body,
+            request2.keepalive
+          );
+          initBody = extractedBody;
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
+            this[kHeaders].append("content-type", contentType);
+          }
+        }
+        const inputOrInitBody = initBody ?? inputBody;
+        if (inputOrInitBody != null && inputOrInitBody.source == null) {
+          if (initBody != null && init.duplex == null) {
+            throw new TypeError("RequestInit: duplex option is required when sending a body.");
+          }
+          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
+            throw new TypeError(
+              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
+            );
+          }
+          request2.useCORSPreflightFlag = true;
+        }
+        let finalBody = inputOrInitBody;
+        if (initBody == null && inputBody != null) {
+          if (bodyUnusable(input)) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          const identityTransform = new TransformStream();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
+        }
+        this[kState].body = finalBody;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
-        const responseData = getResponseData2(data);
-        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
-        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
-        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
-        return { statusCode, data, headers, trailers };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
+      }
+      // Returns a Headers object consisting of the headers associated with request.
+      // Note that headers added in the network layer by the user agent will not
+      // be accounted for in this object, e.g., the "Host" header.
+      get headers() {
+        webidl.brandCheck(this, _Request);
+        return this[kHeaders];
+      }
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
+      }
+      // Returns the referrer of request. Its value can be a same-origin URL if
+      // explicitly set in init, the empty string to indicate no referrer, and
+      // "about:client" when defaulting to the global’s default. This is used
+      // during fetching to determine the value of the `Referer` header of the
+      // request being made.
+      get referrer() {
+        webidl.brandCheck(this, _Request);
+        if (this[kState].referrer === "no-referrer") {
+          return "";
         }
-        if (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // Returns the referrer policy associated with request.
+      // This is used during fetching to compute the value of the request’s
+      // referrer.
+      get referrerPolicy() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].referrerPolicy;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // Returns the mode associated with request, which is a string indicating
+      // whether the request will use CORS, or will be restricted to same-origin
+      // URLs.
+      get mode() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].mode;
       }
-      /**
-       * Set default reply headers on the interceptor for subsequent replies
-       */
-      defaultReplyHeaders(headers) {
-        if (typeof headers === "undefined") {
-          throw new InvalidArgumentError("headers must be defined");
-        }
-        this[kDefaultHeaders] = headers;
-        return this;
+      // Returns the credentials mode associated with request,
+      // which is a string indicating whether credentials will be sent with the
+      // request always, never, or only when sent to a same-origin URL.
+      get credentials() {
+        return this[kState].credentials;
       }
-      /**
-       * Set default reply trailers on the interceptor for subsequent replies
-       */
-      defaultReplyTrailers(trailers) {
-        if (typeof trailers === "undefined") {
-          throw new InvalidArgumentError("trailers must be defined");
-        }
-        this[kDefaultTrailers] = trailers;
-        return this;
+      // Returns the cache mode associated with request,
+      // which is a string indicating how the request will
+      // interact with the browser’s cache when fetching.
+      get cache() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].cache;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // Returns the redirect mode associated with request,
+      // which is a string indicating how redirects for the
+      // request will be handled during fetching. A request
+      // will follow redirects by default.
+      get redirect() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].redirect;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns request’s subresource integrity metadata, which is a
+      // cryptographic hash of the resource being fetched. Its value
+      // consists of multiple hashes separated by whitespace. [SRI]
+      get integrity() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].integrity;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // Returns a boolean indicating whether or not request can outlive the
+      // global in which it was created.
+      get keepalive() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].keepalive;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-forward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns the signal associated with request, which is an AbortSignal
+      // object indicating whether or not request has been aborted, and its
+      // abort event handler.
+      get signal() {
+        webidl.brandCheck(this, _Request);
+        return this[kSignal];
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
-    "use strict";
-    var singulars = {
-      pronoun: "it",
-      is: "is",
-      was: "was",
-      this: "this"
-    };
-    var plurals = {
-      pronoun: "they",
-      is: "are",
-      was: "were",
-      this: "these"
-    };
-    module2.exports = class Pluralizer {
-      constructor(singular, plural) {
-        this.singular = singular;
-        this.plural = plural;
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (bodyUnusable(this)) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          let list = dependentControllerMap.get(this.signal);
+          if (list === void 0) {
+            list = /* @__PURE__ */ new Set();
+            dependentControllerMap.set(this.signal, list);
+          }
+          const acRef = new WeakRef(ac);
+          list.add(acRef);
+          util.addAbortListener(
+            ac.signal,
+            buildAbort(acRef)
+          );
+        }
+        return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    mixinBody(Request);
+    function makeRequest(init) {
+      return {
+        method: init.method ?? "GET",
+        localURLsOnly: init.localURLsOnly ?? false,
+        unsafeRequest: init.unsafeRequest ?? false,
+        body: init.body ?? null,
+        client: init.client ?? null,
+        reservedClient: init.reservedClient ?? null,
+        replacesClientId: init.replacesClientId ?? "",
+        window: init.window ?? "client",
+        keepalive: init.keepalive ?? false,
+        serviceWorkers: init.serviceWorkers ?? "all",
+        initiator: init.initiator ?? "",
+        destination: init.destination ?? "",
+        priority: init.priority ?? null,
+        origin: init.origin ?? "client",
+        policyContainer: init.policyContainer ?? "client",
+        referrer: init.referrer ?? "client",
+        referrerPolicy: init.referrerPolicy ?? "",
+        mode: init.mode ?? "no-cors",
+        useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
+        credentials: init.credentials ?? "same-origin",
+        useCredentials: init.useCredentials ?? false,
+        cache: init.cache ?? "default",
+        redirect: init.redirect ?? "follow",
+        integrity: init.integrity ?? "",
+        cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "",
+        parserMetadata: init.parserMetadata ?? "",
+        reloadNavigation: init.reloadNavigation ?? false,
+        historyNavigation: init.historyNavigation ?? false,
+        userActivation: init.userActivation ?? false,
+        taintedOrigin: init.taintedOrigin ?? false,
+        redirectCount: init.redirectCount ?? 0,
+        responseTainting: init.responseTainting ?? "basic",
+        preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
+        done: init.done ?? false,
+        timingAllowFailed: init.timingAllowFailed ?? false,
+        urlList: init.urlList,
+        url: init.urlList[0],
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(newRequest, request2.body);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path7, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path7,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      return newRequest;
+    }
+    function fromInnerRequest(innerRequest, signal, guard) {
+      const request2 = new Request(kConstruct);
+      request2[kState] = innerRequest;
+      request2[kSignal] = signal;
+      request2[kHeaders] = new Headers(kConstruct);
+      setHeadersList(request2[kHeaders], innerRequest.headersList);
+      setHeadersGuard(request2[kHeaders], guard);
+      return request2;
+    }
+    Object.defineProperties(Request.prototype, {
+      method: kEnumerableProperty,
+      url: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      signal: kEnumerableProperty,
+      duplex: kEnumerableProperty,
+      destination: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      isHistoryNavigation: kEnumerableProperty,
+      isReloadNavigation: kEnumerableProperty,
+      keepalive: kEnumerableProperty,
+      integrity: kEnumerableProperty,
+      cache: kEnumerableProperty,
+      credentials: kEnumerableProperty,
+      attribute: kEnumerableProperty,
+      referrerPolicy: kEnumerableProperty,
+      referrer: kEnumerableProperty,
+      mode: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Request",
+        configurable: true
       }
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, argument);
+      }
+      if (V instanceof Request) {
+        return webidl.converters.Request(V, prefix, argument);
+      }
+      return webidl.converters.USVString(V, prefix, argument);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    webidl.converters.AbortSignal = webidl.interfaceConverter(
+      AbortSignal
+    );
+    webidl.converters.RequestInit = webidl.dictionaryConverter([
+      {
+        key: "method",
+        converter: webidl.converters.ByteString
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      },
+      {
+        key: "body",
+        converter: webidl.nullableConverter(
+          webidl.converters.BodyInit
+        )
+      },
+      {
+        key: "referrer",
+        converter: webidl.converters.USVString
+      },
+      {
+        key: "referrerPolicy",
+        converter: webidl.converters.DOMString,
+        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
+        allowedValues: referrerPolicy
+      },
+      {
+        key: "mode",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#concept-request-mode
+        allowedValues: requestMode
+      },
+      {
+        key: "credentials",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcredentials
+        allowedValues: requestCredentials
+      },
+      {
+        key: "cache",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcache
+        allowedValues: requestCache
+      },
+      {
+        key: "redirect",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestredirect
+        allowedValues: requestRedirect
+      },
+      {
+        key: "integrity",
+        converter: webidl.converters.DOMString
+      },
+      {
+        key: "keepalive",
+        converter: webidl.converters.boolean
+      },
+      {
+        key: "signal",
+        converter: webidl.nullableConverter(
+          (signal) => webidl.converters.AbortSignal(
+            signal,
+            "RequestInit",
+            "signal",
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib = require("node:zlib");
+    var {
+      bytesMatch,
+      makePolicyContainer,
+      clonePolicyContainer,
+      requestBadPort,
+      TAOCheck,
+      appendRequestOriginHeader,
+      responseLocationURL,
+      requestCurrentURL,
+      setRequestReferrerPolicyOnRedirect,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      createOpaqueTimingInfo,
+      appendFetchMetadata,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      determineRequestsReferrer,
+      coarsenedSharedCurrentTime,
+      createDeferredPromise,
+      isBlobLike,
+      sameOrigin,
+      isCancelled,
+      isAborted,
+      isErrorLike,
+      fullyReadBody,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlIsHttpHttpsScheme,
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
+    } = require_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    var { STATUS_CODES } = require("node:http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
+    var resolveObjectURL;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        return dispatcher;
-      }
-      dispatch(opts, handler2) {
-        this.get(opts.origin);
-        return this[kAgent].dispatch(opts, handler2);
-      }
-      async close() {
-        await this[kAgent].close();
-        this[kClients].clear();
-      }
-      deactivate() {
-        this[kIsMockActive] = false;
-      }
-      activate() {
-        this[kIsMockActive] = true;
-      }
-      enableNetConnect(matcher) {
-        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
-          if (Array.isArray(this[kNetConnect])) {
-            this[kNetConnect].push(matcher);
-          } else {
-            this[kNetConnect] = [matcher];
-          }
-        } else if (typeof matcher === "undefined") {
-          this[kNetConnect] = true;
-        } else {
-          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      disableNetConnect() {
-        this[kNetConnect] = false;
-      }
-      // This is required to bypass issues caused by using global symbols - see:
-      // https://github.com/nodejs/undici/issues/1447
-      get isMockActive() {
-        return this[kIsMockActive];
+    };
+    function handleFetchDone(response) {
+      finalizeAndReportTiming(response, "fetch");
+    }
+    function fetch(input, init = void 0) {
+      webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
+      let p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      let responseObject = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return;
+        }
+        if (response.type === "error") {
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
+      };
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: requestObject[kDispatcher]
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
+        return;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
-        const pending = this.pendingInterceptors();
-        if (pending.length === 0) {
-          return;
-        }
-        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
-        throw new UndiciError(`
-${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
-
-${pendingInterceptorsFormatter.format(pending)}
-`.trim());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        if (opts.auth && opts.token) {
-          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
-        } else if (opts.auth) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
-        } else if (opts.token) {
-          this[kProxyHeaders]["proxy-authorization"] = opts.token;
-        } else if (username && password) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
-        }
-        const connect = buildConnector({ ...opts.proxyTls });
-        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).destroy();
-                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
-              }
-              if (opts2.protocol !== "https:") {
-                callback(null, socket);
-                return;
-              }
-              let servername;
-              if (this[kRequestTls]) {
-                servername = this[kRequestTls].servername;
-              } else {
-                servername = opts2.servername;
-              }
-              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
-            } catch (err) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher = getGlobalDispatcher()
+      // undici
+    }) {
+      assert(dispatcher);
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currentTime
+      });
+      const fetchParams = {
+        controller: new Fetch(dispatcher),
+        request: request2,
+        timingInfo,
+        processRequestBodyChunkLength,
+        processRequestEndOfBody,
+        processResponse,
+        processResponseConsumeBody,
+        processResponseEndOfBody,
+        taskDestination,
+        crossOriginIsolatedCapability
+      };
+      assert(!request2.body || request2.body.stream);
+      if (request2.window === "client") {
+        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        return headersPair;
       }
-      return headers;
-    }
-    function throwIfProxyAuthIsSent(headers) {
-      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
-      if (existProxyAuth) {
-        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    var RetryHandler = class _RetryHandler {
-      constructor(opts, handlers) {
-        const { retryOptions, ...dispatchOpts } = opts;
-        const {
-          // Retry scoped
-          retry: retryFn,
-          maxRetries,
-          maxTimeout,
-          minTimeout,
-          timeoutFactor,
-          // Response scoped
-          methods,
-          errorCodes,
-          retryAfter,
-          statusCodes
-        } = retryOptions ?? {};
-        this.dispatch = handlers.dispatch;
-        this.handler = handlers.handler;
-        this.opts = dispatchOpts;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: minTimeout ?? 500,
-          // .5s
-          timeoutFactor: timeoutFactor ?? 2,
-          maxRetries: maxRetries ?? 5,
-          // What errors we should retry
-          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
-          // Indicates which errors to retry
-          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
-          // List of errors to retry
-          errorCodes: errorCodes ?? [
-            "ECONNRESET",
-            "ECONNREFUSED",
-            "ENOTFOUND",
-            "ENETDOWN",
-            "ENETUNREACH",
-            "EHOSTDOWN",
-            "EHOSTUNREACH",
-            "EPIPE"
-          ]
-        };
-        this.retryCount = 0;
-        this.start = 0;
-        this.end = null;
-        this.etag = null;
-        this.resume = null;
-        this.handler.onConnect((reason) => {
-          this.aborted = true;
-          if (this.abort) {
-            this.abort(reason);
-          } else {
-            this.reason = reason;
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
+      }
+      if (request2.priority === null) {
+      }
+      if (subresourceSet.has(request2.destination)) {
+      }
+      mainFetch(fetchParams).catch((err) => {
+        fetchParams.controller.terminate(err);
+      });
+      return fetchParams.controller;
+    }
+    async function mainFetch(fetchParams, recursive = false) {
+      const request2 = fetchParams.request;
+      let response = null;
+      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
+        response = makeNetworkError("local URLs only");
+      }
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
+      }
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
+      }
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
+      }
+      if (response === null) {
+        response = await (async () => {
+          const currentURL = requestCurrentURL(request2);
+          if (
+            // - request’s current URL’s origin is same origin with request’s origin,
+            //   and request’s response tainting is "basic"
+            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
+            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
+            (request2.mode === "navigate" || request2.mode === "websocket")
+          ) {
+            request2.responseTainting = "basic";
+            return await schemeFetch(fetchParams);
           }
-        });
+          if (request2.mode === "same-origin") {
+            return makeNetworkError('request mode cannot be "same-origin"');
+          }
+          if (request2.mode === "no-cors") {
+            if (request2.redirect !== "follow") {
+              return makeNetworkError(
+                'redirect mode cannot be "follow" for "no-cors" request'
+              );
+            }
+            request2.responseTainting = "opaque";
+            return await schemeFetch(fetchParams);
+          }
+          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
+            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          }
+          request2.responseTainting = "cors";
+          return await httpFetch(fetchParams);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        if (request2.responseTainting === "basic") {
+          response = filterResponse(response, "basic");
+        } else if (request2.responseTainting === "cors") {
+          response = filterResponse(response, "cors");
+        } else if (request2.responseTainting === "opaque") {
+          response = filterResponse(response, "opaque");
         } else {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
+      }
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) {
+        response = internalResponse = makeNetworkError();
+      }
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
+      }
+      if (request2.integrity) {
+        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
+        if (request2.responseTainting === "opaque" || response.body == null) {
+          processBodyError(response.error);
           return;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          return;
+        const processBody = (bytes) => {
+          if (!bytesMatch(bytes, request2.integrity)) {
+            processBodyError("integrity mismatch");
+            return;
+          }
+          response.body = safelyExtractBody(bytes)[0];
+          fetchFinale(fetchParams, response);
+        };
+        await fullyReadBody(response.body, processBody, processBodyError);
+      } else {
+        fetchFinale(fetchParams, response);
+      }
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      }
+      const { request: request2 } = fetchParams;
+      const { protocol: scheme } = requestCurrentURL(request2);
+      switch (scheme) {
+        case "about:": {
+          return Promise.resolve(makeNetworkError("about scheme is not supported"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        case "blob:": {
+          if (!resolveObjectURL) {
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = blob.type;
+          if (!request2.headersList.contains("range", true)) {
+            const bodyWithType = extractBody(blob);
+            response.statusText = "OK";
+            response.body = bodyWithType[0];
+            response.headersList.set("content-length", serializedFullLength, true);
+            response.headersList.set("content-type", type2, true);
+          } else {
+            response.rangeRequested = true;
+            const rangeHeader = request2.headersList.get("range", true);
+            const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
+            if (rangeValue === "failure") {
+              return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+            }
+            let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
+            if (rangeStart === null) {
+              rangeStart = fullLength - rangeEnd;
+              rangeEnd = rangeStart + rangeEnd - 1;
+            } else {
+              if (rangeStart >= fullLength) {
+                return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
+              }
+              if (rangeEnd === null || rangeEnd >= fullLength) {
+                rangeEnd = fullLength - 1;
+              }
+            }
+            const slicedBlob = blob.slice(rangeStart, rangeEnd, type2);
+            const slicedBodyWithType = extractBody(slicedBlob);
+            response.body = slicedBodyWithType[0];
+            const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
+            const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
+            response.status = 206;
+            response.statusText = "Partial Content";
+            response.headersList.set("content-length", serializedSlicedLength, true);
+            response.headersList.set("content-type", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        case "data:": {
+          const currentURL = requestCurrentURL(request2);
+          const dataURLStruct = dataURLProcessor(currentURL);
+          if (dataURLStruct === "failure") {
+            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+          }
+          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
+          return Promise.resolve(makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-type", { name: "Content-Type", value: mimeType }]
+            ],
+            body: safelyExtractBody(dataURLStruct.body)[0]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        case "file:": {
+          return Promise.resolve(makeNetworkError("not implemented... yet..."));
+        }
+        case "http:":
+        case "https:": {
+          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        }
+        default: {
+          return Promise.resolve(makeNetworkError("unknown scheme"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
+      }
+    }
+    function fetchFinale(fetchParams, response) {
+      let timingInfo = fetchParams.timingInfo;
+      const processResponseEndOfBody = () => {
+        const unsafeEndTime = Date.now();
+        if (fetchParams.request.destination === "document") {
+          fetchParams.controller.fullTimingInfo = timingInfo;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = contentRange;
-          assert(this.start === start, "content-range mismatch");
-          assert(this.end == null || this.end === end, "content-range mismatch");
-          this.resume = resume;
-          return true;
-        }
-        if (this.end == null) {
-          if (statusCode === 206) {
-            const range = parseRangeHeader(headers["content-range"]);
-            if (range == null) {
-              return this.handler.onHeaders(
-                statusCode,
-                rawHeaders,
-                resume,
-                statusMessage
-              );
+          let responseStatus = 0;
+          if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
+            responseStatus = response.status;
+            const mimeType = extractMimeType(response.headersList);
+            if (mimeType !== "failure") {
+              bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== end,
-              "invalid content-length"
-            );
-            this.start = start;
-            this.end = end;
           }
-          if (this.end == null) {
-            const contentLength = headers["content-length"];
-            this.end = contentLength != null ? Number(contentLength) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          assert(Number.isFinite(this.start));
-          assert(
-            this.end == null || Number.isFinite(this.end),
-            "invalid content-length"
-          );
-          this.resume = resume;
-          this.etag = headers.etag != null ? headers.etag : null;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        const processResponseEndOfBodyTask = () => {
+          fetchParams.request.done = true;
+          if (fetchParams.processResponseEndOfBody != null) {
+            queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+          }
+          if (fetchParams.request.initiatorType != null) {
+            fetchParams.controller.reportTimingSteps();
+          }
+        };
+        queueMicrotask(() => processResponseEndOfBodyTask());
+      };
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            opts: { retryOptions: this.retryOpts, ...this.opts }
-          },
-          onRetry.bind(this)
-        );
-        function onRetry(err2) {
-          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
-            return this.handler.onError(err2);
-          }
-          if (this.start !== 0) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
+        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
+          return makeNetworkError("cors failure");
+        }
+        if (TAOCheck(request2, response) === "failure") {
+          request2.timingAllowFailed = true;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy(void 0, false);
+        }
+        if (request2.redirect === "error") {
+          response = makeNetworkError("unexpected redirect");
+        } else if (request2.redirect === "manual") {
+          response = actualResponse;
+        } else if (request2.redirect === "follow") {
+          response = await httpRedirectFetch(fetchParams, response);
+        } else {
+          assert(false);
+        }
+      }
+      response.timingInfo = timingInfo;
+      return response;
     }
-    function getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    function httpRedirectFetch(fetchParams, response) {
+      const request2 = fetchParams.request;
+      const actualResponse = response.internalResponse ? response.internalResponse : response;
+      let locationURL;
+      try {
+        locationURL = responseLocationURL(
+          actualResponse,
+          requestCurrentURL(request2).hash
+        );
+        if (locationURL == null) {
+          return response;
+        }
+      } catch (err) {
+        return Promise.resolve(makeNetworkError(err));
+      }
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
+      }
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
+      }
+      request2.redirectCount += 1;
+      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
+        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
+      }
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
+      }
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
+      }
+      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
+        request2.method = "GET";
+        request2.body = null;
+        for (const headerName of requestBodyHeader) {
+          request2.headersList.delete(headerName);
+        }
+      }
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization", true);
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
+      }
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
+      }
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
+      }
+      request2.urlList.push(locationURL);
+      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
+      return mainFetch(fetchParams, true);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
+      const request2 = fetchParams.request;
+      let httpFetchParams = null;
+      let httpRequest = null;
+      let response = null;
+      const httpCache = null;
+      const revalidatingFlag = false;
+      if (request2.window === "no-window" && request2.redirect === "error") {
+        httpFetchParams = fetchParams;
+        httpRequest = request2;
+      } else {
+        httpRequest = cloneRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
+      const contentLength = httpRequest.body ? httpRequest.body.length : null;
+      let contentLengthHeaderValue = null;
+      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
+        contentLengthHeaderValue = "0";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
+        httpRequest.cache = "no-store";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
-    function isHTTPWhiteSpaceCharCode(code) {
-      return code === 10 || code === 13 || code === 9 || code === 32;
-    }
-    function headerValueNormalize(potentialValue) {
-      let i = 0;
-      let j = potentialValue.length;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
-      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
-    }
-    function fill(headers, object) {
-      if (Array.isArray(object)) {
-        for (let i = 0; i < object.length; ++i) {
-          const header = object[i];
-          if (header.length !== 2) {
-            throw webidl.errors.exception({
-              header: "Headers constructor",
-              message: `expected name/value pair to be length 2, found ${header.length}.`
-            });
-          }
-          appendHeader(headers, header[0], header[1]);
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
+        httpRequest.headersList.append("cache-control", "max-age=0", true);
+      }
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
         }
-      } else if (typeof object === "object" && object !== null) {
-        const keys = Object.keys(object);
-        for (let i = 0; i < keys.length; ++i) {
-          appendHeader(headers, keys[i], object[keys[i]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } else {
-        throw webidl.errors.conversionFailed({
-          prefix: "Headers constructor",
-          argument: "Argument 1",
-          types: ["sequence>", "record"]
-        });
-      }
-    }
-    function appendHeader(headers, name, value) {
-      value = headerValueNormalize(value);
-      if (!isValidHeaderName(name)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value: name,
-          type: "header name"
-        });
-      } else if (!isValidHeaderValue(value)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value,
-          type: "header value"
-        });
       }
-      if (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    var HeadersList = class _HeadersList {
-      /** @type {[string, string][]|null} */
-      cookies = null;
-      constructor(init) {
-        if (init instanceof _HeadersList) {
-          this[kHeadersMap] = new Map(init[kHeadersMap]);
-          this[kHeadersSortedMap] = init[kHeadersSortedMap];
-          this.cookies = init.cookies === null ? null : [...init.cookies];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        if (exists) {
-          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
-          this[kHeadersMap].set(lowercaseName, {
-            name: exists.name,
-            value: `${exists.value}${delimiter}${value}`
-          });
-        } else {
-          this[kHeadersMap].set(lowercaseName, { name, value });
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      if (
+        // response’s status is 421
+        response.status === 421 && // isNewConnectionFetch is false
+        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
+        (request2.body == null || request2.body.source != null)
+      ) {
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
+        fetchParams.controller.connection.destroy();
+        response = await httpNetworkOrCacheFetch(
+          fetchParams,
+          isAuthenticationFetch,
+          true
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      return response;
+    }
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err, abort = true) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
+          if (isErrored(stream)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve5, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable({ read: resume });
+              const decoders = [];
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib.createBrotliDecompress({
+                      flush: zlib.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve5({
+                status,
+                statusText,
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              if (fetchParams.controller.onAborted) {
+                fetchParams.controller.off("terminated", fetchParams.controller.onAborted);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, rawHeaders, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              resolve5({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url = webidl.converters.USVString(url);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        initializeResponse(this, init, bodyWithType);
-      }
-      // Returns response’s type, e.g., "cors".
-      get type() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].type;
-      }
-      // Returns response’s URL, if it has one; otherwise the empty string.
-      get url() {
-        webidl.brandCheck(this, _Response);
-        const urlList = this[kState].urlList;
-        const url = urlList[urlList.length - 1] ?? null;
-        if (url === null) {
-          return "";
-        }
-        return URLSerializer(url, true);
-      }
-      // Returns whether response was obtained through a redirect.
-      get redirected() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].urlList.length > 1;
-      }
-      // Returns response’s status.
-      get status() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status;
-      }
-      // Returns whether response’s status is an ok status.
-      get ok() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status >= 200 && this[kState].status <= 299;
-      }
-      // Returns response’s status message.
-      get statusText() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].statusText;
-      }
-      // Returns response’s headers as Headers.
-      get headers() {
-        webidl.brandCheck(this, _Response);
-        return this[kHeaders];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    mixinBody(Response);
-    Object.defineProperties(Response.prototype, {
-      type: kEnumerableProperty,
-      url: kEnumerableProperty,
-      status: kEnumerableProperty,
-      ok: kEnumerableProperty,
-      redirected: kEnumerableProperty,
-      statusText: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Response",
-        configurable: true
-      }
-    });
-    Object.defineProperties(Response, {
-      json: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      error: kEnumerableProperty
-    });
-    function cloneResponse(response) {
-      if (response.internalResponse) {
-        return filterResponse(
-          cloneResponse(response.internalResponse),
-          response.type
-        );
-      }
-      const newResponse = makeResponse({ ...response, body: null });
-      if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
-      }
-      return newResponse;
-    }
-    function makeResponse(init) {
-      return {
-        aborted: false,
-        rangeRequested: false,
-        timingAllowPassed: false,
-        requestIncludesCredentials: false,
-        type: "default",
-        status: 200,
-        timingInfo: null,
-        cacheState: "",
-        statusText: "",
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
-      };
-    }
-    function makeNetworkError(reason) {
-      const isError = isErrorLike(reason);
-      return makeResponse({
-        type: "error",
-        status: 0,
-        error: isError ? reason : new Error(reason ? String(reason) : reason),
-        aborted: reason && reason.name === "AbortError"
-      });
-    }
-    function makeFilteredResponse(response, state) {
-      state = {
-        internalResponse: response,
-        ...state
-      };
-      return new Proxy(response, {
-        get(target, p) {
-          return p in state ? state[p] : target[p];
-        },
-        set(target, p, value) {
-          assert(!(p in state));
-          target[p] = value;
-          return true;
-        }
-      });
-    }
-    function filterResponse(response, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "opaqueredirect") {
-        return makeFilteredResponse(response, {
-          type: "opaqueredirect",
-          status: 0,
-          statusText: "",
-          headersList: [],
-          body: null
-        });
-      } else {
-        assert(false);
-      }
-    }
-    function makeAppropriateNetworkError(fetchParams, err = null) {
-      assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      if ("statusText" in init && init.statusText != null) {
-        if (!isValidReasonPhrase(String(init.statusText))) {
-          throw new TypeError("Invalid statusText");
-        }
-      }
-      if ("status" in init && init.status != null) {
-        response[kState].status = init.status;
-      }
-      if ("statusText" in init && init.statusText != null) {
-        response[kState].statusText = init.statusText;
+    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
+      {
+        key: "lengthComputable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "loaded",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "total",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      switch (label.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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    webidl.converters.ResponseInit = webidl.dictionaryConverter([
-      {
-        key: "status",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 200
-      },
-      {
-        key: "statusText",
-        converter: webidl.converters.ByteString,
-        defaultValue: ""
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      }
-    ]);
     module2.exports = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream = blob.stream();
+      const reader = stream.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
           try {
-            parsedURL = new URL(input, baseUrl);
-          } catch (err) {
-            throw new TypeError("Failed to parse URL from " + input, { cause: err });
-          }
-          if (parsedURL.username || parsedURL.password) {
-            throw new TypeError(
-              "Request cannot be constructed from a URL that includes credentials: " + input
-            );
-          }
-          request2 = makeRequest({ urlList: [parsedURL] });
-          fallbackMode = "cors";
-        } else {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "no-window";
-        }
-        request2 = makeRequest({
-          // URL request’s URL.
-          // undici implementation note: this is set as the first item in request's urlList in makeRequest
-          // method request’s method.
-          method: request2.method,
-          // header list A copy of request’s header list.
-          // undici implementation note: headersList is cloned in makeRequest
-          headersList: request2.headersList,
-          // unsafe-request flag Set.
-          unsafeRequest: request2.unsafeRequest,
-          // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // priority request’s priority.
-          priority: request2.priority,
-          // origin request’s origin. The propagation of the origin is only significant for navigation requests
-          // being handled by a service worker. In this scenario a request can have an origin that is different
-          // from the current client.
-          origin: request2.origin,
-          // referrer request’s referrer.
-          referrer: request2.referrer,
-          // referrer policy request’s referrer policy.
-          referrerPolicy: request2.referrerPolicy,
-          // mode request’s mode.
-          mode: request2.mode,
-          // credentials mode request’s credentials mode.
-          credentials: request2.credentials,
-          // cache mode request’s cache mode.
-          cache: request2.cache,
-          // redirect mode request’s redirect mode.
-          redirect: request2.redirect,
-          // integrity metadata request’s integrity metadata.
-          integrity: request2.integrity,
-          // keepalive request’s keepalive.
-          keepalive: request2.keepalive,
-          // reload-navigation flag request’s reload-navigation flag.
-          reloadNavigation: request2.reloadNavigation,
-          // history-navigation flag request’s history-navigation flag.
-          historyNavigation: request2.historyNavigation,
-          // URL list A clone of request’s URL list.
-          urlList: [...request2.urlList]
-        });
-        const initHasKey = Object.keys(init).length !== 0;
-        if (initHasKey) {
-          if (request2.mode === "navigate") {
-            request2.mode = "same-origin";
-          }
-          request2.reloadNavigation = false;
-          request2.historyNavigation = false;
-          request2.origin = "client";
-          request2.referrer = "client";
-          request2.referrerPolicy = "";
-          request2.url = request2.urlList[request2.urlList.length - 1];
-          request2.urlList = [request2.url];
-        }
-        if (init.referrer !== void 0) {
-          const referrer = init.referrer;
-          if (referrer === "") {
-            request2.referrer = "no-referrer";
-          } else {
-            let parsedReferrer;
-            try {
-              parsedReferrer = new URL(referrer, baseUrl);
-            } catch (err) {
-              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
-            }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        if (init.referrerPolicy !== void 0) {
-          request2.referrerPolicy = init.referrerPolicy;
-        }
-        let mode;
-        if (init.mode !== void 0) {
-          mode = init.mode;
-        } else {
-          mode = fallbackMode;
-        }
-        if (mode === "navigate") {
-          throw webidl.errors.exception({
-            header: "Request constructor",
-            message: "invalid request mode navigate."
-          });
-        }
-        if (mode != null) {
-          request2.mode = mode;
-        }
-        if (init.credentials !== void 0) {
-          request2.credentials = init.credentials;
-        }
-        if (init.cache !== void 0) {
-          request2.cache = init.cache;
-        }
-        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
-          throw new TypeError(
-            "'only-if-cached' can be set only with 'same-origin' mode"
-          );
-        }
-        if (init.redirect !== void 0) {
-          request2.redirect = init.redirect;
-        }
-        if (init.integrity != null) {
-          request2.integrity = String(init.integrity);
-        }
-        if (init.keepalive !== void 0) {
-          request2.keepalive = Boolean(init.keepalive);
-        }
-        if (init.method !== void 0) {
-          let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            throw new TypeError(
-              "Failed to construct 'Request': member signal is not of type AbortSignal."
-            );
-          }
-          if (signal.aborted) {
-            ac.abort(signal.reason);
-          } else {
-            this[kAbortController] = ac;
-            const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            isFirstChunk = false;
+            if (!done && types.isUint8Array(value)) {
+              bytes.push(value);
+              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
+                fr[kLastProgressEventFired] = Date.now();
+                queueMicrotask(() => {
+                  fireAProgressEvent("progress", fr);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        const inputBody = input instanceof _Request ? input[kState].body : null;
-        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
-          throw new TypeError("Request with GET/HEAD method cannot have body.");
-        }
-        let initBody = null;
-        if (init.body != null) {
-          const [extractedBody, contentType] = extractBody(
-            init.body,
-            request2.keepalive
-          );
-          initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        const inputOrInitBody = initBody ?? inputBody;
-        if (inputOrInitBody != null && inputOrInitBody.source == null) {
-          if (initBody != null && init.duplex == null) {
-            throw new TypeError("RequestInit: duplex option is required when sending a body.");
-          }
-          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
-            throw new TypeError(
-              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          inputBody.stream.pipeThrough(identityTransform);
-          finalBody = {
-            source: inputBody.source,
-            length: inputBody.length,
-            stream: identityTransform.readable
-          };
-        }
-        this[kState].body = finalBody;
-      }
-      // Returns request’s HTTP method, which is "GET" by default.
-      get method() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].method;
-      }
-      // Returns the URL of request as a string.
-      get url() {
-        webidl.brandCheck(this, _Request);
-        return URLSerializer(this[kState].url);
-      }
-      // Returns a Headers object consisting of the headers associated with request.
-      // Note that headers added in the network layer by the user agent will not
-      // be accounted for in this object, e.g., the "Host" header.
-      get headers() {
-        webidl.brandCheck(this, _Request);
-        return this[kHeaders];
-      }
-      // Returns the kind of resource requested by request, e.g., "document"
-      // or "script".
-      get destination() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].destination;
-      }
-      // Returns the referrer of request. Its value can be a same-origin URL if
-      // explicitly set in init, the empty string to indicate no referrer, and
-      // "about:client" when defaulting to the global’s default. This is used
-      // during fetching to determine the value of the `Referer` header of the
-      // request being made.
-      get referrer() {
-        webidl.brandCheck(this, _Request);
-        if (this[kState].referrer === "no-referrer") {
-          return "";
-        }
-        if (this[kState].referrer === "client") {
-          return "about:client";
+          return decode(bytes, encoding);
         }
-        return this[kState].referrer.toString();
-      }
-      // Returns the referrer policy associated with request.
-      // This is used during fetching to compute the value of the request’s
-      // referrer.
-      get referrerPolicy() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].referrerPolicy;
-      }
-      // Returns the mode associated with request, which is a string indicating
-      // whether the request will use CORS, or will be restricted to same-origin
-      // URLs.
-      get mode() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].mode;
-      }
-      // Returns the credentials mode associated with request,
-      // which is a string indicating whether credentials will be sent with the
-      // request always, never, or only when sent to a same-origin URL.
-      get credentials() {
-        return this[kState].credentials;
-      }
-      // Returns the cache mode associated with request,
-      // which is a string indicating how the request will
-      // interact with the browser’s cache when fetching.
-      get cache() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].cache;
-      }
-      // Returns the redirect mode associated with request,
-      // which is a string indicating how redirects for the
-      // request will be handled during fetching. A request
-      // will follow redirects by default.
-      get redirect() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].redirect;
-      }
-      // Returns request’s subresource integrity metadata, which is a
-      // cryptographic hash of the resource being fetched. Its value
-      // consists of multiple hashes separated by whitespace. [SRI]
-      get integrity() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].integrity;
-      }
-      // Returns a boolean indicating whether or not request can outlive the
-      // global in which it was created.
-      get keepalive() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].keepalive;
-      }
-      // Returns a boolean indicating whether or not request is for a reload
-      // navigation.
-      get isReloadNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].reloadNavigation;
-      }
-      // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
-      get isHistoryNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].historyNavigation;
-      }
-      // Returns the signal associated with request, which is an AbortSignal
-      // object indicating whether or not request has been aborted, and its
-      // abort event handler.
-      get signal() {
-        webidl.brandCheck(this, _Request);
-        return this[kSignal];
-      }
-      get body() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].body ? this[kState].body.stream : null;
-      }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Request);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
-      }
-      get duplex() {
-        webidl.brandCheck(this, _Request);
-        return "half";
-      }
-      // Returns a clone of request.
-      clone() {
-        webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    function decode(ioQueue, encoding) {
+      const bytes = combineByteSequences(ioQueue);
+      const BOMEncoding = BOMSniffing(bytes);
+      let slice = 0;
+      if (BOMEncoding !== null) {
+        encoding = BOMEncoding;
+        slice = BOMEncoding === "UTF-8" ? 3 : 2;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    Object.defineProperties(Request.prototype, {
-      method: kEnumerableProperty,
-      url: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      signal: kEnumerableProperty,
-      duplex: kEnumerableProperty,
-      destination: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      isHistoryNavigation: kEnumerableProperty,
-      isReloadNavigation: kEnumerableProperty,
-      keepalive: kEnumerableProperty,
-      integrity: kEnumerableProperty,
-      cache: kEnumerableProperty,
-      credentials: kEnumerableProperty,
-      attribute: kEnumerableProperty,
-      referrerPolicy: kEnumerableProperty,
-      referrer: kEnumerableProperty,
-      mode: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Request",
-        configurable: true
-      }
-    });
-    webidl.converters.Request = webidl.interfaceConverter(
-      Request
-    );
-    webidl.converters.RequestInfo = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    function BOMSniffing(ioQueue) {
+      const [a, b, c] = ioQueue;
+      if (a === 239 && b === 187 && c === 191) {
+        return "UTF-8";
+      } else if (a === 254 && b === 255) {
+        return "UTF-16BE";
+      } else if (a === 255 && b === 254) {
+        return "UTF-16LE";
       }
-      return webidl.converters.USVString(V);
+      return null;
+    }
+    function combineByteSequences(sequences) {
+      const size = sequences.reduce((a, b) => {
+        return a + b.byteLength;
+      }, 0);
+      let offset = 0;
+      return sequences.reduce((a, b) => {
+        a.set(b, offset);
+        offset += b.byteLength;
+        return a;
+      }, new Uint8Array(size));
+    }
+    module2.exports = {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
     };
-    webidl.converters.AbortSignal = webidl.interfaceConverter(
-      AbortSignal
-    );
-    webidl.converters.RequestInit = webidl.dictionaryConverter([
-      {
-        key: "method",
-        converter: webidl.converters.ByteString
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      },
-      {
-        key: "body",
-        converter: webidl.nullableConverter(
-          webidl.converters.BodyInit
-        )
-      },
-      {
-        key: "referrer",
-        converter: webidl.converters.USVString
-      },
-      {
-        key: "referrerPolicy",
-        converter: webidl.converters.DOMString,
-        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
-        allowedValues: referrerPolicy
-      },
-      {
-        key: "mode",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#concept-request-mode
-        allowedValues: requestMode
-      },
-      {
-        key: "credentials",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcredentials
-        allowedValues: requestCredentials
-      },
-      {
-        key: "cache",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcache
-        allowedValues: requestCache
-      },
-      {
-        key: "redirect",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestredirect
-        allowedValues: requestRedirect
-      },
-      {
-        key: "integrity",
-        converter: webidl.converters.DOMString
-      },
-      {
-        key: "keepalive",
-        converter: webidl.converters.boolean
-      },
-      {
-        key: "signal",
-        converter: webidl.nullableConverter(
-          (signal) => webidl.converters.AbortSignal(
-            signal,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib = require("zlib");
-    var {
-      bytesMatch,
-      makePolicyContainer,
-      clonePolicyContainer,
-      requestBadPort,
-      TAOCheck,
-      appendRequestOriginHeader,
-      responseLocationURL,
-      requestCurrentURL,
-      setRequestReferrerPolicyOnRedirect,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      createOpaqueTimingInfo,
-      appendFetchMetadata,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      determineRequestsReferrer,
-      coarsenedSharedCurrentTime,
-      createDeferredPromise,
-      isBlobLike,
-      sameOrigin,
-      isCancelled,
-      isAborted,
-      isErrorLike,
-      fullyReadBody,
-      readableStreamClose,
-      isomorphicEncode,
-      urlIsLocal,
-      urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsDataText
+       * @param {import('buffer').Blob} blob
+       * @param {string?} encoding
+       */
+      readAsText(blob, encoding = void 0) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
+        }
+        readOperation(this, blob, "Text", encoding);
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
           return;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
+       */
+      get readyState() {
+        webidl.brandCheck(this, _FileReader);
+        switch (this[kState]) {
+          case "empty":
+            return this.EMPTY;
+          case "loading":
+            return this.LOADING;
+          case "done":
+            return this.DONE;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
+      }
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
+      }
+      set onloadend(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadend) {
+          this.removeEventListener("loadend", this[kEvents].loadend);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].loadend = fn;
+          this.addEventListener("loadend", fn);
+        } else {
+          this[kEvents].loadend = null;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      set onerror(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].error) {
+          this.removeEventListener("error", this[kEvents].error);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      get onprogress() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].progress;
+      }
+      set onprogress(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].progress) {
+          this.removeEventListener("progress", this[kEvents].progress);
         }
-        if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      set onabort(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].abort) {
+          this.removeEventListener("abort", this[kEvents].abort);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].abort = fn;
+          this.addEventListener("abort", fn);
+        } else {
+          this[kEvents].abort = null;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
+    FileReader.LOADING = FileReader.prototype.LOADING = 1;
+    FileReader.DONE = FileReader.prototype.DONE = 2;
+    Object.defineProperties(FileReader.prototype, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors,
+      readAsArrayBuffer: kEnumerableProperty,
+      readAsBinaryString: kEnumerableProperty,
+      readAsText: kEnumerableProperty,
+      readAsDataURL: kEnumerableProperty,
+      abort: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      result: kEnumerableProperty,
+      error: kEnumerableProperty,
+      onloadstart: kEnumerableProperty,
+      onprogress: kEnumerableProperty,
+      onload: kEnumerableProperty,
+      onabort: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onloadend: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FileReader",
+        writable: false,
+        enumerable: false,
+        configurable: true
+      }
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
+    module2.exports = {
+      FileReader
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    function getFieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (isValidHeaderName(value)) {
+          values.push(value);
+        }
       }
+      return values;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    var assert = require("node:assert");
+    var Cache = class _Cache {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
+       * @type {requestResponseList}
+       */
+      #relevantRequestResponseList;
+      constructor() {
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
+        }
+        webidl.util.markAsUncloneable(this);
+        this.#relevantRequestResponseList = arguments[1];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.match";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        const p = this.#internalMatchAll(request2, options, 1);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
+      }
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.matchAll";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        return this.#internalMatchAll(request2, options);
+      }
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.add";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
+      }
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const responsePromises = [];
+        const requestList = [];
+        for (let request2 of requests) {
+          if (request2 === void 0) {
+            throw webidl.errors.conversionFailed({
+              prefix,
+              argument: "Argument 1",
+              types: ["undefined is not allowed"]
+            });
+          }
+          request2 = webidl.converters.RequestInfo(request2);
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme when method is not GET."
+            });
+          }
+        }
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme."
+            });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
+        }
+        const p = Promise.all(responsePromises);
+        const responses = await p;
+        const operations = [];
+        let index = 0;
+        for (const response of responses) {
+          const operation = {
+            type: "put",
+            // 7.3.2
+            request: requestList[index],
+            // 7.3.3
+            response
+            // 7.3.4
+          };
+          operations.push(operation);
+          index++;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(void 0);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.put";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        response = webidl.converters.Response(response, prefix, "response");
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
+        }
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Expected an http/s scheme when method is not GET"
+          });
+        }
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Got 206 status"
+          });
+        }
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: "Got * vary field value"
+              });
+            }
+          }
+        }
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Response body is locked or disturbed"
+          });
+        }
+        const clonedResponse = cloneResponse(innerResponse);
+        const bodyReadPromise = createDeferredPromise();
+        if (innerResponse.body != null) {
+          const stream = innerResponse.body.stream;
+          const reader = stream.getReader();
+          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+        } else {
+          bodyReadPromise.resolve(void 0);
+        }
+        const operations = [];
+        const operation = {
+          type: "put",
+          // 14.
+          request: innerRequest,
+          // 15.
+          response: clonedResponse
+          // 16.
+        };
+        operations.push(operation);
+        const bytes = await bodyReadPromise.promise;
+        if (clonedResponse.body != null) {
+          clonedResponse.body.source = bytes;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve();
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      const fetchParams = {
-        controller: new Fetch(dispatcher),
-        request: request2,
-        timingInfo,
-        processRequestBodyChunkLength,
-        processRequestEndOfBody,
-        processResponse,
-        processResponseConsumeBody,
-        processResponseEndOfBody,
-        taskDestination,
-        crossOriginIsolatedCapability
-      };
-      assert(!request2.body || request2.body.stream);
-      if (request2.window === "client") {
-        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
-      }
-      if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
-      }
-      if (request2.policyContainer === "client") {
-        if (request2.client != null) {
-          request2.policyContainer = clonePolicyContainer(
-            request2.client.policyContainer
-          );
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
+          }
         } else {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      if (request2.priority === null) {
-      }
-      if (subresourceSet.has(request2.destination)) {
-      }
-      mainFetch(fetchParams).catch((err) => {
-        fetchParams.controller.terminate(err);
-      });
-      return fetchParams.controller;
-    }
-    async function mainFetch(fetchParams, recursive = false) {
-      const request2 = fetchParams.request;
-      let response = null;
-      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
-        response = makeNetworkError("local URLs only");
-      }
-      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
-      if (requestBadPort(request2) === "blocked") {
-        response = makeNetworkError("bad port");
-      }
-      if (request2.referrerPolicy === "") {
-        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
-      }
-      if (request2.referrer !== "no-referrer") {
-        request2.referrer = determineRequestsReferrer(request2);
-      }
-      if (response === null) {
-        response = await (async () => {
-          const currentURL = requestCurrentURL(request2);
-          if (
-            // - request’s current URL’s origin is same origin with request’s origin,
-            //   and request’s response tainting is "basic"
-            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
-            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
-            (request2.mode === "navigate" || request2.mode === "websocket")
-          ) {
-            request2.responseTainting = "basic";
-            return await schemeFetch(fetchParams);
-          }
-          if (request2.mode === "same-origin") {
-            return makeNetworkError('request mode cannot be "same-origin"');
+        const operations = [];
+        const operation = {
+          type: "delete",
+          request: r,
+          options
+        };
+        operations.push(operation);
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        let requestResponses;
+        try {
+          requestResponses = this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        return cacheJobPromise.promise;
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {Promise}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          request2.responseTainting = "cors";
-          return await httpFetch(fetchParams);
-        })();
-      }
-      if (recursive) {
-        return response;
-      }
-      if (response.status !== 0 && !response.internalResponse) {
-        if (request2.responseTainting === "cors") {
         }
-        if (request2.responseTainting === "basic") {
-          response = filterResponse(response, "basic");
-        } else if (request2.responseTainting === "cors") {
-          response = filterResponse(response, "cors");
-        } else if (request2.responseTainting === "opaque") {
-          response = filterResponse(response, "opaque");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
+          }
         }
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
+            requestList.push(requestObject);
+          }
+          promise.resolve(Object.freeze(requestList));
+        });
+        return promise.promise;
       }
-      let internalResponse = response.status === 0 ? response : response.internalResponse;
-      if (internalResponse.urlList.length === 0) {
-        internalResponse.urlList.push(...request2.urlList);
-      }
-      if (!request2.timingAllowFailed) {
-        response.timingAllowPassed = true;
-      }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
-        response = internalResponse = makeNetworkError();
-      }
-      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
-        internalResponse.body = null;
-        fetchParams.controller.dump = true;
-      }
-      if (request2.integrity) {
-        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
-        if (request2.responseTainting === "opaque" || response.body == null) {
-          processBodyError(response.error);
-          return;
-        }
-        const processBody = (bytes) => {
-          if (!bytesMatch(bytes, request2.integrity)) {
-            processBodyError("integrity mismatch");
-            return;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
+       * @param {CacheBatchOperation[]} operations
+       * @returns {requestResponseList}
+       */
+      #batchCacheOperations(operations) {
+        const cache = this.#relevantRequestResponseList;
+        const backupCache = [...cache];
+        const addedItems = [];
+        const resultList = [];
+        try {
+          for (const operation of operations) {
+            if (operation.type !== "delete" && operation.type !== "put") {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: 'operation type does not match "delete" or "put"'
+              });
+            }
+            if (operation.type === "delete" && operation.response != null) {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: "delete operation should not have an associated response"
+              });
+            }
+            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
+              throw new DOMException("???", "InvalidStateError");
+            }
+            let requestResponses;
+            if (operation.type === "delete") {
+              requestResponses = this.#queryCache(operation.request, operation.options);
+              if (requestResponses.length === 0) {
+                return [];
+              }
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+            } else if (operation.type === "put") {
+              if (operation.response == null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "put operation should have an associated response"
+                });
+              }
+              const r = operation.request;
+              if (!urlIsHttpHttpsScheme(r.url)) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "expected http or https scheme"
+                });
+              }
+              if (r.method !== "GET") {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "not get method"
+                });
+              }
+              if (operation.options != null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "options must not be defined"
+                });
+              }
+              requestResponses = this.#queryCache(operation.request);
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+              cache.push([operation.request, operation.response]);
+              addedItems.push([operation.request, operation.response]);
+            }
+            resultList.push([operation.request, operation.response]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#query-cache
+       * @param {any} requestQuery
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @param {requestResponseList} targetStorage
+       * @returns {requestResponseList}
+       */
+      #queryCache(requestQuery, options, targetStorage) {
+        const resultList = [];
+        const storage = targetStorage ?? this.#relevantRequestResponseList;
+        for (const requestResponse of storage) {
+          const [cachedRequest, cachedResponse] = requestResponse;
+          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
+            resultList.push(requestResponse);
+          }
+        }
+        return resultList;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
+       * @param {any} requestQuery
+       * @param {any} request
+       * @param {any | null} response
+       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
+       * @returns {boolean}
+       */
+      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
+        const queryURL = new URL(requestQuery.url);
+        const cachedURL = new URL(request2.url);
+        if (options?.ignoreSearch) {
+          cachedURL.search = "";
+          queryURL.search = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
+        }
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
+        }
+        const fieldValues = getFieldValues(response.headersList.get("vary"));
+        for (const fieldValue of fieldValues) {
+          if (fieldValue === "*") {
+            return false;
           }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          return Promise.resolve(response);
         }
-        case "data:": {
-          const currentURL = requestCurrentURL(request2);
-          const dataURLStruct = dataURLProcessor(currentURL);
-          if (dataURLStruct === "failure") {
-            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+        return true;
+      }
+      #internalMatchAll(request2, options, maxResponses = Infinity) {
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
-          return Promise.resolve(makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-type", { name: "Content-Type", value: mimeType }]
-            ],
-            body: safelyExtractBody(dataURLStruct.body)[0]
-          }));
-        }
-        case "file:": {
-          return Promise.resolve(makeNetworkError("not implemented... yet..."));
         }
-        case "http:":
-        case "https:": {
-          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = fromInnerResponse(response, "immutable");
+          responseList.push(responseObject.clone());
+          if (responseList.length >= maxResponses) {
+            break;
+          }
         }
+        return Object.freeze(responseList);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    Object.defineProperties(Cache.prototype, {
+      [Symbol.toStringTag]: {
+        value: "Cache",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      matchAll: kEnumerableProperty,
+      add: kEnumerableProperty,
+      addAll: kEnumerableProperty,
+      put: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    var cacheQueryOptionConverters = [
+      {
+        key: "ignoreSearch",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreMethod",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreVary",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.has(cacheName);
       }
-      if (response === null) {
-        if (request2.redirect === "follow") {
-          request2.serviceWorkers = "none";
-        }
-        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
-        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
-          return makeNetworkError("cors failure");
-        }
-        if (TAOCheck(request2, response) === "failure") {
-          request2.timingAllowFailed = true;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.open";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.delete(cacheName);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        if (request2.redirect === "error") {
-          response = makeNetworkError("unexpected redirect");
-        } else if (request2.redirect === "manual") {
-          response = actualResponse;
-        } else if (request2.redirect === "follow") {
-          response = await httpRedirectFetch(fetchParams, response);
-        } else {
-          assert(false);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {Promise}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
+      }
+    };
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      for (let i = 0; i < value.length; ++i) {
+        const code = value.charCodeAt(i);
+        if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
+          return true;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    function httpRedirectFetch(fetchParams, response) {
-      const request2 = fetchParams.request;
-      const actualResponse = response.internalResponse ? response.internalResponse : response;
-      let locationURL;
-      try {
-        locationURL = responseLocationURL(
-          actualResponse,
-          requestCurrentURL(request2).hash
-        );
-        if (locationURL == null) {
-          return response;
+    function validateCookieName(name) {
+      for (let i = 0; i < name.length; ++i) {
+        const code = name.charCodeAt(i);
+        if (code < 33 || // exclude CTLs (0-31), SP and HT
+        code > 126 || // exclude non-ascii and DEL
+        code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 60 || // <
+        code === 62 || // >
+        code === 64 || // @
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 58 || // :
+        code === 92 || // \
+        code === 47 || // /
+        code === 91 || // [
+        code === 93 || // ]
+        code === 63 || // ?
+        code === 61 || // =
+        code === 123 || // {
+        code === 125) {
+          throw new Error("Invalid cookie name");
         }
-      } catch (err) {
-        return Promise.resolve(makeNetworkError(err));
-      }
-      if (!urlIsHttpHttpsScheme(locationURL)) {
-        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
-      }
-      if (request2.redirectCount === 20) {
-        return Promise.resolve(makeNetworkError("redirect count exceeded"));
-      }
-      request2.redirectCount += 1;
-      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
-        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
-      }
-      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
-        return Promise.resolve(makeNetworkError(
-          'URL cannot contain credentials for request mode "cors"'
-        ));
-      }
-      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
-        return Promise.resolve(makeNetworkError());
       }
-      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
-        request2.method = "GET";
-        request2.body = null;
-        for (const headerName of requestBodyHeader) {
-          request2.headersList.delete(headerName);
+    }
+    function validateCookieValue(value) {
+      let len = value.length;
+      let i = 0;
+      if (value[0] === '"') {
+        if (len === 1 || value[len - 1] !== '"') {
+          throw new Error("Invalid cookie value");
         }
+        --len;
+        ++i;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      if (request2.body != null) {
-        assert(request2.body.source != null);
-        request2.body = safelyExtractBody(request2.body.source)[0];
-      }
-      const timingInfo = fetchParams.timingInfo;
-      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
-      if (timingInfo.redirectStartTime === 0) {
-        timingInfo.redirectStartTime = timingInfo.startTime;
+      while (i < len) {
+        const code = value.charCodeAt(i++);
+        if (code < 33 || // exclude CTLs (0-31)
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
+        }
       }
-      request2.urlList.push(locationURL);
-      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
-      return mainFetch(fetchParams, true);
     }
-    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
-      const request2 = fetchParams.request;
-      let httpFetchParams = null;
-      let httpRequest = null;
-      let response = null;
-      const httpCache = null;
-      const revalidatingFlag = false;
-      if (request2.window === "no-window" && request2.redirect === "error") {
-        httpFetchParams = fetchParams;
-        httpRequest = request2;
-      } else {
-        httpRequest = makeRequest(request2);
-        httpFetchParams = { ...fetchParams };
-        httpFetchParams.request = httpRequest;
-      }
-      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
-      const contentLength = httpRequest.body ? httpRequest.body.length : null;
-      let contentLengthHeaderValue = null;
-      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
-        contentLengthHeaderValue = "0";
+    function validateCookiePath(path7) {
+      for (let i = 0; i < path7.length; ++i) {
+        const code = path7.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    var IMFDays = [
+      "Sun",
+      "Mon",
+      "Tue",
+      "Wed",
+      "Thu",
+      "Fri",
+      "Sat"
+    ];
+    var IMFMonths = [
+      "Jan",
+      "Feb",
+      "Mar",
+      "Apr",
+      "May",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Oct",
+      "Nov",
+      "Dec"
+    ];
+    var IMFPaddedNumbers = Array(61).fill(0).map((_, i) => i.toString().padStart(2, "0"));
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`;
+    }
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      for (const part of cookie.unparsed) {
+        if (!part.includes("=")) {
+          throw new Error("Invalid unparsed");
         }
+        const [key, ...value] = part.split("=");
+        out.push(`${key.trim()}=${value.join("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      response.requestIncludesCredentials = includeCredentials;
-      if (response.status === 407) {
-        if (request2.window === "no-window") {
-          return makeNetworkError();
-        }
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        return makeNetworkError("proxy authentication required");
+      let nameValuePair = "";
+      let unparsedAttributes = "";
+      let name = "";
+      let value = "";
+      if (header.includes(";")) {
+        const position = { position: 0 };
+        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
+        unparsedAttributes = header.slice(position.position);
+      } else {
+        nameValuePair = header;
       }
-      if (
-        // response’s status is 421
-        response.status === 421 && // isNewConnectionFetch is false
-        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
-        (request2.body == null || request2.body.source != null)
-      ) {
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        fetchParams.controller.connection.destroy();
-        response = await httpNetworkOrCacheFetch(
-          fetchParams,
-          isAuthenticationFetch,
-          true
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      assert(unparsedAttributes[0] === ";");
+      unparsedAttributes = unparsedAttributes.slice(1);
+      let cookieAv = "";
+      if (unparsedAttributes.includes(";")) {
+        cookieAv = collectASequenceOfCodePointsFast(
+          ";",
+          unparsedAttributes,
+          { position: 0 }
+        );
+        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
       } else {
+        cookieAv = unparsedAttributes;
+        unparsedAttributes = "";
       }
-      let requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      const attributeNameLowercase = attributeName.toLowerCase();
+      if (attributeNameLowercase === "expires") {
+        const expiryTime = new Date(attributeValue);
+        cookieAttributeList.expires = expiryTime;
+      } else if (attributeNameLowercase === "max-age") {
+        const charCode = attributeValue.charCodeAt(0);
+        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      );
-      response.body = { stream };
-      fetchParams.controller.on("terminated", onAborted);
-      fetchParams.controller.resume = async () => {
-        while (true) {
-          let bytes;
-          let isFailure;
-          try {
-            const { done, value } = await fetchParams.controller.next();
-            if (isAborted(fetchParams)) {
-              break;
-            }
-            bytes = done ? void 0 : value;
-          } catch (err) {
-            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
-              bytes = void 0;
-            } else {
-              bytes = err;
-              isFailure = true;
-            }
-          }
-          if (bytes === void 0) {
-            readableStreamClose(fetchParams.controller.controller);
-            finalizeResponse(fetchParams, response);
-            return;
-          }
-          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
-          if (isFailure) {
-            fetchParams.controller.terminate(bytes);
-            return;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
+        }
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
         } else {
-          if (isReadable(stream)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve5, reject) => agent.dispatch(
-          {
-            path: url.pathname + url.search,
-            origin: url.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib.createGunzip({
-                      // Be less strict when decoding compressed responses, since sometimes
-                      // servers send slightly invalid responses that are still accepted
-                      // by common browsers.
-                      // Always using Z_SYNC_FLUSH is what cURL does.
-                      flush: zlib.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve5({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve5({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        cookieAttributeList.path = cookiePath;
+      } else if (attributeNameLowercase === "secure") {
+        cookieAttributeList.secure = true;
+      } else if (attributeNameLowercase === "httponly") {
+        cookieAttributeList.httpOnly = true;
+      } else if (attributeNameLowercase === "samesite") {
+        let enforcement = "Default";
+        const attributeValueLowercase = attributeValue.toLowerCase();
+        if (attributeValueLowercase.includes("none")) {
+          enforcement = "None";
+        }
+        if (attributeValueLowercase.includes("strict")) {
+          enforcement = "Strict";
+        }
+        if (attributeValueLowercase.includes("lax")) {
+          enforcement = "Lax";
+        }
+        cookieAttributeList.sameSite = enforcement;
+      } else {
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
       }
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
     }
     module2.exports = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
+      }
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
+      }
+      return out;
+    }
+    function deleteCookie(headers, name, attributes) {
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
+    }
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
+      }
+      return cookies.map((pair) => parseSetCookie(pair));
+    }
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      }
+    ]);
+    webidl.converters.Cookie = webidl.dictionaryConverter([
+      {
+        converter: webidl.converters.DOMString,
+        key: "name"
+      },
+      {
+        converter: webidl.converters.DOMString,
+        key: "value"
+      },
+      {
+        converter: webidl.nullableConverter((value) => {
+          if (typeof value === "number") {
+            return webidl.converters["unsigned long long"](value);
+          }
+          return new Date(value);
+        }),
+        key: "expires",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters["long long"]),
+        key: "maxAge",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "secure",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "httpOnly",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.converters.USVString,
+        key: "sameSite",
+        allowedValues: ["Strict", "Lax", "None"]
+      },
+      {
+        converter: webidl.sequenceConverter(webidl.converters.DOMString),
+        key: "unparsed",
+        defaultValue: () => new Array(0)
+      }
+    ]);
     module2.exports = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
+      }
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
+      }
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
+        }
+        return this.#eventInit.ports;
+      }
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, init);
+        messageEvent.#eventInit = init;
+        messageEvent.#eventInit.data ??= null;
+        messageEvent.#eventInit.origin ??= "";
+        messageEvent.#eventInit.lastEventId ??= "";
+        messageEvent.#eventInit.source ??= null;
+        messageEvent.#eventInit.ports ??= [];
+        return messageEvent;
+      }
+    };
+    var { createFastMessageEvent } = MessageEvent;
+    delete MessageEvent.createFastMessageEvent;
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
+      }
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
+      }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
+      }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
+      }
+    };
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
+      }
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
+      }
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
+      }
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
+      }
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
+      }
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      reason: kEnumerableProperty,
+      code: kEnumerableProperty,
+      wasClean: kEnumerableProperty
+    });
+    Object.defineProperties(ErrorEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "ErrorEvent",
+        configurable: true
       },
+      message: kEnumerableProperty,
+      filename: kEnumerableProperty,
+      lineno: kEnumerableProperty,
+      colno: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.MessagePort
+    );
+    var eventInit = [
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
-    "use strict";
-    function getEncoding(label) {
-      if (!label) {
-        return "failure";
-      }
-      switch (label.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";
-      }
-    }
-    module2.exports = {
-      getEncoding
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream = blob.stream();
-      const reader = stream.getReader();
-      const bytes = [];
-      let chunkPromise = reader.read();
-      let isFirstChunk = true;
-      (async () => {
-        while (!fr[kAborted]) {
-          try {
-            const { done, value } = await chunkPromise;
-            if (isFirstChunk && !fr[kAborted]) {
-              queueMicrotask(() => {
-                fireAProgressEvent("loadstart", fr);
-              });
-            }
-            isFirstChunk = false;
-            if (!done && types.isUint8Array(value)) {
-              bytes.push(value);
-              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
-                fr[kLastProgressEventFired] = Date.now();
-                queueMicrotask(() => {
-                  fireAProgressEvent("progress", fr);
-                });
-              }
-              chunkPromise = reader.read();
-            } else if (done) {
-              queueMicrotask(() => {
-                fr[kState] = "done";
-                try {
-                  const result = packageData(bytes, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              fireAProgressEvent("error", fr);
-              if (fr[kState] !== "loading") {
-                fireAProgressEvent("loadend", fr);
-              }
-            });
-            break;
-          }
-        }
-      })();
-    }
-    function fireAProgressEvent(e, reader) {
-      const event = new ProgressEvent(e, {
-        bubbles: false,
-        cancelable: false
-      });
-      reader.dispatchEvent(event);
-    }
-    function packageData(bytes, type2, mimeType, encodingName) {
-      switch (type2) {
-        case "DataURL": {
-          let dataURL = "data:";
-          const parsed = parseMIMEType(mimeType || "application/octet-stream");
-          if (parsed !== "failure") {
-            dataURL += serializeAMimeType(parsed);
-          }
-          dataURL += ";base64,";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            dataURL += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.parameters.get("charset"));
-            }
-          }
-          if (encoding === "failure") {
-            encoding = "UTF-8";
-          }
-          return decode(bytes, encoding);
-        }
-        case "ArrayBuffer": {
-          const sequence = combineByteSequences(bytes);
-          return sequence.buffer;
-        }
-        case "BinaryString": {
-          let binaryString = "";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            binaryString += decoder.write(chunk);
-          }
-          binaryString += decoder.end();
-          return binaryString;
-        }
+        defaultValue: () => false
       }
-    }
-    function decode(ioQueue, encoding) {
-      const bytes = combineByteSequences(ioQueue);
-      const BOMEncoding = BOMSniffing(bytes);
-      let slice = 0;
-      if (BOMEncoding !== null) {
-        encoding = BOMEncoding;
-        slice = BOMEncoding === "UTF-8" ? 3 : 2;
+    ];
+    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "data",
+        converter: webidl.converters.any,
+        defaultValue: () => null
+      },
+      {
+        key: "origin",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lastEventId",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "source",
+        // Node doesn't implement WindowProxy or ServiceWorker, so the only
+        // valid value for source is a MessagePort.
+        converter: webidl.nullableConverter(webidl.converters.MessagePort),
+        defaultValue: () => null
+      },
+      {
+        key: "ports",
+        converter: webidl.converters["sequence"],
+        defaultValue: () => new Array(0)
       }
-      const sliced = bytes.slice(slice);
-      return new TextDecoder(encoding).decode(sliced);
-    }
-    function BOMSniffing(ioQueue) {
-      const [a, b, c] = ioQueue;
-      if (a === 239 && b === 187 && c === 191) {
-        return "UTF-8";
-      } else if (a === 254 && b === 255) {
-        return "UTF-16BE";
-      } else if (a === 255 && b === 254) {
-        return "UTF-16LE";
+    ]);
+    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "wasClean",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "code",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 0
+      },
+      {
+        key: "reason",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
       }
-      return null;
-    }
-    function combineByteSequences(sequences) {
-      const size = sequences.reduce((a, b) => {
-        return a + b.byteLength;
-      }, 0);
-      let offset = 0;
-      return sequences.reduce((a, b) => {
-        a.set(b, offset);
-        offset += b.byteLength;
-        return a;
-      }, new Uint8Array(size));
-    }
+    ]);
+    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "message",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "filename",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lineno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "colno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "error",
+        converter: webidl.converters.any
+      }
+    ]);
     module2.exports = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var sentCloseFrameState = {
+      NOT_SENT: 0,
+      PROCESSING: 1,
+      SENT: 2
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    var sendHints = {
+      string: 1,
+      typedArray: 2,
+      arrayBuffer: 3,
+      blob: 4
+    };
+    module2.exports = {
+      uid,
+      sentCloseFrameState,
       staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var FileReader = class _FileReader extends EventTarget {
-      constructor() {
-        super();
-        this[kState] = "empty";
-        this[kResult] = null;
-        this[kError] = null;
-        this[kEvents] = {
-          loadend: null,
-          error: null,
-          abort: null,
-          load: null,
-          progress: null,
-          loadstart: null
-        };
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
-       * @param {import('buffer').Blob} blob
-       */
-      readAsArrayBuffer(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsDataText
-       * @param {import('buffer').Blob} blob
-       * @param {string?} encoding
-       */
-      readAsText(blob, encoding = void 0) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
+    }
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
+    }
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
+    }
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           return;
         }
-        if (this[kState] === "loading") {
-          this[kState] = "done";
-          this[kResult] = null;
-        }
-        this[kAborted] = true;
-        fireAProgressEvent("abort", this);
-        if (this[kState] !== "loading") {
-          fireAProgressEvent("loadend", this);
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
-       */
-      get readyState() {
-        webidl.brandCheck(this, _FileReader);
-        switch (this[kState]) {
-          case "empty":
-            return this.EMPTY;
-          case "loading":
-            return this.LOADING;
-          case "done":
-            return this.DONE;
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
-       */
-      get result() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kResult];
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
-       */
-      get error() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kError];
-      }
-      get onloadend() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadend;
-      }
-      set onloadend(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadend) {
-          this.removeEventListener("loadend", this[kEvents].loadend);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadend = fn;
-          this.addEventListener("loadend", fn);
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].error) {
-          this.removeEventListener("error", this[kEvents].error);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this[kEvents].error = null;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      set onloadstart(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadstart) {
-          this.removeEventListener("loadstart", this[kEvents].loadstart);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadstart = fn;
-          this.addEventListener("loadstart", fn);
-        } else {
-          this[kEvents].loadstart = null;
+      for (let i = 0; i < protocol.length; ++i) {
+        const code = protocol.charCodeAt(i);
+        if (code < 33 || // CTL, contains SP (0x20) and HT (0x09)
+        code > 126 || code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 44 || // ,
+        code === 47 || // /
+        code === 58 || // :
+        code === 59 || // ;
+        code === 60 || // <
+        code === 61 || // =
+        code === 62 || // >
+        code === 63 || // ?
+        code === 64 || // @
+        code === 91 || // [
+        code === 92 || // \
+        code === 93 || // ]
+        code === 123 || // {
+        code === 125) {
+          return false;
         }
       }
-      get onprogress() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].progress;
-      }
-      set onprogress(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].progress) {
-          this.removeEventListener("progress", this[kEvents].progress);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].progress = fn;
-          this.addEventListener("progress", fn);
-        } else {
-          this[kEvents].progress = null;
-        }
+      return true;
+    }
+    function isValidStatusCode(code) {
+      if (code >= 1e3 && code < 1015) {
+        return code !== 1004 && // reserved
+        code !== 1005 && // "MUST NOT be set as a status code"
+        code !== 1006;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      return code >= 3e3 && code <= 4999;
+    }
+    function failWebsocketConnection(ws, reason) {
+      const { [kController]: controller, [kResponse]: response } = ws;
+      controller.abort();
+      if (response?.socket && !response.socket.destroyed) {
+        response.socket.destroy();
       }
-      set onload(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].load) {
-          this.removeEventListener("load", this[kEvents].load);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].load = fn;
-          this.addEventListener("load", fn);
-        } else {
-          this[kEvents].load = null;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    function isControlFrame(opcode) {
+      return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
+    }
+    function isContinuationFrame(opcode) {
+      return opcode === opcodes.CONTINUATION;
+    }
+    function isTextBinaryFrame(opcode) {
+      return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
+    }
+    function isValidOpcode(opcode) {
+      return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
+    }
+    function parseExtensions(extensions) {
+      const position = { position: 0 };
+      const extensionList = /* @__PURE__ */ new Map();
+      while (position.position < extensions.length) {
+        const pair = collectASequenceOfCodePointsFast(";", extensions, position);
+        const [name, value = ""] = pair.split("=");
+        extensionList.set(
+          removeHTTPWhitespace(name, true, false),
+          removeHTTPWhitespace(value, false, true)
+        );
+        position.position++;
       }
-      set onabort(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].abort) {
-          this.removeEventListener("abort", this[kEvents].abort);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].abort = fn;
-          this.addEventListener("abort", fn);
-        } else {
-          this[kEvents].abort = null;
+      return extensionList;
+    }
+    function isValidClientWindowBits(value) {
+      for (let i = 0; i < value.length; i++) {
+        const byte = value.charCodeAt(i);
+        if (byte < 48 || byte > 57) {
+          return false;
         }
       }
-    };
-    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
-    FileReader.LOADING = FileReader.prototype.LOADING = 1;
-    FileReader.DONE = FileReader.prototype.DONE = 2;
-    Object.defineProperties(FileReader.prototype, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors,
-      readAsArrayBuffer: kEnumerableProperty,
-      readAsBinaryString: kEnumerableProperty,
-      readAsText: kEnumerableProperty,
-      readAsDataURL: kEnumerableProperty,
-      abort: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      result: kEnumerableProperty,
-      error: kEnumerableProperty,
-      onloadstart: kEnumerableProperty,
-      onprogress: kEnumerableProperty,
-      onload: kEnumerableProperty,
-      onabort: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onloadend: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "FileReader",
-        writable: false,
-        enumerable: false,
-        configurable: true
+      return true;
+    }
+    var hasIntl = typeof process.versions.icu === "string";
+    var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0;
+    var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) {
+      if (isUtf8(buffer)) {
+        return buffer.toString("utf-8");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]];
     }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+      }
+      createFrame(opcode) {
+        const frameData = this.frameData;
+        const maskKey = generateMask();
+        const bodyLength = frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
+        }
+        const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
+        buffer2[0] = buffer2[1] = 0;
+        buffer2[0] |= 128;
+        buffer2[0] = (buffer2[0] & 240) + opcode;
+        buffer2[offset - 4] = maskKey[0];
+        buffer2[offset - 3] = maskKey[1];
+        buffer2[offset - 2] = maskKey[2];
+        buffer2[offset - 1] = maskKey[3];
+        buffer2[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer2.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer2[2] = buffer2[3] = 0;
+          buffer2.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer2[1] |= 128;
+        for (let i = 0; i < bodyLength; ++i) {
+          buffer2[offset + i] = frameData[i] ^ maskKey[i & 3];
+        }
+        return buffer2;
+      }
+    };
     module2.exports = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url, protocols, client, ws, onEstablish, options) {
+      const requestURL = url;
+      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        client,
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = getHeadersList(new Headers(options.headers));
+        request2.headersList = headersList;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto2.randomBytes(16).toString("base64");
+      request2.headersList.append("sec-websocket-key", keyValue);
+      request2.headersList.append("sec-websocket-version", "13");
+      for (const protocol of protocols) {
+        request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
-            }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
-          }
-        }
-        const responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher,
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
+            return;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
+          let extensions;
+          if (secExtension !== null) {
+            extensions = parseExtensions(secExtension);
+            if (!extensions.has("permessage-deflate")) {
+              failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match.");
+              return;
             }
-          }));
-          responsePromises.push(responsePromise.promise);
-        }
-        const p = Promise.all(responsePromises);
-        const responses = await p;
-        const operations = [];
-        let index = 0;
-        for (const response of responses) {
-          const operation = {
-            type: "put",
-            // 7.3.2
-            request: requestList[index],
-            // 7.3.3
-            response
-            // 7.3.4
-          };
-          operations.push(operation);
-          index++;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(void 0);
-          } else {
-            cacheJobPromise.reject(errorData);
           }
-        });
-        return cacheJobPromise.promise;
-      }
-      async put(request2, response) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
-        let innerRequest = null;
-        if (request2 instanceof Request) {
-          innerRequest = request2[kState];
-        } else {
-          innerRequest = new Request(request2)[kState];
-        }
-        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Got 206 status"
-          });
-        }
-        if (innerResponse.headersList.contains("vary")) {
-          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
-          for (const fieldValue of fieldValues) {
-            if (fieldValue === "*") {
-              throw webidl.errors.exception({
-                header: "Cache.put",
-                message: "Got * vary field value"
-              });
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null) {
+            const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList);
+            if (!requestProtocols.includes(secProtocol)) {
+              failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+              return;
             }
           }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response, extensions);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        const clonedResponse = cloneResponse(innerResponse);
-        const bodyReadPromise = createDeferredPromise();
-        if (innerResponse.body != null) {
-          const stream = innerResponse.body.stream;
-          const reader = stream.getReader();
-          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+      });
+      return controller;
+    }
+    function closeWebSocketConnection(ws, code, reason, reasonByteLength) {
+      if (isClosing(ws) || isClosed(ws)) {
+      } else if (!isEstablished(ws)) {
+        failWebsocketConnection(ws, "Connection was closed before it was established.");
+        ws[kReadyState] = states.CLOSING;
+      } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) {
+        ws[kSentClose] = sentCloseFrameState.PROCESSING;
+        const frame = new WebsocketFrameSend();
+        if (code !== void 0 && reason === void 0) {
+          frame.frameData = Buffer.allocUnsafe(2);
+          frame.frameData.writeUInt16BE(code, 0);
+        } else if (code !== void 0 && reason !== void 0) {
+          frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+          frame.frameData.writeUInt16BE(code, 0);
+          frame.frameData.write(reason, 2, "utf-8");
         } else {
-          bodyReadPromise.resolve(void 0);
-        }
-        const operations = [];
-        const operation = {
-          type: "put",
-          // 14.
-          request: innerRequest,
-          // 15.
-          response: clonedResponse
-          // 16.
-        };
-        operations.push(operation);
-        const bytes = await bodyReadPromise.promise;
-        if (clonedResponse.body != null) {
-          clonedResponse.body.source = bytes;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 instanceof Request) {
-          r = request2[kState];
-          if (r.method !== "GET" && !options.ignoreMethod) {
-            return false;
-          }
-        } else {
-          assert(typeof request2 === "string");
-          r = new Request(request2)[kState];
-        }
-        const operations = [];
-        const operation = {
-          type: "delete",
-          request: r,
-          options
-        };
-        operations.push(operation);
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        let requestResponses;
-        try {
-          requestResponses = this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(!!requestResponses?.length);
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
+      }
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const { [kResponse]: response } = ws;
+      response.socket.off("data", onSocketData);
+      response.socket.off("close", onSocketClose);
+      response.socket.off("error", onSocketError);
+      const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result && !result.error) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kReceivedClose]) {
+        code = 1006;
+      }
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ Symbol("kLength");
+    var PerMessageDeflate = class {
+      /** @type {import('node:zlib').InflateRaw} */
+      #inflate;
+      #options = {};
+      constructor(extensions) {
+        this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
+        this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
+      }
+      decompress(chunk, fin, callback) {
+        if (!this.#inflate) {
+          let windowBits = Z_DEFAULT_WINDOWBITS;
+          if (this.#options.serverMaxWindowBits) {
+            if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
+              callback(new Error("Invalid server_max_window_bits"));
+              return;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
           }
+          this.#inflate = createInflateRaw({ windowBits });
+          this.#inflate[kBuffer] = [];
+          this.#inflate[kLength] = 0;
+          this.#inflate.on("data", (data) => {
+            this.#inflate[kBuffer].push(data);
+            this.#inflate[kLength] += data.length;
+          });
+          this.#inflate.on("error", (err) => {
+            this.#inflate = null;
+            callback(err);
+          });
         }
-        const promise = createDeferredPromise();
-        const requests = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            requests.push(requestResponse[0]);
-          }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            requests.push(requestResponse[0]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        this.#inflate.flush(() => {
+          const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
+          this.#inflate[kBuffer].length = 0;
+          this.#inflate[kLength] = 0;
+          callback(null, full);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
+    "use strict";
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #loop = false;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      /** @type {Map} */
+      #extensions;
+      constructor(ws, extensions) {
+        super();
+        this.ws = ws;
+        this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
+        if (this.#extensions.has("permessage-deflate")) {
+          this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #batchCacheOperations(operations) {
-        const cache = this.#relevantRequestResponseList;
-        const backupCache = [...cache];
-        const addedItems = [];
-        const resultList = [];
-        try {
-          for (const operation of operations) {
-            if (operation.type !== "delete" && operation.type !== "put") {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: 'operation type does not match "delete" or "put"'
-              });
+      _write(chunk, _, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        this.#loop = true;
+        this.run(callback);
+      }
+      /**
+       * Runs whenever a new chunk is received.
+       * Callback is called whenever there are no more chunks buffering,
+       * or not enough bytes are buffered to parse.
+       */
+      run(callback) {
+        while (this.#loop) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            const buffer = this.consume(2);
+            const fin = (buffer[0] & 128) !== 0;
+            const opcode = buffer[0] & 15;
+            const masked = (buffer[1] & 128) === 128;
+            const fragmented = !fin && opcode !== opcodes.CONTINUATION;
+            const payloadLength = buffer[1] & 127;
+            const rsv1 = buffer[0] & 64;
+            const rsv2 = buffer[0] & 32;
+            const rsv3 = buffer[0] & 16;
+            if (!isValidOpcode(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid opcode received");
+              return callback();
             }
-            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            let requestResponses;
-            if (operation.type === "delete") {
-              requestResponses = this.#queryCache(operation.request, operation.options);
-              if (requestResponses.length === 0) {
-                return [];
-              }
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-            } else if (operation.type === "put") {
-              if (operation.response == null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "put operation should have an associated response"
-                });
-              }
-              const r = operation.request;
-              if (!urlIsHttpHttpsScheme(r.url)) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "expected http or https scheme"
-                });
-              }
-              if (r.method !== "GET") {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "not get method"
-                });
-              }
-              if (operation.options != null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "options must not be defined"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.message.length);
+                    return;
+                  }
+                  this.#fragments.push(data);
+                  if (!this.#info.fin) {
+                    this.#state = parserStates.INFO;
+                    this.#loop = true;
+                    this.run(callback);
+                    return;
+                  }
+                  websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments));
+                  this.#loop = true;
+                  this.#state = parserStates.INFO;
+                  this.#fragments.length = 0;
+                  this.run(callback);
                 });
+                this.#loop = false;
+                break;
               }
-              requestResponses = this.#queryCache(operation.request);
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-              cache.push([operation.request, operation.response]);
-              addedItems.push([operation.request, operation.response]);
             }
-            resultList.push([operation.request, operation.response]);
           }
-          return resultList;
-        } catch (e) {
-          this.#relevantRequestResponseList.length = 0;
-          this.#relevantRequestResponseList = backupCache;
-          throw e;
         }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#query-cache
-       * @param {any} requestQuery
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @param {requestResponseList} targetStorage
-       * @returns {requestResponseList}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #queryCache(requestQuery, options, targetStorage) {
-        const resultList = [];
-        const storage = targetStorage ?? this.#relevantRequestResponseList;
-        for (const requestResponse of storage) {
-          const [cachedRequest, cachedResponse] = requestResponse;
-          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
-            resultList.push(requestResponse);
+      consume(n) {
+        if (n > this.#byteOffset) {
+          throw new Error("Called consume() before buffers satiated.");
+        } else if (n === 0) {
+          return emptyBuffer;
+        }
+        if (this.#buffers[0].length === n) {
+          this.#byteOffset -= this.#buffers[0].length;
+          return this.#buffers.shift();
+        }
+        const buffer = Buffer.allocUnsafe(n);
+        let offset = 0;
+        while (offset !== n) {
+          const next = this.#buffers[0];
+          const { length } = next;
+          if (length + offset === n) {
+            buffer.set(this.#buffers.shift(), offset);
+            break;
+          } else if (length + offset > n) {
+            buffer.set(next.subarray(0, n - offset), offset);
+            this.#buffers[0] = next.subarray(n - offset);
+            break;
+          } else {
+            buffer.set(this.#buffers.shift(), offset);
+            offset += next.length;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
-       * @param {any} requestQuery
-       * @param {any} request
-       * @param {any | null} response
-       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
-       * @returns {boolean}
-       */
-      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
-        const queryURL = new URL(requestQuery.url);
-        const cachedURL = new URL(request2.url);
-        if (options?.ignoreSearch) {
-          cachedURL.search = "";
-          queryURL.search = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        const fieldValues = getFieldValues(response.headersList.get("vary"));
-        for (const fieldValue of fieldValues) {
-          if (fieldValue === "*") {
-            return false;
-          }
-          const requestValue = request2.headersList.get(fieldValue);
-          const queryValue = requestQuery.headersList.get(fieldValue);
-          if (requestValue !== queryValue) {
-            return false;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    Object.defineProperties(Cache.prototype, {
-      [Symbol.toStringTag]: {
-        value: "Cache",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      matchAll: kEnumerableProperty,
-      add: kEnumerableProperty,
-      addAll: kEnumerableProperty,
-      put: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    var cacheQueryOptionConverters = [
-      {
-        key: "ignoreSearch",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreMethod",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreVary",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
-    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
-      ...cacheQueryOptionConverters,
-      {
-        key: "cacheName",
-        converter: webidl.converters.DOMString
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const cache = [];
-        this.#caches.set(cacheName, cache);
-        return new Cache(kConstruct, cache);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async delete(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    Object.defineProperties(CacheStorage.prototype, {
-      [Symbol.toStringTag]: {
-        value: "CacheStorage",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      has: kEnumerableProperty,
-      open: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    module2.exports = {
-      CacheStorage
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    var FastBuffer = Buffer[Symbol.species];
+    var SendQueue = class {
+      /**
+       * @type {FixedQueue}
+       */
+      #queue = new FixedQueue();
+      /**
+       * @type {boolean}
+       */
+      #running = false;
+      /** @type {import('node:net').Socket} */
+      #socket;
+      constructor(socket) {
+        this.#socket = socket;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      add(item, cb, hint) {
+        if (hint !== sendHints.blob) {
+          const frame = createFrame(item, hint);
+          if (!this.#running) {
+            this.#socket.write(frame, cb);
+          } else {
+            const node2 = {
+              promise: null,
+              callback: cb,
+              frame
+            };
+            this.#queue.push(node2);
+          }
+          return;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const node = {
+          promise: item.arrayBuffer().then((ab) => {
+            node.promise = null;
+            node.frame = createFrame(ab, hint);
+          }),
+          callback: cb,
+          frame: null
+        };
+        this.#queue.push(node);
+        if (!this.#running) {
+          this.#run();
         }
       }
-    }
-    function validateCookiePath(path7) {
-      for (const char of path7) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      async #run() {
+        this.#running = true;
+        const queue = this.#queue;
+        while (!queue.isEmpty()) {
+          const node = queue.shift();
+          if (node.promise !== null) {
+            await node.promise;
+          }
+          this.#socket.write(node.frame, node.callback);
+          node.callback = node.frame = null;
         }
+        this.#running = false;
       }
+    };
+    function createFrame(data, hint) {
+      return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY);
     }
-    function validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    function validateCookieMaxAge(maxAge) {
-      if (maxAge < 0) {
-        throw new Error("Invalid cookie max-age");
-      }
-    }
-    function stringify(cookie) {
-      if (cookie.name.length === 0) {
-        return null;
-      }
-      validateCookieName(cookie.name);
-      validateCookieValue(cookie.value);
-      const out = [`${cookie.name}=${cookie.value}`];
-      if (cookie.name.startsWith("__Secure-")) {
-        cookie.secure = true;
-      }
-      if (cookie.name.startsWith("__Host-")) {
-        cookie.secure = true;
-        cookie.domain = null;
-        cookie.path = "/";
-      }
-      if (cookie.secure) {
-        out.push("Secure");
-      }
-      if (cookie.httpOnly) {
-        out.push("HttpOnly");
-      }
-      if (typeof cookie.maxAge === "number") {
-        validateCookieMaxAge(cookie.maxAge);
-        out.push(`Max-Age=${cookie.maxAge}`);
-      }
-      if (cookie.domain) {
-        validateCookieDomain(cookie.domain);
-        out.push(`Domain=${cookie.domain}`);
-      }
-      if (cookie.path) {
-        validateCookiePath(cookie.path);
-        out.push(`Path=${cookie.path}`);
-      }
-      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
-        out.push(`Expires=${toIMFDate(cookie.expires)}`);
-      }
-      if (cookie.sameSite) {
-        out.push(`SameSite=${cookie.sameSite}`);
-      }
-      for (const part of cookie.unparsed) {
-        if (!part.includes("=")) {
-          throw new Error("Invalid unparsed");
-        }
-        const [key, ...value] = part.split("=");
-        out.push(`${key.trim()}=${value.join("=")}`);
+    function toBuffer(data, hint) {
+      switch (hint) {
+        case sendHints.string:
+          return Buffer.from(data);
+        case sendHints.arrayBuffer:
+        case sendHints.blob:
+          return new FastBuffer(data);
+        case sendHints.typedArray:
+          return new FastBuffer(data.buffer, data.byteOffset, data.byteLength);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } else {
-        nameValuePair = header;
-      }
-      if (!nameValuePair.includes("=")) {
-        value = nameValuePair;
-      } else {
-        const position = { position: 0 };
-        name = collectASequenceOfCodePointsFast(
-          "=",
-          nameValuePair,
-          position
-        );
-        value = nameValuePair.slice(position.position + 1);
-      }
-      name = name.trim();
-      value = value.trim();
-      if (name.length + value.length > maxNameValuePairSize) {
-        return null;
-      }
-      return {
-        name,
-        value,
-        ...parseUnparsedAttributes(unparsedAttributes)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
-      if (unparsedAttributes.length === 0) {
-        return cookieAttributeList;
-      }
-      assert(unparsedAttributes[0] === ";");
-      unparsedAttributes = unparsedAttributes.slice(1);
-      let cookieAv = "";
-      if (unparsedAttributes.includes(";")) {
-        cookieAv = collectASequenceOfCodePointsFast(
-          ";",
-          unparsedAttributes,
-          { position: 0 }
-        );
-        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
-      } else {
-        cookieAv = unparsedAttributes;
-        unparsedAttributes = "";
-      }
-      let attributeName = "";
-      let attributeValue = "";
-      if (cookieAv.includes("=")) {
-        const position = { position: 0 };
-        attributeName = collectASequenceOfCodePointsFast(
-          "=",
-          cookieAv,
-          position
-        );
-        attributeValue = cookieAv.slice(position.position + 1);
-      } else {
-        attributeName = cookieAv;
-      }
-      attributeName = attributeName.trim();
-      attributeValue = attributeValue.trim();
-      if (attributeValue.length > maxAttributeValueSize) {
-        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-      }
-      const attributeNameLowercase = attributeName.toLowerCase();
-      if (attributeNameLowercase === "expires") {
-        const expiryTime = new Date(attributeValue);
-        cookieAttributeList.expires = expiryTime;
-      } else if (attributeNameLowercase === "max-age") {
-        const charCode = attributeValue.charCodeAt(0);
-        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url, protocols = []) {
+        super();
+        webidl.util.markAsUncloneable(this);
+        const prefix = "WebSocket constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options");
+        url = webidl.converters.USVString(url, prefix, "url");
+        protocols = options.protocols;
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, baseURL);
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
         }
-        if (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        cookieAttributeList.path = cookiePath;
-      } else if (attributeNameLowercase === "secure") {
-        cookieAttributeList.secure = true;
-      } else if (attributeNameLowercase === "httponly") {
-        cookieAttributeList.httpOnly = true;
-      } else if (attributeNameLowercase === "samesite") {
-        let enforcement = "Default";
-        const attributeValueLowercase = attributeValue.toLowerCase();
-        if (attributeValueLowercase.includes("none")) {
-          enforcement = "None";
+        if (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      if (!cookie) {
-        return out;
-      }
-      for (const piece of cookie.split(";")) {
-        const [name, ...value] = piece.split("=");
-        out[name.trim()] = value.join("=");
-      }
-      return out;
-    }
-    function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookies = headers.getSetCookie();
-      if (!cookies) {
-        return [];
-      }
-      return cookies.map((pair) => parseSetCookie(pair));
-    }
-    function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        const client = environmentSettingsObject.settingsObject;
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          client,
+          this,
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
+        this[kBinaryType] = "blob";
       }
-    ]);
-    webidl.converters.Cookie = webidl.dictionaryConverter([
-      {
-        converter: webidl.converters.DOMString,
-        key: "name"
-      },
-      {
-        converter: webidl.converters.DOMString,
-        key: "value"
-      },
-      {
-        converter: webidl.nullableConverter((value) => {
-          if (typeof value === "number") {
-            return webidl.converters["unsigned long long"](value);
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
+       * @param {number|undefined} code
+       * @param {string|undefined} reason
+       */
+      close(code = void 0, reason = void 0) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.close";
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason, prefix, "reason");
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException("invalid code", "InvalidAccessError");
           }
-          return new Date(value);
-        }),
-        key: "expires",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters["long long"]),
-        key: "maxAge",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "secure",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "httpOnly",
-        defaultValue: null
-      },
-      {
-        converter: webidl.converters.USVString,
-        key: "sameSite",
-        allowedValues: ["Strict", "Lax", "None"]
-      },
-      {
-        converter: webidl.sequenceConverter(webidl.converters.DOMString),
-        key: "unparsed",
-        defaultValue: []
+        }
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
+          }
+        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
-    "use strict";
-    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    var states = {
-      CONNECTING: 0,
-      OPEN: 1,
-      CLOSING: 2,
-      CLOSED: 3
-    };
-    var opcodes = {
-      CONTINUATION: 0,
-      TEXT: 1,
-      BINARY: 2,
-      CLOSE: 8,
-      PING: 9,
-      PONG: 10
-    };
-    var maxUnsigned16Bit = 2 ** 16 - 1;
-    var parserStates = {
-      INFO: 0,
-      PAYLOADLENGTH_16: 2,
-      PAYLOADLENGTH_64: 3,
-      READ_DATA: 4
-    };
-    var emptyBuffer = Buffer.allocUnsafe(0);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.send";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        data = webidl.converters.WebSocketSendData(data, prefix, "data");
+        if (isConnecting(this)) {
+          throw new DOMException("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
+          return;
+        }
+        if (typeof data === "string") {
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
+        } else if (types.isArrayBuffer(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
+        } else if (ArrayBuffer.isView(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
+        } else if (isBlobLike(data)) {
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
+        }
       }
-      get data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      set onopen(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
+        }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
+        }
       }
-      get wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      set onerror(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
+        }
       }
-      get reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      set onclose(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.close) {
+          this.removeEventListener("close", this.#events.close);
+        }
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
+        }
       }
-      get message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      set onmessage(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
+        }
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
+        }
       }
-      get lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
+       */
+      #onConnectionEstablished(response, parsedExtensions) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this, parsedExtensions);
+        parser.on("drain", onParserDrain);
+        parser.on("error", onParserError.bind(this));
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this.#sendQueue = new SendQueue(response.socket);
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
+        }
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
     };
-    Object.defineProperties(MessageEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "MessageEvent",
-        configurable: true
-      },
-      data: kEnumerableProperty,
-      origin: kEnumerableProperty,
-      lastEventId: kEnumerableProperty,
-      source: kEnumerableProperty,
-      ports: kEnumerableProperty,
-      initMessageEvent: kEnumerableProperty
-    });
-    Object.defineProperties(CloseEvent.prototype, {
+    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
+    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
+    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
+    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
+    Object.defineProperties(WebSocket.prototype, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors,
+      url: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      bufferedAmount: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onclose: kEnumerableProperty,
+      close: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      binaryType: kEnumerableProperty,
+      send: kEnumerableProperty,
+      extensions: kEnumerableProperty,
+      protocol: kEnumerableProperty,
       [Symbol.toStringTag]: {
-        value: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         configurable: true
-      },
-      reason: kEnumerableProperty,
-      code: kEnumerableProperty,
-      wasClean: kEnumerableProperty
+      }
     });
-    Object.defineProperties(ErrorEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "ErrorEvent",
-        configurable: true
-      },
-      message: kEnumerableProperty,
-      filename: kEnumerableProperty,
-      lineno: kEnumerableProperty,
-      colno: kEnumerableProperty,
-      error: kEnumerableProperty
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    var eventInit = [
-      {
-        key: "bubbles",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "cancelable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "composed",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "data",
-        converter: webidl.converters.any,
-        defaultValue: null
-      },
-      {
-        key: "origin",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
-      {
-        key: "lastEventId",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "source",
-        // Node doesn't implement WindowProxy or ServiceWorker, so the only
-        // valid value for source is a MessagePort.
-        converter: webidl.nullableConverter(webidl.converters.MessagePort),
-        defaultValue: null
-      },
-      {
-        key: "ports",
-        converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "wasClean",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "code",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 0
-      },
-      {
-        key: "reason",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
+    webidl.converters["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    function isEstablished(ws) {
-      return ws[kReadyState] === states.OPEN;
-    }
-    function isClosing(ws) {
-      return ws[kReadyState] === states.CLOSING;
-    }
-    function isClosed(ws) {
-      return ws[kReadyState] === states.CLOSED;
-    }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { protocols: webidl.converters["DOMString or sequence"](V) };
+    };
+    webidl.converters.WebSocketSendData = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
         }
       }
-      return true;
-    }
-    function isValidStatusCode(code) {
-      if (code >= 1e3 && code < 1015) {
-        return code !== 1004 && // reserved
-        code !== 1005 && // "MUST NOT be set as a status code"
-        code !== 1006;
-      }
-      return code >= 3e3 && code <= 4999;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    function failWebsocketConnection(ws, reason) {
-      const { [kController]: controller, [kResponse]: response } = ws;
-      controller.abort();
-      if (response?.socket && !response.socket.destroyed) {
-        response.socket.destroy();
-      }
-      if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
-        });
+    function onParserError(err) {
+      let message;
+      let code;
+      if (err instanceof CloseEvent) {
+        message = err.reason;
+        code = err.code;
+      } else {
+        message = err.message;
       }
+      fireEvent("error", this, () => new ErrorEvent("error", { error: err, message }));
+      closeWebSocketConnection(this, code);
     }
     module2.exports = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
-      const requestURL = url;
-      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto2.randomBytes(16).toString("base64");
-      request2.headersList.append("sec-websocket-key", keyValue);
-      request2.headersList.append("sec-websocket-version", "13");
-      for (const protocol of protocols) {
-        request2.headersList.append("sec-websocket-protocol", protocol);
-      }
-      const permessageDeflate = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
-            return;
-          }
-          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
-            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
-            return;
-          }
-          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
-            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
-            return;
-          }
-          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
-          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
-          if (secWSAccept !== digest) {
-            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
-            return;
-          }
-          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    function isASCIINumber(value) {
+      if (value.length === 0) return false;
+      for (let i = 0; i < value.length; i++) {
+        if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false;
       }
+      return true;
     }
-    function onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay(ms) {
+      return new Promise((resolve5) => {
+        setTimeout(resolve5, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.frameData?.byteLength ?? 0;
-        let payloadLength = bodyLength;
-        let offset = 6;
-        if (bodyLength > maxUnsigned16Bit) {
-          offset += 8;
-          payloadLength = 127;
-        } else if (bodyLength > 125) {
-          offset += 2;
-          payloadLength = 126;
-        }
-        const buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      checkBOM = true;
+      /**
+       * @type {boolean}
+       */
+      crlfCheck = false;
+      /**
+       * @type {boolean}
+       */
+      eventEndCheck = false;
+      /**
+       * @type {Buffer}
+       */
+      buffer = null;
+      pos = 0;
+      event = {
+        data: void 0,
+        event: void 0,
+        id: void 0,
+        retry: void 0
+      };
+      /**
+       * @param {object} options
+       * @param {eventSourceSettings} options.eventSourceSettings
+       * @param {Function} [options.push]
+       */
+      constructor(options = {}) {
+        options.readableObjectMode = true;
+        super(options);
+        this.state = options.eventSourceSettings || {};
+        if (options.push) {
+          this.push = options.push;
+        }
       }
       /**
-       * Runs whenever a new chunk is received.
-       * Callback is called whenever there are no more chunks buffering,
-       * or not enough bytes are buffered to parse.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            if (payloadLength <= 125) {
-              this.#info.payloadLength = payloadLength;
-              this.#state = parserStates.READ_DATA;
-            } else if (payloadLength === 126) {
-              this.#state = parserStates.PAYLOADLENGTH_16;
-            } else if (payloadLength === 127) {
-              this.#state = parserStates.PAYLOADLENGTH_64;
-            }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _transform(chunk, _encoding, callback) {
+        if (chunk.length === 0) {
+          callback();
+          return;
+        }
+        if (this.buffer) {
+          this.buffer = Buffer.concat([this.buffer, chunk]);
+        } else {
+          this.buffer = chunk;
+        }
+        if (this.checkBOM) {
+          switch (this.buffer.length) {
+            case 1:
+              if (this.buffer[0] === BOM[0]) {
+                callback();
                 return;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              this.checkBOM = false;
+              break;
+            case 3:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = Buffer.alloc(0);
+                this.checkBOM = false;
                 callback();
                 return;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              this.checkBOM = false;
+              break;
+            default:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = this.buffer.subarray(3);
               }
-              if (this.#byteOffset > 0) {
+              this.checkBOM = false;
+              break;
+          }
+        }
+        while (this.pos < this.buffer.length) {
+          if (this.eventEndCheck) {
+            if (this.crlfCheck) {
+              if (this.buffer[this.pos] === LF) {
+                this.buffer = this.buffer.subarray(this.pos + 1);
+                this.pos = 0;
+                this.crlfCheck = false;
                 continue;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.payloadLength = buffer.readUInt16BE(0);
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
-            if (this.#byteOffset < 8) {
-              return callback();
-            }
-            const buffer = this.consume(8);
-            const upper = buffer.readUInt32BE(0);
-            if (upper > 2 ** 31 - 1) {
-              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
-              return;
-            }
-            const lower = buffer.readUInt32BE(4);
-            this.#info.payloadLength = (upper << 8) + lower;
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.READ_DATA) {
-            if (this.#byteOffset < this.#info.payloadLength) {
-              return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              this.buffer = this.buffer.subarray(this.pos + 1);
+              this.pos = 0;
+              if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) {
+                this.processEvent(this.event);
+              }
+              this.clearEvent();
+              continue;
             }
+            this.eventEndCheck = false;
+            continue;
           }
-          if (this.#byteOffset > 0) {
+          if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+            if (this.buffer[this.pos] === CR) {
+              this.crlfCheck = true;
+            }
+            this.parseLine(this.buffer.subarray(0, this.pos), this.event);
+            this.buffer = this.buffer.subarray(this.pos + 1);
+            this.pos = 0;
+            this.eventEndCheck = true;
             continue;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        const buffer = Buffer.allocUnsafe(n);
-        let offset = 0;
-        while (offset !== n) {
-          const next = this.#buffers[0];
-          const { length } = next;
-          if (length + offset === n) {
-            buffer.set(this.#buffers.shift(), offset);
+        let field = "";
+        let value = "";
+        if (colonPosition !== -1) {
+          field = line.subarray(0, colonPosition).toString("utf8");
+          let valueStart = colonPosition + 1;
+          if (line[valueStart] === SPACE) {
+            ++valueStart;
+          }
+          value = line.subarray(valueStart).toString("utf8");
+        } else {
+          field = line.toString("utf8");
+          value = "";
+        }
+        switch (field) {
+          case "data":
+            if (event[field] === void 0) {
+              event[field] = value;
+            } else {
+              event[field] += `
+${value}`;
+            }
             break;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          case "retry":
+            if (isASCIINumber(value)) {
+              event[field] = value;
+            }
+            break;
+          case "id":
+            if (isValidLastEventId(value)) {
+              event[field] = value;
+            }
+            break;
+          case "event":
+            if (value.length > 0) {
+              event[field] = value;
+            }
             break;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    var defaultReconnectionTime = 3e3;
+    var CONNECTING = 0;
+    var OPEN = 1;
+    var CLOSED = 2;
+    var ANONYMOUS = "anonymous";
+    var USE_CREDENTIALS = "use-credentials";
+    var EventSource = class _EventSource extends EventTarget {
       #events = {
         open: null,
         error: null,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #url = null;
+      #withCredentials = false;
+      #readyState = CONNECTING;
+      #request = null;
+      #controller = null;
+      #dispatcher;
+      /**
+       * @type {import('./eventsource-stream').eventSourceSettings}
+       */
+      #state;
       /**
+       * Creates a new EventSource object.
        * @param {string} url
-       * @param {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url, protocols = []) {
+      constructor(url, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        url = webidl.converters.USVString(url, prefix, "url");
+        eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
+        this.#dispatcher = eventSourceInitDict.dispatcher;
+        this.#state = {
+          lastEventId: "",
+          reconnectionTime: defaultReconnectionTime
+        };
+        const settings = environmentSettingsObject;
         let urlRecord;
         try {
-          urlRecord = new URL(url, baseURL);
+          urlRecord = new URL(url, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
-        }
-        if (urlRecord.protocol === "http:") {
-          urlRecord.protocol = "ws:";
-        } else if (urlRecord.protocol === "https:") {
-          urlRecord.protocol = "wss:";
-        }
-        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        const initRequest = {
+          redirect: "follow",
+          keepalive: true,
+          // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
+          mode: "cors",
+          credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
+          referrer: "no-referrer"
+        };
+        initRequest.client = environmentSettingsObject.settingsObject;
+        initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
+        initRequest.cache = "no-store";
+        initRequest.initiator = "other";
+        initRequest.urlList = [new URL(this.#url)];
+        this.#request = makeRequest(initRequest);
+        this.#connect();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      get readyState() {
+        return this.#readyState;
+      }
+      /**
+       * Returns the URL providing the event stream.
+       * @readonly
+       * @returns {string}
+       */
+      get url() {
+        return this.#url;
+      }
+      /**
+       * Returns a boolean indicating whether the EventSource object was
+       * instantiated with CORS credentials set (true), or not (false, the default).
+       */
+      get withCredentials() {
+        return this.#withCredentials;
+      }
+      #connect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        const fetchParams = {
+          request: this.#request,
+          dispatcher: this.#dispatcher
+        };
+        const processEventSourceEndOfBody = (response) => {
+          if (isNetworkError(response)) {
+            this.dispatchEvent(new Event("error"));
+            this.close();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          this.#reconnect();
+        };
+        fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
+        fetchParams.processResponse = (response) => {
+          if (isNetworkError(response)) {
+            if (response.aborted) {
+              this.close();
+              this.dispatchEvent(new Event("error"));
+              return;
+            } else {
+              this.#reconnect();
+              return;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          const frame = new WebsocketFrameSend();
-          if (code !== void 0 && reason === void 0) {
-            frame.frameData = Buffer.allocUnsafe(2);
-            frame.frameData.writeUInt16BE(code, 0);
-          } else if (code !== void 0 && reason !== void 0) {
-            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
-            frame.frameData.writeUInt16BE(code, 0);
-            frame.frameData.write(reason, 2, "utf-8");
-          } else {
-            frame.frameData = emptyBuffer;
+          const contentType = response.headersList.get("content-type", true);
+          const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
+          const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
+          if (response.status !== 200 || contentTypeValid === false) {
+            this.close();
+            this.dispatchEvent(new Event("error"));
+            return;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          this.#readyState = OPEN;
+          this.dispatchEvent(new Event("open"));
+          this.#state.origin = response.urlList[response.urlList.length - 1].origin;
+          const eventSourceStream = new EventSourceStream({
+            eventSourceSettings: this.#state,
+            push: (event) => {
+              this.dispatchEvent(createFastMessageEvent(
+                event.type,
+                event.options
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay(this.#state.reconnectionTime);
+        if (this.#readyState !== CONNECTING) return;
+        if (this.#state.lastEventId.length) {
+          this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
         }
+        this.#connect();
       }
-      get readyState() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kReadyState];
-      }
-      get bufferedAmount() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#bufferedAmount;
-      }
-      get url() {
-        webidl.brandCheck(this, _WebSocket);
-        return URLSerializer(this[kWebSocketURL]);
-      }
-      get extensions() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#extensions;
-      }
-      get protocol() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#protocol;
+      /**
+       * Closes the connection, if any, and sets the readyState attribute to
+       * CLOSED.
+       */
+      close() {
+        webidl.brandCheck(this, _EventSource);
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CLOSED;
+        this.#controller.abort();
+        this.#request = null;
       }
       get onopen() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.open;
       }
       set onopen(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.open) {
           this.removeEventListener("open", this.#events.open);
         }
@@ -37998,44 +39575,10 @@ var require_websocket2 = __commonJS({
           this.#events.open = null;
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.error) {
-          this.removeEventListener("error", this.#events.error);
-        }
-        if (typeof fn === "function") {
-          this.#events.error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this.#events.error = null;
-        }
-      }
-      get onclose() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.close;
-      }
-      set onclose(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.close) {
-          this.removeEventListener("close", this.#events.close);
-        }
-        if (typeof fn === "function") {
-          this.#events.close = fn;
-          this.addEventListener("close", fn);
-        } else {
-          this.#events.close = null;
-        }
-      }
       get onmessage() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.message;
       }
       set onmessage(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.message) {
           this.removeEventListener("message", this.#events.message);
         }
@@ -38046,137 +39589,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      set onerror(fn) {
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
         } else {
-          this[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    var constantsPropertyDescriptors = {
+      CONNECTING: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CONNECTING,
+        writable: false
+      },
+      OPEN: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: OPEN,
+        writable: false
+      },
+      CLOSED: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CLOSED,
+        writable: false
       }
     };
-    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
-    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
-    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
-    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
-    Object.defineProperties(WebSocket.prototype, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors,
-      url: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      bufferedAmount: kEnumerableProperty,
-      onopen: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onclose: kEnumerableProperty,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: kEnumerableProperty,
       onmessage: kEnumerableProperty,
-      binaryType: kEnumerableProperty,
-      send: kEnumerableProperty,
-      extensions: kEnumerableProperty,
-      protocol: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "WebSocket",
-        writable: false,
-        enumerable: false,
-        configurable: true
-      }
-    });
-    Object.defineProperties(WebSocket, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
-        return webidl.converters.WebSocketInit(V);
-      }
-      return { protocols: webidl.converters["DOMString or sequence"](V) };
-    };
-    webidl.converters.WebSocketSendData = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     module2.exports.BalancedPool = BalancedPool;
     module2.exports.Agent = Agent;
     module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
+    module2.exports.RetryAgent = RetryAgent;
     module2.exports.RetryHandler = RetryHandler;
     module2.exports.DecoratorHandler = DecoratorHandler;
     module2.exports.RedirectHandler = RedirectHandler;
     module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.interceptors = {
+      redirect: require_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     module2.exports.buildConnector = buildConnector;
     module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
     function makeDispatcher(fn) {
       return (url, opts, handler2) => {
         if (typeof opts === "function") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().fetch;
+    module2.exports.fetch = async function fetch(init, options = void 0) {
+      try {
+        return await fetchImpl(init, options);
+      } catch (err) {
+        if (err && typeof err === "object") {
+          Error.captureStackTrace(err);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().WebSocket;
+    module2.exports.CloseEvent = CloseEvent;
+    module2.exports.ErrorEvent = ErrorEvent;
+    module2.exports.MessageEvent = MessageEvent;
     module2.exports.request = makeDispatcher(api.request);
     module2.exports.stream = makeDispatcher(api.stream);
     module2.exports.pipeline = makeDispatcher(api.pipeline);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44493,7 +45986,7 @@ var require_package = __commonJS({
   "package.json"(exports2, module2) {
     module2.exports = {
       name: "codeql",
-      version: "4.32.1",
+      version: "4.32.2",
       private: true,
       description: "CodeQL action",
       scripts: {
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -55054,7 +56547,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -55177,7 +56670,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url, options);
@@ -59875,7 +61368,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -60130,7 +61623,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -60244,7 +61737,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -60291,7 +61784,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -60331,7 +61824,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -96412,7 +97905,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -96489,7 +97982,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -102172,8 +103665,8 @@ var path3 = __toESM(require("path"));
 var semver5 = __toESM(require_semver2());
 
 // src/defaults.json
-var bundleVersion = "codeql-bundle-v2.24.0";
-var cliVersion = "2.24.0";
+var bundleVersion = "codeql-bundle-v2.24.1";
+var cliVersion = "2.24.1";
 
 // src/overlay-database-utils.ts
 var fs2 = __toESM(require("fs"));
@@ -103996,11 +105489,11 @@ void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/defaults.json b/lib/defaults.json
index 916c098591..b8bf2449a5 100644
--- a/lib/defaults.json
+++ b/lib/defaults.json
@@ -1,6 +1,6 @@
 {
-  "bundleVersion": "codeql-bundle-v2.24.0",
-  "cliVersion": "2.24.0",
-  "priorBundleVersion": "codeql-bundle-v2.23.9",
-  "priorCliVersion": "2.23.9"
+  "bundleVersion": "codeql-bundle-v2.24.1",
+  "cliVersion": "2.24.1",
+  "priorBundleVersion": "codeql-bundle-v2.24.0",
+  "priorCliVersion": "2.24.0"
 }
diff --git a/lib/init-action-post.js b/lib/init-action-post.js
index 85b466dbe2..1179c3df26 100644
--- a/lib/init-action-post.js
+++ b/lib/init-action-post.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT");
+    var AbortError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+        this.message = message || "The operation was aborted";
+        this.code = "UND_ERR_ABORT";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
+    };
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         this.name = "InformationalError";
         this.message = message || "Request information";
         this.code = "UND_ERR_INFO";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInformationalError] === true;
+      }
+      [kInformationalError] = true;
     };
-    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE");
+    var ResponseError = class extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        this.name = "ResponseError";
+        this.message = message || "Response error";
+        this.code = "UND_ERR_RESPONSE";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseError] === true;
+      }
+      [kResponseError] = true;
+    };
+    var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS");
+    var SecureProxyConnectionError = class extends UndiciError {
+      constructor(cause, message, options) {
+        super(message, { cause, ...options ?? {} });
+        this.name = "SecureProxyConnectionError";
+        this.message = message || "Secure Proxy Connection failed";
+        this.code = "UND_ERR_PRX_TLS";
+        this.cause = cause;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSecureProxyConnectionError] === true;
+      }
+      [kSecureProxyConnectionError] = true;
     };
     module2.exports = {
+      AbortError,
       HTTPParserError,
       UndiciError,
       HeadersTimeoutError,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              node.middle = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.code < code) {
+            if (node.left !== null) {
+              node = node.left;
+            } else {
+              node.left = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.right !== null) {
+            node = node.right;
+          } else {
+            node.right = new _TstNode(key, value, index);
+            break;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    var TernarySearchTree = class {
+      /** @type {TstNode | null} */
+      node = null;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * */
+      insert(key, value) {
+        if (this.node === null) {
+          this.node = new TstNode(key, value, 0);
+        } else {
+          this.node.add(key, value);
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {any}
+       */
+      lookup(key) {
+        return this.node?.search(key)?.value ?? null;
+      }
+    };
+    var tree = new TernarySearchTree();
+    for (let i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]];
+      tree.insert(key, key);
+    }
+    module2.exports = {
+      TernarySearchTree,
+      tree
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream2 = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream2 = require("node:stream");
+    var net = require("node:net");
+    var { Blob: Blob2 } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var { stringify } = require("node:querystring");
+    var { EventEmitter: EE } = require("node:events");
     var { InvalidArgumentError } = require_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      if (object === null) {
+        return false;
+      } else if (object instanceof Blob2) {
+        return true;
+      } else if (typeof object !== "object") {
+        return false;
+      } else {
+        const sTag = object[Symbol.toStringTag];
+        return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function");
+      }
     }
     function buildURL(url2, queryParams) {
       if (url2.includes("?") || url2.includes("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       return url2;
     }
+    function isValidPort(port) {
+      const value = parseInt(port, 10);
+      return value === Number(port) && value >= 0 && value <= 65535;
+    }
+    function isHttpOrHttpsPrefixed(value) {
+      return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
+    }
     function parseURL(url2) {
       if (typeof url2 === "string") {
         url2 = new URL(url2);
-        if (!/^https?:/.test(url2.origin || url2.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url2;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url2 || typeof url2 !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url2.origin || url2.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url2 instanceof URL)) {
-        if (url2.port != null && url2.port !== "" && !Number.isFinite(parseInt(url2.port))) {
+        if (url2.port != null && url2.port !== "" && isValidPort(url2.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url2.path != null && typeof url2.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         if (url2.origin != null && typeof url2.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80;
-        let origin = url2.origin != null ? url2.origin : `${url2.protocol}//${url2.hostname}:${port}`;
+        let origin = url2.origin != null ? url2.origin : `${url2.protocol || ""}//${url2.hostname || ""}:${port}`;
         let path16 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path16 && !path16.startsWith("/")) {
+        if (path16 && path16[0] !== "/") {
           path16 = `/${path16}`;
         }
-        url2 = new URL(origin + path16);
+        return new URL(`${origin}${path16}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url2;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream3) {
-      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
-    }
-    function isReadableAborted(stream3) {
-      const state = stream3 && stream3._readableState;
-      return isDestroyed(stream3) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body));
     }
     function destroy(stream3, err) {
       if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream3.destroy(err);
       } else if (err) {
-        process.nextTick((stream4, err2) => {
-          stream4.emit("error", err2);
-        }, stream3, err);
+        queueMicrotask(() => {
+          stream3.emit("error", err);
+        });
       }
       if (stream3.destroyed !== true) {
         stream3[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        if (val) {
+          if (typeof val === "string") {
             val = [val];
             obj[key] = val;
           }
           val.push(headers[i + 1].toString("utf8"));
+        } else {
+          const headersValue = headers[i + 1];
+          if (typeof headersValue === "string") {
+            obj[key] = headersValue;
+          } else {
+            obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      const len = headers.length;
+      const ret = new Array(len);
       let hasContentLength = false;
       let contentDispositionIdx = -1;
+      let key;
+      let val;
+      let kLen = 0;
       for (let n = 0; n < headers.length; n += 2) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        key = headers[n];
+        val = headers[n + 1];
+        typeof key !== "string" && (key = key.toString());
+        typeof val !== "string" && (val = val.toString("utf8"));
+        kLen = key.length;
+        if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) {
           hasContentLength = true;
-        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream2.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          type: "bytes"
+        }
       );
     }
     function isFormDataLike(object) {
       return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
     }
-    function throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.toUSVString(val);
+      return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val);
+    }
+    function isUSVString(val) {
+      return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`;
+    }
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
       }
-      return `${val}`;
+    }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    function isValidHeaderValue(characters) {
+      return !headerCharRegex.test(characters);
     }
     function parseRangeHeader(range) {
       if (range == null || range === "") return { start: 0, end: null, size: null };
@@ -22290,8 +22632,49 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
     var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
     kEnumerableProperty.enumerable = true;
+    var normalizedMethodRecordsBase = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    var normalizedMethodRecords = {
+      ...normalizedMethodRecordsBase,
+      patch: "patch",
+      PATCH: "PATCH"
+    };
+    Object.setPrototypeOf(normalizedMethodRecordsBase, null);
+    Object.setPrototypeOf(normalizedMethodRecords, null);
     module2.exports = {
       kEnumerableProperty,
       nop,
@@ -22299,7 +22682,7 @@ var require_util9 = __commonJS({
       isErrored,
       isReadable,
       toUSVString,
-      isReadableAborted,
+      isUSVString,
       isBlobLike,
       parseOrigin,
       parseURL,
@@ -22309,6 +22692,10 @@ var require_util9 = __commonJS({
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,2519 +22708,2736 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
+    var diagnosticsChannel = require("node:diagnostics_channel");
+    var util = require("node:util");
+    var undiciDebugLog = util.debuglog("undici");
+    var fetchDebuglog = util.debuglog("fetch");
+    var websocketDebuglog = util.debuglog("websocket");
+    var isClientSet = false;
+    var channels = {
+      // Client
+      beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
+      connected: diagnosticsChannel.channel("undici:client:connected"),
+      connectError: diagnosticsChannel.channel("undici:client:connectError"),
+      sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
+      // Request
+      create: diagnosticsChannel.channel("undici:request:create"),
+      bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
+      headers: diagnosticsChannel.channel("undici:request:headers"),
+      trailers: diagnosticsChannel.channel("undici:request:trailers"),
+      error: diagnosticsChannel.channel("undici:request:error"),
+      // WebSocket
+      open: diagnosticsChannel.channel("undici:websocket:open"),
+      close: diagnosticsChannel.channel("undici:websocket:close"),
+      socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
+      ping: diagnosticsChannel.channel("undici:websocket:ping"),
+      pong: diagnosticsChannel.channel("undici:websocket:pong")
+    };
+    if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
+      const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog;
+      diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connecting to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connected to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host },
+          error: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path16);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path16,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path16);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path16,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
+    if (websocketDebuglog.enabled) {
+      if (!isClientSet) {
+        const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog;
+        diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connecting to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connected to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host },
+            error: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path16, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path16);
+        });
       }
+      diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => {
+        const {
+          address: { address, port }
+        } = evt;
+        websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : "");
+      });
+      diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => {
+        const { websocket, code, reason } = evt;
+        websocketDebuglog(
+          "closed connection to %s - %s %s",
+          websocket.url,
+          code,
+          reason
+        );
+      });
+      diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => {
+        websocketDebuglog("connection errored - %s", err.message);
+      });
+      diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => {
+        websocketDebuglog("ping received");
+      });
+      diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => {
+        websocketDebuglog("pong received");
+      });
     }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
     module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
-    }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
-          );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path16,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path16 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path16)) {
+          throw new InvalidArgumentError("invalid request path");
+        }
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
+          throw new InvalidArgumentError("invalid request method");
+        }
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
+        }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
+        }
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
+        }
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
+        }
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
+        }
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
+          }
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path16, query) : path16;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
+          }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
+          }
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
+          }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
       }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
+        }
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
+        } else {
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
+        }
       }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        }
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
+        }
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
           return false;
         }
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
-    }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
       }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
+        }
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
+        }
       }
-      return limits[name];
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        if (isMatch) {
-          self2._finish();
+        if (this.aborted) {
+          return;
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
+        this.aborted = true;
+        return this[kHandler].onError(error3);
       }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
+        }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
+        }
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
     };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
+    function processHeader(request2, key, val) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
         return;
       }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
+            }
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
+          } else {
+            arr.push(`${val[i]}`);
           }
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+      } else if (val === null) {
+        val = "";
+      } else {
+        val = `${val}`;
+      }
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
+        }
+        request2.host = val;
+      } else if (request2.contentLength === null && headerName === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
+        }
+      } else if (request2.contentType === null && headerName === "content-type") {
+        request2.contentType = val;
+        request2.headers.push(key, val);
+      } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
+        throw new InvalidArgumentError(`invalid ${headerName} header`);
+      } else if (headerName === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
         }
+        if (value === "close") {
+          request2.reset = true;
+        }
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
+      } else {
+        request2.headers.push(key, val);
       }
-    };
-    module2.exports = HeaderParser;
+    }
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
+      close() {
+        throw new Error("not implemented");
       }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
+      destroy() {
+        throw new Error("not implemented");
       }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+      compose(...args) {
+        const interceptors = Array.isArray(args[0]) ? args[0] : args;
+        let dispatch = this.dispatch.bind(this);
+        for (const interceptor of interceptors) {
+          if (interceptor == null) {
+            continue;
+          }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
+          }
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
+          }
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
+        return new ComposedDispatcher(this, dispatch);
       }
     };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
-          }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
-        } else {
-          return cb();
-        }
+      dispatch(...args) {
+        this.#dispatch(...args);
       }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
+      close(...args) {
+        return this.#dispatcher.close(...args);
       }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
     };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
+    module2.exports = Dispatcher;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
+      get destroyed() {
+        return this[kDestroyed];
+      }
+      get closed() {
+        return this[kClosed];
+      }
+      get interceptors() {
+        return this[kInterceptors];
+      }
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
             }
-            this._dashes = 0;
-            break;
           }
         }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve8, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve8(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+          return;
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+          return;
+        }
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
           }
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
+        });
+      }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
         }
-        if (this._dashes) {
+        if (callback === void 0) {
+          return new Promise((resolve8, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve8(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-      }
-      if (this._justMatched) {
-        this._justMatched = false;
-      }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
+        if (!err) {
+          err = new ClientDestroyedError();
+        }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
         };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
+        });
+      }
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
         }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
         }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
       }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
+        }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
           }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
           }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+          if (this[kClosed]) {
+            throw new ClientClosedError();
           }
-        }
-      }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
-        } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
           }
+          handler2.onError(err);
+          return false;
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
-      }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
       }
     };
-    module2.exports = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer");
+    var fastTimers = [];
+    var NOT_IN_LIST = -2;
+    var TO_BE_CLEARED = -1;
+    var PENDING = 0;
+    var ACTIVE = 1;
+    function onTick() {
+      fastNow += TICK_MS;
+      let idx = 0;
+      let len = fastTimers.length;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer._state === PENDING) {
+          timer._idleStart = fastNow - TICK_MS;
+          timer._state = ACTIVE;
+        } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
+          timer._state = TO_BE_CLEARED;
+          timer._idleStart = -1;
+          timer._onTimeout(timer._timerArg);
+        }
+        if (timer._state === TO_BE_CLEARED) {
+          timer._state = NOT_IN_LIST;
+          if (--len !== 0) {
+            fastTimers[idx] = fastTimers[len];
+          }
+        } else {
+          ++idx;
         }
       }
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
+      }
     }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          return data;
-        }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+    }
+    var FastTimer = class {
+      [kFastTimer] = true;
+      /**
+       * The state of the timer, which can be one of the following:
+       * - NOT_IN_LIST (-2)
+       * - TO_BE_CLEARED (-1)
+       * - PENDING (0)
+       * - ACTIVE (1)
+       *
+       * @type {-2|-1|0|1}
+       * @private
+       */
+      _state = NOT_IN_LIST;
+      /**
+       * The number of milliseconds to wait before calling the callback.
+       *
+       * @type {number}
+       * @private
+       */
+      _idleTimeout = -1;
+      /**
+       * The time in milliseconds when the timer was started. This value is used to
+       * calculate when the timer should expire.
+       *
+       * @type {number}
+       * @default -1
+       * @private
+       */
+      _idleStart = -1;
+      /**
+       * The function to be executed when the timer expires.
+       * @type {Function}
+       * @private
+       */
+      _onTimeout;
+      /**
+       * The argument to be passed to the callback when the timer expires.
+       *
+       * @type {*}
+       * @private
+       */
+      _timerArg;
+      /**
+       * @constructor
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should wait
+       * before the specified function or code is executed.
+       * @param {*} arg
+       */
+      constructor(callback, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
+      }
+      /**
+       * Sets the timer's start time to the current time, and reschedules the timer
+       * to call its callback at the previously specified duration adjusted to the
+       * current time.
+       * Using this on a timer that has already called its callback will reactivate
+       * the timer.
+       *
+       * @returns {void}
+       */
+      refresh() {
+        if (this._state === NOT_IN_LIST) {
+          fastTimers.push(this);
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
         }
-        return typeof data === "string" ? data : data.toString();
+        this._state = PENDING;
       }
-    };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
       }
-      return text;
-    }
-    module2.exports = decodeText;
+    };
+    module2.exports = {
+      /**
+       * The setTimeout() method sets a timer which executes a function once the
+       * timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {NodeJS.Timeout|FastTimer}
+       */
+      setTimeout(callback, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated Timer previously created
+       * by calling setTimeout.
+       *
+       * @param {NodeJS.Timeout|FastTimer} timeout
+       */
+      clearTimeout(timeout) {
+        if (timeout[kFastTimer]) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
+      },
+      /**
+       * The setFastTimeout() method sets a fastTimer which executes a function once
+       * the timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {FastTimer}
+       */
+      setFastTimeout(callback, delay2, arg) {
+        return new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated FastTimer previously
+       * created by calling setFastTimeout.
+       *
+       * @param {FastTimer} timeout
+       */
+      clearFastTimeout(timeout) {
+        timeout.clear();
+      },
+      /**
+       * The now method returns the value of the internal fast timer clock.
+       *
+       * @returns {number}
+       */
+      now() {
+        return fastNow;
+      },
+      /**
+       * Trigger the onTick function to process the fastTimers array.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       * @param {number} [delay=0] The delay in milliseconds to add to the now value.
+       */
+      tick(delay2 = 0) {
+        fastNow += delay2 - RESOLUTION_MS + 1;
+        onTick();
+        onTick();
+      },
+      /**
+       * Reset FastTimers.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      reset() {
+        fastNow = 0;
+        fastTimers.length = 0;
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = null;
+      },
+      /**
+       * Exporting for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      kFastTimer
+    };
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
             }
-            continue;
-          } else {
-            escaping = false;
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
+        }
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
+        }
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+        }
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
+          this._sessionCache.set(sessionKey, session);
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
+      };
+    }
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
       }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("node:tls");
+          }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          assert(sessionKey);
+          const session = customSession || sessionCache.get(sessionKey) || null;
+          port = port || 443;
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          port = port || 80;
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port,
+            host: hostname
+          });
         }
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
+        }
+        const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port });
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
+          }
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
+          }
+        });
+        return socket;
+      };
+    }
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
+      }
+      let s1 = null;
+      let s2 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    } : (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
+      }
+      let s1 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          onConnectTimeout(socketWeakRef.deref(), opts);
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+      };
+    };
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
+        return;
+      }
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
       } else {
-        res[p][1] = tmp;
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return res;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    module2.exports = parseParams;
+    module2.exports = buildConnector;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
     "use strict";
-    module2.exports = function basename2(path16) {
-      if (typeof path16 !== "string") {
-        return "";
-      }
-      for (var i = path16.length - 1; i >= 0; --i) {
-        switch (path16.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path16 = path16.slice(i + 1);
-            return path16 === ".." || path16 === "." ? "" : path16;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-      }
-      return path16 === ".." || path16 === "." ? "" : path16;
-    };
+      });
+      return res;
+    }
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    var { Readable: Readable2 } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename2 = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
-        }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
-        }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
-        }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename2(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
-      } else {
-        this._needDrain = !r;
-        this._cb = cb;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
       }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
     };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
-      }
+    exports2.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
     };
-    function skipPart(part) {
-      part.resume();
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
     }
-    function FileStream(opts) {
-      Readable2.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
     }
-    inherits(FileStream, Readable2);
-    FileStream.prototype._read = function(n) {
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
     };
-    module2.exports = Multipart;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    "use strict";
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.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");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var corsSafeListedMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "POST"]
+    );
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = (
+      /** @type {const} */
+      [101, 204, 205, 304]
+    );
+    var redirectStatus = (
+      /** @type {const} */
+      [301, 302, 303, 307, 308]
+    );
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = (
+      /** @type {const} */
+      [
+        "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"
+      ]
+    );
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = (
+      /** @type {const} */
+      [
+        "",
+        "no-referrer",
+        "no-referrer-when-downgrade",
+        "same-origin",
+        "origin",
+        "strict-origin",
+        "origin-when-cross-origin",
+        "strict-origin-when-cross-origin",
+        "unsafe-url"
+      ]
+    );
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = (
+      /** @type {const} */
+      ["follow", "manual", "error"]
+    );
+    var safeMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "OPTIONS", "TRACE"]
+    );
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = (
+      /** @type {const} */
+      ["navigate", "same-origin", "no-cors", "cors"]
+    );
+    var requestCredentials = (
+      /** @type {const} */
+      ["omit", "same-origin", "include"]
+    );
+    var requestCache = (
+      /** @type {const} */
+      [
+        "default",
+        "no-store",
+        "reload",
+        "no-cache",
+        "force-cache",
+        "only-if-cached"
+      ]
+    );
+    var requestBodyHeader = (
+      /** @type {const} */
+      [
+        "content-encoding",
+        "content-language",
+        "content-location",
+        "content-type",
+        // See https://github.com/nodejs/undici/issues/2021
+        // 'Content-Length' is a forbidden header name, which is typically
+        // removed in the Headers implementation. However, undici doesn't
+        // filter out headers, so we add it here.
+        "content-length"
+      ]
+    );
+    var requestDuplex = (
+      /** @type {const} */
+      [
+        "half"
+      ]
+    );
+    var forbiddenMethods = (
+      /** @type {const} */
+      ["CONNECT", "TRACE", "TRACK"]
+    );
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = (
+      /** @type {const} */
+      [
+        "audio",
+        "audioworklet",
+        "font",
+        "image",
+        "manifest",
+        "paintworklet",
+        "script",
+        "style",
+        "track",
+        "video",
+        "xslt",
+        ""
+      ]
+    );
+    var subresourceSet = new Set(subresource);
+    module2.exports = {
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
     };
-    module2.exports = Decoder;
   }
 });
 
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
     "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
       }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
     }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
+    function URLSerializer(url2, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url2.href;
+      }
+      const href = url2.href;
+      const hashLength = url2.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function percentDecode(input) {
+      const length = input.length;
+      const output = new Uint8Array(length);
+      let j = 0;
+      for (let i = 0; i < length; ++i) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output[j++] = byte;
+        } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) {
+          output[j++] = 37;
+        } else {
+          output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]);
+          i += 2;
         }
-        return cb();
       }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      return length === j ? output : output.subarray(0, j);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
+      }
+      if (position.position > input.length) {
+        return "failure";
+      }
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
+      }
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
           }
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
         } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
+    }
+    function forgivingBase64(data) {
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
           }
         }
       }
-      cb();
-    };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+      if (dataLength % 4 === 1) {
+        return "failure";
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
+      }
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
         );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
-    };
-    module2.exports = UrlEncoded;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+      if (extractValue) {
+        return value;
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
     }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
-          return;
-        } else if (this._finished) {
-          return;
-        }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+    function isomorphicDecode(input) {
+      const length = input.length;
+      if ((2 << 15) - 1 > length) {
+        return String.fromCharCode.apply(null, input);
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      let result = "";
+      let i = 0;
+      let addition = (2 << 15) - 1;
+      while (i < length) {
+        if (i + addition > length) {
+          addition = length - i;
+        }
+        result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
-    };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
-  }
-});
-
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
-    "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+      return result;
+    }
+    function minimizeSupportedMimeType(mimeType) {
+      switch (mimeType.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";
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
       }
-      if (!channel) {
-        channel = new MessageChannel();
+      if (mimeType.subtype.endsWith("+xml")) {
+        return "application/xml";
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
+      return "";
+    }
     module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType,
+      removeChars,
+      removeHTTPWhitespace,
+      minimizeSupportedMimeType,
+      HTTP_TOKEN_CODEPOINTS,
+      isomorphicDecode
     };
   }
 });
 
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
     "use strict";
-    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
-    function getGlobalOrigin() {
-      return globalThis[globalOrigin];
-    }
-    function setGlobalOrigin(newOrigin) {
-      if (newOrigin === void 0) {
-        Object.defineProperty(globalThis, globalOrigin, {
-          value: void 0,
-          writable: true,
-          enumerable: false,
-          configurable: false
-        });
-        return;
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context3) {
+      const plural = context3.types.length === 1 ? "" : " one of";
+      const message = `${context3.argument} could not be converted to${plural}: ${context3.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context3.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context3) {
+      return webidl.errors.exception({
+        header: context3.prefix,
+        message: `"${context3.value}" is an invalid ${context3.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts) {
+      if (opts?.strict !== false) {
+        if (!(V instanceof I)) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      } else {
+        if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          header: ctx
+        });
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
       });
-    }
-    module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
     };
-  }
-});
-
-// node_modules/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
-    "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance3 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
-    } catch {
-    }
-    function responseURL(response) {
-      const urlList = response.urlList;
-      const length = urlList.length;
-      return length === 0 ? null : urlList[length - 1].toString();
-    }
-    function responseLocationURL(response, requestFragment) {
-      if (!redirectStatusSet.has(response.status)) {
-        return null;
-      }
-      let location = response.headersList.get("location");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
+          }
+          return "Object";
+        }
       }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
+    };
+    webidl.util.markAsUncloneable = markAsUncloneable || (() => {
+    });
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
+        }
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
       }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url2 = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
-        return "blocked";
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
       }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
-    }
-    function isValidReasonPhrase(statusText) {
-      for (let i = 0; i < statusText.length; ++i) {
-        const c = statusText.charCodeAt(i);
-        if (!(c === 9 || // HTAB
-        c >= 32 && c <= 126 || // SP / VCHAR
-        c >= 128 && c <= 255)) {
-          return false;
+      if (opts?.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
+          });
         }
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
+        }
+        return x;
       }
-      return true;
-    }
-    function isTokenCharCode(c) {
-      switch (c) {
-        case 34:
-        case 40:
-        case 41:
-        case 44:
-        case 47:
-        case 58:
-        case 59:
-        case 60:
-        case 61:
-        case 62:
-        case 63:
-        case 64:
-        case 91:
-        case 92:
-        case 93:
-        case 123:
-        case 125:
-          return false;
-        default:
-          return c >= 33 && c <= 126;
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
       }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
       }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
-        }
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
       }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
       }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
       }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        let index = 0;
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} is not iterable.`
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
             break;
           }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
         }
-      }
-      if (policy !== "") {
-        request2.referrerPolicy = policy;
-      }
-    }
-    function crossOriginResourcePolicyCheck() {
-      return "allowed";
-    }
-    function corsCheck() {
-      return "success";
-    }
-    function TAOCheck() {
-      return "success";
-    }
-    function appendFetchMetadata(httpRequest) {
-      let header = null;
-      header = httpRequest.mode;
-      httpRequest.headersList.set("sec-fetch-mode", header);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O, prefix, argument) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} ("${webidl.util.Type(O)}") is not an Object.`
+          });
         }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
+          for (const key of keys2) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+          return result;
         }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
         }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance3.now();
-    }
-    function createOpaqueTimingInfo(timingInfo) {
-      return {
-        startTime: timingInfo.startTime ?? 0,
-        redirectStartTime: 0,
-        redirectEndTime: 0,
-        postRedirectStartTime: timingInfo.startTime ?? 0,
-        finalServiceWorkerStartTime: 0,
-        finalNetworkResponseStartTime: 0,
-        finalNetworkRequestStartTime: 0,
-        endTime: 0,
-        encodedBodySize: 0,
-        decodedBodySize: 0,
-        finalConnectionTimingInfo: null
+        return result;
       };
-    }
-    function makePolicyContainer() {
-      return {
-        referrerPolicy: "strict-origin-when-cross-origin"
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, prefix, argument, opts) => {
+        if (opts?.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.`
+          });
+        }
+        return V;
       };
-    }
-    function clonePolicyContainer(policyContainer) {
-      return {
-        referrerPolicy: policyContainer.referrerPolicy
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary, prefix, argument) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
+          });
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!Object.hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = Object.hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value ??= defaultValue();
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value, prefix, `${argument}.${key}`);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V, prefix, argument) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V, prefix, argument);
+      };
+    };
+    webidl.converters.DOMString = function(V, prefix, argument, opts) {
+      if (V === null && opts?.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${argument} is a symbol, which cannot be converted to a DOMString.`
+        });
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V, prefix, argument) {
+      const x = webidl.converters.DOMString(V, prefix, argument);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
+      }
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, prefix, argument, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${argument} ("${webidl.util.Stringify(V)}")`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.resizable || V.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${name} ("${webidl.util.Stringify(V)}")`,
+          types: [T.name]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${name} is not a DataView.`
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, prefix, name, opts) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false });
+      }
+      throw webidl.errors.conversionFailed({
+        prefix,
+        argument: `${name} ("${webidl.util.Stringify(V)}")`,
+        types: ["BufferSource"]
+      });
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib3 = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance3 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
+      }
+      let location = response.headersList.get("location", true);
+      if (location !== null && isValidHeaderValue(location)) {
+        if (!isValidEncodedURL(location)) {
+          location = normalizeBinaryStringToUtf8(location);
+        }
+        location = new URL(location, responseURL(response));
+      }
+      if (location && !location.hash) {
+        location.hash = requestFragment;
+      }
+      return location;
+    }
+    function isValidEncodedURL(url2) {
+      for (let i = 0; i < url2.length; ++i) {
+        const code = url2.charCodeAt(i);
+        if (code > 126 || // Non-US-ASCII + DEL
+        code < 32) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function normalizeBinaryStringToUtf8(value) {
+      return Buffer.from(value, "binary").toString("utf8");
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url2 = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
+        return "blocked";
+      }
+      return "allowed";
+    }
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var isValidHeaderName = isValidHTTPToken;
+    function isValidHeaderValue(potentialValue) {
+      return (potentialValue[0] === "	" || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === "	" || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
+    }
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
+          }
+        }
+      }
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
+      }
+    }
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header, true);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (serializedOrigin === "client" || serializedOrigin === void 0) {
+        return;
+      }
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        request2.headersList.append("origin", serializedOrigin, true);
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
+        }
+        request2.headersList.append("origin", serializedOrigin, true);
+      }
+    }
+    function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
+      if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
+        return {
+          domainLookupStartTime: defaultStartTime,
+          domainLookupEndTime: defaultStartTime,
+          connectionStartTime: defaultStartTime,
+          connectionEndTime: defaultStartTime,
+          secureConnectionStartTime: defaultStartTime,
+          ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
+        };
+      }
+      return {
+        domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
+        domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
+        connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
+        connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
+        secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
+        ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
+      };
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return coarsenTime(performance3.now(), crossOriginIsolatedCapability);
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
+      };
+    }
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
+      };
+    }
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
       };
     }
     function determineRequestsReferrer(request2) {
@@ -24897,6 +25501,7 @@ var require_util10 = __commonJS({
     }
     function stripURLForReferrer(url2, originOnly) {
       assert(url2 instanceof URL);
+      url2 = new URL(url2);
       if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
         return "no-referrer";
       }
@@ -25052,23 +25657,8 @@ var require_util10 = __commonJS({
     function isCancelled(fetchParams) {
       return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
     }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
     function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
     }
     function serializeJavascriptValueToJSONString(value) {
       const result = JSON.stringify(value);
@@ -25079,53 +25669,131 @@ var require_util10 = __commonJS({
       return result;
     }
     var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
         next() {
-          if (Object.getPrototypeOf(this) !== i) {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
             throw new TypeError(
               `'next' called on an object that does not implement interface ${name} Iterator.`
             );
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
           const len = values.length;
           if (index >= len) {
-            return { value: void 0, done: true };
+            return {
+              value: void 0,
+              done: true
+            };
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
         },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
     }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
         }
-        case "key+value": {
-          result = pair;
-          break;
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
         }
-      }
-      return { value: result, done: false };
+      });
     }
     async function fullyReadBody(body, processBody, processBodyError) {
       const successSteps = processBody;
@@ -25138,39 +25806,27 @@ var require_util10 = __commonJS({
         return;
       }
       try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
+        successSteps(await readAllBytes(reader));
       } catch (e) {
         errorSteps(e);
       }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
     function isReadableStreamLike(stream2) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
-      }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
+      return stream2 instanceof ReadableStream || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
     }
     function readableStreamClose(controller) {
       try {
         controller.close();
+        controller.byobRequest?.respond(0);
       } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
           throw err;
         }
       }
     }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
     function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
-      }
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
       return input;
     }
     async function readAllBytes(reader) {
@@ -25194,24 +25850,223 @@ var require_util10 = __commonJS({
       return protocol === "about:" || protocol === "blob:" || protocol === "data:";
     }
     function urlHasHttpsScheme(url2) {
-      if (typeof url2 === "string") {
-        return url2.startsWith("https:");
-      }
-      return url2.protocol === "https:";
+      return typeof url2 === "string" && url2[5] === ":" && url2[0] === "h" && url2[1] === "t" && url2[2] === "t" && url2[3] === "p" && url2[4] === "s" || url2.protocol === "https:";
     }
     function urlIsHttpHttpsScheme(url2) {
       assert("protocol" in url2);
       const protocol = url2.protocol;
       return protocol === "http:" || protocol === "https:";
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    function simpleRangeHeaderValue(value, allowWhitespace) {
+      const data = value;
+      if (!data.startsWith("bytes")) {
+        return "failure";
+      }
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeStart = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeEnd = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
+      if (position.position < data.length) {
+        return "failure";
+      }
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
+      }
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
+      }
+      return { rangeStartValue, rangeEndValue };
+    }
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
+    }
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
+      }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
+          }
+          this._inflateStream = (chunk[0] & 15) === 8 ? zlib3.createInflate(this.#zlibOptions) : zlib3.createInflateRaw(this.#zlibOptions);
+          this._inflateStream.on("data", this.push.bind(this));
+          this._inflateStream.on("end", () => this.push(null));
+          this._inflateStream.on("error", (err) => this.destroy(err));
+        }
+        this._inflateStream.write(chunk, encoding, callback);
+      }
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
+        }
+        callback();
+      }
+    };
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
+    }
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
+      }
+      for (const value of values) {
+        const temporaryMimeType = parseMIMEType(value);
+        if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
+          continue;
+        }
+        mimeType = temporaryMimeType;
+        if (mimeType.essence !== essence) {
+          charset = null;
+          if (mimeType.parameters.has("charset")) {
+            charset = mimeType.parameters.get("charset");
+          }
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
+        }
+      }
+      if (mimeType == null) {
+        return "failure";
+      }
+      return mimeType;
+    }
+    function gettingDecodingSplitting(value) {
+      const input = value;
+      const position = { position: 0 };
+      const values = [];
+      let temporaryValue = "";
+      while (position.position < input.length) {
+        temporaryValue += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== ",",
+          input,
+          position
+        );
+        if (position.position < input.length) {
+          if (input.charCodeAt(position.position) === 34) {
+            temporaryValue += collectAnHTTPQuotedString(
+              input,
+              position
+            );
+            if (position.position < input.length) {
+              continue;
+            }
+          } else {
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
+          }
+        }
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
+      }
+      return values;
+    }
+    function getDecodeSplit(name, list) {
+      const value = list.get(name, true);
+      if (value === null) {
+        return null;
+      }
+      return gettingDecodingSplitting(value);
+    }
+    var textDecoder = new TextDecoder();
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
+      }
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
+      }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
     module2.exports = {
       isAborted,
       isCancelled,
+      isValidEncodedURL,
       createDeferredPromise,
       ReadableStreamFrom,
-      toUSVString,
       tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
       coarsenedSharedCurrentTime,
       determineRequestsReferrer,
       makePolicyContainer,
@@ -25234,927 +26089,160 @@ var require_util10 = __commonJS({
       sameOrigin,
       normalizeMethod,
       serializeJavascriptValueToJSONString,
-      makeIterator,
+      iteratorMixin,
+      createIterator,
       isValidHeaderName,
       isValidHeaderValue,
-      hasOwn,
       isErrorLike,
       fullyReadBody,
       bytesMatch,
       isReadableStreamLike,
       readableStreamClose,
       isomorphicEncode,
-      isomorphicDecode,
       urlIsLocal,
       urlHasHttpsScheme,
       urlIsHttpHttpsScheme,
       readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
     };
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
 var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kUrl: /* @__PURE__ */ Symbol("url"),
       kHeaders: /* @__PURE__ */ Symbol("headers"),
       kSignal: /* @__PURE__ */ Symbol("signal"),
       kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
-    };
-    webidl.errors.conversionFailed = function(context3) {
-      const plural = context3.types.length === 1 ? "" : " one of";
-      const message = `${context3.argument} could not be converted to${plural}: ${context3.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context3.prefix,
-        message
-      });
-    };
-    webidl.errors.invalidArgument = function(context3) {
-      return webidl.errors.exception({
-        header: context3.prefix,
-        message: `"${context3.value}" is an invalid ${context3.type}.`
-      });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
-      } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
       }
-    };
-    webidl.argumentLengthCheck = function({ length }, min, ctx) {
-      if (length < min) {
-        throw webidl.errors.exception({
-          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
-          ...ctx
-        });
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
       }
-    };
-    webidl.illegalConstructor = function() {
-      throw webidl.errors.exception({
-        header: "TypeError",
-        message: "Illegal constructor"
-      });
-    };
-    webidl.util.Type = function(V) {
-      switch (typeof V) {
-        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": {
-          if (V === null) {
-            return "Null";
-          }
-          return "Object";
-        }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
       }
-    };
-    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
-      let upperBound;
-      let lowerBound;
-      if (bitLength === 64) {
-        upperBound = Math.pow(2, 53) - 1;
-        if (signedness === "unsigned") {
-          lowerBound = 0;
-        } else {
-          lowerBound = Math.pow(-2, 53) + 1;
-        }
-      } else if (signedness === "unsigned") {
-        lowerBound = 0;
-        upperBound = Math.pow(2, bitLength) - 1;
-      } else {
-        lowerBound = Math.pow(-2, bitLength) - 1;
-        upperBound = Math.pow(2, bitLength - 1) - 1;
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
       }
-      if (opts.enforceRange === true) {
-        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Could not convert ${V} to an integer.`
-          });
-        }
-        x = webidl.util.IntegerPart(x);
-        if (x < lowerBound || x > upperBound) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
-          });
-        }
-        return x;
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
-        }
-        return x;
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
       }
-      x = webidl.util.IntegerPart(x);
-      x = x % Math.pow(2, bitLength);
-      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
-        return x - Math.pow(2, bitLength);
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+      get [Symbol.toStringTag]() {
+        return "File";
       }
-      return r;
     };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
-        }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
           });
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
-          }
-          seq2.push(converter(value));
+        this[kState] = [];
+      }
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.append";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
-        }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
-          }
-          return result;
-        }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
-          }
-        }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
-        }
-        return V;
-      };
-    };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
-        }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
-          }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
-          }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
-            }
-            dict[key] = value;
-          }
-        }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
-        }
-        return converter(V);
-      };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
-      }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
-      }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      for (let index = 0; index < x.length; index++) {
-        if (x.charCodeAt(index) > 255) {
-          throw new TypeError(
-            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
-          );
-        }
-      }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
-      }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
-      }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
-      }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
-      }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
-        }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
-      }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
-      }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
-      }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url2, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url2.href;
-      }
-      const href = url2.href;
-      const hashLength = url2.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
-    }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
-      }
-      return result;
-    }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
-      }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
-    }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
-        }
-      }
-      return Uint8Array.from(output);
-    }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        return "failure";
-      }
-      if (position.position > input.length) {
-        return "failure";
-      }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
-      }
-      const typeLowercase = type2.toLowerCase();
-      const subtypeLowercase = subtype.toLowerCase();
-      const mimeType = {
-        type: typeLowercase,
-        subtype: subtypeLowercase,
-        /** @type {Map} */
-        parameters: /* @__PURE__ */ new Map(),
-        // https://mimesniff.spec.whatwg.org/#mime-type-essence
-        essence: `${typeLowercase}/${subtypeLowercase}`
-      };
-      while (position.position < input.length) {
-        position.position++;
-        collectASequenceOfCodePoints(
-          // https://fetch.spec.whatwg.org/#http-whitespace
-          (char) => HTTP_WHITESPACE_REGEX.test(char),
-          input,
-          position
-        );
-        let parameterName = collectASequenceOfCodePoints(
-          (char) => char !== ";" && char !== "=",
-          input,
-          position
-        );
-        parameterName = parameterName.toLowerCase();
-        if (position.position < input.length) {
-          if (input[position.position] === ";") {
-            continue;
-          }
-          position.position++;
-        }
-        if (position.position > input.length) {
-          break;
-        }
-        let parameterValue = null;
-        if (input[position.position] === '"') {
-          parameterValue = collectAnHTTPQuotedString(input, position, true);
-          collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-        } else {
-          parameterValue = collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
-          if (parameterValue.length === 0) {
-            continue;
-          }
-        }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
-        }
-      }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
-      }
-      if (data.length % 4 === 1) {
-        return "failure";
-      }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
-      }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
-      }
-      return bytes;
-    }
-    function collectAnHTTPQuotedString(input, position, extractValue) {
-      const positionStart = position.position;
-      let value = "";
-      assert(input[position.position] === '"');
-      position.position++;
-      while (true) {
-        value += collectASequenceOfCodePoints(
-          (char) => char !== '"' && char !== "\\",
-          input,
-          position
-        );
-        if (position.position >= input.length) {
-          break;
-        }
-        const quoteOrBackslash = input[position.position];
-        position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
-            break;
-          }
-          value += input[position.position];
-          position.position++;
-        } else {
-          assert(quoteOrBackslash === '"');
-          break;
-        }
-      }
-      if (extractValue) {
-        return value;
-      }
-      return input.slice(positionStart, position.position);
-    }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
-        }
-        serialization += value;
-      }
-      return serialization;
-    }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
-      }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
-      }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
-    }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
-      }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
-      }
-      return str2.slice(lead, trail + 1);
-    }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
-    "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
-          }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
-    };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
-        };
-      }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
-      }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
-      }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
-      }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
-      }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
-      }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
-      }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
-      }
-      get [Symbol.toStringTag]() {
-        return "File";
-      }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
-        }
-      }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
-          }
-          return value;
-        },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
-          }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
-        }
-      }
-      return bytes;
-    }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
-      }
-      return s.replace(/\r?\n/g, nativeLineEnding);
-    }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
-    }
-    module2.exports = { File: File2, FileLike, isFileLike };
-  }
-});
-
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
-    "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
-          });
-        }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
-        }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0;
         const entry = makeEntry(name, value, filename);
         this[kState].push(entry);
       }
       delete(name) {
         webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
+        const prefix = "FormData.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
         this[kState] = this[kState].filter((entry) => entry.name !== name);
       }
       get(name) {
         webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
+        const prefix = "FormData.get";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
         const idx = this[kState].findIndex((entry) => entry.name === name);
         if (idx === -1) {
           return null;
@@ -26163,27 +26251,30 @@ var require_formdata2 = __commonJS({
       }
       getAll(name) {
         webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
+        const prefix = "FormData.getAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
         return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
       }
       has(name) {
         webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
+        const prefix = "FormData.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
         return this[kState].findIndex((entry) => entry.name === name) !== -1;
       }
       set(name, value, filename = void 0) {
         webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
+        const prefix = "FormData.set";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
         if (arguments.length === 3 && !isBlobLike(value)) {
           throw new TypeError(
             "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
           );
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0;
         const entry = makeEntry(name, value, filename);
         const idx = this[kState].findIndex((entry2) => entry2.name === name);
         if (idx !== -1) {
@@ -26196,220 +26287,460 @@ var require_formdata2 = __commonJS({
           this[kState].push(entry);
         }
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
+      [nodeUtil.inspect.custom](depth, options) {
+        const state = this[kState].reduce((a, b) => {
+          if (a[b.name]) {
+            if (Array.isArray(a[b.name])) {
+              a[b.name].push(b.value);
+            } else {
+              a[b.name] = [a[b.name], b.value];
+            }
+          } else {
+            a[b.name] = b.value;
+          }
+          return a;
+        }, { __proto__: null });
+        options.depth ??= depth;
+        options.colors ??= true;
+        const output = nodeUtil.formatWithOptions(options, state);
+        return `FormData ${output.slice(output.indexOf("]") + 2)}`;
       }
     };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
     Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
       [Symbol.toStringTag]: {
         value: "FormData",
         configurable: true
       }
     });
     function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
       if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
       } else {
         if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+          value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
         }
         if (filename !== void 0) {
           const options = {
             type: value.type,
             lastModified: value.lastModified
           };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+          value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
         }
       }
       return { name, value };
     }
-    module2.exports = { FormData: FormData2 };
+    module2.exports = { FormData: FormData2, makeEntry };
   }
 });
 
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
     "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
       }
-      let stream2 = null;
-      if (object instanceof ReadableStream2) {
-        stream2 = object;
-      } else if (isBlobLike(object)) {
-        stream2 = object.stream();
-      } else {
-        stream2 = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
       }
-      assert(isReadableStreamLike(stream2));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
-      } else if (isArrayBuffer(object)) {
-        source = new Uint8Array(object.slice());
-      } else if (ArrayBuffer.isView(object)) {
-        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
-      } else if (util.isFormDataLike(object)) {
-        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
-        const prefix = `--${boundary}\r
-Content-Disposition: form-data`;
-        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
-        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
-        const blobParts = [];
-        const rn = new Uint8Array([13, 10]);
-        length = 0;
-        let hasUnknownSizeValue = false;
-        for (const [name, value] of object) {
-          if (typeof value === "string") {
-            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
-\r
-${normalizeLinefeeds(value)}\r
-`);
-            blobParts.push(chunk2);
-            length += chunk2.byteLength;
-          } else {
-            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
-Content-Type: ${value.type || "application/octet-stream"}\r
-\r
-`);
-            blobParts.push(chunk2, value, rn);
-            if (typeof value.size === "number") {
-              length += chunk2.byteLength + value.size + rn.byteLength;
-            } else {
-              hasUnknownSizeValue = true;
-            }
-          }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
         }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
         }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
           }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
         }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
         }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
         }
-        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
-      }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
       }
-      if (action != null) {
-        let iterator2;
-        stream2 = new ReadableStream2({
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { Blob: Blob2 } = require("node:buffer");
+    var assert = require("node:assert");
+    var { isErrored, isDisturbed } = require("node:stream");
+    var { isArrayBuffer } = require("node:util/types");
+    var { serializeAMimeType } = require_data_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var textEncoder = new TextEncoder();
+    function noop3() {
+    }
+    var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
+    var streamRegistry;
+    if (hasFinalizationRegistry) {
+      streamRegistry = new FinalizationRegistry((weakRef) => {
+        const stream2 = weakRef.deref();
+        if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
+          stream2.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream2 = null;
+      if (object instanceof ReadableStream) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
+      } else {
+        stream2 = new ReadableStream({
+          async pull(controller) {
+            const buffer = typeof source === "string" ? textEncoder.encode(source) : source;
+            if (buffer.byteLength) {
+              controller.enqueue(buffer);
+            }
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: "bytes"
+        });
+      }
+      assert(isReadableStreamLike(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
+            }
+          }
+        }
+        const chunk = textEncoder.encode(`--${boundary}--\r
+`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream2 = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = new ReadableStream({
           async start() {
             iterator2 = action(object)[Symbol.asyncIterator]();
           },
@@ -26418,10 +26749,14 @@ Content-Type: ${value.type || "application/octet-stream"}\r
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               if (!isErrored(stream2)) {
-                controller.enqueue(new Uint8Array(value));
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
               }
             }
             return controller.desiredSize > 0;
@@ -26429,61 +26764,39 @@ Content-Type: ${value.type || "application/octet-stream"}\r
           async cancel(reason) {
             await iterator2.return();
           },
-          type: void 0
+          type: "bytes"
         });
       }
       const body = { stream: stream2, source, length };
       return [body, type2];
     }
     function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (object instanceof ReadableStream2) {
+      if (object instanceof ReadableStream) {
         assert(!util.isDisturbed(object), "The body has already been consumed.");
         assert(!object.locked, "The stream is locked.");
       }
       return extractBody(object, keepalive);
     }
-    function cloneBody(body) {
+    function cloneBody(instance, body) {
       const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
       body.stream = out1;
       return {
-        stream: finalClone,
+        stream: out2,
         length: body.length,
         source: body.source
       };
     }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream2 = body.stream;
-          if (util.isDisturbed(stream2)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream2.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream2[kBodyUsed] = true;
-          yield* stream2;
-        }
-      }
-    }
     function throwIfAborted(state) {
       if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+        throw new DOMException("The operation was aborted.", "AbortError");
       }
     }
     function bodyMixinMethods(instance) {
       const methods = {
         blob() {
-          return specConsumeBody(this, (bytes) => {
+          return consumeBody(this, (bytes) => {
             let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
+            if (mimeType === null) {
               mimeType = "";
             } else if (mimeType) {
               mimeType = serializeAMimeType(mimeType);
@@ -26492,96 +26805,49 @@ Content-Type: ${value.type || "application/octet-stream"}\r
           }, instance);
         },
         arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
+          return consumeBody(this, (bytes) => {
             return new Uint8Array(bytes).buffer;
           }, instance);
         },
         text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
+          return consumeBody(this, utf8DecodeBytes, instance);
         },
         json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
+          return consumeBody(this, parseJSONFromBytes, instance);
         },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve8, reject) => {
-              busboy.on("finish", resolve8);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  for (const [name, value2] of entries) {
+                    fd.append(name, value2);
+                  }
+                  return fd;
                 }
-                text += streamingDecoder.decode(chunk, { stream: true });
               }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
             }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
-          }
+            throw new TypeError(
+              'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
+            );
+          }, instance);
+        },
+        bytes() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes);
+          }, instance);
         }
       };
       return methods;
@@ -26589,12 +26855,12 @@ Content-Type: ${value.type || "application/octet-stream"}\r
     function mixinBody(prototype) {
       Object.assign(prototype.prototype, bodyMixinMethods(prototype));
     }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
+    async function consumeBody(object, convertBytesToJSValue, instance) {
       webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+      if (bodyUnusable(object)) {
+        throw new TypeError("Body is unusable: Body has already been read");
       }
+      throwIfAborted(object[kState]);
       const promise = createDeferredPromise();
       const errorSteps = (error3) => promise.reject(error3);
       const successSteps = (data) => {
@@ -26605,1104 +26871,1609 @@ Content-Type: ${value.type || "application/octet-stream"}\r
         }
       };
       if (object[kState].body == null) {
-        successSteps(new Uint8Array());
+        successSteps(Buffer.allocUnsafe(0));
         return promise.promise;
       }
       await fullyReadBody(object[kState].body, successSteps, errorSteps);
       return promise.promise;
     }
-    function bodyUnusable(body) {
+    function bodyUnusable(object) {
+      const body = object[kState].body;
       return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
-      }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
-      }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
     function parseJSONFromBytes(bytes) {
       return JSON.parse(utf8DecodeBytes(bytes));
     }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
       }
-      return parseMIMEType(contentType);
+      return mimeType;
     }
     module2.exports = {
       extractBody,
       safelyExtractBody,
       cloneBody,
-      mixinBody
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
     };
   }
 });
 
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
     "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
     var {
-      InvalidArgumentError,
-      NotSupportedError
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
     } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kParser,
+      kBlocking,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kMaxRequests,
+      kCounter,
+      kMaxResponseSize,
+      kOnError,
+      kResume,
+      kHTTPContext
+    } = require_symbols6();
+    var constants = require_constants7();
+    var EMPTY_BUF = Buffer.alloc(0);
+    var FastBuffer = Buffer[Symbol.species];
+    var addListener = util.addListener;
+    var removeAllListeners = util.removeAllListeners;
     var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path16,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path16 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path16) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageComplete() || 0;
+          }
+          /* eslint-enable camelcase */
         }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var USE_NATIVE_TIMER = 0;
+    var USE_FAST_TIMER = 1;
+    var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
+    var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
+    var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
+      }
+      setTimeout(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
           }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
             } else {
-              this.error = err;
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
             }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path16, query) : path16;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
           }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
-          }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
-          }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
-          }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
+        this.timeoutType = type2;
+      }
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
         }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
         }
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
           }
+          this.execute(chunk);
         }
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
+          }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
         }
-        if (this[kHandler].onRequestSent) {
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
+        try {
+          let ret;
           try {
-            return this[kHandler].onRequestSent();
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
           } catch (err) {
-            this.abort(err);
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
+          }
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
+            }
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
           }
+        } catch (err) {
+          util.destroy(socket, err);
         }
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
-        }
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        this.timeout && timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
+        request2.onResponseStarted();
       }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
+        this.trackHeader(buf.length);
       }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        const key = this.headers[len - 2];
+        if (key.length === 10) {
+          const headerName = util.bufferToLowerCasedHeaderName(key);
+          if (headerName === "keep-alive") {
+            this.keepAlive += buf.toString();
+          } else if (headerName === "connection") {
+            this.connection += buf.toString();
+          }
+        } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") {
+          this.contentLength += buf.toString();
+        }
+        this.trackHeader(buf.length);
       }
-      onComplete(trailers) {
-        this.onFinally();
-        assert(!this.aborted);
-        this.completed = true;
-        if (channels.trailers.hasSubscribers) {
-          channels.trailers.publish({ request: this, trailers });
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
         }
+      }
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        assert(client[kSocket] === socket);
+        assert(!socket.destroyed);
+        assert(!this.paused);
+        assert((headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        removeAllListeners(socket);
+        client[kSocket] = null;
+        client[kHTTPContext] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
         try {
-          return this[kHandler].onComplete(trailers);
+          request2.onUpgrade(statusCode, headers, socket);
         } catch (err) {
-          this.onError(err);
+          util.destroy(socket, err);
         }
+        client[kResume]();
       }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (this.aborted) {
-          return;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
-      }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
         }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
         }
-      }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
-      }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
-      }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
+        assert(this.timeoutType === TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
+        }
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        assert((this.headers.length & 1) === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
+            );
+            if (timeout <= 0) {
+              socket[kReset] = true;
+            } else {
+              client[kKeepAliveTimeoutValue] = timeout;
+            }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
           }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+        } else {
+          socket[kReset] = true;
+        }
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
+        }
+        if (request2.method === "HEAD") {
+          return 1;
+        }
+        if (statusCode < 200) {
+          return 1;
+        }
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          client[kResume]();
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        return request2;
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
+        }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
+        }
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
+        }
+        if (upgrade) {
+          return;
+        }
+        assert(statusCode >= 100);
+        assert((this.headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert(client[kRunning] === 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] == null || client[kPipelining] === 1) {
+          setImmediate(() => client[kResume]());
+        } else {
+          client[kResume]();
         }
-        return headers;
       }
     };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client, paused } = parser.deref();
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
     }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
       }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
+      socket[kNoRef] = false;
+      socket[kWriting] = false;
+      socket[kReset] = false;
+      socket[kBlocking] = false;
+      socket[kParser] = new Parser(client, socket, llhttpInstance);
+      addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        const parser = this[kParser];
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
         }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+      });
+      addListener(socket, "end", function() {
+        const parser = this[kParser];
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      addListener(socket, "close", function() {
+        const client2 = this[kClient];
+        const parser = this[kParser];
+        if (parser) {
+          if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+            parser.onMessageComplete();
+          }
+          this[kParser].destroy();
+          this[kParser] = null;
+        }
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client2[kSocket] = null;
+        client2[kHTTPContext] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+          const request2 = client2[kQueue][client2[kRunningIdx]];
+          client2[kQueue][client2[kRunningIdx]++] = null;
+          util.errorRequest(client2, request2, err);
+        }
+        client2[kPendingIdx] = client2[kRunningIdx];
+        assert(client2[kRunning] === 0);
+        client2.emit("disconnect", client2[kUrl], [client2], err);
+        client2[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h1",
+        defaultPipelining: 1,
+        write(...args) {
+          return writeH1(client, ...args);
+        },
+        resume() {
+          resumeH1(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy(request2) {
+          if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+            return true;
+          }
+          if (request2) {
+            if (client[kRunning] > 0 && !request2.idempotent) {
+              return true;
+            }
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
+            }
+            if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) {
+              return true;
             }
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
+          return false;
+        }
+      };
+    }
+    function resumeH1(client) {
+      const socket = client[kSocket];
+      if (socket && !socket.destroyed) {
+        if (client[kSize] === 0) {
+          if (!socket[kNoRef] && socket.unref) {
+            socket.unref();
+            socket[kNoRef] = true;
+          }
+        } else if (socket[kNoRef] && socket.ref) {
+          socket.ref();
+          socket[kNoRef] = false;
+        }
+        if (client[kSize] === 0) {
+          if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
+            socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
+          }
+        } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+          if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+            const request2 = client[kQueue][client[kRunningIdx]];
+            const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];
+            socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          }
         }
       }
     }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH1(client, request2) {
+      const { method, path: path16, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
       }
-      close() {
-        throw new Error("not implemented");
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      destroy() {
-        throw new Error("not implemented");
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
       }
-    };
-    module2.exports = Dispatcher;
-  }
-});
-
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
-    "use strict";
-    var Dispatcher = require_dispatcher2();
-    var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
-      constructor() {
-        super();
-        this[kDestroyed] = false;
-        this[kOnDestroyed] = null;
-        this[kClosed] = false;
-        this[kOnClosed] = [];
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
       }
-      get destroyed() {
-        return this[kDestroyed];
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      get closed() {
-        return this[kClosed];
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      get interceptors() {
-        return this[kInterceptors];
+      if (request2.aborted) {
+        return false;
       }
-      set interceptors(newInterceptors) {
-        if (newInterceptors) {
-          for (let i = newInterceptors.length - 1; i >= 0; i--) {
-            const interceptor = this[kInterceptors][i];
-            if (typeof interceptor !== "function") {
-              throw new InvalidArgumentError("interceptor must be an function");
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path16} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
+      } else {
+        header += client[kHostHeader];
+      }
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
+      }
+      if (Array.isArray(headers)) {
+        for (let n = 0; n < headers.length; n += 2) {
+          const key = headers[n + 0];
+          const val = headers[n + 1];
+          if (Array.isArray(val)) {
+            for (let i = 0; i < val.length; i++) {
+              header += `${key}: ${val[i]}\r
+`;
             }
+          } else {
+            header += `${key}: ${val}\r
+`;
           }
         }
-        this[kInterceptors] = newInterceptors;
       }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve8, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve8(data);
-            });
-          });
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
           return;
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
           }
-          return;
+        } catch (err) {
+          util.destroy(this, err);
         }
-        this[kClosed] = true;
-        this[kOnClosed].push(callback);
-        const onClosed = () => {
-          const callbacks = this[kOnClosed];
-          this[kOnClosed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
-          }
-        };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
         }
-        if (callback === void 0) {
-          return new Promise((resolve8, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve8(data);
-            });
-          });
+        if (body.resume) {
+          body.resume();
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
+      };
+      const onFinished = function(err) {
+        if (finished) {
           return;
         }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
         if (!err) {
-          err = new ClientDestroyedError();
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
         }
-        this[kDestroyed] = true;
-        this[kOnDestroyed] = this[kOnDestroyed] || [];
-        this[kOnDestroyed].push(callback);
-        const onDestroyed = () => {
-          const callbacks = this[kOnDestroyed];
-          this[kOnDestroyed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
+        }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
+      }
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
+      }
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
           }
-        };
-        this[kDestroy](err).then(() => {
-          queueMicrotask(onDestroyed);
-        });
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      [kInterceptedDispatch](opts, handler2) {
-        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
-          this[kInterceptedDispatch] = this[kDispatch];
-          return this[kDispatch](opts, handler2);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
         }
-        try {
-          if (!opts || typeof opts !== "object") {
-            throw new InvalidArgumentError("opts must be an object.");
-          }
-          if (this[kDestroyed] || this[kOnDestroyed]) {
-            throw new ClientDestroyedError();
-          }
-          if (this[kClosed]) {
-            throw new ClientClosedError();
+      }
+      const waitForDrain = () => new Promise((resolve8, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve8;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
           }
-          return this[kInterceptedDispatch](opts, handler2);
-        } catch (err) {
-          if (typeof handler2.onError !== "function") {
-            throw new InvalidArgumentError("invalid onError method");
+          if (!writer.write(chunk)) {
+            await waitForDrain();
           }
-          handler2.onError(err);
-          return false;
         }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-    };
-    module2.exports = DispatcherBase;
-  }
-});
-
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
-    "use strict";
-    var net = require("net");
-    var assert = require("assert");
-    var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._sessionRegistry = new global.FinalizationRegistry((key) => {
-            if (this._sessionCache.size < this._maxCachedSessions) {
-              return;
-            }
-            const ref = this._sessionCache.get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this._sessionCache.delete(key);
-            }
-          });
+    }
+    var AsyncWriter = class {
+      constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        this.abort = abort;
+        socket[kWriting] = true;
+      }
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
+        if (socket.destroyed) {
+          return false;
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
+        }
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
+          } else {
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          }
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
+            }
           }
-          this._sessionCache.set(sessionKey, session);
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+        return ret;
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...options,
-            servername,
-            session,
-            localAddress,
-            // TODO(HTTP/2): Add support for h2c
-            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
-            socket: httpSocket,
-            // upgrade socket connection
-            port: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
-          });
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        if (socket.destroyed) {
+          return;
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            socket.write(`${header}\r
+`, "latin1");
           }
-        });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
-      }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
+        }
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           } else {
-            onConnectTimeout2();
+            process.emitWarning(new RequestContentLengthMismatchError());
           }
-        });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
         }
-      });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
+        }
+        client[kResume]();
+      }
+      destroy(err) {
+        const { socket, client, abort } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          abort(err);
+        }
+      }
+    };
+    module2.exports = connectH1;
   }
 });
 
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
-    var TYPE;
-    (function(TYPE2) {
-      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
-      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
-      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
-    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
-    var FLAGS;
-    (function(FLAGS2) {
-      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
-      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
-      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
-      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
-      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
-      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
-      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
-      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
-      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
-    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
-    var LENIENT_FLAGS;
-    (function(LENIENT_FLAGS2) {
-      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
-    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
-    var METHODS;
-    (function(METHODS2) {
-      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
-      METHODS2[METHODS2["GET"] = 1] = "GET";
-      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
-      METHODS2[METHODS2["POST"] = 3] = "POST";
-      METHODS2[METHODS2["PUT"] = 4] = "PUT";
-      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
-      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
-      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
-      METHODS2[METHODS2["COPY"] = 8] = "COPY";
-      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
-      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
-      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
-      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
-      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
-      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
-      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
-      METHODS2[METHODS2["BIND"] = 16] = "BIND";
-      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
-      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
-      METHODS2[METHODS2["ACL"] = 19] = "ACL";
-      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
-      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
-      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
-      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
-      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
-      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
-      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
-      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
-      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
-      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
-      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
-      METHODS2[METHODS2["LINK"] = 31] = "LINK";
-      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
-      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
-      METHODS2[METHODS2["PRI"] = 34] = "PRI";
-      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
-      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
-      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
-      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
-      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
-      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
-      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
-      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
-      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
-      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
-      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
-    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
-    exports2.METHODS_HTTP = [
-      METHODS.DELETE,
-      METHODS.GET,
-      METHODS.HEAD,
-      METHODS.POST,
-      METHODS.PUT,
-      METHODS.CONNECT,
-      METHODS.OPTIONS,
-      METHODS.TRACE,
-      METHODS.COPY,
-      METHODS.LOCK,
-      METHODS.MKCOL,
-      METHODS.MOVE,
-      METHODS.PROPFIND,
-      METHODS.PROPPATCH,
-      METHODS.SEARCH,
-      METHODS.UNLOCK,
-      METHODS.BIND,
-      METHODS.REBIND,
-      METHODS.UNBIND,
-      METHODS.ACL,
-      METHODS.REPORT,
-      METHODS.MKACTIVITY,
-      METHODS.CHECKOUT,
-      METHODS.MERGE,
-      METHODS["M-SEARCH"],
-      METHODS.NOTIFY,
-      METHODS.SUBSCRIBE,
-      METHODS.UNSUBSCRIBE,
-      METHODS.PATCH,
-      METHODS.PURGE,
-      METHODS.MKCALENDAR,
-      METHODS.LINK,
-      METHODS.UNLINK,
-      METHODS.PRI,
-      // TODO(indutny): should we allow it with HTTP?
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_ICE = [
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_RTSP = [
-      METHODS.OPTIONS,
-      METHODS.DESCRIBE,
-      METHODS.ANNOUNCE,
-      METHODS.SETUP,
-      METHODS.PLAY,
-      METHODS.PAUSE,
-      METHODS.TEARDOWN,
-      METHODS.GET_PARAMETER,
-      METHODS.SET_PARAMETER,
-      METHODS.REDIRECT,
-      METHODS.RECORD,
-      METHODS.FLUSH,
-      // For AirPlay
-      METHODS.GET,
-      METHODS.POST
-    ];
-    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
-    exports2.H_METHOD_MAP = {};
-    Object.keys(exports2.METHOD_MAP).forEach((key) => {
-      if (/^H/.test(key)) {
-        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
+    var util = require_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ Symbol("open streams");
+    var extractBody;
+    var h2ExperimentalWarned = false;
+    var http2;
+    try {
+      http2 = require("node:http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    } = http2;
+    function parseH2Headers(headers) {
+      const result = [];
+      for (const [name, value] of Object.entries(headers)) {
+        if (Array.isArray(value)) {
+          for (const subvalue of value) {
+            result.push(Buffer.from(name), Buffer.from(subvalue));
+          }
+        } else {
+          result.push(Buffer.from(name), Buffer.from(value));
+        }
+      }
+      return result;
     }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.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
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
+    async function connectH2(client, socket) {
+      client[kSocket] = socket;
+      if (!h2ExperimentalWarned) {
+        h2ExperimentalWarned = true;
+        process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+          code: "UNDICI-H2"
+        });
+      }
+      const session = http2.connect(client[kUrl], {
+        createConnection: () => socket,
+        peerMaxConcurrentStreams: client[kMaxConcurrentStreams]
+      });
+      session[kOpenStreams] = 0;
+      session[kClient] = client;
+      session[kSocket] = socket;
+      util.addListener(session, "error", onHttp2SessionError);
+      util.addListener(session, "frameError", onHttp2FrameError);
+      util.addListener(session, "end", onHttp2SessionEnd);
+      util.addListener(session, "goaway", onHTTP2GoAway);
+      util.addListener(session, "close", function() {
+        const { [kClient]: client2 } = this;
+        const { [kSocket]: socket2 } = client2;
+        const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2));
+        client2[kHTTP2Session] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        }
+      });
+      session.unref();
+      client[kHTTP2Session] = session;
+      socket[kHTTP2Session] = session;
+      util.addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      util.addListener(socket, "end", function() {
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      util.addListener(socket, "close", function() {
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client[kSocket] = null;
+        if (this[kHTTP2Session] != null) {
+          this[kHTTP2Session].destroy(err);
+        }
+        client[kPendingIdx] = client[kRunningIdx];
+        assert(client[kRunning] === 0);
+        client.emit("disconnect", client[kUrl], [client], err);
+        client[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h2",
+        defaultPipelining: Infinity,
+        write(...args) {
+          return writeH2(client, ...args);
+        },
+        resume() {
+          resumeH2(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy() {
+          return false;
+        }
+      };
     }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+    function resumeH2(client) {
+      const socket = client[kSocket];
+      if (socket?.destroyed === false) {
+        if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {
+          socket.unref();
+          client[kHTTP2Session].unref();
+        } else {
+          socket.ref();
+          client[kHTTP2Session].ref();
+        }
       }
     }
-    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
-    exports2.MAJOR = exports2.NUM_MAP;
-    exports2.MINOR = exports2.MAJOR;
-    var HEADER_STATE;
-    (function(HEADER_STATE2) {
-      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
-      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
-      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
-    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
-    exports2.SPECIAL_HEADERS = {
-      "connection": HEADER_STATE.CONNECTION,
-      "content-length": HEADER_STATE.CONTENT_LENGTH,
-      "proxy-connection": HEADER_STATE.CONNECTION,
-      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
-      "upgrade": HEADER_STATE.UPGRADE
-    };
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
+      }
+    }
+    function onHttp2SessionEnd() {
+      const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket]));
+      this.destroy(err);
+      util.destroy(this[kSocket], err);
+    }
+    function onHTTP2GoAway(code) {
+      const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this));
+      const client = this[kClient];
+      client[kSocket] = null;
+      client[kHTTPContext] = null;
+      if (this[kHTTP2Session] != null) {
+        this[kHTTP2Session].destroy(err);
+        this[kHTTP2Session] = null;
+      }
+      util.destroy(this[kSocket], err);
+      if (client[kRunningIdx] < client[kQueue].length) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        util.errorRequest(client, request2, err);
+        client[kPendingIdx] = client[kRunningIdx];
+      }
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      client[kResume]();
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH2(client, request2) {
+      const session = client[kHTTP2Session];
+      const { method, path: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
+            }
+          }
+        } else {
+          headers[key] = val;
+        }
+      }
+      let stream2;
+      const { hostname, port } = client[kUrl];
+      headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
+      headers[HTTP2_HEADER_METHOD] = method;
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream2 != null) {
+          util.destroy(stream2, err);
+        }
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
+        }
+        stream2.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
+        });
+        return true;
+      }
+      headers[HTTP2_HEADER_PATH] = path16;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      }
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      }
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
+      }
+      ++session[kOpenStreams];
+      stream2.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        request2.onResponseStarted();
+        if (request2.aborted) {
+          const err = new RequestAbortedError();
+          util.errorRequest(client, request2, err);
+          util.destroy(stream2, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+        stream2.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream2.pause();
+          }
+        });
+      });
+      stream2.once("end", () => {
+        if (stream2.state?.state == null || stream2.state.state < 6) {
+          request2.onComplete([]);
+        }
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
+      });
+      stream2.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        abort(err);
+      });
+      stream2.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream2,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream2,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream2,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream2,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
+      }
+    }
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
+      }
+    }
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
+      }
+    }
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      }
+    }
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
+      }
+      const waitForDrain = () => new Promise((resolve8, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve8;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
+          }
+        }
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
+      }
+    }
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
     var util = require_util9();
     var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
+    var EE = require("node:events");
     var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
     var kBody = /* @__PURE__ */ Symbol("body");
     var BodyAsyncIterable = class {
@@ -27729,6 +28500,7 @@ var require_RedirectHandler = __commonJS({
         this.maxRedirections = maxRedirections;
         this.handler = handler2;
         this.history = [];
+        this.redirectionLimitReached = false;
         if (util.isStream(this.opts.body)) {
           if (util.bodyLength(this.opts.body) === 0) {
             this.opts.body.on("data", function() {
@@ -27759,6 +28531,14 @@ var require_RedirectHandler = __commonJS({
       }
       onHeaders(statusCode, headers, resume, statusText) {
         this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
+          if (this.request) {
+            this.request.abort(new Error("max redirects"));
+          }
+          this.redirectionLimitReached = true;
+          this.abort(new Error("max redirects"));
+          return;
+        }
         if (this.opts.origin) {
           this.history.push(new URL(this.opts.path, this.opts.origin));
         }
@@ -27803,7 +28583,7 @@ var require_RedirectHandler = __commonJS({
         return null;
       }
       for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
           return headers[i + 1];
         }
       }
@@ -27844,11 +28624,11 @@ var require_RedirectHandler = __commonJS({
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
+    var RedirectHandler = require_redirect_handler2();
     function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
       return (dispatch) => {
         return function Intercept(opts, handler2) {
@@ -27866,73 +28646,43 @@ var require_redirectInterceptor = __commonJS({
   }
 });
 
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
-  }
-});
-
-// node_modules/undici/lib/client.js
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
 var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
     var util = require_util9();
-    var timers = require_timers2();
+    var { channels } = require_diagnostics2();
     var Request = require_request3();
     var DispatcherBase = require_dispatcher_base2();
     var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
       InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
       InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
       ClientDestroyedError
     } = require_errors2();
     var buildConnector = require_connect2();
     var {
       kUrl,
-      kReset,
       kServerName,
       kClient,
       kBusy,
-      kParser,
       kConnect,
-      kBlocking,
       kResuming,
       kRunning,
       kPending,
       kSize,
-      kWriting,
       kQueue,
       kConnected,
       kConnecting,
       kNeedDrain,
-      kNoRef,
       kKeepAliveDefaultTimeout,
       kHostHeader,
       kPendingIdx,
       kRunningIdx,
       kError,
       kPipelining,
-      kSocket,
       kKeepAliveTimeoutValue,
       kMaxHeadersSize,
       kKeepAliveMaxTimeout,
@@ -27950,53 +28700,25 @@ var require_client2 = __commonJS({
       kInterceptors,
       kLocalAddress,
       kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
     } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("http2");
-    } catch {
-      http2 = { constants: {} };
-    }
-    var {
-      constants: {
-        HTTP2_HEADER_AUTHORITY,
-        HTTP2_HEADER_METHOD,
-        HTTP2_HEADER_PATH,
-        HTTP2_HEADER_SCHEME,
-        HTTP2_HEADER_CONTENT_LENGTH,
-        HTTP2_HEADER_EXPECT,
-        HTTP2_HEADER_STATUS
-      }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
     var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
+    var noop3 = () => {
+    };
+    function getPipelining(client) {
+      return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
     }
     var Client = class extends DispatcherBase {
       /**
        *
        * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
+       * @param {import('../../types/client.js').Client.Options} options
        */
       constructor(url2, {
         interceptors,
@@ -28025,8 +28747,8 @@ var require_client2 = __commonJS({
         autoSelectFamily,
         autoSelectFamilyAttemptTimeout,
         // h2
-        allowH2,
-        maxConcurrentStreams
+        maxConcurrentStreams,
+        allowH2
       } = {}) {
         super();
         if (keepAlive !== void 0) {
@@ -28090,7 +28812,7 @@ var require_client2 = __commonJS({
           throw new InvalidArgumentError("allowH2 must be a valid boolean value");
         }
         if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
         }
         if (typeof connect2 !== "function") {
           connect2 = buildConnector({
@@ -28099,19 +28821,28 @@ var require_client2 = __commonJS({
             allowH2,
             socketPath,
             timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
             ...connect2
           });
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        if (interceptors?.Client && Array.isArray(interceptors.Client)) {
+          this[kInterceptors] = interceptors.Client;
+          if (!deprecatedInterceptorWarned) {
+            deprecatedInterceptorWarned = true;
+            process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", {
+              code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"
+            });
+          }
+        } else {
+          this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })];
+        }
         this[kUrl] = util.parseOrigin(url2);
         this[kConnector] = connect2;
-        this[kSocket] = null;
         this[kPipelining] = pipelining != null ? pipelining : 1;
         this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
         this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
         this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
         this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
         this[kServerName] = null;
         this[kLocalAddress] = localAddress != null ? localAddress : null;
@@ -28126,26 +28857,20 @@ var require_client2 = __commonJS({
         this[kMaxRequests] = maxRequestsPerClient;
         this[kClosedResolve] = null;
         this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
+        this[kHTTPContext] = null;
         this[kQueue] = [];
         this[kRunningIdx] = 0;
         this[kPendingIdx] = 0;
+        this[kResume] = (sync) => resume(this, sync);
+        this[kOnError] = (err) => onError(this, err);
       }
       get pipelining() {
         return this[kPipelining];
       }
       set pipelining(value) {
         this[kPipelining] = value;
-        resume(this, true);
+        this[kResume](true);
       }
       get [kPending]() {
         return this[kQueue].length - this[kPendingIdx];
@@ -28157,11 +28882,12 @@ var require_client2 = __commonJS({
         return this[kQueue].length - this[kRunningIdx];
       }
       get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
       get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
       /* istanbul ignore: only used for test */
       [kConnect](cb) {
@@ -28170,14 +28896,14 @@ var require_client2 = __commonJS({
       }
       [kDispatch](opts, handler2) {
         const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        const request2 = new Request(origin, opts, handler2);
         this[kQueue].push(request2);
         if (this[kResuming]) {
         } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
           this[kResuming] = 1;
-          process.nextTick(resume, this);
+          queueMicrotask(() => resume(this));
         } else {
-          resume(this, true);
+          this[kResume](true);
         }
         if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
           this[kNeedDrain] = 2;
@@ -28186,10 +28912,10 @@ var require_client2 = __commonJS({
       }
       async [kClose]() {
         return new Promise((resolve8) => {
-          if (!this[kSize]) {
-            resolve8(null);
-          } else {
+          if (this[kSize]) {
             this[kClosedResolve] = resolve8;
+          } else {
+            resolve8(null);
           }
         });
       }
@@ -28198,570 +28924,40 @@ var require_client2 = __commonJS({
           const requests = this[kQueue].splice(this[kPendingIdx]);
           for (let i = 0; i < requests.length; i++) {
             const request2 = requests[i];
-            errorRequest2(this, request2, err);
+            util.errorRequest(this, request2, err);
           }
           const callback = () => {
             if (this[kClosedResolve]) {
               this[kClosedResolve]();
               this[kClosedResolve] = null;
             }
-            resolve8();
+            resolve8(null);
           };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            util.destroy(this[kSocket].on("close", callback), err);
+            queueMicrotask(callback);
           }
-          resume(this);
+          this[kResume]();
         });
       }
     };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
         const requests = client[kQueue].splice(client[kRunningIdx]);
         for (let i = 0; i < requests.length; i++) {
           const request2 = requests[i];
-          errorRequest2(this, request2, err);
+          util.errorRequest(client, request2, err);
         }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+        assert(client[kSize] === 0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
-    }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
-      try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
-      }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
-          }
-          /* eslint-enable camelcase */
-        }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: exports3 }) {
-        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
-        this.llhttp = exports3;
-        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
-        this.client = client;
-        this.socket = socket;
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.statusCode = null;
-        this.statusText = "";
-        this.upgrade = false;
-        this.headers = [];
-        this.headersSize = 0;
-        this.headersMaxSize = client[kMaxHeadersSize];
-        this.shouldKeepAlive = false;
-        this.paused = false;
-        this.resume = this.resume.bind(this);
-        this.bytesRead = 0;
-        this.keepAlive = "";
-        this.contentLength = "";
-        this.connection = "";
-        this.maxResponseSize = client[kMaxResponseSize];
-      }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
-          } else {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-      }
-      resume() {
-        if (this.socket.destroyed || !this.paused) {
-          return;
-        }
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_resume(this.ptr);
-        assert(this.timeoutType === TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-        this.paused = false;
-        this.execute(this.socket.read() || EMPTY_BUF);
-        this.readMore();
-      }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
-            break;
-          }
-          this.execute(chunk);
-        }
-      }
-      execute(data) {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        assert(!this.paused);
-        const { socket, llhttp } = this;
-        if (data.length > currentBufferSize) {
-          if (currentBufferPtr) {
-            llhttp.free(currentBufferPtr);
-          }
-          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
-          currentBufferPtr = llhttp.malloc(currentBufferSize);
-        }
-        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
-        try {
-          let ret;
-          try {
-            currentBufferRef = data;
-            currentParser = this;
-            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
-          } catch (err) {
-            throw err;
-          } finally {
-            currentParser = null;
-            currentBufferRef = null;
-          }
-          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
-          if (ret === constants.ERROR.PAUSED_UPGRADE) {
-            this.onUpgrade(data.slice(offset));
-          } else if (ret === constants.ERROR.PAUSED) {
-            this.paused = true;
-            socket.unshift(data.slice(offset));
-          } else if (ret !== constants.ERROR.OK) {
-            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
-            let message = "";
-            if (ptr) {
-              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
-              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
-            }
-            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
-          }
-        } catch (err) {
-          util.destroy(socket, err);
-        }
-      }
-      destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
-      }
-      onStatus(buf) {
-        this.statusText = buf.toString();
-      }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
-        }
-      }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        this.trackHeader(buf.length);
-      }
-      onHeaderValue(buf) {
-        let len = this.headers.length;
-        if ((len & 1) === 1) {
-          this.headers.push(buf);
-          len += 1;
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        const key = this.headers[len - 2];
-        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
-        }
-        this.trackHeader(buf.length);
-      }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
-        }
-      }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
-        try {
-          request2.onUpgrade(statusCode, headers, socket);
-        } catch (err) {
-          util.destroy(socket, err);
-        }
-        resume(client);
-      }
-      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
-        const { client, socket, headers, statusText } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
-        }
-        assert(!this.upgrade);
-        assert(this.statusCode < 200);
-        if (statusCode === 100) {
-          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
-          return -1;
-        }
-        if (upgrade && !request2.upgrade) {
-          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
-          return -1;
-        }
-        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
-        this.statusCode = statusCode;
-        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
-        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
-        if (this.statusCode >= 200) {
-          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
-          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
-        }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
-        }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
-            } else {
-              client[kKeepAliveTimeoutValue] = timeout;
-            }
-          } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
-          }
-        } else {
-          socket[kReset] = true;
-        }
-        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
-        if (request2.aborted) {
-          return -1;
-        }
-        if (request2.method === "HEAD") {
-          return 1;
-        }
-        if (statusCode < 200) {
-          return 1;
-        }
-        if (socket[kBlocking]) {
-          socket[kBlocking] = false;
-          resume(client);
-        }
-        return pause ? constants.ERROR.PAUSED : 0;
-      }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
-        }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
-        }
-      }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
-          return;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
-        }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
-        }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
-        }
-      }
-    };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
-      }
-    }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
-      }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
-      }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
-      }
-    }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
-      }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
-    }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-        }
-        this[kParser].destroy();
-        this[kParser] = null;
-      }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
     }
     async function connect(client) {
       assert(!client[kConnecting]);
-      assert(!client[kSocket]);
+      assert(!client[kHTTPContext]);
       let { host, hostname, protocol, port } = client[kUrl];
       if (hostname[0] === "[") {
         const idx = hostname.indexOf("]");
@@ -28778,6 +28974,7 @@ var require_client2 = __commonJS({
             hostname,
             protocol,
             port,
+            version: client[kHTTPContext]?.version,
             servername: client[kServerName],
             localAddress: client[kLocalAddress]
           },
@@ -28802,52 +28999,21 @@ var require_client2 = __commonJS({
           });
         });
         if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
           return;
         }
-        client[kConnecting] = false;
         assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
-          }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
-          });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
-          }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
+        try {
+          client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket);
+        } catch (err) {
+          socket.destroy().on("error", noop3);
+          throw err;
         }
+        client[kConnecting] = false;
         socket[kCounter] = 0;
         socket[kMaxRequests] = client[kMaxRequests];
         socket[kClient] = client;
         socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
         if (channels.connected.hasSubscribers) {
           channels.connected.publish({
             connectParams: {
@@ -28855,6 +29021,7 @@ var require_client2 = __commonJS({
               hostname,
               protocol,
               port,
+              version: client[kHTTPContext]?.version,
               servername: client[kServerName],
               localAddress: client[kLocalAddress]
             },
@@ -28875,6 +29042,7 @@ var require_client2 = __commonJS({
               hostname,
               protocol,
               port,
+              version: client[kHTTPContext]?.version,
               servername: client[kServerName],
               localAddress: client[kLocalAddress]
             },
@@ -28886,14 +29054,14 @@ var require_client2 = __commonJS({
           assert(client[kRunning] === 0);
           while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
             const request2 = client[kQueue][client[kPendingIdx]++];
-            errorRequest2(client, request2, err);
+            util.errorRequest(client, request2, err);
           }
         } else {
           onError(client, err);
         }
         client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
+      client[kResume]();
     }
     function emitDrain(client) {
       client[kNeedDrain] = 0;
@@ -28923,35 +29091,15 @@ var require_client2 = __commonJS({
           client[kClosedResolve] = null;
           return;
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
-            }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
-            }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
-            }
-          }
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
         if (client[kBusy]) {
           client[kNeedDrain] = 2;
         } else if (client[kNeedDrain] === 2) {
           if (sync) {
             client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
+            queueMicrotask(() => emitDrain(client));
           } else {
             emitDrain(client);
           }
@@ -28960,7 +29108,7 @@ var require_client2 = __commonJS({
         if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
           return;
         }
         const request2 = client[kQueue][client[kPendingIdx]];
@@ -28969,909 +29117,320 @@ var require_client2 = __commonJS({
             return;
           }
           client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
-          }
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
         }
         if (client[kConnecting]) {
           return;
         }
-        if (!socket && !client[kHTTP2Session]) {
+        if (!client[kHTTPContext]) {
           connect(client);
           return;
         }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
-        }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
-        }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        if (client[kHTTPContext].destroyed) {
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
+        if (client[kHTTPContext].busy(request2)) {
           return;
         }
-        if (!request2.aborted && write(client, request2)) {
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
           client[kPendingIdx]++;
         } else {
           client[kQueue].splice(client[kPendingIdx], 1);
         }
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
+    module2.exports = Client;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
+    "use strict";
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
+      constructor() {
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-      const { body, method, path: path16, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
+      }
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
+      }
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
+        this.head.push(data);
       }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
+        }
+        return next;
       }
-      if (request2.aborted) {
-        return false;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      get connected() {
+        return this[kPool][kConnected];
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+      get free() {
+        return this[kPool][kFree];
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      get pending() {
+        return this[kPool][kPending];
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+      get queued() {
+        return this[kPool][kQueued];
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      get running() {
+        return this[kPool][kRunning];
       }
-      let header = `${method} ${path16} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      get size() {
+        return this[kPool][kSize];
       }
-      if (upgrade) {
-        header += `connection: upgrade\r
-upgrade: ${upgrade}\r
-`;
-      } else if (client[kPipelining] && !socket[kReset]) {
-        header += "connection: keep-alive\r\n";
-      } else {
-        header += "connection: close\r\n";
+    };
+    module2.exports = PoolStats;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
+      constructor() {
+        super();
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
+            }
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
+          }
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
+          }
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+          }
+        };
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      if (headers) {
-        header += headers;
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      if (!body || bodyLength === 0) {
-        if (contentLength === 0) {
-          socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-        } else {
-          assert(contentLength === null, "no body must not have content length");
-          socket.write(`${header}\r
-`, "latin1");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+      }
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else {
-        assert(false);
+        return ret;
       }
-      return true;
-    }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
+        }
+        return ret;
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
+        }
+        return ret;
       }
-      if (request2.aborted) {
-        return false;
+      get stats() {
+        return this[kStats];
       }
-      let stream2;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream2 = session.request(headers, { endStream: false, signal });
-        if (stream2.id && !stream2.pending) {
-          request2.onUpgrade(null, null, stream2);
-          ++h2State.openStreams;
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
         } else {
-          stream2.once("ready", () => {
-            request2.onUpgrade(null, null, stream2);
-            ++h2State.openStreams;
+          await new Promise((resolve8) => {
+            this[kClosedResolve] = resolve8;
           });
         }
-        stream2.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
-      }
-      headers[HTTP2_HEADER_PATH] = path16;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
-      }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
+        }
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
+        return !this[kNeedDrain];
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          queueMicrotask(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
+            }
+          });
+        }
+        return this;
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
-        stream2.once("continue", writeBodyH2);
-      } else {
-        stream2 = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
+          }
         });
-        writeBodyH2();
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
-      ++h2State.openStreams;
-      stream2.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream2.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream2.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      stream2.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream2.cork();
-          stream2.write(body);
-          stream2.uncork();
-          stream2.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream2,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream2,
-              header: "",
-              socket: client[kSocket]
-            });
-          }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream2,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream2,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
-        }
-      }
-    }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
-      }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
-          return;
-        }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
-          try {
-            writer.end();
-          } catch (er) {
-            err = er;
-          }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
-        } else {
-          util.destroy(body);
-        }
-      };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
-    }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
-      }
-    }
-    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
-      let callback = null;
-      function onDrain() {
-        if (callback) {
-          const cb = callback;
-          callback = null;
-          cb();
-        }
-      }
-      const waitForDrain = () => new Promise((resolve8, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve8;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
-      }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
-        }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
-      }
-    }
-    var AsyncWriter = class {
-      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
-        this.socket = socket;
-        this.request = request2;
-        this.contentLength = contentLength;
-        this.client = client;
-        this.bytesWritten = 0;
-        this.expectsPayload = expectsPayload;
-        this.header = header;
-        socket[kWriting] = true;
-      }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
-        }
-        if (socket.destroyed) {
-          return false;
-        }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
-        }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          }
-          process.emitWarning(new RequestContentLengthMismatchError());
-        }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
-          }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
-          } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          }
-        }
-        if (contentLength === null) {
-          socket.write(`\r
-${len.toString(16)}\r
-`, "latin1");
-        }
-        this.bytesWritten += len;
-        const ret = socket.write(chunk);
-        socket.uncork();
-        request2.onBodySent(chunk);
-        if (!ret) {
-          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-            if (socket[kParser].timeout.refresh) {
-              socket[kParser].timeout.refresh();
-            }
-          }
-        }
-        return ret;
-      }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
-        }
-        if (socket.destroyed) {
-          return;
-        }
-        if (bytesWritten === 0) {
-          if (expectsPayload) {
-            socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-          } else {
-            socket.write(`${header}\r
-`, "latin1");
-          }
-        } else if (contentLength === null) {
-          socket.write("\r\n0\r\n\r\n", "latin1");
-        }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
-          }
-        }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
-          }
-        }
-        resume(client);
-      }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
-        }
-      }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
-      }
-    }
-    module2.exports = Client;
-  }
-});
-
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
-    "use strict";
-    var kSize = 2048;
-    var kMask = kSize - 1;
-    var FixedCircularBuffer = class {
-      constructor() {
-        this.bottom = 0;
-        this.top = 0;
-        this.list = new Array(kSize);
-        this.next = null;
-      }
-      isEmpty() {
-        return this.top === this.bottom;
-      }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
-      }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
-      }
-      shift() {
-        const nextItem = this.list[this.bottom];
-        if (nextItem === void 0)
-          return null;
-        this.list[this.bottom] = void 0;
-        this.bottom = this.bottom + 1 & kMask;
-        return nextItem;
-      }
-    };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
-      }
-      isEmpty() {
-        return this.head.isEmpty();
-      }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
-        }
-        this.head.push(data);
-      }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
-        }
-        return next;
-      }
-    };
-  }
-});
-
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
-      }
-      get connected() {
-        return this[kPool][kConnected];
-      }
-      get free() {
-        return this[kPool][kFree];
-      }
-      get pending() {
-        return this[kPool][kPending];
-      }
-      get queued() {
-        return this[kPool][kQueued];
-      }
-      get running() {
-        return this[kPool][kRunning];
-      }
-      get size() {
-        return this[kPool][kSize];
-      }
-    };
-    module2.exports = PoolStats;
-  }
-});
-
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
-    "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ Symbol("stats");
-    var PoolBase = class extends DispatcherBase {
-      constructor() {
-        super();
-        this[kQueue] = new FixedQueue();
-        this[kClients] = [];
-        this[kQueued] = 0;
-        const pool = this;
-        this[kOnDrain] = function onDrain(origin, targets) {
-          const queue = pool[kQueue];
-          let needDrain = false;
-          while (!needDrain) {
-            const item = queue.shift();
-            if (!item) {
-              break;
-            }
-            pool[kQueued]--;
-            needDrain = !this.dispatch(item.opts, item.handler);
-          }
-          this[kNeedDrain] = needDrain;
-          if (!this[kNeedDrain] && pool[kNeedDrain]) {
-            pool[kNeedDrain] = false;
-            pool.emit("drain", origin, [pool, ...targets]);
-          }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
-          }
-        };
-        this[kOnConnect] = (origin, targets) => {
-          pool.emit("connect", origin, [pool, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          pool.emit("disconnect", origin, [pool, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          pool.emit("connectionError", origin, [pool, ...targets], err);
-        };
-        this[kStats] = new PoolStats(this);
-      }
-      get [kBusy]() {
-        return this[kNeedDrain];
-      }
-      get [kConnected]() {
-        return this[kClients].filter((client) => client[kConnected]).length;
-      }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
-      }
-      get [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
-        }
-        return ret;
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
-        }
-        return ret;
-      }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
-      }
-      get stats() {
-        return this[kStats];
-      }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve8) => {
-            this[kClosedResolve] = resolve8;
-          });
-        }
-      }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
-        }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
-      }
-      [kDispatch](opts, handler2) {
-        const dispatcher = this[kGetDispatcher]();
-        if (!dispatcher) {
-          this[kNeedDrain] = true;
-          this[kQueue].push({ opts, handler: handler2 });
-          this[kQueued]++;
-        } else if (!dispatcher.dispatch(opts, handler2)) {
-          dispatcher[kNeedDrain] = true;
-          this[kNeedDrain] = !this[kGetDispatcher]();
-        }
-        return !this[kNeedDrain];
-      }
-      [kAddClient](client) {
-        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-        this[kClients].push(client);
-        if (this[kNeedDrain]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
-      }
-      [kRemoveClient](client) {
-        client.close(() => {
-          const idx = this[kClients].indexOf(client);
-          if (idx !== -1) {
-            this[kClients].splice(idx, 1);
-          }
-        });
-        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
-      }
-    };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
-    "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
-    }
-    var Pool = class extends PoolBase {
-      constructor(origin, {
-        connections,
-        factory = defaultFactory,
-        connect,
-        connectTimeout,
-        tls,
-        maxCachedSessions,
-        socketPath,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        allowH2,
-        ...options
-      } = {}) {
-        super();
-        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
-          throw new InvalidArgumentError("invalid connections");
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
         }
         if (typeof factory !== "function") {
           throw new InvalidArgumentError("factory must be a function.");
@@ -29886,11 +29445,11 @@ var require_pool2 = __commonJS({
             allowH2,
             socketPath,
             timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
             ...connect
           });
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
         this[kConnections] = connections || null;
         this[kUrl] = util.parseOrigin(origin);
         this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
@@ -29906,24 +29465,25 @@ var require_pool2 = __commonJS({
         });
       }
       [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
+          }
         }
         if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
           this[kAddClient](dispatcher);
+          return dispatcher;
         }
-        return dispatcher;
       }
     };
     module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
 var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
     var {
       BalancedPoolMissingUpstreamError,
@@ -29949,8 +29509,13 @@ var require_balanced_pool2 = __commonJS({
     var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
     var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
     function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
+      }
+      return a;
     }
     function defaultFactory(origin, opts) {
       return new Pool(origin, opts);
@@ -29969,7 +29534,7 @@ var require_balanced_pool2 = __commonJS({
         if (typeof factory !== "function") {
           throw new InvalidArgumentError("factory must be a function.");
         }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
         this[kFactory] = factory;
         for (const upstream of upstreams) {
           this.addUpstream(upstream);
@@ -30004,7 +29569,11 @@ var require_balanced_pool2 = __commonJS({
         return this;
       }
       _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
+        }
+        this[kGreatestCommonDivisor] = result;
       }
       removeUpstream(upstream) {
         const upstreamOrigin = parseOrigin(upstream).origin;
@@ -30056,51 +29625,9 @@ var require_balanced_pool2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
-    "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
-      }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
-      }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
-      }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
-        }
-      }
-    };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
-    };
-  }
-});
-
-// node_modules/undici/lib/agent.js
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
 var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
     "use strict";
     var { InvalidArgumentError } = require_errors2();
     var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
@@ -30108,15 +29635,13 @@ var require_agent2 = __commonJS({
     var Pool = require_pool2();
     var Client = require_client2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
     var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
     var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
     var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
     var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
     var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
     var kOptions = /* @__PURE__ */ Symbol("options");
     function defaultFactory(origin, opts) {
       return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
@@ -30136,42 +29661,29 @@ var require_agent2 = __commonJS({
         if (connect && typeof connect !== "function") {
           connect = { ...connect };
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
         this[kOptions] = { ...util.deepClone(options), connect };
         this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
         this[kMaxRedirections] = maxRedirections;
         this[kFactory] = factory;
         this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
-        );
-        const agent = this;
         this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
+          this.emit("drain", origin, [this, ...targets]);
         };
         this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
+          this.emit("connect", origin, [this, ...targets]);
         };
         this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
+          this.emit("disconnect", origin, [this, ...targets], err);
         };
         this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
+          this.emit("connectionError", origin, [this, ...targets], err);
         };
       }
       get [kRunning]() {
         let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
         }
         return ret;
       }
@@ -30182,33 +29694,27 @@ var require_agent2 = __commonJS({
         } else {
           throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
         }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
+        let dispatcher = this[kClients].get(key);
         if (!dispatcher) {
           dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
+          this[kClients].set(key, dispatcher);
         }
         return dispatcher.dispatch(opts, handler2);
       }
       async [kClose]() {
         const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
+        this[kClients].clear();
         await Promise.all(closePromises);
       }
       async [kDestroy](err) {
         const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
+        for (const client of this[kClients].values()) {
+          destroyPromises.push(client.destroy(err));
         }
+        this[kClients].clear();
         await Promise.all(destroyPromises);
       }
     };
@@ -30216,153 +29722,847 @@ var require_agent2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable: Readable2 } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
     var noop3 = () => {
     };
-    module2.exports = class BodyReadable extends Readable2 {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        highWaterMark = 64 * 1024
-        // Same as nodejs fs streams.
-      }) {
-        super({
-          autoDestroy: true,
-          read: resume,
-          highWaterMark
-        });
-        this._readableState.dataEmitted = false;
-        this[kAbort] = abort;
-        this[kConsume] = null;
-        this[kBody] = null;
-        this[kContentType] = contentType;
-        this[kReading] = false;
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
       }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+      return new Pool(origin, opts);
+    }
+    var Http1ProxyWrapper = class extends DispatcherBase {
+      #client;
+      constructor(proxyUrl, { headers = {}, connect, factory }) {
+        super();
+        if (!proxyUrl) {
+          throw new InvalidArgumentError("Proxy URL is mandatory");
         }
-        if (err) {
-          this[kAbort]();
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
         }
-        return super.destroy(err);
       }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
+      [kDispatch](opts, handler2) {
+        const onHeaders = handler2.onHeaders;
+        handler2.onHeaders = function(statusCode, data, resume) {
+          if (statusCode === 407) {
+            if (typeof handler2.onError === "function") {
+              handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
+            }
+            return;
+          }
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path16 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path16;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
         }
-        return super.emit(ev, ...args);
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
       }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
+      async [kClose]() {
+        return this.#client.close();
       }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
       }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+    };
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super();
+        if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) {
+          throw new InvalidArgumentError("Proxy uri is mandatory");
         }
-        return ret;
-      }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
-      }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        return super.push(chunk);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-text
-      async text() {
-        return consume(this, "text");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-json
-      async json() {
-        return consume(this, "json");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-blob
-      async blob() {
-        return consume(this, "blob");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-body
-      get body() {
-        if (!this[kBody]) {
-          this[kBody] = ReadableStreamFrom(this);
-          if (this[kConsume]) {
-            this[kBody].getReader();
-            assert(this[kBody].locked);
-          }
+        const { proxyTunnel = true } = opts;
+        const url2 = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url2;
+        this[kProxy] = { uri: href, protocol };
+        this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        this[kTunnelProxy] = proxyTunnel;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
         }
-        return this[kBody];
-      }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        const agentFactory = opts.factory || defaultAgentFactory;
+        const factory = (origin2, options) => {
+          const { protocol: protocol2 } = new URL2(origin2);
+          if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
+            return new Http1ProxyWrapper(this[kProxy].uri, {
+              headers: this[kProxyHeaders],
+              connect,
+              factory: agentFactory
+            });
           }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve8, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve8(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
+          return agentFactory(origin2, options);
+        };
+        this[kClient] = clientFactory(url2, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          factory,
+          connect: async (opts2, callback) => {
+            let requestedPath = opts2.host;
+            if (!opts2.port) {
+              requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedPath,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host: opts2.host
+                },
+                servername: this[kProxyTls]?.servername || proxyHostname
+              });
+              if (statusCode !== 200) {
+                socket.on("error", noop3).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+                callback(new SecureProxyConnectionError(err));
+              } else {
+                callback(err);
+              }
+            }
+          }
+        });
+      }
+      dispatch(opts, handler2) {
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        if (headers && !("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(opts.origin);
+          headers.host = host;
+        }
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
+      }
+      /**
+       * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts
+       * @returns {URL}
+       */
+      #getUrl(opts) {
+        if (typeof opts === "string") {
+          return new URL2(opts);
+        } else if (opts instanceof URL2) {
+          return opts;
+        } else {
+          return new URL2(opts.uri);
+        }
+      }
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
+      }
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
+      }
+    };
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
+        }
+        return headersPair;
+      }
+      return headers;
+    }
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      }
+    }
+    module2.exports = ProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
+        super();
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
+        }
+        const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
+        this[kNoProxyAgent] = new Agent(agentOpts);
+        const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
+        if (HTTP_PROXY) {
+          this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY });
+        } else {
+          this[kHttpProxyAgent] = this[kNoProxyAgent];
+        }
+        const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
+        if (HTTPS_PROXY) {
+          this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY });
+        } else {
+          this[kHttpsProxyAgent] = this[kHttpProxyAgent];
+        }
+        this.#parseNoProxy();
+      }
+      [kDispatch](opts, handler2) {
+        const url2 = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url2);
+        return agent.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
+        }
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
+        }
+      }
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
+        }
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
+        }
+      }
+      #getProxyAgentForUrl(url2) {
+        let { protocol, host: hostname, port } = url2;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
+        }
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
+        }
+        return this[kHttpProxyAgent];
+      }
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
+        }
+        if (this.#noProxyEntries.length === 0) {
+          return true;
+        }
+        if (this.#noProxyValue === "*") {
+          return false;
+        }
+        for (let i = 0; i < this.#noProxyEntries.length; i++) {
+          const entry = this.#noProxyEntries[i];
+          if (entry.port && entry.port !== port) {
+            continue;
+          }
+          if (!/^[.*]/.test(entry.hostname)) {
+            if (hostname === entry.hostname) {
+              return false;
+            }
+          } else {
+            if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
+              return false;
+            }
+          }
+        }
+        return true;
+      }
+      #parseNoProxy() {
+        const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
+        const noProxySplit = noProxyValue.split(/[,\s]/);
+        const noProxyEntries = [];
+        for (let i = 0; i < noProxySplit.length; i++) {
+          const entry = noProxySplit[i];
+          if (!entry) {
+            continue;
+          }
+          const parsed = entry.match(/^(.+):(\d+)$/);
+          noProxyEntries.push({
+            hostname: (parsed ? parsed[1] : entry).toLowerCase(),
+            port: parsed ? Number.parseInt(parsed[2], 10) : 0
+          });
+        }
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
+      }
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
+        }
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      return new Date(retryAfter).getTime() - current;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          minTimeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "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((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
+          }
+        });
+      }
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
+        }
+      }
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
+        }
+      }
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
+        }
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      }
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          minTimeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        const { counter } = state;
+        if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
+        }
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
+        }
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
+        }
+        if (counter > maxRetries) {
+          cb(err);
+          return;
+        }
+        let retryAfterHeader = headers?.["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
+        setTimeout(() => cb(null), retryTimeout);
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          if (this.retryOpts.statusCodes.includes(statusCode) === false) {
+            return this.handler.onHeaders(
+              statusCode,
+              rawHeaders,
+              resume,
+              statusMessage
+            );
+          } else {
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
+          }
+        }
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
+            this.abort(
+              new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size - 1 } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
+        }
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
+            }
+            const { start, size, end = size - 1 } = range;
+            assert(
+              start != null && Number.isFinite(start),
+              "content-range mismatch"
+            );
+            assert(end != null && Number.isFinite(end), "invalid content-length");
+            this.start = start;
+            this.end = end;
+          }
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
+          }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          if (this.etag != null && this.etag.startsWith("W/")) {
+            this.etag = null;
+          }
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
+        }
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          data: { count: this.retryCount }
+        });
+        this.abort(err);
+        return false;
+      }
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
+      }
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
+      }
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        if (this.retryCount - this.retryCountCheckpoint > 0) {
+          this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
+        } else {
+          this.retryCount += 1;
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
+          },
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
+          }
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
+            }
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
+          }
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
+          }
+        }
+      }
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
+      }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
+      }
+      close() {
+        return this.#agent.close();
+      }
+      destroy() {
+        return this.#agent.destroy();
+      }
+    };
+    module2.exports = RetryAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
+    var util = require_util9();
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable2 {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        contentLength,
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kContentLength] = contentLength;
+        this[kReading] = false;
+      }
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
+        }
+        return super.destroy(err);
+      }
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
+        }
+      }
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
+        }
+        return super.on(ev, ...args);
+      }
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
+      }
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+        }
+        return ret;
+      }
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
+      }
+      push(chunk) {
+        if (this[kConsume] && chunk !== null) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
+        }
+        return super.push(chunk);
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
+          }
+        }
+        return this[kBody];
+      }
+      async dump(opts) {
+        let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024;
+        const signal = opts?.signal;
+        if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
+          throw new InvalidArgumentError("signal must be an AbortSignal");
+        }
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
+        }
+        return await new Promise((resolve8, reject) => {
+          if (this[kContentLength] > limit) {
+            this.destroy(new AbortError());
+          }
+          const onAbort = () => {
+            this.destroy(signal.reason ?? new AbortError());
+          };
+          signal?.addEventListener("abort", onAbort);
+          this.on("close", function() {
+            signal?.removeEventListener("abort", onAbort);
+            if (signal?.aborted) {
+              reject(signal.reason ?? new AbortError());
+            } else {
+              resolve8(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
             if (limit <= 0) {
               this.destroy();
             }
@@ -30377,27 +30577,39 @@ var require_readable2 = __commonJS({
       return util.isDisturbed(self2) || isLocked(self2);
     }
     async function consume(stream2, type2) {
-      if (isUnusable(stream2)) {
-        throw new TypeError("unusable");
-      }
       assert(!stream2[kConsume]);
       return new Promise((resolve8, reject) => {
-        stream2[kConsume] = {
-          type: type2,
-          stream: stream2,
-          resolve: resolve8,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream2.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
+        if (isUnusable(stream2)) {
+          const rState = stream2._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream2.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
+          } else {
+            reject(rState.errored ?? new TypeError("unusable"));
           }
-        });
-        process.nextTick(consumeStart, stream2[kConsume]);
+        } else {
+          queueMicrotask(() => {
+            stream2[kConsume] = {
+              type: type2,
+              stream: stream2,
+              resolve: resolve8,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream2.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream2[kConsume]);
+          });
+        }
       });
     }
     function consumeStart(consume2) {
@@ -30405,8 +30617,16 @@ var require_readable2 = __commonJS({
         return;
       }
       const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
+      if (state.bufferIndex) {
+        const start = state.bufferIndex;
+        const end = state.buffer.length;
+        for (let n = start; n < end; n++) {
+          consumePush(consume2, state.buffer[n]);
+        }
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
+        }
       }
       if (state.endEmitted) {
         consumeEnd(this[kConsume]);
@@ -30419,26 +30639,44 @@ var require_readable2 = __commonJS({
       while (consume2.stream.read() != null) {
       }
     }
+    function chunksDecode(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return "";
+      }
+      const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
+      const bufferLength = buffer.length;
+      const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
+      return buffer.utf8Slice(start, bufferLength);
+    }
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
+      }
+      if (chunks.length === 1) {
+        return new Uint8Array(chunks[0]);
+      }
+      const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
+      let offset = 0;
+      for (let i = 0; i < chunks.length; ++i) {
+        const chunk = chunks[i];
+        buffer.set(chunk, offset);
+        offset += chunk.length;
+      }
+      return buffer;
+    }
     function consumeEnd(consume2) {
       const { type: type2, body, resolve: resolve8, stream: stream2, length } = consume2;
       try {
         if (type2 === "text") {
-          resolve8(toUSVString(Buffer.concat(body)));
+          resolve8(chunksDecode(body, length));
         } else if (type2 === "json") {
-          resolve8(JSON.parse(Buffer.concat(body)));
+          resolve8(JSON.parse(chunksDecode(body, length)));
         } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
-          }
-          resolve8(dst.buffer);
+          resolve8(chunksConcat(body, length).buffer);
         } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
-          }
-          resolve8(new Blob2(body, { type: stream2[kContentType] }));
+          resolve8(new Blob(body, { type: stream2[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve8(chunksConcat(body, length));
         }
         consumeFinish(consume2);
       } catch (err) {
@@ -30465,114 +30703,81 @@ var require_readable2 = __commonJS({
       consume2.length = 0;
       consume2.body = null;
     }
+    module2.exports = { Readable: BodyReadable, chunksDecode };
   }
 });
 
-// node_modules/undici/lib/api/util.js
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
 var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
     var {
       ResponseStatusCodeError
     } = require_errors2();
-    var { toUSVString } = require_util9();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
     async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
       assert(body);
       let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
+          }
         }
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
         return;
       }
+      const stackTraceLimit = Error.stackTraceLimit;
+      Error.stackTraceLimit = 0;
+      let payload;
       try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
+        if (isContentTypeApplicationJson(contentType)) {
+          payload = JSON.parse(chunksDecode(chunks, length));
+        } else if (isContentTypeText(contentType)) {
+          payload = chunksDecode(chunks, length);
         }
-      } catch (err) {
-      }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
-      }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
-      }
-      if (signal.aborted) {
-        abort(self2);
-        return;
-      }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
-      }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
-      } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
+      queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)));
     }
+    var isContentTypeApplicationJson = (contentType) => {
+      return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n";
+    };
+    var isContentTypeText = (contentType) => {
+      return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t";
+    };
     module2.exports = {
-      addSignal,
-      removeSignal
+      getResolveErrorBodyCallback,
+      isContentTypeApplicationJson,
+      isContentTypeText
     };
   }
 });
 
-// node_modules/undici/lib/api/api-request.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
 var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
     "use strict";
-    var Readable2 = require_readable2();
-    var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
     var util = require_util9();
     var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
+    var { AsyncResource } = require("node:async_hooks");
     var RequestHandler = class extends AsyncResource {
       constructor(opts, callback) {
         if (!opts || typeof opts !== "object") {
@@ -30602,6 +30807,7 @@ var require_api_request2 = __commonJS({
           }
           throw err;
         }
+        this.method = method;
         this.responseHeaders = responseHeaders || null;
         this.opaque = opaque || null;
         this.callback = callback;
@@ -30613,17 +30819,40 @@ var require_api_request2 = __commonJS({
         this.onInfo = onInfo || null;
         this.throwOnError = throwOnError;
         this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
         if (util.isStream(body)) {
           body.on("error", (err) => {
             this.onError(err);
           });
         }
-        addSignal(this, signal);
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
+          } else {
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
+          }
+        }
       }
       onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context3;
       }
@@ -30638,15 +30867,25 @@ var require_api_request2 = __commonJS({
         }
         const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
         const contentType = parsedHeaders["content-type"];
-        const body = new Readable2({ resume, abort, contentType, highWaterMark });
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable2({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
+        }
         this.callback = null;
-        this.res = body;
+        this.res = res;
         if (callback !== null) {
           if (this.throwOnError && statusCode >= 400) {
             this.runInAsyncScope(
               getResolveErrorBodyCallback,
               null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
+              { callback, body: res, contentType, statusCode, statusMessage, headers }
             );
           } else {
             this.runInAsyncScope(callback, null, null, {
@@ -30654,25 +30893,21 @@ var require_api_request2 = __commonJS({
               headers,
               trailers: this.trailers,
               opaque,
-              body,
+              body: res,
               context: context3
             });
           }
         }
       }
       onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+        return this.res.push(chunk);
       }
       onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
         util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+        this.res.push(null);
       }
       onError(err) {
         const { res, callback, body, opaque } = this;
-        removeSignal(this);
         if (callback) {
           this.callback = null;
           queueMicrotask(() => {
@@ -30689,6 +30924,11 @@ var require_api_request2 = __commonJS({
           this.body = null;
           util.destroy(body, err);
         }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
+        }
       }
     };
     function request2(opts, callback) {
@@ -30705,7 +30945,7 @@ var require_api_request2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -30714,34 +30954,82 @@ var require_api_request2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
+      }
+      removeSignal(self2);
+    }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
+      }
+      if (signal.aborted) {
+        abort(self2);
+        return;
+      }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
+      }
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
+      }
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
             throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
           }
           if (method === "CONNECT") {
@@ -30776,9 +31064,11 @@ var require_api_stream2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context3;
       }
@@ -30831,7 +31121,7 @@ var require_api_stream2 = __commonJS({
         }
         res.on("drain", resume);
         this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
         return needDrain !== true;
       }
       onData(chunk) {
@@ -30880,7 +31170,7 @@ var require_api_stream2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -30888,24 +31178,24 @@ var require_api_stream2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-pipeline.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
 var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
     "use strict";
     var {
       Readable: Readable2,
       Duplex,
       PassThrough
-    } = require("stream");
+    } = require("node:stream");
     var {
       InvalidArgumentError,
       InvalidReturnValueError,
       RequestAbortedError
     } = require_errors2();
     var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
+    var { AsyncResource } = require("node:async_hooks");
     var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var kResume = /* @__PURE__ */ Symbol("resume");
     var PipelineRequest = class extends Readable2 {
       constructor() {
@@ -30970,7 +31260,7 @@ var require_api_pipeline2 = __commonJS({
           autoDestroy: true,
           read: () => {
             const { body } = this;
-            if (body && body.resume) {
+            if (body?.resume) {
               body.resume();
             }
           },
@@ -31005,10 +31295,12 @@ var require_api_pipeline2 = __commonJS({
       }
       onConnect(abort, context3) {
         const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
         this.abort = abort;
         this.context = context3;
       }
@@ -31086,15 +31378,15 @@ var require_api_pipeline2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
 var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
     var util = require_util9();
     var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var UpgradeHandler = class extends AsyncResource {
       constructor(opts, callback) {
         if (!opts || typeof opts !== "object") {
@@ -31116,9 +31408,11 @@ var require_api_upgrade2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = null;
       }
@@ -31126,8 +31420,8 @@ var require_api_upgrade2 = __commonJS({
         throw new SocketError("bad upgrade", null);
       }
       onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
         const { callback, opaque, context: context3 } = this;
-        assert.strictEqual(statusCode, 101);
         removeSignal(this);
         this.callback = null;
         const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
@@ -31168,7 +31462,7 @@ var require_api_upgrade2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -31176,12 +31470,13 @@ var require_api_upgrade2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-connect.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
 var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
     "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
     var util = require_util9();
     var { addSignal, removeSignal } = require_abort_signal2();
     var ConnectHandler = class extends AsyncResource {
@@ -31204,9 +31499,11 @@ var require_api_connect2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context3;
       }
@@ -31255,7 +31552,7 @@ var require_api_connect2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -31263,9 +31560,9 @@ var require_api_connect2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/index.js
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
 var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
     "use strict";
     module2.exports.request = require_api_request2();
     module2.exports.stream = require_api_stream2();
@@ -31275,11 +31572,12 @@ var require_api2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-errors.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
 var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
     "use strict";
     var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
     var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
       constructor(message) {
         super(message);
@@ -31288,6 +31586,10 @@ var require_mock_errors2 = __commonJS({
         this.message = message || "The request does not match any registered mock dispatches";
         this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
+      }
+      [kMockNotMatchedError] = true;
     };
     module2.exports = {
       MockNotMatchedError
@@ -31295,9 +31597,9 @@ var require_mock_errors2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
 var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kAgent: /* @__PURE__ */ Symbol("agent"),
@@ -31323,9 +31625,9 @@ var require_mock_symbols2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-utils.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
 var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
     "use strict";
     var { MockNotMatchedError } = require_mock_errors2();
     var {
@@ -31335,13 +31637,13 @@ var require_mock_utils2 = __commonJS({
       kOrigin,
       kGetNetConnect
     } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
     var {
       types: {
         isPromise
       }
-    } = require("util");
+    } = require("node:util");
     function matchValue(match, value) {
       if (typeof match === "string") {
         return match === value;
@@ -31426,6 +31728,10 @@ var require_mock_utils2 = __commonJS({
     function getResponseData2(data) {
       if (Buffer.isBuffer(data)) {
         return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
       } else if (typeof data === "object") {
         return JSON.stringify(data);
       } else {
@@ -31441,15 +31747,16 @@ var require_mock_utils2 = __commonJS({
       }
       matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
       matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
       matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
       }
       return matchedMockDispatches[0];
     }
@@ -31482,11 +31789,21 @@ var require_mock_utils2 = __commonJS({
       };
     }
     function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
+          }
+        } else {
+          result.push(name, Buffer.from(`${value}`));
+        }
+      }
+      return result;
     }
     function getStatusText(statusCode) {
       return STATUS_CODES[statusCode] || "unknown";
@@ -31531,10 +31848,10 @@ var require_mock_utils2 = __commonJS({
         const responseData = getResponseData2(body);
         const responseHeaders = generateKeyValues(headers);
         const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
         deleteMockDispatch(mockDispatches, key);
       }
       function resume() {
@@ -31598,14 +31915,15 @@ var require_mock_utils2 = __commonJS({
       buildMockDispatch,
       checkNetConnect,
       buildMockOptions,
-      getHeaderByName
+      getHeaderByName,
+      buildHeadersFromArray
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
 var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
     "use strict";
     var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
     var {
@@ -31678,46 +31996,47 @@ var require_mock_interceptor2 = __commonJS({
         this[kDefaultTrailers] = {};
         this[kContentLength] = false;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
+      createMockScopeDispatchData({ statusCode, data, responseOptions }) {
         const responseData = getResponseData2(data);
         const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
         const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
         const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
         return { statusCode, data, headers, trailers };
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
           throw new InvalidArgumentError("statusCode must be defined");
         }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
-        }
-        if (typeof responseOptions !== "object") {
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
           throw new InvalidArgumentError("responseOptions must be an object");
         }
       }
       /**
        * Mock an undici request with a defined reply.
        */
-      reply(replyData) {
-        if (typeof replyData === "function") {
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
           const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
               throw new InvalidArgumentError("reply options callback must return an object");
             }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
             return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+              ...this.createMockScopeDispatchData(replyParameters2)
             };
           };
           const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
           return new MockScope(newMockDispatch2);
         }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const replyParameters = {
+          statusCode: replyOptionsCallbackOrStatusCode,
+          data: arguments[1] === void 0 ? "" : arguments[1],
+          responseOptions: arguments[2] === void 0 ? {} : arguments[2]
+        };
+        this.validateReplyParameters(replyParameters);
+        const dispatchData = this.createMockScopeDispatchData(replyParameters);
         const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
         return new MockScope(newMockDispatch);
       }
@@ -31764,11 +32083,11 @@ var require_mock_interceptor2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-client.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
 var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
+    var { promisify } = require("node:util");
     var Client = require_client2();
     var { buildMockDispatch } = require_mock_utils2();
     var {
@@ -31817,11 +32136,11 @@ var require_mock_client2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-pool.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
 var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
+    var { promisify } = require("node:util");
     var Pool = require_pool2();
     var { buildMockDispatch } = require_mock_utils2();
     var {
@@ -31870,9 +32189,9 @@ var require_mock_pool2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/pluralizer.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
 var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
     var singulars = {
       pronoun: "it",
@@ -31901,12 +32220,14 @@ var require_pluralizer2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
 var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
+    var { Transform } = require("node:stream");
+    var { Console } = require("node:console");
+    var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
+    var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
     module2.exports = class PendingInterceptorsFormatter {
       constructor({ disableColors } = {}) {
         this.transform = new Transform({
@@ -31928,7 +32249,7 @@ var require_pending_interceptors_formatter2 = __commonJS({
             Origin: origin,
             Path: path16,
             "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
             Invocations: timesInvoked,
             Remaining: persist ? Infinity : times - timesInvoked
           })
@@ -31940,9 +32261,9 @@ var require_pending_interceptors_formatter2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-agent.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
 var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
     "use strict";
     var { kClients } = require_symbols6();
     var Agent = require_agent2();
@@ -31964,23 +32285,15 @@ var require_mock_agent2 = __commonJS({
     var Dispatcher = require_dispatcher2();
     var Pluralizer = require_pluralizer2();
     var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
-      }
-      deref() {
-        return this.value;
-      }
-    };
     var MockAgent = class extends Dispatcher {
       constructor(opts) {
         super(opts);
         this[kNetConnect] = true;
         this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
           throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
         this[kAgent] = agent;
         this[kClients] = agent[kClients];
         this[kOptions] = buildMockOptions(opts);
@@ -32029,24 +32342,23 @@ var require_mock_agent2 = __commonJS({
         return this[kIsMockActive];
       }
       [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+        this[kClients].set(origin, dispatcher);
       }
       [kFactory](origin) {
         const mockOptions = Object.assign({ agent: this }, this[kOptions]);
         return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
       }
       [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+        const client = this[kClients].get(origin);
+        if (client) {
+          return client;
         }
         if (typeof origin !== "string") {
           const dispatcher = this[kFactory]("http://localhost:9999");
           this[kMockAgentSet](origin, dispatcher);
           return dispatcher;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
+        for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {
           if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
             const dispatcher = this[kFactory](origin);
             this[kMockAgentSet](origin, dispatcher);
@@ -32060,7 +32372,7 @@ var require_mock_agent2 = __commonJS({
       }
       pendingInterceptors() {
         const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
       assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
         const pending = this.pendingInterceptors();
@@ -32079,504 +32391,528 @@ ${pendingInterceptorsFormatter.format(pending)}
   }
 });
 
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors2();
     var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
-      }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
     }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
     }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        if (opts.auth && opts.token) {
-          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
-        } else if (opts.auth) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
-        } else if (opts.token) {
-          this[kProxyHeaders]["proxy-authorization"] = opts.token;
-        } else if (username && password) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
+    "use strict";
+    module2.exports = class DecoratorHandler {
+      #handler;
+      constructor(handler2) {
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
         }
-        const connect = buildConnector({ ...opts.proxyTls });
-        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).destroy();
-                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
-              }
-              if (opts2.protocol !== "https:") {
-                callback(null, socket);
-                return;
-              }
-              let servername;
-              if (this[kRequestTls]) {
-                servername = this[kRequestTls].servername;
-              } else {
-                servername = opts2.servername;
-              }
-              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
-            } catch (err) {
-              callback(err);
-            }
-          }
-        });
+        this.#handler = handler2;
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
-        }
-        return headersPair;
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
-      return headers;
-    }
-    function throwIfProxyAuthIsSent(headers) {
-      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
-      if (existProxyAuth) {
-        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      onHeaders(...args) {
+        return this.#handler.onHeaders?.(...args);
       }
-    }
-    module2.exports = ProxyAgent;
+      onData(...args) {
+        return this.#handler.onData?.(...args);
+      }
+      onComplete(...args) {
+        return this.#handler.onComplete?.(...args);
+      }
+      onBodySent(...args) {
+        return this.#handler.onBodySent?.(...args);
+      }
+    };
   }
 });
 
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    var RetryHandler = class _RetryHandler {
-      constructor(opts, handlers) {
-        const { retryOptions, ...dispatchOpts } = opts;
-        const {
-          // Retry scoped
-          retry: retryFn,
-          maxRetries,
-          maxTimeout,
-          minTimeout,
-          timeoutFactor,
-          // Response scoped
-          methods,
-          errorCodes,
-          retryAfter,
-          statusCodes
-        } = retryOptions ?? {};
-        this.dispatch = handlers.dispatch;
-        this.handler = handlers.handler;
-        this.opts = dispatchOpts;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: minTimeout ?? 500,
-          // .5s
-          timeoutFactor: timeoutFactor ?? 2,
-          maxRetries: maxRetries ?? 5,
-          // What errors we should retry
-          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
-          // Indicates which errors to retry
-          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
-          // List of errors to retry
-          errorCodes: errorCodes ?? [
-            "ECONNRESET",
-            "ECONNREFUSED",
-            "ENOTFOUND",
-            "ENETDOWN",
-            "ENETUNREACH",
-            "EHOSTDOWN",
-            "EHOSTUNREACH",
-            "EPIPE"
-          ]
-        };
-        this.retryCount = 0;
-        this.start = 0;
-        this.end = null;
-        this.etag = null;
-        this.resume = null;
-        this.handler.onConnect((reason) => {
-          this.aborted = true;
-          if (this.abort) {
-            this.abort(reason);
-          } else {
-            this.reason = reason;
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
+    "use strict";
+    var RedirectHandler = require_redirect_handler2();
+    module2.exports = (opts) => {
+      const globalMaxRedirections = opts?.maxRedirections;
+      return (dispatch) => {
+        return function redirectInterceptor(opts2, handler2) {
+          const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2;
+          if (!maxRedirections) {
+            return dispatch(opts2, handler2);
           }
-        });
-      }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
-      }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+          const redirectHandler = new RedirectHandler(
+            dispatch,
+            maxRedirections,
+            opts2,
+            handler2
+          );
+          return dispatch(baseOpts, redirectHandler);
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    var DumpHandler = class extends DecoratorHandler {
+      #maxSize = 1024 * 1024;
+      #abort = null;
+      #dumped = false;
+      #aborted = false;
+      #size = 0;
+      #reason = null;
+      #handler = null;
+      constructor({ maxSize }, handler2) {
+        super(handler2);
+        if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
+          throw new InvalidArgumentError("maxSize must be a number greater than 0");
         }
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
       }
       onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
-        } else {
-          this.abort = abort;
-        }
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
-          return;
+      // TODO: will require adjustment after new hooks are out
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = util.parseHeaders(rawHeaders);
+        const contentLength = headers["content-length"];
+        if (contentLength != null && contentLength > this.#maxSize) {
+          throw new RequestAbortedError(
+            `Response size (${contentLength}) larger than maxSize (${this.#maxSize})`
+          );
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          return;
+        if (this.#aborted) {
+          return true;
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
+        );
+      }
+      onError(err) {
+        if (this.#dumped) {
           return;
         }
-        if (counter > maxRetries) {
-          cb(err);
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
+      }
+      onData(chunk) {
+        this.#size = this.#size + chunk.length;
+        if (this.#size >= this.#maxSize) {
+          this.#dumped = true;
+          if (this.#aborted) {
+            this.#handler.onError(this.#reason);
+          } else {
+            this.#handler.onComplete([]);
+          }
+        }
+        return true;
+      }
+      onComplete(trailers) {
+        if (this.#dumped) {
           return;
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
+        this.#handler.onComplete(trailers);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
+    };
+    function createDumpInterceptor({ maxSize: defaultMaxSize } = {
+      maxSize: 1024 * 1024
+    }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { dumpMaxSize = defaultMaxSize } = opts;
+          const dumpHandler = new DumpHandler(
+            { maxSize: dumpMaxSize },
+            handler2
           );
-          return false;
-        }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          const { start, size, end = size } = contentRange;
-          assert(this.start === start, "content-range mismatch");
-          assert(this.end == null || this.end === end, "content-range mismatch");
-          this.resume = resume;
-          return true;
+          return dispatch(opts, dumpHandler);
+        };
+      };
+    }
+    module2.exports = createDumpInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
+    "use strict";
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    var maxInt = Math.pow(2, 31) - 1;
+    var DNSInstance = class {
+      #maxTTL = 0;
+      #maxItems = 0;
+      #records = /* @__PURE__ */ new Map();
+      dualStack = true;
+      affinity = null;
+      lookup = null;
+      pick = null;
+      constructor(opts) {
+        this.#maxTTL = opts.maxTTL;
+        this.#maxItems = opts.maxItems;
+        this.dualStack = opts.dualStack;
+        this.affinity = opts.affinity;
+        this.lookup = opts.lookup ?? this.#defaultLookup;
+        this.pick = opts.pick ?? this.#defaultPick;
+      }
+      get full() {
+        return this.#records.size === this.#maxItems;
+      }
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
         }
-        if (this.end == null) {
-          if (statusCode === 206) {
-            const range = parseRangeHeader(headers["content-range"]);
-            if (range == null) {
-              return this.handler.onHeaders(
-                statusCode,
-                rawHeaders,
-                resume,
-                statusMessage
-              );
+        const newOpts = {
+          affinity: this.affinity,
+          dualStack: this.dualStack,
+          lookup: this.lookup,
+          pick: this.pick,
+          ...opts.dns,
+          maxTTL: this.#maxTTL,
+          maxItems: this.#maxItems
+        };
+        if (ips == null) {
+          this.lookup(origin, newOpts, (err, addresses) => {
+            if (err || addresses == null || addresses.length === 0) {
+              cb(err ?? new InformationalError("No DNS entries found"));
+              return;
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
+            this.setRecords(origin, addresses);
+            const records = this.#records.get(origin.hostname);
+            const ip = this.pick(
+              origin,
+              records,
+              newOpts.affinity
             );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== end,
-              "invalid content-length"
+            let port;
+            if (typeof ip.port === "number") {
+              port = `:${ip.port}`;
+            } else if (origin.port !== "") {
+              port = `:${origin.port}`;
+            } else {
+              port = "";
+            }
+            cb(
+              null,
+              `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
             );
-            this.start = start;
-            this.end = end;
+          });
+        } else {
+          const ip = this.pick(
+            origin,
+            ips,
+            newOpts.affinity
+          );
+          if (ip == null) {
+            this.#records.delete(origin.hostname);
+            this.runLookup(origin, opts, cb);
+            return;
           }
-          if (this.end == null) {
-            const contentLength = headers["content-length"];
-            this.end = contentLength != null ? Number(contentLength) : null;
+          let port;
+          if (typeof ip.port === "number") {
+            port = `:${ip.port}`;
+          } else if (origin.port !== "") {
+            port = `:${origin.port}`;
+          } else {
+            port = "";
           }
-          assert(Number.isFinite(this.start));
-          assert(
-            this.end == null || Number.isFinite(this.end),
-            "invalid content-length"
-          );
-          this.resume = resume;
-          this.etag = headers.etag != null ? headers.etag : null;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
+          cb(
+            null,
+            `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
           );
         }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
-        });
-        this.abort(err);
-        return false;
-      }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
-      }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
-        }
-        this.retryOpts.retry(
-          err,
+      #defaultLookup(origin, opts, cb) {
+        lookup(
+          origin.hostname,
           {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            opts: { retryOptions: this.retryOpts, ...this.opts }
+            all: true,
+            family: this.dualStack === false ? this.affinity : 0,
+            order: "ipv4first"
           },
-          onRetry.bind(this)
+          (err, addresses) => {
+            if (err) {
+              return cb(err);
+            }
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
+          }
         );
-        function onRetry(err2) {
-          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
-            return this.handler.onError(err2);
+      }
+      #defaultPick(origin, hostnameRecords, affinity) {
+        let ip = null;
+        const { records, offset } = hostnameRecords;
+        let family;
+        if (this.dualStack) {
+          if (affinity == null) {
+            if (offset == null || offset === maxInt) {
+              hostnameRecords.offset = 0;
+              affinity = 4;
+            } else {
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
+            }
           }
-          if (this.start !== 0) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
+        } else {
+          family = records[affinity];
+        }
+        if (family == null || family.ips.length === 0) {
+          return ip;
+        }
+        if (family.offset == null || family.offset === maxInt) {
+          family.offset = 0;
+        } else {
+          family.offset++;
+        }
+        const position = family.offset % family.ips.length;
+        ip = family.ips[position] ?? null;
+        if (ip == null) {
+          return ip;
+        }
+        if (Date.now() - ip.timestamp > ip.ttl) {
+          family.ips.splice(position, 1);
+          return this.pick(origin, hostnameRecords, affinity);
+        }
+        return ip;
+      }
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
           }
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
         }
+        this.#records.set(origin.hostname, records);
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
-    function getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
-    }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
     };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
+        }
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
+      }
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
+      } else {
+        affinity = interceptorOpts?.affinity ?? 4;
       }
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
+            }
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
+      };
     };
   }
 });
 
-// node_modules/undici/lib/fetch/headers.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
 var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
+    var { kConstruct } = require_symbols6();
     var { kEnumerableProperty } = require_util9();
     var {
-      makeIterator,
+      iteratorMixin,
       isValidHeaderName,
       isValidHeaderValue
     } = require_util10();
-    var util = require("util");
     var { webidl } = require_webidl2();
-    var assert = require("assert");
+    var assert = require("node:assert");
+    var util = require("node:util");
     var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
     var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
     function isHTTPWhiteSpaceCharCode(code) {
@@ -32629,11 +32965,13 @@ var require_headers2 = __commonJS({
           type: "header value"
         });
       }
-      if (headers[kGuard] === "immutable") {
+      if (getHeadersGuard(headers) === "immutable") {
         throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
       }
-      return headers[kHeadersList].append(name, value);
+      return getHeadersList(headers).append(name, value, false);
+    }
+    function compareHeaderName(a, b) {
+      return a[0] < b[0] ? -1 : 1;
     }
     var HeadersList = class _HeadersList {
       /** @type {[string, string][]|null} */
@@ -32648,20 +32986,28 @@ var require_headers2 = __commonJS({
           this[kHeadersSortedMap] = null;
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      /**
+       * @see https://fetch.spec.whatwg.org/#header-list-contains
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      contains(name, isLowerCase) {
+        return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase());
       }
       clear() {
         this[kHeadersMap].clear();
         this[kHeadersSortedMap] = null;
         this.cookies = null;
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-append
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      append(name, value, isLowerCase) {
         this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
         const exists = this[kHeadersMap].get(lowercaseName);
         if (exists) {
           const delimiter = lowercaseName === "cookie" ? "; " : ", ";
@@ -32673,73 +33019,155 @@ var require_headers2 = __commonJS({
           this[kHeadersMap].set(lowercaseName, { name, value });
         }
         if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+          (this.cookies ??= []).push(value);
         }
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-set
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      set(name, value, isLowerCase) {
         this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
         if (lowercaseName === "set-cookie") {
           this.cookies = [value];
         }
         this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
         this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
+        if (!isLowerCase) name = name.toLowerCase();
         if (name === "set-cookie") {
           this.cookies = null;
         }
         this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-get
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       * @returns {string | null}
+       */
+      get(name, isLowerCase) {
+        return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
       }
       *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
           yield [name, value];
         }
       }
       get entries() {
         const headers = {};
-        if (this[kHeadersMap].size) {
+        if (this[kHeadersMap].size !== 0) {
           for (const { name, value } of this[kHeadersMap].values()) {
             headers[name] = value;
           }
         }
         return headers;
       }
+      rawValues() {
+        return this[kHeadersMap].values();
+      }
+      get entriesList() {
+        const headers = [];
+        if (this[kHeadersMap].size !== 0) {
+          for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) {
+            if (lowerName === "set-cookie") {
+              for (const cookie of this.cookies) {
+                headers.push([name, cookie]);
+              }
+            } else {
+              headers.push([name, value]);
+            }
+          }
+        }
+        return headers;
+      }
+      // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set
+      toSortedArray() {
+        const size = this[kHeadersMap].size;
+        const array = new Array(size);
+        if (size <= 32) {
+          if (size === 0) {
+            return array;
+          }
+          const iterator2 = this[kHeadersMap][Symbol.iterator]();
+          const firstValue = iterator2.next().value;
+          array[0] = [firstValue[0], firstValue[1].value];
+          assert(firstValue[1].value !== null);
+          for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) {
+            value = iterator2.next().value;
+            x = array[i] = [value[0], value[1].value];
+            assert(x[1] !== null);
+            left = 0;
+            right = i;
+            while (left < right) {
+              pivot = left + (right - left >> 1);
+              if (array[pivot][0] <= x[0]) {
+                left = pivot + 1;
+              } else {
+                right = pivot;
+              }
+            }
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
+            }
+          }
+          if (!iterator2.next().done) {
+            throw new TypeError("Unreachable");
+          }
+          return array;
+        } else {
+          let i = 0;
+          for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+            array[i++] = [name, value];
+            assert(value !== null);
+          }
+          return array.sort(compareHeaderName);
+        }
+      }
     };
     var Headers = class _Headers {
+      #guard;
+      #headersList;
       constructor(init = void 0) {
+        webidl.util.markAsUncloneable(this);
         if (init === kConstruct) {
           return;
         }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
         if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
           fill(this, init);
         }
       }
       // https://fetch.spec.whatwg.org/#dom-headers-append
       append(name, value) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
         return appendHeader(this, name, value);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-delete
       delete(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
             prefix: "Headers.delete",
@@ -32747,73 +33175,74 @@ var require_headers2 = __commonJS({
             type: "header name"
           });
         }
-        if (this[kGuard] === "immutable") {
+        if (this.#guard === "immutable") {
           throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
         }
-        if (!this[kHeadersList].contains(name)) {
+        if (!this.#headersList.contains(name, false)) {
           return;
         }
-        this[kHeadersList].delete(name);
+        this.#headersList.delete(name, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-get
       get(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
+            prefix,
             value: name,
             type: "header name"
           });
         }
-        return this[kHeadersList].get(name);
+        return this.#headersList.get(name, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-has
       has(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
+            prefix,
             value: name,
             type: "header name"
           });
         }
-        return this[kHeadersList].contains(name);
+        return this.#headersList.contains(name, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-set
       set(name, value) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
         value = headerValueNormalize(value);
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
+            prefix,
             value: name,
             type: "header name"
           });
         } else if (!isValidHeaderValue(value)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
+            prefix,
             value,
             type: "header value"
           });
         }
-        if (this[kGuard] === "immutable") {
+        if (this.#guard === "immutable") {
           throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
         }
-        this[kHeadersList].set(name, value);
+        this.#headersList.set(name, value, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
       getSetCookie() {
         webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
+        const list = this.#headersList.cookies;
         if (list) {
           return [...list];
         }
@@ -32821,96 +33250,50 @@ var require_headers2 = __commonJS({
       }
       // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
       get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
         const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
+        }
         for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
+          const { 0: name, 1: value } = names[i];
           if (name === "set-cookie") {
             for (let j = 0; j < cookies.length; ++j) {
               headers.push([name, cookies[j]]);
             }
           } else {
-            assert(value !== null);
             headers.push([name, value]);
           }
         }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
       }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
+      static getHeadersList(o) {
+        return o.#headersList;
       }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers;
+    Reflect.deleteProperty(Headers, "getHeadersGuard");
+    Reflect.deleteProperty(Headers, "setHeadersGuard");
+    Reflect.deleteProperty(Headers, "getHeadersList");
+    Reflect.deleteProperty(Headers, "setHeadersList");
+    iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1);
     Object.defineProperties(Headers.prototype, {
       append: kEnumerableProperty,
       delete: kEnumerableProperty,
@@ -32918,11 +33301,6 @@ var require_headers2 = __commonJS({
       has: kEnumerableProperty,
       set: kEnumerableProperty,
       getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
       [Symbol.toStringTag]: {
         value: "Headers",
         configurable: true
@@ -32931,12 +33309,19 @@ var require_headers2 = __commonJS({
         enumerable: false
       }
     });
-    webidl.converters.HeadersInit = function(V) {
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
       if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
         }
-        return webidl.converters["record"](V);
+        if (typeof iterator2 === "function") {
+          return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V));
+        }
+        return webidl.converters["record"](V, prefix, argument);
       }
       throw webidl.errors.conversionFailed({
         prefix: "Headers constructor",
@@ -32946,19 +33331,26 @@ var require_headers2 = __commonJS({
     };
     module2.exports = {
       fill,
+      // for test.
+      compareHeaderName,
       Headers,
-      HeadersList
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
 var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
+    var nodeUtil = require("node:util");
     var { kEnumerableProperty } = util;
     var {
       isValidReasonPhrase,
@@ -32967,38 +33359,30 @@ var require_response2 = __commonJS({
       isBlobLike,
       serializeJavascriptValueToJSONString,
       isErrorLike,
-      isomorphicEncode
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
     } = require_util10();
     var {
       redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
     var { webidl } = require_webidl2();
     var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { types } = require("node:util");
     var textEncoder = new TextEncoder("utf-8");
     var Response = class _Response {
       // Creates network error Response.
       static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
         return responseObject;
       }
       // https://fetch.spec.whatwg.org/#dom-response-json
       static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
         if (init !== null) {
           init = webidl.converters.ResponseInit(init);
         }
@@ -33006,52 +33390,44 @@ var require_response2 = __commonJS({
           serializeJavascriptValueToJSONString(data)
         );
         const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
         initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
         return responseObject;
       }
       // Creates a redirect Response that redirects to url with status status.
       static redirect(url2, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
         url2 = webidl.converters.USVString(url2);
         status = webidl.converters["unsigned short"](status);
         let parsedURL;
         try {
-          parsedURL = new URL(url2, getGlobalOrigin());
+          parsedURL = new URL(url2, relevantRealm.settingsObject.baseUrl);
         } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url2), {
-            cause: err
-          });
+          throw new TypeError(`Failed to parse URL from ${url2}`, { cause: err });
         }
         if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
         responseObject[kState].status = status;
         const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
+        responseObject[kState].headersList.append("location", value, true);
         return responseObject;
       }
       // https://fetch.spec.whatwg.org/#dom-response
       constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
+        }
         if (body !== null) {
           body = webidl.converters.BodyInit(body);
         }
         init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
         this[kState] = makeResponse({});
         this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
         let bodyWithType = null;
         if (body != null) {
           const [extractedBody, type2] = extractBody(body);
@@ -33110,20 +33486,35 @@ var require_response2 = __commonJS({
       // Returns a clone of response.
       clone() {
         webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
+        if (bodyUnusable(this)) {
           throw webidl.errors.exception({
             header: "Response.clone",
             message: "Body has already been consumed."
           });
         }
         const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+        if (hasFinalizationRegistry && this[kState].body?.stream) {
+          streamRegistry.register(this, new WeakRef(this[kState].body.stream));
+        }
+        return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders]));
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
     mixinBody(Response);
@@ -33157,7 +33548,7 @@ var require_response2 = __commonJS({
       }
       const newResponse = makeResponse({ ...response, body: null });
       if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
+        newResponse.body = cloneBody(newResponse, response.body);
       }
       return newResponse;
     }
@@ -33173,8 +33564,8 @@ var require_response2 = __commonJS({
         cacheState: "",
         statusText: "",
         ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
       };
     }
     function makeNetworkError(reason) {
@@ -33186,6 +33577,13 @@ var require_response2 = __commonJS({
         aborted: reason && reason.name === "AbortError"
       });
     }
+    function isNetworkError(response) {
+      return (
+        // A network error is a response whose type is "error",
+        response.type === "error" && // status is 0
+        response.status === 0
+      );
+    }
     function makeFilteredResponse(response, state) {
       state = {
         internalResponse: response,
@@ -33235,7 +33633,7 @@ var require_response2 = __commonJS({
     }
     function makeAppropriateNetworkError(fetchParams, err = null) {
       assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
     }
     function initializeResponse(response, init, body) {
       if (init.status !== null && (init.status < 200 || init.status > 599)) {
@@ -33259,17 +33657,28 @@ var require_response2 = __commonJS({
         if (nullBodyStatus.includes(response.status)) {
           throw webidl.errors.exception({
             header: "Response constructor",
-            message: "Invalid response status code " + response.status
+            message: `Invalid response status code ${response.status}`
           });
         }
         response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
         }
       }
     }
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
+      }
+      return response;
+    }
     webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
+      ReadableStream
     );
     webidl.converters.FormData = webidl.interfaceConverter(
       FormData2
@@ -33277,43 +33686,43 @@ var require_response2 = __commonJS({
     webidl.converters.URLSearchParams = webidl.interfaceConverter(
       URLSearchParams
     );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
       if (typeof V === "string") {
-        return webidl.converters.USVString(V);
+        return webidl.converters.USVString(V, prefix, name);
       }
       if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
       if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
       if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-      return webidl.converters.DOMString(V);
+      return webidl.converters.DOMString(V, prefix, name);
     };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
+    webidl.converters.BodyInit = function(V, prefix, argument) {
+      if (V instanceof ReadableStream) {
+        return webidl.converters.ReadableStream(V, prefix, argument);
       }
       if (V?.[Symbol.asyncIterator]) {
         return V;
       }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
     };
     webidl.converters.ResponseInit = webidl.dictionaryConverter([
       {
         key: "status",
         converter: webidl.converters["unsigned short"],
-        defaultValue: 200
+        defaultValue: () => 200
       },
       {
         key: "statusText",
         converter: webidl.converters.ByteString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "headers",
@@ -33321,30 +33730,73 @@ var require_response2 = __commonJS({
       }
     ]);
     module2.exports = {
+      isNetworkError,
       makeNetworkError,
       makeResponse,
       makeAppropriateNetworkError,
       filterResponse,
       Response,
-      cloneResponse
+      cloneResponse,
+      fromInnerResponse
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
+      }
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      }
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
+      }
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
+            }
+          });
+        }
+      }
+      unregister(key) {
+      }
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) {
+        process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
+      }
+      return { WeakRef, FinalizationRegistry };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
 var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
     var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
     var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
       isValidHTTPToken,
       sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
+      environmentSettingsObject
     } = require_util10();
     var {
       forbiddenMethodsSet,
@@ -33355,43 +33807,61 @@ var require_request4 = __commonJS({
       requestCredentials,
       requestCache,
       requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
     var kAbortController = /* @__PURE__ */ Symbol("abortController");
     var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
       signal.removeEventListener("abort", abort);
     });
+    var dependentControllerMap = /* @__PURE__ */ new WeakMap();
+    function buildAbort(acRef) {
+      return abort;
+      function abort() {
+        const ac = acRef.deref();
+        if (ac !== void 0) {
+          requestFinalizer.unregister(abort);
+          this.removeEventListener("abort", abort);
+          ac.abort(this.reason);
+          const controllerList = dependentControllerMap.get(ac.signal);
+          if (controllerList !== void 0) {
+            if (controllerList.size !== 0) {
+              for (const ref of controllerList) {
+                const ctrl = ref.deref();
+                if (ctrl !== void 0) {
+                  ctrl.abort(this.reason);
+                }
+              }
+              controllerList.clear();
+            }
+            dependentControllerMap.delete(ac.signal);
+          }
+        }
+      }
+    }
+    var patchMethodWarning = false;
     var Request = class _Request {
       // https://fetch.spec.whatwg.org/#dom-request
       constructor(input, init = {}) {
+        webidl.util.markAsUncloneable(this);
         if (input === kConstruct) {
           return;
         }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
+        const prefix = "Request constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        input = webidl.converters.RequestInfo(input, prefix, "input");
+        init = webidl.converters.RequestInit(init, prefix, "init");
         let request2 = null;
         let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
         let signal = null;
         if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
           let parsedURL;
           try {
             parsedURL = new URL(input, baseUrl);
@@ -33406,11 +33876,12 @@ var require_request4 = __commonJS({
           request2 = makeRequest({ urlList: [parsedURL] });
           fallbackMode = "cors";
         } else {
+          this[kDispatcher] = init.dispatcher || input[kDispatcher];
           assert(input instanceof _Request);
           request2 = input[kState];
           signal = input[kSignal];
         }
-        const origin = this[kRealm].settingsObject.origin;
+        const origin = environmentSettingsObject.settingsObject.origin;
         let window2 = "client";
         if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
           window2 = request2.window;
@@ -33432,7 +33903,7 @@ var require_request4 = __commonJS({
           // unsafe-request flag Set.
           unsafeRequest: request2.unsafeRequest,
           // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
+          client: environmentSettingsObject.settingsObject,
           // window window.
           window: window2,
           // priority request’s priority.
@@ -33488,7 +33959,7 @@ var require_request4 = __commonJS({
             } catch (err) {
               throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
             }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
               request2.referrer = "client";
             } else {
               request2.referrer = parsedReferrer;
@@ -33535,14 +34006,26 @@ var require_request4 = __commonJS({
         }
         if (init.method !== void 0) {
           let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
+          const mayBeNormalized = normalizedMethodRecords[method];
+          if (mayBeNormalized !== void 0) {
+            request2.method = mayBeNormalized;
+          } else {
+            if (!isValidHTTPToken(method)) {
+              throw new TypeError(`'${method}' is not a valid HTTP method.`);
+            }
+            const upperCase = method.toUpperCase();
+            if (forbiddenMethodsSet.has(upperCase)) {
+              throw new TypeError(`'${method}' HTTP method is unsupported.`);
+            }
+            method = normalizedMethodRecordsBase[upperCase] ?? method;
+            request2.method = method;
           }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          if (!patchMethodWarning && request2.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"
+            });
+            patchMethodWarning = true;
           }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
         }
         if (init.signal !== void 0) {
           signal = init.signal;
@@ -33550,7 +34033,6 @@ var require_request4 = __commonJS({
         this[kState] = request2;
         const ac = new AbortController();
         this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
         if (signal != null) {
           if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
             throw new TypeError(
@@ -33562,43 +34044,37 @@ var require_request4 = __commonJS({
           } else {
             this[kAbortController] = ac;
             const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
-              }
-            };
+            const abort = buildAbort(acRef);
             try {
               if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
+                setMaxListeners(1500, signal);
               } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+                setMaxListeners(1500, signal);
               }
             } catch {
             }
             util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
+            requestFinalizer.register(ac, { signal, abort }, abort);
           }
         }
         this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
+        setHeadersList(this[kHeaders], request2.headersList);
+        setHeadersGuard(this[kHeaders], "request");
         if (mode === "no-cors") {
           if (!corsSafeListedMethodsSet.has(request2.method)) {
             throw new TypeError(
               `'${request2.method} is unsupported in no-cors mode.`
             );
           }
-          this[kHeaders][kGuard] = "request-no-cors";
+          setHeadersGuard(this[kHeaders], "request-no-cors");
         }
         if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
+          const headersList = getHeadersList(this[kHeaders]);
           const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
           headersList.clear();
           if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
             }
             headersList.cookies = headers.cookies;
           } else {
@@ -33616,7 +34092,7 @@ var require_request4 = __commonJS({
             request2.keepalive
           );
           initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
             this[kHeaders].append("content-type", contentType);
           }
         }
@@ -33634,15 +34110,12 @@ var require_request4 = __commonJS({
         }
         let finalBody = inputOrInitBody;
         if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+          if (bodyUnusable(input)) {
             throw new TypeError(
               "Cannot construct a Request with a Request object that has already been used."
             );
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
-          }
-          const identityTransform = new TransformStream2();
+          const identityTransform = new TransformStream();
           inputBody.stream.pipeThrough(identityTransform);
           finalBody = {
             source: inputBody.source,
@@ -33745,7 +34218,7 @@ var require_request4 = __commonJS({
         return this[kState].reloadNavigation;
       }
       // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
+      // navigation (a.k.a. back-forward navigation).
       get isHistoryNavigation() {
         webidl.brandCheck(this, _Request);
         return this[kState].historyNavigation;
@@ -33772,83 +34245,112 @@ var require_request4 = __commonJS({
       // Returns a clone of request.
       clone() {
         webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
+        if (bodyUnusable(this)) {
           throw new TypeError("unusable");
         }
         const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
         const ac = new AbortController();
         if (this.signal.aborted) {
           ac.abort(this.signal.reason);
         } else {
+          let list = dependentControllerMap.get(this.signal);
+          if (list === void 0) {
+            list = /* @__PURE__ */ new Set();
+            dependentControllerMap.set(this.signal, list);
+          }
+          const acRef = new WeakRef(ac);
+          list.add(acRef);
           util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
+            ac.signal,
+            buildAbort(acRef)
           );
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
+        return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]));
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
     mixinBody(Request);
     function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
+      return {
+        method: init.method ?? "GET",
+        localURLsOnly: init.localURLsOnly ?? false,
+        unsafeRequest: init.unsafeRequest ?? false,
+        body: init.body ?? null,
+        client: init.client ?? null,
+        reservedClient: init.reservedClient ?? null,
+        replacesClientId: init.replacesClientId ?? "",
+        window: init.window ?? "client",
+        keepalive: init.keepalive ?? false,
+        serviceWorkers: init.serviceWorkers ?? "all",
+        initiator: init.initiator ?? "",
+        destination: init.destination ?? "",
+        priority: init.priority ?? null,
+        origin: init.origin ?? "client",
+        policyContainer: init.policyContainer ?? "client",
+        referrer: init.referrer ?? "client",
+        referrerPolicy: init.referrerPolicy ?? "",
+        mode: init.mode ?? "no-cors",
+        useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
+        credentials: init.credentials ?? "same-origin",
+        useCredentials: init.useCredentials ?? false,
+        cache: init.cache ?? "default",
+        redirect: init.redirect ?? "follow",
+        integrity: init.integrity ?? "",
+        cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "",
+        parserMetadata: init.parserMetadata ?? "",
+        reloadNavigation: init.reloadNavigation ?? false,
+        historyNavigation: init.historyNavigation ?? false,
+        userActivation: init.userActivation ?? false,
+        taintedOrigin: init.taintedOrigin ?? false,
+        redirectCount: init.redirectCount ?? 0,
+        responseTainting: init.responseTainting ?? "basic",
+        preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
+        done: init.done ?? false,
+        timingAllowFailed: init.timingAllowFailed ?? false,
+        urlList: init.urlList,
+        url: init.urlList[0],
         headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
       };
-      request2.url = request2.urlList[0];
-      return request2;
     }
     function cloneRequest(request2) {
       const newRequest = makeRequest({ ...request2, body: null });
       if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+        newRequest.body = cloneBody(newRequest, request2.body);
       }
       return newRequest;
     }
+    function fromInnerRequest(innerRequest, signal, guard) {
+      const request2 = new Request(kConstruct);
+      request2[kState] = innerRequest;
+      request2[kSignal] = signal;
+      request2[kHeaders] = new Headers(kConstruct);
+      setHeadersList(request2[kHeaders], innerRequest.headersList);
+      setHeadersGuard(request2[kHeaders], guard);
+      return request2;
+    }
     Object.defineProperties(Request.prototype, {
       method: kEnumerableProperty,
       url: kEnumerableProperty,
@@ -33878,14 +34380,14 @@ var require_request4 = __commonJS({
     webidl.converters.Request = webidl.interfaceConverter(
       Request
     );
-    webidl.converters.RequestInfo = function(V) {
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
       if (typeof V === "string") {
-        return webidl.converters.USVString(V);
+        return webidl.converters.USVString(V, prefix, argument);
       }
       if (V instanceof Request) {
-        return webidl.converters.Request(V);
+        return webidl.converters.Request(V, prefix, argument);
       }
-      return webidl.converters.USVString(V);
+      return webidl.converters.USVString(V, prefix, argument);
     };
     webidl.converters.AbortSignal = webidl.interfaceConverter(
       AbortSignal
@@ -33952,6 +34454,8 @@ var require_request4 = __commonJS({
         converter: webidl.nullableConverter(
           (signal) => webidl.converters.AbortSignal(
             signal,
+            "RequestInit",
+            "signal",
             { strict: false }
           )
         )
@@ -33964,26 +34468,31 @@ var require_request4 = __commonJS({
         key: "duplex",
         converter: webidl.converters.DOMString,
         allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
       }
     ]);
-    module2.exports = { Request, makeRequest };
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
 var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
       makeNetworkError,
       makeAppropriateNetworkError,
       filterResponse,
-      makeResponse
+      makeResponse,
+      fromInnerResponse
     } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib3 = require("zlib");
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib3 = require("node:zlib");
     var {
       bytesMatch,
       makePolicyContainer,
@@ -34012,31 +34521,33 @@ var require_fetch2 = __commonJS({
       isomorphicEncode,
       urlIsLocal,
       urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
     } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
     var {
       redirectStatusSet,
       nullBodyStatus,
       safeMethodsSet,
       requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable: Readable2, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable: Readable2, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
     var { getGlobalDispatcher } = require_global4();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
+    var { STATUS_CODES } = require("node:http");
     var GET_OR_HEAD = ["GET", "HEAD"];
+    var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
     var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
     var Fetch = class extends EE {
       constructor(dispatcher) {
         super();
@@ -34044,7 +34555,6 @@ var require_fetch2 = __commonJS({
         this.connection = null;
         this.dump = false;
         this.state = "ongoing";
-        this.setMaxListeners(21);
       }
       terminate(reason) {
         if (this.state !== "ongoing") {
@@ -34061,16 +34571,19 @@ var require_fetch2 = __commonJS({
         }
         this.state = "aborted";
         if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
         this.serializedAbortReason = error3;
         this.connection?.destroy(error3);
         this.emit("terminated", error3);
       }
     };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
+    function handleFetchDone(response) {
+      finalizeAndReportTiming(response, "fetch");
+    }
+    function fetch(input, init = void 0) {
+      webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
+      let p = createDeferredPromise();
       let requestObject;
       try {
         requestObject = new Request(input, init);
@@ -34088,7 +34601,6 @@ var require_fetch2 = __commonJS({
         request2.serviceWorkers = "none";
       }
       let responseObject = null;
-      const relevantRealm = null;
       let locallyAborted = false;
       let controller = null;
       addAbortListener(
@@ -34097,37 +34609,31 @@ var require_fetch2 = __commonJS({
           locallyAborted = true;
           assert(controller != null);
           controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
       );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
       const processResponse = (response) => {
         if (locallyAborted) {
-          return Promise.resolve();
+          return;
         }
         if (response.aborted) {
           abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+          return;
         }
         if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
       };
       controller = fetching({
         request: request2,
         processResponseEndOfBody: handleFetchDone,
         processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        dispatcher: requestObject[kDispatcher]
         // undici
       });
       return p.promise;
@@ -34158,22 +34664,17 @@ var require_fetch2 = __commonJS({
       response.timingInfo = timingInfo;
       markResourceTiming(
         timingInfo,
-        originalURL,
+        originalURL.href,
         initiatorType,
         globalThis,
         cacheState
       );
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
-      }
-    }
+    var markResourceTiming = performance.markResourceTiming;
     function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+      if (p) {
+        p.reject(error3);
       }
-      p.reject(error3);
       if (request2.body != null && isReadable(request2.body?.stream)) {
         request2.body.stream.cancel(error3).catch((err) => {
           if (err.code === "ERR_INVALID_STATE") {
@@ -34203,18 +34704,19 @@ var require_fetch2 = __commonJS({
       processResponseEndOfBody,
       processResponseConsumeBody,
       useParallelQueue = false,
-      dispatcher
+      dispatcher = getGlobalDispatcher()
       // undici
     }) {
+      assert(dispatcher);
       let taskDestination = null;
       let crossOriginIsolatedCapability = false;
       if (request2.client != null) {
         taskDestination = request2.client.globalObject;
         crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
       const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
+        startTime: currentTime
       });
       const fetchParams = {
         controller: new Fetch(dispatcher),
@@ -34233,7 +34735,7 @@ var require_fetch2 = __commonJS({
         request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
       if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
+        request2.origin = request2.client.origin;
       }
       if (request2.policyContainer === "client") {
         if (request2.client != null) {
@@ -34244,12 +34746,12 @@ var require_fetch2 = __commonJS({
           request2.policyContainer = makePolicyContainer();
         }
       }
-      if (!request2.headersList.contains("accept")) {
+      if (!request2.headersList.contains("accept", true)) {
         const value = "*/*";
-        request2.headersList.append("accept", value);
+        request2.headersList.append("accept", value, true);
       }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
       }
       if (request2.priority === null) {
       }
@@ -34331,7 +34833,7 @@ var require_fetch2 = __commonJS({
       if (!request2.timingAllowFailed) {
         response.timingAllowPassed = true;
       }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) {
         response = internalResponse = makeNetworkError();
       }
       if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
@@ -34369,28 +34871,56 @@ var require_fetch2 = __commonJS({
         }
         case "blob:": {
           if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
           }
           const blobURLEntry = requestCurrentURL(request2);
           if (blobURLEntry.search.length !== 0) {
             return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
           }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
             return Promise.resolve(makeNetworkError("invalid method"));
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = blob.type;
+          if (!request2.headersList.contains("range", true)) {
+            const bodyWithType = extractBody(blob);
+            response.statusText = "OK";
+            response.body = bodyWithType[0];
+            response.headersList.set("content-length", serializedFullLength, true);
+            response.headersList.set("content-type", type2, true);
+          } else {
+            response.rangeRequested = true;
+            const rangeHeader = request2.headersList.get("range", true);
+            const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
+            if (rangeValue === "failure") {
+              return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+            }
+            let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
+            if (rangeStart === null) {
+              rangeStart = fullLength - rangeEnd;
+              rangeEnd = rangeStart + rangeEnd - 1;
+            } else {
+              if (rangeStart >= fullLength) {
+                return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
+              }
+              if (rangeEnd === null || rangeEnd >= fullLength) {
+                rangeEnd = fullLength - 1;
+              }
+            }
+            const slicedBlob = blob.slice(rangeStart, rangeEnd, type2);
+            const slicedBodyWithType = extractBody(slicedBlob);
+            response.body = slicedBodyWithType[0];
+            const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
+            const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
+            response.status = 206;
+            response.statusText = "Partial Content";
+            response.headersList.set("content-length", serializedSlicedLength, true);
+            response.headersList.set("content-type", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
           return Promise.resolve(response);
         }
         case "data:": {
@@ -34427,52 +34957,59 @@ var require_fetch2 = __commonJS({
       }
     }
     function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
-      }
+      let timingInfo = fetchParams.timingInfo;
       const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        const unsafeEndTime = Date.now();
+        if (fetchParams.request.destination === "document") {
+          fetchParams.controller.fullTimingInfo = timingInfo;
         }
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
+          }
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
+          }
+          let responseStatus = 0;
+          if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
+            responseStatus = response.status;
+            const mimeType = extractMimeType(response.headersList);
+            if (mimeType !== "failure") {
+              bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
+            }
+          }
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
+          }
+        };
+        const processResponseEndOfBodyTask = () => {
+          fetchParams.request.done = true;
+          if (fetchParams.processResponseEndOfBody != null) {
+            queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+          }
+          if (fetchParams.request.initiatorType != null) {
+            fetchParams.controller.reportTimingSteps();
+          }
+        };
+        queueMicrotask(() => processResponseEndOfBodyTask());
       };
       if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
+        });
       }
-      if (response.body == null) {
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
         processResponseEndOfBody();
       } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
         });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
-      }
-      if (fetchParams.processResponseConsumeBody != null) {
-        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
-        } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
-        }
-        return Promise.resolve();
       }
     }
     async function httpFetch(fetchParams) {
@@ -34504,7 +35041,7 @@ var require_fetch2 = __commonJS({
       }
       if (redirectStatusSet.has(actualResponse.status)) {
         if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
+          fetchParams.controller.connection.destroy(void 0, false);
         }
         if (request2.redirect === "error") {
           response = makeNetworkError("unexpected redirect");
@@ -34560,10 +35097,10 @@ var require_fetch2 = __commonJS({
         }
       }
       if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
+        request2.headersList.delete("authorization", true);
         request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
       }
       if (request2.body != null) {
         assert(request2.body.source != null);
@@ -34589,7 +35126,7 @@ var require_fetch2 = __commonJS({
         httpFetchParams = fetchParams;
         httpRequest = request2;
       } else {
-        httpRequest = makeRequest(request2);
+        httpRequest = cloneRequest(request2);
         httpFetchParams = { ...fetchParams };
         httpFetchParams.request = httpRequest;
       }
@@ -34603,52 +35140,52 @@ var require_fetch2 = __commonJS({
         contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
       if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
       if (contentLength != null && httpRequest.keepalive) {
       }
       if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
       appendRequestOriginHeader(httpRequest);
       appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
         httpRequest.cache = "no-store";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
+        httpRequest.headersList.append("cache-control", "max-age=0", true);
       }
       if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
         }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
         if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      httpRequest.headersList.delete("host");
+      httpRequest.headersList.delete("host", true);
       if (includeCredentials) {
       }
       if (httpCache == null) {
         httpRequest.cache = "no-store";
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
       }
       if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
+        if (httpRequest.cache === "only-if-cached") {
           return makeNetworkError("only if cached");
         }
         const forwardResponse = await httpNetworkFetch(
@@ -34665,7 +35202,7 @@ var require_fetch2 = __commonJS({
         }
       }
       response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
+      if (httpRequest.headersList.contains("range", true)) {
         response.rangeRequested = true;
       }
       response.requestIncludesCredentials = includeCredentials;
@@ -34703,10 +35240,12 @@ var require_fetch2 = __commonJS({
       fetchParams.controller.connection = {
         abort: null,
         destroyed: false,
-        destroy(err) {
+        destroy(err, abort = true) {
           if (!this.destroyed) {
             this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
           }
         }
       };
@@ -34777,16 +35316,15 @@ var require_fetch2 = __commonJS({
         }
         return makeNetworkError(err);
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
       };
       const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
+        }
       };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      const stream2 = new ReadableStream2(
+      const stream2 = new ReadableStream(
         {
           async start(controller) {
             fetchParams.controller.controller = controller;
@@ -34796,16 +35334,12 @@ var require_fetch2 = __commonJS({
           },
           async cancel(reason) {
             await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+          },
+          type: "bytes"
         }
       );
-      response.body = { stream: stream2 };
+      response.body = { stream: stream2, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
       fetchParams.controller.on("terminated", onAborted);
       fetchParams.controller.resume = async () => {
         while (true) {
@@ -34835,12 +35369,15 @@ var require_fetch2 = __commonJS({
             fetchParams.controller.terminate(bytes);
             return;
           }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
           if (isErrored(stream2)) {
             fetchParams.controller.terminate();
             return;
           }
-          if (!fetchParams.controller.controller.desiredSize) {
+          if (fetchParams.controller.controller.desiredSize <= 0) {
             return;
           }
         }
@@ -34863,7 +35400,7 @@ var require_fetch2 = __commonJS({
         fetchParams.controller.connection.destroy();
       }
       return response;
-      async function dispatch({ body }) {
+      function dispatch({ body }) {
         const url2 = requestCurrentURL(request2);
         const agent = fetchParams.controller.dispatcher;
         return new Promise((resolve8, reject) => agent.dispatch(
@@ -34871,7 +35408,7 @@ var require_fetch2 = __commonJS({
             path: url2.pathname + url2.search,
             origin: url2.origin,
             method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
             headers: request2.headersList.entries,
             maxRedirections: 0,
             upgrade: request2.mode === "websocket" ? "websocket" : void 0
@@ -34881,48 +35418,41 @@ var require_fetch2 = __commonJS({
             abort: null,
             onConnect(abort) {
               const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
               if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
+                abort(new DOMException("The operation was aborted.", "AbortError"));
               } else {
                 fetchParams.controller.on("terminated", abort);
                 this.abort = connection.abort = abort;
               }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
             },
-            onHeaders(status, headersList, resume, statusText) {
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
               if (status < 200) {
                 return;
               }
-              let codings = [];
               let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
               }
+              location = headersList.get("location", true);
               this.body = new Readable2({ read: resume });
               const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
               if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
                   if (coding === "x-gzip" || coding === "gzip") {
                     decoders.push(zlib3.createGunzip({
                       // Be less strict when decoding compressed responses, since sometimes
@@ -34933,22 +35463,31 @@ var require_fetch2 = __commonJS({
                       finishFlush: zlib3.constants.Z_SYNC_FLUSH
                     }));
                   } else if (coding === "deflate") {
-                    decoders.push(zlib3.createInflate());
+                    decoders.push(createInflate({
+                      flush: zlib3.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib3.constants.Z_SYNC_FLUSH
+                    }));
                   } else if (coding === "br") {
-                    decoders.push(zlib3.createBrotliDecompress());
+                    decoders.push(zlib3.createBrotliDecompress({
+                      flush: zlib3.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib3.constants.BROTLI_OPERATION_FLUSH
+                    }));
                   } else {
                     decoders.length = 0;
                     break;
                   }
                 }
               }
+              const onError = this.onError.bind(this);
               resolve8({
                 status,
                 statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
               });
               return true;
             },
@@ -34964,6 +35503,9 @@ var require_fetch2 = __commonJS({
               if (this.abort) {
                 fetchParams.controller.off("terminated", this.abort);
               }
+              if (fetchParams.controller.onAborted) {
+                fetchParams.controller.off("terminated", fetchParams.controller.onAborted);
+              }
               fetchParams.controller.ended = true;
               this.body.push(null);
             },
@@ -34975,20 +35517,18 @@ var require_fetch2 = __commonJS({
               fetchParams.controller.terminate(error3);
               reject(error3);
             },
-            onUpgrade(status, headersList, socket) {
+            onUpgrade(status, rawHeaders, socket) {
               if (status !== 101) {
                 return;
               }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
               }
               resolve8({
                 status,
                 statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
+                headersList,
                 socket
               });
               return true;
@@ -35006,9 +35546,9 @@ var require_fetch2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
 var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kState: /* @__PURE__ */ Symbol("FileReader state"),
@@ -35021,15 +35561,15 @@ var require_symbols8 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
 var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
     var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
     var ProgressEvent = class _ProgressEvent extends Event {
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
         eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
         super(type2, eventInitDict);
         this[kState] = {
@@ -35055,32 +35595,32 @@ var require_progressevent2 = __commonJS({
       {
         key: "lengthComputable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "loaded",
         converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "total",
         converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ]);
     module2.exports = {
@@ -35089,9 +35629,9 @@ var require_progressevent2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/encoding.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
 var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
     "use strict";
     function getEncoding(label) {
       if (!label) {
@@ -35375,9 +35915,9 @@ var require_encoding2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
 var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
     var {
       kState,
@@ -35388,11 +35928,10 @@ var require_util12 = __commonJS({
     } = require_symbols8();
     var { ProgressEvent } = require_progressevent2();
     var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
     var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
+    var { btoa: btoa2 } = require("node:buffer");
     var staticPropertyDescriptors = {
       enumerable: true,
       writable: false,
@@ -35400,7 +35939,7 @@ var require_util12 = __commonJS({
     };
     function readOperation(fr, blob, type2, encodingName) {
       if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
+        throw new DOMException("Invalid state", "InvalidStateError");
       }
       fr[kState] = "loading";
       fr[kResult] = null;
@@ -35561,9 +36100,9 @@ var require_util12 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
 var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
       staticPropertyDescriptors,
@@ -35600,7 +36139,7 @@ var require_filereader2 = __commonJS({
        */
       readAsArrayBuffer(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "ArrayBuffer");
       }
@@ -35610,7 +36149,7 @@ var require_filereader2 = __commonJS({
        */
       readAsBinaryString(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "BinaryString");
       }
@@ -35621,10 +36160,10 @@ var require_filereader2 = __commonJS({
        */
       readAsText(blob, encoding = void 0) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
         blob = webidl.converters.Blob(blob, { strict: false });
         if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
         }
         readOperation(this, blob, "Text", encoding);
       }
@@ -35634,7 +36173,7 @@ var require_filereader2 = __commonJS({
        */
       readAsDataURL(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "DataURL");
       }
@@ -35820,9 +36359,9 @@ var require_filereader2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
 var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kConstruct: require_symbols6().kConstruct
@@ -35830,55 +36369,50 @@ var require_symbols9 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
 var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
     var { isValidHeaderName } = require_util10();
     function urlEquals(A, B, excludeFragment = false) {
       const serializedA = URLSerializer(A, excludeFragment);
       const serializedB = URLSerializer(B, excludeFragment);
       return serializedA === serializedB;
     }
-    function fieldValues(header) {
+    function getFieldValues(header) {
       assert(header !== null);
       const values = [];
       for (let value of header.split(",")) {
         value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+        if (isValidHeaderName(value)) {
+          values.push(value);
         }
-        values.push(value);
       }
       return values;
     }
     module2.exports = {
       urlEquals,
-      fieldValues
+      getFieldValues
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
 var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
     "use strict";
     var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
+    var { urlEquals, getFieldValues } = require_util13();
     var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
     var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
     var { fetching } = require_fetch2();
     var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
+    var assert = require("node:assert");
     var Cache = class _Cache {
       /**
        * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
@@ -35889,14 +36423,16 @@ var require_cache2 = __commonJS({
         if (arguments[0] !== kConstruct) {
           webidl.illegalConstructor();
         }
+        webidl.util.markAsUncloneable(this);
         this.#relevantRequestResponseList = arguments[1];
       }
       async match(request2, options = {}) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
+        const prefix = "Cache.match";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        const p = this.#internalMatchAll(request2, options, 1);
         if (p.length === 0) {
           return;
         }
@@ -35904,64 +36440,42 @@ var require_cache2 = __commonJS({
       }
       async matchAll(request2 = void 0, options = {}) {
         webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
-            }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
-          }
-        }
-        const responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
-          }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
-          }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
+        const prefix = "Cache.matchAll";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        return this.#internalMatchAll(request2, options);
       }
       async add(request2) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
+        const prefix = "Cache.add";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
         const requests = [request2];
         const responseArrayPromise = this.addAll(requests);
         return await responseArrayPromise;
       }
       async addAll(requests) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         const responsePromises = [];
         const requestList = [];
-        for (const request2 of requests) {
+        for (let request2 of requests) {
+          if (request2 === void 0) {
+            throw webidl.errors.conversionFailed({
+              prefix,
+              argument: "Argument 1",
+              types: ["undefined is not allowed"]
+            });
+          }
+          request2 = webidl.converters.RequestInfo(request2);
           if (typeof request2 === "string") {
             continue;
           }
           const r = request2[kState];
           if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
             throw webidl.errors.exception({
-              header: "Cache.addAll",
+              header: prefix,
               message: "Expected http/s scheme when method is not GET."
             });
           }
@@ -35971,7 +36485,7 @@ var require_cache2 = __commonJS({
           const r = new Request(request2)[kState];
           if (!urlIsHttpHttpsScheme(r.url)) {
             throw webidl.errors.exception({
-              header: "Cache.addAll",
+              header: prefix,
               message: "Expected http/s scheme."
             });
           }
@@ -35981,7 +36495,6 @@ var require_cache2 = __commonJS({
           const responsePromise = createDeferredPromise();
           fetchControllers.push(fetching({
             request: r,
-            dispatcher: getGlobalDispatcher(),
             processResponse(response) {
               if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
                 responsePromise.reject(webidl.errors.exception({
@@ -36048,9 +36561,10 @@ var require_cache2 = __commonJS({
       }
       async put(request2, response) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
+        const prefix = "Cache.put";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        response = webidl.converters.Response(response, prefix, "response");
         let innerRequest = null;
         if (request2 instanceof Request) {
           innerRequest = request2[kState];
@@ -36059,14 +36573,14 @@ var require_cache2 = __commonJS({
         }
         if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            header: prefix,
             message: "Expected an http/s scheme when method is not GET"
           });
         }
         const innerResponse = response[kState];
         if (innerResponse.status === 206) {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            header: prefix,
             message: "Got 206 status"
           });
         }
@@ -36075,7 +36589,7 @@ var require_cache2 = __commonJS({
           for (const fieldValue of fieldValues) {
             if (fieldValue === "*") {
               throw webidl.errors.exception({
-                header: "Cache.put",
+                header: prefix,
                 message: "Got * vary field value"
               });
             }
@@ -36083,7 +36597,7 @@ var require_cache2 = __commonJS({
         }
         if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            header: prefix,
             message: "Response body is locked or disturbed"
           });
         }
@@ -36128,9 +36642,10 @@ var require_cache2 = __commonJS({
       }
       async delete(request2, options = {}) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
+        const prefix = "Cache.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
         let r = null;
         if (request2 instanceof Request) {
           r = request2[kState];
@@ -36169,12 +36684,13 @@ var require_cache2 = __commonJS({
        * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
        * @param {any} request
        * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
+       * @returns {Promise}
        */
       async keys(request2 = void 0, options = {}) {
         webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
         let r = null;
         if (request2 !== void 0) {
           if (request2 instanceof Request) {
@@ -36201,11 +36717,11 @@ var require_cache2 = __commonJS({
         queueMicrotask(() => {
           const requestList = [];
           for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
             requestList.push(requestObject);
           }
           promise.resolve(Object.freeze(requestList));
@@ -36346,6 +36862,39 @@ var require_cache2 = __commonJS({
         }
         return true;
       }
+      #internalMatchAll(request2, options, maxResponses = Infinity) {
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
+          }
+        }
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
+          }
+        }
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = fromInnerResponse(response, "immutable");
+          responseList.push(responseObject.clone());
+          if (responseList.length >= maxResponses) {
+            break;
+          }
+        }
+        return Object.freeze(responseList);
+      }
     };
     Object.defineProperties(Cache.prototype, {
       [Symbol.toStringTag]: {
@@ -36364,17 +36913,17 @@ var require_cache2 = __commonJS({
       {
         key: "ignoreSearch",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "ignoreMethod",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "ignoreVary",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ];
     webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
@@ -36395,9 +36944,9 @@ var require_cache2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/cachestorage.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
 var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
     "use strict";
     var { kConstruct } = require_symbols9();
     var { Cache } = require_cache2();
@@ -36413,10 +36962,11 @@ var require_cachestorage2 = __commonJS({
         if (arguments[0] !== kConstruct) {
           webidl.illegalConstructor();
         }
+        webidl.util.markAsUncloneable(this);
       }
       async match(request2, options = {}) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
         request2 = webidl.converters.RequestInfo(request2);
         options = webidl.converters.MultiCacheQueryOptions(options);
         if (options.cacheName != null) {
@@ -36442,8 +36992,9 @@ var require_cachestorage2 = __commonJS({
        */
       async has(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
         return this.#caches.has(cacheName);
       }
       /**
@@ -36453,8 +37004,9 @@ var require_cachestorage2 = __commonJS({
        */
       async open(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        const prefix = "CacheStorage.open";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
         if (this.#caches.has(cacheName)) {
           const cache2 = this.#caches.get(cacheName);
           return new Cache(kConstruct, cache2);
@@ -36470,13 +37022,14 @@ var require_cachestorage2 = __commonJS({
        */
       async delete(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        const prefix = "CacheStorage.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
         return this.#caches.delete(cacheName);
       }
       /**
        * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
+       * @returns {Promise}
        */
       async keys() {
         webidl.brandCheck(this, _CacheStorage);
@@ -36501,9 +37054,9 @@ var require_cachestorage2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
 var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
     "use strict";
     var maxAttributeValueSize = 1024;
     var maxNameValuePairSize = 4096;
@@ -36514,42 +37067,73 @@ var require_constants9 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
 var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
     "use strict";
     function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
+      for (let i = 0; i < value.length; ++i) {
+        const code = value.charCodeAt(i);
+        if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
+          return true;
         }
       }
+      return false;
     }
     function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+      for (let i = 0; i < name.length; ++i) {
+        const code = name.charCodeAt(i);
+        if (code < 33 || // exclude CTLs (0-31), SP and HT
+        code > 126 || // exclude non-ascii and DEL
+        code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 60 || // <
+        code === 62 || // >
+        code === 64 || // @
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 58 || // :
+        code === 92 || // \
+        code === 47 || // /
+        code === 91 || // [
+        code === 93 || // ]
+        code === 63 || // ?
+        code === 61 || // =
+        code === 123 || // {
+        code === 125) {
           throw new Error("Invalid cookie name");
         }
       }
     }
     function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
+      let len = value.length;
+      let i = 0;
+      if (value[0] === '"') {
+        if (len === 1 || value[len - 1] !== '"') {
+          throw new Error("Invalid cookie value");
+        }
+        --len;
+        ++i;
+      }
+      while (i < len) {
+        const code = value.charCodeAt(i++);
         if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
         }
       }
     }
     function validateCookiePath(path16) {
-      for (const char of path16) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
+      for (let i = 0; i < path16.length; ++i) {
+        const code = path16.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
           throw new Error("Invalid cookie path");
         }
       }
@@ -36559,41 +37143,35 @@ var require_util14 = __commonJS({
         throw new Error("Invalid cookie domain");
       }
     }
+    var IMFDays = [
+      "Sun",
+      "Mon",
+      "Tue",
+      "Wed",
+      "Thu",
+      "Fri",
+      "Sat"
+    ];
+    var IMFMonths = [
+      "Jan",
+      "Feb",
+      "Mar",
+      "Apr",
+      "May",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Oct",
+      "Nov",
+      "Dec"
+    ];
+    var IMFPaddedNumbers = Array(61).fill(0).map((_2, i) => i.toString().padStart(2, "0"));
     function toIMFDate(date) {
       if (typeof date === "number") {
         date = new Date(date);
       }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
+      return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`;
     }
     function validateCookieMaxAge(maxAge) {
       if (maxAge < 0) {
@@ -36659,14 +37237,14 @@ var require_util14 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
 var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
     "use strict";
     var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
     var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
     function parseSetCookie(header) {
       if (isCTLExcludingHtab(header)) {
         return null;
@@ -36799,16 +37377,16 @@ var require_parse2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
 var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
     var { parseSetCookie } = require_parse2();
     var { stringify } = require_util14();
     var { webidl } = require_webidl2();
     var { Headers } = require_headers2();
     function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
       webidl.brandCheck(headers, Headers, { strict: false });
       const cookie = headers.get("cookie");
       const out = {};
@@ -36822,9 +37400,10 @@ var require_cookies2 = __commonJS({
       return out;
     }
     function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
       webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
       attributes = webidl.converters.DeleteCookieAttributes(attributes);
       setCookie(headers, {
         name,
@@ -36834,7 +37413,7 @@ var require_cookies2 = __commonJS({
       });
     }
     function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
       webidl.brandCheck(headers, Headers, { strict: false });
       const cookies = headers.getSetCookie();
       if (!cookies) {
@@ -36843,24 +37422,24 @@ var require_cookies2 = __commonJS({
       return cookies.map((pair) => parseSetCookie(pair));
     }
     function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
       webidl.brandCheck(headers, Headers, { strict: false });
       cookie = webidl.converters.Cookie(cookie);
       const str2 = stringify(cookie);
       if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
+        headers.append("Set-Cookie", str2);
       }
     }
     webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "path",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "domain",
-        defaultValue: null
+        defaultValue: () => null
       }
     ]);
     webidl.converters.Cookie = webidl.dictionaryConverter([
@@ -36880,32 +37459,32 @@ var require_cookies2 = __commonJS({
           return new Date(value);
         }),
         key: "expires",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters["long long"]),
         key: "maxAge",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "domain",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "path",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.boolean),
         key: "secure",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.boolean),
         key: "httpOnly",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.converters.USVString,
@@ -36915,7 +37494,7 @@ var require_cookies2 = __commonJS({
       {
         converter: webidl.sequenceConverter(webidl.converters.DOMString),
         key: "unparsed",
-        defaultValue: []
+        defaultValue: () => new Array(0)
       }
     ]);
     module2.exports = {
@@ -36927,82 +37506,29 @@ var require_cookies2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
-    "use strict";
-    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    var states = {
-      CONNECTING: 0,
-      OPEN: 1,
-      CLOSING: 2,
-      CLOSED: 3
-    };
-    var opcodes = {
-      CONTINUATION: 0,
-      TEXT: 1,
-      BINARY: 2,
-      CLOSE: 8,
-      PING: 9,
-      PONG: 10
-    };
-    var maxUnsigned16Bit = 2 ** 16 - 1;
-    var parserStates = {
-      INFO: 0,
-      PAYLOADLENGTH_16: 2,
-      PAYLOADLENGTH_64: 3,
-      READ_DATA: 4
-    };
-    var emptyBuffer = Buffer.allocUnsafe(0);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
 var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
     var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
     var MessageEvent = class _MessageEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
         this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
       get data() {
         webidl.brandCheck(this, _MessageEvent);
@@ -37029,7 +37555,7 @@ var require_events2 = __commonJS({
       }
       initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
         webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
         return new _MessageEvent(type2, {
           bubbles,
           cancelable,
@@ -37040,15 +37566,29 @@ var require_events2 = __commonJS({
           ports
         });
       }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, init);
+        messageEvent.#eventInit = init;
+        messageEvent.#eventInit.data ??= null;
+        messageEvent.#eventInit.origin ??= "";
+        messageEvent.#eventInit.lastEventId ??= "";
+        messageEvent.#eventInit.source ??= null;
+        messageEvent.#eventInit.ports ??= [];
+        return messageEvent;
+      }
     };
+    var { createFastMessageEvent } = MessageEvent;
+    delete MessageEvent.createFastMessageEvent;
     var CloseEvent = class _CloseEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
         eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
         super(type2, eventInitDict);
         this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
       get wasClean() {
         webidl.brandCheck(this, _CloseEvent);
@@ -37066,9 +37606,11 @@ var require_events2 = __commonJS({
     var ErrorEvent = class _ErrorEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
         eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
         this.#eventInit = eventInitDict;
       }
@@ -37133,17 +37675,17 @@ var require_events2 = __commonJS({
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ];
     webidl.converters.MessageEventInit = webidl.dictionaryConverter([
@@ -37151,31 +37693,29 @@ var require_events2 = __commonJS({
       {
         key: "data",
         converter: webidl.converters.any,
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         key: "origin",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "lastEventId",
         converter: webidl.converters.DOMString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "source",
         // Node doesn't implement WindowProxy or ServiceWorker, so the only
         // valid value for source is a MessagePort.
         converter: webidl.nullableConverter(webidl.converters.MessagePort),
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         key: "ports",
         converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
-        }
+        defaultValue: () => new Array(0)
       }
     ]);
     webidl.converters.CloseEventInit = webidl.dictionaryConverter([
@@ -37183,17 +37723,17 @@ var require_events2 = __commonJS({
       {
         key: "wasClean",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "code",
         converter: webidl.converters["unsigned short"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "reason",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       }
     ]);
     webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
@@ -37201,22 +37741,22 @@ var require_events2 = __commonJS({
       {
         key: "message",
         converter: webidl.converters.DOMString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "filename",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "lineno",
         converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "colno",
         converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "error",
@@ -37226,18 +37766,98 @@ var require_events2 = __commonJS({
     module2.exports = {
       MessageEvent,
       CloseEvent,
-      ErrorEvent
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/websocket/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
+    "use strict";
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var sentCloseFrameState = {
+      NOT_SENT: 0,
+      PROCESSING: 1,
+      SENT: 2
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    var sendHints = {
+      string: 1,
+      typedArray: 2,
+      arrayBuffer: 3,
+      blob: 4
+    };
+    module2.exports = {
+      uid,
+      sentCloseFrameState,
+      staticPropertyDescriptors,
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
 var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
     "use strict";
     var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
     var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
+    }
     function isEstablished(ws) {
       return ws[kReadyState] === states.OPEN;
     }
@@ -37247,8 +37867,8 @@ var require_util15 = __commonJS({
     function isClosed(ws) {
       return ws[kReadyState] === states.CLOSED;
     }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
       target.dispatchEvent(event);
     }
     function websocketMessageReceived(ws, type2, data) {
@@ -37258,7 +37878,7 @@ var require_util15 = __commonJS({
       let dataForEvent;
       if (type2 === opcodes.TEXT) {
         try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+          dataForEvent = utf8Decode(data);
         } catch {
           failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           return;
@@ -37267,22 +37887,44 @@ var require_util15 = __commonJS({
         if (ws[kBinaryType] === "blob") {
           dataForEvent = new Blob([data]);
         } else {
-          dataForEvent = new Uint8Array(data).buffer;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      fireEvent("message", ws, MessageEvent, {
+      fireEvent("message", ws, createFastMessageEvent, {
         origin: ws[kWebSocketURL].origin,
         data: dataForEvent
       });
     }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
+      }
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
     function isValidSubprotocol(protocol) {
       if (protocol.length === 0) {
         return false;
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
+      for (let i = 0; i < protocol.length; ++i) {
+        const code = protocol.charCodeAt(i);
+        if (code < 33 || // CTL, contains SP (0x20) and HT (0x09)
+        code > 126 || code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 44 || // ,
+        code === 47 || // /
+        code === 58 || // :
+        code === 59 || // ;
+        code === 60 || // <
+        code === 61 || // =
+        code === 62 || // >
+        code === 63 || // ?
+        code === 64 || // @
+        code === 91 || // [
+        code === 92 || // \
+        code === 93 || // ]
+        code === 123 || // {
+        code === 125) {
           return false;
         }
       }
@@ -37303,12 +37945,57 @@ var require_util15 = __commonJS({
         response.socket.destroy();
       }
       if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
         });
       }
     }
+    function isControlFrame(opcode) {
+      return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
+    }
+    function isContinuationFrame(opcode) {
+      return opcode === opcodes.CONTINUATION;
+    }
+    function isTextBinaryFrame(opcode) {
+      return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
+    }
+    function isValidOpcode(opcode) {
+      return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
+    }
+    function parseExtensions(extensions) {
+      const position = { position: 0 };
+      const extensionList = /* @__PURE__ */ new Map();
+      while (position.position < extensions.length) {
+        const pair = collectASequenceOfCodePointsFast(";", extensions, position);
+        const [name, value = ""] = pair.split("=");
+        extensionList.set(
+          removeHTTPWhitespace(name, true, false),
+          removeHTTPWhitespace(value, false, true)
+        );
+        position.position++;
+      }
+      return extensionList;
+    }
+    function isValidClientWindowBits(value) {
+      for (let i = 0; i < value.length; i++) {
+        const byte = value.charCodeAt(i);
+        if (byte < 48 || byte > 57) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var hasIntl = typeof process.versions.icu === "string";
+    var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0;
+    var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) {
+      if (isUtf8(buffer)) {
+        return buffer.toString("utf-8");
+      }
+      throw new TypeError("Invalid utf-8 received.");
+    };
     module2.exports = {
+      isConnecting,
       isEstablished,
       isClosing,
       isClosed,
@@ -37316,44 +38003,126 @@ var require_util15 = __commonJS({
       isValidSubprotocol,
       isValidStatusCode,
       failWebsocketConnection,
-      websocketMessageReceived
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync2(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
+        }
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
+      }
+      return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]];
+    }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+      }
+      createFrame(opcode) {
+        const frameData = this.frameData;
+        const maskKey = generateMask();
+        const bodyLength = frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
+        }
+        const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
+        buffer2[0] = buffer2[1] = 0;
+        buffer2[0] |= 128;
+        buffer2[0] = (buffer2[0] & 240) + opcode;
+        buffer2[offset - 4] = maskKey[0];
+        buffer2[offset - 3] = maskKey[1];
+        buffer2[offset - 2] = maskKey[2];
+        buffer2[offset - 1] = maskKey[3];
+        buffer2[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer2.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer2[2] = buffer2[3] = 0;
+          buffer2.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer2[1] |= 128;
+        for (let i = 0; i < bodyLength; ++i) {
+          buffer2[offset + i] = frameData[i] ^ maskKey[i & 3];
+        }
+        return buffer2;
+      }
+    };
+    module2.exports = {
+      WebsocketFrameSend
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
 var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
     var {
       kReadyState,
       kSentClose,
       kByteParser,
-      kReceivedClose
+      kReceivedClose,
+      kResponse
     } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
     var { CloseEvent } = require_events2();
     var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
     var crypto2;
     try {
-      crypto2 = require("crypto");
+      crypto2 = require("node:crypto");
     } catch {
     }
-    function establishWebSocketConnection(url2, protocols, ws, onEstablish, options) {
+    function establishWebSocketConnection(url2, protocols, client, ws, onEstablish, options) {
       const requestURL = url2;
       requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:";
       const request2 = makeRequest({
         urlList: [requestURL],
+        client,
         serviceWorkers: "none",
         referrer: "no-referrer",
         mode: "websocket",
@@ -37362,7 +38131,7 @@ var require_connection2 = __commonJS({
         redirect: "error"
       });
       if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
+        const headersList = getHeadersList(new Headers(options.headers));
         request2.headersList = headersList;
       }
       const keyValue = crypto2.randomBytes(16).toString("base64");
@@ -37371,11 +38140,12 @@ var require_connection2 = __commonJS({
       for (const protocol of protocols) {
         request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      const permessageDeflate = "";
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
       const controller = fetching({
         request: request2,
         useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        dispatcher: options.dispatcher,
         processResponse(response) {
           if (response.type === "error" || response.status !== 101) {
             failWebsocketConnection(ws, "Received network error or non-101 status code.");
@@ -37400,14 +38170,21 @@ var require_connection2 = __commonJS({
             return;
           }
           const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
+          let extensions;
+          if (secExtension !== null) {
+            extensions = parseExtensions(secExtension);
+            if (!extensions.has("permessage-deflate")) {
+              failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match.");
+              return;
+            }
           }
           const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
+          if (secProtocol !== null) {
+            const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList);
+            if (!requestProtocols.includes(secProtocol)) {
+              failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+              return;
+            }
           }
           response.socket.on("data", onSocketData);
           response.socket.on("close", onSocketClose);
@@ -37419,11 +38196,37 @@ var require_connection2 = __commonJS({
               extensions: secExtension
             });
           }
-          onEstablish(response);
+          onEstablish(response, extensions);
         }
       });
       return controller;
     }
+    function closeWebSocketConnection(ws, code, reason, reasonByteLength) {
+      if (isClosing(ws) || isClosed(ws)) {
+      } else if (!isEstablished(ws)) {
+        failWebsocketConnection(ws, "Connection was closed before it was established.");
+        ws[kReadyState] = states.CLOSING;
+      } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) {
+        ws[kSentClose] = sentCloseFrameState.PROCESSING;
+        const frame = new WebsocketFrameSend();
+        if (code !== void 0 && reason === void 0) {
+          frame.frameData = Buffer.allocUnsafe(2);
+          frame.frameData.writeUInt16BE(code, 0);
+        } else if (code !== void 0 && reason !== void 0) {
+          frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+          frame.frameData.writeUInt16BE(code, 0);
+          frame.frameData.write(reason, 2, "utf-8");
+        } else {
+          frame.frameData = emptyBuffer;
+        }
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
+      }
+    }
     function onSocketData(chunk) {
       if (!this.ws[kByteParser].write(chunk)) {
         this.pause();
@@ -37431,18 +38234,22 @@ var require_connection2 = __commonJS({
     }
     function onSocketClose() {
       const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      const { [kResponse]: response } = ws;
+      response.socket.off("data", onSocketData);
+      response.socket.off("close", onSocketClose);
+      response.socket.off("error", onSocketError);
+      const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose];
       let code = 1005;
       let reason = "";
       const result = ws[kByteParser].closingInfo;
-      if (result) {
+      if (result && !result.error) {
         code = result.code ?? 1005;
         reason = result.reason;
-      } else if (!ws[kSentClose]) {
+      } else if (!ws[kReceivedClose]) {
         code = 1006;
       }
       ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
         wasClean,
         code,
         reason
@@ -37464,90 +38271,105 @@ var require_connection2 = __commonJS({
       this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      establishWebSocketConnection,
+      closeWebSocketConnection
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
-      /**
-       * @param {Buffer|undefined} data
-       */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ Symbol("kLength");
+    var PerMessageDeflate = class {
+      /** @type {import('node:zlib').InflateRaw} */
+      #inflate;
+      #options = {};
+      constructor(extensions) {
+        this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
+        this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
       }
-      createFrame(opcode) {
-        const bodyLength = this.frameData?.byteLength ?? 0;
-        let payloadLength = bodyLength;
-        let offset = 6;
-        if (bodyLength > maxUnsigned16Bit) {
-          offset += 8;
-          payloadLength = 127;
-        } else if (bodyLength > 125) {
-          offset += 2;
-          payloadLength = 126;
-        }
-        const buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
+      decompress(chunk, fin, callback) {
+        if (!this.#inflate) {
+          let windowBits = Z_DEFAULT_WINDOWBITS;
+          if (this.#options.serverMaxWindowBits) {
+            if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
+              callback(new Error("Invalid server_max_window_bits"));
+              return;
+            }
+            windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
+          }
+          this.#inflate = createInflateRaw({ windowBits });
+          this.#inflate[kBuffer] = [];
+          this.#inflate[kLength] = 0;
+          this.#inflate.on("data", (data) => {
+            this.#inflate[kBuffer].push(data);
+            this.#inflate[kLength] += data.length;
+          });
+          this.#inflate.on("error", (err) => {
+            this.#inflate = null;
+            callback(err);
+          });
         }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        return buffer;
+        this.#inflate.flush(() => {
+          const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
+          this.#inflate[kBuffer].length = 0;
+          this.#inflate[kLength] = 0;
+          callback(null, full);
+        });
       }
     };
-    module2.exports = {
-      WebsocketFrameSend
-    };
+    module2.exports = { PerMessageDeflate };
   }
 });
 
-// node_modules/undici/lib/websocket/receiver.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
 var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
     "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
     var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
     var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
     var ByteParser = class extends Writable {
       #buffers = [];
       #byteOffset = 0;
+      #loop = false;
       #state = parserStates.INFO;
       #info = {};
       #fragments = [];
-      constructor(ws) {
+      /** @type {Map} */
+      #extensions;
+      constructor(ws, extensions) {
         super();
         this.ws = ws;
+        this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
+        if (this.#extensions.has("permessage-deflate")) {
+          this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
+        }
       }
       /**
        * @param {Buffer} chunk
@@ -37556,6 +38378,7 @@ var require_receiver2 = __commonJS({
       _write(chunk, _2, callback) {
         this.#buffers.push(chunk);
         this.#byteOffset += chunk.length;
+        this.#loop = true;
         this.run(callback);
       }
       /**
@@ -37564,21 +38387,56 @@ var require_receiver2 = __commonJS({
        * or not enough bytes are buffered to parse.
        */
       run(callback) {
-        while (true) {
+        while (this.#loop) {
           if (this.#state === parserStates.INFO) {
             if (this.#byteOffset < 2) {
               return callback();
             }
             const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+            const fin = (buffer[0] & 128) !== 0;
+            const opcode = buffer[0] & 15;
+            const masked = (buffer[1] & 128) === 128;
+            const fragmented = !fin && opcode !== opcodes.CONTINUATION;
+            const payloadLength = buffer[1] & 127;
+            const rsv1 = buffer[0] & 64;
+            const rsv2 = buffer[0] & 32;
+            const rsv3 = buffer[0] & 16;
+            if (!isValidOpcode(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid opcode received");
+              return callback();
+            }
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
+            }
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
               failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
               return;
             }
-            const payloadLength = buffer[1] & 127;
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
             if (payloadLength <= 125) {
               this.#info.payloadLength = payloadLength;
               this.#state = parserStates.READ_DATA;
@@ -37587,68 +38445,14 @@ var require_receiver2 = __commonJS({
             } else if (payloadLength === 127) {
               this.#state = parserStates.PAYLOADLENGTH_64;
             }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
-                return;
-              }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
-              return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
-              }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
-              }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
-              }
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
-              }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
             }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
           } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
             if (this.#byteOffset < 2) {
               return callback();
@@ -37672,34 +38476,54 @@ var require_receiver2 = __commonJS({
           } else if (this.#state === parserStates.READ_DATA) {
             if (this.#byteOffset < this.#info.payloadLength) {
               return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
-              }
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
               this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.message.length);
+                    return;
+                  }
+                  this.#fragments.push(data);
+                  if (!this.#info.fin) {
+                    this.#state = parserStates.INFO;
+                    this.#loop = true;
+                    this.run(callback);
+                    return;
+                  }
+                  websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments));
+                  this.#loop = true;
+                  this.#state = parserStates.INFO;
+                  this.#fragments.length = 0;
+                  this.run(callback);
+                });
+                this.#loop = false;
+                break;
+              }
             }
           }
-          if (this.#byteOffset > 0) {
-            continue;
-          } else {
-            callback();
-            break;
-          }
         }
       }
       /**
        * Take n bytes from the buffered Buffers
        * @param {number} n
-       * @returns {Buffer|null}
+       * @returns {Buffer}
        */
       consume(n) {
         if (n > this.#byteOffset) {
-          return null;
+          throw new Error("Called consume() before buffers satiated.");
         } else if (n === 0) {
           return emptyBuffer;
         }
@@ -37727,30 +38551,81 @@ var require_receiver2 = __commonJS({
         this.#byteOffset -= n;
         return buffer;
       }
-      parseCloseBody(onlyCode, data) {
+      parseCloseBody(data) {
+        assert(data.length !== 1);
         let code;
         if (data.length >= 2) {
           code = data.readUInt16BE(0);
         }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
         let reason = data.subarray(2);
         if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
           reason = reason.subarray(3);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
-        }
         try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+          reason = utf8Decode(reason);
         } catch {
-          return null;
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return { code, reason };
+        return { code, reason, error: false };
+      }
+      /**
+       * Parses control frames.
+       * @param {Buffer} body
+       */
+      parseControlFrame(body) {
+        const { opcode, payloadLength } = this.#info;
+        if (opcode === opcodes.CLOSE) {
+          if (payloadLength === 1) {
+            failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+            return false;
+          }
+          this.#info.closeInfo = this.parseCloseBody(body);
+          if (this.#info.closeInfo.error) {
+            const { code, reason } = this.#info.closeInfo;
+            closeWebSocketConnection(this.ws, code, reason, reason.length);
+            failWebsocketConnection(this.ws, reason);
+            return false;
+          }
+          if (this.ws[kSentClose] !== sentCloseFrameState.SENT) {
+            let body2 = emptyBuffer;
+            if (this.#info.closeInfo.code) {
+              body2 = Buffer.allocUnsafe(2);
+              body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+            }
+            const closeFrame = new WebsocketFrameSend(body2);
+            this.ws[kResponse].socket.write(
+              closeFrame.createFrame(opcodes.CLOSE),
+              (err) => {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
+            }
+          }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
+        }
+        return true;
       }
       get closingInfo() {
         return this.#info.closeInfo;
@@ -37762,15 +38637,96 @@ var require_receiver2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
+    "use strict";
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    var FastBuffer = Buffer[Symbol.species];
+    var SendQueue = class {
+      /**
+       * @type {FixedQueue}
+       */
+      #queue = new FixedQueue();
+      /**
+       * @type {boolean}
+       */
+      #running = false;
+      /** @type {import('node:net').Socket} */
+      #socket;
+      constructor(socket) {
+        this.#socket = socket;
+      }
+      add(item, cb, hint) {
+        if (hint !== sendHints.blob) {
+          const frame = createFrame(item, hint);
+          if (!this.#running) {
+            this.#socket.write(frame, cb);
+          } else {
+            const node2 = {
+              promise: null,
+              callback: cb,
+              frame
+            };
+            this.#queue.push(node2);
+          }
+          return;
+        }
+        const node = {
+          promise: item.arrayBuffer().then((ab) => {
+            node.promise = null;
+            node.frame = createFrame(ab, hint);
+          }),
+          callback: cb,
+          frame: null
+        };
+        this.#queue.push(node);
+        if (!this.#running) {
+          this.#run();
+        }
+      }
+      async #run() {
+        this.#running = true;
+        const queue = this.#queue;
+        while (!queue.isEmpty()) {
+          const node = queue.shift();
+          if (node.promise !== null) {
+            await node.promise;
+          }
+          this.#socket.write(node.frame, node.callback);
+          node.callback = node.frame = null;
+        }
+        this.#running = false;
+      }
+    };
+    function createFrame(data, hint) {
+      return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY);
+    }
+    function toBuffer(data, hint) {
+      switch (hint) {
+        case sendHints.string:
+          return Buffer.from(data);
+        case sendHints.arrayBuffer:
+        case sendHints.blob:
+          return new FastBuffer(data);
+        case sendHints.typedArray:
+          return new FastBuffer(data.buffer, data.byteOffset, data.byteLength);
+      }
+    }
+    module2.exports = { SendQueue };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
 var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
     var {
       kWebSocketURL,
       kReadyState,
@@ -37780,14 +38736,20 @@ var require_websocket2 = __commonJS({
       kSentClose,
       kByteParser
     } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
     var { ByteParser } = require_receiver2();
     var { kEnumerableProperty, isBlobLike } = require_util9();
     var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
-    var experimentalWarned = false;
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
     var WebSocket = class _WebSocket extends EventTarget {
       #events = {
         open: null,
@@ -37798,28 +38760,26 @@ var require_websocket2 = __commonJS({
       #bufferedAmount = 0;
       #protocol = "";
       #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
       /**
        * @param {string} url
        * @param {string|string[]} protocols
        */
       constructor(url2, protocols = []) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
-        if (!experimentalWarned) {
-          experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
-          });
-        }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url2 = webidl.converters.USVString(url2);
+        webidl.util.markAsUncloneable(this);
+        const prefix = "WebSocket constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options");
+        url2 = webidl.converters.USVString(url2, prefix, "url");
         protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
         let urlRecord;
         try {
           urlRecord = new URL(url2, baseURL);
         } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
         if (urlRecord.protocol === "http:") {
           urlRecord.protocol = "ws:";
@@ -37827,32 +38787,35 @@ var require_websocket2 = __commonJS({
           urlRecord.protocol = "wss:";
         }
         if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
+          throw new DOMException(
             `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
             "SyntaxError"
           );
         }
         if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
+          throw new DOMException("Got fragment", "SyntaxError");
         }
         if (typeof protocols === "string") {
           protocols = [protocols];
         }
         if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
         if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
         this[kWebSocketURL] = new URL(urlRecord.href);
+        const client = environmentSettingsObject.settingsObject;
         this[kController] = establishWebSocketConnection(
           urlRecord,
           protocols,
+          client,
           this,
-          (response) => this.#onConnectionEstablished(response),
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
           options
         );
         this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
         this[kBinaryType] = "blob";
       }
       /**
@@ -37862,53 +38825,29 @@ var require_websocket2 = __commonJS({
        */
       close(code = void 0, reason = void 0) {
         webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.close";
         if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
         }
         if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
+          reason = webidl.converters.USVString(reason, prefix, "reason");
         }
         if (code !== void 0) {
           if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+            throw new DOMException("invalid code", "InvalidAccessError");
           }
         }
         let reasonByteLength = 0;
         if (reason !== void 0) {
           reasonByteLength = Buffer.byteLength(reason);
           if (reasonByteLength > 123) {
-            throw new DOMException2(
+            throw new DOMException(
               `Reason must be less than 123 bytes; received ${reasonByteLength}`,
               "SyntaxError"
             );
           }
         }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          const frame = new WebsocketFrameSend();
-          if (code !== void 0 && reason === void 0) {
-            frame.frameData = Buffer.allocUnsafe(2);
-            frame.frameData.writeUInt16BE(code, 0);
-          } else if (code !== void 0 && reason !== void 0) {
-            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
-            frame.frameData.writeUInt16BE(code, 0);
-            frame.frameData.write(reason, 2, "utf-8");
-          } else {
-            frame.frameData = emptyBuffer;
-          }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
-            }
-          });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
       /**
        * @see https://websockets.spec.whatwg.org/#dom-websocket-send
@@ -37916,50 +38855,36 @@ var require_websocket2 = __commonJS({
        */
       send(data) {
         webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        const prefix = "WebSocket.send";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        data = webidl.converters.WebSocketSendData(data, prefix, "data");
+        if (isConnecting(this)) {
+          throw new DOMException("Sent before connected.", "InvalidStateError");
         }
         if (!isEstablished(this) || isClosing(this)) {
           return;
         }
-        const socket = this[kResponse].socket;
         if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
         } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
         } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
         } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
         }
       }
       get readyState() {
@@ -38061,14 +38986,14 @@ var require_websocket2 = __commonJS({
       /**
        * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
        */
-      #onConnectionEstablished(response) {
+      #onConnectionEstablished(response, parsedExtensions) {
         this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
+        const parser = new ByteParser(this, parsedExtensions);
+        parser.on("drain", onParserDrain);
+        parser.on("error", onParserError.bind(this));
         response.socket.ws = this;
         this[kByteParser] = parser;
+        this.#sendQueue = new SendQueue(response.socket);
         this[kReadyState] = states.OPEN;
         const extensions = response.headersList.get("sec-websocket-extensions");
         if (extensions !== null) {
@@ -38118,26 +39043,22 @@ var require_websocket2 = __commonJS({
     webidl.converters["sequence"] = webidl.sequenceConverter(
       webidl.converters.DOMString
     );
-    webidl.converters["DOMString or sequence"] = function(V) {
+    webidl.converters["DOMString or sequence"] = function(V, prefix, argument) {
       if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
         return webidl.converters["sequence"](V);
       }
-      return webidl.converters.DOMString(V);
+      return webidl.converters.DOMString(V, prefix, argument);
     };
     webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
         key: "protocols",
         converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        defaultValue: () => new Array(0)
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
       {
         key: "headers",
@@ -38155,28 +39076,600 @@ var require_websocket2 = __commonJS({
         if (isBlobLike(V)) {
           return webidl.converters.Blob(V, { strict: false });
         }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+        if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
           return webidl.converters.BufferSource(V);
         }
       }
       return webidl.converters.USVString(V);
     };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
+    }
+    function onParserError(err) {
+      let message;
+      let code;
+      if (err instanceof CloseEvent) {
+        message = err.reason;
+        code = err.code;
+      } else {
+        message = err.message;
+      }
+      fireEvent("error", this, () => new ErrorEvent("error", { error: err, message }));
+      closeWebSocketConnection(this, code);
+    }
     module2.exports = {
       WebSocket
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
+    "use strict";
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
+    }
+    function isASCIINumber(value) {
+      if (value.length === 0) return false;
+      for (let i = 0; i < value.length; i++) {
+        if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false;
+      }
+      return true;
+    }
+    function delay2(ms) {
+      return new Promise((resolve8) => {
+        setTimeout(resolve8, ms).unref();
+      });
+    }
+    module2.exports = {
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
+      /**
+       * @type {eventSourceSettings}
+       */
+      state = null;
+      /**
+       * Leading byte-order-mark check.
+       * @type {boolean}
+       */
+      checkBOM = true;
+      /**
+       * @type {boolean}
+       */
+      crlfCheck = false;
+      /**
+       * @type {boolean}
+       */
+      eventEndCheck = false;
+      /**
+       * @type {Buffer}
+       */
+      buffer = null;
+      pos = 0;
+      event = {
+        data: void 0,
+        event: void 0,
+        id: void 0,
+        retry: void 0
+      };
+      /**
+       * @param {object} options
+       * @param {eventSourceSettings} options.eventSourceSettings
+       * @param {Function} [options.push]
+       */
+      constructor(options = {}) {
+        options.readableObjectMode = true;
+        super(options);
+        this.state = options.eventSourceSettings || {};
+        if (options.push) {
+          this.push = options.push;
+        }
+      }
+      /**
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
+       */
+      _transform(chunk, _encoding, callback) {
+        if (chunk.length === 0) {
+          callback();
+          return;
+        }
+        if (this.buffer) {
+          this.buffer = Buffer.concat([this.buffer, chunk]);
+        } else {
+          this.buffer = chunk;
+        }
+        if (this.checkBOM) {
+          switch (this.buffer.length) {
+            case 1:
+              if (this.buffer[0] === BOM[0]) {
+                callback();
+                return;
+              }
+              this.checkBOM = false;
+              callback();
+              return;
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
+              }
+              this.checkBOM = false;
+              break;
+            case 3:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = Buffer.alloc(0);
+                this.checkBOM = false;
+                callback();
+                return;
+              }
+              this.checkBOM = false;
+              break;
+            default:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = this.buffer.subarray(3);
+              }
+              this.checkBOM = false;
+              break;
+          }
+        }
+        while (this.pos < this.buffer.length) {
+          if (this.eventEndCheck) {
+            if (this.crlfCheck) {
+              if (this.buffer[this.pos] === LF) {
+                this.buffer = this.buffer.subarray(this.pos + 1);
+                this.pos = 0;
+                this.crlfCheck = false;
+                continue;
+              }
+              this.crlfCheck = false;
+            }
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
+              }
+              this.buffer = this.buffer.subarray(this.pos + 1);
+              this.pos = 0;
+              if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) {
+                this.processEvent(this.event);
+              }
+              this.clearEvent();
+              continue;
+            }
+            this.eventEndCheck = false;
+            continue;
+          }
+          if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+            if (this.buffer[this.pos] === CR) {
+              this.crlfCheck = true;
+            }
+            this.parseLine(this.buffer.subarray(0, this.pos), this.event);
+            this.buffer = this.buffer.subarray(this.pos + 1);
+            this.pos = 0;
+            this.eventEndCheck = true;
+            continue;
+          }
+          this.pos++;
+        }
+        callback();
+      }
+      /**
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
+       */
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
+        }
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
+        }
+        let field = "";
+        let value = "";
+        if (colonPosition !== -1) {
+          field = line.subarray(0, colonPosition).toString("utf8");
+          let valueStart = colonPosition + 1;
+          if (line[valueStart] === SPACE) {
+            ++valueStart;
+          }
+          value = line.subarray(valueStart).toString("utf8");
+        } else {
+          field = line.toString("utf8");
+          value = "";
+        }
+        switch (field) {
+          case "data":
+            if (event[field] === void 0) {
+              event[field] = value;
+            } else {
+              event[field] += `
+${value}`;
+            }
+            break;
+          case "retry":
+            if (isASCIINumber(value)) {
+              event[field] = value;
+            }
+            break;
+          case "id":
+            if (isValidLastEventId(value)) {
+              event[field] = value;
+            }
+            break;
+          case "event":
+            if (value.length > 0) {
+              event[field] = value;
+            }
+            break;
+        }
+      }
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
+        }
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
+        }
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
+        }
+      }
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
+      }
+    };
+    module2.exports = {
+      EventSourceStream
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
+    "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
+    var { webidl } = require_webidl2();
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
+    var experimentalWarned = false;
+    var defaultReconnectionTime = 3e3;
+    var CONNECTING = 0;
+    var OPEN = 1;
+    var CLOSED = 2;
+    var ANONYMOUS = "anonymous";
+    var USE_CREDENTIALS = "use-credentials";
+    var EventSource = class _EventSource extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        message: null
+      };
+      #url = null;
+      #withCredentials = false;
+      #readyState = CONNECTING;
+      #request = null;
+      #controller = null;
+      #dispatcher;
+      /**
+       * @type {import('./eventsource-stream').eventSourceSettings}
+       */
+      #state;
+      /**
+       * Creates a new EventSource object.
+       * @param {string} url
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
+       */
+      constructor(url2, eventSourceInitDict = {}) {
+        super();
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
+          });
+        }
+        url2 = webidl.converters.USVString(url2, prefix, "url");
+        eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
+        this.#dispatcher = eventSourceInitDict.dispatcher;
+        this.#state = {
+          lastEventId: "",
+          reconnectionTime: defaultReconnectionTime
+        };
+        const settings = environmentSettingsObject;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url2, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
+        }
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
+        }
+        const initRequest = {
+          redirect: "follow",
+          keepalive: true,
+          // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
+          mode: "cors",
+          credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
+          referrer: "no-referrer"
+        };
+        initRequest.client = environmentSettingsObject.settingsObject;
+        initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
+        initRequest.cache = "no-store";
+        initRequest.initiator = "other";
+        initRequest.urlList = [new URL(this.#url)];
+        this.#request = makeRequest(initRequest);
+        this.#connect();
+      }
+      /**
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
+       */
+      get readyState() {
+        return this.#readyState;
+      }
+      /**
+       * Returns the URL providing the event stream.
+       * @readonly
+       * @returns {string}
+       */
+      get url() {
+        return this.#url;
+      }
+      /**
+       * Returns a boolean indicating whether the EventSource object was
+       * instantiated with CORS credentials set (true), or not (false, the default).
+       */
+      get withCredentials() {
+        return this.#withCredentials;
+      }
+      #connect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        const fetchParams = {
+          request: this.#request,
+          dispatcher: this.#dispatcher
+        };
+        const processEventSourceEndOfBody = (response) => {
+          if (isNetworkError(response)) {
+            this.dispatchEvent(new Event("error"));
+            this.close();
+          }
+          this.#reconnect();
+        };
+        fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
+        fetchParams.processResponse = (response) => {
+          if (isNetworkError(response)) {
+            if (response.aborted) {
+              this.close();
+              this.dispatchEvent(new Event("error"));
+              return;
+            } else {
+              this.#reconnect();
+              return;
+            }
+          }
+          const contentType = response.headersList.get("content-type", true);
+          const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
+          const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
+          if (response.status !== 200 || contentTypeValid === false) {
+            this.close();
+            this.dispatchEvent(new Event("error"));
+            return;
+          }
+          this.#readyState = OPEN;
+          this.dispatchEvent(new Event("open"));
+          this.#state.origin = response.urlList[response.urlList.length - 1].origin;
+          const eventSourceStream = new EventSourceStream({
+            eventSourceSettings: this.#state,
+            push: (event) => {
+              this.dispatchEvent(createFastMessageEvent(
+                event.type,
+                event.options
+              ));
+            }
+          });
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
+      }
+      /**
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
+       */
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(this.#state.reconnectionTime);
+        if (this.#readyState !== CONNECTING) return;
+        if (this.#state.lastEventId.length) {
+          this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
+        }
+        this.#connect();
+      }
+      /**
+       * Closes the connection, if any, and sets the readyState attribute to
+       * CLOSED.
+       */
+      close() {
+        webidl.brandCheck(this, _EventSource);
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CLOSED;
+        this.#controller.abort();
+        this.#request = null;
+      }
+      get onopen() {
+        return this.#events.open;
+      }
+      set onopen(fn) {
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
+        }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
+        }
+      }
+      get onmessage() {
+        return this.#events.message;
+      }
+      set onmessage(fn) {
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
+        }
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
+        }
+      }
+      get onerror() {
+        return this.#events.error;
+      }
+      set onerror(fn) {
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
+        }
+      }
+    };
+    var constantsPropertyDescriptors = {
+      CONNECTING: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CONNECTING,
+        writable: false
+      },
+      OPEN: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: OPEN,
+        writable: false
+      },
+      CLOSED: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CLOSED,
+        writable: false
+      }
+    };
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
+      close: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
+    });
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
+      {
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "dispatcher",
+        // undici only
+        converter: webidl.converters.any
+      }
+    ]);
+    module2.exports = {
+      EventSource,
+      defaultReconnectionTime
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     module2.exports.BalancedPool = BalancedPool;
     module2.exports.Agent = Agent;
     module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
+    module2.exports.RetryAgent = RetryAgent;
     module2.exports.RetryHandler = RetryHandler;
     module2.exports.DecoratorHandler = DecoratorHandler;
     module2.exports.RedirectHandler = RedirectHandler;
     module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.interceptors = {
+      redirect: require_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     module2.exports.buildConnector = buildConnector;
     module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
     function makeDispatcher(fn) {
       return (url2, opts, handler2) => {
         if (typeof opts === "function") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().fetch;
+    module2.exports.fetch = async function fetch(init, options = void 0) {
+      try {
+        return await fetchImpl(init, options);
+      } catch (err) {
+        if (err && typeof err === "object") {
+          Error.captureStackTrace(err);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().WebSocket;
+    module2.exports.CloseEvent = CloseEvent;
+    module2.exports.ErrorEvent = ErrorEvent;
+    module2.exports.MessageEvent = MessageEvent;
     module2.exports.request = makeDispatcher(api.request);
     module2.exports.stream = makeDispatcher(api.stream);
     module2.exports.pipeline = makeDispatcher(api.pipeline);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44493,7 +45986,7 @@ var require_package = __commonJS({
   "package.json"(exports2, module2) {
     module2.exports = {
       name: "codeql",
-      version: "4.32.1",
+      version: "4.32.2",
       private: true,
       description: "CodeQL action",
       scripts: {
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -55054,7 +56547,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -55177,7 +56670,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url2, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url2, options);
@@ -59875,7 +61368,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -60130,7 +61623,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -60244,7 +61737,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -60291,7 +61784,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -60331,7 +61824,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -78104,22677 +79597,40735 @@ var require_blob = __commonJS({
       isXML: true,
       serializer: xmlSerializer
     };
-    var queryOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "POST",
-      responses: {
-        200: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobQueryHeaders
-        },
-        206: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobQueryHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobQueryExceptionHeaders
+    var queryOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "POST",
+      responses: {
+        200: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobQueryHeaders
+        },
+        206: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobQueryHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobQueryExceptionHeaders
+        }
+      },
+      requestBody: Parameters.queryRequest,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.comp17
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getTagsOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlobTags,
+          headersMapper: Mappers.BlobGetTagsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobGetTagsExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp18
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setTagsOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        204: {
+          headersMapper: Mappers.BlobSetTagsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetTagsExceptionHeaders
+        }
+      },
+      requestBody: Parameters.tags,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.versionId,
+        Parameters.comp18
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.leaseId,
+        Parameters.ifTags,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js
+var require_pageBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PageBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var PageBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class PageBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
+      }
+      /**
+       * The Create operation creates a new page blob.
+       * @param contentLength The length of the request.
+       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
+       *                          page blob size must be aligned to a 512-byte boundary.
+       * @param options The options parameters.
+       */
+      create(contentLength, blobContentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec);
+      }
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      uploadPages(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec);
+      }
+      /**
+       * The Clear Pages operation clears a set of pages from a page blob
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      clearPages(contentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec);
+      }
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a
+       * URL
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param sourceRange Bytes of source data in the specified range. The length of this range should
+       *                    match the ContentLength header and x-ms-range/Range destination range header.
+       * @param contentLength The length of the request.
+       * @param range The range of bytes to which the source range would be written. The range should be 512
+       *              aligned and range-end is required.
+       * @param options The options parameters.
+       */
+      uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) {
+        return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec);
+      }
+      /**
+       * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a
+       * page blob
+       * @param options The options parameters.
+       */
+      getPageRanges(options) {
+        return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec);
+      }
+      /**
+       * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were
+       * changed between target blob and previous snapshot.
+       * @param options The options parameters.
+       */
+      getPageRangesDiff(options) {
+        return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec);
+      }
+      /**
+       * Resize the Blob
+       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
+       *                          page blob size must be aligned to a 512-byte boundary.
+       * @param options The options parameters.
+       */
+      resize(blobContentLength, options) {
+        return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec);
+      }
+      /**
+       * Update the sequence number of the blob
+       * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request.
+       *                             This property applies to page blobs only. This property indicates how the service should modify the
+       *                             blob's sequence number
+       * @param options The options parameters.
+       */
+      updateSequenceNumber(sequenceNumberAction, options) {
+        return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec);
+      }
+      /**
+       * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob.
+       * The snapshot is copied such that only the differential changes between the previously copied
+       * snapshot are transferred to the destination. The copied snapshots are complete copies of the
+       * original snapshot and can be read or copied from as usual. This API is supported since REST version
+       * 2016-05-31.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      copyIncremental(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec);
+      }
+    };
+    exports2.PageBlobImpl = PageBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobCreateExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.blobType,
+        Parameters.blobContentLength,
+        Parameters.blobSequenceNumber
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var uploadPagesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobUploadPagesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.pageWrite,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var clearPagesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobClearPagesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobClearPagesExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo,
+        Parameters.pageWrite1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var uploadPagesFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.pageWrite,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo,
+        Parameters.sourceUrl,
+        Parameters.sourceRange,
+        Parameters.sourceContentCrc64,
+        Parameters.range1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPageRangesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.PageList,
+          headersMapper: Mappers.PageBlobGetPageRangesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.snapshot,
+        Parameters.comp20
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPageRangesDiffOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.PageList,
+          headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.snapshot,
+        Parameters.comp20,
+        Parameters.prevsnapshot
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.prevSnapshotUrl
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var resizeOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.PageBlobResizeHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobResizeExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.blobContentLength
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var updateSequenceNumberOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobSequenceNumber,
+        Parameters.sequenceNumberAction
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var copyIncrementalOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.PageBlobCopyIncrementalHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.copySource
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js
+var require_appendBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AppendBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var AppendBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class AppendBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
+      }
+      /**
+       * The Create Append Blob operation creates a new append blob.
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      create(contentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec);
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob. The
+       * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
+       * AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      appendBlock(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec);
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob where
+       * the contents are read from a source url. The Append Block operation is permitted only if the blob
+       * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version
+       * 2015-02-21 version or later.
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      appendBlockFromUrl(sourceUrl, contentLength, options) {
+        return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec);
+      }
+      /**
+       * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version
+       * 2019-12-12 version or later.
+       * @param options The options parameters.
+       */
+      seal(options) {
+        return this.client.sendOperationRequest({ options }, sealOperationSpec);
+      }
+    };
+    exports2.AppendBlobImpl = AppendBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobCreateExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.blobType1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var appendBlockOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobAppendBlockHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.maxSize,
+        Parameters.appendPosition
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var appendBlockFromUrlOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.transactionalContentMD5,
+        Parameters.sourceUrl,
+        Parameters.sourceContentCrc64,
+        Parameters.maxSize,
+        Parameters.appendPosition,
+        Parameters.sourceRange1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var sealOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.AppendBlobSealHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobSealExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.appendPosition
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js
+var require_blockBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlockBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var BlockBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class BlockBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
+      }
+      /**
+       * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing
+       * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put
+       * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a
+       * partial update of the content of a block blob, use the Put Block List operation.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      upload(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec);
+      }
+      /**
+       * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read
+       * from a given URL.  This API is supported beginning with the 2020-04-08 version. Partial updates are
+       * not supported with Put Blob from URL; the content of an existing blob is overwritten with the
+       * content of the new blob.  To perform partial updates to a block blob’s contents using a source URL,
+       * use the Put Block from URL API in conjunction with Put Block List.
+       * @param contentLength The length of the request.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      putBlobFromUrl(contentLength, copySource, options) {
+        return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec);
+      }
+      /**
+       * The Stage Block operation creates a new block to be committed as part of a blob
+       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
+       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
+       *                for the blockid parameter must be the same size for each block.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      stageBlock(blockId, contentLength, body, options) {
+        return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec);
+      }
+      /**
+       * The Stage Block operation creates a new block to be committed as part of a blob where the contents
+       * are read from a URL.
+       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
+       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
+       *                for the blockid parameter must be the same size for each block.
+       * @param contentLength The length of the request.
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param options The options parameters.
+       */
+      stageBlockFromURL(blockId, contentLength, sourceUrl, options) {
+        return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec);
+      }
+      /**
+       * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the
+       * blob. In order to be written as part of a blob, a block must have been successfully written to the
+       * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading
+       * only those blocks that have changed, then committing the new and existing blocks together. You can
+       * do this by specifying whether to commit a block from the committed block list or from the
+       * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list
+       * it may belong to.
+       * @param blocks Blob Blocks.
+       * @param options The options parameters.
+       */
+      commitBlockList(blocks, options) {
+        return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec);
+      }
+      /**
+       * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block
+       * blob
+       * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted
+       *                 blocks, or both lists together.
+       * @param options The options parameters.
+       */
+      getBlockList(listType, options) {
+        return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec);
+      }
+    };
+    exports2.BlockBlobImpl = BlockBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var uploadOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobUploadHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobUploadExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.blobType2
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var putBlobFromUrlOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceIfTags,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.copySourceTags,
+        Parameters.fileRequestIntent,
+        Parameters.transactionalContentMD5,
+        Parameters.blobType2,
+        Parameters.copySourceBlobProperties
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var stageBlockOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobStageBlockHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp24,
+        Parameters.blockId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var stageBlockFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp24,
+        Parameters.blockId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.sourceUrl,
+        Parameters.sourceContentCrc64,
+        Parameters.sourceRange1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var commitBlockListOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobCommitBlockListHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders
+        }
+      },
+      requestBody: Parameters.blocks,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getBlockListOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlockList,
+          headersMapper: Mappers.BlockBlobGetBlockListHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.comp25,
+        Parameters.listType
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js
+var require_operations = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_service(), exports2);
+    tslib_1.__exportStar(require_container(), exports2);
+    tslib_1.__exportStar(require_blob(), exports2);
+    tslib_1.__exportStar(require_pageBlob(), exports2);
+    tslib_1.__exportStar(require_appendBlob(), exports2);
+    tslib_1.__exportStar(require_blockBlob(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js
+var require_storageClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreHttpCompat = tslib_1.__importStar(require_commonjs9());
+    var index_js_1 = require_operations();
+    var StorageClient = class extends coreHttpCompat.ExtendedServiceClient {
+      url;
+      version;
+      /**
+       * Initializes a new instance of the StorageClient class.
+       * @param url The URL of the service account, container, or blob that is the target of the desired
+       *            operation.
+       * @param options The parameter options
+       */
+      constructor(url2, options) {
+        if (url2 === void 0) {
+          throw new Error("'url' cannot be null");
+        }
+        if (!options) {
+          options = {};
+        }
+        const defaults = {
+          requestContentType: "application/json; charset=utf-8"
+        };
+        const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`;
+        const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
+        const optionsWithDefaults = {
+          ...defaults,
+          ...options,
+          userAgentOptions: {
+            userAgentPrefix
+          },
+          endpoint: options.endpoint ?? options.baseUri ?? "{url}"
+        };
+        super(optionsWithDefaults);
+        this.url = url2;
+        this.version = options.version || "2025-11-05";
+        this.service = new index_js_1.ServiceImpl(this);
+        this.container = new index_js_1.ContainerImpl(this);
+        this.blob = new index_js_1.BlobImpl(this);
+        this.pageBlob = new index_js_1.PageBlobImpl(this);
+        this.appendBlob = new index_js_1.AppendBlobImpl(this);
+        this.blockBlob = new index_js_1.BlockBlobImpl(this);
+      }
+      service;
+      container;
+      blob;
+      pageBlob;
+      appendBlob;
+      blockBlob;
+    };
+    exports2.StorageClient = StorageClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js
+var require_service2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js
+var require_container2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js
+var require_blob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js
+var require_pageBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js
+var require_appendBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js
+var require_blockBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js
+var require_operationsInterfaces = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_service2(), exports2);
+    tslib_1.__exportStar(require_container2(), exports2);
+    tslib_1.__exportStar(require_blob2(), exports2);
+    tslib_1.__exportStar(require_pageBlob2(), exports2);
+    tslib_1.__exportStar(require_appendBlob2(), exports2);
+    tslib_1.__exportStar(require_blockBlob2(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js
+var require_src2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_models(), exports2);
+    var storageClient_js_1 = require_storageClient();
+    Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() {
+      return storageClient_js_1.StorageClient;
+    } });
+    tslib_1.__exportStar(require_operationsInterfaces(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js
+var require_StorageContextClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageContextClient = void 0;
+    var index_js_1 = require_src2();
+    var StorageContextClient = class extends index_js_1.StorageClient {
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const operationSpecToSend = { ...operationSpec };
+        if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") {
+          operationSpecToSend.path = "";
+        }
+        return super.sendOperationRequest(operationArguments, operationSpecToSend);
+      }
+    };
+    exports2.StorageContextClient = StorageContextClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js
+var require_StorageClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var StorageContextClient_js_1 = require_StorageContextClient();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var StorageClient = class {
+      /**
+       * Encoded URL string value.
+       */
+      url;
+      accountName;
+      /**
+       * Request policy pipeline.
+       *
+       * @internal
+       */
+      pipeline;
+      /**
+       * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
+       */
+      credential;
+      /**
+       * StorageClient is a reference to protocol layer operations entry, which is
+       * generated by AutoRest generator.
+       */
+      storageClientContext;
+      /**
+       */
+      isHttps;
+      /**
+       * Creates an instance of StorageClient.
+       * @param url - url to resource
+       * @param pipeline - request policy pipeline.
+       */
+      constructor(url2, pipeline) {
+        this.url = (0, utils_common_js_1.escapeURLPath)(url2);
+        this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url2);
+        this.pipeline = pipeline;
+        this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
+        this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https");
+        this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline);
+        const storageClientContext = this.storageClientContext;
+        storageClientContext.requestContentType = void 0;
+      }
+    };
+    exports2.StorageClient = StorageClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js
+var require_tracing = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tracingClient = void 0;
+    var core_tracing_1 = require_commonjs5();
+    var constants_js_1 = require_constants15();
+    exports2.tracingClient = (0, core_tracing_1.createTracingClient)({
+      packageName: "@azure/storage-blob",
+      packageVersion: constants_js_1.SDK_VERSION,
+      namespace: "Microsoft.Storage"
+    });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js
+var require_BlobSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobSASPermissions = void 0;
+    var BlobSASPermissions = class _BlobSASPermissions {
+      /**
+       * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid permission.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const blobSASPermissions = new _BlobSASPermissions();
+        for (const char of permissions) {
+          switch (char) {
+            case "r":
+              blobSASPermissions.read = true;
+              break;
+            case "a":
+              blobSASPermissions.add = true;
+              break;
+            case "c":
+              blobSASPermissions.create = true;
+              break;
+            case "w":
+              blobSASPermissions.write = true;
+              break;
+            case "d":
+              blobSASPermissions.delete = true;
+              break;
+            case "x":
+              blobSASPermissions.deleteVersion = true;
+              break;
+            case "t":
+              blobSASPermissions.tag = true;
+              break;
+            case "m":
+              blobSASPermissions.move = true;
+              break;
+            case "e":
+              blobSASPermissions.execute = true;
+              break;
+            case "i":
+              blobSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              blobSASPermissions.permanentDelete = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission: ${char}`);
+          }
+        }
+        return blobSASPermissions;
+      }
+      /**
+       * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const blobSASPermissions = new _BlobSASPermissions();
+        if (permissionLike.read) {
+          blobSASPermissions.read = true;
+        }
+        if (permissionLike.add) {
+          blobSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          blobSASPermissions.create = true;
+        }
+        if (permissionLike.write) {
+          blobSASPermissions.write = true;
+        }
+        if (permissionLike.delete) {
+          blobSASPermissions.delete = true;
+        }
+        if (permissionLike.deleteVersion) {
+          blobSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.tag) {
+          blobSASPermissions.tag = true;
+        }
+        if (permissionLike.move) {
+          blobSASPermissions.move = true;
+        }
+        if (permissionLike.execute) {
+          blobSASPermissions.execute = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          blobSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          blobSASPermissions.permanentDelete = true;
+        }
+        return blobSASPermissions;
+      }
+      /**
+       * Specifies Read access granted.
+       */
+      read = false;
+      /**
+       * Specifies Add access granted.
+       */
+      add = false;
+      /**
+       * Specifies Create access granted.
+       */
+      create = false;
+      /**
+       * Specifies Write access granted.
+       */
+      write = false;
+      /**
+       * Specifies Delete access granted.
+       */
+      delete = false;
+      /**
+       * Specifies Delete version access granted.
+       */
+      deleteVersion = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Specifies Move access granted.
+       */
+      move = false;
+      /**
+       * Specifies Execute access granted.
+       */
+      execute = false;
+      /**
+       * Specifies SetImmutabilityPolicy access granted.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
+       * order accepted by the service.
+       *
+       * @returns A string which represents the BlobSASPermissions
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.move) {
+          permissions.push("m");
+        }
+        if (this.execute) {
+          permissions.push("e");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
+        }
+        return permissions.join("");
+      }
+    };
+    exports2.BlobSASPermissions = BlobSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js
+var require_ContainerSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ContainerSASPermissions = void 0;
+    var ContainerSASPermissions = class _ContainerSASPermissions {
+      /**
+       * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid permission.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const containerSASPermissions = new _ContainerSASPermissions();
+        for (const char of permissions) {
+          switch (char) {
+            case "r":
+              containerSASPermissions.read = true;
+              break;
+            case "a":
+              containerSASPermissions.add = true;
+              break;
+            case "c":
+              containerSASPermissions.create = true;
+              break;
+            case "w":
+              containerSASPermissions.write = true;
+              break;
+            case "d":
+              containerSASPermissions.delete = true;
+              break;
+            case "l":
+              containerSASPermissions.list = true;
+              break;
+            case "t":
+              containerSASPermissions.tag = true;
+              break;
+            case "x":
+              containerSASPermissions.deleteVersion = true;
+              break;
+            case "m":
+              containerSASPermissions.move = true;
+              break;
+            case "e":
+              containerSASPermissions.execute = true;
+              break;
+            case "i":
+              containerSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              containerSASPermissions.permanentDelete = true;
+              break;
+            case "f":
+              containerSASPermissions.filterByTags = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission ${char}`);
+          }
+        }
+        return containerSASPermissions;
+      }
+      /**
+       * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const containerSASPermissions = new _ContainerSASPermissions();
+        if (permissionLike.read) {
+          containerSASPermissions.read = true;
+        }
+        if (permissionLike.add) {
+          containerSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          containerSASPermissions.create = true;
+        }
+        if (permissionLike.write) {
+          containerSASPermissions.write = true;
+        }
+        if (permissionLike.delete) {
+          containerSASPermissions.delete = true;
+        }
+        if (permissionLike.list) {
+          containerSASPermissions.list = true;
+        }
+        if (permissionLike.deleteVersion) {
+          containerSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.tag) {
+          containerSASPermissions.tag = true;
+        }
+        if (permissionLike.move) {
+          containerSASPermissions.move = true;
+        }
+        if (permissionLike.execute) {
+          containerSASPermissions.execute = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          containerSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          containerSASPermissions.permanentDelete = true;
+        }
+        if (permissionLike.filterByTags) {
+          containerSASPermissions.filterByTags = true;
+        }
+        return containerSASPermissions;
+      }
+      /**
+       * Specifies Read access granted.
+       */
+      read = false;
+      /**
+       * Specifies Add access granted.
+       */
+      add = false;
+      /**
+       * Specifies Create access granted.
+       */
+      create = false;
+      /**
+       * Specifies Write access granted.
+       */
+      write = false;
+      /**
+       * Specifies Delete access granted.
+       */
+      delete = false;
+      /**
+       * Specifies Delete version access granted.
+       */
+      deleteVersion = false;
+      /**
+       * Specifies List access granted.
+       */
+      list = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Specifies Move access granted.
+       */
+      move = false;
+      /**
+       * Specifies Execute access granted.
+       */
+      execute = false;
+      /**
+       * Specifies SetImmutabilityPolicy access granted.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Specifies that Filter Blobs by Tags is permitted.
+       */
+      filterByTags = false;
+      /**
+       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
+       * order accepted by the service.
+       *
+       * The order of the characters should be as specified here to ensure correctness.
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.list) {
+          permissions.push("l");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.move) {
+          permissions.push("m");
+        }
+        if (this.execute) {
+          permissions.push("e");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
+        }
+        if (this.filterByTags) {
+          permissions.push("f");
+        }
+        return permissions.join("");
+      }
+    };
+    exports2.ContainerSASPermissions = ContainerSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js
+var require_UserDelegationKeyCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UserDelegationKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var UserDelegationKeyCredential = class {
+      /**
+       * Azure Storage account name; readonly.
+       */
+      accountName;
+      /**
+       * Azure Storage user delegation key; readonly.
+       */
+      userDelegationKey;
+      /**
+       * Key value in Buffer type.
+       */
+      key;
+      /**
+       * Creates an instance of UserDelegationKeyCredential.
+       * @param accountName -
+       * @param userDelegationKey -
+       */
+      constructor(accountName, userDelegationKey) {
+        this.accountName = accountName;
+        this.userDelegationKey = userDelegationKey;
+        this.key = Buffer.from(userDelegationKey.value, "base64");
+      }
+      /**
+       * Generates a hash signature for an HTTP request or for a SAS.
+       *
+       * @param stringToSign -
+       */
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64");
+      }
+    };
+    exports2.UserDelegationKeyCredential = UserDelegationKeyCredential;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js
+var require_SasIPRange = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ipRangeToString = ipRangeToString;
+    function ipRangeToString(ipRange) {
+      return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js
+var require_SASQueryParameters = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SASQueryParameters = exports2.SASProtocol = void 0;
+    var SasIPRange_js_1 = require_SasIPRange();
+    var utils_common_js_1 = require_utils_common();
+    var SASProtocol;
+    (function(SASProtocol2) {
+      SASProtocol2["Https"] = "https";
+      SASProtocol2["HttpsAndHttp"] = "https,http";
+    })(SASProtocol || (exports2.SASProtocol = SASProtocol = {}));
+    var SASQueryParameters = class {
+      /**
+       * The storage API version.
+       */
+      version;
+      /**
+       * Optional. The allowed HTTP protocol(s).
+       */
+      protocol;
+      /**
+       * Optional. The start time for this SAS token.
+       */
+      startsOn;
+      /**
+       * Optional only when identifier is provided. The expiry time for this SAS token.
+       */
+      expiresOn;
+      /**
+       * Optional only when identifier is provided.
+       * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
+       * more details.
+       */
+      permissions;
+      /**
+       * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
+       * for more details.
+       */
+      services;
+      /**
+       * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
+       * {@link AccountSASResourceTypes} for more details.
+       */
+      resourceTypes;
+      /**
+       * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
+       */
+      identifier;
+      /**
+       * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
+       */
+      encryptionScope;
+      /**
+       * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
+       */
+      resource;
+      /**
+       * The signature for the SAS token.
+       */
+      signature;
+      /**
+       * Value for cache-control header in Blob/File Service SAS.
+       */
+      cacheControl;
+      /**
+       * Value for content-disposition header in Blob/File Service SAS.
+       */
+      contentDisposition;
+      /**
+       * Value for content-encoding header in Blob/File Service SAS.
+       */
+      contentEncoding;
+      /**
+       * Value for content-length header in Blob/File Service SAS.
+       */
+      contentLanguage;
+      /**
+       * Value for content-type header in Blob/File Service SAS.
+       */
+      contentType;
+      /**
+       * Inner value of getter ipRange.
+       */
+      ipRangeInner;
+      /**
+       * The Azure Active Directory object ID in GUID format.
+       * Property of user delegation key.
+       */
+      signedOid;
+      /**
+       * The Azure Active Directory tenant ID in GUID format.
+       * Property of user delegation key.
+       */
+      signedTenantId;
+      /**
+       * The date-time the key is active.
+       * Property of user delegation key.
+       */
+      signedStartsOn;
+      /**
+       * The date-time the key expires.
+       * Property of user delegation key.
+       */
+      signedExpiresOn;
+      /**
+       * Abbreviation of the Azure Storage service that accepts the user delegation key.
+       * Property of user delegation key.
+       */
+      signedService;
+      /**
+       * The service version that created the user delegation key.
+       * Property of user delegation key.
+       */
+      signedVersion;
+      /**
+       * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
+       * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
+       * has the required permissions before granting access but no additional permission check for the user specified in
+       * this value will be performed. This is only used for User Delegation SAS.
+       */
+      preauthorizedAgentObjectId;
+      /**
+       * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
+       * This is only used for User Delegation SAS.
+       */
+      correlationId;
+      /**
+       * Optional. IP range allowed for this SAS.
+       *
+       * @readonly
+       */
+      get ipRange() {
+        if (this.ipRangeInner) {
+          return {
+            end: this.ipRangeInner.end,
+            start: this.ipRangeInner.start
+          };
+        }
+        return void 0;
+      }
+      constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) {
+        this.version = version;
+        this.signature = signature;
+        if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") {
+          this.permissions = permissionsOrOptions.permissions;
+          this.services = permissionsOrOptions.services;
+          this.resourceTypes = permissionsOrOptions.resourceTypes;
+          this.protocol = permissionsOrOptions.protocol;
+          this.startsOn = permissionsOrOptions.startsOn;
+          this.expiresOn = permissionsOrOptions.expiresOn;
+          this.ipRangeInner = permissionsOrOptions.ipRange;
+          this.identifier = permissionsOrOptions.identifier;
+          this.encryptionScope = permissionsOrOptions.encryptionScope;
+          this.resource = permissionsOrOptions.resource;
+          this.cacheControl = permissionsOrOptions.cacheControl;
+          this.contentDisposition = permissionsOrOptions.contentDisposition;
+          this.contentEncoding = permissionsOrOptions.contentEncoding;
+          this.contentLanguage = permissionsOrOptions.contentLanguage;
+          this.contentType = permissionsOrOptions.contentType;
+          if (permissionsOrOptions.userDelegationKey) {
+            this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId;
+            this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId;
+            this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn;
+            this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn;
+            this.signedService = permissionsOrOptions.userDelegationKey.signedService;
+            this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion;
+            this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId;
+            this.correlationId = permissionsOrOptions.correlationId;
+          }
+        } else {
+          this.services = services;
+          this.resourceTypes = resourceTypes;
+          this.expiresOn = expiresOn;
+          this.permissions = permissionsOrOptions;
+          this.protocol = protocol;
+          this.startsOn = startsOn;
+          this.ipRangeInner = ipRange;
+          this.encryptionScope = encryptionScope;
+          this.identifier = identifier;
+          this.resource = resource;
+          this.cacheControl = cacheControl;
+          this.contentDisposition = contentDisposition;
+          this.contentEncoding = contentEncoding;
+          this.contentLanguage = contentLanguage;
+          this.contentType = contentType;
+          if (userDelegationKey) {
+            this.signedOid = userDelegationKey.signedObjectId;
+            this.signedTenantId = userDelegationKey.signedTenantId;
+            this.signedStartsOn = userDelegationKey.signedStartsOn;
+            this.signedExpiresOn = userDelegationKey.signedExpiresOn;
+            this.signedService = userDelegationKey.signedService;
+            this.signedVersion = userDelegationKey.signedVersion;
+            this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;
+            this.correlationId = correlationId;
+          }
+        }
+      }
+      /**
+       * Encodes all SAS query parameters into a string that can be appended to a URL.
+       *
+       */
+      toString() {
+        const params = [
+          "sv",
+          "ss",
+          "srt",
+          "spr",
+          "st",
+          "se",
+          "sip",
+          "si",
+          "ses",
+          "skoid",
+          // Signed object ID
+          "sktid",
+          // Signed tenant ID
+          "skt",
+          // Signed key start time
+          "ske",
+          // Signed key expiry time
+          "sks",
+          // Signed key service
+          "skv",
+          // Signed key version
+          "sr",
+          "sp",
+          "sig",
+          "rscc",
+          "rscd",
+          "rsce",
+          "rscl",
+          "rsct",
+          "saoid",
+          "scid"
+        ];
+        const queries = [];
+        for (const param of params) {
+          switch (param) {
+            case "sv":
+              this.tryAppendQueryParameter(queries, param, this.version);
+              break;
+            case "ss":
+              this.tryAppendQueryParameter(queries, param, this.services);
+              break;
+            case "srt":
+              this.tryAppendQueryParameter(queries, param, this.resourceTypes);
+              break;
+            case "spr":
+              this.tryAppendQueryParameter(queries, param, this.protocol);
+              break;
+            case "st":
+              this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0);
+              break;
+            case "se":
+              this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0);
+              break;
+            case "sip":
+              this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0);
+              break;
+            case "si":
+              this.tryAppendQueryParameter(queries, param, this.identifier);
+              break;
+            case "ses":
+              this.tryAppendQueryParameter(queries, param, this.encryptionScope);
+              break;
+            case "skoid":
+              this.tryAppendQueryParameter(queries, param, this.signedOid);
+              break;
+            case "sktid":
+              this.tryAppendQueryParameter(queries, param, this.signedTenantId);
+              break;
+            case "skt":
+              this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0);
+              break;
+            case "ske":
+              this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0);
+              break;
+            case "sks":
+              this.tryAppendQueryParameter(queries, param, this.signedService);
+              break;
+            case "skv":
+              this.tryAppendQueryParameter(queries, param, this.signedVersion);
+              break;
+            case "sr":
+              this.tryAppendQueryParameter(queries, param, this.resource);
+              break;
+            case "sp":
+              this.tryAppendQueryParameter(queries, param, this.permissions);
+              break;
+            case "sig":
+              this.tryAppendQueryParameter(queries, param, this.signature);
+              break;
+            case "rscc":
+              this.tryAppendQueryParameter(queries, param, this.cacheControl);
+              break;
+            case "rscd":
+              this.tryAppendQueryParameter(queries, param, this.contentDisposition);
+              break;
+            case "rsce":
+              this.tryAppendQueryParameter(queries, param, this.contentEncoding);
+              break;
+            case "rscl":
+              this.tryAppendQueryParameter(queries, param, this.contentLanguage);
+              break;
+            case "rsct":
+              this.tryAppendQueryParameter(queries, param, this.contentType);
+              break;
+            case "saoid":
+              this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
+              break;
+            case "scid":
+              this.tryAppendQueryParameter(queries, param, this.correlationId);
+              break;
+          }
+        }
+        return queries.join("&");
+      }
+      /**
+       * A private helper method used to filter and append query key/value pairs into an array.
+       *
+       * @param queries -
+       * @param key -
+       * @param value -
+       */
+      tryAppendQueryParameter(queries, key, value) {
+        if (!value) {
+          return;
+        }
+        key = encodeURIComponent(key);
+        value = encodeURIComponent(value);
+        if (key.length > 0 && value.length > 0) {
+          queries.push(`${key}=${value}`);
+        }
+      }
+    };
+    exports2.SASQueryParameters = SASQueryParameters;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js
+var require_BlobSASSignatureValues = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters;
+    exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal;
+    var BlobSASPermissions_js_1 = require_BlobSASPermissions();
+    var ContainerSASPermissions_js_1 = require_ContainerSASPermissions();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential();
+    var SasIPRange_js_1 = require_SasIPRange();
+    var SASQueryParameters_js_1 = require_SASQueryParameters();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
+      return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters;
+    }
+    function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
+      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0;
+      let userDelegationKeyCredential;
+      if (sharedKeyCredential === void 0 && accountName !== void 0) {
+        userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
+      }
+      if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) {
+        throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
+      }
+      if (version >= "2020-12-06") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          if (version >= "2025-07-05") {
+            return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential);
+          } else {
+            return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
+          }
+        }
+      }
+      if (version >= "2018-11-09") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          if (version >= "2020-02-10") {
+            return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
+          } else {
+            return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
+          }
+        }
+      }
+      if (version >= "2015-04-05") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
+        }
+      }
+      throw new RangeError("'version' must be >= '2015-04-05'.");
+    }
+    function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        void 0,
+        // SignedKeyDelegatedUserTenantId, will be added in a future release.
+        void 0,
+        // SignedDelegatedUserObjectId, will be added in future release.
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function getCanonicalName(accountName, containerName, blobName) {
+      const elements = [`/blob/${accountName}/${containerName}`];
+      if (blobName) {
+        elements.push(`/${blobName}`);
+      }
+      return elements.join("");
+    }
+    function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
+      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
+        throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
+      }
+      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) {
+        throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
+      }
+      if (blobSASSignatureValues.versionId && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
+      }
+      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) {
+        throw RangeError("Must provide 'blobName' when providing 'versionId'.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
+        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
+      }
+      if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
+        throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
+      }
+      if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) {
+        throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
+      }
+      if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
+        throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
+      }
+      if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
+        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      }
+      blobSASSignatureValues.version = version;
+      return blobSASSignatureValues;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js
+var require_BlobLeaseClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobLeaseClient = void 0;
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants15();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var BlobLeaseClient = class {
+      _leaseId;
+      _url;
+      _containerOrBlobOperation;
+      _isContainer;
+      /**
+       * Gets the lease Id.
+       *
+       * @readonly
+       */
+      get leaseId() {
+        return this._leaseId;
+      }
+      /**
+       * Gets the url.
+       *
+       * @readonly
+       */
+      get url() {
+        return this._url;
+      }
+      /**
+       * Creates an instance of BlobLeaseClient.
+       * @param client - The client to make the lease operation requests.
+       * @param leaseId - Initial proposed lease id.
+       */
+      constructor(client, leaseId) {
+        const clientContext = client.storageClientContext;
+        this._url = client.url;
+        if (client.name === void 0) {
+          this._isContainer = true;
+          this._containerOrBlobOperation = clientContext.container;
+        } else {
+          this._isContainer = false;
+          this._containerOrBlobOperation = clientContext.blob;
+        }
+        if (!leaseId) {
+          leaseId = (0, core_util_1.randomUUID)();
+        }
+        this._leaseId = leaseId;
+      }
+      /**
+       * Establishes and manages a lock on a container for delete operations, or on a blob
+       * for write and delete operations.
+       * The lock duration can be 15 to 60 seconds, or can be infinite.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param duration - Must be between 15 to 60 seconds, or infinite (-1)
+       * @param options - option to configure lease management operations.
+       * @returns Response data for acquire lease operation.
+       */
+      async acquireLease(duration, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({
+            abortSignal: options.abortSignal,
+            duration,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            proposedLeaseId: this._leaseId,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * To change the ID of the lease.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param proposedLeaseId - the proposed new lease Id.
+       * @param options - option to configure lease management operations.
+       * @returns Response data for change lease operation.
+       */
+      async changeLease(proposedLeaseId, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          this._leaseId = proposedLeaseId;
+          return response;
+        });
+      }
+      /**
+       * To free the lease if it is no longer needed so that another client may
+       * immediately acquire a lease against the container or the blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param options - option to configure lease management operations.
+       * @returns Response data for release lease operation.
+       */
+      async releaseLease(options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * To renew the lease.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param options - Optional option to configure lease management operations.
+       * @returns Response data for renew lease operation.
+       */
+      async renewLease(options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => {
+          return this._containerOrBlobOperation.renewLease(this._leaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          });
+        });
+      }
+      /**
+       * To end the lease but ensure that another client cannot acquire a new lease
+       * until the current lease period has expired.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param breakPeriod - Break period
+       * @param options - Optional options to configure lease management operations.
+       * @returns Response data for break lease operation.
+       */
+      async breakLease(breakPeriod, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => {
+          const operationOptions = {
+            abortSignal: options.abortSignal,
+            breakPeriod,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          };
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions));
+        });
+      }
+    };
+    exports2.BlobLeaseClient = BlobLeaseClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js
+var require_RetriableReadableStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RetriableReadableStream = void 0;
+    var abort_controller_1 = require_commonjs11();
+    var node_stream_1 = require("node:stream");
+    var RetriableReadableStream = class extends node_stream_1.Readable {
+      start;
+      offset;
+      end;
+      getter;
+      source;
+      retries = 0;
+      maxRetryRequests;
+      onProgress;
+      options;
+      /**
+       * Creates an instance of RetriableReadableStream.
+       *
+       * @param source - The current ReadableStream returned from getter
+       * @param getter - A method calling downloading request returning
+       *                                      a new ReadableStream from specified offset
+       * @param offset - Offset position in original data source to read
+       * @param count - How much data in original data source to read
+       * @param options -
+       */
+      constructor(source, getter, offset, count, options = {}) {
+        super({ highWaterMark: options.highWaterMark });
+        this.getter = getter;
+        this.source = source;
+        this.start = offset;
+        this.offset = offset;
+        this.end = offset + count - 1;
+        this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0;
+        this.onProgress = options.onProgress;
+        this.options = options;
+        this.setSourceEventHandlers();
+      }
+      _read() {
+        this.source.resume();
+      }
+      setSourceEventHandlers() {
+        this.source.on("data", this.sourceDataHandler);
+        this.source.on("end", this.sourceErrorOrEndHandler);
+        this.source.on("error", this.sourceErrorOrEndHandler);
+        this.source.on("aborted", this.sourceAbortedHandler);
+      }
+      removeSourceEventHandlers() {
+        this.source.removeListener("data", this.sourceDataHandler);
+        this.source.removeListener("end", this.sourceErrorOrEndHandler);
+        this.source.removeListener("error", this.sourceErrorOrEndHandler);
+        this.source.removeListener("aborted", this.sourceAbortedHandler);
+      }
+      sourceDataHandler = (data) => {
+        if (this.options.doInjectErrorOnce) {
+          this.options.doInjectErrorOnce = void 0;
+          this.source.pause();
+          this.sourceErrorOrEndHandler();
+          this.source.destroy();
+          return;
+        }
+        this.offset += data.length;
+        if (this.onProgress) {
+          this.onProgress({ loadedBytes: this.offset - this.start });
+        }
+        if (!this.push(data)) {
+          this.source.pause();
+        }
+      };
+      sourceAbortedHandler = () => {
+        const abortError = new abort_controller_1.AbortError("The operation was aborted.");
+        this.destroy(abortError);
+      };
+      sourceErrorOrEndHandler = (err) => {
+        if (err && err.name === "AbortError") {
+          this.destroy(err);
+          return;
+        }
+        this.removeSourceEventHandlers();
+        if (this.offset - 1 === this.end) {
+          this.push(null);
+        } else if (this.offset <= this.end) {
+          if (this.retries < this.maxRetryRequests) {
+            this.retries += 1;
+            this.getter(this.offset).then((newSource) => {
+              this.source = newSource;
+              this.setSourceEventHandlers();
+              return;
+            }).catch((error3) => {
+              this.destroy(error3);
+            });
+          } else {
+            this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`));
+          }
+        } else {
+          this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`));
+        }
+      };
+      _destroy(error3, callback) {
+        this.removeSourceEventHandlers();
+        this.source.destroy();
+        callback(error3 === null ? void 0 : error3);
+      }
+    };
+    exports2.RetriableReadableStream = RetriableReadableStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js
+var require_BlobDownloadResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobDownloadResponse = void 0;
+    var core_util_1 = require_commonjs4();
+    var RetriableReadableStream_js_1 = require_RetriableReadableStream();
+    var BlobDownloadResponse = class {
+      /**
+       * Indicates that the service supports
+       * requests for partial file content.
+       *
+       * @readonly
+       */
+      get acceptRanges() {
+        return this.originalResponse.acceptRanges;
+      }
+      /**
+       * Returns if it was previously specified
+       * for the file.
+       *
+       * @readonly
+       */
+      get cacheControl() {
+        return this.originalResponse.cacheControl;
+      }
+      /**
+       * Returns the value that was specified
+       * for the 'x-ms-content-disposition' header and specifies how to process the
+       * response.
+       *
+       * @readonly
+       */
+      get contentDisposition() {
+        return this.originalResponse.contentDisposition;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Encoding request header.
+       *
+       * @readonly
+       */
+      get contentEncoding() {
+        return this.originalResponse.contentEncoding;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Language request header.
+       *
+       * @readonly
+       */
+      get contentLanguage() {
+        return this.originalResponse.contentLanguage;
+      }
+      /**
+       * The current sequence number for a
+       * page blob. This header is not returned for block blobs or append blobs.
+       *
+       * @readonly
+       */
+      get blobSequenceNumber() {
+        return this.originalResponse.blobSequenceNumber;
+      }
+      /**
+       * The blob's type. Possible values include:
+       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
+       *
+       * @readonly
+       */
+      get blobType() {
+        return this.originalResponse.blobType;
+      }
+      /**
+       * The number of bytes present in the
+       * response body.
+       *
+       * @readonly
+       */
+      get contentLength() {
+        return this.originalResponse.contentLength;
+      }
+      /**
+       * If the file has an MD5 hash and the
+       * request is to read the full file, this response header is returned so that
+       * the client can check for message content integrity. If the request is to
+       * read a specified range and the 'x-ms-range-get-content-md5' is set to
+       * true, then the request returns an MD5 hash for the range, as long as the
+       * range size is less than or equal to 4 MB. If neither of these sets of
+       * conditions is true, then no value is returned for the 'Content-MD5'
+       * header.
+       *
+       * @readonly
+       */
+      get contentMD5() {
+        return this.originalResponse.contentMD5;
+      }
+      /**
+       * Indicates the range of bytes returned if
+       * the client requested a subset of the file by setting the Range request
+       * header.
+       *
+       * @readonly
+       */
+      get contentRange() {
+        return this.originalResponse.contentRange;
+      }
+      /**
+       * The content type specified for the file.
+       * The default content type is 'application/octet-stream'
+       *
+       * @readonly
+       */
+      get contentType() {
+        return this.originalResponse.contentType;
+      }
+      /**
+       * Conclusion time of the last attempted
+       * Copy File operation where this file was the destination file. This value
+       * can specify the time of a completed, aborted, or failed copy attempt.
+       *
+       * @readonly
+       */
+      get copyCompletedOn() {
+        return this.originalResponse.copyCompletedOn;
+      }
+      /**
+       * String identifier for the last attempted Copy
+       * File operation where this file was the destination file.
+       *
+       * @readonly
+       */
+      get copyId() {
+        return this.originalResponse.copyId;
+      }
+      /**
+       * Contains the number of bytes copied and
+       * the total bytes in the source in the last attempted Copy File operation
+       * where this file was the destination file. Can show between 0 and
+       * Content-Length bytes copied.
+       *
+       * @readonly
+       */
+      get copyProgress() {
+        return this.originalResponse.copyProgress;
+      }
+      /**
+       * URL up to 2KB in length that specifies the
+       * source file used in the last attempted Copy File operation where this file
+       * was the destination file.
+       *
+       * @readonly
+       */
+      get copySource() {
+        return this.originalResponse.copySource;
+      }
+      /**
+       * State of the copy operation
+       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
+       * 'success', 'aborted', 'failed'
+       *
+       * @readonly
+       */
+      get copyStatus() {
+        return this.originalResponse.copyStatus;
+      }
+      /**
+       * Only appears when
+       * x-ms-copy-status is failed or pending. Describes cause of fatal or
+       * non-fatal copy operation failure.
+       *
+       * @readonly
+       */
+      get copyStatusDescription() {
+        return this.originalResponse.copyStatusDescription;
+      }
+      /**
+       * When a blob is leased,
+       * specifies whether the lease is of infinite or fixed duration. Possible
+       * values include: 'infinite', 'fixed'.
+       *
+       * @readonly
+       */
+      get leaseDuration() {
+        return this.originalResponse.leaseDuration;
+      }
+      /**
+       * Lease state of the blob. Possible
+       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
+       *
+       * @readonly
+       */
+      get leaseState() {
+        return this.originalResponse.leaseState;
+      }
+      /**
+       * The current lease status of the
+       * blob. Possible values include: 'locked', 'unlocked'.
+       *
+       * @readonly
+       */
+      get leaseStatus() {
+        return this.originalResponse.leaseStatus;
+      }
+      /**
+       * A UTC date/time value generated by the service that
+       * indicates the time at which the response was initiated.
+       *
+       * @readonly
+       */
+      get date() {
+        return this.originalResponse.date;
+      }
+      /**
+       * The number of committed blocks
+       * present in the blob. This header is returned only for append blobs.
+       *
+       * @readonly
+       */
+      get blobCommittedBlockCount() {
+        return this.originalResponse.blobCommittedBlockCount;
+      }
+      /**
+       * The ETag contains a value that you can use to
+       * perform operations conditionally, in quotes.
+       *
+       * @readonly
+       */
+      get etag() {
+        return this.originalResponse.etag;
+      }
+      /**
+       * The number of tags associated with the blob
+       *
+       * @readonly
+       */
+      get tagCount() {
+        return this.originalResponse.tagCount;
+      }
+      /**
+       * The error code.
+       *
+       * @readonly
+       */
+      get errorCode() {
+        return this.originalResponse.errorCode;
+      }
+      /**
+       * The value of this header is set to
+       * true if the file data and application metadata are completely encrypted
+       * using the specified algorithm. Otherwise, the value is set to false (when
+       * the file is unencrypted, or if only parts of the file/application metadata
+       * are encrypted).
+       *
+       * @readonly
+       */
+      get isServerEncrypted() {
+        return this.originalResponse.isServerEncrypted;
+      }
+      /**
+       * If the blob has a MD5 hash, and if
+       * request contains range header (Range or x-ms-range), this response header
+       * is returned with the value of the whole blob's MD5 value. This value may
+       * or may not be equal to the value returned in Content-MD5 header, with the
+       * latter calculated from the requested range.
+       *
+       * @readonly
+       */
+      get blobContentMD5() {
+        return this.originalResponse.blobContentMD5;
+      }
+      /**
+       * Returns the date and time the file was last
+       * modified. Any operation that modifies the file or its properties updates
+       * the last modified time.
+       *
+       * @readonly
+       */
+      get lastModified() {
+        return this.originalResponse.lastModified;
+      }
+      /**
+       * Returns the UTC date and time generated by the service that indicates the time at which the blob was
+       * last read or written to.
+       *
+       * @readonly
+       */
+      get lastAccessed() {
+        return this.originalResponse.lastAccessed;
+      }
+      /**
+       * Returns the date and time the blob was created.
+       *
+       * @readonly
+       */
+      get createdOn() {
+        return this.originalResponse.createdOn;
+      }
+      /**
+       * A name-value pair
+       * to associate with a file storage object.
+       *
+       * @readonly
+       */
+      get metadata() {
+        return this.originalResponse.metadata;
+      }
+      /**
+       * This header uniquely identifies the request
+       * that was made and can be used for troubleshooting the request.
+       *
+       * @readonly
+       */
+      get requestId() {
+        return this.originalResponse.requestId;
+      }
+      /**
+       * If a client request id header is sent in the request, this header will be present in the
+       * response with the same value.
+       *
+       * @readonly
+       */
+      get clientRequestId() {
+        return this.originalResponse.clientRequestId;
+      }
+      /**
+       * Indicates the version of the Blob service used
+       * to execute the request.
+       *
+       * @readonly
+       */
+      get version() {
+        return this.originalResponse.version;
+      }
+      /**
+       * Indicates the versionId of the downloaded blob version.
+       *
+       * @readonly
+       */
+      get versionId() {
+        return this.originalResponse.versionId;
+      }
+      /**
+       * Indicates whether version of this blob is a current version.
+       *
+       * @readonly
+       */
+      get isCurrentVersion() {
+        return this.originalResponse.isCurrentVersion;
+      }
+      /**
+       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
+       * when the blob was encrypted with a customer-provided key.
+       *
+       * @readonly
+       */
+      get encryptionKeySha256() {
+        return this.originalResponse.encryptionKeySha256;
+      }
+      /**
+       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
+       * true, then the request returns a crc64 for the range, as long as the range size is less than
+       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
+       * specified in the same request, it will fail with 400(Bad Request)
+       */
+      get contentCrc64() {
+        return this.originalResponse.contentCrc64;
+      }
+      /**
+       * Object Replication Policy Id of the destination blob.
+       *
+       * @readonly
+       */
+      get objectReplicationDestinationPolicyId() {
+        return this.originalResponse.objectReplicationDestinationPolicyId;
+      }
+      /**
+       * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob.
+       *
+       * @readonly
+       */
+      get objectReplicationSourceProperties() {
+        return this.originalResponse.objectReplicationSourceProperties;
+      }
+      /**
+       * If this blob has been sealed.
+       *
+       * @readonly
+       */
+      get isSealed() {
+        return this.originalResponse.isSealed;
+      }
+      /**
+       * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire.
+       *
+       * @readonly
+       */
+      get immutabilityPolicyExpiresOn() {
+        return this.originalResponse.immutabilityPolicyExpiresOn;
+      }
+      /**
+       * Indicates immutability policy mode.
+       *
+       * @readonly
+       */
+      get immutabilityPolicyMode() {
+        return this.originalResponse.immutabilityPolicyMode;
+      }
+      /**
+       * Indicates if a legal hold is present on the blob.
+       *
+       * @readonly
+       */
+      get legalHold() {
+        return this.originalResponse.legalHold;
+      }
+      /**
+       * The response body as a browser Blob.
+       * Always undefined in node.js.
+       *
+       * @readonly
+       */
+      get contentAsBlob() {
+        return this.originalResponse.blobBody;
+      }
+      /**
+       * The response body as a node.js Readable stream.
+       * Always undefined in the browser.
+       *
+       * It will automatically retry when internal read stream unexpected ends.
+       *
+       * @readonly
+       */
+      get readableStreamBody() {
+        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      }
+      /**
+       * The HTTP response.
+       */
+      get _response() {
+        return this.originalResponse._response;
+      }
+      originalResponse;
+      blobDownloadStream;
+      /**
+       * Creates an instance of BlobDownloadResponse.
+       *
+       * @param originalResponse -
+       * @param getter -
+       * @param offset -
+       * @param count -
+       * @param options -
+       */
+      constructor(originalResponse, getter, offset, count, options = {}) {
+        this.originalResponse = originalResponse;
+        this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options);
+      }
+    };
+    exports2.BlobDownloadResponse = BlobDownloadResponse;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js
+var require_AvroConstants = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0;
+    exports2.AVRO_SYNC_MARKER_SIZE = 16;
+    exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]);
+    exports2.AVRO_CODEC_KEY = "avro.codec";
+    exports2.AVRO_SCHEMA_KEY = "avro.schema";
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js
+var require_AvroParser = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroType = exports2.AvroParser = void 0;
+    var AvroParser = class _AvroParser {
+      /**
+       * Reads a fixed number of bytes from the stream.
+       *
+       * @param stream -
+       * @param length -
+       * @param options -
+       */
+      static async readFixedBytes(stream2, length, options = {}) {
+        const bytes = await stream2.read(length, { abortSignal: options.abortSignal });
+        if (bytes.length !== length) {
+          throw new Error("Hit stream end.");
+        }
+        return bytes;
+      }
+      /**
+       * Reads a single byte from the stream.
+       *
+       * @param stream -
+       * @param options -
+       */
+      static async readByte(stream2, options = {}) {
+        const buf = await _AvroParser.readFixedBytes(stream2, 1, options);
+        return buf[0];
+      }
+      // int and long are stored in variable-length zig-zag coding.
+      // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt
+      // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types
+      static async readZigZagLong(stream2, options = {}) {
+        let zigZagEncoded = 0;
+        let significanceInBit = 0;
+        let byte, haveMoreByte, significanceInFloat;
+        do {
+          byte = await _AvroParser.readByte(stream2, options);
+          haveMoreByte = byte & 128;
+          zigZagEncoded |= (byte & 127) << significanceInBit;
+          significanceInBit += 7;
+        } while (haveMoreByte && significanceInBit < 28);
+        if (haveMoreByte) {
+          zigZagEncoded = zigZagEncoded;
+          significanceInFloat = 268435456;
+          do {
+            byte = await _AvroParser.readByte(stream2, options);
+            zigZagEncoded += (byte & 127) * significanceInFloat;
+            significanceInFloat *= 128;
+          } while (byte & 128);
+          const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2;
+          if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) {
+            throw new Error("Integer overflow.");
+          }
+          return res;
+        }
+        return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1);
+      }
+      static async readLong(stream2, options = {}) {
+        return _AvroParser.readZigZagLong(stream2, options);
+      }
+      static async readInt(stream2, options = {}) {
+        return _AvroParser.readZigZagLong(stream2, options);
+      }
+      static async readNull() {
+        return null;
+      }
+      static async readBoolean(stream2, options = {}) {
+        const b = await _AvroParser.readByte(stream2, options);
+        if (b === 1) {
+          return true;
+        } else if (b === 0) {
+          return false;
+        } else {
+          throw new Error("Byte was not a boolean.");
+        }
+      }
+      static async readFloat(stream2, options = {}) {
+        const u8arr = await _AvroParser.readFixedBytes(stream2, 4, options);
+        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
+        return view.getFloat32(0, true);
+      }
+      static async readDouble(stream2, options = {}) {
+        const u8arr = await _AvroParser.readFixedBytes(stream2, 8, options);
+        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
+        return view.getFloat64(0, true);
+      }
+      static async readBytes(stream2, options = {}) {
+        const size = await _AvroParser.readLong(stream2, options);
+        if (size < 0) {
+          throw new Error("Bytes size was negative.");
+        }
+        return stream2.read(size, { abortSignal: options.abortSignal });
+      }
+      static async readString(stream2, options = {}) {
+        const u8arr = await _AvroParser.readBytes(stream2, options);
+        const utf8decoder = new TextDecoder();
+        return utf8decoder.decode(u8arr);
+      }
+      static async readMapPair(stream2, readItemMethod, options = {}) {
+        const key = await _AvroParser.readString(stream2, options);
+        const value = await readItemMethod(stream2, options);
+        return { key, value };
+      }
+      static async readMap(stream2, readItemMethod, options = {}) {
+        const readPairMethod = (s, opts = {}) => {
+          return _AvroParser.readMapPair(s, readItemMethod, opts);
+        };
+        const pairs2 = await _AvroParser.readArray(stream2, readPairMethod, options);
+        const dict = {};
+        for (const pair of pairs2) {
+          dict[pair.key] = pair.value;
+        }
+        return dict;
+      }
+      static async readArray(stream2, readItemMethod, options = {}) {
+        const items = [];
+        for (let count = await _AvroParser.readLong(stream2, options); count !== 0; count = await _AvroParser.readLong(stream2, options)) {
+          if (count < 0) {
+            await _AvroParser.readLong(stream2, options);
+            count = -count;
+          }
+          while (count--) {
+            const item = await readItemMethod(stream2, options);
+            items.push(item);
+          }
+        }
+        return items;
+      }
+    };
+    exports2.AvroParser = AvroParser;
+    var AvroComplex;
+    (function(AvroComplex2) {
+      AvroComplex2["RECORD"] = "record";
+      AvroComplex2["ENUM"] = "enum";
+      AvroComplex2["ARRAY"] = "array";
+      AvroComplex2["MAP"] = "map";
+      AvroComplex2["UNION"] = "union";
+      AvroComplex2["FIXED"] = "fixed";
+    })(AvroComplex || (AvroComplex = {}));
+    var AvroPrimitive;
+    (function(AvroPrimitive2) {
+      AvroPrimitive2["NULL"] = "null";
+      AvroPrimitive2["BOOLEAN"] = "boolean";
+      AvroPrimitive2["INT"] = "int";
+      AvroPrimitive2["LONG"] = "long";
+      AvroPrimitive2["FLOAT"] = "float";
+      AvroPrimitive2["DOUBLE"] = "double";
+      AvroPrimitive2["BYTES"] = "bytes";
+      AvroPrimitive2["STRING"] = "string";
+    })(AvroPrimitive || (AvroPrimitive = {}));
+    var AvroType = class _AvroType {
+      /**
+       * Determines the AvroType from the Avro Schema.
+       */
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      static fromSchema(schema2) {
+        if (typeof schema2 === "string") {
+          return _AvroType.fromStringSchema(schema2);
+        } else if (Array.isArray(schema2)) {
+          return _AvroType.fromArraySchema(schema2);
+        } else {
+          return _AvroType.fromObjectSchema(schema2);
+        }
+      }
+      static fromStringSchema(schema2) {
+        switch (schema2) {
+          case AvroPrimitive.NULL:
+          case AvroPrimitive.BOOLEAN:
+          case AvroPrimitive.INT:
+          case AvroPrimitive.LONG:
+          case AvroPrimitive.FLOAT:
+          case AvroPrimitive.DOUBLE:
+          case AvroPrimitive.BYTES:
+          case AvroPrimitive.STRING:
+            return new AvroPrimitiveType(schema2);
+          default:
+            throw new Error(`Unexpected Avro type ${schema2}`);
+        }
+      }
+      static fromArraySchema(schema2) {
+        return new AvroUnionType(schema2.map(_AvroType.fromSchema));
+      }
+      static fromObjectSchema(schema2) {
+        const type2 = schema2.type;
+        try {
+          return _AvroType.fromStringSchema(type2);
+        } catch {
+        }
+        switch (type2) {
+          case AvroComplex.RECORD:
+            if (schema2.aliases) {
+              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
+            }
+            if (!schema2.name) {
+              throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`);
+            }
+            const fields = {};
+            if (!schema2.fields) {
+              throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`);
+            }
+            for (const field of schema2.fields) {
+              fields[field.name] = _AvroType.fromSchema(field.type);
+            }
+            return new AvroRecordType(fields, schema2.name);
+          case AvroComplex.ENUM:
+            if (schema2.aliases) {
+              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
+            }
+            if (!schema2.symbols) {
+              throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`);
+            }
+            return new AvroEnumType(schema2.symbols);
+          case AvroComplex.MAP:
+            if (!schema2.values) {
+              throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`);
+            }
+            return new AvroMapType(_AvroType.fromSchema(schema2.values));
+          case AvroComplex.ARRAY:
+          // Unused today
+          case AvroComplex.FIXED:
+          // Unused today
+          default:
+            throw new Error(`Unexpected Avro type ${type2} in ${schema2}`);
+        }
+      }
+    };
+    exports2.AvroType = AvroType;
+    var AvroPrimitiveType = class extends AvroType {
+      _primitive;
+      constructor(primitive) {
+        super();
+        this._primitive = primitive;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      read(stream2, options = {}) {
+        switch (this._primitive) {
+          case AvroPrimitive.NULL:
+            return AvroParser.readNull();
+          case AvroPrimitive.BOOLEAN:
+            return AvroParser.readBoolean(stream2, options);
+          case AvroPrimitive.INT:
+            return AvroParser.readInt(stream2, options);
+          case AvroPrimitive.LONG:
+            return AvroParser.readLong(stream2, options);
+          case AvroPrimitive.FLOAT:
+            return AvroParser.readFloat(stream2, options);
+          case AvroPrimitive.DOUBLE:
+            return AvroParser.readDouble(stream2, options);
+          case AvroPrimitive.BYTES:
+            return AvroParser.readBytes(stream2, options);
+          case AvroPrimitive.STRING:
+            return AvroParser.readString(stream2, options);
+          default:
+            throw new Error("Unknown Avro Primitive");
+        }
+      }
+    };
+    var AvroEnumType = class extends AvroType {
+      _symbols;
+      constructor(symbols) {
+        super();
+        this._symbols = symbols;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      async read(stream2, options = {}) {
+        const value = await AvroParser.readInt(stream2, options);
+        return this._symbols[value];
+      }
+    };
+    var AvroUnionType = class extends AvroType {
+      _types;
+      constructor(types) {
+        super();
+        this._types = types;
+      }
+      async read(stream2, options = {}) {
+        const typeIndex = await AvroParser.readInt(stream2, options);
+        return this._types[typeIndex].read(stream2, options);
+      }
+    };
+    var AvroMapType = class extends AvroType {
+      _itemType;
+      constructor(itemType) {
+        super();
+        this._itemType = itemType;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      read(stream2, options = {}) {
+        const readItemMethod = (s, opts) => {
+          return this._itemType.read(s, opts);
+        };
+        return AvroParser.readMap(stream2, readItemMethod, options);
+      }
+    };
+    var AvroRecordType = class extends AvroType {
+      _name;
+      _fields;
+      constructor(fields, name) {
+        super();
+        this._fields = fields;
+        this._name = name;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      async read(stream2, options = {}) {
+        const record = {};
+        record["$schema"] = this._name;
+        for (const key in this._fields) {
+          if (Object.prototype.hasOwnProperty.call(this._fields, key)) {
+            record[key] = await this._fields[key].read(stream2, options);
+          }
+        }
+        return record;
+      }
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js
+var require_utils_common3 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.arraysEqual = arraysEqual;
+    function arraysEqual(a, b) {
+      if (a === b)
+        return true;
+      if (a == null || b == null)
+        return false;
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; ++i) {
+        if (a[i] !== b[i])
+          return false;
+      }
+      return true;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js
+var require_AvroReader = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReader = void 0;
+    var AvroConstants_js_1 = require_AvroConstants();
+    var AvroParser_js_1 = require_AvroParser();
+    var utils_common_js_1 = require_utils_common3();
+    var AvroReader = class {
+      _dataStream;
+      _headerStream;
+      _syncMarker;
+      _metadata;
+      _itemType;
+      _itemsRemainingInBlock;
+      // Remembers where we started if partial data stream was provided.
+      _initialBlockOffset;
+      /// The byte offset within the Avro file (both header and data)
+      /// of the start of the current block.
+      _blockOffset;
+      get blockOffset() {
+        return this._blockOffset;
+      }
+      _objectIndex;
+      get objectIndex() {
+        return this._objectIndex;
+      }
+      _initialized;
+      constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) {
+        this._dataStream = dataStream;
+        this._headerStream = headerStream || dataStream;
+        this._initialized = false;
+        this._blockOffset = currentBlockOffset || 0;
+        this._objectIndex = indexWithinCurrentBlock || 0;
+        this._initialBlockOffset = currentBlockOffset || 0;
+      }
+      async initialize(options = {}) {
+        const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, {
+          abortSignal: options.abortSignal
+        });
+        if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) {
+          throw new Error("Stream is not an Avro file.");
+        }
+        this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, {
+          abortSignal: options.abortSignal
+        });
+        const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY];
+        if (!(codec === void 0 || codec === null || codec === "null")) {
+          throw new Error("Codecs are not supported");
+        }
+        this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
+          abortSignal: options.abortSignal
+        });
+        const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]);
+        this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2);
+        if (this._blockOffset === 0) {
+          this._blockOffset = this._initialBlockOffset + this._dataStream.position;
+        }
+        this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
+          abortSignal: options.abortSignal
+        });
+        await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
+        this._initialized = true;
+        if (this._objectIndex && this._objectIndex > 0) {
+          for (let i = 0; i < this._objectIndex; i++) {
+            await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal });
+            this._itemsRemainingInBlock--;
+          }
+        }
+      }
+      hasNext() {
+        return !this._initialized || this._itemsRemainingInBlock > 0;
+      }
+      async *parseObjects(options = {}) {
+        if (!this._initialized) {
+          await this.initialize(options);
+        }
+        while (this.hasNext()) {
+          const result = await this._itemType.read(this._dataStream, {
+            abortSignal: options.abortSignal
+          });
+          this._itemsRemainingInBlock--;
+          this._objectIndex++;
+          if (this._itemsRemainingInBlock === 0) {
+            const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
+              abortSignal: options.abortSignal
+            });
+            this._blockOffset = this._initialBlockOffset + this._dataStream.position;
+            this._objectIndex = 0;
+            if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) {
+              throw new Error("Stream is not a valid Avro file.");
+            }
+            try {
+              this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
+                abortSignal: options.abortSignal
+              });
+            } catch {
+              this._itemsRemainingInBlock = 0;
+            }
+            if (this._itemsRemainingInBlock > 0) {
+              await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
+            }
+          }
+          yield result;
+        }
+      }
+    };
+    exports2.AvroReader = AvroReader;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js
+var require_AvroReadable = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadable = void 0;
+    var AvroReadable = class {
+    };
+    exports2.AvroReadable = AvroReadable;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js
+var require_AvroReadableFromStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadableFromStream = void 0;
+    var AvroReadable_js_1 = require_AvroReadable();
+    var abort_controller_1 = require_commonjs11();
+    var buffer_1 = require("buffer");
+    var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted.");
+    var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable {
+      _position;
+      _readable;
+      toUint8Array(data) {
+        if (typeof data === "string") {
+          return buffer_1.Buffer.from(data);
+        }
+        return data;
+      }
+      constructor(readable) {
+        super();
+        this._readable = readable;
+        this._position = 0;
+      }
+      get position() {
+        return this._position;
+      }
+      async read(size, options = {}) {
+        if (options.abortSignal?.aborted) {
+          throw ABORT_ERROR;
+        }
+        if (size < 0) {
+          throw new Error(`size parameter should be positive: ${size}`);
+        }
+        if (size === 0) {
+          return new Uint8Array();
+        }
+        if (!this._readable.readable) {
+          throw new Error("Stream no longer readable.");
+        }
+        const chunk = this._readable.read(size);
+        if (chunk) {
+          this._position += chunk.length;
+          return this.toUint8Array(chunk);
+        } else {
+          return new Promise((resolve8, reject) => {
+            const cleanUp = () => {
+              this._readable.removeListener("readable", readableCallback);
+              this._readable.removeListener("error", rejectCallback);
+              this._readable.removeListener("end", rejectCallback);
+              this._readable.removeListener("close", rejectCallback);
+              if (options.abortSignal) {
+                options.abortSignal.removeEventListener("abort", abortHandler);
+              }
+            };
+            const readableCallback = () => {
+              const callbackChunk = this._readable.read(size);
+              if (callbackChunk) {
+                this._position += callbackChunk.length;
+                cleanUp();
+                resolve8(this.toUint8Array(callbackChunk));
+              }
+            };
+            const rejectCallback = () => {
+              cleanUp();
+              reject();
+            };
+            const abortHandler = () => {
+              cleanUp();
+              reject(ABORT_ERROR);
+            };
+            this._readable.on("readable", readableCallback);
+            this._readable.once("error", rejectCallback);
+            this._readable.once("end", rejectCallback);
+            this._readable.once("close", rejectCallback);
+            if (options.abortSignal) {
+              options.abortSignal.addEventListener("abort", abortHandler);
+            }
+          });
+        }
+      }
+    };
+    exports2.AvroReadableFromStream = AvroReadableFromStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js
+var require_internal_avro = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0;
+    var AvroReader_js_1 = require_AvroReader();
+    Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() {
+      return AvroReader_js_1.AvroReader;
+    } });
+    var AvroReadable_js_1 = require_AvroReadable();
+    Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() {
+      return AvroReadable_js_1.AvroReadable;
+    } });
+    var AvroReadableFromStream_js_1 = require_AvroReadableFromStream();
+    Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() {
+      return AvroReadableFromStream_js_1.AvroReadableFromStream;
+    } });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js
+var require_BlobQuickQueryStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobQuickQueryStream = void 0;
+    var node_stream_1 = require("node:stream");
+    var index_js_1 = require_internal_avro();
+    var BlobQuickQueryStream = class extends node_stream_1.Readable {
+      source;
+      avroReader;
+      avroIter;
+      avroPaused = true;
+      onProgress;
+      onError;
+      /**
+       * Creates an instance of BlobQuickQueryStream.
+       *
+       * @param source - The current ReadableStream returned from getter
+       * @param options -
+       */
+      constructor(source, options = {}) {
+        super();
+        this.source = source;
+        this.onProgress = options.onProgress;
+        this.onError = options.onError;
+        this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source));
+        this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal });
+      }
+      _read() {
+        if (this.avroPaused) {
+          this.readInternal().catch((err) => {
+            this.emit("error", err);
+          });
+        }
+      }
+      async readInternal() {
+        this.avroPaused = false;
+        let avroNext;
+        do {
+          avroNext = await this.avroIter.next();
+          if (avroNext.done) {
+            break;
+          }
+          const obj = avroNext.value;
+          const schema2 = obj.$schema;
+          if (typeof schema2 !== "string") {
+            throw Error("Missing schema in avro record.");
+          }
+          switch (schema2) {
+            case "com.microsoft.azure.storage.queryBlobContents.resultData":
+              {
+                const data = obj.data;
+                if (data instanceof Uint8Array === false) {
+                  throw Error("Invalid data in avro result record.");
+                }
+                if (!this.push(Buffer.from(data))) {
+                  this.avroPaused = true;
+                }
+              }
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.progress":
+              {
+                const bytesScanned = obj.bytesScanned;
+                if (typeof bytesScanned !== "number") {
+                  throw Error("Invalid bytesScanned in avro progress record.");
+                }
+                if (this.onProgress) {
+                  this.onProgress({ loadedBytes: bytesScanned });
+                }
+              }
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.end":
+              if (this.onProgress) {
+                const totalBytes = obj.totalBytes;
+                if (typeof totalBytes !== "number") {
+                  throw Error("Invalid totalBytes in avro end record.");
+                }
+                this.onProgress({ loadedBytes: totalBytes });
+              }
+              this.push(null);
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.error":
+              if (this.onError) {
+                const fatal = obj.fatal;
+                if (typeof fatal !== "boolean") {
+                  throw Error("Invalid fatal in avro error record.");
+                }
+                const name = obj.name;
+                if (typeof name !== "string") {
+                  throw Error("Invalid name in avro error record.");
+                }
+                const description = obj.description;
+                if (typeof description !== "string") {
+                  throw Error("Invalid description in avro error record.");
+                }
+                const position = obj.position;
+                if (typeof position !== "number") {
+                  throw Error("Invalid position in avro error record.");
+                }
+                this.onError({
+                  position,
+                  name,
+                  isFatal: fatal,
+                  description
+                });
+              }
+              break;
+            default:
+              throw Error(`Unknown schema ${schema2} in avro progress record.`);
+          }
+        } while (!avroNext.done && !this.avroPaused);
+      }
+    };
+    exports2.BlobQuickQueryStream = BlobQuickQueryStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js
+var require_BlobQueryResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobQueryResponse = void 0;
+    var core_util_1 = require_commonjs4();
+    var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream();
+    var BlobQueryResponse = class {
+      /**
+       * Indicates that the service supports
+       * requests for partial file content.
+       *
+       * @readonly
+       */
+      get acceptRanges() {
+        return this.originalResponse.acceptRanges;
+      }
+      /**
+       * Returns if it was previously specified
+       * for the file.
+       *
+       * @readonly
+       */
+      get cacheControl() {
+        return this.originalResponse.cacheControl;
+      }
+      /**
+       * Returns the value that was specified
+       * for the 'x-ms-content-disposition' header and specifies how to process the
+       * response.
+       *
+       * @readonly
+       */
+      get contentDisposition() {
+        return this.originalResponse.contentDisposition;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Encoding request header.
+       *
+       * @readonly
+       */
+      get contentEncoding() {
+        return this.originalResponse.contentEncoding;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Language request header.
+       *
+       * @readonly
+       */
+      get contentLanguage() {
+        return this.originalResponse.contentLanguage;
+      }
+      /**
+       * The current sequence number for a
+       * page blob. This header is not returned for block blobs or append blobs.
+       *
+       * @readonly
+       */
+      get blobSequenceNumber() {
+        return this.originalResponse.blobSequenceNumber;
+      }
+      /**
+       * The blob's type. Possible values include:
+       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
+       *
+       * @readonly
+       */
+      get blobType() {
+        return this.originalResponse.blobType;
+      }
+      /**
+       * The number of bytes present in the
+       * response body.
+       *
+       * @readonly
+       */
+      get contentLength() {
+        return this.originalResponse.contentLength;
+      }
+      /**
+       * If the file has an MD5 hash and the
+       * request is to read the full file, this response header is returned so that
+       * the client can check for message content integrity. If the request is to
+       * read a specified range and the 'x-ms-range-get-content-md5' is set to
+       * true, then the request returns an MD5 hash for the range, as long as the
+       * range size is less than or equal to 4 MB. If neither of these sets of
+       * conditions is true, then no value is returned for the 'Content-MD5'
+       * header.
+       *
+       * @readonly
+       */
+      get contentMD5() {
+        return this.originalResponse.contentMD5;
+      }
+      /**
+       * Indicates the range of bytes returned if
+       * the client requested a subset of the file by setting the Range request
+       * header.
+       *
+       * @readonly
+       */
+      get contentRange() {
+        return this.originalResponse.contentRange;
+      }
+      /**
+       * The content type specified for the file.
+       * The default content type is 'application/octet-stream'
+       *
+       * @readonly
+       */
+      get contentType() {
+        return this.originalResponse.contentType;
+      }
+      /**
+       * Conclusion time of the last attempted
+       * Copy File operation where this file was the destination file. This value
+       * can specify the time of a completed, aborted, or failed copy attempt.
+       *
+       * @readonly
+       */
+      get copyCompletedOn() {
+        return void 0;
+      }
+      /**
+       * String identifier for the last attempted Copy
+       * File operation where this file was the destination file.
+       *
+       * @readonly
+       */
+      get copyId() {
+        return this.originalResponse.copyId;
+      }
+      /**
+       * Contains the number of bytes copied and
+       * the total bytes in the source in the last attempted Copy File operation
+       * where this file was the destination file. Can show between 0 and
+       * Content-Length bytes copied.
+       *
+       * @readonly
+       */
+      get copyProgress() {
+        return this.originalResponse.copyProgress;
+      }
+      /**
+       * URL up to 2KB in length that specifies the
+       * source file used in the last attempted Copy File operation where this file
+       * was the destination file.
+       *
+       * @readonly
+       */
+      get copySource() {
+        return this.originalResponse.copySource;
+      }
+      /**
+       * State of the copy operation
+       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
+       * 'success', 'aborted', 'failed'
+       *
+       * @readonly
+       */
+      get copyStatus() {
+        return this.originalResponse.copyStatus;
+      }
+      /**
+       * Only appears when
+       * x-ms-copy-status is failed or pending. Describes cause of fatal or
+       * non-fatal copy operation failure.
+       *
+       * @readonly
+       */
+      get copyStatusDescription() {
+        return this.originalResponse.copyStatusDescription;
+      }
+      /**
+       * When a blob is leased,
+       * specifies whether the lease is of infinite or fixed duration. Possible
+       * values include: 'infinite', 'fixed'.
+       *
+       * @readonly
+       */
+      get leaseDuration() {
+        return this.originalResponse.leaseDuration;
+      }
+      /**
+       * Lease state of the blob. Possible
+       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
+       *
+       * @readonly
+       */
+      get leaseState() {
+        return this.originalResponse.leaseState;
+      }
+      /**
+       * The current lease status of the
+       * blob. Possible values include: 'locked', 'unlocked'.
+       *
+       * @readonly
+       */
+      get leaseStatus() {
+        return this.originalResponse.leaseStatus;
+      }
+      /**
+       * A UTC date/time value generated by the service that
+       * indicates the time at which the response was initiated.
+       *
+       * @readonly
+       */
+      get date() {
+        return this.originalResponse.date;
+      }
+      /**
+       * The number of committed blocks
+       * present in the blob. This header is returned only for append blobs.
+       *
+       * @readonly
+       */
+      get blobCommittedBlockCount() {
+        return this.originalResponse.blobCommittedBlockCount;
+      }
+      /**
+       * The ETag contains a value that you can use to
+       * perform operations conditionally, in quotes.
+       *
+       * @readonly
+       */
+      get etag() {
+        return this.originalResponse.etag;
+      }
+      /**
+       * The error code.
+       *
+       * @readonly
+       */
+      get errorCode() {
+        return this.originalResponse.errorCode;
+      }
+      /**
+       * The value of this header is set to
+       * true if the file data and application metadata are completely encrypted
+       * using the specified algorithm. Otherwise, the value is set to false (when
+       * the file is unencrypted, or if only parts of the file/application metadata
+       * are encrypted).
+       *
+       * @readonly
+       */
+      get isServerEncrypted() {
+        return this.originalResponse.isServerEncrypted;
+      }
+      /**
+       * If the blob has a MD5 hash, and if
+       * request contains range header (Range or x-ms-range), this response header
+       * is returned with the value of the whole blob's MD5 value. This value may
+       * or may not be equal to the value returned in Content-MD5 header, with the
+       * latter calculated from the requested range.
+       *
+       * @readonly
+       */
+      get blobContentMD5() {
+        return this.originalResponse.blobContentMD5;
+      }
+      /**
+       * Returns the date and time the file was last
+       * modified. Any operation that modifies the file or its properties updates
+       * the last modified time.
+       *
+       * @readonly
+       */
+      get lastModified() {
+        return this.originalResponse.lastModified;
+      }
+      /**
+       * A name-value pair
+       * to associate with a file storage object.
+       *
+       * @readonly
+       */
+      get metadata() {
+        return this.originalResponse.metadata;
+      }
+      /**
+       * This header uniquely identifies the request
+       * that was made and can be used for troubleshooting the request.
+       *
+       * @readonly
+       */
+      get requestId() {
+        return this.originalResponse.requestId;
+      }
+      /**
+       * If a client request id header is sent in the request, this header will be present in the
+       * response with the same value.
+       *
+       * @readonly
+       */
+      get clientRequestId() {
+        return this.originalResponse.clientRequestId;
+      }
+      /**
+       * Indicates the version of the File service used
+       * to execute the request.
+       *
+       * @readonly
+       */
+      get version() {
+        return this.originalResponse.version;
+      }
+      /**
+       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
+       * when the blob was encrypted with a customer-provided key.
+       *
+       * @readonly
+       */
+      get encryptionKeySha256() {
+        return this.originalResponse.encryptionKeySha256;
+      }
+      /**
+       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
+       * true, then the request returns a crc64 for the range, as long as the range size is less than
+       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
+       * specified in the same request, it will fail with 400(Bad Request)
+       */
+      get contentCrc64() {
+        return this.originalResponse.contentCrc64;
+      }
+      /**
+       * The response body as a browser Blob.
+       * Always undefined in node.js.
+       *
+       * @readonly
+       */
+      get blobBody() {
+        return void 0;
+      }
+      /**
+       * The response body as a node.js Readable stream.
+       * Always undefined in the browser.
+       *
+       * It will parse avor data returned by blob query.
+       *
+       * @readonly
+       */
+      get readableStreamBody() {
+        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      }
+      /**
+       * The HTTP response.
+       */
+      get _response() {
+        return this.originalResponse._response;
+      }
+      originalResponse;
+      blobDownloadStream;
+      /**
+       * Creates an instance of BlobQueryResponse.
+       *
+       * @param originalResponse -
+       * @param options -
+       */
+      constructor(originalResponse, options = {}) {
+        this.originalResponse = originalResponse;
+        this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options);
+      }
+    };
+    exports2.BlobQueryResponse = BlobQueryResponse;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/models.js
+var require_models2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0;
+    exports2.toAccessTier = toAccessTier;
+    exports2.ensureCpkIfSpecified = ensureCpkIfSpecified;
+    exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience;
+    var constants_js_1 = require_constants15();
+    var BlockBlobTier;
+    (function(BlockBlobTier2) {
+      BlockBlobTier2["Hot"] = "Hot";
+      BlockBlobTier2["Cool"] = "Cool";
+      BlockBlobTier2["Cold"] = "Cold";
+      BlockBlobTier2["Archive"] = "Archive";
+    })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {}));
+    var PremiumPageBlobTier;
+    (function(PremiumPageBlobTier2) {
+      PremiumPageBlobTier2["P4"] = "P4";
+      PremiumPageBlobTier2["P6"] = "P6";
+      PremiumPageBlobTier2["P10"] = "P10";
+      PremiumPageBlobTier2["P15"] = "P15";
+      PremiumPageBlobTier2["P20"] = "P20";
+      PremiumPageBlobTier2["P30"] = "P30";
+      PremiumPageBlobTier2["P40"] = "P40";
+      PremiumPageBlobTier2["P50"] = "P50";
+      PremiumPageBlobTier2["P60"] = "P60";
+      PremiumPageBlobTier2["P70"] = "P70";
+      PremiumPageBlobTier2["P80"] = "P80";
+    })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {}));
+    function toAccessTier(tier) {
+      if (tier === void 0) {
+        return void 0;
+      }
+      return tier;
+    }
+    function ensureCpkIfSpecified(cpk, isHttps) {
+      if (cpk && !isHttps) {
+        throw new RangeError("Customer-provided encryption key must be used over HTTPS.");
+      }
+      if (cpk && !cpk.encryptionAlgorithm) {
+        cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25;
+      }
+    }
+    var StorageBlobAudience;
+    (function(StorageBlobAudience2) {
+      StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default";
+      StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default";
+    })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {}));
+    function getBlobServiceAccountAudience(storageAccountName) {
+      return `https://${storageAccountName}.blob.core.windows.net/.default`;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js
+var require_PageBlobRangeResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.rangeResponseFromModel = rangeResponseFromModel;
+    function rangeResponseFromModel(response) {
+      const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({
+        offset: x.start,
+        count: x.end - x.start
+      }));
+      const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({
+        offset: x.start,
+        count: x.end - x.start
+      }));
+      return {
+        ...response,
+        pageRange,
+        clearRange,
+        _response: {
+          ...response._response,
+          parsedBody: {
+            pageRange,
+            clearRange
+          }
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/logger.js
+var require_logger2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs2();
+    exports2.logger = (0, logger_1.createClientLogger)("core-lro");
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js
+var require_constants17 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0;
+    exports2.POLL_INTERVAL_IN_MS = 2e3;
+    exports2.terminalStates = ["succeeded", "canceled", "failed"];
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js
+var require_operation = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0;
+    var logger_js_1 = require_logger2();
+    var constants_js_1 = require_constants17();
+    function deserializeState(serializedState) {
+      try {
+        return JSON.parse(serializedState).state;
+      } catch (e) {
+        throw new Error(`Unable to deserialize input state: ${serializedState}`);
+      }
+    }
+    exports2.deserializeState = deserializeState;
+    function setStateError(inputs) {
+      const { state, stateProxy, isOperationError } = inputs;
+      return (error3) => {
+        if (isOperationError(error3)) {
+          stateProxy.setError(state, error3);
+          stateProxy.setFailed(state);
+        }
+        throw error3;
+      };
+    }
+    function appendReadableErrorMessage(currentMessage, innerMessage) {
+      let message = currentMessage;
+      if (message.slice(-1) !== ".") {
+        message = message + ".";
+      }
+      return message + " " + innerMessage;
+    }
+    function simplifyError(err) {
+      let message = err.message;
+      let code = err.code;
+      let curErr = err;
+      while (curErr.innererror) {
+        curErr = curErr.innererror;
+        code = curErr.code;
+        message = appendReadableErrorMessage(message, curErr.message);
+      }
+      return {
+        code,
+        message
+      };
+    }
+    function processOperationStatus(result) {
+      const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result;
+      switch (status) {
+        case "succeeded": {
+          stateProxy.setSucceeded(state);
+          break;
+        }
+        case "failed": {
+          const err = getError === null || getError === void 0 ? void 0 : getError(response);
+          let postfix = "";
+          if (err) {
+            const { code, message } = simplifyError(err);
+            postfix = `. ${code}. ${message}`;
+          }
+          const errStr = `The long-running operation has failed${postfix}`;
+          stateProxy.setError(state, new Error(errStr));
+          stateProxy.setFailed(state);
+          logger_js_1.logger.warning(errStr);
+          break;
+        }
+        case "canceled": {
+          stateProxy.setCanceled(state);
+          break;
+        }
+      }
+      if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) {
+        stateProxy.setResult(state, buildResult({
+          response,
+          state,
+          processResult
+        }));
+      }
+    }
+    function buildResult(inputs) {
+      const { processResult, response, state } = inputs;
+      return processResult ? processResult(response, state) : response;
+    }
+    async function initOperation(inputs) {
+      const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs;
+      const { operationLocation, resourceLocation, metadata, response } = await init();
+      if (operationLocation)
+        withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
+      const config = {
+        metadata,
+        operationLocation,
+        resourceLocation
+      };
+      logger_js_1.logger.verbose(`LRO: Operation description:`, config);
+      const state = stateProxy.initState(config);
+      const status = getOperationStatus({ response, state, operationLocation });
+      processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult });
+      return state;
+    }
+    exports2.initOperation = initOperation;
+    async function pollOperationHelper(inputs) {
+      const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs;
+      const response = await poll(operationLocation, options).catch(setStateError({
+        state,
+        stateProxy,
+        isOperationError
+      }));
+      const status = getOperationStatus(response, state);
+      logger_js_1.logger.verbose(`LRO: Status:
+	Polling from: ${state.config.operationLocation}
+	Operation status: ${status}
+	Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`);
+      if (status === "succeeded") {
+        const resourceLocation = getResourceLocation(response, state);
+        if (resourceLocation !== void 0) {
+          return {
+            response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })),
+            status
+          };
+        }
+      }
+      return { response, status };
+    }
+    async function pollOperation(inputs) {
+      const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs;
+      const { operationLocation } = state.config;
+      if (operationLocation !== void 0) {
+        const { response, status } = await pollOperationHelper({
+          poll,
+          getOperationStatus,
+          state,
+          stateProxy,
+          operationLocation,
+          getResourceLocation,
+          isOperationError,
+          options
+        });
+        processOperationStatus({
+          status,
+          response,
+          state,
+          stateProxy,
+          isDone,
+          processResult,
+          getError,
+          setErrorAsResult
+        });
+        if (!constants_js_1.terminalStates.includes(status)) {
+          const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response);
+          if (intervalInMs)
+            setDelay(intervalInMs);
+          const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state);
+          if (location !== void 0) {
+            const isUpdated = operationLocation !== location;
+            state.config.operationLocation = location;
+            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated);
+          } else
+            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
+        }
+        updateState === null || updateState === void 0 ? void 0 : updateState(state, response);
+      }
+    }
+    exports2.pollOperation = pollOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/http/operation.js
+var require_operation2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0;
+    var operation_js_1 = require_operation();
+    var logger_js_1 = require_logger2();
+    function getOperationLocationPollingUrl(inputs) {
+      const { azureAsyncOperation, operationLocation } = inputs;
+      return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation;
+    }
+    function getLocationHeader(rawResponse) {
+      return rawResponse.headers["location"];
+    }
+    function getOperationLocationHeader(rawResponse) {
+      return rawResponse.headers["operation-location"];
+    }
+    function getAzureAsyncOperationHeader(rawResponse) {
+      return rawResponse.headers["azure-asyncoperation"];
+    }
+    function findResourceLocation(inputs) {
+      var _a;
+      const { location, requestMethod, requestPath, resourceLocationConfig } = inputs;
+      switch (requestMethod) {
+        case "PUT": {
+          return requestPath;
+        }
+        case "DELETE": {
+          return void 0;
+        }
+        case "PATCH": {
+          return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath;
+        }
+        default: {
+          return getDefault();
+        }
+      }
+      function getDefault() {
+        switch (resourceLocationConfig) {
+          case "azure-async-operation": {
+            return void 0;
+          }
+          case "original-uri": {
+            return requestPath;
+          }
+          case "location":
+          default: {
+            return location;
+          }
+        }
+      }
+    }
+    function inferLroMode(inputs) {
+      const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs;
+      const operationLocation = getOperationLocationHeader(rawResponse);
+      const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse);
+      const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation });
+      const location = getLocationHeader(rawResponse);
+      const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase();
+      if (pollingUrl !== void 0) {
+        return {
+          mode: "OperationLocation",
+          operationLocation: pollingUrl,
+          resourceLocation: findResourceLocation({
+            requestMethod: normalizedRequestMethod,
+            location,
+            requestPath,
+            resourceLocationConfig
+          })
+        };
+      } else if (location !== void 0) {
+        return {
+          mode: "ResourceLocation",
+          operationLocation: location
+        };
+      } else if (normalizedRequestMethod === "PUT" && requestPath) {
+        return {
+          mode: "Body",
+          operationLocation: requestPath
+        };
+      } else {
+        return void 0;
+      }
+    }
+    exports2.inferLroMode = inferLroMode;
+    function transformStatus(inputs) {
+      const { status, statusCode } = inputs;
+      if (typeof status !== "string" && status !== void 0) {
+        throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);
+      }
+      switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) {
+        case void 0:
+          return toOperationStatus(statusCode);
+        case "succeeded":
+          return "succeeded";
+        case "failed":
+          return "failed";
+        case "running":
+        case "accepted":
+        case "started":
+        case "canceling":
+        case "cancelling":
+          return "running";
+        case "canceled":
+        case "cancelled":
+          return "canceled";
+        default: {
+          logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`);
+          return status;
+        }
+      }
+    }
+    function getStatus(rawResponse) {
+      var _a;
+      const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
+      return transformStatus({ status, statusCode: rawResponse.statusCode });
+    }
+    function getProvisioningState(rawResponse) {
+      var _a, _b;
+      const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
+      const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState;
+      return transformStatus({ status, statusCode: rawResponse.statusCode });
+    }
+    function toOperationStatus(statusCode) {
+      if (statusCode === 202) {
+        return "running";
+      } else if (statusCode < 300) {
+        return "succeeded";
+      } else {
+        return "failed";
+      }
+    }
+    function parseRetryAfter({ rawResponse }) {
+      const retryAfter = rawResponse.headers["retry-after"];
+      if (retryAfter !== void 0) {
+        const retryAfterInSeconds = parseInt(retryAfter);
+        return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3;
+      }
+      return void 0;
+    }
+    exports2.parseRetryAfter = parseRetryAfter;
+    function getErrorFromResponse(response) {
+      const error3 = accessBodyProperty(response, "error");
+      if (!error3) {
+        logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`);
+        return;
+      }
+      if (!error3.code || !error3.message) {
+        logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`);
+        return;
+      }
+      return error3;
+    }
+    exports2.getErrorFromResponse = getErrorFromResponse;
+    function calculatePollingIntervalFromDate(retryAfterDate) {
+      const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime());
+      const retryAfterTime = retryAfterDate.getTime();
+      if (timeNow < retryAfterTime) {
+        return retryAfterTime - timeNow;
+      }
+      return void 0;
+    }
+    function getStatusFromInitialResponse(inputs) {
+      const { response, state, operationLocation } = inputs;
+      function helper() {
+        var _a;
+        const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+        switch (mode) {
+          case void 0:
+            return toOperationStatus(response.rawResponse.statusCode);
+          case "Body":
+            return getOperationStatus(response, state);
+          default:
+            return "running";
+        }
+      }
+      const status = helper();
+      return status === "running" && operationLocation === void 0 ? "succeeded" : status;
+    }
+    exports2.getStatusFromInitialResponse = getStatusFromInitialResponse;
+    async function initHttpOperation(inputs) {
+      const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs;
+      return (0, operation_js_1.initOperation)({
+        init: async () => {
+          const response = await lro.sendInitialRequest();
+          const config = inferLroMode({
+            rawResponse: response.rawResponse,
+            requestPath: lro.requestPath,
+            requestMethod: lro.requestMethod,
+            resourceLocationConfig
+          });
+          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
+        },
+        stateProxy,
+        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse,
+        getOperationStatus: getStatusFromInitialResponse,
+        setErrorAsResult
+      });
+    }
+    exports2.initHttpOperation = initHttpOperation;
+    function getOperationLocation({ rawResponse }, state) {
+      var _a;
+      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+      switch (mode) {
+        case "OperationLocation": {
+          return getOperationLocationPollingUrl({
+            operationLocation: getOperationLocationHeader(rawResponse),
+            azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse)
+          });
+        }
+        case "ResourceLocation": {
+          return getLocationHeader(rawResponse);
+        }
+        case "Body":
+        default: {
+          return void 0;
+        }
+      }
+    }
+    exports2.getOperationLocation = getOperationLocation;
+    function getOperationStatus({ rawResponse }, state) {
+      var _a;
+      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+      switch (mode) {
+        case "OperationLocation": {
+          return getStatus(rawResponse);
+        }
+        case "ResourceLocation": {
+          return toOperationStatus(rawResponse.statusCode);
+        }
+        case "Body": {
+          return getProvisioningState(rawResponse);
+        }
+        default:
+          throw new Error(`Internal error: Unexpected operation mode: ${mode}`);
+      }
+    }
+    exports2.getOperationStatus = getOperationStatus;
+    function accessBodyProperty({ flatResponse, rawResponse }, prop) {
+      var _a, _b;
+      return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop];
+    }
+    function getResourceLocation(res, state) {
+      const loc = accessBodyProperty(res, "resourceLocation");
+      if (loc && typeof loc === "string") {
+        state.config.resourceLocation = loc;
+      }
+      return state.config.resourceLocation;
+    }
+    exports2.getResourceLocation = getResourceLocation;
+    function isOperationError(e) {
+      return e.name === "RestError";
+    }
+    exports2.isOperationError = isOperationError;
+    async function pollHttpOperation(inputs) {
+      const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs;
+      return (0, operation_js_1.pollOperation)({
+        state,
+        stateProxy,
+        setDelay,
+        processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse,
+        getError: getErrorFromResponse,
+        updateState,
+        getPollingInterval: parseRetryAfter,
+        getOperationLocation,
+        getOperationStatus,
+        isOperationError,
+        getResourceLocation,
+        options,
+        /**
+         * The expansion here is intentional because `lro` could be an object that
+         * references an inner this, so we need to preserve a reference to it.
+         */
+        poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions),
+        setErrorAsResult
+      });
+    }
+    exports2.pollHttpOperation = pollHttpOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js
+var require_poller = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.buildCreatePoller = void 0;
+    var operation_js_1 = require_operation();
+    var constants_js_1 = require_constants17();
+    var core_util_1 = require_commonjs4();
+    var createStateProxy = () => ({
+      /**
+       * The state at this point is created to be of type OperationState.
+       * It will be updated later to be of type TState when the
+       * customer-provided callback, `updateState`, is called during polling.
+       */
+      initState: (config) => ({ status: "running", config }),
+      setCanceled: (state) => state.status = "canceled",
+      setError: (state, error3) => state.error = error3,
+      setResult: (state, result) => state.result = result,
+      setRunning: (state) => state.status = "running",
+      setSucceeded: (state) => state.status = "succeeded",
+      setFailed: (state) => state.status = "failed",
+      getError: (state) => state.error,
+      getResult: (state) => state.result,
+      isCanceled: (state) => state.status === "canceled",
+      isFailed: (state) => state.status === "failed",
+      isRunning: (state) => state.status === "running",
+      isSucceeded: (state) => state.status === "succeeded"
+    });
+    function buildCreatePoller(inputs) {
+      const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs;
+      return async ({ init, poll }, options) => {
+        const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {};
+        const stateProxy = createStateProxy();
+        const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => {
+          let called = false;
+          return (operationLocation, isUpdated) => {
+            if (isUpdated)
+              withOperationLocationCallback(operationLocation);
+            else if (!called)
+              withOperationLocationCallback(operationLocation);
+            called = true;
+          };
+        })() : void 0;
+        const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({
+          init,
+          stateProxy,
+          processResult,
+          getOperationStatus: getStatusFromInitialResponse,
+          withOperationLocation,
+          setErrorAsResult: !resolveOnUnsuccessful
+        });
+        let resultPromise;
+        const abortController = new AbortController();
+        const handlers = /* @__PURE__ */ new Map();
+        const handleProgressEvents = async () => handlers.forEach((h) => h(state));
+        const cancelErrMsg = "Operation was canceled";
+        let currentPollIntervalInMs = intervalInMs;
+        const poller = {
+          getOperationState: () => state,
+          getResult: () => state.result,
+          isDone: () => ["succeeded", "failed", "canceled"].includes(state.status),
+          isStopped: () => resultPromise === void 0,
+          stopPolling: () => {
+            abortController.abort();
+          },
+          toString: () => JSON.stringify({
+            state
+          }),
+          onProgress: (callback) => {
+            const s = /* @__PURE__ */ Symbol();
+            handlers.set(s, callback);
+            return () => handlers.delete(s);
+          },
+          pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => {
+            const { abortSignal: inputAbortSignal } = pollOptions || {};
+            function abortListener() {
+              abortController.abort();
+            }
+            const abortSignal = abortController.signal;
+            if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
+              abortController.abort();
+            } else if (!abortSignal.aborted) {
+              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
+            }
+            try {
+              if (!poller.isDone()) {
+                await poller.poll({ abortSignal });
+                while (!poller.isDone()) {
+                  await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal });
+                  await poller.poll({ abortSignal });
+                }
+              }
+            } finally {
+              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
+            }
+            if (resolveOnUnsuccessful) {
+              return poller.getResult();
+            } else {
+              switch (state.status) {
+                case "succeeded":
+                  return poller.getResult();
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+                case "notStarted":
+                case "running":
+                  throw new Error(`Polling completed without succeeding or failing`);
+              }
+            }
+          })().finally(() => {
+            resultPromise = void 0;
+          }),
+          async poll(pollOptions) {
+            if (resolveOnUnsuccessful) {
+              if (poller.isDone())
+                return;
+            } else {
+              switch (state.status) {
+                case "succeeded":
+                  return;
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+              }
+            }
+            await (0, operation_js_1.pollOperation)({
+              poll,
+              state,
+              stateProxy,
+              getOperationLocation,
+              isOperationError,
+              withOperationLocation,
+              getPollingInterval,
+              getOperationStatus: getStatusFromPollResponse,
+              getResourceLocation,
+              processResult,
+              getError,
+              updateState,
+              options: pollOptions,
+              setDelay: (pollIntervalInMs) => {
+                currentPollIntervalInMs = pollIntervalInMs;
+              },
+              setErrorAsResult: !resolveOnUnsuccessful
+            });
+            await handleProgressEvents();
+            if (!resolveOnUnsuccessful) {
+              switch (state.status) {
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+              }
+            }
+          }
+        };
+        return poller;
+      };
+    }
+    exports2.buildCreatePoller = buildCreatePoller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/http/poller.js
+var require_poller2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpPoller = void 0;
+    var operation_js_1 = require_operation2();
+    var poller_js_1 = require_poller();
+    async function createHttpPoller(lro, options) {
+      const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {};
+      return (0, poller_js_1.buildCreatePoller)({
+        getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse,
+        getStatusFromPollResponse: operation_js_1.getOperationStatus,
+        isOperationError: operation_js_1.isOperationError,
+        getOperationLocation: operation_js_1.getOperationLocation,
+        getResourceLocation: operation_js_1.getResourceLocation,
+        getPollingInterval: operation_js_1.parseRetryAfter,
+        getError: operation_js_1.getErrorFromResponse,
+        resolveOnUnsuccessful
+      })({
+        init: async () => {
+          const response = await lro.sendInitialRequest();
+          const config = (0, operation_js_1.inferLroMode)({
+            rawResponse: response.rawResponse,
+            requestPath: lro.requestPath,
+            requestMethod: lro.requestMethod,
+            resourceLocationConfig
+          });
+          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
+        },
+        poll: lro.sendPollRequest
+      }, {
+        intervalInMs,
+        withOperationLocation,
+        restoreFrom,
+        updateState,
+        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse
+      });
+    }
+    exports2.createHttpPoller = createHttpPoller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js
+var require_operation3 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GenericPollOperation = void 0;
+    var operation_js_1 = require_operation2();
+    var logger_js_1 = require_logger2();
+    var createStateProxy = () => ({
+      initState: (config) => ({ config, isStarted: true }),
+      setCanceled: (state) => state.isCancelled = true,
+      setError: (state, error3) => state.error = error3,
+      setResult: (state, result) => state.result = result,
+      setRunning: (state) => state.isStarted = true,
+      setSucceeded: (state) => state.isCompleted = true,
+      setFailed: () => {
+      },
+      getError: (state) => state.error,
+      getResult: (state) => state.result,
+      isCanceled: (state) => !!state.isCancelled,
+      isFailed: (state) => !!state.error,
+      isRunning: (state) => !!state.isStarted,
+      isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error)
+    });
+    var GenericPollOperation = class {
+      constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) {
+        this.state = state;
+        this.lro = lro;
+        this.setErrorAsResult = setErrorAsResult;
+        this.lroResourceLocationConfig = lroResourceLocationConfig;
+        this.processResult = processResult;
+        this.updateState = updateState;
+        this.isDone = isDone;
+      }
+      setPollerConfig(pollerConfig) {
+        this.pollerConfig = pollerConfig;
+      }
+      async update(options) {
+        var _a;
+        const stateProxy = createStateProxy();
+        if (!this.state.isStarted) {
+          this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({
+            lro: this.lro,
+            stateProxy,
+            resourceLocationConfig: this.lroResourceLocationConfig,
+            processResult: this.processResult,
+            setErrorAsResult: this.setErrorAsResult
+          }));
+        }
+        const updateState = this.updateState;
+        const isDone = this.isDone;
+        if (!this.state.isCompleted && this.state.error === void 0) {
+          await (0, operation_js_1.pollHttpOperation)({
+            lro: this.lro,
+            state: this.state,
+            stateProxy,
+            processResult: this.processResult,
+            updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0,
+            isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0,
+            options,
+            setDelay: (intervalInMs) => {
+              this.pollerConfig.intervalInMs = intervalInMs;
+            },
+            setErrorAsResult: this.setErrorAsResult
+          });
+        }
+        (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state);
+        return this;
+      }
+      async cancel() {
+        logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented");
+        return this;
+      }
+      /**
+       * Serializes the Poller operation.
+       */
+      toString() {
+        return JSON.stringify({
+          state: this.state
+        });
+      }
+    };
+    exports2.GenericPollOperation = GenericPollOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js
+var require_poller3 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0;
+    var PollerStoppedError = class _PollerStoppedError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "PollerStoppedError";
+        Object.setPrototypeOf(this, _PollerStoppedError.prototype);
+      }
+    };
+    exports2.PollerStoppedError = PollerStoppedError;
+    var PollerCancelledError = class _PollerCancelledError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "PollerCancelledError";
+        Object.setPrototypeOf(this, _PollerCancelledError.prototype);
+      }
+    };
+    exports2.PollerCancelledError = PollerCancelledError;
+    var Poller = class {
+      /**
+       * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`.
+       *
+       * When writing an implementation of a Poller, this implementation needs to deal with the initialization
+       * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's
+       * operation has already been defined, at least its basic properties. The code below shows how to approach
+       * the definition of the constructor of a new custom poller.
+       *
+       * ```ts
+       * export class MyPoller extends Poller {
+       *   constructor({
+       *     // Anything you might need outside of the basics
+       *   }) {
+       *     let state: MyOperationState = {
+       *       privateProperty: private,
+       *       publicProperty: public,
+       *     };
+       *
+       *     const operation = {
+       *       state,
+       *       update,
+       *       cancel,
+       *       toString
+       *     }
+       *
+       *     // Sending the operation to the parent's constructor.
+       *     super(operation);
+       *
+       *     // You can assign more local properties here.
+       *   }
+       * }
+       * ```
+       *
+       * Inside of this constructor, a new promise is created. This will be used to
+       * tell the user when the poller finishes (see `pollUntilDone()`). The promise's
+       * resolve and reject methods are also used internally to control when to resolve
+       * or reject anyone waiting for the poller to finish.
+       *
+       * The constructor of a custom implementation of a poller is where any serialized version of
+       * a previous poller's operation should be deserialized into the operation sent to the
+       * base constructor. For example:
+       *
+       * ```ts
+       * export class MyPoller extends Poller {
+       *   constructor(
+       *     baseOperation: string | undefined
+       *   ) {
+       *     let state: MyOperationState = {};
+       *     if (baseOperation) {
+       *       state = {
+       *         ...JSON.parse(baseOperation).state,
+       *         ...state
+       *       };
+       *     }
+       *     const operation = {
+       *       state,
+       *       // ...
+       *     }
+       *     super(operation);
+       *   }
+       * }
+       * ```
+       *
+       * @param operation - Must contain the basic properties of `PollOperation`.
+       */
+      constructor(operation) {
+        this.resolveOnUnsuccessful = false;
+        this.stopped = true;
+        this.pollProgressCallbacks = [];
+        this.operation = operation;
+        this.promise = new Promise((resolve8, reject) => {
+          this.resolve = resolve8;
+          this.reject = reject;
+        });
+        this.promise.catch(() => {
+        });
+      }
+      /**
+       * Starts a loop that will break only if the poller is done
+       * or if the poller is stopped.
+       */
+      async startPolling(pollOptions = {}) {
+        if (this.stopped) {
+          this.stopped = false;
+        }
+        while (!this.isStopped() && !this.isDone()) {
+          await this.poll(pollOptions);
+          await this.delay();
+        }
+      }
+      /**
+       * pollOnce does one polling, by calling to the update method of the underlying
+       * poll operation to make any relevant change effective.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      async pollOnce(options = {}) {
+        if (!this.isDone()) {
+          this.operation = await this.operation.update({
+            abortSignal: options.abortSignal,
+            fireProgress: this.fireProgress.bind(this)
+          });
+        }
+        this.processUpdatedState();
+      }
+      /**
+       * fireProgress calls the functions passed in via onProgress the method of the poller.
+       *
+       * It loops over all of the callbacks received from onProgress, and executes them, sending them
+       * the current operation state.
+       *
+       * @param state - The current operation state.
+       */
+      fireProgress(state) {
+        for (const callback of this.pollProgressCallbacks) {
+          callback(state);
+        }
+      }
+      /**
+       * Invokes the underlying operation's cancel method.
+       */
+      async cancelOnce(options = {}) {
+        this.operation = await this.operation.cancel(options);
+      }
+      /**
+       * Returns a promise that will resolve once a single polling request finishes.
+       * It does this by calling the update method of the Poller's operation.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      poll(options = {}) {
+        if (!this.pollOncePromise) {
+          this.pollOncePromise = this.pollOnce(options);
+          const clearPollOncePromise = () => {
+            this.pollOncePromise = void 0;
+          };
+          this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject);
+        }
+        return this.pollOncePromise;
+      }
+      processUpdatedState() {
+        if (this.operation.state.error) {
+          this.stopped = true;
+          if (!this.resolveOnUnsuccessful) {
+            this.reject(this.operation.state.error);
+            throw this.operation.state.error;
+          }
+        }
+        if (this.operation.state.isCancelled) {
+          this.stopped = true;
+          if (!this.resolveOnUnsuccessful) {
+            const error3 = new PollerCancelledError("Operation was canceled");
+            this.reject(error3);
+            throw error3;
+          }
+        }
+        if (this.isDone() && this.resolve) {
+          this.resolve(this.getResult());
+        }
+      }
+      /**
+       * Returns a promise that will resolve once the underlying operation is completed.
+       */
+      async pollUntilDone(pollOptions = {}) {
+        if (this.stopped) {
+          this.startPolling(pollOptions).catch(this.reject);
+        }
+        this.processUpdatedState();
+        return this.promise;
+      }
+      /**
+       * Invokes the provided callback after each polling is completed,
+       * sending the current state of the poller's operation.
+       *
+       * It returns a method that can be used to stop receiving updates on the given callback function.
+       */
+      onProgress(callback) {
+        this.pollProgressCallbacks.push(callback);
+        return () => {
+          this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback);
+        };
+      }
+      /**
+       * Returns true if the poller has finished polling.
+       */
+      isDone() {
+        const state = this.operation.state;
+        return Boolean(state.isCompleted || state.isCancelled || state.error);
+      }
+      /**
+       * Stops the poller from continuing to poll.
+       */
+      stopPolling() {
+        if (!this.stopped) {
+          this.stopped = true;
+          if (this.reject) {
+            this.reject(new PollerStoppedError("This poller is already stopped"));
+          }
+        }
+      }
+      /**
+       * Returns true if the poller is stopped.
+       */
+      isStopped() {
+        return this.stopped;
+      }
+      /**
+       * Attempts to cancel the underlying operation.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * If it's called again before it finishes, it will throw an error.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      cancelOperation(options = {}) {
+        if (!this.cancelPromise) {
+          this.cancelPromise = this.cancelOnce(options);
+        } else if (options.abortSignal) {
+          throw new Error("A cancel request is currently pending");
+        }
+        return this.cancelPromise;
+      }
+      /**
+       * Returns the state of the operation.
+       *
+       * Even though TState will be the same type inside any of the methods of any extension of the Poller class,
+       * implementations of the pollers can customize what's shared with the public by writing their own
+       * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller
+       * and a public type representing a safe to share subset of the properties of the internal state.
+       * Their definition of getOperationState can then return their public type.
+       *
+       * Example:
+       *
+       * ```ts
+       * // Let's say we have our poller's operation state defined as:
+       * interface MyOperationState extends PollOperationState {
+       *   privateProperty?: string;
+       *   publicProperty?: string;
+       * }
+       *
+       * // To allow us to have a true separation of public and private state, we have to define another interface:
+       * interface PublicState extends PollOperationState {
+       *   publicProperty?: string;
+       * }
+       *
+       * // Then, we define our Poller as follows:
+       * export class MyPoller extends Poller {
+       *   // ... More content is needed here ...
+       *
+       *   public getOperationState(): PublicState {
+       *     const state: PublicState = this.operation.state;
+       *     return {
+       *       // Properties from PollOperationState
+       *       isStarted: state.isStarted,
+       *       isCompleted: state.isCompleted,
+       *       isCancelled: state.isCancelled,
+       *       error: state.error,
+       *       result: state.result,
+       *
+       *       // The only other property needed by PublicState.
+       *       publicProperty: state.publicProperty
+       *     }
+       *   }
+       * }
+       * ```
+       *
+       * You can see this in the tests of this repository, go to the file:
+       * `../test/utils/testPoller.ts`
+       * and look for the getOperationState implementation.
+       */
+      getOperationState() {
+        return this.operation.state;
+      }
+      /**
+       * Returns the result value of the operation,
+       * regardless of the state of the poller.
+       * It can return undefined or an incomplete form of the final TResult value
+       * depending on the implementation.
+       */
+      getResult() {
+        const state = this.operation.state;
+        return state.result;
+      }
+      /**
+       * Returns a serialized version of the poller's operation
+       * by invoking the operation's toString method.
+       */
+      toString() {
+        return this.operation.toString();
+      }
+    };
+    exports2.Poller = Poller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js
+var require_lroEngine = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LroEngine = void 0;
+    var operation_js_1 = require_operation3();
+    var constants_js_1 = require_constants17();
+    var poller_js_1 = require_poller3();
+    var operation_js_2 = require_operation();
+    var LroEngine = class extends poller_js_1.Poller {
+      constructor(lro, options) {
+        const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {};
+        const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {};
+        const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone);
+        super(operation);
+        this.resolveOnUnsuccessful = resolveOnUnsuccessful;
+        this.config = { intervalInMs };
+        operation.setPollerConfig(this.config);
+      }
+      /**
+       * The method used by the poller to wait before attempting to update its operation.
+       */
+      delay() {
+        return new Promise((resolve8) => setTimeout(() => resolve8(), this.config.intervalInMs));
+      }
+    };
+    exports2.LroEngine = LroEngine;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js
+var require_lroEngine2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LroEngine = void 0;
+    var lroEngine_js_1 = require_lroEngine();
+    Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() {
+      return lroEngine_js_1.LroEngine;
+    } });
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js
+var require_pollOperation = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/index.js
+var require_commonjs14 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpPoller = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var poller_js_1 = require_poller2();
+    Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() {
+      return poller_js_1.createHttpPoller;
+    } });
+    tslib_1.__exportStar(require_lroEngine2(), exports2);
+    tslib_1.__exportStar(require_poller3(), exports2);
+    tslib_1.__exportStar(require_pollOperation(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js
+var require_BlobStartCopyFromUrlPoller = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBeginCopyFromUrlPoller = void 0;
+    var core_util_1 = require_commonjs4();
+    var core_lro_1 = require_commonjs14();
+    var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller {
+      intervalInMs;
+      constructor(options) {
+        const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options;
+        let state;
+        if (resumeFrom) {
+          state = JSON.parse(resumeFrom).state;
+        }
+        const operation = makeBlobBeginCopyFromURLPollOperation({
+          ...state,
+          blobClient,
+          copySource,
+          startCopyFromURLOptions
+        });
+        super(operation);
+        if (typeof onProgress === "function") {
+          this.onProgress(onProgress);
+        }
+        this.intervalInMs = intervalInMs;
+      }
+      delay() {
+        return (0, core_util_1.delay)(this.intervalInMs);
+      }
+    };
+    exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller;
+    var cancel = async function cancel2(options = {}) {
+      const state = this.state;
+      const { copyId } = state;
+      if (state.isCompleted) {
+        return makeBlobBeginCopyFromURLPollOperation(state);
+      }
+      if (!copyId) {
+        state.isCancelled = true;
+        return makeBlobBeginCopyFromURLPollOperation(state);
+      }
+      await state.blobClient.abortCopyFromURL(copyId, {
+        abortSignal: options.abortSignal
+      });
+      state.isCancelled = true;
+      return makeBlobBeginCopyFromURLPollOperation(state);
+    };
+    var update = async function update2(options = {}) {
+      const state = this.state;
+      const { blobClient, copySource, startCopyFromURLOptions } = state;
+      if (!state.isStarted) {
+        state.isStarted = true;
+        const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions);
+        state.copyId = result.copyId;
+        if (result.copyStatus === "success") {
+          state.result = result;
+          state.isCompleted = true;
+        }
+      } else if (!state.isCompleted) {
+        try {
+          const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal });
+          const { copyStatus, copyProgress } = result;
+          const prevCopyProgress = state.copyProgress;
+          if (copyProgress) {
+            state.copyProgress = copyProgress;
+          }
+          if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") {
+            options.fireProgress(state);
+          } else if (copyStatus === "success") {
+            state.result = result;
+            state.isCompleted = true;
+          } else if (copyStatus === "failed") {
+            state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`);
+            state.isCompleted = true;
+          }
+        } catch (err) {
+          state.error = err;
+          state.isCompleted = true;
+        }
+      }
+      return makeBlobBeginCopyFromURLPollOperation(state);
+    };
+    var toString3 = function toString4() {
+      return JSON.stringify({ state: this.state }, (key, value) => {
+        if (key === "blobClient") {
+          return void 0;
+        }
+        return value;
+      });
+    };
+    function makeBlobBeginCopyFromURLPollOperation(state) {
+      return {
+        state: { ...state },
+        cancel,
+        toString: toString3,
+        update
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/Range.js
+var require_Range = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.rangeToString = rangeToString;
+    function rangeToString(iRange) {
+      if (iRange.offset < 0) {
+        throw new RangeError(`Range.offset cannot be smaller than 0.`);
+      }
+      if (iRange.count && iRange.count <= 0) {
+        throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`);
+      }
+      return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js
+var require_Batch = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Batch = void 0;
+    var events_1 = require("events");
+    var BatchStates;
+    (function(BatchStates2) {
+      BatchStates2[BatchStates2["Good"] = 0] = "Good";
+      BatchStates2[BatchStates2["Error"] = 1] = "Error";
+    })(BatchStates || (BatchStates = {}));
+    var Batch = class {
+      /**
+       * Concurrency. Must be lager than 0.
+       */
+      concurrency;
+      /**
+       * Number of active operations under execution.
+       */
+      actives = 0;
+      /**
+       * Number of completed operations under execution.
+       */
+      completed = 0;
+      /**
+       * Offset of next operation to be executed.
+       */
+      offset = 0;
+      /**
+       * Operation array to be executed.
+       */
+      operations = [];
+      /**
+       * States of Batch. When an error happens, state will turn into error.
+       * Batch will stop execute left operations.
+       */
+      state = BatchStates.Good;
+      /**
+       * A private emitter used to pass events inside this class.
+       */
+      emitter;
+      /**
+       * Creates an instance of Batch.
+       * @param concurrency -
+       */
+      constructor(concurrency = 5) {
+        if (concurrency < 1) {
+          throw new RangeError("concurrency must be larger than 0");
+        }
+        this.concurrency = concurrency;
+        this.emitter = new events_1.EventEmitter();
+      }
+      /**
+       * Add a operation into queue.
+       *
+       * @param operation -
+       */
+      addOperation(operation) {
+        this.operations.push(async () => {
+          try {
+            this.actives++;
+            await operation();
+            this.actives--;
+            this.completed++;
+            this.parallelExecute();
+          } catch (error3) {
+            this.emitter.emit("error", error3);
+          }
+        });
+      }
+      /**
+       * Start execute operations in the queue.
+       *
+       */
+      async do() {
+        if (this.operations.length === 0) {
+          return Promise.resolve();
+        }
+        this.parallelExecute();
+        return new Promise((resolve8, reject) => {
+          this.emitter.on("finish", resolve8);
+          this.emitter.on("error", (error3) => {
+            this.state = BatchStates.Error;
+            reject(error3);
+          });
+        });
+      }
+      /**
+       * Get next operation to be executed. Return null when reaching ends.
+       *
+       */
+      nextOperation() {
+        if (this.offset < this.operations.length) {
+          return this.operations[this.offset++];
+        }
+        return null;
+      }
+      /**
+       * Start execute operations. One one the most important difference between
+       * this method with do() is that do() wraps as an sync method.
+       *
+       */
+      parallelExecute() {
+        if (this.state === BatchStates.Error) {
+          return;
+        }
+        if (this.completed >= this.operations.length) {
+          this.emitter.emit("finish");
+          return;
+        }
+        while (this.actives < this.concurrency) {
+          const operation = this.nextOperation();
+          if (operation) {
+            operation();
+          } else {
+            return;
+          }
+        }
+      }
+    };
+    exports2.Batch = Batch;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js
+var require_utils7 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.fsCreateReadStream = exports2.fsStat = void 0;
+    exports2.streamToBuffer = streamToBuffer;
+    exports2.streamToBuffer2 = streamToBuffer2;
+    exports2.streamToBuffer3 = streamToBuffer3;
+    exports2.readStreamToLocalFile = readStreamToLocalFile;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_fs_1 = tslib_1.__importDefault(require("node:fs"));
+    var node_util_1 = tslib_1.__importDefault(require("node:util"));
+    var constants_js_1 = require_constants15();
+    async function streamToBuffer(stream2, buffer, offset, end, encoding) {
+      let pos = 0;
+      const count = end - offset;
+      return new Promise((resolve8, reject) => {
+        const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT);
+        stream2.on("readable", () => {
+          if (pos >= count) {
+            clearTimeout(timeout);
+            resolve8();
+            return;
+          }
+          let chunk = stream2.read();
+          if (!chunk) {
+            return;
+          }
+          if (typeof chunk === "string") {
+            chunk = Buffer.from(chunk, encoding);
+          }
+          const chunkLength = pos + chunk.length > count ? count - pos : chunk.length;
+          buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength);
+          pos += chunkLength;
+        });
+        stream2.on("end", () => {
+          clearTimeout(timeout);
+          if (pos < count) {
+            reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`));
+          }
+          resolve8();
+        });
+        stream2.on("error", (msg) => {
+          clearTimeout(timeout);
+          reject(msg);
+        });
+      });
+    }
+    async function streamToBuffer2(stream2, buffer, encoding) {
+      let pos = 0;
+      const bufferSize = buffer.length;
+      return new Promise((resolve8, reject) => {
+        stream2.on("readable", () => {
+          let chunk = stream2.read();
+          if (!chunk) {
+            return;
+          }
+          if (typeof chunk === "string") {
+            chunk = Buffer.from(chunk, encoding);
+          }
+          if (pos + chunk.length > bufferSize) {
+            reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`));
+            return;
+          }
+          buffer.fill(chunk, pos, pos + chunk.length);
+          pos += chunk.length;
+        });
+        stream2.on("end", () => {
+          resolve8(pos);
+        });
+        stream2.on("error", reject);
+      });
+    }
+    async function streamToBuffer3(readableStream, encoding) {
+      return new Promise((resolve8, reject) => {
+        const chunks = [];
+        readableStream.on("data", (data) => {
+          chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data);
+        });
+        readableStream.on("end", () => {
+          resolve8(Buffer.concat(chunks));
+        });
+        readableStream.on("error", reject);
+      });
+    }
+    async function readStreamToLocalFile(rs, file) {
+      return new Promise((resolve8, reject) => {
+        const ws = node_fs_1.default.createWriteStream(file);
+        rs.on("error", (err) => {
+          reject(err);
+        });
+        ws.on("error", (err) => {
+          reject(err);
+        });
+        ws.on("close", resolve8);
+        rs.pipe(ws);
+      });
+    }
+    exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat);
+    exports2.fsCreateReadStream = node_fs_1.default.createReadStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/Clients.js
+var require_Clients = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_auth_1 = require_commonjs7();
+    var core_util_1 = require_commonjs4();
+    var core_util_2 = require_commonjs4();
+    var BlobDownloadResponse_js_1 = require_BlobDownloadResponse();
+    var BlobQueryResponse_js_1 = require_BlobQueryResponse();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var models_js_1 = require_models2();
+    var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse();
+    var Pipeline_js_1 = require_Pipeline();
+    var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller();
+    var Range_js_1 = require_Range();
+    var StorageClient_js_1 = require_StorageClient();
+    var Batch_js_1 = require_Batch();
+    var storage_common_1 = require_commonjs13();
+    var constants_js_1 = require_constants15();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var utils_js_1 = require_utils7();
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
+    var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient {
+      /**
+       * blobContext provided by protocol layer.
+       */
+      blobContext;
+      _name;
+      _containerName;
+      _versionId;
+      _snapshot;
+      /**
+       * The name of the blob.
+       */
+      get name() {
+        return this._name;
+      }
+      /**
+       * The name of the storage container the blob is associated with.
+       */
+      get containerName() {
+        return this._containerName;
+      }
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        options = options || {};
+        let pipeline;
+        let url2;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url2 = urlOrConnectionString;
+          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
+            options = blobNameOrOptions;
+          }
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
+            }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+        }
+        super(url2, pipeline);
+        ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl());
+        this.blobContext = this.storageClientContext.blob;
+        this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT);
+        this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID);
+      }
+      /**
+       * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp
+       */
+      withSnapshot(snapshot) {
+        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * Creates a new BlobClient object pointing to a version of this blob.
+       * Provide "" will remove the versionId and return a Client to the base blob.
+       *
+       * @param versionId - The versionId.
+       * @returns A new BlobClient object pointing to the version of this blob.
+       */
+      withVersion(versionId) {
+        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline);
+      }
+      /**
+       * Creates a AppendBlobClient object.
+       *
+       */
+      getAppendBlobClient() {
+        return new AppendBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Creates a BlockBlobClient object.
+       *
+       */
+      getBlockBlobClient() {
+        return new BlockBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Creates a PageBlobClient object.
+       *
+       */
+      getPageBlobClient() {
+        return new PageBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Reads or downloads a blob from the system, including its metadata and properties.
+       * You can also call Get Blob to read a snapshot.
+       *
+       * * In Node.js, data returns in a Readable stream readableStreamBody
+       * * In browsers, data returns in a promise blobBody
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob
+       *
+       * @param offset - From which position of the blob to download, greater than or equal to 0
+       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
+       * @param options - Optional options to Blob Download operation.
+       *
+       *
+       * Example usage (Node.js):
+       *
+       * ```ts snippet:ReadmeSampleDownloadBlob_Node
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Get blob content from position 0 to the end
+       * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
+       * const downloadBlockBlobResponse = await blobClient.download();
+       * if (downloadBlockBlobResponse.readableStreamBody) {
+       *   const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody);
+       *   console.log(`Downloaded blob content: ${downloaded}`);
+       * }
+       *
+       * async function streamToString(stream: NodeJS.ReadableStream): Promise {
+       *   const result = await new Promise>((resolve, reject) => {
+       *     const chunks: Buffer[] = [];
+       *     stream.on("data", (data) => {
+       *       chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data));
+       *     });
+       *     stream.on("end", () => {
+       *       resolve(Buffer.concat(chunks));
+       *     });
+       *     stream.on("error", reject);
+       *   });
+       *   return result.toString();
+       * }
+       * ```
+       *
+       * Example usage (browser):
+       *
+       * ```ts snippet:ReadmeSampleDownloadBlob_Browser
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Get blob content from position 0 to the end
+       * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
+       * const downloadBlockBlobResponse = await blobClient.download();
+       * const blobBody = await downloadBlockBlobResponse.blobBody;
+       * if (blobBody) {
+       *   const downloaded = await blobBody.text();
+       *   console.log(`Downloaded blob content: ${downloaded}`);
+       * }
+       * ```
+       */
+      async download(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress
+              // for Node.js, progress is reported by RetriableReadableStream
+            },
+            range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
+            rangeGetContentMD5: options.rangeGetContentMD5,
+            rangeGetContentCRC64: options.rangeGetContentCrc64,
+            snapshot: options.snapshot,
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedRes = {
+            ...res,
+            _response: res._response,
+            // _response is made non-enumerable
+            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
+            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+          };
+          if (!core_util_1.isNodeLike) {
+            return wrappedRes;
+          }
+          if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) {
+            options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS;
+          }
+          if (res.contentLength === void 0) {
+            throw new RangeError(`File download response doesn't contain valid content length header`);
+          }
+          if (!res.etag) {
+            throw new RangeError(`File download response doesn't contain valid etag header`);
+          }
+          return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => {
+            const updatedDownloadOptions = {
+              leaseAccessConditions: options.conditions,
+              modifiedAccessConditions: {
+                ifMatch: options.conditions.ifMatch || res.etag,
+                ifModifiedSince: options.conditions.ifModifiedSince,
+                ifNoneMatch: options.conditions.ifNoneMatch,
+                ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
+                ifTags: options.conditions?.tagConditions
+              },
+              range: (0, Range_js_1.rangeToString)({
+                count: offset + res.contentLength - start,
+                offset: start
+              }),
+              rangeGetContentMD5: options.rangeGetContentMD5,
+              rangeGetContentCRC64: options.rangeGetContentCrc64,
+              snapshot: options.snapshot,
+              cpkInfo: options.customerProvidedKey
+            };
+            return (await this.blobContext.download({
+              abortSignal: options.abortSignal,
+              ...updatedDownloadOptions
+            })).readableStreamBody;
+          }, offset, res.contentLength, {
+            maxRetryRequests: options.maxRetryRequests,
+            onProgress: options.onProgress
+          });
+        });
+      }
+      /**
+       * Returns true if the Azure blob resource represented by this client exists; false otherwise.
+       *
+       * NOTE: use this function with care since an existing blob might be deleted by other clients or
+       * applications. Vice versa new blobs might be added by other clients or applications after this
+       * function completes.
+       *
+       * @param options - options to Exists operation.
+       */
+      async exists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => {
+          try {
+            (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+            await this.getProperties({
+              abortSignal: options.abortSignal,
+              customerProvidedKey: options.customerProvidedKey,
+              conditions: options.conditions,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            return true;
+          } catch (e) {
+            if (e.statusCode === 404) {
+              return false;
+            } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) {
+              return true;
+            }
+            throw e;
+          }
+        });
+      }
+      /**
+       * Returns all user-defined metadata, standard HTTP properties, and system properties
+       * for the blob. It does not return the content of the blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties
+       *
+       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
+       * they originally contained uppercase characters. This differs from the metadata keys returned by
+       * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which
+       * will retain their original casing.
+       *
+       * @param options - Optional options to Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return {
+            ...res,
+            _response: res._response,
+            // _response is made non-enumerable
+            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
+            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+          };
+        });
+      }
+      /**
+       * Marks the specified blob or snapshot for deletion. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param options - Optional options to Blob Delete operation.
+       */
+      async delete(options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({
+            abortSignal: options.abortSignal,
+            deleteSnapshots: options.deleteSnapshots,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param options - Optional options to Blob Delete operation.
+       */
+      async deleteIfExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
+          try {
+            const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobNotFound") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            }
+            throw e;
+          }
+        });
+      }
+      /**
+       * Restores the contents and metadata of soft deleted blob and any associated
+       * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29
+       * or later.
+       * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob
+       *
+       * @param options - Optional options to Blob Undelete operation.
+       */
+      async undelete(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets system properties on the blob.
+       *
+       * If no value provided, or no value provided for the specified blob HTTP headers,
+       * these blob HTTP headers without a value will be cleared.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param blobHTTPHeaders - If no value provided, or no value provided for
+       *                                                   the specified blob HTTP headers, these blob HTTP
+       *                                                   headers without a value will be cleared.
+       *                                                   A common header to set is `blobContentType`
+       *                                                   enabling the browser to provide functionality
+       *                                                   based on file type.
+       * @param options - Optional options to Blob Set HTTP Headers operation.
+       */
+      async setHTTPHeaders(blobHTTPHeaders, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets user-defined metadata for the specified blob as one or more name-value pairs.
+       *
+       * If no option provided, or no metadata defined in the parameter, the blob
+       * metadata will be removed.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata
+       *
+       * @param metadata - Replace existing metadata with this value.
+       *                               If no value provided the existing metadata will be removed.
+       * @param options - Optional options to Set Metadata operation.
+       */
+      async setMetadata(metadata, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets tags on the underlying blob.
+       * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters.  Tag values must be between 0 and 256 characters.
+       * Valid tag key and value characters include lower and upper case letters, digits (0-9),
+       * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').
+       *
+       * @param tags -
+       * @param options -
+       */
+      async setTags(tags, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions,
+            tags: (0, utils_common_js_1.toBlobTags)(tags)
+          }));
+        });
+      }
+      /**
+       * Gets the tags associated with the underlying blob.
+       *
+       * @param options -
+       */
+      async getTags(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {}
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Get a {@link BlobLeaseClient} that manages leases on the blob.
+       *
+       * @param proposeLeaseId - Initial proposed lease Id.
+       * @returns A new BlobLeaseClient object for managing leases on the blob.
+       */
+      getBlobLeaseClient(proposeLeaseId) {
+        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      }
+      /**
+       * Creates a read-only snapshot of a blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob
+       *
+       * @param options - Optional options to the Blob Create Snapshot operation.
+       */
+      async createSnapshot(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Asynchronously copies a blob to a destination within the storage account.
+       * This method returns a long running operation poller that allows you to wait
+       * indefinitely until the copy is completed.
+       * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller.
+       * Note that the onProgress callback will not be invoked if the operation completes in the first
+       * request, and attempting to cancel a completed copy will result in an error being thrown.
+       *
+       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
+       * a committed blob in any Azure storage account.
+       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
+       * an Azure file in any Azure storage account.
+       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
+       * operation to copy from another storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
+       *
+       * ```ts snippet:ClientsBeginCopyFromURL
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Example using automatic polling
+       * const automaticCopyPoller = await blobClient.beginCopyFromURL("url");
+       * const automaticResult = await automaticCopyPoller.pollUntilDone();
+       *
+       * // Example using manual polling
+       * const manualCopyPoller = await blobClient.beginCopyFromURL("url");
+       * while (!manualCopyPoller.isDone()) {
+       *   await manualCopyPoller.poll();
+       * }
+       * const manualResult = manualCopyPoller.getResult();
+       *
+       * // Example using progress updates
+       * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", {
+       *   onProgress(state) {
+       *     console.log(`Progress: ${state.copyProgress}`);
+       *   },
+       * });
+       * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone();
+       *
+       * // Example using a changing polling interval (default 15 seconds)
+       * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", {
+       *   intervalInMs: 1000, // poll blob every 1 second for copy progress
+       * });
+       * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone();
+       *
+       * // Example using copy cancellation:
+       * const cancelCopyPoller = await blobClient.beginCopyFromURL("url");
+       * // cancel operation after starting it.
+       * try {
+       *   await cancelCopyPoller.cancelOperation();
+       *   // calls to get the result now throw PollerCancelledError
+       *   cancelCopyPoller.getResult();
+       * } catch (err: any) {
+       *   if (err.name === "PollerCancelledError") {
+       *     console.log("The copy was cancelled.");
+       *   }
+       * }
+       * ```
+       *
+       * @param copySource - url to the source Azure Blob/File.
+       * @param options - Optional options to the Blob Start Copy From URL operation.
+       */
+      async beginCopyFromURL(copySource, options = {}) {
+        const client = {
+          abortCopyFromURL: (...args) => this.abortCopyFromURL(...args),
+          getProperties: (...args) => this.getProperties(...args),
+          startCopyFromURL: (...args) => this.startCopyFromURL(...args)
+        };
+        const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({
+          blobClient: client,
+          copySource,
+          intervalInMs: options.intervalInMs,
+          onProgress: options.onProgress,
+          resumeFrom: options.resumeFrom,
+          startCopyFromURLOptions: options
+        });
+        await poller.poll();
+        return poller;
+      }
+      /**
+       * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero
+       * length and full metadata. Version 2012-02-12 and newer.
+       * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob
+       *
+       * @param copyId - Id of the Copy From URL operation.
+       * @param options - Optional options to the Blob Abort Copy From URL operation.
+       */
+      async abortCopyFromURL(copyId, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not
+       * return a response until the copy is complete.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url
+       *
+       * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication
+       * @param options -
+       */
+      async syncCopyFromURL(copySource, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, {
+            abortSignal: options.abortSignal,
+            metadata: options.metadata,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            sourceContentMD5: options.sourceContentMD5,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            encryptionScope: options.encryptionScope,
+            copySourceTags: options.copySourceTags,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets the tier on a blob. The operation is allowed on a page blob in a premium
+       * storage account and on a block blob in a blob storage account (locally redundant
+       * storage only). A premium page blob's tier determines the allowed size, IOPS,
+       * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive
+       * storage type. This operation does not update the blob's ETag.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier
+       *
+       * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive.
+       * @param options - Optional options to the Blob Set Tier operation.
+       */
+      async setAccessTier(tier, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            rehydratePriority: options.rehydratePriority,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      async downloadToBuffer(param1, param2, param3, param4 = {}) {
+        let buffer;
+        let offset = 0;
+        let count = 0;
+        let options = param4;
+        if (param1 instanceof Buffer) {
+          buffer = param1;
+          offset = param2 || 0;
+          count = typeof param3 === "number" ? param3 : 0;
+        } else {
+          offset = typeof param1 === "number" ? param1 : 0;
+          count = typeof param2 === "number" ? param2 : 0;
+          options = param3 || {};
+        }
+        let blockSize = options.blockSize ?? 0;
+        if (blockSize < 0) {
+          throw new RangeError("blockSize option must be >= 0");
+        }
+        if (blockSize === 0) {
+          blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
+        }
+        if (offset < 0) {
+          throw new RangeError("offset option must be >= 0");
+        }
+        if (count && count <= 0) {
+          throw new RangeError("count option must be greater than 0");
+        }
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
+          if (!count) {
+            const response = await this.getProperties({
+              ...options,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            count = response.contentLength - offset;
+            if (count < 0) {
+              throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
+            }
+          }
+          if (!buffer) {
+            try {
+              buffer = Buffer.alloc(count);
+            } catch (error3) {
+              throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile".	 ${error3.message}`);
+            }
+          }
+          if (buffer.length < count) {
+            throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`);
+          }
+          let transferProgress = 0;
+          const batch = new Batch_js_1.Batch(options.concurrency);
+          for (let off = offset; off < offset + count; off = off + blockSize) {
+            batch.addOperation(async () => {
+              let chunkEnd = offset + count;
+              if (off + blockSize < chunkEnd) {
+                chunkEnd = off + blockSize;
+              }
+              const response = await this.download(off, chunkEnd - off, {
+                abortSignal: options.abortSignal,
+                conditions: options.conditions,
+                maxRetryRequests: options.maxRetryRequestsPerBlock,
+                customerProvidedKey: options.customerProvidedKey,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              const stream2 = response.readableStreamBody;
+              await (0, utils_js_1.streamToBuffer)(stream2, buffer, off - offset, chunkEnd - offset);
+              transferProgress += chunkEnd - off;
+              if (options.onProgress) {
+                options.onProgress({ loadedBytes: transferProgress });
+              }
+            });
+          }
+          await batch.do();
+          return buffer;
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Downloads an Azure Blob to a local file.
+       * Fails if the the given file path already exits.
+       * Offset and count are optional, pass 0 and undefined respectively to download the entire blob.
+       *
+       * @param filePath -
+       * @param offset - From which position of the block blob to download.
+       * @param count - How much data to be downloaded. Will download to the end when passing undefined.
+       * @param options - Options to Blob download options.
+       * @returns The response data for blob download operation,
+       *                                                 but with readableStreamBody set to undefined since its
+       *                                                 content is already read and written into a local file
+       *                                                 at the specified path.
+       */
+      async downloadToFile(filePath, offset = 0, count, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
+          const response = await this.download(offset, count, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          });
+          if (response.readableStreamBody) {
+            await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath);
+          }
+          response.blobDownloadStream = void 0;
+          return response;
+        });
+      }
+      getBlobAndContainerNamesFromUrl() {
+        let containerName;
+        let blobName;
+        try {
+          const parsedUrl = new URL(this.url);
+          if (parsedUrl.host.split(".")[1] === "blob") {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
+            containerName = pathComponents[1];
+            blobName = pathComponents[3];
+          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?");
+            containerName = pathComponents[2];
+            blobName = pathComponents[4];
+          } else {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
+            containerName = pathComponents[1];
+            blobName = pathComponents[3];
+          }
+          containerName = decodeURIComponent(containerName);
+          blobName = decodeURIComponent(blobName);
+          blobName = blobName.replace(/\\/g, "/");
+          if (!containerName) {
+            throw new Error("Provided containerName is invalid.");
+          }
+          return { blobName, containerName };
+        } catch (error3) {
+          throw new Error("Unable to extract blobName and containerName with provided information.");
+        }
+      }
+      /**
+       * Asynchronously copies a blob to a destination within the storage account.
+       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
+       * a committed blob in any Azure storage account.
+       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
+       * an Azure file in any Azure storage account.
+       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
+       * operation to copy from another storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
+       *
+       * @param copySource - url to the source Azure Blob/File.
+       * @param options - Optional options to the Blob Start Copy From URL operation.
+       */
+      async startCopyFromURL(copySource, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
+          options.conditions = options.conditions || {};
+          options.sourceConditions = options.sourceConditions || {};
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
+              sourceIfTags: options.sourceConditions.tagConditions
+            },
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            rehydratePriority: options.rehydratePriority,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            sealBlob: options.sealBlob,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasUrl(options) {
+        return new Promise((resolve8) => {
+          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+          }
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            blobName: this._name,
+            snapshotTime: this._snapshot,
+            versionId: this._versionId,
+            ...options
+          }, this.credential).toString();
+          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
+      generateSasStringToSign(options) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+        }
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          blobName: this._name,
+          snapshotTime: this._snapshot,
+          versionId: this._versionId,
+          ...options
+        }, this.credential).stringToSign;
+      }
+      /**
+       *
+       * Generates a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasUrl(options, userDelegationKey) {
+        return new Promise((resolve8) => {
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            blobName: this._name,
+            snapshotTime: this._snapshot,
+            versionId: this._versionId,
+            ...options
+          }, userDelegationKey, this.accountName).toString();
+          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasStringToSign(options, userDelegationKey) {
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          blobName: this._name,
+          snapshotTime: this._snapshot,
+          versionId: this._versionId,
+          ...options
+        }, userDelegationKey, this.accountName).stringToSign;
+      }
+      /**
+       * Delete the immutablility policy on the blob.
+       *
+       * @param options - Optional options to delete immutability policy on the blob.
+       */
+      async deleteImmutabilityPolicy(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Set immutability policy on the blob.
+       *
+       * @param options - Optional options to set immutability policy on the blob.
+       */
+      async setImmutabilityPolicy(immutabilityPolicy, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({
+            immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn,
+            immutabilityPolicyMode: immutabilityPolicy.policyMode,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Set legal hold on the blob.
+       *
+       * @param options - Optional options to set legal hold on the blob.
+       */
+      async setLegalHold(legalHoldEnabled, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, {
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+    };
+    exports2.BlobClient = BlobClient;
+    var AppendBlobClient = class _AppendBlobClient extends BlobClient {
+      /**
+       * appendBlobsContext provided by protocol layer.
+       */
+      appendBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url2;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url2 = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
+            }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+        }
+        super(url2, pipeline);
+        this.appendBlobContext = this.storageClientContext.appendBlob;
+      }
+      /**
+       * Creates a new AppendBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param options - Options to the Append Block Create operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsCreateAppendBlob
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * const appendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await appendBlobClient.create();
+       * ```
+       */
+      async create(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
+       * If the blob with the same name already exists, the content of the existing blob will remain unchanged.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param options -
+       */
+      async createIfNotExists(options = {}) {
+        const conditions = { ifNoneMatch: constants_js_1.ETagAny };
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const res = (0, utils_common_js_1.assertResponse)(await this.create({
+              ...updatedOptions,
+              conditions
+            }));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            }
+            throw e;
+          }
+        });
+      }
+      /**
+       * Seals the append blob, making it read only.
+       *
+       * @param options -
+       */
+      async seal(options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({
+            abortSignal: options.abortSignal,
+            appendPositionAccessConditions: options.conditions,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Commits a new block of data to the end of the existing append blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/append-block
+       *
+       * @param body - Data to be appended.
+       * @param contentLength - Length of the body in bytes.
+       * @param options - Options to the Append Block operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsAppendBlock
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * const content = "Hello World!";
+       *
+       * // Create a new append blob and append data to the blob.
+       * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await newAppendBlobClient.create();
+       * await newAppendBlobClient.appendBlock(content, content.length);
+       *
+       * // Append data to an existing append blob.
+       * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await existingAppendBlobClient.appendBlock(content, content.length);
+       * ```
+       */
+      async appendBlock(body, contentLength, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, {
+            abortSignal: options.abortSignal,
+            appendPositionAccessConditions: options.conditions,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob
+       * where the contents are read from a source url.
+       * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url
+       *
+       * @param sourceURL -
+       *                 The url to the blob that will be the source of the copy. A source blob in the same storage account can
+       *                 be authenticated via Shared Key. However, if the source is a blob in another account, the source blob
+       *                 must either be public or must be authenticated via a shared access signature. If the source blob is
+       *                 public, no authentication is required to perform the operation.
+       * @param sourceOffset - Offset in source to be appended
+       * @param count - Number of bytes to be appended as a block
+       * @param options -
+       */
+      async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
+            abortSignal: options.abortSignal,
+            sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }),
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            leaseAccessConditions: options.conditions,
+            appendPositionAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+    };
+    exports2.AppendBlobClient = AppendBlobClient;
+    var BlockBlobClient = class _BlockBlobClient extends BlobClient {
+      /**
+       * blobContext provided by protocol layer.
+       *
+       * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API
+       * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient.
+       */
+      _blobContext;
+      /**
+       * blockBlobContext provided by protocol layer.
+       */
+      blockBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url2;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url2 = urlOrConnectionString;
+          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
+            options = blobNameOrOptions;
+          }
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
+            }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+        }
+        super(url2, pipeline);
+        this.blockBlobContext = this.storageClientContext.blockBlob;
+        this._blobContext = this.storageClientContext.blob;
+      }
+      /**
+       * Creates a new BlockBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a URL to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Quick query for a JSON or CSV formatted blob.
+       *
+       * Example usage (Node.js):
+       *
+       * ```ts snippet:ClientsQuery
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * // Query and convert a blob to a string
+       * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage");
+       * if (queryBlockBlobResponse.readableStreamBody) {
+       *   const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody);
+       *   const downloaded = downloadedBuffer.toString();
+       *   console.log(`Query blob content: ${downloaded}`);
+       * }
+       *
+       * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise {
+       *   return new Promise((resolve, reject) => {
+       *     const chunks: Buffer[] = [];
+       *     readableStream.on("data", (data) => {
+       *       chunks.push(data instanceof Buffer ? data : Buffer.from(data));
+       *     });
+       *     readableStream.on("end", () => {
+       *       resolve(Buffer.concat(chunks));
+       *     });
+       *     readableStream.on("error", reject);
+       *   });
+       * }
+       * ```
+       *
+       * @param query -
+       * @param options -
+       */
+      async query(query, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        if (!core_util_1.isNodeLike) {
+          throw new Error("This operation currently is only supported in Node.js.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({
+            abortSignal: options.abortSignal,
+            queryRequest: {
+              queryType: "SQL",
+              expression: query,
+              inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration),
+              outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration)
+            },
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return new BlobQueryResponse_js_1.BlobQueryResponse(response, {
+            abortSignal: options.abortSignal,
+            onProgress: options.onProgress,
+            onError: options.onError
+          });
+        });
+      }
+      /**
+       * Creates a new block blob, or updates the content of an existing block blob.
+       * Updating an existing block blob overwrites any existing metadata on the blob.
+       * Partial updates are not supported; the content of the existing blob is
+       * overwritten with the new content. To perform a partial update of a block blob's,
+       * use {@link stageBlock} and {@link commitBlockList}.
+       *
+       * This is a non-parallel uploading method, please use {@link uploadFile},
+       * {@link uploadStream} or {@link uploadBrowserData} for better performance
+       * with concurrency uploading.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
+       *                               which returns a new Readable stream whose offset is from data source beginning.
+       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
+       *                               string including non non-Base64/Hex-encoded characters.
+       * @param options - Options to the Block Blob Upload operation.
+       * @returns Response data for the Block Blob Upload operation.
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsUpload
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * const content = "Hello world!";
+       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
+       * ```
+       */
+      async upload(body, contentLength, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a new Block Blob where the contents of the blob are read from a given URL.
+       * This API is supported beginning with the 2020-04-08 version. Partial updates
+       * are not supported with Put Blob from URL; the content of an existing blob is overwritten with
+       * the content of the new blob.  To perform partial updates to a block blob’s contents using a
+       * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}.
+       *
+       * @param sourceURL - Specifies the URL of the blob. The value
+       *                           may be a URL of up to 2 KB in length that specifies a blob.
+       *                           The value should be URL-encoded as it would appear
+       *                           in a request URI. The source blob must either be public
+       *                           or must be authenticated via a shared access signature.
+       *                           If the source blob is public, no authentication is required
+       *                           to perform the operation. Here are some examples of source object URLs:
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param options - Optional parameters.
+       */
+      async syncUploadFromURL(sourceURL, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
+            ...options,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
+              sourceIfTags: options.sourceConditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            copySourceTags: options.copySourceTags,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Uploads the specified block to the block blob's "staging area" to be later
+       * committed by a call to commitBlockList.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block
+       *
+       * @param blockId - A 64-byte value that is base64-encoded
+       * @param body - Data to upload to the staging area.
+       * @param contentLength - Number of bytes to upload.
+       * @param options - Options to the Block Blob Stage Block operation.
+       * @returns Response data for the Block Blob Stage Block operation.
+       */
+      async stageBlock(blockId, body, contentLength, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Stage Block From URL operation creates a new block to be committed as part
+       * of a blob where the contents are read from a URL.
+       * This API is available starting in version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url
+       *
+       * @param blockId - A 64-byte value that is base64-encoded
+       * @param sourceURL - Specifies the URL of the blob. The value
+       *                           may be a URL of up to 2 KB in length that specifies a blob.
+       *                           The value should be URL-encoded as it would appear
+       *                           in a request URI. The source blob must either be public
+       *                           or must be authenticated via a shared access signature.
+       *                           If the source blob is public, no authentication is required
+       *                           to perform the operation. Here are some examples of source object URLs:
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param offset - From which position of the blob to download, greater than or equal to 0
+       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
+       * @param options - Options to the Block Blob Stage Block From URL operation.
+       * @returns Response data for the Block Blob Stage Block From URL operation.
+       */
+      async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Writes a blob by specifying the list of block IDs that make up the blob.
+       * In order to be written as part of a blob, a block must have been successfully written
+       * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to
+       * update a blob by uploading only those blocks that have changed, then committing the new and existing
+       * blocks together. Any blocks not specified in the block list and permanently deleted.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list
+       *
+       * @param blocks -  Array of 64-byte value that is base64-encoded
+       * @param options - Options to the Block Blob Commit Block List operation.
+       * @returns Response data for the Block Blob Commit Block List operation.
+       */
+      async commitBlockList(blocks, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns the list of blocks that have been uploaded as part of a block blob
+       * using the specified block list filter.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list
+       *
+       * @param listType - Specifies whether to return the list of committed blocks,
+       *                                        the list of uncommitted blocks, or both lists together.
+       * @param options - Options to the Block Blob Get Block List operation.
+       * @returns Response data for the Block Blob Get Block List operation.
+       */
+      async getBlockList(listType, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          if (!res.committedBlocks) {
+            res.committedBlocks = [];
+          }
+          if (!res.uncommittedBlocks) {
+            res.uncommittedBlocks = [];
+          }
+          return res;
+        });
+      }
+      // High level functions
+      /**
+       * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob.
+       *
+       * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
+       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
+       * to commit the block list.
+       *
+       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
+       * `blobContentType`, enabling the browser to provide
+       * functionality based on file type.
+       *
+       * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView
+       * @param options -
+       */
+      async uploadData(data, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => {
+          if (core_util_1.isNodeLike) {
+            let buffer;
+            if (data instanceof Buffer) {
+              buffer = data;
+            } else if (data instanceof ArrayBuffer) {
+              buffer = Buffer.from(data);
+            } else {
+              data = data;
+              buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
+            }
+            return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions);
+          } else {
+            const browserBlob = new Blob([data]);
+            return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+          }
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN BROWSERS.
+       *
+       * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob.
+       *
+       * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call
+       * {@link commitBlockList} to commit the block list.
+       *
+       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
+       * `blobContentType`, enabling the browser to provide
+       * functionality based on file type.
+       *
+       * @deprecated Use {@link uploadData} instead.
+       *
+       * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView
+       * @param options - Options to upload browser data.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadBrowserData(browserData, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => {
+          const browserBlob = new Blob([browserData]);
+          return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+        });
+      }
+      /**
+       *
+       * Uploads data to block blob. Requires a bodyFactory as the data source,
+       * which need to return a {@link HttpRequestBody} object with the offset and size provided.
+       *
+       * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
+       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
+       * to commit the block list.
+       *
+       * @param bodyFactory -
+       * @param size - size of the data to upload.
+       * @param options - Options to Upload to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadSeekableInternal(bodyFactory, size, options = {}) {
+        let blockSize = options.blockSize ?? 0;
+        if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
+          throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
+        }
+        const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
+        if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
+          throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
+        }
+        if (blockSize === 0) {
+          if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
+            throw new RangeError(`${size} is too larger to upload to a block blob.`);
+          }
+          if (size > maxSingleShotSize) {
+            blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS);
+            if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) {
+              blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
+            }
+          }
+        }
+        if (!options.blobHTTPHeaders) {
+          options.blobHTTPHeaders = {};
+        }
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => {
+          if (size <= maxSingleShotSize) {
+            return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions));
+          }
+          const numBlocks = Math.floor((size - 1) / blockSize) + 1;
+          if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
+            throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`);
+          }
+          const blockList = [];
+          const blockIDPrefix = (0, core_util_2.randomUUID)();
+          let transferProgress = 0;
+          const batch = new Batch_js_1.Batch(options.concurrency);
+          for (let i = 0; i < numBlocks; i++) {
+            batch.addOperation(async () => {
+              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i);
+              const start = blockSize * i;
+              const end = i === numBlocks - 1 ? size : start + blockSize;
+              const contentLength = end - start;
+              blockList.push(blockID);
+              await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, {
+                abortSignal: options.abortSignal,
+                conditions: options.conditions,
+                encryptionScope: options.encryptionScope,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              transferProgress += contentLength;
+              if (options.onProgress) {
+                options.onProgress({
+                  loadedBytes: transferProgress
+                });
+              }
+            });
+          }
+          await batch.do();
+          return this.commitBlockList(blockList, updatedOptions);
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Uploads a local file in blocks to a block blob.
+       *
+       * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
+       * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList
+       * to commit the block list.
+       *
+       * @param filePath - Full path of local file
+       * @param options - Options to Upload to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadFile(filePath, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => {
+          const size = (await (0, utils_js_1.fsStat)(filePath)).size;
+          return this.uploadSeekableInternal((offset, count) => {
+            return () => (0, utils_js_1.fsCreateReadStream)(filePath, {
+              autoClose: true,
+              end: count ? offset + count - 1 : Infinity,
+              start: offset
+            });
+          }, size, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          });
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Uploads a Node.js Readable stream into block blob.
+       *
+       * PERFORMANCE IMPROVEMENT TIPS:
+       * * Input stream highWaterMark is better to set a same value with bufferSize
+       *    parameter, which will avoid Buffer.concat() operations.
+       *
+       * @param stream - Node.js Readable stream
+       * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB
+       * @param maxConcurrency -  Max concurrency indicates the max number of buffers that can be allocated,
+       *                                 positive correlation with max uploading concurrency. Default value is 5
+       * @param options - Options to Upload Stream to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadStream(stream2, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) {
+        if (!options.blobHTTPHeaders) {
+          options.blobHTTPHeaders = {};
+        }
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => {
+          let blockNum = 0;
+          const blockIDPrefix = (0, core_util_2.randomUUID)();
+          let transferProgress = 0;
+          const blockList = [];
+          const scheduler = new storage_common_1.BufferScheduler(
+            stream2,
+            bufferSize,
+            maxConcurrency,
+            async (body, length) => {
+              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum);
+              blockList.push(blockID);
+              blockNum++;
+              await this.stageBlock(blockID, body, length, {
+                customerProvidedKey: options.customerProvidedKey,
+                conditions: options.conditions,
+                encryptionScope: options.encryptionScope,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              transferProgress += length;
+              if (options.onProgress) {
+                options.onProgress({ loadedBytes: transferProgress });
+              }
+            },
+            // concurrency should set a smaller value than maxConcurrency, which is helpful to
+            // reduce the possibility when a outgoing handler waits for stream data, in
+            // this situation, outgoing handlers are blocked.
+            // Outgoing queue shouldn't be empty.
+            Math.ceil(maxConcurrency / 4 * 3)
+          );
+          await scheduler.do();
+          return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+    };
+    exports2.BlockBlobClient = BlockBlobClient;
+    var PageBlobClient = class _PageBlobClient extends BlobClient {
+      /**
+       * pageBlobsContext provided by protocol layer.
+       */
+      pageBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url2;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url2 = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
+            }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+        }
+        super(url2, pipeline);
+        this.pageBlobContext = this.storageClientContext.pageBlob;
+      }
+      /**
+       * Creates a new PageBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * Creates a page blob of the specified length. Call uploadPages to upload data
+       * data to a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param size - size of the page blob.
+       * @param options - Options to the Page Blob Create operation.
+       * @returns Response data for the Page Blob Create operation.
+       */
+      async create(size, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            blobSequenceNumber: options.blobSequenceNumber,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a page blob of the specified length. Call uploadPages to upload data
+       * data to a page blob. If the blob with the same name already exists, the content
+       * of the existing blob will remain unchanged.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param size - size of the page blob.
+       * @param options -
+       */
+      async createIfNotExists(size, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const conditions = { ifNoneMatch: constants_js_1.ETagAny };
+            const res = (0, utils_common_js_1.assertResponse)(await this.create(size, {
+              ...options,
+              conditions,
+              tracingOptions: updatedOptions.tracingOptions
+            }));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            }
+            throw e;
+          }
+        });
+      }
+      /**
+       * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
+       *
+       * @param body - Data to upload
+       * @param offset - Offset of destination page blob
+       * @param count - Content length of the body, also number of bytes to be uploaded
+       * @param options - Options to the Page Blob Upload Pages operation.
+       * @returns Response data for the Page Blob Upload Pages operation.
+       */
+      async uploadPages(body, offset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            sequenceNumberAccessConditions: options.conditions,
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob where the
+       * contents are read from a URL.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url
+       *
+       * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication
+       * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob
+       * @param destOffset - Offset of destination page blob
+       * @param count - Number of bytes to be uploaded from source page blob
+       * @param options -
+       */
+      async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), {
+            abortSignal: options.abortSignal,
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            leaseAccessConditions: options.conditions,
+            sequenceNumberAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Frees the specified pages from the page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
+       *
+       * @param offset - Starting byte position of the pages to clear.
+       * @param count - Number of bytes to clear.
+       * @param options - Options to the Page Blob Clear Pages operation.
+       * @returns Response data for the Page Blob Clear Pages operation.
+       */
+      async clearPages(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            sequenceNumberAccessConditions: options.conditions,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns the list of valid page ranges for a page blob or snapshot of a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns Response data for the Page Blob Get Ranges operation.
+       */
+      async getPageRanges(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
+        });
+      }
+      /**
+       * getPageRangesSegment returns a single segment of page ranges starting from the
+       * specified Marker. Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call getPageRangesSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to PageBlob Get Page Ranges Segment operation.
+       */
+      async listPageRangesSegment(offset = 0, count, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel}
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param marker - A string value that identifies the portion of
+       *                          the get of page ranges to be returned with the next getting operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          getting operation did not return all page ranges remaining within the current page.
+       *                          The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of get
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to List Page Ranges operation.
+       */
+      async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
+        let getPageRangeItemSegmentsResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
+            marker = getPageRangeItemSegmentsResponse.continuationToken;
+            yield await getPageRangeItemSegmentsResponse;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to List Page Ranges operation.
+       */
+      async *listPageRangeItems(offset = 0, count, options = {}) {
+        let marker;
+        for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
+          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+        }
+      }
+      /**
+       * Returns an async iterable iterator to list of page ranges for a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       *  .byPage() returns an async iterable iterator to list of page ranges for a page blob.
+       *
+       * ```ts snippet:ClientsListPageBlobs
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const pageRange of pageBlobClient.listPageRanges()) {
+       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = pageBlobClient.listPageRanges();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
+       *   for (const pageRange of page.pageRange || []) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listPageRanges(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        const iter = this.listPageRangeItems(offset, count, options);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...options
+            });
+          }
+        };
+      }
+      /**
+       * Gets the collection of page ranges that differ between a specified snapshot and this page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page blob
+       * @param count - Number of bytes to get ranges diff.
+       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       * @returns Response data for the Page Blob Get Page Range Diff operation.
+       */
+      async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
+          const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            prevsnapshot: prevSnapshot,
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result);
+        });
+      }
+      /**
+       * getPageRangesDiffSegment returns a single segment of page ranges starting from the
+       * specified Marker for difference between previous snapshot and the target page blob.
+       * Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call getPageRangesDiffSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param marker - A string value that identifies the portion of the get to be returned with the next get operation.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options?.abortSignal,
+            leaseAccessConditions: options?.conditions,
+            modifiedAccessConditions: {
+              ...options?.conditions,
+              ifTags: options?.conditions?.tagConditions
+            },
+            prevsnapshot: prevSnapshotOrUrl,
+            range: (0, Range_js_1.rangeToString)({
+              offset,
+              count
+            }),
+            marker,
+            maxPageSize: options?.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel}
+       *
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param marker - A string value that identifies the portion of
+       *                          the get of page ranges to be returned with the next getting operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          getting operation did not return all page ranges remaining within the current page.
+       *                          The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of get
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
+        let getPageRangeItemSegmentsResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
+            marker = getPageRangeItemSegmentsResponse.continuationToken;
+            yield await getPageRangeItemSegmentsResponse;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
+        let marker;
+        for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
+          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+        }
+      }
+      /**
+       * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       *  .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
+       *
+       * ```ts snippet:ClientsListPageBlobsDiff
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
+       *
+       * const offset = 0;
+       * const count = 1024;
+       * const previousSnapshot = "";
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) {
+       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot);
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const pageRange of page.pageRange || []) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
+        options.conditions = options.conditions || {};
+        const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
+          ...options
+        });
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...options
+            });
+          }
+        };
+      }
+      /**
+       * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page blob
+       * @param count - Number of bytes to get ranges diff.
+       * @param prevSnapshotUrl - URL of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       * @returns Response data for the Page Blob Get Page Range Diff operation.
+       */
+      async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            prevSnapshotUrl,
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
+        });
+      }
+      /**
+       * Resizes the page blob to the specified size (which must be a multiple of 512).
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param size - Target size
+       * @param options - Options to the Page Blob Resize operation.
+       * @returns Response data for the Page Blob Resize operation.
+       */
+      async resize(size, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets a page blob's sequence number.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number.
+       * @param sequenceNumber - Required if sequenceNumberAction is max or update
+       * @param options - Options to the Page Blob Update Sequence Number operation.
+       * @returns Response data for the Page Blob Update Sequence Number operation.
+       */
+      async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
+            abortSignal: options.abortSignal,
+            blobSequenceNumber: sequenceNumber,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob.
+       * The snapshot is copied such that only the differential changes between the previously
+       * copied snapshot are transferred to the destination.
+       * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual.
+       * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob
+       * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots
+       *
+       * @param copySource - Specifies the name of the source page blob snapshot. For example,
+       *                            https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param options - Options to the Page Blob Copy Incremental operation.
+       * @returns Response data for the Page Blob Copy Incremental operation.
+       */
+      async startCopyIncremental(copySource, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+    };
+    exports2.PageBlobClient = PageBlobClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js
+var require_BatchUtils = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getBodyAsText = getBodyAsText;
+    exports2.utf8ByteLength = utf8ByteLength;
+    var utils_js_1 = require_utils7();
+    var constants_js_1 = require_constants15();
+    async function getBodyAsText(batchResponse) {
+      let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES);
+      const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer);
+      buffer = buffer.slice(0, responseLength);
+      return buffer.toString();
+    }
+    function utf8ByteLength(str2) {
+      return Buffer.byteLength(str2);
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js
+var require_BatchResponseParser = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BatchResponseParser = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_http_compat_1 = require_commonjs9();
+    var constants_js_1 = require_constants15();
+    var BatchUtils_js_1 = require_BatchUtils();
+    var log_js_1 = require_log5();
+    var HTTP_HEADER_DELIMITER = ": ";
+    var SPACE_DELIMITER = " ";
+    var NOT_FOUND = -1;
+    var BatchResponseParser = class {
+      batchResponse;
+      responseBatchBoundary;
+      perResponsePrefix;
+      batchResponseEnding;
+      subRequests;
+      constructor(batchResponse, subRequests) {
+        if (!batchResponse || !batchResponse.contentType) {
+          throw new RangeError("batchResponse is malformed or doesn't contain valid content-type.");
+        }
+        if (!subRequests || subRequests.size === 0) {
+          throw new RangeError("Invalid state: subRequests is not provided or size is 0.");
+        }
+        this.batchResponse = batchResponse;
+        this.subRequests = subRequests;
+        this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1];
+        this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`;
+        this.batchResponseEnding = `--${this.responseBatchBoundary}--`;
+      }
+      // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response
+      async parseBatchResponse() {
+        if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) {
+          throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`);
+        }
+        const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse);
+        const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1);
+        const subResponseCount = subResponses.length;
+        if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) {
+          throw new Error("Invalid state: sub responses' count is not equal to sub requests' count.");
+        }
+        const deserializedSubResponses = new Array(subResponseCount);
+        let subResponsesSucceededCount = 0;
+        let subResponsesFailedCount = 0;
+        for (let index = 0; index < subResponseCount; index++) {
+          const subResponse = subResponses[index];
+          const deserializedSubResponse = {};
+          deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)());
+          const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`);
+          let subRespHeaderStartFound = false;
+          let subRespHeaderEndFound = false;
+          let subRespFailed = false;
+          let contentId = NOT_FOUND;
+          for (const responseLine of responseLines) {
+            if (!subRespHeaderStartFound) {
+              if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) {
+                contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]);
+              }
+              if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) {
+                subRespHeaderStartFound = true;
+                const tokens = responseLine.split(SPACE_DELIMITER);
+                deserializedSubResponse.status = parseInt(tokens[1]);
+                deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER);
+              }
+              continue;
+            }
+            if (responseLine.trim() === "") {
+              if (!subRespHeaderEndFound) {
+                subRespHeaderEndFound = true;
+              }
+              continue;
+            }
+            if (!subRespHeaderEndFound) {
+              if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) {
+                throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`);
+              }
+              const tokens = responseLine.split(HTTP_HEADER_DELIMITER);
+              deserializedSubResponse.headers.set(tokens[0], tokens[1]);
+              if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) {
+                deserializedSubResponse.errorCode = tokens[1];
+                subRespFailed = true;
+              }
+            } else {
+              if (!deserializedSubResponse.bodyAsText) {
+                deserializedSubResponse.bodyAsText = "";
+              }
+              deserializedSubResponse.bodyAsText += responseLine;
+            }
+          }
+          if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) {
+            deserializedSubResponse._request = this.subRequests.get(contentId);
+            deserializedSubResponses[contentId] = deserializedSubResponse;
+          } else {
+            log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`);
+          }
+          if (subRespFailed) {
+            subResponsesFailedCount++;
+          } else {
+            subResponsesSucceededCount++;
+          }
+        }
+        return {
+          subResponses: deserializedSubResponses,
+          subResponsesSucceededCount,
+          subResponsesFailedCount
+        };
+      }
+    };
+    exports2.BatchResponseParser = BatchResponseParser;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js
+var require_Mutex = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Mutex = void 0;
+    var MutexLockStatus;
+    (function(MutexLockStatus2) {
+      MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED";
+      MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED";
+    })(MutexLockStatus || (MutexLockStatus = {}));
+    var Mutex = class {
+      /**
+       * Lock for a specific key. If the lock has been acquired by another customer, then
+       * will wait until getting the lock.
+       *
+       * @param key - lock key
+       */
+      static async lock(key) {
+        return new Promise((resolve8) => {
+          if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) {
+            this.keys[key] = MutexLockStatus.LOCKED;
+            resolve8();
+          } else {
+            this.onUnlockEvent(key, () => {
+              this.keys[key] = MutexLockStatus.LOCKED;
+              resolve8();
+            });
+          }
+        });
+      }
+      /**
+       * Unlock a key.
+       *
+       * @param key -
+       */
+      static async unlock(key) {
+        return new Promise((resolve8) => {
+          if (this.keys[key] === MutexLockStatus.LOCKED) {
+            this.emitUnlockEvent(key);
+          }
+          delete this.keys[key];
+          resolve8();
+        });
+      }
+      static keys = {};
+      static listeners = {};
+      static onUnlockEvent(key, handler2) {
+        if (this.listeners[key] === void 0) {
+          this.listeners[key] = [handler2];
+        } else {
+          this.listeners[key].push(handler2);
+        }
+      }
+      static emitUnlockEvent(key) {
+        if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) {
+          const handler2 = this.listeners[key].shift();
+          setImmediate(() => {
+            handler2.call(this);
+          });
+        }
+      }
+    };
+    exports2.Mutex = Mutex;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js
+var require_BlobBatch = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBatch = void 0;
+    var core_util_1 = require_commonjs4();
+    var core_auth_1 = require_commonjs7();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_2 = require_commonjs4();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var Clients_js_1 = require_Clients();
+    var Mutex_js_1 = require_Mutex();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var core_xml_1 = require_commonjs10();
+    var constants_js_1 = require_constants15();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var tracing_js_1 = require_tracing();
+    var core_client_1 = require_commonjs8();
+    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
+    var BlobBatch = class {
+      batchRequest;
+      batch = "batch";
+      batchType;
+      constructor() {
+        this.batchRequest = new InnerBatchRequest();
+      }
+      /**
+       * Get the value of Content-Type for a batch request.
+       * The value must be multipart/mixed with a batch boundary.
+       * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252
+       */
+      getMultiPartContentType() {
+        return this.batchRequest.getMultipartContentType();
+      }
+      /**
+       * Get assembled HTTP request body for sub requests.
+       */
+      getHttpRequestBody() {
+        return this.batchRequest.getHttpRequestBody();
+      }
+      /**
+       * Get sub requests that are added into the batch request.
+       */
+      getSubRequests() {
+        return this.batchRequest.getSubRequests();
+      }
+      async addSubRequestInternal(subRequest, assembleSubRequestFunc) {
+        await Mutex_js_1.Mutex.lock(this.batch);
+        try {
+          this.batchRequest.preAddSubRequest(subRequest);
+          await assembleSubRequestFunc();
+          this.batchRequest.postAddSubRequest(subRequest);
+        } finally {
+          await Mutex_js_1.Mutex.unlock(this.batch);
+        }
+      }
+      setBatchType(batchType) {
+        if (!this.batchType) {
+          this.batchType = batchType;
+        }
+        if (this.batchType !== batchType) {
+          throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`);
+        }
+      }
+      async deleteBlob(urlOrBlobClient, credentialOrOptions, options) {
+        let url2;
+        let credential;
+        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) {
+          url2 = urlOrBlobClient;
+          credential = credentialOrOptions;
+        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
+          url2 = urlOrBlobClient.url;
+          credential = urlOrBlobClient.credential;
+          options = credentialOrOptions;
+        } else {
+          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+        }
+        if (!options) {
+          options = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => {
+          this.setBatchType("delete");
+          await this.addSubRequestInternal({
+            url: url2,
+            credential
+          }, async () => {
+            await new Clients_js_1.BlobClient(url2, this.batchRequest.createPipeline(credential)).delete(updatedOptions);
+          });
+        });
+      }
+      async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) {
+        let url2;
+        let credential;
+        let tier;
+        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) {
+          url2 = urlOrBlobClient;
+          credential = credentialOrTier;
+          tier = tierOrOptions;
+        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
+          url2 = urlOrBlobClient.url;
+          credential = urlOrBlobClient.credential;
+          tier = credentialOrTier;
+          options = tierOrOptions;
+        } else {
+          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+        }
+        if (!options) {
+          options = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => {
+          this.setBatchType("setAccessTier");
+          await this.addSubRequestInternal({
+            url: url2,
+            credential
+          }, async () => {
+            await new Clients_js_1.BlobClient(url2, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions);
+          });
+        });
+      }
+    };
+    exports2.BlobBatch = BlobBatch;
+    var InnerBatchRequest = class {
+      operationCount;
+      body;
+      subRequests;
+      boundary;
+      subRequestPrefix;
+      multipartContentType;
+      batchRequestEnding;
+      constructor() {
+        this.operationCount = 0;
+        this.body = "";
+        const tempGuid = (0, core_util_1.randomUUID)();
+        this.boundary = `batch_${tempGuid}`;
+        this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`;
+        this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`;
+        this.batchRequestEnding = `--${this.boundary}--`;
+        this.subRequests = /* @__PURE__ */ new Map();
+      }
+      /**
+       * Create pipeline to assemble sub requests. The idea here is to use existing
+       * credential and serialization/deserialization components, with additional policies to
+       * filter unnecessary headers, assemble sub requests into request's body
+       * and intercept request from going to wire.
+       * @param credential -  Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
+       */
+      createPipeline(credential) {
+        const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)();
+        corePipeline.addPolicy((0, core_client_1.serializationPolicy)({
+          stringifyXML: core_xml_1.stringifyXML,
+          serializerOptions: {
+            xml: {
+              xmlCharKey: "#"
+            }
+          }
+        }), { phase: "Serialize" });
+        corePipeline.addPolicy(batchHeaderFilterPolicy());
+        corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" });
+        if ((0, core_auth_1.isTokenCredential)(credential)) {
+          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+            credential,
+            scopes: constants_js_1.StorageOAuthScopes,
+            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
+          }), { phase: "Sign" });
+        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
+            accountName: credential.accountName,
+            accountKey: credential.accountKey
+          }), { phase: "Sign" });
+        }
+        const pipeline = new Pipeline_js_1.Pipeline([]);
+        pipeline._credential = credential;
+        pipeline._corePipeline = corePipeline;
+        return pipeline;
+      }
+      appendSubRequestToBody(request2) {
+        this.body += [
+          this.subRequestPrefix,
+          // sub request constant prefix
+          `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`,
+          // sub request's content ID
+          "",
+          // empty line after sub request's content ID
+          `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}`
+          // sub request start line with method
+        ].join(constants_js_1.HTTP_LINE_ENDING);
+        for (const [name, value] of request2.headers) {
+          this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`;
+        }
+        this.body += constants_js_1.HTTP_LINE_ENDING;
+      }
+      preAddSubRequest(subRequest) {
+        if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) {
+          throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`);
+        }
+        const path16 = (0, utils_common_js_1.getURLPath)(subRequest.url);
+        if (!path16 || path16 === "") {
+          throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`);
+        }
+      }
+      postAddSubRequest(subRequest) {
+        this.subRequests.set(this.operationCount, subRequest);
+        this.operationCount++;
+      }
+      // Return the http request body with assembling the ending line to the sub request body.
+      getHttpRequestBody() {
+        return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`;
+      }
+      getMultipartContentType() {
+        return this.multipartContentType;
+      }
+      getSubRequests() {
+        return this.subRequests;
+      }
+    };
+    function batchRequestAssemblePolicy(batchRequest) {
+      return {
+        name: "batchRequestAssemblePolicy",
+        async sendRequest(request2) {
+          batchRequest.appendSubRequestToBody(request2);
+          return {
+            request: request2,
+            status: 200,
+            headers: (0, core_rest_pipeline_1.createHttpHeaders)()
+          };
+        }
+      };
+    }
+    function batchHeaderFilterPolicy() {
+      return {
+        name: "batchHeaderFilterPolicy",
+        async sendRequest(request2, next) {
+          let xMsHeaderName = "";
+          for (const [name] of request2.headers) {
+            if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) {
+              xMsHeaderName = name;
+            }
+          }
+          if (xMsHeaderName !== "") {
+            request2.headers.delete(xMsHeaderName);
+          }
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js
+var require_BlobBatchClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBatchClient = void 0;
+    var BatchResponseParser_js_1 = require_BatchResponseParser();
+    var BatchUtils_js_1 = require_BatchUtils();
+    var BlobBatch_js_1 = require_BlobBatch();
+    var tracing_js_1 = require_tracing();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageContextClient_js_1 = require_StorageContextClient();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var BlobBatchClient = class {
+      serviceOrContainerContext;
+      constructor(url2, credentialOrPipeline, options) {
+        let pipeline;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
+          pipeline = credentialOrPipeline;
+        } else if (!credentialOrPipeline) {
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else {
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
+        }
+        const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url2, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
+        const path16 = (0, utils_common_js_1.getURLPath)(url2);
+        if (path16 && path16 !== "/") {
+          this.serviceOrContainerContext = storageClientContext.container;
+        } else {
+          this.serviceOrContainerContext = storageClientContext.service;
+        }
+      }
+      /**
+       * Creates a {@link BlobBatch}.
+       * A BlobBatch represents an aggregated set of operations on blobs.
+       */
+      createBatch() {
+        return new BlobBatch_js_1.BlobBatch();
+      }
+      async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) {
+        const batch = new BlobBatch_js_1.BlobBatch();
+        for (const urlOrBlobClient of urlsOrBlobClients) {
+          if (typeof urlOrBlobClient === "string") {
+            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options);
+          } else {
+            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions);
+          }
+        }
+        return this.submitBatch(batch);
+      }
+      async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) {
+        const batch = new BlobBatch_js_1.BlobBatch();
+        for (const urlOrBlobClient of urlsOrBlobClients) {
+          if (typeof urlOrBlobClient === "string") {
+            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options);
+          } else {
+            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions);
+          }
+        }
+        return this.submitBatch(batch);
+      }
+      /**
+       * Submit batch request which consists of multiple subrequests.
+       *
+       * Get `blobBatchClient` and other details before running the snippets.
+       * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient`
+       *
+       * Example usage:
+       *
+       * ```ts snippet:BlobBatchClientSubmitBatch
+       * import { DefaultAzureCredential } from "@azure/identity";
+       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
+       *
+       * const account = "";
+       * const credential = new DefaultAzureCredential();
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   credential,
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobBatchClient = containerClient.getBlobBatchClient();
+       *
+       * const batchRequest = new BlobBatch();
+       * await batchRequest.deleteBlob("", credential);
+       * await batchRequest.deleteBlob("", credential, {
+       *   deleteSnapshots: "include",
+       * });
+       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
+       * console.log(batchResp.subResponsesSucceededCount);
+       * ```
+       *
+       * Example using a lease:
+       *
+       * ```ts snippet:BlobBatchClientSubmitBatchWithLease
+       * import { DefaultAzureCredential } from "@azure/identity";
+       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
+       *
+       * const account = "";
+       * const credential = new DefaultAzureCredential();
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   credential,
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobBatchClient = containerClient.getBlobBatchClient();
+       * const blobClient = containerClient.getBlobClient("");
+       *
+       * const batchRequest = new BlobBatch();
+       * await batchRequest.setBlobAccessTier(blobClient, "Cool");
+       * await batchRequest.setBlobAccessTier(blobClient, "Cool", {
+       *   conditions: { leaseId: "" },
+       * });
+       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
+       * console.log(batchResp.subResponsesSucceededCount);
+       * ```
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @param batchRequest - A set of Delete or SetTier operations.
+       * @param options -
+       */
+      async submitBatch(batchRequest, options = {}) {
+        if (!batchRequest || batchRequest.getSubRequests().size === 0) {
+          throw new RangeError("Batch request should contain one or more sub requests.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => {
+          const batchRequestBody = batchRequest.getHttpRequestBody();
+          const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, {
+            ...updatedOptions
+          }));
+          const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests());
+          const responseSummary = await batchResponseParser.parseBatchResponse();
+          const res = {
+            _response: rawBatchResponse._response,
+            contentType: rawBatchResponse.contentType,
+            errorCode: rawBatchResponse.errorCode,
+            requestId: rawBatchResponse.requestId,
+            clientRequestId: rawBatchResponse.clientRequestId,
+            version: rawBatchResponse.version,
+            subResponses: responseSummary.subResponses,
+            subResponsesSucceededCount: responseSummary.subResponsesSucceededCount,
+            subResponsesFailedCount: responseSummary.subResponsesFailedCount
+          };
+          return res;
+        });
+      }
+    };
+    exports2.BlobBatchClient = BlobBatchClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js
+var require_ContainerClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ContainerClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var core_auth_1 = require_commonjs7();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var Pipeline_js_1 = require_Pipeline();
+    var StorageClient_js_1 = require_StorageClient();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
+    var Clients_js_1 = require_Clients();
+    var BlobBatchClient_js_1 = require_BlobBatchClient();
+    var ContainerClient = class extends StorageClient_js_1.StorageClient {
+      /**
+       * containerContext provided by protocol layer.
+       */
+      containerContext;
+      _containerName;
+      /**
+       * The name of the container.
+       */
+      get containerName() {
+        return this._containerName;
+      }
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) {
+        let pipeline;
+        let url2;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url2 = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url2 = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url2 = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
+            }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url2 = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName parameter");
+        }
+        super(url2, pipeline);
+        this._containerName = this.getContainerNameFromUrl();
+        this.containerContext = this.storageClientContext.container;
+      }
+      /**
+       * Creates a new container under the specified account. If the container with
+       * the same name already exists, the operation fails.
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
+       *
+       * @param options - Options to Container Create operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ContainerClientCreate
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const createContainerResponse = await containerClient.create();
+       * console.log("Container was created successfully", createContainerResponse.requestId);
+       * ```
+       */
+      async create(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions));
+        });
+      }
+      /**
+       * Creates a new container under the specified account. If the container with
+       * the same name already exists, it is not changed.
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
+       *
+       * @param options -
+       */
+      async createIfNotExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const res = await this.create(updatedOptions);
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "ContainerAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            } else {
+              throw e;
+            }
+          }
+        });
+      }
+      /**
+       * Returns true if the Azure container resource represented by this client exists; false otherwise.
+       *
+       * NOTE: use this function with care since an existing container might be deleted by other clients or
+       * applications. Vice versa new containers with the same name might be added by other clients or
+       * applications after this function completes.
+       *
+       * @param options -
+       */
+      async exists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => {
+          try {
+            await this.getProperties({
+              abortSignal: options.abortSignal,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            return true;
+          } catch (e) {
+            if (e.statusCode === 404) {
+              return false;
+            }
+            throw e;
+          }
+        });
+      }
+      /**
+       * Creates a {@link BlobClient}
+       *
+       * @param blobName - A blob name
+       * @returns A new BlobClient object for the given blob name.
+       */
+      getBlobClient(blobName) {
+        return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Creates an {@link AppendBlobClient}
+       *
+       * @param blobName - An append blob name
+       */
+      getAppendBlobClient(blobName) {
+        return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Creates a {@link BlockBlobClient}
+       *
+       * @param blobName - A block blob name
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsUpload
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * const content = "Hello world!";
+       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
+       * ```
+       */
+      getBlockBlobClient(blobName) {
+        return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Creates a {@link PageBlobClient}
+       *
+       * @param blobName - A page blob name
+       */
+      getPageBlobClient(blobName) {
+        return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      }
+      /**
+       * Returns all user-defined metadata and system properties for the specified
+       * container. The data returned does not include the container's list of blobs.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties
+       *
+       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
+       * they originally contained uppercase characters. This differs from the metadata keys returned by
+       * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which
+       * will retain their original casing.
+       *
+       * @param options - Options to Container Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({
+            abortSignal: options.abortSignal,
+            ...options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Marks the specified container for deletion. The container and any blobs
+       * contained within it are later deleted during garbage collection.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
+       *
+       * @param options - Options to Container Delete operation.
+       */
+      async delete(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Marks the specified container for deletion if it exists. The container and any blobs
+       * contained within it are later deleted during garbage collection.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
+       *
+       * @param options - Options to Container Delete operation.
+       */
+      async deleteIfExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => {
+          try {
+            const res = await this.delete(updatedOptions);
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "ContainerNotFound") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            }
+            throw e;
+          }
+        });
+      }
+      /**
+       * Sets one or more user-defined name-value pairs for the specified container.
+       *
+       * If no option provided, or no metadata defined in the parameter, the container
+       * metadata will be removed.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata
+       *
+       * @param metadata - Replace existing metadata with this value.
+       *                            If no value provided the existing metadata will be removed.
+       * @param options - Options to Container Set Metadata operation.
+       */
+      async setMetadata(metadata, options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        if (options.conditions.ifUnmodifiedSince) {
+          throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service");
+        }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Gets the permissions for the specified container. The permissions indicate
+       * whether container data may be accessed publicly.
+       *
+       * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings.
+       * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z".
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl
+       *
+       * @param options - Options to Container Get Access Policy operation.
+       */
+      async getAccessPolicy(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const res = {
+            _response: response._response,
+            blobPublicAccess: response.blobPublicAccess,
+            date: response.date,
+            etag: response.etag,
+            errorCode: response.errorCode,
+            lastModified: response.lastModified,
+            requestId: response.requestId,
+            clientRequestId: response.clientRequestId,
+            signedIdentifiers: [],
+            version: response.version
+          };
+          for (const identifier of response) {
+            let accessPolicy = void 0;
+            if (identifier.accessPolicy) {
+              accessPolicy = {
+                permissions: identifier.accessPolicy.permissions
+              };
+              if (identifier.accessPolicy.expiresOn) {
+                accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn);
+              }
+              if (identifier.accessPolicy.startsOn) {
+                accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn);
+              }
+            }
+            res.signedIdentifiers.push({
+              accessPolicy,
+              id: identifier.id
+            });
+          }
+          return res;
+        });
+      }
+      /**
+       * Sets the permissions for the specified container. The permissions indicate
+       * whether blobs in a container may be accessed publicly.
+       *
+       * When you set permissions for a container, the existing permissions are replaced.
+       * If no access or containerAcl provided, the existing container ACL will be
+       * removed.
+       *
+       * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect.
+       * During this interval, a shared access signature that is associated with the stored access policy will
+       * fail with status code 403 (Forbidden), until the access policy becomes active.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl
+       *
+       * @param access - The level of public access to data in the container.
+       * @param containerAcl - Array of elements each having a unique Id and details of the access policy.
+       * @param options - Options to Container Set Access Policy operation.
+       */
+      async setAccessPolicy(access, containerAcl, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => {
+          const acl = [];
+          for (const identifier of containerAcl || []) {
+            acl.push({
+              accessPolicy: {
+                expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "",
+                permissions: identifier.accessPolicy.permissions,
+                startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : ""
+              },
+              id: identifier.id
+            });
+          }
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({
+            abortSignal: options.abortSignal,
+            access,
+            containerAcl: acl,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Get a {@link BlobLeaseClient} that manages leases on the container.
+       *
+       * @param proposeLeaseId - Initial proposed lease Id.
+       * @returns A new BlobLeaseClient object for managing leases on the container.
+       */
+      getBlobLeaseClient(proposeLeaseId) {
+        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      }
+      /**
+       * Creates a new block blob, or updates the content of an existing block blob.
+       *
+       * Updating an existing block blob overwrites any existing metadata on the blob.
+       * Partial updates are not supported; the content of the existing blob is
+       * overwritten with the new content. To perform a partial update of a block blob's,
+       * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}.
+       *
+       * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile},
+       * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better
+       * performance with concurrency uploading.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param blobName - Name of the block blob to create or update.
+       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
+       *                               which returns a new Readable stream whose offset is from data source beginning.
+       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
+       *                               string including non non-Base64/Hex-encoded characters.
+       * @param options - Options to configure the Block Blob Upload operation.
+       * @returns Block Blob upload response data and the corresponding BlockBlobClient instance.
+       */
+      async uploadBlockBlob(blobName, body, contentLength, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => {
+          const blockBlobClient = this.getBlockBlobClient(blobName);
+          const response = await blockBlobClient.upload(body, contentLength, updatedOptions);
+          return {
+            blockBlobClient,
+            response
+          };
+        });
+      }
+      /**
+       * Marks the specified blob or snapshot for deletion. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param blobName -
+       * @param options - Options to Blob Delete operation.
+       * @returns Block blob deletion response data.
+       */
+      async deleteBlob(blobName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => {
+          let blobClient = this.getBlobClient(blobName);
+          if (options.versionId) {
+            blobClient = blobClient.withVersion(options.versionId);
+          }
+          return blobClient.delete(updatedOptions);
+        });
+      }
+      /**
+       * listBlobFlatSegment returns a single segment of blobs starting from the
+       * specified Marker. Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call listBlobsFlatSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
+       *
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to Container List Blob Flat Segment operation.
+       */
+      async listBlobFlatSegment(marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({
+            marker,
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: {
+              ...response._response,
+              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody)
+            },
+            // _response is made non-enumerable
+            segment: {
+              ...response.segment,
+              blobItems: response.segment.blobItems.map((blobItemInternal) => {
+                const blobItem = {
+                  ...blobItemInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
+                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
+                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
+                };
+                return blobItem;
+              })
+            }
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * listBlobHierarchySegment returns a single segment of blobs starting from
+       * the specified Marker. Use an empty Marker to start enumeration from the
+       * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment
+       * again (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to Container List Blob Hierarchy Segment operation.
+       */
+      async listBlobHierarchySegment(delimiter, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, {
+            marker,
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: {
+              ...response._response,
+              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody)
+            },
+            // _response is made non-enumerable
+            segment: {
+              ...response.segment,
+              blobItems: response.segment.blobItems.map((blobItemInternal) => {
+                const blobItem = {
+                  ...blobItemInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
+                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
+                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
+                };
+                return blobItem;
+              }),
+              blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => {
+                const blobPrefix = {
+                  ...blobPrefixInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name)
+                };
+                return blobPrefix;
+              })
+            }
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse
+       *
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to list blobs operation.
+       */
+      async *listSegments(marker, options = {}) {
+        let listBlobsFlatSegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options);
+            marker = listBlobsFlatSegmentResponse.continuationToken;
+            yield await listBlobsFlatSegmentResponse;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator of {@link BlobItem} objects
+       *
+       * @param options - Options to list blobs operation.
+       */
+      async *listItems(options = {}) {
+        let marker;
+        for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) {
+          yield* listBlobsFlatSegmentResponse.segment.blobItems;
+        }
+      }
+      /**
+       * Returns an async iterable iterator to list all the blobs
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * ```ts snippet:ReadmeSampleListBlobs_Multiple
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * const blobs = containerClient.listBlobsFlat();
+       * for await (const blob of blobs) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.listBlobsFlat();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param options - Options to list blobs.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listBlobsFlat(options = {}) {
+        const include = [];
+        if (options.includeCopy) {
+          include.push("copy");
+        }
+        if (options.includeDeleted) {
+          include.push("deleted");
+        }
+        if (options.includeMetadata) {
+          include.push("metadata");
+        }
+        if (options.includeSnapshots) {
+          include.push("snapshots");
+        }
+        if (options.includeVersions) {
+          include.push("versions");
+        }
+        if (options.includeUncommitedBlobs) {
+          include.push("uncommittedblobs");
+        }
+        if (options.includeTags) {
+          include.push("tags");
+        }
+        if (options.includeDeletedWithVersions) {
+          include.push("deletedwithversions");
+        }
+        if (options.includeImmutabilityPolicy) {
+          include.push("immutabilitypolicy");
+        }
+        if (options.includeLegalHold) {
+          include.push("legalhold");
+        }
+        if (options.prefix === "") {
+          options.prefix = void 0;
+        }
+        const updatedOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItems(updatedOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listSegments(settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...updatedOptions
+            });
+          }
+        };
+      }
+      /**
+       * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to list blobs operation.
+       */
+      async *listHierarchySegments(delimiter, marker, options = {}) {
+        let listBlobsHierarchySegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options);
+            marker = listBlobsHierarchySegmentResponse.continuationToken;
+            yield await listBlobsHierarchySegmentResponse;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects.
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param options - Options to list blobs operation.
+       */
+      async *listItemsByHierarchy(delimiter, options = {}) {
+        let marker;
+        for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) {
+          const segment = listBlobsHierarchySegmentResponse.segment;
+          if (segment.blobPrefixes) {
+            for (const prefix of segment.blobPrefixes) {
+              yield {
+                kind: "prefix",
+                ...prefix
+              };
+            }
+          }
+          for (const blob of segment.blobItems) {
+            yield { kind: "blob", ...blob };
+          }
+        }
+      }
+      /**
+       * Returns an async iterable iterator to list all the blobs by hierarchy.
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages.
+       *
+       * ```ts snippet:ReadmeSampleListBlobsByHierarchy
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * const blobs = containerClient.listBlobsByHierarchy("/");
+       * for await (const blob of blobs) {
+       *   if (blob.kind === "prefix") {
+       *     console.log(`\tBlobPrefix: ${blob.name}`);
+       *   } else {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.listBlobsByHierarchy("/");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   if (value.kind === "prefix") {
+       *     console.log(`\tBlobPrefix: ${value.name}`);
+       *   } else {
+       *     console.log(`\tBlobItem: name - ${value.name}`);
+       *   }
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
+       *   const segment = page.segment;
+       *   if (segment.blobPrefixes) {
+       *     for (const prefix of segment.blobPrefixes) {
+       *       console.log(`\tBlobPrefix: ${prefix.name}`);
+       *     }
+       *   }
+       *   for (const blob of page.segment.blobItems) {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobPrefixes) {
+       *   for (const prefix of response.blobPrefixes) {
+       *     console.log(`\tBlobPrefix: ${prefix.name}`);
+       *   }
+       * }
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient
+       *   .listBlobsByHierarchy("/")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.blobPrefixes) {
+       *   for (const prefix of response.blobPrefixes) {
+       *     console.log(`\tBlobPrefix: ${prefix.name}`);
+       *   }
+       * }
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param options - Options to list blobs operation.
+       */
+      listBlobsByHierarchy(delimiter, options = {}) {
+        if (delimiter === "") {
+          throw new RangeError("delimiter should contain one or more characters");
+        }
+        const include = [];
+        if (options.includeCopy) {
+          include.push("copy");
+        }
+        if (options.includeDeleted) {
+          include.push("deleted");
+        }
+        if (options.includeMetadata) {
+          include.push("metadata");
+        }
+        if (options.includeSnapshots) {
+          include.push("snapshots");
+        }
+        if (options.includeVersions) {
+          include.push("versions");
+        }
+        if (options.includeUncommitedBlobs) {
+          include.push("uncommittedblobs");
+        }
+        if (options.includeTags) {
+          include.push("tags");
+        }
+        if (options.includeDeletedWithVersions) {
+          include.push("deletedwithversions");
+        }
+        if (options.includeImmutabilityPolicy) {
+          include.push("immutabilitypolicy");
+        }
+        if (options.includeLegalHold) {
+          include.push("legalhold");
+        }
+        if (options.prefix === "") {
+          options.prefix = void 0;
+        }
+        const updatedOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItemsByHierarchy(delimiter, updatedOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          async next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listHierarchySegments(delimiter, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...updatedOptions
+            });
+          }
+        };
+      }
+      /**
+       * The Filter Blobs operation enables callers to list blobs in the container whose tags
+       * match a given search expression.
+       *
+       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                        The given expression must evaluate to true for a blob to be returned in the results.
+       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({
+            abortSignal: options.abortSignal,
+            where: tagFilterSqlExpression,
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            blobs: response.blobs.map((blob) => {
+              let tagValue = "";
+              if (blob.tags?.blobTagSet.length === 1) {
+                tagValue = blob.tags.blobTagSet[0].value;
+              }
+              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
+            })
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
+        let response;
+        if (!!marker || marker === void 0) {
+          do {
+            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
+            response.blobs = response.blobs || [];
+            marker = response.continuationToken;
+            yield response;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator for blobs.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to findBlobsByTagsItems.
+       */
+      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
+        let marker;
+        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
+          yield* segment.blobs;
+        }
+      }
+      /**
+       * Returns an async iterable iterator to find all blobs with specified tag
+       * under the specified container.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * Example using `for await` syntax:
+       *
+       * ```ts snippet:ReadmeSampleFindBlobsByTags
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to find blobs by tags.
+       */
+      findBlobsByTags(tagFilterSqlExpression, options = {}) {
+        const listSegmentOptions = {
+          ...options
+        };
+        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
+      }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      getContainerNameFromUrl() {
+        let containerName;
+        try {
+          const parsedUrl = new URL(this.url);
+          if (parsedUrl.hostname.split(".")[1] === "blob") {
+            containerName = parsedUrl.pathname.split("/")[1];
+          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
+            containerName = parsedUrl.pathname.split("/")[2];
+          } else {
+            containerName = parsedUrl.pathname.split("/")[1];
+          }
+          containerName = decodeURIComponent(containerName);
+          if (!containerName) {
+            throw new Error("Provided containerName is invalid.");
+          }
+          return containerName;
+        } catch (error3) {
+          throw new Error("Unable to extract containerName with provided information.");
+        }
+      }
+      /**
+       * Only available for ContainerClient constructed with a shared key credential.
+       *
+       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasUrl(options) {
+        return new Promise((resolve8) => {
+          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+          }
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            ...options
+          }, this.credential).toString();
+          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for ContainerClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
+       * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
+      generateSasStringToSign(options) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+        }
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          ...options
+        }, this.credential).stringToSign;
+      }
+      /**
+       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasUrl(options, userDelegationKey) {
+        return new Promise((resolve8) => {
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            ...options
+          }, userDelegationKey, this.accountName).toString();
+          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
+       * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasStringToSign(options, userDelegationKey) {
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          ...options
+        }, userDelegationKey, this.accountName).stringToSign;
+      }
+      /**
+       * Creates a BlobBatchClient object to conduct batch operations.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @returns A new BlobBatchClient object for this container.
+       */
+      getBlobBatchClient() {
+        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      }
+    };
+    exports2.ContainerClient = ContainerClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js
+var require_AccountSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASPermissions = void 0;
+    var AccountSASPermissions = class _AccountSASPermissions {
+      /**
+       * Parse initializes the AccountSASPermissions fields from a string.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const accountSASPermissions = new _AccountSASPermissions();
+        for (const c of permissions) {
+          switch (c) {
+            case "r":
+              accountSASPermissions.read = true;
+              break;
+            case "w":
+              accountSASPermissions.write = true;
+              break;
+            case "d":
+              accountSASPermissions.delete = true;
+              break;
+            case "x":
+              accountSASPermissions.deleteVersion = true;
+              break;
+            case "l":
+              accountSASPermissions.list = true;
+              break;
+            case "a":
+              accountSASPermissions.add = true;
+              break;
+            case "c":
+              accountSASPermissions.create = true;
+              break;
+            case "u":
+              accountSASPermissions.update = true;
+              break;
+            case "p":
+              accountSASPermissions.process = true;
+              break;
+            case "t":
+              accountSASPermissions.tag = true;
+              break;
+            case "f":
+              accountSASPermissions.filter = true;
+              break;
+            case "i":
+              accountSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              accountSASPermissions.permanentDelete = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission character: ${c}`);
+          }
+        }
+        return accountSASPermissions;
+      }
+      /**
+       * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const accountSASPermissions = new _AccountSASPermissions();
+        if (permissionLike.read) {
+          accountSASPermissions.read = true;
+        }
+        if (permissionLike.write) {
+          accountSASPermissions.write = true;
+        }
+        if (permissionLike.delete) {
+          accountSASPermissions.delete = true;
+        }
+        if (permissionLike.deleteVersion) {
+          accountSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.filter) {
+          accountSASPermissions.filter = true;
+        }
+        if (permissionLike.tag) {
+          accountSASPermissions.tag = true;
+        }
+        if (permissionLike.list) {
+          accountSASPermissions.list = true;
+        }
+        if (permissionLike.add) {
+          accountSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          accountSASPermissions.create = true;
+        }
+        if (permissionLike.update) {
+          accountSASPermissions.update = true;
+        }
+        if (permissionLike.process) {
+          accountSASPermissions.process = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          accountSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          accountSASPermissions.permanentDelete = true;
+        }
+        return accountSASPermissions;
+      }
+      /**
+       * Permission to read resources and list queues and tables granted.
+       */
+      read = false;
+      /**
+       * Permission to write resources granted.
+       */
+      write = false;
+      /**
+       * Permission to delete blobs and files granted.
+       */
+      delete = false;
+      /**
+       * Permission to delete versions granted.
+       */
+      deleteVersion = false;
+      /**
+       * Permission to list blob containers, blobs, shares, directories, and files granted.
+       */
+      list = false;
+      /**
+       * Permission to add messages, table entities, and append to blobs granted.
+       */
+      add = false;
+      /**
+       * Permission to create blobs and files granted.
+       */
+      create = false;
+      /**
+       * Permissions to update messages and table entities granted.
+       */
+      update = false;
+      /**
+       * Permission to get and delete messages granted.
+       */
+      process = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Permission to filter blobs.
+       */
+      filter = false;
+      /**
+       * Permission to set immutability policy.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Produces the SAS permissions string for an Azure Storage account.
+       * Call this method to set AccountSASSignatureValues Permissions field.
+       *
+       * Using this method will guarantee the resource types are in
+       * an order accepted by the service.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
+       *
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.filter) {
+          permissions.push("f");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.list) {
+          permissions.push("l");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.update) {
+          permissions.push("u");
+        }
+        if (this.process) {
+          permissions.push("p");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
+        }
+        return permissions.join("");
+      }
+    };
+    exports2.AccountSASPermissions = AccountSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js
+var require_AccountSASResourceTypes = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASResourceTypes = void 0;
+    var AccountSASResourceTypes = class _AccountSASResourceTypes {
+      /**
+       * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid resource type.
+       *
+       * @param resourceTypes -
+       */
+      static parse(resourceTypes) {
+        const accountSASResourceTypes = new _AccountSASResourceTypes();
+        for (const c of resourceTypes) {
+          switch (c) {
+            case "s":
+              accountSASResourceTypes.service = true;
+              break;
+            case "c":
+              accountSASResourceTypes.container = true;
+              break;
+            case "o":
+              accountSASResourceTypes.object = true;
+              break;
+            default:
+              throw new RangeError(`Invalid resource type: ${c}`);
+          }
+        }
+        return accountSASResourceTypes;
+      }
+      /**
+       * Permission to access service level APIs granted.
+       */
+      service = false;
+      /**
+       * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
+       */
+      container = false;
+      /**
+       * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
+       */
+      object = false;
+      /**
+       * Converts the given resource types to a string.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
+       *
+       */
+      toString() {
+        const resourceTypes = [];
+        if (this.service) {
+          resourceTypes.push("s");
+        }
+        if (this.container) {
+          resourceTypes.push("c");
+        }
+        if (this.object) {
+          resourceTypes.push("o");
+        }
+        return resourceTypes.join("");
+      }
+    };
+    exports2.AccountSASResourceTypes = AccountSASResourceTypes;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js
+var require_AccountSASServices = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASServices = void 0;
+    var AccountSASServices = class _AccountSASServices {
+      /**
+       * Creates an {@link AccountSASServices} from the specified services string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid service.
+       *
+       * @param services -
+       */
+      static parse(services) {
+        const accountSASServices = new _AccountSASServices();
+        for (const c of services) {
+          switch (c) {
+            case "b":
+              accountSASServices.blob = true;
+              break;
+            case "f":
+              accountSASServices.file = true;
+              break;
+            case "q":
+              accountSASServices.queue = true;
+              break;
+            case "t":
+              accountSASServices.table = true;
+              break;
+            default:
+              throw new RangeError(`Invalid service character: ${c}`);
+          }
+        }
+        return accountSASServices;
+      }
+      /**
+       * Permission to access blob resources granted.
+       */
+      blob = false;
+      /**
+       * Permission to access file resources granted.
+       */
+      file = false;
+      /**
+       * Permission to access queue resources granted.
+       */
+      queue = false;
+      /**
+       * Permission to access table resources granted.
+       */
+      table = false;
+      /**
+       * Converts the given services to a string.
+       *
+       */
+      toString() {
+        const services = [];
+        if (this.blob) {
+          services.push("b");
+        }
+        if (this.table) {
+          services.push("t");
+        }
+        if (this.queue) {
+          services.push("q");
+        }
+        if (this.file) {
+          services.push("f");
+        }
+        return services.join("");
+      }
+    };
+    exports2.AccountSASServices = AccountSASServices;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js
+var require_AccountSASSignatureValues = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters;
+    exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal;
+    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
+    var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes();
+    var AccountSASServices_js_1 = require_AccountSASServices();
+    var SasIPRange_js_1 = require_SasIPRange();
+    var SASQueryParameters_js_1 = require_SASQueryParameters();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
+      return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
+    }
+    function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
+      const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
+        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission.");
+      }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission.");
+      }
+      if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") {
+        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      }
+      const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString());
+      const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString();
+      const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
+      let stringToSign;
+      if (version >= "2020-12-06") {
+        stringToSign = [
+          sharedKeyCredential.accountName,
+          parsedPermissions,
+          parsedServices,
+          parsedResourceTypes,
+          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
+          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
+          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
+          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
+          version,
+          accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "",
+          ""
+          // Account SAS requires an additional newline character
+        ].join("\n");
+      } else {
+        stringToSign = [
+          sharedKeyCredential.accountName,
+          parsedPermissions,
+          parsedServices,
+          parsedResourceTypes,
+          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
+          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
+          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
+          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
+          version,
+          ""
+          // Account SAS requires an additional newline character
+        ].join("\n");
+      }
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js
+var require_BlobServiceClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobServiceClient = void 0;
+    var core_auth_1 = require_commonjs7();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var Pipeline_js_1 = require_Pipeline();
+    var ContainerClient_js_1 = require_ContainerClient();
+    var utils_common_js_1 = require_utils_common();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var utils_common_js_2 = require_utils_common();
+    var tracing_js_1 = require_tracing();
+    var BlobBatchClient_js_1 = require_BlobBatchClient();
+    var StorageClient_js_1 = require_StorageClient();
+    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
+    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
+    var AccountSASServices_js_1 = require_AccountSASServices();
+    var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient {
+      /**
+       * serviceContext provided by protocol layer.
+       */
+      serviceContext;
+      /**
+       *
+       * Creates an instance of BlobServiceClient from connection string.
+       *
+       * @param connectionString - Account connection string or a SAS connection string of an Azure storage account.
+       *                                  [ Note - Account connection string can only be used in NODE.JS runtime. ]
+       *                                  Account connection string example -
+       *                                  `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net`
+       *                                  SAS connection string example -
+       *                                  `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString`
+       * @param options - Optional. Options to configure the HTTP pipeline.
+       */
+      static fromConnectionString(connectionString, options) {
+        options = options || {};
+        const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString);
+        if (extractedCreds.kind === "AccountConnString") {
+          if (core_util_1.isNodeLike) {
+            const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+            if (!options.proxyOptions) {
+              options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+            }
+            const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            return new _BlobServiceClient(extractedCreds.url, pipeline);
+          } else {
+            throw new Error("Account connection string is only supported in Node.js environment");
+          }
+        } else if (extractedCreds.kind === "SASConnString") {
+          const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline);
+        } else {
+          throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+        }
+      }
+      constructor(url2, credentialOrPipeline, options) {
+        let pipeline;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
+          pipeline = credentialOrPipeline;
+        } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) {
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
+        } else {
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        }
+        super(url2, pipeline);
+        this.serviceContext = this.storageClientContext.service;
+      }
+      /**
+       * Creates a {@link ContainerClient} object
+       *
+       * @param containerName - A container name
+       * @returns A new ContainerClient object for the given container name.
+       *
+       * Example usage:
+       *
+       * ```ts snippet:BlobServiceClientGetContainerClient
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerClient = blobServiceClient.getContainerClient("");
+       * ```
+       */
+      getContainerClient(containerName) {
+        return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline);
+      }
+      /**
+       * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       *
+       * @param containerName - Name of the container to create.
+       * @param options - Options to configure Container Create operation.
+       * @returns Container creation response and the corresponding container client.
+       */
+      async createContainer(containerName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(containerName);
+          const containerCreateResponse = await containerClient.create(updatedOptions);
+          return {
+            containerClient,
+            containerCreateResponse
+          };
+        });
+      }
+      /**
+       * Deletes a Blob container.
+       *
+       * @param containerName - Name of the container to delete.
+       * @param options - Options to configure Container Delete operation.
+       * @returns Container deletion response.
+       */
+      async deleteContainer(containerName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(containerName);
+          return containerClient.delete(updatedOptions);
+        });
+      }
+      /**
+       * Restore a previously deleted Blob container.
+       * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container.
+       *
+       * @param deletedContainerName - Name of the previously deleted container.
+       * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container.
+       * @param options - Options to configure Container Restore operation.
+       * @returns Container deletion response.
+       */
+      async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName);
+          const containerContext = containerClient["storageClientContext"].container;
+          const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({
+            deletedContainerName,
+            deletedContainerVersion,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return { containerClient, containerUndeleteResponse };
+        });
+      }
+      /**
+       * Gets the properties of a storage account’s Blob service, including properties
+       * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
+       *
+       * @param options - Options to the Service Get Properties operation.
+       * @returns Response data for the Service Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets properties for a storage account’s Blob service endpoint, including properties
+       * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties
+       *
+       * @param properties -
+       * @param options - Options to the Service Set Properties operation.
+       * @returns Response data for the Service Set Properties operation.
+       */
+      async setProperties(properties, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, {
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Retrieves statistics related to replication for the Blob service. It is only
+       * available on the secondary location endpoint when read-access geo-redundant
+       * replication is enabled for the storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats
+       *
+       * @param options - Options to the Service Get Statistics operation.
+       * @returns Response data for the Service Get Statistics operation.
+       */
+      async getStatistics(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns a list of the containers under the specified account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2
+       *
+       * @param marker - A string value that identifies the portion of
+       *                        the list of containers to be returned with the next listing operation. The
+       *                        operation returns the continuationToken value within the response body if the
+       *                        listing operation did not return all containers remaining to be listed
+       *                        with the current page. The continuationToken value can be used as the value for
+       *                        the marker parameter in a subsequent call to request the next page of list
+       *                        items. The marker value is opaque to the client.
+       * @param options - Options to the Service List Container Segment operation.
+       * @returns Response data for the Service List Container Segment operation.
+       */
+      async listContainersSegment(marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({
+            abortSignal: options.abortSignal,
+            marker,
+            ...options,
+            include: typeof options.include === "string" ? [options.include] : options.include,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Filter Blobs operation enables callers to list blobs across all containers whose tags
+       * match a given search expression. Filter blobs searches across all containers within a
+       * storage account but can be scoped within the expression to a single container.
+       *
+       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                        The given expression must evaluate to true for a blob to be returned in the results.
+       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({
+            abortSignal: options.abortSignal,
+            where: tagFilterSqlExpression,
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            blobs: response.blobs.map((blob) => {
+              let tagValue = "";
+              if (blob.tags?.blobTagSet.length === 1) {
+                tagValue = blob.tags.blobTagSet[0].value;
+              }
+              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
+            })
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
+        let response;
+        if (!!marker || marker === void 0) {
+          do {
+            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
+            response.blobs = response.blobs || [];
+            marker = response.continuationToken;
+            yield response;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator for blobs.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to findBlobsByTagsItems.
+       */
+      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
+        let marker;
+        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
+          yield* segment.blobs;
+        }
+      }
+      /**
+       * Returns an async iterable iterator to find all blobs with specified tag
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
+       *
+       * ```ts snippet:BlobServiceClientFindBlobsByTags
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * // Use for await to iterate the blobs
+       * let i = 1;
+       * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Use iter.next() to iterate the blobs
+       * i = 1;
+       * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Use byPage() to iterate the blobs
+       * i = 1;
+       * for await (const page of blobServiceClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Use paging with a marker
+       * i = 1;
+       * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = blobServiceClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       *
+       * // Prints blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to find blobs by tags.
+       */
+      findBlobsByTags(tagFilterSqlExpression, options = {}) {
+        const listSegmentOptions = {
+          ...options
+        };
+        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
+      }
+      /**
+       * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses
+       *
+       * @param marker - A string value that identifies the portion of
+       *                        the list of containers to be returned with the next listing operation. The
+       *                        operation returns the continuationToken value within the response body if the
+       *                        listing operation did not return all containers remaining to be listed
+       *                        with the current page. The continuationToken value can be used as the value for
+       *                        the marker parameter in a subsequent call to request the next page of list
+       *                        items. The marker value is opaque to the client.
+       * @param options - Options to list containers operation.
+       */
+      async *listSegments(marker, options = {}) {
+        let listContainersSegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listContainersSegmentResponse = await this.listContainersSegment(marker, options);
+            listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || [];
+            marker = listContainersSegmentResponse.continuationToken;
+            yield await listContainersSegmentResponse;
+          } while (marker);
+        }
+      }
+      /**
+       * Returns an AsyncIterableIterator for Container Items
+       *
+       * @param options - Options to list containers operation.
+       */
+      async *listItems(options = {}) {
+        let marker;
+        for await (const segment of this.listSegments(marker, options)) {
+          yield* segment.containerItems;
+        }
+      }
+      /**
+       * Returns an async iterable iterator to list all the containers
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the containers in pages.
+       *
+       * ```ts snippet:BlobServiceClientListContainers
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * // Use for await to iterate the containers
+       * let i = 1;
+       * for await (const container of blobServiceClient.listContainers()) {
+       *   console.log(`Container ${i++}: ${container.name}`);
+       * }
+       *
+       * // Use iter.next() to iterate the containers
+       * i = 1;
+       * const iter = blobServiceClient.listContainers();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Container ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Use byPage() to iterate the containers
+       * i = 1;
+       * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
+       *   for (const container of page.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       *
+       * // Use paging with a marker
+       * i = 1;
+       * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       *
+       * // Prints 2 container names
+       * if (response.containerItems) {
+       *   for (const container of response.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       *
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = blobServiceClient
+       *   .listContainers()
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       *
+       * // Prints 10 container names
+       * if (response.containerItems) {
+       *   for (const container of response.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param options - Options to list containers.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listContainers(options = {}) {
+        if (options.prefix === "") {
+          options.prefix = void 0;
+        }
+        const include = [];
+        if (options.includeDeleted) {
+          include.push("deleted");
+        }
+        if (options.includeMetadata) {
+          include.push("metadata");
+        }
+        if (options.includeSystem) {
+          include.push("system");
+        }
+        const listSegmentOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItems(listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listSegments(settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
+      }
+      /**
+       * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential).
+       *
+       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
+       * bearer token authentication.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key
+       *
+       * @param startsOn -      The start time for the user delegation SAS. Must be within 7 days of the current time
+       * @param expiresOn -     The end time for the user delegation SAS. Must be within 7 days of the current time
+       */
+      async getUserDelegationKey(startsOn, expiresOn, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({
+            startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false),
+            expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false)
+          }, {
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const userDelegationKey = {
+            signedObjectId: response.signedObjectId,
+            signedTenantId: response.signedTenantId,
+            signedStartsOn: new Date(response.signedStartsOn),
+            signedExpiresOn: new Date(response.signedExpiresOn),
+            signedService: response.signedService,
+            signedVersion: response.signedVersion,
+            value: response.value
+          };
+          const res = {
+            _response: response._response,
+            requestId: response.requestId,
+            clientRequestId: response.clientRequestId,
+            version: response.version,
+            date: response.date,
+            errorCode: response.errorCode,
+            ...userDelegationKey
+          };
+          return res;
+        });
+      }
+      /**
+       * Creates a BlobBatchClient object to conduct batch operations.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @returns A new BlobBatchClient object for this service.
+       */
+      getBlobBatchClient() {
+        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      }
+      /**
+       * Only available for BlobServiceClient constructed with a shared key credential.
+       *
+       * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       *
+       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
+       * @param permissions - Specifies the list of permissions to be associated with the SAS.
+       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
+       * @param options - Optional parameters.
+       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+        }
+        if (expiresOn === void 0) {
+          const now = /* @__PURE__ */ new Date();
+          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+        }
+        const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({
+          permissions,
+          expiresOn,
+          resourceTypes,
+          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
+          ...options
+        }, this.credential).toString();
+        return (0, utils_common_js_1.appendToURLQuery)(this.url, sas);
+      }
+      /**
+       * Only available for BlobServiceClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       *
+       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
+       * @param permissions - Specifies the list of permissions to be associated with the SAS.
+       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
+       * @param options - Optional parameters.
+       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+        }
+        if (expiresOn === void 0) {
+          const now = /* @__PURE__ */ new Date();
+          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+        }
+        return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({
+          permissions,
+          expiresOn,
+          resourceTypes,
+          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
+          ...options
+        }, this.credential).stringToSign;
+      }
+    };
+    exports2.BlobServiceClient = BlobServiceClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js
+var require_BatchResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js
+var require_generatedModels = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.KnownEncryptionAlgorithmType = void 0;
+    var KnownEncryptionAlgorithmType;
+    (function(KnownEncryptionAlgorithmType2) {
+      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
+    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/index.js
+var require_commonjs15 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var core_rest_pipeline_1 = require_commonjs6();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return core_rest_pipeline_1.RestError;
+    } });
+    tslib_1.__exportStar(require_BlobServiceClient(), exports2);
+    tslib_1.__exportStar(require_Clients(), exports2);
+    tslib_1.__exportStar(require_ContainerClient(), exports2);
+    tslib_1.__exportStar(require_BlobLeaseClient(), exports2);
+    tslib_1.__exportStar(require_AccountSASPermissions(), exports2);
+    tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2);
+    tslib_1.__exportStar(require_AccountSASServices(), exports2);
+    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
+    Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() {
+      return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters;
+    } });
+    tslib_1.__exportStar(require_BlobBatch(), exports2);
+    tslib_1.__exportStar(require_BlobBatchClient(), exports2);
+    tslib_1.__exportStar(require_BatchResponse(), exports2);
+    tslib_1.__exportStar(require_BlobSASPermissions(), exports2);
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() {
+      return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters;
+    } });
+    tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2);
+    tslib_1.__exportStar(require_ContainerSASPermissions(), exports2);
+    tslib_1.__exportStar(require_AnonymousCredential(), exports2);
+    tslib_1.__exportStar(require_Credential(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2);
+    var models_js_1 = require_models2();
+    Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() {
+      return models_js_1.BlockBlobTier;
+    } });
+    Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() {
+      return models_js_1.PremiumPageBlobTier;
+    } });
+    Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() {
+      return models_js_1.StorageBlobAudience;
+    } });
+    Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() {
+      return models_js_1.getBlobServiceAccountAudience;
+    } });
+    var Pipeline_js_1 = require_Pipeline();
+    Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() {
+      return Pipeline_js_1.Pipeline;
+    } });
+    Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() {
+      return Pipeline_js_1.isPipelineLike;
+    } });
+    Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() {
+      return Pipeline_js_1.newPipeline;
+    } });
+    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
+      return Pipeline_js_1.StorageOAuthScopes;
+    } });
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
+      return RequestPolicy_js_1.BaseRequestPolicy;
+    } });
+    tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_CredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_SASQueryParameters(), exports2);
+    tslib_1.__exportStar(require_generatedModels(), exports2);
+    var log_js_1 = require_log5();
+    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
+      return log_js_1.logger;
+    } });
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/shared/errors.js
+var require_errors3 = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RateLimitError = exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.CacheNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
+    var FilesNotFoundError = class extends Error {
+      constructor(files = []) {
+        let message = "No files were found to upload";
+        if (files.length > 0) {
+          message += `: ${files.join(", ")}`;
+        }
+        super(message);
+        this.files = files;
+        this.name = "FilesNotFoundError";
+      }
+    };
+    exports2.FilesNotFoundError = FilesNotFoundError;
+    var InvalidResponseError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "InvalidResponseError";
+      }
+    };
+    exports2.InvalidResponseError = InvalidResponseError;
+    var CacheNotFoundError = class extends Error {
+      constructor(message = "Cache not found") {
+        super(message);
+        this.name = "CacheNotFoundError";
+      }
+    };
+    exports2.CacheNotFoundError = CacheNotFoundError;
+    var GHESNotSupportedError = class extends Error {
+      constructor(message = "@actions/cache v4.1.4+, actions/cache/save@v4+ and actions/cache/restore@v4+ are not currently supported on GHES.") {
+        super(message);
+        this.name = "GHESNotSupportedError";
+      }
+    };
+    exports2.GHESNotSupportedError = GHESNotSupportedError;
+    var NetworkError = class extends Error {
+      constructor(code) {
+        const message = `Unable to make request: ${code}
+If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
+        super(message);
+        this.code = code;
+        this.name = "NetworkError";
+      }
+    };
+    exports2.NetworkError = NetworkError;
+    NetworkError.isNetworkErrorCode = (code) => {
+      if (!code)
+        return false;
+      return [
+        "ECONNRESET",
+        "ENOTFOUND",
+        "ETIMEDOUT",
+        "ECONNREFUSED",
+        "EHOSTUNREACH"
+      ].includes(code);
+    };
+    var UsageError = class extends Error {
+      constructor() {
+        const message = `Cache storage quota has been hit. Unable to upload any new cache entries. Usage is recalculated every 6-12 hours.
+More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
+        super(message);
+        this.name = "UsageError";
+      }
+    };
+    exports2.UsageError = UsageError;
+    UsageError.isUsageErrorMessage = (msg) => {
+      if (!msg)
+        return false;
+      return msg.includes("insufficient usage");
+    };
+    var RateLimitError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "RateLimitError";
+      }
+    };
+    exports2.RateLimitError = RateLimitError;
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/uploadUtils.js
+var require_uploadUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/uploadUtils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UploadProgress = void 0;
+    exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK;
+    var core17 = __importStar2(require_core());
+    var storage_blob_1 = require_commonjs15();
+    var errors_1 = require_errors3();
+    var UploadProgress = class {
+      constructor(contentLength) {
+        this.contentLength = contentLength;
+        this.sentBytes = 0;
+        this.displayedComplete = false;
+        this.startTime = Date.now();
+      }
+      /**
+       * Sets the number of bytes sent
+       *
+       * @param sentBytes the number of bytes sent
+       */
+      setSentBytes(sentBytes) {
+        this.sentBytes = sentBytes;
+      }
+      /**
+       * Returns the total number of bytes transferred.
+       */
+      getTransferredBytes() {
+        return this.sentBytes;
+      }
+      /**
+       * Returns true if the upload is complete.
+       */
+      isDone() {
+        return this.getTransferredBytes() === this.contentLength;
+      }
+      /**
+       * Prints the current upload stats. Once the upload completes, this will print one
+       * last line and then stop.
+       */
+      display() {
+        if (this.displayedComplete) {
+          return;
+        }
+        const transferredBytes = this.sentBytes;
+        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
+        const elapsedTime = Date.now() - this.startTime;
+        const uploadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
+        core17.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`);
+        if (this.isDone()) {
+          this.displayedComplete = true;
+        }
+      }
+      /**
+       * Returns a function used to handle TransferProgressEvents.
+       */
+      onProgress() {
+        return (progress) => {
+          this.setSentBytes(progress.loadedBytes);
+        };
+      }
+      /**
+       * Starts the timer that displays the stats.
+       *
+       * @param delayInMs the delay between each write
+       */
+      startDisplayTimer(delayInMs = 1e3) {
+        const displayCallback = () => {
+          this.display();
+          if (!this.isDone()) {
+            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+          }
+        };
+        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+      }
+      /**
+       * Stops the timer that displays the stats. As this typically indicates the upload
+       * is complete, this will display one last line, unless the last line has already
+       * been written.
+       */
+      stopDisplayTimer() {
+        if (this.timeoutHandle) {
+          clearTimeout(this.timeoutHandle);
+          this.timeoutHandle = void 0;
+        }
+        this.display();
+      }
+    };
+    exports2.UploadProgress = UploadProgress;
+    function uploadCacheArchiveSDK(signedUploadURL, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a;
+        const blobClient = new storage_blob_1.BlobClient(signedUploadURL);
+        const blockBlobClient = blobClient.getBlockBlobClient();
+        const uploadProgress = new UploadProgress((_a = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a !== void 0 ? _a : 0);
+        const uploadOptions = {
+          blockSize: options === null || options === void 0 ? void 0 : options.uploadChunkSize,
+          concurrency: options === null || options === void 0 ? void 0 : options.uploadConcurrency,
+          // maximum number of parallel transfer workers
+          maxSingleShotSize: 128 * 1024 * 1024,
+          // 128 MiB initial transfer size
+          onProgress: uploadProgress.onProgress()
+        };
+        try {
+          uploadProgress.startDisplayTimer();
+          core17.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`);
+          const response = yield blockBlobClient.uploadFile(archivePath, uploadOptions);
+          if (response._response.status >= 400) {
+            throw new errors_1.InvalidResponseError(`uploadCacheArchiveSDK: upload failed with status code ${response._response.status}`);
+          }
+          return response;
+        } catch (error3) {
+          core17.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`);
+          throw error3;
+        } finally {
+          uploadProgress.stopDisplayTimer();
+        }
+      });
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/requestUtils.js
+var require_requestUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/requestUtils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isSuccessStatusCode = isSuccessStatusCode;
+    exports2.isServerErrorStatusCode = isServerErrorStatusCode;
+    exports2.isRetryableStatusCode = isRetryableStatusCode;
+    exports2.retry = retry2;
+    exports2.retryTypedResponse = retryTypedResponse;
+    exports2.retryHttpClientResponse = retryHttpClientResponse;
+    var core17 = __importStar2(require_core());
+    var http_client_1 = require_lib();
+    var constants_1 = require_constants12();
+    function isSuccessStatusCode(statusCode) {
+      if (!statusCode) {
+        return false;
+      }
+      return statusCode >= 200 && statusCode < 300;
+    }
+    function isServerErrorStatusCode(statusCode) {
+      if (!statusCode) {
+        return true;
+      }
+      return statusCode >= 500;
+    }
+    function isRetryableStatusCode(statusCode) {
+      if (!statusCode) {
+        return false;
+      }
+      const retryableStatusCodes = [
+        http_client_1.HttpCodes.BadGateway,
+        http_client_1.HttpCodes.ServiceUnavailable,
+        http_client_1.HttpCodes.GatewayTimeout
+      ];
+      return retryableStatusCodes.includes(statusCode);
+    }
+    function sleep(milliseconds) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        return new Promise((resolve8) => setTimeout(resolve8, milliseconds));
+      });
+    }
+    function retry2(name_1, method_1, getStatusCode_1) {
+      return __awaiter2(this, arguments, void 0, function* (name, method, getStatusCode, maxAttempts = constants_1.DefaultRetryAttempts, delay2 = constants_1.DefaultRetryDelay, onError = void 0) {
+        let errorMessage = "";
+        let attempt = 1;
+        while (attempt <= maxAttempts) {
+          let response = void 0;
+          let statusCode = void 0;
+          let isRetryable = false;
+          try {
+            response = yield method();
+          } catch (error3) {
+            if (onError) {
+              response = onError(error3);
+            }
+            isRetryable = true;
+            errorMessage = error3.message;
+          }
+          if (response) {
+            statusCode = getStatusCode(response);
+            if (!isServerErrorStatusCode(statusCode)) {
+              return response;
+            }
+          }
+          if (statusCode) {
+            isRetryable = isRetryableStatusCode(statusCode);
+            errorMessage = `Cache service responded with ${statusCode}`;
+          }
+          core17.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`);
+          if (!isRetryable) {
+            core17.debug(`${name} - Error is not retryable`);
+            break;
+          }
+          yield sleep(delay2);
+          attempt++;
+        }
+        throw Error(`${name} failed: ${errorMessage}`);
+      });
+    }
+    function retryTypedResponse(name_1, method_1) {
+      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay2 = constants_1.DefaultRetryDelay) {
+        return yield retry2(
+          name,
+          method,
+          (response) => response.statusCode,
+          maxAttempts,
+          delay2,
+          // If the error object contains the statusCode property, extract it and return
+          // an TypedResponse so it can be processed by the retry logic.
+          (error3) => {
+            if (error3 instanceof http_client_1.HttpClientError) {
+              return {
+                statusCode: error3.statusCode,
+                result: null,
+                headers: {},
+                error: error3
+              };
+            } else {
+              return void 0;
+            }
+          }
+        );
+      });
+    }
+    function retryHttpClientResponse(name_1, method_1) {
+      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay2 = constants_1.DefaultRetryDelay) {
+        return yield retry2(name, method, (response) => response.message.statusCode, maxAttempts, delay2);
+      });
+    }
+  }
+});
+
+// node_modules/@azure/abort-controller/dist/index.js
+var require_dist4 = __commonJS({
+  "node_modules/@azure/abort-controller/dist/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var listenersMap = /* @__PURE__ */ new WeakMap();
+    var abortedMap = /* @__PURE__ */ new WeakMap();
+    var AbortSignal2 = class _AbortSignal {
+      constructor() {
+        this.onabort = null;
+        listenersMap.set(this, []);
+        abortedMap.set(this, false);
+      }
+      /**
+       * Status of whether aborted or not.
+       *
+       * @readonly
+       */
+      get aborted() {
+        if (!abortedMap.has(this)) {
+          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+        }
+        return abortedMap.get(this);
+      }
+      /**
+       * Creates a new AbortSignal instance that will never be aborted.
+       *
+       * @readonly
+       */
+      static get none() {
+        return new _AbortSignal();
+      }
+      /**
+       * Added new "abort" event listener, only support "abort" event.
+       *
+       * @param _type - Only support "abort" event
+       * @param listener - The listener to be added
+       */
+      addEventListener(_type, listener) {
+        if (!listenersMap.has(this)) {
+          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+        }
+        const listeners = listenersMap.get(this);
+        listeners.push(listener);
+      }
+      /**
+       * Remove "abort" event listener, only support "abort" event.
+       *
+       * @param _type - Only support "abort" event
+       * @param listener - The listener to be removed
+       */
+      removeEventListener(_type, listener) {
+        if (!listenersMap.has(this)) {
+          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+        }
+        const listeners = listenersMap.get(this);
+        const index = listeners.indexOf(listener);
+        if (index > -1) {
+          listeners.splice(index, 1);
+        }
+      }
+      /**
+       * Dispatches a synthetic event to the AbortSignal.
+       */
+      dispatchEvent(_event) {
+        throw new Error("This is a stub dispatchEvent implementation that should not be used.  It only exists for type-checking purposes.");
+      }
+    };
+    function abortSignal(signal) {
+      if (signal.aborted) {
+        return;
+      }
+      if (signal.onabort) {
+        signal.onabort.call(signal);
+      }
+      const listeners = listenersMap.get(signal);
+      if (listeners) {
+        listeners.slice().forEach((listener) => {
+          listener.call(signal, { type: "abort" });
+        });
+      }
+      abortedMap.set(signal, true);
+    }
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+      }
+    };
+    var AbortController2 = class {
+      // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
+      constructor(parentSignals) {
+        this._signal = new AbortSignal2();
+        if (!parentSignals) {
+          return;
+        }
+        if (!Array.isArray(parentSignals)) {
+          parentSignals = arguments;
+        }
+        for (const parentSignal of parentSignals) {
+          if (parentSignal.aborted) {
+            this.abort();
+          } else {
+            parentSignal.addEventListener("abort", () => {
+              this.abort();
+            });
+          }
+        }
+      }
+      /**
+       * The AbortSignal associated with this controller that will signal aborted
+       * when the abort method is called on this controller.
+       *
+       * @readonly
+       */
+      get signal() {
+        return this._signal;
+      }
+      /**
+       * Signal that any operations passed this controller's associated abort signal
+       * to cancel any remaining work and throw an `AbortError`.
+       */
+      abort() {
+        abortSignal(this._signal);
+      }
+      /**
+       * Creates a new AbortSignal instance that will abort after the provided ms.
+       * @param ms - Elapsed time in milliseconds to trigger an abort.
+       */
+      static timeout(ms) {
+        const signal = new AbortSignal2();
+        const timer = setTimeout(abortSignal, ms, signal);
+        if (typeof timer.unref === "function") {
+          timer.unref();
+        }
+        return signal;
+      }
+    };
+    exports2.AbortController = AbortController2;
+    exports2.AbortError = AbortError;
+    exports2.AbortSignal = AbortSignal2;
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/downloadUtils.js
+var require_downloadUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/downloadUtils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DownloadProgress = void 0;
+    exports2.downloadCacheHttpClient = downloadCacheHttpClient;
+    exports2.downloadCacheHttpClientConcurrent = downloadCacheHttpClientConcurrent;
+    exports2.downloadCacheStorageSDK = downloadCacheStorageSDK;
+    var core17 = __importStar2(require_core());
+    var http_client_1 = require_lib();
+    var storage_blob_1 = require_commonjs15();
+    var buffer = __importStar2(require("buffer"));
+    var fs18 = __importStar2(require("fs"));
+    var stream2 = __importStar2(require("stream"));
+    var util = __importStar2(require("util"));
+    var utils = __importStar2(require_cacheUtils());
+    var constants_1 = require_constants12();
+    var requestUtils_1 = require_requestUtils();
+    var abort_controller_1 = require_dist4();
+    function pipeResponseToStream(response, output) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const pipeline = util.promisify(stream2.pipeline);
+        yield pipeline(response.message, output);
+      });
+    }
+    var DownloadProgress = class {
+      constructor(contentLength) {
+        this.contentLength = contentLength;
+        this.segmentIndex = 0;
+        this.segmentSize = 0;
+        this.segmentOffset = 0;
+        this.receivedBytes = 0;
+        this.displayedComplete = false;
+        this.startTime = Date.now();
+      }
+      /**
+       * Progress to the next segment. Only call this method when the previous segment
+       * is complete.
+       *
+       * @param segmentSize the length of the next segment
+       */
+      nextSegment(segmentSize) {
+        this.segmentOffset = this.segmentOffset + this.segmentSize;
+        this.segmentIndex = this.segmentIndex + 1;
+        this.segmentSize = segmentSize;
+        this.receivedBytes = 0;
+        core17.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`);
+      }
+      /**
+       * Sets the number of bytes received for the current segment.
+       *
+       * @param receivedBytes the number of bytes received
+       */
+      setReceivedBytes(receivedBytes) {
+        this.receivedBytes = receivedBytes;
+      }
+      /**
+       * Returns the total number of bytes transferred.
+       */
+      getTransferredBytes() {
+        return this.segmentOffset + this.receivedBytes;
+      }
+      /**
+       * Returns true if the download is complete.
+       */
+      isDone() {
+        return this.getTransferredBytes() === this.contentLength;
+      }
+      /**
+       * Prints the current download stats. Once the download completes, this will print one
+       * last line and then stop.
+       */
+      display() {
+        if (this.displayedComplete) {
+          return;
+        }
+        const transferredBytes = this.segmentOffset + this.receivedBytes;
+        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
+        const elapsedTime = Date.now() - this.startTime;
+        const downloadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
+        core17.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`);
+        if (this.isDone()) {
+          this.displayedComplete = true;
+        }
+      }
+      /**
+       * Returns a function used to handle TransferProgressEvents.
+       */
+      onProgress() {
+        return (progress) => {
+          this.setReceivedBytes(progress.loadedBytes);
+        };
+      }
+      /**
+       * Starts the timer that displays the stats.
+       *
+       * @param delayInMs the delay between each write
+       */
+      startDisplayTimer(delayInMs = 1e3) {
+        const displayCallback = () => {
+          this.display();
+          if (!this.isDone()) {
+            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+          }
+        };
+        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+      }
+      /**
+       * Stops the timer that displays the stats. As this typically indicates the download
+       * is complete, this will display one last line, unless the last line has already
+       * been written.
+       */
+      stopDisplayTimer() {
+        if (this.timeoutHandle) {
+          clearTimeout(this.timeoutHandle);
+          this.timeoutHandle = void 0;
+        }
+        this.display();
+      }
+    };
+    exports2.DownloadProgress = DownloadProgress;
+    function downloadCacheHttpClient(archiveLocation, archivePath) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const writeStream = fs18.createWriteStream(archivePath);
+        const httpClient = new http_client_1.HttpClient("actions/cache");
+        const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.get(archiveLocation);
+        }));
+        downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => {
+          downloadResponse.message.destroy();
+          core17.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`);
+        });
+        yield pipeResponseToStream(downloadResponse, writeStream);
+        const contentLengthHeader = downloadResponse.message.headers["content-length"];
+        if (contentLengthHeader) {
+          const expectedLength = parseInt(contentLengthHeader);
+          const actualLength = utils.getArchiveFileSizeInBytes(archivePath);
+          if (actualLength !== expectedLength) {
+            throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`);
+          }
+        } else {
+          core17.debug("Unable to validate download, no Content-Length header");
+        }
+      });
+    }
+    function downloadCacheHttpClientConcurrent(archiveLocation, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a;
+        const archiveDescriptor = yield fs18.promises.open(archivePath, "w");
+        const httpClient = new http_client_1.HttpClient("actions/cache", void 0, {
+          socketTimeout: options.timeoutInMs,
+          keepAlive: true
+        });
+        try {
+          const res = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCacheMetadata", () => __awaiter2(this, void 0, void 0, function* () {
+            return yield httpClient.request("HEAD", archiveLocation, null, {});
+          }));
+          const lengthHeader = res.message.headers["content-length"];
+          if (lengthHeader === void 0 || lengthHeader === null) {
+            throw new Error("Content-Length not found on blob response");
+          }
+          const length = parseInt(lengthHeader);
+          if (Number.isNaN(length)) {
+            throw new Error(`Could not interpret Content-Length: ${length}`);
+          }
+          const downloads = [];
+          const blockSize = 4 * 1024 * 1024;
+          for (let offset = 0; offset < length; offset += blockSize) {
+            const count = Math.min(blockSize, length - offset);
+            downloads.push({
+              offset,
+              promiseGetter: () => __awaiter2(this, void 0, void 0, function* () {
+                return yield downloadSegmentRetry(httpClient, archiveLocation, offset, count);
+              })
+            });
+          }
+          downloads.reverse();
+          let actives = 0;
+          let bytesDownloaded = 0;
+          const progress = new DownloadProgress(length);
+          progress.startDisplayTimer();
+          const progressFn = progress.onProgress();
+          const activeDownloads = [];
+          let nextDownload;
+          const waitAndWrite = () => __awaiter2(this, void 0, void 0, function* () {
+            const segment = yield Promise.race(Object.values(activeDownloads));
+            yield archiveDescriptor.write(segment.buffer, 0, segment.count, segment.offset);
+            actives--;
+            delete activeDownloads[segment.offset];
+            bytesDownloaded += segment.count;
+            progressFn({ loadedBytes: bytesDownloaded });
+          });
+          while (nextDownload = downloads.pop()) {
+            activeDownloads[nextDownload.offset] = nextDownload.promiseGetter();
+            actives++;
+            if (actives >= ((_a = options.downloadConcurrency) !== null && _a !== void 0 ? _a : 10)) {
+              yield waitAndWrite();
+            }
+          }
+          while (actives > 0) {
+            yield waitAndWrite();
+          }
+        } finally {
+          httpClient.dispose();
+          yield archiveDescriptor.close();
+        }
+      });
+    }
+    function downloadSegmentRetry(httpClient, archiveLocation, offset, count) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const retries = 5;
+        let failures = 0;
+        while (true) {
+          try {
+            const timeout = 3e4;
+            const result = yield promiseWithTimeout(timeout, downloadSegment(httpClient, archiveLocation, offset, count));
+            if (typeof result === "string") {
+              throw new Error("downloadSegmentRetry failed due to timeout");
+            }
+            return result;
+          } catch (err) {
+            if (failures >= retries) {
+              throw err;
+            }
+            failures++;
+          }
+        }
+      });
+    }
+    function downloadSegment(httpClient, archiveLocation, offset, count) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const partRes = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCachePart", () => __awaiter2(this, void 0, void 0, function* () {
+          return yield httpClient.get(archiveLocation, {
+            Range: `bytes=${offset}-${offset + count - 1}`
+          });
+        }));
+        if (!partRes.readBodyBuffer) {
+          throw new Error("Expected HttpClientResponse to implement readBodyBuffer");
+        }
+        return {
+          offset,
+          count,
+          buffer: yield partRes.readBodyBuffer()
+        };
+      });
+    }
+    function downloadCacheStorageSDK(archiveLocation, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a;
+        const client = new storage_blob_1.BlockBlobClient(archiveLocation, void 0, {
+          retryOptions: {
+            // Override the timeout used when downloading each 4 MB chunk
+            // The default is 2 min / MB, which is way too slow
+            tryTimeoutInMs: options.timeoutInMs
+          }
+        });
+        const properties = yield client.getProperties();
+        const contentLength = (_a = properties.contentLength) !== null && _a !== void 0 ? _a : -1;
+        if (contentLength < 0) {
+          core17.debug("Unable to determine content length, downloading file with http-client...");
+          yield downloadCacheHttpClient(archiveLocation, archivePath);
+        } else {
+          const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH);
+          const downloadProgress = new DownloadProgress(contentLength);
+          const fd = fs18.openSync(archivePath, "w");
+          try {
+            downloadProgress.startDisplayTimer();
+            const controller = new abort_controller_1.AbortController();
+            const abortSignal = controller.signal;
+            while (!downloadProgress.isDone()) {
+              const segmentStart = downloadProgress.segmentOffset + downloadProgress.segmentSize;
+              const segmentSize = Math.min(maxSegmentSize, contentLength - segmentStart);
+              downloadProgress.nextSegment(segmentSize);
+              const result = yield promiseWithTimeout(options.segmentTimeoutInMs || 36e5, client.downloadToBuffer(segmentStart, segmentSize, {
+                abortSignal,
+                concurrency: options.downloadConcurrency,
+                onProgress: downloadProgress.onProgress()
+              }));
+              if (result === "timeout") {
+                controller.abort();
+                throw new Error("Aborting cache download as the download time exceeded the timeout.");
+              } else if (Buffer.isBuffer(result)) {
+                fs18.writeFileSync(fd, result);
+              }
+            }
+          } finally {
+            downloadProgress.stopDisplayTimer();
+            fs18.closeSync(fd);
+          }
+        }
+      });
+    }
+    var promiseWithTimeout = (timeoutMs, promise) => __awaiter2(void 0, void 0, void 0, function* () {
+      let timeoutHandle;
+      const timeoutPromise = new Promise((resolve8) => {
+        timeoutHandle = setTimeout(() => resolve8("timeout"), timeoutMs);
+      });
+      return Promise.race([promise, timeoutPromise]).then((result) => {
+        clearTimeout(timeoutHandle);
+        return result;
+      });
+    });
+  }
+});
+
+// node_modules/@actions/cache/lib/options.js
+var require_options = __commonJS({
+  "node_modules/@actions/cache/lib/options.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUploadOptions = getUploadOptions;
+    exports2.getDownloadOptions = getDownloadOptions;
+    var core17 = __importStar2(require_core());
+    function getUploadOptions(copy) {
+      const result = {
+        useAzureSdk: false,
+        uploadConcurrency: 4,
+        uploadChunkSize: 32 * 1024 * 1024
+      };
+      if (copy) {
+        if (typeof copy.useAzureSdk === "boolean") {
+          result.useAzureSdk = copy.useAzureSdk;
+        }
+        if (typeof copy.uploadConcurrency === "number") {
+          result.uploadConcurrency = copy.uploadConcurrency;
+        }
+        if (typeof copy.uploadChunkSize === "number") {
+          result.uploadChunkSize = copy.uploadChunkSize;
+        }
+      }
+      result.uploadConcurrency = !isNaN(Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) ? Math.min(32, Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) : result.uploadConcurrency;
+      result.uploadChunkSize = !isNaN(Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"])) ? Math.min(128 * 1024 * 1024, Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) * 1024 * 1024) : result.uploadChunkSize;
+      core17.debug(`Use Azure SDK: ${result.useAzureSdk}`);
+      core17.debug(`Upload concurrency: ${result.uploadConcurrency}`);
+      core17.debug(`Upload chunk size: ${result.uploadChunkSize}`);
+      return result;
+    }
+    function getDownloadOptions(copy) {
+      const result = {
+        useAzureSdk: false,
+        concurrentBlobDownloads: true,
+        downloadConcurrency: 8,
+        timeoutInMs: 3e4,
+        segmentTimeoutInMs: 6e5,
+        lookupOnly: false
+      };
+      if (copy) {
+        if (typeof copy.useAzureSdk === "boolean") {
+          result.useAzureSdk = copy.useAzureSdk;
+        }
+        if (typeof copy.concurrentBlobDownloads === "boolean") {
+          result.concurrentBlobDownloads = copy.concurrentBlobDownloads;
+        }
+        if (typeof copy.downloadConcurrency === "number") {
+          result.downloadConcurrency = copy.downloadConcurrency;
+        }
+        if (typeof copy.timeoutInMs === "number") {
+          result.timeoutInMs = copy.timeoutInMs;
+        }
+        if (typeof copy.segmentTimeoutInMs === "number") {
+          result.segmentTimeoutInMs = copy.segmentTimeoutInMs;
+        }
+        if (typeof copy.lookupOnly === "boolean") {
+          result.lookupOnly = copy.lookupOnly;
+        }
+      }
+      const segmentDownloadTimeoutMins = process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"];
+      if (segmentDownloadTimeoutMins && !isNaN(Number(segmentDownloadTimeoutMins)) && isFinite(Number(segmentDownloadTimeoutMins))) {
+        result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1e3;
+      }
+      core17.debug(`Use Azure SDK: ${result.useAzureSdk}`);
+      core17.debug(`Download concurrency: ${result.downloadConcurrency}`);
+      core17.debug(`Request timeout (ms): ${result.timeoutInMs}`);
+      core17.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`);
+      core17.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`);
+      core17.debug(`Lookup only: ${result.lookupOnly}`);
+      return result;
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/config.js
+var require_config = __commonJS({
+  "node_modules/@actions/cache/lib/internal/config.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isGhes = isGhes;
+    exports2.getCacheServiceVersion = getCacheServiceVersion;
+    exports2.getCacheServiceURL = getCacheServiceURL;
+    function isGhes() {
+      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
+      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
+      const isGitHubHost = hostname === "GITHUB.COM";
+      const isGheHost = hostname.endsWith(".GHE.COM");
+      const isLocalHost = hostname.endsWith(".LOCALHOST");
+      return !isGitHubHost && !isGheHost && !isLocalHost;
+    }
+    function getCacheServiceVersion() {
+      if (isGhes())
+        return "v1";
+      return process.env["ACTIONS_CACHE_SERVICE_V2"] ? "v2" : "v1";
+    }
+    function getCacheServiceURL() {
+      const version = getCacheServiceVersion();
+      switch (version) {
+        case "v1":
+          return process.env["ACTIONS_CACHE_URL"] || process.env["ACTIONS_RESULTS_URL"] || "";
+        case "v2":
+          return process.env["ACTIONS_RESULTS_URL"] || "";
+        default:
+          throw new Error(`Unsupported cache service version: ${version}`);
+      }
+    }
+  }
+});
+
+// node_modules/@actions/cache/package.json
+var require_package2 = __commonJS({
+  "node_modules/@actions/cache/package.json"(exports2, module2) {
+    module2.exports = {
+      name: "@actions/cache",
+      version: "5.0.5",
+      preview: true,
+      description: "Actions cache lib",
+      keywords: [
+        "github",
+        "actions",
+        "cache"
+      ],
+      homepage: "https://github.com/actions/toolkit/tree/main/packages/cache",
+      license: "MIT",
+      main: "lib/cache.js",
+      types: "lib/cache.d.ts",
+      directories: {
+        lib: "lib",
+        test: "__tests__"
+      },
+      files: [
+        "lib",
+        "!.DS_Store"
+      ],
+      publishConfig: {
+        access: "public"
+      },
+      repository: {
+        type: "git",
+        url: "git+https://github.com/actions/toolkit.git",
+        directory: "packages/cache"
+      },
+      scripts: {
+        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
+        test: 'echo "Error: run tests from root" && exit 1',
+        tsc: "tsc"
+      },
+      bugs: {
+        url: "https://github.com/actions/toolkit/issues"
+      },
+      dependencies: {
+        "@actions/core": "^2.0.0",
+        "@actions/exec": "^2.0.0",
+        "@actions/glob": "^0.5.1",
+        "@protobuf-ts/runtime-rpc": "^2.11.1",
+        "@actions/http-client": "^3.0.2",
+        "@actions/io": "^2.0.0",
+        "@azure/abort-controller": "^1.1.0",
+        "@azure/core-rest-pipeline": "^1.22.0",
+        "@azure/storage-blob": "^12.29.1",
+        semver: "^6.3.1"
+      },
+      devDependencies: {
+        "@types/node": "^24.1.0",
+        "@types/semver": "^6.0.0",
+        "@protobuf-ts/plugin": "^2.9.4",
+        typescript: "^5.2.2"
+      },
+      overrides: {
+        "uri-js": "npm:uri-js-replace@^1.0.1",
+        "node-fetch": "^3.3.2"
+      }
+    };
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/shared/user-agent.js
+var require_user_agent = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/user-agent.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentString = getUserAgentString;
+    var packageJson = require_package2();
+    function getUserAgentString() {
+      return `@actions/cache-${packageJson.version}`;
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/cacheHttpClient.js
+var require_cacheHttpClient = __commonJS({
+  "node_modules/@actions/cache/lib/internal/cacheHttpClient.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getCacheEntry = getCacheEntry;
+    exports2.downloadCache = downloadCache;
+    exports2.reserveCache = reserveCache;
+    exports2.saveCache = saveCache4;
+    var core17 = __importStar2(require_core());
+    var http_client_1 = require_lib();
+    var auth_1 = require_auth();
+    var fs18 = __importStar2(require("fs"));
+    var url_1 = require("url");
+    var utils = __importStar2(require_cacheUtils());
+    var uploadUtils_1 = require_uploadUtils();
+    var downloadUtils_1 = require_downloadUtils();
+    var options_1 = require_options();
+    var requestUtils_1 = require_requestUtils();
+    var config_1 = require_config();
+    var user_agent_1 = require_user_agent();
+    function getCacheApiUrl(resource) {
+      const baseUrl = (0, config_1.getCacheServiceURL)();
+      if (!baseUrl) {
+        throw new Error("Cache Service Url not found, unable to restore cache.");
+      }
+      const url2 = `${baseUrl}_apis/artifactcache/${resource}`;
+      core17.debug(`Resource Url: ${url2}`);
+      return url2;
+    }
+    function createAcceptHeader(type2, apiVersion) {
+      return `${type2};api-version=${apiVersion}`;
+    }
+    function getRequestOptions() {
+      const requestOptions = {
+        headers: {
+          Accept: createAcceptHeader("application/json", "6.0-preview.1")
+        }
+      };
+      return requestOptions;
+    }
+    function createHttpClient() {
+      const token = process.env["ACTIONS_RUNTIME_TOKEN"] || "";
+      const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token);
+      return new http_client_1.HttpClient((0, user_agent_1.getUserAgentString)(), [bearerCredentialHandler], getRequestOptions());
+    }
+    function getCacheEntry(keys, paths, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const httpClient = createHttpClient();
+        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
+        const resource = `cache?keys=${encodeURIComponent(keys.join(","))}&version=${version}`;
+        const response = yield (0, requestUtils_1.retryTypedResponse)("getCacheEntry", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.getJson(getCacheApiUrl(resource));
+        }));
+        if (response.statusCode === 204) {
+          if (core17.isDebug()) {
+            yield printCachesListForDiagnostics(keys[0], httpClient, version);
+          }
+          return null;
+        }
+        if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) {
+          throw new Error(`Cache service responded with ${response.statusCode}`);
+        }
+        const cacheResult = response.result;
+        const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation;
+        if (!cacheDownloadUrl) {
+          throw new Error("Cache not found.");
+        }
+        core17.setSecret(cacheDownloadUrl);
+        core17.debug(`Cache Result:`);
+        core17.debug(JSON.stringify(cacheResult));
+        return cacheResult;
+      });
+    }
+    function printCachesListForDiagnostics(key, httpClient, version) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const resource = `caches?key=${encodeURIComponent(key)}`;
+        const response = yield (0, requestUtils_1.retryTypedResponse)("listCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.getJson(getCacheApiUrl(resource));
+        }));
+        if (response.statusCode === 200) {
+          const cacheListResult = response.result;
+          const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount;
+          if (totalCount && totalCount > 0) {
+            core17.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key 
+Other caches with similar key:`);
+            for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) {
+              core17.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`);
+            }
+          }
+        }
+      });
+    }
+    function downloadCache(archiveLocation, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const archiveUrl = new url_1.URL(archiveLocation);
+        const downloadOptions = (0, options_1.getDownloadOptions)(options);
+        if (archiveUrl.hostname.endsWith(".blob.core.windows.net")) {
+          if (downloadOptions.useAzureSdk) {
+            yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions);
+          } else if (downloadOptions.concurrentBlobDownloads) {
+            yield (0, downloadUtils_1.downloadCacheHttpClientConcurrent)(archiveLocation, archivePath, downloadOptions);
+          } else {
+            yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
+          }
+        } else {
+          yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
+        }
+      });
+    }
+    function reserveCache(key, paths, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const httpClient = createHttpClient();
+        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
+        const reserveCacheRequest = {
+          key,
+          version,
+          cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize
+        };
+        const response = yield (0, requestUtils_1.retryTypedResponse)("reserveCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.postJson(getCacheApiUrl("caches"), reserveCacheRequest);
+        }));
+        return response;
+      });
+    }
+    function getContentRange(start, end) {
+      return `bytes ${start}-${end}/*`;
+    }
+    function uploadChunk(httpClient, resourceUrl, openStream, start, end) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        core17.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`);
+        const additionalHeaders = {
+          "Content-Type": "application/octet-stream",
+          "Content-Range": getContentRange(start, end)
+        };
+        const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.sendStream("PATCH", resourceUrl, openStream(), additionalHeaders);
+        }));
+        if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) {
+          throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`);
+        }
+      });
+    }
+    function uploadFile(httpClient, cacheId, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const fileSize = utils.getArchiveFileSizeInBytes(archivePath);
+        const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
+        const fd = fs18.openSync(archivePath, "r");
+        const uploadOptions = (0, options_1.getUploadOptions)(options);
+        const concurrency = utils.assertDefined("uploadConcurrency", uploadOptions.uploadConcurrency);
+        const maxChunkSize = utils.assertDefined("uploadChunkSize", uploadOptions.uploadChunkSize);
+        const parallelUploads = [...new Array(concurrency).keys()];
+        core17.debug("Awaiting all uploads");
+        let offset = 0;
+        try {
+          yield Promise.all(parallelUploads.map(() => __awaiter2(this, void 0, void 0, function* () {
+            while (offset < fileSize) {
+              const chunkSize = Math.min(fileSize - offset, maxChunkSize);
+              const start = offset;
+              const end = offset + chunkSize - 1;
+              offset += maxChunkSize;
+              yield uploadChunk(httpClient, resourceUrl, () => fs18.createReadStream(archivePath, {
+                fd,
+                start,
+                end,
+                autoClose: false
+              }).on("error", (error3) => {
+                throw new Error(`Cache upload failed because file read failed with ${error3.message}`);
+              }), start, end);
+            }
+          })));
+        } finally {
+          fs18.closeSync(fd);
+        }
+        return;
+      });
+    }
+    function commitCache(httpClient, cacheId, filesize) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const commitCacheRequest = { size: filesize };
+        return yield (0, requestUtils_1.retryTypedResponse)("commitCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest);
+        }));
+      });
+    }
+    function saveCache4(cacheId, archivePath, signedUploadURL, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const uploadOptions = (0, options_1.getUploadOptions)(options);
+        if (uploadOptions.useAzureSdk) {
+          if (!signedUploadURL) {
+            throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");
+          }
+          yield (0, uploadUtils_1.uploadCacheArchiveSDK)(signedUploadURL, archivePath, options);
+        } else {
+          const httpClient = createHttpClient();
+          core17.debug("Upload cache");
+          yield uploadFile(httpClient, cacheId, archivePath, options);
+          core17.debug("Commiting cache");
+          const cacheSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core17.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
+          const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
+          if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) {
+            throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`);
+          }
+          core17.info("Cache saved successfully");
+        }
+      });
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js
+var require_json_typings = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isJsonObject = exports2.typeofJsonValue = void 0;
+    function typeofJsonValue(value) {
+      let t = typeof value;
+      if (t == "object") {
+        if (Array.isArray(value))
+          return "array";
+        if (value === null)
+          return "null";
+      }
+      return t;
+    }
+    exports2.typeofJsonValue = typeofJsonValue;
+    function isJsonObject(value) {
+      return value !== null && typeof value == "object" && !Array.isArray(value);
+    }
+    exports2.isJsonObject = isJsonObject;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js
+var require_base642 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.base64encode = exports2.base64decode = void 0;
+    var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
+    var decTable = [];
+    for (let i = 0; i < encTable.length; i++)
+      decTable[encTable[i].charCodeAt(0)] = i;
+    decTable["-".charCodeAt(0)] = encTable.indexOf("+");
+    decTable["_".charCodeAt(0)] = encTable.indexOf("/");
+    function base64decode(base64Str) {
+      let es = base64Str.length * 3 / 4;
+      if (base64Str[base64Str.length - 2] == "=")
+        es -= 2;
+      else if (base64Str[base64Str.length - 1] == "=")
+        es -= 1;
+      let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0;
+      for (let i = 0; i < base64Str.length; i++) {
+        b = decTable[base64Str.charCodeAt(i)];
+        if (b === void 0) {
+          switch (base64Str[i]) {
+            case "=":
+              groupPos = 0;
+            // reset state when padding found
+            case "\n":
+            case "\r":
+            case "	":
+            case " ":
+              continue;
+            // skip white-space, and padding
+            default:
+              throw Error(`invalid base64 string.`);
+          }
+        }
+        switch (groupPos) {
+          case 0:
+            p = b;
+            groupPos = 1;
+            break;
+          case 1:
+            bytes[bytePos++] = p << 2 | (b & 48) >> 4;
+            p = b;
+            groupPos = 2;
+            break;
+          case 2:
+            bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2;
+            p = b;
+            groupPos = 3;
+            break;
+          case 3:
+            bytes[bytePos++] = (p & 3) << 6 | b;
+            groupPos = 0;
+            break;
+        }
+      }
+      if (groupPos == 1)
+        throw Error(`invalid base64 string.`);
+      return bytes.subarray(0, bytePos);
+    }
+    exports2.base64decode = base64decode;
+    function base64encode(bytes) {
+      let base64 = "", groupPos = 0, b, p = 0;
+      for (let i = 0; i < bytes.length; i++) {
+        b = bytes[i];
+        switch (groupPos) {
+          case 0:
+            base64 += encTable[b >> 2];
+            p = (b & 3) << 4;
+            groupPos = 1;
+            break;
+          case 1:
+            base64 += encTable[p | b >> 4];
+            p = (b & 15) << 2;
+            groupPos = 2;
+            break;
+          case 2:
+            base64 += encTable[p | b >> 6];
+            base64 += encTable[b & 63];
+            groupPos = 0;
+            break;
+        }
+      }
+      if (groupPos) {
+        base64 += encTable[p];
+        base64 += "=";
+        if (groupPos == 1)
+          base64 += "=";
+      }
+      return base64;
+    }
+    exports2.base64encode = base64encode;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js
+var require_protobufjs_utf8 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.utf8read = void 0;
+    var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk);
+    function utf8read(bytes) {
+      if (bytes.length < 1)
+        return "";
+      let pos = 0, parts = [], chunk = [], i = 0, t;
+      let len = bytes.length;
+      while (pos < len) {
+        t = bytes[pos++];
+        if (t < 128)
+          chunk[i++] = t;
+        else if (t > 191 && t < 224)
+          chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63;
+        else if (t > 239 && t < 365) {
+          t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536;
+          chunk[i++] = 55296 + (t >> 10);
+          chunk[i++] = 56320 + (t & 1023);
+        } else
+          chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63;
+        if (i > 8191) {
+          parts.push(fromCharCodes(chunk));
+          i = 0;
+        }
+      }
+      if (parts.length) {
+        if (i)
+          parts.push(fromCharCodes(chunk.slice(0, i)));
+        return parts.join("");
+      }
+      return fromCharCodes(chunk.slice(0, i));
+    }
+    exports2.utf8read = utf8read;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js
+var require_binary_format_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
+    var UnknownFieldHandler;
+    (function(UnknownFieldHandler2) {
+      UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
+      UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
+        let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
+        container.push({ no: fieldNo, wireType, data });
+      };
+      UnknownFieldHandler2.onWrite = (typeName, message, writer) => {
+        for (let { no, wireType, data } of UnknownFieldHandler2.list(message))
+          writer.tag(no, wireType).raw(data);
+      };
+      UnknownFieldHandler2.list = (message, fieldNo) => {
+        if (is(message)) {
+          let all = message[UnknownFieldHandler2.symbol];
+          return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all;
+        }
+        return [];
+      };
+      UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0];
+      const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]);
+    })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {}));
+    function mergeBinaryOptions(a, b) {
+      return Object.assign(Object.assign({}, a), b);
+    }
+    exports2.mergeBinaryOptions = mergeBinaryOptions;
+    var WireType;
+    (function(WireType2) {
+      WireType2[WireType2["Varint"] = 0] = "Varint";
+      WireType2[WireType2["Bit64"] = 1] = "Bit64";
+      WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited";
+      WireType2[WireType2["StartGroup"] = 3] = "StartGroup";
+      WireType2[WireType2["EndGroup"] = 4] = "EndGroup";
+      WireType2[WireType2["Bit32"] = 5] = "Bit32";
+    })(WireType = exports2.WireType || (exports2.WireType = {}));
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js
+var require_goog_varint = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0;
+    function varint64read() {
+      let lowBits = 0;
+      let highBits = 0;
+      for (let shift = 0; shift < 28; shift += 7) {
+        let b = this.buf[this.pos++];
+        lowBits |= (b & 127) << shift;
+        if ((b & 128) == 0) {
+          this.assertBounds();
+          return [lowBits, highBits];
+        }
+      }
+      let middleByte = this.buf[this.pos++];
+      lowBits |= (middleByte & 15) << 28;
+      highBits = (middleByte & 112) >> 4;
+      if ((middleByte & 128) == 0) {
+        this.assertBounds();
+        return [lowBits, highBits];
+      }
+      for (let shift = 3; shift <= 31; shift += 7) {
+        let b = this.buf[this.pos++];
+        highBits |= (b & 127) << shift;
+        if ((b & 128) == 0) {
+          this.assertBounds();
+          return [lowBits, highBits];
+        }
+      }
+      throw new Error("invalid varint");
+    }
+    exports2.varint64read = varint64read;
+    function varint64write(lo, hi, bytes) {
+      for (let i = 0; i < 28; i = i + 7) {
+        const shift = lo >>> i;
+        const hasNext = !(shift >>> 7 == 0 && hi == 0);
+        const byte = (hasNext ? shift | 128 : shift) & 255;
+        bytes.push(byte);
+        if (!hasNext) {
+          return;
+        }
+      }
+      const splitBits = lo >>> 28 & 15 | (hi & 7) << 4;
+      const hasMoreBits = !(hi >> 3 == 0);
+      bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255);
+      if (!hasMoreBits) {
+        return;
+      }
+      for (let i = 3; i < 31; i = i + 7) {
+        const shift = hi >>> i;
+        const hasNext = !(shift >>> 7 == 0);
+        const byte = (hasNext ? shift | 128 : shift) & 255;
+        bytes.push(byte);
+        if (!hasNext) {
+          return;
+        }
+      }
+      bytes.push(hi >>> 31 & 1);
+    }
+    exports2.varint64write = varint64write;
+    var TWO_PWR_32_DBL2 = (1 << 16) * (1 << 16);
+    function int64fromString(dec) {
+      let minus = dec[0] == "-";
+      if (minus)
+        dec = dec.slice(1);
+      const base = 1e6;
+      let lowBits = 0;
+      let highBits = 0;
+      function add1e6digit(begin, end) {
+        const digit1e6 = Number(dec.slice(begin, end));
+        highBits *= base;
+        lowBits = lowBits * base + digit1e6;
+        if (lowBits >= TWO_PWR_32_DBL2) {
+          highBits = highBits + (lowBits / TWO_PWR_32_DBL2 | 0);
+          lowBits = lowBits % TWO_PWR_32_DBL2;
+        }
+      }
+      add1e6digit(-24, -18);
+      add1e6digit(-18, -12);
+      add1e6digit(-12, -6);
+      add1e6digit(-6);
+      return [minus, lowBits, highBits];
+    }
+    exports2.int64fromString = int64fromString;
+    function int64toString(bitsLow, bitsHigh) {
+      if (bitsHigh >>> 0 <= 2097151) {
+        return "" + (TWO_PWR_32_DBL2 * bitsHigh + (bitsLow >>> 0));
+      }
+      let low = bitsLow & 16777215;
+      let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215;
+      let high = bitsHigh >> 16 & 65535;
+      let digitA = low + mid * 6777216 + high * 6710656;
+      let digitB = mid + high * 8147497;
+      let digitC = high * 2;
+      let base = 1e7;
+      if (digitA >= base) {
+        digitB += Math.floor(digitA / base);
+        digitA %= base;
+      }
+      if (digitB >= base) {
+        digitC += Math.floor(digitB / base);
+        digitB %= base;
+      }
+      function decimalFrom1e7(digit1e7, needLeadingZeros) {
+        let partial = digit1e7 ? String(digit1e7) : "";
+        if (needLeadingZeros) {
+          return "0000000".slice(partial.length) + partial;
+        }
+        return partial;
+      }
+      return decimalFrom1e7(
+        digitC,
+        /*needLeadingZeros=*/
+        0
+      ) + decimalFrom1e7(
+        digitB,
+        /*needLeadingZeros=*/
+        digitC
+      ) + // If the final 1e7 digit didn't need leading zeros, we would have
+      // returned via the trivial code path at the top.
+      decimalFrom1e7(
+        digitA,
+        /*needLeadingZeros=*/
+        1
+      );
+    }
+    exports2.int64toString = int64toString;
+    function varint32write(value, bytes) {
+      if (value >= 0) {
+        while (value > 127) {
+          bytes.push(value & 127 | 128);
+          value = value >>> 7;
+        }
+        bytes.push(value);
+      } else {
+        for (let i = 0; i < 9; i++) {
+          bytes.push(value & 127 | 128);
+          value = value >> 7;
+        }
+        bytes.push(1);
+      }
+    }
+    exports2.varint32write = varint32write;
+    function varint32read() {
+      let b = this.buf[this.pos++];
+      let result = b & 127;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 7;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 14;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 21;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 15) << 28;
+      for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++)
+        b = this.buf[this.pos++];
+      if ((b & 128) != 0)
+        throw new Error("invalid varint");
+      this.assertBounds();
+      return result >>> 0;
+    }
+    exports2.varint32read = varint32read;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js
+var require_pb_long = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0;
+    var goog_varint_1 = require_goog_varint();
+    var BI;
+    function detectBi() {
+      const dv = new DataView(new ArrayBuffer(8));
+      const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function";
+      BI = ok ? {
+        MIN: BigInt("-9223372036854775808"),
+        MAX: BigInt("9223372036854775807"),
+        UMIN: BigInt("0"),
+        UMAX: BigInt("18446744073709551615"),
+        C: BigInt,
+        V: dv
+      } : void 0;
+    }
+    exports2.detectBi = detectBi;
+    detectBi();
+    function assertBi(bi) {
+      if (!bi)
+        throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support");
+    }
+    var RE_DECIMAL_STR = /^-?[0-9]+$/;
+    var TWO_PWR_32_DBL2 = 4294967296;
+    var HALF_2_PWR_32 = 2147483648;
+    var SharedPbLong = class {
+      /**
+       * Create a new instance with the given bits.
+       */
+      constructor(lo, hi) {
+        this.lo = lo | 0;
+        this.hi = hi | 0;
+      }
+      /**
+       * Is this instance equal to 0?
+       */
+      isZero() {
+        return this.lo == 0 && this.hi == 0;
+      }
+      /**
+       * Convert to a native number.
+       */
+      toNumber() {
+        let result = this.hi * TWO_PWR_32_DBL2 + (this.lo >>> 0);
+        if (!Number.isSafeInteger(result))
+          throw new Error("cannot convert to safe number");
+        return result;
+      }
+    };
+    var PbULong = class _PbULong extends SharedPbLong {
+      /**
+       * Create instance from a `string`, `number` or `bigint`.
+       */
+      static from(value) {
+        if (BI)
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              if (value == "")
+                throw new Error("string is no integer");
+              value = BI.C(value);
+            case "number":
+              if (value === 0)
+                return this.ZERO;
+              value = BI.C(value);
+            case "bigint":
+              if (!value)
+                return this.ZERO;
+              if (value < BI.UMIN)
+                throw new Error("signed value for ulong");
+              if (value > BI.UMAX)
+                throw new Error("ulong too large");
+              BI.V.setBigUint64(0, value, true);
+              return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+          }
+        else
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              value = value.trim();
+              if (!RE_DECIMAL_STR.test(value))
+                throw new Error("string is no integer");
+              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
+              if (minus)
+                throw new Error("signed value for ulong");
+              return new _PbULong(lo, hi);
+            case "number":
+              if (value == 0)
+                return this.ZERO;
+              if (!Number.isSafeInteger(value))
+                throw new Error("number is no integer");
+              if (value < 0)
+                throw new Error("signed value for ulong");
+              return new _PbULong(value, value / TWO_PWR_32_DBL2);
+          }
+        throw new Error("unknown value " + typeof value);
+      }
+      /**
+       * Convert to decimal string.
+       */
+      toString() {
+        return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi);
+      }
+      /**
+       * Convert to native bigint.
+       */
+      toBigInt() {
+        assertBi(BI);
+        BI.V.setInt32(0, this.lo, true);
+        BI.V.setInt32(4, this.hi, true);
+        return BI.V.getBigUint64(0, true);
+      }
+    };
+    exports2.PbULong = PbULong;
+    PbULong.ZERO = new PbULong(0, 0);
+    var PbLong = class _PbLong extends SharedPbLong {
+      /**
+       * Create instance from a `string`, `number` or `bigint`.
+       */
+      static from(value) {
+        if (BI)
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              if (value == "")
+                throw new Error("string is no integer");
+              value = BI.C(value);
+            case "number":
+              if (value === 0)
+                return this.ZERO;
+              value = BI.C(value);
+            case "bigint":
+              if (!value)
+                return this.ZERO;
+              if (value < BI.MIN)
+                throw new Error("signed long too small");
+              if (value > BI.MAX)
+                throw new Error("signed long too large");
+              BI.V.setBigInt64(0, value, true);
+              return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+          }
+        else
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              value = value.trim();
+              if (!RE_DECIMAL_STR.test(value))
+                throw new Error("string is no integer");
+              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
+              if (minus) {
+                if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0)
+                  throw new Error("signed long too small");
+              } else if (hi >= HALF_2_PWR_32)
+                throw new Error("signed long too large");
+              let pbl = new _PbLong(lo, hi);
+              return minus ? pbl.negate() : pbl;
+            case "number":
+              if (value == 0)
+                return this.ZERO;
+              if (!Number.isSafeInteger(value))
+                throw new Error("number is no integer");
+              return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL2) : new _PbLong(-value, -value / TWO_PWR_32_DBL2).negate();
+          }
+        throw new Error("unknown value " + typeof value);
+      }
+      /**
+       * Do we have a minus sign?
+       */
+      isNegative() {
+        return (this.hi & HALF_2_PWR_32) !== 0;
+      }
+      /**
+       * Negate two's complement.
+       * Invert all the bits and add one to the result.
+       */
+      negate() {
+        let hi = ~this.hi, lo = this.lo;
+        if (lo)
+          lo = ~lo + 1;
+        else
+          hi += 1;
+        return new _PbLong(lo, hi);
+      }
+      /**
+       * Convert to decimal string.
+       */
+      toString() {
+        if (BI)
+          return this.toBigInt().toString();
+        if (this.isNegative()) {
+          let n = this.negate();
+          return "-" + goog_varint_1.int64toString(n.lo, n.hi);
+        }
+        return goog_varint_1.int64toString(this.lo, this.hi);
+      }
+      /**
+       * Convert to native bigint.
+       */
+      toBigInt() {
+        assertBi(BI);
+        BI.V.setInt32(0, this.lo, true);
+        BI.V.setInt32(4, this.hi, true);
+        return BI.V.getBigInt64(0, true);
+      }
+    };
+    exports2.PbLong = PbLong;
+    PbLong.ZERO = new PbLong(0, 0);
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js
+var require_binary_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BinaryReader = exports2.binaryReadOptions = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var pb_long_1 = require_pb_long();
+    var goog_varint_1 = require_goog_varint();
+    var defaultsRead = {
+      readUnknownField: true,
+      readerFactory: (bytes) => new BinaryReader(bytes)
+    };
+    function binaryReadOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    }
+    exports2.binaryReadOptions = binaryReadOptions;
+    var BinaryReader = class {
+      constructor(buf, textDecoder) {
+        this.varint64 = goog_varint_1.varint64read;
+        this.uint32 = goog_varint_1.varint32read;
+        this.buf = buf;
+        this.len = buf.length;
+        this.pos = 0;
+        this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
+        this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", {
+          fatal: true,
+          ignoreBOM: true
+        });
+      }
+      /**
+       * Reads a tag - field number and wire type.
+       */
+      tag() {
+        let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;
+        if (fieldNo <= 0 || wireType < 0 || wireType > 5)
+          throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType);
+        return [fieldNo, wireType];
+      }
+      /**
+       * Skip one element on the wire and return the skipped data.
+       * Supports WireType.StartGroup since v2.0.0-alpha.23.
+       */
+      skip(wireType) {
+        let start = this.pos;
+        switch (wireType) {
+          case binary_format_contract_1.WireType.Varint:
+            while (this.buf[this.pos++] & 128) {
+            }
+            break;
+          case binary_format_contract_1.WireType.Bit64:
+            this.pos += 4;
+          case binary_format_contract_1.WireType.Bit32:
+            this.pos += 4;
+            break;
+          case binary_format_contract_1.WireType.LengthDelimited:
+            let len = this.uint32();
+            this.pos += len;
+            break;
+          case binary_format_contract_1.WireType.StartGroup:
+            let t;
+            while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) {
+              this.skip(t);
+            }
+            break;
+          default:
+            throw new Error("cant skip wire type " + wireType);
+        }
+        this.assertBounds();
+        return this.buf.subarray(start, this.pos);
+      }
+      /**
+       * Throws error if position in byte array is out of range.
+       */
+      assertBounds() {
+        if (this.pos > this.len)
+          throw new RangeError("premature EOF");
+      }
+      /**
+       * Read a `int32` field, a signed 32 bit varint.
+       */
+      int32() {
+        return this.uint32() | 0;
+      }
+      /**
+       * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.
+       */
+      sint32() {
+        let zze = this.uint32();
+        return zze >>> 1 ^ -(zze & 1);
+      }
+      /**
+       * Read a `int64` field, a signed 64-bit varint.
+       */
+      int64() {
+        return new pb_long_1.PbLong(...this.varint64());
+      }
+      /**
+       * Read a `uint64` field, an unsigned 64-bit varint.
+       */
+      uint64() {
+        return new pb_long_1.PbULong(...this.varint64());
+      }
+      /**
+       * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.
+       */
+      sint64() {
+        let [lo, hi] = this.varint64();
+        let s = -(lo & 1);
+        lo = (lo >>> 1 | (hi & 1) << 31) ^ s;
+        hi = hi >>> 1 ^ s;
+        return new pb_long_1.PbLong(lo, hi);
+      }
+      /**
+       * Read a `bool` field, a variant.
+       */
+      bool() {
+        let [lo, hi] = this.varint64();
+        return lo !== 0 || hi !== 0;
+      }
+      /**
+       * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.
+       */
+      fixed32() {
+        return this.view.getUint32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.
+       */
+      sfixed32() {
+        return this.view.getInt32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.
+       */
+      fixed64() {
+        return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32());
+      }
+      /**
+       * Read a `fixed64` field, a signed, fixed-length 64-bit integer.
+       */
+      sfixed64() {
+        return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32());
+      }
+      /**
+       * Read a `float` field, 32-bit floating point number.
+       */
+      float() {
+        return this.view.getFloat32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `double` field, a 64-bit floating point number.
+       */
+      double() {
+        return this.view.getFloat64((this.pos += 8) - 8, true);
+      }
+      /**
+       * Read a `bytes` field, length-delimited arbitrary data.
+       */
+      bytes() {
+        let len = this.uint32();
+        let start = this.pos;
+        this.pos += len;
+        this.assertBounds();
+        return this.buf.subarray(start, start + len);
+      }
+      /**
+       * Read a `string` field, length-delimited data converted to UTF-8 text.
+       */
+      string() {
+        return this.textDecoder.decode(this.bytes());
+      }
+    };
+    exports2.BinaryReader = BinaryReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js
+var require_assert = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0;
+    function assert(condition, msg) {
+      if (!condition) {
+        throw new Error(msg);
+      }
+    }
+    exports2.assert = assert;
+    function assertNever2(value, msg) {
+      throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value);
+    }
+    exports2.assertNever = assertNever2;
+    var FLOAT32_MAX = 34028234663852886e22;
+    var FLOAT32_MIN = -34028234663852886e22;
+    var UINT32_MAX = 4294967295;
+    var INT32_MAX = 2147483647;
+    var INT32_MIN = -2147483648;
+    function assertInt32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid int 32: " + typeof arg);
+      if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)
+        throw new Error("invalid int 32: " + arg);
+    }
+    exports2.assertInt32 = assertInt32;
+    function assertUInt32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid uint 32: " + typeof arg);
+      if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)
+        throw new Error("invalid uint 32: " + arg);
+    }
+    exports2.assertUInt32 = assertUInt32;
+    function assertFloat32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid float 32: " + typeof arg);
+      if (!Number.isFinite(arg))
+        return;
+      if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)
+        throw new Error("invalid float 32: " + arg);
+    }
+    exports2.assertFloat32 = assertFloat32;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js
+var require_binary_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BinaryWriter = exports2.binaryWriteOptions = void 0;
+    var pb_long_1 = require_pb_long();
+    var goog_varint_1 = require_goog_varint();
+    var assert_1 = require_assert();
+    var defaultsWrite = {
+      writeUnknownFields: true,
+      writerFactory: () => new BinaryWriter()
+    };
+    function binaryWriteOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    }
+    exports2.binaryWriteOptions = binaryWriteOptions;
+    var BinaryWriter = class {
+      constructor(textEncoder) {
+        this.stack = [];
+        this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();
+        this.chunks = [];
+        this.buf = [];
+      }
+      /**
+       * Return all bytes written and reset this writer.
+       */
+      finish() {
+        this.chunks.push(new Uint8Array(this.buf));
+        let len = 0;
+        for (let i = 0; i < this.chunks.length; i++)
+          len += this.chunks[i].length;
+        let bytes = new Uint8Array(len);
+        let offset = 0;
+        for (let i = 0; i < this.chunks.length; i++) {
+          bytes.set(this.chunks[i], offset);
+          offset += this.chunks[i].length;
+        }
+        this.chunks = [];
+        return bytes;
+      }
+      /**
+       * Start a new fork for length-delimited data like a message
+       * or a packed repeated field.
+       *
+       * Must be joined later with `join()`.
+       */
+      fork() {
+        this.stack.push({ chunks: this.chunks, buf: this.buf });
+        this.chunks = [];
+        this.buf = [];
+        return this;
+      }
+      /**
+       * Join the last fork. Write its length and bytes, then
+       * return to the previous state.
+       */
+      join() {
+        let chunk = this.finish();
+        let prev = this.stack.pop();
+        if (!prev)
+          throw new Error("invalid state, fork stack empty");
+        this.chunks = prev.chunks;
+        this.buf = prev.buf;
+        this.uint32(chunk.byteLength);
+        return this.raw(chunk);
+      }
+      /**
+       * Writes a tag (field number and wire type).
+       *
+       * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.
+       *
+       * Generated code should compute the tag ahead of time and call `uint32()`.
+       */
+      tag(fieldNo, type2) {
+        return this.uint32((fieldNo << 3 | type2) >>> 0);
+      }
+      /**
+       * Write a chunk of raw bytes.
+       */
+      raw(chunk) {
+        if (this.buf.length) {
+          this.chunks.push(new Uint8Array(this.buf));
+          this.buf = [];
+        }
+        this.chunks.push(chunk);
+        return this;
+      }
+      /**
+       * Write a `uint32` value, an unsigned 32 bit varint.
+       */
+      uint32(value) {
+        assert_1.assertUInt32(value);
+        while (value > 127) {
+          this.buf.push(value & 127 | 128);
+          value = value >>> 7;
+        }
+        this.buf.push(value);
+        return this;
+      }
+      /**
+       * Write a `int32` value, a signed 32 bit varint.
+       */
+      int32(value) {
+        assert_1.assertInt32(value);
+        goog_varint_1.varint32write(value, this.buf);
+        return this;
+      }
+      /**
+       * Write a `bool` value, a variant.
+       */
+      bool(value) {
+        this.buf.push(value ? 1 : 0);
+        return this;
+      }
+      /**
+       * Write a `bytes` value, length-delimited arbitrary data.
+       */
+      bytes(value) {
+        this.uint32(value.byteLength);
+        return this.raw(value);
+      }
+      /**
+       * Write a `string` value, length-delimited data converted to UTF-8 text.
+       */
+      string(value) {
+        let chunk = this.textEncoder.encode(value);
+        this.uint32(chunk.byteLength);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `float` value, 32-bit floating point number.
+       */
+      float(value) {
+        assert_1.assertFloat32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setFloat32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `double` value, a 64-bit floating point number.
+       */
+      double(value) {
+        let chunk = new Uint8Array(8);
+        new DataView(chunk.buffer).setFloat64(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
+       */
+      fixed32(value) {
+        assert_1.assertUInt32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setUint32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
+       */
+      sfixed32(value) {
+        assert_1.assertInt32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setInt32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
+       */
+      sint32(value) {
+        assert_1.assertInt32(value);
+        value = (value << 1 ^ value >> 31) >>> 0;
+        goog_varint_1.varint32write(value, this.buf);
+        return this;
+      }
+      /**
+       * Write a `fixed64` value, a signed, fixed-length 64-bit integer.
+       */
+      sfixed64(value) {
+        let chunk = new Uint8Array(8);
+        let view = new DataView(chunk.buffer);
+        let long = pb_long_1.PbLong.from(value);
+        view.setInt32(0, long.lo, true);
+        view.setInt32(4, long.hi, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.
+       */
+      fixed64(value) {
+        let chunk = new Uint8Array(8);
+        let view = new DataView(chunk.buffer);
+        let long = pb_long_1.PbULong.from(value);
+        view.setInt32(0, long.lo, true);
+        view.setInt32(4, long.hi, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `int64` value, a signed 64-bit varint.
+       */
+      int64(value) {
+        let long = pb_long_1.PbLong.from(value);
+        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
+        return this;
+      }
+      /**
+       * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.
+       */
+      sint64(value) {
+        let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign;
+        goog_varint_1.varint64write(lo, hi, this.buf);
+        return this;
+      }
+      /**
+       * Write a `uint64` value, an unsigned 64-bit varint.
+       */
+      uint64(value) {
+        let long = pb_long_1.PbULong.from(value);
+        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
+        return this;
+      }
+    };
+    exports2.BinaryWriter = BinaryWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js
+var require_json_format_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0;
+    var defaultsWrite = {
+      emitDefaultValues: false,
+      enumAsInteger: false,
+      useProtoFieldName: false,
+      prettySpaces: 0
+    };
+    var defaultsRead = {
+      ignoreUnknownFields: false
+    };
+    function jsonReadOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    }
+    exports2.jsonReadOptions = jsonReadOptions;
+    function jsonWriteOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    }
+    exports2.jsonWriteOptions = jsonWriteOptions;
+    function mergeJsonOptions(a, b) {
+      var _a, _b;
+      let c = Object.assign(Object.assign({}, a), b);
+      c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []];
+      return c;
+    }
+    exports2.mergeJsonOptions = mergeJsonOptions;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js
+var require_message_type_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MESSAGE_TYPE = void 0;
+    exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js
+var require_lower_camel_case = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.lowerCamelCase = void 0;
+    function lowerCamelCase(snakeCase) {
+      let capNext = false;
+      const sb = [];
+      for (let i = 0; i < snakeCase.length; i++) {
+        let next = snakeCase.charAt(i);
+        if (next == "_") {
+          capNext = true;
+        } else if (/\d/.test(next)) {
+          sb.push(next);
+          capNext = true;
+        } else if (capNext) {
+          sb.push(next.toUpperCase());
+          capNext = false;
+        } else if (i == 0) {
+          sb.push(next.toLowerCase());
+        } else {
+          sb.push(next);
+        }
+      }
+      return sb.join("");
+    }
+    exports2.lowerCamelCase = lowerCamelCase;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js
+var require_reflection_info = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0;
+    var lower_camel_case_1 = require_lower_camel_case();
+    var ScalarType;
+    (function(ScalarType2) {
+      ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE";
+      ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT";
+      ScalarType2[ScalarType2["INT64"] = 3] = "INT64";
+      ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64";
+      ScalarType2[ScalarType2["INT32"] = 5] = "INT32";
+      ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64";
+      ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32";
+      ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL";
+      ScalarType2[ScalarType2["STRING"] = 9] = "STRING";
+      ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES";
+      ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32";
+      ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32";
+      ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64";
+      ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32";
+      ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64";
+    })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {}));
+    var LongType;
+    (function(LongType2) {
+      LongType2[LongType2["BIGINT"] = 0] = "BIGINT";
+      LongType2[LongType2["STRING"] = 1] = "STRING";
+      LongType2[LongType2["NUMBER"] = 2] = "NUMBER";
+    })(LongType = exports2.LongType || (exports2.LongType = {}));
+    var RepeatType;
+    (function(RepeatType2) {
+      RepeatType2[RepeatType2["NO"] = 0] = "NO";
+      RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED";
+      RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED";
+    })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {}));
+    function normalizeFieldInfo(field) {
+      var _a, _b, _c, _d;
+      field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name);
+      field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name);
+      field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO;
+      field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message";
+      return field;
+    }
+    exports2.normalizeFieldInfo = normalizeFieldInfo;
+    function readFieldOptions(messageType, fieldName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
+      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    }
+    exports2.readFieldOptions = readFieldOptions;
+    function readFieldOption(messageType, fieldName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readFieldOption = readFieldOption;
+    function readMessageOption(messageType, extensionName, extensionType) {
+      const options = messageType.options;
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readMessageOption = readMessageOption;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js
+var require_oneof = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0;
+    function isOneofGroup(any) {
+      if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) {
+        return false;
+      }
+      switch (typeof any.oneofKind) {
+        case "string":
+          if (any[any.oneofKind] === void 0)
+            return false;
+          return Object.keys(any).length == 2;
+        case "undefined":
+          return Object.keys(any).length == 1;
+        default:
+          return false;
+      }
+    }
+    exports2.isOneofGroup = isOneofGroup;
+    function getOneofValue(oneof, kind) {
+      return oneof[kind];
+    }
+    exports2.getOneofValue = getOneofValue;
+    function setOneofValue(oneof, kind, value) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = kind;
+      if (value !== void 0) {
+        oneof[kind] = value;
+      }
+    }
+    exports2.setOneofValue = setOneofValue;
+    function setUnknownOneofValue(oneof, kind, value) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = kind;
+      if (value !== void 0 && kind !== void 0) {
+        oneof[kind] = value;
+      }
+    }
+    exports2.setUnknownOneofValue = setUnknownOneofValue;
+    function clearOneofValue(oneof) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = void 0;
+    }
+    exports2.clearOneofValue = clearOneofValue;
+    function getSelectedOneofValue(oneof) {
+      if (oneof.oneofKind === void 0) {
+        return void 0;
+      }
+      return oneof[oneof.oneofKind];
+    }
+    exports2.getSelectedOneofValue = getSelectedOneofValue;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js
+var require_reflection_type_check = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionTypeCheck = void 0;
+    var reflection_info_1 = require_reflection_info();
+    var oneof_1 = require_oneof();
+    var ReflectionTypeCheck = class {
+      constructor(info7) {
+        var _a;
+        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      }
+      prepare() {
+        if (this.data)
+          return;
+        const req = [], known = [], oneofs = [];
+        for (let field of this.fields) {
+          if (field.oneof) {
+            if (!oneofs.includes(field.oneof)) {
+              oneofs.push(field.oneof);
+              req.push(field.oneof);
+              known.push(field.oneof);
+            }
+          } else {
+            known.push(field.localName);
+            switch (field.kind) {
+              case "scalar":
+              case "enum":
+                if (!field.opt || field.repeat)
+                  req.push(field.localName);
+                break;
+              case "message":
+                if (field.repeat)
+                  req.push(field.localName);
+                break;
+              case "map":
+                req.push(field.localName);
+                break;
+            }
+          }
+        }
+        this.data = { req, known, oneofs: Object.values(oneofs) };
+      }
+      /**
+       * Is the argument a valid message as specified by the
+       * reflection information?
+       *
+       * Checks all field types recursively. The `depth`
+       * specifies how deep into the structure the check will be.
+       *
+       * With a depth of 0, only the presence of fields
+       * is checked.
+       *
+       * With a depth of 1 or more, the field types are checked.
+       *
+       * With a depth of 2 or more, the members of map, repeated
+       * and message fields are checked.
+       *
+       * Message fields will be checked recursively with depth - 1.
+       *
+       * The number of map entries / repeated values being checked
+       * is < depth.
+       */
+      is(message, depth, allowExcessProperties = false) {
+        if (depth < 0)
+          return true;
+        if (message === null || message === void 0 || typeof message != "object")
+          return false;
+        this.prepare();
+        let keys = Object.keys(message), data = this.data;
+        if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n)))
+          return false;
+        if (!allowExcessProperties) {
+          if (keys.some((k) => !data.known.includes(k)))
+            return false;
+        }
+        if (depth < 1) {
+          return true;
+        }
+        for (const name of data.oneofs) {
+          const group = message[name];
+          if (!oneof_1.isOneofGroup(group))
+            return false;
+          if (group.oneofKind === void 0)
+            continue;
+          const field = this.fields.find((f) => f.localName === group.oneofKind);
+          if (!field)
+            return false;
+          if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth))
+            return false;
+        }
+        for (const field of this.fields) {
+          if (field.oneof !== void 0)
+            continue;
+          if (!this.field(message[field.localName], field, allowExcessProperties, depth))
+            return false;
+        }
+        return true;
+      }
+      field(arg, field, allowExcessProperties, depth) {
+        let repeated = field.repeat;
+        switch (field.kind) {
+          case "scalar":
+            if (arg === void 0)
+              return field.opt;
+            if (repeated)
+              return this.scalars(arg, field.T, depth, field.L);
+            return this.scalar(arg, field.T, field.L);
+          case "enum":
+            if (arg === void 0)
+              return field.opt;
+            if (repeated)
+              return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth);
+            return this.scalar(arg, reflection_info_1.ScalarType.INT32);
+          case "message":
+            if (arg === void 0)
+              return true;
+            if (repeated)
+              return this.messages(arg, field.T(), allowExcessProperties, depth);
+            return this.message(arg, field.T(), allowExcessProperties, depth);
+          case "map":
+            if (typeof arg != "object" || arg === null)
+              return false;
+            if (depth < 2)
+              return true;
+            if (!this.mapKeys(arg, field.K, depth))
+              return false;
+            switch (field.V.kind) {
+              case "scalar":
+                return this.scalars(Object.values(arg), field.V.T, depth, field.V.L);
+              case "enum":
+                return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth);
+              case "message":
+                return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth);
+            }
+            break;
+        }
+        return true;
+      }
+      message(arg, type2, allowExcessProperties, depth) {
+        if (allowExcessProperties) {
+          return type2.isAssignable(arg, depth);
+        }
+        return type2.is(arg, depth);
+      }
+      messages(arg, type2, allowExcessProperties, depth) {
+        if (!Array.isArray(arg))
+          return false;
+        if (depth < 2)
+          return true;
+        if (allowExcessProperties) {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!type2.isAssignable(arg[i], depth - 1))
+              return false;
+        } else {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!type2.is(arg[i], depth - 1))
+              return false;
+        }
+        return true;
+      }
+      scalar(arg, type2, longType) {
+        let argType = typeof arg;
+        switch (type2) {
+          case reflection_info_1.ScalarType.UINT64:
+          case reflection_info_1.ScalarType.FIXED64:
+          case reflection_info_1.ScalarType.INT64:
+          case reflection_info_1.ScalarType.SFIXED64:
+          case reflection_info_1.ScalarType.SINT64:
+            switch (longType) {
+              case reflection_info_1.LongType.BIGINT:
+                return argType == "bigint";
+              case reflection_info_1.LongType.NUMBER:
+                return argType == "number" && !isNaN(arg);
+              default:
+                return argType == "string";
+            }
+          case reflection_info_1.ScalarType.BOOL:
+            return argType == "boolean";
+          case reflection_info_1.ScalarType.STRING:
+            return argType == "string";
+          case reflection_info_1.ScalarType.BYTES:
+            return arg instanceof Uint8Array;
+          case reflection_info_1.ScalarType.DOUBLE:
+          case reflection_info_1.ScalarType.FLOAT:
+            return argType == "number" && !isNaN(arg);
+          default:
+            return argType == "number" && Number.isInteger(arg);
+        }
+      }
+      scalars(arg, type2, depth, longType) {
+        if (!Array.isArray(arg))
+          return false;
+        if (depth < 2)
+          return true;
+        if (Array.isArray(arg)) {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!this.scalar(arg[i], type2, longType))
+              return false;
+        }
+        return true;
+      }
+      mapKeys(map2, type2, depth) {
+        let keys = Object.keys(map2);
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+          case reflection_info_1.ScalarType.UINT32:
+            return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth);
+          case reflection_info_1.ScalarType.BOOL:
+            return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth);
+          default:
+            return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING);
+        }
+      }
+    };
+    exports2.ReflectionTypeCheck = ReflectionTypeCheck;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js
+var require_reflection_long_convert = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionLongConvert = void 0;
+    var reflection_info_1 = require_reflection_info();
+    function reflectionLongConvert(long, type2) {
+      switch (type2) {
+        case reflection_info_1.LongType.BIGINT:
+          return long.toBigInt();
+        case reflection_info_1.LongType.NUMBER:
+          return long.toNumber();
+        default:
+          return long.toString();
+      }
+    }
+    exports2.reflectionLongConvert = reflectionLongConvert;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js
+var require_reflection_json_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionJsonReader = void 0;
+    var json_typings_1 = require_json_typings();
+    var base64_1 = require_base642();
+    var reflection_info_1 = require_reflection_info();
+    var pb_long_1 = require_pb_long();
+    var assert_1 = require_assert();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var ReflectionJsonReader = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        var _a;
+        if (this.fMap === void 0) {
+          this.fMap = {};
+          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
+          for (const field of fieldsInput) {
+            this.fMap[field.name] = field;
+            this.fMap[field.jsonName] = field;
+            this.fMap[field.localName] = field;
+          }
+        }
+      }
+      // Cannot parse JSON  for #.
+      assert(condition, fieldName, jsonValue) {
+        if (!condition) {
+          let what = json_typings_1.typeofJsonValue(jsonValue);
+          if (what == "number" || what == "boolean")
+            what = jsonValue.toString();
+          throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`);
+        }
+      }
+      /**
+       * Reads a message from canonical JSON format into the target message.
+       *
+       * Repeated fields are appended. Map entries are added, overwriting
+       * existing keys.
+       *
+       * If a message field is already present, it will be merged with the
+       * new data.
+       */
+      read(input, message, options) {
+        this.prepare();
+        const oneofsHandled = [];
+        for (const [jsonKey, jsonValue] of Object.entries(input)) {
+          const field = this.fMap[jsonKey];
+          if (!field) {
+            if (!options.ignoreUnknownFields)
+              throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`);
+            continue;
+          }
+          const localName = field.localName;
+          let target;
+          if (field.oneof) {
+            if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) {
+              continue;
+            }
+            if (oneofsHandled.includes(field.oneof))
+              throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`);
+            oneofsHandled.push(field.oneof);
+            target = message[field.oneof] = {
+              oneofKind: localName
+            };
+          } else {
+            target = message;
+          }
+          if (field.kind == "map") {
+            if (jsonValue === null) {
+              continue;
+            }
+            this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue);
+            const fieldObj = target[localName];
+            for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) {
+              this.assert(jsonObjValue !== null, field.name + " map value", null);
+              let val;
+              switch (field.V.kind) {
+                case "message":
+                  val = field.V.T().internalJsonRead(jsonObjValue, options);
+                  break;
+                case "enum":
+                  val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields);
+                  if (val === false)
+                    continue;
+                  break;
+                case "scalar":
+                  val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name);
+                  break;
+              }
+              this.assert(val !== void 0, field.name + " map value", jsonObjValue);
+              let key = jsonObjKey;
+              if (field.K == reflection_info_1.ScalarType.BOOL)
+                key = key == "true" ? true : key == "false" ? false : key;
+              key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString();
+              fieldObj[key] = val;
+            }
+          } else if (field.repeat) {
+            if (jsonValue === null)
+              continue;
+            this.assert(Array.isArray(jsonValue), field.name, jsonValue);
+            const fieldArr = target[localName];
+            for (const jsonItem of jsonValue) {
+              this.assert(jsonItem !== null, field.name, null);
+              let val;
+              switch (field.kind) {
+                case "message":
+                  val = field.T().internalJsonRead(jsonItem, options);
+                  break;
+                case "enum":
+                  val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields);
+                  if (val === false)
+                    continue;
+                  break;
+                case "scalar":
+                  val = this.scalar(jsonItem, field.T, field.L, field.name);
+                  break;
+              }
+              this.assert(val !== void 0, field.name, jsonValue);
+              fieldArr.push(val);
+            }
+          } else {
+            switch (field.kind) {
+              case "message":
+                if (jsonValue === null && field.T().typeName != "google.protobuf.Value") {
+                  this.assert(field.oneof === void 0, field.name + " (oneof member)", null);
+                  continue;
+                }
+                target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]);
+                break;
+              case "enum":
+                if (jsonValue === null)
+                  continue;
+                let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields);
+                if (val === false)
+                  continue;
+                target[localName] = val;
+                break;
+              case "scalar":
+                if (jsonValue === null)
+                  continue;
+                target[localName] = this.scalar(jsonValue, field.T, field.L, field.name);
+                break;
+            }
+          }
+        }
+      }
+      /**
+       * Returns `false` for unrecognized string representations.
+       *
+       * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`).
+       */
+      enum(type2, json2, fieldName, ignoreUnknownFields) {
+        if (type2[0] == "google.protobuf.NullValue")
+          assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`);
+        if (json2 === null)
+          return 0;
+        switch (typeof json2) {
+          case "number":
+            assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`);
+            return json2;
+          case "string":
+            let localEnumName = json2;
+            if (type2[2] && json2.substring(0, type2[2].length) === type2[2])
+              localEnumName = json2.substring(type2[2].length);
+            let enumNumber = type2[1][localEnumName];
+            if (typeof enumNumber === "undefined" && ignoreUnknownFields) {
+              return false;
+            }
+            assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`);
+            return enumNumber;
+        }
+        assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`);
+      }
+      scalar(json2, type2, longType, fieldName) {
+        let e;
+        try {
+          switch (type2) {
+            // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
+            // Either numbers or strings are accepted. Exponent notation is also accepted.
+            case reflection_info_1.ScalarType.DOUBLE:
+            case reflection_info_1.ScalarType.FLOAT:
+              if (json2 === null)
+                return 0;
+              if (json2 === "NaN")
+                return Number.NaN;
+              if (json2 === "Infinity")
+                return Number.POSITIVE_INFINITY;
+              if (json2 === "-Infinity")
+                return Number.NEGATIVE_INFINITY;
+              if (json2 === "") {
+                e = "empty string";
+                break;
+              }
+              if (typeof json2 == "string" && json2.trim().length !== json2.length) {
+                e = "extra whitespace";
+                break;
+              }
+              if (typeof json2 != "string" && typeof json2 != "number") {
+                break;
+              }
+              let float2 = Number(json2);
+              if (Number.isNaN(float2)) {
+                e = "not a number";
+                break;
+              }
+              if (!Number.isFinite(float2)) {
+                e = "too large or small";
+                break;
+              }
+              if (type2 == reflection_info_1.ScalarType.FLOAT)
+                assert_1.assertFloat32(float2);
+              return float2;
+            // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
+            case reflection_info_1.ScalarType.INT32:
+            case reflection_info_1.ScalarType.FIXED32:
+            case reflection_info_1.ScalarType.SFIXED32:
+            case reflection_info_1.ScalarType.SINT32:
+            case reflection_info_1.ScalarType.UINT32:
+              if (json2 === null)
+                return 0;
+              let int32;
+              if (typeof json2 == "number")
+                int32 = json2;
+              else if (json2 === "")
+                e = "empty string";
+              else if (typeof json2 == "string") {
+                if (json2.trim().length !== json2.length)
+                  e = "extra whitespace";
+                else
+                  int32 = Number(json2);
+              }
+              if (int32 === void 0)
+                break;
+              if (type2 == reflection_info_1.ScalarType.UINT32)
+                assert_1.assertUInt32(int32);
+              else
+                assert_1.assertInt32(int32);
+              return int32;
+            // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.
+            case reflection_info_1.ScalarType.INT64:
+            case reflection_info_1.ScalarType.SFIXED64:
+            case reflection_info_1.ScalarType.SINT64:
+              if (json2 === null)
+                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
+              if (typeof json2 != "number" && typeof json2 != "string")
+                break;
+              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType);
+            case reflection_info_1.ScalarType.FIXED64:
+            case reflection_info_1.ScalarType.UINT64:
+              if (json2 === null)
+                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
+              if (typeof json2 != "number" && typeof json2 != "string")
+                break;
+              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType);
+            // bool:
+            case reflection_info_1.ScalarType.BOOL:
+              if (json2 === null)
+                return false;
+              if (typeof json2 !== "boolean")
+                break;
+              return json2;
+            // string:
+            case reflection_info_1.ScalarType.STRING:
+              if (json2 === null)
+                return "";
+              if (typeof json2 !== "string") {
+                e = "extra whitespace";
+                break;
+              }
+              try {
+                encodeURIComponent(json2);
+              } catch (e2) {
+                e2 = "invalid UTF8";
+                break;
+              }
+              return json2;
+            // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
+            // Either standard or URL-safe base64 encoding with/without paddings are accepted.
+            case reflection_info_1.ScalarType.BYTES:
+              if (json2 === null || json2 === "")
+                return new Uint8Array(0);
+              if (typeof json2 !== "string")
+                break;
+              return base64_1.base64decode(json2);
+          }
+        } catch (error3) {
+          e = error3.message;
+        }
+        this.assert(false, fieldName + (e ? " - " + e : ""), json2);
+      }
+    };
+    exports2.ReflectionJsonReader = ReflectionJsonReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js
+var require_reflection_json_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionJsonWriter = void 0;
+    var base64_1 = require_base642();
+    var pb_long_1 = require_pb_long();
+    var reflection_info_1 = require_reflection_info();
+    var assert_1 = require_assert();
+    var ReflectionJsonWriter = class {
+      constructor(info7) {
+        var _a;
+        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      }
+      /**
+       * Converts the message to a JSON object, based on the field descriptors.
+       */
+      write(message, options) {
+        const json2 = {}, source = message;
+        for (const field of this.fields) {
+          if (!field.oneof) {
+            let jsonValue2 = this.field(field, source[field.localName], options);
+            if (jsonValue2 !== void 0)
+              json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2;
+            continue;
+          }
+          const group = source[field.oneof];
+          if (group.oneofKind !== field.localName)
+            continue;
+          const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options;
+          let jsonValue = this.field(field, group[field.localName], opt);
+          assert_1.assert(jsonValue !== void 0);
+          json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue;
+        }
+        return json2;
+      }
+      field(field, value, options) {
+        let jsonValue = void 0;
+        if (field.kind == "map") {
+          assert_1.assert(typeof value == "object" && value !== null);
+          const jsonObj = {};
+          switch (field.V.kind) {
+            case "scalar":
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                const val = this.scalar(field.V.T, entryValue, field.name, false, true);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+            case "message":
+              const messageType = field.V.T();
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                const val = this.message(messageType, entryValue, field.name, options);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+            case "enum":
+              const enumInfo = field.V.T();
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                assert_1.assert(entryValue === void 0 || typeof entryValue == "number");
+                const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+          }
+          if (options.emitDefaultValues || Object.keys(jsonObj).length > 0)
+            jsonValue = jsonObj;
+        } else if (field.repeat) {
+          assert_1.assert(Array.isArray(value));
+          const jsonArr = [];
+          switch (field.kind) {
+            case "scalar":
+              for (let i = 0; i < value.length; i++) {
+                const val = this.scalar(field.T, value[i], field.name, field.opt, true);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+            case "enum":
+              const enumInfo = field.T();
+              for (let i = 0; i < value.length; i++) {
+                assert_1.assert(value[i] === void 0 || typeof value[i] == "number");
+                const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+            case "message":
+              const messageType = field.T();
+              for (let i = 0; i < value.length; i++) {
+                const val = this.message(messageType, value[i], field.name, options);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+          }
+          if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues)
+            jsonValue = jsonArr;
+        } else {
+          switch (field.kind) {
+            case "scalar":
+              jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues);
+              break;
+            case "enum":
+              jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger);
+              break;
+            case "message":
+              jsonValue = this.message(field.T(), value, field.name, options);
+              break;
+          }
+        }
+        return jsonValue;
+      }
+      /**
+       * Returns `null` as the default for google.protobuf.NullValue.
+       */
+      enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) {
+        if (type2[0] == "google.protobuf.NullValue")
+          return !emitDefaultValues && !optional ? void 0 : null;
+        if (value === void 0) {
+          assert_1.assert(optional);
+          return void 0;
+        }
+        if (value === 0 && !emitDefaultValues && !optional)
+          return void 0;
+        assert_1.assert(typeof value == "number");
+        assert_1.assert(Number.isInteger(value));
+        if (enumAsInteger || !type2[1].hasOwnProperty(value))
+          return value;
+        if (type2[2])
+          return type2[2] + type2[1][value];
+        return type2[1][value];
+      }
+      message(type2, value, fieldName, options) {
+        if (value === void 0)
+          return options.emitDefaultValues ? null : void 0;
+        return type2.internalJsonWrite(value, options);
+      }
+      scalar(type2, value, fieldName, optional, emitDefaultValues) {
+        if (value === void 0) {
+          assert_1.assert(optional);
+          return void 0;
+        }
+        const ed = emitDefaultValues || optional;
+        switch (type2) {
+          // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assertInt32(value);
+            return value;
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.UINT32:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assertUInt32(value);
+            return value;
+          // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
+          // Either numbers or strings are accepted. Exponent notation is also accepted.
+          case reflection_info_1.ScalarType.FLOAT:
+            assert_1.assertFloat32(value);
+          case reflection_info_1.ScalarType.DOUBLE:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assert(typeof value == "number");
+            if (Number.isNaN(value))
+              return "NaN";
+            if (value === Number.POSITIVE_INFINITY)
+              return "Infinity";
+            if (value === Number.NEGATIVE_INFINITY)
+              return "-Infinity";
+            return value;
+          // string:
+          case reflection_info_1.ScalarType.STRING:
+            if (value === "")
+              return ed ? "" : void 0;
+            assert_1.assert(typeof value == "string");
+            return value;
+          // bool:
+          case reflection_info_1.ScalarType.BOOL:
+            if (value === false)
+              return ed ? false : void 0;
+            assert_1.assert(typeof value == "boolean");
+            return value;
+          // JSON value will be a decimal string. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.UINT64:
+          case reflection_info_1.ScalarType.FIXED64:
+            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
+            let ulong = pb_long_1.PbULong.from(value);
+            if (ulong.isZero() && !ed)
+              return void 0;
+            return ulong.toString();
+          // JSON value will be a decimal string. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.INT64:
+          case reflection_info_1.ScalarType.SFIXED64:
+          case reflection_info_1.ScalarType.SINT64:
+            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
+            let long = pb_long_1.PbLong.from(value);
+            if (long.isZero() && !ed)
+              return void 0;
+            return long.toString();
+          // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
+          // Either standard or URL-safe base64 encoding with/without paddings are accepted.
+          case reflection_info_1.ScalarType.BYTES:
+            assert_1.assert(value instanceof Uint8Array);
+            if (!value.byteLength)
+              return ed ? "" : void 0;
+            return base64_1.base64encode(value);
+        }
+      }
+    };
+    exports2.ReflectionJsonWriter = ReflectionJsonWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js
+var require_reflection_scalar_default = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionScalarDefault = void 0;
+    var reflection_info_1 = require_reflection_info();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var pb_long_1 = require_pb_long();
+    function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) {
+      switch (type2) {
+        case reflection_info_1.ScalarType.BOOL:
+          return false;
+        case reflection_info_1.ScalarType.UINT64:
+        case reflection_info_1.ScalarType.FIXED64:
+          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
+        case reflection_info_1.ScalarType.INT64:
+        case reflection_info_1.ScalarType.SFIXED64:
+        case reflection_info_1.ScalarType.SINT64:
+          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
+        case reflection_info_1.ScalarType.DOUBLE:
+        case reflection_info_1.ScalarType.FLOAT:
+          return 0;
+        case reflection_info_1.ScalarType.BYTES:
+          return new Uint8Array(0);
+        case reflection_info_1.ScalarType.STRING:
+          return "";
+        default:
+          return 0;
+      }
+    }
+    exports2.reflectionScalarDefault = reflectionScalarDefault;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js
+var require_reflection_binary_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionBinaryReader = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var reflection_info_1 = require_reflection_info();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    var ReflectionBinaryReader = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        var _a;
+        if (!this.fieldNoToField) {
+          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
+          this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field]));
+        }
+      }
+      /**
+       * Reads a message from binary format into the target message.
+       *
+       * Repeated fields are appended. Map entries are added, overwriting
+       * existing keys.
+       *
+       * If a message field is already present, it will be merged with the
+       * new data.
+       */
+      read(reader, message, options, length) {
+        this.prepare();
+        const end = length === void 0 ? reader.len : reader.pos + length;
+        while (reader.pos < end) {
+          const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo);
+          if (!field) {
+            let u = options.readUnknownField;
+            if (u == "throw")
+              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`);
+            let d = reader.skip(wireType);
+            if (u !== false)
+              (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d);
+            continue;
+          }
+          let target = message, repeated = field.repeat, localName = field.localName;
+          if (field.oneof) {
+            target = target[field.oneof];
+            if (target.oneofKind !== localName)
+              target = message[field.oneof] = {
+                oneofKind: localName
+              };
+          }
+          switch (field.kind) {
+            case "scalar":
+            case "enum":
+              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+              let L = field.kind == "scalar" ? field.L : void 0;
+              if (repeated) {
+                let arr = target[localName];
+                if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) {
+                  let e = reader.uint32() + reader.pos;
+                  while (reader.pos < e)
+                    arr.push(this.scalar(reader, T, L));
+                } else
+                  arr.push(this.scalar(reader, T, L));
+              } else
+                target[localName] = this.scalar(reader, T, L);
+              break;
+            case "message":
+              if (repeated) {
+                let arr = target[localName];
+                let msg = field.T().internalBinaryRead(reader, reader.uint32(), options);
+                arr.push(msg);
+              } else
+                target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]);
+              break;
+            case "map":
+              let [mapKey, mapVal] = this.mapEntry(field, reader, options);
+              target[localName][mapKey] = mapVal;
+              break;
+          }
+        }
+      }
+      /**
+       * Read a map field, expecting key field = 1, value field = 2
+       */
+      mapEntry(field, reader, options) {
+        let length = reader.uint32();
+        let end = reader.pos + length;
+        let key = void 0;
+        let val = void 0;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case 1:
+              if (field.K == reflection_info_1.ScalarType.BOOL)
+                key = reader.bool().toString();
+              else
+                key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING);
+              break;
+            case 2:
+              switch (field.V.kind) {
+                case "scalar":
+                  val = this.scalar(reader, field.V.T, field.V.L);
+                  break;
+                case "enum":
+                  val = reader.int32();
+                  break;
+                case "message":
+                  val = field.V.T().internalBinaryRead(reader, reader.uint32(), options);
+                  break;
+              }
+              break;
+            default:
+              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`);
+          }
+        }
+        if (key === void 0) {
+          let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K);
+          key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw;
+        }
+        if (val === void 0)
+          switch (field.V.kind) {
+            case "scalar":
+              val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L);
+              break;
+            case "enum":
+              val = 0;
+              break;
+            case "message":
+              val = field.V.T().create();
+              break;
+          }
+        return [key, val];
+      }
+      scalar(reader, type2, longType) {
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+            return reader.int32();
+          case reflection_info_1.ScalarType.STRING:
+            return reader.string();
+          case reflection_info_1.ScalarType.BOOL:
+            return reader.bool();
+          case reflection_info_1.ScalarType.DOUBLE:
+            return reader.double();
+          case reflection_info_1.ScalarType.FLOAT:
+            return reader.float();
+          case reflection_info_1.ScalarType.INT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType);
+          case reflection_info_1.ScalarType.UINT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType);
+          case reflection_info_1.ScalarType.FIXED64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType);
+          case reflection_info_1.ScalarType.FIXED32:
+            return reader.fixed32();
+          case reflection_info_1.ScalarType.BYTES:
+            return reader.bytes();
+          case reflection_info_1.ScalarType.UINT32:
+            return reader.uint32();
+          case reflection_info_1.ScalarType.SFIXED32:
+            return reader.sfixed32();
+          case reflection_info_1.ScalarType.SFIXED64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType);
+          case reflection_info_1.ScalarType.SINT32:
+            return reader.sint32();
+          case reflection_info_1.ScalarType.SINT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType);
+        }
+      }
+    };
+    exports2.ReflectionBinaryReader = ReflectionBinaryReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js
+var require_reflection_binary_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionBinaryWriter = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var reflection_info_1 = require_reflection_info();
+    var assert_1 = require_assert();
+    var pb_long_1 = require_pb_long();
+    var ReflectionBinaryWriter = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        if (!this.fields) {
+          const fieldsInput = this.info.fields ? this.info.fields.concat() : [];
+          this.fields = fieldsInput.sort((a, b) => a.no - b.no);
+        }
+      }
+      /**
+       * Writes the message to binary format.
+       */
+      write(message, writer, options) {
+        this.prepare();
+        for (const field of this.fields) {
+          let value, emitDefault, repeated = field.repeat, localName = field.localName;
+          if (field.oneof) {
+            const group = message[field.oneof];
+            if (group.oneofKind !== localName)
+              continue;
+            value = group[localName];
+            emitDefault = true;
+          } else {
+            value = message[localName];
+            emitDefault = false;
+          }
+          switch (field.kind) {
+            case "scalar":
+            case "enum":
+              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+              if (repeated) {
+                assert_1.assert(Array.isArray(value));
+                if (repeated == reflection_info_1.RepeatType.PACKED)
+                  this.packed(writer, T, field.no, value);
+                else
+                  for (const item of value)
+                    this.scalar(writer, T, field.no, item, true);
+              } else if (value === void 0)
+                assert_1.assert(field.opt);
+              else
+                this.scalar(writer, T, field.no, value, emitDefault || field.opt);
+              break;
+            case "message":
+              if (repeated) {
+                assert_1.assert(Array.isArray(value));
+                for (const item of value)
+                  this.message(writer, options, field.T(), field.no, item);
+              } else {
+                this.message(writer, options, field.T(), field.no, value);
+              }
+              break;
+            case "map":
+              assert_1.assert(typeof value == "object" && value !== null);
+              for (const [key, val] of Object.entries(value))
+                this.mapEntry(writer, options, field, key, val);
+              break;
+          }
+        }
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer);
+      }
+      mapEntry(writer, options, field, key, value) {
+        writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited);
+        writer.fork();
+        let keyValue = key;
+        switch (field.K) {
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.UINT32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+            keyValue = Number.parseInt(key);
+            break;
+          case reflection_info_1.ScalarType.BOOL:
+            assert_1.assert(key == "true" || key == "false");
+            keyValue = key == "true";
+            break;
+        }
+        this.scalar(writer, field.K, 1, keyValue, true);
+        switch (field.V.kind) {
+          case "scalar":
+            this.scalar(writer, field.V.T, 2, value, true);
+            break;
+          case "enum":
+            this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true);
+            break;
+          case "message":
+            this.message(writer, options, field.V.T(), 2, value);
+            break;
+        }
+        writer.join();
+      }
+      message(writer, options, handler2, fieldNo, value) {
+        if (value === void 0)
+          return;
+        handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options);
+        writer.join();
+      }
+      /**
+       * Write a single scalar value.
+       */
+      scalar(writer, type2, fieldNo, value, emitDefault) {
+        let [wireType, method, isDefault] = this.scalarInfo(type2, value);
+        if (!isDefault || emitDefault) {
+          writer.tag(fieldNo, wireType);
+          writer[method](value);
+        }
+      }
+      /**
+       * Write an array of scalar values in packed format.
+       */
+      packed(writer, type2, fieldNo, value) {
+        if (!value.length)
+          return;
+        assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING);
+        writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited);
+        writer.fork();
+        let [, method] = this.scalarInfo(type2);
+        for (let i = 0; i < value.length; i++)
+          writer[method](value[i]);
+        writer.join();
+      }
+      /**
+       * Get information for writing a scalar value.
+       *
+       * Returns tuple:
+       * [0]: appropriate WireType
+       * [1]: name of the appropriate method of IBinaryWriter
+       * [2]: whether the given value is a default value
+       *
+       * If argument `value` is omitted, [2] is always false.
+       */
+      scalarInfo(type2, value) {
+        let t = binary_format_contract_1.WireType.Varint;
+        let m;
+        let i = value === void 0;
+        let d = value === 0;
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+            m = "int32";
+            break;
+          case reflection_info_1.ScalarType.STRING:
+            d = i || !value.length;
+            t = binary_format_contract_1.WireType.LengthDelimited;
+            m = "string";
+            break;
+          case reflection_info_1.ScalarType.BOOL:
+            d = value === false;
+            m = "bool";
+            break;
+          case reflection_info_1.ScalarType.UINT32:
+            m = "uint32";
+            break;
+          case reflection_info_1.ScalarType.DOUBLE:
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "double";
+            break;
+          case reflection_info_1.ScalarType.FLOAT:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "float";
+            break;
+          case reflection_info_1.ScalarType.INT64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            m = "int64";
+            break;
+          case reflection_info_1.ScalarType.UINT64:
+            d = i || pb_long_1.PbULong.from(value).isZero();
+            m = "uint64";
+            break;
+          case reflection_info_1.ScalarType.FIXED64:
+            d = i || pb_long_1.PbULong.from(value).isZero();
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "fixed64";
+            break;
+          case reflection_info_1.ScalarType.BYTES:
+            d = i || !value.byteLength;
+            t = binary_format_contract_1.WireType.LengthDelimited;
+            m = "bytes";
+            break;
+          case reflection_info_1.ScalarType.FIXED32:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "fixed32";
+            break;
+          case reflection_info_1.ScalarType.SFIXED32:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "sfixed32";
+            break;
+          case reflection_info_1.ScalarType.SFIXED64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "sfixed64";
+            break;
+          case reflection_info_1.ScalarType.SINT32:
+            m = "sint32";
+            break;
+          case reflection_info_1.ScalarType.SINT64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            m = "sint64";
+            break;
+        }
+        return [t, m, i || d];
+      }
+    };
+    exports2.ReflectionBinaryWriter = ReflectionBinaryWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js
+var require_reflection_create = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionCreate = void 0;
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    var message_type_contract_1 = require_message_type_contract();
+    function reflectionCreate(type2) {
+      const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 });
+      for (let field of type2.fields) {
+        let name = field.localName;
+        if (field.opt)
+          continue;
+        if (field.oneof)
+          msg[field.oneof] = { oneofKind: void 0 };
+        else if (field.repeat)
+          msg[name] = [];
+        else
+          switch (field.kind) {
+            case "scalar":
+              msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L);
+              break;
+            case "enum":
+              msg[name] = 0;
+              break;
+            case "map":
+              msg[name] = {};
+              break;
+          }
+      }
+      return msg;
+    }
+    exports2.reflectionCreate = reflectionCreate;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js
+var require_reflection_merge_partial = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionMergePartial = void 0;
+    function reflectionMergePartial(info7, target, source) {
+      let fieldValue, input = source, output;
+      for (let field of info7.fields) {
+        let name = field.localName;
+        if (field.oneof) {
+          const group = input[field.oneof];
+          if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) {
+            continue;
+          }
+          fieldValue = group[name];
+          output = target[field.oneof];
+          output.oneofKind = group.oneofKind;
+          if (fieldValue == void 0) {
+            delete output[name];
+            continue;
+          }
+        } else {
+          fieldValue = input[name];
+          output = target;
+          if (fieldValue == void 0) {
+            continue;
+          }
+        }
+        if (field.repeat)
+          output[name].length = fieldValue.length;
+        switch (field.kind) {
+          case "scalar":
+          case "enum":
+            if (field.repeat)
+              for (let i = 0; i < fieldValue.length; i++)
+                output[name][i] = fieldValue[i];
+            else
+              output[name] = fieldValue;
+            break;
+          case "message":
+            let T = field.T();
+            if (field.repeat)
+              for (let i = 0; i < fieldValue.length; i++)
+                output[name][i] = T.create(fieldValue[i]);
+            else if (output[name] === void 0)
+              output[name] = T.create(fieldValue);
+            else
+              T.mergePartial(output[name], fieldValue);
+            break;
+          case "map":
+            switch (field.V.kind) {
+              case "scalar":
+              case "enum":
+                Object.assign(output[name], fieldValue);
+                break;
+              case "message":
+                let T2 = field.V.T();
+                for (let k of Object.keys(fieldValue))
+                  output[name][k] = T2.create(fieldValue[k]);
+                break;
+            }
+            break;
+        }
+      }
+    }
+    exports2.reflectionMergePartial = reflectionMergePartial;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js
+var require_reflection_equals = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionEquals = void 0;
+    var reflection_info_1 = require_reflection_info();
+    function reflectionEquals(info7, a, b) {
+      if (a === b)
+        return true;
+      if (!a || !b)
+        return false;
+      for (let field of info7.fields) {
+        let localName = field.localName;
+        let val_a = field.oneof ? a[field.oneof][localName] : a[localName];
+        let val_b = field.oneof ? b[field.oneof][localName] : b[localName];
+        switch (field.kind) {
+          case "enum":
+          case "scalar":
+            let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+            if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b)))
+              return false;
+            break;
+          case "map":
+            if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b))))
+              return false;
+            break;
+          case "message":
+            let T = field.T();
+            if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b)))
+              return false;
+            break;
+        }
+      }
+      return true;
+    }
+    exports2.reflectionEquals = reflectionEquals;
+    var objectValues = Object.values;
+    function primitiveEq(type2, a, b) {
+      if (a === b)
+        return true;
+      if (type2 !== reflection_info_1.ScalarType.BYTES)
+        return false;
+      let ba = a;
+      let bb = b;
+      if (ba.length !== bb.length)
+        return false;
+      for (let i = 0; i < ba.length; i++)
+        if (ba[i] != bb[i])
+          return false;
+      return true;
+    }
+    function repeatedPrimitiveEq(type2, a, b) {
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; i++)
+        if (!primitiveEq(type2, a[i], b[i]))
+          return false;
+      return true;
+    }
+    function repeatedMsgEq(type2, a, b) {
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; i++)
+        if (!type2.equals(a[i], b[i]))
+          return false;
+      return true;
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js
+var require_message_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MessageType = void 0;
+    var message_type_contract_1 = require_message_type_contract();
+    var reflection_info_1 = require_reflection_info();
+    var reflection_type_check_1 = require_reflection_type_check();
+    var reflection_json_reader_1 = require_reflection_json_reader();
+    var reflection_json_writer_1 = require_reflection_json_writer();
+    var reflection_binary_reader_1 = require_reflection_binary_reader();
+    var reflection_binary_writer_1 = require_reflection_binary_writer();
+    var reflection_create_1 = require_reflection_create();
+    var reflection_merge_partial_1 = require_reflection_merge_partial();
+    var json_typings_1 = require_json_typings();
+    var json_format_contract_1 = require_json_format_contract();
+    var reflection_equals_1 = require_reflection_equals();
+    var binary_writer_1 = require_binary_writer();
+    var binary_reader_1 = require_binary_reader();
+    var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({}));
+    var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {};
+    var MessageType = class {
+      constructor(name, fields, options) {
+        this.defaultCheckDepth = 16;
+        this.typeName = name;
+        this.fields = fields.map(reflection_info_1.normalizeFieldInfo);
+        this.options = options !== null && options !== void 0 ? options : {};
+        messageTypeDescriptor.value = this;
+        this.messagePrototype = Object.create(null, baseDescriptors);
+        this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this);
+        this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this);
+        this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this);
+        this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this);
+        this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this);
+      }
+      create(value) {
+        let message = reflection_create_1.reflectionCreate(this);
+        if (value !== void 0) {
+          reflection_merge_partial_1.reflectionMergePartial(this, message, value);
+        }
+        return message;
+      }
+      /**
+       * Clone the message.
+       *
+       * Unknown fields are discarded.
+       */
+      clone(message) {
+        let copy = this.create();
+        reflection_merge_partial_1.reflectionMergePartial(this, copy, message);
+        return copy;
+      }
+      /**
+       * Determines whether two message of the same type have the same field values.
+       * Checks for deep equality, traversing repeated fields, oneof groups, maps
+       * and messages recursively.
+       * Will also return true if both messages are `undefined`.
+       */
+      equals(a, b) {
+        return reflection_equals_1.reflectionEquals(this, a, b);
+      }
+      /**
+       * Is the given value assignable to our message type
+       * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
+       */
+      is(arg, depth = this.defaultCheckDepth) {
+        return this.refTypeCheck.is(arg, depth, false);
+      }
+      /**
+       * Is the given value assignable to our message type,
+       * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
+       */
+      isAssignable(arg, depth = this.defaultCheckDepth) {
+        return this.refTypeCheck.is(arg, depth, true);
+      }
+      /**
+       * Copy partial data into the target message.
+       */
+      mergePartial(target, source) {
+        reflection_merge_partial_1.reflectionMergePartial(this, target, source);
+      }
+      /**
+       * Create a new message from binary format.
+       */
+      fromBinary(data, options) {
+        let opt = binary_reader_1.binaryReadOptions(options);
+        return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt);
+      }
+      /**
+       * Read a new message from a JSON value.
+       */
+      fromJson(json2, options) {
+        return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options));
+      }
+      /**
+       * Read a new message from a JSON string.
+       * This is equivalent to `T.fromJson(JSON.parse(json))`.
+       */
+      fromJsonString(json2, options) {
+        let value = JSON.parse(json2);
+        return this.fromJson(value, options);
+      }
+      /**
+       * Write the message to canonical JSON value.
+       */
+      toJson(message, options) {
+        return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options));
+      }
+      /**
+       * Convert the message to canonical JSON string.
+       * This is equivalent to `JSON.stringify(T.toJson(t))`
+       */
+      toJsonString(message, options) {
+        var _a;
+        let value = this.toJson(message, options);
+        return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);
+      }
+      /**
+       * Write the message to binary format.
+       */
+      toBinary(message, options) {
+        let opt = binary_writer_1.binaryWriteOptions(options);
+        return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish();
+      }
+      /**
+       * This is an internal method. If you just want to read a message from
+       * JSON, use `fromJson()` or `fromJsonString()`.
+       *
+       * Reads JSON value and merges the fields into the target
+       * according to protobuf rules. If the target is omitted,
+       * a new instance is created first.
+       */
+      internalJsonRead(json2, options, target) {
+        if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) {
+          let message = target !== null && target !== void 0 ? target : this.create();
+          this.refJsonReader.read(json2, message, options);
+          return message;
+        }
+        throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`);
+      }
+      /**
+       * This is an internal method. If you just want to write a message
+       * to JSON, use `toJson()` or `toJsonString().
+       *
+       * Writes JSON value and returns it.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.write(message, options);
+      }
+      /**
+       * This is an internal method. If you just want to write a message
+       * in binary format, use `toBinary()`.
+       *
+       * Serializes the message in binary format and appends it to the given
+       * writer. Returns passed writer.
+       */
+      internalBinaryWrite(message, writer, options) {
+        this.refBinWriter.write(message, writer, options);
+        return writer;
+      }
+      /**
+       * This is an internal method. If you just want to read a message from
+       * binary data, use `fromBinary()`.
+       *
+       * Reads data from binary format and merges the fields into
+       * the target according to protobuf rules. If the target is
+       * omitted, a new instance is created first.
+       */
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create();
+        this.refBinReader.read(reader, message, options, length);
+        return message;
+      }
+    };
+    exports2.MessageType = MessageType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js
+var require_reflection_contains_message_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.containsMessageType = void 0;
+    var message_type_contract_1 = require_message_type_contract();
+    function containsMessageType(msg) {
+      return msg[message_type_contract_1.MESSAGE_TYPE] != null;
+    }
+    exports2.containsMessageType = containsMessageType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js
+var require_enum_object = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0;
+    function isEnumObject(arg) {
+      if (typeof arg != "object" || arg === null) {
+        return false;
+      }
+      if (!arg.hasOwnProperty(0)) {
+        return false;
+      }
+      for (let k of Object.keys(arg)) {
+        let num = parseInt(k);
+        if (!Number.isNaN(num)) {
+          let nam = arg[num];
+          if (nam === void 0)
+            return false;
+          if (arg[nam] !== num)
+            return false;
+        } else {
+          let num2 = arg[k];
+          if (num2 === void 0)
+            return false;
+          if (typeof num2 !== "number")
+            return false;
+          if (arg[num2] === void 0)
+            return false;
+        }
+      }
+      return true;
+    }
+    exports2.isEnumObject = isEnumObject;
+    function listEnumValues(enumObject) {
+      if (!isEnumObject(enumObject))
+        throw new Error("not a typescript enum object");
+      let values = [];
+      for (let [name, number] of Object.entries(enumObject))
+        if (typeof number == "number")
+          values.push({ name, number });
+      return values;
+    }
+    exports2.listEnumValues = listEnumValues;
+    function listEnumNames(enumObject) {
+      return listEnumValues(enumObject).map((val) => val.name);
+    }
+    exports2.listEnumNames = listEnumNames;
+    function listEnumNumbers(enumObject) {
+      return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index);
+    }
+    exports2.listEnumNumbers = listEnumNumbers;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/index.js
+var require_commonjs16 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var json_typings_1 = require_json_typings();
+    Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() {
+      return json_typings_1.typeofJsonValue;
+    } });
+    Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() {
+      return json_typings_1.isJsonObject;
+    } });
+    var base64_1 = require_base642();
+    Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() {
+      return base64_1.base64decode;
+    } });
+    Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() {
+      return base64_1.base64encode;
+    } });
+    var protobufjs_utf8_1 = require_protobufjs_utf8();
+    Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() {
+      return protobufjs_utf8_1.utf8read;
+    } });
+    var binary_format_contract_1 = require_binary_format_contract();
+    Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() {
+      return binary_format_contract_1.WireType;
+    } });
+    Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() {
+      return binary_format_contract_1.mergeBinaryOptions;
+    } });
+    Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() {
+      return binary_format_contract_1.UnknownFieldHandler;
+    } });
+    var binary_reader_1 = require_binary_reader();
+    Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() {
+      return binary_reader_1.BinaryReader;
+    } });
+    Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() {
+      return binary_reader_1.binaryReadOptions;
+    } });
+    var binary_writer_1 = require_binary_writer();
+    Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() {
+      return binary_writer_1.BinaryWriter;
+    } });
+    Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() {
+      return binary_writer_1.binaryWriteOptions;
+    } });
+    var pb_long_1 = require_pb_long();
+    Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() {
+      return pb_long_1.PbLong;
+    } });
+    Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() {
+      return pb_long_1.PbULong;
+    } });
+    var json_format_contract_1 = require_json_format_contract();
+    Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.jsonReadOptions;
+    } });
+    Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.jsonWriteOptions;
+    } });
+    Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.mergeJsonOptions;
+    } });
+    var message_type_contract_1 = require_message_type_contract();
+    Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() {
+      return message_type_contract_1.MESSAGE_TYPE;
+    } });
+    var message_type_1 = require_message_type();
+    Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() {
+      return message_type_1.MessageType;
+    } });
+    var reflection_info_1 = require_reflection_info();
+    Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() {
+      return reflection_info_1.ScalarType;
+    } });
+    Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() {
+      return reflection_info_1.LongType;
+    } });
+    Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() {
+      return reflection_info_1.RepeatType;
+    } });
+    Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() {
+      return reflection_info_1.normalizeFieldInfo;
+    } });
+    Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() {
+      return reflection_info_1.readFieldOptions;
+    } });
+    Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() {
+      return reflection_info_1.readFieldOption;
+    } });
+    Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() {
+      return reflection_info_1.readMessageOption;
+    } });
+    var reflection_type_check_1 = require_reflection_type_check();
+    Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() {
+      return reflection_type_check_1.ReflectionTypeCheck;
+    } });
+    var reflection_create_1 = require_reflection_create();
+    Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() {
+      return reflection_create_1.reflectionCreate;
+    } });
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() {
+      return reflection_scalar_default_1.reflectionScalarDefault;
+    } });
+    var reflection_merge_partial_1 = require_reflection_merge_partial();
+    Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() {
+      return reflection_merge_partial_1.reflectionMergePartial;
+    } });
+    var reflection_equals_1 = require_reflection_equals();
+    Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() {
+      return reflection_equals_1.reflectionEquals;
+    } });
+    var reflection_binary_reader_1 = require_reflection_binary_reader();
+    Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() {
+      return reflection_binary_reader_1.ReflectionBinaryReader;
+    } });
+    var reflection_binary_writer_1 = require_reflection_binary_writer();
+    Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() {
+      return reflection_binary_writer_1.ReflectionBinaryWriter;
+    } });
+    var reflection_json_reader_1 = require_reflection_json_reader();
+    Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() {
+      return reflection_json_reader_1.ReflectionJsonReader;
+    } });
+    var reflection_json_writer_1 = require_reflection_json_writer();
+    Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() {
+      return reflection_json_writer_1.ReflectionJsonWriter;
+    } });
+    var reflection_contains_message_type_1 = require_reflection_contains_message_type();
+    Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() {
+      return reflection_contains_message_type_1.containsMessageType;
+    } });
+    var oneof_1 = require_oneof();
+    Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() {
+      return oneof_1.isOneofGroup;
+    } });
+    Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() {
+      return oneof_1.setOneofValue;
+    } });
+    Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() {
+      return oneof_1.getOneofValue;
+    } });
+    Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() {
+      return oneof_1.clearOneofValue;
+    } });
+    Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() {
+      return oneof_1.getSelectedOneofValue;
+    } });
+    var enum_object_1 = require_enum_object();
+    Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() {
+      return enum_object_1.listEnumValues;
+    } });
+    Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() {
+      return enum_object_1.listEnumNames;
+    } });
+    Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() {
+      return enum_object_1.listEnumNumbers;
+    } });
+    Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() {
+      return enum_object_1.isEnumObject;
+    } });
+    var lower_camel_case_1 = require_lower_camel_case();
+    Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() {
+      return lower_camel_case_1.lowerCamelCase;
+    } });
+    var assert_1 = require_assert();
+    Object.defineProperty(exports2, "assert", { enumerable: true, get: function() {
+      return assert_1.assert;
+    } });
+    Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() {
+      return assert_1.assertNever;
+    } });
+    Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() {
+      return assert_1.assertInt32;
+    } });
+    Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() {
+      return assert_1.assertUInt32;
+    } });
+    Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() {
+      return assert_1.assertFloat32;
+    } });
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js
+var require_reflection_info2 = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0;
+    var runtime_1 = require_commonjs16();
+    function normalizeMethodInfo(method, service) {
+      var _a, _b, _c;
+      let m = method;
+      m.service = service;
+      m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name);
+      m.serverStreaming = !!m.serverStreaming;
+      m.clientStreaming = !!m.clientStreaming;
+      m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {};
+      m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0;
+      return m;
+    }
+    exports2.normalizeMethodInfo = normalizeMethodInfo;
+    function readMethodOptions(service, methodName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
+      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    }
+    exports2.readMethodOptions = readMethodOptions;
+    function readMethodOption(service, methodName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readMethodOption = readMethodOption;
+    function readServiceOption(service, extensionName, extensionType) {
+      const options = service.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readServiceOption = readServiceOption;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js
+var require_service_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServiceType = void 0;
+    var reflection_info_1 = require_reflection_info2();
+    var ServiceType = class {
+      constructor(typeName, methods, options) {
+        this.typeName = typeName;
+        this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this));
+        this.options = options !== null && options !== void 0 ? options : {};
+      }
+    };
+    exports2.ServiceType = ServiceType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js
+var require_rpc_error = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RpcError = void 0;
+    var RpcError = class extends Error {
+      constructor(message, code = "UNKNOWN", meta) {
+        super(message);
+        this.name = "RpcError";
+        Object.setPrototypeOf(this, new.target.prototype);
+        this.code = code;
+        this.meta = meta !== null && meta !== void 0 ? meta : {};
+      }
+      toString() {
+        const l = [this.name + ": " + this.message];
+        if (this.code) {
+          l.push("");
+          l.push("Code: " + this.code);
         }
-      },
-      requestBody: Parameters.queryRequest,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.comp17
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getTagsOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlobTags,
-          headersMapper: Mappers.BlobGetTagsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobGetTagsExceptionHeaders
+        if (this.serviceName && this.methodName) {
+          l.push("Method: " + this.serviceName + "/" + this.methodName);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp18
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setTagsOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        204: {
-          headersMapper: Mappers.BlobSetTagsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetTagsExceptionHeaders
+        let m = Object.entries(this.meta);
+        if (m.length) {
+          l.push("");
+          l.push("Meta:");
+          for (let [k, v] of m) {
+            l.push(`  ${k}: ${v}`);
+          }
         }
-      },
-      requestBody: Parameters.tags,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.versionId,
-        Parameters.comp18
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.leaseId,
-        Parameters.ifTags,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
+        return l.join("\n");
+      }
     };
+    exports2.RpcError = RpcError;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js
-var require_pageBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js
+var require_rpc_options = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PageBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var PageBlobImpl = class {
-      client;
+    exports2.mergeRpcOptions = void 0;
+    var runtime_1 = require_commonjs16();
+    function mergeRpcOptions(defaults, options) {
+      if (!options)
+        return defaults;
+      let o = {};
+      copy(defaults, o);
+      copy(options, o);
+      for (let key of Object.keys(options)) {
+        let val = options[key];
+        switch (key) {
+          case "jsonOptions":
+            o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions);
+            break;
+          case "binaryOptions":
+            o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions);
+            break;
+          case "meta":
+            o.meta = {};
+            copy(defaults.meta, o.meta);
+            copy(options.meta, o.meta);
+            break;
+          case "interceptors":
+            o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat();
+            break;
+        }
+      }
+      return o;
+    }
+    exports2.mergeRpcOptions = mergeRpcOptions;
+    function copy(a, into) {
+      if (!a)
+        return;
+      let c = into;
+      for (let [k, v] of Object.entries(a)) {
+        if (v instanceof Date)
+          c[k] = new Date(v.getTime());
+        else if (Array.isArray(v))
+          c[k] = v.concat();
+        else
+          c[k] = v;
+      }
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js
+var require_deferred = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Deferred = exports2.DeferredState = void 0;
+    var DeferredState;
+    (function(DeferredState2) {
+      DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING";
+      DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED";
+      DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED";
+    })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {}));
+    var Deferred = class {
       /**
-       * Initialize a new instance of the class PageBlob class.
-       * @param client Reference to the service client
+       * @param preventUnhandledRejectionWarning - prevents the warning
+       * "Unhandled Promise rejection" by adding a noop rejection handler.
+       * Working with calls returned from the runtime-rpc package in an
+       * async function usually means awaiting one call property after
+       * the other. This means that the "status" is not being awaited when
+       * an earlier await for the "headers" is rejected. This causes the
+       * "unhandled promise reject" warning. A more correct behaviour for
+       * calls might be to become aware whether at least one of the
+       * promises is handled and swallow the rejection warning for the
+       * others.
        */
-      constructor(client) {
-        this.client = client;
+      constructor(preventUnhandledRejectionWarning = true) {
+        this._state = DeferredState.PENDING;
+        this._promise = new Promise((resolve8, reject) => {
+          this._resolve = resolve8;
+          this._reject = reject;
+        });
+        if (preventUnhandledRejectionWarning) {
+          this._promise.catch((_2) => {
+          });
+        }
       }
       /**
-       * The Create operation creates a new page blob.
-       * @param contentLength The length of the request.
-       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
-       *                          page blob size must be aligned to a 512-byte boundary.
-       * @param options The options parameters.
+       * Get the current state of the promise.
        */
-      create(contentLength, blobContentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec);
+      get state() {
+        return this._state;
       }
       /**
-       * The Upload Pages operation writes a range of pages to a page blob
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
+       * Get the deferred promise.
        */
-      uploadPages(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec);
+      get promise() {
+        return this._promise;
       }
       /**
-       * The Clear Pages operation clears a set of pages from a page blob
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
+       * Resolve the promise. Throws if the promise is already resolved or rejected.
        */
-      clearPages(contentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec);
+      resolve(value) {
+        if (this.state !== DeferredState.PENDING)
+          throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`);
+        this._resolve(value);
+        this._state = DeferredState.RESOLVED;
       }
       /**
-       * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a
-       * URL
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param sourceRange Bytes of source data in the specified range. The length of this range should
-       *                    match the ContentLength header and x-ms-range/Range destination range header.
-       * @param contentLength The length of the request.
-       * @param range The range of bytes to which the source range would be written. The range should be 512
-       *              aligned and range-end is required.
-       * @param options The options parameters.
+       * Reject the promise. Throws if the promise is already resolved or rejected.
        */
-      uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) {
-        return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec);
+      reject(reason) {
+        if (this.state !== DeferredState.PENDING)
+          throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`);
+        this._reject(reason);
+        this._state = DeferredState.REJECTED;
       }
       /**
-       * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a
-       * page blob
-       * @param options The options parameters.
+       * Resolve the promise. Ignore if not pending.
        */
-      getPageRanges(options) {
-        return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec);
+      resolvePending(val) {
+        if (this._state === DeferredState.PENDING)
+          this.resolve(val);
       }
       /**
-       * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were
-       * changed between target blob and previous snapshot.
-       * @param options The options parameters.
+       * Reject the promise. Ignore if not pending.
        */
-      getPageRangesDiff(options) {
-        return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec);
+      rejectPending(reason) {
+        if (this._state === DeferredState.PENDING)
+          this.reject(reason);
+      }
+    };
+    exports2.Deferred = Deferred;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js
+var require_rpc_output_stream = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RpcOutputStreamController = void 0;
+    var deferred_1 = require_deferred();
+    var runtime_1 = require_commonjs16();
+    var RpcOutputStreamController = class {
+      constructor() {
+        this._lis = {
+          nxt: [],
+          msg: [],
+          err: [],
+          cmp: []
+        };
+        this._closed = false;
+        this._itState = { q: [] };
+      }
+      // --- RpcOutputStream callback API
+      onNext(callback) {
+        return this.addLis(callback, this._lis.nxt);
+      }
+      onMessage(callback) {
+        return this.addLis(callback, this._lis.msg);
+      }
+      onError(callback) {
+        return this.addLis(callback, this._lis.err);
+      }
+      onComplete(callback) {
+        return this.addLis(callback, this._lis.cmp);
+      }
+      addLis(callback, list) {
+        list.push(callback);
+        return () => {
+          let i = list.indexOf(callback);
+          if (i >= 0)
+            list.splice(i, 1);
+        };
+      }
+      // remove all listeners
+      clearLis() {
+        for (let l of Object.values(this._lis))
+          l.splice(0, l.length);
       }
+      // --- Controller API
       /**
-       * Resize the Blob
-       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
-       *                          page blob size must be aligned to a 512-byte boundary.
-       * @param options The options parameters.
+       * Is this stream already closed by a completion or error?
        */
-      resize(blobContentLength, options) {
-        return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec);
+      get closed() {
+        return this._closed !== false;
       }
       /**
-       * Update the sequence number of the blob
-       * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request.
-       *                             This property applies to page blobs only. This property indicates how the service should modify the
-       *                             blob's sequence number
-       * @param options The options parameters.
+       * Emit message, close with error, or close successfully, but only one
+       * at a time.
+       * Can be used to wrap a stream by using the other stream's `onNext`.
        */
-      updateSequenceNumber(sequenceNumberAction, options) {
-        return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec);
+      notifyNext(message, error3, complete) {
+        runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time");
+        if (message)
+          this.notifyMessage(message);
+        if (error3)
+          this.notifyError(error3);
+        if (complete)
+          this.notifyComplete();
       }
       /**
-       * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob.
-       * The snapshot is copied such that only the differential changes between the previously copied
-       * snapshot are transferred to the destination. The copied snapshots are complete copies of the
-       * original snapshot and can be read or copied from as usual. This API is supported since REST version
-       * 2016-05-31.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
+       * Emits a new message. Throws if stream is closed.
+       *
+       * Triggers onNext and onMessage callbacks.
        */
-      copyIncremental(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec);
+      notifyMessage(message) {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this.pushIt({ value: message, done: false });
+        this._lis.msg.forEach((l) => l(message));
+        this._lis.nxt.forEach((l) => l(message, void 0, false));
       }
-    };
-    exports2.PageBlobImpl = PageBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobCreateExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.blobType,
-        Parameters.blobContentLength,
-        Parameters.blobSequenceNumber
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var uploadPagesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobUploadPagesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.pageWrite,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var clearPagesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobClearPagesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobClearPagesExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo,
-        Parameters.pageWrite1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var uploadPagesFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.pageWrite,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo,
-        Parameters.sourceUrl,
-        Parameters.sourceRange,
-        Parameters.sourceContentCrc64,
-        Parameters.range1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPageRangesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.PageList,
-          headersMapper: Mappers.PageBlobGetPageRangesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders
+      /**
+       * Closes the stream with an error. Throws if stream is closed.
+       *
+       * Triggers onNext and onError callbacks.
+       */
+      notifyError(error3) {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this._closed = error3;
+        this.pushIt(error3);
+        this._lis.err.forEach((l) => l(error3));
+        this._lis.nxt.forEach((l) => l(void 0, error3, false));
+        this.clearLis();
+      }
+      /**
+       * Closes the stream successfully. Throws if stream is closed.
+       *
+       * Triggers onNext and onComplete callbacks.
+       */
+      notifyComplete() {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this._closed = true;
+        this.pushIt({ value: null, done: true });
+        this._lis.cmp.forEach((l) => l());
+        this._lis.nxt.forEach((l) => l(void 0, void 0, true));
+        this.clearLis();
+      }
+      /**
+       * Creates an async iterator (that can be used with `for await {...}`)
+       * to consume the stream.
+       *
+       * Some things to note:
+       * - If an error occurs, the `for await` will throw it.
+       * - If an error occurred before the `for await` was started, `for await`
+       *   will re-throw it.
+       * - If the stream is already complete, the `for await` will be empty.
+       * - If your `for await` consumes slower than the stream produces,
+       *   for example because you are relaying messages in a slow operation,
+       *   messages are queued.
+       */
+      [Symbol.asyncIterator]() {
+        if (this._closed === true)
+          this.pushIt({ value: null, done: true });
+        else if (this._closed !== false)
+          this.pushIt(this._closed);
+        return {
+          next: () => {
+            let state = this._itState;
+            runtime_1.assert(state, "bad state");
+            runtime_1.assert(!state.p, "iterator contract broken");
+            let first = state.q.shift();
+            if (first)
+              return "value" in first ? Promise.resolve(first) : Promise.reject(first);
+            state.p = new deferred_1.Deferred();
+            return state.p.promise;
+          }
+        };
+      }
+      // "push" a new iterator result.
+      // this either resolves a pending promise, or enqueues the result.
+      pushIt(result) {
+        let state = this._itState;
+        if (state.p) {
+          const p = state.p;
+          runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken");
+          "value" in result ? p.resolve(result) : p.reject(result);
+          delete state.p;
+        } else {
+          state.q.push(result);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.snapshot,
-        Parameters.comp20
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      }
     };
-    var getPageRangesDiffOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.PageList,
-          headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders
+    exports2.RpcOutputStreamController = RpcOutputStreamController;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js
+var require_unary_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.snapshot,
-        Parameters.comp20,
-        Parameters.prevsnapshot
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.prevSnapshotUrl
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var resizeOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.PageBlobResizeHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobResizeExceptionHeaders
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.blobContentLength
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var updateSequenceNumberOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobSequenceNumber,
-        Parameters.sequenceNumberAction
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    var copyIncrementalOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.PageBlobCopyIncrementalHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.copySource
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UnaryCall = void 0;
+    var UnaryCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.request = request2;
+        this.headers = headers;
+        this.response = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * If you are only interested in the final outcome of this call,
+       * you can await it to receive a `FinishedUnaryCall`.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            request: this.request,
+            headers,
+            response,
+            status,
+            trailers
+          };
+        });
+      }
     };
+    exports2.UnaryCall = UnaryCall;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js
-var require_appendBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js
+var require_server_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) {
     "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AppendBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var AppendBlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class AppendBlob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
+    exports2.ServerStreamingCall = void 0;
+    var ServerStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.request = request2;
+        this.headers = headers;
+        this.responses = response;
+        this.status = status;
+        this.trailers = trailers;
       }
       /**
-       * The Create Append Blob operation creates a new append blob.
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * You should first setup some listeners to the `request` to
+       * see the actual messages the server replied with.
        */
-      create(contentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec);
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
       }
-      /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob. The
-       * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
-       * AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      appendBlock(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec);
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            request: this.request,
+            headers,
+            status,
+            trailers
+          };
+        });
       }
-      /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob where
-       * the contents are read from a source url. The Append Block operation is permitted only if the blob
-       * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version
-       * 2015-02-21 version or later.
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
-       */
-      appendBlockFromUrl(sourceUrl, contentLength, options) {
-        return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec);
+    };
+    exports2.ServerStreamingCall = ServerStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js
+var require_client_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ClientStreamingCall = void 0;
+    var ClientStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.requests = request2;
+        this.headers = headers;
+        this.response = response;
+        this.status = status;
+        this.trailers = trailers;
       }
       /**
-       * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version
-       * 2019-12-12 version or later.
-       * @param options The options parameters.
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * Note that it may still be valid to send more request messages.
        */
-      seal(options) {
-        return this.client.sendOperationRequest({ options }, sealOperationSpec);
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            headers,
+            response,
+            status,
+            trailers
+          };
+        });
       }
     };
-    exports2.AppendBlobImpl = AppendBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobCreateExceptionHeaders
+    exports2.ClientStreamingCall = ClientStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js
+var require_duplex_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.blobType1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var appendBlockOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobAppendBlockHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.maxSize,
-        Parameters.appendPosition
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var appendBlockFromUrlOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.transactionalContentMD5,
-        Parameters.sourceUrl,
-        Parameters.sourceContentCrc64,
-        Parameters.maxSize,
-        Parameters.appendPosition,
-        Parameters.sourceRange1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    var sealOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.AppendBlobSealHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobSealExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.appendPosition
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DuplexStreamingCall = void 0;
+    var DuplexStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.requests = request2;
+        this.headers = headers;
+        this.responses = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * Note that it may still be valid to send more request messages.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            headers,
+            status,
+            trailers
+          };
+        });
+      }
     };
+    exports2.DuplexStreamingCall = DuplexStreamingCall;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js
-var require_blockBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js
+var require_test_transport = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) {
     "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlockBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var BlockBlobImpl = class {
-      client;
+    exports2.TestTransport = void 0;
+    var rpc_error_1 = require_rpc_error();
+    var runtime_1 = require_commonjs16();
+    var rpc_output_stream_1 = require_rpc_output_stream();
+    var rpc_options_1 = require_rpc_options();
+    var unary_call_1 = require_unary_call();
+    var server_streaming_call_1 = require_server_streaming_call();
+    var client_streaming_call_1 = require_client_streaming_call();
+    var duplex_streaming_call_1 = require_duplex_streaming_call();
+    var TestTransport = class _TestTransport {
       /**
-       * Initialize a new instance of the class BlockBlob class.
-       * @param client Reference to the service client
+       * Initialize with mock data. Omitted fields have default value.
        */
-      constructor(client) {
-        this.client = client;
+      constructor(data) {
+        this.suppressUncaughtRejections = true;
+        this.headerDelay = 10;
+        this.responseDelay = 50;
+        this.betweenResponseDelay = 10;
+        this.afterResponseDelay = 10;
+        this.data = data !== null && data !== void 0 ? data : {};
       }
       /**
-       * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing
-       * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put
-       * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a
-       * partial update of the content of a block blob, use the Put Block List operation.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
+       * Sent message(s) during the last operation.
        */
-      upload(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec);
+      get sentMessages() {
+        if (this.lastInput instanceof TestInputStream) {
+          return this.lastInput.sent;
+        } else if (typeof this.lastInput == "object") {
+          return [this.lastInput.single];
+        }
+        return [];
       }
       /**
-       * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read
-       * from a given URL.  This API is supported beginning with the 2020-04-08 version. Partial updates are
-       * not supported with Put Blob from URL; the content of an existing blob is overwritten with the
-       * content of the new blob.  To perform partial updates to a block blob’s contents using a source URL,
-       * use the Put Block from URL API in conjunction with Put Block List.
-       * @param contentLength The length of the request.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
+       * Sending message(s) completed?
        */
-      putBlobFromUrl(contentLength, copySource, options) {
-        return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec);
+      get sendComplete() {
+        if (this.lastInput instanceof TestInputStream) {
+          return this.lastInput.completed;
+        } else if (typeof this.lastInput == "object") {
+          return true;
+        }
+        return false;
       }
-      /**
-       * The Stage Block operation creates a new block to be committed as part of a blob
-       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
-       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
-       *                for the blockid parameter must be the same size for each block.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      stageBlock(blockId, contentLength, body, options) {
-        return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec);
+      // Creates a promise for response headers from the mock data.
+      promiseHeaders() {
+        var _a;
+        const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders;
+        return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers);
       }
-      /**
-       * The Stage Block operation creates a new block to be committed as part of a blob where the contents
-       * are read from a URL.
-       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
-       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
-       *                for the blockid parameter must be the same size for each block.
-       * @param contentLength The length of the request.
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param options The options parameters.
-       */
-      stageBlockFromURL(blockId, contentLength, sourceUrl, options) {
-        return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec);
+      // Creates a promise for a single, valid, message from the mock data.
+      promiseSingleResponse(method) {
+        if (this.data.response instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.response);
+        }
+        let r;
+        if (Array.isArray(this.data.response)) {
+          runtime_1.assert(this.data.response.length > 0);
+          r = this.data.response[0];
+        } else if (this.data.response !== void 0) {
+          r = this.data.response;
+        } else {
+          r = method.O.create();
+        }
+        runtime_1.assert(method.O.is(r));
+        return Promise.resolve(r);
       }
       /**
-       * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the
-       * blob. In order to be written as part of a blob, a block must have been successfully written to the
-       * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading
-       * only those blocks that have changed, then committing the new and existing blocks together. You can
-       * do this by specifying whether to commit a block from the committed block list or from the
-       * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list
-       * it may belong to.
-       * @param blocks Blob Blocks.
-       * @param options The options parameters.
+       * Pushes response messages from the mock data to the output stream.
+       * If an error response, status or trailers are mocked, the stream is
+       * closed with the respective error.
+       * Otherwise, stream is completed successfully.
+       *
+       * The returned promise resolves when the stream is closed. It should
+       * not reject. If it does, code is broken.
        */
-      commitBlockList(blocks, options) {
-        return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec);
+      streamResponses(method, stream2, abort) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const messages = [];
+          if (this.data.response === void 0) {
+            messages.push(method.O.create());
+          } else if (Array.isArray(this.data.response)) {
+            for (let msg of this.data.response) {
+              runtime_1.assert(method.O.is(msg));
+              messages.push(msg);
+            }
+          } else if (!(this.data.response instanceof rpc_error_1.RpcError)) {
+            runtime_1.assert(method.O.is(this.data.response));
+            messages.push(this.data.response);
+          }
+          try {
+            yield delay2(this.responseDelay, abort)(void 0);
+          } catch (error3) {
+            stream2.notifyError(error3);
+            return;
+          }
+          if (this.data.response instanceof rpc_error_1.RpcError) {
+            stream2.notifyError(this.data.response);
+            return;
+          }
+          for (let msg of messages) {
+            stream2.notifyMessage(msg);
+            try {
+              yield delay2(this.betweenResponseDelay, abort)(void 0);
+            } catch (error3) {
+              stream2.notifyError(error3);
+              return;
+            }
+          }
+          if (this.data.status instanceof rpc_error_1.RpcError) {
+            stream2.notifyError(this.data.status);
+            return;
+          }
+          if (this.data.trailers instanceof rpc_error_1.RpcError) {
+            stream2.notifyError(this.data.trailers);
+            return;
+          }
+          stream2.notifyComplete();
+        });
       }
-      /**
-       * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block
-       * blob
-       * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted
-       *                 blocks, or both lists together.
-       * @param options The options parameters.
-       */
-      getBlockList(listType, options) {
-        return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec);
+      // Creates a promise for response status from the mock data.
+      promiseStatus() {
+        var _a;
+        const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus;
+        return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status);
       }
-    };
-    exports2.BlockBlobImpl = BlockBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var uploadOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobUploadHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobUploadExceptionHeaders
+      // Creates a promise for response trailers from the mock data.
+      promiseTrailers() {
+        var _a;
+        const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers;
+        return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers);
+      }
+      maybeSuppressUncaught(...promise) {
+        if (this.suppressUncaughtRejections) {
+          for (let p of promise) {
+            p.catch(() => {
+            });
+          }
         }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.blobType2
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
+      }
+      mergeOptions(options) {
+        return rpc_options_1.mergeRpcOptions({}, options);
+      }
+      unary(method, input, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
+        }).then(delay2(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
+        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
+        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = { single: input };
+        return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise);
+      }
+      serverStreaming(method, input, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay2(this.responseDelay, options.abort)).catch(() => {
+        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay2(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = { single: input };
+        return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise);
+      }
+      clientStreaming(method, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
+        }).then(delay2(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
+        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
+        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = new TestInputStream(this.data, options.abort);
+        return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise);
+      }
+      duplex(method, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay2(this.responseDelay, options.abort)).catch(() => {
+        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay2(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = new TestInputStream(this.data, options.abort);
+        return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise);
+      }
     };
-    var putBlobFromUrlOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceIfTags,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.copySourceTags,
-        Parameters.fileRequestIntent,
-        Parameters.transactionalContentMD5,
-        Parameters.blobType2,
-        Parameters.copySourceBlobProperties
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    exports2.TestTransport = TestTransport;
+    TestTransport.defaultHeaders = {
+      responseHeader: "test"
     };
-    var stageBlockOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobStageBlockHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp24,
-        Parameters.blockId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
+    TestTransport.defaultStatus = {
+      code: "OK",
+      detail: "all good"
     };
-    var stageBlockFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp24,
-        Parameters.blockId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.sourceUrl,
-        Parameters.sourceContentCrc64,
-        Parameters.sourceRange1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+    TestTransport.defaultTrailers = {
+      responseTrailer: "test"
     };
-    var commitBlockListOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobCommitBlockListHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders
+    function delay2(ms, abort) {
+      return (v) => new Promise((resolve8, reject) => {
+        if (abort === null || abort === void 0 ? void 0 : abort.aborted) {
+          reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
+        } else {
+          const id = setTimeout(() => resolve8(v), ms);
+          if (abort) {
+            abort.addEventListener("abort", (ev) => {
+              clearTimeout(id);
+              reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
+            });
+          }
         }
-      },
-      requestBody: Parameters.blocks,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getBlockListOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlockList,
-          headersMapper: Mappers.BlockBlobGetBlockListHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders
+      });
+    }
+    var TestInputStream = class {
+      constructor(data, abort) {
+        this._completed = false;
+        this._sent = [];
+        this.data = data;
+        this.abort = abort;
+      }
+      get sent() {
+        return this._sent;
+      }
+      get completed() {
+        return this._completed;
+      }
+      send(message) {
+        if (this.data.inputMessage instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.inputMessage);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.comp25,
-        Parameters.listType
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage;
+        return Promise.resolve(void 0).then(() => {
+          this._sent.push(message);
+        }).then(delay2(delayMs, this.abort));
+      }
+      complete() {
+        if (this.data.inputComplete instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.inputComplete);
+        }
+        const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete;
+        return Promise.resolve(void 0).then(() => {
+          this._completed = true;
+        }).then(delay2(delayMs, this.abort));
+      }
     };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js
-var require_operations = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js
+var require_rpc_interceptor = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_service(), exports2);
-    tslib_1.__exportStar(require_container(), exports2);
-    tslib_1.__exportStar(require_blob(), exports2);
-    tslib_1.__exportStar(require_pageBlob(), exports2);
-    tslib_1.__exportStar(require_appendBlob(), exports2);
-    tslib_1.__exportStar(require_blockBlob(), exports2);
+    exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0;
+    var runtime_1 = require_commonjs16();
+    function stackIntercept(kind, transport, method, options, input) {
+      var _a, _b, _c, _d;
+      if (kind == "unary") {
+        let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt);
+        for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) {
+          const next = tail;
+          tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt);
+        }
+        return tail(method, input, options);
+      }
+      if (kind == "serverStreaming") {
+        let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt);
+        for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) {
+          const next = tail;
+          tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt);
+        }
+        return tail(method, input, options);
+      }
+      if (kind == "clientStreaming") {
+        let tail = (mtd, opt) => transport.clientStreaming(mtd, opt);
+        for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) {
+          const next = tail;
+          tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt);
+        }
+        return tail(method, options);
+      }
+      if (kind == "duplex") {
+        let tail = (mtd, opt) => transport.duplex(mtd, opt);
+        for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) {
+          const next = tail;
+          tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt);
+        }
+        return tail(method, options);
+      }
+      runtime_1.assertNever(kind);
+    }
+    exports2.stackIntercept = stackIntercept;
+    function stackUnaryInterceptors(transport, method, input, options) {
+      return stackIntercept("unary", transport, method, options, input);
+    }
+    exports2.stackUnaryInterceptors = stackUnaryInterceptors;
+    function stackServerStreamingInterceptors(transport, method, input, options) {
+      return stackIntercept("serverStreaming", transport, method, options, input);
+    }
+    exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors;
+    function stackClientStreamingInterceptors(transport, method, options) {
+      return stackIntercept("clientStreaming", transport, method, options);
+    }
+    exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors;
+    function stackDuplexStreamingInterceptors(transport, method, options) {
+      return stackIntercept("duplex", transport, method, options);
+    }
+    exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js
-var require_storageClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js
+var require_server_call_context = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreHttpCompat = tslib_1.__importStar(require_commonjs9());
-    var index_js_1 = require_operations();
-    var StorageClient = class extends coreHttpCompat.ExtendedServiceClient {
-      url;
-      version;
+    exports2.ServerCallContextController = void 0;
+    var ServerCallContextController = class {
+      constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) {
+        this._cancelled = false;
+        this._listeners = [];
+        this.method = method;
+        this.headers = headers;
+        this.deadline = deadline;
+        this.trailers = {};
+        this._sendRH = sendResponseHeadersFn;
+        this.status = defaultStatus;
+      }
       /**
-       * Initializes a new instance of the StorageClient class.
-       * @param url The URL of the service account, container, or blob that is the target of the desired
-       *            operation.
-       * @param options The parameter options
+       * Set the call cancelled.
+       *
+       * Invokes all callbacks registered with onCancel() and
+       * sets `cancelled = true`.
        */
-      constructor(url2, options) {
-        if (url2 === void 0) {
-          throw new Error("'url' cannot be null");
-        }
-        if (!options) {
-          options = {};
+      notifyCancelled() {
+        if (!this._cancelled) {
+          this._cancelled = true;
+          for (let l of this._listeners) {
+            l();
+          }
         }
-        const defaults = {
-          requestContentType: "application/json; charset=utf-8"
-        };
-        const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`;
-        const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
-        const optionsWithDefaults = {
-          ...defaults,
-          ...options,
-          userAgentOptions: {
-            userAgentPrefix
-          },
-          endpoint: options.endpoint ?? options.baseUri ?? "{url}"
-        };
-        super(optionsWithDefaults);
-        this.url = url2;
-        this.version = options.version || "2025-11-05";
-        this.service = new index_js_1.ServiceImpl(this);
-        this.container = new index_js_1.ContainerImpl(this);
-        this.blob = new index_js_1.BlobImpl(this);
-        this.pageBlob = new index_js_1.PageBlobImpl(this);
-        this.appendBlob = new index_js_1.AppendBlobImpl(this);
-        this.blockBlob = new index_js_1.BlockBlobImpl(this);
       }
-      service;
-      container;
-      blob;
-      pageBlob;
-      appendBlob;
-      blockBlob;
-    };
-    exports2.StorageClient = StorageClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js
-var require_service2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js
-var require_container2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js
-var require_blob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
+      /**
+       * Send response headers.
+       */
+      sendResponseHeaders(data) {
+        this._sendRH(data);
+      }
+      /**
+       * Is the call cancelled?
+       *
+       * When the client closes the connection before the server
+       * is done, the call is cancelled.
+       *
+       * If you want to cancel a request on the server, throw a
+       * RpcError with the CANCELLED status code.
+       */
+      get cancelled() {
+        return this._cancelled;
+      }
+      /**
+       * Add a callback for cancellation.
+       */
+      onCancel(callback) {
+        const l = this._listeners;
+        l.push(callback);
+        return () => {
+          let i = l.indexOf(callback);
+          if (i >= 0)
+            l.splice(i, 1);
+        };
+      }
+    };
+    exports2.ServerCallContextController = ServerCallContextController;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js
-var require_pageBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js
+var require_commonjs17 = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
+    var service_type_1 = require_service_type();
+    Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() {
+      return service_type_1.ServiceType;
+    } });
+    var reflection_info_1 = require_reflection_info2();
+    Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() {
+      return reflection_info_1.readMethodOptions;
+    } });
+    Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() {
+      return reflection_info_1.readMethodOption;
+    } });
+    Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() {
+      return reflection_info_1.readServiceOption;
+    } });
+    var rpc_error_1 = require_rpc_error();
+    Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() {
+      return rpc_error_1.RpcError;
+    } });
+    var rpc_options_1 = require_rpc_options();
+    Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() {
+      return rpc_options_1.mergeRpcOptions;
+    } });
+    var rpc_output_stream_1 = require_rpc_output_stream();
+    Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() {
+      return rpc_output_stream_1.RpcOutputStreamController;
+    } });
+    var test_transport_1 = require_test_transport();
+    Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() {
+      return test_transport_1.TestTransport;
+    } });
+    var deferred_1 = require_deferred();
+    Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() {
+      return deferred_1.Deferred;
+    } });
+    Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() {
+      return deferred_1.DeferredState;
+    } });
+    var duplex_streaming_call_1 = require_duplex_streaming_call();
+    Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() {
+      return duplex_streaming_call_1.DuplexStreamingCall;
+    } });
+    var client_streaming_call_1 = require_client_streaming_call();
+    Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() {
+      return client_streaming_call_1.ClientStreamingCall;
+    } });
+    var server_streaming_call_1 = require_server_streaming_call();
+    Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() {
+      return server_streaming_call_1.ServerStreamingCall;
+    } });
+    var unary_call_1 = require_unary_call();
+    Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() {
+      return unary_call_1.UnaryCall;
+    } });
+    var rpc_interceptor_1 = require_rpc_interceptor();
+    Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackIntercept;
+    } });
+    Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackDuplexStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackClientStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackServerStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackUnaryInterceptors;
+    } });
+    var server_call_context_1 = require_server_call_context();
+    Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() {
+      return server_call_context_1.ServerCallContextController;
+    } });
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js
-var require_appendBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) {
+// node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js
+var require_cachescope = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.CacheScope = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var CacheScope$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.entities.v1.CacheScope", [
+          {
+            no: 1,
+            name: "scope",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "permission",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { scope: "", permission: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string scope */
+            1:
+              message.scope = reader.string();
+              break;
+            case /* int64 permission */
+            2:
+              message.permission = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.scope !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.scope);
+        if (message.permission !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.permission);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.CacheScope = new CacheScope$Type();
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js
-var require_blockBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) {
+// node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js
+var require_cachemetadata = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.CacheMetadata = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var cachescope_1 = require_cachescope();
+    var CacheMetadata$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.entities.v1.CacheMetadata", [
+          {
+            no: 1,
+            name: "repository_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 2, name: "scope", kind: "message", repeat: 1, T: () => cachescope_1.CacheScope }
+        ]);
+      }
+      create(value) {
+        const message = { repositoryId: "0", scope: [] };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 repository_id */
+            1:
+              message.repositoryId = reader.int64().toString();
+              break;
+            case /* repeated github.actions.results.entities.v1.CacheScope scope */
+            2:
+              message.scope.push(cachescope_1.CacheScope.internalBinaryRead(reader, reader.uint32(), options));
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.repositoryId !== "0")
+          writer.tag(1, runtime_1.WireType.Varint).int64(message.repositoryId);
+        for (let i = 0; i < message.scope.length; i++)
+          cachescope_1.CacheScope.internalBinaryWrite(message.scope[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.CacheMetadata = new CacheMetadata$Type();
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js
-var require_operationsInterfaces = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) {
+// node_modules/@actions/cache/lib/generated/results/api/v1/cache.js
+var require_cache4 = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_service2(), exports2);
-    tslib_1.__exportStar(require_container2(), exports2);
-    tslib_1.__exportStar(require_blob2(), exports2);
-    tslib_1.__exportStar(require_pageBlob2(), exports2);
-    tslib_1.__exportStar(require_appendBlob2(), exports2);
-    tslib_1.__exportStar(require_blockBlob2(), exports2);
+    exports2.CacheService = exports2.GetCacheEntryDownloadURLResponse = exports2.GetCacheEntryDownloadURLRequest = exports2.FinalizeCacheEntryUploadResponse = exports2.FinalizeCacheEntryUploadRequest = exports2.CreateCacheEntryResponse = exports2.CreateCacheEntryRequest = void 0;
+    var runtime_rpc_1 = require_commonjs17();
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var cachemetadata_1 = require_cachemetadata();
+    var CreateCacheEntryRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateCacheEntryRequest", [
+          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
+          {
+            no: 2,
+            name: "key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "version",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { key: "", version: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* github.actions.results.entities.v1.CacheMetadata metadata */
+            1:
+              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
+              break;
+            case /* string key */
+            2:
+              message.key = reader.string();
+              break;
+            case /* string version */
+            3:
+              message.version = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.metadata)
+          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.key !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
+        if (message.version !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.CreateCacheEntryRequest = new CreateCacheEntryRequest$Type();
+    var CreateCacheEntryResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateCacheEntryResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "message",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "", message: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            case /* string message */
+            3:
+              message.message = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        if (message.message !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.CreateCacheEntryResponse = new CreateCacheEntryResponse$Type();
+    var FinalizeCacheEntryUploadRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeCacheEntryUploadRequest", [
+          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
+          {
+            no: 2,
+            name: "key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "size_bytes",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 4,
+            name: "version",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { key: "", sizeBytes: "0", version: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* github.actions.results.entities.v1.CacheMetadata metadata */
+            1:
+              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
+              break;
+            case /* string key */
+            2:
+              message.key = reader.string();
+              break;
+            case /* int64 size_bytes */
+            3:
+              message.sizeBytes = reader.int64().toString();
+              break;
+            case /* string version */
+            4:
+              message.version = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.metadata)
+          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.key !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
+        if (message.sizeBytes !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.sizeBytes);
+        if (message.version !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeCacheEntryUploadRequest = new FinalizeCacheEntryUploadRequest$Type();
+    var FinalizeCacheEntryUploadResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeCacheEntryUploadResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "entry_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 3,
+            name: "message",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, entryId: "0", message: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 entry_id */
+            2:
+              message.entryId = reader.int64().toString();
+              break;
+            case /* string message */
+            3:
+              message.message = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.entryId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.entryId);
+        if (message.message !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeCacheEntryUploadResponse = new FinalizeCacheEntryUploadResponse$Type();
+    var GetCacheEntryDownloadURLRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetCacheEntryDownloadURLRequest", [
+          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
+          {
+            no: 2,
+            name: "key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "restore_keys",
+            kind: "scalar",
+            repeat: 2,
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 4,
+            name: "version",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { key: "", restoreKeys: [], version: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* github.actions.results.entities.v1.CacheMetadata metadata */
+            1:
+              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
+              break;
+            case /* string key */
+            2:
+              message.key = reader.string();
+              break;
+            case /* repeated string restore_keys */
+            3:
+              message.restoreKeys.push(reader.string());
+              break;
+            case /* string version */
+            4:
+              message.version = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.metadata)
+          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.key !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
+        for (let i = 0; i < message.restoreKeys.length; i++)
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.restoreKeys[i]);
+        if (message.version !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.GetCacheEntryDownloadURLRequest = new GetCacheEntryDownloadURLRequest$Type();
+    var GetCacheEntryDownloadURLResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetCacheEntryDownloadURLResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_download_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "matched_key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, signedDownloadUrl: "", matchedKey: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_download_url */
+            2:
+              message.signedDownloadUrl = reader.string();
+              break;
+            case /* string matched_key */
+            3:
+              message.matchedKey = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedDownloadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedDownloadUrl);
+        if (message.matchedKey !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.matchedKey);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.GetCacheEntryDownloadURLResponse = new GetCacheEntryDownloadURLResponse$Type();
+    exports2.CacheService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.CacheService", [
+      { name: "CreateCacheEntry", options: {}, I: exports2.CreateCacheEntryRequest, O: exports2.CreateCacheEntryResponse },
+      { name: "FinalizeCacheEntryUpload", options: {}, I: exports2.FinalizeCacheEntryUploadRequest, O: exports2.FinalizeCacheEntryUploadResponse },
+      { name: "GetCacheEntryDownloadURL", options: {}, I: exports2.GetCacheEntryDownloadURLRequest, O: exports2.GetCacheEntryDownloadURLResponse }
+    ]);
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js
-var require_src2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) {
+// node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js
+var require_cache_twirp_client = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_models(), exports2);
-    var storageClient_js_1 = require_storageClient();
-    Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() {
-      return storageClient_js_1.StorageClient;
-    } });
-    tslib_1.__exportStar(require_operationsInterfaces(), exports2);
+    exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0;
+    var cache_1 = require_cache4();
+    var CacheServiceClientJSON = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateCacheEntry.bind(this);
+        this.FinalizeCacheEntryUpload.bind(this);
+        this.GetCacheEntryDownloadURL.bind(this);
+      }
+      CreateCacheEntry(request2) {
+        const data = cache_1.CreateCacheEntryRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/json", data);
+        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      FinalizeCacheEntryUpload(request2) {
+        const data = cache_1.FinalizeCacheEntryUploadRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/json", data);
+        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      GetCacheEntryDownloadURL(request2) {
+        const data = cache_1.GetCacheEntryDownloadURLRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/json", data);
+        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+    };
+    exports2.CacheServiceClientJSON = CacheServiceClientJSON;
+    var CacheServiceClientProtobuf = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateCacheEntry.bind(this);
+        this.FinalizeCacheEntryUpload.bind(this);
+        this.GetCacheEntryDownloadURL.bind(this);
+      }
+      CreateCacheEntry(request2) {
+        const data = cache_1.CreateCacheEntryRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/protobuf", data);
+        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromBinary(data2));
+      }
+      FinalizeCacheEntryUpload(request2) {
+        const data = cache_1.FinalizeCacheEntryUploadRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/protobuf", data);
+        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromBinary(data2));
+      }
+      GetCacheEntryDownloadURL(request2) {
+        const data = cache_1.GetCacheEntryDownloadURLRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/protobuf", data);
+        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromBinary(data2));
+      }
+    };
+    exports2.CacheServiceClientProtobuf = CacheServiceClientProtobuf;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js
-var require_StorageContextClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) {
+// node_modules/@actions/cache/lib/internal/shared/util.js
+var require_util18 = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageContextClient = void 0;
-    var index_js_1 = require_src2();
-    var StorageContextClient = class extends index_js_1.StorageClient {
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const operationSpecToSend = { ...operationSpec };
-        if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") {
-          operationSpecToSend.path = "";
+    exports2.maskSigUrl = maskSigUrl;
+    exports2.maskSecretUrls = maskSecretUrls;
+    var core_1 = require_core();
+    function maskSigUrl(url2) {
+      if (!url2)
+        return;
+      try {
+        const parsedUrl = new URL(url2);
+        const signature = parsedUrl.searchParams.get("sig");
+        if (signature) {
+          (0, core_1.setSecret)(signature);
+          (0, core_1.setSecret)(encodeURIComponent(signature));
         }
-        return super.sendOperationRequest(operationArguments, operationSpecToSend);
+      } catch (error3) {
+        (0, core_1.debug)(`Failed to parse URL: ${url2} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
-    };
-    exports2.StorageContextClient = StorageContextClient;
+    }
+    function maskSecretUrls(body) {
+      if (typeof body !== "object" || body === null) {
+        (0, core_1.debug)("body is not an object or is null");
+        return;
+      }
+      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
+        maskSigUrl(body.signed_upload_url);
+      }
+      if ("signed_download_url" in body && typeof body.signed_download_url === "string") {
+        maskSigUrl(body.signed_download_url);
+      }
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js
-var require_StorageClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) {
+// node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js
+var require_cacheTwirpClient = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js"(exports2) {
     "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var StorageContextClient_js_1 = require_StorageContextClient();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var StorageClient = class {
-      /**
-       * Encoded URL string value.
-       */
-      url;
-      accountName;
-      /**
-       * Request policy pipeline.
-       *
-       * @internal
-       */
-      pipeline;
-      /**
-       * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
-       */
-      credential;
-      /**
-       * StorageClient is a reference to protocol layer operations entry, which is
-       * generated by AutoRest generator.
-       */
-      storageClientContext;
-      /**
-       */
-      isHttps;
-      /**
-       * Creates an instance of StorageClient.
-       * @param url - url to resource
-       * @param pipeline - request policy pipeline.
-       */
-      constructor(url2, pipeline) {
-        this.url = (0, utils_common_js_1.escapeURLPath)(url2);
-        this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url2);
-        this.pipeline = pipeline;
-        this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
-        this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https");
-        this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline);
-        const storageClientContext = this.storageClientContext;
-        storageClientContext.requestContentType = void 0;
+    exports2.internalCacheTwirpClient = internalCacheTwirpClient;
+    var core_1 = require_core();
+    var user_agent_1 = require_user_agent();
+    var errors_1 = require_errors3();
+    var config_1 = require_config();
+    var cacheUtils_1 = require_cacheUtils();
+    var auth_1 = require_auth();
+    var http_client_1 = require_lib();
+    var cache_twirp_client_1 = require_cache_twirp_client();
+    var util_1 = require_util18();
+    var CacheServiceClient = class {
+      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
+        this.maxAttempts = 5;
+        this.baseRetryIntervalMilliseconds = 3e3;
+        this.retryMultiplier = 1.5;
+        const token = (0, cacheUtils_1.getRuntimeToken)();
+        this.baseUrl = (0, config_1.getCacheServiceURL)();
+        if (maxAttempts) {
+          this.maxAttempts = maxAttempts;
+        }
+        if (baseRetryIntervalMilliseconds) {
+          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        }
+        if (retryMultiplier) {
+          this.retryMultiplier = retryMultiplier;
+        }
+        this.httpClient = new http_client_1.HttpClient(userAgent2, [
+          new auth_1.BearerCredentialHandler(token)
+        ]);
+      }
+      // This function satisfies the Rpc interface. It is compatible with the JSON
+      // JSON generated client.
+      request(service, method, contentType, data) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const url2 = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
+          (0, core_1.debug)(`[Request] ${method} ${url2}`);
+          const headers = {
+            "Content-Type": contentType
+          };
+          try {
+            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
+              return this.httpClient.post(url2, JSON.stringify(data), headers);
+            }));
+            return body;
+          } catch (error3) {
+            throw new Error(`Failed to ${method}: ${error3.message}`);
+          }
+        });
+      }
+      retryableRequest(operation) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let attempt = 0;
+          let errorMessage = "";
+          let rawBody = "";
+          while (attempt < this.maxAttempts) {
+            let isRetryable = false;
+            try {
+              const response = yield operation();
+              const statusCode = response.message.statusCode;
+              rawBody = yield response.readBody();
+              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
+              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
+              const body = JSON.parse(rawBody);
+              (0, util_1.maskSecretUrls)(body);
+              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
+              if (this.isSuccessStatusCode(statusCode)) {
+                return { response, body };
+              }
+              isRetryable = this.isRetryableHttpStatusCode(statusCode);
+              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
+              if (body.msg) {
+                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
+                  throw new errors_1.UsageError();
+                }
+                errorMessage = `${errorMessage}: ${body.msg}`;
+              }
+              if (statusCode === http_client_1.HttpCodes.TooManyRequests) {
+                const retryAfterHeader = response.message.headers["retry-after"];
+                if (retryAfterHeader) {
+                  const parsedSeconds = parseInt(retryAfterHeader, 10);
+                  if (!isNaN(parsedSeconds) && parsedSeconds > 0) {
+                    (0, core_1.warning)(`You've hit a rate limit, your rate limit will reset in ${parsedSeconds} seconds`);
+                  }
+                }
+                throw new errors_1.RateLimitError(`Rate limited: ${errorMessage}`);
+              }
+            } catch (error3) {
+              if (error3 instanceof SyntaxError) {
+                (0, core_1.debug)(`Raw Body: ${rawBody}`);
+              }
+              if (error3 instanceof errors_1.UsageError) {
+                throw error3;
+              }
+              if (error3 instanceof errors_1.RateLimitError) {
+                throw error3;
+              }
+              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+              }
+              isRetryable = true;
+              errorMessage = error3.message;
+            }
+            if (!isRetryable) {
+              throw new Error(`Received non-retryable error: ${errorMessage}`);
+            }
+            if (attempt + 1 === this.maxAttempts) {
+              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
+            }
+            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
+            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
+            yield this.sleep(retryTimeMilliseconds);
+            attempt++;
+          }
+          throw new Error(`Request failed`);
+        });
+      }
+      isSuccessStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        return statusCode >= 200 && statusCode < 300;
+      }
+      isRetryableHttpStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        const retryableStatusCodes = [
+          http_client_1.HttpCodes.BadGateway,
+          http_client_1.HttpCodes.GatewayTimeout,
+          http_client_1.HttpCodes.InternalServerError,
+          http_client_1.HttpCodes.ServiceUnavailable
+        ];
+        return retryableStatusCodes.includes(statusCode);
+      }
+      sleep(milliseconds) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve8) => setTimeout(resolve8, milliseconds));
+        });
+      }
+      getExponentialRetryTimeMilliseconds(attempt) {
+        if (attempt < 0) {
+          throw new Error("attempt should be a positive integer");
+        }
+        if (attempt === 0) {
+          return this.baseRetryIntervalMilliseconds;
+        }
+        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
+        const maxTime = minTime * this.retryMultiplier;
+        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
     };
-    exports2.StorageClient = StorageClient;
+    function internalCacheTwirpClient(options) {
+      const client = new CacheServiceClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
+      return new cache_twirp_client_1.CacheServiceClientJSON(client);
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js
-var require_tracing = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) {
+// node_modules/@actions/cache/lib/internal/tar.js
+var require_tar = __commonJS({
+  "node_modules/@actions/cache/lib/internal/tar.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tracingClient = void 0;
-    var core_tracing_1 = require_commonjs5();
-    var constants_js_1 = require_constants15();
-    exports2.tracingClient = (0, core_tracing_1.createTracingClient)({
-      packageName: "@azure/storage-blob",
-      packageVersion: constants_js_1.SDK_VERSION,
-      namespace: "Microsoft.Storage"
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
     });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.listTar = listTar;
+    exports2.extractTar = extractTar2;
+    exports2.createTar = createTar;
+    var exec_1 = require_exec();
+    var io7 = __importStar2(require_io());
+    var fs_1 = require("fs");
+    var path16 = __importStar2(require("path"));
+    var utils = __importStar2(require_cacheUtils());
+    var constants_1 = require_constants12();
+    var IS_WINDOWS = process.platform === "win32";
+    function getTarPath() {
+      return __awaiter2(this, void 0, void 0, function* () {
+        switch (process.platform) {
+          case "win32": {
+            const gnuTar = yield utils.getGnuTarPathOnWindows();
+            const systemTar = constants_1.SystemTarPathOnWindows;
+            if (gnuTar) {
+              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
+            } else if ((0, fs_1.existsSync)(systemTar)) {
+              return { path: systemTar, type: constants_1.ArchiveToolType.BSD };
+            }
+            break;
+          }
+          case "darwin": {
+            const gnuTar = yield io7.which("gtar", false);
+            if (gnuTar) {
+              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
+            } else {
+              return {
+                path: yield io7.which("tar", true),
+                type: constants_1.ArchiveToolType.BSD
+              };
+            }
+          }
+          default:
+            break;
+        }
+        return {
+          path: yield io7.which("tar", true),
+          type: constants_1.ArchiveToolType.GNU
+        };
+      });
+    }
+    function getTarArgs(tarPath_1, compressionMethod_1, type_1) {
+      return __awaiter2(this, arguments, void 0, function* (tarPath, compressionMethod, type2, archivePath = "") {
+        const args = [`"${tarPath.path}"`];
+        const cacheFileName = utils.getCacheFileName(compressionMethod);
+        const tarFile = "cache.tar";
+        const workingDirectory = getWorkingDirectory();
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        switch (type2) {
+          case "create":
+            args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename);
+            break;
+          case "extract":
+            args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path16.sep}`, "g"), "/"));
+            break;
+          case "list":
+            args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "-P");
+            break;
+        }
+        if (tarPath.type === constants_1.ArchiveToolType.GNU) {
+          switch (process.platform) {
+            case "win32":
+              args.push("--force-local");
+              break;
+            case "darwin":
+              args.push("--delay-directory-restore");
+              break;
+          }
+        }
+        return args;
+      });
+    }
+    function getCommands(compressionMethod_1, type_1) {
+      return __awaiter2(this, arguments, void 0, function* (compressionMethod, type2, archivePath = "") {
+        let args;
+        const tarPath = yield getTarPath();
+        const tarArgs = yield getTarArgs(tarPath, compressionMethod, type2, archivePath);
+        const compressionArgs = type2 !== "create" ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath) : yield getCompressionProgram(tarPath, compressionMethod);
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        if (BSD_TAR_ZSTD && type2 !== "create") {
+          args = [[...compressionArgs].join(" "), [...tarArgs].join(" ")];
+        } else {
+          args = [[...tarArgs].join(" "), [...compressionArgs].join(" ")];
+        }
+        if (BSD_TAR_ZSTD) {
+          return args;
+        }
+        return [args.join(" ")];
+      });
+    }
+    function getWorkingDirectory() {
+      var _a;
+      return (_a = process.env["GITHUB_WORKSPACE"]) !== null && _a !== void 0 ? _a : process.cwd();
+    }
+    function getDecompressionProgram(tarPath, compressionMethod, archivePath) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        switch (compressionMethod) {
+          case constants_1.CompressionMethod.Zstd:
+            return BSD_TAR_ZSTD ? [
+              "zstd -d --long=30 --force -o",
+              constants_1.TarFilename,
+              archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/")
+            ] : [
+              "--use-compress-program",
+              IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30"
+            ];
+          case constants_1.CompressionMethod.ZstdWithoutLong:
+            return BSD_TAR_ZSTD ? [
+              "zstd -d --force -o",
+              constants_1.TarFilename,
+              archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/")
+            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"];
+          default:
+            return ["-z"];
+        }
+      });
+    }
+    function getCompressionProgram(tarPath, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const cacheFileName = utils.getCacheFileName(compressionMethod);
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        switch (compressionMethod) {
+          case constants_1.CompressionMethod.Zstd:
+            return BSD_TAR_ZSTD ? [
+              "zstd -T0 --long=30 --force -o",
+              cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"),
+              constants_1.TarFilename
+            ] : [
+              "--use-compress-program",
+              IS_WINDOWS ? '"zstd -T0 --long=30"' : "zstdmt --long=30"
+            ];
+          case constants_1.CompressionMethod.ZstdWithoutLong:
+            return BSD_TAR_ZSTD ? [
+              "zstd -T0 --force -o",
+              cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"),
+              constants_1.TarFilename
+            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"];
+          default:
+            return ["-z"];
+        }
+      });
+    }
+    function execCommands(commands, cwd) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        for (const command of commands) {
+          try {
+            yield (0, exec_1.exec)(command, void 0, {
+              cwd,
+              env: Object.assign(Object.assign({}, process.env), { MSYS: "winsymlinks:nativestrict" })
+            });
+          } catch (error3) {
+            throw new Error(`${command.split(" ")[0]} failed with error: ${error3 === null || error3 === void 0 ? void 0 : error3.message}`);
+          }
+        }
+      });
+    }
+    function listTar(archivePath, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const commands = yield getCommands(compressionMethod, "list", archivePath);
+        yield execCommands(commands);
+      });
+    }
+    function extractTar2(archivePath, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const workingDirectory = getWorkingDirectory();
+        yield io7.mkdirP(workingDirectory);
+        const commands = yield getCommands(compressionMethod, "extract", archivePath);
+        yield execCommands(commands);
+      });
+    }
+    function createTar(archiveFolder, sourceDirectories, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, fs_1.writeFileSync)(path16.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n"));
+        const commands = yield getCommands(compressionMethod, "create");
+        yield execCommands(commands, archiveFolder);
+      });
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js
-var require_BlobSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) {
+// node_modules/@actions/cache/lib/cache.js
+var require_cache5 = __commonJS({
+  "node_modules/@actions/cache/lib/cache.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobSASPermissions = void 0;
-    var BlobSASPermissions = class _BlobSASPermissions {
-      /**
-       * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid permission.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const blobSASPermissions = new _BlobSASPermissions();
-        for (const char of permissions) {
-          switch (char) {
-            case "r":
-              blobSASPermissions.read = true;
-              break;
-            case "a":
-              blobSASPermissions.add = true;
-              break;
-            case "c":
-              blobSASPermissions.create = true;
-              break;
-            case "w":
-              blobSASPermissions.write = true;
-              break;
-            case "d":
-              blobSASPermissions.delete = true;
-              break;
-            case "x":
-              blobSASPermissions.deleteVersion = true;
-              break;
-            case "t":
-              blobSASPermissions.tag = true;
-              break;
-            case "m":
-              blobSASPermissions.move = true;
-              break;
-            case "e":
-              blobSASPermissions.execute = true;
-              break;
-            case "i":
-              blobSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              blobSASPermissions.permanentDelete = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission: ${char}`);
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
           }
         }
-        return blobSASPermissions;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.FinalizeCacheError = exports2.ReserveCacheError = exports2.ValidationError = void 0;
+    exports2.isFeatureAvailable = isFeatureAvailable;
+    exports2.restoreCache = restoreCache4;
+    exports2.saveCache = saveCache4;
+    var core17 = __importStar2(require_core());
+    var path16 = __importStar2(require("path"));
+    var utils = __importStar2(require_cacheUtils());
+    var cacheHttpClient = __importStar2(require_cacheHttpClient());
+    var cacheTwirpClient = __importStar2(require_cacheTwirpClient());
+    var config_1 = require_config();
+    var tar_1 = require_tar();
+    var http_client_1 = require_lib();
+    var ValidationError = class _ValidationError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "ValidationError";
+        Object.setPrototypeOf(this, _ValidationError.prototype);
       }
-      /**
-       * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const blobSASPermissions = new _BlobSASPermissions();
-        if (permissionLike.read) {
-          blobSASPermissions.read = true;
+    };
+    exports2.ValidationError = ValidationError;
+    var ReserveCacheError2 = class _ReserveCacheError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "ReserveCacheError";
+        Object.setPrototypeOf(this, _ReserveCacheError.prototype);
+      }
+    };
+    exports2.ReserveCacheError = ReserveCacheError2;
+    var FinalizeCacheError = class _FinalizeCacheError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "FinalizeCacheError";
+        Object.setPrototypeOf(this, _FinalizeCacheError.prototype);
+      }
+    };
+    exports2.FinalizeCacheError = FinalizeCacheError;
+    function checkPaths(paths) {
+      if (!paths || paths.length === 0) {
+        throw new ValidationError(`Path Validation Error: At least one directory or file path is required`);
+      }
+    }
+    function checkKey(key) {
+      if (key.length > 512) {
+        throw new ValidationError(`Key Validation Error: ${key} cannot be larger than 512 characters.`);
+      }
+      const regex = /^[^,]*$/;
+      if (!regex.test(key)) {
+        throw new ValidationError(`Key Validation Error: ${key} cannot contain commas.`);
+      }
+    }
+    function isFeatureAvailable() {
+      const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
+      switch (cacheServiceVersion) {
+        case "v2":
+          return !!process.env["ACTIONS_RESULTS_URL"];
+        case "v1":
+        default:
+          return !!process.env["ACTIONS_CACHE_URL"];
+      }
+    }
+    function restoreCache4(paths_1, primaryKey_1, restoreKeys_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
+        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
+        core17.debug(`Cache service version: ${cacheServiceVersion}`);
+        checkPaths(paths);
+        switch (cacheServiceVersion) {
+          case "v2":
+            return yield restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
+          case "v1":
+          default:
+            return yield restoreCacheV1(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
         }
-        if (permissionLike.add) {
-          blobSASPermissions.add = true;
+      });
+    }
+    function restoreCacheV1(paths_1, primaryKey_1, restoreKeys_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
+        restoreKeys = restoreKeys || [];
+        const keys = [primaryKey, ...restoreKeys];
+        core17.debug("Resolved Keys:");
+        core17.debug(JSON.stringify(keys));
+        if (keys.length > 10) {
+          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
         }
-        if (permissionLike.create) {
-          blobSASPermissions.create = true;
+        for (const key of keys) {
+          checkKey(key);
         }
-        if (permissionLike.write) {
-          blobSASPermissions.write = true;
+        const compressionMethod = yield utils.getCompressionMethod();
+        let archivePath = "";
+        try {
+          const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, {
+            compressionMethod,
+            enableCrossOsArchive
+          });
+          if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) {
+            return void 0;
+          }
+          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
+            core17.info("Lookup only - skipping download");
+            return cacheEntry.cacheKey;
+          }
+          archivePath = path16.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
+          core17.debug(`Archive Path: ${archivePath}`);
+          yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options);
+          if (core17.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core17.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
+          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
+          core17.info("Cache restored successfully");
+          return cacheEntry.cacheKey;
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core17.error(`Failed to restore: ${error3.message}`);
+            } else {
+              core17.warning(`Failed to restore: ${error3.message}`);
+            }
+          }
+        } finally {
+          try {
+            yield utils.unlinkFile(archivePath);
+          } catch (error3) {
+            core17.debug(`Failed to delete archive: ${error3}`);
+          }
         }
-        if (permissionLike.delete) {
-          blobSASPermissions.delete = true;
+        return void 0;
+      });
+    }
+    function restoreCacheV2(paths_1, primaryKey_1, restoreKeys_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
+        options = Object.assign(Object.assign({}, options), { useAzureSdk: true });
+        restoreKeys = restoreKeys || [];
+        const keys = [primaryKey, ...restoreKeys];
+        core17.debug("Resolved Keys:");
+        core17.debug(JSON.stringify(keys));
+        if (keys.length > 10) {
+          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
         }
-        if (permissionLike.deleteVersion) {
-          blobSASPermissions.deleteVersion = true;
+        for (const key of keys) {
+          checkKey(key);
         }
-        if (permissionLike.tag) {
-          blobSASPermissions.tag = true;
+        let archivePath = "";
+        try {
+          const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
+          const compressionMethod = yield utils.getCompressionMethod();
+          const request2 = {
+            key: primaryKey,
+            restoreKeys,
+            version: utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive)
+          };
+          const response = yield twirpClient.GetCacheEntryDownloadURL(request2);
+          if (!response.ok) {
+            core17.debug(`Cache not found for version ${request2.version} of keys: ${keys.join(", ")}`);
+            return void 0;
+          }
+          const isRestoreKeyMatch = request2.key !== response.matchedKey;
+          if (isRestoreKeyMatch) {
+            core17.info(`Cache hit for restore-key: ${response.matchedKey}`);
+          } else {
+            core17.info(`Cache hit for: ${response.matchedKey}`);
+          }
+          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
+            core17.info("Lookup only - skipping download");
+            return response.matchedKey;
+          }
+          archivePath = path16.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
+          core17.debug(`Archive path: ${archivePath}`);
+          core17.debug(`Starting download of archive to: ${archivePath}`);
+          yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options);
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core17.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
+          if (core17.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
+          core17.info("Cache restored successfully");
+          return response.matchedKey;
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core17.error(`Failed to restore: ${error3.message}`);
+            } else {
+              core17.warning(`Failed to restore: ${error3.message}`);
+            }
+          }
+        } finally {
+          try {
+            if (archivePath) {
+              yield utils.unlinkFile(archivePath);
+            }
+          } catch (error3) {
+            core17.debug(`Failed to delete archive: ${error3}`);
+          }
         }
-        if (permissionLike.move) {
-          blobSASPermissions.move = true;
+        return void 0;
+      });
+    }
+    function saveCache4(paths_1, key_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
+        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
+        core17.debug(`Cache service version: ${cacheServiceVersion}`);
+        checkPaths(paths);
+        checkKey(key);
+        switch (cacheServiceVersion) {
+          case "v2":
+            return yield saveCacheV2(paths, key, options, enableCrossOsArchive);
+          case "v1":
+          default:
+            return yield saveCacheV1(paths, key, options, enableCrossOsArchive);
         }
-        if (permissionLike.execute) {
-          blobSASPermissions.execute = true;
+      });
+    }
+    function saveCacheV1(paths_1, key_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
+        var _a, _b, _c, _d, _e;
+        const compressionMethod = yield utils.getCompressionMethod();
+        let cacheId = -1;
+        const cachePaths = yield utils.resolvePaths(paths);
+        core17.debug("Cache Paths:");
+        core17.debug(`${JSON.stringify(cachePaths)}`);
+        if (cachePaths.length === 0) {
+          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
         }
-        if (permissionLike.setImmutabilityPolicy) {
-          blobSASPermissions.setImmutabilityPolicy = true;
+        const archiveFolder = yield utils.createTempDirectory();
+        const archivePath = path16.join(archiveFolder, utils.getCacheFileName(compressionMethod));
+        core17.debug(`Archive Path: ${archivePath}`);
+        try {
+          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
+          if (core17.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          const fileSizeLimit = 10 * 1024 * 1024 * 1024;
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core17.debug(`File Size: ${archiveFileSize}`);
+          if (archiveFileSize > fileSizeLimit && !(0, config_1.isGhes)()) {
+            throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`);
+          }
+          core17.debug("Reserving Cache");
+          const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, {
+            compressionMethod,
+            enableCrossOsArchive,
+            cacheSize: archiveFileSize
+          });
+          if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) {
+            cacheId = (_b = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _b === void 0 ? void 0 : _b.cacheId;
+          } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) {
+            throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`);
+          } else {
+            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`);
+          }
+          core17.debug(`Saving Cache (ID: ${cacheId})`);
+          yield cacheHttpClient.saveCache(cacheId, archivePath, "", options);
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else if (typedError.name === ReserveCacheError2.name) {
+            core17.info(`Failed to save: ${typedError.message}`);
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core17.error(`Failed to save: ${typedError.message}`);
+            } else {
+              core17.warning(`Failed to save: ${typedError.message}`);
+            }
+          }
+        } finally {
+          try {
+            yield utils.unlinkFile(archivePath);
+          } catch (error3) {
+            core17.debug(`Failed to delete archive: ${error3}`);
+          }
         }
-        if (permissionLike.permanentDelete) {
-          blobSASPermissions.permanentDelete = true;
+        return cacheId;
+      });
+    }
+    function saveCacheV2(paths_1, key_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
+        options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true });
+        const compressionMethod = yield utils.getCompressionMethod();
+        const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
+        let cacheId = -1;
+        const cachePaths = yield utils.resolvePaths(paths);
+        core17.debug("Cache Paths:");
+        core17.debug(`${JSON.stringify(cachePaths)}`);
+        if (cachePaths.length === 0) {
+          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
         }
-        return blobSASPermissions;
+        const archiveFolder = yield utils.createTempDirectory();
+        const archivePath = path16.join(archiveFolder, utils.getCacheFileName(compressionMethod));
+        core17.debug(`Archive Path: ${archivePath}`);
+        try {
+          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
+          if (core17.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core17.debug(`File Size: ${archiveFileSize}`);
+          options.archiveSizeBytes = archiveFileSize;
+          core17.debug("Reserving Cache");
+          const version = utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive);
+          const request2 = {
+            key,
+            version
+          };
+          let signedUploadUrl;
+          try {
+            const response = yield twirpClient.CreateCacheEntry(request2);
+            if (!response.ok) {
+              if (response.message) {
+                core17.warning(`Cache reservation failed: ${response.message}`);
+              }
+              throw new Error(response.message || "Response was not ok");
+            }
+            signedUploadUrl = response.signedUploadUrl;
+          } catch (error3) {
+            core17.debug(`Failed to reserve cache: ${error3}`);
+            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache.`);
+          }
+          core17.debug(`Attempting to upload cache located at: ${archivePath}`);
+          yield cacheHttpClient.saveCache(cacheId, archivePath, signedUploadUrl, options);
+          const finalizeRequest = {
+            key,
+            version,
+            sizeBytes: `${archiveFileSize}`
+          };
+          const finalizeResponse = yield twirpClient.FinalizeCacheEntryUpload(finalizeRequest);
+          core17.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`);
+          if (!finalizeResponse.ok) {
+            if (finalizeResponse.message) {
+              throw new FinalizeCacheError(finalizeResponse.message);
+            }
+            throw new Error(`Unable to finalize cache with key ${key}, another job may be finalizing this cache.`);
+          }
+          cacheId = parseInt(finalizeResponse.entryId);
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else if (typedError.name === ReserveCacheError2.name) {
+            core17.info(`Failed to save: ${typedError.message}`);
+          } else if (typedError.name === FinalizeCacheError.name) {
+            core17.warning(typedError.message);
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core17.error(`Failed to save: ${typedError.message}`);
+            } else {
+              core17.warning(`Failed to save: ${typedError.message}`);
+            }
+          }
+        } finally {
+          try {
+            yield utils.unlinkFile(archivePath);
+          } catch (error3) {
+            core17.debug(`Failed to delete archive: ${error3}`);
+          }
+        }
+        return cacheId;
+      });
+    }
+  }
+});
+
+// node_modules/@actions/tool-cache/lib/manifest.js
+var require_manifest = __commonJS({
+  "node_modules/@actions/tool-cache/lib/manifest.js"(exports2, module2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      /**
-       * Specifies Read access granted.
-       */
-      read = false;
-      /**
-       * Specifies Add access granted.
-       */
-      add = false;
-      /**
-       * Specifies Create access granted.
-       */
-      create = false;
-      /**
-       * Specifies Write access granted.
-       */
-      write = false;
-      /**
-       * Specifies Delete access granted.
-       */
-      delete = false;
-      /**
-       * Specifies Delete version access granted.
-       */
-      deleteVersion = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Specifies Move access granted.
-       */
-      move = false;
-      /**
-       * Specifies Execute access granted.
-       */
-      execute = false;
-      /**
-       * Specifies SetImmutabilityPolicy access granted.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
-       * order accepted by the service.
-       *
-       * @returns A string which represents the BlobSASPermissions
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
-        if (this.add) {
-          permissions.push("a");
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (this.create) {
-          permissions.push("c");
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (this.write) {
-          permissions.push("w");
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-        if (this.delete) {
-          permissions.push("d");
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2._findMatch = _findMatch;
+    exports2._getOsVersion = _getOsVersion;
+    exports2._readLinuxVersionFile = _readLinuxVersionFile;
+    var semver9 = __importStar2(require_semver2());
+    var core_1 = require_core();
+    var os4 = require("os");
+    var cp = require("child_process");
+    var fs18 = require("fs");
+    function _findMatch(versionSpec, stable, candidates, archFilter) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const platFilter = os4.platform();
+        let result;
+        let match;
+        let file;
+        for (const candidate of candidates) {
+          const version = candidate.version;
+          (0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
+          if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
+            file = candidate.files.find((item) => {
+              (0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
+              let chk = item.arch === archFilter && item.platform === platFilter;
+              if (chk && item.platform_version) {
+                const osVersion = module2.exports._getOsVersion();
+                if (osVersion === item.platform_version) {
+                  chk = true;
+                } else {
+                  chk = semver9.satisfies(osVersion, item.platform_version);
+                }
+              }
+              return chk;
+            });
+            if (file) {
+              (0, core_1.debug)(`matched ${candidate.version}`);
+              match = candidate;
+              break;
+            }
+          }
         }
-        if (this.deleteVersion) {
-          permissions.push("x");
+        if (match && file) {
+          result = Object.assign({}, match);
+          result.files = [file];
+        }
+        return result;
+      });
+    }
+    function _getOsVersion() {
+      const plat = os4.platform();
+      let version = "";
+      if (plat === "darwin") {
+        version = cp.execSync("sw_vers -productVersion").toString();
+      } else if (plat === "linux") {
+        const lsbContents = module2.exports._readLinuxVersionFile();
+        if (lsbContents) {
+          const lines = lsbContents.split("\n");
+          for (const line of lines) {
+            const parts = line.split("=");
+            if (parts.length === 2 && (parts[0].trim() === "VERSION_ID" || parts[0].trim() === "DISTRIB_RELEASE")) {
+              version = parts[1].trim().replace(/^"/, "").replace(/"$/, "");
+              break;
+            }
+          }
+        }
+      }
+      return version;
+    }
+    function _readLinuxVersionFile() {
+      const lsbReleaseFile = "/etc/lsb-release";
+      const osReleaseFile = "/etc/os-release";
+      let contents = "";
+      if (fs18.existsSync(lsbReleaseFile)) {
+        contents = fs18.readFileSync(lsbReleaseFile).toString();
+      } else if (fs18.existsSync(osReleaseFile)) {
+        contents = fs18.readFileSync(osReleaseFile).toString();
+      }
+      return contents;
+    }
+  }
+});
+
+// node_modules/@actions/tool-cache/lib/retry-helper.js
+var require_retry_helper = __commonJS({
+  "node_modules/@actions/tool-cache/lib/retry-helper.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
-        if (this.tag) {
-          permissions.push("t");
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (this.move) {
-          permissions.push("m");
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (this.execute) {
-          permissions.push("e");
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RetryHelper = void 0;
+    var core17 = __importStar2(require_core());
+    var RetryHelper = class {
+      constructor(maxAttempts, minSeconds, maxSeconds) {
+        if (maxAttempts < 1) {
+          throw new Error("max attempts should be greater than or equal to 1");
         }
-        if (this.permanentDelete) {
-          permissions.push("y");
+        this.maxAttempts = maxAttempts;
+        this.minSeconds = Math.floor(minSeconds);
+        this.maxSeconds = Math.floor(maxSeconds);
+        if (this.minSeconds > this.maxSeconds) {
+          throw new Error("min seconds should be less than or equal to max seconds");
         }
-        return permissions.join("");
+      }
+      execute(action, isRetryable) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let attempt = 1;
+          while (attempt < this.maxAttempts) {
+            try {
+              return yield action();
+            } catch (err) {
+              if (isRetryable && !isRetryable(err)) {
+                throw err;
+              }
+              core17.info(err.message);
+            }
+            const seconds = this.getSleepAmount();
+            core17.info(`Waiting ${seconds} seconds before trying again`);
+            yield this.sleep(seconds);
+            attempt++;
+          }
+          return yield action();
+        });
+      }
+      getSleepAmount() {
+        return Math.floor(Math.random() * (this.maxSeconds - this.minSeconds + 1)) + this.minSeconds;
+      }
+      sleep(seconds) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve8) => setTimeout(resolve8, seconds * 1e3));
+        });
       }
     };
-    exports2.BlobSASPermissions = BlobSASPermissions;
+    exports2.RetryHelper = RetryHelper;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js
-var require_ContainerSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) {
+// node_modules/@actions/tool-cache/lib/tool-cache.js
+var require_tool_cache = __commonJS({
+  "node_modules/@actions/tool-cache/lib/tool-cache.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerSASPermissions = void 0;
-    var ContainerSASPermissions = class _ContainerSASPermissions {
-      /**
-       * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid permission.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const containerSASPermissions = new _ContainerSASPermissions();
-        for (const char of permissions) {
-          switch (char) {
-            case "r":
-              containerSASPermissions.read = true;
-              break;
-            case "a":
-              containerSASPermissions.add = true;
-              break;
-            case "c":
-              containerSASPermissions.create = true;
-              break;
-            case "w":
-              containerSASPermissions.write = true;
-              break;
-            case "d":
-              containerSASPermissions.delete = true;
-              break;
-            case "l":
-              containerSASPermissions.list = true;
-              break;
-            case "t":
-              containerSASPermissions.tag = true;
-              break;
-            case "x":
-              containerSASPermissions.deleteVersion = true;
-              break;
-            case "m":
-              containerSASPermissions.move = true;
-              break;
-            case "e":
-              containerSASPermissions.execute = true;
-              break;
-            case "i":
-              containerSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              containerSASPermissions.permanentDelete = true;
-              break;
-            case "f":
-              containerSASPermissions.filterByTags = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission ${char}`);
-          }
-        }
-        return containerSASPermissions;
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      /**
-       * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const containerSASPermissions = new _ContainerSASPermissions();
-        if (permissionLike.read) {
-          containerSASPermissions.read = true;
-        }
-        if (permissionLike.add) {
-          containerSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          containerSASPermissions.create = true;
-        }
-        if (permissionLike.write) {
-          containerSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          containerSASPermissions.delete = true;
-        }
-        if (permissionLike.list) {
-          containerSASPermissions.list = true;
-        }
-        if (permissionLike.deleteVersion) {
-          containerSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.tag) {
-          containerSASPermissions.tag = true;
-        }
-        if (permissionLike.move) {
-          containerSASPermissions.move = true;
-        }
-        if (permissionLike.execute) {
-          containerSASPermissions.execute = true;
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
-        if (permissionLike.setImmutabilityPolicy) {
-          containerSASPermissions.setImmutabilityPolicy = true;
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (permissionLike.permanentDelete) {
-          containerSASPermissions.permanentDelete = true;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (permissionLike.filterByTags) {
-          containerSASPermissions.filterByTags = true;
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-        return containerSASPermissions;
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HTTPError = void 0;
+    exports2.downloadTool = downloadTool2;
+    exports2.extract7z = extract7z;
+    exports2.extractTar = extractTar2;
+    exports2.extractXar = extractXar;
+    exports2.extractZip = extractZip;
+    exports2.cacheDir = cacheDir;
+    exports2.cacheFile = cacheFile;
+    exports2.find = find2;
+    exports2.findAllVersions = findAllVersions2;
+    exports2.getManifestFromRepo = getManifestFromRepo;
+    exports2.findFromManifest = findFromManifest;
+    exports2.isExplicitVersion = isExplicitVersion;
+    exports2.evaluateVersions = evaluateVersions;
+    var core17 = __importStar2(require_core());
+    var io7 = __importStar2(require_io());
+    var crypto2 = __importStar2(require("crypto"));
+    var fs18 = __importStar2(require("fs"));
+    var mm = __importStar2(require_manifest());
+    var os4 = __importStar2(require("os"));
+    var path16 = __importStar2(require("path"));
+    var httpm = __importStar2(require_lib());
+    var semver9 = __importStar2(require_semver2());
+    var stream2 = __importStar2(require("stream"));
+    var util = __importStar2(require("util"));
+    var assert_1 = require("assert");
+    var exec_1 = require_exec();
+    var retry_helper_1 = require_retry_helper();
+    var HTTPError2 = class extends Error {
+      constructor(httpStatusCode) {
+        super(`Unexpected HTTP response: ${httpStatusCode}`);
+        this.httpStatusCode = httpStatusCode;
+        Object.setPrototypeOf(this, new.target.prototype);
       }
-      /**
-       * Specifies Read access granted.
-       */
-      read = false;
-      /**
-       * Specifies Add access granted.
-       */
-      add = false;
-      /**
-       * Specifies Create access granted.
-       */
-      create = false;
-      /**
-       * Specifies Write access granted.
-       */
-      write = false;
-      /**
-       * Specifies Delete access granted.
-       */
-      delete = false;
-      /**
-       * Specifies Delete version access granted.
-       */
-      deleteVersion = false;
-      /**
-       * Specifies List access granted.
-       */
-      list = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Specifies Move access granted.
-       */
-      move = false;
-      /**
-       * Specifies Execute access granted.
-       */
-      execute = false;
-      /**
-       * Specifies SetImmutabilityPolicy access granted.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Specifies that Filter Blobs by Tags is permitted.
-       */
-      filterByTags = false;
-      /**
-       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
-       * order accepted by the service.
-       *
-       * The order of the characters should be as specified here to ensure correctness.
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.add) {
-          permissions.push("a");
+    };
+    exports2.HTTPError = HTTPError2;
+    var IS_WINDOWS = process.platform === "win32";
+    var IS_MAC = process.platform === "darwin";
+    var userAgent2 = "actions/tool-cache";
+    function downloadTool2(url2, dest, auth2, headers) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        dest = dest || path16.join(_getTempDirectory(), crypto2.randomUUID());
+        yield io7.mkdirP(path16.dirname(dest));
+        core17.debug(`Downloading ${url2}`);
+        core17.debug(`Destination ${dest}`);
+        const maxAttempts = 3;
+        const minSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS", 10);
+        const maxSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS", 20);
+        const retryHelper = new retry_helper_1.RetryHelper(maxAttempts, minSeconds, maxSeconds);
+        return yield retryHelper.execute(() => __awaiter2(this, void 0, void 0, function* () {
+          return yield downloadToolAttempt(url2, dest || "", auth2, headers);
+        }), (err) => {
+          if (err instanceof HTTPError2 && err.httpStatusCode) {
+            if (err.httpStatusCode < 500 && err.httpStatusCode !== 408 && err.httpStatusCode !== 429) {
+              return false;
+            }
+          }
+          return true;
+        });
+      });
+    }
+    function downloadToolAttempt(url2, dest, auth2, headers) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        if (fs18.existsSync(dest)) {
+          throw new Error(`Destination file path ${dest} already exists`);
         }
-        if (this.create) {
-          permissions.push("c");
+        const http = new httpm.HttpClient(userAgent2, [], {
+          allowRetries: false
+        });
+        if (auth2) {
+          core17.debug("set auth");
+          if (headers === void 0) {
+            headers = {};
+          }
+          headers.authorization = auth2;
         }
-        if (this.write) {
-          permissions.push("w");
+        const response = yield http.get(url2, headers);
+        if (response.message.statusCode !== 200) {
+          const err = new HTTPError2(response.message.statusCode);
+          core17.debug(`Failed to download from "${url2}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`);
+          throw err;
         }
-        if (this.delete) {
-          permissions.push("d");
+        const pipeline = util.promisify(stream2.pipeline);
+        const responseMessageFactory = _getGlobal("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY", () => response.message);
+        const readStream = responseMessageFactory();
+        let succeeded = false;
+        try {
+          yield pipeline(readStream, fs18.createWriteStream(dest));
+          core17.debug("download complete");
+          succeeded = true;
+          return dest;
+        } finally {
+          if (!succeeded) {
+            core17.debug("download failed");
+            try {
+              yield io7.rmRF(dest);
+            } catch (err) {
+              core17.debug(`Failed to delete '${dest}'. ${err.message}`);
+            }
+          }
         }
-        if (this.deleteVersion) {
-          permissions.push("x");
+      });
+    }
+    function extract7z(file, dest, _7zPath) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, assert_1.ok)(IS_WINDOWS, "extract7z() not supported on current OS");
+        (0, assert_1.ok)(file, 'parameter "file" is required');
+        dest = yield _createExtractFolder(dest);
+        const originalCwd = process.cwd();
+        process.chdir(dest);
+        if (_7zPath) {
+          try {
+            const logLevel = core17.isDebug() ? "-bb1" : "-bb0";
+            const args = [
+              "x",
+              // eXtract files with full paths
+              logLevel,
+              // -bb[0-3] : set output log level
+              "-bd",
+              // disable progress indicator
+              "-sccUTF-8",
+              // set charset for for console input/output
+              file
+            ];
+            const options = {
+              silent: true
+            };
+            yield (0, exec_1.exec)(`"${_7zPath}"`, args, options);
+          } finally {
+            process.chdir(originalCwd);
+          }
+        } else {
+          const escapedScript = path16.join(__dirname, "..", "scripts", "Invoke-7zdec.ps1").replace(/'/g, "''").replace(/"|\n|\r/g, "");
+          const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, "");
+          const escapedTarget = dest.replace(/'/g, "''").replace(/"|\n|\r/g, "");
+          const command = `& '${escapedScript}' -Source '${escapedFile}' -Target '${escapedTarget}'`;
+          const args = [
+            "-NoLogo",
+            "-Sta",
+            "-NoProfile",
+            "-NonInteractive",
+            "-ExecutionPolicy",
+            "Unrestricted",
+            "-Command",
+            command
+          ];
+          const options = {
+            silent: true
+          };
+          try {
+            const powershellPath = yield io7.which("powershell", true);
+            yield (0, exec_1.exec)(`"${powershellPath}"`, args, options);
+          } finally {
+            process.chdir(originalCwd);
+          }
         }
-        if (this.list) {
-          permissions.push("l");
+        return dest;
+      });
+    }
+    function extractTar2(file_1, dest_1) {
+      return __awaiter2(this, arguments, void 0, function* (file, dest, flags = "xz") {
+        if (!file) {
+          throw new Error("parameter 'file' is required");
         }
-        if (this.tag) {
-          permissions.push("t");
+        dest = yield _createExtractFolder(dest);
+        core17.debug("Checking tar --version");
+        let versionOutput = "";
+        yield (0, exec_1.exec)("tar --version", [], {
+          ignoreReturnCode: true,
+          silent: true,
+          listeners: {
+            stdout: (data) => versionOutput += data.toString(),
+            stderr: (data) => versionOutput += data.toString()
+          }
+        });
+        core17.debug(versionOutput.trim());
+        const isGnuTar = versionOutput.toUpperCase().includes("GNU TAR");
+        let args;
+        if (flags instanceof Array) {
+          args = flags;
+        } else {
+          args = [flags];
         }
-        if (this.move) {
-          permissions.push("m");
+        if (core17.isDebug() && !flags.includes("v")) {
+          args.push("-v");
         }
-        if (this.execute) {
-          permissions.push("e");
+        let destArg = dest;
+        let fileArg = file;
+        if (IS_WINDOWS && isGnuTar) {
+          args.push("--force-local");
+          destArg = dest.replace(/\\/g, "/");
+          fileArg = file.replace(/\\/g, "/");
         }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
+        if (isGnuTar) {
+          args.push("--warning=no-unknown-keyword");
+          args.push("--overwrite");
         }
-        if (this.permanentDelete) {
-          permissions.push("y");
+        args.push("-C", destArg, "-f", fileArg);
+        yield (0, exec_1.exec)(`tar`, args);
+        return dest;
+      });
+    }
+    function extractXar(file_1, dest_1) {
+      return __awaiter2(this, arguments, void 0, function* (file, dest, flags = []) {
+        (0, assert_1.ok)(IS_MAC, "extractXar() not supported on current OS");
+        (0, assert_1.ok)(file, 'parameter "file" is required');
+        dest = yield _createExtractFolder(dest);
+        let args;
+        if (flags instanceof Array) {
+          args = flags;
+        } else {
+          args = [flags];
         }
-        if (this.filterByTags) {
-          permissions.push("f");
+        args.push("-x", "-C", dest, "-f", file);
+        if (core17.isDebug()) {
+          args.push("-v");
         }
-        return permissions.join("");
-      }
-    };
-    exports2.ContainerSASPermissions = ContainerSASPermissions;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js
-var require_UserDelegationKeyCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UserDelegationKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var UserDelegationKeyCredential = class {
-      /**
-       * Azure Storage account name; readonly.
-       */
-      accountName;
-      /**
-       * Azure Storage user delegation key; readonly.
-       */
-      userDelegationKey;
-      /**
-       * Key value in Buffer type.
-       */
-      key;
-      /**
-       * Creates an instance of UserDelegationKeyCredential.
-       * @param accountName -
-       * @param userDelegationKey -
-       */
-      constructor(accountName, userDelegationKey) {
-        this.accountName = accountName;
-        this.userDelegationKey = userDelegationKey;
-        this.key = Buffer.from(userDelegationKey.value, "base64");
-      }
-      /**
-       * Generates a hash signature for an HTTP request or for a SAS.
-       *
-       * @param stringToSign -
-       */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64");
-      }
-    };
-    exports2.UserDelegationKeyCredential = UserDelegationKeyCredential;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js
-var require_SasIPRange = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ipRangeToString = ipRangeToString;
-    function ipRangeToString(ipRange) {
-      return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start;
+        const xarPath = yield io7.which("xar", true);
+        yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args));
+        return dest;
+      });
     }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js
-var require_SASQueryParameters = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SASQueryParameters = exports2.SASProtocol = void 0;
-    var SasIPRange_js_1 = require_SasIPRange();
-    var utils_common_js_1 = require_utils_common();
-    var SASProtocol;
-    (function(SASProtocol2) {
-      SASProtocol2["Https"] = "https";
-      SASProtocol2["HttpsAndHttp"] = "https,http";
-    })(SASProtocol || (exports2.SASProtocol = SASProtocol = {}));
-    var SASQueryParameters = class {
-      /**
-       * The storage API version.
-       */
-      version;
-      /**
-       * Optional. The allowed HTTP protocol(s).
-       */
-      protocol;
-      /**
-       * Optional. The start time for this SAS token.
-       */
-      startsOn;
-      /**
-       * Optional only when identifier is provided. The expiry time for this SAS token.
-       */
-      expiresOn;
-      /**
-       * Optional only when identifier is provided.
-       * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
-       * more details.
-       */
-      permissions;
-      /**
-       * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
-       * for more details.
-       */
-      services;
-      /**
-       * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
-       * {@link AccountSASResourceTypes} for more details.
-       */
-      resourceTypes;
-      /**
-       * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
-       */
-      identifier;
-      /**
-       * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
-       */
-      encryptionScope;
-      /**
-       * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
-       */
-      resource;
-      /**
-       * The signature for the SAS token.
-       */
-      signature;
-      /**
-       * Value for cache-control header in Blob/File Service SAS.
-       */
-      cacheControl;
-      /**
-       * Value for content-disposition header in Blob/File Service SAS.
-       */
-      contentDisposition;
-      /**
-       * Value for content-encoding header in Blob/File Service SAS.
-       */
-      contentEncoding;
-      /**
-       * Value for content-length header in Blob/File Service SAS.
-       */
-      contentLanguage;
-      /**
-       * Value for content-type header in Blob/File Service SAS.
-       */
-      contentType;
-      /**
-       * Inner value of getter ipRange.
-       */
-      ipRangeInner;
-      /**
-       * The Azure Active Directory object ID in GUID format.
-       * Property of user delegation key.
-       */
-      signedOid;
-      /**
-       * The Azure Active Directory tenant ID in GUID format.
-       * Property of user delegation key.
-       */
-      signedTenantId;
-      /**
-       * The date-time the key is active.
-       * Property of user delegation key.
-       */
-      signedStartsOn;
-      /**
-       * The date-time the key expires.
-       * Property of user delegation key.
-       */
-      signedExpiresOn;
-      /**
-       * Abbreviation of the Azure Storage service that accepts the user delegation key.
-       * Property of user delegation key.
-       */
-      signedService;
-      /**
-       * The service version that created the user delegation key.
-       * Property of user delegation key.
-       */
-      signedVersion;
-      /**
-       * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
-       * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
-       * has the required permissions before granting access but no additional permission check for the user specified in
-       * this value will be performed. This is only used for User Delegation SAS.
-       */
-      preauthorizedAgentObjectId;
-      /**
-       * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
-       * This is only used for User Delegation SAS.
-       */
-      correlationId;
-      /**
-       * Optional. IP range allowed for this SAS.
-       *
-       * @readonly
-       */
-      get ipRange() {
-        if (this.ipRangeInner) {
-          return {
-            end: this.ipRangeInner.end,
-            start: this.ipRangeInner.start
-          };
+    function extractZip(file, dest) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        if (!file) {
+          throw new Error("parameter 'file' is required");
         }
-        return void 0;
-      }
-      constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) {
-        this.version = version;
-        this.signature = signature;
-        if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") {
-          this.permissions = permissionsOrOptions.permissions;
-          this.services = permissionsOrOptions.services;
-          this.resourceTypes = permissionsOrOptions.resourceTypes;
-          this.protocol = permissionsOrOptions.protocol;
-          this.startsOn = permissionsOrOptions.startsOn;
-          this.expiresOn = permissionsOrOptions.expiresOn;
-          this.ipRangeInner = permissionsOrOptions.ipRange;
-          this.identifier = permissionsOrOptions.identifier;
-          this.encryptionScope = permissionsOrOptions.encryptionScope;
-          this.resource = permissionsOrOptions.resource;
-          this.cacheControl = permissionsOrOptions.cacheControl;
-          this.contentDisposition = permissionsOrOptions.contentDisposition;
-          this.contentEncoding = permissionsOrOptions.contentEncoding;
-          this.contentLanguage = permissionsOrOptions.contentLanguage;
-          this.contentType = permissionsOrOptions.contentType;
-          if (permissionsOrOptions.userDelegationKey) {
-            this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId;
-            this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId;
-            this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn;
-            this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn;
-            this.signedService = permissionsOrOptions.userDelegationKey.signedService;
-            this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion;
-            this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId;
-            this.correlationId = permissionsOrOptions.correlationId;
-          }
+        dest = yield _createExtractFolder(dest);
+        if (IS_WINDOWS) {
+          yield extractZipWin(file, dest);
         } else {
-          this.services = services;
-          this.resourceTypes = resourceTypes;
-          this.expiresOn = expiresOn;
-          this.permissions = permissionsOrOptions;
-          this.protocol = protocol;
-          this.startsOn = startsOn;
-          this.ipRangeInner = ipRange;
-          this.encryptionScope = encryptionScope;
-          this.identifier = identifier;
-          this.resource = resource;
-          this.cacheControl = cacheControl;
-          this.contentDisposition = contentDisposition;
-          this.contentEncoding = contentEncoding;
-          this.contentLanguage = contentLanguage;
-          this.contentType = contentType;
-          if (userDelegationKey) {
-            this.signedOid = userDelegationKey.signedObjectId;
-            this.signedTenantId = userDelegationKey.signedTenantId;
-            this.signedStartsOn = userDelegationKey.signedStartsOn;
-            this.signedExpiresOn = userDelegationKey.signedExpiresOn;
-            this.signedService = userDelegationKey.signedService;
-            this.signedVersion = userDelegationKey.signedVersion;
-            this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;
-            this.correlationId = correlationId;
-          }
+          yield extractZipNix(file, dest);
         }
-      }
-      /**
-       * Encodes all SAS query parameters into a string that can be appended to a URL.
-       *
-       */
-      toString() {
-        const params = [
-          "sv",
-          "ss",
-          "srt",
-          "spr",
-          "st",
-          "se",
-          "sip",
-          "si",
-          "ses",
-          "skoid",
-          // Signed object ID
-          "sktid",
-          // Signed tenant ID
-          "skt",
-          // Signed key start time
-          "ske",
-          // Signed key expiry time
-          "sks",
-          // Signed key service
-          "skv",
-          // Signed key version
-          "sr",
-          "sp",
-          "sig",
-          "rscc",
-          "rscd",
-          "rsce",
-          "rscl",
-          "rsct",
-          "saoid",
-          "scid"
-        ];
-        const queries = [];
-        for (const param of params) {
-          switch (param) {
-            case "sv":
-              this.tryAppendQueryParameter(queries, param, this.version);
-              break;
-            case "ss":
-              this.tryAppendQueryParameter(queries, param, this.services);
-              break;
-            case "srt":
-              this.tryAppendQueryParameter(queries, param, this.resourceTypes);
-              break;
-            case "spr":
-              this.tryAppendQueryParameter(queries, param, this.protocol);
-              break;
-            case "st":
-              this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0);
-              break;
-            case "se":
-              this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0);
-              break;
-            case "sip":
-              this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0);
-              break;
-            case "si":
-              this.tryAppendQueryParameter(queries, param, this.identifier);
-              break;
-            case "ses":
-              this.tryAppendQueryParameter(queries, param, this.encryptionScope);
-              break;
-            case "skoid":
-              this.tryAppendQueryParameter(queries, param, this.signedOid);
-              break;
-            case "sktid":
-              this.tryAppendQueryParameter(queries, param, this.signedTenantId);
-              break;
-            case "skt":
-              this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0);
-              break;
-            case "ske":
-              this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0);
-              break;
-            case "sks":
-              this.tryAppendQueryParameter(queries, param, this.signedService);
-              break;
-            case "skv":
-              this.tryAppendQueryParameter(queries, param, this.signedVersion);
-              break;
-            case "sr":
-              this.tryAppendQueryParameter(queries, param, this.resource);
-              break;
-            case "sp":
-              this.tryAppendQueryParameter(queries, param, this.permissions);
-              break;
-            case "sig":
-              this.tryAppendQueryParameter(queries, param, this.signature);
-              break;
-            case "rscc":
-              this.tryAppendQueryParameter(queries, param, this.cacheControl);
-              break;
-            case "rscd":
-              this.tryAppendQueryParameter(queries, param, this.contentDisposition);
-              break;
-            case "rsce":
-              this.tryAppendQueryParameter(queries, param, this.contentEncoding);
-              break;
-            case "rscl":
-              this.tryAppendQueryParameter(queries, param, this.contentLanguage);
-              break;
-            case "rsct":
-              this.tryAppendQueryParameter(queries, param, this.contentType);
-              break;
-            case "saoid":
-              this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
-              break;
-            case "scid":
-              this.tryAppendQueryParameter(queries, param, this.correlationId);
-              break;
-          }
+        return dest;
+      });
+    }
+    function extractZipWin(file, dest) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, "");
+        const escapedDest = dest.replace(/'/g, "''").replace(/"|\n|\r/g, "");
+        const pwshPath = yield io7.which("pwsh", false);
+        if (pwshPath) {
+          const pwshCommand = [
+            `$ErrorActionPreference = 'Stop' ;`,
+            `try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;`,
+            `try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`,
+            `catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force } else { throw $_ } } ;`
+          ].join(" ");
+          const args = [
+            "-NoLogo",
+            "-NoProfile",
+            "-NonInteractive",
+            "-ExecutionPolicy",
+            "Unrestricted",
+            "-Command",
+            pwshCommand
+          ];
+          core17.debug(`Using pwsh at path: ${pwshPath}`);
+          yield (0, exec_1.exec)(`"${pwshPath}"`, args);
+        } else {
+          const powershellCommand = [
+            `$ErrorActionPreference = 'Stop' ;`,
+            `try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`,
+            `if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force }`,
+            `else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`
+          ].join(" ");
+          const args = [
+            "-NoLogo",
+            "-Sta",
+            "-NoProfile",
+            "-NonInteractive",
+            "-ExecutionPolicy",
+            "Unrestricted",
+            "-Command",
+            powershellCommand
+          ];
+          const powershellPath = yield io7.which("powershell", true);
+          core17.debug(`Using powershell at path: ${powershellPath}`);
+          yield (0, exec_1.exec)(`"${powershellPath}"`, args);
+        }
+      });
+    }
+    function extractZipNix(file, dest) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const unzipPath = yield io7.which("unzip", true);
+        const args = [file];
+        if (!core17.isDebug()) {
+          args.unshift("-q");
+        }
+        args.unshift("-o");
+        yield (0, exec_1.exec)(`"${unzipPath}"`, args, { cwd: dest });
+      });
+    }
+    function cacheDir(sourceDir, tool, version, arch2) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        version = semver9.clean(version) || version;
+        arch2 = arch2 || os4.arch();
+        core17.debug(`Caching tool ${tool} ${version} ${arch2}`);
+        core17.debug(`source dir: ${sourceDir}`);
+        if (!fs18.statSync(sourceDir).isDirectory()) {
+          throw new Error("sourceDir is not a directory");
         }
-        return queries.join("&");
-      }
-      /**
-       * A private helper method used to filter and append query key/value pairs into an array.
-       *
-       * @param queries -
-       * @param key -
-       * @param value -
-       */
-      tryAppendQueryParameter(queries, key, value) {
-        if (!value) {
-          return;
+        const destPath = yield _createToolPath(tool, version, arch2);
+        for (const itemName of fs18.readdirSync(sourceDir)) {
+          const s = path16.join(sourceDir, itemName);
+          yield io7.cp(s, destPath, { recursive: true });
         }
-        key = encodeURIComponent(key);
-        value = encodeURIComponent(value);
-        if (key.length > 0 && value.length > 0) {
-          queries.push(`${key}=${value}`);
+        _completeToolPath(tool, version, arch2);
+        return destPath;
+      });
+    }
+    function cacheFile(sourceFile, targetFile, tool, version, arch2) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        version = semver9.clean(version) || version;
+        arch2 = arch2 || os4.arch();
+        core17.debug(`Caching tool ${tool} ${version} ${arch2}`);
+        core17.debug(`source file: ${sourceFile}`);
+        if (!fs18.statSync(sourceFile).isFile()) {
+          throw new Error("sourceFile is not a file");
         }
-      }
-    };
-    exports2.SASQueryParameters = SASQueryParameters;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js
-var require_BlobSASSignatureValues = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters;
-    exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal;
-    var BlobSASPermissions_js_1 = require_BlobSASPermissions();
-    var ContainerSASPermissions_js_1 = require_ContainerSASPermissions();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential();
-    var SasIPRange_js_1 = require_SasIPRange();
-    var SASQueryParameters_js_1 = require_SASQueryParameters();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
-      return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters;
+        const destFolder = yield _createToolPath(tool, version, arch2);
+        const destPath = path16.join(destFolder, targetFile);
+        core17.debug(`destination file ${destPath}`);
+        yield io7.cp(sourceFile, destPath);
+        _completeToolPath(tool, version, arch2);
+        return destFolder;
+      });
     }
-    function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
-      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0;
-      let userDelegationKeyCredential;
-      if (sharedKeyCredential === void 0 && accountName !== void 0) {
-        userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
+    function find2(toolName, versionSpec, arch2) {
+      if (!toolName) {
+        throw new Error("toolName parameter is required");
       }
-      if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) {
-        throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
+      if (!versionSpec) {
+        throw new Error("versionSpec parameter is required");
       }
-      if (version >= "2020-12-06") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
+      arch2 = arch2 || os4.arch();
+      if (!isExplicitVersion(versionSpec)) {
+        const localVersions = findAllVersions2(toolName, arch2);
+        const match = evaluateVersions(localVersions, versionSpec);
+        versionSpec = match;
+      }
+      let toolPath = "";
+      if (versionSpec) {
+        versionSpec = semver9.clean(versionSpec) || "";
+        const cachePath = path16.join(_getCacheDirectory(), toolName, versionSpec, arch2);
+        core17.debug(`checking cache: ${cachePath}`);
+        if (fs18.existsSync(cachePath) && fs18.existsSync(`${cachePath}.complete`)) {
+          core17.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch2}`);
+          toolPath = cachePath;
         } else {
-          if (version >= "2025-07-05") {
-            return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential);
-          } else {
-            return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
-          }
+          core17.debug("not found");
         }
       }
-      if (version >= "2018-11-09") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          if (version >= "2020-02-10") {
-            return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
-          } else {
-            return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
+      return toolPath;
+    }
+    function findAllVersions2(toolName, arch2) {
+      const versions = [];
+      arch2 = arch2 || os4.arch();
+      const toolPath = path16.join(_getCacheDirectory(), toolName);
+      if (fs18.existsSync(toolPath)) {
+        const children = fs18.readdirSync(toolPath);
+        for (const child of children) {
+          if (isExplicitVersion(child)) {
+            const fullPath = path16.join(toolPath, child, arch2 || "");
+            if (fs18.existsSync(fullPath) && fs18.existsSync(`${fullPath}.complete`)) {
+              versions.push(child);
+            }
           }
         }
       }
-      if (version >= "2015-04-05") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
+      return versions;
+    }
+    function getManifestFromRepo(owner_1, repo_1, auth_1) {
+      return __awaiter2(this, arguments, void 0, function* (owner, repo, auth2, branch = "master") {
+        let releases = [];
+        const treeUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}`;
+        const http = new httpm.HttpClient("tool-cache");
+        const headers = {};
+        if (auth2) {
+          core17.debug("set auth");
+          headers.authorization = auth2;
         }
-      }
-      throw new RangeError("'version' must be >= '2015-04-05'.");
+        const response = yield http.getJson(treeUrl, headers);
+        if (!response.result) {
+          return releases;
+        }
+        let manifestUrl = "";
+        for (const item of response.result.tree) {
+          if (item.path === "versions-manifest.json") {
+            manifestUrl = item.url;
+            break;
+          }
+        }
+        headers["accept"] = "application/vnd.github.VERSION.raw";
+        let versionsRaw = yield (yield http.get(manifestUrl, headers)).readBody();
+        if (versionsRaw) {
+          versionsRaw = versionsRaw.replace(/^\uFEFF/, "");
+          try {
+            releases = JSON.parse(versionsRaw);
+          } catch (_a) {
+            core17.debug("Invalid json");
+          }
+        }
+        return releases;
+      });
     }
-    function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
-      }
-      let resource = "c";
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+    function findFromManifest(versionSpec_1, stable_1, manifest_1) {
+      return __awaiter2(this, arguments, void 0, function* (versionSpec, stable, manifest, archFilter = os4.arch()) {
+        const match = yield mm._findMatch(versionSpec, stable, manifest, archFilter);
+        return match;
+      });
+    }
+    function _createExtractFolder(dest) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        if (!dest) {
+          dest = path16.join(_getTempDirectory(), crypto2.randomUUID());
         }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
-        stringToSign
-      };
+        yield io7.mkdirP(dest);
+        return dest;
+      });
     }
-    function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
-      }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+    function _createToolPath(tool, version, arch2) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const folderPath = path16.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
+        core17.debug(`destination ${folderPath}`);
+        const markerPath = `${folderPath}.complete`;
+        yield io7.rmRF(folderPath);
+        yield io7.rmRF(markerPath);
+        yield io7.mkdirP(folderPath);
+        return folderPath;
+      });
+    }
+    function _completeToolPath(tool, version, arch2) {
+      const folderPath = path16.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
+      const markerPath = `${folderPath}.complete`;
+      fs18.writeFileSync(markerPath, "");
+      core17.debug("finished caching tool");
+    }
+    function isExplicitVersion(versionSpec) {
+      const c = semver9.clean(versionSpec) || "";
+      core17.debug(`isExplicit: ${c}`);
+      const valid3 = semver9.valid(c) != null;
+      core17.debug(`explicit? ${valid3}`);
+      return valid3;
+    }
+    function evaluateVersions(versions, versionSpec) {
+      let version = "";
+      core17.debug(`evaluating ${versions.length} versions`);
+      versions = versions.sort((a, b) => {
+        if (semver9.gt(a, b)) {
+          return 1;
         }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        return -1;
+      });
+      for (let i = versions.length - 1; i >= 0; i--) {
+        const potential = versions[i];
+        const satisfied = semver9.satisfies(potential, versionSpec);
+        if (satisfied) {
+          version = potential;
+          break;
         }
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      if (version) {
+        core17.debug(`matched: ${version}`);
+      } else {
+        core17.debug("match not found");
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+      return version;
+    }
+    function _getCacheDirectory() {
+      const cacheDirectory = process.env["RUNNER_TOOL_CACHE"] || "";
+      (0, assert_1.ok)(cacheDirectory, "Expected RUNNER_TOOL_CACHE to be defined");
+      return cacheDirectory;
+    }
+    function _getTempDirectory() {
+      const tempDirectory = process.env["RUNNER_TEMP"] || "";
+      (0, assert_1.ok)(tempDirectory, "Expected RUNNER_TEMP to be defined");
+      return tempDirectory;
+    }
+    function _getGlobal(key, defaultValue) {
+      const value = global[key];
+      return value !== void 0 ? value : defaultValue;
+    }
+    function _unique(values) {
+      return Array.from(new Set(values));
+    }
+  }
+});
+
+// node_modules/fast-deep-equal/index.js
+var require_fast_deep_equal = __commonJS({
+  "node_modules/fast-deep-equal/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function equal(a, b) {
+      if (a === b) return true;
+      if (a && b && typeof a == "object" && typeof b == "object") {
+        if (a.constructor !== b.constructor) return false;
+        var length, i, keys;
+        if (Array.isArray(a)) {
+          length = a.length;
+          if (length != b.length) return false;
+          for (i = length; i-- !== 0; )
+            if (!equal(a[i], b[i])) return false;
+          return true;
+        }
+        if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
+        if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
+        if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
+        keys = Object.keys(a);
+        length = keys.length;
+        if (length !== Object.keys(b).length) return false;
+        for (i = length; i-- !== 0; )
+          if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
+        for (i = length; i-- !== 0; ) {
+          var key = keys[i];
+          if (!equal(a[key], b[key])) return false;
         }
+        return true;
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      return a !== a && b !== b;
+    };
+  }
+});
+
+// node_modules/follow-redirects/debug.js
+var require_debug3 = __commonJS({
+  "node_modules/follow-redirects/debug.js"(exports2, module2) {
+    var debug5;
+    module2.exports = function() {
+      if (!debug5) {
+        try {
+          debug5 = require_src()("follow-redirects");
+        } catch (error3) {
+        }
+        if (typeof debug5 !== "function") {
+          debug5 = function() {
+          };
         }
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      debug5.apply(null, arguments);
+    };
+  }
+});
+
+// node_modules/follow-redirects/index.js
+var require_follow_redirects = __commonJS({
+  "node_modules/follow-redirects/index.js"(exports2, module2) {
+    var url2 = require("url");
+    var URL2 = url2.URL;
+    var http = require("http");
+    var https2 = require("https");
+    var Writable = require("stream").Writable;
+    var assert = require("assert");
+    var debug5 = require_debug3();
+    (function detectUnsupportedEnvironment() {
+      var looksLikeNode = typeof process !== "undefined";
+      var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined";
+      var looksLikeV8 = isFunction(Error.captureStackTrace);
+      if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {
+        console.warn("The follow-redirects package should be excluded from browser builds.");
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+    })();
+    var useNativeURL = false;
+    try {
+      assert(new URL2(""));
+    } catch (error3) {
+      useNativeURL = error3.code === "ERR_INVALID_URL";
+    }
+    var preservedUrlFields = [
+      "auth",
+      "host",
+      "hostname",
+      "href",
+      "path",
+      "pathname",
+      "port",
+      "protocol",
+      "query",
+      "search",
+      "hash"
+    ];
+    var events = ["abort", "aborted", "connect", "error", "socket", "timeout"];
+    var eventHandlers = /* @__PURE__ */ Object.create(null);
+    events.forEach(function(event) {
+      eventHandlers[event] = function(arg1, arg2, arg3) {
+        this._redirectable.emit(event, arg1, arg2, arg3);
+      };
+    });
+    var InvalidUrlError = createErrorType(
+      "ERR_INVALID_URL",
+      "Invalid URL",
+      TypeError
+    );
+    var RedirectionError = createErrorType(
+      "ERR_FR_REDIRECTION_FAILURE",
+      "Redirected request failed"
+    );
+    var TooManyRedirectsError = createErrorType(
+      "ERR_FR_TOO_MANY_REDIRECTS",
+      "Maximum number of redirects exceeded",
+      RedirectionError
+    );
+    var MaxBodyLengthExceededError = createErrorType(
+      "ERR_FR_MAX_BODY_LENGTH_EXCEEDED",
+      "Request body larger than maxBodyLength limit"
+    );
+    var WriteAfterEndError = createErrorType(
+      "ERR_STREAM_WRITE_AFTER_END",
+      "write after end"
+    );
+    var destroy = Writable.prototype.destroy || noop3;
+    function RedirectableRequest(options, responseCallback) {
+      Writable.call(this);
+      this._sanitizeOptions(options);
+      this._options = options;
+      this._ended = false;
+      this._ending = false;
+      this._redirectCount = 0;
+      this._redirects = [];
+      this._requestBodyLength = 0;
+      this._requestBodyBuffers = [];
+      if (responseCallback) {
+        this.on("response", responseCallback);
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      var self2 = this;
+      this._onNativeResponse = function(response) {
+        try {
+          self2._processResponse(response);
+        } catch (cause) {
+          self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause }));
         }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey),
-        stringToSign
       };
+      this._performRequest();
     }
-    function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+    RedirectableRequest.prototype = Object.create(Writable.prototype);
+    RedirectableRequest.prototype.abort = function() {
+      destroyRequest(this._currentRequest);
+      this._currentRequest.abort();
+      this.emit("abort");
+    };
+    RedirectableRequest.prototype.destroy = function(error3) {
+      destroyRequest(this._currentRequest, error3);
+      destroy.call(this, error3);
+      return this;
+    };
+    RedirectableRequest.prototype.write = function(data, encoding, callback) {
+      if (this._ending) {
+        throw new WriteAfterEndError();
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+      if (!isString(data) && !isBuffer(data)) {
+        throw new TypeError("data should be a string, Buffer or Uint8Array");
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      if (isFunction(encoding)) {
+        callback = encoding;
+        encoding = null;
+      }
+      if (data.length === 0) {
+        if (callback) {
+          callback();
         }
+        return;
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {
+        this._requestBodyLength += data.length;
+        this._requestBodyBuffers.push({ data, encoding });
+        this._currentRequest.write(data, encoding, callback);
+      } else {
+        this.emit("error", new MaxBodyLengthExceededError());
+        this.abort();
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+    };
+    RedirectableRequest.prototype.end = function(data, encoding, callback) {
+      if (isFunction(data)) {
+        callback = data;
+        data = encoding = null;
+      } else if (isFunction(encoding)) {
+        callback = encoding;
+        encoding = null;
+      }
+      if (!data) {
+        this._ended = this._ending = true;
+        this._currentRequest.end(null, null, callback);
+      } else {
+        var self2 = this;
+        var currentRequest = this._currentRequest;
+        this.write(data, encoding, function() {
+          self2._ended = true;
+          currentRequest.end(null, null, callback);
+        });
+        this._ending = true;
+      }
+    };
+    RedirectableRequest.prototype.setHeader = function(name, value) {
+      this._options.headers[name] = value;
+      this._currentRequest.setHeader(name, value);
+    };
+    RedirectableRequest.prototype.removeHeader = function(name) {
+      delete this._options.headers[name];
+      this._currentRequest.removeHeader(name);
+    };
+    RedirectableRequest.prototype.setTimeout = function(msecs, callback) {
+      var self2 = this;
+      function destroyOnTimeout(socket) {
+        socket.setTimeout(msecs);
+        socket.removeListener("timeout", socket.destroy);
+        socket.addListener("timeout", socket.destroy);
+      }
+      function startTimer(socket) {
+        if (self2._timeout) {
+          clearTimeout(self2._timeout);
         }
+        self2._timeout = setTimeout(function() {
+          self2.emit("timeout");
+          clearTimer();
+        }, msecs);
+        destroyOnTimeout(socket);
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      function clearTimer() {
+        if (self2._timeout) {
+          clearTimeout(self2._timeout);
+          self2._timeout = null;
+        }
+        self2.removeListener("abort", clearTimer);
+        self2.removeListener("error", clearTimer);
+        self2.removeListener("response", clearTimer);
+        self2.removeListener("close", clearTimer);
+        if (callback) {
+          self2.removeListener("timeout", callback);
+        }
+        if (!self2.socket) {
+          self2._currentRequest.removeListener("socket", startTimer);
         }
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
-        stringToSign
+      if (callback) {
+        this.on("timeout", callback);
+      }
+      if (this.socket) {
+        startTimer(this.socket);
+      } else {
+        this._currentRequest.once("socket", startTimer);
+      }
+      this.on("socket", destroyOnTimeout);
+      this.on("abort", clearTimer);
+      this.on("error", clearTimer);
+      this.on("response", clearTimer);
+      this.on("close", clearTimer);
+      return this;
+    };
+    [
+      "flushHeaders",
+      "getHeader",
+      "setNoDelay",
+      "setSocketKeepAlive"
+    ].forEach(function(method) {
+      RedirectableRequest.prototype[method] = function(a, b) {
+        return this._currentRequest[method](a, b);
       };
-    }
-    function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+    });
+    ["aborted", "connection", "socket"].forEach(function(property) {
+      Object.defineProperty(RedirectableRequest.prototype, property, {
+        get: function() {
+          return this._currentRequest[property];
+        }
+      });
+    });
+    RedirectableRequest.prototype._sanitizeOptions = function(options) {
+      if (!options.headers) {
+        options.headers = {};
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+      if (options.host) {
+        if (!options.hostname) {
+          options.hostname = options.host;
         }
+        delete options.host;
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      if (!options.pathname && options.path) {
+        var searchPos = options.path.indexOf("?");
+        if (searchPos < 0) {
+          options.pathname = options.path;
         } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+          options.pathname = options.path.substring(0, searchPos);
+          options.search = options.path.substring(searchPos);
         }
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        void 0,
-        // SignedKeyDelegatedUserTenantId, will be added in a future release.
-        void 0,
-        // SignedDelegatedUserObjectId, will be added in future release.
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
-    }
-    function getCanonicalName(accountName, containerName, blobName) {
-      const elements = [`/blob/${accountName}/${containerName}`];
-      if (blobName) {
-        elements.push(`/${blobName}`);
+    };
+    RedirectableRequest.prototype._performRequest = function() {
+      var protocol = this._options.protocol;
+      var nativeProtocol = this._options.nativeProtocols[protocol];
+      if (!nativeProtocol) {
+        throw new TypeError("Unsupported protocol " + protocol);
       }
-      return elements.join("");
-    }
-    function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
-      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
-        throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
+      if (this._options.agents) {
+        var scheme = protocol.slice(0, -1);
+        this._options.agent = this._options.agents[scheme];
       }
-      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) {
-        throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
+      var request2 = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse);
+      request2._redirectable = this;
+      for (var event of events) {
+        request2.on(event, eventHandlers[event]);
       }
-      if (blobSASSignatureValues.versionId && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
+      this._currentUrl = /^\//.test(this._options.path) ? url2.format(this._options) : (
+        // When making a request to a proxy, […]
+        // a client MUST send the target URI in absolute-form […].
+        this._options.path
+      );
+      if (this._isRedirect) {
+        var i = 0;
+        var self2 = this;
+        var buffers = this._requestBodyBuffers;
+        (function writeNext(error3) {
+          if (request2 === self2._currentRequest) {
+            if (error3) {
+              self2.emit("error", error3);
+            } else if (i < buffers.length) {
+              var buffer = buffers[i++];
+              if (!request2.finished) {
+                request2.write(buffer.data, buffer.encoding, writeNext);
+              }
+            } else if (self2._ended) {
+              request2.end();
+            }
+          }
+        })();
       }
-      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) {
-        throw RangeError("Must provide 'blobName' when providing 'versionId'.");
+    };
+    RedirectableRequest.prototype._processResponse = function(response) {
+      var statusCode = response.statusCode;
+      if (this._options.trackRedirects) {
+        this._redirects.push({
+          url: this._currentUrl,
+          headers: response.headers,
+          statusCode
+        });
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
-        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+      var location = response.headers.location;
+      if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) {
+        response.responseUrl = this._currentUrl;
+        response.redirects = this._redirects;
+        this.emit("response", response);
+        this._requestBodyBuffers = [];
+        return;
+      }
+      destroyRequest(this._currentRequest);
+      response.destroy();
+      if (++this._redirectCount > this._options.maxRedirects) {
+        throw new TooManyRedirectsError();
+      }
+      var requestHeaders;
+      var beforeRedirect = this._options.beforeRedirect;
+      if (beforeRedirect) {
+        requestHeaders = Object.assign({
+          // The Host header was set by nativeProtocol.request
+          Host: response.req.getHeader("host")
+        }, this._options.headers);
+      }
+      var method = this._options.method;
+      if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || // RFC7231§6.4.4: The 303 (See Other) status code indicates that
+      // the server is redirecting the user agent to a different resource […]
+      // A user agent can perform a retrieval request targeting that URI
+      // (a GET or HEAD request if using HTTP) […]
+      statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) {
+        this._options.method = "GET";
+        this._requestBodyBuffers = [];
+        removeMatchingHeaders(/^content-/i, this._options.headers);
+      }
+      var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
+      var currentUrlParts = parseUrl2(this._currentUrl);
+      var currentHost = currentHostHeader || currentUrlParts.host;
+      var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url2.format(Object.assign(currentUrlParts, { host: currentHost }));
+      var redirectUrl = resolveUrl(location, currentUrl);
+      debug5("redirecting to", redirectUrl.href);
+      this._isRedirect = true;
+      spreadUrlObject(redirectUrl, this._options);
+      if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) {
+        removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);
+      }
+      if (isFunction(beforeRedirect)) {
+        var responseDetails = {
+          headers: response.headers,
+          statusCode
+        };
+        var requestDetails = {
+          url: currentUrl,
+          method,
+          headers: requestHeaders
+        };
+        beforeRedirect(this._options, responseDetails, requestDetails);
+        this._sanitizeOptions(this._options);
+      }
+      this._performRequest();
+    };
+    function wrap(protocols) {
+      var exports3 = {
+        maxRedirects: 21,
+        maxBodyLength: 10 * 1024 * 1024
+      };
+      var nativeProtocols = {};
+      Object.keys(protocols).forEach(function(scheme) {
+        var protocol = scheme + ":";
+        var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];
+        var wrappedProtocol = exports3[scheme] = Object.create(nativeProtocol);
+        function request2(input, options, callback) {
+          if (isURL(input)) {
+            input = spreadUrlObject(input);
+          } else if (isString(input)) {
+            input = spreadUrlObject(parseUrl2(input));
+          } else {
+            callback = options;
+            options = validateUrl(input);
+            input = { protocol };
+          }
+          if (isFunction(options)) {
+            callback = options;
+            options = null;
+          }
+          options = Object.assign({
+            maxRedirects: exports3.maxRedirects,
+            maxBodyLength: exports3.maxBodyLength
+          }, input, options);
+          options.nativeProtocols = nativeProtocols;
+          if (!isString(options.host) && !isString(options.hostname)) {
+            options.hostname = "::1";
+          }
+          assert.equal(options.protocol, protocol, "protocol mismatch");
+          debug5("options", options);
+          return new RedirectableRequest(options, callback);
+        }
+        function get(input, options, callback) {
+          var wrappedRequest = wrappedProtocol.request(input, options, callback);
+          wrappedRequest.end();
+          return wrappedRequest;
+        }
+        Object.defineProperties(wrappedProtocol, {
+          request: { value: request2, configurable: true, enumerable: true, writable: true },
+          get: { value: get, configurable: true, enumerable: true, writable: true }
+        });
+      });
+      return exports3;
+    }
+    function noop3() {
+    }
+    function parseUrl2(input) {
+      var parsed;
+      if (useNativeURL) {
+        parsed = new URL2(input);
+      } else {
+        parsed = validateUrl(url2.parse(input));
+        if (!isString(parsed.protocol)) {
+          throw new InvalidUrlError({ input });
+        }
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
+      return parsed;
+    }
+    function resolveUrl(relative2, base) {
+      return useNativeURL ? new URL2(relative2, base) : parseUrl2(url2.resolve(base, relative2));
+    }
+    function validateUrl(input) {
+      if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
+        throw new InvalidUrlError({ input: input.href || input });
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
+      if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) {
+        throw new InvalidUrlError({ input: input.href || input });
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
+      return input;
+    }
+    function spreadUrlObject(urlObject, target) {
+      var spread = target || {};
+      for (var key of preservedUrlFields) {
+        spread[key] = urlObject[key];
       }
-      if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
-        throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
+      if (spread.hostname.startsWith("[")) {
+        spread.hostname = spread.hostname.slice(1, -1);
       }
-      if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) {
-        throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
+      if (spread.port !== "") {
+        spread.port = Number(spread.port);
       }
-      if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
-        throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
+      spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;
+      return spread;
+    }
+    function removeMatchingHeaders(regex, headers) {
+      var lastValue;
+      for (var header in headers) {
+        if (regex.test(header)) {
+          lastValue = headers[header];
+          delete headers[header];
+        }
       }
-      if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
-        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      return lastValue === null || typeof lastValue === "undefined" ? void 0 : String(lastValue).trim();
+    }
+    function createErrorType(code, message, baseClass) {
+      function CustomError(properties) {
+        if (isFunction(Error.captureStackTrace)) {
+          Error.captureStackTrace(this, this.constructor);
+        }
+        Object.assign(this, properties || {});
+        this.code = code;
+        this.message = this.cause ? message + ": " + this.cause.message : message;
       }
-      blobSASSignatureValues.version = version;
-      return blobSASSignatureValues;
+      CustomError.prototype = new (baseClass || Error)();
+      Object.defineProperties(CustomError.prototype, {
+        constructor: {
+          value: CustomError,
+          enumerable: false
+        },
+        name: {
+          value: "Error [" + code + "]",
+          enumerable: false
+        }
+      });
+      return CustomError;
+    }
+    function destroyRequest(request2, error3) {
+      for (var event of events) {
+        request2.removeListener(event, eventHandlers[event]);
+      }
+      request2.on("error", noop3);
+      request2.destroy(error3);
+    }
+    function isSubdomain(subdomain, domain) {
+      assert(isString(subdomain) && isString(domain));
+      var dot = subdomain.length - domain.length - 1;
+      return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
     }
+    function isString(value) {
+      return typeof value === "string" || value instanceof String;
+    }
+    function isFunction(value) {
+      return typeof value === "function";
+    }
+    function isBuffer(value) {
+      return typeof value === "object" && "length" in value;
+    }
+    function isURL(value) {
+      return URL2 && value instanceof URL2;
+    }
+    module2.exports = wrap({ http, https: https2 });
+    module2.exports.wrap = wrap;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js
-var require_BlobLeaseClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/shared/config.js
+var require_config2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
     "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobLeaseClient = void 0;
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants15();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var BlobLeaseClient = class {
-      _leaseId;
-      _url;
-      _containerOrBlobOperation;
-      _isContainer;
-      /**
-       * Gets the lease Id.
-       *
-       * @readonly
-       */
-      get leaseId() {
-        return this._leaseId;
+    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
+    var os_1 = __importDefault2(require("os"));
+    var core_1 = require_core();
+    function getUploadChunkSize() {
+      return 8 * 1024 * 1024;
+    }
+    exports2.getUploadChunkSize = getUploadChunkSize;
+    function getRuntimeToken() {
+      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
+      if (!token) {
+        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
       }
-      /**
-       * Gets the url.
-       *
-       * @readonly
-       */
-      get url() {
-        return this._url;
+      return token;
+    }
+    exports2.getRuntimeToken = getRuntimeToken;
+    function getResultsServiceUrl() {
+      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
+      if (!resultsUrl) {
+        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
       }
-      /**
-       * Creates an instance of BlobLeaseClient.
-       * @param client - The client to make the lease operation requests.
-       * @param leaseId - Initial proposed lease id.
-       */
-      constructor(client, leaseId) {
-        const clientContext = client.storageClientContext;
-        this._url = client.url;
-        if (client.name === void 0) {
-          this._isContainer = true;
-          this._containerOrBlobOperation = clientContext.container;
-        } else {
-          this._isContainer = false;
-          this._containerOrBlobOperation = clientContext.blob;
+      return new URL(resultsUrl).origin;
+    }
+    exports2.getResultsServiceUrl = getResultsServiceUrl;
+    function isGhes() {
+      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
+      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
+      const isGitHubHost = hostname === "GITHUB.COM";
+      const isGheHost = hostname.endsWith(".GHE.COM");
+      const isLocalHost = hostname.endsWith(".LOCALHOST");
+      return !isGitHubHost && !isGheHost && !isLocalHost;
+    }
+    exports2.isGhes = isGhes;
+    function getGitHubWorkspaceDir() {
+      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
+      if (!ghWorkspaceDir) {
+        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
+      }
+      return ghWorkspaceDir;
+    }
+    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
+    function getConcurrency() {
+      const numCPUs = os_1.default.cpus().length;
+      let concurrencyCap = 32;
+      if (numCPUs > 4) {
+        const concurrency = 16 * numCPUs;
+        concurrencyCap = concurrency > 300 ? 300 : concurrency;
+      }
+      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
+      if (concurrencyOverride) {
+        const concurrency = parseInt(concurrencyOverride);
+        if (isNaN(concurrency) || concurrency < 1) {
+          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
         }
-        if (!leaseId) {
-          leaseId = (0, core_util_1.randomUUID)();
+        if (concurrency < concurrencyCap) {
+          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
+          return concurrency;
         }
-        this._leaseId = leaseId;
+        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
+        return concurrencyCap;
       }
-      /**
-       * Establishes and manages a lock on a container for delete operations, or on a blob
-       * for write and delete operations.
-       * The lock duration can be 15 to 60 seconds, or can be infinite.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param duration - Must be between 15 to 60 seconds, or infinite (-1)
-       * @param options - option to configure lease management operations.
-       * @returns Response data for acquire lease operation.
-       */
-      async acquireLease(duration, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({
-            abortSignal: options.abortSignal,
-            duration,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            proposedLeaseId: this._leaseId,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return 5;
+    }
+    exports2.getConcurrency = getConcurrency;
+    function getUploadChunkTimeout() {
+      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
+      if (!timeoutVar) {
+        return 3e5;
+      }
+      const timeout = parseInt(timeoutVar);
+      if (isNaN(timeout)) {
+        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
+      }
+      return timeout;
+    }
+    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
+    function getMaxArtifactListCount() {
+      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
+      const maxCount = parseInt(maxCountVar);
+      if (isNaN(maxCount) || maxCount < 1) {
+        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
+      }
+      return maxCount;
+    }
+    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
+var require_timestamp = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Timestamp = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var runtime_6 = require_commonjs16();
+    var runtime_7 = require_commonjs16();
+    var Timestamp$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Timestamp", [
+          {
+            no: 1,
+            name: "seconds",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 2,
+            name: "nanos",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
       }
       /**
-       * To change the ID of the lease.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param proposedLeaseId - the proposed new lease Id.
-       * @param options - option to configure lease management operations.
-       * @returns Response data for change lease operation.
+       * Creates a new `Timestamp` for the current time.
        */
-      async changeLease(proposedLeaseId, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          this._leaseId = proposedLeaseId;
-          return response;
-        });
+      now() {
+        const msg = this.create();
+        const ms = Date.now();
+        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
+        msg.nanos = ms % 1e3 * 1e6;
+        return msg;
       }
       /**
-       * To free the lease if it is no longer needed so that another client may
-       * immediately acquire a lease against the container or the blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param options - option to configure lease management operations.
-       * @returns Response data for release lease operation.
+       * Converts a `Timestamp` to a JavaScript Date.
        */
-      async releaseLease(options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      toDate(message) {
+        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
       }
       /**
-       * To renew the lease.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param options - Optional option to configure lease management operations.
-       * @returns Response data for renew lease operation.
+       * Converts a JavaScript Date to a `Timestamp`.
        */
-      async renewLease(options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => {
-          return this._containerOrBlobOperation.renewLease(this._leaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          });
-        });
+      fromDate(date) {
+        const msg = this.create();
+        const ms = date.getTime();
+        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
+        msg.nanos = ms % 1e3 * 1e6;
+        return msg;
       }
       /**
-       * To end the lease but ensure that another client cannot acquire a new lease
-       * until the current lease period has expired.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param breakPeriod - Break period
-       * @param options - Optional options to configure lease management operations.
-       * @returns Response data for break lease operation.
+       * In JSON format, the `Timestamp` type is encoded as a string
+       * in the RFC 3339 format.
        */
-      async breakLease(breakPeriod, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+      internalJsonWrite(message, options) {
+        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
+        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
+          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
+        if (message.nanos < 0)
+          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
+        let z = "Z";
+        if (message.nanos > 0) {
+          let nanosStr = (message.nanos + 1e9).toString().substring(1);
+          if (nanosStr.substring(3) === "000000")
+            z = "." + nanosStr.substring(0, 3) + "Z";
+          else if (nanosStr.substring(6) === "000")
+            z = "." + nanosStr.substring(0, 6) + "Z";
+          else
+            z = "." + nanosStr + "Z";
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => {
-          const operationOptions = {
-            abortSignal: options.abortSignal,
-            breakPeriod,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          };
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions));
-        });
+        return new Date(ms).toISOString().replace(".000Z", z);
       }
-    };
-    exports2.BlobLeaseClient = BlobLeaseClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js
-var require_RetriableReadableStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RetriableReadableStream = void 0;
-    var abort_controller_1 = require_commonjs11();
-    var node_stream_1 = require("node:stream");
-    var RetriableReadableStream = class extends node_stream_1.Readable {
-      start;
-      offset;
-      end;
-      getter;
-      source;
-      retries = 0;
-      maxRetryRequests;
-      onProgress;
-      options;
       /**
-       * Creates an instance of RetriableReadableStream.
-       *
-       * @param source - The current ReadableStream returned from getter
-       * @param getter - A method calling downloading request returning
-       *                                      a new ReadableStream from specified offset
-       * @param offset - Offset position in original data source to read
-       * @param count - How much data in original data source to read
-       * @param options -
+       * In JSON format, the `Timestamp` type is encoded as a string
+       * in the RFC 3339 format.
        */
-      constructor(source, getter, offset, count, options = {}) {
-        super({ highWaterMark: options.highWaterMark });
-        this.getter = getter;
-        this.source = source;
-        this.start = offset;
-        this.offset = offset;
-        this.end = offset + count - 1;
-        this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0;
-        this.onProgress = options.onProgress;
-        this.options = options;
-        this.setSourceEventHandlers();
-      }
-      _read() {
-        this.source.resume();
-      }
-      setSourceEventHandlers() {
-        this.source.on("data", this.sourceDataHandler);
-        this.source.on("end", this.sourceErrorOrEndHandler);
-        this.source.on("error", this.sourceErrorOrEndHandler);
-        this.source.on("aborted", this.sourceAbortedHandler);
+      internalJsonRead(json2, options, target) {
+        if (typeof json2 !== "string")
+          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
+        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
+        if (!matches)
+          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
+        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
+        if (Number.isNaN(ms))
+          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
+        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
+          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
+        if (!target)
+          target = this.create();
+        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
+        target.nanos = 0;
+        if (matches[7])
+          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
+        return target;
       }
-      removeSourceEventHandlers() {
-        this.source.removeListener("data", this.sourceDataHandler);
-        this.source.removeListener("end", this.sourceErrorOrEndHandler);
-        this.source.removeListener("error", this.sourceErrorOrEndHandler);
-        this.source.removeListener("aborted", this.sourceAbortedHandler);
+      create(value) {
+        const message = { seconds: "0", nanos: 0 };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      sourceDataHandler = (data) => {
-        if (this.options.doInjectErrorOnce) {
-          this.options.doInjectErrorOnce = void 0;
-          this.source.pause();
-          this.sourceErrorOrEndHandler();
-          this.source.destroy();
-          return;
-        }
-        this.offset += data.length;
-        if (this.onProgress) {
-          this.onProgress({ loadedBytes: this.offset - this.start });
-        }
-        if (!this.push(data)) {
-          this.source.pause();
-        }
-      };
-      sourceAbortedHandler = () => {
-        const abortError = new abort_controller_1.AbortError("The operation was aborted.");
-        this.destroy(abortError);
-      };
-      sourceErrorOrEndHandler = (err) => {
-        if (err && err.name === "AbortError") {
-          this.destroy(err);
-          return;
-        }
-        this.removeSourceEventHandlers();
-        if (this.offset - 1 === this.end) {
-          this.push(null);
-        } else if (this.offset <= this.end) {
-          if (this.retries < this.maxRetryRequests) {
-            this.retries += 1;
-            this.getter(this.offset).then((newSource) => {
-              this.source = newSource;
-              this.setSourceEventHandlers();
-              return;
-            }).catch((error3) => {
-              this.destroy(error3);
-            });
-          } else {
-            this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`));
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 seconds */
+            1:
+              message.seconds = reader.int64().toString();
+              break;
+            case /* int32 nanos */
+            2:
+              message.nanos = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
-        } else {
-          this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`));
         }
-      };
-      _destroy(error3, callback) {
-        this.removeSourceEventHandlers();
-        this.source.destroy();
-        callback(error3 === null ? void 0 : error3);
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.seconds !== "0")
+          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
+        if (message.nanos !== 0)
+          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.RetriableReadableStream = RetriableReadableStream;
+    exports2.Timestamp = new Timestamp$Type();
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js
-var require_BlobDownloadResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
+var require_wrappers = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobDownloadResponse = void 0;
-    var core_util_1 = require_commonjs4();
-    var RetriableReadableStream_js_1 = require_RetriableReadableStream();
-    var BlobDownloadResponse = class {
-      /**
-       * Indicates that the service supports
-       * requests for partial file content.
-       *
-       * @readonly
-       */
-      get acceptRanges() {
-        return this.originalResponse.acceptRanges;
-      }
-      /**
-       * Returns if it was previously specified
-       * for the file.
-       *
-       * @readonly
-       */
-      get cacheControl() {
-        return this.originalResponse.cacheControl;
+    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var runtime_6 = require_commonjs16();
+    var runtime_7 = require_commonjs16();
+    var DoubleValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.DoubleValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 1
+            /*ScalarType.DOUBLE*/
+          }
+        ]);
       }
       /**
-       * Returns the value that was specified
-       * for the 'x-ms-content-disposition' header and specifies how to process the
-       * response.
-       *
-       * @readonly
+       * Encode `DoubleValue` to JSON number.
        */
-      get contentDisposition() {
-        return this.originalResponse.contentDisposition;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
       }
       /**
-       * Returns the value that was specified
-       * for the Content-Encoding request header.
-       *
-       * @readonly
+       * Decode `DoubleValue` from JSON number.
        */
-      get contentEncoding() {
-        return this.originalResponse.contentEncoding;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
+        return target;
       }
-      /**
-       * Returns the value that was specified
-       * for the Content-Language request header.
-       *
-       * @readonly
-       */
-      get contentLanguage() {
-        return this.originalResponse.contentLanguage;
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The current sequence number for a
-       * page blob. This header is not returned for block blobs or append blobs.
-       *
-       * @readonly
-       */
-      get blobSequenceNumber() {
-        return this.originalResponse.blobSequenceNumber;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* double value */
+            1:
+              message.value = reader.double();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The blob's type. Possible values include:
-       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
-       *
-       * @readonly
-       */
-      get blobType() {
-        return this.originalResponse.blobType;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * The number of bytes present in the
-       * response body.
-       *
-       * @readonly
-       */
-      get contentLength() {
-        return this.originalResponse.contentLength;
+    };
+    exports2.DoubleValue = new DoubleValue$Type();
+    var FloatValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.FloatValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 2
+            /*ScalarType.FLOAT*/
+          }
+        ]);
       }
       /**
-       * If the file has an MD5 hash and the
-       * request is to read the full file, this response header is returned so that
-       * the client can check for message content integrity. If the request is to
-       * read a specified range and the 'x-ms-range-get-content-md5' is set to
-       * true, then the request returns an MD5 hash for the range, as long as the
-       * range size is less than or equal to 4 MB. If neither of these sets of
-       * conditions is true, then no value is returned for the 'Content-MD5'
-       * header.
-       *
-       * @readonly
+       * Encode `FloatValue` to JSON number.
        */
-      get contentMD5() {
-        return this.originalResponse.contentMD5;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
       }
       /**
-       * Indicates the range of bytes returned if
-       * the client requested a subset of the file by setting the Range request
-       * header.
-       *
-       * @readonly
+       * Decode `FloatValue` from JSON number.
        */
-      get contentRange() {
-        return this.originalResponse.contentRange;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
+        return target;
       }
-      /**
-       * The content type specified for the file.
-       * The default content type is 'application/octet-stream'
-       *
-       * @readonly
-       */
-      get contentType() {
-        return this.originalResponse.contentType;
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Conclusion time of the last attempted
-       * Copy File operation where this file was the destination file. This value
-       * can specify the time of a completed, aborted, or failed copy attempt.
-       *
-       * @readonly
-       */
-      get copyCompletedOn() {
-        return this.originalResponse.copyCompletedOn;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* float value */
+            1:
+              message.value = reader.float();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * String identifier for the last attempted Copy
-       * File operation where this file was the destination file.
-       *
-       * @readonly
-       */
-      get copyId() {
-        return this.originalResponse.copyId;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Contains the number of bytes copied and
-       * the total bytes in the source in the last attempted Copy File operation
-       * where this file was the destination file. Can show between 0 and
-       * Content-Length bytes copied.
-       *
-       * @readonly
-       */
-      get copyProgress() {
-        return this.originalResponse.copyProgress;
+    };
+    exports2.FloatValue = new FloatValue$Type();
+    var Int64Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Int64Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
       /**
-       * URL up to 2KB in length that specifies the
-       * source file used in the last attempted Copy File operation where this file
-       * was the destination file.
-       *
-       * @readonly
+       * Encode `Int64Value` to JSON string.
        */
-      get copySource() {
-        return this.originalResponse.copySource;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
       }
       /**
-       * State of the copy operation
-       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
-       * 'success', 'aborted', 'failed'
-       *
-       * @readonly
+       * Decode `Int64Value` from JSON string.
        */
-      get copyStatus() {
-        return this.originalResponse.copyStatus;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
+        return target;
       }
-      /**
-       * Only appears when
-       * x-ms-copy-status is failed or pending. Describes cause of fatal or
-       * non-fatal copy operation failure.
-       *
-       * @readonly
-       */
-      get copyStatusDescription() {
-        return this.originalResponse.copyStatusDescription;
+      create(value) {
+        const message = { value: "0" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * When a blob is leased,
-       * specifies whether the lease is of infinite or fixed duration. Possible
-       * values include: 'infinite', 'fixed'.
-       *
-       * @readonly
-       */
-      get leaseDuration() {
-        return this.originalResponse.leaseDuration;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 value */
+            1:
+              message.value = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Lease state of the blob. Possible
-       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
-       *
-       * @readonly
-       */
-      get leaseState() {
-        return this.originalResponse.leaseState;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "0")
+          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * The current lease status of the
-       * blob. Possible values include: 'locked', 'unlocked'.
-       *
-       * @readonly
-       */
-      get leaseStatus() {
-        return this.originalResponse.leaseStatus;
+    };
+    exports2.Int64Value = new Int64Value$Type();
+    var UInt64Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.UInt64Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 4
+            /*ScalarType.UINT64*/
+          }
+        ]);
       }
       /**
-       * A UTC date/time value generated by the service that
-       * indicates the time at which the response was initiated.
-       *
-       * @readonly
+       * Encode `UInt64Value` to JSON string.
        */
-      get date() {
-        return this.originalResponse.date;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
       }
       /**
-       * The number of committed blocks
-       * present in the blob. This header is returned only for append blobs.
-       *
-       * @readonly
+       * Decode `UInt64Value` from JSON string.
        */
-      get blobCommittedBlockCount() {
-        return this.originalResponse.blobCommittedBlockCount;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
+        return target;
       }
-      /**
-       * The ETag contains a value that you can use to
-       * perform operations conditionally, in quotes.
-       *
-       * @readonly
-       */
-      get etag() {
-        return this.originalResponse.etag;
+      create(value) {
+        const message = { value: "0" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The number of tags associated with the blob
-       *
-       * @readonly
-       */
-      get tagCount() {
-        return this.originalResponse.tagCount;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* uint64 value */
+            1:
+              message.value = reader.uint64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The error code.
-       *
-       * @readonly
-       */
-      get errorCode() {
-        return this.originalResponse.errorCode;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "0")
+          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * The value of this header is set to
-       * true if the file data and application metadata are completely encrypted
-       * using the specified algorithm. Otherwise, the value is set to false (when
-       * the file is unencrypted, or if only parts of the file/application metadata
-       * are encrypted).
-       *
-       * @readonly
-       */
-      get isServerEncrypted() {
-        return this.originalResponse.isServerEncrypted;
+    };
+    exports2.UInt64Value = new UInt64Value$Type();
+    var Int32Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Int32Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
       }
       /**
-       * If the blob has a MD5 hash, and if
-       * request contains range header (Range or x-ms-range), this response header
-       * is returned with the value of the whole blob's MD5 value. This value may
-       * or may not be equal to the value returned in Content-MD5 header, with the
-       * latter calculated from the requested range.
-       *
-       * @readonly
+       * Encode `Int32Value` to JSON string.
        */
-      get blobContentMD5() {
-        return this.originalResponse.blobContentMD5;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
       }
       /**
-       * Returns the date and time the file was last
-       * modified. Any operation that modifies the file or its properties updates
-       * the last modified time.
-       *
-       * @readonly
+       * Decode `Int32Value` from JSON string.
        */
-      get lastModified() {
-        return this.originalResponse.lastModified;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
+        return target;
       }
-      /**
-       * Returns the UTC date and time generated by the service that indicates the time at which the blob was
-       * last read or written to.
-       *
-       * @readonly
-       */
-      get lastAccessed() {
-        return this.originalResponse.lastAccessed;
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Returns the date and time the blob was created.
-       *
-       * @readonly
-       */
-      get createdOn() {
-        return this.originalResponse.createdOn;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int32 value */
+            1:
+              message.value = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * A name-value pair
-       * to associate with a file storage object.
-       *
-       * @readonly
-       */
-      get metadata() {
-        return this.originalResponse.metadata;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * This header uniquely identifies the request
-       * that was made and can be used for troubleshooting the request.
-       *
-       * @readonly
-       */
-      get requestId() {
-        return this.originalResponse.requestId;
+    };
+    exports2.Int32Value = new Int32Value$Type();
+    var UInt32Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.UInt32Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 13
+            /*ScalarType.UINT32*/
+          }
+        ]);
       }
       /**
-       * If a client request id header is sent in the request, this header will be present in the
-       * response with the same value.
-       *
-       * @readonly
+       * Encode `UInt32Value` to JSON string.
        */
-      get clientRequestId() {
-        return this.originalResponse.clientRequestId;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
       }
       /**
-       * Indicates the version of the Blob service used
-       * to execute the request.
-       *
-       * @readonly
+       * Decode `UInt32Value` from JSON string.
        */
-      get version() {
-        return this.originalResponse.version;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
+        return target;
       }
-      /**
-       * Indicates the versionId of the downloaded blob version.
-       *
-       * @readonly
-       */
-      get versionId() {
-        return this.originalResponse.versionId;
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Indicates whether version of this blob is a current version.
-       *
-       * @readonly
-       */
-      get isCurrentVersion() {
-        return this.originalResponse.isCurrentVersion;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* uint32 value */
+            1:
+              message.value = reader.uint32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
-       * when the blob was encrypted with a customer-provided key.
-       *
-       * @readonly
-       */
-      get encryptionKeySha256() {
-        return this.originalResponse.encryptionKeySha256;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
-       * true, then the request returns a crc64 for the range, as long as the range size is less than
-       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
-       * specified in the same request, it will fail with 400(Bad Request)
-       */
-      get contentCrc64() {
-        return this.originalResponse.contentCrc64;
+    };
+    exports2.UInt32Value = new UInt32Value$Type();
+    var BoolValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.BoolValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          }
+        ]);
       }
       /**
-       * Object Replication Policy Id of the destination blob.
-       *
-       * @readonly
+       * Encode `BoolValue` to JSON bool.
        */
-      get objectReplicationDestinationPolicyId() {
-        return this.originalResponse.objectReplicationDestinationPolicyId;
+      internalJsonWrite(message, options) {
+        return message.value;
       }
       /**
-       * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob.
-       *
-       * @readonly
+       * Decode `BoolValue` from JSON bool.
        */
-      get objectReplicationSourceProperties() {
-        return this.originalResponse.objectReplicationSourceProperties;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
+        return target;
       }
-      /**
-       * If this blob has been sealed.
-       *
-       * @readonly
-       */
-      get isSealed() {
-        return this.originalResponse.isSealed;
+      create(value) {
+        const message = { value: false };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire.
-       *
-       * @readonly
-       */
-      get immutabilityPolicyExpiresOn() {
-        return this.originalResponse.immutabilityPolicyExpiresOn;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool value */
+            1:
+              message.value = reader.bool();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Indicates immutability policy mode.
-       *
-       * @readonly
-       */
-      get immutabilityPolicyMode() {
-        return this.originalResponse.immutabilityPolicyMode;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== false)
+          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Indicates if a legal hold is present on the blob.
-       *
-       * @readonly
-       */
-      get legalHold() {
-        return this.originalResponse.legalHold;
+    };
+    exports2.BoolValue = new BoolValue$Type();
+    var StringValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.StringValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
       /**
-       * The response body as a browser Blob.
-       * Always undefined in node.js.
-       *
-       * @readonly
+       * Encode `StringValue` to JSON string.
        */
-      get contentAsBlob() {
-        return this.originalResponse.blobBody;
+      internalJsonWrite(message, options) {
+        return message.value;
       }
       /**
-       * The response body as a node.js Readable stream.
-       * Always undefined in the browser.
-       *
-       * It will automatically retry when internal read stream unexpected ends.
-       *
-       * @readonly
+       * Decode `StringValue` from JSON string.
        */
-      get readableStreamBody() {
-        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: "" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string value */
+            1:
+              message.value = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "")
+          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.StringValue = new StringValue$Type();
+    var BytesValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.BytesValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 12
+            /*ScalarType.BYTES*/
+          }
+        ]);
       }
       /**
-       * The HTTP response.
+       * Encode `BytesValue` to JSON string.
        */
-      get _response() {
-        return this.originalResponse._response;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
       }
-      originalResponse;
-      blobDownloadStream;
       /**
-       * Creates an instance of BlobDownloadResponse.
-       *
-       * @param originalResponse -
-       * @param getter -
-       * @param offset -
-       * @param count -
-       * @param options -
+       * Decode `BytesValue` from JSON string.
        */
-      constructor(originalResponse, getter, offset, count, options = {}) {
-        this.originalResponse = originalResponse;
-        this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options);
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: new Uint8Array(0) };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bytes value */
+            1:
+              message.value = reader.bytes();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value.length)
+          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.BlobDownloadResponse = BlobDownloadResponse;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js
-var require_AvroConstants = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0;
-    exports2.AVRO_SYNC_MARKER_SIZE = 16;
-    exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]);
-    exports2.AVRO_CODEC_KEY = "avro.codec";
-    exports2.AVRO_SCHEMA_KEY = "avro.schema";
+    exports2.BytesValue = new BytesValue$Type();
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js
-var require_AvroParser = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
+var require_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroType = exports2.AvroParser = void 0;
-    var AvroParser = class _AvroParser {
-      /**
-       * Reads a fixed number of bytes from the stream.
-       *
-       * @param stream -
-       * @param length -
-       * @param options -
-       */
-      static async readFixedBytes(stream2, length, options = {}) {
-        const bytes = await stream2.read(length, { abortSignal: options.abortSignal });
-        if (bytes.length !== length) {
-          throw new Error("Hit stream end.");
-        }
-        return bytes;
+    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
+    var runtime_rpc_1 = require_commonjs17();
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var wrappers_1 = require_wrappers();
+    var wrappers_2 = require_wrappers();
+    var timestamp_1 = require_timestamp();
+    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.MigrateArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
+        ]);
       }
-      /**
-       * Reads a single byte from the stream.
-       *
-       * @param stream -
-       * @param options -
-       */
-      static async readByte(stream2, options = {}) {
-        const buf = await _AvroParser.readFixedBytes(stream2, 1, options);
-        return buf[0];
+      create(value) {
+        const message = { workflowRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      // int and long are stored in variable-length zig-zag coding.
-      // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt
-      // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types
-      static async readZigZagLong(stream2, options = {}) {
-        let zigZagEncoded = 0;
-        let significanceInBit = 0;
-        let byte, haveMoreByte, significanceInFloat;
-        do {
-          byte = await _AvroParser.readByte(stream2, options);
-          haveMoreByte = byte & 128;
-          zigZagEncoded |= (byte & 127) << significanceInBit;
-          significanceInBit += 7;
-        } while (haveMoreByte && significanceInBit < 28);
-        if (haveMoreByte) {
-          zigZagEncoded = zigZagEncoded;
-          significanceInFloat = 268435456;
-          do {
-            byte = await _AvroParser.readByte(stream2, options);
-            zigZagEncoded += (byte & 127) * significanceInFloat;
-            significanceInFloat *= 128;
-          } while (byte & 128);
-          const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2;
-          if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) {
-            throw new Error("Integer overflow.");
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string name */
+            2:
+              message.name = reader.string();
+              break;
+            case /* google.protobuf.Timestamp expires_at */
+            3:
+              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
-          return res;
         }
-        return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1);
-      }
-      static async readLong(stream2, options = {}) {
-        return _AvroParser.readZigZagLong(stream2, options);
-      }
-      static async readInt(stream2, options = {}) {
-        return _AvroParser.readZigZagLong(stream2, options);
-      }
-      static async readNull() {
-        return null;
+        return message;
       }
-      static async readBoolean(stream2, options = {}) {
-        const b = await _AvroParser.readByte(stream2, options);
-        if (b === 1) {
-          return true;
-        } else if (b === 0) {
-          return false;
-        } else {
-          throw new Error("Byte was not a boolean.");
-        }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.name !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.expiresAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      static async readFloat(stream2, options = {}) {
-        const u8arr = await _AvroParser.readFixedBytes(stream2, 4, options);
-        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
-        return view.getFloat32(0, true);
+    };
+    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
+    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.MigrateArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      static async readDouble(stream2, options = {}) {
-        const u8arr = await _AvroParser.readFixedBytes(stream2, 8, options);
-        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
-        return view.getFloat64(0, true);
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      static async readBytes(stream2, options = {}) {
-        const size = await _AvroParser.readLong(stream2, options);
-        if (size < 0) {
-          throw new Error("Bytes size was negative.");
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        return stream2.read(size, { abortSignal: options.abortSignal });
-      }
-      static async readString(stream2, options = {}) {
-        const u8arr = await _AvroParser.readBytes(stream2, options);
-        const utf8decoder = new TextDecoder();
-        return utf8decoder.decode(u8arr);
-      }
-      static async readMapPair(stream2, readItemMethod, options = {}) {
-        const key = await _AvroParser.readString(stream2, options);
-        const value = await readItemMethod(stream2, options);
-        return { key, value };
+        return message;
       }
-      static async readMap(stream2, readItemMethod, options = {}) {
-        const readPairMethod = (s, opts = {}) => {
-          return _AvroParser.readMapPair(s, readItemMethod, opts);
-        };
-        const pairs2 = await _AvroParser.readArray(stream2, readPairMethod, options);
-        const dict = {};
-        for (const pair of pairs2) {
-          dict[pair.key] = pair.value;
-        }
-        return dict;
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      static async readArray(stream2, readItemMethod, options = {}) {
-        const items = [];
-        for (let count = await _AvroParser.readLong(stream2, options); count !== 0; count = await _AvroParser.readLong(stream2, options)) {
-          if (count < 0) {
-            await _AvroParser.readLong(stream2, options);
-            count = -count;
-          }
-          while (count--) {
-            const item = await readItemMethod(stream2, options);
-            items.push(item);
+    };
+    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
+    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
           }
-        }
-        return items;
+        ]);
       }
-    };
-    exports2.AvroParser = AvroParser;
-    var AvroComplex;
-    (function(AvroComplex2) {
-      AvroComplex2["RECORD"] = "record";
-      AvroComplex2["ENUM"] = "enum";
-      AvroComplex2["ARRAY"] = "array";
-      AvroComplex2["MAP"] = "map";
-      AvroComplex2["UNION"] = "union";
-      AvroComplex2["FIXED"] = "fixed";
-    })(AvroComplex || (AvroComplex = {}));
-    var AvroPrimitive;
-    (function(AvroPrimitive2) {
-      AvroPrimitive2["NULL"] = "null";
-      AvroPrimitive2["BOOLEAN"] = "boolean";
-      AvroPrimitive2["INT"] = "int";
-      AvroPrimitive2["LONG"] = "long";
-      AvroPrimitive2["FLOAT"] = "float";
-      AvroPrimitive2["DOUBLE"] = "double";
-      AvroPrimitive2["BYTES"] = "bytes";
-      AvroPrimitive2["STRING"] = "string";
-    })(AvroPrimitive || (AvroPrimitive = {}));
-    var AvroType = class _AvroType {
-      /**
-       * Determines the AvroType from the Avro Schema.
-       */
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      static fromSchema(schema2) {
-        if (typeof schema2 === "string") {
-          return _AvroType.fromStringSchema(schema2);
-        } else if (Array.isArray(schema2)) {
-          return _AvroType.fromArraySchema(schema2);
-        } else {
-          return _AvroType.fromObjectSchema(schema2);
-        }
+      create(value) {
+        const message = { workflowRunBackendId: "", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      static fromStringSchema(schema2) {
-        switch (schema2) {
-          case AvroPrimitive.NULL:
-          case AvroPrimitive.BOOLEAN:
-          case AvroPrimitive.INT:
-          case AvroPrimitive.LONG:
-          case AvroPrimitive.FLOAT:
-          case AvroPrimitive.DOUBLE:
-          case AvroPrimitive.BYTES:
-          case AvroPrimitive.STRING:
-            return new AvroPrimitiveType(schema2);
-          default:
-            throw new Error(`Unexpected Avro type ${schema2}`);
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string name */
+            2:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            3:
+              message.size = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
+        return message;
       }
-      static fromArraySchema(schema2) {
-        return new AvroUnionType(schema2.map(_AvroType.fromSchema));
-      }
-      static fromObjectSchema(schema2) {
-        const type2 = schema2.type;
-        try {
-          return _AvroType.fromStringSchema(type2);
-        } catch {
-        }
-        switch (type2) {
-          case AvroComplex.RECORD:
-            if (schema2.aliases) {
-              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
-            }
-            if (!schema2.name) {
-              throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`);
-            }
-            const fields = {};
-            if (!schema2.fields) {
-              throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`);
-            }
-            for (const field of schema2.fields) {
-              fields[field.name] = _AvroType.fromSchema(field.type);
-            }
-            return new AvroRecordType(fields, schema2.name);
-          case AvroComplex.ENUM:
-            if (schema2.aliases) {
-              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
-            }
-            if (!schema2.symbols) {
-              throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`);
-            }
-            return new AvroEnumType(schema2.symbols);
-          case AvroComplex.MAP:
-            if (!schema2.values) {
-              throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`);
-            }
-            return new AvroMapType(_AvroType.fromSchema(schema2.values));
-          case AvroComplex.ARRAY:
-          // Unused today
-          case AvroComplex.FIXED:
-          // Unused today
-          default:
-            throw new Error(`Unexpected Avro type ${type2} in ${schema2}`);
-        }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.name !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.AvroType = AvroType;
-    var AvroPrimitiveType = class extends AvroType {
-      _primitive;
-      constructor(primitive) {
-        super();
-        this._primitive = primitive;
+    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
+    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      read(stream2, options = {}) {
-        switch (this._primitive) {
-          case AvroPrimitive.NULL:
-            return AvroParser.readNull();
-          case AvroPrimitive.BOOLEAN:
-            return AvroParser.readBoolean(stream2, options);
-          case AvroPrimitive.INT:
-            return AvroParser.readInt(stream2, options);
-          case AvroPrimitive.LONG:
-            return AvroParser.readLong(stream2, options);
-          case AvroPrimitive.FLOAT:
-            return AvroParser.readFloat(stream2, options);
-          case AvroPrimitive.DOUBLE:
-            return AvroParser.readDouble(stream2, options);
-          case AvroPrimitive.BYTES:
-            return AvroParser.readBytes(stream2, options);
-          case AvroPrimitive.STRING:
-            return AvroParser.readString(stream2, options);
-          default:
-            throw new Error("Unknown Avro Primitive");
-        }
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-    };
-    var AvroEnumType = class extends AvroType {
-      _symbols;
-      constructor(symbols) {
-        super();
-        this._symbols = symbols;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      async read(stream2, options = {}) {
-        const value = await AvroParser.readInt(stream2, options);
-        return this._symbols[value];
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    var AvroUnionType = class extends AvroType {
-      _types;
-      constructor(types) {
-        super();
-        this._types = types;
+    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
+    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
+          {
+            no: 5,
+            name: "version",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
       }
-      async read(stream2, options = {}) {
-        const typeIndex = await AvroParser.readInt(stream2, options);
-        return this._types[typeIndex].read(stream2, options);
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-    };
-    var AvroMapType = class extends AvroType {
-      _itemType;
-      constructor(itemType) {
-        super();
-        this._itemType = itemType;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            case /* google.protobuf.Timestamp expires_at */
+            4:
+              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
+              break;
+            case /* int32 version */
+            5:
+              message.version = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      read(stream2, options = {}) {
-        const readItemMethod = (s, opts) => {
-          return this._itemType.read(s, opts);
-        };
-        return AvroParser.readMap(stream2, readItemMethod, options);
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.expiresAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.version !== 0)
+          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    var AvroRecordType = class extends AvroType {
-      _name;
-      _fields;
-      constructor(fields, name) {
-        super();
-        this._fields = fields;
-        this._name = name;
+    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
+    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      async read(stream2, options = {}) {
-        const record = {};
-        record["$schema"] = this._name;
-        for (const key in this._fields) {
-          if (Object.prototype.hasOwnProperty.call(this._fields, key)) {
-            record[key] = await this._fields[key].read(stream2, options);
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
         }
-        return record;
-      }
-    };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js
-var require_utils_common3 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.arraysEqual = arraysEqual;
-    function arraysEqual(a, b) {
-      if (a === b)
-        return true;
-      if (a == null || b == null)
-        return false;
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; ++i) {
-        if (a[i] !== b[i])
-          return false;
+        return message;
       }
-      return true;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js
-var require_AvroReader = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReader = void 0;
-    var AvroConstants_js_1 = require_AvroConstants();
-    var AvroParser_js_1 = require_AvroParser();
-    var utils_common_js_1 = require_utils_common3();
-    var AvroReader = class {
-      _dataStream;
-      _headerStream;
-      _syncMarker;
-      _metadata;
-      _itemType;
-      _itemsRemainingInBlock;
-      // Remembers where we started if partial data stream was provided.
-      _initialBlockOffset;
-      /// The byte offset within the Avro file (both header and data)
-      /// of the start of the current block.
-      _blockOffset;
-      get blockOffset() {
-        return this._blockOffset;
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      _objectIndex;
-      get objectIndex() {
-        return this._objectIndex;
+    };
+    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
+    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 4,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
+        ]);
       }
-      _initialized;
-      constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) {
-        this._dataStream = dataStream;
-        this._headerStream = headerStream || dataStream;
-        this._initialized = false;
-        this._blockOffset = currentBlockOffset || 0;
-        this._objectIndex = indexWithinCurrentBlock || 0;
-        this._initialBlockOffset = currentBlockOffset || 0;
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      async initialize(options = {}) {
-        const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, {
-          abortSignal: options.abortSignal
-        });
-        if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) {
-          throw new Error("Stream is not an Avro file.");
-        }
-        this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, {
-          abortSignal: options.abortSignal
-        });
-        const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY];
-        if (!(codec === void 0 || codec === null || codec === "null")) {
-          throw new Error("Codecs are not supported");
-        }
-        this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
-          abortSignal: options.abortSignal
-        });
-        const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]);
-        this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2);
-        if (this._blockOffset === 0) {
-          this._blockOffset = this._initialBlockOffset + this._dataStream.position;
-        }
-        this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
-          abortSignal: options.abortSignal
-        });
-        await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
-        this._initialized = true;
-        if (this._objectIndex && this._objectIndex > 0) {
-          for (let i = 0; i < this._objectIndex; i++) {
-            await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal });
-            this._itemsRemainingInBlock--;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            4:
+              message.size = reader.int64().toString();
+              break;
+            case /* google.protobuf.StringValue hash */
+            5:
+              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
         }
+        return message;
       }
-      hasNext() {
-        return !this._initialized || this._itemsRemainingInBlock > 0;
-      }
-      async *parseObjects(options = {}) {
-        if (!this._initialized) {
-          await this.initialize(options);
-        }
-        while (this.hasNext()) {
-          const result = await this._itemType.read(this._dataStream, {
-            abortSignal: options.abortSignal
-          });
-          this._itemsRemainingInBlock--;
-          this._objectIndex++;
-          if (this._itemsRemainingInBlock === 0) {
-            const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
-              abortSignal: options.abortSignal
-            });
-            this._blockOffset = this._initialBlockOffset + this._dataStream.position;
-            this._objectIndex = 0;
-            if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) {
-              throw new Error("Stream is not a valid Avro file.");
-            }
-            try {
-              this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
-                abortSignal: options.abortSignal
-              });
-            } catch {
-              this._itemsRemainingInBlock = 0;
-            }
-            if (this._itemsRemainingInBlock > 0) {
-              await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
-            }
-          }
-          yield result;
-        }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
+        if (message.hash)
+          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.AvroReader = AvroReader;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js
-var require_AvroReadable = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadable = void 0;
-    var AvroReadable = class {
-    };
-    exports2.AvroReadable = AvroReadable;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js
-var require_AvroReadableFromStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadableFromStream = void 0;
-    var AvroReadable_js_1 = require_AvroReadable();
-    var abort_controller_1 = require_commonjs11();
-    var buffer_1 = require("buffer");
-    var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted.");
-    var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable {
-      _position;
-      _readable;
-      toUint8Array(data) {
-        if (typeof data === "string") {
-          return buffer_1.Buffer.from(data);
-        }
-        return data;
-      }
-      constructor(readable) {
-        super();
-        this._readable = readable;
-        this._position = 0;
+    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
+    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      get position() {
-        return this._position;
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      async read(size, options = {}) {
-        if (options.abortSignal?.aborted) {
-          throw ABORT_ERROR;
-        }
-        if (size < 0) {
-          throw new Error(`size parameter should be positive: ${size}`);
-        }
-        if (size === 0) {
-          return new Uint8Array();
-        }
-        if (!this._readable.readable) {
-          throw new Error("Stream no longer readable.");
-        }
-        const chunk = this._readable.read(size);
-        if (chunk) {
-          this._position += chunk.length;
-          return this.toUint8Array(chunk);
-        } else {
-          return new Promise((resolve8, reject) => {
-            const cleanUp = () => {
-              this._readable.removeListener("readable", readableCallback);
-              this._readable.removeListener("error", rejectCallback);
-              this._readable.removeListener("end", rejectCallback);
-              this._readable.removeListener("close", rejectCallback);
-              if (options.abortSignal) {
-                options.abortSignal.removeEventListener("abort", abortHandler);
-              }
-            };
-            const readableCallback = () => {
-              const callbackChunk = this._readable.read(size);
-              if (callbackChunk) {
-                this._position += callbackChunk.length;
-                cleanUp();
-                resolve8(this.toUint8Array(callbackChunk));
-              }
-            };
-            const rejectCallback = () => {
-              cleanUp();
-              reject();
-            };
-            const abortHandler = () => {
-              cleanUp();
-              reject(ABORT_ERROR);
-            };
-            this._readable.on("readable", readableCallback);
-            this._readable.once("error", rejectCallback);
-            this._readable.once("end", rejectCallback);
-            this._readable.once("close", rejectCallback);
-            if (options.abortSignal) {
-              options.abortSignal.addEventListener("abort", abortHandler);
-            }
-          });
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.AvroReadableFromStream = AvroReadableFromStream;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js
-var require_internal_avro = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0;
-    var AvroReader_js_1 = require_AvroReader();
-    Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() {
-      return AvroReader_js_1.AvroReader;
-    } });
-    var AvroReadable_js_1 = require_AvroReadable();
-    Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() {
-      return AvroReadable_js_1.AvroReadable;
-    } });
-    var AvroReadableFromStream_js_1 = require_AvroReadableFromStream();
-    Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() {
-      return AvroReadableFromStream_js_1.AvroReadableFromStream;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js
-var require_BlobQuickQueryStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobQuickQueryStream = void 0;
-    var node_stream_1 = require("node:stream");
-    var index_js_1 = require_internal_avro();
-    var BlobQuickQueryStream = class extends node_stream_1.Readable {
-      source;
-      avroReader;
-      avroIter;
-      avroPaused = true;
-      onProgress;
-      onError;
-      /**
-       * Creates an instance of BlobQuickQueryStream.
-       *
-       * @param source - The current ReadableStream returned from getter
-       * @param options -
-       */
-      constructor(source, options = {}) {
-        super();
-        this.source = source;
-        this.onProgress = options.onProgress;
-        this.onError = options.onError;
-        this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source));
-        this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal });
+    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
+    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
+          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
+        ]);
       }
-      _read() {
-        if (this.avroPaused) {
-          this.readInternal().catch((err) => {
-            this.emit("error", err);
-          });
-        }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      async readInternal() {
-        this.avroPaused = false;
-        let avroNext;
-        do {
-          avroNext = await this.avroIter.next();
-          if (avroNext.done) {
-            break;
-          }
-          const obj = avroNext.value;
-          const schema2 = obj.$schema;
-          if (typeof schema2 !== "string") {
-            throw Error("Missing schema in avro record.");
-          }
-          switch (schema2) {
-            case "com.microsoft.azure.storage.queryBlobContents.resultData":
-              {
-                const data = obj.data;
-                if (data instanceof Uint8Array === false) {
-                  throw Error("Invalid data in avro result record.");
-                }
-                if (!this.push(Buffer.from(data))) {
-                  this.avroPaused = true;
-                }
-              }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
               break;
-            case "com.microsoft.azure.storage.queryBlobContents.progress":
-              {
-                const bytesScanned = obj.bytesScanned;
-                if (typeof bytesScanned !== "number") {
-                  throw Error("Invalid bytesScanned in avro progress record.");
-                }
-                if (this.onProgress) {
-                  this.onProgress({ loadedBytes: bytesScanned });
-                }
-              }
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
               break;
-            case "com.microsoft.azure.storage.queryBlobContents.end":
-              if (this.onProgress) {
-                const totalBytes = obj.totalBytes;
-                if (typeof totalBytes !== "number") {
-                  throw Error("Invalid totalBytes in avro end record.");
-                }
-                this.onProgress({ loadedBytes: totalBytes });
-              }
-              this.push(null);
+            case /* google.protobuf.StringValue name_filter */
+            3:
+              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
               break;
-            case "com.microsoft.azure.storage.queryBlobContents.error":
-              if (this.onError) {
-                const fatal = obj.fatal;
-                if (typeof fatal !== "boolean") {
-                  throw Error("Invalid fatal in avro error record.");
-                }
-                const name = obj.name;
-                if (typeof name !== "string") {
-                  throw Error("Invalid name in avro error record.");
-                }
-                const description = obj.description;
-                if (typeof description !== "string") {
-                  throw Error("Invalid description in avro error record.");
-                }
-                const position = obj.position;
-                if (typeof position !== "number") {
-                  throw Error("Invalid position in avro error record.");
-                }
-                this.onError({
-                  position,
-                  name,
-                  isFatal: fatal,
-                  description
-                });
-              }
+            case /* google.protobuf.Int64Value id_filter */
+            4:
+              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
               break;
             default:
-              throw Error(`Unknown schema ${schema2} in avro progress record.`);
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
-        } while (!avroNext.done && !this.avroPaused);
+        }
+        return message;
       }
-    };
-    exports2.BlobQuickQueryStream = BlobQuickQueryStream;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js
-var require_BlobQueryResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobQueryResponse = void 0;
-    var core_util_1 = require_commonjs4();
-    var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream();
-    var BlobQueryResponse = class {
-      /**
-       * Indicates that the service supports
-       * requests for partial file content.
-       *
-       * @readonly
-       */
-      get acceptRanges() {
-        return this.originalResponse.acceptRanges;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.nameFilter)
+          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.idFilter)
+          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Returns if it was previously specified
-       * for the file.
-       *
-       * @readonly
-       */
-      get cacheControl() {
-        return this.originalResponse.cacheControl;
+    };
+    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
+    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsResponse", [
+          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
+        ]);
       }
-      /**
-       * Returns the value that was specified
-       * for the 'x-ms-content-disposition' header and specifies how to process the
-       * response.
-       *
-       * @readonly
-       */
-      get contentDisposition() {
-        return this.originalResponse.contentDisposition;
+      create(value) {
+        const message = { artifacts: [] };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Returns the value that was specified
-       * for the Content-Encoding request header.
-       *
-       * @readonly
-       */
-      get contentEncoding() {
-        return this.originalResponse.contentEncoding;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
+            1:
+              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Returns the value that was specified
-       * for the Content-Language request header.
-       *
-       * @readonly
-       */
-      get contentLanguage() {
-        return this.originalResponse.contentLanguage;
+      internalBinaryWrite(message, writer, options) {
+        for (let i = 0; i < message.artifacts.length; i++)
+          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * The current sequence number for a
-       * page blob. This header is not returned for block blobs or append blobs.
-       *
-       * @readonly
-       */
-      get blobSequenceNumber() {
-        return this.originalResponse.blobSequenceNumber;
+    };
+    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
+    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "database_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 4,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 5,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
+          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
+        ]);
       }
-      /**
-       * The blob's type. Possible values include:
-       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
-       *
-       * @readonly
-       */
-      get blobType() {
-        return this.originalResponse.blobType;
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The number of bytes present in the
-       * response body.
-       *
-       * @readonly
-       */
-      get contentLength() {
-        return this.originalResponse.contentLength;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* int64 database_id */
+            3:
+              message.databaseId = reader.int64().toString();
+              break;
+            case /* string name */
+            4:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            5:
+              message.size = reader.int64().toString();
+              break;
+            case /* google.protobuf.Timestamp created_at */
+            6:
+              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
+              break;
+            case /* google.protobuf.StringValue digest */
+            7:
+              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * If the file has an MD5 hash and the
-       * request is to read the full file, this response header is returned so that
-       * the client can check for message content integrity. If the request is to
-       * read a specified range and the 'x-ms-range-get-content-md5' is set to
-       * true, then the request returns an MD5 hash for the range, as long as the
-       * range size is less than or equal to 4 MB. If neither of these sets of
-       * conditions is true, then no value is returned for the 'Content-MD5'
-       * header.
-       *
-       * @readonly
-       */
-      get contentMD5() {
-        return this.originalResponse.contentMD5;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.databaseId !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
+        if (message.name !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
+        if (message.createdAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.digest)
+          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Indicates the range of bytes returned if
-       * the client requested a subset of the file by setting the Range request
-       * header.
-       *
-       * @readonly
-       */
-      get contentRange() {
-        return this.originalResponse.contentRange;
+    };
+    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
+    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * The content type specified for the file.
-       * The default content type is 'application/octet-stream'
-       *
-       * @readonly
-       */
-      get contentType() {
-        return this.originalResponse.contentType;
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Conclusion time of the last attempted
-       * Copy File operation where this file was the destination file. This value
-       * can specify the time of a completed, aborted, or failed copy attempt.
-       *
-       * @readonly
-       */
-      get copyCompletedOn() {
-        return void 0;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * String identifier for the last attempted Copy
-       * File operation where this file was the destination file.
-       *
-       * @readonly
-       */
-      get copyId() {
-        return this.originalResponse.copyId;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Contains the number of bytes copied and
-       * the total bytes in the source in the last attempted Copy File operation
-       * where this file was the destination file. Can show between 0 and
-       * Content-Length bytes copied.
-       *
-       * @readonly
-       */
-      get copyProgress() {
-        return this.originalResponse.copyProgress;
+    };
+    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
+    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
+          {
+            no: 1,
+            name: "signed_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * URL up to 2KB in length that specifies the
-       * source file used in the last attempted Copy File operation where this file
-       * was the destination file.
-       *
-       * @readonly
-       */
-      get copySource() {
-        return this.originalResponse.copySource;
+      create(value) {
+        const message = { signedUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * State of the copy operation
-       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
-       * 'success', 'aborted', 'failed'
-       *
-       * @readonly
-       */
-      get copyStatus() {
-        return this.originalResponse.copyStatus;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string signed_url */
+            1:
+              message.signedUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Only appears when
-       * x-ms-copy-status is failed or pending. Describes cause of fatal or
-       * non-fatal copy operation failure.
-       *
-       * @readonly
-       */
-      get copyStatusDescription() {
-        return this.originalResponse.copyStatusDescription;
+      internalBinaryWrite(message, writer, options) {
+        if (message.signedUrl !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * When a blob is leased,
-       * specifies whether the lease is of infinite or fixed duration. Possible
-       * values include: 'infinite', 'fixed'.
-       *
-       * @readonly
-       */
-      get leaseDuration() {
-        return this.originalResponse.leaseDuration;
+    };
+    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
+    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.DeleteArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * Lease state of the blob. Possible
-       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
-       *
-       * @readonly
-       */
-      get leaseState() {
-        return this.originalResponse.leaseState;
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The current lease status of the
-       * blob. Possible values include: 'locked', 'unlocked'.
-       *
-       * @readonly
-       */
-      get leaseStatus() {
-        return this.originalResponse.leaseStatus;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * A UTC date/time value generated by the service that
-       * indicates the time at which the response was initiated.
-       *
-       * @readonly
-       */
-      get date() {
-        return this.originalResponse.date;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * The number of committed blocks
-       * present in the blob. This header is returned only for append blobs.
-       *
-       * @readonly
-       */
-      get blobCommittedBlockCount() {
-        return this.originalResponse.blobCommittedBlockCount;
+    };
+    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
+    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.DeleteArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      /**
-       * The ETag contains a value that you can use to
-       * perform operations conditionally, in quotes.
-       *
-       * @readonly
-       */
-      get etag() {
-        return this.originalResponse.etag;
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The error code.
-       *
-       * @readonly
-       */
-      get errorCode() {
-        return this.originalResponse.errorCode;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The value of this header is set to
-       * true if the file data and application metadata are completely encrypted
-       * using the specified algorithm. Otherwise, the value is set to false (when
-       * the file is unencrypted, or if only parts of the file/application metadata
-       * are encrypted).
-       *
-       * @readonly
-       */
-      get isServerEncrypted() {
-        return this.originalResponse.isServerEncrypted;
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * If the blob has a MD5 hash, and if
-       * request contains range header (Range or x-ms-range), this response header
-       * is returned with the value of the whole blob's MD5 value. This value may
-       * or may not be equal to the value returned in Content-MD5 header, with the
-       * latter calculated from the requested range.
-       *
-       * @readonly
-       */
-      get blobContentMD5() {
-        return this.originalResponse.blobContentMD5;
+    };
+    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
+    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
+      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
+      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
+      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
+      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
+      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
+      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
+      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
+    ]);
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
+var require_artifact_twirp_client = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
+    var artifact_1 = require_artifact();
+    var ArtifactServiceClientJSON = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateArtifact.bind(this);
+        this.FinalizeArtifact.bind(this);
+        this.ListArtifacts.bind(this);
+        this.GetSignedArtifactURL.bind(this);
+        this.DeleteArtifact.bind(this);
       }
-      /**
-       * Returns the date and time the file was last
-       * modified. Any operation that modifies the file or its properties updates
-       * the last modified time.
-       *
-       * @readonly
-       */
-      get lastModified() {
-        return this.originalResponse.lastModified;
+      CreateArtifact(request2) {
+        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
       }
-      /**
-       * A name-value pair
-       * to associate with a file storage object.
-       *
-       * @readonly
-       */
-      get metadata() {
-        return this.originalResponse.metadata;
+      FinalizeArtifact(request2) {
+        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
       }
-      /**
-       * This header uniquely identifies the request
-       * that was made and can be used for troubleshooting the request.
-       *
-       * @readonly
-       */
-      get requestId() {
-        return this.originalResponse.requestId;
+      ListArtifacts(request2) {
+        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
+        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
       }
-      /**
-       * If a client request id header is sent in the request, this header will be present in the
-       * response with the same value.
-       *
-       * @readonly
-       */
-      get clientRequestId() {
-        return this.originalResponse.clientRequestId;
+      GetSignedArtifactURL(request2) {
+        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
+        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
       }
-      /**
-       * Indicates the version of the File service used
-       * to execute the request.
-       *
-       * @readonly
-       */
-      get version() {
-        return this.originalResponse.version;
+      DeleteArtifact(request2) {
+        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
       }
-      /**
-       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
-       * when the blob was encrypted with a customer-provided key.
-       *
-       * @readonly
-       */
-      get encryptionKeySha256() {
-        return this.originalResponse.encryptionKeySha256;
+    };
+    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
+    var ArtifactServiceClientProtobuf = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateArtifact.bind(this);
+        this.FinalizeArtifact.bind(this);
+        this.ListArtifacts.bind(this);
+        this.GetSignedArtifactURL.bind(this);
+        this.DeleteArtifact.bind(this);
       }
-      /**
-       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
-       * true, then the request returns a crc64 for the range, as long as the range size is less than
-       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
-       * specified in the same request, it will fail with 400(Bad Request)
-       */
-      get contentCrc64() {
-        return this.originalResponse.contentCrc64;
+      CreateArtifact(request2) {
+        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
       }
-      /**
-       * The response body as a browser Blob.
-       * Always undefined in node.js.
-       *
-       * @readonly
-       */
-      get blobBody() {
-        return void 0;
+      FinalizeArtifact(request2) {
+        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
       }
-      /**
-       * The response body as a node.js Readable stream.
-       * Always undefined in the browser.
-       *
-       * It will parse avor data returned by blob query.
-       *
-       * @readonly
-       */
-      get readableStreamBody() {
-        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      ListArtifacts(request2) {
+        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
       }
-      /**
-       * The HTTP response.
-       */
-      get _response() {
-        return this.originalResponse._response;
+      GetSignedArtifactURL(request2) {
+        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
       }
-      originalResponse;
-      blobDownloadStream;
-      /**
-       * Creates an instance of BlobQueryResponse.
-       *
-       * @param originalResponse -
-       * @param options -
-       */
-      constructor(originalResponse, options = {}) {
-        this.originalResponse = originalResponse;
-        this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options);
+      DeleteArtifact(request2) {
+        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
       }
     };
-    exports2.BlobQueryResponse = BlobQueryResponse;
+    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/models.js
-var require_models2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/index.js
+var require_generated = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0;
-    exports2.toAccessTier = toAccessTier;
-    exports2.ensureCpkIfSpecified = ensureCpkIfSpecified;
-    exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience;
-    var constants_js_1 = require_constants15();
-    var BlockBlobTier;
-    (function(BlockBlobTier2) {
-      BlockBlobTier2["Hot"] = "Hot";
-      BlockBlobTier2["Cool"] = "Cool";
-      BlockBlobTier2["Cold"] = "Cold";
-      BlockBlobTier2["Archive"] = "Archive";
-    })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {}));
-    var PremiumPageBlobTier;
-    (function(PremiumPageBlobTier2) {
-      PremiumPageBlobTier2["P4"] = "P4";
-      PremiumPageBlobTier2["P6"] = "P6";
-      PremiumPageBlobTier2["P10"] = "P10";
-      PremiumPageBlobTier2["P15"] = "P15";
-      PremiumPageBlobTier2["P20"] = "P20";
-      PremiumPageBlobTier2["P30"] = "P30";
-      PremiumPageBlobTier2["P40"] = "P40";
-      PremiumPageBlobTier2["P50"] = "P50";
-      PremiumPageBlobTier2["P60"] = "P60";
-      PremiumPageBlobTier2["P70"] = "P70";
-      PremiumPageBlobTier2["P80"] = "P80";
-    })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {}));
-    function toAccessTier(tier) {
-      if (tier === void 0) {
-        return void 0;
-      }
-      return tier;
-    }
-    function ensureCpkIfSpecified(cpk, isHttps) {
-      if (cpk && !isHttps) {
-        throw new RangeError("Customer-provided encryption key must be used over HTTPS.");
-      }
-      if (cpk && !cpk.encryptionAlgorithm) {
-        cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25;
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-    }
-    var StorageBlobAudience;
-    (function(StorageBlobAudience2) {
-      StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default";
-      StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default";
-    })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {}));
-    function getBlobServiceAccountAudience(storageAccountName) {
-      return `https://${storageAccountName}.blob.core.windows.net/.default`;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js
-var require_PageBlobRangeResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.rangeResponseFromModel = rangeResponseFromModel;
-    function rangeResponseFromModel(response) {
-      const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({
-        offset: x.start,
-        count: x.end - x.start
-      }));
-      const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({
-        offset: x.start,
-        count: x.end - x.start
-      }));
-      return {
-        ...response,
-        pageRange,
-        clearRange,
-        _response: {
-          ...response._response,
-          parsedBody: {
-            pageRange,
-            clearRange
-          }
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/logger.js
-var require_logger2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs2();
-    exports2.logger = (0, logger_1.createClientLogger)("core-lro");
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js
-var require_constants17 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) {
-    "use strict";
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
+      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0;
-    exports2.POLL_INTERVAL_IN_MS = 2e3;
-    exports2.terminalStates = ["succeeded", "canceled", "failed"];
+    __exportStar2(require_timestamp(), exports2);
+    __exportStar2(require_wrappers(), exports2);
+    __exportStar2(require_artifact(), exports2);
+    __exportStar2(require_artifact_twirp_client(), exports2);
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js
-var require_operation = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/retention.js
+var require_retention = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0;
-    var logger_js_1 = require_logger2();
-    var constants_js_1 = require_constants17();
-    function deserializeState(serializedState) {
-      try {
-        return JSON.parse(serializedState).state;
-      } catch (e) {
-        throw new Error(`Unable to deserialize input state: ${serializedState}`);
-      }
-    }
-    exports2.deserializeState = deserializeState;
-    function setStateError(inputs) {
-      const { state, stateProxy, isOperationError } = inputs;
-      return (error3) => {
-        if (isOperationError(error3)) {
-          stateProxy.setError(state, error3);
-          stateProxy.setFailed(state);
-        }
-        throw error3;
-      };
-    }
-    function appendReadableErrorMessage(currentMessage, innerMessage) {
-      let message = currentMessage;
-      if (message.slice(-1) !== ".") {
-        message = message + ".";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      return message + " " + innerMessage;
-    }
-    function simplifyError(err) {
-      let message = err.message;
-      let code = err.code;
-      let curErr = err;
-      while (curErr.innererror) {
-        curErr = curErr.innererror;
-        code = curErr.code;
-        message = appendReadableErrorMessage(message, curErr.message);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      return {
-        code,
-        message
-      };
-    }
-    function processOperationStatus(result) {
-      const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result;
-      switch (status) {
-        case "succeeded": {
-          stateProxy.setSucceeded(state);
-          break;
-        }
-        case "failed": {
-          const err = getError === null || getError === void 0 ? void 0 : getError(response);
-          let postfix = "";
-          if (err) {
-            const { code, message } = simplifyError(err);
-            postfix = `. ${code}. ${message}`;
-          }
-          const errStr = `The long-running operation has failed${postfix}`;
-          stateProxy.setError(state, new Error(errStr));
-          stateProxy.setFailed(state);
-          logger_js_1.logger.warning(errStr);
-          break;
-        }
-        case "canceled": {
-          stateProxy.setCanceled(state);
-          break;
-        }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getExpiration = void 0;
+    var generated_1 = require_generated();
+    var core17 = __importStar2(require_core());
+    function getExpiration(retentionDays) {
+      if (!retentionDays) {
+        return void 0;
       }
-      if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) {
-        stateProxy.setResult(state, buildResult({
-          response,
-          state,
-          processResult
-        }));
+      const maxRetentionDays = getRetentionDays();
+      if (maxRetentionDays && maxRetentionDays < retentionDays) {
+        core17.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
+        retentionDays = maxRetentionDays;
       }
+      const expirationDate = /* @__PURE__ */ new Date();
+      expirationDate.setDate(expirationDate.getDate() + retentionDays);
+      return generated_1.Timestamp.fromDate(expirationDate);
     }
-    function buildResult(inputs) {
-      const { processResult, response, state } = inputs;
-      return processResult ? processResult(response, state) : response;
-    }
-    async function initOperation(inputs) {
-      const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs;
-      const { operationLocation, resourceLocation, metadata, response } = await init();
-      if (operationLocation)
-        withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
-      const config = {
-        metadata,
-        operationLocation,
-        resourceLocation
-      };
-      logger_js_1.logger.verbose(`LRO: Operation description:`, config);
-      const state = stateProxy.initState(config);
-      const status = getOperationStatus({ response, state, operationLocation });
-      processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult });
-      return state;
-    }
-    exports2.initOperation = initOperation;
-    async function pollOperationHelper(inputs) {
-      const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs;
-      const response = await poll(operationLocation, options).catch(setStateError({
-        state,
-        stateProxy,
-        isOperationError
-      }));
-      const status = getOperationStatus(response, state);
-      logger_js_1.logger.verbose(`LRO: Status:
-	Polling from: ${state.config.operationLocation}
-	Operation status: ${status}
-	Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`);
-      if (status === "succeeded") {
-        const resourceLocation = getResourceLocation(response, state);
-        if (resourceLocation !== void 0) {
-          return {
-            response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })),
-            status
-          };
-        }
+    exports2.getExpiration = getExpiration;
+    function getRetentionDays() {
+      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
+      if (!retentionDays) {
+        return void 0;
       }
-      return { response, status };
-    }
-    async function pollOperation(inputs) {
-      const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs;
-      const { operationLocation } = state.config;
-      if (operationLocation !== void 0) {
-        const { response, status } = await pollOperationHelper({
-          poll,
-          getOperationStatus,
-          state,
-          stateProxy,
-          operationLocation,
-          getResourceLocation,
-          isOperationError,
-          options
-        });
-        processOperationStatus({
-          status,
-          response,
-          state,
-          stateProxy,
-          isDone,
-          processResult,
-          getError,
-          setErrorAsResult
-        });
-        if (!constants_js_1.terminalStates.includes(status)) {
-          const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response);
-          if (intervalInMs)
-            setDelay(intervalInMs);
-          const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state);
-          if (location !== void 0) {
-            const isUpdated = operationLocation !== location;
-            state.config.operationLocation = location;
-            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated);
-          } else
-            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
-        }
-        updateState === null || updateState === void 0 ? void 0 : updateState(state, response);
+      const days = parseInt(retentionDays);
+      if (isNaN(days)) {
+        return void 0;
       }
+      return days;
     }
-    exports2.pollOperation = pollOperation;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/http/operation.js
-var require_operation2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
+var require_path_and_artifact_name_validation = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0;
-    var operation_js_1 = require_operation();
-    var logger_js_1 = require_logger2();
-    function getOperationLocationPollingUrl(inputs) {
-      const { azureAsyncOperation, operationLocation } = inputs;
-      return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation;
-    }
-    function getLocationHeader(rawResponse) {
-      return rawResponse.headers["location"];
-    }
-    function getOperationLocationHeader(rawResponse) {
-      return rawResponse.headers["operation-location"];
-    }
-    function getAzureAsyncOperationHeader(rawResponse) {
-      return rawResponse.headers["azure-asyncoperation"];
-    }
-    function findResourceLocation(inputs) {
-      var _a;
-      const { location, requestMethod, requestPath, resourceLocationConfig } = inputs;
-      switch (requestMethod) {
-        case "PUT": {
-          return requestPath;
-        }
-        case "DELETE": {
-          return void 0;
-        }
-        case "PATCH": {
-          return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath;
-        }
-        default: {
-          return getDefault();
-        }
-      }
-      function getDefault() {
-        switch (resourceLocationConfig) {
-          case "azure-async-operation": {
-            return void 0;
-          }
-          case "original-uri": {
-            return requestPath;
-          }
-          case "location":
-          default: {
-            return location;
-          }
-        }
-      }
-    }
-    function inferLroMode(inputs) {
-      const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs;
-      const operationLocation = getOperationLocationHeader(rawResponse);
-      const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse);
-      const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation });
-      const location = getLocationHeader(rawResponse);
-      const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase();
-      if (pollingUrl !== void 0) {
-        return {
-          mode: "OperationLocation",
-          operationLocation: pollingUrl,
-          resourceLocation: findResourceLocation({
-            requestMethod: normalizedRequestMethod,
-            location,
-            requestPath,
-            resourceLocationConfig
-          })
-        };
-      } else if (location !== void 0) {
-        return {
-          mode: "ResourceLocation",
-          operationLocation: location
-        };
-      } else if (normalizedRequestMethod === "PUT" && requestPath) {
-        return {
-          mode: "Body",
-          operationLocation: requestPath
-        };
-      } else {
-        return void 0;
-      }
-    }
-    exports2.inferLroMode = inferLroMode;
-    function transformStatus(inputs) {
-      const { status, statusCode } = inputs;
-      if (typeof status !== "string" && status !== void 0) {
-        throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);
-      }
-      switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) {
-        case void 0:
-          return toOperationStatus(statusCode);
-        case "succeeded":
-          return "succeeded";
-        case "failed":
-          return "failed";
-        case "running":
-        case "accepted":
-        case "started":
-        case "canceling":
-        case "cancelling":
-          return "running";
-        case "canceled":
-        case "cancelled":
-          return "canceled";
-        default: {
-          logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`);
-          return status;
-        }
-      }
-    }
-    function getStatus(rawResponse) {
-      var _a;
-      const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
-      return transformStatus({ status, statusCode: rawResponse.statusCode });
-    }
-    function getProvisioningState(rawResponse) {
-      var _a, _b;
-      const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
-      const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState;
-      return transformStatus({ status, statusCode: rawResponse.statusCode });
-    }
-    function toOperationStatus(statusCode) {
-      if (statusCode === 202) {
-        return "running";
-      } else if (statusCode < 300) {
-        return "succeeded";
-      } else {
-        return "failed";
-      }
-    }
-    function parseRetryAfter({ rawResponse }) {
-      const retryAfter = rawResponse.headers["retry-after"];
-      if (retryAfter !== void 0) {
-        const retryAfterInSeconds = parseInt(retryAfter);
-        return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3;
-      }
-      return void 0;
-    }
-    exports2.parseRetryAfter = parseRetryAfter;
-    function getErrorFromResponse(response) {
-      const error3 = accessBodyProperty(response, "error");
-      if (!error3) {
-        logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`);
-        return;
-      }
-      if (!error3.code || !error3.message) {
-        logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`);
-        return;
-      }
-      return error3;
-    }
-    exports2.getErrorFromResponse = getErrorFromResponse;
-    function calculatePollingIntervalFromDate(retryAfterDate) {
-      const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime());
-      const retryAfterTime = retryAfterDate.getTime();
-      if (timeNow < retryAfterTime) {
-        return retryAfterTime - timeNow;
-      }
-      return void 0;
-    }
-    function getStatusFromInitialResponse(inputs) {
-      const { response, state, operationLocation } = inputs;
-      function helper() {
-        var _a;
-        const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-        switch (mode) {
-          case void 0:
-            return toOperationStatus(response.rawResponse.statusCode);
-          case "Body":
-            return getOperationStatus(response, state);
-          default:
-            return "running";
-        }
-      }
-      const status = helper();
-      return status === "running" && operationLocation === void 0 ? "succeeded" : status;
-    }
-    exports2.getStatusFromInitialResponse = getStatusFromInitialResponse;
-    async function initHttpOperation(inputs) {
-      const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs;
-      return (0, operation_js_1.initOperation)({
-        init: async () => {
-          const response = await lro.sendInitialRequest();
-          const config = inferLroMode({
-            rawResponse: response.rawResponse,
-            requestPath: lro.requestPath,
-            requestMethod: lro.requestMethod,
-            resourceLocationConfig
-          });
-          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
-        },
-        stateProxy,
-        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse,
-        getOperationStatus: getStatusFromInitialResponse,
-        setErrorAsResult
-      });
-    }
-    exports2.initHttpOperation = initHttpOperation;
-    function getOperationLocation({ rawResponse }, state) {
-      var _a;
-      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-      switch (mode) {
-        case "OperationLocation": {
-          return getOperationLocationPollingUrl({
-            operationLocation: getOperationLocationHeader(rawResponse),
-            azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse)
-          });
-        }
-        case "ResourceLocation": {
-          return getLocationHeader(rawResponse);
-        }
-        case "Body":
-        default: {
-          return void 0;
-        }
+    exports2.validateFilePath = exports2.validateArtifactName = void 0;
+    var core_1 = require_core();
+    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
+      ['"', ' Double quote "'],
+      [":", " Colon :"],
+      ["<", " Less than <"],
+      [">", " Greater than >"],
+      ["|", " Vertical bar |"],
+      ["*", " Asterisk *"],
+      ["?", " Question mark ?"],
+      ["\r", " Carriage return \\r"],
+      ["\n", " Line feed \\n"]
+    ]);
+    var invalidArtifactNameCharacters = new Map([
+      ...invalidArtifactFilePathCharacters,
+      ["\\", " Backslash \\"],
+      ["/", " Forward slash /"]
+    ]);
+    function validateArtifactName(name) {
+      if (!name) {
+        throw new Error(`Provided artifact name input during validation is empty`);
       }
-    }
-    exports2.getOperationLocation = getOperationLocation;
-    function getOperationStatus({ rawResponse }, state) {
-      var _a;
-      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-      switch (mode) {
-        case "OperationLocation": {
-          return getStatus(rawResponse);
-        }
-        case "ResourceLocation": {
-          return toOperationStatus(rawResponse.statusCode);
-        }
-        case "Body": {
-          return getProvisioningState(rawResponse);
+      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
+        if (name.includes(invalidCharacterKey)) {
+          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
+          
+Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
+          
+These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
         }
-        default:
-          throw new Error(`Internal error: Unexpected operation mode: ${mode}`);
       }
+      (0, core_1.info)(`Artifact name is valid!`);
     }
-    exports2.getOperationStatus = getOperationStatus;
-    function accessBodyProperty({ flatResponse, rawResponse }, prop) {
-      var _a, _b;
-      return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop];
-    }
-    function getResourceLocation(res, state) {
-      const loc = accessBodyProperty(res, "resourceLocation");
-      if (loc && typeof loc === "string") {
-        state.config.resourceLocation = loc;
+    exports2.validateArtifactName = validateArtifactName;
+    function validateFilePath(path16) {
+      if (!path16) {
+        throw new Error(`Provided file path input during validation is empty`);
+      }
+      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
+        if (path16.includes(invalidCharacterKey)) {
+          throw new Error(`The path for one of the files in artifact is not valid: ${path16}. Contains the following character: ${errorMessageForCharacter}
+          
+Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
+          
+The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
+          `);
+        }
       }
-      return state.config.resourceLocation;
-    }
-    exports2.getResourceLocation = getResourceLocation;
-    function isOperationError(e) {
-      return e.name === "RestError";
-    }
-    exports2.isOperationError = isOperationError;
-    async function pollHttpOperation(inputs) {
-      const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs;
-      return (0, operation_js_1.pollOperation)({
-        state,
-        stateProxy,
-        setDelay,
-        processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse,
-        getError: getErrorFromResponse,
-        updateState,
-        getPollingInterval: parseRetryAfter,
-        getOperationLocation,
-        getOperationStatus,
-        isOperationError,
-        getResourceLocation,
-        options,
-        /**
-         * The expansion here is intentional because `lro` could be an object that
-         * references an inner this, so we need to preserve a reference to it.
-         */
-        poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions),
-        setErrorAsResult
-      });
     }
-    exports2.pollHttpOperation = pollHttpOperation;
+    exports2.validateFilePath = validateFilePath;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js
-var require_poller = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildCreatePoller = void 0;
-    var operation_js_1 = require_operation();
-    var constants_js_1 = require_constants17();
-    var core_util_1 = require_commonjs4();
-    var createStateProxy = () => ({
-      /**
-       * The state at this point is created to be of type OperationState.
-       * It will be updated later to be of type TState when the
-       * customer-provided callback, `updateState`, is called during polling.
-       */
-      initState: (config) => ({ status: "running", config }),
-      setCanceled: (state) => state.status = "canceled",
-      setError: (state, error3) => state.error = error3,
-      setResult: (state, result) => state.result = result,
-      setRunning: (state) => state.status = "running",
-      setSucceeded: (state) => state.status = "succeeded",
-      setFailed: (state) => state.status = "failed",
-      getError: (state) => state.error,
-      getResult: (state) => state.result,
-      isCanceled: (state) => state.status === "canceled",
-      isFailed: (state) => state.status === "failed",
-      isRunning: (state) => state.status === "running",
-      isSucceeded: (state) => state.status === "succeeded"
-    });
-    function buildCreatePoller(inputs) {
-      const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs;
-      return async ({ init, poll }, options) => {
-        const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {};
-        const stateProxy = createStateProxy();
-        const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => {
-          let called = false;
-          return (operationLocation, isUpdated) => {
-            if (isUpdated)
-              withOperationLocationCallback(operationLocation);
-            else if (!called)
-              withOperationLocationCallback(operationLocation);
-            called = true;
-          };
-        })() : void 0;
-        const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({
-          init,
-          stateProxy,
-          processResult,
-          getOperationStatus: getStatusFromInitialResponse,
-          withOperationLocation,
-          setErrorAsResult: !resolveOnUnsuccessful
-        });
-        let resultPromise;
-        const abortController = new AbortController();
-        const handlers = /* @__PURE__ */ new Map();
-        const handleProgressEvents = async () => handlers.forEach((h) => h(state));
-        const cancelErrMsg = "Operation was canceled";
-        let currentPollIntervalInMs = intervalInMs;
-        const poller = {
-          getOperationState: () => state,
-          getResult: () => state.result,
-          isDone: () => ["succeeded", "failed", "canceled"].includes(state.status),
-          isStopped: () => resultPromise === void 0,
-          stopPolling: () => {
-            abortController.abort();
-          },
-          toString: () => JSON.stringify({
-            state
-          }),
-          onProgress: (callback) => {
-            const s = /* @__PURE__ */ Symbol();
-            handlers.set(s, callback);
-            return () => handlers.delete(s);
-          },
-          pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => {
-            const { abortSignal: inputAbortSignal } = pollOptions || {};
-            function abortListener() {
-              abortController.abort();
-            }
-            const abortSignal = abortController.signal;
-            if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
-              abortController.abort();
-            } else if (!abortSignal.aborted) {
-              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
-            }
-            try {
-              if (!poller.isDone()) {
-                await poller.poll({ abortSignal });
-                while (!poller.isDone()) {
-                  await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal });
-                  await poller.poll({ abortSignal });
-                }
-              }
-            } finally {
-              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
-            }
-            if (resolveOnUnsuccessful) {
-              return poller.getResult();
-            } else {
-              switch (state.status) {
-                case "succeeded":
-                  return poller.getResult();
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-                case "notStarted":
-                case "running":
-                  throw new Error(`Polling completed without succeeding or failing`);
-              }
-            }
-          })().finally(() => {
-            resultPromise = void 0;
-          }),
-          async poll(pollOptions) {
-            if (resolveOnUnsuccessful) {
-              if (poller.isDone())
-                return;
-            } else {
-              switch (state.status) {
-                case "succeeded":
-                  return;
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-              }
-            }
-            await (0, operation_js_1.pollOperation)({
-              poll,
-              state,
-              stateProxy,
-              getOperationLocation,
-              isOperationError,
-              withOperationLocation,
-              getPollingInterval,
-              getOperationStatus: getStatusFromPollResponse,
-              getResourceLocation,
-              processResult,
-              getError,
-              updateState,
-              options: pollOptions,
-              setDelay: (pollIntervalInMs) => {
-                currentPollIntervalInMs = pollIntervalInMs;
-              },
-              setErrorAsResult: !resolveOnUnsuccessful
-            });
-            await handleProgressEvents();
-            if (!resolveOnUnsuccessful) {
-              switch (state.status) {
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-              }
-            }
-          }
-        };
-        return poller;
-      };
-    }
-    exports2.buildCreatePoller = buildCreatePoller;
+// node_modules/@actions/artifact/package.json
+var require_package3 = __commonJS({
+  "node_modules/@actions/artifact/package.json"(exports2, module2) {
+    module2.exports = {
+      name: "@actions/artifact",
+      version: "5.0.3",
+      preview: true,
+      description: "Actions artifact lib",
+      keywords: [
+        "github",
+        "actions",
+        "artifact"
+      ],
+      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
+      license: "MIT",
+      main: "lib/artifact.js",
+      types: "lib/artifact.d.ts",
+      directories: {
+        lib: "lib",
+        test: "__tests__"
+      },
+      files: [
+        "lib",
+        "!.DS_Store"
+      ],
+      publishConfig: {
+        access: "public"
+      },
+      repository: {
+        type: "git",
+        url: "git+https://github.com/actions/toolkit.git",
+        directory: "packages/artifact"
+      },
+      scripts: {
+        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
+        test: "cd ../../ && npm run test ./packages/artifact",
+        bootstrap: "cd ../../ && npm run bootstrap",
+        "tsc-run": "tsc",
+        tsc: "npm run bootstrap && npm run tsc-run",
+        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
+      },
+      bugs: {
+        url: "https://github.com/actions/toolkit/issues"
+      },
+      dependencies: {
+        "@actions/core": "^2.0.0",
+        "@actions/github": "^6.0.1",
+        "@actions/http-client": "^3.0.2",
+        "@azure/storage-blob": "^12.29.1",
+        "@octokit/core": "^5.2.1",
+        "@octokit/plugin-request-log": "^1.0.4",
+        "@octokit/plugin-retry": "^3.0.9",
+        "@octokit/request": "^8.4.1",
+        "@octokit/request-error": "^5.1.1",
+        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
+        archiver: "^7.0.1",
+        "jwt-decode": "^3.1.2",
+        "unzip-stream": "^0.3.1"
+      },
+      devDependencies: {
+        "@types/archiver": "^5.3.2",
+        "@types/unzip-stream": "^0.3.4",
+        typedoc: "^0.28.13",
+        "typedoc-plugin-markdown": "^3.17.1",
+        typescript: "^5.2.2"
+      },
+      overrides: {
+        "uri-js": "npm:uri-js-replace@^1.0.1",
+        "node-fetch": "^3.3.2"
+      }
+    };
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/http/poller.js
-var require_poller2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
+var require_user_agent2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpPoller = void 0;
-    var operation_js_1 = require_operation2();
-    var poller_js_1 = require_poller();
-    async function createHttpPoller(lro, options) {
-      const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {};
-      return (0, poller_js_1.buildCreatePoller)({
-        getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse,
-        getStatusFromPollResponse: operation_js_1.getOperationStatus,
-        isOperationError: operation_js_1.isOperationError,
-        getOperationLocation: operation_js_1.getOperationLocation,
-        getResourceLocation: operation_js_1.getResourceLocation,
-        getPollingInterval: operation_js_1.parseRetryAfter,
-        getError: operation_js_1.getErrorFromResponse,
-        resolveOnUnsuccessful
-      })({
-        init: async () => {
-          const response = await lro.sendInitialRequest();
-          const config = (0, operation_js_1.inferLroMode)({
-            rawResponse: response.rawResponse,
-            requestPath: lro.requestPath,
-            requestMethod: lro.requestMethod,
-            resourceLocationConfig
-          });
-          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
-        },
-        poll: lro.sendPollRequest
-      }, {
-        intervalInMs,
-        withOperationLocation,
-        restoreFrom,
-        updateState,
-        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse
-      });
+    exports2.getUserAgentString = void 0;
+    var packageJson = require_package3();
+    function getUserAgentString() {
+      return `@actions/artifact-${packageJson.version}`;
     }
-    exports2.createHttpPoller = createHttpPoller;
+    exports2.getUserAgentString = getUserAgentString;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js
-var require_operation3 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/shared/errors.js
+var require_errors4 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GenericPollOperation = void 0;
-    var operation_js_1 = require_operation2();
-    var logger_js_1 = require_logger2();
-    var createStateProxy = () => ({
-      initState: (config) => ({ config, isStarted: true }),
-      setCanceled: (state) => state.isCancelled = true,
-      setError: (state, error3) => state.error = error3,
-      setResult: (state, result) => state.result = result,
-      setRunning: (state) => state.isStarted = true,
-      setSucceeded: (state) => state.isCompleted = true,
-      setFailed: () => {
-      },
-      getError: (state) => state.error,
-      getResult: (state) => state.result,
-      isCanceled: (state) => !!state.isCancelled,
-      isFailed: (state) => !!state.error,
-      isRunning: (state) => !!state.isStarted,
-      isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error)
-    });
-    var GenericPollOperation = class {
-      constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) {
-        this.state = state;
-        this.lro = lro;
-        this.setErrorAsResult = setErrorAsResult;
-        this.lroResourceLocationConfig = lroResourceLocationConfig;
-        this.processResult = processResult;
-        this.updateState = updateState;
-        this.isDone = isDone;
+    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
+    var FilesNotFoundError = class extends Error {
+      constructor(files = []) {
+        let message = "No files were found to upload";
+        if (files.length > 0) {
+          message += `: ${files.join(", ")}`;
+        }
+        super(message);
+        this.files = files;
+        this.name = "FilesNotFoundError";
       }
-      setPollerConfig(pollerConfig) {
-        this.pollerConfig = pollerConfig;
+    };
+    exports2.FilesNotFoundError = FilesNotFoundError;
+    var InvalidResponseError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "InvalidResponseError";
       }
-      async update(options) {
-        var _a;
-        const stateProxy = createStateProxy();
-        if (!this.state.isStarted) {
-          this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({
-            lro: this.lro,
-            stateProxy,
-            resourceLocationConfig: this.lroResourceLocationConfig,
-            processResult: this.processResult,
-            setErrorAsResult: this.setErrorAsResult
-          }));
-        }
-        const updateState = this.updateState;
-        const isDone = this.isDone;
-        if (!this.state.isCompleted && this.state.error === void 0) {
-          await (0, operation_js_1.pollHttpOperation)({
-            lro: this.lro,
-            state: this.state,
-            stateProxy,
-            processResult: this.processResult,
-            updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0,
-            isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0,
-            options,
-            setDelay: (intervalInMs) => {
-              this.pollerConfig.intervalInMs = intervalInMs;
-            },
-            setErrorAsResult: this.setErrorAsResult
-          });
-        }
-        (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state);
-        return this;
+    };
+    exports2.InvalidResponseError = InvalidResponseError;
+    var ArtifactNotFoundError = class extends Error {
+      constructor(message = "Artifact not found") {
+        super(message);
+        this.name = "ArtifactNotFoundError";
       }
-      async cancel() {
-        logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented");
-        return this;
+    };
+    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
+    var GHESNotSupportedError = class extends Error {
+      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
+        super(message);
+        this.name = "GHESNotSupportedError";
       }
-      /**
-       * Serializes the Poller operation.
-       */
-      toString() {
-        return JSON.stringify({
-          state: this.state
-        });
+    };
+    exports2.GHESNotSupportedError = GHESNotSupportedError;
+    var NetworkError = class extends Error {
+      constructor(code) {
+        const message = `Unable to make request: ${code}
+If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
+        super(message);
+        this.code = code;
+        this.name = "NetworkError";
       }
     };
-    exports2.GenericPollOperation = GenericPollOperation;
+    exports2.NetworkError = NetworkError;
+    NetworkError.isNetworkErrorCode = (code) => {
+      if (!code)
+        return false;
+      return [
+        "ECONNRESET",
+        "ENOTFOUND",
+        "ETIMEDOUT",
+        "ECONNREFUSED",
+        "EHOSTUNREACH"
+      ].includes(code);
+    };
+    var UsageError = class extends Error {
+      constructor() {
+        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
+More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
+        super(message);
+        this.name = "UsageError";
+      }
+    };
+    exports2.UsageError = UsageError;
+    UsageError.isUsageErrorMessage = (msg) => {
+      if (!msg)
+        return false;
+      return msg.includes("insufficient usage");
+    };
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js
-var require_poller3 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) {
+// node_modules/jwt-decode/build/jwt-decode.cjs.js
+var require_jwt_decode_cjs = __commonJS({
+  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0;
-    var PollerStoppedError = class _PollerStoppedError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "PollerStoppedError";
-        Object.setPrototypeOf(this, _PollerStoppedError.prototype);
-      }
+    function e(e2) {
+      this.message = e2;
+    }
+    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
+    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
+      var t2 = String(r2).replace(/=+$/, "");
+      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
+      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
+      return c;
     };
-    exports2.PollerStoppedError = PollerStoppedError;
-    var PollerCancelledError = class _PollerCancelledError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "PollerCancelledError";
-        Object.setPrototypeOf(this, _PollerCancelledError.prototype);
+    function t(e2) {
+      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
+      switch (t2.length % 4) {
+        case 0:
+          break;
+        case 2:
+          t2 += "==";
+          break;
+        case 3:
+          t2 += "=";
+          break;
+        default:
+          throw "Illegal base64url string!";
+      }
+      try {
+        return (function(e3) {
+          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
+            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
+            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
+          })));
+        })(t2);
+      } catch (e3) {
+        return r(t2);
+      }
+    }
+    function n(e2) {
+      this.message = e2;
+    }
+    function o(e2, r2) {
+      if ("string" != typeof e2) throw new n("Invalid token specified");
+      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
+      try {
+        return JSON.parse(t(e2.split(".")[o2]));
+      } catch (e3) {
+        throw new n("Invalid token specified: " + e3.message);
+      }
+    }
+    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
+    var a = o;
+    a.default = o, a.InvalidTokenError = n, module2.exports = a;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/util.js
+var require_util19 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
+      __setModuleDefault2(result, mod);
+      return result;
     };
-    exports2.PollerCancelledError = PollerCancelledError;
-    var Poller = class {
-      /**
-       * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`.
-       *
-       * When writing an implementation of a Poller, this implementation needs to deal with the initialization
-       * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's
-       * operation has already been defined, at least its basic properties. The code below shows how to approach
-       * the definition of the constructor of a new custom poller.
-       *
-       * ```ts
-       * export class MyPoller extends Poller {
-       *   constructor({
-       *     // Anything you might need outside of the basics
-       *   }) {
-       *     let state: MyOperationState = {
-       *       privateProperty: private,
-       *       publicProperty: public,
-       *     };
-       *
-       *     const operation = {
-       *       state,
-       *       update,
-       *       cancel,
-       *       toString
-       *     }
-       *
-       *     // Sending the operation to the parent's constructor.
-       *     super(operation);
-       *
-       *     // You can assign more local properties here.
-       *   }
-       * }
-       * ```
-       *
-       * Inside of this constructor, a new promise is created. This will be used to
-       * tell the user when the poller finishes (see `pollUntilDone()`). The promise's
-       * resolve and reject methods are also used internally to control when to resolve
-       * or reject anyone waiting for the poller to finish.
-       *
-       * The constructor of a custom implementation of a poller is where any serialized version of
-       * a previous poller's operation should be deserialized into the operation sent to the
-       * base constructor. For example:
-       *
-       * ```ts
-       * export class MyPoller extends Poller {
-       *   constructor(
-       *     baseOperation: string | undefined
-       *   ) {
-       *     let state: MyOperationState = {};
-       *     if (baseOperation) {
-       *       state = {
-       *         ...JSON.parse(baseOperation).state,
-       *         ...state
-       *       };
-       *     }
-       *     const operation = {
-       *       state,
-       *       // ...
-       *     }
-       *     super(operation);
-       *   }
-       * }
-       * ```
-       *
-       * @param operation - Must contain the basic properties of `PollOperation`.
-       */
-      constructor(operation) {
-        this.resolveOnUnsuccessful = false;
-        this.stopped = true;
-        this.pollProgressCallbacks = [];
-        this.operation = operation;
-        this.promise = new Promise((resolve8, reject) => {
-          this.resolve = resolve8;
-          this.reject = reject;
-        });
-        this.promise.catch(() => {
-        });
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
+    var core17 = __importStar2(require_core());
+    var config_1 = require_config2();
+    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
+    var core_1 = require_core();
+    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
+    function getBackendIdsFromToken() {
+      const token = (0, config_1.getRuntimeToken)();
+      const decoded = (0, jwt_decode_1.default)(token);
+      if (!decoded.scp) {
+        throw InvalidJwtError;
       }
-      /**
-       * Starts a loop that will break only if the poller is done
-       * or if the poller is stopped.
-       */
-      async startPolling(pollOptions = {}) {
-        if (this.stopped) {
-          this.stopped = false;
+      const scpParts = decoded.scp.split(" ");
+      if (scpParts.length === 0) {
+        throw InvalidJwtError;
+      }
+      for (const scopes of scpParts) {
+        const scopeParts = scopes.split(":");
+        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
+          continue;
         }
-        while (!this.isStopped() && !this.isDone()) {
-          await this.poll(pollOptions);
-          await this.delay();
+        if (scopeParts.length !== 3) {
+          throw InvalidJwtError;
         }
+        const ids = {
+          workflowRunBackendId: scopeParts[1],
+          workflowJobRunBackendId: scopeParts[2]
+        };
+        core17.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
+        core17.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
+        return ids;
       }
-      /**
-       * pollOnce does one polling, by calling to the update method of the underlying
-       * poll operation to make any relevant change effective.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      async pollOnce(options = {}) {
-        if (!this.isDone()) {
-          this.operation = await this.operation.update({
-            abortSignal: options.abortSignal,
-            fireProgress: this.fireProgress.bind(this)
-          });
+      throw InvalidJwtError;
+    }
+    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
+    function maskSigUrl(url2) {
+      if (!url2)
+        return;
+      try {
+        const parsedUrl = new URL(url2);
+        const signature = parsedUrl.searchParams.get("sig");
+        if (signature) {
+          (0, core_1.setSecret)(signature);
+          (0, core_1.setSecret)(encodeURIComponent(signature));
         }
-        this.processUpdatedState();
+      } catch (error3) {
+        (0, core_1.debug)(`Failed to parse URL: ${url2} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
-      /**
-       * fireProgress calls the functions passed in via onProgress the method of the poller.
-       *
-       * It loops over all of the callbacks received from onProgress, and executes them, sending them
-       * the current operation state.
-       *
-       * @param state - The current operation state.
-       */
-      fireProgress(state) {
-        for (const callback of this.pollProgressCallbacks) {
-          callback(state);
-        }
+    }
+    exports2.maskSigUrl = maskSigUrl;
+    function maskSecretUrls(body) {
+      if (typeof body !== "object" || body === null) {
+        (0, core_1.debug)("body is not an object or is null");
+        return;
       }
-      /**
-       * Invokes the underlying operation's cancel method.
-       */
-      async cancelOnce(options = {}) {
-        this.operation = await this.operation.cancel(options);
+      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
+        maskSigUrl(body.signed_upload_url);
       }
-      /**
-       * Returns a promise that will resolve once a single polling request finishes.
-       * It does this by calling the update method of the Poller's operation.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      poll(options = {}) {
-        if (!this.pollOncePromise) {
-          this.pollOncePromise = this.pollOnce(options);
-          const clearPollOncePromise = () => {
-            this.pollOncePromise = void 0;
-          };
-          this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject);
-        }
-        return this.pollOncePromise;
+      if ("signed_url" in body && typeof body.signed_url === "string") {
+        maskSigUrl(body.signed_url);
       }
-      processUpdatedState() {
-        if (this.operation.state.error) {
-          this.stopped = true;
-          if (!this.resolveOnUnsuccessful) {
-            this.reject(this.operation.state.error);
-            throw this.operation.state.error;
+    }
+    exports2.maskSecretUrls = maskSecretUrls;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
+var require_artifact_twirp_client2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
           }
         }
-        if (this.operation.state.isCancelled) {
-          this.stopped = true;
-          if (!this.resolveOnUnsuccessful) {
-            const error3 = new PollerCancelledError("Operation was canceled");
-            this.reject(error3);
-            throw error3;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
           }
         }
-        if (this.isDone() && this.resolve) {
-          this.resolve(this.getResult());
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-      }
-      /**
-       * Returns a promise that will resolve once the underlying operation is completed.
-       */
-      async pollUntilDone(pollOptions = {}) {
-        if (this.stopped) {
-          this.startPolling(pollOptions).catch(this.reject);
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.internalArtifactTwirpClient = void 0;
+    var http_client_1 = require_lib();
+    var auth_1 = require_auth();
+    var core_1 = require_core();
+    var generated_1 = require_generated();
+    var config_1 = require_config2();
+    var user_agent_1 = require_user_agent2();
+    var errors_1 = require_errors4();
+    var util_1 = require_util19();
+    var ArtifactHttpClient = class {
+      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
+        this.maxAttempts = 5;
+        this.baseRetryIntervalMilliseconds = 3e3;
+        this.retryMultiplier = 1.5;
+        const token = (0, config_1.getRuntimeToken)();
+        this.baseUrl = (0, config_1.getResultsServiceUrl)();
+        if (maxAttempts) {
+          this.maxAttempts = maxAttempts;
         }
-        this.processUpdatedState();
-        return this.promise;
-      }
-      /**
-       * Invokes the provided callback after each polling is completed,
-       * sending the current state of the poller's operation.
-       *
-       * It returns a method that can be used to stop receiving updates on the given callback function.
-       */
-      onProgress(callback) {
-        this.pollProgressCallbacks.push(callback);
-        return () => {
-          this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback);
-        };
-      }
-      /**
-       * Returns true if the poller has finished polling.
-       */
-      isDone() {
-        const state = this.operation.state;
-        return Boolean(state.isCompleted || state.isCancelled || state.error);
-      }
-      /**
-       * Stops the poller from continuing to poll.
-       */
-      stopPolling() {
-        if (!this.stopped) {
-          this.stopped = true;
-          if (this.reject) {
-            this.reject(new PollerStoppedError("This poller is already stopped"));
-          }
+        if (baseRetryIntervalMilliseconds) {
+          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
         }
-      }
-      /**
-       * Returns true if the poller is stopped.
-       */
-      isStopped() {
-        return this.stopped;
-      }
-      /**
-       * Attempts to cancel the underlying operation.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * If it's called again before it finishes, it will throw an error.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      cancelOperation(options = {}) {
-        if (!this.cancelPromise) {
-          this.cancelPromise = this.cancelOnce(options);
-        } else if (options.abortSignal) {
-          throw new Error("A cancel request is currently pending");
+        if (retryMultiplier) {
+          this.retryMultiplier = retryMultiplier;
         }
-        return this.cancelPromise;
+        this.httpClient = new http_client_1.HttpClient(userAgent2, [
+          new auth_1.BearerCredentialHandler(token)
+        ]);
       }
-      /**
-       * Returns the state of the operation.
-       *
-       * Even though TState will be the same type inside any of the methods of any extension of the Poller class,
-       * implementations of the pollers can customize what's shared with the public by writing their own
-       * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller
-       * and a public type representing a safe to share subset of the properties of the internal state.
-       * Their definition of getOperationState can then return their public type.
-       *
-       * Example:
-       *
-       * ```ts
-       * // Let's say we have our poller's operation state defined as:
-       * interface MyOperationState extends PollOperationState {
-       *   privateProperty?: string;
-       *   publicProperty?: string;
-       * }
-       *
-       * // To allow us to have a true separation of public and private state, we have to define another interface:
-       * interface PublicState extends PollOperationState {
-       *   publicProperty?: string;
-       * }
-       *
-       * // Then, we define our Poller as follows:
-       * export class MyPoller extends Poller {
-       *   // ... More content is needed here ...
-       *
-       *   public getOperationState(): PublicState {
-       *     const state: PublicState = this.operation.state;
-       *     return {
-       *       // Properties from PollOperationState
-       *       isStarted: state.isStarted,
-       *       isCompleted: state.isCompleted,
-       *       isCancelled: state.isCancelled,
-       *       error: state.error,
-       *       result: state.result,
-       *
-       *       // The only other property needed by PublicState.
-       *       publicProperty: state.publicProperty
-       *     }
-       *   }
-       * }
-       * ```
-       *
-       * You can see this in the tests of this repository, go to the file:
-       * `../test/utils/testPoller.ts`
-       * and look for the getOperationState implementation.
-       */
-      getOperationState() {
-        return this.operation.state;
+      // This function satisfies the Rpc interface. It is compatible with the JSON
+      // JSON generated client.
+      request(service, method, contentType, data) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const url2 = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
+          (0, core_1.debug)(`[Request] ${method} ${url2}`);
+          const headers = {
+            "Content-Type": contentType
+          };
+          try {
+            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
+              return this.httpClient.post(url2, JSON.stringify(data), headers);
+            }));
+            return body;
+          } catch (error3) {
+            throw new Error(`Failed to ${method}: ${error3.message}`);
+          }
+        });
+      }
+      retryableRequest(operation) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let attempt = 0;
+          let errorMessage = "";
+          let rawBody = "";
+          while (attempt < this.maxAttempts) {
+            let isRetryable = false;
+            try {
+              const response = yield operation();
+              const statusCode = response.message.statusCode;
+              rawBody = yield response.readBody();
+              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
+              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
+              const body = JSON.parse(rawBody);
+              (0, util_1.maskSecretUrls)(body);
+              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
+              if (this.isSuccessStatusCode(statusCode)) {
+                return { response, body };
+              }
+              isRetryable = this.isRetryableHttpStatusCode(statusCode);
+              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
+              if (body.msg) {
+                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
+                  throw new errors_1.UsageError();
+                }
+                errorMessage = `${errorMessage}: ${body.msg}`;
+              }
+            } catch (error3) {
+              if (error3 instanceof SyntaxError) {
+                (0, core_1.debug)(`Raw Body: ${rawBody}`);
+              }
+              if (error3 instanceof errors_1.UsageError) {
+                throw error3;
+              }
+              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+              }
+              isRetryable = true;
+              errorMessage = error3.message;
+            }
+            if (!isRetryable) {
+              throw new Error(`Received non-retryable error: ${errorMessage}`);
+            }
+            if (attempt + 1 === this.maxAttempts) {
+              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
+            }
+            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
+            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
+            yield this.sleep(retryTimeMilliseconds);
+            attempt++;
+          }
+          throw new Error(`Request failed`);
+        });
       }
-      /**
-       * Returns the result value of the operation,
-       * regardless of the state of the poller.
-       * It can return undefined or an incomplete form of the final TResult value
-       * depending on the implementation.
-       */
-      getResult() {
-        const state = this.operation.state;
-        return state.result;
+      isSuccessStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        return statusCode >= 200 && statusCode < 300;
       }
-      /**
-       * Returns a serialized version of the poller's operation
-       * by invoking the operation's toString method.
-       */
-      toString() {
-        return this.operation.toString();
+      isRetryableHttpStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        const retryableStatusCodes = [
+          http_client_1.HttpCodes.BadGateway,
+          http_client_1.HttpCodes.GatewayTimeout,
+          http_client_1.HttpCodes.InternalServerError,
+          http_client_1.HttpCodes.ServiceUnavailable,
+          http_client_1.HttpCodes.TooManyRequests
+        ];
+        return retryableStatusCodes.includes(statusCode);
+      }
+      sleep(milliseconds) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve8) => setTimeout(resolve8, milliseconds));
+        });
+      }
+      getExponentialRetryTimeMilliseconds(attempt) {
+        if (attempt < 0) {
+          throw new Error("attempt should be a positive integer");
+        }
+        if (attempt === 0) {
+          return this.baseRetryIntervalMilliseconds;
+        }
+        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
+        const maxTime = minTime * this.retryMultiplier;
+        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
     };
-    exports2.Poller = Poller;
+    function internalArtifactTwirpClient(options) {
+      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
+      return new generated_1.ArtifactServiceClientJSON(client);
+    }
+    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js
-var require_lroEngine = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
+var require_upload_zip_specification = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LroEngine = void 0;
-    var operation_js_1 = require_operation3();
-    var constants_js_1 = require_constants17();
-    var poller_js_1 = require_poller3();
-    var operation_js_2 = require_operation();
-    var LroEngine = class extends poller_js_1.Poller {
-      constructor(lro, options) {
-        const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {};
-        const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {};
-        const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone);
-        super(operation);
-        this.resolveOnUnsuccessful = resolveOnUnsuccessful;
-        this.config = { intervalInMs };
-        operation.setPollerConfig(this.config);
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      /**
-       * The method used by the poller to wait before attempting to update its operation.
-       */
-      delay() {
-        return new Promise((resolve8) => setTimeout(() => resolve8(), this.config.intervalInMs));
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
+      __setModuleDefault2(result, mod);
+      return result;
     };
-    exports2.LroEngine = LroEngine;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js
-var require_lroEngine2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) {
-    "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LroEngine = void 0;
-    var lroEngine_js_1 = require_lroEngine();
-    Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() {
-      return lroEngine_js_1.LroEngine;
-    } });
+    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
+    var fs18 = __importStar2(require("fs"));
+    var core_1 = require_core();
+    var path_1 = require("path");
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    function validateRootDirectory(rootDirectory) {
+      if (!fs18.existsSync(rootDirectory)) {
+        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
+      }
+      if (!fs18.statSync(rootDirectory).isDirectory()) {
+        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
+      }
+      (0, core_1.info)(`Root directory input is valid!`);
+    }
+    exports2.validateRootDirectory = validateRootDirectory;
+    function getUploadZipSpecification(filesToZip, rootDirectory) {
+      const specification = [];
+      rootDirectory = (0, path_1.normalize)(rootDirectory);
+      rootDirectory = (0, path_1.resolve)(rootDirectory);
+      for (let file of filesToZip) {
+        const stats = fs18.lstatSync(file, { throwIfNoEntry: false });
+        if (!stats) {
+          throw new Error(`File ${file} does not exist`);
+        }
+        if (!stats.isDirectory()) {
+          file = (0, path_1.normalize)(file);
+          file = (0, path_1.resolve)(file);
+          if (!file.startsWith(rootDirectory)) {
+            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
+          }
+          const uploadPath = file.replace(rootDirectory, "");
+          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
+          specification.push({
+            sourcePath: file,
+            destinationPath: uploadPath,
+            stats
+          });
+        } else {
+          const directoryPath = file.replace(rootDirectory, "");
+          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
+          specification.push({
+            sourcePath: null,
+            destinationPath: directoryPath,
+            stats
+          });
+        }
+      }
+      return specification;
+    }
+    exports2.getUploadZipSpecification = getUploadZipSpecification;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js
-var require_pollOperation = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
+var require_blob_upload = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
     "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadZipToBlobStorage = void 0;
+    var storage_blob_1 = require_commonjs15();
+    var config_1 = require_config2();
+    var core17 = __importStar2(require_core());
+    var crypto2 = __importStar2(require("crypto"));
+    var stream2 = __importStar2(require("stream"));
+    var errors_1 = require_errors4();
+    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        let uploadByteCount = 0;
+        let lastProgressTime = Date.now();
+        const abortController = new AbortController();
+        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve8, reject) => {
+            const timer = setInterval(() => {
+              if (Date.now() - lastProgressTime > interval) {
+                reject(new Error("Upload progress stalled."));
+              }
+            }, interval);
+            abortController.signal.addEventListener("abort", () => {
+              clearInterval(timer);
+              resolve8();
+            });
+          });
+        });
+        const maxConcurrency = (0, config_1.getConcurrency)();
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
+        const blockBlobClient = blobClient.getBlockBlobClient();
+        core17.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
+        const uploadCallback = (progress) => {
+          core17.info(`Uploaded bytes ${progress.loadedBytes}`);
+          uploadByteCount = progress.loadedBytes;
+          lastProgressTime = Date.now();
+        };
+        const options = {
+          blobHTTPHeaders: { blobContentType: "zip" },
+          onProgress: uploadCallback,
+          abortSignal: abortController.signal
+        };
+        let sha256Hash = void 0;
+        const uploadStream = new stream2.PassThrough();
+        const hashStream = crypto2.createHash("sha256");
+        zipUploadStream.pipe(uploadStream);
+        zipUploadStream.pipe(hashStream).setEncoding("hex");
+        core17.info("Beginning upload of artifact content to blob storage");
+        try {
+          yield Promise.race([
+            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
+            chunkTimer((0, config_1.getUploadChunkTimeout)())
+          ]);
+        } catch (error3) {
+          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+          }
+          throw error3;
+        } finally {
+          abortController.abort();
+        }
+        core17.info("Finished uploading artifact content to blob storage!");
+        hashStream.end();
+        sha256Hash = hashStream.read();
+        core17.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
+        if (uploadByteCount === 0) {
+          core17.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
+        }
+        return {
+          uploadSize: uploadByteCount,
+          sha256Hash
+        };
+      });
+    }
+    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/index.js
-var require_commonjs14 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpPoller = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var poller_js_1 = require_poller2();
-    Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() {
-      return poller_js_1.createHttpPoller;
-    } });
-    tslib_1.__exportStar(require_lroEngine2(), exports2);
-    tslib_1.__exportStar(require_poller3(), exports2);
-    tslib_1.__exportStar(require_pollOperation(), exports2);
+// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
+var require_path = __commonJS({
+  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
+    var isWindows = typeof process === "object" && process && process.platform === "win32";
+    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js
-var require_BlobStartCopyFromUrlPoller = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBeginCopyFromUrlPoller = void 0;
-    var core_util_1 = require_commonjs4();
-    var core_lro_1 = require_commonjs14();
-    var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller {
-      intervalInMs;
-      constructor(options) {
-        const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options;
-        let state;
-        if (resumeFrom) {
-          state = JSON.parse(resumeFrom).state;
+// node_modules/readdir-glob/node_modules/brace-expansion/index.js
+var require_brace_expansion2 = __commonJS({
+  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
+    var balanced = require_balanced_match();
+    module2.exports = expandTop;
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    function numeric(str2) {
+      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
+    }
+    function escapeBraces(str2) {
+      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
+    }
+    function unescapeBraces(str2) {
+      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
+    }
+    function parseCommaParts(str2) {
+      if (!str2)
+        return [""];
+      var parts = [];
+      var m = balanced("{", "}", str2);
+      if (!m)
+        return str2.split(",");
+      var pre = m.pre;
+      var body = m.body;
+      var post = m.post;
+      var p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      var postParts = parseCommaParts(post);
+      if (post.length) {
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
+      }
+      parts.push.apply(parts, p);
+      return parts;
+    }
+    function expandTop(str2) {
+      if (!str2)
+        return [];
+      if (str2.substr(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.substr(2);
+      }
+      return expand2(escapeBraces(str2), true).map(unescapeBraces);
+    }
+    function embrace(str2) {
+      return "{" + str2 + "}";
+    }
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
+    }
+    function lte(i, y) {
+      return i <= y;
+    }
+    function gte6(i, y) {
+      return i >= y;
+    }
+    function expand2(str2, isTop) {
+      var expansions = [];
+      var m = balanced("{", "}", str2);
+      if (!m) return [str2];
+      var pre = m.pre;
+      var post = m.post.length ? expand2(m.post, false) : [""];
+      if (/\$$/.test(m.pre)) {
+        for (var k = 0; k < post.length; k++) {
+          var expansion = pre + "{" + m.body + "}" + post[k];
+          expansions.push(expansion);
         }
-        const operation = makeBlobBeginCopyFromURLPollOperation({
-          ...state,
-          blobClient,
-          copySource,
-          startCopyFromURLOptions
-        });
-        super(operation);
-        if (typeof onProgress === "function") {
-          this.onProgress(onProgress);
+      } else {
+        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+        var isSequence = isNumericSequence || isAlphaSequence;
+        var isOptions = m.body.indexOf(",") >= 0;
+        if (!isSequence && !isOptions) {
+          if (m.post.match(/,(?!,).*\}/)) {
+            str2 = m.pre + "{" + m.body + escClose + m.post;
+            return expand2(str2);
+          }
+          return [str2];
+        }
+        var n;
+        if (isSequence) {
+          n = m.body.split(/\.\./);
+        } else {
+          n = parseCommaParts(m.body);
+          if (n.length === 1) {
+            n = expand2(n[0], false).map(embrace);
+            if (n.length === 1) {
+              return post.map(function(p) {
+                return m.pre + n[0] + p;
+              });
+            }
+          }
+        }
+        var N;
+        if (isSequence) {
+          var x = numeric(n[0]);
+          var y = numeric(n[1]);
+          var width = Math.max(n[0].length, n[1].length);
+          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
+          var test = lte;
+          var reverse = y < x;
+          if (reverse) {
+            incr *= -1;
+            test = gte6;
+          }
+          var pad = n.some(isPadded);
+          N = [];
+          for (var i = x; test(i, y); i += incr) {
+            var c;
+            if (isAlphaSequence) {
+              c = String.fromCharCode(i);
+              if (c === "\\")
+                c = "";
+            } else {
+              c = String(i);
+              if (pad) {
+                var need = width - c.length;
+                if (need > 0) {
+                  var z = new Array(need + 1).join("0");
+                  if (i < 0)
+                    c = "-" + z + c.slice(1);
+                  else
+                    c = z + c;
+                }
+              }
+            }
+            N.push(c);
+          }
+        } else {
+          N = [];
+          for (var j = 0; j < n.length; j++) {
+            N.push.apply(N, expand2(n[j], false));
+          }
+        }
+        for (var j = 0; j < N.length; j++) {
+          for (var k = 0; k < post.length; k++) {
+            var expansion = pre + N[j] + post[k];
+            if (!isTop || isSequence || expansion)
+              expansions.push(expansion);
+          }
         }
-        this.intervalInMs = intervalInMs;
       }
-      delay() {
-        return (0, core_util_1.delay)(this.intervalInMs);
+      return expansions;
+    }
+  }
+});
+
+// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
+var require_minimatch2 = __commonJS({
+  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
+    var minimatch = module2.exports = (p, pattern, options = {}) => {
+      assertValidPattern(pattern);
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
       }
+      return new Minimatch(pattern, options).match(p);
     };
-    exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller;
-    var cancel = async function cancel2(options = {}) {
-      const state = this.state;
-      const { copyId } = state;
-      if (state.isCompleted) {
-        return makeBlobBeginCopyFromURLPollOperation(state);
+    module2.exports = minimatch;
+    var path16 = require_path();
+    minimatch.sep = path16.sep;
+    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+    minimatch.GLOBSTAR = GLOBSTAR;
+    var expand2 = require_brace_expansion2();
+    var plTypes = {
+      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
+      "?": { open: "(?:", close: ")?" },
+      "+": { open: "(?:", close: ")+" },
+      "*": { open: "(?:", close: ")*" },
+      "@": { open: "(?:", close: ")" }
+    };
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var charSet = (s) => s.split("").reduce((set2, c) => {
+      set2[c] = true;
+      return set2;
+    }, {});
+    var reSpecials = charSet("().*{}+?[]^$\\!");
+    var addPatternStartSet = charSet("[.(");
+    var slashSplit = /\/+/;
+    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
+    var ext = (a, b = {}) => {
+      const t = {};
+      Object.keys(a).forEach((k) => t[k] = a[k]);
+      Object.keys(b).forEach((k) => t[k] = b[k]);
+      return t;
+    };
+    minimatch.defaults = (def) => {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return minimatch;
       }
-      if (!copyId) {
-        state.isCancelled = true;
-        return makeBlobBeginCopyFromURLPollOperation(state);
+      const orig = minimatch;
+      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
+      m.Minimatch = class Minimatch extends orig.Minimatch {
+        constructor(pattern, options) {
+          super(pattern, ext(def, options));
+        }
+      };
+      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
+      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
+      m.defaults = (options) => orig.defaults(ext(def, options));
+      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
+      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
+      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
+      return m;
+    };
+    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
+    var braceExpand = (pattern, options = {}) => {
+      assertValidPattern(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
       }
-      await state.blobClient.abortCopyFromURL(copyId, {
-        abortSignal: options.abortSignal
-      });
-      state.isCancelled = true;
-      return makeBlobBeginCopyFromURLPollOperation(state);
+      return expand2(pattern);
     };
-    var update = async function update2(options = {}) {
-      const state = this.state;
-      const { blobClient, copySource, startCopyFromURLOptions } = state;
-      if (!state.isStarted) {
-        state.isStarted = true;
-        const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions);
-        state.copyId = result.copyId;
-        if (result.copyStatus === "success") {
-          state.result = result;
-          state.isCompleted = true;
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = (pattern) => {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
+      }
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
+      }
+    };
+    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
+    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
+    minimatch.match = (list, pattern, options = {}) => {
+      const mm = new Minimatch(pattern, options);
+      list = list.filter((f) => mm.match(f));
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
+      }
+      return list;
+    };
+    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
+    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
+    var Minimatch = class {
+      constructor(pattern, options) {
+        assertValidPattern(pattern);
+        if (!options) options = {};
+        this.options = options;
+        this.set = [];
+        this.pattern = pattern;
+        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          this.pattern = this.pattern.replace(/\\/g, "/");
         }
-      } else if (!state.isCompleted) {
-        try {
-          const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal });
-          const { copyStatus, copyProgress } = result;
-          const prevCopyProgress = state.copyProgress;
-          if (copyProgress) {
-            state.copyProgress = copyProgress;
+        this.regexp = null;
+        this.negate = false;
+        this.comment = false;
+        this.empty = false;
+        this.partial = !!options.partial;
+        this.make();
+      }
+      debug() {
+      }
+      make() {
+        const pattern = this.pattern;
+        const options = this.options;
+        if (!options.nocomment && pattern.charAt(0) === "#") {
+          this.comment = true;
+          return;
+        }
+        if (!pattern) {
+          this.empty = true;
+          return;
+        }
+        this.parseNegate();
+        let set2 = this.globSet = this.braceExpand();
+        if (options.debug) this.debug = (...args) => console.error(...args);
+        this.debug(this.pattern, set2);
+        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
+        this.debug(this.pattern, set2);
+        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
+        this.debug(this.pattern, set2);
+        set2 = set2.filter((s) => s.indexOf(false) === -1);
+        this.debug(this.pattern, set2);
+        this.set = set2;
+      }
+      parseNegate() {
+        if (this.options.nonegate) return;
+        const pattern = this.pattern;
+        let negate2 = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate2 = !negate2;
+          negateOffset++;
+        }
+        if (negateOffset) this.pattern = pattern.slice(negateOffset);
+        this.negate = negate2;
+      }
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial) {
+        var options = this.options;
+        this.debug(
+          "matchOne",
+          { "this": this, file, pattern }
+        );
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) return false;
+          if (p === GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
+              }
+              return true;
+            }
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
+            }
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) return true;
+            }
+            return false;
           }
-          if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") {
-            options.fireProgress(state);
-          } else if (copyStatus === "success") {
-            state.result = result;
-            state.isCompleted = true;
-          } else if (copyStatus === "failed") {
-            state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`);
-            state.isCompleted = true;
+          var hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
+          } else {
+            hit = f.match(p);
+            this.debug("pattern match", p, f, hit);
           }
-        } catch (err) {
-          state.error = err;
-          state.isCompleted = true;
+          if (!hit) return false;
         }
-      }
-      return makeBlobBeginCopyFromURLPollOperation(state);
-    };
-    var toString3 = function toString4() {
-      return JSON.stringify({ state: this.state }, (key, value) => {
-        if (key === "blobClient") {
-          return void 0;
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
         }
-        return value;
-      });
-    };
-    function makeBlobBeginCopyFromURLPollOperation(state) {
-      return {
-        state: { ...state },
-        cancel,
-        toString: toString3,
-        update
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/Range.js
-var require_Range = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.rangeToString = rangeToString;
-    function rangeToString(iRange) {
-      if (iRange.offset < 0) {
-        throw new RangeError(`Range.offset cannot be smaller than 0.`);
+        throw new Error("wtf?");
       }
-      if (iRange.count && iRange.count <= 0) {
-        throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`);
+      braceExpand() {
+        return braceExpand(this.pattern, this.options);
       }
-      return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js
-var require_Batch = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Batch = void 0;
-    var events_1 = require("events");
-    var BatchStates;
-    (function(BatchStates2) {
-      BatchStates2[BatchStates2["Good"] = 0] = "Good";
-      BatchStates2[BatchStates2["Error"] = 1] = "Error";
-    })(BatchStates || (BatchStates = {}));
-    var Batch = class {
-      /**
-       * Concurrency. Must be lager than 0.
-       */
-      concurrency;
-      /**
-       * Number of active operations under execution.
-       */
-      actives = 0;
-      /**
-       * Number of completed operations under execution.
-       */
-      completed = 0;
-      /**
-       * Offset of next operation to be executed.
-       */
-      offset = 0;
-      /**
-       * Operation array to be executed.
-       */
-      operations = [];
-      /**
-       * States of Batch. When an error happens, state will turn into error.
-       * Batch will stop execute left operations.
-       */
-      state = BatchStates.Good;
-      /**
-       * A private emitter used to pass events inside this class.
-       */
-      emitter;
-      /**
-       * Creates an instance of Batch.
-       * @param concurrency -
-       */
-      constructor(concurrency = 5) {
-        if (concurrency < 1) {
-          throw new RangeError("concurrency must be larger than 0");
+      parse(pattern, isSub) {
+        assertValidPattern(pattern);
+        const options = this.options;
+        if (pattern === "**") {
+          if (!options.noglobstar)
+            return GLOBSTAR;
+          else
+            pattern = "*";
+        }
+        if (pattern === "") return "";
+        let re = "";
+        let hasMagic = false;
+        let escaping = false;
+        const patternListStack = [];
+        const negativeLists = [];
+        let stateChar;
+        let inClass = false;
+        let reClassStart = -1;
+        let classStart = -1;
+        let cs;
+        let pl;
+        let sp;
+        let dotTravAllowed = pattern.charAt(0) === ".";
+        let dotFileAllowed = options.dot || dotTravAllowed;
+        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+        const clearStateChar = () => {
+          if (stateChar) {
+            switch (stateChar) {
+              case "*":
+                re += star;
+                hasMagic = true;
+                break;
+              case "?":
+                re += qmark;
+                hasMagic = true;
+                break;
+              default:
+                re += "\\" + stateChar;
+                break;
+            }
+            this.debug("clearStateChar %j %j", stateChar, re);
+            stateChar = false;
+          }
+        };
+        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
+          this.debug("%s	%s %s %j", pattern, i, re, c);
+          if (escaping) {
+            if (c === "/") {
+              return false;
+            }
+            if (reSpecials[c]) {
+              re += "\\";
+            }
+            re += c;
+            escaping = false;
+            continue;
+          }
+          switch (c) {
+            /* istanbul ignore next */
+            case "/": {
+              return false;
+            }
+            case "\\":
+              if (inClass && pattern.charAt(i + 1) === "-") {
+                re += c;
+                continue;
+              }
+              clearStateChar();
+              escaping = true;
+              continue;
+            // the various stateChar values
+            // for the "extglob" stuff.
+            case "?":
+            case "*":
+            case "+":
+            case "@":
+            case "!":
+              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
+              if (inClass) {
+                this.debug("  in class");
+                if (c === "!" && i === classStart + 1) c = "^";
+                re += c;
+                continue;
+              }
+              this.debug("call clearStateChar %j", stateChar);
+              clearStateChar();
+              stateChar = c;
+              if (options.noext) clearStateChar();
+              continue;
+            case "(": {
+              if (inClass) {
+                re += "(";
+                continue;
+              }
+              if (!stateChar) {
+                re += "\\(";
+                continue;
+              }
+              const plEntry = {
+                type: stateChar,
+                start: i - 1,
+                reStart: re.length,
+                open: plTypes[stateChar].open,
+                close: plTypes[stateChar].close
+              };
+              this.debug(this.pattern, "	", plEntry);
+              patternListStack.push(plEntry);
+              re += plEntry.open;
+              if (plEntry.start === 0 && plEntry.type !== "!") {
+                dotTravAllowed = true;
+                re += subPatternStart(pattern.slice(i + 1));
+              }
+              this.debug("plType %j %j", stateChar, re);
+              stateChar = false;
+              continue;
+            }
+            case ")": {
+              const plEntry = patternListStack[patternListStack.length - 1];
+              if (inClass || !plEntry) {
+                re += "\\)";
+                continue;
+              }
+              patternListStack.pop();
+              clearStateChar();
+              hasMagic = true;
+              pl = plEntry;
+              re += pl.close;
+              if (pl.type === "!") {
+                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
+              }
+              continue;
+            }
+            case "|": {
+              const plEntry = patternListStack[patternListStack.length - 1];
+              if (inClass || !plEntry) {
+                re += "\\|";
+                continue;
+              }
+              clearStateChar();
+              re += "|";
+              if (plEntry.start === 0 && plEntry.type !== "!") {
+                dotTravAllowed = true;
+                re += subPatternStart(pattern.slice(i + 1));
+              }
+              continue;
+            }
+            // these are mostly the same in regexp and glob
+            case "[":
+              clearStateChar();
+              if (inClass) {
+                re += "\\" + c;
+                continue;
+              }
+              inClass = true;
+              classStart = i;
+              reClassStart = re.length;
+              re += c;
+              continue;
+            case "]":
+              if (i === classStart + 1 || !inClass) {
+                re += "\\" + c;
+                continue;
+              }
+              cs = pattern.substring(classStart + 1, i);
+              try {
+                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
+                re += c;
+              } catch (er) {
+                re = re.substring(0, reClassStart) + "(?:$.)";
+              }
+              hasMagic = true;
+              inClass = false;
+              continue;
+            default:
+              clearStateChar();
+              if (reSpecials[c] && !(c === "^" && inClass)) {
+                re += "\\";
+              }
+              re += c;
+              break;
+          }
         }
-        this.concurrency = concurrency;
-        this.emitter = new events_1.EventEmitter();
-      }
-      /**
-       * Add a operation into queue.
-       *
-       * @param operation -
-       */
-      addOperation(operation) {
-        this.operations.push(async () => {
-          try {
-            this.actives++;
-            await operation();
-            this.actives--;
-            this.completed++;
-            this.parallelExecute();
-          } catch (error3) {
-            this.emitter.emit("error", error3);
+        if (inClass) {
+          cs = pattern.slice(classStart + 1);
+          sp = this.parse(cs, SUBPARSE);
+          re = re.substring(0, reClassStart) + "\\[" + sp[0];
+          hasMagic = hasMagic || sp[1];
+        }
+        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
+          let tail;
+          tail = re.slice(pl.reStart + pl.open.length);
+          this.debug("setting tail", re, pl);
+          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
+            if (!$2) {
+              $2 = "\\";
+            }
+            return $1 + $1 + $2 + "|";
+          });
+          this.debug("tail=%j\n   %s", tail, tail, pl, re);
+          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
+          hasMagic = true;
+          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+        }
+        clearStateChar();
+        if (escaping) {
+          re += "\\\\";
+        }
+        const addPatternStart = addPatternStartSet[re.charAt(0)];
+        for (let n = negativeLists.length - 1; n > -1; n--) {
+          const nl = negativeLists[n];
+          const nlBefore = re.slice(0, nl.reStart);
+          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
+          let nlAfter = re.slice(nl.reEnd);
+          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
+          const closeParensBefore = nlBefore.split(")").length;
+          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
+          let cleanAfter = nlAfter;
+          for (let i = 0; i < openParensBefore; i++) {
+            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
           }
-        });
-      }
-      /**
-       * Start execute operations in the queue.
-       *
-       */
-      async do() {
-        if (this.operations.length === 0) {
-          return Promise.resolve();
+          nlAfter = cleanAfter;
+          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
+          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
         }
-        this.parallelExecute();
-        return new Promise((resolve8, reject) => {
-          this.emitter.on("finish", resolve8);
-          this.emitter.on("error", (error3) => {
-            this.state = BatchStates.Error;
-            reject(error3);
+        if (re !== "" && hasMagic) {
+          re = "(?=.)" + re;
+        }
+        if (addPatternStart) {
+          re = patternStart() + re;
+        }
+        if (isSub === SUBPARSE) {
+          return [re, hasMagic];
+        }
+        if (options.nocase && !hasMagic) {
+          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
+        }
+        if (!hasMagic) {
+          return globUnescape(pattern);
+        }
+        const flags = options.nocase ? "i" : "";
+        try {
+          return Object.assign(new RegExp("^" + re + "$", flags), {
+            _glob: pattern,
+            _src: re
           });
-        });
+        } catch (er) {
+          return new RegExp("$.");
+        }
       }
-      /**
-       * Get next operation to be executed. Return null when reaching ends.
-       *
-       */
-      nextOperation() {
-        if (this.offset < this.operations.length) {
-          return this.operations[this.offset++];
+      makeRe() {
+        if (this.regexp || this.regexp === false) return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
         }
-        return null;
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = options.nocase ? "i" : "";
+        let re = set2.map((pattern) => {
+          pattern = pattern.map(
+            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
+          ).reduce((set3, p) => {
+            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
+              set3.push(p);
+            }
+            return set3;
+          }, []);
+          pattern.forEach((p, i) => {
+            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
+              return;
+            }
+            if (i === 0) {
+              if (pattern.length > 1) {
+                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
+              } else {
+                pattern[i] = twoStar;
+              }
+            } else if (i === pattern.length - 1) {
+              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
+            } else {
+              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
+              pattern[i + 1] = GLOBSTAR;
+            }
+          });
+          return pattern.filter((p) => p !== GLOBSTAR).join("/");
+        }).join("|");
+        re = "^(?:" + re + ")$";
+        if (this.negate) re = "^(?!" + re + ").*$";
+        try {
+          this.regexp = new RegExp(re, flags);
+        } catch (ex) {
+          this.regexp = false;
+        }
+        return this.regexp;
       }
-      /**
-       * Start execute operations. One one the most important difference between
-       * this method with do() is that do() wraps as an sync method.
-       *
-       */
-      parallelExecute() {
-        if (this.state === BatchStates.Error) {
-          return;
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) return false;
+        if (this.empty) return f === "";
+        if (f === "/" && partial) return true;
+        const options = this.options;
+        if (path16.sep !== "/") {
+          f = f.split(path16.sep).join("/");
         }
-        if (this.completed >= this.operations.length) {
-          this.emitter.emit("finish");
-          return;
+        f = f.split(slashSplit);
+        this.debug(this.pattern, "split", f);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename;
+        for (let i = f.length - 1; i >= 0; i--) {
+          filename = f[i];
+          if (filename) break;
         }
-        while (this.actives < this.concurrency) {
-          const operation = this.nextOperation();
-          if (operation) {
-            operation();
-          } else {
-            return;
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = f;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
+          }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) return true;
+            return !this.negate;
           }
         }
+        if (options.flipNegate) return false;
+        return this.negate;
+      }
+      static defaults(def) {
+        return minimatch.defaults(def).Minimatch;
       }
     };
-    exports2.Batch = Batch;
+    minimatch.Minimatch = Minimatch;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js
-var require_utils7 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.fsCreateReadStream = exports2.fsStat = void 0;
-    exports2.streamToBuffer = streamToBuffer;
-    exports2.streamToBuffer2 = streamToBuffer2;
-    exports2.streamToBuffer3 = streamToBuffer3;
-    exports2.readStreamToLocalFile = readStreamToLocalFile;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_fs_1 = tslib_1.__importDefault(require("node:fs"));
-    var node_util_1 = tslib_1.__importDefault(require("node:util"));
-    var constants_js_1 = require_constants15();
-    async function streamToBuffer(stream2, buffer, offset, end, encoding) {
-      let pos = 0;
-      const count = end - offset;
-      return new Promise((resolve8, reject) => {
-        const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT);
-        stream2.on("readable", () => {
-          if (pos >= count) {
-            clearTimeout(timeout);
-            resolve8();
-            return;
-          }
-          let chunk = stream2.read();
-          if (!chunk) {
-            return;
-          }
-          if (typeof chunk === "string") {
-            chunk = Buffer.from(chunk, encoding);
-          }
-          const chunkLength = pos + chunk.length > count ? count - pos : chunk.length;
-          buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength);
-          pos += chunkLength;
-        });
-        stream2.on("end", () => {
-          clearTimeout(timeout);
-          if (pos < count) {
-            reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`));
+// node_modules/readdir-glob/index.js
+var require_readdir_glob = __commonJS({
+  "node_modules/readdir-glob/index.js"(exports2, module2) {
+    module2.exports = readdirGlob;
+    var fs18 = require("fs");
+    var { EventEmitter } = require("events");
+    var { Minimatch } = require_minimatch2();
+    var { resolve: resolve8 } = require("path");
+    function readdir(dir, strict) {
+      return new Promise((resolve9, reject) => {
+        fs18.readdir(dir, { withFileTypes: true }, (err, files) => {
+          if (err) {
+            switch (err.code) {
+              case "ENOTDIR":
+                if (strict) {
+                  reject(err);
+                } else {
+                  resolve9([]);
+                }
+                break;
+              case "ENOTSUP":
+              // Operation not supported
+              case "ENOENT":
+              // No such file or directory
+              case "ENAMETOOLONG":
+              // Filename too long
+              case "UNKNOWN":
+                resolve9([]);
+                break;
+              case "ELOOP":
+              // Too many levels of symbolic links
+              default:
+                reject(err);
+                break;
+            }
+          } else {
+            resolve9(files);
           }
-          resolve8();
-        });
-        stream2.on("error", (msg) => {
-          clearTimeout(timeout);
-          reject(msg);
         });
       });
     }
-    async function streamToBuffer2(stream2, buffer, encoding) {
-      let pos = 0;
-      const bufferSize = buffer.length;
-      return new Promise((resolve8, reject) => {
-        stream2.on("readable", () => {
-          let chunk = stream2.read();
-          if (!chunk) {
-            return;
-          }
-          if (typeof chunk === "string") {
-            chunk = Buffer.from(chunk, encoding);
-          }
-          if (pos + chunk.length > bufferSize) {
-            reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`));
-            return;
+    function stat(file, followSymlinks) {
+      return new Promise((resolve9, reject) => {
+        const statFunc = followSymlinks ? fs18.stat : fs18.lstat;
+        statFunc(file, (err, stats) => {
+          if (err) {
+            switch (err.code) {
+              case "ENOENT":
+                if (followSymlinks) {
+                  resolve9(stat(file, false));
+                } else {
+                  resolve9(null);
+                }
+                break;
+              default:
+                resolve9(null);
+                break;
+            }
+          } else {
+            resolve9(stats);
           }
-          buffer.fill(chunk, pos, pos + chunk.length);
-          pos += chunk.length;
-        });
-        stream2.on("end", () => {
-          resolve8(pos);
         });
-        stream2.on("error", reject);
       });
     }
-    async function streamToBuffer3(readableStream, encoding) {
-      return new Promise((resolve8, reject) => {
-        const chunks = [];
-        readableStream.on("data", (data) => {
-          chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data);
-        });
-        readableStream.on("end", () => {
-          resolve8(Buffer.concat(chunks));
-        });
-        readableStream.on("error", reject);
-      });
+    async function* exploreWalkAsync(dir, path16, followSymlinks, useStat, shouldSkip, strict) {
+      let files = await readdir(path16 + dir, strict);
+      for (const file of files) {
+        let name = file.name;
+        if (name === void 0) {
+          name = file;
+          useStat = true;
+        }
+        const filename = dir + "/" + name;
+        const relative2 = filename.slice(1);
+        const absolute = path16 + "/" + relative2;
+        let stats = null;
+        if (useStat || followSymlinks) {
+          stats = await stat(absolute, followSymlinks);
+        }
+        if (!stats && file.name !== void 0) {
+          stats = file;
+        }
+        if (stats === null) {
+          stats = { isDirectory: () => false };
+        }
+        if (stats.isDirectory()) {
+          if (!shouldSkip(relative2)) {
+            yield { relative: relative2, absolute, stats };
+            yield* exploreWalkAsync(filename, path16, followSymlinks, useStat, shouldSkip, false);
+          }
+        } else {
+          yield { relative: relative2, absolute, stats };
+        }
+      }
     }
-    async function readStreamToLocalFile(rs, file) {
-      return new Promise((resolve8, reject) => {
-        const ws = node_fs_1.default.createWriteStream(file);
-        rs.on("error", (err) => {
-          reject(err);
-        });
-        ws.on("error", (err) => {
-          reject(err);
-        });
-        ws.on("close", resolve8);
-        rs.pipe(ws);
-      });
+    async function* explore(path16, followSymlinks, useStat, shouldSkip) {
+      yield* exploreWalkAsync("", path16, followSymlinks, useStat, shouldSkip, true);
     }
-    exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat);
-    exports2.fsCreateReadStream = node_fs_1.default.createReadStream;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/Clients.js
-var require_Clients = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_auth_1 = require_commonjs7();
-    var core_util_1 = require_commonjs4();
-    var core_util_2 = require_commonjs4();
-    var BlobDownloadResponse_js_1 = require_BlobDownloadResponse();
-    var BlobQueryResponse_js_1 = require_BlobQueryResponse();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var models_js_1 = require_models2();
-    var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse();
-    var Pipeline_js_1 = require_Pipeline();
-    var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller();
-    var Range_js_1 = require_Range();
-    var StorageClient_js_1 = require_StorageClient();
-    var Batch_js_1 = require_Batch();
-    var storage_common_1 = require_commonjs13();
-    var constants_js_1 = require_constants15();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var utils_js_1 = require_utils7();
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
-    var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient {
-      /**
-       * blobContext provided by protocol layer.
-       */
-      blobContext;
-      _name;
-      _containerName;
-      _versionId;
-      _snapshot;
-      /**
-       * The name of the blob.
-       */
-      get name() {
-        return this._name;
+    function readOptions(options) {
+      return {
+        pattern: options.pattern,
+        dot: !!options.dot,
+        noglobstar: !!options.noglobstar,
+        matchBase: !!options.matchBase,
+        nocase: !!options.nocase,
+        ignore: options.ignore,
+        skip: options.skip,
+        follow: !!options.follow,
+        stat: !!options.stat,
+        nodir: !!options.nodir,
+        mark: !!options.mark,
+        silent: !!options.silent,
+        absolute: !!options.absolute
+      };
+    }
+    var ReaddirGlob = class extends EventEmitter {
+      constructor(cwd, options, cb) {
+        super();
+        if (typeof options === "function") {
+          cb = options;
+          options = null;
+        }
+        this.options = readOptions(options || {});
+        this.matchers = [];
+        if (this.options.pattern) {
+          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
+          this.matchers = matchers.map(
+            (m) => new Minimatch(m, {
+              dot: this.options.dot,
+              noglobstar: this.options.noglobstar,
+              matchBase: this.options.matchBase,
+              nocase: this.options.nocase
+            })
+          );
+        }
+        this.ignoreMatchers = [];
+        if (this.options.ignore) {
+          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
+          this.ignoreMatchers = ignorePatterns.map(
+            (ignore) => new Minimatch(ignore, { dot: true })
+          );
+        }
+        this.skipMatchers = [];
+        if (this.options.skip) {
+          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
+          this.skipMatchers = skipPatterns.map(
+            (skip) => new Minimatch(skip, { dot: true })
+          );
+        }
+        this.iterator = explore(resolve8(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
+        this.paused = false;
+        this.inactive = false;
+        this.aborted = false;
+        if (cb) {
+          this._matches = [];
+          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
+          this.on("error", (err) => cb(err));
+          this.on("end", () => cb(null, this._matches));
+        }
+        setTimeout(() => this._next(), 0);
       }
-      /**
-       * The name of the storage container the blob is associated with.
-       */
-      get containerName() {
-        return this._containerName;
+      _shouldSkipDirectory(relative2) {
+        return this.skipMatchers.some((m) => m.match(relative2));
       }
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        options = options || {};
-        let pipeline;
-        let url2;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url2 = urlOrConnectionString;
-          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
-            options = blobNameOrOptions;
-          }
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+      _fileMatches(relative2, isDirectory) {
+        const file = relative2 + (isDirectory ? "/" : "");
+        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
+      }
+      _next() {
+        if (!this.paused && !this.aborted) {
+          this.iterator.next().then((obj) => {
+            if (!obj.done) {
+              const isDirectory = obj.value.stats.isDirectory();
+              if (this._fileMatches(obj.value.relative, isDirectory)) {
+                let relative2 = obj.value.relative;
+                let absolute = obj.value.absolute;
+                if (this.options.mark && isDirectory) {
+                  relative2 += "/";
+                  absolute += "/";
+                }
+                if (this.options.stat) {
+                  this.emit("match", { relative: relative2, absolute, stat: obj.value.stats });
+                } else {
+                  this.emit("match", { relative: relative2, absolute });
+                }
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+              this._next(this.iterator);
             } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              this.emit("end");
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
+          }).catch((err) => {
+            this.abort();
+            this.emit("error", err);
+            if (!err.code && !this.options.silent) {
+              console.error(err);
+            }
+          });
         } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+          this.inactive = true;
         }
-        super(url2, pipeline);
-        ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl());
-        this.blobContext = this.storageClientContext.blob;
-        this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT);
-        this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID);
       }
-      /**
-       * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp
-       */
-      withSnapshot(snapshot) {
-        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      abort() {
+        this.aborted = true;
       }
-      /**
-       * Creates a new BlobClient object pointing to a version of this blob.
-       * Provide "" will remove the versionId and return a Client to the base blob.
-       *
-       * @param versionId - The versionId.
-       * @returns A new BlobClient object pointing to the version of this blob.
-       */
-      withVersion(versionId) {
-        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline);
+      pause() {
+        this.paused = true;
       }
-      /**
-       * Creates a AppendBlobClient object.
-       *
-       */
-      getAppendBlobClient() {
-        return new AppendBlobClient(this.url, this.pipeline);
+      resume() {
+        this.paused = false;
+        if (this.inactive) {
+          this.inactive = false;
+          this._next();
+        }
       }
-      /**
-       * Creates a BlockBlobClient object.
-       *
-       */
-      getBlockBlobClient() {
-        return new BlockBlobClient(this.url, this.pipeline);
+    };
+    function readdirGlob(pattern, options, cb) {
+      return new ReaddirGlob(pattern, options, cb);
+    }
+    readdirGlob.ReaddirGlob = ReaddirGlob;
+  }
+});
+
+// node_modules/async/dist/async.js
+var require_async = __commonJS({
+  "node_modules/async/dist/async.js"(exports2, module2) {
+    (function(global2, factory) {
+      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
+    })(exports2, (function(exports3) {
+      "use strict";
+      function apply(fn, ...args) {
+        return (...callArgs) => fn(...args, ...callArgs);
       }
-      /**
-       * Creates a PageBlobClient object.
-       *
-       */
-      getPageBlobClient() {
-        return new PageBlobClient(this.url, this.pipeline);
+      function initialParams(fn) {
+        return function(...args) {
+          var callback = args.pop();
+          return fn.call(this, args, callback);
+        };
       }
-      /**
-       * Reads or downloads a blob from the system, including its metadata and properties.
-       * You can also call Get Blob to read a snapshot.
-       *
-       * * In Node.js, data returns in a Readable stream readableStreamBody
-       * * In browsers, data returns in a promise blobBody
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob
-       *
-       * @param offset - From which position of the blob to download, greater than or equal to 0
-       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
-       * @param options - Optional options to Blob Download operation.
-       *
-       *
-       * Example usage (Node.js):
-       *
-       * ```ts snippet:ReadmeSampleDownloadBlob_Node
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Get blob content from position 0 to the end
-       * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
-       * const downloadBlockBlobResponse = await blobClient.download();
-       * if (downloadBlockBlobResponse.readableStreamBody) {
-       *   const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody);
-       *   console.log(`Downloaded blob content: ${downloaded}`);
-       * }
-       *
-       * async function streamToString(stream: NodeJS.ReadableStream): Promise {
-       *   const result = await new Promise>((resolve, reject) => {
-       *     const chunks: Buffer[] = [];
-       *     stream.on("data", (data) => {
-       *       chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data));
-       *     });
-       *     stream.on("end", () => {
-       *       resolve(Buffer.concat(chunks));
-       *     });
-       *     stream.on("error", reject);
-       *   });
-       *   return result.toString();
-       * }
-       * ```
-       *
-       * Example usage (browser):
-       *
-       * ```ts snippet:ReadmeSampleDownloadBlob_Browser
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Get blob content from position 0 to the end
-       * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
-       * const downloadBlockBlobResponse = await blobClient.download();
-       * const blobBody = await downloadBlockBlobResponse.blobBody;
-       * if (blobBody) {
-       *   const downloaded = await blobBody.text();
-       *   console.log(`Downloaded blob content: ${downloaded}`);
-       * }
-       * ```
-       */
-      async download(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress
-              // for Node.js, progress is reported by RetriableReadableStream
-            },
-            range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
-            rangeGetContentMD5: options.rangeGetContentMD5,
-            rangeGetContentCRC64: options.rangeGetContentCrc64,
-            snapshot: options.snapshot,
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedRes = {
-            ...res,
-            _response: res._response,
-            // _response is made non-enumerable
-            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
-            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
+      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
+      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
+      function fallback(fn) {
+        setTimeout(fn, 0);
+      }
+      function wrap(defer) {
+        return (fn, ...args) => defer(() => fn(...args));
+      }
+      var _defer$1;
+      if (hasQueueMicrotask) {
+        _defer$1 = queueMicrotask;
+      } else if (hasSetImmediate) {
+        _defer$1 = setImmediate;
+      } else if (hasNextTick) {
+        _defer$1 = process.nextTick;
+      } else {
+        _defer$1 = fallback;
+      }
+      var setImmediate$1 = wrap(_defer$1);
+      function asyncify(func) {
+        if (isAsync(func)) {
+          return function(...args) {
+            const callback = args.pop();
+            const promise = func.apply(this, args);
+            return handlePromise(promise, callback);
           };
-          if (!core_util_1.isNodeLike) {
-            return wrappedRes;
-          }
-          if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) {
-            options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS;
+        }
+        return initialParams(function(args, callback) {
+          var result;
+          try {
+            result = func.apply(this, args);
+          } catch (e) {
+            return callback(e);
           }
-          if (res.contentLength === void 0) {
-            throw new RangeError(`File download response doesn't contain valid content length header`);
+          if (result && typeof result.then === "function") {
+            return handlePromise(result, callback);
+          } else {
+            callback(null, result);
           }
-          if (!res.etag) {
-            throw new RangeError(`File download response doesn't contain valid etag header`);
+        });
+      }
+      function handlePromise(promise, callback) {
+        return promise.then((value) => {
+          invokeCallback(callback, null, value);
+        }, (err) => {
+          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
+        });
+      }
+      function invokeCallback(callback, error3, value) {
+        try {
+          callback(error3, value);
+        } catch (err) {
+          setImmediate$1((e) => {
+            throw e;
+          }, err);
+        }
+      }
+      function isAsync(fn) {
+        return fn[Symbol.toStringTag] === "AsyncFunction";
+      }
+      function isAsyncGenerator(fn) {
+        return fn[Symbol.toStringTag] === "AsyncGenerator";
+      }
+      function isAsyncIterable(obj) {
+        return typeof obj[Symbol.asyncIterator] === "function";
+      }
+      function wrapAsync(asyncFn) {
+        if (typeof asyncFn !== "function") throw new Error("expected a function");
+        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
+      }
+      function awaitify(asyncFn, arity) {
+        if (!arity) arity = asyncFn.length;
+        if (!arity) throw new Error("arity is undefined");
+        function awaitable(...args) {
+          if (typeof args[arity - 1] === "function") {
+            return asyncFn.apply(this, args);
           }
-          return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => {
-            const updatedDownloadOptions = {
-              leaseAccessConditions: options.conditions,
-              modifiedAccessConditions: {
-                ifMatch: options.conditions.ifMatch || res.etag,
-                ifModifiedSince: options.conditions.ifModifiedSince,
-                ifNoneMatch: options.conditions.ifNoneMatch,
-                ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
-                ifTags: options.conditions?.tagConditions
-              },
-              range: (0, Range_js_1.rangeToString)({
-                count: offset + res.contentLength - start,
-                offset: start
-              }),
-              rangeGetContentMD5: options.rangeGetContentMD5,
-              rangeGetContentCRC64: options.rangeGetContentCrc64,
-              snapshot: options.snapshot,
-              cpkInfo: options.customerProvidedKey
+          return new Promise((resolve8, reject2) => {
+            args[arity - 1] = (err, ...cbArgs) => {
+              if (err) return reject2(err);
+              resolve8(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
             };
-            return (await this.blobContext.download({
-              abortSignal: options.abortSignal,
-              ...updatedDownloadOptions
-            })).readableStreamBody;
-          }, offset, res.contentLength, {
-            maxRetryRequests: options.maxRetryRequests,
-            onProgress: options.onProgress
+            asyncFn.apply(this, args);
+          });
+        }
+        return awaitable;
+      }
+      function applyEach$1(eachfn) {
+        return function applyEach2(fns, ...callArgs) {
+          const go = awaitify(function(callback) {
+            var that = this;
+            return eachfn(fns, (fn, cb) => {
+              wrapAsync(fn).apply(that, callArgs.concat(cb));
+            }, callback);
+          });
+          return go;
+        };
+      }
+      function _asyncMap(eachfn, arr, iteratee, callback) {
+        arr = arr || [];
+        var results = [];
+        var counter = 0;
+        var _iteratee = wrapAsync(iteratee);
+        return eachfn(arr, (value, _2, iterCb) => {
+          var index2 = counter++;
+          _iteratee(value, (err, v) => {
+            results[index2] = v;
+            iterCb(err);
           });
+        }, (err) => {
+          callback(err, results);
         });
       }
-      /**
-       * Returns true if the Azure blob resource represented by this client exists; false otherwise.
-       *
-       * NOTE: use this function with care since an existing blob might be deleted by other clients or
-       * applications. Vice versa new blobs might be added by other clients or applications after this
-       * function completes.
-       *
-       * @param options - options to Exists operation.
-       */
-      async exists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => {
-          try {
-            (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-            await this.getProperties({
-              abortSignal: options.abortSignal,
-              customerProvidedKey: options.customerProvidedKey,
-              conditions: options.conditions,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            return true;
-          } catch (e) {
-            if (e.statusCode === 404) {
-              return false;
-            } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) {
-              return true;
+      function isArrayLike(value) {
+        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
+      }
+      const breakLoop = {};
+      function once(fn) {
+        function wrapper(...args) {
+          if (fn === null) return;
+          var callFn = fn;
+          fn = null;
+          callFn.apply(this, args);
+        }
+        Object.assign(wrapper, fn);
+        return wrapper;
+      }
+      function getIterator(coll) {
+        return coll[Symbol.iterator] && coll[Symbol.iterator]();
+      }
+      function createArrayIterator(coll) {
+        var i = -1;
+        var len = coll.length;
+        return function next() {
+          return ++i < len ? { value: coll[i], key: i } : null;
+        };
+      }
+      function createES2015Iterator(iterator2) {
+        var i = -1;
+        return function next() {
+          var item = iterator2.next();
+          if (item.done)
+            return null;
+          i++;
+          return { value: item.value, key: i };
+        };
+      }
+      function createObjectIterator(obj) {
+        var okeys = obj ? Object.keys(obj) : [];
+        var i = -1;
+        var len = okeys.length;
+        return function next() {
+          var key = okeys[++i];
+          if (key === "__proto__") {
+            return next();
+          }
+          return i < len ? { value: obj[key], key } : null;
+        };
+      }
+      function createIterator(coll) {
+        if (isArrayLike(coll)) {
+          return createArrayIterator(coll);
+        }
+        var iterator2 = getIterator(coll);
+        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
+      }
+      function onlyOnce(fn) {
+        return function(...args) {
+          if (fn === null) throw new Error("Callback was already called.");
+          var callFn = fn;
+          fn = null;
+          callFn.apply(this, args);
+        };
+      }
+      function asyncEachOfLimit(generator, limit, iteratee, callback) {
+        let done = false;
+        let canceled = false;
+        let awaiting = false;
+        let running = 0;
+        let idx = 0;
+        function replenish() {
+          if (running >= limit || awaiting || done) return;
+          awaiting = true;
+          generator.next().then(({ value, done: iterDone }) => {
+            if (canceled || done) return;
+            awaiting = false;
+            if (iterDone) {
+              done = true;
+              if (running <= 0) {
+                callback(null);
+              }
+              return;
+            }
+            running++;
+            iteratee(value, idx, iterateeCallback);
+            idx++;
+            replenish();
+          }).catch(handleError);
+        }
+        function iterateeCallback(err, result) {
+          running -= 1;
+          if (canceled) return;
+          if (err) return handleError(err);
+          if (err === false) {
+            done = true;
+            canceled = true;
+            return;
+          }
+          if (result === breakLoop || done && running <= 0) {
+            done = true;
+            return callback(null);
+          }
+          replenish();
+        }
+        function handleError(err) {
+          if (canceled) return;
+          awaiting = false;
+          done = true;
+          callback(err);
+        }
+        replenish();
+      }
+      var eachOfLimit$2 = (limit) => {
+        return (obj, iteratee, callback) => {
+          callback = once(callback);
+          if (limit <= 0) {
+            throw new RangeError("concurrency limit cannot be less than 1");
+          }
+          if (!obj) {
+            return callback(null);
+          }
+          if (isAsyncGenerator(obj)) {
+            return asyncEachOfLimit(obj, limit, iteratee, callback);
+          }
+          if (isAsyncIterable(obj)) {
+            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
+          }
+          var nextElem = createIterator(obj);
+          var done = false;
+          var canceled = false;
+          var running = 0;
+          var looping = false;
+          function iterateeCallback(err, value) {
+            if (canceled) return;
+            running -= 1;
+            if (err) {
+              done = true;
+              callback(err);
+            } else if (err === false) {
+              done = true;
+              canceled = true;
+            } else if (value === breakLoop || done && running <= 0) {
+              done = true;
+              return callback(null);
+            } else if (!looping) {
+              replenish();
             }
-            throw e;
           }
-        });
-      }
-      /**
-       * Returns all user-defined metadata, standard HTTP properties, and system properties
-       * for the blob. It does not return the content of the blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties
-       *
-       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
-       * they originally contained uppercase characters. This differs from the metadata keys returned by
-       * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which
-       * will retain their original casing.
-       *
-       * @param options - Optional options to Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return {
-            ...res,
-            _response: res._response,
-            // _response is made non-enumerable
-            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
-            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
-          };
-        });
-      }
-      /**
-       * Marks the specified blob or snapshot for deletion. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param options - Optional options to Blob Delete operation.
-       */
-      async delete(options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({
-            abortSignal: options.abortSignal,
-            deleteSnapshots: options.deleteSnapshots,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param options - Optional options to Blob Delete operation.
-       */
-      async deleteIfExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
-          try {
-            const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobNotFound") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+          function replenish() {
+            looping = true;
+            while (running < limit && !done) {
+              var elem = nextElem();
+              if (elem === null) {
+                done = true;
+                if (running <= 0) {
+                  callback(null);
+                }
+                return;
+              }
+              running += 1;
+              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
             }
-            throw e;
+            looping = false;
           }
-        });
+          replenish();
+        };
+      };
+      function eachOfLimit(coll, limit, iteratee, callback) {
+        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
       }
-      /**
-       * Restores the contents and metadata of soft deleted blob and any associated
-       * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29
-       * or later.
-       * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob
-       *
-       * @param options - Optional options to Blob Undelete operation.
-       */
-      async undelete(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
+      function eachOfArrayLike(coll, iteratee, callback) {
+        callback = once(callback);
+        var index2 = 0, completed = 0, { length } = coll, canceled = false;
+        if (length === 0) {
+          callback(null);
+        }
+        function iteratorCallback(err, value) {
+          if (err === false) {
+            canceled = true;
+          }
+          if (canceled === true) return;
+          if (err) {
+            callback(err);
+          } else if (++completed === length || value === breakLoop) {
+            callback(null);
+          }
+        }
+        for (; index2 < length; index2++) {
+          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
+        }
       }
-      /**
-       * Sets system properties on the blob.
-       *
-       * If no value provided, or no value provided for the specified blob HTTP headers,
-       * these blob HTTP headers without a value will be cleared.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param blobHTTPHeaders - If no value provided, or no value provided for
-       *                                                   the specified blob HTTP headers, these blob HTTP
-       *                                                   headers without a value will be cleared.
-       *                                                   A common header to set is `blobContentType`
-       *                                                   enabling the browser to provide functionality
-       *                                                   based on file type.
-       * @param options - Optional options to Blob Set HTTP Headers operation.
-       */
-      async setHTTPHeaders(blobHTTPHeaders, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function eachOfGeneric(coll, iteratee, callback) {
+        return eachOfLimit$1(coll, Infinity, iteratee, callback);
       }
-      /**
-       * Sets user-defined metadata for the specified blob as one or more name-value pairs.
-       *
-       * If no option provided, or no metadata defined in the parameter, the blob
-       * metadata will be removed.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata
-       *
-       * @param metadata - Replace existing metadata with this value.
-       *                               If no value provided the existing metadata will be removed.
-       * @param options - Optional options to Set Metadata operation.
-       */
-      async setMetadata(metadata, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function eachOf(coll, iteratee, callback) {
+        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
+        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
       }
-      /**
-       * Sets tags on the underlying blob.
-       * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters.  Tag values must be between 0 and 256 characters.
-       * Valid tag key and value characters include lower and upper case letters, digits (0-9),
-       * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').
-       *
-       * @param tags -
-       * @param options -
-       */
-      async setTags(tags, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions,
-            tags: (0, utils_common_js_1.toBlobTags)(tags)
-          }));
-        });
+      var eachOf$1 = awaitify(eachOf, 3);
+      function map2(coll, iteratee, callback) {
+        return _asyncMap(eachOf$1, coll, iteratee, callback);
       }
-      /**
-       * Gets the tags associated with the underlying blob.
-       *
-       * @param options -
-       */
-      async getTags(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {}
-          };
-          return wrappedResponse;
-        });
+      var map$1 = awaitify(map2, 3);
+      var applyEach = applyEach$1(map$1);
+      function eachOfSeries(coll, iteratee, callback) {
+        return eachOfLimit$1(coll, 1, iteratee, callback);
       }
-      /**
-       * Get a {@link BlobLeaseClient} that manages leases on the blob.
-       *
-       * @param proposeLeaseId - Initial proposed lease Id.
-       * @returns A new BlobLeaseClient object for managing leases on the blob.
-       */
-      getBlobLeaseClient(proposeLeaseId) {
-        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
+      function mapSeries(coll, iteratee, callback) {
+        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
       }
-      /**
-       * Creates a read-only snapshot of a blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob
-       *
-       * @param options - Optional options to the Blob Create Snapshot operation.
-       */
-      async createSnapshot(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      var mapSeries$1 = awaitify(mapSeries, 3);
+      var applyEachSeries = applyEach$1(mapSeries$1);
+      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
+      function promiseCallback() {
+        let resolve8, reject2;
+        function callback(err, ...args) {
+          if (err) return reject2(err);
+          resolve8(args.length > 1 ? args : args[0]);
+        }
+        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
+          resolve8 = res, reject2 = rej;
         });
+        return callback;
       }
-      /**
-       * Asynchronously copies a blob to a destination within the storage account.
-       * This method returns a long running operation poller that allows you to wait
-       * indefinitely until the copy is completed.
-       * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller.
-       * Note that the onProgress callback will not be invoked if the operation completes in the first
-       * request, and attempting to cancel a completed copy will result in an error being thrown.
-       *
-       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
-       * a committed blob in any Azure storage account.
-       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
-       * an Azure file in any Azure storage account.
-       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
-       * operation to copy from another storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
-       *
-       * ```ts snippet:ClientsBeginCopyFromURL
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Example using automatic polling
-       * const automaticCopyPoller = await blobClient.beginCopyFromURL("url");
-       * const automaticResult = await automaticCopyPoller.pollUntilDone();
-       *
-       * // Example using manual polling
-       * const manualCopyPoller = await blobClient.beginCopyFromURL("url");
-       * while (!manualCopyPoller.isDone()) {
-       *   await manualCopyPoller.poll();
-       * }
-       * const manualResult = manualCopyPoller.getResult();
-       *
-       * // Example using progress updates
-       * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", {
-       *   onProgress(state) {
-       *     console.log(`Progress: ${state.copyProgress}`);
-       *   },
-       * });
-       * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone();
-       *
-       * // Example using a changing polling interval (default 15 seconds)
-       * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", {
-       *   intervalInMs: 1000, // poll blob every 1 second for copy progress
-       * });
-       * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone();
-       *
-       * // Example using copy cancellation:
-       * const cancelCopyPoller = await blobClient.beginCopyFromURL("url");
-       * // cancel operation after starting it.
-       * try {
-       *   await cancelCopyPoller.cancelOperation();
-       *   // calls to get the result now throw PollerCancelledError
-       *   cancelCopyPoller.getResult();
-       * } catch (err: any) {
-       *   if (err.name === "PollerCancelledError") {
-       *     console.log("The copy was cancelled.");
-       *   }
-       * }
-       * ```
-       *
-       * @param copySource - url to the source Azure Blob/File.
-       * @param options - Optional options to the Blob Start Copy From URL operation.
-       */
-      async beginCopyFromURL(copySource, options = {}) {
-        const client = {
-          abortCopyFromURL: (...args) => this.abortCopyFromURL(...args),
-          getProperties: (...args) => this.getProperties(...args),
-          startCopyFromURL: (...args) => this.startCopyFromURL(...args)
-        };
-        const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({
-          blobClient: client,
-          copySource,
-          intervalInMs: options.intervalInMs,
-          onProgress: options.onProgress,
-          resumeFrom: options.resumeFrom,
-          startCopyFromURLOptions: options
+      function auto(tasks, concurrency, callback) {
+        if (typeof concurrency !== "number") {
+          callback = concurrency;
+          concurrency = null;
+        }
+        callback = once(callback || promiseCallback());
+        var numTasks = Object.keys(tasks).length;
+        if (!numTasks) {
+          return callback(null);
+        }
+        if (!concurrency) {
+          concurrency = numTasks;
+        }
+        var results = {};
+        var runningTasks = 0;
+        var canceled = false;
+        var hasError = false;
+        var listeners = /* @__PURE__ */ Object.create(null);
+        var readyTasks = [];
+        var readyToCheck = [];
+        var uncheckedDependencies = {};
+        Object.keys(tasks).forEach((key) => {
+          var task = tasks[key];
+          if (!Array.isArray(task)) {
+            enqueueTask(key, [task]);
+            readyToCheck.push(key);
+            return;
+          }
+          var dependencies = task.slice(0, task.length - 1);
+          var remainingDependencies = dependencies.length;
+          if (remainingDependencies === 0) {
+            enqueueTask(key, task);
+            readyToCheck.push(key);
+            return;
+          }
+          uncheckedDependencies[key] = remainingDependencies;
+          dependencies.forEach((dependencyName) => {
+            if (!tasks[dependencyName]) {
+              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
+            }
+            addListener(dependencyName, () => {
+              remainingDependencies--;
+              if (remainingDependencies === 0) {
+                enqueueTask(key, task);
+              }
+            });
+          });
         });
-        await poller.poll();
-        return poller;
+        checkForDeadlocks();
+        processQueue();
+        function enqueueTask(key, task) {
+          readyTasks.push(() => runTask(key, task));
+        }
+        function processQueue() {
+          if (canceled) return;
+          if (readyTasks.length === 0 && runningTasks === 0) {
+            return callback(null, results);
+          }
+          while (readyTasks.length && runningTasks < concurrency) {
+            var run3 = readyTasks.shift();
+            run3();
+          }
+        }
+        function addListener(taskName, fn) {
+          var taskListeners = listeners[taskName];
+          if (!taskListeners) {
+            taskListeners = listeners[taskName] = [];
+          }
+          taskListeners.push(fn);
+        }
+        function taskComplete(taskName) {
+          var taskListeners = listeners[taskName] || [];
+          taskListeners.forEach((fn) => fn());
+          processQueue();
+        }
+        function runTask(key, task) {
+          if (hasError) return;
+          var taskCallback = onlyOnce((err, ...result) => {
+            runningTasks--;
+            if (err === false) {
+              canceled = true;
+              return;
+            }
+            if (result.length < 2) {
+              [result] = result;
+            }
+            if (err) {
+              var safeResults = {};
+              Object.keys(results).forEach((rkey) => {
+                safeResults[rkey] = results[rkey];
+              });
+              safeResults[key] = result;
+              hasError = true;
+              listeners = /* @__PURE__ */ Object.create(null);
+              if (canceled) return;
+              callback(err, safeResults);
+            } else {
+              results[key] = result;
+              taskComplete(key);
+            }
+          });
+          runningTasks++;
+          var taskFn = wrapAsync(task[task.length - 1]);
+          if (task.length > 1) {
+            taskFn(results, taskCallback);
+          } else {
+            taskFn(taskCallback);
+          }
+        }
+        function checkForDeadlocks() {
+          var currentTask;
+          var counter = 0;
+          while (readyToCheck.length) {
+            currentTask = readyToCheck.pop();
+            counter++;
+            getDependents(currentTask).forEach((dependent) => {
+              if (--uncheckedDependencies[dependent] === 0) {
+                readyToCheck.push(dependent);
+              }
+            });
+          }
+          if (counter !== numTasks) {
+            throw new Error(
+              "async.auto cannot execute tasks due to a recursive dependency"
+            );
+          }
+        }
+        function getDependents(taskName) {
+          var result = [];
+          Object.keys(tasks).forEach((key) => {
+            const task = tasks[key];
+            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
+              result.push(key);
+            }
+          });
+          return result;
+        }
+        return callback[PROMISE_SYMBOL];
       }
-      /**
-       * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero
-       * length and full metadata. Version 2012-02-12 and newer.
-       * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob
-       *
-       * @param copyId - Id of the Copy From URL operation.
-       * @param options - Optional options to the Blob Abort Copy From URL operation.
-       */
-      async abortCopyFromURL(copyId, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
+      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
+      var FN_ARG_SPLIT = /,/;
+      var FN_ARG = /(=.+)?(\s*)$/;
+      function stripComments(string) {
+        let stripped = "";
+        let index2 = 0;
+        let endBlockComment = string.indexOf("*/");
+        while (index2 < string.length) {
+          if (string[index2] === "/" && string[index2 + 1] === "/") {
+            let endIndex = string.indexOf("\n", index2);
+            index2 = endIndex === -1 ? string.length : endIndex;
+          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
+            let endIndex = string.indexOf("*/", index2);
+            if (endIndex !== -1) {
+              index2 = endIndex + 2;
+              endBlockComment = string.indexOf("*/", index2);
+            } else {
+              stripped += string[index2];
+              index2++;
+            }
+          } else {
+            stripped += string[index2];
+            index2++;
+          }
+        }
+        return stripped;
       }
-      /**
-       * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not
-       * return a response until the copy is complete.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url
-       *
-       * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication
-       * @param options -
-       */
-      async syncCopyFromURL(copySource, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, {
-            abortSignal: options.abortSignal,
-            metadata: options.metadata,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            sourceContentMD5: options.sourceContentMD5,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            encryptionScope: options.encryptionScope,
-            copySourceTags: options.copySourceTags,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function parseParams(func) {
+        const src = stripComments(func.toString());
+        let match = src.match(FN_ARGS);
+        if (!match) {
+          match = src.match(ARROW_FN_ARGS);
+        }
+        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
+        let [, args] = match;
+        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
       }
-      /**
-       * Sets the tier on a blob. The operation is allowed on a page blob in a premium
-       * storage account and on a block blob in a blob storage account (locally redundant
-       * storage only). A premium page blob's tier determines the allowed size, IOPS,
-       * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive
-       * storage type. This operation does not update the blob's ETag.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier
-       *
-       * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive.
-       * @param options - Optional options to the Blob Set Tier operation.
-       */
-      async setAccessTier(tier, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            rehydratePriority: options.rehydratePriority,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      function autoInject(tasks, callback) {
+        var newTasks = {};
+        Object.keys(tasks).forEach((key) => {
+          var taskFn = tasks[key];
+          var params;
+          var fnIsAsync = isAsync(taskFn);
+          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
+          if (Array.isArray(taskFn)) {
+            params = [...taskFn];
+            taskFn = params.pop();
+            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
+          } else if (hasNoDeps) {
+            newTasks[key] = taskFn;
+          } else {
+            params = parseParams(taskFn);
+            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
+              throw new Error("autoInject task functions require explicit parameters.");
+            }
+            if (!fnIsAsync) params.pop();
+            newTasks[key] = params.concat(newTask);
+          }
+          function newTask(results, taskCb) {
+            var newArgs = params.map((name) => results[name]);
+            newArgs.push(taskCb);
+            wrapAsync(taskFn)(...newArgs);
+          }
         });
+        return auto(newTasks, callback);
       }
-      async downloadToBuffer(param1, param2, param3, param4 = {}) {
-        let buffer;
-        let offset = 0;
-        let count = 0;
-        let options = param4;
-        if (param1 instanceof Buffer) {
-          buffer = param1;
-          offset = param2 || 0;
-          count = typeof param3 === "number" ? param3 : 0;
-        } else {
-          offset = typeof param1 === "number" ? param1 : 0;
-          count = typeof param2 === "number" ? param2 : 0;
-          options = param3 || {};
+      class DLL {
+        constructor() {
+          this.head = this.tail = null;
+          this.length = 0;
         }
-        let blockSize = options.blockSize ?? 0;
-        if (blockSize < 0) {
-          throw new RangeError("blockSize option must be >= 0");
+        removeLink(node) {
+          if (node.prev) node.prev.next = node.next;
+          else this.head = node.next;
+          if (node.next) node.next.prev = node.prev;
+          else this.tail = node.prev;
+          node.prev = node.next = null;
+          this.length -= 1;
+          return node;
         }
-        if (blockSize === 0) {
-          blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
+        empty() {
+          while (this.head) this.shift();
+          return this;
         }
-        if (offset < 0) {
-          throw new RangeError("offset option must be >= 0");
+        insertAfter(node, newNode) {
+          newNode.prev = node;
+          newNode.next = node.next;
+          if (node.next) node.next.prev = newNode;
+          else this.tail = newNode;
+          node.next = newNode;
+          this.length += 1;
         }
-        if (count && count <= 0) {
-          throw new RangeError("count option must be greater than 0");
+        insertBefore(node, newNode) {
+          newNode.prev = node.prev;
+          newNode.next = node;
+          if (node.prev) node.prev.next = newNode;
+          else this.head = newNode;
+          node.prev = newNode;
+          this.length += 1;
         }
-        if (!options.conditions) {
-          options.conditions = {};
+        unshift(node) {
+          if (this.head) this.insertBefore(this.head, node);
+          else setInitial(this, node);
         }
-        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
-          if (!count) {
-            const response = await this.getProperties({
-              ...options,
-              tracingOptions: updatedOptions.tracingOptions
+        push(node) {
+          if (this.tail) this.insertAfter(this.tail, node);
+          else setInitial(this, node);
+        }
+        shift() {
+          return this.head && this.removeLink(this.head);
+        }
+        pop() {
+          return this.tail && this.removeLink(this.tail);
+        }
+        toArray() {
+          return [...this];
+        }
+        *[Symbol.iterator]() {
+          var cur = this.head;
+          while (cur) {
+            yield cur.data;
+            cur = cur.next;
+          }
+        }
+        remove(testFn) {
+          var curr = this.head;
+          while (curr) {
+            var { next } = curr;
+            if (testFn(curr)) {
+              this.removeLink(curr);
+            }
+            curr = next;
+          }
+          return this;
+        }
+      }
+      function setInitial(dll, node) {
+        dll.length = 1;
+        dll.head = dll.tail = node;
+      }
+      function queue$1(worker, concurrency, payload) {
+        if (concurrency == null) {
+          concurrency = 1;
+        } else if (concurrency === 0) {
+          throw new RangeError("Concurrency must not be zero");
+        }
+        var _worker = wrapAsync(worker);
+        var numRunning = 0;
+        var workersList = [];
+        const events = {
+          error: [],
+          drain: [],
+          saturated: [],
+          unsaturated: [],
+          empty: []
+        };
+        function on(event, handler2) {
+          events[event].push(handler2);
+        }
+        function once2(event, handler2) {
+          const handleAndRemove = (...args) => {
+            off(event, handleAndRemove);
+            handler2(...args);
+          };
+          events[event].push(handleAndRemove);
+        }
+        function off(event, handler2) {
+          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
+          if (!handler2) return events[event] = [];
+          events[event] = events[event].filter((ev) => ev !== handler2);
+        }
+        function trigger(event, ...args) {
+          events[event].forEach((handler2) => handler2(...args));
+        }
+        var processingScheduled = false;
+        function _insert(data, insertAtFront, rejectOnError, callback) {
+          if (callback != null && typeof callback !== "function") {
+            throw new Error("task callback must be a function");
+          }
+          q.started = true;
+          var res, rej;
+          function promiseCallback2(err, ...args) {
+            if (err) return rejectOnError ? rej(err) : res();
+            if (args.length <= 1) return res(args[0]);
+            res(args);
+          }
+          var item = q._createTaskItem(
+            data,
+            rejectOnError ? promiseCallback2 : callback || promiseCallback2
+          );
+          if (insertAtFront) {
+            q._tasks.unshift(item);
+          } else {
+            q._tasks.push(item);
+          }
+          if (!processingScheduled) {
+            processingScheduled = true;
+            setImmediate$1(() => {
+              processingScheduled = false;
+              q.process();
             });
-            count = response.contentLength - offset;
-            if (count < 0) {
-              throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
+          }
+          if (rejectOnError || !callback) {
+            return new Promise((resolve8, reject2) => {
+              res = resolve8;
+              rej = reject2;
+            });
+          }
+        }
+        function _createCB(tasks) {
+          return function(err, ...args) {
+            numRunning -= 1;
+            for (var i = 0, l = tasks.length; i < l; i++) {
+              var task = tasks[i];
+              var index2 = workersList.indexOf(task);
+              if (index2 === 0) {
+                workersList.shift();
+              } else if (index2 > 0) {
+                workersList.splice(index2, 1);
+              }
+              task.callback(err, ...args);
+              if (err != null) {
+                trigger("error", err, task.data);
+              }
+            }
+            if (numRunning <= q.concurrency - q.buffer) {
+              trigger("unsaturated");
+            }
+            if (q.idle()) {
+              trigger("drain");
             }
+            q.process();
+          };
+        }
+        function _maybeDrain(data) {
+          if (data.length === 0 && q.idle()) {
+            setImmediate$1(() => trigger("drain"));
+            return true;
           }
-          if (!buffer) {
-            try {
-              buffer = Buffer.alloc(count);
-            } catch (error3) {
-              throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile".	 ${error3.message}`);
+          return false;
+        }
+        const eventMethod = (name) => (handler2) => {
+          if (!handler2) {
+            return new Promise((resolve8, reject2) => {
+              once2(name, (err, data) => {
+                if (err) return reject2(err);
+                resolve8(data);
+              });
+            });
+          }
+          off(name);
+          on(name, handler2);
+        };
+        var isProcessing = false;
+        var q = {
+          _tasks: new DLL(),
+          _createTaskItem(data, callback) {
+            return {
+              data,
+              callback
+            };
+          },
+          *[Symbol.iterator]() {
+            yield* q._tasks[Symbol.iterator]();
+          },
+          concurrency,
+          payload,
+          buffer: concurrency / 4,
+          started: false,
+          paused: false,
+          push(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, false, false, callback));
+            }
+            return _insert(data, false, false, callback);
+          },
+          pushAsync(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, false, true, callback));
+            }
+            return _insert(data, false, true, callback);
+          },
+          kill() {
+            off();
+            q._tasks.empty();
+          },
+          unshift(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, true, false, callback));
+            }
+            return _insert(data, true, false, callback);
+          },
+          unshiftAsync(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, true, true, callback));
+            }
+            return _insert(data, true, true, callback);
+          },
+          remove(testFn) {
+            q._tasks.remove(testFn);
+          },
+          process() {
+            if (isProcessing) {
+              return;
+            }
+            isProcessing = true;
+            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
+              var tasks = [], data = [];
+              var l = q._tasks.length;
+              if (q.payload) l = Math.min(l, q.payload);
+              for (var i = 0; i < l; i++) {
+                var node = q._tasks.shift();
+                tasks.push(node);
+                workersList.push(node);
+                data.push(node.data);
+              }
+              numRunning += 1;
+              if (q._tasks.length === 0) {
+                trigger("empty");
+              }
+              if (numRunning === q.concurrency) {
+                trigger("saturated");
+              }
+              var cb = onlyOnce(_createCB(tasks));
+              _worker(data, cb);
+            }
+            isProcessing = false;
+          },
+          length() {
+            return q._tasks.length;
+          },
+          running() {
+            return numRunning;
+          },
+          workersList() {
+            return workersList;
+          },
+          idle() {
+            return q._tasks.length + numRunning === 0;
+          },
+          pause() {
+            q.paused = true;
+          },
+          resume() {
+            if (q.paused === false) {
+              return;
             }
+            q.paused = false;
+            setImmediate$1(q.process);
           }
-          if (buffer.length < count) {
-            throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`);
-          }
-          let transferProgress = 0;
-          const batch = new Batch_js_1.Batch(options.concurrency);
-          for (let off = offset; off < offset + count; off = off + blockSize) {
-            batch.addOperation(async () => {
-              let chunkEnd = offset + count;
-              if (off + blockSize < chunkEnd) {
-                chunkEnd = off + blockSize;
-              }
-              const response = await this.download(off, chunkEnd - off, {
-                abortSignal: options.abortSignal,
-                conditions: options.conditions,
-                maxRetryRequests: options.maxRetryRequestsPerBlock,
-                customerProvidedKey: options.customerProvidedKey,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              const stream2 = response.readableStreamBody;
-              await (0, utils_js_1.streamToBuffer)(stream2, buffer, off - offset, chunkEnd - offset);
-              transferProgress += chunkEnd - off;
-              if (options.onProgress) {
-                options.onProgress({ loadedBytes: transferProgress });
-              }
-            });
+        };
+        Object.defineProperties(q, {
+          saturated: {
+            writable: false,
+            value: eventMethod("saturated")
+          },
+          unsaturated: {
+            writable: false,
+            value: eventMethod("unsaturated")
+          },
+          empty: {
+            writable: false,
+            value: eventMethod("empty")
+          },
+          drain: {
+            writable: false,
+            value: eventMethod("drain")
+          },
+          error: {
+            writable: false,
+            value: eventMethod("error")
           }
-          await batch.do();
-          return buffer;
         });
+        return q;
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Downloads an Azure Blob to a local file.
-       * Fails if the the given file path already exits.
-       * Offset and count are optional, pass 0 and undefined respectively to download the entire blob.
-       *
-       * @param filePath -
-       * @param offset - From which position of the block blob to download.
-       * @param count - How much data to be downloaded. Will download to the end when passing undefined.
-       * @param options - Options to Blob download options.
-       * @returns The response data for blob download operation,
-       *                                                 but with readableStreamBody set to undefined since its
-       *                                                 content is already read and written into a local file
-       *                                                 at the specified path.
-       */
-      async downloadToFile(filePath, offset = 0, count, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
-          const response = await this.download(offset, count, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
+      function cargo$1(worker, payload) {
+        return queue$1(worker, 1, payload);
+      }
+      function cargo(worker, concurrency, payload) {
+        return queue$1(worker, concurrency, payload);
+      }
+      function reduce(coll, memo, iteratee, callback) {
+        callback = once(callback);
+        var _iteratee = wrapAsync(iteratee);
+        return eachOfSeries$1(coll, (x, i, iterCb) => {
+          _iteratee(memo, x, (err, v) => {
+            memo = v;
+            iterCb(err);
           });
-          if (response.readableStreamBody) {
-            await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath);
-          }
-          response.blobDownloadStream = void 0;
-          return response;
-        });
+        }, (err) => callback(err, memo));
       }
-      getBlobAndContainerNamesFromUrl() {
-        let containerName;
-        let blobName;
-        try {
-          const parsedUrl = new URL(this.url);
-          if (parsedUrl.host.split(".")[1] === "blob") {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
-            containerName = pathComponents[1];
-            blobName = pathComponents[3];
-          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?");
-            containerName = pathComponents[2];
-            blobName = pathComponents[4];
+      var reduce$1 = awaitify(reduce, 4);
+      function seq2(...functions) {
+        var _functions = functions.map(wrapAsync);
+        return function(...args) {
+          var that = this;
+          var cb = args[args.length - 1];
+          if (typeof cb == "function") {
+            args.pop();
           } else {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
-            containerName = pathComponents[1];
-            blobName = pathComponents[3];
-          }
-          containerName = decodeURIComponent(containerName);
-          blobName = decodeURIComponent(blobName);
-          blobName = blobName.replace(/\\/g, "/");
-          if (!containerName) {
-            throw new Error("Provided containerName is invalid.");
+            cb = promiseCallback();
           }
-          return { blobName, containerName };
-        } catch (error3) {
-          throw new Error("Unable to extract blobName and containerName with provided information.");
-        }
-      }
-      /**
-       * Asynchronously copies a blob to a destination within the storage account.
-       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
-       * a committed blob in any Azure storage account.
-       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
-       * an Azure file in any Azure storage account.
-       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
-       * operation to copy from another storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
-       *
-       * @param copySource - url to the source Azure Blob/File.
-       * @param options - Optional options to the Blob Start Copy From URL operation.
-       */
-      async startCopyFromURL(copySource, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
-          options.conditions = options.conditions || {};
-          options.sourceConditions = options.sourceConditions || {};
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
-              sourceIfTags: options.sourceConditions.tagConditions
+          reduce$1(
+            _functions,
+            args,
+            (newargs, fn, iterCb) => {
+              fn.apply(that, newargs.concat((err, ...nextargs) => {
+                iterCb(err, nextargs);
+              }));
             },
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            rehydratePriority: options.rehydratePriority,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            sealBlob: options.sealBlob,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+            (err, results) => cb(err, ...results)
+          );
+          return cb[PROMISE_SYMBOL];
+        };
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasUrl(options) {
-        return new Promise((resolve8) => {
-          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+      function compose(...args) {
+        return seq2(...args.reverse());
+      }
+      function mapLimit(coll, limit, iteratee, callback) {
+        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var mapLimit$1 = awaitify(mapLimit, 4);
+      function concatLimit(coll, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(coll, limit, (val, iterCb) => {
+          _iteratee(val, (err, ...args) => {
+            if (err) return iterCb(err);
+            return iterCb(err, args);
+          });
+        }, (err, mapResults) => {
+          var result = [];
+          for (var i = 0; i < mapResults.length; i++) {
+            if (mapResults[i]) {
+              result = result.concat(...mapResults[i]);
+            }
           }
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            blobName: this._name,
-            snapshotTime: this._snapshot,
-            versionId: this._versionId,
-            ...options
-          }, this.credential).toString();
-          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+          return callback(err, result);
         });
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
-      generateSasStringToSign(options) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
-        }
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          blobName: this._name,
-          snapshotTime: this._snapshot,
-          versionId: this._versionId,
-          ...options
-        }, this.credential).stringToSign;
+      var concatLimit$1 = awaitify(concatLimit, 4);
+      function concat(coll, iteratee, callback) {
+        return concatLimit$1(coll, Infinity, iteratee, callback);
       }
-      /**
-       *
-       * Generates a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasUrl(options, userDelegationKey) {
-        return new Promise((resolve8) => {
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            blobName: this._name,
-            snapshotTime: this._snapshot,
-            versionId: this._versionId,
-            ...options
-          }, userDelegationKey, this.accountName).toString();
-          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      var concat$1 = awaitify(concat, 3);
+      function concatSeries(coll, iteratee, callback) {
+        return concatLimit$1(coll, 1, iteratee, callback);
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasStringToSign(options, userDelegationKey) {
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          blobName: this._name,
-          snapshotTime: this._snapshot,
-          versionId: this._versionId,
-          ...options
-        }, userDelegationKey, this.accountName).stringToSign;
+      var concatSeries$1 = awaitify(concatSeries, 3);
+      function constant$1(...args) {
+        return function(...ignoredArgs) {
+          var callback = ignoredArgs.pop();
+          return callback(null, ...args);
+        };
       }
-      /**
-       * Delete the immutablility policy on the blob.
-       *
-       * @param options - Optional options to delete immutability policy on the blob.
-       */
-      async deleteImmutabilityPolicy(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function _createTester(check, getResult) {
+        return (eachfn, arr, _iteratee, cb) => {
+          var testPassed = false;
+          var testResult;
+          const iteratee = wrapAsync(_iteratee);
+          eachfn(arr, (value, _2, callback) => {
+            iteratee(value, (err, result) => {
+              if (err || err === false) return callback(err);
+              if (check(result) && !testResult) {
+                testPassed = true;
+                testResult = getResult(true, value);
+                return callback(null, breakLoop);
+              }
+              callback();
+            });
+          }, (err) => {
+            if (err) return cb(err);
+            cb(null, testPassed ? testResult : getResult(false));
+          });
+        };
       }
-      /**
-       * Set immutability policy on the blob.
-       *
-       * @param options - Optional options to set immutability policy on the blob.
-       */
-      async setImmutabilityPolicy(immutabilityPolicy, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({
-            immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn,
-            immutabilityPolicyMode: immutabilityPolicy.policyMode,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function detect(coll, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
       }
-      /**
-       * Set legal hold on the blob.
-       *
-       * @param options - Optional options to set legal hold on the blob.
-       */
-      async setLegalHold(legalHoldEnabled, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, {
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var detect$1 = awaitify(detect, 3);
+      function detectLimit(coll, limit, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var detectLimit$1 = awaitify(detectLimit, 4);
+      function detectSeries(coll, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
       }
-    };
-    exports2.BlobClient = BlobClient;
-    var AppendBlobClient = class _AppendBlobClient extends BlobClient {
-      /**
-       * appendBlobsContext provided by protocol layer.
-       */
-      appendBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url2;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url2 = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+      var detectSeries$1 = awaitify(detectSeries, 3);
+      function consoleFunc(name) {
+        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
+          if (typeof console === "object") {
+            if (err) {
+              if (console.error) {
+                console.error(err);
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+            } else if (console[name]) {
+              resultArgs.forEach((x) => console[name](x));
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+        });
+      }
+      var dir = consoleFunc("dir");
+      function doWhilst(iteratee, test, callback) {
+        callback = onlyOnce(callback);
+        var _fn = wrapAsync(iteratee);
+        var _test = wrapAsync(test);
+        var results;
+        function next(err, ...args) {
+          if (err) return callback(err);
+          if (err === false) return;
+          results = args;
+          _test(...args, check);
         }
-        super(url2, pipeline);
-        this.appendBlobContext = this.storageClientContext.appendBlob;
+        function check(err, truth) {
+          if (err) return callback(err);
+          if (err === false) return;
+          if (!truth) return callback(null, ...results);
+          _fn(next);
+        }
+        return check(null, true);
       }
-      /**
-       * Creates a new AppendBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      var doWhilst$1 = awaitify(doWhilst, 3);
+      function doUntil(iteratee, test, callback) {
+        const _test = wrapAsync(test);
+        return doWhilst$1(iteratee, (...args) => {
+          const cb = args.pop();
+          _test(...args, (err, truth) => cb(err, !truth));
+        }, callback);
       }
-      /**
-       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param options - Options to the Append Block Create operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsCreateAppendBlob
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * const appendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await appendBlobClient.create();
-       * ```
-       */
-      async create(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function _withoutIndex(iteratee) {
+        return (value, index2, callback) => iteratee(value, callback);
       }
-      /**
-       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
-       * If the blob with the same name already exists, the content of the existing blob will remain unchanged.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param options -
-       */
-      async createIfNotExists(options = {}) {
-        const conditions = { ifNoneMatch: constants_js_1.ETagAny };
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const res = (0, utils_common_js_1.assertResponse)(await this.create({
-              ...updatedOptions,
-              conditions
-            }));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+      function eachLimit$2(coll, iteratee, callback) {
+        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      }
+      var each = awaitify(eachLimit$2, 3);
+      function eachLimit(coll, limit, iteratee, callback) {
+        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      }
+      var eachLimit$1 = awaitify(eachLimit, 4);
+      function eachSeries(coll, iteratee, callback) {
+        return eachLimit$1(coll, 1, iteratee, callback);
+      }
+      var eachSeries$1 = awaitify(eachSeries, 3);
+      function ensureAsync(fn) {
+        if (isAsync(fn)) return fn;
+        return function(...args) {
+          var callback = args.pop();
+          var sync = true;
+          args.push((...innerArgs) => {
+            if (sync) {
+              setImmediate$1(() => callback(...innerArgs));
+            } else {
+              callback(...innerArgs);
             }
-            throw e;
+          });
+          fn.apply(this, args);
+          sync = false;
+        };
+      }
+      function every(coll, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
+      }
+      var every$1 = awaitify(every, 3);
+      function everyLimit(coll, limit, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var everyLimit$1 = awaitify(everyLimit, 4);
+      function everySeries(coll, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var everySeries$1 = awaitify(everySeries, 3);
+      function filterArray(eachfn, arr, iteratee, callback) {
+        var truthValues = new Array(arr.length);
+        eachfn(arr, (x, index2, iterCb) => {
+          iteratee(x, (err, v) => {
+            truthValues[index2] = !!v;
+            iterCb(err);
+          });
+        }, (err) => {
+          if (err) return callback(err);
+          var results = [];
+          for (var i = 0; i < arr.length; i++) {
+            if (truthValues[i]) results.push(arr[i]);
           }
+          callback(null, results);
         });
       }
-      /**
-       * Seals the append blob, making it read only.
-       *
-       * @param options -
-       */
-      async seal(options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({
-            abortSignal: options.abortSignal,
-            appendPositionAccessConditions: options.conditions,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      function filterGeneric(eachfn, coll, iteratee, callback) {
+        var results = [];
+        eachfn(coll, (x, index2, iterCb) => {
+          iteratee(x, (err, v) => {
+            if (err) return iterCb(err);
+            if (v) {
+              results.push({ index: index2, value: x });
+            }
+            iterCb(err);
+          });
+        }, (err) => {
+          if (err) return callback(err);
+          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
         });
       }
-      /**
-       * Commits a new block of data to the end of the existing append blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/append-block
-       *
-       * @param body - Data to be appended.
-       * @param contentLength - Length of the body in bytes.
-       * @param options - Options to the Append Block operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsAppendBlock
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * const content = "Hello World!";
-       *
-       * // Create a new append blob and append data to the blob.
-       * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await newAppendBlobClient.create();
-       * await newAppendBlobClient.appendBlock(content, content.length);
-       *
-       * // Append data to an existing append blob.
-       * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await existingAppendBlobClient.appendBlock(content, content.length);
-       * ```
-       */
-      async appendBlock(body, contentLength, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, {
-            abortSignal: options.abortSignal,
-            appendPositionAccessConditions: options.conditions,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      function _filter(eachfn, coll, iteratee, callback) {
+        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
+        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
+      }
+      function filter(coll, iteratee, callback) {
+        return _filter(eachOf$1, coll, iteratee, callback);
+      }
+      var filter$1 = awaitify(filter, 3);
+      function filterLimit(coll, limit, iteratee, callback) {
+        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var filterLimit$1 = awaitify(filterLimit, 4);
+      function filterSeries(coll, iteratee, callback) {
+        return _filter(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var filterSeries$1 = awaitify(filterSeries, 3);
+      function forever(fn, errback) {
+        var done = onlyOnce(errback);
+        var task = wrapAsync(ensureAsync(fn));
+        function next(err) {
+          if (err) return done(err);
+          if (err === false) return;
+          task(next);
+        }
+        return next();
+      }
+      var forever$1 = awaitify(forever, 2);
+      function groupByLimit(coll, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(coll, limit, (val, iterCb) => {
+          _iteratee(val, (err, key) => {
+            if (err) return iterCb(err);
+            return iterCb(err, { key, val });
+          });
+        }, (err, mapResults) => {
+          var result = {};
+          var { hasOwnProperty } = Object.prototype;
+          for (var i = 0; i < mapResults.length; i++) {
+            if (mapResults[i]) {
+              var { key } = mapResults[i];
+              var { val } = mapResults[i];
+              if (hasOwnProperty.call(result, key)) {
+                result[key].push(val);
+              } else {
+                result[key] = [val];
+              }
+            }
+          }
+          return callback(err, result);
         });
       }
-      /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob
-       * where the contents are read from a source url.
-       * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url
-       *
-       * @param sourceURL -
-       *                 The url to the blob that will be the source of the copy. A source blob in the same storage account can
-       *                 be authenticated via Shared Key. However, if the source is a blob in another account, the source blob
-       *                 must either be public or must be authenticated via a shared access signature. If the source blob is
-       *                 public, no authentication is required to perform the operation.
-       * @param sourceOffset - Offset in source to be appended
-       * @param count - Number of bytes to be appended as a block
-       * @param options -
-       */
-      async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
-            abortSignal: options.abortSignal,
-            sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }),
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            leaseAccessConditions: options.conditions,
-            appendPositionAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      var groupByLimit$1 = awaitify(groupByLimit, 4);
+      function groupBy(coll, iteratee, callback) {
+        return groupByLimit$1(coll, Infinity, iteratee, callback);
+      }
+      function groupBySeries(coll, iteratee, callback) {
+        return groupByLimit$1(coll, 1, iteratee, callback);
+      }
+      var log = consoleFunc("log");
+      function mapValuesLimit(obj, limit, iteratee, callback) {
+        callback = once(callback);
+        var newObj = {};
+        var _iteratee = wrapAsync(iteratee);
+        return eachOfLimit$2(limit)(obj, (val, key, next) => {
+          _iteratee(val, key, (err, result) => {
+            if (err) return next(err);
+            newObj[key] = result;
+            next(err);
+          });
+        }, (err) => callback(err, newObj));
+      }
+      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
+      function mapValues(obj, iteratee, callback) {
+        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
+      }
+      function mapValuesSeries(obj, iteratee, callback) {
+        return mapValuesLimit$1(obj, 1, iteratee, callback);
+      }
+      function memoize(fn, hasher = (v) => v) {
+        var memo = /* @__PURE__ */ Object.create(null);
+        var queues = /* @__PURE__ */ Object.create(null);
+        var _fn = wrapAsync(fn);
+        var memoized = initialParams((args, callback) => {
+          var key = hasher(...args);
+          if (key in memo) {
+            setImmediate$1(() => callback(null, ...memo[key]));
+          } else if (key in queues) {
+            queues[key].push(callback);
+          } else {
+            queues[key] = [callback];
+            _fn(...args, (err, ...resultArgs) => {
+              if (!err) {
+                memo[key] = resultArgs;
+              }
+              var q = queues[key];
+              delete queues[key];
+              for (var i = 0, l = q.length; i < l; i++) {
+                q[i](err, ...resultArgs);
+              }
+            });
+          }
         });
+        memoized.memo = memo;
+        memoized.unmemoized = fn;
+        return memoized;
       }
-    };
-    exports2.AppendBlobClient = AppendBlobClient;
-    var BlockBlobClient = class _BlockBlobClient extends BlobClient {
-      /**
-       * blobContext provided by protocol layer.
-       *
-       * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API
-       * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient.
-       */
-      _blobContext;
-      /**
-       * blockBlobContext provided by protocol layer.
-       */
-      blockBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url2;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url2 = urlOrConnectionString;
-          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
-            options = blobNameOrOptions;
+      var _defer;
+      if (hasNextTick) {
+        _defer = process.nextTick;
+      } else if (hasSetImmediate) {
+        _defer = setImmediate;
+      } else {
+        _defer = fallback;
+      }
+      var nextTick = wrap(_defer);
+      var _parallel = awaitify((eachfn, tasks, callback) => {
+        var results = isArrayLike(tasks) ? [] : {};
+        eachfn(tasks, (task, key, taskCb) => {
+          wrapAsync(task)((err, ...result) => {
+            if (result.length < 2) {
+              [result] = result;
+            }
+            results[key] = result;
+            taskCb(err);
+          });
+        }, (err) => callback(err, results));
+      }, 3);
+      function parallel(tasks, callback) {
+        return _parallel(eachOf$1, tasks, callback);
+      }
+      function parallelLimit(tasks, limit, callback) {
+        return _parallel(eachOfLimit$2(limit), tasks, callback);
+      }
+      function queue(worker, concurrency) {
+        var _worker = wrapAsync(worker);
+        return queue$1((items, cb) => {
+          _worker(items[0], cb);
+        }, concurrency, 1);
+      }
+      class Heap {
+        constructor() {
+          this.heap = [];
+          this.pushCount = Number.MIN_SAFE_INTEGER;
+        }
+        get length() {
+          return this.heap.length;
+        }
+        empty() {
+          this.heap = [];
+          return this;
+        }
+        percUp(index2) {
+          let p;
+          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
+            let t = this.heap[index2];
+            this.heap[index2] = this.heap[p];
+            this.heap[p] = t;
+            index2 = p;
           }
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+        }
+        percDown(index2) {
+          let l;
+          while ((l = leftChi(index2)) < this.heap.length) {
+            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
+              l = l + 1;
+            }
+            if (smaller(this.heap[index2], this.heap[l])) {
+              break;
+            }
+            let t = this.heap[index2];
+            this.heap[index2] = this.heap[l];
+            this.heap[l] = t;
+            index2 = l;
+          }
+        }
+        push(node) {
+          node.pushCount = ++this.pushCount;
+          this.heap.push(node);
+          this.percUp(this.heap.length - 1);
+        }
+        unshift(node) {
+          return this.heap.push(node);
+        }
+        shift() {
+          let [top] = this.heap;
+          this.heap[0] = this.heap[this.heap.length - 1];
+          this.heap.pop();
+          this.percDown(0);
+          return top;
+        }
+        toArray() {
+          return [...this];
+        }
+        *[Symbol.iterator]() {
+          for (let i = 0; i < this.heap.length; i++) {
+            yield this.heap[i].data;
+          }
+        }
+        remove(testFn) {
+          let j = 0;
+          for (let i = 0; i < this.heap.length; i++) {
+            if (!testFn(this.heap[i])) {
+              this.heap[j] = this.heap[i];
+              j++;
+            }
+          }
+          this.heap.splice(j);
+          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
+            this.percDown(i);
+          }
+          return this;
+        }
+      }
+      function leftChi(i) {
+        return (i << 1) + 1;
+      }
+      function parent(i) {
+        return (i + 1 >> 1) - 1;
+      }
+      function smaller(x, y) {
+        if (x.priority !== y.priority) {
+          return x.priority < y.priority;
+        } else {
+          return x.pushCount < y.pushCount;
+        }
+      }
+      function priorityQueue(worker, concurrency) {
+        var q = queue(worker, concurrency);
+        var {
+          push,
+          pushAsync
+        } = q;
+        q._tasks = new Heap();
+        q._createTaskItem = ({ data, priority }, callback) => {
+          return {
+            data,
+            priority,
+            callback
+          };
+        };
+        function createDataItems(tasks, priority) {
+          if (!Array.isArray(tasks)) {
+            return { data: tasks, priority };
+          }
+          return tasks.map((data) => {
+            return { data, priority };
+          });
+        }
+        q.push = function(data, priority = 0, callback) {
+          return push(createDataItems(data, priority), callback);
+        };
+        q.pushAsync = function(data, priority = 0, callback) {
+          return pushAsync(createDataItems(data, priority), callback);
+        };
+        delete q.unshift;
+        delete q.unshiftAsync;
+        return q;
+      }
+      function race(tasks, callback) {
+        callback = once(callback);
+        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
+        if (!tasks.length) return callback();
+        for (var i = 0, l = tasks.length; i < l; i++) {
+          wrapAsync(tasks[i])(callback);
+        }
+      }
+      var race$1 = awaitify(race, 2);
+      function reduceRight(array, memo, iteratee, callback) {
+        var reversed = [...array].reverse();
+        return reduce$1(reversed, memo, iteratee, callback);
+      }
+      function reflect(fn) {
+        var _fn = wrapAsync(fn);
+        return initialParams(function reflectOn(args, reflectCallback) {
+          args.push((error3, ...cbArgs) => {
+            let retVal = {};
+            if (error3) {
+              retVal.error = error3;
+            }
+            if (cbArgs.length > 0) {
+              var value = cbArgs;
+              if (cbArgs.length <= 1) {
+                [value] = cbArgs;
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              retVal.value = value;
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
+            reflectCallback(null, retVal);
+          });
+          return _fn.apply(this, args);
+        });
+      }
+      function reflectAll(tasks) {
+        var results;
+        if (Array.isArray(tasks)) {
+          results = tasks.map(reflect);
         } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+          results = {};
+          Object.keys(tasks).forEach((key) => {
+            results[key] = reflect.call(this, tasks[key]);
+          });
         }
-        super(url2, pipeline);
-        this.blockBlobContext = this.storageClientContext.blockBlob;
-        this._blobContext = this.storageClientContext.blob;
+        return results;
       }
-      /**
-       * Creates a new BlockBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a URL to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      function reject$2(eachfn, arr, _iteratee, callback) {
+        const iteratee = wrapAsync(_iteratee);
+        return _filter(eachfn, arr, (value, cb) => {
+          iteratee(value, (err, v) => {
+            cb(err, !v);
+          });
+        }, callback);
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Quick query for a JSON or CSV formatted blob.
-       *
-       * Example usage (Node.js):
-       *
-       * ```ts snippet:ClientsQuery
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * // Query and convert a blob to a string
-       * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage");
-       * if (queryBlockBlobResponse.readableStreamBody) {
-       *   const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody);
-       *   const downloaded = downloadedBuffer.toString();
-       *   console.log(`Query blob content: ${downloaded}`);
-       * }
-       *
-       * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise {
-       *   return new Promise((resolve, reject) => {
-       *     const chunks: Buffer[] = [];
-       *     readableStream.on("data", (data) => {
-       *       chunks.push(data instanceof Buffer ? data : Buffer.from(data));
-       *     });
-       *     readableStream.on("end", () => {
-       *       resolve(Buffer.concat(chunks));
-       *     });
-       *     readableStream.on("error", reject);
-       *   });
-       * }
-       * ```
-       *
-       * @param query -
-       * @param options -
-       */
-      async query(query, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        if (!core_util_1.isNodeLike) {
-          throw new Error("This operation currently is only supported in Node.js.");
+      function reject(coll, iteratee, callback) {
+        return reject$2(eachOf$1, coll, iteratee, callback);
+      }
+      var reject$1 = awaitify(reject, 3);
+      function rejectLimit(coll, limit, iteratee, callback) {
+        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var rejectLimit$1 = awaitify(rejectLimit, 4);
+      function rejectSeries(coll, iteratee, callback) {
+        return reject$2(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var rejectSeries$1 = awaitify(rejectSeries, 3);
+      function constant(value) {
+        return function() {
+          return value;
+        };
+      }
+      const DEFAULT_TIMES = 5;
+      const DEFAULT_INTERVAL = 0;
+      function retry2(opts, task, callback) {
+        var options = {
+          times: DEFAULT_TIMES,
+          intervalFunc: constant(DEFAULT_INTERVAL)
+        };
+        if (arguments.length < 3 && typeof opts === "function") {
+          callback = task || promiseCallback();
+          task = opts;
+        } else {
+          parseTimes(options, opts);
+          callback = callback || promiseCallback();
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({
-            abortSignal: options.abortSignal,
-            queryRequest: {
-              queryType: "SQL",
-              expression: query,
-              inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration),
-              outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration)
-            },
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return new BlobQueryResponse_js_1.BlobQueryResponse(response, {
-            abortSignal: options.abortSignal,
-            onProgress: options.onProgress,
-            onError: options.onError
+        if (typeof task !== "function") {
+          throw new Error("Invalid arguments for async.retry");
+        }
+        var _task = wrapAsync(task);
+        var attempt = 1;
+        function retryAttempt() {
+          _task((err, ...args) => {
+            if (err === false) return;
+            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
+              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
+            } else {
+              callback(err, ...args);
+            }
           });
-        });
+        }
+        retryAttempt();
+        return callback[PROMISE_SYMBOL];
       }
-      /**
-       * Creates a new block blob, or updates the content of an existing block blob.
-       * Updating an existing block blob overwrites any existing metadata on the blob.
-       * Partial updates are not supported; the content of the existing blob is
-       * overwritten with the new content. To perform a partial update of a block blob's,
-       * use {@link stageBlock} and {@link commitBlockList}.
-       *
-       * This is a non-parallel uploading method, please use {@link uploadFile},
-       * {@link uploadStream} or {@link uploadBrowserData} for better performance
-       * with concurrency uploading.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
-       *                               which returns a new Readable stream whose offset is from data source beginning.
-       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
-       *                               string including non non-Base64/Hex-encoded characters.
-       * @param options - Options to the Block Blob Upload operation.
-       * @returns Response data for the Block Blob Upload operation.
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsUpload
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * const content = "Hello world!";
-       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
-       * ```
-       */
-      async upload(body, contentLength, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function parseTimes(acc, t) {
+        if (typeof t === "object") {
+          acc.times = +t.times || DEFAULT_TIMES;
+          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
+          acc.errorFilter = t.errorFilter;
+        } else if (typeof t === "number" || typeof t === "string") {
+          acc.times = +t || DEFAULT_TIMES;
+        } else {
+          throw new Error("Invalid arguments for async.retry");
+        }
       }
-      /**
-       * Creates a new Block Blob where the contents of the blob are read from a given URL.
-       * This API is supported beginning with the 2020-04-08 version. Partial updates
-       * are not supported with Put Blob from URL; the content of an existing blob is overwritten with
-       * the content of the new blob.  To perform partial updates to a block blob’s contents using a
-       * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}.
-       *
-       * @param sourceURL - Specifies the URL of the blob. The value
-       *                           may be a URL of up to 2 KB in length that specifies a blob.
-       *                           The value should be URL-encoded as it would appear
-       *                           in a request URI. The source blob must either be public
-       *                           or must be authenticated via a shared access signature.
-       *                           If the source blob is public, no authentication is required
-       *                           to perform the operation. Here are some examples of source object URLs:
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param options - Optional parameters.
-       */
-      async syncUploadFromURL(sourceURL, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
-            ...options,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
-              sourceIfTags: options.sourceConditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            copySourceTags: options.copySourceTags,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      function retryable(opts, task) {
+        if (!task) {
+          task = opts;
+          opts = null;
+        }
+        let arity = opts && opts.arity || task.length;
+        if (isAsync(task)) {
+          arity += 1;
+        }
+        var _task = wrapAsync(task);
+        return initialParams((args, callback) => {
+          if (args.length < arity - 1 || callback == null) {
+            args.push(callback);
+            callback = promiseCallback();
+          }
+          function taskFn(cb) {
+            _task(...args, cb);
+          }
+          if (opts) retry2(opts, taskFn, callback);
+          else retry2(taskFn, callback);
+          return callback[PROMISE_SYMBOL];
         });
       }
-      /**
-       * Uploads the specified block to the block blob's "staging area" to be later
-       * committed by a call to commitBlockList.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block
-       *
-       * @param blockId - A 64-byte value that is base64-encoded
-       * @param body - Data to upload to the staging area.
-       * @param contentLength - Number of bytes to upload.
-       * @param options - Options to the Block Blob Stage Block operation.
-       * @returns Response data for the Block Blob Stage Block operation.
-       */
-      async stageBlock(blockId, body, contentLength, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function series(tasks, callback) {
+        return _parallel(eachOfSeries$1, tasks, callback);
       }
-      /**
-       * The Stage Block From URL operation creates a new block to be committed as part
-       * of a blob where the contents are read from a URL.
-       * This API is available starting in version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url
-       *
-       * @param blockId - A 64-byte value that is base64-encoded
-       * @param sourceURL - Specifies the URL of the blob. The value
-       *                           may be a URL of up to 2 KB in length that specifies a blob.
-       *                           The value should be URL-encoded as it would appear
-       *                           in a request URI. The source blob must either be public
-       *                           or must be authenticated via a shared access signature.
-       *                           If the source blob is public, no authentication is required
-       *                           to perform the operation. Here are some examples of source object URLs:
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param offset - From which position of the blob to download, greater than or equal to 0
-       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
-       * @param options - Options to the Block Blob Stage Block From URL operation.
-       * @returns Response data for the Block Blob Stage Block From URL operation.
-       */
-      async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function some(coll, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
       }
-      /**
-       * Writes a blob by specifying the list of block IDs that make up the blob.
-       * In order to be written as part of a blob, a block must have been successfully written
-       * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to
-       * update a blob by uploading only those blocks that have changed, then committing the new and existing
-       * blocks together. Any blocks not specified in the block list and permanently deleted.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list
-       *
-       * @param blocks -  Array of 64-byte value that is base64-encoded
-       * @param options - Options to the Block Blob Commit Block List operation.
-       * @returns Response data for the Block Blob Commit Block List operation.
-       */
-      async commitBlockList(blocks, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var some$1 = awaitify(some, 3);
+      function someLimit(coll, limit, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-      /**
-       * Returns the list of blocks that have been uploaded as part of a block blob
-       * using the specified block list filter.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list
-       *
-       * @param listType - Specifies whether to return the list of committed blocks,
-       *                                        the list of uncommitted blocks, or both lists together.
-       * @param options - Options to the Block Blob Get Block List operation.
-       * @returns Response data for the Block Blob Get Block List operation.
-       */
-      async getBlockList(listType, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          if (!res.committedBlocks) {
-            res.committedBlocks = [];
-          }
-          if (!res.uncommittedBlocks) {
-            res.uncommittedBlocks = [];
-          }
-          return res;
+      var someLimit$1 = awaitify(someLimit, 4);
+      function someSeries(coll, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var someSeries$1 = awaitify(someSeries, 3);
+      function sortBy(coll, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return map$1(coll, (x, iterCb) => {
+          _iteratee(x, (err, criteria) => {
+            if (err) return iterCb(err);
+            iterCb(err, { value: x, criteria });
+          });
+        }, (err, results) => {
+          if (err) return callback(err);
+          callback(null, results.sort(comparator).map((v) => v.value));
         });
+        function comparator(left, right) {
+          var a = left.criteria, b = right.criteria;
+          return a < b ? -1 : a > b ? 1 : 0;
+        }
       }
-      // High level functions
-      /**
-       * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob.
-       *
-       * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
-       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
-       * to commit the block list.
-       *
-       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
-       * `blobContentType`, enabling the browser to provide
-       * functionality based on file type.
-       *
-       * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView
-       * @param options -
-       */
-      async uploadData(data, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => {
-          if (core_util_1.isNodeLike) {
-            let buffer;
-            if (data instanceof Buffer) {
-              buffer = data;
-            } else if (data instanceof ArrayBuffer) {
-              buffer = Buffer.from(data);
-            } else {
-              data = data;
-              buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
+      var sortBy$1 = awaitify(sortBy, 3);
+      function timeout(asyncFn, milliseconds, info7) {
+        var fn = wrapAsync(asyncFn);
+        return initialParams((args, callback) => {
+          var timedOut = false;
+          var timer;
+          function timeoutCallback() {
+            var name = asyncFn.name || "anonymous";
+            var error3 = new Error('Callback function "' + name + '" timed out.');
+            error3.code = "ETIMEDOUT";
+            if (info7) {
+              error3.info = info7;
             }
-            return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions);
-          } else {
-            const browserBlob = new Blob([data]);
-            return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+            timedOut = true;
+            callback(error3);
           }
+          args.push((...cbArgs) => {
+            if (!timedOut) {
+              callback(...cbArgs);
+              clearTimeout(timer);
+            }
+          });
+          timer = setTimeout(timeoutCallback, milliseconds);
+          fn(...args);
         });
       }
-      /**
-       * ONLY AVAILABLE IN BROWSERS.
-       *
-       * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob.
-       *
-       * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call
-       * {@link commitBlockList} to commit the block list.
-       *
-       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
-       * `blobContentType`, enabling the browser to provide
-       * functionality based on file type.
-       *
-       * @deprecated Use {@link uploadData} instead.
-       *
-       * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView
-       * @param options - Options to upload browser data.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadBrowserData(browserData, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => {
-          const browserBlob = new Blob([browserData]);
-          return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
-        });
-      }
-      /**
-       *
-       * Uploads data to block blob. Requires a bodyFactory as the data source,
-       * which need to return a {@link HttpRequestBody} object with the offset and size provided.
-       *
-       * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
-       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
-       * to commit the block list.
-       *
-       * @param bodyFactory -
-       * @param size - size of the data to upload.
-       * @param options - Options to Upload to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadSeekableInternal(bodyFactory, size, options = {}) {
-        let blockSize = options.blockSize ?? 0;
-        if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
-          throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
+      function range(size) {
+        var result = Array(size);
+        while (size--) {
+          result[size] = size;
         }
-        const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
-        if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
-          throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
+        return result;
+      }
+      function timesLimit(count, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(range(count), limit, _iteratee, callback);
+      }
+      function times(n, iteratee, callback) {
+        return timesLimit(n, Infinity, iteratee, callback);
+      }
+      function timesSeries(n, iteratee, callback) {
+        return timesLimit(n, 1, iteratee, callback);
+      }
+      function transform(coll, accumulator, iteratee, callback) {
+        if (arguments.length <= 3 && typeof accumulator === "function") {
+          callback = iteratee;
+          iteratee = accumulator;
+          accumulator = Array.isArray(coll) ? [] : {};
         }
-        if (blockSize === 0) {
-          if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
-            throw new RangeError(`${size} is too larger to upload to a block blob.`);
-          }
-          if (size > maxSingleShotSize) {
-            blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS);
-            if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) {
-              blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
+        callback = once(callback || promiseCallback());
+        var _iteratee = wrapAsync(iteratee);
+        eachOf$1(coll, (v, k, cb) => {
+          _iteratee(accumulator, v, k, cb);
+        }, (err) => callback(err, accumulator));
+        return callback[PROMISE_SYMBOL];
+      }
+      function tryEach(tasks, callback) {
+        var error3 = null;
+        var result;
+        return eachSeries$1(tasks, (task, taskCb) => {
+          wrapAsync(task)((err, ...args) => {
+            if (err === false) return taskCb(err);
+            if (args.length < 2) {
+              [result] = args;
+            } else {
+              result = args;
             }
-          }
+            error3 = err;
+            taskCb(err ? null : {});
+          });
+        }, () => callback(error3, result));
+      }
+      var tryEach$1 = awaitify(tryEach);
+      function unmemoize(fn) {
+        return (...args) => {
+          return (fn.unmemoized || fn)(...args);
+        };
+      }
+      function whilst(test, iteratee, callback) {
+        callback = onlyOnce(callback);
+        var _fn = wrapAsync(iteratee);
+        var _test = wrapAsync(test);
+        var results = [];
+        function next(err, ...rest) {
+          if (err) return callback(err);
+          results = rest;
+          if (err === false) return;
+          _test(check);
         }
-        if (!options.blobHTTPHeaders) {
-          options.blobHTTPHeaders = {};
+        function check(err, truth) {
+          if (err) return callback(err);
+          if (err === false) return;
+          if (!truth) return callback(null, ...results);
+          _fn(next);
         }
-        if (!options.conditions) {
-          options.conditions = {};
+        return _test(check);
+      }
+      var whilst$1 = awaitify(whilst, 3);
+      function until(test, iteratee, callback) {
+        const _test = wrapAsync(test);
+        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
+      }
+      function waterfall(tasks, callback) {
+        callback = once(callback);
+        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
+        if (!tasks.length) return callback();
+        var taskIndex = 0;
+        function nextTask(args) {
+          var task = wrapAsync(tasks[taskIndex++]);
+          task(...args, onlyOnce(next));
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => {
-          if (size <= maxSingleShotSize) {
-            return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions));
-          }
-          const numBlocks = Math.floor((size - 1) / blockSize) + 1;
-          if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
-            throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`);
-          }
-          const blockList = [];
-          const blockIDPrefix = (0, core_util_2.randomUUID)();
-          let transferProgress = 0;
-          const batch = new Batch_js_1.Batch(options.concurrency);
-          for (let i = 0; i < numBlocks; i++) {
-            batch.addOperation(async () => {
-              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i);
-              const start = blockSize * i;
-              const end = i === numBlocks - 1 ? size : start + blockSize;
-              const contentLength = end - start;
-              blockList.push(blockID);
-              await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, {
-                abortSignal: options.abortSignal,
-                conditions: options.conditions,
-                encryptionScope: options.encryptionScope,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              transferProgress += contentLength;
-              if (options.onProgress) {
-                options.onProgress({
-                  loadedBytes: transferProgress
-                });
-              }
-            });
+        function next(err, ...args) {
+          if (err === false) return;
+          if (err || taskIndex === tasks.length) {
+            return callback(err, ...args);
           }
-          await batch.do();
-          return this.commitBlockList(blockList, updatedOptions);
-        });
+          nextTask(args);
+        }
+        nextTask([]);
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Uploads a local file in blocks to a block blob.
-       *
-       * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
-       * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList
-       * to commit the block list.
-       *
-       * @param filePath - Full path of local file
-       * @param options - Options to Upload to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadFile(filePath, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => {
-          const size = (await (0, utils_js_1.fsStat)(filePath)).size;
-          return this.uploadSeekableInternal((offset, count) => {
-            return () => (0, utils_js_1.fsCreateReadStream)(filePath, {
-              autoClose: true,
-              end: count ? offset + count - 1 : Infinity,
-              start: offset
+      var waterfall$1 = awaitify(waterfall);
+      var index = {
+        apply,
+        applyEach,
+        applyEachSeries,
+        asyncify,
+        auto,
+        autoInject,
+        cargo: cargo$1,
+        cargoQueue: cargo,
+        compose,
+        concat: concat$1,
+        concatLimit: concatLimit$1,
+        concatSeries: concatSeries$1,
+        constant: constant$1,
+        detect: detect$1,
+        detectLimit: detectLimit$1,
+        detectSeries: detectSeries$1,
+        dir,
+        doUntil,
+        doWhilst: doWhilst$1,
+        each,
+        eachLimit: eachLimit$1,
+        eachOf: eachOf$1,
+        eachOfLimit: eachOfLimit$1,
+        eachOfSeries: eachOfSeries$1,
+        eachSeries: eachSeries$1,
+        ensureAsync,
+        every: every$1,
+        everyLimit: everyLimit$1,
+        everySeries: everySeries$1,
+        filter: filter$1,
+        filterLimit: filterLimit$1,
+        filterSeries: filterSeries$1,
+        forever: forever$1,
+        groupBy,
+        groupByLimit: groupByLimit$1,
+        groupBySeries,
+        log,
+        map: map$1,
+        mapLimit: mapLimit$1,
+        mapSeries: mapSeries$1,
+        mapValues,
+        mapValuesLimit: mapValuesLimit$1,
+        mapValuesSeries,
+        memoize,
+        nextTick,
+        parallel,
+        parallelLimit,
+        priorityQueue,
+        queue,
+        race: race$1,
+        reduce: reduce$1,
+        reduceRight,
+        reflect,
+        reflectAll,
+        reject: reject$1,
+        rejectLimit: rejectLimit$1,
+        rejectSeries: rejectSeries$1,
+        retry: retry2,
+        retryable,
+        seq: seq2,
+        series,
+        setImmediate: setImmediate$1,
+        some: some$1,
+        someLimit: someLimit$1,
+        someSeries: someSeries$1,
+        sortBy: sortBy$1,
+        timeout,
+        times,
+        timesLimit,
+        timesSeries,
+        transform,
+        tryEach: tryEach$1,
+        unmemoize,
+        until,
+        waterfall: waterfall$1,
+        whilst: whilst$1,
+        // aliases
+        all: every$1,
+        allLimit: everyLimit$1,
+        allSeries: everySeries$1,
+        any: some$1,
+        anyLimit: someLimit$1,
+        anySeries: someSeries$1,
+        find: detect$1,
+        findLimit: detectLimit$1,
+        findSeries: detectSeries$1,
+        flatMap: concat$1,
+        flatMapLimit: concatLimit$1,
+        flatMapSeries: concatSeries$1,
+        forEach: each,
+        forEachSeries: eachSeries$1,
+        forEachLimit: eachLimit$1,
+        forEachOf: eachOf$1,
+        forEachOfSeries: eachOfSeries$1,
+        forEachOfLimit: eachOfLimit$1,
+        inject: reduce$1,
+        foldl: reduce$1,
+        foldr: reduceRight,
+        select: filter$1,
+        selectLimit: filterLimit$1,
+        selectSeries: filterSeries$1,
+        wrapSync: asyncify,
+        during: whilst$1,
+        doDuring: doWhilst$1
+      };
+      exports3.all = every$1;
+      exports3.allLimit = everyLimit$1;
+      exports3.allSeries = everySeries$1;
+      exports3.any = some$1;
+      exports3.anyLimit = someLimit$1;
+      exports3.anySeries = someSeries$1;
+      exports3.apply = apply;
+      exports3.applyEach = applyEach;
+      exports3.applyEachSeries = applyEachSeries;
+      exports3.asyncify = asyncify;
+      exports3.auto = auto;
+      exports3.autoInject = autoInject;
+      exports3.cargo = cargo$1;
+      exports3.cargoQueue = cargo;
+      exports3.compose = compose;
+      exports3.concat = concat$1;
+      exports3.concatLimit = concatLimit$1;
+      exports3.concatSeries = concatSeries$1;
+      exports3.constant = constant$1;
+      exports3.default = index;
+      exports3.detect = detect$1;
+      exports3.detectLimit = detectLimit$1;
+      exports3.detectSeries = detectSeries$1;
+      exports3.dir = dir;
+      exports3.doDuring = doWhilst$1;
+      exports3.doUntil = doUntil;
+      exports3.doWhilst = doWhilst$1;
+      exports3.during = whilst$1;
+      exports3.each = each;
+      exports3.eachLimit = eachLimit$1;
+      exports3.eachOf = eachOf$1;
+      exports3.eachOfLimit = eachOfLimit$1;
+      exports3.eachOfSeries = eachOfSeries$1;
+      exports3.eachSeries = eachSeries$1;
+      exports3.ensureAsync = ensureAsync;
+      exports3.every = every$1;
+      exports3.everyLimit = everyLimit$1;
+      exports3.everySeries = everySeries$1;
+      exports3.filter = filter$1;
+      exports3.filterLimit = filterLimit$1;
+      exports3.filterSeries = filterSeries$1;
+      exports3.find = detect$1;
+      exports3.findLimit = detectLimit$1;
+      exports3.findSeries = detectSeries$1;
+      exports3.flatMap = concat$1;
+      exports3.flatMapLimit = concatLimit$1;
+      exports3.flatMapSeries = concatSeries$1;
+      exports3.foldl = reduce$1;
+      exports3.foldr = reduceRight;
+      exports3.forEach = each;
+      exports3.forEachLimit = eachLimit$1;
+      exports3.forEachOf = eachOf$1;
+      exports3.forEachOfLimit = eachOfLimit$1;
+      exports3.forEachOfSeries = eachOfSeries$1;
+      exports3.forEachSeries = eachSeries$1;
+      exports3.forever = forever$1;
+      exports3.groupBy = groupBy;
+      exports3.groupByLimit = groupByLimit$1;
+      exports3.groupBySeries = groupBySeries;
+      exports3.inject = reduce$1;
+      exports3.log = log;
+      exports3.map = map$1;
+      exports3.mapLimit = mapLimit$1;
+      exports3.mapSeries = mapSeries$1;
+      exports3.mapValues = mapValues;
+      exports3.mapValuesLimit = mapValuesLimit$1;
+      exports3.mapValuesSeries = mapValuesSeries;
+      exports3.memoize = memoize;
+      exports3.nextTick = nextTick;
+      exports3.parallel = parallel;
+      exports3.parallelLimit = parallelLimit;
+      exports3.priorityQueue = priorityQueue;
+      exports3.queue = queue;
+      exports3.race = race$1;
+      exports3.reduce = reduce$1;
+      exports3.reduceRight = reduceRight;
+      exports3.reflect = reflect;
+      exports3.reflectAll = reflectAll;
+      exports3.reject = reject$1;
+      exports3.rejectLimit = rejectLimit$1;
+      exports3.rejectSeries = rejectSeries$1;
+      exports3.retry = retry2;
+      exports3.retryable = retryable;
+      exports3.select = filter$1;
+      exports3.selectLimit = filterLimit$1;
+      exports3.selectSeries = filterSeries$1;
+      exports3.seq = seq2;
+      exports3.series = series;
+      exports3.setImmediate = setImmediate$1;
+      exports3.some = some$1;
+      exports3.someLimit = someLimit$1;
+      exports3.someSeries = someSeries$1;
+      exports3.sortBy = sortBy$1;
+      exports3.timeout = timeout;
+      exports3.times = times;
+      exports3.timesLimit = timesLimit;
+      exports3.timesSeries = timesSeries;
+      exports3.transform = transform;
+      exports3.tryEach = tryEach$1;
+      exports3.unmemoize = unmemoize;
+      exports3.until = until;
+      exports3.waterfall = waterfall$1;
+      exports3.whilst = whilst$1;
+      exports3.wrapSync = asyncify;
+      Object.defineProperty(exports3, "__esModule", { value: true });
+    }));
+  }
+});
+
+// node_modules/graceful-fs/polyfills.js
+var require_polyfills = __commonJS({
+  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
+    var constants = require("constants");
+    var origCwd = process.cwd;
+    var cwd = null;
+    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
+    process.cwd = function() {
+      if (!cwd)
+        cwd = origCwd.call(process);
+      return cwd;
+    };
+    try {
+      process.cwd();
+    } catch (er) {
+    }
+    if (typeof process.chdir === "function") {
+      chdir = process.chdir;
+      process.chdir = function(d) {
+        cwd = null;
+        chdir.call(process, d);
+      };
+      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
+    }
+    var chdir;
+    module2.exports = patch;
+    function patch(fs18) {
+      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
+        patchLchmod(fs18);
+      }
+      if (!fs18.lutimes) {
+        patchLutimes(fs18);
+      }
+      fs18.chown = chownFix(fs18.chown);
+      fs18.fchown = chownFix(fs18.fchown);
+      fs18.lchown = chownFix(fs18.lchown);
+      fs18.chmod = chmodFix(fs18.chmod);
+      fs18.fchmod = chmodFix(fs18.fchmod);
+      fs18.lchmod = chmodFix(fs18.lchmod);
+      fs18.chownSync = chownFixSync(fs18.chownSync);
+      fs18.fchownSync = chownFixSync(fs18.fchownSync);
+      fs18.lchownSync = chownFixSync(fs18.lchownSync);
+      fs18.chmodSync = chmodFixSync(fs18.chmodSync);
+      fs18.fchmodSync = chmodFixSync(fs18.fchmodSync);
+      fs18.lchmodSync = chmodFixSync(fs18.lchmodSync);
+      fs18.stat = statFix(fs18.stat);
+      fs18.fstat = statFix(fs18.fstat);
+      fs18.lstat = statFix(fs18.lstat);
+      fs18.statSync = statFixSync(fs18.statSync);
+      fs18.fstatSync = statFixSync(fs18.fstatSync);
+      fs18.lstatSync = statFixSync(fs18.lstatSync);
+      if (fs18.chmod && !fs18.lchmod) {
+        fs18.lchmod = function(path16, mode, cb) {
+          if (cb) process.nextTick(cb);
+        };
+        fs18.lchmodSync = function() {
+        };
+      }
+      if (fs18.chown && !fs18.lchown) {
+        fs18.lchown = function(path16, uid, gid, cb) {
+          if (cb) process.nextTick(cb);
+        };
+        fs18.lchownSync = function() {
+        };
+      }
+      if (platform === "win32") {
+        fs18.rename = typeof fs18.rename !== "function" ? fs18.rename : (function(fs$rename) {
+          function rename(from, to, cb) {
+            var start = Date.now();
+            var backoff = 0;
+            fs$rename(from, to, function CB(er) {
+              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
+                setTimeout(function() {
+                  fs18.stat(to, function(stater, st) {
+                    if (stater && stater.code === "ENOENT")
+                      fs$rename(from, to, CB);
+                    else
+                      cb(er);
+                  });
+                }, backoff);
+                if (backoff < 100)
+                  backoff += 10;
+                return;
+              }
+              if (cb) cb(er);
             });
-          }, size, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          });
-        });
+          }
+          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
+          return rename;
+        })(fs18.rename);
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Uploads a Node.js Readable stream into block blob.
-       *
-       * PERFORMANCE IMPROVEMENT TIPS:
-       * * Input stream highWaterMark is better to set a same value with bufferSize
-       *    parameter, which will avoid Buffer.concat() operations.
-       *
-       * @param stream - Node.js Readable stream
-       * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB
-       * @param maxConcurrency -  Max concurrency indicates the max number of buffers that can be allocated,
-       *                                 positive correlation with max uploading concurrency. Default value is 5
-       * @param options - Options to Upload Stream to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadStream(stream2, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) {
-        if (!options.blobHTTPHeaders) {
-          options.blobHTTPHeaders = {};
-        }
-        if (!options.conditions) {
-          options.conditions = {};
+      fs18.read = typeof fs18.read !== "function" ? fs18.read : (function(fs$read) {
+        function read(fd, buffer, offset, length, position, callback_) {
+          var callback;
+          if (callback_ && typeof callback_ === "function") {
+            var eagCounter = 0;
+            callback = function(er, _2, __) {
+              if (er && er.code === "EAGAIN" && eagCounter < 10) {
+                eagCounter++;
+                return fs$read.call(fs18, fd, buffer, offset, length, position, callback);
+              }
+              callback_.apply(this, arguments);
+            };
+          }
+          return fs$read.call(fs18, fd, buffer, offset, length, position, callback);
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => {
-          let blockNum = 0;
-          const blockIDPrefix = (0, core_util_2.randomUUID)();
-          let transferProgress = 0;
-          const blockList = [];
-          const scheduler = new storage_common_1.BufferScheduler(
-            stream2,
-            bufferSize,
-            maxConcurrency,
-            async (body, length) => {
-              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum);
-              blockList.push(blockID);
-              blockNum++;
-              await this.stageBlock(blockID, body, length, {
-                customerProvidedKey: options.customerProvidedKey,
-                conditions: options.conditions,
-                encryptionScope: options.encryptionScope,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              transferProgress += length;
-              if (options.onProgress) {
-                options.onProgress({ loadedBytes: transferProgress });
+        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
+        return read;
+      })(fs18.read);
+      fs18.readSync = typeof fs18.readSync !== "function" ? fs18.readSync : /* @__PURE__ */ (function(fs$readSync) {
+        return function(fd, buffer, offset, length, position) {
+          var eagCounter = 0;
+          while (true) {
+            try {
+              return fs$readSync.call(fs18, fd, buffer, offset, length, position);
+            } catch (er) {
+              if (er.code === "EAGAIN" && eagCounter < 10) {
+                eagCounter++;
+                continue;
               }
-            },
-            // concurrency should set a smaller value than maxConcurrency, which is helpful to
-            // reduce the possibility when a outgoing handler waits for stream data, in
-            // this situation, outgoing handlers are blocked.
-            // Outgoing queue shouldn't be empty.
-            Math.ceil(maxConcurrency / 4 * 3)
+              throw er;
+            }
+          }
+        };
+      })(fs18.readSync);
+      function patchLchmod(fs19) {
+        fs19.lchmod = function(path16, mode, callback) {
+          fs19.open(
+            path16,
+            constants.O_WRONLY | constants.O_SYMLINK,
+            mode,
+            function(err, fd) {
+              if (err) {
+                if (callback) callback(err);
+                return;
+              }
+              fs19.fchmod(fd, mode, function(err2) {
+                fs19.close(fd, function(err22) {
+                  if (callback) callback(err2 || err22);
+                });
+              });
+            }
           );
-          await scheduler.do();
-          return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-    };
-    exports2.BlockBlobClient = BlockBlobClient;
-    var PageBlobClient = class _PageBlobClient extends BlobClient {
-      /**
-       * pageBlobsContext provided by protocol layer.
-       */
-      pageBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url2;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url2 = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+        };
+        fs19.lchmodSync = function(path16, mode) {
+          var fd = fs19.openSync(path16, constants.O_WRONLY | constants.O_SYMLINK, mode);
+          var threw = true;
+          var ret;
+          try {
+            ret = fs19.fchmodSync(fd, mode);
+            threw = false;
+          } finally {
+            if (threw) {
+              try {
+                fs19.closeSync(fd);
+              } catch (er) {
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
             } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              fs19.closeSync(fd);
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url2 = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
-        }
-        super(url2, pipeline);
-        this.pageBlobContext = this.storageClientContext.pageBlob;
+          return ret;
+        };
       }
-      /**
-       * Creates a new PageBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      function patchLutimes(fs19) {
+        if (constants.hasOwnProperty("O_SYMLINK") && fs19.futimes) {
+          fs19.lutimes = function(path16, at, mt, cb) {
+            fs19.open(path16, constants.O_SYMLINK, function(er, fd) {
+              if (er) {
+                if (cb) cb(er);
+                return;
+              }
+              fs19.futimes(fd, at, mt, function(er2) {
+                fs19.close(fd, function(er22) {
+                  if (cb) cb(er2 || er22);
+                });
+              });
+            });
+          };
+          fs19.lutimesSync = function(path16, at, mt) {
+            var fd = fs19.openSync(path16, constants.O_SYMLINK);
+            var ret;
+            var threw = true;
+            try {
+              ret = fs19.futimesSync(fd, at, mt);
+              threw = false;
+            } finally {
+              if (threw) {
+                try {
+                  fs19.closeSync(fd);
+                } catch (er) {
+                }
+              } else {
+                fs19.closeSync(fd);
+              }
+            }
+            return ret;
+          };
+        } else if (fs19.futimes) {
+          fs19.lutimes = function(_a, _b, _c, cb) {
+            if (cb) process.nextTick(cb);
+          };
+          fs19.lutimesSync = function() {
+          };
+        }
       }
-      /**
-       * Creates a page blob of the specified length. Call uploadPages to upload data
-       * data to a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param size - size of the page blob.
-       * @param options - Options to the Page Blob Create operation.
-       * @returns Response data for the Page Blob Create operation.
-       */
-      async create(size, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            blobSequenceNumber: options.blobSequenceNumber,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function chmodFix(orig) {
+        if (!orig) return orig;
+        return function(target, mode, cb) {
+          return orig.call(fs18, target, mode, function(er) {
+            if (chownErOk(er)) er = null;
+            if (cb) cb.apply(this, arguments);
+          });
+        };
       }
-      /**
-       * Creates a page blob of the specified length. Call uploadPages to upload data
-       * data to a page blob. If the blob with the same name already exists, the content
-       * of the existing blob will remain unchanged.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param size - size of the page blob.
-       * @param options -
-       */
-      async createIfNotExists(size, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
+      function chmodFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, mode) {
           try {
-            const conditions = { ifNoneMatch: constants_js_1.ETagAny };
-            const res = (0, utils_common_js_1.assertResponse)(await this.create(size, {
-              ...options,
-              conditions,
-              tracingOptions: updatedOptions.tracingOptions
-            }));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            }
-            throw e;
+            return orig.call(fs18, target, mode);
+          } catch (er) {
+            if (!chownErOk(er)) throw er;
           }
-        });
-      }
-      /**
-       * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
-       *
-       * @param body - Data to upload
-       * @param offset - Offset of destination page blob
-       * @param count - Content length of the body, also number of bytes to be uploaded
-       * @param options - Options to the Page Blob Upload Pages operation.
-       * @returns Response data for the Page Blob Upload Pages operation.
-       */
-      async uploadPages(body, offset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            sequenceNumberAccessConditions: options.conditions,
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+        };
       }
-      /**
-       * The Upload Pages operation writes a range of pages to a page blob where the
-       * contents are read from a URL.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url
-       *
-       * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication
-       * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob
-       * @param destOffset - Offset of destination page blob
-       * @param count - Number of bytes to be uploaded from source page blob
-       * @param options -
-       */
-      async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), {
-            abortSignal: options.abortSignal,
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            leaseAccessConditions: options.conditions,
-            sequenceNumberAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function chownFix(orig) {
+        if (!orig) return orig;
+        return function(target, uid, gid, cb) {
+          return orig.call(fs18, target, uid, gid, function(er) {
+            if (chownErOk(er)) er = null;
+            if (cb) cb.apply(this, arguments);
+          });
+        };
       }
-      /**
-       * Frees the specified pages from the page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
-       *
-       * @param offset - Starting byte position of the pages to clear.
-       * @param count - Number of bytes to clear.
-       * @param options - Options to the Page Blob Clear Pages operation.
-       * @returns Response data for the Page Blob Clear Pages operation.
-       */
-      async clearPages(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            sequenceNumberAccessConditions: options.conditions,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function chownFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, uid, gid) {
+          try {
+            return orig.call(fs18, target, uid, gid);
+          } catch (er) {
+            if (!chownErOk(er)) throw er;
+          }
+        };
       }
-      /**
-       * Returns the list of valid page ranges for a page blob or snapshot of a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns Response data for the Page Blob Get Ranges operation.
-       */
-      async getPageRanges(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
-        });
+      function statFix(orig) {
+        if (!orig) return orig;
+        return function(target, options, cb) {
+          if (typeof options === "function") {
+            cb = options;
+            options = null;
+          }
+          function callback(er, stats) {
+            if (stats) {
+              if (stats.uid < 0) stats.uid += 4294967296;
+              if (stats.gid < 0) stats.gid += 4294967296;
+            }
+            if (cb) cb.apply(this, arguments);
+          }
+          return options ? orig.call(fs18, target, options, callback) : orig.call(fs18, target, callback);
+        };
       }
-      /**
-       * getPageRangesSegment returns a single segment of page ranges starting from the
-       * specified Marker. Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call getPageRangesSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to PageBlob Get Page Ranges Segment operation.
-       */
-      async listPageRangesSegment(offset = 0, count, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function statFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, options) {
+          var stats = options ? orig.call(fs18, target, options) : orig.call(fs18, target);
+          if (stats) {
+            if (stats.uid < 0) stats.uid += 4294967296;
+            if (stats.gid < 0) stats.gid += 4294967296;
+          }
+          return stats;
+        };
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel}
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param marker - A string value that identifies the portion of
-       *                          the get of page ranges to be returned with the next getting operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          getting operation did not return all page ranges remaining within the current page.
-       *                          The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of get
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to List Page Ranges operation.
-       */
-      async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
-        let getPageRangeItemSegmentsResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
-            marker = getPageRangeItemSegmentsResponse.continuationToken;
-            yield await getPageRangeItemSegmentsResponse;
-          } while (marker);
+      function chownErOk(er) {
+        if (!er)
+          return true;
+        if (er.code === "ENOSYS")
+          return true;
+        var nonroot = !process.getuid || process.getuid() !== 0;
+        if (nonroot) {
+          if (er.code === "EINVAL" || er.code === "EPERM")
+            return true;
         }
+        return false;
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to List Page Ranges operation.
-       */
-      async *listPageRangeItems(offset = 0, count, options = {}) {
-        let marker;
-        for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
-          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+    }
+  }
+});
+
+// node_modules/graceful-fs/legacy-streams.js
+var require_legacy_streams = __commonJS({
+  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    module2.exports = legacy;
+    function legacy(fs18) {
+      return {
+        ReadStream,
+        WriteStream
+      };
+      function ReadStream(path16, options) {
+        if (!(this instanceof ReadStream)) return new ReadStream(path16, options);
+        Stream.call(this);
+        var self2 = this;
+        this.path = path16;
+        this.fd = null;
+        this.readable = true;
+        this.paused = false;
+        this.flags = "r";
+        this.mode = 438;
+        this.bufferSize = 64 * 1024;
+        options = options || {};
+        var keys = Object.keys(options);
+        for (var index = 0, length = keys.length; index < length; index++) {
+          var key = keys[index];
+          this[key] = options[key];
         }
-      }
-      /**
-       * Returns an async iterable iterator to list of page ranges for a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       *  .byPage() returns an async iterable iterator to list of page ranges for a page blob.
-       *
-       * ```ts snippet:ClientsListPageBlobs
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const pageRange of pageBlobClient.listPageRanges()) {
-       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = pageBlobClient.listPageRanges();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
-       *   for (const pageRange of page.pageRange || []) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listPageRanges(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        const iter = this.listPageRangeItems(offset, count, options);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...options
-            });
+        if (this.encoding) this.setEncoding(this.encoding);
+        if (this.start !== void 0) {
+          if ("number" !== typeof this.start) {
+            throw TypeError("start must be a Number");
           }
-        };
-      }
-      /**
-       * Gets the collection of page ranges that differ between a specified snapshot and this page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page blob
-       * @param count - Number of bytes to get ranges diff.
-       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       * @returns Response data for the Page Blob Get Page Range Diff operation.
-       */
-      async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
-          const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            prevsnapshot: prevSnapshot,
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result);
-        });
-      }
-      /**
-       * getPageRangesDiffSegment returns a single segment of page ranges starting from the
-       * specified Marker for difference between previous snapshot and the target page blob.
-       * Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call getPageRangesDiffSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param marker - A string value that identifies the portion of the get to be returned with the next get operation.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options?.abortSignal,
-            leaseAccessConditions: options?.conditions,
-            modifiedAccessConditions: {
-              ...options?.conditions,
-              ifTags: options?.conditions?.tagConditions
-            },
-            prevsnapshot: prevSnapshotOrUrl,
-            range: (0, Range_js_1.rangeToString)({
-              offset,
-              count
-            }),
-            marker,
-            maxPageSize: options?.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel}
-       *
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param marker - A string value that identifies the portion of
-       *                          the get of page ranges to be returned with the next getting operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          getting operation did not return all page ranges remaining within the current page.
-       *                          The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of get
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
-        let getPageRangeItemSegmentsResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
-            marker = getPageRangeItemSegmentsResponse.continuationToken;
-            yield await getPageRangeItemSegmentsResponse;
-          } while (marker);
+          if (this.end === void 0) {
+            this.end = Infinity;
+          } else if ("number" !== typeof this.end) {
+            throw TypeError("end must be a Number");
+          }
+          if (this.start > this.end) {
+            throw new Error("start must be <= end");
+          }
+          this.pos = this.start;
         }
-      }
-      /**
-       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
-        let marker;
-        for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
-          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+        if (this.fd !== null) {
+          process.nextTick(function() {
+            self2._read();
+          });
+          return;
         }
-      }
-      /**
-       * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       *  .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
-       *
-       * ```ts snippet:ClientsListPageBlobsDiff
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
-       *
-       * const offset = 0;
-       * const count = 1024;
-       * const previousSnapshot = "";
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) {
-       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot);
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const pageRange of page.pageRange || []) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
-        options.conditions = options.conditions || {};
-        const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
-          ...options
-        });
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...options
-            });
+        fs18.open(this.path, this.flags, this.mode, function(err, fd) {
+          if (err) {
+            self2.emit("error", err);
+            self2.readable = false;
+            return;
           }
-        };
-      }
-      /**
-       * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page blob
-       * @param count - Number of bytes to get ranges diff.
-       * @param prevSnapshotUrl - URL of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       * @returns Response data for the Page Blob Get Page Range Diff operation.
-       */
-      async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            prevSnapshotUrl,
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
-        });
-      }
-      /**
-       * Resizes the page blob to the specified size (which must be a multiple of 512).
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param size - Target size
-       * @param options - Options to the Page Blob Resize operation.
-       * @returns Response data for the Page Blob Resize operation.
-       */
-      async resize(size, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Sets a page blob's sequence number.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number.
-       * @param sequenceNumber - Required if sequenceNumberAction is max or update
-       * @param options - Options to the Page Blob Update Sequence Number operation.
-       * @returns Response data for the Page Blob Update Sequence Number operation.
-       */
-      async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
-            abortSignal: options.abortSignal,
-            blobSequenceNumber: sequenceNumber,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+          self2.fd = fd;
+          self2.emit("open", fd);
+          self2._read();
         });
       }
-      /**
-       * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob.
-       * The snapshot is copied such that only the differential changes between the previously
-       * copied snapshot are transferred to the destination.
-       * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual.
-       * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob
-       * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots
-       *
-       * @param copySource - Specifies the name of the source page blob snapshot. For example,
-       *                            https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param options - Options to the Page Blob Copy Incremental operation.
-       * @returns Response data for the Page Blob Copy Incremental operation.
-       */
-      async startCopyIncremental(copySource, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function WriteStream(path16, options) {
+        if (!(this instanceof WriteStream)) return new WriteStream(path16, options);
+        Stream.call(this);
+        this.path = path16;
+        this.fd = null;
+        this.writable = true;
+        this.flags = "w";
+        this.encoding = "binary";
+        this.mode = 438;
+        this.bytesWritten = 0;
+        options = options || {};
+        var keys = Object.keys(options);
+        for (var index = 0, length = keys.length; index < length; index++) {
+          var key = keys[index];
+          this[key] = options[key];
+        }
+        if (this.start !== void 0) {
+          if ("number" !== typeof this.start) {
+            throw TypeError("start must be a Number");
+          }
+          if (this.start < 0) {
+            throw new Error("start must be >= zero");
+          }
+          this.pos = this.start;
+        }
+        this.busy = false;
+        this._queue = [];
+        if (this.fd === null) {
+          this._open = fs18.open;
+          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
+          this.flush();
+        }
       }
-    };
-    exports2.PageBlobClient = PageBlobClient;
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js
-var require_BatchUtils = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) {
+// node_modules/graceful-fs/clone.js
+var require_clone = __commonJS({
+  "node_modules/graceful-fs/clone.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getBodyAsText = getBodyAsText;
-    exports2.utf8ByteLength = utf8ByteLength;
-    var utils_js_1 = require_utils7();
-    var constants_js_1 = require_constants15();
-    async function getBodyAsText(batchResponse) {
-      let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES);
-      const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer);
-      buffer = buffer.slice(0, responseLength);
-      return buffer.toString();
-    }
-    function utf8ByteLength(str2) {
-      return Buffer.byteLength(str2);
+    module2.exports = clone;
+    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
+      return obj.__proto__;
+    };
+    function clone(obj) {
+      if (obj === null || typeof obj !== "object")
+        return obj;
+      if (obj instanceof Object)
+        var copy = { __proto__: getPrototypeOf(obj) };
+      else
+        var copy = /* @__PURE__ */ Object.create(null);
+      Object.getOwnPropertyNames(obj).forEach(function(key) {
+        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
+      });
+      return copy;
     }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js
-var require_BatchResponseParser = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BatchResponseParser = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_http_compat_1 = require_commonjs9();
-    var constants_js_1 = require_constants15();
-    var BatchUtils_js_1 = require_BatchUtils();
-    var log_js_1 = require_log5();
-    var HTTP_HEADER_DELIMITER = ": ";
-    var SPACE_DELIMITER = " ";
-    var NOT_FOUND = -1;
-    var BatchResponseParser = class {
-      batchResponse;
-      responseBatchBoundary;
-      perResponsePrefix;
-      batchResponseEnding;
-      subRequests;
-      constructor(batchResponse, subRequests) {
-        if (!batchResponse || !batchResponse.contentType) {
-          throw new RangeError("batchResponse is malformed or doesn't contain valid content-type.");
+// node_modules/graceful-fs/graceful-fs.js
+var require_graceful_fs = __commonJS({
+  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
+    var fs18 = require("fs");
+    var polyfills = require_polyfills();
+    var legacy = require_legacy_streams();
+    var clone = require_clone();
+    var util = require("util");
+    var gracefulQueue;
+    var previousSymbol;
+    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
+      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
+      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
+    } else {
+      gracefulQueue = "___graceful-fs.queue";
+      previousSymbol = "___graceful-fs.previous";
+    }
+    function noop3() {
+    }
+    function publishQueue(context3, queue2) {
+      Object.defineProperty(context3, gracefulQueue, {
+        get: function() {
+          return queue2;
         }
-        if (!subRequests || subRequests.size === 0) {
-          throw new RangeError("Invalid state: subRequests is not provided or size is 0.");
+      });
+    }
+    var debug5 = noop3;
+    if (util.debuglog)
+      debug5 = util.debuglog("gfs4");
+    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
+      debug5 = function() {
+        var m = util.format.apply(util, arguments);
+        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
+        console.error(m);
+      };
+    if (!fs18[gracefulQueue]) {
+      queue = global[gracefulQueue] || [];
+      publishQueue(fs18, queue);
+      fs18.close = (function(fs$close) {
+        function close(fd, cb) {
+          return fs$close.call(fs18, fd, function(err) {
+            if (!err) {
+              resetQueue();
+            }
+            if (typeof cb === "function")
+              cb.apply(this, arguments);
+          });
         }
-        this.batchResponse = batchResponse;
-        this.subRequests = subRequests;
-        this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1];
-        this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`;
-        this.batchResponseEnding = `--${this.responseBatchBoundary}--`;
-      }
-      // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response
-      async parseBatchResponse() {
-        if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) {
-          throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`);
+        Object.defineProperty(close, previousSymbol, {
+          value: fs$close
+        });
+        return close;
+      })(fs18.close);
+      fs18.closeSync = (function(fs$closeSync) {
+        function closeSync(fd) {
+          fs$closeSync.apply(fs18, arguments);
+          resetQueue();
         }
-        const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse);
-        const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1);
-        const subResponseCount = subResponses.length;
-        if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) {
-          throw new Error("Invalid state: sub responses' count is not equal to sub requests' count.");
+        Object.defineProperty(closeSync, previousSymbol, {
+          value: fs$closeSync
+        });
+        return closeSync;
+      })(fs18.closeSync);
+      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
+        process.on("exit", function() {
+          debug5(fs18[gracefulQueue]);
+          require("assert").equal(fs18[gracefulQueue].length, 0);
+        });
+      }
+    }
+    var queue;
+    if (!global[gracefulQueue]) {
+      publishQueue(global, fs18[gracefulQueue]);
+    }
+    module2.exports = patch(clone(fs18));
+    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs18.__patched) {
+      module2.exports = patch(fs18);
+      fs18.__patched = true;
+    }
+    function patch(fs19) {
+      polyfills(fs19);
+      fs19.gracefulify = patch;
+      fs19.createReadStream = createReadStream2;
+      fs19.createWriteStream = createWriteStream3;
+      var fs$readFile = fs19.readFile;
+      fs19.readFile = readFile;
+      function readFile(path16, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$readFile(path16, options, cb);
+        function go$readFile(path17, options2, cb2, startTime) {
+          return fs$readFile(path17, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$readFile, [path17, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-        const deserializedSubResponses = new Array(subResponseCount);
-        let subResponsesSucceededCount = 0;
-        let subResponsesFailedCount = 0;
-        for (let index = 0; index < subResponseCount; index++) {
-          const subResponse = subResponses[index];
-          const deserializedSubResponse = {};
-          deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)());
-          const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`);
-          let subRespHeaderStartFound = false;
-          let subRespHeaderEndFound = false;
-          let subRespFailed = false;
-          let contentId = NOT_FOUND;
-          for (const responseLine of responseLines) {
-            if (!subRespHeaderStartFound) {
-              if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) {
-                contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]);
-              }
-              if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) {
-                subRespHeaderStartFound = true;
-                const tokens = responseLine.split(SPACE_DELIMITER);
-                deserializedSubResponse.status = parseInt(tokens[1]);
-                deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER);
-              }
-              continue;
+      }
+      var fs$writeFile = fs19.writeFile;
+      fs19.writeFile = writeFile;
+      function writeFile(path16, data, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$writeFile(path16, data, options, cb);
+        function go$writeFile(path17, data2, options2, cb2, startTime) {
+          return fs$writeFile(path17, data2, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$writeFile, [path17, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
             }
-            if (responseLine.trim() === "") {
-              if (!subRespHeaderEndFound) {
-                subRespHeaderEndFound = true;
-              }
-              continue;
+          });
+        }
+      }
+      var fs$appendFile = fs19.appendFile;
+      if (fs$appendFile)
+        fs19.appendFile = appendFile;
+      function appendFile(path16, data, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$appendFile(path16, data, options, cb);
+        function go$appendFile(path17, data2, options2, cb2, startTime) {
+          return fs$appendFile(path17, data2, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$appendFile, [path17, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
             }
-            if (!subRespHeaderEndFound) {
-              if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) {
-                throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`);
-              }
-              const tokens = responseLine.split(HTTP_HEADER_DELIMITER);
-              deserializedSubResponse.headers.set(tokens[0], tokens[1]);
-              if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) {
-                deserializedSubResponse.errorCode = tokens[1];
-                subRespFailed = true;
-              }
-            } else {
-              if (!deserializedSubResponse.bodyAsText) {
-                deserializedSubResponse.bodyAsText = "";
-              }
-              deserializedSubResponse.bodyAsText += responseLine;
+          });
+        }
+      }
+      var fs$copyFile = fs19.copyFile;
+      if (fs$copyFile)
+        fs19.copyFile = copyFile2;
+      function copyFile2(src, dest, flags, cb) {
+        if (typeof flags === "function") {
+          cb = flags;
+          flags = 0;
+        }
+        return go$copyFile(src, dest, flags, cb);
+        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
+          return fs$copyFile(src2, dest2, flags2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
             }
-          }
-          if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) {
-            deserializedSubResponse._request = this.subRequests.get(contentId);
-            deserializedSubResponses[contentId] = deserializedSubResponse;
-          } else {
-            log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`);
-          }
-          if (subRespFailed) {
-            subResponsesFailedCount++;
-          } else {
-            subResponsesSucceededCount++;
-          }
+          });
         }
-        return {
-          subResponses: deserializedSubResponses,
-          subResponsesSucceededCount,
-          subResponsesFailedCount
+      }
+      var fs$readdir = fs19.readdir;
+      fs19.readdir = readdir;
+      var noReaddirOptionVersions = /^v[0-5]\./;
+      function readdir(path16, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path17, options2, cb2, startTime) {
+          return fs$readdir(path17, fs$readdirCallback(
+            path17,
+            options2,
+            cb2,
+            startTime
+          ));
+        } : function go$readdir2(path17, options2, cb2, startTime) {
+          return fs$readdir(path17, options2, fs$readdirCallback(
+            path17,
+            options2,
+            cb2,
+            startTime
+          ));
         };
+        return go$readdir(path16, options, cb);
+        function fs$readdirCallback(path17, options2, cb2, startTime) {
+          return function(err, files) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([
+                go$readdir,
+                [path17, options2, cb2],
+                err,
+                startTime || Date.now(),
+                Date.now()
+              ]);
+            else {
+              if (files && files.sort)
+                files.sort();
+              if (typeof cb2 === "function")
+                cb2.call(this, err, files);
+            }
+          };
+        }
       }
-    };
-    exports2.BatchResponseParser = BatchResponseParser;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js
-var require_Mutex = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Mutex = void 0;
-    var MutexLockStatus;
-    (function(MutexLockStatus2) {
-      MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED";
-      MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED";
-    })(MutexLockStatus || (MutexLockStatus = {}));
-    var Mutex = class {
-      /**
-       * Lock for a specific key. If the lock has been acquired by another customer, then
-       * will wait until getting the lock.
-       *
-       * @param key - lock key
-       */
-      static async lock(key) {
-        return new Promise((resolve8) => {
-          if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) {
-            this.keys[key] = MutexLockStatus.LOCKED;
-            resolve8();
+      if (process.version.substr(0, 4) === "v0.8") {
+        var legStreams = legacy(fs19);
+        ReadStream = legStreams.ReadStream;
+        WriteStream = legStreams.WriteStream;
+      }
+      var fs$ReadStream = fs19.ReadStream;
+      if (fs$ReadStream) {
+        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
+        ReadStream.prototype.open = ReadStream$open;
+      }
+      var fs$WriteStream = fs19.WriteStream;
+      if (fs$WriteStream) {
+        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
+        WriteStream.prototype.open = WriteStream$open;
+      }
+      Object.defineProperty(fs19, "ReadStream", {
+        get: function() {
+          return ReadStream;
+        },
+        set: function(val) {
+          ReadStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      Object.defineProperty(fs19, "WriteStream", {
+        get: function() {
+          return WriteStream;
+        },
+        set: function(val) {
+          WriteStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      var FileReadStream = ReadStream;
+      Object.defineProperty(fs19, "FileReadStream", {
+        get: function() {
+          return FileReadStream;
+        },
+        set: function(val) {
+          FileReadStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      var FileWriteStream = WriteStream;
+      Object.defineProperty(fs19, "FileWriteStream", {
+        get: function() {
+          return FileWriteStream;
+        },
+        set: function(val) {
+          FileWriteStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      function ReadStream(path16, options) {
+        if (this instanceof ReadStream)
+          return fs$ReadStream.apply(this, arguments), this;
+        else
+          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+      }
+      function ReadStream$open() {
+        var that = this;
+        open(that.path, that.flags, that.mode, function(err, fd) {
+          if (err) {
+            if (that.autoClose)
+              that.destroy();
+            that.emit("error", err);
           } else {
-            this.onUnlockEvent(key, () => {
-              this.keys[key] = MutexLockStatus.LOCKED;
-              resolve8();
-            });
+            that.fd = fd;
+            that.emit("open", fd);
+            that.read();
           }
         });
       }
-      /**
-       * Unlock a key.
-       *
-       * @param key -
-       */
-      static async unlock(key) {
-        return new Promise((resolve8) => {
-          if (this.keys[key] === MutexLockStatus.LOCKED) {
-            this.emitUnlockEvent(key);
+      function WriteStream(path16, options) {
+        if (this instanceof WriteStream)
+          return fs$WriteStream.apply(this, arguments), this;
+        else
+          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      }
+      function WriteStream$open() {
+        var that = this;
+        open(that.path, that.flags, that.mode, function(err, fd) {
+          if (err) {
+            that.destroy();
+            that.emit("error", err);
+          } else {
+            that.fd = fd;
+            that.emit("open", fd);
           }
-          delete this.keys[key];
-          resolve8();
         });
       }
-      static keys = {};
-      static listeners = {};
-      static onUnlockEvent(key, handler2) {
-        if (this.listeners[key] === void 0) {
-          this.listeners[key] = [handler2];
-        } else {
-          this.listeners[key].push(handler2);
-        }
+      function createReadStream2(path16, options) {
+        return new fs19.ReadStream(path16, options);
       }
-      static emitUnlockEvent(key) {
-        if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) {
-          const handler2 = this.listeners[key].shift();
-          setImmediate(() => {
-            handler2.call(this);
+      function createWriteStream3(path16, options) {
+        return new fs19.WriteStream(path16, options);
+      }
+      var fs$open = fs19.open;
+      fs19.open = open;
+      function open(path16, flags, mode, cb) {
+        if (typeof mode === "function")
+          cb = mode, mode = null;
+        return go$open(path16, flags, mode, cb);
+        function go$open(path17, flags2, mode2, cb2, startTime) {
+          return fs$open(path17, flags2, mode2, function(err, fd) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$open, [path17, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
           });
         }
       }
-    };
-    exports2.Mutex = Mutex;
+      return fs19;
+    }
+    function enqueue(elem) {
+      debug5("ENQUEUE", elem[0].name, elem[1]);
+      fs18[gracefulQueue].push(elem);
+      retry2();
+    }
+    var retryTimer;
+    function resetQueue() {
+      var now = Date.now();
+      for (var i = 0; i < fs18[gracefulQueue].length; ++i) {
+        if (fs18[gracefulQueue][i].length > 2) {
+          fs18[gracefulQueue][i][3] = now;
+          fs18[gracefulQueue][i][4] = now;
+        }
+      }
+      retry2();
+    }
+    function retry2() {
+      clearTimeout(retryTimer);
+      retryTimer = void 0;
+      if (fs18[gracefulQueue].length === 0)
+        return;
+      var elem = fs18[gracefulQueue].shift();
+      var fn = elem[0];
+      var args = elem[1];
+      var err = elem[2];
+      var startTime = elem[3];
+      var lastTime = elem[4];
+      if (startTime === void 0) {
+        debug5("RETRY", fn.name, args);
+        fn.apply(null, args);
+      } else if (Date.now() - startTime >= 6e4) {
+        debug5("TIMEOUT", fn.name, args);
+        var cb = args.pop();
+        if (typeof cb === "function")
+          cb.call(null, err);
+      } else {
+        var sinceAttempt = Date.now() - lastTime;
+        var sinceStart = Math.max(lastTime - startTime, 1);
+        var desiredDelay = Math.min(sinceStart * 1.2, 100);
+        if (sinceAttempt >= desiredDelay) {
+          debug5("RETRY", fn.name, args);
+          fn.apply(null, args.concat([startTime]));
+        } else {
+          fs18[gracefulQueue].push(elem);
+        }
+      }
+      if (retryTimer === void 0) {
+        retryTimer = setTimeout(retry2, 0);
+      }
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js
-var require_BlobBatch = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) {
+// node_modules/archiver-utils/node_modules/is-stream/index.js
+var require_is_stream = __commonJS({
+  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBatch = void 0;
-    var core_util_1 = require_commonjs4();
-    var core_auth_1 = require_commonjs7();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_2 = require_commonjs4();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var Clients_js_1 = require_Clients();
-    var Mutex_js_1 = require_Mutex();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var core_xml_1 = require_commonjs10();
-    var constants_js_1 = require_constants15();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var tracing_js_1 = require_tracing();
-    var core_client_1 = require_commonjs8();
-    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
-    var BlobBatch = class {
-      batchRequest;
-      batch = "batch";
-      batchType;
-      constructor() {
-        this.batchRequest = new InnerBatchRequest();
-      }
-      /**
-       * Get the value of Content-Type for a batch request.
-       * The value must be multipart/mixed with a batch boundary.
-       * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252
-       */
-      getMultiPartContentType() {
-        return this.batchRequest.getMultipartContentType();
-      }
-      /**
-       * Get assembled HTTP request body for sub requests.
-       */
-      getHttpRequestBody() {
-        return this.batchRequest.getHttpRequestBody();
-      }
-      /**
-       * Get sub requests that are added into the batch request.
-       */
-      getSubRequests() {
-        return this.batchRequest.getSubRequests();
-      }
-      async addSubRequestInternal(subRequest, assembleSubRequestFunc) {
-        await Mutex_js_1.Mutex.lock(this.batch);
-        try {
-          this.batchRequest.preAddSubRequest(subRequest);
-          await assembleSubRequestFunc();
-          this.batchRequest.postAddSubRequest(subRequest);
-        } finally {
-          await Mutex_js_1.Mutex.unlock(this.batch);
-        }
-      }
-      setBatchType(batchType) {
-        if (!this.batchType) {
-          this.batchType = batchType;
-        }
-        if (this.batchType !== batchType) {
-          throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`);
-        }
+    var isStream = (stream2) => stream2 !== null && typeof stream2 === "object" && typeof stream2.pipe === "function";
+    isStream.writable = (stream2) => isStream(stream2) && stream2.writable !== false && typeof stream2._write === "function" && typeof stream2._writableState === "object";
+    isStream.readable = (stream2) => isStream(stream2) && stream2.readable !== false && typeof stream2._read === "function" && typeof stream2._readableState === "object";
+    isStream.duplex = (stream2) => isStream.writable(stream2) && isStream.readable(stream2);
+    isStream.transform = (stream2) => isStream.duplex(stream2) && typeof stream2._transform === "function";
+    module2.exports = isStream;
+  }
+});
+
+// node_modules/process-nextick-args/index.js
+var require_process_nextick_args = __commonJS({
+  "node_modules/process-nextick-args/index.js"(exports2, module2) {
+    "use strict";
+    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
+      module2.exports = { nextTick };
+    } else {
+      module2.exports = process;
+    }
+    function nextTick(fn, arg1, arg2, arg3) {
+      if (typeof fn !== "function") {
+        throw new TypeError('"callback" argument must be a function');
       }
-      async deleteBlob(urlOrBlobClient, credentialOrOptions, options) {
-        let url2;
-        let credential;
-        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) {
-          url2 = urlOrBlobClient;
-          credential = credentialOrOptions;
-        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
-          url2 = urlOrBlobClient.url;
-          credential = urlOrBlobClient.credential;
-          options = credentialOrOptions;
-        } else {
-          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
-        }
-        if (!options) {
-          options = {};
-        }
-        return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => {
-          this.setBatchType("delete");
-          await this.addSubRequestInternal({
-            url: url2,
-            credential
-          }, async () => {
-            await new Clients_js_1.BlobClient(url2, this.batchRequest.createPipeline(credential)).delete(updatedOptions);
+      var len = arguments.length;
+      var args, i;
+      switch (len) {
+        case 0:
+        case 1:
+          return process.nextTick(fn);
+        case 2:
+          return process.nextTick(function afterTickOne() {
+            fn.call(null, arg1);
           });
-        });
-      }
-      async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) {
-        let url2;
-        let credential;
-        let tier;
-        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) {
-          url2 = urlOrBlobClient;
-          credential = credentialOrTier;
-          tier = tierOrOptions;
-        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
-          url2 = urlOrBlobClient.url;
-          credential = urlOrBlobClient.credential;
-          tier = credentialOrTier;
-          options = tierOrOptions;
-        } else {
-          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
-        }
-        if (!options) {
-          options = {};
-        }
-        return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => {
-          this.setBatchType("setAccessTier");
-          await this.addSubRequestInternal({
-            url: url2,
-            credential
-          }, async () => {
-            await new Clients_js_1.BlobClient(url2, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions);
+        case 3:
+          return process.nextTick(function afterTickTwo() {
+            fn.call(null, arg1, arg2);
+          });
+        case 4:
+          return process.nextTick(function afterTickThree() {
+            fn.call(null, arg1, arg2, arg3);
+          });
+        default:
+          args = new Array(len - 1);
+          i = 0;
+          while (i < args.length) {
+            args[i++] = arguments[i];
+          }
+          return process.nextTick(function afterTick() {
+            fn.apply(null, args);
           });
-        });
       }
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/isarray/index.js
+var require_isarray = __commonJS({
+  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
+    var toString3 = {}.toString;
+    module2.exports = Array.isArray || function(arr) {
+      return toString3.call(arr) == "[object Array]";
     };
-    exports2.BlobBatch = BlobBatch;
-    var InnerBatchRequest = class {
-      operationCount;
-      body;
-      subRequests;
-      boundary;
-      subRequestPrefix;
-      multipartContentType;
-      batchRequestEnding;
-      constructor() {
-        this.operationCount = 0;
-        this.body = "";
-        const tempGuid = (0, core_util_1.randomUUID)();
-        this.boundary = `batch_${tempGuid}`;
-        this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`;
-        this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`;
-        this.batchRequestEnding = `--${this.boundary}--`;
-        this.subRequests = /* @__PURE__ */ new Map();
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
+var require_stream = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
+    module2.exports = require("stream");
+  }
+});
+
+// node_modules/lazystream/node_modules/safe-buffer/index.js
+var require_safe_buffer = __commonJS({
+  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
+    var buffer = require("buffer");
+    var Buffer2 = buffer.Buffer;
+    function copyProps(src, dst) {
+      for (var key in src) {
+        dst[key] = src[key];
       }
-      /**
-       * Create pipeline to assemble sub requests. The idea here is to use existing
-       * credential and serialization/deserialization components, with additional policies to
-       * filter unnecessary headers, assemble sub requests into request's body
-       * and intercept request from going to wire.
-       * @param credential -  Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
-       */
-      createPipeline(credential) {
-        const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)();
-        corePipeline.addPolicy((0, core_client_1.serializationPolicy)({
-          stringifyXML: core_xml_1.stringifyXML,
-          serializerOptions: {
-            xml: {
-              xmlCharKey: "#"
-            }
-          }
-        }), { phase: "Serialize" });
-        corePipeline.addPolicy(batchHeaderFilterPolicy());
-        corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" });
-        if ((0, core_auth_1.isTokenCredential)(credential)) {
-          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-            credential,
-            scopes: constants_js_1.StorageOAuthScopes,
-            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
-          }), { phase: "Sign" });
-        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
-            accountName: credential.accountName,
-            accountKey: credential.accountKey
-          }), { phase: "Sign" });
-        }
-        const pipeline = new Pipeline_js_1.Pipeline([]);
-        pipeline._credential = credential;
-        pipeline._corePipeline = corePipeline;
-        return pipeline;
+    }
+    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
+      module2.exports = buffer;
+    } else {
+      copyProps(buffer, exports2);
+      exports2.Buffer = SafeBuffer;
+    }
+    function SafeBuffer(arg, encodingOrOffset, length) {
+      return Buffer2(arg, encodingOrOffset, length);
+    }
+    copyProps(Buffer2, SafeBuffer);
+    SafeBuffer.from = function(arg, encodingOrOffset, length) {
+      if (typeof arg === "number") {
+        throw new TypeError("Argument must not be a number");
       }
-      appendSubRequestToBody(request2) {
-        this.body += [
-          this.subRequestPrefix,
-          // sub request constant prefix
-          `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`,
-          // sub request's content ID
-          "",
-          // empty line after sub request's content ID
-          `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}`
-          // sub request start line with method
-        ].join(constants_js_1.HTTP_LINE_ENDING);
-        for (const [name, value] of request2.headers) {
-          this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`;
-        }
-        this.body += constants_js_1.HTTP_LINE_ENDING;
+      return Buffer2(arg, encodingOrOffset, length);
+    };
+    SafeBuffer.alloc = function(size, fill, encoding) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
       }
-      preAddSubRequest(subRequest) {
-        if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) {
-          throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`);
-        }
-        const path16 = (0, utils_common_js_1.getURLPath)(subRequest.url);
-        if (!path16 || path16 === "") {
-          throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`);
+      var buf = Buffer2(size);
+      if (fill !== void 0) {
+        if (typeof encoding === "string") {
+          buf.fill(fill, encoding);
+        } else {
+          buf.fill(fill);
         }
+      } else {
+        buf.fill(0);
       }
-      postAddSubRequest(subRequest) {
-        this.subRequests.set(this.operationCount, subRequest);
-        this.operationCount++;
+      return buf;
+    };
+    SafeBuffer.allocUnsafe = function(size) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
       }
-      // Return the http request body with assembling the ending line to the sub request body.
-      getHttpRequestBody() {
-        return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`;
+      return Buffer2(size);
+    };
+    SafeBuffer.allocUnsafeSlow = function(size) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
       }
-      getMultipartContentType() {
-        return this.multipartContentType;
+      return buffer.SlowBuffer(size);
+    };
+  }
+});
+
+// node_modules/core-util-is/lib/util.js
+var require_util20 = __commonJS({
+  "node_modules/core-util-is/lib/util.js"(exports2) {
+    function isArray(arg) {
+      if (Array.isArray) {
+        return Array.isArray(arg);
       }
-      getSubRequests() {
-        return this.subRequests;
+      return objectToString(arg) === "[object Array]";
+    }
+    exports2.isArray = isArray;
+    function isBoolean2(arg) {
+      return typeof arg === "boolean";
+    }
+    exports2.isBoolean = isBoolean2;
+    function isNull2(arg) {
+      return arg === null;
+    }
+    exports2.isNull = isNull2;
+    function isNullOrUndefined(arg) {
+      return arg == null;
+    }
+    exports2.isNullOrUndefined = isNullOrUndefined;
+    function isNumber(arg) {
+      return typeof arg === "number";
+    }
+    exports2.isNumber = isNumber;
+    function isString(arg) {
+      return typeof arg === "string";
+    }
+    exports2.isString = isString;
+    function isSymbol(arg) {
+      return typeof arg === "symbol";
+    }
+    exports2.isSymbol = isSymbol;
+    function isUndefined(arg) {
+      return arg === void 0;
+    }
+    exports2.isUndefined = isUndefined;
+    function isRegExp(re) {
+      return objectToString(re) === "[object RegExp]";
+    }
+    exports2.isRegExp = isRegExp;
+    function isObject2(arg) {
+      return typeof arg === "object" && arg !== null;
+    }
+    exports2.isObject = isObject2;
+    function isDate(d) {
+      return objectToString(d) === "[object Date]";
+    }
+    exports2.isDate = isDate;
+    function isError(e) {
+      return objectToString(e) === "[object Error]" || e instanceof Error;
+    }
+    exports2.isError = isError;
+    function isFunction(arg) {
+      return typeof arg === "function";
+    }
+    exports2.isFunction = isFunction;
+    function isPrimitive(arg) {
+      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
+      typeof arg === "undefined";
+    }
+    exports2.isPrimitive = isPrimitive;
+    exports2.isBuffer = require("buffer").Buffer.isBuffer;
+    function objectToString(o) {
+      return Object.prototype.toString.call(o);
+    }
+  }
+});
+
+// node_modules/inherits/inherits_browser.js
+var require_inherits_browser = __commonJS({
+  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
+    if (typeof Object.create === "function") {
+      module2.exports = function inherits(ctor, superCtor) {
+        ctor.super_ = superCtor;
+        ctor.prototype = Object.create(superCtor.prototype, {
+          constructor: {
+            value: ctor,
+            enumerable: false,
+            writable: true,
+            configurable: true
+          }
+        });
+      };
+    } else {
+      module2.exports = function inherits(ctor, superCtor) {
+        ctor.super_ = superCtor;
+        var TempCtor = function() {
+        };
+        TempCtor.prototype = superCtor.prototype;
+        ctor.prototype = new TempCtor();
+        ctor.prototype.constructor = ctor;
+      };
+    }
+  }
+});
+
+// node_modules/inherits/inherits.js
+var require_inherits = __commonJS({
+  "node_modules/inherits/inherits.js"(exports2, module2) {
+    try {
+      util = require("util");
+      if (typeof util.inherits !== "function") throw "";
+      module2.exports = util.inherits;
+    } catch (e) {
+      module2.exports = require_inherits_browser();
+    }
+    var util;
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
+var require_BufferList = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
+    "use strict";
+    function _classCallCheck(instance, Constructor) {
+      if (!(instance instanceof Constructor)) {
+        throw new TypeError("Cannot call a class as a function");
+      }
+    }
+    var Buffer2 = require_safe_buffer().Buffer;
+    var util = require("util");
+    function copyBuffer(src, target, offset) {
+      src.copy(target, offset);
+    }
+    module2.exports = (function() {
+      function BufferList() {
+        _classCallCheck(this, BufferList);
+        this.head = null;
+        this.tail = null;
+        this.length = 0;
       }
-    };
-    function batchRequestAssemblePolicy(batchRequest) {
-      return {
-        name: "batchRequestAssemblePolicy",
-        async sendRequest(request2) {
-          batchRequest.appendSubRequestToBody(request2);
-          return {
-            request: request2,
-            status: 200,
-            headers: (0, core_rest_pipeline_1.createHttpHeaders)()
-          };
+      BufferList.prototype.push = function push(v) {
+        var entry = { data: v, next: null };
+        if (this.length > 0) this.tail.next = entry;
+        else this.head = entry;
+        this.tail = entry;
+        ++this.length;
+      };
+      BufferList.prototype.unshift = function unshift(v) {
+        var entry = { data: v, next: this.head };
+        if (this.length === 0) this.tail = entry;
+        this.head = entry;
+        ++this.length;
+      };
+      BufferList.prototype.shift = function shift() {
+        if (this.length === 0) return;
+        var ret = this.head.data;
+        if (this.length === 1) this.head = this.tail = null;
+        else this.head = this.head.next;
+        --this.length;
+        return ret;
+      };
+      BufferList.prototype.clear = function clear() {
+        this.head = this.tail = null;
+        this.length = 0;
+      };
+      BufferList.prototype.join = function join15(s) {
+        if (this.length === 0) return "";
+        var p = this.head;
+        var ret = "" + p.data;
+        while (p = p.next) {
+          ret += s + p.data;
         }
+        return ret;
       };
-    }
-    function batchHeaderFilterPolicy() {
-      return {
-        name: "batchHeaderFilterPolicy",
-        async sendRequest(request2, next) {
-          let xMsHeaderName = "";
-          for (const [name] of request2.headers) {
-            if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) {
-              xMsHeaderName = name;
-            }
-          }
-          if (xMsHeaderName !== "") {
-            request2.headers.delete(xMsHeaderName);
-          }
-          return next(request2);
+      BufferList.prototype.concat = function concat(n) {
+        if (this.length === 0) return Buffer2.alloc(0);
+        var ret = Buffer2.allocUnsafe(n >>> 0);
+        var p = this.head;
+        var i = 0;
+        while (p) {
+          copyBuffer(p.data, ret, i);
+          i += p.data.length;
+          p = p.next;
         }
+        return ret;
+      };
+      return BufferList;
+    })();
+    if (util && util.inspect && util.inspect.custom) {
+      module2.exports.prototype[util.inspect.custom] = function() {
+        var obj = util.inspect({ length: this.length });
+        return this.constructor.name + " " + obj;
       };
     }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js
-var require_BlobBatchClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) {
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
+var require_destroy = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBatchClient = void 0;
-    var BatchResponseParser_js_1 = require_BatchResponseParser();
-    var BatchUtils_js_1 = require_BatchUtils();
-    var BlobBatch_js_1 = require_BlobBatch();
-    var tracing_js_1 = require_tracing();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageContextClient_js_1 = require_StorageContextClient();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var BlobBatchClient = class {
-      serviceOrContainerContext;
-      constructor(url2, credentialOrPipeline, options) {
-        let pipeline;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
-          pipeline = credentialOrPipeline;
-        } else if (!credentialOrPipeline) {
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else {
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
-        }
-        const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url2, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
-        const path16 = (0, utils_common_js_1.getURLPath)(url2);
-        if (path16 && path16 !== "/") {
-          this.serviceOrContainerContext = storageClientContext.container;
-        } else {
-          this.serviceOrContainerContext = storageClientContext.service;
+    var pna = require_process_nextick_args();
+    function destroy(err, cb) {
+      var _this = this;
+      var readableDestroyed = this._readableState && this._readableState.destroyed;
+      var writableDestroyed = this._writableState && this._writableState.destroyed;
+      if (readableDestroyed || writableDestroyed) {
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          if (!this._writableState) {
+            pna.nextTick(emitErrorNT, this, err);
+          } else if (!this._writableState.errorEmitted) {
+            this._writableState.errorEmitted = true;
+            pna.nextTick(emitErrorNT, this, err);
+          }
         }
+        return this;
       }
-      /**
-       * Creates a {@link BlobBatch}.
-       * A BlobBatch represents an aggregated set of operations on blobs.
-       */
-      createBatch() {
-        return new BlobBatch_js_1.BlobBatch();
+      if (this._readableState) {
+        this._readableState.destroyed = true;
       }
-      async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) {
-        const batch = new BlobBatch_js_1.BlobBatch();
-        for (const urlOrBlobClient of urlsOrBlobClients) {
-          if (typeof urlOrBlobClient === "string") {
-            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options);
-          } else {
-            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions);
-          }
-        }
-        return this.submitBatch(batch);
+      if (this._writableState) {
+        this._writableState.destroyed = true;
       }
-      async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) {
-        const batch = new BlobBatch_js_1.BlobBatch();
-        for (const urlOrBlobClient of urlsOrBlobClients) {
-          if (typeof urlOrBlobClient === "string") {
-            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options);
-          } else {
-            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions);
+      this._destroy(err || null, function(err2) {
+        if (!cb && err2) {
+          if (!_this._writableState) {
+            pna.nextTick(emitErrorNT, _this, err2);
+          } else if (!_this._writableState.errorEmitted) {
+            _this._writableState.errorEmitted = true;
+            pna.nextTick(emitErrorNT, _this, err2);
           }
+        } else if (cb) {
+          cb(err2);
         }
-        return this.submitBatch(batch);
+      });
+      return this;
+    }
+    function undestroy() {
+      if (this._readableState) {
+        this._readableState.destroyed = false;
+        this._readableState.reading = false;
+        this._readableState.ended = false;
+        this._readableState.endEmitted = false;
       }
-      /**
-       * Submit batch request which consists of multiple subrequests.
-       *
-       * Get `blobBatchClient` and other details before running the snippets.
-       * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient`
-       *
-       * Example usage:
-       *
-       * ```ts snippet:BlobBatchClientSubmitBatch
-       * import { DefaultAzureCredential } from "@azure/identity";
-       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
-       *
-       * const account = "";
-       * const credential = new DefaultAzureCredential();
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   credential,
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobBatchClient = containerClient.getBlobBatchClient();
-       *
-       * const batchRequest = new BlobBatch();
-       * await batchRequest.deleteBlob("", credential);
-       * await batchRequest.deleteBlob("", credential, {
-       *   deleteSnapshots: "include",
-       * });
-       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
-       * console.log(batchResp.subResponsesSucceededCount);
-       * ```
-       *
-       * Example using a lease:
-       *
-       * ```ts snippet:BlobBatchClientSubmitBatchWithLease
-       * import { DefaultAzureCredential } from "@azure/identity";
-       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
-       *
-       * const account = "";
-       * const credential = new DefaultAzureCredential();
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   credential,
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobBatchClient = containerClient.getBlobBatchClient();
-       * const blobClient = containerClient.getBlobClient("");
-       *
-       * const batchRequest = new BlobBatch();
-       * await batchRequest.setBlobAccessTier(blobClient, "Cool");
-       * await batchRequest.setBlobAccessTier(blobClient, "Cool", {
-       *   conditions: { leaseId: "" },
-       * });
-       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
-       * console.log(batchResp.subResponsesSucceededCount);
-       * ```
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @param batchRequest - A set of Delete or SetTier operations.
-       * @param options -
-       */
-      async submitBatch(batchRequest, options = {}) {
-        if (!batchRequest || batchRequest.getSubRequests().size === 0) {
-          throw new RangeError("Batch request should contain one or more sub requests.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => {
-          const batchRequestBody = batchRequest.getHttpRequestBody();
-          const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, {
-            ...updatedOptions
-          }));
-          const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests());
-          const responseSummary = await batchResponseParser.parseBatchResponse();
-          const res = {
-            _response: rawBatchResponse._response,
-            contentType: rawBatchResponse.contentType,
-            errorCode: rawBatchResponse.errorCode,
-            requestId: rawBatchResponse.requestId,
-            clientRequestId: rawBatchResponse.clientRequestId,
-            version: rawBatchResponse.version,
-            subResponses: responseSummary.subResponses,
-            subResponsesSucceededCount: responseSummary.subResponsesSucceededCount,
-            subResponsesFailedCount: responseSummary.subResponsesFailedCount
-          };
-          return res;
-        });
+      if (this._writableState) {
+        this._writableState.destroyed = false;
+        this._writableState.ended = false;
+        this._writableState.ending = false;
+        this._writableState.finalCalled = false;
+        this._writableState.prefinished = false;
+        this._writableState.finished = false;
+        this._writableState.errorEmitted = false;
       }
+    }
+    function emitErrorNT(self2, err) {
+      self2.emit("error", err);
+    }
+    module2.exports = {
+      destroy,
+      undestroy
     };
-    exports2.BlobBatchClient = BlobBatchClient;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js
-var require_ContainerClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) {
+// node_modules/util-deprecate/node.js
+var require_node2 = __commonJS({
+  "node_modules/util-deprecate/node.js"(exports2, module2) {
+    module2.exports = require("util").deprecate;
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
+var require_stream_writable = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var core_auth_1 = require_commonjs7();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var Pipeline_js_1 = require_Pipeline();
-    var StorageClient_js_1 = require_StorageClient();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
-    var Clients_js_1 = require_Clients();
-    var BlobBatchClient_js_1 = require_BlobBatchClient();
-    var ContainerClient = class extends StorageClient_js_1.StorageClient {
-      /**
-       * containerContext provided by protocol layer.
-       */
-      containerContext;
-      _containerName;
-      /**
-       * The name of the container.
-       */
-      get containerName() {
-        return this._containerName;
-      }
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) {
-        let pipeline;
-        let url2;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url2 = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url2 = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url2 = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
-            }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url2 = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName parameter");
-        }
-        super(url2, pipeline);
-        this._containerName = this.getContainerNameFromUrl();
-        this.containerContext = this.storageClientContext.container;
-      }
-      /**
-       * Creates a new container under the specified account. If the container with
-       * the same name already exists, the operation fails.
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
-       *
-       * @param options - Options to Container Create operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ContainerClientCreate
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const createContainerResponse = await containerClient.create();
-       * console.log("Container was created successfully", createContainerResponse.requestId);
-       * ```
-       */
-      async create(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions));
-        });
-      }
-      /**
-       * Creates a new container under the specified account. If the container with
-       * the same name already exists, it is not changed.
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
-       *
-       * @param options -
-       */
-      async createIfNotExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const res = await this.create(updatedOptions);
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "ContainerAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            } else {
-              throw e;
-            }
-          }
-        });
-      }
-      /**
-       * Returns true if the Azure container resource represented by this client exists; false otherwise.
-       *
-       * NOTE: use this function with care since an existing container might be deleted by other clients or
-       * applications. Vice versa new containers with the same name might be added by other clients or
-       * applications after this function completes.
-       *
-       * @param options -
-       */
-      async exists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => {
-          try {
-            await this.getProperties({
-              abortSignal: options.abortSignal,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            return true;
-          } catch (e) {
-            if (e.statusCode === 404) {
-              return false;
-            }
-            throw e;
-          }
-        });
-      }
-      /**
-       * Creates a {@link BlobClient}
-       *
-       * @param blobName - A blob name
-       * @returns A new BlobClient object for the given blob name.
-       */
-      getBlobClient(blobName) {
-        return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
-      }
-      /**
-       * Creates an {@link AppendBlobClient}
-       *
-       * @param blobName - An append blob name
-       */
-      getAppendBlobClient(blobName) {
-        return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
-      }
-      /**
-       * Creates a {@link BlockBlobClient}
-       *
-       * @param blobName - A block blob name
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsUpload
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * const content = "Hello world!";
-       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
-       * ```
-       */
-      getBlockBlobClient(blobName) {
-        return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
-      }
-      /**
-       * Creates a {@link PageBlobClient}
-       *
-       * @param blobName - A page blob name
-       */
-      getPageBlobClient(blobName) {
-        return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+    var pna = require_process_nextick_args();
+    module2.exports = Writable;
+    function CorkedRequest(state) {
+      var _this = this;
+      this.next = null;
+      this.entry = null;
+      this.finish = function() {
+        onCorkedFinish(_this, state);
+      };
+    }
+    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
+    var Duplex;
+    Writable.WritableState = WritableState;
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    var internalUtil = {
+      deprecate: require_node2()
+    };
+    var Stream = require_stream();
+    var Buffer2 = require_safe_buffer().Buffer;
+    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    };
+    function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk);
+    }
+    function _isUint8Array(obj) {
+      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    }
+    var destroyImpl = require_destroy();
+    util.inherits(Writable, Stream);
+    function nop() {
+    }
+    function WritableState(options, stream2) {
+      Duplex = Duplex || require_stream_duplex();
+      options = options || {};
+      var isDuplex = stream2 instanceof Duplex;
+      this.objectMode = !!options.objectMode;
+      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
+      var hwm = options.highWaterMark;
+      var writableHwm = options.writableHighWaterMark;
+      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+      if (hwm || hwm === 0) this.highWaterMark = hwm;
+      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
+      else this.highWaterMark = defaultHwm;
+      this.highWaterMark = Math.floor(this.highWaterMark);
+      this.finalCalled = false;
+      this.needDrain = false;
+      this.ending = false;
+      this.ended = false;
+      this.finished = false;
+      this.destroyed = false;
+      var noDecode = options.decodeStrings === false;
+      this.decodeStrings = !noDecode;
+      this.defaultEncoding = options.defaultEncoding || "utf8";
+      this.length = 0;
+      this.writing = false;
+      this.corked = 0;
+      this.sync = true;
+      this.bufferProcessing = false;
+      this.onwrite = function(er) {
+        onwrite(stream2, er);
+      };
+      this.writecb = null;
+      this.writelen = 0;
+      this.bufferedRequest = null;
+      this.lastBufferedRequest = null;
+      this.pendingcb = 0;
+      this.prefinished = false;
+      this.errorEmitted = false;
+      this.bufferedRequestCount = 0;
+      this.corkedRequestsFree = new CorkedRequest(this);
+    }
+    WritableState.prototype.getBuffer = function getBuffer() {
+      var current = this.bufferedRequest;
+      var out = [];
+      while (current) {
+        out.push(current);
+        current = current.next;
       }
-      /**
-       * Returns all user-defined metadata and system properties for the specified
-       * container. The data returned does not include the container's list of blobs.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties
-       *
-       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
-       * they originally contained uppercase characters. This differs from the metadata keys returned by
-       * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which
-       * will retain their original casing.
-       *
-       * @param options - Options to Container Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({
-            abortSignal: options.abortSignal,
-            ...options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      return out;
+    };
+    (function() {
+      try {
+        Object.defineProperty(WritableState.prototype, "buffer", {
+          get: internalUtil.deprecate(function() {
+            return this.getBuffer();
+          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
         });
+      } catch (_2) {
       }
-      /**
-       * Marks the specified container for deletion. The container and any blobs
-       * contained within it are later deleted during garbage collection.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
-       *
-       * @param options - Options to Container Delete operation.
-       */
-      async delete(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
+    })();
+    var realHasInstance;
+    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
+      realHasInstance = Function.prototype[Symbol.hasInstance];
+      Object.defineProperty(Writable, Symbol.hasInstance, {
+        value: function(object) {
+          if (realHasInstance.call(this, object)) return true;
+          if (this !== Writable) return false;
+          return object && object._writableState instanceof WritableState;
         }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Marks the specified container for deletion if it exists. The container and any blobs
-       * contained within it are later deleted during garbage collection.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
-       *
-       * @param options - Options to Container Delete operation.
-       */
-      async deleteIfExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => {
-          try {
-            const res = await this.delete(updatedOptions);
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "ContainerNotFound") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            }
-            throw e;
-          }
-        });
+      });
+    } else {
+      realHasInstance = function(object) {
+        return object instanceof this;
+      };
+    }
+    function Writable(options) {
+      Duplex = Duplex || require_stream_duplex();
+      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
+        return new Writable(options);
       }
-      /**
-       * Sets one or more user-defined name-value pairs for the specified container.
-       *
-       * If no option provided, or no metadata defined in the parameter, the container
-       * metadata will be removed.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata
-       *
-       * @param metadata - Replace existing metadata with this value.
-       *                            If no value provided the existing metadata will be removed.
-       * @param options - Options to Container Set Metadata operation.
-       */
-      async setMetadata(metadata, options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        if (options.conditions.ifUnmodifiedSince) {
-          throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service");
-        }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      this._writableState = new WritableState(options, this);
+      this.writable = true;
+      if (options) {
+        if (typeof options.write === "function") this._write = options.write;
+        if (typeof options.writev === "function") this._writev = options.writev;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.final === "function") this._final = options.final;
       }
-      /**
-       * Gets the permissions for the specified container. The permissions indicate
-       * whether container data may be accessed publicly.
-       *
-       * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings.
-       * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z".
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl
-       *
-       * @param options - Options to Container Get Access Policy operation.
-       */
-      async getAccessPolicy(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const res = {
-            _response: response._response,
-            blobPublicAccess: response.blobPublicAccess,
-            date: response.date,
-            etag: response.etag,
-            errorCode: response.errorCode,
-            lastModified: response.lastModified,
-            requestId: response.requestId,
-            clientRequestId: response.clientRequestId,
-            signedIdentifiers: [],
-            version: response.version
-          };
-          for (const identifier of response) {
-            let accessPolicy = void 0;
-            if (identifier.accessPolicy) {
-              accessPolicy = {
-                permissions: identifier.accessPolicy.permissions
-              };
-              if (identifier.accessPolicy.expiresOn) {
-                accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn);
-              }
-              if (identifier.accessPolicy.startsOn) {
-                accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn);
-              }
-            }
-            res.signedIdentifiers.push({
-              accessPolicy,
-              id: identifier.id
-            });
-          }
-          return res;
-        });
+      Stream.call(this);
+    }
+    Writable.prototype.pipe = function() {
+      this.emit("error", new Error("Cannot pipe, not readable"));
+    };
+    function writeAfterEnd(stream2, cb) {
+      var er = new Error("write after end");
+      stream2.emit("error", er);
+      pna.nextTick(cb, er);
+    }
+    function validChunk(stream2, state, chunk, cb) {
+      var valid3 = true;
+      var er = false;
+      if (chunk === null) {
+        er = new TypeError("May not write null values to stream");
+      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
+        er = new TypeError("Invalid non-string/buffer chunk");
       }
-      /**
-       * Sets the permissions for the specified container. The permissions indicate
-       * whether blobs in a container may be accessed publicly.
-       *
-       * When you set permissions for a container, the existing permissions are replaced.
-       * If no access or containerAcl provided, the existing container ACL will be
-       * removed.
-       *
-       * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect.
-       * During this interval, a shared access signature that is associated with the stored access policy will
-       * fail with status code 403 (Forbidden), until the access policy becomes active.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl
-       *
-       * @param access - The level of public access to data in the container.
-       * @param containerAcl - Array of elements each having a unique Id and details of the access policy.
-       * @param options - Options to Container Set Access Policy operation.
-       */
-      async setAccessPolicy(access, containerAcl, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => {
-          const acl = [];
-          for (const identifier of containerAcl || []) {
-            acl.push({
-              accessPolicy: {
-                expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "",
-                permissions: identifier.accessPolicy.permissions,
-                startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : ""
-              },
-              id: identifier.id
-            });
-          }
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({
-            abortSignal: options.abortSignal,
-            access,
-            containerAcl: acl,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (er) {
+        stream2.emit("error", er);
+        pna.nextTick(cb, er);
+        valid3 = false;
       }
-      /**
-       * Get a {@link BlobLeaseClient} that manages leases on the container.
-       *
-       * @param proposeLeaseId - Initial proposed lease Id.
-       * @returns A new BlobLeaseClient object for managing leases on the container.
-       */
-      getBlobLeaseClient(proposeLeaseId) {
-        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      return valid3;
+    }
+    Writable.prototype.write = function(chunk, encoding, cb) {
+      var state = this._writableState;
+      var ret = false;
+      var isBuf = !state.objectMode && _isUint8Array(chunk);
+      if (isBuf && !Buffer2.isBuffer(chunk)) {
+        chunk = _uint8ArrayToBuffer(chunk);
       }
-      /**
-       * Creates a new block blob, or updates the content of an existing block blob.
-       *
-       * Updating an existing block blob overwrites any existing metadata on the blob.
-       * Partial updates are not supported; the content of the existing blob is
-       * overwritten with the new content. To perform a partial update of a block blob's,
-       * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}.
-       *
-       * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile},
-       * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better
-       * performance with concurrency uploading.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param blobName - Name of the block blob to create or update.
-       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
-       *                               which returns a new Readable stream whose offset is from data source beginning.
-       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
-       *                               string including non non-Base64/Hex-encoded characters.
-       * @param options - Options to configure the Block Blob Upload operation.
-       * @returns Block Blob upload response data and the corresponding BlockBlobClient instance.
-       */
-      async uploadBlockBlob(blobName, body, contentLength, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => {
-          const blockBlobClient = this.getBlockBlobClient(blobName);
-          const response = await blockBlobClient.upload(body, contentLength, updatedOptions);
-          return {
-            blockBlobClient,
-            response
-          };
-        });
+      if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      /**
-       * Marks the specified blob or snapshot for deletion. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param blobName -
-       * @param options - Options to Blob Delete operation.
-       * @returns Block blob deletion response data.
-       */
-      async deleteBlob(blobName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => {
-          let blobClient = this.getBlobClient(blobName);
-          if (options.versionId) {
-            blobClient = blobClient.withVersion(options.versionId);
-          }
-          return blobClient.delete(updatedOptions);
-        });
+      if (isBuf) encoding = "buffer";
+      else if (!encoding) encoding = state.defaultEncoding;
+      if (typeof cb !== "function") cb = nop;
+      if (state.ended) writeAfterEnd(this, cb);
+      else if (isBuf || validChunk(this, state, chunk, cb)) {
+        state.pendingcb++;
+        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
       }
-      /**
-       * listBlobFlatSegment returns a single segment of blobs starting from the
-       * specified Marker. Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call listBlobsFlatSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
-       *
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to Container List Blob Flat Segment operation.
-       */
-      async listBlobFlatSegment(marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({
-            marker,
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: {
-              ...response._response,
-              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody)
-            },
-            // _response is made non-enumerable
-            segment: {
-              ...response.segment,
-              blobItems: response.segment.blobItems.map((blobItemInternal) => {
-                const blobItem = {
-                  ...blobItemInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
-                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
-                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
-                };
-                return blobItem;
-              })
-            }
-          };
-          return wrappedResponse;
-        });
+      return ret;
+    };
+    Writable.prototype.cork = function() {
+      var state = this._writableState;
+      state.corked++;
+    };
+    Writable.prototype.uncork = function() {
+      var state = this._writableState;
+      if (state.corked) {
+        state.corked--;
+        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
       }
-      /**
-       * listBlobHierarchySegment returns a single segment of blobs starting from
-       * the specified Marker. Use an empty Marker to start enumeration from the
-       * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment
-       * again (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to Container List Blob Hierarchy Segment operation.
-       */
-      async listBlobHierarchySegment(delimiter, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, {
-            marker,
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: {
-              ...response._response,
-              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody)
-            },
-            // _response is made non-enumerable
-            segment: {
-              ...response.segment,
-              blobItems: response.segment.blobItems.map((blobItemInternal) => {
-                const blobItem = {
-                  ...blobItemInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
-                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
-                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
-                };
-                return blobItem;
-              }),
-              blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => {
-                const blobPrefix = {
-                  ...blobPrefixInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name)
-                };
-                return blobPrefix;
-              })
-            }
-          };
-          return wrappedResponse;
-        });
+    };
+    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
+      if (typeof encoding === "string") encoding = encoding.toLowerCase();
+      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
+      this._writableState.defaultEncoding = encoding;
+      return this;
+    };
+    function decodeChunk(state, chunk, encoding) {
+      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
+        chunk = Buffer2.from(chunk, encoding);
       }
-      /**
-       * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse
-       *
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to list blobs operation.
-       */
-      async *listSegments(marker, options = {}) {
-        let listBlobsFlatSegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options);
-            marker = listBlobsFlatSegmentResponse.continuationToken;
-            yield await listBlobsFlatSegmentResponse;
-          } while (marker);
-        }
+      return chunk;
+    }
+    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._writableState.highWaterMark;
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link BlobItem} objects
-       *
-       * @param options - Options to list blobs operation.
-       */
-      async *listItems(options = {}) {
-        let marker;
-        for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) {
-          yield* listBlobsFlatSegmentResponse.segment.blobItems;
+    });
+    function writeOrBuffer(stream2, state, isBuf, chunk, encoding, cb) {
+      if (!isBuf) {
+        var newChunk = decodeChunk(state, chunk, encoding);
+        if (chunk !== newChunk) {
+          isBuf = true;
+          encoding = "buffer";
+          chunk = newChunk;
         }
       }
-      /**
-       * Returns an async iterable iterator to list all the blobs
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * ```ts snippet:ReadmeSampleListBlobs_Multiple
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * const blobs = containerClient.listBlobsFlat();
-       * for await (const blob of blobs) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.listBlobsFlat();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param options - Options to list blobs.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listBlobsFlat(options = {}) {
-        const include = [];
-        if (options.includeCopy) {
-          include.push("copy");
-        }
-        if (options.includeDeleted) {
-          include.push("deleted");
-        }
-        if (options.includeMetadata) {
-          include.push("metadata");
-        }
-        if (options.includeSnapshots) {
-          include.push("snapshots");
-        }
-        if (options.includeVersions) {
-          include.push("versions");
-        }
-        if (options.includeUncommitedBlobs) {
-          include.push("uncommittedblobs");
-        }
-        if (options.includeTags) {
-          include.push("tags");
+      var len = state.objectMode ? 1 : chunk.length;
+      state.length += len;
+      var ret = state.length < state.highWaterMark;
+      if (!ret) state.needDrain = true;
+      if (state.writing || state.corked) {
+        var last = state.lastBufferedRequest;
+        state.lastBufferedRequest = {
+          chunk,
+          encoding,
+          isBuf,
+          callback: cb,
+          next: null
+        };
+        if (last) {
+          last.next = state.lastBufferedRequest;
+        } else {
+          state.bufferedRequest = state.lastBufferedRequest;
         }
-        if (options.includeDeletedWithVersions) {
-          include.push("deletedwithversions");
+        state.bufferedRequestCount += 1;
+      } else {
+        doWrite(stream2, state, false, len, chunk, encoding, cb);
+      }
+      return ret;
+    }
+    function doWrite(stream2, state, writev, len, chunk, encoding, cb) {
+      state.writelen = len;
+      state.writecb = cb;
+      state.writing = true;
+      state.sync = true;
+      if (writev) stream2._writev(chunk, state.onwrite);
+      else stream2._write(chunk, encoding, state.onwrite);
+      state.sync = false;
+    }
+    function onwriteError(stream2, state, sync, er, cb) {
+      --state.pendingcb;
+      if (sync) {
+        pna.nextTick(cb, er);
+        pna.nextTick(finishMaybe, stream2, state);
+        stream2._writableState.errorEmitted = true;
+        stream2.emit("error", er);
+      } else {
+        cb(er);
+        stream2._writableState.errorEmitted = true;
+        stream2.emit("error", er);
+        finishMaybe(stream2, state);
+      }
+    }
+    function onwriteStateUpdate(state) {
+      state.writing = false;
+      state.writecb = null;
+      state.length -= state.writelen;
+      state.writelen = 0;
+    }
+    function onwrite(stream2, er) {
+      var state = stream2._writableState;
+      var sync = state.sync;
+      var cb = state.writecb;
+      onwriteStateUpdate(state);
+      if (er) onwriteError(stream2, state, sync, er, cb);
+      else {
+        var finished = needFinish(state);
+        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
+          clearBuffer(stream2, state);
         }
-        if (options.includeImmutabilityPolicy) {
-          include.push("immutabilitypolicy");
+        if (sync) {
+          asyncWrite(afterWrite, stream2, state, finished, cb);
+        } else {
+          afterWrite(stream2, state, finished, cb);
         }
-        if (options.includeLegalHold) {
-          include.push("legalhold");
+      }
+    }
+    function afterWrite(stream2, state, finished, cb) {
+      if (!finished) onwriteDrain(stream2, state);
+      state.pendingcb--;
+      cb();
+      finishMaybe(stream2, state);
+    }
+    function onwriteDrain(stream2, state) {
+      if (state.length === 0 && state.needDrain) {
+        state.needDrain = false;
+        stream2.emit("drain");
+      }
+    }
+    function clearBuffer(stream2, state) {
+      state.bufferProcessing = true;
+      var entry = state.bufferedRequest;
+      if (stream2._writev && entry && entry.next) {
+        var l = state.bufferedRequestCount;
+        var buffer = new Array(l);
+        var holder = state.corkedRequestsFree;
+        holder.entry = entry;
+        var count = 0;
+        var allBuffers = true;
+        while (entry) {
+          buffer[count] = entry;
+          if (!entry.isBuf) allBuffers = false;
+          entry = entry.next;
+          count += 1;
         }
-        if (options.prefix === "") {
-          options.prefix = void 0;
+        buffer.allBuffers = allBuffers;
+        doWrite(stream2, state, true, state.length, buffer, "", holder.finish);
+        state.pendingcb++;
+        state.lastBufferedRequest = null;
+        if (holder.next) {
+          state.corkedRequestsFree = holder.next;
+          holder.next = null;
+        } else {
+          state.corkedRequestsFree = new CorkedRequest(state);
         }
-        const updatedOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItems(updatedOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listSegments(settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...updatedOptions
-            });
+        state.bufferedRequestCount = 0;
+      } else {
+        while (entry) {
+          var chunk = entry.chunk;
+          var encoding = entry.encoding;
+          var cb = entry.callback;
+          var len = state.objectMode ? 1 : chunk.length;
+          doWrite(stream2, state, false, len, chunk, encoding, cb);
+          entry = entry.next;
+          state.bufferedRequestCount--;
+          if (state.writing) {
+            break;
           }
-        };
-      }
-      /**
-       * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to list blobs operation.
-       */
-      async *listHierarchySegments(delimiter, marker, options = {}) {
-        let listBlobsHierarchySegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options);
-            marker = listBlobsHierarchySegmentResponse.continuationToken;
-            yield await listBlobsHierarchySegmentResponse;
-          } while (marker);
         }
+        if (entry === null) state.lastBufferedRequest = null;
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects.
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param options - Options to list blobs operation.
-       */
-      async *listItemsByHierarchy(delimiter, options = {}) {
-        let marker;
-        for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) {
-          const segment = listBlobsHierarchySegmentResponse.segment;
-          if (segment.blobPrefixes) {
-            for (const prefix of segment.blobPrefixes) {
-              yield {
-                kind: "prefix",
-                ...prefix
-              };
-            }
-          }
-          for (const blob of segment.blobItems) {
-            yield { kind: "blob", ...blob };
-          }
-        }
+      state.bufferedRequest = entry;
+      state.bufferProcessing = false;
+    }
+    Writable.prototype._write = function(chunk, encoding, cb) {
+      cb(new Error("_write() is not implemented"));
+    };
+    Writable.prototype._writev = null;
+    Writable.prototype.end = function(chunk, encoding, cb) {
+      var state = this._writableState;
+      if (typeof chunk === "function") {
+        cb = chunk;
+        chunk = null;
+        encoding = null;
+      } else if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      /**
-       * Returns an async iterable iterator to list all the blobs by hierarchy.
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages.
-       *
-       * ```ts snippet:ReadmeSampleListBlobsByHierarchy
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * const blobs = containerClient.listBlobsByHierarchy("/");
-       * for await (const blob of blobs) {
-       *   if (blob.kind === "prefix") {
-       *     console.log(`\tBlobPrefix: ${blob.name}`);
-       *   } else {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.listBlobsByHierarchy("/");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   if (value.kind === "prefix") {
-       *     console.log(`\tBlobPrefix: ${value.name}`);
-       *   } else {
-       *     console.log(`\tBlobItem: name - ${value.name}`);
-       *   }
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
-       *   const segment = page.segment;
-       *   if (segment.blobPrefixes) {
-       *     for (const prefix of segment.blobPrefixes) {
-       *       console.log(`\tBlobPrefix: ${prefix.name}`);
-       *     }
-       *   }
-       *   for (const blob of page.segment.blobItems) {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobPrefixes) {
-       *   for (const prefix of response.blobPrefixes) {
-       *     console.log(`\tBlobPrefix: ${prefix.name}`);
-       *   }
-       * }
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient
-       *   .listBlobsByHierarchy("/")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.blobPrefixes) {
-       *   for (const prefix of response.blobPrefixes) {
-       *     console.log(`\tBlobPrefix: ${prefix.name}`);
-       *   }
-       * }
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param options - Options to list blobs operation.
-       */
-      listBlobsByHierarchy(delimiter, options = {}) {
-        if (delimiter === "") {
-          throw new RangeError("delimiter should contain one or more characters");
-        }
-        const include = [];
-        if (options.includeCopy) {
-          include.push("copy");
+      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
+      if (state.corked) {
+        state.corked = 1;
+        this.uncork();
+      }
+      if (!state.ending) endWritable(this, state, cb);
+    };
+    function needFinish(state) {
+      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
+    }
+    function callFinal(stream2, state) {
+      stream2._final(function(err) {
+        state.pendingcb--;
+        if (err) {
+          stream2.emit("error", err);
         }
-        if (options.includeDeleted) {
-          include.push("deleted");
+        state.prefinished = true;
+        stream2.emit("prefinish");
+        finishMaybe(stream2, state);
+      });
+    }
+    function prefinish(stream2, state) {
+      if (!state.prefinished && !state.finalCalled) {
+        if (typeof stream2._final === "function") {
+          state.pendingcb++;
+          state.finalCalled = true;
+          pna.nextTick(callFinal, stream2, state);
+        } else {
+          state.prefinished = true;
+          stream2.emit("prefinish");
         }
-        if (options.includeMetadata) {
-          include.push("metadata");
+      }
+    }
+    function finishMaybe(stream2, state) {
+      var need = needFinish(state);
+      if (need) {
+        prefinish(stream2, state);
+        if (state.pendingcb === 0) {
+          state.finished = true;
+          stream2.emit("finish");
         }
-        if (options.includeSnapshots) {
-          include.push("snapshots");
+      }
+      return need;
+    }
+    function endWritable(stream2, state, cb) {
+      state.ending = true;
+      finishMaybe(stream2, state);
+      if (cb) {
+        if (state.finished) pna.nextTick(cb);
+        else stream2.once("finish", cb);
+      }
+      state.ended = true;
+      stream2.writable = false;
+    }
+    function onCorkedFinish(corkReq, state, err) {
+      var entry = corkReq.entry;
+      corkReq.entry = null;
+      while (entry) {
+        var cb = entry.callback;
+        state.pendingcb--;
+        cb(err);
+        entry = entry.next;
+      }
+      state.corkedRequestsFree.next = corkReq;
+    }
+    Object.defineProperty(Writable.prototype, "destroyed", {
+      get: function() {
+        if (this._writableState === void 0) {
+          return false;
         }
-        if (options.includeVersions) {
-          include.push("versions");
+        return this._writableState.destroyed;
+      },
+      set: function(value) {
+        if (!this._writableState) {
+          return;
         }
-        if (options.includeUncommitedBlobs) {
-          include.push("uncommittedblobs");
+        this._writableState.destroyed = value;
+      }
+    });
+    Writable.prototype.destroy = destroyImpl.destroy;
+    Writable.prototype._undestroy = destroyImpl.undestroy;
+    Writable.prototype._destroy = function(err, cb) {
+      this.end();
+      cb(err);
+    };
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
+var require_stream_duplex = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    var objectKeys = Object.keys || function(obj) {
+      var keys2 = [];
+      for (var key in obj) {
+        keys2.push(key);
+      }
+      return keys2;
+    };
+    module2.exports = Duplex;
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    var Readable2 = require_stream_readable();
+    var Writable = require_stream_writable();
+    util.inherits(Duplex, Readable2);
+    {
+      keys = objectKeys(Writable.prototype);
+      for (v = 0; v < keys.length; v++) {
+        method = keys[v];
+        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
+      }
+    }
+    var keys;
+    var method;
+    var v;
+    function Duplex(options) {
+      if (!(this instanceof Duplex)) return new Duplex(options);
+      Readable2.call(this, options);
+      Writable.call(this, options);
+      if (options && options.readable === false) this.readable = false;
+      if (options && options.writable === false) this.writable = false;
+      this.allowHalfOpen = true;
+      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
+      this.once("end", onend);
+    }
+    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._writableState.highWaterMark;
+      }
+    });
+    function onend() {
+      if (this.allowHalfOpen || this._writableState.ended) return;
+      pna.nextTick(onEndNT, this);
+    }
+    function onEndNT(self2) {
+      self2.end();
+    }
+    Object.defineProperty(Duplex.prototype, "destroyed", {
+      get: function() {
+        if (this._readableState === void 0 || this._writableState === void 0) {
+          return false;
         }
-        if (options.includeTags) {
-          include.push("tags");
+        return this._readableState.destroyed && this._writableState.destroyed;
+      },
+      set: function(value) {
+        if (this._readableState === void 0 || this._writableState === void 0) {
+          return;
         }
-        if (options.includeDeletedWithVersions) {
-          include.push("deletedwithversions");
+        this._readableState.destroyed = value;
+        this._writableState.destroyed = value;
+      }
+    });
+    Duplex.prototype._destroy = function(err, cb) {
+      this.push(null);
+      this.end();
+      pna.nextTick(cb, err);
+    };
+  }
+});
+
+// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
+var require_string_decoder = __commonJS({
+  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
+    "use strict";
+    var Buffer2 = require_safe_buffer().Buffer;
+    var isEncoding = Buffer2.isEncoding || function(encoding) {
+      encoding = "" + encoding;
+      switch (encoding && encoding.toLowerCase()) {
+        case "hex":
+        case "utf8":
+        case "utf-8":
+        case "ascii":
+        case "binary":
+        case "base64":
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+        case "raw":
+          return true;
+        default:
+          return false;
+      }
+    };
+    function _normalizeEncoding(enc) {
+      if (!enc) return "utf8";
+      var retried;
+      while (true) {
+        switch (enc) {
+          case "utf8":
+          case "utf-8":
+            return "utf8";
+          case "ucs2":
+          case "ucs-2":
+          case "utf16le":
+          case "utf-16le":
+            return "utf16le";
+          case "latin1":
+          case "binary":
+            return "latin1";
+          case "base64":
+          case "ascii":
+          case "hex":
+            return enc;
+          default:
+            if (retried) return;
+            enc = ("" + enc).toLowerCase();
+            retried = true;
         }
-        if (options.includeImmutabilityPolicy) {
-          include.push("immutabilitypolicy");
+      }
+    }
+    function normalizeEncoding(enc) {
+      var nenc = _normalizeEncoding(enc);
+      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
+      return nenc || enc;
+    }
+    exports2.StringDecoder = StringDecoder;
+    function StringDecoder(encoding) {
+      this.encoding = normalizeEncoding(encoding);
+      var nb;
+      switch (this.encoding) {
+        case "utf16le":
+          this.text = utf16Text;
+          this.end = utf16End;
+          nb = 4;
+          break;
+        case "utf8":
+          this.fillLast = utf8FillLast;
+          nb = 4;
+          break;
+        case "base64":
+          this.text = base64Text;
+          this.end = base64End;
+          nb = 3;
+          break;
+        default:
+          this.write = simpleWrite;
+          this.end = simpleEnd;
+          return;
+      }
+      this.lastNeed = 0;
+      this.lastTotal = 0;
+      this.lastChar = Buffer2.allocUnsafe(nb);
+    }
+    StringDecoder.prototype.write = function(buf) {
+      if (buf.length === 0) return "";
+      var r;
+      var i;
+      if (this.lastNeed) {
+        r = this.fillLast(buf);
+        if (r === void 0) return "";
+        i = this.lastNeed;
+        this.lastNeed = 0;
+      } else {
+        i = 0;
+      }
+      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
+      return r || "";
+    };
+    StringDecoder.prototype.end = utf8End;
+    StringDecoder.prototype.text = utf8Text;
+    StringDecoder.prototype.fillLast = function(buf) {
+      if (this.lastNeed <= buf.length) {
+        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
+        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      }
+      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
+      this.lastNeed -= buf.length;
+    };
+    function utf8CheckByte(byte) {
+      if (byte <= 127) return 0;
+      else if (byte >> 5 === 6) return 2;
+      else if (byte >> 4 === 14) return 3;
+      else if (byte >> 3 === 30) return 4;
+      return byte >> 6 === 2 ? -1 : -2;
+    }
+    function utf8CheckIncomplete(self2, buf, i) {
+      var j = buf.length - 1;
+      if (j < i) return 0;
+      var nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) self2.lastNeed = nb - 1;
+        return nb;
+      }
+      if (--j < i || nb === -2) return 0;
+      nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) self2.lastNeed = nb - 2;
+        return nb;
+      }
+      if (--j < i || nb === -2) return 0;
+      nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) {
+          if (nb === 2) nb = 0;
+          else self2.lastNeed = nb - 3;
         }
-        if (options.includeLegalHold) {
-          include.push("legalhold");
+        return nb;
+      }
+      return 0;
+    }
+    function utf8CheckExtraBytes(self2, buf, p) {
+      if ((buf[0] & 192) !== 128) {
+        self2.lastNeed = 0;
+        return "\uFFFD";
+      }
+      if (self2.lastNeed > 1 && buf.length > 1) {
+        if ((buf[1] & 192) !== 128) {
+          self2.lastNeed = 1;
+          return "\uFFFD";
         }
-        if (options.prefix === "") {
-          options.prefix = void 0;
+        if (self2.lastNeed > 2 && buf.length > 2) {
+          if ((buf[2] & 192) !== 128) {
+            self2.lastNeed = 2;
+            return "\uFFFD";
+          }
         }
-        const updatedOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItemsByHierarchy(delimiter, updatedOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          async next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listHierarchySegments(delimiter, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...updatedOptions
-            });
+      }
+    }
+    function utf8FillLast(buf) {
+      var p = this.lastTotal - this.lastNeed;
+      var r = utf8CheckExtraBytes(this, buf, p);
+      if (r !== void 0) return r;
+      if (this.lastNeed <= buf.length) {
+        buf.copy(this.lastChar, p, 0, this.lastNeed);
+        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      }
+      buf.copy(this.lastChar, p, 0, buf.length);
+      this.lastNeed -= buf.length;
+    }
+    function utf8Text(buf, i) {
+      var total = utf8CheckIncomplete(this, buf, i);
+      if (!this.lastNeed) return buf.toString("utf8", i);
+      this.lastTotal = total;
+      var end = buf.length - (total - this.lastNeed);
+      buf.copy(this.lastChar, 0, end);
+      return buf.toString("utf8", i, end);
+    }
+    function utf8End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) return r + "\uFFFD";
+      return r;
+    }
+    function utf16Text(buf, i) {
+      if ((buf.length - i) % 2 === 0) {
+        var r = buf.toString("utf16le", i);
+        if (r) {
+          var c = r.charCodeAt(r.length - 1);
+          if (c >= 55296 && c <= 56319) {
+            this.lastNeed = 2;
+            this.lastTotal = 4;
+            this.lastChar[0] = buf[buf.length - 2];
+            this.lastChar[1] = buf[buf.length - 1];
+            return r.slice(0, -1);
           }
-        };
+        }
+        return r;
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs in the container whose tags
-       * match a given search expression.
-       *
-       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                        The given expression must evaluate to true for a blob to be returned in the results.
-       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({
-            abortSignal: options.abortSignal,
-            where: tagFilterSqlExpression,
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            blobs: response.blobs.map((blob) => {
-              let tagValue = "";
-              if (blob.tags?.blobTagSet.length === 1) {
-                tagValue = blob.tags.blobTagSet[0].value;
-              }
-              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
-            })
-          };
-          return wrappedResponse;
-        });
+      this.lastNeed = 1;
+      this.lastTotal = 2;
+      this.lastChar[0] = buf[buf.length - 1];
+      return buf.toString("utf16le", i, buf.length - 1);
+    }
+    function utf16End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) {
+        var end = this.lastTotal - this.lastNeed;
+        return r + this.lastChar.toString("utf16le", 0, end);
       }
-      /**
-       * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
-        let response;
-        if (!!marker || marker === void 0) {
-          do {
-            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
-            response.blobs = response.blobs || [];
-            marker = response.continuationToken;
-            yield response;
-          } while (marker);
+      return r;
+    }
+    function base64Text(buf, i) {
+      var n = (buf.length - i) % 3;
+      if (n === 0) return buf.toString("base64", i);
+      this.lastNeed = 3 - n;
+      this.lastTotal = 3;
+      if (n === 1) {
+        this.lastChar[0] = buf[buf.length - 1];
+      } else {
+        this.lastChar[0] = buf[buf.length - 2];
+        this.lastChar[1] = buf[buf.length - 1];
+      }
+      return buf.toString("base64", i, buf.length - n);
+    }
+    function base64End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
+      return r;
+    }
+    function simpleWrite(buf) {
+      return buf.toString(this.encoding);
+    }
+    function simpleEnd(buf) {
+      return buf && buf.length ? this.write(buf) : "";
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
+var require_stream_readable = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    module2.exports = Readable2;
+    var isArray = require_isarray();
+    var Duplex;
+    Readable2.ReadableState = ReadableState;
+    var EE = require("events").EventEmitter;
+    var EElistenerCount = function(emitter, type2) {
+      return emitter.listeners(type2).length;
+    };
+    var Stream = require_stream();
+    var Buffer2 = require_safe_buffer().Buffer;
+    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    };
+    function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk);
+    }
+    function _isUint8Array(obj) {
+      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    }
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    var debugUtil = require("util");
+    var debug5 = void 0;
+    if (debugUtil && debugUtil.debuglog) {
+      debug5 = debugUtil.debuglog("stream");
+    } else {
+      debug5 = function() {
+      };
+    }
+    var BufferList = require_BufferList();
+    var destroyImpl = require_destroy();
+    var StringDecoder;
+    util.inherits(Readable2, Stream);
+    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
+    function prependListener(emitter, event, fn) {
+      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
+      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
+      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
+      else emitter._events[event] = [fn, emitter._events[event]];
+    }
+    function ReadableState(options, stream2) {
+      Duplex = Duplex || require_stream_duplex();
+      options = options || {};
+      var isDuplex = stream2 instanceof Duplex;
+      this.objectMode = !!options.objectMode;
+      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
+      var hwm = options.highWaterMark;
+      var readableHwm = options.readableHighWaterMark;
+      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+      if (hwm || hwm === 0) this.highWaterMark = hwm;
+      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
+      else this.highWaterMark = defaultHwm;
+      this.highWaterMark = Math.floor(this.highWaterMark);
+      this.buffer = new BufferList();
+      this.length = 0;
+      this.pipes = null;
+      this.pipesCount = 0;
+      this.flowing = null;
+      this.ended = false;
+      this.endEmitted = false;
+      this.reading = false;
+      this.sync = true;
+      this.needReadable = false;
+      this.emittedReadable = false;
+      this.readableListening = false;
+      this.resumeScheduled = false;
+      this.destroyed = false;
+      this.defaultEncoding = options.defaultEncoding || "utf8";
+      this.awaitDrain = 0;
+      this.readingMore = false;
+      this.decoder = null;
+      this.encoding = null;
+      if (options.encoding) {
+        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
+        this.decoder = new StringDecoder(options.encoding);
+        this.encoding = options.encoding;
+      }
+    }
+    function Readable2(options) {
+      Duplex = Duplex || require_stream_duplex();
+      if (!(this instanceof Readable2)) return new Readable2(options);
+      this._readableState = new ReadableState(options, this);
+      this.readable = true;
+      if (options) {
+        if (typeof options.read === "function") this._read = options.read;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+      }
+      Stream.call(this);
+    }
+    Object.defineProperty(Readable2.prototype, "destroyed", {
+      get: function() {
+        if (this._readableState === void 0) {
+          return false;
         }
-      }
-      /**
-       * Returns an AsyncIterableIterator for blobs.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to findBlobsByTagsItems.
-       */
-      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
-        let marker;
-        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
-          yield* segment.blobs;
+        return this._readableState.destroyed;
+      },
+      set: function(value) {
+        if (!this._readableState) {
+          return;
         }
+        this._readableState.destroyed = value;
       }
-      /**
-       * Returns an async iterable iterator to find all blobs with specified tag
-       * under the specified container.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * Example using `for await` syntax:
-       *
-       * ```ts snippet:ReadmeSampleFindBlobsByTags
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to find blobs by tags.
-       */
-      findBlobsByTags(tagFilterSqlExpression, options = {}) {
-        const listSegmentOptions = {
-          ...options
-        };
-        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
+    });
+    Readable2.prototype.destroy = destroyImpl.destroy;
+    Readable2.prototype._undestroy = destroyImpl.undestroy;
+    Readable2.prototype._destroy = function(err, cb) {
+      this.push(null);
+      cb(err);
+    };
+    Readable2.prototype.push = function(chunk, encoding) {
+      var state = this._readableState;
+      var skipChunkCheck;
+      if (!state.objectMode) {
+        if (typeof chunk === "string") {
+          encoding = encoding || state.defaultEncoding;
+          if (encoding !== state.encoding) {
+            chunk = Buffer2.from(chunk, encoding);
+            encoding = "";
           }
-        };
-      }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+          skipChunkCheck = true;
+        }
+      } else {
+        skipChunkCheck = true;
       }
-      getContainerNameFromUrl() {
-        let containerName;
-        try {
-          const parsedUrl = new URL(this.url);
-          if (parsedUrl.hostname.split(".")[1] === "blob") {
-            containerName = parsedUrl.pathname.split("/")[1];
-          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
-            containerName = parsedUrl.pathname.split("/")[2];
-          } else {
-            containerName = parsedUrl.pathname.split("/")[1];
+      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
+    };
+    Readable2.prototype.unshift = function(chunk) {
+      return readableAddChunk(this, chunk, null, true, false);
+    };
+    function readableAddChunk(stream2, chunk, encoding, addToFront, skipChunkCheck) {
+      var state = stream2._readableState;
+      if (chunk === null) {
+        state.reading = false;
+        onEofChunk(stream2, state);
+      } else {
+        var er;
+        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
+        if (er) {
+          stream2.emit("error", er);
+        } else if (state.objectMode || chunk && chunk.length > 0) {
+          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
+            chunk = _uint8ArrayToBuffer(chunk);
           }
-          containerName = decodeURIComponent(containerName);
-          if (!containerName) {
-            throw new Error("Provided containerName is invalid.");
+          if (addToFront) {
+            if (state.endEmitted) stream2.emit("error", new Error("stream.unshift() after end event"));
+            else addChunk(stream2, state, chunk, true);
+          } else if (state.ended) {
+            stream2.emit("error", new Error("stream.push() after EOF"));
+          } else {
+            state.reading = false;
+            if (state.decoder && !encoding) {
+              chunk = state.decoder.write(chunk);
+              if (state.objectMode || chunk.length !== 0) addChunk(stream2, state, chunk, false);
+              else maybeReadMore(stream2, state);
+            } else {
+              addChunk(stream2, state, chunk, false);
+            }
           }
-          return containerName;
-        } catch (error3) {
-          throw new Error("Unable to extract containerName with provided information.");
+        } else if (!addToFront) {
+          state.reading = false;
         }
       }
-      /**
-       * Only available for ContainerClient constructed with a shared key credential.
-       *
-       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasUrl(options) {
-        return new Promise((resolve8) => {
-          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
-          }
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            ...options
-          }, this.credential).toString();
-          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      return needMoreData(state);
+    }
+    function addChunk(stream2, state, chunk, addToFront) {
+      if (state.flowing && state.length === 0 && !state.sync) {
+        stream2.emit("data", chunk);
+        stream2.read(0);
+      } else {
+        state.length += state.objectMode ? 1 : chunk.length;
+        if (addToFront) state.buffer.unshift(chunk);
+        else state.buffer.push(chunk);
+        if (state.needReadable) emitReadable(stream2);
       }
-      /**
-       * Only available for ContainerClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
-       * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
-      generateSasStringToSign(options) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
-        }
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          ...options
-        }, this.credential).stringToSign;
+      maybeReadMore(stream2, state);
+    }
+    function chunkInvalid(state, chunk) {
+      var er;
+      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
+        er = new TypeError("Invalid non-string/buffer chunk");
       }
-      /**
-       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasUrl(options, userDelegationKey) {
-        return new Promise((resolve8) => {
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            ...options
-          }, userDelegationKey, this.accountName).toString();
-          resolve8((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      return er;
+    }
+    function needMoreData(state) {
+      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
+    }
+    Readable2.prototype.isPaused = function() {
+      return this._readableState.flowing === false;
+    };
+    Readable2.prototype.setEncoding = function(enc) {
+      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
+      this._readableState.decoder = new StringDecoder(enc);
+      this._readableState.encoding = enc;
+      return this;
+    };
+    var MAX_HWM = 8388608;
+    function computeNewHighWaterMark(n) {
+      if (n >= MAX_HWM) {
+        n = MAX_HWM;
+      } else {
+        n--;
+        n |= n >>> 1;
+        n |= n >>> 2;
+        n |= n >>> 4;
+        n |= n >>> 8;
+        n |= n >>> 16;
+        n++;
       }
-      /**
-       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
-       * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasStringToSign(options, userDelegationKey) {
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          ...options
-        }, userDelegationKey, this.accountName).stringToSign;
+      return n;
+    }
+    function howMuchToRead(n, state) {
+      if (n <= 0 || state.length === 0 && state.ended) return 0;
+      if (state.objectMode) return 1;
+      if (n !== n) {
+        if (state.flowing && state.length) return state.buffer.head.data.length;
+        else return state.length;
       }
-      /**
-       * Creates a BlobBatchClient object to conduct batch operations.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @returns A new BlobBatchClient object for this container.
-       */
-      getBlobBatchClient() {
-        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
+      if (n <= state.length) return n;
+      if (!state.ended) {
+        state.needReadable = true;
+        return 0;
+      }
+      return state.length;
+    }
+    Readable2.prototype.read = function(n) {
+      debug5("read", n);
+      n = parseInt(n, 10);
+      var state = this._readableState;
+      var nOrig = n;
+      if (n !== 0) state.emittedReadable = false;
+      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
+        debug5("read: emitReadable", state.length, state.ended);
+        if (state.length === 0 && state.ended) endReadable(this);
+        else emitReadable(this);
+        return null;
+      }
+      n = howMuchToRead(n, state);
+      if (n === 0 && state.ended) {
+        if (state.length === 0) endReadable(this);
+        return null;
+      }
+      var doRead = state.needReadable;
+      debug5("need readable", doRead);
+      if (state.length === 0 || state.length - n < state.highWaterMark) {
+        doRead = true;
+        debug5("length less than watermark", doRead);
+      }
+      if (state.ended || state.reading) {
+        doRead = false;
+        debug5("reading or ended", doRead);
+      } else if (doRead) {
+        debug5("do read");
+        state.reading = true;
+        state.sync = true;
+        if (state.length === 0) state.needReadable = true;
+        this._read(state.highWaterMark);
+        state.sync = false;
+        if (!state.reading) n = howMuchToRead(nOrig, state);
+      }
+      var ret;
+      if (n > 0) ret = fromList(n, state);
+      else ret = null;
+      if (ret === null) {
+        state.needReadable = true;
+        n = 0;
+      } else {
+        state.length -= n;
+      }
+      if (state.length === 0) {
+        if (!state.ended) state.needReadable = true;
+        if (nOrig !== n && state.ended) endReadable(this);
       }
+      if (ret !== null) this.emit("data", ret);
+      return ret;
     };
-    exports2.ContainerClient = ContainerClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js
-var require_AccountSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASPermissions = void 0;
-    var AccountSASPermissions = class _AccountSASPermissions {
-      /**
-       * Parse initializes the AccountSASPermissions fields from a string.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const accountSASPermissions = new _AccountSASPermissions();
-        for (const c of permissions) {
-          switch (c) {
-            case "r":
-              accountSASPermissions.read = true;
-              break;
-            case "w":
-              accountSASPermissions.write = true;
-              break;
-            case "d":
-              accountSASPermissions.delete = true;
-              break;
-            case "x":
-              accountSASPermissions.deleteVersion = true;
-              break;
-            case "l":
-              accountSASPermissions.list = true;
-              break;
-            case "a":
-              accountSASPermissions.add = true;
-              break;
-            case "c":
-              accountSASPermissions.create = true;
-              break;
-            case "u":
-              accountSASPermissions.update = true;
-              break;
-            case "p":
-              accountSASPermissions.process = true;
-              break;
-            case "t":
-              accountSASPermissions.tag = true;
-              break;
-            case "f":
-              accountSASPermissions.filter = true;
-              break;
-            case "i":
-              accountSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              accountSASPermissions.permanentDelete = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission character: ${c}`);
-          }
+    function onEofChunk(stream2, state) {
+      if (state.ended) return;
+      if (state.decoder) {
+        var chunk = state.decoder.end();
+        if (chunk && chunk.length) {
+          state.buffer.push(chunk);
+          state.length += state.objectMode ? 1 : chunk.length;
         }
-        return accountSASPermissions;
       }
-      /**
-       * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const accountSASPermissions = new _AccountSASPermissions();
-        if (permissionLike.read) {
-          accountSASPermissions.read = true;
-        }
-        if (permissionLike.write) {
-          accountSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          accountSASPermissions.delete = true;
-        }
-        if (permissionLike.deleteVersion) {
-          accountSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.filter) {
-          accountSASPermissions.filter = true;
-        }
-        if (permissionLike.tag) {
-          accountSASPermissions.tag = true;
-        }
-        if (permissionLike.list) {
-          accountSASPermissions.list = true;
-        }
-        if (permissionLike.add) {
-          accountSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          accountSASPermissions.create = true;
-        }
-        if (permissionLike.update) {
-          accountSASPermissions.update = true;
-        }
-        if (permissionLike.process) {
-          accountSASPermissions.process = true;
-        }
-        if (permissionLike.setImmutabilityPolicy) {
-          accountSASPermissions.setImmutabilityPolicy = true;
-        }
-        if (permissionLike.permanentDelete) {
-          accountSASPermissions.permanentDelete = true;
-        }
-        return accountSASPermissions;
+      state.ended = true;
+      emitReadable(stream2);
+    }
+    function emitReadable(stream2) {
+      var state = stream2._readableState;
+      state.needReadable = false;
+      if (!state.emittedReadable) {
+        debug5("emitReadable", state.flowing);
+        state.emittedReadable = true;
+        if (state.sync) pna.nextTick(emitReadable_, stream2);
+        else emitReadable_(stream2);
       }
-      /**
-       * Permission to read resources and list queues and tables granted.
-       */
-      read = false;
-      /**
-       * Permission to write resources granted.
-       */
-      write = false;
-      /**
-       * Permission to delete blobs and files granted.
-       */
-      delete = false;
-      /**
-       * Permission to delete versions granted.
-       */
-      deleteVersion = false;
-      /**
-       * Permission to list blob containers, blobs, shares, directories, and files granted.
-       */
-      list = false;
-      /**
-       * Permission to add messages, table entities, and append to blobs granted.
-       */
-      add = false;
-      /**
-       * Permission to create blobs and files granted.
-       */
-      create = false;
-      /**
-       * Permissions to update messages and table entities granted.
-       */
-      update = false;
-      /**
-       * Permission to get and delete messages granted.
-       */
-      process = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Permission to filter blobs.
-       */
-      filter = false;
-      /**
-       * Permission to set immutability policy.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Produces the SAS permissions string for an Azure Storage account.
-       * Call this method to set AccountSASSignatureValues Permissions field.
-       *
-       * Using this method will guarantee the resource types are in
-       * an order accepted by the service.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
-       *
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.write) {
-          permissions.push("w");
-        }
-        if (this.delete) {
-          permissions.push("d");
-        }
-        if (this.deleteVersion) {
-          permissions.push("x");
-        }
-        if (this.filter) {
-          permissions.push("f");
-        }
-        if (this.tag) {
-          permissions.push("t");
-        }
-        if (this.list) {
-          permissions.push("l");
-        }
-        if (this.add) {
-          permissions.push("a");
-        }
-        if (this.create) {
-          permissions.push("c");
-        }
-        if (this.update) {
-          permissions.push("u");
-        }
-        if (this.process) {
-          permissions.push("p");
-        }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
-        }
-        if (this.permanentDelete) {
-          permissions.push("y");
-        }
-        return permissions.join("");
+    }
+    function emitReadable_(stream2) {
+      debug5("emit readable");
+      stream2.emit("readable");
+      flow(stream2);
+    }
+    function maybeReadMore(stream2, state) {
+      if (!state.readingMore) {
+        state.readingMore = true;
+        pna.nextTick(maybeReadMore_, stream2, state);
+      }
+    }
+    function maybeReadMore_(stream2, state) {
+      var len = state.length;
+      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
+        debug5("maybeReadMore read 0");
+        stream2.read(0);
+        if (len === state.length)
+          break;
+        else len = state.length;
       }
+      state.readingMore = false;
+    }
+    Readable2.prototype._read = function(n) {
+      this.emit("error", new Error("_read() is not implemented"));
     };
-    exports2.AccountSASPermissions = AccountSASPermissions;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js
-var require_AccountSASResourceTypes = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASResourceTypes = void 0;
-    var AccountSASResourceTypes = class _AccountSASResourceTypes {
-      /**
-       * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid resource type.
-       *
-       * @param resourceTypes -
-       */
-      static parse(resourceTypes) {
-        const accountSASResourceTypes = new _AccountSASResourceTypes();
-        for (const c of resourceTypes) {
-          switch (c) {
-            case "s":
-              accountSASResourceTypes.service = true;
-              break;
-            case "c":
-              accountSASResourceTypes.container = true;
-              break;
-            case "o":
-              accountSASResourceTypes.object = true;
-              break;
-            default:
-              throw new RangeError(`Invalid resource type: ${c}`);
+    Readable2.prototype.pipe = function(dest, pipeOpts) {
+      var src = this;
+      var state = this._readableState;
+      switch (state.pipesCount) {
+        case 0:
+          state.pipes = dest;
+          break;
+        case 1:
+          state.pipes = [state.pipes, dest];
+          break;
+        default:
+          state.pipes.push(dest);
+          break;
+      }
+      state.pipesCount += 1;
+      debug5("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
+      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
+      var endFn = doEnd ? onend : unpipe;
+      if (state.endEmitted) pna.nextTick(endFn);
+      else src.once("end", endFn);
+      dest.on("unpipe", onunpipe);
+      function onunpipe(readable, unpipeInfo) {
+        debug5("onunpipe");
+        if (readable === src) {
+          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
+            unpipeInfo.hasUnpiped = true;
+            cleanup();
           }
         }
-        return accountSASResourceTypes;
       }
-      /**
-       * Permission to access service level APIs granted.
-       */
-      service = false;
-      /**
-       * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
-       */
-      container = false;
-      /**
-       * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
-       */
-      object = false;
-      /**
-       * Converts the given resource types to a string.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
-       *
-       */
-      toString() {
-        const resourceTypes = [];
-        if (this.service) {
-          resourceTypes.push("s");
+      function onend() {
+        debug5("onend");
+        dest.end();
+      }
+      var ondrain = pipeOnDrain(src);
+      dest.on("drain", ondrain);
+      var cleanedUp = false;
+      function cleanup() {
+        debug5("cleanup");
+        dest.removeListener("close", onclose);
+        dest.removeListener("finish", onfinish);
+        dest.removeListener("drain", ondrain);
+        dest.removeListener("error", onerror);
+        dest.removeListener("unpipe", onunpipe);
+        src.removeListener("end", onend);
+        src.removeListener("end", unpipe);
+        src.removeListener("data", ondata);
+        cleanedUp = true;
+        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      }
+      var increasedAwaitDrain = false;
+      src.on("data", ondata);
+      function ondata(chunk) {
+        debug5("ondata");
+        increasedAwaitDrain = false;
+        var ret = dest.write(chunk);
+        if (false === ret && !increasedAwaitDrain) {
+          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
+            debug5("false write response, pause", state.awaitDrain);
+            state.awaitDrain++;
+            increasedAwaitDrain = true;
+          }
+          src.pause();
         }
-        if (this.container) {
-          resourceTypes.push("c");
+      }
+      function onerror(er) {
+        debug5("onerror", er);
+        unpipe();
+        dest.removeListener("error", onerror);
+        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
+      }
+      prependListener(dest, "error", onerror);
+      function onclose() {
+        dest.removeListener("finish", onfinish);
+        unpipe();
+      }
+      dest.once("close", onclose);
+      function onfinish() {
+        debug5("onfinish");
+        dest.removeListener("close", onclose);
+        unpipe();
+      }
+      dest.once("finish", onfinish);
+      function unpipe() {
+        debug5("unpipe");
+        src.unpipe(dest);
+      }
+      dest.emit("pipe", src);
+      if (!state.flowing) {
+        debug5("pipe resume");
+        src.resume();
+      }
+      return dest;
+    };
+    function pipeOnDrain(src) {
+      return function() {
+        var state = src._readableState;
+        debug5("pipeOnDrain", state.awaitDrain);
+        if (state.awaitDrain) state.awaitDrain--;
+        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
+          state.flowing = true;
+          flow(src);
         }
-        if (this.object) {
-          resourceTypes.push("o");
+      };
+    }
+    Readable2.prototype.unpipe = function(dest) {
+      var state = this._readableState;
+      var unpipeInfo = { hasUnpiped: false };
+      if (state.pipesCount === 0) return this;
+      if (state.pipesCount === 1) {
+        if (dest && dest !== state.pipes) return this;
+        if (!dest) dest = state.pipes;
+        state.pipes = null;
+        state.pipesCount = 0;
+        state.flowing = false;
+        if (dest) dest.emit("unpipe", this, unpipeInfo);
+        return this;
+      }
+      if (!dest) {
+        var dests = state.pipes;
+        var len = state.pipesCount;
+        state.pipes = null;
+        state.pipesCount = 0;
+        state.flowing = false;
+        for (var i = 0; i < len; i++) {
+          dests[i].emit("unpipe", this, { hasUnpiped: false });
         }
-        return resourceTypes.join("");
+        return this;
       }
+      var index = indexOf(state.pipes, dest);
+      if (index === -1) return this;
+      state.pipes.splice(index, 1);
+      state.pipesCount -= 1;
+      if (state.pipesCount === 1) state.pipes = state.pipes[0];
+      dest.emit("unpipe", this, unpipeInfo);
+      return this;
     };
-    exports2.AccountSASResourceTypes = AccountSASResourceTypes;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js
-var require_AccountSASServices = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASServices = void 0;
-    var AccountSASServices = class _AccountSASServices {
-      /**
-       * Creates an {@link AccountSASServices} from the specified services string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid service.
-       *
-       * @param services -
-       */
-      static parse(services) {
-        const accountSASServices = new _AccountSASServices();
-        for (const c of services) {
-          switch (c) {
-            case "b":
-              accountSASServices.blob = true;
-              break;
-            case "f":
-              accountSASServices.file = true;
-              break;
-            case "q":
-              accountSASServices.queue = true;
-              break;
-            case "t":
-              accountSASServices.table = true;
-              break;
-            default:
-              throw new RangeError(`Invalid service character: ${c}`);
+    Readable2.prototype.on = function(ev, fn) {
+      var res = Stream.prototype.on.call(this, ev, fn);
+      if (ev === "data") {
+        if (this._readableState.flowing !== false) this.resume();
+      } else if (ev === "readable") {
+        var state = this._readableState;
+        if (!state.endEmitted && !state.readableListening) {
+          state.readableListening = state.needReadable = true;
+          state.emittedReadable = false;
+          if (!state.reading) {
+            pna.nextTick(nReadingNextTick, this);
+          } else if (state.length) {
+            emitReadable(this);
           }
         }
-        return accountSASServices;
       }
-      /**
-       * Permission to access blob resources granted.
-       */
-      blob = false;
-      /**
-       * Permission to access file resources granted.
-       */
-      file = false;
-      /**
-       * Permission to access queue resources granted.
-       */
-      queue = false;
-      /**
-       * Permission to access table resources granted.
-       */
-      table = false;
-      /**
-       * Converts the given services to a string.
-       *
-       */
-      toString() {
-        const services = [];
-        if (this.blob) {
-          services.push("b");
-        }
-        if (this.table) {
-          services.push("t");
-        }
-        if (this.queue) {
-          services.push("q");
-        }
-        if (this.file) {
-          services.push("f");
-        }
-        return services.join("");
+      return res;
+    };
+    Readable2.prototype.addListener = Readable2.prototype.on;
+    function nReadingNextTick(self2) {
+      debug5("readable nexttick read 0");
+      self2.read(0);
+    }
+    Readable2.prototype.resume = function() {
+      var state = this._readableState;
+      if (!state.flowing) {
+        debug5("resume");
+        state.flowing = true;
+        resume(this, state);
       }
+      return this;
     };
-    exports2.AccountSASServices = AccountSASServices;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js
-var require_AccountSASSignatureValues = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters;
-    exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal;
-    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
-    var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes();
-    var AccountSASServices_js_1 = require_AccountSASServices();
-    var SasIPRange_js_1 = require_SasIPRange();
-    var SASQueryParameters_js_1 = require_SASQueryParameters();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
-      return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
+    function resume(stream2, state) {
+      if (!state.resumeScheduled) {
+        state.resumeScheduled = true;
+        pna.nextTick(resume_, stream2, state);
+      }
     }
-    function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
-      const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
-        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+    function resume_(stream2, state) {
+      if (!state.reading) {
+        debug5("resume read 0");
+        stream2.read(0);
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission.");
+      state.resumeScheduled = false;
+      state.awaitDrain = 0;
+      stream2.emit("resume");
+      flow(stream2);
+      if (state.flowing && !state.reading) stream2.read(0);
+    }
+    Readable2.prototype.pause = function() {
+      debug5("call pause flowing=%j", this._readableState.flowing);
+      if (false !== this._readableState.flowing) {
+        debug5("pause");
+        this._readableState.flowing = false;
+        this.emit("pause");
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission.");
+      return this;
+    };
+    function flow(stream2) {
+      var state = stream2._readableState;
+      debug5("flow", state.flowing);
+      while (state.flowing && stream2.read() !== null) {
+      }
+    }
+    Readable2.prototype.wrap = function(stream2) {
+      var _this = this;
+      var state = this._readableState;
+      var paused = false;
+      stream2.on("end", function() {
+        debug5("wrapped end");
+        if (state.decoder && !state.ended) {
+          var chunk = state.decoder.end();
+          if (chunk && chunk.length) _this.push(chunk);
+        }
+        _this.push(null);
+      });
+      stream2.on("data", function(chunk) {
+        debug5("wrapped data");
+        if (state.decoder) chunk = state.decoder.write(chunk);
+        if (state.objectMode && (chunk === null || chunk === void 0)) return;
+        else if (!state.objectMode && (!chunk || !chunk.length)) return;
+        var ret = _this.push(chunk);
+        if (!ret) {
+          paused = true;
+          stream2.pause();
+        }
+      });
+      for (var i in stream2) {
+        if (this[i] === void 0 && typeof stream2[i] === "function") {
+          this[i] = /* @__PURE__ */ (function(method) {
+            return function() {
+              return stream2[method].apply(stream2, arguments);
+            };
+          })(i);
+        }
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission.");
+      for (var n = 0; n < kProxyEvents.length; n++) {
+        stream2.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission.");
+      this._read = function(n2) {
+        debug5("wrapped _read", n2);
+        if (paused) {
+          paused = false;
+          stream2.resume();
+        }
+      };
+      return this;
+    };
+    Object.defineProperty(Readable2.prototype, "readableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._readableState.highWaterMark;
       }
-      if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") {
-        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+    });
+    Readable2._fromList = fromList;
+    function fromList(n, state) {
+      if (state.length === 0) return null;
+      var ret;
+      if (state.objectMode) ret = state.buffer.shift();
+      else if (!n || n >= state.length) {
+        if (state.decoder) ret = state.buffer.join("");
+        else if (state.buffer.length === 1) ret = state.buffer.head.data;
+        else ret = state.buffer.concat(state.length);
+        state.buffer.clear();
+      } else {
+        ret = fromListPartial(n, state.buffer, state.decoder);
       }
-      const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString());
-      const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString();
-      const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
-      let stringToSign;
-      if (version >= "2020-12-06") {
-        stringToSign = [
-          sharedKeyCredential.accountName,
-          parsedPermissions,
-          parsedServices,
-          parsedResourceTypes,
-          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
-          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
-          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
-          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
-          version,
-          accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "",
-          ""
-          // Account SAS requires an additional newline character
-        ].join("\n");
+      return ret;
+    }
+    function fromListPartial(n, list, hasStrings) {
+      var ret;
+      if (n < list.head.data.length) {
+        ret = list.head.data.slice(0, n);
+        list.head.data = list.head.data.slice(n);
+      } else if (n === list.head.data.length) {
+        ret = list.shift();
       } else {
-        stringToSign = [
-          sharedKeyCredential.accountName,
-          parsedPermissions,
-          parsedServices,
-          parsedResourceTypes,
-          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
-          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
-          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
-          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
-          version,
-          ""
-          // Account SAS requires an additional newline character
-        ].join("\n");
+        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
       }
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope),
-        stringToSign
-      };
+      return ret;
     }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js
-var require_BlobServiceClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobServiceClient = void 0;
-    var core_auth_1 = require_commonjs7();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var Pipeline_js_1 = require_Pipeline();
-    var ContainerClient_js_1 = require_ContainerClient();
-    var utils_common_js_1 = require_utils_common();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var utils_common_js_2 = require_utils_common();
-    var tracing_js_1 = require_tracing();
-    var BlobBatchClient_js_1 = require_BlobBatchClient();
-    var StorageClient_js_1 = require_StorageClient();
-    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
-    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
-    var AccountSASServices_js_1 = require_AccountSASServices();
-    var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient {
-      /**
-       * serviceContext provided by protocol layer.
-       */
-      serviceContext;
-      /**
-       *
-       * Creates an instance of BlobServiceClient from connection string.
-       *
-       * @param connectionString - Account connection string or a SAS connection string of an Azure storage account.
-       *                                  [ Note - Account connection string can only be used in NODE.JS runtime. ]
-       *                                  Account connection string example -
-       *                                  `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net`
-       *                                  SAS connection string example -
-       *                                  `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString`
-       * @param options - Optional. Options to configure the HTTP pipeline.
-       */
-      static fromConnectionString(connectionString, options) {
-        options = options || {};
-        const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString);
-        if (extractedCreds.kind === "AccountConnString") {
-          if (core_util_1.isNodeLike) {
-            const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-            if (!options.proxyOptions) {
-              options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-            }
-            const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            return new _BlobServiceClient(extractedCreds.url, pipeline);
+    function copyFromBufferString(n, list) {
+      var p = list.head;
+      var c = 1;
+      var ret = p.data;
+      n -= ret.length;
+      while (p = p.next) {
+        var str2 = p.data;
+        var nb = n > str2.length ? str2.length : n;
+        if (nb === str2.length) ret += str2;
+        else ret += str2.slice(0, n);
+        n -= nb;
+        if (n === 0) {
+          if (nb === str2.length) {
+            ++c;
+            if (p.next) list.head = p.next;
+            else list.head = list.tail = null;
           } else {
-            throw new Error("Account connection string is only supported in Node.js environment");
+            list.head = p;
+            p.data = str2.slice(nb);
           }
-        } else if (extractedCreds.kind === "SASConnString") {
-          const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline);
-        } else {
-          throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          break;
         }
+        ++c;
       }
-      constructor(url2, credentialOrPipeline, options) {
-        let pipeline;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
-          pipeline = credentialOrPipeline;
-        } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) {
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
-        } else {
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+      list.length -= c;
+      return ret;
+    }
+    function copyFromBuffer(n, list) {
+      var ret = Buffer2.allocUnsafe(n);
+      var p = list.head;
+      var c = 1;
+      p.data.copy(ret);
+      n -= p.data.length;
+      while (p = p.next) {
+        var buf = p.data;
+        var nb = n > buf.length ? buf.length : n;
+        buf.copy(ret, ret.length - n, 0, nb);
+        n -= nb;
+        if (n === 0) {
+          if (nb === buf.length) {
+            ++c;
+            if (p.next) list.head = p.next;
+            else list.head = list.tail = null;
+          } else {
+            list.head = p;
+            p.data = buf.slice(nb);
+          }
+          break;
         }
-        super(url2, pipeline);
-        this.serviceContext = this.storageClientContext.service;
-      }
-      /**
-       * Creates a {@link ContainerClient} object
-       *
-       * @param containerName - A container name
-       * @returns A new ContainerClient object for the given container name.
-       *
-       * Example usage:
-       *
-       * ```ts snippet:BlobServiceClientGetContainerClient
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerClient = blobServiceClient.getContainerClient("");
-       * ```
-       */
-      getContainerClient(containerName) {
-        return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline);
+        ++c;
       }
-      /**
-       * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       *
-       * @param containerName - Name of the container to create.
-       * @param options - Options to configure Container Create operation.
-       * @returns Container creation response and the corresponding container client.
-       */
-      async createContainer(containerName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(containerName);
-          const containerCreateResponse = await containerClient.create(updatedOptions);
-          return {
-            containerClient,
-            containerCreateResponse
-          };
-        });
+      list.length -= c;
+      return ret;
+    }
+    function endReadable(stream2) {
+      var state = stream2._readableState;
+      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
+      if (!state.endEmitted) {
+        state.ended = true;
+        pna.nextTick(endReadableNT, state, stream2);
       }
-      /**
-       * Deletes a Blob container.
-       *
-       * @param containerName - Name of the container to delete.
-       * @param options - Options to configure Container Delete operation.
-       * @returns Container deletion response.
-       */
-      async deleteContainer(containerName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(containerName);
-          return containerClient.delete(updatedOptions);
-        });
+    }
+    function endReadableNT(state, stream2) {
+      if (!state.endEmitted && state.length === 0) {
+        state.endEmitted = true;
+        stream2.readable = false;
+        stream2.emit("end");
       }
-      /**
-       * Restore a previously deleted Blob container.
-       * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container.
-       *
-       * @param deletedContainerName - Name of the previously deleted container.
-       * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container.
-       * @param options - Options to configure Container Restore operation.
-       * @returns Container deletion response.
-       */
-      async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName);
-          const containerContext = containerClient["storageClientContext"].container;
-          const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({
-            deletedContainerName,
-            deletedContainerVersion,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return { containerClient, containerUndeleteResponse };
-        });
+    }
+    function indexOf(xs, x) {
+      for (var i = 0, l = xs.length; i < l; i++) {
+        if (xs[i] === x) return i;
       }
-      /**
-       * Gets the properties of a storage account’s Blob service, including properties
-       * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
-       *
-       * @param options - Options to the Service Get Properties operation.
-       * @returns Response data for the Service Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return -1;
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
+var require_stream_transform = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
+    "use strict";
+    module2.exports = Transform;
+    var Duplex = require_stream_duplex();
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    util.inherits(Transform, Duplex);
+    function afterTransform(er, data) {
+      var ts = this._transformState;
+      ts.transforming = false;
+      var cb = ts.writecb;
+      if (!cb) {
+        return this.emit("error", new Error("write callback called multiple times"));
       }
-      /**
-       * Sets properties for a storage account’s Blob service endpoint, including properties
-       * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties
-       *
-       * @param properties -
-       * @param options - Options to the Service Set Properties operation.
-       * @returns Response data for the Service Set Properties operation.
-       */
-      async setProperties(properties, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, {
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      ts.writechunk = null;
+      ts.writecb = null;
+      if (data != null)
+        this.push(data);
+      cb(er);
+      var rs = this._readableState;
+      rs.reading = false;
+      if (rs.needReadable || rs.length < rs.highWaterMark) {
+        this._read(rs.highWaterMark);
       }
-      /**
-       * Retrieves statistics related to replication for the Blob service. It is only
-       * available on the secondary location endpoint when read-access geo-redundant
-       * replication is enabled for the storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats
-       *
-       * @param options - Options to the Service Get Statistics operation.
-       * @returns Response data for the Service Get Statistics operation.
-       */
-      async getStatistics(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    }
+    function Transform(options) {
+      if (!(this instanceof Transform)) return new Transform(options);
+      Duplex.call(this, options);
+      this._transformState = {
+        afterTransform: afterTransform.bind(this),
+        needTransform: false,
+        transforming: false,
+        writecb: null,
+        writechunk: null,
+        writeencoding: null
+      };
+      this._readableState.needReadable = true;
+      this._readableState.sync = false;
+      if (options) {
+        if (typeof options.transform === "function") this._transform = options.transform;
+        if (typeof options.flush === "function") this._flush = options.flush;
       }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      this.on("prefinish", prefinish);
+    }
+    function prefinish() {
+      var _this = this;
+      if (typeof this._flush === "function") {
+        this._flush(function(er, data) {
+          done(_this, er, data);
         });
+      } else {
+        done(this, null, null);
       }
-      /**
-       * Returns a list of the containers under the specified account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2
-       *
-       * @param marker - A string value that identifies the portion of
-       *                        the list of containers to be returned with the next listing operation. The
-       *                        operation returns the continuationToken value within the response body if the
-       *                        listing operation did not return all containers remaining to be listed
-       *                        with the current page. The continuationToken value can be used as the value for
-       *                        the marker parameter in a subsequent call to request the next page of list
-       *                        items. The marker value is opaque to the client.
-       * @param options - Options to the Service List Container Segment operation.
-       * @returns Response data for the Service List Container Segment operation.
-       */
-      async listContainersSegment(marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({
-            abortSignal: options.abortSignal,
-            marker,
-            ...options,
-            include: typeof options.include === "string" ? [options.include] : options.include,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    }
+    Transform.prototype.push = function(chunk, encoding) {
+      this._transformState.needTransform = false;
+      return Duplex.prototype.push.call(this, chunk, encoding);
+    };
+    Transform.prototype._transform = function(chunk, encoding, cb) {
+      throw new Error("_transform() is not implemented");
+    };
+    Transform.prototype._write = function(chunk, encoding, cb) {
+      var ts = this._transformState;
+      ts.writecb = cb;
+      ts.writechunk = chunk;
+      ts.writeencoding = encoding;
+      if (!ts.transforming) {
+        var rs = this._readableState;
+        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs across all containers whose tags
-       * match a given search expression. Filter blobs searches across all containers within a
-       * storage account but can be scoped within the expression to a single container.
-       *
-       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                        The given expression must evaluate to true for a blob to be returned in the results.
-       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({
-            abortSignal: options.abortSignal,
-            where: tagFilterSqlExpression,
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            blobs: response.blobs.map((blob) => {
-              let tagValue = "";
-              if (blob.tags?.blobTagSet.length === 1) {
-                tagValue = blob.tags.blobTagSet[0].value;
-              }
-              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
-            })
-          };
-          return wrappedResponse;
-        });
+    };
+    Transform.prototype._read = function(n) {
+      var ts = this._transformState;
+      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
+        ts.transforming = true;
+        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
+      } else {
+        ts.needTransform = true;
       }
-      /**
-       * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
-        let response;
-        if (!!marker || marker === void 0) {
-          do {
-            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
-            response.blobs = response.blobs || [];
-            marker = response.continuationToken;
-            yield response;
-          } while (marker);
-        }
+    };
+    Transform.prototype._destroy = function(err, cb) {
+      var _this2 = this;
+      Duplex.prototype._destroy.call(this, err, function(err2) {
+        cb(err2);
+        _this2.emit("close");
+      });
+    };
+    function done(stream2, er, data) {
+      if (er) return stream2.emit("error", er);
+      if (data != null)
+        stream2.push(data);
+      if (stream2._writableState.length) throw new Error("Calling transform done when ws.length != 0");
+      if (stream2._transformState.transforming) throw new Error("Calling transform done when still transforming");
+      return stream2.push(null);
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
+var require_stream_passthrough = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
+    "use strict";
+    module2.exports = PassThrough;
+    var Transform = require_stream_transform();
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    util.inherits(PassThrough, Transform);
+    function PassThrough(options) {
+      if (!(this instanceof PassThrough)) return new PassThrough(options);
+      Transform.call(this, options);
+    }
+    PassThrough.prototype._transform = function(chunk, encoding, cb) {
+      cb(null, chunk);
+    };
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/readable.js
+var require_readable3 = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
+    var Stream = require("stream");
+    if (process.env.READABLE_STREAM === "disable" && Stream) {
+      module2.exports = Stream;
+      exports2 = module2.exports = Stream.Readable;
+      exports2.Readable = Stream.Readable;
+      exports2.Writable = Stream.Writable;
+      exports2.Duplex = Stream.Duplex;
+      exports2.Transform = Stream.Transform;
+      exports2.PassThrough = Stream.PassThrough;
+      exports2.Stream = Stream;
+    } else {
+      exports2 = module2.exports = require_stream_readable();
+      exports2.Stream = Stream || exports2;
+      exports2.Readable = exports2;
+      exports2.Writable = require_stream_writable();
+      exports2.Duplex = require_stream_duplex();
+      exports2.Transform = require_stream_transform();
+      exports2.PassThrough = require_stream_passthrough();
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/passthrough.js
+var require_passthrough = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
+    module2.exports = require_readable3().PassThrough;
+  }
+});
+
+// node_modules/lazystream/lib/lazystream.js
+var require_lazystream = __commonJS({
+  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
+    var util = require("util");
+    var PassThrough = require_passthrough();
+    module2.exports = {
+      Readable: Readable2,
+      Writable
+    };
+    util.inherits(Readable2, PassThrough);
+    util.inherits(Writable, PassThrough);
+    function beforeFirstCall(instance, method, callback) {
+      instance[method] = function() {
+        delete instance[method];
+        callback.apply(this, arguments);
+        return this[method].apply(this, arguments);
+      };
+    }
+    function Readable2(fn, options) {
+      if (!(this instanceof Readable2))
+        return new Readable2(fn, options);
+      PassThrough.call(this, options);
+      beforeFirstCall(this, "_read", function() {
+        var source = fn.call(this, options);
+        var emit = this.emit.bind(this, "error");
+        source.on("error", emit);
+        source.pipe(this);
+      });
+      this.emit("readable");
+    }
+    function Writable(fn, options) {
+      if (!(this instanceof Writable))
+        return new Writable(fn, options);
+      PassThrough.call(this, options);
+      beforeFirstCall(this, "_write", function() {
+        var destination = fn.call(this, options);
+        var emit = this.emit.bind(this, "error");
+        destination.on("error", emit);
+        this.pipe(destination);
+      });
+      this.emit("writable");
+    }
+  }
+});
+
+// node_modules/normalize-path/index.js
+var require_normalize_path = __commonJS({
+  "node_modules/normalize-path/index.js"(exports2, module2) {
+    module2.exports = function(path16, stripTrailing) {
+      if (typeof path16 !== "string") {
+        throw new TypeError("expected path to be a string");
       }
-      /**
-       * Returns an AsyncIterableIterator for blobs.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to findBlobsByTagsItems.
-       */
-      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
-        let marker;
-        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
-          yield* segment.blobs;
+      if (path16 === "\\" || path16 === "/") return "/";
+      var len = path16.length;
+      if (len <= 1) return path16;
+      var prefix = "";
+      if (len > 4 && path16[3] === "\\") {
+        var ch = path16[2];
+        if ((ch === "?" || ch === ".") && path16.slice(0, 2) === "\\\\") {
+          path16 = path16.slice(2);
+          prefix = "//";
         }
       }
-      /**
-       * Returns an async iterable iterator to find all blobs with specified tag
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
-       *
-       * ```ts snippet:BlobServiceClientFindBlobsByTags
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * // Use for await to iterate the blobs
-       * let i = 1;
-       * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Use iter.next() to iterate the blobs
-       * i = 1;
-       * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Use byPage() to iterate the blobs
-       * i = 1;
-       * for await (const page of blobServiceClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Use paging with a marker
-       * i = 1;
-       * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = blobServiceClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       *
-       * // Prints blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to find blobs by tags.
-       */
-      findBlobsByTags(tagFilterSqlExpression, options = {}) {
-        const listSegmentOptions = {
-          ...options
-        };
-        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
-          }
-        };
-      }
-      /**
-       * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses
-       *
-       * @param marker - A string value that identifies the portion of
-       *                        the list of containers to be returned with the next listing operation. The
-       *                        operation returns the continuationToken value within the response body if the
-       *                        listing operation did not return all containers remaining to be listed
-       *                        with the current page. The continuationToken value can be used as the value for
-       *                        the marker parameter in a subsequent call to request the next page of list
-       *                        items. The marker value is opaque to the client.
-       * @param options - Options to list containers operation.
-       */
-      async *listSegments(marker, options = {}) {
-        let listContainersSegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listContainersSegmentResponse = await this.listContainersSegment(marker, options);
-            listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || [];
-            marker = listContainersSegmentResponse.continuationToken;
-            yield await listContainersSegmentResponse;
-          } while (marker);
-        }
+      var segs = path16.split(/[/\\]+/);
+      if (stripTrailing !== false && segs[segs.length - 1] === "") {
+        segs.pop();
       }
-      /**
-       * Returns an AsyncIterableIterator for Container Items
-       *
-       * @param options - Options to list containers operation.
-       */
-      async *listItems(options = {}) {
-        let marker;
-        for await (const segment of this.listSegments(marker, options)) {
-          yield* segment.containerItems;
-        }
+      return prefix + segs.join("/");
+    };
+  }
+});
+
+// node_modules/lodash/identity.js
+var require_identity = __commonJS({
+  "node_modules/lodash/identity.js"(exports2, module2) {
+    function identity(value) {
+      return value;
+    }
+    module2.exports = identity;
+  }
+});
+
+// node_modules/lodash/_apply.js
+var require_apply = __commonJS({
+  "node_modules/lodash/_apply.js"(exports2, module2) {
+    function apply(func, thisArg, args) {
+      switch (args.length) {
+        case 0:
+          return func.call(thisArg);
+        case 1:
+          return func.call(thisArg, args[0]);
+        case 2:
+          return func.call(thisArg, args[0], args[1]);
+        case 3:
+          return func.call(thisArg, args[0], args[1], args[2]);
       }
-      /**
-       * Returns an async iterable iterator to list all the containers
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the containers in pages.
-       *
-       * ```ts snippet:BlobServiceClientListContainers
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * // Use for await to iterate the containers
-       * let i = 1;
-       * for await (const container of blobServiceClient.listContainers()) {
-       *   console.log(`Container ${i++}: ${container.name}`);
-       * }
-       *
-       * // Use iter.next() to iterate the containers
-       * i = 1;
-       * const iter = blobServiceClient.listContainers();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Container ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Use byPage() to iterate the containers
-       * i = 1;
-       * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
-       *   for (const container of page.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       *
-       * // Use paging with a marker
-       * i = 1;
-       * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       *
-       * // Prints 2 container names
-       * if (response.containerItems) {
-       *   for (const container of response.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       *
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = blobServiceClient
-       *   .listContainers()
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       *
-       * // Prints 10 container names
-       * if (response.containerItems) {
-       *   for (const container of response.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param options - Options to list containers.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listContainers(options = {}) {
-        if (options.prefix === "") {
-          options.prefix = void 0;
-        }
-        const include = [];
-        if (options.includeDeleted) {
-          include.push("deleted");
-        }
-        if (options.includeMetadata) {
-          include.push("metadata");
+      return func.apply(thisArg, args);
+    }
+    module2.exports = apply;
+  }
+});
+
+// node_modules/lodash/_overRest.js
+var require_overRest = __commonJS({
+  "node_modules/lodash/_overRest.js"(exports2, module2) {
+    var apply = require_apply();
+    var nativeMax = Math.max;
+    function overRest(func, start, transform) {
+      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
+      return function() {
+        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
+        while (++index < length) {
+          array[index] = args[start + index];
         }
-        if (options.includeSystem) {
-          include.push("system");
+        index = -1;
+        var otherArgs = Array(start + 1);
+        while (++index < start) {
+          otherArgs[index] = args[index];
         }
-        const listSegmentOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItems(listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listSegments(settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
-          }
-        };
+        otherArgs[start] = transform(array);
+        return apply(func, this, otherArgs);
+      };
+    }
+    module2.exports = overRest;
+  }
+});
+
+// node_modules/lodash/constant.js
+var require_constant = __commonJS({
+  "node_modules/lodash/constant.js"(exports2, module2) {
+    function constant(value) {
+      return function() {
+        return value;
+      };
+    }
+    module2.exports = constant;
+  }
+});
+
+// node_modules/lodash/_freeGlobal.js
+var require_freeGlobal = __commonJS({
+  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
+    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
+    module2.exports = freeGlobal;
+  }
+});
+
+// node_modules/lodash/_root.js
+var require_root = __commonJS({
+  "node_modules/lodash/_root.js"(exports2, module2) {
+    var freeGlobal = require_freeGlobal();
+    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
+    var root = freeGlobal || freeSelf || Function("return this")();
+    module2.exports = root;
+  }
+});
+
+// node_modules/lodash/_Symbol.js
+var require_Symbol = __commonJS({
+  "node_modules/lodash/_Symbol.js"(exports2, module2) {
+    var root = require_root();
+    var Symbol2 = root.Symbol;
+    module2.exports = Symbol2;
+  }
+});
+
+// node_modules/lodash/_getRawTag.js
+var require_getRawTag = __commonJS({
+  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var nativeObjectToString = objectProto.toString;
+    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
+    function getRawTag(value) {
+      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
+      try {
+        value[symToStringTag] = void 0;
+        var unmasked = true;
+      } catch (e) {
       }
-      /**
-       * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential).
-       *
-       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
-       * bearer token authentication.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key
-       *
-       * @param startsOn -      The start time for the user delegation SAS. Must be within 7 days of the current time
-       * @param expiresOn -     The end time for the user delegation SAS. Must be within 7 days of the current time
-       */
-      async getUserDelegationKey(startsOn, expiresOn, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({
-            startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false),
-            expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false)
-          }, {
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const userDelegationKey = {
-            signedObjectId: response.signedObjectId,
-            signedTenantId: response.signedTenantId,
-            signedStartsOn: new Date(response.signedStartsOn),
-            signedExpiresOn: new Date(response.signedExpiresOn),
-            signedService: response.signedService,
-            signedVersion: response.signedVersion,
-            value: response.value
-          };
-          const res = {
-            _response: response._response,
-            requestId: response.requestId,
-            clientRequestId: response.clientRequestId,
-            version: response.version,
-            date: response.date,
-            errorCode: response.errorCode,
-            ...userDelegationKey
-          };
-          return res;
-        });
+      var result = nativeObjectToString.call(value);
+      if (unmasked) {
+        if (isOwn) {
+          value[symToStringTag] = tag;
+        } else {
+          delete value[symToStringTag];
+        }
       }
-      /**
-       * Creates a BlobBatchClient object to conduct batch operations.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @returns A new BlobBatchClient object for this service.
-       */
-      getBlobBatchClient() {
-        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      return result;
+    }
+    module2.exports = getRawTag;
+  }
+});
+
+// node_modules/lodash/_objectToString.js
+var require_objectToString = __commonJS({
+  "node_modules/lodash/_objectToString.js"(exports2, module2) {
+    var objectProto = Object.prototype;
+    var nativeObjectToString = objectProto.toString;
+    function objectToString(value) {
+      return nativeObjectToString.call(value);
+    }
+    module2.exports = objectToString;
+  }
+});
+
+// node_modules/lodash/_baseGetTag.js
+var require_baseGetTag = __commonJS({
+  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var getRawTag = require_getRawTag();
+    var objectToString = require_objectToString();
+    var nullTag = "[object Null]";
+    var undefinedTag = "[object Undefined]";
+    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
+    function baseGetTag(value) {
+      if (value == null) {
+        return value === void 0 ? undefinedTag : nullTag;
       }
-      /**
-       * Only available for BlobServiceClient constructed with a shared key credential.
-       *
-       * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
-       *
-       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
-       * @param permissions - Specifies the list of permissions to be associated with the SAS.
-       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
-       * @param options - Optional parameters.
-       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
+    }
+    module2.exports = baseGetTag;
+  }
+});
+
+// node_modules/lodash/isObject.js
+var require_isObject = __commonJS({
+  "node_modules/lodash/isObject.js"(exports2, module2) {
+    function isObject2(value) {
+      var type2 = typeof value;
+      return value != null && (type2 == "object" || type2 == "function");
+    }
+    module2.exports = isObject2;
+  }
+});
+
+// node_modules/lodash/isFunction.js
+var require_isFunction = __commonJS({
+  "node_modules/lodash/isFunction.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isObject2 = require_isObject();
+    var asyncTag = "[object AsyncFunction]";
+    var funcTag = "[object Function]";
+    var genTag = "[object GeneratorFunction]";
+    var proxyTag = "[object Proxy]";
+    function isFunction(value) {
+      if (!isObject2(value)) {
+        return false;
+      }
+      var tag = baseGetTag(value);
+      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
+    }
+    module2.exports = isFunction;
+  }
+});
+
+// node_modules/lodash/_coreJsData.js
+var require_coreJsData = __commonJS({
+  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
+    var root = require_root();
+    var coreJsData = root["__core-js_shared__"];
+    module2.exports = coreJsData;
+  }
+});
+
+// node_modules/lodash/_isMasked.js
+var require_isMasked = __commonJS({
+  "node_modules/lodash/_isMasked.js"(exports2, module2) {
+    var coreJsData = require_coreJsData();
+    var maskSrcKey = (function() {
+      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
+      return uid ? "Symbol(src)_1." + uid : "";
+    })();
+    function isMasked(func) {
+      return !!maskSrcKey && maskSrcKey in func;
+    }
+    module2.exports = isMasked;
+  }
+});
+
+// node_modules/lodash/_toSource.js
+var require_toSource = __commonJS({
+  "node_modules/lodash/_toSource.js"(exports2, module2) {
+    var funcProto = Function.prototype;
+    var funcToString = funcProto.toString;
+    function toSource(func) {
+      if (func != null) {
+        try {
+          return funcToString.call(func);
+        } catch (e) {
         }
-        if (expiresOn === void 0) {
-          const now = /* @__PURE__ */ new Date();
-          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+        try {
+          return func + "";
+        } catch (e) {
         }
-        const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({
-          permissions,
-          expiresOn,
-          resourceTypes,
-          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
-          ...options
-        }, this.credential).toString();
-        return (0, utils_common_js_1.appendToURLQuery)(this.url, sas);
       }
-      /**
-       * Only available for BlobServiceClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
-       *
-       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
-       * @param permissions - Specifies the list of permissions to be associated with the SAS.
-       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
-       * @param options - Optional parameters.
-       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
-        }
-        if (expiresOn === void 0) {
-          const now = /* @__PURE__ */ new Date();
-          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+      return "";
+    }
+    module2.exports = toSource;
+  }
+});
+
+// node_modules/lodash/_baseIsNative.js
+var require_baseIsNative = __commonJS({
+  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
+    var isFunction = require_isFunction();
+    var isMasked = require_isMasked();
+    var isObject2 = require_isObject();
+    var toSource = require_toSource();
+    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
+    var reIsHostCtor = /^\[object .+?Constructor\]$/;
+    var funcProto = Function.prototype;
+    var objectProto = Object.prototype;
+    var funcToString = funcProto.toString;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var reIsNative = RegExp(
+      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
+    );
+    function baseIsNative(value) {
+      if (!isObject2(value) || isMasked(value)) {
+        return false;
+      }
+      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
+      return pattern.test(toSource(value));
+    }
+    module2.exports = baseIsNative;
+  }
+});
+
+// node_modules/lodash/_getValue.js
+var require_getValue = __commonJS({
+  "node_modules/lodash/_getValue.js"(exports2, module2) {
+    function getValue(object, key) {
+      return object == null ? void 0 : object[key];
+    }
+    module2.exports = getValue;
+  }
+});
+
+// node_modules/lodash/_getNative.js
+var require_getNative = __commonJS({
+  "node_modules/lodash/_getNative.js"(exports2, module2) {
+    var baseIsNative = require_baseIsNative();
+    var getValue = require_getValue();
+    function getNative(object, key) {
+      var value = getValue(object, key);
+      return baseIsNative(value) ? value : void 0;
+    }
+    module2.exports = getNative;
+  }
+});
+
+// node_modules/lodash/_defineProperty.js
+var require_defineProperty = __commonJS({
+  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var defineProperty = (function() {
+      try {
+        var func = getNative(Object, "defineProperty");
+        func({}, "", {});
+        return func;
+      } catch (e) {
+      }
+    })();
+    module2.exports = defineProperty;
+  }
+});
+
+// node_modules/lodash/_baseSetToString.js
+var require_baseSetToString = __commonJS({
+  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
+    var constant = require_constant();
+    var defineProperty = require_defineProperty();
+    var identity = require_identity();
+    var baseSetToString = !defineProperty ? identity : function(func, string) {
+      return defineProperty(func, "toString", {
+        "configurable": true,
+        "enumerable": false,
+        "value": constant(string),
+        "writable": true
+      });
+    };
+    module2.exports = baseSetToString;
+  }
+});
+
+// node_modules/lodash/_shortOut.js
+var require_shortOut = __commonJS({
+  "node_modules/lodash/_shortOut.js"(exports2, module2) {
+    var HOT_COUNT = 800;
+    var HOT_SPAN = 16;
+    var nativeNow = Date.now;
+    function shortOut(func) {
+      var count = 0, lastCalled = 0;
+      return function() {
+        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
+        lastCalled = stamp;
+        if (remaining > 0) {
+          if (++count >= HOT_COUNT) {
+            return arguments[0];
+          }
+        } else {
+          count = 0;
         }
-        return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({
-          permissions,
-          expiresOn,
-          resourceTypes,
-          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
-          ...options
-        }, this.credential).stringToSign;
+        return func.apply(void 0, arguments);
+      };
+    }
+    module2.exports = shortOut;
+  }
+});
+
+// node_modules/lodash/_setToString.js
+var require_setToString = __commonJS({
+  "node_modules/lodash/_setToString.js"(exports2, module2) {
+    var baseSetToString = require_baseSetToString();
+    var shortOut = require_shortOut();
+    var setToString = shortOut(baseSetToString);
+    module2.exports = setToString;
+  }
+});
+
+// node_modules/lodash/_baseRest.js
+var require_baseRest = __commonJS({
+  "node_modules/lodash/_baseRest.js"(exports2, module2) {
+    var identity = require_identity();
+    var overRest = require_overRest();
+    var setToString = require_setToString();
+    function baseRest(func, start) {
+      return setToString(overRest(func, start, identity), func + "");
+    }
+    module2.exports = baseRest;
+  }
+});
+
+// node_modules/lodash/eq.js
+var require_eq2 = __commonJS({
+  "node_modules/lodash/eq.js"(exports2, module2) {
+    function eq(value, other) {
+      return value === other || value !== value && other !== other;
+    }
+    module2.exports = eq;
+  }
+});
+
+// node_modules/lodash/isLength.js
+var require_isLength = __commonJS({
+  "node_modules/lodash/isLength.js"(exports2, module2) {
+    var MAX_SAFE_INTEGER = 9007199254740991;
+    function isLength(value) {
+      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+    }
+    module2.exports = isLength;
+  }
+});
+
+// node_modules/lodash/isArrayLike.js
+var require_isArrayLike = __commonJS({
+  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
+    var isFunction = require_isFunction();
+    var isLength = require_isLength();
+    function isArrayLike(value) {
+      return value != null && isLength(value.length) && !isFunction(value);
+    }
+    module2.exports = isArrayLike;
+  }
+});
+
+// node_modules/lodash/_isIndex.js
+var require_isIndex = __commonJS({
+  "node_modules/lodash/_isIndex.js"(exports2, module2) {
+    var MAX_SAFE_INTEGER = 9007199254740991;
+    var reIsUint = /^(?:0|[1-9]\d*)$/;
+    function isIndex(value, length) {
+      var type2 = typeof value;
+      length = length == null ? MAX_SAFE_INTEGER : length;
+      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
+    }
+    module2.exports = isIndex;
+  }
+});
+
+// node_modules/lodash/_isIterateeCall.js
+var require_isIterateeCall = __commonJS({
+  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
+    var eq = require_eq2();
+    var isArrayLike = require_isArrayLike();
+    var isIndex = require_isIndex();
+    var isObject2 = require_isObject();
+    function isIterateeCall(value, index, object) {
+      if (!isObject2(object)) {
+        return false;
+      }
+      var type2 = typeof index;
+      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
+        return eq(object[index], value);
+      }
+      return false;
+    }
+    module2.exports = isIterateeCall;
+  }
+});
+
+// node_modules/lodash/_baseTimes.js
+var require_baseTimes = __commonJS({
+  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
+    function baseTimes(n, iteratee) {
+      var index = -1, result = Array(n);
+      while (++index < n) {
+        result[index] = iteratee(index);
       }
+      return result;
+    }
+    module2.exports = baseTimes;
+  }
+});
+
+// node_modules/lodash/isObjectLike.js
+var require_isObjectLike = __commonJS({
+  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
+    function isObjectLike(value) {
+      return value != null && typeof value == "object";
+    }
+    module2.exports = isObjectLike;
+  }
+});
+
+// node_modules/lodash/_baseIsArguments.js
+var require_baseIsArguments = __commonJS({
+  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isObjectLike = require_isObjectLike();
+    var argsTag = "[object Arguments]";
+    function baseIsArguments(value) {
+      return isObjectLike(value) && baseGetTag(value) == argsTag;
+    }
+    module2.exports = baseIsArguments;
+  }
+});
+
+// node_modules/lodash/isArguments.js
+var require_isArguments = __commonJS({
+  "node_modules/lodash/isArguments.js"(exports2, module2) {
+    var baseIsArguments = require_baseIsArguments();
+    var isObjectLike = require_isObjectLike();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
+    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
+      return arguments;
+    })()) ? baseIsArguments : function(value) {
+      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
     };
-    exports2.BlobServiceClient = BlobServiceClient;
+    module2.exports = isArguments;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js
-var require_BatchResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
+// node_modules/lodash/isArray.js
+var require_isArray = __commonJS({
+  "node_modules/lodash/isArray.js"(exports2, module2) {
+    var isArray = Array.isArray;
+    module2.exports = isArray;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js
-var require_generatedModels = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.KnownEncryptionAlgorithmType = void 0;
-    var KnownEncryptionAlgorithmType;
-    (function(KnownEncryptionAlgorithmType2) {
-      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
-    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
+// node_modules/lodash/stubFalse.js
+var require_stubFalse = __commonJS({
+  "node_modules/lodash/stubFalse.js"(exports2, module2) {
+    function stubFalse() {
+      return false;
+    }
+    module2.exports = stubFalse;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/index.js
-var require_commonjs15 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var core_rest_pipeline_1 = require_commonjs6();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return core_rest_pipeline_1.RestError;
-    } });
-    tslib_1.__exportStar(require_BlobServiceClient(), exports2);
-    tslib_1.__exportStar(require_Clients(), exports2);
-    tslib_1.__exportStar(require_ContainerClient(), exports2);
-    tslib_1.__exportStar(require_BlobLeaseClient(), exports2);
-    tslib_1.__exportStar(require_AccountSASPermissions(), exports2);
-    tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2);
-    tslib_1.__exportStar(require_AccountSASServices(), exports2);
-    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
-    Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() {
-      return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters;
-    } });
-    tslib_1.__exportStar(require_BlobBatch(), exports2);
-    tslib_1.__exportStar(require_BlobBatchClient(), exports2);
-    tslib_1.__exportStar(require_BatchResponse(), exports2);
-    tslib_1.__exportStar(require_BlobSASPermissions(), exports2);
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() {
-      return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters;
-    } });
-    tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2);
-    tslib_1.__exportStar(require_ContainerSASPermissions(), exports2);
-    tslib_1.__exportStar(require_AnonymousCredential(), exports2);
-    tslib_1.__exportStar(require_Credential(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2);
-    var models_js_1 = require_models2();
-    Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() {
-      return models_js_1.BlockBlobTier;
-    } });
-    Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() {
-      return models_js_1.PremiumPageBlobTier;
-    } });
-    Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() {
-      return models_js_1.StorageBlobAudience;
-    } });
-    Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() {
-      return models_js_1.getBlobServiceAccountAudience;
-    } });
-    var Pipeline_js_1 = require_Pipeline();
-    Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() {
-      return Pipeline_js_1.Pipeline;
-    } });
-    Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() {
-      return Pipeline_js_1.isPipelineLike;
-    } });
-    Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() {
-      return Pipeline_js_1.newPipeline;
-    } });
-    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
-      return Pipeline_js_1.StorageOAuthScopes;
-    } });
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
-      return RequestPolicy_js_1.BaseRequestPolicy;
-    } });
-    tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_CredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_SASQueryParameters(), exports2);
-    tslib_1.__exportStar(require_generatedModels(), exports2);
-    var log_js_1 = require_log5();
-    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
-      return log_js_1.logger;
-    } });
+// node_modules/lodash/isBuffer.js
+var require_isBuffer = __commonJS({
+  "node_modules/lodash/isBuffer.js"(exports2, module2) {
+    var root = require_root();
+    var stubFalse = require_stubFalse();
+    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
+    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
+    var moduleExports = freeModule && freeModule.exports === freeExports;
+    var Buffer2 = moduleExports ? root.Buffer : void 0;
+    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
+    var isBuffer = nativeIsBuffer || stubFalse;
+    module2.exports = isBuffer;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/shared/errors.js
-var require_errors3 = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RateLimitError = exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.CacheNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
-    var FilesNotFoundError = class extends Error {
-      constructor(files = []) {
-        let message = "No files were found to upload";
-        if (files.length > 0) {
-          message += `: ${files.join(", ")}`;
+// node_modules/lodash/_baseIsTypedArray.js
+var require_baseIsTypedArray = __commonJS({
+  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isLength = require_isLength();
+    var isObjectLike = require_isObjectLike();
+    var argsTag = "[object Arguments]";
+    var arrayTag = "[object Array]";
+    var boolTag = "[object Boolean]";
+    var dateTag = "[object Date]";
+    var errorTag = "[object Error]";
+    var funcTag = "[object Function]";
+    var mapTag = "[object Map]";
+    var numberTag = "[object Number]";
+    var objectTag = "[object Object]";
+    var regexpTag = "[object RegExp]";
+    var setTag = "[object Set]";
+    var stringTag = "[object String]";
+    var weakMapTag = "[object WeakMap]";
+    var arrayBufferTag = "[object ArrayBuffer]";
+    var dataViewTag = "[object DataView]";
+    var float32Tag = "[object Float32Array]";
+    var float64Tag = "[object Float64Array]";
+    var int8Tag = "[object Int8Array]";
+    var int16Tag = "[object Int16Array]";
+    var int32Tag = "[object Int32Array]";
+    var uint8Tag = "[object Uint8Array]";
+    var uint8ClampedTag = "[object Uint8ClampedArray]";
+    var uint16Tag = "[object Uint16Array]";
+    var uint32Tag = "[object Uint32Array]";
+    var typedArrayTags = {};
+    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
+    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
+    function baseIsTypedArray(value) {
+      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
+    }
+    module2.exports = baseIsTypedArray;
+  }
+});
+
+// node_modules/lodash/_baseUnary.js
+var require_baseUnary = __commonJS({
+  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
+    function baseUnary(func) {
+      return function(value) {
+        return func(value);
+      };
+    }
+    module2.exports = baseUnary;
+  }
+});
+
+// node_modules/lodash/_nodeUtil.js
+var require_nodeUtil = __commonJS({
+  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
+    var freeGlobal = require_freeGlobal();
+    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
+    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
+    var moduleExports = freeModule && freeModule.exports === freeExports;
+    var freeProcess = moduleExports && freeGlobal.process;
+    var nodeUtil = (function() {
+      try {
+        var types = freeModule && freeModule.require && freeModule.require("util").types;
+        if (types) {
+          return types;
         }
-        super(message);
-        this.files = files;
-        this.name = "FilesNotFoundError";
+        return freeProcess && freeProcess.binding && freeProcess.binding("util");
+      } catch (e) {
       }
-    };
-    exports2.FilesNotFoundError = FilesNotFoundError;
-    var InvalidResponseError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "InvalidResponseError";
+    })();
+    module2.exports = nodeUtil;
+  }
+});
+
+// node_modules/lodash/isTypedArray.js
+var require_isTypedArray = __commonJS({
+  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
+    var baseIsTypedArray = require_baseIsTypedArray();
+    var baseUnary = require_baseUnary();
+    var nodeUtil = require_nodeUtil();
+    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
+    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
+    module2.exports = isTypedArray;
+  }
+});
+
+// node_modules/lodash/_arrayLikeKeys.js
+var require_arrayLikeKeys = __commonJS({
+  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
+    var baseTimes = require_baseTimes();
+    var isArguments = require_isArguments();
+    var isArray = require_isArray();
+    var isBuffer = require_isBuffer();
+    var isIndex = require_isIndex();
+    var isTypedArray = require_isTypedArray();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function arrayLikeKeys(value, inherited) {
+      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
+      for (var key in value) {
+        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
+        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
+        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
+        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
+        isIndex(key, length)))) {
+          result.push(key);
+        }
       }
-    };
-    exports2.InvalidResponseError = InvalidResponseError;
-    var CacheNotFoundError = class extends Error {
-      constructor(message = "Cache not found") {
-        super(message);
-        this.name = "CacheNotFoundError";
+      return result;
+    }
+    module2.exports = arrayLikeKeys;
+  }
+});
+
+// node_modules/lodash/_isPrototype.js
+var require_isPrototype = __commonJS({
+  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
+    var objectProto = Object.prototype;
+    function isPrototype(value) {
+      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
+      return value === proto;
+    }
+    module2.exports = isPrototype;
+  }
+});
+
+// node_modules/lodash/_nativeKeysIn.js
+var require_nativeKeysIn = __commonJS({
+  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
+    function nativeKeysIn(object) {
+      var result = [];
+      if (object != null) {
+        for (var key in Object(object)) {
+          result.push(key);
+        }
       }
-    };
-    exports2.CacheNotFoundError = CacheNotFoundError;
-    var GHESNotSupportedError = class extends Error {
-      constructor(message = "@actions/cache v4.1.4+, actions/cache/save@v4+ and actions/cache/restore@v4+ are not currently supported on GHES.") {
-        super(message);
-        this.name = "GHESNotSupportedError";
+      return result;
+    }
+    module2.exports = nativeKeysIn;
+  }
+});
+
+// node_modules/lodash/_baseKeysIn.js
+var require_baseKeysIn = __commonJS({
+  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
+    var isObject2 = require_isObject();
+    var isPrototype = require_isPrototype();
+    var nativeKeysIn = require_nativeKeysIn();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function baseKeysIn(object) {
+      if (!isObject2(object)) {
+        return nativeKeysIn(object);
       }
-    };
-    exports2.GHESNotSupportedError = GHESNotSupportedError;
-    var NetworkError = class extends Error {
-      constructor(code) {
-        const message = `Unable to make request: ${code}
-If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
-        super(message);
-        this.code = code;
-        this.name = "NetworkError";
+      var isProto = isPrototype(object), result = [];
+      for (var key in object) {
+        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
+          result.push(key);
+        }
       }
-    };
-    exports2.NetworkError = NetworkError;
-    NetworkError.isNetworkErrorCode = (code) => {
-      if (!code)
-        return false;
-      return [
-        "ECONNRESET",
-        "ENOTFOUND",
-        "ETIMEDOUT",
-        "ECONNREFUSED",
-        "EHOSTUNREACH"
-      ].includes(code);
-    };
-    var UsageError = class extends Error {
-      constructor() {
-        const message = `Cache storage quota has been hit. Unable to upload any new cache entries. Usage is recalculated every 6-12 hours.
-More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
-        super(message);
-        this.name = "UsageError";
+      return result;
+    }
+    module2.exports = baseKeysIn;
+  }
+});
+
+// node_modules/lodash/keysIn.js
+var require_keysIn = __commonJS({
+  "node_modules/lodash/keysIn.js"(exports2, module2) {
+    var arrayLikeKeys = require_arrayLikeKeys();
+    var baseKeysIn = require_baseKeysIn();
+    var isArrayLike = require_isArrayLike();
+    function keysIn(object) {
+      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
+    }
+    module2.exports = keysIn;
+  }
+});
+
+// node_modules/lodash/defaults.js
+var require_defaults = __commonJS({
+  "node_modules/lodash/defaults.js"(exports2, module2) {
+    var baseRest = require_baseRest();
+    var eq = require_eq2();
+    var isIterateeCall = require_isIterateeCall();
+    var keysIn = require_keysIn();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var defaults = baseRest(function(object, sources) {
+      object = Object(object);
+      var index = -1;
+      var length = sources.length;
+      var guard = length > 2 ? sources[2] : void 0;
+      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
+        length = 1;
       }
-    };
-    exports2.UsageError = UsageError;
-    UsageError.isUsageErrorMessage = (msg) => {
-      if (!msg)
-        return false;
-      return msg.includes("insufficient usage");
-    };
-    var RateLimitError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "RateLimitError";
+      while (++index < length) {
+        var source = sources[index];
+        var props = keysIn(source);
+        var propsIndex = -1;
+        var propsLength = props.length;
+        while (++propsIndex < propsLength) {
+          var key = props[propsIndex];
+          var value = object[key];
+          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
+            object[key] = source[key];
+          }
+        }
       }
+      return object;
+    });
+    module2.exports = defaults;
+  }
+});
+
+// node_modules/readable-stream/lib/ours/primordials.js
+var require_primordials = __commonJS({
+  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      ArrayIsArray(self2) {
+        return Array.isArray(self2);
+      },
+      ArrayPrototypeIncludes(self2, el) {
+        return self2.includes(el);
+      },
+      ArrayPrototypeIndexOf(self2, el) {
+        return self2.indexOf(el);
+      },
+      ArrayPrototypeJoin(self2, sep5) {
+        return self2.join(sep5);
+      },
+      ArrayPrototypeMap(self2, fn) {
+        return self2.map(fn);
+      },
+      ArrayPrototypePop(self2, el) {
+        return self2.pop(el);
+      },
+      ArrayPrototypePush(self2, el) {
+        return self2.push(el);
+      },
+      ArrayPrototypeSlice(self2, start, end) {
+        return self2.slice(start, end);
+      },
+      Error,
+      FunctionPrototypeCall(fn, thisArgs, ...args) {
+        return fn.call(thisArgs, ...args);
+      },
+      FunctionPrototypeSymbolHasInstance(self2, instance) {
+        return Function.prototype[Symbol.hasInstance].call(self2, instance);
+      },
+      MathFloor: Math.floor,
+      Number,
+      NumberIsInteger: Number.isInteger,
+      NumberIsNaN: Number.isNaN,
+      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
+      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
+      NumberParseInt: Number.parseInt,
+      ObjectDefineProperties(self2, props) {
+        return Object.defineProperties(self2, props);
+      },
+      ObjectDefineProperty(self2, name, prop) {
+        return Object.defineProperty(self2, name, prop);
+      },
+      ObjectGetOwnPropertyDescriptor(self2, name) {
+        return Object.getOwnPropertyDescriptor(self2, name);
+      },
+      ObjectKeys(obj) {
+        return Object.keys(obj);
+      },
+      ObjectSetPrototypeOf(target, proto) {
+        return Object.setPrototypeOf(target, proto);
+      },
+      Promise,
+      PromisePrototypeCatch(self2, fn) {
+        return self2.catch(fn);
+      },
+      PromisePrototypeThen(self2, thenFn, catchFn) {
+        return self2.then(thenFn, catchFn);
+      },
+      PromiseReject(err) {
+        return Promise.reject(err);
+      },
+      PromiseResolve(val) {
+        return Promise.resolve(val);
+      },
+      ReflectApply: Reflect.apply,
+      RegExpPrototypeTest(self2, value) {
+        return self2.test(value);
+      },
+      SafeSet: Set,
+      String,
+      StringPrototypeSlice(self2, start, end) {
+        return self2.slice(start, end);
+      },
+      StringPrototypeToLowerCase(self2) {
+        return self2.toLowerCase();
+      },
+      StringPrototypeToUpperCase(self2) {
+        return self2.toUpperCase();
+      },
+      StringPrototypeTrim(self2) {
+        return self2.trim();
+      },
+      Symbol,
+      SymbolFor: Symbol.for,
+      SymbolAsyncIterator: Symbol.asyncIterator,
+      SymbolHasInstance: Symbol.hasInstance,
+      SymbolIterator: Symbol.iterator,
+      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
+      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
+      TypedArrayPrototypeSet(self2, buf, len) {
+        return self2.set(buf, len);
+      },
+      Boolean,
+      Uint8Array
     };
-    exports2.RateLimitError = RateLimitError;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/uploadUtils.js
-var require_uploadUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/uploadUtils.js"(exports2) {
+// node_modules/event-target-shim/dist/event-target-shim.js
+var require_event_target_shim = __commonJS({
+  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var privateData = /* @__PURE__ */ new WeakMap();
+    var wrappers = /* @__PURE__ */ new WeakMap();
+    function pd(event) {
+      const retv = privateData.get(event);
+      console.assert(
+        retv != null,
+        "'this' is expected an Event object, but got",
+        event
+      );
+      return retv;
+    }
+    function setCancelFlag(data) {
+      if (data.passiveListener != null) {
+        if (typeof console !== "undefined" && typeof console.error === "function") {
+          console.error(
+            "Unable to preventDefault inside passive event listener invocation.",
+            data.passiveListener
+          );
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+        return;
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      if (!data.event.cancelable) {
+        return;
+      }
+      data.canceled = true;
+      if (typeof data.event.preventDefault === "function") {
+        data.event.preventDefault();
+      }
+    }
+    function Event2(eventTarget, event) {
+      privateData.set(this, {
+        eventTarget,
+        event,
+        eventPhase: 2,
+        currentTarget: eventTarget,
+        canceled: false,
+        stopped: false,
+        immediateStopped: false,
+        passiveListener: null,
+        timeStamp: event.timeStamp || Date.now()
       });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UploadProgress = void 0;
-    exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK;
-    var core17 = __importStar2(require_core());
-    var storage_blob_1 = require_commonjs15();
-    var errors_1 = require_errors3();
-    var UploadProgress = class {
-      constructor(contentLength) {
-        this.contentLength = contentLength;
-        this.sentBytes = 0;
-        this.displayedComplete = false;
-        this.startTime = Date.now();
+      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
+      const keys = Object.keys(event);
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        if (!(key in this)) {
+          Object.defineProperty(this, key, defineRedirectDescriptor(key));
+        }
       }
+    }
+    Event2.prototype = {
       /**
-       * Sets the number of bytes sent
-       *
-       * @param sentBytes the number of bytes sent
+       * The type of this event.
+       * @type {string}
        */
-      setSentBytes(sentBytes) {
-        this.sentBytes = sentBytes;
-      }
+      get type() {
+        return pd(this).event.type;
+      },
       /**
-       * Returns the total number of bytes transferred.
+       * The target of this event.
+       * @type {EventTarget}
        */
-      getTransferredBytes() {
-        return this.sentBytes;
-      }
+      get target() {
+        return pd(this).eventTarget;
+      },
       /**
-       * Returns true if the upload is complete.
+       * The target of this event.
+       * @type {EventTarget}
        */
-      isDone() {
-        return this.getTransferredBytes() === this.contentLength;
-      }
+      get currentTarget() {
+        return pd(this).currentTarget;
+      },
       /**
-       * Prints the current upload stats. Once the upload completes, this will print one
-       * last line and then stop.
+       * @returns {EventTarget[]} The composed path of this event.
        */
-      display() {
-        if (this.displayedComplete) {
-          return;
+      composedPath() {
+        const currentTarget = pd(this).currentTarget;
+        if (currentTarget == null) {
+          return [];
         }
-        const transferredBytes = this.sentBytes;
-        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
-        const elapsedTime = Date.now() - this.startTime;
-        const uploadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
-        core17.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`);
-        if (this.isDone()) {
-          this.displayedComplete = true;
+        return [currentTarget];
+      },
+      /**
+       * Constant of NONE.
+       * @type {number}
+       */
+      get NONE() {
+        return 0;
+      },
+      /**
+       * Constant of CAPTURING_PHASE.
+       * @type {number}
+       */
+      get CAPTURING_PHASE() {
+        return 1;
+      },
+      /**
+       * Constant of AT_TARGET.
+       * @type {number}
+       */
+      get AT_TARGET() {
+        return 2;
+      },
+      /**
+       * Constant of BUBBLING_PHASE.
+       * @type {number}
+       */
+      get BUBBLING_PHASE() {
+        return 3;
+      },
+      /**
+       * The target of this event.
+       * @type {number}
+       */
+      get eventPhase() {
+        return pd(this).eventPhase;
+      },
+      /**
+       * Stop event bubbling.
+       * @returns {void}
+       */
+      stopPropagation() {
+        const data = pd(this);
+        data.stopped = true;
+        if (typeof data.event.stopPropagation === "function") {
+          data.event.stopPropagation();
         }
-      }
+      },
       /**
-       * Returns a function used to handle TransferProgressEvents.
+       * Stop event bubbling.
+       * @returns {void}
        */
-      onProgress() {
-        return (progress) => {
-          this.setSentBytes(progress.loadedBytes);
-        };
-      }
+      stopImmediatePropagation() {
+        const data = pd(this);
+        data.stopped = true;
+        data.immediateStopped = true;
+        if (typeof data.event.stopImmediatePropagation === "function") {
+          data.event.stopImmediatePropagation();
+        }
+      },
       /**
-       * Starts the timer that displays the stats.
-       *
-       * @param delayInMs the delay between each write
+       * The flag to be bubbling.
+       * @type {boolean}
        */
-      startDisplayTimer(delayInMs = 1e3) {
-        const displayCallback = () => {
-          this.display();
-          if (!this.isDone()) {
-            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
-          }
-        };
-        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
-      }
+      get bubbles() {
+        return Boolean(pd(this).event.bubbles);
+      },
       /**
-       * Stops the timer that displays the stats. As this typically indicates the upload
-       * is complete, this will display one last line, unless the last line has already
-       * been written.
+       * The flag to be cancelable.
+       * @type {boolean}
        */
-      stopDisplayTimer() {
-        if (this.timeoutHandle) {
-          clearTimeout(this.timeoutHandle);
-          this.timeoutHandle = void 0;
+      get cancelable() {
+        return Boolean(pd(this).event.cancelable);
+      },
+      /**
+       * Cancel this event.
+       * @returns {void}
+       */
+      preventDefault() {
+        setCancelFlag(pd(this));
+      },
+      /**
+       * The flag to indicate cancellation state.
+       * @type {boolean}
+       */
+      get defaultPrevented() {
+        return pd(this).canceled;
+      },
+      /**
+       * The flag to be composed.
+       * @type {boolean}
+       */
+      get composed() {
+        return Boolean(pd(this).event.composed);
+      },
+      /**
+       * The unix time of this event.
+       * @type {number}
+       */
+      get timeStamp() {
+        return pd(this).timeStamp;
+      },
+      /**
+       * The target of this event.
+       * @type {EventTarget}
+       * @deprecated
+       */
+      get srcElement() {
+        return pd(this).eventTarget;
+      },
+      /**
+       * The flag to stop event bubbling.
+       * @type {boolean}
+       * @deprecated
+       */
+      get cancelBubble() {
+        return pd(this).stopped;
+      },
+      set cancelBubble(value) {
+        if (!value) {
+          return;
         }
-        this.display();
-      }
-    };
-    exports2.UploadProgress = UploadProgress;
-    function uploadCacheArchiveSDK(signedUploadURL, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
-        const blobClient = new storage_blob_1.BlobClient(signedUploadURL);
-        const blockBlobClient = blobClient.getBlockBlobClient();
-        const uploadProgress = new UploadProgress((_a = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a !== void 0 ? _a : 0);
-        const uploadOptions = {
-          blockSize: options === null || options === void 0 ? void 0 : options.uploadChunkSize,
-          concurrency: options === null || options === void 0 ? void 0 : options.uploadConcurrency,
-          // maximum number of parallel transfer workers
-          maxSingleShotSize: 128 * 1024 * 1024,
-          // 128 MiB initial transfer size
-          onProgress: uploadProgress.onProgress()
-        };
-        try {
-          uploadProgress.startDisplayTimer();
-          core17.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`);
-          const response = yield blockBlobClient.uploadFile(archivePath, uploadOptions);
-          if (response._response.status >= 400) {
-            throw new errors_1.InvalidResponseError(`uploadCacheArchiveSDK: upload failed with status code ${response._response.status}`);
-          }
-          return response;
-        } catch (error3) {
-          core17.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`);
-          throw error3;
-        } finally {
-          uploadProgress.stopDisplayTimer();
+        const data = pd(this);
+        data.stopped = true;
+        if (typeof data.event.cancelBubble === "boolean") {
+          data.event.cancelBubble = true;
         }
-      });
-    }
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/requestUtils.js
-var require_requestUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/requestUtils.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      },
+      /**
+       * The flag to indicate cancellation state.
+       * @type {boolean}
+       * @deprecated
+       */
+      get returnValue() {
+        return !pd(this).canceled;
+      },
+      set returnValue(value) {
+        if (!value) {
+          setCancelFlag(pd(this));
+        }
+      },
+      /**
+       * Initialize this event object. But do nothing under event dispatching.
+       * @param {string} type The event type.
+       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
+       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
+       * @deprecated
+       */
+      initEvent() {
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
+    };
+    Object.defineProperty(Event2.prototype, "constructor", {
+      value: Event2,
+      configurable: true,
+      writable: true
     });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
+    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
+      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
+      wrappers.set(window.Event.prototype, Event2);
+    }
+    function defineRedirectDescriptor(key) {
+      return {
+        get() {
+          return pd(this).event[key];
+        },
+        set(value) {
+          pd(this).event[key] = value;
+        },
+        configurable: true,
+        enumerable: true
       };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
+    }
+    function defineCallDescriptor(key) {
+      return {
+        value() {
+          const event = pd(this).event;
+          return event[key].apply(event, arguments);
+        },
+        configurable: true,
+        enumerable: true
       };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    }
+    function defineWrapper(BaseEvent, proto) {
+      const keys = Object.keys(proto);
+      if (keys.length === 0) {
+        return BaseEvent;
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      function CustomEvent(eventTarget, event) {
+        BaseEvent.call(this, eventTarget, event);
+      }
+      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
+        constructor: { value: CustomEvent, configurable: true, writable: true }
       });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isSuccessStatusCode = isSuccessStatusCode;
-    exports2.isServerErrorStatusCode = isServerErrorStatusCode;
-    exports2.isRetryableStatusCode = isRetryableStatusCode;
-    exports2.retry = retry2;
-    exports2.retryTypedResponse = retryTypedResponse;
-    exports2.retryHttpClientResponse = retryHttpClientResponse;
-    var core17 = __importStar2(require_core());
-    var http_client_1 = require_lib();
-    var constants_1 = require_constants12();
-    function isSuccessStatusCode(statusCode) {
-      if (!statusCode) {
-        return false;
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        if (!(key in BaseEvent.prototype)) {
+          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
+          const isFunc = typeof descriptor.value === "function";
+          Object.defineProperty(
+            CustomEvent.prototype,
+            key,
+            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
+          );
+        }
       }
-      return statusCode >= 200 && statusCode < 300;
+      return CustomEvent;
     }
-    function isServerErrorStatusCode(statusCode) {
-      if (!statusCode) {
-        return true;
+    function getWrapper(proto) {
+      if (proto == null || proto === Object.prototype) {
+        return Event2;
       }
-      return statusCode >= 500;
-    }
-    function isRetryableStatusCode(statusCode) {
-      if (!statusCode) {
-        return false;
+      let wrapper = wrappers.get(proto);
+      if (wrapper == null) {
+        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
+        wrappers.set(proto, wrapper);
       }
-      const retryableStatusCodes = [
-        http_client_1.HttpCodes.BadGateway,
-        http_client_1.HttpCodes.ServiceUnavailable,
-        http_client_1.HttpCodes.GatewayTimeout
-      ];
-      return retryableStatusCodes.includes(statusCode);
+      return wrapper;
     }
-    function sleep(milliseconds) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        return new Promise((resolve8) => setTimeout(resolve8, milliseconds));
-      });
+    function wrapEvent(eventTarget, event) {
+      const Wrapper = getWrapper(Object.getPrototypeOf(event));
+      return new Wrapper(eventTarget, event);
     }
-    function retry2(name_1, method_1, getStatusCode_1) {
-      return __awaiter2(this, arguments, void 0, function* (name, method, getStatusCode, maxAttempts = constants_1.DefaultRetryAttempts, delay2 = constants_1.DefaultRetryDelay, onError = void 0) {
-        let errorMessage = "";
-        let attempt = 1;
-        while (attempt <= maxAttempts) {
-          let response = void 0;
-          let statusCode = void 0;
-          let isRetryable = false;
-          try {
-            response = yield method();
-          } catch (error3) {
-            if (onError) {
-              response = onError(error3);
+    function isStopped(event) {
+      return pd(event).immediateStopped;
+    }
+    function setEventPhase(event, eventPhase) {
+      pd(event).eventPhase = eventPhase;
+    }
+    function setCurrentTarget(event, currentTarget) {
+      pd(event).currentTarget = currentTarget;
+    }
+    function setPassiveListener(event, passiveListener) {
+      pd(event).passiveListener = passiveListener;
+    }
+    var listenersMap = /* @__PURE__ */ new WeakMap();
+    var CAPTURE = 1;
+    var BUBBLE = 2;
+    var ATTRIBUTE = 3;
+    function isObject2(x) {
+      return x !== null && typeof x === "object";
+    }
+    function getListeners(eventTarget) {
+      const listeners = listenersMap.get(eventTarget);
+      if (listeners == null) {
+        throw new TypeError(
+          "'this' is expected an EventTarget object, but got another value."
+        );
+      }
+      return listeners;
+    }
+    function defineEventAttributeDescriptor(eventName) {
+      return {
+        get() {
+          const listeners = getListeners(this);
+          let node = listeners.get(eventName);
+          while (node != null) {
+            if (node.listenerType === ATTRIBUTE) {
+              return node.listener;
             }
-            isRetryable = true;
-            errorMessage = error3.message;
+            node = node.next;
           }
-          if (response) {
-            statusCode = getStatusCode(response);
-            if (!isServerErrorStatusCode(statusCode)) {
-              return response;
-            }
+          return null;
+        },
+        set(listener) {
+          if (typeof listener !== "function" && !isObject2(listener)) {
+            listener = null;
           }
-          if (statusCode) {
-            isRetryable = isRetryableStatusCode(statusCode);
-            errorMessage = `Cache service responded with ${statusCode}`;
+          const listeners = getListeners(this);
+          let prev = null;
+          let node = listeners.get(eventName);
+          while (node != null) {
+            if (node.listenerType === ATTRIBUTE) {
+              if (prev !== null) {
+                prev.next = node.next;
+              } else if (node.next !== null) {
+                listeners.set(eventName, node.next);
+              } else {
+                listeners.delete(eventName);
+              }
+            } else {
+              prev = node;
+            }
+            node = node.next;
           }
-          core17.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`);
-          if (!isRetryable) {
-            core17.debug(`${name} - Error is not retryable`);
-            break;
+          if (listener !== null) {
+            const newNode = {
+              listener,
+              listenerType: ATTRIBUTE,
+              passive: false,
+              once: false,
+              next: null
+            };
+            if (prev === null) {
+              listeners.set(eventName, newNode);
+            } else {
+              prev.next = newNode;
+            }
           }
-          yield sleep(delay2);
-          attempt++;
+        },
+        configurable: true,
+        enumerable: true
+      };
+    }
+    function defineEventAttribute(eventTargetPrototype, eventName) {
+      Object.defineProperty(
+        eventTargetPrototype,
+        `on${eventName}`,
+        defineEventAttributeDescriptor(eventName)
+      );
+    }
+    function defineCustomEventTarget(eventNames) {
+      function CustomEventTarget() {
+        EventTarget2.call(this);
+      }
+      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
+        constructor: {
+          value: CustomEventTarget,
+          configurable: true,
+          writable: true
         }
-        throw Error(`${name} failed: ${errorMessage}`);
       });
+      for (let i = 0; i < eventNames.length; ++i) {
+        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
+      }
+      return CustomEventTarget;
     }
-    function retryTypedResponse(name_1, method_1) {
-      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay2 = constants_1.DefaultRetryDelay) {
-        return yield retry2(
-          name,
-          method,
-          (response) => response.statusCode,
-          maxAttempts,
-          delay2,
-          // If the error object contains the statusCode property, extract it and return
-          // an TypedResponse so it can be processed by the retry logic.
-          (error3) => {
-            if (error3 instanceof http_client_1.HttpClientError) {
-              return {
-                statusCode: error3.statusCode,
-                result: null,
-                headers: {},
-                error: error3
-              };
+    function EventTarget2() {
+      if (this instanceof EventTarget2) {
+        listenersMap.set(this, /* @__PURE__ */ new Map());
+        return;
+      }
+      if (arguments.length === 1 && Array.isArray(arguments[0])) {
+        return defineCustomEventTarget(arguments[0]);
+      }
+      if (arguments.length > 0) {
+        const types = new Array(arguments.length);
+        for (let i = 0; i < arguments.length; ++i) {
+          types[i] = arguments[i];
+        }
+        return defineCustomEventTarget(types);
+      }
+      throw new TypeError("Cannot call a class as a function");
+    }
+    EventTarget2.prototype = {
+      /**
+       * Add a given listener to this event target.
+       * @param {string} eventName The event name to add.
+       * @param {Function} listener The listener to add.
+       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
+       * @returns {void}
+       */
+      addEventListener(eventName, listener, options) {
+        if (listener == null) {
+          return;
+        }
+        if (typeof listener !== "function" && !isObject2(listener)) {
+          throw new TypeError("'listener' should be a function or an object.");
+        }
+        const listeners = getListeners(this);
+        const optionsIsObj = isObject2(options);
+        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
+        const listenerType = capture ? CAPTURE : BUBBLE;
+        const newNode = {
+          listener,
+          listenerType,
+          passive: optionsIsObj && Boolean(options.passive),
+          once: optionsIsObj && Boolean(options.once),
+          next: null
+        };
+        let node = listeners.get(eventName);
+        if (node === void 0) {
+          listeners.set(eventName, newNode);
+          return;
+        }
+        let prev = null;
+        while (node != null) {
+          if (node.listener === listener && node.listenerType === listenerType) {
+            return;
+          }
+          prev = node;
+          node = node.next;
+        }
+        prev.next = newNode;
+      },
+      /**
+       * Remove a given listener from this event target.
+       * @param {string} eventName The event name to remove.
+       * @param {Function} listener The listener to remove.
+       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
+       * @returns {void}
+       */
+      removeEventListener(eventName, listener, options) {
+        if (listener == null) {
+          return;
+        }
+        const listeners = getListeners(this);
+        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
+        const listenerType = capture ? CAPTURE : BUBBLE;
+        let prev = null;
+        let node = listeners.get(eventName);
+        while (node != null) {
+          if (node.listener === listener && node.listenerType === listenerType) {
+            if (prev !== null) {
+              prev.next = node.next;
+            } else if (node.next !== null) {
+              listeners.set(eventName, node.next);
             } else {
-              return void 0;
+              listeners.delete(eventName);
             }
+            return;
           }
-        );
-      });
-    }
-    function retryHttpClientResponse(name_1, method_1) {
-      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay2 = constants_1.DefaultRetryDelay) {
-        return yield retry2(name, method, (response) => response.message.statusCode, maxAttempts, delay2);
-      });
+          prev = node;
+          node = node.next;
+        }
+      },
+      /**
+       * Dispatch a given event.
+       * @param {Event|{type:string}} event The event to dispatch.
+       * @returns {boolean} `false` if canceled.
+       */
+      dispatchEvent(event) {
+        if (event == null || typeof event.type !== "string") {
+          throw new TypeError('"event.type" should be a string.');
+        }
+        const listeners = getListeners(this);
+        const eventName = event.type;
+        let node = listeners.get(eventName);
+        if (node == null) {
+          return true;
+        }
+        const wrappedEvent = wrapEvent(this, event);
+        let prev = null;
+        while (node != null) {
+          if (node.once) {
+            if (prev !== null) {
+              prev.next = node.next;
+            } else if (node.next !== null) {
+              listeners.set(eventName, node.next);
+            } else {
+              listeners.delete(eventName);
+            }
+          } else {
+            prev = node;
+          }
+          setPassiveListener(
+            wrappedEvent,
+            node.passive ? node.listener : null
+          );
+          if (typeof node.listener === "function") {
+            try {
+              node.listener.call(this, wrappedEvent);
+            } catch (err) {
+              if (typeof console !== "undefined" && typeof console.error === "function") {
+                console.error(err);
+              }
+            }
+          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
+            node.listener.handleEvent(wrappedEvent);
+          }
+          if (isStopped(wrappedEvent)) {
+            break;
+          }
+          node = node.next;
+        }
+        setPassiveListener(wrappedEvent, null);
+        setEventPhase(wrappedEvent, 0);
+        setCurrentTarget(wrappedEvent, null);
+        return !wrappedEvent.defaultPrevented;
+      }
+    };
+    Object.defineProperty(EventTarget2.prototype, "constructor", {
+      value: EventTarget2,
+      configurable: true,
+      writable: true
+    });
+    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
+      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
     }
+    exports2.defineEventAttribute = defineEventAttribute;
+    exports2.EventTarget = EventTarget2;
+    exports2.default = EventTarget2;
+    module2.exports = EventTarget2;
+    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
+    module2.exports.defineEventAttribute = defineEventAttribute;
   }
 });
 
-// node_modules/@azure/abort-controller/dist/index.js
-var require_dist4 = __commonJS({
-  "node_modules/@azure/abort-controller/dist/index.js"(exports2) {
+// node_modules/abort-controller/dist/abort-controller.js
+var require_abort_controller = __commonJS({
+  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var listenersMap = /* @__PURE__ */ new WeakMap();
-    var abortedMap = /* @__PURE__ */ new WeakMap();
-    var AbortSignal2 = class _AbortSignal {
+    var eventTargetShim = require_event_target_shim();
+    var AbortSignal2 = class extends eventTargetShim.EventTarget {
+      /**
+       * AbortSignal cannot be constructed directly.
+       */
       constructor() {
-        this.onabort = null;
-        listenersMap.set(this, []);
-        abortedMap.set(this, false);
+        super();
+        throw new TypeError("AbortSignal cannot be constructed directly");
       }
       /**
-       * Status of whether aborted or not.
-       *
-       * @readonly
+       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
        */
       get aborted() {
-        if (!abortedMap.has(this)) {
-          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+        const aborted = abortedFlags.get(this);
+        if (typeof aborted !== "boolean") {
+          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
         }
-        return abortedMap.get(this);
+        return aborted;
+      }
+    };
+    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
+    function createAbortSignal() {
+      const signal = Object.create(AbortSignal2.prototype);
+      eventTargetShim.EventTarget.call(signal);
+      abortedFlags.set(signal, false);
+      return signal;
+    }
+    function abortSignal(signal) {
+      if (abortedFlags.get(signal) !== false) {
+        return;
       }
+      abortedFlags.set(signal, true);
+      signal.dispatchEvent({ type: "abort" });
+    }
+    var abortedFlags = /* @__PURE__ */ new WeakMap();
+    Object.defineProperties(AbortSignal2.prototype, {
+      aborted: { enumerable: true }
+    });
+    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
+      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
+        configurable: true,
+        value: "AbortSignal"
+      });
+    }
+    var AbortController2 = class {
       /**
-       * Creates a new AbortSignal instance that will never be aborted.
-       *
-       * @readonly
+       * Initialize this controller.
        */
-      static get none() {
-        return new _AbortSignal();
+      constructor() {
+        signals.set(this, createAbortSignal());
       }
       /**
-       * Added new "abort" event listener, only support "abort" event.
-       *
-       * @param _type - Only support "abort" event
-       * @param listener - The listener to be added
+       * Returns the `AbortSignal` object associated with this object.
        */
-      addEventListener(_type, listener) {
-        if (!listenersMap.has(this)) {
-          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
-        }
-        const listeners = listenersMap.get(this);
-        listeners.push(listener);
+      get signal() {
+        return getSignal(this);
       }
       /**
-       * Remove "abort" event listener, only support "abort" event.
-       *
-       * @param _type - Only support "abort" event
-       * @param listener - The listener to be removed
+       * Abort and signal to any observers that the associated activity is to be aborted.
        */
-      removeEventListener(_type, listener) {
-        if (!listenersMap.has(this)) {
-          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+      abort() {
+        abortSignal(getSignal(this));
+      }
+    };
+    var signals = /* @__PURE__ */ new WeakMap();
+    function getSignal(controller) {
+      const signal = signals.get(controller);
+      if (signal == null) {
+        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
+      }
+      return signal;
+    }
+    Object.defineProperties(AbortController2.prototype, {
+      signal: { enumerable: true },
+      abort: { enumerable: true }
+    });
+    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
+      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
+        configurable: true,
+        value: "AbortController"
+      });
+    }
+    exports2.AbortController = AbortController2;
+    exports2.AbortSignal = AbortSignal2;
+    exports2.default = AbortController2;
+    module2.exports = AbortController2;
+    module2.exports.AbortController = module2.exports["default"] = AbortController2;
+    module2.exports.AbortSignal = AbortSignal2;
+  }
+});
+
+// node_modules/readable-stream/lib/ours/util.js
+var require_util21 = __commonJS({
+  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
+    "use strict";
+    var bufferModule = require("buffer");
+    var { kResistStopPropagation, SymbolDispose } = require_primordials();
+    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var AsyncFunction = Object.getPrototypeOf(async function() {
+    }).constructor;
+    var Blob2 = globalThis.Blob || bufferModule.Blob;
+    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
+      return b instanceof Blob2;
+    } : function isBlob2(b) {
+      return false;
+    };
+    var validateAbortSignal = (signal, name) => {
+      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
+        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
+      }
+    };
+    var validateFunction = (value, name) => {
+      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    };
+    var AggregateError = class extends Error {
+      constructor(errors) {
+        if (!Array.isArray(errors)) {
+          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
+        }
+        let message = "";
+        for (let i = 0; i < errors.length; i++) {
+          message += `    ${errors[i].stack}
+`;
+        }
+        super(message);
+        this.name = "AggregateError";
+        this.errors = errors;
+      }
+    };
+    module2.exports = {
+      AggregateError,
+      kEmptyObject: Object.freeze({}),
+      once(callback) {
+        let called = false;
+        return function(...args) {
+          if (called) {
+            return;
+          }
+          called = true;
+          callback.apply(this, args);
+        };
+      },
+      createDeferredPromise: function() {
+        let resolve8;
+        let reject;
+        const promise = new Promise((res, rej) => {
+          resolve8 = res;
+          reject = rej;
+        });
+        return {
+          promise,
+          resolve: resolve8,
+          reject
+        };
+      },
+      promisify(fn) {
+        return new Promise((resolve8, reject) => {
+          fn((err, ...args) => {
+            if (err) {
+              return reject(err);
+            }
+            return resolve8(...args);
+          });
+        });
+      },
+      debuglog() {
+        return function() {
+        };
+      },
+      format(format, ...args) {
+        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
+          const replacement = args.shift();
+          if (type2 === "f") {
+            return replacement.toFixed(6);
+          } else if (type2 === "j") {
+            return JSON.stringify(replacement);
+          } else if (type2 === "s" && typeof replacement === "object") {
+            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
+            return `${ctor} {}`.trim();
+          } else {
+            return replacement.toString();
+          }
+        });
+      },
+      inspect(value) {
+        switch (typeof value) {
+          case "string":
+            if (value.includes("'")) {
+              if (!value.includes('"')) {
+                return `"${value}"`;
+              } else if (!value.includes("`") && !value.includes("${")) {
+                return `\`${value}\``;
+              }
+            }
+            return `'${value}'`;
+          case "number":
+            if (isNaN(value)) {
+              return "NaN";
+            } else if (Object.is(value, -0)) {
+              return String(value);
+            }
+            return value;
+          case "bigint":
+            return `${String(value)}n`;
+          case "boolean":
+          case "undefined":
+            return String(value);
+          case "object":
+            return "{}";
         }
-        const listeners = listenersMap.get(this);
-        const index = listeners.indexOf(listener);
-        if (index > -1) {
-          listeners.splice(index, 1);
+      },
+      types: {
+        isAsyncFunction(fn) {
+          return fn instanceof AsyncFunction;
+        },
+        isArrayBufferView(arr) {
+          return ArrayBuffer.isView(arr);
         }
-      }
-      /**
-       * Dispatches a synthetic event to the AbortSignal.
-       */
-      dispatchEvent(_event) {
-        throw new Error("This is a stub dispatchEvent implementation that should not be used.  It only exists for type-checking purposes.");
-      }
-    };
-    function abortSignal(signal) {
-      if (signal.aborted) {
-        return;
-      }
-      if (signal.onabort) {
-        signal.onabort.call(signal);
-      }
-      const listeners = listenersMap.get(signal);
-      if (listeners) {
-        listeners.slice().forEach((listener) => {
-          listener.call(signal, { type: "abort" });
-        });
-      }
-      abortedMap.set(signal, true);
-    }
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
-      }
-    };
-    var AbortController2 = class {
-      // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
-      constructor(parentSignals) {
-        this._signal = new AbortSignal2();
-        if (!parentSignals) {
-          return;
+      },
+      isBlob,
+      deprecate(fn, message) {
+        return fn;
+      },
+      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
+        if (signal === void 0) {
+          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
         }
-        if (!Array.isArray(parentSignals)) {
-          parentSignals = arguments;
+        validateAbortSignal(signal, "signal");
+        validateFunction(listener, "listener");
+        let removeEventListener;
+        if (signal.aborted) {
+          queueMicrotask(() => listener());
+        } else {
+          signal.addEventListener("abort", listener, {
+            __proto__: null,
+            once: true,
+            [kResistStopPropagation]: true
+          });
+          removeEventListener = () => {
+            signal.removeEventListener("abort", listener);
+          };
         }
-        for (const parentSignal of parentSignals) {
-          if (parentSignal.aborted) {
-            this.abort();
-          } else {
-            parentSignal.addEventListener("abort", () => {
-              this.abort();
-            });
+        return {
+          __proto__: null,
+          [SymbolDispose]() {
+            var _removeEventListener;
+            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
           }
+        };
+      },
+      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
+        if (signals.length === 1) {
+          return signals[0];
         }
-      }
-      /**
-       * The AbortSignal associated with this controller that will signal aborted
-       * when the abort method is called on this controller.
-       *
-       * @readonly
-       */
-      get signal() {
-        return this._signal;
-      }
-      /**
-       * Signal that any operations passed this controller's associated abort signal
-       * to cancel any remaining work and throw an `AbortError`.
-       */
-      abort() {
-        abortSignal(this._signal);
-      }
-      /**
-       * Creates a new AbortSignal instance that will abort after the provided ms.
-       * @param ms - Elapsed time in milliseconds to trigger an abort.
-       */
-      static timeout(ms) {
-        const signal = new AbortSignal2();
-        const timer = setTimeout(abortSignal, ms, signal);
-        if (typeof timer.unref === "function") {
-          timer.unref();
-        }
-        return signal;
+        const ac = new AbortController2();
+        const abort = () => ac.abort();
+        signals.forEach((signal) => {
+          validateAbortSignal(signal, "signals");
+          signal.addEventListener("abort", abort, {
+            once: true
+          });
+        });
+        ac.signal.addEventListener(
+          "abort",
+          () => {
+            signals.forEach((signal) => signal.removeEventListener("abort", abort));
+          },
+          {
+            once: true
+          }
+        );
+        return ac.signal;
       }
     };
-    exports2.AbortController = AbortController2;
-    exports2.AbortError = AbortError;
-    exports2.AbortSignal = AbortSignal2;
+    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
   }
 });
 
-// node_modules/@actions/cache/lib/internal/downloadUtils.js
-var require_downloadUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/downloadUtils.js"(exports2) {
+// node_modules/readable-stream/lib/ours/errors.js
+var require_errors5 = __commonJS({
+  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    var { format, inspect, AggregateError: CustomAggregateError } = require_util21();
+    var AggregateError = globalThis.AggregateError || CustomAggregateError;
+    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
+    var kTypes = [
+      "string",
+      "function",
+      "number",
+      "object",
+      // Accept 'Function' and 'Object' as alternative to the lower cased version.
+      "Function",
+      "Object",
+      "boolean",
+      "bigint",
+      "symbol"
+    ];
+    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
+    var nodeInternalPrefix = "__node_internal_";
+    var codes = {};
+    function assert(value, message) {
+      if (!value) {
+        throw new codes.ERR_INTERNAL_ASSERTION(message);
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DownloadProgress = void 0;
-    exports2.downloadCacheHttpClient = downloadCacheHttpClient;
-    exports2.downloadCacheHttpClientConcurrent = downloadCacheHttpClientConcurrent;
-    exports2.downloadCacheStorageSDK = downloadCacheStorageSDK;
-    var core17 = __importStar2(require_core());
-    var http_client_1 = require_lib();
-    var storage_blob_1 = require_commonjs15();
-    var buffer = __importStar2(require("buffer"));
-    var fs18 = __importStar2(require("fs"));
-    var stream2 = __importStar2(require("stream"));
-    var util = __importStar2(require("util"));
-    var utils = __importStar2(require_cacheUtils());
-    var constants_1 = require_constants12();
-    var requestUtils_1 = require_requestUtils();
-    var abort_controller_1 = require_dist4();
-    function pipeResponseToStream(response, output) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const pipeline = util.promisify(stream2.pipeline);
-        yield pipeline(response.message, output);
-      });
     }
-    var DownloadProgress = class {
-      constructor(contentLength) {
-        this.contentLength = contentLength;
-        this.segmentIndex = 0;
-        this.segmentSize = 0;
-        this.segmentOffset = 0;
-        this.receivedBytes = 0;
-        this.displayedComplete = false;
-        this.startTime = Date.now();
-      }
-      /**
-       * Progress to the next segment. Only call this method when the previous segment
-       * is complete.
-       *
-       * @param segmentSize the length of the next segment
-       */
-      nextSegment(segmentSize) {
-        this.segmentOffset = this.segmentOffset + this.segmentSize;
-        this.segmentIndex = this.segmentIndex + 1;
-        this.segmentSize = segmentSize;
-        this.receivedBytes = 0;
-        core17.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`);
+    function addNumericalSeparator(val) {
+      let res = "";
+      let i = val.length;
+      const start = val[0] === "-" ? 1 : 0;
+      for (; i >= start + 4; i -= 3) {
+        res = `_${val.slice(i - 3, i)}${res}`;
       }
-      /**
-       * Sets the number of bytes received for the current segment.
-       *
-       * @param receivedBytes the number of bytes received
-       */
-      setReceivedBytes(receivedBytes) {
-        this.receivedBytes = receivedBytes;
+      return `${val.slice(0, i)}${res}`;
+    }
+    function getMessage(key, msg, args) {
+      if (typeof msg === "function") {
+        assert(
+          msg.length <= args.length,
+          // Default options do not count.
+          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
+        );
+        return msg(...args);
       }
-      /**
-       * Returns the total number of bytes transferred.
-       */
-      getTransferredBytes() {
-        return this.segmentOffset + this.receivedBytes;
+      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
+      assert(
+        expectedLength === args.length,
+        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
+      );
+      if (args.length === 0) {
+        return msg;
       }
-      /**
-       * Returns true if the download is complete.
-       */
-      isDone() {
-        return this.getTransferredBytes() === this.contentLength;
+      return format(msg, ...args);
+    }
+    function E(code, message, Base) {
+      if (!Base) {
+        Base = Error;
       }
-      /**
-       * Prints the current download stats. Once the download completes, this will print one
-       * last line and then stop.
-       */
-      display() {
-        if (this.displayedComplete) {
-          return;
+      class NodeError extends Base {
+        constructor(...args) {
+          super(getMessage(code, message, args));
         }
-        const transferredBytes = this.segmentOffset + this.receivedBytes;
-        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
-        const elapsedTime = Date.now() - this.startTime;
-        const downloadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
-        core17.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`);
-        if (this.isDone()) {
-          this.displayedComplete = true;
+        toString() {
+          return `${this.name} [${code}]: ${this.message}`;
         }
       }
-      /**
-       * Returns a function used to handle TransferProgressEvents.
-       */
-      onProgress() {
-        return (progress) => {
-          this.setReceivedBytes(progress.loadedBytes);
-        };
-      }
-      /**
-       * Starts the timer that displays the stats.
-       *
-       * @param delayInMs the delay between each write
-       */
-      startDisplayTimer(delayInMs = 1e3) {
-        const displayCallback = () => {
-          this.display();
-          if (!this.isDone()) {
-            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
-          }
-        };
-        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+      Object.defineProperties(NodeError.prototype, {
+        name: {
+          value: Base.name,
+          writable: true,
+          enumerable: false,
+          configurable: true
+        },
+        toString: {
+          value() {
+            return `${this.name} [${code}]: ${this.message}`;
+          },
+          writable: true,
+          enumerable: false,
+          configurable: true
+        }
+      });
+      NodeError.prototype.code = code;
+      NodeError.prototype[kIsNodeError] = true;
+      codes[code] = NodeError;
+    }
+    function hideStackFrames(fn) {
+      const hidden = nodeInternalPrefix + fn.name;
+      Object.defineProperty(fn, "name", {
+        value: hidden
+      });
+      return fn;
+    }
+    function aggregateTwoErrors(innerError, outerError) {
+      if (innerError && outerError && innerError !== outerError) {
+        if (Array.isArray(outerError.errors)) {
+          outerError.errors.push(innerError);
+          return outerError;
+        }
+        const err = new AggregateError([outerError, innerError], outerError.message);
+        err.code = outerError.code;
+        return err;
       }
-      /**
-       * Stops the timer that displays the stats. As this typically indicates the download
-       * is complete, this will display one last line, unless the last line has already
-       * been written.
-       */
-      stopDisplayTimer() {
-        if (this.timeoutHandle) {
-          clearTimeout(this.timeoutHandle);
-          this.timeoutHandle = void 0;
+      return innerError || outerError;
+    }
+    var AbortError = class extends Error {
+      constructor(message = "The operation was aborted", options = void 0) {
+        if (options !== void 0 && typeof options !== "object") {
+          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
         }
-        this.display();
+        super(message, options);
+        this.code = "ABORT_ERR";
+        this.name = "AbortError";
       }
     };
-    exports2.DownloadProgress = DownloadProgress;
-    function downloadCacheHttpClient(archiveLocation, archivePath) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const writeStream = fs18.createWriteStream(archivePath);
-        const httpClient = new http_client_1.HttpClient("actions/cache");
-        const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.get(archiveLocation);
-        }));
-        downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => {
-          downloadResponse.message.destroy();
-          core17.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`);
-        });
-        yield pipeResponseToStream(downloadResponse, writeStream);
-        const contentLengthHeader = downloadResponse.message.headers["content-length"];
-        if (contentLengthHeader) {
-          const expectedLength = parseInt(contentLengthHeader);
-          const actualLength = utils.getArchiveFileSizeInBytes(archivePath);
-          if (actualLength !== expectedLength) {
-            throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`);
-          }
+    E("ERR_ASSERTION", "%s", Error);
+    E(
+      "ERR_INVALID_ARG_TYPE",
+      (name, expected, actual) => {
+        assert(typeof name === "string", "'name' must be a string");
+        if (!Array.isArray(expected)) {
+          expected = [expected];
+        }
+        let msg = "The ";
+        if (name.endsWith(" argument")) {
+          msg += `${name} `;
         } else {
-          core17.debug("Unable to validate download, no Content-Length header");
+          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
         }
-      });
-    }
-    function downloadCacheHttpClientConcurrent(archiveLocation, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
-        const archiveDescriptor = yield fs18.promises.open(archivePath, "w");
-        const httpClient = new http_client_1.HttpClient("actions/cache", void 0, {
-          socketTimeout: options.timeoutInMs,
-          keepAlive: true
-        });
-        try {
-          const res = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCacheMetadata", () => __awaiter2(this, void 0, void 0, function* () {
-            return yield httpClient.request("HEAD", archiveLocation, null, {});
-          }));
-          const lengthHeader = res.message.headers["content-length"];
-          if (lengthHeader === void 0 || lengthHeader === null) {
-            throw new Error("Content-Length not found on blob response");
-          }
-          const length = parseInt(lengthHeader);
-          if (Number.isNaN(length)) {
-            throw new Error(`Could not interpret Content-Length: ${length}`);
+        msg += "must be ";
+        const types = [];
+        const instances = [];
+        const other = [];
+        for (const value of expected) {
+          assert(typeof value === "string", "All expected entries have to be of type string");
+          if (kTypes.includes(value)) {
+            types.push(value.toLowerCase());
+          } else if (classRegExp.test(value)) {
+            instances.push(value);
+          } else {
+            assert(value !== "object", 'The value "object" should be written as "Object"');
+            other.push(value);
           }
-          const downloads = [];
-          const blockSize = 4 * 1024 * 1024;
-          for (let offset = 0; offset < length; offset += blockSize) {
-            const count = Math.min(blockSize, length - offset);
-            downloads.push({
-              offset,
-              promiseGetter: () => __awaiter2(this, void 0, void 0, function* () {
-                return yield downloadSegmentRetry(httpClient, archiveLocation, offset, count);
-              })
-            });
+        }
+        if (instances.length > 0) {
+          const pos = types.indexOf("object");
+          if (pos !== -1) {
+            types.splice(types, pos, 1);
+            instances.push("Object");
           }
-          downloads.reverse();
-          let actives = 0;
-          let bytesDownloaded = 0;
-          const progress = new DownloadProgress(length);
-          progress.startDisplayTimer();
-          const progressFn = progress.onProgress();
-          const activeDownloads = [];
-          let nextDownload;
-          const waitAndWrite = () => __awaiter2(this, void 0, void 0, function* () {
-            const segment = yield Promise.race(Object.values(activeDownloads));
-            yield archiveDescriptor.write(segment.buffer, 0, segment.count, segment.offset);
-            actives--;
-            delete activeDownloads[segment.offset];
-            bytesDownloaded += segment.count;
-            progressFn({ loadedBytes: bytesDownloaded });
-          });
-          while (nextDownload = downloads.pop()) {
-            activeDownloads[nextDownload.offset] = nextDownload.promiseGetter();
-            actives++;
-            if (actives >= ((_a = options.downloadConcurrency) !== null && _a !== void 0 ? _a : 10)) {
-              yield waitAndWrite();
+        }
+        if (types.length > 0) {
+          switch (types.length) {
+            case 1:
+              msg += `of type ${types[0]}`;
+              break;
+            case 2:
+              msg += `one of type ${types[0]} or ${types[1]}`;
+              break;
+            default: {
+              const last = types.pop();
+              msg += `one of type ${types.join(", ")}, or ${last}`;
             }
           }
-          while (actives > 0) {
-            yield waitAndWrite();
+          if (instances.length > 0 || other.length > 0) {
+            msg += " or ";
           }
-        } finally {
-          httpClient.dispose();
-          yield archiveDescriptor.close();
         }
-      });
-    }
-    function downloadSegmentRetry(httpClient, archiveLocation, offset, count) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const retries = 5;
-        let failures = 0;
-        while (true) {
-          try {
-            const timeout = 3e4;
-            const result = yield promiseWithTimeout(timeout, downloadSegment(httpClient, archiveLocation, offset, count));
-            if (typeof result === "string") {
-              throw new Error("downloadSegmentRetry failed due to timeout");
-            }
-            return result;
-          } catch (err) {
-            if (failures >= retries) {
-              throw err;
+        if (instances.length > 0) {
+          switch (instances.length) {
+            case 1:
+              msg += `an instance of ${instances[0]}`;
+              break;
+            case 2:
+              msg += `an instance of ${instances[0]} or ${instances[1]}`;
+              break;
+            default: {
+              const last = instances.pop();
+              msg += `an instance of ${instances.join(", ")}, or ${last}`;
             }
-            failures++;
+          }
+          if (other.length > 0) {
+            msg += " or ";
           }
         }
-      });
-    }
-    function downloadSegment(httpClient, archiveLocation, offset, count) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const partRes = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCachePart", () => __awaiter2(this, void 0, void 0, function* () {
-          return yield httpClient.get(archiveLocation, {
-            Range: `bytes=${offset}-${offset + count - 1}`
-          });
-        }));
-        if (!partRes.readBodyBuffer) {
-          throw new Error("Expected HttpClientResponse to implement readBodyBuffer");
+        switch (other.length) {
+          case 0:
+            break;
+          case 1:
+            if (other[0].toLowerCase() !== other[0]) {
+              msg += "an ";
+            }
+            msg += `${other[0]}`;
+            break;
+          case 2:
+            msg += `one of ${other[0]} or ${other[1]}`;
+            break;
+          default: {
+            const last = other.pop();
+            msg += `one of ${other.join(", ")}, or ${last}`;
+          }
         }
-        return {
-          offset,
-          count,
-          buffer: yield partRes.readBodyBuffer()
-        };
-      });
-    }
-    function downloadCacheStorageSDK(archiveLocation, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
-        const client = new storage_blob_1.BlockBlobClient(archiveLocation, void 0, {
-          retryOptions: {
-            // Override the timeout used when downloading each 4 MB chunk
-            // The default is 2 min / MB, which is way too slow
-            tryTimeoutInMs: options.timeoutInMs
+        if (actual == null) {
+          msg += `. Received ${actual}`;
+        } else if (typeof actual === "function" && actual.name) {
+          msg += `. Received function ${actual.name}`;
+        } else if (typeof actual === "object") {
+          var _actual$constructor;
+          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
+            msg += `. Received an instance of ${actual.constructor.name}`;
+          } else {
+            const inspected = inspect(actual, {
+              depth: -1
+            });
+            msg += `. Received ${inspected}`;
           }
-        });
-        const properties = yield client.getProperties();
-        const contentLength = (_a = properties.contentLength) !== null && _a !== void 0 ? _a : -1;
-        if (contentLength < 0) {
-          core17.debug("Unable to determine content length, downloading file with http-client...");
-          yield downloadCacheHttpClient(archiveLocation, archivePath);
         } else {
-          const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH);
-          const downloadProgress = new DownloadProgress(contentLength);
-          const fd = fs18.openSync(archivePath, "w");
-          try {
-            downloadProgress.startDisplayTimer();
-            const controller = new abort_controller_1.AbortController();
-            const abortSignal = controller.signal;
-            while (!downloadProgress.isDone()) {
-              const segmentStart = downloadProgress.segmentOffset + downloadProgress.segmentSize;
-              const segmentSize = Math.min(maxSegmentSize, contentLength - segmentStart);
-              downloadProgress.nextSegment(segmentSize);
-              const result = yield promiseWithTimeout(options.segmentTimeoutInMs || 36e5, client.downloadToBuffer(segmentStart, segmentSize, {
-                abortSignal,
-                concurrency: options.downloadConcurrency,
-                onProgress: downloadProgress.onProgress()
-              }));
-              if (result === "timeout") {
-                controller.abort();
-                throw new Error("Aborting cache download as the download time exceeded the timeout.");
-              } else if (Buffer.isBuffer(result)) {
-                fs18.writeFileSync(fd, result);
-              }
+          let inspected = inspect(actual, {
+            colors: false
+          });
+          if (inspected.length > 25) {
+            inspected = `${inspected.slice(0, 25)}...`;
+          }
+          msg += `. Received type ${typeof actual} (${inspected})`;
+        }
+        return msg;
+      },
+      TypeError
+    );
+    E(
+      "ERR_INVALID_ARG_VALUE",
+      (name, value, reason = "is invalid") => {
+        let inspected = inspect(value);
+        if (inspected.length > 128) {
+          inspected = inspected.slice(0, 128) + "...";
+        }
+        const type2 = name.includes(".") ? "property" : "argument";
+        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_INVALID_RETURN_VALUE",
+      (input, name, value) => {
+        var _value$constructor;
+        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
+        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_MISSING_ARGS",
+      (...args) => {
+        assert(args.length > 0, "At least one arg needs to be specified");
+        let msg;
+        const len = args.length;
+        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
+        switch (len) {
+          case 1:
+            msg += `The ${args[0]} argument`;
+            break;
+          case 2:
+            msg += `The ${args[0]} and ${args[1]} arguments`;
+            break;
+          default:
+            {
+              const last = args.pop();
+              msg += `The ${args.join(", ")}, and ${last} arguments`;
             }
-          } finally {
-            downloadProgress.stopDisplayTimer();
-            fs18.closeSync(fd);
+            break;
+        }
+        return `${msg} must be specified`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_OUT_OF_RANGE",
+      (str2, range, input) => {
+        assert(range, 'Missing "range" argument');
+        let received;
+        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
+          received = addNumericalSeparator(String(input));
+        } else if (typeof input === "bigint") {
+          received = String(input);
+          if (input > 2n ** 32n || input < -(2n ** 32n)) {
+            received = addNumericalSeparator(received);
           }
+          received += "n";
+        } else {
+          received = inspect(input);
         }
-      });
-    }
-    var promiseWithTimeout = (timeoutMs, promise) => __awaiter2(void 0, void 0, void 0, function* () {
-      let timeoutHandle;
-      const timeoutPromise = new Promise((resolve8) => {
-        timeoutHandle = setTimeout(() => resolve8("timeout"), timeoutMs);
-      });
-      return Promise.race([promise, timeoutPromise]).then((result) => {
-        clearTimeout(timeoutHandle);
-        return result;
-      });
-    });
+        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
+      },
+      RangeError
+    );
+    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
+    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
+    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
+    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
+    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
+    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
+    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
+    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
+    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
+    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
+    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
+    module2.exports = {
+      AbortError,
+      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
+      hideStackFrames,
+      codes
+    };
   }
 });
 
-// node_modules/@actions/cache/lib/options.js
-var require_options = __commonJS({
-  "node_modules/@actions/cache/lib/options.js"(exports2) {
+// node_modules/readable-stream/lib/internal/validators.js
+var require_validators = __commonJS({
+  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    var {
+      ArrayIsArray,
+      ArrayPrototypeIncludes,
+      ArrayPrototypeJoin,
+      ArrayPrototypeMap,
+      NumberIsInteger,
+      NumberIsNaN,
+      NumberMAX_SAFE_INTEGER,
+      NumberMIN_SAFE_INTEGER,
+      NumberParseInt,
+      ObjectPrototypeHasOwnProperty,
+      RegExpPrototypeExec,
+      String: String2,
+      StringPrototypeToUpperCase,
+      StringPrototypeTrim
+    } = require_primordials();
+    var {
+      hideStackFrames,
+      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
+    } = require_errors5();
+    var { normalizeEncoding } = require_util21();
+    var { isAsyncFunction, isArrayBufferView } = require_util21().types;
+    var signals = {};
+    function isInt32(value) {
+      return value === (value | 0);
+    }
+    function isUint32(value) {
+      return value === value >>> 0;
+    }
+    var octalReg = /^[0-7]+$/;
+    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
+    function parseFileMode(value, name, def) {
+      if (typeof value === "undefined") {
+        value = def;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUploadOptions = getUploadOptions;
-    exports2.getDownloadOptions = getDownloadOptions;
-    var core17 = __importStar2(require_core());
-    function getUploadOptions(copy) {
-      const result = {
-        useAzureSdk: false,
-        uploadConcurrency: 4,
-        uploadChunkSize: 32 * 1024 * 1024
-      };
-      if (copy) {
-        if (typeof copy.useAzureSdk === "boolean") {
-          result.useAzureSdk = copy.useAzureSdk;
-        }
-        if (typeof copy.uploadConcurrency === "number") {
-          result.uploadConcurrency = copy.uploadConcurrency;
-        }
-        if (typeof copy.uploadChunkSize === "number") {
-          result.uploadChunkSize = copy.uploadChunkSize;
+      if (typeof value === "string") {
+        if (RegExpPrototypeExec(octalReg, value) === null) {
+          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
         }
+        value = NumberParseInt(value, 8);
       }
-      result.uploadConcurrency = !isNaN(Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) ? Math.min(32, Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) : result.uploadConcurrency;
-      result.uploadChunkSize = !isNaN(Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"])) ? Math.min(128 * 1024 * 1024, Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) * 1024 * 1024) : result.uploadChunkSize;
-      core17.debug(`Use Azure SDK: ${result.useAzureSdk}`);
-      core17.debug(`Upload concurrency: ${result.uploadConcurrency}`);
-      core17.debug(`Upload chunk size: ${result.uploadChunkSize}`);
-      return result;
+      validateUint32(value, name);
+      return value;
     }
-    function getDownloadOptions(copy) {
-      const result = {
-        useAzureSdk: false,
-        concurrentBlobDownloads: true,
-        downloadConcurrency: 8,
-        timeoutInMs: 3e4,
-        segmentTimeoutInMs: 6e5,
-        lookupOnly: false
-      };
-      if (copy) {
-        if (typeof copy.useAzureSdk === "boolean") {
-          result.useAzureSdk = copy.useAzureSdk;
-        }
-        if (typeof copy.concurrentBlobDownloads === "boolean") {
-          result.concurrentBlobDownloads = copy.concurrentBlobDownloads;
-        }
-        if (typeof copy.downloadConcurrency === "number") {
-          result.downloadConcurrency = copy.downloadConcurrency;
-        }
-        if (typeof copy.timeoutInMs === "number") {
-          result.timeoutInMs = copy.timeoutInMs;
-        }
-        if (typeof copy.segmentTimeoutInMs === "number") {
-          result.segmentTimeoutInMs = copy.segmentTimeoutInMs;
+    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
+      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+    });
+    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
+      if (typeof value !== "number") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      }
+      if (!NumberIsInteger(value)) {
+        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      }
+      if (value < min || value > max) {
+        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      }
+    });
+    var validateUint32 = hideStackFrames((value, name, positive = false) => {
+      if (typeof value !== "number") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      }
+      if (!NumberIsInteger(value)) {
+        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      }
+      const min = positive ? 1 : 0;
+      const max = 4294967295;
+      if (value < min || value > max) {
+        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      }
+    });
+    function validateString(value, name) {
+      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
+    }
+    function validateNumber(value, name, min = void 0, max) {
+      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
+        throw new ERR_OUT_OF_RANGE(
+          name,
+          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
+          value
+        );
+      }
+    }
+    var validateOneOf = hideStackFrames((value, name, oneOf) => {
+      if (!ArrayPrototypeIncludes(oneOf, value)) {
+        const allowed = ArrayPrototypeJoin(
+          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
+          ", "
+        );
+        const reason = "must be one of: " + allowed;
+        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      }
+    });
+    function validateBoolean(value, name) {
+      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
+    }
+    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
+      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
+    }
+    var validateObject = hideStackFrames((value, name, options = null) => {
+      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
+      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
+      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
+      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
+      }
+    });
+    var validateDictionary = hideStackFrames((value, name) => {
+      if (value != null && typeof value !== "object" && typeof value !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
+      }
+    });
+    var validateArray = hideStackFrames((value, name, minLength = 0) => {
+      if (!ArrayIsArray(value)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
+      }
+      if (value.length < minLength) {
+        const reason = `must be longer than ${minLength}`;
+        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      }
+    });
+    function validateStringArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        validateString(value[i], `${name}[${i}]`);
+      }
+    }
+    function validateBooleanArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        validateBoolean(value[i], `${name}[${i}]`);
+      }
+    }
+    function validateAbortSignalArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        const signal = value[i];
+        const indexedName = `${name}[${i}]`;
+        if (signal == null) {
+          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
         }
-        if (typeof copy.lookupOnly === "boolean") {
-          result.lookupOnly = copy.lookupOnly;
+        validateAbortSignal(signal, indexedName);
+      }
+    }
+    function validateSignalName(signal, name = "signal") {
+      validateString(signal, name);
+      if (signals[signal] === void 0) {
+        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
+          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
         }
+        throw new ERR_UNKNOWN_SIGNAL(signal);
       }
-      const segmentDownloadTimeoutMins = process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"];
-      if (segmentDownloadTimeoutMins && !isNaN(Number(segmentDownloadTimeoutMins)) && isFinite(Number(segmentDownloadTimeoutMins))) {
-        result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1e3;
+    }
+    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
+      if (!isArrayBufferView(buffer)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
+      }
+    });
+    function validateEncoding(data, encoding) {
+      const normalizedEncoding = normalizeEncoding(encoding);
+      const length = data.length;
+      if (normalizedEncoding === "hex" && length % 2 !== 0) {
+        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
+      }
+    }
+    function validatePort(port, name = "Port", allowZero = true) {
+      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
+        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
+      }
+      return port | 0;
+    }
+    var validateAbortSignal = hideStackFrames((signal, name) => {
+      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+      }
+    });
+    var validateFunction = hideStackFrames((value, name) => {
+      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
+    });
+    var validatePlainFunction = hideStackFrames((value, name) => {
+      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
+    });
+    var validateUndefined = hideStackFrames((value, name) => {
+      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
+    });
+    function validateUnion(value, name, union) {
+      if (!ArrayPrototypeIncludes(union, value)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
       }
-      core17.debug(`Use Azure SDK: ${result.useAzureSdk}`);
-      core17.debug(`Download concurrency: ${result.downloadConcurrency}`);
-      core17.debug(`Request timeout (ms): ${result.timeoutInMs}`);
-      core17.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`);
-      core17.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`);
-      core17.debug(`Lookup only: ${result.lookupOnly}`);
-      return result;
-    }
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/config.js
-var require_config = __commonJS({
-  "node_modules/@actions/cache/lib/internal/config.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isGhes = isGhes;
-    exports2.getCacheServiceVersion = getCacheServiceVersion;
-    exports2.getCacheServiceURL = getCacheServiceURL;
-    function isGhes() {
-      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
-      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
-      const isGitHubHost = hostname === "GITHUB.COM";
-      const isGheHost = hostname.endsWith(".GHE.COM");
-      const isLocalHost = hostname.endsWith(".LOCALHOST");
-      return !isGitHubHost && !isGheHost && !isLocalHost;
     }
-    function getCacheServiceVersion() {
-      if (isGhes())
-        return "v1";
-      return process.env["ACTIONS_CACHE_SERVICE_V2"] ? "v2" : "v1";
+    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
+    function validateLinkHeaderFormat(value, name) {
+      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
+        throw new ERR_INVALID_ARG_VALUE(
+          name,
+          value,
+          'must be an array or string of format "; rel=preload; as=style"'
+        );
+      }
     }
-    function getCacheServiceURL() {
-      const version = getCacheServiceVersion();
-      switch (version) {
-        case "v1":
-          return process.env["ACTIONS_CACHE_URL"] || process.env["ACTIONS_RESULTS_URL"] || "";
-        case "v2":
-          return process.env["ACTIONS_RESULTS_URL"] || "";
-        default:
-          throw new Error(`Unsupported cache service version: ${version}`);
+    function validateLinkHeaderValue(hints) {
+      if (typeof hints === "string") {
+        validateLinkHeaderFormat(hints, "hints");
+        return hints;
+      } else if (ArrayIsArray(hints)) {
+        const hintsLength = hints.length;
+        let result = "";
+        if (hintsLength === 0) {
+          return result;
+        }
+        for (let i = 0; i < hintsLength; i++) {
+          const link = hints[i];
+          validateLinkHeaderFormat(link, "hints");
+          result += link;
+          if (i !== hintsLength - 1) {
+            result += ", ";
+          }
+        }
+        return result;
       }
+      throw new ERR_INVALID_ARG_VALUE(
+        "hints",
+        hints,
+        'must be an array or string of format "; rel=preload; as=style"'
+      );
     }
-  }
-});
-
-// node_modules/@actions/cache/package.json
-var require_package2 = __commonJS({
-  "node_modules/@actions/cache/package.json"(exports2, module2) {
     module2.exports = {
-      name: "@actions/cache",
-      version: "5.0.5",
-      preview: true,
-      description: "Actions cache lib",
-      keywords: [
-        "github",
-        "actions",
-        "cache"
-      ],
-      homepage: "https://github.com/actions/toolkit/tree/main/packages/cache",
-      license: "MIT",
-      main: "lib/cache.js",
-      types: "lib/cache.d.ts",
-      directories: {
-        lib: "lib",
-        test: "__tests__"
-      },
-      files: [
-        "lib",
-        "!.DS_Store"
-      ],
-      publishConfig: {
-        access: "public"
-      },
-      repository: {
-        type: "git",
-        url: "git+https://github.com/actions/toolkit.git",
-        directory: "packages/cache"
-      },
-      scripts: {
-        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
-        test: 'echo "Error: run tests from root" && exit 1',
-        tsc: "tsc"
-      },
-      bugs: {
-        url: "https://github.com/actions/toolkit/issues"
-      },
-      dependencies: {
-        "@actions/core": "^2.0.0",
-        "@actions/exec": "^2.0.0",
-        "@actions/glob": "^0.5.1",
-        "@protobuf-ts/runtime-rpc": "^2.11.1",
-        "@actions/http-client": "^3.0.2",
-        "@actions/io": "^2.0.0",
-        "@azure/abort-controller": "^1.1.0",
-        "@azure/core-rest-pipeline": "^1.22.0",
-        "@azure/storage-blob": "^12.29.1",
-        semver: "^6.3.1"
-      },
-      devDependencies: {
-        "@types/node": "^24.1.0",
-        "@types/semver": "^6.0.0",
-        "@protobuf-ts/plugin": "^2.9.4",
-        typescript: "^5.2.2"
-      },
-      overrides: {
-        "uri-js": "npm:uri-js-replace@^1.0.1",
-        "node-fetch": "^3.3.2"
-      }
+      isInt32,
+      isUint32,
+      parseFileMode,
+      validateArray,
+      validateStringArray,
+      validateBooleanArray,
+      validateAbortSignalArray,
+      validateBoolean,
+      validateBuffer,
+      validateDictionary,
+      validateEncoding,
+      validateFunction,
+      validateInt32,
+      validateInteger,
+      validateNumber,
+      validateObject,
+      validateOneOf,
+      validatePlainFunction,
+      validatePort,
+      validateSignalName,
+      validateString,
+      validateUint32,
+      validateUndefined,
+      validateUnion,
+      validateAbortSignal,
+      validateLinkHeaderValue
     };
   }
 });
 
-// node_modules/@actions/cache/lib/internal/shared/user-agent.js
-var require_user_agent = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/user-agent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentString = getUserAgentString;
-    var packageJson = require_package2();
-    function getUserAgentString() {
-      return `@actions/cache-${packageJson.version}`;
-    }
+// node_modules/process/index.js
+var require_process = __commonJS({
+  "node_modules/process/index.js"(exports2, module2) {
+    module2.exports = global.process;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/cacheHttpClient.js
-var require_cacheHttpClient = __commonJS({
-  "node_modules/@actions/cache/lib/internal/cacheHttpClient.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/utils.js
+var require_utils8 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getCacheEntry = getCacheEntry;
-    exports2.downloadCache = downloadCache;
-    exports2.reserveCache = reserveCache;
-    exports2.saveCache = saveCache4;
-    var core17 = __importStar2(require_core());
-    var http_client_1 = require_lib();
-    var auth_1 = require_auth();
-    var fs18 = __importStar2(require("fs"));
-    var url_1 = require("url");
-    var utils = __importStar2(require_cacheUtils());
-    var uploadUtils_1 = require_uploadUtils();
-    var downloadUtils_1 = require_downloadUtils();
-    var options_1 = require_options();
-    var requestUtils_1 = require_requestUtils();
-    var config_1 = require_config();
-    var user_agent_1 = require_user_agent();
-    function getCacheApiUrl(resource) {
-      const baseUrl = (0, config_1.getCacheServiceURL)();
-      if (!baseUrl) {
-        throw new Error("Cache Service Url not found, unable to restore cache.");
-      }
-      const url2 = `${baseUrl}_apis/artifactcache/${resource}`;
-      core17.debug(`Resource Url: ${url2}`);
-      return url2;
+    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
+    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
+    var kIsErrored = SymbolFor("nodejs.stream.errored");
+    var kIsReadable = SymbolFor("nodejs.stream.readable");
+    var kIsWritable = SymbolFor("nodejs.stream.writable");
+    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
+    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
+    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
+    function isReadableNodeStream(obj, strict = false) {
+      var _obj$_readableState;
+      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
+      (!obj._writableState || obj._readableState));
     }
-    function createAcceptHeader(type2, apiVersion) {
-      return `${type2};api-version=${apiVersion}`;
+    function isWritableNodeStream(obj) {
+      var _obj$_writableState;
+      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
     }
-    function getRequestOptions() {
-      const requestOptions = {
-        headers: {
-          Accept: createAcceptHeader("application/json", "6.0-preview.1")
-        }
-      };
-      return requestOptions;
+    function isDuplexNodeStream(obj) {
+      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
     }
-    function createHttpClient() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"] || "";
-      const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token);
-      return new http_client_1.HttpClient((0, user_agent_1.getUserAgentString)(), [bearerCredentialHandler], getRequestOptions());
+    function isNodeStream(obj) {
+      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
     }
-    function getCacheEntry(keys, paths, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const httpClient = createHttpClient();
-        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
-        const resource = `cache?keys=${encodeURIComponent(keys.join(","))}&version=${version}`;
-        const response = yield (0, requestUtils_1.retryTypedResponse)("getCacheEntry", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.getJson(getCacheApiUrl(resource));
-        }));
-        if (response.statusCode === 204) {
-          if (core17.isDebug()) {
-            yield printCachesListForDiagnostics(keys[0], httpClient, version);
-          }
-          return null;
-        }
-        if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) {
-          throw new Error(`Cache service responded with ${response.statusCode}`);
-        }
-        const cacheResult = response.result;
-        const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation;
-        if (!cacheDownloadUrl) {
-          throw new Error("Cache not found.");
-        }
-        core17.setSecret(cacheDownloadUrl);
-        core17.debug(`Cache Result:`);
-        core17.debug(JSON.stringify(cacheResult));
-        return cacheResult;
-      });
+    function isReadableStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
     }
-    function printCachesListForDiagnostics(key, httpClient, version) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const resource = `caches?key=${encodeURIComponent(key)}`;
-        const response = yield (0, requestUtils_1.retryTypedResponse)("listCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.getJson(getCacheApiUrl(resource));
-        }));
-        if (response.statusCode === 200) {
-          const cacheListResult = response.result;
-          const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount;
-          if (totalCount && totalCount > 0) {
-            core17.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key 
-Other caches with similar key:`);
-            for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) {
-              core17.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`);
-            }
-          }
-        }
-      });
+    function isWritableStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
     }
-    function downloadCache(archiveLocation, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const archiveUrl = new url_1.URL(archiveLocation);
-        const downloadOptions = (0, options_1.getDownloadOptions)(options);
-        if (archiveUrl.hostname.endsWith(".blob.core.windows.net")) {
-          if (downloadOptions.useAzureSdk) {
-            yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions);
-          } else if (downloadOptions.concurrentBlobDownloads) {
-            yield (0, downloadUtils_1.downloadCacheHttpClientConcurrent)(archiveLocation, archivePath, downloadOptions);
-          } else {
-            yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
-          }
-        } else {
-          yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
-        }
-      });
+    function isTransformStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
     }
-    function reserveCache(key, paths, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const httpClient = createHttpClient();
-        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
-        const reserveCacheRequest = {
-          key,
-          version,
-          cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize
-        };
-        const response = yield (0, requestUtils_1.retryTypedResponse)("reserveCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.postJson(getCacheApiUrl("caches"), reserveCacheRequest);
-        }));
-        return response;
-      });
+    function isWebStream(obj) {
+      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
     }
-    function getContentRange(start, end) {
-      return `bytes ${start}-${end}/*`;
+    function isIterable(obj, isAsync) {
+      if (obj == null) return false;
+      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
+      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
+      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
     }
-    function uploadChunk(httpClient, resourceUrl, openStream, start, end) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        core17.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`);
-        const additionalHeaders = {
-          "Content-Type": "application/octet-stream",
-          "Content-Range": getContentRange(start, end)
-        };
-        const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.sendStream("PATCH", resourceUrl, openStream(), additionalHeaders);
-        }));
-        if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) {
-          throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`);
-        }
-      });
+    function isDestroyed(stream2) {
+      if (!isNodeStream(stream2)) return null;
+      const wState = stream2._writableState;
+      const rState = stream2._readableState;
+      const state = wState || rState;
+      return !!(stream2.destroyed || stream2[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
     }
-    function uploadFile(httpClient, cacheId, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const fileSize = utils.getArchiveFileSizeInBytes(archivePath);
-        const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
-        const fd = fs18.openSync(archivePath, "r");
-        const uploadOptions = (0, options_1.getUploadOptions)(options);
-        const concurrency = utils.assertDefined("uploadConcurrency", uploadOptions.uploadConcurrency);
-        const maxChunkSize = utils.assertDefined("uploadChunkSize", uploadOptions.uploadChunkSize);
-        const parallelUploads = [...new Array(concurrency).keys()];
-        core17.debug("Awaiting all uploads");
-        let offset = 0;
-        try {
-          yield Promise.all(parallelUploads.map(() => __awaiter2(this, void 0, void 0, function* () {
-            while (offset < fileSize) {
-              const chunkSize = Math.min(fileSize - offset, maxChunkSize);
-              const start = offset;
-              const end = offset + chunkSize - 1;
-              offset += maxChunkSize;
-              yield uploadChunk(httpClient, resourceUrl, () => fs18.createReadStream(archivePath, {
-                fd,
-                start,
-                end,
-                autoClose: false
-              }).on("error", (error3) => {
-                throw new Error(`Cache upload failed because file read failed with ${error3.message}`);
-              }), start, end);
-            }
-          })));
-        } finally {
-          fs18.closeSync(fd);
-        }
-        return;
-      });
+    function isWritableEnded(stream2) {
+      if (!isWritableNodeStream(stream2)) return null;
+      if (stream2.writableEnded === true) return true;
+      const wState = stream2._writableState;
+      if (wState !== null && wState !== void 0 && wState.errored) return false;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
+      return wState.ended;
     }
-    function commitCache(httpClient, cacheId, filesize) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const commitCacheRequest = { size: filesize };
-        return yield (0, requestUtils_1.retryTypedResponse)("commitCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest);
-        }));
-      });
+    function isWritableFinished(stream2, strict) {
+      if (!isWritableNodeStream(stream2)) return null;
+      if (stream2.writableFinished === true) return true;
+      const wState = stream2._writableState;
+      if (wState !== null && wState !== void 0 && wState.errored) return false;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
+      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
     }
-    function saveCache4(cacheId, archivePath, signedUploadURL, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const uploadOptions = (0, options_1.getUploadOptions)(options);
-        if (uploadOptions.useAzureSdk) {
-          if (!signedUploadURL) {
-            throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");
-          }
-          yield (0, uploadUtils_1.uploadCacheArchiveSDK)(signedUploadURL, archivePath, options);
-        } else {
-          const httpClient = createHttpClient();
-          core17.debug("Upload cache");
-          yield uploadFile(httpClient, cacheId, archivePath, options);
-          core17.debug("Commiting cache");
-          const cacheSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core17.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
-          const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
-          if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) {
-            throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`);
-          }
-          core17.info("Cache saved successfully");
-        }
-      });
+    function isReadableEnded(stream2) {
+      if (!isReadableNodeStream(stream2)) return null;
+      if (stream2.readableEnded === true) return true;
+      const rState = stream2._readableState;
+      if (!rState || rState.errored) return false;
+      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
+      return rState.ended;
     }
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js
-var require_json_typings = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isJsonObject = exports2.typeofJsonValue = void 0;
-    function typeofJsonValue(value) {
-      let t = typeof value;
-      if (t == "object") {
-        if (Array.isArray(value))
-          return "array";
-        if (value === null)
-          return "null";
-      }
-      return t;
+    function isReadableFinished(stream2, strict) {
+      if (!isReadableNodeStream(stream2)) return null;
+      const rState = stream2._readableState;
+      if (rState !== null && rState !== void 0 && rState.errored) return false;
+      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
+      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
     }
-    exports2.typeofJsonValue = typeofJsonValue;
-    function isJsonObject(value) {
-      return value !== null && typeof value == "object" && !Array.isArray(value);
+    function isReadable(stream2) {
+      if (stream2 && stream2[kIsReadable] != null) return stream2[kIsReadable];
+      if (typeof (stream2 === null || stream2 === void 0 ? void 0 : stream2.readable) !== "boolean") return null;
+      if (isDestroyed(stream2)) return false;
+      return isReadableNodeStream(stream2) && stream2.readable && !isReadableFinished(stream2);
     }
-    exports2.isJsonObject = isJsonObject;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js
-var require_base642 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.base64encode = exports2.base64decode = void 0;
-    var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
-    var decTable = [];
-    for (let i = 0; i < encTable.length; i++)
-      decTable[encTable[i].charCodeAt(0)] = i;
-    decTable["-".charCodeAt(0)] = encTable.indexOf("+");
-    decTable["_".charCodeAt(0)] = encTable.indexOf("/");
-    function base64decode(base64Str) {
-      let es = base64Str.length * 3 / 4;
-      if (base64Str[base64Str.length - 2] == "=")
-        es -= 2;
-      else if (base64Str[base64Str.length - 1] == "=")
-        es -= 1;
-      let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0;
-      for (let i = 0; i < base64Str.length; i++) {
-        b = decTable[base64Str.charCodeAt(i)];
-        if (b === void 0) {
-          switch (base64Str[i]) {
-            case "=":
-              groupPos = 0;
-            // reset state when padding found
-            case "\n":
-            case "\r":
-            case "	":
-            case " ":
-              continue;
-            // skip white-space, and padding
-            default:
-              throw Error(`invalid base64 string.`);
-          }
-        }
-        switch (groupPos) {
-          case 0:
-            p = b;
-            groupPos = 1;
-            break;
-          case 1:
-            bytes[bytePos++] = p << 2 | (b & 48) >> 4;
-            p = b;
-            groupPos = 2;
-            break;
-          case 2:
-            bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2;
-            p = b;
-            groupPos = 3;
-            break;
-          case 3:
-            bytes[bytePos++] = (p & 3) << 6 | b;
-            groupPos = 0;
-            break;
-        }
+    function isWritable(stream2) {
+      if (stream2 && stream2[kIsWritable] != null) return stream2[kIsWritable];
+      if (typeof (stream2 === null || stream2 === void 0 ? void 0 : stream2.writable) !== "boolean") return null;
+      if (isDestroyed(stream2)) return false;
+      return isWritableNodeStream(stream2) && stream2.writable && !isWritableEnded(stream2);
+    }
+    function isFinished(stream2, opts) {
+      if (!isNodeStream(stream2)) {
+        return null;
       }
-      if (groupPos == 1)
-        throw Error(`invalid base64 string.`);
-      return bytes.subarray(0, bytePos);
+      if (isDestroyed(stream2)) {
+        return true;
+      }
+      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream2)) {
+        return false;
+      }
+      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream2)) {
+        return false;
+      }
+      return true;
     }
-    exports2.base64decode = base64decode;
-    function base64encode(bytes) {
-      let base64 = "", groupPos = 0, b, p = 0;
-      for (let i = 0; i < bytes.length; i++) {
-        b = bytes[i];
-        switch (groupPos) {
-          case 0:
-            base64 += encTable[b >> 2];
-            p = (b & 3) << 4;
-            groupPos = 1;
-            break;
-          case 1:
-            base64 += encTable[p | b >> 4];
-            p = (b & 15) << 2;
-            groupPos = 2;
-            break;
-          case 2:
-            base64 += encTable[p | b >> 6];
-            base64 += encTable[b & 63];
-            groupPos = 0;
-            break;
-        }
+    function isWritableErrored(stream2) {
+      var _stream$_writableStat, _stream$_writableStat2;
+      if (!isNodeStream(stream2)) {
+        return null;
       }
-      if (groupPos) {
-        base64 += encTable[p];
-        base64 += "=";
-        if (groupPos == 1)
-          base64 += "=";
+      if (stream2.writableErrored) {
+        return stream2.writableErrored;
       }
-      return base64;
+      return (_stream$_writableStat = (_stream$_writableStat2 = stream2._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
     }
-    exports2.base64encode = base64encode;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js
-var require_protobufjs_utf8 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.utf8read = void 0;
-    var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk);
-    function utf8read(bytes) {
-      if (bytes.length < 1)
-        return "";
-      let pos = 0, parts = [], chunk = [], i = 0, t;
-      let len = bytes.length;
-      while (pos < len) {
-        t = bytes[pos++];
-        if (t < 128)
-          chunk[i++] = t;
-        else if (t > 191 && t < 224)
-          chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63;
-        else if (t > 239 && t < 365) {
-          t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536;
-          chunk[i++] = 55296 + (t >> 10);
-          chunk[i++] = 56320 + (t & 1023);
-        } else
-          chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63;
-        if (i > 8191) {
-          parts.push(fromCharCodes(chunk));
-          i = 0;
-        }
+    function isReadableErrored(stream2) {
+      var _stream$_readableStat, _stream$_readableStat2;
+      if (!isNodeStream(stream2)) {
+        return null;
       }
-      if (parts.length) {
-        if (i)
-          parts.push(fromCharCodes(chunk.slice(0, i)));
-        return parts.join("");
+      if (stream2.readableErrored) {
+        return stream2.readableErrored;
       }
-      return fromCharCodes(chunk.slice(0, i));
+      return (_stream$_readableStat = (_stream$_readableStat2 = stream2._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
     }
-    exports2.utf8read = utf8read;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js
-var require_binary_format_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
-    var UnknownFieldHandler;
-    (function(UnknownFieldHandler2) {
-      UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
-      UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
-        let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
-        container.push({ no: fieldNo, wireType, data });
-      };
-      UnknownFieldHandler2.onWrite = (typeName, message, writer) => {
-        for (let { no, wireType, data } of UnknownFieldHandler2.list(message))
-          writer.tag(no, wireType).raw(data);
-      };
-      UnknownFieldHandler2.list = (message, fieldNo) => {
-        if (is(message)) {
-          let all = message[UnknownFieldHandler2.symbol];
-          return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all;
-        }
-        return [];
-      };
-      UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0];
-      const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]);
-    })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {}));
-    function mergeBinaryOptions(a, b) {
-      return Object.assign(Object.assign({}, a), b);
+    function isClosed(stream2) {
+      if (!isNodeStream(stream2)) {
+        return null;
+      }
+      if (typeof stream2.closed === "boolean") {
+        return stream2.closed;
+      }
+      const wState = stream2._writableState;
+      const rState = stream2._readableState;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
+        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
+      }
+      if (typeof stream2._closed === "boolean" && isOutgoingMessage(stream2)) {
+        return stream2._closed;
+      }
+      return null;
     }
-    exports2.mergeBinaryOptions = mergeBinaryOptions;
-    var WireType;
-    (function(WireType2) {
-      WireType2[WireType2["Varint"] = 0] = "Varint";
-      WireType2[WireType2["Bit64"] = 1] = "Bit64";
-      WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited";
-      WireType2[WireType2["StartGroup"] = 3] = "StartGroup";
-      WireType2[WireType2["EndGroup"] = 4] = "EndGroup";
-      WireType2[WireType2["Bit32"] = 5] = "Bit32";
-    })(WireType = exports2.WireType || (exports2.WireType = {}));
+    function isOutgoingMessage(stream2) {
+      return typeof stream2._closed === "boolean" && typeof stream2._defaultKeepAlive === "boolean" && typeof stream2._removedConnection === "boolean" && typeof stream2._removedContLen === "boolean";
+    }
+    function isServerResponse(stream2) {
+      return typeof stream2._sent100 === "boolean" && isOutgoingMessage(stream2);
+    }
+    function isServerRequest(stream2) {
+      var _stream$req;
+      return typeof stream2._consuming === "boolean" && typeof stream2._dumped === "boolean" && ((_stream$req = stream2.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
+    }
+    function willEmitClose(stream2) {
+      if (!isNodeStream(stream2)) return null;
+      const wState = stream2._writableState;
+      const rState = stream2._readableState;
+      const state = wState || rState;
+      return !state && isServerResponse(stream2) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
+    }
+    function isDisturbed(stream2) {
+      var _stream$kIsDisturbed;
+      return !!(stream2 && ((_stream$kIsDisturbed = stream2[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream2.readableDidRead || stream2.readableAborted));
+    }
+    function isErrored(stream2) {
+      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
+      return !!(stream2 && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream2[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream2.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream2.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream2._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream2._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream2._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream2._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
+    }
+    module2.exports = {
+      isDestroyed,
+      kIsDestroyed,
+      isDisturbed,
+      kIsDisturbed,
+      isErrored,
+      kIsErrored,
+      isReadable,
+      kIsReadable,
+      kIsClosedPromise,
+      kControllerErrorFunction,
+      kIsWritable,
+      isClosed,
+      isDuplexNodeStream,
+      isFinished,
+      isIterable,
+      isReadableNodeStream,
+      isReadableStream,
+      isReadableEnded,
+      isReadableFinished,
+      isReadableErrored,
+      isNodeStream,
+      isWebStream,
+      isWritable,
+      isWritableNodeStream,
+      isWritableStream,
+      isWritableEnded,
+      isWritableFinished,
+      isWritableErrored,
+      isServerRequest,
+      isServerResponse,
+      willEmitClose,
+      isTransformStream
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js
-var require_goog_varint = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0;
-    function varint64read() {
-      let lowBits = 0;
-      let highBits = 0;
-      for (let shift = 0; shift < 28; shift += 7) {
-        let b = this.buf[this.pos++];
-        lowBits |= (b & 127) << shift;
-        if ((b & 128) == 0) {
-          this.assertBounds();
-          return [lowBits, highBits];
-        }
+// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
+var require_end_of_stream = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
+    var process2 = require_process();
+    var { AbortError, codes } = require_errors5();
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
+    var { kEmptyObject, once } = require_util21();
+    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
+    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
+    var {
+      isClosed,
+      isReadable,
+      isReadableNodeStream,
+      isReadableStream,
+      isReadableFinished,
+      isReadableErrored,
+      isWritable,
+      isWritableNodeStream,
+      isWritableStream,
+      isWritableFinished,
+      isWritableErrored,
+      isNodeStream,
+      willEmitClose: _willEmitClose,
+      kIsClosedPromise
+    } = require_utils8();
+    var addAbortListener;
+    function isRequest(stream2) {
+      return stream2.setHeader && typeof stream2.abort === "function";
+    }
+    var nop = () => {
+    };
+    function eos(stream2, options, callback) {
+      var _options$readable, _options$writable;
+      if (arguments.length === 2) {
+        callback = options;
+        options = kEmptyObject;
+      } else if (options == null) {
+        options = kEmptyObject;
+      } else {
+        validateObject(options, "options");
       }
-      let middleByte = this.buf[this.pos++];
-      lowBits |= (middleByte & 15) << 28;
-      highBits = (middleByte & 112) >> 4;
-      if ((middleByte & 128) == 0) {
-        this.assertBounds();
-        return [lowBits, highBits];
+      validateFunction(callback, "callback");
+      validateAbortSignal(options.signal, "options.signal");
+      callback = once(callback);
+      if (isReadableStream(stream2) || isWritableStream(stream2)) {
+        return eosWeb(stream2, options, callback);
       }
-      for (let shift = 3; shift <= 31; shift += 7) {
-        let b = this.buf[this.pos++];
-        highBits |= (b & 127) << shift;
-        if ((b & 128) == 0) {
-          this.assertBounds();
-          return [lowBits, highBits];
-        }
+      if (!isNodeStream(stream2)) {
+        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream2);
       }
-      throw new Error("invalid varint");
-    }
-    exports2.varint64read = varint64read;
-    function varint64write(lo, hi, bytes) {
-      for (let i = 0; i < 28; i = i + 7) {
-        const shift = lo >>> i;
-        const hasNext = !(shift >>> 7 == 0 && hi == 0);
-        const byte = (hasNext ? shift | 128 : shift) & 255;
-        bytes.push(byte);
-        if (!hasNext) {
+      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream2);
+      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream2);
+      const wState = stream2._writableState;
+      const rState = stream2._readableState;
+      const onlegacyfinish = () => {
+        if (!stream2.writable) {
+          onfinish();
+        }
+      };
+      let willEmitClose = _willEmitClose(stream2) && isReadableNodeStream(stream2) === readable && isWritableNodeStream(stream2) === writable;
+      let writableFinished = isWritableFinished(stream2, false);
+      const onfinish = () => {
+        writableFinished = true;
+        if (stream2.destroyed) {
+          willEmitClose = false;
+        }
+        if (willEmitClose && (!stream2.readable || readable)) {
           return;
         }
-      }
-      const splitBits = lo >>> 28 & 15 | (hi & 7) << 4;
-      const hasMoreBits = !(hi >> 3 == 0);
-      bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255);
-      if (!hasMoreBits) {
-        return;
-      }
-      for (let i = 3; i < 31; i = i + 7) {
-        const shift = hi >>> i;
-        const hasNext = !(shift >>> 7 == 0);
-        const byte = (hasNext ? shift | 128 : shift) & 255;
-        bytes.push(byte);
-        if (!hasNext) {
+        if (!readable || readableFinished) {
+          callback.call(stream2);
+        }
+      };
+      let readableFinished = isReadableFinished(stream2, false);
+      const onend = () => {
+        readableFinished = true;
+        if (stream2.destroyed) {
+          willEmitClose = false;
+        }
+        if (willEmitClose && (!stream2.writable || writable)) {
           return;
         }
-      }
-      bytes.push(hi >>> 31 & 1);
-    }
-    exports2.varint64write = varint64write;
-    var TWO_PWR_32_DBL2 = (1 << 16) * (1 << 16);
-    function int64fromString(dec) {
-      let minus = dec[0] == "-";
-      if (minus)
-        dec = dec.slice(1);
-      const base = 1e6;
-      let lowBits = 0;
-      let highBits = 0;
-      function add1e6digit(begin, end) {
-        const digit1e6 = Number(dec.slice(begin, end));
-        highBits *= base;
-        lowBits = lowBits * base + digit1e6;
-        if (lowBits >= TWO_PWR_32_DBL2) {
-          highBits = highBits + (lowBits / TWO_PWR_32_DBL2 | 0);
-          lowBits = lowBits % TWO_PWR_32_DBL2;
+        if (!writable || writableFinished) {
+          callback.call(stream2);
         }
+      };
+      const onerror = (err) => {
+        callback.call(stream2, err);
+      };
+      let closed = isClosed(stream2);
+      const onclose = () => {
+        closed = true;
+        const errored = isWritableErrored(stream2) || isReadableErrored(stream2);
+        if (errored && typeof errored !== "boolean") {
+          return callback.call(stream2, errored);
+        }
+        if (readable && !readableFinished && isReadableNodeStream(stream2, true)) {
+          if (!isReadableFinished(stream2, false)) return callback.call(stream2, new ERR_STREAM_PREMATURE_CLOSE());
+        }
+        if (writable && !writableFinished) {
+          if (!isWritableFinished(stream2, false)) return callback.call(stream2, new ERR_STREAM_PREMATURE_CLOSE());
+        }
+        callback.call(stream2);
+      };
+      const onclosed = () => {
+        closed = true;
+        const errored = isWritableErrored(stream2) || isReadableErrored(stream2);
+        if (errored && typeof errored !== "boolean") {
+          return callback.call(stream2, errored);
+        }
+        callback.call(stream2);
+      };
+      const onrequest = () => {
+        stream2.req.on("finish", onfinish);
+      };
+      if (isRequest(stream2)) {
+        stream2.on("complete", onfinish);
+        if (!willEmitClose) {
+          stream2.on("abort", onclose);
+        }
+        if (stream2.req) {
+          onrequest();
+        } else {
+          stream2.on("request", onrequest);
+        }
+      } else if (writable && !wState) {
+        stream2.on("end", onlegacyfinish);
+        stream2.on("close", onlegacyfinish);
       }
-      add1e6digit(-24, -18);
-      add1e6digit(-18, -12);
-      add1e6digit(-12, -6);
-      add1e6digit(-6);
-      return [minus, lowBits, highBits];
-    }
-    exports2.int64fromString = int64fromString;
-    function int64toString(bitsLow, bitsHigh) {
-      if (bitsHigh >>> 0 <= 2097151) {
-        return "" + (TWO_PWR_32_DBL2 * bitsHigh + (bitsLow >>> 0));
-      }
-      let low = bitsLow & 16777215;
-      let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215;
-      let high = bitsHigh >> 16 & 65535;
-      let digitA = low + mid * 6777216 + high * 6710656;
-      let digitB = mid + high * 8147497;
-      let digitC = high * 2;
-      let base = 1e7;
-      if (digitA >= base) {
-        digitB += Math.floor(digitA / base);
-        digitA %= base;
-      }
-      if (digitB >= base) {
-        digitC += Math.floor(digitB / base);
-        digitB %= base;
+      if (!willEmitClose && typeof stream2.aborted === "boolean") {
+        stream2.on("aborted", onclose);
       }
-      function decimalFrom1e7(digit1e7, needLeadingZeros) {
-        let partial = digit1e7 ? String(digit1e7) : "";
-        if (needLeadingZeros) {
-          return "0000000".slice(partial.length) + partial;
-        }
-        return partial;
+      stream2.on("end", onend);
+      stream2.on("finish", onfinish);
+      if (options.error !== false) {
+        stream2.on("error", onerror);
       }
-      return decimalFrom1e7(
-        digitC,
-        /*needLeadingZeros=*/
-        0
-      ) + decimalFrom1e7(
-        digitB,
-        /*needLeadingZeros=*/
-        digitC
-      ) + // If the final 1e7 digit didn't need leading zeros, we would have
-      // returned via the trivial code path at the top.
-      decimalFrom1e7(
-        digitA,
-        /*needLeadingZeros=*/
-        1
-      );
-    }
-    exports2.int64toString = int64toString;
-    function varint32write(value, bytes) {
-      if (value >= 0) {
-        while (value > 127) {
-          bytes.push(value & 127 | 128);
-          value = value >>> 7;
+      stream2.on("close", onclose);
+      if (closed) {
+        process2.nextTick(onclose);
+      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
+        if (!willEmitClose) {
+          process2.nextTick(onclosed);
         }
-        bytes.push(value);
-      } else {
-        for (let i = 0; i < 9; i++) {
-          bytes.push(value & 127 | 128);
-          value = value >> 7;
+      } else if (!readable && (!willEmitClose || isReadable(stream2)) && (writableFinished || isWritable(stream2) === false)) {
+        process2.nextTick(onclosed);
+      } else if (!writable && (!willEmitClose || isWritable(stream2)) && (readableFinished || isReadable(stream2) === false)) {
+        process2.nextTick(onclosed);
+      } else if (rState && stream2.req && stream2.aborted) {
+        process2.nextTick(onclosed);
+      }
+      const cleanup = () => {
+        callback = nop;
+        stream2.removeListener("aborted", onclose);
+        stream2.removeListener("complete", onfinish);
+        stream2.removeListener("abort", onclose);
+        stream2.removeListener("request", onrequest);
+        if (stream2.req) stream2.req.removeListener("finish", onfinish);
+        stream2.removeListener("end", onlegacyfinish);
+        stream2.removeListener("close", onlegacyfinish);
+        stream2.removeListener("finish", onfinish);
+        stream2.removeListener("end", onend);
+        stream2.removeListener("error", onerror);
+        stream2.removeListener("close", onclose);
+      };
+      if (options.signal && !closed) {
+        const abort = () => {
+          const endCallback = callback;
+          cleanup();
+          endCallback.call(
+            stream2,
+            new AbortError(void 0, {
+              cause: options.signal.reason
+            })
+          );
+        };
+        if (options.signal.aborted) {
+          process2.nextTick(abort);
+        } else {
+          addAbortListener = addAbortListener || require_util21().addAbortListener;
+          const disposable = addAbortListener(options.signal, abort);
+          const originalCallback = callback;
+          callback = once((...args) => {
+            disposable[SymbolDispose]();
+            originalCallback.apply(stream2, args);
+          });
         }
-        bytes.push(1);
       }
+      return cleanup;
     }
-    exports2.varint32write = varint32write;
-    function varint32read() {
-      let b = this.buf[this.pos++];
-      let result = b & 127;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
-      }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 7;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+    function eosWeb(stream2, options, callback) {
+      let isAborted = false;
+      let abort = nop;
+      if (options.signal) {
+        abort = () => {
+          isAborted = true;
+          callback.call(
+            stream2,
+            new AbortError(void 0, {
+              cause: options.signal.reason
+            })
+          );
+        };
+        if (options.signal.aborted) {
+          process2.nextTick(abort);
+        } else {
+          addAbortListener = addAbortListener || require_util21().addAbortListener;
+          const disposable = addAbortListener(options.signal, abort);
+          const originalCallback = callback;
+          callback = once((...args) => {
+            disposable[SymbolDispose]();
+            originalCallback.apply(stream2, args);
+          });
+        }
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 14;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      const resolverFn = (...args) => {
+        if (!isAborted) {
+          process2.nextTick(() => callback.apply(stream2, args));
+        }
+      };
+      PromisePrototypeThen(stream2[kIsClosedPromise].promise, resolverFn, resolverFn);
+      return nop;
+    }
+    function finished(stream2, opts) {
+      var _opts;
+      let autoCleanup = false;
+      if (opts === null) {
+        opts = kEmptyObject;
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 21;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
+        validateBoolean(opts.cleanup, "cleanup");
+        autoCleanup = opts.cleanup;
       }
-      b = this.buf[this.pos++];
-      result |= (b & 15) << 28;
-      for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++)
-        b = this.buf[this.pos++];
-      if ((b & 128) != 0)
-        throw new Error("invalid varint");
-      this.assertBounds();
-      return result >>> 0;
+      return new Promise2((resolve8, reject) => {
+        const cleanup = eos(stream2, opts, (err) => {
+          if (autoCleanup) {
+            cleanup();
+          }
+          if (err) {
+            reject(err);
+          } else {
+            resolve8();
+          }
+        });
+      });
     }
-    exports2.varint32read = varint32read;
+    module2.exports = eos;
+    module2.exports.finished = finished;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js
-var require_pb_long = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/destroy.js
+var require_destroy2 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0;
-    var goog_varint_1 = require_goog_varint();
-    var BI;
-    function detectBi() {
-      const dv = new DataView(new ArrayBuffer(8));
-      const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function";
-      BI = ok ? {
-        MIN: BigInt("-9223372036854775808"),
-        MAX: BigInt("9223372036854775807"),
-        UMIN: BigInt("0"),
-        UMAX: BigInt("18446744073709551615"),
-        C: BigInt,
-        V: dv
-      } : void 0;
-    }
-    exports2.detectBi = detectBi;
-    detectBi();
-    function assertBi(bi) {
-      if (!bi)
-        throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support");
-    }
-    var RE_DECIMAL_STR = /^-?[0-9]+$/;
-    var TWO_PWR_32_DBL2 = 4294967296;
-    var HALF_2_PWR_32 = 2147483648;
-    var SharedPbLong = class {
-      /**
-       * Create a new instance with the given bits.
-       */
-      constructor(lo, hi) {
-        this.lo = lo | 0;
-        this.hi = hi | 0;
-      }
-      /**
-       * Is this instance equal to 0?
-       */
-      isZero() {
-        return this.lo == 0 && this.hi == 0;
-      }
-      /**
-       * Convert to a native number.
-       */
-      toNumber() {
-        let result = this.hi * TWO_PWR_32_DBL2 + (this.lo >>> 0);
-        if (!Number.isSafeInteger(result))
-          throw new Error("cannot convert to safe number");
-        return result;
-      }
-    };
-    var PbULong = class _PbULong extends SharedPbLong {
-      /**
-       * Create instance from a `string`, `number` or `bigint`.
-       */
-      static from(value) {
-        if (BI)
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              if (value == "")
-                throw new Error("string is no integer");
-              value = BI.C(value);
-            case "number":
-              if (value === 0)
-                return this.ZERO;
-              value = BI.C(value);
-            case "bigint":
-              if (!value)
-                return this.ZERO;
-              if (value < BI.UMIN)
-                throw new Error("signed value for ulong");
-              if (value > BI.UMAX)
-                throw new Error("ulong too large");
-              BI.V.setBigUint64(0, value, true);
-              return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
-          }
-        else
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              value = value.trim();
-              if (!RE_DECIMAL_STR.test(value))
-                throw new Error("string is no integer");
-              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
-              if (minus)
-                throw new Error("signed value for ulong");
-              return new _PbULong(lo, hi);
-            case "number":
-              if (value == 0)
-                return this.ZERO;
-              if (!Number.isSafeInteger(value))
-                throw new Error("number is no integer");
-              if (value < 0)
-                throw new Error("signed value for ulong");
-              return new _PbULong(value, value / TWO_PWR_32_DBL2);
-          }
-        throw new Error("unknown value " + typeof value);
-      }
-      /**
-       * Convert to decimal string.
-       */
-      toString() {
-        return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi);
+    var process2 = require_process();
+    var {
+      aggregateTwoErrors,
+      codes: { ERR_MULTIPLE_CALLBACK },
+      AbortError
+    } = require_errors5();
+    var { Symbol: Symbol2 } = require_primordials();
+    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
+    var kDestroy = Symbol2("kDestroy");
+    var kConstruct = Symbol2("kConstruct");
+    function checkError(err, w, r) {
+      if (err) {
+        err.stack;
+        if (w && !w.errored) {
+          w.errored = err;
+        }
+        if (r && !r.errored) {
+          r.errored = err;
+        }
       }
-      /**
-       * Convert to native bigint.
-       */
-      toBigInt() {
-        assertBi(BI);
-        BI.V.setInt32(0, this.lo, true);
-        BI.V.setInt32(4, this.hi, true);
-        return BI.V.getBigUint64(0, true);
+    }
+    function destroy(err, cb) {
+      const r = this._readableState;
+      const w = this._writableState;
+      const s = w || r;
+      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
+        if (typeof cb === "function") {
+          cb();
+        }
+        return this;
       }
-    };
-    exports2.PbULong = PbULong;
-    PbULong.ZERO = new PbULong(0, 0);
-    var PbLong = class _PbLong extends SharedPbLong {
-      /**
-       * Create instance from a `string`, `number` or `bigint`.
-       */
-      static from(value) {
-        if (BI)
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              if (value == "")
-                throw new Error("string is no integer");
-              value = BI.C(value);
-            case "number":
-              if (value === 0)
-                return this.ZERO;
-              value = BI.C(value);
-            case "bigint":
-              if (!value)
-                return this.ZERO;
-              if (value < BI.MIN)
-                throw new Error("signed long too small");
-              if (value > BI.MAX)
-                throw new Error("signed long too large");
-              BI.V.setBigInt64(0, value, true);
-              return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
-          }
-        else
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              value = value.trim();
-              if (!RE_DECIMAL_STR.test(value))
-                throw new Error("string is no integer");
-              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
-              if (minus) {
-                if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0)
-                  throw new Error("signed long too small");
-              } else if (hi >= HALF_2_PWR_32)
-                throw new Error("signed long too large");
-              let pbl = new _PbLong(lo, hi);
-              return minus ? pbl.negate() : pbl;
-            case "number":
-              if (value == 0)
-                return this.ZERO;
-              if (!Number.isSafeInteger(value))
-                throw new Error("number is no integer");
-              return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL2) : new _PbLong(-value, -value / TWO_PWR_32_DBL2).negate();
-          }
-        throw new Error("unknown value " + typeof value);
+      checkError(err, w, r);
+      if (w) {
+        w.destroyed = true;
       }
-      /**
-       * Do we have a minus sign?
-       */
-      isNegative() {
-        return (this.hi & HALF_2_PWR_32) !== 0;
+      if (r) {
+        r.destroyed = true;
       }
-      /**
-       * Negate two's complement.
-       * Invert all the bits and add one to the result.
-       */
-      negate() {
-        let hi = ~this.hi, lo = this.lo;
-        if (lo)
-          lo = ~lo + 1;
-        else
-          hi += 1;
-        return new _PbLong(lo, hi);
+      if (!s.constructed) {
+        this.once(kDestroy, function(er) {
+          _destroy(this, aggregateTwoErrors(er, err), cb);
+        });
+      } else {
+        _destroy(this, err, cb);
       }
-      /**
-       * Convert to decimal string.
-       */
-      toString() {
-        if (BI)
-          return this.toBigInt().toString();
-        if (this.isNegative()) {
-          let n = this.negate();
-          return "-" + goog_varint_1.int64toString(n.lo, n.hi);
+      return this;
+    }
+    function _destroy(self2, err, cb) {
+      let called = false;
+      function onDestroy(err2) {
+        if (called) {
+          return;
+        }
+        called = true;
+        const r = self2._readableState;
+        const w = self2._writableState;
+        checkError(err2, w, r);
+        if (w) {
+          w.closed = true;
+        }
+        if (r) {
+          r.closed = true;
+        }
+        if (typeof cb === "function") {
+          cb(err2);
+        }
+        if (err2) {
+          process2.nextTick(emitErrorCloseNT, self2, err2);
+        } else {
+          process2.nextTick(emitCloseNT, self2);
         }
-        return goog_varint_1.int64toString(this.lo, this.hi);
       }
-      /**
-       * Convert to native bigint.
-       */
-      toBigInt() {
-        assertBi(BI);
-        BI.V.setInt32(0, this.lo, true);
-        BI.V.setInt32(4, this.hi, true);
-        return BI.V.getBigInt64(0, true);
+      try {
+        self2._destroy(err || null, onDestroy);
+      } catch (err2) {
+        onDestroy(err2);
       }
-    };
-    exports2.PbLong = PbLong;
-    PbLong.ZERO = new PbLong(0, 0);
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js
-var require_binary_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BinaryReader = exports2.binaryReadOptions = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var pb_long_1 = require_pb_long();
-    var goog_varint_1 = require_goog_varint();
-    var defaultsRead = {
-      readUnknownField: true,
-      readerFactory: (bytes) => new BinaryReader(bytes)
-    };
-    function binaryReadOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
     }
-    exports2.binaryReadOptions = binaryReadOptions;
-    var BinaryReader = class {
-      constructor(buf, textDecoder) {
-        this.varint64 = goog_varint_1.varint64read;
-        this.uint32 = goog_varint_1.varint32read;
-        this.buf = buf;
-        this.len = buf.length;
-        this.pos = 0;
-        this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
-        this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", {
-          fatal: true,
-          ignoreBOM: true
-        });
-      }
-      /**
-       * Reads a tag - field number and wire type.
-       */
-      tag() {
-        let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;
-        if (fieldNo <= 0 || wireType < 0 || wireType > 5)
-          throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType);
-        return [fieldNo, wireType];
-      }
-      /**
-       * Skip one element on the wire and return the skipped data.
-       * Supports WireType.StartGroup since v2.0.0-alpha.23.
-       */
-      skip(wireType) {
-        let start = this.pos;
-        switch (wireType) {
-          case binary_format_contract_1.WireType.Varint:
-            while (this.buf[this.pos++] & 128) {
-            }
-            break;
-          case binary_format_contract_1.WireType.Bit64:
-            this.pos += 4;
-          case binary_format_contract_1.WireType.Bit32:
-            this.pos += 4;
-            break;
-          case binary_format_contract_1.WireType.LengthDelimited:
-            let len = this.uint32();
-            this.pos += len;
-            break;
-          case binary_format_contract_1.WireType.StartGroup:
-            let t;
-            while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) {
-              this.skip(t);
-            }
-            break;
-          default:
-            throw new Error("cant skip wire type " + wireType);
-        }
-        this.assertBounds();
-        return this.buf.subarray(start, this.pos);
-      }
-      /**
-       * Throws error if position in byte array is out of range.
-       */
-      assertBounds() {
-        if (this.pos > this.len)
-          throw new RangeError("premature EOF");
+    function emitErrorCloseNT(self2, err) {
+      emitErrorNT(self2, err);
+      emitCloseNT(self2);
+    }
+    function emitCloseNT(self2) {
+      const r = self2._readableState;
+      const w = self2._writableState;
+      if (w) {
+        w.closeEmitted = true;
       }
-      /**
-       * Read a `int32` field, a signed 32 bit varint.
-       */
-      int32() {
-        return this.uint32() | 0;
+      if (r) {
+        r.closeEmitted = true;
       }
-      /**
-       * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.
-       */
-      sint32() {
-        let zze = this.uint32();
-        return zze >>> 1 ^ -(zze & 1);
+      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
+        self2.emit("close");
       }
-      /**
-       * Read a `int64` field, a signed 64-bit varint.
-       */
-      int64() {
-        return new pb_long_1.PbLong(...this.varint64());
+    }
+    function emitErrorNT(self2, err) {
+      const r = self2._readableState;
+      const w = self2._writableState;
+      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
+        return;
       }
-      /**
-       * Read a `uint64` field, an unsigned 64-bit varint.
-       */
-      uint64() {
-        return new pb_long_1.PbULong(...this.varint64());
+      if (w) {
+        w.errorEmitted = true;
       }
-      /**
-       * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.
-       */
-      sint64() {
-        let [lo, hi] = this.varint64();
-        let s = -(lo & 1);
-        lo = (lo >>> 1 | (hi & 1) << 31) ^ s;
-        hi = hi >>> 1 ^ s;
-        return new pb_long_1.PbLong(lo, hi);
+      if (r) {
+        r.errorEmitted = true;
       }
-      /**
-       * Read a `bool` field, a variant.
-       */
-      bool() {
-        let [lo, hi] = this.varint64();
-        return lo !== 0 || hi !== 0;
+      self2.emit("error", err);
+    }
+    function undestroy() {
+      const r = this._readableState;
+      const w = this._writableState;
+      if (r) {
+        r.constructed = true;
+        r.closed = false;
+        r.closeEmitted = false;
+        r.destroyed = false;
+        r.errored = null;
+        r.errorEmitted = false;
+        r.reading = false;
+        r.ended = r.readable === false;
+        r.endEmitted = r.readable === false;
       }
-      /**
-       * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.
-       */
-      fixed32() {
-        return this.view.getUint32((this.pos += 4) - 4, true);
+      if (w) {
+        w.constructed = true;
+        w.destroyed = false;
+        w.closed = false;
+        w.closeEmitted = false;
+        w.errored = null;
+        w.errorEmitted = false;
+        w.finalCalled = false;
+        w.prefinished = false;
+        w.ended = w.writable === false;
+        w.ending = w.writable === false;
+        w.finished = w.writable === false;
       }
-      /**
-       * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.
-       */
-      sfixed32() {
-        return this.view.getInt32((this.pos += 4) - 4, true);
+    }
+    function errorOrDestroy(stream2, err, sync) {
+      const r = stream2._readableState;
+      const w = stream2._writableState;
+      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
+        return this;
       }
-      /**
-       * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.
-       */
-      fixed64() {
-        return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32());
+      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
+        stream2.destroy(err);
+      else if (err) {
+        err.stack;
+        if (w && !w.errored) {
+          w.errored = err;
+        }
+        if (r && !r.errored) {
+          r.errored = err;
+        }
+        if (sync) {
+          process2.nextTick(emitErrorNT, stream2, err);
+        } else {
+          emitErrorNT(stream2, err);
+        }
       }
-      /**
-       * Read a `fixed64` field, a signed, fixed-length 64-bit integer.
-       */
-      sfixed64() {
-        return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32());
+    }
+    function construct(stream2, cb) {
+      if (typeof stream2._construct !== "function") {
+        return;
       }
-      /**
-       * Read a `float` field, 32-bit floating point number.
-       */
-      float() {
-        return this.view.getFloat32((this.pos += 4) - 4, true);
+      const r = stream2._readableState;
+      const w = stream2._writableState;
+      if (r) {
+        r.constructed = false;
       }
-      /**
-       * Read a `double` field, a 64-bit floating point number.
-       */
-      double() {
-        return this.view.getFloat64((this.pos += 8) - 8, true);
+      if (w) {
+        w.constructed = false;
       }
-      /**
-       * Read a `bytes` field, length-delimited arbitrary data.
-       */
-      bytes() {
-        let len = this.uint32();
-        let start = this.pos;
-        this.pos += len;
-        this.assertBounds();
-        return this.buf.subarray(start, start + len);
+      stream2.once(kConstruct, cb);
+      if (stream2.listenerCount(kConstruct) > 1) {
+        return;
       }
-      /**
-       * Read a `string` field, length-delimited data converted to UTF-8 text.
-       */
-      string() {
-        return this.textDecoder.decode(this.bytes());
+      process2.nextTick(constructNT, stream2);
+    }
+    function constructNT(stream2) {
+      let called = false;
+      function onConstruct(err) {
+        if (called) {
+          errorOrDestroy(stream2, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
+          return;
+        }
+        called = true;
+        const r = stream2._readableState;
+        const w = stream2._writableState;
+        const s = w || r;
+        if (r) {
+          r.constructed = true;
+        }
+        if (w) {
+          w.constructed = true;
+        }
+        if (s.destroyed) {
+          stream2.emit(kDestroy, err);
+        } else if (err) {
+          errorOrDestroy(stream2, err, true);
+        } else {
+          process2.nextTick(emitConstructNT, stream2);
+        }
       }
-    };
-    exports2.BinaryReader = BinaryReader;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js
-var require_assert = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0;
-    function assert(condition, msg) {
-      if (!condition) {
-        throw new Error(msg);
+      try {
+        stream2._construct((err) => {
+          process2.nextTick(onConstruct, err);
+        });
+      } catch (err) {
+        process2.nextTick(onConstruct, err);
       }
     }
-    exports2.assert = assert;
-    function assertNever2(value, msg) {
-      throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value);
+    function emitConstructNT(stream2) {
+      stream2.emit(kConstruct);
     }
-    exports2.assertNever = assertNever2;
-    var FLOAT32_MAX = 34028234663852886e22;
-    var FLOAT32_MIN = -34028234663852886e22;
-    var UINT32_MAX = 4294967295;
-    var INT32_MAX = 2147483647;
-    var INT32_MIN = -2147483648;
-    function assertInt32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid int 32: " + typeof arg);
-      if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)
-        throw new Error("invalid int 32: " + arg);
+    function isRequest(stream2) {
+      return (stream2 === null || stream2 === void 0 ? void 0 : stream2.setHeader) && typeof stream2.abort === "function";
     }
-    exports2.assertInt32 = assertInt32;
-    function assertUInt32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid uint 32: " + typeof arg);
-      if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)
-        throw new Error("invalid uint 32: " + arg);
+    function emitCloseLegacy(stream2) {
+      stream2.emit("close");
     }
-    exports2.assertUInt32 = assertUInt32;
-    function assertFloat32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid float 32: " + typeof arg);
-      if (!Number.isFinite(arg))
+    function emitErrorCloseLegacy(stream2, err) {
+      stream2.emit("error", err);
+      process2.nextTick(emitCloseLegacy, stream2);
+    }
+    function destroyer(stream2, err) {
+      if (!stream2 || isDestroyed(stream2)) {
         return;
-      if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)
-        throw new Error("invalid float 32: " + arg);
+      }
+      if (!err && !isFinished(stream2)) {
+        err = new AbortError();
+      }
+      if (isServerRequest(stream2)) {
+        stream2.socket = null;
+        stream2.destroy(err);
+      } else if (isRequest(stream2)) {
+        stream2.abort();
+      } else if (isRequest(stream2.req)) {
+        stream2.req.abort();
+      } else if (typeof stream2.destroy === "function") {
+        stream2.destroy(err);
+      } else if (typeof stream2.close === "function") {
+        stream2.close();
+      } else if (err) {
+        process2.nextTick(emitErrorCloseLegacy, stream2, err);
+      } else {
+        process2.nextTick(emitCloseLegacy, stream2);
+      }
+      if (!stream2.destroyed) {
+        stream2[kIsDestroyed] = true;
+      }
     }
-    exports2.assertFloat32 = assertFloat32;
+    module2.exports = {
+      construct,
+      destroyer,
+      destroy,
+      undestroy,
+      errorOrDestroy
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js
-var require_binary_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/legacy.js
+var require_legacy = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BinaryWriter = exports2.binaryWriteOptions = void 0;
-    var pb_long_1 = require_pb_long();
-    var goog_varint_1 = require_goog_varint();
-    var assert_1 = require_assert();
-    var defaultsWrite = {
-      writeUnknownFields: true,
-      writerFactory: () => new BinaryWriter()
-    };
-    function binaryWriteOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
+    var { EventEmitter: EE } = require("events");
+    function Stream(opts) {
+      EE.call(this, opts);
     }
-    exports2.binaryWriteOptions = binaryWriteOptions;
-    var BinaryWriter = class {
-      constructor(textEncoder) {
-        this.stack = [];
-        this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();
-        this.chunks = [];
-        this.buf = [];
-      }
-      /**
-       * Return all bytes written and reset this writer.
-       */
-      finish() {
-        this.chunks.push(new Uint8Array(this.buf));
-        let len = 0;
-        for (let i = 0; i < this.chunks.length; i++)
-          len += this.chunks[i].length;
-        let bytes = new Uint8Array(len);
-        let offset = 0;
-        for (let i = 0; i < this.chunks.length; i++) {
-          bytes.set(this.chunks[i], offset);
-          offset += this.chunks[i].length;
-        }
-        this.chunks = [];
-        return bytes;
-      }
-      /**
-       * Start a new fork for length-delimited data like a message
-       * or a packed repeated field.
-       *
-       * Must be joined later with `join()`.
-       */
-      fork() {
-        this.stack.push({ chunks: this.chunks, buf: this.buf });
-        this.chunks = [];
-        this.buf = [];
-        return this;
-      }
-      /**
-       * Join the last fork. Write its length and bytes, then
-       * return to the previous state.
-       */
-      join() {
-        let chunk = this.finish();
-        let prev = this.stack.pop();
-        if (!prev)
-          throw new Error("invalid state, fork stack empty");
-        this.chunks = prev.chunks;
-        this.buf = prev.buf;
-        this.uint32(chunk.byteLength);
-        return this.raw(chunk);
-      }
-      /**
-       * Writes a tag (field number and wire type).
-       *
-       * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.
-       *
-       * Generated code should compute the tag ahead of time and call `uint32()`.
-       */
-      tag(fieldNo, type2) {
-        return this.uint32((fieldNo << 3 | type2) >>> 0);
-      }
-      /**
-       * Write a chunk of raw bytes.
-       */
-      raw(chunk) {
-        if (this.buf.length) {
-          this.chunks.push(new Uint8Array(this.buf));
-          this.buf = [];
+    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
+    ObjectSetPrototypeOf(Stream, EE);
+    Stream.prototype.pipe = function(dest, options) {
+      const source = this;
+      function ondata(chunk) {
+        if (dest.writable && dest.write(chunk) === false && source.pause) {
+          source.pause();
         }
-        this.chunks.push(chunk);
-        return this;
       }
-      /**
-       * Write a `uint32` value, an unsigned 32 bit varint.
-       */
-      uint32(value) {
-        assert_1.assertUInt32(value);
-        while (value > 127) {
-          this.buf.push(value & 127 | 128);
-          value = value >>> 7;
+      source.on("data", ondata);
+      function ondrain() {
+        if (source.readable && source.resume) {
+          source.resume();
         }
-        this.buf.push(value);
-        return this;
-      }
-      /**
-       * Write a `int32` value, a signed 32 bit varint.
-       */
-      int32(value) {
-        assert_1.assertInt32(value);
-        goog_varint_1.varint32write(value, this.buf);
-        return this;
-      }
-      /**
-       * Write a `bool` value, a variant.
-       */
-      bool(value) {
-        this.buf.push(value ? 1 : 0);
-        return this;
-      }
-      /**
-       * Write a `bytes` value, length-delimited arbitrary data.
-       */
-      bytes(value) {
-        this.uint32(value.byteLength);
-        return this.raw(value);
-      }
-      /**
-       * Write a `string` value, length-delimited data converted to UTF-8 text.
-       */
-      string(value) {
-        let chunk = this.textEncoder.encode(value);
-        this.uint32(chunk.byteLength);
-        return this.raw(chunk);
-      }
-      /**
-       * Write a `float` value, 32-bit floating point number.
-       */
-      float(value) {
-        assert_1.assertFloat32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setFloat32(0, value, true);
-        return this.raw(chunk);
-      }
-      /**
-       * Write a `double` value, a 64-bit floating point number.
-       */
-      double(value) {
-        let chunk = new Uint8Array(8);
-        new DataView(chunk.buffer).setFloat64(0, value, true);
-        return this.raw(chunk);
-      }
-      /**
-       * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
-       */
-      fixed32(value) {
-        assert_1.assertUInt32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setUint32(0, value, true);
-        return this.raw(chunk);
-      }
-      /**
-       * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
-       */
-      sfixed32(value) {
-        assert_1.assertInt32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setInt32(0, value, true);
-        return this.raw(chunk);
-      }
-      /**
-       * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
-       */
-      sint32(value) {
-        assert_1.assertInt32(value);
-        value = (value << 1 ^ value >> 31) >>> 0;
-        goog_varint_1.varint32write(value, this.buf);
-        return this;
-      }
-      /**
-       * Write a `fixed64` value, a signed, fixed-length 64-bit integer.
-       */
-      sfixed64(value) {
-        let chunk = new Uint8Array(8);
-        let view = new DataView(chunk.buffer);
-        let long = pb_long_1.PbLong.from(value);
-        view.setInt32(0, long.lo, true);
-        view.setInt32(4, long.hi, true);
-        return this.raw(chunk);
       }
-      /**
-       * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.
-       */
-      fixed64(value) {
-        let chunk = new Uint8Array(8);
-        let view = new DataView(chunk.buffer);
-        let long = pb_long_1.PbULong.from(value);
-        view.setInt32(0, long.lo, true);
-        view.setInt32(4, long.hi, true);
-        return this.raw(chunk);
+      dest.on("drain", ondrain);
+      if (!dest._isStdio && (!options || options.end !== false)) {
+        source.on("end", onend);
+        source.on("close", onclose);
       }
-      /**
-       * Write a `int64` value, a signed 64-bit varint.
-       */
-      int64(value) {
-        let long = pb_long_1.PbLong.from(value);
-        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
-        return this;
+      let didOnEnd = false;
+      function onend() {
+        if (didOnEnd) return;
+        didOnEnd = true;
+        dest.end();
       }
-      /**
-       * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.
-       */
-      sint64(value) {
-        let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign;
-        goog_varint_1.varint64write(lo, hi, this.buf);
-        return this;
+      function onclose() {
+        if (didOnEnd) return;
+        didOnEnd = true;
+        if (typeof dest.destroy === "function") dest.destroy();
       }
-      /**
-       * Write a `uint64` value, an unsigned 64-bit varint.
-       */
-      uint64(value) {
-        let long = pb_long_1.PbULong.from(value);
-        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
-        return this;
+      function onerror(er) {
+        cleanup();
+        if (EE.listenerCount(this, "error") === 0) {
+          this.emit("error", er);
+        }
+      }
+      prependListener(source, "error", onerror);
+      prependListener(dest, "error", onerror);
+      function cleanup() {
+        source.removeListener("data", ondata);
+        dest.removeListener("drain", ondrain);
+        source.removeListener("end", onend);
+        source.removeListener("close", onclose);
+        source.removeListener("error", onerror);
+        dest.removeListener("error", onerror);
+        source.removeListener("end", cleanup);
+        source.removeListener("close", cleanup);
+        dest.removeListener("close", cleanup);
       }
+      source.on("end", cleanup);
+      source.on("close", cleanup);
+      dest.on("close", cleanup);
+      dest.emit("pipe", source);
+      return dest;
+    };
+    function prependListener(emitter, event, fn) {
+      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
+      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
+      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
+      else emitter._events[event] = [fn, emitter._events[event]];
+    }
+    module2.exports = {
+      Stream,
+      prependListener
     };
-    exports2.BinaryWriter = BinaryWriter;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js
-var require_json_format_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
+var require_add_abort_signal = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0;
-    var defaultsWrite = {
-      emitDefaultValues: false,
-      enumAsInteger: false,
-      useProtoFieldName: false,
-      prettySpaces: 0
+    var { SymbolDispose } = require_primordials();
+    var { AbortError, codes } = require_errors5();
+    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
+    var eos = require_end_of_stream();
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
+    var addAbortListener;
+    var validateAbortSignal = (signal, name) => {
+      if (typeof signal !== "object" || !("aborted" in signal)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+      }
     };
-    var defaultsRead = {
-      ignoreUnknownFields: false
+    module2.exports.addAbortSignal = function addAbortSignal(signal, stream2) {
+      validateAbortSignal(signal, "signal");
+      if (!isNodeStream(stream2) && !isWebStream(stream2)) {
+        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream2);
+      }
+      return module2.exports.addAbortSignalNoValidate(signal, stream2);
+    };
+    module2.exports.addAbortSignalNoValidate = function(signal, stream2) {
+      if (typeof signal !== "object" || !("aborted" in signal)) {
+        return stream2;
+      }
+      const onAbort = isNodeStream(stream2) ? () => {
+        stream2.destroy(
+          new AbortError(void 0, {
+            cause: signal.reason
+          })
+        );
+      } : () => {
+        stream2[kControllerErrorFunction](
+          new AbortError(void 0, {
+            cause: signal.reason
+          })
+        );
+      };
+      if (signal.aborted) {
+        onAbort();
+      } else {
+        addAbortListener = addAbortListener || require_util21().addAbortListener;
+        const disposable = addAbortListener(signal, onAbort);
+        eos(stream2, disposable[SymbolDispose]);
+      }
+      return stream2;
     };
-    function jsonReadOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
-    }
-    exports2.jsonReadOptions = jsonReadOptions;
-    function jsonWriteOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
-    }
-    exports2.jsonWriteOptions = jsonWriteOptions;
-    function mergeJsonOptions(a, b) {
-      var _a, _b;
-      let c = Object.assign(Object.assign({}, a), b);
-      c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []];
-      return c;
-    }
-    exports2.mergeJsonOptions = mergeJsonOptions;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js
-var require_message_type_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MESSAGE_TYPE = void 0;
-    exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js
-var require_lower_camel_case = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/buffer_list.js
+var require_buffer_list = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.lowerCamelCase = void 0;
-    function lowerCamelCase(snakeCase) {
-      let capNext = false;
-      const sb = [];
-      for (let i = 0; i < snakeCase.length; i++) {
-        let next = snakeCase.charAt(i);
-        if (next == "_") {
-          capNext = true;
-        } else if (/\d/.test(next)) {
-          sb.push(next);
-          capNext = true;
-        } else if (capNext) {
-          sb.push(next.toUpperCase());
-          capNext = false;
-        } else if (i == 0) {
-          sb.push(next.toLowerCase());
-        } else {
-          sb.push(next);
+    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { inspect } = require_util21();
+    module2.exports = class BufferList {
+      constructor() {
+        this.head = null;
+        this.tail = null;
+        this.length = 0;
+      }
+      push(v) {
+        const entry = {
+          data: v,
+          next: null
+        };
+        if (this.length > 0) this.tail.next = entry;
+        else this.head = entry;
+        this.tail = entry;
+        ++this.length;
+      }
+      unshift(v) {
+        const entry = {
+          data: v,
+          next: this.head
+        };
+        if (this.length === 0) this.tail = entry;
+        this.head = entry;
+        ++this.length;
+      }
+      shift() {
+        if (this.length === 0) return;
+        const ret = this.head.data;
+        if (this.length === 1) this.head = this.tail = null;
+        else this.head = this.head.next;
+        --this.length;
+        return ret;
+      }
+      clear() {
+        this.head = this.tail = null;
+        this.length = 0;
+      }
+      join(s) {
+        if (this.length === 0) return "";
+        let p = this.head;
+        let ret = "" + p.data;
+        while ((p = p.next) !== null) ret += s + p.data;
+        return ret;
+      }
+      concat(n) {
+        if (this.length === 0) return Buffer2.alloc(0);
+        const ret = Buffer2.allocUnsafe(n >>> 0);
+        let p = this.head;
+        let i = 0;
+        while (p) {
+          TypedArrayPrototypeSet(ret, p.data, i);
+          i += p.data.length;
+          p = p.next;
         }
+        return ret;
       }
-      return sb.join("");
-    }
-    exports2.lowerCamelCase = lowerCamelCase;
+      // Consumes a specified amount of bytes or characters from the buffered data.
+      consume(n, hasStrings) {
+        const data = this.head.data;
+        if (n < data.length) {
+          const slice = data.slice(0, n);
+          this.head.data = data.slice(n);
+          return slice;
+        }
+        if (n === data.length) {
+          return this.shift();
+        }
+        return hasStrings ? this._getString(n) : this._getBuffer(n);
+      }
+      first() {
+        return this.head.data;
+      }
+      *[SymbolIterator]() {
+        for (let p = this.head; p; p = p.next) {
+          yield p.data;
+        }
+      }
+      // Consumes a specified amount of characters from the buffered data.
+      _getString(n) {
+        let ret = "";
+        let p = this.head;
+        let c = 0;
+        do {
+          const str2 = p.data;
+          if (n > str2.length) {
+            ret += str2;
+            n -= str2.length;
+          } else {
+            if (n === str2.length) {
+              ret += str2;
+              ++c;
+              if (p.next) this.head = p.next;
+              else this.head = this.tail = null;
+            } else {
+              ret += StringPrototypeSlice(str2, 0, n);
+              this.head = p;
+              p.data = StringPrototypeSlice(str2, n);
+            }
+            break;
+          }
+          ++c;
+        } while ((p = p.next) !== null);
+        this.length -= c;
+        return ret;
+      }
+      // Consumes a specified amount of bytes from the buffered data.
+      _getBuffer(n) {
+        const ret = Buffer2.allocUnsafe(n);
+        const retLen = n;
+        let p = this.head;
+        let c = 0;
+        do {
+          const buf = p.data;
+          if (n > buf.length) {
+            TypedArrayPrototypeSet(ret, buf, retLen - n);
+            n -= buf.length;
+          } else {
+            if (n === buf.length) {
+              TypedArrayPrototypeSet(ret, buf, retLen - n);
+              ++c;
+              if (p.next) this.head = p.next;
+              else this.head = this.tail = null;
+            } else {
+              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
+              this.head = p;
+              p.data = buf.slice(n);
+            }
+            break;
+          }
+          ++c;
+        } while ((p = p.next) !== null);
+        this.length -= c;
+        return ret;
+      }
+      // Make sure the linked list only shows the minimal necessary information.
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
+        return inspect(this, {
+          ...options,
+          // Only inspect one level.
+          depth: 0,
+          // It should not recurse.
+          customInspect: false
+        });
+      }
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js
-var require_reflection_info = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/state.js
+var require_state3 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0;
-    var lower_camel_case_1 = require_lower_camel_case();
-    var ScalarType;
-    (function(ScalarType2) {
-      ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE";
-      ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT";
-      ScalarType2[ScalarType2["INT64"] = 3] = "INT64";
-      ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64";
-      ScalarType2[ScalarType2["INT32"] = 5] = "INT32";
-      ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64";
-      ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32";
-      ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL";
-      ScalarType2[ScalarType2["STRING"] = 9] = "STRING";
-      ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES";
-      ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32";
-      ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32";
-      ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64";
-      ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32";
-      ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64";
-    })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {}));
-    var LongType;
-    (function(LongType2) {
-      LongType2[LongType2["BIGINT"] = 0] = "BIGINT";
-      LongType2[LongType2["STRING"] = 1] = "STRING";
-      LongType2[LongType2["NUMBER"] = 2] = "NUMBER";
-    })(LongType = exports2.LongType || (exports2.LongType = {}));
-    var RepeatType;
-    (function(RepeatType2) {
-      RepeatType2[RepeatType2["NO"] = 0] = "NO";
-      RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED";
-      RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED";
-    })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {}));
-    function normalizeFieldInfo(field) {
-      var _a, _b, _c, _d;
-      field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name);
-      field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name);
-      field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO;
-      field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message";
-      return field;
+    var { MathFloor, NumberIsInteger } = require_primordials();
+    var { validateInteger } = require_validators();
+    var { ERR_INVALID_ARG_VALUE } = require_errors5().codes;
+    var defaultHighWaterMarkBytes = 16 * 1024;
+    var defaultHighWaterMarkObjectMode = 16;
+    function highWaterMarkFrom(options, isDuplex, duplexKey) {
+      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
     }
-    exports2.normalizeFieldInfo = normalizeFieldInfo;
-    function readFieldOptions(messageType, fieldName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
-      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    function getDefaultHighWaterMark(objectMode) {
+      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
     }
-    exports2.readFieldOptions = readFieldOptions;
-    function readFieldOption(messageType, fieldName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
-      if (!options) {
-        return void 0;
-      }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+    function setDefaultHighWaterMark(objectMode, value) {
+      validateInteger(value, "value", 0);
+      if (objectMode) {
+        defaultHighWaterMarkObjectMode = value;
+      } else {
+        defaultHighWaterMarkBytes = value;
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
     }
-    exports2.readFieldOption = readFieldOption;
-    function readMessageOption(messageType, extensionName, extensionType) {
-      const options = messageType.options;
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+    function getHighWaterMark(state, options, duplexKey, isDuplex) {
+      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
+      if (hwm != null) {
+        if (!NumberIsInteger(hwm) || hwm < 0) {
+          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
+          throw new ERR_INVALID_ARG_VALUE(name, hwm);
+        }
+        return MathFloor(hwm);
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+      return getDefaultHighWaterMark(state.objectMode);
     }
-    exports2.readMessageOption = readMessageOption;
+    module2.exports = {
+      getHighWaterMark,
+      getDefaultHighWaterMark,
+      setDefaultHighWaterMark
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js
-var require_oneof = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/from.js
+var require_from = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0;
-    function isOneofGroup(any) {
-      if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) {
-        return false;
+    var process2 = require_process();
+    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors5().codes;
+    function from(Readable2, iterable, opts) {
+      let iterator2;
+      if (typeof iterable === "string" || iterable instanceof Buffer2) {
+        return new Readable2({
+          objectMode: true,
+          ...opts,
+          read() {
+            this.push(iterable);
+            this.push(null);
+          }
+        });
       }
-      switch (typeof any.oneofKind) {
-        case "string":
-          if (any[any.oneofKind] === void 0)
-            return false;
-          return Object.keys(any).length == 2;
-        case "undefined":
-          return Object.keys(any).length == 1;
-        default:
-          return false;
+      let isAsync;
+      if (iterable && iterable[SymbolAsyncIterator]) {
+        isAsync = true;
+        iterator2 = iterable[SymbolAsyncIterator]();
+      } else if (iterable && iterable[SymbolIterator]) {
+        isAsync = false;
+        iterator2 = iterable[SymbolIterator]();
+      } else {
+        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
       }
-    }
-    exports2.isOneofGroup = isOneofGroup;
-    function getOneofValue(oneof, kind) {
-      return oneof[kind];
-    }
-    exports2.getOneofValue = getOneofValue;
-    function setOneofValue(oneof, kind, value) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
+      const readable = new Readable2({
+        objectMode: true,
+        highWaterMark: 1,
+        // TODO(ronag): What options should be allowed?
+        ...opts
+      });
+      let reading = false;
+      readable._read = function() {
+        if (!reading) {
+          reading = true;
+          next();
+        }
+      };
+      readable._destroy = function(error3, cb) {
+        PromisePrototypeThen(
+          close(error3),
+          () => process2.nextTick(cb, error3),
+          // nextTick is here in case cb throws
+          (e) => process2.nextTick(cb, e || error3)
+        );
+      };
+      async function close(error3) {
+        const hadError = error3 !== void 0 && error3 !== null;
+        const hasThrow = typeof iterator2.throw === "function";
+        if (hadError && hasThrow) {
+          const { value, done } = await iterator2.throw(error3);
+          await value;
+          if (done) {
+            return;
+          }
+        }
+        if (typeof iterator2.return === "function") {
+          const { value } = await iterator2.return();
+          await value;
+        }
       }
-      oneof.oneofKind = kind;
-      if (value !== void 0) {
-        oneof[kind] = value;
+      async function next() {
+        for (; ; ) {
+          try {
+            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
+            if (done) {
+              readable.push(null);
+            } else {
+              const res = value && typeof value.then === "function" ? await value : value;
+              if (res === null) {
+                reading = false;
+                throw new ERR_STREAM_NULL_VALUES();
+              } else if (readable.push(res)) {
+                continue;
+              } else {
+                reading = false;
+              }
+            }
+          } catch (err) {
+            readable.destroy(err);
+          }
+          break;
+        }
       }
+      return readable;
     }
-    exports2.setOneofValue = setOneofValue;
-    function setUnknownOneofValue(oneof, kind, value) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
-      }
-      oneof.oneofKind = kind;
-      if (value !== void 0 && kind !== void 0) {
-        oneof[kind] = value;
-      }
+    module2.exports = from;
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/readable.js
+var require_readable4 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
+    var process2 = require_process();
+    var {
+      ArrayPrototypeIndexOf,
+      NumberIsInteger,
+      NumberIsNaN,
+      NumberParseInt,
+      ObjectDefineProperties,
+      ObjectKeys,
+      ObjectSetPrototypeOf,
+      Promise: Promise2,
+      SafeSet,
+      SymbolAsyncDispose,
+      SymbolAsyncIterator,
+      Symbol: Symbol2
+    } = require_primordials();
+    module2.exports = Readable2;
+    Readable2.ReadableState = ReadableState;
+    var { EventEmitter: EE } = require("events");
+    var { Stream, prependListener } = require_legacy();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { addAbortSignal } = require_add_abort_signal();
+    var eos = require_end_of_stream();
+    var debug5 = require_util21().debuglog("stream", (fn) => {
+      debug5 = fn;
+    });
+    var BufferList = require_buffer_list();
+    var destroyImpl = require_destroy2();
+    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var {
+      aggregateTwoErrors,
+      codes: {
+        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+        ERR_METHOD_NOT_IMPLEMENTED,
+        ERR_OUT_OF_RANGE,
+        ERR_STREAM_PUSH_AFTER_EOF,
+        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
+      },
+      AbortError
+    } = require_errors5();
+    var { validateObject } = require_validators();
+    var kPaused = Symbol2("kPaused");
+    var { StringDecoder } = require("string_decoder");
+    var from = require_from();
+    ObjectSetPrototypeOf(Readable2.prototype, Stream.prototype);
+    ObjectSetPrototypeOf(Readable2, Stream);
+    var nop = () => {
+    };
+    var { errorOrDestroy } = destroyImpl;
+    var kObjectMode = 1 << 0;
+    var kEnded = 1 << 1;
+    var kEndEmitted = 1 << 2;
+    var kReading = 1 << 3;
+    var kConstructed = 1 << 4;
+    var kSync = 1 << 5;
+    var kNeedReadable = 1 << 6;
+    var kEmittedReadable = 1 << 7;
+    var kReadableListening = 1 << 8;
+    var kResumeScheduled = 1 << 9;
+    var kErrorEmitted = 1 << 10;
+    var kEmitClose = 1 << 11;
+    var kAutoDestroy = 1 << 12;
+    var kDestroyed = 1 << 13;
+    var kClosed = 1 << 14;
+    var kCloseEmitted = 1 << 15;
+    var kMultiAwaitDrain = 1 << 16;
+    var kReadingMore = 1 << 17;
+    var kDataEmitted = 1 << 18;
+    function makeBitMapDescriptor(bit) {
+      return {
+        enumerable: false,
+        get() {
+          return (this.state & bit) !== 0;
+        },
+        set(value) {
+          if (value) this.state |= bit;
+          else this.state &= ~bit;
+        }
+      };
     }
-    exports2.setUnknownOneofValue = setUnknownOneofValue;
-    function clearOneofValue(oneof) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
+    ObjectDefineProperties(ReadableState.prototype, {
+      objectMode: makeBitMapDescriptor(kObjectMode),
+      ended: makeBitMapDescriptor(kEnded),
+      endEmitted: makeBitMapDescriptor(kEndEmitted),
+      reading: makeBitMapDescriptor(kReading),
+      // Stream is still being constructed and cannot be
+      // destroyed until construction finished or failed.
+      // Async construction is opt in, therefore we start as
+      // constructed.
+      constructed: makeBitMapDescriptor(kConstructed),
+      // A flag to be able to tell if the event 'readable'/'data' is emitted
+      // immediately, or on a later tick.  We set this to true at first, because
+      // any actions that shouldn't happen until "later" should generally also
+      // not happen before the first read call.
+      sync: makeBitMapDescriptor(kSync),
+      // Whenever we return null, then we set a flag to say
+      // that we're awaiting a 'readable' event emission.
+      needReadable: makeBitMapDescriptor(kNeedReadable),
+      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
+      readableListening: makeBitMapDescriptor(kReadableListening),
+      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
+      // True if the error was already emitted and should not be thrown again.
+      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
+      emitClose: makeBitMapDescriptor(kEmitClose),
+      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
+      // Has it been destroyed.
+      destroyed: makeBitMapDescriptor(kDestroyed),
+      // Indicates whether the stream has finished destroying.
+      closed: makeBitMapDescriptor(kClosed),
+      // True if close has been emitted or would have been emitted
+      // depending on emitClose.
+      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
+      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
+      // If true, a maybeReadMore has been scheduled.
+      readingMore: makeBitMapDescriptor(kReadingMore),
+      dataEmitted: makeBitMapDescriptor(kDataEmitted)
+    });
+    function ReadableState(options, stream2, isDuplex) {
+      if (typeof isDuplex !== "boolean") isDuplex = stream2 instanceof require_duplex();
+      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
+      if (options && options.objectMode) this.state |= kObjectMode;
+      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
+      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
+      this.buffer = new BufferList();
+      this.length = 0;
+      this.pipes = [];
+      this.flowing = null;
+      this[kPaused] = null;
+      if (options && options.emitClose === false) this.state &= ~kEmitClose;
+      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
+      this.errored = null;
+      this.defaultEncoding = options && options.defaultEncoding || "utf8";
+      this.awaitDrainWriters = null;
+      this.decoder = null;
+      this.encoding = null;
+      if (options && options.encoding) {
+        this.decoder = new StringDecoder(options.encoding);
+        this.encoding = options.encoding;
       }
-      oneof.oneofKind = void 0;
     }
-    exports2.clearOneofValue = clearOneofValue;
-    function getSelectedOneofValue(oneof) {
-      if (oneof.oneofKind === void 0) {
-        return void 0;
+    function Readable2(options) {
+      if (!(this instanceof Readable2)) return new Readable2(options);
+      const isDuplex = this instanceof require_duplex();
+      this._readableState = new ReadableState(options, this, isDuplex);
+      if (options) {
+        if (typeof options.read === "function") this._read = options.read;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.construct === "function") this._construct = options.construct;
+        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
       }
-      return oneof[oneof.oneofKind];
+      Stream.call(this, options);
+      destroyImpl.construct(this, () => {
+        if (this._readableState.needReadable) {
+          maybeReadMore(this, this._readableState);
+        }
+      });
     }
-    exports2.getSelectedOneofValue = getSelectedOneofValue;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js
-var require_reflection_type_check = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionTypeCheck = void 0;
-    var reflection_info_1 = require_reflection_info();
-    var oneof_1 = require_oneof();
-    var ReflectionTypeCheck = class {
-      constructor(info7) {
-        var _a;
-        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+    Readable2.prototype.destroy = destroyImpl.destroy;
+    Readable2.prototype._undestroy = destroyImpl.undestroy;
+    Readable2.prototype._destroy = function(err, cb) {
+      cb(err);
+    };
+    Readable2.prototype[EE.captureRejectionSymbol] = function(err) {
+      this.destroy(err);
+    };
+    Readable2.prototype[SymbolAsyncDispose] = function() {
+      let error3;
+      if (!this.destroyed) {
+        error3 = this.readableEnded ? null : new AbortError();
+        this.destroy(error3);
       }
-      prepare() {
-        if (this.data)
-          return;
-        const req = [], known = [], oneofs = [];
-        for (let field of this.fields) {
-          if (field.oneof) {
-            if (!oneofs.includes(field.oneof)) {
-              oneofs.push(field.oneof);
-              req.push(field.oneof);
-              known.push(field.oneof);
-            }
-          } else {
-            known.push(field.localName);
-            switch (field.kind) {
-              case "scalar":
-              case "enum":
-                if (!field.opt || field.repeat)
-                  req.push(field.localName);
-                break;
-              case "message":
-                if (field.repeat)
-                  req.push(field.localName);
-                break;
-              case "map":
-                req.push(field.localName);
-                break;
+      return new Promise2((resolve8, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve8(null)));
+    };
+    Readable2.prototype.push = function(chunk, encoding) {
+      return readableAddChunk(this, chunk, encoding, false);
+    };
+    Readable2.prototype.unshift = function(chunk, encoding) {
+      return readableAddChunk(this, chunk, encoding, true);
+    };
+    function readableAddChunk(stream2, chunk, encoding, addToFront) {
+      debug5("readableAddChunk", chunk);
+      const state = stream2._readableState;
+      let err;
+      if ((state.state & kObjectMode) === 0) {
+        if (typeof chunk === "string") {
+          encoding = encoding || state.defaultEncoding;
+          if (state.encoding !== encoding) {
+            if (addToFront && state.encoding) {
+              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
+            } else {
+              chunk = Buffer2.from(chunk, encoding);
+              encoding = "";
             }
           }
+        } else if (chunk instanceof Buffer2) {
+          encoding = "";
+        } else if (Stream._isUint8Array(chunk)) {
+          chunk = Stream._uint8ArrayToBuffer(chunk);
+          encoding = "";
+        } else if (chunk != null) {
+          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
         }
-        this.data = { req, known, oneofs: Object.values(oneofs) };
       }
-      /**
-       * Is the argument a valid message as specified by the
-       * reflection information?
-       *
-       * Checks all field types recursively. The `depth`
-       * specifies how deep into the structure the check will be.
-       *
-       * With a depth of 0, only the presence of fields
-       * is checked.
-       *
-       * With a depth of 1 or more, the field types are checked.
-       *
-       * With a depth of 2 or more, the members of map, repeated
-       * and message fields are checked.
-       *
-       * Message fields will be checked recursively with depth - 1.
-       *
-       * The number of map entries / repeated values being checked
-       * is < depth.
-       */
-      is(message, depth, allowExcessProperties = false) {
-        if (depth < 0)
-          return true;
-        if (message === null || message === void 0 || typeof message != "object")
-          return false;
-        this.prepare();
-        let keys = Object.keys(message), data = this.data;
-        if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n)))
+      if (err) {
+        errorOrDestroy(stream2, err);
+      } else if (chunk === null) {
+        state.state &= ~kReading;
+        onEofChunk(stream2, state);
+      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
+        if (addToFront) {
+          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream2, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
+          else if (state.destroyed || state.errored) return false;
+          else addChunk(stream2, state, chunk, true);
+        } else if (state.ended) {
+          errorOrDestroy(stream2, new ERR_STREAM_PUSH_AFTER_EOF());
+        } else if (state.destroyed || state.errored) {
           return false;
-        if (!allowExcessProperties) {
-          if (keys.some((k) => !data.known.includes(k)))
-            return false;
-        }
-        if (depth < 1) {
-          return true;
-        }
-        for (const name of data.oneofs) {
-          const group = message[name];
-          if (!oneof_1.isOneofGroup(group))
-            return false;
-          if (group.oneofKind === void 0)
-            continue;
-          const field = this.fields.find((f) => f.localName === group.oneofKind);
-          if (!field)
-            return false;
-          if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth))
-            return false;
-        }
-        for (const field of this.fields) {
-          if (field.oneof !== void 0)
-            continue;
-          if (!this.field(message[field.localName], field, allowExcessProperties, depth))
-            return false;
+        } else {
+          state.state &= ~kReading;
+          if (state.decoder && !encoding) {
+            chunk = state.decoder.write(chunk);
+            if (state.objectMode || chunk.length !== 0) addChunk(stream2, state, chunk, false);
+            else maybeReadMore(stream2, state);
+          } else {
+            addChunk(stream2, state, chunk, false);
+          }
         }
-        return true;
+      } else if (!addToFront) {
+        state.state &= ~kReading;
+        maybeReadMore(stream2, state);
       }
-      field(arg, field, allowExcessProperties, depth) {
-        let repeated = field.repeat;
-        switch (field.kind) {
-          case "scalar":
-            if (arg === void 0)
-              return field.opt;
-            if (repeated)
-              return this.scalars(arg, field.T, depth, field.L);
-            return this.scalar(arg, field.T, field.L);
-          case "enum":
-            if (arg === void 0)
-              return field.opt;
-            if (repeated)
-              return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth);
-            return this.scalar(arg, reflection_info_1.ScalarType.INT32);
-          case "message":
-            if (arg === void 0)
-              return true;
-            if (repeated)
-              return this.messages(arg, field.T(), allowExcessProperties, depth);
-            return this.message(arg, field.T(), allowExcessProperties, depth);
-          case "map":
-            if (typeof arg != "object" || arg === null)
-              return false;
-            if (depth < 2)
-              return true;
-            if (!this.mapKeys(arg, field.K, depth))
-              return false;
-            switch (field.V.kind) {
-              case "scalar":
-                return this.scalars(Object.values(arg), field.V.T, depth, field.V.L);
-              case "enum":
-                return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth);
-              case "message":
-                return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth);
-            }
-            break;
+      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
+    }
+    function addChunk(stream2, state, chunk, addToFront) {
+      if (state.flowing && state.length === 0 && !state.sync && stream2.listenerCount("data") > 0) {
+        if ((state.state & kMultiAwaitDrain) !== 0) {
+          state.awaitDrainWriters.clear();
+        } else {
+          state.awaitDrainWriters = null;
         }
-        return true;
+        state.dataEmitted = true;
+        stream2.emit("data", chunk);
+      } else {
+        state.length += state.objectMode ? 1 : chunk.length;
+        if (addToFront) state.buffer.unshift(chunk);
+        else state.buffer.push(chunk);
+        if ((state.state & kNeedReadable) !== 0) emitReadable(stream2);
       }
-      message(arg, type2, allowExcessProperties, depth) {
-        if (allowExcessProperties) {
-          return type2.isAssignable(arg, depth);
-        }
-        return type2.is(arg, depth);
+      maybeReadMore(stream2, state);
+    }
+    Readable2.prototype.isPaused = function() {
+      const state = this._readableState;
+      return state[kPaused] === true || state.flowing === false;
+    };
+    Readable2.prototype.setEncoding = function(enc) {
+      const decoder = new StringDecoder(enc);
+      this._readableState.decoder = decoder;
+      this._readableState.encoding = this._readableState.decoder.encoding;
+      const buffer = this._readableState.buffer;
+      let content = "";
+      for (const data of buffer) {
+        content += decoder.write(data);
       }
-      messages(arg, type2, allowExcessProperties, depth) {
-        if (!Array.isArray(arg))
-          return false;
-        if (depth < 2)
-          return true;
-        if (allowExcessProperties) {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!type2.isAssignable(arg[i], depth - 1))
-              return false;
-        } else {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!type2.is(arg[i], depth - 1))
-              return false;
+      buffer.clear();
+      if (content !== "") buffer.push(content);
+      this._readableState.length = content.length;
+      return this;
+    };
+    var MAX_HWM = 1073741824;
+    function computeNewHighWaterMark(n) {
+      if (n > MAX_HWM) {
+        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
+      } else {
+        n--;
+        n |= n >>> 1;
+        n |= n >>> 2;
+        n |= n >>> 4;
+        n |= n >>> 8;
+        n |= n >>> 16;
+        n++;
+      }
+      return n;
+    }
+    function howMuchToRead(n, state) {
+      if (n <= 0 || state.length === 0 && state.ended) return 0;
+      if ((state.state & kObjectMode) !== 0) return 1;
+      if (NumberIsNaN(n)) {
+        if (state.flowing && state.length) return state.buffer.first().length;
+        return state.length;
+      }
+      if (n <= state.length) return n;
+      return state.ended ? state.length : 0;
+    }
+    Readable2.prototype.read = function(n) {
+      debug5("read", n);
+      if (n === void 0) {
+        n = NaN;
+      } else if (!NumberIsInteger(n)) {
+        n = NumberParseInt(n, 10);
+      }
+      const state = this._readableState;
+      const nOrig = n;
+      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
+      if (n !== 0) state.state &= ~kEmittedReadable;
+      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
+        debug5("read: emitReadable", state.length, state.ended);
+        if (state.length === 0 && state.ended) endReadable(this);
+        else emitReadable(this);
+        return null;
+      }
+      n = howMuchToRead(n, state);
+      if (n === 0 && state.ended) {
+        if (state.length === 0) endReadable(this);
+        return null;
+      }
+      let doRead = (state.state & kNeedReadable) !== 0;
+      debug5("need readable", doRead);
+      if (state.length === 0 || state.length - n < state.highWaterMark) {
+        doRead = true;
+        debug5("length less than watermark", doRead);
+      }
+      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
+        doRead = false;
+        debug5("reading, ended or constructing", doRead);
+      } else if (doRead) {
+        debug5("do read");
+        state.state |= kReading | kSync;
+        if (state.length === 0) state.state |= kNeedReadable;
+        try {
+          this._read(state.highWaterMark);
+        } catch (err) {
+          errorOrDestroy(this, err);
         }
-        return true;
+        state.state &= ~kSync;
+        if (!state.reading) n = howMuchToRead(nOrig, state);
       }
-      scalar(arg, type2, longType) {
-        let argType = typeof arg;
-        switch (type2) {
-          case reflection_info_1.ScalarType.UINT64:
-          case reflection_info_1.ScalarType.FIXED64:
-          case reflection_info_1.ScalarType.INT64:
-          case reflection_info_1.ScalarType.SFIXED64:
-          case reflection_info_1.ScalarType.SINT64:
-            switch (longType) {
-              case reflection_info_1.LongType.BIGINT:
-                return argType == "bigint";
-              case reflection_info_1.LongType.NUMBER:
-                return argType == "number" && !isNaN(arg);
-              default:
-                return argType == "string";
-            }
-          case reflection_info_1.ScalarType.BOOL:
-            return argType == "boolean";
-          case reflection_info_1.ScalarType.STRING:
-            return argType == "string";
-          case reflection_info_1.ScalarType.BYTES:
-            return arg instanceof Uint8Array;
-          case reflection_info_1.ScalarType.DOUBLE:
-          case reflection_info_1.ScalarType.FLOAT:
-            return argType == "number" && !isNaN(arg);
-          default:
-            return argType == "number" && Number.isInteger(arg);
+      let ret;
+      if (n > 0) ret = fromList(n, state);
+      else ret = null;
+      if (ret === null) {
+        state.needReadable = state.length <= state.highWaterMark;
+        n = 0;
+      } else {
+        state.length -= n;
+        if (state.multiAwaitDrain) {
+          state.awaitDrainWriters.clear();
+        } else {
+          state.awaitDrainWriters = null;
         }
       }
-      scalars(arg, type2, depth, longType) {
-        if (!Array.isArray(arg))
-          return false;
-        if (depth < 2)
-          return true;
-        if (Array.isArray(arg)) {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!this.scalar(arg[i], type2, longType))
-              return false;
-        }
-        return true;
+      if (state.length === 0) {
+        if (!state.ended) state.needReadable = true;
+        if (nOrig !== n && state.ended) endReadable(this);
       }
-      mapKeys(map2, type2, depth) {
-        let keys = Object.keys(map2);
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-          case reflection_info_1.ScalarType.UINT32:
-            return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth);
-          case reflection_info_1.ScalarType.BOOL:
-            return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth);
-          default:
-            return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING);
-        }
+      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
+        state.dataEmitted = true;
+        this.emit("data", ret);
       }
+      return ret;
     };
-    exports2.ReflectionTypeCheck = ReflectionTypeCheck;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js
-var require_reflection_long_convert = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionLongConvert = void 0;
-    var reflection_info_1 = require_reflection_info();
-    function reflectionLongConvert(long, type2) {
-      switch (type2) {
-        case reflection_info_1.LongType.BIGINT:
-          return long.toBigInt();
-        case reflection_info_1.LongType.NUMBER:
-          return long.toNumber();
-        default:
-          return long.toString();
+    function onEofChunk(stream2, state) {
+      debug5("onEofChunk");
+      if (state.ended) return;
+      if (state.decoder) {
+        const chunk = state.decoder.end();
+        if (chunk && chunk.length) {
+          state.buffer.push(chunk);
+          state.length += state.objectMode ? 1 : chunk.length;
+        }
+      }
+      state.ended = true;
+      if (state.sync) {
+        emitReadable(stream2);
+      } else {
+        state.needReadable = false;
+        state.emittedReadable = true;
+        emitReadable_(stream2);
       }
     }
-    exports2.reflectionLongConvert = reflectionLongConvert;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js
-var require_reflection_json_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionJsonReader = void 0;
-    var json_typings_1 = require_json_typings();
-    var base64_1 = require_base642();
-    var reflection_info_1 = require_reflection_info();
-    var pb_long_1 = require_pb_long();
-    var assert_1 = require_assert();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var ReflectionJsonReader = class {
-      constructor(info7) {
-        this.info = info7;
+    function emitReadable(stream2) {
+      const state = stream2._readableState;
+      debug5("emitReadable", state.needReadable, state.emittedReadable);
+      state.needReadable = false;
+      if (!state.emittedReadable) {
+        debug5("emitReadable", state.flowing);
+        state.emittedReadable = true;
+        process2.nextTick(emitReadable_, stream2);
       }
-      prepare() {
-        var _a;
-        if (this.fMap === void 0) {
-          this.fMap = {};
-          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
-          for (const field of fieldsInput) {
-            this.fMap[field.name] = field;
-            this.fMap[field.jsonName] = field;
-            this.fMap[field.localName] = field;
+    }
+    function emitReadable_(stream2) {
+      const state = stream2._readableState;
+      debug5("emitReadable_", state.destroyed, state.length, state.ended);
+      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
+        stream2.emit("readable");
+        state.emittedReadable = false;
+      }
+      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
+      flow(stream2);
+    }
+    function maybeReadMore(stream2, state) {
+      if (!state.readingMore && state.constructed) {
+        state.readingMore = true;
+        process2.nextTick(maybeReadMore_, stream2, state);
+      }
+    }
+    function maybeReadMore_(stream2, state) {
+      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
+        const len = state.length;
+        debug5("maybeReadMore read 0");
+        stream2.read(0);
+        if (len === state.length)
+          break;
+      }
+      state.readingMore = false;
+    }
+    Readable2.prototype._read = function(n) {
+      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
+    };
+    Readable2.prototype.pipe = function(dest, pipeOpts) {
+      const src = this;
+      const state = this._readableState;
+      if (state.pipes.length === 1) {
+        if (!state.multiAwaitDrain) {
+          state.multiAwaitDrain = true;
+          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
+        }
+      }
+      state.pipes.push(dest);
+      debug5("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
+      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
+      const endFn = doEnd ? onend : unpipe;
+      if (state.endEmitted) process2.nextTick(endFn);
+      else src.once("end", endFn);
+      dest.on("unpipe", onunpipe);
+      function onunpipe(readable, unpipeInfo) {
+        debug5("onunpipe");
+        if (readable === src) {
+          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
+            unpipeInfo.hasUnpiped = true;
+            cleanup();
           }
         }
       }
-      // Cannot parse JSON  for #.
-      assert(condition, fieldName, jsonValue) {
-        if (!condition) {
-          let what = json_typings_1.typeofJsonValue(jsonValue);
-          if (what == "number" || what == "boolean")
-            what = jsonValue.toString();
-          throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`);
+      function onend() {
+        debug5("onend");
+        dest.end();
+      }
+      let ondrain;
+      let cleanedUp = false;
+      function cleanup() {
+        debug5("cleanup");
+        dest.removeListener("close", onclose);
+        dest.removeListener("finish", onfinish);
+        if (ondrain) {
+          dest.removeListener("drain", ondrain);
         }
+        dest.removeListener("error", onerror);
+        dest.removeListener("unpipe", onunpipe);
+        src.removeListener("end", onend);
+        src.removeListener("end", unpipe);
+        src.removeListener("data", ondata);
+        cleanedUp = true;
+        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
       }
-      /**
-       * Reads a message from canonical JSON format into the target message.
-       *
-       * Repeated fields are appended. Map entries are added, overwriting
-       * existing keys.
-       *
-       * If a message field is already present, it will be merged with the
-       * new data.
-       */
-      read(input, message, options) {
-        this.prepare();
-        const oneofsHandled = [];
-        for (const [jsonKey, jsonValue] of Object.entries(input)) {
-          const field = this.fMap[jsonKey];
-          if (!field) {
-            if (!options.ignoreUnknownFields)
-              throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`);
-            continue;
-          }
-          const localName = field.localName;
-          let target;
-          if (field.oneof) {
-            if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) {
-              continue;
-            }
-            if (oneofsHandled.includes(field.oneof))
-              throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`);
-            oneofsHandled.push(field.oneof);
-            target = message[field.oneof] = {
-              oneofKind: localName
-            };
-          } else {
-            target = message;
-          }
-          if (field.kind == "map") {
-            if (jsonValue === null) {
-              continue;
-            }
-            this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue);
-            const fieldObj = target[localName];
-            for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) {
-              this.assert(jsonObjValue !== null, field.name + " map value", null);
-              let val;
-              switch (field.V.kind) {
-                case "message":
-                  val = field.V.T().internalJsonRead(jsonObjValue, options);
-                  break;
-                case "enum":
-                  val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields);
-                  if (val === false)
-                    continue;
-                  break;
-                case "scalar":
-                  val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name);
-                  break;
-              }
-              this.assert(val !== void 0, field.name + " map value", jsonObjValue);
-              let key = jsonObjKey;
-              if (field.K == reflection_info_1.ScalarType.BOOL)
-                key = key == "true" ? true : key == "false" ? false : key;
-              key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString();
-              fieldObj[key] = val;
-            }
-          } else if (field.repeat) {
-            if (jsonValue === null)
-              continue;
-            this.assert(Array.isArray(jsonValue), field.name, jsonValue);
-            const fieldArr = target[localName];
-            for (const jsonItem of jsonValue) {
-              this.assert(jsonItem !== null, field.name, null);
-              let val;
-              switch (field.kind) {
-                case "message":
-                  val = field.T().internalJsonRead(jsonItem, options);
-                  break;
-                case "enum":
-                  val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields);
-                  if (val === false)
-                    continue;
-                  break;
-                case "scalar":
-                  val = this.scalar(jsonItem, field.T, field.L, field.name);
-                  break;
-              }
-              this.assert(val !== void 0, field.name, jsonValue);
-              fieldArr.push(val);
-            }
-          } else {
-            switch (field.kind) {
-              case "message":
-                if (jsonValue === null && field.T().typeName != "google.protobuf.Value") {
-                  this.assert(field.oneof === void 0, field.name + " (oneof member)", null);
-                  continue;
-                }
-                target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]);
-                break;
-              case "enum":
-                if (jsonValue === null)
-                  continue;
-                let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields);
-                if (val === false)
-                  continue;
-                target[localName] = val;
-                break;
-              case "scalar":
-                if (jsonValue === null)
-                  continue;
-                target[localName] = this.scalar(jsonValue, field.T, field.L, field.name);
-                break;
-            }
+      function pause() {
+        if (!cleanedUp) {
+          if (state.pipes.length === 1 && state.pipes[0] === dest) {
+            debug5("false write response, pause", 0);
+            state.awaitDrainWriters = dest;
+            state.multiAwaitDrain = false;
+          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
+            debug5("false write response, pause", state.awaitDrainWriters.size);
+            state.awaitDrainWriters.add(dest);
           }
+          src.pause();
+        }
+        if (!ondrain) {
+          ondrain = pipeOnDrain(src, dest);
+          dest.on("drain", ondrain);
         }
       }
-      /**
-       * Returns `false` for unrecognized string representations.
-       *
-       * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`).
-       */
-      enum(type2, json2, fieldName, ignoreUnknownFields) {
-        if (type2[0] == "google.protobuf.NullValue")
-          assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`);
-        if (json2 === null)
-          return 0;
-        switch (typeof json2) {
-          case "number":
-            assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`);
-            return json2;
-          case "string":
-            let localEnumName = json2;
-            if (type2[2] && json2.substring(0, type2[2].length) === type2[2])
-              localEnumName = json2.substring(type2[2].length);
-            let enumNumber = type2[1][localEnumName];
-            if (typeof enumNumber === "undefined" && ignoreUnknownFields) {
-              return false;
-            }
-            assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`);
-            return enumNumber;
+      src.on("data", ondata);
+      function ondata(chunk) {
+        debug5("ondata");
+        const ret = dest.write(chunk);
+        debug5("dest.write", ret);
+        if (ret === false) {
+          pause();
         }
-        assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`);
       }
-      scalar(json2, type2, longType, fieldName) {
-        let e;
-        try {
-          switch (type2) {
-            // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
-            // Either numbers or strings are accepted. Exponent notation is also accepted.
-            case reflection_info_1.ScalarType.DOUBLE:
-            case reflection_info_1.ScalarType.FLOAT:
-              if (json2 === null)
-                return 0;
-              if (json2 === "NaN")
-                return Number.NaN;
-              if (json2 === "Infinity")
-                return Number.POSITIVE_INFINITY;
-              if (json2 === "-Infinity")
-                return Number.NEGATIVE_INFINITY;
-              if (json2 === "") {
-                e = "empty string";
-                break;
-              }
-              if (typeof json2 == "string" && json2.trim().length !== json2.length) {
-                e = "extra whitespace";
-                break;
-              }
-              if (typeof json2 != "string" && typeof json2 != "number") {
-                break;
-              }
-              let float2 = Number(json2);
-              if (Number.isNaN(float2)) {
-                e = "not a number";
-                break;
-              }
-              if (!Number.isFinite(float2)) {
-                e = "too large or small";
-                break;
-              }
-              if (type2 == reflection_info_1.ScalarType.FLOAT)
-                assert_1.assertFloat32(float2);
-              return float2;
-            // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
-            case reflection_info_1.ScalarType.INT32:
-            case reflection_info_1.ScalarType.FIXED32:
-            case reflection_info_1.ScalarType.SFIXED32:
-            case reflection_info_1.ScalarType.SINT32:
-            case reflection_info_1.ScalarType.UINT32:
-              if (json2 === null)
-                return 0;
-              let int32;
-              if (typeof json2 == "number")
-                int32 = json2;
-              else if (json2 === "")
-                e = "empty string";
-              else if (typeof json2 == "string") {
-                if (json2.trim().length !== json2.length)
-                  e = "extra whitespace";
-                else
-                  int32 = Number(json2);
-              }
-              if (int32 === void 0)
-                break;
-              if (type2 == reflection_info_1.ScalarType.UINT32)
-                assert_1.assertUInt32(int32);
-              else
-                assert_1.assertInt32(int32);
-              return int32;
-            // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.
-            case reflection_info_1.ScalarType.INT64:
-            case reflection_info_1.ScalarType.SFIXED64:
-            case reflection_info_1.ScalarType.SINT64:
-              if (json2 === null)
-                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
-              if (typeof json2 != "number" && typeof json2 != "string")
-                break;
-              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType);
-            case reflection_info_1.ScalarType.FIXED64:
-            case reflection_info_1.ScalarType.UINT64:
-              if (json2 === null)
-                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
-              if (typeof json2 != "number" && typeof json2 != "string")
-                break;
-              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType);
-            // bool:
-            case reflection_info_1.ScalarType.BOOL:
-              if (json2 === null)
-                return false;
-              if (typeof json2 !== "boolean")
-                break;
-              return json2;
-            // string:
-            case reflection_info_1.ScalarType.STRING:
-              if (json2 === null)
-                return "";
-              if (typeof json2 !== "string") {
-                e = "extra whitespace";
-                break;
-              }
-              try {
-                encodeURIComponent(json2);
-              } catch (e2) {
-                e2 = "invalid UTF8";
-                break;
-              }
-              return json2;
-            // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
-            // Either standard or URL-safe base64 encoding with/without paddings are accepted.
-            case reflection_info_1.ScalarType.BYTES:
-              if (json2 === null || json2 === "")
-                return new Uint8Array(0);
-              if (typeof json2 !== "string")
-                break;
-              return base64_1.base64decode(json2);
+      function onerror(er) {
+        debug5("onerror", er);
+        unpipe();
+        dest.removeListener("error", onerror);
+        if (dest.listenerCount("error") === 0) {
+          const s = dest._writableState || dest._readableState;
+          if (s && !s.errorEmitted) {
+            errorOrDestroy(dest, er);
+          } else {
+            dest.emit("error", er);
           }
-        } catch (error3) {
-          e = error3.message;
         }
-        this.assert(false, fieldName + (e ? " - " + e : ""), json2);
       }
-    };
-    exports2.ReflectionJsonReader = ReflectionJsonReader;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js
-var require_reflection_json_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionJsonWriter = void 0;
-    var base64_1 = require_base642();
-    var pb_long_1 = require_pb_long();
-    var reflection_info_1 = require_reflection_info();
-    var assert_1 = require_assert();
-    var ReflectionJsonWriter = class {
-      constructor(info7) {
-        var _a;
-        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      prependListener(dest, "error", onerror);
+      function onclose() {
+        dest.removeListener("finish", onfinish);
+        unpipe();
       }
-      /**
-       * Converts the message to a JSON object, based on the field descriptors.
-       */
-      write(message, options) {
-        const json2 = {}, source = message;
-        for (const field of this.fields) {
-          if (!field.oneof) {
-            let jsonValue2 = this.field(field, source[field.localName], options);
-            if (jsonValue2 !== void 0)
-              json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2;
-            continue;
-          }
-          const group = source[field.oneof];
-          if (group.oneofKind !== field.localName)
-            continue;
-          const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options;
-          let jsonValue = this.field(field, group[field.localName], opt);
-          assert_1.assert(jsonValue !== void 0);
-          json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue;
+      dest.once("close", onclose);
+      function onfinish() {
+        debug5("onfinish");
+        dest.removeListener("close", onclose);
+        unpipe();
+      }
+      dest.once("finish", onfinish);
+      function unpipe() {
+        debug5("unpipe");
+        src.unpipe(dest);
+      }
+      dest.emit("pipe", src);
+      if (dest.writableNeedDrain === true) {
+        pause();
+      } else if (!state.flowing) {
+        debug5("pipe resume");
+        src.resume();
+      }
+      return dest;
+    };
+    function pipeOnDrain(src, dest) {
+      return function pipeOnDrainFunctionResult() {
+        const state = src._readableState;
+        if (state.awaitDrainWriters === dest) {
+          debug5("pipeOnDrain", 1);
+          state.awaitDrainWriters = null;
+        } else if (state.multiAwaitDrain) {
+          debug5("pipeOnDrain", state.awaitDrainWriters.size);
+          state.awaitDrainWriters.delete(dest);
         }
-        return json2;
+        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
+          src.resume();
+        }
+      };
+    }
+    Readable2.prototype.unpipe = function(dest) {
+      const state = this._readableState;
+      const unpipeInfo = {
+        hasUnpiped: false
+      };
+      if (state.pipes.length === 0) return this;
+      if (!dest) {
+        const dests = state.pipes;
+        state.pipes = [];
+        this.pause();
+        for (let i = 0; i < dests.length; i++)
+          dests[i].emit("unpipe", this, {
+            hasUnpiped: false
+          });
+        return this;
       }
-      field(field, value, options) {
-        let jsonValue = void 0;
-        if (field.kind == "map") {
-          assert_1.assert(typeof value == "object" && value !== null);
-          const jsonObj = {};
-          switch (field.V.kind) {
-            case "scalar":
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                const val = this.scalar(field.V.T, entryValue, field.name, false, true);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-            case "message":
-              const messageType = field.V.T();
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                const val = this.message(messageType, entryValue, field.name, options);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-            case "enum":
-              const enumInfo = field.V.T();
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                assert_1.assert(entryValue === void 0 || typeof entryValue == "number");
-                const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-          }
-          if (options.emitDefaultValues || Object.keys(jsonObj).length > 0)
-            jsonValue = jsonObj;
-        } else if (field.repeat) {
-          assert_1.assert(Array.isArray(value));
-          const jsonArr = [];
-          switch (field.kind) {
-            case "scalar":
-              for (let i = 0; i < value.length; i++) {
-                const val = this.scalar(field.T, value[i], field.name, field.opt, true);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-            case "enum":
-              const enumInfo = field.T();
-              for (let i = 0; i < value.length; i++) {
-                assert_1.assert(value[i] === void 0 || typeof value[i] == "number");
-                const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-            case "message":
-              const messageType = field.T();
-              for (let i = 0; i < value.length; i++) {
-                const val = this.message(messageType, value[i], field.name, options);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-          }
-          if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues)
-            jsonValue = jsonArr;
-        } else {
-          switch (field.kind) {
-            case "scalar":
-              jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues);
-              break;
-            case "enum":
-              jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger);
-              break;
-            case "message":
-              jsonValue = this.message(field.T(), value, field.name, options);
-              break;
+      const index = ArrayPrototypeIndexOf(state.pipes, dest);
+      if (index === -1) return this;
+      state.pipes.splice(index, 1);
+      if (state.pipes.length === 0) this.pause();
+      dest.emit("unpipe", this, unpipeInfo);
+      return this;
+    };
+    Readable2.prototype.on = function(ev, fn) {
+      const res = Stream.prototype.on.call(this, ev, fn);
+      const state = this._readableState;
+      if (ev === "data") {
+        state.readableListening = this.listenerCount("readable") > 0;
+        if (state.flowing !== false) this.resume();
+      } else if (ev === "readable") {
+        if (!state.endEmitted && !state.readableListening) {
+          state.readableListening = state.needReadable = true;
+          state.flowing = false;
+          state.emittedReadable = false;
+          debug5("on readable", state.length, state.reading);
+          if (state.length) {
+            emitReadable(this);
+          } else if (!state.reading) {
+            process2.nextTick(nReadingNextTick, this);
           }
         }
-        return jsonValue;
       }
-      /**
-       * Returns `null` as the default for google.protobuf.NullValue.
-       */
-      enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) {
-        if (type2[0] == "google.protobuf.NullValue")
-          return !emitDefaultValues && !optional ? void 0 : null;
-        if (value === void 0) {
-          assert_1.assert(optional);
-          return void 0;
-        }
-        if (value === 0 && !emitDefaultValues && !optional)
-          return void 0;
-        assert_1.assert(typeof value == "number");
-        assert_1.assert(Number.isInteger(value));
-        if (enumAsInteger || !type2[1].hasOwnProperty(value))
-          return value;
-        if (type2[2])
-          return type2[2] + type2[1][value];
-        return type2[1][value];
+      return res;
+    };
+    Readable2.prototype.addListener = Readable2.prototype.on;
+    Readable2.prototype.removeListener = function(ev, fn) {
+      const res = Stream.prototype.removeListener.call(this, ev, fn);
+      if (ev === "readable") {
+        process2.nextTick(updateReadableListening, this);
       }
-      message(type2, value, fieldName, options) {
-        if (value === void 0)
-          return options.emitDefaultValues ? null : void 0;
-        return type2.internalJsonWrite(value, options);
+      return res;
+    };
+    Readable2.prototype.off = Readable2.prototype.removeListener;
+    Readable2.prototype.removeAllListeners = function(ev) {
+      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
+      if (ev === "readable" || ev === void 0) {
+        process2.nextTick(updateReadableListening, this);
       }
-      scalar(type2, value, fieldName, optional, emitDefaultValues) {
-        if (value === void 0) {
-          assert_1.assert(optional);
-          return void 0;
-        }
-        const ed = emitDefaultValues || optional;
-        switch (type2) {
-          // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assertInt32(value);
-            return value;
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.UINT32:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assertUInt32(value);
-            return value;
-          // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
-          // Either numbers or strings are accepted. Exponent notation is also accepted.
-          case reflection_info_1.ScalarType.FLOAT:
-            assert_1.assertFloat32(value);
-          case reflection_info_1.ScalarType.DOUBLE:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assert(typeof value == "number");
-            if (Number.isNaN(value))
-              return "NaN";
-            if (value === Number.POSITIVE_INFINITY)
-              return "Infinity";
-            if (value === Number.NEGATIVE_INFINITY)
-              return "-Infinity";
-            return value;
-          // string:
-          case reflection_info_1.ScalarType.STRING:
-            if (value === "")
-              return ed ? "" : void 0;
-            assert_1.assert(typeof value == "string");
-            return value;
-          // bool:
-          case reflection_info_1.ScalarType.BOOL:
-            if (value === false)
-              return ed ? false : void 0;
-            assert_1.assert(typeof value == "boolean");
-            return value;
-          // JSON value will be a decimal string. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.UINT64:
-          case reflection_info_1.ScalarType.FIXED64:
-            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
-            let ulong = pb_long_1.PbULong.from(value);
-            if (ulong.isZero() && !ed)
-              return void 0;
-            return ulong.toString();
-          // JSON value will be a decimal string. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.INT64:
-          case reflection_info_1.ScalarType.SFIXED64:
-          case reflection_info_1.ScalarType.SINT64:
-            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
-            let long = pb_long_1.PbLong.from(value);
-            if (long.isZero() && !ed)
-              return void 0;
-            return long.toString();
-          // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
-          // Either standard or URL-safe base64 encoding with/without paddings are accepted.
-          case reflection_info_1.ScalarType.BYTES:
-            assert_1.assert(value instanceof Uint8Array);
-            if (!value.byteLength)
-              return ed ? "" : void 0;
-            return base64_1.base64encode(value);
-        }
+      return res;
+    };
+    function updateReadableListening(self2) {
+      const state = self2._readableState;
+      state.readableListening = self2.listenerCount("readable") > 0;
+      if (state.resumeScheduled && state[kPaused] === false) {
+        state.flowing = true;
+      } else if (self2.listenerCount("data") > 0) {
+        self2.resume();
+      } else if (!state.readableListening) {
+        state.flowing = null;
+      }
+    }
+    function nReadingNextTick(self2) {
+      debug5("readable nexttick read 0");
+      self2.read(0);
+    }
+    Readable2.prototype.resume = function() {
+      const state = this._readableState;
+      if (!state.flowing) {
+        debug5("resume");
+        state.flowing = !state.readableListening;
+        resume(this, state);
       }
+      state[kPaused] = false;
+      return this;
     };
-    exports2.ReflectionJsonWriter = ReflectionJsonWriter;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js
-var require_reflection_scalar_default = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionScalarDefault = void 0;
-    var reflection_info_1 = require_reflection_info();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var pb_long_1 = require_pb_long();
-    function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) {
-      switch (type2) {
-        case reflection_info_1.ScalarType.BOOL:
-          return false;
-        case reflection_info_1.ScalarType.UINT64:
-        case reflection_info_1.ScalarType.FIXED64:
-          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
-        case reflection_info_1.ScalarType.INT64:
-        case reflection_info_1.ScalarType.SFIXED64:
-        case reflection_info_1.ScalarType.SINT64:
-          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
-        case reflection_info_1.ScalarType.DOUBLE:
-        case reflection_info_1.ScalarType.FLOAT:
-          return 0;
-        case reflection_info_1.ScalarType.BYTES:
-          return new Uint8Array(0);
-        case reflection_info_1.ScalarType.STRING:
-          return "";
-        default:
-          return 0;
+    function resume(stream2, state) {
+      if (!state.resumeScheduled) {
+        state.resumeScheduled = true;
+        process2.nextTick(resume_, stream2, state);
       }
     }
-    exports2.reflectionScalarDefault = reflectionScalarDefault;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js
-var require_reflection_binary_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionBinaryReader = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var reflection_info_1 = require_reflection_info();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    var ReflectionBinaryReader = class {
-      constructor(info7) {
-        this.info = info7;
+    function resume_(stream2, state) {
+      debug5("resume", state.reading);
+      if (!state.reading) {
+        stream2.read(0);
       }
-      prepare() {
-        var _a;
-        if (!this.fieldNoToField) {
-          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
-          this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field]));
-        }
+      state.resumeScheduled = false;
+      stream2.emit("resume");
+      flow(stream2);
+      if (state.flowing && !state.reading) stream2.read(0);
+    }
+    Readable2.prototype.pause = function() {
+      debug5("call pause flowing=%j", this._readableState.flowing);
+      if (this._readableState.flowing !== false) {
+        debug5("pause");
+        this._readableState.flowing = false;
+        this.emit("pause");
       }
-      /**
-       * Reads a message from binary format into the target message.
-       *
-       * Repeated fields are appended. Map entries are added, overwriting
-       * existing keys.
-       *
-       * If a message field is already present, it will be merged with the
-       * new data.
-       */
-      read(reader, message, options, length) {
-        this.prepare();
-        const end = length === void 0 ? reader.len : reader.pos + length;
-        while (reader.pos < end) {
-          const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo);
-          if (!field) {
-            let u = options.readUnknownField;
-            if (u == "throw")
-              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`);
-            let d = reader.skip(wireType);
-            if (u !== false)
-              (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d);
-            continue;
-          }
-          let target = message, repeated = field.repeat, localName = field.localName;
-          if (field.oneof) {
-            target = target[field.oneof];
-            if (target.oneofKind !== localName)
-              target = message[field.oneof] = {
-                oneofKind: localName
-              };
-          }
-          switch (field.kind) {
-            case "scalar":
-            case "enum":
-              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-              let L = field.kind == "scalar" ? field.L : void 0;
-              if (repeated) {
-                let arr = target[localName];
-                if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) {
-                  let e = reader.uint32() + reader.pos;
-                  while (reader.pos < e)
-                    arr.push(this.scalar(reader, T, L));
-                } else
-                  arr.push(this.scalar(reader, T, L));
-              } else
-                target[localName] = this.scalar(reader, T, L);
-              break;
-            case "message":
-              if (repeated) {
-                let arr = target[localName];
-                let msg = field.T().internalBinaryRead(reader, reader.uint32(), options);
-                arr.push(msg);
-              } else
-                target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]);
-              break;
-            case "map":
-              let [mapKey, mapVal] = this.mapEntry(field, reader, options);
-              target[localName][mapKey] = mapVal;
-              break;
-          }
+      this._readableState[kPaused] = true;
+      return this;
+    };
+    function flow(stream2) {
+      const state = stream2._readableState;
+      debug5("flow", state.flowing);
+      while (state.flowing && stream2.read() !== null) ;
+    }
+    Readable2.prototype.wrap = function(stream2) {
+      let paused = false;
+      stream2.on("data", (chunk) => {
+        if (!this.push(chunk) && stream2.pause) {
+          paused = true;
+          stream2.pause();
         }
-      }
-      /**
-       * Read a map field, expecting key field = 1, value field = 2
-       */
-      mapEntry(field, reader, options) {
-        let length = reader.uint32();
-        let end = reader.pos + length;
-        let key = void 0;
-        let val = void 0;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case 1:
-              if (field.K == reflection_info_1.ScalarType.BOOL)
-                key = reader.bool().toString();
-              else
-                key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING);
-              break;
-            case 2:
-              switch (field.V.kind) {
-                case "scalar":
-                  val = this.scalar(reader, field.V.T, field.V.L);
-                  break;
-                case "enum":
-                  val = reader.int32();
-                  break;
-                case "message":
-                  val = field.V.T().internalBinaryRead(reader, reader.uint32(), options);
-                  break;
-              }
-              break;
-            default:
-              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`);
-          }
+      });
+      stream2.on("end", () => {
+        this.push(null);
+      });
+      stream2.on("error", (err) => {
+        errorOrDestroy(this, err);
+      });
+      stream2.on("close", () => {
+        this.destroy();
+      });
+      stream2.on("destroy", () => {
+        this.destroy();
+      });
+      this._read = () => {
+        if (paused && stream2.resume) {
+          paused = false;
+          stream2.resume();
         }
-        if (key === void 0) {
-          let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K);
-          key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw;
+      };
+      const streamKeys = ObjectKeys(stream2);
+      for (let j = 1; j < streamKeys.length; j++) {
+        const i = streamKeys[j];
+        if (this[i] === void 0 && typeof stream2[i] === "function") {
+          this[i] = stream2[i].bind(stream2);
         }
-        if (val === void 0)
-          switch (field.V.kind) {
-            case "scalar":
-              val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L);
-              break;
-            case "enum":
-              val = 0;
-              break;
-            case "message":
-              val = field.V.T().create();
-              break;
-          }
-        return [key, val];
       }
-      scalar(reader, type2, longType) {
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-            return reader.int32();
-          case reflection_info_1.ScalarType.STRING:
-            return reader.string();
-          case reflection_info_1.ScalarType.BOOL:
-            return reader.bool();
-          case reflection_info_1.ScalarType.DOUBLE:
-            return reader.double();
-          case reflection_info_1.ScalarType.FLOAT:
-            return reader.float();
-          case reflection_info_1.ScalarType.INT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType);
-          case reflection_info_1.ScalarType.UINT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType);
-          case reflection_info_1.ScalarType.FIXED64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType);
-          case reflection_info_1.ScalarType.FIXED32:
-            return reader.fixed32();
-          case reflection_info_1.ScalarType.BYTES:
-            return reader.bytes();
-          case reflection_info_1.ScalarType.UINT32:
-            return reader.uint32();
-          case reflection_info_1.ScalarType.SFIXED32:
-            return reader.sfixed32();
-          case reflection_info_1.ScalarType.SFIXED64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType);
-          case reflection_info_1.ScalarType.SINT32:
-            return reader.sint32();
-          case reflection_info_1.ScalarType.SINT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType);
-        }
+      return this;
+    };
+    Readable2.prototype[SymbolAsyncIterator] = function() {
+      return streamToAsyncIterator(this);
+    };
+    Readable2.prototype.iterator = function(options) {
+      if (options !== void 0) {
+        validateObject(options, "options");
       }
+      return streamToAsyncIterator(this, options);
     };
-    exports2.ReflectionBinaryReader = ReflectionBinaryReader;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js
-var require_reflection_binary_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionBinaryWriter = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var reflection_info_1 = require_reflection_info();
-    var assert_1 = require_assert();
-    var pb_long_1 = require_pb_long();
-    var ReflectionBinaryWriter = class {
-      constructor(info7) {
-        this.info = info7;
+    function streamToAsyncIterator(stream2, options) {
+      if (typeof stream2.read !== "function") {
+        stream2 = Readable2.wrap(stream2, {
+          objectMode: true
+        });
       }
-      prepare() {
-        if (!this.fields) {
-          const fieldsInput = this.info.fields ? this.info.fields.concat() : [];
-          this.fields = fieldsInput.sort((a, b) => a.no - b.no);
+      const iter = createAsyncIterator(stream2, options);
+      iter.stream = stream2;
+      return iter;
+    }
+    async function* createAsyncIterator(stream2, options) {
+      let callback = nop;
+      function next(resolve8) {
+        if (this === stream2) {
+          callback();
+          callback = nop;
+        } else {
+          callback = resolve8;
         }
       }
-      /**
-       * Writes the message to binary format.
-       */
-      write(message, writer, options) {
-        this.prepare();
-        for (const field of this.fields) {
-          let value, emitDefault, repeated = field.repeat, localName = field.localName;
-          if (field.oneof) {
-            const group = message[field.oneof];
-            if (group.oneofKind !== localName)
-              continue;
-            value = group[localName];
-            emitDefault = true;
+      stream2.on("readable", next);
+      let error3;
+      const cleanup = eos(
+        stream2,
+        {
+          writable: false
+        },
+        (err) => {
+          error3 = err ? aggregateTwoErrors(error3, err) : null;
+          callback();
+          callback = nop;
+        }
+      );
+      try {
+        while (true) {
+          const chunk = stream2.destroyed ? null : stream2.read();
+          if (chunk !== null) {
+            yield chunk;
+          } else if (error3) {
+            throw error3;
+          } else if (error3 === null) {
+            return;
           } else {
-            value = message[localName];
-            emitDefault = false;
+            await new Promise2(next);
           }
-          switch (field.kind) {
-            case "scalar":
-            case "enum":
-              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-              if (repeated) {
-                assert_1.assert(Array.isArray(value));
-                if (repeated == reflection_info_1.RepeatType.PACKED)
-                  this.packed(writer, T, field.no, value);
-                else
-                  for (const item of value)
-                    this.scalar(writer, T, field.no, item, true);
-              } else if (value === void 0)
-                assert_1.assert(field.opt);
-              else
-                this.scalar(writer, T, field.no, value, emitDefault || field.opt);
-              break;
-            case "message":
-              if (repeated) {
-                assert_1.assert(Array.isArray(value));
-                for (const item of value)
-                  this.message(writer, options, field.T(), field.no, item);
-              } else {
-                this.message(writer, options, field.T(), field.no, value);
-              }
-              break;
-            case "map":
-              assert_1.assert(typeof value == "object" && value !== null);
-              for (const [key, val] of Object.entries(value))
-                this.mapEntry(writer, options, field, key, val);
-              break;
+        }
+      } catch (err) {
+        error3 = aggregateTwoErrors(error3, err);
+        throw error3;
+      } finally {
+        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream2._readableState.autoDestroy)) {
+          destroyImpl.destroyer(stream2, null);
+        } else {
+          stream2.off("readable", next);
+          cleanup();
+        }
+      }
+    }
+    ObjectDefineProperties(Readable2.prototype, {
+      readable: {
+        __proto__: null,
+        get() {
+          const r = this._readableState;
+          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
+        },
+        set(val) {
+          if (this._readableState) {
+            this._readableState.readable = !!val;
           }
         }
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer);
+      },
+      readableDidRead: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.dataEmitted;
+        }
+      },
+      readableAborted: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
+        }
+      },
+      readableHighWaterMark: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.highWaterMark;
+        }
+      },
+      readableBuffer: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState && this._readableState.buffer;
+        }
+      },
+      readableFlowing: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.flowing;
+        },
+        set: function(state) {
+          if (this._readableState) {
+            this._readableState.flowing = state;
+          }
+        }
+      },
+      readableLength: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState.length;
+        }
+      },
+      readableObjectMode: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.objectMode : false;
+        }
+      },
+      readableEncoding: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.encoding : null;
+        }
+      },
+      errored: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.errored : null;
+        }
+      },
+      closed: {
+        __proto__: null,
+        get() {
+          return this._readableState ? this._readableState.closed : false;
+        }
+      },
+      destroyed: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.destroyed : false;
+        },
+        set(value) {
+          if (!this._readableState) {
+            return;
+          }
+          this._readableState.destroyed = value;
+        }
+      },
+      readableEnded: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.endEmitted : false;
+        }
       }
-      mapEntry(writer, options, field, key, value) {
-        writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited);
-        writer.fork();
-        let keyValue = key;
-        switch (field.K) {
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.UINT32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-            keyValue = Number.parseInt(key);
-            break;
-          case reflection_info_1.ScalarType.BOOL:
-            assert_1.assert(key == "true" || key == "false");
-            keyValue = key == "true";
-            break;
+    });
+    ObjectDefineProperties(ReadableState.prototype, {
+      // Legacy getter for `pipesCount`.
+      pipesCount: {
+        __proto__: null,
+        get() {
+          return this.pipes.length;
         }
-        this.scalar(writer, field.K, 1, keyValue, true);
-        switch (field.V.kind) {
-          case "scalar":
-            this.scalar(writer, field.V.T, 2, value, true);
-            break;
-          case "enum":
-            this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true);
-            break;
-          case "message":
-            this.message(writer, options, field.V.T(), 2, value);
-            break;
+      },
+      // Legacy property for `paused`.
+      paused: {
+        __proto__: null,
+        get() {
+          return this[kPaused] !== false;
+        },
+        set(value) {
+          this[kPaused] = !!value;
         }
-        writer.join();
       }
-      message(writer, options, handler2, fieldNo, value) {
-        if (value === void 0)
-          return;
-        handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options);
-        writer.join();
+    });
+    Readable2._fromList = fromList;
+    function fromList(n, state) {
+      if (state.length === 0) return null;
+      let ret;
+      if (state.objectMode) ret = state.buffer.shift();
+      else if (!n || n >= state.length) {
+        if (state.decoder) ret = state.buffer.join("");
+        else if (state.buffer.length === 1) ret = state.buffer.first();
+        else ret = state.buffer.concat(state.length);
+        state.buffer.clear();
+      } else {
+        ret = state.buffer.consume(n, state.decoder);
       }
-      /**
-       * Write a single scalar value.
-       */
-      scalar(writer, type2, fieldNo, value, emitDefault) {
-        let [wireType, method, isDefault] = this.scalarInfo(type2, value);
-        if (!isDefault || emitDefault) {
-          writer.tag(fieldNo, wireType);
-          writer[method](value);
+      return ret;
+    }
+    function endReadable(stream2) {
+      const state = stream2._readableState;
+      debug5("endReadable", state.endEmitted);
+      if (!state.endEmitted) {
+        state.ended = true;
+        process2.nextTick(endReadableNT, state, stream2);
+      }
+    }
+    function endReadableNT(state, stream2) {
+      debug5("endReadableNT", state.endEmitted, state.length);
+      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
+        state.endEmitted = true;
+        stream2.emit("end");
+        if (stream2.writable && stream2.allowHalfOpen === false) {
+          process2.nextTick(endWritableNT, stream2);
+        } else if (state.autoDestroy) {
+          const wState = stream2._writableState;
+          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
+          // if writable is explicitly set to false.
+          (wState.finished || wState.writable === false);
+          if (autoDestroy) {
+            stream2.destroy();
+          }
         }
       }
-      /**
-       * Write an array of scalar values in packed format.
-       */
-      packed(writer, type2, fieldNo, value) {
-        if (!value.length)
-          return;
-        assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING);
-        writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited);
-        writer.fork();
-        let [, method] = this.scalarInfo(type2);
-        for (let i = 0; i < value.length; i++)
-          writer[method](value[i]);
-        writer.join();
+    }
+    function endWritableNT(stream2) {
+      const writable = stream2.writable && !stream2.writableEnded && !stream2.destroyed;
+      if (writable) {
+        stream2.end();
       }
-      /**
-       * Get information for writing a scalar value.
-       *
-       * Returns tuple:
-       * [0]: appropriate WireType
-       * [1]: name of the appropriate method of IBinaryWriter
-       * [2]: whether the given value is a default value
-       *
-       * If argument `value` is omitted, [2] is always false.
-       */
-      scalarInfo(type2, value) {
-        let t = binary_format_contract_1.WireType.Varint;
-        let m;
-        let i = value === void 0;
-        let d = value === 0;
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-            m = "int32";
-            break;
-          case reflection_info_1.ScalarType.STRING:
-            d = i || !value.length;
-            t = binary_format_contract_1.WireType.LengthDelimited;
-            m = "string";
-            break;
-          case reflection_info_1.ScalarType.BOOL:
-            d = value === false;
-            m = "bool";
-            break;
-          case reflection_info_1.ScalarType.UINT32:
-            m = "uint32";
-            break;
-          case reflection_info_1.ScalarType.DOUBLE:
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "double";
-            break;
-          case reflection_info_1.ScalarType.FLOAT:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "float";
-            break;
-          case reflection_info_1.ScalarType.INT64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            m = "int64";
-            break;
-          case reflection_info_1.ScalarType.UINT64:
-            d = i || pb_long_1.PbULong.from(value).isZero();
-            m = "uint64";
-            break;
-          case reflection_info_1.ScalarType.FIXED64:
-            d = i || pb_long_1.PbULong.from(value).isZero();
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "fixed64";
-            break;
-          case reflection_info_1.ScalarType.BYTES:
-            d = i || !value.byteLength;
-            t = binary_format_contract_1.WireType.LengthDelimited;
-            m = "bytes";
-            break;
-          case reflection_info_1.ScalarType.FIXED32:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "fixed32";
-            break;
-          case reflection_info_1.ScalarType.SFIXED32:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "sfixed32";
-            break;
-          case reflection_info_1.ScalarType.SFIXED64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "sfixed64";
-            break;
-          case reflection_info_1.ScalarType.SINT32:
-            m = "sint32";
-            break;
-          case reflection_info_1.ScalarType.SINT64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            m = "sint64";
-            break;
+    }
+    Readable2.from = function(iterable, opts) {
+      return from(Readable2, iterable, opts);
+    };
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Readable2.fromWeb = function(readableStream, options) {
+      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
+    };
+    Readable2.toWeb = function(streamReadable, options) {
+      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
+    };
+    Readable2.wrap = function(src, options) {
+      var _ref, _src$readableObjectMo;
+      return new Readable2({
+        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
+        ...options,
+        destroy(err, callback) {
+          destroyImpl.destroyer(src, err);
+          callback(err);
         }
-        return [t, m, i || d];
-      }
+      }).wrap(src);
     };
-    exports2.ReflectionBinaryWriter = ReflectionBinaryWriter;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js
-var require_reflection_create = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionCreate = void 0;
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    var message_type_contract_1 = require_message_type_contract();
-    function reflectionCreate(type2) {
-      const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 });
-      for (let field of type2.fields) {
-        let name = field.localName;
-        if (field.opt)
-          continue;
-        if (field.oneof)
-          msg[field.oneof] = { oneofKind: void 0 };
-        else if (field.repeat)
-          msg[name] = [];
-        else
-          switch (field.kind) {
-            case "scalar":
-              msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L);
-              break;
-            case "enum":
-              msg[name] = 0;
-              break;
-            case "map":
-              msg[name] = {};
-              break;
-          }
+// node_modules/readable-stream/lib/internal/streams/writable.js
+var require_writable = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
+    var process2 = require_process();
+    var {
+      ArrayPrototypeSlice,
+      Error: Error2,
+      FunctionPrototypeSymbolHasInstance,
+      ObjectDefineProperty,
+      ObjectDefineProperties,
+      ObjectSetPrototypeOf,
+      StringPrototypeToLowerCase,
+      Symbol: Symbol2,
+      SymbolHasInstance
+    } = require_primordials();
+    module2.exports = Writable;
+    Writable.WritableState = WritableState;
+    var { EventEmitter: EE } = require("events");
+    var Stream = require_legacy().Stream;
+    var { Buffer: Buffer2 } = require("buffer");
+    var destroyImpl = require_destroy2();
+    var { addAbortSignal } = require_add_abort_signal();
+    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var {
+      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+      ERR_METHOD_NOT_IMPLEMENTED,
+      ERR_MULTIPLE_CALLBACK,
+      ERR_STREAM_CANNOT_PIPE,
+      ERR_STREAM_DESTROYED,
+      ERR_STREAM_ALREADY_FINISHED,
+      ERR_STREAM_NULL_VALUES,
+      ERR_STREAM_WRITE_AFTER_END,
+      ERR_UNKNOWN_ENCODING
+    } = require_errors5().codes;
+    var { errorOrDestroy } = destroyImpl;
+    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
+    ObjectSetPrototypeOf(Writable, Stream);
+    function nop() {
+    }
+    var kOnFinished = Symbol2("kOnFinished");
+    function WritableState(options, stream2, isDuplex) {
+      if (typeof isDuplex !== "boolean") isDuplex = stream2 instanceof require_duplex();
+      this.objectMode = !!(options && options.objectMode);
+      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
+      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
+      this.finalCalled = false;
+      this.needDrain = false;
+      this.ending = false;
+      this.ended = false;
+      this.finished = false;
+      this.destroyed = false;
+      const noDecode = !!(options && options.decodeStrings === false);
+      this.decodeStrings = !noDecode;
+      this.defaultEncoding = options && options.defaultEncoding || "utf8";
+      this.length = 0;
+      this.writing = false;
+      this.corked = 0;
+      this.sync = true;
+      this.bufferProcessing = false;
+      this.onwrite = onwrite.bind(void 0, stream2);
+      this.writecb = null;
+      this.writelen = 0;
+      this.afterWriteTickInfo = null;
+      resetBuffer(this);
+      this.pendingcb = 0;
+      this.constructed = true;
+      this.prefinished = false;
+      this.errorEmitted = false;
+      this.emitClose = !options || options.emitClose !== false;
+      this.autoDestroy = !options || options.autoDestroy !== false;
+      this.errored = null;
+      this.closed = false;
+      this.closeEmitted = false;
+      this[kOnFinished] = [];
+    }
+    function resetBuffer(state) {
+      state.buffered = [];
+      state.bufferedIndex = 0;
+      state.allBuffers = true;
+      state.allNoop = true;
+    }
+    WritableState.prototype.getBuffer = function getBuffer() {
+      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
+    };
+    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
+      __proto__: null,
+      get() {
+        return this.buffered.length - this.bufferedIndex;
       }
-      return msg;
+    });
+    function Writable(options) {
+      const isDuplex = this instanceof require_duplex();
+      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
+      this._writableState = new WritableState(options, this, isDuplex);
+      if (options) {
+        if (typeof options.write === "function") this._write = options.write;
+        if (typeof options.writev === "function") this._writev = options.writev;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.final === "function") this._final = options.final;
+        if (typeof options.construct === "function") this._construct = options.construct;
+        if (options.signal) addAbortSignal(options.signal, this);
+      }
+      Stream.call(this, options);
+      destroyImpl.construct(this, () => {
+        const state = this._writableState;
+        if (!state.writing) {
+          clearBuffer(this, state);
+        }
+        finishMaybe(this, state);
+      });
     }
-    exports2.reflectionCreate = reflectionCreate;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js
-var require_reflection_merge_partial = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionMergePartial = void 0;
-    function reflectionMergePartial(info7, target, source) {
-      let fieldValue, input = source, output;
-      for (let field of info7.fields) {
-        let name = field.localName;
-        if (field.oneof) {
-          const group = input[field.oneof];
-          if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) {
-            continue;
-          }
-          fieldValue = group[name];
-          output = target[field.oneof];
-          output.oneofKind = group.oneofKind;
-          if (fieldValue == void 0) {
-            delete output[name];
-            continue;
+    ObjectDefineProperty(Writable, SymbolHasInstance, {
+      __proto__: null,
+      value: function(object) {
+        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
+        if (this !== Writable) return false;
+        return object && object._writableState instanceof WritableState;
+      }
+    });
+    Writable.prototype.pipe = function() {
+      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
+    };
+    function _write(stream2, chunk, encoding, cb) {
+      const state = stream2._writableState;
+      if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = state.defaultEncoding;
+      } else {
+        if (!encoding) encoding = state.defaultEncoding;
+        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
+        if (typeof cb !== "function") cb = nop;
+      }
+      if (chunk === null) {
+        throw new ERR_STREAM_NULL_VALUES();
+      } else if (!state.objectMode) {
+        if (typeof chunk === "string") {
+          if (state.decodeStrings !== false) {
+            chunk = Buffer2.from(chunk, encoding);
+            encoding = "buffer";
           }
+        } else if (chunk instanceof Buffer2) {
+          encoding = "buffer";
+        } else if (Stream._isUint8Array(chunk)) {
+          chunk = Stream._uint8ArrayToBuffer(chunk);
+          encoding = "buffer";
         } else {
-          fieldValue = input[name];
-          output = target;
-          if (fieldValue == void 0) {
-            continue;
-          }
-        }
-        if (field.repeat)
-          output[name].length = fieldValue.length;
-        switch (field.kind) {
-          case "scalar":
-          case "enum":
-            if (field.repeat)
-              for (let i = 0; i < fieldValue.length; i++)
-                output[name][i] = fieldValue[i];
-            else
-              output[name] = fieldValue;
-            break;
-          case "message":
-            let T = field.T();
-            if (field.repeat)
-              for (let i = 0; i < fieldValue.length; i++)
-                output[name][i] = T.create(fieldValue[i]);
-            else if (output[name] === void 0)
-              output[name] = T.create(fieldValue);
-            else
-              T.mergePartial(output[name], fieldValue);
-            break;
-          case "map":
-            switch (field.V.kind) {
-              case "scalar":
-              case "enum":
-                Object.assign(output[name], fieldValue);
-                break;
-              case "message":
-                let T2 = field.V.T();
-                for (let k of Object.keys(fieldValue))
-                  output[name][k] = T2.create(fieldValue[k]);
-                break;
-            }
-            break;
+          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
         }
       }
+      let err;
+      if (state.ending) {
+        err = new ERR_STREAM_WRITE_AFTER_END();
+      } else if (state.destroyed) {
+        err = new ERR_STREAM_DESTROYED("write");
+      }
+      if (err) {
+        process2.nextTick(cb, err);
+        errorOrDestroy(stream2, err, true);
+        return err;
+      }
+      state.pendingcb++;
+      return writeOrBuffer(stream2, state, chunk, encoding, cb);
     }
-    exports2.reflectionMergePartial = reflectionMergePartial;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js
-var require_reflection_equals = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionEquals = void 0;
-    var reflection_info_1 = require_reflection_info();
-    function reflectionEquals(info7, a, b) {
-      if (a === b)
-        return true;
-      if (!a || !b)
-        return false;
-      for (let field of info7.fields) {
-        let localName = field.localName;
-        let val_a = field.oneof ? a[field.oneof][localName] : a[localName];
-        let val_b = field.oneof ? b[field.oneof][localName] : b[localName];
-        switch (field.kind) {
-          case "enum":
-          case "scalar":
-            let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-            if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b)))
-              return false;
-            break;
-          case "map":
-            if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b))))
-              return false;
-            break;
-          case "message":
-            let T = field.T();
-            if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b)))
-              return false;
-            break;
+    Writable.prototype.write = function(chunk, encoding, cb) {
+      return _write(this, chunk, encoding, cb) === true;
+    };
+    Writable.prototype.cork = function() {
+      this._writableState.corked++;
+    };
+    Writable.prototype.uncork = function() {
+      const state = this._writableState;
+      if (state.corked) {
+        state.corked--;
+        if (!state.writing) clearBuffer(this, state);
+      }
+    };
+    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
+      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
+      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
+      this._writableState.defaultEncoding = encoding;
+      return this;
+    };
+    function writeOrBuffer(stream2, state, chunk, encoding, callback) {
+      const len = state.objectMode ? 1 : chunk.length;
+      state.length += len;
+      const ret = state.length < state.highWaterMark;
+      if (!ret) state.needDrain = true;
+      if (state.writing || state.corked || state.errored || !state.constructed) {
+        state.buffered.push({
+          chunk,
+          encoding,
+          callback
+        });
+        if (state.allBuffers && encoding !== "buffer") {
+          state.allBuffers = false;
         }
+        if (state.allNoop && callback !== nop) {
+          state.allNoop = false;
+        }
+      } else {
+        state.writelen = len;
+        state.writecb = callback;
+        state.writing = true;
+        state.sync = true;
+        stream2._write(chunk, encoding, state.onwrite);
+        state.sync = false;
       }
-      return true;
-    }
-    exports2.reflectionEquals = reflectionEquals;
-    var objectValues = Object.values;
-    function primitiveEq(type2, a, b) {
-      if (a === b)
-        return true;
-      if (type2 !== reflection_info_1.ScalarType.BYTES)
-        return false;
-      let ba = a;
-      let bb = b;
-      if (ba.length !== bb.length)
-        return false;
-      for (let i = 0; i < ba.length; i++)
-        if (ba[i] != bb[i])
-          return false;
-      return true;
+      return ret && !state.errored && !state.destroyed;
     }
-    function repeatedPrimitiveEq(type2, a, b) {
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; i++)
-        if (!primitiveEq(type2, a[i], b[i]))
-          return false;
-      return true;
+    function doWrite(stream2, state, writev, len, chunk, encoding, cb) {
+      state.writelen = len;
+      state.writecb = cb;
+      state.writing = true;
+      state.sync = true;
+      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
+      else if (writev) stream2._writev(chunk, state.onwrite);
+      else stream2._write(chunk, encoding, state.onwrite);
+      state.sync = false;
     }
-    function repeatedMsgEq(type2, a, b) {
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; i++)
-        if (!type2.equals(a[i], b[i]))
-          return false;
-      return true;
+    function onwriteError(stream2, state, er, cb) {
+      --state.pendingcb;
+      cb(er);
+      errorBuffer(state);
+      errorOrDestroy(stream2, er);
     }
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js
-var require_message_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MessageType = void 0;
-    var message_type_contract_1 = require_message_type_contract();
-    var reflection_info_1 = require_reflection_info();
-    var reflection_type_check_1 = require_reflection_type_check();
-    var reflection_json_reader_1 = require_reflection_json_reader();
-    var reflection_json_writer_1 = require_reflection_json_writer();
-    var reflection_binary_reader_1 = require_reflection_binary_reader();
-    var reflection_binary_writer_1 = require_reflection_binary_writer();
-    var reflection_create_1 = require_reflection_create();
-    var reflection_merge_partial_1 = require_reflection_merge_partial();
-    var json_typings_1 = require_json_typings();
-    var json_format_contract_1 = require_json_format_contract();
-    var reflection_equals_1 = require_reflection_equals();
-    var binary_writer_1 = require_binary_writer();
-    var binary_reader_1 = require_binary_reader();
-    var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({}));
-    var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {};
-    var MessageType = class {
-      constructor(name, fields, options) {
-        this.defaultCheckDepth = 16;
-        this.typeName = name;
-        this.fields = fields.map(reflection_info_1.normalizeFieldInfo);
-        this.options = options !== null && options !== void 0 ? options : {};
-        messageTypeDescriptor.value = this;
-        this.messagePrototype = Object.create(null, baseDescriptors);
-        this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this);
-        this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this);
-        this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this);
-        this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this);
-        this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this);
+    function onwrite(stream2, er) {
+      const state = stream2._writableState;
+      const sync = state.sync;
+      const cb = state.writecb;
+      if (typeof cb !== "function") {
+        errorOrDestroy(stream2, new ERR_MULTIPLE_CALLBACK());
+        return;
       }
-      create(value) {
-        let message = reflection_create_1.reflectionCreate(this);
-        if (value !== void 0) {
-          reflection_merge_partial_1.reflectionMergePartial(this, message, value);
+      state.writing = false;
+      state.writecb = null;
+      state.length -= state.writelen;
+      state.writelen = 0;
+      if (er) {
+        er.stack;
+        if (!state.errored) {
+          state.errored = er;
+        }
+        if (stream2._readableState && !stream2._readableState.errored) {
+          stream2._readableState.errored = er;
+        }
+        if (sync) {
+          process2.nextTick(onwriteError, stream2, state, er, cb);
+        } else {
+          onwriteError(stream2, state, er, cb);
+        }
+      } else {
+        if (state.buffered.length > state.bufferedIndex) {
+          clearBuffer(stream2, state);
+        }
+        if (sync) {
+          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
+            state.afterWriteTickInfo.count++;
+          } else {
+            state.afterWriteTickInfo = {
+              count: 1,
+              cb,
+              stream: stream2,
+              state
+            };
+            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
+          }
+        } else {
+          afterWrite(stream2, state, 1, cb);
         }
-        return message;
       }
-      /**
-       * Clone the message.
-       *
-       * Unknown fields are discarded.
-       */
-      clone(message) {
-        let copy = this.create();
-        reflection_merge_partial_1.reflectionMergePartial(this, copy, message);
-        return copy;
+    }
+    function afterWriteTick({ stream: stream2, state, count, cb }) {
+      state.afterWriteTickInfo = null;
+      return afterWrite(stream2, state, count, cb);
+    }
+    function afterWrite(stream2, state, count, cb) {
+      const needDrain = !state.ending && !stream2.destroyed && state.length === 0 && state.needDrain;
+      if (needDrain) {
+        state.needDrain = false;
+        stream2.emit("drain");
       }
-      /**
-       * Determines whether two message of the same type have the same field values.
-       * Checks for deep equality, traversing repeated fields, oneof groups, maps
-       * and messages recursively.
-       * Will also return true if both messages are `undefined`.
-       */
-      equals(a, b) {
-        return reflection_equals_1.reflectionEquals(this, a, b);
+      while (count-- > 0) {
+        state.pendingcb--;
+        cb();
       }
-      /**
-       * Is the given value assignable to our message type
-       * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
-       */
-      is(arg, depth = this.defaultCheckDepth) {
-        return this.refTypeCheck.is(arg, depth, false);
+      if (state.destroyed) {
+        errorBuffer(state);
       }
-      /**
-       * Is the given value assignable to our message type,
-       * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
-       */
-      isAssignable(arg, depth = this.defaultCheckDepth) {
-        return this.refTypeCheck.is(arg, depth, true);
+      finishMaybe(stream2, state);
+    }
+    function errorBuffer(state) {
+      if (state.writing) {
+        return;
       }
-      /**
-       * Copy partial data into the target message.
-       */
-      mergePartial(target, source) {
-        reflection_merge_partial_1.reflectionMergePartial(this, target, source);
+      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
+        var _state$errored;
+        const { chunk, callback } = state.buffered[n];
+        const len = state.objectMode ? 1 : chunk.length;
+        state.length -= len;
+        callback(
+          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
+        );
       }
-      /**
-       * Create a new message from binary format.
-       */
-      fromBinary(data, options) {
-        let opt = binary_reader_1.binaryReadOptions(options);
-        return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt);
+      const onfinishCallbacks = state[kOnFinished].splice(0);
+      for (let i = 0; i < onfinishCallbacks.length; i++) {
+        var _state$errored2;
+        onfinishCallbacks[i](
+          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
+        );
       }
-      /**
-       * Read a new message from a JSON value.
-       */
-      fromJson(json2, options) {
-        return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options));
+      resetBuffer(state);
+    }
+    function clearBuffer(stream2, state) {
+      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
+        return;
       }
-      /**
-       * Read a new message from a JSON string.
-       * This is equivalent to `T.fromJson(JSON.parse(json))`.
-       */
-      fromJsonString(json2, options) {
-        let value = JSON.parse(json2);
-        return this.fromJson(value, options);
+      const { buffered, bufferedIndex, objectMode } = state;
+      const bufferedLength = buffered.length - bufferedIndex;
+      if (!bufferedLength) {
+        return;
       }
-      /**
-       * Write the message to canonical JSON value.
-       */
-      toJson(message, options) {
-        return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options));
+      let i = bufferedIndex;
+      state.bufferProcessing = true;
+      if (bufferedLength > 1 && stream2._writev) {
+        state.pendingcb -= bufferedLength - 1;
+        const callback = state.allNoop ? nop : (err) => {
+          for (let n = i; n < buffered.length; ++n) {
+            buffered[n].callback(err);
+          }
+        };
+        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
+        chunks.allBuffers = state.allBuffers;
+        doWrite(stream2, state, true, state.length, chunks, "", callback);
+        resetBuffer(state);
+      } else {
+        do {
+          const { chunk, encoding, callback } = buffered[i];
+          buffered[i++] = null;
+          const len = objectMode ? 1 : chunk.length;
+          doWrite(stream2, state, false, len, chunk, encoding, callback);
+        } while (i < buffered.length && !state.writing);
+        if (i === buffered.length) {
+          resetBuffer(state);
+        } else if (i > 256) {
+          buffered.splice(0, i);
+          state.bufferedIndex = 0;
+        } else {
+          state.bufferedIndex = i;
+        }
       }
-      /**
-       * Convert the message to canonical JSON string.
-       * This is equivalent to `JSON.stringify(T.toJson(t))`
-       */
-      toJsonString(message, options) {
-        var _a;
-        let value = this.toJson(message, options);
-        return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);
+      state.bufferProcessing = false;
+    }
+    Writable.prototype._write = function(chunk, encoding, cb) {
+      if (this._writev) {
+        this._writev(
+          [
+            {
+              chunk,
+              encoding
+            }
+          ],
+          cb
+        );
+      } else {
+        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
       }
-      /**
-       * Write the message to binary format.
-       */
-      toBinary(message, options) {
-        let opt = binary_writer_1.binaryWriteOptions(options);
-        return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish();
+    };
+    Writable.prototype._writev = null;
+    Writable.prototype.end = function(chunk, encoding, cb) {
+      const state = this._writableState;
+      if (typeof chunk === "function") {
+        cb = chunk;
+        chunk = null;
+        encoding = null;
+      } else if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      /**
-       * This is an internal method. If you just want to read a message from
-       * JSON, use `fromJson()` or `fromJsonString()`.
-       *
-       * Reads JSON value and merges the fields into the target
-       * according to protobuf rules. If the target is omitted,
-       * a new instance is created first.
-       */
-      internalJsonRead(json2, options, target) {
-        if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) {
-          let message = target !== null && target !== void 0 ? target : this.create();
-          this.refJsonReader.read(json2, message, options);
-          return message;
+      let err;
+      if (chunk !== null && chunk !== void 0) {
+        const ret = _write(this, chunk, encoding);
+        if (ret instanceof Error2) {
+          err = ret;
         }
-        throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`);
       }
-      /**
-       * This is an internal method. If you just want to write a message
-       * to JSON, use `toJson()` or `toJsonString().
-       *
-       * Writes JSON value and returns it.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.write(message, options);
+      if (state.corked) {
+        state.corked = 1;
+        this.uncork();
       }
-      /**
-       * This is an internal method. If you just want to write a message
-       * in binary format, use `toBinary()`.
-       *
-       * Serializes the message in binary format and appends it to the given
-       * writer. Returns passed writer.
-       */
-      internalBinaryWrite(message, writer, options) {
-        this.refBinWriter.write(message, writer, options);
-        return writer;
+      if (err) {
+      } else if (!state.errored && !state.ending) {
+        state.ending = true;
+        finishMaybe(this, state, true);
+        state.ended = true;
+      } else if (state.finished) {
+        err = new ERR_STREAM_ALREADY_FINISHED("end");
+      } else if (state.destroyed) {
+        err = new ERR_STREAM_DESTROYED("end");
       }
-      /**
-       * This is an internal method. If you just want to read a message from
-       * binary data, use `fromBinary()`.
-       *
-       * Reads data from binary format and merges the fields into
-       * the target according to protobuf rules. If the target is
-       * omitted, a new instance is created first.
-       */
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create();
-        this.refBinReader.read(reader, message, options, length);
-        return message;
+      if (typeof cb === "function") {
+        if (err || state.finished) {
+          process2.nextTick(cb, err);
+        } else {
+          state[kOnFinished].push(cb);
+        }
       }
+      return this;
     };
-    exports2.MessageType = MessageType;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js
-var require_reflection_contains_message_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.containsMessageType = void 0;
-    var message_type_contract_1 = require_message_type_contract();
-    function containsMessageType(msg) {
-      return msg[message_type_contract_1.MESSAGE_TYPE] != null;
+    function needFinish(state) {
+      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
     }
-    exports2.containsMessageType = containsMessageType;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js
-var require_enum_object = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0;
-    function isEnumObject(arg) {
-      if (typeof arg != "object" || arg === null) {
-        return false;
+    function callFinal(stream2, state) {
+      let called = false;
+      function onFinish(err) {
+        if (called) {
+          errorOrDestroy(stream2, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
+          return;
+        }
+        called = true;
+        state.pendingcb--;
+        if (err) {
+          const onfinishCallbacks = state[kOnFinished].splice(0);
+          for (let i = 0; i < onfinishCallbacks.length; i++) {
+            onfinishCallbacks[i](err);
+          }
+          errorOrDestroy(stream2, err, state.sync);
+        } else if (needFinish(state)) {
+          state.prefinished = true;
+          stream2.emit("prefinish");
+          state.pendingcb++;
+          process2.nextTick(finish, stream2, state);
+        }
       }
-      if (!arg.hasOwnProperty(0)) {
-        return false;
+      state.sync = true;
+      state.pendingcb++;
+      try {
+        stream2._final(onFinish);
+      } catch (err) {
+        onFinish(err);
       }
-      for (let k of Object.keys(arg)) {
-        let num = parseInt(k);
-        if (!Number.isNaN(num)) {
-          let nam = arg[num];
-          if (nam === void 0)
-            return false;
-          if (arg[nam] !== num)
-            return false;
+      state.sync = false;
+    }
+    function prefinish(stream2, state) {
+      if (!state.prefinished && !state.finalCalled) {
+        if (typeof stream2._final === "function" && !state.destroyed) {
+          state.finalCalled = true;
+          callFinal(stream2, state);
         } else {
-          let num2 = arg[k];
-          if (num2 === void 0)
-            return false;
-          if (typeof num2 !== "number")
-            return false;
-          if (arg[num2] === void 0)
-            return false;
+          state.prefinished = true;
+          stream2.emit("prefinish");
         }
       }
-      return true;
-    }
-    exports2.isEnumObject = isEnumObject;
-    function listEnumValues(enumObject) {
-      if (!isEnumObject(enumObject))
-        throw new Error("not a typescript enum object");
-      let values = [];
-      for (let [name, number] of Object.entries(enumObject))
-        if (typeof number == "number")
-          values.push({ name, number });
-      return values;
-    }
-    exports2.listEnumValues = listEnumValues;
-    function listEnumNames(enumObject) {
-      return listEnumValues(enumObject).map((val) => val.name);
-    }
-    exports2.listEnumNames = listEnumNames;
-    function listEnumNumbers(enumObject) {
-      return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index);
-    }
-    exports2.listEnumNumbers = listEnumNumbers;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/index.js
-var require_commonjs16 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var json_typings_1 = require_json_typings();
-    Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() {
-      return json_typings_1.typeofJsonValue;
-    } });
-    Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() {
-      return json_typings_1.isJsonObject;
-    } });
-    var base64_1 = require_base642();
-    Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() {
-      return base64_1.base64decode;
-    } });
-    Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() {
-      return base64_1.base64encode;
-    } });
-    var protobufjs_utf8_1 = require_protobufjs_utf8();
-    Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() {
-      return protobufjs_utf8_1.utf8read;
-    } });
-    var binary_format_contract_1 = require_binary_format_contract();
-    Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() {
-      return binary_format_contract_1.WireType;
-    } });
-    Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() {
-      return binary_format_contract_1.mergeBinaryOptions;
-    } });
-    Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() {
-      return binary_format_contract_1.UnknownFieldHandler;
-    } });
-    var binary_reader_1 = require_binary_reader();
-    Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() {
-      return binary_reader_1.BinaryReader;
-    } });
-    Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() {
-      return binary_reader_1.binaryReadOptions;
-    } });
-    var binary_writer_1 = require_binary_writer();
-    Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() {
-      return binary_writer_1.BinaryWriter;
-    } });
-    Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() {
-      return binary_writer_1.binaryWriteOptions;
-    } });
-    var pb_long_1 = require_pb_long();
-    Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() {
-      return pb_long_1.PbLong;
-    } });
-    Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() {
-      return pb_long_1.PbULong;
-    } });
-    var json_format_contract_1 = require_json_format_contract();
-    Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.jsonReadOptions;
-    } });
-    Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.jsonWriteOptions;
-    } });
-    Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.mergeJsonOptions;
-    } });
-    var message_type_contract_1 = require_message_type_contract();
-    Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() {
-      return message_type_contract_1.MESSAGE_TYPE;
-    } });
-    var message_type_1 = require_message_type();
-    Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() {
-      return message_type_1.MessageType;
-    } });
-    var reflection_info_1 = require_reflection_info();
-    Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() {
-      return reflection_info_1.ScalarType;
-    } });
-    Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() {
-      return reflection_info_1.LongType;
-    } });
-    Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() {
-      return reflection_info_1.RepeatType;
-    } });
-    Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() {
-      return reflection_info_1.normalizeFieldInfo;
-    } });
-    Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() {
-      return reflection_info_1.readFieldOptions;
-    } });
-    Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() {
-      return reflection_info_1.readFieldOption;
-    } });
-    Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() {
-      return reflection_info_1.readMessageOption;
-    } });
-    var reflection_type_check_1 = require_reflection_type_check();
-    Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() {
-      return reflection_type_check_1.ReflectionTypeCheck;
-    } });
-    var reflection_create_1 = require_reflection_create();
-    Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() {
-      return reflection_create_1.reflectionCreate;
-    } });
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() {
-      return reflection_scalar_default_1.reflectionScalarDefault;
-    } });
-    var reflection_merge_partial_1 = require_reflection_merge_partial();
-    Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() {
-      return reflection_merge_partial_1.reflectionMergePartial;
-    } });
-    var reflection_equals_1 = require_reflection_equals();
-    Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() {
-      return reflection_equals_1.reflectionEquals;
-    } });
-    var reflection_binary_reader_1 = require_reflection_binary_reader();
-    Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() {
-      return reflection_binary_reader_1.ReflectionBinaryReader;
-    } });
-    var reflection_binary_writer_1 = require_reflection_binary_writer();
-    Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() {
-      return reflection_binary_writer_1.ReflectionBinaryWriter;
-    } });
-    var reflection_json_reader_1 = require_reflection_json_reader();
-    Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() {
-      return reflection_json_reader_1.ReflectionJsonReader;
-    } });
-    var reflection_json_writer_1 = require_reflection_json_writer();
-    Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() {
-      return reflection_json_writer_1.ReflectionJsonWriter;
-    } });
-    var reflection_contains_message_type_1 = require_reflection_contains_message_type();
-    Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() {
-      return reflection_contains_message_type_1.containsMessageType;
-    } });
-    var oneof_1 = require_oneof();
-    Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() {
-      return oneof_1.isOneofGroup;
-    } });
-    Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() {
-      return oneof_1.setOneofValue;
-    } });
-    Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() {
-      return oneof_1.getOneofValue;
-    } });
-    Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() {
-      return oneof_1.clearOneofValue;
-    } });
-    Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() {
-      return oneof_1.getSelectedOneofValue;
-    } });
-    var enum_object_1 = require_enum_object();
-    Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() {
-      return enum_object_1.listEnumValues;
-    } });
-    Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() {
-      return enum_object_1.listEnumNames;
-    } });
-    Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() {
-      return enum_object_1.listEnumNumbers;
-    } });
-    Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() {
-      return enum_object_1.isEnumObject;
-    } });
-    var lower_camel_case_1 = require_lower_camel_case();
-    Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() {
-      return lower_camel_case_1.lowerCamelCase;
-    } });
-    var assert_1 = require_assert();
-    Object.defineProperty(exports2, "assert", { enumerable: true, get: function() {
-      return assert_1.assert;
-    } });
-    Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() {
-      return assert_1.assertNever;
-    } });
-    Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() {
-      return assert_1.assertInt32;
-    } });
-    Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() {
-      return assert_1.assertUInt32;
-    } });
-    Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() {
-      return assert_1.assertFloat32;
-    } });
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js
-var require_reflection_info2 = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0;
-    var runtime_1 = require_commonjs16();
-    function normalizeMethodInfo(method, service) {
-      var _a, _b, _c;
-      let m = method;
-      m.service = service;
-      m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name);
-      m.serverStreaming = !!m.serverStreaming;
-      m.clientStreaming = !!m.clientStreaming;
-      m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {};
-      m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0;
-      return m;
     }
-    exports2.normalizeMethodInfo = normalizeMethodInfo;
-    function readMethodOptions(service, methodName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
-      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    function finishMaybe(stream2, state, sync) {
+      if (needFinish(state)) {
+        prefinish(stream2, state);
+        if (state.pendingcb === 0) {
+          if (sync) {
+            state.pendingcb++;
+            process2.nextTick(
+              (stream3, state2) => {
+                if (needFinish(state2)) {
+                  finish(stream3, state2);
+                } else {
+                  state2.pendingcb--;
+                }
+              },
+              stream2,
+              state
+            );
+          } else if (needFinish(state)) {
+            state.pendingcb++;
+            finish(stream2, state);
+          }
+        }
+      }
     }
-    exports2.readMethodOptions = readMethodOptions;
-    function readMethodOption(service, methodName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
-      if (!options) {
-        return void 0;
+    function finish(stream2, state) {
+      state.pendingcb--;
+      state.finished = true;
+      const onfinishCallbacks = state[kOnFinished].splice(0);
+      for (let i = 0; i < onfinishCallbacks.length; i++) {
+        onfinishCallbacks[i]();
       }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+      stream2.emit("finish");
+      if (state.autoDestroy) {
+        const rState = stream2._readableState;
+        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
+        // if readable is explicitly set to false.
+        (rState.endEmitted || rState.readable === false);
+        if (autoDestroy) {
+          stream2.destroy();
+        }
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
     }
-    exports2.readMethodOption = readMethodOption;
-    function readServiceOption(service, extensionName, extensionType) {
-      const options = service.options;
-      if (!options) {
-        return void 0;
+    ObjectDefineProperties(Writable.prototype, {
+      closed: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.closed : false;
+        }
+      },
+      destroyed: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.destroyed : false;
+        },
+        set(value) {
+          if (this._writableState) {
+            this._writableState.destroyed = value;
+          }
+        }
+      },
+      writable: {
+        __proto__: null,
+        get() {
+          const w = this._writableState;
+          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
+        },
+        set(val) {
+          if (this._writableState) {
+            this._writableState.writable = !!val;
+          }
+        }
+      },
+      writableFinished: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.finished : false;
+        }
+      },
+      writableObjectMode: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.objectMode : false;
+        }
+      },
+      writableBuffer: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.getBuffer();
+        }
+      },
+      writableEnded: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.ending : false;
+        }
+      },
+      writableNeedDrain: {
+        __proto__: null,
+        get() {
+          const wState = this._writableState;
+          if (!wState) return false;
+          return !wState.destroyed && !wState.ending && wState.needDrain;
+        }
+      },
+      writableHighWaterMark: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.highWaterMark;
+        }
+      },
+      writableCorked: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.corked : 0;
+        }
+      },
+      writableLength: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.length;
+        }
+      },
+      errored: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._writableState ? this._writableState.errored : null;
+        }
+      },
+      writableAborted: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
+        }
       }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+    });
+    var destroy = destroyImpl.destroy;
+    Writable.prototype.destroy = function(err, cb) {
+      const state = this._writableState;
+      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
+        process2.nextTick(errorBuffer, state);
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+      destroy.call(this, err, cb);
+      return this;
+    };
+    Writable.prototype._undestroy = destroyImpl.undestroy;
+    Writable.prototype._destroy = function(err, cb) {
+      cb(err);
+    };
+    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
+      this.destroy(err);
+    };
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
     }
-    exports2.readServiceOption = readServiceOption;
+    Writable.fromWeb = function(writableStream, options) {
+      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
+    };
+    Writable.toWeb = function(streamWritable) {
+      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js
-var require_service_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceType = void 0;
-    var reflection_info_1 = require_reflection_info2();
-    var ServiceType = class {
-      constructor(typeName, methods, options) {
-        this.typeName = typeName;
-        this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this));
-        this.options = options !== null && options !== void 0 ? options : {};
+// node_modules/readable-stream/lib/internal/streams/duplexify.js
+var require_duplexify = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
+    var process2 = require_process();
+    var bufferModule = require("buffer");
+    var {
+      isReadable,
+      isWritable,
+      isIterable,
+      isNodeStream,
+      isReadableNodeStream,
+      isWritableNodeStream,
+      isDuplexNodeStream,
+      isReadableStream,
+      isWritableStream
+    } = require_utils8();
+    var eos = require_end_of_stream();
+    var {
+      AbortError,
+      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
+    } = require_errors5();
+    var { destroyer } = require_destroy2();
+    var Duplex = require_duplex();
+    var Readable2 = require_readable4();
+    var Writable = require_writable();
+    var { createDeferredPromise } = require_util21();
+    var from = require_from();
+    var Blob2 = globalThis.Blob || bufferModule.Blob;
+    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
+      return b instanceof Blob2;
+    } : function isBlob2(b) {
+      return false;
+    };
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var { FunctionPrototypeCall } = require_primordials();
+    var Duplexify = class extends Duplex {
+      constructor(options) {
+        super(options);
+        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
+          this._readableState.readable = false;
+          this._readableState.ended = true;
+          this._readableState.endEmitted = true;
+        }
+        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
+          this._writableState.writable = false;
+          this._writableState.ending = true;
+          this._writableState.ended = true;
+          this._writableState.finished = true;
+        }
       }
     };
-    exports2.ServiceType = ServiceType;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js
-var require_rpc_error = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RpcError = void 0;
-    var RpcError = class extends Error {
-      constructor(message, code = "UNKNOWN", meta) {
-        super(message);
-        this.name = "RpcError";
-        Object.setPrototypeOf(this, new.target.prototype);
-        this.code = code;
-        this.meta = meta !== null && meta !== void 0 ? meta : {};
+    module2.exports = function duplexify(body, name) {
+      if (isDuplexNodeStream(body)) {
+        return body;
+      }
+      if (isReadableNodeStream(body)) {
+        return _duplexify({
+          readable: body
+        });
+      }
+      if (isWritableNodeStream(body)) {
+        return _duplexify({
+          writable: body
+        });
+      }
+      if (isNodeStream(body)) {
+        return _duplexify({
+          writable: false,
+          readable: false
+        });
+      }
+      if (isReadableStream(body)) {
+        return _duplexify({
+          readable: Readable2.fromWeb(body)
+        });
+      }
+      if (isWritableStream(body)) {
+        return _duplexify({
+          writable: Writable.fromWeb(body)
+        });
+      }
+      if (typeof body === "function") {
+        const { value, write, final, destroy } = fromAsyncGen(body);
+        if (isIterable(value)) {
+          return from(Duplexify, value, {
+            // TODO (ronag): highWaterMark?
+            objectMode: true,
+            write,
+            final,
+            destroy
+          });
+        }
+        const then2 = value === null || value === void 0 ? void 0 : value.then;
+        if (typeof then2 === "function") {
+          let d;
+          const promise = FunctionPrototypeCall(
+            then2,
+            value,
+            (val) => {
+              if (val != null) {
+                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
+              }
+            },
+            (err) => {
+              destroyer(d, err);
+            }
+          );
+          return d = new Duplexify({
+            // TODO (ronag): highWaterMark?
+            objectMode: true,
+            readable: false,
+            write,
+            final(cb) {
+              final(async () => {
+                try {
+                  await promise;
+                  process2.nextTick(cb, null);
+                } catch (err) {
+                  process2.nextTick(cb, err);
+                }
+              });
+            },
+            destroy
+          });
+        }
+        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
+      }
+      if (isBlob(body)) {
+        return duplexify(body.arrayBuffer());
+      }
+      if (isIterable(body)) {
+        return from(Duplexify, body, {
+          // TODO (ronag): highWaterMark?
+          objectMode: true,
+          writable: false
+        });
+      }
+      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
+        return Duplexify.fromWeb(body);
+      }
+      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
+        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
+        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
+        return _duplexify({
+          readable,
+          writable
+        });
+      }
+      const then = body === null || body === void 0 ? void 0 : body.then;
+      if (typeof then === "function") {
+        let d;
+        FunctionPrototypeCall(
+          then,
+          body,
+          (val) => {
+            if (val != null) {
+              d.push(val);
+            }
+            d.push(null);
+          },
+          (err) => {
+            destroyer(d, err);
+          }
+        );
+        return d = new Duplexify({
+          objectMode: true,
+          writable: false,
+          read() {
+          }
+        });
+      }
+      throw new ERR_INVALID_ARG_TYPE2(
+        name,
+        [
+          "Blob",
+          "ReadableStream",
+          "WritableStream",
+          "Stream",
+          "Iterable",
+          "AsyncIterable",
+          "Function",
+          "{ readable, writable } pair",
+          "Promise"
+        ],
+        body
+      );
+    };
+    function fromAsyncGen(fn) {
+      let { promise, resolve: resolve8 } = createDeferredPromise();
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      const value = fn(
+        (async function* () {
+          while (true) {
+            const _promise = promise;
+            promise = null;
+            const { chunk, done, cb } = await _promise;
+            process2.nextTick(cb);
+            if (done) return;
+            if (signal.aborted)
+              throw new AbortError(void 0, {
+                cause: signal.reason
+              });
+            ({ promise, resolve: resolve8 } = createDeferredPromise());
+            yield chunk;
+          }
+        })(),
+        {
+          signal
+        }
+      );
+      return {
+        value,
+        write(chunk, encoding, cb) {
+          const _resolve = resolve8;
+          resolve8 = null;
+          _resolve({
+            chunk,
+            done: false,
+            cb
+          });
+        },
+        final(cb) {
+          const _resolve = resolve8;
+          resolve8 = null;
+          _resolve({
+            done: true,
+            cb
+          });
+        },
+        destroy(err, cb) {
+          ac.abort();
+          cb(err);
+        }
+      };
+    }
+    function _duplexify(pair) {
+      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable2.wrap(pair.readable) : pair.readable;
+      const w = pair.writable;
+      let readable = !!isReadable(r);
+      let writable = !!isWritable(w);
+      let ondrain;
+      let onfinish;
+      let onreadable;
+      let onclose;
+      let d;
+      function onfinished(err) {
+        const cb = onclose;
+        onclose = null;
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          d.destroy(err);
+        }
+      }
+      d = new Duplexify({
+        // TODO (ronag): highWaterMark?
+        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
+        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
+        readable,
+        writable
+      });
+      if (writable) {
+        eos(w, (err) => {
+          writable = false;
+          if (err) {
+            destroyer(r, err);
+          }
+          onfinished(err);
+        });
+        d._write = function(chunk, encoding, callback) {
+          if (w.write(chunk, encoding)) {
+            callback();
+          } else {
+            ondrain = callback;
+          }
+        };
+        d._final = function(callback) {
+          w.end();
+          onfinish = callback;
+        };
+        w.on("drain", function() {
+          if (ondrain) {
+            const cb = ondrain;
+            ondrain = null;
+            cb();
+          }
+        });
+        w.on("finish", function() {
+          if (onfinish) {
+            const cb = onfinish;
+            onfinish = null;
+            cb();
+          }
+        });
+      }
+      if (readable) {
+        eos(r, (err) => {
+          readable = false;
+          if (err) {
+            destroyer(r, err);
+          }
+          onfinished(err);
+        });
+        r.on("readable", function() {
+          if (onreadable) {
+            const cb = onreadable;
+            onreadable = null;
+            cb();
+          }
+        });
+        r.on("end", function() {
+          d.push(null);
+        });
+        d._read = function() {
+          while (true) {
+            const buf = r.read();
+            if (buf === null) {
+              onreadable = d._read;
+              return;
+            }
+            if (!d.push(buf)) {
+              return;
+            }
+          }
+        };
       }
-      toString() {
-        const l = [this.name + ": " + this.message];
-        if (this.code) {
-          l.push("");
-          l.push("Code: " + this.code);
-        }
-        if (this.serviceName && this.methodName) {
-          l.push("Method: " + this.serviceName + "/" + this.methodName);
+      d._destroy = function(err, callback) {
+        if (!err && onclose !== null) {
+          err = new AbortError();
         }
-        let m = Object.entries(this.meta);
-        if (m.length) {
-          l.push("");
-          l.push("Meta:");
-          for (let [k, v] of m) {
-            l.push(`  ${k}: ${v}`);
-          }
+        onreadable = null;
+        ondrain = null;
+        onfinish = null;
+        if (onclose === null) {
+          callback(err);
+        } else {
+          onclose = callback;
+          destroyer(w, err);
+          destroyer(r, err);
         }
-        return l.join("\n");
-      }
-    };
-    exports2.RpcError = RpcError;
+      };
+      return d;
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js
-var require_rpc_options = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/duplex.js
+var require_duplex = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.mergeRpcOptions = void 0;
-    var runtime_1 = require_commonjs16();
-    function mergeRpcOptions(defaults, options) {
-      if (!options)
-        return defaults;
-      let o = {};
-      copy(defaults, o);
-      copy(options, o);
-      for (let key of Object.keys(options)) {
-        let val = options[key];
-        switch (key) {
-          case "jsonOptions":
-            o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions);
-            break;
-          case "binaryOptions":
-            o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions);
-            break;
-          case "meta":
-            o.meta = {};
-            copy(defaults.meta, o.meta);
-            copy(options.meta, o.meta);
-            break;
-          case "interceptors":
-            o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat();
-            break;
-        }
+    var {
+      ObjectDefineProperties,
+      ObjectGetOwnPropertyDescriptor,
+      ObjectKeys,
+      ObjectSetPrototypeOf
+    } = require_primordials();
+    module2.exports = Duplex;
+    var Readable2 = require_readable4();
+    var Writable = require_writable();
+    ObjectSetPrototypeOf(Duplex.prototype, Readable2.prototype);
+    ObjectSetPrototypeOf(Duplex, Readable2);
+    {
+      const keys = ObjectKeys(Writable.prototype);
+      for (let i = 0; i < keys.length; i++) {
+        const method = keys[i];
+        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
       }
-      return o;
     }
-    exports2.mergeRpcOptions = mergeRpcOptions;
-    function copy(a, into) {
-      if (!a)
-        return;
-      let c = into;
-      for (let [k, v] of Object.entries(a)) {
-        if (v instanceof Date)
-          c[k] = new Date(v.getTime());
-        else if (Array.isArray(v))
-          c[k] = v.concat();
-        else
-          c[k] = v;
+    function Duplex(options) {
+      if (!(this instanceof Duplex)) return new Duplex(options);
+      Readable2.call(this, options);
+      Writable.call(this, options);
+      if (options) {
+        this.allowHalfOpen = options.allowHalfOpen !== false;
+        if (options.readable === false) {
+          this._readableState.readable = false;
+          this._readableState.ended = true;
+          this._readableState.endEmitted = true;
+        }
+        if (options.writable === false) {
+          this._writableState.writable = false;
+          this._writableState.ending = true;
+          this._writableState.ended = true;
+          this._writableState.finished = true;
+        }
+      } else {
+        this.allowHalfOpen = true;
       }
     }
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js
-var require_deferred = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Deferred = exports2.DeferredState = void 0;
-    var DeferredState;
-    (function(DeferredState2) {
-      DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING";
-      DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED";
-      DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED";
-    })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {}));
-    var Deferred = class {
-      /**
-       * @param preventUnhandledRejectionWarning - prevents the warning
-       * "Unhandled Promise rejection" by adding a noop rejection handler.
-       * Working with calls returned from the runtime-rpc package in an
-       * async function usually means awaiting one call property after
-       * the other. This means that the "status" is not being awaited when
-       * an earlier await for the "headers" is rejected. This causes the
-       * "unhandled promise reject" warning. A more correct behaviour for
-       * calls might be to become aware whether at least one of the
-       * promises is handled and swallow the rejection warning for the
-       * others.
-       */
-      constructor(preventUnhandledRejectionWarning = true) {
-        this._state = DeferredState.PENDING;
-        this._promise = new Promise((resolve8, reject) => {
-          this._resolve = resolve8;
-          this._reject = reject;
-        });
-        if (preventUnhandledRejectionWarning) {
-          this._promise.catch((_2) => {
-          });
+    ObjectDefineProperties(Duplex.prototype, {
+      writable: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
+      },
+      writableHighWaterMark: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
+      },
+      writableObjectMode: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
+      },
+      writableBuffer: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
+      },
+      writableLength: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
+      },
+      writableFinished: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
+      },
+      writableCorked: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
+      },
+      writableEnded: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
+      },
+      writableNeedDrain: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
+      },
+      destroyed: {
+        __proto__: null,
+        get() {
+          if (this._readableState === void 0 || this._writableState === void 0) {
+            return false;
+          }
+          return this._readableState.destroyed && this._writableState.destroyed;
+        },
+        set(value) {
+          if (this._readableState && this._writableState) {
+            this._readableState.destroyed = value;
+            this._writableState.destroyed = value;
+          }
         }
       }
-      /**
-       * Get the current state of the promise.
-       */
-      get state() {
-        return this._state;
-      }
-      /**
-       * Get the deferred promise.
-       */
-      get promise() {
-        return this._promise;
-      }
-      /**
-       * Resolve the promise. Throws if the promise is already resolved or rejected.
-       */
-      resolve(value) {
-        if (this.state !== DeferredState.PENDING)
-          throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`);
-        this._resolve(value);
-        this._state = DeferredState.RESOLVED;
-      }
-      /**
-       * Reject the promise. Throws if the promise is already resolved or rejected.
-       */
-      reject(reason) {
-        if (this.state !== DeferredState.PENDING)
-          throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`);
-        this._reject(reason);
-        this._state = DeferredState.REJECTED;
-      }
-      /**
-       * Resolve the promise. Ignore if not pending.
-       */
-      resolvePending(val) {
-        if (this._state === DeferredState.PENDING)
-          this.resolve(val);
-      }
-      /**
-       * Reject the promise. Ignore if not pending.
-       */
-      rejectPending(reason) {
-        if (this._state === DeferredState.PENDING)
-          this.reject(reason);
+    });
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Duplex.fromWeb = function(pair, options) {
+      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
+    };
+    Duplex.toWeb = function(duplex) {
+      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
+    };
+    var duplexify;
+    Duplex.from = function(body) {
+      if (!duplexify) {
+        duplexify = require_duplexify();
       }
+      return duplexify(body, "body");
     };
-    exports2.Deferred = Deferred;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js
-var require_rpc_output_stream = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/transform.js
+var require_transform = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RpcOutputStreamController = void 0;
-    var deferred_1 = require_deferred();
-    var runtime_1 = require_commonjs16();
-    var RpcOutputStreamController = class {
-      constructor() {
-        this._lis = {
-          nxt: [],
-          msg: [],
-          err: [],
-          cmp: []
-        };
-        this._closed = false;
-        this._itState = { q: [] };
-      }
-      // --- RpcOutputStream callback API
-      onNext(callback) {
-        return this.addLis(callback, this._lis.nxt);
-      }
-      onMessage(callback) {
-        return this.addLis(callback, this._lis.msg);
-      }
-      onError(callback) {
-        return this.addLis(callback, this._lis.err);
-      }
-      onComplete(callback) {
-        return this.addLis(callback, this._lis.cmp);
-      }
-      addLis(callback, list) {
-        list.push(callback);
-        return () => {
-          let i = list.indexOf(callback);
-          if (i >= 0)
-            list.splice(i, 1);
+    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
+    module2.exports = Transform;
+    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors5().codes;
+    var Duplex = require_duplex();
+    var { getHighWaterMark } = require_state3();
+    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
+    ObjectSetPrototypeOf(Transform, Duplex);
+    var kCallback = Symbol2("kCallback");
+    function Transform(options) {
+      if (!(this instanceof Transform)) return new Transform(options);
+      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
+      if (readableHighWaterMark === 0) {
+        options = {
+          ...options,
+          highWaterMark: null,
+          readableHighWaterMark,
+          // TODO (ronag): 0 is not optimal since we have
+          // a "bug" where we check needDrain before calling _write and not after.
+          // Refs: https://github.com/nodejs/node/pull/32887
+          // Refs: https://github.com/nodejs/node/pull/35941
+          writableHighWaterMark: options.writableHighWaterMark || 0
         };
       }
-      // remove all listeners
-      clearLis() {
-        for (let l of Object.values(this._lis))
-          l.splice(0, l.length);
-      }
-      // --- Controller API
-      /**
-       * Is this stream already closed by a completion or error?
-       */
-      get closed() {
-        return this._closed !== false;
-      }
-      /**
-       * Emit message, close with error, or close successfully, but only one
-       * at a time.
-       * Can be used to wrap a stream by using the other stream's `onNext`.
-       */
-      notifyNext(message, error3, complete) {
-        runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time");
-        if (message)
-          this.notifyMessage(message);
-        if (error3)
-          this.notifyError(error3);
-        if (complete)
-          this.notifyComplete();
-      }
-      /**
-       * Emits a new message. Throws if stream is closed.
-       *
-       * Triggers onNext and onMessage callbacks.
-       */
-      notifyMessage(message) {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this.pushIt({ value: message, done: false });
-        this._lis.msg.forEach((l) => l(message));
-        this._lis.nxt.forEach((l) => l(message, void 0, false));
-      }
-      /**
-       * Closes the stream with an error. Throws if stream is closed.
-       *
-       * Triggers onNext and onError callbacks.
-       */
-      notifyError(error3) {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this._closed = error3;
-        this.pushIt(error3);
-        this._lis.err.forEach((l) => l(error3));
-        this._lis.nxt.forEach((l) => l(void 0, error3, false));
-        this.clearLis();
-      }
-      /**
-       * Closes the stream successfully. Throws if stream is closed.
-       *
-       * Triggers onNext and onComplete callbacks.
-       */
-      notifyComplete() {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this._closed = true;
-        this.pushIt({ value: null, done: true });
-        this._lis.cmp.forEach((l) => l());
-        this._lis.nxt.forEach((l) => l(void 0, void 0, true));
-        this.clearLis();
+      Duplex.call(this, options);
+      this._readableState.sync = false;
+      this[kCallback] = null;
+      if (options) {
+        if (typeof options.transform === "function") this._transform = options.transform;
+        if (typeof options.flush === "function") this._flush = options.flush;
       }
-      /**
-       * Creates an async iterator (that can be used with `for await {...}`)
-       * to consume the stream.
-       *
-       * Some things to note:
-       * - If an error occurs, the `for await` will throw it.
-       * - If an error occurred before the `for await` was started, `for await`
-       *   will re-throw it.
-       * - If the stream is already complete, the `for await` will be empty.
-       * - If your `for await` consumes slower than the stream produces,
-       *   for example because you are relaying messages in a slow operation,
-       *   messages are queued.
-       */
-      [Symbol.asyncIterator]() {
-        if (this._closed === true)
-          this.pushIt({ value: null, done: true });
-        else if (this._closed !== false)
-          this.pushIt(this._closed);
-        return {
-          next: () => {
-            let state = this._itState;
-            runtime_1.assert(state, "bad state");
-            runtime_1.assert(!state.p, "iterator contract broken");
-            let first = state.q.shift();
-            if (first)
-              return "value" in first ? Promise.resolve(first) : Promise.reject(first);
-            state.p = new deferred_1.Deferred();
-            return state.p.promise;
+      this.on("prefinish", prefinish);
+    }
+    function final(cb) {
+      if (typeof this._flush === "function" && !this.destroyed) {
+        this._flush((er, data) => {
+          if (er) {
+            if (cb) {
+              cb(er);
+            } else {
+              this.destroy(er);
+            }
+            return;
           }
-        };
-      }
-      // "push" a new iterator result.
-      // this either resolves a pending promise, or enqueues the result.
-      pushIt(result) {
-        let state = this._itState;
-        if (state.p) {
-          const p = state.p;
-          runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken");
-          "value" in result ? p.resolve(result) : p.reject(result);
-          delete state.p;
-        } else {
-          state.q.push(result);
+          if (data != null) {
+            this.push(data);
+          }
+          this.push(null);
+          if (cb) {
+            cb();
+          }
+        });
+      } else {
+        this.push(null);
+        if (cb) {
+          cb();
         }
       }
-    };
-    exports2.RpcOutputStreamController = RpcOutputStreamController;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js
-var require_unary_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    }
+    function prefinish() {
+      if (this._final !== final) {
+        final.call(this);
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+    }
+    Transform.prototype._final = final;
+    Transform.prototype._transform = function(chunk, encoding, callback) {
+      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
+    };
+    Transform.prototype._write = function(chunk, encoding, callback) {
+      const rState = this._readableState;
+      const wState = this._writableState;
+      const length = rState.length;
+      this._transform(chunk, encoding, (err, val) => {
+        if (err) {
+          callback(err);
+          return;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (val != null) {
+          this.push(val);
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (wState.ended || // Backwards compat.
+        length === rState.length || // Backwards compat.
+        rState.length < rState.highWaterMark) {
+          callback();
+        } else {
+          this[kCallback] = callback;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UnaryCall = void 0;
-    var UnaryCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.request = request2;
-        this.headers = headers;
-        this.response = response;
-        this.status = status;
-        this.trailers = trailers;
-      }
-      /**
-       * If you are only interested in the final outcome of this call,
-       * you can await it to receive a `FinishedUnaryCall`.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
-      }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            request: this.request,
-            headers,
-            response,
-            status,
-            trailers
-          };
-        });
+    Transform.prototype._read = function() {
+      if (this[kCallback]) {
+        const callback = this[kCallback];
+        this[kCallback] = null;
+        callback();
       }
     };
-    exports2.UnaryCall = UnaryCall;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js
-var require_server_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/passthrough.js
+var require_passthrough2 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    var { ObjectSetPrototypeOf } = require_primordials();
+    module2.exports = PassThrough;
+    var Transform = require_transform();
+    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
+    ObjectSetPrototypeOf(PassThrough, Transform);
+    function PassThrough(options) {
+      if (!(this instanceof PassThrough)) return new PassThrough(options);
+      Transform.call(this, options);
+    }
+    PassThrough.prototype._transform = function(chunk, encoding, cb) {
+      cb(null, chunk);
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/pipeline.js
+var require_pipeline4 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
+    var process2 = require_process();
+    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
+    var eos = require_end_of_stream();
+    var { once } = require_util21();
+    var destroyImpl = require_destroy2();
+    var Duplex = require_duplex();
+    var {
+      aggregateTwoErrors,
+      codes: {
+        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+        ERR_INVALID_RETURN_VALUE,
+        ERR_MISSING_ARGS,
+        ERR_STREAM_DESTROYED,
+        ERR_STREAM_PREMATURE_CLOSE
+      },
+      AbortError
+    } = require_errors5();
+    var { validateFunction, validateAbortSignal } = require_validators();
+    var {
+      isIterable,
+      isReadable,
+      isReadableNodeStream,
+      isNodeStream,
+      isTransformStream,
+      isWebStream,
+      isReadableStream,
+      isReadableFinished
+    } = require_utils8();
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var PassThrough;
+    var Readable2;
+    var addAbortListener;
+    function destroyer(stream2, reading, writing) {
+      let finished = false;
+      stream2.on("close", () => {
+        finished = true;
+      });
+      const cleanup = eos(
+        stream2,
+        {
+          readable: reading,
+          writable: writing
+        },
+        (err) => {
+          finished = !err;
+        }
+      );
+      return {
+        destroy: (err) => {
+          if (finished) return;
+          finished = true;
+          destroyImpl.destroyer(stream2, err || new ERR_STREAM_DESTROYED("pipe"));
+        },
+        cleanup
+      };
+    }
+    function popCallback(streams) {
+      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
+      return streams.pop();
+    }
+    function makeAsyncIterable(val) {
+      if (isIterable(val)) {
+        return val;
+      } else if (isReadableNodeStream(val)) {
+        return fromReadable(val);
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
+    }
+    async function* fromReadable(val) {
+      if (!Readable2) {
+        Readable2 = require_readable4();
+      }
+      yield* Readable2.prototype[SymbolAsyncIterator].call(val);
+    }
+    async function pumpToNode(iterable, writable, finish, { end }) {
+      let error3;
+      let onresolve = null;
+      const resume = (err) => {
+        if (err) {
+          error3 = err;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (onresolve) {
+          const callback = onresolve;
+          onresolve = null;
+          callback();
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+      };
+      const wait = () => new Promise2((resolve8, reject) => {
+        if (error3) {
+          reject(error3);
+        } else {
+          onresolve = () => {
+            if (error3) {
+              reject(error3);
+            } else {
+              resolve8();
+            }
+          };
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServerStreamingCall = void 0;
-    var ServerStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.request = request2;
-        this.headers = headers;
-        this.responses = response;
-        this.status = status;
-        this.trailers = trailers;
-      }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * You should first setup some listeners to the `request` to
-       * see the actual messages the server replied with.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
-      }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            request: this.request,
-            headers,
-            status,
-            trailers
-          };
-        });
+      writable.on("drain", resume);
+      const cleanup = eos(
+        writable,
+        {
+          readable: false
+        },
+        resume
+      );
+      try {
+        if (writable.writableNeedDrain) {
+          await wait();
+        }
+        for await (const chunk of iterable) {
+          if (!writable.write(chunk)) {
+            await wait();
+          }
+        }
+        if (end) {
+          writable.end();
+          await wait();
+        }
+        finish();
+      } catch (err) {
+        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
+      } finally {
+        cleanup();
+        writable.off("drain", resume);
       }
-    };
-    exports2.ServerStreamingCall = ServerStreamingCall;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js
-var require_client_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    }
+    async function pumpToWeb(readable, writable, finish, { end }) {
+      if (isTransformStream(writable)) {
+        writable = writable.writable;
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      const writer = writable.getWriter();
+      try {
+        for await (const chunk of readable) {
+          await writer.ready;
+          writer.write(chunk).catch(() => {
+          });
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        await writer.ready;
+        if (end) {
+          await writer.close();
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        finish();
+      } catch (err) {
+        try {
+          await writer.abort(err);
+          finish(err);
+        } catch (err2) {
+          finish(err2);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ClientStreamingCall = void 0;
-    var ClientStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.requests = request2;
-        this.headers = headers;
-        this.response = response;
-        this.status = status;
-        this.trailers = trailers;
       }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * Note that it may still be valid to send more request messages.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+    }
+    function pipeline(...streams) {
+      return pipelineImpl(streams, once(popCallback(streams)));
+    }
+    function pipelineImpl(streams, callback, opts) {
+      if (streams.length === 1 && ArrayIsArray(streams[0])) {
+        streams = streams[0];
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            headers,
-            response,
-            status,
-            trailers
-          };
-        });
+      if (streams.length < 2) {
+        throw new ERR_MISSING_ARGS("streams");
       }
-    };
-    exports2.ClientStreamingCall = ClientStreamingCall;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js
-var require_duplex_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
+      const lastStreamCleanup = [];
+      validateAbortSignal(outerSignal, "options.signal");
+      function abort() {
+        finishImpl(new AbortError());
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      addAbortListener = addAbortListener || require_util21().addAbortListener;
+      let disposable;
+      if (outerSignal) {
+        disposable = addAbortListener(outerSignal, abort);
+      }
+      let error3;
+      let value;
+      const destroys = [];
+      let finishCount = 0;
+      function finish(err) {
+        finishImpl(err, --finishCount === 0);
+      }
+      function finishImpl(err, final) {
+        var _disposable;
+        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
+          error3 = err;
+        }
+        if (!error3 && !final) {
+          return;
+        }
+        while (destroys.length) {
+          destroys.shift()(error3);
+        }
+        ;
+        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
+        ac.abort();
+        if (final) {
+          if (!error3) {
+            lastStreamCleanup.forEach((fn) => fn());
+          }
+          process2.nextTick(callback, error3, value);
+        }
+      }
+      let ret;
+      for (let i = 0; i < streams.length; i++) {
+        const stream2 = streams[i];
+        const reading = i < streams.length - 1;
+        const writing = i > 0;
+        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
+        const isLastStream = i === streams.length - 1;
+        if (isNodeStream(stream2)) {
+          let onError2 = function(err) {
+            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
+              finish(err);
+            }
+          };
+          var onError = onError2;
+          if (end) {
+            const { destroy, cleanup } = destroyer(stream2, reading, writing);
+            destroys.push(destroy);
+            if (isReadable(stream2) && isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
+          }
+          stream2.on("error", onError2);
+          if (isReadable(stream2) && isLastStream) {
+            lastStreamCleanup.push(() => {
+              stream2.removeListener("error", onError2);
+            });
+          }
+        }
+        if (i === 0) {
+          if (typeof stream2 === "function") {
+            ret = stream2({
+              signal
+            });
+            if (!isIterable(ret)) {
+              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
+            }
+          } else if (isIterable(stream2) || isReadableNodeStream(stream2) || isTransformStream(stream2)) {
+            ret = stream2;
+          } else {
+            ret = Duplex.from(stream2);
+          }
+        } else if (typeof stream2 === "function") {
+          if (isTransformStream(ret)) {
+            var _ret;
+            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
+          } else {
+            ret = makeAsyncIterable(ret);
+          }
+          ret = stream2(ret, {
+            signal
+          });
+          if (reading) {
+            if (!isIterable(ret, true)) {
+              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
+            }
+          } else {
+            var _ret2;
+            if (!PassThrough) {
+              PassThrough = require_passthrough2();
+            }
+            const pt = new PassThrough({
+              objectMode: true
+            });
+            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
+            if (typeof then === "function") {
+              finishCount++;
+              then.call(
+                ret,
+                (val) => {
+                  value = val;
+                  if (val != null) {
+                    pt.write(val);
+                  }
+                  if (end) {
+                    pt.end();
+                  }
+                  process2.nextTick(finish);
+                },
+                (err) => {
+                  pt.destroy(err);
+                  process2.nextTick(finish, err);
+                }
+              );
+            } else if (isIterable(ret, true)) {
+              finishCount++;
+              pumpToNode(ret, pt, finish, {
+                end
+              });
+            } else if (isReadableStream(ret) || isTransformStream(ret)) {
+              const toRead = ret.readable || ret;
+              finishCount++;
+              pumpToNode(toRead, pt, finish, {
+                end
+              });
+            } else {
+              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
+            }
+            ret = pt;
+            const { destroy, cleanup } = destroyer(ret, false, true);
+            destroys.push(destroy);
+            if (isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
+          }
+        } else if (isNodeStream(stream2)) {
+          if (isReadableNodeStream(ret)) {
+            finishCount += 2;
+            const cleanup = pipe(ret, stream2, finish, {
+              end
+            });
+            if (isReadable(stream2) && isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
+          } else if (isTransformStream(ret) || isReadableStream(ret)) {
+            const toRead = ret.readable || ret;
+            finishCount++;
+            pumpToNode(toRead, stream2, finish, {
+              end
+            });
+          } else if (isIterable(ret)) {
+            finishCount++;
+            pumpToNode(ret, stream2, finish, {
+              end
+            });
+          } else {
+            throw new ERR_INVALID_ARG_TYPE2(
+              "val",
+              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
+              ret
+            );
           }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+          ret = stream2;
+        } else if (isWebStream(stream2)) {
+          if (isReadableNodeStream(ret)) {
+            finishCount++;
+            pumpToWeb(makeAsyncIterable(ret), stream2, finish, {
+              end
+            });
+          } else if (isReadableStream(ret) || isIterable(ret)) {
+            finishCount++;
+            pumpToWeb(ret, stream2, finish, {
+              end
+            });
+          } else if (isTransformStream(ret)) {
+            finishCount++;
+            pumpToWeb(ret.readable, stream2, finish, {
+              end
+            });
+          } else {
+            throw new ERR_INVALID_ARG_TYPE2(
+              "val",
+              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
+              ret
+            );
           }
+          ret = stream2;
+        } else {
+          ret = Duplex.from(stream2);
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DuplexStreamingCall = void 0;
-    var DuplexStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.requests = request2;
-        this.headers = headers;
-        this.responses = response;
-        this.status = status;
-        this.trailers = trailers;
       }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * Note that it may still be valid to send more request messages.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
+        process2.nextTick(abort);
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            headers,
-            status,
-            trailers
-          };
-        });
+      return ret;
+    }
+    function pipe(src, dst, finish, { end }) {
+      let ended = false;
+      dst.on("close", () => {
+        if (!ended) {
+          finish(new ERR_STREAM_PREMATURE_CLOSE());
+        }
+      });
+      src.pipe(dst, {
+        end: false
+      });
+      if (end) {
+        let endFn2 = function() {
+          ended = true;
+          dst.end();
+        };
+        var endFn = endFn2;
+        if (isReadableFinished(src)) {
+          process2.nextTick(endFn2);
+        } else {
+          src.once("end", endFn2);
+        }
+      } else {
+        finish();
       }
+      eos(
+        src,
+        {
+          readable: true,
+          writable: false
+        },
+        (err) => {
+          const rState = src._readableState;
+          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
+            src.once("end", finish).once("error", finish);
+          } else {
+            finish(err);
+          }
+        }
+      );
+      return eos(
+        dst,
+        {
+          readable: false,
+          writable: true
+        },
+        finish
+      );
+    }
+    module2.exports = {
+      pipelineImpl,
+      pipeline
     };
-    exports2.DuplexStreamingCall = DuplexStreamingCall;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js
-var require_test_transport = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/compose.js
+var require_compose = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TestTransport = void 0;
-    var rpc_error_1 = require_rpc_error();
-    var runtime_1 = require_commonjs16();
-    var rpc_output_stream_1 = require_rpc_output_stream();
-    var rpc_options_1 = require_rpc_options();
-    var unary_call_1 = require_unary_call();
-    var server_streaming_call_1 = require_server_streaming_call();
-    var client_streaming_call_1 = require_client_streaming_call();
-    var duplex_streaming_call_1 = require_duplex_streaming_call();
-    var TestTransport = class _TestTransport {
-      /**
-       * Initialize with mock data. Omitted fields have default value.
-       */
-      constructor(data) {
-        this.suppressUncaughtRejections = true;
-        this.headerDelay = 10;
-        this.responseDelay = 50;
-        this.betweenResponseDelay = 10;
-        this.afterResponseDelay = 10;
-        this.data = data !== null && data !== void 0 ? data : {};
+    var { pipeline } = require_pipeline4();
+    var Duplex = require_duplex();
+    var { destroyer } = require_destroy2();
+    var {
+      isNodeStream,
+      isReadable,
+      isWritable,
+      isWebStream,
+      isTransformStream,
+      isWritableStream,
+      isReadableStream
+    } = require_utils8();
+    var {
+      AbortError,
+      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
+    } = require_errors5();
+    var eos = require_end_of_stream();
+    module2.exports = function compose(...streams) {
+      if (streams.length === 0) {
+        throw new ERR_MISSING_ARGS("streams");
       }
-      /**
-       * Sent message(s) during the last operation.
-       */
-      get sentMessages() {
-        if (this.lastInput instanceof TestInputStream) {
-          return this.lastInput.sent;
-        } else if (typeof this.lastInput == "object") {
-          return [this.lastInput.single];
-        }
-        return [];
+      if (streams.length === 1) {
+        return Duplex.from(streams[0]);
       }
-      /**
-       * Sending message(s) completed?
-       */
-      get sendComplete() {
-        if (this.lastInput instanceof TestInputStream) {
-          return this.lastInput.completed;
-        } else if (typeof this.lastInput == "object") {
-          return true;
-        }
-        return false;
+      const orgStreams = [...streams];
+      if (typeof streams[0] === "function") {
+        streams[0] = Duplex.from(streams[0]);
       }
-      // Creates a promise for response headers from the mock data.
-      promiseHeaders() {
-        var _a;
-        const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders;
-        return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers);
+      if (typeof streams[streams.length - 1] === "function") {
+        const idx = streams.length - 1;
+        streams[idx] = Duplex.from(streams[idx]);
       }
-      // Creates a promise for a single, valid, message from the mock data.
-      promiseSingleResponse(method) {
-        if (this.data.response instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.response);
+      for (let n = 0; n < streams.length; ++n) {
+        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
+          continue;
         }
-        let r;
-        if (Array.isArray(this.data.response)) {
-          runtime_1.assert(this.data.response.length > 0);
-          r = this.data.response[0];
-        } else if (this.data.response !== void 0) {
-          r = this.data.response;
-        } else {
-          r = method.O.create();
+        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
+          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
+        }
+        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
+          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
         }
-        runtime_1.assert(method.O.is(r));
-        return Promise.resolve(r);
       }
-      /**
-       * Pushes response messages from the mock data to the output stream.
-       * If an error response, status or trailers are mocked, the stream is
-       * closed with the respective error.
-       * Otherwise, stream is completed successfully.
-       *
-       * The returned promise resolves when the stream is closed. It should
-       * not reject. If it does, code is broken.
-       */
-      streamResponses(method, stream2, abort) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const messages = [];
-          if (this.data.response === void 0) {
-            messages.push(method.O.create());
-          } else if (Array.isArray(this.data.response)) {
-            for (let msg of this.data.response) {
-              runtime_1.assert(method.O.is(msg));
-              messages.push(msg);
+      let ondrain;
+      let onfinish;
+      let onreadable;
+      let onclose;
+      let d;
+      function onfinished(err) {
+        const cb = onclose;
+        onclose = null;
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          d.destroy(err);
+        } else if (!readable && !writable) {
+          d.destroy();
+        }
+      }
+      const head = streams[0];
+      const tail = pipeline(streams, onfinished);
+      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
+      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
+      d = new Duplex({
+        // TODO (ronag): highWaterMark?
+        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
+        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
+        writable,
+        readable
+      });
+      if (writable) {
+        if (isNodeStream(head)) {
+          d._write = function(chunk, encoding, callback) {
+            if (head.write(chunk, encoding)) {
+              callback();
+            } else {
+              ondrain = callback;
             }
-          } else if (!(this.data.response instanceof rpc_error_1.RpcError)) {
-            runtime_1.assert(method.O.is(this.data.response));
-            messages.push(this.data.response);
-          }
-          try {
-            yield delay2(this.responseDelay, abort)(void 0);
-          } catch (error3) {
-            stream2.notifyError(error3);
-            return;
-          }
-          if (this.data.response instanceof rpc_error_1.RpcError) {
-            stream2.notifyError(this.data.response);
-            return;
-          }
-          for (let msg of messages) {
-            stream2.notifyMessage(msg);
+          };
+          d._final = function(callback) {
+            head.end();
+            onfinish = callback;
+          };
+          head.on("drain", function() {
+            if (ondrain) {
+              const cb = ondrain;
+              ondrain = null;
+              cb();
+            }
+          });
+        } else if (isWebStream(head)) {
+          const writable2 = isTransformStream(head) ? head.writable : head;
+          const writer = writable2.getWriter();
+          d._write = async function(chunk, encoding, callback) {
             try {
-              yield delay2(this.betweenResponseDelay, abort)(void 0);
-            } catch (error3) {
-              stream2.notifyError(error3);
-              return;
+              await writer.ready;
+              writer.write(chunk).catch(() => {
+              });
+              callback();
+            } catch (err) {
+              callback(err);
             }
+          };
+          d._final = async function(callback) {
+            try {
+              await writer.ready;
+              writer.close().catch(() => {
+              });
+              onfinish = callback;
+            } catch (err) {
+              callback(err);
+            }
+          };
+        }
+        const toRead = isTransformStream(tail) ? tail.readable : tail;
+        eos(toRead, () => {
+          if (onfinish) {
+            const cb = onfinish;
+            onfinish = null;
+            cb();
           }
-          if (this.data.status instanceof rpc_error_1.RpcError) {
-            stream2.notifyError(this.data.status);
-            return;
-          }
-          if (this.data.trailers instanceof rpc_error_1.RpcError) {
-            stream2.notifyError(this.data.trailers);
-            return;
-          }
-          stream2.notifyComplete();
         });
       }
-      // Creates a promise for response status from the mock data.
-      promiseStatus() {
-        var _a;
-        const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus;
-        return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status);
-      }
-      // Creates a promise for response trailers from the mock data.
-      promiseTrailers() {
-        var _a;
-        const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers;
-        return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers);
-      }
-      maybeSuppressUncaught(...promise) {
-        if (this.suppressUncaughtRejections) {
-          for (let p of promise) {
-            p.catch(() => {
-            });
-          }
+      if (readable) {
+        if (isNodeStream(tail)) {
+          tail.on("readable", function() {
+            if (onreadable) {
+              const cb = onreadable;
+              onreadable = null;
+              cb();
+            }
+          });
+          tail.on("end", function() {
+            d.push(null);
+          });
+          d._read = function() {
+            while (true) {
+              const buf = tail.read();
+              if (buf === null) {
+                onreadable = d._read;
+                return;
+              }
+              if (!d.push(buf)) {
+                return;
+              }
+            }
+          };
+        } else if (isWebStream(tail)) {
+          const readable2 = isTransformStream(tail) ? tail.readable : tail;
+          const reader = readable2.getReader();
+          d._read = async function() {
+            while (true) {
+              try {
+                const { value, done } = await reader.read();
+                if (!d.push(value)) {
+                  return;
+                }
+                if (done) {
+                  d.push(null);
+                  return;
+                }
+              } catch {
+                return;
+              }
+            }
+          };
         }
       }
-      mergeOptions(options) {
-        return rpc_options_1.mergeRpcOptions({}, options);
-      }
-      unary(method, input, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
-        }).then(delay2(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
-        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
-        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = { single: input };
-        return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise);
-      }
-      serverStreaming(method, input, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay2(this.responseDelay, options.abort)).catch(() => {
-        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay2(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = { single: input };
-        return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise);
-      }
-      clientStreaming(method, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
-        }).then(delay2(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
-        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
-        }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = new TestInputStream(this.data, options.abort);
-        return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise);
-      }
-      duplex(method, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay2(this.responseDelay, options.abort)).catch(() => {
-        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay2(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = new TestInputStream(this.data, options.abort);
-        return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise);
-      }
-    };
-    exports2.TestTransport = TestTransport;
-    TestTransport.defaultHeaders = {
-      responseHeader: "test"
-    };
-    TestTransport.defaultStatus = {
-      code: "OK",
-      detail: "all good"
-    };
-    TestTransport.defaultTrailers = {
-      responseTrailer: "test"
-    };
-    function delay2(ms, abort) {
-      return (v) => new Promise((resolve8, reject) => {
-        if (abort === null || abort === void 0 ? void 0 : abort.aborted) {
-          reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
+      d._destroy = function(err, callback) {
+        if (!err && onclose !== null) {
+          err = new AbortError();
+        }
+        onreadable = null;
+        ondrain = null;
+        onfinish = null;
+        if (onclose === null) {
+          callback(err);
         } else {
-          const id = setTimeout(() => resolve8(v), ms);
-          if (abort) {
-            abort.addEventListener("abort", (ev) => {
-              clearTimeout(id);
-              reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
-            });
+          onclose = callback;
+          if (isNodeStream(tail)) {
+            destroyer(tail, err);
           }
         }
-      });
-    }
-    var TestInputStream = class {
-      constructor(data, abort) {
-        this._completed = false;
-        this._sent = [];
-        this.data = data;
-        this.abort = abort;
-      }
-      get sent() {
-        return this._sent;
-      }
-      get completed() {
-        return this._completed;
-      }
-      send(message) {
-        if (this.data.inputMessage instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.inputMessage);
-        }
-        const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage;
-        return Promise.resolve(void 0).then(() => {
-          this._sent.push(message);
-        }).then(delay2(delayMs, this.abort));
-      }
-      complete() {
-        if (this.data.inputComplete instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.inputComplete);
-        }
-        const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete;
-        return Promise.resolve(void 0).then(() => {
-          this._completed = true;
-        }).then(delay2(delayMs, this.abort));
-      }
+      };
+      return d;
     };
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js
-var require_rpc_interceptor = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/operators.js
+var require_operators = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0;
-    var runtime_1 = require_commonjs16();
-    function stackIntercept(kind, transport, method, options, input) {
-      var _a, _b, _c, _d;
-      if (kind == "unary") {
-        let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt);
-        for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) {
-          const next = tail;
-          tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt);
-        }
-        return tail(method, input, options);
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var {
+      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
+      AbortError
+    } = require_errors5();
+    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
+    var kWeakHandler = require_primordials().Symbol("kWeak");
+    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
+    var { finished } = require_end_of_stream();
+    var staticCompose = require_compose();
+    var { addAbortSignalNoValidate } = require_add_abort_signal();
+    var { isWritable, isNodeStream } = require_utils8();
+    var { deprecate } = require_util21();
+    var {
+      ArrayPrototypePush,
+      Boolean: Boolean2,
+      MathFloor,
+      Number: Number2,
+      NumberIsNaN,
+      Promise: Promise2,
+      PromiseReject,
+      PromiseResolve,
+      PromisePrototypeThen,
+      Symbol: Symbol2
+    } = require_primordials();
+    var kEmpty = Symbol2("kEmpty");
+    var kEof = Symbol2("kEof");
+    function compose(stream2, options) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      if (kind == "serverStreaming") {
-        let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt);
-        for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) {
-          const next = tail;
-          tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt);
-        }
-        return tail(method, input, options);
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      if (kind == "clientStreaming") {
-        let tail = (mtd, opt) => transport.clientStreaming(mtd, opt);
-        for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) {
-          const next = tail;
-          tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt);
-        }
-        return tail(method, options);
+      if (isNodeStream(stream2) && !isWritable(stream2)) {
+        throw new ERR_INVALID_ARG_VALUE("stream", stream2, "must be writable");
       }
-      if (kind == "duplex") {
-        let tail = (mtd, opt) => transport.duplex(mtd, opt);
-        for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) {
-          const next = tail;
-          tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt);
-        }
-        return tail(method, options);
+      const composedStream = staticCompose(this, stream2);
+      if (options !== null && options !== void 0 && options.signal) {
+        addAbortSignalNoValidate(options.signal, composedStream);
       }
-      runtime_1.assertNever(kind);
-    }
-    exports2.stackIntercept = stackIntercept;
-    function stackUnaryInterceptors(transport, method, input, options) {
-      return stackIntercept("unary", transport, method, options, input);
-    }
-    exports2.stackUnaryInterceptors = stackUnaryInterceptors;
-    function stackServerStreamingInterceptors(transport, method, input, options) {
-      return stackIntercept("serverStreaming", transport, method, options, input);
-    }
-    exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors;
-    function stackClientStreamingInterceptors(transport, method, options) {
-      return stackIntercept("clientStreaming", transport, method, options);
-    }
-    exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors;
-    function stackDuplexStreamingInterceptors(transport, method, options) {
-      return stackIntercept("duplex", transport, method, options);
+      return composedStream;
     }
-    exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js
-var require_server_call_context = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServerCallContextController = void 0;
-    var ServerCallContextController = class {
-      constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) {
-        this._cancelled = false;
-        this._listeners = [];
-        this.method = method;
-        this.headers = headers;
-        this.deadline = deadline;
-        this.trailers = {};
-        this._sendRH = sendResponseHeadersFn;
-        this.status = defaultStatus;
+    function map2(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-      /**
-       * Set the call cancelled.
-       *
-       * Invokes all callbacks registered with onCancel() and
-       * sets `cancelled = true`.
-       */
-      notifyCancelled() {
-        if (!this._cancelled) {
-          this._cancelled = true;
-          for (let l of this._listeners) {
-            l();
-          }
-        }
+      if (options != null) {
+        validateObject(options, "options");
       }
-      /**
-       * Send response headers.
-       */
-      sendResponseHeaders(data) {
-        this._sendRH(data);
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      /**
-       * Is the call cancelled?
-       *
-       * When the client closes the connection before the server
-       * is done, the call is cancelled.
-       *
-       * If you want to cancel a request on the server, throw a
-       * RpcError with the CANCELLED status code.
-       */
-      get cancelled() {
-        return this._cancelled;
+      let concurrency = 1;
+      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
+        concurrency = MathFloor(options.concurrency);
       }
-      /**
-       * Add a callback for cancellation.
-       */
-      onCancel(callback) {
-        const l = this._listeners;
-        l.push(callback);
-        return () => {
-          let i = l.indexOf(callback);
-          if (i >= 0)
-            l.splice(i, 1);
-        };
+      let highWaterMark = concurrency - 1;
+      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
+        highWaterMark = MathFloor(options.highWaterMark);
       }
-    };
-    exports2.ServerCallContextController = ServerCallContextController;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js
-var require_commonjs17 = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var service_type_1 = require_service_type();
-    Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() {
-      return service_type_1.ServiceType;
-    } });
-    var reflection_info_1 = require_reflection_info2();
-    Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() {
-      return reflection_info_1.readMethodOptions;
-    } });
-    Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() {
-      return reflection_info_1.readMethodOption;
-    } });
-    Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() {
-      return reflection_info_1.readServiceOption;
-    } });
-    var rpc_error_1 = require_rpc_error();
-    Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() {
-      return rpc_error_1.RpcError;
-    } });
-    var rpc_options_1 = require_rpc_options();
-    Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() {
-      return rpc_options_1.mergeRpcOptions;
-    } });
-    var rpc_output_stream_1 = require_rpc_output_stream();
-    Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() {
-      return rpc_output_stream_1.RpcOutputStreamController;
-    } });
-    var test_transport_1 = require_test_transport();
-    Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() {
-      return test_transport_1.TestTransport;
-    } });
-    var deferred_1 = require_deferred();
-    Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() {
-      return deferred_1.Deferred;
-    } });
-    Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() {
-      return deferred_1.DeferredState;
-    } });
-    var duplex_streaming_call_1 = require_duplex_streaming_call();
-    Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() {
-      return duplex_streaming_call_1.DuplexStreamingCall;
-    } });
-    var client_streaming_call_1 = require_client_streaming_call();
-    Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() {
-      return client_streaming_call_1.ClientStreamingCall;
-    } });
-    var server_streaming_call_1 = require_server_streaming_call();
-    Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() {
-      return server_streaming_call_1.ServerStreamingCall;
-    } });
-    var unary_call_1 = require_unary_call();
-    Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() {
-      return unary_call_1.UnaryCall;
-    } });
-    var rpc_interceptor_1 = require_rpc_interceptor();
-    Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackIntercept;
-    } });
-    Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackDuplexStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackClientStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackServerStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackUnaryInterceptors;
-    } });
-    var server_call_context_1 = require_server_call_context();
-    Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() {
-      return server_call_context_1.ServerCallContextController;
-    } });
-  }
-});
-
-// node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js
-var require_cachescope = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheScope = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var CacheScope$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.entities.v1.CacheScope", [
-          {
-            no: 1,
-            name: "scope",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "permission",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+      validateInteger(concurrency, "options.concurrency", 1);
+      validateInteger(highWaterMark, "options.highWaterMark", 0);
+      highWaterMark += concurrency;
+      return async function* map3() {
+        const signal = require_util21().AbortSignalAny(
+          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
+        );
+        const stream2 = this;
+        const queue = [];
+        const signalOpt = {
+          signal
+        };
+        let next;
+        let resume;
+        let done = false;
+        let cnt = 0;
+        function onCatch() {
+          done = true;
+          afterItemProcessed();
+        }
+        function afterItemProcessed() {
+          cnt -= 1;
+          maybeResume();
+        }
+        function maybeResume() {
+          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
+            resume();
+            resume = null;
           }
-        ]);
-      }
-      create(value) {
-        const message = { scope: "", permission: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string scope */
-            1:
-              message.scope = reader.string();
-              break;
-            case /* int64 permission */
-            2:
-              message.permission = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+        }
+        async function pump() {
+          try {
+            for await (let val of stream2) {
+              if (done) {
+                return;
+              }
+              if (signal.aborted) {
+                throw new AbortError();
+              }
+              try {
+                val = fn(val, signalOpt);
+                if (val === kEmpty) {
+                  continue;
+                }
+                val = PromiseResolve(val);
+              } catch (err) {
+                val = PromiseReject(err);
+              }
+              cnt += 1;
+              PromisePrototypeThen(val, afterItemProcessed, onCatch);
+              queue.push(val);
+              if (next) {
+                next();
+                next = null;
+              }
+              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
+                await new Promise2((resolve8) => {
+                  resume = resolve8;
+                });
+              }
+            }
+            queue.push(kEof);
+          } catch (err) {
+            const val = PromiseReject(err);
+            PromisePrototypeThen(val, afterItemProcessed, onCatch);
+            queue.push(val);
+          } finally {
+            done = true;
+            if (next) {
+              next();
+              next = null;
+            }
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.scope !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.scope);
-        if (message.permission !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.permission);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.CacheScope = new CacheScope$Type();
-  }
-});
-
-// node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js
-var require_cachemetadata = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheMetadata = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var cachescope_1 = require_cachescope();
-    var CacheMetadata$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.entities.v1.CacheMetadata", [
-          {
-            no: 1,
-            name: "repository_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 2, name: "scope", kind: "message", repeat: 1, T: () => cachescope_1.CacheScope }
-        ]);
-      }
-      create(value) {
-        const message = { repositoryId: "0", scope: [] };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 repository_id */
-            1:
-              message.repositoryId = reader.int64().toString();
-              break;
-            case /* repeated github.actions.results.entities.v1.CacheScope scope */
-            2:
-              message.scope.push(cachescope_1.CacheScope.internalBinaryRead(reader, reader.uint32(), options));
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+        pump();
+        try {
+          while (true) {
+            while (queue.length > 0) {
+              const val = await queue[0];
+              if (val === kEof) {
+                return;
+              }
+              if (signal.aborted) {
+                throw new AbortError();
+              }
+              if (val !== kEmpty) {
+                yield val;
+              }
+              queue.shift();
+              maybeResume();
+            }
+            await new Promise2((resolve8) => {
+              next = resolve8;
+            });
+          }
+        } finally {
+          done = true;
+          if (resume) {
+            resume();
+            resume = null;
           }
         }
-        return message;
+      }.call(this);
+    }
+    function asIndexedPairs(options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.repositoryId !== "0")
-          writer.tag(1, runtime_1.WireType.Varint).int64(message.repositoryId);
-        for (let i = 0; i < message.scope.length; i++)
-          cachescope_1.CacheScope.internalBinaryWrite(message.scope[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-    };
-    exports2.CacheMetadata = new CacheMetadata$Type();
-  }
-});
-
-// node_modules/@actions/cache/lib/generated/results/api/v1/cache.js
-var require_cache4 = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheService = exports2.GetCacheEntryDownloadURLResponse = exports2.GetCacheEntryDownloadURLRequest = exports2.FinalizeCacheEntryUploadResponse = exports2.FinalizeCacheEntryUploadRequest = exports2.CreateCacheEntryResponse = exports2.CreateCacheEntryRequest = void 0;
-    var runtime_rpc_1 = require_commonjs17();
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var cachemetadata_1 = require_cachemetadata();
-    var CreateCacheEntryRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateCacheEntryRequest", [
-          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
-          {
-            no: 2,
-            name: "key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "version",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      return async function* asIndexedPairs2() {
+        let index = 0;
+        for await (const val of this) {
+          var _options$signal;
+          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
+            throw new AbortError({
+              cause: options.signal.reason
+            });
           }
-        ]);
+          yield [index++, val];
+        }
+      }.call(this);
+    }
+    async function some(fn, options = void 0) {
+      for await (const unused of filter.call(this, fn, options)) {
+        return true;
       }
-      create(value) {
-        const message = { key: "", version: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      return false;
+    }
+    async function every(fn, options = void 0) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* github.actions.results.entities.v1.CacheMetadata metadata */
-            1:
-              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
-              break;
-            case /* string key */
-            2:
-              message.key = reader.string();
-              break;
-            case /* string version */
-            3:
-              message.version = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      return !await some.call(
+        this,
+        async (...args) => {
+          return !await fn(...args);
+        },
+        options
+      );
+    }
+    async function find2(fn, options) {
+      for await (const result of filter.call(this, fn, options)) {
+        return result;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.metadata)
-          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.key !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
-        if (message.version !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return void 0;
+    }
+    async function forEach(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-    };
-    exports2.CreateCacheEntryRequest = new CreateCacheEntryRequest$Type();
-    var CreateCacheEntryResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateCacheEntryResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "message",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      async function forEachFn(value, options2) {
+        await fn(value, options2);
+        return kEmpty;
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "", message: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      for await (const unused of map2.call(this, forEachFn, options)) ;
+    }
+    function filter(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            case /* string message */
-            3:
-              message.message = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      async function filterFn(value, options2) {
+        if (await fn(value, options2)) {
+          return value;
         }
-        return message;
+        return kEmpty;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        if (message.message !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return map2.call(this, filterFn, options);
+    }
+    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
+      constructor() {
+        super("reduce");
+        this.message = "Reduce of an empty stream requires an initial value";
       }
     };
-    exports2.CreateCacheEntryResponse = new CreateCacheEntryResponse$Type();
-    var FinalizeCacheEntryUploadRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeCacheEntryUploadRequest", [
-          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
-          {
-            no: 2,
-            name: "key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "size_bytes",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 4,
-            name: "version",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+    async function reduce(reducer, initialValue, options) {
+      var _options$signal2;
+      if (typeof reducer !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
       }
-      create(value) {
-        const message = { key: "", sizeBytes: "0", version: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      if (options != null) {
+        validateObject(options, "options");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* github.actions.results.entities.v1.CacheMetadata metadata */
-            1:
-              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
-              break;
-            case /* string key */
-            2:
-              message.key = reader.string();
-              break;
-            case /* int64 size_bytes */
-            3:
-              message.sizeBytes = reader.int64().toString();
-              break;
-            case /* string version */
-            4:
-              message.version = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      let hasInitialValue = arguments.length > 1;
+      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
+        const err = new AbortError(void 0, {
+          cause: options.signal.reason
+        });
+        this.once("error", () => {
+        });
+        await finished(this.destroy(err));
+        throw err;
+      }
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      if (options !== null && options !== void 0 && options.signal) {
+        const opts = {
+          once: true,
+          [kWeakHandler]: this,
+          [kResistStopPropagation]: true
+        };
+        options.signal.addEventListener("abort", () => ac.abort(), opts);
+      }
+      let gotAnyItemFromStream = false;
+      try {
+        for await (const value of this) {
+          var _options$signal3;
+          gotAnyItemFromStream = true;
+          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
+            throw new AbortError();
+          }
+          if (!hasInitialValue) {
+            initialValue = value;
+            hasInitialValue = true;
+          } else {
+            initialValue = await reducer(initialValue, value, {
+              signal
+            });
           }
         }
-        return message;
+        if (!gotAnyItemFromStream && !hasInitialValue) {
+          throw new ReduceAwareErrMissingArgs();
+        }
+      } finally {
+        ac.abort();
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.metadata)
-          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.key !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
-        if (message.sizeBytes !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.sizeBytes);
-        if (message.version !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return initialValue;
+    }
+    async function toArray2(options) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-    };
-    exports2.FinalizeCacheEntryUploadRequest = new FinalizeCacheEntryUploadRequest$Type();
-    var FinalizeCacheEntryUploadResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeCacheEntryUploadResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "entry_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 3,
-            name: "message",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      create(value) {
-        const message = { ok: false, entryId: "0", message: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      const result = [];
+      for await (const val of this) {
+        var _options$signal4;
+        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
+          throw new AbortError(void 0, {
+            cause: options.signal.reason
+          });
+        }
+        ArrayPrototypePush(result, val);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 entry_id */
-            2:
-              message.entryId = reader.int64().toString();
-              break;
-            case /* string message */
-            3:
-              message.message = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      return result;
+    }
+    function flatMap(fn, options) {
+      const values = map2.call(this, fn, options);
+      return async function* flatMap2() {
+        for await (const val of values) {
+          yield* val;
         }
-        return message;
+      }.call(this);
+    }
+    function toIntegerOrInfinity(number) {
+      number = Number2(number);
+      if (NumberIsNaN(number)) {
+        return 0;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.entryId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.entryId);
-        if (message.message !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      if (number < 0) {
+        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
       }
-    };
-    exports2.FinalizeCacheEntryUploadResponse = new FinalizeCacheEntryUploadResponse$Type();
-    var GetCacheEntryDownloadURLRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetCacheEntryDownloadURLRequest", [
-          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
-          {
-            no: 2,
-            name: "key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "restore_keys",
-            kind: "scalar",
-            repeat: 2,
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 4,
-            name: "version",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      return number;
+    }
+    function drop(number, options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      create(value) {
-        const message = { key: "", restoreKeys: [], version: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* github.actions.results.entities.v1.CacheMetadata metadata */
-            1:
-              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
-              break;
-            case /* string key */
-            2:
-              message.key = reader.string();
-              break;
-            case /* repeated string restore_keys */
-            3:
-              message.restoreKeys.push(reader.string());
-              break;
-            case /* string version */
-            4:
-              message.version = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      number = toIntegerOrInfinity(number);
+      return async function* drop2() {
+        var _options$signal5;
+        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
+          throw new AbortError();
+        }
+        for await (const val of this) {
+          var _options$signal6;
+          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
+            throw new AbortError();
+          }
+          if (number-- <= 0) {
+            yield val;
           }
         }
-        return message;
+      }.call(this);
+    }
+    function take(number, options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.metadata)
-          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.key !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
-        for (let i = 0; i < message.restoreKeys.length; i++)
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.restoreKeys[i]);
-        if (message.version !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
+      number = toIntegerOrInfinity(number);
+      return async function* take2() {
+        var _options$signal7;
+        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
+          throw new AbortError();
+        }
+        for await (const val of this) {
+          var _options$signal8;
+          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
+            throw new AbortError();
+          }
+          if (number-- > 0) {
+            yield val;
+          }
+          if (number <= 0) {
+            return;
+          }
+        }
+      }.call(this);
+    }
+    module2.exports.streamReturningOperators = {
+      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
+      drop,
+      filter,
+      flatMap,
+      map: map2,
+      take,
+      compose
     };
-    exports2.GetCacheEntryDownloadURLRequest = new GetCacheEntryDownloadURLRequest$Type();
-    var GetCacheEntryDownloadURLResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetCacheEntryDownloadURLResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_download_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+    module2.exports.promiseReturningOperators = {
+      every,
+      forEach,
+      reduce,
+      toArray: toArray2,
+      some,
+      find: find2
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/stream/promises.js
+var require_promises = __commonJS({
+  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
+    "use strict";
+    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
+    var { isIterable, isNodeStream, isWebStream } = require_utils8();
+    var { pipelineImpl: pl } = require_pipeline4();
+    var { finished } = require_end_of_stream();
+    require_stream2();
+    function pipeline(...streams) {
+      return new Promise2((resolve8, reject) => {
+        let signal;
+        let end;
+        const lastArg = streams[streams.length - 1];
+        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
+          const options = ArrayPrototypePop(streams);
+          signal = options.signal;
+          end = options.end;
+        }
+        pl(
+          streams,
+          (err, value) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve8(value);
+            }
           },
           {
-            no: 3,
-            name: "matched_key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+            signal,
+            end
           }
-        ]);
+        );
+      });
+    }
+    module2.exports = {
+      finished,
+      pipeline
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/stream.js
+var require_stream2 = __commonJS({
+  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
+    var { Buffer: Buffer2 } = require("buffer");
+    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
+    var {
+      promisify: { custom: customPromisify }
+    } = require_util21();
+    var { streamReturningOperators, promiseReturningOperators } = require_operators();
+    var {
+      codes: { ERR_ILLEGAL_CONSTRUCTOR }
+    } = require_errors5();
+    var compose = require_compose();
+    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var { pipeline } = require_pipeline4();
+    var { destroyer } = require_destroy2();
+    var eos = require_end_of_stream();
+    var promises5 = require_promises();
+    var utils = require_utils8();
+    var Stream = module2.exports = require_legacy().Stream;
+    Stream.isDestroyed = utils.isDestroyed;
+    Stream.isDisturbed = utils.isDisturbed;
+    Stream.isErrored = utils.isErrored;
+    Stream.isReadable = utils.isReadable;
+    Stream.isWritable = utils.isWritable;
+    Stream.Readable = require_readable4();
+    for (const key of ObjectKeys(streamReturningOperators)) {
+      let fn2 = function(...args) {
+        if (new.target) {
+          throw ERR_ILLEGAL_CONSTRUCTOR();
+        }
+        return Stream.Readable.from(ReflectApply(op, this, args));
+      };
+      fn = fn2;
+      const op = streamReturningOperators[key];
+      ObjectDefineProperty(fn2, "name", {
+        __proto__: null,
+        value: op.name
+      });
+      ObjectDefineProperty(fn2, "length", {
+        __proto__: null,
+        value: op.length
+      });
+      ObjectDefineProperty(Stream.Readable.prototype, key, {
+        __proto__: null,
+        value: fn2,
+        enumerable: false,
+        configurable: true,
+        writable: true
+      });
+    }
+    var fn;
+    for (const key of ObjectKeys(promiseReturningOperators)) {
+      let fn2 = function(...args) {
+        if (new.target) {
+          throw ERR_ILLEGAL_CONSTRUCTOR();
+        }
+        return ReflectApply(op, this, args);
+      };
+      fn = fn2;
+      const op = promiseReturningOperators[key];
+      ObjectDefineProperty(fn2, "name", {
+        __proto__: null,
+        value: op.name
+      });
+      ObjectDefineProperty(fn2, "length", {
+        __proto__: null,
+        value: op.length
+      });
+      ObjectDefineProperty(Stream.Readable.prototype, key, {
+        __proto__: null,
+        value: fn2,
+        enumerable: false,
+        configurable: true,
+        writable: true
+      });
+    }
+    var fn;
+    Stream.Writable = require_writable();
+    Stream.Duplex = require_duplex();
+    Stream.Transform = require_transform();
+    Stream.PassThrough = require_passthrough2();
+    Stream.pipeline = pipeline;
+    var { addAbortSignal } = require_add_abort_signal();
+    Stream.addAbortSignal = addAbortSignal;
+    Stream.finished = eos;
+    Stream.destroy = destroyer;
+    Stream.compose = compose;
+    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
+    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
+    ObjectDefineProperty(Stream, "promises", {
+      __proto__: null,
+      configurable: true,
+      enumerable: true,
+      get() {
+        return promises5;
       }
-      create(value) {
-        const message = { ok: false, signedDownloadUrl: "", matchedKey: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+    });
+    ObjectDefineProperty(pipeline, customPromisify, {
+      __proto__: null,
+      enumerable: true,
+      get() {
+        return promises5.pipeline;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_download_url */
-            2:
-              message.signedDownloadUrl = reader.string();
-              break;
-            case /* string matched_key */
-            3:
-              message.matchedKey = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+    });
+    ObjectDefineProperty(eos, customPromisify, {
+      __proto__: null,
+      enumerable: true,
+      get() {
+        return promises5.finished;
+      }
+    });
+    Stream.Stream = Stream;
+    Stream._isUint8Array = function isUint8Array(value) {
+      return value instanceof Uint8Array;
+    };
+    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/ours/index.js
+var require_ours = __commonJS({
+  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
+    "use strict";
+    var Stream = require("stream");
+    if (Stream && process.env.READABLE_STREAM === "disable") {
+      const promises5 = Stream.promises;
+      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
+      module2.exports._isUint8Array = Stream._isUint8Array;
+      module2.exports.isDisturbed = Stream.isDisturbed;
+      module2.exports.isErrored = Stream.isErrored;
+      module2.exports.isReadable = Stream.isReadable;
+      module2.exports.Readable = Stream.Readable;
+      module2.exports.Writable = Stream.Writable;
+      module2.exports.Duplex = Stream.Duplex;
+      module2.exports.Transform = Stream.Transform;
+      module2.exports.PassThrough = Stream.PassThrough;
+      module2.exports.addAbortSignal = Stream.addAbortSignal;
+      module2.exports.finished = Stream.finished;
+      module2.exports.destroy = Stream.destroy;
+      module2.exports.pipeline = Stream.pipeline;
+      module2.exports.compose = Stream.compose;
+      Object.defineProperty(Stream, "promises", {
+        configurable: true,
+        enumerable: true,
+        get() {
+          return promises5;
+        }
+      });
+      module2.exports.Stream = Stream.Stream;
+    } else {
+      const CustomStream = require_stream2();
+      const promises5 = require_promises();
+      const originalDestroy = CustomStream.Readable.destroy;
+      module2.exports = CustomStream.Readable;
+      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
+      module2.exports._isUint8Array = CustomStream._isUint8Array;
+      module2.exports.isDisturbed = CustomStream.isDisturbed;
+      module2.exports.isErrored = CustomStream.isErrored;
+      module2.exports.isReadable = CustomStream.isReadable;
+      module2.exports.Readable = CustomStream.Readable;
+      module2.exports.Writable = CustomStream.Writable;
+      module2.exports.Duplex = CustomStream.Duplex;
+      module2.exports.Transform = CustomStream.Transform;
+      module2.exports.PassThrough = CustomStream.PassThrough;
+      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
+      module2.exports.finished = CustomStream.finished;
+      module2.exports.destroy = CustomStream.destroy;
+      module2.exports.destroy = originalDestroy;
+      module2.exports.pipeline = CustomStream.pipeline;
+      module2.exports.compose = CustomStream.compose;
+      Object.defineProperty(CustomStream, "promises", {
+        configurable: true,
+        enumerable: true,
+        get() {
+          return promises5;
+        }
+      });
+      module2.exports.Stream = CustomStream.Stream;
+    }
+    module2.exports.default = module2.exports;
+  }
+});
+
+// node_modules/lodash/_arrayPush.js
+var require_arrayPush = __commonJS({
+  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
+    function arrayPush(array, values) {
+      var index = -1, length = values.length, offset = array.length;
+      while (++index < length) {
+        array[offset + index] = values[index];
+      }
+      return array;
+    }
+    module2.exports = arrayPush;
+  }
+});
+
+// node_modules/lodash/_isFlattenable.js
+var require_isFlattenable = __commonJS({
+  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var isArguments = require_isArguments();
+    var isArray = require_isArray();
+    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
+    function isFlattenable(value) {
+      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
+    }
+    module2.exports = isFlattenable;
+  }
+});
+
+// node_modules/lodash/_baseFlatten.js
+var require_baseFlatten = __commonJS({
+  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
+    var arrayPush = require_arrayPush();
+    var isFlattenable = require_isFlattenable();
+    function baseFlatten(array, depth, predicate, isStrict, result) {
+      var index = -1, length = array.length;
+      predicate || (predicate = isFlattenable);
+      result || (result = []);
+      while (++index < length) {
+        var value = array[index];
+        if (depth > 0 && predicate(value)) {
+          if (depth > 1) {
+            baseFlatten(value, depth - 1, predicate, isStrict, result);
+          } else {
+            arrayPush(result, value);
           }
+        } else if (!isStrict) {
+          result[result.length] = value;
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedDownloadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedDownloadUrl);
-        if (message.matchedKey !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.matchedKey);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return result;
+    }
+    module2.exports = baseFlatten;
+  }
+});
+
+// node_modules/lodash/flatten.js
+var require_flatten = __commonJS({
+  "node_modules/lodash/flatten.js"(exports2, module2) {
+    var baseFlatten = require_baseFlatten();
+    function flatten(array) {
+      var length = array == null ? 0 : array.length;
+      return length ? baseFlatten(array, 1) : [];
+    }
+    module2.exports = flatten;
+  }
+});
+
+// node_modules/lodash/_nativeCreate.js
+var require_nativeCreate = __commonJS({
+  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var nativeCreate = getNative(Object, "create");
+    module2.exports = nativeCreate;
+  }
+});
+
+// node_modules/lodash/_hashClear.js
+var require_hashClear = __commonJS({
+  "node_modules/lodash/_hashClear.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    function hashClear() {
+      this.__data__ = nativeCreate ? nativeCreate(null) : {};
+      this.size = 0;
+    }
+    module2.exports = hashClear;
+  }
+});
+
+// node_modules/lodash/_hashDelete.js
+var require_hashDelete = __commonJS({
+  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
+    function hashDelete(key) {
+      var result = this.has(key) && delete this.__data__[key];
+      this.size -= result ? 1 : 0;
+      return result;
+    }
+    module2.exports = hashDelete;
+  }
+});
+
+// node_modules/lodash/_hashGet.js
+var require_hashGet = __commonJS({
+  "node_modules/lodash/_hashGet.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function hashGet(key) {
+      var data = this.__data__;
+      if (nativeCreate) {
+        var result = data[key];
+        return result === HASH_UNDEFINED ? void 0 : result;
       }
-    };
-    exports2.GetCacheEntryDownloadURLResponse = new GetCacheEntryDownloadURLResponse$Type();
-    exports2.CacheService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.CacheService", [
-      { name: "CreateCacheEntry", options: {}, I: exports2.CreateCacheEntryRequest, O: exports2.CreateCacheEntryResponse },
-      { name: "FinalizeCacheEntryUpload", options: {}, I: exports2.FinalizeCacheEntryUploadRequest, O: exports2.FinalizeCacheEntryUploadResponse },
-      { name: "GetCacheEntryDownloadURL", options: {}, I: exports2.GetCacheEntryDownloadURLRequest, O: exports2.GetCacheEntryDownloadURLResponse }
-    ]);
+      return hasOwnProperty.call(data, key) ? data[key] : void 0;
+    }
+    module2.exports = hashGet;
+  }
+});
+
+// node_modules/lodash/_hashHas.js
+var require_hashHas = __commonJS({
+  "node_modules/lodash/_hashHas.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function hashHas(key) {
+      var data = this.__data__;
+      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
+    }
+    module2.exports = hashHas;
+  }
+});
+
+// node_modules/lodash/_hashSet.js
+var require_hashSet = __commonJS({
+  "node_modules/lodash/_hashSet.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    function hashSet(key, value) {
+      var data = this.__data__;
+      this.size += this.has(key) ? 0 : 1;
+      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
+      return this;
+    }
+    module2.exports = hashSet;
   }
 });
 
-// node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js
-var require_cache_twirp_client = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0;
-    var cache_1 = require_cache4();
-    var CacheServiceClientJSON = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateCacheEntry.bind(this);
-        this.FinalizeCacheEntryUpload.bind(this);
-        this.GetCacheEntryDownloadURL.bind(this);
+// node_modules/lodash/_Hash.js
+var require_Hash = __commonJS({
+  "node_modules/lodash/_Hash.js"(exports2, module2) {
+    var hashClear = require_hashClear();
+    var hashDelete = require_hashDelete();
+    var hashGet = require_hashGet();
+    var hashHas = require_hashHas();
+    var hashSet = require_hashSet();
+    function Hash(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      CreateCacheEntry(request2) {
-        const data = cache_1.CreateCacheEntryRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/json", data);
-        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+    }
+    Hash.prototype.clear = hashClear;
+    Hash.prototype["delete"] = hashDelete;
+    Hash.prototype.get = hashGet;
+    Hash.prototype.has = hashHas;
+    Hash.prototype.set = hashSet;
+    module2.exports = Hash;
+  }
+});
+
+// node_modules/lodash/_listCacheClear.js
+var require_listCacheClear = __commonJS({
+  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
+    function listCacheClear() {
+      this.__data__ = [];
+      this.size = 0;
+    }
+    module2.exports = listCacheClear;
+  }
+});
+
+// node_modules/lodash/_assocIndexOf.js
+var require_assocIndexOf = __commonJS({
+  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
+    var eq = require_eq2();
+    function assocIndexOf(array, key) {
+      var length = array.length;
+      while (length--) {
+        if (eq(array[length][0], key)) {
+          return length;
+        }
       }
-      FinalizeCacheEntryUpload(request2) {
-        const data = cache_1.FinalizeCacheEntryUploadRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/json", data);
-        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      return -1;
+    }
+    module2.exports = assocIndexOf;
+  }
+});
+
+// node_modules/lodash/_listCacheDelete.js
+var require_listCacheDelete = __commonJS({
+  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    var arrayProto = Array.prototype;
+    var splice = arrayProto.splice;
+    function listCacheDelete(key) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      if (index < 0) {
+        return false;
       }
-      GetCacheEntryDownloadURL(request2) {
-        const data = cache_1.GetCacheEntryDownloadURLRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/json", data);
-        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      var lastIndex = data.length - 1;
+      if (index == lastIndex) {
+        data.pop();
+      } else {
+        splice.call(data, index, 1);
       }
-    };
-    exports2.CacheServiceClientJSON = CacheServiceClientJSON;
-    var CacheServiceClientProtobuf = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateCacheEntry.bind(this);
-        this.FinalizeCacheEntryUpload.bind(this);
-        this.GetCacheEntryDownloadURL.bind(this);
+      --this.size;
+      return true;
+    }
+    module2.exports = listCacheDelete;
+  }
+});
+
+// node_modules/lodash/_listCacheGet.js
+var require_listCacheGet = __commonJS({
+  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheGet(key) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      return index < 0 ? void 0 : data[index][1];
+    }
+    module2.exports = listCacheGet;
+  }
+});
+
+// node_modules/lodash/_listCacheHas.js
+var require_listCacheHas = __commonJS({
+  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheHas(key) {
+      return assocIndexOf(this.__data__, key) > -1;
+    }
+    module2.exports = listCacheHas;
+  }
+});
+
+// node_modules/lodash/_listCacheSet.js
+var require_listCacheSet = __commonJS({
+  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheSet(key, value) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      if (index < 0) {
+        ++this.size;
+        data.push([key, value]);
+      } else {
+        data[index][1] = value;
       }
-      CreateCacheEntry(request2) {
-        const data = cache_1.CreateCacheEntryRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/protobuf", data);
-        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromBinary(data2));
+      return this;
+    }
+    module2.exports = listCacheSet;
+  }
+});
+
+// node_modules/lodash/_ListCache.js
+var require_ListCache = __commonJS({
+  "node_modules/lodash/_ListCache.js"(exports2, module2) {
+    var listCacheClear = require_listCacheClear();
+    var listCacheDelete = require_listCacheDelete();
+    var listCacheGet = require_listCacheGet();
+    var listCacheHas = require_listCacheHas();
+    var listCacheSet = require_listCacheSet();
+    function ListCache(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      FinalizeCacheEntryUpload(request2) {
-        const data = cache_1.FinalizeCacheEntryUploadRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/protobuf", data);
-        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromBinary(data2));
+    }
+    ListCache.prototype.clear = listCacheClear;
+    ListCache.prototype["delete"] = listCacheDelete;
+    ListCache.prototype.get = listCacheGet;
+    ListCache.prototype.has = listCacheHas;
+    ListCache.prototype.set = listCacheSet;
+    module2.exports = ListCache;
+  }
+});
+
+// node_modules/lodash/_Map.js
+var require_Map = __commonJS({
+  "node_modules/lodash/_Map.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var root = require_root();
+    var Map2 = getNative(root, "Map");
+    module2.exports = Map2;
+  }
+});
+
+// node_modules/lodash/_mapCacheClear.js
+var require_mapCacheClear = __commonJS({
+  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
+    var Hash = require_Hash();
+    var ListCache = require_ListCache();
+    var Map2 = require_Map();
+    function mapCacheClear() {
+      this.size = 0;
+      this.__data__ = {
+        "hash": new Hash(),
+        "map": new (Map2 || ListCache)(),
+        "string": new Hash()
+      };
+    }
+    module2.exports = mapCacheClear;
+  }
+});
+
+// node_modules/lodash/_isKeyable.js
+var require_isKeyable = __commonJS({
+  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
+    function isKeyable(value) {
+      var type2 = typeof value;
+      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
+    }
+    module2.exports = isKeyable;
+  }
+});
+
+// node_modules/lodash/_getMapData.js
+var require_getMapData = __commonJS({
+  "node_modules/lodash/_getMapData.js"(exports2, module2) {
+    var isKeyable = require_isKeyable();
+    function getMapData(map2, key) {
+      var data = map2.__data__;
+      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
+    }
+    module2.exports = getMapData;
+  }
+});
+
+// node_modules/lodash/_mapCacheDelete.js
+var require_mapCacheDelete = __commonJS({
+  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheDelete(key) {
+      var result = getMapData(this, key)["delete"](key);
+      this.size -= result ? 1 : 0;
+      return result;
+    }
+    module2.exports = mapCacheDelete;
+  }
+});
+
+// node_modules/lodash/_mapCacheGet.js
+var require_mapCacheGet = __commonJS({
+  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheGet(key) {
+      return getMapData(this, key).get(key);
+    }
+    module2.exports = mapCacheGet;
+  }
+});
+
+// node_modules/lodash/_mapCacheHas.js
+var require_mapCacheHas = __commonJS({
+  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheHas(key) {
+      return getMapData(this, key).has(key);
+    }
+    module2.exports = mapCacheHas;
+  }
+});
+
+// node_modules/lodash/_mapCacheSet.js
+var require_mapCacheSet = __commonJS({
+  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheSet(key, value) {
+      var data = getMapData(this, key), size = data.size;
+      data.set(key, value);
+      this.size += data.size == size ? 0 : 1;
+      return this;
+    }
+    module2.exports = mapCacheSet;
+  }
+});
+
+// node_modules/lodash/_MapCache.js
+var require_MapCache = __commonJS({
+  "node_modules/lodash/_MapCache.js"(exports2, module2) {
+    var mapCacheClear = require_mapCacheClear();
+    var mapCacheDelete = require_mapCacheDelete();
+    var mapCacheGet = require_mapCacheGet();
+    var mapCacheHas = require_mapCacheHas();
+    var mapCacheSet = require_mapCacheSet();
+    function MapCache(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      GetCacheEntryDownloadURL(request2) {
-        const data = cache_1.GetCacheEntryDownloadURLRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/protobuf", data);
-        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromBinary(data2));
+    }
+    MapCache.prototype.clear = mapCacheClear;
+    MapCache.prototype["delete"] = mapCacheDelete;
+    MapCache.prototype.get = mapCacheGet;
+    MapCache.prototype.has = mapCacheHas;
+    MapCache.prototype.set = mapCacheSet;
+    module2.exports = MapCache;
+  }
+});
+
+// node_modules/lodash/_setCacheAdd.js
+var require_setCacheAdd = __commonJS({
+  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    function setCacheAdd(value) {
+      this.__data__.set(value, HASH_UNDEFINED);
+      return this;
+    }
+    module2.exports = setCacheAdd;
+  }
+});
+
+// node_modules/lodash/_setCacheHas.js
+var require_setCacheHas = __commonJS({
+  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
+    function setCacheHas(value) {
+      return this.__data__.has(value);
+    }
+    module2.exports = setCacheHas;
+  }
+});
+
+// node_modules/lodash/_SetCache.js
+var require_SetCache = __commonJS({
+  "node_modules/lodash/_SetCache.js"(exports2, module2) {
+    var MapCache = require_MapCache();
+    var setCacheAdd = require_setCacheAdd();
+    var setCacheHas = require_setCacheHas();
+    function SetCache(values) {
+      var index = -1, length = values == null ? 0 : values.length;
+      this.__data__ = new MapCache();
+      while (++index < length) {
+        this.add(values[index]);
       }
-    };
-    exports2.CacheServiceClientProtobuf = CacheServiceClientProtobuf;
+    }
+    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
+    SetCache.prototype.has = setCacheHas;
+    module2.exports = SetCache;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.maskSigUrl = maskSigUrl;
-    exports2.maskSecretUrls = maskSecretUrls;
-    var core_1 = require_core();
-    function maskSigUrl(url2) {
-      if (!url2)
-        return;
-      try {
-        const parsedUrl = new URL(url2);
-        const signature = parsedUrl.searchParams.get("sig");
-        if (signature) {
-          (0, core_1.setSecret)(signature);
-          (0, core_1.setSecret)(encodeURIComponent(signature));
+// node_modules/lodash/_baseFindIndex.js
+var require_baseFindIndex = __commonJS({
+  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
+    function baseFindIndex(array, predicate, fromIndex, fromRight) {
+      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
+      while (fromRight ? index-- : ++index < length) {
+        if (predicate(array[index], index, array)) {
+          return index;
         }
-      } catch (error3) {
-        (0, core_1.debug)(`Failed to parse URL: ${url2} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
+      return -1;
     }
-    function maskSecretUrls(body) {
-      if (typeof body !== "object" || body === null) {
-        (0, core_1.debug)("body is not an object or is null");
-        return;
-      }
-      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
-        maskSigUrl(body.signed_upload_url);
-      }
-      if ("signed_download_url" in body && typeof body.signed_download_url === "string") {
-        maskSigUrl(body.signed_download_url);
-      }
+    module2.exports = baseFindIndex;
+  }
+});
+
+// node_modules/lodash/_baseIsNaN.js
+var require_baseIsNaN = __commonJS({
+  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
+    function baseIsNaN(value) {
+      return value !== value;
     }
+    module2.exports = baseIsNaN;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js
-var require_cacheTwirpClient = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.internalCacheTwirpClient = internalCacheTwirpClient;
-    var core_1 = require_core();
-    var user_agent_1 = require_user_agent();
-    var errors_1 = require_errors3();
-    var config_1 = require_config();
-    var cacheUtils_1 = require_cacheUtils();
-    var auth_1 = require_auth();
-    var http_client_1 = require_lib();
-    var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
-    var CacheServiceClient = class {
-      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
-        this.maxAttempts = 5;
-        this.baseRetryIntervalMilliseconds = 3e3;
-        this.retryMultiplier = 1.5;
-        const token = (0, cacheUtils_1.getRuntimeToken)();
-        this.baseUrl = (0, config_1.getCacheServiceURL)();
-        if (maxAttempts) {
-          this.maxAttempts = maxAttempts;
-        }
-        if (baseRetryIntervalMilliseconds) {
-          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
-        }
-        if (retryMultiplier) {
-          this.retryMultiplier = retryMultiplier;
+// node_modules/lodash/_strictIndexOf.js
+var require_strictIndexOf = __commonJS({
+  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
+    function strictIndexOf(array, value, fromIndex) {
+      var index = fromIndex - 1, length = array.length;
+      while (++index < length) {
+        if (array[index] === value) {
+          return index;
         }
-        this.httpClient = new http_client_1.HttpClient(userAgent2, [
-          new auth_1.BearerCredentialHandler(token)
-        ]);
-      }
-      // This function satisfies the Rpc interface. It is compatible with the JSON
-      // JSON generated client.
-      request(service, method, contentType, data) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const url2 = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
-          (0, core_1.debug)(`[Request] ${method} ${url2}`);
-          const headers = {
-            "Content-Type": contentType
-          };
-          try {
-            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
-              return this.httpClient.post(url2, JSON.stringify(data), headers);
-            }));
-            return body;
-          } catch (error3) {
-            throw new Error(`Failed to ${method}: ${error3.message}`);
-          }
-        });
-      }
-      retryableRequest(operation) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 0;
-          let errorMessage = "";
-          let rawBody = "";
-          while (attempt < this.maxAttempts) {
-            let isRetryable = false;
-            try {
-              const response = yield operation();
-              const statusCode = response.message.statusCode;
-              rawBody = yield response.readBody();
-              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
-              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
-              const body = JSON.parse(rawBody);
-              (0, util_1.maskSecretUrls)(body);
-              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
-              if (this.isSuccessStatusCode(statusCode)) {
-                return { response, body };
-              }
-              isRetryable = this.isRetryableHttpStatusCode(statusCode);
-              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
-              if (body.msg) {
-                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
-                  throw new errors_1.UsageError();
-                }
-                errorMessage = `${errorMessage}: ${body.msg}`;
-              }
-              if (statusCode === http_client_1.HttpCodes.TooManyRequests) {
-                const retryAfterHeader = response.message.headers["retry-after"];
-                if (retryAfterHeader) {
-                  const parsedSeconds = parseInt(retryAfterHeader, 10);
-                  if (!isNaN(parsedSeconds) && parsedSeconds > 0) {
-                    (0, core_1.warning)(`You've hit a rate limit, your rate limit will reset in ${parsedSeconds} seconds`);
-                  }
-                }
-                throw new errors_1.RateLimitError(`Rate limited: ${errorMessage}`);
-              }
-            } catch (error3) {
-              if (error3 instanceof SyntaxError) {
-                (0, core_1.debug)(`Raw Body: ${rawBody}`);
-              }
-              if (error3 instanceof errors_1.UsageError) {
-                throw error3;
-              }
-              if (error3 instanceof errors_1.RateLimitError) {
-                throw error3;
-              }
-              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-              }
-              isRetryable = true;
-              errorMessage = error3.message;
-            }
-            if (!isRetryable) {
-              throw new Error(`Received non-retryable error: ${errorMessage}`);
-            }
-            if (attempt + 1 === this.maxAttempts) {
-              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
-            }
-            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
-            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
-            yield this.sleep(retryTimeMilliseconds);
-            attempt++;
-          }
-          throw new Error(`Request failed`);
-        });
-      }
-      isSuccessStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        return statusCode >= 200 && statusCode < 300;
-      }
-      isRetryableHttpStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        const retryableStatusCodes = [
-          http_client_1.HttpCodes.BadGateway,
-          http_client_1.HttpCodes.GatewayTimeout,
-          http_client_1.HttpCodes.InternalServerError,
-          http_client_1.HttpCodes.ServiceUnavailable
-        ];
-        return retryableStatusCodes.includes(statusCode);
-      }
-      sleep(milliseconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve8) => setTimeout(resolve8, milliseconds));
-        });
       }
-      getExponentialRetryTimeMilliseconds(attempt) {
-        if (attempt < 0) {
-          throw new Error("attempt should be a positive integer");
-        }
-        if (attempt === 0) {
-          return this.baseRetryIntervalMilliseconds;
+      return -1;
+    }
+    module2.exports = strictIndexOf;
+  }
+});
+
+// node_modules/lodash/_baseIndexOf.js
+var require_baseIndexOf = __commonJS({
+  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
+    var baseFindIndex = require_baseFindIndex();
+    var baseIsNaN = require_baseIsNaN();
+    var strictIndexOf = require_strictIndexOf();
+    function baseIndexOf(array, value, fromIndex) {
+      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
+    }
+    module2.exports = baseIndexOf;
+  }
+});
+
+// node_modules/lodash/_arrayIncludes.js
+var require_arrayIncludes = __commonJS({
+  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
+    var baseIndexOf = require_baseIndexOf();
+    function arrayIncludes(array, value) {
+      var length = array == null ? 0 : array.length;
+      return !!length && baseIndexOf(array, value, 0) > -1;
+    }
+    module2.exports = arrayIncludes;
+  }
+});
+
+// node_modules/lodash/_arrayIncludesWith.js
+var require_arrayIncludesWith = __commonJS({
+  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
+    function arrayIncludesWith(array, value, comparator) {
+      var index = -1, length = array == null ? 0 : array.length;
+      while (++index < length) {
+        if (comparator(value, array[index])) {
+          return true;
         }
-        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
-        const maxTime = minTime * this.retryMultiplier;
-        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
-    };
-    function internalCacheTwirpClient(options) {
-      const client = new CacheServiceClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
-      return new cache_twirp_client_1.CacheServiceClientJSON(client);
+      return false;
     }
+    module2.exports = arrayIncludesWith;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/tar.js
-var require_tar = __commonJS({
-  "node_modules/@actions/cache/lib/internal/tar.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+// node_modules/lodash/_arrayMap.js
+var require_arrayMap = __commonJS({
+  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
+    function arrayMap(array, iteratee) {
+      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
+      while (++index < length) {
+        result[index] = iteratee(array[index], index, array);
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
+      return result;
+    }
+    module2.exports = arrayMap;
+  }
+});
+
+// node_modules/lodash/_cacheHas.js
+var require_cacheHas = __commonJS({
+  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
+    function cacheHas(cache, key) {
+      return cache.has(key);
+    }
+    module2.exports = cacheHas;
+  }
+});
+
+// node_modules/lodash/_baseDifference.js
+var require_baseDifference = __commonJS({
+  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
+    var SetCache = require_SetCache();
+    var arrayIncludes = require_arrayIncludes();
+    var arrayIncludesWith = require_arrayIncludesWith();
+    var arrayMap = require_arrayMap();
+    var baseUnary = require_baseUnary();
+    var cacheHas = require_cacheHas();
+    var LARGE_ARRAY_SIZE = 200;
+    function baseDifference(array, values, iteratee, comparator) {
+      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
+      if (!length) {
         return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.listTar = listTar;
-    exports2.extractTar = extractTar2;
-    exports2.createTar = createTar;
-    var exec_1 = require_exec();
-    var io7 = __importStar2(require_io());
-    var fs_1 = require("fs");
-    var path16 = __importStar2(require("path"));
-    var utils = __importStar2(require_cacheUtils());
-    var constants_1 = require_constants12();
-    var IS_WINDOWS = process.platform === "win32";
-    function getTarPath() {
-      return __awaiter2(this, void 0, void 0, function* () {
-        switch (process.platform) {
-          case "win32": {
-            const gnuTar = yield utils.getGnuTarPathOnWindows();
-            const systemTar = constants_1.SystemTarPathOnWindows;
-            if (gnuTar) {
-              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
-            } else if ((0, fs_1.existsSync)(systemTar)) {
-              return { path: systemTar, type: constants_1.ArchiveToolType.BSD };
-            }
-            break;
-          }
-          case "darwin": {
-            const gnuTar = yield io7.which("gtar", false);
-            if (gnuTar) {
-              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
-            } else {
-              return {
-                path: yield io7.which("tar", true),
-                type: constants_1.ArchiveToolType.BSD
-              };
+      if (iteratee) {
+        values = arrayMap(values, baseUnary(iteratee));
+      }
+      if (comparator) {
+        includes = arrayIncludesWith;
+        isCommon = false;
+      } else if (values.length >= LARGE_ARRAY_SIZE) {
+        includes = cacheHas;
+        isCommon = false;
+        values = new SetCache(values);
+      }
+      outer:
+        while (++index < length) {
+          var value = array[index], computed = iteratee == null ? value : iteratee(value);
+          value = comparator || value !== 0 ? value : 0;
+          if (isCommon && computed === computed) {
+            var valuesIndex = valuesLength;
+            while (valuesIndex--) {
+              if (values[valuesIndex] === computed) {
+                continue outer;
+              }
             }
-          }
-          default:
-            break;
-        }
-        return {
-          path: yield io7.which("tar", true),
-          type: constants_1.ArchiveToolType.GNU
-        };
-      });
-    }
-    function getTarArgs(tarPath_1, compressionMethod_1, type_1) {
-      return __awaiter2(this, arguments, void 0, function* (tarPath, compressionMethod, type2, archivePath = "") {
-        const args = [`"${tarPath.path}"`];
-        const cacheFileName = utils.getCacheFileName(compressionMethod);
-        const tarFile = "cache.tar";
-        const workingDirectory = getWorkingDirectory();
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        switch (type2) {
-          case "create":
-            args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename);
-            break;
-          case "extract":
-            args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path16.sep}`, "g"), "/"));
-            break;
-          case "list":
-            args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/"), "-P");
-            break;
-        }
-        if (tarPath.type === constants_1.ArchiveToolType.GNU) {
-          switch (process.platform) {
-            case "win32":
-              args.push("--force-local");
-              break;
-            case "darwin":
-              args.push("--delay-directory-restore");
-              break;
+            result.push(value);
+          } else if (!includes(values, computed, comparator)) {
+            result.push(value);
           }
         }
-        return args;
-      });
+      return result;
     }
-    function getCommands(compressionMethod_1, type_1) {
-      return __awaiter2(this, arguments, void 0, function* (compressionMethod, type2, archivePath = "") {
-        let args;
-        const tarPath = yield getTarPath();
-        const tarArgs = yield getTarArgs(tarPath, compressionMethod, type2, archivePath);
-        const compressionArgs = type2 !== "create" ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath) : yield getCompressionProgram(tarPath, compressionMethod);
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        if (BSD_TAR_ZSTD && type2 !== "create") {
-          args = [[...compressionArgs].join(" "), [...tarArgs].join(" ")];
-        } else {
-          args = [[...tarArgs].join(" "), [...compressionArgs].join(" ")];
-        }
-        if (BSD_TAR_ZSTD) {
-          return args;
-        }
-        return [args.join(" ")];
-      });
+    module2.exports = baseDifference;
+  }
+});
+
+// node_modules/lodash/isArrayLikeObject.js
+var require_isArrayLikeObject = __commonJS({
+  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
+    var isArrayLike = require_isArrayLike();
+    var isObjectLike = require_isObjectLike();
+    function isArrayLikeObject(value) {
+      return isObjectLike(value) && isArrayLike(value);
     }
-    function getWorkingDirectory() {
-      var _a;
-      return (_a = process.env["GITHUB_WORKSPACE"]) !== null && _a !== void 0 ? _a : process.cwd();
+    module2.exports = isArrayLikeObject;
+  }
+});
+
+// node_modules/lodash/difference.js
+var require_difference = __commonJS({
+  "node_modules/lodash/difference.js"(exports2, module2) {
+    var baseDifference = require_baseDifference();
+    var baseFlatten = require_baseFlatten();
+    var baseRest = require_baseRest();
+    var isArrayLikeObject = require_isArrayLikeObject();
+    var difference = baseRest(function(array, values) {
+      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
+    });
+    module2.exports = difference;
+  }
+});
+
+// node_modules/lodash/_Set.js
+var require_Set = __commonJS({
+  "node_modules/lodash/_Set.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var root = require_root();
+    var Set2 = getNative(root, "Set");
+    module2.exports = Set2;
+  }
+});
+
+// node_modules/lodash/noop.js
+var require_noop = __commonJS({
+  "node_modules/lodash/noop.js"(exports2, module2) {
+    function noop3() {
     }
-    function getDecompressionProgram(tarPath, compressionMethod, archivePath) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        switch (compressionMethod) {
-          case constants_1.CompressionMethod.Zstd:
-            return BSD_TAR_ZSTD ? [
-              "zstd -d --long=30 --force -o",
-              constants_1.TarFilename,
-              archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/")
-            ] : [
-              "--use-compress-program",
-              IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30"
-            ];
-          case constants_1.CompressionMethod.ZstdWithoutLong:
-            return BSD_TAR_ZSTD ? [
-              "zstd -d --force -o",
-              constants_1.TarFilename,
-              archivePath.replace(new RegExp(`\\${path16.sep}`, "g"), "/")
-            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"];
-          default:
-            return ["-z"];
-        }
+    module2.exports = noop3;
+  }
+});
+
+// node_modules/lodash/_setToArray.js
+var require_setToArray = __commonJS({
+  "node_modules/lodash/_setToArray.js"(exports2, module2) {
+    function setToArray(set2) {
+      var index = -1, result = Array(set2.size);
+      set2.forEach(function(value) {
+        result[++index] = value;
       });
+      return result;
     }
-    function getCompressionProgram(tarPath, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const cacheFileName = utils.getCacheFileName(compressionMethod);
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        switch (compressionMethod) {
-          case constants_1.CompressionMethod.Zstd:
-            return BSD_TAR_ZSTD ? [
-              "zstd -T0 --long=30 --force -o",
-              cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"),
-              constants_1.TarFilename
-            ] : [
-              "--use-compress-program",
-              IS_WINDOWS ? '"zstd -T0 --long=30"' : "zstdmt --long=30"
-            ];
-          case constants_1.CompressionMethod.ZstdWithoutLong:
-            return BSD_TAR_ZSTD ? [
-              "zstd -T0 --force -o",
-              cacheFileName.replace(new RegExp(`\\${path16.sep}`, "g"), "/"),
-              constants_1.TarFilename
-            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"];
-          default:
-            return ["-z"];
+    module2.exports = setToArray;
+  }
+});
+
+// node_modules/lodash/_createSet.js
+var require_createSet = __commonJS({
+  "node_modules/lodash/_createSet.js"(exports2, module2) {
+    var Set2 = require_Set();
+    var noop3 = require_noop();
+    var setToArray = require_setToArray();
+    var INFINITY = 1 / 0;
+    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
+      return new Set2(values);
+    };
+    module2.exports = createSet;
+  }
+});
+
+// node_modules/lodash/_baseUniq.js
+var require_baseUniq = __commonJS({
+  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
+    var SetCache = require_SetCache();
+    var arrayIncludes = require_arrayIncludes();
+    var arrayIncludesWith = require_arrayIncludesWith();
+    var cacheHas = require_cacheHas();
+    var createSet = require_createSet();
+    var setToArray = require_setToArray();
+    var LARGE_ARRAY_SIZE = 200;
+    function baseUniq(array, iteratee, comparator) {
+      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
+      if (comparator) {
+        isCommon = false;
+        includes = arrayIncludesWith;
+      } else if (length >= LARGE_ARRAY_SIZE) {
+        var set2 = iteratee ? null : createSet(array);
+        if (set2) {
+          return setToArray(set2);
         }
-      });
-    }
-    function execCommands(commands, cwd) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        for (const command of commands) {
-          try {
-            yield (0, exec_1.exec)(command, void 0, {
-              cwd,
-              env: Object.assign(Object.assign({}, process.env), { MSYS: "winsymlinks:nativestrict" })
-            });
-          } catch (error3) {
-            throw new Error(`${command.split(" ")[0]} failed with error: ${error3 === null || error3 === void 0 ? void 0 : error3.message}`);
+        isCommon = false;
+        includes = cacheHas;
+        seen = new SetCache();
+      } else {
+        seen = iteratee ? [] : result;
+      }
+      outer:
+        while (++index < length) {
+          var value = array[index], computed = iteratee ? iteratee(value) : value;
+          value = comparator || value !== 0 ? value : 0;
+          if (isCommon && computed === computed) {
+            var seenIndex = seen.length;
+            while (seenIndex--) {
+              if (seen[seenIndex] === computed) {
+                continue outer;
+              }
+            }
+            if (iteratee) {
+              seen.push(computed);
+            }
+            result.push(value);
+          } else if (!includes(seen, computed, comparator)) {
+            if (seen !== result) {
+              seen.push(computed);
+            }
+            result.push(value);
           }
         }
-      });
-    }
-    function listTar(archivePath, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const commands = yield getCommands(compressionMethod, "list", archivePath);
-        yield execCommands(commands);
-      });
+      return result;
     }
-    function extractTar2(archivePath, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const workingDirectory = getWorkingDirectory();
-        yield io7.mkdirP(workingDirectory);
-        const commands = yield getCommands(compressionMethod, "extract", archivePath);
-        yield execCommands(commands);
-      });
+    module2.exports = baseUniq;
+  }
+});
+
+// node_modules/lodash/union.js
+var require_union = __commonJS({
+  "node_modules/lodash/union.js"(exports2, module2) {
+    var baseFlatten = require_baseFlatten();
+    var baseRest = require_baseRest();
+    var baseUniq = require_baseUniq();
+    var isArrayLikeObject = require_isArrayLikeObject();
+    var union = baseRest(function(arrays) {
+      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
+    });
+    module2.exports = union;
+  }
+});
+
+// node_modules/lodash/_overArg.js
+var require_overArg = __commonJS({
+  "node_modules/lodash/_overArg.js"(exports2, module2) {
+    function overArg(func, transform) {
+      return function(arg) {
+        return func(transform(arg));
+      };
     }
-    function createTar(archiveFolder, sourceDirectories, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, fs_1.writeFileSync)(path16.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n"));
-        const commands = yield getCommands(compressionMethod, "create");
-        yield execCommands(commands, archiveFolder);
-      });
+    module2.exports = overArg;
+  }
+});
+
+// node_modules/lodash/_getPrototype.js
+var require_getPrototype = __commonJS({
+  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
+    var overArg = require_overArg();
+    var getPrototype = overArg(Object.getPrototypeOf, Object);
+    module2.exports = getPrototype;
+  }
+});
+
+// node_modules/lodash/isPlainObject.js
+var require_isPlainObject = __commonJS({
+  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var getPrototype = require_getPrototype();
+    var isObjectLike = require_isObjectLike();
+    var objectTag = "[object Object]";
+    var funcProto = Function.prototype;
+    var objectProto = Object.prototype;
+    var funcToString = funcProto.toString;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var objectCtorString = funcToString.call(Object);
+    function isPlainObject3(value) {
+      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
+        return false;
+      }
+      var proto = getPrototype(value);
+      if (proto === null) {
+        return true;
+      }
+      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
+      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
     }
+    module2.exports = isPlainObject3;
   }
 });
 
-// node_modules/@actions/cache/lib/cache.js
-var require_cache5 = __commonJS({
-  "node_modules/@actions/cache/lib/cache.js"(exports2) {
+// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
+var require_commonjs18 = __commonJS({
+  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.range = exports2.balanced = void 0;
+    var balanced = (a, b, str2) => {
+      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
+      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
+      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
+      return r && {
+        start: r[0],
+        end: r[1],
+        pre: str2.slice(0, r[0]),
+        body: str2.slice(r[0] + ma.length, r[1]),
+        post: str2.slice(r[1] + mb.length)
       };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+    };
+    exports2.balanced = balanced;
+    var maybeMatch = (reg, str2) => {
+      const m = str2.match(reg);
+      return m ? m[0] : null;
+    };
+    var range = (a, b, str2) => {
+      let begs, beg, left, right = void 0, result;
+      let ai = str2.indexOf(a);
+      let bi = str2.indexOf(b, ai + 1);
+      let i = ai;
+      if (ai >= 0 && bi > 0) {
+        if (a === b) {
+          return [ai, bi];
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        begs = [];
+        left = str2.length;
+        while (i >= 0 && !result) {
+          if (i === ai) {
+            begs.push(i);
+            ai = str2.indexOf(a, i + 1);
+          } else if (begs.length === 1) {
+            const r = begs.pop();
+            if (r !== void 0)
+              result = [r, bi];
+          } else {
+            beg = begs.pop();
+            if (beg !== void 0 && beg < left) {
+              left = beg;
+              right = bi;
+            }
+            bi = str2.indexOf(b, i + 1);
           }
+          i = ai < bi && ai >= 0 ? ai : bi;
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (begs.length && right !== void 0) {
+          result = [left, right];
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.FinalizeCacheError = exports2.ReserveCacheError = exports2.ValidationError = void 0;
-    exports2.isFeatureAvailable = isFeatureAvailable;
-    exports2.restoreCache = restoreCache4;
-    exports2.saveCache = saveCache4;
-    var core17 = __importStar2(require_core());
-    var path16 = __importStar2(require("path"));
-    var utils = __importStar2(require_cacheUtils());
-    var cacheHttpClient = __importStar2(require_cacheHttpClient());
-    var cacheTwirpClient = __importStar2(require_cacheTwirpClient());
-    var config_1 = require_config();
-    var tar_1 = require_tar();
-    var http_client_1 = require_lib();
-    var ValidationError = class _ValidationError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "ValidationError";
-        Object.setPrototypeOf(this, _ValidationError.prototype);
       }
+      return result;
     };
-    exports2.ValidationError = ValidationError;
-    var ReserveCacheError2 = class _ReserveCacheError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "ReserveCacheError";
-        Object.setPrototypeOf(this, _ReserveCacheError.prototype);
+    exports2.range = range;
+  }
+});
+
+// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
+var require_commonjs19 = __commonJS({
+  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.EXPANSION_MAX = void 0;
+    exports2.expand = expand2;
+    var balanced_match_1 = require_commonjs18();
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    var escSlashPattern = new RegExp(escSlash, "g");
+    var escOpenPattern = new RegExp(escOpen, "g");
+    var escClosePattern = new RegExp(escClose, "g");
+    var escCommaPattern = new RegExp(escComma, "g");
+    var escPeriodPattern = new RegExp(escPeriod, "g");
+    var slashPattern = /\\\\/g;
+    var openPattern = /\\{/g;
+    var closePattern = /\\}/g;
+    var commaPattern = /\\,/g;
+    var periodPattern = /\\./g;
+    exports2.EXPANSION_MAX = 1e5;
+    function numeric(str2) {
+      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
+    }
+    function escapeBraces(str2) {
+      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
+    }
+    function unescapeBraces(str2) {
+      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
+    }
+    function parseCommaParts(str2) {
+      if (!str2) {
+        return [""];
       }
-    };
-    exports2.ReserveCacheError = ReserveCacheError2;
-    var FinalizeCacheError = class _FinalizeCacheError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "FinalizeCacheError";
-        Object.setPrototypeOf(this, _FinalizeCacheError.prototype);
+      const parts = [];
+      const m = (0, balanced_match_1.balanced)("{", "}", str2);
+      if (!m) {
+        return str2.split(",");
       }
-    };
-    exports2.FinalizeCacheError = FinalizeCacheError;
-    function checkPaths(paths) {
-      if (!paths || paths.length === 0) {
-        throw new ValidationError(`Path Validation Error: At least one directory or file path is required`);
+      const { pre, body, post } = m;
+      const p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      const postParts = parseCommaParts(post);
+      if (post.length) {
+        ;
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
       }
+      parts.push.apply(parts, p);
+      return parts;
     }
-    function checkKey(key) {
-      if (key.length > 512) {
-        throw new ValidationError(`Key Validation Error: ${key} cannot be larger than 512 characters.`);
-      }
-      const regex = /^[^,]*$/;
-      if (!regex.test(key)) {
-        throw new ValidationError(`Key Validation Error: ${key} cannot contain commas.`);
+    function expand2(str2, options = {}) {
+      if (!str2) {
+        return [];
       }
-    }
-    function isFeatureAvailable() {
-      const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
-      switch (cacheServiceVersion) {
-        case "v2":
-          return !!process.env["ACTIONS_RESULTS_URL"];
-        case "v1":
-        default:
-          return !!process.env["ACTIONS_CACHE_URL"];
+      const { max = exports2.EXPANSION_MAX } = options;
+      if (str2.slice(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.slice(2);
       }
+      return expand_(escapeBraces(str2), max, true).map(unescapeBraces);
     }
-    function restoreCache4(paths_1, primaryKey_1, restoreKeys_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
-        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
-        core17.debug(`Cache service version: ${cacheServiceVersion}`);
-        checkPaths(paths);
-        switch (cacheServiceVersion) {
-          case "v2":
-            return yield restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
-          case "v1":
-          default:
-            return yield restoreCacheV1(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
-        }
-      });
+    function embrace(str2) {
+      return "{" + str2 + "}";
     }
-    function restoreCacheV1(paths_1, primaryKey_1, restoreKeys_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
-        restoreKeys = restoreKeys || [];
-        const keys = [primaryKey, ...restoreKeys];
-        core17.debug("Resolved Keys:");
-        core17.debug(JSON.stringify(keys));
-        if (keys.length > 10) {
-          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
-        }
-        for (const key of keys) {
-          checkKey(key);
-        }
-        const compressionMethod = yield utils.getCompressionMethod();
-        let archivePath = "";
-        try {
-          const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, {
-            compressionMethod,
-            enableCrossOsArchive
-          });
-          if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) {
-            return void 0;
-          }
-          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
-            core17.info("Lookup only - skipping download");
-            return cacheEntry.cacheKey;
-          }
-          archivePath = path16.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
-          core17.debug(`Archive Path: ${archivePath}`);
-          yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options);
-          if (core17.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
-          }
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core17.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
-          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
-          core17.info("Cache restored successfully");
-          return cacheEntry.cacheKey;
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core17.error(`Failed to restore: ${error3.message}`);
-            } else {
-              core17.warning(`Failed to restore: ${error3.message}`);
-            }
-          }
-        } finally {
-          try {
-            yield utils.unlinkFile(archivePath);
-          } catch (error3) {
-            core17.debug(`Failed to delete archive: ${error3}`);
-          }
-        }
-        return void 0;
-      });
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
     }
-    function restoreCacheV2(paths_1, primaryKey_1, restoreKeys_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
-        options = Object.assign(Object.assign({}, options), { useAzureSdk: true });
-        restoreKeys = restoreKeys || [];
-        const keys = [primaryKey, ...restoreKeys];
-        core17.debug("Resolved Keys:");
-        core17.debug(JSON.stringify(keys));
-        if (keys.length > 10) {
-          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
-        }
-        for (const key of keys) {
-          checkKey(key);
-        }
-        let archivePath = "";
-        try {
-          const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
-          const compressionMethod = yield utils.getCompressionMethod();
-          const request2 = {
-            key: primaryKey,
-            restoreKeys,
-            version: utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive)
-          };
-          const response = yield twirpClient.GetCacheEntryDownloadURL(request2);
-          if (!response.ok) {
-            core17.debug(`Cache not found for version ${request2.version} of keys: ${keys.join(", ")}`);
-            return void 0;
-          }
-          const isRestoreKeyMatch = request2.key !== response.matchedKey;
-          if (isRestoreKeyMatch) {
-            core17.info(`Cache hit for restore-key: ${response.matchedKey}`);
-          } else {
-            core17.info(`Cache hit for: ${response.matchedKey}`);
-          }
-          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
-            core17.info("Lookup only - skipping download");
-            return response.matchedKey;
-          }
-          archivePath = path16.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
-          core17.debug(`Archive path: ${archivePath}`);
-          core17.debug(`Starting download of archive to: ${archivePath}`);
-          yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options);
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core17.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
-          if (core17.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
-          }
-          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
-          core17.info("Cache restored successfully");
-          return response.matchedKey;
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core17.error(`Failed to restore: ${error3.message}`);
-            } else {
-              core17.warning(`Failed to restore: ${error3.message}`);
-            }
-          }
-        } finally {
-          try {
-            if (archivePath) {
-              yield utils.unlinkFile(archivePath);
-            }
-          } catch (error3) {
-            core17.debug(`Failed to delete archive: ${error3}`);
-          }
-        }
-        return void 0;
-      });
+    function lte(i, y) {
+      return i <= y;
     }
-    function saveCache4(paths_1, key_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
-        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
-        core17.debug(`Cache service version: ${cacheServiceVersion}`);
-        checkPaths(paths);
-        checkKey(key);
-        switch (cacheServiceVersion) {
-          case "v2":
-            return yield saveCacheV2(paths, key, options, enableCrossOsArchive);
-          case "v1":
-          default:
-            return yield saveCacheV1(paths, key, options, enableCrossOsArchive);
-        }
-      });
+    function gte6(i, y) {
+      return i >= y;
     }
-    function saveCacheV1(paths_1, key_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
-        var _a, _b, _c, _d, _e;
-        const compressionMethod = yield utils.getCompressionMethod();
-        let cacheId = -1;
-        const cachePaths = yield utils.resolvePaths(paths);
-        core17.debug("Cache Paths:");
-        core17.debug(`${JSON.stringify(cachePaths)}`);
-        if (cachePaths.length === 0) {
-          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
+    function expand_(str2, max, isTop) {
+      const expansions = [];
+      const m = (0, balanced_match_1.balanced)("{", "}", str2);
+      if (!m)
+        return [str2];
+      const pre = m.pre;
+      const post = m.post.length ? expand_(m.post, max, false) : [""];
+      if (/\$$/.test(m.pre)) {
+        for (let k = 0; k < post.length && k < max; k++) {
+          const expansion = pre + "{" + m.body + "}" + post[k];
+          expansions.push(expansion);
         }
-        const archiveFolder = yield utils.createTempDirectory();
-        const archivePath = path16.join(archiveFolder, utils.getCacheFileName(compressionMethod));
-        core17.debug(`Archive Path: ${archivePath}`);
-        try {
-          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
-          if (core17.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
-          }
-          const fileSizeLimit = 10 * 1024 * 1024 * 1024;
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core17.debug(`File Size: ${archiveFileSize}`);
-          if (archiveFileSize > fileSizeLimit && !(0, config_1.isGhes)()) {
-            throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`);
-          }
-          core17.debug("Reserving Cache");
-          const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, {
-            compressionMethod,
-            enableCrossOsArchive,
-            cacheSize: archiveFileSize
-          });
-          if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) {
-            cacheId = (_b = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _b === void 0 ? void 0 : _b.cacheId;
-          } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) {
-            throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`);
-          } else {
-            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`);
+      } else {
+        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+        const isSequence = isNumericSequence || isAlphaSequence;
+        const isOptions = m.body.indexOf(",") >= 0;
+        if (!isSequence && !isOptions) {
+          if (m.post.match(/,(?!,).*\}/)) {
+            str2 = m.pre + "{" + m.body + escClose + m.post;
+            return expand_(str2, max, true);
           }
-          core17.debug(`Saving Cache (ID: ${cacheId})`);
-          yield cacheHttpClient.saveCache(cacheId, archivePath, "", options);
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else if (typedError.name === ReserveCacheError2.name) {
-            core17.info(`Failed to save: ${typedError.message}`);
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core17.error(`Failed to save: ${typedError.message}`);
-            } else {
-              core17.warning(`Failed to save: ${typedError.message}`);
+          return [str2];
+        }
+        let n;
+        if (isSequence) {
+          n = m.body.split(/\.\./);
+        } else {
+          n = parseCommaParts(m.body);
+          if (n.length === 1 && n[0] !== void 0) {
+            n = expand_(n[0], max, false).map(embrace);
+            if (n.length === 1) {
+              return post.map((p) => m.pre + n[0] + p);
             }
           }
-        } finally {
-          try {
-            yield utils.unlinkFile(archivePath);
-          } catch (error3) {
-            core17.debug(`Failed to delete archive: ${error3}`);
-          }
-        }
-        return cacheId;
-      });
-    }
-    function saveCacheV2(paths_1, key_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
-        options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true });
-        const compressionMethod = yield utils.getCompressionMethod();
-        const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
-        let cacheId = -1;
-        const cachePaths = yield utils.resolvePaths(paths);
-        core17.debug("Cache Paths:");
-        core17.debug(`${JSON.stringify(cachePaths)}`);
-        if (cachePaths.length === 0) {
-          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
         }
-        const archiveFolder = yield utils.createTempDirectory();
-        const archivePath = path16.join(archiveFolder, utils.getCacheFileName(compressionMethod));
-        core17.debug(`Archive Path: ${archivePath}`);
-        try {
-          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
-          if (core17.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+        let N;
+        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
+          const x = numeric(n[0]);
+          const y = numeric(n[1]);
+          const width = Math.max(n[0].length, n[1].length);
+          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
+          let test = lte;
+          const reverse = y < x;
+          if (reverse) {
+            incr *= -1;
+            test = gte6;
           }
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core17.debug(`File Size: ${archiveFileSize}`);
-          options.archiveSizeBytes = archiveFileSize;
-          core17.debug("Reserving Cache");
-          const version = utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive);
-          const request2 = {
-            key,
-            version
-          };
-          let signedUploadUrl;
-          try {
-            const response = yield twirpClient.CreateCacheEntry(request2);
-            if (!response.ok) {
-              if (response.message) {
-                core17.warning(`Cache reservation failed: ${response.message}`);
+          const pad = n.some(isPadded);
+          N = [];
+          for (let i = x; test(i, y); i += incr) {
+            let c;
+            if (isAlphaSequence) {
+              c = String.fromCharCode(i);
+              if (c === "\\") {
+                c = "";
+              }
+            } else {
+              c = String(i);
+              if (pad) {
+                const need = width - c.length;
+                if (need > 0) {
+                  const z = new Array(need + 1).join("0");
+                  if (i < 0) {
+                    c = "-" + z + c.slice(1);
+                  } else {
+                    c = z + c;
+                  }
+                }
               }
-              throw new Error(response.message || "Response was not ok");
             }
-            signedUploadUrl = response.signedUploadUrl;
-          } catch (error3) {
-            core17.debug(`Failed to reserve cache: ${error3}`);
-            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache.`);
+            N.push(c);
           }
-          core17.debug(`Attempting to upload cache located at: ${archivePath}`);
-          yield cacheHttpClient.saveCache(cacheId, archivePath, signedUploadUrl, options);
-          const finalizeRequest = {
-            key,
-            version,
-            sizeBytes: `${archiveFileSize}`
-          };
-          const finalizeResponse = yield twirpClient.FinalizeCacheEntryUpload(finalizeRequest);
-          core17.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`);
-          if (!finalizeResponse.ok) {
-            if (finalizeResponse.message) {
-              throw new FinalizeCacheError(finalizeResponse.message);
-            }
-            throw new Error(`Unable to finalize cache with key ${key}, another job may be finalizing this cache.`);
+        } else {
+          N = [];
+          for (let j = 0; j < n.length; j++) {
+            N.push.apply(N, expand_(n[j], max, false));
           }
-          cacheId = parseInt(finalizeResponse.entryId);
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else if (typedError.name === ReserveCacheError2.name) {
-            core17.info(`Failed to save: ${typedError.message}`);
-          } else if (typedError.name === FinalizeCacheError.name) {
-            core17.warning(typedError.message);
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core17.error(`Failed to save: ${typedError.message}`);
-            } else {
-              core17.warning(`Failed to save: ${typedError.message}`);
+        }
+        for (let j = 0; j < N.length; j++) {
+          for (let k = 0; k < post.length && expansions.length < max; k++) {
+            const expansion = pre + N[j] + post[k];
+            if (!isTop || isSequence || expansion) {
+              expansions.push(expansion);
             }
           }
-        } finally {
-          try {
-            yield utils.unlinkFile(archivePath);
-          } catch (error3) {
-            core17.debug(`Failed to delete archive: ${error3}`);
-          }
         }
-        return cacheId;
-      });
+      }
+      return expansions;
     }
   }
 });
 
-// node_modules/@actions/tool-cache/lib/manifest.js
-var require_manifest = __commonJS({
-  "node_modules/@actions/tool-cache/lib/manifest.js"(exports2, module2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
+var require_assert_valid_pattern = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2._findMatch = _findMatch;
-    exports2._getOsVersion = _getOsVersion;
-    exports2._readLinuxVersionFile = _readLinuxVersionFile;
-    var semver9 = __importStar2(require_semver2());
-    var core_1 = require_core();
-    var os4 = require("os");
-    var cp = require("child_process");
-    var fs18 = require("fs");
-    function _findMatch(versionSpec, stable, candidates, archFilter) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const platFilter = os4.platform();
-        let result;
-        let match;
-        let file;
-        for (const candidate of candidates) {
-          const version = candidate.version;
-          (0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
-          if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
-            file = candidate.files.find((item) => {
-              (0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
-              let chk = item.arch === archFilter && item.platform === platFilter;
-              if (chk && item.platform_version) {
-                const osVersion = module2.exports._getOsVersion();
-                if (osVersion === item.platform_version) {
-                  chk = true;
-                } else {
-                  chk = semver9.satisfies(osVersion, item.platform_version);
-                }
-              }
-              return chk;
-            });
-            if (file) {
-              (0, core_1.debug)(`matched ${candidate.version}`);
-              match = candidate;
-              break;
-            }
-          }
-        }
-        if (match && file) {
-          result = Object.assign({}, match);
-          result.files = [file];
-        }
-        return result;
-      });
-    }
-    function _getOsVersion() {
-      const plat = os4.platform();
-      let version = "";
-      if (plat === "darwin") {
-        version = cp.execSync("sw_vers -productVersion").toString();
-      } else if (plat === "linux") {
-        const lsbContents = module2.exports._readLinuxVersionFile();
-        if (lsbContents) {
-          const lines = lsbContents.split("\n");
-          for (const line of lines) {
-            const parts = line.split("=");
-            if (parts.length === 2 && (parts[0].trim() === "VERSION_ID" || parts[0].trim() === "DISTRIB_RELEASE")) {
-              version = parts[1].trim().replace(/^"/, "").replace(/"$/, "");
-              break;
-            }
-          }
-        }
+    exports2.assertValidPattern = void 0;
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = (pattern) => {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
       }
-      return version;
-    }
-    function _readLinuxVersionFile() {
-      const lsbReleaseFile = "/etc/lsb-release";
-      const osReleaseFile = "/etc/os-release";
-      let contents = "";
-      if (fs18.existsSync(lsbReleaseFile)) {
-        contents = fs18.readFileSync(lsbReleaseFile).toString();
-      } else if (fs18.existsSync(osReleaseFile)) {
-        contents = fs18.readFileSync(osReleaseFile).toString();
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
       }
-      return contents;
-    }
+    };
+    exports2.assertValidPattern = assertValidPattern;
   }
 });
 
-// node_modules/@actions/tool-cache/lib/retry-helper.js
-var require_retry_helper = __commonJS({
-  "node_modules/@actions/tool-cache/lib/retry-helper.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
+var require_brace_expressions = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.parseClass = void 0;
+    var posixClasses = {
+      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
+      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
+      "[:ascii:]": ["\\x00-\\x7f", false],
+      "[:blank:]": ["\\p{Zs}\\t", true],
+      "[:cntrl:]": ["\\p{Cc}", true],
+      "[:digit:]": ["\\p{Nd}", true],
+      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
+      "[:lower:]": ["\\p{Ll}", true],
+      "[:print:]": ["\\p{C}", true],
+      "[:punct:]": ["\\p{P}", true],
+      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
+      "[:upper:]": ["\\p{Lu}", true],
+      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
+      "[:xdigit:]": ["A-Fa-f0-9", false]
+    };
+    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
+    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var rangesToString = (ranges) => ranges.join("");
+    var parseClass = (glob2, position) => {
+      const pos = position;
+      if (glob2.charAt(pos) !== "[") {
+        throw new Error("not in a brace expression");
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      const ranges = [];
+      const negs = [];
+      let i = pos + 1;
+      let sawStart = false;
+      let uflag = false;
+      let escaping = false;
+      let negate2 = false;
+      let endPos = pos;
+      let rangeStart = "";
+      WHILE: while (i < glob2.length) {
+        const c = glob2.charAt(i);
+        if ((c === "!" || c === "^") && i === pos + 1) {
+          negate2 = true;
+          i++;
+          continue;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+        if (c === "]" && sawStart && !escaping) {
+          endPos = i + 1;
+          break;
+        }
+        sawStart = true;
+        if (c === "\\") {
+          if (!escaping) {
+            escaping = true;
+            i++;
+            continue;
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        if (c === "[" && !escaping) {
+          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
+            if (glob2.startsWith(cls, i)) {
+              if (rangeStart) {
+                return ["$.", false, glob2.length - pos, true];
+              }
+              i += cls.length;
+              if (neg)
+                negs.push(unip);
+              else
+                ranges.push(unip);
+              uflag = uflag || u;
+              continue WHILE;
+            }
           }
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        escaping = false;
+        if (rangeStart) {
+          if (c > rangeStart) {
+            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
+          } else if (c === rangeStart) {
+            ranges.push(braceEscape(c));
+          }
+          rangeStart = "";
+          i++;
+          continue;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RetryHelper = void 0;
-    var core17 = __importStar2(require_core());
-    var RetryHelper = class {
-      constructor(maxAttempts, minSeconds, maxSeconds) {
-        if (maxAttempts < 1) {
-          throw new Error("max attempts should be greater than or equal to 1");
+        if (glob2.startsWith("-]", i + 1)) {
+          ranges.push(braceEscape(c + "-"));
+          i += 2;
+          continue;
         }
-        this.maxAttempts = maxAttempts;
-        this.minSeconds = Math.floor(minSeconds);
-        this.maxSeconds = Math.floor(maxSeconds);
-        if (this.minSeconds > this.maxSeconds) {
-          throw new Error("min seconds should be less than or equal to max seconds");
+        if (glob2.startsWith("-", i + 1)) {
+          rangeStart = c;
+          i += 2;
+          continue;
         }
+        ranges.push(braceEscape(c));
+        i++;
       }
-      execute(action, isRetryable) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 1;
-          while (attempt < this.maxAttempts) {
-            try {
-              return yield action();
-            } catch (err) {
-              if (isRetryable && !isRetryable(err)) {
-                throw err;
-              }
-              core17.info(err.message);
-            }
-            const seconds = this.getSleepAmount();
-            core17.info(`Waiting ${seconds} seconds before trying again`);
-            yield this.sleep(seconds);
-            attempt++;
-          }
-          return yield action();
-        });
+      if (endPos < i) {
+        return ["", false, 0, false];
       }
-      getSleepAmount() {
-        return Math.floor(Math.random() * (this.maxSeconds - this.minSeconds + 1)) + this.minSeconds;
+      if (!ranges.length && !negs.length) {
+        return ["$.", false, glob2.length - pos, true];
       }
-      sleep(seconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve8) => setTimeout(resolve8, seconds * 1e3));
-        });
+      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate2) {
+        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
+        return [regexpEscape(r), false, endPos - pos, false];
+      }
+      const sranges = "[" + (negate2 ? "^" : "") + rangesToString(ranges) + "]";
+      const snegs = "[" + (negate2 ? "" : "^") + rangesToString(negs) + "]";
+      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
+      return [comb, uflag, endPos - pos, true];
+    };
+    exports2.parseClass = parseClass;
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
+var require_unescape = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.unescape = void 0;
+    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
+      if (magicalBraces) {
+        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
       }
+      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
     };
-    exports2.RetryHelper = RetryHelper;
+    exports2.unescape = unescape;
   }
 });
 
-// node_modules/@actions/tool-cache/lib/tool-cache.js
-var require_tool_cache = __commonJS({
-  "node_modules/@actions/tool-cache/lib/tool-cache.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
+var require_ast = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AST = void 0;
+    var brace_expressions_js_1 = require_brace_expressions();
+    var unescape_js_1 = require_unescape();
+    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
+    var isExtglobType = (c) => types.has(c);
+    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
+    var startNoDot = "(?!\\.)";
+    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
+    var justDots = /* @__PURE__ */ new Set(["..", "."]);
+    var reSpecials = new Set("().*{}+?[]^$\\!");
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var starNoEmpty = qmark + "+?";
+    var AST = class _AST {
+      type;
+      #root;
+      #hasMagic;
+      #uflag = false;
+      #parts = [];
+      #parent;
+      #parentIndex;
+      #negs;
+      #filledNegs = false;
+      #options;
+      #toString;
+      // set to true if it's an extglob with no children
+      // (which really means one child of '')
+      #emptyExt = false;
+      constructor(type2, parent, options = {}) {
+        this.type = type2;
+        if (type2)
+          this.#hasMagic = true;
+        this.#parent = parent;
+        this.#root = this.#parent ? this.#parent.#root : this;
+        this.#options = this.#root === this ? options : this.#root.#options;
+        this.#negs = this.#root === this ? [] : this.#root.#negs;
+        if (type2 === "!" && !this.#root.#filledNegs)
+          this.#negs.push(this);
+        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      get hasMagic() {
+        if (this.#hasMagic !== void 0)
+          return this.#hasMagic;
+        for (const p of this.#parts) {
+          if (typeof p === "string")
+            continue;
+          if (p.type || p.hasMagic)
+            return this.#hasMagic = true;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+        return this.#hasMagic;
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      // reconstructs the pattern
+      toString() {
+        if (this.#toString !== void 0)
+          return this.#toString;
+        if (!this.type) {
+          return this.#toString = this.#parts.map((p) => String(p)).join("");
+        } else {
+          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
+        }
+      }
+      #fillNegs() {
+        if (this !== this.#root)
+          throw new Error("should only call on root");
+        if (this.#filledNegs)
+          return this;
+        this.toString();
+        this.#filledNegs = true;
+        let n;
+        while (n = this.#negs.pop()) {
+          if (n.type !== "!")
+            continue;
+          let p = n;
+          let pp = p.#parent;
+          while (pp) {
+            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
+              for (const part of n.#parts) {
+                if (typeof part === "string") {
+                  throw new Error("string part in extglob AST??");
+                }
+                part.copyIn(pp.#parts[i]);
+              }
+            }
+            p = pp;
+            pp = p.#parent;
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        return this;
+      }
+      push(...parts) {
+        for (const p of parts) {
+          if (p === "")
+            continue;
+          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
+            throw new Error("invalid part: " + p);
           }
+          this.#parts.push(p);
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      toJSON() {
+        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
+        if (this.isStart() && !this.type)
+          ret.unshift([]);
+        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
+          ret.push({});
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HTTPError = void 0;
-    exports2.downloadTool = downloadTool2;
-    exports2.extract7z = extract7z;
-    exports2.extractTar = extractTar2;
-    exports2.extractXar = extractXar;
-    exports2.extractZip = extractZip;
-    exports2.cacheDir = cacheDir;
-    exports2.cacheFile = cacheFile;
-    exports2.find = find2;
-    exports2.findAllVersions = findAllVersions2;
-    exports2.getManifestFromRepo = getManifestFromRepo;
-    exports2.findFromManifest = findFromManifest;
-    exports2.isExplicitVersion = isExplicitVersion;
-    exports2.evaluateVersions = evaluateVersions;
-    var core17 = __importStar2(require_core());
-    var io7 = __importStar2(require_io());
-    var crypto2 = __importStar2(require("crypto"));
-    var fs18 = __importStar2(require("fs"));
-    var mm = __importStar2(require_manifest());
-    var os4 = __importStar2(require("os"));
-    var path16 = __importStar2(require("path"));
-    var httpm = __importStar2(require_lib());
-    var semver9 = __importStar2(require_semver2());
-    var stream2 = __importStar2(require("stream"));
-    var util = __importStar2(require("util"));
-    var assert_1 = require("assert");
-    var exec_1 = require_exec();
-    var retry_helper_1 = require_retry_helper();
-    var HTTPError2 = class extends Error {
-      constructor(httpStatusCode) {
-        super(`Unexpected HTTP response: ${httpStatusCode}`);
-        this.httpStatusCode = httpStatusCode;
-        Object.setPrototypeOf(this, new.target.prototype);
+        return ret;
       }
-    };
-    exports2.HTTPError = HTTPError2;
-    var IS_WINDOWS = process.platform === "win32";
-    var IS_MAC = process.platform === "darwin";
-    var userAgent2 = "actions/tool-cache";
-    function downloadTool2(url2, dest, auth2, headers) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        dest = dest || path16.join(_getTempDirectory(), crypto2.randomUUID());
-        yield io7.mkdirP(path16.dirname(dest));
-        core17.debug(`Downloading ${url2}`);
-        core17.debug(`Destination ${dest}`);
-        const maxAttempts = 3;
-        const minSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS", 10);
-        const maxSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS", 20);
-        const retryHelper = new retry_helper_1.RetryHelper(maxAttempts, minSeconds, maxSeconds);
-        return yield retryHelper.execute(() => __awaiter2(this, void 0, void 0, function* () {
-          return yield downloadToolAttempt(url2, dest || "", auth2, headers);
-        }), (err) => {
-          if (err instanceof HTTPError2 && err.httpStatusCode) {
-            if (err.httpStatusCode < 500 && err.httpStatusCode !== 408 && err.httpStatusCode !== 429) {
-              return false;
-            }
-          }
+      isStart() {
+        if (this.#root === this)
           return true;
-        });
-      });
-    }
-    function downloadToolAttempt(url2, dest, auth2, headers) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        if (fs18.existsSync(dest)) {
-          throw new Error(`Destination file path ${dest} already exists`);
-        }
-        const http = new httpm.HttpClient(userAgent2, [], {
-          allowRetries: false
-        });
-        if (auth2) {
-          core17.debug("set auth");
-          if (headers === void 0) {
-            headers = {};
+        if (!this.#parent?.isStart())
+          return false;
+        if (this.#parentIndex === 0)
+          return true;
+        const p = this.#parent;
+        for (let i = 0; i < this.#parentIndex; i++) {
+          const pp = p.#parts[i];
+          if (!(pp instanceof _AST && pp.type === "!")) {
+            return false;
           }
-          headers.authorization = auth2;
         }
-        const response = yield http.get(url2, headers);
-        if (response.message.statusCode !== 200) {
-          const err = new HTTPError2(response.message.statusCode);
-          core17.debug(`Failed to download from "${url2}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`);
-          throw err;
+        return true;
+      }
+      isEnd() {
+        if (this.#root === this)
+          return true;
+        if (this.#parent?.type === "!")
+          return true;
+        if (!this.#parent?.isEnd())
+          return false;
+        if (!this.type)
+          return this.#parent?.isEnd();
+        const pl = this.#parent ? this.#parent.#parts.length : 0;
+        return this.#parentIndex === pl - 1;
+      }
+      copyIn(part) {
+        if (typeof part === "string")
+          this.push(part);
+        else
+          this.push(part.clone(this));
+      }
+      clone(parent) {
+        const c = new _AST(this.type, parent);
+        for (const p of this.#parts) {
+          c.copyIn(p);
         }
-        const pipeline = util.promisify(stream2.pipeline);
-        const responseMessageFactory = _getGlobal("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY", () => response.message);
-        const readStream = responseMessageFactory();
-        let succeeded = false;
-        try {
-          yield pipeline(readStream, fs18.createWriteStream(dest));
-          core17.debug("download complete");
-          succeeded = true;
-          return dest;
-        } finally {
-          if (!succeeded) {
-            core17.debug("download failed");
-            try {
-              yield io7.rmRF(dest);
-            } catch (err) {
-              core17.debug(`Failed to delete '${dest}'. ${err.message}`);
+        return c;
+      }
+      static #parseAST(str2, ast, pos, opt) {
+        let escaping = false;
+        let inBrace = false;
+        let braceStart = -1;
+        let braceNeg = false;
+        if (ast.type === null) {
+          let i2 = pos;
+          let acc2 = "";
+          while (i2 < str2.length) {
+            const c = str2.charAt(i2++);
+            if (escaping || c === "\\") {
+              escaping = !escaping;
+              acc2 += c;
+              continue;
+            }
+            if (inBrace) {
+              if (i2 === braceStart + 1) {
+                if (c === "^" || c === "!") {
+                  braceNeg = true;
+                }
+              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
+                inBrace = false;
+              }
+              acc2 += c;
+              continue;
+            } else if (c === "[") {
+              inBrace = true;
+              braceStart = i2;
+              braceNeg = false;
+              acc2 += c;
+              continue;
+            }
+            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
+              ast.push(acc2);
+              acc2 = "";
+              const ext = new _AST(c, ast);
+              i2 = _AST.#parseAST(str2, ext, i2, opt);
+              ast.push(ext);
+              continue;
             }
+            acc2 += c;
           }
+          ast.push(acc2);
+          return i2;
         }
-      });
-    }
-    function extract7z(file, dest, _7zPath) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, assert_1.ok)(IS_WINDOWS, "extract7z() not supported on current OS");
-        (0, assert_1.ok)(file, 'parameter "file" is required');
-        dest = yield _createExtractFolder(dest);
-        const originalCwd = process.cwd();
-        process.chdir(dest);
-        if (_7zPath) {
-          try {
-            const logLevel = core17.isDebug() ? "-bb1" : "-bb0";
-            const args = [
-              "x",
-              // eXtract files with full paths
-              logLevel,
-              // -bb[0-3] : set output log level
-              "-bd",
-              // disable progress indicator
-              "-sccUTF-8",
-              // set charset for for console input/output
-              file
-            ];
-            const options = {
-              silent: true
-            };
-            yield (0, exec_1.exec)(`"${_7zPath}"`, args, options);
-          } finally {
-            process.chdir(originalCwd);
+        let i = pos + 1;
+        let part = new _AST(null, ast);
+        const parts = [];
+        let acc = "";
+        while (i < str2.length) {
+          const c = str2.charAt(i++);
+          if (escaping || c === "\\") {
+            escaping = !escaping;
+            acc += c;
+            continue;
           }
-        } else {
-          const escapedScript = path16.join(__dirname, "..", "scripts", "Invoke-7zdec.ps1").replace(/'/g, "''").replace(/"|\n|\r/g, "");
-          const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, "");
-          const escapedTarget = dest.replace(/'/g, "''").replace(/"|\n|\r/g, "");
-          const command = `& '${escapedScript}' -Source '${escapedFile}' -Target '${escapedTarget}'`;
-          const args = [
-            "-NoLogo",
-            "-Sta",
-            "-NoProfile",
-            "-NonInteractive",
-            "-ExecutionPolicy",
-            "Unrestricted",
-            "-Command",
-            command
-          ];
-          const options = {
-            silent: true
-          };
-          try {
-            const powershellPath = yield io7.which("powershell", true);
-            yield (0, exec_1.exec)(`"${powershellPath}"`, args, options);
-          } finally {
-            process.chdir(originalCwd);
+          if (inBrace) {
+            if (i === braceStart + 1) {
+              if (c === "^" || c === "!") {
+                braceNeg = true;
+              }
+            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
+              inBrace = false;
+            }
+            acc += c;
+            continue;
+          } else if (c === "[") {
+            inBrace = true;
+            braceStart = i;
+            braceNeg = false;
+            acc += c;
+            continue;
           }
-        }
-        return dest;
-      });
-    }
-    function extractTar2(file_1, dest_1) {
-      return __awaiter2(this, arguments, void 0, function* (file, dest, flags = "xz") {
-        if (!file) {
-          throw new Error("parameter 'file' is required");
-        }
-        dest = yield _createExtractFolder(dest);
-        core17.debug("Checking tar --version");
-        let versionOutput = "";
-        yield (0, exec_1.exec)("tar --version", [], {
-          ignoreReturnCode: true,
-          silent: true,
-          listeners: {
-            stdout: (data) => versionOutput += data.toString(),
-            stderr: (data) => versionOutput += data.toString()
+          if (isExtglobType(c) && str2.charAt(i) === "(") {
+            part.push(acc);
+            acc = "";
+            const ext = new _AST(c, part);
+            part.push(ext);
+            i = _AST.#parseAST(str2, ext, i, opt);
+            continue;
           }
-        });
-        core17.debug(versionOutput.trim());
-        const isGnuTar = versionOutput.toUpperCase().includes("GNU TAR");
-        let args;
-        if (flags instanceof Array) {
-          args = flags;
-        } else {
-          args = [flags];
-        }
-        if (core17.isDebug() && !flags.includes("v")) {
-          args.push("-v");
-        }
-        let destArg = dest;
-        let fileArg = file;
-        if (IS_WINDOWS && isGnuTar) {
-          args.push("--force-local");
-          destArg = dest.replace(/\\/g, "/");
-          fileArg = file.replace(/\\/g, "/");
-        }
-        if (isGnuTar) {
-          args.push("--warning=no-unknown-keyword");
-          args.push("--overwrite");
-        }
-        args.push("-C", destArg, "-f", fileArg);
-        yield (0, exec_1.exec)(`tar`, args);
-        return dest;
-      });
-    }
-    function extractXar(file_1, dest_1) {
-      return __awaiter2(this, arguments, void 0, function* (file, dest, flags = []) {
-        (0, assert_1.ok)(IS_MAC, "extractXar() not supported on current OS");
-        (0, assert_1.ok)(file, 'parameter "file" is required');
-        dest = yield _createExtractFolder(dest);
-        let args;
-        if (flags instanceof Array) {
-          args = flags;
-        } else {
-          args = [flags];
-        }
-        args.push("-x", "-C", dest, "-f", file);
-        if (core17.isDebug()) {
-          args.push("-v");
-        }
-        const xarPath = yield io7.which("xar", true);
-        yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args));
-        return dest;
-      });
-    }
-    function extractZip(file, dest) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        if (!file) {
-          throw new Error("parameter 'file' is required");
-        }
-        dest = yield _createExtractFolder(dest);
-        if (IS_WINDOWS) {
-          yield extractZipWin(file, dest);
-        } else {
-          yield extractZipNix(file, dest);
-        }
-        return dest;
-      });
-    }
-    function extractZipWin(file, dest) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, "");
-        const escapedDest = dest.replace(/'/g, "''").replace(/"|\n|\r/g, "");
-        const pwshPath = yield io7.which("pwsh", false);
-        if (pwshPath) {
-          const pwshCommand = [
-            `$ErrorActionPreference = 'Stop' ;`,
-            `try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;`,
-            `try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`,
-            `catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force } else { throw $_ } } ;`
-          ].join(" ");
-          const args = [
-            "-NoLogo",
-            "-NoProfile",
-            "-NonInteractive",
-            "-ExecutionPolicy",
-            "Unrestricted",
-            "-Command",
-            pwshCommand
-          ];
-          core17.debug(`Using pwsh at path: ${pwshPath}`);
-          yield (0, exec_1.exec)(`"${pwshPath}"`, args);
-        } else {
-          const powershellCommand = [
-            `$ErrorActionPreference = 'Stop' ;`,
-            `try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`,
-            `if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force }`,
-            `else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`
-          ].join(" ");
-          const args = [
-            "-NoLogo",
-            "-Sta",
-            "-NoProfile",
-            "-NonInteractive",
-            "-ExecutionPolicy",
-            "Unrestricted",
-            "-Command",
-            powershellCommand
-          ];
-          const powershellPath = yield io7.which("powershell", true);
-          core17.debug(`Using powershell at path: ${powershellPath}`);
-          yield (0, exec_1.exec)(`"${powershellPath}"`, args);
-        }
-      });
-    }
-    function extractZipNix(file, dest) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const unzipPath = yield io7.which("unzip", true);
-        const args = [file];
-        if (!core17.isDebug()) {
-          args.unshift("-q");
-        }
-        args.unshift("-o");
-        yield (0, exec_1.exec)(`"${unzipPath}"`, args, { cwd: dest });
-      });
-    }
-    function cacheDir(sourceDir, tool, version, arch2) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        version = semver9.clean(version) || version;
-        arch2 = arch2 || os4.arch();
-        core17.debug(`Caching tool ${tool} ${version} ${arch2}`);
-        core17.debug(`source dir: ${sourceDir}`);
-        if (!fs18.statSync(sourceDir).isDirectory()) {
-          throw new Error("sourceDir is not a directory");
-        }
-        const destPath = yield _createToolPath(tool, version, arch2);
-        for (const itemName of fs18.readdirSync(sourceDir)) {
-          const s = path16.join(sourceDir, itemName);
-          yield io7.cp(s, destPath, { recursive: true });
-        }
-        _completeToolPath(tool, version, arch2);
-        return destPath;
-      });
-    }
-    function cacheFile(sourceFile, targetFile, tool, version, arch2) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        version = semver9.clean(version) || version;
-        arch2 = arch2 || os4.arch();
-        core17.debug(`Caching tool ${tool} ${version} ${arch2}`);
-        core17.debug(`source file: ${sourceFile}`);
-        if (!fs18.statSync(sourceFile).isFile()) {
-          throw new Error("sourceFile is not a file");
+          if (c === "|") {
+            part.push(acc);
+            acc = "";
+            parts.push(part);
+            part = new _AST(null, ast);
+            continue;
+          }
+          if (c === ")") {
+            if (acc === "" && ast.#parts.length === 0) {
+              ast.#emptyExt = true;
+            }
+            part.push(acc);
+            acc = "";
+            ast.push(...parts, part);
+            return i;
+          }
+          acc += c;
         }
-        const destFolder = yield _createToolPath(tool, version, arch2);
-        const destPath = path16.join(destFolder, targetFile);
-        core17.debug(`destination file ${destPath}`);
-        yield io7.cp(sourceFile, destPath);
-        _completeToolPath(tool, version, arch2);
-        return destFolder;
-      });
-    }
-    function find2(toolName, versionSpec, arch2) {
-      if (!toolName) {
-        throw new Error("toolName parameter is required");
-      }
-      if (!versionSpec) {
-        throw new Error("versionSpec parameter is required");
+        ast.type = null;
+        ast.#hasMagic = void 0;
+        ast.#parts = [str2.substring(pos - 1)];
+        return i;
       }
-      arch2 = arch2 || os4.arch();
-      if (!isExplicitVersion(versionSpec)) {
-        const localVersions = findAllVersions2(toolName, arch2);
-        const match = evaluateVersions(localVersions, versionSpec);
-        versionSpec = match;
+      static fromGlob(pattern, options = {}) {
+        const ast = new _AST(null, void 0, options);
+        _AST.#parseAST(pattern, ast, 0, options);
+        return ast;
       }
-      let toolPath = "";
-      if (versionSpec) {
-        versionSpec = semver9.clean(versionSpec) || "";
-        const cachePath = path16.join(_getCacheDirectory(), toolName, versionSpec, arch2);
-        core17.debug(`checking cache: ${cachePath}`);
-        if (fs18.existsSync(cachePath) && fs18.existsSync(`${cachePath}.complete`)) {
-          core17.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch2}`);
-          toolPath = cachePath;
-        } else {
-          core17.debug("not found");
+      // returns the regular expression if there's magic, or the unescaped
+      // string if not.
+      toMMPattern() {
+        if (this !== this.#root)
+          return this.#root.toMMPattern();
+        const glob2 = this.toString();
+        const [re, body, hasMagic, uflag] = this.toRegExpSource();
+        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
+        if (!anyMagic) {
+          return body;
         }
+        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
+        return Object.assign(new RegExp(`^${re}$`, flags), {
+          _src: re,
+          _glob: glob2
+        });
       }
-      return toolPath;
-    }
-    function findAllVersions2(toolName, arch2) {
-      const versions = [];
-      arch2 = arch2 || os4.arch();
-      const toolPath = path16.join(_getCacheDirectory(), toolName);
-      if (fs18.existsSync(toolPath)) {
-        const children = fs18.readdirSync(toolPath);
-        for (const child of children) {
-          if (isExplicitVersion(child)) {
-            const fullPath = path16.join(toolPath, child, arch2 || "");
-            if (fs18.existsSync(fullPath) && fs18.existsSync(`${fullPath}.complete`)) {
-              versions.push(child);
+      get options() {
+        return this.#options;
+      }
+      // returns the string match, the regexp source, whether there's magic
+      // in the regexp (so a regular expression is required) and whether or
+      // not the uflag is needed for the regular expression (for posix classes)
+      // TODO: instead of injecting the start/end at this point, just return
+      // the BODY of the regexp, along with the start/end portions suitable
+      // for binding the start/end in either a joined full-path makeRe context
+      // (where we bind to (^|/), or a standalone matchPart context (where
+      // we bind to ^, and not /).  Otherwise slashes get duped!
+      //
+      // In part-matching mode, the start is:
+      // - if not isStart: nothing
+      // - if traversal possible, but not allowed: ^(?!\.\.?$)
+      // - if dots allowed or not possible: ^
+      // - if dots possible and not allowed: ^(?!\.)
+      // end is:
+      // - if not isEnd(): nothing
+      // - else: $
+      //
+      // In full-path matching mode, we put the slash at the START of the
+      // pattern, so start is:
+      // - if first pattern: same as part-matching mode
+      // - if not isStart(): nothing
+      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
+      // - if dots allowed or not possible: /
+      // - if dots possible and not allowed: /(?!\.)
+      // end is:
+      // - if last pattern, same as part-matching mode
+      // - else nothing
+      //
+      // Always put the (?:$|/) on negated tails, though, because that has to be
+      // there to bind the end of the negated pattern portion, and it's easier to
+      // just stick it in now rather than try to inject it later in the middle of
+      // the pattern.
+      //
+      // We can just always return the same end, and leave it up to the caller
+      // to know whether it's going to be used joined or in parts.
+      // And, if the start is adjusted slightly, can do the same there:
+      // - if not isStart: nothing
+      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
+      // - if dots allowed or not possible: (?:/|^)
+      // - if dots possible and not allowed: (?:/|^)(?!\.)
+      //
+      // But it's better to have a simpler binding without a conditional, for
+      // performance, so probably better to return both start options.
+      //
+      // Then the caller just ignores the end if it's not the first pattern,
+      // and the start always gets applied.
+      //
+      // But that's always going to be $ if it's the ending pattern, or nothing,
+      // so the caller can just attach $ at the end of the pattern when building.
+      //
+      // So the todo is:
+      // - better detect what kind of start is needed
+      // - return both flavors of starting pattern
+      // - attach $ at the end of the pattern when creating the actual RegExp
+      //
+      // Ah, but wait, no, that all only applies to the root when the first pattern
+      // is not an extglob. If the first pattern IS an extglob, then we need all
+      // that dot prevention biz to live in the extglob portions, because eg
+      // +(*|.x*) can match .xy but not .yx.
+      //
+      // So, return the two flavors if it's #root and the first child is not an
+      // AST, otherwise leave it to the child AST to handle it, and there,
+      // use the (?:^|/) style of start binding.
+      //
+      // Even simplified further:
+      // - Since the start for a join is eg /(?!\.) and the start for a part
+      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
+      // or start or whatever) and prepend ^ or / at the Regexp construction.
+      toRegExpSource(allowDot) {
+        const dot = allowDot ?? !!this.#options.dot;
+        if (this.#root === this)
+          this.#fillNegs();
+        if (!this.type) {
+          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
+          const src = this.#parts.map((p) => {
+            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
+            this.#hasMagic = this.#hasMagic || hasMagic;
+            this.#uflag = this.#uflag || uflag;
+            return re;
+          }).join("");
+          let start2 = "";
+          if (this.isStart()) {
+            if (typeof this.#parts[0] === "string") {
+              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
+              if (!dotTravAllowed) {
+                const aps = addPatternStart;
+                const needNoTrav = (
+                  // dots are allowed, and the pattern starts with [ or .
+                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
+                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
+                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
+                );
+                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
+                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
+              }
             }
           }
-        }
-      }
-      return versions;
-    }
-    function getManifestFromRepo(owner_1, repo_1, auth_1) {
-      return __awaiter2(this, arguments, void 0, function* (owner, repo, auth2, branch = "master") {
-        let releases = [];
-        const treeUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}`;
-        const http = new httpm.HttpClient("tool-cache");
-        const headers = {};
-        if (auth2) {
-          core17.debug("set auth");
-          headers.authorization = auth2;
-        }
-        const response = yield http.getJson(treeUrl, headers);
-        if (!response.result) {
-          return releases;
-        }
-        let manifestUrl = "";
-        for (const item of response.result.tree) {
-          if (item.path === "versions-manifest.json") {
-            manifestUrl = item.url;
-            break;
+          let end = "";
+          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
+            end = "(?:$|\\/)";
           }
+          const final2 = start2 + src + end;
+          return [
+            final2,
+            (0, unescape_js_1.unescape)(src),
+            this.#hasMagic = !!this.#hasMagic,
+            this.#uflag
+          ];
         }
-        headers["accept"] = "application/vnd.github.VERSION.raw";
-        let versionsRaw = yield (yield http.get(manifestUrl, headers)).readBody();
-        if (versionsRaw) {
-          versionsRaw = versionsRaw.replace(/^\uFEFF/, "");
-          try {
-            releases = JSON.parse(versionsRaw);
-          } catch (_a) {
-            core17.debug("Invalid json");
-          }
+        const repeated = this.type === "*" || this.type === "+";
+        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
+        let body = this.#partsToRegExp(dot);
+        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
+          const s = this.toString();
+          this.#parts = [s];
+          this.type = null;
+          this.#hasMagic = void 0;
+          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
         }
-        return releases;
-      });
-    }
-    function findFromManifest(versionSpec_1, stable_1, manifest_1) {
-      return __awaiter2(this, arguments, void 0, function* (versionSpec, stable, manifest, archFilter = os4.arch()) {
-        const match = yield mm._findMatch(versionSpec, stable, manifest, archFilter);
-        return match;
-      });
-    }
-    function _createExtractFolder(dest) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        if (!dest) {
-          dest = path16.join(_getTempDirectory(), crypto2.randomUUID());
+        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
+        if (bodyDotAllowed === body) {
+          bodyDotAllowed = "";
         }
-        yield io7.mkdirP(dest);
-        return dest;
-      });
-    }
-    function _createToolPath(tool, version, arch2) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const folderPath = path16.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
-        core17.debug(`destination ${folderPath}`);
-        const markerPath = `${folderPath}.complete`;
-        yield io7.rmRF(folderPath);
-        yield io7.rmRF(markerPath);
-        yield io7.mkdirP(folderPath);
-        return folderPath;
-      });
-    }
-    function _completeToolPath(tool, version, arch2) {
-      const folderPath = path16.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch2 || "");
-      const markerPath = `${folderPath}.complete`;
-      fs18.writeFileSync(markerPath, "");
-      core17.debug("finished caching tool");
-    }
-    function isExplicitVersion(versionSpec) {
-      const c = semver9.clean(versionSpec) || "";
-      core17.debug(`isExplicit: ${c}`);
-      const valid3 = semver9.valid(c) != null;
-      core17.debug(`explicit? ${valid3}`);
-      return valid3;
-    }
-    function evaluateVersions(versions, versionSpec) {
-      let version = "";
-      core17.debug(`evaluating ${versions.length} versions`);
-      versions = versions.sort((a, b) => {
-        if (semver9.gt(a, b)) {
-          return 1;
+        if (bodyDotAllowed) {
+          body = `(?:${body})(?:${bodyDotAllowed})*?`;
         }
-        return -1;
-      });
-      for (let i = versions.length - 1; i >= 0; i--) {
-        const potential = versions[i];
-        const satisfied = semver9.satisfies(potential, versionSpec);
-        if (satisfied) {
-          version = potential;
-          break;
+        let final = "";
+        if (this.type === "!" && this.#emptyExt) {
+          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
+        } else {
+          const close = this.type === "!" ? (
+            // !() must match something,but !(x) can match ''
+            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
+          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
+          final = start + body + close;
         }
+        return [
+          final,
+          (0, unescape_js_1.unescape)(body),
+          this.#hasMagic = !!this.#hasMagic,
+          this.#uflag
+        ];
       }
-      if (version) {
-        core17.debug(`matched: ${version}`);
-      } else {
-        core17.debug("match not found");
-      }
-      return version;
-    }
-    function _getCacheDirectory() {
-      const cacheDirectory = process.env["RUNNER_TOOL_CACHE"] || "";
-      (0, assert_1.ok)(cacheDirectory, "Expected RUNNER_TOOL_CACHE to be defined");
-      return cacheDirectory;
-    }
-    function _getTempDirectory() {
-      const tempDirectory = process.env["RUNNER_TEMP"] || "";
-      (0, assert_1.ok)(tempDirectory, "Expected RUNNER_TEMP to be defined");
-      return tempDirectory;
-    }
-    function _getGlobal(key, defaultValue) {
-      const value = global[key];
-      return value !== void 0 ? value : defaultValue;
-    }
-    function _unique(values) {
-      return Array.from(new Set(values));
-    }
-  }
-});
-
-// node_modules/fast-deep-equal/index.js
-var require_fast_deep_equal = __commonJS({
-  "node_modules/fast-deep-equal/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function equal(a, b) {
-      if (a === b) return true;
-      if (a && b && typeof a == "object" && typeof b == "object") {
-        if (a.constructor !== b.constructor) return false;
-        var length, i, keys;
-        if (Array.isArray(a)) {
-          length = a.length;
-          if (length != b.length) return false;
-          for (i = length; i-- !== 0; )
-            if (!equal(a[i], b[i])) return false;
-          return true;
-        }
-        if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
-        if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
-        if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
-        keys = Object.keys(a);
-        length = keys.length;
-        if (length !== Object.keys(b).length) return false;
-        for (i = length; i-- !== 0; )
-          if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
-        for (i = length; i-- !== 0; ) {
-          var key = keys[i];
-          if (!equal(a[key], b[key])) return false;
-        }
-        return true;
+      #partsToRegExp(dot) {
+        return this.#parts.map((p) => {
+          if (typeof p === "string") {
+            throw new Error("string type in extglob ast??");
+          }
+          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
+          this.#uflag = this.#uflag || uflag;
+          return re;
+        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
       }
-      return a !== a && b !== b;
-    };
-  }
-});
-
-// node_modules/follow-redirects/debug.js
-var require_debug3 = __commonJS({
-  "node_modules/follow-redirects/debug.js"(exports2, module2) {
-    var debug5;
-    module2.exports = function() {
-      if (!debug5) {
-        try {
-          debug5 = require_src()("follow-redirects");
-        } catch (error3) {
-        }
-        if (typeof debug5 !== "function") {
-          debug5 = function() {
-          };
+      static #parseGlob(glob2, hasMagic, noEmpty = false) {
+        let escaping = false;
+        let re = "";
+        let uflag = false;
+        for (let i = 0; i < glob2.length; i++) {
+          const c = glob2.charAt(i);
+          if (escaping) {
+            escaping = false;
+            re += (reSpecials.has(c) ? "\\" : "") + c;
+            continue;
+          }
+          if (c === "\\") {
+            if (i === glob2.length - 1) {
+              re += "\\\\";
+            } else {
+              escaping = true;
+            }
+            continue;
+          }
+          if (c === "[") {
+            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
+            if (consumed) {
+              re += src;
+              uflag = uflag || needUflag;
+              i += consumed - 1;
+              hasMagic = hasMagic || magic;
+              continue;
+            }
+          }
+          if (c === "*") {
+            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
+            hasMagic = true;
+            continue;
+          }
+          if (c === "?") {
+            re += qmark;
+            hasMagic = true;
+            continue;
+          }
+          re += regExpEscape(c);
         }
+        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
       }
-      debug5.apply(null, arguments);
     };
+    exports2.AST = AST;
   }
 });
 
-// node_modules/follow-redirects/index.js
-var require_follow_redirects = __commonJS({
-  "node_modules/follow-redirects/index.js"(exports2, module2) {
-    var url2 = require("url");
-    var URL2 = url2.URL;
-    var http = require("http");
-    var https2 = require("https");
-    var Writable = require("stream").Writable;
-    var assert = require("assert");
-    var debug5 = require_debug3();
-    (function detectUnsupportedEnvironment() {
-      var looksLikeNode = typeof process !== "undefined";
-      var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined";
-      var looksLikeV8 = isFunction(Error.captureStackTrace);
-      if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {
-        console.warn("The follow-redirects package should be excluded from browser builds.");
+// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
+var require_escape = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.escape = void 0;
+    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
+      if (magicalBraces) {
+        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
       }
-    })();
-    var useNativeURL = false;
-    try {
-      assert(new URL2(""));
-    } catch (error3) {
-      useNativeURL = error3.code === "ERR_INVALID_URL";
-    }
-    var preservedUrlFields = [
-      "auth",
-      "host",
-      "hostname",
-      "href",
-      "path",
-      "pathname",
-      "port",
-      "protocol",
-      "query",
-      "search",
-      "hash"
-    ];
-    var events = ["abort", "aborted", "connect", "error", "socket", "timeout"];
-    var eventHandlers = /* @__PURE__ */ Object.create(null);
-    events.forEach(function(event) {
-      eventHandlers[event] = function(arg1, arg2, arg3) {
-        this._redirectable.emit(event, arg1, arg2, arg3);
-      };
-    });
-    var InvalidUrlError = createErrorType(
-      "ERR_INVALID_URL",
-      "Invalid URL",
-      TypeError
-    );
-    var RedirectionError = createErrorType(
-      "ERR_FR_REDIRECTION_FAILURE",
-      "Redirected request failed"
-    );
-    var TooManyRedirectsError = createErrorType(
-      "ERR_FR_TOO_MANY_REDIRECTS",
-      "Maximum number of redirects exceeded",
-      RedirectionError
-    );
-    var MaxBodyLengthExceededError = createErrorType(
-      "ERR_FR_MAX_BODY_LENGTH_EXCEEDED",
-      "Request body larger than maxBodyLength limit"
-    );
-    var WriteAfterEndError = createErrorType(
-      "ERR_STREAM_WRITE_AFTER_END",
-      "write after end"
-    );
-    var destroy = Writable.prototype.destroy || noop3;
-    function RedirectableRequest(options, responseCallback) {
-      Writable.call(this);
-      this._sanitizeOptions(options);
-      this._options = options;
-      this._ended = false;
-      this._ending = false;
-      this._redirectCount = 0;
-      this._redirects = [];
-      this._requestBodyLength = 0;
-      this._requestBodyBuffers = [];
-      if (responseCallback) {
-        this.on("response", responseCallback);
+      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
+    };
+    exports2.escape = escape;
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js
+var require_commonjs20 = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
+    var brace_expansion_1 = require_commonjs19();
+    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
+    var ast_js_1 = require_ast();
+    var escape_js_1 = require_escape();
+    var unescape_js_1 = require_unescape();
+    var minimatch = (p, pattern, options = {}) => {
+      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
       }
-      var self2 = this;
-      this._onNativeResponse = function(response) {
-        try {
-          self2._processResponse(response);
-        } catch (cause) {
-          self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause }));
-        }
-      };
-      this._performRequest();
-    }
-    RedirectableRequest.prototype = Object.create(Writable.prototype);
-    RedirectableRequest.prototype.abort = function() {
-      destroyRequest(this._currentRequest);
-      this._currentRequest.abort();
-      this.emit("abort");
+      return new Minimatch(pattern, options).match(p);
     };
-    RedirectableRequest.prototype.destroy = function(error3) {
-      destroyRequest(this._currentRequest, error3);
-      destroy.call(this, error3);
-      return this;
+    exports2.minimatch = minimatch;
+    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
+    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
+    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
+    var starDotExtTestNocase = (ext2) => {
+      ext2 = ext2.toLowerCase();
+      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
     };
-    RedirectableRequest.prototype.write = function(data, encoding, callback) {
-      if (this._ending) {
-        throw new WriteAfterEndError();
-      }
-      if (!isString(data) && !isBuffer(data)) {
-        throw new TypeError("data should be a string, Buffer or Uint8Array");
-      }
-      if (isFunction(encoding)) {
-        callback = encoding;
-        encoding = null;
-      }
-      if (data.length === 0) {
-        if (callback) {
-          callback();
-        }
-        return;
-      }
-      if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {
-        this._requestBodyLength += data.length;
-        this._requestBodyBuffers.push({ data, encoding });
-        this._currentRequest.write(data, encoding, callback);
-      } else {
-        this.emit("error", new MaxBodyLengthExceededError());
-        this.abort();
-      }
+    var starDotExtTestNocaseDot = (ext2) => {
+      ext2 = ext2.toLowerCase();
+      return (f) => f.toLowerCase().endsWith(ext2);
     };
-    RedirectableRequest.prototype.end = function(data, encoding, callback) {
-      if (isFunction(data)) {
-        callback = data;
-        data = encoding = null;
-      } else if (isFunction(encoding)) {
-        callback = encoding;
-        encoding = null;
-      }
-      if (!data) {
-        this._ended = this._ending = true;
-        this._currentRequest.end(null, null, callback);
-      } else {
-        var self2 = this;
-        var currentRequest = this._currentRequest;
-        this.write(data, encoding, function() {
-          self2._ended = true;
-          currentRequest.end(null, null, callback);
-        });
-        this._ending = true;
-      }
+    var starDotStarRE = /^\*+\.\*+$/;
+    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
+    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
+    var dotStarRE = /^\.\*+$/;
+    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
+    var starRE = /^\*+$/;
+    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
+    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
+    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
+    var qmarksTestNocase = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExt([$0]);
+      if (!ext2)
+        return noext;
+      ext2 = ext2.toLowerCase();
+      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
     };
-    RedirectableRequest.prototype.setHeader = function(name, value) {
-      this._options.headers[name] = value;
-      this._currentRequest.setHeader(name, value);
+    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExtDot([$0]);
+      if (!ext2)
+        return noext;
+      ext2 = ext2.toLowerCase();
+      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
     };
-    RedirectableRequest.prototype.removeHeader = function(name) {
-      delete this._options.headers[name];
-      this._currentRequest.removeHeader(name);
+    var qmarksTestDot = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExtDot([$0]);
+      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
     };
-    RedirectableRequest.prototype.setTimeout = function(msecs, callback) {
-      var self2 = this;
-      function destroyOnTimeout(socket) {
-        socket.setTimeout(msecs);
-        socket.removeListener("timeout", socket.destroy);
-        socket.addListener("timeout", socket.destroy);
-      }
-      function startTimer(socket) {
-        if (self2._timeout) {
-          clearTimeout(self2._timeout);
-        }
-        self2._timeout = setTimeout(function() {
-          self2.emit("timeout");
-          clearTimer();
-        }, msecs);
-        destroyOnTimeout(socket);
-      }
-      function clearTimer() {
-        if (self2._timeout) {
-          clearTimeout(self2._timeout);
-          self2._timeout = null;
-        }
-        self2.removeListener("abort", clearTimer);
-        self2.removeListener("error", clearTimer);
-        self2.removeListener("response", clearTimer);
-        self2.removeListener("close", clearTimer);
-        if (callback) {
-          self2.removeListener("timeout", callback);
-        }
-        if (!self2.socket) {
-          self2._currentRequest.removeListener("socket", startTimer);
-        }
+    var qmarksTest = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExt([$0]);
+      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
+    };
+    var qmarksTestNoExt = ([$0]) => {
+      const len = $0.length;
+      return (f) => f.length === len && !f.startsWith(".");
+    };
+    var qmarksTestNoExtDot = ([$0]) => {
+      const len = $0.length;
+      return (f) => f.length === len && f !== "." && f !== "..";
+    };
+    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
+    var path16 = {
+      win32: { sep: "\\" },
+      posix: { sep: "/" }
+    };
+    exports2.sep = defaultPlatform === "win32" ? path16.win32.sep : path16.posix.sep;
+    exports2.minimatch.sep = exports2.sep;
+    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
+    exports2.filter = filter;
+    exports2.minimatch.filter = exports2.filter;
+    var ext = (a, b = {}) => Object.assign({}, a, b);
+    var defaults = (def) => {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return exports2.minimatch;
       }
-      if (callback) {
-        this.on("timeout", callback);
+      const orig = exports2.minimatch;
+      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
+      return Object.assign(m, {
+        Minimatch: class Minimatch extends orig.Minimatch {
+          constructor(pattern, options = {}) {
+            super(pattern, ext(def, options));
+          }
+          static defaults(options) {
+            return orig.defaults(ext(def, options)).Minimatch;
+          }
+        },
+        AST: class AST extends orig.AST {
+          /* c8 ignore start */
+          constructor(type2, parent, options = {}) {
+            super(type2, parent, ext(def, options));
+          }
+          /* c8 ignore stop */
+          static fromGlob(pattern, options = {}) {
+            return orig.AST.fromGlob(pattern, ext(def, options));
+          }
+        },
+        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
+        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
+        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
+        defaults: (options) => orig.defaults(ext(def, options)),
+        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
+        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
+        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
+        sep: orig.sep,
+        GLOBSTAR: exports2.GLOBSTAR
+      });
+    };
+    exports2.defaults = defaults;
+    exports2.minimatch.defaults = exports2.defaults;
+    var braceExpand = (pattern, options = {}) => {
+      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
       }
-      if (this.socket) {
-        startTimer(this.socket);
-      } else {
-        this._currentRequest.once("socket", startTimer);
+      return (0, brace_expansion_1.expand)(pattern);
+    };
+    exports2.braceExpand = braceExpand;
+    exports2.minimatch.braceExpand = exports2.braceExpand;
+    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
+    exports2.makeRe = makeRe;
+    exports2.minimatch.makeRe = exports2.makeRe;
+    var match = (list, pattern, options = {}) => {
+      const mm = new Minimatch(pattern, options);
+      list = list.filter((f) => mm.match(f));
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
       }
-      this.on("socket", destroyOnTimeout);
-      this.on("abort", clearTimer);
-      this.on("error", clearTimer);
-      this.on("response", clearTimer);
-      this.on("close", clearTimer);
-      return this;
+      return list;
     };
-    [
-      "flushHeaders",
-      "getHeader",
-      "setNoDelay",
-      "setSocketKeepAlive"
-    ].forEach(function(method) {
-      RedirectableRequest.prototype[method] = function(a, b) {
-        return this._currentRequest[method](a, b);
-      };
-    });
-    ["aborted", "connection", "socket"].forEach(function(property) {
-      Object.defineProperty(RedirectableRequest.prototype, property, {
-        get: function() {
-          return this._currentRequest[property];
+    exports2.match = match;
+    exports2.minimatch.match = exports2.match;
+    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var Minimatch = class {
+      options;
+      set;
+      pattern;
+      windowsPathsNoEscape;
+      nonegate;
+      negate;
+      comment;
+      empty;
+      preserveMultipleSlashes;
+      partial;
+      globSet;
+      globParts;
+      nocase;
+      isWindows;
+      platform;
+      windowsNoMagicRoot;
+      regexp;
+      constructor(pattern, options = {}) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        options = options || {};
+        this.options = options;
+        this.pattern = pattern;
+        this.platform = options.platform || defaultPlatform;
+        this.isWindows = this.platform === "win32";
+        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          this.pattern = this.pattern.replace(/\\/g, "/");
         }
-      });
-    });
-    RedirectableRequest.prototype._sanitizeOptions = function(options) {
-      if (!options.headers) {
-        options.headers = {};
+        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
+        this.regexp = null;
+        this.negate = false;
+        this.nonegate = !!options.nonegate;
+        this.comment = false;
+        this.empty = false;
+        this.partial = !!options.partial;
+        this.nocase = !!this.options.nocase;
+        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
+        this.globSet = [];
+        this.globParts = [];
+        this.set = [];
+        this.make();
       }
-      if (options.host) {
-        if (!options.hostname) {
-          options.hostname = options.host;
+      hasMagic() {
+        if (this.options.magicalBraces && this.set.length > 1) {
+          return true;
         }
-        delete options.host;
-      }
-      if (!options.pathname && options.path) {
-        var searchPos = options.path.indexOf("?");
-        if (searchPos < 0) {
-          options.pathname = options.path;
-        } else {
-          options.pathname = options.path.substring(0, searchPos);
-          options.search = options.path.substring(searchPos);
+        for (const pattern of this.set) {
+          for (const part of pattern) {
+            if (typeof part !== "string")
+              return true;
+          }
         }
+        return false;
       }
-    };
-    RedirectableRequest.prototype._performRequest = function() {
-      var protocol = this._options.protocol;
-      var nativeProtocol = this._options.nativeProtocols[protocol];
-      if (!nativeProtocol) {
-        throw new TypeError("Unsupported protocol " + protocol);
-      }
-      if (this._options.agents) {
-        var scheme = protocol.slice(0, -1);
-        this._options.agent = this._options.agents[scheme];
+      debug(..._2) {
       }
-      var request2 = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse);
-      request2._redirectable = this;
-      for (var event of events) {
-        request2.on(event, eventHandlers[event]);
+      make() {
+        const pattern = this.pattern;
+        const options = this.options;
+        if (!options.nocomment && pattern.charAt(0) === "#") {
+          this.comment = true;
+          return;
+        }
+        if (!pattern) {
+          this.empty = true;
+          return;
+        }
+        this.parseNegate();
+        this.globSet = [...new Set(this.braceExpand())];
+        if (options.debug) {
+          this.debug = (...args) => console.error(...args);
+        }
+        this.debug(this.pattern, this.globSet);
+        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
+        this.globParts = this.preprocess(rawGlobParts);
+        this.debug(this.pattern, this.globParts);
+        let set2 = this.globParts.map((s, _2, __) => {
+          if (this.isWindows && this.windowsNoMagicRoot) {
+            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
+            const isDrive = /^[a-z]:/i.test(s[0]);
+            if (isUNC) {
+              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
+            } else if (isDrive) {
+              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
+            }
+          }
+          return s.map((ss) => this.parse(ss));
+        });
+        this.debug(this.pattern, set2);
+        this.set = set2.filter((s) => s.indexOf(false) === -1);
+        if (this.isWindows) {
+          for (let i = 0; i < this.set.length; i++) {
+            const p = this.set[i];
+            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
+              p[2] = "?";
+            }
+          }
+        }
+        this.debug(this.pattern, this.set);
       }
-      this._currentUrl = /^\//.test(this._options.path) ? url2.format(this._options) : (
-        // When making a request to a proxy, […]
-        // a client MUST send the target URI in absolute-form […].
-        this._options.path
-      );
-      if (this._isRedirect) {
-        var i = 0;
-        var self2 = this;
-        var buffers = this._requestBodyBuffers;
-        (function writeNext(error3) {
-          if (request2 === self2._currentRequest) {
-            if (error3) {
-              self2.emit("error", error3);
-            } else if (i < buffers.length) {
-              var buffer = buffers[i++];
-              if (!request2.finished) {
-                request2.write(buffer.data, buffer.encoding, writeNext);
+      // various transforms to equivalent pattern sets that are
+      // faster to process in a filesystem walk.  The goal is to
+      // eliminate what we can, and push all ** patterns as far
+      // to the right as possible, even if it increases the number
+      // of patterns that we have to process.
+      preprocess(globParts) {
+        if (this.options.noglobstar) {
+          for (let i = 0; i < globParts.length; i++) {
+            for (let j = 0; j < globParts[i].length; j++) {
+              if (globParts[i][j] === "**") {
+                globParts[i][j] = "*";
               }
-            } else if (self2._ended) {
-              request2.end();
             }
           }
-        })();
+        }
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          globParts = this.firstPhasePreProcess(globParts);
+          globParts = this.secondPhasePreProcess(globParts);
+        } else if (optimizationLevel >= 1) {
+          globParts = this.levelOneOptimize(globParts);
+        } else {
+          globParts = this.adjascentGlobstarOptimize(globParts);
+        }
+        return globParts;
       }
-    };
-    RedirectableRequest.prototype._processResponse = function(response) {
-      var statusCode = response.statusCode;
-      if (this._options.trackRedirects) {
-        this._redirects.push({
-          url: this._currentUrl,
-          headers: response.headers,
-          statusCode
+      // just get rid of adjascent ** portions
+      adjascentGlobstarOptimize(globParts) {
+        return globParts.map((parts) => {
+          let gs = -1;
+          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+            let i = gs;
+            while (parts[i + 1] === "**") {
+              i++;
+            }
+            if (i !== gs) {
+              parts.splice(gs, i - gs);
+            }
+          }
+          return parts;
         });
       }
-      var location = response.headers.location;
-      if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) {
-        response.responseUrl = this._currentUrl;
-        response.redirects = this._redirects;
-        this.emit("response", response);
-        this._requestBodyBuffers = [];
-        return;
+      // get rid of adjascent ** and resolve .. portions
+      levelOneOptimize(globParts) {
+        return globParts.map((parts) => {
+          parts = parts.reduce((set2, part) => {
+            const prev = set2[set2.length - 1];
+            if (part === "**" && prev === "**") {
+              return set2;
+            }
+            if (part === "..") {
+              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
+                set2.pop();
+                return set2;
+              }
+            }
+            set2.push(part);
+            return set2;
+          }, []);
+          return parts.length === 0 ? [""] : parts;
+        });
       }
-      destroyRequest(this._currentRequest);
-      response.destroy();
-      if (++this._redirectCount > this._options.maxRedirects) {
-        throw new TooManyRedirectsError();
+      levelTwoFileOptimize(parts) {
+        if (!Array.isArray(parts)) {
+          parts = this.slashSplit(parts);
+        }
+        let didSomething = false;
+        do {
+          didSomething = false;
+          if (!this.preserveMultipleSlashes) {
+            for (let i = 1; i < parts.length - 1; i++) {
+              const p = parts[i];
+              if (i === 1 && p === "" && parts[0] === "")
+                continue;
+              if (p === "." || p === "") {
+                didSomething = true;
+                parts.splice(i, 1);
+                i--;
+              }
+            }
+            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+              didSomething = true;
+              parts.pop();
+            }
+          }
+          let dd = 0;
+          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+            const p = parts[dd - 1];
+            if (p && p !== "." && p !== ".." && p !== "**") {
+              didSomething = true;
+              parts.splice(dd - 1, 2);
+              dd -= 2;
+            }
+          }
+        } while (didSomething);
+        return parts.length === 0 ? [""] : parts;
       }
-      var requestHeaders;
-      var beforeRedirect = this._options.beforeRedirect;
-      if (beforeRedirect) {
-        requestHeaders = Object.assign({
-          // The Host header was set by nativeProtocol.request
-          Host: response.req.getHeader("host")
-        }, this._options.headers);
+      // First phase: single-pattern processing
+      // 
 is 1 or more portions
+      //  is 1 or more portions
+      // 

is any portion other than ., .., '', or ** + // is . or '' + // + // **/.. is *brutal* for filesystem walking performance, because + // it effectively resets the recursive walk each time it occurs, + // and ** cannot be reduced out by a .. pattern part like a regexp + // or most strings (other than .., ., and '') can be. + // + //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} + //

// -> 
/
+      // 
/

/../ ->

/
+      // **/**/ -> **/
+      //
+      // **/*/ -> */**/ <== not valid because ** doesn't follow
+      // this WOULD be allowed if ** did follow symlinks, or * didn't
+      firstPhasePreProcess(globParts) {
+        let didSomething = false;
+        do {
+          didSomething = false;
+          for (let parts of globParts) {
+            let gs = -1;
+            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+              let gss = gs;
+              while (parts[gss + 1] === "**") {
+                gss++;
+              }
+              if (gss > gs) {
+                parts.splice(gs + 1, gss - gs);
+              }
+              let next = parts[gs + 1];
+              const p = parts[gs + 2];
+              const p2 = parts[gs + 3];
+              if (next !== "..")
+                continue;
+              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
+                continue;
+              }
+              didSomething = true;
+              parts.splice(gs, 1);
+              const other = parts.slice(0);
+              other[gs] = "**";
+              globParts.push(other);
+              gs--;
+            }
+            if (!this.preserveMultipleSlashes) {
+              for (let i = 1; i < parts.length - 1; i++) {
+                const p = parts[i];
+                if (i === 1 && p === "" && parts[0] === "")
+                  continue;
+                if (p === "." || p === "") {
+                  didSomething = true;
+                  parts.splice(i, 1);
+                  i--;
+                }
+              }
+              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+                didSomething = true;
+                parts.pop();
+              }
+            }
+            let dd = 0;
+            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+              const p = parts[dd - 1];
+              if (p && p !== "." && p !== ".." && p !== "**") {
+                didSomething = true;
+                const needDot = dd === 1 && parts[dd + 1] === "**";
+                const splin = needDot ? ["."] : [];
+                parts.splice(dd - 1, 2, ...splin);
+                if (parts.length === 0)
+                  parts.push("");
+                dd -= 2;
+              }
+            }
+          }
+        } while (didSomething);
+        return globParts;
       }
-      var method = this._options.method;
-      if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || // RFC7231§6.4.4: The 303 (See Other) status code indicates that
-      // the server is redirecting the user agent to a different resource […]
-      // A user agent can perform a retrieval request targeting that URI
-      // (a GET or HEAD request if using HTTP) […]
-      statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) {
-        this._options.method = "GET";
-        this._requestBodyBuffers = [];
-        removeMatchingHeaders(/^content-/i, this._options.headers);
+      // second phase: multi-pattern dedupes
+      // {
/*/,
/

/} ->

/*/
+      // {
/,
/} -> 
/
+      // {
/**/,
/} -> 
/**/
+      //
+      // {
/**/,
/**/

/} ->

/**/
+      // ^-- not valid because ** doens't follow symlinks
+      secondPhasePreProcess(globParts) {
+        for (let i = 0; i < globParts.length - 1; i++) {
+          for (let j = i + 1; j < globParts.length; j++) {
+            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
+            if (matched) {
+              globParts[i] = [];
+              globParts[j] = matched;
+              break;
+            }
+          }
+        }
+        return globParts.filter((gs) => gs.length);
       }
-      var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
-      var currentUrlParts = parseUrl2(this._currentUrl);
-      var currentHost = currentHostHeader || currentUrlParts.host;
-      var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url2.format(Object.assign(currentUrlParts, { host: currentHost }));
-      var redirectUrl = resolveUrl(location, currentUrl);
-      debug5("redirecting to", redirectUrl.href);
-      this._isRedirect = true;
-      spreadUrlObject(redirectUrl, this._options);
-      if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) {
-        removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);
+      partsMatch(a, b, emptyGSMatch = false) {
+        let ai = 0;
+        let bi = 0;
+        let result = [];
+        let which7 = "";
+        while (ai < a.length && bi < b.length) {
+          if (a[ai] === b[bi]) {
+            result.push(which7 === "b" ? b[bi] : a[ai]);
+            ai++;
+            bi++;
+          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
+            result.push(a[ai]);
+            ai++;
+          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
+            result.push(b[bi]);
+            bi++;
+          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
+            if (which7 === "b")
+              return false;
+            which7 = "a";
+            result.push(a[ai]);
+            ai++;
+            bi++;
+          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
+            if (which7 === "a")
+              return false;
+            which7 = "b";
+            result.push(b[bi]);
+            ai++;
+            bi++;
+          } else {
+            return false;
+          }
+        }
+        return a.length === b.length && result;
       }
-      if (isFunction(beforeRedirect)) {
-        var responseDetails = {
-          headers: response.headers,
-          statusCode
-        };
-        var requestDetails = {
-          url: currentUrl,
-          method,
-          headers: requestHeaders
-        };
-        beforeRedirect(this._options, responseDetails, requestDetails);
-        this._sanitizeOptions(this._options);
+      parseNegate() {
+        if (this.nonegate)
+          return;
+        const pattern = this.pattern;
+        let negate2 = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate2 = !negate2;
+          negateOffset++;
+        }
+        if (negateOffset)
+          this.pattern = pattern.slice(negateOffset);
+        this.negate = negate2;
       }
-      this._performRequest();
-    };
-    function wrap(protocols) {
-      var exports3 = {
-        maxRedirects: 21,
-        maxBodyLength: 10 * 1024 * 1024
-      };
-      var nativeProtocols = {};
-      Object.keys(protocols).forEach(function(scheme) {
-        var protocol = scheme + ":";
-        var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];
-        var wrappedProtocol = exports3[scheme] = Object.create(nativeProtocol);
-        function request2(input, options, callback) {
-          if (isURL(input)) {
-            input = spreadUrlObject(input);
-          } else if (isString(input)) {
-            input = spreadUrlObject(parseUrl2(input));
-          } else {
-            callback = options;
-            options = validateUrl(input);
-            input = { protocol };
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial = false) {
+        const options = this.options;
+        if (this.isWindows) {
+          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
+          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
+          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
+          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
+          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
+          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
+          if (typeof fdi === "number" && typeof pdi === "number") {
+            const [fd, pd] = [file[fdi], pattern[pdi]];
+            if (fd.toLowerCase() === pd.toLowerCase()) {
+              pattern[pdi] = fd;
+              if (pdi > fdi) {
+                pattern = pattern.slice(pdi);
+              } else if (fdi > pdi) {
+                file = file.slice(fdi);
+              }
+            }
           }
-          if (isFunction(options)) {
-            callback = options;
-            options = null;
+        }
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          file = this.levelTwoFileOptimize(file);
+        }
+        this.debug("matchOne", this, { file, pattern });
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) {
+            return false;
           }
-          options = Object.assign({
-            maxRedirects: exports3.maxRedirects,
-            maxBodyLength: exports3.maxBodyLength
-          }, input, options);
-          options.nativeProtocols = nativeProtocols;
-          if (!isString(options.host) && !isString(options.hostname)) {
-            options.hostname = "::1";
+          if (p === exports2.GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
+                  return false;
+              }
+              return true;
+            }
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
+            }
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) {
+                return true;
+              }
+            }
+            return false;
           }
-          assert.equal(options.protocol, protocol, "protocol mismatch");
-          debug5("options", options);
-          return new RedirectableRequest(options, callback);
+          let hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
+          } else {
+            hit = p.test(f);
+            this.debug("pattern match", p, f, hit);
+          }
+          if (!hit)
+            return false;
         }
-        function get(input, options, callback) {
-          var wrappedRequest = wrappedProtocol.request(input, options, callback);
-          wrappedRequest.end();
-          return wrappedRequest;
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
+        } else {
+          throw new Error("wtf?");
         }
-        Object.defineProperties(wrappedProtocol, {
-          request: { value: request2, configurable: true, enumerable: true, writable: true },
-          get: { value: get, configurable: true, enumerable: true, writable: true }
-        });
-      });
-      return exports3;
-    }
-    function noop3() {
-    }
-    function parseUrl2(input) {
-      var parsed;
-      if (useNativeURL) {
-        parsed = new URL2(input);
-      } else {
-        parsed = validateUrl(url2.parse(input));
-        if (!isString(parsed.protocol)) {
-          throw new InvalidUrlError({ input });
+      }
+      braceExpand() {
+        return (0, exports2.braceExpand)(this.pattern, this.options);
+      }
+      parse(pattern) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        const options = this.options;
+        if (pattern === "**")
+          return exports2.GLOBSTAR;
+        if (pattern === "")
+          return "";
+        let m;
+        let fastTest = null;
+        if (m = pattern.match(starRE)) {
+          fastTest = options.dot ? starTestDot : starTest;
+        } else if (m = pattern.match(starDotExtRE)) {
+          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
+        } else if (m = pattern.match(qmarksRE)) {
+          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
+        } else if (m = pattern.match(starDotStarRE)) {
+          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
+        } else if (m = pattern.match(dotStarRE)) {
+          fastTest = dotStarTest;
+        }
+        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
+        if (fastTest && typeof re === "object") {
+          Reflect.defineProperty(re, "test", { value: fastTest });
+        }
+        return re;
+      }
+      makeRe() {
+        if (this.regexp || this.regexp === false)
+          return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
+        }
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = new Set(options.nocase ? ["i"] : []);
+        let re = set2.map((pattern) => {
+          const pp = pattern.map((p) => {
+            if (p instanceof RegExp) {
+              for (const f of p.flags.split(""))
+                flags.add(f);
+            }
+            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
+          });
+          pp.forEach((p, i) => {
+            const next = pp[i + 1];
+            const prev = pp[i - 1];
+            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
+              return;
+            }
+            if (prev === void 0) {
+              if (next !== void 0 && next !== exports2.GLOBSTAR) {
+                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
+              } else {
+                pp[i] = twoStar;
+              }
+            } else if (next === void 0) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
+            } else if (next !== exports2.GLOBSTAR) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
+              pp[i + 1] = exports2.GLOBSTAR;
+            }
+          });
+          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
+          if (this.partial && filtered.length >= 1) {
+            const prefixes = [];
+            for (let i = 1; i <= filtered.length; i++) {
+              prefixes.push(filtered.slice(0, i).join("/"));
+            }
+            return "(?:" + prefixes.join("|") + ")";
+          }
+          return filtered.join("/");
+        }).join("|");
+        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
+        re = "^" + open + re + close + "$";
+        if (this.partial) {
+          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
         }
-      }
-      return parsed;
-    }
-    function resolveUrl(relative2, base) {
-      return useNativeURL ? new URL2(relative2, base) : parseUrl2(url2.resolve(base, relative2));
-    }
-    function validateUrl(input) {
-      if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
-        throw new InvalidUrlError({ input: input.href || input });
-      }
-      if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) {
-        throw new InvalidUrlError({ input: input.href || input });
-      }
-      return input;
-    }
-    function spreadUrlObject(urlObject, target) {
-      var spread = target || {};
-      for (var key of preservedUrlFields) {
-        spread[key] = urlObject[key];
-      }
-      if (spread.hostname.startsWith("[")) {
-        spread.hostname = spread.hostname.slice(1, -1);
-      }
-      if (spread.port !== "") {
-        spread.port = Number(spread.port);
-      }
-      spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;
-      return spread;
-    }
-    function removeMatchingHeaders(regex, headers) {
-      var lastValue;
-      for (var header in headers) {
-        if (regex.test(header)) {
-          lastValue = headers[header];
-          delete headers[header];
+        if (this.negate)
+          re = "^(?!" + re + ").+$";
+        try {
+          this.regexp = new RegExp(re, [...flags].join(""));
+        } catch (ex) {
+          this.regexp = false;
         }
+        return this.regexp;
       }
-      return lastValue === null || typeof lastValue === "undefined" ? void 0 : String(lastValue).trim();
-    }
-    function createErrorType(code, message, baseClass) {
-      function CustomError(properties) {
-        if (isFunction(Error.captureStackTrace)) {
-          Error.captureStackTrace(this, this.constructor);
+      slashSplit(p) {
+        if (this.preserveMultipleSlashes) {
+          return p.split("/");
+        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
+          return ["", ...p.split(/\/+/)];
+        } else {
+          return p.split(/\/+/);
         }
-        Object.assign(this, properties || {});
-        this.code = code;
-        this.message = this.cause ? message + ": " + this.cause.message : message;
       }
-      CustomError.prototype = new (baseClass || Error)();
-      Object.defineProperties(CustomError.prototype, {
-        constructor: {
-          value: CustomError,
-          enumerable: false
-        },
-        name: {
-          value: "Error [" + code + "]",
-          enumerable: false
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) {
+          return false;
         }
-      });
-      return CustomError;
-    }
-    function destroyRequest(request2, error3) {
-      for (var event of events) {
-        request2.removeListener(event, eventHandlers[event]);
+        if (this.empty) {
+          return f === "";
+        }
+        if (f === "/" && partial) {
+          return true;
+        }
+        const options = this.options;
+        if (this.isWindows) {
+          f = f.split("\\").join("/");
+        }
+        const ff = this.slashSplit(f);
+        this.debug(this.pattern, "split", ff);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename = ff[ff.length - 1];
+        if (!filename) {
+          for (let i = ff.length - 2; !filename && i >= 0; i--) {
+            filename = ff[i];
+          }
+        }
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = ff;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
+          }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) {
+              return true;
+            }
+            return !this.negate;
+          }
+        }
+        if (options.flipNegate) {
+          return false;
+        }
+        return this.negate;
       }
-      request2.on("error", noop3);
-      request2.destroy(error3);
-    }
-    function isSubdomain(subdomain, domain) {
-      assert(isString(subdomain) && isString(domain));
-      var dot = subdomain.length - domain.length - 1;
-      return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
-    }
-    function isString(value) {
-      return typeof value === "string" || value instanceof String;
-    }
-    function isFunction(value) {
-      return typeof value === "function";
-    }
-    function isBuffer(value) {
-      return typeof value === "object" && "length" in value;
-    }
-    function isURL(value) {
-      return URL2 && value instanceof URL2;
-    }
-    module2.exports = wrap({ http, https: https2 });
-    module2.exports.wrap = wrap;
+      static defaults(def) {
+        return exports2.minimatch.defaults(def).Minimatch;
+      }
+    };
+    exports2.Minimatch = Minimatch;
+    var ast_js_2 = require_ast();
+    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
+      return ast_js_2.AST;
+    } });
+    var escape_js_2 = require_escape();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return escape_js_2.escape;
+    } });
+    var unescape_js_2 = require_unescape();
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return unescape_js_2.unescape;
+    } });
+    exports2.minimatch.AST = ast_js_1.AST;
+    exports2.minimatch.Minimatch = Minimatch;
+    exports2.minimatch.escape = escape_js_1.escape;
+    exports2.minimatch.unescape = unescape_js_1.unescape;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/config.js
-var require_config2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
+// node_modules/lru-cache/dist/commonjs/index.js
+var require_commonjs21 = __commonJS({
+  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
-    var os_1 = __importDefault2(require("os"));
-    var core_1 = require_core();
-    function getUploadChunkSize() {
-      return 8 * 1024 * 1024;
-    }
-    exports2.getUploadChunkSize = getUploadChunkSize;
-    function getRuntimeToken() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
-      if (!token) {
-        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
-      }
-      return token;
-    }
-    exports2.getRuntimeToken = getRuntimeToken;
-    function getResultsServiceUrl() {
-      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
-      if (!resultsUrl) {
-        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
-      }
-      return new URL(resultsUrl).origin;
-    }
-    exports2.getResultsServiceUrl = getResultsServiceUrl;
-    function isGhes() {
-      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
-      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
-      const isGitHubHost = hostname === "GITHUB.COM";
-      const isGheHost = hostname.endsWith(".GHE.COM");
-      const isLocalHost = hostname.endsWith(".LOCALHOST");
-      return !isGitHubHost && !isGheHost && !isLocalHost;
+    exports2.LRUCache = void 0;
+    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
+    var warned = /* @__PURE__ */ new Set();
+    var PROCESS = typeof process === "object" && !!process ? process : {};
+    var emitWarning = (msg, type2, code, fn) => {
+      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
+    };
+    var AC = globalThis.AbortController;
+    var AS = globalThis.AbortSignal;
+    if (typeof AC === "undefined") {
+      AS = class AbortSignal {
+        onabort;
+        _onabort = [];
+        reason;
+        aborted = false;
+        addEventListener(_2, fn) {
+          this._onabort.push(fn);
+        }
+      };
+      AC = class AbortController {
+        constructor() {
+          warnACPolyfill();
+        }
+        signal = new AS();
+        abort(reason) {
+          if (this.signal.aborted)
+            return;
+          this.signal.reason = reason;
+          this.signal.aborted = true;
+          for (const fn of this.signal._onabort) {
+            fn(reason);
+          }
+          this.signal.onabort?.(reason);
+        }
+      };
+      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
+      const warnACPolyfill = () => {
+        if (!printACPolyfillWarning)
+          return;
+        printACPolyfillWarning = false;
+        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
+      };
     }
-    exports2.isGhes = isGhes;
-    function getGitHubWorkspaceDir() {
-      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
-      if (!ghWorkspaceDir) {
-        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
+    var shouldWarn = (code) => !warned.has(code);
+    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
+    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
+    var ZeroArray = class extends Array {
+      constructor(size) {
+        super(size);
+        this.fill(0);
       }
-      return ghWorkspaceDir;
-    }
-    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
-    function getConcurrency() {
-      const numCPUs = os_1.default.cpus().length;
-      let concurrencyCap = 32;
-      if (numCPUs > 4) {
-        const concurrency = 16 * numCPUs;
-        concurrencyCap = concurrency > 300 ? 300 : concurrency;
+    };
+    var Stack = class _Stack {
+      heap;
+      length;
+      // private constructor
+      static #constructing = false;
+      static create(max) {
+        const HeapCls = getUintArray(max);
+        if (!HeapCls)
+          return [];
+        _Stack.#constructing = true;
+        const s = new _Stack(max, HeapCls);
+        _Stack.#constructing = false;
+        return s;
       }
-      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
-      if (concurrencyOverride) {
-        const concurrency = parseInt(concurrencyOverride);
-        if (isNaN(concurrency) || concurrency < 1) {
-          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
-        }
-        if (concurrency < concurrencyCap) {
-          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
-          return concurrency;
+      constructor(max, HeapCls) {
+        if (!_Stack.#constructing) {
+          throw new TypeError("instantiate Stack using Stack.create(n)");
         }
-        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
-        return concurrencyCap;
-      }
-      return 5;
-    }
-    exports2.getConcurrency = getConcurrency;
-    function getUploadChunkTimeout() {
-      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
-      if (!timeoutVar) {
-        return 3e5;
+        this.heap = new HeapCls(max);
+        this.length = 0;
       }
-      const timeout = parseInt(timeoutVar);
-      if (isNaN(timeout)) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
+      push(n) {
+        this.heap[this.length++] = n;
       }
-      return timeout;
-    }
-    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
-    function getMaxArtifactListCount() {
-      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
-      const maxCount = parseInt(maxCountVar);
-      if (isNaN(maxCount) || maxCount < 1) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
+      pop() {
+        return this.heap[--this.length];
       }
-      return maxCount;
-    }
-    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
-var require_timestamp = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Timestamp = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var runtime_6 = require_commonjs16();
-    var runtime_7 = require_commonjs16();
-    var Timestamp$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Timestamp", [
-          {
-            no: 1,
-            name: "seconds",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+    };
+    var LRUCache = class _LRUCache {
+      // options that cannot be changed without disaster
+      #max;
+      #maxSize;
+      #dispose;
+      #onInsert;
+      #disposeAfter;
+      #fetchMethod;
+      #memoMethod;
+      /**
+       * {@link LRUCache.OptionsBase.ttl}
+       */
+      ttl;
+      /**
+       * {@link LRUCache.OptionsBase.ttlResolution}
+       */
+      ttlResolution;
+      /**
+       * {@link LRUCache.OptionsBase.ttlAutopurge}
+       */
+      ttlAutopurge;
+      /**
+       * {@link LRUCache.OptionsBase.updateAgeOnGet}
+       */
+      updateAgeOnGet;
+      /**
+       * {@link LRUCache.OptionsBase.updateAgeOnHas}
+       */
+      updateAgeOnHas;
+      /**
+       * {@link LRUCache.OptionsBase.allowStale}
+       */
+      allowStale;
+      /**
+       * {@link LRUCache.OptionsBase.noDisposeOnSet}
+       */
+      noDisposeOnSet;
+      /**
+       * {@link LRUCache.OptionsBase.noUpdateTTL}
+       */
+      noUpdateTTL;
+      /**
+       * {@link LRUCache.OptionsBase.maxEntrySize}
+       */
+      maxEntrySize;
+      /**
+       * {@link LRUCache.OptionsBase.sizeCalculation}
+       */
+      sizeCalculation;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
+       */
+      noDeleteOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
+       */
+      noDeleteOnStaleGet;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
+       */
+      allowStaleOnFetchAbort;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
+       */
+      allowStaleOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
+       */
+      ignoreFetchAbort;
+      // computed properties
+      #size;
+      #calculatedSize;
+      #keyMap;
+      #keyList;
+      #valList;
+      #next;
+      #prev;
+      #head;
+      #tail;
+      #free;
+      #disposed;
+      #sizes;
+      #starts;
+      #ttls;
+      #hasDispose;
+      #hasFetchMethod;
+      #hasDisposeAfter;
+      #hasOnInsert;
+      /**
+       * Do not call this method unless you need to inspect the
+       * inner workings of the cache.  If anything returned by this
+       * object is modified in any way, strange breakage may occur.
+       *
+       * These fields are private for a reason!
+       *
+       * @internal
+       */
+      static unsafeExposeInternals(c) {
+        return {
+          // properties
+          starts: c.#starts,
+          ttls: c.#ttls,
+          sizes: c.#sizes,
+          keyMap: c.#keyMap,
+          keyList: c.#keyList,
+          valList: c.#valList,
+          next: c.#next,
+          prev: c.#prev,
+          get head() {
+            return c.#head;
           },
-          {
-            no: 2,
-            name: "nanos",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
+          get tail() {
+            return c.#tail;
+          },
+          free: c.#free,
+          // methods
+          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
+          backgroundFetch: (k, index, options, context3) => c.#backgroundFetch(k, index, options, context3),
+          moveToTail: (index) => c.#moveToTail(index),
+          indexes: (options) => c.#indexes(options),
+          rindexes: (options) => c.#rindexes(options),
+          isStale: (index) => c.#isStale(index)
+        };
       }
+      // Protected read-only members
       /**
-       * Creates a new `Timestamp` for the current time.
+       * {@link LRUCache.OptionsBase.max} (read-only)
        */
-      now() {
-        const msg = this.create();
-        const ms = Date.now();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
+      get max() {
+        return this.#max;
       }
       /**
-       * Converts a `Timestamp` to a JavaScript Date.
+       * {@link LRUCache.OptionsBase.maxSize} (read-only)
        */
-      toDate(message) {
-        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
+      get maxSize() {
+        return this.#maxSize;
       }
       /**
-       * Converts a JavaScript Date to a `Timestamp`.
+       * The total computed size of items in the cache (read-only)
        */
-      fromDate(date) {
-        const msg = this.create();
-        const ms = date.getTime();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
+      get calculatedSize() {
+        return this.#calculatedSize;
       }
       /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
+       * The number of items stored in the cache (read-only)
        */
-      internalJsonWrite(message, options) {
-        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (message.nanos < 0)
-          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
-        let z = "Z";
-        if (message.nanos > 0) {
-          let nanosStr = (message.nanos + 1e9).toString().substring(1);
-          if (nanosStr.substring(3) === "000000")
-            z = "." + nanosStr.substring(0, 3) + "Z";
-          else if (nanosStr.substring(6) === "000")
-            z = "." + nanosStr.substring(0, 6) + "Z";
-          else
-            z = "." + nanosStr + "Z";
-        }
-        return new Date(ms).toISOString().replace(".000Z", z);
+      get size() {
+        return this.#size;
       }
       /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
+       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
        */
-      internalJsonRead(json2, options, target) {
-        if (typeof json2 !== "string")
-          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
-        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
-        if (!matches)
-          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
-        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
-        if (Number.isNaN(ms))
-          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (!target)
-          target = this.create();
-        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
-        target.nanos = 0;
-        if (matches[7])
-          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
-        return target;
-      }
-      create(value) {
-        const message = { seconds: "0", nanos: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      get fetchMethod() {
+        return this.#fetchMethod;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 seconds */
-            1:
-              message.seconds = reader.int64().toString();
-              break;
-            case /* int32 nanos */
-            2:
-              message.nanos = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      get memoMethod() {
+        return this.#memoMethod;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.seconds !== "0")
-          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
-        if (message.nanos !== 0)
-          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * {@link LRUCache.OptionsBase.dispose} (read-only)
+       */
+      get dispose() {
+        return this.#dispose;
       }
-    };
-    exports2.Timestamp = new Timestamp$Type();
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
-var require_wrappers = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var runtime_6 = require_commonjs16();
-    var runtime_7 = require_commonjs16();
-    var DoubleValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.DoubleValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 1
-            /*ScalarType.DOUBLE*/
-          }
-        ]);
+      /**
+       * {@link LRUCache.OptionsBase.onInsert} (read-only)
+       */
+      get onInsert() {
+        return this.#onInsert;
       }
       /**
-       * Encode `DoubleValue` to JSON number.
+       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
+      get disposeAfter() {
+        return this.#disposeAfter;
+      }
+      constructor(options) {
+        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
+        if (max !== 0 && !isPosInt(max)) {
+          throw new TypeError("max option must be a nonnegative integer");
+        }
+        const UintArray = max ? getUintArray(max) : Array;
+        if (!UintArray) {
+          throw new Error("invalid max value: " + max);
+        }
+        this.#max = max;
+        this.#maxSize = maxSize;
+        this.maxEntrySize = maxEntrySize || this.#maxSize;
+        this.sizeCalculation = sizeCalculation;
+        if (this.sizeCalculation) {
+          if (!this.#maxSize && !this.maxEntrySize) {
+            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
+          }
+          if (typeof this.sizeCalculation !== "function") {
+            throw new TypeError("sizeCalculation set to non-function");
+          }
+        }
+        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
+          throw new TypeError("memoMethod must be a function if defined");
+        }
+        this.#memoMethod = memoMethod;
+        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
+          throw new TypeError("fetchMethod must be a function if specified");
+        }
+        this.#fetchMethod = fetchMethod;
+        this.#hasFetchMethod = !!fetchMethod;
+        this.#keyMap = /* @__PURE__ */ new Map();
+        this.#keyList = new Array(max).fill(void 0);
+        this.#valList = new Array(max).fill(void 0);
+        this.#next = new UintArray(max);
+        this.#prev = new UintArray(max);
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free = Stack.create(max);
+        this.#size = 0;
+        this.#calculatedSize = 0;
+        if (typeof dispose === "function") {
+          this.#dispose = dispose;
+        }
+        if (typeof onInsert === "function") {
+          this.#onInsert = onInsert;
+        }
+        if (typeof disposeAfter === "function") {
+          this.#disposeAfter = disposeAfter;
+          this.#disposed = [];
+        } else {
+          this.#disposeAfter = void 0;
+          this.#disposed = void 0;
+        }
+        this.#hasDispose = !!this.#dispose;
+        this.#hasOnInsert = !!this.#onInsert;
+        this.#hasDisposeAfter = !!this.#disposeAfter;
+        this.noDisposeOnSet = !!noDisposeOnSet;
+        this.noUpdateTTL = !!noUpdateTTL;
+        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
+        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
+        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
+        this.ignoreFetchAbort = !!ignoreFetchAbort;
+        if (this.maxEntrySize !== 0) {
+          if (this.#maxSize !== 0) {
+            if (!isPosInt(this.#maxSize)) {
+              throw new TypeError("maxSize must be a positive integer if specified");
+            }
+          }
+          if (!isPosInt(this.maxEntrySize)) {
+            throw new TypeError("maxEntrySize must be a positive integer if specified");
+          }
+          this.#initializeSizeTracking();
+        }
+        this.allowStale = !!allowStale;
+        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
+        this.updateAgeOnGet = !!updateAgeOnGet;
+        this.updateAgeOnHas = !!updateAgeOnHas;
+        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
+        this.ttlAutopurge = !!ttlAutopurge;
+        this.ttl = ttl || 0;
+        if (this.ttl) {
+          if (!isPosInt(this.ttl)) {
+            throw new TypeError("ttl must be a positive integer if specified");
+          }
+          this.#initializeTTLTracking();
+        }
+        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
+          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        }
+        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
+          const code = "LRU_CACHE_UNBOUNDED";
+          if (shouldWarn(code)) {
+            warned.add(code);
+            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
+            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
+          }
+        }
       }
       /**
-       * Decode `DoubleValue` from JSON number.
+       * Return the number of ms left in the item's TTL. If item is not in cache,
+       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
+      getRemainingTTL(key) {
+        return this.#keyMap.has(key) ? Infinity : 0;
       }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      #initializeTTLTracking() {
+        const ttls = new ZeroArray(this.#max);
+        const starts = new ZeroArray(this.#max);
+        this.#ttls = ttls;
+        this.#starts = starts;
+        this.#setItemTTL = (index, ttl, start = perf.now()) => {
+          starts[index] = ttl !== 0 ? start : 0;
+          ttls[index] = ttl;
+          if (ttl !== 0 && this.ttlAutopurge) {
+            const t = setTimeout(() => {
+              if (this.#isStale(index)) {
+                this.#delete(this.#keyList[index], "expire");
+              }
+            }, ttl + 1);
+            if (t.unref) {
+              t.unref();
+            }
+          }
+        };
+        this.#updateItemAge = (index) => {
+          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
+        };
+        this.#statusTTL = (status, index) => {
+          if (ttls[index]) {
+            const ttl = ttls[index];
+            const start = starts[index];
+            if (!ttl || !start)
+              return;
+            status.ttl = ttl;
+            status.start = start;
+            status.now = cachedNow || getNow();
+            const age = status.now - start;
+            status.remainingTTL = ttl - age;
+          }
+        };
+        let cachedNow = 0;
+        const getNow = () => {
+          const n = perf.now();
+          if (this.ttlResolution > 0) {
+            cachedNow = n;
+            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
+            if (t.unref) {
+              t.unref();
+            }
+          }
+          return n;
+        };
+        this.getRemainingTTL = (key) => {
+          const index = this.#keyMap.get(key);
+          if (index === void 0) {
+            return 0;
+          }
+          const ttl = ttls[index];
+          const start = starts[index];
+          if (!ttl || !start) {
+            return Infinity;
+          }
+          const age = (cachedNow || getNow()) - start;
+          return ttl - age;
+        };
+        this.#isStale = (index) => {
+          const s = starts[index];
+          const t = ttls[index];
+          return !!t && !!s && (cachedNow || getNow()) - s > t;
+        };
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* double value */
-            1:
-              message.value = reader.double();
+      // conditionally set private methods related to TTL
+      #updateItemAge = () => {
+      };
+      #statusTTL = () => {
+      };
+      #setItemTTL = () => {
+      };
+      /* c8 ignore stop */
+      #isStale = () => false;
+      #initializeSizeTracking() {
+        const sizes = new ZeroArray(this.#max);
+        this.#calculatedSize = 0;
+        this.#sizes = sizes;
+        this.#removeItemSize = (index) => {
+          this.#calculatedSize -= sizes[index];
+          sizes[index] = 0;
+        };
+        this.#requireSize = (k, v, size, sizeCalculation) => {
+          if (this.#isBackgroundFetch(v)) {
+            return 0;
+          }
+          if (!isPosInt(size)) {
+            if (sizeCalculation) {
+              if (typeof sizeCalculation !== "function") {
+                throw new TypeError("sizeCalculation must be a function");
+              }
+              size = sizeCalculation(v, k);
+              if (!isPosInt(size)) {
+                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
+              }
+            } else {
+              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
+            }
+          }
+          return size;
+        };
+        this.#addItemSize = (index, size, status) => {
+          sizes[index] = size;
+          if (this.#maxSize) {
+            const maxSize = this.#maxSize - sizes[index];
+            while (this.#calculatedSize > maxSize) {
+              this.#evict(true);
+            }
+          }
+          this.#calculatedSize += sizes[index];
+          if (status) {
+            status.entrySize = size;
+            status.totalCalculatedSize = this.#calculatedSize;
+          }
+        };
+      }
+      #removeItemSize = (_i) => {
+      };
+      #addItemSize = (_i, _s, _st) => {
+      };
+      #requireSize = (_k, _v, size, sizeCalculation) => {
+        if (size || sizeCalculation) {
+          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
+        }
+        return 0;
+      };
+      *#indexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#tail; true; ) {
+            if (!this.#isValidIndex(i)) {
               break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#head) {
+              break;
+            } else {
+              i = this.#prev[i];
+            }
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.DoubleValue = new DoubleValue$Type();
-    var FloatValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.FloatValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 2
-            /*ScalarType.FLOAT*/
+      *#rindexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#head; true; ) {
+            if (!this.#isValidIndex(i)) {
+              break;
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#tail) {
+              break;
+            } else {
+              i = this.#next[i];
+            }
           }
-        ]);
+        }
+      }
+      #isValidIndex(index) {
+        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
       }
       /**
-       * Encode `FloatValue` to JSON number.
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from most recently used to least recently used.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
+      *entries() {
+        for (const i of this.#indexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
+          }
+        }
       }
       /**
-       * Decode `FloatValue` from JSON number.
+       * Inverse order version of {@link LRUCache.entries}
+       *
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from least recently used to most recently used.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* float value */
-            1:
-              message.value = reader.float();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      *rentries() {
+        for (const i of this.#rindexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.FloatValue = new FloatValue$Type();
-    var Int64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+      /**
+       * Return a generator yielding the keys in the cache,
+       * in order from most recently used to least recently used.
+       */
+      *keys() {
+        for (const i of this.#indexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
           }
-        ]);
+        }
       }
       /**
-       * Encode `Int64Value` to JSON string.
+       * Inverse order version of {@link LRUCache.keys}
+       *
+       * Return a generator yielding the keys in the cache,
+       * in order from least recently used to most recently used.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
+      *rkeys() {
+        for (const i of this.#rindexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
+          }
+        }
       }
       /**
-       * Decode `Int64Value` from JSON string.
+       * Return a generator yielding the values in the cache,
+       * in order from most recently used to least recently used.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 value */
-            1:
-              message.value = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      *values() {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.Int64Value = new Int64Value$Type();
-    var UInt64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 4
-            /*ScalarType.UINT64*/
+      /**
+       * Inverse order version of {@link LRUCache.values}
+       *
+       * Return a generator yielding the values in the cache,
+       * in order from least recently used to most recently used.
+       */
+      *rvalues() {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
           }
-        ]);
+        }
       }
       /**
-       * Encode `UInt64Value` to JSON string.
+       * Iterating over the cache itself yields the same results as
+       * {@link LRUCache.entries}
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
+      [Symbol.iterator]() {
+        return this.entries();
       }
       /**
-       * Decode `UInt64Value` from JSON string.
+       * A String value that is used in the creation of the default string
+       * description of an object. Called by the built-in method
+       * `Object.prototype.toString`.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint64 value */
-            1:
-              message.value = reader.uint64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      [Symbol.toStringTag] = "LRUCache";
+      /**
+       * Find a value for which the supplied fn method returns a truthy value,
+       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
+       */
+      find(fn, getOptions = {}) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          if (fn(value, this.#keyList[i], this)) {
+            return this.get(this.#keyList[i], getOptions);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.UInt64Value = new UInt64Value$Type();
-    var Int32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
       }
       /**
-       * Encode `Int32Value` to JSON string.
+       * Call the supplied function on each item in the cache, in order from most
+       * recently used to least recently used.
+       *
+       * `fn` is called as `fn(value, key, cache)`.
+       *
+       * If `thisp` is provided, function will be called in the `this`-context of
+       * the provided object, or the cache if no `thisp` object is provided.
+       *
+       * Does not update age or recenty of use, or iterate over stale values.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
+      forEach(fn, thisp = this) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
+        }
       }
       /**
-       * Decode `Int32Value` from JSON string.
+       * The same as {@link LRUCache.forEach} but items are iterated over in
+       * reverse order.  (ie, less recently used items are iterated over first.)
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      rforEach(fn, thisp = this) {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int32 value */
-            1:
-              message.value = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Delete any stale entries. Returns true if anything was removed,
+       * false otherwise.
+       */
+      purgeStale() {
+        let deleted = false;
+        for (const i of this.#rindexes({ allowStale: true })) {
+          if (this.#isStale(i)) {
+            this.#delete(this.#keyList[i], "expire");
+            deleted = true;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return deleted;
       }
-    };
-    exports2.Int32Value = new Int32Value$Type();
-    var UInt32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 13
-            /*ScalarType.UINT32*/
+      /**
+       * Get the extended info about a given entry, to get its value, size, and
+       * TTL info simultaneously. Returns `undefined` if the key is not present.
+       *
+       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
+       * serialization, the `start` value is always the current timestamp, and the
+       * `ttl` is a calculated remaining time to live (negative if expired).
+       *
+       * Always returns stale values, if their info is found in the cache, so be
+       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
+       * if relevant.
+       */
+      info(key) {
+        const i = this.#keyMap.get(key);
+        if (i === void 0)
+          return void 0;
+        const v = this.#valList[i];
+        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+        if (value === void 0)
+          return void 0;
+        const entry = { value };
+        if (this.#ttls && this.#starts) {
+          const ttl = this.#ttls[i];
+          const start = this.#starts[i];
+          if (ttl && start) {
+            const remain = ttl - (perf.now() - start);
+            entry.ttl = remain;
+            entry.start = Date.now();
           }
-        ]);
+        }
+        if (this.#sizes) {
+          entry.size = this.#sizes[i];
+        }
+        return entry;
       }
       /**
-       * Encode `UInt32Value` to JSON string.
+       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
+       * passed to {@link LRUCache#load}.
+       *
+       * The `start` fields are calculated relative to a portable `Date.now()`
+       * timestamp, even if `performance.now()` is available.
+       *
+       * Stale entries are always included in the `dump`, even if
+       * {@link LRUCache.OptionsBase.allowStale} is false.
+       *
+       * Note: this returns an actual array, not a generator, so it can be more
+       * easily passed around.
        */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
+      dump() {
+        const arr = [];
+        for (const i of this.#indexes({ allowStale: true })) {
+          const key = this.#keyList[i];
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0 || key === void 0)
+            continue;
+          const entry = { value };
+          if (this.#ttls && this.#starts) {
+            entry.ttl = this.#ttls[i];
+            const age = perf.now() - this.#starts[i];
+            entry.start = Math.floor(Date.now() - age);
+          }
+          if (this.#sizes) {
+            entry.size = this.#sizes[i];
+          }
+          arr.unshift([key, entry]);
+        }
+        return arr;
       }
       /**
-       * Decode `UInt32Value` from JSON string.
+       * Reset the cache and load in the items in entries in the order listed.
+       *
+       * The shape of the resulting cache may be different if the same options are
+       * not used in both caches.
+       *
+       * The `start` fields are assumed to be calculated relative to a portable
+       * `Date.now()` timestamp, even if `performance.now()` is available.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      load(arr) {
+        this.clear();
+        for (const [key, entry] of arr) {
+          if (entry.start) {
+            const age = Date.now() - entry.start;
+            entry.start = perf.now() - age;
+          }
+          this.set(key, entry.value, entry);
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint32 value */
-            1:
-              message.value = reader.uint32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Add a value to the cache.
+       *
+       * Note: if `undefined` is specified as a value, this is an alias for
+       * {@link LRUCache#delete}
+       *
+       * Fields on the {@link LRUCache.SetOptions} options param will override
+       * their corresponding values in the constructor options for the scope
+       * of this single `set()` operation.
+       *
+       * If `start` is provided, then that will set the effective start
+       * time for the TTL calculation. Note that this must be a previous
+       * value of `performance.now()` if supported, or a previous value of
+       * `Date.now()` if not.
+       *
+       * Options object may also include `size`, which will prevent
+       * calling the `sizeCalculation` function and just use the specified
+       * number if it is a positive integer, and `noDisposeOnSet` which
+       * will prevent calling a `dispose` function in the case of
+       * overwrites.
+       *
+       * If the `size` (or return value of `sizeCalculation`) for a given
+       * entry is greater than `maxEntrySize`, then the item will not be
+       * added to the cache.
+       *
+       * Will update the recency of the entry.
+       *
+       * If the value is `undefined`, then this is an alias for
+       * `cache.delete(key)`. `undefined` is never stored in the cache.
+       */
+      set(k, v, setOptions = {}) {
+        if (v === void 0) {
+          this.delete(k);
+          return this;
+        }
+        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
+        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
+        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
+        if (this.maxEntrySize && size > this.maxEntrySize) {
+          if (status) {
+            status.set = "miss";
+            status.maxEntrySizeExceeded = true;
           }
+          this.#delete(k, "set");
+          return this;
         }
-        return message;
+        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
+        if (index === void 0) {
+          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
+          this.#keyList[index] = k;
+          this.#valList[index] = v;
+          this.#keyMap.set(k, index);
+          this.#next[this.#tail] = index;
+          this.#prev[index] = this.#tail;
+          this.#tail = index;
+          this.#size++;
+          this.#addItemSize(index, size, status);
+          if (status)
+            status.set = "add";
+          noUpdateTTL = false;
+          if (this.#hasOnInsert) {
+            this.#onInsert?.(v, k, "add");
+          }
+        } else {
+          this.#moveToTail(index);
+          const oldVal = this.#valList[index];
+          if (v !== oldVal) {
+            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
+              oldVal.__abortController.abort(new Error("replaced"));
+              const { __staleWhileFetching: s } = oldVal;
+              if (s !== void 0 && !noDisposeOnSet) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(s, k, "set");
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([s, k, "set"]);
+                }
+              }
+            } else if (!noDisposeOnSet) {
+              if (this.#hasDispose) {
+                this.#dispose?.(oldVal, k, "set");
+              }
+              if (this.#hasDisposeAfter) {
+                this.#disposed?.push([oldVal, k, "set"]);
+              }
+            }
+            this.#removeItemSize(index);
+            this.#addItemSize(index, size, status);
+            this.#valList[index] = v;
+            if (status) {
+              status.set = "replace";
+              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
+              if (oldValue !== void 0)
+                status.oldValue = oldValue;
+            }
+          } else if (status) {
+            status.set = "update";
+          }
+          if (this.#hasOnInsert) {
+            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
+          }
+        }
+        if (ttl !== 0 && !this.#ttls) {
+          this.#initializeTTLTracking();
+        }
+        if (this.#ttls) {
+          if (!noUpdateTTL) {
+            this.#setItemTTL(index, ttl, start);
+          }
+          if (status)
+            this.#statusTTL(status, index);
+        }
+        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
+        }
+        return this;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Evict the least recently used item, returning its value or
+       * `undefined` if cache is empty.
+       */
+      pop() {
+        try {
+          while (this.#size) {
+            const val = this.#valList[this.#head];
+            this.#evict(true);
+            if (this.#isBackgroundFetch(val)) {
+              if (val.__staleWhileFetching) {
+                return val.__staleWhileFetching;
+              }
+            } else if (val !== void 0) {
+              return val;
+            }
+          }
+        } finally {
+          if (this.#hasDisposeAfter && this.#disposed) {
+            const dt = this.#disposed;
+            let task;
+            while (task = dt?.shift()) {
+              this.#disposeAfter?.(...task);
+            }
+          }
+        }
       }
-    };
-    exports2.UInt32Value = new UInt32Value$Type();
-    var BoolValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BoolValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
+      #evict(free) {
+        const head = this.#head;
+        const k = this.#keyList[head];
+        const v = this.#valList[head];
+        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
+          v.__abortController.abort(new Error("evicted"));
+        } else if (this.#hasDispose || this.#hasDisposeAfter) {
+          if (this.#hasDispose) {
+            this.#dispose?.(v, k, "evict");
           }
-        ]);
+          if (this.#hasDisposeAfter) {
+            this.#disposed?.push([v, k, "evict"]);
+          }
+        }
+        this.#removeItemSize(head);
+        if (free) {
+          this.#keyList[head] = void 0;
+          this.#valList[head] = void 0;
+          this.#free.push(head);
+        }
+        if (this.#size === 1) {
+          this.#head = this.#tail = 0;
+          this.#free.length = 0;
+        } else {
+          this.#head = this.#next[head];
+        }
+        this.#keyMap.delete(k);
+        this.#size--;
+        return head;
       }
       /**
-       * Encode `BoolValue` to JSON bool.
+       * Check if a key is in the cache, without updating the recency of use.
+       * Will return false if the item is stale, even though it is technically
+       * in the cache.
+       *
+       * Check if a key is in the cache, without updating the recency of
+       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
+       * to `true` in either the options or the constructor.
+       *
+       * Will return `false` if the item is stale, even though it is technically in
+       * the cache. The difference can be determined (if it matters) by using a
+       * `status` argument, and inspecting the `has` field.
+       *
+       * Will not update item age unless
+       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
        */
-      internalJsonWrite(message, options) {
-        return message.value;
+      has(k, hasOptions = {}) {
+        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
+            return false;
+          }
+          if (!this.#isStale(index)) {
+            if (updateAgeOnHas) {
+              this.#updateItemAge(index);
+            }
+            if (status) {
+              status.has = "hit";
+              this.#statusTTL(status, index);
+            }
+            return true;
+          } else if (status) {
+            status.has = "stale";
+            this.#statusTTL(status, index);
+          }
+        } else if (status) {
+          status.has = "miss";
+        }
+        return false;
       }
       /**
-       * Decode `BoolValue` from JSON bool.
+       * Like {@link LRUCache#get} but doesn't update recency or delete stale
+       * items.
+       *
+       * Returns `undefined` if the item is stale, unless
+       * {@link LRUCache.OptionsBase.allowStale} is set.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: false };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      peek(k, peekOptions = {}) {
+        const { allowStale = this.allowStale } = peekOptions;
+        const index = this.#keyMap.get(k);
+        if (index === void 0 || !allowStale && this.#isStale(index)) {
+          return;
+        }
+        const v = this.#valList[index];
+        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool value */
-            1:
-              message.value = reader.bool();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #backgroundFetch(k, index, options, context3) {
+        const v = index === void 0 ? void 0 : this.#valList[index];
+        if (this.#isBackgroundFetch(v)) {
+          return v;
+        }
+        const ac = new AC();
+        const { signal } = options;
+        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
+          signal: ac.signal
+        });
+        const fetchOpts = {
+          signal: ac.signal,
+          options,
+          context: context3
+        };
+        const cb = (v2, updateCache = false) => {
+          const { aborted } = ac.signal;
+          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
+          if (options.status) {
+            if (aborted && !updateCache) {
+              options.status.fetchAborted = true;
+              options.status.fetchError = ac.signal.reason;
+              if (ignoreAbort)
+                options.status.fetchAbortIgnored = true;
+            } else {
+              options.status.fetchResolved = true;
+            }
+          }
+          if (aborted && !ignoreAbort && !updateCache) {
+            return fetchFail(ac.signal.reason);
+          }
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            if (v2 === void 0) {
+              if (bf2.__staleWhileFetching) {
+                this.#valList[index] = bf2.__staleWhileFetching;
+              } else {
+                this.#delete(k, "fetch");
+              }
+            } else {
+              if (options.status)
+                options.status.fetchUpdated = true;
+              this.set(k, v2, fetchOpts.options);
+            }
+          }
+          return v2;
+        };
+        const eb = (er) => {
+          if (options.status) {
+            options.status.fetchRejected = true;
+            options.status.fetchError = er;
+          }
+          return fetchFail(er);
+        };
+        const fetchFail = (er) => {
+          const { aborted } = ac.signal;
+          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
+          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
+          const noDelete = allowStale || options.noDeleteOnFetchRejection;
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            const del = !noDelete || bf2.__staleWhileFetching === void 0;
+            if (del) {
+              this.#delete(k, "fetch");
+            } else if (!allowStaleAborted) {
+              this.#valList[index] = bf2.__staleWhileFetching;
+            }
+          }
+          if (allowStale) {
+            if (options.status && bf2.__staleWhileFetching !== void 0) {
+              options.status.returnedStale = true;
+            }
+            return bf2.__staleWhileFetching;
+          } else if (bf2.__returned === bf2) {
+            throw er;
+          }
+        };
+        const pcall = (res, rej) => {
+          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
+          if (fmp && fmp instanceof Promise) {
+            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
           }
+          ac.signal.addEventListener("abort", () => {
+            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
+              res(void 0);
+              if (options.allowStaleOnFetchAbort) {
+                res = (v2) => cb(v2, true);
+              }
+            }
+          });
+        };
+        if (options.status)
+          options.status.fetchDispatched = true;
+        const p = new Promise(pcall).then(cb, eb);
+        const bf = Object.assign(p, {
+          __abortController: ac,
+          __staleWhileFetching: v,
+          __returned: void 0
+        });
+        if (index === void 0) {
+          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
+          index = this.#keyMap.get(k);
+        } else {
+          this.#valList[index] = bf;
         }
-        return message;
+        return bf;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== false)
-          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      #isBackgroundFetch(p) {
+        if (!this.#hasFetchMethod)
+          return false;
+        const b = p;
+        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
       }
-    };
-    exports2.BoolValue = new BoolValue$Type();
-    var StringValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.StringValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      async fetch(k, fetchOptions = {}) {
+        const {
+          // get options
+          allowStale = this.allowStale,
+          updateAgeOnGet = this.updateAgeOnGet,
+          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
+          // set options
+          ttl = this.ttl,
+          noDisposeOnSet = this.noDisposeOnSet,
+          size = 0,
+          sizeCalculation = this.sizeCalculation,
+          noUpdateTTL = this.noUpdateTTL,
+          // fetch exclusive options
+          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
+          ignoreFetchAbort = this.ignoreFetchAbort,
+          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
+          context: context3,
+          forceRefresh = false,
+          status,
+          signal
+        } = fetchOptions;
+        if (!this.#hasFetchMethod) {
+          if (status)
+            status.fetch = "get";
+          return this.get(k, {
+            allowStale,
+            updateAgeOnGet,
+            noDeleteOnStaleGet,
+            status
+          });
+        }
+        const options = {
+          allowStale,
+          updateAgeOnGet,
+          noDeleteOnStaleGet,
+          ttl,
+          noDisposeOnSet,
+          size,
+          sizeCalculation,
+          noUpdateTTL,
+          noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection,
+          allowStaleOnFetchAbort,
+          ignoreFetchAbort,
+          status,
+          signal
+        };
+        let index = this.#keyMap.get(k);
+        if (index === void 0) {
+          if (status)
+            status.fetch = "miss";
+          const p = this.#backgroundFetch(k, index, options, context3);
+          return p.__returned = p;
+        } else {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            const stale = allowStale && v.__staleWhileFetching !== void 0;
+            if (status) {
+              status.fetch = "inflight";
+              if (stale)
+                status.returnedStale = true;
+            }
+            return stale ? v.__staleWhileFetching : v.__returned = v;
           }
-        ]);
+          const isStale = this.#isStale(index);
+          if (!forceRefresh && !isStale) {
+            if (status)
+              status.fetch = "hit";
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            if (status)
+              this.#statusTTL(status, index);
+            return v;
+          }
+          const p = this.#backgroundFetch(k, index, options, context3);
+          const hasStale = p.__staleWhileFetching !== void 0;
+          const staleVal = hasStale && allowStale;
+          if (status) {
+            status.fetch = isStale ? "stale" : "refresh";
+            if (staleVal && isStale)
+              status.returnedStale = true;
+          }
+          return staleVal ? p.__staleWhileFetching : p.__returned = p;
+        }
       }
-      /**
-       * Encode `StringValue` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return message.value;
+      async forceFetch(k, fetchOptions = {}) {
+        const v = await this.fetch(k, fetchOptions);
+        if (v === void 0)
+          throw new Error("fetch() returned undefined");
+        return v;
+      }
+      memo(k, memoOptions = {}) {
+        const memoMethod = this.#memoMethod;
+        if (!memoMethod) {
+          throw new Error("no memoMethod provided to constructor");
+        }
+        const { context: context3, forceRefresh, ...options } = memoOptions;
+        const v = this.get(k, options);
+        if (!forceRefresh && v !== void 0)
+          return v;
+        const vv = memoMethod(k, v, {
+          options,
+          context: context3
+        });
+        this.set(k, vv, options);
+        return vv;
       }
       /**
-       * Decode `StringValue` from JSON string.
+       * Return a value from the cache. Will update the recency of the cache
+       * entry found.
+       *
+       * If the key is not found, get() will return `undefined`.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
-        return target;
+      get(k, getOptions = {}) {
+        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const value = this.#valList[index];
+          const fetching = this.#isBackgroundFetch(value);
+          if (status)
+            this.#statusTTL(status, index);
+          if (this.#isStale(index)) {
+            if (status)
+              status.get = "stale";
+            if (!fetching) {
+              if (!noDeleteOnStaleGet) {
+                this.#delete(k, "expire");
+              }
+              if (status && allowStale)
+                status.returnedStale = true;
+              return allowStale ? value : void 0;
+            } else {
+              if (status && allowStale && value.__staleWhileFetching !== void 0) {
+                status.returnedStale = true;
+              }
+              return allowStale ? value.__staleWhileFetching : void 0;
+            }
+          } else {
+            if (status)
+              status.get = "hit";
+            if (fetching) {
+              return value.__staleWhileFetching;
+            }
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            return value;
+          }
+        } else if (status) {
+          status.get = "miss";
+        }
       }
-      create(value) {
-        const message = { value: "" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      #connect(p, n) {
+        this.#prev[n] = p;
+        this.#next[p] = n;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string value */
-            1:
-              message.value = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #moveToTail(index) {
+        if (index !== this.#tail) {
+          if (index === this.#head) {
+            this.#head = this.#next[index];
+          } else {
+            this.#connect(this.#prev[index], this.#next[index]);
           }
+          this.#connect(this.#tail, index);
+          this.#tail = index;
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "")
-          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Deletes a key out of the cache.
+       *
+       * Returns true if the key was deleted, false otherwise.
+       */
+      delete(k) {
+        return this.#delete(k, "delete");
       }
-    };
-    exports2.StringValue = new StringValue$Type();
-    var BytesValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BytesValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 12
-            /*ScalarType.BYTES*/
+      #delete(k, reason) {
+        let deleted = false;
+        if (this.#size !== 0) {
+          const index = this.#keyMap.get(k);
+          if (index !== void 0) {
+            deleted = true;
+            if (this.#size === 1) {
+              this.#clear(reason);
+            } else {
+              this.#removeItemSize(index);
+              const v = this.#valList[index];
+              if (this.#isBackgroundFetch(v)) {
+                v.__abortController.abort(new Error("deleted"));
+              } else if (this.#hasDispose || this.#hasDisposeAfter) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(v, k, reason);
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([v, k, reason]);
+                }
+              }
+              this.#keyMap.delete(k);
+              this.#keyList[index] = void 0;
+              this.#valList[index] = void 0;
+              if (index === this.#tail) {
+                this.#tail = this.#prev[index];
+              } else if (index === this.#head) {
+                this.#head = this.#next[index];
+              } else {
+                const pi = this.#prev[index];
+                this.#next[pi] = this.#next[index];
+                const ni = this.#next[index];
+                this.#prev[ni] = this.#prev[index];
+              }
+              this.#size--;
+              this.#free.push(index);
+            }
           }
-        ]);
-      }
-      /**
-       * Encode `BytesValue` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
+        }
+        if (this.#hasDisposeAfter && this.#disposed?.length) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
+        }
+        return deleted;
       }
       /**
-       * Decode `BytesValue` from JSON string.
+       * Clear the cache entirely, throwing away all values.
        */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: new Uint8Array(0) };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      clear() {
+        return this.#clear("delete");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bytes value */
-            1:
-              message.value = reader.bytes();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      #clear(reason) {
+        for (const index of this.#rindexes({ allowStale: true })) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            v.__abortController.abort(new Error("deleted"));
+          } else {
+            const k = this.#keyList[index];
+            if (this.#hasDispose) {
+              this.#dispose?.(v, k, reason);
+            }
+            if (this.#hasDisposeAfter) {
+              this.#disposed?.push([v, k, reason]);
+            }
+          }
+        }
+        this.#keyMap.clear();
+        this.#valList.fill(void 0);
+        this.#keyList.fill(void 0);
+        if (this.#ttls && this.#starts) {
+          this.#ttls.fill(0);
+          this.#starts.fill(0);
+        }
+        if (this.#sizes) {
+          this.#sizes.fill(0);
+        }
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free.length = 0;
+        this.#calculatedSize = 0;
+        this.#size = 0;
+        if (this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value.length)
-          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
     };
-    exports2.BytesValue = new BytesValue$Type();
+    exports2.LRUCache = LRUCache;
   }
 });
 
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
-var require_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
+// node_modules/minipass/dist/commonjs/index.js
+var require_commonjs22 = __commonJS({
+  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
     "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
-    var runtime_rpc_1 = require_commonjs17();
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var wrappers_1 = require_wrappers();
-    var wrappers_2 = require_wrappers();
-    var timestamp_1 = require_timestamp();
-    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            3:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
+    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
+    var proc = typeof process === "object" && process ? process : {
+      stdout: null,
+      stderr: null
     };
-    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
-    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+    var node_events_1 = require("node:events");
+    var node_stream_1 = __importDefault2(require("node:stream"));
+    var node_string_decoder_1 = require("node:string_decoder");
+    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
+    exports2.isStream = isStream;
+    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
+    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
+    exports2.isReadable = isReadable;
+    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
+    exports2.isWritable = isWritable;
+    var EOF2 = /* @__PURE__ */ Symbol("EOF");
+    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
+    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
+    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
+    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
+    var CLOSED = /* @__PURE__ */ Symbol("closed");
+    var READ = /* @__PURE__ */ Symbol("read");
+    var FLUSH = /* @__PURE__ */ Symbol("flush");
+    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
+    var ENCODING = /* @__PURE__ */ Symbol("encoding");
+    var DECODER = /* @__PURE__ */ Symbol("decoder");
+    var FLOWING = /* @__PURE__ */ Symbol("flowing");
+    var PAUSED = /* @__PURE__ */ Symbol("paused");
+    var RESUME = /* @__PURE__ */ Symbol("resume");
+    var BUFFER = /* @__PURE__ */ Symbol("buffer");
+    var PIPES = /* @__PURE__ */ Symbol("pipes");
+    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
+    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
+    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
+    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
+    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
+    var ERROR = /* @__PURE__ */ Symbol("error");
+    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
+    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
+    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
+    var ASYNC = /* @__PURE__ */ Symbol("async");
+    var ABORT = /* @__PURE__ */ Symbol("abort");
+    var ABORTED = /* @__PURE__ */ Symbol("aborted");
+    var SIGNAL = /* @__PURE__ */ Symbol("signal");
+    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
+    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
+    var defer = (fn) => Promise.resolve().then(fn);
+    var nodefer = (fn) => fn();
+    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
+    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
+    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
+    var Pipe = class {
+      src;
+      dest;
+      opts;
+      ondrain;
+      constructor(src, dest, opts) {
+        this.src = src;
+        this.dest = dest;
+        this.opts = opts;
+        this.ondrain = () => src[RESUME]();
+        this.dest.on("drain", this.ondrain);
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      unpipe() {
+        this.dest.removeListener("drain", this.ondrain);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      // only here for the prototype
+      /* c8 ignore start */
+      proxyErrors(_er) {
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /* c8 ignore stop */
+      end() {
+        this.unpipe();
+        if (this.opts.end)
+          this.dest.end();
       }
     };
-    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
-    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            3:
-              message.size = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+    var PipeProxyErrors = class extends Pipe {
+      unpipe() {
+        this.src.removeListener("error", this.proxyErrors);
+        super.unpipe();
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      constructor(src, dest, opts) {
+        super(src, dest, opts);
+        this.proxyErrors = (er) => dest.emit("error", er);
+        src.on("error", this.proxyErrors);
       }
     };
-    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
-    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+    var isObjectModeOptions = (o) => !!o.objectMode;
+    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
+    var Minipass = class extends node_events_1.EventEmitter {
+      [FLOWING] = false;
+      [PAUSED] = false;
+      [PIPES] = [];
+      [BUFFER] = [];
+      [OBJECTMODE];
+      [ENCODING];
+      [ASYNC];
+      [DECODER];
+      [EOF2] = false;
+      [EMITTED_END] = false;
+      [EMITTING_END] = false;
+      [CLOSED] = false;
+      [EMITTED_ERROR] = null;
+      [BUFFERLENGTH] = 0;
+      [DESTROYED] = false;
+      [SIGNAL];
+      [ABORTED] = false;
+      [DATALISTENERS] = 0;
+      [DISCARDED] = false;
+      /**
+       * true if the stream can be written
+       */
+      writable = true;
+      /**
+       * true if the stream can be read
+       */
+      readable = true;
+      /**
+       * If `RType` is Buffer, then options do not need to be provided.
+       * Otherwise, an options object must be provided to specify either
+       * {@link Minipass.SharedOptions.objectMode} or
+       * {@link Minipass.SharedOptions.encoding}, as appropriate.
+       */
+      constructor(...args) {
+        const options = args[0] || {};
+        super();
+        if (options.objectMode && typeof options.encoding === "string") {
+          throw new TypeError("Encoding and objectMode may not be used together");
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
-    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
-          {
-            no: 5,
-            name: "version",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            4:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            case /* int32 version */
-            5:
-              message.version = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+        if (isObjectModeOptions(options)) {
+          this[OBJECTMODE] = true;
+          this[ENCODING] = null;
+        } else if (isEncodingOptions(options)) {
+          this[ENCODING] = options.encoding;
+          this[OBJECTMODE] = false;
+        } else {
+          this[OBJECTMODE] = false;
+          this[ENCODING] = null;
+        }
+        this[ASYNC] = !!options.async;
+        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
+        if (options && options.debugExposeBuffer === true) {
+          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
+        }
+        if (options && options.debugExposePipes === true) {
+          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
+        }
+        const { signal } = options;
+        if (signal) {
+          this[SIGNAL] = signal;
+          if (signal.aborted) {
+            this[ABORT]();
+          } else {
+            signal.addEventListener("abort", () => this[ABORT]());
           }
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.version !== 0)
-          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * The amount of data stored in the buffer waiting to be read.
+       *
+       * For Buffer strings, this will be the total byte length.
+       * For string encoding streams, this will be the string character length,
+       * according to JavaScript's `string.length` logic.
+       * For objectMode streams, this is a count of the items waiting to be
+       * emitted.
+       */
+      get bufferLength() {
+        return this[BUFFERLENGTH];
       }
-    };
-    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
-    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      /**
+       * The `BufferEncoding` currently in use, or `null`
+       */
+      get encoding() {
+        return this[ENCODING];
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * @deprecated - This is a read only property
+       */
+      set encoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * @deprecated - Encoding may only be set at instantiation time
+       */
+      setEncoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * True if this is an objectMode stream
+       */
+      get objectMode() {
+        return this[OBJECTMODE];
       }
-    };
-    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
-    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 4,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+      /**
+       * @deprecated - This is a read-only property
+       */
+      set objectMode(_om) {
+        throw new Error("objectMode must be set at instantiation time");
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * true if this is an async stream
+       */
+      get ["async"]() {
+        return this[ASYNC];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            4:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.StringValue hash */
-            5:
-              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * Set to true to make this stream async.
+       *
+       * Once set, it cannot be unset, as this would potentially cause incorrect
+       * behavior.  Ie, a sync stream can be made async, but an async stream
+       * cannot be safely made sync.
+       */
+      set ["async"](a) {
+        this[ASYNC] = this[ASYNC] || !!a;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
-        if (message.hash)
-          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      // drop everything and get out of the flow completely
+      [ABORT]() {
+        this[ABORTED] = true;
+        this.emit("abort", this[SIGNAL]?.reason);
+        this.destroy(this[SIGNAL]?.reason);
       }
-    };
-    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
-    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+      /**
+       * True if the stream has been aborted.
+       */
+      get aborted() {
+        return this[ABORTED];
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * No-op setter. Stream aborted status is set via the AbortSignal provided
+       * in the constructor options.
+       */
+      set aborted(_2) {
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      write(chunk, encoding, cb) {
+        if (this[ABORTED])
+          return false;
+        if (this[EOF2])
+          throw new Error("write after end");
+        if (this[DESTROYED]) {
+          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
+          return true;
+        }
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
+        }
+        if (!encoding)
+          encoding = "utf8";
+        const fn = this[ASYNC] ? defer : nodefer;
+        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
+          if (isArrayBufferView(chunk)) {
+            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+          } else if (isArrayBufferLike(chunk)) {
+            chunk = Buffer.from(chunk);
+          } else if (typeof chunk !== "string") {
+            throw new Error("Non-contiguous data written to non-objectMode stream");
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
-    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
-          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        if (this[OBJECTMODE]) {
+          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+            this[FLUSH](true);
+          if (this[FLOWING])
+            this.emit("data", chunk);
+          else
+            this[BUFFERPUSH](chunk);
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
+        }
+        if (!chunk.length) {
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
+        }
+        if (typeof chunk === "string" && // unless it is a string already ready for us to use
+        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
+          chunk = Buffer.from(chunk, encoding);
+        }
+        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
+          chunk = this[DECODER].write(chunk);
+        }
+        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+          this[FLUSH](true);
+        if (this[FLOWING])
+          this.emit("data", chunk);
+        else
+          this[BUFFERPUSH](chunk);
+        if (this[BUFFERLENGTH] !== 0)
+          this.emit("readable");
+        if (cb)
+          fn(cb);
+        return this[FLOWING];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* google.protobuf.StringValue name_filter */
-            3:
-              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
-              break;
-            case /* google.protobuf.Int64Value id_filter */
-            4:
-              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Low-level explicit read method.
+       *
+       * In objectMode, the argument is ignored, and one item is returned if
+       * available.
+       *
+       * `n` is the number of bytes (or in the case of encoding streams,
+       * characters) to consume. If `n` is not provided, then the entire buffer
+       * is returned, or `null` is returned if no data is available.
+       *
+       * If `n` is greater that the amount of data in the internal buffer,
+       * then `null` is returned.
+       */
+      read(n) {
+        if (this[DESTROYED])
+          return null;
+        this[DISCARDED] = false;
+        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
+          this[MAYBE_EMIT_END]();
+          return null;
+        }
+        if (this[OBJECTMODE])
+          n = null;
+        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
+          this[BUFFER] = [
+            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
+          ];
+        }
+        const ret = this[READ](n || null, this[BUFFER][0]);
+        this[MAYBE_EMIT_END]();
+        return ret;
+      }
+      [READ](n, chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERSHIFT]();
+        else {
+          const c = chunk;
+          if (n === c.length || n === null)
+            this[BUFFERSHIFT]();
+          else if (typeof c === "string") {
+            this[BUFFER][0] = c.slice(n);
+            chunk = c.slice(0, n);
+            this[BUFFERLENGTH] -= n;
+          } else {
+            this[BUFFER][0] = c.subarray(n);
+            chunk = c.subarray(0, n);
+            this[BUFFERLENGTH] -= n;
           }
         }
-        return message;
+        this.emit("data", chunk);
+        if (!this[BUFFER].length && !this[EOF2])
+          this.emit("drain");
+        return chunk;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.nameFilter)
-          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.idFilter)
-          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      end(chunk, encoding, cb) {
+        if (typeof chunk === "function") {
+          cb = chunk;
+          chunk = void 0;
+        }
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
+        }
+        if (chunk !== void 0)
+          this.write(chunk, encoding);
+        if (cb)
+          this.once("end", cb);
+        this[EOF2] = true;
+        this.writable = false;
+        if (this[FLOWING] || !this[PAUSED])
+          this[MAYBE_EMIT_END]();
+        return this;
       }
-    };
-    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
-    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse", [
-          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
-        ]);
+      // don't let the internal resume be overwritten
+      [RESUME]() {
+        if (this[DESTROYED])
+          return;
+        if (!this[DATALISTENERS] && !this[PIPES].length) {
+          this[DISCARDED] = true;
+        }
+        this[PAUSED] = false;
+        this[FLOWING] = true;
+        this.emit("resume");
+        if (this[BUFFER].length)
+          this[FLUSH]();
+        else if (this[EOF2])
+          this[MAYBE_EMIT_END]();
+        else
+          this.emit("drain");
       }
-      create(value) {
-        const message = { artifacts: [] };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Resume the stream if it is currently in a paused state
+       *
+       * If called when there are no pipe destinations or `data` event listeners,
+       * this will place the stream in a "discarded" state, where all data will
+       * be thrown away. The discarded state is removed if a pipe destination or
+       * data handler is added, if pause() is called, or if any synchronous or
+       * asynchronous iteration is started.
+       */
+      resume() {
+        return this[RESUME]();
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
-            1:
-              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * Pause the stream
+       */
+      pause() {
+        this[FLOWING] = false;
+        this[PAUSED] = true;
+        this[DISCARDED] = false;
       }
-      internalBinaryWrite(message, writer, options) {
-        for (let i = 0; i < message.artifacts.length; i++)
-          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * true if the stream has been forcibly destroyed
+       */
+      get destroyed() {
+        return this[DESTROYED];
       }
-    };
-    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
-    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "database_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 4,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 5,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
-          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+      /**
+       * true if the stream is currently in a flowing state, meaning that
+       * any writes will be immediately emitted.
+       */
+      get flowing() {
+        return this[FLOWING];
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * true if the stream is currently in a paused state
+       */
+      get paused() {
+        return this[PAUSED];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* int64 database_id */
-            3:
-              message.databaseId = reader.int64().toString();
-              break;
-            case /* string name */
-            4:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            5:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.Timestamp created_at */
-            6:
-              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
-              break;
-            case /* google.protobuf.StringValue digest */
-            7:
-              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      [BUFFERPUSH](chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] += 1;
+        else
+          this[BUFFERLENGTH] += chunk.length;
+        this[BUFFER].push(chunk);
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.databaseId !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
-        if (message.name !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
-        if (message.createdAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.digest)
-          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      [BUFFERSHIFT]() {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] -= 1;
+        else
+          this[BUFFERLENGTH] -= this[BUFFER][0].length;
+        return this[BUFFER].shift();
       }
-    };
-    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
-    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      [FLUSH](noDrain = false) {
+        do {
+        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
+        if (!noDrain && !this[BUFFER].length && !this[EOF2])
+          this.emit("drain");
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      [FLUSHCHUNK](chunk) {
+        this.emit("data", chunk);
+        return this[FLOWING];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      /**
+       * Pipe all data emitted by this stream into the destination provided.
+       *
+       * Triggers the flow of data.
+       */
+      pipe(dest, opts) {
+        if (this[DESTROYED])
+          return dest;
+        this[DISCARDED] = false;
+        const ended = this[EMITTED_END];
+        opts = opts || {};
+        if (dest === proc.stdout || dest === proc.stderr)
+          opts.end = false;
+        else
+          opts.end = opts.end !== false;
+        opts.proxyErrors = !!opts.proxyErrors;
+        if (ended) {
+          if (opts.end)
+            dest.end();
+        } else {
+          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
+          if (this[ASYNC])
+            defer(() => this[RESUME]());
+          else
+            this[RESUME]();
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return dest;
       }
-    };
-    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
-    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
-          {
-            no: 1,
-            name: "signed_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      /**
+       * Fully unhook a piped destination stream.
+       *
+       * If the destination stream was the only consumer of this stream (ie,
+       * there are no other piped destinations or `'data'` event listeners)
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      unpipe(dest) {
+        const p = this[PIPES].find((p2) => p2.dest === dest);
+        if (p) {
+          if (this[PIPES].length === 1) {
+            if (this[FLOWING] && this[DATALISTENERS] === 0) {
+              this[FLOWING] = false;
+            }
+            this[PIPES] = [];
+          } else
+            this[PIPES].splice(this[PIPES].indexOf(p), 1);
+          p.unpipe();
+        }
       }
-      create(value) {
-        const message = { signedUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Alias for {@link Minipass#on}
+       */
+      addListener(ev, handler2) {
+        return this.on(ev, handler2);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string signed_url */
-            1:
-              message.signedUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Mostly identical to `EventEmitter.on`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * - Adding a 'data' event handler will trigger the flow of data
+       *
+       * - Adding a 'readable' event handler when there is data waiting to be read
+       *   will cause 'readable' to be emitted immediately.
+       *
+       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
+       *   already passed will cause the event to be emitted immediately and all
+       *   handlers removed.
+       *
+       * - Adding an 'error' event handler after an error has been emitted will
+       *   cause the event to be re-emitted immediately with the error previously
+       *   raised.
+       */
+      on(ev, handler2) {
+        const ret = super.on(ev, handler2);
+        if (ev === "data") {
+          this[DISCARDED] = false;
+          this[DATALISTENERS]++;
+          if (!this[PIPES].length && !this[FLOWING]) {
+            this[RESUME]();
           }
+        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
+          super.emit("readable");
+        } else if (isEndish(ev) && this[EMITTED_END]) {
+          super.emit(ev);
+          this.removeAllListeners(ev);
+        } else if (ev === "error" && this[EMITTED_ERROR]) {
+          const h = handler2;
+          if (this[ASYNC])
+            defer(() => h.call(this, this[EMITTED_ERROR]));
+          else
+            h.call(this, this[EMITTED_ERROR]);
         }
-        return message;
+        return ret;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.signedUrl !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      /**
+       * Alias for {@link Minipass#off}
+       */
+      removeListener(ev, handler2) {
+        return this.off(ev, handler2);
       }
-    };
-    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
-    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      /**
+       * Mostly identical to `EventEmitter.off`
+       *
+       * If a 'data' event handler is removed, and it was the last consumer
+       * (ie, there are no pipe destinations or other 'data' event listeners),
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      off(ev, handler2) {
+        const ret = super.off(ev, handler2);
+        if (ev === "data") {
+          this[DATALISTENERS] = this.listeners("data").length;
+          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
           }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        }
+        return ret;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      /**
+       * Mostly identical to `EventEmitter.removeAllListeners`
+       *
+       * If all 'data' event handlers are removed, and they were the last consumer
+       * (ie, there are no pipe destinations), then the flow of data will stop
+       * until there is another consumer or {@link Minipass#resume} is explicitly
+       * called.
+       */
+      removeAllListeners(ev) {
+        const ret = super.removeAllListeners(ev);
+        if (ev === "data" || ev === void 0) {
+          this[DATALISTENERS] = 0;
+          if (!this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return ret;
       }
-    };
-    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
-    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+      /**
+       * true if the 'end' event has been emitted
+       */
+      get emittedEnd() {
+        return this[EMITTED_END];
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      [MAYBE_EMIT_END]() {
+        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF2]) {
+          this[EMITTING_END] = true;
+          this.emit("end");
+          this.emit("prefinish");
+          this.emit("finish");
+          if (this[CLOSED])
+            this.emit("close");
+          this[EMITTING_END] = false;
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      /**
+       * Mostly identical to `EventEmitter.emit`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * If the stream has been destroyed, and the event is something other
+       * than 'close' or 'error', then `false` is returned and no handlers
+       * are called.
+       *
+       * If the event is 'end', and has already been emitted, then the event
+       * is ignored. If the stream is in a paused or non-flowing state, then
+       * the event will be deferred until data flow resumes. If the stream is
+       * async, then handlers will be called on the next tick rather than
+       * immediately.
+       *
+       * If the event is 'close', and 'end' has not yet been emitted, then
+       * the event will be deferred until after 'end' is emitted.
+       *
+       * If the event is 'error', and an AbortSignal was provided for the stream,
+       * and there are no listeners, then the event is ignored, matching the
+       * behavior of node core streams in the presense of an AbortSignal.
+       *
+       * If the event is 'finish' or 'prefinish', then all listeners will be
+       * removed after emitting the event, to prevent double-firing.
+       */
+      emit(ev, ...args) {
+        const data = args[0];
+        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
+          return false;
+        } else if (ev === "data") {
+          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
+        } else if (ev === "end") {
+          return this[EMITEND]();
+        } else if (ev === "close") {
+          this[CLOSED] = true;
+          if (!this[EMITTED_END] && !this[DESTROYED])
+            return false;
+          const ret2 = super.emit("close");
+          this.removeAllListeners("close");
+          return ret2;
+        } else if (ev === "error") {
+          this[EMITTED_ERROR] = data;
+          super.emit(ERROR, data);
+          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "resume") {
+          const ret2 = super.emit("resume");
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "finish" || ev === "prefinish") {
+          const ret2 = super.emit(ev);
+          this.removeAllListeners(ev);
+          return ret2;
         }
-        return message;
+        const ret = super.emit(ev, ...args);
+        this[MAYBE_EMIT_END]();
+        return ret;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      [EMITDATA](data) {
+        for (const p of this[PIPES]) {
+          if (p.dest.write(data) === false)
+            this.pause();
+        }
+        const ret = this[DISCARDED] ? false : super.emit("data", data);
+        this[MAYBE_EMIT_END]();
+        return ret;
       }
-    };
-    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
-    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
-      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
-      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
-      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
-      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
-      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
-      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
-      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
-    ]);
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
-var require_artifact_twirp_client = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
-    var artifact_1 = require_artifact();
-    var ArtifactServiceClientJSON = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
+      [EMITEND]() {
+        if (this[EMITTED_END])
+          return false;
+        this[EMITTED_END] = true;
+        this.readable = false;
+        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
       }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      [EMITEND2]() {
+        if (this[DECODER]) {
+          const data = this[DECODER].end();
+          if (data) {
+            for (const p of this[PIPES]) {
+              p.dest.write(data);
+            }
+            if (!this[DISCARDED])
+              super.emit("data", data);
+          }
+        }
+        for (const p of this[PIPES]) {
+          p.end();
+        }
+        const ret = super.emit("end");
+        this.removeAllListeners("end");
+        return ret;
       }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+      /**
+       * Return a Promise that resolves to an array of all emitted data once
+       * the stream ends.
+       */
+      async collect() {
+        const buf = Object.assign([], {
+          dataLength: 0
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+        if (!this[OBJECTMODE])
+          buf.dataLength = 0;
+        const p = this.promise();
+        this.on("data", (c) => {
+          buf.push(c);
+          if (!this[OBJECTMODE])
+            buf.dataLength += c.length;
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
+        await p;
+        return buf;
       }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      /**
+       * Return a Promise that resolves to the concatenation of all emitted data
+       * once the stream ends.
+       *
+       * Not allowed on objectMode streams.
+       */
+      async concat() {
+        if (this[OBJECTMODE]) {
+          throw new Error("cannot concat in objectMode");
+        }
+        const buf = await this.collect();
+        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
       }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
+      /**
+       * Return a void Promise that resolves once the stream ends.
+       */
+      async promise() {
+        return new Promise((resolve8, reject) => {
+          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
+          this.on("error", (er) => reject(er));
+          this.on("end", () => resolve8());
         });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-    };
-    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
-    var ArtifactServiceClientProtobuf = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
-      }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
-      }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
-      }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
       }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
+      /**
+       * Asynchronous `for await of` iteration.
+       *
+       * This will continue emitting all chunks until the stream terminates.
+       */
+      [Symbol.asyncIterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = async () => {
+          this.pause();
+          stopped = true;
+          return { value: void 0, done: true };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const res = this.read();
+          if (res !== null)
+            return Promise.resolve({ done: false, value: res });
+          if (this[EOF2])
+            return stop();
+          let resolve8;
+          let reject;
+          const onerr = (er) => {
+            this.off("data", ondata);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            reject(er);
+          };
+          const ondata = (value) => {
+            this.off("error", onerr);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            this.pause();
+            resolve8({ value, done: !!this[EOF2] });
+          };
+          const onend = () => {
+            this.off("error", onerr);
+            this.off("data", ondata);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            resolve8({ done: true, value: void 0 });
+          };
+          const ondestroy = () => onerr(new Error("stream destroyed"));
+          return new Promise((res2, rej) => {
+            reject = rej;
+            resolve8 = res2;
+            this.once(DESTROYED, ondestroy);
+            this.once("error", onerr);
+            this.once("end", onend);
+            this.once("data", ondata);
+          });
+        };
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.asyncIterator]() {
+            return this;
+          }
+        };
       }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
+      /**
+       * Synchronous `for of` iteration.
+       *
+       * The iteration will terminate when the internal buffer runs out, even
+       * if the stream has not yet terminated.
+       */
+      [Symbol.iterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = () => {
+          this.pause();
+          this.off(ERROR, stop);
+          this.off(DESTROYED, stop);
+          this.off("end", stop);
+          stopped = true;
+          return { done: true, value: void 0 };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const value = this.read();
+          return value === null ? stop() : { done: false, value };
+        };
+        this.once("end", stop);
+        this.once(ERROR, stop);
+        this.once(DESTROYED, stop);
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.iterator]() {
+            return this;
+          }
+        };
       }
-    };
-    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/index.js
-var require_generated = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      /**
+       * Destroy a stream, preventing it from being used for any further purpose.
+       *
+       * If the stream has a `close()` method, then it will be called on
+       * destruction.
+       *
+       * After destruction, any attempt to write data, read data, or emit most
+       * events will be ignored.
+       *
+       * If an error argument is provided, then it will be emitted in an
+       * 'error' event.
+       */
+      destroy(er) {
+        if (this[DESTROYED]) {
+          if (er)
+            this.emit("error", er);
+          else
+            this.emit(DESTROYED);
+          return this;
+        }
+        this[DESTROYED] = true;
+        this[DISCARDED] = true;
+        this[BUFFER].length = 0;
+        this[BUFFERLENGTH] = 0;
+        const wc = this;
+        if (typeof wc.close === "function" && !this[CLOSED])
+          wc.close();
+        if (er)
+          this.emit("error", er);
+        else
+          this.emit(DESTROYED);
+        return this;
+      }
+      /**
+       * Alias for {@link isStream}
+       *
+       * Former export location, maintained for backwards compatibility.
+       *
+       * @deprecated
+       */
+      static get isStream() {
+        return exports2.isStream;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
-      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    __exportStar2(require_timestamp(), exports2);
-    __exportStar2(require_wrappers(), exports2);
-    __exportStar2(require_artifact(), exports2);
-    __exportStar2(require_artifact_twirp_client(), exports2);
+    exports2.Minipass = Minipass;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/upload/retention.js
-var require_retention = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
+// node_modules/path-scurry/dist/commonjs/index.js
+var require_commonjs23 = __commonJS({
+  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
       if (k2 === void 0) k2 = k;
@@ -100804,26123 +120355,24825 @@ var require_retention = __commonJS({
       return result;
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getExpiration = void 0;
-    var generated_1 = require_generated();
-    var core17 = __importStar2(require_core());
-    function getExpiration(retentionDays) {
-      if (!retentionDays) {
-        return void 0;
+    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
+    var lru_cache_1 = require_commonjs21();
+    var node_path_1 = require("node:path");
+    var node_url_1 = require("node:url");
+    var fs_1 = require("fs");
+    var actualFS = __importStar2(require("node:fs"));
+    var realpathSync = fs_1.realpathSync.native;
+    var promises_1 = require("node:fs/promises");
+    var minipass_1 = require_commonjs22();
+    var defaultFS = {
+      lstatSync: fs_1.lstatSync,
+      readdir: fs_1.readdir,
+      readdirSync: fs_1.readdirSync,
+      readlinkSync: fs_1.readlinkSync,
+      realpathSync,
+      promises: {
+        lstat: promises_1.lstat,
+        readdir: promises_1.readdir,
+        readlink: promises_1.readlink,
+        realpath: promises_1.realpath
       }
-      const maxRetentionDays = getRetentionDays();
-      if (maxRetentionDays && maxRetentionDays < retentionDays) {
-        core17.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
-        retentionDays = maxRetentionDays;
+    };
+    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
+      ...defaultFS,
+      ...fsOption,
+      promises: {
+        ...defaultFS.promises,
+        ...fsOption.promises || {}
       }
-      const expirationDate = /* @__PURE__ */ new Date();
-      expirationDate.setDate(expirationDate.getDate() + retentionDays);
-      return generated_1.Timestamp.fromDate(expirationDate);
-    }
-    exports2.getExpiration = getExpiration;
-    function getRetentionDays() {
-      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
-      if (!retentionDays) {
-        return void 0;
+    };
+    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
+    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+    var eitherSep = /[\\\/]/;
+    var UNKNOWN = 0;
+    var IFIFO = 1;
+    var IFCHR = 2;
+    var IFDIR = 4;
+    var IFBLK = 6;
+    var IFREG = 8;
+    var IFLNK = 10;
+    var IFSOCK = 12;
+    var IFMT = 15;
+    var IFMT_UNKNOWN = ~IFMT;
+    var READDIR_CALLED = 16;
+    var LSTAT_CALLED = 32;
+    var ENOTDIR = 64;
+    var ENOENT = 128;
+    var ENOREADLINK = 256;
+    var ENOREALPATH = 512;
+    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
+    var TYPEMASK = 1023;
+    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
+    var normalizeCache = /* @__PURE__ */ new Map();
+    var normalize2 = (s) => {
+      const c = normalizeCache.get(s);
+      if (c)
+        return c;
+      const n = s.normalize("NFKD");
+      normalizeCache.set(s, n);
+      return n;
+    };
+    var normalizeNocaseCache = /* @__PURE__ */ new Map();
+    var normalizeNocase = (s) => {
+      const c = normalizeNocaseCache.get(s);
+      if (c)
+        return c;
+      const n = normalize2(s.toLowerCase());
+      normalizeNocaseCache.set(s, n);
+      return n;
+    };
+    var ResolveCache = class extends lru_cache_1.LRUCache {
+      constructor() {
+        super({ max: 256 });
       }
-      const days = parseInt(retentionDays);
-      if (isNaN(days)) {
-        return void 0;
+    };
+    exports2.ResolveCache = ResolveCache;
+    var ChildrenCache = class extends lru_cache_1.LRUCache {
+      constructor(maxSize = 16 * 1024) {
+        super({
+          maxSize,
+          // parent + children
+          sizeCalculation: (a) => a.length + 1
+        });
       }
-      return days;
-    }
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
-var require_path_and_artifact_name_validation = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.validateFilePath = exports2.validateArtifactName = void 0;
-    var core_1 = require_core();
-    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
-      ['"', ' Double quote "'],
-      [":", " Colon :"],
-      ["<", " Less than <"],
-      [">", " Greater than >"],
-      ["|", " Vertical bar |"],
-      ["*", " Asterisk *"],
-      ["?", " Question mark ?"],
-      ["\r", " Carriage return \\r"],
-      ["\n", " Line feed \\n"]
-    ]);
-    var invalidArtifactNameCharacters = new Map([
-      ...invalidArtifactFilePathCharacters,
-      ["\\", " Backslash \\"],
-      ["/", " Forward slash /"]
-    ]);
-    function validateArtifactName(name) {
-      if (!name) {
-        throw new Error(`Provided artifact name input during validation is empty`);
+    };
+    exports2.ChildrenCache = ChildrenCache;
+    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
+    var PathBase = class {
+      /**
+       * the basename of this path
+       *
+       * **Important**: *always* test the path name against any test string
+       * usingthe {@link isNamed} method, and not by directly comparing this
+       * string. Otherwise, unicode path strings that the system sees as identical
+       * will not be properly treated as the same path, leading to incorrect
+       * behavior and possible security issues.
+       */
+      name;
+      /**
+       * the Path entry corresponding to the path root.
+       *
+       * @internal
+       */
+      root;
+      /**
+       * All roots found within the current PathScurry family
+       *
+       * @internal
+       */
+      roots;
+      /**
+       * a reference to the parent path, or undefined in the case of root entries
+       *
+       * @internal
+       */
+      parent;
+      /**
+       * boolean indicating whether paths are compared case-insensitively
+       * @internal
+       */
+      nocase;
+      /**
+       * boolean indicating that this path is the current working directory
+       * of the PathScurry collection that contains it.
+       */
+      isCWD = false;
+      // potential default fs override
+      #fs;
+      // Stats fields
+      #dev;
+      get dev() {
+        return this.#dev;
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
-        if (name.includes(invalidCharacterKey)) {
-          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
-          
-These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
+      #mode;
+      get mode() {
+        return this.#mode;
+      }
+      #nlink;
+      get nlink() {
+        return this.#nlink;
+      }
+      #uid;
+      get uid() {
+        return this.#uid;
+      }
+      #gid;
+      get gid() {
+        return this.#gid;
+      }
+      #rdev;
+      get rdev() {
+        return this.#rdev;
+      }
+      #blksize;
+      get blksize() {
+        return this.#blksize;
+      }
+      #ino;
+      get ino() {
+        return this.#ino;
+      }
+      #size;
+      get size() {
+        return this.#size;
+      }
+      #blocks;
+      get blocks() {
+        return this.#blocks;
+      }
+      #atimeMs;
+      get atimeMs() {
+        return this.#atimeMs;
+      }
+      #mtimeMs;
+      get mtimeMs() {
+        return this.#mtimeMs;
+      }
+      #ctimeMs;
+      get ctimeMs() {
+        return this.#ctimeMs;
+      }
+      #birthtimeMs;
+      get birthtimeMs() {
+        return this.#birthtimeMs;
+      }
+      #atime;
+      get atime() {
+        return this.#atime;
+      }
+      #mtime;
+      get mtime() {
+        return this.#mtime;
+      }
+      #ctime;
+      get ctime() {
+        return this.#ctime;
+      }
+      #birthtime;
+      get birthtime() {
+        return this.#birthtime;
+      }
+      #matchName;
+      #depth;
+      #fullpath;
+      #fullpathPosix;
+      #relative;
+      #relativePosix;
+      #type;
+      #children;
+      #linkTarget;
+      #realpath;
+      /**
+       * This property is for compatibility with the Dirent class as of
+       * Node v20, where Dirent['parentPath'] refers to the path of the
+       * directory that was passed to readdir. For root entries, it's the path
+       * to the entry itself.
+       */
+      get parentPath() {
+        return (this.parent || this).fullpath();
+      }
+      /**
+       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
+       * this property refers to the *parent* path, not the path object itself.
+       *
+       * @deprecated
+       */
+      get path() {
+        return this.parentPath;
+      }
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        this.name = name;
+        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
+        this.#type = type2 & TYPEMASK;
+        this.nocase = nocase;
+        this.roots = roots;
+        this.root = root || this;
+        this.#children = children;
+        this.#fullpath = opts.fullpath;
+        this.#relative = opts.relative;
+        this.#relativePosix = opts.relativePosix;
+        this.parent = opts.parent;
+        if (this.parent) {
+          this.#fs = this.parent.#fs;
+        } else {
+          this.#fs = fsFromOption(opts.fs);
         }
       }
-      (0, core_1.info)(`Artifact name is valid!`);
-    }
-    exports2.validateArtifactName = validateArtifactName;
-    function validateFilePath(path16) {
-      if (!path16) {
-        throw new Error(`Provided file path input during validation is empty`);
+      /**
+       * Returns the depth of the Path object from its root.
+       *
+       * For example, a path at `/foo/bar` would have a depth of 2.
+       */
+      depth() {
+        if (this.#depth !== void 0)
+          return this.#depth;
+        if (!this.parent)
+          return this.#depth = 0;
+        return this.#depth = this.parent.depth() + 1;
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
-        if (path16.includes(invalidCharacterKey)) {
-          throw new Error(`The path for one of the files in artifact is not valid: ${path16}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
-          
-The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
-          `);
+      /**
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
+      }
+      /**
+       * Get the Path object referenced by the string path, resolved from this Path
+       */
+      resolve(path16) {
+        if (!path16) {
+          return this;
         }
+        const rootPath = this.getRootString(path16);
+        const dir = path16.substring(rootPath.length);
+        const dirParts = dir.split(this.splitSep);
+        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
+        return result;
       }
-    }
-    exports2.validateFilePath = validateFilePath;
-  }
-});
-
-// node_modules/@actions/artifact/package.json
-var require_package3 = __commonJS({
-  "node_modules/@actions/artifact/package.json"(exports2, module2) {
-    module2.exports = {
-      name: "@actions/artifact",
-      version: "5.0.3",
-      preview: true,
-      description: "Actions artifact lib",
-      keywords: [
-        "github",
-        "actions",
-        "artifact"
-      ],
-      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
-      license: "MIT",
-      main: "lib/artifact.js",
-      types: "lib/artifact.d.ts",
-      directories: {
-        lib: "lib",
-        test: "__tests__"
-      },
-      files: [
-        "lib",
-        "!.DS_Store"
-      ],
-      publishConfig: {
-        access: "public"
-      },
-      repository: {
-        type: "git",
-        url: "git+https://github.com/actions/toolkit.git",
-        directory: "packages/artifact"
-      },
-      scripts: {
-        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
-        test: "cd ../../ && npm run test ./packages/artifact",
-        bootstrap: "cd ../../ && npm run bootstrap",
-        "tsc-run": "tsc",
-        tsc: "npm run bootstrap && npm run tsc-run",
-        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
-      },
-      bugs: {
-        url: "https://github.com/actions/toolkit/issues"
-      },
-      dependencies: {
-        "@actions/core": "^2.0.0",
-        "@actions/github": "^6.0.1",
-        "@actions/http-client": "^3.0.2",
-        "@azure/storage-blob": "^12.29.1",
-        "@octokit/core": "^5.2.1",
-        "@octokit/plugin-request-log": "^1.0.4",
-        "@octokit/plugin-retry": "^3.0.9",
-        "@octokit/request": "^8.4.1",
-        "@octokit/request-error": "^5.1.1",
-        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
-        archiver: "^7.0.1",
-        "jwt-decode": "^3.1.2",
-        "unzip-stream": "^0.3.1"
-      },
-      devDependencies: {
-        "@types/archiver": "^5.3.2",
-        "@types/unzip-stream": "^0.3.4",
-        typedoc: "^0.28.13",
-        "typedoc-plugin-markdown": "^3.17.1",
-        typescript: "^5.2.2"
-      },
-      overrides: {
-        "uri-js": "npm:uri-js-replace@^1.0.1",
-        "node-fetch": "^3.3.2"
+      #resolveParts(dirParts) {
+        let p = this;
+        for (const part of dirParts) {
+          p = p.child(part);
+        }
+        return p;
       }
-    };
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
-var require_user_agent2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentString = void 0;
-    var packageJson = require_package3();
-    function getUserAgentString() {
-      return `@actions/artifact-${packageJson.version}`;
-    }
-    exports2.getUserAgentString = getUserAgentString;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/errors.js
-var require_errors4 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
-    var FilesNotFoundError = class extends Error {
-      constructor(files = []) {
-        let message = "No files were found to upload";
-        if (files.length > 0) {
-          message += `: ${files.join(", ")}`;
+      /**
+       * Returns the cached children Path objects, if still available.  If they
+       * have fallen out of the cache, then returns an empty array, and resets the
+       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
+       * lookup.
+       *
+       * @internal
+       */
+      children() {
+        const cached = this.#children.get(this);
+        if (cached) {
+          return cached;
         }
-        super(message);
-        this.files = files;
-        this.name = "FilesNotFoundError";
+        const children = Object.assign([], { provisional: 0 });
+        this.#children.set(this, children);
+        this.#type &= ~READDIR_CALLED;
+        return children;
       }
-    };
-    exports2.FilesNotFoundError = FilesNotFoundError;
-    var InvalidResponseError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "InvalidResponseError";
+      /**
+       * Resolves a path portion and returns or creates the child Path.
+       *
+       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
+       * `'..'`.
+       *
+       * This should not be called directly.  If `pathPart` contains any path
+       * separators, it will lead to unsafe undefined behavior.
+       *
+       * Use `Path.resolve()` instead.
+       *
+       * @internal
+       */
+      child(pathPart, opts) {
+        if (pathPart === "" || pathPart === ".") {
+          return this;
+        }
+        if (pathPart === "..") {
+          return this.parent || this;
+        }
+        const children = this.children();
+        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
+        for (const p of children) {
+          if (p.#matchName === name) {
+            return p;
+          }
+        }
+        const s = this.parent ? this.sep : "";
+        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
+        const pchild = this.newChild(pathPart, UNKNOWN, {
+          ...opts,
+          parent: this,
+          fullpath
+        });
+        if (!this.canReaddir()) {
+          pchild.#type |= ENOENT;
+        }
+        children.push(pchild);
+        return pchild;
       }
-    };
-    exports2.InvalidResponseError = InvalidResponseError;
-    var ArtifactNotFoundError = class extends Error {
-      constructor(message = "Artifact not found") {
-        super(message);
-        this.name = "ArtifactNotFoundError";
+      /**
+       * The relative path from the cwd. If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpath()
+       */
+      relative() {
+        if (this.isCWD)
+          return "";
+        if (this.#relative !== void 0) {
+          return this.#relative;
+        }
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relative = this.name;
+        }
+        const pv = p.relative();
+        return pv + (!pv || !p.parent ? "" : this.sep) + name;
       }
-    };
-    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
-    var GHESNotSupportedError = class extends Error {
-      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
-        super(message);
-        this.name = "GHESNotSupportedError";
+      /**
+       * The relative path from the cwd, using / as the path separator.
+       * If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpathPosix()
+       * On posix systems, this is identical to relative().
+       */
+      relativePosix() {
+        if (this.sep === "/")
+          return this.relative();
+        if (this.isCWD)
+          return "";
+        if (this.#relativePosix !== void 0)
+          return this.#relativePosix;
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relativePosix = this.fullpathPosix();
+        }
+        const pv = p.relativePosix();
+        return pv + (!pv || !p.parent ? "" : "/") + name;
       }
-    };
-    exports2.GHESNotSupportedError = GHESNotSupportedError;
-    var NetworkError = class extends Error {
-      constructor(code) {
-        const message = `Unable to make request: ${code}
-If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
-        super(message);
-        this.code = code;
-        this.name = "NetworkError";
+      /**
+       * The fully resolved path string for this Path entry
+       */
+      fullpath() {
+        if (this.#fullpath !== void 0) {
+          return this.#fullpath;
+        }
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#fullpath = this.name;
+        }
+        const pv = p.fullpath();
+        const fp = pv + (!p.parent ? "" : this.sep) + name;
+        return this.#fullpath = fp;
       }
-    };
-    exports2.NetworkError = NetworkError;
-    NetworkError.isNetworkErrorCode = (code) => {
-      if (!code)
-        return false;
-      return [
-        "ECONNRESET",
-        "ENOTFOUND",
-        "ETIMEDOUT",
-        "ECONNREFUSED",
-        "EHOSTUNREACH"
-      ].includes(code);
-    };
-    var UsageError = class extends Error {
-      constructor() {
-        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
-More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
-        super(message);
-        this.name = "UsageError";
+      /**
+       * On platforms other than windows, this is identical to fullpath.
+       *
+       * On windows, this is overridden to return the forward-slash form of the
+       * full UNC path.
+       */
+      fullpathPosix() {
+        if (this.#fullpathPosix !== void 0)
+          return this.#fullpathPosix;
+        if (this.sep === "/")
+          return this.#fullpathPosix = this.fullpath();
+        if (!this.parent) {
+          const p2 = this.fullpath().replace(/\\/g, "/");
+          if (/^[a-z]:\//i.test(p2)) {
+            return this.#fullpathPosix = `//?/${p2}`;
+          } else {
+            return this.#fullpathPosix = p2;
+          }
+        }
+        const p = this.parent;
+        const pfpp = p.fullpathPosix();
+        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
+        return this.#fullpathPosix = fpp;
       }
-    };
-    exports2.UsageError = UsageError;
-    UsageError.isUsageErrorMessage = (msg) => {
-      if (!msg)
-        return false;
-      return msg.includes("insufficient usage");
-    };
-  }
-});
-
-// node_modules/jwt-decode/build/jwt-decode.cjs.js
-var require_jwt_decode_cjs = __commonJS({
-  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
-    "use strict";
-    function e(e2) {
-      this.message = e2;
-    }
-    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
-    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
-      var t2 = String(r2).replace(/=+$/, "");
-      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
-      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
-      return c;
-    };
-    function t(e2) {
-      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
-      switch (t2.length % 4) {
-        case 0:
-          break;
-        case 2:
-          t2 += "==";
-          break;
-        case 3:
-          t2 += "=";
-          break;
-        default:
-          throw "Illegal base64url string!";
+      /**
+       * Is the Path of an unknown type?
+       *
+       * Note that we might know *something* about it if there has been a previous
+       * filesystem operation, for example that it does not exist, or is not a
+       * link, or whether it has child entries.
+       */
+      isUnknown() {
+        return (this.#type & IFMT) === UNKNOWN;
       }
-      try {
-        return (function(e3) {
-          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
-            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
-            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
-          })));
-        })(t2);
-      } catch (e3) {
-        return r(t2);
+      isType(type2) {
+        return this[`is${type2}`]();
       }
-    }
-    function n(e2) {
-      this.message = e2;
-    }
-    function o(e2, r2) {
-      if ("string" != typeof e2) throw new n("Invalid token specified");
-      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
-      try {
-        return JSON.parse(t(e2.split(".")[o2]));
-      } catch (e3) {
-        throw new n("Invalid token specified: " + e3.message);
+      getType() {
+        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
+          /* c8 ignore start */
+          this.isSocket() ? "Socket" : "Unknown"
+        );
       }
-    }
-    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
-    var a = o;
-    a.default = o, a.InvalidTokenError = n, module2.exports = a;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/util.js
-var require_util18 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      /**
+       * Is the Path a regular file?
+       */
+      isFile() {
+        return (this.#type & IFMT) === IFREG;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * Is the Path a directory?
+       */
+      isDirectory() {
+        return (this.#type & IFMT) === IFDIR;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
-    var core17 = __importStar2(require_core());
-    var config_1 = require_config2();
-    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
-    var core_1 = require_core();
-    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
-    function getBackendIdsFromToken() {
-      const token = (0, config_1.getRuntimeToken)();
-      const decoded = (0, jwt_decode_1.default)(token);
-      if (!decoded.scp) {
-        throw InvalidJwtError;
+      /**
+       * Is the path a character device?
+       */
+      isCharacterDevice() {
+        return (this.#type & IFMT) === IFCHR;
       }
-      const scpParts = decoded.scp.split(" ");
-      if (scpParts.length === 0) {
-        throw InvalidJwtError;
+      /**
+       * Is the path a block device?
+       */
+      isBlockDevice() {
+        return (this.#type & IFMT) === IFBLK;
       }
-      for (const scopes of scpParts) {
-        const scopeParts = scopes.split(":");
-        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
-          continue;
+      /**
+       * Is the path a FIFO pipe?
+       */
+      isFIFO() {
+        return (this.#type & IFMT) === IFIFO;
+      }
+      /**
+       * Is the path a socket?
+       */
+      isSocket() {
+        return (this.#type & IFMT) === IFSOCK;
+      }
+      /**
+       * Is the path a symbolic link?
+       */
+      isSymbolicLink() {
+        return (this.#type & IFLNK) === IFLNK;
+      }
+      /**
+       * Return the entry if it has been subject of a successful lstat, or
+       * undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* simply
+       * mean that we haven't called lstat on it.
+       */
+      lstatCached() {
+        return this.#type & LSTAT_CALLED ? this : void 0;
+      }
+      /**
+       * Return the cached link target if the entry has been the subject of a
+       * successful readlink, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readlink() has been called at some point.
+       */
+      readlinkCached() {
+        return this.#linkTarget;
+      }
+      /**
+       * Returns the cached realpath target if the entry has been the subject
+       * of a successful realpath, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * realpath() has been called at some point.
+       */
+      realpathCached() {
+        return this.#realpath;
+      }
+      /**
+       * Returns the cached child Path entries array if the entry has been the
+       * subject of a successful readdir(), or [] otherwise.
+       *
+       * Does not read the filesystem, so an empty array *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readdir() has been called recently enough to still be valid.
+       */
+      readdirCached() {
+        const children = this.children();
+        return children.slice(0, children.provisional);
+      }
+      /**
+       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
+       * any indication that readlink will definitely fail.
+       *
+       * Returns false if the path is known to not be a symlink, if a previous
+       * readlink failed, or if the entry does not exist.
+       */
+      canReadlink() {
+        if (this.#linkTarget)
+          return true;
+        if (!this.parent)
+          return false;
+        const ifmt = this.#type & IFMT;
+        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      }
+      /**
+       * Return true if readdir has previously been successfully called on this
+       * path, indicating that cachedReaddir() is likely valid.
+       */
+      calledReaddir() {
+        return !!(this.#type & READDIR_CALLED);
+      }
+      /**
+       * Returns true if the path is known to not exist. That is, a previous lstat
+       * or readdir failed to verify its existence when that would have been
+       * expected, or a parent entry was marked either enoent or enotdir.
+       */
+      isENOENT() {
+        return !!(this.#type & ENOENT);
+      }
+      /**
+       * Return true if the path is a match for the given path name.  This handles
+       * case sensitivity and unicode normalization.
+       *
+       * Note: even on case-sensitive systems, it is **not** safe to test the
+       * equality of the `.name` property to determine whether a given pathname
+       * matches, due to unicode normalization mismatches.
+       *
+       * Always use this method instead of testing the `path.name` property
+       * directly.
+       */
+      isNamed(n) {
+        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+      }
+      /**
+       * Return the Path object corresponding to the target of a symbolic link.
+       *
+       * If the Path is not a symbolic link, or if the readlink call fails for any
+       * reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       */
+      async readlink() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
         }
-        if (scopeParts.length !== 3) {
-          throw InvalidJwtError;
+        if (!this.canReadlink()) {
+          return void 0;
+        }
+        if (!this.parent) {
+          return void 0;
+        }
+        try {
+          const read = await this.#fs.promises.readlink(this.fullpath());
+          const linkTarget = (await this.parent.realpath())?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
+          }
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
+        }
+      }
+      /**
+       * Synchronous {@link PathBase.readlink}
+       */
+      readlinkSync() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
+        }
+        if (!this.canReadlink()) {
+          return void 0;
+        }
+        if (!this.parent) {
+          return void 0;
+        }
+        try {
+          const read = this.#fs.readlinkSync(this.fullpath());
+          const linkTarget = this.parent.realpathSync()?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
+          }
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
+        }
+      }
+      #readdirSuccess(children) {
+        this.#type |= READDIR_CALLED;
+        for (let p = children.provisional; p < children.length; p++) {
+          const c = children[p];
+          if (c)
+            c.#markENOENT();
+        }
+      }
+      #markENOENT() {
+        if (this.#type & ENOENT)
+          return;
+        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
+        this.#markChildrenENOENT();
+      }
+      #markChildrenENOENT() {
+        const children = this.children();
+        children.provisional = 0;
+        for (const p of children) {
+          p.#markENOENT();
+        }
+      }
+      #markENOREALPATH() {
+        this.#type |= ENOREALPATH;
+        this.#markENOTDIR();
+      }
+      // save the information when we know the entry is not a dir
+      #markENOTDIR() {
+        if (this.#type & ENOTDIR)
+          return;
+        let t = this.#type;
+        if ((t & IFMT) === IFDIR)
+          t &= IFMT_UNKNOWN;
+        this.#type = t | ENOTDIR;
+        this.#markChildrenENOENT();
+      }
+      #readdirFail(code = "") {
+        if (code === "ENOTDIR" || code === "EPERM") {
+          this.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
+        } else {
+          this.children().provisional = 0;
+        }
+      }
+      #lstatFail(code = "") {
+        if (code === "ENOTDIR") {
+          const p = this.parent;
+          p.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
         }
-        const ids = {
-          workflowRunBackendId: scopeParts[1],
-          workflowJobRunBackendId: scopeParts[2]
-        };
-        core17.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
-        core17.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
-        return ids;
       }
-      throw InvalidJwtError;
-    }
-    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
-    function maskSigUrl(url2) {
-      if (!url2)
-        return;
-      try {
-        const parsedUrl = new URL(url2);
-        const signature = parsedUrl.searchParams.get("sig");
-        if (signature) {
-          (0, core_1.setSecret)(signature);
-          (0, core_1.setSecret)(encodeURIComponent(signature));
+      #readlinkFail(code = "") {
+        let ter = this.#type;
+        ter |= ENOREADLINK;
+        if (code === "ENOENT")
+          ter |= ENOENT;
+        if (code === "EINVAL" || code === "UNKNOWN") {
+          ter &= IFMT_UNKNOWN;
+        }
+        this.#type = ter;
+        if (code === "ENOTDIR" && this.parent) {
+          this.parent.#markENOTDIR();
         }
-      } catch (error3) {
-        (0, core_1.debug)(`Failed to parse URL: ${url2} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
-    }
-    exports2.maskSigUrl = maskSigUrl;
-    function maskSecretUrls(body) {
-      if (typeof body !== "object" || body === null) {
-        (0, core_1.debug)("body is not an object or is null");
-        return;
+      #readdirAddChild(e, c) {
+        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
       }
-      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
-        maskSigUrl(body.signed_upload_url);
+      #readdirAddNewChild(e, c) {
+        const type2 = entToType(e);
+        const child = this.newChild(e.name, type2, { parent: this });
+        const ifmt = child.#type & IFMT;
+        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
+          child.#type |= ENOTDIR;
+        }
+        c.unshift(child);
+        c.provisional++;
+        return child;
       }
-      if ("signed_url" in body && typeof body.signed_url === "string") {
-        maskSigUrl(body.signed_url);
+      #readdirMaybePromoteChild(e, c) {
+        for (let p = c.provisional; p < c.length; p++) {
+          const pchild = c[p];
+          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
+          if (name !== pchild.#matchName) {
+            continue;
+          }
+          return this.#readdirPromoteChild(e, pchild, p, c);
+        }
       }
-    }
-    exports2.maskSecretUrls = maskSecretUrls;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
-var require_artifact_twirp_client2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+      #readdirPromoteChild(e, p, index, c) {
+        const v = p.name;
+        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
+        if (v !== e.name)
+          p.name = e.name;
+        if (index !== c.provisional) {
+          if (index === c.length - 1)
+            c.pop();
+          else
+            c.splice(index, 1);
+          c.unshift(p);
+        }
+        c.provisional++;
+        return p;
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
+      /**
+       * Call lstat() on this Path, and update all known information that can be
+       * determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat() {
+        if ((this.#type & ENOENT) === 0) {
           try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
           }
         }
-        function rejected(value) {
+      }
+      /**
+       * synchronous {@link PathBase.lstat}
+       */
+      lstatSync() {
+        if ((this.#type & ENOENT) === 0) {
           try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
           }
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      #applyStat(st) {
+        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
+        this.#atime = atime;
+        this.#atimeMs = atimeMs;
+        this.#birthtime = birthtime;
+        this.#birthtimeMs = birthtimeMs;
+        this.#blksize = blksize;
+        this.#blocks = blocks;
+        this.#ctime = ctime;
+        this.#ctimeMs = ctimeMs;
+        this.#dev = dev;
+        this.#gid = gid;
+        this.#ino = ino;
+        this.#mode = mode;
+        this.#mtime = mtime;
+        this.#mtimeMs = mtimeMs;
+        this.#nlink = nlink;
+        this.#rdev = rdev;
+        this.#size = size;
+        this.#uid = uid;
+        const ifmt = entToType(st);
+        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
+        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
+          this.#type |= ENOTDIR;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.internalArtifactTwirpClient = void 0;
-    var http_client_1 = require_lib();
-    var auth_1 = require_auth();
-    var core_1 = require_core();
-    var generated_1 = require_generated();
-    var config_1 = require_config2();
-    var user_agent_1 = require_user_agent2();
-    var errors_1 = require_errors4();
-    var util_1 = require_util18();
-    var ArtifactHttpClient = class {
-      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
-        this.maxAttempts = 5;
-        this.baseRetryIntervalMilliseconds = 3e3;
-        this.retryMultiplier = 1.5;
-        const token = (0, config_1.getRuntimeToken)();
-        this.baseUrl = (0, config_1.getResultsServiceUrl)();
-        if (maxAttempts) {
-          this.maxAttempts = maxAttempts;
+      }
+      #onReaddirCB = [];
+      #readdirCBInFlight = false;
+      #callOnReaddirCB(children) {
+        this.#readdirCBInFlight = false;
+        const cbs = this.#onReaddirCB.slice();
+        this.#onReaddirCB.length = 0;
+        cbs.forEach((cb) => cb(null, children));
+      }
+      /**
+       * Standard node-style callback interface to get list of directory entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       *
+       * @param cb The callback called with (er, entries).  Note that the `er`
+       * param is somewhat extraneous, as all readdir() errors are handled and
+       * simply result in an empty set of entries being returned.
+       * @param allowZalgo Boolean indicating that immediately known results should
+       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
+       * zalgo at your peril, the dark pony lord is devious and unforgiving.
+       */
+      readdirCB(cb, allowZalgo = false) {
+        if (!this.canReaddir()) {
+          if (allowZalgo)
+            cb(null, []);
+          else
+            queueMicrotask(() => cb(null, []));
+          return;
         }
-        if (baseRetryIntervalMilliseconds) {
-          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        const children = this.children();
+        if (this.calledReaddir()) {
+          const c = children.slice(0, children.provisional);
+          if (allowZalgo)
+            cb(null, c);
+          else
+            queueMicrotask(() => cb(null, c));
+          return;
         }
-        if (retryMultiplier) {
-          this.retryMultiplier = retryMultiplier;
+        this.#onReaddirCB.push(cb);
+        if (this.#readdirCBInFlight) {
+          return;
         }
-        this.httpClient = new http_client_1.HttpClient(userAgent2, [
-          new auth_1.BearerCredentialHandler(token)
-        ]);
+        this.#readdirCBInFlight = true;
+        const fullpath = this.fullpath();
+        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
+          if (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
+          } else {
+            for (const e of entries) {
+              this.#readdirAddChild(e, children);
+            }
+            this.#readdirSuccess(children);
+          }
+          this.#callOnReaddirCB(children.slice(0, children.provisional));
+          return;
+        });
       }
-      // This function satisfies the Rpc interface. It is compatible with the JSON
-      // JSON generated client.
-      request(service, method, contentType, data) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const url2 = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
-          (0, core_1.debug)(`[Request] ${method} ${url2}`);
-          const headers = {
-            "Content-Type": contentType
+      #asyncReaddirInFlight;
+      /**
+       * Return an array of known child entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async readdir() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        if (this.#asyncReaddirInFlight) {
+          await this.#asyncReaddirInFlight;
+        } else {
+          let resolve8 = () => {
           };
+          this.#asyncReaddirInFlight = new Promise((res) => resolve8 = res);
           try {
-            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
-              return this.httpClient.post(url2, JSON.stringify(data), headers);
-            }));
-            return body;
-          } catch (error3) {
-            throw new Error(`Failed to ${method}: ${error3.message}`);
+            for (const e of await this.#fs.promises.readdir(fullpath, {
+              withFileTypes: true
+            })) {
+              this.#readdirAddChild(e, children);
+            }
+            this.#readdirSuccess(children);
+          } catch (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
           }
-        });
+          this.#asyncReaddirInFlight = void 0;
+          resolve8();
+        }
+        return children.slice(0, children.provisional);
       }
-      retryableRequest(operation) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 0;
-          let errorMessage = "";
-          let rawBody = "";
-          while (attempt < this.maxAttempts) {
-            let isRetryable = false;
-            try {
-              const response = yield operation();
-              const statusCode = response.message.statusCode;
-              rawBody = yield response.readBody();
-              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
-              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
-              const body = JSON.parse(rawBody);
-              (0, util_1.maskSecretUrls)(body);
-              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
-              if (this.isSuccessStatusCode(statusCode)) {
-                return { response, body };
-              }
-              isRetryable = this.isRetryableHttpStatusCode(statusCode);
-              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
-              if (body.msg) {
-                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
-                  throw new errors_1.UsageError();
-                }
-                errorMessage = `${errorMessage}: ${body.msg}`;
-              }
-            } catch (error3) {
-              if (error3 instanceof SyntaxError) {
-                (0, core_1.debug)(`Raw Body: ${rawBody}`);
-              }
-              if (error3 instanceof errors_1.UsageError) {
-                throw error3;
-              }
-              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-              }
-              isRetryable = true;
-              errorMessage = error3.message;
-            }
-            if (!isRetryable) {
-              throw new Error(`Received non-retryable error: ${errorMessage}`);
-            }
-            if (attempt + 1 === this.maxAttempts) {
-              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
-            }
-            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
-            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
-            yield this.sleep(retryTimeMilliseconds);
-            attempt++;
+      /**
+       * synchronous {@link PathBase.readdir}
+       */
+      readdirSync() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        try {
+          for (const e of this.#fs.readdirSync(fullpath, {
+            withFileTypes: true
+          })) {
+            this.#readdirAddChild(e, children);
           }
-          throw new Error(`Request failed`);
-        });
+          this.#readdirSuccess(children);
+        } catch (er) {
+          this.#readdirFail(er.code);
+          children.provisional = 0;
+        }
+        return children.slice(0, children.provisional);
       }
-      isSuccessStatusCode(statusCode) {
-        if (!statusCode)
+      canReaddir() {
+        if (this.#type & ENOCHILD)
           return false;
-        return statusCode >= 200 && statusCode < 300;
-      }
-      isRetryableHttpStatusCode(statusCode) {
-        if (!statusCode)
+        const ifmt = IFMT & this.#type;
+        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
           return false;
-        const retryableStatusCodes = [
-          http_client_1.HttpCodes.BadGateway,
-          http_client_1.HttpCodes.GatewayTimeout,
-          http_client_1.HttpCodes.InternalServerError,
-          http_client_1.HttpCodes.ServiceUnavailable,
-          http_client_1.HttpCodes.TooManyRequests
-        ];
-        return retryableStatusCodes.includes(statusCode);
+        }
+        return true;
       }
-      sleep(milliseconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve8) => setTimeout(resolve8, milliseconds));
-        });
+      shouldWalk(dirs, walkFilter) {
+        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
       }
-      getExponentialRetryTimeMilliseconds(attempt) {
-        if (attempt < 0) {
-          throw new Error("attempt should be a positive integer");
-        }
-        if (attempt === 0) {
-          return this.baseRetryIntervalMilliseconds;
+      /**
+       * Return the Path object corresponding to path as resolved
+       * by realpath(3).
+       *
+       * If the realpath call fails for any reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       * On success, returns a Path object.
+       */
+      async realpath() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = await this.#fs.promises.realpath(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
         }
-        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
-        const maxTime = minTime * this.retryMultiplier;
-        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
-    };
-    function internalArtifactTwirpClient(options) {
-      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
-      return new generated_1.ArtifactServiceClientJSON(client);
-    }
-    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
-var require_upload_zip_specification = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      /**
+       * Synchronous {@link realpath}
+       */
+      realpathSync() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = this.#fs.realpathSync(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * Internal method to mark this Path object as the scurry cwd,
+       * called by {@link PathScurry#chdir}
+       *
+       * @internal
+       */
+      [setAsCwd](oldCwd) {
+        if (oldCwd === this)
+          return;
+        oldCwd.isCWD = false;
+        this.isCWD = true;
+        const changed = /* @__PURE__ */ new Set([]);
+        let rp = [];
+        let p = this;
+        while (p && p.parent) {
+          changed.add(p);
+          p.#relative = rp.join(this.sep);
+          p.#relativePosix = rp.join("/");
+          p = p.parent;
+          rp.push("..");
+        }
+        p = oldCwd;
+        while (p && p.parent && !changed.has(p)) {
+          p.#relative = void 0;
+          p.#relativePosix = void 0;
+          p = p.parent;
+        }
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
-    var fs18 = __importStar2(require("fs"));
-    var core_1 = require_core();
-    var path_1 = require("path");
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    function validateRootDirectory(rootDirectory) {
-      if (!fs18.existsSync(rootDirectory)) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
+    exports2.PathBase = PathBase;
+    var PathWin32 = class _PathWin32 extends PathBase {
+      /**
+       * Separator for generating path strings.
+       */
+      sep = "\\";
+      /**
+       * Separator for parsing path strings.
+       */
+      splitSep = eitherSep;
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
       }
-      if (!fs18.statSync(rootDirectory).isDirectory()) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
       }
-      (0, core_1.info)(`Root directory input is valid!`);
-    }
-    exports2.validateRootDirectory = validateRootDirectory;
-    function getUploadZipSpecification(filesToZip, rootDirectory) {
-      const specification = [];
-      rootDirectory = (0, path_1.normalize)(rootDirectory);
-      rootDirectory = (0, path_1.resolve)(rootDirectory);
-      for (let file of filesToZip) {
-        const stats = fs18.lstatSync(file, { throwIfNoEntry: false });
-        if (!stats) {
-          throw new Error(`File ${file} does not exist`);
+      /**
+       * @internal
+       */
+      getRootString(path16) {
+        return node_path_1.win32.parse(path16).root;
+      }
+      /**
+       * @internal
+       */
+      getRoot(rootPath) {
+        rootPath = uncToDrive(rootPath.toUpperCase());
+        if (rootPath === this.root.name) {
+          return this.root;
         }
-        if (!stats.isDirectory()) {
-          file = (0, path_1.normalize)(file);
-          file = (0, path_1.resolve)(file);
-          if (!file.startsWith(rootDirectory)) {
-            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
+        for (const [compare3, root] of Object.entries(this.roots)) {
+          if (this.sameRoot(rootPath, compare3)) {
+            return this.roots[rootPath] = root;
           }
-          const uploadPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
-          specification.push({
-            sourcePath: file,
-            destinationPath: uploadPath,
-            stats
-          });
-        } else {
-          const directoryPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
-          specification.push({
-            sourcePath: null,
-            destinationPath: directoryPath,
-            stats
-          });
         }
+        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
       }
-      return specification;
-    }
-    exports2.getUploadZipSpecification = getUploadZipSpecification;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
-var require_blob_upload = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * @internal
+       */
+      sameRoot(rootPath, compare3 = this.root.name) {
+        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+        return rootPath === compare3;
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    exports2.PathWin32 = PathWin32;
+    var PathPosix = class _PathPosix extends PathBase {
+      /**
+       * separator for parsing path strings
+       */
+      splitSep = "/";
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadZipToBlobStorage = void 0;
-    var storage_blob_1 = require_commonjs15();
-    var config_1 = require_config2();
-    var core17 = __importStar2(require_core());
-    var crypto2 = __importStar2(require("crypto"));
-    var stream2 = __importStar2(require("stream"));
-    var errors_1 = require_errors4();
-    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        let uploadByteCount = 0;
-        let lastProgressTime = Date.now();
-        const abortController = new AbortController();
-        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve8, reject) => {
-            const timer = setInterval(() => {
-              if (Date.now() - lastProgressTime > interval) {
-                reject(new Error("Upload progress stalled."));
-              }
-            }, interval);
-            abortController.signal.addEventListener("abort", () => {
-              clearInterval(timer);
-              resolve8();
-            });
-          });
-        });
-        const maxConcurrency = (0, config_1.getConcurrency)();
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
-        const blockBlobClient = blobClient.getBlockBlobClient();
-        core17.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
-        const uploadCallback = (progress) => {
-          core17.info(`Uploaded bytes ${progress.loadedBytes}`);
-          uploadByteCount = progress.loadedBytes;
-          lastProgressTime = Date.now();
-        };
-        const options = {
-          blobHTTPHeaders: { blobContentType: "zip" },
-          onProgress: uploadCallback,
-          abortSignal: abortController.signal
-        };
-        let sha256Hash = void 0;
-        const uploadStream = new stream2.PassThrough();
-        const hashStream = crypto2.createHash("sha256");
-        zipUploadStream.pipe(uploadStream);
-        zipUploadStream.pipe(hashStream).setEncoding("hex");
-        core17.info("Beginning upload of artifact content to blob storage");
-        try {
-          yield Promise.race([
-            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
-            chunkTimer((0, config_1.getUploadChunkTimeout)())
-          ]);
-        } catch (error3) {
-          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-          }
-          throw error3;
-        } finally {
-          abortController.abort();
-        }
-        core17.info("Finished uploading artifact content to blob storage!");
-        hashStream.end();
-        sha256Hash = hashStream.read();
-        core17.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
-        if (uploadByteCount === 0) {
-          core17.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
-        }
-        return {
-          uploadSize: uploadByteCount,
-          sha256Hash
-        };
-      });
-    }
-    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
-var require_path = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
-    var isWindows = typeof process === "object" && process && process.platform === "win32";
-    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
-  }
-});
-
-// node_modules/readdir-glob/node_modules/brace-expansion/index.js
-var require_brace_expansion2 = __commonJS({
-  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
-    var balanced = require_balanced_match();
-    module2.exports = expandTop;
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    function numeric(str2) {
-      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2)
-        return [""];
-      var parts = [];
-      var m = balanced("{", "}", str2);
-      if (!m)
-        return str2.split(",");
-      var pre = m.pre;
-      var body = m.body;
-      var post = m.post;
-      var p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      var postParts = parseCommaParts(post);
-      if (post.length) {
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
+      /**
+       * @internal
+       */
+      getRootString(path16) {
+        return path16.startsWith("/") ? "/" : "";
       }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expandTop(str2) {
-      if (!str2)
-        return [];
-      if (str2.substr(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.substr(2);
+      /**
+       * @internal
+       */
+      getRoot(_rootPath) {
+        return this.root;
       }
-      return expand2(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand2(str2, isTop) {
-      var expansions = [];
-      var m = balanced("{", "}", str2);
-      if (!m) return [str2];
-      var pre = m.pre;
-      var post = m.post.length ? expand2(m.post, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (var k = 0; k < post.length; k++) {
-          var expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
-        }
-      } else {
-        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        var isSequence = isNumericSequence || isAlphaSequence;
-        var isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand2(str2);
-          }
-          return [str2];
-        }
-        var n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1) {
-            n = expand2(n[0], false).map(embrace);
-            if (n.length === 1) {
-              return post.map(function(p) {
-                return m.pre + n[0] + p;
-              });
-            }
-          }
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      }
+    };
+    exports2.PathPosix = PathPosix;
+    var PathScurryBase = class {
+      /**
+       * The root Path entry for the current working directory of this Scurry
+       */
+      root;
+      /**
+       * The string path for the root of this Scurry's current working directory
+       */
+      rootPath;
+      /**
+       * A collection of all roots encountered, referenced by rootPath
+       */
+      roots;
+      /**
+       * The Path entry corresponding to this PathScurry's current working directory.
+       */
+      cwd;
+      #resolveCache;
+      #resolvePosixCache;
+      #children;
+      /**
+       * Perform path comparisons case-insensitively.
+       *
+       * Defaults true on Darwin and Windows systems, false elsewhere.
+       */
+      nocase;
+      #fs;
+      /**
+       * This class should not be instantiated directly.
+       *
+       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
+       *
+       * @internal
+       */
+      constructor(cwd = process.cwd(), pathImpl, sep5, { nocase, childrenCacheSize = 16 * 1024, fs: fs18 = defaultFS } = {}) {
+        this.#fs = fsFromOption(fs18);
+        if (cwd instanceof URL || cwd.startsWith("file://")) {
+          cwd = (0, node_url_1.fileURLToPath)(cwd);
         }
-        var N;
-        if (isSequence) {
-          var x = numeric(n[0]);
-          var y = numeric(n[1]);
-          var width = Math.max(n[0].length, n[1].length);
-          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
-          var test = lte;
-          var reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
-          }
-          var pad = n.some(isPadded);
-          N = [];
-          for (var i = x; test(i, y); i += incr) {
-            var c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\")
-                c = "";
-            } else {
-              c = String(i);
-              if (pad) {
-                var need = width - c.length;
-                if (need > 0) {
-                  var z = new Array(need + 1).join("0");
-                  if (i < 0)
-                    c = "-" + z + c.slice(1);
-                  else
-                    c = z + c;
-                }
-              }
-            }
-            N.push(c);
-          }
-        } else {
-          N = [];
-          for (var j = 0; j < n.length; j++) {
-            N.push.apply(N, expand2(n[j], false));
-          }
+        const cwdPath = pathImpl.resolve(cwd);
+        this.roots = /* @__PURE__ */ Object.create(null);
+        this.rootPath = this.parseRootPath(cwdPath);
+        this.#resolveCache = new ResolveCache();
+        this.#resolvePosixCache = new ResolveCache();
+        this.#children = new ChildrenCache(childrenCacheSize);
+        const split = cwdPath.substring(this.rootPath.length).split(sep5);
+        if (split.length === 1 && !split[0]) {
+          split.pop();
         }
-        for (var j = 0; j < N.length; j++) {
-          for (var k = 0; k < post.length; k++) {
-            var expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion)
-              expansions.push(expansion);
-          }
+        if (nocase === void 0) {
+          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
         }
-      }
-      return expansions;
-    }
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
-var require_minimatch2 = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
-    var minimatch = module2.exports = (p, pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
-      }
-      return new Minimatch(pattern, options).match(p);
-    };
-    module2.exports = minimatch;
-    var path16 = require_path();
-    minimatch.sep = path16.sep;
-    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    minimatch.GLOBSTAR = GLOBSTAR;
-    var expand2 = require_brace_expansion2();
-    var plTypes = {
-      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
-      "?": { open: "(?:", close: ")?" },
-      "+": { open: "(?:", close: ")+" },
-      "*": { open: "(?:", close: ")*" },
-      "@": { open: "(?:", close: ")" }
-    };
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var charSet = (s) => s.split("").reduce((set2, c) => {
-      set2[c] = true;
-      return set2;
-    }, {});
-    var reSpecials = charSet("().*{}+?[]^$\\!");
-    var addPatternStartSet = charSet("[.(");
-    var slashSplit = /\/+/;
-    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
-    var ext = (a, b = {}) => {
-      const t = {};
-      Object.keys(a).forEach((k) => t[k] = a[k]);
-      Object.keys(b).forEach((k) => t[k] = b[k]);
-      return t;
-    };
-    minimatch.defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return minimatch;
-      }
-      const orig = minimatch;
-      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
-      m.Minimatch = class Minimatch extends orig.Minimatch {
-        constructor(pattern, options) {
-          super(pattern, ext(def, options));
+        this.nocase = nocase;
+        this.root = this.newRoot(this.#fs);
+        this.roots[this.rootPath] = this.root;
+        let prev = this.root;
+        let len = split.length - 1;
+        const joinSep = pathImpl.sep;
+        let abs = this.rootPath;
+        let sawFirst = false;
+        for (const part of split) {
+          const l = len--;
+          prev = prev.child(part, {
+            relative: new Array(l).fill("..").join(joinSep),
+            relativePosix: new Array(l).fill("..").join("/"),
+            fullpath: abs += (sawFirst ? "" : joinSep) + part
+          });
+          sawFirst = true;
         }
-      };
-      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
-      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
-      m.defaults = (options) => orig.defaults(ext(def, options));
-      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
-      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
-      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
-      return m;
-    };
-    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
-    var braceExpand = (pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
-      }
-      return expand2(pattern);
-    };
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
-      }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
-      }
-    };
-    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
-    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
-    minimatch.match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+        this.cwd = prev;
       }
-      return list;
-    };
-    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
-    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
-    var Minimatch = class {
-      constructor(pattern, options) {
-        assertValidPattern(pattern);
-        if (!options) options = {};
-        this.options = options;
-        this.set = [];
-        this.pattern = pattern;
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
+      /**
+       * Get the depth of a provided path, string, or the cwd
+       */
+      depth(path16 = this.cwd) {
+        if (typeof path16 === "string") {
+          path16 = this.cwd.resolve(path16);
         }
-        this.regexp = null;
-        this.negate = false;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.make();
+        return path16.depth();
       }
-      debug() {
+      /**
+       * Return the cache of child entries.  Exposed so subclasses can create
+       * child Path objects in a platform-specific way.
+       *
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
       }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
-        }
-        if (!pattern) {
-          this.empty = true;
-          return;
+      /**
+       * Resolve one or more path strings to a resolved string
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolve(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
+          }
         }
-        this.parseNegate();
-        let set2 = this.globSet = this.braceExpand();
-        if (options.debug) this.debug = (...args) => console.error(...args);
-        this.debug(this.pattern, set2);
-        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
-        this.debug(this.pattern, set2);
-        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
-        this.debug(this.pattern, set2);
-        set2 = set2.filter((s) => s.indexOf(false) === -1);
-        this.debug(this.pattern, set2);
-        this.set = set2;
-      }
-      parseNegate() {
-        if (this.options.nonegate) return;
-        const pattern = this.pattern;
-        let negate2 = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate2 = !negate2;
-          negateOffset++;
+        const cached = this.#resolveCache.get(r);
+        if (cached !== void 0) {
+          return cached;
         }
-        if (negateOffset) this.pattern = pattern.slice(negateOffset);
-        this.negate = negate2;
+        const result = this.cwd.resolve(r).fullpath();
+        this.#resolveCache.set(r, result);
+        return result;
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial) {
-        var options = this.options;
-        this.debug(
-          "matchOne",
-          { "this": this, file, pattern }
-        );
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) return false;
-          if (p === GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) return true;
-            }
-            return false;
-          }
-          var hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
-          } else {
-            hit = f.match(p);
-            this.debug("pattern match", p, f, hit);
+      /**
+       * Resolve one or more path strings to a resolved string, returning
+       * the posix path.  Identical to .resolve() on posix systems, but on
+       * windows will return a forward-slash separated UNC path.
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolvePosix(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
           }
-          if (!hit) return false;
         }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
+        const cached = this.#resolvePosixCache.get(r);
+        if (cached !== void 0) {
+          return cached;
         }
-        throw new Error("wtf?");
+        const result = this.cwd.resolve(r).fullpathPosix();
+        this.#resolvePosixCache.set(r, result);
+        return result;
       }
-      braceExpand() {
-        return braceExpand(this.pattern, this.options);
+      /**
+       * find the relative path from the cwd to the supplied path string or entry
+       */
+      relative(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return entry.relative();
       }
-      parse(pattern, isSub) {
-        assertValidPattern(pattern);
-        const options = this.options;
-        if (pattern === "**") {
-          if (!options.noglobstar)
-            return GLOBSTAR;
-          else
-            pattern = "*";
+      /**
+       * find the relative path from the cwd to the supplied path string or
+       * entry, using / as the path delimiter, even on Windows.
+       */
+      relativePosix(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (pattern === "") return "";
-        let re = "";
-        let hasMagic = false;
-        let escaping = false;
-        const patternListStack = [];
-        const negativeLists = [];
-        let stateChar;
-        let inClass = false;
-        let reClassStart = -1;
-        let classStart = -1;
-        let cs;
-        let pl;
-        let sp;
-        let dotTravAllowed = pattern.charAt(0) === ".";
-        let dotFileAllowed = options.dot || dotTravAllowed;
-        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const clearStateChar = () => {
-          if (stateChar) {
-            switch (stateChar) {
-              case "*":
-                re += star;
-                hasMagic = true;
-                break;
-              case "?":
-                re += qmark;
-                hasMagic = true;
-                break;
-              default:
-                re += "\\" + stateChar;
-                break;
-            }
-            this.debug("clearStateChar %j %j", stateChar, re);
-            stateChar = false;
-          }
-        };
-        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
-          this.debug("%s	%s %s %j", pattern, i, re, c);
-          if (escaping) {
-            if (c === "/") {
-              return false;
-            }
-            if (reSpecials[c]) {
-              re += "\\";
-            }
-            re += c;
-            escaping = false;
-            continue;
-          }
-          switch (c) {
-            /* istanbul ignore next */
-            case "/": {
-              return false;
-            }
-            case "\\":
-              if (inClass && pattern.charAt(i + 1) === "-") {
-                re += c;
-                continue;
-              }
-              clearStateChar();
-              escaping = true;
-              continue;
-            // the various stateChar values
-            // for the "extglob" stuff.
-            case "?":
-            case "*":
-            case "+":
-            case "@":
-            case "!":
-              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
-              if (inClass) {
-                this.debug("  in class");
-                if (c === "!" && i === classStart + 1) c = "^";
-                re += c;
-                continue;
-              }
-              this.debug("call clearStateChar %j", stateChar);
-              clearStateChar();
-              stateChar = c;
-              if (options.noext) clearStateChar();
-              continue;
-            case "(": {
-              if (inClass) {
-                re += "(";
-                continue;
-              }
-              if (!stateChar) {
-                re += "\\(";
-                continue;
-              }
-              const plEntry = {
-                type: stateChar,
-                start: i - 1,
-                reStart: re.length,
-                open: plTypes[stateChar].open,
-                close: plTypes[stateChar].close
-              };
-              this.debug(this.pattern, "	", plEntry);
-              patternListStack.push(plEntry);
-              re += plEntry.open;
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              this.debug("plType %j %j", stateChar, re);
-              stateChar = false;
-              continue;
-            }
-            case ")": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\)";
-                continue;
-              }
-              patternListStack.pop();
-              clearStateChar();
-              hasMagic = true;
-              pl = plEntry;
-              re += pl.close;
-              if (pl.type === "!") {
-                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
-              }
-              continue;
-            }
-            case "|": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\|";
-                continue;
-              }
-              clearStateChar();
-              re += "|";
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              continue;
-            }
-            // these are mostly the same in regexp and glob
-            case "[":
-              clearStateChar();
-              if (inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              inClass = true;
-              classStart = i;
-              reClassStart = re.length;
-              re += c;
-              continue;
-            case "]":
-              if (i === classStart + 1 || !inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              cs = pattern.substring(classStart + 1, i);
-              try {
-                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
-                re += c;
-              } catch (er) {
-                re = re.substring(0, reClassStart) + "(?:$.)";
-              }
-              hasMagic = true;
-              inClass = false;
-              continue;
-            default:
-              clearStateChar();
-              if (reSpecials[c] && !(c === "^" && inClass)) {
-                re += "\\";
-              }
-              re += c;
-              break;
-          }
+        return entry.relativePosix();
+      }
+      /**
+       * Return the basename for the provided string or Path object
+       */
+      basename(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (inClass) {
-          cs = pattern.slice(classStart + 1);
-          sp = this.parse(cs, SUBPARSE);
-          re = re.substring(0, reClassStart) + "\\[" + sp[0];
-          hasMagic = hasMagic || sp[1];
+        return entry.name;
+      }
+      /**
+       * Return the dirname for the provided string or Path object
+       */
+      dirname(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
-          let tail;
-          tail = re.slice(pl.reStart + pl.open.length);
-          this.debug("setting tail", re, pl);
-          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
-            if (!$2) {
-              $2 = "\\";
-            }
-            return $1 + $1 + $2 + "|";
-          });
-          this.debug("tail=%j\n   %s", tail, tail, pl, re);
-          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
-          hasMagic = true;
-          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+        return (entry.parent || entry).fullpath();
+      }
+      async readdir(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        clearStateChar();
-        if (escaping) {
-          re += "\\\\";
+        const { withFileTypes } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else {
+          const p = await entry.readdir();
+          return withFileTypes ? p : p.map((e) => e.name);
         }
-        const addPatternStart = addPatternStartSet[re.charAt(0)];
-        for (let n = negativeLists.length - 1; n > -1; n--) {
-          const nl = negativeLists[n];
-          const nlBefore = re.slice(0, nl.reStart);
-          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
-          let nlAfter = re.slice(nl.reEnd);
-          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
-          const closeParensBefore = nlBefore.split(")").length;
-          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
-          let cleanAfter = nlAfter;
-          for (let i = 0; i < openParensBefore; i++) {
-            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
-          }
-          nlAfter = cleanAfter;
-          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
-          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
+      }
+      readdirSync(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        if (re !== "" && hasMagic) {
-          re = "(?=.)" + re;
+        const { withFileTypes = true } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else if (withFileTypes) {
+          return entry.readdirSync();
+        } else {
+          return entry.readdirSync().map((e) => e.name);
         }
-        if (addPatternStart) {
-          re = patternStart() + re;
+      }
+      /**
+       * Call lstat() on the string or Path object, and update all known
+       * information that can be determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (isSub === SUBPARSE) {
-          return [re, hasMagic];
+        return entry.lstat();
+      }
+      /**
+       * synchronous {@link PathScurryBase.lstat}
+       */
+      lstatSync(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (options.nocase && !hasMagic) {
-          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
+        return entry.lstatSync();
+      }
+      async readlink(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        if (!hasMagic) {
-          return globUnescape(pattern);
+        const e = await entry.readlink();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      readlinkSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        const flags = options.nocase ? "i" : "";
-        try {
-          return Object.assign(new RegExp("^" + re + "$", flags), {
-            _glob: pattern,
-            _src: re
-          });
-        } catch (er) {
-          return new RegExp("$.");
+        const e = entry.readlinkSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async realpath(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
+        const e = await entry.realpath();
+        return withFileTypes ? e : e?.fullpath();
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false) return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
+      realpathSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = options.nocase ? "i" : "";
-        let re = set2.map((pattern) => {
-          pattern = pattern.map(
-            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
-          ).reduce((set3, p) => {
-            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
-              set3.push(p);
-            }
-            return set3;
-          }, []);
-          pattern.forEach((p, i) => {
-            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
-              return;
+        const e = entry.realpathSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async walk(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set();
+        const walk = (dir, cb) => {
+          dirs.add(dir);
+          dir.readdirCB((er, entries) => {
+            if (er) {
+              return cb(er);
             }
-            if (i === 0) {
-              if (pattern.length > 1) {
-                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
+            let len = entries.length;
+            if (!len)
+              return cb();
+            const next = () => {
+              if (--len === 0) {
+                cb();
+              }
+            };
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                results.push(withFileTypes ? e : e.fullpath());
+              }
+              if (follow && e.isSymbolicLink()) {
+                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
               } else {
-                pattern[i] = twoStar;
+                if (e.shouldWalk(dirs, walkFilter)) {
+                  walk(e, next);
+                } else {
+                  next();
+                }
               }
-            } else if (i === pattern.length - 1) {
-              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
-            } else {
-              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
-              pattern[i + 1] = GLOBSTAR;
             }
+          }, true);
+        };
+        const start = entry;
+        return new Promise((res, rej) => {
+          walk(start, (er) => {
+            if (er)
+              return rej(er);
+            res(results);
           });
-          return pattern.filter((p) => p !== GLOBSTAR).join("/");
-        }).join("|");
-        re = "^(?:" + re + ")$";
-        if (this.negate) re = "^(?!" + re + ").*$";
-        try {
-          this.regexp = new RegExp(re, flags);
-        } catch (ex) {
-          this.regexp = false;
-        }
-        return this.regexp;
+        });
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) return false;
-        if (this.empty) return f === "";
-        if (f === "/" && partial) return true;
-        const options = this.options;
-        if (path16.sep !== "/") {
-          f = f.split(path16.sep).join("/");
-        }
-        f = f.split(slashSplit);
-        this.debug(this.pattern, "split", f);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename;
-        for (let i = f.length - 1; i >= 0; i--) {
-          filename = f[i];
-          if (filename) break;
+      walkSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = f;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) return true;
-            return !this.negate;
-          }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
         }
-        if (options.flipNegate) return false;
-        return this.negate;
-      }
-      static defaults(def) {
-        return minimatch.defaults(def).Minimatch;
-      }
-    };
-    minimatch.Minimatch = Minimatch;
-  }
-});
-
-// node_modules/readdir-glob/index.js
-var require_readdir_glob = __commonJS({
-  "node_modules/readdir-glob/index.js"(exports2, module2) {
-    module2.exports = readdirGlob;
-    var fs18 = require("fs");
-    var { EventEmitter } = require("events");
-    var { Minimatch } = require_minimatch2();
-    var { resolve: resolve8 } = require("path");
-    function readdir(dir, strict) {
-      return new Promise((resolve9, reject) => {
-        fs18.readdir(dir, { withFileTypes: true }, (err, files) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOTDIR":
-                if (strict) {
-                  reject(err);
-                } else {
-                  resolve9([]);
-                }
-                break;
-              case "ENOTSUP":
-              // Operation not supported
-              case "ENOENT":
-              // No such file or directory
-              case "ENAMETOOLONG":
-              // Filename too long
-              case "UNKNOWN":
-                resolve9([]);
-                break;
-              case "ELOOP":
-              // Too many levels of symbolic links
-              default:
-                reject(err);
-                break;
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              results.push(withFileTypes ? e : e.fullpath());
             }
-          } else {
-            resolve9(files);
-          }
-        });
-      });
-    }
-    function stat(file, followSymlinks) {
-      return new Promise((resolve9, reject) => {
-        const statFunc = followSymlinks ? fs18.stat : fs18.lstat;
-        statFunc(file, (err, stats) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOENT":
-                if (followSymlinks) {
-                  resolve9(stat(file, false));
-                } else {
-                  resolve9(null);
-                }
-                break;
-              default:
-                resolve9(null);
-                break;
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
+            }
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
             }
-          } else {
-            resolve9(stats);
           }
-        });
-      });
-    }
-    async function* exploreWalkAsync(dir, path16, followSymlinks, useStat, shouldSkip, strict) {
-      let files = await readdir(path16 + dir, strict);
-      for (const file of files) {
-        let name = file.name;
-        if (name === void 0) {
-          name = file;
-          useStat = true;
         }
-        const filename = dir + "/" + name;
-        const relative2 = filename.slice(1);
-        const absolute = path16 + "/" + relative2;
-        let stats = null;
-        if (useStat || followSymlinks) {
-          stats = await stat(absolute, followSymlinks);
+        return results;
+      }
+      /**
+       * Support for `for await`
+       *
+       * Alias for {@link PathScurryBase.iterate}
+       *
+       * Note: As of Node 19, this is very slow, compared to other methods of
+       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
+       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
+       */
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+      iterate(entry = this.cwd, options = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          options = entry;
+          entry = this.cwd;
         }
-        if (!stats && file.name !== void 0) {
-          stats = file;
+        return this.stream(entry, options)[Symbol.asyncIterator]();
+      }
+      /**
+       * Iterating over a PathScurry performs a synchronous walk.
+       *
+       * Alias for {@link PathScurryBase.iterateSync}
+       */
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      *iterateSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        if (stats === null) {
-          stats = { isDirectory: () => false };
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        if (!filter || filter(entry)) {
+          yield withFileTypes ? entry : entry.fullpath();
         }
-        if (stats.isDirectory()) {
-          if (!shouldSkip(relative2)) {
-            yield { relative: relative2, absolute, stats };
-            yield* exploreWalkAsync(filename, path16, followSymlinks, useStat, shouldSkip, false);
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              yield withFileTypes ? e : e.fullpath();
+            }
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
+            }
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
+            }
           }
-        } else {
-          yield { relative: relative2, absolute, stats };
         }
       }
-    }
-    async function* explore(path16, followSymlinks, useStat, shouldSkip) {
-      yield* exploreWalkAsync("", path16, followSymlinks, useStat, shouldSkip, true);
-    }
-    function readOptions(options) {
-      return {
-        pattern: options.pattern,
-        dot: !!options.dot,
-        noglobstar: !!options.noglobstar,
-        matchBase: !!options.matchBase,
-        nocase: !!options.nocase,
-        ignore: options.ignore,
-        skip: options.skip,
-        follow: !!options.follow,
-        stat: !!options.stat,
-        nodir: !!options.nodir,
-        mark: !!options.mark,
-        silent: !!options.silent,
-        absolute: !!options.absolute
-      };
-    }
-    var ReaddirGlob = class extends EventEmitter {
-      constructor(cwd, options, cb) {
-        super();
-        if (typeof options === "function") {
-          cb = options;
-          options = null;
-        }
-        this.options = readOptions(options || {});
-        this.matchers = [];
-        if (this.options.pattern) {
-          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
-          this.matchers = matchers.map(
-            (m) => new Minimatch(m, {
-              dot: this.options.dot,
-              noglobstar: this.options.noglobstar,
-              matchBase: this.options.matchBase,
-              nocase: this.options.nocase
-            })
-          );
+      stream(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        this.ignoreMatchers = [];
-        if (this.options.ignore) {
-          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
-          this.ignoreMatchers = ignorePatterns.map(
-            (ignore) => new Minimatch(ignore, { dot: true })
-          );
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
         }
-        this.skipMatchers = [];
-        if (this.options.skip) {
-          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
-          this.skipMatchers = skipPatterns.map(
-            (skip) => new Minimatch(skip, { dot: true })
-          );
+        const dirs = /* @__PURE__ */ new Set();
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
+            }
+            processing++;
+            dirs.add(dir);
+            const onReaddir = (er, entries, didRealpaths = false) => {
+              if (er)
+                return results.emit("error", er);
+              if (follow && !didRealpaths) {
+                const promises5 = [];
+                for (const e of entries) {
+                  if (e.isSymbolicLink()) {
+                    promises5.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
+                  }
+                }
+                if (promises5.length) {
+                  Promise.all(promises5).then(() => onReaddir(null, entries, true));
+                  return;
+                }
+              }
+              for (const e of entries) {
+                if (e && (!filter || filter(e))) {
+                  if (!results.write(withFileTypes ? e : e.fullpath())) {
+                    paused = true;
+                  }
+                }
+              }
+              processing--;
+              for (const e of entries) {
+                const r = e.realpathCached() || e;
+                if (r.shouldWalk(dirs, walkFilter)) {
+                  queue.push(r);
+                }
+              }
+              if (paused && !results.flowing) {
+                results.once("drain", process2);
+              } else if (!sync) {
+                process2();
+              }
+            };
+            let sync = true;
+            dir.readdirCB(onReaddir, true);
+            sync = false;
+          }
+        };
+        process2();
+        return results;
+      }
+      streamSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        this.iterator = explore(resolve8(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
-        this.paused = false;
-        this.inactive = false;
-        this.aborted = false;
-        if (cb) {
-          this._matches = [];
-          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
-          this.on("error", (err) => cb(err));
-          this.on("end", () => cb(null, this._matches));
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        const dirs = /* @__PURE__ */ new Set();
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
         }
-        setTimeout(() => this._next(), 0);
-      }
-      _shouldSkipDirectory(relative2) {
-        return this.skipMatchers.some((m) => m.match(relative2));
-      }
-      _fileMatches(relative2, isDirectory) {
-        const file = relative2 + (isDirectory ? "/" : "");
-        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
-      }
-      _next() {
-        if (!this.paused && !this.aborted) {
-          this.iterator.next().then((obj) => {
-            if (!obj.done) {
-              const isDirectory = obj.value.stats.isDirectory();
-              if (this._fileMatches(obj.value.relative, isDirectory)) {
-                let relative2 = obj.value.relative;
-                let absolute = obj.value.absolute;
-                if (this.options.mark && isDirectory) {
-                  relative2 += "/";
-                  absolute += "/";
-                }
-                if (this.options.stat) {
-                  this.emit("match", { relative: relative2, absolute, stat: obj.value.stats });
-                } else {
-                  this.emit("match", { relative: relative2, absolute });
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
+            }
+            processing++;
+            dirs.add(dir);
+            const entries = dir.readdirSync();
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                if (!results.write(withFileTypes ? e : e.fullpath())) {
+                  paused = true;
                 }
               }
-              this._next(this.iterator);
-            } else {
-              this.emit("end");
             }
-          }).catch((err) => {
-            this.abort();
-            this.emit("error", err);
-            if (!err.code && !this.options.silent) {
-              console.error(err);
+            processing--;
+            for (const e of entries) {
+              let r = e;
+              if (e.isSymbolicLink()) {
+                if (!(follow && (r = e.realpathSync())))
+                  continue;
+                if (r.isUnknown())
+                  r.lstatSync();
+              }
+              if (r.shouldWalk(dirs, walkFilter)) {
+                queue.push(r);
+              }
             }
-          });
-        } else {
-          this.inactive = true;
+          }
+          if (paused && !results.flowing)
+            results.once("drain", process2);
+        };
+        process2();
+        return results;
+      }
+      chdir(path16 = this.cwd) {
+        const oldCwd = this.cwd;
+        this.cwd = typeof path16 === "string" ? this.cwd.resolve(path16) : path16;
+        this.cwd[setAsCwd](oldCwd);
+      }
+    };
+    exports2.PathScurryBase = PathScurryBase;
+    var PathScurryWin32 = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "\\";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
+        this.nocase = nocase;
+        for (let p = this.cwd; p; p = p.parent) {
+          p.nocase = this.nocase;
         }
       }
-      abort() {
-        this.aborted = true;
+      /**
+       * @internal
+       */
+      parseRootPath(dir) {
+        return node_path_1.win32.parse(dir).root.toUpperCase();
       }
-      pause() {
-        this.paused = true;
+      /**
+       * @internal
+       */
+      newRoot(fs18) {
+        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs18 });
       }
-      resume() {
-        this.paused = false;
-        if (this.inactive) {
-          this.inactive = false;
-          this._next();
-        }
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
       }
     };
-    function readdirGlob(pattern, options, cb) {
-      return new ReaddirGlob(pattern, options, cb);
-    }
-    readdirGlob.ReaddirGlob = ReaddirGlob;
-  }
-});
-
-// node_modules/async/dist/async.js
-var require_async = __commonJS({
-  "node_modules/async/dist/async.js"(exports2, module2) {
-    (function(global2, factory) {
-      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
-    })(exports2, (function(exports3) {
-      "use strict";
-      function apply(fn, ...args) {
-        return (...callArgs) => fn(...args, ...callArgs);
+    exports2.PathScurryWin32 = PathScurryWin32;
+    var PathScurryPosix = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = false } = opts;
+        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
+        this.nocase = nocase;
       }
-      function initialParams(fn) {
-        return function(...args) {
-          var callback = args.pop();
-          return fn.call(this, args, callback);
-        };
+      /**
+       * @internal
+       */
+      parseRootPath(_dir) {
+        return "/";
       }
-      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
-      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
-      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
-      function fallback(fn) {
-        setTimeout(fn, 0);
+      /**
+       * @internal
+       */
+      newRoot(fs18) {
+        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs18 });
       }
-      function wrap(defer) {
-        return (fn, ...args) => defer(() => fn(...args));
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/");
       }
-      var _defer$1;
-      if (hasQueueMicrotask) {
-        _defer$1 = queueMicrotask;
-      } else if (hasSetImmediate) {
-        _defer$1 = setImmediate;
-      } else if (hasNextTick) {
-        _defer$1 = process.nextTick;
-      } else {
-        _defer$1 = fallback;
+    };
+    exports2.PathScurryPosix = PathScurryPosix;
+    var PathScurryDarwin = class extends PathScurryPosix {
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, { ...opts, nocase });
       }
-      var setImmediate$1 = wrap(_defer$1);
-      function asyncify(func) {
-        if (isAsync(func)) {
-          return function(...args) {
-            const callback = args.pop();
-            const promise = func.apply(this, args);
-            return handlePromise(promise, callback);
-          };
+    };
+    exports2.PathScurryDarwin = PathScurryDarwin;
+    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
+    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
+  }
+});
+
+// node_modules/glob/dist/commonjs/pattern.js
+var require_pattern = __commonJS({
+  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Pattern = void 0;
+    var minimatch_1 = require_commonjs20();
+    var isPatternList = (pl) => pl.length >= 1;
+    var isGlobList = (gl) => gl.length >= 1;
+    var Pattern = class _Pattern {
+      #patternList;
+      #globList;
+      #index;
+      length;
+      #platform;
+      #rest;
+      #globString;
+      #isDrive;
+      #isUNC;
+      #isAbsolute;
+      #followGlobstar = true;
+      constructor(patternList, globList, index, platform) {
+        if (!isPatternList(patternList)) {
+          throw new TypeError("empty pattern list");
         }
-        return initialParams(function(args, callback) {
-          var result;
-          try {
-            result = func.apply(this, args);
-          } catch (e) {
-            return callback(e);
-          }
-          if (result && typeof result.then === "function") {
-            return handlePromise(result, callback);
-          } else {
-            callback(null, result);
+        if (!isGlobList(globList)) {
+          throw new TypeError("empty glob list");
+        }
+        if (globList.length !== patternList.length) {
+          throw new TypeError("mismatched pattern list and glob list lengths");
+        }
+        this.length = patternList.length;
+        if (index < 0 || index >= this.length) {
+          throw new TypeError("index out of range");
+        }
+        this.#patternList = patternList;
+        this.#globList = globList;
+        this.#index = index;
+        this.#platform = platform;
+        if (this.#index === 0) {
+          if (this.isUNC()) {
+            const [p0, p1, p2, p3, ...prest] = this.#patternList;
+            const [g0, g1, g2, g3, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = [p0, p1, p2, p3, ""].join("/");
+            const g = [g0, g1, g2, g3, ""].join("/");
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
+          } else if (this.isDrive() || this.isAbsolute()) {
+            const [p1, ...prest] = this.#patternList;
+            const [g1, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = p1 + "/";
+            const g = g1 + "/";
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
           }
-        });
+        }
       }
-      function handlePromise(promise, callback) {
-        return promise.then((value) => {
-          invokeCallback(callback, null, value);
-        }, (err) => {
-          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
-        });
+      /**
+       * The first entry in the parsed list of patterns
+       */
+      pattern() {
+        return this.#patternList[this.#index];
       }
-      function invokeCallback(callback, error3, value) {
-        try {
-          callback(error3, value);
-        } catch (err) {
-          setImmediate$1((e) => {
-            throw e;
-          }, err);
-        }
+      /**
+       * true of if pattern() returns a string
+       */
+      isString() {
+        return typeof this.#patternList[this.#index] === "string";
       }
-      function isAsync(fn) {
-        return fn[Symbol.toStringTag] === "AsyncFunction";
+      /**
+       * true of if pattern() returns GLOBSTAR
+       */
+      isGlobstar() {
+        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
       }
-      function isAsyncGenerator(fn) {
-        return fn[Symbol.toStringTag] === "AsyncGenerator";
+      /**
+       * true if pattern() returns a regexp
+       */
+      isRegExp() {
+        return this.#patternList[this.#index] instanceof RegExp;
       }
-      function isAsyncIterable(obj) {
-        return typeof obj[Symbol.asyncIterator] === "function";
+      /**
+       * The /-joined set of glob parts that make up this pattern
+       */
+      globString() {
+        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
       }
-      function wrapAsync(asyncFn) {
-        if (typeof asyncFn !== "function") throw new Error("expected a function");
-        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
+      /**
+       * true if there are more pattern parts after this one
+       */
+      hasMore() {
+        return this.length > this.#index + 1;
       }
-      function awaitify(asyncFn, arity) {
-        if (!arity) arity = asyncFn.length;
-        if (!arity) throw new Error("arity is undefined");
-        function awaitable(...args) {
-          if (typeof args[arity - 1] === "function") {
-            return asyncFn.apply(this, args);
-          }
-          return new Promise((resolve8, reject2) => {
-            args[arity - 1] = (err, ...cbArgs) => {
-              if (err) return reject2(err);
-              resolve8(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
-            };
-            asyncFn.apply(this, args);
-          });
-        }
-        return awaitable;
+      /**
+       * The rest of the pattern after this part, or null if this is the end
+       */
+      rest() {
+        if (this.#rest !== void 0)
+          return this.#rest;
+        if (!this.hasMore())
+          return this.#rest = null;
+        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
+        this.#rest.#isAbsolute = this.#isAbsolute;
+        this.#rest.#isUNC = this.#isUNC;
+        this.#rest.#isDrive = this.#isDrive;
+        return this.#rest;
       }
-      function applyEach$1(eachfn) {
-        return function applyEach2(fns, ...callArgs) {
-          const go = awaitify(function(callback) {
-            var that = this;
-            return eachfn(fns, (fn, cb) => {
-              wrapAsync(fn).apply(that, callArgs.concat(cb));
-            }, callback);
-          });
-          return go;
-        };
+      /**
+       * true if the pattern represents a //unc/path/ on windows
+       */
+      isUNC() {
+        const pl = this.#patternList;
+        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
       }
-      function _asyncMap(eachfn, arr, iteratee, callback) {
-        arr = arr || [];
-        var results = [];
-        var counter = 0;
-        var _iteratee = wrapAsync(iteratee);
-        return eachfn(arr, (value, _2, iterCb) => {
-          var index2 = counter++;
-          _iteratee(value, (err, v) => {
-            results[index2] = v;
-            iterCb(err);
-          });
-        }, (err) => {
-          callback(err, results);
-        });
+      // pattern like C:/...
+      // split = ['C:', ...]
+      // XXX: would be nice to handle patterns like `c:*` to test the cwd
+      // in c: for *, but I don't know of a way to even figure out what that
+      // cwd is without actually chdir'ing into it?
+      /**
+       * True if the pattern starts with a drive letter on Windows
+       */
+      isDrive() {
+        const pl = this.#patternList;
+        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
       }
-      function isArrayLike(value) {
-        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
+      // pattern = '/' or '/...' or '/x/...'
+      // split = ['', ''] or ['', ...] or ['', 'x', ...]
+      // Drive and UNC both considered absolute on windows
+      /**
+       * True if the pattern is rooted on an absolute path
+       */
+      isAbsolute() {
+        const pl = this.#patternList;
+        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
       }
-      const breakLoop = {};
-      function once(fn) {
-        function wrapper(...args) {
-          if (fn === null) return;
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
-        }
-        Object.assign(wrapper, fn);
-        return wrapper;
+      /**
+       * consume the root of the pattern, and return it
+       */
+      root() {
+        const p = this.#patternList[0];
+        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
       }
-      function getIterator(coll) {
-        return coll[Symbol.iterator] && coll[Symbol.iterator]();
+      /**
+       * Check to see if the current globstar pattern is allowed to follow
+       * a symbolic link.
+       */
+      checkFollowGlobstar() {
+        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
       }
-      function createArrayIterator(coll) {
-        var i = -1;
-        var len = coll.length;
-        return function next() {
-          return ++i < len ? { value: coll[i], key: i } : null;
-        };
+      /**
+       * Mark that the current globstar pattern is following a symbolic link
+       */
+      markFollowGlobstar() {
+        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
+          return false;
+        this.#followGlobstar = false;
+        return true;
       }
-      function createES2015Iterator(iterator2) {
-        var i = -1;
-        return function next() {
-          var item = iterator2.next();
-          if (item.done)
-            return null;
-          i++;
-          return { value: item.value, key: i };
+    };
+    exports2.Pattern = Pattern;
+  }
+});
+
+// node_modules/glob/dist/commonjs/ignore.js
+var require_ignore = __commonJS({
+  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Ignore = void 0;
+    var minimatch_1 = require_commonjs20();
+    var pattern_js_1 = require_pattern();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Ignore = class {
+      relative;
+      relativeChildren;
+      absolute;
+      absoluteChildren;
+      platform;
+      mmopts;
+      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
+        this.relative = [];
+        this.absolute = [];
+        this.relativeChildren = [];
+        this.absoluteChildren = [];
+        this.platform = platform;
+        this.mmopts = {
+          dot: true,
+          nobrace,
+          nocase,
+          noext,
+          noglobstar,
+          optimizationLevel: 2,
+          platform,
+          nocomment: true,
+          nonegate: true
         };
+        for (const ign of ignored)
+          this.add(ign);
       }
-      function createObjectIterator(obj) {
-        var okeys = obj ? Object.keys(obj) : [];
-        var i = -1;
-        var len = okeys.length;
-        return function next() {
-          var key = okeys[++i];
-          if (key === "__proto__") {
-            return next();
+      add(ign) {
+        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
+        for (let i = 0; i < mm.set.length; i++) {
+          const parsed = mm.set[i];
+          const globParts = mm.globParts[i];
+          if (!parsed || !globParts) {
+            throw new Error("invalid pattern object");
           }
-          return i < len ? { value: obj[key], key } : null;
-        };
+          while (parsed[0] === "." && globParts[0] === ".") {
+            parsed.shift();
+            globParts.shift();
+          }
+          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
+          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
+          const children = globParts[globParts.length - 1] === "**";
+          const absolute = p.isAbsolute();
+          if (absolute)
+            this.absolute.push(m);
+          else
+            this.relative.push(m);
+          if (children) {
+            if (absolute)
+              this.absoluteChildren.push(m);
+            else
+              this.relativeChildren.push(m);
+          }
+        }
       }
-      function createIterator(coll) {
-        if (isArrayLike(coll)) {
-          return createArrayIterator(coll);
+      ignored(p) {
+        const fullpath = p.fullpath();
+        const fullpaths = `${fullpath}/`;
+        const relative2 = p.relative() || ".";
+        const relatives = `${relative2}/`;
+        for (const m of this.relative) {
+          if (m.match(relative2) || m.match(relatives))
+            return true;
         }
-        var iterator2 = getIterator(coll);
-        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
+        for (const m of this.absolute) {
+          if (m.match(fullpath) || m.match(fullpaths))
+            return true;
+        }
+        return false;
       }
-      function onlyOnce(fn) {
-        return function(...args) {
-          if (fn === null) throw new Error("Callback was already called.");
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
-        };
+      childrenIgnored(p) {
+        const fullpath = p.fullpath() + "/";
+        const relative2 = (p.relative() || ".") + "/";
+        for (const m of this.relativeChildren) {
+          if (m.match(relative2))
+            return true;
+        }
+        for (const m of this.absoluteChildren) {
+          if (m.match(fullpath))
+            return true;
+        }
+        return false;
       }
-      function asyncEachOfLimit(generator, limit, iteratee, callback) {
-        let done = false;
-        let canceled = false;
-        let awaiting = false;
-        let running = 0;
-        let idx = 0;
-        function replenish() {
-          if (running >= limit || awaiting || done) return;
-          awaiting = true;
-          generator.next().then(({ value, done: iterDone }) => {
-            if (canceled || done) return;
-            awaiting = false;
-            if (iterDone) {
-              done = true;
-              if (running <= 0) {
-                callback(null);
-              }
-              return;
-            }
-            running++;
-            iteratee(value, idx, iterateeCallback);
-            idx++;
-            replenish();
-          }).catch(handleError);
+    };
+    exports2.Ignore = Ignore;
+  }
+});
+
+// node_modules/glob/dist/commonjs/processor.js
+var require_processor = __commonJS({
+  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
+    var minimatch_1 = require_commonjs20();
+    var HasWalkedCache = class _HasWalkedCache {
+      store;
+      constructor(store = /* @__PURE__ */ new Map()) {
+        this.store = store;
+      }
+      copy() {
+        return new _HasWalkedCache(new Map(this.store));
+      }
+      hasWalked(target, pattern) {
+        return this.store.get(target.fullpath())?.has(pattern.globString());
+      }
+      storeWalked(target, pattern) {
+        const fullpath = target.fullpath();
+        const cached = this.store.get(fullpath);
+        if (cached)
+          cached.add(pattern.globString());
+        else
+          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
+      }
+    };
+    exports2.HasWalkedCache = HasWalkedCache;
+    var MatchRecord = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, absolute, ifDir) {
+        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
+        const current = this.store.get(target);
+        this.store.set(target, current === void 0 ? n : n & current);
+      }
+      // match, absolute, ifdir
+      entries() {
+        return [...this.store.entries()].map(([path16, n]) => [
+          path16,
+          !!(n & 2),
+          !!(n & 1)
+        ]);
+      }
+    };
+    exports2.MatchRecord = MatchRecord;
+    var SubWalks = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, pattern) {
+        if (!target.canReaddir()) {
+          return;
         }
-        function iterateeCallback(err, result) {
-          running -= 1;
-          if (canceled) return;
-          if (err) return handleError(err);
-          if (err === false) {
-            done = true;
-            canceled = true;
-            return;
-          }
-          if (result === breakLoop || done && running <= 0) {
-            done = true;
-            return callback(null);
+        const subs = this.store.get(target);
+        if (subs) {
+          if (!subs.find((p) => p.globString() === pattern.globString())) {
+            subs.push(pattern);
           }
-          replenish();
-        }
-        function handleError(err) {
-          if (canceled) return;
-          awaiting = false;
-          done = true;
-          callback(err);
+        } else
+          this.store.set(target, [pattern]);
+      }
+      get(target) {
+        const subs = this.store.get(target);
+        if (!subs) {
+          throw new Error("attempting to walk unknown path");
         }
-        replenish();
+        return subs;
       }
-      var eachOfLimit$2 = (limit) => {
-        return (obj, iteratee, callback) => {
-          callback = once(callback);
-          if (limit <= 0) {
-            throw new RangeError("concurrency limit cannot be less than 1");
-          }
-          if (!obj) {
-            return callback(null);
+      entries() {
+        return this.keys().map((k) => [k, this.store.get(k)]);
+      }
+      keys() {
+        return [...this.store.keys()].filter((t) => t.canReaddir());
+      }
+    };
+    exports2.SubWalks = SubWalks;
+    var Processor = class _Processor {
+      hasWalkedCache;
+      matches = new MatchRecord();
+      subwalks = new SubWalks();
+      patterns;
+      follow;
+      dot;
+      opts;
+      constructor(opts, hasWalkedCache) {
+        this.opts = opts;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      }
+      processPatterns(target, patterns) {
+        this.patterns = patterns;
+        const processingSet = patterns.map((p) => [target, p]);
+        for (let [t, pattern] of processingSet) {
+          this.hasWalkedCache.storeWalked(t, pattern);
+          const root = pattern.root();
+          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
+          if (root) {
+            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
+            const rest2 = pattern.rest();
+            if (!rest2) {
+              this.matches.add(t, true, false);
+              continue;
+            } else {
+              pattern = rest2;
+            }
           }
-          if (isAsyncGenerator(obj)) {
-            return asyncEachOfLimit(obj, limit, iteratee, callback);
+          if (t.isENOENT())
+            continue;
+          let p;
+          let rest;
+          let changed = false;
+          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
+            const c = t.resolve(p);
+            t = c;
+            pattern = rest;
+            changed = true;
           }
-          if (isAsyncIterable(obj)) {
-            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
+          p = pattern.pattern();
+          rest = pattern.rest();
+          if (changed) {
+            if (this.hasWalkedCache.hasWalked(t, pattern))
+              continue;
+            this.hasWalkedCache.storeWalked(t, pattern);
           }
-          var nextElem = createIterator(obj);
-          var done = false;
-          var canceled = false;
-          var running = 0;
-          var looping = false;
-          function iterateeCallback(err, value) {
-            if (canceled) return;
-            running -= 1;
-            if (err) {
-              done = true;
-              callback(err);
-            } else if (err === false) {
-              done = true;
-              canceled = true;
-            } else if (value === breakLoop || done && running <= 0) {
-              done = true;
-              return callback(null);
-            } else if (!looping) {
-              replenish();
+          if (typeof p === "string") {
+            const ifDir = p === ".." || p === "" || p === ".";
+            this.matches.add(t.resolve(p), absolute, ifDir);
+            continue;
+          } else if (p === minimatch_1.GLOBSTAR) {
+            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
+              this.subwalks.add(t, pattern);
             }
-          }
-          function replenish() {
-            looping = true;
-            while (running < limit && !done) {
-              var elem = nextElem();
-              if (elem === null) {
-                done = true;
-                if (running <= 0) {
-                  callback(null);
+            const rp = rest?.pattern();
+            const rrest = rest?.rest();
+            if (!rest || (rp === "" || rp === ".") && !rrest) {
+              this.matches.add(t, absolute, rp === "" || rp === ".");
+            } else {
+              if (rp === "..") {
+                const tp = t.parent || t;
+                if (!rrest)
+                  this.matches.add(tp, absolute, true);
+                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
+                  this.subwalks.add(tp, rrest);
                 }
-                return;
               }
-              running += 1;
-              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
             }
-            looping = false;
-          }
-          replenish();
-        };
-      };
-      function eachOfLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
-      }
-      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
-      function eachOfArrayLike(coll, iteratee, callback) {
-        callback = once(callback);
-        var index2 = 0, completed = 0, { length } = coll, canceled = false;
-        if (length === 0) {
-          callback(null);
-        }
-        function iteratorCallback(err, value) {
-          if (err === false) {
-            canceled = true;
-          }
-          if (canceled === true) return;
-          if (err) {
-            callback(err);
-          } else if (++completed === length || value === breakLoop) {
-            callback(null);
+          } else if (p instanceof RegExp) {
+            this.subwalks.add(t, pattern);
           }
         }
-        for (; index2 < length; index2++) {
-          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
-        }
-      }
-      function eachOfGeneric(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, Infinity, iteratee, callback);
-      }
-      function eachOf(coll, iteratee, callback) {
-        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
-        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
-      }
-      var eachOf$1 = awaitify(eachOf, 3);
-      function map2(coll, iteratee, callback) {
-        return _asyncMap(eachOf$1, coll, iteratee, callback);
+        return this;
       }
-      var map$1 = awaitify(map2, 3);
-      var applyEach = applyEach$1(map$1);
-      function eachOfSeries(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, 1, iteratee, callback);
+      subwalkTargets() {
+        return this.subwalks.keys();
       }
-      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
-      function mapSeries(coll, iteratee, callback) {
-        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
+      child() {
+        return new _Processor(this.opts, this.hasWalkedCache);
       }
-      var mapSeries$1 = awaitify(mapSeries, 3);
-      var applyEachSeries = applyEach$1(mapSeries$1);
-      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
-      function promiseCallback() {
-        let resolve8, reject2;
-        function callback(err, ...args) {
-          if (err) return reject2(err);
-          resolve8(args.length > 1 ? args : args[0]);
+      // return a new Processor containing the subwalks for each
+      // child entry, and a set of matches, and
+      // a hasWalkedCache that's a copy of this one
+      // then we're going to call
+      filterEntries(parent, entries) {
+        const patterns = this.subwalks.get(parent);
+        const results = this.child();
+        for (const e of entries) {
+          for (const pattern of patterns) {
+            const absolute = pattern.isAbsolute();
+            const p = pattern.pattern();
+            const rest = pattern.rest();
+            if (p === minimatch_1.GLOBSTAR) {
+              results.testGlobstar(e, pattern, rest, absolute);
+            } else if (p instanceof RegExp) {
+              results.testRegExp(e, p, rest, absolute);
+            } else {
+              results.testString(e, p, rest, absolute);
+            }
+          }
         }
-        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
-          resolve8 = res, reject2 = rej;
-        });
-        return callback;
+        return results;
       }
-      function auto(tasks, concurrency, callback) {
-        if (typeof concurrency !== "number") {
-          callback = concurrency;
-          concurrency = null;
-        }
-        callback = once(callback || promiseCallback());
-        var numTasks = Object.keys(tasks).length;
-        if (!numTasks) {
-          return callback(null);
-        }
-        if (!concurrency) {
-          concurrency = numTasks;
-        }
-        var results = {};
-        var runningTasks = 0;
-        var canceled = false;
-        var hasError = false;
-        var listeners = /* @__PURE__ */ Object.create(null);
-        var readyTasks = [];
-        var readyToCheck = [];
-        var uncheckedDependencies = {};
-        Object.keys(tasks).forEach((key) => {
-          var task = tasks[key];
-          if (!Array.isArray(task)) {
-            enqueueTask(key, [task]);
-            readyToCheck.push(key);
-            return;
-          }
-          var dependencies = task.slice(0, task.length - 1);
-          var remainingDependencies = dependencies.length;
-          if (remainingDependencies === 0) {
-            enqueueTask(key, task);
-            readyToCheck.push(key);
-            return;
+      testGlobstar(e, pattern, rest, absolute) {
+        if (this.dot || !e.name.startsWith(".")) {
+          if (!pattern.hasMore()) {
+            this.matches.add(e, absolute, false);
           }
-          uncheckedDependencies[key] = remainingDependencies;
-          dependencies.forEach((dependencyName) => {
-            if (!tasks[dependencyName]) {
-              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
-            }
-            addListener(dependencyName, () => {
-              remainingDependencies--;
-              if (remainingDependencies === 0) {
-                enqueueTask(key, task);
+          if (e.canReaddir()) {
+            if (this.follow || !e.isSymbolicLink()) {
+              this.subwalks.add(e, pattern);
+            } else if (e.isSymbolicLink()) {
+              if (rest && pattern.checkFollowGlobstar()) {
+                this.subwalks.add(e, rest);
+              } else if (pattern.markFollowGlobstar()) {
+                this.subwalks.add(e, pattern);
               }
-            });
-          });
-        });
-        checkForDeadlocks();
-        processQueue();
-        function enqueueTask(key, task) {
-          readyTasks.push(() => runTask(key, task));
+            }
+          }
         }
-        function processQueue() {
-          if (canceled) return;
-          if (readyTasks.length === 0 && runningTasks === 0) {
-            return callback(null, results);
+        if (rest) {
+          const rp = rest.pattern();
+          if (typeof rp === "string" && // dots and empty were handled already
+          rp !== ".." && rp !== "" && rp !== ".") {
+            this.testString(e, rp, rest.rest(), absolute);
+          } else if (rp === "..") {
+            const ep = e.parent || e;
+            this.subwalks.add(ep, rest);
+          } else if (rp instanceof RegExp) {
+            this.testRegExp(e, rp, rest.rest(), absolute);
           }
-          while (readyTasks.length && runningTasks < concurrency) {
-            var run3 = readyTasks.shift();
-            run3();
+        }
+      }
+      testRegExp(e, p, rest, absolute) {
+        if (!p.test(e.name))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
+        }
+      }
+      testString(e, p, rest, absolute) {
+        if (!e.isNamed(p))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
+        }
+      }
+    };
+    exports2.Processor = Processor;
+  }
+});
+
+// node_modules/glob/dist/commonjs/walker.js
+var require_walker = __commonJS({
+  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
+    var minipass_1 = require_commonjs22();
+    var ignore_js_1 = require_ignore();
+    var processor_js_1 = require_processor();
+    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
+    var GlobUtil = class {
+      path;
+      patterns;
+      opts;
+      seen = /* @__PURE__ */ new Set();
+      paused = false;
+      aborted = false;
+      #onResume = [];
+      #ignore;
+      #sep;
+      signal;
+      maxDepth;
+      includeChildMatches;
+      constructor(patterns, path16, opts) {
+        this.patterns = patterns;
+        this.path = path16;
+        this.opts = opts;
+        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        if (opts.ignore || !this.includeChildMatches) {
+          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
+          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
+            const m = "cannot ignore child matches, ignore lacks add() method.";
+            throw new Error(m);
           }
         }
-        function addListener(taskName, fn) {
-          var taskListeners = listeners[taskName];
-          if (!taskListeners) {
-            taskListeners = listeners[taskName] = [];
-          }
-          taskListeners.push(fn);
+        this.maxDepth = opts.maxDepth || Infinity;
+        if (opts.signal) {
+          this.signal = opts.signal;
+          this.signal.addEventListener("abort", () => {
+            this.#onResume.length = 0;
+          });
         }
-        function taskComplete(taskName) {
-          var taskListeners = listeners[taskName] || [];
-          taskListeners.forEach((fn) => fn());
-          processQueue();
+      }
+      #ignored(path16) {
+        return this.seen.has(path16) || !!this.#ignore?.ignored?.(path16);
+      }
+      #childrenIgnored(path16) {
+        return !!this.#ignore?.childrenIgnored?.(path16);
+      }
+      // backpressure mechanism
+      pause() {
+        this.paused = true;
+      }
+      resume() {
+        if (this.signal?.aborted)
+          return;
+        this.paused = false;
+        let fn = void 0;
+        while (!this.paused && (fn = this.#onResume.shift())) {
+          fn();
         }
-        function runTask(key, task) {
-          if (hasError) return;
-          var taskCallback = onlyOnce((err, ...result) => {
-            runningTasks--;
-            if (err === false) {
-              canceled = true;
-              return;
-            }
-            if (result.length < 2) {
-              [result] = result;
-            }
-            if (err) {
-              var safeResults = {};
-              Object.keys(results).forEach((rkey) => {
-                safeResults[rkey] = results[rkey];
-              });
-              safeResults[key] = result;
-              hasError = true;
-              listeners = /* @__PURE__ */ Object.create(null);
-              if (canceled) return;
-              callback(err, safeResults);
-            } else {
-              results[key] = result;
-              taskComplete(key);
-            }
-          });
-          runningTasks++;
-          var taskFn = wrapAsync(task[task.length - 1]);
-          if (task.length > 1) {
-            taskFn(results, taskCallback);
-          } else {
-            taskFn(taskCallback);
-          }
+      }
+      onResume(fn) {
+        if (this.signal?.aborted)
+          return;
+        if (!this.paused) {
+          fn();
+        } else {
+          this.#onResume.push(fn);
         }
-        function checkForDeadlocks() {
-          var currentTask;
-          var counter = 0;
-          while (readyToCheck.length) {
-            currentTask = readyToCheck.pop();
-            counter++;
-            getDependents(currentTask).forEach((dependent) => {
-              if (--uncheckedDependencies[dependent] === 0) {
-                readyToCheck.push(dependent);
-              }
-            });
-          }
-          if (counter !== numTasks) {
-            throw new Error(
-              "async.auto cannot execute tasks due to a recursive dependency"
-            );
-          }
+      }
+      // do the requisite realpath/stat checking, and return the path
+      // to add or undefined to filter it out.
+      async matchCheck(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || await e.realpath();
+          if (!rpc)
+            return void 0;
+          e = rpc;
         }
-        function getDependents(taskName) {
-          var result = [];
-          Object.keys(tasks).forEach((key) => {
-            const task = tasks[key];
-            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
-              result.push(key);
-            }
-          });
-          return result;
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? await e.lstat() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = await s.realpath();
+          if (target && (target.isUnknown() || this.opts.stat)) {
+            await target.lstat();
+          }
         }
-        return callback[PROMISE_SYMBOL];
+        return this.matchCheckTest(s, ifDir);
       }
-      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
-      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
-      var FN_ARG_SPLIT = /,/;
-      var FN_ARG = /(=.+)?(\s*)$/;
-      function stripComments(string) {
-        let stripped = "";
-        let index2 = 0;
-        let endBlockComment = string.indexOf("*/");
-        while (index2 < string.length) {
-          if (string[index2] === "/" && string[index2 + 1] === "/") {
-            let endIndex = string.indexOf("\n", index2);
-            index2 = endIndex === -1 ? string.length : endIndex;
-          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
-            let endIndex = string.indexOf("*/", index2);
-            if (endIndex !== -1) {
-              index2 = endIndex + 2;
-              endBlockComment = string.indexOf("*/", index2);
-            } else {
-              stripped += string[index2];
-              index2++;
-            }
-          } else {
-            stripped += string[index2];
-            index2++;
+      matchCheckTest(e, ifDir) {
+        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
+      }
+      matchCheckSync(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || e.realpathSync();
+          if (!rpc)
+            return void 0;
+          e = rpc;
+        }
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? e.lstatSync() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = s.realpathSync();
+          if (target && (target?.isUnknown() || this.opts.stat)) {
+            target.lstatSync();
           }
         }
-        return stripped;
+        return this.matchCheckTest(s, ifDir);
       }
-      function parseParams(func) {
-        const src = stripComments(func.toString());
-        let match = src.match(FN_ARGS);
-        if (!match) {
-          match = src.match(ARROW_FN_ARGS);
+      matchFinish(e, absolute) {
+        if (this.#ignored(e))
+          return;
+        if (!this.includeChildMatches && this.#ignore?.add) {
+          const ign = `${e.relativePosix()}/**`;
+          this.#ignore.add(ign);
+        }
+        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
+        this.seen.add(e);
+        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
+        if (this.opts.withFileTypes) {
+          this.matchEmit(e);
+        } else if (abs) {
+          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
+          this.matchEmit(abs2 + mark);
+        } else {
+          const rel = this.opts.posix ? e.relativePosix() : e.relative();
+          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
+          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
         }
-        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
-        let [, args] = match;
-        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
       }
-      function autoInject(tasks, callback) {
-        var newTasks = {};
-        Object.keys(tasks).forEach((key) => {
-          var taskFn = tasks[key];
-          var params;
-          var fnIsAsync = isAsync(taskFn);
-          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
-          if (Array.isArray(taskFn)) {
-            params = [...taskFn];
-            taskFn = params.pop();
-            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
-          } else if (hasNoDeps) {
-            newTasks[key] = taskFn;
-          } else {
-            params = parseParams(taskFn);
-            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
-              throw new Error("autoInject task functions require explicit parameters.");
-            }
-            if (!fnIsAsync) params.pop();
-            newTasks[key] = params.concat(newTask);
-          }
-          function newTask(results, taskCb) {
-            var newArgs = params.map((name) => results[name]);
-            newArgs.push(taskCb);
-            wrapAsync(taskFn)(...newArgs);
-          }
-        });
-        return auto(newTasks, callback);
+      async match(e, absolute, ifDir) {
+        const p = await this.matchCheck(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
       }
-      class DLL {
-        constructor() {
-          this.head = this.tail = null;
-          this.length = 0;
+      matchSync(e, absolute, ifDir) {
+        const p = this.matchCheckSync(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
+      }
+      walkCB(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      }
+      walkCB2(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
+          return;
         }
-        removeLink(node) {
-          if (node.prev) node.prev.next = node.next;
-          else this.head = node.next;
-          if (node.next) node.next.prev = node.prev;
-          else this.tail = node.prev;
-          node.prev = node.next = null;
-          this.length -= 1;
-          return node;
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
         }
-        empty() {
-          while (this.head) this.shift();
-          return this;
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const childrenCached = t.readdirCached();
+          if (t.calledReaddir())
+            this.walkCB3(t, childrenCached, processor, next);
+          else {
+            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
+          }
         }
-        insertAfter(node, newNode) {
-          newNode.prev = node;
-          newNode.next = node.next;
-          if (node.next) node.next.prev = newNode;
-          else this.tail = newNode;
-          node.next = newNode;
-          this.length += 1;
+        next();
+      }
+      walkCB3(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
         }
-        insertBefore(node, newNode) {
-          newNode.prev = node.prev;
-          newNode.next = node;
-          if (node.prev) node.prev.next = newNode;
-          else this.head = newNode;
-          node.prev = newNode;
-          this.length += 1;
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2(target2, patterns, processor.child(), next);
         }
-        unshift(node) {
-          if (this.head) this.insertBefore(this.head, node);
-          else setInitial(this, node);
+        next();
+      }
+      walkCBSync(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      }
+      walkCB2Sync(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
+          return;
         }
-        push(node) {
-          if (this.tail) this.insertAfter(this.tail, node);
-          else setInitial(this, node);
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
         }
-        shift() {
-          return this.head && this.removeLink(this.head);
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const children = t.readdirSync();
+          this.walkCB3Sync(t, children, processor, next);
         }
-        pop() {
-          return this.tail && this.removeLink(this.tail);
+        next();
+      }
+      walkCB3Sync(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
         }
-        toArray() {
-          return [...this];
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2Sync(target2, patterns, processor.child(), next);
         }
-        *[Symbol.iterator]() {
-          var cur = this.head;
-          while (cur) {
-            yield cur.data;
-            cur = cur.next;
-          }
+        next();
+      }
+    };
+    exports2.GlobUtil = GlobUtil;
+    var GlobWalker = class extends GlobUtil {
+      matches = /* @__PURE__ */ new Set();
+      constructor(patterns, path16, opts) {
+        super(patterns, path16, opts);
+      }
+      matchEmit(e) {
+        this.matches.add(e);
+      }
+      async walk() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          await this.path.lstat();
         }
-        remove(testFn) {
-          var curr = this.head;
-          while (curr) {
-            var { next } = curr;
-            if (testFn(curr)) {
-              this.removeLink(curr);
+        await new Promise((res, rej) => {
+          this.walkCB(this.path, this.patterns, () => {
+            if (this.signal?.aborted) {
+              rej(this.signal.reason);
+            } else {
+              res(this.matches);
             }
-            curr = next;
-          }
-          return this;
+          });
+        });
+        return this.matches;
+      }
+      walkSync() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
         }
+        this.walkCBSync(this.path, this.patterns, () => {
+          if (this.signal?.aborted)
+            throw this.signal.reason;
+        });
+        return this.matches;
       }
-      function setInitial(dll, node) {
-        dll.length = 1;
-        dll.head = dll.tail = node;
+    };
+    exports2.GlobWalker = GlobWalker;
+    var GlobStream = class extends GlobUtil {
+      results;
+      constructor(patterns, path16, opts) {
+        super(patterns, path16, opts);
+        this.results = new minipass_1.Minipass({
+          signal: this.signal,
+          objectMode: true
+        });
+        this.results.on("drain", () => this.resume());
+        this.results.on("resume", () => this.resume());
       }
-      function queue$1(worker, concurrency, payload) {
-        if (concurrency == null) {
-          concurrency = 1;
-        } else if (concurrency === 0) {
-          throw new RangeError("Concurrency must not be zero");
-        }
-        var _worker = wrapAsync(worker);
-        var numRunning = 0;
-        var workersList = [];
-        const events = {
-          error: [],
-          drain: [],
-          saturated: [],
-          unsaturated: [],
-          empty: []
-        };
-        function on(event, handler2) {
-          events[event].push(handler2);
+      matchEmit(e) {
+        this.results.write(e);
+        if (!this.results.flowing)
+          this.pause();
+      }
+      stream() {
+        const target = this.path;
+        if (target.isUnknown()) {
+          target.lstat().then(() => {
+            this.walkCB(target, this.patterns, () => this.results.end());
+          });
+        } else {
+          this.walkCB(target, this.patterns, () => this.results.end());
         }
-        function once2(event, handler2) {
-          const handleAndRemove = (...args) => {
-            off(event, handleAndRemove);
-            handler2(...args);
-          };
-          events[event].push(handleAndRemove);
+        return this.results;
+      }
+      streamSync() {
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
         }
-        function off(event, handler2) {
-          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
-          if (!handler2) return events[event] = [];
-          events[event] = events[event].filter((ev) => ev !== handler2);
+        this.walkCBSync(this.path, this.patterns, () => this.results.end());
+        return this.results;
+      }
+    };
+    exports2.GlobStream = GlobStream;
+  }
+});
+
+// node_modules/glob/dist/commonjs/glob.js
+var require_glob2 = __commonJS({
+  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Glob = void 0;
+    var minimatch_1 = require_commonjs20();
+    var node_url_1 = require("node:url");
+    var path_scurry_1 = require_commonjs23();
+    var pattern_js_1 = require_pattern();
+    var walker_js_1 = require_walker();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Glob = class {
+      absolute;
+      cwd;
+      root;
+      dot;
+      dotRelative;
+      follow;
+      ignore;
+      magicalBraces;
+      mark;
+      matchBase;
+      maxDepth;
+      nobrace;
+      nocase;
+      nodir;
+      noext;
+      noglobstar;
+      pattern;
+      platform;
+      realpath;
+      scurry;
+      stat;
+      signal;
+      windowsPathsNoEscape;
+      withFileTypes;
+      includeChildMatches;
+      /**
+       * The options provided to the constructor.
+       */
+      opts;
+      /**
+       * An array of parsed immutable {@link Pattern} objects.
+       */
+      patterns;
+      /**
+       * All options are stored as properties on the `Glob` object.
+       *
+       * See {@link GlobOptions} for full options descriptions.
+       *
+       * Note that a previous `Glob` object can be passed as the
+       * `GlobOptions` to another `Glob` instantiation to re-use settings
+       * and caches with a new pattern.
+       *
+       * Traversal functions can be called multiple times to run the walk
+       * again.
+       */
+      constructor(pattern, opts) {
+        if (!opts)
+          throw new TypeError("glob options required");
+        this.withFileTypes = !!opts.withFileTypes;
+        this.signal = opts.signal;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.dotRelative = !!opts.dotRelative;
+        this.nodir = !!opts.nodir;
+        this.mark = !!opts.mark;
+        if (!opts.cwd) {
+          this.cwd = "";
+        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
+          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
         }
-        function trigger(event, ...args) {
-          events[event].forEach((handler2) => handler2(...args));
+        this.cwd = opts.cwd || "";
+        this.root = opts.root;
+        this.magicalBraces = !!opts.magicalBraces;
+        this.nobrace = !!opts.nobrace;
+        this.noext = !!opts.noext;
+        this.realpath = !!opts.realpath;
+        this.absolute = opts.absolute;
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        this.noglobstar = !!opts.noglobstar;
+        this.matchBase = !!opts.matchBase;
+        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
+        this.stat = !!opts.stat;
+        this.ignore = opts.ignore;
+        if (this.withFileTypes && this.absolute !== void 0) {
+          throw new Error("cannot set absolute and withFileTypes:true");
         }
-        var processingScheduled = false;
-        function _insert(data, insertAtFront, rejectOnError, callback) {
-          if (callback != null && typeof callback !== "function") {
-            throw new Error("task callback must be a function");
-          }
-          q.started = true;
-          var res, rej;
-          function promiseCallback2(err, ...args) {
-            if (err) return rejectOnError ? rej(err) : res();
-            if (args.length <= 1) return res(args[0]);
-            res(args);
-          }
-          var item = q._createTaskItem(
-            data,
-            rejectOnError ? promiseCallback2 : callback || promiseCallback2
-          );
-          if (insertAtFront) {
-            q._tasks.unshift(item);
-          } else {
-            q._tasks.push(item);
-          }
-          if (!processingScheduled) {
-            processingScheduled = true;
-            setImmediate$1(() => {
-              processingScheduled = false;
-              q.process();
-            });
-          }
-          if (rejectOnError || !callback) {
-            return new Promise((resolve8, reject2) => {
-              res = resolve8;
-              rej = reject2;
-            });
-          }
+        if (typeof pattern === "string") {
+          pattern = [pattern];
         }
-        function _createCB(tasks) {
-          return function(err, ...args) {
-            numRunning -= 1;
-            for (var i = 0, l = tasks.length; i < l; i++) {
-              var task = tasks[i];
-              var index2 = workersList.indexOf(task);
-              if (index2 === 0) {
-                workersList.shift();
-              } else if (index2 > 0) {
-                workersList.splice(index2, 1);
-              }
-              task.callback(err, ...args);
-              if (err != null) {
-                trigger("error", err, task.data);
-              }
-            }
-            if (numRunning <= q.concurrency - q.buffer) {
-              trigger("unsaturated");
-            }
-            if (q.idle()) {
-              trigger("drain");
-            }
-            q.process();
-          };
+        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
         }
-        function _maybeDrain(data) {
-          if (data.length === 0 && q.idle()) {
-            setImmediate$1(() => trigger("drain"));
-            return true;
+        if (this.matchBase) {
+          if (opts.noglobstar) {
+            throw new TypeError("base matching requires globstar");
           }
-          return false;
+          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
         }
-        const eventMethod = (name) => (handler2) => {
-          if (!handler2) {
-            return new Promise((resolve8, reject2) => {
-              once2(name, (err, data) => {
-                if (err) return reject2(err);
-                resolve8(data);
-              });
-            });
-          }
-          off(name);
-          on(name, handler2);
-        };
-        var isProcessing = false;
-        var q = {
-          _tasks: new DLL(),
-          _createTaskItem(data, callback) {
-            return {
-              data,
-              callback
-            };
-          },
-          *[Symbol.iterator]() {
-            yield* q._tasks[Symbol.iterator]();
-          },
-          concurrency,
-          payload,
-          buffer: concurrency / 4,
-          started: false,
-          paused: false,
-          push(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, false, callback));
-            }
-            return _insert(data, false, false, callback);
-          },
-          pushAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, true, callback));
-            }
-            return _insert(data, false, true, callback);
-          },
-          kill() {
-            off();
-            q._tasks.empty();
-          },
-          unshift(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, false, callback));
-            }
-            return _insert(data, true, false, callback);
-          },
-          unshiftAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, true, callback));
-            }
-            return _insert(data, true, true, callback);
-          },
-          remove(testFn) {
-            q._tasks.remove(testFn);
-          },
-          process() {
-            if (isProcessing) {
-              return;
-            }
-            isProcessing = true;
-            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
-              var tasks = [], data = [];
-              var l = q._tasks.length;
-              if (q.payload) l = Math.min(l, q.payload);
-              for (var i = 0; i < l; i++) {
-                var node = q._tasks.shift();
-                tasks.push(node);
-                workersList.push(node);
-                data.push(node.data);
-              }
-              numRunning += 1;
-              if (q._tasks.length === 0) {
-                trigger("empty");
-              }
-              if (numRunning === q.concurrency) {
-                trigger("saturated");
-              }
-              var cb = onlyOnce(_createCB(tasks));
-              _worker(data, cb);
-            }
-            isProcessing = false;
-          },
-          length() {
-            return q._tasks.length;
-          },
-          running() {
-            return numRunning;
-          },
-          workersList() {
-            return workersList;
-          },
-          idle() {
-            return q._tasks.length + numRunning === 0;
-          },
-          pause() {
-            q.paused = true;
-          },
-          resume() {
-            if (q.paused === false) {
-              return;
-            }
-            q.paused = false;
-            setImmediate$1(q.process);
+        this.pattern = pattern;
+        this.platform = opts.platform || defaultPlatform;
+        this.opts = { ...opts, platform: this.platform };
+        if (opts.scurry) {
+          this.scurry = opts.scurry;
+          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
+            throw new Error("nocase option contradicts provided scurry option");
           }
+        } else {
+          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
+          this.scurry = new Scurry(this.cwd, {
+            nocase: opts.nocase,
+            fs: opts.fs
+          });
+        }
+        this.nocase = this.scurry.nocase;
+        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
+        const mmo = {
+          // default nocase based on platform
+          ...opts,
+          dot: this.dot,
+          matchBase: this.matchBase,
+          nobrace: this.nobrace,
+          nocase: this.nocase,
+          nocaseMagicOnly,
+          nocomment: true,
+          noext: this.noext,
+          nonegate: true,
+          optimizationLevel: 2,
+          platform: this.platform,
+          windowsPathsNoEscape: this.windowsPathsNoEscape,
+          debug: !!this.opts.debug
         };
-        Object.defineProperties(q, {
-          saturated: {
-            writable: false,
-            value: eventMethod("saturated")
-          },
-          unsaturated: {
-            writable: false,
-            value: eventMethod("unsaturated")
-          },
-          empty: {
-            writable: false,
-            value: eventMethod("empty")
-          },
-          drain: {
-            writable: false,
-            value: eventMethod("drain")
-          },
-          error: {
-            writable: false,
-            value: eventMethod("error")
-          }
+        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
+        const [matchSet, globParts] = mms.reduce((set2, m) => {
+          set2[0].push(...m.set);
+          set2[1].push(...m.globParts);
+          return set2;
+        }, [[], []]);
+        this.patterns = matchSet.map((set2, i) => {
+          const g = globParts[i];
+          if (!g)
+            throw new Error("invalid pattern object");
+          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
         });
-        return q;
       }
-      function cargo$1(worker, payload) {
-        return queue$1(worker, 1, payload);
+      async walk() {
+        return [
+          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walk()
+        ];
       }
-      function cargo(worker, concurrency, payload) {
-        return queue$1(worker, concurrency, payload);
+      walkSync() {
+        return [
+          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walkSync()
+        ];
       }
-      function reduce(coll, memo, iteratee, callback) {
-        callback = once(callback);
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfSeries$1(coll, (x, i, iterCb) => {
-          _iteratee(memo, x, (err, v) => {
-            memo = v;
-            iterCb(err);
-          });
-        }, (err) => callback(err, memo));
+      stream() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).stream();
       }
-      var reduce$1 = awaitify(reduce, 4);
-      function seq2(...functions) {
-        var _functions = functions.map(wrapAsync);
-        return function(...args) {
-          var that = this;
-          var cb = args[args.length - 1];
-          if (typeof cb == "function") {
-            args.pop();
-          } else {
-            cb = promiseCallback();
-          }
-          reduce$1(
-            _functions,
-            args,
-            (newargs, fn, iterCb) => {
-              fn.apply(that, newargs.concat((err, ...nextargs) => {
-                iterCb(err, nextargs);
-              }));
-            },
-            (err, results) => cb(err, ...results)
-          );
-          return cb[PROMISE_SYMBOL];
-        };
+      streamSync() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).streamSync();
       }
-      function compose(...args) {
-        return seq2(...args.reverse());
+      /**
+       * Default sync iteration function. Returns a Generator that
+       * iterates over the results.
+       */
+      iterateSync() {
+        return this.streamSync()[Symbol.iterator]();
       }
-      function mapLimit(coll, limit, iteratee, callback) {
-        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      /**
+       * Default async iteration function. Returns an AsyncGenerator that
+       * iterates over the results.
+       */
+      iterate() {
+        return this.stream()[Symbol.asyncIterator]();
+      }
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+    };
+    exports2.Glob = Glob;
+  }
+});
+
+// node_modules/glob/dist/commonjs/has-magic.js
+var require_has_magic = __commonJS({
+  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hasMagic = void 0;
+    var minimatch_1 = require_commonjs20();
+    var hasMagic = (pattern, options = {}) => {
+      if (!Array.isArray(pattern)) {
+        pattern = [pattern];
+      }
+      for (const p of pattern) {
+        if (new minimatch_1.Minimatch(p, options).hasMagic())
+          return true;
+      }
+      return false;
+    };
+    exports2.hasMagic = hasMagic;
+  }
+});
+
+// node_modules/glob/dist/commonjs/index.js
+var require_commonjs24 = __commonJS({
+  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
+    exports2.globStreamSync = globStreamSync;
+    exports2.globStream = globStream;
+    exports2.globSync = globSync;
+    exports2.globIterateSync = globIterateSync;
+    exports2.globIterate = globIterate;
+    var minimatch_1 = require_commonjs20();
+    var glob_js_1 = require_glob2();
+    var has_magic_js_1 = require_has_magic();
+    var minimatch_2 = require_commonjs20();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return minimatch_2.escape;
+    } });
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return minimatch_2.unescape;
+    } });
+    var glob_js_2 = require_glob2();
+    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
+      return glob_js_2.Glob;
+    } });
+    var has_magic_js_2 = require_has_magic();
+    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
+      return has_magic_js_2.hasMagic;
+    } });
+    var ignore_js_1 = require_ignore();
+    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
+      return ignore_js_1.Ignore;
+    } });
+    function globStreamSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).streamSync();
+    }
+    function globStream(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).stream();
+    }
+    function globSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walkSync();
+    }
+    async function glob_(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walk();
+    }
+    function globIterateSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterateSync();
+    }
+    function globIterate(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterate();
+    }
+    exports2.streamSync = globStreamSync;
+    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
+    exports2.iterateSync = globIterateSync;
+    exports2.iterate = Object.assign(globIterate, {
+      sync: globIterateSync
+    });
+    exports2.sync = Object.assign(globSync, {
+      stream: globStreamSync,
+      iterate: globIterateSync
+    });
+    exports2.glob = Object.assign(glob_, {
+      glob: glob_,
+      globSync,
+      sync: exports2.sync,
+      globStream,
+      stream: exports2.stream,
+      globStreamSync,
+      streamSync: exports2.streamSync,
+      globIterate,
+      iterate: exports2.iterate,
+      globIterateSync,
+      iterateSync: exports2.iterateSync,
+      Glob: glob_js_1.Glob,
+      hasMagic: has_magic_js_1.hasMagic,
+      escape: minimatch_1.escape,
+      unescape: minimatch_1.unescape
+    });
+    exports2.glob.glob = exports2.glob;
+  }
+});
+
+// node_modules/archiver-utils/file.js
+var require_file4 = __commonJS({
+  "node_modules/archiver-utils/file.js"(exports2, module2) {
+    var fs18 = require_graceful_fs();
+    var path16 = require("path");
+    var flatten = require_flatten();
+    var difference = require_difference();
+    var union = require_union();
+    var isPlainObject3 = require_isPlainObject();
+    var glob2 = require_commonjs24();
+    var file = module2.exports = {};
+    var pathSeparatorRe = /[\/\\]/g;
+    var processPatterns = function(patterns, fn) {
+      var result = [];
+      flatten(patterns).forEach(function(pattern) {
+        var exclusion = pattern.indexOf("!") === 0;
+        if (exclusion) {
+          pattern = pattern.slice(1);
+        }
+        var matches = fn(pattern);
+        if (exclusion) {
+          result = difference(result, matches);
+        } else {
+          result = union(result, matches);
+        }
+      });
+      return result;
+    };
+    file.exists = function() {
+      var filepath = path16.join.apply(path16, arguments);
+      return fs18.existsSync(filepath);
+    };
+    file.expand = function(...args) {
+      var options = isPlainObject3(args[0]) ? args.shift() : {};
+      var patterns = Array.isArray(args[0]) ? args[0] : args;
+      if (patterns.length === 0) {
+        return [];
       }
-      var mapLimit$1 = awaitify(mapLimit, 4);
-      function concatLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, ...args) => {
-            if (err) return iterCb(err);
-            return iterCb(err, args);
-          });
-        }, (err, mapResults) => {
-          var result = [];
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              result = result.concat(...mapResults[i]);
+      var matches = processPatterns(patterns, function(pattern) {
+        return glob2.sync(pattern, options);
+      });
+      if (options.filter) {
+        matches = matches.filter(function(filepath) {
+          filepath = path16.join(options.cwd || "", filepath);
+          try {
+            if (typeof options.filter === "function") {
+              return options.filter(filepath);
+            } else {
+              return fs18.statSync(filepath)[options.filter]();
             }
+          } catch (e) {
+            return false;
           }
-          return callback(err, result);
         });
       }
-      var concatLimit$1 = awaitify(concatLimit, 4);
-      function concat(coll, iteratee, callback) {
-        return concatLimit$1(coll, Infinity, iteratee, callback);
-      }
-      var concat$1 = awaitify(concat, 3);
-      function concatSeries(coll, iteratee, callback) {
-        return concatLimit$1(coll, 1, iteratee, callback);
-      }
-      var concatSeries$1 = awaitify(concatSeries, 3);
-      function constant$1(...args) {
-        return function(...ignoredArgs) {
-          var callback = ignoredArgs.pop();
-          return callback(null, ...args);
-        };
+      return matches;
+    };
+    file.expandMapping = function(patterns, destBase, options) {
+      options = Object.assign({
+        rename: function(destBase2, destPath) {
+          return path16.join(destBase2 || "", destPath);
+        }
+      }, options);
+      var files = [];
+      var fileByDest = {};
+      file.expand(options, patterns).forEach(function(src) {
+        var destPath = src;
+        if (options.flatten) {
+          destPath = path16.basename(destPath);
+        }
+        if (options.ext) {
+          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+        }
+        var dest = options.rename(destBase, destPath, options);
+        if (options.cwd) {
+          src = path16.join(options.cwd, src);
+        }
+        dest = dest.replace(pathSeparatorRe, "/");
+        src = src.replace(pathSeparatorRe, "/");
+        if (fileByDest[dest]) {
+          fileByDest[dest].src.push(src);
+        } else {
+          files.push({
+            src: [src],
+            dest
+          });
+          fileByDest[dest] = files[files.length - 1];
+        }
+      });
+      return files;
+    };
+    file.normalizeFilesArray = function(data) {
+      var files = [];
+      data.forEach(function(obj) {
+        var prop;
+        if ("src" in obj || "dest" in obj) {
+          files.push(obj);
+        }
+      });
+      if (files.length === 0) {
+        return [];
       }
-      function _createTester(check, getResult) {
-        return (eachfn, arr, _iteratee, cb) => {
-          var testPassed = false;
-          var testResult;
-          const iteratee = wrapAsync(_iteratee);
-          eachfn(arr, (value, _2, callback) => {
-            iteratee(value, (err, result) => {
-              if (err || err === false) return callback(err);
-              if (check(result) && !testResult) {
-                testPassed = true;
-                testResult = getResult(true, value);
-                return callback(null, breakLoop);
-              }
-              callback();
+      files = _(files).chain().forEach(function(obj) {
+        if (!("src" in obj) || !obj.src) {
+          return;
+        }
+        if (Array.isArray(obj.src)) {
+          obj.src = flatten(obj.src);
+        } else {
+          obj.src = [obj.src];
+        }
+      }).map(function(obj) {
+        var expandOptions = Object.assign({}, obj);
+        delete expandOptions.src;
+        delete expandOptions.dest;
+        if (obj.expand) {
+          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
+            var result2 = Object.assign({}, obj);
+            result2.orig = Object.assign({}, obj);
+            result2.src = mapObj.src;
+            result2.dest = mapObj.dest;
+            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
+              delete result2[prop];
             });
-          }, (err) => {
-            if (err) return cb(err);
-            cb(null, testPassed ? testResult : getResult(false));
+            return result2;
           });
-        };
-      }
-      function detect(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
-      }
-      var detect$1 = awaitify(detect, 3);
-      function detectLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
-      }
-      var detectLimit$1 = awaitify(detectLimit, 4);
-      function detectSeries(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
-      }
-      var detectSeries$1 = awaitify(detectSeries, 3);
-      function consoleFunc(name) {
-        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
-          if (typeof console === "object") {
-            if (err) {
-              if (console.error) {
-                console.error(err);
+        }
+        var result = Object.assign({}, obj);
+        result.orig = Object.assign({}, obj);
+        if ("src" in result) {
+          Object.defineProperty(result, "src", {
+            enumerable: true,
+            get: function fn() {
+              var src;
+              if (!("result" in fn)) {
+                src = obj.src;
+                src = Array.isArray(src) ? flatten(src) : [src];
+                fn.result = file.expand(expandOptions, src);
               }
-            } else if (console[name]) {
-              resultArgs.forEach((x) => console[name](x));
+              return fn.result;
             }
-          }
-        });
-      }
-      var dir = consoleFunc("dir");
-      function doWhilst(iteratee, test, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results;
-        function next(err, ...args) {
-          if (err) return callback(err);
-          if (err === false) return;
-          results = args;
-          _test(...args, check);
+          });
         }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
+        if ("dest" in result) {
+          result.dest = obj.dest;
         }
-        return check(null, true);
-      }
-      var doWhilst$1 = awaitify(doWhilst, 3);
-      function doUntil(iteratee, test, callback) {
-        const _test = wrapAsync(test);
-        return doWhilst$1(iteratee, (...args) => {
-          const cb = args.pop();
-          _test(...args, (err, truth) => cb(err, !truth));
-        }, callback);
-      }
-      function _withoutIndex(iteratee) {
-        return (value, index2, callback) => iteratee(value, callback);
-      }
-      function eachLimit$2(coll, iteratee, callback) {
-        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+        return result;
+      }).flatten().value();
+      return files;
+    };
+  }
+});
+
+// node_modules/archiver-utils/index.js
+var require_archiver_utils = __commonJS({
+  "node_modules/archiver-utils/index.js"(exports2, module2) {
+    var fs18 = require_graceful_fs();
+    var path16 = require("path");
+    var isStream = require_is_stream();
+    var lazystream = require_lazystream();
+    var normalizePath = require_normalize_path();
+    var defaults = require_defaults();
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var utils = module2.exports = {};
+    utils.file = require_file4();
+    utils.collectStream = function(source, callback) {
+      var collection = [];
+      var size = 0;
+      source.on("error", callback);
+      source.on("data", function(chunk) {
+        collection.push(chunk);
+        size += chunk.length;
+      });
+      source.on("end", function() {
+        var buf = Buffer.alloc(size);
+        var offset = 0;
+        collection.forEach(function(data) {
+          data.copy(buf, offset);
+          offset += data.length;
+        });
+        callback(null, buf);
+      });
+    };
+    utils.dateify = function(dateish) {
+      dateish = dateish || /* @__PURE__ */ new Date();
+      if (dateish instanceof Date) {
+        dateish = dateish;
+      } else if (typeof dateish === "string") {
+        dateish = new Date(dateish);
+      } else {
+        dateish = /* @__PURE__ */ new Date();
       }
-      var each = awaitify(eachLimit$2, 3);
-      function eachLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      return dateish;
+    };
+    utils.defaults = function(object, source, guard) {
+      var args = arguments;
+      args[0] = args[0] || {};
+      return defaults(...args);
+    };
+    utils.isStream = function(source) {
+      return isStream(source);
+    };
+    utils.lazyReadStream = function(filepath) {
+      return new lazystream.Readable(function() {
+        return fs18.createReadStream(filepath);
+      });
+    };
+    utils.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (utils.isStream(source)) {
+        return source.pipe(new PassThrough());
       }
-      var eachLimit$1 = awaitify(eachLimit, 4);
-      function eachSeries(coll, iteratee, callback) {
-        return eachLimit$1(coll, 1, iteratee, callback);
+      return source;
+    };
+    utils.sanitizePath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+    };
+    utils.trailingSlashIt = function(str2) {
+      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
+    };
+    utils.unixifyPath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "");
+    };
+    utils.walkdir = function(dirpath, base, callback) {
+      var results = [];
+      if (typeof base === "function") {
+        callback = base;
+        base = dirpath;
       }
-      var eachSeries$1 = awaitify(eachSeries, 3);
-      function ensureAsync(fn) {
-        if (isAsync(fn)) return fn;
-        return function(...args) {
-          var callback = args.pop();
-          var sync = true;
-          args.push((...innerArgs) => {
-            if (sync) {
-              setImmediate$1(() => callback(...innerArgs));
+      fs18.readdir(dirpath, function(err, list) {
+        var i = 0;
+        var file;
+        var filepath;
+        if (err) {
+          return callback(err);
+        }
+        (function next() {
+          file = list[i++];
+          if (!file) {
+            return callback(null, results);
+          }
+          filepath = path16.join(dirpath, file);
+          fs18.stat(filepath, function(err2, stats) {
+            results.push({
+              path: filepath,
+              relative: path16.relative(base, filepath).replace(/\\/g, "/"),
+              stats
+            });
+            if (stats && stats.isDirectory()) {
+              utils.walkdir(filepath, base, function(err3, res) {
+                if (err3) {
+                  return callback(err3);
+                }
+                res.forEach(function(dirEntry) {
+                  results.push(dirEntry);
+                });
+                next();
+              });
             } else {
-              callback(...innerArgs);
+              next();
             }
           });
-          fn.apply(this, args);
-          sync = false;
-        };
+        })();
+      });
+    };
+  }
+});
+
+// node_modules/archiver/lib/error.js
+var require_error3 = __commonJS({
+  "node_modules/archiver/lib/error.js"(exports2, module2) {
+    var util = require("util");
+    var ERROR_CODES = {
+      "ABORTED": "archive was aborted",
+      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
+      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
+      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
+      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
+      "FINALIZING": "archive already finalizing",
+      "QUEUECLOSED": "queue closed",
+      "NOENDMETHOD": "no suitable finalize/end method defined by module",
+      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
+      "FORMATSET": "archive format already set",
+      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
+      "MODULESET": "module already set",
+      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
+      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
+      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
+      "ENTRYNOTSUPPORTED": "entry not supported"
+    };
+    function ArchiverError(code, data) {
+      Error.captureStackTrace(this, this.constructor);
+      this.message = ERROR_CODES[code] || code;
+      this.code = code;
+      this.data = data;
+    }
+    util.inherits(ArchiverError, Error);
+    exports2 = module2.exports = ArchiverError;
+  }
+});
+
+// node_modules/archiver/lib/core.js
+var require_core2 = __commonJS({
+  "node_modules/archiver/lib/core.js"(exports2, module2) {
+    var fs18 = require("fs");
+    var glob2 = require_readdir_glob();
+    var async = require_async();
+    var path16 = require("path");
+    var util = require_archiver_utils();
+    var inherits = require("util").inherits;
+    var ArchiverError = require_error3();
+    var Transform = require_ours().Transform;
+    var win32 = process.platform === "win32";
+    var Archiver = function(format, options) {
+      if (!(this instanceof Archiver)) {
+        return new Archiver(format, options);
       }
-      function every(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
+      if (typeof format !== "string") {
+        options = format;
+        format = "zip";
       }
-      var every$1 = awaitify(every, 3);
-      function everyLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      options = this.options = util.defaults(options, {
+        highWaterMark: 1024 * 1024,
+        statConcurrency: 4
+      });
+      Transform.call(this, options);
+      this._format = false;
+      this._module = false;
+      this._pending = 0;
+      this._pointer = 0;
+      this._entriesCount = 0;
+      this._entriesProcessedCount = 0;
+      this._fsEntriesTotalBytes = 0;
+      this._fsEntriesProcessedBytes = 0;
+      this._queue = async.queue(this._onQueueTask.bind(this), 1);
+      this._queue.drain(this._onQueueDrain.bind(this));
+      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
+      this._statQueue.drain(this._onQueueDrain.bind(this));
+      this._state = {
+        aborted: false,
+        finalize: false,
+        finalizing: false,
+        finalized: false,
+        modulePiped: false
+      };
+      this._streams = [];
+    };
+    inherits(Archiver, Transform);
+    Archiver.prototype._abort = function() {
+      this._state.aborted = true;
+      this._queue.kill();
+      this._statQueue.kill();
+      if (this._queue.idle()) {
+        this._shutdown();
       }
-      var everyLimit$1 = awaitify(everyLimit, 4);
-      function everySeries(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
+    };
+    Archiver.prototype._append = function(filepath, data) {
+      data = data || {};
+      var task = {
+        source: null,
+        filepath
+      };
+      if (!data.name) {
+        data.name = filepath;
       }
-      var everySeries$1 = awaitify(everySeries, 3);
-      function filterArray(eachfn, arr, iteratee, callback) {
-        var truthValues = new Array(arr.length);
-        eachfn(arr, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            truthValues[index2] = !!v;
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          var results = [];
-          for (var i = 0; i < arr.length; i++) {
-            if (truthValues[i]) results.push(arr[i]);
+      data.sourcePath = filepath;
+      task.data = data;
+      this._entriesCount++;
+      if (data.stats && data.stats instanceof fs18.Stats) {
+        task = this._updateQueueTaskWithStats(task, data.stats);
+        if (task) {
+          if (data.stats.size) {
+            this._fsEntriesTotalBytes += data.stats.size;
           }
-          callback(null, results);
-        });
-      }
-      function filterGeneric(eachfn, coll, iteratee, callback) {
-        var results = [];
-        eachfn(coll, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            if (err) return iterCb(err);
-            if (v) {
-              results.push({ index: index2, value: x });
-            }
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
-        });
-      }
-      function _filter(eachfn, coll, iteratee, callback) {
-        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
-        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
-      }
-      function filter(coll, iteratee, callback) {
-        return _filter(eachOf$1, coll, iteratee, callback);
-      }
-      var filter$1 = awaitify(filter, 3);
-      function filterLimit(coll, limit, iteratee, callback) {
-        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
-      }
-      var filterLimit$1 = awaitify(filterLimit, 4);
-      function filterSeries(coll, iteratee, callback) {
-        return _filter(eachOfSeries$1, coll, iteratee, callback);
-      }
-      var filterSeries$1 = awaitify(filterSeries, 3);
-      function forever(fn, errback) {
-        var done = onlyOnce(errback);
-        var task = wrapAsync(ensureAsync(fn));
-        function next(err) {
-          if (err) return done(err);
-          if (err === false) return;
-          task(next);
+          this._queue.push(task);
         }
-        return next();
-      }
-      var forever$1 = awaitify(forever, 2);
-      function groupByLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, key) => {
-            if (err) return iterCb(err);
-            return iterCb(err, { key, val });
-          });
-        }, (err, mapResults) => {
-          var result = {};
-          var { hasOwnProperty } = Object.prototype;
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              var { key } = mapResults[i];
-              var { val } = mapResults[i];
-              if (hasOwnProperty.call(result, key)) {
-                result[key].push(val);
-              } else {
-                result[key] = [val];
-              }
-            }
-          }
-          return callback(err, result);
-        });
-      }
-      var groupByLimit$1 = awaitify(groupByLimit, 4);
-      function groupBy(coll, iteratee, callback) {
-        return groupByLimit$1(coll, Infinity, iteratee, callback);
+      } else {
+        this._statQueue.push(task);
       }
-      function groupBySeries(coll, iteratee, callback) {
-        return groupByLimit$1(coll, 1, iteratee, callback);
+    };
+    Archiver.prototype._finalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
       }
-      var log = consoleFunc("log");
-      function mapValuesLimit(obj, limit, iteratee, callback) {
-        callback = once(callback);
-        var newObj = {};
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfLimit$2(limit)(obj, (val, key, next) => {
-          _iteratee(val, key, (err, result) => {
-            if (err) return next(err);
-            newObj[key] = result;
-            next(err);
-          });
-        }, (err) => callback(err, newObj));
+      this._state.finalizing = true;
+      this._moduleFinalize();
+      this._state.finalizing = false;
+      this._state.finalized = true;
+    };
+    Archiver.prototype._maybeFinalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return false;
       }
-      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
-      function mapValues(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+        return true;
       }
-      function mapValuesSeries(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, 1, iteratee, callback);
+      return false;
+    };
+    Archiver.prototype._moduleAppend = function(source, data, callback) {
+      if (this._state.aborted) {
+        callback();
+        return;
       }
-      function memoize(fn, hasher = (v) => v) {
-        var memo = /* @__PURE__ */ Object.create(null);
-        var queues = /* @__PURE__ */ Object.create(null);
-        var _fn = wrapAsync(fn);
-        var memoized = initialParams((args, callback) => {
-          var key = hasher(...args);
-          if (key in memo) {
-            setImmediate$1(() => callback(null, ...memo[key]));
-          } else if (key in queues) {
-            queues[key].push(callback);
-          } else {
-            queues[key] = [callback];
-            _fn(...args, (err, ...resultArgs) => {
-              if (!err) {
-                memo[key] = resultArgs;
-              }
-              var q = queues[key];
-              delete queues[key];
-              for (var i = 0, l = q.length; i < l; i++) {
-                q[i](err, ...resultArgs);
-              }
-            });
+      this._module.append(source, data, function(err) {
+        this._task = null;
+        if (this._state.aborted) {
+          this._shutdown();
+          return;
+        }
+        if (err) {
+          this.emit("error", err);
+          setImmediate(callback);
+          return;
+        }
+        this.emit("entry", data);
+        this._entriesProcessedCount++;
+        if (data.stats && data.stats.size) {
+          this._fsEntriesProcessedBytes += data.stats.size;
+        }
+        this.emit("progress", {
+          entries: {
+            total: this._entriesCount,
+            processed: this._entriesProcessedCount
+          },
+          fs: {
+            totalBytes: this._fsEntriesTotalBytes,
+            processedBytes: this._fsEntriesProcessedBytes
           }
         });
-        memoized.memo = memo;
-        memoized.unmemoized = fn;
-        return memoized;
-      }
-      var _defer;
-      if (hasNextTick) {
-        _defer = process.nextTick;
-      } else if (hasSetImmediate) {
-        _defer = setImmediate;
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._moduleFinalize = function() {
+      if (typeof this._module.finalize === "function") {
+        this._module.finalize();
+      } else if (typeof this._module.end === "function") {
+        this._module.end();
       } else {
-        _defer = fallback;
-      }
-      var nextTick = wrap(_defer);
-      var _parallel = awaitify((eachfn, tasks, callback) => {
-        var results = isArrayLike(tasks) ? [] : {};
-        eachfn(tasks, (task, key, taskCb) => {
-          wrapAsync(task)((err, ...result) => {
-            if (result.length < 2) {
-              [result] = result;
-            }
-            results[key] = result;
-            taskCb(err);
-          });
-        }, (err) => callback(err, results));
-      }, 3);
-      function parallel(tasks, callback) {
-        return _parallel(eachOf$1, tasks, callback);
+        this.emit("error", new ArchiverError("NOENDMETHOD"));
       }
-      function parallelLimit(tasks, limit, callback) {
-        return _parallel(eachOfLimit$2(limit), tasks, callback);
+    };
+    Archiver.prototype._modulePipe = function() {
+      this._module.on("error", this._onModuleError.bind(this));
+      this._module.pipe(this);
+      this._state.modulePiped = true;
+    };
+    Archiver.prototype._moduleSupports = function(key) {
+      if (!this._module.supports || !this._module.supports[key]) {
+        return false;
       }
-      function queue(worker, concurrency) {
-        var _worker = wrapAsync(worker);
-        return queue$1((items, cb) => {
-          _worker(items[0], cb);
-        }, concurrency, 1);
+      return this._module.supports[key];
+    };
+    Archiver.prototype._moduleUnpipe = function() {
+      this._module.unpipe(this);
+      this._state.modulePiped = false;
+    };
+    Archiver.prototype._normalizeEntryData = function(data, stats) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        date: null,
+        mode: null,
+        prefix: null,
+        sourcePath: null,
+        stats: false
+      });
+      if (stats && data.stats === false) {
+        data.stats = stats;
       }
-      class Heap {
-        constructor() {
-          this.heap = [];
-          this.pushCount = Number.MIN_SAFE_INTEGER;
-        }
-        get length() {
-          return this.heap.length;
+      var isDir = data.type === "directory";
+      if (data.name) {
+        if (typeof data.prefix === "string" && "" !== data.prefix) {
+          data.name = data.prefix + "/" + data.name;
+          data.prefix = null;
         }
-        empty() {
-          this.heap = [];
-          return this;
+        data.name = util.sanitizePath(data.name);
+        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
         }
-        percUp(index2) {
-          let p;
-          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[p];
-            this.heap[p] = t;
-            index2 = p;
-          }
+      }
+      if (typeof data.mode === "number") {
+        if (win32) {
+          data.mode &= 511;
+        } else {
+          data.mode &= 4095;
         }
-        percDown(index2) {
-          let l;
-          while ((l = leftChi(index2)) < this.heap.length) {
-            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
-              l = l + 1;
-            }
-            if (smaller(this.heap[index2], this.heap[l])) {
-              break;
-            }
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[l];
-            this.heap[l] = t;
-            index2 = l;
-          }
+      } else if (data.stats && data.mode === null) {
+        if (win32) {
+          data.mode = data.stats.mode & 511;
+        } else {
+          data.mode = data.stats.mode & 4095;
         }
-        push(node) {
-          node.pushCount = ++this.pushCount;
-          this.heap.push(node);
-          this.percUp(this.heap.length - 1);
+        if (win32 && isDir) {
+          data.mode = 493;
         }
-        unshift(node) {
-          return this.heap.push(node);
+      } else if (data.mode === null) {
+        data.mode = isDir ? 493 : 420;
+      }
+      if (data.stats && data.date === null) {
+        data.date = data.stats.mtime;
+      } else {
+        data.date = util.dateify(data.date);
+      }
+      return data;
+    };
+    Archiver.prototype._onModuleError = function(err) {
+      this.emit("error", err);
+    };
+    Archiver.prototype._onQueueDrain = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
+      }
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+      }
+    };
+    Archiver.prototype._onQueueTask = function(task, callback) {
+      var fullCallback = () => {
+        if (task.data.callback) {
+          task.data.callback();
         }
-        shift() {
-          let [top] = this.heap;
-          this.heap[0] = this.heap[this.heap.length - 1];
-          this.heap.pop();
-          this.percDown(0);
-          return top;
+        callback();
+      };
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        fullCallback();
+        return;
+      }
+      this._task = task;
+      this._moduleAppend(task.source, task.data, fullCallback);
+    };
+    Archiver.prototype._onStatQueueTask = function(task, callback) {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        callback();
+        return;
+      }
+      fs18.lstat(task.filepath, function(err, stats) {
+        if (this._state.aborted) {
+          setImmediate(callback);
+          return;
         }
-        toArray() {
-          return [...this];
+        if (err) {
+          this._entriesCount--;
+          this.emit("warning", err);
+          setImmediate(callback);
+          return;
         }
-        *[Symbol.iterator]() {
-          for (let i = 0; i < this.heap.length; i++) {
-            yield this.heap[i].data;
+        task = this._updateQueueTaskWithStats(task, stats);
+        if (task) {
+          if (stats.size) {
+            this._fsEntriesTotalBytes += stats.size;
           }
+          this._queue.push(task);
         }
-        remove(testFn) {
-          let j = 0;
-          for (let i = 0; i < this.heap.length; i++) {
-            if (!testFn(this.heap[i])) {
-              this.heap[j] = this.heap[i];
-              j++;
-            }
-          }
-          this.heap.splice(j);
-          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
-            this.percDown(i);
-          }
-          return this;
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._shutdown = function() {
+      this._moduleUnpipe();
+      this.end();
+    };
+    Archiver.prototype._transform = function(chunk, encoding, callback) {
+      if (chunk) {
+        this._pointer += chunk.length;
+      }
+      callback(null, chunk);
+    };
+    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
+      if (stats.isFile()) {
+        task.data.type = "file";
+        task.data.sourceType = "stream";
+        task.source = util.lazyReadStream(task.filepath);
+      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
+        task.data.name = util.trailingSlashIt(task.data.name);
+        task.data.type = "directory";
+        task.data.sourcePath = util.trailingSlashIt(task.filepath);
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
+        var linkPath = fs18.readlinkSync(task.filepath);
+        var dirName = path16.dirname(task.filepath);
+        task.data.type = "symlink";
+        task.data.linkname = path16.relative(dirName, path16.resolve(dirName, linkPath));
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else {
+        if (stats.isDirectory()) {
+          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
+        } else if (stats.isSymbolicLink()) {
+          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
+        } else {
+          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
         }
+        return null;
       }
-      function leftChi(i) {
-        return (i << 1) + 1;
+      task.data = this._normalizeEntryData(task.data, stats);
+      return task;
+    };
+    Archiver.prototype.abort = function() {
+      if (this._state.aborted || this._state.finalized) {
+        return this;
       }
-      function parent(i) {
-        return (i + 1 >> 1) - 1;
+      this._abort();
+      return this;
+    };
+    Archiver.prototype.append = function(source, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      function smaller(x, y) {
-        if (x.priority !== y.priority) {
-          return x.priority < y.priority;
-        } else {
-          return x.pushCount < y.pushCount;
-        }
+      data = this._normalizeEntryData(data);
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
+        return this;
       }
-      function priorityQueue(worker, concurrency) {
-        var q = queue(worker, concurrency);
-        var {
-          push,
-          pushAsync
-        } = q;
-        q._tasks = new Heap();
-        q._createTaskItem = ({ data, priority }, callback) => {
-          return {
-            data,
-            priority,
-            callback
-          };
-        };
-        function createDataItems(tasks, priority) {
-          if (!Array.isArray(tasks)) {
-            return { data: tasks, priority };
-          }
-          return tasks.map((data) => {
-            return { data, priority };
-          });
-        }
-        q.push = function(data, priority = 0, callback) {
-          return push(createDataItems(data, priority), callback);
-        };
-        q.pushAsync = function(data, priority = 0, callback) {
-          return pushAsync(createDataItems(data, priority), callback);
-        };
-        delete q.unshift;
-        delete q.unshiftAsync;
-        return q;
+      if (data.type === "directory" && !this._moduleSupports("directory")) {
+        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
+        return this;
       }
-      function race(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
-        if (!tasks.length) return callback();
-        for (var i = 0, l = tasks.length; i < l; i++) {
-          wrapAsync(tasks[i])(callback);
-        }
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        data.sourceType = "buffer";
+      } else if (util.isStream(source)) {
+        data.sourceType = "stream";
+      } else {
+        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
+        return this;
+      }
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source
+      });
+      return this;
+    };
+    Archiver.prototype.directory = function(dirpath, destpath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
+      }
+      if (typeof dirpath !== "string" || dirpath.length === 0) {
+        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
+        return this;
+      }
+      this._pending++;
+      if (destpath === false) {
+        destpath = "";
+      } else if (typeof destpath !== "string") {
+        destpath = dirpath;
+      }
+      var dataFunction = false;
+      if (typeof data === "function") {
+        dataFunction = data;
+        data = {};
+      } else if (typeof data !== "object") {
+        data = {};
       }
-      var race$1 = awaitify(race, 2);
-      function reduceRight(array, memo, iteratee, callback) {
-        var reversed = [...array].reverse();
-        return reduce$1(reversed, memo, iteratee, callback);
+      var globOptions = {
+        stat: true,
+        dot: true
+      };
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-      function reflect(fn) {
-        var _fn = wrapAsync(fn);
-        return initialParams(function reflectOn(args, reflectCallback) {
-          args.push((error3, ...cbArgs) => {
-            let retVal = {};
-            if (error3) {
-              retVal.error = error3;
-            }
-            if (cbArgs.length > 0) {
-              var value = cbArgs;
-              if (cbArgs.length <= 1) {
-                [value] = cbArgs;
-              }
-              retVal.value = value;
-            }
-            reflectCallback(null, retVal);
-          });
-          return _fn.apply(this, args);
-        });
+      function onGlobError(err) {
+        this.emit("error", err);
       }
-      function reflectAll(tasks) {
-        var results;
-        if (Array.isArray(tasks)) {
-          results = tasks.map(reflect);
-        } else {
-          results = {};
-          Object.keys(tasks).forEach((key) => {
-            results[key] = reflect.call(this, tasks[key]);
-          });
+      function onGlobMatch(match) {
+        globber.pause();
+        var ignoreMatch = false;
+        var entryData = Object.assign({}, data);
+        entryData.name = match.relative;
+        entryData.prefix = destpath;
+        entryData.stats = match.stat;
+        entryData.callback = globber.resume.bind(globber);
+        try {
+          if (dataFunction) {
+            entryData = dataFunction(entryData);
+            if (entryData === false) {
+              ignoreMatch = true;
+            } else if (typeof entryData !== "object") {
+              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
+            }
+          }
+        } catch (e) {
+          this.emit("error", e);
+          return;
         }
-        return results;
+        if (ignoreMatch) {
+          globber.resume();
+          return;
+        }
+        this._append(match.absolute, entryData);
       }
-      function reject$2(eachfn, arr, _iteratee, callback) {
-        const iteratee = wrapAsync(_iteratee);
-        return _filter(eachfn, arr, (value, cb) => {
-          iteratee(value, (err, v) => {
-            cb(err, !v);
-          });
-        }, callback);
+      var globber = glob2(dirpath, globOptions);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.file = function(filepath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      function reject(coll, iteratee, callback) {
-        return reject$2(eachOf$1, coll, iteratee, callback);
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
+        return this;
       }
-      var reject$1 = awaitify(reject, 3);
-      function rejectLimit(coll, limit, iteratee, callback) {
-        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
+      this._append(filepath, data);
+      return this;
+    };
+    Archiver.prototype.glob = function(pattern, options, data) {
+      this._pending++;
+      options = util.defaults(options, {
+        stat: true,
+        pattern
+      });
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-      var rejectLimit$1 = awaitify(rejectLimit, 4);
-      function rejectSeries(coll, iteratee, callback) {
-        return reject$2(eachOfSeries$1, coll, iteratee, callback);
+      function onGlobError(err) {
+        this.emit("error", err);
       }
-      var rejectSeries$1 = awaitify(rejectSeries, 3);
-      function constant(value) {
-        return function() {
-          return value;
-        };
+      function onGlobMatch(match) {
+        globber.pause();
+        var entryData = Object.assign({}, data);
+        entryData.callback = globber.resume.bind(globber);
+        entryData.stats = match.stat;
+        entryData.name = match.relative;
+        this._append(match.absolute, entryData);
       }
-      const DEFAULT_TIMES = 5;
-      const DEFAULT_INTERVAL = 0;
-      function retry2(opts, task, callback) {
-        var options = {
-          times: DEFAULT_TIMES,
-          intervalFunc: constant(DEFAULT_INTERVAL)
-        };
-        if (arguments.length < 3 && typeof opts === "function") {
-          callback = task || promiseCallback();
-          task = opts;
-        } else {
-          parseTimes(options, opts);
-          callback = callback || promiseCallback();
-        }
-        if (typeof task !== "function") {
-          throw new Error("Invalid arguments for async.retry");
-        }
-        var _task = wrapAsync(task);
-        var attempt = 1;
-        function retryAttempt() {
-          _task((err, ...args) => {
-            if (err === false) return;
-            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
-              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
-            } else {
-              callback(err, ...args);
-            }
-          });
-        }
-        retryAttempt();
-        return callback[PROMISE_SYMBOL];
+      var globber = glob2(options.cwd || ".", options);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.finalize = function() {
+      if (this._state.aborted) {
+        var abortedError = new ArchiverError("ABORTED");
+        this.emit("error", abortedError);
+        return Promise.reject(abortedError);
       }
-      function parseTimes(acc, t) {
-        if (typeof t === "object") {
-          acc.times = +t.times || DEFAULT_TIMES;
-          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
-          acc.errorFilter = t.errorFilter;
-        } else if (typeof t === "number" || typeof t === "string") {
-          acc.times = +t || DEFAULT_TIMES;
-        } else {
-          throw new Error("Invalid arguments for async.retry");
-        }
+      if (this._state.finalize) {
+        var finalizingError = new ArchiverError("FINALIZING");
+        this.emit("error", finalizingError);
+        return Promise.reject(finalizingError);
       }
-      function retryable(opts, task) {
-        if (!task) {
-          task = opts;
-          opts = null;
-        }
-        let arity = opts && opts.arity || task.length;
-        if (isAsync(task)) {
-          arity += 1;
-        }
-        var _task = wrapAsync(task);
-        return initialParams((args, callback) => {
-          if (args.length < arity - 1 || callback == null) {
-            args.push(callback);
-            callback = promiseCallback();
-          }
-          function taskFn(cb) {
-            _task(...args, cb);
+      this._state.finalize = true;
+      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+      }
+      var self2 = this;
+      return new Promise(function(resolve8, reject) {
+        var errored;
+        self2._module.on("end", function() {
+          if (!errored) {
+            resolve8();
           }
-          if (opts) retry2(opts, taskFn, callback);
-          else retry2(taskFn, callback);
-          return callback[PROMISE_SYMBOL];
         });
+        self2._module.on("error", function(err) {
+          errored = true;
+          reject(err);
+        });
+      });
+    };
+    Archiver.prototype.setFormat = function(format) {
+      if (this._format) {
+        this.emit("error", new ArchiverError("FORMATSET"));
+        return this;
       }
-      function series(tasks, callback) {
-        return _parallel(eachOfSeries$1, tasks, callback);
+      this._format = format;
+      return this;
+    };
+    Archiver.prototype.setModule = function(module3) {
+      if (this._state.aborted) {
+        this.emit("error", new ArchiverError("ABORTED"));
+        return this;
       }
-      function some(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
+      if (this._state.module) {
+        this.emit("error", new ArchiverError("MODULESET"));
+        return this;
       }
-      var some$1 = awaitify(some, 3);
-      function someLimit(coll, limit, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      this._module = module3;
+      this._modulePipe();
+      return this;
+    };
+    Archiver.prototype.symlink = function(filepath, target, mode) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      var someLimit$1 = awaitify(someLimit, 4);
-      function someSeries(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
+        return this;
       }
-      var someSeries$1 = awaitify(someSeries, 3);
-      function sortBy(coll, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return map$1(coll, (x, iterCb) => {
-          _iteratee(x, (err, criteria) => {
-            if (err) return iterCb(err);
-            iterCb(err, { value: x, criteria });
-          });
-        }, (err, results) => {
-          if (err) return callback(err);
-          callback(null, results.sort(comparator).map((v) => v.value));
-        });
-        function comparator(left, right) {
-          var a = left.criteria, b = right.criteria;
-          return a < b ? -1 : a > b ? 1 : 0;
-        }
+      if (typeof target !== "string" || target.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
+        return this;
       }
-      var sortBy$1 = awaitify(sortBy, 3);
-      function timeout(asyncFn, milliseconds, info7) {
-        var fn = wrapAsync(asyncFn);
-        return initialParams((args, callback) => {
-          var timedOut = false;
-          var timer;
-          function timeoutCallback() {
-            var name = asyncFn.name || "anonymous";
-            var error3 = new Error('Callback function "' + name + '" timed out.');
-            error3.code = "ETIMEDOUT";
-            if (info7) {
-              error3.info = info7;
-            }
-            timedOut = true;
-            callback(error3);
-          }
-          args.push((...cbArgs) => {
-            if (!timedOut) {
-              callback(...cbArgs);
-              clearTimeout(timer);
-            }
-          });
-          timer = setTimeout(timeoutCallback, milliseconds);
-          fn(...args);
-        });
+      if (!this._moduleSupports("symlink")) {
+        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
+        return this;
       }
-      function range(size) {
-        var result = Array(size);
-        while (size--) {
-          result[size] = size;
-        }
-        return result;
+      var data = {};
+      data.type = "symlink";
+      data.name = filepath.replace(/\\/g, "/");
+      data.linkname = target.replace(/\\/g, "/");
+      data.sourceType = "buffer";
+      if (typeof mode === "number") {
+        data.mode = mode;
       }
-      function timesLimit(count, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(range(count), limit, _iteratee, callback);
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source: Buffer.concat([])
+      });
+      return this;
+    };
+    Archiver.prototype.pointer = function() {
+      return this._pointer;
+    };
+    Archiver.prototype.use = function(plugin) {
+      this._streams.push(plugin);
+      return this;
+    };
+    module2.exports = Archiver;
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/archive-entry.js
+var require_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
+    var ArchiveEntry = module2.exports = function() {
+    };
+    ArchiveEntry.prototype.getName = function() {
+    };
+    ArchiveEntry.prototype.getSize = function() {
+    };
+    ArchiveEntry.prototype.getLastModifiedDate = function() {
+    };
+    ArchiveEntry.prototype.isDirectory = function() {
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/util.js
+var require_util22 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
+    var util = module2.exports = {};
+    util.dateToDos = function(d, forceLocalTime) {
+      forceLocalTime = forceLocalTime || false;
+      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
+      if (year < 1980) {
+        return 2162688;
+      } else if (year >= 2044) {
+        return 2141175677;
       }
-      function times(n, iteratee, callback) {
-        return timesLimit(n, Infinity, iteratee, callback);
+      var val = {
+        year,
+        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
+        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
+        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
+        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
+        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
+      };
+      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
+    };
+    util.dosToDate = function(dos) {
+      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
+    };
+    util.fromDosTime = function(buf) {
+      return util.dosToDate(buf.readUInt32LE(0));
+    };
+    util.getEightBytes = function(v) {
+      var buf = Buffer.alloc(8);
+      buf.writeUInt32LE(v % 4294967296, 0);
+      buf.writeUInt32LE(v / 4294967296 | 0, 4);
+      return buf;
+    };
+    util.getShortBytes = function(v) {
+      var buf = Buffer.alloc(2);
+      buf.writeUInt16LE((v & 65535) >>> 0, 0);
+      return buf;
+    };
+    util.getShortBytesValue = function(buf, offset) {
+      return buf.readUInt16LE(offset);
+    };
+    util.getLongBytes = function(v) {
+      var buf = Buffer.alloc(4);
+      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
+      return buf;
+    };
+    util.getLongBytesValue = function(buf, offset) {
+      return buf.readUInt32LE(offset);
+    };
+    util.toDosTime = function(d) {
+      return util.getLongBytes(util.dateToDos(d));
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
+var require_general_purpose_bit = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
+    var zipUtil = require_util22();
+    var DATA_DESCRIPTOR_FLAG = 1 << 3;
+    var ENCRYPTION_FLAG = 1 << 0;
+    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
+    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
+    var STRONG_ENCRYPTION_FLAG = 1 << 6;
+    var UFT8_NAMES_FLAG = 1 << 11;
+    var GeneralPurposeBit = module2.exports = function() {
+      if (!(this instanceof GeneralPurposeBit)) {
+        return new GeneralPurposeBit();
       }
-      function timesSeries(n, iteratee, callback) {
-        return timesLimit(n, 1, iteratee, callback);
+      this.descriptor = false;
+      this.encryption = false;
+      this.utf8 = false;
+      this.numberOfShannonFanoTrees = 0;
+      this.strongEncryption = false;
+      this.slidingDictionarySize = 0;
+      return this;
+    };
+    GeneralPurposeBit.prototype.encode = function() {
+      return zipUtil.getShortBytes(
+        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
+      );
+    };
+    GeneralPurposeBit.prototype.parse = function(buf, offset) {
+      var flag = zipUtil.getShortBytesValue(buf, offset);
+      var gbp = new GeneralPurposeBit();
+      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
+      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
+      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
+      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
+      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
+      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
+      return gbp;
+    };
+    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
+      this.numberOfShannonFanoTrees = n;
+    };
+    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
+      return this.numberOfShannonFanoTrees;
+    };
+    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
+      this.slidingDictionarySize = n;
+    };
+    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
+      return this.slidingDictionarySize;
+    };
+    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
+      this.descriptor = b;
+    };
+    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
+      return this.descriptor;
+    };
+    GeneralPurposeBit.prototype.useEncryption = function(b) {
+      this.encryption = b;
+    };
+    GeneralPurposeBit.prototype.usesEncryption = function() {
+      return this.encryption;
+    };
+    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
+      this.strongEncryption = b;
+    };
+    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
+      return this.strongEncryption;
+    };
+    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
+      this.utf8 = b;
+    };
+    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
+      return this.utf8;
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
+var require_unix_stat = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
+    module2.exports = {
+      /**
+       * Bits used for permissions (and sticky bit)
+       */
+      PERM_MASK: 4095,
+      // 07777
+      /**
+       * Bits used to indicate the filesystem object type.
+       */
+      FILE_TYPE_FLAG: 61440,
+      // 0170000
+      /**
+       * Indicates symbolic links.
+       */
+      LINK_FLAG: 40960,
+      // 0120000
+      /**
+       * Indicates plain files.
+       */
+      FILE_FLAG: 32768,
+      // 0100000
+      /**
+       * Indicates directories.
+       */
+      DIR_FLAG: 16384,
+      // 040000
+      // ----------------------------------------------------------
+      // somewhat arbitrary choices that are quite common for shared
+      // installations
+      // -----------------------------------------------------------
+      /**
+       * Default permissions for symbolic links.
+       */
+      DEFAULT_LINK_PERM: 511,
+      // 0777
+      /**
+       * Default permissions for directories.
+       */
+      DEFAULT_DIR_PERM: 493,
+      // 0755
+      /**
+       * Default permissions for plain files.
+       */
+      DEFAULT_FILE_PERM: 420
+      // 0644
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/constants.js
+var require_constants18 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
+    module2.exports = {
+      WORD: 4,
+      DWORD: 8,
+      EMPTY: Buffer.alloc(0),
+      SHORT: 2,
+      SHORT_MASK: 65535,
+      SHORT_SHIFT: 16,
+      SHORT_ZERO: Buffer.from(Array(2)),
+      LONG: 4,
+      LONG_ZERO: Buffer.from(Array(4)),
+      MIN_VERSION_INITIAL: 10,
+      MIN_VERSION_DATA_DESCRIPTOR: 20,
+      MIN_VERSION_ZIP64: 45,
+      VERSION_MADEBY: 45,
+      METHOD_STORED: 0,
+      METHOD_DEFLATED: 8,
+      PLATFORM_UNIX: 3,
+      PLATFORM_FAT: 0,
+      SIG_LFH: 67324752,
+      SIG_DD: 134695760,
+      SIG_CFH: 33639248,
+      SIG_EOCD: 101010256,
+      SIG_ZIP64_EOCD: 101075792,
+      SIG_ZIP64_EOCD_LOC: 117853008,
+      ZIP64_MAGIC_SHORT: 65535,
+      ZIP64_MAGIC: 4294967295,
+      ZIP64_EXTRA_ID: 1,
+      ZLIB_NO_COMPRESSION: 0,
+      ZLIB_BEST_SPEED: 1,
+      ZLIB_BEST_COMPRESSION: 9,
+      ZLIB_DEFAULT_COMPRESSION: -1,
+      MODE_MASK: 4095,
+      DEFAULT_FILE_MODE: 33188,
+      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
+      DEFAULT_DIR_MODE: 16877,
+      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
+      EXT_FILE_ATTR_DIR: 1106051088,
+      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
+      EXT_FILE_ATTR_FILE: 2175008800,
+      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
+      // Unix file types
+      S_IFMT: 61440,
+      // 0170000 type of file mask
+      S_IFIFO: 4096,
+      // 010000 named pipe (fifo)
+      S_IFCHR: 8192,
+      // 020000 character special
+      S_IFDIR: 16384,
+      // 040000 directory
+      S_IFBLK: 24576,
+      // 060000 block special
+      S_IFREG: 32768,
+      // 0100000 regular
+      S_IFLNK: 40960,
+      // 0120000 symbolic link
+      S_IFSOCK: 49152,
+      // 0140000 socket
+      // DOS file type flags
+      S_DOS_A: 32,
+      // 040 Archive
+      S_DOS_D: 16,
+      // 020 Directory
+      S_DOS_V: 8,
+      // 010 Volume
+      S_DOS_S: 4,
+      // 04 System
+      S_DOS_H: 2,
+      // 02 Hidden
+      S_DOS_R: 1
+      // 01 Read Only
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
+var require_zip_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var normalizePath = require_normalize_path();
+    var ArchiveEntry = require_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var UnixStat = require_unix_stat();
+    var constants = require_constants18();
+    var zipUtil = require_util22();
+    var ZipArchiveEntry = module2.exports = function(name) {
+      if (!(this instanceof ZipArchiveEntry)) {
+        return new ZipArchiveEntry(name);
       }
-      function transform(coll, accumulator, iteratee, callback) {
-        if (arguments.length <= 3 && typeof accumulator === "function") {
-          callback = iteratee;
-          iteratee = accumulator;
-          accumulator = Array.isArray(coll) ? [] : {};
-        }
-        callback = once(callback || promiseCallback());
-        var _iteratee = wrapAsync(iteratee);
-        eachOf$1(coll, (v, k, cb) => {
-          _iteratee(accumulator, v, k, cb);
-        }, (err) => callback(err, accumulator));
-        return callback[PROMISE_SYMBOL];
+      ArchiveEntry.call(this);
+      this.platform = constants.PLATFORM_FAT;
+      this.method = -1;
+      this.name = null;
+      this.size = 0;
+      this.csize = 0;
+      this.gpb = new GeneralPurposeBit();
+      this.crc = 0;
+      this.time = -1;
+      this.minver = constants.MIN_VERSION_INITIAL;
+      this.mode = -1;
+      this.extra = null;
+      this.exattr = 0;
+      this.inattr = 0;
+      this.comment = null;
+      if (name) {
+        this.setName(name);
       }
-      function tryEach(tasks, callback) {
-        var error3 = null;
-        var result;
-        return eachSeries$1(tasks, (task, taskCb) => {
-          wrapAsync(task)((err, ...args) => {
-            if (err === false) return taskCb(err);
-            if (args.length < 2) {
-              [result] = args;
-            } else {
-              result = args;
-            }
-            error3 = err;
-            taskCb(err ? null : {});
-          });
-        }, () => callback(error3, result));
+    };
+    inherits(ZipArchiveEntry, ArchiveEntry);
+    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getComment = function() {
+      return this.comment !== null ? this.comment : "";
+    };
+    ZipArchiveEntry.prototype.getCompressedSize = function() {
+      return this.csize;
+    };
+    ZipArchiveEntry.prototype.getCrc = function() {
+      return this.crc;
+    };
+    ZipArchiveEntry.prototype.getExternalAttributes = function() {
+      return this.exattr;
+    };
+    ZipArchiveEntry.prototype.getExtra = function() {
+      return this.extra !== null ? this.extra : constants.EMPTY;
+    };
+    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
+      return this.gpb;
+    };
+    ZipArchiveEntry.prototype.getInternalAttributes = function() {
+      return this.inattr;
+    };
+    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
+      return this.getTime();
+    };
+    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getMethod = function() {
+      return this.method;
+    };
+    ZipArchiveEntry.prototype.getName = function() {
+      return this.name;
+    };
+    ZipArchiveEntry.prototype.getPlatform = function() {
+      return this.platform;
+    };
+    ZipArchiveEntry.prototype.getSize = function() {
+      return this.size;
+    };
+    ZipArchiveEntry.prototype.getTime = function() {
+      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
+    };
+    ZipArchiveEntry.prototype.getTimeDos = function() {
+      return this.time !== -1 ? this.time : 0;
+    };
+    ZipArchiveEntry.prototype.getUnixMode = function() {
+      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
+    };
+    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
+      return this.minver;
+    };
+    ZipArchiveEntry.prototype.setComment = function(comment) {
+      if (Buffer.byteLength(comment) !== comment.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
       }
-      var tryEach$1 = awaitify(tryEach);
-      function unmemoize(fn) {
-        return (...args) => {
-          return (fn.unmemoized || fn)(...args);
-        };
+      this.comment = comment;
+    };
+    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry compressed size");
       }
-      function whilst(test, iteratee, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results = [];
-        function next(err, ...rest) {
-          if (err) return callback(err);
-          results = rest;
-          if (err === false) return;
-          _test(check);
-        }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
-        }
-        return _test(check);
+      this.csize = size;
+    };
+    ZipArchiveEntry.prototype.setCrc = function(crc) {
+      if (crc < 0) {
+        throw new Error("invalid entry crc32");
       }
-      var whilst$1 = awaitify(whilst, 3);
-      function until(test, iteratee, callback) {
-        const _test = wrapAsync(test);
-        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
+      this.crc = crc;
+    };
+    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
+      this.exattr = attr >>> 0;
+    };
+    ZipArchiveEntry.prototype.setExtra = function(extra) {
+      this.extra = extra;
+    };
+    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
+      if (!(gpb instanceof GeneralPurposeBit)) {
+        throw new Error("invalid entry GeneralPurposeBit");
       }
-      function waterfall(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
-        if (!tasks.length) return callback();
-        var taskIndex = 0;
-        function nextTask(args) {
-          var task = wrapAsync(tasks[taskIndex++]);
-          task(...args, onlyOnce(next));
-        }
-        function next(err, ...args) {
-          if (err === false) return;
-          if (err || taskIndex === tasks.length) {
-            return callback(err, ...args);
-          }
-          nextTask(args);
-        }
-        nextTask([]);
+      this.gpb = gpb;
+    };
+    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
+      this.inattr = attr;
+    };
+    ZipArchiveEntry.prototype.setMethod = function(method) {
+      if (method < 0) {
+        throw new Error("invalid entry compression method");
       }
-      var waterfall$1 = awaitify(waterfall);
-      var index = {
-        apply,
-        applyEach,
-        applyEachSeries,
-        asyncify,
-        auto,
-        autoInject,
-        cargo: cargo$1,
-        cargoQueue: cargo,
-        compose,
-        concat: concat$1,
-        concatLimit: concatLimit$1,
-        concatSeries: concatSeries$1,
-        constant: constant$1,
-        detect: detect$1,
-        detectLimit: detectLimit$1,
-        detectSeries: detectSeries$1,
-        dir,
-        doUntil,
-        doWhilst: doWhilst$1,
-        each,
-        eachLimit: eachLimit$1,
-        eachOf: eachOf$1,
-        eachOfLimit: eachOfLimit$1,
-        eachOfSeries: eachOfSeries$1,
-        eachSeries: eachSeries$1,
-        ensureAsync,
-        every: every$1,
-        everyLimit: everyLimit$1,
-        everySeries: everySeries$1,
-        filter: filter$1,
-        filterLimit: filterLimit$1,
-        filterSeries: filterSeries$1,
-        forever: forever$1,
-        groupBy,
-        groupByLimit: groupByLimit$1,
-        groupBySeries,
-        log,
-        map: map$1,
-        mapLimit: mapLimit$1,
-        mapSeries: mapSeries$1,
-        mapValues,
-        mapValuesLimit: mapValuesLimit$1,
-        mapValuesSeries,
-        memoize,
-        nextTick,
-        parallel,
-        parallelLimit,
-        priorityQueue,
-        queue,
-        race: race$1,
-        reduce: reduce$1,
-        reduceRight,
-        reflect,
-        reflectAll,
-        reject: reject$1,
-        rejectLimit: rejectLimit$1,
-        rejectSeries: rejectSeries$1,
-        retry: retry2,
-        retryable,
-        seq: seq2,
-        series,
-        setImmediate: setImmediate$1,
-        some: some$1,
-        someLimit: someLimit$1,
-        someSeries: someSeries$1,
-        sortBy: sortBy$1,
-        timeout,
-        times,
-        timesLimit,
-        timesSeries,
-        transform,
-        tryEach: tryEach$1,
-        unmemoize,
-        until,
-        waterfall: waterfall$1,
-        whilst: whilst$1,
-        // aliases
-        all: every$1,
-        allLimit: everyLimit$1,
-        allSeries: everySeries$1,
-        any: some$1,
-        anyLimit: someLimit$1,
-        anySeries: someSeries$1,
-        find: detect$1,
-        findLimit: detectLimit$1,
-        findSeries: detectSeries$1,
-        flatMap: concat$1,
-        flatMapLimit: concatLimit$1,
-        flatMapSeries: concatSeries$1,
-        forEach: each,
-        forEachSeries: eachSeries$1,
-        forEachLimit: eachLimit$1,
-        forEachOf: eachOf$1,
-        forEachOfSeries: eachOfSeries$1,
-        forEachOfLimit: eachOfLimit$1,
-        inject: reduce$1,
-        foldl: reduce$1,
-        foldr: reduceRight,
-        select: filter$1,
-        selectLimit: filterLimit$1,
-        selectSeries: filterSeries$1,
-        wrapSync: asyncify,
-        during: whilst$1,
-        doDuring: doWhilst$1
-      };
-      exports3.all = every$1;
-      exports3.allLimit = everyLimit$1;
-      exports3.allSeries = everySeries$1;
-      exports3.any = some$1;
-      exports3.anyLimit = someLimit$1;
-      exports3.anySeries = someSeries$1;
-      exports3.apply = apply;
-      exports3.applyEach = applyEach;
-      exports3.applyEachSeries = applyEachSeries;
-      exports3.asyncify = asyncify;
-      exports3.auto = auto;
-      exports3.autoInject = autoInject;
-      exports3.cargo = cargo$1;
-      exports3.cargoQueue = cargo;
-      exports3.compose = compose;
-      exports3.concat = concat$1;
-      exports3.concatLimit = concatLimit$1;
-      exports3.concatSeries = concatSeries$1;
-      exports3.constant = constant$1;
-      exports3.default = index;
-      exports3.detect = detect$1;
-      exports3.detectLimit = detectLimit$1;
-      exports3.detectSeries = detectSeries$1;
-      exports3.dir = dir;
-      exports3.doDuring = doWhilst$1;
-      exports3.doUntil = doUntil;
-      exports3.doWhilst = doWhilst$1;
-      exports3.during = whilst$1;
-      exports3.each = each;
-      exports3.eachLimit = eachLimit$1;
-      exports3.eachOf = eachOf$1;
-      exports3.eachOfLimit = eachOfLimit$1;
-      exports3.eachOfSeries = eachOfSeries$1;
-      exports3.eachSeries = eachSeries$1;
-      exports3.ensureAsync = ensureAsync;
-      exports3.every = every$1;
-      exports3.everyLimit = everyLimit$1;
-      exports3.everySeries = everySeries$1;
-      exports3.filter = filter$1;
-      exports3.filterLimit = filterLimit$1;
-      exports3.filterSeries = filterSeries$1;
-      exports3.find = detect$1;
-      exports3.findLimit = detectLimit$1;
-      exports3.findSeries = detectSeries$1;
-      exports3.flatMap = concat$1;
-      exports3.flatMapLimit = concatLimit$1;
-      exports3.flatMapSeries = concatSeries$1;
-      exports3.foldl = reduce$1;
-      exports3.foldr = reduceRight;
-      exports3.forEach = each;
-      exports3.forEachLimit = eachLimit$1;
-      exports3.forEachOf = eachOf$1;
-      exports3.forEachOfLimit = eachOfLimit$1;
-      exports3.forEachOfSeries = eachOfSeries$1;
-      exports3.forEachSeries = eachSeries$1;
-      exports3.forever = forever$1;
-      exports3.groupBy = groupBy;
-      exports3.groupByLimit = groupByLimit$1;
-      exports3.groupBySeries = groupBySeries;
-      exports3.inject = reduce$1;
-      exports3.log = log;
-      exports3.map = map$1;
-      exports3.mapLimit = mapLimit$1;
-      exports3.mapSeries = mapSeries$1;
-      exports3.mapValues = mapValues;
-      exports3.mapValuesLimit = mapValuesLimit$1;
-      exports3.mapValuesSeries = mapValuesSeries;
-      exports3.memoize = memoize;
-      exports3.nextTick = nextTick;
-      exports3.parallel = parallel;
-      exports3.parallelLimit = parallelLimit;
-      exports3.priorityQueue = priorityQueue;
-      exports3.queue = queue;
-      exports3.race = race$1;
-      exports3.reduce = reduce$1;
-      exports3.reduceRight = reduceRight;
-      exports3.reflect = reflect;
-      exports3.reflectAll = reflectAll;
-      exports3.reject = reject$1;
-      exports3.rejectLimit = rejectLimit$1;
-      exports3.rejectSeries = rejectSeries$1;
-      exports3.retry = retry2;
-      exports3.retryable = retryable;
-      exports3.select = filter$1;
-      exports3.selectLimit = filterLimit$1;
-      exports3.selectSeries = filterSeries$1;
-      exports3.seq = seq2;
-      exports3.series = series;
-      exports3.setImmediate = setImmediate$1;
-      exports3.some = some$1;
-      exports3.someLimit = someLimit$1;
-      exports3.someSeries = someSeries$1;
-      exports3.sortBy = sortBy$1;
-      exports3.timeout = timeout;
-      exports3.times = times;
-      exports3.timesLimit = timesLimit;
-      exports3.timesSeries = timesSeries;
-      exports3.transform = transform;
-      exports3.tryEach = tryEach$1;
-      exports3.unmemoize = unmemoize;
-      exports3.until = until;
-      exports3.waterfall = waterfall$1;
-      exports3.whilst = whilst$1;
-      exports3.wrapSync = asyncify;
-      Object.defineProperty(exports3, "__esModule", { value: true });
-    }));
+      this.method = method;
+    };
+    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
+      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+      if (prependSlash) {
+        name = `/${name}`;
+      }
+      if (Buffer.byteLength(name) !== name.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      }
+      this.name = name;
+    };
+    ZipArchiveEntry.prototype.setPlatform = function(platform) {
+      this.platform = platform;
+    };
+    ZipArchiveEntry.prototype.setSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry size");
+      }
+      this.size = size;
+    };
+    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
+      if (!(time instanceof Date)) {
+        throw new Error("invalid entry time");
+      }
+      this.time = zipUtil.dateToDos(time, forceLocalTime);
+    };
+    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
+      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
+      var extattr = 0;
+      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
+      this.setExternalAttributes(extattr);
+      this.mode = mode & constants.MODE_MASK;
+      this.platform = constants.PLATFORM_UNIX;
+    };
+    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
+      this.minver = minver;
+    };
+    ZipArchiveEntry.prototype.isDirectory = function() {
+      return this.getName().slice(-1) === "/";
+    };
+    ZipArchiveEntry.prototype.isUnixSymlink = function() {
+      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
+    };
+    ZipArchiveEntry.prototype.isZip64 = function() {
+      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
+    };
   }
 });
 
-// node_modules/graceful-fs/polyfills.js
-var require_polyfills = __commonJS({
-  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
-    var constants = require("constants");
-    var origCwd = process.cwd;
-    var cwd = null;
-    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
-    process.cwd = function() {
-      if (!cwd)
-        cwd = origCwd.call(process);
-      return cwd;
+// node_modules/compress-commons/node_modules/is-stream/index.js
+var require_is_stream2 = __commonJS({
+  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+    "use strict";
+    var isStream = (stream2) => stream2 !== null && typeof stream2 === "object" && typeof stream2.pipe === "function";
+    isStream.writable = (stream2) => isStream(stream2) && stream2.writable !== false && typeof stream2._write === "function" && typeof stream2._writableState === "object";
+    isStream.readable = (stream2) => isStream(stream2) && stream2.readable !== false && typeof stream2._read === "function" && typeof stream2._readableState === "object";
+    isStream.duplex = (stream2) => isStream.writable(stream2) && isStream.readable(stream2);
+    isStream.transform = (stream2) => isStream.duplex(stream2) && typeof stream2._transform === "function";
+    module2.exports = isStream;
+  }
+});
+
+// node_modules/compress-commons/lib/util/index.js
+var require_util23 = __commonJS({
+  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var isStream = require_is_stream2();
+    var util = module2.exports = {};
+    util.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (isStream(source) && !source._readableState) {
+        var normalized = new PassThrough();
+        source.pipe(normalized);
+        return normalized;
+      }
+      return source;
     };
-    try {
-      process.cwd();
-    } catch (er) {
-    }
-    if (typeof process.chdir === "function") {
-      chdir = process.chdir;
-      process.chdir = function(d) {
-        cwd = null;
-        chdir.call(process, d);
+  }
+});
+
+// node_modules/compress-commons/lib/archivers/archive-output-stream.js
+var require_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var isStream = require_is_stream2();
+    var Transform = require_ours().Transform;
+    var ArchiveEntry = require_archive_entry();
+    var util = require_util23();
+    var ArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ArchiveOutputStream)) {
+        return new ArchiveOutputStream(options);
+      }
+      Transform.call(this, options);
+      this.offset = 0;
+      this._archive = {
+        finish: false,
+        finished: false,
+        processing: false
       };
-      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
-    }
-    var chdir;
-    module2.exports = patch;
-    function patch(fs18) {
-      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
-        patchLchmod(fs18);
+    };
+    inherits(ArchiveOutputStream, Transform);
+    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
+      if (err) {
+        this.emit("error", err);
       }
-      if (!fs18.lutimes) {
-        patchLutimes(fs18);
+    };
+    ArchiveOutputStream.prototype._finish = function(ae) {
+    };
+    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+    };
+    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
+      source = source || null;
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
       }
-      fs18.chown = chownFix(fs18.chown);
-      fs18.fchown = chownFix(fs18.fchown);
-      fs18.lchown = chownFix(fs18.lchown);
-      fs18.chmod = chmodFix(fs18.chmod);
-      fs18.fchmod = chmodFix(fs18.fchmod);
-      fs18.lchmod = chmodFix(fs18.lchmod);
-      fs18.chownSync = chownFixSync(fs18.chownSync);
-      fs18.fchownSync = chownFixSync(fs18.fchownSync);
-      fs18.lchownSync = chownFixSync(fs18.lchownSync);
-      fs18.chmodSync = chmodFixSync(fs18.chmodSync);
-      fs18.fchmodSync = chmodFixSync(fs18.fchmodSync);
-      fs18.lchmodSync = chmodFixSync(fs18.lchmodSync);
-      fs18.stat = statFix(fs18.stat);
-      fs18.fstat = statFix(fs18.fstat);
-      fs18.lstat = statFix(fs18.lstat);
-      fs18.statSync = statFixSync(fs18.statSync);
-      fs18.fstatSync = statFixSync(fs18.fstatSync);
-      fs18.lstatSync = statFixSync(fs18.lstatSync);
-      if (fs18.chmod && !fs18.lchmod) {
-        fs18.lchmod = function(path16, mode, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs18.lchmodSync = function() {
-        };
+      if (!(ae instanceof ArchiveEntry)) {
+        callback(new Error("not a valid instance of ArchiveEntry"));
+        return;
       }
-      if (fs18.chown && !fs18.lchown) {
-        fs18.lchown = function(path16, uid, gid, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs18.lchownSync = function() {
-        };
+      if (this._archive.finish || this._archive.finished) {
+        callback(new Error("unacceptable entry after finish"));
+        return;
       }
-      if (platform === "win32") {
-        fs18.rename = typeof fs18.rename !== "function" ? fs18.rename : (function(fs$rename) {
-          function rename(from, to, cb) {
-            var start = Date.now();
-            var backoff = 0;
-            fs$rename(from, to, function CB(er) {
-              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
-                setTimeout(function() {
-                  fs18.stat(to, function(stater, st) {
-                    if (stater && stater.code === "ENOENT")
-                      fs$rename(from, to, CB);
-                    else
-                      cb(er);
-                  });
-                }, backoff);
-                if (backoff < 100)
-                  backoff += 10;
-                return;
-              }
-              if (cb) cb(er);
-            });
-          }
-          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
-          return rename;
-        })(fs18.rename);
+      if (this._archive.processing) {
+        callback(new Error("already processing an entry"));
+        return;
       }
-      fs18.read = typeof fs18.read !== "function" ? fs18.read : (function(fs$read) {
-        function read(fd, buffer, offset, length, position, callback_) {
-          var callback;
-          if (callback_ && typeof callback_ === "function") {
-            var eagCounter = 0;
-            callback = function(er, _2, __) {
-              if (er && er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                return fs$read.call(fs18, fd, buffer, offset, length, position, callback);
-              }
-              callback_.apply(this, arguments);
-            };
-          }
-          return fs$read.call(fs18, fd, buffer, offset, length, position, callback);
-        }
-        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
-        return read;
-      })(fs18.read);
-      fs18.readSync = typeof fs18.readSync !== "function" ? fs18.readSync : /* @__PURE__ */ (function(fs$readSync) {
-        return function(fd, buffer, offset, length, position) {
-          var eagCounter = 0;
-          while (true) {
-            try {
-              return fs$readSync.call(fs18, fd, buffer, offset, length, position);
-            } catch (er) {
-              if (er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                continue;
-              }
-              throw er;
-            }
-          }
-        };
-      })(fs18.readSync);
-      function patchLchmod(fs19) {
-        fs19.lchmod = function(path16, mode, callback) {
-          fs19.open(
-            path16,
-            constants.O_WRONLY | constants.O_SYMLINK,
-            mode,
-            function(err, fd) {
-              if (err) {
-                if (callback) callback(err);
-                return;
-              }
-              fs19.fchmod(fd, mode, function(err2) {
-                fs19.close(fd, function(err22) {
-                  if (callback) callback(err2 || err22);
-                });
-              });
-            }
-          );
-        };
-        fs19.lchmodSync = function(path16, mode) {
-          var fd = fs19.openSync(path16, constants.O_WRONLY | constants.O_SYMLINK, mode);
-          var threw = true;
-          var ret;
-          try {
-            ret = fs19.fchmodSync(fd, mode);
-            threw = false;
-          } finally {
-            if (threw) {
-              try {
-                fs19.closeSync(fd);
-              } catch (er) {
-              }
-            } else {
-              fs19.closeSync(fd);
-            }
-          }
-          return ret;
-        };
+      this._archive.processing = true;
+      this._normalizeEntry(ae);
+      this._entry = ae;
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        this._appendBuffer(ae, source, callback);
+      } else if (isStream(source)) {
+        this._appendStream(ae, source, callback);
+      } else {
+        this._archive.processing = false;
+        callback(new Error("input source must be valid Stream or Buffer instance"));
+        return;
       }
-      function patchLutimes(fs19) {
-        if (constants.hasOwnProperty("O_SYMLINK") && fs19.futimes) {
-          fs19.lutimes = function(path16, at, mt, cb) {
-            fs19.open(path16, constants.O_SYMLINK, function(er, fd) {
-              if (er) {
-                if (cb) cb(er);
-                return;
-              }
-              fs19.futimes(fd, at, mt, function(er2) {
-                fs19.close(fd, function(er22) {
-                  if (cb) cb(er2 || er22);
-                });
-              });
-            });
-          };
-          fs19.lutimesSync = function(path16, at, mt) {
-            var fd = fs19.openSync(path16, constants.O_SYMLINK);
-            var ret;
-            var threw = true;
-            try {
-              ret = fs19.futimesSync(fd, at, mt);
-              threw = false;
-            } finally {
-              if (threw) {
-                try {
-                  fs19.closeSync(fd);
-                } catch (er) {
-                }
-              } else {
-                fs19.closeSync(fd);
-              }
-            }
-            return ret;
-          };
-        } else if (fs19.futimes) {
-          fs19.lutimes = function(_a, _b, _c, cb) {
-            if (cb) process.nextTick(cb);
-          };
-          fs19.lutimesSync = function() {
-          };
-        }
+      return this;
+    };
+    ArchiveOutputStream.prototype.finish = function() {
+      if (this._archive.processing) {
+        this._archive.finish = true;
+        return;
       }
-      function chmodFix(orig) {
-        if (!orig) return orig;
-        return function(target, mode, cb) {
-          return orig.call(fs18, target, mode, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
+      this._finish();
+    };
+    ArchiveOutputStream.prototype.getBytesWritten = function() {
+      return this.offset;
+    };
+    ArchiveOutputStream.prototype.write = function(chunk, cb) {
+      if (chunk) {
+        this.offset += chunk.length;
+      }
+      return Transform.prototype.write.call(this, chunk, cb);
+    };
+  }
+});
+
+// node_modules/crc-32/crc32.js
+var require_crc32 = __commonJS({
+  "node_modules/crc-32/crc32.js"(exports2) {
+    var CRC32;
+    (function(factory) {
+      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
+        if ("object" === typeof exports2) {
+          factory(exports2);
+        } else if ("function" === typeof define && define.amd) {
+          define(function() {
+            var module3 = {};
+            factory(module3);
+            return module3;
           });
-        };
+        } else {
+          factory(CRC32 = {});
+        }
+      } else {
+        factory(CRC32 = {});
       }
-      function chmodFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, mode) {
-          try {
-            return orig.call(fs18, target, mode);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
-          }
-        };
+    })(function(CRC322) {
+      CRC322.version = "1.2.2";
+      function signed_crc_table() {
+        var c = 0, table = new Array(256);
+        for (var n = 0; n != 256; ++n) {
+          c = n;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          table[n] = c;
+        }
+        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
       }
-      function chownFix(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid, cb) {
-          return orig.call(fs18, target, uid, gid, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
-          });
-        };
+      var T0 = signed_crc_table();
+      function slice_by_16_tables(T) {
+        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
+        for (n = 0; n != 256; ++n) table[n] = T[n];
+        for (n = 0; n != 256; ++n) {
+          v = T[n];
+          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
+        }
+        var out = [];
+        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
+        return out;
       }
-      function chownFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid) {
-          try {
-            return orig.call(fs18, target, uid, gid);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
-          }
-        };
+      var TT = slice_by_16_tables(T0);
+      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
+      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
+      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
+      function crc32_bstr(bstr, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
+        return ~C;
       }
-      function statFix(orig) {
-        if (!orig) return orig;
-        return function(target, options, cb) {
-          if (typeof options === "function") {
-            cb = options;
-            options = null;
-          }
-          function callback(er, stats) {
-            if (stats) {
-              if (stats.uid < 0) stats.uid += 4294967296;
-              if (stats.gid < 0) stats.gid += 4294967296;
-            }
-            if (cb) cb.apply(this, arguments);
-          }
-          return options ? orig.call(fs18, target, options, callback) : orig.call(fs18, target, callback);
-        };
+      function crc32_buf(B, seed) {
+        var C = seed ^ -1, L = B.length - 15, i = 0;
+        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
+        L += 15;
+        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
+        return ~C;
       }
-      function statFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, options) {
-          var stats = options ? orig.call(fs18, target, options) : orig.call(fs18, target);
-          if (stats) {
-            if (stats.uid < 0) stats.uid += 4294967296;
-            if (stats.gid < 0) stats.gid += 4294967296;
+      function crc32_str(str2, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
+          c = str2.charCodeAt(i++);
+          if (c < 128) {
+            C = C >>> 8 ^ T0[(C ^ c) & 255];
+          } else if (c < 2048) {
+            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
+          } else if (c >= 55296 && c < 57344) {
+            c = (c & 1023) + 64;
+            d = str2.charCodeAt(i++) & 1023;
+            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
+          } else {
+            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
           }
-          return stats;
-        };
-      }
-      function chownErOk(er) {
-        if (!er)
-          return true;
-        if (er.code === "ENOSYS")
-          return true;
-        var nonroot = !process.getuid || process.getuid() !== 0;
-        if (nonroot) {
-          if (er.code === "EINVAL" || er.code === "EPERM")
-            return true;
         }
-        return false;
+        return ~C;
       }
-    }
+      CRC322.table = T0;
+      CRC322.bstr = crc32_bstr;
+      CRC322.buf = crc32_buf;
+      CRC322.str = crc32_str;
+    });
   }
 });
 
-// node_modules/graceful-fs/legacy-streams.js
-var require_legacy_streams = __commonJS({
-  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    module2.exports = legacy;
-    function legacy(fs18) {
-      return {
-        ReadStream,
-        WriteStream
-      };
-      function ReadStream(path16, options) {
-        if (!(this instanceof ReadStream)) return new ReadStream(path16, options);
-        Stream.call(this);
-        var self2 = this;
-        this.path = path16;
-        this.fd = null;
-        this.readable = true;
-        this.paused = false;
-        this.flags = "r";
-        this.mode = 438;
-        this.bufferSize = 64 * 1024;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
-        }
-        if (this.encoding) this.setEncoding(this.encoding);
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.end === void 0) {
-            this.end = Infinity;
-          } else if ("number" !== typeof this.end) {
-            throw TypeError("end must be a Number");
-          }
-          if (this.start > this.end) {
-            throw new Error("start must be <= end");
-          }
-          this.pos = this.start;
-        }
-        if (this.fd !== null) {
-          process.nextTick(function() {
-            self2._read();
-          });
-          return;
+// node_modules/crc32-stream/lib/crc32-stream.js
+var require_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require_ours();
+    var crc32 = require_crc32();
+    var CRC32Stream = class extends Transform {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
+      }
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
         }
-        fs18.open(this.path, this.flags, this.mode, function(err, fd) {
-          if (err) {
-            self2.emit("error", err);
-            self2.readable = false;
-            return;
-          }
-          self2.fd = fd;
-          self2.emit("open", fd);
-          self2._read();
-        });
+        callback(null, chunk);
       }
-      function WriteStream(path16, options) {
-        if (!(this instanceof WriteStream)) return new WriteStream(path16, options);
-        Stream.call(this);
-        this.path = path16;
-        this.fd = null;
-        this.writable = true;
-        this.flags = "w";
-        this.encoding = "binary";
-        this.mode = 438;
-        this.bytesWritten = 0;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
+      }
+      hex() {
+        return this.digest("hex").toUpperCase();
+      }
+      size() {
+        return this.rawSize;
+      }
+    };
+    module2.exports = CRC32Stream;
+  }
+});
+
+// node_modules/crc32-stream/lib/deflate-crc32-stream.js
+var require_deflate_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
+    "use strict";
+    var { DeflateRaw } = require("zlib");
+    var crc32 = require_crc32();
+    var DeflateCRC32Stream = class extends DeflateRaw {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
+        this.compressedSize = 0;
+      }
+      push(chunk, encoding) {
+        if (chunk) {
+          this.compressedSize += chunk.length;
         }
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.start < 0) {
-            throw new Error("start must be >= zero");
-          }
-          this.pos = this.start;
+        return super.push(chunk, encoding);
+      }
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
         }
-        this.busy = false;
-        this._queue = [];
-        if (this.fd === null) {
-          this._open = fs18.open;
-          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
-          this.flush();
+        super._transform(chunk, encoding, callback);
+      }
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
+      }
+      hex() {
+        return this.digest("hex").toUpperCase();
+      }
+      size(compressed = false) {
+        if (compressed) {
+          return this.compressedSize;
+        } else {
+          return this.rawSize;
         }
       }
-    }
+    };
+    module2.exports = DeflateCRC32Stream;
   }
 });
 
-// node_modules/graceful-fs/clone.js
-var require_clone = __commonJS({
-  "node_modules/graceful-fs/clone.js"(exports2, module2) {
+// node_modules/crc32-stream/lib/index.js
+var require_lib3 = __commonJS({
+  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
     "use strict";
-    module2.exports = clone;
-    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
-      return obj.__proto__;
+    module2.exports = {
+      CRC32Stream: require_crc32_stream(),
+      DeflateCRC32Stream: require_deflate_crc32_stream()
     };
-    function clone(obj) {
-      if (obj === null || typeof obj !== "object")
-        return obj;
-      if (obj instanceof Object)
-        var copy = { __proto__: getPrototypeOf(obj) };
-      else
-        var copy = /* @__PURE__ */ Object.create(null);
-      Object.getOwnPropertyNames(obj).forEach(function(key) {
-        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
-      });
-      return copy;
-    }
   }
 });
 
-// node_modules/graceful-fs/graceful-fs.js
-var require_graceful_fs = __commonJS({
-  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
-    var fs18 = require("fs");
-    var polyfills = require_polyfills();
-    var legacy = require_legacy_streams();
-    var clone = require_clone();
-    var util = require("util");
-    var gracefulQueue;
-    var previousSymbol;
-    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
-      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
-      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
-    } else {
-      gracefulQueue = "___graceful-fs.queue";
-      previousSymbol = "___graceful-fs.previous";
-    }
-    function noop3() {
-    }
-    function publishQueue(context3, queue2) {
-      Object.defineProperty(context3, gracefulQueue, {
-        get: function() {
-          return queue2;
-        }
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
+var require_zip_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var crc32 = require_crc32();
+    var { CRC32Stream } = require_lib3();
+    var { DeflateCRC32Stream } = require_lib3();
+    var ArchiveOutputStream = require_archive_output_stream();
+    var ZipArchiveEntry = require_zip_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var constants = require_constants18();
+    var util = require_util23();
+    var zipUtil = require_util22();
+    var ZipArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ZipArchiveOutputStream)) {
+        return new ZipArchiveOutputStream(options);
+      }
+      options = this.options = this._defaults(options);
+      ArchiveOutputStream.call(this, options);
+      this._entry = null;
+      this._entries = [];
+      this._archive = {
+        centralLength: 0,
+        centralOffset: 0,
+        comment: "",
+        finish: false,
+        finished: false,
+        processing: false,
+        forceZip64: options.forceZip64,
+        forceLocalTime: options.forceLocalTime
+      };
+    };
+    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
+    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
+      this._entries.push(ae);
+      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
+        this._writeDataDescriptor(ae);
+      }
+      this._archive.processing = false;
+      this._entry = null;
+      if (this._archive.finish && !this._archive.finished) {
+        this._finish();
+      }
+    };
+    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
+      if (source.length === 0) {
+        ae.setMethod(constants.METHOD_STORED);
+      }
+      var method = ae.getMethod();
+      if (method === constants.METHOD_STORED) {
+        ae.setSize(source.length);
+        ae.setCompressedSize(source.length);
+        ae.setCrc(crc32.buf(source) >>> 0);
+      }
+      this._writeLocalFileHeader(ae);
+      if (method === constants.METHOD_STORED) {
+        this.write(source);
+        this._afterAppend(ae);
+        callback(null, ae);
+        return;
+      } else if (method === constants.METHOD_DEFLATED) {
+        this._smartStream(ae, callback).end(source);
+        return;
+      } else {
+        callback(new Error("compression method " + method + " not implemented"));
+        return;
+      }
+    };
+    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
+      ae.getGeneralPurposeBit().useDataDescriptor(true);
+      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      this._writeLocalFileHeader(ae);
+      var smart = this._smartStream(ae, callback);
+      source.once("error", function(err) {
+        smart.emit("error", err);
+        smart.end();
       });
-    }
-    var debug5 = noop3;
-    if (util.debuglog)
-      debug5 = util.debuglog("gfs4");
-    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
-      debug5 = function() {
-        var m = util.format.apply(util, arguments);
-        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
-        console.error(m);
+      source.pipe(smart);
+    };
+    ZipArchiveOutputStream.prototype._defaults = function(o) {
+      if (typeof o !== "object") {
+        o = {};
+      }
+      if (typeof o.zlib !== "object") {
+        o.zlib = {};
+      }
+      if (typeof o.zlib.level !== "number") {
+        o.zlib.level = constants.ZLIB_BEST_SPEED;
+      }
+      o.forceZip64 = !!o.forceZip64;
+      o.forceLocalTime = !!o.forceLocalTime;
+      return o;
+    };
+    ZipArchiveOutputStream.prototype._finish = function() {
+      this._archive.centralOffset = this.offset;
+      this._entries.forEach(function(ae) {
+        this._writeCentralFileHeader(ae);
+      }.bind(this));
+      this._archive.centralLength = this.offset - this._archive.centralOffset;
+      if (this.isZip64()) {
+        this._writeCentralDirectoryZip64();
+      }
+      this._writeCentralDirectoryEnd();
+      this._archive.processing = false;
+      this._archive.finish = true;
+      this._archive.finished = true;
+      this.end();
+    };
+    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+      if (ae.getMethod() === -1) {
+        ae.setMethod(constants.METHOD_DEFLATED);
+      }
+      if (ae.getMethod() === constants.METHOD_DEFLATED) {
+        ae.getGeneralPurposeBit().useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      }
+      if (ae.getTime() === -1) {
+        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+      }
+      ae._offsets = {
+        file: 0,
+        data: 0,
+        contents: 0
       };
-    if (!fs18[gracefulQueue]) {
-      queue = global[gracefulQueue] || [];
-      publishQueue(fs18, queue);
-      fs18.close = (function(fs$close) {
-        function close(fd, cb) {
-          return fs$close.call(fs18, fd, function(err) {
-            if (!err) {
-              resetQueue();
-            }
-            if (typeof cb === "function")
-              cb.apply(this, arguments);
-          });
-        }
-        Object.defineProperty(close, previousSymbol, {
-          value: fs$close
-        });
-        return close;
-      })(fs18.close);
-      fs18.closeSync = (function(fs$closeSync) {
-        function closeSync(fd) {
-          fs$closeSync.apply(fs18, arguments);
-          resetQueue();
-        }
-        Object.defineProperty(closeSync, previousSymbol, {
-          value: fs$closeSync
-        });
-        return closeSync;
-      })(fs18.closeSync);
-      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
-        process.on("exit", function() {
-          debug5(fs18[gracefulQueue]);
-          require("assert").equal(fs18[gracefulQueue].length, 0);
-        });
+    };
+    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
+      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
+      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
+      var error3 = null;
+      function handleStuff() {
+        var digest = process2.digest().readUInt32BE(0);
+        ae.setCrc(digest);
+        ae.setSize(process2.size());
+        ae.setCompressedSize(process2.size(true));
+        this._afterAppend(ae);
+        callback(error3, ae);
       }
-    }
-    var queue;
-    if (!global[gracefulQueue]) {
-      publishQueue(global, fs18[gracefulQueue]);
-    }
-    module2.exports = patch(clone(fs18));
-    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs18.__patched) {
-      module2.exports = patch(fs18);
-      fs18.__patched = true;
-    }
-    function patch(fs19) {
-      polyfills(fs19);
-      fs19.gracefulify = patch;
-      fs19.createReadStream = createReadStream2;
-      fs19.createWriteStream = createWriteStream3;
-      var fs$readFile = fs19.readFile;
-      fs19.readFile = readFile;
-      function readFile(path16, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$readFile(path16, options, cb);
-        function go$readFile(path17, options2, cb2, startTime) {
-          return fs$readFile(path17, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$readFile, [path17, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      process2.once("end", handleStuff.bind(this));
+      process2.once("error", function(err) {
+        error3 = err;
+      });
+      process2.pipe(this, { end: false });
+      return process2;
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
+      var records = this._entries.length;
+      var size = this._archive.centralLength;
+      var offset = this._archive.centralOffset;
+      if (this.isZip64()) {
+        records = constants.ZIP64_MAGIC_SHORT;
+        size = constants.ZIP64_MAGIC;
+        offset = constants.ZIP64_MAGIC;
       }
-      var fs$writeFile = fs19.writeFile;
-      fs19.writeFile = writeFile;
-      function writeFile(path16, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$writeFile(path16, data, options, cb);
-        function go$writeFile(path17, data2, options2, cb2, startTime) {
-          return fs$writeFile(path17, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$writeFile, [path17, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
+      this.write(constants.SHORT_ZERO);
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getLongBytes(size));
+      this.write(zipUtil.getLongBytes(offset));
+      var comment = this.getComment();
+      var commentLength = Buffer.byteLength(comment);
+      this.write(zipUtil.getShortBytes(commentLength));
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
+      this.write(zipUtil.getEightBytes(44));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(constants.LONG_ZERO);
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._archive.centralLength));
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
+      this.write(zipUtil.getLongBytes(1));
+    };
+    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var fileOffset = ae._offsets.file;
+      var size = ae.getSize();
+      var compressedSize = ae.getCompressedSize();
+      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
+        size = constants.ZIP64_MAGIC;
+        compressedSize = constants.ZIP64_MAGIC;
+        fileOffset = constants.ZIP64_MAGIC;
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+        var extraBuf = Buffer.concat([
+          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
+          zipUtil.getShortBytes(24),
+          zipUtil.getEightBytes(ae.getSize()),
+          zipUtil.getEightBytes(ae.getCompressedSize()),
+          zipUtil.getEightBytes(ae._offsets.file)
+        ], 28);
+        ae.setExtra(extraBuf);
+      }
+      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
+      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      this.write(zipUtil.getLongBytes(compressedSize));
+      this.write(zipUtil.getLongBytes(size));
+      var name = ae.getName();
+      var comment = ae.getComment();
+      var extra = ae.getCentralDirectoryExtra();
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+        comment = Buffer.from(comment);
+      }
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(zipUtil.getShortBytes(comment.length));
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
+      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
+      this.write(zipUtil.getLongBytes(fileOffset));
+      this.write(name);
+      this.write(extra);
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
+      this.write(zipUtil.getLongBytes(constants.SIG_DD));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      if (ae.isZip64()) {
+        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getEightBytes(ae.getSize()));
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
       }
-      var fs$appendFile = fs19.appendFile;
-      if (fs$appendFile)
-        fs19.appendFile = appendFile;
-      function appendFile(path16, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$appendFile(path16, data, options, cb);
-        function go$appendFile(path17, data2, options2, cb2, startTime) {
-          return fs$appendFile(path17, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$appendFile, [path17, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+    };
+    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var name = ae.getName();
+      var extra = ae.getLocalFileDataExtra();
+      if (ae.isZip64()) {
+        gpb.useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
       }
-      var fs$copyFile = fs19.copyFile;
-      if (fs$copyFile)
-        fs19.copyFile = copyFile2;
-      function copyFile2(src, dest, flags, cb) {
-        if (typeof flags === "function") {
-          cb = flags;
-          flags = 0;
-        }
-        return go$copyFile(src, dest, flags, cb);
-        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
-          return fs$copyFile(src2, dest2, flags2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
       }
-      var fs$readdir = fs19.readdir;
-      fs19.readdir = readdir;
-      var noReaddirOptionVersions = /^v[0-5]\./;
-      function readdir(path16, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path17, options2, cb2, startTime) {
-          return fs$readdir(path17, fs$readdirCallback(
-            path17,
-            options2,
-            cb2,
-            startTime
-          ));
-        } : function go$readdir2(path17, options2, cb2, startTime) {
-          return fs$readdir(path17, options2, fs$readdirCallback(
-            path17,
-            options2,
-            cb2,
-            startTime
-          ));
-        };
-        return go$readdir(path16, options, cb);
-        function fs$readdirCallback(path17, options2, cb2, startTime) {
-          return function(err, files) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([
-                go$readdir,
-                [path17, options2, cb2],
-                err,
-                startTime || Date.now(),
-                Date.now()
-              ]);
-            else {
-              if (files && files.sort)
-                files.sort();
-              if (typeof cb2 === "function")
-                cb2.call(this, err, files);
-            }
-          };
-        }
+      ae._offsets.file = this.offset;
+      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      ae._offsets.data = this.offset;
+      if (gpb.usesDataDescriptor()) {
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCrc()));
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
       }
-      if (process.version.substr(0, 4) === "v0.8") {
-        var legStreams = legacy(fs19);
-        ReadStream = legStreams.ReadStream;
-        WriteStream = legStreams.WriteStream;
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(name);
+      this.write(extra);
+      ae._offsets.contents = this.offset;
+    };
+    ZipArchiveOutputStream.prototype.getComment = function(comment) {
+      return this._archive.comment !== null ? this._archive.comment : "";
+    };
+    ZipArchiveOutputStream.prototype.isZip64 = function() {
+      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
+    };
+    ZipArchiveOutputStream.prototype.setComment = function(comment) {
+      this._archive.comment = comment;
+    };
+  }
+});
+
+// node_modules/compress-commons/lib/compress-commons.js
+var require_compress_commons = __commonJS({
+  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
+    module2.exports = {
+      ArchiveEntry: require_archive_entry(),
+      ZipArchiveEntry: require_zip_archive_entry(),
+      ArchiveOutputStream: require_archive_output_stream(),
+      ZipArchiveOutputStream: require_zip_archive_output_stream()
+    };
+  }
+});
+
+// node_modules/zip-stream/index.js
+var require_zip_stream = __commonJS({
+  "node_modules/zip-stream/index.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
+    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
+    var util = require_archiver_utils();
+    var ZipStream = module2.exports = function(options) {
+      if (!(this instanceof ZipStream)) {
+        return new ZipStream(options);
       }
-      var fs$ReadStream = fs19.ReadStream;
-      if (fs$ReadStream) {
-        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
-        ReadStream.prototype.open = ReadStream$open;
+      options = this.options = options || {};
+      options.zlib = options.zlib || {};
+      ZipArchiveOutputStream.call(this, options);
+      if (typeof options.level === "number" && options.level >= 0) {
+        options.zlib.level = options.level;
+        delete options.level;
       }
-      var fs$WriteStream = fs19.WriteStream;
-      if (fs$WriteStream) {
-        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
-        WriteStream.prototype.open = WriteStream$open;
+      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
+        options.store = true;
       }
-      Object.defineProperty(fs19, "ReadStream", {
-        get: function() {
-          return ReadStream;
-        },
-        set: function(val) {
-          ReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      Object.defineProperty(fs19, "WriteStream", {
-        get: function() {
-          return WriteStream;
-        },
-        set: function(val) {
-          WriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileReadStream = ReadStream;
-      Object.defineProperty(fs19, "FileReadStream", {
-        get: function() {
-          return FileReadStream;
-        },
-        set: function(val) {
-          FileReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileWriteStream = WriteStream;
-      Object.defineProperty(fs19, "FileWriteStream", {
-        get: function() {
-          return FileWriteStream;
-        },
-        set: function(val) {
-          FileWriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
+      options.namePrependSlash = options.namePrependSlash || false;
+      if (options.comment && options.comment.length > 0) {
+        this.setComment(options.comment);
+      }
+    };
+    inherits(ZipStream, ZipArchiveOutputStream);
+    ZipStream.prototype._normalizeFileData = function(data) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        namePrependSlash: this.options.namePrependSlash,
+        linkname: null,
+        date: null,
+        mode: null,
+        store: this.options.store,
+        comment: ""
       });
-      function ReadStream(path16, options) {
-        if (this instanceof ReadStream)
-          return fs$ReadStream.apply(this, arguments), this;
-        else
-          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+      var isDir = data.type === "directory";
+      var isSymlink = data.type === "symlink";
+      if (data.name) {
+        data.name = util.sanitizePath(data.name);
+        if (!isSymlink && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
+        }
       }
-      function ReadStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            if (that.autoClose)
-              that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
-            that.read();
-          }
-        });
+      if (isDir || isSymlink) {
+        data.store = true;
       }
-      function WriteStream(path16, options) {
-        if (this instanceof WriteStream)
-          return fs$WriteStream.apply(this, arguments), this;
-        else
-          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      data.date = util.dateify(data.date);
+      return data;
+    };
+    ZipStream.prototype.entry = function(source, data, callback) {
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
       }
-      function WriteStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
-          }
-        });
+      data = this._normalizeFileData(data);
+      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
+        callback(new Error(data.type + " entries not currently supported"));
+        return;
       }
-      function createReadStream2(path16, options) {
-        return new fs19.ReadStream(path16, options);
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        callback(new Error("entry name must be a non-empty string value"));
+        return;
       }
-      function createWriteStream3(path16, options) {
-        return new fs19.WriteStream(path16, options);
+      if (data.type === "symlink" && typeof data.linkname !== "string") {
+        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
+        return;
       }
-      var fs$open = fs19.open;
-      fs19.open = open;
-      function open(path16, flags, mode, cb) {
-        if (typeof mode === "function")
-          cb = mode, mode = null;
-        return go$open(path16, flags, mode, cb);
-        function go$open(path17, flags2, mode2, cb2, startTime) {
-          return fs$open(path17, flags2, mode2, function(err, fd) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$open, [path17, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      var entry = new ZipArchiveEntry(data.name);
+      entry.setTime(data.date, this.options.forceLocalTime);
+      if (data.namePrependSlash) {
+        entry.setName(data.name, true);
       }
-      return fs19;
-    }
-    function enqueue(elem) {
-      debug5("ENQUEUE", elem[0].name, elem[1]);
-      fs18[gracefulQueue].push(elem);
-      retry2();
-    }
-    var retryTimer;
-    function resetQueue() {
-      var now = Date.now();
-      for (var i = 0; i < fs18[gracefulQueue].length; ++i) {
-        if (fs18[gracefulQueue][i].length > 2) {
-          fs18[gracefulQueue][i][3] = now;
-          fs18[gracefulQueue][i][4] = now;
-        }
+      if (data.store) {
+        entry.setMethod(0);
       }
-      retry2();
-    }
-    function retry2() {
-      clearTimeout(retryTimer);
-      retryTimer = void 0;
-      if (fs18[gracefulQueue].length === 0)
-        return;
-      var elem = fs18[gracefulQueue].shift();
-      var fn = elem[0];
-      var args = elem[1];
-      var err = elem[2];
-      var startTime = elem[3];
-      var lastTime = elem[4];
-      if (startTime === void 0) {
-        debug5("RETRY", fn.name, args);
-        fn.apply(null, args);
-      } else if (Date.now() - startTime >= 6e4) {
-        debug5("TIMEOUT", fn.name, args);
-        var cb = args.pop();
-        if (typeof cb === "function")
-          cb.call(null, err);
-      } else {
-        var sinceAttempt = Date.now() - lastTime;
-        var sinceStart = Math.max(lastTime - startTime, 1);
-        var desiredDelay = Math.min(sinceStart * 1.2, 100);
-        if (sinceAttempt >= desiredDelay) {
-          debug5("RETRY", fn.name, args);
-          fn.apply(null, args.concat([startTime]));
-        } else {
-          fs18[gracefulQueue].push(elem);
+      if (data.comment.length > 0) {
+        entry.setComment(data.comment);
+      }
+      if (data.type === "symlink" && typeof data.mode !== "number") {
+        data.mode = 40960;
+      }
+      if (typeof data.mode === "number") {
+        if (data.type === "symlink") {
+          data.mode |= 40960;
         }
+        entry.setUnixMode(data.mode);
       }
-      if (retryTimer === void 0) {
-        retryTimer = setTimeout(retry2, 0);
+      if (data.type === "symlink" && typeof data.linkname === "string") {
+        source = Buffer.from(data.linkname);
       }
-    }
+      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
+    };
+    ZipStream.prototype.finalize = function() {
+      this.finish();
+    };
   }
 });
 
-// node_modules/archiver-utils/node_modules/is-stream/index.js
-var require_is_stream = __commonJS({
-  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
-    "use strict";
-    var isStream = (stream2) => stream2 !== null && typeof stream2 === "object" && typeof stream2.pipe === "function";
-    isStream.writable = (stream2) => isStream(stream2) && stream2.writable !== false && typeof stream2._write === "function" && typeof stream2._writableState === "object";
-    isStream.readable = (stream2) => isStream(stream2) && stream2.readable !== false && typeof stream2._read === "function" && typeof stream2._readableState === "object";
-    isStream.duplex = (stream2) => isStream.writable(stream2) && isStream.readable(stream2);
-    isStream.transform = (stream2) => isStream.duplex(stream2) && typeof stream2._transform === "function";
-    module2.exports = isStream;
+// node_modules/archiver/lib/plugins/zip.js
+var require_zip = __commonJS({
+  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
+    var engine = require_zip_stream();
+    var util = require_archiver_utils();
+    var Zip = function(options) {
+      if (!(this instanceof Zip)) {
+        return new Zip(options);
+      }
+      options = this.options = util.defaults(options, {
+        comment: "",
+        forceUTC: false,
+        namePrependSlash: false,
+        store: false
+      });
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = new engine(options);
+    };
+    Zip.prototype.append = function(source, data, callback) {
+      this.engine.entry(source, data, callback);
+    };
+    Zip.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Zip.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Zip.prototype.pipe = function() {
+      return this.engine.pipe.apply(this.engine, arguments);
+    };
+    Zip.prototype.unpipe = function() {
+      return this.engine.unpipe.apply(this.engine, arguments);
+    };
+    module2.exports = Zip;
   }
 });
 
-// node_modules/process-nextick-args/index.js
-var require_process_nextick_args = __commonJS({
-  "node_modules/process-nextick-args/index.js"(exports2, module2) {
-    "use strict";
-    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
-      module2.exports = { nextTick };
-    } else {
-      module2.exports = process;
-    }
-    function nextTick(fn, arg1, arg2, arg3) {
-      if (typeof fn !== "function") {
-        throw new TypeError('"callback" argument must be a function');
-      }
-      var len = arguments.length;
-      var args, i;
-      switch (len) {
-        case 0:
-        case 1:
-          return process.nextTick(fn);
-        case 2:
-          return process.nextTick(function afterTickOne() {
-            fn.call(null, arg1);
-          });
-        case 3:
-          return process.nextTick(function afterTickTwo() {
-            fn.call(null, arg1, arg2);
-          });
-        case 4:
-          return process.nextTick(function afterTickThree() {
-            fn.call(null, arg1, arg2, arg3);
-          });
-        default:
-          args = new Array(len - 1);
-          i = 0;
-          while (i < args.length) {
-            args[i++] = arguments[i];
-          }
-          return process.nextTick(function afterTick() {
-            fn.apply(null, args);
-          });
-      }
-    }
+// node_modules/queue-tick/queue-microtask.js
+var require_queue_microtask = __commonJS({
+  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
+    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
   }
 });
 
-// node_modules/lazystream/node_modules/isarray/index.js
-var require_isarray = __commonJS({
-  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
-    var toString3 = {}.toString;
-    module2.exports = Array.isArray || function(arr) {
-      return toString3.call(arr) == "[object Array]";
-    };
+// node_modules/queue-tick/process-next-tick.js
+var require_process_next_tick = __commonJS({
+  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
+    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
-var require_stream = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
-    module2.exports = require("stream");
+// node_modules/fast-fifo/fixed-size.js
+var require_fixed_size = __commonJS({
+  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
+    module2.exports = class FixedFIFO {
+      constructor(hwm) {
+        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
+        this.buffer = new Array(hwm);
+        this.mask = hwm - 1;
+        this.top = 0;
+        this.btm = 0;
+        this.next = null;
+      }
+      clear() {
+        this.top = this.btm = 0;
+        this.next = null;
+        this.buffer.fill(void 0);
+      }
+      push(data) {
+        if (this.buffer[this.top] !== void 0) return false;
+        this.buffer[this.top] = data;
+        this.top = this.top + 1 & this.mask;
+        return true;
+      }
+      shift() {
+        const last = this.buffer[this.btm];
+        if (last === void 0) return void 0;
+        this.buffer[this.btm] = void 0;
+        this.btm = this.btm + 1 & this.mask;
+        return last;
+      }
+      peek() {
+        return this.buffer[this.btm];
+      }
+      isEmpty() {
+        return this.buffer[this.btm] === void 0;
+      }
+    };
   }
 });
 
-// node_modules/lazystream/node_modules/safe-buffer/index.js
-var require_safe_buffer = __commonJS({
-  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
-    var buffer = require("buffer");
-    var Buffer2 = buffer.Buffer;
-    function copyProps(src, dst) {
-      for (var key in src) {
-        dst[key] = src[key];
+// node_modules/fast-fifo/index.js
+var require_fast_fifo = __commonJS({
+  "node_modules/fast-fifo/index.js"(exports2, module2) {
+    var FixedFIFO = require_fixed_size();
+    module2.exports = class FastFIFO {
+      constructor(hwm) {
+        this.hwm = hwm || 16;
+        this.head = new FixedFIFO(this.hwm);
+        this.tail = this.head;
+        this.length = 0;
       }
-    }
-    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
-      module2.exports = buffer;
-    } else {
-      copyProps(buffer, exports2);
-      exports2.Buffer = SafeBuffer;
-    }
-    function SafeBuffer(arg, encodingOrOffset, length) {
-      return Buffer2(arg, encodingOrOffset, length);
-    }
-    copyProps(Buffer2, SafeBuffer);
-    SafeBuffer.from = function(arg, encodingOrOffset, length) {
-      if (typeof arg === "number") {
-        throw new TypeError("Argument must not be a number");
+      clear() {
+        this.head = this.tail;
+        this.head.clear();
+        this.length = 0;
       }
-      return Buffer2(arg, encodingOrOffset, length);
-    };
-    SafeBuffer.alloc = function(size, fill, encoding) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      push(val) {
+        this.length++;
+        if (!this.head.push(val)) {
+          const prev = this.head;
+          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
+          this.head.push(val);
+        }
       }
-      var buf = Buffer2(size);
-      if (fill !== void 0) {
-        if (typeof encoding === "string") {
-          buf.fill(fill, encoding);
-        } else {
-          buf.fill(fill);
+      shift() {
+        if (this.length !== 0) this.length--;
+        const val = this.tail.shift();
+        if (val === void 0 && this.tail.next) {
+          const next = this.tail.next;
+          this.tail.next = null;
+          this.tail = next;
+          return this.tail.shift();
         }
-      } else {
-        buf.fill(0);
+        return val;
       }
-      return buf;
-    };
-    SafeBuffer.allocUnsafe = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      peek() {
+        const val = this.tail.peek();
+        if (val === void 0 && this.tail.next) return this.tail.next.peek();
+        return val;
       }
-      return Buffer2(size);
-    };
-    SafeBuffer.allocUnsafeSlow = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      isEmpty() {
+        return this.length === 0;
       }
-      return buffer.SlowBuffer(size);
     };
   }
 });
 
-// node_modules/core-util-is/lib/util.js
-var require_util19 = __commonJS({
-  "node_modules/core-util-is/lib/util.js"(exports2) {
-    function isArray(arg) {
-      if (Array.isArray) {
-        return Array.isArray(arg);
-      }
-      return objectToString(arg) === "[object Array]";
-    }
-    exports2.isArray = isArray;
-    function isBoolean2(arg) {
-      return typeof arg === "boolean";
-    }
-    exports2.isBoolean = isBoolean2;
-    function isNull2(arg) {
-      return arg === null;
-    }
-    exports2.isNull = isNull2;
-    function isNullOrUndefined(arg) {
-      return arg == null;
-    }
-    exports2.isNullOrUndefined = isNullOrUndefined;
-    function isNumber(arg) {
-      return typeof arg === "number";
-    }
-    exports2.isNumber = isNumber;
-    function isString(arg) {
-      return typeof arg === "string";
-    }
-    exports2.isString = isString;
-    function isSymbol(arg) {
-      return typeof arg === "symbol";
-    }
-    exports2.isSymbol = isSymbol;
-    function isUndefined(arg) {
-      return arg === void 0;
-    }
-    exports2.isUndefined = isUndefined;
-    function isRegExp(re) {
-      return objectToString(re) === "[object RegExp]";
-    }
-    exports2.isRegExp = isRegExp;
-    function isObject2(arg) {
-      return typeof arg === "object" && arg !== null;
-    }
-    exports2.isObject = isObject2;
-    function isDate(d) {
-      return objectToString(d) === "[object Date]";
+// node_modules/b4a/index.js
+var require_b4a = __commonJS({
+  "node_modules/b4a/index.js"(exports2, module2) {
+    function isBuffer(value) {
+      return Buffer.isBuffer(value) || value instanceof Uint8Array;
     }
-    exports2.isDate = isDate;
-    function isError(e) {
-      return objectToString(e) === "[object Error]" || e instanceof Error;
+    function isEncoding(encoding) {
+      return Buffer.isEncoding(encoding);
     }
-    exports2.isError = isError;
-    function isFunction(arg) {
-      return typeof arg === "function";
+    function alloc(size, fill2, encoding) {
+      return Buffer.alloc(size, fill2, encoding);
     }
-    exports2.isFunction = isFunction;
-    function isPrimitive(arg) {
-      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
-      typeof arg === "undefined";
+    function allocUnsafe(size) {
+      return Buffer.allocUnsafe(size);
     }
-    exports2.isPrimitive = isPrimitive;
-    exports2.isBuffer = require("buffer").Buffer.isBuffer;
-    function objectToString(o) {
-      return Object.prototype.toString.call(o);
+    function allocUnsafeSlow(size) {
+      return Buffer.allocUnsafeSlow(size);
     }
-  }
-});
-
-// node_modules/inherits/inherits_browser.js
-var require_inherits_browser = __commonJS({
-  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
-    if (typeof Object.create === "function") {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        ctor.prototype = Object.create(superCtor.prototype, {
-          constructor: {
-            value: ctor,
-            enumerable: false,
-            writable: true,
-            configurable: true
-          }
-        });
-      };
-    } else {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        var TempCtor = function() {
-        };
-        TempCtor.prototype = superCtor.prototype;
-        ctor.prototype = new TempCtor();
-        ctor.prototype.constructor = ctor;
-      };
+    function byteLength(string, encoding) {
+      return Buffer.byteLength(string, encoding);
     }
-  }
-});
-
-// node_modules/inherits/inherits.js
-var require_inherits = __commonJS({
-  "node_modules/inherits/inherits.js"(exports2, module2) {
-    try {
-      util = require("util");
-      if (typeof util.inherits !== "function") throw "";
-      module2.exports = util.inherits;
-    } catch (e) {
-      module2.exports = require_inherits_browser();
+    function compare3(a, b) {
+      return Buffer.compare(a, b);
     }
-    var util;
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
-var require_BufferList = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
-    "use strict";
-    function _classCallCheck(instance, Constructor) {
-      if (!(instance instanceof Constructor)) {
-        throw new TypeError("Cannot call a class as a function");
-      }
+    function concat(buffers, totalLength) {
+      return Buffer.concat(buffers, totalLength);
     }
-    var Buffer2 = require_safe_buffer().Buffer;
-    var util = require("util");
-    function copyBuffer(src, target, offset) {
-      src.copy(target, offset);
+    function copy(source, target, targetStart, start, end) {
+      return toBuffer(source).copy(target, targetStart, start, end);
     }
-    module2.exports = (function() {
-      function BufferList() {
-        _classCallCheck(this, BufferList);
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
-      }
-      BufferList.prototype.push = function push(v) {
-        var entry = { data: v, next: null };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
-      };
-      BufferList.prototype.unshift = function unshift(v) {
-        var entry = { data: v, next: this.head };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
-      };
-      BufferList.prototype.shift = function shift() {
-        if (this.length === 0) return;
-        var ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
-      };
-      BufferList.prototype.clear = function clear() {
-        this.head = this.tail = null;
-        this.length = 0;
-      };
-      BufferList.prototype.join = function join15(s) {
-        if (this.length === 0) return "";
-        var p = this.head;
-        var ret = "" + p.data;
-        while (p = p.next) {
-          ret += s + p.data;
-        }
-        return ret;
-      };
-      BufferList.prototype.concat = function concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        var ret = Buffer2.allocUnsafe(n >>> 0);
-        var p = this.head;
-        var i = 0;
-        while (p) {
-          copyBuffer(p.data, ret, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
-      };
-      return BufferList;
-    })();
-    if (util && util.inspect && util.inspect.custom) {
-      module2.exports.prototype[util.inspect.custom] = function() {
-        var obj = util.inspect({ length: this.length });
-        return this.constructor.name + " " + obj;
-      };
+    function equals2(a, b) {
+      return toBuffer(a).equals(b);
     }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    function destroy(err, cb) {
-      var _this = this;
-      var readableDestroyed = this._readableState && this._readableState.destroyed;
-      var writableDestroyed = this._writableState && this._writableState.destroyed;
-      if (readableDestroyed || writableDestroyed) {
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          if (!this._writableState) {
-            pna.nextTick(emitErrorNT, this, err);
-          } else if (!this._writableState.errorEmitted) {
-            this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, this, err);
-          }
-        }
-        return this;
-      }
-      if (this._readableState) {
-        this._readableState.destroyed = true;
-      }
-      if (this._writableState) {
-        this._writableState.destroyed = true;
-      }
-      this._destroy(err || null, function(err2) {
-        if (!cb && err2) {
-          if (!_this._writableState) {
-            pna.nextTick(emitErrorNT, _this, err2);
-          } else if (!_this._writableState.errorEmitted) {
-            _this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, _this, err2);
-          }
-        } else if (cb) {
-          cb(err2);
-        }
-      });
-      return this;
+    function fill(buffer, value, offset, end, encoding) {
+      return toBuffer(buffer).fill(value, offset, end, encoding);
     }
-    function undestroy() {
-      if (this._readableState) {
-        this._readableState.destroyed = false;
-        this._readableState.reading = false;
-        this._readableState.ended = false;
-        this._readableState.endEmitted = false;
-      }
-      if (this._writableState) {
-        this._writableState.destroyed = false;
-        this._writableState.ended = false;
-        this._writableState.ending = false;
-        this._writableState.finalCalled = false;
-        this._writableState.prefinished = false;
-        this._writableState.finished = false;
-        this._writableState.errorEmitted = false;
-      }
+    function from(value, encodingOrOffset, length) {
+      return Buffer.from(value, encodingOrOffset, length);
     }
-    function emitErrorNT(self2, err) {
-      self2.emit("error", err);
+    function includes(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).includes(value, byteOffset, encoding);
     }
-    module2.exports = {
-      destroy,
-      undestroy
-    };
-  }
-});
-
-// node_modules/util-deprecate/node.js
-var require_node2 = __commonJS({
-  "node_modules/util-deprecate/node.js"(exports2, module2) {
-    module2.exports = require("util").deprecate;
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
-var require_stream_writable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Writable;
-    function CorkedRequest(state) {
-      var _this = this;
-      this.next = null;
-      this.entry = null;
-      this.finish = function() {
-        onCorkedFinish(_this, state);
-      };
+    function indexOf(buffer, value, byfeOffset, encoding) {
+      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
     }
-    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
-    var Duplex;
-    Writable.WritableState = WritableState;
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var internalUtil = {
-      deprecate: require_node2()
-    };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
-    };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
+    function lastIndexOf(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
     }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    function swap16(buffer) {
+      return toBuffer(buffer).swap16();
     }
-    var destroyImpl = require_destroy();
-    util.inherits(Writable, Stream);
-    function nop() {
+    function swap32(buffer) {
+      return toBuffer(buffer).swap32();
     }
-    function WritableState(options, stream2) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream2 instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
-      var hwm = options.highWaterMark;
-      var writableHwm = options.writableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      var noDecode = options.decodeStrings === false;
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = function(er) {
-        onwrite(stream2, er);
-      };
-      this.writecb = null;
-      this.writelen = 0;
-      this.bufferedRequest = null;
-      this.lastBufferedRequest = null;
-      this.pendingcb = 0;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.bufferedRequestCount = 0;
-      this.corkedRequestsFree = new CorkedRequest(this);
+    function swap64(buffer) {
+      return toBuffer(buffer).swap64();
     }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      var current = this.bufferedRequest;
-      var out = [];
-      while (current) {
-        out.push(current);
-        current = current.next;
-      }
-      return out;
-    };
-    (function() {
-      try {
-        Object.defineProperty(WritableState.prototype, "buffer", {
-          get: internalUtil.deprecate(function() {
-            return this.getBuffer();
-          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
-        });
-      } catch (_2) {
-      }
-    })();
-    var realHasInstance;
-    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
-      realHasInstance = Function.prototype[Symbol.hasInstance];
-      Object.defineProperty(Writable, Symbol.hasInstance, {
-        value: function(object) {
-          if (realHasInstance.call(this, object)) return true;
-          if (this !== Writable) return false;
-          return object && object._writableState instanceof WritableState;
-        }
-      });
-    } else {
-      realHasInstance = function(object) {
-        return object instanceof this;
-      };
+    function toBuffer(buffer) {
+      if (Buffer.isBuffer(buffer)) return buffer;
+      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
     }
-    function Writable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
-        return new Writable(options);
-      }
-      this._writableState = new WritableState(options, this);
-      this.writable = true;
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
-      }
-      Stream.call(this);
+    function toString3(buffer, encoding, start, end) {
+      return toBuffer(buffer).toString(encoding, start, end);
     }
-    Writable.prototype.pipe = function() {
-      this.emit("error", new Error("Cannot pipe, not readable"));
-    };
-    function writeAfterEnd(stream2, cb) {
-      var er = new Error("write after end");
-      stream2.emit("error", er);
-      pna.nextTick(cb, er);
+    function write(buffer, string, offset, length, encoding) {
+      return toBuffer(buffer).write(string, offset, length, encoding);
     }
-    function validChunk(stream2, state, chunk, cb) {
-      var valid3 = true;
-      var er = false;
-      if (chunk === null) {
-        er = new TypeError("May not write null values to stream");
-      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
-      }
-      if (er) {
-        stream2.emit("error", er);
-        pna.nextTick(cb, er);
-        valid3 = false;
-      }
-      return valid3;
+    function writeDoubleLE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleLE(value, offset);
     }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      var ret = false;
-      var isBuf = !state.objectMode && _isUint8Array(chunk);
-      if (isBuf && !Buffer2.isBuffer(chunk)) {
-        chunk = _uint8ArrayToBuffer(chunk);
-      }
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      if (isBuf) encoding = "buffer";
-      else if (!encoding) encoding = state.defaultEncoding;
-      if (typeof cb !== "function") cb = nop;
-      if (state.ended) writeAfterEnd(this, cb);
-      else if (isBuf || validChunk(this, state, chunk, cb)) {
-        state.pendingcb++;
-        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
-      }
-      return ret;
-    };
-    Writable.prototype.cork = function() {
-      var state = this._writableState;
-      state.corked++;
-    };
-    Writable.prototype.uncork = function() {
-      var state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
-      }
-    };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = encoding.toLowerCase();
-      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function decodeChunk(state, chunk, encoding) {
-      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
-        chunk = Buffer2.from(chunk, encoding);
-      }
-      return chunk;
+    function writeFloatLE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatLE(value, offset);
     }
-    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
-      }
-    });
-    function writeOrBuffer(stream2, state, isBuf, chunk, encoding, cb) {
-      if (!isBuf) {
-        var newChunk = decodeChunk(state, chunk, encoding);
-        if (chunk !== newChunk) {
-          isBuf = true;
-          encoding = "buffer";
-          chunk = newChunk;
-        }
-      }
-      var len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      var ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked) {
-        var last = state.lastBufferedRequest;
-        state.lastBufferedRequest = {
-          chunk,
-          encoding,
-          isBuf,
-          callback: cb,
-          next: null
-        };
-        if (last) {
-          last.next = state.lastBufferedRequest;
-        } else {
-          state.bufferedRequest = state.lastBufferedRequest;
-        }
-        state.bufferedRequestCount += 1;
-      } else {
-        doWrite(stream2, state, false, len, chunk, encoding, cb);
-      }
-      return ret;
+    function writeUInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32LE(value, offset);
     }
-    function doWrite(stream2, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (writev) stream2._writev(chunk, state.onwrite);
-      else stream2._write(chunk, encoding, state.onwrite);
-      state.sync = false;
+    function writeInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32LE(value, offset);
     }
-    function onwriteError(stream2, state, sync, er, cb) {
-      --state.pendingcb;
-      if (sync) {
-        pna.nextTick(cb, er);
-        pna.nextTick(finishMaybe, stream2, state);
-        stream2._writableState.errorEmitted = true;
-        stream2.emit("error", er);
-      } else {
-        cb(er);
-        stream2._writableState.errorEmitted = true;
-        stream2.emit("error", er);
-        finishMaybe(stream2, state);
-      }
+    function readDoubleLE(buffer, offset) {
+      return toBuffer(buffer).readDoubleLE(offset);
     }
-    function onwriteStateUpdate(state) {
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
+    function readFloatLE(buffer, offset) {
+      return toBuffer(buffer).readFloatLE(offset);
     }
-    function onwrite(stream2, er) {
-      var state = stream2._writableState;
-      var sync = state.sync;
-      var cb = state.writecb;
-      onwriteStateUpdate(state);
-      if (er) onwriteError(stream2, state, sync, er, cb);
-      else {
-        var finished = needFinish(state);
-        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
-          clearBuffer(stream2, state);
-        }
-        if (sync) {
-          asyncWrite(afterWrite, stream2, state, finished, cb);
-        } else {
-          afterWrite(stream2, state, finished, cb);
-        }
-      }
+    function readUInt32LE(buffer, offset) {
+      return toBuffer(buffer).readUInt32LE(offset);
     }
-    function afterWrite(stream2, state, finished, cb) {
-      if (!finished) onwriteDrain(stream2, state);
-      state.pendingcb--;
-      cb();
-      finishMaybe(stream2, state);
+    function readInt32LE(buffer, offset) {
+      return toBuffer(buffer).readInt32LE(offset);
     }
-    function onwriteDrain(stream2, state) {
-      if (state.length === 0 && state.needDrain) {
-        state.needDrain = false;
-        stream2.emit("drain");
-      }
+    function writeDoubleBE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleBE(value, offset);
     }
-    function clearBuffer(stream2, state) {
-      state.bufferProcessing = true;
-      var entry = state.bufferedRequest;
-      if (stream2._writev && entry && entry.next) {
-        var l = state.bufferedRequestCount;
-        var buffer = new Array(l);
-        var holder = state.corkedRequestsFree;
-        holder.entry = entry;
-        var count = 0;
-        var allBuffers = true;
-        while (entry) {
-          buffer[count] = entry;
-          if (!entry.isBuf) allBuffers = false;
-          entry = entry.next;
-          count += 1;
-        }
-        buffer.allBuffers = allBuffers;
-        doWrite(stream2, state, true, state.length, buffer, "", holder.finish);
-        state.pendingcb++;
-        state.lastBufferedRequest = null;
-        if (holder.next) {
-          state.corkedRequestsFree = holder.next;
-          holder.next = null;
-        } else {
-          state.corkedRequestsFree = new CorkedRequest(state);
-        }
-        state.bufferedRequestCount = 0;
-      } else {
-        while (entry) {
-          var chunk = entry.chunk;
-          var encoding = entry.encoding;
-          var cb = entry.callback;
-          var len = state.objectMode ? 1 : chunk.length;
-          doWrite(stream2, state, false, len, chunk, encoding, cb);
-          entry = entry.next;
-          state.bufferedRequestCount--;
-          if (state.writing) {
-            break;
-          }
-        }
-        if (entry === null) state.lastBufferedRequest = null;
-      }
-      state.bufferedRequest = entry;
-      state.bufferProcessing = false;
+    function writeFloatBE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatBE(value, offset);
     }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      cb(new Error("_write() is not implemented"));
-    };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
-      }
-      if (!state.ending) endWritable(this, state, cb);
-    };
-    function needFinish(state) {
-      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
+    function writeUInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32BE(value, offset);
     }
-    function callFinal(stream2, state) {
-      stream2._final(function(err) {
-        state.pendingcb--;
-        if (err) {
-          stream2.emit("error", err);
-        }
-        state.prefinished = true;
-        stream2.emit("prefinish");
-        finishMaybe(stream2, state);
-      });
+    function writeInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32BE(value, offset);
     }
-    function prefinish(stream2, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream2._final === "function") {
-          state.pendingcb++;
-          state.finalCalled = true;
-          pna.nextTick(callFinal, stream2, state);
-        } else {
-          state.prefinished = true;
-          stream2.emit("prefinish");
-        }
-      }
+    function readDoubleBE(buffer, offset) {
+      return toBuffer(buffer).readDoubleBE(offset);
     }
-    function finishMaybe(stream2, state) {
-      var need = needFinish(state);
-      if (need) {
-        prefinish(stream2, state);
-        if (state.pendingcb === 0) {
-          state.finished = true;
-          stream2.emit("finish");
-        }
-      }
-      return need;
+    function readFloatBE(buffer, offset) {
+      return toBuffer(buffer).readFloatBE(offset);
     }
-    function endWritable(stream2, state, cb) {
-      state.ending = true;
-      finishMaybe(stream2, state);
-      if (cb) {
-        if (state.finished) pna.nextTick(cb);
-        else stream2.once("finish", cb);
-      }
-      state.ended = true;
-      stream2.writable = false;
+    function readUInt32BE(buffer, offset) {
+      return toBuffer(buffer).readUInt32BE(offset);
     }
-    function onCorkedFinish(corkReq, state, err) {
-      var entry = corkReq.entry;
-      corkReq.entry = null;
-      while (entry) {
-        var cb = entry.callback;
-        state.pendingcb--;
-        cb(err);
-        entry = entry.next;
-      }
-      state.corkedRequestsFree.next = corkReq;
+    function readInt32BE(buffer, offset) {
+      return toBuffer(buffer).readInt32BE(offset);
     }
-    Object.defineProperty(Writable.prototype, "destroyed", {
-      get: function() {
-        if (this._writableState === void 0) {
-          return false;
-        }
-        return this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._writableState) {
-          return;
-        }
-        this._writableState.destroyed = value;
-      }
-    });
-    Writable.prototype.destroy = destroyImpl.destroy;
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      this.end();
-      cb(err);
+    module2.exports = {
+      isBuffer,
+      isEncoding,
+      alloc,
+      allocUnsafe,
+      allocUnsafeSlow,
+      byteLength,
+      compare: compare3,
+      concat,
+      copy,
+      equals: equals2,
+      fill,
+      from,
+      includes,
+      indexOf,
+      lastIndexOf,
+      swap16,
+      swap32,
+      swap64,
+      toBuffer,
+      toString: toString3,
+      write,
+      writeDoubleLE,
+      writeFloatLE,
+      writeUInt32LE,
+      writeInt32LE,
+      readDoubleLE,
+      readFloatLE,
+      readUInt32LE,
+      readInt32LE,
+      writeDoubleBE,
+      writeFloatBE,
+      writeUInt32BE,
+      writeInt32BE,
+      readDoubleBE,
+      readFloatBE,
+      readUInt32BE,
+      readInt32BE
     };
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
-var require_stream_duplex = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    var objectKeys = Object.keys || function(obj) {
-      var keys2 = [];
-      for (var key in obj) {
-        keys2.push(key);
+// node_modules/text-decoder/lib/pass-through-decoder.js
+var require_pass_through_decoder = __commonJS({
+  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class PassThroughDecoder {
+      constructor(encoding) {
+        this.encoding = encoding;
+      }
+      get remaining() {
+        return 0;
+      }
+      decode(tail) {
+        return b4a.toString(tail, this.encoding);
+      }
+      flush() {
+        return "";
       }
-      return keys2;
     };
-    module2.exports = Duplex;
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var Readable2 = require_stream_readable();
-    var Writable = require_stream_writable();
-    util.inherits(Duplex, Readable2);
-    {
-      keys = objectKeys(Writable.prototype);
-      for (v = 0; v < keys.length; v++) {
-        method = keys[v];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
+  }
+});
+
+// node_modules/text-decoder/lib/utf8-decoder.js
+var require_utf8_decoder = __commonJS({
+  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class UTF8Decoder {
+      constructor() {
+        this.codePoint = 0;
+        this.bytesSeen = 0;
+        this.bytesNeeded = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
       }
-    }
-    var keys;
-    var method;
-    var v;
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable2.call(this, options);
-      Writable.call(this, options);
-      if (options && options.readable === false) this.readable = false;
-      if (options && options.writable === false) this.writable = false;
-      this.allowHalfOpen = true;
-      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
-      this.once("end", onend);
-    }
-    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+      get remaining() {
+        return this.bytesSeen;
       }
-    });
-    function onend() {
-      if (this.allowHalfOpen || this._writableState.ended) return;
-      pna.nextTick(onEndNT, this);
-    }
-    function onEndNT(self2) {
-      self2.end();
-    }
-    Object.defineProperty(Duplex.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return false;
+      decode(data) {
+        if (this.bytesNeeded === 0) {
+          let isBoundary = true;
+          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
+            isBoundary = data[i] <= 127;
+          }
+          if (isBoundary) return b4a.toString(data, "utf8");
         }
-        return this._readableState.destroyed && this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return;
+        let result = "";
+        for (let i = 0, n = data.byteLength; i < n; i++) {
+          const byte = data[i];
+          if (this.bytesNeeded === 0) {
+            if (byte <= 127) {
+              result += String.fromCharCode(byte);
+            } else {
+              this.bytesSeen = 1;
+              if (byte >= 194 && byte <= 223) {
+                this.bytesNeeded = 2;
+                this.codePoint = byte & 31;
+              } else if (byte >= 224 && byte <= 239) {
+                if (byte === 224) this.lowerBoundary = 160;
+                else if (byte === 237) this.upperBoundary = 159;
+                this.bytesNeeded = 3;
+                this.codePoint = byte & 15;
+              } else if (byte >= 240 && byte <= 244) {
+                if (byte === 240) this.lowerBoundary = 144;
+                if (byte === 244) this.upperBoundary = 143;
+                this.bytesNeeded = 4;
+                this.codePoint = byte & 7;
+              } else {
+                result += "\uFFFD";
+              }
+            }
+            continue;
+          }
+          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
+            this.codePoint = 0;
+            this.bytesNeeded = 0;
+            this.bytesSeen = 0;
+            this.lowerBoundary = 128;
+            this.upperBoundary = 191;
+            result += "\uFFFD";
+            continue;
+          }
+          this.lowerBoundary = 128;
+          this.upperBoundary = 191;
+          this.codePoint = this.codePoint << 6 | byte & 63;
+          this.bytesSeen++;
+          if (this.bytesSeen !== this.bytesNeeded) continue;
+          result += String.fromCodePoint(this.codePoint);
+          this.codePoint = 0;
+          this.bytesNeeded = 0;
+          this.bytesSeen = 0;
         }
-        this._readableState.destroyed = value;
-        this._writableState.destroyed = value;
+        return result;
+      }
+      flush() {
+        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
+        this.codePoint = 0;
+        this.bytesNeeded = 0;
+        this.bytesSeen = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
+        return result;
       }
-    });
-    Duplex.prototype._destroy = function(err, cb) {
-      this.push(null);
-      this.end();
-      pna.nextTick(cb, err);
     };
   }
 });
 
-// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
-var require_string_decoder = __commonJS({
-  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
-    "use strict";
-    var Buffer2 = require_safe_buffer().Buffer;
-    var isEncoding = Buffer2.isEncoding || function(encoding) {
-      encoding = "" + encoding;
-      switch (encoding && encoding.toLowerCase()) {
-        case "hex":
-        case "utf8":
-        case "utf-8":
-        case "ascii":
-        case "binary":
-        case "base64":
-        case "ucs2":
-        case "ucs-2":
-        case "utf16le":
-        case "utf-16le":
-        case "raw":
-          return true;
-        default:
-          return false;
-      }
-    };
-    function _normalizeEncoding(enc) {
-      if (!enc) return "utf8";
-      var retried;
-      while (true) {
-        switch (enc) {
+// node_modules/text-decoder/index.js
+var require_text_decoder = __commonJS({
+  "node_modules/text-decoder/index.js"(exports2, module2) {
+    var PassThroughDecoder = require_pass_through_decoder();
+    var UTF8Decoder = require_utf8_decoder();
+    module2.exports = class TextDecoder {
+      constructor(encoding = "utf8") {
+        this.encoding = normalizeEncoding(encoding);
+        switch (this.encoding) {
           case "utf8":
-          case "utf-8":
-            return "utf8";
-          case "ucs2":
-          case "ucs-2":
+            this.decoder = new UTF8Decoder();
+            break;
           case "utf16le":
-          case "utf-16le":
-            return "utf16le";
-          case "latin1":
-          case "binary":
-            return "latin1";
           case "base64":
-          case "ascii":
-          case "hex":
-            return enc;
+            throw new Error("Unsupported encoding: " + this.encoding);
           default:
-            if (retried) return;
-            enc = ("" + enc).toLowerCase();
-            retried = true;
+            this.decoder = new PassThroughDecoder(this.encoding);
         }
       }
-    }
-    function normalizeEncoding(enc) {
-      var nenc = _normalizeEncoding(enc);
-      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
-      return nenc || enc;
-    }
-    exports2.StringDecoder = StringDecoder;
-    function StringDecoder(encoding) {
-      this.encoding = normalizeEncoding(encoding);
-      var nb;
-      switch (this.encoding) {
-        case "utf16le":
-          this.text = utf16Text;
-          this.end = utf16End;
-          nb = 4;
-          break;
-        case "utf8":
-          this.fillLast = utf8FillLast;
-          nb = 4;
-          break;
-        case "base64":
-          this.text = base64Text;
-          this.end = base64End;
-          nb = 3;
-          break;
-        default:
-          this.write = simpleWrite;
-          this.end = simpleEnd;
-          return;
+      get remaining() {
+        return this.decoder.remaining;
       }
-      this.lastNeed = 0;
-      this.lastTotal = 0;
-      this.lastChar = Buffer2.allocUnsafe(nb);
-    }
-    StringDecoder.prototype.write = function(buf) {
-      if (buf.length === 0) return "";
-      var r;
-      var i;
-      if (this.lastNeed) {
-        r = this.fillLast(buf);
-        if (r === void 0) return "";
-        i = this.lastNeed;
-        this.lastNeed = 0;
-      } else {
-        i = 0;
+      push(data) {
+        if (typeof data === "string") return data;
+        return this.decoder.decode(data);
       }
-      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
-      return r || "";
-    };
-    StringDecoder.prototype.end = utf8End;
-    StringDecoder.prototype.text = utf8Text;
-    StringDecoder.prototype.fillLast = function(buf) {
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      // For Node.js compatibility
+      write(data) {
+        return this.push(data);
+      }
+      end(data) {
+        let result = "";
+        if (data) result = this.push(data);
+        result += this.decoder.flush();
+        return result;
       }
-      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
-      this.lastNeed -= buf.length;
     };
-    function utf8CheckByte(byte) {
-      if (byte <= 127) return 0;
-      else if (byte >> 5 === 6) return 2;
-      else if (byte >> 4 === 14) return 3;
-      else if (byte >> 3 === 30) return 4;
-      return byte >> 6 === 2 ? -1 : -2;
+    function normalizeEncoding(encoding) {
+      encoding = encoding.toLowerCase();
+      switch (encoding) {
+        case "utf8":
+        case "utf-8":
+          return "utf8";
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+          return "utf16le";
+        case "latin1":
+        case "binary":
+          return "latin1";
+        case "base64":
+        case "ascii":
+        case "hex":
+          return encoding;
+        default:
+          throw new Error("Unknown encoding: " + encoding);
+      }
     }
-    function utf8CheckIncomplete(self2, buf, i) {
-      var j = buf.length - 1;
-      if (j < i) return 0;
-      var nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 1;
-        return nb;
+  }
+});
+
+// node_modules/streamx/index.js
+var require_streamx = __commonJS({
+  "node_modules/streamx/index.js"(exports2, module2) {
+    var { EventEmitter } = require("events");
+    var STREAM_DESTROYED = new Error("Stream was destroyed");
+    var PREMATURE_CLOSE = new Error("Premature close");
+    var queueTick = require_process_next_tick();
+    var FIFO = require_fast_fifo();
+    var TextDecoder2 = require_text_decoder();
+    var MAX = (1 << 29) - 1;
+    var OPENING = 1;
+    var PREDESTROYING = 2;
+    var DESTROYING = 4;
+    var DESTROYED = 8;
+    var NOT_OPENING = MAX ^ OPENING;
+    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
+    var READ_ACTIVE = 1 << 4;
+    var READ_UPDATING = 2 << 4;
+    var READ_PRIMARY = 4 << 4;
+    var READ_QUEUED = 8 << 4;
+    var READ_RESUMED = 16 << 4;
+    var READ_PIPE_DRAINED = 32 << 4;
+    var READ_ENDING = 64 << 4;
+    var READ_EMIT_DATA = 128 << 4;
+    var READ_EMIT_READABLE = 256 << 4;
+    var READ_EMITTED_READABLE = 512 << 4;
+    var READ_DONE = 1024 << 4;
+    var READ_NEXT_TICK = 2048 << 4;
+    var READ_NEEDS_PUSH = 4096 << 4;
+    var READ_READ_AHEAD = 8192 << 4;
+    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
+    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
+    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
+    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
+    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
+    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
+    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
+    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
+    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
+    var READ_PAUSED = MAX ^ READ_RESUMED;
+    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
+    var READ_NOT_ENDING = MAX ^ READ_ENDING;
+    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
+    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
+    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
+    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
+    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
+    var WRITE_ACTIVE = 1 << 18;
+    var WRITE_UPDATING = 2 << 18;
+    var WRITE_PRIMARY = 4 << 18;
+    var WRITE_QUEUED = 8 << 18;
+    var WRITE_UNDRAINED = 16 << 18;
+    var WRITE_DONE = 32 << 18;
+    var WRITE_EMIT_DRAIN = 64 << 18;
+    var WRITE_NEXT_TICK = 128 << 18;
+    var WRITE_WRITING = 256 << 18;
+    var WRITE_FINISHING = 512 << 18;
+    var WRITE_CORKED = 1024 << 18;
+    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
+    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
+    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
+    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
+    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
+    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
+    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
+    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
+    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
+    var NOT_ACTIVE = MAX ^ ACTIVE;
+    var DONE = READ_DONE | WRITE_DONE;
+    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
+    var OPEN_STATUS = DESTROY_STATUS | OPENING;
+    var AUTO_DESTROY = DESTROY_STATUS | DONE;
+    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
+    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
+    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
+    var IS_OPENING = OPEN_STATUS | TICKING;
+    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
+    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
+    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
+    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
+    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
+    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
+    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
+    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
+    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
+    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
+    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
+    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
+    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
+    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
+    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
+    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
+    var WritableState = class {
+      constructor(stream2, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
+        this.stream = stream2;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark;
+        this.buffered = 0;
+        this.error = null;
+        this.pipeline = null;
+        this.drains = null;
+        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
+        this.map = mapWritable || map2;
+        this.afterWrite = afterWrite.bind(this);
+        this.afterUpdateNextTick = updateWriteNT.bind(this);
       }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 2;
-        return nb;
+      get ended() {
+        return (this.stream._duplexState & WRITE_DONE) !== 0;
       }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) {
-          if (nb === 2) nb = 0;
-          else self2.lastNeed = nb - 3;
+      push(data) {
+        if (this.map !== null) data = this.map(data);
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        if (this.buffered < this.highWaterMark) {
+          this.stream._duplexState |= WRITE_QUEUED;
+          return true;
         }
-        return nb;
-      }
-      return 0;
-    }
-    function utf8CheckExtraBytes(self2, buf, p) {
-      if ((buf[0] & 192) !== 128) {
-        self2.lastNeed = 0;
-        return "\uFFFD";
+        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
+        return false;
       }
-      if (self2.lastNeed > 1 && buf.length > 1) {
-        if ((buf[1] & 192) !== 128) {
-          self2.lastNeed = 1;
-          return "\uFFFD";
-        }
-        if (self2.lastNeed > 2 && buf.length > 2) {
-          if ((buf[2] & 192) !== 128) {
-            self2.lastNeed = 2;
-            return "\uFFFD";
-          }
-        }
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
+        return data;
       }
-    }
-    function utf8FillLast(buf) {
-      var p = this.lastTotal - this.lastNeed;
-      var r = utf8CheckExtraBytes(this, buf, p);
-      if (r !== void 0) return r;
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, p, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      end(data) {
+        if (typeof data === "function") this.stream.once("finish", data);
+        else if (data !== void 0 && data !== null) this.push(data);
+        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
       }
-      buf.copy(this.lastChar, p, 0, buf.length);
-      this.lastNeed -= buf.length;
-    }
-    function utf8Text(buf, i) {
-      var total = utf8CheckIncomplete(this, buf, i);
-      if (!this.lastNeed) return buf.toString("utf8", i);
-      this.lastTotal = total;
-      var end = buf.length - (total - this.lastNeed);
-      buf.copy(this.lastChar, 0, end);
-      return buf.toString("utf8", i, end);
-    }
-    function utf8End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + "\uFFFD";
-      return r;
-    }
-    function utf16Text(buf, i) {
-      if ((buf.length - i) % 2 === 0) {
-        var r = buf.toString("utf16le", i);
-        if (r) {
-          var c = r.charCodeAt(r.length - 1);
-          if (c >= 55296 && c <= 56319) {
-            this.lastNeed = 2;
-            this.lastTotal = 4;
-            this.lastChar[0] = buf[buf.length - 2];
-            this.lastChar[1] = buf[buf.length - 1];
-            return r.slice(0, -1);
-          }
+      autoBatch(data, cb) {
+        const buffer = [];
+        const stream2 = this.stream;
+        buffer.push(data);
+        while ((stream2._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
+          buffer.push(stream2._writableState.shift());
         }
-        return r;
-      }
-      this.lastNeed = 1;
-      this.lastTotal = 2;
-      this.lastChar[0] = buf[buf.length - 1];
-      return buf.toString("utf16le", i, buf.length - 1);
-    }
-    function utf16End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) {
-        var end = this.lastTotal - this.lastNeed;
-        return r + this.lastChar.toString("utf16le", 0, end);
+        if ((stream2._duplexState & OPEN_STATUS) !== 0) return cb(null);
+        stream2._writev(buffer, cb);
       }
-      return r;
-    }
-    function base64Text(buf, i) {
-      var n = (buf.length - i) % 3;
-      if (n === 0) return buf.toString("base64", i);
-      this.lastNeed = 3 - n;
-      this.lastTotal = 3;
-      if (n === 1) {
-        this.lastChar[0] = buf[buf.length - 1];
-      } else {
-        this.lastChar[0] = buf[buf.length - 2];
-        this.lastChar[1] = buf[buf.length - 1];
+      update() {
+        const stream2 = this.stream;
+        stream2._duplexState |= WRITE_UPDATING;
+        do {
+          while ((stream2._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
+            const data = this.shift();
+            stream2._duplexState |= WRITE_ACTIVE_AND_WRITING;
+            stream2._write(data, this.afterWrite);
+          }
+          if ((stream2._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream2._duplexState &= WRITE_NOT_UPDATING;
       }
-      return buf.toString("base64", i, buf.length - n);
-    }
-    function base64End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
-      return r;
-    }
-    function simpleWrite(buf) {
-      return buf.toString(this.encoding);
-    }
-    function simpleEnd(buf) {
-      return buf && buf.length ? this.write(buf) : "";
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
-var require_stream_readable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Readable2;
-    var isArray = require_isarray();
-    var Duplex;
-    Readable2.ReadableState = ReadableState;
-    var EE = require("events").EventEmitter;
-    var EElistenerCount = function(emitter, type2) {
-      return emitter.listeners(type2).length;
-    };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
-    };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var debugUtil = require("util");
-    var debug5 = void 0;
-    if (debugUtil && debugUtil.debuglog) {
-      debug5 = debugUtil.debuglog("stream");
-    } else {
-      debug5 = function() {
-      };
-    }
-    var BufferList = require_BufferList();
-    var destroyImpl = require_destroy();
-    var StringDecoder;
-    util.inherits(Readable2, Stream);
-    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
-    function ReadableState(options, stream2) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream2 instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
-      var hwm = options.highWaterMark;
-      var readableHwm = options.readableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = null;
-      this.pipesCount = 0;
-      this.flowing = null;
-      this.ended = false;
-      this.endEmitted = false;
-      this.reading = false;
-      this.sync = true;
-      this.needReadable = false;
-      this.emittedReadable = false;
-      this.readableListening = false;
-      this.resumeScheduled = false;
-      this.destroyed = false;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.awaitDrain = 0;
-      this.readingMore = false;
-      this.decoder = null;
-      this.encoding = null;
-      if (options.encoding) {
-        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
+      updateNonPrimary() {
+        const stream2 = this.stream;
+        if ((stream2._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
+          stream2._duplexState = (stream2._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
+          stream2._final(afterFinal.bind(this));
+          return;
+        }
+        if ((stream2._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream2._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream2._duplexState |= ACTIVE;
+            stream2._destroy(afterDestroy.bind(this));
+          }
+          return;
+        }
+        if ((stream2._duplexState & IS_OPENING) === OPENING) {
+          stream2._duplexState = (stream2._duplexState | ACTIVE) & NOT_OPENING;
+          stream2._open(afterOpen.bind(this));
+        }
       }
-    }
-    function Readable2(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!(this instanceof Readable2)) return new Readable2(options);
-      this._readableState = new ReadableState(options, this);
-      this.readable = true;
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
+      continueUpdate() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        return true;
       }
-      Stream.call(this);
-    }
-    Object.defineProperty(Readable2.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0) {
+      updateCallback() {
+        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= WRITE_NEXT_TICK;
+        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      }
+    };
+    var ReadableState = class {
+      constructor(stream2, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
+        this.stream = stream2;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
+        this.buffered = 0;
+        this.readAhead = highWaterMark > 0;
+        this.error = null;
+        this.pipeline = null;
+        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
+        this.map = mapReadable || map2;
+        this.pipeTo = null;
+        this.afterRead = afterRead.bind(this);
+        this.afterUpdateNextTick = updateReadNT.bind(this);
+      }
+      get ended() {
+        return (this.stream._duplexState & READ_DONE) !== 0;
+      }
+      pipe(pipeTo, cb) {
+        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
+        if (typeof cb !== "function") cb = null;
+        this.stream._duplexState |= READ_PIPE_DRAINED;
+        this.pipeTo = pipeTo;
+        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
+        if (cb) this.stream.on("error", noop3);
+        if (isStreamx(pipeTo)) {
+          pipeTo._writableState.pipeline = this.pipeline;
+          if (cb) pipeTo.on("error", noop3);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+        } else {
+          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
+          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
+          pipeTo.on("error", onerror);
+          pipeTo.on("close", onclose);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+        }
+        pipeTo.on("drain", afterDrain.bind(this));
+        this.stream.emit("piping", pipeTo);
+        pipeTo.emit("pipe", this.stream);
+      }
+      push(data) {
+        const stream2 = this.stream;
+        if (data === null) {
+          this.highWaterMark = 0;
+          stream2._duplexState = (stream2._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
           return false;
         }
-        return this._readableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._readableState) {
-          return;
+        if (this.map !== null) {
+          data = this.map(data);
+          if (data === null) {
+            stream2._duplexState &= READ_PUSHED;
+            return this.buffered < this.highWaterMark;
+          }
         }
-        this._readableState.destroyed = value;
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        stream2._duplexState = (stream2._duplexState | READ_QUEUED) & READ_PUSHED;
+        return this.buffered < this.highWaterMark;
       }
-    });
-    Readable2.prototype.destroy = destroyImpl.destroy;
-    Readable2.prototype._undestroy = destroyImpl.undestroy;
-    Readable2.prototype._destroy = function(err, cb) {
-      this.push(null);
-      cb(err);
-    };
-    Readable2.prototype.push = function(chunk, encoding) {
-      var state = this._readableState;
-      var skipChunkCheck;
-      if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (encoding !== state.encoding) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "";
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
+        return data;
+      }
+      unshift(data) {
+        const pending = [this.map !== null ? this.map(data) : data];
+        while (this.buffered > 0) pending.push(this.shift());
+        for (let i = 0; i < pending.length - 1; i++) {
+          const data2 = pending[i];
+          this.buffered += this.byteLength(data2);
+          this.queue.push(data2);
+        }
+        this.push(pending[pending.length - 1]);
+      }
+      read() {
+        const stream2 = this.stream;
+        if ((stream2._duplexState & READ_STATUS) === READ_QUEUED) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream2._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream2._duplexState & READ_EMIT_DATA) !== 0) stream2.emit("data", data);
+          return data;
+        }
+        if (this.readAhead === false) {
+          stream2._duplexState |= READ_READ_AHEAD;
+          this.updateNextTick();
+        }
+        return null;
+      }
+      drain() {
+        const stream2 = this.stream;
+        while ((stream2._duplexState & READ_STATUS) === READ_QUEUED && (stream2._duplexState & READ_FLOWING) !== 0) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream2._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream2._duplexState & READ_EMIT_DATA) !== 0) stream2.emit("data", data);
+        }
+      }
+      update() {
+        const stream2 = this.stream;
+        stream2._duplexState |= READ_UPDATING;
+        do {
+          this.drain();
+          while (this.buffered < this.highWaterMark && (stream2._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
+            stream2._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
+            stream2._read(this.afterRead);
+            this.drain();
           }
-          skipChunkCheck = true;
+          if ((stream2._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
+            stream2._duplexState |= READ_EMITTED_READABLE;
+            stream2.emit("readable");
+          }
+          if ((stream2._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream2._duplexState &= READ_NOT_UPDATING;
+      }
+      updateNonPrimary() {
+        const stream2 = this.stream;
+        if ((stream2._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
+          stream2._duplexState = (stream2._duplexState | READ_DONE) & READ_NOT_ENDING;
+          stream2.emit("end");
+          if ((stream2._duplexState & AUTO_DESTROY) === DONE) stream2._duplexState |= DESTROYING;
+          if (this.pipeTo !== null) this.pipeTo.end();
+        }
+        if ((stream2._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream2._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream2._duplexState |= ACTIVE;
+            stream2._destroy(afterDestroy.bind(this));
+          }
+          return;
+        }
+        if ((stream2._duplexState & IS_OPENING) === OPENING) {
+          stream2._duplexState = (stream2._duplexState | ACTIVE) & NOT_OPENING;
+          stream2._open(afterOpen.bind(this));
         }
-      } else {
-        skipChunkCheck = true;
       }
-      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
+      continueUpdate() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        return true;
+      }
+      updateCallback() {
+        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= READ_NEXT_TICK;
+        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      }
     };
-    Readable2.prototype.unshift = function(chunk) {
-      return readableAddChunk(this, chunk, null, true, false);
+    var TransformState = class {
+      constructor(stream2) {
+        this.data = null;
+        this.afterTransform = afterTransform.bind(stream2);
+        this.afterFinal = null;
+      }
     };
-    function readableAddChunk(stream2, chunk, encoding, addToFront, skipChunkCheck) {
-      var state = stream2._readableState;
-      if (chunk === null) {
-        state.reading = false;
-        onEofChunk(stream2, state);
-      } else {
-        var er;
-        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
-        if (er) {
-          stream2.emit("error", er);
-        } else if (state.objectMode || chunk && chunk.length > 0) {
-          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
-            chunk = _uint8ArrayToBuffer(chunk);
+    var Pipeline = class {
+      constructor(src, dst, cb) {
+        this.from = src;
+        this.to = dst;
+        this.afterPipe = cb;
+        this.error = null;
+        this.pipeToFinished = false;
+      }
+      finished() {
+        this.pipeToFinished = true;
+      }
+      done(stream2, err) {
+        if (err) this.error = err;
+        if (stream2 === this.to) {
+          this.to = null;
+          if (this.from !== null) {
+            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
+              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+            }
+            return;
           }
-          if (addToFront) {
-            if (state.endEmitted) stream2.emit("error", new Error("stream.unshift() after end event"));
-            else addChunk(stream2, state, chunk, true);
-          } else if (state.ended) {
-            stream2.emit("error", new Error("stream.push() after EOF"));
-          } else {
-            state.reading = false;
-            if (state.decoder && !encoding) {
-              chunk = state.decoder.write(chunk);
-              if (state.objectMode || chunk.length !== 0) addChunk(stream2, state, chunk, false);
-              else maybeReadMore(stream2, state);
-            } else {
-              addChunk(stream2, state, chunk, false);
+        }
+        if (stream2 === this.from) {
+          this.from = null;
+          if (this.to !== null) {
+            if ((stream2._duplexState & READ_DONE) === 0) {
+              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
             }
+            return;
           }
-        } else if (!addToFront) {
-          state.reading = false;
         }
+        if (this.afterPipe !== null) this.afterPipe(this.error);
+        this.to = this.from = this.afterPipe = null;
       }
-      return needMoreData(state);
+    };
+    function afterDrain() {
+      this.stream._duplexState |= READ_PIPE_DRAINED;
+      this.updateCallback();
     }
-    function addChunk(stream2, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync) {
-        stream2.emit("data", chunk);
-        stream2.read(0);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if (state.needReadable) emitReadable(stream2);
+    function afterFinal(err) {
+      const stream2 = this.stream;
+      if (err) stream2.destroy(err);
+      if ((stream2._duplexState & DESTROY_STATUS) === 0) {
+        stream2._duplexState |= WRITE_DONE;
+        stream2.emit("finish");
       }
-      maybeReadMore(stream2, state);
-    }
-    function chunkInvalid(state, chunk) {
-      var er;
-      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+      if ((stream2._duplexState & AUTO_DESTROY) === DONE) {
+        stream2._duplexState |= DESTROYING;
       }
-      return er;
-    }
-    function needMoreData(state) {
-      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
+      stream2._duplexState &= WRITE_NOT_ACTIVE;
+      if ((stream2._duplexState & WRITE_UPDATING) === 0) this.update();
+      else this.updateNextTick();
     }
-    Readable2.prototype.isPaused = function() {
-      return this._readableState.flowing === false;
-    };
-    Readable2.prototype.setEncoding = function(enc) {
-      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-      this._readableState.decoder = new StringDecoder(enc);
-      this._readableState.encoding = enc;
-      return this;
-    };
-    var MAX_HWM = 8388608;
-    function computeNewHighWaterMark(n) {
-      if (n >= MAX_HWM) {
-        n = MAX_HWM;
-      } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+    function afterDestroy(err) {
+      const stream2 = this.stream;
+      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
+      if (err) stream2.emit("error", err);
+      stream2._duplexState |= DESTROYED;
+      stream2.emit("close");
+      const rs = stream2._readableState;
+      const ws = stream2._writableState;
+      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream2, err);
+      if (ws !== null) {
+        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
+        if (ws.pipeline !== null) ws.pipeline.done(stream2, err);
       }
-      return n;
     }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if (state.objectMode) return 1;
-      if (n !== n) {
-        if (state.flowing && state.length) return state.buffer.head.data.length;
-        else return state.length;
+    function afterWrite(err) {
+      const stream2 = this.stream;
+      if (err) stream2.destroy(err);
+      stream2._duplexState &= WRITE_NOT_ACTIVE;
+      if (this.drains !== null) tickDrains(this.drains);
+      if ((stream2._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
+        stream2._duplexState &= WRITE_DRAINED;
+        if ((stream2._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
+          stream2.emit("drain");
+        }
       }
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n <= state.length) return n;
-      if (!state.ended) {
-        state.needReadable = true;
-        return 0;
+      this.updateCallback();
+    }
+    function afterRead(err) {
+      if (err) this.stream.destroy(err);
+      this.stream._duplexState &= READ_NOT_ACTIVE;
+      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
+      this.updateCallback();
+    }
+    function updateReadNT() {
+      if ((this.stream._duplexState & READ_UPDATING) === 0) {
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        this.update();
       }
-      return state.length;
     }
-    Readable2.prototype.read = function(n) {
-      debug5("read", n);
-      n = parseInt(n, 10);
-      var state = this._readableState;
-      var nOrig = n;
-      if (n !== 0) state.emittedReadable = false;
-      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
-        debug5("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
+    function updateWriteNT() {
+      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        this.update();
       }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
+    }
+    function tickDrains(drains) {
+      for (let i = 0; i < drains.length; i++) {
+        if (--drains[i].writes === 0) {
+          drains.shift().resolve(true);
+          i--;
+        }
       }
-      var doRead = state.needReadable;
-      debug5("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug5("length less than watermark", doRead);
+    }
+    function afterOpen(err) {
+      const stream2 = this.stream;
+      if (err) stream2.destroy(err);
+      if ((stream2._duplexState & DESTROYING) === 0) {
+        if ((stream2._duplexState & READ_PRIMARY_STATUS) === 0) stream2._duplexState |= READ_PRIMARY;
+        if ((stream2._duplexState & WRITE_PRIMARY_STATUS) === 0) stream2._duplexState |= WRITE_PRIMARY;
+        stream2.emit("open");
       }
-      if (state.ended || state.reading) {
-        doRead = false;
-        debug5("reading or ended", doRead);
-      } else if (doRead) {
-        debug5("do read");
-        state.reading = true;
-        state.sync = true;
-        if (state.length === 0) state.needReadable = true;
-        this._read(state.highWaterMark);
-        state.sync = false;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
+      stream2._duplexState &= NOT_ACTIVE;
+      if (stream2._writableState !== null) {
+        stream2._writableState.updateCallback();
       }
-      var ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = true;
-        n = 0;
-      } else {
-        state.length -= n;
+      if (stream2._readableState !== null) {
+        stream2._readableState.updateCallback();
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
+    }
+    function afterTransform(err, data) {
+      if (data !== void 0 && data !== null) this.push(data);
+      this._writableState.afterWrite(err);
+    }
+    function newListener(name) {
+      if (this._readableState !== null) {
+        if (name === "data") {
+          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
+          this._readableState.updateNextTick();
+        }
+        if (name === "readable") {
+          this._duplexState |= READ_EMIT_READABLE;
+          this._readableState.updateNextTick();
+        }
       }
-      if (ret !== null) this.emit("data", ret);
-      return ret;
-    };
-    function onEofChunk(stream2, state) {
-      if (state.ended) return;
-      if (state.decoder) {
-        var chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
+      if (this._writableState !== null) {
+        if (name === "drain") {
+          this._duplexState |= WRITE_EMIT_DRAIN;
+          this._writableState.updateNextTick();
         }
       }
-      state.ended = true;
-      emitReadable(stream2);
     }
-    function emitReadable(stream2) {
-      var state = stream2._readableState;
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug5("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        if (state.sync) pna.nextTick(emitReadable_, stream2);
-        else emitReadable_(stream2);
+    var Stream = class extends EventEmitter {
+      constructor(opts) {
+        super();
+        this._duplexState = 0;
+        this._readableState = null;
+        this._writableState = null;
+        if (opts) {
+          if (opts.open) this._open = opts.open;
+          if (opts.destroy) this._destroy = opts.destroy;
+          if (opts.predestroy) this._predestroy = opts.predestroy;
+          if (opts.signal) {
+            opts.signal.addEventListener("abort", abort.bind(this));
+          }
+        }
+        this.on("newListener", newListener);
       }
-    }
-    function emitReadable_(stream2) {
-      debug5("emit readable");
-      stream2.emit("readable");
-      flow(stream2);
-    }
-    function maybeReadMore(stream2, state) {
-      if (!state.readingMore) {
-        state.readingMore = true;
-        pna.nextTick(maybeReadMore_, stream2, state);
+      _open(cb) {
+        cb(null);
       }
-    }
-    function maybeReadMore_(stream2, state) {
-      var len = state.length;
-      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
-        debug5("maybeReadMore read 0");
-        stream2.read(0);
-        if (len === state.length)
-          break;
-        else len = state.length;
+      _destroy(cb) {
+        cb(null);
       }
-      state.readingMore = false;
-    }
-    Readable2.prototype._read = function(n) {
-      this.emit("error", new Error("_read() is not implemented"));
-    };
-    Readable2.prototype.pipe = function(dest, pipeOpts) {
-      var src = this;
-      var state = this._readableState;
-      switch (state.pipesCount) {
-        case 0:
-          state.pipes = dest;
-          break;
-        case 1:
-          state.pipes = [state.pipes, dest];
-          break;
-        default:
-          state.pipes.push(dest);
-          break;
+      _predestroy() {
       }
-      state.pipesCount += 1;
-      debug5("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
-      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
-      var endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) pna.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug5("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
-        }
+      get readable() {
+        return this._readableState !== null ? true : void 0;
       }
-      function onend() {
-        debug5("onend");
-        dest.end();
+      get writable() {
+        return this._writableState !== null ? true : void 0;
       }
-      var ondrain = pipeOnDrain(src);
-      dest.on("drain", ondrain);
-      var cleanedUp = false;
-      function cleanup() {
-        debug5("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        dest.removeListener("drain", ondrain);
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      get destroyed() {
+        return (this._duplexState & DESTROYED) !== 0;
       }
-      var increasedAwaitDrain = false;
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug5("ondata");
-        increasedAwaitDrain = false;
-        var ret = dest.write(chunk);
-        if (false === ret && !increasedAwaitDrain) {
-          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
-            debug5("false write response, pause", state.awaitDrain);
-            state.awaitDrain++;
-            increasedAwaitDrain = true;
+      get destroying() {
+        return (this._duplexState & DESTROY_STATUS) !== 0;
+      }
+      destroy(err) {
+        if ((this._duplexState & DESTROY_STATUS) === 0) {
+          if (!err) err = STREAM_DESTROYED;
+          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
+          if (this._readableState !== null) {
+            this._readableState.highWaterMark = 0;
+            this._readableState.error = err;
           }
-          src.pause();
+          if (this._writableState !== null) {
+            this._writableState.highWaterMark = 0;
+            this._writableState.error = err;
+          }
+          this._duplexState |= PREDESTROYING;
+          this._predestroy();
+          this._duplexState &= NOT_PREDESTROYING;
+          if (this._readableState !== null) this._readableState.updateNextTick();
+          if (this._writableState !== null) this._writableState.updateNextTick();
         }
       }
-      function onerror(er) {
-        debug5("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
+    };
+    var Readable2 = class _Readable extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
+        this._readableState = new ReadableState(this, opts);
+        if (opts) {
+          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
+          if (opts.read) this._read = opts.read;
+          if (opts.eagerOpen) this._readableState.updateNextTick();
+          if (opts.encoding) this.setEncoding(opts.encoding);
+        }
       }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
+      setEncoding(encoding) {
+        const dec = new TextDecoder2(encoding);
+        const map2 = this._readableState.map || echo;
+        this._readableState.map = mapOrSkip;
+        return this;
+        function mapOrSkip(data) {
+          const next = dec.push(data);
+          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+        }
       }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug5("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
+      _read(cb) {
+        cb(null);
       }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug5("unpipe");
-        src.unpipe(dest);
+      pipe(dest, cb) {
+        this._readableState.updateNextTick();
+        this._readableState.pipe(dest, cb);
+        return dest;
       }
-      dest.emit("pipe", src);
-      if (!state.flowing) {
-        debug5("pipe resume");
-        src.resume();
+      read() {
+        this._readableState.updateNextTick();
+        return this._readableState.read();
       }
-      return dest;
-    };
-    function pipeOnDrain(src) {
-      return function() {
-        var state = src._readableState;
-        debug5("pipeOnDrain", state.awaitDrain);
-        if (state.awaitDrain) state.awaitDrain--;
-        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
-          state.flowing = true;
-          flow(src);
-        }
-      };
-    }
-    Readable2.prototype.unpipe = function(dest) {
-      var state = this._readableState;
-      var unpipeInfo = { hasUnpiped: false };
-      if (state.pipesCount === 0) return this;
-      if (state.pipesCount === 1) {
-        if (dest && dest !== state.pipes) return this;
-        if (!dest) dest = state.pipes;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        if (dest) dest.emit("unpipe", this, unpipeInfo);
+      push(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.push(data);
+      }
+      unshift(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.unshift(data);
+      }
+      resume() {
+        this._duplexState |= READ_RESUMED_READ_AHEAD;
+        this._readableState.updateNextTick();
         return this;
       }
-      if (!dest) {
-        var dests = state.pipes;
-        var len = state.pipesCount;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        for (var i = 0; i < len; i++) {
-          dests[i].emit("unpipe", this, { hasUnpiped: false });
-        }
+      pause() {
+        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
         return this;
       }
-      var index = indexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      state.pipesCount -= 1;
-      if (state.pipesCount === 1) state.pipes = state.pipes[0];
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
-    };
-    Readable2.prototype.on = function(ev, fn) {
-      var res = Stream.prototype.on.call(this, ev, fn);
-      if (ev === "data") {
-        if (this._readableState.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        var state = this._readableState;
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.emittedReadable = false;
-          if (!state.reading) {
-            pna.nextTick(nReadingNextTick, this);
-          } else if (state.length) {
-            emitReadable(this);
+      static _fromAsyncIterator(ite, opts) {
+        let destroy;
+        const rs = new _Readable({
+          ...opts,
+          read(cb) {
+            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
+          },
+          predestroy() {
+            destroy = ite.return();
+          },
+          destroy(cb) {
+            if (!destroy) return cb(null);
+            destroy.then(cb.bind(null, null)).catch(cb);
           }
+        });
+        return rs;
+        function push(data) {
+          if (data.done) rs.push(null);
+          else rs.push(data.value);
         }
       }
-      return res;
-    };
-    Readable2.prototype.addListener = Readable2.prototype.on;
-    function nReadingNextTick(self2) {
-      debug5("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable2.prototype.resume = function() {
-      var state = this._readableState;
-      if (!state.flowing) {
-        debug5("resume");
-        state.flowing = true;
-        resume(this, state);
-      }
-      return this;
-    };
-    function resume(stream2, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        pna.nextTick(resume_, stream2, state);
-      }
-    }
-    function resume_(stream2, state) {
-      if (!state.reading) {
-        debug5("resume read 0");
-        stream2.read(0);
+      static from(data, opts) {
+        if (isReadStreamx(data)) return data;
+        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
+        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
+        let i = 0;
+        return new _Readable({
+          ...opts,
+          read(cb) {
+            this.push(i === data.length ? null : data[i++]);
+            cb(null);
+          }
+        });
       }
-      state.resumeScheduled = false;
-      state.awaitDrain = 0;
-      stream2.emit("resume");
-      flow(stream2);
-      if (state.flowing && !state.reading) stream2.read(0);
-    }
-    Readable2.prototype.pause = function() {
-      debug5("call pause flowing=%j", this._readableState.flowing);
-      if (false !== this._readableState.flowing) {
-        debug5("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+      static isBackpressured(rs) {
+        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
       }
-      return this;
-    };
-    function flow(stream2) {
-      var state = stream2._readableState;
-      debug5("flow", state.flowing);
-      while (state.flowing && stream2.read() !== null) {
+      static isPaused(rs) {
+        return (rs._duplexState & READ_RESUMED) === 0;
       }
-    }
-    Readable2.prototype.wrap = function(stream2) {
-      var _this = this;
-      var state = this._readableState;
-      var paused = false;
-      stream2.on("end", function() {
-        debug5("wrapped end");
-        if (state.decoder && !state.ended) {
-          var chunk = state.decoder.end();
-          if (chunk && chunk.length) _this.push(chunk);
+      [asyncIterator]() {
+        const stream2 = this;
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("readable", onreadable);
+        this.on("close", onclose);
+        return {
+          [asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(function(resolve8, reject) {
+              promiseResolve = resolve8;
+              promiseReject = reject;
+              const data = stream2.read();
+              if (data !== null) ondata(data);
+              else if ((stream2._duplexState & DESTROYED) !== 0) ondata(null);
+            });
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
+          }
+        };
+        function onreadable() {
+          if (promiseResolve !== null) ondata(stream2.read());
         }
-        _this.push(null);
-      });
-      stream2.on("data", function(chunk) {
-        debug5("wrapped data");
-        if (state.decoder) chunk = state.decoder.write(chunk);
-        if (state.objectMode && (chunk === null || chunk === void 0)) return;
-        else if (!state.objectMode && (!chunk || !chunk.length)) return;
-        var ret = _this.push(chunk);
-        if (!ret) {
-          paused = true;
-          stream2.pause();
+        function onclose() {
+          if (promiseResolve !== null) ondata(null);
         }
-      });
-      for (var i in stream2) {
-        if (this[i] === void 0 && typeof stream2[i] === "function") {
-          this[i] = /* @__PURE__ */ (function(method) {
-            return function() {
-              return stream2[method].apply(stream2, arguments);
-            };
-          })(i);
+        function ondata(data) {
+          if (promiseReject === null) return;
+          if (error3) promiseReject(error3);
+          else if (data === null && (stream2._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
+          else promiseResolve({ value: data, done: data === null });
+          promiseReject = promiseResolve = null;
         }
-      }
-      for (var n = 0; n < kProxyEvents.length; n++) {
-        stream2.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
-      }
-      this._read = function(n2) {
-        debug5("wrapped _read", n2);
-        if (paused) {
-          paused = false;
-          stream2.resume();
+        function destroy(err) {
+          stream2.destroy(err);
+          return new Promise((resolve8, reject) => {
+            if (stream2._duplexState & DESTROYED) return resolve8({ value: void 0, done: true });
+            stream2.once("close", function() {
+              if (err) reject(err);
+              else resolve8({ value: void 0, done: true });
+            });
+          });
         }
-      };
-      return this;
+      }
     };
-    Object.defineProperty(Readable2.prototype, "readableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._readableState.highWaterMark;
+    var Writable = class extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | READ_DONE;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
+          if (opts.eagerOpen) this._writableState.updateNextTick();
+        }
       }
-    });
-    Readable2._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      var ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.head.data;
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
-      } else {
-        ret = fromListPartial(n, state.buffer, state.decoder);
+      cork() {
+        this._duplexState |= WRITE_CORKED;
       }
-      return ret;
-    }
-    function fromListPartial(n, list, hasStrings) {
-      var ret;
-      if (n < list.head.data.length) {
-        ret = list.head.data.slice(0, n);
-        list.head.data = list.head.data.slice(n);
-      } else if (n === list.head.data.length) {
-        ret = list.shift();
-      } else {
-        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
       }
-      return ret;
-    }
-    function copyFromBufferString(n, list) {
-      var p = list.head;
-      var c = 1;
-      var ret = p.data;
-      n -= ret.length;
-      while (p = p.next) {
-        var str2 = p.data;
-        var nb = n > str2.length ? str2.length : n;
-        if (nb === str2.length) ret += str2;
-        else ret += str2.slice(0, n);
-        n -= nb;
-        if (n === 0) {
-          if (nb === str2.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = str2.slice(nb);
-          }
-          break;
-        }
-        ++c;
+      _writev(batch, cb) {
+        cb(null);
       }
-      list.length -= c;
-      return ret;
-    }
-    function copyFromBuffer(n, list) {
-      var ret = Buffer2.allocUnsafe(n);
-      var p = list.head;
-      var c = 1;
-      p.data.copy(ret);
-      n -= p.data.length;
-      while (p = p.next) {
-        var buf = p.data;
-        var nb = n > buf.length ? buf.length : n;
-        buf.copy(ret, ret.length - n, 0, nb);
-        n -= nb;
-        if (n === 0) {
-          if (nb === buf.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = buf.slice(nb);
-          }
-          break;
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
+      }
+      _final(cb) {
+        cb(null);
+      }
+      static isBackpressured(ws) {
+        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
+      }
+      static drained(ws) {
+        if (ws.destroyed) return Promise.resolve(false);
+        const state = ws._writableState;
+        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
+        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
+        if (writes === 0) return Promise.resolve(true);
+        if (state.drains === null) state.drains = [];
+        return new Promise((resolve8) => {
+          state.drains.push({ writes, resolve: resolve8 });
+        });
+      }
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
+      }
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
+      }
+    };
+    var Duplex = class extends Readable2 {
+      // and Writable
+      constructor(opts) {
+        super(opts);
+        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
         }
-        ++c;
       }
-      list.length -= c;
-      return ret;
-    }
-    function endReadable(stream2) {
-      var state = stream2._readableState;
-      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
-      if (!state.endEmitted) {
-        state.ended = true;
-        pna.nextTick(endReadableNT, state, stream2);
+      cork() {
+        this._duplexState |= WRITE_CORKED;
       }
-    }
-    function endReadableNT(state, stream2) {
-      if (!state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream2.readable = false;
-        stream2.emit("end");
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
       }
-    }
-    function indexOf(xs, x) {
-      for (var i = 0, l = xs.length; i < l; i++) {
-        if (xs[i] === x) return i;
+      _writev(batch, cb) {
+        cb(null);
       }
-      return -1;
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
-var require_stream_transform = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
-    "use strict";
-    module2.exports = Transform;
-    var Duplex = require_stream_duplex();
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    util.inherits(Transform, Duplex);
-    function afterTransform(er, data) {
-      var ts = this._transformState;
-      ts.transforming = false;
-      var cb = ts.writecb;
-      if (!cb) {
-        return this.emit("error", new Error("write callback called multiple times"));
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
       }
-      ts.writechunk = null;
-      ts.writecb = null;
-      if (data != null)
-        this.push(data);
-      cb(er);
-      var rs = this._readableState;
-      rs.reading = false;
-      if (rs.needReadable || rs.length < rs.highWaterMark) {
-        this._read(rs.highWaterMark);
+      _final(cb) {
+        cb(null);
       }
-    }
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      Duplex.call(this, options);
-      this._transformState = {
-        afterTransform: afterTransform.bind(this),
-        needTransform: false,
-        transforming: false,
-        writecb: null,
-        writechunk: null,
-        writeencoding: null
-      };
-      this._readableState.needReadable = true;
-      this._readableState.sync = false;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
       }
-      this.on("prefinish", prefinish);
-    }
-    function prefinish() {
-      var _this = this;
-      if (typeof this._flush === "function") {
-        this._flush(function(er, data) {
-          done(_this, er, data);
-        });
-      } else {
-        done(this, null, null);
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
       }
-    }
-    Transform.prototype.push = function(chunk, encoding) {
-      this._transformState.needTransform = false;
-      return Duplex.prototype.push.call(this, chunk, encoding);
     };
-    Transform.prototype._transform = function(chunk, encoding, cb) {
-      throw new Error("_transform() is not implemented");
-    };
-    Transform.prototype._write = function(chunk, encoding, cb) {
-      var ts = this._transformState;
-      ts.writecb = cb;
-      ts.writechunk = chunk;
-      ts.writeencoding = encoding;
-      if (!ts.transforming) {
-        var rs = this._readableState;
-        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
+    var Transform = class extends Duplex {
+      constructor(opts) {
+        super(opts);
+        this._transformState = new TransformState(this);
+        if (opts) {
+          if (opts.transform) this._transform = opts.transform;
+          if (opts.flush) this._flush = opts.flush;
+        }
       }
-    };
-    Transform.prototype._read = function(n) {
-      var ts = this._transformState;
-      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
-        ts.transforming = true;
-        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
-      } else {
-        ts.needTransform = true;
+      _write(data, cb) {
+        if (this._readableState.buffered >= this._readableState.highWaterMark) {
+          this._transformState.data = data;
+        } else {
+          this._transform(data, this._transformState.afterTransform);
+        }
       }
-    };
-    Transform.prototype._destroy = function(err, cb) {
-      var _this2 = this;
-      Duplex.prototype._destroy.call(this, err, function(err2) {
-        cb(err2);
-        _this2.emit("close");
-      });
-    };
-    function done(stream2, er, data) {
-      if (er) return stream2.emit("error", er);
-      if (data != null)
-        stream2.push(data);
-      if (stream2._writableState.length) throw new Error("Calling transform done when ws.length != 0");
-      if (stream2._transformState.transforming) throw new Error("Calling transform done when still transforming");
-      return stream2.push(null);
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
-var require_stream_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
-    "use strict";
-    module2.exports = PassThrough;
-    var Transform = require_stream_transform();
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    util.inherits(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
-    };
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/readable.js
-var require_readable3 = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
-    var Stream = require("stream");
-    if (process.env.READABLE_STREAM === "disable" && Stream) {
-      module2.exports = Stream;
-      exports2 = module2.exports = Stream.Readable;
-      exports2.Readable = Stream.Readable;
-      exports2.Writable = Stream.Writable;
-      exports2.Duplex = Stream.Duplex;
-      exports2.Transform = Stream.Transform;
-      exports2.PassThrough = Stream.PassThrough;
-      exports2.Stream = Stream;
-    } else {
-      exports2 = module2.exports = require_stream_readable();
-      exports2.Stream = Stream || exports2;
-      exports2.Readable = exports2;
-      exports2.Writable = require_stream_writable();
-      exports2.Duplex = require_stream_duplex();
-      exports2.Transform = require_stream_transform();
-      exports2.PassThrough = require_stream_passthrough();
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/passthrough.js
-var require_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
-    module2.exports = require_readable3().PassThrough;
-  }
-});
-
-// node_modules/lazystream/lib/lazystream.js
-var require_lazystream = __commonJS({
-  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
-    var util = require("util");
-    var PassThrough = require_passthrough();
-    module2.exports = {
-      Readable: Readable2,
-      Writable
-    };
-    util.inherits(Readable2, PassThrough);
-    util.inherits(Writable, PassThrough);
-    function beforeFirstCall(instance, method, callback) {
-      instance[method] = function() {
-        delete instance[method];
-        callback.apply(this, arguments);
-        return this[method].apply(this, arguments);
-      };
-    }
-    function Readable2(fn, options) {
-      if (!(this instanceof Readable2))
-        return new Readable2(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_read", function() {
-        var source = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        source.on("error", emit);
-        source.pipe(this);
-      });
-      this.emit("readable");
-    }
-    function Writable(fn, options) {
-      if (!(this instanceof Writable))
-        return new Writable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_write", function() {
-        var destination = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        destination.on("error", emit);
-        this.pipe(destination);
-      });
-      this.emit("writable");
-    }
-  }
-});
-
-// node_modules/normalize-path/index.js
-var require_normalize_path = __commonJS({
-  "node_modules/normalize-path/index.js"(exports2, module2) {
-    module2.exports = function(path16, stripTrailing) {
-      if (typeof path16 !== "string") {
-        throw new TypeError("expected path to be a string");
+      _read(cb) {
+        if (this._transformState.data !== null) {
+          const data = this._transformState.data;
+          this._transformState.data = null;
+          cb(null);
+          this._transform(data, this._transformState.afterTransform);
+        } else {
+          cb(null);
+        }
       }
-      if (path16 === "\\" || path16 === "/") return "/";
-      var len = path16.length;
-      if (len <= 1) return path16;
-      var prefix = "";
-      if (len > 4 && path16[3] === "\\") {
-        var ch = path16[2];
-        if ((ch === "?" || ch === ".") && path16.slice(0, 2) === "\\\\") {
-          path16 = path16.slice(2);
-          prefix = "//";
+      destroy(err) {
+        super.destroy(err);
+        if (this._transformState.data !== null) {
+          this._transformState.data = null;
+          this._transformState.afterTransform();
         }
       }
-      var segs = path16.split(/[/\\]+/);
-      if (stripTrailing !== false && segs[segs.length - 1] === "") {
-        segs.pop();
+      _transform(data, cb) {
+        cb(null, data);
+      }
+      _flush(cb) {
+        cb(null);
+      }
+      _final(cb) {
+        this._transformState.afterFinal = cb;
+        this._flush(transformAfterFlush.bind(this));
       }
-      return prefix + segs.join("/");
     };
-  }
-});
-
-// node_modules/lodash/identity.js
-var require_identity = __commonJS({
-  "node_modules/lodash/identity.js"(exports2, module2) {
-    function identity(value) {
-      return value;
+    var PassThrough = class extends Transform {
+    };
+    function transformAfterFlush(err, data) {
+      const cb = this._transformState.afterFinal;
+      if (err) return cb(err);
+      if (data !== null && data !== void 0) this.push(data);
+      this.push(null);
+      cb(null);
     }
-    module2.exports = identity;
-  }
-});
-
-// node_modules/lodash/_apply.js
-var require_apply = __commonJS({
-  "node_modules/lodash/_apply.js"(exports2, module2) {
-    function apply(func, thisArg, args) {
-      switch (args.length) {
-        case 0:
-          return func.call(thisArg);
-        case 1:
-          return func.call(thisArg, args[0]);
-        case 2:
-          return func.call(thisArg, args[0], args[1]);
-        case 3:
-          return func.call(thisArg, args[0], args[1], args[2]);
-      }
-      return func.apply(thisArg, args);
+    function pipelinePromise(...streams) {
+      return new Promise((resolve8, reject) => {
+        return pipeline(...streams, (err) => {
+          if (err) return reject(err);
+          resolve8();
+        });
+      });
     }
-    module2.exports = apply;
-  }
-});
-
-// node_modules/lodash/_overRest.js
-var require_overRest = __commonJS({
-  "node_modules/lodash/_overRest.js"(exports2, module2) {
-    var apply = require_apply();
-    var nativeMax = Math.max;
-    function overRest(func, start, transform) {
-      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
-      return function() {
-        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
-        while (++index < length) {
-          array[index] = args[start + index];
+    function pipeline(stream2, ...streams) {
+      const all = Array.isArray(stream2) ? [...stream2, ...streams] : [stream2, ...streams];
+      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
+      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
+      let src = all[0];
+      let dest = null;
+      let error3 = null;
+      for (let i = 1; i < all.length; i++) {
+        dest = all[i];
+        if (isStreamx(src)) {
+          src.pipe(dest, onerror);
+        } else {
+          errorHandle(src, true, i > 1, onerror);
+          src.pipe(dest);
         }
-        index = -1;
-        var otherArgs = Array(start + 1);
-        while (++index < start) {
-          otherArgs[index] = args[index];
+        src = dest;
+      }
+      if (done) {
+        let fin = false;
+        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
+        dest.on("error", (err) => {
+          if (error3 === null) error3 = err;
+        });
+        dest.on("finish", () => {
+          fin = true;
+          if (!autoDestroy) done(error3);
+        });
+        if (autoDestroy) {
+          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
         }
-        otherArgs[start] = transform(array);
-        return apply(func, this, otherArgs);
-      };
-    }
-    module2.exports = overRest;
-  }
-});
-
-// node_modules/lodash/constant.js
-var require_constant = __commonJS({
-  "node_modules/lodash/constant.js"(exports2, module2) {
-    function constant(value) {
-      return function() {
-        return value;
-      };
-    }
-    module2.exports = constant;
-  }
-});
-
-// node_modules/lodash/_freeGlobal.js
-var require_freeGlobal = __commonJS({
-  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
-    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
-    module2.exports = freeGlobal;
-  }
-});
-
-// node_modules/lodash/_root.js
-var require_root = __commonJS({
-  "node_modules/lodash/_root.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
-    var root = freeGlobal || freeSelf || Function("return this")();
-    module2.exports = root;
-  }
-});
-
-// node_modules/lodash/_Symbol.js
-var require_Symbol = __commonJS({
-  "node_modules/lodash/_Symbol.js"(exports2, module2) {
-    var root = require_root();
-    var Symbol2 = root.Symbol;
-    module2.exports = Symbol2;
-  }
-});
-
-// node_modules/lodash/_getRawTag.js
-var require_getRawTag = __commonJS({
-  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var nativeObjectToString = objectProto.toString;
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function getRawTag(value) {
-      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
-      try {
-        value[symToStringTag] = void 0;
-        var unmasked = true;
-      } catch (e) {
       }
-      var result = nativeObjectToString.call(value);
-      if (unmasked) {
-        if (isOwn) {
-          value[symToStringTag] = tag;
-        } else {
-          delete value[symToStringTag];
+      return dest;
+      function errorHandle(s, rd, wr, onerror2) {
+        s.on("error", onerror2);
+        s.on("close", onclose);
+        function onclose() {
+          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
+          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
         }
       }
-      return result;
-    }
-    module2.exports = getRawTag;
-  }
-});
-
-// node_modules/lodash/_objectToString.js
-var require_objectToString = __commonJS({
-  "node_modules/lodash/_objectToString.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    var nativeObjectToString = objectProto.toString;
-    function objectToString(value) {
-      return nativeObjectToString.call(value);
-    }
-    module2.exports = objectToString;
-  }
-});
-
-// node_modules/lodash/_baseGetTag.js
-var require_baseGetTag = __commonJS({
-  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var getRawTag = require_getRawTag();
-    var objectToString = require_objectToString();
-    var nullTag = "[object Null]";
-    var undefinedTag = "[object Undefined]";
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function baseGetTag(value) {
-      if (value == null) {
-        return value === void 0 ? undefinedTag : nullTag;
+      function onerror(err) {
+        if (!err || error3) return;
+        error3 = err;
+        for (const s of all) {
+          s.destroy(err);
+        }
       }
-      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
-    }
-    module2.exports = baseGetTag;
-  }
-});
-
-// node_modules/lodash/isObject.js
-var require_isObject = __commonJS({
-  "node_modules/lodash/isObject.js"(exports2, module2) {
-    function isObject2(value) {
-      var type2 = typeof value;
-      return value != null && (type2 == "object" || type2 == "function");
     }
-    module2.exports = isObject2;
-  }
-});
-
-// node_modules/lodash/isFunction.js
-var require_isFunction = __commonJS({
-  "node_modules/lodash/isFunction.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObject2 = require_isObject();
-    var asyncTag = "[object AsyncFunction]";
-    var funcTag = "[object Function]";
-    var genTag = "[object GeneratorFunction]";
-    var proxyTag = "[object Proxy]";
-    function isFunction(value) {
-      if (!isObject2(value)) {
-        return false;
-      }
-      var tag = baseGetTag(value);
-      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
+    function echo(s) {
+      return s;
     }
-    module2.exports = isFunction;
-  }
-});
-
-// node_modules/lodash/_coreJsData.js
-var require_coreJsData = __commonJS({
-  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
-    var root = require_root();
-    var coreJsData = root["__core-js_shared__"];
-    module2.exports = coreJsData;
-  }
-});
-
-// node_modules/lodash/_isMasked.js
-var require_isMasked = __commonJS({
-  "node_modules/lodash/_isMasked.js"(exports2, module2) {
-    var coreJsData = require_coreJsData();
-    var maskSrcKey = (function() {
-      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
-      return uid ? "Symbol(src)_1." + uid : "";
-    })();
-    function isMasked(func) {
-      return !!maskSrcKey && maskSrcKey in func;
+    function isStream(stream2) {
+      return !!stream2._readableState || !!stream2._writableState;
     }
-    module2.exports = isMasked;
-  }
-});
-
-// node_modules/lodash/_toSource.js
-var require_toSource = __commonJS({
-  "node_modules/lodash/_toSource.js"(exports2, module2) {
-    var funcProto = Function.prototype;
-    var funcToString = funcProto.toString;
-    function toSource(func) {
-      if (func != null) {
-        try {
-          return funcToString.call(func);
-        } catch (e) {
-        }
-        try {
-          return func + "";
-        } catch (e) {
-        }
-      }
-      return "";
+    function isStreamx(stream2) {
+      return typeof stream2._duplexState === "number" && isStream(stream2);
     }
-    module2.exports = toSource;
-  }
-});
-
-// node_modules/lodash/_baseIsNative.js
-var require_baseIsNative = __commonJS({
-  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isMasked = require_isMasked();
-    var isObject2 = require_isObject();
-    var toSource = require_toSource();
-    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
-    var reIsHostCtor = /^\[object .+?Constructor\]$/;
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var reIsNative = RegExp(
-      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
-    );
-    function baseIsNative(value) {
-      if (!isObject2(value) || isMasked(value)) {
-        return false;
-      }
-      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
-      return pattern.test(toSource(value));
+    function isEnded(stream2) {
+      return !!stream2._readableState && stream2._readableState.ended;
     }
-    module2.exports = baseIsNative;
-  }
-});
-
-// node_modules/lodash/_getValue.js
-var require_getValue = __commonJS({
-  "node_modules/lodash/_getValue.js"(exports2, module2) {
-    function getValue(object, key) {
-      return object == null ? void 0 : object[key];
+    function isFinished(stream2) {
+      return !!stream2._writableState && stream2._writableState.ended;
     }
-    module2.exports = getValue;
-  }
-});
-
-// node_modules/lodash/_getNative.js
-var require_getNative = __commonJS({
-  "node_modules/lodash/_getNative.js"(exports2, module2) {
-    var baseIsNative = require_baseIsNative();
-    var getValue = require_getValue();
-    function getNative(object, key) {
-      var value = getValue(object, key);
-      return baseIsNative(value) ? value : void 0;
+    function getStreamError(stream2, opts = {}) {
+      const err = stream2._readableState && stream2._readableState.error || stream2._writableState && stream2._writableState.error;
+      return !opts.all && err === STREAM_DESTROYED ? null : err;
     }
-    module2.exports = getNative;
-  }
-});
-
-// node_modules/lodash/_defineProperty.js
-var require_defineProperty = __commonJS({
-  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var defineProperty = (function() {
-      try {
-        var func = getNative(Object, "defineProperty");
-        func({}, "", {});
-        return func;
-      } catch (e) {
-      }
-    })();
-    module2.exports = defineProperty;
-  }
-});
-
-// node_modules/lodash/_baseSetToString.js
-var require_baseSetToString = __commonJS({
-  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
-    var constant = require_constant();
-    var defineProperty = require_defineProperty();
-    var identity = require_identity();
-    var baseSetToString = !defineProperty ? identity : function(func, string) {
-      return defineProperty(func, "toString", {
-        "configurable": true,
-        "enumerable": false,
-        "value": constant(string),
-        "writable": true
-      });
-    };
-    module2.exports = baseSetToString;
-  }
-});
-
-// node_modules/lodash/_shortOut.js
-var require_shortOut = __commonJS({
-  "node_modules/lodash/_shortOut.js"(exports2, module2) {
-    var HOT_COUNT = 800;
-    var HOT_SPAN = 16;
-    var nativeNow = Date.now;
-    function shortOut(func) {
-      var count = 0, lastCalled = 0;
-      return function() {
-        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
-        lastCalled = stamp;
-        if (remaining > 0) {
-          if (++count >= HOT_COUNT) {
-            return arguments[0];
-          }
-        } else {
-          count = 0;
-        }
-        return func.apply(void 0, arguments);
-      };
+    function isReadStreamx(stream2) {
+      return isStreamx(stream2) && stream2.readable;
     }
-    module2.exports = shortOut;
-  }
-});
-
-// node_modules/lodash/_setToString.js
-var require_setToString = __commonJS({
-  "node_modules/lodash/_setToString.js"(exports2, module2) {
-    var baseSetToString = require_baseSetToString();
-    var shortOut = require_shortOut();
-    var setToString = shortOut(baseSetToString);
-    module2.exports = setToString;
-  }
-});
-
-// node_modules/lodash/_baseRest.js
-var require_baseRest = __commonJS({
-  "node_modules/lodash/_baseRest.js"(exports2, module2) {
-    var identity = require_identity();
-    var overRest = require_overRest();
-    var setToString = require_setToString();
-    function baseRest(func, start) {
-      return setToString(overRest(func, start, identity), func + "");
+    function isTypedArray(data) {
+      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
     }
-    module2.exports = baseRest;
-  }
-});
-
-// node_modules/lodash/eq.js
-var require_eq2 = __commonJS({
-  "node_modules/lodash/eq.js"(exports2, module2) {
-    function eq(value, other) {
-      return value === other || value !== value && other !== other;
+    function defaultByteLength(data) {
+      return isTypedArray(data) ? data.byteLength : 1024;
     }
-    module2.exports = eq;
-  }
-});
-
-// node_modules/lodash/isLength.js
-var require_isLength = __commonJS({
-  "node_modules/lodash/isLength.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    function isLength(value) {
-      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+    function noop3() {
     }
-    module2.exports = isLength;
-  }
-});
-
-// node_modules/lodash/isArrayLike.js
-var require_isArrayLike = __commonJS({
-  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isLength = require_isLength();
-    function isArrayLike(value) {
-      return value != null && isLength(value.length) && !isFunction(value);
+    function abort() {
+      this.destroy(new Error("Stream aborted."));
     }
-    module2.exports = isArrayLike;
-  }
-});
-
-// node_modules/lodash/_isIndex.js
-var require_isIndex = __commonJS({
-  "node_modules/lodash/_isIndex.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    var reIsUint = /^(?:0|[1-9]\d*)$/;
-    function isIndex(value, length) {
-      var type2 = typeof value;
-      length = length == null ? MAX_SAFE_INTEGER : length;
-      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
+    function isWritev(s) {
+      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
     }
-    module2.exports = isIndex;
+    module2.exports = {
+      pipeline,
+      pipelinePromise,
+      isStream,
+      isStreamx,
+      isEnded,
+      isFinished,
+      getStreamError,
+      Stream,
+      Writable,
+      Readable: Readable2,
+      Duplex,
+      Transform,
+      // Export PassThrough for compatibility with Node.js core's stream module
+      PassThrough
+    };
   }
 });
 
-// node_modules/lodash/_isIterateeCall.js
-var require_isIterateeCall = __commonJS({
-  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
-    var eq = require_eq2();
-    var isArrayLike = require_isArrayLike();
-    var isIndex = require_isIndex();
-    var isObject2 = require_isObject();
-    function isIterateeCall(value, index, object) {
-      if (!isObject2(object)) {
-        return false;
-      }
-      var type2 = typeof index;
-      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
-        return eq(object[index], value);
+// node_modules/tar-stream/headers.js
+var require_headers3 = __commonJS({
+  "node_modules/tar-stream/headers.js"(exports2) {
+    var b4a = require_b4a();
+    var ZEROS = "0000000000000000000";
+    var SEVENS = "7777777777777777777";
+    var ZERO_OFFSET = "0".charCodeAt(0);
+    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
+    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
+    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
+    var GNU_VER = b4a.from([32, 0]);
+    var MASK = 4095;
+    var MAGIC_OFFSET = 257;
+    var VERSION_OFFSET = 263;
+    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
+      return decodeStr(buf, 0, buf.length, encoding);
+    };
+    exports2.encodePax = function encodePax(opts) {
+      let result = "";
+      if (opts.name) result += addLength(" path=" + opts.name + "\n");
+      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
+      const pax = opts.pax;
+      if (pax) {
+        for (const key in pax) {
+          result += addLength(" " + key + "=" + pax[key] + "\n");
+        }
       }
-      return false;
-    }
-    module2.exports = isIterateeCall;
-  }
-});
-
-// node_modules/lodash/_baseTimes.js
-var require_baseTimes = __commonJS({
-  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
-    function baseTimes(n, iteratee) {
-      var index = -1, result = Array(n);
-      while (++index < n) {
-        result[index] = iteratee(index);
+      return b4a.from(result);
+    };
+    exports2.decodePax = function decodePax(buf) {
+      const result = {};
+      while (buf.length) {
+        let i = 0;
+        while (i < buf.length && buf[i] !== 32) i++;
+        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
+        if (!len) return result;
+        const b = b4a.toString(buf.subarray(i + 1, len - 1));
+        const keyIndex = b.indexOf("=");
+        if (keyIndex === -1) return result;
+        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
+        buf = buf.subarray(len);
       }
       return result;
-    }
-    module2.exports = baseTimes;
-  }
-});
-
-// node_modules/lodash/isObjectLike.js
-var require_isObjectLike = __commonJS({
-  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
-    function isObjectLike(value) {
-      return value != null && typeof value == "object";
-    }
-    module2.exports = isObjectLike;
-  }
-});
-
-// node_modules/lodash/_baseIsArguments.js
-var require_baseIsArguments = __commonJS({
-  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    function baseIsArguments(value) {
-      return isObjectLike(value) && baseGetTag(value) == argsTag;
-    }
-    module2.exports = baseIsArguments;
-  }
-});
-
-// node_modules/lodash/isArguments.js
-var require_isArguments = __commonJS({
-  "node_modules/lodash/isArguments.js"(exports2, module2) {
-    var baseIsArguments = require_baseIsArguments();
-    var isObjectLike = require_isObjectLike();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
-    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
-      return arguments;
-    })()) ? baseIsArguments : function(value) {
-      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
     };
-    module2.exports = isArguments;
-  }
-});
-
-// node_modules/lodash/isArray.js
-var require_isArray = __commonJS({
-  "node_modules/lodash/isArray.js"(exports2, module2) {
-    var isArray = Array.isArray;
-    module2.exports = isArray;
-  }
-});
-
-// node_modules/lodash/stubFalse.js
-var require_stubFalse = __commonJS({
-  "node_modules/lodash/stubFalse.js"(exports2, module2) {
-    function stubFalse() {
-      return false;
-    }
-    module2.exports = stubFalse;
-  }
-});
-
-// node_modules/lodash/isBuffer.js
-var require_isBuffer = __commonJS({
-  "node_modules/lodash/isBuffer.js"(exports2, module2) {
-    var root = require_root();
-    var stubFalse = require_stubFalse();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var Buffer2 = moduleExports ? root.Buffer : void 0;
-    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
-    var isBuffer = nativeIsBuffer || stubFalse;
-    module2.exports = isBuffer;
-  }
-});
-
-// node_modules/lodash/_baseIsTypedArray.js
-var require_baseIsTypedArray = __commonJS({
-  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isLength = require_isLength();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    var arrayTag = "[object Array]";
-    var boolTag = "[object Boolean]";
-    var dateTag = "[object Date]";
-    var errorTag = "[object Error]";
-    var funcTag = "[object Function]";
-    var mapTag = "[object Map]";
-    var numberTag = "[object Number]";
-    var objectTag = "[object Object]";
-    var regexpTag = "[object RegExp]";
-    var setTag = "[object Set]";
-    var stringTag = "[object String]";
-    var weakMapTag = "[object WeakMap]";
-    var arrayBufferTag = "[object ArrayBuffer]";
-    var dataViewTag = "[object DataView]";
-    var float32Tag = "[object Float32Array]";
-    var float64Tag = "[object Float64Array]";
-    var int8Tag = "[object Int8Array]";
-    var int16Tag = "[object Int16Array]";
-    var int32Tag = "[object Int32Array]";
-    var uint8Tag = "[object Uint8Array]";
-    var uint8ClampedTag = "[object Uint8ClampedArray]";
-    var uint16Tag = "[object Uint16Array]";
-    var uint32Tag = "[object Uint32Array]";
-    var typedArrayTags = {};
-    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
-    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
-    function baseIsTypedArray(value) {
-      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
-    }
-    module2.exports = baseIsTypedArray;
-  }
-});
-
-// node_modules/lodash/_baseUnary.js
-var require_baseUnary = __commonJS({
-  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
-    function baseUnary(func) {
-      return function(value) {
-        return func(value);
+    exports2.encode = function encode(opts) {
+      const buf = b4a.alloc(512);
+      let name = opts.name;
+      let prefix = "";
+      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
+      if (b4a.byteLength(name) !== name.length) return null;
+      while (b4a.byteLength(name) > 100) {
+        const i = name.indexOf("/");
+        if (i === -1) return null;
+        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
+        name = name.slice(i + 1);
+      }
+      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
+      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
+      b4a.write(buf, name);
+      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
+      b4a.write(buf, encodeOct(opts.uid, 6), 108);
+      b4a.write(buf, encodeOct(opts.gid, 6), 116);
+      encodeSize(opts.size, buf, 124);
+      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
+      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
+      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
+      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
+      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
+      if (opts.uname) b4a.write(buf, opts.uname, 265);
+      if (opts.gname) b4a.write(buf, opts.gname, 297);
+      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
+      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
+      if (prefix) b4a.write(buf, prefix, 345);
+      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
+      return buf;
+    };
+    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
+      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
+      let name = decodeStr(buf, 0, 100, filenameEncoding);
+      const mode = decodeOct(buf, 100, 8);
+      const uid = decodeOct(buf, 108, 8);
+      const gid = decodeOct(buf, 116, 8);
+      const size = decodeOct(buf, 124, 12);
+      const mtime = decodeOct(buf, 136, 12);
+      const type2 = toType(typeflag);
+      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
+      const uname = decodeStr(buf, 265, 32);
+      const gname = decodeStr(buf, 297, 32);
+      const devmajor = decodeOct(buf, 329, 8);
+      const devminor = decodeOct(buf, 337, 8);
+      const c = cksum(buf);
+      if (c === 8 * 32) return null;
+      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
+      if (isUSTAR(buf)) {
+        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
+      } else if (isGNU(buf)) {
+      } else {
+        if (!allowUnknownFormat) {
+          throw new Error("Invalid tar header: unknown format.");
+        }
+      }
+      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
+      return {
+        name,
+        mode,
+        uid,
+        gid,
+        size,
+        mtime: new Date(1e3 * mtime),
+        type: type2,
+        linkname,
+        uname,
+        gname,
+        devmajor,
+        devminor,
+        pax: null
       };
+    };
+    function isUSTAR(buf) {
+      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
     }
-    module2.exports = baseUnary;
-  }
-});
-
-// node_modules/lodash/_nodeUtil.js
-var require_nodeUtil = __commonJS({
-  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var freeProcess = moduleExports && freeGlobal.process;
-    var nodeUtil = (function() {
-      try {
-        var types = freeModule && freeModule.require && freeModule.require("util").types;
-        if (types) {
-          return types;
-        }
-        return freeProcess && freeProcess.binding && freeProcess.binding("util");
-      } catch (e) {
+    function isGNU(buf) {
+      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
+    }
+    function clamp(index, len, defaultValue) {
+      if (typeof index !== "number") return defaultValue;
+      index = ~~index;
+      if (index >= len) return len;
+      if (index >= 0) return index;
+      index += len;
+      if (index >= 0) return index;
+      return 0;
+    }
+    function toType(flag) {
+      switch (flag) {
+        case 0:
+          return "file";
+        case 1:
+          return "link";
+        case 2:
+          return "symlink";
+        case 3:
+          return "character-device";
+        case 4:
+          return "block-device";
+        case 5:
+          return "directory";
+        case 6:
+          return "fifo";
+        case 7:
+          return "contiguous-file";
+        case 72:
+          return "pax-header";
+        case 55:
+          return "pax-global-header";
+        case 27:
+          return "gnu-long-link-path";
+        case 28:
+        case 30:
+          return "gnu-long-path";
       }
-    })();
-    module2.exports = nodeUtil;
-  }
-});
-
-// node_modules/lodash/isTypedArray.js
-var require_isTypedArray = __commonJS({
-  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
-    var baseIsTypedArray = require_baseIsTypedArray();
-    var baseUnary = require_baseUnary();
-    var nodeUtil = require_nodeUtil();
-    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
-    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
-    module2.exports = isTypedArray;
-  }
-});
-
-// node_modules/lodash/_arrayLikeKeys.js
-var require_arrayLikeKeys = __commonJS({
-  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
-    var baseTimes = require_baseTimes();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var isBuffer = require_isBuffer();
-    var isIndex = require_isIndex();
-    var isTypedArray = require_isTypedArray();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function arrayLikeKeys(value, inherited) {
-      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
-      for (var key in value) {
-        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
-        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
-        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
-        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
-        isIndex(key, length)))) {
-          result.push(key);
-        }
+      return null;
+    }
+    function toTypeflag(flag) {
+      switch (flag) {
+        case "file":
+          return 0;
+        case "link":
+          return 1;
+        case "symlink":
+          return 2;
+        case "character-device":
+          return 3;
+        case "block-device":
+          return 4;
+        case "directory":
+          return 5;
+        case "fifo":
+          return 6;
+        case "contiguous-file":
+          return 7;
+        case "pax-header":
+          return 72;
       }
-      return result;
+      return 0;
     }
-    module2.exports = arrayLikeKeys;
-  }
-});
-
-// node_modules/lodash/_isPrototype.js
-var require_isPrototype = __commonJS({
-  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    function isPrototype(value) {
-      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
-      return value === proto;
+    function indexOf(block, num, offset, end) {
+      for (; offset < end; offset++) {
+        if (block[offset] === num) return offset;
+      }
+      return end;
     }
-    module2.exports = isPrototype;
-  }
-});
-
-// node_modules/lodash/_nativeKeysIn.js
-var require_nativeKeysIn = __commonJS({
-  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
-    function nativeKeysIn(object) {
-      var result = [];
-      if (object != null) {
-        for (var key in Object(object)) {
-          result.push(key);
-        }
+    function cksum(block) {
+      let sum = 8 * 32;
+      for (let i = 0; i < 148; i++) sum += block[i];
+      for (let j = 156; j < 512; j++) sum += block[j];
+      return sum;
+    }
+    function encodeOct(val, n) {
+      val = val.toString(8);
+      if (val.length > n) return SEVENS.slice(0, n) + " ";
+      return ZEROS.slice(0, n - val.length) + val + " ";
+    }
+    function encodeSizeBin(num, buf, off) {
+      buf[off] = 128;
+      for (let i = 11; i > 0; i--) {
+        buf[off + i] = num & 255;
+        num = Math.floor(num / 256);
       }
-      return result;
     }
-    module2.exports = nativeKeysIn;
-  }
-});
-
-// node_modules/lodash/_baseKeysIn.js
-var require_baseKeysIn = __commonJS({
-  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
-    var isObject2 = require_isObject();
-    var isPrototype = require_isPrototype();
-    var nativeKeysIn = require_nativeKeysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function baseKeysIn(object) {
-      if (!isObject2(object)) {
-        return nativeKeysIn(object);
+    function encodeSize(num, buf, off) {
+      if (num.toString(8).length > 11) {
+        encodeSizeBin(num, buf, off);
+      } else {
+        b4a.write(buf, encodeOct(num, 11), off);
       }
-      var isProto = isPrototype(object), result = [];
-      for (var key in object) {
-        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
-          result.push(key);
-        }
+    }
+    function parse256(buf) {
+      let positive;
+      if (buf[0] === 128) positive = true;
+      else if (buf[0] === 255) positive = false;
+      else return null;
+      const tuple = [];
+      let i;
+      for (i = buf.length - 1; i > 0; i--) {
+        const byte = buf[i];
+        if (positive) tuple.push(byte);
+        else tuple.push(255 - byte);
       }
-      return result;
+      let sum = 0;
+      const l = tuple.length;
+      for (i = 0; i < l; i++) {
+        sum += tuple[i] * Math.pow(256, i);
+      }
+      return positive ? sum : -1 * sum;
     }
-    module2.exports = baseKeysIn;
-  }
-});
-
-// node_modules/lodash/keysIn.js
-var require_keysIn = __commonJS({
-  "node_modules/lodash/keysIn.js"(exports2, module2) {
-    var arrayLikeKeys = require_arrayLikeKeys();
-    var baseKeysIn = require_baseKeysIn();
-    var isArrayLike = require_isArrayLike();
-    function keysIn(object) {
-      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
+    function decodeOct(val, offset, length) {
+      val = val.subarray(offset, offset + length);
+      offset = 0;
+      if (val[offset] & 128) {
+        return parse256(val);
+      } else {
+        while (offset < val.length && val[offset] === 32) offset++;
+        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
+        while (offset < end && val[offset] === 0) offset++;
+        if (end === offset) return 0;
+        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
+      }
+    }
+    function decodeStr(val, offset, length, encoding) {
+      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
+    }
+    function addLength(str2) {
+      const len = b4a.byteLength(str2);
+      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
+      if (len + digits >= Math.pow(10, digits)) digits++;
+      return len + digits + str2;
     }
-    module2.exports = keysIn;
   }
 });
 
-// node_modules/lodash/defaults.js
-var require_defaults = __commonJS({
-  "node_modules/lodash/defaults.js"(exports2, module2) {
-    var baseRest = require_baseRest();
-    var eq = require_eq2();
-    var isIterateeCall = require_isIterateeCall();
-    var keysIn = require_keysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var defaults = baseRest(function(object, sources) {
-      object = Object(object);
-      var index = -1;
-      var length = sources.length;
-      var guard = length > 2 ? sources[2] : void 0;
-      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
-        length = 1;
+// node_modules/tar-stream/extract.js
+var require_extract = __commonJS({
+  "node_modules/tar-stream/extract.js"(exports2, module2) {
+    var { Writable, Readable: Readable2, getStreamError } = require_streamx();
+    var FIFO = require_fast_fifo();
+    var b4a = require_b4a();
+    var headers = require_headers3();
+    var EMPTY = b4a.alloc(0);
+    var BufferList = class {
+      constructor() {
+        this.buffered = 0;
+        this.shifted = 0;
+        this.queue = new FIFO();
+        this._offset = 0;
       }
-      while (++index < length) {
-        var source = sources[index];
-        var props = keysIn(source);
-        var propsIndex = -1;
-        var propsLength = props.length;
-        while (++propsIndex < propsLength) {
-          var key = props[propsIndex];
-          var value = object[key];
-          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
-            object[key] = source[key];
-          }
+      push(buffer) {
+        this.buffered += buffer.byteLength;
+        this.queue.push(buffer);
+      }
+      shiftFirst(size) {
+        return this._buffered === 0 ? null : this._next(size);
+      }
+      shift(size) {
+        if (size > this.buffered) return null;
+        if (size === 0) return EMPTY;
+        let chunk = this._next(size);
+        if (size === chunk.byteLength) return chunk;
+        const chunks = [chunk];
+        while ((size -= chunk.byteLength) > 0) {
+          chunk = this._next(size);
+          chunks.push(chunk);
         }
+        return b4a.concat(chunks);
+      }
+      _next(size) {
+        const buf = this.queue.peek();
+        const rem = buf.byteLength - this._offset;
+        if (size >= rem) {
+          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
+          this.queue.shift();
+          this._offset = 0;
+          this.buffered -= rem;
+          this.shifted += rem;
+          return sub;
+        }
+        this.buffered -= size;
+        this.shifted += size;
+        return buf.subarray(this._offset, this._offset += size);
       }
-      return object;
-    });
-    module2.exports = defaults;
-  }
-});
-
-// node_modules/readable-stream/lib/ours/primordials.js
-var require_primordials = __commonJS({
-  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      ArrayIsArray(self2) {
-        return Array.isArray(self2);
-      },
-      ArrayPrototypeIncludes(self2, el) {
-        return self2.includes(el);
-      },
-      ArrayPrototypeIndexOf(self2, el) {
-        return self2.indexOf(el);
-      },
-      ArrayPrototypeJoin(self2, sep5) {
-        return self2.join(sep5);
-      },
-      ArrayPrototypeMap(self2, fn) {
-        return self2.map(fn);
-      },
-      ArrayPrototypePop(self2, el) {
-        return self2.pop(el);
-      },
-      ArrayPrototypePush(self2, el) {
-        return self2.push(el);
-      },
-      ArrayPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      Error,
-      FunctionPrototypeCall(fn, thisArgs, ...args) {
-        return fn.call(thisArgs, ...args);
-      },
-      FunctionPrototypeSymbolHasInstance(self2, instance) {
-        return Function.prototype[Symbol.hasInstance].call(self2, instance);
-      },
-      MathFloor: Math.floor,
-      Number,
-      NumberIsInteger: Number.isInteger,
-      NumberIsNaN: Number.isNaN,
-      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
-      NumberParseInt: Number.parseInt,
-      ObjectDefineProperties(self2, props) {
-        return Object.defineProperties(self2, props);
-      },
-      ObjectDefineProperty(self2, name, prop) {
-        return Object.defineProperty(self2, name, prop);
-      },
-      ObjectGetOwnPropertyDescriptor(self2, name) {
-        return Object.getOwnPropertyDescriptor(self2, name);
-      },
-      ObjectKeys(obj) {
-        return Object.keys(obj);
-      },
-      ObjectSetPrototypeOf(target, proto) {
-        return Object.setPrototypeOf(target, proto);
-      },
-      Promise,
-      PromisePrototypeCatch(self2, fn) {
-        return self2.catch(fn);
-      },
-      PromisePrototypeThen(self2, thenFn, catchFn) {
-        return self2.then(thenFn, catchFn);
-      },
-      PromiseReject(err) {
-        return Promise.reject(err);
-      },
-      PromiseResolve(val) {
-        return Promise.resolve(val);
-      },
-      ReflectApply: Reflect.apply,
-      RegExpPrototypeTest(self2, value) {
-        return self2.test(value);
-      },
-      SafeSet: Set,
-      String,
-      StringPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      StringPrototypeToLowerCase(self2) {
-        return self2.toLowerCase();
-      },
-      StringPrototypeToUpperCase(self2) {
-        return self2.toUpperCase();
-      },
-      StringPrototypeTrim(self2) {
-        return self2.trim();
-      },
-      Symbol,
-      SymbolFor: Symbol.for,
-      SymbolAsyncIterator: Symbol.asyncIterator,
-      SymbolHasInstance: Symbol.hasInstance,
-      SymbolIterator: Symbol.iterator,
-      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
-      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
-      TypedArrayPrototypeSet(self2, buf, len) {
-        return self2.set(buf, len);
-      },
-      Boolean,
-      Uint8Array
     };
-  }
-});
-
-// node_modules/event-target-shim/dist/event-target-shim.js
-var require_event_target_shim = __commonJS({
-  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var privateData = /* @__PURE__ */ new WeakMap();
-    var wrappers = /* @__PURE__ */ new WeakMap();
-    function pd(event) {
-      const retv = privateData.get(event);
-      console.assert(
-        retv != null,
-        "'this' is expected an Event object, but got",
-        event
-      );
-      return retv;
-    }
-    function setCancelFlag(data) {
-      if (data.passiveListener != null) {
-        if (typeof console !== "undefined" && typeof console.error === "function") {
-          console.error(
-            "Unable to preventDefault inside passive event listener invocation.",
-            data.passiveListener
-          );
+    var Source = class extends Readable2 {
+      constructor(self2, header, offset) {
+        super();
+        this.header = header;
+        this.offset = offset;
+        this._parent = self2;
+      }
+      _read(cb) {
+        if (this.header.size === 0) {
+          this.push(null);
         }
-        return;
+        if (this._parent._stream === this) {
+          this._parent._update();
+        }
+        cb(null);
       }
-      if (!data.event.cancelable) {
-        return;
+      _predestroy() {
+        this._parent.destroy(getStreamError(this));
       }
-      data.canceled = true;
-      if (typeof data.event.preventDefault === "function") {
-        data.event.preventDefault();
+      _detach() {
+        if (this._parent._stream === this) {
+          this._parent._stream = null;
+          this._parent._missing = overflow(this.header.size);
+          this._parent._update();
+        }
       }
-    }
-    function Event2(eventTarget, event) {
-      privateData.set(this, {
-        eventTarget,
-        event,
-        eventPhase: 2,
-        currentTarget: eventTarget,
-        canceled: false,
-        stopped: false,
-        immediateStopped: false,
-        passiveListener: null,
-        timeStamp: event.timeStamp || Date.now()
-      });
-      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
-      const keys = Object.keys(event);
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in this)) {
-          Object.defineProperty(this, key, defineRedirectDescriptor(key));
+      _destroy(cb) {
+        this._detach();
+        cb(null);
+      }
+    };
+    var Extract = class extends Writable {
+      constructor(opts) {
+        super(opts);
+        if (!opts) opts = {};
+        this._buffer = new BufferList();
+        this._offset = 0;
+        this._header = null;
+        this._stream = null;
+        this._missing = 0;
+        this._longHeader = false;
+        this._callback = noop3;
+        this._locked = false;
+        this._finished = false;
+        this._pax = null;
+        this._paxGlobal = null;
+        this._gnuLongPath = null;
+        this._gnuLongLinkPath = null;
+        this._filenameEncoding = opts.filenameEncoding || "utf-8";
+        this._allowUnknownFormat = !!opts.allowUnknownFormat;
+        this._unlockBound = this._unlock.bind(this);
+      }
+      _unlock(err) {
+        this._locked = false;
+        if (err) {
+          this.destroy(err);
+          this._continueWrite(err);
+          return;
         }
+        this._update();
       }
-    }
-    Event2.prototype = {
-      /**
-       * The type of this event.
-       * @type {string}
-       */
-      get type() {
-        return pd(this).event.type;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get target() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get currentTarget() {
-        return pd(this).currentTarget;
-      },
-      /**
-       * @returns {EventTarget[]} The composed path of this event.
-       */
-      composedPath() {
-        const currentTarget = pd(this).currentTarget;
-        if (currentTarget == null) {
-          return [];
+      _consumeHeader() {
+        if (this._locked) return false;
+        this._offset = this._buffer.shifted;
+        try {
+          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
         }
-        return [currentTarget];
-      },
-      /**
-       * Constant of NONE.
-       * @type {number}
-       */
-      get NONE() {
-        return 0;
-      },
-      /**
-       * Constant of CAPTURING_PHASE.
-       * @type {number}
-       */
-      get CAPTURING_PHASE() {
-        return 1;
-      },
-      /**
-       * Constant of AT_TARGET.
-       * @type {number}
-       */
-      get AT_TARGET() {
-        return 2;
-      },
-      /**
-       * Constant of BUBBLING_PHASE.
-       * @type {number}
-       */
-      get BUBBLING_PHASE() {
-        return 3;
-      },
-      /**
-       * The target of this event.
-       * @type {number}
-       */
-      get eventPhase() {
-        return pd(this).eventPhase;
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopPropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.stopPropagation === "function") {
-          data.event.stopPropagation();
+        if (!this._header) return true;
+        switch (this._header.type) {
+          case "gnu-long-path":
+          case "gnu-long-link-path":
+          case "pax-global-header":
+          case "pax-header":
+            this._longHeader = true;
+            this._missing = this._header.size;
+            return true;
         }
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopImmediatePropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        data.immediateStopped = true;
-        if (typeof data.event.stopImmediatePropagation === "function") {
-          data.event.stopImmediatePropagation();
+        this._locked = true;
+        this._applyLongHeaders();
+        if (this._header.size === 0 || this._header.type === "directory") {
+          this.emit("entry", this._header, this._createStream(), this._unlockBound);
+          return true;
         }
-      },
-      /**
-       * The flag to be bubbling.
-       * @type {boolean}
-       */
-      get bubbles() {
-        return Boolean(pd(this).event.bubbles);
-      },
-      /**
-       * The flag to be cancelable.
-       * @type {boolean}
-       */
-      get cancelable() {
-        return Boolean(pd(this).event.cancelable);
-      },
-      /**
-       * Cancel this event.
-       * @returns {void}
-       */
-      preventDefault() {
-        setCancelFlag(pd(this));
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       */
-      get defaultPrevented() {
-        return pd(this).canceled;
-      },
-      /**
-       * The flag to be composed.
-       * @type {boolean}
-       */
-      get composed() {
-        return Boolean(pd(this).event.composed);
-      },
-      /**
-       * The unix time of this event.
-       * @type {number}
-       */
-      get timeStamp() {
-        return pd(this).timeStamp;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       * @deprecated
-       */
-      get srcElement() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The flag to stop event bubbling.
-       * @type {boolean}
-       * @deprecated
-       */
-      get cancelBubble() {
-        return pd(this).stopped;
-      },
-      set cancelBubble(value) {
-        if (!value) {
-          return;
+        this._stream = this._createStream();
+        this._missing = this._header.size;
+        this.emit("entry", this._header, this._stream, this._unlockBound);
+        return true;
+      }
+      _applyLongHeaders() {
+        if (this._gnuLongPath) {
+          this._header.name = this._gnuLongPath;
+          this._gnuLongPath = null;
         }
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.cancelBubble === "boolean") {
-          data.event.cancelBubble = true;
+        if (this._gnuLongLinkPath) {
+          this._header.linkname = this._gnuLongLinkPath;
+          this._gnuLongLinkPath = null;
         }
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       * @deprecated
-       */
-      get returnValue() {
-        return !pd(this).canceled;
-      },
-      set returnValue(value) {
-        if (!value) {
-          setCancelFlag(pd(this));
+        if (this._pax) {
+          if (this._pax.path) this._header.name = this._pax.path;
+          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
+          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
+          this._header.pax = this._pax;
+          this._pax = null;
         }
-      },
-      /**
-       * Initialize this event object. But do nothing under event dispatching.
-       * @param {string} type The event type.
-       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
-       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
-       * @deprecated
-       */
-      initEvent() {
       }
-    };
-    Object.defineProperty(Event2.prototype, "constructor", {
-      value: Event2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
-      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
-      wrappers.set(window.Event.prototype, Event2);
-    }
-    function defineRedirectDescriptor(key) {
-      return {
-        get() {
-          return pd(this).event[key];
-        },
-        set(value) {
-          pd(this).event[key] = value;
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineCallDescriptor(key) {
-      return {
-        value() {
-          const event = pd(this).event;
-          return event[key].apply(event, arguments);
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineWrapper(BaseEvent, proto) {
-      const keys = Object.keys(proto);
-      if (keys.length === 0) {
-        return BaseEvent;
+      _decodeLongHeader(buf) {
+        switch (this._header.type) {
+          case "gnu-long-path":
+            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
+            break;
+          case "gnu-long-link-path":
+            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
+            break;
+          case "pax-global-header":
+            this._paxGlobal = headers.decodePax(buf);
+            break;
+          case "pax-header":
+            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
+            break;
+        }
       }
-      function CustomEvent(eventTarget, event) {
-        BaseEvent.call(this, eventTarget, event);
+      _consumeLongHeader() {
+        this._longHeader = false;
+        this._missing = overflow(this._header.size);
+        const buf = this._buffer.shift(this._header.size);
+        try {
+          this._decodeLongHeader(buf);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
+        }
+        return true;
       }
-      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
-        constructor: { value: CustomEvent, configurable: true, writable: true }
-      });
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in BaseEvent.prototype)) {
-          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
-          const isFunc = typeof descriptor.value === "function";
-          Object.defineProperty(
-            CustomEvent.prototype,
-            key,
-            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
-          );
+      _consumeStream() {
+        const buf = this._buffer.shiftFirst(this._missing);
+        if (buf === null) return false;
+        this._missing -= buf.byteLength;
+        const drained = this._stream.push(buf);
+        if (this._missing === 0) {
+          this._stream.push(null);
+          if (drained) this._stream._detach();
+          return drained && this._locked === false;
         }
+        return drained;
       }
-      return CustomEvent;
-    }
-    function getWrapper(proto) {
-      if (proto == null || proto === Object.prototype) {
-        return Event2;
+      _createStream() {
+        return new Source(this, this._header, this._offset);
       }
-      let wrapper = wrappers.get(proto);
-      if (wrapper == null) {
-        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
-        wrappers.set(proto, wrapper);
+      _update() {
+        while (this._buffer.buffered > 0 && !this.destroying) {
+          if (this._missing > 0) {
+            if (this._stream !== null) {
+              if (this._consumeStream() === false) return;
+              continue;
+            }
+            if (this._longHeader === true) {
+              if (this._missing > this._buffer.buffered) break;
+              if (this._consumeLongHeader() === false) return false;
+              continue;
+            }
+            const ignore = this._buffer.shiftFirst(this._missing);
+            if (ignore !== null) this._missing -= ignore.byteLength;
+            continue;
+          }
+          if (this._buffer.buffered < 512) break;
+          if (this._stream !== null || this._consumeHeader() === false) return;
+        }
+        this._continueWrite(null);
       }
-      return wrapper;
-    }
-    function wrapEvent(eventTarget, event) {
-      const Wrapper = getWrapper(Object.getPrototypeOf(event));
-      return new Wrapper(eventTarget, event);
-    }
-    function isStopped(event) {
-      return pd(event).immediateStopped;
-    }
-    function setEventPhase(event, eventPhase) {
-      pd(event).eventPhase = eventPhase;
-    }
-    function setCurrentTarget(event, currentTarget) {
-      pd(event).currentTarget = currentTarget;
-    }
-    function setPassiveListener(event, passiveListener) {
-      pd(event).passiveListener = passiveListener;
-    }
-    var listenersMap = /* @__PURE__ */ new WeakMap();
-    var CAPTURE = 1;
-    var BUBBLE = 2;
-    var ATTRIBUTE = 3;
-    function isObject2(x) {
-      return x !== null && typeof x === "object";
-    }
-    function getListeners(eventTarget) {
-      const listeners = listenersMap.get(eventTarget);
-      if (listeners == null) {
-        throw new TypeError(
-          "'this' is expected an EventTarget object, but got another value."
-        );
+      _continueWrite(err) {
+        const cb = this._callback;
+        this._callback = noop3;
+        cb(err);
       }
-      return listeners;
-    }
-    function defineEventAttributeDescriptor(eventName) {
-      return {
-        get() {
-          const listeners = getListeners(this);
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              return node.listener;
-            }
-            node = node.next;
+      _write(data, cb) {
+        this._callback = cb;
+        this._buffer.push(data);
+        this._update();
+      }
+      _final(cb) {
+        this._finished = this._missing === 0 && this._buffer.buffered === 0;
+        cb(this._finished ? null : new Error("Unexpected end of data"));
+      }
+      _predestroy() {
+        this._continueWrite(null);
+      }
+      _destroy(cb) {
+        if (this._stream) this._stream.destroy(getStreamError(this));
+        cb(null);
+      }
+      [Symbol.asyncIterator]() {
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        let entryStream = null;
+        let entryCallback = null;
+        const extract2 = this;
+        this.on("entry", onentry);
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("close", onclose);
+        return {
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(onnext);
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
           }
-          return null;
-        },
-        set(listener) {
-          if (typeof listener !== "function" && !isObject2(listener)) {
-            listener = null;
+        };
+        function consumeCallback(err) {
+          if (!entryCallback) return;
+          const cb = entryCallback;
+          entryCallback = null;
+          cb(err);
+        }
+        function onnext(resolve8, reject) {
+          if (error3) {
+            return reject(error3);
           }
-          const listeners = getListeners(this);
-          let prev = null;
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              if (prev !== null) {
-                prev.next = node.next;
-              } else if (node.next !== null) {
-                listeners.set(eventName, node.next);
-              } else {
-                listeners.delete(eventName);
-              }
-            } else {
-              prev = node;
-            }
-            node = node.next;
+          if (entryStream) {
+            resolve8({ value: entryStream, done: false });
+            entryStream = null;
+            return;
           }
-          if (listener !== null) {
-            const newNode = {
-              listener,
-              listenerType: ATTRIBUTE,
-              passive: false,
-              once: false,
-              next: null
-            };
-            if (prev === null) {
-              listeners.set(eventName, newNode);
-            } else {
-              prev.next = newNode;
-            }
+          promiseResolve = resolve8;
+          promiseReject = reject;
+          consumeCallback(null);
+          if (extract2._finished && promiseResolve) {
+            promiseResolve({ value: void 0, done: true });
+            promiseResolve = promiseReject = null;
+          }
+        }
+        function onentry(header, stream2, callback) {
+          entryCallback = callback;
+          stream2.on("error", noop3);
+          if (promiseResolve) {
+            promiseResolve({ value: stream2, done: false });
+            promiseResolve = promiseReject = null;
+          } else {
+            entryStream = stream2;
           }
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineEventAttribute(eventTargetPrototype, eventName) {
-      Object.defineProperty(
-        eventTargetPrototype,
-        `on${eventName}`,
-        defineEventAttributeDescriptor(eventName)
-      );
-    }
-    function defineCustomEventTarget(eventNames) {
-      function CustomEventTarget() {
-        EventTarget2.call(this);
-      }
-      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
-        constructor: {
-          value: CustomEventTarget,
-          configurable: true,
-          writable: true
         }
-      });
-      for (let i = 0; i < eventNames.length; ++i) {
-        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
+        function onclose() {
+          consumeCallback(error3);
+          if (!promiseResolve) return;
+          if (error3) promiseReject(error3);
+          else promiseResolve({ value: void 0, done: true });
+          promiseResolve = promiseReject = null;
+        }
+        function destroy(err) {
+          extract2.destroy(err);
+          consumeCallback(err);
+          return new Promise((resolve8, reject) => {
+            if (extract2.destroyed) return resolve8({ value: void 0, done: true });
+            extract2.once("close", function() {
+              if (err) reject(err);
+              else resolve8({ value: void 0, done: true });
+            });
+          });
+        }
       }
-      return CustomEventTarget;
+    };
+    module2.exports = function extract2(opts) {
+      return new Extract(opts);
+    };
+    function noop3() {
     }
-    function EventTarget2() {
-      if (this instanceof EventTarget2) {
-        listenersMap.set(this, /* @__PURE__ */ new Map());
-        return;
+    function overflow(size) {
+      size &= 511;
+      return size && 512 - size;
+    }
+  }
+});
+
+// node_modules/tar-stream/constants.js
+var require_constants19 = __commonJS({
+  "node_modules/tar-stream/constants.js"(exports2, module2) {
+    var constants = {
+      // just for envs without fs
+      S_IFMT: 61440,
+      S_IFDIR: 16384,
+      S_IFCHR: 8192,
+      S_IFBLK: 24576,
+      S_IFIFO: 4096,
+      S_IFLNK: 40960
+    };
+    try {
+      module2.exports = require("fs").constants || constants;
+    } catch {
+      module2.exports = constants;
+    }
+  }
+});
+
+// node_modules/tar-stream/pack.js
+var require_pack = __commonJS({
+  "node_modules/tar-stream/pack.js"(exports2, module2) {
+    var { Readable: Readable2, Writable, getStreamError } = require_streamx();
+    var b4a = require_b4a();
+    var constants = require_constants19();
+    var headers = require_headers3();
+    var DMODE = 493;
+    var FMODE = 420;
+    var END_OF_TAR = b4a.alloc(1024);
+    var Sink = class extends Writable {
+      constructor(pack, header, callback) {
+        super({ mapWritable, eagerOpen: true });
+        this.written = 0;
+        this.header = header;
+        this._callback = callback;
+        this._linkname = null;
+        this._isLinkname = header.type === "symlink" && !header.linkname;
+        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
+        this._finished = false;
+        this._pack = pack;
+        this._openCallback = null;
+        if (this._pack._stream === null) this._pack._stream = this;
+        else this._pack._pending.push(this);
       }
-      if (arguments.length === 1 && Array.isArray(arguments[0])) {
-        return defineCustomEventTarget(arguments[0]);
+      _open(cb) {
+        this._openCallback = cb;
+        if (this._pack._stream === this) this._continueOpen();
       }
-      if (arguments.length > 0) {
-        const types = new Array(arguments.length);
-        for (let i = 0; i < arguments.length; ++i) {
-          types[i] = arguments[i];
-        }
-        return defineCustomEventTarget(types);
+      _continuePack(err) {
+        if (this._callback === null) return;
+        const callback = this._callback;
+        this._callback = null;
+        callback(err);
       }
-      throw new TypeError("Cannot call a class as a function");
-    }
-    EventTarget2.prototype = {
-      /**
-       * Add a given listener to this event target.
-       * @param {string} eventName The event name to add.
-       * @param {Function} listener The listener to add.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      addEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
+      _continueOpen() {
+        if (this._pack._stream === null) this._pack._stream = this;
+        const cb = this._openCallback;
+        this._openCallback = null;
+        if (cb === null) return;
+        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
+        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
+        this._pack._stream = this;
+        if (!this._isLinkname) {
+          this._pack._encode(this.header);
         }
-        if (typeof listener !== "function" && !isObject2(listener)) {
-          throw new TypeError("'listener' should be a function or an object.");
+        if (this._isVoid) {
+          this._finish();
+          this._continuePack(null);
         }
-        const listeners = getListeners(this);
-        const optionsIsObj = isObject2(options);
-        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        const newNode = {
-          listener,
-          listenerType,
-          passive: optionsIsObj && Boolean(options.passive),
-          once: optionsIsObj && Boolean(options.once),
-          next: null
-        };
-        let node = listeners.get(eventName);
-        if (node === void 0) {
-          listeners.set(eventName, newNode);
-          return;
+        cb(null);
+      }
+      _write(data, cb) {
+        if (this._isLinkname) {
+          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
+          return cb(null);
         }
-        let prev = null;
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            return;
+        if (this._isVoid) {
+          if (data.byteLength > 0) {
+            return cb(new Error("No body allowed for this entry"));
           }
-          prev = node;
-          node = node.next;
+          return cb();
         }
-        prev.next = newNode;
-      },
-      /**
-       * Remove a given listener from this event target.
-       * @param {string} eventName The event name to remove.
-       * @param {Function} listener The listener to remove.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      removeEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
+        this.written += data.byteLength;
+        if (this._pack.push(data)) return cb();
+        this._pack._drain = cb;
+      }
+      _finish() {
+        if (this._finished) return;
+        this._finished = true;
+        if (this._isLinkname) {
+          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
+          this._pack._encode(this.header);
         }
-        const listeners = getListeners(this);
-        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        let prev = null;
-        let node = listeners.get(eventName);
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-            return;
-          }
-          prev = node;
-          node = node.next;
+        overflow(this._pack, this.header.size);
+        this._pack._done(this);
+      }
+      _final(cb) {
+        if (this.written !== this.header.size) {
+          return cb(new Error("Size mismatch"));
         }
-      },
-      /**
-       * Dispatch a given event.
-       * @param {Event|{type:string}} event The event to dispatch.
-       * @returns {boolean} `false` if canceled.
-       */
-      dispatchEvent(event) {
-        if (event == null || typeof event.type !== "string") {
-          throw new TypeError('"event.type" should be a string.');
+        this._finish();
+        cb(null);
+      }
+      _getError() {
+        return getStreamError(this) || new Error("tar entry destroyed");
+      }
+      _predestroy() {
+        this._pack.destroy(this._getError());
+      }
+      _destroy(cb) {
+        this._pack._done(this);
+        this._continuePack(this._finished ? null : this._getError());
+        cb();
+      }
+    };
+    var Pack = class extends Readable2 {
+      constructor(opts) {
+        super(opts);
+        this._drain = noop3;
+        this._finalized = false;
+        this._finalizing = false;
+        this._pending = [];
+        this._stream = null;
+      }
+      entry(header, buffer, callback) {
+        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
+        if (typeof buffer === "function") {
+          callback = buffer;
+          buffer = null;
         }
-        const listeners = getListeners(this);
-        const eventName = event.type;
-        let node = listeners.get(eventName);
-        if (node == null) {
-          return true;
+        if (!callback) callback = noop3;
+        if (!header.size || header.type === "symlink") header.size = 0;
+        if (!header.type) header.type = modeToType(header.mode);
+        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
+        if (!header.uid) header.uid = 0;
+        if (!header.gid) header.gid = 0;
+        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
+        if (typeof buffer === "string") buffer = b4a.from(buffer);
+        const sink = new Sink(this, header, callback);
+        if (b4a.isBuffer(buffer)) {
+          header.size = buffer.byteLength;
+          sink.write(buffer);
+          sink.end();
+          return sink;
         }
-        const wrappedEvent = wrapEvent(this, event);
-        let prev = null;
-        while (node != null) {
-          if (node.once) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-          } else {
-            prev = node;
-          }
-          setPassiveListener(
-            wrappedEvent,
-            node.passive ? node.listener : null
-          );
-          if (typeof node.listener === "function") {
-            try {
-              node.listener.call(this, wrappedEvent);
-            } catch (err) {
-              if (typeof console !== "undefined" && typeof console.error === "function") {
-                console.error(err);
-              }
-            }
-          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
-            node.listener.handleEvent(wrappedEvent);
-          }
-          if (isStopped(wrappedEvent)) {
-            break;
-          }
-          node = node.next;
+        if (sink._isVoid) {
+          return sink;
         }
-        setPassiveListener(wrappedEvent, null);
-        setEventPhase(wrappedEvent, 0);
-        setCurrentTarget(wrappedEvent, null);
-        return !wrappedEvent.defaultPrevented;
+        return sink;
       }
-    };
-    Object.defineProperty(EventTarget2.prototype, "constructor", {
-      value: EventTarget2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
-      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
-    }
-    exports2.defineEventAttribute = defineEventAttribute;
-    exports2.EventTarget = EventTarget2;
-    exports2.default = EventTarget2;
-    module2.exports = EventTarget2;
-    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
-    module2.exports.defineEventAttribute = defineEventAttribute;
-  }
-});
-
-// node_modules/abort-controller/dist/abort-controller.js
-var require_abort_controller = __commonJS({
-  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var eventTargetShim = require_event_target_shim();
-    var AbortSignal2 = class extends eventTargetShim.EventTarget {
-      /**
-       * AbortSignal cannot be constructed directly.
-       */
-      constructor() {
-        super();
-        throw new TypeError("AbortSignal cannot be constructed directly");
+      finalize() {
+        if (this._stream || this._pending.length > 0) {
+          this._finalizing = true;
+          return;
+        }
+        if (this._finalized) return;
+        this._finalized = true;
+        this.push(END_OF_TAR);
+        this.push(null);
       }
-      /**
-       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
-       */
-      get aborted() {
-        const aborted = abortedFlags.get(this);
-        if (typeof aborted !== "boolean") {
-          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
+      _done(stream2) {
+        if (stream2 !== this._stream) return;
+        this._stream = null;
+        if (this._finalizing) this.finalize();
+        if (this._pending.length) this._pending.shift()._continueOpen();
+      }
+      _encode(header) {
+        if (!header.pax) {
+          const buf = headers.encode(header);
+          if (buf) {
+            this.push(buf);
+            return;
+          }
         }
-        return aborted;
+        this._encodePax(header);
       }
-    };
-    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
-    function createAbortSignal() {
-      const signal = Object.create(AbortSignal2.prototype);
-      eventTargetShim.EventTarget.call(signal);
-      abortedFlags.set(signal, false);
-      return signal;
-    }
-    function abortSignal(signal) {
-      if (abortedFlags.get(signal) !== false) {
-        return;
+      _encodePax(header) {
+        const paxHeader = headers.encodePax({
+          name: header.name,
+          linkname: header.linkname,
+          pax: header.pax
+        });
+        const newHeader = {
+          name: "PaxHeader",
+          mode: header.mode,
+          uid: header.uid,
+          gid: header.gid,
+          size: paxHeader.byteLength,
+          mtime: header.mtime,
+          type: "pax-header",
+          linkname: header.linkname && "PaxHeader",
+          uname: header.uname,
+          gname: header.gname,
+          devmajor: header.devmajor,
+          devminor: header.devminor
+        };
+        this.push(headers.encode(newHeader));
+        this.push(paxHeader);
+        overflow(this, paxHeader.byteLength);
+        newHeader.size = header.size;
+        newHeader.type = header.type;
+        this.push(headers.encode(newHeader));
       }
-      abortedFlags.set(signal, true);
-      signal.dispatchEvent({ type: "abort" });
-    }
-    var abortedFlags = /* @__PURE__ */ new WeakMap();
-    Object.defineProperties(AbortSignal2.prototype, {
-      aborted: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortSignal"
-      });
-    }
-    var AbortController2 = class {
-      /**
-       * Initialize this controller.
-       */
-      constructor() {
-        signals.set(this, createAbortSignal());
+      _doDrain() {
+        const drain = this._drain;
+        this._drain = noop3;
+        drain();
       }
-      /**
-       * Returns the `AbortSignal` object associated with this object.
-       */
-      get signal() {
-        return getSignal(this);
+      _predestroy() {
+        const err = getStreamError(this);
+        if (this._stream) this._stream.destroy(err);
+        while (this._pending.length) {
+          const stream2 = this._pending.shift();
+          stream2.destroy(err);
+          stream2._continueOpen();
+        }
+        this._doDrain();
       }
-      /**
-       * Abort and signal to any observers that the associated activity is to be aborted.
-       */
-      abort() {
-        abortSignal(getSignal(this));
+      _read(cb) {
+        this._doDrain();
+        cb();
       }
     };
-    var signals = /* @__PURE__ */ new WeakMap();
-    function getSignal(controller) {
-      const signal = signals.get(controller);
-      if (signal == null) {
-        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
+    module2.exports = function pack(opts) {
+      return new Pack(opts);
+    };
+    function modeToType(mode) {
+      switch (mode & constants.S_IFMT) {
+        case constants.S_IFBLK:
+          return "block-device";
+        case constants.S_IFCHR:
+          return "character-device";
+        case constants.S_IFDIR:
+          return "directory";
+        case constants.S_IFIFO:
+          return "fifo";
+        case constants.S_IFLNK:
+          return "symlink";
       }
-      return signal;
+      return "file";
     }
-    Object.defineProperties(AbortController2.prototype, {
-      signal: { enumerable: true },
-      abort: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortController"
-      });
+    function noop3() {
+    }
+    function overflow(self2, size) {
+      size &= 511;
+      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
+    }
+    function mapWritable(buf) {
+      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
     }
-    exports2.AbortController = AbortController2;
-    exports2.AbortSignal = AbortSignal2;
-    exports2.default = AbortController2;
-    module2.exports = AbortController2;
-    module2.exports.AbortController = module2.exports["default"] = AbortController2;
-    module2.exports.AbortSignal = AbortSignal2;
   }
 });
 
-// node_modules/readable-stream/lib/ours/util.js
-var require_util20 = __commonJS({
-  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
-    "use strict";
-    var bufferModule = require("buffer");
-    var { kResistStopPropagation, SymbolDispose } = require_primordials();
-    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var AsyncFunction = Object.getPrototypeOf(async function() {
-    }).constructor;
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
-    };
-    var validateAbortSignal = (signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
+// node_modules/tar-stream/index.js
+var require_tar_stream = __commonJS({
+  "node_modules/tar-stream/index.js"(exports2) {
+    exports2.extract = require_extract();
+    exports2.pack = require_pack();
+  }
+});
+
+// node_modules/archiver/lib/plugins/tar.js
+var require_tar2 = __commonJS({
+  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
+    var zlib3 = require("zlib");
+    var engine = require_tar_stream();
+    var util = require_archiver_utils();
+    var Tar = function(options) {
+      if (!(this instanceof Tar)) {
+        return new Tar(options);
+      }
+      options = this.options = util.defaults(options, {
+        gzip: false
+      });
+      if (typeof options.gzipOptions !== "object") {
+        options.gzipOptions = {};
+      }
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = engine.pack(options);
+      this.compressor = false;
+      if (options.gzip) {
+        this.compressor = zlib3.createGzip(options.gzipOptions);
+        this.compressor.on("error", this._onCompressorError.bind(this));
       }
     };
-    var validateFunction = (value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    Tar.prototype._onCompressorError = function(err) {
+      this.engine.emit("error", err);
     };
-    var AggregateError = class extends Error {
-      constructor(errors) {
-        if (!Array.isArray(errors)) {
-          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
-        }
-        let message = "";
-        for (let i = 0; i < errors.length; i++) {
-          message += `    ${errors[i].stack}
-`;
+    Tar.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.mtime = data.date;
+      function append(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
         }
-        super(message);
-        this.name = "AggregateError";
-        this.errors = errors;
-      }
-    };
-    module2.exports = {
-      AggregateError,
-      kEmptyObject: Object.freeze({}),
-      once(callback) {
-        let called = false;
-        return function(...args) {
-          if (called) {
-            return;
-          }
-          called = true;
-          callback.apply(this, args);
-        };
-      },
-      createDeferredPromise: function() {
-        let resolve8;
-        let reject;
-        const promise = new Promise((res, rej) => {
-          resolve8 = res;
-          reject = rej;
-        });
-        return {
-          promise,
-          resolve: resolve8,
-          reject
-        };
-      },
-      promisify(fn) {
-        return new Promise((resolve8, reject) => {
-          fn((err, ...args) => {
-            if (err) {
-              return reject(err);
-            }
-            return resolve8(...args);
-          });
-        });
-      },
-      debuglog() {
-        return function() {
-        };
-      },
-      format(format, ...args) {
-        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
-          const replacement = args.shift();
-          if (type2 === "f") {
-            return replacement.toFixed(6);
-          } else if (type2 === "j") {
-            return JSON.stringify(replacement);
-          } else if (type2 === "s" && typeof replacement === "object") {
-            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
-            return `${ctor} {}`.trim();
-          } else {
-            return replacement.toString();
-          }
+        self2.engine.entry(data, sourceBuffer, function(err2) {
+          callback(err2, data);
         });
-      },
-      inspect(value) {
-        switch (typeof value) {
-          case "string":
-            if (value.includes("'")) {
-              if (!value.includes('"')) {
-                return `"${value}"`;
-              } else if (!value.includes("`") && !value.includes("${")) {
-                return `\`${value}\``;
-              }
-            }
-            return `'${value}'`;
-          case "number":
-            if (isNaN(value)) {
-              return "NaN";
-            } else if (Object.is(value, -0)) {
-              return String(value);
-            }
-            return value;
-          case "bigint":
-            return `${String(value)}n`;
-          case "boolean":
-          case "undefined":
-            return String(value);
-          case "object":
-            return "{}";
-        }
-      },
-      types: {
-        isAsyncFunction(fn) {
-          return fn instanceof AsyncFunction;
-        },
-        isArrayBufferView(arr) {
-          return ArrayBuffer.isView(arr);
-        }
-      },
-      isBlob,
-      deprecate(fn, message) {
-        return fn;
-      },
-      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
-        if (signal === void 0) {
-          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
-        }
-        validateAbortSignal(signal, "signal");
-        validateFunction(listener, "listener");
-        let removeEventListener;
-        if (signal.aborted) {
-          queueMicrotask(() => listener());
-        } else {
-          signal.addEventListener("abort", listener, {
-            __proto__: null,
-            once: true,
-            [kResistStopPropagation]: true
-          });
-          removeEventListener = () => {
-            signal.removeEventListener("abort", listener);
-          };
-        }
-        return {
-          __proto__: null,
-          [SymbolDispose]() {
-            var _removeEventListener;
-            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
-          }
-        };
-      },
-      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
-        if (signals.length === 1) {
-          return signals[0];
-        }
-        const ac = new AbortController2();
-        const abort = () => ac.abort();
-        signals.forEach((signal) => {
-          validateAbortSignal(signal, "signals");
-          signal.addEventListener("abort", abort, {
-            once: true
-          });
+      }
+      if (data.sourceType === "buffer") {
+        append(null, source);
+      } else if (data.sourceType === "stream" && data.stats) {
+        data.size = data.stats.size;
+        var entry = self2.engine.entry(data, function(err) {
+          callback(err, data);
         });
-        ac.signal.addEventListener(
-          "abort",
-          () => {
-            signals.forEach((signal) => signal.removeEventListener("abort", abort));
-          },
-          {
-            once: true
-          }
-        );
-        return ac.signal;
+        source.pipe(entry);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, append);
       }
     };
-    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
+    Tar.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Tar.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Tar.prototype.pipe = function(destination, options) {
+      if (this.compressor) {
+        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
+      } else {
+        return this.engine.pipe.apply(this.engine, arguments);
+      }
+    };
+    Tar.prototype.unpipe = function() {
+      if (this.compressor) {
+        return this.compressor.unpipe.apply(this.compressor, arguments);
+      } else {
+        return this.engine.unpipe.apply(this.engine, arguments);
+      }
+    };
+    module2.exports = Tar;
   }
 });
 
-// node_modules/readable-stream/lib/ours/errors.js
-var require_errors5 = __commonJS({
-  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
+// node_modules/buffer-crc32/dist/index.cjs
+var require_dist5 = __commonJS({
+  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
     "use strict";
-    var { format, inspect, AggregateError: CustomAggregateError } = require_util20();
-    var AggregateError = globalThis.AggregateError || CustomAggregateError;
-    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
-    var kTypes = [
-      "string",
-      "function",
-      "number",
-      "object",
-      // Accept 'Function' and 'Object' as alternative to the lower cased version.
-      "Function",
-      "Object",
-      "boolean",
-      "bigint",
-      "symbol"
-    ];
-    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
-    var nodeInternalPrefix = "__node_internal_";
-    var codes = {};
-    function assert(value, message) {
-      if (!value) {
-        throw new codes.ERR_INTERNAL_ASSERTION(message);
+    function getDefaultExportFromCjs(x) {
+      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
+    }
+    var CRC_TABLE = new Int32Array([
+      0,
+      1996959894,
+      3993919788,
+      2567524794,
+      124634137,
+      1886057615,
+      3915621685,
+      2657392035,
+      249268274,
+      2044508324,
+      3772115230,
+      2547177864,
+      162941995,
+      2125561021,
+      3887607047,
+      2428444049,
+      498536548,
+      1789927666,
+      4089016648,
+      2227061214,
+      450548861,
+      1843258603,
+      4107580753,
+      2211677639,
+      325883990,
+      1684777152,
+      4251122042,
+      2321926636,
+      335633487,
+      1661365465,
+      4195302755,
+      2366115317,
+      997073096,
+      1281953886,
+      3579855332,
+      2724688242,
+      1006888145,
+      1258607687,
+      3524101629,
+      2768942443,
+      901097722,
+      1119000684,
+      3686517206,
+      2898065728,
+      853044451,
+      1172266101,
+      3705015759,
+      2882616665,
+      651767980,
+      1373503546,
+      3369554304,
+      3218104598,
+      565507253,
+      1454621731,
+      3485111705,
+      3099436303,
+      671266974,
+      1594198024,
+      3322730930,
+      2970347812,
+      795835527,
+      1483230225,
+      3244367275,
+      3060149565,
+      1994146192,
+      31158534,
+      2563907772,
+      4023717930,
+      1907459465,
+      112637215,
+      2680153253,
+      3904427059,
+      2013776290,
+      251722036,
+      2517215374,
+      3775830040,
+      2137656763,
+      141376813,
+      2439277719,
+      3865271297,
+      1802195444,
+      476864866,
+      2238001368,
+      4066508878,
+      1812370925,
+      453092731,
+      2181625025,
+      4111451223,
+      1706088902,
+      314042704,
+      2344532202,
+      4240017532,
+      1658658271,
+      366619977,
+      2362670323,
+      4224994405,
+      1303535960,
+      984961486,
+      2747007092,
+      3569037538,
+      1256170817,
+      1037604311,
+      2765210733,
+      3554079995,
+      1131014506,
+      879679996,
+      2909243462,
+      3663771856,
+      1141124467,
+      855842277,
+      2852801631,
+      3708648649,
+      1342533948,
+      654459306,
+      3188396048,
+      3373015174,
+      1466479909,
+      544179635,
+      3110523913,
+      3462522015,
+      1591671054,
+      702138776,
+      2966460450,
+      3352799412,
+      1504918807,
+      783551873,
+      3082640443,
+      3233442989,
+      3988292384,
+      2596254646,
+      62317068,
+      1957810842,
+      3939845945,
+      2647816111,
+      81470997,
+      1943803523,
+      3814918930,
+      2489596804,
+      225274430,
+      2053790376,
+      3826175755,
+      2466906013,
+      167816743,
+      2097651377,
+      4027552580,
+      2265490386,
+      503444072,
+      1762050814,
+      4150417245,
+      2154129355,
+      426522225,
+      1852507879,
+      4275313526,
+      2312317920,
+      282753626,
+      1742555852,
+      4189708143,
+      2394877945,
+      397917763,
+      1622183637,
+      3604390888,
+      2714866558,
+      953729732,
+      1340076626,
+      3518719985,
+      2797360999,
+      1068828381,
+      1219638859,
+      3624741850,
+      2936675148,
+      906185462,
+      1090812512,
+      3747672003,
+      2825379669,
+      829329135,
+      1181335161,
+      3412177804,
+      3160834842,
+      628085408,
+      1382605366,
+      3423369109,
+      3138078467,
+      570562233,
+      1426400815,
+      3317316542,
+      2998733608,
+      733239954,
+      1555261956,
+      3268935591,
+      3050360625,
+      752459403,
+      1541320221,
+      2607071920,
+      3965973030,
+      1969922972,
+      40735498,
+      2617837225,
+      3943577151,
+      1913087877,
+      83908371,
+      2512341634,
+      3803740692,
+      2075208622,
+      213261112,
+      2463272603,
+      3855990285,
+      2094854071,
+      198958881,
+      2262029012,
+      4057260610,
+      1759359992,
+      534414190,
+      2176718541,
+      4139329115,
+      1873836001,
+      414664567,
+      2282248934,
+      4279200368,
+      1711684554,
+      285281116,
+      2405801727,
+      4167216745,
+      1634467795,
+      376229701,
+      2685067896,
+      3608007406,
+      1308918612,
+      956543938,
+      2808555105,
+      3495958263,
+      1231636301,
+      1047427035,
+      2932959818,
+      3654703836,
+      1088359270,
+      936918e3,
+      2847714899,
+      3736837829,
+      1202900863,
+      817233897,
+      3183342108,
+      3401237130,
+      1404277552,
+      615818150,
+      3134207493,
+      3453421203,
+      1423857449,
+      601450431,
+      3009837614,
+      3294710456,
+      1567103746,
+      711928724,
+      3020668471,
+      3272380065,
+      1510334235,
+      755167117
+    ]);
+    function ensureBuffer(input) {
+      if (Buffer.isBuffer(input)) {
+        return input;
       }
-    }
-    function addNumericalSeparator(val) {
-      let res = "";
-      let i = val.length;
-      const start = val[0] === "-" ? 1 : 0;
-      for (; i >= start + 4; i -= 3) {
-        res = `_${val.slice(i - 3, i)}${res}`;
+      if (typeof input === "number") {
+        return Buffer.alloc(input);
+      } else if (typeof input === "string") {
+        return Buffer.from(input);
+      } else {
+        throw new Error("input must be buffer, number, or string, received " + typeof input);
       }
-      return `${val.slice(0, i)}${res}`;
     }
-    function getMessage(key, msg, args) {
-      if (typeof msg === "function") {
-        assert(
-          msg.length <= args.length,
-          // Default options do not count.
-          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
-        );
-        return msg(...args);
-      }
-      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
-      assert(
-        expectedLength === args.length,
-        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
-      );
-      if (args.length === 0) {
-        return msg;
-      }
-      return format(msg, ...args);
+    function bufferizeInt(num) {
+      const tmp = ensureBuffer(4);
+      tmp.writeInt32BE(num, 0);
+      return tmp;
     }
-    function E(code, message, Base) {
-      if (!Base) {
-        Base = Error;
+    function _crc32(buf, previous) {
+      buf = ensureBuffer(buf);
+      if (Buffer.isBuffer(previous)) {
+        previous = previous.readUInt32BE(0);
       }
-      class NodeError extends Base {
-        constructor(...args) {
-          super(getMessage(code, message, args));
-        }
-        toString() {
-          return `${this.name} [${code}]: ${this.message}`;
-        }
+      let crc = ~~previous ^ -1;
+      for (var n = 0; n < buf.length; n++) {
+        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
       }
-      Object.defineProperties(NodeError.prototype, {
-        name: {
-          value: Base.name,
-          writable: true,
-          enumerable: false,
-          configurable: true
-        },
-        toString: {
-          value() {
-            return `${this.name} [${code}]: ${this.message}`;
-          },
-          writable: true,
-          enumerable: false,
-          configurable: true
-        }
-      });
-      NodeError.prototype.code = code;
-      NodeError.prototype[kIsNodeError] = true;
-      codes[code] = NodeError;
-    }
-    function hideStackFrames(fn) {
-      const hidden = nodeInternalPrefix + fn.name;
-      Object.defineProperty(fn, "name", {
-        value: hidden
-      });
-      return fn;
+      return crc ^ -1;
     }
-    function aggregateTwoErrors(innerError, outerError) {
-      if (innerError && outerError && innerError !== outerError) {
-        if (Array.isArray(outerError.errors)) {
-          outerError.errors.push(innerError);
-          return outerError;
-        }
-        const err = new AggregateError([outerError, innerError], outerError.message);
-        err.code = outerError.code;
-        return err;
-      }
-      return innerError || outerError;
+    function crc32() {
+      return bufferizeInt(_crc32.apply(null, arguments));
     }
-    var AbortError = class extends Error {
-      constructor(message = "The operation was aborted", options = void 0) {
-        if (options !== void 0 && typeof options !== "object") {
-          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
-        }
-        super(message, options);
-        this.code = "ABORT_ERR";
-        this.name = "AbortError";
-      }
+    crc32.signed = function() {
+      return _crc32.apply(null, arguments);
     };
-    E("ERR_ASSERTION", "%s", Error);
-    E(
-      "ERR_INVALID_ARG_TYPE",
-      (name, expected, actual) => {
-        assert(typeof name === "string", "'name' must be a string");
-        if (!Array.isArray(expected)) {
-          expected = [expected];
-        }
-        let msg = "The ";
-        if (name.endsWith(" argument")) {
-          msg += `${name} `;
-        } else {
-          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
-        }
-        msg += "must be ";
-        const types = [];
-        const instances = [];
-        const other = [];
-        for (const value of expected) {
-          assert(typeof value === "string", "All expected entries have to be of type string");
-          if (kTypes.includes(value)) {
-            types.push(value.toLowerCase());
-          } else if (classRegExp.test(value)) {
-            instances.push(value);
-          } else {
-            assert(value !== "object", 'The value "object" should be written as "Object"');
-            other.push(value);
-          }
-        }
-        if (instances.length > 0) {
-          const pos = types.indexOf("object");
-          if (pos !== -1) {
-            types.splice(types, pos, 1);
-            instances.push("Object");
-          }
-        }
-        if (types.length > 0) {
-          switch (types.length) {
-            case 1:
-              msg += `of type ${types[0]}`;
-              break;
-            case 2:
-              msg += `one of type ${types[0]} or ${types[1]}`;
-              break;
-            default: {
-              const last = types.pop();
-              msg += `one of type ${types.join(", ")}, or ${last}`;
-            }
-          }
-          if (instances.length > 0 || other.length > 0) {
-            msg += " or ";
-          }
-        }
-        if (instances.length > 0) {
-          switch (instances.length) {
-            case 1:
-              msg += `an instance of ${instances[0]}`;
-              break;
-            case 2:
-              msg += `an instance of ${instances[0]} or ${instances[1]}`;
-              break;
-            default: {
-              const last = instances.pop();
-              msg += `an instance of ${instances.join(", ")}, or ${last}`;
-            }
-          }
-          if (other.length > 0) {
-            msg += " or ";
-          }
-        }
-        switch (other.length) {
-          case 0:
-            break;
-          case 1:
-            if (other[0].toLowerCase() !== other[0]) {
-              msg += "an ";
-            }
-            msg += `${other[0]}`;
-            break;
-          case 2:
-            msg += `one of ${other[0]} or ${other[1]}`;
-            break;
-          default: {
-            const last = other.pop();
-            msg += `one of ${other.join(", ")}, or ${last}`;
-          }
-        }
-        if (actual == null) {
-          msg += `. Received ${actual}`;
-        } else if (typeof actual === "function" && actual.name) {
-          msg += `. Received function ${actual.name}`;
-        } else if (typeof actual === "object") {
-          var _actual$constructor;
-          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
-            msg += `. Received an instance of ${actual.constructor.name}`;
-          } else {
-            const inspected = inspect(actual, {
-              depth: -1
-            });
-            msg += `. Received ${inspected}`;
-          }
-        } else {
-          let inspected = inspect(actual, {
-            colors: false
-          });
-          if (inspected.length > 25) {
-            inspected = `${inspected.slice(0, 25)}...`;
-          }
-          msg += `. Received type ${typeof actual} (${inspected})`;
-        }
-        return msg;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_ARG_VALUE",
-      (name, value, reason = "is invalid") => {
-        let inspected = inspect(value);
-        if (inspected.length > 128) {
-          inspected = inspected.slice(0, 128) + "...";
-        }
-        const type2 = name.includes(".") ? "property" : "argument";
-        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_RETURN_VALUE",
-      (input, name, value) => {
-        var _value$constructor;
-        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
-        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_MISSING_ARGS",
-      (...args) => {
-        assert(args.length > 0, "At least one arg needs to be specified");
-        let msg;
-        const len = args.length;
-        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
-        switch (len) {
-          case 1:
-            msg += `The ${args[0]} argument`;
-            break;
-          case 2:
-            msg += `The ${args[0]} and ${args[1]} arguments`;
-            break;
-          default:
-            {
-              const last = args.pop();
-              msg += `The ${args.join(", ")}, and ${last} arguments`;
-            }
-            break;
-        }
-        return `${msg} must be specified`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_OUT_OF_RANGE",
-      (str2, range, input) => {
-        assert(range, 'Missing "range" argument');
-        let received;
-        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
-          received = addNumericalSeparator(String(input));
-        } else if (typeof input === "bigint") {
-          received = String(input);
-          if (input > 2n ** 32n || input < -(2n ** 32n)) {
-            received = addNumericalSeparator(received);
-          }
-          received += "n";
-        } else {
-          received = inspect(input);
-        }
-        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
-      },
-      RangeError
-    );
-    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
-    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
-    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
-    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
-    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
-    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
-    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
-    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
-    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
-    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
-    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
-    module2.exports = {
-      AbortError,
-      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
-      hideStackFrames,
-      codes
+    crc32.unsigned = function() {
+      return _crc32.apply(null, arguments) >>> 0;
     };
+    var bufferCrc32 = crc32;
+    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
+    module2.exports = index;
   }
 });
 
-// node_modules/readable-stream/lib/internal/validators.js
-var require_validators = __commonJS({
-  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
-    "use strict";
-    var {
-      ArrayIsArray,
-      ArrayPrototypeIncludes,
-      ArrayPrototypeJoin,
-      ArrayPrototypeMap,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberMAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER,
-      NumberParseInt,
-      ObjectPrototypeHasOwnProperty,
-      RegExpPrototypeExec,
-      String: String2,
-      StringPrototypeToUpperCase,
-      StringPrototypeTrim
-    } = require_primordials();
-    var {
-      hideStackFrames,
-      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
-    } = require_errors5();
-    var { normalizeEncoding } = require_util20();
-    var { isAsyncFunction, isArrayBufferView } = require_util20().types;
-    var signals = {};
-    function isInt32(value) {
-      return value === (value | 0);
-    }
-    function isUint32(value) {
-      return value === value >>> 0;
-    }
-    var octalReg = /^[0-7]+$/;
-    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
-    function parseFileMode(value, name, def) {
-      if (typeof value === "undefined") {
-        value = def;
+// node_modules/archiver/lib/plugins/json.js
+var require_json = __commonJS({
+  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var Transform = require_ours().Transform;
+    var crc32 = require_dist5();
+    var util = require_archiver_utils();
+    var Json = function(options) {
+      if (!(this instanceof Json)) {
+        return new Json(options);
       }
-      if (typeof value === "string") {
-        if (RegExpPrototypeExec(octalReg, value) === null) {
-          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
+      options = this.options = util.defaults(options, {});
+      Transform.call(this, options);
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.files = [];
+    };
+    inherits(Json, Transform);
+    Json.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    Json.prototype._writeStringified = function() {
+      var fileString = JSON.stringify(this.files);
+      this.write(fileString);
+    };
+    Json.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.crc32 = 0;
+      function onend(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
         }
-        value = NumberParseInt(value, 8);
-      }
-      validateUint32(value, name);
-      return value;
-    }
-    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
-      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
-    });
-    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
-      }
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
-      }
-    });
-    var validateUint32 = hideStackFrames((value, name, positive = false) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+        data.size = sourceBuffer.length || 0;
+        data.crc32 = crc32.unsigned(sourceBuffer);
+        self2.files.push(data);
+        callback(null, data);
       }
-      const min = positive ? 1 : 0;
-      const max = 4294967295;
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      if (data.sourceType === "buffer") {
+        onend(null, source);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, onend);
       }
-    });
-    function validateString(value, name) {
-      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
-    }
-    function validateNumber(value, name, min = void 0, max) {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
-        throw new ERR_OUT_OF_RANGE(
-          name,
-          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
-          value
-        );
+    };
+    Json.prototype.finalize = function() {
+      this._writeStringified();
+      this.end();
+    };
+    module2.exports = Json;
+  }
+});
+
+// node_modules/archiver/index.js
+var require_archiver = __commonJS({
+  "node_modules/archiver/index.js"(exports2, module2) {
+    var Archiver = require_core2();
+    var formats = {};
+    var vending = function(format, options) {
+      return vending.create(format, options);
+    };
+    vending.create = function(format, options) {
+      if (formats[format]) {
+        var instance = new Archiver(format, options);
+        instance.setFormat(format);
+        instance.setModule(new formats[format](options));
+        return instance;
+      } else {
+        throw new Error("create(" + format + "): format not registered");
       }
-    }
-    var validateOneOf = hideStackFrames((value, name, oneOf) => {
-      if (!ArrayPrototypeIncludes(oneOf, value)) {
-        const allowed = ArrayPrototypeJoin(
-          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
-          ", "
-        );
-        const reason = "must be one of: " + allowed;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+    };
+    vending.registerFormat = function(format, module3) {
+      if (formats[format]) {
+        throw new Error("register(" + format + "): format already registered");
       }
-    });
-    function validateBoolean(value, name) {
-      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
-    }
-    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
-      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
-    }
-    var validateObject = hideStackFrames((value, name, options = null) => {
-      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
-      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
-      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
-      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
+      if (typeof module3 !== "function") {
+        throw new Error("register(" + format + "): format module invalid");
       }
-    });
-    var validateDictionary = hideStackFrames((value, name) => {
-      if (value != null && typeof value !== "object" && typeof value !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
+      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
+        throw new Error("register(" + format + "): format module missing methods");
       }
-    });
-    var validateArray = hideStackFrames((value, name, minLength = 0) => {
-      if (!ArrayIsArray(value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
+      formats[format] = module3;
+    };
+    vending.isRegisteredFormat = function(format) {
+      if (formats[format]) {
+        return true;
       }
-      if (value.length < minLength) {
-        const reason = `must be longer than ${minLength}`;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      return false;
+    };
+    vending.registerFormat("zip", require_zip());
+    vending.registerFormat("tar", require_tar2());
+    vending.registerFormat("json", require_json());
+    module2.exports = vending;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/zip.js
+var require_zip2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
     });
-    function validateStringArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateString(value[i], `${name}[${i}]`);
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-    }
-    function validateBooleanArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateBoolean(value[i], `${name}[${i}]`);
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
       }
-    }
-    function validateAbortSignalArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        const signal = value[i];
-        const indexedName = `${name}[${i}]`;
-        if (signal == null) {
-          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        validateAbortSignal(signal, indexedName);
-      }
-    }
-    function validateSignalName(signal, name = "signal") {
-      validateString(signal, name);
-      if (signals[signal] === void 0) {
-        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
-          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        throw new ERR_UNKNOWN_SIGNAL(signal);
-      }
-    }
-    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
-      if (!isArrayBufferView(buffer)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
+    var stream2 = __importStar2(require("stream"));
+    var promises_1 = require("fs/promises");
+    var archiver2 = __importStar2(require_archiver());
+    var core17 = __importStar2(require_core());
+    var config_1 = require_config2();
+    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
+    var ZipUploadStream = class extends stream2.Transform {
+      constructor(bufferSize) {
+        super({
+          highWaterMark: bufferSize
+        });
       }
-    });
-    function validateEncoding(data, encoding) {
-      const normalizedEncoding = normalizeEncoding(encoding);
-      const length = data.length;
-      if (normalizedEncoding === "hex" && length % 2 !== 0) {
-        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      _transform(chunk, enc, cb) {
+        cb(null, chunk);
       }
+    };
+    exports2.ZipUploadStream = ZipUploadStream;
+    function createZipUploadStream(uploadSpecification_1) {
+      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
+        core17.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
+        const zip = archiver2.create("zip", {
+          highWaterMark: (0, config_1.getUploadChunkSize)(),
+          zlib: { level: compressionLevel }
+        });
+        zip.on("error", zipErrorCallback);
+        zip.on("warning", zipWarningCallback);
+        zip.on("finish", zipFinishCallback);
+        zip.on("end", zipEndCallback);
+        for (const file of uploadSpecification) {
+          if (file.sourcePath !== null) {
+            let sourcePath = file.sourcePath;
+            if (file.stats.isSymbolicLink()) {
+              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
+            }
+            zip.file(sourcePath, {
+              name: file.destinationPath
+            });
+          } else {
+            zip.append("", { name: file.destinationPath });
+          }
+        }
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const zipUploadStream = new ZipUploadStream(bufferSize);
+        core17.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
+        core17.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
+        zip.pipe(zipUploadStream);
+        zip.finalize();
+        return zipUploadStream;
+      });
     }
-    function validatePort(port, name = "Port", allowZero = true) {
-      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
-        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
+    exports2.createZipUploadStream = createZipUploadStream;
+    var zipErrorCallback = (error3) => {
+      core17.error("An error has occurred while creating the zip file for upload");
+      core17.info(error3);
+      throw new Error("An error has occurred during zip creation for the artifact");
+    };
+    var zipWarningCallback = (error3) => {
+      if (error3.code === "ENOENT") {
+        core17.warning("ENOENT warning during artifact zip creation. No such file or directory");
+        core17.info(error3);
+      } else {
+        core17.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
+        core17.info(error3);
       }
-      return port | 0;
-    }
-    var validateAbortSignal = hideStackFrames((signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+    };
+    var zipFinishCallback = () => {
+      core17.debug("Zip stream for upload has finished.");
+    };
+    var zipEndCallback = () => {
+      core17.debug("Zip stream for upload has ended.");
+    };
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
+var require_upload_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
     });
-    var validateFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validatePlainFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validateUndefined = hideStackFrames((value, name) => {
-      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
-    });
-    function validateUnion(value, name, union) {
-      if (!ArrayPrototypeIncludes(union, value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-    }
-    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
-    function validateLinkHeaderFormat(value, name) {
-      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
-        throw new ERR_INVALID_ARG_VALUE(
-          name,
-          value,
-          'must be an array or string of format "; rel=preload; as=style"'
-        );
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve8) {
+          resolve8(value);
+        });
       }
-    }
-    function validateLinkHeaderValue(hints) {
-      if (typeof hints === "string") {
-        validateLinkHeaderFormat(hints, "hints");
-        return hints;
-      } else if (ArrayIsArray(hints)) {
-        const hintsLength = hints.length;
-        let result = "";
-        if (hintsLength === 0) {
-          return result;
+      return new (P || (P = Promise))(function(resolve8, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        for (let i = 0; i < hintsLength; i++) {
-          const link = hints[i];
-          validateLinkHeaderFormat(link, "hints");
-          result += link;
-          if (i !== hintsLength - 1) {
-            result += ", ";
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
           }
         }
-        return result;
-      }
-      throw new ERR_INVALID_ARG_VALUE(
-        "hints",
-        hints,
-        'must be an array or string of format "; rel=preload; as=style"'
-      );
-    }
-    module2.exports = {
-      isInt32,
-      isUint32,
-      parseFileMode,
-      validateArray,
-      validateStringArray,
-      validateBooleanArray,
-      validateAbortSignalArray,
-      validateBoolean,
-      validateBuffer,
-      validateDictionary,
-      validateEncoding,
-      validateFunction,
-      validateInt32,
-      validateInteger,
-      validateNumber,
-      validateObject,
-      validateOneOf,
-      validatePlainFunction,
-      validatePort,
-      validateSignalName,
-      validateString,
-      validateUint32,
-      validateUndefined,
-      validateUnion,
-      validateAbortSignal,
-      validateLinkHeaderValue
+        function step(result) {
+          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadArtifact = void 0;
+    var core17 = __importStar2(require_core());
+    var retention_1 = require_retention();
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    var artifact_twirp_client_1 = require_artifact_twirp_client2();
+    var upload_zip_specification_1 = require_upload_zip_specification();
+    var util_1 = require_util19();
+    var blob_upload_1 = require_blob_upload();
+    var zip_1 = require_zip2();
+    var generated_1 = require_generated();
+    var errors_1 = require_errors4();
+    function uploadArtifact(name, files, rootDirectory, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
+        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
+        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
+        if (zipSpecification.length === 0) {
+          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
+        }
+        const backendIds = (0, util_1.getBackendIdsFromToken)();
+        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
+        const createArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          version: 4
+        };
+        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
+        if (expiresAt) {
+          createArtifactReq.expiresAt = expiresAt;
+        }
+        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
+        if (!createArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
+        }
+        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
+        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
+        const finalizeArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
+        };
+        if (uploadResult.sha256Hash) {
+          finalizeArtifactReq.hash = generated_1.StringValue.create({
+            value: `sha256:${uploadResult.sha256Hash}`
+          });
+        }
+        core17.info(`Finalizing artifact upload`);
+        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
+        if (!finalizeArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
+        }
+        const artifactId = BigInt(finalizeArtifactResp.artifactId);
+        core17.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
+        return {
+          size: uploadResult.uploadSize,
+          digest: uploadResult.sha256Hash,
+          id: Number(artifactId)
+        };
+      });
+    }
+    exports2.uploadArtifact = uploadArtifact;
   }
 });
 
-// node_modules/process/index.js
-var require_process = __commonJS({
-  "node_modules/process/index.js"(exports2, module2) {
-    module2.exports = global.process;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/utils.js
-var require_utils8 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
+// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
+var require_context2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js"(exports2) {
     "use strict";
-    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
-    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
-    var kIsErrored = SymbolFor("nodejs.stream.errored");
-    var kIsReadable = SymbolFor("nodejs.stream.readable");
-    var kIsWritable = SymbolFor("nodejs.stream.writable");
-    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
-    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
-    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
-    function isReadableNodeStream(obj, strict = false) {
-      var _obj$_readableState;
-      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
-      (!obj._writableState || obj._readableState));
-    }
-    function isWritableNodeStream(obj) {
-      var _obj$_writableState;
-      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
-    }
-    function isDuplexNodeStream(obj) {
-      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
-    }
-    function isNodeStream(obj) {
-      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
-    }
-    function isReadableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
-    }
-    function isWritableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
-    }
-    function isTransformStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
-    }
-    function isWebStream(obj) {
-      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
-    }
-    function isIterable(obj, isAsync) {
-      if (obj == null) return false;
-      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
-      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
-      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
-    }
-    function isDestroyed(stream2) {
-      if (!isNodeStream(stream2)) return null;
-      const wState = stream2._writableState;
-      const rState = stream2._readableState;
-      const state = wState || rState;
-      return !!(stream2.destroyed || stream2[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
-    }
-    function isWritableEnded(stream2) {
-      if (!isWritableNodeStream(stream2)) return null;
-      if (stream2.writableEnded === true) return true;
-      const wState = stream2._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
-      return wState.ended;
-    }
-    function isWritableFinished(stream2, strict) {
-      if (!isWritableNodeStream(stream2)) return null;
-      if (stream2.writableFinished === true) return true;
-      const wState = stream2._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
-      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
-    }
-    function isReadableEnded(stream2) {
-      if (!isReadableNodeStream(stream2)) return null;
-      if (stream2.readableEnded === true) return true;
-      const rState = stream2._readableState;
-      if (!rState || rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
-      return rState.ended;
-    }
-    function isReadableFinished(stream2, strict) {
-      if (!isReadableNodeStream(stream2)) return null;
-      const rState = stream2._readableState;
-      if (rState !== null && rState !== void 0 && rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
-      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
-    }
-    function isReadable(stream2) {
-      if (stream2 && stream2[kIsReadable] != null) return stream2[kIsReadable];
-      if (typeof (stream2 === null || stream2 === void 0 ? void 0 : stream2.readable) !== "boolean") return null;
-      if (isDestroyed(stream2)) return false;
-      return isReadableNodeStream(stream2) && stream2.readable && !isReadableFinished(stream2);
-    }
-    function isWritable(stream2) {
-      if (stream2 && stream2[kIsWritable] != null) return stream2[kIsWritable];
-      if (typeof (stream2 === null || stream2 === void 0 ? void 0 : stream2.writable) !== "boolean") return null;
-      if (isDestroyed(stream2)) return false;
-      return isWritableNodeStream(stream2) && stream2.writable && !isWritableEnded(stream2);
-    }
-    function isFinished(stream2, opts) {
-      if (!isNodeStream(stream2)) {
-        return null;
-      }
-      if (isDestroyed(stream2)) {
-        return true;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Context = void 0;
+    var fs_1 = require("fs");
+    var os_1 = require("os");
+    var Context = class {
+      /**
+       * Hydrate the context from the environment
+       */
+      constructor() {
+        var _a, _b, _c;
+        this.payload = {};
+        if (process.env.GITHUB_EVENT_PATH) {
+          if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) {
+            this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" }));
+          } else {
+            const path16 = process.env.GITHUB_EVENT_PATH;
+            process.stdout.write(`GITHUB_EVENT_PATH ${path16} does not exist${os_1.EOL}`);
+          }
+        }
+        this.eventName = process.env.GITHUB_EVENT_NAME;
+        this.sha = process.env.GITHUB_SHA;
+        this.ref = process.env.GITHUB_REF;
+        this.workflow = process.env.GITHUB_WORKFLOW;
+        this.action = process.env.GITHUB_ACTION;
+        this.actor = process.env.GITHUB_ACTOR;
+        this.job = process.env.GITHUB_JOB;
+        this.runAttempt = parseInt(process.env.GITHUB_RUN_ATTEMPT, 10);
+        this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);
+        this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);
+        this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;
+        this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;
+        this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;
       }
-      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream2)) {
-        return false;
+      get issue() {
+        const payload = this.payload;
+        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
       }
-      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream2)) {
-        return false;
+      get repo() {
+        if (process.env.GITHUB_REPOSITORY) {
+          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
+          return { owner, repo };
+        }
+        if (this.payload.repository) {
+          return {
+            owner: this.payload.repository.owner.login,
+            repo: this.payload.repository.name
+          };
+        }
+        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
       }
-      return true;
-    }
-    function isWritableErrored(stream2) {
-      var _stream$_writableStat, _stream$_writableStat2;
-      if (!isNodeStream(stream2)) {
-        return null;
+    };
+    exports2.Context = Context;
+  }
+});
+
+// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
+var require_proxy2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.checkBypass = exports2.getProxyUrl = void 0;
+    function getProxyUrl(reqUrl) {
+      const usingSsl = reqUrl.protocol === "https:";
+      if (checkBypass(reqUrl)) {
+        return void 0;
       }
-      if (stream2.writableErrored) {
-        return stream2.writableErrored;
+      const proxyVar = (() => {
+        if (usingSsl) {
+          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+        } else {
+          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+        }
+      })();
+      if (proxyVar) {
+        try {
+          return new DecodedURL(proxyVar);
+        } catch (_a) {
+          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
+            return new DecodedURL(`http://${proxyVar}`);
+        }
+      } else {
+        return void 0;
       }
-      return (_stream$_writableStat = (_stream$_writableStat2 = stream2._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
     }
-    function isReadableErrored(stream2) {
-      var _stream$_readableStat, _stream$_readableStat2;
-      if (!isNodeStream(stream2)) {
-        return null;
+    exports2.getProxyUrl = getProxyUrl;
+    function checkBypass(reqUrl) {
+      if (!reqUrl.hostname) {
+        return false;
       }
-      if (stream2.readableErrored) {
-        return stream2.readableErrored;
+      const reqHost = reqUrl.hostname;
+      if (isLoopbackAddress(reqHost)) {
+        return true;
       }
-      return (_stream$_readableStat = (_stream$_readableStat2 = stream2._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
-    }
-    function isClosed(stream2) {
-      if (!isNodeStream(stream2)) {
-        return null;
+      const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || "";
+      if (!noProxy) {
+        return false;
       }
-      if (typeof stream2.closed === "boolean") {
-        return stream2.closed;
+      let reqPort;
+      if (reqUrl.port) {
+        reqPort = Number(reqUrl.port);
+      } else if (reqUrl.protocol === "http:") {
+        reqPort = 80;
+      } else if (reqUrl.protocol === "https:") {
+        reqPort = 443;
       }
-      const wState = stream2._writableState;
-      const rState = stream2._readableState;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
-        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
+      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
+      if (typeof reqPort === "number") {
+        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
       }
-      if (typeof stream2._closed === "boolean" && isOutgoingMessage(stream2)) {
-        return stream2._closed;
+      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
+        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
+          return true;
+        }
       }
-      return null;
-    }
-    function isOutgoingMessage(stream2) {
-      return typeof stream2._closed === "boolean" && typeof stream2._defaultKeepAlive === "boolean" && typeof stream2._removedConnection === "boolean" && typeof stream2._removedContLen === "boolean";
-    }
-    function isServerResponse(stream2) {
-      return typeof stream2._sent100 === "boolean" && isOutgoingMessage(stream2);
-    }
-    function isServerRequest(stream2) {
-      var _stream$req;
-      return typeof stream2._consuming === "boolean" && typeof stream2._dumped === "boolean" && ((_stream$req = stream2.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
-    }
-    function willEmitClose(stream2) {
-      if (!isNodeStream(stream2)) return null;
-      const wState = stream2._writableState;
-      const rState = stream2._readableState;
-      const state = wState || rState;
-      return !state && isServerResponse(stream2) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
-    }
-    function isDisturbed(stream2) {
-      var _stream$kIsDisturbed;
-      return !!(stream2 && ((_stream$kIsDisturbed = stream2[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream2.readableDidRead || stream2.readableAborted));
+      return false;
     }
-    function isErrored(stream2) {
-      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
-      return !!(stream2 && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream2[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream2.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream2.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream2._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream2._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream2._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream2._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
+    exports2.checkBypass = checkBypass;
+    function isLoopbackAddress(host) {
+      const hostLower = host.toLowerCase();
+      return hostLower === "localhost" || hostLower.startsWith("127.") || hostLower.startsWith("[::1]") || hostLower.startsWith("[0:0:0:0:0:0:0:1]");
     }
+    var DecodedURL = class extends URL {
+      constructor(url2, base) {
+        super(url2, base);
+        this._decodedUsername = decodeURIComponent(super.username);
+        this._decodedPassword = decodeURIComponent(super.password);
+      }
+      get username() {
+        return this._decodedUsername;
+      }
+      get password() {
+        return this._decodedPassword;
+      }
+    };
+  }
+});
+
+// node_modules/undici/lib/core/symbols.js
+var require_symbols11 = __commonJS({
+  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
-      isDestroyed,
-      kIsDestroyed,
-      isDisturbed,
-      kIsDisturbed,
-      isErrored,
-      kIsErrored,
-      isReadable,
-      kIsReadable,
-      kIsClosedPromise,
-      kControllerErrorFunction,
-      kIsWritable,
-      isClosed,
-      isDuplexNodeStream,
-      isFinished,
-      isIterable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableEnded,
-      isReadableFinished,
-      isReadableErrored,
-      isNodeStream,
-      isWebStream,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableEnded,
-      isWritableFinished,
-      isWritableErrored,
-      isServerRequest,
-      isServerResponse,
-      willEmitClose,
-      isTransformStream
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kDestroy: /* @__PURE__ */ Symbol("destroy"),
+      kDispatch: /* @__PURE__ */ Symbol("dispatch"),
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kWriting: /* @__PURE__ */ Symbol("writing"),
+      kResuming: /* @__PURE__ */ Symbol("resuming"),
+      kQueue: /* @__PURE__ */ Symbol("queue"),
+      kConnect: /* @__PURE__ */ Symbol("connect"),
+      kConnecting: /* @__PURE__ */ Symbol("connecting"),
+      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
+      kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
+      kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
+      kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
+      kKeepAliveTimeoutValue: /* @__PURE__ */ Symbol("keep alive timeout"),
+      kKeepAlive: /* @__PURE__ */ Symbol("keep alive"),
+      kHeadersTimeout: /* @__PURE__ */ Symbol("headers timeout"),
+      kBodyTimeout: /* @__PURE__ */ Symbol("body timeout"),
+      kServerName: /* @__PURE__ */ Symbol("server name"),
+      kLocalAddress: /* @__PURE__ */ Symbol("local address"),
+      kHost: /* @__PURE__ */ Symbol("host"),
+      kNoRef: /* @__PURE__ */ Symbol("no ref"),
+      kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kRunning: /* @__PURE__ */ Symbol("running"),
+      kBlocking: /* @__PURE__ */ Symbol("blocking"),
+      kPending: /* @__PURE__ */ Symbol("pending"),
+      kSize: /* @__PURE__ */ Symbol("size"),
+      kBusy: /* @__PURE__ */ Symbol("busy"),
+      kQueued: /* @__PURE__ */ Symbol("queued"),
+      kFree: /* @__PURE__ */ Symbol("free"),
+      kConnected: /* @__PURE__ */ Symbol("connected"),
+      kClosed: /* @__PURE__ */ Symbol("closed"),
+      kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
+      kReset: /* @__PURE__ */ Symbol("reset"),
+      kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
+      kRunningIdx: /* @__PURE__ */ Symbol("running index"),
+      kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
+      kError: /* @__PURE__ */ Symbol("error"),
+      kClients: /* @__PURE__ */ Symbol("clients"),
+      kClient: /* @__PURE__ */ Symbol("client"),
+      kParser: /* @__PURE__ */ Symbol("parser"),
+      kOnDestroyed: /* @__PURE__ */ Symbol("destroy callbacks"),
+      kPipelining: /* @__PURE__ */ Symbol("pipelining"),
+      kSocket: /* @__PURE__ */ Symbol("socket"),
+      kHostHeader: /* @__PURE__ */ Symbol("host header"),
+      kConnector: /* @__PURE__ */ Symbol("connector"),
+      kStrictContentLength: /* @__PURE__ */ Symbol("strict content length"),
+      kMaxRedirections: /* @__PURE__ */ Symbol("maxRedirections"),
+      kMaxRequests: /* @__PURE__ */ Symbol("maxRequestsPerClient"),
+      kProxy: /* @__PURE__ */ Symbol("proxy agent options"),
+      kCounter: /* @__PURE__ */ Symbol("socket request counter"),
+      kInterceptors: /* @__PURE__ */ Symbol("dispatch interceptors"),
+      kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
+      kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
+      kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
+      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
+      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
+      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
+      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
+      kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
+      kConstruct: /* @__PURE__ */ Symbol("constructable")
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
-var require_end_of_stream = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
-    var process2 = require_process();
-    var { AbortError, codes } = require_errors5();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
-    var { kEmptyObject, once } = require_util20();
-    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
-    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
-    var {
-      isClosed,
-      isReadable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableFinished,
-      isReadableErrored,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableFinished,
-      isWritableErrored,
-      isNodeStream,
-      willEmitClose: _willEmitClose,
-      kIsClosedPromise
-    } = require_utils8();
-    var addAbortListener;
-    function isRequest(stream2) {
-      return stream2.setHeader && typeof stream2.abort === "function";
-    }
-    var nop = () => {
+// node_modules/undici/lib/core/errors.js
+var require_errors6 = __commonJS({
+  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+    "use strict";
+    var UndiciError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "UndiciError";
+        this.code = "UND_ERR";
+      }
     };
-    function eos(stream2, options, callback) {
-      var _options$readable, _options$writable;
-      if (arguments.length === 2) {
-        callback = options;
-        options = kEmptyObject;
-      } else if (options == null) {
-        options = kEmptyObject;
-      } else {
-        validateObject(options, "options");
+    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ConnectTimeoutError);
+        this.name = "ConnectTimeoutError";
+        this.message = message || "Connect Timeout Error";
+        this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
-      validateFunction(callback, "callback");
-      validateAbortSignal(options.signal, "options.signal");
-      callback = once(callback);
-      if (isReadableStream(stream2) || isWritableStream(stream2)) {
-        return eosWeb(stream2, options, callback);
+    };
+    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersTimeoutError);
+        this.name = "HeadersTimeoutError";
+        this.message = message || "Headers Timeout Error";
+        this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
-      if (!isNodeStream(stream2)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream2);
+    };
+    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersOverflowError);
+        this.name = "HeadersOverflowError";
+        this.message = message || "Headers Overflow Error";
+        this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
-      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream2);
-      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream2);
-      const wState = stream2._writableState;
-      const rState = stream2._readableState;
-      const onlegacyfinish = () => {
-        if (!stream2.writable) {
-          onfinish();
-        }
-      };
-      let willEmitClose = _willEmitClose(stream2) && isReadableNodeStream(stream2) === readable && isWritableNodeStream(stream2) === writable;
-      let writableFinished = isWritableFinished(stream2, false);
-      const onfinish = () => {
-        writableFinished = true;
-        if (stream2.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream2.readable || readable)) {
-          return;
-        }
-        if (!readable || readableFinished) {
-          callback.call(stream2);
-        }
-      };
-      let readableFinished = isReadableFinished(stream2, false);
-      const onend = () => {
-        readableFinished = true;
-        if (stream2.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream2.writable || writable)) {
-          return;
-        }
-        if (!writable || writableFinished) {
-          callback.call(stream2);
-        }
-      };
-      const onerror = (err) => {
-        callback.call(stream2, err);
-      };
-      let closed = isClosed(stream2);
-      const onclose = () => {
-        closed = true;
-        const errored = isWritableErrored(stream2) || isReadableErrored(stream2);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream2, errored);
-        }
-        if (readable && !readableFinished && isReadableNodeStream(stream2, true)) {
-          if (!isReadableFinished(stream2, false)) return callback.call(stream2, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        if (writable && !writableFinished) {
-          if (!isWritableFinished(stream2, false)) return callback.call(stream2, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        callback.call(stream2);
-      };
-      const onclosed = () => {
-        closed = true;
-        const errored = isWritableErrored(stream2) || isReadableErrored(stream2);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream2, errored);
-        }
-        callback.call(stream2);
-      };
-      const onrequest = () => {
-        stream2.req.on("finish", onfinish);
-      };
-      if (isRequest(stream2)) {
-        stream2.on("complete", onfinish);
-        if (!willEmitClose) {
-          stream2.on("abort", onclose);
-        }
-        if (stream2.req) {
-          onrequest();
-        } else {
-          stream2.on("request", onrequest);
-        }
-      } else if (writable && !wState) {
-        stream2.on("end", onlegacyfinish);
-        stream2.on("close", onlegacyfinish);
+    };
+    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _BodyTimeoutError);
+        this.name = "BodyTimeoutError";
+        this.message = message || "Body Timeout Error";
+        this.code = "UND_ERR_BODY_TIMEOUT";
       }
-      if (!willEmitClose && typeof stream2.aborted === "boolean") {
-        stream2.on("aborted", onclose);
+    };
+    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+      constructor(message, statusCode, headers, body) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseStatusCodeError);
+        this.name = "ResponseStatusCodeError";
+        this.message = message || "Response Status Code Error";
+        this.code = "UND_ERR_RESPONSE_STATUS_CODE";
+        this.body = body;
+        this.status = statusCode;
+        this.statusCode = statusCode;
+        this.headers = headers;
       }
-      stream2.on("end", onend);
-      stream2.on("finish", onfinish);
-      if (options.error !== false) {
-        stream2.on("error", onerror);
+    };
+    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidArgumentError);
+        this.name = "InvalidArgumentError";
+        this.message = message || "Invalid Argument Error";
+        this.code = "UND_ERR_INVALID_ARG";
       }
-      stream2.on("close", onclose);
-      if (closed) {
-        process2.nextTick(onclose);
-      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
-        if (!willEmitClose) {
-          process2.nextTick(onclosed);
-        }
-      } else if (!readable && (!willEmitClose || isReadable(stream2)) && (writableFinished || isWritable(stream2) === false)) {
-        process2.nextTick(onclosed);
-      } else if (!writable && (!willEmitClose || isWritable(stream2)) && (readableFinished || isReadable(stream2) === false)) {
-        process2.nextTick(onclosed);
-      } else if (rState && stream2.req && stream2.aborted) {
-        process2.nextTick(onclosed);
+    };
+    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidReturnValueError);
+        this.name = "InvalidReturnValueError";
+        this.message = message || "Invalid Return Value Error";
+        this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
-      const cleanup = () => {
-        callback = nop;
-        stream2.removeListener("aborted", onclose);
-        stream2.removeListener("complete", onfinish);
-        stream2.removeListener("abort", onclose);
-        stream2.removeListener("request", onrequest);
-        if (stream2.req) stream2.req.removeListener("finish", onfinish);
-        stream2.removeListener("end", onlegacyfinish);
-        stream2.removeListener("close", onlegacyfinish);
-        stream2.removeListener("finish", onfinish);
-        stream2.removeListener("end", onend);
-        stream2.removeListener("error", onerror);
-        stream2.removeListener("close", onclose);
-      };
-      if (options.signal && !closed) {
-        const abort = () => {
-          const endCallback = callback;
-          cleanup();
-          endCallback.call(
-            stream2,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util20().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream2, args);
-          });
-        }
+    };
+    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestAbortedError);
+        this.name = "AbortError";
+        this.message = message || "Request aborted";
+        this.code = "UND_ERR_ABORTED";
       }
-      return cleanup;
-    }
-    function eosWeb(stream2, options, callback) {
-      let isAborted = false;
-      let abort = nop;
-      if (options.signal) {
-        abort = () => {
-          isAborted = true;
-          callback.call(
-            stream2,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util20().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream2, args);
-          });
-        }
+    };
+    var InformationalError = class _InformationalError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InformationalError);
+        this.name = "InformationalError";
+        this.message = message || "Request information";
+        this.code = "UND_ERR_INFO";
       }
-      const resolverFn = (...args) => {
-        if (!isAborted) {
-          process2.nextTick(() => callback.apply(stream2, args));
-        }
-      };
-      PromisePrototypeThen(stream2[kIsClosedPromise].promise, resolverFn, resolverFn);
-      return nop;
-    }
-    function finished(stream2, opts) {
-      var _opts;
-      let autoCleanup = false;
-      if (opts === null) {
-        opts = kEmptyObject;
+    };
+    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
+        this.name = "RequestContentLengthMismatchError";
+        this.message = message || "Request body length does not match content-length header";
+        this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
-      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
-        validateBoolean(opts.cleanup, "cleanup");
-        autoCleanup = opts.cleanup;
+    };
+    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
+        this.name = "ResponseContentLengthMismatchError";
+        this.message = message || "Response body length does not match content-length header";
+        this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
-      return new Promise2((resolve8, reject) => {
-        const cleanup = eos(stream2, opts, (err) => {
-          if (autoCleanup) {
-            cleanup();
-          }
-          if (err) {
-            reject(err);
-          } else {
-            resolve8();
-          }
-        });
-      });
+    };
+    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientDestroyedError);
+        this.name = "ClientDestroyedError";
+        this.message = message || "The client is destroyed";
+        this.code = "UND_ERR_DESTROYED";
+      }
+    };
+    var ClientClosedError = class _ClientClosedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientClosedError);
+        this.name = "ClientClosedError";
+        this.message = message || "The client is closed";
+        this.code = "UND_ERR_CLOSED";
+      }
+    };
+    var SocketError = class _SocketError extends UndiciError {
+      constructor(message, socket) {
+        super(message);
+        Error.captureStackTrace(this, _SocketError);
+        this.name = "SocketError";
+        this.message = message || "Socket error";
+        this.code = "UND_ERR_SOCKET";
+        this.socket = socket;
+      }
+    };
+    var NotSupportedError = class _NotSupportedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _NotSupportedError);
+        this.name = "NotSupportedError";
+        this.message = message || "Not supported error";
+        this.code = "UND_ERR_NOT_SUPPORTED";
+      }
+    };
+    var BalancedPoolMissingUpstreamError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, NotSupportedError);
+        this.name = "MissingUpstreamError";
+        this.message = message || "No upstream has been added to the BalancedPool";
+        this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
+      }
+    };
+    var HTTPParserError = class _HTTPParserError extends Error {
+      constructor(message, code, data) {
+        super(message);
+        Error.captureStackTrace(this, _HTTPParserError);
+        this.name = "HTTPParserError";
+        this.code = code ? `HPE_${code}` : void 0;
+        this.data = data ? data.toString() : void 0;
+      }
+    };
+    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
+        this.name = "ResponseExceededMaxSizeError";
+        this.message = message || "Response content exceeded max size";
+        this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
+      }
+    };
+    var RequestRetryError = class _RequestRetryError extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        Error.captureStackTrace(this, _RequestRetryError);
+        this.name = "RequestRetryError";
+        this.message = message || "Request retry error";
+        this.code = "UND_ERR_REQ_RETRY";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+    };
+    module2.exports = {
+      HTTPParserError,
+      UndiciError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      BodyTimeoutError,
+      RequestContentLengthMismatchError,
+      ConnectTimeoutError,
+      ResponseStatusCodeError,
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError,
+      ClientDestroyedError,
+      ClientClosedError,
+      InformationalError,
+      SocketError,
+      NotSupportedError,
+      ResponseContentLengthMismatchError,
+      BalancedPoolMissingUpstreamError,
+      ResponseExceededMaxSizeError,
+      RequestRetryError
+    };
+  }
+});
+
+// node_modules/undici/lib/core/constants.js
+var require_constants20 = __commonJS({
+  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+    "use strict";
+    var headerNameLowerCasedRecord = {};
+    var wellknownHeaderNames = [
+      "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 i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = wellknownHeaderNames[i];
+      const lowerCasedKey = key.toLowerCase();
+      headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey;
     }
-    module2.exports = eos;
-    module2.exports.finished = finished;
+    Object.setPrototypeOf(headerNameLowerCasedRecord, null);
+    module2.exports = {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
+// node_modules/undici/lib/core/util.js
+var require_util24 = __commonJS({
+  "node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var process2 = require_process();
-    var {
-      aggregateTwoErrors,
-      codes: { ERR_MULTIPLE_CALLBACK },
-      AbortError
-    } = require_errors5();
-    var { Symbol: Symbol2 } = require_primordials();
-    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
-    var kDestroy = Symbol2("kDestroy");
-    var kConstruct = Symbol2("kConstruct");
-    function checkError(err, w, r) {
-      if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
-        }
-        if (r && !r.errored) {
-          r.errored = err;
-        }
+    var assert = require("assert");
+    var { kDestroyed, kBodyUsed } = require_symbols11();
+    var { IncomingMessage } = require("http");
+    var stream2 = require("stream");
+    var net = require("net");
+    var { InvalidArgumentError } = require_errors6();
+    var { Blob: Blob2 } = require("buffer");
+    var nodeUtil = require("util");
+    var { stringify } = require("querystring");
+    var { headerNameLowerCasedRecord } = require_constants20();
+    var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    function nop() {
+    }
+    function isStream(obj) {
+      return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
+    }
+    function isBlobLike(object) {
+      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+    }
+    function buildURL(url2, queryParams) {
+      if (url2.includes("?") || url2.includes("#")) {
+        throw new Error('Query params cannot be passed when url already contains "?" or "#".');
+      }
+      const stringified = stringify(queryParams);
+      if (stringified) {
+        url2 += "?" + stringified;
       }
+      return url2;
     }
-    function destroy(err, cb) {
-      const r = this._readableState;
-      const w = this._writableState;
-      const s = w || r;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        if (typeof cb === "function") {
-          cb();
+    function parseURL(url2) {
+      if (typeof url2 === "string") {
+        url2 = new URL(url2);
+        if (!/^https?:/.test(url2.origin || url2.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
-        return this;
-      }
-      checkError(err, w, r);
-      if (w) {
-        w.destroyed = true;
+        return url2;
       }
-      if (r) {
-        r.destroyed = true;
+      if (!url2 || typeof url2 !== "object") {
+        throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!s.constructed) {
-        this.once(kDestroy, function(er) {
-          _destroy(this, aggregateTwoErrors(er, err), cb);
-        });
-      } else {
-        _destroy(this, err, cb);
+      if (!/^https?:/.test(url2.origin || url2.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
-      return this;
-    }
-    function _destroy(self2, err, cb) {
-      let called = false;
-      function onDestroy(err2) {
-        if (called) {
-          return;
+      if (!(url2 instanceof URL)) {
+        if (url2.port != null && url2.port !== "" && !Number.isFinite(parseInt(url2.port))) {
+          throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
-        called = true;
-        const r = self2._readableState;
-        const w = self2._writableState;
-        checkError(err2, w, r);
-        if (w) {
-          w.closed = true;
+        if (url2.path != null && typeof url2.path !== "string") {
+          throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.");
         }
-        if (r) {
-          r.closed = true;
+        if (url2.pathname != null && typeof url2.pathname !== "string") {
+          throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.");
         }
-        if (typeof cb === "function") {
-          cb(err2);
+        if (url2.hostname != null && typeof url2.hostname !== "string") {
+          throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.");
         }
-        if (err2) {
-          process2.nextTick(emitErrorCloseNT, self2, err2);
-        } else {
-          process2.nextTick(emitCloseNT, self2);
+        if (url2.origin != null && typeof url2.origin !== "string") {
+          throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80;
+        let origin = url2.origin != null ? url2.origin : `${url2.protocol}//${url2.hostname}:${port}`;
+        let path16 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`;
+        if (origin.endsWith("/")) {
+          origin = origin.substring(0, origin.length - 1);
+        }
+        if (path16 && !path16.startsWith("/")) {
+          path16 = `/${path16}`;
+        }
+        url2 = new URL(origin + path16);
       }
-      try {
-        self2._destroy(err || null, onDestroy);
-      } catch (err2) {
-        onDestroy(err2);
-      }
-    }
-    function emitErrorCloseNT(self2, err) {
-      emitErrorNT(self2, err);
-      emitCloseNT(self2);
+      return url2;
     }
-    function emitCloseNT(self2) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w) {
-        w.closeEmitted = true;
-      }
-      if (r) {
-        r.closeEmitted = true;
-      }
-      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
-        self2.emit("close");
+    function parseOrigin(url2) {
+      url2 = parseURL(url2);
+      if (url2.pathname !== "/" || url2.search || url2.hash) {
+        throw new InvalidArgumentError("invalid url");
       }
+      return url2;
     }
-    function emitErrorNT(self2, err) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
-        return;
+    function getHostname(host) {
+      if (host[0] === "[") {
+        const idx2 = host.indexOf("]");
+        assert(idx2 !== -1);
+        return host.substring(1, idx2);
       }
-      if (w) {
-        w.errorEmitted = true;
+      const idx = host.indexOf(":");
+      if (idx === -1) return host;
+      return host.substring(0, idx);
+    }
+    function getServerName(host) {
+      if (!host) {
+        return null;
       }
-      if (r) {
-        r.errorEmitted = true;
+      assert.strictEqual(typeof host, "string");
+      const servername = getHostname(host);
+      if (net.isIP(servername)) {
+        return "";
       }
-      self2.emit("error", err);
+      return servername;
     }
-    function undestroy() {
-      const r = this._readableState;
-      const w = this._writableState;
-      if (r) {
-        r.constructed = true;
-        r.closed = false;
-        r.closeEmitted = false;
-        r.destroyed = false;
-        r.errored = null;
-        r.errorEmitted = false;
-        r.reading = false;
-        r.ended = r.readable === false;
-        r.endEmitted = r.readable === false;
-      }
-      if (w) {
-        w.constructed = true;
-        w.destroyed = false;
-        w.closed = false;
-        w.closeEmitted = false;
-        w.errored = null;
-        w.errorEmitted = false;
-        w.finalCalled = false;
-        w.prefinished = false;
-        w.ended = w.writable === false;
-        w.ending = w.writable === false;
-        w.finished = w.writable === false;
+    function deepClone(obj) {
+      return JSON.parse(JSON.stringify(obj));
+    }
+    function isAsyncIterable(obj) {
+      return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
+    }
+    function isIterable(obj) {
+      return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
+    }
+    function bodyLength(body) {
+      if (body == null) {
+        return 0;
+      } else if (isStream(body)) {
+        const state = body._readableState;
+        return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null;
+      } else if (isBlobLike(body)) {
+        return body.size != null ? body.size : null;
+      } else if (isBuffer(body)) {
+        return body.byteLength;
       }
+      return null;
+    }
+    function isDestroyed(stream3) {
+      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
+    }
+    function isReadableAborted(stream3) {
+      const state = stream3 && stream3._readableState;
+      return isDestroyed(stream3) && state && !state.endEmitted;
     }
-    function errorOrDestroy(stream2, err, sync) {
-      const r = stream2._readableState;
-      const w = stream2._writableState;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        return this;
+    function destroy(stream3, err) {
+      if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
+        return;
       }
-      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
-        stream2.destroy(err);
-      else if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
+      if (typeof stream3.destroy === "function") {
+        if (Object.getPrototypeOf(stream3).constructor === IncomingMessage) {
+          stream3.socket = null;
         }
-        if (r && !r.errored) {
-          r.errored = err;
+        stream3.destroy(err);
+      } else if (err) {
+        process.nextTick((stream4, err2) => {
+          stream4.emit("error", err2);
+        }, stream3, err);
+      }
+      if (stream3.destroyed !== true) {
+        stream3[kDestroyed] = true;
+      }
+    }
+    var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/;
+    function parseKeepAliveTimeout(val) {
+      const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR);
+      return m ? parseInt(m[1], 10) * 1e3 : null;
+    }
+    function headerNameToString(value) {
+      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+    }
+    function parseHeaders(headers, obj = {}) {
+      if (!Array.isArray(headers)) return headers;
+      for (let i = 0; i < headers.length; i += 2) {
+        const key = headers[i].toString().toLowerCase();
+        let val = obj[key];
+        if (!val) {
+          if (Array.isArray(headers[i + 1])) {
+            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
+          } else {
+            obj[key] = headers[i + 1].toString("utf8");
+          }
+        } else {
+          if (!Array.isArray(val)) {
+            val = [val];
+            obj[key] = val;
+          }
+          val.push(headers[i + 1].toString("utf8"));
         }
-        if (sync) {
-          process2.nextTick(emitErrorNT, stream2, err);
+      }
+      if ("content-length" in obj && "content-disposition" in obj) {
+        obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1");
+      }
+      return obj;
+    }
+    function parseRawHeaders(headers) {
+      const ret = [];
+      let hasContentLength = false;
+      let contentDispositionIdx = -1;
+      for (let n = 0; n < headers.length; n += 2) {
+        const key = headers[n + 0].toString();
+        const val = headers[n + 1].toString("utf8");
+        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
+          ret.push(key, val);
+          hasContentLength = true;
+        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = ret.push(key, val) - 1;
         } else {
-          emitErrorNT(stream2, err);
+          ret.push(key, val);
         }
       }
+      if (hasContentLength && contentDispositionIdx !== -1) {
+        ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
+      }
+      return ret;
     }
-    function construct(stream2, cb) {
-      if (typeof stream2._construct !== "function") {
-        return;
+    function isBuffer(buffer) {
+      return buffer instanceof Uint8Array || Buffer.isBuffer(buffer);
+    }
+    function validateHandler(handler2, method, upgrade) {
+      if (!handler2 || typeof handler2 !== "object") {
+        throw new InvalidArgumentError("handler must be an object");
       }
-      const r = stream2._readableState;
-      const w = stream2._writableState;
-      if (r) {
-        r.constructed = false;
+      if (typeof handler2.onConnect !== "function") {
+        throw new InvalidArgumentError("invalid onConnect method");
       }
-      if (w) {
-        w.constructed = false;
+      if (typeof handler2.onError !== "function") {
+        throw new InvalidArgumentError("invalid onError method");
       }
-      stream2.once(kConstruct, cb);
-      if (stream2.listenerCount(kConstruct) > 1) {
-        return;
+      if (typeof handler2.onBodySent !== "function" && handler2.onBodySent !== void 0) {
+        throw new InvalidArgumentError("invalid onBodySent method");
       }
-      process2.nextTick(constructNT, stream2);
-    }
-    function constructNT(stream2) {
-      let called = false;
-      function onConstruct(err) {
-        if (called) {
-          errorOrDestroy(stream2, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
-          return;
+      if (upgrade || method === "CONNECT") {
+        if (typeof handler2.onUpgrade !== "function") {
+          throw new InvalidArgumentError("invalid onUpgrade method");
         }
-        called = true;
-        const r = stream2._readableState;
-        const w = stream2._writableState;
-        const s = w || r;
-        if (r) {
-          r.constructed = true;
+      } else {
+        if (typeof handler2.onHeaders !== "function") {
+          throw new InvalidArgumentError("invalid onHeaders method");
         }
-        if (w) {
-          w.constructed = true;
+        if (typeof handler2.onData !== "function") {
+          throw new InvalidArgumentError("invalid onData method");
         }
-        if (s.destroyed) {
-          stream2.emit(kDestroy, err);
-        } else if (err) {
-          errorOrDestroy(stream2, err, true);
-        } else {
-          process2.nextTick(emitConstructNT, stream2);
+        if (typeof handler2.onComplete !== "function") {
+          throw new InvalidArgumentError("invalid onComplete method");
         }
       }
-      try {
-        stream2._construct((err) => {
-          process2.nextTick(onConstruct, err);
-        });
-      } catch (err) {
-        process2.nextTick(onConstruct, err);
-      }
     }
-    function emitConstructNT(stream2) {
-      stream2.emit(kConstruct);
+    function isDisturbed(body) {
+      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
     }
-    function isRequest(stream2) {
-      return (stream2 === null || stream2 === void 0 ? void 0 : stream2.setHeader) && typeof stream2.abort === "function";
+    function isErrored(body) {
+      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
+        nodeUtil.inspect(body)
+      )));
     }
-    function emitCloseLegacy(stream2) {
-      stream2.emit("close");
+    function isReadable(body) {
+      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
+        nodeUtil.inspect(body)
+      )));
     }
-    function emitErrorCloseLegacy(stream2, err) {
-      stream2.emit("error", err);
-      process2.nextTick(emitCloseLegacy, stream2);
+    function getSocketInfo(socket) {
+      return {
+        localAddress: socket.localAddress,
+        localPort: socket.localPort,
+        remoteAddress: socket.remoteAddress,
+        remotePort: socket.remotePort,
+        remoteFamily: socket.remoteFamily,
+        timeout: socket.timeout,
+        bytesWritten: socket.bytesWritten,
+        bytesRead: socket.bytesRead
+      };
     }
-    function destroyer(stream2, err) {
-      if (!stream2 || isDestroyed(stream2)) {
-        return;
+    async function* convertIterableToBuffer(iterable) {
+      for await (const chunk of iterable) {
+        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
       }
-      if (!err && !isFinished(stream2)) {
-        err = new AbortError();
+    }
+    var ReadableStream2;
+    function ReadableStreamFrom(iterable) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      if (isServerRequest(stream2)) {
-        stream2.socket = null;
-        stream2.destroy(err);
-      } else if (isRequest(stream2)) {
-        stream2.abort();
-      } else if (isRequest(stream2.req)) {
-        stream2.req.abort();
-      } else if (typeof stream2.destroy === "function") {
-        stream2.destroy(err);
-      } else if (typeof stream2.close === "function") {
-        stream2.close();
-      } else if (err) {
-        process2.nextTick(emitErrorCloseLegacy, stream2, err);
+      if (ReadableStream2.from) {
+        return ReadableStream2.from(convertIterableToBuffer(iterable));
+      }
+      let iterator2;
+      return new ReadableStream2(
+        {
+          async start() {
+            iterator2 = iterable[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { done, value } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
+              controller.enqueue(new Uint8Array(buf));
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          }
+        },
+        0
+      );
+    }
+    function isFormDataLike(object) {
+      return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
+    }
+    function throwIfAborted(signal) {
+      if (!signal) {
+        return;
+      }
+      if (typeof signal.throwIfAborted === "function") {
+        signal.throwIfAborted();
       } else {
-        process2.nextTick(emitCloseLegacy, stream2);
+        if (signal.aborted) {
+          const err = new Error("The operation was aborted");
+          err.name = "AbortError";
+          throw err;
+        }
       }
-      if (!stream2.destroyed) {
-        stream2[kIsDestroyed] = true;
+    }
+    function addAbortListener(signal, listener) {
+      if ("addEventListener" in signal) {
+        signal.addEventListener("abort", listener, { once: true });
+        return () => signal.removeEventListener("abort", listener);
+      }
+      signal.addListener("abort", listener);
+      return () => signal.removeListener("abort", listener);
+    }
+    var hasToWellFormed = !!String.prototype.toWellFormed;
+    function toUSVString(val) {
+      if (hasToWellFormed) {
+        return `${val}`.toWellFormed();
+      } else if (nodeUtil.toUSVString) {
+        return nodeUtil.toUSVString(val);
       }
+      return `${val}`;
+    }
+    function parseRangeHeader(range) {
+      if (range == null || range === "") return { start: 0, end: null, size: null };
+      const m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null;
+      return m ? {
+        start: parseInt(m[1]),
+        end: m[2] ? parseInt(m[2]) : null,
+        size: m[3] ? parseInt(m[3]) : null
+      } : null;
     }
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
     module2.exports = {
-      construct,
-      destroyer,
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isReadableAborted,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
+      isStream,
+      isIterable,
+      isAsyncIterable,
+      isDestroyed,
+      headerNameToString,
+      parseRawHeaders,
+      parseHeaders,
+      parseKeepAliveTimeout,
       destroy,
-      undestroy,
-      errorOrDestroy
+      bodyLength,
+      deepClone,
+      ReadableStreamFrom,
+      isBuffer,
+      validateHandler,
+      getSocketInfo,
+      isFormDataLike,
+      buildURL,
+      throwIfAborted,
+      addAbortListener,
+      parseRangeHeader,
+      nodeMajor,
+      nodeMinor,
+      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/legacy.js
-var require_legacy = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
+// node_modules/undici/lib/timers.js
+var require_timers3 = __commonJS({
+  "node_modules/undici/lib/timers.js"(exports2, module2) {
     "use strict";
-    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
-    var { EventEmitter: EE } = require("events");
-    function Stream(opts) {
-      EE.call(this, opts);
-    }
-    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
-    ObjectSetPrototypeOf(Stream, EE);
-    Stream.prototype.pipe = function(dest, options) {
-      const source = this;
-      function ondata(chunk) {
-        if (dest.writable && dest.write(chunk) === false && source.pause) {
-          source.pause();
+    var fastNow = Date.now();
+    var fastNowTimeout;
+    var fastTimers = [];
+    function onTimeout() {
+      fastNow = Date.now();
+      let len = fastTimers.length;
+      let idx = 0;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer.state === 0) {
+          timer.state = fastNow + timer.delay;
+        } else if (timer.state > 0 && fastNow >= timer.state) {
+          timer.state = -1;
+          timer.callback(timer.opaque);
         }
-      }
-      source.on("data", ondata);
-      function ondrain() {
-        if (source.readable && source.resume) {
-          source.resume();
+        if (timer.state === -1) {
+          timer.state = -2;
+          if (idx !== len - 1) {
+            fastTimers[idx] = fastTimers.pop();
+          } else {
+            fastTimers.pop();
+          }
+          len -= 1;
+        } else {
+          idx += 1;
         }
       }
-      dest.on("drain", ondrain);
-      if (!dest._isStdio && (!options || options.end !== false)) {
-        source.on("end", onend);
-        source.on("close", onclose);
+      if (fastTimers.length > 0) {
+        refreshTimeout();
       }
-      let didOnEnd = false;
-      function onend() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        dest.end();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout && fastNowTimeout.refresh) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTimeout, 1e3);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      function onclose() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        if (typeof dest.destroy === "function") dest.destroy();
+    }
+    var Timeout = class {
+      constructor(callback, delay2, opaque) {
+        this.callback = callback;
+        this.delay = delay2;
+        this.opaque = opaque;
+        this.state = -2;
+        this.refresh();
       }
-      function onerror(er) {
-        cleanup();
-        if (EE.listenerCount(this, "error") === 0) {
-          this.emit("error", er);
+      refresh() {
+        if (this.state === -2) {
+          fastTimers.push(this);
+          if (!fastNowTimeout || fastTimers.length === 1) {
+            refreshTimeout();
+          }
         }
+        this.state = 0;
       }
-      prependListener(source, "error", onerror);
-      prependListener(dest, "error", onerror);
-      function cleanup() {
-        source.removeListener("data", ondata);
-        dest.removeListener("drain", ondrain);
-        source.removeListener("end", onend);
-        source.removeListener("close", onclose);
-        source.removeListener("error", onerror);
-        dest.removeListener("error", onerror);
-        source.removeListener("end", cleanup);
-        source.removeListener("close", cleanup);
-        dest.removeListener("close", cleanup);
+      clear() {
+        this.state = -1;
       }
-      source.on("end", cleanup);
-      source.on("close", cleanup);
-      dest.on("close", cleanup);
-      dest.emit("pipe", source);
-      return dest;
     };
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
     module2.exports = {
-      Stream,
-      prependListener
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
-var require_add_abort_signal = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
-    "use strict";
-    var { SymbolDispose } = require_primordials();
-    var { AbortError, codes } = require_errors5();
-    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
-    var eos = require_end_of_stream();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
-    var addAbortListener;
-    var validateAbortSignal = (signal, name) => {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
-      }
-    };
-    module2.exports.addAbortSignal = function addAbortSignal(signal, stream2) {
-      validateAbortSignal(signal, "signal");
-      if (!isNodeStream(stream2) && !isWebStream(stream2)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream2);
-      }
-      return module2.exports.addAbortSignalNoValidate(signal, stream2);
-    };
-    module2.exports.addAbortSignalNoValidate = function(signal, stream2) {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        return stream2;
-      }
-      const onAbort = isNodeStream(stream2) ? () => {
-        stream2.destroy(
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      } : () => {
-        stream2[kControllerErrorFunction](
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      };
-      if (signal.aborted) {
-        onAbort();
-      } else {
-        addAbortListener = addAbortListener || require_util20().addAbortListener;
-        const disposable = addAbortListener(signal, onAbort);
-        eos(stream2, disposable[SymbolDispose]);
+      setTimeout(callback, delay2, opaque) {
+        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
+      },
+      clearTimeout(timeout) {
+        if (timeout instanceof Timeout) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
       }
-      return stream2;
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/buffer_list.js
-var require_buffer_list = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
+// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
+var require_sbmh = __commonJS({
+  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
     "use strict";
-    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { inspect } = require_util20();
-    module2.exports = class BufferList {
-      constructor() {
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    function SBMH(needle) {
+      if (typeof needle === "string") {
+        needle = Buffer.from(needle);
       }
-      push(v) {
-        const entry = {
-          data: v,
-          next: null
-        };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
+      if (!Buffer.isBuffer(needle)) {
+        throw new TypeError("The needle has to be a String or a Buffer.");
       }
-      unshift(v) {
-        const entry = {
-          data: v,
-          next: this.head
-        };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
+      const needleLength = needle.length;
+      if (needleLength === 0) {
+        throw new Error("The needle cannot be an empty String/Buffer.");
       }
-      shift() {
-        if (this.length === 0) return;
-        const ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
+      if (needleLength > 256) {
+        throw new Error("The needle cannot have a length bigger than 256.");
       }
-      clear() {
-        this.head = this.tail = null;
-        this.length = 0;
+      this.maxMatches = Infinity;
+      this.matches = 0;
+      this._occ = new Array(256).fill(needleLength);
+      this._lookbehind_size = 0;
+      this._needle = needle;
+      this._bufpos = 0;
+      this._lookbehind = Buffer.alloc(needleLength);
+      for (var i = 0; i < needleLength - 1; ++i) {
+        this._occ[needle[i]] = needleLength - 1 - i;
       }
-      join(s) {
-        if (this.length === 0) return "";
-        let p = this.head;
-        let ret = "" + p.data;
-        while ((p = p.next) !== null) ret += s + p.data;
-        return ret;
+    }
+    inherits(SBMH, EventEmitter);
+    SBMH.prototype.reset = function() {
+      this._lookbehind_size = 0;
+      this.matches = 0;
+      this._bufpos = 0;
+    };
+    SBMH.prototype.push = function(chunk, pos) {
+      if (!Buffer.isBuffer(chunk)) {
+        chunk = Buffer.from(chunk, "binary");
       }
-      concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        const ret = Buffer2.allocUnsafe(n >>> 0);
-        let p = this.head;
-        let i = 0;
-        while (p) {
-          TypedArrayPrototypeSet(ret, p.data, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
+      const chlen = chunk.length;
+      this._bufpos = pos || 0;
+      let r;
+      while (r !== chlen && this.matches < this.maxMatches) {
+        r = this._sbmh_feed(chunk);
       }
-      // Consumes a specified amount of bytes or characters from the buffered data.
-      consume(n, hasStrings) {
-        const data = this.head.data;
-        if (n < data.length) {
-          const slice = data.slice(0, n);
-          this.head.data = data.slice(n);
-          return slice;
+      return r;
+    };
+    SBMH.prototype._sbmh_feed = function(data) {
+      const len = data.length;
+      const needle = this._needle;
+      const needleLength = needle.length;
+      const lastNeedleChar = needle[needleLength - 1];
+      let pos = -this._lookbehind_size;
+      let ch;
+      if (pos < 0) {
+        while (pos < 0 && pos <= len - needleLength) {
+          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
+          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
+            this._lookbehind_size = 0;
+            ++this.matches;
+            this.emit("info", true);
+            return this._bufpos = pos + needleLength;
+          }
+          pos += this._occ[ch];
         }
-        if (n === data.length) {
-          return this.shift();
+        if (pos < 0) {
+          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
+            ++pos;
+          }
+        }
+        if (pos >= 0) {
+          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
+          this._lookbehind_size = 0;
+        } else {
+          const bytesToCutOff = this._lookbehind_size + pos;
+          if (bytesToCutOff > 0) {
+            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
+          }
+          this._lookbehind.copy(
+            this._lookbehind,
+            0,
+            bytesToCutOff,
+            this._lookbehind_size - bytesToCutOff
+          );
+          this._lookbehind_size -= bytesToCutOff;
+          data.copy(this._lookbehind, this._lookbehind_size);
+          this._lookbehind_size += len;
+          this._bufpos = len;
+          return len;
         }
-        return hasStrings ? this._getString(n) : this._getBuffer(n);
-      }
-      first() {
-        return this.head.data;
       }
-      *[SymbolIterator]() {
-        for (let p = this.head; p; p = p.next) {
-          yield p.data;
+      pos += (pos >= 0) * this._bufpos;
+      if (data.indexOf(needle, pos) !== -1) {
+        pos = data.indexOf(needle, pos);
+        ++this.matches;
+        if (pos > 0) {
+          this.emit("info", true, data, this._bufpos, pos);
+        } else {
+          this.emit("info", true);
         }
+        return this._bufpos = pos + needleLength;
+      } else {
+        pos = len - needleLength;
       }
-      // Consumes a specified amount of characters from the buffered data.
-      _getString(n) {
-        let ret = "";
-        let p = this.head;
-        let c = 0;
-        do {
-          const str2 = p.data;
-          if (n > str2.length) {
-            ret += str2;
-            n -= str2.length;
-          } else {
-            if (n === str2.length) {
-              ret += str2;
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              ret += StringPrototypeSlice(str2, 0, n);
-              this.head = p;
-              p.data = StringPrototypeSlice(str2, n);
-            }
-            break;
-          }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
+        data.subarray(pos, pos + len - pos),
+        needle.subarray(0, len - pos)
+      ) !== 0)) {
+        ++pos;
       }
-      // Consumes a specified amount of bytes from the buffered data.
-      _getBuffer(n) {
-        const ret = Buffer2.allocUnsafe(n);
-        const retLen = n;
-        let p = this.head;
-        let c = 0;
-        do {
-          const buf = p.data;
-          if (n > buf.length) {
-            TypedArrayPrototypeSet(ret, buf, retLen - n);
-            n -= buf.length;
-          } else {
-            if (n === buf.length) {
-              TypedArrayPrototypeSet(ret, buf, retLen - n);
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
-              this.head = p;
-              p.data = buf.slice(n);
-            }
-            break;
-          }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+      if (pos < len) {
+        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
+        this._lookbehind_size = len - pos;
       }
-      // Make sure the linked list only shows the minimal necessary information.
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
-        return inspect(this, {
-          ...options,
-          // Only inspect one level.
-          depth: 0,
-          // It should not recurse.
-          customInspect: false
-        });
+      if (pos > 0) {
+        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
+      }
+      this._bufpos = len;
+      return len;
+    };
+    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
+      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
+    };
+    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
+      for (var i = 0; i < len; ++i) {
+        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+          return false;
+        }
       }
+      return true;
     };
+    module2.exports = SBMH;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/state.js
-var require_state3 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
+// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
+var require_PartStream = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
     "use strict";
-    var { MathFloor, NumberIsInteger } = require_primordials();
-    var { validateInteger } = require_validators();
-    var { ERR_INVALID_ARG_VALUE } = require_errors5().codes;
-    var defaultHighWaterMarkBytes = 16 * 1024;
-    var defaultHighWaterMarkObjectMode = 16;
-    function highWaterMarkFrom(options, isDuplex, duplexKey) {
-      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
-    }
-    function getDefaultHighWaterMark(objectMode) {
-      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
+    var inherits = require("node:util").inherits;
+    var ReadableStream2 = require("node:stream").Readable;
+    function PartStream(opts) {
+      ReadableStream2.call(this, opts);
     }
-    function setDefaultHighWaterMark(objectMode, value) {
-      validateInteger(value, "value", 0);
-      if (objectMode) {
-        defaultHighWaterMarkObjectMode = value;
-      } else {
-        defaultHighWaterMarkBytes = value;
+    inherits(PartStream, ReadableStream2);
+    PartStream.prototype._read = function(n) {
+    };
+    module2.exports = PartStream;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/getLimit.js
+var require_getLimit = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function getLimit(limits, name, defaultLimit) {
+      if (!limits || limits[name] === void 0 || limits[name] === null) {
+        return defaultLimit;
       }
-    }
-    function getHighWaterMark(state, options, duplexKey, isDuplex) {
-      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
-      if (hwm != null) {
-        if (!NumberIsInteger(hwm) || hwm < 0) {
-          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
-          throw new ERR_INVALID_ARG_VALUE(name, hwm);
-        }
-        return MathFloor(hwm);
+      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
+        throw new TypeError("Limit " + name + " is not a valid number");
       }
-      return getDefaultHighWaterMark(state.objectMode);
-    }
-    module2.exports = {
-      getHighWaterMark,
-      getDefaultHighWaterMark,
-      setDefaultHighWaterMark
+      return limits[name];
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/from.js
-var require_from = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
+// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
+var require_HeaderParser = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
     "use strict";
-    var process2 = require_process();
-    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors5().codes;
-    function from(Readable2, iterable, opts) {
-      let iterator2;
-      if (typeof iterable === "string" || iterable instanceof Buffer2) {
-        return new Readable2({
-          objectMode: true,
-          ...opts,
-          read() {
-            this.push(iterable);
-            this.push(null);
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    var getLimit = require_getLimit();
+    var StreamSearch = require_sbmh();
+    var B_DCRLF = Buffer.from("\r\n\r\n");
+    var RE_CRLF = /\r\n/g;
+    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
+    function HeaderParser(cfg) {
+      EventEmitter.call(this);
+      cfg = cfg || {};
+      const self2 = this;
+      this.nread = 0;
+      this.maxed = false;
+      this.npairs = 0;
+      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
+      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
+      this.buffer = "";
+      this.header = {};
+      this.finished = false;
+      this.ss = new StreamSearch(B_DCRLF);
+      this.ss.on("info", function(isMatch, data, start, end) {
+        if (data && !self2.maxed) {
+          if (self2.nread + end - start >= self2.maxHeaderSize) {
+            end = self2.maxHeaderSize - self2.nread + start;
+            self2.nread = self2.maxHeaderSize;
+            self2.maxed = true;
+          } else {
+            self2.nread += end - start;
           }
-        });
+          self2.buffer += data.toString("binary", start, end);
+        }
+        if (isMatch) {
+          self2._finish();
+        }
+      });
+    }
+    inherits(HeaderParser, EventEmitter);
+    HeaderParser.prototype.push = function(data) {
+      const r = this.ss.push(data);
+      if (this.finished) {
+        return r;
       }
-      let isAsync;
-      if (iterable && iterable[SymbolAsyncIterator]) {
-        isAsync = true;
-        iterator2 = iterable[SymbolAsyncIterator]();
-      } else if (iterable && iterable[SymbolIterator]) {
-        isAsync = false;
-        iterator2 = iterable[SymbolIterator]();
-      } else {
-        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
+    };
+    HeaderParser.prototype.reset = function() {
+      this.finished = false;
+      this.buffer = "";
+      this.header = {};
+      this.ss.reset();
+    };
+    HeaderParser.prototype._finish = function() {
+      if (this.buffer) {
+        this._parseHeader();
       }
-      const readable = new Readable2({
-        objectMode: true,
-        highWaterMark: 1,
-        // TODO(ronag): What options should be allowed?
-        ...opts
-      });
-      let reading = false;
-      readable._read = function() {
-        if (!reading) {
-          reading = true;
-          next();
+      this.ss.matches = this.ss.maxMatches;
+      const header = this.header;
+      this.header = {};
+      this.buffer = "";
+      this.finished = true;
+      this.nread = this.npairs = 0;
+      this.maxed = false;
+      this.emit("header", header);
+    };
+    HeaderParser.prototype._parseHeader = function() {
+      if (this.npairs === this.maxHeaderPairs) {
+        return;
+      }
+      const lines = this.buffer.split(RE_CRLF);
+      const len = lines.length;
+      let m, h;
+      for (var i = 0; i < len; ++i) {
+        if (lines[i].length === 0) {
+          continue;
         }
-      };
-      readable._destroy = function(error3, cb) {
-        PromisePrototypeThen(
-          close(error3),
-          () => process2.nextTick(cb, error3),
-          // nextTick is here in case cb throws
-          (e) => process2.nextTick(cb, e || error3)
-        );
-      };
-      async function close(error3) {
-        const hadError = error3 !== void 0 && error3 !== null;
-        const hasThrow = typeof iterator2.throw === "function";
-        if (hadError && hasThrow) {
-          const { value, done } = await iterator2.throw(error3);
-          await value;
-          if (done) {
-            return;
+        if (lines[i][0] === "	" || lines[i][0] === " ") {
+          if (h) {
+            this.header[h][this.header[h].length - 1] += lines[i];
+            continue;
           }
         }
-        if (typeof iterator2.return === "function") {
-          const { value } = await iterator2.return();
-          await value;
+        const posColon = lines[i].indexOf(":");
+        if (posColon === -1 || posColon === 0) {
+          return;
+        }
+        m = RE_HDR.exec(lines[i]);
+        h = m[1].toLowerCase();
+        this.header[h] = this.header[h] || [];
+        this.header[h].push(m[2] || "");
+        if (++this.npairs === this.maxHeaderPairs) {
+          break;
         }
       }
-      async function next() {
-        for (; ; ) {
-          try {
-            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
-            if (done) {
-              readable.push(null);
-            } else {
-              const res = value && typeof value.then === "function" ? await value : value;
-              if (res === null) {
-                reading = false;
-                throw new ERR_STREAM_NULL_VALUES();
-              } else if (readable.push(res)) {
-                continue;
-              } else {
-                reading = false;
-              }
+    };
+    module2.exports = HeaderParser;
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
+var require_Dicer = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+    "use strict";
+    var WritableStream = require("node:stream").Writable;
+    var inherits = require("node:util").inherits;
+    var StreamSearch = require_sbmh();
+    var PartStream = require_PartStream();
+    var HeaderParser = require_HeaderParser();
+    var DASH = 45;
+    var B_ONEDASH = Buffer.from("-");
+    var B_CRLF = Buffer.from("\r\n");
+    var EMPTY_FN = function() {
+    };
+    function Dicer(cfg) {
+      if (!(this instanceof Dicer)) {
+        return new Dicer(cfg);
+      }
+      WritableStream.call(this, cfg);
+      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
+        throw new TypeError("Boundary required");
+      }
+      if (typeof cfg.boundary === "string") {
+        this.setBoundary(cfg.boundary);
+      } else {
+        this._bparser = void 0;
+      }
+      this._headerFirst = cfg.headerFirst;
+      this._dashes = 0;
+      this._parts = 0;
+      this._finished = false;
+      this._realFinish = false;
+      this._isPreamble = true;
+      this._justMatched = false;
+      this._firstWrite = true;
+      this._inHeader = true;
+      this._part = void 0;
+      this._cb = void 0;
+      this._ignoreData = false;
+      this._partOpts = { highWaterMark: cfg.partHwm };
+      this._pause = false;
+      const self2 = this;
+      this._hparser = new HeaderParser(cfg);
+      this._hparser.on("header", function(header) {
+        self2._inHeader = false;
+        self2._part.emit("header", header);
+      });
+    }
+    inherits(Dicer, WritableStream);
+    Dicer.prototype.emit = function(ev) {
+      if (ev === "finish" && !this._realFinish) {
+        if (!this._finished) {
+          const self2 = this;
+          process.nextTick(function() {
+            self2.emit("error", new Error("Unexpected end of multipart data"));
+            if (self2._part && !self2._ignoreData) {
+              const type2 = self2._isPreamble ? "Preamble" : "Part";
+              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
+              self2._part.push(null);
+              process.nextTick(function() {
+                self2._realFinish = true;
+                self2.emit("finish");
+                self2._realFinish = false;
+              });
+              return;
             }
-          } catch (err) {
-            readable.destroy(err);
-          }
-          break;
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
+          });
         }
+      } else {
+        WritableStream.prototype.emit.apply(this, arguments);
       }
-      return readable;
-    }
-    module2.exports = from;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/readable.js
-var require_readable4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeIndexOf,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberParseInt,
-      ObjectDefineProperties,
-      ObjectKeys,
-      ObjectSetPrototypeOf,
-      Promise: Promise2,
-      SafeSet,
-      SymbolAsyncDispose,
-      SymbolAsyncIterator,
-      Symbol: Symbol2
-    } = require_primordials();
-    module2.exports = Readable2;
-    Readable2.ReadableState = ReadableState;
-    var { EventEmitter: EE } = require("events");
-    var { Stream, prependListener } = require_legacy();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { addAbortSignal } = require_add_abort_signal();
-    var eos = require_end_of_stream();
-    var debug5 = require_util20().debuglog("stream", (fn) => {
-      debug5 = fn;
-    });
-    var BufferList = require_buffer_list();
-    var destroyImpl = require_destroy2();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_METHOD_NOT_IMPLEMENTED,
-        ERR_OUT_OF_RANGE,
-        ERR_STREAM_PUSH_AFTER_EOF,
-        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
-      },
-      AbortError
-    } = require_errors5();
-    var { validateObject } = require_validators();
-    var kPaused = Symbol2("kPaused");
-    var { StringDecoder } = require("string_decoder");
-    var from = require_from();
-    ObjectSetPrototypeOf(Readable2.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Readable2, Stream);
-    var nop = () => {
     };
-    var { errorOrDestroy } = destroyImpl;
-    var kObjectMode = 1 << 0;
-    var kEnded = 1 << 1;
-    var kEndEmitted = 1 << 2;
-    var kReading = 1 << 3;
-    var kConstructed = 1 << 4;
-    var kSync = 1 << 5;
-    var kNeedReadable = 1 << 6;
-    var kEmittedReadable = 1 << 7;
-    var kReadableListening = 1 << 8;
-    var kResumeScheduled = 1 << 9;
-    var kErrorEmitted = 1 << 10;
-    var kEmitClose = 1 << 11;
-    var kAutoDestroy = 1 << 12;
-    var kDestroyed = 1 << 13;
-    var kClosed = 1 << 14;
-    var kCloseEmitted = 1 << 15;
-    var kMultiAwaitDrain = 1 << 16;
-    var kReadingMore = 1 << 17;
-    var kDataEmitted = 1 << 18;
-    function makeBitMapDescriptor(bit) {
-      return {
-        enumerable: false,
-        get() {
-          return (this.state & bit) !== 0;
-        },
-        set(value) {
-          if (value) this.state |= bit;
-          else this.state &= ~bit;
+    Dicer.prototype._write = function(data, encoding, cb) {
+      if (!this._hparser && !this._bparser) {
+        return cb();
+      }
+      if (this._headerFirst && this._isPreamble) {
+        if (!this._part) {
+          this._part = new PartStream(this._partOpts);
+          if (this.listenerCount("preamble") !== 0) {
+            this.emit("preamble", this._part);
+          } else {
+            this._ignore();
+          }
+        }
+        const r = this._hparser.push(data);
+        if (!this._inHeader && r !== void 0 && r < data.length) {
+          data = data.slice(r);
+        } else {
+          return cb();
         }
-      };
-    }
-    ObjectDefineProperties(ReadableState.prototype, {
-      objectMode: makeBitMapDescriptor(kObjectMode),
-      ended: makeBitMapDescriptor(kEnded),
-      endEmitted: makeBitMapDescriptor(kEndEmitted),
-      reading: makeBitMapDescriptor(kReading),
-      // Stream is still being constructed and cannot be
-      // destroyed until construction finished or failed.
-      // Async construction is opt in, therefore we start as
-      // constructed.
-      constructed: makeBitMapDescriptor(kConstructed),
-      // A flag to be able to tell if the event 'readable'/'data' is emitted
-      // immediately, or on a later tick.  We set this to true at first, because
-      // any actions that shouldn't happen until "later" should generally also
-      // not happen before the first read call.
-      sync: makeBitMapDescriptor(kSync),
-      // Whenever we return null, then we set a flag to say
-      // that we're awaiting a 'readable' event emission.
-      needReadable: makeBitMapDescriptor(kNeedReadable),
-      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
-      readableListening: makeBitMapDescriptor(kReadableListening),
-      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
-      // True if the error was already emitted and should not be thrown again.
-      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
-      emitClose: makeBitMapDescriptor(kEmitClose),
-      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
-      // Has it been destroyed.
-      destroyed: makeBitMapDescriptor(kDestroyed),
-      // Indicates whether the stream has finished destroying.
-      closed: makeBitMapDescriptor(kClosed),
-      // True if close has been emitted or would have been emitted
-      // depending on emitClose.
-      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
-      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
-      // If true, a maybeReadMore has been scheduled.
-      readingMore: makeBitMapDescriptor(kReadingMore),
-      dataEmitted: makeBitMapDescriptor(kDataEmitted)
-    });
-    function ReadableState(options, stream2, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream2 instanceof require_duplex();
-      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
-      if (options && options.objectMode) this.state |= kObjectMode;
-      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
-      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = [];
-      this.flowing = null;
-      this[kPaused] = null;
-      if (options && options.emitClose === false) this.state &= ~kEmitClose;
-      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
-      this.errored = null;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.awaitDrainWriters = null;
-      this.decoder = null;
-      this.encoding = null;
-      if (options && options.encoding) {
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
       }
-    }
-    function Readable2(options) {
-      if (!(this instanceof Readable2)) return new Readable2(options);
-      const isDuplex = this instanceof require_duplex();
-      this._readableState = new ReadableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
+      if (this._firstWrite) {
+        this._bparser.push(B_CRLF);
+        this._firstWrite = false;
       }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        if (this._readableState.needReadable) {
-          maybeReadMore(this, this._readableState);
-        }
-      });
-    }
-    Readable2.prototype.destroy = destroyImpl.destroy;
-    Readable2.prototype._undestroy = destroyImpl.undestroy;
-    Readable2.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Readable2.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    Readable2.prototype[SymbolAsyncDispose] = function() {
-      let error3;
-      if (!this.destroyed) {
-        error3 = this.readableEnded ? null : new AbortError();
-        this.destroy(error3);
+      this._bparser.push(data);
+      if (this._pause) {
+        this._cb = cb;
+      } else {
+        cb();
       }
-      return new Promise2((resolve8, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve8(null)));
     };
-    Readable2.prototype.push = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, false);
+    Dicer.prototype.reset = function() {
+      this._part = void 0;
+      this._bparser = void 0;
+      this._hparser = void 0;
     };
-    Readable2.prototype.unshift = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, true);
+    Dicer.prototype.setBoundary = function(boundary) {
+      const self2 = this;
+      this._bparser = new StreamSearch("\r\n--" + boundary);
+      this._bparser.on("info", function(isMatch, data, start, end) {
+        self2._oninfo(isMatch, data, start, end);
+      });
     };
-    function readableAddChunk(stream2, chunk, encoding, addToFront) {
-      debug5("readableAddChunk", chunk);
-      const state = stream2._readableState;
-      let err;
-      if ((state.state & kObjectMode) === 0) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (state.encoding !== encoding) {
-            if (addToFront && state.encoding) {
-              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
-            } else {
-              chunk = Buffer2.from(chunk, encoding);
-              encoding = "";
+    Dicer.prototype._ignore = function() {
+      if (this._part && !this._ignoreData) {
+        this._ignoreData = true;
+        this._part.on("error", EMPTY_FN);
+        this._part.resume();
+      }
+    };
+    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
+      let buf;
+      const self2 = this;
+      let i = 0;
+      let r;
+      let shouldWriteMore = true;
+      if (!this._part && this._justMatched && data) {
+        while (this._dashes < 2 && start + i < end) {
+          if (data[start + i] === DASH) {
+            ++i;
+            ++this._dashes;
+          } else {
+            if (this._dashes) {
+              buf = B_ONEDASH;
             }
+            this._dashes = 0;
+            break;
+          }
+        }
+        if (this._dashes === 2) {
+          if (start + i < end && this.listenerCount("trailer") !== 0) {
+            this.emit("trailer", data.slice(start + i, end));
+          }
+          this.reset();
+          this._finished = true;
+          if (self2._parts === 0) {
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
           }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "";
-        } else if (chunk != null) {
-          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+        }
+        if (this._dashes) {
+          return;
         }
       }
-      if (err) {
-        errorOrDestroy(stream2, err);
-      } else if (chunk === null) {
-        state.state &= ~kReading;
-        onEofChunk(stream2, state);
-      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
-        if (addToFront) {
-          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream2, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
-          else if (state.destroyed || state.errored) return false;
-          else addChunk(stream2, state, chunk, true);
-        } else if (state.ended) {
-          errorOrDestroy(stream2, new ERR_STREAM_PUSH_AFTER_EOF());
-        } else if (state.destroyed || state.errored) {
-          return false;
+      if (this._justMatched) {
+        this._justMatched = false;
+      }
+      if (!this._part) {
+        this._part = new PartStream(this._partOpts);
+        this._part._read = function(n) {
+          self2._unpause();
+        };
+        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
+          this.emit("preamble", this._part);
+        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
+          this.emit("part", this._part);
         } else {
-          state.state &= ~kReading;
-          if (state.decoder && !encoding) {
-            chunk = state.decoder.write(chunk);
-            if (state.objectMode || chunk.length !== 0) addChunk(stream2, state, chunk, false);
-            else maybeReadMore(stream2, state);
-          } else {
-            addChunk(stream2, state, chunk, false);
+          this._ignore();
+        }
+        if (!this._isPreamble) {
+          this._inHeader = true;
+        }
+      }
+      if (data && start < end && !this._ignoreData) {
+        if (this._isPreamble || !this._inHeader) {
+          if (buf) {
+            shouldWriteMore = this._part.push(buf);
+          }
+          shouldWriteMore = this._part.push(data.slice(start, end));
+          if (!shouldWriteMore) {
+            this._pause = true;
+          }
+        } else if (!this._isPreamble && this._inHeader) {
+          if (buf) {
+            this._hparser.push(buf);
+          }
+          r = this._hparser.push(data.slice(start, end));
+          if (!this._inHeader && r !== void 0 && r < end) {
+            this._oninfo(false, data, start + r, end);
           }
         }
-      } else if (!addToFront) {
-        state.state &= ~kReading;
-        maybeReadMore(stream2, state);
       }
-      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
-    }
-    function addChunk(stream2, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync && stream2.listenerCount("data") > 0) {
-        if ((state.state & kMultiAwaitDrain) !== 0) {
-          state.awaitDrainWriters.clear();
+      if (isMatch) {
+        this._hparser.reset();
+        if (this._isPreamble) {
+          this._isPreamble = false;
         } else {
-          state.awaitDrainWriters = null;
+          if (start !== end) {
+            ++this._parts;
+            this._part.on("end", function() {
+              if (--self2._parts === 0) {
+                if (self2._finished) {
+                  self2._realFinish = true;
+                  self2.emit("finish");
+                  self2._realFinish = false;
+                } else {
+                  self2._unpause();
+                }
+              }
+            });
+          }
         }
-        state.dataEmitted = true;
-        stream2.emit("data", chunk);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if ((state.state & kNeedReadable) !== 0) emitReadable(stream2);
+        this._part.push(null);
+        this._part = void 0;
+        this._ignoreData = false;
+        this._justMatched = true;
+        this._dashes = 0;
       }
-      maybeReadMore(stream2, state);
-    }
-    Readable2.prototype.isPaused = function() {
-      const state = this._readableState;
-      return state[kPaused] === true || state.flowing === false;
     };
-    Readable2.prototype.setEncoding = function(enc) {
-      const decoder = new StringDecoder(enc);
-      this._readableState.decoder = decoder;
-      this._readableState.encoding = this._readableState.decoder.encoding;
-      const buffer = this._readableState.buffer;
-      let content = "";
-      for (const data of buffer) {
-        content += decoder.write(data);
+    Dicer.prototype._unpause = function() {
+      if (!this._pause) {
+        return;
+      }
+      this._pause = false;
+      if (this._cb) {
+        const cb = this._cb;
+        this._cb = void 0;
+        cb();
       }
-      buffer.clear();
-      if (content !== "") buffer.push(content);
-      this._readableState.length = content.length;
-      return this;
     };
-    var MAX_HWM = 1073741824;
-    function computeNewHighWaterMark(n) {
-      if (n > MAX_HWM) {
-        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
-      } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+    module2.exports = Dicer;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/decodeText.js
+var require_decodeText = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
+    "use strict";
+    var utf8Decoder = new TextDecoder("utf-8");
+    var textDecoders = /* @__PURE__ */ new Map([
+      ["utf-8", utf8Decoder],
+      ["utf8", utf8Decoder]
+    ]);
+    function getDecoder(charset) {
+      let lc;
+      while (true) {
+        switch (charset) {
+          case "utf-8":
+          case "utf8":
+            return decoders.utf8;
+          case "latin1":
+          case "ascii":
+          // TODO: Make these a separate, strict decoder?
+          case "us-ascii":
+          case "iso-8859-1":
+          case "iso8859-1":
+          case "iso88591":
+          case "iso_8859-1":
+          case "windows-1252":
+          case "iso_8859-1:1987":
+          case "cp1252":
+          case "x-cp1252":
+            return decoders.latin1;
+          case "utf16le":
+          case "utf-16le":
+          case "ucs2":
+          case "ucs-2":
+            return decoders.utf16le;
+          case "base64":
+            return decoders.base64;
+          default:
+            if (lc === void 0) {
+              lc = true;
+              charset = charset.toLowerCase();
+              continue;
+            }
+            return decoders.other.bind(charset);
+        }
       }
-      return n;
     }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if ((state.state & kObjectMode) !== 0) return 1;
-      if (NumberIsNaN(n)) {
-        if (state.flowing && state.length) return state.buffer.first().length;
-        return state.length;
+    var decoders = {
+      utf8: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        return data.utf8Slice(0, data.length);
+      },
+      latin1: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          return data;
+        }
+        return data.latin1Slice(0, data.length);
+      },
+      utf16le: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        return data.ucs2Slice(0, data.length);
+      },
+      base64: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        return data.base64Slice(0, data.length);
+      },
+      other: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
+        }
+        if (textDecoders.has(exports2.toString())) {
+          try {
+            return textDecoders.get(exports2).decode(data);
+          } catch {
+          }
+        }
+        return typeof data === "string" ? data : data.toString();
       }
-      if (n <= state.length) return n;
-      return state.ended ? state.length : 0;
+    };
+    function decodeText(text, sourceEncoding, destEncoding) {
+      if (text) {
+        return getDecoder(destEncoding)(text, sourceEncoding);
+      }
+      return text;
+    }
+    module2.exports = decodeText;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/parseParams.js
+var require_parseParams = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+    "use strict";
+    var decodeText = require_decodeText();
+    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
+    var EncodedLookup = {
+      "%00": "\0",
+      "%01": "",
+      "%02": "",
+      "%03": "",
+      "%04": "",
+      "%05": "",
+      "%06": "",
+      "%07": "\x07",
+      "%08": "\b",
+      "%09": "	",
+      "%0a": "\n",
+      "%0A": "\n",
+      "%0b": "\v",
+      "%0B": "\v",
+      "%0c": "\f",
+      "%0C": "\f",
+      "%0d": "\r",
+      "%0D": "\r",
+      "%0e": "",
+      "%0E": "",
+      "%0f": "",
+      "%0F": "",
+      "%10": "",
+      "%11": "",
+      "%12": "",
+      "%13": "",
+      "%14": "",
+      "%15": "",
+      "%16": "",
+      "%17": "",
+      "%18": "",
+      "%19": "",
+      "%1a": "",
+      "%1A": "",
+      "%1b": "\x1B",
+      "%1B": "\x1B",
+      "%1c": "",
+      "%1C": "",
+      "%1d": "",
+      "%1D": "",
+      "%1e": "",
+      "%1E": "",
+      "%1f": "",
+      "%1F": "",
+      "%20": " ",
+      "%21": "!",
+      "%22": '"',
+      "%23": "#",
+      "%24": "$",
+      "%25": "%",
+      "%26": "&",
+      "%27": "'",
+      "%28": "(",
+      "%29": ")",
+      "%2a": "*",
+      "%2A": "*",
+      "%2b": "+",
+      "%2B": "+",
+      "%2c": ",",
+      "%2C": ",",
+      "%2d": "-",
+      "%2D": "-",
+      "%2e": ".",
+      "%2E": ".",
+      "%2f": "/",
+      "%2F": "/",
+      "%30": "0",
+      "%31": "1",
+      "%32": "2",
+      "%33": "3",
+      "%34": "4",
+      "%35": "5",
+      "%36": "6",
+      "%37": "7",
+      "%38": "8",
+      "%39": "9",
+      "%3a": ":",
+      "%3A": ":",
+      "%3b": ";",
+      "%3B": ";",
+      "%3c": "<",
+      "%3C": "<",
+      "%3d": "=",
+      "%3D": "=",
+      "%3e": ">",
+      "%3E": ">",
+      "%3f": "?",
+      "%3F": "?",
+      "%40": "@",
+      "%41": "A",
+      "%42": "B",
+      "%43": "C",
+      "%44": "D",
+      "%45": "E",
+      "%46": "F",
+      "%47": "G",
+      "%48": "H",
+      "%49": "I",
+      "%4a": "J",
+      "%4A": "J",
+      "%4b": "K",
+      "%4B": "K",
+      "%4c": "L",
+      "%4C": "L",
+      "%4d": "M",
+      "%4D": "M",
+      "%4e": "N",
+      "%4E": "N",
+      "%4f": "O",
+      "%4F": "O",
+      "%50": "P",
+      "%51": "Q",
+      "%52": "R",
+      "%53": "S",
+      "%54": "T",
+      "%55": "U",
+      "%56": "V",
+      "%57": "W",
+      "%58": "X",
+      "%59": "Y",
+      "%5a": "Z",
+      "%5A": "Z",
+      "%5b": "[",
+      "%5B": "[",
+      "%5c": "\\",
+      "%5C": "\\",
+      "%5d": "]",
+      "%5D": "]",
+      "%5e": "^",
+      "%5E": "^",
+      "%5f": "_",
+      "%5F": "_",
+      "%60": "`",
+      "%61": "a",
+      "%62": "b",
+      "%63": "c",
+      "%64": "d",
+      "%65": "e",
+      "%66": "f",
+      "%67": "g",
+      "%68": "h",
+      "%69": "i",
+      "%6a": "j",
+      "%6A": "j",
+      "%6b": "k",
+      "%6B": "k",
+      "%6c": "l",
+      "%6C": "l",
+      "%6d": "m",
+      "%6D": "m",
+      "%6e": "n",
+      "%6E": "n",
+      "%6f": "o",
+      "%6F": "o",
+      "%70": "p",
+      "%71": "q",
+      "%72": "r",
+      "%73": "s",
+      "%74": "t",
+      "%75": "u",
+      "%76": "v",
+      "%77": "w",
+      "%78": "x",
+      "%79": "y",
+      "%7a": "z",
+      "%7A": "z",
+      "%7b": "{",
+      "%7B": "{",
+      "%7c": "|",
+      "%7C": "|",
+      "%7d": "}",
+      "%7D": "}",
+      "%7e": "~",
+      "%7E": "~",
+      "%7f": "\x7F",
+      "%7F": "\x7F",
+      "%80": "\x80",
+      "%81": "\x81",
+      "%82": "\x82",
+      "%83": "\x83",
+      "%84": "\x84",
+      "%85": "\x85",
+      "%86": "\x86",
+      "%87": "\x87",
+      "%88": "\x88",
+      "%89": "\x89",
+      "%8a": "\x8A",
+      "%8A": "\x8A",
+      "%8b": "\x8B",
+      "%8B": "\x8B",
+      "%8c": "\x8C",
+      "%8C": "\x8C",
+      "%8d": "\x8D",
+      "%8D": "\x8D",
+      "%8e": "\x8E",
+      "%8E": "\x8E",
+      "%8f": "\x8F",
+      "%8F": "\x8F",
+      "%90": "\x90",
+      "%91": "\x91",
+      "%92": "\x92",
+      "%93": "\x93",
+      "%94": "\x94",
+      "%95": "\x95",
+      "%96": "\x96",
+      "%97": "\x97",
+      "%98": "\x98",
+      "%99": "\x99",
+      "%9a": "\x9A",
+      "%9A": "\x9A",
+      "%9b": "\x9B",
+      "%9B": "\x9B",
+      "%9c": "\x9C",
+      "%9C": "\x9C",
+      "%9d": "\x9D",
+      "%9D": "\x9D",
+      "%9e": "\x9E",
+      "%9E": "\x9E",
+      "%9f": "\x9F",
+      "%9F": "\x9F",
+      "%a0": "\xA0",
+      "%A0": "\xA0",
+      "%a1": "\xA1",
+      "%A1": "\xA1",
+      "%a2": "\xA2",
+      "%A2": "\xA2",
+      "%a3": "\xA3",
+      "%A3": "\xA3",
+      "%a4": "\xA4",
+      "%A4": "\xA4",
+      "%a5": "\xA5",
+      "%A5": "\xA5",
+      "%a6": "\xA6",
+      "%A6": "\xA6",
+      "%a7": "\xA7",
+      "%A7": "\xA7",
+      "%a8": "\xA8",
+      "%A8": "\xA8",
+      "%a9": "\xA9",
+      "%A9": "\xA9",
+      "%aa": "\xAA",
+      "%Aa": "\xAA",
+      "%aA": "\xAA",
+      "%AA": "\xAA",
+      "%ab": "\xAB",
+      "%Ab": "\xAB",
+      "%aB": "\xAB",
+      "%AB": "\xAB",
+      "%ac": "\xAC",
+      "%Ac": "\xAC",
+      "%aC": "\xAC",
+      "%AC": "\xAC",
+      "%ad": "\xAD",
+      "%Ad": "\xAD",
+      "%aD": "\xAD",
+      "%AD": "\xAD",
+      "%ae": "\xAE",
+      "%Ae": "\xAE",
+      "%aE": "\xAE",
+      "%AE": "\xAE",
+      "%af": "\xAF",
+      "%Af": "\xAF",
+      "%aF": "\xAF",
+      "%AF": "\xAF",
+      "%b0": "\xB0",
+      "%B0": "\xB0",
+      "%b1": "\xB1",
+      "%B1": "\xB1",
+      "%b2": "\xB2",
+      "%B2": "\xB2",
+      "%b3": "\xB3",
+      "%B3": "\xB3",
+      "%b4": "\xB4",
+      "%B4": "\xB4",
+      "%b5": "\xB5",
+      "%B5": "\xB5",
+      "%b6": "\xB6",
+      "%B6": "\xB6",
+      "%b7": "\xB7",
+      "%B7": "\xB7",
+      "%b8": "\xB8",
+      "%B8": "\xB8",
+      "%b9": "\xB9",
+      "%B9": "\xB9",
+      "%ba": "\xBA",
+      "%Ba": "\xBA",
+      "%bA": "\xBA",
+      "%BA": "\xBA",
+      "%bb": "\xBB",
+      "%Bb": "\xBB",
+      "%bB": "\xBB",
+      "%BB": "\xBB",
+      "%bc": "\xBC",
+      "%Bc": "\xBC",
+      "%bC": "\xBC",
+      "%BC": "\xBC",
+      "%bd": "\xBD",
+      "%Bd": "\xBD",
+      "%bD": "\xBD",
+      "%BD": "\xBD",
+      "%be": "\xBE",
+      "%Be": "\xBE",
+      "%bE": "\xBE",
+      "%BE": "\xBE",
+      "%bf": "\xBF",
+      "%Bf": "\xBF",
+      "%bF": "\xBF",
+      "%BF": "\xBF",
+      "%c0": "\xC0",
+      "%C0": "\xC0",
+      "%c1": "\xC1",
+      "%C1": "\xC1",
+      "%c2": "\xC2",
+      "%C2": "\xC2",
+      "%c3": "\xC3",
+      "%C3": "\xC3",
+      "%c4": "\xC4",
+      "%C4": "\xC4",
+      "%c5": "\xC5",
+      "%C5": "\xC5",
+      "%c6": "\xC6",
+      "%C6": "\xC6",
+      "%c7": "\xC7",
+      "%C7": "\xC7",
+      "%c8": "\xC8",
+      "%C8": "\xC8",
+      "%c9": "\xC9",
+      "%C9": "\xC9",
+      "%ca": "\xCA",
+      "%Ca": "\xCA",
+      "%cA": "\xCA",
+      "%CA": "\xCA",
+      "%cb": "\xCB",
+      "%Cb": "\xCB",
+      "%cB": "\xCB",
+      "%CB": "\xCB",
+      "%cc": "\xCC",
+      "%Cc": "\xCC",
+      "%cC": "\xCC",
+      "%CC": "\xCC",
+      "%cd": "\xCD",
+      "%Cd": "\xCD",
+      "%cD": "\xCD",
+      "%CD": "\xCD",
+      "%ce": "\xCE",
+      "%Ce": "\xCE",
+      "%cE": "\xCE",
+      "%CE": "\xCE",
+      "%cf": "\xCF",
+      "%Cf": "\xCF",
+      "%cF": "\xCF",
+      "%CF": "\xCF",
+      "%d0": "\xD0",
+      "%D0": "\xD0",
+      "%d1": "\xD1",
+      "%D1": "\xD1",
+      "%d2": "\xD2",
+      "%D2": "\xD2",
+      "%d3": "\xD3",
+      "%D3": "\xD3",
+      "%d4": "\xD4",
+      "%D4": "\xD4",
+      "%d5": "\xD5",
+      "%D5": "\xD5",
+      "%d6": "\xD6",
+      "%D6": "\xD6",
+      "%d7": "\xD7",
+      "%D7": "\xD7",
+      "%d8": "\xD8",
+      "%D8": "\xD8",
+      "%d9": "\xD9",
+      "%D9": "\xD9",
+      "%da": "\xDA",
+      "%Da": "\xDA",
+      "%dA": "\xDA",
+      "%DA": "\xDA",
+      "%db": "\xDB",
+      "%Db": "\xDB",
+      "%dB": "\xDB",
+      "%DB": "\xDB",
+      "%dc": "\xDC",
+      "%Dc": "\xDC",
+      "%dC": "\xDC",
+      "%DC": "\xDC",
+      "%dd": "\xDD",
+      "%Dd": "\xDD",
+      "%dD": "\xDD",
+      "%DD": "\xDD",
+      "%de": "\xDE",
+      "%De": "\xDE",
+      "%dE": "\xDE",
+      "%DE": "\xDE",
+      "%df": "\xDF",
+      "%Df": "\xDF",
+      "%dF": "\xDF",
+      "%DF": "\xDF",
+      "%e0": "\xE0",
+      "%E0": "\xE0",
+      "%e1": "\xE1",
+      "%E1": "\xE1",
+      "%e2": "\xE2",
+      "%E2": "\xE2",
+      "%e3": "\xE3",
+      "%E3": "\xE3",
+      "%e4": "\xE4",
+      "%E4": "\xE4",
+      "%e5": "\xE5",
+      "%E5": "\xE5",
+      "%e6": "\xE6",
+      "%E6": "\xE6",
+      "%e7": "\xE7",
+      "%E7": "\xE7",
+      "%e8": "\xE8",
+      "%E8": "\xE8",
+      "%e9": "\xE9",
+      "%E9": "\xE9",
+      "%ea": "\xEA",
+      "%Ea": "\xEA",
+      "%eA": "\xEA",
+      "%EA": "\xEA",
+      "%eb": "\xEB",
+      "%Eb": "\xEB",
+      "%eB": "\xEB",
+      "%EB": "\xEB",
+      "%ec": "\xEC",
+      "%Ec": "\xEC",
+      "%eC": "\xEC",
+      "%EC": "\xEC",
+      "%ed": "\xED",
+      "%Ed": "\xED",
+      "%eD": "\xED",
+      "%ED": "\xED",
+      "%ee": "\xEE",
+      "%Ee": "\xEE",
+      "%eE": "\xEE",
+      "%EE": "\xEE",
+      "%ef": "\xEF",
+      "%Ef": "\xEF",
+      "%eF": "\xEF",
+      "%EF": "\xEF",
+      "%f0": "\xF0",
+      "%F0": "\xF0",
+      "%f1": "\xF1",
+      "%F1": "\xF1",
+      "%f2": "\xF2",
+      "%F2": "\xF2",
+      "%f3": "\xF3",
+      "%F3": "\xF3",
+      "%f4": "\xF4",
+      "%F4": "\xF4",
+      "%f5": "\xF5",
+      "%F5": "\xF5",
+      "%f6": "\xF6",
+      "%F6": "\xF6",
+      "%f7": "\xF7",
+      "%F7": "\xF7",
+      "%f8": "\xF8",
+      "%F8": "\xF8",
+      "%f9": "\xF9",
+      "%F9": "\xF9",
+      "%fa": "\xFA",
+      "%Fa": "\xFA",
+      "%fA": "\xFA",
+      "%FA": "\xFA",
+      "%fb": "\xFB",
+      "%Fb": "\xFB",
+      "%fB": "\xFB",
+      "%FB": "\xFB",
+      "%fc": "\xFC",
+      "%Fc": "\xFC",
+      "%fC": "\xFC",
+      "%FC": "\xFC",
+      "%fd": "\xFD",
+      "%Fd": "\xFD",
+      "%fD": "\xFD",
+      "%FD": "\xFD",
+      "%fe": "\xFE",
+      "%Fe": "\xFE",
+      "%fE": "\xFE",
+      "%FE": "\xFE",
+      "%ff": "\xFF",
+      "%Ff": "\xFF",
+      "%fF": "\xFF",
+      "%FF": "\xFF"
+    };
+    function encodedReplacer(match) {
+      return EncodedLookup[match];
     }
-    Readable2.prototype.read = function(n) {
-      debug5("read", n);
-      if (n === void 0) {
-        n = NaN;
-      } else if (!NumberIsInteger(n)) {
-        n = NumberParseInt(n, 10);
-      }
-      const state = this._readableState;
-      const nOrig = n;
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n !== 0) state.state &= ~kEmittedReadable;
-      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
-        debug5("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
-      }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
-      }
-      let doRead = (state.state & kNeedReadable) !== 0;
-      debug5("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug5("length less than watermark", doRead);
-      }
-      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
-        doRead = false;
-        debug5("reading, ended or constructing", doRead);
-      } else if (doRead) {
-        debug5("do read");
-        state.state |= kReading | kSync;
-        if (state.length === 0) state.state |= kNeedReadable;
-        try {
-          this._read(state.highWaterMark);
-        } catch (err) {
-          errorOrDestroy(this, err);
-        }
-        state.state &= ~kSync;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
-      }
-      let ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = state.length <= state.highWaterMark;
-        n = 0;
-      } else {
-        state.length -= n;
-        if (state.multiAwaitDrain) {
-          state.awaitDrainWriters.clear();
+    var STATE_KEY = 0;
+    var STATE_VALUE = 1;
+    var STATE_CHARSET = 2;
+    var STATE_LANG = 3;
+    function parseParams(str2) {
+      const res = [];
+      let state = STATE_KEY;
+      let charset = "";
+      let inquote = false;
+      let escaping = false;
+      let p = 0;
+      let tmp = "";
+      const len = str2.length;
+      for (var i = 0; i < len; ++i) {
+        const char = str2[i];
+        if (char === "\\" && inquote) {
+          if (escaping) {
+            escaping = false;
+          } else {
+            escaping = true;
+            continue;
+          }
+        } else if (char === '"') {
+          if (!escaping) {
+            if (inquote) {
+              inquote = false;
+              state = STATE_KEY;
+            } else {
+              inquote = true;
+            }
+            continue;
+          } else {
+            escaping = false;
+          }
         } else {
-          state.awaitDrainWriters = null;
+          if (escaping && inquote) {
+            tmp += "\\";
+          }
+          escaping = false;
+          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
+            if (state === STATE_CHARSET) {
+              state = STATE_LANG;
+              charset = tmp.substring(1);
+            } else {
+              state = STATE_VALUE;
+            }
+            tmp = "";
+            continue;
+          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
+            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
+            res[p] = [tmp, void 0];
+            tmp = "";
+            continue;
+          } else if (!inquote && char === ";") {
+            state = STATE_KEY;
+            if (charset) {
+              if (tmp.length) {
+                tmp = decodeText(
+                  tmp.replace(RE_ENCODED, encodedReplacer),
+                  "binary",
+                  charset
+                );
+              }
+              charset = "";
+            } else if (tmp.length) {
+              tmp = decodeText(tmp, "binary", "utf8");
+            }
+            if (res[p] === void 0) {
+              res[p] = tmp;
+            } else {
+              res[p][1] = tmp;
+            }
+            tmp = "";
+            ++p;
+            continue;
+          } else if (!inquote && (char === " " || char === "	")) {
+            continue;
+          }
         }
+        tmp += char;
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
-      }
-      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
-        state.dataEmitted = true;
-        this.emit("data", ret);
+      if (charset && tmp.length) {
+        tmp = decodeText(
+          tmp.replace(RE_ENCODED, encodedReplacer),
+          "binary",
+          charset
+        );
+      } else if (tmp) {
+        tmp = decodeText(tmp, "binary", "utf8");
       }
-      return ret;
-    };
-    function onEofChunk(stream2, state) {
-      debug5("onEofChunk");
-      if (state.ended) return;
-      if (state.decoder) {
-        const chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
+      if (res[p] === void 0) {
+        if (tmp) {
+          res[p] = tmp;
         }
-      }
-      state.ended = true;
-      if (state.sync) {
-        emitReadable(stream2);
       } else {
-        state.needReadable = false;
-        state.emittedReadable = true;
-        emitReadable_(stream2);
-      }
-    }
-    function emitReadable(stream2) {
-      const state = stream2._readableState;
-      debug5("emitReadable", state.needReadable, state.emittedReadable);
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug5("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        process2.nextTick(emitReadable_, stream2);
-      }
-    }
-    function emitReadable_(stream2) {
-      const state = stream2._readableState;
-      debug5("emitReadable_", state.destroyed, state.length, state.ended);
-      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
-        stream2.emit("readable");
-        state.emittedReadable = false;
-      }
-      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
-      flow(stream2);
-    }
-    function maybeReadMore(stream2, state) {
-      if (!state.readingMore && state.constructed) {
-        state.readingMore = true;
-        process2.nextTick(maybeReadMore_, stream2, state);
-      }
-    }
-    function maybeReadMore_(stream2, state) {
-      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
-        const len = state.length;
-        debug5("maybeReadMore read 0");
-        stream2.read(0);
-        if (len === state.length)
-          break;
+        res[p][1] = tmp;
       }
-      state.readingMore = false;
+      return res;
     }
-    Readable2.prototype._read = function(n) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
-    };
-    Readable2.prototype.pipe = function(dest, pipeOpts) {
-      const src = this;
-      const state = this._readableState;
-      if (state.pipes.length === 1) {
-        if (!state.multiAwaitDrain) {
-          state.multiAwaitDrain = true;
-          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
-        }
-      }
-      state.pipes.push(dest);
-      debug5("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
-      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
-      const endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) process2.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug5("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
-        }
-      }
-      function onend() {
-        debug5("onend");
-        dest.end();
-      }
-      let ondrain;
-      let cleanedUp = false;
-      function cleanup() {
-        debug5("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        if (ondrain) {
-          dest.removeListener("drain", ondrain);
-        }
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
-      }
-      function pause() {
-        if (!cleanedUp) {
-          if (state.pipes.length === 1 && state.pipes[0] === dest) {
-            debug5("false write response, pause", 0);
-            state.awaitDrainWriters = dest;
-            state.multiAwaitDrain = false;
-          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
-            debug5("false write response, pause", state.awaitDrainWriters.size);
-            state.awaitDrainWriters.add(dest);
-          }
-          src.pause();
-        }
-        if (!ondrain) {
-          ondrain = pipeOnDrain(src, dest);
-          dest.on("drain", ondrain);
-        }
-      }
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug5("ondata");
-        const ret = dest.write(chunk);
-        debug5("dest.write", ret);
-        if (ret === false) {
-          pause();
-        }
+    module2.exports = parseParams;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/basename.js
+var require_basename = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function basename2(path16) {
+      if (typeof path16 !== "string") {
+        return "";
       }
-      function onerror(er) {
-        debug5("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (dest.listenerCount("error") === 0) {
-          const s = dest._writableState || dest._readableState;
-          if (s && !s.errorEmitted) {
-            errorOrDestroy(dest, er);
-          } else {
-            dest.emit("error", er);
-          }
+      for (var i = path16.length - 1; i >= 0; --i) {
+        switch (path16.charCodeAt(i)) {
+          case 47:
+          // '/'
+          case 92:
+            path16 = path16.slice(i + 1);
+            return path16 === ".." || path16 === "." ? "" : path16;
         }
       }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
-      }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug5("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
-      }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug5("unpipe");
-        src.unpipe(dest);
-      }
-      dest.emit("pipe", src);
-      if (dest.writableNeedDrain === true) {
-        pause();
-      } else if (!state.flowing) {
-        debug5("pipe resume");
-        src.resume();
-      }
-      return dest;
+      return path16 === ".." || path16 === "." ? "" : path16;
     };
-    function pipeOnDrain(src, dest) {
-      return function pipeOnDrainFunctionResult() {
-        const state = src._readableState;
-        if (state.awaitDrainWriters === dest) {
-          debug5("pipeOnDrain", 1);
-          state.awaitDrainWriters = null;
-        } else if (state.multiAwaitDrain) {
-          debug5("pipeOnDrain", state.awaitDrainWriters.size);
-          state.awaitDrainWriters.delete(dest);
-        }
-        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
-          src.resume();
+  }
+});
+
+// node_modules/@fastify/busboy/lib/types/multipart.js
+var require_multipart2 = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+    "use strict";
+    var { Readable: Readable2 } = require("node:stream");
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var parseParams = require_parseParams();
+    var decodeText = require_decodeText();
+    var basename2 = require_basename();
+    var getLimit = require_getLimit();
+    var RE_BOUNDARY = /^boundary$/i;
+    var RE_FIELD = /^form-data$/i;
+    var RE_CHARSET = /^charset$/i;
+    var RE_FILENAME = /^filename$/i;
+    var RE_NAME = /^name$/i;
+    Multipart.detect = /^multipart\/form-data/i;
+    function Multipart(boy, cfg) {
+      let i;
+      let len;
+      const self2 = this;
+      let boundary;
+      const limits = cfg.limits;
+      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
+      const parsedConType = cfg.parsedConType || [];
+      const defCharset = cfg.defCharset || "utf8";
+      const preservePath = cfg.preservePath;
+      const fileOpts = { highWaterMark: cfg.fileHwm };
+      for (i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
+          boundary = parsedConType[i][1];
+          break;
         }
-      };
-    }
-    Readable2.prototype.unpipe = function(dest) {
-      const state = this._readableState;
-      const unpipeInfo = {
-        hasUnpiped: false
-      };
-      if (state.pipes.length === 0) return this;
-      if (!dest) {
-        const dests = state.pipes;
-        state.pipes = [];
-        this.pause();
-        for (let i = 0; i < dests.length; i++)
-          dests[i].emit("unpipe", this, {
-            hasUnpiped: false
-          });
-        return this;
       }
-      const index = ArrayPrototypeIndexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      if (state.pipes.length === 0) this.pause();
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
-    };
-    Readable2.prototype.on = function(ev, fn) {
-      const res = Stream.prototype.on.call(this, ev, fn);
-      const state = this._readableState;
-      if (ev === "data") {
-        state.readableListening = this.listenerCount("readable") > 0;
-        if (state.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.flowing = false;
-          state.emittedReadable = false;
-          debug5("on readable", state.length, state.reading);
-          if (state.length) {
-            emitReadable(this);
-          } else if (!state.reading) {
-            process2.nextTick(nReadingNextTick, this);
-          }
+      function checkFinished() {
+        if (nends === 0 && finished && !boy._done) {
+          finished = false;
+          self2.end();
         }
       }
-      return res;
-    };
-    Readable2.prototype.addListener = Readable2.prototype.on;
-    Readable2.prototype.removeListener = function(ev, fn) {
-      const res = Stream.prototype.removeListener.call(this, ev, fn);
-      if (ev === "readable") {
-        process2.nextTick(updateReadableListening, this);
-      }
-      return res;
-    };
-    Readable2.prototype.off = Readable2.prototype.removeListener;
-    Readable2.prototype.removeAllListeners = function(ev) {
-      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
-      if (ev === "readable" || ev === void 0) {
-        process2.nextTick(updateReadableListening, this);
-      }
-      return res;
-    };
-    function updateReadableListening(self2) {
-      const state = self2._readableState;
-      state.readableListening = self2.listenerCount("readable") > 0;
-      if (state.resumeScheduled && state[kPaused] === false) {
-        state.flowing = true;
-      } else if (self2.listenerCount("data") > 0) {
-        self2.resume();
-      } else if (!state.readableListening) {
-        state.flowing = null;
-      }
-    }
-    function nReadingNextTick(self2) {
-      debug5("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable2.prototype.resume = function() {
-      const state = this._readableState;
-      if (!state.flowing) {
-        debug5("resume");
-        state.flowing = !state.readableListening;
-        resume(this, state);
-      }
-      state[kPaused] = false;
-      return this;
-    };
-    function resume(stream2, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        process2.nextTick(resume_, stream2, state);
-      }
-    }
-    function resume_(stream2, state) {
-      debug5("resume", state.reading);
-      if (!state.reading) {
-        stream2.read(0);
-      }
-      state.resumeScheduled = false;
-      stream2.emit("resume");
-      flow(stream2);
-      if (state.flowing && !state.reading) stream2.read(0);
-    }
-    Readable2.prototype.pause = function() {
-      debug5("call pause flowing=%j", this._readableState.flowing);
-      if (this._readableState.flowing !== false) {
-        debug5("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+      if (typeof boundary !== "string") {
+        throw new Error("Multipart: Boundary not found");
       }
-      this._readableState[kPaused] = true;
-      return this;
-    };
-    function flow(stream2) {
-      const state = stream2._readableState;
-      debug5("flow", state.flowing);
-      while (state.flowing && stream2.read() !== null) ;
-    }
-    Readable2.prototype.wrap = function(stream2) {
-      let paused = false;
-      stream2.on("data", (chunk) => {
-        if (!this.push(chunk) && stream2.pause) {
-          paused = true;
-          stream2.pause();
-        }
-      });
-      stream2.on("end", () => {
-        this.push(null);
-      });
-      stream2.on("error", (err) => {
-        errorOrDestroy(this, err);
-      });
-      stream2.on("close", () => {
-        this.destroy();
-      });
-      stream2.on("destroy", () => {
-        this.destroy();
-      });
-      this._read = () => {
-        if (paused && stream2.resume) {
-          paused = false;
-          stream2.resume();
-        }
+      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
+      const filesLimit = getLimit(limits, "files", Infinity);
+      const fieldsLimit = getLimit(limits, "fields", Infinity);
+      const partsLimit = getLimit(limits, "parts", Infinity);
+      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
+      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
+      let nfiles = 0;
+      let nfields = 0;
+      let nends = 0;
+      let curFile;
+      let curField;
+      let finished = false;
+      this._needDrain = false;
+      this._pause = false;
+      this._cb = void 0;
+      this._nparts = 0;
+      this._boy = boy;
+      const parserCfg = {
+        boundary,
+        maxHeaderPairs: headerPairsLimit,
+        maxHeaderSize: headerSizeLimit,
+        partHwm: fileOpts.highWaterMark,
+        highWaterMark: cfg.highWaterMark
       };
-      const streamKeys = ObjectKeys(stream2);
-      for (let j = 1; j < streamKeys.length; j++) {
-        const i = streamKeys[j];
-        if (this[i] === void 0 && typeof stream2[i] === "function") {
-          this[i] = stream2[i].bind(stream2);
+      this.parser = new Dicer(parserCfg);
+      this.parser.on("drain", function() {
+        self2._needDrain = false;
+        if (self2._cb && !self2._pause) {
+          const cb = self2._cb;
+          self2._cb = void 0;
+          cb();
         }
-      }
-      return this;
-    };
-    Readable2.prototype[SymbolAsyncIterator] = function() {
-      return streamToAsyncIterator(this);
-    };
-    Readable2.prototype.iterator = function(options) {
-      if (options !== void 0) {
-        validateObject(options, "options");
-      }
-      return streamToAsyncIterator(this, options);
-    };
-    function streamToAsyncIterator(stream2, options) {
-      if (typeof stream2.read !== "function") {
-        stream2 = Readable2.wrap(stream2, {
-          objectMode: true
-        });
-      }
-      const iter = createAsyncIterator(stream2, options);
-      iter.stream = stream2;
-      return iter;
-    }
-    async function* createAsyncIterator(stream2, options) {
-      let callback = nop;
-      function next(resolve8) {
-        if (this === stream2) {
-          callback();
-          callback = nop;
-        } else {
-          callback = resolve8;
+      }).on("part", function onPart(part) {
+        if (++self2._nparts > partsLimit) {
+          self2.parser.removeListener("part", onPart);
+          self2.parser.on("part", skipPart);
+          boy.hitPartsLimit = true;
+          boy.emit("partsLimit");
+          return skipPart(part);
         }
-      }
-      stream2.on("readable", next);
-      let error3;
-      const cleanup = eos(
-        stream2,
-        {
-          writable: false
-        },
-        (err) => {
-          error3 = err ? aggregateTwoErrors(error3, err) : null;
-          callback();
-          callback = nop;
+        if (curField) {
+          const field = curField;
+          field.emit("end");
+          field.removeAllListeners("end");
         }
-      );
-      try {
-        while (true) {
-          const chunk = stream2.destroyed ? null : stream2.read();
-          if (chunk !== null) {
-            yield chunk;
-          } else if (error3) {
-            throw error3;
-          } else if (error3 === null) {
-            return;
+        part.on("header", function(header) {
+          let contype;
+          let fieldname;
+          let parsed;
+          let charset;
+          let encoding;
+          let filename;
+          let nsize = 0;
+          if (header["content-type"]) {
+            parsed = parseParams(header["content-type"][0]);
+            if (parsed[0]) {
+              contype = parsed[0].toLowerCase();
+              for (i = 0, len = parsed.length; i < len; ++i) {
+                if (RE_CHARSET.test(parsed[i][0])) {
+                  charset = parsed[i][1].toLowerCase();
+                  break;
+                }
+              }
+            }
+          }
+          if (contype === void 0) {
+            contype = "text/plain";
+          }
+          if (charset === void 0) {
+            charset = defCharset;
+          }
+          if (header["content-disposition"]) {
+            parsed = parseParams(header["content-disposition"][0]);
+            if (!RE_FIELD.test(parsed[0])) {
+              return skipPart(part);
+            }
+            for (i = 0, len = parsed.length; i < len; ++i) {
+              if (RE_NAME.test(parsed[i][0])) {
+                fieldname = parsed[i][1];
+              } else if (RE_FILENAME.test(parsed[i][0])) {
+                filename = parsed[i][1];
+                if (!preservePath) {
+                  filename = basename2(filename);
+                }
+              }
+            }
           } else {
-            await new Promise2(next);
+            return skipPart(part);
           }
-        }
-      } catch (err) {
-        error3 = aggregateTwoErrors(error3, err);
-        throw error3;
-      } finally {
-        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream2._readableState.autoDestroy)) {
-          destroyImpl.destroyer(stream2, null);
-        } else {
-          stream2.off("readable", next);
-          cleanup();
-        }
-      }
-    }
-    ObjectDefineProperties(Readable2.prototype, {
-      readable: {
-        __proto__: null,
-        get() {
-          const r = this._readableState;
-          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
-        },
-        set(val) {
-          if (this._readableState) {
-            this._readableState.readable = !!val;
+          if (header["content-transfer-encoding"]) {
+            encoding = header["content-transfer-encoding"][0].toLowerCase();
+          } else {
+            encoding = "7bit";
           }
-        }
-      },
-      readableDidRead: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.dataEmitted;
-        }
-      },
-      readableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
-        }
-      },
-      readableHighWaterMark: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.highWaterMark;
-        }
-      },
-      readableBuffer: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState && this._readableState.buffer;
-        }
-      },
-      readableFlowing: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.flowing;
-        },
-        set: function(state) {
-          if (this._readableState) {
-            this._readableState.flowing = state;
+          let onData, onEnd;
+          if (isPartAFile(fieldname, contype, filename)) {
+            if (nfiles === filesLimit) {
+              if (!boy.hitFilesLimit) {
+                boy.hitFilesLimit = true;
+                boy.emit("filesLimit");
+              }
+              return skipPart(part);
+            }
+            ++nfiles;
+            if (boy.listenerCount("file") === 0) {
+              self2.parser._ignore();
+              return;
+            }
+            ++nends;
+            const file = new FileStream(fileOpts);
+            curFile = file;
+            file.on("end", function() {
+              --nends;
+              self2._pause = false;
+              checkFinished();
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            });
+            file._read = function(n) {
+              if (!self2._pause) {
+                return;
+              }
+              self2._pause = false;
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            };
+            boy.emit("file", fieldname, file, filename, encoding, contype);
+            onData = function(data) {
+              if ((nsize += data.length) > fileSizeLimit) {
+                const extralen = fileSizeLimit - nsize + data.length;
+                if (extralen > 0) {
+                  file.push(data.slice(0, extralen));
+                }
+                file.truncated = true;
+                file.bytesRead = fileSizeLimit;
+                part.removeAllListeners("data");
+                file.emit("limit");
+                return;
+              } else if (!file.push(data)) {
+                self2._pause = true;
+              }
+              file.bytesRead = nsize;
+            };
+            onEnd = function() {
+              curFile = void 0;
+              file.push(null);
+            };
+          } else {
+            if (nfields === fieldsLimit) {
+              if (!boy.hitFieldsLimit) {
+                boy.hitFieldsLimit = true;
+                boy.emit("fieldsLimit");
+              }
+              return skipPart(part);
+            }
+            ++nfields;
+            ++nends;
+            let buffer = "";
+            let truncated = false;
+            curField = part;
+            onData = function(data) {
+              if ((nsize += data.length) > fieldSizeLimit) {
+                const extralen = fieldSizeLimit - (nsize - data.length);
+                buffer += data.toString("binary", 0, extralen);
+                truncated = true;
+                part.removeAllListeners("data");
+              } else {
+                buffer += data.toString("binary");
+              }
+            };
+            onEnd = function() {
+              curField = void 0;
+              if (buffer.length) {
+                buffer = decodeText(buffer, "binary", charset);
+              }
+              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
+              --nends;
+              checkFinished();
+            };
           }
-        }
-      },
-      readableLength: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState.length;
-        }
-      },
-      readableObjectMode: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.objectMode : false;
-        }
-      },
-      readableEncoding: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.encoding : null;
-        }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.errored : null;
-        }
-      },
-      closed: {
-        __proto__: null,
-        get() {
-          return this._readableState ? this._readableState.closed : false;
-        }
-      },
-      destroyed: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.destroyed : false;
-        },
-        set(value) {
-          if (!this._readableState) {
-            return;
+          part._readableState.sync = false;
+          part.on("data", onData);
+          part.on("end", onEnd);
+        }).on("error", function(err) {
+          if (curFile) {
+            curFile.emit("error", err);
           }
-          this._readableState.destroyed = value;
-        }
-      },
-      readableEnded: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.endEmitted : false;
-        }
-      }
-    });
-    ObjectDefineProperties(ReadableState.prototype, {
-      // Legacy getter for `pipesCount`.
-      pipesCount: {
-        __proto__: null,
-        get() {
-          return this.pipes.length;
-        }
-      },
-      // Legacy property for `paused`.
-      paused: {
-        __proto__: null,
-        get() {
-          return this[kPaused] !== false;
-        },
-        set(value) {
-          this[kPaused] = !!value;
-        }
-      }
-    });
-    Readable2._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      let ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.first();
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
+        });
+      }).on("error", function(err) {
+        boy.emit("error", err);
+      }).on("finish", function() {
+        finished = true;
+        checkFinished();
+      });
+    }
+    Multipart.prototype.write = function(chunk, cb) {
+      const r = this.parser.write(chunk);
+      if (r && !this._pause) {
+        cb();
       } else {
-        ret = state.buffer.consume(n, state.decoder);
+        this._needDrain = !r;
+        this._cb = cb;
       }
-      return ret;
-    }
-    function endReadable(stream2) {
-      const state = stream2._readableState;
-      debug5("endReadable", state.endEmitted);
-      if (!state.endEmitted) {
-        state.ended = true;
-        process2.nextTick(endReadableNT, state, stream2);
+    };
+    Multipart.prototype.end = function() {
+      const self2 = this;
+      if (self2.parser.writable) {
+        self2.parser.end();
+      } else if (!self2._boy._done) {
+        process.nextTick(function() {
+          self2._boy._done = true;
+          self2._boy.emit("finish");
+        });
       }
+    };
+    function skipPart(part) {
+      part.resume();
+    }
+    function FileStream(opts) {
+      Readable2.call(this, opts);
+      this.bytesRead = 0;
+      this.truncated = false;
+    }
+    inherits(FileStream, Readable2);
+    FileStream.prototype._read = function(n) {
+    };
+    module2.exports = Multipart;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/Decoder.js
+var require_Decoder = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+    "use strict";
+    var RE_PLUS = /\+/g;
+    var HEX = [
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ];
+    function Decoder() {
+      this.buffer = void 0;
     }
-    function endReadableNT(state, stream2) {
-      debug5("endReadableNT", state.endEmitted, state.length);
-      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream2.emit("end");
-        if (stream2.writable && stream2.allowHalfOpen === false) {
-          process2.nextTick(endWritableNT, stream2);
-        } else if (state.autoDestroy) {
-          const wState = stream2._writableState;
-          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
-          // if writable is explicitly set to false.
-          (wState.finished || wState.writable === false);
-          if (autoDestroy) {
-            stream2.destroy();
+    Decoder.prototype.write = function(str2) {
+      str2 = str2.replace(RE_PLUS, " ");
+      let res = "";
+      let i = 0;
+      let p = 0;
+      const len = str2.length;
+      for (; i < len; ++i) {
+        if (this.buffer !== void 0) {
+          if (!HEX[str2.charCodeAt(i)]) {
+            res += "%" + this.buffer;
+            this.buffer = void 0;
+            --i;
+          } else {
+            this.buffer += str2[i];
+            ++p;
+            if (this.buffer.length === 2) {
+              res += String.fromCharCode(parseInt(this.buffer, 16));
+              this.buffer = void 0;
+            }
+          }
+        } else if (str2[i] === "%") {
+          if (i > p) {
+            res += str2.substring(p, i);
+            p = i;
           }
+          this.buffer = "";
+          ++p;
         }
       }
-    }
-    function endWritableNT(stream2) {
-      const writable = stream2.writable && !stream2.writableEnded && !stream2.destroyed;
-      if (writable) {
-        stream2.end();
+      if (p < len && this.buffer === void 0) {
+        res += str2.substring(p);
       }
-    }
-    Readable2.from = function(iterable, opts) {
-      return from(Readable2, iterable, opts);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Readable2.fromWeb = function(readableStream, options) {
-      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
-    };
-    Readable2.toWeb = function(streamReadable, options) {
-      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
+      return res;
     };
-    Readable2.wrap = function(src, options) {
-      var _ref, _src$readableObjectMo;
-      return new Readable2({
-        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
-        ...options,
-        destroy(err, callback) {
-          destroyImpl.destroyer(src, err);
-          callback(err);
-        }
-      }).wrap(src);
+    Decoder.prototype.reset = function() {
+      this.buffer = void 0;
     };
+    module2.exports = Decoder;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/writable.js
-var require_writable = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeSlice,
-      Error: Error2,
-      FunctionPrototypeSymbolHasInstance,
-      ObjectDefineProperty,
-      ObjectDefineProperties,
-      ObjectSetPrototypeOf,
-      StringPrototypeToLowerCase,
-      Symbol: Symbol2,
-      SymbolHasInstance
-    } = require_primordials();
-    module2.exports = Writable;
-    Writable.WritableState = WritableState;
-    var { EventEmitter: EE } = require("events");
-    var Stream = require_legacy().Stream;
-    var { Buffer: Buffer2 } = require("buffer");
-    var destroyImpl = require_destroy2();
-    var { addAbortSignal } = require_add_abort_signal();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-      ERR_METHOD_NOT_IMPLEMENTED,
-      ERR_MULTIPLE_CALLBACK,
-      ERR_STREAM_CANNOT_PIPE,
-      ERR_STREAM_DESTROYED,
-      ERR_STREAM_ALREADY_FINISHED,
-      ERR_STREAM_NULL_VALUES,
-      ERR_STREAM_WRITE_AFTER_END,
-      ERR_UNKNOWN_ENCODING
-    } = require_errors5().codes;
-    var { errorOrDestroy } = destroyImpl;
-    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Writable, Stream);
-    function nop() {
-    }
-    var kOnFinished = Symbol2("kOnFinished");
-    function WritableState(options, stream2, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream2 instanceof require_duplex();
-      this.objectMode = !!(options && options.objectMode);
-      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
-      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      const noDecode = !!(options && options.decodeStrings === false);
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = onwrite.bind(void 0, stream2);
-      this.writecb = null;
-      this.writelen = 0;
-      this.afterWriteTickInfo = null;
-      resetBuffer(this);
-      this.pendingcb = 0;
-      this.constructed = true;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.emitClose = !options || options.emitClose !== false;
-      this.autoDestroy = !options || options.autoDestroy !== false;
-      this.errored = null;
-      this.closed = false;
-      this.closeEmitted = false;
-      this[kOnFinished] = [];
-    }
-    function resetBuffer(state) {
-      state.buffered = [];
-      state.bufferedIndex = 0;
-      state.allBuffers = true;
-      state.allNoop = true;
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
-    };
-    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
-      __proto__: null,
-      get() {
-        return this.buffered.length - this.bufferedIndex;
+// node_modules/@fastify/busboy/lib/types/urlencoded.js
+var require_urlencoded = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
+    "use strict";
+    var Decoder = require_Decoder();
+    var decodeText = require_decodeText();
+    var getLimit = require_getLimit();
+    var RE_CHARSET = /^charset$/i;
+    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
+    function UrlEncoded(boy, cfg) {
+      const limits = cfg.limits;
+      const parsedConType = cfg.parsedConType;
+      this.boy = boy;
+      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
+      this.fieldsLimit = getLimit(limits, "fields", Infinity);
+      let charset;
+      for (var i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
+          charset = parsedConType[i][1].toLowerCase();
+          break;
+        }
       }
-    });
-    function Writable(options) {
-      const isDuplex = this instanceof require_duplex();
-      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
-      this._writableState = new WritableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal) addAbortSignal(options.signal, this);
+      if (charset === void 0) {
+        charset = cfg.defCharset || "utf8";
       }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        const state = this._writableState;
-        if (!state.writing) {
-          clearBuffer(this, state);
-        }
-        finishMaybe(this, state);
-      });
+      this.decoder = new Decoder();
+      this.charset = charset;
+      this._fields = 0;
+      this._state = "key";
+      this._checkingBytes = true;
+      this._bytesKey = 0;
+      this._bytesVal = 0;
+      this._key = "";
+      this._val = "";
+      this._keyTrunc = false;
+      this._valTrunc = false;
+      this._hitLimit = false;
     }
-    ObjectDefineProperty(Writable, SymbolHasInstance, {
-      __proto__: null,
-      value: function(object) {
-        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
-        if (this !== Writable) return false;
-        return object && object._writableState instanceof WritableState;
-      }
-    });
-    Writable.prototype.pipe = function() {
-      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
-    };
-    function _write(stream2, chunk, encoding, cb) {
-      const state = stream2._writableState;
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = state.defaultEncoding;
-      } else {
-        if (!encoding) encoding = state.defaultEncoding;
-        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-        if (typeof cb !== "function") cb = nop;
+    UrlEncoded.prototype.write = function(data, cb) {
+      if (this._fields === this.fieldsLimit) {
+        if (!this.boy.hitFieldsLimit) {
+          this.boy.hitFieldsLimit = true;
+          this.boy.emit("fieldsLimit");
+        }
+        return cb();
       }
-      if (chunk === null) {
-        throw new ERR_STREAM_NULL_VALUES();
-      } else if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          if (state.decodeStrings !== false) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "buffer";
+      let idxeq;
+      let idxamp;
+      let i;
+      let p = 0;
+      const len = data.length;
+      while (p < len) {
+        if (this._state === "key") {
+          idxeq = idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
+            }
+            if (data[i] === 61) {
+              idxeq = i;
+              break;
+            } else if (data[i] === 38) {
+              idxamp = i;
+              break;
+            }
+            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesKey;
+            }
+          }
+          if (idxeq !== void 0) {
+            if (idxeq > p) {
+              this._key += this.decoder.write(data.toString("binary", p, idxeq));
+            }
+            this._state = "val";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._val = "";
+            this._bytesVal = 0;
+            this._valTrunc = false;
+            this.decoder.reset();
+            p = idxeq + 1;
+          } else if (idxamp !== void 0) {
+            ++this._fields;
+            let key;
+            const keyTrunc = this._keyTrunc;
+            if (idxamp > p) {
+              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
+            } else {
+              key = this._key;
+            }
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            if (key.length) {
+              this.boy.emit(
+                "field",
+                decodeText(key, "binary", this.charset),
+                "",
+                keyTrunc,
+                false
+              );
+            }
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._key += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
+              this._checkingBytes = false;
+              this._keyTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._key += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
           }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "buffer";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "buffer";
         } else {
-          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+          idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
+            }
+            if (data[i] === 38) {
+              idxamp = i;
+              break;
+            }
+            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesVal;
+            }
+          }
+          if (idxamp !== void 0) {
+            ++this._fields;
+            if (idxamp > p) {
+              this._val += this.decoder.write(data.toString("binary", p, idxamp));
+            }
+            this.boy.emit(
+              "field",
+              decodeText(this._key, "binary", this.charset),
+              decodeText(this._val, "binary", this.charset),
+              this._keyTrunc,
+              this._valTrunc
+            );
+            this._state = "key";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._val += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
+              this._checkingBytes = false;
+              this._valTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._val += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
+          }
         }
       }
-      let err;
-      if (state.ending) {
-        err = new ERR_STREAM_WRITE_AFTER_END();
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("write");
+      cb();
+    };
+    UrlEncoded.prototype.end = function() {
+      if (this.boy._done) {
+        return;
       }
-      if (err) {
-        process2.nextTick(cb, err);
-        errorOrDestroy(stream2, err, true);
-        return err;
+      if (this._state === "key" && this._key.length > 0) {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          "",
+          this._keyTrunc,
+          false
+        );
+      } else if (this._state === "val") {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          decodeText(this._val, "binary", this.charset),
+          this._keyTrunc,
+          this._valTrunc
+        );
       }
-      state.pendingcb++;
-      return writeOrBuffer(stream2, state, chunk, encoding, cb);
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      return _write(this, chunk, encoding, cb) === true;
-    };
-    Writable.prototype.cork = function() {
-      this._writableState.corked++;
+      this.boy._done = true;
+      this.boy.emit("finish");
     };
-    Writable.prototype.uncork = function() {
-      const state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing) clearBuffer(this, state);
+    module2.exports = UrlEncoded;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/main.js
+var require_main = __commonJS({
+  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+    "use strict";
+    var WritableStream = require("node:stream").Writable;
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var MultipartParser = require_multipart2();
+    var UrlencodedParser = require_urlencoded();
+    var parseParams = require_parseParams();
+    function Busboy(opts) {
+      if (!(this instanceof Busboy)) {
+        return new Busboy(opts);
       }
-    };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
-      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function writeOrBuffer(stream2, state, chunk, encoding, callback) {
-      const len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      const ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked || state.errored || !state.constructed) {
-        state.buffered.push({
-          chunk,
-          encoding,
-          callback
-        });
-        if (state.allBuffers && encoding !== "buffer") {
-          state.allBuffers = false;
-        }
-        if (state.allNoop && callback !== nop) {
-          state.allNoop = false;
-        }
-      } else {
-        state.writelen = len;
-        state.writecb = callback;
-        state.writing = true;
-        state.sync = true;
-        stream2._write(chunk, encoding, state.onwrite);
-        state.sync = false;
+      if (typeof opts !== "object") {
+        throw new TypeError("Busboy expected an options-Object.");
       }
-      return ret && !state.errored && !state.destroyed;
-    }
-    function doWrite(stream2, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
-      else if (writev) stream2._writev(chunk, state.onwrite);
-      else stream2._write(chunk, encoding, state.onwrite);
-      state.sync = false;
-    }
-    function onwriteError(stream2, state, er, cb) {
-      --state.pendingcb;
-      cb(er);
-      errorBuffer(state);
-      errorOrDestroy(stream2, er);
-    }
-    function onwrite(stream2, er) {
-      const state = stream2._writableState;
-      const sync = state.sync;
-      const cb = state.writecb;
-      if (typeof cb !== "function") {
-        errorOrDestroy(stream2, new ERR_MULTIPLE_CALLBACK());
-        return;
+      if (typeof opts.headers !== "object") {
+        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
       }
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
-      if (er) {
-        er.stack;
-        if (!state.errored) {
-          state.errored = er;
-        }
-        if (stream2._readableState && !stream2._readableState.errored) {
-          stream2._readableState.errored = er;
-        }
-        if (sync) {
-          process2.nextTick(onwriteError, stream2, state, er, cb);
-        } else {
-          onwriteError(stream2, state, er, cb);
-        }
-      } else {
-        if (state.buffered.length > state.bufferedIndex) {
-          clearBuffer(stream2, state);
-        }
-        if (sync) {
-          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
-            state.afterWriteTickInfo.count++;
-          } else {
-            state.afterWriteTickInfo = {
-              count: 1,
-              cb,
-              stream: stream2,
-              state
-            };
-            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
-          }
-        } else {
-          afterWrite(stream2, state, 1, cb);
-        }
+      if (typeof opts.headers["content-type"] !== "string") {
+        throw new TypeError("Missing Content-Type-header.");
       }
+      const {
+        headers,
+        ...streamOptions
+      } = opts;
+      this.opts = {
+        autoDestroy: false,
+        ...streamOptions
+      };
+      WritableStream.call(this, this.opts);
+      this._done = false;
+      this._parser = this.getParserByHeaders(headers);
+      this._finished = false;
     }
-    function afterWriteTick({ stream: stream2, state, count, cb }) {
-      state.afterWriteTickInfo = null;
-      return afterWrite(stream2, state, count, cb);
-    }
-    function afterWrite(stream2, state, count, cb) {
-      const needDrain = !state.ending && !stream2.destroyed && state.length === 0 && state.needDrain;
-      if (needDrain) {
-        state.needDrain = false;
-        stream2.emit("drain");
+    inherits(Busboy, WritableStream);
+    Busboy.prototype.emit = function(ev) {
+      if (ev === "finish") {
+        if (!this._done) {
+          this._parser?.end();
+          return;
+        } else if (this._finished) {
+          return;
+        }
+        this._finished = true;
       }
-      while (count-- > 0) {
-        state.pendingcb--;
-        cb();
+      WritableStream.prototype.emit.apply(this, arguments);
+    };
+    Busboy.prototype.getParserByHeaders = function(headers) {
+      const parsed = parseParams(headers["content-type"]);
+      const cfg = {
+        defCharset: this.opts.defCharset,
+        fileHwm: this.opts.fileHwm,
+        headers,
+        highWaterMark: this.opts.highWaterMark,
+        isPartAFile: this.opts.isPartAFile,
+        limits: this.opts.limits,
+        parsedConType: parsed,
+        preservePath: this.opts.preservePath
+      };
+      if (MultipartParser.detect.test(parsed[0])) {
+        return new MultipartParser(this, cfg);
       }
-      if (state.destroyed) {
-        errorBuffer(state);
+      if (UrlencodedParser.detect.test(parsed[0])) {
+        return new UrlencodedParser(this, cfg);
       }
-      finishMaybe(stream2, state);
-    }
-    function errorBuffer(state) {
-      if (state.writing) {
-        return;
+      throw new Error("Unsupported Content-Type.");
+    };
+    Busboy.prototype._write = function(chunk, encoding, cb) {
+      this._parser.write(chunk, cb);
+    };
+    module2.exports = Busboy;
+    module2.exports.default = Busboy;
+    module2.exports.Busboy = Busboy;
+    module2.exports.Dicer = Dicer;
+  }
+});
+
+// node_modules/undici/lib/fetch/constants.js
+var require_constants21 = __commonJS({
+  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
+    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = [101, 204, 205, 304];
+    var redirectStatus = [301, 302, 303, 307, 308];
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = [
+      "1",
+      "7",
+      "9",
+      "11",
+      "13",
+      "15",
+      "17",
+      "19",
+      "20",
+      "21",
+      "22",
+      "23",
+      "25",
+      "37",
+      "42",
+      "43",
+      "53",
+      "69",
+      "77",
+      "79",
+      "87",
+      "95",
+      "101",
+      "102",
+      "103",
+      "104",
+      "109",
+      "110",
+      "111",
+      "113",
+      "115",
+      "117",
+      "119",
+      "123",
+      "135",
+      "137",
+      "139",
+      "143",
+      "161",
+      "179",
+      "389",
+      "427",
+      "465",
+      "512",
+      "513",
+      "514",
+      "515",
+      "526",
+      "530",
+      "531",
+      "532",
+      "540",
+      "548",
+      "554",
+      "556",
+      "563",
+      "587",
+      "601",
+      "636",
+      "989",
+      "990",
+      "993",
+      "995",
+      "1719",
+      "1720",
+      "1723",
+      "2049",
+      "3659",
+      "4045",
+      "5060",
+      "5061",
+      "6000",
+      "6566",
+      "6665",
+      "6666",
+      "6667",
+      "6668",
+      "6669",
+      "6697",
+      "10080"
+    ];
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = [
+      "",
+      "no-referrer",
+      "no-referrer-when-downgrade",
+      "same-origin",
+      "origin",
+      "strict-origin",
+      "origin-when-cross-origin",
+      "strict-origin-when-cross-origin",
+      "unsafe-url"
+    ];
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = ["follow", "manual", "error"];
+    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
+    var requestCredentials = ["omit", "same-origin", "include"];
+    var requestCache = [
+      "default",
+      "no-store",
+      "reload",
+      "no-cache",
+      "force-cache",
+      "only-if-cached"
+    ];
+    var requestBodyHeader = [
+      "content-encoding",
+      "content-language",
+      "content-location",
+      "content-type",
+      // See https://github.com/nodejs/undici/issues/2021
+      // 'Content-Length' is a forbidden header name, which is typically
+      // removed in the Headers implementation. However, undici doesn't
+      // filter out headers, so we add it here.
+      "content-length"
+    ];
+    var requestDuplex = [
+      "half"
+    ];
+    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = [
+      "audio",
+      "audioworklet",
+      "font",
+      "image",
+      "manifest",
+      "paintworklet",
+      "script",
+      "style",
+      "track",
+      "video",
+      "xslt",
+      ""
+    ];
+    var subresourceSet = new Set(subresource);
+    var DOMException2 = globalThis.DOMException ?? (() => {
+      try {
+        atob("~");
+      } catch (err) {
+        return Object.getPrototypeOf(err).constructor;
       }
-      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
-        var _state$errored;
-        const { chunk, callback } = state.buffered[n];
-        const len = state.objectMode ? 1 : chunk.length;
-        state.length -= len;
-        callback(
-          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
-        );
+    })();
+    var channel;
+    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
+    // structuredClone was added in v17.0.0, but fetch supports v16.8
+    function structuredClone2(value, options = void 0) {
+      if (arguments.length === 0) {
+        throw new TypeError("missing argument");
       }
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        var _state$errored2;
-        onfinishCallbacks[i](
-          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
-        );
+      if (!channel) {
+        channel = new MessageChannel();
       }
-      resetBuffer(state);
+      channel.port1.unref();
+      channel.port2.unref();
+      channel.port1.postMessage(value, options?.transfer);
+      return receiveMessageOnPort(channel.port2).message;
+    };
+    module2.exports = {
+      DOMException: DOMException2,
+      structuredClone,
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/global.js
+var require_global5 = __commonJS({
+  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    function clearBuffer(stream2, state) {
-      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
-        return;
-      }
-      const { buffered, bufferedIndex, objectMode } = state;
-      const bufferedLength = buffered.length - bufferedIndex;
-      if (!bufferedLength) {
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
         return;
       }
-      let i = bufferedIndex;
-      state.bufferProcessing = true;
-      if (bufferedLength > 1 && stream2._writev) {
-        state.pendingcb -= bufferedLength - 1;
-        const callback = state.allNoop ? nop : (err) => {
-          for (let n = i; n < buffered.length; ++n) {
-            buffered[n].callback(err);
-          }
-        };
-        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
-        chunks.allBuffers = state.allBuffers;
-        doWrite(stream2, state, true, state.length, chunks, "", callback);
-        resetBuffer(state);
-      } else {
-        do {
-          const { chunk, encoding, callback } = buffered[i];
-          buffered[i++] = null;
-          const len = objectMode ? 1 : chunk.length;
-          doWrite(stream2, state, false, len, chunk, encoding, callback);
-        } while (i < buffered.length && !state.writing);
-        if (i === buffered.length) {
-          resetBuffer(state);
-        } else if (i > 256) {
-          buffered.splice(0, i);
-          state.bufferedIndex = 0;
-        } else {
-          state.bufferedIndex = i;
-        }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
       }
-      state.bufferProcessing = false;
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
     }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      if (this._writev) {
-        this._writev(
-          [
-            {
-              chunk,
-              encoding
-            }
-          ],
-          cb
-        );
-      } else {
-        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
-      }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
     };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      const state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      let err;
-      if (chunk !== null && chunk !== void 0) {
-        const ret = _write(this, chunk, encoding);
-        if (ret instanceof Error2) {
-          err = ret;
-        }
+  }
+});
+
+// node_modules/undici/lib/fetch/util.js
+var require_util25 = __commonJS({
+  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants21();
+    var { getGlobalOrigin } = require_global5();
+    var { performance: performance3 } = require("perf_hooks");
+    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util24();
+    var assert = require("assert");
+    var { isUint8Array } = require("util/types");
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
       }
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
+      let location = response.headersList.get("location");
+      if (location !== null && isValidHeaderValue(location)) {
+        location = new URL(location, responseURL(response));
       }
-      if (err) {
-      } else if (!state.errored && !state.ending) {
-        state.ending = true;
-        finishMaybe(this, state, true);
-        state.ended = true;
-      } else if (state.finished) {
-        err = new ERR_STREAM_ALREADY_FINISHED("end");
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("end");
+      if (location && !location.hash) {
+        location.hash = requestFragment;
       }
-      if (typeof cb === "function") {
-        if (err || state.finished) {
-          process2.nextTick(cb, err);
-        } else {
-          state[kOnFinished].push(cb);
-        }
+      return location;
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url2 = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
+        return "blocked";
       }
-      return this;
-    };
-    function needFinish(state) {
-      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
+      return "allowed";
     }
-    function callFinal(stream2, state) {
-      let called = false;
-      function onFinish(err) {
-        if (called) {
-          errorOrDestroy(stream2, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
-          return;
-        }
-        called = true;
-        state.pendingcb--;
-        if (err) {
-          const onfinishCallbacks = state[kOnFinished].splice(0);
-          for (let i = 0; i < onfinishCallbacks.length; i++) {
-            onfinishCallbacks[i](err);
-          }
-          errorOrDestroy(stream2, err, state.sync);
-        } else if (needFinish(state)) {
-          state.prefinished = true;
-          stream2.emit("prefinish");
-          state.pendingcb++;
-          process2.nextTick(finish, stream2, state);
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
         }
       }
-      state.sync = true;
-      state.pendingcb++;
-      try {
-        stream2._final(onFinish);
-      } catch (err) {
-        onFinish(err);
-      }
-      state.sync = false;
+      return true;
     }
-    function prefinish(stream2, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream2._final === "function" && !state.destroyed) {
-          state.finalCalled = true;
-          callFinal(stream2, state);
-        } else {
-          state.prefinished = true;
-          stream2.emit("prefinish");
-        }
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
       }
     }
-    function finishMaybe(stream2, state, sync) {
-      if (needFinish(state)) {
-        prefinish(stream2, state);
-        if (state.pendingcb === 0) {
-          if (sync) {
-            state.pendingcb++;
-            process2.nextTick(
-              (stream3, state2) => {
-                if (needFinish(state2)) {
-                  finish(stream3, state2);
-                } else {
-                  state2.pendingcb--;
-                }
-              },
-              stream2,
-              state
-            );
-          } else if (needFinish(state)) {
-            state.pendingcb++;
-            finish(stream2, state);
-          }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
         }
       }
+      return true;
     }
-    function finish(stream2, state) {
-      state.pendingcb--;
-      state.finished = true;
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        onfinishCallbacks[i]();
+    function isValidHeaderName(potentialValue) {
+      return isValidHTTPToken(potentialValue);
+    }
+    function isValidHeaderValue(potentialValue) {
+      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
+        return false;
       }
-      stream2.emit("finish");
-      if (state.autoDestroy) {
-        const rState = stream2._readableState;
-        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
-        // if readable is explicitly set to false.
-        (rState.endEmitted || rState.readable === false);
-        if (autoDestroy) {
-          stream2.destroy();
-        }
+      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
+        return false;
       }
+      return true;
     }
-    ObjectDefineProperties(Writable.prototype, {
-      closed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.closed : false;
-        }
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.destroyed : false;
-        },
-        set(value) {
-          if (this._writableState) {
-            this._writableState.destroyed = value;
-          }
-        }
-      },
-      writable: {
-        __proto__: null,
-        get() {
-          const w = this._writableState;
-          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
-        },
-        set(val) {
-          if (this._writableState) {
-            this._writableState.writable = !!val;
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
           }
         }
-      },
-      writableFinished: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.finished : false;
-        }
-      },
-      writableObjectMode: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.objectMode : false;
-        }
-      },
-      writableBuffer: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.getBuffer();
-        }
-      },
-      writableEnded: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.ending : false;
-        }
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        get() {
-          const wState = this._writableState;
-          if (!wState) return false;
-          return !wState.destroyed && !wState.ending && wState.needDrain;
-        }
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.highWaterMark;
-        }
-      },
-      writableCorked: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.corked : 0;
-        }
-      },
-      writableLength: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.length;
+      }
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
+      }
+    }
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
         }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._writableState ? this._writableState.errored : null;
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
         }
-      },
-      writableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
         }
       }
-    });
-    var destroy = destroyImpl.destroy;
-    Writable.prototype.destroy = function(err, cb) {
-      const state = this._writableState;
-      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
-        process2.nextTick(errorBuffer, state);
-      }
-      destroy.call(this, err, cb);
-      return this;
-    };
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
     }
-    Writable.fromWeb = function(writableStream, options) {
-      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
-    };
-    Writable.toWeb = function(streamWritable) {
-      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/duplexify.js
-var require_duplexify = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
-    var process2 = require_process();
-    var bufferModule = require("buffer");
-    var {
-      isReadable,
-      isWritable,
-      isIterable,
-      isNodeStream,
-      isReadableNodeStream,
-      isWritableNodeStream,
-      isDuplexNodeStream,
-      isReadableStream,
-      isWritableStream
-    } = require_utils8();
-    var eos = require_end_of_stream();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
-    } = require_errors5();
-    var { destroyer } = require_destroy2();
-    var Duplex = require_duplex();
-    var Readable2 = require_readable4();
-    var Writable = require_writable();
-    var { createDeferredPromise } = require_util20();
-    var from = require_from();
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
-    };
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var { FunctionPrototypeCall } = require_primordials();
-    var Duplexify = class extends Duplex {
-      constructor(options) {
-        super(options);
-        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
-        }
-        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return performance3.now();
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
+      };
+    }
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
+      };
+    }
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
+      };
+    }
+    function determineRequestsReferrer(request2) {
+      const policy = request2.referrerPolicy;
+      assert(policy);
+      let referrerSource = null;
+      if (request2.referrer === "client") {
+        const globalOrigin = getGlobalOrigin();
+        if (!globalOrigin || globalOrigin.origin === "null") {
+          return "no-referrer";
         }
+        referrerSource = new URL(globalOrigin);
+      } else if (request2.referrer instanceof URL) {
+        referrerSource = request2.referrer;
       }
-    };
-    module2.exports = function duplexify(body, name) {
-      if (isDuplexNodeStream(body)) {
-        return body;
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
       }
-      if (isReadableNodeStream(body)) {
-        return _duplexify({
-          readable: body
-        });
+      const areSameOrigin = sameOrigin(request2, referrerURL);
+      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
+      switch (policy) {
+        case "origin":
+          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
+        case "unsafe-url":
+          return referrerURL;
+        case "same-origin":
+          return areSameOrigin ? referrerOrigin : "no-referrer";
+        case "origin-when-cross-origin":
+          return areSameOrigin ? referrerURL : referrerOrigin;
+        case "strict-origin-when-cross-origin": {
+          const currentURL = requestCurrentURL(request2);
+          if (sameOrigin(referrerURL, currentURL)) {
+            return referrerURL;
+          }
+          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
+            return "no-referrer";
+          }
+          return referrerOrigin;
+        }
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
       }
-      if (isWritableNodeStream(body)) {
-        return _duplexify({
-          writable: body
-        });
+    }
+    function stripURLForReferrer(url2, originOnly) {
+      assert(url2 instanceof URL);
+      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
+        return "no-referrer";
       }
-      if (isNodeStream(body)) {
-        return _duplexify({
-          writable: false,
-          readable: false
-        });
+      url2.username = "";
+      url2.password = "";
+      url2.hash = "";
+      if (originOnly) {
+        url2.pathname = "";
+        url2.search = "";
       }
-      if (isReadableStream(body)) {
-        return _duplexify({
-          readable: Readable2.fromWeb(body)
-        });
+      return url2;
+    }
+    function isURLPotentiallyTrustworthy(url2) {
+      if (!(url2 instanceof URL)) {
+        return false;
       }
-      if (isWritableStream(body)) {
-        return _duplexify({
-          writable: Writable.fromWeb(body)
-        });
+      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
+        return true;
       }
-      if (typeof body === "function") {
-        const { value, write, final, destroy } = fromAsyncGen(body);
-        if (isIterable(value)) {
-          return from(Duplexify, value, {
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            write,
-            final,
-            destroy
-          });
+      if (url2.protocol === "data:") return true;
+      if (url2.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url2.origin);
+      function isOriginPotentiallyTrustworthy(origin) {
+        if (origin == null || origin === "null") return false;
+        const originAsURL = new URL(origin);
+        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
+          return true;
         }
-        const then2 = value === null || value === void 0 ? void 0 : value.then;
-        if (typeof then2 === "function") {
-          let d;
-          const promise = FunctionPrototypeCall(
-            then2,
-            value,
-            (val) => {
-              if (val != null) {
-                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
-              }
-            },
-            (err) => {
-              destroyer(d, err);
-            }
-          );
-          return d = new Duplexify({
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            readable: false,
-            write,
-            final(cb) {
-              final(async () => {
-                try {
-                  await promise;
-                  process2.nextTick(cb, null);
-                } catch (err) {
-                  process2.nextTick(cb, err);
-                }
-              });
-            },
-            destroy
-          });
+        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
+          return true;
         }
-        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
-      }
-      if (isBlob(body)) {
-        return duplexify(body.arrayBuffer());
-      }
-      if (isIterable(body)) {
-        return from(Duplexify, body, {
-          // TODO (ronag): highWaterMark?
-          objectMode: true,
-          writable: false
-        });
+        return false;
       }
-      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
-        return Duplexify.fromWeb(body);
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto2 === void 0) {
+        return true;
       }
-      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
-        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
-        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
-        return _duplexify({
-          readable,
-          writable
-        });
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
       }
-      const then = body === null || body === void 0 ? void 0 : body.then;
-      if (typeof then === "function") {
-        let d;
-        FunctionPrototypeCall(
-          then,
-          body,
-          (val) => {
-            if (val != null) {
-              d.push(val);
-            }
-            d.push(null);
-          },
-          (err) => {
-            destroyer(d, err);
-          }
-        );
-        return d = new Duplexify({
-          objectMode: true,
-          writable: false,
-          read() {
-          }
-        });
+      if (parsedMetadata.length === 0) {
+        return true;
       }
-      throw new ERR_INVALID_ARG_TYPE2(
-        name,
-        [
-          "Blob",
-          "ReadableStream",
-          "WritableStream",
-          "Stream",
-          "Iterable",
-          "AsyncIterable",
-          "Function",
-          "{ readable, writable } pair",
-          "Promise"
-        ],
-        body
-      );
-    };
-    function fromAsyncGen(fn) {
-      let { promise, resolve: resolve8 } = createDeferredPromise();
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const value = fn(
-        (async function* () {
-          while (true) {
-            const _promise = promise;
-            promise = null;
-            const { chunk, done, cb } = await _promise;
-            process2.nextTick(cb);
-            if (done) return;
-            if (signal.aborted)
-              throw new AbortError(void 0, {
-                cause: signal.reason
-              });
-            ({ promise, resolve: resolve8 } = createDeferredPromise());
-            yield chunk;
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
+          } else {
+            actualValue = actualValue.slice(0, -1);
           }
-        })(),
-        {
-          signal
         }
-      );
-      return {
-        value,
-        write(chunk, encoding, cb) {
-          const _resolve = resolve8;
-          resolve8 = null;
-          _resolve({
-            chunk,
-            done: false,
-            cb
-          });
-        },
-        final(cb) {
-          const _resolve = resolve8;
-          resolve8 = null;
-          _resolve({
-            done: true,
-            cb
-          });
-        },
-        destroy(err, cb) {
-          ac.abort();
-          cb(err);
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
         }
-      };
+      }
+      return false;
     }
-    function _duplexify(pair) {
-      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable2.wrap(pair.readable) : pair.readable;
-      const w = pair.writable;
-      let readable = !!isReadable(r);
-      let writable = !!isWritable(w);
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
+    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
+    function parseMetadata(metadata) {
+      const result = [];
+      let empty = true;
+      for (const token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
+          continue;
+        }
+        const algorithm = parsedToken.groups.algo.toLowerCase();
+        if (supportedHashes.includes(algorithm)) {
+          result.push(parsedToken.groups);
         }
       }
-      d = new Duplexify({
-        // TODO (ronag): highWaterMark?
-        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
-        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
-        readable,
-        writable
-      });
-      if (writable) {
-        eos(w, (err) => {
-          writable = false;
-          if (err) {
-            destroyer(r, err);
-          }
-          onfinished(err);
-        });
-        d._write = function(chunk, encoding, callback) {
-          if (w.write(chunk, encoding)) {
-            callback();
-          } else {
-            ondrain = callback;
-          }
-        };
-        d._final = function(callback) {
-          w.end();
-          onfinish = callback;
-        };
-        w.on("drain", function() {
-          if (ondrain) {
-            const cb = ondrain;
-            ondrain = null;
-            cb();
-          }
-        });
-        w.on("finish", function() {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
-          }
-        });
+      if (empty === true) {
+        return "no metadata";
       }
-      if (readable) {
-        eos(r, (err) => {
-          readable = false;
-          if (err) {
-            destroyer(r, err);
-          }
-          onfinished(err);
-        });
-        r.on("readable", function() {
-          if (onreadable) {
-            const cb = onreadable;
-            onreadable = null;
-            cb();
-          }
-        });
-        r.on("end", function() {
-          d.push(null);
-        });
-        d._read = function() {
-          while (true) {
-            const buf = r.read();
-            if (buf === null) {
-              onreadable = d._read;
-              return;
-            }
-            if (!d.push(buf)) {
-              return;
-            }
-          }
-        };
+      return result;
+    }
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
       }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          destroyer(w, err);
-          destroyer(r, err);
+      for (let i = 1; i < metadataList.length; ++i) {
+        const metadata = metadataList[i];
+        if (metadata.algo[3] === "5") {
+          algorithm = "sha512";
+          break;
+        } else if (algorithm[3] === "3") {
+          continue;
+        } else if (metadata.algo[3] === "3") {
+          algorithm = "sha384";
         }
-      };
-      return d;
-    }
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/duplex.js
-var require_duplex = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
-    "use strict";
-    var {
-      ObjectDefineProperties,
-      ObjectGetOwnPropertyDescriptor,
-      ObjectKeys,
-      ObjectSetPrototypeOf
-    } = require_primordials();
-    module2.exports = Duplex;
-    var Readable2 = require_readable4();
-    var Writable = require_writable();
-    ObjectSetPrototypeOf(Duplex.prototype, Readable2.prototype);
-    ObjectSetPrototypeOf(Duplex, Readable2);
-    {
-      const keys = ObjectKeys(Writable.prototype);
-      for (let i = 0; i < keys.length; i++) {
-        const method = keys[i];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
       }
+      return algorithm;
     }
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable2.call(this, options);
-      Writable.call(this, options);
-      if (options) {
-        this.allowHalfOpen = options.allowHalfOpen !== false;
-        if (options.readable === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
+    function filterMetadataListByAlgorithm(metadataList, algorithm) {
+      if (metadataList.length === 1) {
+        return metadataList;
+      }
+      let pos = 0;
+      for (let i = 0; i < metadataList.length; ++i) {
+        if (metadataList[i].algo === algorithm) {
+          metadataList[pos++] = metadataList[i];
         }
-        if (options.writable === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
+      }
+      metadataList.length = pos;
+      return metadataList;
+    }
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
+        return false;
+      }
+      for (let i = 0; i < actualValue.length; ++i) {
+        if (actualValue[i] !== expectedValue[i]) {
+          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
+            continue;
+          }
+          return false;
         }
-      } else {
-        this.allowHalfOpen = true;
       }
+      return true;
     }
-    ObjectDefineProperties(Duplex.prototype, {
-      writable: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
-      },
-      writableObjectMode: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
-      },
-      writableBuffer: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
-      },
-      writableLength: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
-      },
-      writableFinished: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
-      },
-      writableCorked: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
-      },
-      writableEnded: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          if (this._readableState === void 0 || this._writableState === void 0) {
-            return false;
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
+    }
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
+      }
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
+      }
+      return false;
+    }
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve8, reject) => {
+        res = resolve8;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    var normalizeMethodRecord = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    Object.setPrototypeOf(normalizeMethodRecord, null);
+    function normalizeMethod(method) {
+      return normalizeMethodRecord[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function makeIterator(iterator2, name, kind) {
+      const object = {
+        index: 0,
+        kind,
+        target: iterator2
+      };
+      const i = {
+        next() {
+          if (Object.getPrototypeOf(this) !== i) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
           }
-          return this._readableState.destroyed && this._writableState.destroyed;
-        },
-        set(value) {
-          if (this._readableState && this._writableState) {
-            this._readableState.destroyed = value;
-            this._writableState.destroyed = value;
+          const { index, kind: kind2, target } = object;
+          const values = target();
+          const len = values.length;
+          if (index >= len) {
+            return { value: void 0, done: true };
           }
+          const pair = values[index];
+          object.index = index + 1;
+          return iteratorResult(pair, kind2);
+        },
+        // The class string of an iterator prototype object for a given interface is the
+        // result of concatenating the identifier of the interface and the string " Iterator".
+        [Symbol.toStringTag]: `${name} Iterator`
+      };
+      Object.setPrototypeOf(i, esIteratorPrototype);
+      return Object.setPrototypeOf({}, i);
+    }
+    function iteratorResult(pair, kind) {
+      let result;
+      switch (kind) {
+        case "key": {
+          result = pair[0];
+          break;
+        }
+        case "value": {
+          result = pair[1];
+          break;
+        }
+        case "key+value": {
+          result = pair;
+          break;
         }
       }
-    });
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
+      return { value: result, done: false };
     }
-    Duplex.fromWeb = function(pair, options) {
-      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
-    };
-    Duplex.toWeb = function(duplex) {
-      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
-    };
-    var duplexify;
-    Duplex.from = function(body) {
-      if (!duplexify) {
-        duplexify = require_duplexify();
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
       }
-      return duplexify(body, "body");
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/transform.js
-var require_transform = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
-    "use strict";
-    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
-    module2.exports = Transform;
-    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors5().codes;
-    var Duplex = require_duplex();
-    var { getHighWaterMark } = require_state3();
-    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
-    ObjectSetPrototypeOf(Transform, Duplex);
-    var kCallback = Symbol2("kCallback");
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
-      if (readableHighWaterMark === 0) {
-        options = {
-          ...options,
-          highWaterMark: null,
-          readableHighWaterMark,
-          // TODO (ronag): 0 is not optimal since we have
-          // a "bug" where we check needDrain before calling _write and not after.
-          // Refs: https://github.com/nodejs/node/pull/32887
-          // Refs: https://github.com/nodejs/node/pull/35941
-          writableHighWaterMark: options.writableHighWaterMark || 0
-        };
+      try {
+        const result = await readAllBytes(reader);
+        successSteps(result);
+      } catch (e) {
+        errorSteps(e);
       }
-      Duplex.call(this, options);
-      this._readableState.sync = false;
-      this[kCallback] = null;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
+    }
+    var ReadableStream2 = globalThis.ReadableStream;
+    function isReadableStreamLike(stream2) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      this.on("prefinish", prefinish);
+      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
     }
-    function final(cb) {
-      if (typeof this._flush === "function" && !this.destroyed) {
-        this._flush((er, data) => {
-          if (er) {
-            if (cb) {
-              cb(er);
-            } else {
-              this.destroy(er);
-            }
-            return;
-          }
-          if (data != null) {
-            this.push(data);
-          }
-          this.push(null);
-          if (cb) {
-            cb();
-          }
-        });
-      } else {
-        this.push(null);
-        if (cb) {
-          cb();
+    var MAXIMUM_ARGUMENT_LENGTH = 65535;
+    function isomorphicDecode(input) {
+      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
+        return String.fromCharCode(...input);
+      }
+      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed")) {
+          throw err;
         }
       }
     }
-    function prefinish() {
-      if (this._final !== final) {
-        final.call(this);
+    function isomorphicEncode(input) {
+      for (let i = 0; i < input.length; i++) {
+        assert(input.charCodeAt(i) <= 255);
       }
+      return input;
     }
-    Transform.prototype._final = final;
-    Transform.prototype._transform = function(chunk, encoding, callback) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
-    };
-    Transform.prototype._write = function(chunk, encoding, callback) {
-      const rState = this._readableState;
-      const wState = this._writableState;
-      const length = rState.length;
-      this._transform(chunk, encoding, (err, val) => {
-        if (err) {
-          callback(err);
-          return;
-        }
-        if (val != null) {
-          this.push(val);
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
         }
-        if (wState.ended || // Backwards compat.
-        length === rState.length || // Backwards compat.
-        rState.length < rState.highWaterMark) {
-          callback();
-        } else {
-          this[kCallback] = callback;
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
         }
-      });
-    };
-    Transform.prototype._read = function() {
-      if (this[kCallback]) {
-        const callback = this[kCallback];
-        this[kCallback] = null;
-        callback();
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
+    }
+    function urlIsLocal(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url2) {
+      if (typeof url2 === "string") {
+        return url2.startsWith("https:");
       }
+      return url2.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      toUSVString,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      hasOwn,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      isomorphicDecode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      normalizeMethodRecord,
+      parseMetadata
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/passthrough.js
-var require_passthrough2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/symbols.js
+var require_symbols12 = __commonJS({
+  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
     "use strict";
-    var { ObjectSetPrototypeOf } = require_primordials();
-    module2.exports = PassThrough;
-    var Transform = require_transform();
-    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
-    ObjectSetPrototypeOf(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kGuard: /* @__PURE__ */ Symbol("guard"),
+      kRealm: /* @__PURE__ */ Symbol("realm")
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/pipeline.js
-var require_pipeline4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
-    var process2 = require_process();
-    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
-    var eos = require_end_of_stream();
-    var { once } = require_util20();
-    var destroyImpl = require_destroy2();
-    var Duplex = require_duplex();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_INVALID_RETURN_VALUE,
-        ERR_MISSING_ARGS,
-        ERR_STREAM_DESTROYED,
-        ERR_STREAM_PREMATURE_CLOSE
-      },
-      AbortError
-    } = require_errors5();
-    var { validateFunction, validateAbortSignal } = require_validators();
-    var {
-      isIterable,
-      isReadable,
-      isReadableNodeStream,
-      isNodeStream,
-      isTransformStream,
-      isWebStream,
-      isReadableStream,
-      isReadableFinished
-    } = require_utils8();
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var PassThrough;
-    var Readable2;
-    var addAbortListener;
-    function destroyer(stream2, reading, writing) {
-      let finished = false;
-      stream2.on("close", () => {
-        finished = true;
+// node_modules/undici/lib/fetch/webidl.js
+var require_webidl3 = __commonJS({
+  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types } = require("util");
+    var { hasOwn, toUSVString } = require_util25();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context3) {
+      const plural = context3.types.length === 1 ? "" : " one of";
+      const message = `${context3.argument} could not be converted to${plural}: ${context3.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context3.prefix,
+        message
       });
-      const cleanup = eos(
-        stream2,
-        {
-          readable: reading,
-          writable: writing
-        },
-        (err) => {
-          finished = !err;
-        }
-      );
-      return {
-        destroy: (err) => {
-          if (finished) return;
-          finished = true;
-          destroyImpl.destroyer(stream2, err || new ERR_STREAM_DESTROYED("pipe"));
-        },
-        cleanup
-      };
-    }
-    function popCallback(streams) {
-      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
-      return streams.pop();
-    }
-    function makeAsyncIterable(val) {
-      if (isIterable(val)) {
-        return val;
-      } else if (isReadableNodeStream(val)) {
-        return fromReadable(val);
+    };
+    webidl.errors.invalidArgument = function(context3) {
+      return webidl.errors.exception({
+        header: context3.prefix,
+        message: `"${context3.value}" is an invalid ${context3.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts = void 0) {
+      if (opts?.strict !== false && !(V instanceof I)) {
+        throw new TypeError("Illegal invocation");
+      } else {
+        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
       }
-      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
-    }
-    async function* fromReadable(val) {
-      if (!Readable2) {
-        Readable2 = require_readable4();
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          ...ctx
+        });
       }
-      yield* Readable2.prototype[SymbolAsyncIterator].call(val);
-    }
-    async function pumpToNode(iterable, writable, finish, { end }) {
-      let error3;
-      let onresolve = null;
-      const resume = (err) => {
-        if (err) {
-          error3 = err;
-        }
-        if (onresolve) {
-          const callback = onresolve;
-          onresolve = null;
-          callback();
-        }
-      };
-      const wait = () => new Promise2((resolve8, reject) => {
-        if (error3) {
-          reject(error3);
-        } else {
-          onresolve = () => {
-            if (error3) {
-              reject(error3);
-            } else {
-              resolve8();
-            }
-          };
-        }
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
       });
-      writable.on("drain", resume);
-      const cleanup = eos(
-        writable,
-        {
-          readable: false
-        },
-        resume
-      );
-      try {
-        if (writable.writableNeedDrain) {
-          await wait();
-        }
-        for await (const chunk of iterable) {
-          if (!writable.write(chunk)) {
-            await wait();
+    };
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
           }
+          return "Object";
         }
-        if (end) {
-          writable.end();
-          await wait();
+      }
+    };
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
         }
-        finish();
-      } catch (err) {
-        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
-      } finally {
-        cleanup();
-        writable.off("drain", resume);
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
       }
-    }
-    async function pumpToWeb(readable, writable, finish, { end }) {
-      if (isTransformStream(writable)) {
-        writable = writable.writable;
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
       }
-      const writer = writable.getWriter();
-      try {
-        for await (const chunk of readable) {
-          await writer.ready;
-          writer.write(chunk).catch(() => {
+      if (opts.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${V} to an integer.`
           });
         }
-        await writer.ready;
-        if (end) {
-          await writer.close();
-        }
-        finish();
-      } catch (err) {
-        try {
-          await writer.abort(err);
-          finish(err);
-        } catch (err2) {
-          finish(err2);
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
         }
+        return x;
       }
-    }
-    function pipeline(...streams) {
-      return pipelineImpl(streams, once(popCallback(streams)));
-    }
-    function pipelineImpl(streams, callback, opts) {
-      if (streams.length === 1 && ArrayIsArray(streams[0])) {
-        streams = streams[0];
-      }
-      if (streams.length < 2) {
-        throw new ERR_MISSING_ARGS("streams");
+      if (!Number.isNaN(x) && opts.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
       }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
-      const lastStreamCleanup = [];
-      validateAbortSignal(outerSignal, "options.signal");
-      function abort() {
-        finishImpl(new AbortError());
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
       }
-      addAbortListener = addAbortListener || require_util20().addAbortListener;
-      let disposable;
-      if (outerSignal) {
-        disposable = addAbortListener(outerSignal, abort);
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
       }
-      let error3;
-      let value;
-      const destroys = [];
-      let finishCount = 0;
-      function finish(err) {
-        finishImpl(err, --finishCount === 0);
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
       }
-      function finishImpl(err, final) {
-        var _disposable;
-        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
-          error3 = err;
-        }
-        if (!error3 && !final) {
-          return;
-        }
-        while (destroys.length) {
-          destroys.shift()(error3);
+      return r;
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
+          });
         }
-        ;
-        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
-        ac.abort();
-        if (final) {
-          if (!error3) {
-            lastStreamCleanup.forEach((fn) => fn());
-          }
-          process2.nextTick(callback, error3, value);
+        const method = V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: "Object is not an iterator."
+          });
         }
-      }
-      let ret;
-      for (let i = 0; i < streams.length; i++) {
-        const stream2 = streams[i];
-        const reading = i < streams.length - 1;
-        const writing = i > 0;
-        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
-        const isLastStream = i === streams.length - 1;
-        if (isNodeStream(stream2)) {
-          let onError2 = function(err) {
-            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
-              finish(err);
-            }
-          };
-          var onError = onError2;
-          if (end) {
-            const { destroy, cleanup } = destroyer(stream2, reading, writing);
-            destroys.push(destroy);
-            if (isReadable(stream2) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
-            }
-          }
-          stream2.on("error", onError2);
-          if (isReadable(stream2) && isLastStream) {
-            lastStreamCleanup.push(() => {
-              stream2.removeListener("error", onError2);
-            });
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
           }
+          seq2.push(converter(value));
         }
-        if (i === 0) {
-          if (typeof stream2 === "function") {
-            ret = stream2({
-              signal
-            });
-            if (!isIterable(ret)) {
-              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
-            }
-          } else if (isIterable(stream2) || isReadableNodeStream(stream2) || isTransformStream(stream2)) {
-            ret = stream2;
-          } else {
-            ret = Duplex.from(stream2);
-          }
-        } else if (typeof stream2 === "function") {
-          if (isTransformStream(ret)) {
-            var _ret;
-            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
-          } else {
-            ret = makeAsyncIterable(ret);
-          }
-          ret = stream2(ret, {
-            signal
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Record",
+            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
           });
-          if (reading) {
-            if (!isIterable(ret, true)) {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
-            }
-          } else {
-            var _ret2;
-            if (!PassThrough) {
-              PassThrough = require_passthrough2();
-            }
-            const pt = new PassThrough({
-              objectMode: true
-            });
-            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
-            if (typeof then === "function") {
-              finishCount++;
-              then.call(
-                ret,
-                (val) => {
-                  value = val;
-                  if (val != null) {
-                    pt.write(val);
-                  }
-                  if (end) {
-                    pt.end();
-                  }
-                  process2.nextTick(finish);
-                },
-                (err) => {
-                  pt.destroy(err);
-                  process2.nextTick(finish, err);
-                }
-              );
-            } else if (isIterable(ret, true)) {
-              finishCount++;
-              pumpToNode(ret, pt, finish, {
-                end
-              });
-            } else if (isReadableStream(ret) || isTransformStream(ret)) {
-              const toRead = ret.readable || ret;
-              finishCount++;
-              pumpToNode(toRead, pt, finish, {
-                end
-              });
-            } else {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
-            }
-            ret = pt;
-            const { destroy, cleanup } = destroyer(ret, false, true);
-            destroys.push(destroy);
-            if (isLastStream) {
-              lastStreamCleanup.push(cleanup);
-            }
-          }
-        } else if (isNodeStream(stream2)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount += 2;
-            const cleanup = pipe(ret, stream2, finish, {
-              end
-            });
-            if (isReadable(stream2) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
-            }
-          } else if (isTransformStream(ret) || isReadableStream(ret)) {
-            const toRead = ret.readable || ret;
-            finishCount++;
-            pumpToNode(toRead, stream2, finish, {
-              end
-            });
-          } else if (isIterable(ret)) {
-            finishCount++;
-            pumpToNode(ret, stream2, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
-            );
-          }
-          ret = stream2;
-        } else if (isWebStream(stream2)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount++;
-            pumpToWeb(makeAsyncIterable(ret), stream2, finish, {
-              end
-            });
-          } else if (isReadableStream(ret) || isIterable(ret)) {
-            finishCount++;
-            pumpToWeb(ret, stream2, finish, {
-              end
-            });
-          } else if (isTransformStream(ret)) {
-            finishCount++;
-            pumpToWeb(ret.readable, stream2, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
-            );
-          }
-          ret = stream2;
-        } else {
-          ret = Duplex.from(stream2);
-        }
-      }
-      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
-        process2.nextTick(abort);
-      }
-      return ret;
-    }
-    function pipe(src, dst, finish, { end }) {
-      let ended = false;
-      dst.on("close", () => {
-        if (!ended) {
-          finish(new ERR_STREAM_PREMATURE_CLOSE());
         }
-      });
-      src.pipe(dst, {
-        end: false
-      });
-      if (end) {
-        let endFn2 = function() {
-          ended = true;
-          dst.end();
-        };
-        var endFn = endFn2;
-        if (isReadableFinished(src)) {
-          process2.nextTick(endFn2);
-        } else {
-          src.once("end", endFn2);
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = Object.keys(O);
+          for (const key of keys2) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
+          }
+          return result;
         }
-      } else {
-        finish();
-      }
-      eos(
-        src,
-        {
-          readable: true,
-          writable: false
-        },
-        (err) => {
-          const rState = src._readableState;
-          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
-            src.once("end", finish).once("error", finish);
-          } else {
-            finish(err);
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
           }
         }
-      );
-      return eos(
-        dst,
-        {
-          readable: false,
-          writable: true
-        },
-        finish
-      );
-    }
-    module2.exports = {
-      pipelineImpl,
-      pipeline
+        return result;
+      };
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/compose.js
-var require_compose = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
-    "use strict";
-    var { pipeline } = require_pipeline4();
-    var Duplex = require_duplex();
-    var { destroyer } = require_destroy2();
-    var {
-      isNodeStream,
-      isReadable,
-      isWritable,
-      isWebStream,
-      isTransformStream,
-      isWritableStream,
-      isReadableStream
-    } = require_utils8();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
-    } = require_errors5();
-    var eos = require_end_of_stream();
-    module2.exports = function compose(...streams) {
-      if (streams.length === 0) {
-        throw new ERR_MISSING_ARGS("streams");
-      }
-      if (streams.length === 1) {
-        return Duplex.from(streams[0]);
-      }
-      const orgStreams = [...streams];
-      if (typeof streams[0] === "function") {
-        streams[0] = Duplex.from(streams[0]);
-      }
-      if (typeof streams[streams.length - 1] === "function") {
-        const idx = streams.length - 1;
-        streams[idx] = Duplex.from(streams[idx]);
-      }
-      for (let n = 0; n < streams.length; ++n) {
-        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
-          continue;
-        }
-        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
-        }
-        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
-        }
-      }
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
-        } else if (!readable && !writable) {
-          d.destroy();
+    webidl.interfaceConverter = function(i) {
+      return (V, opts = {}) => {
+        if (opts.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: i.name,
+            message: `Expected ${V} to be an instance of ${i.name}.`
+          });
         }
-      }
-      const head = streams[0];
-      const tail = pipeline(streams, onfinished);
-      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
-      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
-      d = new Duplex({
-        // TODO (ronag): highWaterMark?
-        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
-        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
-        writable,
-        readable
-      });
-      if (writable) {
-        if (isNodeStream(head)) {
-          d._write = function(chunk, encoding, callback) {
-            if (head.write(chunk, encoding)) {
-              callback();
-            } else {
-              ondrain = callback;
-            }
-          };
-          d._final = function(callback) {
-            head.end();
-            onfinish = callback;
-          };
-          head.on("drain", function() {
-            if (ondrain) {
-              const cb = ondrain;
-              ondrain = null;
-              cb();
-            }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: "Dictionary",
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
           });
-        } else if (isWebStream(head)) {
-          const writable2 = isTransformStream(head) ? head.writable : head;
-          const writer = writable2.getWriter();
-          d._write = async function(chunk, encoding, callback) {
-            try {
-              await writer.ready;
-              writer.write(chunk).catch(() => {
-              });
-              callback();
-            } catch (err) {
-              callback(err);
-            }
-          };
-          d._final = async function(callback) {
-            try {
-              await writer.ready;
-              writer.close().catch(() => {
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `Missing required key "${key}".`
               });
-              onfinish = callback;
-            } catch (err) {
-              callback(err);
             }
-          };
-        }
-        const toRead = isTransformStream(tail) ? tail.readable : tail;
-        eos(toRead, () => {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
           }
-        });
-      }
-      if (readable) {
-        if (isNodeStream(tail)) {
-          tail.on("readable", function() {
-            if (onreadable) {
-              const cb = onreadable;
-              onreadable = null;
-              cb();
-            }
-          });
-          tail.on("end", function() {
-            d.push(null);
-          });
-          d._read = function() {
-            while (true) {
-              const buf = tail.read();
-              if (buf === null) {
-                onreadable = d._read;
-                return;
-              }
-              if (!d.push(buf)) {
-                return;
-              }
-            }
-          };
-        } else if (isWebStream(tail)) {
-          const readable2 = isTransformStream(tail) ? tail.readable : tail;
-          const reader = readable2.getReader();
-          d._read = async function() {
-            while (true) {
-              try {
-                const { value, done } = await reader.read();
-                if (!d.push(value)) {
-                  return;
-                }
-                if (done) {
-                  d.push(null);
-                  return;
-                }
-              } catch {
-                return;
-              }
-            }
-          };
-        }
-      }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          if (isNodeStream(tail)) {
-            destroyer(tail, err);
+          let value = dictionary[key];
+          const hasDefault = hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value = value ?? defaultValue;
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
           }
         }
+        return dict;
       };
-      return d;
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/operators.js
-var require_operators = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
-    "use strict";
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var {
-      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
-      AbortError
-    } = require_errors5();
-    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
-    var kWeakHandler = require_primordials().Symbol("kWeak");
-    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
-    var { finished } = require_end_of_stream();
-    var staticCompose = require_compose();
-    var { addAbortSignalNoValidate } = require_add_abort_signal();
-    var { isWritable, isNodeStream } = require_utils8();
-    var { deprecate } = require_util20();
-    var {
-      ArrayPrototypePush,
-      Boolean: Boolean2,
-      MathFloor,
-      Number: Number2,
-      NumberIsNaN,
-      Promise: Promise2,
-      PromiseReject,
-      PromiseResolve,
-      PromisePrototypeThen,
-      Symbol: Symbol2
-    } = require_primordials();
-    var kEmpty = Symbol2("kEmpty");
-    var kEof = Symbol2("kEof");
-    function compose(stream2, options) {
-      if (options != null) {
-        validateObject(options, "options");
+    webidl.nullableConverter = function(converter) {
+      return (V) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V);
+      };
+    };
+    webidl.converters.DOMString = function(V, opts = {}) {
+      if (V === null && opts.legacyNullToEmptyString) {
+        return "";
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (typeof V === "symbol") {
+        throw new TypeError("Could not convert argument of type symbol to string.");
       }
-      if (isNodeStream(stream2) && !isWritable(stream2)) {
-        throw new ERR_INVALID_ARG_VALUE("stream", stream2, "must be writable");
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V) {
+      const x = webidl.converters.DOMString(V);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
       }
-      const composedStream = staticCompose(this, stream2);
-      if (options !== null && options !== void 0 && options.signal) {
-        addAbortSignalNoValidate(options.signal, composedStream);
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed");
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${V}`,
+          argument: `${V}`,
+          types: ["ArrayBuffer"]
+        });
       }
-      return composedStream;
-    }
-    function map2(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      if (options != null) {
-        validateObject(options, "options");
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${T.name}`,
+          argument: `${V}`,
+          types: [T.name]
+        });
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      let concurrency = 1;
-      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
-        concurrency = MathFloor(options.concurrency);
+      return V;
+    };
+    webidl.converters.DataView = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: "DataView",
+          message: "Object is not a DataView."
+        });
       }
-      let highWaterMark = concurrency - 1;
-      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
-        highWaterMark = MathFloor(options.highWaterMark);
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      validateInteger(concurrency, "options.concurrency", 1);
-      validateInteger(highWaterMark, "options.highWaterMark", 0);
-      highWaterMark += concurrency;
-      return async function* map3() {
-        const signal = require_util20().AbortSignalAny(
-          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
-        );
-        const stream2 = this;
-        const queue = [];
-        const signalOpt = {
-          signal
-        };
-        let next;
-        let resume;
-        let done = false;
-        let cnt = 0;
-        function onCatch() {
-          done = true;
-          afterItemProcessed();
-        }
-        function afterItemProcessed() {
-          cnt -= 1;
-          maybeResume();
-        }
-        function maybeResume() {
-          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
-            resume();
-            resume = null;
-          }
-        }
-        async function pump() {
-          try {
-            for await (let val of stream2) {
-              if (done) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              try {
-                val = fn(val, signalOpt);
-                if (val === kEmpty) {
-                  continue;
-                }
-                val = PromiseResolve(val);
-              } catch (err) {
-                val = PromiseReject(err);
-              }
-              cnt += 1;
-              PromisePrototypeThen(val, afterItemProcessed, onCatch);
-              queue.push(val);
-              if (next) {
-                next();
-                next = null;
-              }
-              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
-                await new Promise2((resolve8) => {
-                  resume = resolve8;
-                });
-              }
-            }
-            queue.push(kEof);
-          } catch (err) {
-            const val = PromiseReject(err);
-            PromisePrototypeThen(val, afterItemProcessed, onCatch);
-            queue.push(val);
-          } finally {
-            done = true;
-            if (next) {
-              next();
-              next = null;
-            }
-          }
-        }
-        pump();
-        try {
-          while (true) {
-            while (queue.length > 0) {
-              const val = await queue[0];
-              if (val === kEof) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              if (val !== kEmpty) {
-                yield val;
-              }
-              queue.shift();
-              maybeResume();
-            }
-            await new Promise2((resolve8) => {
-              next = resolve8;
-            });
-          }
-        } finally {
-          done = true;
-          if (resume) {
-            resume();
-            resume = null;
-          }
-        }
-      }.call(this);
-    }
-    function asIndexedPairs(options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, opts = {}) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, opts);
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor);
       }
-      return async function* asIndexedPairs2() {
-        let index = 0;
-        for await (const val of this) {
-          var _options$signal;
-          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
-            throw new AbortError({
-              cause: options.signal.reason
-            });
-          }
-          yield [index++, val];
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, opts);
+      }
+      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/dataURL.js
+var require_dataURL = __commonJS({
+  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
+    var assert = require("assert");
+    var { atob: atob2 } = require("buffer");
+    var { isomorphicDecode } = require_util25();
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
+    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
-      }.call(this);
-    }
-    async function some(fn, options = void 0) {
-      for await (const unused of filter.call(this, fn, options)) {
-        return true;
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      return false;
-    }
-    async function every(fn, options = void 0) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
       }
-      return !await some.call(
-        this,
-        async (...args) => {
-          return !await fn(...args);
-        },
-        options
-      );
-    }
-    async function find2(fn, options) {
-      for await (const result of filter.call(this, fn, options)) {
-        return result;
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
       }
-      return void 0;
+      return { mimeType: mimeTypeRecord, body };
     }
-    async function forEach(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+    function URLSerializer(url2, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url2.href;
       }
-      async function forEachFn(value, options2) {
-        await fn(value, options2);
-        return kEmpty;
+      const href = url2.href;
+      const hashLength = url2.hash.length;
+      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
       }
-      for await (const unused of map2.call(this, forEachFn, options)) ;
+      return result;
     }
-    function filter(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
       }
-      async function filterFn(value, options2) {
-        if (await fn(value, options2)) {
-          return value;
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function percentDecode(input) {
+      const output = [];
+      for (let i = 0; i < input.length; i++) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output.push(byte);
+        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
+          output.push(37);
+        } else {
+          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
+          const bytePoint = Number.parseInt(nextTwoBytes, 16);
+          output.push(bytePoint);
+          i += 2;
         }
-        return kEmpty;
       }
-      return map2.call(this, filterFn, options);
+      return Uint8Array.from(output);
     }
-    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
-      constructor() {
-        super("reduce");
-        this.message = "Reduce of an empty stream requires an initial value";
-      }
-    };
-    async function reduce(reducer, initialValue, options) {
-      var _options$signal2;
-      if (typeof reducer !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
-      }
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
       }
-      let hasInitialValue = arguments.length > 1;
-      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
-        const err = new AbortError(void 0, {
-          cause: options.signal.reason
-        });
-        this.once("error", () => {
-        });
-        await finished(this.destroy(err));
-        throw err;
+      if (position.position > input.length) {
+        return "failure";
       }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      if (options !== null && options !== void 0 && options.signal) {
-        const opts = {
-          once: true,
-          [kWeakHandler]: this,
-          [kResistStopPropagation]: true
-        };
-        options.signal.addEventListener("abort", () => ac.abort(), opts);
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
       }
-      let gotAnyItemFromStream = false;
-      try {
-        for await (const value of this) {
-          var _options$signal3;
-          gotAnyItemFromStream = true;
-          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
-            throw new AbortError();
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
           }
-          if (!hasInitialValue) {
-            initialValue = value;
-            hasInitialValue = true;
-          } else {
-            initialValue = await reducer(initialValue, value, {
-              signal
-            });
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+        } else {
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
           }
         }
-        if (!gotAnyItemFromStream && !hasInitialValue) {
-          throw new ReduceAwareErrMissingArgs();
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
         }
-      } finally {
-        ac.abort();
       }
-      return initialValue;
+      return mimeType;
     }
-    async function toArray2(options) {
-      if (options != null) {
-        validateObject(options, "options");
+    function forgivingBase64(data) {
+      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
+      if (data.length % 4 === 0) {
+        data = data.replace(/=?=$/, "");
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (data.length % 4 === 1) {
+        return "failure";
       }
-      const result = [];
-      for await (const val of this) {
-        var _options$signal4;
-        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
-          throw new AbortError(void 0, {
-            cause: options.signal.reason
-          });
-        }
-        ArrayPrototypePush(result, val);
+      if (/[^+/0-9A-Za-z]/.test(data)) {
+        return "failure";
       }
-      return result;
+      const binary2 = atob2(data);
+      const bytes = new Uint8Array(binary2.length);
+      for (let byte = 0; byte < binary2.length; byte++) {
+        bytes[byte] = binary2.charCodeAt(byte);
+      }
+      return bytes;
     }
-    function flatMap(fn, options) {
-      const values = map2.call(this, fn, options);
-      return async function* flatMap2() {
-        for await (const val of values) {
-          yield* val;
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
         }
-      }.call(this);
-    }
-    function toIntegerOrInfinity(number) {
-      number = Number2(number);
-      if (NumberIsNaN(number)) {
-        return 0;
       }
-      if (number < 0) {
-        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
+      if (extractValue) {
+        return value;
       }
-      return number;
+      return input.slice(positionStart, position.position);
     }
-    function drop(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === " ";
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
       }
-      number = toIntegerOrInfinity(number);
-      return async function* drop2() {
-        var _options$signal5;
-        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal6;
-          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
-            throw new AbortError();
-          }
-          if (number-- <= 0) {
-            yield val;
-          }
-        }
-      }.call(this);
+      if (trailing) {
+        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      }
+      return str2.slice(lead, trail + 1);
     }
-    function take(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+    function isASCIIWhitespace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (trailing) {
+        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
       }
-      number = toIntegerOrInfinity(number);
-      return async function* take2() {
-        var _options$signal7;
-        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal8;
-          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
-            throw new AbortError();
-          }
-          if (number-- > 0) {
-            yield val;
-          }
-          if (number <= 0) {
-            return;
-          }
-        }
-      }.call(this);
+      return str2.slice(lead, trail + 1);
     }
-    module2.exports.streamReturningOperators = {
-      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
-      drop,
-      filter,
-      flatMap,
-      map: map2,
-      take,
-      compose
-    };
-    module2.exports.promiseReturningOperators = {
-      every,
-      forEach,
-      reduce,
-      toArray: toArray2,
-      some,
-      find: find2
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType
     };
   }
 });
 
-// node_modules/readable-stream/lib/stream/promises.js
-var require_promises = __commonJS({
-  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/file.js
+var require_file5 = __commonJS({
+  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
     "use strict";
-    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
-    var { isIterable, isNodeStream, isWebStream } = require_utils8();
-    var { pipelineImpl: pl } = require_pipeline4();
-    var { finished } = require_end_of_stream();
-    require_stream2();
-    function pipeline(...streams) {
-      return new Promise2((resolve8, reject) => {
-        let signal;
-        let end;
-        const lastArg = streams[streams.length - 1];
-        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
-          const options = ArrayPrototypePop(streams);
-          signal = options.signal;
-          end = options.end;
-        }
-        pl(
-          streams,
-          (err, value) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve8(value);
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { types } = require("util");
+    var { kState } = require_symbols12();
+    var { isBlobLike } = require_util25();
+    var { webidl } = require_webidl3();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var { kEnumerableProperty } = require_util24();
+    var encoder = new TextEncoder();
+    var File2 = class _File extends Blob2 {
+      constructor(fileBits, fileName, options = {}) {
+        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
+        fileBits = webidl.converters["sequence"](fileBits);
+        fileName = webidl.converters.USVString(fileName);
+        options = webidl.converters.FilePropertyBag(options);
+        const n = fileName;
+        let t = options.type;
+        let d;
+        substep: {
+          if (t) {
+            t = parseMIMEType(t);
+            if (t === "failure") {
+              t = "";
+              break substep;
             }
-          },
-          {
-            signal,
-            end
+            t = serializeAMimeType(t).toLowerCase();
           }
-        );
-      });
-    }
-    module2.exports = {
-      finished,
-      pipeline
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/stream.js
-var require_stream2 = __commonJS({
-  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
-    var {
-      promisify: { custom: customPromisify }
-    } = require_util20();
-    var { streamReturningOperators, promiseReturningOperators } = require_operators();
-    var {
-      codes: { ERR_ILLEGAL_CONSTRUCTOR }
-    } = require_errors5();
-    var compose = require_compose();
-    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var { pipeline } = require_pipeline4();
-    var { destroyer } = require_destroy2();
-    var eos = require_end_of_stream();
-    var promises5 = require_promises();
-    var utils = require_utils8();
-    var Stream = module2.exports = require_legacy().Stream;
-    Stream.isDestroyed = utils.isDestroyed;
-    Stream.isDisturbed = utils.isDisturbed;
-    Stream.isErrored = utils.isErrored;
-    Stream.isReadable = utils.isReadable;
-    Stream.isWritable = utils.isWritable;
-    Stream.Readable = require_readable4();
-    for (const key of ObjectKeys(streamReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
-        }
-        return Stream.Readable.from(ReflectApply(op, this, args));
-      };
-      fn = fn2;
-      const op = streamReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
-    }
-    var fn;
-    for (const key of ObjectKeys(promiseReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
+          d = options.lastModified;
         }
-        return ReflectApply(op, this, args);
-      };
-      fn = fn2;
-      const op = promiseReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
-    }
-    var fn;
-    Stream.Writable = require_writable();
-    Stream.Duplex = require_duplex();
-    Stream.Transform = require_transform();
-    Stream.PassThrough = require_passthrough2();
-    Stream.pipeline = pipeline;
-    var { addAbortSignal } = require_add_abort_signal();
-    Stream.addAbortSignal = addAbortSignal;
-    Stream.finished = eos;
-    Stream.destroy = destroyer;
-    Stream.compose = compose;
-    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
-    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
-    ObjectDefineProperty(Stream, "promises", {
-      __proto__: null,
-      configurable: true,
-      enumerable: true,
-      get() {
-        return promises5;
+        super(processBlobParts(fileBits, options), { type: t });
+        this[kState] = {
+          name: n,
+          lastModified: d,
+          type: t
+        };
       }
-    });
-    ObjectDefineProperty(pipeline, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises5.pipeline;
+      get name() {
+        webidl.brandCheck(this, _File);
+        return this[kState].name;
       }
-    });
-    ObjectDefineProperty(eos, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises5.finished;
+      get lastModified() {
+        webidl.brandCheck(this, _File);
+        return this[kState].lastModified;
+      }
+      get type() {
+        webidl.brandCheck(this, _File);
+        return this[kState].type;
       }
-    });
-    Stream.Stream = Stream;
-    Stream._isUint8Array = function isUint8Array(value) {
-      return value instanceof Uint8Array;
-    };
-    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
     };
-  }
-});
-
-// node_modules/readable-stream/lib/ours/index.js
-var require_ours = __commonJS({
-  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
-    "use strict";
-    var Stream = require("stream");
-    if (Stream && process.env.READABLE_STREAM === "disable") {
-      const promises5 = Stream.promises;
-      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = Stream._isUint8Array;
-      module2.exports.isDisturbed = Stream.isDisturbed;
-      module2.exports.isErrored = Stream.isErrored;
-      module2.exports.isReadable = Stream.isReadable;
-      module2.exports.Readable = Stream.Readable;
-      module2.exports.Writable = Stream.Writable;
-      module2.exports.Duplex = Stream.Duplex;
-      module2.exports.Transform = Stream.Transform;
-      module2.exports.PassThrough = Stream.PassThrough;
-      module2.exports.addAbortSignal = Stream.addAbortSignal;
-      module2.exports.finished = Stream.finished;
-      module2.exports.destroy = Stream.destroy;
-      module2.exports.pipeline = Stream.pipeline;
-      module2.exports.compose = Stream.compose;
-      Object.defineProperty(Stream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises5;
-        }
-      });
-      module2.exports.Stream = Stream.Stream;
-    } else {
-      const CustomStream = require_stream2();
-      const promises5 = require_promises();
-      const originalDestroy = CustomStream.Readable.destroy;
-      module2.exports = CustomStream.Readable;
-      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = CustomStream._isUint8Array;
-      module2.exports.isDisturbed = CustomStream.isDisturbed;
-      module2.exports.isErrored = CustomStream.isErrored;
-      module2.exports.isReadable = CustomStream.isReadable;
-      module2.exports.Readable = CustomStream.Readable;
-      module2.exports.Writable = CustomStream.Writable;
-      module2.exports.Duplex = CustomStream.Duplex;
-      module2.exports.Transform = CustomStream.Transform;
-      module2.exports.PassThrough = CustomStream.PassThrough;
-      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
-      module2.exports.finished = CustomStream.finished;
-      module2.exports.destroy = CustomStream.destroy;
-      module2.exports.destroy = originalDestroy;
-      module2.exports.pipeline = CustomStream.pipeline;
-      module2.exports.compose = CustomStream.compose;
-      Object.defineProperty(CustomStream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises5;
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
+      }
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
+      }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
+      }
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
+      }
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
+      }
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
+      }
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
+      }
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
+      }
+      get [Symbol.toStringTag]() {
+        return "File";
+      }
+    };
+    Object.defineProperties(File2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "File",
+        configurable: true
+      },
+      name: kEnumerableProperty,
+      lastModified: kEnumerableProperty
+    });
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    webidl.converters.BlobPart = function(V, opts) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V, opts);
         }
-      });
-      module2.exports.Stream = CustomStream.Stream;
-    }
-    module2.exports.default = module2.exports;
-  }
-});
-
-// node_modules/lodash/_arrayPush.js
-var require_arrayPush = __commonJS({
-  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
-    function arrayPush(array, values) {
-      var index = -1, length = values.length, offset = array.length;
-      while (++index < length) {
-        array[offset + index] = values[index];
       }
-      return array;
-    }
-    module2.exports = arrayPush;
-  }
-});
-
-// node_modules/lodash/_isFlattenable.js
-var require_isFlattenable = __commonJS({
-  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
-    function isFlattenable(value) {
-      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
-    }
-    module2.exports = isFlattenable;
-  }
-});
-
-// node_modules/lodash/_baseFlatten.js
-var require_baseFlatten = __commonJS({
-  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
-    var arrayPush = require_arrayPush();
-    var isFlattenable = require_isFlattenable();
-    function baseFlatten(array, depth, predicate, isStrict, result) {
-      var index = -1, length = array.length;
-      predicate || (predicate = isFlattenable);
-      result || (result = []);
-      while (++index < length) {
-        var value = array[index];
-        if (depth > 0 && predicate(value)) {
-          if (depth > 1) {
-            baseFlatten(value, depth - 1, predicate, isStrict, result);
+      return webidl.converters.USVString(V, opts);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.BlobPart
+    );
+    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
+      {
+        key: "lastModified",
+        converter: webidl.converters["long long"],
+        get defaultValue() {
+          return Date.now();
+        }
+      },
+      {
+        key: "type",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "endings",
+        converter: (value) => {
+          value = webidl.converters.DOMString(value);
+          value = value.toLowerCase();
+          if (value !== "native") {
+            value = "transparent";
+          }
+          return value;
+        },
+        defaultValue: "transparent"
+      }
+    ]);
+    function processBlobParts(parts, options) {
+      const bytes = [];
+      for (const element of parts) {
+        if (typeof element === "string") {
+          let s = element;
+          if (options.endings === "native") {
+            s = convertLineEndingsNative(s);
+          }
+          bytes.push(encoder.encode(s));
+        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
+          if (!element.buffer) {
+            bytes.push(new Uint8Array(element));
           } else {
-            arrayPush(result, value);
+            bytes.push(
+              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
+            );
           }
-        } else if (!isStrict) {
-          result[result.length] = value;
+        } else if (isBlobLike(element)) {
+          bytes.push(element);
         }
       }
-      return result;
-    }
-    module2.exports = baseFlatten;
-  }
-});
-
-// node_modules/lodash/flatten.js
-var require_flatten = __commonJS({
-  "node_modules/lodash/flatten.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    function flatten(array) {
-      var length = array == null ? 0 : array.length;
-      return length ? baseFlatten(array, 1) : [];
-    }
-    module2.exports = flatten;
-  }
-});
-
-// node_modules/lodash/_nativeCreate.js
-var require_nativeCreate = __commonJS({
-  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var nativeCreate = getNative(Object, "create");
-    module2.exports = nativeCreate;
-  }
-});
-
-// node_modules/lodash/_hashClear.js
-var require_hashClear = __commonJS({
-  "node_modules/lodash/_hashClear.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    function hashClear() {
-      this.__data__ = nativeCreate ? nativeCreate(null) : {};
-      this.size = 0;
-    }
-    module2.exports = hashClear;
-  }
-});
-
-// node_modules/lodash/_hashDelete.js
-var require_hashDelete = __commonJS({
-  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
-    function hashDelete(key) {
-      var result = this.has(key) && delete this.__data__[key];
-      this.size -= result ? 1 : 0;
-      return result;
+      return bytes;
     }
-    module2.exports = hashDelete;
-  }
-});
-
-// node_modules/lodash/_hashGet.js
-var require_hashGet = __commonJS({
-  "node_modules/lodash/_hashGet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashGet(key) {
-      var data = this.__data__;
-      if (nativeCreate) {
-        var result = data[key];
-        return result === HASH_UNDEFINED ? void 0 : result;
+    function convertLineEndingsNative(s) {
+      let nativeLineEnding = "\n";
+      if (process.platform === "win32") {
+        nativeLineEnding = "\r\n";
       }
-      return hasOwnProperty.call(data, key) ? data[key] : void 0;
-    }
-    module2.exports = hashGet;
-  }
-});
-
-// node_modules/lodash/_hashHas.js
-var require_hashHas = __commonJS({
-  "node_modules/lodash/_hashHas.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashHas(key) {
-      var data = this.__data__;
-      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
+      return s.replace(/\r?\n/g, nativeLineEnding);
     }
-    module2.exports = hashHas;
-  }
-});
-
-// node_modules/lodash/_hashSet.js
-var require_hashSet = __commonJS({
-  "node_modules/lodash/_hashSet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function hashSet(key, value) {
-      var data = this.__data__;
-      this.size += this.has(key) ? 0 : 1;
-      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
-      return this;
+    function isFileLike(object) {
+      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
     }
-    module2.exports = hashSet;
+    module2.exports = { File: File2, FileLike, isFileLike };
   }
 });
 
-// node_modules/lodash/_Hash.js
-var require_Hash = __commonJS({
-  "node_modules/lodash/_Hash.js"(exports2, module2) {
-    var hashClear = require_hashClear();
-    var hashDelete = require_hashDelete();
-    var hashGet = require_hashGet();
-    var hashHas = require_hashHas();
-    var hashSet = require_hashSet();
-    function Hash(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+// node_modules/undici/lib/fetch/formdata.js
+var require_formdata3 = __commonJS({
+  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, toUSVString, makeIterator } = require_util25();
+    var { kState } = require_symbols12();
+    var { File: UndiciFile, FileLike, isFileLike } = require_file5();
+    var { webidl } = require_webidl3();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var File2 = NativeFile ?? UndiciFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
       }
-    }
-    Hash.prototype.clear = hashClear;
-    Hash.prototype["delete"] = hashDelete;
-    Hash.prototype.get = hashGet;
-    Hash.prototype.has = hashHas;
-    Hash.prototype.set = hashSet;
-    module2.exports = Hash;
-  }
-});
-
-// node_modules/lodash/_listCacheClear.js
-var require_listCacheClear = __commonJS({
-  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
-    function listCacheClear() {
-      this.__data__ = [];
-      this.size = 0;
-    }
-    module2.exports = listCacheClear;
-  }
-});
-
-// node_modules/lodash/_assocIndexOf.js
-var require_assocIndexOf = __commonJS({
-  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
-    var eq = require_eq2();
-    function assocIndexOf(array, key) {
-      var length = array.length;
-      while (length--) {
-        if (eq(array[length][0], key)) {
-          return length;
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
         }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
       }
-      return -1;
-    }
-    module2.exports = assocIndexOf;
-  }
-});
-
-// node_modules/lodash/_listCacheDelete.js
-var require_listCacheDelete = __commonJS({
-  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    var arrayProto = Array.prototype;
-    var splice = arrayProto.splice;
-    function listCacheDelete(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
-        return false;
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
+        name = webidl.converters.USVString(name);
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
       }
-      var lastIndex = data.length - 1;
-      if (index == lastIndex) {
-        data.pop();
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
+        name = webidl.converters.USVString(name);
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
+      }
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
+        name = webidl.converters.USVString(name);
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
+        name = webidl.converters.USVString(name);
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
+        } else {
+          this[kState].push(entry);
+        }
+      }
+      entries() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key+value"
+        );
+      }
+      keys() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key"
+        );
+      }
+      values() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "value"
+        );
+      }
+      /**
+       * @param {(value: string, key: string, self: FormData) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
+      }
+    };
+    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
+    Object.defineProperties(FormData2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      name = Buffer.from(name).toString("utf8");
+      if (typeof value === "string") {
+        value = Buffer.from(value).toString("utf8");
       } else {
-        splice.call(data, index, 1);
+        if (!isFileLike(value)) {
+          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
       }
-      --this.size;
-      return true;
-    }
-    module2.exports = listCacheDelete;
-  }
-});
-
-// node_modules/lodash/_listCacheGet.js
-var require_listCacheGet = __commonJS({
-  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheGet(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      return index < 0 ? void 0 : data[index][1];
+      return { name, value };
     }
-    module2.exports = listCacheGet;
+    module2.exports = { FormData: FormData2 };
   }
 });
 
-// node_modules/lodash/_listCacheHas.js
-var require_listCacheHas = __commonJS({
-  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheHas(key) {
-      return assocIndexOf(this.__data__, key) > -1;
+// node_modules/undici/lib/fetch/body.js
+var require_body3 = __commonJS({
+  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var Busboy = require_main();
+    var util = require_util24();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody
+    } = require_util25();
+    var { FormData: FormData2 } = require_formdata3();
+    var { kState } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2, structuredClone } = require_constants21();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { isErrored } = require_util24();
+    var { isUint8Array, isArrayBuffer } = require("util/types");
+    var { File: UndiciFile } = require_file5();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
     }
-    module2.exports = listCacheHas;
-  }
-});
-
-// node_modules/lodash/_listCacheSet.js
-var require_listCacheSet = __commonJS({
-  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheSet(key, value) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
-        ++this.size;
-        data.push([key, value]);
+    var ReadableStream2 = globalThis.ReadableStream;
+    var File2 = NativeFile ?? UndiciFile;
+    var textEncoder = new TextEncoder();
+    var textDecoder = new TextDecoder();
+    function extractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      let stream2 = null;
+      if (object instanceof ReadableStream2) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
       } else {
-        data[index][1] = value;
+        stream2 = new ReadableStream2({
+          async pull(controller) {
+            controller.enqueue(
+              typeof source === "string" ? textEncoder.encode(source) : source
+            );
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: void 0
+        });
       }
-      return this;
+      assert(isReadableStreamLike(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
+            }
+          }
+        }
+        const chunk = textEncoder.encode(`--${boundary}--`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
+          }
+        };
+        type2 = "multipart/form-data; boundary=" + boundary;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = new ReadableStream2({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              if (!isErrored(stream2)) {
+                controller.enqueue(new Uint8Array(value));
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: void 0
+        });
+      }
+      const body = { stream: stream2, source, length };
+      return [body, type2];
     }
-    module2.exports = listCacheSet;
-  }
-});
-
-// node_modules/lodash/_ListCache.js
-var require_ListCache = __commonJS({
-  "node_modules/lodash/_ListCache.js"(exports2, module2) {
-    var listCacheClear = require_listCacheClear();
-    var listCacheDelete = require_listCacheDelete();
-    var listCacheGet = require_listCacheGet();
-    var listCacheHas = require_listCacheHas();
-    var listCacheSet = require_listCacheSet();
-    function ListCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    function safelyExtractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      if (object instanceof ReadableStream2) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
       }
+      return extractBody(object, keepalive);
     }
-    ListCache.prototype.clear = listCacheClear;
-    ListCache.prototype["delete"] = listCacheDelete;
-    ListCache.prototype.get = listCacheGet;
-    ListCache.prototype.has = listCacheHas;
-    ListCache.prototype.set = listCacheSet;
-    module2.exports = ListCache;
-  }
-});
-
-// node_modules/lodash/_Map.js
-var require_Map = __commonJS({
-  "node_modules/lodash/_Map.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Map2 = getNative(root, "Map");
-    module2.exports = Map2;
-  }
-});
-
-// node_modules/lodash/_mapCacheClear.js
-var require_mapCacheClear = __commonJS({
-  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
-    var Hash = require_Hash();
-    var ListCache = require_ListCache();
-    var Map2 = require_Map();
-    function mapCacheClear() {
-      this.size = 0;
-      this.__data__ = {
-        "hash": new Hash(),
-        "map": new (Map2 || ListCache)(),
-        "string": new Hash()
+    function cloneBody(body) {
+      const [out1, out2] = body.stream.tee();
+      const out2Clone = structuredClone(out2, { transfer: [out2] });
+      const [, finalClone] = out2Clone.tee();
+      body.stream = out1;
+      return {
+        stream: finalClone,
+        length: body.length,
+        source: body.source
       };
     }
-    module2.exports = mapCacheClear;
-  }
-});
-
-// node_modules/lodash/_isKeyable.js
-var require_isKeyable = __commonJS({
-  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
-    function isKeyable(value) {
-      var type2 = typeof value;
-      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
-    }
-    module2.exports = isKeyable;
-  }
-});
-
-// node_modules/lodash/_getMapData.js
-var require_getMapData = __commonJS({
-  "node_modules/lodash/_getMapData.js"(exports2, module2) {
-    var isKeyable = require_isKeyable();
-    function getMapData(map2, key) {
-      var data = map2.__data__;
-      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
-    }
-    module2.exports = getMapData;
-  }
-});
-
-// node_modules/lodash/_mapCacheDelete.js
-var require_mapCacheDelete = __commonJS({
-  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheDelete(key) {
-      var result = getMapData(this, key)["delete"](key);
-      this.size -= result ? 1 : 0;
-      return result;
-    }
-    module2.exports = mapCacheDelete;
-  }
-});
-
-// node_modules/lodash/_mapCacheGet.js
-var require_mapCacheGet = __commonJS({
-  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheGet(key) {
-      return getMapData(this, key).get(key);
-    }
-    module2.exports = mapCacheGet;
-  }
-});
-
-// node_modules/lodash/_mapCacheHas.js
-var require_mapCacheHas = __commonJS({
-  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheHas(key) {
-      return getMapData(this, key).has(key);
-    }
-    module2.exports = mapCacheHas;
-  }
-});
-
-// node_modules/lodash/_mapCacheSet.js
-var require_mapCacheSet = __commonJS({
-  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheSet(key, value) {
-      var data = getMapData(this, key), size = data.size;
-      data.set(key, value);
-      this.size += data.size == size ? 0 : 1;
-      return this;
-    }
-    module2.exports = mapCacheSet;
-  }
-});
-
-// node_modules/lodash/_MapCache.js
-var require_MapCache = __commonJS({
-  "node_modules/lodash/_MapCache.js"(exports2, module2) {
-    var mapCacheClear = require_mapCacheClear();
-    var mapCacheDelete = require_mapCacheDelete();
-    var mapCacheGet = require_mapCacheGet();
-    var mapCacheHas = require_mapCacheHas();
-    var mapCacheSet = require_mapCacheSet();
-    function MapCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    async function* consumeBody(body) {
+      if (body) {
+        if (isUint8Array(body)) {
+          yield body;
+        } else {
+          const stream2 = body.stream;
+          if (util.isDisturbed(stream2)) {
+            throw new TypeError("The body has already been consumed.");
+          }
+          if (stream2.locked) {
+            throw new TypeError("The stream is locked.");
+          }
+          stream2[kBodyUsed] = true;
+          yield* stream2;
+        }
       }
     }
-    MapCache.prototype.clear = mapCacheClear;
-    MapCache.prototype["delete"] = mapCacheDelete;
-    MapCache.prototype.get = mapCacheGet;
-    MapCache.prototype.has = mapCacheHas;
-    MapCache.prototype.set = mapCacheSet;
-    module2.exports = MapCache;
-  }
-});
-
-// node_modules/lodash/_setCacheAdd.js
-var require_setCacheAdd = __commonJS({
-  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function setCacheAdd(value) {
-      this.__data__.set(value, HASH_UNDEFINED);
-      return this;
-    }
-    module2.exports = setCacheAdd;
-  }
-});
-
-// node_modules/lodash/_setCacheHas.js
-var require_setCacheHas = __commonJS({
-  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
-    function setCacheHas(value) {
-      return this.__data__.has(value);
-    }
-    module2.exports = setCacheHas;
-  }
-});
-
-// node_modules/lodash/_SetCache.js
-var require_SetCache = __commonJS({
-  "node_modules/lodash/_SetCache.js"(exports2, module2) {
-    var MapCache = require_MapCache();
-    var setCacheAdd = require_setCacheAdd();
-    var setCacheHas = require_setCacheHas();
-    function SetCache(values) {
-      var index = -1, length = values == null ? 0 : values.length;
-      this.__data__ = new MapCache();
-      while (++index < length) {
-        this.add(values[index]);
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException2("The operation was aborted.", "AbortError");
       }
     }
-    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
-    SetCache.prototype.has = setCacheHas;
-    module2.exports = SetCache;
-  }
-});
-
-// node_modules/lodash/_baseFindIndex.js
-var require_baseFindIndex = __commonJS({
-  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
-    function baseFindIndex(array, predicate, fromIndex, fromRight) {
-      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
-      while (fromRight ? index-- : ++index < length) {
-        if (predicate(array[index], index, array)) {
-          return index;
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return specConsumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === "failure") {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return specConsumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return specConsumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return specConsumeBody(this, parseJSONFromBytes, instance);
+        },
+        async formData() {
+          webidl.brandCheck(this, instance);
+          throwIfAborted(this[kState]);
+          const contentType = this.headers.get("Content-Type");
+          if (/multipart\/form-data/.test(contentType)) {
+            const headers = {};
+            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
+            const responseFormData = new FormData2();
+            let busboy;
+            try {
+              busboy = new Busboy({
+                headers,
+                preservePath: true
+              });
+            } catch (err) {
+              throw new DOMException2(`${err}`, "AbortError");
+            }
+            busboy.on("field", (name, value) => {
+              responseFormData.append(name, value);
+            });
+            busboy.on("file", (name, value, filename, encoding, mimeType) => {
+              const chunks = [];
+              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
+                let base64chunk = "";
+                value.on("data", (chunk) => {
+                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
+                  const end = base64chunk.length - base64chunk.length % 4;
+                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
+                  base64chunk = base64chunk.slice(end);
+                });
+                value.on("end", () => {
+                  chunks.push(Buffer.from(base64chunk, "base64"));
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              } else {
+                value.on("data", (chunk) => {
+                  chunks.push(chunk);
+                });
+                value.on("end", () => {
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              }
+            });
+            const busboyResolve = new Promise((resolve8, reject) => {
+              busboy.on("finish", resolve8);
+              busboy.on("error", (err) => reject(new TypeError(err)));
+            });
+            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
+            busboy.end();
+            await busboyResolve;
+            return responseFormData;
+          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
+            let entries;
+            try {
+              let text = "";
+              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
+              for await (const chunk of consumeBody(this[kState].body)) {
+                if (!isUint8Array(chunk)) {
+                  throw new TypeError("Expected Uint8Array chunk");
+                }
+                text += streamingDecoder.decode(chunk, { stream: true });
+              }
+              text += streamingDecoder.decode();
+              entries = new URLSearchParams(text);
+            } catch (err) {
+              throw Object.assign(new TypeError(), { cause: err });
+            }
+            const formData = new FormData2();
+            for (const [name, value] of entries) {
+              formData.append(name, value);
+            }
+            return formData;
+          } else {
+            await Promise.resolve();
+            throwIfAborted(this[kState]);
+            throw webidl.errors.exception({
+              header: `${instance.name}.formData`,
+              message: "Could not parse content as FormData."
+            });
+          }
         }
-      }
-      return -1;
+      };
+      return methods;
     }
-    module2.exports = baseFindIndex;
-  }
-});
-
-// node_modules/lodash/_baseIsNaN.js
-var require_baseIsNaN = __commonJS({
-  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
-    function baseIsNaN(value) {
-      return value !== value;
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
     }
-    module2.exports = baseIsNaN;
-  }
-});
-
-// node_modules/lodash/_strictIndexOf.js
-var require_strictIndexOf = __commonJS({
-  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
-    function strictIndexOf(array, value, fromIndex) {
-      var index = fromIndex - 1, length = array.length;
-      while (++index < length) {
-        if (array[index] === value) {
-          return index;
-        }
+    async function specConsumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      throwIfAborted(object[kState]);
+      if (bodyUnusable(object[kState].body)) {
+        throw new TypeError("Body is unusable");
       }
-      return -1;
-    }
-    module2.exports = strictIndexOf;
-  }
-});
-
-// node_modules/lodash/_baseIndexOf.js
-var require_baseIndexOf = __commonJS({
-  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
-    var baseFindIndex = require_baseFindIndex();
-    var baseIsNaN = require_baseIsNaN();
-    var strictIndexOf = require_strictIndexOf();
-    function baseIndexOf(array, value, fromIndex) {
-      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
-    }
-    module2.exports = baseIndexOf;
-  }
-});
-
-// node_modules/lodash/_arrayIncludes.js
-var require_arrayIncludes = __commonJS({
-  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
-    var baseIndexOf = require_baseIndexOf();
-    function arrayIncludes(array, value) {
-      var length = array == null ? 0 : array.length;
-      return !!length && baseIndexOf(array, value, 0) > -1;
-    }
-    module2.exports = arrayIncludes;
-  }
-});
-
-// node_modules/lodash/_arrayIncludesWith.js
-var require_arrayIncludesWith = __commonJS({
-  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
-    function arrayIncludesWith(array, value, comparator) {
-      var index = -1, length = array == null ? 0 : array.length;
-      while (++index < length) {
-        if (comparator(value, array[index])) {
-          return true;
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
         }
+      };
+      if (object[kState].body == null) {
+        successSteps(new Uint8Array());
+        return promise.promise;
       }
-      return false;
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
     }
-    module2.exports = arrayIncludesWith;
-  }
-});
-
-// node_modules/lodash/_arrayMap.js
-var require_arrayMap = __commonJS({
-  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
-    function arrayMap(array, iteratee) {
-      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
-      while (++index < length) {
-        result[index] = iteratee(array[index], index, array);
+    function bodyUnusable(body) {
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
       }
-      return result;
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
     }
-    module2.exports = arrayMap;
-  }
-});
-
-// node_modules/lodash/_cacheHas.js
-var require_cacheHas = __commonJS({
-  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
-    function cacheHas(cache, key) {
-      return cache.has(key);
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
     }
-    module2.exports = cacheHas;
+    function bodyMimeType(object) {
+      const { headersList } = object[kState];
+      const contentType = headersList.get("content-type");
+      if (contentType === null) {
+        return "failure";
+      }
+      return parseMIMEType(contentType);
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody
+    };
   }
 });
 
-// node_modules/lodash/_baseDifference.js
-var require_baseDifference = __commonJS({
-  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var arrayMap = require_arrayMap();
-    var baseUnary = require_baseUnary();
-    var cacheHas = require_cacheHas();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseDifference(array, values, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
-      if (!length) {
-        return result;
+// node_modules/undici/lib/core/request.js
+var require_request5 = __commonJS({
+  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+    "use strict";
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors6();
+    var assert = require("assert");
+    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols11();
+    var util = require_util24();
+    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var channels = {};
+    var extractBody;
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.create = diagnosticsChannel.channel("undici:request:create");
+      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
+      channels.headers = diagnosticsChannel.channel("undici:request:headers");
+      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
+      channels.error = diagnosticsChannel.channel("undici:request:error");
+    } catch {
+      channels.create = { hasSubscribers: false };
+      channels.bodySent = { hasSubscribers: false };
+      channels.headers = { hasSubscribers: false };
+      channels.trailers = { hasSubscribers: false };
+      channels.error = { hasSubscribers: false };
+    }
+    var Request = class _Request {
+      constructor(origin, {
+        path: path16,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue
+      }, handler2) {
+        if (typeof path16 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.exec(path16) !== null) {
+          throw new InvalidArgumentError("invalid request path");
+        }
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (tokenRegExp.exec(method) === null) {
+          throw new InvalidArgumentError("invalid request method");
+        }
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
+        }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
+        }
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
+        }
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
+        }
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
+        }
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (util.isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              util.destroy(this);
+            };
+            this.body.on("end", this.endHandler);
+          }
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (util.isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? util.buildURL(path16, query) : path16;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = "";
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
+          }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
+          }
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(this, key, headers[key]);
+          }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        if (util.isFormDataLike(this.body)) {
+          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
+            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
+          }
+          if (!extractBody) {
+            extractBody = require_body3().extractBody;
+          }
+          const [bodyStream, contentType] = extractBody(body);
+          if (this.contentType == null) {
+            this.contentType = contentType;
+            this.headers += `content-type: ${contentType}\r
+`;
+          }
+          this.body = bodyStream.stream;
+          this.contentLength = bodyStream.length;
+        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
+          this.contentType = body.type;
+          this.headers += `content-type: ${body.type}\r
+`;
+        }
+        util.validateHandler(handler2, method, upgrade);
+        this.servername = util.getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
+        }
       }
-      if (iteratee) {
-        values = arrayMap(values, baseUnary(iteratee));
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (comparator) {
-        includes = arrayIncludesWith;
-        isCommon = false;
-      } else if (values.length >= LARGE_ARRAY_SIZE) {
-        includes = cacheHas;
-        isCommon = false;
-        values = new SetCache(values);
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
+        }
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee == null ? value : iteratee(value);
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var valuesIndex = valuesLength;
-            while (valuesIndex--) {
-              if (values[valuesIndex] === computed) {
-                continue outer;
-              }
-            }
-            result.push(value);
-          } else if (!includes(values, computed, comparator)) {
-            result.push(value);
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
+        } else {
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
+        }
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        }
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
+        }
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
+        }
+      }
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      }
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
+        }
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
+        }
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
+        }
+        if (this.aborted) {
+          return;
+        }
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
+        }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
+        }
+      }
+      // TODO: adjust to support H2
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
+      }
+      static [kHTTP1BuildRequest](origin, opts, handler2) {
+        return new _Request(origin, opts, handler2);
+      }
+      static [kHTTP2BuildRequest](origin, opts, handler2) {
+        const headers = opts.headers;
+        opts = { ...opts, headers: null };
+        const request2 = new _Request(origin, opts, handler2);
+        request2.headers = {};
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
+          }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(request2, headers[i], headers[i + 1], true);
+          }
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(request2, key, headers[key], true);
           }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
         }
-      return result;
-    }
-    module2.exports = baseDifference;
-  }
-});
-
-// node_modules/lodash/isArrayLikeObject.js
-var require_isArrayLikeObject = __commonJS({
-  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
-    var isArrayLike = require_isArrayLike();
-    var isObjectLike = require_isObjectLike();
-    function isArrayLikeObject(value) {
-      return isObjectLike(value) && isArrayLike(value);
-    }
-    module2.exports = isArrayLikeObject;
-  }
-});
-
-// node_modules/lodash/difference.js
-var require_difference = __commonJS({
-  "node_modules/lodash/difference.js"(exports2, module2) {
-    var baseDifference = require_baseDifference();
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var difference = baseRest(function(array, values) {
-      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
-    });
-    module2.exports = difference;
-  }
-});
-
-// node_modules/lodash/_Set.js
-var require_Set = __commonJS({
-  "node_modules/lodash/_Set.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Set2 = getNative(root, "Set");
-    module2.exports = Set2;
-  }
-});
-
-// node_modules/lodash/noop.js
-var require_noop = __commonJS({
-  "node_modules/lodash/noop.js"(exports2, module2) {
-    function noop3() {
-    }
-    module2.exports = noop3;
-  }
-});
-
-// node_modules/lodash/_setToArray.js
-var require_setToArray = __commonJS({
-  "node_modules/lodash/_setToArray.js"(exports2, module2) {
-    function setToArray(set2) {
-      var index = -1, result = Array(set2.size);
-      set2.forEach(function(value) {
-        result[++index] = value;
-      });
-      return result;
-    }
-    module2.exports = setToArray;
-  }
-});
-
-// node_modules/lodash/_createSet.js
-var require_createSet = __commonJS({
-  "node_modules/lodash/_createSet.js"(exports2, module2) {
-    var Set2 = require_Set();
-    var noop3 = require_noop();
-    var setToArray = require_setToArray();
-    var INFINITY = 1 / 0;
-    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
-      return new Set2(values);
+        return request2;
+      }
+      static [kHTTP2CopyHeaders](raw) {
+        const rawHeaders = raw.split("\r\n");
+        const headers = {};
+        for (const header of rawHeaders) {
+          const [key, value] = header.split(": ");
+          if (value == null || value.length === 0) continue;
+          if (headers[key]) headers[key] += `,${value}`;
+          else headers[key] = value;
+        }
+        return headers;
+      }
     };
-    module2.exports = createSet;
-  }
-});
-
-// node_modules/lodash/_baseUniq.js
-var require_baseUniq = __commonJS({
-  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var cacheHas = require_cacheHas();
-    var createSet = require_createSet();
-    var setToArray = require_setToArray();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseUniq(array, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
-      if (comparator) {
-        isCommon = false;
-        includes = arrayIncludesWith;
-      } else if (length >= LARGE_ARRAY_SIZE) {
-        var set2 = iteratee ? null : createSet(array);
-        if (set2) {
-          return setToArray(set2);
+    function processHeaderValue(key, val, skipAppend) {
+      if (val && typeof val === "object") {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      val = val != null ? `${val}` : "";
+      if (headerCharRegex.exec(val) !== null) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      return skipAppend ? val : `${key}: ${val}\r
+`;
+    }
+    function processHeader(request2, key, val, skipAppend = false) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
+      }
+      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
+        if (headerCharRegex.exec(val) !== null) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        isCommon = false;
-        includes = cacheHas;
-        seen = new SetCache();
+        request2.host = val;
+      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
+        }
+      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
+        request2.contentType = val;
+        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+        else request2.headers += processHeaderValue(key, val);
+      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
+        throw new InvalidArgumentError("invalid transfer-encoding header");
+      } else if (key.length === 10 && key.toLowerCase() === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
+        } else if (value === "close") {
+          request2.reset = true;
+        }
+      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
+        throw new InvalidArgumentError("invalid keep-alive header");
+      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
+        throw new InvalidArgumentError("invalid upgrade header");
+      } else if (key.length === 6 && key.toLowerCase() === "expect") {
+        throw new NotSupportedError("expect header not supported");
+      } else if (tokenRegExp.exec(key) === null) {
+        throw new InvalidArgumentError("invalid header key");
       } else {
-        seen = iteratee ? [] : result;
-      }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee ? iteratee(value) : value;
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var seenIndex = seen.length;
-            while (seenIndex--) {
-              if (seen[seenIndex] === computed) {
-                continue outer;
-              }
-            }
-            if (iteratee) {
-              seen.push(computed);
-            }
-            result.push(value);
-          } else if (!includes(seen, computed, comparator)) {
-            if (seen !== result) {
-              seen.push(computed);
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (skipAppend) {
+              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
+              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
+            } else {
+              request2.headers += processHeaderValue(key, val[i]);
             }
-            result.push(value);
           }
+        } else {
+          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+          else request2.headers += processHeaderValue(key, val);
         }
-      return result;
-    }
-    module2.exports = baseUniq;
-  }
-});
-
-// node_modules/lodash/union.js
-var require_union = __commonJS({
-  "node_modules/lodash/union.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var baseUniq = require_baseUniq();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var union = baseRest(function(arrays) {
-      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
-    });
-    module2.exports = union;
-  }
-});
-
-// node_modules/lodash/_overArg.js
-var require_overArg = __commonJS({
-  "node_modules/lodash/_overArg.js"(exports2, module2) {
-    function overArg(func, transform) {
-      return function(arg) {
-        return func(transform(arg));
-      };
+      }
     }
-    module2.exports = overArg;
-  }
-});
-
-// node_modules/lodash/_getPrototype.js
-var require_getPrototype = __commonJS({
-  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
-    var overArg = require_overArg();
-    var getPrototype = overArg(Object.getPrototypeOf, Object);
-    module2.exports = getPrototype;
+    module2.exports = Request;
   }
 });
 
-// node_modules/lodash/isPlainObject.js
-var require_isPlainObject = __commonJS({
-  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var getPrototype = require_getPrototype();
-    var isObjectLike = require_isObjectLike();
-    var objectTag = "[object Object]";
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var objectCtorString = funcToString.call(Object);
-    function isPlainObject3(value) {
-      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
-        return false;
+// node_modules/undici/lib/dispatcher.js
+var require_dispatcher3 = __commonJS({
+  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      var proto = getPrototype(value);
-      if (proto === null) {
-        return true;
+      close() {
+        throw new Error("not implemented");
       }
-      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
-      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
-    }
-    module2.exports = isPlainObject3;
+      destroy() {
+        throw new Error("not implemented");
+      }
+    };
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
-var require_commonjs18 = __commonJS({
-  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/dispatcher-base.js
+var require_dispatcher_base3 = __commonJS({
+  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.range = exports2.balanced = void 0;
-    var balanced = (a, b, str2) => {
-      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
-      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
-      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
-      return r && {
-        start: r[0],
-        end: r[1],
-        pre: str2.slice(0, r[0]),
-        body: str2.slice(r[0] + ma.length, r[1]),
-        post: str2.slice(r[1] + mb.length)
-      };
-    };
-    exports2.balanced = balanced;
-    var maybeMatch = (reg, str2) => {
-      const m = str2.match(reg);
-      return m ? m[0] : null;
-    };
-    var range = (a, b, str2) => {
-      let begs, beg, left, right = void 0, result;
-      let ai = str2.indexOf(a);
-      let bi = str2.indexOf(b, ai + 1);
-      let i = ai;
-      if (ai >= 0 && bi > 0) {
-        if (a === b) {
-          return [ai, bi];
+    var Dispatcher = require_dispatcher3();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors6();
+    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols11();
+    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
+    var kClosed = /* @__PURE__ */ Symbol("closed");
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
+      }
+      get destroyed() {
+        return this[kDestroyed];
+      }
+      get closed() {
+        return this[kClosed];
+      }
+      get interceptors() {
+        return this[kInterceptors];
+      }
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
+            }
+          }
         }
-        begs = [];
-        left = str2.length;
-        while (i >= 0 && !result) {
-          if (i === ai) {
-            begs.push(i);
-            ai = str2.indexOf(a, i + 1);
-          } else if (begs.length === 1) {
-            const r = begs.pop();
-            if (r !== void 0)
-              result = [r, bi];
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve8, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve8(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+          return;
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
           } else {
-            beg = begs.pop();
-            if (beg !== void 0 && beg < left) {
-              left = beg;
-              right = bi;
-            }
-            bi = str2.indexOf(b, i + 1);
+            queueMicrotask(() => callback(null, null));
           }
-          i = ai < bi && ai >= 0 ? ai : bi;
+          return;
         }
-        if (begs.length && right !== void 0) {
-          result = [left, right];
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
+        });
+      }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve8, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve8(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
+        }
+        if (!err) {
+          err = new ClientDestroyedError();
+        }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
+        });
+      }
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
+        }
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
+        }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
+      }
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
+        }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
+          }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
+          }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
+          }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
+          }
+          handler2.onError(err);
+          return false;
         }
       }
-      return result;
     };
-    exports2.range = range;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
-var require_commonjs19 = __commonJS({
-  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/core/connect.js
+var require_connect3 = __commonJS({
+  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.expand = expand2;
-    var balanced_match_1 = require_commonjs18();
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    var escSlashPattern = new RegExp(escSlash, "g");
-    var escOpenPattern = new RegExp(escOpen, "g");
-    var escClosePattern = new RegExp(escClose, "g");
-    var escCommaPattern = new RegExp(escComma, "g");
-    var escPeriodPattern = new RegExp(escPeriod, "g");
-    var slashPattern = /\\\\/g;
-    var openPattern = /\\{/g;
-    var closePattern = /\\}/g;
-    var commaPattern = /\\,/g;
-    var periodPattern = /\\./g;
-    function numeric(str2) {
-      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2) {
-        return [""];
-      }
-      const parts = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m) {
-        return str2.split(",");
-      }
-      const { pre, body, post } = m;
-      const p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      const postParts = parseCommaParts(post);
-      if (post.length) {
-        ;
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
-      }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expand2(str2) {
-      if (!str2) {
-        return [];
-      }
-      if (str2.slice(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.slice(2);
-      }
-      return expand_(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand_(str2, isTop) {
-      const expansions = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m)
-        return [str2];
-      const pre = m.pre;
-      const post = m.post.length ? expand_(m.post, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (let k = 0; k < post.length; k++) {
-          const expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
+    var net = require("net");
+    var assert = require("assert");
+    var util = require_util24();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors6();
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
         }
-      } else {
-        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        const isSequence = isNumericSequence || isAlphaSequence;
-        const isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand_(str2);
-          }
-          return [str2];
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-        let n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1 && n[0] !== void 0) {
-            n = expand_(n[0], false).map(embrace);
-            if (n.length === 1) {
-              return post.map((p) => m.pre + n[0] + p);
-            }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-        let N;
-        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
-          const x = numeric(n[0]);
-          const y = numeric(n[1]);
-          const width = Math.max(n[0].length, n[1].length);
-          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
-          let test = lte;
-          const reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+        }
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          const pad = n.some(isPadded);
-          N = [];
-          for (let i = x; test(i, y); i += incr) {
-            let c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\") {
-                c = "";
-              }
-            } else {
-              c = String(i);
-              if (pad) {
-                const need = width - c.length;
-                if (need > 0) {
-                  const z = new Array(need + 1).join("0");
-                  if (i < 0) {
-                    c = "-" + z + c.slice(1);
-                  } else {
-                    c = z + c;
-                  }
-                }
-              }
-            }
-            N.push(c);
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
+          }
+          this._sessionCache.set(sessionKey, session);
+        }
+      };
+    }
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+      }
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          const session = sessionCache.get(sessionKey) || null;
+          assert(sessionKey);
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port: port || 443,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
         } else {
-          N = [];
-          for (let j = 0; j < n.length; j++) {
-            N.push.apply(N, expand_(n[j], false));
-          }
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port: port || 80,
+            host: hostname
+          });
         }
-        for (let j = 0; j < N.length; j++) {
-          for (let k = 0; k < post.length; k++) {
-            const expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion) {
-              expansions.push(expansion);
-            }
-          }
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
+        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
+          }
+        }).on("error", function(err) {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
+          }
+        });
+        return socket;
+      };
+    }
+    function setupTimeout(onConnectTimeout2, timeout) {
+      if (!timeout) {
+        return () => {
+        };
       }
-      return expansions;
+      let s1 = null;
+      let s2 = null;
+      const timeoutId = setTimeout(() => {
+        s1 = setImmediate(() => {
+          if (process.platform === "win32") {
+            s2 = setImmediate(() => onConnectTimeout2());
+          } else {
+            onConnectTimeout2();
+          }
+        });
+      }, timeout);
+      return () => {
+        clearTimeout(timeoutId);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
     }
+    function onConnectTimeout(socket) {
+      util.destroy(socket, new ConnectTimeoutError());
+    }
+    module2.exports = buildConnector;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
-var require_assert_valid_pattern = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
+// node_modules/undici/lib/llhttp/utils.js
+var require_utils9 = __commonJS({
+  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertValidPattern = void 0;
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
-      }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
-      }
-    };
-    exports2.assertValidPattern = assertValidPattern;
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
+        }
+      });
+      return res;
+    }
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
-var require_brace_expressions = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
+// node_modules/undici/lib/llhttp/constants.js
+var require_constants22 = __commonJS({
+  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseClass = void 0;
-    var posixClasses = {
-      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
-      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
-      "[:ascii:]": ["\\x00-\\x7f", false],
-      "[:blank:]": ["\\p{Zs}\\t", true],
-      "[:cntrl:]": ["\\p{Cc}", true],
-      "[:digit:]": ["\\p{Nd}", true],
-      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
-      "[:lower:]": ["\\p{Ll}", true],
-      "[:print:]": ["\\p{C}", true],
-      "[:punct:]": ["\\p{P}", true],
-      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
-      "[:upper:]": ["\\p{Lu}", true],
-      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
-      "[:xdigit:]": ["A-Fa-f0-9", false]
-    };
-    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
-    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var rangesToString = (ranges) => ranges.join("");
-    var parseClass = (glob2, position) => {
-      const pos = position;
-      if (glob2.charAt(pos) !== "[") {
-        throw new Error("not in a brace expression");
-      }
-      const ranges = [];
-      const negs = [];
-      let i = pos + 1;
-      let sawStart = false;
-      let uflag = false;
-      let escaping = false;
-      let negate2 = false;
-      let endPos = pos;
-      let rangeStart = "";
-      WHILE: while (i < glob2.length) {
-        const c = glob2.charAt(i);
-        if ((c === "!" || c === "^") && i === pos + 1) {
-          negate2 = true;
-          i++;
-          continue;
-        }
-        if (c === "]" && sawStart && !escaping) {
-          endPos = i + 1;
-          break;
-        }
-        sawStart = true;
-        if (c === "\\") {
-          if (!escaping) {
-            escaping = true;
-            i++;
-            continue;
-          }
-        }
-        if (c === "[" && !escaping) {
-          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
-            if (glob2.startsWith(cls, i)) {
-              if (rangeStart) {
-                return ["$.", false, glob2.length - pos, true];
-              }
-              i += cls.length;
-              if (neg)
-                negs.push(unip);
-              else
-                ranges.push(unip);
-              uflag = uflag || u;
-              continue WHILE;
-            }
-          }
-        }
-        escaping = false;
-        if (rangeStart) {
-          if (c > rangeStart) {
-            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
-          } else if (c === rangeStart) {
-            ranges.push(braceEscape(c));
-          }
-          rangeStart = "";
-          i++;
-          continue;
-        }
-        if (glob2.startsWith("-]", i + 1)) {
-          ranges.push(braceEscape(c + "-"));
-          i += 2;
-          continue;
-        }
-        if (glob2.startsWith("-", i + 1)) {
-          rangeStart = c;
-          i += 2;
-          continue;
-        }
-        ranges.push(braceEscape(c));
-        i++;
-      }
-      if (endPos < i) {
-        return ["", false, 0, false];
-      }
-      if (!ranges.length && !negs.length) {
-        return ["$.", false, glob2.length - pos, true];
-      }
-      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate2) {
-        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
-        return [regexpEscape(r), false, endPos - pos, false];
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils9();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
       }
-      const sranges = "[" + (negate2 ? "^" : "") + rangesToString(ranges) + "]";
-      const snegs = "[" + (negate2 ? "" : "^") + rangesToString(negs) + "]";
-      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
-      return [comb, uflag, endPos - pos, true];
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
     };
-    exports2.parseClass = parseClass;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
-var require_unescape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = void 0;
-    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
+    exports2.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
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
       }
-      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
+    }
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
     };
-    exports2.unescape = unescape;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
-var require_ast = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
+// node_modules/undici/lib/handler/RedirectHandler.js
+var require_RedirectHandler = __commonJS({
+  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AST = void 0;
-    var brace_expressions_js_1 = require_brace_expressions();
-    var unescape_js_1 = require_unescape();
-    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
-    var isExtglobType = (c) => types.has(c);
-    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
-    var startNoDot = "(?!\\.)";
-    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
-    var justDots = /* @__PURE__ */ new Set(["..", "."]);
-    var reSpecials = new Set("().*{}+?[]^$\\!");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var starNoEmpty = qmark + "+?";
-    var AST = class _AST {
-      type;
-      #root;
-      #hasMagic;
-      #uflag = false;
-      #parts = [];
-      #parent;
-      #parentIndex;
-      #negs;
-      #filledNegs = false;
-      #options;
-      #toString;
-      // set to true if it's an extglob with no children
-      // (which really means one child of '')
-      #emptyExt = false;
-      constructor(type2, parent, options = {}) {
-        this.type = type2;
-        if (type2)
-          this.#hasMagic = true;
-        this.#parent = parent;
-        this.#root = this.#parent ? this.#parent.#root : this;
-        this.#options = this.#root === this ? options : this.#root.#options;
-        this.#negs = this.#root === this ? [] : this.#root.#negs;
-        if (type2 === "!" && !this.#root.#filledNegs)
-          this.#negs.push(this);
-        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
+    var util = require_util24();
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { InvalidArgumentError } = require_errors6();
+    var EE = require("events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
       }
-      get hasMagic() {
-        if (this.#hasMagic !== void 0)
-          return this.#hasMagic;
-        for (const p of this.#parts) {
-          if (typeof p === "string")
-            continue;
-          if (p.type || p.hasMagic)
-            return this.#hasMagic = true;
-        }
-        return this.#hasMagic;
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
       }
-      // reconstructs the pattern
-      toString() {
-        if (this.#toString !== void 0)
-          return this.#toString;
-        if (!this.type) {
-          return this.#toString = this.#parts.map((p) => String(p)).join("");
-        } else {
-          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-      }
-      #fillNegs() {
-        if (this !== this.#root)
-          throw new Error("should only call on root");
-        if (this.#filledNegs)
-          return this;
-        this.toString();
-        this.#filledNegs = true;
-        let n;
-        while (n = this.#negs.pop()) {
-          if (n.type !== "!")
-            continue;
-          let p = n;
-          let pp = p.#parent;
-          while (pp) {
-            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
-              for (const part of n.#parts) {
-                if (typeof part === "string") {
-                  throw new Error("string part in extglob AST??");
-                }
-                part.copyIn(pp.#parts[i]);
-              }
-            }
-            p = pp;
-            pp = p.#parent;
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
           }
-        }
-        return this;
-      }
-      push(...parts) {
-        for (const p of parts) {
-          if (p === "")
-            continue;
-          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
-            throw new Error("invalid part: " + p);
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
           }
-          this.#parts.push(p);
-        }
-      }
-      toJSON() {
-        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
-        if (this.isStart() && !this.type)
-          ret.unshift([]);
-        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
-          ret.push({});
+        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
         }
-        return ret;
       }
-      isStart() {
-        if (this.#root === this)
-          return true;
-        if (!this.#parent?.isStart())
-          return false;
-        if (this.#parentIndex === 0)
-          return true;
-        const p = this.#parent;
-        for (let i = 0; i < this.#parentIndex; i++) {
-          const pp = p.#parts[i];
-          if (!(pp instanceof _AST && pp.type === "!")) {
-            return false;
-          }
-        }
-        return true;
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      isEnd() {
-        if (this.#root === this)
-          return true;
-        if (this.#parent?.type === "!")
-          return true;
-        if (!this.#parent?.isEnd())
-          return false;
-        if (!this.type)
-          return this.#parent?.isEnd();
-        const pl = this.#parent ? this.#parent.#parts.length : 0;
-        return this.#parentIndex === pl - 1;
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      copyIn(part) {
-        if (typeof part === "string")
-          this.push(part);
-        else
-          this.push(part.clone(this));
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      clone(parent) {
-        const c = new _AST(this.type, parent);
-        for (const p of this.#parts) {
-          c.copyIn(p);
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
         }
-        return c;
-      }
-      static #parseAST(str2, ast, pos, opt) {
-        let escaping = false;
-        let inBrace = false;
-        let braceStart = -1;
-        let braceNeg = false;
-        if (ast.type === null) {
-          let i2 = pos;
-          let acc2 = "";
-          while (i2 < str2.length) {
-            const c = str2.charAt(i2++);
-            if (escaping || c === "\\") {
-              escaping = !escaping;
-              acc2 += c;
-              continue;
-            }
-            if (inBrace) {
-              if (i2 === braceStart + 1) {
-                if (c === "^" || c === "!") {
-                  braceNeg = true;
-                }
-              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
-                inBrace = false;
-              }
-              acc2 += c;
-              continue;
-            } else if (c === "[") {
-              inBrace = true;
-              braceStart = i2;
-              braceNeg = false;
-              acc2 += c;
-              continue;
-            }
-            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
-              ast.push(acc2);
-              acc2 = "";
-              const ext = new _AST(c, ast);
-              i2 = _AST.#parseAST(str2, ext, i2, opt);
-              ast.push(ext);
-              continue;
-            }
-            acc2 += c;
-          }
-          ast.push(acc2);
-          return i2;
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
         }
-        let i = pos + 1;
-        let part = new _AST(null, ast);
-        const parts = [];
-        let acc = "";
-        while (i < str2.length) {
-          const c = str2.charAt(i++);
-          if (escaping || c === "\\") {
-            escaping = !escaping;
-            acc += c;
-            continue;
-          }
-          if (inBrace) {
-            if (i === braceStart + 1) {
-              if (c === "^" || c === "!") {
-                braceNeg = true;
-              }
-            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
-              inBrace = false;
-            }
-            acc += c;
-            continue;
-          } else if (c === "[") {
-            inBrace = true;
-            braceStart = i;
-            braceNeg = false;
-            acc += c;
-            continue;
-          }
-          if (isExtglobType(c) && str2.charAt(i) === "(") {
-            part.push(acc);
-            acc = "";
-            const ext = new _AST(c, part);
-            part.push(ext);
-            i = _AST.#parseAST(str2, ext, i, opt);
-            continue;
-          }
-          if (c === "|") {
-            part.push(acc);
-            acc = "";
-            parts.push(part);
-            part = new _AST(null, ast);
-            continue;
-          }
-          if (c === ")") {
-            if (acc === "" && ast.#parts.length === 0) {
-              ast.#emptyExt = true;
-            }
-            part.push(acc);
-            acc = "";
-            ast.push(...parts, part);
-            return i;
-          }
-          acc += c;
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path16 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path16;
+        this.opts.origin = origin;
+        this.opts.maxRedirections = 0;
+        this.opts.query = null;
+        if (statusCode === 303 && this.opts.method !== "HEAD") {
+          this.opts.method = "GET";
+          this.opts.body = null;
         }
-        ast.type = null;
-        ast.#hasMagic = void 0;
-        ast.#parts = [str2.substring(pos - 1)];
-        return i;
-      }
-      static fromGlob(pattern, options = {}) {
-        const ast = new _AST(null, void 0, options);
-        _AST.#parseAST(pattern, ast, 0, options);
-        return ast;
       }
-      // returns the regular expression if there's magic, or the unescaped
-      // string if not.
-      toMMPattern() {
-        if (this !== this.#root)
-          return this.#root.toMMPattern();
-        const glob2 = this.toString();
-        const [re, body, hasMagic, uflag] = this.toRegExpSource();
-        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
-        if (!anyMagic) {
-          return body;
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
-        return Object.assign(new RegExp(`^${re}$`, flags), {
-          _src: re,
-          _glob: glob2
-        });
       }
-      get options() {
-        return this.#options;
-      }
-      // returns the string match, the regexp source, whether there's magic
-      // in the regexp (so a regular expression is required) and whether or
-      // not the uflag is needed for the regular expression (for posix classes)
-      // TODO: instead of injecting the start/end at this point, just return
-      // the BODY of the regexp, along with the start/end portions suitable
-      // for binding the start/end in either a joined full-path makeRe context
-      // (where we bind to (^|/), or a standalone matchPart context (where
-      // we bind to ^, and not /).  Otherwise slashes get duped!
-      //
-      // In part-matching mode, the start is:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: ^(?!\.\.?$)
-      // - if dots allowed or not possible: ^
-      // - if dots possible and not allowed: ^(?!\.)
-      // end is:
-      // - if not isEnd(): nothing
-      // - else: $
-      //
-      // In full-path matching mode, we put the slash at the START of the
-      // pattern, so start is:
-      // - if first pattern: same as part-matching mode
-      // - if not isStart(): nothing
-      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
-      // - if dots allowed or not possible: /
-      // - if dots possible and not allowed: /(?!\.)
-      // end is:
-      // - if last pattern, same as part-matching mode
-      // - else nothing
-      //
-      // Always put the (?:$|/) on negated tails, though, because that has to be
-      // there to bind the end of the negated pattern portion, and it's easier to
-      // just stick it in now rather than try to inject it later in the middle of
-      // the pattern.
-      //
-      // We can just always return the same end, and leave it up to the caller
-      // to know whether it's going to be used joined or in parts.
-      // And, if the start is adjusted slightly, can do the same there:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
-      // - if dots allowed or not possible: (?:/|^)
-      // - if dots possible and not allowed: (?:/|^)(?!\.)
-      //
-      // But it's better to have a simpler binding without a conditional, for
-      // performance, so probably better to return both start options.
-      //
-      // Then the caller just ignores the end if it's not the first pattern,
-      // and the start always gets applied.
-      //
-      // But that's always going to be $ if it's the ending pattern, or nothing,
-      // so the caller can just attach $ at the end of the pattern when building.
-      //
-      // So the todo is:
-      // - better detect what kind of start is needed
-      // - return both flavors of starting pattern
-      // - attach $ at the end of the pattern when creating the actual RegExp
-      //
-      // Ah, but wait, no, that all only applies to the root when the first pattern
-      // is not an extglob. If the first pattern IS an extglob, then we need all
-      // that dot prevention biz to live in the extglob portions, because eg
-      // +(*|.x*) can match .xy but not .yx.
-      //
-      // So, return the two flavors if it's #root and the first child is not an
-      // AST, otherwise leave it to the child AST to handle it, and there,
-      // use the (?:^|/) style of start binding.
-      //
-      // Even simplified further:
-      // - Since the start for a join is eg /(?!\.) and the start for a part
-      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
-      // or start or whatever) and prepend ^ or / at the Regexp construction.
-      toRegExpSource(allowDot) {
-        const dot = allowDot ?? !!this.#options.dot;
-        if (this.#root === this)
-          this.#fillNegs();
-        if (!this.type) {
-          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
-          const src = this.#parts.map((p) => {
-            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
-            this.#hasMagic = this.#hasMagic || hasMagic;
-            this.#uflag = this.#uflag || uflag;
-            return re;
-          }).join("");
-          let start2 = "";
-          if (this.isStart()) {
-            if (typeof this.#parts[0] === "string") {
-              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
-              if (!dotTravAllowed) {
-                const aps = addPatternStart;
-                const needNoTrav = (
-                  // dots are allowed, and the pattern starts with [ or .
-                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
-                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
-                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
-                );
-                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
-                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
-              }
-            }
-          }
-          let end = "";
-          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
-            end = "(?:$|\\/)";
-          }
-          const final2 = start2 + src + end;
-          return [
-            final2,
-            (0, unescape_js_1.unescape)(src),
-            this.#hasMagic = !!this.#hasMagic,
-            this.#uflag
-          ];
-        }
-        const repeated = this.type === "*" || this.type === "+";
-        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
-        let body = this.#partsToRegExp(dot);
-        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
-          const s = this.toString();
-          this.#parts = [s];
-          this.type = null;
-          this.#hasMagic = void 0;
-          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
-        }
-        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
-        if (bodyDotAllowed === body) {
-          bodyDotAllowed = "";
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
         }
-        if (bodyDotAllowed) {
-          body = `(?:${body})(?:${bodyDotAllowed})*?`;
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
         }
-        let final = "";
-        if (this.type === "!" && this.#emptyExt) {
-          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
-        } else {
-          const close = this.type === "!" ? (
-            // !() must match something,but !(x) can match ''
-            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
-          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
-          final = start + body + close;
+      }
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
+      }
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].toString().toLowerCase() === "location") {
+          return headers[i + 1];
         }
-        return [
-          final,
-          (0, unescape_js_1.unescape)(body),
-          this.#hasMagic = !!this.#hasMagic,
-          this.#uflag
-        ];
       }
-      #partsToRegExp(dot) {
-        return this.#parts.map((p) => {
-          if (typeof p === "string") {
-            throw new Error("string type in extglob ast??");
-          }
-          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
-          this.#uflag = this.#uflag || uflag;
-          return re;
-        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
+    }
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      static #parseGlob(glob2, hasMagic, noEmpty = false) {
-        let escaping = false;
-        let re = "";
-        let uflag = false;
-        for (let i = 0; i < glob2.length; i++) {
-          const c = glob2.charAt(i);
-          if (escaping) {
-            escaping = false;
-            re += (reSpecials.has(c) ? "\\" : "") + c;
-            continue;
-          }
-          if (c === "\\") {
-            if (i === glob2.length - 1) {
-              re += "\\\\";
-            } else {
-              escaping = true;
-            }
-            continue;
-          }
-          if (c === "[") {
-            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
-            if (consumed) {
-              re += src;
-              uflag = uflag || needUflag;
-              i += consumed - 1;
-              hasMagic = hasMagic || magic;
-              continue;
-            }
-          }
-          if (c === "*") {
-            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
-            hasMagic = true;
-            continue;
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
+      }
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+      }
+      return false;
+    }
+    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
+      const ret = [];
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
+            ret.push(headers[i], headers[i + 1]);
           }
-          if (c === "?") {
-            re += qmark;
-            hasMagic = true;
-            continue;
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
-          re += regExpEscape(c);
         }
-        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-    };
-    exports2.AST = AST;
+      return ret;
+    }
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
-var require_escape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
+// node_modules/undici/lib/interceptor/redirectInterceptor.js
+var require_redirectInterceptor = __commonJS({
+  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escape = void 0;
-    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
-      }
-      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
-    };
-    exports2.escape = escape;
+    var RedirectHandler = require_RedirectHandler();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
+          }
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
+        };
+      };
+    }
+    module2.exports = createRedirectInterceptor;
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js
-var require_commonjs20 = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
+  }
+});
+
+// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+  }
+});
+
+// node_modules/undici/lib/client.js
+var require_client3 = __commonJS({
+  "node_modules/undici/lib/client.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
-    var brace_expansion_1 = require_commonjs19();
-    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
-    var ast_js_1 = require_ast();
-    var escape_js_1 = require_escape();
-    var unescape_js_1 = require_unescape();
-    var minimatch = (p, pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
-      }
-      return new Minimatch(pattern, options).match(p);
-    };
-    exports2.minimatch = minimatch;
-    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
-    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
-    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
-    var starDotExtTestNocase = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
-    };
-    var starDotExtTestNocaseDot = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => f.toLowerCase().endsWith(ext2);
-    };
-    var starDotStarRE = /^\*+\.\*+$/;
-    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
-    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
-    var dotStarRE = /^\.\*+$/;
-    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
-    var starRE = /^\*+$/;
-    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
-    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
-    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
-    var qmarksTestNocase = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTest = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTestNoExt = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && !f.startsWith(".");
-    };
-    var qmarksTestNoExtDot = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && f !== "." && f !== "..";
-    };
-    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
-    var path16 = {
-      win32: { sep: "\\" },
-      posix: { sep: "/" }
-    };
-    exports2.sep = defaultPlatform === "win32" ? path16.win32.sep : path16.posix.sep;
-    exports2.minimatch.sep = exports2.sep;
-    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
-    exports2.filter = filter;
-    exports2.minimatch.filter = exports2.filter;
-    var ext = (a, b = {}) => Object.assign({}, a, b);
-    var defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return exports2.minimatch;
-      }
-      const orig = exports2.minimatch;
-      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
-      return Object.assign(m, {
-        Minimatch: class Minimatch extends orig.Minimatch {
-          constructor(pattern, options = {}) {
-            super(pattern, ext(def, options));
-          }
-          static defaults(options) {
-            return orig.defaults(ext(def, options)).Minimatch;
-          }
-        },
-        AST: class AST extends orig.AST {
-          /* c8 ignore start */
-          constructor(type2, parent, options = {}) {
-            super(type2, parent, ext(def, options));
-          }
-          /* c8 ignore stop */
-          static fromGlob(pattern, options = {}) {
-            return orig.AST.fromGlob(pattern, ext(def, options));
-          }
-        },
-        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
-        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
-        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
-        defaults: (options) => orig.defaults(ext(def, options)),
-        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
-        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
-        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
-        sep: orig.sep,
-        GLOBSTAR: exports2.GLOBSTAR
-      });
-    };
-    exports2.defaults = defaults;
-    exports2.minimatch.defaults = exports2.defaults;
-    var braceExpand = (pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
-      }
-      return (0, brace_expansion_1.expand)(pattern);
-    };
-    exports2.braceExpand = braceExpand;
-    exports2.minimatch.braceExpand = exports2.braceExpand;
-    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
-    exports2.makeRe = makeRe;
-    exports2.minimatch.makeRe = exports2.makeRe;
-    var match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+    var assert = require("assert");
+    var net = require("net");
+    var http = require("http");
+    var { pipeline } = require("stream");
+    var util = require_util24();
+    var timers = require_timers3();
+    var Request = require_request5();
+    var DispatcherBase = require_dispatcher_base3();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      InvalidArgumentError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError,
+      ClientDestroyedError
+    } = require_errors6();
+    var buildConnector = require_connect3();
+    var {
+      kUrl,
+      kReset,
+      kServerName,
+      kClient,
+      kBusy,
+      kParser,
+      kConnect,
+      kBlocking,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kHTTPConnVersion,
+      // HTTP2
+      kHost,
+      kHTTP2Session,
+      kHTTP2SessionState,
+      kHTTP2BuildRequest,
+      kHTTP2CopyHeaders,
+      kHTTP1BuildRequest
+    } = require_symbols11();
+    var http2;
+    try {
+      http2 = require("http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
       }
-      return list;
-    };
-    exports2.match = match;
-    exports2.minimatch.match = exports2.match;
-    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var Minimatch = class {
-      options;
-      set;
-      pattern;
-      windowsPathsNoEscape;
-      nonegate;
-      negate;
-      comment;
-      empty;
-      preserveMultipleSlashes;
-      partial;
-      globSet;
-      globParts;
-      nocase;
-      isWindows;
-      platform;
-      windowsNoMagicRoot;
-      regexp;
-      constructor(pattern, options = {}) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        options = options || {};
-        this.options = options;
-        this.pattern = pattern;
-        this.platform = options.platform || defaultPlatform;
-        this.isWindows = this.platform === "win32";
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
+    } = http2;
+    var h2ExperimentalWarned = false;
+    var FastBuffer = Buffer[Symbol.species];
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var channels = {};
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
+      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
+      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
+      channels.connected = diagnosticsChannel.channel("undici:client:connected");
+    } catch {
+      channels.sendHeaders = { hasSubscribers: false };
+      channels.beforeConnect = { hasSubscribers: false };
+      channels.connectError = { hasSubscribers: false };
+      channels.connected = { hasSubscribers: false };
+    }
+    var Client = class extends DispatcherBase {
+      /**
+       *
+       * @param {string|URL} url
+       * @param {import('../types/client').Client.Options} options
+       */
+      constructor(url2, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        allowH2,
+        maxConcurrentStreams
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
         }
-        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
-        this.regexp = null;
-        this.negate = false;
-        this.nonegate = !!options.nonegate;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.nocase = !!this.options.nocase;
-        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
-        this.globSet = [];
-        this.globParts = [];
-        this.set = [];
-        this.make();
-      }
-      hasMagic() {
-        if (this.options.magicalBraces && this.set.length > 1) {
-          return true;
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        for (const pattern of this.set) {
-          for (const part of pattern) {
-            if (typeof part !== "string")
-              return true;
-          }
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        return false;
-      }
-      debug(..._2) {
-      }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        if (!pattern) {
-          this.empty = true;
-          return;
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-        this.parseNegate();
-        this.globSet = [...new Set(this.braceExpand())];
-        if (options.debug) {
-          this.debug = (...args) => console.error(...args);
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
         }
-        this.debug(this.pattern, this.globSet);
-        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
-        this.globParts = this.preprocess(rawGlobParts);
-        this.debug(this.pattern, this.globParts);
-        let set2 = this.globParts.map((s, _2, __) => {
-          if (this.isWindows && this.windowsNoMagicRoot) {
-            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
-            const isDrive = /^[a-z]:/i.test(s[0]);
-            if (isUNC) {
-              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
-            } else if (isDrive) {
-              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
-            }
-          }
-          return s.map((ss) => this.parse(ss));
-        });
-        this.debug(this.pattern, set2);
-        this.set = set2.filter((s) => s.indexOf(false) === -1);
-        if (this.isWindows) {
-          for (let i = 0; i < this.set.length; i++) {
-            const p = this.set[i];
-            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
-              p[2] = "?";
-            }
-          }
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
         }
-        this.debug(this.pattern, this.set);
-      }
-      // various transforms to equivalent pattern sets that are
-      // faster to process in a filesystem walk.  The goal is to
-      // eliminate what we can, and push all ** patterns as far
-      // to the right as possible, even if it increases the number
-      // of patterns that we have to process.
-      preprocess(globParts) {
-        if (this.options.noglobstar) {
-          for (let i = 0; i < globParts.length; i++) {
-            for (let j = 0; j < globParts[i].length; j++) {
-              if (globParts[i][j] === "**") {
-                globParts[i][j] = "*";
-              }
-            }
-          }
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          globParts = this.firstPhasePreProcess(globParts);
-          globParts = this.secondPhasePreProcess(globParts);
-        } else if (optimizationLevel >= 1) {
-          globParts = this.levelOneOptimize(globParts);
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
+        }
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        }
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        }
+        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        }
+        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        }
+        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+        }
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        }
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        }
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        }
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        }
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
+        }
+        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        this[kUrl] = util.parseOrigin(url2);
+        this[kConnector] = connect2;
+        this[kSocket] = null;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kHTTPConnVersion] = "h1";
+        this[kHTTP2Session] = null;
+        this[kHTTP2SessionState] = !allowH2 ? null : {
+          // streams: null, // Fixed queue of streams - For future support of `push`
+          openStreams: 0,
+          // Keep track of them to decide wether or not unref the session
+          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
+          // Max peerConcurrentStreams for a Node h2 server
+        };
+        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
+      }
+      get pipelining() {
+        return this[kPipelining];
+      }
+      set pipelining(value) {
+        this[kPipelining] = value;
+        resume(this, true);
+      }
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
+      }
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
+      }
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
+      }
+      get [kConnected]() {
+        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      }
+      get [kBusy]() {
+        const socket = this[kSocket];
+        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      }
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
+      }
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          process.nextTick(resume, this);
         } else {
-          globParts = this.adjascentGlobstarOptimize(globParts);
+          resume(this, true);
         }
-        return globParts;
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
+        }
+        return this[kNeedDrain] < 2;
       }
-      // just get rid of adjascent ** portions
-      adjascentGlobstarOptimize(globParts) {
-        return globParts.map((parts) => {
-          let gs = -1;
-          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-            let i = gs;
-            while (parts[i + 1] === "**") {
-              i++;
-            }
-            if (i !== gs) {
-              parts.splice(gs, i - gs);
-            }
+      async [kClose]() {
+        return new Promise((resolve8) => {
+          if (!this[kSize]) {
+            resolve8(null);
+          } else {
+            this[kClosedResolve] = resolve8;
           }
-          return parts;
         });
       }
-      // get rid of adjascent ** and resolve .. portions
-      levelOneOptimize(globParts) {
-        return globParts.map((parts) => {
-          parts = parts.reduce((set2, part) => {
-            const prev = set2[set2.length - 1];
-            if (part === "**" && prev === "**") {
-              return set2;
-            }
-            if (part === "..") {
-              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
-                set2.pop();
-                return set2;
-              }
+      async [kDestroy](err) {
+        return new Promise((resolve8) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            errorRequest2(this, request2, err);
+          }
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
             }
-            set2.push(part);
-            return set2;
-          }, []);
-          return parts.length === 0 ? [""] : parts;
+            resolve8();
+          };
+          if (this[kHTTP2Session] != null) {
+            util.destroy(this[kHTTP2Session], err);
+            this[kHTTP2Session] = null;
+            this[kHTTP2SessionState] = null;
+          }
+          if (!this[kSocket]) {
+            queueMicrotask(callback);
+          } else {
+            util.destroy(this[kSocket].on("close", callback), err);
+          }
+          resume(this);
         });
       }
-      levelTwoFileOptimize(parts) {
-        if (!Array.isArray(parts)) {
-          parts = this.slashSplit(parts);
+    };
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      onError(this[kClient], err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+      if (id === 0) {
+        this[kSocket][kError] = err;
+        onError(this[kClient], err);
+      }
+    }
+    function onHttp2SessionEnd() {
+      util.destroy(this, new SocketError("other side closed"));
+      util.destroy(this[kSocket], new SocketError("other side closed"));
+    }
+    function onHTTP2GoAway(code) {
+      const client = this[kClient];
+      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
+      client[kSocket] = null;
+      client[kHTTP2Session] = null;
+      if (client.destroyed) {
+        assert(this[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(this, request2, err);
         }
-        let didSomething = false;
-        do {
-          didSomething = false;
-          if (!this.preserveMultipleSlashes) {
-            for (let i = 1; i < parts.length - 1; i++) {
-              const p = parts[i];
-              if (i === 1 && p === "" && parts[0] === "")
-                continue;
-              if (p === "." || p === "") {
-                didSomething = true;
-                parts.splice(i, 1);
-                i--;
-              }
-            }
-            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-              didSomething = true;
-              parts.pop();
-            }
-          }
-          let dd = 0;
-          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-            const p = parts[dd - 1];
-            if (p && p !== "." && p !== ".." && p !== "**") {
-              didSomething = true;
-              parts.splice(dd - 1, 2);
-              dd -= 2;
-            }
-          }
-        } while (didSomething);
-        return parts.length === 0 ? [""] : parts;
+      } else if (client[kRunning] > 0) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
       }
-      // First phase: single-pattern processing
-      // 
 is 1 or more portions
-      //  is 1 or more portions
-      // 

is any portion other than ., .., '', or ** - // is . or '' - // - // **/.. is *brutal* for filesystem walking performance, because - // it effectively resets the recursive walk each time it occurs, - // and ** cannot be reduced out by a .. pattern part like a regexp - // or most strings (other than .., ., and '') can be. - // - //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} - //

// -> 
/
-      // 
/

/../ ->

/
-      // **/**/ -> **/
-      //
-      // **/*/ -> */**/ <== not valid because ** doesn't follow
-      // this WOULD be allowed if ** did follow symlinks, or * didn't
-      firstPhasePreProcess(globParts) {
-        let didSomething = false;
-        do {
-          didSomething = false;
-          for (let parts of globParts) {
-            let gs = -1;
-            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-              let gss = gs;
-              while (parts[gss + 1] === "**") {
-                gss++;
-              }
-              if (gss > gs) {
-                parts.splice(gs + 1, gss - gs);
-              }
-              let next = parts[gs + 1];
-              const p = parts[gs + 2];
-              const p2 = parts[gs + 3];
-              if (next !== "..")
-                continue;
-              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
-                continue;
-              }
-              didSomething = true;
-              parts.splice(gs, 1);
-              const other = parts.slice(0);
-              other[gs] = "**";
-              globParts.push(other);
-              gs--;
-            }
-            if (!this.preserveMultipleSlashes) {
-              for (let i = 1; i < parts.length - 1; i++) {
-                const p = parts[i];
-                if (i === 1 && p === "" && parts[0] === "")
-                  continue;
-                if (p === "." || p === "") {
-                  didSomething = true;
-                  parts.splice(i, 1);
-                  i--;
-                }
-              }
-              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-                didSomething = true;
-                parts.pop();
-              }
-            }
-            let dd = 0;
-            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-              const p = parts[dd - 1];
-              if (p && p !== "." && p !== ".." && p !== "**") {
-                didSomething = true;
-                const needDot = dd === 1 && parts[dd + 1] === "**";
-                const splin = needDot ? ["."] : [];
-                parts.splice(dd - 1, 2, ...splin);
-                if (parts.length === 0)
-                  parts.push("");
-                dd -= 2;
-              }
-            }
-          }
-        } while (didSomething);
-        return globParts;
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit(
+        "disconnect",
+        client[kUrl],
+        [client],
+        err
+      );
+      resume(client);
+    }
+    var constants = require_constants22();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var EMPTY_BUF = Buffer.alloc(0);
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm3() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm3(), "base64"));
+      } catch (e) {
+        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm3(), "base64"));
       }
-      // second phase: multi-pattern dedupes
-      // {
/*/,
/

/} ->

/*/
-      // {
/,
/} -> 
/
-      // {
/**/,
/} -> 
/**/
-      //
-      // {
/**/,
/**/

/} ->

/**/
-      // ^-- not valid because ** doens't follow symlinks
-      secondPhasePreProcess(globParts) {
-        for (let i = 0; i < globParts.length - 1; i++) {
-          for (let j = i + 1; j < globParts.length; j++) {
-            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
-            if (matched) {
-              globParts[i] = [];
-              globParts[j] = matched;
-              break;
-            }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageComplete() || 0;
           }
+          /* eslint-enable camelcase */
         }
-        return globParts.filter((gs) => gs.length);
-      }
-      partsMatch(a, b, emptyGSMatch = false) {
-        let ai = 0;
-        let bi = 0;
-        let result = [];
-        let which7 = "";
-        while (ai < a.length && bi < b.length) {
-          if (a[ai] === b[bi]) {
-            result.push(which7 === "b" ? b[bi] : a[ai]);
-            ai++;
-            bi++;
-          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
-            result.push(a[ai]);
-            ai++;
-          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
-            result.push(b[bi]);
-            bi++;
-          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
-            if (which7 === "b")
-              return false;
-            which7 = "a";
-            result.push(a[ai]);
-            ai++;
-            bi++;
-          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
-            if (which7 === "a")
-              return false;
-            which7 = "b";
-            result.push(b[bi]);
-            ai++;
-            bi++;
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var TIMEOUT_HEADERS = 1;
+    var TIMEOUT_BODY = 2;
+    var TIMEOUT_IDLE = 3;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
+      }
+      setTimeout(value, type2) {
+        this.timeoutType = type2;
+        if (value !== this.timeoutValue) {
+          timers.clearTimeout(this.timeout);
+          if (value) {
+            this.timeout = timers.setTimeout(onParserTimeout, value, this);
+            if (this.timeout.unref) {
+              this.timeout.unref();
+            }
           } else {
-            return false;
+            this.timeout = null;
+          }
+          this.timeoutValue = value;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
         }
-        return a.length === b.length && result;
       }
-      parseNegate() {
-        if (this.nonegate)
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
           return;
-        const pattern = this.pattern;
-        let negate2 = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate2 = !negate2;
-          negateOffset++;
         }
-        if (negateOffset)
-          this.pattern = pattern.slice(negateOffset);
-        this.negate = negate2;
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial = false) {
-        const options = this.options;
-        if (this.isWindows) {
-          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
-          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
-          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
-          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
-          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
-          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
-          if (typeof fdi === "number" && typeof pdi === "number") {
-            const [fd, pd] = [file[fdi], pattern[pdi]];
-            if (fd.toLowerCase() === pd.toLowerCase()) {
-              pattern[pdi] = fd;
-              if (pdi > fdi) {
-                pattern = pattern.slice(pdi);
-              } else if (fdi > pdi) {
-                file = file.slice(fdi);
-              }
-            }
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
           }
+          this.execute(chunk);
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          file = this.levelTwoFileOptimize(file);
+      }
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
+          }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
         }
-        this.debug("matchOne", this, { file, pattern });
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) {
-            return false;
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
+        try {
+          let ret;
+          try {
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
+          } catch (err) {
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
           }
-          if (p === exports2.GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
-                  return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) {
-                return true;
-              }
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
             }
-            return false;
-          }
-          let hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
-          } else {
-            hit = p.test(f);
-            this.debug("pattern match", p, f, hit);
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
           }
-          if (!hit)
-            return false;
-        }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
-        } else {
-          throw new Error("wtf?");
+        } catch (err) {
+          util.destroy(socket, err);
         }
       }
-      braceExpand() {
-        return (0, exports2.braceExpand)(this.pattern, this.options);
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
       }
-      parse(pattern) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        const options = this.options;
-        if (pattern === "**")
-          return exports2.GLOBSTAR;
-        if (pattern === "")
-          return "";
-        let m;
-        let fastTest = null;
-        if (m = pattern.match(starRE)) {
-          fastTest = options.dot ? starTestDot : starTest;
-        } else if (m = pattern.match(starDotExtRE)) {
-          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
-        } else if (m = pattern.match(qmarksRE)) {
-          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
-        } else if (m = pattern.match(starDotStarRE)) {
-          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
-        } else if (m = pattern.match(dotStarRE)) {
-          fastTest = dotStarTest;
-        }
-        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
-        if (fastTest && typeof re === "object") {
-          Reflect.defineProperty(re, "test", { value: fastTest });
-        }
-        return re;
+      onStatus(buf) {
+        this.statusText = buf.toString();
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false)
-          return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
-        }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = new Set(options.nocase ? ["i"] : []);
-        let re = set2.map((pattern) => {
-          const pp = pattern.map((p) => {
-            if (p instanceof RegExp) {
-              for (const f of p.flags.split(""))
-                flags.add(f);
-            }
-            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
-          });
-          pp.forEach((p, i) => {
-            const next = pp[i + 1];
-            const prev = pp[i - 1];
-            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
-              return;
-            }
-            if (prev === void 0) {
-              if (next !== void 0 && next !== exports2.GLOBSTAR) {
-                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
-              } else {
-                pp[i] = twoStar;
-              }
-            } else if (next === void 0) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
-            } else if (next !== exports2.GLOBSTAR) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
-              pp[i + 1] = exports2.GLOBSTAR;
-            }
-          });
-          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
-          if (this.partial && filtered.length >= 1) {
-            const prefixes = [];
-            for (let i = 1; i <= filtered.length; i++) {
-              prefixes.push(filtered.slice(0, i).join("/"));
-            }
-            return "(?:" + prefixes.join("|") + ")";
-          }
-          return filtered.join("/");
-        }).join("|");
-        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
-        re = "^" + open + re + close + "$";
-        if (this.partial) {
-          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (this.negate)
-          re = "^(?!" + re + ").+$";
-        try {
-          this.regexp = new RegExp(re, [...flags].join(""));
-        } catch (ex) {
-          this.regexp = false;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        return this.regexp;
       }
-      slashSplit(p) {
-        if (this.preserveMultipleSlashes) {
-          return p.split("/");
-        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
-          return ["", ...p.split(/\/+/)];
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
         } else {
-          return p.split(/\/+/);
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
+        this.trackHeader(buf.length);
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) {
-          return false;
-        }
-        if (this.empty) {
-          return f === "";
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
-        if (f === "/" && partial) {
-          return true;
+        const key = this.headers[len - 2];
+        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
+          this.keepAlive += buf.toString();
+        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
+          this.connection += buf.toString();
+        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
+          this.contentLength += buf.toString();
         }
-        const options = this.options;
-        if (this.isWindows) {
-          f = f.split("\\").join("/");
+        this.trackHeader(buf.length);
+      }
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
         }
-        const ff = this.slashSplit(f);
-        this.debug(this.pattern, "split", ff);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename = ff[ff.length - 1];
-        if (!filename) {
-          for (let i = ff.length - 2; !filename && i >= 0; i--) {
-            filename = ff[i];
-          }
+      }
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(!socket.destroyed);
+        assert(socket === client[kSocket]);
+        assert(!this.paused);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
+        client[kSocket] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = ff;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) {
-              return true;
-            }
-            return !this.negate;
-          }
+        resume(client);
+      }
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (options.flipNegate) {
-          return false;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        return this.negate;
-      }
-      static defaults(def) {
-        return exports2.minimatch.defaults(def).Minimatch;
-      }
-    };
-    exports2.Minimatch = Minimatch;
-    var ast_js_2 = require_ast();
-    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
-      return ast_js_2.AST;
-    } });
-    var escape_js_2 = require_escape();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return escape_js_2.escape;
-    } });
-    var unescape_js_2 = require_unescape();
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return unescape_js_2.unescape;
-    } });
-    exports2.minimatch.AST = ast_js_1.AST;
-    exports2.minimatch.Minimatch = Minimatch;
-    exports2.minimatch.escape = escape_js_1.escape;
-    exports2.minimatch.unescape = unescape_js_1.unescape;
-  }
-});
-
-// node_modules/lru-cache/dist/commonjs/index.js
-var require_commonjs21 = __commonJS({
-  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LRUCache = void 0;
-    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
-    var warned = /* @__PURE__ */ new Set();
-    var PROCESS = typeof process === "object" && !!process ? process : {};
-    var emitWarning = (msg, type2, code, fn) => {
-      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
-    };
-    var AC = globalThis.AbortController;
-    var AS = globalThis.AbortSignal;
-    if (typeof AC === "undefined") {
-      AS = class AbortSignal {
-        onabort;
-        _onabort = [];
-        reason;
-        aborted = false;
-        addEventListener(_2, fn) {
-          this._onabort.push(fn);
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
         }
-      };
-      AC = class AbortController {
-        constructor() {
-          warnACPolyfill();
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
         }
-        signal = new AS();
-        abort(reason) {
-          if (this.signal.aborted)
-            return;
-          this.signal.reason = reason;
-          this.signal.aborted = true;
-          for (const fn of this.signal._onabort) {
-            fn(reason);
+        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-          this.signal.onabort?.(reason);
-        }
-      };
-      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
-      const warnACPolyfill = () => {
-        if (!printACPolyfillWarning)
-          return;
-        printACPolyfillWarning = false;
-        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
-      };
-    }
-    var shouldWarn = (code) => !warned.has(code);
-    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
-    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
-    var ZeroArray = class extends Array {
-      constructor(size) {
-        super(size);
-        this.fill(0);
-      }
-    };
-    var Stack = class _Stack {
-      heap;
-      length;
-      // private constructor
-      static #constructing = false;
-      static create(max) {
-        const HeapCls = getUintArray(max);
-        if (!HeapCls)
-          return [];
-        _Stack.#constructing = true;
-        const s = new _Stack(max, HeapCls);
-        _Stack.#constructing = false;
-        return s;
-      }
-      constructor(max, HeapCls) {
-        if (!_Stack.#constructing) {
-          throw new TypeError("instantiate Stack using Stack.create(n)");
         }
-        this.heap = new HeapCls(max);
-        this.length = 0;
-      }
-      push(n) {
-        this.heap[this.length++] = n;
-      }
-      pop() {
-        return this.heap[--this.length];
-      }
-    };
-    var LRUCache = class _LRUCache {
-      // options that cannot be changed without disaster
-      #max;
-      #maxSize;
-      #dispose;
-      #onInsert;
-      #disposeAfter;
-      #fetchMethod;
-      #memoMethod;
-      /**
-       * {@link LRUCache.OptionsBase.ttl}
-       */
-      ttl;
-      /**
-       * {@link LRUCache.OptionsBase.ttlResolution}
-       */
-      ttlResolution;
-      /**
-       * {@link LRUCache.OptionsBase.ttlAutopurge}
-       */
-      ttlAutopurge;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnGet}
-       */
-      updateAgeOnGet;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnHas}
-       */
-      updateAgeOnHas;
-      /**
-       * {@link LRUCache.OptionsBase.allowStale}
-       */
-      allowStale;
-      /**
-       * {@link LRUCache.OptionsBase.noDisposeOnSet}
-       */
-      noDisposeOnSet;
-      /**
-       * {@link LRUCache.OptionsBase.noUpdateTTL}
-       */
-      noUpdateTTL;
-      /**
-       * {@link LRUCache.OptionsBase.maxEntrySize}
-       */
-      maxEntrySize;
-      /**
-       * {@link LRUCache.OptionsBase.sizeCalculation}
-       */
-      sizeCalculation;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
-       */
-      noDeleteOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
-       */
-      noDeleteOnStaleGet;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
-       */
-      allowStaleOnFetchAbort;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
-       */
-      allowStaleOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
-       */
-      ignoreFetchAbort;
-      // computed properties
-      #size;
-      #calculatedSize;
-      #keyMap;
-      #keyList;
-      #valList;
-      #next;
-      #prev;
-      #head;
-      #tail;
-      #free;
-      #disposed;
-      #sizes;
-      #starts;
-      #ttls;
-      #hasDispose;
-      #hasFetchMethod;
-      #hasDisposeAfter;
-      #hasOnInsert;
-      /**
-       * Do not call this method unless you need to inspect the
-       * inner workings of the cache.  If anything returned by this
-       * object is modified in any way, strange breakage may occur.
-       *
-       * These fields are private for a reason!
-       *
-       * @internal
-       */
-      static unsafeExposeInternals(c) {
-        return {
-          // properties
-          starts: c.#starts,
-          ttls: c.#ttls,
-          sizes: c.#sizes,
-          keyMap: c.#keyMap,
-          keyList: c.#keyList,
-          valList: c.#valList,
-          next: c.#next,
-          prev: c.#prev,
-          get head() {
-            return c.#head;
-          },
-          get tail() {
-            return c.#tail;
-          },
-          free: c.#free,
-          // methods
-          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
-          backgroundFetch: (k, index, options, context3) => c.#backgroundFetch(k, index, options, context3),
-          moveToTail: (index) => c.#moveToTail(index),
-          indexes: (options) => c.#indexes(options),
-          rindexes: (options) => c.#rindexes(options),
-          isStale: (index) => c.#isStale(index)
-        };
-      }
-      // Protected read-only members
-      /**
-       * {@link LRUCache.OptionsBase.max} (read-only)
-       */
-      get max() {
-        return this.#max;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.maxSize} (read-only)
-       */
-      get maxSize() {
-        return this.#maxSize;
-      }
-      /**
-       * The total computed size of items in the cache (read-only)
-       */
-      get calculatedSize() {
-        return this.#calculatedSize;
-      }
-      /**
-       * The number of items stored in the cache (read-only)
-       */
-      get size() {
-        return this.#size;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
-       */
-      get fetchMethod() {
-        return this.#fetchMethod;
-      }
-      get memoMethod() {
-        return this.#memoMethod;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.dispose} (read-only)
-       */
-      get dispose() {
-        return this.#dispose;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.onInsert} (read-only)
-       */
-      get onInsert() {
-        return this.#onInsert;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
-       */
-      get disposeAfter() {
-        return this.#disposeAfter;
-      }
-      constructor(options) {
-        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
-        if (max !== 0 && !isPosInt(max)) {
-          throw new TypeError("max option must be a nonnegative integer");
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
         }
-        const UintArray = max ? getUintArray(max) : Array;
-        if (!UintArray) {
-          throw new Error("invalid max value: " + max);
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
         }
-        this.#max = max;
-        this.#maxSize = maxSize;
-        this.maxEntrySize = maxEntrySize || this.#maxSize;
-        this.sizeCalculation = sizeCalculation;
-        if (this.sizeCalculation) {
-          if (!this.#maxSize && !this.maxEntrySize) {
-            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
-          }
-          if (typeof this.sizeCalculation !== "function") {
-            throw new TypeError("sizeCalculation set to non-function");
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
+            );
+            if (timeout <= 0) {
+              socket[kReset] = true;
+            } else {
+              client[kKeepAliveTimeoutValue] = timeout;
+            }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
           }
+        } else {
+          socket[kReset] = true;
         }
-        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
-          throw new TypeError("memoMethod must be a function if defined");
-        }
-        this.#memoMethod = memoMethod;
-        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
-          throw new TypeError("fetchMethod must be a function if specified");
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
         }
-        this.#fetchMethod = fetchMethod;
-        this.#hasFetchMethod = !!fetchMethod;
-        this.#keyMap = /* @__PURE__ */ new Map();
-        this.#keyList = new Array(max).fill(void 0);
-        this.#valList = new Array(max).fill(void 0);
-        this.#next = new UintArray(max);
-        this.#prev = new UintArray(max);
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free = Stack.create(max);
-        this.#size = 0;
-        this.#calculatedSize = 0;
-        if (typeof dispose === "function") {
-          this.#dispose = dispose;
+        if (request2.method === "HEAD") {
+          return 1;
         }
-        if (typeof onInsert === "function") {
-          this.#onInsert = onInsert;
+        if (statusCode < 200) {
+          return 1;
         }
-        if (typeof disposeAfter === "function") {
-          this.#disposeAfter = disposeAfter;
-          this.#disposed = [];
-        } else {
-          this.#disposeAfter = void 0;
-          this.#disposed = void 0;
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          resume(client);
         }
-        this.#hasDispose = !!this.#dispose;
-        this.#hasOnInsert = !!this.#onInsert;
-        this.#hasDisposeAfter = !!this.#disposeAfter;
-        this.noDisposeOnSet = !!noDisposeOnSet;
-        this.noUpdateTTL = !!noUpdateTTL;
-        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
-        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
-        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
-        this.ignoreFetchAbort = !!ignoreFetchAbort;
-        if (this.maxEntrySize !== 0) {
-          if (this.#maxSize !== 0) {
-            if (!isPosInt(this.#maxSize)) {
-              throw new TypeError("maxSize must be a positive integer if specified");
-            }
-          }
-          if (!isPosInt(this.maxEntrySize)) {
-            throw new TypeError("maxEntrySize must be a positive integer if specified");
-          }
-          this.#initializeSizeTracking();
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        this.allowStale = !!allowStale;
-        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
-        this.updateAgeOnGet = !!updateAgeOnGet;
-        this.updateAgeOnHas = !!updateAgeOnHas;
-        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
-        this.ttlAutopurge = !!ttlAutopurge;
-        this.ttl = ttl || 0;
-        if (this.ttl) {
-          if (!isPosInt(this.ttl)) {
-            throw new TypeError("ttl must be a positive integer if specified");
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-          this.#initializeTTLTracking();
         }
-        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
-          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
         }
-        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
-          const code = "LRU_CACHE_UNBOUNDED";
-          if (shouldWarn(code)) {
-            warned.add(code);
-            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
-            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
-          }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
         }
       }
-      /**
-       * Return the number of ms left in the item's TTL. If item is not in cache,
-       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
-       */
-      getRemainingTTL(key) {
-        return this.#keyMap.has(key) ? Infinity : 0;
-      }
-      #initializeTTLTracking() {
-        const ttls = new ZeroArray(this.#max);
-        const starts = new ZeroArray(this.#max);
-        this.#ttls = ttls;
-        this.#starts = starts;
-        this.#setItemTTL = (index, ttl, start = perf.now()) => {
-          starts[index] = ttl !== 0 ? start : 0;
-          ttls[index] = ttl;
-          if (ttl !== 0 && this.ttlAutopurge) {
-            const t = setTimeout(() => {
-              if (this.#isStale(index)) {
-                this.#delete(this.#keyList[index], "expire");
-              }
-            }, ttl + 1);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-        };
-        this.#updateItemAge = (index) => {
-          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
-        };
-        this.#statusTTL = (status, index) => {
-          if (ttls[index]) {
-            const ttl = ttls[index];
-            const start = starts[index];
-            if (!ttl || !start)
-              return;
-            status.ttl = ttl;
-            status.start = start;
-            status.now = cachedNow || getNow();
-            const age = status.now - start;
-            status.remainingTTL = ttl - age;
-          }
-        };
-        let cachedNow = 0;
-        const getNow = () => {
-          const n = perf.now();
-          if (this.ttlResolution > 0) {
-            cachedNow = n;
-            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-          return n;
-        };
-        this.getRemainingTTL = (key) => {
-          const index = this.#keyMap.get(key);
-          if (index === void 0) {
-            return 0;
-          }
-          const ttl = ttls[index];
-          const start = starts[index];
-          if (!ttl || !start) {
-            return Infinity;
-          }
-          const age = (cachedNow || getNow()) - start;
-          return ttl - age;
-        };
-        this.#isStale = (index) => {
-          const s = starts[index];
-          const t = ttls[index];
-          return !!t && !!s && (cachedNow || getNow()) - s > t;
-        };
-      }
-      // conditionally set private methods related to TTL
-      #updateItemAge = () => {
-      };
-      #statusTTL = () => {
-      };
-      #setItemTTL = () => {
-      };
-      /* c8 ignore stop */
-      #isStale = () => false;
-      #initializeSizeTracking() {
-        const sizes = new ZeroArray(this.#max);
-        this.#calculatedSize = 0;
-        this.#sizes = sizes;
-        this.#removeItemSize = (index) => {
-          this.#calculatedSize -= sizes[index];
-          sizes[index] = 0;
-        };
-        this.#requireSize = (k, v, size, sizeCalculation) => {
-          if (this.#isBackgroundFetch(v)) {
-            return 0;
-          }
-          if (!isPosInt(size)) {
-            if (sizeCalculation) {
-              if (typeof sizeCalculation !== "function") {
-                throw new TypeError("sizeCalculation must be a function");
-              }
-              size = sizeCalculation(v, k);
-              if (!isPosInt(size)) {
-                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
-              }
-            } else {
-              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
-            }
-          }
-          return size;
-        };
-        this.#addItemSize = (index, size, status) => {
-          sizes[index] = size;
-          if (this.#maxSize) {
-            const maxSize = this.#maxSize - sizes[index];
-            while (this.#calculatedSize > maxSize) {
-              this.#evict(true);
-            }
-          }
-          this.#calculatedSize += sizes[index];
-          if (status) {
-            status.entrySize = size;
-            status.totalCalculatedSize = this.#calculatedSize;
-          }
-        };
-      }
-      #removeItemSize = (_i) => {
-      };
-      #addItemSize = (_i, _s, _st) => {
-      };
-      #requireSize = (_k, _v, size, sizeCalculation) => {
-        if (size || sizeCalculation) {
-          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
         }
-        return 0;
-      };
-      *#indexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#tail; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#head) {
-              break;
-            } else {
-              i = this.#prev[i];
-            }
-          }
+        if (upgrade) {
+          return;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(statusCode >= 100);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert.strictEqual(client[kRunning], 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] === 1) {
+          setImmediate(resume, client);
+        } else {
+          resume(client);
         }
       }
-      *#rindexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#head; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#tail) {
-              break;
-            } else {
-              i = this.#next[i];
-            }
-          }
+    };
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client } = parser;
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!parser.paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
         }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!parser.paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_IDLE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-      #isValidIndex(index) {
-        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
+    }
+    function onSocketReadable() {
+      const { [kParser]: parser } = this;
+      if (parser) {
+        parser.readMore();
       }
-      /**
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from most recently used to least recently used.
-       */
-      *entries() {
-        for (const i of this.#indexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
+    }
+    function onSocketError(err) {
+      const { [kClient]: client, [kParser]: parser } = this;
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
         }
       }
-      /**
-       * Inverse order version of {@link LRUCache.entries}
-       *
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from least recently used to most recently used.
-       */
-      *rentries() {
-        for (const i of this.#rindexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
+      this[kError] = err;
+      onError(this[kClient], err);
+    }
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
         }
+        assert(client[kSize] === 0);
       }
-      /**
-       * Return a generator yielding the keys in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *keys() {
-        for (const i of this.#indexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
+    }
+    function onSocketEnd() {
+      const { [kParser]: parser, [kClient]: client } = this;
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
         }
       }
-      /**
-       * Inverse order version of {@link LRUCache.keys}
-       *
-       * Return a generator yielding the keys in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rkeys() {
-        for (const i of this.#rindexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
+      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+    }
+    function onSocketClose() {
+      const { [kClient]: client, [kParser]: parser } = this;
+      if (client[kHTTPConnVersion] === "h1" && parser) {
+        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
         }
+        this[kParser].destroy();
+        this[kParser] = null;
       }
-      /**
-       * Return a generator yielding the values in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *values() {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
-          }
+      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+      client[kSocket] = null;
+      if (client.destroyed) {
+        assert(client[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
         }
+      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
       }
-      /**
-       * Inverse order version of {@link LRUCache.values}
-       *
-       * Return a generator yielding the values in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rvalues() {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
-          }
-        }
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      resume(client);
+    }
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kSocket]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      /**
-       * Iterating over the cache itself yields the same results as
-       * {@link LRUCache.entries}
-       */
-      [Symbol.iterator]() {
-        return this.entries();
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
       }
-      /**
-       * A String value that is used in the creation of the default string
-       * description of an object. Called by the built-in method
-       * `Object.prototype.toString`.
-       */
-      [Symbol.toStringTag] = "LRUCache";
-      /**
-       * Find a value for which the supplied fn method returns a truthy value,
-       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
-       */
-      find(fn, getOptions = {}) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          if (fn(value, this.#keyList[i], this)) {
-            return this.get(this.#keyList[i], getOptions);
+      try {
+        const socket = await new Promise((resolve8, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve8(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", () => {
+          }), new ClientDestroyedError());
+          return;
+        }
+        client[kConnecting] = false;
+        assert(socket);
+        const isH2 = socket.alpnProtocol === "h2";
+        if (isH2) {
+          if (!h2ExperimentalWarned) {
+            h2ExperimentalWarned = true;
+            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+              code: "UNDICI-H2"
+            });
+          }
+          const session = http2.connect(client[kUrl], {
+            createConnection: () => socket,
+            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          });
+          client[kHTTPConnVersion] = "h2";
+          session[kClient] = client;
+          session[kSocket] = socket;
+          session.on("error", onHttp2SessionError);
+          session.on("frameError", onHttp2FrameError);
+          session.on("end", onHttp2SessionEnd);
+          session.on("goaway", onHTTP2GoAway);
+          session.on("close", onSocketClose);
+          session.unref();
+          client[kHTTP2Session] = session;
+          socket[kHTTP2Session] = session;
+        } else {
+          if (!llhttpInstance) {
+            llhttpInstance = await llhttpPromise;
+            llhttpPromise = null;
           }
+          socket[kNoRef] = false;
+          socket[kWriting] = false;
+          socket[kReset] = false;
+          socket[kBlocking] = false;
+          socket[kParser] = new Parser(client, socket, llhttpInstance);
         }
-      }
-      /**
-       * Call the supplied function on each item in the cache, in order from most
-       * recently used to least recently used.
-       *
-       * `fn` is called as `fn(value, key, cache)`.
-       *
-       * If `thisp` is provided, function will be called in the `this`-context of
-       * the provided object, or the cache if no `thisp` object is provided.
-       *
-       * Does not update age or recenty of use, or iterate over stale values.
-       */
-      forEach(fn, thisp = this) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
+        client[kSocket] = socket;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-      }
-      /**
-       * The same as {@link LRUCache.forEach} but items are iterated over in
-       * reverse order.  (ie, less recently used items are iterated over first.)
-       */
-      rforEach(fn, thisp = this) {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-      }
-      /**
-       * Delete any stale entries. Returns true if anything was removed,
-       * false otherwise.
-       */
-      purgeStale() {
-        let deleted = false;
-        for (const i of this.#rindexes({ allowStale: true })) {
-          if (this.#isStale(i)) {
-            this.#delete(this.#keyList[i], "expire");
-            deleted = true;
-          }
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
         }
-        return deleted;
-      }
-      /**
-       * Get the extended info about a given entry, to get its value, size, and
-       * TTL info simultaneously. Returns `undefined` if the key is not present.
-       *
-       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
-       * serialization, the `start` value is always the current timestamp, and the
-       * `ttl` is a calculated remaining time to live (negative if expired).
-       *
-       * Always returns stale values, if their info is found in the cache, so be
-       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
-       * if relevant.
-       */
-      info(key) {
-        const i = this.#keyMap.get(key);
-        if (i === void 0)
-          return void 0;
-        const v = this.#valList[i];
-        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-        if (value === void 0)
-          return void 0;
-        const entry = { value };
-        if (this.#ttls && this.#starts) {
-          const ttl = this.#ttls[i];
-          const start = this.#starts[i];
-          if (ttl && start) {
-            const remain = ttl - (perf.now() - start);
-            entry.ttl = remain;
-            entry.start = Date.now();
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            errorRequest2(client, request2, err);
           }
+        } else {
+          onError(client, err);
         }
-        if (this.#sizes) {
-          entry.size = this.#sizes[i];
-        }
-        return entry;
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      /**
-       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
-       * passed to {@link LRUCache#load}.
-       *
-       * The `start` fields are calculated relative to a portable `Date.now()`
-       * timestamp, even if `performance.now()` is available.
-       *
-       * Stale entries are always included in the `dump`, even if
-       * {@link LRUCache.OptionsBase.allowStale} is false.
-       *
-       * Note: this returns an actual array, not a generator, so it can be more
-       * easily passed around.
-       */
-      dump() {
-        const arr = [];
-        for (const i of this.#indexes({ allowStale: true })) {
-          const key = this.#keyList[i];
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0 || key === void 0)
-            continue;
-          const entry = { value };
-          if (this.#ttls && this.#starts) {
-            entry.ttl = this.#ttls[i];
-            const age = perf.now() - this.#starts[i];
-            entry.start = Math.floor(Date.now() - age);
-          }
-          if (this.#sizes) {
-            entry.size = this.#sizes[i];
-          }
-          arr.unshift([key, entry]);
-        }
-        return arr;
+      resume(client);
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      /**
-       * Reset the cache and load in the items in entries in the order listed.
-       *
-       * The shape of the resulting cache may be different if the same options are
-       * not used in both caches.
-       *
-       * The `start` fields are assumed to be calculated relative to a portable
-       * `Date.now()` timestamp, even if `performance.now()` is available.
-       */
-      load(arr) {
-        this.clear();
-        for (const [key, entry] of arr) {
-          if (entry.start) {
-            const age = Date.now() - entry.start;
-            entry.start = perf.now() - age;
-          }
-          this.set(key, entry.value, entry);
-        }
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
       }
-      /**
-       * Add a value to the cache.
-       *
-       * Note: if `undefined` is specified as a value, this is an alias for
-       * {@link LRUCache#delete}
-       *
-       * Fields on the {@link LRUCache.SetOptions} options param will override
-       * their corresponding values in the constructor options for the scope
-       * of this single `set()` operation.
-       *
-       * If `start` is provided, then that will set the effective start
-       * time for the TTL calculation. Note that this must be a previous
-       * value of `performance.now()` if supported, or a previous value of
-       * `Date.now()` if not.
-       *
-       * Options object may also include `size`, which will prevent
-       * calling the `sizeCalculation` function and just use the specified
-       * number if it is a positive integer, and `noDisposeOnSet` which
-       * will prevent calling a `dispose` function in the case of
-       * overwrites.
-       *
-       * If the `size` (or return value of `sizeCalculation`) for a given
-       * entry is greater than `maxEntrySize`, then the item will not be
-       * added to the cache.
-       *
-       * Will update the recency of the entry.
-       *
-       * If the value is `undefined`, then this is an alias for
-       * `cache.delete(key)`. `undefined` is never stored in the cache.
-       */
-      set(k, v, setOptions = {}) {
-        if (v === void 0) {
-          this.delete(k);
-          return this;
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
-        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
-        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
-        if (this.maxEntrySize && size > this.maxEntrySize) {
-          if (status) {
-            status.set = "miss";
-            status.maxEntrySizeExceeded = true;
-          }
-          this.#delete(k, "set");
-          return this;
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
-        if (index === void 0) {
-          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
-          this.#keyList[index] = k;
-          this.#valList[index] = v;
-          this.#keyMap.set(k, index);
-          this.#next[this.#tail] = index;
-          this.#prev[index] = this.#tail;
-          this.#tail = index;
-          this.#size++;
-          this.#addItemSize(index, size, status);
-          if (status)
-            status.set = "add";
-          noUpdateTTL = false;
-          if (this.#hasOnInsert) {
-            this.#onInsert?.(v, k, "add");
+        const socket = client[kSocket];
+        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
+          if (client[kSize] === 0) {
+            if (!socket[kNoRef] && socket.unref) {
+              socket.unref();
+              socket[kNoRef] = true;
+            }
+          } else if (socket[kNoRef] && socket.ref) {
+            socket.ref();
+            socket[kNoRef] = false;
           }
-        } else {
-          this.#moveToTail(index);
-          const oldVal = this.#valList[index];
-          if (v !== oldVal) {
-            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
-              oldVal.__abortController.abort(new Error("replaced"));
-              const { __staleWhileFetching: s } = oldVal;
-              if (s !== void 0 && !noDisposeOnSet) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(s, k, "set");
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([s, k, "set"]);
-                }
-              }
-            } else if (!noDisposeOnSet) {
-              if (this.#hasDispose) {
-                this.#dispose?.(oldVal, k, "set");
-              }
-              if (this.#hasDisposeAfter) {
-                this.#disposed?.push([oldVal, k, "set"]);
-              }
+          if (client[kSize] === 0) {
+            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
+              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
             }
-            this.#removeItemSize(index);
-            this.#addItemSize(index, size, status);
-            this.#valList[index] = v;
-            if (status) {
-              status.set = "replace";
-              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
-              if (oldValue !== void 0)
-                status.oldValue = oldValue;
+          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+              const request3 = client[kQueue][client[kRunningIdx]];
+              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
+              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
             }
-          } else if (status) {
-            status.set = "update";
-          }
-          if (this.#hasOnInsert) {
-            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
           }
         }
-        if (ttl !== 0 && !this.#ttls) {
-          this.#initializeTTLTracking();
-        }
-        if (this.#ttls) {
-          if (!noUpdateTTL) {
-            this.#setItemTTL(index, ttl, start);
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            process.nextTick(emitDrain, client);
+          } else {
+            emitDrain(client);
           }
-          if (status)
-            this.#statusTTL(status, index);
+          continue;
         }
-        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
-          }
+        if (client[kPending] === 0) {
+          return;
         }
-        return this;
-      }
-      /**
-       * Evict the least recently used item, returning its value or
-       * `undefined` if cache is empty.
-       */
-      pop() {
-        try {
-          while (this.#size) {
-            const val = this.#valList[this.#head];
-            this.#evict(true);
-            if (this.#isBackgroundFetch(val)) {
-              if (val.__staleWhileFetching) {
-                return val.__staleWhileFetching;
-              }
-            } else if (val !== void 0) {
-              return val;
-            }
-          }
-        } finally {
-          if (this.#hasDisposeAfter && this.#disposed) {
-            const dt = this.#disposed;
-            let task;
-            while (task = dt?.shift()) {
-              this.#disposeAfter?.(...task);
-            }
-          }
+        if (client[kRunning] >= (client[kPipelining] || 1)) {
+          return;
         }
-      }
-      #evict(free) {
-        const head = this.#head;
-        const k = this.#keyList[head];
-        const v = this.#valList[head];
-        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
-          v.__abortController.abort(new Error("evicted"));
-        } else if (this.#hasDispose || this.#hasDisposeAfter) {
-          if (this.#hasDispose) {
-            this.#dispose?.(v, k, "evict");
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
           }
-          if (this.#hasDisposeAfter) {
-            this.#disposed?.push([v, k, "evict"]);
+          client[kServerName] = request2.servername;
+          if (socket && socket.servername !== request2.servername) {
+            util.destroy(socket, new InformationalError("servername changed"));
+            return;
           }
         }
-        this.#removeItemSize(head);
-        if (free) {
-          this.#keyList[head] = void 0;
-          this.#valList[head] = void 0;
-          this.#free.push(head);
+        if (client[kConnecting]) {
+          return;
         }
-        if (this.#size === 1) {
-          this.#head = this.#tail = 0;
-          this.#free.length = 0;
-        } else {
-          this.#head = this.#next[head];
+        if (!socket && !client[kHTTP2Session]) {
+          connect(client);
+          return;
         }
-        this.#keyMap.delete(k);
-        this.#size--;
-        return head;
-      }
-      /**
-       * Check if a key is in the cache, without updating the recency of use.
-       * Will return false if the item is stale, even though it is technically
-       * in the cache.
-       *
-       * Check if a key is in the cache, without updating the recency of
-       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
-       * to `true` in either the options or the constructor.
-       *
-       * Will return `false` if the item is stale, even though it is technically in
-       * the cache. The difference can be determined (if it matters) by using a
-       * `status` argument, and inspecting the `has` field.
-       *
-       * Will not update item age unless
-       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
-       */
-      has(k, hasOptions = {}) {
-        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
-            return false;
-          }
-          if (!this.#isStale(index)) {
-            if (updateAgeOnHas) {
-              this.#updateItemAge(index);
-            }
-            if (status) {
-              status.has = "hit";
-              this.#statusTTL(status, index);
-            }
-            return true;
-          } else if (status) {
-            status.has = "stale";
-            this.#statusTTL(status, index);
-          }
-        } else if (status) {
-          status.has = "miss";
+        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+          return;
         }
-        return false;
-      }
-      /**
-       * Like {@link LRUCache#get} but doesn't update recency or delete stale
-       * items.
-       *
-       * Returns `undefined` if the item is stale, unless
-       * {@link LRUCache.OptionsBase.allowStale} is set.
-       */
-      peek(k, peekOptions = {}) {
-        const { allowStale = this.allowStale } = peekOptions;
-        const index = this.#keyMap.get(k);
-        if (index === void 0 || !allowStale && this.#isStale(index)) {
+        if (client[kRunning] > 0 && !request2.idempotent) {
           return;
         }
-        const v = this.#valList[index];
-        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-      }
-      #backgroundFetch(k, index, options, context3) {
-        const v = index === void 0 ? void 0 : this.#valList[index];
-        if (this.#isBackgroundFetch(v)) {
-          return v;
+        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+          return;
         }
-        const ac = new AC();
-        const { signal } = options;
-        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
-          signal: ac.signal
-        });
-        const fetchOpts = {
-          signal: ac.signal,
-          options,
-          context: context3
-        };
-        const cb = (v2, updateCache = false) => {
-          const { aborted } = ac.signal;
-          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
-          if (options.status) {
-            if (aborted && !updateCache) {
-              options.status.fetchAborted = true;
-              options.status.fetchError = ac.signal.reason;
-              if (ignoreAbort)
-                options.status.fetchAbortIgnored = true;
-            } else {
-              options.status.fetchResolved = true;
-            }
-          }
-          if (aborted && !ignoreAbort && !updateCache) {
-            return fetchFail(ac.signal.reason);
-          }
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            if (v2 === void 0) {
-              if (bf2.__staleWhileFetching) {
-                this.#valList[index] = bf2.__staleWhileFetching;
-              } else {
-                this.#delete(k, "fetch");
-              }
-            } else {
-              if (options.status)
-                options.status.fetchUpdated = true;
-              this.set(k, v2, fetchOpts.options);
-            }
-          }
-          return v2;
-        };
-        const eb = (er) => {
-          if (options.status) {
-            options.status.fetchRejected = true;
-            options.status.fetchError = er;
-          }
-          return fetchFail(er);
-        };
-        const fetchFail = (er) => {
-          const { aborted } = ac.signal;
-          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
-          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
-          const noDelete = allowStale || options.noDeleteOnFetchRejection;
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            const del = !noDelete || bf2.__staleWhileFetching === void 0;
-            if (del) {
-              this.#delete(k, "fetch");
-            } else if (!allowStaleAborted) {
-              this.#valList[index] = bf2.__staleWhileFetching;
-            }
-          }
-          if (allowStale) {
-            if (options.status && bf2.__staleWhileFetching !== void 0) {
-              options.status.returnedStale = true;
-            }
-            return bf2.__staleWhileFetching;
-          } else if (bf2.__returned === bf2) {
-            throw er;
-          }
-        };
-        const pcall = (res, rej) => {
-          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
-          if (fmp && fmp instanceof Promise) {
-            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
-          }
-          ac.signal.addEventListener("abort", () => {
-            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
-              res(void 0);
-              if (options.allowStaleOnFetchAbort) {
-                res = (v2) => cb(v2, true);
-              }
-            }
-          });
-        };
-        if (options.status)
-          options.status.fetchDispatched = true;
-        const p = new Promise(pcall).then(cb, eb);
-        const bf = Object.assign(p, {
-          __abortController: ac,
-          __staleWhileFetching: v,
-          __returned: void 0
-        });
-        if (index === void 0) {
-          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
-          index = this.#keyMap.get(k);
+        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
+          return;
+        }
+        if (!request2.aborted && write(client, request2)) {
+          client[kPendingIdx]++;
         } else {
-          this.#valList[index] = bf;
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
-        return bf;
       }
-      #isBackgroundFetch(p) {
-        if (!this.#hasFetchMethod)
-          return false;
-        const b = p;
-        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function write(client, request2) {
+      if (client[kHTTPConnVersion] === "h2") {
+        writeH2(client, client[kHTTP2Session], request2);
+        return;
       }
-      async fetch(k, fetchOptions = {}) {
-        const {
-          // get options
-          allowStale = this.allowStale,
-          updateAgeOnGet = this.updateAgeOnGet,
-          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
-          // set options
-          ttl = this.ttl,
-          noDisposeOnSet = this.noDisposeOnSet,
-          size = 0,
-          sizeCalculation = this.sizeCalculation,
-          noUpdateTTL = this.noUpdateTTL,
-          // fetch exclusive options
-          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
-          ignoreFetchAbort = this.ignoreFetchAbort,
-          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
-          context: context3,
-          forceRefresh = false,
-          status,
-          signal
-        } = fetchOptions;
-        if (!this.#hasFetchMethod) {
-          if (status)
-            status.fetch = "get";
-          return this.get(k, {
-            allowStale,
-            updateAgeOnGet,
-            noDeleteOnStaleGet,
-            status
-          });
+      const { body, method, path: path16, host, upgrade, headers, blocking, reset } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      let contentLength = bodyLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        const options = {
-          allowStale,
-          updateAgeOnGet,
-          noDeleteOnStaleGet,
-          ttl,
-          noDisposeOnSet,
-          size,
-          sizeCalculation,
-          noUpdateTTL,
-          noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection,
-          allowStaleOnFetchAbort,
-          ignoreFetchAbort,
-          status,
-          signal
-        };
-        let index = this.#keyMap.get(k);
-        if (index === void 0) {
-          if (status)
-            status.fetch = "miss";
-          const p = this.#backgroundFetch(k, index, options, context3);
-          return p.__returned = p;
-        } else {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            const stale = allowStale && v.__staleWhileFetching !== void 0;
-            if (status) {
-              status.fetch = "inflight";
-              if (stale)
-                status.returnedStale = true;
-            }
-            return stale ? v.__staleWhileFetching : v.__returned = v;
-          }
-          const isStale = this.#isStale(index);
-          if (!forceRefresh && !isStale) {
-            if (status)
-              status.fetch = "hit";
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            if (status)
-              this.#statusTTL(status, index);
-            return v;
-          }
-          const p = this.#backgroundFetch(k, index, options, context3);
-          const hasStale = p.__staleWhileFetching !== void 0;
-          const staleVal = hasStale && allowStale;
-          if (status) {
-            status.fetch = isStale ? "stale" : "refresh";
-            if (staleVal && isStale)
-              status.returnedStale = true;
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
           }
-          return staleVal ? p.__staleWhileFetching : p.__returned = p;
+          errorRequest2(client, request2, err || new RequestAbortedError());
+          util.destroy(socket, new InformationalError("aborted"));
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path16} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
+      } else {
+        header += client[kHostHeader];
+      }
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
+      }
+      if (headers) {
+        header += headers;
+      }
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        if (contentLength === 0) {
+          socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+        } else {
+          assert(contentLength === null, "no body must not have content length");
+          socket.write(`${header}\r
+`, "latin1");
+        }
+        request2.onRequestSent();
+      } else if (util.isBuffer(body)) {
+        assert(contentLength === body.byteLength, "buffer body must have content length");
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(body);
+        socket.uncork();
+        request2.onBodySent(body);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
+        } else {
+          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
         }
+      } else if (util.isStream(body)) {
+        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else if (util.isIterable(body)) {
+        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else {
+        assert(false);
       }
-      async forceFetch(k, fetchOptions = {}) {
-        const v = await this.fetch(k, fetchOptions);
-        if (v === void 0)
-          throw new Error("fetch() returned undefined");
-        return v;
+      return true;
+    }
+    function writeH2(client, session, request2) {
+      const { body, method, path: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let headers;
+      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
+      else headers = reqHeaders;
+      if (upgrade) {
+        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      memo(k, memoOptions = {}) {
-        const memoMethod = this.#memoMethod;
-        if (!memoMethod) {
-          throw new Error("no memoMethod provided to constructor");
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
+          }
+          errorRequest2(client, request2, err || new RequestAbortedError());
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      let stream2;
+      const h2State = client[kHTTP2SessionState];
+      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
+      headers[HTTP2_HEADER_METHOD] = method;
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++h2State.openStreams;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++h2State.openStreams;
+          });
         }
-        const { context: context3, forceRefresh, ...options } = memoOptions;
-        const v = this.get(k, options);
-        if (!forceRefresh && v !== void 0)
-          return v;
-        const vv = memoMethod(k, v, {
-          options,
-          context: context3
+        stream2.once("close", () => {
+          h2State.openStreams -= 1;
+          if (h2State.openStreams === 0) session.unref();
         });
-        this.set(k, vv, options);
-        return vv;
+        return true;
       }
-      /**
-       * Return a value from the cache. Will update the recency of the cache
-       * entry found.
-       *
-       * If the key is not found, get() will return `undefined`.
-       */
-      get(k, getOptions = {}) {
-        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const value = this.#valList[index];
-          const fetching = this.#isBackgroundFetch(value);
-          if (status)
-            this.#statusTTL(status, index);
-          if (this.#isStale(index)) {
-            if (status)
-              status.get = "stale";
-            if (!fetching) {
-              if (!noDeleteOnStaleGet) {
-                this.#delete(k, "expire");
-              }
-              if (status && allowStale)
-                status.returnedStale = true;
-              return allowStale ? value : void 0;
-            } else {
-              if (status && allowStale && value.__staleWhileFetching !== void 0) {
-                status.returnedStale = true;
-              }
-              return allowStale ? value.__staleWhileFetching : void 0;
-            }
-          } else {
-            if (status)
-              status.get = "hit";
-            if (fetching) {
-              return value.__staleWhileFetching;
-            }
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            return value;
-          }
-        } else if (status) {
-          status.get = "miss";
+      headers[HTTP2_HEADER_PATH] = path16;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      let contentLength = util.bodyLength(body);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      #connect(p, n) {
-        this.#prev[n] = p;
-        this.#next[p] = n;
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      #moveToTail(index) {
-        if (index !== this.#tail) {
-          if (index === this.#head) {
-            this.#head = this.#next[index];
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD";
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
+      }
+      ++h2State.openStreams;
+      stream2.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+      });
+      stream2.once("end", () => {
+        request2.onComplete([]);
+      });
+      stream2.on("data", (chunk) => {
+        if (request2.onData(chunk) === false) {
+          stream2.pause();
+        }
+      });
+      stream2.once("close", () => {
+        h2State.openStreams -= 1;
+        if (h2State.openStreams === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream2, err);
+        }
+      });
+      stream2.once("frameError", (type2, code) => {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        errorRequest2(client, request2, err);
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream2, err);
+        }
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body) {
+          request2.onRequestSent();
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          stream2.cork();
+          stream2.write(body);
+          stream2.uncork();
+          stream2.end();
+          request2.onBodySent(body);
+          request2.onRequestSent();
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable({
+              client,
+              request: request2,
+              contentLength,
+              h2stream: stream2,
+              expectsPayload,
+              body: body.stream(),
+              socket: client[kSocket],
+              header: ""
+            });
           } else {
-            this.#connect(this.#prev[index], this.#next[index]);
+            writeBlob({
+              body,
+              client,
+              request: request2,
+              contentLength,
+              expectsPayload,
+              h2stream: stream2,
+              header: "",
+              socket: client[kSocket]
+            });
           }
-          this.#connect(this.#tail, index);
-          this.#tail = index;
+        } else if (util.isStream(body)) {
+          writeStream({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            socket: client[kSocket],
+            h2stream: stream2,
+            header: ""
+          });
+        } else if (util.isIterable(body)) {
+          writeIterable({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            header: "",
+            h2stream: stream2,
+            socket: client[kSocket]
+          });
+        } else {
+          assert(false);
         }
       }
-      /**
-       * Deletes a key out of the cache.
-       *
-       * Returns true if the key was deleted, false otherwise.
-       */
-      delete(k) {
-        return this.#delete(k, "delete");
-      }
-      #delete(k, reason) {
-        let deleted = false;
-        if (this.#size !== 0) {
-          const index = this.#keyMap.get(k);
-          if (index !== void 0) {
-            deleted = true;
-            if (this.#size === 1) {
-              this.#clear(reason);
+    }
+    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      if (client[kHTTPConnVersion] === "h2") {
+        let onPipeData = function(chunk) {
+          request2.onBodySent(chunk);
+        };
+        const pipe = pipeline(
+          body,
+          h2stream,
+          (err) => {
+            if (err) {
+              util.destroy(body, err);
+              util.destroy(h2stream, err);
             } else {
-              this.#removeItemSize(index);
-              const v = this.#valList[index];
-              if (this.#isBackgroundFetch(v)) {
-                v.__abortController.abort(new Error("deleted"));
-              } else if (this.#hasDispose || this.#hasDisposeAfter) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(v, k, reason);
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([v, k, reason]);
-                }
-              }
-              this.#keyMap.delete(k);
-              this.#keyList[index] = void 0;
-              this.#valList[index] = void 0;
-              if (index === this.#tail) {
-                this.#tail = this.#prev[index];
-              } else if (index === this.#head) {
-                this.#head = this.#next[index];
-              } else {
-                const pi = this.#prev[index];
-                this.#next[pi] = this.#next[index];
-                const ni = this.#next[index];
-                this.#prev[ni] = this.#prev[index];
-              }
-              this.#size--;
-              this.#free.push(index);
+              request2.onRequestSent();
             }
           }
+        );
+        pipe.on("data", onPipeData);
+        pipe.once("end", () => {
+          pipe.removeListener("data", onPipeData);
+          util.destroy(pipe);
+        });
+        return;
+      }
+      let finished = false;
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
         }
-        if (this.#hasDisposeAfter && this.#disposed?.length) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
           }
+        } catch (err) {
+          util.destroy(this, err);
         }
-        return deleted;
-      }
-      /**
-       * Clear the cache entirely, throwing away all values.
-       */
-      clear() {
-        return this.#clear("delete");
-      }
-      #clear(reason) {
-        for (const index of this.#rindexes({ allowStale: true })) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            v.__abortController.abort(new Error("deleted"));
-          } else {
-            const k = this.#keyList[index];
-            if (this.#hasDispose) {
-              this.#dispose?.(v, k, reason);
-            }
-            if (this.#hasDisposeAfter) {
-              this.#disposed?.push([v, k, reason]);
-            }
-          }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
         }
-        this.#keyMap.clear();
-        this.#valList.fill(void 0);
-        this.#keyList.fill(void 0);
-        if (this.#ttls && this.#starts) {
-          this.#ttls.fill(0);
-          this.#starts.fill(0);
+        if (body.resume) {
+          body.resume();
         }
-        if (this.#sizes) {
-          this.#sizes.fill(0);
+      };
+      const onAbort = function() {
+        if (finished) {
+          return;
         }
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free.length = 0;
-        this.#calculatedSize = 0;
-        this.#size = 0;
-        if (this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+        const err = new RequestAbortedError();
+        queueMicrotask(() => onFinished(err));
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
           }
         }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
+        }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
+      if (body.resume) {
+        body.resume();
       }
-    };
-    exports2.LRUCache = LRUCache;
-  }
-});
-
-// node_modules/minipass/dist/commonjs/index.js
-var require_commonjs22 = __commonJS({
-  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
-    var proc = typeof process === "object" && process ? process : {
-      stdout: null,
-      stderr: null
-    };
-    var node_events_1 = require("node:events");
-    var node_stream_1 = __importDefault2(require("node:stream"));
-    var node_string_decoder_1 = require("node:string_decoder");
-    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
-    exports2.isStream = isStream;
-    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
-    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
-    exports2.isReadable = isReadable;
-    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
-    exports2.isWritable = isWritable;
-    var EOF2 = /* @__PURE__ */ Symbol("EOF");
-    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
-    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
-    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
-    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
-    var CLOSED = /* @__PURE__ */ Symbol("closed");
-    var READ = /* @__PURE__ */ Symbol("read");
-    var FLUSH = /* @__PURE__ */ Symbol("flush");
-    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
-    var ENCODING = /* @__PURE__ */ Symbol("encoding");
-    var DECODER = /* @__PURE__ */ Symbol("decoder");
-    var FLOWING = /* @__PURE__ */ Symbol("flowing");
-    var PAUSED = /* @__PURE__ */ Symbol("paused");
-    var RESUME = /* @__PURE__ */ Symbol("resume");
-    var BUFFER = /* @__PURE__ */ Symbol("buffer");
-    var PIPES = /* @__PURE__ */ Symbol("pipes");
-    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
-    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
-    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
-    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
-    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
-    var ERROR = /* @__PURE__ */ Symbol("error");
-    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
-    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
-    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
-    var ASYNC = /* @__PURE__ */ Symbol("async");
-    var ABORT = /* @__PURE__ */ Symbol("abort");
-    var ABORTED = /* @__PURE__ */ Symbol("aborted");
-    var SIGNAL = /* @__PURE__ */ Symbol("signal");
-    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
-    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
-    var defer = (fn) => Promise.resolve().then(fn);
-    var nodefer = (fn) => fn();
-    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
-    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
-    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
-    var Pipe = class {
-      src;
-      dest;
-      opts;
-      ondrain;
-      constructor(src, dest, opts) {
-        this.src = src;
-        this.dest = dest;
-        this.opts = opts;
-        this.ondrain = () => src[RESUME]();
-        this.dest.on("drain", this.ondrain);
-      }
-      unpipe() {
-        this.dest.removeListener("drain", this.ondrain);
-      }
-      // only here for the prototype
-      /* c8 ignore start */
-      proxyErrors(_er) {
-      }
-      /* c8 ignore stop */
-      end() {
-        this.unpipe();
-        if (this.opts.end)
-          this.dest.end();
-      }
-    };
-    var PipeProxyErrors = class extends Pipe {
-      unpipe() {
-        this.src.removeListener("error", this.proxyErrors);
-        super.unpipe();
-      }
-      constructor(src, dest, opts) {
-        super(src, dest, opts);
-        this.proxyErrors = (er) => dest.emit("error", er);
-        src.on("error", this.proxyErrors);
-      }
-    };
-    var isObjectModeOptions = (o) => !!o.objectMode;
-    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
-    var Minipass = class extends node_events_1.EventEmitter {
-      [FLOWING] = false;
-      [PAUSED] = false;
-      [PIPES] = [];
-      [BUFFER] = [];
-      [OBJECTMODE];
-      [ENCODING];
-      [ASYNC];
-      [DECODER];
-      [EOF2] = false;
-      [EMITTED_END] = false;
-      [EMITTING_END] = false;
-      [CLOSED] = false;
-      [EMITTED_ERROR] = null;
-      [BUFFERLENGTH] = 0;
-      [DESTROYED] = false;
-      [SIGNAL];
-      [ABORTED] = false;
-      [DATALISTENERS] = 0;
-      [DISCARDED] = false;
-      /**
-       * true if the stream can be written
-       */
-      writable = true;
-      /**
-       * true if the stream can be read
-       */
-      readable = true;
-      /**
-       * If `RType` is Buffer, then options do not need to be provided.
-       * Otherwise, an options object must be provided to specify either
-       * {@link Minipass.SharedOptions.objectMode} or
-       * {@link Minipass.SharedOptions.encoding}, as appropriate.
-       */
-      constructor(...args) {
-        const options = args[0] || {};
-        super();
-        if (options.objectMode && typeof options.encoding === "string") {
-          throw new TypeError("Encoding and objectMode may not be used together");
+      socket.on("drain", onDrain).on("error", onFinished);
+    }
+    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength === body.size, "blob body must have content length");
+      const isH2 = client[kHTTPConnVersion] === "h2";
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        if (isObjectModeOptions(options)) {
-          this[OBJECTMODE] = true;
-          this[ENCODING] = null;
-        } else if (isEncodingOptions(options)) {
-          this[ENCODING] = options.encoding;
-          this[OBJECTMODE] = false;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        if (isH2) {
+          h2stream.cork();
+          h2stream.write(buffer);
+          h2stream.uncork();
         } else {
-          this[OBJECTMODE] = false;
-          this[ENCODING] = null;
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(buffer);
+          socket.uncork();
         }
-        this[ASYNC] = !!options.async;
-        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
-        if (options && options.debugExposeBuffer === true) {
-          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
-        if (options && options.debugExposePipes === true) {
-          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
+        resume(client);
+      } catch (err) {
+        util.destroy(isH2 ? h2stream : socket, err);
+      }
+    }
+    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
         }
-        const { signal } = options;
-        if (signal) {
-          this[SIGNAL] = signal;
-          if (signal.aborted) {
-            this[ABORT]();
-          } else {
-            signal.addEventListener("abort", () => this[ABORT]());
+      }
+      const waitForDrain = () => new Promise((resolve8, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve8;
+        }
+      });
+      if (client[kHTTPConnVersion] === "h2") {
+        h2stream.on("close", onDrain).on("drain", onDrain);
+        try {
+          for await (const chunk of body) {
+            if (socket[kError]) {
+              throw socket[kError];
+            }
+            const res = h2stream.write(chunk);
+            request2.onBodySent(chunk);
+            if (!res) {
+              await waitForDrain();
+            }
           }
+        } catch (err) {
+          h2stream.destroy(err);
+        } finally {
+          request2.onRequestSent();
+          h2stream.end();
+          h2stream.off("close", onDrain).off("drain", onDrain);
         }
+        return;
       }
-      /**
-       * The amount of data stored in the buffer waiting to be read.
-       *
-       * For Buffer strings, this will be the total byte length.
-       * For string encoding streams, this will be the string character length,
-       * according to JavaScript's `string.length` logic.
-       * For objectMode streams, this is a count of the items waiting to be
-       * emitted.
-       */
-      get bufferLength() {
-        return this[BUFFERLENGTH];
-      }
-      /**
-       * The `BufferEncoding` currently in use, or `null`
-       */
-      get encoding() {
-        return this[ENCODING];
-      }
-      /**
-       * @deprecated - This is a read only property
-       */
-      set encoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
-      }
-      /**
-       * @deprecated - Encoding may only be set at instantiation time
-       */
-      setEncoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
-      }
-      /**
-       * True if this is an objectMode stream
-       */
-      get objectMode() {
-        return this[OBJECTMODE];
-      }
-      /**
-       * @deprecated - This is a read-only property
-       */
-      set objectMode(_om) {
-        throw new Error("objectMode must be set at instantiation time");
-      }
-      /**
-       * true if this is an async stream
-       */
-      get ["async"]() {
-        return this[ASYNC];
-      }
-      /**
-       * Set to true to make this stream async.
-       *
-       * Once set, it cannot be unset, as this would potentially cause incorrect
-       * behavior.  Ie, a sync stream can be made async, but an async stream
-       * cannot be safely made sync.
-       */
-      set ["async"](a) {
-        this[ASYNC] = this[ASYNC] || !!a;
-      }
-      // drop everything and get out of the flow completely
-      [ABORT]() {
-        this[ABORTED] = true;
-        this.emit("abort", this[SIGNAL]?.reason);
-        this.destroy(this[SIGNAL]?.reason);
-      }
-      /**
-       * True if the stream has been aborted.
-       */
-      get aborted() {
-        return this[ABORTED];
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      /**
-       * No-op setter. Stream aborted status is set via the AbortSignal provided
-       * in the constructor options.
-       */
-      set aborted(_2) {
+    }
+    var AsyncWriter = class {
+      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        socket[kWriting] = true;
       }
-      write(chunk, encoding, cb) {
-        if (this[ABORTED])
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
+        }
+        if (socket.destroyed) {
           return false;
-        if (this[EOF2])
-          throw new Error("write after end");
-        if (this[DESTROYED]) {
-          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
-          return true;
         }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        if (!encoding)
-          encoding = "utf8";
-        const fn = this[ASYNC] ? defer : nodefer;
-        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
-          if (isArrayBufferView(chunk)) {
-            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
-          } else if (isArrayBufferLike(chunk)) {
-            chunk = Buffer.from(chunk);
-          } else if (typeof chunk !== "string") {
-            throw new Error("Non-contiguous data written to non-objectMode stream");
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        if (this[OBJECTMODE]) {
-          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-            this[FLUSH](true);
-          if (this[FLOWING])
-            this.emit("data", chunk);
-          else
-            this[BUFFERPUSH](chunk);
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (!chunk.length) {
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
+          } else {
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          }
         }
-        if (typeof chunk === "string" && // unless it is a string already ready for us to use
-        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
-          chunk = Buffer.from(chunk, encoding);
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
         }
-        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
-          chunk = this[DECODER].write(chunk);
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
+            }
+          }
         }
-        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-          this[FLUSH](true);
-        if (this[FLOWING])
-          this.emit("data", chunk);
-        else
-          this[BUFFERPUSH](chunk);
-        if (this[BUFFERLENGTH] !== 0)
-          this.emit("readable");
-        if (cb)
-          fn(cb);
-        return this[FLOWING];
+        return ret;
       }
-      /**
-       * Low-level explicit read method.
-       *
-       * In objectMode, the argument is ignored, and one item is returned if
-       * available.
-       *
-       * `n` is the number of bytes (or in the case of encoding streams,
-       * characters) to consume. If `n` is not provided, then the entire buffer
-       * is returned, or `null` is returned if no data is available.
-       *
-       * If `n` is greater that the amount of data in the internal buffer,
-       * then `null` is returned.
-       */
-      read(n) {
-        if (this[DESTROYED])
-          return null;
-        this[DISCARDED] = false;
-        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
-          this[MAYBE_EMIT_END]();
-          return null;
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        if (this[OBJECTMODE])
-          n = null;
-        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
-          this[BUFFER] = [
-            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
-          ];
+        if (socket.destroyed) {
+          return;
         }
-        const ret = this[READ](n || null, this[BUFFER][0]);
-        this[MAYBE_EMIT_END]();
-        return ret;
-      }
-      [READ](n, chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERSHIFT]();
-        else {
-          const c = chunk;
-          if (n === c.length || n === null)
-            this[BUFFERSHIFT]();
-          else if (typeof c === "string") {
-            this[BUFFER][0] = c.slice(n);
-            chunk = c.slice(0, n);
-            this[BUFFERLENGTH] -= n;
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
           } else {
-            this[BUFFER][0] = c.subarray(n);
-            chunk = c.subarray(0, n);
-            this[BUFFERLENGTH] -= n;
+            socket.write(`${header}\r
+`, "latin1");
           }
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
         }
-        this.emit("data", chunk);
-        if (!this[BUFFER].length && !this[EOF2])
-          this.emit("drain");
-        return chunk;
-      }
-      end(chunk, encoding, cb) {
-        if (typeof chunk === "function") {
-          cb = chunk;
-          chunk = void 0;
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
+          }
         }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        if (chunk !== void 0)
-          this.write(chunk, encoding);
-        if (cb)
-          this.once("end", cb);
-        this[EOF2] = true;
-        this.writable = false;
-        if (this[FLOWING] || !this[PAUSED])
-          this[MAYBE_EMIT_END]();
-        return this;
+        resume(client);
       }
-      // don't let the internal resume be overwritten
-      [RESUME]() {
-        if (this[DESTROYED])
-          return;
-        if (!this[DATALISTENERS] && !this[PIPES].length) {
-          this[DISCARDED] = true;
+      destroy(err) {
+        const { socket, client } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          util.destroy(socket, err);
         }
-        this[PAUSED] = false;
-        this[FLOWING] = true;
-        this.emit("resume");
-        if (this[BUFFER].length)
-          this[FLUSH]();
-        else if (this[EOF2])
-          this[MAYBE_EMIT_END]();
-        else
-          this.emit("drain");
       }
-      /**
-       * Resume the stream if it is currently in a paused state
-       *
-       * If called when there are no pipe destinations or `data` event listeners,
-       * this will place the stream in a "discarded" state, where all data will
-       * be thrown away. The discarded state is removed if a pipe destination or
-       * data handler is added, if pause() is called, or if any synchronous or
-       * asynchronous iteration is started.
-       */
-      resume() {
-        return this[RESUME]();
+    };
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
       }
-      /**
-       * Pause the stream
-       */
-      pause() {
-        this[FLOWING] = false;
-        this[PAUSED] = true;
-        this[DISCARDED] = false;
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/undici/lib/node/fixed-queue.js
+var require_fixed_queue3 = __commonJS({
+  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+    "use strict";
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
+      constructor() {
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
+      }
+      isEmpty() {
+        return this.top === this.bottom;
+      }
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
+      }
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
+      }
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
+      }
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
+      }
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      /**
-       * true if the stream has been forcibly destroyed
-       */
-      get destroyed() {
-        return this[DESTROYED];
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
+        }
+        return next;
       }
-      /**
-       * true if the stream is currently in a flowing state, meaning that
-       * any writes will be immediately emitted.
-       */
-      get flowing() {
-        return this[FLOWING];
+    };
+  }
+});
+
+// node_modules/undici/lib/pool-stats.js
+var require_pool_stats3 = __commonJS({
+  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols11();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      /**
-       * true if the stream is currently in a paused state
-       */
-      get paused() {
-        return this[PAUSED];
+      get connected() {
+        return this[kPool][kConnected];
       }
-      [BUFFERPUSH](chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] += 1;
-        else
-          this[BUFFERLENGTH] += chunk.length;
-        this[BUFFER].push(chunk);
+      get free() {
+        return this[kPool][kFree];
       }
-      [BUFFERSHIFT]() {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] -= 1;
-        else
-          this[BUFFERLENGTH] -= this[BUFFER][0].length;
-        return this[BUFFER].shift();
+      get pending() {
+        return this[kPool][kPending];
       }
-      [FLUSH](noDrain = false) {
-        do {
-        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
-        if (!noDrain && !this[BUFFER].length && !this[EOF2])
-          this.emit("drain");
+      get queued() {
+        return this[kPool][kQueued];
       }
-      [FLUSHCHUNK](chunk) {
-        this.emit("data", chunk);
-        return this[FLOWING];
+      get running() {
+        return this[kPool][kRunning];
       }
-      /**
-       * Pipe all data emitted by this stream into the destination provided.
-       *
-       * Triggers the flow of data.
-       */
-      pipe(dest, opts) {
-        if (this[DESTROYED])
-          return dest;
-        this[DISCARDED] = false;
-        const ended = this[EMITTED_END];
-        opts = opts || {};
-        if (dest === proc.stdout || dest === proc.stderr)
-          opts.end = false;
-        else
-          opts.end = opts.end !== false;
-        opts.proxyErrors = !!opts.proxyErrors;
-        if (ended) {
-          if (opts.end)
-            dest.end();
-        } else {
-          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
-          if (this[ASYNC])
-            defer(() => this[RESUME]());
-          else
-            this[RESUME]();
-        }
-        return dest;
+      get size() {
+        return this[kPool][kSize];
       }
-      /**
-       * Fully unhook a piped destination stream.
-       *
-       * If the destination stream was the only consumer of this stream (ie,
-       * there are no other piped destinations or `'data'` event listeners)
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      unpipe(dest) {
-        const p = this[PIPES].find((p2) => p2.dest === dest);
-        if (p) {
-          if (this[PIPES].length === 1) {
-            if (this[FLOWING] && this[DATALISTENERS] === 0) {
-              this[FLOWING] = false;
+    };
+    module2.exports = PoolStats;
+  }
+});
+
+// node_modules/undici/lib/pool-base.js
+var require_pool_base3 = __commonJS({
+  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base3();
+    var FixedQueue = require_fixed_queue3();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols11();
+    var PoolStats = require_pool_stats3();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
+      constructor() {
+        super();
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
             }
-            this[PIPES] = [];
-          } else
-            this[PIPES].splice(this[PIPES].indexOf(p), 1);
-          p.unpipe();
-        }
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
+          }
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
+          }
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+          }
+        };
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      /**
-       * Alias for {@link Minipass#on}
-       */
-      addListener(ev, handler2) {
-        return this.on(ev, handler2);
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      /**
-       * Mostly identical to `EventEmitter.on`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * - Adding a 'data' event handler will trigger the flow of data
-       *
-       * - Adding a 'readable' event handler when there is data waiting to be read
-       *   will cause 'readable' to be emitted immediately.
-       *
-       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
-       *   already passed will cause the event to be emitted immediately and all
-       *   handlers removed.
-       *
-       * - Adding an 'error' event handler after an error has been emitted will
-       *   cause the event to be re-emitted immediately with the error previously
-       *   raised.
-       */
-      on(ev, handler2) {
-        const ret = super.on(ev, handler2);
-        if (ev === "data") {
-          this[DISCARDED] = false;
-          this[DATALISTENERS]++;
-          if (!this[PIPES].length && !this[FLOWING]) {
-            this[RESUME]();
-          }
-        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
-          super.emit("readable");
-        } else if (isEndish(ev) && this[EMITTED_END]) {
-          super.emit(ev);
-          this.removeAllListeners(ev);
-        } else if (ev === "error" && this[EMITTED_ERROR]) {
-          const h = handler2;
-          if (this[ASYNC])
-            defer(() => h.call(this, this[EMITTED_ERROR]));
-          else
-            h.call(this, this[EMITTED_ERROR]);
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
+      }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+      }
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
         return ret;
       }
-      /**
-       * Alias for {@link Minipass#off}
-       */
-      removeListener(ev, handler2) {
-        return this.off(ev, handler2);
-      }
-      /**
-       * Mostly identical to `EventEmitter.off`
-       *
-       * If a 'data' event handler is removed, and it was the last consumer
-       * (ie, there are no pipe destinations or other 'data' event listeners),
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      off(ev, handler2) {
-        const ret = super.off(ev, handler2);
-        if (ev === "data") {
-          this[DATALISTENERS] = this.listeners("data").length;
-          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
-          }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
         return ret;
       }
-      /**
-       * Mostly identical to `EventEmitter.removeAllListeners`
-       *
-       * If all 'data' event handlers are removed, and they were the last consumer
-       * (ie, there are no pipe destinations), then the flow of data will stop
-       * until there is another consumer or {@link Minipass#resume} is explicitly
-       * called.
-       */
-      removeAllListeners(ev) {
-        const ret = super.removeAllListeners(ev);
-        if (ev === "data" || ev === void 0) {
-          this[DATALISTENERS] = 0;
-          if (!this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
-          }
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
         return ret;
       }
-      /**
-       * true if the 'end' event has been emitted
-       */
-      get emittedEnd() {
-        return this[EMITTED_END];
+      get stats() {
+        return this[kStats];
       }
-      [MAYBE_EMIT_END]() {
-        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF2]) {
-          this[EMITTING_END] = true;
-          this.emit("end");
-          this.emit("prefinish");
-          this.emit("finish");
-          if (this[CLOSED])
-            this.emit("close");
-          this[EMITTING_END] = false;
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          return Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          return new Promise((resolve8) => {
+            this[kClosedResolve] = resolve8;
+          });
         }
       }
-      /**
-       * Mostly identical to `EventEmitter.emit`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * If the stream has been destroyed, and the event is something other
-       * than 'close' or 'error', then `false` is returned and no handlers
-       * are called.
-       *
-       * If the event is 'end', and has already been emitted, then the event
-       * is ignored. If the stream is in a paused or non-flowing state, then
-       * the event will be deferred until data flow resumes. If the stream is
-       * async, then handlers will be called on the next tick rather than
-       * immediately.
-       *
-       * If the event is 'close', and 'end' has not yet been emitted, then
-       * the event will be deferred until after 'end' is emitted.
-       *
-       * If the event is 'error', and an AbortSignal was provided for the stream,
-       * and there are no listeners, then the event is ignored, matching the
-       * behavior of node core streams in the presense of an AbortSignal.
-       *
-       * If the event is 'finish' or 'prefinish', then all listeners will be
-       * removed after emitting the event, to prevent double-firing.
-       */
-      emit(ev, ...args) {
-        const data = args[0];
-        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
-          return false;
-        } else if (ev === "data") {
-          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
-        } else if (ev === "end") {
-          return this[EMITEND]();
-        } else if (ev === "close") {
-          this[CLOSED] = true;
-          if (!this[EMITTED_END] && !this[DESTROYED])
-            return false;
-          const ret2 = super.emit("close");
-          this.removeAllListeners("close");
-          return ret2;
-        } else if (ev === "error") {
-          this[EMITTED_ERROR] = data;
-          super.emit(ERROR, data);
-          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "resume") {
-          const ret2 = super.emit("resume");
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "finish" || ev === "prefinish") {
-          const ret2 = super.emit(ev);
-          this.removeAllListeners(ev);
-          return ret2;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        const ret = super.emit(ev, ...args);
-        this[MAYBE_EMIT_END]();
-        return ret;
+        return Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      [EMITDATA](data) {
-        for (const p of this[PIPES]) {
-          if (p.dest.write(data) === false)
-            this.pause();
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
         }
-        const ret = this[DISCARDED] ? false : super.emit("data", data);
-        this[MAYBE_EMIT_END]();
-        return ret;
-      }
-      [EMITEND]() {
-        if (this[EMITTED_END])
-          return false;
-        this[EMITTED_END] = true;
-        this.readable = false;
-        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
+        return !this[kNeedDrain];
       }
-      [EMITEND2]() {
-        if (this[DECODER]) {
-          const data = this[DECODER].end();
-          if (data) {
-            for (const p of this[PIPES]) {
-              p.dest.write(data);
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          process.nextTick(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
             }
-            if (!this[DISCARDED])
-              super.emit("data", data);
-          }
-        }
-        for (const p of this[PIPES]) {
-          p.end();
+          });
         }
-        const ret = super.emit("end");
-        this.removeAllListeners("end");
-        return ret;
+        return this;
       }
-      /**
-       * Return a Promise that resolves to an array of all emitted data once
-       * the stream ends.
-       */
-      async collect() {
-        const buf = Object.assign([], {
-          dataLength: 0
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
+          }
         });
-        if (!this[OBJECTMODE])
-          buf.dataLength = 0;
-        const p = this.promise();
-        this.on("data", (c) => {
-          buf.push(c);
-          if (!this[OBJECTMODE])
-            buf.dataLength += c.length;
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      }
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/undici/lib/pool.js
+var require_pool3 = __commonJS({
+  "node_modules/undici/lib/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Client = require_client3();
+    var {
+      InvalidArgumentError
+    } = require_errors6();
+    var util = require_util24();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var buildConnector = require_connect3();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
+        }
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
+        }
+        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
+          }
         });
-        await p;
-        return buf;
       }
-      /**
-       * Return a Promise that resolves to the concatenation of all emitted data
-       * once the stream ends.
-       *
-       * Not allowed on objectMode streams.
-       */
-      async concat() {
-        if (this[OBJECTMODE]) {
-          throw new Error("cannot concat in objectMode");
+      [kGetDispatcher]() {
+        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
+        if (dispatcher) {
+          return dispatcher;
         }
-        const buf = await this.collect();
-        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+        }
+        return dispatcher;
       }
-      /**
-       * Return a void Promise that resolves once the stream ends.
-       */
-      async promise() {
-        return new Promise((resolve8, reject) => {
-          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
-          this.on("error", (er) => reject(er));
-          this.on("end", () => resolve8());
-        });
+    };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/undici/lib/balanced-pool.js
+var require_balanced_pool3 = __commonJS({
+  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors6();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Pool = require_pool3();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var { parseOrigin } = require_util24();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (b === 0) return a;
+      return getGreatestCommonDivisor(b, a % b);
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
+        }
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
       }
-      /**
-       * Asynchronous `for await of` iteration.
-       *
-       * This will continue emitting all chunks until the stream terminates.
-       */
-      [Symbol.asyncIterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = async () => {
-          this.pause();
-          stopped = true;
-          return { value: void 0, done: true };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const res = this.read();
-          if (res !== null)
-            return Promise.resolve({ done: false, value: res });
-          if (this[EOF2])
-            return stop();
-          let resolve8;
-          let reject;
-          const onerr = (er) => {
-            this.off("data", ondata);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            reject(er);
-          };
-          const ondata = (value) => {
-            this.off("error", onerr);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            this.pause();
-            resolve8({ value, done: !!this[EOF2] });
-          };
-          const onend = () => {
-            this.off("error", onerr);
-            this.off("data", ondata);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            resolve8({ done: true, value: void 0 });
-          };
-          const ondestroy = () => onerr(new Error("stream destroyed"));
-          return new Promise((res2, rej) => {
-            reject = rej;
-            resolve8 = res2;
-            this.once(DESTROYED, ondestroy);
-            this.once("error", onerr);
-            this.once("end", onend);
-            this.once("data", ondata);
-          });
-        };
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.asyncIterator]() {
-            return this;
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
+        }
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
           }
-        };
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
+        }
+        this._updateBalancedPoolStats();
+        return this;
       }
-      /**
-       * Synchronous `for of` iteration.
-       *
-       * The iteration will terminate when the internal buffer runs out, even
-       * if the stream has not yet terminated.
-       */
-      [Symbol.iterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = () => {
-          this.pause();
-          this.off(ERROR, stop);
-          this.off(DESTROYED, stop);
-          this.off("end", stop);
-          stopped = true;
-          return { done: true, value: void 0 };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const value = this.read();
-          return value === null ? stop() : { done: false, value };
-        };
-        this.once("end", stop);
-        this.once(ERROR, stop);
-        this.once(DESTROYED, stop);
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.iterator]() {
-            return this;
-          }
-        };
+      _updateBalancedPoolStats() {
+        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
       }
-      /**
-       * Destroy a stream, preventing it from being used for any further purpose.
-       *
-       * If the stream has a `close()` method, then it will be called on
-       * destruction.
-       *
-       * After destruction, any attempt to write data, read data, or emit most
-       * events will be ignored.
-       *
-       * If an error argument is provided, then it will be emitted in an
-       * 'error' event.
-       */
-      destroy(er) {
-        if (this[DESTROYED]) {
-          if (er)
-            this.emit("error", er);
-          else
-            this.emit(DESTROYED);
-          return this;
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
         }
-        this[DESTROYED] = true;
-        this[DISCARDED] = true;
-        this[BUFFER].length = 0;
-        this[BUFFERLENGTH] = 0;
-        const wc = this;
-        if (typeof wc.close === "function" && !this[CLOSED])
-          wc.close();
-        if (er)
-          this.emit("error", er);
-        else
-          this.emit(DESTROYED);
         return this;
       }
-      /**
-       * Alias for {@link isStream}
-       *
-       * Former export location, maintained for backwards compatibility.
-       *
-       * @deprecated
-       */
-      static get isStream() {
-        return exports2.isStream;
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      }
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
+        }
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
+          return;
+        }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
+          return;
+        }
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
+          }
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
+            }
+          }
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
+          }
+        }
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
       }
     };
-    exports2.Minipass = Minipass;
+    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/path-scurry/dist/commonjs/index.js
-var require_commonjs23 = __commonJS({
-  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/compat/dispatcher-weakref.js
+var require_dispatcher_weakref3 = __commonJS({
+  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+    var { kConnected, kSize } = require_symbols11();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
-    var lru_cache_1 = require_commonjs21();
-    var node_path_1 = require("node:path");
-    var node_url_1 = require("node:url");
-    var fs_1 = require("fs");
-    var actualFS = __importStar2(require("node:fs"));
-    var realpathSync = fs_1.realpathSync.native;
-    var promises_1 = require("node:fs/promises");
-    var minipass_1 = require_commonjs22();
-    var defaultFS = {
-      lstatSync: fs_1.lstatSync,
-      readdir: fs_1.readdir,
-      readdirSync: fs_1.readdirSync,
-      readlinkSync: fs_1.readlinkSync,
-      realpathSync,
-      promises: {
-        lstat: promises_1.lstat,
-        readdir: promises_1.readdir,
-        readlink: promises_1.readlink,
-        realpath: promises_1.realpath
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
     };
-    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
-      ...defaultFS,
-      ...fsOption,
-      promises: {
-        ...defaultFS.promises,
-        ...fsOption.promises || {}
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-    };
-    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
-    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-    var eitherSep = /[\\\/]/;
-    var UNKNOWN = 0;
-    var IFIFO = 1;
-    var IFCHR = 2;
-    var IFDIR = 4;
-    var IFBLK = 6;
-    var IFREG = 8;
-    var IFLNK = 10;
-    var IFSOCK = 12;
-    var IFMT = 15;
-    var IFMT_UNKNOWN = ~IFMT;
-    var READDIR_CALLED = 16;
-    var LSTAT_CALLED = 32;
-    var ENOTDIR = 64;
-    var ENOENT = 128;
-    var ENOREADLINK = 256;
-    var ENOREALPATH = 512;
-    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
-    var TYPEMASK = 1023;
-    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
-    var normalizeCache = /* @__PURE__ */ new Map();
-    var normalize2 = (s) => {
-      const c = normalizeCache.get(s);
-      if (c)
-        return c;
-      const n = s.normalize("NFKD");
-      normalizeCache.set(s, n);
-      return n;
-    };
-    var normalizeNocaseCache = /* @__PURE__ */ new Map();
-    var normalizeNocase = (s) => {
-      const c = normalizeNocaseCache.get(s);
-      if (c)
-        return c;
-      const n = normalize2(s.toLowerCase());
-      normalizeNocaseCache.set(s, n);
-      return n;
-    };
-    var ResolveCache = class extends lru_cache_1.LRUCache {
-      constructor() {
-        super({ max: 256 });
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
+            }
+          });
+        }
       }
     };
-    exports2.ResolveCache = ResolveCache;
-    var ChildrenCache = class extends lru_cache_1.LRUCache {
-      constructor(maxSize = 16 * 1024) {
-        super({
-          maxSize,
-          // parent + children
-          sizeCalculation: (a) => a.length + 1
-        });
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE) {
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
       }
+      return {
+        WeakRef: global.WeakRef || CompatWeakRef,
+        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
+      };
     };
-    exports2.ChildrenCache = ChildrenCache;
-    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
-    var PathBase = class {
-      /**
-       * the basename of this path
-       *
-       * **Important**: *always* test the path name against any test string
-       * usingthe {@link isNamed} method, and not by directly comparing this
-       * string. Otherwise, unicode path strings that the system sees as identical
-       * will not be properly treated as the same path, leading to incorrect
-       * behavior and possible security issues.
-       */
-      name;
-      /**
-       * the Path entry corresponding to the path root.
-       *
-       * @internal
-       */
-      root;
-      /**
-       * All roots found within the current PathScurry family
-       *
-       * @internal
-       */
-      roots;
-      /**
-       * a reference to the parent path, or undefined in the case of root entries
-       *
-       * @internal
-       */
-      parent;
-      /**
-       * boolean indicating whether paths are compared case-insensitively
-       * @internal
-       */
-      nocase;
-      /**
-       * boolean indicating that this path is the current working directory
-       * of the PathScurry collection that contains it.
-       */
-      isCWD = false;
-      // potential default fs override
-      #fs;
-      // Stats fields
-      #dev;
-      get dev() {
-        return this.#dev;
-      }
-      #mode;
-      get mode() {
-        return this.#mode;
+  }
+});
+
+// node_modules/undici/lib/agent.js
+var require_agent3 = __commonJS({
+  "node_modules/undici/lib/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors6();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols11();
+    var DispatcherBase = require_dispatcher_base3();
+    var Pool = require_pool3();
+    var Client = require_client3();
+    var util = require_util24();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
+        }
+        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kFinalizer] = new FinalizationRegistry2(
+          /* istanbul ignore next: gc is undeterministic */
+          (key) => {
+            const ref = this[kClients].get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this[kClients].delete(key);
+            }
+          }
+        );
+        const agent = this;
+        this[kOnDrain] = (origin, targets) => {
+          agent.emit("drain", origin, [agent, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          agent.emit("connect", origin, [agent, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          agent.emit("disconnect", origin, [agent, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          agent.emit("connectionError", origin, [agent, ...targets], err);
+        };
       }
-      #nlink;
-      get nlink() {
-        return this.#nlink;
+      get [kRunning]() {
+        let ret = 0;
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            ret += client[kRunning];
+          }
+        }
+        return ret;
       }
-      #uid;
-      get uid() {
-        return this.#uid;
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
+        }
+        const ref = this[kClients].get(key);
+        let dispatcher = ref ? ref.deref() : null;
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, new WeakRef2(dispatcher));
+          this[kFinalizer].register(dispatcher, key);
+        }
+        return dispatcher.dispatch(opts, handler2);
       }
-      #gid;
-      get gid() {
-        return this.#gid;
+      async [kClose]() {
+        const closePromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            closePromises.push(client.close());
+          }
+        }
+        await Promise.all(closePromises);
       }
-      #rdev;
-      get rdev() {
-        return this.#rdev;
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            destroyPromises.push(client.destroy(err));
+          }
+        }
+        await Promise.all(destroyPromises);
       }
-      #blksize;
-      get blksize() {
-        return this.#blksize;
+    };
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/undici/lib/api/readable.js
+var require_readable5 = __commonJS({
+  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { Readable: Readable2 } = require("stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors6();
+    var util = require_util24();
+    var { ReadableStreamFrom, toUSVString } = require_util24();
+    var Blob2;
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("abort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var noop3 = () => {
+    };
+    module2.exports = class BodyReadable extends Readable2 {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kReading] = false;
       }
-      #ino;
-      get ino() {
-        return this.#ino;
+      destroy(err) {
+        if (this.destroyed) {
+          return this;
+        }
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
+        }
+        return super.destroy(err);
       }
-      #size;
-      get size() {
-        return this.#size;
+      emit(ev, ...args) {
+        if (ev === "data") {
+          this._readableState.dataEmitted = true;
+        } else if (ev === "error") {
+          this._readableState.errorEmitted = true;
+        }
+        return super.emit(ev, ...args);
       }
-      #blocks;
-      get blocks() {
-        return this.#blocks;
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
+        }
+        return super.on(ev, ...args);
       }
-      #atimeMs;
-      get atimeMs() {
-        return this.#atimeMs;
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      #mtimeMs;
-      get mtimeMs() {
-        return this.#mtimeMs;
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+        }
+        return ret;
       }
-      #ctimeMs;
-      get ctimeMs() {
-        return this.#ctimeMs;
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      #birthtimeMs;
-      get birthtimeMs() {
-        return this.#birthtimeMs;
+      push(chunk) {
+        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
+        }
+        return super.push(chunk);
       }
-      #atime;
-      get atime() {
-        return this.#atime;
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      #mtime;
-      get mtime() {
-        return this.#mtime;
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      #ctime;
-      get ctime() {
-        return this.#ctime;
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      #birthtime;
-      get birthtime() {
-        return this.#birthtime;
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      #matchName;
-      #depth;
-      #fullpath;
-      #fullpathPosix;
-      #relative;
-      #relativePosix;
-      #type;
-      #children;
-      #linkTarget;
-      #realpath;
-      /**
-       * This property is for compatibility with the Dirent class as of
-       * Node v20, where Dirent['parentPath'] refers to the path of the
-       * directory that was passed to readdir. For root entries, it's the path
-       * to the entry itself.
-       */
-      get parentPath() {
-        return (this.parent || this).fullpath();
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      /**
-       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
-       * this property refers to the *parent* path, not the path object itself.
-       *
-       * @deprecated
-       */
-      get path() {
-        return this.parentPath;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        this.name = name;
-        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
-        this.#type = type2 & TYPEMASK;
-        this.nocase = nocase;
-        this.roots = roots;
-        this.root = root || this;
-        this.#children = children;
-        this.#fullpath = opts.fullpath;
-        this.#relative = opts.relative;
-        this.#relativePosix = opts.relativePosix;
-        this.parent = opts.parent;
-        if (this.parent) {
-          this.#fs = this.parent.#fs;
-        } else {
-          this.#fs = fsFromOption(opts.fs);
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
+          }
         }
+        return this[kBody];
       }
-      /**
-       * Returns the depth of the Path object from its root.
-       *
-       * For example, a path at `/foo/bar` would have a depth of 2.
-       */
-      depth() {
-        if (this.#depth !== void 0)
-          return this.#depth;
-        if (!this.parent)
-          return this.#depth = 0;
-        return this.#depth = this.parent.depth() + 1;
-      }
-      /**
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
-      }
-      /**
-       * Get the Path object referenced by the string path, resolved from this Path
-       */
-      resolve(path16) {
-        if (!path16) {
-          return this;
+      dump(opts) {
+        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
+        const signal = opts && opts.signal;
+        if (signal) {
+          try {
+            if (typeof signal !== "object" || !("aborted" in signal)) {
+              throw new InvalidArgumentError("signal must be an AbortSignal");
+            }
+            util.throwIfAborted(signal);
+          } catch (err) {
+            return Promise.reject(err);
+          }
         }
-        const rootPath = this.getRootString(path16);
-        const dir = path16.substring(rootPath.length);
-        const dirParts = dir.split(this.splitSep);
-        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
-        return result;
-      }
-      #resolveParts(dirParts) {
-        let p = this;
-        for (const part of dirParts) {
-          p = p.child(part);
+        if (this.closed) {
+          return Promise.resolve(null);
         }
-        return p;
+        return new Promise((resolve8, reject) => {
+          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
+            this.destroy();
+          }) : noop3;
+          this.on("close", function() {
+            signalListenerCleanup();
+            if (signal && signal.aborted) {
+              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+            } else {
+              resolve8(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
       }
-      /**
-       * Returns the cached children Path objects, if still available.  If they
-       * have fallen out of the cache, then returns an empty array, and resets the
-       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
-       * lookup.
-       *
-       * @internal
-       */
-      children() {
-        const cached = this.#children.get(this);
-        if (cached) {
-          return cached;
-        }
-        const children = Object.assign([], { provisional: 0 });
-        this.#children.set(this, children);
-        this.#type &= ~READDIR_CALLED;
-        return children;
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream2, type2) {
+      if (isUnusable(stream2)) {
+        throw new TypeError("unusable");
       }
-      /**
-       * Resolves a path portion and returns or creates the child Path.
-       *
-       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
-       * `'..'`.
-       *
-       * This should not be called directly.  If `pathPart` contains any path
-       * separators, it will lead to unsafe undefined behavior.
-       *
-       * Use `Path.resolve()` instead.
-       *
-       * @internal
-       */
-      child(pathPart, opts) {
-        if (pathPart === "" || pathPart === ".") {
-          return this;
-        }
-        if (pathPart === "..") {
-          return this.parent || this;
-        }
-        const children = this.children();
-        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
-        for (const p of children) {
-          if (p.#matchName === name) {
-            return p;
+      assert(!stream2[kConsume]);
+      return new Promise((resolve8, reject) => {
+        stream2[kConsume] = {
+          type: type2,
+          stream: stream2,
+          resolve: resolve8,
+          reject,
+          length: 0,
+          body: []
+        };
+        stream2.on("error", function(err) {
+          consumeFinish(this[kConsume], err);
+        }).on("close", function() {
+          if (this[kConsume].body !== null) {
+            consumeFinish(this[kConsume], new RequestAbortedError());
           }
-        }
-        const s = this.parent ? this.sep : "";
-        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
-        const pchild = this.newChild(pathPart, UNKNOWN, {
-          ...opts,
-          parent: this,
-          fullpath
         });
-        if (!this.canReaddir()) {
-          pchild.#type |= ENOENT;
-        }
-        children.push(pchild);
-        return pchild;
+        process.nextTick(consumeStart, stream2[kConsume]);
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
       }
-      /**
-       * The relative path from the cwd. If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpath()
-       */
-      relative() {
-        if (this.isCWD)
-          return "";
-        if (this.#relative !== void 0) {
-          return this.#relative;
-        }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relative = this.name;
-        }
-        const pv = p.relative();
-        return pv + (!pv || !p.parent ? "" : this.sep) + name;
+      const { _readableState: state } = consume2.stream;
+      for (const chunk of state.buffer) {
+        consumePush(consume2, chunk);
       }
-      /**
-       * The relative path from the cwd, using / as the path separator.
-       * If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpathPosix()
-       * On posix systems, this is identical to relative().
-       */
-      relativePosix() {
-        if (this.sep === "/")
-          return this.relative();
-        if (this.isCWD)
-          return "";
-        if (this.#relativePosix !== void 0)
-          return this.#relativePosix;
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relativePosix = this.fullpathPosix();
-        }
-        const pv = p.relativePosix();
-        return pv + (!pv || !p.parent ? "" : "/") + name;
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
       }
-      /**
-       * The fully resolved path string for this Path entry
-       */
-      fullpath() {
-        if (this.#fullpath !== void 0) {
-          return this.#fullpath;
-        }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#fullpath = this.name;
-        }
-        const pv = p.fullpath();
-        const fp = pv + (!p.parent ? "" : this.sep) + name;
-        return this.#fullpath = fp;
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-      /**
-       * On platforms other than windows, this is identical to fullpath.
-       *
-       * On windows, this is overridden to return the forward-slash form of the
-       * full UNC path.
-       */
-      fullpathPosix() {
-        if (this.#fullpathPosix !== void 0)
-          return this.#fullpathPosix;
-        if (this.sep === "/")
-          return this.#fullpathPosix = this.fullpath();
-        if (!this.parent) {
-          const p2 = this.fullpath().replace(/\\/g, "/");
-          if (/^[a-z]:\//i.test(p2)) {
-            return this.#fullpathPosix = `//?/${p2}`;
-          } else {
-            return this.#fullpathPosix = p2;
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve8, stream: stream2, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve8(toUSVString(Buffer.concat(body)));
+        } else if (type2 === "json") {
+          resolve8(JSON.parse(Buffer.concat(body)));
+        } else if (type2 === "arrayBuffer") {
+          const dst = new Uint8Array(length);
+          let pos = 0;
+          for (const buf of body) {
+            dst.set(buf, pos);
+            pos += buf.byteLength;
+          }
+          resolve8(dst.buffer);
+        } else if (type2 === "blob") {
+          if (!Blob2) {
+            Blob2 = require("buffer").Blob;
           }
+          resolve8(new Blob2(body, { type: stream2[kContentType] }));
         }
-        const p = this.parent;
-        const pfpp = p.fullpathPosix();
-        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
-        return this.#fullpathPosix = fpp;
-      }
-      /**
-       * Is the Path of an unknown type?
-       *
-       * Note that we might know *something* about it if there has been a previous
-       * filesystem operation, for example that it does not exist, or is not a
-       * link, or whether it has child entries.
-       */
-      isUnknown() {
-        return (this.#type & IFMT) === UNKNOWN;
+        consumeFinish(consume2);
+      } catch (err) {
+        stream2.destroy(err);
       }
-      isType(type2) {
-        return this[`is${type2}`]();
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      getType() {
-        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
-          /* c8 ignore start */
-          this.isSocket() ? "Socket" : "Unknown"
-        );
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      /**
-       * Is the Path a regular file?
-       */
-      isFile() {
-        return (this.#type & IFMT) === IFREG;
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+  }
+});
+
+// node_modules/undici/lib/api/util.js
+var require_util26 = __commonJS({
+  "node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors6();
+    var { toUSVString } = require_util24();
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let limit = 0;
+      for await (const chunk of body) {
+        chunks.push(chunk);
+        limit += chunk.length;
+        if (limit > 128 * 1024) {
+          chunks = null;
+          break;
+        }
       }
-      /**
-       * Is the Path a directory?
-       */
-      isDirectory() {
-        return (this.#type & IFMT) === IFDIR;
+      if (statusCode === 204 || !contentType || !chunks) {
+        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+        return;
       }
-      /**
-       * Is the path a character device?
-       */
-      isCharacterDevice() {
-        return (this.#type & IFMT) === IFCHR;
+      try {
+        if (contentType.startsWith("application/json")) {
+          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
+        }
+        if (contentType.startsWith("text/")) {
+          const payload = toUSVString(Buffer.concat(chunks));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
+        }
+      } catch (err) {
       }
-      /**
-       * Is the path a block device?
-       */
-      isBlockDevice() {
-        return (this.#type & IFMT) === IFBLK;
+      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+    }
+    module2.exports = { getResolveErrorBodyCallback };
+  }
+});
+
+// node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal3 = __commonJS({
+  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util24();
+    var { RequestAbortedError } = require_errors6();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort();
+      } else {
+        self2.onError(new RequestAbortedError());
       }
-      /**
-       * Is the path a FIFO pipe?
-       */
-      isFIFO() {
-        return (this.#type & IFMT) === IFIFO;
+    }
+    function addSignal(self2, signal) {
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      /**
-       * Is the path a socket?
-       */
-      isSocket() {
-        return (this.#type & IFMT) === IFSOCK;
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      /**
-       * Is the path a symbolic link?
-       */
-      isSymbolicLink() {
-        return (this.#type & IFLNK) === IFLNK;
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      /**
-       * Return the entry if it has been subject of a successful lstat, or
-       * undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* simply
-       * mean that we haven't called lstat on it.
-       */
-      lstatCached() {
-        return this.#type & LSTAT_CALLED ? this : void 0;
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      /**
-       * Return the cached link target if the entry has been the subject of a
-       * successful readlink, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readlink() has been called at some point.
-       */
-      readlinkCached() {
-        return this.#linkTarget;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/undici/lib/api/api-request.js
+var require_api_request3 = __commonJS({
+  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var Readable2 = require_readable5();
+    var {
+      InvalidArgumentError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { getResolveErrorBodyCallback } = require_util26();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
+        }
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      /**
-       * Returns the cached realpath target if the entry has been the subject
-       * of a successful realpath, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * realpath() has been called at some point.
-       */
-      realpathCached() {
-        return this.#realpath;
+      onConnect(abort, context3) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = context3;
       }
-      /**
-       * Returns the cached child Path entries array if the entry has been the
-       * subject of a successful readdir(), or [] otherwise.
-       *
-       * Does not read the filesystem, so an empty array *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readdir() has been called recently enough to still be valid.
-       */
-      readdirCached() {
-        const children = this.children();
-        return children.slice(0, children.provisional);
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context3, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
+          return;
+        }
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const body = new Readable2({ resume, abort, contentType, highWaterMark });
+        this.callback = null;
+        this.res = body;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body,
+              context: context3
+            });
+          }
+        }
       }
-      /**
-       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
-       * any indication that readlink will definitely fail.
-       *
-       * Returns false if the path is known to not be a symlink, if a previous
-       * readlink failed, or if the entry does not exist.
-       */
-      canReadlink() {
-        if (this.#linkTarget)
-          return true;
-        if (!this.parent)
-          return false;
-        const ifmt = this.#type & IFMT;
-        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      /**
-       * Return true if readdir has previously been successfully called on this
-       * path, indicating that cachedReaddir() is likely valid.
-       */
-      calledReaddir() {
-        return !!(this.#type & READDIR_CALLED);
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        util.parseHeaders(trailers, this.trailers);
+        res.push(null);
       }
-      /**
-       * Returns true if the path is known to not exist. That is, a previous lstat
-       * or readdir failed to verify its existence when that would have been
-       * expected, or a parent entry was marked either enoent or enotdir.
-       */
-      isENOENT() {
-        return !!(this.#type & ENOENT);
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
+        }
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
       }
-      /**
-       * Return true if the path is a match for the given path name.  This handles
-       * case sensitivity and unicode normalization.
-       *
-       * Note: even on case-sensitive systems, it is **not** safe to test the
-       * equality of the `.name` property to determine whether a given pathname
-       * matches, due to unicode normalization mismatches.
-       *
-       * Always use this method instead of testing the `path.name` property
-       * directly.
-       */
-      isNamed(n) {
-        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
       }
-      /**
-       * Return the Path object corresponding to the target of a symbolic link.
-       *
-       * If the Path is not a symbolic link, or if the readlink call fails for any
-       * reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       */
-      async readlink() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
-        }
-        if (!this.canReadlink()) {
-          return void 0;
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        if (!this.parent) {
-          return void 0;
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/undici/lib/api/api-stream.js
+var require_api_stream3 = __commonJS({
+  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var { finished, PassThrough } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { getResolveErrorBodyCallback } = require_util26();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
         try {
-          const read = await this.#fs.promises.readlink(this.fullpath());
-          const linkTarget = (await this.parent.realpath())?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
           }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      }
-      /**
-       * Synchronous {@link PathBase.readlink}
-       */
-      readlinkSync() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        if (!this.canReadlink()) {
-          return void 0;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context3) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        if (!this.parent) {
-          return void 0;
+        this.abort = abort;
+        this.context = context3;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context3, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
+          return;
         }
-        try {
-          const read = this.#fs.readlinkSync(this.fullpath());
-          const linkTarget = this.parent.realpathSync()?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
+          this.callback = null;
+          this.runInAsyncScope(
+            getResolveErrorBodyCallback,
+            null,
+            { callback, body: res, contentType, statusCode, statusMessage, headers }
+          );
+        } else {
+          if (factory === null) {
+            return;
           }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context3
+          });
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
+          }
+          finished(res, { readable: false }, (err) => {
+            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
+            this.res = null;
+            if (err || !res2.readable) {
+              util.destroy(res2, err);
+            }
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
+            }
+          });
         }
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
+        return needDrain !== true;
       }
-      #readdirSuccess(children) {
-        this.#type |= READDIR_CALLED;
-        for (let p = children.provisional; p < children.length; p++) {
-          const c = children[p];
-          if (c)
-            c.#markENOENT();
-        }
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
       }
-      #markENOENT() {
-        if (this.#type & ENOENT)
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
           return;
-        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
-        this.#markChildrenENOENT();
-      }
-      #markChildrenENOENT() {
-        const children = this.children();
-        children.provisional = 0;
-        for (const p of children) {
-          p.#markENOENT();
         }
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
       }
-      #markENOREALPATH() {
-        this.#type |= ENOREALPATH;
-        this.#markENOTDIR();
-      }
-      // save the information when we know the entry is not a dir
-      #markENOTDIR() {
-        if (this.#type & ENOTDIR)
-          return;
-        let t = this.#type;
-        if ((t & IFMT) === IFDIR)
-          t &= IFMT_UNKNOWN;
-        this.#type = t | ENOTDIR;
-        this.#markChildrenENOENT();
-      }
-      #readdirFail(code = "") {
-        if (code === "ENOTDIR" || code === "EPERM") {
-          this.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
-        } else {
-          this.children().provisional = 0;
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-      }
-      #lstatFail(code = "") {
-        if (code === "ENOTDIR") {
-          const p = this.parent;
-          p.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
       }
-      #readlinkFail(code = "") {
-        let ter = this.#type;
-        ter |= ENOREADLINK;
-        if (code === "ENOENT")
-          ter |= ENOENT;
-        if (code === "EINVAL" || code === "UNKNOWN") {
-          ter &= IFMT_UNKNOWN;
-        }
-        this.#type = ter;
-        if (code === "ENOTDIR" && this.parent) {
-          this.parent.#markENOTDIR();
+    };
+    function stream2(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          stream2.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      #readdirAddChild(e, c) {
-        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
+    }
+    module2.exports = stream2;
+  }
+});
+
+// node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline3 = __commonJS({
+  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable: Readable2,
+      Duplex,
+      PassThrough
+    } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable2 {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
       }
-      #readdirAddNewChild(e, c) {
-        const type2 = entToType(e);
-        const child = this.newChild(e.name, type2, { parent: this });
-        const ifmt = child.#type & IFMT;
-        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
-          child.#type |= ENOTDIR;
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
         }
-        c.unshift(child);
-        c.provisional++;
-        return child;
       }
-      #readdirMaybePromoteChild(e, c) {
-        for (let p = c.provisional; p < c.length; p++) {
-          const pchild = c[p];
-          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
-          if (name !== pchild.#matchName) {
-            continue;
-          }
-          return this.#readdirPromoteChild(e, pchild, p, c);
-        }
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
       }
-      #readdirPromoteChild(e, p, index, c) {
-        const v = p.name;
-        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
-        if (v !== e.name)
-          p.name = e.name;
-        if (index !== c.provisional) {
-          if (index === c.length - 1)
-            c.pop();
-          else
-            c.splice(index, 1);
-          c.unshift(p);
-        }
-        c.provisional++;
-        return p;
+    };
+    var PipelineResponse = class extends Readable2 {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
       }
-      /**
-       * Call lstat() on this Path, and update all known information that can be
-       * determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
-        }
+      _read() {
+        this[kResume]();
       }
-      /**
-       * synchronous {@link PathBase.lstat}
-       */
-      lstatSync() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
+        callback(err);
       }
-      #applyStat(st) {
-        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
-        this.#atime = atime;
-        this.#atimeMs = atimeMs;
-        this.#birthtime = birthtime;
-        this.#birthtimeMs = birthtimeMs;
-        this.#blksize = blksize;
-        this.#blocks = blocks;
-        this.#ctime = ctime;
-        this.#ctimeMs = ctimeMs;
-        this.#dev = dev;
-        this.#gid = gid;
-        this.#ino = ino;
-        this.#mode = mode;
-        this.#mtime = mtime;
-        this.#mtimeMs = mtimeMs;
-        this.#nlink = nlink;
-        this.#rdev = rdev;
-        this.#size = size;
-        this.#uid = uid;
-        const ifmt = entToType(st);
-        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
-        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
-          this.#type |= ENOTDIR;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-      }
-      #onReaddirCB = [];
-      #readdirCBInFlight = false;
-      #callOnReaddirCB(children) {
-        this.#readdirCBInFlight = false;
-        const cbs = this.#onReaddirCB.slice();
-        this.#onReaddirCB.length = 0;
-        cbs.forEach((cb) => cb(null, children));
-      }
-      /**
-       * Standard node-style callback interface to get list of directory entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       *
-       * @param cb The callback called with (er, entries).  Note that the `er`
-       * param is somewhat extraneous, as all readdir() errors are handled and
-       * simply result in an empty set of entries being returned.
-       * @param allowZalgo Boolean indicating that immediately known results should
-       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
-       * zalgo at your peril, the dark pony lord is devious and unforgiving.
-       */
-      readdirCB(cb, allowZalgo = false) {
-        if (!this.canReaddir()) {
-          if (allowZalgo)
-            cb(null, []);
-          else
-            queueMicrotask(() => cb(null, []));
-          return;
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
         }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          const c = children.slice(0, children.provisional);
-          if (allowZalgo)
-            cb(null, c);
-          else
-            queueMicrotask(() => cb(null, c));
-          return;
+        const { signal, method, opaque, onInfo, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        this.#onReaddirCB.push(cb);
-        if (this.#readdirCBInFlight) {
-          return;
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
         }
-        this.#readdirCBInFlight = true;
-        const fullpath = this.fullpath();
-        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
-          if (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
-          } else {
-            for (const e of entries) {
-              this.#readdirAddChild(e, children);
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body && body.resume) {
+              body.resume();
             }
-            this.#readdirSuccess(children);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
+            }
+            if (abort && err) {
+              abort();
+            }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
-          this.#callOnReaddirCB(children.slice(0, children.provisional));
-          return;
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
         });
+        this.res = null;
+        addSignal(this, signal);
       }
-      #asyncReaddirInFlight;
-      /**
-       * Return an array of known child entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async readdir() {
-        if (!this.canReaddir()) {
-          return [];
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+      onConnect(abort, context3) {
+        const { ret, res } = this;
+        assert(!res, "pipeline cannot be retried");
+        if (ret.destroyed) {
+          throw new RequestAbortedError();
         }
-        const fullpath = this.fullpath();
-        if (this.#asyncReaddirInFlight) {
-          await this.#asyncReaddirInFlight;
-        } else {
-          let resolve8 = () => {
-          };
-          this.#asyncReaddirInFlight = new Promise((res) => resolve8 = res);
-          try {
-            for (const e of await this.#fs.promises.readdir(fullpath, {
-              withFileTypes: true
-            })) {
-              this.#readdirAddChild(e, children);
-            }
-            this.#readdirSuccess(children);
-          } catch (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
+        this.abort = abort;
+        this.context = context3;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context3 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          this.#asyncReaddirInFlight = void 0;
-          resolve8();
+          return;
         }
-        return children.slice(0, children.provisional);
-      }
-      /**
-       * synchronous {@link PathBase.readdir}
-       */
-      readdirSync() {
-        if (!this.canReaddir()) {
-          return [];
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context3
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
         }
-        const fullpath = this.fullpath();
-        try {
-          for (const e of this.#fs.readdirSync(fullpath, {
-            withFileTypes: true
-          })) {
-            this.#readdirAddChild(e, children);
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          this.#readdirSuccess(children);
-        } catch (er) {
-          this.#readdirFail(er.code);
-          children.provisional = 0;
-        }
-        return children.slice(0, children.provisional);
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
+          }
+        });
+        this.body = body;
       }
-      canReaddir() {
-        if (this.#type & ENOCHILD)
-          return false;
-        const ifmt = IFMT & this.#type;
-        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
-          return false;
-        }
-        return true;
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      shouldWalk(dirs, walkFilter) {
-        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
       }
-      /**
-       * Return the Path object corresponding to path as resolved
-       * by realpath(3).
-       *
-       * If the realpath call fails for any reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       * On success, returns a Path object.
-       */
-      async realpath() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = await this.#fs.promises.realpath(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
-        }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
       }
-      /**
-       * Synchronous {@link realpath}
-       */
-      realpathSync() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = this.#fs.realpathSync(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
-        }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
       }
-      /**
-       * Internal method to mark this Path object as the scurry cwd,
-       * called by {@link PathScurry#chdir}
-       *
-       * @internal
-       */
-      [setAsCwd](oldCwd) {
-        if (oldCwd === this)
-          return;
-        oldCwd.isCWD = false;
-        this.isCWD = true;
-        const changed = /* @__PURE__ */ new Set([]);
-        let rp = [];
-        let p = this;
-        while (p && p.parent) {
-          changed.add(p);
-          p.#relative = rp.join(this.sep);
-          p.#relativePosix = rp.join("/");
-          p = p.parent;
-          rp.push("..");
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade3 = __commonJS({
+  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors6();
+    var { AsyncResource } = require("async_hooks");
+    var util = require_util24();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        p = oldCwd;
-        while (p && p.parent && !changed.has(p)) {
-          p.#relative = void 0;
-          p.#relativePosix = void 0;
-          p = p.parent;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
+        super("UNDICI_UPGRADE");
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.abort = null;
+        this.context = null;
+        addSignal(this, signal);
       }
-    };
-    exports2.PathBase = PathBase;
-    var PathWin32 = class _PathWin32 extends PathBase {
-      /**
-       * Separator for generating path strings.
-       */
-      sep = "\\";
-      /**
-       * Separator for parsing path strings.
-       */
-      splitSep = eitherSep;
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
+      onConnect(abort, context3) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = null;
       }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
       }
-      /**
-       * @internal
-       */
-      getRootString(path16) {
-        return node_path_1.win32.parse(path16).root;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context3 } = this;
+        assert.strictEqual(statusCode, 101);
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context3
+        });
       }
-      /**
-       * @internal
-       */
-      getRoot(rootPath) {
-        rootPath = uncToDrive(rootPath.toUpperCase());
-        if (rootPath === this.root.name) {
-          return this.root;
-        }
-        for (const [compare3, root] of Object.entries(this.roots)) {
-          if (this.sameRoot(rootPath, compare3)) {
-            return this.roots[rootPath] = root;
-          }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
-      }
-      /**
-       * @internal
-       */
-      sameRoot(rootPath, compare3 = this.root.name) {
-        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-        return rootPath === compare3;
       }
     };
-    exports2.PathWin32 = PathWin32;
-    var PathPosix = class _PathPosix extends PathBase {
-      /**
-       * separator for parsing path strings
-       */
-      splitSep = "/";
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
-      }
-      /**
-       * @internal
-       */
-      getRootString(path16) {
-        return path16.startsWith("/") ? "/" : "";
-      }
-      /**
-       * @internal
-       */
-      getRoot(_rootPath) {
-        return this.root;
-      }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
       }
-    };
-    exports2.PathPosix = PathPosix;
-    var PathScurryBase = class {
-      /**
-       * The root Path entry for the current working directory of this Scurry
-       */
-      root;
-      /**
-       * The string path for the root of this Scurry's current working directory
-       */
-      rootPath;
-      /**
-       * A collection of all roots encountered, referenced by rootPath
-       */
-      roots;
-      /**
-       * The Path entry corresponding to this PathScurry's current working directory.
-       */
-      cwd;
-      #resolveCache;
-      #resolvePosixCache;
-      #children;
-      /**
-       * Perform path comparisons case-insensitively.
-       *
-       * Defaults true on Darwin and Windows systems, false elsewhere.
-       */
-      nocase;
-      #fs;
-      /**
-       * This class should not be instantiated directly.
-       *
-       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
-       *
-       * @internal
-       */
-      constructor(cwd = process.cwd(), pathImpl, sep5, { nocase, childrenCacheSize = 16 * 1024, fs: fs18 = defaultFS } = {}) {
-        this.#fs = fsFromOption(fs18);
-        if (cwd instanceof URL || cwd.startsWith("file://")) {
-          cwd = (0, node_url_1.fileURLToPath)(cwd);
+      try {
+        const upgradeHandler = new UpgradeHandler(opts, callback);
+        this.dispatch({
+          ...opts,
+          method: opts.method || "GET",
+          upgrade: opts.protocol || "Websocket"
+        }, upgradeHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        const cwdPath = pathImpl.resolve(cwd);
-        this.roots = /* @__PURE__ */ Object.create(null);
-        this.rootPath = this.parseRootPath(cwdPath);
-        this.#resolveCache = new ResolveCache();
-        this.#resolvePosixCache = new ResolveCache();
-        this.#children = new ChildrenCache(childrenCacheSize);
-        const split = cwdPath.substring(this.rootPath.length).split(sep5);
-        if (split.length === 1 && !split[0]) {
-          split.pop();
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/undici/lib/api/api-connect.js
+var require_api_connect3 = __commonJS({
+  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors6();
+    var util = require_util24();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (nocase === void 0) {
-          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        this.nocase = nocase;
-        this.root = this.newRoot(this.#fs);
-        this.roots[this.rootPath] = this.root;
-        let prev = this.root;
-        let len = split.length - 1;
-        const joinSep = pathImpl.sep;
-        let abs = this.rootPath;
-        let sawFirst = false;
-        for (const part of split) {
-          const l = len--;
-          prev = prev.child(part, {
-            relative: new Array(l).fill("..").join(joinSep),
-            relativePosix: new Array(l).fill("..").join("/"),
-            fullpath: abs += (sawFirst ? "" : joinSep) + part
-          });
-          sawFirst = true;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        this.cwd = prev;
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      /**
-       * Get the depth of a provided path, string, or the cwd
-       */
-      depth(path16 = this.cwd) {
-        if (typeof path16 === "string") {
-          path16 = this.cwd.resolve(path16);
+      onConnect(abort, context3) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        return path16.depth();
+        this.abort = abort;
+        this.context = context3;
       }
-      /**
-       * Return the cache of child entries.  Exposed so subclasses can create
-       * child Path objects in a platform-specific way.
-       *
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      /**
-       * Resolve one or more path strings to a resolved string
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolve(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
-          }
-        }
-        const cached = this.#resolveCache.get(r);
-        if (cached !== void 0) {
-          return cached;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context3 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        const result = this.cwd.resolve(r).fullpath();
-        this.#resolveCache.set(r, result);
-        return result;
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context3
+        });
       }
-      /**
-       * Resolve one or more path strings to a resolved string, returning
-       * the posix path.  Identical to .resolve() on posix systems, but on
-       * windows will return a forward-slash separated UNC path.
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolvePosix(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
-          }
-        }
-        const cached = this.#resolvePosixCache.get(r);
-        if (cached !== void 0) {
-          return cached;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const result = this.cwd.resolve(r).fullpathPosix();
-        this.#resolvePosixCache.set(r, result);
-        return result;
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or entry
-       */
-      relative(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve8, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve8(data);
+          });
+        });
+      }
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        return entry.relative();
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or
-       * entry, using / as the path delimiter, even on Windows.
-       */
-      relativePosix(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/undici/lib/api/index.js
+var require_api3 = __commonJS({
+  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request3();
+    module2.exports.stream = require_api_stream3();
+    module2.exports.pipeline = require_api_pipeline3();
+    module2.exports.upgrade = require_api_upgrade3();
+    module2.exports.connect = require_api_connect3();
+  }
+});
+
+// node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors6();
+    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _MockNotMatchedError);
+        this.name = "MockNotMatchedError";
+        this.message = message || "The request does not match any registered mock dispatches";
+        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      }
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols3();
+    var { buildURL, nop } = require_util24();
+    var { STATUS_CODES } = require("http");
+    var {
+      types: {
+        isPromise
+      }
+    } = require("util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
+      }
+      if (match instanceof RegExp) {
+        return match.test(value);
+      }
+      if (typeof match === "function") {
+        return match(value) === true;
+      }
+      return false;
+    }
+    function lowerCaseEntries(headers) {
+      return Object.fromEntries(
+        Object.entries(headers).map(([headerName, headerValue]) => {
+          return [headerName.toLocaleLowerCase(), headerValue];
+        })
+      );
+    }
+    function getHeaderByName(headers, key) {
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
+            return headers[i + 1];
+          }
         }
-        return entry.relativePosix();
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
+      } else {
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      /**
-       * Return the basename for the provided string or Path object
-       */
-      basename(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.name;
+    }
+    function buildHeadersFromArray(headers) {
+      const clone = headers.slice();
+      const entries = [];
+      for (let index = 0; index < clone.length; index += 2) {
+        entries.push([clone[index], clone[index + 1]]);
       }
-      /**
-       * Return the dirname for the provided string or Path object
-       */
-      dirname(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      return Object.fromEntries(entries);
+    }
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
         }
-        return (entry.parent || entry).fullpath();
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      async readdir(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else {
-          const p = await entry.readdir();
-          return withFileTypes ? p : p.map((e) => e.name);
-        }
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
       }
-      readdirSync(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else if (withFileTypes) {
-          return entry.readdirSync();
-        } else {
-          return entry.readdirSync().map((e) => e.name);
-        }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
+        return false;
       }
-      /**
-       * Call lstat() on the string or Path object, and update all known
-       * information that can be determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        return entry.lstat();
       }
-      /**
-       * synchronous {@link PathScurryBase.lstat}
-       */
-      lstatSync(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.lstatSync();
+      return true;
+    }
+    function safeUrl(path16) {
+      if (typeof path16 !== "string") {
+        return path16;
       }
-      async readlink(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.readlink();
-        return withFileTypes ? e : e?.fullpath();
+      const pathSegments = path16.split("?");
+      if (pathSegments.length !== 2) {
+        return path16;
       }
-      readlinkSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = entry.readlinkSync();
-        return withFileTypes ? e : e?.fullpath();
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path16, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path16);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      async realpath(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.realpath();
-        return withFileTypes ? e : e?.fullpath();
+    }
+    function getMockDispatch(mockDispatches, key) {
+      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
+      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path16 }) => matchValue(safeUrl(path16), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      realpathSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = entry.realpathSync();
-        return withFileTypes ? e : e?.fullpath();
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
       }
-      async walk(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set();
-        const walk = (dir, cb) => {
-          dirs.add(dir);
-          dir.readdirCB((er, entries) => {
-            if (er) {
-              return cb(er);
-            }
-            let len = entries.length;
-            if (!len)
-              return cb();
-            const next = () => {
-              if (--len === 0) {
-                cb();
-              }
-            };
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                results.push(withFileTypes ? e : e.fullpath());
-              }
-              if (follow && e.isSymbolicLink()) {
-                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
-              } else {
-                if (e.shouldWalk(dirs, walkFilter)) {
-                  walk(e, next);
-                } else {
-                  next();
-                }
-              }
-            }
-          }, true);
-        };
-        const start = entry;
-        return new Promise((res, rej) => {
-          walk(start, (er) => {
-            if (er)
-              return rej(er);
-            res(results);
-          });
-        });
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
       }
-      walkSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              results.push(withFileTypes ? e : e.fullpath());
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      }
+      return matchedMockDispatches[0];
+    }
+    function addMockDispatch(mockDispatches, key, data) {
+      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
+      const replyData = typeof data === "function" ? { callback: data } : { ...data };
+      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
+      mockDispatches.push(newMockDispatch);
+      return newMockDispatch;
+    }
+    function deleteMockDispatch(mockDispatches, key) {
+      const index = mockDispatches.findIndex((dispatch) => {
+        if (!dispatch.consumed) {
+          return false;
         }
-        return results;
+        return matchKey(dispatch, key);
+      });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
-      /**
-       * Support for `for await`
-       *
-       * Alias for {@link PathScurryBase.iterate}
-       *
-       * Note: As of Node 19, this is very slow, compared to other methods of
-       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
-       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
-       */
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    }
+    function buildKey(opts) {
+      const { path: path16, method, body, headers, query } = opts;
+      return {
+        path: path16,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
+        ...keyValuePairs,
+        Buffer.from(`${key}`),
+        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
+      ], []);
+    }
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      iterate(entry = this.cwd, options = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          options = entry;
-          entry = this.cwd;
-        }
-        return this.stream(entry, options)[Symbol.asyncIterator]();
+      return Buffer.concat(buffers).toString("utf8");
+    }
+    function mockDispatch(opts, handler2) {
+      const key = buildKey(opts);
+      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
+      mockDispatch2.timesInvoked++;
+      if (mockDispatch2.data.callback) {
+        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
       }
-      /**
-       * Iterating over a PathScurry performs a synchronous walk.
-       *
-       * Alias for {@link PathScurryBase.iterateSync}
-       */
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      *iterateSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        if (!filter || filter(entry)) {
-          yield withFileTypes ? entry : entry.fullpath();
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              yield withFileTypes ? e : e.fullpath();
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
-        }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
       }
-      stream(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
         }
-        const dirs = /* @__PURE__ */ new Set();
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const onReaddir = (er, entries, didRealpaths = false) => {
-              if (er)
-                return results.emit("error", er);
-              if (follow && !didRealpaths) {
-                const promises5 = [];
-                for (const e of entries) {
-                  if (e.isSymbolicLink()) {
-                    promises5.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
-                  }
-                }
-                if (promises5.length) {
-                  Promise.all(promises5).then(() => onReaddir(null, entries, true));
-                  return;
-                }
-              }
-              for (const e of entries) {
-                if (e && (!filter || filter(e))) {
-                  if (!results.write(withFileTypes ? e : e.fullpath())) {
-                    paused = true;
-                  }
-                }
-              }
-              processing--;
-              for (const e of entries) {
-                const r = e.realpathCached() || e;
-                if (r.shouldWalk(dirs, walkFilter)) {
-                  queue.push(r);
-                }
-              }
-              if (paused && !results.flowing) {
-                results.once("drain", process2);
-              } else if (!sync) {
-                process2();
-              }
-            };
-            let sync = true;
-            dir.readdirCB(onReaddir, true);
-            sync = false;
-          }
-        };
-        process2();
-        return results;
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.abort = nop;
+        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData(Buffer.from(responseData));
+        handler2.onComplete(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
       }
-      streamSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        const dirs = /* @__PURE__ */ new Set();
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
-        }
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const entries = dir.readdirSync();
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                if (!results.write(withFileTypes ? e : e.fullpath())) {
-                  paused = true;
-                }
-              }
-            }
-            processing--;
-            for (const e of entries) {
-              let r = e;
-              if (e.isSymbolicLink()) {
-                if (!(follow && (r = e.realpathSync())))
-                  continue;
-                if (r.isUnknown())
-                  r.lstatSync();
+      function resume() {
+      }
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
+          try {
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
               }
-              if (r.shouldWalk(dirs, walkFilter)) {
-                queue.push(r);
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
               }
+            } else {
+              throw error3;
             }
           }
-          if (paused && !results.flowing)
-            results.once("drain", process2);
-        };
-        process2();
-        return results;
-      }
-      chdir(path16 = this.cwd) {
-        const oldCwd = this.cwd;
-        this.cwd = typeof path16 === "string" ? this.cwd.resolve(path16) : path16;
-        this.cwd[setAsCwd](oldCwd);
-      }
-    };
-    exports2.PathScurryBase = PathScurryBase;
-    var PathScurryWin32 = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "\\";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
-        this.nocase = nocase;
-        for (let p = this.cwd; p; p = p.parent) {
-          p.nocase = this.nocase;
+        } else {
+          originalDispatch.call(this, opts, handler2);
         }
+      };
+    }
+    function checkNetConnect(netConnect, origin) {
+      const url2 = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
+        return true;
       }
-      /**
-       * @internal
-       */
-      parseRootPath(dir) {
-        return node_path_1.win32.parse(dir).root.toUpperCase();
-      }
-      /**
-       * @internal
-       */
-      newRoot(fs18) {
-        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs18 });
-      }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
+      return false;
+    }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
+    }
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName
     };
-    exports2.PathScurryWin32 = PathScurryWin32;
-    var PathScurryPosix = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = false } = opts;
-        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
-        this.nocase = nocase;
+  }
+});
+
+// node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols3();
+    var { InvalidArgumentError } = require_errors6();
+    var { buildURL } = require_util24();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
       /**
-       * @internal
+       * Delay a reply by a set amount in ms.
        */
-      parseRootPath(_dir) {
-        return "/";
+      delay(waitInMs) {
+        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
+          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
+        }
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
       /**
-       * @internal
+       * For a defined reply, never mark as consumed.
        */
-      newRoot(fs18) {
-        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs18 });
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
       /**
-       * Return true if the provided path string is an absolute path
+       * Allow one to define a reply for a set amount of matching requests.
        */
-      isAbsolute(p) {
-        return p.startsWith("/");
-      }
-    };
-    exports2.PathScurryPosix = PathScurryPosix;
-    var PathScurryDarwin = class extends PathScurryPosix {
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, { ...opts, nocase });
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+        }
+        this[kMockDispatch].times = repeatTimes;
+        return this;
       }
     };
-    exports2.PathScurryDarwin = PathScurryDarwin;
-    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
-    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
-  }
-});
-
-// node_modules/glob/dist/commonjs/pattern.js
-var require_pattern = __commonJS({
-  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pattern = void 0;
-    var minimatch_1 = require_commonjs20();
-    var isPatternList = (pl) => pl.length >= 1;
-    var isGlobList = (gl) => gl.length >= 1;
-    var Pattern = class _Pattern {
-      #patternList;
-      #globList;
-      #index;
-      length;
-      #platform;
-      #rest;
-      #globString;
-      #isDrive;
-      #isUNC;
-      #isAbsolute;
-      #followGlobstar = true;
-      constructor(patternList, globList, index, platform) {
-        if (!isPatternList(patternList)) {
-          throw new TypeError("empty pattern list");
-        }
-        if (!isGlobList(globList)) {
-          throw new TypeError("empty glob list");
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        if (globList.length !== patternList.length) {
-          throw new TypeError("mismatched pattern list and glob list lengths");
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        this.length = patternList.length;
-        if (index < 0 || index >= this.length) {
-          throw new TypeError("index out of range");
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
         }
-        this.#patternList = patternList;
-        this.#globList = globList;
-        this.#index = index;
-        this.#platform = platform;
-        if (this.#index === 0) {
-          if (this.isUNC()) {
-            const [p0, p1, p2, p3, ...prest] = this.#patternList;
-            const [g0, g1, g2, g3, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = [p0, p1, p2, p3, ""].join("/");
-            const g = [g0, g1, g2, g3, ""].join("/");
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
-          } else if (this.isDrive() || this.isAbsolute()) {
-            const [p1, ...prest] = this.#patternList;
-            const [g1, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = p1 + "/";
-            const g = g1 + "/";
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
+          } else {
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
           }
         }
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
+        }
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      /**
-       * The first entry in the parsed list of patterns
-       */
-      pattern() {
-        return this.#patternList[this.#index];
-      }
-      /**
-       * true of if pattern() returns a string
-       */
-      isString() {
-        return typeof this.#patternList[this.#index] === "string";
-      }
-      /**
-       * true of if pattern() returns GLOBSTAR
-       */
-      isGlobstar() {
-        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
+      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
+        const responseData = getResponseData2(data);
+        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
+        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
+        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
+        return { statusCode, data, headers, trailers };
       }
-      /**
-       * true if pattern() returns a regexp
-       */
-      isRegExp() {
-        return this.#patternList[this.#index] instanceof RegExp;
+      validateReplyParameters(statusCode, data, responseOptions) {
+        if (typeof statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
+        }
+        if (typeof data === "undefined") {
+          throw new InvalidArgumentError("data must be defined");
+        }
+        if (typeof responseOptions !== "object") {
+          throw new InvalidArgumentError("responseOptions must be an object");
+        }
       }
       /**
-       * The /-joined set of glob parts that make up this pattern
+       * Mock an undici request with a defined reply.
        */
-      globString() {
-        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
+      reply(replyData) {
+        if (typeof replyData === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyData(opts);
+            if (typeof resolvedData !== "object") {
+              throw new InvalidArgumentError("reply options callback must return an object");
+            }
+            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
+            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            return {
+              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
+        }
+        const [statusCode, data = "", responseOptions = {}] = [...arguments];
+        this.validateReplyParameters(statusCode, data, responseOptions);
+        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
       }
       /**
-       * true if there are more pattern parts after this one
+       * Mock an undici request with a defined error.
        */
-      hasMore() {
-        return this.length > this.#index + 1;
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
+        }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
       /**
-       * The rest of the pattern after this part, or null if this is the end
+       * Set default reply headers on the interceptor for subsequent replies
        */
-      rest() {
-        if (this.#rest !== void 0)
-          return this.#rest;
-        if (!this.hasMore())
-          return this.#rest = null;
-        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
-        this.#rest.#isAbsolute = this.#isAbsolute;
-        this.#rest.#isUNC = this.#isUNC;
-        this.#rest.#isDrive = this.#isDrive;
-        return this.#rest;
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
+        }
+        this[kDefaultHeaders] = headers;
+        return this;
       }
       /**
-       * true if the pattern represents a //unc/path/ on windows
+       * Set default reply trailers on the interceptor for subsequent replies
        */
-      isUNC() {
-        const pl = this.#patternList;
-        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
+        }
+        this[kDefaultTrailers] = trailers;
+        return this;
       }
-      // pattern like C:/...
-      // split = ['C:', ...]
-      // XXX: would be nice to handle patterns like `c:*` to test the cwd
-      // in c: for *, but I don't know of a way to even figure out what that
-      // cwd is without actually chdir'ing into it?
       /**
-       * True if the pattern starts with a drive letter on Windows
+       * Set reply content length header for replies on the interceptor
        */
-      isDrive() {
-        const pl = this.#patternList;
-        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
-      // pattern = '/' or '/...' or '/x/...'
-      // split = ['', ''] or ['', ...] or ['', 'x', ...]
-      // Drive and UNC both considered absolute on windows
-      /**
-       * True if the pattern is rooted on an absolute path
-       */
-      isAbsolute() {
-        const pl = this.#patternList;
-        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
+    };
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
+  }
+});
+
+// node_modules/undici/lib/mock/mock-client.js
+var require_mock_client3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("util");
+    var Client = require_client3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors6();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      /**
-       * consume the root of the pattern, and return it
-       */
-      root() {
-        const p = this.#patternList[0];
-        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
       /**
-       * Check to see if the current globstar pattern is allowed to follow
-       * a symbolic link.
+       * Sets up the base interceptor for mocking replies from undici.
        */
-      checkFollowGlobstar() {
-        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      /**
-       * Mark that the current globstar pattern is following a symbolic link
-       */
-      markFollowGlobstar() {
-        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
-          return false;
-        this.#followGlobstar = false;
-        return true;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    exports2.Pattern = Pattern;
+    module2.exports = MockClient;
   }
 });
 
-// node_modules/glob/dist/commonjs/ignore.js
-var require_ignore = __commonJS({
-  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+// node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Ignore = void 0;
-    var minimatch_1 = require_commonjs20();
-    var pattern_js_1 = require_pattern();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Ignore = class {
-      relative;
-      relativeChildren;
-      absolute;
-      absoluteChildren;
-      platform;
-      mmopts;
-      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
-        this.relative = [];
-        this.absolute = [];
-        this.relativeChildren = [];
-        this.absoluteChildren = [];
-        this.platform = platform;
-        this.mmopts = {
-          dot: true,
-          nobrace,
-          nocase,
-          noext,
-          noglobstar,
-          optimizationLevel: 2,
-          platform,
-          nocomment: true,
-          nonegate: true
-        };
-        for (const ign of ignored)
-          this.add(ign);
-      }
-      add(ign) {
-        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
-        for (let i = 0; i < mm.set.length; i++) {
-          const parsed = mm.set[i];
-          const globParts = mm.globParts[i];
-          if (!parsed || !globParts) {
-            throw new Error("invalid pattern object");
-          }
-          while (parsed[0] === "." && globParts[0] === ".") {
-            parsed.shift();
-            globParts.shift();
-          }
-          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
-          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
-          const children = globParts[globParts.length - 1] === "**";
-          const absolute = p.isAbsolute();
-          if (absolute)
-            this.absolute.push(m);
-          else
-            this.relative.push(m);
-          if (children) {
-            if (absolute)
-              this.absoluteChildren.push(m);
-            else
-              this.relativeChildren.push(m);
-          }
+    var { promisify } = require("util");
+    var Pool = require_pool3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors6();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      ignored(p) {
-        const fullpath = p.fullpath();
-        const fullpaths = `${fullpath}/`;
-        const relative2 = p.relative() || ".";
-        const relatives = `${relative2}/`;
-        for (const m of this.relative) {
-          if (m.match(relative2) || m.match(relatives))
-            return true;
-        }
-        for (const m of this.absolute) {
-          if (m.match(fullpath) || m.match(fullpaths))
-            return true;
-        }
-        return false;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      childrenIgnored(p) {
-        const fullpath = p.fullpath() + "/";
-        const relative2 = (p.relative() || ".") + "/";
-        for (const m of this.relativeChildren) {
-          if (m.match(relative2))
-            return true;
-        }
-        for (const m of this.absoluteChildren) {
-          if (m.match(fullpath))
-            return true;
-        }
-        return false;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
+      }
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    exports2.Ignore = Ignore;
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/glob/dist/commonjs/processor.js
-var require_processor = __commonJS({
-  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
+// node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer3 = __commonJS({
+  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
-    var minimatch_1 = require_commonjs20();
-    var HasWalkedCache = class _HasWalkedCache {
-      store;
-      constructor(store = /* @__PURE__ */ new Map()) {
-        this.store = store;
+    var singulars = {
+      pronoun: "it",
+      is: "is",
+      was: "was",
+      this: "this"
+    };
+    var plurals = {
+      pronoun: "they",
+      is: "are",
+      was: "were",
+      this: "these"
+    };
+    module2.exports = class Pluralizer {
+      constructor(singular, plural) {
+        this.singular = singular;
+        this.plural = plural;
       }
-      copy() {
-        return new _HasWalkedCache(new Map(this.store));
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
       }
-      hasWalked(target, pattern) {
-        return this.store.get(target.fullpath())?.has(pattern.globString());
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter3 = __commonJS({
+  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("stream");
+    var { Console } = require("console");
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
+          }
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
+          }
+        });
       }
-      storeWalked(target, pattern) {
-        const fullpath = target.fullpath();
-        const cached = this.store.get(fullpath);
-        if (cached)
-          cached.add(pattern.globString());
-        else
-          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path16, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path16,
+            "Status code": statusCode,
+            Persistent: persist ? "\u2705" : "\u274C",
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
     };
-    exports2.HasWalkedCache = HasWalkedCache;
-    var MatchRecord = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, absolute, ifDir) {
-        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
-        const current = this.store.get(target);
-        this.store.set(target, current === void 0 ? n : n & current);
+  }
+});
+
+// node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols11();
+    var Agent = require_agent3();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols3();
+    var MockClient = require_mock_client3();
+    var MockPool = require_mock_pool3();
+    var { matchValue, buildMockOptions } = require_mock_utils3();
+    var { InvalidArgumentError, UndiciError } = require_errors6();
+    var Dispatcher = require_dispatcher3();
+    var Pluralizer = require_pluralizer3();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter3();
+    var FakeWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      // match, absolute, ifdir
-      entries() {
-        return [...this.store.entries()].map(([path16, n]) => [
-          path16,
-          !!(n & 2),
-          !!(n & 1)
-        ]);
+      deref() {
+        return this.value;
       }
     };
-    exports2.MatchRecord = MatchRecord;
-    var SubWalks = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, pattern) {
-        if (!target.canReaddir()) {
-          return;
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const subs = this.store.get(target);
-        if (subs) {
-          if (!subs.find((p) => p.globString() === pattern.globString())) {
-            subs.push(pattern);
-          }
-        } else
-          this.store.set(target, [pattern]);
+        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      get(target) {
-        const subs = this.store.get(target);
-        if (!subs) {
-          throw new Error("attempting to walk unknown path");
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        return subs;
+        return dispatcher;
       }
-      entries() {
-        return this.keys().map((k) => [k, this.store.get(k)]);
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
       }
-      keys() {
-        return [...this.store.keys()].filter((t) => t.canReaddir());
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
       }
-    };
-    exports2.SubWalks = SubWalks;
-    var Processor = class _Processor {
-      hasWalkedCache;
-      matches = new MatchRecord();
-      subwalks = new SubWalks();
-      patterns;
-      follow;
-      dot;
-      opts;
-      constructor(opts, hasWalkedCache) {
-        this.opts = opts;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      deactivate() {
+        this[kIsMockActive] = false;
       }
-      processPatterns(target, patterns) {
-        this.patterns = patterns;
-        const processingSet = patterns.map((p) => [target, p]);
-        for (let [t, pattern] of processingSet) {
-          this.hasWalkedCache.storeWalked(t, pattern);
-          const root = pattern.root();
-          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
-          if (root) {
-            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
-            const rest2 = pattern.rest();
-            if (!rest2) {
-              this.matches.add(t, true, false);
-              continue;
-            } else {
-              pattern = rest2;
-            }
-          }
-          if (t.isENOENT())
-            continue;
-          let p;
-          let rest;
-          let changed = false;
-          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
-            const c = t.resolve(p);
-            t = c;
-            pattern = rest;
-            changed = true;
-          }
-          p = pattern.pattern();
-          rest = pattern.rest();
-          if (changed) {
-            if (this.hasWalkedCache.hasWalked(t, pattern))
-              continue;
-            this.hasWalkedCache.storeWalked(t, pattern);
-          }
-          if (typeof p === "string") {
-            const ifDir = p === ".." || p === "" || p === ".";
-            this.matches.add(t.resolve(p), absolute, ifDir);
-            continue;
-          } else if (p === minimatch_1.GLOBSTAR) {
-            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
-              this.subwalks.add(t, pattern);
-            }
-            const rp = rest?.pattern();
-            const rrest = rest?.rest();
-            if (!rest || (rp === "" || rp === ".") && !rrest) {
-              this.matches.add(t, absolute, rp === "" || rp === ".");
-            } else {
-              if (rp === "..") {
-                const tp = t.parent || t;
-                if (!rrest)
-                  this.matches.add(tp, absolute, true);
-                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
-                  this.subwalks.add(tp, rrest);
-                }
-              }
-            }
-          } else if (p instanceof RegExp) {
-            this.subwalks.add(t, pattern);
+      activate() {
+        this[kIsMockActive] = true;
+      }
+      enableNetConnect(matcher) {
+        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
+          if (Array.isArray(this[kNetConnect])) {
+            this[kNetConnect].push(matcher);
+          } else {
+            this[kNetConnect] = [matcher];
           }
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        return this;
       }
-      subwalkTargets() {
-        return this.subwalks.keys();
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      child() {
-        return new _Processor(this.opts, this.hasWalkedCache);
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      // return a new Processor containing the subwalks for each
-      // child entry, and a set of matches, and
-      // a hasWalkedCache that's a copy of this one
-      // then we're going to call
-      filterEntries(parent, entries) {
-        const patterns = this.subwalks.get(parent);
-        const results = this.child();
-        for (const e of entries) {
-          for (const pattern of patterns) {
-            const absolute = pattern.isAbsolute();
-            const p = pattern.pattern();
-            const rest = pattern.rest();
-            if (p === minimatch_1.GLOBSTAR) {
-              results.testGlobstar(e, pattern, rest, absolute);
-            } else if (p instanceof RegExp) {
-              results.testRegExp(e, p, rest, absolute);
-            } else {
-              results.testString(e, p, rest, absolute);
-            }
-          }
-        }
-        return results;
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, new FakeWeakRef(dispatcher));
       }
-      testGlobstar(e, pattern, rest, absolute) {
-        if (this.dot || !e.name.startsWith(".")) {
-          if (!pattern.hasMore()) {
-            this.matches.add(e, absolute, false);
-          }
-          if (e.canReaddir()) {
-            if (this.follow || !e.isSymbolicLink()) {
-              this.subwalks.add(e, pattern);
-            } else if (e.isSymbolicLink()) {
-              if (rest && pattern.checkFollowGlobstar()) {
-                this.subwalks.add(e, rest);
-              } else if (pattern.markFollowGlobstar()) {
-                this.subwalks.add(e, pattern);
-              }
-            }
-          }
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const ref = this[kClients].get(origin);
+        if (ref) {
+          return ref.deref();
         }
-        if (rest) {
-          const rp = rest.pattern();
-          if (typeof rp === "string" && // dots and empty were handled already
-          rp !== ".." && rp !== "" && rp !== ".") {
-            this.testString(e, rp, rest.rest(), absolute);
-          } else if (rp === "..") {
-            const ep = e.parent || e;
-            this.subwalks.add(ep, rest);
-          } else if (rp instanceof RegExp) {
-            this.testRegExp(e, rp, rest.rest(), absolute);
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
+        }
+        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
+          const nonExplicitDispatcher = nonExplicitRef.deref();
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
         }
       }
-      testRegExp(e, p, rest, absolute) {
-        if (!p.test(e.name))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
-        }
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-      testString(e, p, rest, absolute) {
-        if (!e.isNamed(p))
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      }
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
           return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
         }
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    exports2.Processor = Processor;
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/glob/dist/commonjs/walker.js
-var require_walker = __commonJS({
-  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+// node_modules/undici/lib/proxy-agent.js
+var require_proxy_agent3 = __commonJS({
+  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
-    var minipass_1 = require_commonjs22();
-    var ignore_js_1 = require_ignore();
-    var processor_js_1 = require_processor();
-    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
-    var GlobUtil = class {
-      path;
-      patterns;
-      opts;
-      seen = /* @__PURE__ */ new Set();
-      paused = false;
-      aborted = false;
-      #onResume = [];
-      #ignore;
-      #sep;
-      signal;
-      maxDepth;
-      includeChildMatches;
-      constructor(patterns, path16, opts) {
-        this.patterns = patterns;
-        this.path = path16;
-        this.opts = opts;
-        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        if (opts.ignore || !this.includeChildMatches) {
-          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
-          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
-            const m = "cannot ignore child matches, ignore lacks add() method.";
-            throw new Error(m);
-          }
-        }
-        this.maxDepth = opts.maxDepth || Infinity;
-        if (opts.signal) {
-          this.signal = opts.signal;
-          this.signal.addEventListener("abort", () => {
-            this.#onResume.length = 0;
-          });
-        }
-      }
-      #ignored(path16) {
-        return this.seen.has(path16) || !!this.#ignore?.ignored?.(path16);
-      }
-      #childrenIgnored(path16) {
-        return !!this.#ignore?.childrenIgnored?.(path16);
-      }
-      // backpressure mechanism
-      pause() {
-        this.paused = true;
+    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols11();
+    var { URL: URL2 } = require("url");
+    var Agent = require_agent3();
+    var Pool = require_pool3();
+    var DispatcherBase = require_dispatcher_base3();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors6();
+    var buildConnector = require_connect3();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function buildProxyOptions(opts) {
+      if (typeof opts === "string") {
+        opts = { uri: opts };
       }
-      resume() {
-        if (this.signal?.aborted)
-          return;
-        this.paused = false;
-        let fn = void 0;
-        while (!this.paused && (fn = this.#onResume.shift())) {
-          fn();
-        }
+      if (!opts || !opts.uri) {
+        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
       }
-      onResume(fn) {
-        if (this.signal?.aborted)
-          return;
-        if (!this.paused) {
-          fn();
-        } else {
-          this.#onResume.push(fn);
+      return {
+        uri: opts.uri,
+        protocol: opts.protocol || "https"
+      };
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super(opts);
+        this[kProxy] = buildProxyOptions(opts);
+        this[kAgent] = new Agent(opts);
+        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        if (typeof opts === "string") {
+          opts = { uri: opts };
         }
-      }
-      // do the requisite realpath/stat checking, and return the path
-      // to add or undefined to filter it out.
-      async matchCheck(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || await e.realpath();
-          if (!rpc)
-            return void 0;
-          e = rpc;
+        if (!opts || !opts.uri) {
+          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
         }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? await e.lstat() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = await s.realpath();
-          if (target && (target.isUnknown() || this.opts.stat)) {
-            await target.lstat();
-          }
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        return this.matchCheckTest(s, ifDir);
-      }
-      matchCheckTest(e, ifDir) {
-        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
-      }
-      matchCheckSync(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || e.realpathSync();
-          if (!rpc)
-            return void 0;
-          e = rpc;
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        const resolvedUrl = new URL2(opts.uri);
+        const { origin, port, host, username, password } = resolvedUrl;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
         }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? e.lstatSync() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = s.realpathSync();
-          if (target && (target?.isUnknown() || this.opts.stat)) {
-            target.lstatSync();
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        this[kClient] = clientFactory(resolvedUrl, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          connect: async (opts2, callback) => {
+            let requestedHost = opts2.host;
+            if (!opts2.port) {
+              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedHost,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host
+                }
+              });
+              if (statusCode !== 200) {
+                socket.on("error", () => {
+                }).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              callback(err);
+            }
           }
-        }
-        return this.matchCheckTest(s, ifDir);
-      }
-      matchFinish(e, absolute) {
-        if (this.#ignored(e))
-          return;
-        if (!this.includeChildMatches && this.#ignore?.add) {
-          const ign = `${e.relativePosix()}/**`;
-          this.#ignore.add(ign);
-        }
-        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
-        this.seen.add(e);
-        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
-        if (this.opts.withFileTypes) {
-          this.matchEmit(e);
-        } else if (abs) {
-          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
-          this.matchEmit(abs2 + mark);
-        } else {
-          const rel = this.opts.posix ? e.relativePosix() : e.relative();
-          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
-          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
-        }
-      }
-      async match(e, absolute, ifDir) {
-        const p = await this.matchCheck(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+        });
       }
-      matchSync(e, absolute, ifDir) {
-        const p = this.matchCheckSync(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+      dispatch(opts, handler2) {
+        const { host } = new URL2(opts.origin);
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers: {
+              ...headers,
+              host
+            }
+          },
+          handler2
+        );
       }
-      walkCB(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      walkCB2(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
-          }
-          tasks++;
-          const childrenCached = t.readdirCached();
-          if (t.calledReaddir())
-            this.walkCB3(t, childrenCached, processor, next);
-          else {
-            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
-          }
-        }
-        next();
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-      walkCB3(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2(target2, patterns, processor.child(), next);
+    };
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
         }
-        next();
+        return headersPair;
       }
-      walkCBSync(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      return headers;
+    }
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
       }
-      walkCB2Sync(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
+    }
+    module2.exports = ProxyAgent;
+  }
+});
+
+// node_modules/undici/lib/handler/RetryHandler.js
+var require_RetryHandler = __commonJS({
+  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
+    var assert = require("assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols11();
+    var { RequestRetryError } = require_errors6();
+    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util24();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      const diff = new Date(retryAfter).getTime() - current;
+      return diff;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = dispatchOpts;
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          timeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "ECONNRESET",
+            "ECONNREFUSED",
+            "ENOTFOUND",
+            "ENETDOWN",
+            "ENETUNREACH",
+            "EHOSTDOWN",
+            "EHOSTUNREACH",
+            "EPIPE"
+          ]
         };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
+        this.retryCount = 0;
+        this.start = 0;
+        this.end = null;
+        this.etag = null;
+        this.resume = null;
+        this.handler.onConnect((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
           }
-          tasks++;
-          const children = t.readdirSync();
-          this.walkCB3Sync(t, children, processor, next);
-        }
-        next();
-      }
-      walkCB3Sync(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2Sync(target2, patterns, processor.child(), next);
-        }
-        next();
-      }
-    };
-    exports2.GlobUtil = GlobUtil;
-    var GlobWalker = class extends GlobUtil {
-      matches = /* @__PURE__ */ new Set();
-      constructor(patterns, path16, opts) {
-        super(patterns, path16, opts);
-      }
-      matchEmit(e) {
-        this.matches.add(e);
-      }
-      async walk() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          await this.path.lstat();
-        }
-        await new Promise((res, rej) => {
-          this.walkCB(this.path, this.patterns, () => {
-            if (this.signal?.aborted) {
-              rej(this.signal.reason);
-            } else {
-              res(this.matches);
-            }
-          });
         });
-        return this.matches;
       }
-      walkSync() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
-        this.walkCBSync(this.path, this.patterns, () => {
-          if (this.signal?.aborted)
-            throw this.signal.reason;
-        });
-        return this.matches;
-      }
-    };
-    exports2.GlobWalker = GlobWalker;
-    var GlobStream = class extends GlobUtil {
-      results;
-      constructor(patterns, path16, opts) {
-        super(patterns, path16, opts);
-        this.results = new minipass_1.Minipass({
-          signal: this.signal,
-          objectMode: true
-        });
-        this.results.on("drain", () => this.resume());
-        this.results.on("resume", () => this.resume());
       }
-      matchEmit(e) {
-        this.results.write(e);
-        if (!this.results.flowing)
-          this.pause();
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
+        }
       }
-      stream() {
-        const target = this.path;
-        if (target.isUnknown()) {
-          target.lstat().then(() => {
-            this.walkCB(target, this.patterns, () => this.results.end());
-          });
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
         } else {
-          this.walkCB(target, this.patterns, () => this.results.end());
+          this.abort = abort;
         }
-        return this.results;
       }
-      streamSync() {
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => this.results.end());
-        return this.results;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-    };
-    exports2.GlobStream = GlobStream;
-  }
-});
-
-// node_modules/glob/dist/commonjs/glob.js
-var require_glob2 = __commonJS({
-  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Glob = void 0;
-    var minimatch_1 = require_commonjs20();
-    var node_url_1 = require("node:url");
-    var path_scurry_1 = require_commonjs23();
-    var pattern_js_1 = require_pattern();
-    var walker_js_1 = require_walker();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Glob = class {
-      absolute;
-      cwd;
-      root;
-      dot;
-      dotRelative;
-      follow;
-      ignore;
-      magicalBraces;
-      mark;
-      matchBase;
-      maxDepth;
-      nobrace;
-      nocase;
-      nodir;
-      noext;
-      noglobstar;
-      pattern;
-      platform;
-      realpath;
-      scurry;
-      stat;
-      signal;
-      windowsPathsNoEscape;
-      withFileTypes;
-      includeChildMatches;
-      /**
-       * The options provided to the constructor.
-       */
-      opts;
-      /**
-       * An array of parsed immutable {@link Pattern} objects.
-       */
-      patterns;
-      /**
-       * All options are stored as properties on the `Glob` object.
-       *
-       * See {@link GlobOptions} for full options descriptions.
-       *
-       * Note that a previous `Glob` object can be passed as the
-       * `GlobOptions` to another `Glob` instantiation to re-use settings
-       * and caches with a new pattern.
-       *
-       * Traversal functions can be called multiple times to run the walk
-       * again.
-       */
-      constructor(pattern, opts) {
-        if (!opts)
-          throw new TypeError("glob options required");
-        this.withFileTypes = !!opts.withFileTypes;
-        this.signal = opts.signal;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.dotRelative = !!opts.dotRelative;
-        this.nodir = !!opts.nodir;
-        this.mark = !!opts.mark;
-        if (!opts.cwd) {
-          this.cwd = "";
-        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
-          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          timeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        let { counter, currentTimeout } = state;
+        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
+        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
+        }
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
         }
-        this.cwd = opts.cwd || "";
-        this.root = opts.root;
-        this.magicalBraces = !!opts.magicalBraces;
-        this.nobrace = !!opts.nobrace;
-        this.noext = !!opts.noext;
-        this.realpath = !!opts.realpath;
-        this.absolute = opts.absolute;
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        this.noglobstar = !!opts.noglobstar;
-        this.matchBase = !!opts.matchBase;
-        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
-        this.stat = !!opts.stat;
-        this.ignore = opts.ignore;
-        if (this.withFileTypes && this.absolute !== void 0) {
-          throw new Error("cannot set absolute and withFileTypes:true");
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
         }
-        if (typeof pattern === "string") {
-          pattern = [pattern];
+        if (counter > maxRetries) {
+          cb(err);
+          return;
         }
-        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
+        let retryAfterHeader = headers != null && headers["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
         }
-        if (this.matchBase) {
-          if (opts.noglobstar) {
-            throw new TypeError("base matching requires globstar");
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
+        state.currentTimeout = retryTimeout;
+        setTimeout(() => cb(null), retryTimeout);
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          this.abort(
+            new RequestRetryError("Request failed", statusCode, {
+              headers,
+              count: this.retryCount
+            })
+          );
+          return false;
+        }
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206) {
+            return true;
           }
-          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
         }
-        this.pattern = pattern;
-        this.platform = opts.platform || defaultPlatform;
-        this.opts = { ...opts, platform: this.platform };
-        if (opts.scurry) {
-          this.scurry = opts.scurry;
-          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
-            throw new Error("nocase option contradicts provided scurry option");
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
+            }
+            const { start, size, end = size } = range;
+            assert(
+              start != null && Number.isFinite(start) && this.start !== start,
+              "content-range mismatch"
+            );
+            assert(Number.isFinite(start));
+            assert(
+              end != null && Number.isFinite(end) && this.end !== end,
+              "invalid content-length"
+            );
+            this.start = start;
+            this.end = end;
           }
-        } else {
-          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
-          this.scurry = new Scurry(this.cwd, {
-            nocase: opts.nocase,
-            fs: opts.fs
-          });
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) : null;
+          }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
         }
-        this.nocase = this.scurry.nocase;
-        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
-        const mmo = {
-          // default nocase based on platform
-          ...opts,
-          dot: this.dot,
-          matchBase: this.matchBase,
-          nobrace: this.nobrace,
-          nocase: this.nocase,
-          nocaseMagicOnly,
-          nocomment: true,
-          noext: this.noext,
-          nonegate: true,
-          optimizationLevel: 2,
-          platform: this.platform,
-          windowsPathsNoEscape: this.windowsPathsNoEscape,
-          debug: !!this.opts.debug
-        };
-        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
-        const [matchSet, globParts] = mms.reduce((set2, m) => {
-          set2[0].push(...m.set);
-          set2[1].push(...m.globParts);
-          return set2;
-        }, [[], []]);
-        this.patterns = matchSet.map((set2, i) => {
-          const g = globParts[i];
-          if (!g)
-            throw new Error("invalid pattern object");
-          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          count: this.retryCount
         });
+        this.abort(err);
+        return false;
       }
-      async walk() {
-        return [
-          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walk()
-        ];
-      }
-      walkSync() {
-        return [
-          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walkSync()
-        ];
-      }
-      stream() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).stream();
-      }
-      streamSync() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).streamSync();
-      }
-      /**
-       * Default sync iteration function. Returns a Generator that
-       * iterates over the results.
-       */
-      iterateSync() {
-        return this.streamSync()[Symbol.iterator]();
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      /**
-       * Default async iteration function. Returns an AsyncGenerator that
-       * iterates over the results.
-       */
-      iterate() {
-        return this.stream()[Symbol.asyncIterator]();
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
+          },
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
+          }
+          if (this.start !== 0) {
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                range: `bytes=${this.start}-${this.end ?? ""}`
+              }
+            };
+          }
+          try {
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
+          }
+        }
       }
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/undici/lib/global.js
+var require_global6 = __commonJS({
+  "node_modules/undici/lib/global.js"(exports2, module2) {
+    "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors6();
+    var Agent = require_agent3();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
+    }
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
     };
-    exports2.Glob = Glob;
   }
 });
 
-// node_modules/glob/dist/commonjs/has-magic.js
-var require_has_magic = __commonJS({
-  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+// node_modules/undici/lib/handler/DecoratorHandler.js
+var require_DecoratorHandler = __commonJS({
+  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hasMagic = void 0;
-    var minimatch_1 = require_commonjs20();
-    var hasMagic = (pattern, options = {}) => {
-      if (!Array.isArray(pattern)) {
-        pattern = [pattern];
+    module2.exports = class DecoratorHandler {
+      constructor(handler2) {
+        this.handler = handler2;
       }
-      for (const p of pattern) {
-        if (new minimatch_1.Minimatch(p, options).hasMagic())
-          return true;
+      onConnect(...args) {
+        return this.handler.onConnect(...args);
+      }
+      onError(...args) {
+        return this.handler.onError(...args);
+      }
+      onUpgrade(...args) {
+        return this.handler.onUpgrade(...args);
+      }
+      onHeaders(...args) {
+        return this.handler.onHeaders(...args);
+      }
+      onData(...args) {
+        return this.handler.onData(...args);
+      }
+      onComplete(...args) {
+        return this.handler.onComplete(...args);
+      }
+      onBodySent(...args) {
+        return this.handler.onBodySent(...args);
       }
-      return false;
     };
-    exports2.hasMagic = hasMagic;
   }
 });
 
-// node_modules/glob/dist/commonjs/index.js
-var require_commonjs24 = __commonJS({
-  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/headers.js
+var require_headers4 = __commonJS({
+  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
-    exports2.globStreamSync = globStreamSync;
-    exports2.globStream = globStream;
-    exports2.globSync = globSync;
-    exports2.globIterateSync = globIterateSync;
-    exports2.globIterate = globIterate;
-    var minimatch_1 = require_commonjs20();
-    var glob_js_1 = require_glob2();
-    var has_magic_js_1 = require_has_magic();
-    var minimatch_2 = require_commonjs20();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return minimatch_2.escape;
-    } });
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return minimatch_2.unescape;
-    } });
-    var glob_js_2 = require_glob2();
-    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
-      return glob_js_2.Glob;
-    } });
-    var has_magic_js_2 = require_has_magic();
-    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
-      return has_magic_js_2.hasMagic;
-    } });
-    var ignore_js_1 = require_ignore();
-    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
-      return ignore_js_1.Ignore;
-    } });
-    function globStreamSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).streamSync();
-    }
-    function globStream(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).stream();
-    }
-    function globSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walkSync();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var { kGuard } = require_symbols12();
+    var { kEnumerableProperty } = require_util24();
+    var {
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util25();
+    var util = require("util");
+    var { webidl } = require_webidl3();
+    var assert = require("assert");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
     }
-    async function glob_(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walk();
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
+      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
     }
-    function globIterateSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterateSync();
+    function fill(headers, object) {
+      if (Array.isArray(object)) {
+        for (let i = 0; i < object.length; ++i) {
+          const header = object[i];
+          if (header.length !== 2) {
+            throw webidl.errors.exception({
+              header: "Headers constructor",
+              message: `expected name/value pair to be length 2, found ${header.length}.`
+            });
+          }
+          appendHeader(headers, header[0], header[1]);
+        }
+      } else if (typeof object === "object" && object !== null) {
+        const keys = Object.keys(object);
+        for (let i = 0; i < keys.length; ++i) {
+          appendHeader(headers, keys[i], object[keys[i]]);
+        }
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
+      }
     }
-    function globIterate(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterate();
+    function appendHeader(headers, name, value) {
+      value = headerValueNormalize(value);
+      if (!isValidHeaderName(name)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value: name,
+          type: "header name"
+        });
+      } else if (!isValidHeaderValue(value)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value,
+          type: "header value"
+        });
+      }
+      if (headers[kGuard] === "immutable") {
+        throw new TypeError("immutable");
+      } else if (headers[kGuard] === "request-no-cors") {
+      }
+      return headers[kHeadersList].append(name, value);
     }
-    exports2.streamSync = globStreamSync;
-    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
-    exports2.iterateSync = globIterateSync;
-    exports2.iterate = Object.assign(globIterate, {
-      sync: globIterateSync
-    });
-    exports2.sync = Object.assign(globSync, {
-      stream: globStreamSync,
-      iterate: globIterateSync
-    });
-    exports2.glob = Object.assign(glob_, {
-      glob: glob_,
-      globSync,
-      sync: exports2.sync,
-      globStream,
-      stream: exports2.stream,
-      globStreamSync,
-      streamSync: exports2.streamSync,
-      globIterate,
-      iterate: exports2.iterate,
-      globIterateSync,
-      iterateSync: exports2.iterateSync,
-      Glob: glob_js_1.Glob,
-      hasMagic: has_magic_js_1.hasMagic,
-      escape: minimatch_1.escape,
-      unescape: minimatch_1.unescape
-    });
-    exports2.glob.glob = exports2.glob;
-  }
-});
-
-// node_modules/archiver-utils/file.js
-var require_file4 = __commonJS({
-  "node_modules/archiver-utils/file.js"(exports2, module2) {
-    var fs18 = require_graceful_fs();
-    var path16 = require("path");
-    var flatten = require_flatten();
-    var difference = require_difference();
-    var union = require_union();
-    var isPlainObject3 = require_isPlainObject();
-    var glob2 = require_commonjs24();
-    var file = module2.exports = {};
-    var pathSeparatorRe = /[\/\\]/g;
-    var processPatterns = function(patterns, fn) {
-      var result = [];
-      flatten(patterns).forEach(function(pattern) {
-        var exclusion = pattern.indexOf("!") === 0;
-        if (exclusion) {
-          pattern = pattern.slice(1);
-        }
-        var matches = fn(pattern);
-        if (exclusion) {
-          result = difference(result, matches);
+    var HeadersList = class _HeadersList {
+      /** @type {[string, string][]|null} */
+      cookies = null;
+      constructor(init) {
+        if (init instanceof _HeadersList) {
+          this[kHeadersMap] = new Map(init[kHeadersMap]);
+          this[kHeadersSortedMap] = init[kHeadersSortedMap];
+          this.cookies = init.cookies === null ? null : [...init.cookies];
         } else {
-          result = union(result, matches);
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
         }
-      });
-      return result;
-    };
-    file.exists = function() {
-      var filepath = path16.join.apply(path16, arguments);
-      return fs18.existsSync(filepath);
-    };
-    file.expand = function(...args) {
-      var options = isPlainObject3(args[0]) ? args.shift() : {};
-      var patterns = Array.isArray(args[0]) ? args[0] : args;
-      if (patterns.length === 0) {
-        return [];
       }
-      var matches = processPatterns(patterns, function(pattern) {
-        return glob2.sync(pattern, options);
-      });
-      if (options.filter) {
-        matches = matches.filter(function(filepath) {
-          filepath = path16.join(options.cwd || "", filepath);
-          try {
-            if (typeof options.filter === "function") {
-              return options.filter(filepath);
-            } else {
-              return fs18.statSync(filepath)[options.filter]();
-            }
-          } catch (e) {
-            return false;
-          }
-        });
+      // https://fetch.spec.whatwg.org/#header-list-contains
+      contains(name) {
+        name = name.toLowerCase();
+        return this[kHeadersMap].has(name);
       }
-      return matches;
-    };
-    file.expandMapping = function(patterns, destBase, options) {
-      options = Object.assign({
-        rename: function(destBase2, destPath) {
-          return path16.join(destBase2 || "", destPath);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-append
+      append(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
+          });
+        } else {
+          this[kHeadersMap].set(lowercaseName, { name, value });
         }
-      }, options);
-      var files = [];
-      var fileByDest = {};
-      file.expand(options, patterns).forEach(function(src) {
-        var destPath = src;
-        if (options.flatten) {
-          destPath = path16.basename(destPath);
+        if (lowercaseName === "set-cookie") {
+          this.cookies ??= [];
+          this.cookies.push(value);
         }
-        if (options.ext) {
-          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-set
+      set(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
         }
-        var dest = options.rename(destBase, destPath, options);
-        if (options.cwd) {
-          src = path16.join(options.cwd, src);
+        this[kHeadersMap].set(lowercaseName, { name, value });
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-delete
+      delete(name) {
+        this[kHeadersSortedMap] = null;
+        name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
         }
-        dest = dest.replace(pathSeparatorRe, "/");
-        src = src.replace(pathSeparatorRe, "/");
-        if (fileByDest[dest]) {
-          fileByDest[dest].src.push(src);
-        } else {
-          files.push({
-            src: [src],
-            dest
-          });
-          fileByDest[dest] = files[files.length - 1];
+        this[kHeadersMap].delete(name);
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-get
+      get(name) {
+        const value = this[kHeadersMap].get(name.toLowerCase());
+        return value === void 0 ? null : value.value;
+      }
+      *[Symbol.iterator]() {
+        for (const [name, { value }] of this[kHeadersMap]) {
+          yield [name, value];
         }
-      });
-      return files;
-    };
-    file.normalizeFilesArray = function(data) {
-      var files = [];
-      data.forEach(function(obj) {
-        var prop;
-        if ("src" in obj || "dest" in obj) {
-          files.push(obj);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
+          }
         }
-      });
-      if (files.length === 0) {
-        return [];
+        return headers;
       }
-      files = _(files).chain().forEach(function(obj) {
-        if (!("src" in obj) || !obj.src) {
+    };
+    var Headers = class _Headers {
+      constructor(init = void 0) {
+        if (init === kConstruct) {
           return;
         }
-        if (Array.isArray(obj.src)) {
-          obj.src = flatten(obj.src);
-        } else {
-          obj.src = [obj.src];
+        this[kHeadersList] = new HeadersList();
+        this[kGuard] = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init);
+          fill(this, init);
         }
-      }).map(function(obj) {
-        var expandOptions = Object.assign({}, obj);
-        delete expandOptions.src;
-        delete expandOptions.dest;
-        if (obj.expand) {
-          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
-            var result2 = Object.assign({}, obj);
-            result2.orig = Object.assign({}, obj);
-            result2.src = mapObj.src;
-            result2.dest = mapObj.dest;
-            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
-              delete result2[prop];
-            });
-            return result2;
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
           });
         }
-        var result = Object.assign({}, obj);
-        result.orig = Object.assign({}, obj);
-        if ("src" in result) {
-          Object.defineProperty(result, "src", {
-            enumerable: true,
-            get: function fn() {
-              var src;
-              if (!("result" in fn)) {
-                src = obj.src;
-                src = Array.isArray(src) ? flatten(src) : [src];
-                fn.result = file.expand(expandOptions, src);
-              }
-              return fn.result;
-            }
-          });
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
         }
-        if ("dest" in result) {
-          result.dest = obj.dest;
+        if (!this[kHeadersList].contains(name)) {
+          return;
         }
-        return result;
-      }).flatten().value();
-      return files;
-    };
-  }
-});
-
-// node_modules/archiver-utils/index.js
-var require_archiver_utils = __commonJS({
-  "node_modules/archiver-utils/index.js"(exports2, module2) {
-    var fs18 = require_graceful_fs();
-    var path16 = require("path");
-    var isStream = require_is_stream();
-    var lazystream = require_lazystream();
-    var normalizePath = require_normalize_path();
-    var defaults = require_defaults();
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var utils = module2.exports = {};
-    utils.file = require_file4();
-    utils.collectStream = function(source, callback) {
-      var collection = [];
-      var size = 0;
-      source.on("error", callback);
-      source.on("data", function(chunk) {
-        collection.push(chunk);
-        size += chunk.length;
-      });
-      source.on("end", function() {
-        var buf = Buffer.alloc(size);
-        var offset = 0;
-        collection.forEach(function(data) {
-          data.copy(buf, offset);
-          offset += data.length;
-        });
-        callback(null, buf);
-      });
-    };
-    utils.dateify = function(dateish) {
-      dateish = dateish || /* @__PURE__ */ new Date();
-      if (dateish instanceof Date) {
-        dateish = dateish;
-      } else if (typeof dateish === "string") {
-        dateish = new Date(dateish);
-      } else {
-        dateish = /* @__PURE__ */ new Date();
-      }
-      return dateish;
-    };
-    utils.defaults = function(object, source, guard) {
-      var args = arguments;
-      args[0] = args[0] || {};
-      return defaults(...args);
-    };
-    utils.isStream = function(source) {
-      return isStream(source);
-    };
-    utils.lazyReadStream = function(filepath) {
-      return new lazystream.Readable(function() {
-        return fs18.createReadStream(filepath);
-      });
-    };
-    utils.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (utils.isStream(source)) {
-        return source.pipe(new PassThrough());
+        this[kHeadersList].delete(name);
       }
-      return source;
-    };
-    utils.sanitizePath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-    };
-    utils.trailingSlashIt = function(str2) {
-      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
-    };
-    utils.unixifyPath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "");
-    };
-    utils.walkdir = function(dirpath, base, callback) {
-      var results = [];
-      if (typeof base === "function") {
-        callback = base;
-        base = dirpath;
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.get",
+            value: name,
+            type: "header name"
+          });
+        }
+        return this[kHeadersList].get(name);
       }
-      fs18.readdir(dirpath, function(err, list) {
-        var i = 0;
-        var file;
-        var filepath;
-        if (err) {
-          return callback(err);
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.has",
+            value: name,
+            type: "header name"
+          });
         }
-        (function next() {
-          file = list[i++];
-          if (!file) {
-            return callback(null, results);
-          }
-          filepath = path16.join(dirpath, file);
-          fs18.stat(filepath, function(err2, stats) {
-            results.push({
-              path: filepath,
-              relative: path16.relative(base, filepath).replace(/\\/g, "/"),
-              stats
-            });
-            if (stats && stats.isDirectory()) {
-              utils.walkdir(filepath, base, function(err3, res) {
-                if (err3) {
-                  return callback(err3);
-                }
-                res.forEach(function(dirEntry) {
-                  results.push(dirEntry);
-                });
-                next();
-              });
-            } else {
-              next();
-            }
+        return this[kHeadersList].contains(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value: name,
+            type: "header name"
           });
-        })();
-      });
-    };
-  }
-});
-
-// node_modules/archiver/lib/error.js
-var require_error3 = __commonJS({
-  "node_modules/archiver/lib/error.js"(exports2, module2) {
-    var util = require("util");
-    var ERROR_CODES = {
-      "ABORTED": "archive was aborted",
-      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
-      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
-      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
-      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
-      "FINALIZING": "archive already finalizing",
-      "QUEUECLOSED": "queue closed",
-      "NOENDMETHOD": "no suitable finalize/end method defined by module",
-      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
-      "FORMATSET": "archive format already set",
-      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
-      "MODULESET": "module already set",
-      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
-      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
-      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
-      "ENTRYNOTSUPPORTED": "entry not supported"
-    };
-    function ArchiverError(code, data) {
-      Error.captureStackTrace(this, this.constructor);
-      this.message = ERROR_CODES[code] || code;
-      this.code = code;
-      this.data = data;
-    }
-    util.inherits(ArchiverError, Error);
-    exports2 = module2.exports = ArchiverError;
-  }
-});
-
-// node_modules/archiver/lib/core.js
-var require_core2 = __commonJS({
-  "node_modules/archiver/lib/core.js"(exports2, module2) {
-    var fs18 = require("fs");
-    var glob2 = require_readdir_glob();
-    var async = require_async();
-    var path16 = require("path");
-    var util = require_archiver_utils();
-    var inherits = require("util").inherits;
-    var ArchiverError = require_error3();
-    var Transform = require_ours().Transform;
-    var win32 = process.platform === "win32";
-    var Archiver = function(format, options) {
-      if (!(this instanceof Archiver)) {
-        return new Archiver(format, options);
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value,
+            type: "header value"
+          });
+        }
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
+        }
+        this[kHeadersList].set(name, value);
       }
-      if (typeof format !== "string") {
-        options = format;
-        format = "zip";
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this[kHeadersList].cookies;
+        if (list) {
+          return [...list];
+        }
+        return [];
       }
-      options = this.options = util.defaults(options, {
-        highWaterMark: 1024 * 1024,
-        statConcurrency: 4
-      });
-      Transform.call(this, options);
-      this._format = false;
-      this._module = false;
-      this._pending = 0;
-      this._pointer = 0;
-      this._entriesCount = 0;
-      this._entriesProcessedCount = 0;
-      this._fsEntriesTotalBytes = 0;
-      this._fsEntriesProcessedBytes = 0;
-      this._queue = async.queue(this._onQueueTask.bind(this), 1);
-      this._queue.drain(this._onQueueDrain.bind(this));
-      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
-      this._statQueue.drain(this._onQueueDrain.bind(this));
-      this._state = {
-        aborted: false,
-        finalize: false,
-        finalizing: false,
-        finalized: false,
-        modulePiped: false
-      };
-      this._streams = [];
-    };
-    inherits(Archiver, Transform);
-    Archiver.prototype._abort = function() {
-      this._state.aborted = true;
-      this._queue.kill();
-      this._statQueue.kill();
-      if (this._queue.idle()) {
-        this._shutdown();
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this[kHeadersList][kHeadersSortedMap]) {
+          return this[kHeadersList][kHeadersSortedMap];
+        }
+        const headers = [];
+        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
+        const cookies = this[kHeadersList].cookies;
+        for (let i = 0; i < names.length; ++i) {
+          const [name, value] = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
+            }
+          } else {
+            assert(value !== null);
+            headers.push([name, value]);
+          }
+        }
+        this[kHeadersList][kHeadersSortedMap] = headers;
+        return headers;
       }
-    };
-    Archiver.prototype._append = function(filepath, data) {
-      data = data || {};
-      var task = {
-        source: null,
-        filepath
-      };
-      if (!data.name) {
-        data.name = filepath;
+      keys() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key"
+        );
       }
-      data.sourcePath = filepath;
-      task.data = data;
-      this._entriesCount++;
-      if (data.stats && data.stats instanceof fs18.Stats) {
-        task = this._updateQueueTaskWithStats(task, data.stats);
-        if (task) {
-          if (data.stats.size) {
-            this._fsEntriesTotalBytes += data.stats.size;
-          }
-          this._queue.push(task);
+      values() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "value"
+          );
         }
-      } else {
-        this._statQueue.push(task);
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "value"
+        );
       }
-    };
-    Archiver.prototype._finalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      entries() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key+value"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key+value"
+        );
       }
-      this._state.finalizing = true;
-      this._moduleFinalize();
-      this._state.finalizing = false;
-      this._state.finalized = true;
-    };
-    Archiver.prototype._maybeFinalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return false;
+      /**
+       * @param {(value: string, key: string, self: Headers) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
-        return true;
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
+        webidl.brandCheck(this, _Headers);
+        return this[kHeadersList];
       }
-      return false;
     };
-    Archiver.prototype._moduleAppend = function(source, data, callback) {
-      if (this._state.aborted) {
-        callback();
-        return;
+    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      keys: kEnumerableProperty,
+      values: kEnumerableProperty,
+      entries: kEnumerableProperty,
+      forEach: kEnumerableProperty,
+      [Symbol.iterator]: { enumerable: false },
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-      this._module.append(source, data, function(err) {
-        this._task = null;
-        if (this._state.aborted) {
-          this._shutdown();
-          return;
-        }
-        if (err) {
-          this.emit("error", err);
-          setImmediate(callback);
-          return;
-        }
-        this.emit("entry", data);
-        this._entriesProcessedCount++;
-        if (data.stats && data.stats.size) {
-          this._fsEntriesProcessedBytes += data.stats.size;
+    });
+    webidl.converters.HeadersInit = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (V[Symbol.iterator]) {
+          return webidl.converters["sequence>"](V);
         }
-        this.emit("progress", {
-          entries: {
-            total: this._entriesCount,
-            processed: this._entriesProcessedCount
-          },
-          fs: {
-            totalBytes: this._fsEntriesTotalBytes,
-            processedBytes: this._fsEntriesProcessedBytes
-          }
-        });
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._moduleFinalize = function() {
-      if (typeof this._module.finalize === "function") {
-        this._module.finalize();
-      } else if (typeof this._module.end === "function") {
-        this._module.end();
-      } else {
-        this.emit("error", new ArchiverError("NOENDMETHOD"));
+        return webidl.converters["record"](V);
       }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
     };
-    Archiver.prototype._modulePipe = function() {
-      this._module.on("error", this._onModuleError.bind(this));
-      this._module.pipe(this);
-      this._state.modulePiped = true;
+    module2.exports = {
+      fill,
+      Headers,
+      HeadersList
     };
-    Archiver.prototype._moduleSupports = function(key) {
-      if (!this._module.supports || !this._module.supports[key]) {
-        return false;
+  }
+});
+
+// node_modules/undici/lib/fetch/response.js
+var require_response4 = __commonJS({
+  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+    "use strict";
+    var { Headers, HeadersList, fill } = require_headers4();
+    var { extractBody, cloneBody, mixinBody } = require_body3();
+    var util = require_util24();
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode
+    } = require_util25();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      DOMException: DOMException2
+    } = require_constants21();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { FormData: FormData2 } = require_formdata3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { types } = require("util");
+    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kState] = makeNetworkError();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        return responseObject;
       }
-      return this._module.supports[key];
-    };
-    Archiver.prototype._moduleUnpipe = function() {
-      this._module.unpipe(this);
-      this._state.modulePiped = false;
-    };
-    Archiver.prototype._normalizeEntryData = function(data, stats) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        date: null,
-        mode: null,
-        prefix: null,
-        sourcePath: null,
-        stats: false
-      });
-      if (stats && data.stats === false) {
-        data.stats = stats;
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
+        }
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "response";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
       }
-      var isDir = data.type === "directory";
-      if (data.name) {
-        if (typeof data.prefix === "string" && "" !== data.prefix) {
-          data.name = data.prefix + "/" + data.name;
-          data.prefix = null;
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url2, status = 302) {
+        const relevantRealm = { settingsObject: {} };
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        url2 = webidl.converters.USVString(url2);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url2, getGlobalOrigin());
+        } catch (err) {
+          throw Object.assign(new TypeError("Failed to parse URL from " + url2), {
+            cause: err
+          });
         }
-        data.name = util.sanitizePath(data.name);
-        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError("Invalid status code " + status);
         }
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value);
+        return responseObject;
       }
-      if (typeof data.mode === "number") {
-        if (win32) {
-          data.mode &= 511;
-        } else {
-          data.mode &= 4095;
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
         }
-      } else if (data.stats && data.mode === null) {
-        if (win32) {
-          data.mode = data.stats.mode & 511;
-        } else {
-          data.mode = data.stats.mode & 4095;
+        init = webidl.converters.ResponseInit(init);
+        this[kRealm] = { settingsObject: {} };
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kGuard] = "response";
+        this[kHeaders][kHeadersList] = this[kState].headersList;
+        this[kHeaders][kRealm] = this[kRealm];
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
-        if (win32 && isDir) {
-          data.mode = 493;
+        initializeResponse(this, init, bodyWithType);
+      }
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
+      }
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url2 = urlList[urlList.length - 1] ?? null;
+        if (url2 === null) {
+          return "";
         }
-      } else if (data.mode === null) {
-        data.mode = isDir ? 493 : 420;
+        return URLSerializer(url2, true);
       }
-      if (data.stats && data.date === null) {
-        data.date = data.stats.mtime;
-      } else {
-        data.date = util.dateify(data.date);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      return data;
-    };
-    Archiver.prototype._onModuleError = function(err) {
-      this.emit("error", err);
-    };
-    Archiver.prototype._onQueueDrain = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-    };
-    Archiver.prototype._onQueueTask = function(task, callback) {
-      var fullCallback = () => {
-        if (task.data.callback) {
-          task.data.callback();
-        }
-        callback();
-      };
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        fullCallback();
-        return;
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      this._task = task;
-      this._moduleAppend(task.source, task.data, fullCallback);
-    };
-    Archiver.prototype._onStatQueueTask = function(task, callback) {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        callback();
-        return;
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-      fs18.lstat(task.filepath, function(err, stats) {
-        if (this._state.aborted) {
-          setImmediate(callback);
-          return;
-        }
-        if (err) {
-          this._entriesCount--;
-          this.emit("warning", err);
-          setImmediate(callback);
-          return;
-        }
-        task = this._updateQueueTaskWithStats(task, stats);
-        if (task) {
-          if (stats.size) {
-            this._fsEntriesTotalBytes += stats.size;
-          }
-          this._queue.push(task);
-        }
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._shutdown = function() {
-      this._moduleUnpipe();
-      this.end();
-    };
-    Archiver.prototype._transform = function(chunk, encoding, callback) {
-      if (chunk) {
-        this._pointer += chunk.length;
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      callback(null, chunk);
-    };
-    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
-      if (stats.isFile()) {
-        task.data.type = "file";
-        task.data.sourceType = "stream";
-        task.source = util.lazyReadStream(task.filepath);
-      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
-        task.data.name = util.trailingSlashIt(task.data.name);
-        task.data.type = "directory";
-        task.data.sourcePath = util.trailingSlashIt(task.filepath);
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
-        var linkPath = fs18.readlinkSync(task.filepath);
-        var dirName = path16.dirname(task.filepath);
-        task.data.type = "symlink";
-        task.data.linkname = path16.relative(dirName, path16.resolve(dirName, linkPath));
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else {
-        if (stats.isDirectory()) {
-          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
-        } else if (stats.isSymbolicLink()) {
-          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
-        } else {
-          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
-        }
-        return null;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      task.data = this._normalizeEntryData(task.data, stats);
-      return task;
-    };
-    Archiver.prototype.abort = function() {
-      if (this._state.aborted || this._state.finalized) {
-        return this;
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (this.bodyUsed || this.body && this.body.locked) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
+        }
+        const clonedResponse = cloneResponse(this[kState]);
+        const clonedResponseObject = new _Response();
+        clonedResponseObject[kState] = clonedResponse;
+        clonedResponseObject[kRealm] = this[kRealm];
+        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
+        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        return clonedResponseObject;
       }
-      this._abort();
-      return this;
     };
-    Archiver.prototype.append = function(source, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
-      }
-      data = this._normalizeEntryData(data);
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
-        return this;
+    mixinBody(Response);
+    Object.defineProperties(Response.prototype, {
+      type: kEnumerableProperty,
+      url: kEnumerableProperty,
+      status: kEnumerableProperty,
+      ok: kEnumerableProperty,
+      redirected: kEnumerableProperty,
+      statusText: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Response",
+        configurable: true
       }
-      if (data.type === "directory" && !this._moduleSupports("directory")) {
-        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
-        return this;
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        data.sourceType = "buffer";
-      } else if (util.isStream(source)) {
-        data.sourceType = "stream";
-      } else {
-        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
-        return this;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(response.body);
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source
+      return newResponse;
+    }
+    function makeResponse(init) {
+      return {
+        aborted: false,
+        rangeRequested: false,
+        timingAllowPassed: false,
+        requestIncludesCredentials: false,
+        type: "default",
+        status: 200,
+        timingInfo: null,
+        cacheState: "",
+        statusText: "",
+        ...init,
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
+        urlList: init.urlList ? [...init.urlList] : []
+      };
+    }
+    function makeNetworkError(reason) {
+      const isError = isErrorLike(reason);
+      return makeResponse({
+        type: "error",
+        status: 0,
+        error: isError ? reason : new Error(reason ? String(reason) : reason),
+        aborted: reason && reason.name === "AbortError"
       });
-      return this;
-    };
-    Archiver.prototype.directory = function(dirpath, destpath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    function makeFilteredResponse(response, state) {
+      state = {
+        internalResponse: response,
+        ...state
+      };
+      return new Proxy(response, {
+        get(target, p) {
+          return p in state ? state[p] : target[p];
+        },
+        set(target, p, value) {
+          assert(!(p in state));
+          target[p] = value;
+          return true;
+        }
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
+      } else {
+        assert(false);
       }
-      if (typeof dirpath !== "string" || dirpath.length === 0) {
-        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
-        return this;
+    }
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+    }
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      this._pending++;
-      if (destpath === false) {
-        destpath = "";
-      } else if (typeof destpath !== "string") {
-        destpath = dirpath;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      var dataFunction = false;
-      if (typeof data === "function") {
-        dataFunction = data;
-        data = {};
-      } else if (typeof data !== "object") {
-        data = {};
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      var globOptions = {
-        stat: true,
-        dot: true
-      };
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var ignoreMatch = false;
-        var entryData = Object.assign({}, data);
-        entryData.name = match.relative;
-        entryData.prefix = destpath;
-        entryData.stats = match.stat;
-        entryData.callback = globber.resume.bind(globber);
-        try {
-          if (dataFunction) {
-            entryData = dataFunction(entryData);
-            if (entryData === false) {
-              ignoreMatch = true;
-            } else if (typeof entryData !== "object") {
-              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
-            }
-          }
-        } catch (e) {
-          this.emit("error", e);
-          return;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: "Invalid response status code " + response.status
+          });
         }
-        if (ignoreMatch) {
-          globber.resume();
-          return;
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
+          response[kState].headersList.append("content-type", body.type);
         }
-        this._append(match.absolute, entryData);
       }
-      var globber = glob2(dirpath, globOptions);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
-    };
-    Archiver.prototype.file = function(filepath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream2
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
-        return this;
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, { strict: false });
       }
-      this._append(filepath, data);
-      return this;
+      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
+        return webidl.converters.BufferSource(V);
+      }
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, { strict: false });
+      }
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V);
+      }
+      return webidl.converters.DOMString(V);
     };
-    Archiver.prototype.glob = function(pattern, options, data) {
-      this._pending++;
-      options = util.defaults(options, {
-        stat: true,
-        pattern
-      });
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+    webidl.converters.BodyInit = function(V) {
+      if (V instanceof ReadableStream2) {
+        return webidl.converters.ReadableStream(V);
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var entryData = Object.assign({}, data);
-        entryData.callback = globber.resume.bind(globber);
-        entryData.stats = match.stat;
-        entryData.name = match.relative;
-        this._append(match.absolute, entryData);
+      return webidl.converters.XMLHttpRequestBodyInit(V);
+    };
+    webidl.converters.ResponseInit = webidl.dictionaryConverter([
+      {
+        key: "status",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: 200
+      },
+      {
+        key: "statusText",
+        converter: webidl.converters.ByteString,
+        defaultValue: ""
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      }
+    ]);
+    module2.exports = {
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/request.js
+var require_request6 = __commonJS({
+  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+    "use strict";
+    var { extractBody, mixinBody, cloneBody } = require_body3();
+    var { Headers, fill: fillHeaders, HeadersList } = require_headers4();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var util = require_util24();
+    var {
+      isValidHTTPToken,
+      sameOrigin,
+      normalizeMethod,
+      makePolicyContainer,
+      normalizeMethodRecord
+    } = require_util25();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants21();
+    var { kEnumerableProperty } = util;
+    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
+    var TransformStream2 = globalThis.TransformStream;
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        if (input === kConstruct) {
+          return;
+        }
+        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
+        input = webidl.converters.RequestInfo(input);
+        init = webidl.converters.RequestInit(init);
+        this[kRealm] = {
+          settingsObject: {
+            baseUrl: getGlobalOrigin(),
+            get origin() {
+              return this.baseUrl?.origin;
+            },
+            policyContainer: makePolicyContainer()
+          }
+        };
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = this[kRealm].settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } catch (err) {
+            throw new TypeError("Failed to parse URL from " + input, { cause: err });
+          }
+          if (parsedURL.username || parsedURL.password) {
+            throw new TypeError(
+              "Request cannot be constructed from a URL that includes credentials: " + input
+            );
+          }
+          request2 = makeRequest({ urlList: [parsedURL] });
+          fallbackMode = "cors";
+        } else {
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
+        }
+        const origin = this[kRealm].settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
+        }
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
+        }
+        if ("window" in init) {
+          window2 = "no-window";
+        }
+        request2 = makeRequest({
+          // URL request’s URL.
+          // undici implementation note: this is set as the first item in request's urlList in makeRequest
+          // method request’s method.
+          method: request2.method,
+          // header list A copy of request’s header list.
+          // undici implementation note: headersList is cloned in makeRequest
+          headersList: request2.headersList,
+          // unsafe-request flag Set.
+          unsafeRequest: request2.unsafeRequest,
+          // client This’s relevant settings object.
+          client: this[kRealm].settingsObject,
+          // window window.
+          window: window2,
+          // priority request’s priority.
+          priority: request2.priority,
+          // origin request’s origin. The propagation of the origin is only significant for navigation requests
+          // being handled by a service worker. In this scenario a request can have an origin that is different
+          // from the current client.
+          origin: request2.origin,
+          // referrer request’s referrer.
+          referrer: request2.referrer,
+          // referrer policy request’s referrer policy.
+          referrerPolicy: request2.referrerPolicy,
+          // mode request’s mode.
+          mode: request2.mode,
+          // credentials mode request’s credentials mode.
+          credentials: request2.credentials,
+          // cache mode request’s cache mode.
+          cache: request2.cache,
+          // redirect mode request’s redirect mode.
+          redirect: request2.redirect,
+          // integrity metadata request’s integrity metadata.
+          integrity: request2.integrity,
+          // keepalive request’s keepalive.
+          keepalive: request2.keepalive,
+          // reload-navigation flag request’s reload-navigation flag.
+          reloadNavigation: request2.reloadNavigation,
+          // history-navigation flag request’s history-navigation flag.
+          historyNavigation: request2.historyNavigation,
+          // URL list A clone of request’s URL list.
+          urlList: [...request2.urlList]
+        });
+        const initHasKey = Object.keys(init).length !== 0;
+        if (initHasKey) {
+          if (request2.mode === "navigate") {
+            request2.mode = "same-origin";
+          }
+          request2.reloadNavigation = false;
+          request2.historyNavigation = false;
+          request2.origin = "client";
+          request2.referrer = "client";
+          request2.referrerPolicy = "";
+          request2.url = request2.urlList[request2.urlList.length - 1];
+          request2.urlList = [request2.url];
+        }
+        if (init.referrer !== void 0) {
+          const referrer = init.referrer;
+          if (referrer === "") {
+            request2.referrer = "no-referrer";
+          } else {
+            let parsedReferrer;
+            try {
+              parsedReferrer = new URL(referrer, baseUrl);
+            } catch (err) {
+              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
+            }
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
+              request2.referrer = "client";
+            } else {
+              request2.referrer = parsedReferrer;
+            }
+          }
+        }
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
+        }
+        let mode;
+        if (init.mode !== void 0) {
+          mode = init.mode;
+        } else {
+          mode = fallbackMode;
+        }
+        if (mode === "navigate") {
+          throw webidl.errors.exception({
+            header: "Request constructor",
+            message: "invalid request mode navigate."
+          });
+        }
+        if (mode != null) {
+          request2.mode = mode;
+        }
+        if (init.credentials !== void 0) {
+          request2.credentials = init.credentials;
+        }
+        if (init.cache !== void 0) {
+          request2.cache = init.cache;
+        }
+        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
+          throw new TypeError(
+            "'only-if-cached' can be set only with 'same-origin' mode"
+          );
+        }
+        if (init.redirect !== void 0) {
+          request2.redirect = init.redirect;
+        }
+        if (init.integrity != null) {
+          request2.integrity = String(init.integrity);
+        }
+        if (init.keepalive !== void 0) {
+          request2.keepalive = Boolean(init.keepalive);
+        }
+        if (init.method !== void 0) {
+          let method = init.method;
+          if (!isValidHTTPToken(method)) {
+            throw new TypeError(`'${method}' is not a valid HTTP method.`);
+          }
+          if (forbiddenMethodsSet.has(method.toUpperCase())) {
+            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          }
+          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
+          request2.method = method;
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        this[kSignal][kRealm] = this[kRealm];
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            throw new TypeError(
+              "Failed to construct 'Request': member signal is not of type AbortSignal."
+            );
+          }
+          if (signal.aborted) {
+            ac.abort(signal.reason);
+          } else {
+            this[kAbortController] = ac;
+            const acRef = new WeakRef(ac);
+            const abort = function() {
+              const ac2 = acRef.deref();
+              if (ac2 !== void 0) {
+                ac2.abort(this.reason);
+              }
+            };
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort });
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kHeadersList] = request2.headersList;
+        this[kHeaders][kGuard] = "request";
+        this[kHeaders][kRealm] = this[kRealm];
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          this[kHeaders][kGuard] = "request-no-cors";
+        }
+        if (initHasKey) {
+          const headersList = this[kHeaders][kHeadersList];
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const [key, val] of headers) {
+              headersList.append(key, val);
+            }
+            headersList.cookies = headers.cookies;
+          } else {
+            fillHeaders(this[kHeaders], headers);
+          }
+        }
+        const inputBody = input instanceof _Request ? input[kState].body : null;
+        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
+          throw new TypeError("Request with GET/HEAD method cannot have body.");
+        }
+        let initBody = null;
+        if (init.body != null) {
+          const [extractedBody, contentType] = extractBody(
+            init.body,
+            request2.keepalive
+          );
+          initBody = extractedBody;
+          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
+            this[kHeaders].append("content-type", contentType);
+          }
+        }
+        const inputOrInitBody = initBody ?? inputBody;
+        if (inputOrInitBody != null && inputOrInitBody.source == null) {
+          if (initBody != null && init.duplex == null) {
+            throw new TypeError("RequestInit: duplex option is required when sending a body.");
+          }
+          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
+            throw new TypeError(
+              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
+            );
+          }
+          request2.useCORSPreflightFlag = true;
+        }
+        let finalBody = inputOrInitBody;
+        if (initBody == null && inputBody != null) {
+          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          if (!TransformStream2) {
+            TransformStream2 = require("stream/web").TransformStream;
+          }
+          const identityTransform = new TransformStream2();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
+        }
+        this[kState].body = finalBody;
       }
-      var globber = glob2(options.cwd || ".", options);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
-    };
-    Archiver.prototype.finalize = function() {
-      if (this._state.aborted) {
-        var abortedError = new ArchiverError("ABORTED");
-        this.emit("error", abortedError);
-        return Promise.reject(abortedError);
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      if (this._state.finalize) {
-        var finalizingError = new ArchiverError("FINALIZING");
-        this.emit("error", finalizingError);
-        return Promise.reject(finalizingError);
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
       }
-      this._state.finalize = true;
-      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      // Returns a Headers object consisting of the headers associated with request.
+      // Note that headers added in the network layer by the user agent will not
+      // be accounted for in this object, e.g., the "Host" header.
+      get headers() {
+        webidl.brandCheck(this, _Request);
+        return this[kHeaders];
       }
-      var self2 = this;
-      return new Promise(function(resolve8, reject) {
-        var errored;
-        self2._module.on("end", function() {
-          if (!errored) {
-            resolve8();
-          }
-        });
-        self2._module.on("error", function(err) {
-          errored = true;
-          reject(err);
-        });
-      });
-    };
-    Archiver.prototype.setFormat = function(format) {
-      if (this._format) {
-        this.emit("error", new ArchiverError("FORMATSET"));
-        return this;
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
       }
-      this._format = format;
-      return this;
-    };
-    Archiver.prototype.setModule = function(module3) {
-      if (this._state.aborted) {
-        this.emit("error", new ArchiverError("ABORTED"));
-        return this;
+      // Returns the referrer of request. Its value can be a same-origin URL if
+      // explicitly set in init, the empty string to indicate no referrer, and
+      // "about:client" when defaulting to the global’s default. This is used
+      // during fetching to determine the value of the `Referer` header of the
+      // request being made.
+      get referrer() {
+        webidl.brandCheck(this, _Request);
+        if (this[kState].referrer === "no-referrer") {
+          return "";
+        }
+        if (this[kState].referrer === "client") {
+          return "about:client";
+        }
+        return this[kState].referrer.toString();
       }
-      if (this._state.module) {
-        this.emit("error", new ArchiverError("MODULESET"));
-        return this;
+      // Returns the referrer policy associated with request.
+      // This is used during fetching to compute the value of the request’s
+      // referrer.
+      get referrerPolicy() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].referrerPolicy;
       }
-      this._module = module3;
-      this._modulePipe();
-      return this;
-    };
-    Archiver.prototype.symlink = function(filepath, target, mode) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+      // Returns the mode associated with request, which is a string indicating
+      // whether the request will use CORS, or will be restricted to same-origin
+      // URLs.
+      get mode() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].mode;
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
-        return this;
+      // Returns the credentials mode associated with request,
+      // which is a string indicating whether credentials will be sent with the
+      // request always, never, or only when sent to a same-origin URL.
+      get credentials() {
+        return this[kState].credentials;
       }
-      if (typeof target !== "string" || target.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
-        return this;
+      // Returns the cache mode associated with request,
+      // which is a string indicating how the request will
+      // interact with the browser’s cache when fetching.
+      get cache() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].cache;
       }
-      if (!this._moduleSupports("symlink")) {
-        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
-        return this;
+      // Returns the redirect mode associated with request,
+      // which is a string indicating how redirects for the
+      // request will be handled during fetching. A request
+      // will follow redirects by default.
+      get redirect() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].redirect;
       }
-      var data = {};
-      data.type = "symlink";
-      data.name = filepath.replace(/\\/g, "/");
-      data.linkname = target.replace(/\\/g, "/");
-      data.sourceType = "buffer";
-      if (typeof mode === "number") {
-        data.mode = mode;
+      // Returns request’s subresource integrity metadata, which is a
+      // cryptographic hash of the resource being fetched. Its value
+      // consists of multiple hashes separated by whitespace. [SRI]
+      get integrity() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].integrity;
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source: Buffer.concat([])
-      });
-      return this;
-    };
-    Archiver.prototype.pointer = function() {
-      return this._pointer;
-    };
-    Archiver.prototype.use = function(plugin) {
-      this._streams.push(plugin);
-      return this;
-    };
-    module2.exports = Archiver;
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-entry.js
-var require_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
-    var ArchiveEntry = module2.exports = function() {
-    };
-    ArchiveEntry.prototype.getName = function() {
-    };
-    ArchiveEntry.prototype.getSize = function() {
-    };
-    ArchiveEntry.prototype.getLastModifiedDate = function() {
-    };
-    ArchiveEntry.prototype.isDirectory = function() {
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/util.js
-var require_util21 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
-    var util = module2.exports = {};
-    util.dateToDos = function(d, forceLocalTime) {
-      forceLocalTime = forceLocalTime || false;
-      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
-      if (year < 1980) {
-        return 2162688;
-      } else if (year >= 2044) {
-        return 2141175677;
+      // Returns a boolean indicating whether or not request can outlive the
+      // global in which it was created.
+      get keepalive() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].keepalive;
       }
-      var val = {
-        year,
-        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
-        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
-        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
-        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
-        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
-      };
-      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
-    };
-    util.dosToDate = function(dos) {
-      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
-    };
-    util.fromDosTime = function(buf) {
-      return util.dosToDate(buf.readUInt32LE(0));
-    };
-    util.getEightBytes = function(v) {
-      var buf = Buffer.alloc(8);
-      buf.writeUInt32LE(v % 4294967296, 0);
-      buf.writeUInt32LE(v / 4294967296 | 0, 4);
-      return buf;
-    };
-    util.getShortBytes = function(v) {
-      var buf = Buffer.alloc(2);
-      buf.writeUInt16LE((v & 65535) >>> 0, 0);
-      return buf;
-    };
-    util.getShortBytesValue = function(buf, offset) {
-      return buf.readUInt16LE(offset);
-    };
-    util.getLongBytes = function(v) {
-      var buf = Buffer.alloc(4);
-      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
-      return buf;
-    };
-    util.getLongBytesValue = function(buf, offset) {
-      return buf.readUInt32LE(offset);
-    };
-    util.toDosTime = function(d) {
-      return util.getLongBytes(util.dateToDos(d));
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
-var require_general_purpose_bit = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
-    var zipUtil = require_util21();
-    var DATA_DESCRIPTOR_FLAG = 1 << 3;
-    var ENCRYPTION_FLAG = 1 << 0;
-    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
-    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
-    var STRONG_ENCRYPTION_FLAG = 1 << 6;
-    var UFT8_NAMES_FLAG = 1 << 11;
-    var GeneralPurposeBit = module2.exports = function() {
-      if (!(this instanceof GeneralPurposeBit)) {
-        return new GeneralPurposeBit();
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      this.descriptor = false;
-      this.encryption = false;
-      this.utf8 = false;
-      this.numberOfShannonFanoTrees = 0;
-      this.strongEncryption = false;
-      this.slidingDictionarySize = 0;
-      return this;
-    };
-    GeneralPurposeBit.prototype.encode = function() {
-      return zipUtil.getShortBytes(
-        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
-      );
-    };
-    GeneralPurposeBit.prototype.parse = function(buf, offset) {
-      var flag = zipUtil.getShortBytesValue(buf, offset);
-      var gbp = new GeneralPurposeBit();
-      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
-      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
-      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
-      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
-      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
-      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
-      return gbp;
-    };
-    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
-      this.numberOfShannonFanoTrees = n;
-    };
-    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
-      return this.numberOfShannonFanoTrees;
-    };
-    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
-      this.slidingDictionarySize = n;
-    };
-    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
-      return this.slidingDictionarySize;
-    };
-    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
-      this.descriptor = b;
-    };
-    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
-      return this.descriptor;
-    };
-    GeneralPurposeBit.prototype.useEncryption = function(b) {
-      this.encryption = b;
-    };
-    GeneralPurposeBit.prototype.usesEncryption = function() {
-      return this.encryption;
-    };
-    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
-      this.strongEncryption = b;
-    };
-    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
-      return this.strongEncryption;
-    };
-    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
-      this.utf8 = b;
-    };
-    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
-      return this.utf8;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
-var require_unix_stat = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
-    module2.exports = {
-      /**
-       * Bits used for permissions (and sticky bit)
-       */
-      PERM_MASK: 4095,
-      // 07777
-      /**
-       * Bits used to indicate the filesystem object type.
-       */
-      FILE_TYPE_FLAG: 61440,
-      // 0170000
-      /**
-       * Indicates symbolic links.
-       */
-      LINK_FLAG: 40960,
-      // 0120000
-      /**
-       * Indicates plain files.
-       */
-      FILE_FLAG: 32768,
-      // 0100000
-      /**
-       * Indicates directories.
-       */
-      DIR_FLAG: 16384,
-      // 040000
-      // ----------------------------------------------------------
-      // somewhat arbitrary choices that are quite common for shared
-      // installations
-      // -----------------------------------------------------------
-      /**
-       * Default permissions for symbolic links.
-       */
-      DEFAULT_LINK_PERM: 511,
-      // 0777
-      /**
-       * Default permissions for directories.
-       */
-      DEFAULT_DIR_PERM: 493,
-      // 0755
-      /**
-       * Default permissions for plain files.
-       */
-      DEFAULT_FILE_PERM: 420
-      // 0644
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/constants.js
-var require_constants18 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
-    module2.exports = {
-      WORD: 4,
-      DWORD: 8,
-      EMPTY: Buffer.alloc(0),
-      SHORT: 2,
-      SHORT_MASK: 65535,
-      SHORT_SHIFT: 16,
-      SHORT_ZERO: Buffer.from(Array(2)),
-      LONG: 4,
-      LONG_ZERO: Buffer.from(Array(4)),
-      MIN_VERSION_INITIAL: 10,
-      MIN_VERSION_DATA_DESCRIPTOR: 20,
-      MIN_VERSION_ZIP64: 45,
-      VERSION_MADEBY: 45,
-      METHOD_STORED: 0,
-      METHOD_DEFLATED: 8,
-      PLATFORM_UNIX: 3,
-      PLATFORM_FAT: 0,
-      SIG_LFH: 67324752,
-      SIG_DD: 134695760,
-      SIG_CFH: 33639248,
-      SIG_EOCD: 101010256,
-      SIG_ZIP64_EOCD: 101075792,
-      SIG_ZIP64_EOCD_LOC: 117853008,
-      ZIP64_MAGIC_SHORT: 65535,
-      ZIP64_MAGIC: 4294967295,
-      ZIP64_EXTRA_ID: 1,
-      ZLIB_NO_COMPRESSION: 0,
-      ZLIB_BEST_SPEED: 1,
-      ZLIB_BEST_COMPRESSION: 9,
-      ZLIB_DEFAULT_COMPRESSION: -1,
-      MODE_MASK: 4095,
-      DEFAULT_FILE_MODE: 33188,
-      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-      DEFAULT_DIR_MODE: 16877,
-      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
-      EXT_FILE_ATTR_DIR: 1106051088,
-      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
-      EXT_FILE_ATTR_FILE: 2175008800,
-      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
-      // Unix file types
-      S_IFMT: 61440,
-      // 0170000 type of file mask
-      S_IFIFO: 4096,
-      // 010000 named pipe (fifo)
-      S_IFCHR: 8192,
-      // 020000 character special
-      S_IFDIR: 16384,
-      // 040000 directory
-      S_IFBLK: 24576,
-      // 060000 block special
-      S_IFREG: 32768,
-      // 0100000 regular
-      S_IFLNK: 40960,
-      // 0120000 symbolic link
-      S_IFSOCK: 49152,
-      // 0140000 socket
-      // DOS file type flags
-      S_DOS_A: 32,
-      // 040 Archive
-      S_DOS_D: 16,
-      // 020 Directory
-      S_DOS_V: 8,
-      // 010 Volume
-      S_DOS_S: 4,
-      // 04 System
-      S_DOS_H: 2,
-      // 02 Hidden
-      S_DOS_R: 1
-      // 01 Read Only
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
-var require_zip_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var normalizePath = require_normalize_path();
-    var ArchiveEntry = require_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var UnixStat = require_unix_stat();
-    var constants = require_constants18();
-    var zipUtil = require_util21();
-    var ZipArchiveEntry = module2.exports = function(name) {
-      if (!(this instanceof ZipArchiveEntry)) {
-        return new ZipArchiveEntry(name);
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-foward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
       }
-      ArchiveEntry.call(this);
-      this.platform = constants.PLATFORM_FAT;
-      this.method = -1;
-      this.name = null;
-      this.size = 0;
-      this.csize = 0;
-      this.gpb = new GeneralPurposeBit();
-      this.crc = 0;
-      this.time = -1;
-      this.minver = constants.MIN_VERSION_INITIAL;
-      this.mode = -1;
-      this.extra = null;
-      this.exattr = 0;
-      this.inattr = 0;
-      this.comment = null;
-      if (name) {
-        this.setName(name);
+      // Returns the signal associated with request, which is an AbortSignal
+      // object indicating whether or not request has been aborted, and its
+      // abort event handler.
+      get signal() {
+        webidl.brandCheck(this, _Request);
+        return this[kSignal];
       }
-    };
-    inherits(ZipArchiveEntry, ArchiveEntry);
-    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getComment = function() {
-      return this.comment !== null ? this.comment : "";
-    };
-    ZipArchiveEntry.prototype.getCompressedSize = function() {
-      return this.csize;
-    };
-    ZipArchiveEntry.prototype.getCrc = function() {
-      return this.crc;
-    };
-    ZipArchiveEntry.prototype.getExternalAttributes = function() {
-      return this.exattr;
-    };
-    ZipArchiveEntry.prototype.getExtra = function() {
-      return this.extra !== null ? this.extra : constants.EMPTY;
-    };
-    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
-      return this.gpb;
-    };
-    ZipArchiveEntry.prototype.getInternalAttributes = function() {
-      return this.inattr;
-    };
-    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
-      return this.getTime();
-    };
-    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getMethod = function() {
-      return this.method;
-    };
-    ZipArchiveEntry.prototype.getName = function() {
-      return this.name;
-    };
-    ZipArchiveEntry.prototype.getPlatform = function() {
-      return this.platform;
-    };
-    ZipArchiveEntry.prototype.getSize = function() {
-      return this.size;
-    };
-    ZipArchiveEntry.prototype.getTime = function() {
-      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
-    };
-    ZipArchiveEntry.prototype.getTimeDos = function() {
-      return this.time !== -1 ? this.time : 0;
-    };
-    ZipArchiveEntry.prototype.getUnixMode = function() {
-      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
-    };
-    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
-      return this.minver;
-    };
-    ZipArchiveEntry.prototype.setComment = function(comment) {
-      if (Buffer.byteLength(comment) !== comment.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      this.comment = comment;
-    };
-    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry compressed size");
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      this.csize = size;
-    };
-    ZipArchiveEntry.prototype.setCrc = function(crc) {
-      if (crc < 0) {
-        throw new Error("invalid entry crc32");
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-      this.crc = crc;
-    };
-    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
-      this.exattr = attr >>> 0;
-    };
-    ZipArchiveEntry.prototype.setExtra = function(extra) {
-      this.extra = extra;
-    };
-    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
-      if (!(gpb instanceof GeneralPurposeBit)) {
-        throw new Error("invalid entry GeneralPurposeBit");
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (this.bodyUsed || this.body?.locked) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const clonedRequestObject = new _Request(kConstruct);
+        clonedRequestObject[kState] = clonedRequest;
+        clonedRequestObject[kRealm] = this[kRealm];
+        clonedRequestObject[kHeaders] = new Headers(kConstruct);
+        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
+        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          util.addAbortListener(
+            this.signal,
+            () => {
+              ac.abort(this.signal.reason);
+            }
+          );
+        }
+        clonedRequestObject[kSignal] = ac.signal;
+        return clonedRequestObject;
       }
-      this.gpb = gpb;
-    };
-    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
-      this.inattr = attr;
     };
-    ZipArchiveEntry.prototype.setMethod = function(method) {
-      if (method < 0) {
-        throw new Error("invalid entry compression method");
+    mixinBody(Request);
+    function makeRequest(init) {
+      const request2 = {
+        method: "GET",
+        localURLsOnly: false,
+        unsafeRequest: false,
+        body: null,
+        client: null,
+        reservedClient: null,
+        replacesClientId: "",
+        window: "client",
+        keepalive: false,
+        serviceWorkers: "all",
+        initiator: "",
+        destination: "",
+        priority: null,
+        origin: "client",
+        policyContainer: "client",
+        referrer: "client",
+        referrerPolicy: "",
+        mode: "no-cors",
+        useCORSPreflightFlag: false,
+        credentials: "same-origin",
+        useCredentials: false,
+        cache: "default",
+        redirect: "follow",
+        integrity: "",
+        cryptoGraphicsNonceMetadata: "",
+        parserMetadata: "",
+        reloadNavigation: false,
+        historyNavigation: false,
+        userActivation: false,
+        taintedOrigin: false,
+        redirectCount: 0,
+        responseTainting: "basic",
+        preventNoCacheCacheControlHeaderModification: false,
+        done: false,
+        timingAllowFailed: false,
+        ...init,
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+      request2.url = request2.urlList[0];
+      return request2;
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(request2.body);
       }
-      this.method = method;
-    };
-    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
-      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-      if (prependSlash) {
-        name = `/${name}`;
+      return newRequest;
+    }
+    Object.defineProperties(Request.prototype, {
+      method: kEnumerableProperty,
+      url: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      signal: kEnumerableProperty,
+      duplex: kEnumerableProperty,
+      destination: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      isHistoryNavigation: kEnumerableProperty,
+      isReloadNavigation: kEnumerableProperty,
+      keepalive: kEnumerableProperty,
+      integrity: kEnumerableProperty,
+      cache: kEnumerableProperty,
+      credentials: kEnumerableProperty,
+      attribute: kEnumerableProperty,
+      referrerPolicy: kEnumerableProperty,
+      referrer: kEnumerableProperty,
+      mode: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Request",
+        configurable: true
       }
-      if (Buffer.byteLength(name) !== name.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      this.name = name;
-    };
-    ZipArchiveEntry.prototype.setPlatform = function(platform) {
-      this.platform = platform;
-    };
-    ZipArchiveEntry.prototype.setSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry size");
+      if (V instanceof Request) {
+        return webidl.converters.Request(V);
       }
-      this.size = size;
+      return webidl.converters.USVString(V);
     };
-    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
-      if (!(time instanceof Date)) {
-        throw new Error("invalid entry time");
+    webidl.converters.AbortSignal = webidl.interfaceConverter(
+      AbortSignal
+    );
+    webidl.converters.RequestInit = webidl.dictionaryConverter([
+      {
+        key: "method",
+        converter: webidl.converters.ByteString
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      },
+      {
+        key: "body",
+        converter: webidl.nullableConverter(
+          webidl.converters.BodyInit
+        )
+      },
+      {
+        key: "referrer",
+        converter: webidl.converters.USVString
+      },
+      {
+        key: "referrerPolicy",
+        converter: webidl.converters.DOMString,
+        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
+        allowedValues: referrerPolicy
+      },
+      {
+        key: "mode",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#concept-request-mode
+        allowedValues: requestMode
+      },
+      {
+        key: "credentials",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcredentials
+        allowedValues: requestCredentials
+      },
+      {
+        key: "cache",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcache
+        allowedValues: requestCache
+      },
+      {
+        key: "redirect",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestredirect
+        allowedValues: requestRedirect
+      },
+      {
+        key: "integrity",
+        converter: webidl.converters.DOMString
+      },
+      {
+        key: "keepalive",
+        converter: webidl.converters.boolean
+      },
+      {
+        key: "signal",
+        converter: webidl.nullableConverter(
+          (signal) => webidl.converters.AbortSignal(
+            signal,
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
       }
-      this.time = zipUtil.dateToDos(time, forceLocalTime);
-    };
-    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
-      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
-      var extattr = 0;
-      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
-      this.setExternalAttributes(extattr);
-      this.mode = mode & constants.MODE_MASK;
-      this.platform = constants.PLATFORM_UNIX;
-    };
-    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
-      this.minver = minver;
-    };
-    ZipArchiveEntry.prototype.isDirectory = function() {
-      return this.getName().slice(-1) === "/";
-    };
-    ZipArchiveEntry.prototype.isUnixSymlink = function() {
-      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
-    };
-    ZipArchiveEntry.prototype.isZip64 = function() {
-      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
-    };
+    ]);
+    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/compress-commons/node_modules/is-stream/index.js
-var require_is_stream2 = __commonJS({
-  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/index.js
+var require_fetch3 = __commonJS({
+  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
     "use strict";
-    var isStream = (stream2) => stream2 !== null && typeof stream2 === "object" && typeof stream2.pipe === "function";
-    isStream.writable = (stream2) => isStream(stream2) && stream2.writable !== false && typeof stream2._write === "function" && typeof stream2._writableState === "object";
-    isStream.readable = (stream2) => isStream(stream2) && stream2.readable !== false && typeof stream2._read === "function" && typeof stream2._readableState === "object";
-    isStream.duplex = (stream2) => isStream.writable(stream2) && isStream.readable(stream2);
-    isStream.transform = (stream2) => isStream.duplex(stream2) && typeof stream2._transform === "function";
-    module2.exports = isStream;
-  }
-});
-
-// node_modules/compress-commons/lib/util/index.js
-var require_util22 = __commonJS({
-  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var isStream = require_is_stream2();
-    var util = module2.exports = {};
-    util.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (isStream(source) && !source._readableState) {
-        var normalized = new PassThrough();
-        source.pipe(normalized);
-        return normalized;
+    var {
+      Response,
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse
+    } = require_response4();
+    var { Headers } = require_headers4();
+    var { Request, makeRequest } = require_request6();
+    var zlib3 = require("zlib");
+    var {
+      bytesMatch,
+      makePolicyContainer,
+      clonePolicyContainer,
+      requestBadPort,
+      TAOCheck,
+      appendRequestOriginHeader,
+      responseLocationURL,
+      requestCurrentURL,
+      setRequestReferrerPolicyOnRedirect,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      createOpaqueTimingInfo,
+      appendFetchMetadata,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      determineRequestsReferrer,
+      coarsenedSharedCurrentTime,
+      createDeferredPromise,
+      isBlobLike,
+      sameOrigin,
+      isCancelled,
+      isAborted,
+      isErrorLike,
+      fullyReadBody,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlIsHttpHttpsScheme,
+      urlHasHttpsScheme
+    } = require_util25();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var assert = require("assert");
+    var { safelyExtractBody } = require_body3();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet,
+      DOMException: DOMException2
+    } = require_constants21();
+    var { kHeadersList } = require_symbols11();
+    var EE = require("events");
+    var { Readable: Readable2, pipeline } = require("stream");
+    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util24();
+    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
+    var { TransformStream: TransformStream2 } = require("stream/web");
+    var { getGlobalDispatcher } = require_global6();
+    var { webidl } = require_webidl3();
+    var { STATUS_CODES } = require("http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var resolveObjectURL;
+    var ReadableStream2 = globalThis.ReadableStream;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
+        this.setMaxListeners(21);
       }
-      return source;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-output-stream.js
-var require_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var isStream = require_is_stream2();
-    var Transform = require_ours().Transform;
-    var ArchiveEntry = require_archive_entry();
-    var util = require_util22();
-    var ArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ArchiveOutputStream)) {
-        return new ArchiveOutputStream(options);
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      Transform.call(this, options);
-      this.offset = 0;
-      this._archive = {
-        finish: false,
-        finished: false,
-        processing: false
-      };
-    };
-    inherits(ArchiveOutputStream, Transform);
-    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
-      if (err) {
-        this.emit("error", err);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException2("The operation was aborted.", "AbortError");
+        }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
     };
-    ArchiveOutputStream.prototype._finish = function(ae) {
-    };
-    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-    };
-    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
-    };
-    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
-      source = source || null;
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+    function fetch(input, init = {}) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
+      const p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      if (!(ae instanceof ArchiveEntry)) {
-        callback(new Error("not a valid instance of ArchiveEntry"));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
+      }
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
+      }
+      let responseObject = null;
+      const relevantRealm = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+        }
+      );
+      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return Promise.resolve();
+        }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return Promise.resolve();
+        }
+        if (response.type === "error") {
+          p.reject(
+            Object.assign(new TypeError("fetch failed"), { cause: response.error })
+          );
+          return Promise.resolve();
+        }
+        responseObject = new Response();
+        responseObject[kState] = response;
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = response.headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        p.resolve(responseObject);
+      };
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
         return;
       }
-      if (this._archive.finish || this._archive.finished) {
-        callback(new Error("unacceptable entry after finish"));
+      if (!response.urlList?.length) {
         return;
       }
-      if (this._archive.processing) {
-        callback(new Error("already processing an entry"));
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
         return;
       }
-      this._archive.processing = true;
-      this._normalizeEntry(ae);
-      this._entry = ae;
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        this._appendBuffer(ae, source, callback);
-      } else if (isStream(source)) {
-        this._appendStream(ae, source, callback);
-      } else {
-        this._archive.processing = false;
-        callback(new Error("input source must be valid Stream or Buffer instance"));
+      if (timingInfo === null) {
         return;
       }
-      return this;
-    };
-    ArchiveOutputStream.prototype.finish = function() {
-      if (this._archive.processing) {
-        this._archive.finish = true;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
+    }
+    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
+      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
+        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+      }
+    }
+    function abortFetch(p, request2, responseObject, error3) {
+      if (!error3) {
+        error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      p.reject(error3);
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
+      }
+      if (responseObject == null) {
         return;
       }
-      this._finish();
-    };
-    ArchiveOutputStream.prototype.getBytesWritten = function() {
-      return this.offset;
-    };
-    ArchiveOutputStream.prototype.write = function(chunk, cb) {
-      if (chunk) {
-        this.offset += chunk.length;
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return Transform.prototype.write.call(this, chunk, cb);
-    };
-  }
-});
-
-// node_modules/crc-32/crc32.js
-var require_crc32 = __commonJS({
-  "node_modules/crc-32/crc32.js"(exports2) {
-    var CRC32;
-    (function(factory) {
-      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
-        if ("object" === typeof exports2) {
-          factory(exports2);
-        } else if ("function" === typeof define && define.amd) {
-          define(function() {
-            var module3 = {};
-            factory(module3);
-            return module3;
-          });
-        } else {
-          factory(CRC32 = {});
-        }
-      } else {
-        factory(CRC32 = {});
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher
+      // undici
+    }) {
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-    })(function(CRC322) {
-      CRC322.version = "1.2.2";
-      function signed_crc_table() {
-        var c = 0, table = new Array(256);
-        for (var n = 0; n != 256; ++n) {
-          c = n;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          table[n] = c;
-        }
-        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
+      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currenTime
+      });
+      const fetchParams = {
+        controller: new Fetch(dispatcher),
+        request: request2,
+        timingInfo,
+        processRequestBodyChunkLength,
+        processRequestEndOfBody,
+        processResponse,
+        processResponseConsumeBody,
+        processResponseEndOfBody,
+        taskDestination,
+        crossOriginIsolatedCapability
+      };
+      assert(!request2.body || request2.body.stream);
+      if (request2.window === "client") {
+        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
-      var T0 = signed_crc_table();
-      function slice_by_16_tables(T) {
-        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
-        for (n = 0; n != 256; ++n) table[n] = T[n];
-        for (n = 0; n != 256; ++n) {
-          v = T[n];
-          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
+      if (request2.origin === "client") {
+        request2.origin = request2.client?.origin;
+      }
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        var out = [];
-        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
-        return out;
       }
-      var TT = slice_by_16_tables(T0);
-      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
-      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
-      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
-      function crc32_bstr(bstr, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
-        return ~C;
+      if (!request2.headersList.contains("accept")) {
+        const value = "*/*";
+        request2.headersList.append("accept", value);
       }
-      function crc32_buf(B, seed) {
-        var C = seed ^ -1, L = B.length - 15, i = 0;
-        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
-        L += 15;
-        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
-        return ~C;
+      if (!request2.headersList.contains("accept-language")) {
+        request2.headersList.append("accept-language", "*");
       }
-      function crc32_str(str2, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
-          c = str2.charCodeAt(i++);
-          if (c < 128) {
-            C = C >>> 8 ^ T0[(C ^ c) & 255];
-          } else if (c < 2048) {
-            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          } else if (c >= 55296 && c < 57344) {
-            c = (c & 1023) + 64;
-            d = str2.charCodeAt(i++) & 1023;
-            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
-          } else {
-            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          }
-        }
-        return ~C;
+      if (request2.priority === null) {
       }
-      CRC322.table = T0;
-      CRC322.bstr = crc32_bstr;
-      CRC322.buf = crc32_buf;
-      CRC322.str = crc32_str;
-    });
-  }
-});
-
-// node_modules/crc32-stream/lib/crc32-stream.js
-var require_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require_ours();
-    var crc32 = require_crc32();
-    var CRC32Stream = class extends Transform {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
+      if (subresourceSet.has(request2.destination)) {
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
-        }
-        callback(null, chunk);
+      mainFetch(fetchParams).catch((err) => {
+        fetchParams.controller.terminate(err);
+      });
+      return fetchParams.controller;
+    }
+    async function mainFetch(fetchParams, recursive = false) {
+      const request2 = fetchParams.request;
+      let response = null;
+      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
+        response = makeNetworkError("local URLs only");
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
       }
-      size() {
-        return this.rawSize;
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
       }
-    };
-    module2.exports = CRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/deflate-crc32-stream.js
-var require_deflate_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { DeflateRaw } = require("zlib");
-    var crc32 = require_crc32();
-    var DeflateCRC32Stream = class extends DeflateRaw {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
-        this.compressedSize = 0;
+      if (response === null) {
+        response = await (async () => {
+          const currentURL = requestCurrentURL(request2);
+          if (
+            // - request’s current URL’s origin is same origin with request’s origin,
+            //   and request’s response tainting is "basic"
+            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
+            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
+            (request2.mode === "navigate" || request2.mode === "websocket")
+          ) {
+            request2.responseTainting = "basic";
+            return await schemeFetch(fetchParams);
+          }
+          if (request2.mode === "same-origin") {
+            return makeNetworkError('request mode cannot be "same-origin"');
+          }
+          if (request2.mode === "no-cors") {
+            if (request2.redirect !== "follow") {
+              return makeNetworkError(
+                'redirect mode cannot be "follow" for "no-cors" request'
+              );
+            }
+            request2.responseTainting = "opaque";
+            return await schemeFetch(fetchParams);
+          }
+          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
+            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          }
+          request2.responseTainting = "cors";
+          return await httpFetch(fetchParams);
+        })();
       }
-      push(chunk, encoding) {
-        if (chunk) {
-          this.compressedSize += chunk.length;
-        }
-        return super.push(chunk, encoding);
+      if (recursive) {
+        return response;
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
+        }
+        if (request2.responseTainting === "basic") {
+          response = filterResponse(response, "basic");
+        } else if (request2.responseTainting === "cors") {
+          response = filterResponse(response, "cors");
+        } else if (request2.responseTainting === "opaque") {
+          response = filterResponse(response, "opaque");
+        } else {
+          assert(false);
         }
-        super._transform(chunk, encoding, callback);
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
       }
-      size(compressed = false) {
-        if (compressed) {
-          return this.compressedSize;
-        } else {
-          return this.rawSize;
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+        response = internalResponse = makeNetworkError();
+      }
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
+      }
+      if (request2.integrity) {
+        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
+        if (request2.responseTainting === "opaque" || response.body == null) {
+          processBodyError(response.error);
+          return;
         }
+        const processBody = (bytes) => {
+          if (!bytesMatch(bytes, request2.integrity)) {
+            processBodyError("integrity mismatch");
+            return;
+          }
+          response.body = safelyExtractBody(bytes)[0];
+          fetchFinale(fetchParams, response);
+        };
+        await fullyReadBody(response.body, processBody, processBodyError);
+      } else {
+        fetchFinale(fetchParams, response);
       }
-    };
-    module2.exports = DeflateCRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/index.js
-var require_lib3 = __commonJS({
-  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      CRC32Stream: require_crc32_stream(),
-      DeflateCRC32Stream: require_deflate_crc32_stream()
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
-var require_zip_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var crc32 = require_crc32();
-    var { CRC32Stream } = require_lib3();
-    var { DeflateCRC32Stream } = require_lib3();
-    var ArchiveOutputStream = require_archive_output_stream();
-    var ZipArchiveEntry = require_zip_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var constants = require_constants18();
-    var util = require_util22();
-    var zipUtil = require_util21();
-    var ZipArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ZipArchiveOutputStream)) {
-        return new ZipArchiveOutputStream(options);
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
       }
-      options = this.options = this._defaults(options);
-      ArchiveOutputStream.call(this, options);
-      this._entry = null;
-      this._entries = [];
-      this._archive = {
-        centralLength: 0,
-        centralOffset: 0,
-        comment: "",
-        finish: false,
-        finished: false,
-        processing: false,
-        forceZip64: options.forceZip64,
-        forceLocalTime: options.forceLocalTime
-      };
-    };
-    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
-    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
-      this._entries.push(ae);
-      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
-        this._writeDataDescriptor(ae);
+      const { request: request2 } = fetchParams;
+      const { protocol: scheme } = requestCurrentURL(request2);
+      switch (scheme) {
+        case "about:": {
+          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+        }
+        case "blob:": {
+          if (!resolveObjectURL) {
+            resolveObjectURL = require("buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const bodyWithType = safelyExtractBody(blobURLEntryObject);
+          const body = bodyWithType[0];
+          const length = isomorphicEncode(`${body.length}`);
+          const type2 = bodyWithType[1] ?? "";
+          const response = makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-length", { name: "Content-Length", value: length }],
+              ["content-type", { name: "Content-Type", value: type2 }]
+            ]
+          });
+          response.body = body;
+          return Promise.resolve(response);
+        }
+        case "data:": {
+          const currentURL = requestCurrentURL(request2);
+          const dataURLStruct = dataURLProcessor(currentURL);
+          if (dataURLStruct === "failure") {
+            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+          }
+          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
+          return Promise.resolve(makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-type", { name: "Content-Type", value: mimeType }]
+            ],
+            body: safelyExtractBody(dataURLStruct.body)[0]
+          }));
+        }
+        case "file:": {
+          return Promise.resolve(makeNetworkError("not implemented... yet..."));
+        }
+        case "http:":
+        case "https:": {
+          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        }
+        default: {
+          return Promise.resolve(makeNetworkError("unknown scheme"));
+        }
       }
-      this._archive.processing = false;
-      this._entry = null;
-      if (this._archive.finish && !this._archive.finished) {
-        this._finish();
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
       }
-    };
-    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
-      if (source.length === 0) {
-        ae.setMethod(constants.METHOD_STORED);
+    }
+    function fetchFinale(fetchParams, response) {
+      if (response.type === "error") {
+        response.urlList = [fetchParams.request.urlList[0]];
+        response.timingInfo = createOpaqueTimingInfo({
+          startTime: fetchParams.timingInfo.startTime
+        });
       }
-      var method = ae.getMethod();
-      if (method === constants.METHOD_STORED) {
-        ae.setSize(source.length);
-        ae.setCompressedSize(source.length);
-        ae.setCrc(crc32.buf(source) >>> 0);
+      const processResponseEndOfBody = () => {
+        fetchParams.request.done = true;
+        if (fetchParams.processResponseEndOfBody != null) {
+          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        }
+      };
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => fetchParams.processResponse(response));
       }
-      this._writeLocalFileHeader(ae);
-      if (method === constants.METHOD_STORED) {
-        this.write(source);
-        this._afterAppend(ae);
-        callback(null, ae);
-        return;
-      } else if (method === constants.METHOD_DEFLATED) {
-        this._smartStream(ae, callback).end(source);
-        return;
+      if (response.body == null) {
+        processResponseEndOfBody();
       } else {
-        callback(new Error("compression method " + method + " not implemented"));
-        return;
+        const identityTransformAlgorithm = (chunk, controller) => {
+          controller.enqueue(chunk);
+        };
+        const transformStream = new TransformStream2({
+          start() {
+          },
+          transform: identityTransformAlgorithm,
+          flush: processResponseEndOfBody
+        }, {
+          size() {
+            return 1;
+          }
+        }, {
+          size() {
+            return 1;
+          }
+        });
+        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
       }
-    };
-    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
-      ae.getGeneralPurposeBit().useDataDescriptor(true);
-      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
-      this._writeLocalFileHeader(ae);
-      var smart = this._smartStream(ae, callback);
-      source.once("error", function(err) {
-        smart.emit("error", err);
-        smart.end();
-      });
-      source.pipe(smart);
-    };
-    ZipArchiveOutputStream.prototype._defaults = function(o) {
-      if (typeof o !== "object") {
-        o = {};
+      if (fetchParams.processResponseConsumeBody != null) {
+        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
+        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
+        if (response.body == null) {
+          queueMicrotask(() => processBody(null));
+        } else {
+          return fullyReadBody(response.body, processBody, processBodyError);
+        }
+        return Promise.resolve();
       }
-      if (typeof o.zlib !== "object") {
-        o.zlib = {};
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      if (typeof o.zlib.level !== "number") {
-        o.zlib.level = constants.ZLIB_BEST_SPEED;
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
+        }
+        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
+        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
+          return makeNetworkError("cors failure");
+        }
+        if (TAOCheck(request2, response) === "failure") {
+          request2.timingAllowFailed = true;
+        }
       }
-      o.forceZip64 = !!o.forceZip64;
-      o.forceLocalTime = !!o.forceLocalTime;
-      return o;
-    };
-    ZipArchiveOutputStream.prototype._finish = function() {
-      this._archive.centralOffset = this.offset;
-      this._entries.forEach(function(ae) {
-        this._writeCentralFileHeader(ae);
-      }.bind(this));
-      this._archive.centralLength = this.offset - this._archive.centralOffset;
-      if (this.isZip64()) {
-        this._writeCentralDirectoryZip64();
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      this._writeCentralDirectoryEnd();
-      this._archive.processing = false;
-      this._archive.finish = true;
-      this._archive.finished = true;
-      this.end();
-    };
-    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-      if (ae.getMethod() === -1) {
-        ae.setMethod(constants.METHOD_DEFLATED);
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy();
+        }
+        if (request2.redirect === "error") {
+          response = makeNetworkError("unexpected redirect");
+        } else if (request2.redirect === "manual") {
+          response = actualResponse;
+        } else if (request2.redirect === "follow") {
+          response = await httpRedirectFetch(fetchParams, response);
+        } else {
+          assert(false);
+        }
       }
-      if (ae.getMethod() === constants.METHOD_DEFLATED) {
-        ae.getGeneralPurposeBit().useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      response.timingInfo = timingInfo;
+      return response;
+    }
+    function httpRedirectFetch(fetchParams, response) {
+      const request2 = fetchParams.request;
+      const actualResponse = response.internalResponse ? response.internalResponse : response;
+      let locationURL;
+      try {
+        locationURL = responseLocationURL(
+          actualResponse,
+          requestCurrentURL(request2).hash
+        );
+        if (locationURL == null) {
+          return response;
+        }
+      } catch (err) {
+        return Promise.resolve(makeNetworkError(err));
       }
-      if (ae.getTime() === -1) {
-        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
       }
-      ae._offsets = {
-        file: 0,
-        data: 0,
-        contents: 0
-      };
-    };
-    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
-      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
-      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
-      var error3 = null;
-      function handleStuff() {
-        var digest = process2.digest().readUInt32BE(0);
-        ae.setCrc(digest);
-        ae.setSize(process2.size());
-        ae.setCompressedSize(process2.size(true));
-        this._afterAppend(ae);
-        callback(error3, ae);
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
       }
-      process2.once("end", handleStuff.bind(this));
-      process2.once("error", function(err) {
-        error3 = err;
-      });
-      process2.pipe(this, { end: false });
-      return process2;
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
-      var records = this._entries.length;
-      var size = this._archive.centralLength;
-      var offset = this._archive.centralOffset;
-      if (this.isZip64()) {
-        records = constants.ZIP64_MAGIC_SHORT;
-        size = constants.ZIP64_MAGIC;
-        offset = constants.ZIP64_MAGIC;
+      request2.redirectCount += 1;
+      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
+        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
       }
-      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
-      this.write(constants.SHORT_ZERO);
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getLongBytes(size));
-      this.write(zipUtil.getLongBytes(offset));
-      var comment = this.getComment();
-      var commentLength = Buffer.byteLength(comment);
-      this.write(zipUtil.getShortBytes(commentLength));
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
-      this.write(zipUtil.getEightBytes(44));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(constants.LONG_ZERO);
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._archive.centralLength));
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
-      this.write(zipUtil.getLongBytes(1));
-    };
-    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var fileOffset = ae._offsets.file;
-      var size = ae.getSize();
-      var compressedSize = ae.getCompressedSize();
-      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
-        size = constants.ZIP64_MAGIC;
-        compressedSize = constants.ZIP64_MAGIC;
-        fileOffset = constants.ZIP64_MAGIC;
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
-        var extraBuf = Buffer.concat([
-          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
-          zipUtil.getShortBytes(24),
-          zipUtil.getEightBytes(ae.getSize()),
-          zipUtil.getEightBytes(ae.getCompressedSize()),
-          zipUtil.getEightBytes(ae._offsets.file)
-        ], 28);
-        ae.setExtra(extraBuf);
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
       }
-      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
-      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      this.write(zipUtil.getLongBytes(compressedSize));
-      this.write(zipUtil.getLongBytes(size));
-      var name = ae.getName();
-      var comment = ae.getComment();
-      var extra = ae.getCentralDirectoryExtra();
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
-        comment = Buffer.from(comment);
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(zipUtil.getShortBytes(comment.length));
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
-      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
-      this.write(zipUtil.getLongBytes(fileOffset));
-      this.write(name);
-      this.write(extra);
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
-      this.write(zipUtil.getLongBytes(constants.SIG_DD));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      if (ae.isZip64()) {
-        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getEightBytes(ae.getSize()));
-      } else {
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
+        request2.method = "GET";
+        request2.body = null;
+        for (const headerName of requestBodyHeader) {
+          request2.headersList.delete(headerName);
+        }
       }
-    };
-    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var name = ae.getName();
-      var extra = ae.getLocalFileDataExtra();
-      if (ae.isZip64()) {
-        gpb.useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization");
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie");
+        request2.headersList.delete("host");
       }
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
       }
-      ae._offsets.file = this.offset;
-      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      ae._offsets.data = this.offset;
-      if (gpb.usesDataDescriptor()) {
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
+      }
+      request2.urlList.push(locationURL);
+      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
+      return mainFetch(fetchParams, true);
+    }
+    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
+      const request2 = fetchParams.request;
+      let httpFetchParams = null;
+      let httpRequest = null;
+      let response = null;
+      const httpCache = null;
+      const revalidatingFlag = false;
+      if (request2.window === "no-window" && request2.redirect === "error") {
+        httpFetchParams = fetchParams;
+        httpRequest = request2;
       } else {
-        this.write(zipUtil.getLongBytes(ae.getCrc()));
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+        httpRequest = makeRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(name);
-      this.write(extra);
-      ae._offsets.contents = this.offset;
-    };
-    ZipArchiveOutputStream.prototype.getComment = function(comment) {
-      return this._archive.comment !== null ? this._archive.comment : "";
-    };
-    ZipArchiveOutputStream.prototype.isZip64 = function() {
-      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
-    };
-    ZipArchiveOutputStream.prototype.setComment = function(comment) {
-      this._archive.comment = comment;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/compress-commons.js
-var require_compress_commons = __commonJS({
-  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
-    module2.exports = {
-      ArchiveEntry: require_archive_entry(),
-      ZipArchiveEntry: require_zip_archive_entry(),
-      ArchiveOutputStream: require_archive_output_stream(),
-      ZipArchiveOutputStream: require_zip_archive_output_stream()
-    };
-  }
-});
-
-// node_modules/zip-stream/index.js
-var require_zip_stream = __commonJS({
-  "node_modules/zip-stream/index.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
-    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
-    var util = require_archiver_utils();
-    var ZipStream = module2.exports = function(options) {
-      if (!(this instanceof ZipStream)) {
-        return new ZipStream(options);
+      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
+      const contentLength = httpRequest.body ? httpRequest.body.length : null;
+      let contentLengthHeaderValue = null;
+      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
+        contentLengthHeaderValue = "0";
       }
-      options = this.options = options || {};
-      options.zlib = options.zlib || {};
-      ZipArchiveOutputStream.call(this, options);
-      if (typeof options.level === "number" && options.level >= 0) {
-        options.zlib.level = options.level;
-        delete options.level;
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
-        options.store = true;
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
       }
-      options.namePrependSlash = options.namePrependSlash || false;
-      if (options.comment && options.comment.length > 0) {
-        this.setComment(options.comment);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-    };
-    inherits(ZipStream, ZipArchiveOutputStream);
-    ZipStream.prototype._normalizeFileData = function(data) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        namePrependSlash: this.options.namePrependSlash,
-        linkname: null,
-        date: null,
-        mode: null,
-        store: this.options.store,
-        comment: ""
-      });
-      var isDir = data.type === "directory";
-      var isSymlink = data.type === "symlink";
-      if (data.name) {
-        data.name = util.sanitizePath(data.name);
-        if (!isSymlink && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
-        }
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
       }
-      if (isDir || isSymlink) {
-        data.store = true;
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent")) {
+        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
       }
-      data.date = util.dateify(data.date);
-      return data;
-    };
-    ZipStream.prototype.entry = function(source, data, callback) {
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+        httpRequest.cache = "no-store";
       }
-      data = this._normalizeFileData(data);
-      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
-        callback(new Error(data.type + " entries not currently supported"));
-        return;
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
+        httpRequest.headersList.append("cache-control", "max-age=0");
       }
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        callback(new Error("entry name must be a non-empty string value"));
-        return;
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma")) {
+          httpRequest.headersList.append("pragma", "no-cache");
+        }
+        if (!httpRequest.headersList.contains("cache-control")) {
+          httpRequest.headersList.append("cache-control", "no-cache");
+        }
       }
-      if (data.type === "symlink" && typeof data.linkname !== "string") {
-        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
-        return;
+      if (httpRequest.headersList.contains("range")) {
+        httpRequest.headersList.append("accept-encoding", "identity");
       }
-      var entry = new ZipArchiveEntry(data.name);
-      entry.setTime(data.date, this.options.forceLocalTime);
-      if (data.namePrependSlash) {
-        entry.setName(data.name, true);
+      if (!httpRequest.headersList.contains("accept-encoding")) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+        } else {
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+        }
       }
-      if (data.store) {
-        entry.setMethod(0);
+      httpRequest.headersList.delete("host");
+      if (includeCredentials) {
       }
-      if (data.comment.length > 0) {
-        entry.setComment(data.comment);
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      if (data.type === "symlink" && typeof data.mode !== "number") {
-        data.mode = 40960;
+      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
       }
-      if (typeof data.mode === "number") {
-        if (data.type === "symlink") {
-          data.mode |= 40960;
+      if (response == null) {
+        if (httpRequest.mode === "only-if-cached") {
+          return makeNetworkError("only if cached");
+        }
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
+        }
+        if (revalidatingFlag && forwardResponse.status === 304) {
+        }
+        if (response == null) {
+          response = forwardResponse;
         }
-        entry.setUnixMode(data.mode);
-      }
-      if (data.type === "symlink" && typeof data.linkname === "string") {
-        source = Buffer.from(data.linkname);
       }
-      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
-    };
-    ZipStream.prototype.finalize = function() {
-      this.finish();
-    };
-  }
-});
-
-// node_modules/archiver/lib/plugins/zip.js
-var require_zip = __commonJS({
-  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
-    var engine = require_zip_stream();
-    var util = require_archiver_utils();
-    var Zip = function(options) {
-      if (!(this instanceof Zip)) {
-        return new Zip(options);
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range")) {
+        response.rangeRequested = true;
       }
-      options = this.options = util.defaults(options, {
-        comment: "",
-        forceUTC: false,
-        namePrependSlash: false,
-        store: false
-      });
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = new engine(options);
-    };
-    Zip.prototype.append = function(source, data, callback) {
-      this.engine.entry(source, data, callback);
-    };
-    Zip.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Zip.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Zip.prototype.pipe = function() {
-      return this.engine.pipe.apply(this.engine, arguments);
-    };
-    Zip.prototype.unpipe = function() {
-      return this.engine.unpipe.apply(this.engine, arguments);
-    };
-    module2.exports = Zip;
-  }
-});
-
-// node_modules/queue-tick/queue-microtask.js
-var require_queue_microtask = __commonJS({
-  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
-    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
-  }
-});
-
-// node_modules/queue-tick/process-next-tick.js
-var require_process_next_tick = __commonJS({
-  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
-    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
-  }
-});
-
-// node_modules/fast-fifo/fixed-size.js
-var require_fixed_size = __commonJS({
-  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
-    module2.exports = class FixedFIFO {
-      constructor(hwm) {
-        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
-        this.buffer = new Array(hwm);
-        this.mask = hwm - 1;
-        this.top = 0;
-        this.btm = 0;
-        this.next = null;
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
+        }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        return makeNetworkError("proxy authentication required");
       }
-      clear() {
-        this.top = this.btm = 0;
-        this.next = null;
-        this.buffer.fill(void 0);
+      if (
+        // response’s status is 421
+        response.status === 421 && // isNewConnectionFetch is false
+        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
+        (request2.body == null || request2.body.source != null)
+      ) {
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        fetchParams.controller.connection.destroy();
+        response = await httpNetworkOrCacheFetch(
+          fetchParams,
+          isAuthenticationFetch,
+          true
+        );
       }
-      push(data) {
-        if (this.buffer[this.top] !== void 0) return false;
-        this.buffer[this.top] = data;
-        this.top = this.top + 1 & this.mask;
-        return true;
+      if (isAuthenticationFetch) {
       }
-      shift() {
-        const last = this.buffer[this.btm];
-        if (last === void 0) return void 0;
-        this.buffer[this.btm] = void 0;
-        this.btm = this.btm + 1 & this.mask;
-        return last;
+      return response;
+    }
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+          }
+        }
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      peek() {
-        return this.buffer[this.btm];
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      isEmpty() {
-        return this.buffer[this.btm] === void 0;
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
       }
-    };
-  }
-});
-
-// node_modules/fast-fifo/index.js
-var require_fast_fifo = __commonJS({
-  "node_modules/fast-fifo/index.js"(exports2, module2) {
-    var FixedFIFO = require_fixed_size();
-    module2.exports = class FastFIFO {
-      constructor(hwm) {
-        this.hwm = hwm || 16;
-        this.head = new FixedFIFO(this.hwm);
-        this.tail = this.head;
-        this.length = 0;
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
+        }
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
+        }
+        return makeNetworkError(err);
       }
-      clear() {
-        this.head = this.tail;
-        this.head.clear();
-        this.length = 0;
+      const pullAlgorithm = () => {
+        fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        fetchParams.controller.abort(reason);
+      };
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      push(val) {
-        this.length++;
-        if (!this.head.push(val)) {
-          const prev = this.head;
-          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
-          this.head.push(val);
+      const stream2 = new ReadableStream2(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          }
+        },
+        {
+          highWaterMark: 0,
+          size() {
+            return 1;
+          }
         }
-      }
-      shift() {
-        if (this.length !== 0) this.length--;
-        const val = this.tail.shift();
-        if (val === void 0 && this.tail.next) {
-          const next = this.tail.next;
-          this.tail.next = null;
-          this.tail = next;
-          return this.tail.shift();
+      );
+      response.body = { stream: stream2 };
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          if (isErrored(stream2)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (!fetchParams.controller.controller.desiredSize) {
+            return;
+          }
         }
-        return val;
-      }
-      peek() {
-        const val = this.tail.peek();
-        if (val === void 0 && this.tail.next) return this.tail.next.peek();
-        return val;
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
       }
-      isEmpty() {
-        return this.length === 0;
+      return response;
+      async function dispatch({ body }) {
+        const url2 = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve8, reject) => agent.dispatch(
+          {
+            path: url2.pathname + url2.search,
+            origin: url2.origin,
+            method: request2.method,
+            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              if (connection.destroyed) {
+                abort(new DOMException2("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+            },
+            onHeaders(status, headersList, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let codings = [];
+              let location = "";
+              const headers = new Headers();
+              if (Array.isArray(headersList)) {
+                for (let n = 0; n < headersList.length; n += 2) {
+                  const key = headersList[n + 0].toString("latin1");
+                  const val = headersList[n + 1].toString("latin1");
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim());
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              } else {
+                const keys = Object.keys(headersList);
+                for (const key of keys) {
+                  const val = headersList[key];
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              }
+              this.body = new Readable2({ read: resume });
+              const decoders = [];
+              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                for (const coding of codings) {
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib3.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib3.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib3.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(zlib3.createInflate());
+                  } else if (coding === "br") {
+                    decoders.push(zlib3.createBrotliDecompress());
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              resolve8({
+                status,
+                statusText,
+                headersList: headers[kHeadersList],
+                body: decoders.length ? pipeline(this.body, ...decoders, () => {
+                }) : this.body.on("error", () => {
+                })
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, headersList, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headers = new Headers();
+              for (let n = 0; n < headersList.length; n += 2) {
+                const key = headersList[n + 0].toString("latin1");
+                const val = headersList[n + 1].toString("latin1");
+                headers[kHeadersList].append(key, val);
+              }
+              resolve8({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList: headers[kHeadersList],
+                socket
+              });
+              return true;
+            }
+          }
+        ));
       }
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
   }
 });
 
-// node_modules/b4a/index.js
-var require_b4a = __commonJS({
-  "node_modules/b4a/index.js"(exports2, module2) {
-    function isBuffer(value) {
-      return Buffer.isBuffer(value) || value instanceof Uint8Array;
-    }
-    function isEncoding(encoding) {
-      return Buffer.isEncoding(encoding);
-    }
-    function alloc(size, fill2, encoding) {
-      return Buffer.alloc(size, fill2, encoding);
-    }
-    function allocUnsafe(size) {
-      return Buffer.allocUnsafe(size);
-    }
-    function allocUnsafeSlow(size) {
-      return Buffer.allocUnsafeSlow(size);
-    }
-    function byteLength(string, encoding) {
-      return Buffer.byteLength(string, encoding);
-    }
-    function compare3(a, b) {
-      return Buffer.compare(a, b);
-    }
-    function concat(buffers, totalLength) {
-      return Buffer.concat(buffers, totalLength);
-    }
-    function copy(source, target, targetStart, start, end) {
-      return toBuffer(source).copy(target, targetStart, start, end);
-    }
-    function equals2(a, b) {
-      return toBuffer(a).equals(b);
-    }
-    function fill(buffer, value, offset, end, encoding) {
-      return toBuffer(buffer).fill(value, offset, end, encoding);
-    }
-    function from(value, encodingOrOffset, length) {
-      return Buffer.from(value, encodingOrOffset, length);
-    }
-    function includes(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).includes(value, byteOffset, encoding);
-    }
-    function indexOf(buffer, value, byfeOffset, encoding) {
-      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
-    }
-    function lastIndexOf(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
-    }
-    function swap16(buffer) {
-      return toBuffer(buffer).swap16();
-    }
-    function swap32(buffer) {
-      return toBuffer(buffer).swap32();
-    }
-    function swap64(buffer) {
-      return toBuffer(buffer).swap64();
-    }
-    function toBuffer(buffer) {
-      if (Buffer.isBuffer(buffer)) return buffer;
-      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
-    }
-    function toString3(buffer, encoding, start, end) {
-      return toBuffer(buffer).toString(encoding, start, end);
-    }
-    function write(buffer, string, offset, length, encoding) {
-      return toBuffer(buffer).write(string, offset, length, encoding);
-    }
-    function writeDoubleLE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleLE(value, offset);
-    }
-    function writeFloatLE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatLE(value, offset);
-    }
-    function writeUInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32LE(value, offset);
-    }
-    function writeInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32LE(value, offset);
-    }
-    function readDoubleLE(buffer, offset) {
-      return toBuffer(buffer).readDoubleLE(offset);
-    }
-    function readFloatLE(buffer, offset) {
-      return toBuffer(buffer).readFloatLE(offset);
-    }
-    function readUInt32LE(buffer, offset) {
-      return toBuffer(buffer).readUInt32LE(offset);
-    }
-    function readInt32LE(buffer, offset) {
-      return toBuffer(buffer).readInt32LE(offset);
-    }
-    function writeDoubleBE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleBE(value, offset);
-    }
-    function writeFloatBE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatBE(value, offset);
-    }
-    function writeUInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32BE(value, offset);
-    }
-    function writeInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32BE(value, offset);
-    }
-    function readDoubleBE(buffer, offset) {
-      return toBuffer(buffer).readDoubleBE(offset);
-    }
-    function readFloatBE(buffer, offset) {
-      return toBuffer(buffer).readFloatBE(offset);
-    }
-    function readUInt32BE(buffer, offset) {
-      return toBuffer(buffer).readUInt32BE(offset);
-    }
-    function readInt32BE(buffer, offset) {
-      return toBuffer(buffer).readInt32BE(offset);
-    }
+// node_modules/undici/lib/fileapi/symbols.js
+var require_symbols13 = __commonJS({
+  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      isBuffer,
-      isEncoding,
-      alloc,
-      allocUnsafe,
-      allocUnsafeSlow,
-      byteLength,
-      compare: compare3,
-      concat,
-      copy,
-      equals: equals2,
-      fill,
-      from,
-      includes,
-      indexOf,
-      lastIndexOf,
-      swap16,
-      swap32,
-      swap64,
-      toBuffer,
-      toString: toString3,
-      write,
-      writeDoubleLE,
-      writeFloatLE,
-      writeUInt32LE,
-      writeInt32LE,
-      readDoubleLE,
-      readFloatLE,
-      readUInt32LE,
-      readInt32LE,
-      writeDoubleBE,
-      writeFloatBE,
-      writeUInt32BE,
-      writeInt32BE,
-      readDoubleBE,
-      readFloatBE,
-      readUInt32BE,
-      readInt32BE
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/text-decoder/lib/pass-through-decoder.js
-var require_pass_through_decoder = __commonJS({
-  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class PassThroughDecoder {
-      constructor(encoding) {
-        this.encoding = encoding;
+// node_modules/undici/lib/fileapi/progressevent.js
+var require_progressevent3 = __commonJS({
+  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get remaining() {
-        return 0;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      decode(tail) {
-        return b4a.toString(tail, this.encoding);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      flush() {
-        return "";
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
+      }
+    };
+    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
+      {
+        key: "lengthComputable",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "loaded",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: 0
+      },
+      {
+        key: "total",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: 0
+      },
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: false
       }
+    ]);
+    module2.exports = {
+      ProgressEvent
     };
   }
 });
 
-// node_modules/text-decoder/lib/utf8-decoder.js
-var require_utf8_decoder = __commonJS({
-  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class UTF8Decoder {
-      constructor() {
-        this.codePoint = 0;
-        this.bytesSeen = 0;
-        this.bytesNeeded = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
-      }
-      get remaining() {
-        return this.bytesSeen;
-      }
-      decode(data) {
-        if (this.bytesNeeded === 0) {
-          let isBoundary = true;
-          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
-            isBoundary = data[i] <= 127;
-          }
-          if (isBoundary) return b4a.toString(data, "utf8");
-        }
-        let result = "";
-        for (let i = 0, n = data.byteLength; i < n; i++) {
-          const byte = data[i];
-          if (this.bytesNeeded === 0) {
-            if (byte <= 127) {
-              result += String.fromCharCode(byte);
-            } else {
-              this.bytesSeen = 1;
-              if (byte >= 194 && byte <= 223) {
-                this.bytesNeeded = 2;
-                this.codePoint = byte & 31;
-              } else if (byte >= 224 && byte <= 239) {
-                if (byte === 224) this.lowerBoundary = 160;
-                else if (byte === 237) this.upperBoundary = 159;
-                this.bytesNeeded = 3;
-                this.codePoint = byte & 15;
-              } else if (byte >= 240 && byte <= 244) {
-                if (byte === 240) this.lowerBoundary = 144;
-                if (byte === 244) this.upperBoundary = 143;
-                this.bytesNeeded = 4;
-                this.codePoint = byte & 7;
-              } else {
-                result += "\uFFFD";
-              }
-            }
-            continue;
-          }
-          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
-            this.codePoint = 0;
-            this.bytesNeeded = 0;
-            this.bytesSeen = 0;
-            this.lowerBoundary = 128;
-            this.upperBoundary = 191;
-            result += "\uFFFD";
-            continue;
-          }
-          this.lowerBoundary = 128;
-          this.upperBoundary = 191;
-          this.codePoint = this.codePoint << 6 | byte & 63;
-          this.bytesSeen++;
-          if (this.bytesSeen !== this.bytesNeeded) continue;
-          result += String.fromCodePoint(this.codePoint);
-          this.codePoint = 0;
-          this.bytesNeeded = 0;
-          this.bytesSeen = 0;
-        }
-        return result;
+// node_modules/undici/lib/fileapi/encoding.js
+var require_encoding3 = __commonJS({
+  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      flush() {
-        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
-        this.codePoint = 0;
-        this.bytesNeeded = 0;
-        this.bytesSeen = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
-        return result;
+      switch (label.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";
       }
+    }
+    module2.exports = {
+      getEncoding
     };
   }
 });
 
-// node_modules/text-decoder/index.js
-var require_text_decoder = __commonJS({
-  "node_modules/text-decoder/index.js"(exports2, module2) {
-    var PassThroughDecoder = require_pass_through_decoder();
-    var UTF8Decoder = require_utf8_decoder();
-    module2.exports = class TextDecoder {
-      constructor(encoding = "utf8") {
-        this.encoding = normalizeEncoding(encoding);
-        switch (this.encoding) {
-          case "utf8":
-            this.decoder = new UTF8Decoder();
+// node_modules/undici/lib/fileapi/util.js
+var require_util27 = __commonJS({
+  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+    "use strict";
+    var {
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols13();
+    var { ProgressEvent } = require_progressevent3();
+    var { getEncoding } = require_encoding3();
+    var { DOMException: DOMException2 } = require_constants21();
+    var { serializeAMimeType, parseMIMEType } = require_dataURL();
+    var { types } = require("util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException2("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream2 = blob.stream();
+      const reader = stream2.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
+          try {
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
+            }
+            isFirstChunk = false;
+            if (!done && types.isUint8Array(value)) {
+              bytes.push(value);
+              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
+                fr[kLastProgressEventFired] = Date.now();
+                queueMicrotask(() => {
+                  fireAProgressEvent("progress", fr);
+                });
+              }
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
+              }
+            });
             break;
-          case "utf16le":
-          case "base64":
-            throw new Error("Unsupported encoding: " + this.encoding);
-          default:
-            this.decoder = new PassThroughDecoder(this.encoding);
+          }
+        }
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
+          }
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
+          }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
+        }
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
+          }
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
+          }
+          if (encoding === "failure") {
+            encoding = "UTF-8";
+          }
+          return decode(bytes, encoding);
+        }
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
+        }
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
       }
-      get remaining() {
-        return this.decoder.remaining;
-      }
-      push(data) {
-        if (typeof data === "string") return data;
-        return this.decoder.decode(data);
-      }
-      // For Node.js compatibility
-      write(data) {
-        return this.push(data);
-      }
-      end(data) {
-        let result = "";
-        if (data) result = this.push(data);
-        result += this.decoder.flush();
-        return result;
+    }
+    function decode(ioQueue, encoding) {
+      const bytes = combineByteSequences(ioQueue);
+      const BOMEncoding = BOMSniffing(bytes);
+      let slice = 0;
+      if (BOMEncoding !== null) {
+        encoding = BOMEncoding;
+        slice = BOMEncoding === "UTF-8" ? 3 : 2;
       }
-    };
-    function normalizeEncoding(encoding) {
-      encoding = encoding.toLowerCase();
-      switch (encoding) {
-        case "utf8":
-        case "utf-8":
-          return "utf8";
-        case "ucs2":
-        case "ucs-2":
-        case "utf16le":
-        case "utf-16le":
-          return "utf16le";
-        case "latin1":
-        case "binary":
-          return "latin1";
-        case "base64":
-        case "ascii":
-        case "hex":
-          return encoding;
-        default:
-          throw new Error("Unknown encoding: " + encoding);
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
+    }
+    function BOMSniffing(ioQueue) {
+      const [a, b, c] = ioQueue;
+      if (a === 239 && b === 187 && c === 191) {
+        return "UTF-8";
+      } else if (a === 254 && b === 255) {
+        return "UTF-16BE";
+      } else if (a === 255 && b === 254) {
+        return "UTF-16LE";
       }
+      return null;
+    }
+    function combineByteSequences(sequences) {
+      const size = sequences.reduce((a, b) => {
+        return a + b.byteLength;
+      }, 0);
+      let offset = 0;
+      return sequences.reduce((a, b) => {
+        a.set(b, offset);
+        offset += b.byteLength;
+        return a;
+      }, new Uint8Array(size));
     }
+    module2.exports = {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    };
   }
 });
 
-// node_modules/streamx/index.js
-var require_streamx = __commonJS({
-  "node_modules/streamx/index.js"(exports2, module2) {
-    var { EventEmitter } = require("events");
-    var STREAM_DESTROYED = new Error("Stream was destroyed");
-    var PREMATURE_CLOSE = new Error("Premature close");
-    var queueTick = require_process_next_tick();
-    var FIFO = require_fast_fifo();
-    var TextDecoder2 = require_text_decoder();
-    var MAX = (1 << 29) - 1;
-    var OPENING = 1;
-    var PREDESTROYING = 2;
-    var DESTROYING = 4;
-    var DESTROYED = 8;
-    var NOT_OPENING = MAX ^ OPENING;
-    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
-    var READ_ACTIVE = 1 << 4;
-    var READ_UPDATING = 2 << 4;
-    var READ_PRIMARY = 4 << 4;
-    var READ_QUEUED = 8 << 4;
-    var READ_RESUMED = 16 << 4;
-    var READ_PIPE_DRAINED = 32 << 4;
-    var READ_ENDING = 64 << 4;
-    var READ_EMIT_DATA = 128 << 4;
-    var READ_EMIT_READABLE = 256 << 4;
-    var READ_EMITTED_READABLE = 512 << 4;
-    var READ_DONE = 1024 << 4;
-    var READ_NEXT_TICK = 2048 << 4;
-    var READ_NEEDS_PUSH = 4096 << 4;
-    var READ_READ_AHEAD = 8192 << 4;
-    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
-    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
-    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
-    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
-    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
-    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
-    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
-    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
-    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
-    var READ_PAUSED = MAX ^ READ_RESUMED;
-    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
-    var READ_NOT_ENDING = MAX ^ READ_ENDING;
-    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
-    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
-    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
-    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
-    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
-    var WRITE_ACTIVE = 1 << 18;
-    var WRITE_UPDATING = 2 << 18;
-    var WRITE_PRIMARY = 4 << 18;
-    var WRITE_QUEUED = 8 << 18;
-    var WRITE_UNDRAINED = 16 << 18;
-    var WRITE_DONE = 32 << 18;
-    var WRITE_EMIT_DRAIN = 64 << 18;
-    var WRITE_NEXT_TICK = 128 << 18;
-    var WRITE_WRITING = 256 << 18;
-    var WRITE_FINISHING = 512 << 18;
-    var WRITE_CORKED = 1024 << 18;
-    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
-    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
-    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
-    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
-    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
-    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
-    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
-    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
-    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
-    var NOT_ACTIVE = MAX ^ ACTIVE;
-    var DONE = READ_DONE | WRITE_DONE;
-    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
-    var OPEN_STATUS = DESTROY_STATUS | OPENING;
-    var AUTO_DESTROY = DESTROY_STATUS | DONE;
-    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
-    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
-    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
-    var IS_OPENING = OPEN_STATUS | TICKING;
-    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
-    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
-    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
-    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
-    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
-    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
-    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
-    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
-    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
-    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
-    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
-    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
-    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
-    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
-    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
-    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
-    var WritableState = class {
-      constructor(stream2, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
-        this.stream = stream2;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark;
-        this.buffered = 0;
-        this.error = null;
-        this.pipeline = null;
-        this.drains = null;
-        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
-        this.map = mapWritable || map2;
-        this.afterWrite = afterWrite.bind(this);
-        this.afterUpdateNextTick = updateWriteNT.bind(this);
-      }
-      get ended() {
-        return (this.stream._duplexState & WRITE_DONE) !== 0;
-      }
-      push(data) {
-        if (this.map !== null) data = this.map(data);
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        if (this.buffered < this.highWaterMark) {
-          this.stream._duplexState |= WRITE_QUEUED;
-          return true;
-        }
-        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
-        return false;
+// node_modules/undici/lib/fileapi/filereader.js
+var require_filereader3 = __commonJS({
+  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+    "use strict";
+    var {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util27();
+    var {
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols13();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
+        super();
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
-        return data;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
       }
-      end(data) {
-        if (typeof data === "function") this.stream.once("finish", data);
-        else if (data !== void 0 && data !== null) this.push(data);
-        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
       }
-      autoBatch(data, cb) {
-        const buffer = [];
-        const stream2 = this.stream;
-        buffer.push(data);
-        while ((stream2._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
-          buffer.push(stream2._writableState.shift());
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsDataText
+       * @param {import('buffer').Blob} blob
+       * @param {string?} encoding
+       */
+      readAsText(blob, encoding = void 0) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding);
         }
-        if ((stream2._duplexState & OPEN_STATUS) !== 0) return cb(null);
-        stream2._writev(buffer, cb);
+        readOperation(this, blob, "Text", encoding);
       }
-      update() {
-        const stream2 = this.stream;
-        stream2._duplexState |= WRITE_UPDATING;
-        do {
-          while ((stream2._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
-            const data = this.shift();
-            stream2._duplexState |= WRITE_ACTIVE_AND_WRITING;
-            stream2._write(data, this.afterWrite);
-          }
-          if ((stream2._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream2._duplexState &= WRITE_NOT_UPDATING;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
       }
-      updateNonPrimary() {
-        const stream2 = this.stream;
-        if ((stream2._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
-          stream2._duplexState = (stream2._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
-          stream2._final(afterFinal.bind(this));
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
           return;
         }
-        if ((stream2._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream2._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream2._duplexState |= ACTIVE;
-            stream2._destroy(afterDestroy.bind(this));
-          }
-          return;
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
         }
-        if ((stream2._duplexState & IS_OPENING) === OPENING) {
-          stream2._duplexState = (stream2._duplexState | ACTIVE) & NOT_OPENING;
-          stream2._open(afterOpen.bind(this));
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
         }
       }
-      continueUpdate() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        return true;
-      }
-      updateCallback() {
-        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
-        else this.updateNextTick();
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
+       */
+      get readyState() {
+        webidl.brandCheck(this, _FileReader);
+        switch (this[kState]) {
+          case "empty":
+            return this.EMPTY;
+          case "loading":
+            return this.LOADING;
+          case "done":
+            return this.DONE;
+        }
       }
-      updateNextTick() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= WRITE_NEXT_TICK;
-        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
       }
-    };
-    var ReadableState = class {
-      constructor(stream2, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
-        this.stream = stream2;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
-        this.buffered = 0;
-        this.readAhead = highWaterMark > 0;
-        this.error = null;
-        this.pipeline = null;
-        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
-        this.map = mapReadable || map2;
-        this.pipeTo = null;
-        this.afterRead = afterRead.bind(this);
-        this.afterUpdateNextTick = updateReadNT.bind(this);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
       }
-      get ended() {
-        return (this.stream._duplexState & READ_DONE) !== 0;
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
       }
-      pipe(pipeTo, cb) {
-        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
-        if (typeof cb !== "function") cb = null;
-        this.stream._duplexState |= READ_PIPE_DRAINED;
-        this.pipeTo = pipeTo;
-        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
-        if (cb) this.stream.on("error", noop3);
-        if (isStreamx(pipeTo)) {
-          pipeTo._writableState.pipeline = this.pipeline;
-          if (cb) pipeTo.on("error", noop3);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+      set onloadend(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadend) {
+          this.removeEventListener("loadend", this[kEvents].loadend);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].loadend = fn;
+          this.addEventListener("loadend", fn);
         } else {
-          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
-          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
-          pipeTo.on("error", onerror);
-          pipeTo.on("close", onclose);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+          this[kEvents].loadend = null;
         }
-        pipeTo.on("drain", afterDrain.bind(this));
-        this.stream.emit("piping", pipeTo);
-        pipeTo.emit("pipe", this.stream);
       }
-      push(data) {
-        const stream2 = this.stream;
-        if (data === null) {
-          this.highWaterMark = 0;
-          stream2._duplexState = (stream2._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
-          return false;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
+      }
+      set onerror(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].error) {
+          this.removeEventListener("error", this[kEvents].error);
         }
-        if (this.map !== null) {
-          data = this.map(data);
-          if (data === null) {
-            stream2._duplexState &= READ_PUSHED;
-            return this.buffered < this.highWaterMark;
-          }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
         }
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        stream2._duplexState = (stream2._duplexState | READ_QUEUED) & READ_PUSHED;
-        return this.buffered < this.highWaterMark;
       }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
-        return data;
-      }
-      unshift(data) {
-        const pending = [this.map !== null ? this.map(data) : data];
-        while (this.buffered > 0) pending.push(this.shift());
-        for (let i = 0; i < pending.length - 1; i++) {
-          const data2 = pending[i];
-          this.buffered += this.byteLength(data2);
-          this.queue.push(data2);
-        }
-        this.push(pending[pending.length - 1]);
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      read() {
-        const stream2 = this.stream;
-        if ((stream2._duplexState & READ_STATUS) === READ_QUEUED) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream2._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream2._duplexState & READ_EMIT_DATA) !== 0) stream2.emit("data", data);
-          return data;
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-        if (this.readAhead === false) {
-          stream2._duplexState |= READ_READ_AHEAD;
-          this.updateNextTick();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        return null;
       }
-      drain() {
-        const stream2 = this.stream;
-        while ((stream2._duplexState & READ_STATUS) === READ_QUEUED && (stream2._duplexState & READ_FLOWING) !== 0) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream2._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream2._duplexState & READ_EMIT_DATA) !== 0) stream2.emit("data", data);
+      get onprogress() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].progress;
+      }
+      set onprogress(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].progress) {
+          this.removeEventListener("progress", this[kEvents].progress);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
       }
-      update() {
-        const stream2 = this.stream;
-        stream2._duplexState |= READ_UPDATING;
-        do {
-          this.drain();
-          while (this.buffered < this.highWaterMark && (stream2._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
-            stream2._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
-            stream2._read(this.afterRead);
-            this.drain();
-          }
-          if ((stream2._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
-            stream2._duplexState |= READ_EMITTED_READABLE;
-            stream2.emit("readable");
-          }
-          if ((stream2._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream2._duplexState &= READ_NOT_UPDATING;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      updateNonPrimary() {
-        const stream2 = this.stream;
-        if ((stream2._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
-          stream2._duplexState = (stream2._duplexState | READ_DONE) & READ_NOT_ENDING;
-          stream2.emit("end");
-          if ((stream2._duplexState & AUTO_DESTROY) === DONE) stream2._duplexState |= DESTROYING;
-          if (this.pipeTo !== null) this.pipeTo.end();
-        }
-        if ((stream2._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream2._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream2._duplexState |= ACTIVE;
-            stream2._destroy(afterDestroy.bind(this));
-          }
-          return;
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
         }
-        if ((stream2._duplexState & IS_OPENING) === OPENING) {
-          stream2._duplexState = (stream2._duplexState | ACTIVE) & NOT_OPENING;
-          stream2._open(afterOpen.bind(this));
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
         }
       }
-      continueUpdate() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        return true;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      updateCallback() {
-        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
-        else this.updateNextTick();
+      set onabort(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].abort) {
+          this.removeEventListener("abort", this[kEvents].abort);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].abort = fn;
+          this.addEventListener("abort", fn);
+        } else {
+          this[kEvents].abort = null;
+        }
       }
-      updateNextTick() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= READ_NEXT_TICK;
-        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+    };
+    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
+    FileReader.LOADING = FileReader.prototype.LOADING = 1;
+    FileReader.DONE = FileReader.prototype.DONE = 2;
+    Object.defineProperties(FileReader.prototype, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors,
+      readAsArrayBuffer: kEnumerableProperty,
+      readAsBinaryString: kEnumerableProperty,
+      readAsText: kEnumerableProperty,
+      readAsDataURL: kEnumerableProperty,
+      abort: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      result: kEnumerableProperty,
+      error: kEnumerableProperty,
+      onloadstart: kEnumerableProperty,
+      onprogress: kEnumerableProperty,
+      onload: kEnumerableProperty,
+      onabort: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onloadend: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FileReader",
+        writable: false,
+        enumerable: false,
+        configurable: true
       }
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
+    module2.exports = {
+      FileReader
     };
-    var TransformState = class {
-      constructor(stream2) {
-        this.data = null;
-        this.afterTransform = afterTransform.bind(stream2);
-        this.afterFinal = null;
+  }
+});
+
+// node_modules/undici/lib/cache/symbols.js
+var require_symbols14 = __commonJS({
+  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols11().kConstruct
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/util.js
+var require_util28 = __commonJS({
+  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { URLSerializer } = require_dataURL();
+    var { isValidHeaderName } = require_util25();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
+    }
+    function fieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (!value.length) {
+          continue;
+        } else if (!isValidHeaderName(value)) {
+          continue;
+        }
+        values.push(value);
       }
+      return values;
+    }
+    module2.exports = {
+      urlEquals,
+      fieldValues
     };
-    var Pipeline = class {
-      constructor(src, dst, cb) {
-        this.from = src;
-        this.to = dst;
-        this.afterPipe = cb;
-        this.error = null;
-        this.pipeToFinished = false;
+  }
+});
+
+// node_modules/undici/lib/cache/cache.js
+var require_cache6 = __commonJS({
+  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { urlEquals, fieldValues: getFieldValues } = require_util28();
+    var { kEnumerableProperty, isDisturbed } = require_util24();
+    var { kHeadersList } = require_symbols11();
+    var { webidl } = require_webidl3();
+    var { Response, cloneResponse } = require_response4();
+    var { Request } = require_request6();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { fetching } = require_fetch3();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util25();
+    var assert = require("assert");
+    var { getGlobalDispatcher } = require_global6();
+    var Cache = class _Cache {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
+       * @type {requestResponseList}
+       */
+      #relevantRequestResponseList;
+      constructor() {
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
+        }
+        this.#relevantRequestResponseList = arguments[1];
       }
-      finished() {
-        this.pipeToFinished = true;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        const p = await this.matchAll(request2, options);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
       }
-      done(stream2, err) {
-        if (err) this.error = err;
-        if (stream2 === this.to) {
-          this.to = null;
-          if (this.from !== null) {
-            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
-              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
             }
-            return;
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
         }
-        if (stream2 === this.from) {
-          this.from = null;
-          if (this.to !== null) {
-            if ((stream2._duplexState & READ_DONE) === 0) {
-              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
-            }
-            return;
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
           }
         }
-        if (this.afterPipe !== null) this.afterPipe(this.error);
-        this.to = this.from = this.afterPipe = null;
-      }
-    };
-    function afterDrain() {
-      this.stream._duplexState |= READ_PIPE_DRAINED;
-      this.updateCallback();
-    }
-    function afterFinal(err) {
-      const stream2 = this.stream;
-      if (err) stream2.destroy(err);
-      if ((stream2._duplexState & DESTROY_STATUS) === 0) {
-        stream2._duplexState |= WRITE_DONE;
-        stream2.emit("finish");
-      }
-      if ((stream2._duplexState & AUTO_DESTROY) === DONE) {
-        stream2._duplexState |= DESTROYING;
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = new Response(response.body?.source ?? null);
+          const body = responseObject[kState].body;
+          responseObject[kState] = response;
+          responseObject[kState].body = body;
+          responseObject[kHeaders][kHeadersList] = response.headersList;
+          responseObject[kHeaders][kGuard] = "immutable";
+          responseList.push(responseObject);
+        }
+        return Object.freeze(responseList);
       }
-      stream2._duplexState &= WRITE_NOT_ACTIVE;
-      if ((stream2._duplexState & WRITE_UPDATING) === 0) this.update();
-      else this.updateNextTick();
-    }
-    function afterDestroy(err) {
-      const stream2 = this.stream;
-      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
-      if (err) stream2.emit("error", err);
-      stream2._duplexState |= DESTROYED;
-      stream2.emit("close");
-      const rs = stream2._readableState;
-      const ws = stream2._writableState;
-      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream2, err);
-      if (ws !== null) {
-        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
-        if (ws.pipeline !== null) ws.pipeline.done(stream2, err);
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
+        request2 = webidl.converters.RequestInfo(request2);
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
       }
-    }
-    function afterWrite(err) {
-      const stream2 = this.stream;
-      if (err) stream2.destroy(err);
-      stream2._duplexState &= WRITE_NOT_ACTIVE;
-      if (this.drains !== null) tickDrains(this.drains);
-      if ((stream2._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
-        stream2._duplexState &= WRITE_DRAINED;
-        if ((stream2._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
-          stream2.emit("drain");
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
+        requests = webidl.converters["sequence"](requests);
+        const responsePromises = [];
+        const requestList = [];
+        for (const request2 of requests) {
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme when method is not GET."
+            });
+          }
+        }
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme."
+            });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            dispatcher: getGlobalDispatcher(),
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
+        }
+        const p = Promise.all(responsePromises);
+        const responses = await p;
+        const operations = [];
+        let index = 0;
+        for (const response of responses) {
+          const operation = {
+            type: "put",
+            // 7.3.2
+            request: requestList[index],
+            // 7.3.3
+            response
+            // 7.3.4
+          };
+          operations.push(operation);
+          index++;
         }
-      }
-      this.updateCallback();
-    }
-    function afterRead(err) {
-      if (err) this.stream.destroy(err);
-      this.stream._duplexState &= READ_NOT_ACTIVE;
-      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
-      this.updateCallback();
-    }
-    function updateReadNT() {
-      if ((this.stream._duplexState & READ_UPDATING) === 0) {
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        this.update();
-      }
-    }
-    function updateWriteNT() {
-      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        this.update();
-      }
-    }
-    function tickDrains(drains) {
-      for (let i = 0; i < drains.length; i++) {
-        if (--drains[i].writes === 0) {
-          drains.shift().resolve(true);
-          i--;
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
         }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(void 0);
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
+        });
+        return cacheJobPromise.promise;
       }
-    }
-    function afterOpen(err) {
-      const stream2 = this.stream;
-      if (err) stream2.destroy(err);
-      if ((stream2._duplexState & DESTROYING) === 0) {
-        if ((stream2._duplexState & READ_PRIMARY_STATUS) === 0) stream2._duplexState |= READ_PRIMARY;
-        if ((stream2._duplexState & WRITE_PRIMARY_STATUS) === 0) stream2._duplexState |= WRITE_PRIMARY;
-        stream2.emit("open");
-      }
-      stream2._duplexState &= NOT_ACTIVE;
-      if (stream2._writableState !== null) {
-        stream2._writableState.updateCallback();
-      }
-      if (stream2._readableState !== null) {
-        stream2._readableState.updateCallback();
-      }
-    }
-    function afterTransform(err, data) {
-      if (data !== void 0 && data !== null) this.push(data);
-      this._writableState.afterWrite(err);
-    }
-    function newListener(name) {
-      if (this._readableState !== null) {
-        if (name === "data") {
-          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
-          this._readableState.updateNextTick();
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
+        request2 = webidl.converters.RequestInfo(request2);
+        response = webidl.converters.Response(response);
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
         }
-        if (name === "readable") {
-          this._duplexState |= READ_EMIT_READABLE;
-          this._readableState.updateNextTick();
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Expected an http/s scheme when method is not GET"
+          });
         }
-      }
-      if (this._writableState !== null) {
-        if (name === "drain") {
-          this._duplexState |= WRITE_EMIT_DRAIN;
-          this._writableState.updateNextTick();
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Got 206 status"
+          });
         }
-      }
-    }
-    var Stream = class extends EventEmitter {
-      constructor(opts) {
-        super();
-        this._duplexState = 0;
-        this._readableState = null;
-        this._writableState = null;
-        if (opts) {
-          if (opts.open) this._open = opts.open;
-          if (opts.destroy) this._destroy = opts.destroy;
-          if (opts.predestroy) this._predestroy = opts.predestroy;
-          if (opts.signal) {
-            opts.signal.addEventListener("abort", abort.bind(this));
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: "Cache.put",
+                message: "Got * vary field value"
+              });
+            }
           }
         }
-        this.on("newListener", newListener);
-      }
-      _open(cb) {
-        cb(null);
-      }
-      _destroy(cb) {
-        cb(null);
-      }
-      _predestroy() {
-      }
-      get readable() {
-        return this._readableState !== null ? true : void 0;
-      }
-      get writable() {
-        return this._writableState !== null ? true : void 0;
-      }
-      get destroyed() {
-        return (this._duplexState & DESTROYED) !== 0;
-      }
-      get destroying() {
-        return (this._duplexState & DESTROY_STATUS) !== 0;
-      }
-      destroy(err) {
-        if ((this._duplexState & DESTROY_STATUS) === 0) {
-          if (!err) err = STREAM_DESTROYED;
-          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
-          if (this._readableState !== null) {
-            this._readableState.highWaterMark = 0;
-            this._readableState.error = err;
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Response body is locked or disturbed"
+          });
+        }
+        const clonedResponse = cloneResponse(innerResponse);
+        const bodyReadPromise = createDeferredPromise();
+        if (innerResponse.body != null) {
+          const stream2 = innerResponse.body.stream;
+          const reader = stream2.getReader();
+          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+        } else {
+          bodyReadPromise.resolve(void 0);
+        }
+        const operations = [];
+        const operation = {
+          type: "put",
+          // 14.
+          request: innerRequest,
+          // 15.
+          response: clonedResponse
+          // 16.
+        };
+        operations.push(operation);
+        const bytes = await bodyReadPromise.promise;
+        if (clonedResponse.body != null) {
+          clonedResponse.body.source = bytes;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve();
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          if (this._writableState !== null) {
-            this._writableState.highWaterMark = 0;
-            this._writableState.error = err;
+        });
+        return cacheJobPromise.promise;
+      }
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
           }
-          this._duplexState |= PREDESTROYING;
-          this._predestroy();
-          this._duplexState &= NOT_PREDESTROYING;
-          if (this._readableState !== null) this._readableState.updateNextTick();
-          if (this._writableState !== null) this._writableState.updateNextTick();
+        } else {
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-    };
-    var Readable2 = class _Readable extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
-        this._readableState = new ReadableState(this, opts);
-        if (opts) {
-          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
-          if (opts.read) this._read = opts.read;
-          if (opts.eagerOpen) this._readableState.updateNextTick();
-          if (opts.encoding) this.setEncoding(opts.encoding);
+        const operations = [];
+        const operation = {
+          type: "delete",
+          request: r,
+          options
+        };
+        operations.push(operation);
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        let requestResponses;
+        try {
+          requestResponses = this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
         }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
+        });
+        return cacheJobPromise.promise;
       }
-      setEncoding(encoding) {
-        const dec = new TextDecoder2(encoding);
-        const map2 = this._readableState.map || echo;
-        this._readableState.map = mapOrSkip;
-        return this;
-        function mapOrSkip(data) {
-          const next = dec.push(data);
-          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {readonly Request[]}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
+          }
         }
-      }
-      _read(cb) {
-        cb(null);
-      }
-      pipe(dest, cb) {
-        this._readableState.updateNextTick();
-        this._readableState.pipe(dest, cb);
-        return dest;
-      }
-      read() {
-        this._readableState.updateNextTick();
-        return this._readableState.read();
-      }
-      push(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.push(data);
-      }
-      unshift(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.unshift(data);
-      }
-      resume() {
-        this._duplexState |= READ_RESUMED_READ_AHEAD;
-        this._readableState.updateNextTick();
-        return this;
-      }
-      pause() {
-        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
-        return this;
-      }
-      static _fromAsyncIterator(ite, opts) {
-        let destroy;
-        const rs = new _Readable({
-          ...opts,
-          read(cb) {
-            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
-          },
-          predestroy() {
-            destroy = ite.return();
-          },
-          destroy(cb) {
-            if (!destroy) return cb(null);
-            destroy.then(cb.bind(null, null)).catch(cb);
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
           }
-        });
-        return rs;
-        function push(data) {
-          if (data.done) rs.push(null);
-          else rs.push(data.value);
         }
-      }
-      static from(data, opts) {
-        if (isReadStreamx(data)) return data;
-        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
-        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
-        let i = 0;
-        return new _Readable({
-          ...opts,
-          read(cb) {
-            this.push(i === data.length ? null : data[i++]);
-            cb(null);
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = new Request("https://a");
+            requestObject[kState] = request3;
+            requestObject[kHeaders][kHeadersList] = request3.headersList;
+            requestObject[kHeaders][kGuard] = "immutable";
+            requestObject[kRealm] = request3.client;
+            requestList.push(requestObject);
           }
+          promise.resolve(Object.freeze(requestList));
         });
+        return promise.promise;
       }
-      static isBackpressured(rs) {
-        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
-      }
-      static isPaused(rs) {
-        return (rs._duplexState & READ_RESUMED) === 0;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
+       * @param {CacheBatchOperation[]} operations
+       * @returns {requestResponseList}
+       */
+      #batchCacheOperations(operations) {
+        const cache = this.#relevantRequestResponseList;
+        const backupCache = [...cache];
+        const addedItems = [];
+        const resultList = [];
+        try {
+          for (const operation of operations) {
+            if (operation.type !== "delete" && operation.type !== "put") {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: 'operation type does not match "delete" or "put"'
+              });
+            }
+            if (operation.type === "delete" && operation.response != null) {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: "delete operation should not have an associated response"
+              });
+            }
+            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
+              throw new DOMException("???", "InvalidStateError");
+            }
+            let requestResponses;
+            if (operation.type === "delete") {
+              requestResponses = this.#queryCache(operation.request, operation.options);
+              if (requestResponses.length === 0) {
+                return [];
+              }
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+            } else if (operation.type === "put") {
+              if (operation.response == null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "put operation should have an associated response"
+                });
+              }
+              const r = operation.request;
+              if (!urlIsHttpHttpsScheme(r.url)) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "expected http or https scheme"
+                });
+              }
+              if (r.method !== "GET") {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "not get method"
+                });
+              }
+              if (operation.options != null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "options must not be defined"
+                });
+              }
+              requestResponses = this.#queryCache(operation.request);
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+              cache.push([operation.request, operation.response]);
+              addedItems.push([operation.request, operation.response]);
+            }
+            resultList.push([operation.request, operation.response]);
+          }
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-      [asyncIterator]() {
-        const stream2 = this;
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("readable", onreadable);
-        this.on("close", onclose);
-        return {
-          [asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(function(resolve8, reject) {
-              promiseResolve = resolve8;
-              promiseReject = reject;
-              const data = stream2.read();
-              if (data !== null) ondata(data);
-              else if ((stream2._duplexState & DESTROYED) !== 0) ondata(null);
-            });
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#query-cache
+       * @param {any} requestQuery
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @param {requestResponseList} targetStorage
+       * @returns {requestResponseList}
+       */
+      #queryCache(requestQuery, options, targetStorage) {
+        const resultList = [];
+        const storage = targetStorage ?? this.#relevantRequestResponseList;
+        for (const requestResponse of storage) {
+          const [cachedRequest, cachedResponse] = requestResponse;
+          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
+            resultList.push(requestResponse);
           }
-        };
-        function onreadable() {
-          if (promiseResolve !== null) ondata(stream2.read());
         }
-        function onclose() {
-          if (promiseResolve !== null) ondata(null);
+        return resultList;
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
+       * @param {any} requestQuery
+       * @param {any} request
+       * @param {any | null} response
+       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
+       * @returns {boolean}
+       */
+      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
+        const queryURL = new URL(requestQuery.url);
+        const cachedURL = new URL(request2.url);
+        if (options?.ignoreSearch) {
+          cachedURL.search = "";
+          queryURL.search = "";
         }
-        function ondata(data) {
-          if (promiseReject === null) return;
-          if (error3) promiseReject(error3);
-          else if (data === null && (stream2._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
-          else promiseResolve({ value: data, done: data === null });
-          promiseReject = promiseResolve = null;
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
         }
-        function destroy(err) {
-          stream2.destroy(err);
-          return new Promise((resolve8, reject) => {
-            if (stream2._duplexState & DESTROYED) return resolve8({ value: void 0, done: true });
-            stream2.once("close", function() {
-              if (err) reject(err);
-              else resolve8({ value: void 0, done: true });
-            });
-          });
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
         }
-      }
-    };
-    var Writable = class extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | READ_DONE;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
-          if (opts.eagerOpen) this._writableState.updateNextTick();
+        const fieldValues = getFieldValues(response.headersList.get("vary"));
+        for (const fieldValue of fieldValues) {
+          if (fieldValue === "*") {
+            return false;
+          }
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
+          }
         }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      static isBackpressured(ws) {
-        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
-      }
-      static drained(ws) {
-        if (ws.destroyed) return Promise.resolve(false);
-        const state = ws._writableState;
-        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
-        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
-        if (writes === 0) return Promise.resolve(true);
-        if (state.drains === null) state.drains = [];
-        return new Promise((resolve8) => {
-          state.drains.push({ writes, resolve: resolve8 });
-        });
-      }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
-      }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
+        return true;
       }
     };
-    var Duplex = class extends Readable2 {
-      // and Writable
-      constructor(opts) {
-        super(opts);
-        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
-        }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
+    Object.defineProperties(Cache.prototype, {
+      [Symbol.toStringTag]: {
+        value: "Cache",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      matchAll: kEnumerableProperty,
+      add: kEnumerableProperty,
+      addAll: kEnumerableProperty,
+      put: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    var cacheQueryOptionConverters = [
+      {
+        key: "ignoreSearch",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "ignoreMethod",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "ignoreVary",
+        converter: webidl.converters.boolean,
+        defaultValue: false
       }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
     };
-    var Transform = class extends Duplex {
-      constructor(opts) {
-        super(opts);
-        this._transformState = new TransformState(this);
-        if (opts) {
-          if (opts.transform) this._transform = opts.transform;
-          if (opts.flush) this._flush = opts.flush;
+  }
+});
+
+// node_modules/undici/lib/cache/cachestorage.js
+var require_cachestorage3 = __commonJS({
+  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { Cache } = require_cache6();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map= this._readableState.highWaterMark) {
-          this._transformState.data = data;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          this._transform(data, this._transformState.afterTransform);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
       }
-      _read(cb) {
-        if (this._transformState.data !== null) {
-          const data = this._transformState.data;
-          this._transformState.data = null;
-          cb(null);
-          this._transform(data, this._transformState.afterTransform);
-        } else {
-          cb(null);
-        }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.has(cacheName);
       }
-      destroy(err) {
-        super.destroy(err);
-        if (this._transformState.data !== null) {
-          this._transformState.data = null;
-          this._transformState.afterTransform();
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      _transform(data, cb) {
-        cb(null, data);
-      }
-      _flush(cb) {
-        cb(null);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.delete(cacheName);
       }
-      _final(cb) {
-        this._transformState.afterFinal = cb;
-        this._flush(transformAfterFlush.bind(this));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {string[]}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
       }
     };
-    var PassThrough = class extends Transform {
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
     };
-    function transformAfterFlush(err, data) {
-      const cb = this._transformState.afterFinal;
-      if (err) return cb(err);
-      if (data !== null && data !== void 0) this.push(data);
-      this.push(null);
-      cb(null);
-    }
-    function pipelinePromise(...streams) {
-      return new Promise((resolve8, reject) => {
-        return pipeline(...streams, (err) => {
-          if (err) return reject(err);
-          resolve8();
-        });
-      });
-    }
-    function pipeline(stream2, ...streams) {
-      const all = Array.isArray(stream2) ? [...stream2, ...streams] : [stream2, ...streams];
-      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
-      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
-      let src = all[0];
-      let dest = null;
-      let error3 = null;
-      for (let i = 1; i < all.length; i++) {
-        dest = all[i];
-        if (isStreamx(src)) {
-          src.pipe(dest, onerror);
-        } else {
-          errorHandle(src, true, i > 1, onerror);
-          src.pipe(dest);
-        }
-        src = dest;
+  }
+});
+
+// node_modules/undici/lib/cookies/constants.js
+var require_constants23 = __commonJS({
+  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/util.js
+var require_util29 = __commonJS({
+  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      if (value.length === 0) {
+        return false;
       }
-      if (done) {
-        let fin = false;
-        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
-        dest.on("error", (err) => {
-          if (error3 === null) error3 = err;
-        });
-        dest.on("finish", () => {
-          fin = true;
-          if (!autoDestroy) done(error3);
-        });
-        if (autoDestroy) {
-          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
+          return false;
         }
       }
-      return dest;
-      function errorHandle(s, rd, wr, onerror2) {
-        s.on("error", onerror2);
-        s.on("close", onclose);
-        function onclose() {
-          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
-          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
+    }
+    function validateCookieName(name) {
+      for (const char of name) {
+        const code = char.charCodeAt(0);
+        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+          throw new Error("Invalid cookie name");
         }
       }
-      function onerror(err) {
-        if (!err || error3) return;
-        error3 = err;
-        for (const s of all) {
-          s.destroy(err);
+    }
+    function validateCookieValue(value) {
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || // exclude CTLs (0-31)
+        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
+          throw new Error("Invalid header value");
         }
       }
     }
-    function echo(s) {
-      return s;
-    }
-    function isStream(stream2) {
-      return !!stream2._readableState || !!stream2._writableState;
-    }
-    function isStreamx(stream2) {
-      return typeof stream2._duplexState === "number" && isStream(stream2);
-    }
-    function isEnded(stream2) {
-      return !!stream2._readableState && stream2._readableState.ended;
-    }
-    function isFinished(stream2) {
-      return !!stream2._writableState && stream2._writableState.ended;
-    }
-    function getStreamError(stream2, opts = {}) {
-      const err = stream2._readableState && stream2._readableState.error || stream2._writableState && stream2._writableState.error;
-      return !opts.all && err === STREAM_DESTROYED ? null : err;
-    }
-    function isReadStreamx(stream2) {
-      return isStreamx(stream2) && stream2.readable;
-    }
-    function isTypedArray(data) {
-      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
-    }
-    function defaultByteLength(data) {
-      return isTypedArray(data) ? data.byteLength : 1024;
+    function validateCookiePath(path16) {
+      for (const char of path16) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || char === ";") {
+          throw new Error("Invalid cookie path");
+        }
+      }
     }
-    function noop3() {
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
+      }
     }
-    function abort() {
-      this.destroy(new Error("Stream aborted."));
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
+      }
+      const days = [
+        "Sun",
+        "Mon",
+        "Tue",
+        "Wed",
+        "Thu",
+        "Fri",
+        "Sat"
+      ];
+      const months = [
+        "Jan",
+        "Feb",
+        "Mar",
+        "Apr",
+        "May",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Oct",
+        "Nov",
+        "Dec"
+      ];
+      const dayName = days[date.getUTCDay()];
+      const day = date.getUTCDate().toString().padStart(2, "0");
+      const month = months[date.getUTCMonth()];
+      const year = date.getUTCFullYear();
+      const hour = date.getUTCHours().toString().padStart(2, "0");
+      const minute = date.getUTCMinutes().toString().padStart(2, "0");
+      const second = date.getUTCSeconds().toString().padStart(2, "0");
+      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
     }
-    function isWritev(s) {
-      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
+      }
     }
-    module2.exports = {
-      pipeline,
-      pipelinePromise,
-      isStream,
-      isStreamx,
-      isEnded,
-      isFinished,
-      getStreamError,
-      Stream,
-      Writable,
-      Readable: Readable2,
-      Duplex,
-      Transform,
-      // Export PassThrough for compatibility with Node.js core's stream module
-      PassThrough
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
+      }
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
+      }
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
+      }
+      if (cookie.secure) {
+        out.push("Secure");
+      }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
+      }
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
+      }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
+      }
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
+      }
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
+      }
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
+      }
+      for (const part of cookie.unparsed) {
+        if (!part.includes("=")) {
+          throw new Error("Invalid unparsed");
+        }
+        const [key, ...value] = part.split("=");
+        out.push(`${key.trim()}=${value.join("=")}`);
+      }
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
     };
   }
 });
 
-// node_modules/tar-stream/headers.js
-var require_headers3 = __commonJS({
-  "node_modules/tar-stream/headers.js"(exports2) {
-    var b4a = require_b4a();
-    var ZEROS = "0000000000000000000";
-    var SEVENS = "7777777777777777777";
-    var ZERO_OFFSET = "0".charCodeAt(0);
-    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
-    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
-    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
-    var GNU_VER = b4a.from([32, 0]);
-    var MASK = 4095;
-    var MAGIC_OFFSET = 257;
-    var VERSION_OFFSET = 263;
-    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
-      return decodeStr(buf, 0, buf.length, encoding);
-    };
-    exports2.encodePax = function encodePax(opts) {
-      let result = "";
-      if (opts.name) result += addLength(" path=" + opts.name + "\n");
-      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
-      const pax = opts.pax;
-      if (pax) {
-        for (const key in pax) {
-          result += addLength(" " + key + "=" + pax[key] + "\n");
-        }
-      }
-      return b4a.from(result);
-    };
-    exports2.decodePax = function decodePax(buf) {
-      const result = {};
-      while (buf.length) {
-        let i = 0;
-        while (i < buf.length && buf[i] !== 32) i++;
-        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
-        if (!len) return result;
-        const b = b4a.toString(buf.subarray(i + 1, len - 1));
-        const keyIndex = b.indexOf("=");
-        if (keyIndex === -1) return result;
-        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
-        buf = buf.subarray(len);
+// node_modules/undici/lib/cookies/parse.js
+var require_parse4 = __commonJS({
+  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants23();
+    var { isCTLExcludingHtab } = require_util29();
+    var { collectASequenceOfCodePointsFast } = require_dataURL();
+    var assert = require("assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      return result;
-    };
-    exports2.encode = function encode(opts) {
-      const buf = b4a.alloc(512);
-      let name = opts.name;
-      let prefix = "";
-      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
-      if (b4a.byteLength(name) !== name.length) return null;
-      while (b4a.byteLength(name) > 100) {
-        const i = name.indexOf("/");
-        if (i === -1) return null;
-        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
-        name = name.slice(i + 1);
+      let nameValuePair = "";
+      let unparsedAttributes = "";
+      let name = "";
+      let value = "";
+      if (header.includes(";")) {
+        const position = { position: 0 };
+        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
+        unparsedAttributes = header.slice(position.position);
+      } else {
+        nameValuePair = header;
       }
-      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
-      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
-      b4a.write(buf, name);
-      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
-      b4a.write(buf, encodeOct(opts.uid, 6), 108);
-      b4a.write(buf, encodeOct(opts.gid, 6), 116);
-      encodeSize(opts.size, buf, 124);
-      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
-      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
-      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
-      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
-      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
-      if (opts.uname) b4a.write(buf, opts.uname, 265);
-      if (opts.gname) b4a.write(buf, opts.gname, 297);
-      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
-      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
-      if (prefix) b4a.write(buf, prefix, 345);
-      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
-      return buf;
-    };
-    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
-      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
-      let name = decodeStr(buf, 0, 100, filenameEncoding);
-      const mode = decodeOct(buf, 100, 8);
-      const uid = decodeOct(buf, 108, 8);
-      const gid = decodeOct(buf, 116, 8);
-      const size = decodeOct(buf, 124, 12);
-      const mtime = decodeOct(buf, 136, 12);
-      const type2 = toType(typeflag);
-      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
-      const uname = decodeStr(buf, 265, 32);
-      const gname = decodeStr(buf, 297, 32);
-      const devmajor = decodeOct(buf, 329, 8);
-      const devminor = decodeOct(buf, 337, 8);
-      const c = cksum(buf);
-      if (c === 8 * 32) return null;
-      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
-      if (isUSTAR(buf)) {
-        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
-      } else if (isGNU(buf)) {
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
       } else {
-        if (!allowUnknownFormat) {
-          throw new Error("Invalid tar header: unknown format.");
-        }
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
+        );
+        value = nameValuePair.slice(position.position + 1);
+      }
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
       return {
         name,
-        mode,
-        uid,
-        gid,
-        size,
-        mtime: new Date(1e3 * mtime),
-        type: type2,
-        linkname,
-        uname,
-        gname,
-        devmajor,
-        devminor,
-        pax: null
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-    };
-    function isUSTAR(buf) {
-      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
-    }
-    function isGNU(buf) {
-      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
     }
-    function clamp(index, len, defaultValue) {
-      if (typeof index !== "number") return defaultValue;
-      index = ~~index;
-      if (index >= len) return len;
-      if (index >= 0) return index;
-      index += len;
-      if (index >= 0) return index;
-      return 0;
-    }
-    function toType(flag) {
-      switch (flag) {
-        case 0:
-          return "file";
-        case 1:
-          return "link";
-        case 2:
-          return "symlink";
-        case 3:
-          return "character-device";
-        case 4:
-          return "block-device";
-        case 5:
-          return "directory";
-        case 6:
-          return "fifo";
-        case 7:
-          return "contiguous-file";
-        case 72:
-          return "pax-header";
-        case 55:
-          return "pax-global-header";
-        case 27:
-          return "gnu-long-link-path";
-        case 28:
-        case 30:
-          return "gnu-long-path";
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      return null;
-    }
-    function toTypeflag(flag) {
-      switch (flag) {
-        case "file":
-          return 0;
-        case "link":
-          return 1;
-        case "symlink":
-          return 2;
-        case "character-device":
-          return 3;
-        case "block-device":
-          return 4;
-        case "directory":
-          return 5;
-        case "fifo":
-          return 6;
-        case "contiguous-file":
-          return 7;
-        case "pax-header":
-          return 72;
+      assert(unparsedAttributes[0] === ";");
+      unparsedAttributes = unparsedAttributes.slice(1);
+      let cookieAv = "";
+      if (unparsedAttributes.includes(";")) {
+        cookieAv = collectASequenceOfCodePointsFast(
+          ";",
+          unparsedAttributes,
+          { position: 0 }
+        );
+        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
+      } else {
+        cookieAv = unparsedAttributes;
+        unparsedAttributes = "";
       }
-      return 0;
-    }
-    function indexOf(block, num, offset, end) {
-      for (; offset < end; offset++) {
-        if (block[offset] === num) return offset;
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      return end;
-    }
-    function cksum(block) {
-      let sum = 8 * 32;
-      for (let i = 0; i < 148; i++) sum += block[i];
-      for (let j = 156; j < 512; j++) sum += block[j];
-      return sum;
-    }
-    function encodeOct(val, n) {
-      val = val.toString(8);
-      if (val.length > n) return SEVENS.slice(0, n) + " ";
-      return ZEROS.slice(0, n - val.length) + val + " ";
-    }
-    function encodeSizeBin(num, buf, off) {
-      buf[off] = 128;
-      for (let i = 11; i > 0; i--) {
-        buf[off + i] = num & 255;
-        num = Math.floor(num / 256);
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-    }
-    function encodeSize(num, buf, off) {
-      if (num.toString(8).length > 11) {
-        encodeSizeBin(num, buf, off);
+      const attributeNameLowercase = attributeName.toLowerCase();
+      if (attributeNameLowercase === "expires") {
+        const expiryTime = new Date(attributeValue);
+        cookieAttributeList.expires = expiryTime;
+      } else if (attributeNameLowercase === "max-age") {
+        const charCode = attributeValue.charCodeAt(0);
+        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        }
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
+        }
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
+        } else {
+          cookiePath = attributeValue;
+        }
+        cookieAttributeList.path = cookiePath;
+      } else if (attributeNameLowercase === "secure") {
+        cookieAttributeList.secure = true;
+      } else if (attributeNameLowercase === "httponly") {
+        cookieAttributeList.httpOnly = true;
+      } else if (attributeNameLowercase === "samesite") {
+        let enforcement = "Default";
+        const attributeValueLowercase = attributeValue.toLowerCase();
+        if (attributeValueLowercase.includes("none")) {
+          enforcement = "None";
+        }
+        if (attributeValueLowercase.includes("strict")) {
+          enforcement = "Strict";
+        }
+        if (attributeValueLowercase.includes("lax")) {
+          enforcement = "Lax";
+        }
+        cookieAttributeList.sameSite = enforcement;
       } else {
-        b4a.write(buf, encodeOct(num, 11), off);
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
       }
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
     }
-    function parse256(buf) {
-      let positive;
-      if (buf[0] === 128) positive = true;
-      else if (buf[0] === 255) positive = false;
-      else return null;
-      const tuple = [];
-      let i;
-      for (i = buf.length - 1; i > 0; i--) {
-        const byte = buf[i];
-        if (positive) tuple.push(byte);
-        else tuple.push(255 - byte);
+    module2.exports = {
+      parseSetCookie,
+      parseUnparsedAttributes
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/index.js
+var require_cookies3 = __commonJS({
+  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+    "use strict";
+    var { parseSetCookie } = require_parse4();
+    var { stringify } = require_util29();
+    var { webidl } = require_webidl3();
+    var { Headers } = require_headers4();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
       }
-      let sum = 0;
-      const l = tuple.length;
-      for (i = 0; i < l; i++) {
-        sum += tuple[i] * Math.pow(256, i);
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
       }
-      return positive ? sum : -1 * sum;
+      return out;
     }
-    function decodeOct(val, offset, length) {
-      val = val.subarray(offset, offset + length);
-      offset = 0;
-      if (val[offset] & 128) {
-        return parse256(val);
-      } else {
-        while (offset < val.length && val[offset] === 32) offset++;
-        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
-        while (offset < end && val[offset] === 0) offset++;
-        if (end === offset) return 0;
-        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
-      }
+    function deleteCookie(headers, name, attributes) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      name = webidl.converters.DOMString(name);
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
     }
-    function decodeStr(val, offset, length, encoding) {
-      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
+      }
+      return cookies.map((pair) => parseSetCookie(pair));
     }
-    function addLength(str2) {
-      const len = b4a.byteLength(str2);
-      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
-      if (len + digits >= Math.pow(10, digits)) digits++;
-      return len + digits + str2;
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", stringify(cookie));
+      }
     }
+    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: null
+      }
+    ]);
+    webidl.converters.Cookie = webidl.dictionaryConverter([
+      {
+        converter: webidl.converters.DOMString,
+        key: "name"
+      },
+      {
+        converter: webidl.converters.DOMString,
+        key: "value"
+      },
+      {
+        converter: webidl.nullableConverter((value) => {
+          if (typeof value === "number") {
+            return webidl.converters["unsigned long long"](value);
+          }
+          return new Date(value);
+        }),
+        key: "expires",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters["long long"]),
+        key: "maxAge",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "secure",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "httpOnly",
+        defaultValue: null
+      },
+      {
+        converter: webidl.converters.USVString,
+        key: "sameSite",
+        allowedValues: ["Strict", "Lax", "None"]
+      },
+      {
+        converter: webidl.sequenceConverter(webidl.converters.DOMString),
+        key: "unparsed",
+        defaultValue: []
+      }
+    ]);
+    module2.exports = {
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
+    };
   }
 });
 
-// node_modules/tar-stream/extract.js
-var require_extract = __commonJS({
-  "node_modules/tar-stream/extract.js"(exports2, module2) {
-    var { Writable, Readable: Readable2, getStreamError } = require_streamx();
-    var FIFO = require_fast_fifo();
-    var b4a = require_b4a();
-    var headers = require_headers3();
-    var EMPTY = b4a.alloc(0);
-    var BufferList = class {
-      constructor() {
-        this.buffered = 0;
-        this.shifted = 0;
-        this.queue = new FIFO();
-        this._offset = 0;
-      }
-      push(buffer) {
-        this.buffered += buffer.byteLength;
-        this.queue.push(buffer);
-      }
-      shiftFirst(size) {
-        return this._buffered === 0 ? null : this._next(size);
-      }
-      shift(size) {
-        if (size > this.buffered) return null;
-        if (size === 0) return EMPTY;
-        let chunk = this._next(size);
-        if (size === chunk.byteLength) return chunk;
-        const chunks = [chunk];
-        while ((size -= chunk.byteLength) > 0) {
-          chunk = this._next(size);
-          chunks.push(chunk);
-        }
-        return b4a.concat(chunks);
+// node_modules/undici/lib/websocket/constants.js
+var require_constants24 = __commonJS({
+  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
+    "use strict";
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    module2.exports = {
+      uid,
+      staticPropertyDescriptors,
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer
+    };
+  }
+});
+
+// node_modules/undici/lib/websocket/symbols.js
+var require_symbols15 = __commonJS({
+  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/undici/lib/websocket/events.js
+var require_events3 = __commonJS({
+  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var { MessagePort } = require("worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
       }
-      _next(size) {
-        const buf = this.queue.peek();
-        const rem = buf.byteLength - this._offset;
-        if (size >= rem) {
-          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
-          this.queue.shift();
-          this._offset = 0;
-          this.buffered -= rem;
-          this.shifted += rem;
-          return sub;
-        }
-        this.buffered -= size;
-        this.shifted += size;
-        return buf.subarray(this._offset, this._offset += size);
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-    };
-    var Source = class extends Readable2 {
-      constructor(self2, header, offset) {
-        super();
-        this.header = header;
-        this.offset = offset;
-        this._parent = self2;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      _read(cb) {
-        if (this.header.size === 0) {
-          this.push(null);
-        }
-        if (this._parent._stream === this) {
-          this._parent._update();
-        }
-        cb(null);
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
       }
-      _predestroy() {
-        this._parent.destroy(getStreamError(this));
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
       }
-      _detach() {
-        if (this._parent._stream === this) {
-          this._parent._stream = null;
-          this._parent._missing = overflow(this.header.size);
-          this._parent._update();
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
         }
+        return this.#eventInit.ports;
       }
-      _destroy(cb) {
-        this._detach();
-        cb(null);
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
       }
     };
-    var Extract = class extends Writable {
-      constructor(opts) {
-        super(opts);
-        if (!opts) opts = {};
-        this._buffer = new BufferList();
-        this._offset = 0;
-        this._header = null;
-        this._stream = null;
-        this._missing = 0;
-        this._longHeader = false;
-        this._callback = noop3;
-        this._locked = false;
-        this._finished = false;
-        this._pax = null;
-        this._paxGlobal = null;
-        this._gnuLongPath = null;
-        this._gnuLongLinkPath = null;
-        this._filenameEncoding = opts.filenameEncoding || "utf-8";
-        this._allowUnknownFormat = !!opts.allowUnknownFormat;
-        this._unlockBound = this._unlock.bind(this);
-      }
-      _unlock(err) {
-        this._locked = false;
-        if (err) {
-          this.destroy(err);
-          this._continueWrite(err);
-          return;
-        }
-        this._update();
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
       }
-      _consumeHeader() {
-        if (this._locked) return false;
-        this._offset = this._buffer.shifted;
-        try {
-          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
-        } catch (err) {
-          this._continueWrite(err);
-          return false;
-        }
-        if (!this._header) return true;
-        switch (this._header.type) {
-          case "gnu-long-path":
-          case "gnu-long-link-path":
-          case "pax-global-header":
-          case "pax-header":
-            this._longHeader = true;
-            this._missing = this._header.size;
-            return true;
-        }
-        this._locked = true;
-        this._applyLongHeaders();
-        if (this._header.size === 0 || this._header.type === "directory") {
-          this.emit("entry", this._header, this._createStream(), this._unlockBound);
-          return true;
-        }
-        this._stream = this._createStream();
-        this._missing = this._header.size;
-        this.emit("entry", this._header, this._stream, this._unlockBound);
-        return true;
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
       }
-      _applyLongHeaders() {
-        if (this._gnuLongPath) {
-          this._header.name = this._gnuLongPath;
-          this._gnuLongPath = null;
-        }
-        if (this._gnuLongLinkPath) {
-          this._header.linkname = this._gnuLongLinkPath;
-          this._gnuLongLinkPath = null;
-        }
-        if (this._pax) {
-          if (this._pax.path) this._header.name = this._pax.path;
-          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
-          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
-          this._header.pax = this._pax;
-          this._pax = null;
-        }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
       }
-      _decodeLongHeader(buf) {
-        switch (this._header.type) {
-          case "gnu-long-path":
-            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "gnu-long-link-path":
-            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "pax-global-header":
-            this._paxGlobal = headers.decodePax(buf);
-            break;
-          case "pax-header":
-            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
-            break;
-        }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
       }
-      _consumeLongHeader() {
-        this._longHeader = false;
-        this._missing = overflow(this._header.size);
-        const buf = this._buffer.shift(this._header.size);
-        try {
-          this._decodeLongHeader(buf);
-        } catch (err) {
-          this._continueWrite(err);
-          return false;
-        }
-        return true;
+    };
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        super(type2, eventInitDict);
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
       }
-      _consumeStream() {
-        const buf = this._buffer.shiftFirst(this._missing);
-        if (buf === null) return false;
-        this._missing -= buf.byteLength;
-        const drained = this._stream.push(buf);
-        if (this._missing === 0) {
-          this._stream.push(null);
-          if (drained) this._stream._detach();
-          return drained && this._locked === false;
-        }
-        return drained;
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
       }
-      _createStream() {
-        return new Source(this, this._header, this._offset);
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
       }
-      _update() {
-        while (this._buffer.buffered > 0 && !this.destroying) {
-          if (this._missing > 0) {
-            if (this._stream !== null) {
-              if (this._consumeStream() === false) return;
-              continue;
-            }
-            if (this._longHeader === true) {
-              if (this._missing > this._buffer.buffered) break;
-              if (this._consumeLongHeader() === false) return false;
-              continue;
-            }
-            const ignore = this._buffer.shiftFirst(this._missing);
-            if (ignore !== null) this._missing -= ignore.byteLength;
-            continue;
-          }
-          if (this._buffer.buffered < 512) break;
-          if (this._stream !== null || this._consumeHeader() === false) return;
-        }
-        this._continueWrite(null);
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
       }
-      _continueWrite(err) {
-        const cb = this._callback;
-        this._callback = noop3;
-        cb(err);
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
       }
-      _write(data, cb) {
-        this._callback = cb;
-        this._buffer.push(data);
-        this._update();
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
       }
-      _final(cb) {
-        this._finished = this._missing === 0 && this._buffer.buffered === 0;
-        cb(this._finished ? null : new Error("Unexpected end of data"));
+    };
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
+      },
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
+      },
+      reason: kEnumerableProperty,
+      code: kEnumerableProperty,
+      wasClean: kEnumerableProperty
+    });
+    Object.defineProperties(ErrorEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "ErrorEvent",
+        configurable: true
+      },
+      message: kEnumerableProperty,
+      filename: kEnumerableProperty,
+      lineno: kEnumerableProperty,
+      colno: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.MessagePort
+    );
+    var eventInit = [
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: false
       }
-      _predestroy() {
-        this._continueWrite(null);
+    ];
+    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "data",
+        converter: webidl.converters.any,
+        defaultValue: null
+      },
+      {
+        key: "origin",
+        converter: webidl.converters.USVString,
+        defaultValue: ""
+      },
+      {
+        key: "lastEventId",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "source",
+        // Node doesn't implement WindowProxy or ServiceWorker, so the only
+        // valid value for source is a MessagePort.
+        converter: webidl.nullableConverter(webidl.converters.MessagePort),
+        defaultValue: null
+      },
+      {
+        key: "ports",
+        converter: webidl.converters["sequence"],
+        get defaultValue() {
+          return [];
+        }
       }
-      _destroy(cb) {
-        if (this._stream) this._stream.destroy(getStreamError(this));
-        cb(null);
+    ]);
+    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "wasClean",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "code",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: 0
+      },
+      {
+        key: "reason",
+        converter: webidl.converters.USVString,
+        defaultValue: ""
       }
-      [Symbol.asyncIterator]() {
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        let entryStream = null;
-        let entryCallback = null;
-        const extract2 = this;
-        this.on("entry", onentry);
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("close", onclose);
-        return {
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(onnext);
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
-          }
-        };
-        function consumeCallback(err) {
-          if (!entryCallback) return;
-          const cb = entryCallback;
-          entryCallback = null;
-          cb(err);
-        }
-        function onnext(resolve8, reject) {
-          if (error3) {
-            return reject(error3);
-          }
-          if (entryStream) {
-            resolve8({ value: entryStream, done: false });
-            entryStream = null;
-            return;
-          }
-          promiseResolve = resolve8;
-          promiseReject = reject;
-          consumeCallback(null);
-          if (extract2._finished && promiseResolve) {
-            promiseResolve({ value: void 0, done: true });
-            promiseResolve = promiseReject = null;
-          }
-        }
-        function onentry(header, stream2, callback) {
-          entryCallback = callback;
-          stream2.on("error", noop3);
-          if (promiseResolve) {
-            promiseResolve({ value: stream2, done: false });
-            promiseResolve = promiseReject = null;
-          } else {
-            entryStream = stream2;
-          }
-        }
-        function onclose() {
-          consumeCallback(error3);
-          if (!promiseResolve) return;
-          if (error3) promiseReject(error3);
-          else promiseResolve({ value: void 0, done: true });
-          promiseResolve = promiseReject = null;
-        }
-        function destroy(err) {
-          extract2.destroy(err);
-          consumeCallback(err);
-          return new Promise((resolve8, reject) => {
-            if (extract2.destroyed) return resolve8({ value: void 0, done: true });
-            extract2.once("close", function() {
-              if (err) reject(err);
-              else resolve8({ value: void 0, done: true });
-            });
-          });
-        }
+    ]);
+    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "message",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "filename",
+        converter: webidl.converters.USVString,
+        defaultValue: ""
+      },
+      {
+        key: "lineno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: 0
+      },
+      {
+        key: "colno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: 0
+      },
+      {
+        key: "error",
+        converter: webidl.converters.any
       }
+    ]);
+    module2.exports = {
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent
     };
-    module2.exports = function extract2(opts) {
-      return new Extract(opts);
-    };
-    function noop3() {
-    }
-    function overflow(size) {
-      size &= 511;
-      return size && 512 - size;
-    }
   }
 });
 
-// node_modules/tar-stream/constants.js
-var require_constants19 = __commonJS({
-  "node_modules/tar-stream/constants.js"(exports2, module2) {
-    var constants = {
-      // just for envs without fs
-      S_IFMT: 61440,
-      S_IFDIR: 16384,
-      S_IFCHR: 8192,
-      S_IFBLK: 24576,
-      S_IFIFO: 4096,
-      S_IFLNK: 40960
-    };
-    try {
-      module2.exports = require("fs").constants || constants;
-    } catch {
-      module2.exports = constants;
+// node_modules/undici/lib/websocket/util.js
+var require_util30 = __commonJS({
+  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols15();
+    var { states, opcodes } = require_constants24();
+    var { MessageEvent, ErrorEvent } = require_events3();
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
     }
-  }
-});
-
-// node_modules/tar-stream/pack.js
-var require_pack = __commonJS({
-  "node_modules/tar-stream/pack.js"(exports2, module2) {
-    var { Readable: Readable2, Writable, getStreamError } = require_streamx();
-    var b4a = require_b4a();
-    var constants = require_constants19();
-    var headers = require_headers3();
-    var DMODE = 493;
-    var FMODE = 420;
-    var END_OF_TAR = b4a.alloc(1024);
-    var Sink = class extends Writable {
-      constructor(pack, header, callback) {
-        super({ mapWritable, eagerOpen: true });
-        this.written = 0;
-        this.header = header;
-        this._callback = callback;
-        this._linkname = null;
-        this._isLinkname = header.type === "symlink" && !header.linkname;
-        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
-        this._finished = false;
-        this._pack = pack;
-        this._openCallback = null;
-        if (this._pack._stream === null) this._pack._stream = this;
-        else this._pack._pending.push(this);
-      }
-      _open(cb) {
-        this._openCallback = cb;
-        if (this._pack._stream === this) this._continueOpen();
-      }
-      _continuePack(err) {
-        if (this._callback === null) return;
-        const callback = this._callback;
-        this._callback = null;
-        callback(err);
-      }
-      _continueOpen() {
-        if (this._pack._stream === null) this._pack._stream = this;
-        const cb = this._openCallback;
-        this._openCallback = null;
-        if (cb === null) return;
-        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
-        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
-        this._pack._stream = this;
-        if (!this._isLinkname) {
-          this._pack._encode(this.header);
-        }
-        if (this._isVoid) {
-          this._finish();
-          this._continuePack(null);
-        }
-        cb(null);
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
+    }
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
+      const event = new eventConstructor(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      _write(data, cb) {
-        if (this._isLinkname) {
-          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
-          return cb(null);
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
+          return;
         }
-        if (this._isVoid) {
-          if (data.byteLength > 0) {
-            return cb(new Error("No body allowed for this entry"));
-          }
-          return cb();
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
+        } else {
+          dataForEvent = new Uint8Array(data).buffer;
         }
-        this.written += data.byteLength;
-        if (this._pack.push(data)) return cb();
-        this._pack._drain = cb;
       }
-      _finish() {
-        if (this._finished) return;
-        this._finished = true;
-        if (this._isLinkname) {
-          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
-          this._pack._encode(this.header);
-        }
-        overflow(this._pack, this.header.size);
-        this._pack._done(this);
+      fireEvent("message", ws, MessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      _final(cb) {
-        if (this.written !== this.header.size) {
-          return cb(new Error("Size mismatch"));
+      for (const char of protocol) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
+        code === 9) {
+          return false;
         }
-        this._finish();
-        cb(null);
       }
-      _getError() {
-        return getStreamError(this) || new Error("tar entry destroyed");
+      return true;
+    }
+    function isValidStatusCode(code) {
+      if (code >= 1e3 && code < 1015) {
+        return code !== 1004 && // reserved
+        code !== 1005 && // "MUST NOT be set as a status code"
+        code !== 1006;
       }
-      _predestroy() {
-        this._pack.destroy(this._getError());
+      return code >= 3e3 && code <= 4999;
+    }
+    function failWebsocketConnection(ws, reason) {
+      const { [kController]: controller, [kResponse]: response } = ws;
+      controller.abort();
+      if (response?.socket && !response.socket.destroyed) {
+        response.socket.destroy();
       }
-      _destroy(cb) {
-        this._pack._done(this);
-        this._continuePack(this._finished ? null : this._getError());
-        cb();
+      if (reason) {
+        fireEvent("error", ws, ErrorEvent, {
+          error: new Error(reason)
+        });
       }
+    }
+    module2.exports = {
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived
     };
-    var Pack = class extends Readable2 {
-      constructor(opts) {
-        super(opts);
-        this._drain = noop3;
-        this._finalized = false;
-        this._finalizing = false;
-        this._pending = [];
-        this._stream = null;
-      }
-      entry(header, buffer, callback) {
-        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
-        if (typeof buffer === "function") {
-          callback = buffer;
-          buffer = null;
-        }
-        if (!callback) callback = noop3;
-        if (!header.size || header.type === "symlink") header.size = 0;
-        if (!header.type) header.type = modeToType(header.mode);
-        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
-        if (!header.uid) header.uid = 0;
-        if (!header.gid) header.gid = 0;
-        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
-        if (typeof buffer === "string") buffer = b4a.from(buffer);
-        const sink = new Sink(this, header, callback);
-        if (b4a.isBuffer(buffer)) {
-          header.size = buffer.byteLength;
-          sink.write(buffer);
-          sink.end();
-          return sink;
-        }
-        if (sink._isVoid) {
-          return sink;
-        }
-        return sink;
-      }
-      finalize() {
-        if (this._stream || this._pending.length > 0) {
-          this._finalizing = true;
-          return;
-        }
-        if (this._finalized) return;
-        this._finalized = true;
-        this.push(END_OF_TAR);
-        this.push(null);
+  }
+});
+
+// node_modules/undici/lib/websocket/connection.js
+var require_connection3 = __commonJS({
+  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+    "use strict";
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { uid, states } = require_constants24();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose
+    } = require_symbols15();
+    var { fireEvent, failWebsocketConnection } = require_util30();
+    var { CloseEvent } = require_events3();
+    var { makeRequest } = require_request6();
+    var { fetching } = require_fetch3();
+    var { Headers } = require_headers4();
+    var { getGlobalDispatcher } = require_global6();
+    var { kHeadersList } = require_symbols11();
+    var channels = {};
+    channels.open = diagnosticsChannel.channel("undici:websocket:open");
+    channels.close = diagnosticsChannel.channel("undici:websocket:close");
+    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url2, protocols, ws, onEstablish, options) {
+      const requestURL = url2;
+      requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = new Headers(options.headers)[kHeadersList];
+        request2.headersList = headersList;
       }
-      _done(stream2) {
-        if (stream2 !== this._stream) return;
-        this._stream = null;
-        if (this._finalizing) this.finalize();
-        if (this._pending.length) this._pending.shift()._continueOpen();
+      const keyValue = crypto2.randomBytes(16).toString("base64");
+      request2.headersList.append("sec-websocket-key", keyValue);
+      request2.headersList.append("sec-websocket-version", "13");
+      for (const protocol of protocols) {
+        request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      _encode(header) {
-        if (!header.pax) {
-          const buf = headers.encode(header);
-          if (buf) {
-            this.push(buf);
+      const permessageDeflate = "";
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
             return;
           }
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
+          }
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
+          }
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
+          }
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
+          }
+          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
+          if (secExtension !== null && secExtension !== permessageDeflate) {
+            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
+            return;
+          }
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+            return;
+          }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response);
         }
-        this._encodePax(header);
-      }
-      _encodePax(header) {
-        const paxHeader = headers.encodePax({
-          name: header.name,
-          linkname: header.linkname,
-          pax: header.pax
-        });
-        const newHeader = {
-          name: "PaxHeader",
-          mode: header.mode,
-          uid: header.uid,
-          gid: header.gid,
-          size: paxHeader.byteLength,
-          mtime: header.mtime,
-          type: "pax-header",
-          linkname: header.linkname && "PaxHeader",
-          uname: header.uname,
-          gname: header.gname,
-          devmajor: header.devmajor,
-          devminor: header.devminor
-        };
-        this.push(headers.encode(newHeader));
-        this.push(paxHeader);
-        overflow(this, paxHeader.byteLength);
-        newHeader.size = header.size;
-        newHeader.type = header.type;
-        this.push(headers.encode(newHeader));
-      }
-      _doDrain() {
-        const drain = this._drain;
-        this._drain = noop3;
-        drain();
-      }
-      _predestroy() {
-        const err = getStreamError(this);
-        if (this._stream) this._stream.destroy(err);
-        while (this._pending.length) {
-          const stream2 = this._pending.shift();
-          stream2.destroy(err);
-          stream2._continueOpen();
-        }
-        this._doDrain();
+      });
+      return controller;
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
       }
-      _read(cb) {
-        this._doDrain();
-        cb();
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kSentClose]) {
+        code = 1006;
       }
-    };
-    module2.exports = function pack(opts) {
-      return new Pack(opts);
-    };
-    function modeToType(mode) {
-      switch (mode & constants.S_IFMT) {
-        case constants.S_IFBLK:
-          return "block-device";
-        case constants.S_IFCHR:
-          return "character-device";
-        case constants.S_IFDIR:
-          return "directory";
-        case constants.S_IFIFO:
-          return "fifo";
-        case constants.S_IFLNK:
-          return "symlink";
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, CloseEvent, {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
+        });
       }
-      return "file";
     }
-    function noop3() {
-    }
-    function overflow(self2, size) {
-      size &= 511;
-      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
-    }
-    function mapWritable(buf) {
-      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
     }
+    module2.exports = {
+      establishWebSocketConnection
+    };
   }
 });
 
-// node_modules/tar-stream/index.js
-var require_tar_stream = __commonJS({
-  "node_modules/tar-stream/index.js"(exports2) {
-    exports2.extract = require_extract();
-    exports2.pack = require_pack();
-  }
-});
-
-// node_modules/archiver/lib/plugins/tar.js
-var require_tar2 = __commonJS({
-  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
-    var zlib3 = require("zlib");
-    var engine = require_tar_stream();
-    var util = require_archiver_utils();
-    var Tar = function(options) {
-      if (!(this instanceof Tar)) {
-        return new Tar(options);
-      }
-      options = this.options = util.defaults(options, {
-        gzip: false
-      });
-      if (typeof options.gzipOptions !== "object") {
-        options.gzipOptions = {};
-      }
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = engine.pack(options);
-      this.compressor = false;
-      if (options.gzip) {
-        this.compressor = zlib3.createGzip(options.gzipOptions);
-        this.compressor.on("error", this._onCompressorError.bind(this));
+// node_modules/undici/lib/websocket/frame.js
+var require_frame3 = __commonJS({
+  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants24();
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+        this.maskKey = crypto2.randomBytes(4);
       }
-    };
-    Tar.prototype._onCompressorError = function(err) {
-      this.engine.emit("error", err);
-    };
-    Tar.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.mtime = data.date;
-      function append(err, sourceBuffer) {
-        if (err) {
-          callback(err);
-          return;
+      createFrame(opcode) {
+        const bodyLength = this.frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
         }
-        self2.engine.entry(data, sourceBuffer, function(err2) {
-          callback(err2, data);
-        });
-      }
-      if (data.sourceType === "buffer") {
-        append(null, source);
-      } else if (data.sourceType === "stream" && data.stats) {
-        data.size = data.stats.size;
-        var entry = self2.engine.entry(data, function(err) {
-          callback(err, data);
-        });
-        source.pipe(entry);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, append);
-      }
-    };
-    Tar.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Tar.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Tar.prototype.pipe = function(destination, options) {
-      if (this.compressor) {
-        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
-      } else {
-        return this.engine.pipe.apply(this.engine, arguments);
+        const buffer = Buffer.allocUnsafe(bodyLength + offset);
+        buffer[0] = buffer[1] = 0;
+        buffer[0] |= 128;
+        buffer[0] = (buffer[0] & 240) + opcode;
+        buffer[offset - 4] = this.maskKey[0];
+        buffer[offset - 3] = this.maskKey[1];
+        buffer[offset - 2] = this.maskKey[2];
+        buffer[offset - 1] = this.maskKey[3];
+        buffer[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer[2] = buffer[3] = 0;
+          buffer.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer[1] |= 128;
+        for (let i = 0; i < bodyLength; i++) {
+          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        }
+        return buffer;
       }
     };
-    Tar.prototype.unpipe = function() {
-      if (this.compressor) {
-        return this.compressor.unpipe.apply(this.compressor, arguments);
-      } else {
-        return this.engine.unpipe.apply(this.engine, arguments);
-      }
+    module2.exports = {
+      WebsocketFrameSend
     };
-    module2.exports = Tar;
   }
 });
 
-// node_modules/buffer-crc32/dist/index.cjs
-var require_dist5 = __commonJS({
-  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
+// node_modules/undici/lib/websocket/receiver.js
+var require_receiver3 = __commonJS({
+  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
     "use strict";
-    function getDefaultExportFromCjs(x) {
-      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
-    }
-    var CRC_TABLE = new Int32Array([
-      0,
-      1996959894,
-      3993919788,
-      2567524794,
-      124634137,
-      1886057615,
-      3915621685,
-      2657392035,
-      249268274,
-      2044508324,
-      3772115230,
-      2547177864,
-      162941995,
-      2125561021,
-      3887607047,
-      2428444049,
-      498536548,
-      1789927666,
-      4089016648,
-      2227061214,
-      450548861,
-      1843258603,
-      4107580753,
-      2211677639,
-      325883990,
-      1684777152,
-      4251122042,
-      2321926636,
-      335633487,
-      1661365465,
-      4195302755,
-      2366115317,
-      997073096,
-      1281953886,
-      3579855332,
-      2724688242,
-      1006888145,
-      1258607687,
-      3524101629,
-      2768942443,
-      901097722,
-      1119000684,
-      3686517206,
-      2898065728,
-      853044451,
-      1172266101,
-      3705015759,
-      2882616665,
-      651767980,
-      1373503546,
-      3369554304,
-      3218104598,
-      565507253,
-      1454621731,
-      3485111705,
-      3099436303,
-      671266974,
-      1594198024,
-      3322730930,
-      2970347812,
-      795835527,
-      1483230225,
-      3244367275,
-      3060149565,
-      1994146192,
-      31158534,
-      2563907772,
-      4023717930,
-      1907459465,
-      112637215,
-      2680153253,
-      3904427059,
-      2013776290,
-      251722036,
-      2517215374,
-      3775830040,
-      2137656763,
-      141376813,
-      2439277719,
-      3865271297,
-      1802195444,
-      476864866,
-      2238001368,
-      4066508878,
-      1812370925,
-      453092731,
-      2181625025,
-      4111451223,
-      1706088902,
-      314042704,
-      2344532202,
-      4240017532,
-      1658658271,
-      366619977,
-      2362670323,
-      4224994405,
-      1303535960,
-      984961486,
-      2747007092,
-      3569037538,
-      1256170817,
-      1037604311,
-      2765210733,
-      3554079995,
-      1131014506,
-      879679996,
-      2909243462,
-      3663771856,
-      1141124467,
-      855842277,
-      2852801631,
-      3708648649,
-      1342533948,
-      654459306,
-      3188396048,
-      3373015174,
-      1466479909,
-      544179635,
-      3110523913,
-      3462522015,
-      1591671054,
-      702138776,
-      2966460450,
-      3352799412,
-      1504918807,
-      783551873,
-      3082640443,
-      3233442989,
-      3988292384,
-      2596254646,
-      62317068,
-      1957810842,
-      3939845945,
-      2647816111,
-      81470997,
-      1943803523,
-      3814918930,
-      2489596804,
-      225274430,
-      2053790376,
-      3826175755,
-      2466906013,
-      167816743,
-      2097651377,
-      4027552580,
-      2265490386,
-      503444072,
-      1762050814,
-      4150417245,
-      2154129355,
-      426522225,
-      1852507879,
-      4275313526,
-      2312317920,
-      282753626,
-      1742555852,
-      4189708143,
-      2394877945,
-      397917763,
-      1622183637,
-      3604390888,
-      2714866558,
-      953729732,
-      1340076626,
-      3518719985,
-      2797360999,
-      1068828381,
-      1219638859,
-      3624741850,
-      2936675148,
-      906185462,
-      1090812512,
-      3747672003,
-      2825379669,
-      829329135,
-      1181335161,
-      3412177804,
-      3160834842,
-      628085408,
-      1382605366,
-      3423369109,
-      3138078467,
-      570562233,
-      1426400815,
-      3317316542,
-      2998733608,
-      733239954,
-      1555261956,
-      3268935591,
-      3050360625,
-      752459403,
-      1541320221,
-      2607071920,
-      3965973030,
-      1969922972,
-      40735498,
-      2617837225,
-      3943577151,
-      1913087877,
-      83908371,
-      2512341634,
-      3803740692,
-      2075208622,
-      213261112,
-      2463272603,
-      3855990285,
-      2094854071,
-      198958881,
-      2262029012,
-      4057260610,
-      1759359992,
-      534414190,
-      2176718541,
-      4139329115,
-      1873836001,
-      414664567,
-      2282248934,
-      4279200368,
-      1711684554,
-      285281116,
-      2405801727,
-      4167216745,
-      1634467795,
-      376229701,
-      2685067896,
-      3608007406,
-      1308918612,
-      956543938,
-      2808555105,
-      3495958263,
-      1231636301,
-      1047427035,
-      2932959818,
-      3654703836,
-      1088359270,
-      936918e3,
-      2847714899,
-      3736837829,
-      1202900863,
-      817233897,
-      3183342108,
-      3401237130,
-      1404277552,
-      615818150,
-      3134207493,
-      3453421203,
-      1423857449,
-      601450431,
-      3009837614,
-      3294710456,
-      1567103746,
-      711928724,
-      3020668471,
-      3272380065,
-      1510334235,
-      755167117
-    ]);
-    function ensureBuffer(input) {
-      if (Buffer.isBuffer(input)) {
-        return input;
+    var { Writable } = require("stream");
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { parserStates, opcodes, states, emptyBuffer } = require_constants24();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols15();
+    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util30();
+    var { WebsocketFrameSend } = require_frame3();
+    var channels = {};
+    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
+    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      constructor(ws) {
+        super();
+        this.ws = ws;
       }
-      if (typeof input === "number") {
-        return Buffer.alloc(input);
-      } else if (typeof input === "string") {
-        return Buffer.from(input);
-      } else {
-        throw new Error("input must be buffer, number, or string, received " + typeof input);
+      /**
+       * @param {Buffer} chunk
+       * @param {() => void} callback
+       */
+      _write(chunk, _2, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        this.run(callback);
+      }
+      /**
+       * Runs whenever a new chunk is received.
+       * Callback is called whenever there are no more chunks buffering,
+       * or not enough bytes are buffered to parse.
+       */
+      run(callback) {
+        while (true) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.fin = (buffer[0] & 128) !== 0;
+            this.#info.opcode = buffer[0] & 15;
+            this.#info.originalOpcode ??= this.#info.opcode;
+            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
+            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            const payloadLength = buffer[1] & 127;
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (this.#info.fragmented && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
+              return;
+            } else if (this.#info.opcode === opcodes.CLOSE) {
+              if (payloadLength === 1) {
+                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+                return;
+              }
+              const body = this.consume(payloadLength);
+              this.#info.closeInfo = this.parseCloseBody(false, body);
+              if (!this.ws[kSentClose]) {
+                const body2 = Buffer.allocUnsafe(2);
+                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+                const closeFrame = new WebsocketFrameSend(body2);
+                this.ws[kResponse].socket.write(
+                  closeFrame.createFrame(opcodes.CLOSE),
+                  (err) => {
+                    if (!err) {
+                      this.ws[kSentClose] = true;
+                    }
+                  }
+                );
+              }
+              this.ws[kReadyState] = states.CLOSING;
+              this.ws[kReceivedClose] = true;
+              this.end();
+              return;
+            } else if (this.#info.opcode === opcodes.PING) {
+              const body = this.consume(payloadLength);
+              if (!this.ws[kReceivedClose]) {
+                const frame = new WebsocketFrameSend(body);
+                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+                if (channels.ping.hasSubscribers) {
+                  channels.ping.publish({
+                    payload: body
+                  });
+                }
+              }
+              this.#state = parserStates.INFO;
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            } else if (this.#info.opcode === opcodes.PONG) {
+              const body = this.consume(payloadLength);
+              if (channels.pong.hasSubscribers) {
+                channels.pong.publish({
+                  payload: body
+                });
+              }
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            }
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            } else if (this.#byteOffset >= this.#info.payloadLength) {
+              const body = this.consume(this.#info.payloadLength);
+              this.#fragments.push(body);
+              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
+                const fullMessage = Buffer.concat(this.#fragments);
+                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
+                this.#info = {};
+                this.#fragments.length = 0;
+              }
+              this.#state = parserStates.INFO;
+            }
+          }
+          if (this.#byteOffset > 0) {
+            continue;
+          } else {
+            callback();
+            break;
+          }
+        }
+      }
+      /**
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer|null}
+       */
+      consume(n) {
+        if (n > this.#byteOffset) {
+          return null;
+        } else if (n === 0) {
+          return emptyBuffer;
+        }
+        if (this.#buffers[0].length === n) {
+          this.#byteOffset -= this.#buffers[0].length;
+          return this.#buffers.shift();
+        }
+        const buffer = Buffer.allocUnsafe(n);
+        let offset = 0;
+        while (offset !== n) {
+          const next = this.#buffers[0];
+          const { length } = next;
+          if (length + offset === n) {
+            buffer.set(this.#buffers.shift(), offset);
+            break;
+          } else if (length + offset > n) {
+            buffer.set(next.subarray(0, n - offset), offset);
+            this.#buffers[0] = next.subarray(n - offset);
+            break;
+          } else {
+            buffer.set(this.#buffers.shift(), offset);
+            offset += next.length;
+          }
+        }
+        this.#byteOffset -= n;
+        return buffer;
       }
-    }
-    function bufferizeInt(num) {
-      const tmp = ensureBuffer(4);
-      tmp.writeInt32BE(num, 0);
-      return tmp;
-    }
-    function _crc32(buf, previous) {
-      buf = ensureBuffer(buf);
-      if (Buffer.isBuffer(previous)) {
-        previous = previous.readUInt32BE(0);
+      parseCloseBody(onlyCode, data) {
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
+        }
+        if (onlyCode) {
+          if (!isValidStatusCode(code)) {
+            return null;
+          }
+          return { code };
+        }
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
+        }
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return null;
+        }
+        try {
+          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+        } catch {
+          return null;
+        }
+        return { code, reason };
       }
-      let crc = ~~previous ^ -1;
-      for (var n = 0; n < buf.length; n++) {
-        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
-      return crc ^ -1;
-    }
-    function crc32() {
-      return bufferizeInt(_crc32.apply(null, arguments));
-    }
-    crc32.signed = function() {
-      return _crc32.apply(null, arguments);
     };
-    crc32.unsigned = function() {
-      return _crc32.apply(null, arguments) >>> 0;
+    module2.exports = {
+      ByteParser
     };
-    var bufferCrc32 = crc32;
-    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
-    module2.exports = index;
   }
 });
 
-// node_modules/archiver/lib/plugins/json.js
-var require_json = __commonJS({
-  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var Transform = require_ours().Transform;
-    var crc32 = require_dist5();
-    var util = require_archiver_utils();
-    var Json = function(options) {
-      if (!(this instanceof Json)) {
-        return new Json(options);
-      }
-      options = this.options = util.defaults(options, {});
-      Transform.call(this, options);
-      this.supports = {
-        directory: true,
-        symlink: true
+// node_modules/undici/lib/websocket/websocket.js
+var require_websocket3 = __commonJS({
+  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2 } = require_constants21();
+    var { URLSerializer } = require_dataURL();
+    var { getGlobalOrigin } = require_global5();
+    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants24();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols15();
+    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util30();
+    var { establishWebSocketConnection } = require_connection3();
+    var { WebsocketFrameSend } = require_frame3();
+    var { ByteParser } = require_receiver3();
+    var { kEnumerableProperty, isBlobLike } = require_util24();
+    var { getGlobalDispatcher } = require_global6();
+    var { types } = require("util");
+    var experimentalWarned = false;
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-      this.files = [];
-    };
-    inherits(Json, Transform);
-    Json.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
-    };
-    Json.prototype._writeStringified = function() {
-      var fileString = JSON.stringify(this.files);
-      this.write(fileString);
-    };
-    Json.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.crc32 = 0;
-      function onend(err, sourceBuffer) {
-        if (err) {
-          callback(err);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url2, protocols = []) {
+        super();
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
+            code: "UNDICI-WS"
+          });
+        }
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
+        url2 = webidl.converters.USVString(url2);
+        protocols = options.protocols;
+        const baseURL = getGlobalOrigin();
+        let urlRecord;
+        try {
+          urlRecord = new URL(url2, baseURL);
+        } catch (e) {
+          throw new DOMException2(e, "SyntaxError");
+        }
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
+        }
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException2(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
+        }
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException2("Got fragment", "SyntaxError");
+        }
+        if (typeof protocols === "string") {
+          protocols = [protocols];
+        }
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          this,
+          (response) => this.#onConnectionEstablished(response),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kBinaryType] = "blob";
+      }
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
+       * @param {number|undefined} code
+       * @param {string|undefined} reason
+       */
+      close(code = void 0, reason = void 0) {
+        webidl.brandCheck(this, _WebSocket);
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason);
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException2("invalid code", "InvalidAccessError");
+          }
+        }
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException2(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
+          }
+        }
+        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
+        } else if (!isEstablished(this)) {
+          failWebsocketConnection(this, "Connection was closed before it was established.");
+          this[kReadyState] = _WebSocket.CLOSING;
+        } else if (!isClosing(this)) {
+          const frame = new WebsocketFrameSend();
+          if (code !== void 0 && reason === void 0) {
+            frame.frameData = Buffer.allocUnsafe(2);
+            frame.frameData.writeUInt16BE(code, 0);
+          } else if (code !== void 0 && reason !== void 0) {
+            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+            frame.frameData.writeUInt16BE(code, 0);
+            frame.frameData.write(reason, 2, "utf-8");
+          } else {
+            frame.frameData = emptyBuffer;
+          }
+          const socket = this[kResponse].socket;
+          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
+            if (!err) {
+              this[kSentClose] = true;
+            }
+          });
+          this[kReadyState] = states.CLOSING;
+        } else {
+          this[kReadyState] = _WebSocket.CLOSING;
+        }
+      }
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
+        data = webidl.converters.WebSocketSendData(data);
+        if (this[kReadyState] === _WebSocket.CONNECTING) {
+          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
           return;
         }
-        data.size = sourceBuffer.length || 0;
-        data.crc32 = crc32.unsigned(sourceBuffer);
-        self2.files.push(data);
-        callback(null, data);
+        const socket = this[kResponse].socket;
+        if (typeof data === "string") {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.TEXT);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (types.isArrayBuffer(data)) {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (ArrayBuffer.isView(data)) {
+          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
+          const frame = new WebsocketFrameSend(ab);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += ab.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= ab.byteLength;
+          });
+        } else if (isBlobLike(data)) {
+          const frame = new WebsocketFrameSend();
+          data.arrayBuffer().then((ab) => {
+            const value = Buffer.from(ab);
+            frame.frameData = value;
+            const buffer = frame.createFrame(opcodes.BINARY);
+            this.#bufferedAmount += value.byteLength;
+            socket.write(buffer, () => {
+              this.#bufferedAmount -= value.byteLength;
+            });
+          });
+        }
       }
-      if (data.sourceType === "buffer") {
-        onend(null, source);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, onend);
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-    };
-    Json.prototype.finalize = function() {
-      this._writeStringified();
-      this.end();
-    };
-    module2.exports = Json;
-  }
-});
-
-// node_modules/archiver/index.js
-var require_archiver = __commonJS({
-  "node_modules/archiver/index.js"(exports2, module2) {
-    var Archiver = require_core2();
-    var formats = {};
-    var vending = function(format, options) {
-      return vending.create(format, options);
-    };
-    vending.create = function(format, options) {
-      if (formats[format]) {
-        var instance = new Archiver(format, options);
-        instance.setFormat(format);
-        instance.setModule(new formats[format](options));
-        return instance;
-      } else {
-        throw new Error("create(" + format + "): format not registered");
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-    };
-    vending.registerFormat = function(format, module3) {
-      if (formats[format]) {
-        throw new Error("register(" + format + "): format already registered");
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      if (typeof module3 !== "function") {
-        throw new Error("register(" + format + "): format module invalid");
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
-        throw new Error("register(" + format + "): format module missing methods");
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      formats[format] = module3;
-    };
-    vending.isRegisteredFormat = function(format) {
-      if (formats[format]) {
-        return true;
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-      return false;
-    };
-    vending.registerFormat("zip", require_zip());
-    vending.registerFormat("tar", require_tar2());
-    vending.registerFormat("json", require_json());
-    module2.exports = vending;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/zip.js
-var require_zip2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      set onopen(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
+        }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+      set onerror(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
+        }
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
+      }
+      set onclose(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.close) {
+          this.removeEventListener("close", this.#events.close);
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
         }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
+      }
+      set onmessage(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
+        }
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
-    var stream2 = __importStar2(require("stream"));
-    var promises_1 = require("fs/promises");
-    var archiver2 = __importStar2(require_archiver());
-    var core17 = __importStar2(require_core());
-    var config_1 = require_config2();
-    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
-    var ZipUploadStream = class extends stream2.Transform {
-      constructor(bufferSize) {
-        super({
-          highWaterMark: bufferSize
-        });
       }
-      // eslint-disable-next-line @typescript-eslint/no-explicit-any
-      _transform(chunk, enc, cb) {
-        cb(null, chunk);
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-    };
-    exports2.ZipUploadStream = ZipUploadStream;
-    function createZipUploadStream(uploadSpecification_1) {
-      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
-        core17.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
-        const zip = archiver2.create("zip", {
-          highWaterMark: (0, config_1.getUploadChunkSize)(),
-          zlib: { level: compressionLevel }
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
+      }
+      /**
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
+       */
+      #onConnectionEstablished(response) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this);
+        parser.on("drain", function onParserDrain() {
+          this.ws[kResponse].socket.resume();
         });
-        zip.on("error", zipErrorCallback);
-        zip.on("warning", zipWarningCallback);
-        zip.on("finish", zipFinishCallback);
-        zip.on("end", zipEndCallback);
-        for (const file of uploadSpecification) {
-          if (file.sourcePath !== null) {
-            let sourcePath = file.sourcePath;
-            if (file.stats.isSymbolicLink()) {
-              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
-            }
-            zip.file(sourcePath, {
-              name: file.destinationPath
-            });
-          } else {
-            zip.append("", { name: file.destinationPath });
-          }
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
         }
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const zipUploadStream = new ZipUploadStream(bufferSize);
-        core17.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
-        core17.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
-        zip.pipe(zipUploadStream);
-        zip.finalize();
-        return zipUploadStream;
-      });
-    }
-    exports2.createZipUploadStream = createZipUploadStream;
-    var zipErrorCallback = (error3) => {
-      core17.error("An error has occurred while creating the zip file for upload");
-      core17.info(error3);
-      throw new Error("An error has occurred during zip creation for the artifact");
-    };
-    var zipWarningCallback = (error3) => {
-      if (error3.code === "ENOENT") {
-        core17.warning("ENOENT warning during artifact zip creation. No such file or directory");
-        core17.info(error3);
-      } else {
-        core17.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
-        core17.info(error3);
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
     };
-    var zipFinishCallback = () => {
-      core17.debug("Zip stream for upload has finished.");
-    };
-    var zipEndCallback = () => {
-      core17.debug("Zip stream for upload has ended.");
-    };
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
-var require_upload_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
+    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
+    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
+    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
+    Object.defineProperties(WebSocket.prototype, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors,
+      url: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      bufferedAmount: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onclose: kEnumerableProperty,
+      close: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      binaryType: kEnumerableProperty,
+      send: kEnumerableProperty,
+      extensions: kEnumerableProperty,
+      protocol: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
+        configurable: true
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
     });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve8) {
-          resolve8(value);
-        });
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
+    });
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
+    );
+    webidl.converters["DOMString or sequence"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-      return new (P || (P = Promise))(function(resolve8, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve8(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
+      return webidl.converters.DOMString(V);
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadArtifact = void 0;
-    var core17 = __importStar2(require_core());
-    var retention_1 = require_retention();
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var upload_zip_specification_1 = require_upload_zip_specification();
-    var util_1 = require_util18();
-    var blob_upload_1 = require_blob_upload();
-    var zip_1 = require_zip2();
-    var generated_1 = require_generated();
-    var errors_1 = require_errors4();
-    function uploadArtifact(name, files, rootDirectory, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
-        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
-        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
-        if (zipSpecification.length === 0) {
-          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
-        }
-        const backendIds = (0, util_1.getBackendIdsFromToken)();
-        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
-        const createArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          version: 4
-        };
-        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
-        if (expiresAt) {
-          createArtifactReq.expiresAt = expiresAt;
-        }
-        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
-        if (!createArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
-        }
-        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
-        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
-        const finalizeArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
-        };
-        if (uploadResult.sha256Hash) {
-          finalizeArtifactReq.hash = generated_1.StringValue.create({
-            value: `sha256:${uploadResult.sha256Hash}`
-          });
-        }
-        core17.info(`Finalizing artifact upload`);
-        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
-        if (!finalizeArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+      {
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        get defaultValue() {
+          return [];
         }
-        const artifactId = BigInt(finalizeArtifactResp.artifactId);
-        core17.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
-        return {
-          size: uploadResult.uploadSize,
-          digest: uploadResult.sha256Hash,
-          id: Number(artifactId)
-        };
-      });
-    }
-    exports2.uploadArtifact = uploadArtifact;
-  }
-});
-
-// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
-var require_context2 = __commonJS({
-  "node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Context = void 0;
-    var fs_1 = require("fs");
-    var os_1 = require("os");
-    var Context = class {
-      /**
-       * Hydrate the context from the environment
-       */
-      constructor() {
-        var _a, _b, _c;
-        this.payload = {};
-        if (process.env.GITHUB_EVENT_PATH) {
-          if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) {
-            this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" }));
-          } else {
-            const path16 = process.env.GITHUB_EVENT_PATH;
-            process.stdout.write(`GITHUB_EVENT_PATH ${path16} does not exist${os_1.EOL}`);
-          }
+      },
+      {
+        key: "dispatcher",
+        converter: (V) => V,
+        get defaultValue() {
+          return getGlobalDispatcher();
         }
-        this.eventName = process.env.GITHUB_EVENT_NAME;
-        this.sha = process.env.GITHUB_SHA;
-        this.ref = process.env.GITHUB_REF;
-        this.workflow = process.env.GITHUB_WORKFLOW;
-        this.action = process.env.GITHUB_ACTION;
-        this.actor = process.env.GITHUB_ACTOR;
-        this.job = process.env.GITHUB_JOB;
-        this.runAttempt = parseInt(process.env.GITHUB_RUN_ATTEMPT, 10);
-        this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);
-        this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);
-        this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;
-        this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;
-        this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;
+      },
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      get issue() {
-        const payload = this.payload;
-        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      get repo() {
-        if (process.env.GITHUB_REPOSITORY) {
-          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
-          return { owner, repo };
+      return { protocols: webidl.converters["DOMString or sequence"](V) };
+    };
+    webidl.converters.WebSocketSendData = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
         }
-        if (this.payload.repository) {
-          return {
-            owner: this.payload.repository.owner.login,
-            repo: this.payload.repository.name
-          };
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
         }
-        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
       }
+      return webidl.converters.USVString(V);
+    };
+    module2.exports = {
+      WebSocket
     };
-    exports2.Context = Context;
   }
 });
 
-// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
-var require_proxy2 = __commonJS({
-  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
+// node_modules/undici/index.js
+var require_undici3 = __commonJS({
+  "node_modules/undici/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.checkBypass = exports2.getProxyUrl = void 0;
-    function getProxyUrl(reqUrl) {
-      const usingSsl = reqUrl.protocol === "https:";
-      if (checkBypass(reqUrl)) {
-        return void 0;
-      }
-      const proxyVar = (() => {
-        if (usingSsl) {
-          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+    var Client = require_client3();
+    var Dispatcher = require_dispatcher3();
+    var errors = require_errors6();
+    var Pool = require_pool3();
+    var BalancedPool = require_balanced_pool3();
+    var Agent = require_agent3();
+    var util = require_util24();
+    var { InvalidArgumentError } = errors;
+    var api = require_api3();
+    var buildConnector = require_connect3();
+    var MockClient = require_mock_client3();
+    var MockAgent = require_mock_agent3();
+    var MockPool = require_mock_pool3();
+    var mockErrors = require_mock_errors3();
+    var ProxyAgent = require_proxy_agent3();
+    var RetryHandler = require_RetryHandler();
+    var { getGlobalDispatcher, setGlobalDispatcher } = require_global6();
+    var DecoratorHandler = require_DecoratorHandler();
+    var RedirectHandler = require_RedirectHandler();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var hasCrypto;
+    try {
+      require("crypto");
+      hasCrypto = true;
+    } catch {
+      hasCrypto = false;
+    }
+    Object.assign(Dispatcher.prototype, api);
+    module2.exports.Dispatcher = Dispatcher;
+    module2.exports.Client = Client;
+    module2.exports.Pool = Pool;
+    module2.exports.BalancedPool = BalancedPool;
+    module2.exports.Agent = Agent;
+    module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.RetryHandler = RetryHandler;
+    module2.exports.DecoratorHandler = DecoratorHandler;
+    module2.exports.RedirectHandler = RedirectHandler;
+    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.buildConnector = buildConnector;
+    module2.exports.errors = errors;
+    function makeDispatcher(fn) {
+      return (url2, opts, handler2) => {
+        if (typeof opts === "function") {
+          handler2 = opts;
+          opts = null;
+        }
+        if (!url2 || typeof url2 !== "string" && typeof url2 !== "object" && !(url2 instanceof URL)) {
+          throw new InvalidArgumentError("invalid url");
+        }
+        if (opts != null && typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (opts && opts.path != null) {
+          if (typeof opts.path !== "string") {
+            throw new InvalidArgumentError("invalid opts.path");
+          }
+          let path16 = opts.path;
+          if (!opts.path.startsWith("/")) {
+            path16 = `/${path16}`;
+          }
+          url2 = new URL(util.parseOrigin(url2).origin + path16);
         } else {
-          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+          if (!opts) {
+            opts = typeof url2 === "object" ? url2 : {};
+          }
+          url2 = util.parseURL(url2);
         }
-      })();
-      if (proxyVar) {
-        try {
-          return new DecodedURL(proxyVar);
-        } catch (_a) {
-          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
-            return new DecodedURL(`http://${proxyVar}`);
+        const { agent, dispatcher = getGlobalDispatcher() } = opts;
+        if (agent) {
+          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
         }
-      } else {
-        return void 0;
-      }
+        return fn.call(dispatcher, {
+          ...opts,
+          origin: url2.origin,
+          path: url2.search ? `${url2.pathname}${url2.search}` : url2.pathname,
+          method: opts.method || (opts.body ? "PUT" : "GET")
+        }, handler2);
+      };
     }
-    exports2.getProxyUrl = getProxyUrl;
-    function checkBypass(reqUrl) {
-      if (!reqUrl.hostname) {
-        return false;
-      }
-      const reqHost = reqUrl.hostname;
-      if (isLoopbackAddress(reqHost)) {
-        return true;
-      }
-      const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || "";
-      if (!noProxy) {
-        return false;
-      }
-      let reqPort;
-      if (reqUrl.port) {
-        reqPort = Number(reqUrl.port);
-      } else if (reqUrl.protocol === "http:") {
-        reqPort = 80;
-      } else if (reqUrl.protocol === "https:") {
-        reqPort = 443;
-      }
-      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
-      if (typeof reqPort === "number") {
-        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
-      }
-      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
-        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
-          return true;
+    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
+    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
+    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
+      let fetchImpl = null;
+      module2.exports.fetch = async function fetch(resource) {
+        if (!fetchImpl) {
+          fetchImpl = require_fetch3().fetch;
         }
-      }
-      return false;
+        try {
+          return await fetchImpl(...arguments);
+        } catch (err) {
+          if (typeof err === "object") {
+            Error.captureStackTrace(err, this);
+          }
+          throw err;
+        }
+      };
+      module2.exports.Headers = require_headers4().Headers;
+      module2.exports.Response = require_response4().Response;
+      module2.exports.Request = require_request6().Request;
+      module2.exports.FormData = require_formdata3().FormData;
+      module2.exports.File = require_file5().File;
+      module2.exports.FileReader = require_filereader3().FileReader;
+      const { setGlobalOrigin, getGlobalOrigin } = require_global5();
+      module2.exports.setGlobalOrigin = setGlobalOrigin;
+      module2.exports.getGlobalOrigin = getGlobalOrigin;
+      const { CacheStorage } = require_cachestorage3();
+      const { kConstruct } = require_symbols14();
+      module2.exports.caches = new CacheStorage(kConstruct);
     }
-    exports2.checkBypass = checkBypass;
-    function isLoopbackAddress(host) {
-      const hostLower = host.toLowerCase();
-      return hostLower === "localhost" || hostLower.startsWith("127.") || hostLower.startsWith("[::1]") || hostLower.startsWith("[0:0:0:0:0:0:0:1]");
+    if (util.nodeMajor >= 16) {
+      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies3();
+      module2.exports.deleteCookie = deleteCookie;
+      module2.exports.getCookies = getCookies;
+      module2.exports.getSetCookies = getSetCookies;
+      module2.exports.setCookie = setCookie;
+      const { parseMIMEType, serializeAMimeType } = require_dataURL();
+      module2.exports.parseMIMEType = parseMIMEType;
+      module2.exports.serializeAMimeType = serializeAMimeType;
     }
-    var DecodedURL = class extends URL {
-      constructor(url2, base) {
-        super(url2, base);
-        this._decodedUsername = decodeURIComponent(super.username);
-        this._decodedPassword = decodeURIComponent(super.password);
-      }
-      get username() {
-        return this._decodedUsername;
-      }
-      get password() {
-        return this._decodedPassword;
-      }
-    };
+    if (util.nodeMajor >= 18 && hasCrypto) {
+      const { WebSocket } = require_websocket3();
+      module2.exports.WebSocket = WebSocket;
+    }
+    module2.exports.request = makeDispatcher(api.request);
+    module2.exports.stream = makeDispatcher(api.stream);
+    module2.exports.pipeline = makeDispatcher(api.pipeline);
+    module2.exports.connect = makeDispatcher(api.connect);
+    module2.exports.upgrade = makeDispatcher(api.upgrade);
+    module2.exports.MockClient = MockClient;
+    module2.exports.MockPool = MockPool;
+    module2.exports.MockAgent = MockAgent;
+    module2.exports.mockErrors = mockErrors;
   }
 });
 
@@ -126988,7 +145241,7 @@ var require_lib4 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy2());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -127544,7 +145797,7 @@ var require_lib4 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js
-var require_utils9 = __commonJS({
+var require_utils10 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -127604,7 +145857,7 @@ var require_utils9 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getApiBaseUrl = exports2.getProxyFetch = exports2.getProxyAgentDispatcher = exports2.getProxyAgent = exports2.getAuthString = void 0;
     var httpClient = __importStar2(require_lib4());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     function getAuthString(token, options) {
       if (!token && !options.auth) {
         throw new Error("Parameter token or opts.auth is required");
@@ -131450,7 +149703,7 @@ var require_dist_node10 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js
-var require_utils10 = __commonJS({
+var require_utils11 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -131483,7 +149736,7 @@ var require_utils10 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokitOptions = exports2.GitHub = exports2.defaults = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var Utils = __importStar2(require_utils9());
+    var Utils = __importStar2(require_utils10());
     var core_1 = require_dist_node8();
     var plugin_rest_endpoint_methods_1 = require_dist_node9();
     var plugin_paginate_rest_1 = require_dist_node10();
@@ -131543,7 +149796,7 @@ var require_github2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokit = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     exports2.context = new Context.Context();
     function getOctokit(token, options, ...additionalPlugins) {
       const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
@@ -133502,7 +151755,7 @@ var require_download_artifact = __commonJS({
     var config_1 = require_config2();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var errors_1 = require_errors4();
     var scrubQueryParameters = (url2) => {
       const parsed = new URL(url2);
@@ -133884,10 +152137,10 @@ var require_get_artifact = __commonJS({
     var github_1 = require_github2();
     var plugin_retry_1 = require_dist_node12();
     var core17 = __importStar2(require_core());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var retry_options_1 = require_retry_options();
     var plugin_request_log_1 = require_dist_node11();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var user_agent_1 = require_user_agent2();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
@@ -134008,11 +152261,11 @@ var require_delete_artifact = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent2();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var generated_1 = require_generated();
     var get_artifact_1 = require_get_artifact();
     var errors_1 = require_errors4();
@@ -134114,11 +152367,11 @@ var require_list_artifacts = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent2();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var config_1 = require_config2();
     var generated_1 = require_generated();
     var maximumArtifactCount = (0, config_1.getMaxArtifactListCount)();
@@ -134235,7 +152488,7 @@ var require_list_artifacts = __commonJS({
 });
 
 // node_modules/@actions/artifact/lib/internal/client.js
-var require_client3 = __commonJS({
+var require_client4 = __commonJS({
   "node_modules/@actions/artifact/lib/internal/client.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -134422,17 +152675,17 @@ var require_artifact2 = __commonJS({
       for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var client_1 = require_client3();
+    var client_1 = require_client4();
     __exportStar2(require_interfaces2(), exports2);
     __exportStar2(require_errors4(), exports2);
-    __exportStar2(require_client3(), exports2);
+    __exportStar2(require_client4(), exports2);
     var client = new client_1.DefaultArtifactClient();
     exports2.default = client;
   }
 });
 
 // node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js
-var require_utils11 = __commonJS({
+var require_utils12 = __commonJS({
   "node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -134497,7 +152750,7 @@ var require_command2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.issue = exports2.issueCommand = void 0;
     var os4 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueCommand(command, properties, message) {
       const cmd = new Command(command, properties, message);
       process.stdout.write(cmd.toString() + os4.EOL);
@@ -134585,7 +152838,7 @@ var require_file_command2 = __commonJS({
     var crypto2 = __importStar2(require("crypto"));
     var fs18 = __importStar2(require("fs"));
     var os4 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueFileCommand(command, message) {
       const filePath = process.env[`GITHUB_${command}`];
       if (!filePath) {
@@ -134760,7 +153013,7 @@ var require_lib5 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy3());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -137053,7 +155306,7 @@ var require_core3 = __commonJS({
     exports2.platform = exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = exports2.markdownSummary = exports2.summary = exports2.getIDToken = exports2.getState = exports2.saveState = exports2.group = exports2.endGroup = exports2.startGroup = exports2.info = exports2.notice = exports2.warning = exports2.error = exports2.debug = exports2.isDebug = exports2.setFailed = exports2.setCommandEcho = exports2.setOutput = exports2.getBooleanInput = exports2.getMultilineInput = exports2.getInput = exports2.addPath = exports2.setSecret = exports2.exportVariable = exports2.ExitCode = void 0;
     var command_1 = require_command2();
     var file_command_1 = require_file_command2();
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     var os4 = __importStar2(require("os"));
     var path16 = __importStar2(require("path"));
     var oidc_utils_1 = require_oidc_utils2();
@@ -138126,7 +156379,7 @@ var require_crc64 = __commonJS({
 });
 
 // node_modules/@actions/artifact-legacy/lib/internal/utils.js
-var require_utils12 = __commonJS({
+var require_utils13 = __commonJS({
   "node_modules/@actions/artifact-legacy/lib/internal/utils.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -138436,7 +156689,7 @@ var require_http_manager = __commonJS({
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.HttpManager = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var HttpManager = class {
       constructor(clientCount, userAgent2) {
         if (clientCount < 1) {
@@ -138691,7 +156944,7 @@ var require_requestUtils2 = __commonJS({
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.retryHttpClientRequest = exports2.retry = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var core17 = __importStar2(require_core3());
     var config_variables_1 = require_config_variables();
     function retry2(name, operation, customErrorMessages, maxAttempts) {
@@ -138812,7 +157065,7 @@ var require_upload_http_client = __commonJS({
     var core17 = __importStar2(require_core3());
     var tmp = __importStar2(require_tmp_promise());
     var stream2 = __importStar2(require("stream"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var config_variables_1 = require_config_variables();
     var util_1 = require("util");
     var url_1 = require("url");
@@ -139203,7 +157456,7 @@ var require_download_http_client = __commonJS({
     var fs18 = __importStar2(require("fs"));
     var core17 = __importStar2(require_core3());
     var zlib3 = __importStar2(require("zlib"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var url_1 = require("url");
     var status_reporter_1 = require_status_reporter();
     var perf_hooks_1 = require("perf_hooks");
@@ -139546,7 +157799,7 @@ var require_artifact_client = __commonJS({
     var core17 = __importStar2(require_core3());
     var upload_specification_1 = require_upload_specification();
     var upload_http_client_1 = require_upload_http_client();
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation2();
     var download_http_client_1 = require_download_http_client();
     var download_specification_1 = require_download_specification();
@@ -146015,7 +164268,7 @@ function wrapApiConfigurationError(e) {
     ].some((pattern) => pattern.test(httpError.message))) {
       return new ConfigurationError(httpError.message);
     }
-    if (httpError.message.includes("Bad credentials") || httpError.message.includes("Not Found")) {
+    if (httpError.message.includes("Bad credentials") || httpError.message.includes("Not Found") || httpError.message.includes("Requires authentication")) {
       return new ConfigurationError(
         "Please check that your token is valid and has the required permissions: contents: read, security-events: write"
       );
@@ -146366,8 +164619,8 @@ var path4 = __toESM(require("path"));
 var semver5 = __toESM(require_semver2());
 
 // src/defaults.json
-var bundleVersion = "codeql-bundle-v2.24.0";
-var cliVersion = "2.24.0";
+var bundleVersion = "codeql-bundle-v2.24.1";
+var cliVersion = "2.24.1";
 
 // src/overlay-database-utils.ts
 var fs3 = __toESM(require("fs"));
@@ -151736,10 +169989,12 @@ async function runWrapper() {
 void runWrapper();
 /*! Bundled license information:
 
+undici/lib/web/fetch/body.js:
 undici/lib/web/fetch/body.js:
 undici/lib/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
+undici/lib/web/websocket/frame.js:
 undici/lib/web/websocket/frame.js:
 undici/lib/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
diff --git a/lib/init-action.js b/lib/init-action.js
index 2ece3392d6..c1e515dbcb 100644
--- a/lib/init-action.js
+++ b/lib/init-action.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT");
+    var AbortError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+        this.message = message || "The operation was aborted";
+        this.code = "UND_ERR_ABORT";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         this.name = "InformationalError";
         this.message = message || "Request information";
         this.code = "UND_ERR_INFO";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInformationalError] === true;
+      }
+      [kInformationalError] = true;
     };
-    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE");
+    var ResponseError = class extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        this.name = "ResponseError";
+        this.message = message || "Response error";
+        this.code = "UND_ERR_RESPONSE";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseError] === true;
+      }
+      [kResponseError] = true;
+    };
+    var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS");
+    var SecureProxyConnectionError = class extends UndiciError {
+      constructor(cause, message, options) {
+        super(message, { cause, ...options ?? {} });
+        this.name = "SecureProxyConnectionError";
+        this.message = message || "Secure Proxy Connection failed";
+        this.code = "UND_ERR_PRX_TLS";
+        this.cause = cause;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSecureProxyConnectionError] === true;
+      }
+      [kSecureProxyConnectionError] = true;
     };
     module2.exports = {
+      AbortError,
       HTTPParserError,
       UndiciError,
       HeadersTimeoutError,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              node.middle = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.code < code) {
+            if (node.left !== null) {
+              node = node.left;
+            } else {
+              node.left = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.right !== null) {
+            node = node.right;
+          } else {
+            node.right = new _TstNode(key, value, index);
+            break;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    var TernarySearchTree = class {
+      /** @type {TstNode | null} */
+      node = null;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * */
+      insert(key, value) {
+        if (this.node === null) {
+          this.node = new TstNode(key, value, 0);
+        } else {
+          this.node.add(key, value);
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {any}
+       */
+      lookup(key) {
+        return this.node?.search(key)?.value ?? null;
+      }
+    };
+    var tree = new TernarySearchTree();
+    for (let i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]];
+      tree.insert(key, key);
+    }
+    module2.exports = {
+      TernarySearchTree,
+      tree
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream2 = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream2 = require("node:stream");
+    var net = require("node:net");
+    var { Blob: Blob2 } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var { stringify } = require("node:querystring");
+    var { EventEmitter: EE } = require("node:events");
     var { InvalidArgumentError } = require_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      if (object === null) {
+        return false;
+      } else if (object instanceof Blob2) {
+        return true;
+      } else if (typeof object !== "object") {
+        return false;
+      } else {
+        const sTag = object[Symbol.toStringTag];
+        return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function");
+      }
     }
     function buildURL(url, queryParams) {
       if (url.includes("?") || url.includes("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       return url;
     }
+    function isValidPort(port) {
+      const value = parseInt(port, 10);
+      return value === Number(port) && value >= 0 && value <= 65535;
+    }
+    function isHttpOrHttpsPrefixed(value) {
+      return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
+    }
     function parseURL(url) {
       if (typeof url === "string") {
         url = new URL(url);
-        if (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         if (url.origin != null && typeof url.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
-        let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
+        let origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
         let path16 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path16 && !path16.startsWith("/")) {
+        if (path16 && path16[0] !== "/") {
           path16 = `/${path16}`;
         }
-        url = new URL(origin + path16);
+        return new URL(`${origin}${path16}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream3) {
-      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
-    }
-    function isReadableAborted(stream3) {
-      const state = stream3 && stream3._readableState;
-      return isDestroyed(stream3) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body));
     }
     function destroy(stream3, err) {
       if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream3.destroy(err);
       } else if (err) {
-        process.nextTick((stream4, err2) => {
-          stream4.emit("error", err2);
-        }, stream3, err);
+        queueMicrotask(() => {
+          stream3.emit("error", err);
+        });
       }
       if (stream3.destroyed !== true) {
         stream3[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        if (val) {
+          if (typeof val === "string") {
             val = [val];
             obj[key] = val;
           }
           val.push(headers[i + 1].toString("utf8"));
+        } else {
+          const headersValue = headers[i + 1];
+          if (typeof headersValue === "string") {
+            obj[key] = headersValue;
+          } else {
+            obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      const len = headers.length;
+      const ret = new Array(len);
       let hasContentLength = false;
       let contentDispositionIdx = -1;
+      let key;
+      let val;
+      let kLen = 0;
       for (let n = 0; n < headers.length; n += 2) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        key = headers[n];
+        val = headers[n + 1];
+        typeof key !== "string" && (key = key.toString());
+        typeof val !== "string" && (val = val.toString("utf8"));
+        kLen = key.length;
+        if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) {
           hasContentLength = true;
-        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream2.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          type: "bytes"
+        }
       );
     }
     function isFormDataLike(object) {
       return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
     }
-    function throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.toUSVString(val);
+      return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val);
+    }
+    function isUSVString(val) {
+      return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`;
+    }
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
+      }
+    }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
+        }
       }
-      return `${val}`;
+      return true;
+    }
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    function isValidHeaderValue(characters) {
+      return !headerCharRegex.test(characters);
     }
     function parseRangeHeader(range) {
       if (range == null || range === "") return { start: 0, end: null, size: null };
@@ -22290,25 +22632,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
+    var normalizedMethodRecordsBase = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    var normalizedMethodRecords = {
+      ...normalizedMethodRecordsBase,
+      patch: "patch",
+      PATCH: "PATCH"
+    };
+    Object.setPrototypeOf(normalizedMethodRecordsBase, null);
+    Object.setPrototypeOf(normalizedMethodRecords, null);
+    module2.exports = {
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isUSVString,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
       isStream,
       isIterable,
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,15673 +22708,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    var diagnosticsChannel = require("node:diagnostics_channel");
+    var util = require("node:util");
+    var undiciDebugLog = util.debuglog("undici");
+    var fetchDebuglog = util.debuglog("fetch");
+    var websocketDebuglog = util.debuglog("websocket");
+    var isClientSet = false;
+    var channels = {
+      // Client
+      beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
+      connected: diagnosticsChannel.channel("undici:client:connected"),
+      connectError: diagnosticsChannel.channel("undici:client:connectError"),
+      sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
+      // Request
+      create: diagnosticsChannel.channel("undici:request:create"),
+      bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
+      headers: diagnosticsChannel.channel("undici:request:headers"),
+      trailers: diagnosticsChannel.channel("undici:request:trailers"),
+      error: diagnosticsChannel.channel("undici:request:error"),
+      // WebSocket
+      open: diagnosticsChannel.channel("undici:websocket:open"),
+      close: diagnosticsChannel.channel("undici:websocket:close"),
+      socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
+      ping: diagnosticsChannel.channel("undici:websocket:ping"),
+      pong: diagnosticsChannel.channel("undici:websocket:pong")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
+      const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog;
+      diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connecting to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connected to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host },
+          error: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path16);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path16,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path16);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path16, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path16,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    if (websocketDebuglog.enabled) {
+      if (!isClientSet) {
+        const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog;
+        diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connecting to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connected to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host },
+            error: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path16, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path16);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => {
+        const {
+          address: { address, port }
+        } = evt;
+        websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : "");
+      });
+      diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => {
+        const { websocket, code, reason } = evt;
+        websocketDebuglog(
+          "closed connection to %s - %s %s",
+          websocket.url,
+          code,
+          reason
+        );
+      });
+      diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => {
+        websocketDebuglog("connection errored - %s", err.message);
+      });
+      diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => {
+        websocketDebuglog("ping received");
+      });
+      diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => {
+        websocketDebuglog("pong received");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path16,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path16 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path16)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
+          throw new InvalidArgumentError("invalid request method");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path16, query) : path16;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
           }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      }
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    function processHeader(request2, key, val) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path16) {
-      if (typeof path16 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path16.length - 1; i >= 0; --i) {
-        switch (path16.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path16 = path16.slice(i + 1);
-            return path16 === ".." || path16 === "." ? "" : path16;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path16 === ".." || path16 === "." ? "" : path16;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable: Readable2 } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        request2.host = val;
+      } else if (request2.contentLength === null && headerName === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } else if (request2.contentType === null && headerName === "content-type") {
+        request2.contentType = val;
+        request2.headers.push(key, val);
+      } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
+        throw new InvalidArgumentError(`invalid ${headerName} header`);
+      } else if (headerName === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
         }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable2.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable2);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      compose(...args) {
+        const interceptors = Array.isArray(args[0]) ? args[0] : args;
+        let dispatch = this.dispatch.bind(this);
+        for (const interceptor of interceptors) {
+          if (interceptor == null) {
+            continue;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve9, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve9(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve9, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve9(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
+        }
+        if (!err) {
+          err = new ClientDestroyedError();
+        }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
+        });
+      }
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
+        }
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
+        }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
+      }
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
+        }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
+          }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
+          }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
+          }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
+          }
+          handler2.onError(err);
+          return false;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer");
+    var fastTimers = [];
+    var NOT_IN_LIST = -2;
+    var TO_BE_CLEARED = -1;
+    var PENDING = 0;
+    var ACTIVE = 1;
+    function onTick() {
+      fastNow += TICK_MS;
+      let idx = 0;
+      let len = fastTimers.length;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer._state === PENDING) {
+          timer._idleStart = fastNow - TICK_MS;
+          timer._state = ACTIVE;
+        } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
+          timer._state = TO_BE_CLEARED;
+          timer._idleStart = -1;
+          timer._onTimeout(timer._timerArg);
+        }
+        if (timer._state === TO_BE_CLEARED) {
+          timer._state = NOT_IN_LIST;
+          if (--len !== 0) {
+            fastTimers[idx] = fastTimers[len];
+          }
+        } else {
+          ++idx;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
-    function getGlobalOrigin() {
-      return globalThis[globalOrigin];
     }
-    function setGlobalOrigin(newOrigin) {
-      if (newOrigin === void 0) {
-        Object.defineProperty(globalThis, globalOrigin, {
-          value: void 0,
-          writable: true,
-          enumerable: false,
-          configurable: false
-        });
-        return;
+    var FastTimer = class {
+      [kFastTimer] = true;
+      /**
+       * The state of the timer, which can be one of the following:
+       * - NOT_IN_LIST (-2)
+       * - TO_BE_CLEARED (-1)
+       * - PENDING (0)
+       * - ACTIVE (1)
+       *
+       * @type {-2|-1|0|1}
+       * @private
+       */
+      _state = NOT_IN_LIST;
+      /**
+       * The number of milliseconds to wait before calling the callback.
+       *
+       * @type {number}
+       * @private
+       */
+      _idleTimeout = -1;
+      /**
+       * The time in milliseconds when the timer was started. This value is used to
+       * calculate when the timer should expire.
+       *
+       * @type {number}
+       * @default -1
+       * @private
+       */
+      _idleStart = -1;
+      /**
+       * The function to be executed when the timer expires.
+       * @type {Function}
+       * @private
+       */
+      _onTimeout;
+      /**
+       * The argument to be passed to the callback when the timer expires.
+       *
+       * @type {*}
+       * @private
+       */
+      _timerArg;
+      /**
+       * @constructor
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should wait
+       * before the specified function or code is executed.
+       * @param {*} arg
+       */
+      constructor(callback, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * Sets the timer's start time to the current time, and reschedules the timer
+       * to call its callback at the previously specified duration adjusted to the
+       * current time.
+       * Using this on a timer that has already called its callback will reactivate
+       * the timer.
+       *
+       * @returns {void}
+       */
+      refresh() {
+        if (this._state === NOT_IN_LIST) {
+          fastTimers.push(this);
+        }
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
+        }
+        this._state = PENDING;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * The setTimeout() method sets a timer which executes a function once the
+       * timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {NodeJS.Timeout|FastTimer}
+       */
+      setTimeout(callback, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated Timer previously created
+       * by calling setTimeout.
+       *
+       * @param {NodeJS.Timeout|FastTimer} timeout
+       */
+      clearTimeout(timeout) {
+        if (timeout[kFastTimer]) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
+      },
+      /**
+       * The setFastTimeout() method sets a fastTimer which executes a function once
+       * the timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {FastTimer}
+       */
+      setFastTimeout(callback, delay2, arg) {
+        return new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated FastTimer previously
+       * created by calling setFastTimeout.
+       *
+       * @param {FastTimer} timeout
+       */
+      clearFastTimeout(timeout) {
+        timeout.clear();
+      },
+      /**
+       * The now method returns the value of the internal fast timer clock.
+       *
+       * @returns {number}
+       */
+      now() {
+        return fastNow;
+      },
+      /**
+       * Trigger the onTick function to process the fastTimers array.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       * @param {number} [delay=0] The delay in milliseconds to add to the now value.
+       */
+      tick(delay2 = 0) {
+        fastNow += delay2 - RESOLUTION_MS + 1;
+        onTick();
+        onTick();
+      },
+      /**
+       * Reset FastTimers.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      reset() {
+        fastNow = 0;
+        fastTimers.length = 0;
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = null;
+      },
+      /**
+       * Exporting for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      kFastTimer
     };
   }
 });
 
-// node_modules/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance4 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto3;
-    try {
-      crypto3 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto3.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
-    } catch {
-    }
-    function responseURL(response) {
-      const urlList = response.urlList;
-      const length = urlList.length;
-      return length === 0 ? null : urlList[length - 1].toString();
-    }
-    function responseLocationURL(response, requestFragment) {
-      if (!redirectStatusSet.has(response.status)) {
-        return null;
-      }
-      let location = response.headersList.get("location");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
-        return "blocked";
-      }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    function isValidReasonPhrase(statusText) {
-      for (let i = 0; i < statusText.length; ++i) {
-        const c = statusText.charCodeAt(i);
-        if (!(c === 9 || // HTAB
-        c >= 32 && c <= 126 || // SP / VCHAR
-        c >= 128 && c <= 255)) {
-          return false;
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
         }
-      }
-      return true;
-    }
-    function isTokenCharCode(c) {
-      switch (c) {
-        case 34:
-        case 40:
-        case 41:
-        case 44:
-        case 47:
-        case 58:
-        case 59:
-        case 60:
-        case 61:
-        case 62:
-        case 63:
-        case 64:
-        case 91:
-        case 92:
-        case 93:
-        case 123:
-        case 125:
-          return false;
-        default:
-          return c >= 33 && c <= 126;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      if (policy !== "") {
-        request2.referrerPolicy = policy;
-      }
-    }
-    function crossOriginResourcePolicyCheck() {
-      return "allowed";
-    }
-    function corsCheck() {
-      return "success";
-    }
-    function TAOCheck() {
-      return "success";
-    }
-    function appendFetchMetadata(httpRequest) {
-      let header = null;
-      header = httpRequest.mode;
-      httpRequest.headersList.set("sec-fetch-mode", header);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance4.now();
-    }
-    function createOpaqueTimingInfo(timingInfo) {
-      return {
-        startTime: timingInfo.startTime ?? 0,
-        redirectStartTime: 0,
-        redirectEndTime: 0,
-        postRedirectStartTime: timingInfo.startTime ?? 0,
-        finalServiceWorkerStartTime: 0,
-        finalNetworkResponseStartTime: 0,
-        finalNetworkRequestStartTime: 0,
-        endTime: 0,
-        encodedBodySize: 0,
-        decodedBodySize: 0,
-        finalConnectionTimingInfo: null
-      };
-    }
-    function makePolicyContainer() {
-      return {
-        referrerPolicy: "strict-origin-when-cross-origin"
-      };
-    }
-    function clonePolicyContainer(policyContainer) {
-      return {
-        referrerPolicy: policyContainer.referrerPolicy
       };
-    }
-    function determineRequestsReferrer(request2) {
-      const policy = request2.referrerPolicy;
-      assert(policy);
-      let referrerSource = null;
-      if (request2.referrer === "client") {
-        const globalOrigin = getGlobalOrigin();
-        if (!globalOrigin || globalOrigin.origin === "null") {
-          return "no-referrer";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        referrerSource = new URL(globalOrigin);
-      } else if (request2.referrer instanceof URL) {
-        referrerSource = request2.referrer;
-      }
-      let referrerURL = stripURLForReferrer(referrerSource);
-      const referrerOrigin = stripURLForReferrer(referrerSource, true);
-      if (referrerURL.toString().length > 4096) {
-        referrerURL = referrerOrigin;
-      }
-      const areSameOrigin = sameOrigin(request2, referrerURL);
-      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
-      switch (policy) {
-        case "origin":
-          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
-        case "unsafe-url":
-          return referrerURL;
-        case "same-origin":
-          return areSameOrigin ? referrerOrigin : "no-referrer";
-        case "origin-when-cross-origin":
-          return areSameOrigin ? referrerURL : referrerOrigin;
-        case "strict-origin-when-cross-origin": {
-          const currentURL = requestCurrentURL(request2);
-          if (sameOrigin(referrerURL, currentURL)) {
-            return referrerURL;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url, originOnly) {
-      assert(url instanceof URL);
-      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url.username = "";
-      url.password = "";
-      url.hash = "";
-      if (originOnly) {
-        url.pathname = "";
-        url.search = "";
-      }
-      return url;
-    }
-    function isURLPotentiallyTrustworthy(url) {
-      if (!(url instanceof URL)) {
-        return false;
-      }
-      if (url.href === "about:blank" || url.href === "about:srcdoc") {
-        return true;
-      }
-      if (url.protocol === "data:") return true;
-      if (url.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto3 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
       }
-      const strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto3.createHash(algorithm).update(bytes).digest("base64");
-        if (actualValue[actualValue.length - 1] === "=") {
-          if (actualValue[actualValue.length - 2] === "=") {
-            actualValue = actualValue.slice(0, -2);
-          } else {
-            actualValue = actualValue.slice(0, -1);
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("node:tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          assert(sessionKey);
+          const session = customSession || sessionCache.get(sessionKey) || null;
+          port = port || 443;
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          port = port || 80;
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port,
+            host: hostname
+          });
         }
-        if (compareBase64Mixed(actualValue, expectedValue)) {
-          return true;
-        }
-      }
-      return false;
-    }
-    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
-    function parseMetadata(metadata) {
-      const result = [];
-      let empty = true;
-      for (const token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
-          continue;
-        }
-        const algorithm = parsedToken.groups.algo.toLowerCase();
-        if (supportedHashes.includes(algorithm)) {
-          result.push(parsedToken.groups);
-        }
-      }
-      if (empty === true) {
-        return "no metadata";
-      }
-      return result;
-    }
-    function getStrongestMetadata(metadataList) {
-      let algorithm = metadataList[0].algo;
-      if (algorithm[3] === "5") {
-        return algorithm;
-      }
-      for (let i = 1; i < metadataList.length; ++i) {
-        const metadata = metadataList[i];
-        if (metadata.algo[3] === "5") {
-          algorithm = "sha512";
-          break;
-        } else if (algorithm[3] === "3") {
-          continue;
-        } else if (metadata.algo[3] === "3") {
-          algorithm = "sha384";
-        }
-      }
-      return algorithm;
-    }
-    function filterMetadataListByAlgorithm(metadataList, algorithm) {
-      if (metadataList.length === 1) {
-        return metadataList;
-      }
-      let pos = 0;
-      for (let i = 0; i < metadataList.length; ++i) {
-        if (metadataList[i].algo === algorithm) {
-          metadataList[pos++] = metadataList[i];
-        }
-      }
-      metadataList.length = pos;
-      return metadataList;
-    }
-    function compareBase64Mixed(actualValue, expectedValue) {
-      if (actualValue.length !== expectedValue.length) {
-        return false;
-      }
-      for (let i = 0; i < actualValue.length; ++i) {
-        if (actualValue[i] !== expectedValue[i]) {
-          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
-            continue;
-          }
-          return false;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      return true;
-    }
-    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
-    }
-    function sameOrigin(A, B) {
-      if (A.origin === B.origin && A.origin === "null") {
-        return true;
-      }
-      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
-        return true;
-      }
-      return false;
-    }
-    function createDeferredPromise() {
-      let res;
-      let rej;
-      const promise = new Promise((resolve9, reject) => {
-        res = resolve9;
-        rej = reject;
-      });
-      return { promise, resolve: res, reject: rej };
-    }
-    function isAborted(fetchParams) {
-      return fetchParams.controller.state === "aborted";
-    }
-    function isCancelled(fetchParams) {
-      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
-    }
-    function serializeJavascriptValueToJSONString(value) {
-      const result = JSON.stringify(value);
-      if (result === void 0) {
-        throw new TypeError("Value is not JSON serializable");
-      }
-      assert(typeof result === "string");
-      return result;
-    }
-    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port });
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream2) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      let s1 = null;
+      let s2 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    } : (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      let s1 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          onConnectTimeout(socketWeakRef.deref(), opts);
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+      };
+    };
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
+        return;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    async function readAllBytes(reader) {
-      const bytes = [];
-      let byteLength = 0;
-      while (true) {
-        const { done, value: chunk } = await reader.read();
-        if (done) {
-          return Buffer.concat(bytes, byteLength);
-        }
-        if (!isUint8Array(chunk)) {
-          throw new TypeError("Received non-Uint8Array chunk");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        bytes.push(chunk);
-        byteLength += chunk.length;
-      }
-    }
-    function urlIsLocal(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
-    }
-    function urlHasHttpsScheme(url) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
-      }
-      return url.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.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
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    "use strict";
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEVDF8LQZIBIQMgASAERg2aAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGhzwBqLQAARw1dIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAybAgsgAkEANgIAIAZBAWohAUEeDF4LIAEgBEYEQEGTASEDDJoCCyABLQAAQcwARw1bIAFBAWohAUEKDF0LIAEgBEYEQEGUASEDDJkCCwJAAkAgAS0AAEHBAGsODwBcXFxcXFxcXFxcXFxcAVwLIAFBAWohAUH+ACEDDIACCyABQQFqIQFB/wAhAwz/AQsgASAERgRAQZUBIQMMmAILAkACQCABLQAAQcEAaw4DAFsBWwsgAUEBaiEBQf0AIQMM/wELIAFBAWohAUGAASEDDP4BC0GWASEDIAEgBEYNlgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBp88Aai0AAEcNWSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlwILIAJBADYCACAGQQFqIQFBCwxaCyABIARGBEBBlwEhAwyWAgsCQAJAAkACQCABLQAAQS1rDiMAW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1sBW1tbW1sCW1tbA1sLIAFBAWohAUH7ACEDDP8BCyABQQFqIQFB/AAhAwz+AQsgAUEBaiEBQYEBIQMM/QELIAFBAWohAUGCASEDDPwBC0GYASEDIAEgBEYNlAIgAigCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABBqc8Aai0AAEcNVyAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlQILIAJBADYCACAGQQFqIQFBGQxYC0GZASEDIAEgBEYNkwIgAigCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBrs8Aai0AAEcNViAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlAILIAJBADYCACAGQQFqIQFBBgxXC0GaASEDIAEgBEYNkgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBtM8Aai0AAEcNVSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkwILIAJBADYCACAGQQFqIQFBHAxWC0GbASEDIAEgBEYNkQIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBts8Aai0AAEcNVCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkgILIAJBADYCACAGQQFqIQFBJwxVCyABIARGBEBBnAEhAwyRAgsCQAJAIAEtAABB1ABrDgIAAVQLIAFBAWohAUGGASEDDPgBCyABQQFqIQFBhwEhAwz3AQtBnQEhAyABIARGDY8CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjPAGotAABHDVIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADJACCyACQQA2AgAgBkEBaiEBQSYMUwtBngEhAyABIARGDY4CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbrPAGotAABHDVEgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI8CCyACQQA2AgAgBkEBaiEBQQMMUgtBnwEhAyABIARGDY0CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDVAgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI4CCyACQQA2AgAgBkEBaiEBQQwMUQtBoAEhAyABIARGDYwCIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQbzPAGotAABHDU8gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI0CCyACQQA2AgAgBkEBaiEBQQ0MUAsgASAERgRAQaEBIQMMjAILAkACQCABLQAAQcYAaw4LAE9PT09PT09PTwFPCyABQQFqIQFBiwEhAwzzAQsgAUEBaiEBQYwBIQMM8gELIAEgBEYEQEGiASEDDIsCCyABLQAAQdAARw1MIAFBAWohAQxGCyABIARGBEBBowEhAwyKAgsCQAJAIAEtAABByQBrDgcBTU1NTU0ATQsgAUEBaiEBQY4BIQMM8QELIAFBAWohAUEiDE0LQaQBIQMgASAERg2IAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHAzwBqLQAARw1LIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyJAgsgAkEANgIAIAZBAWohAUEdDEwLIAEgBEYEQEGlASEDDIgCCwJAAkAgAS0AAEHSAGsOAwBLAUsLIAFBAWohAUGQASEDDO8BCyABQQFqIQFBBAxLCyABIARGBEBBpgEhAwyHAgsCQAJAAkACQAJAIAEtAABBwQBrDhUATU1NTU1NTU1NTQFNTQJNTQNNTQRNCyABQQFqIQFBiAEhAwzxAQsgAUEBaiEBQYkBIQMM8AELIAFBAWohAUGKASEDDO8BCyABQQFqIQFBjwEhAwzuAQsgAUEBaiEBQZEBIQMM7QELQacBIQMgASAERg2FAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHtzwBqLQAARw1IIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyGAgsgAkEANgIAIAZBAWohAUERDEkLQagBIQMgASAERg2EAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHCzwBqLQAARw1HIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyFAgsgAkEANgIAIAZBAWohAUEsDEgLQakBIQMgASAERg2DAiACKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHFzwBqLQAARw1GIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyEAgsgAkEANgIAIAZBAWohAUErDEcLQaoBIQMgASAERg2CAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHKzwBqLQAARw1FIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyDAgsgAkEANgIAIAZBAWohAUEUDEYLIAEgBEYEQEGrASEDDIICCwJAAkACQAJAIAEtAABBwgBrDg8AAQJHR0dHR0dHR0dHRwNHCyABQQFqIQFBkwEhAwzrAQsgAUEBaiEBQZQBIQMM6gELIAFBAWohAUGVASEDDOkBCyABQQFqIQFBlgEhAwzoAQsgASAERgRAQawBIQMMgQILIAEtAABBxQBHDUIgAUEBaiEBDD0LQa0BIQMgASAERg3/ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHNzwBqLQAARw1CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyAAgsgAkEANgIAIAZBAWohAUEODEMLIAEgBEYEQEGuASEDDP8BCyABLQAAQdAARw1AIAFBAWohAUElDEILQa8BIQMgASAERg39ASACKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEHQzwBqLQAARw1AIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz+AQsgAkEANgIAIAZBAWohAUEqDEELIAEgBEYEQEGwASEDDP0BCwJAAkAgAS0AAEHVAGsOCwBAQEBAQEBAQEABQAsgAUEBaiEBQZoBIQMM5AELIAFBAWohAUGbASEDDOMBCyABIARGBEBBsQEhAwz8AQsCQAJAIAEtAABBwQBrDhQAPz8/Pz8/Pz8/Pz8/Pz8/Pz8/AT8LIAFBAWohAUGZASEDDOMBCyABQQFqIQFBnAEhAwziAQtBsgEhAyABIARGDfoBIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQdnPAGotAABHDT0gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPsBCyACQQA2AgAgBkEBaiEBQSEMPgtBswEhAyABIARGDfkBIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQd3PAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPoBCyACQQA2AgAgBkEBaiEBQRoMPQsgASAERgRAQbQBIQMM+QELAkACQAJAIAEtAABBxQBrDhEAPT09PT09PT09AT09PT09Aj0LIAFBAWohAUGdASEDDOEBCyABQQFqIQFBngEhAwzgAQsgAUEBaiEBQZ8BIQMM3wELQbUBIQMgASAERg33ASACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHkzwBqLQAARw06IABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz4AQsgAkEANgIAIAZBAWohAUEoDDsLQbYBIQMgASAERg32ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHqzwBqLQAARw05IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz3AQsgAkEANgIAIAZBAWohAUEHDDoLIAEgBEYEQEG3ASEDDPYBCwJAAkAgAS0AAEHFAGsODgA5OTk5OTk5OTk5OTkBOQsgAUEBaiEBQaEBIQMM3QELIAFBAWohAUGiASEDDNwBC0G4ASEDIAEgBEYN9AEgAigCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB7c8Aai0AAEcNNyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9QELIAJBADYCACAGQQFqIQFBEgw4C0G5ASEDIAEgBEYN8wEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8M8Aai0AAEcNNiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9AELIAJBADYCACAGQQFqIQFBIAw3C0G6ASEDIAEgBEYN8gEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8s8Aai0AAEcNNSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8wELIAJBADYCACAGQQFqIQFBDww2CyABIARGBEBBuwEhAwzyAQsCQAJAIAEtAABByQBrDgcANTU1NTUBNQsgAUEBaiEBQaUBIQMM2QELIAFBAWohAUGmASEDDNgBC0G8ASEDIAEgBEYN8AEgAigCACIAIAQgAWtqIQUgASAAa0EHaiEGAkADQCABLQAAIABB9M8Aai0AAEcNMyAAQQdGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8QELIAJBADYCACAGQQFqIQFBGww0CyABIARGBEBBvQEhAwzwAQsCQAJAAkAgAS0AAEHCAGsOEgA0NDQ0NDQ0NDQBNDQ0NDQ0AjQLIAFBAWohAUGkASEDDNgBCyABQQFqIQFBpwEhAwzXAQsgAUEBaiEBQagBIQMM1gELIAEgBEYEQEG+ASEDDO8BCyABLQAAQc4ARw0wIAFBAWohAQwsCyABIARGBEBBvwEhAwzuAQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQcEAaw4VAAECAz8EBQY/Pz8HCAkKCz8MDQ4PPwsgAUEBaiEBQegAIQMM4wELIAFBAWohAUHpACEDDOIBCyABQQFqIQFB7gAhAwzhAQsgAUEBaiEBQfIAIQMM4AELIAFBAWohAUHzACEDDN8BCyABQQFqIQFB9gAhAwzeAQsgAUEBaiEBQfcAIQMM3QELIAFBAWohAUH6ACEDDNwBCyABQQFqIQFBgwEhAwzbAQsgAUEBaiEBQYQBIQMM2gELIAFBAWohAUGFASEDDNkBCyABQQFqIQFBkgEhAwzYAQsgAUEBaiEBQZgBIQMM1wELIAFBAWohAUGgASEDDNYBCyABQQFqIQFBowEhAwzVAQsgAUEBaiEBQaoBIQMM1AELIAEgBEcEQCACQRA2AgggAiABNgIEQasBIQMM1AELQcABIQMM7AELQQAhAAJAIAIoAjgiA0UNACADKAI0IgNFDQAgAiADEQAAIQALIABFDV4gAEEVRw0HIAJB0QA2AhwgAiABNgIUIAJBsBc2AhAgAkEVNgIMQQAhAwzrAQsgAUEBaiABIARHDQgaQcIBIQMM6gELA0ACQCABLQAAQQprDgQIAAALAAsgBCABQQFqIgFHDQALQcMBIQMM6QELIAEgBEcEQCACQRE2AgggAiABNgIEQQEhAwzQAQtBxAEhAwzoAQsgASAERgRAQcUBIQMM6AELAkACQCABLQAAQQprDgQBKCgAKAsgAUEBagwJCyABQQFqDAULIAEgBEYEQEHGASEDDOcBCwJAAkAgAS0AAEEKaw4XAQsLAQsLCwsLCwsLCwsLCwsLCwsLCwALCyABQQFqIQELQbABIQMMzQELIAEgBEYEQEHIASEDDOYBCyABLQAAQSBHDQkgAkEAOwEyIAFBAWohAUGzASEDDMwBCwNAIAEhAAJAIAEgBEcEQCABLQAAQTBrQf8BcSIDQQpJDQEMJwtBxwEhAwzmAQsCQCACLwEyIgFBmTNLDQAgAiABQQpsIgU7ATIgBUH+/wNxIANB//8Dc0sNACAAQQFqIQEgAiADIAVqIgM7ATIgA0H//wNxQegHSQ0BCwtBACEDIAJBADYCHCACQcEJNgIQIAJBDTYCDCACIABBAWo2AhQM5AELIAJBADYCHCACIAE2AhQgAkHwDDYCECACQRs2AgxBACEDDOMBCyACKAIEIQAgAkEANgIEIAIgACABECYiAA0BIAFBAWoLIQFBrQEhAwzIAQsgAkHBATYCHCACIAA2AgwgAiABQQFqNgIUQQAhAwzgAQsgAigCBCEAIAJBADYCBCACIAAgARAmIgANASABQQFqCyEBQa4BIQMMxQELIAJBwgE2AhwgAiAANgIMIAIgAUEBajYCFEEAIQMM3QELIAJBADYCHCACIAE2AhQgAkGXCzYCECACQQ02AgxBACEDDNwBCyACQQA2AhwgAiABNgIUIAJB4xA2AhAgAkEJNgIMQQAhAwzbAQsgAkECOgAoDKwBC0EAIQMgAkEANgIcIAJBrws2AhAgAkECNgIMIAIgAUEBajYCFAzZAQtBAiEDDL8BC0ENIQMMvgELQSYhAwy9AQtBFSEDDLwBC0EWIQMMuwELQRghAwy6AQtBHCEDDLkBC0EdIQMMuAELQSAhAwy3AQtBISEDDLYBC0EjIQMMtQELQcYAIQMMtAELQS4hAwyzAQtBPSEDDLIBC0HLACEDDLEBC0HOACEDDLABC0HYACEDDK8BC0HZACEDDK4BC0HbACEDDK0BC0HxACEDDKwBC0H0ACEDDKsBC0GNASEDDKoBC0GXASEDDKkBC0GpASEDDKgBC0GvASEDDKcBC0GxASEDDKYBCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB8Rs2AhAgAkEGNgIMDL0BCyACQQA2AgAgBkEBaiEBQSQLOgApIAIoAgQhACACQQA2AgQgAiAAIAEQJyIARQRAQeUAIQMMowELIAJB+QA2AhwgAiABNgIUIAIgADYCDEEAIQMMuwELIABBFUcEQCACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwy7AQsgAkH4ADYCHCACIAE2AhQgAkHKGDYCECACQRU2AgxBACEDDLoBCyACQQA2AhwgAiABNgIUIAJBjhs2AhAgAkEGNgIMQQAhAwy5AQsgAkEANgIcIAIgATYCFCACQf4RNgIQIAJBBzYCDEEAIQMMuAELIAJBADYCHCACIAE2AhQgAkGMHDYCECACQQc2AgxBACEDDLcBCyACQQA2AhwgAiABNgIUIAJBww82AhAgAkEHNgIMQQAhAwy2AQsgAkEANgIcIAIgATYCFCACQcMPNgIQIAJBBzYCDEEAIQMMtQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var corsSafeListedMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "POST"]
+    );
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = (
+      /** @type {const} */
+      [101, 204, 205, 304]
+    );
+    var redirectStatus = (
+      /** @type {const} */
+      [301, 302, 303, 307, 308]
+    );
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = (
+      /** @type {const} */
+      [
+        "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"
+      ]
+    );
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = (
+      /** @type {const} */
+      [
+        "",
+        "no-referrer",
+        "no-referrer-when-downgrade",
+        "same-origin",
+        "origin",
+        "strict-origin",
+        "origin-when-cross-origin",
+        "strict-origin-when-cross-origin",
+        "unsafe-url"
+      ]
+    );
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = (
+      /** @type {const} */
+      ["follow", "manual", "error"]
+    );
+    var safeMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "OPTIONS", "TRACE"]
+    );
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = (
+      /** @type {const} */
+      ["navigate", "same-origin", "no-cors", "cors"]
+    );
+    var requestCredentials = (
+      /** @type {const} */
+      ["omit", "same-origin", "include"]
+    );
+    var requestCache = (
+      /** @type {const} */
+      [
+        "default",
+        "no-store",
+        "reload",
+        "no-cache",
+        "force-cache",
+        "only-if-cached"
+      ]
+    );
+    var requestBodyHeader = (
+      /** @type {const} */
+      [
+        "content-encoding",
+        "content-language",
+        "content-location",
+        "content-type",
+        // See https://github.com/nodejs/undici/issues/2021
+        // 'Content-Length' is a forbidden header name, which is typically
+        // removed in the Headers implementation. However, undici doesn't
+        // filter out headers, so we add it here.
+        "content-length"
+      ]
+    );
+    var requestDuplex = (
+      /** @type {const} */
+      [
+        "half"
+      ]
+    );
+    var forbiddenMethods = (
+      /** @type {const} */
+      ["CONNECT", "TRACE", "TRACK"]
+    );
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = (
+      /** @type {const} */
+      [
+        "audio",
+        "audioworklet",
+        "font",
+        "image",
+        "manifest",
+        "paintworklet",
+        "script",
+        "style",
+        "track",
+        "video",
+        "xslt",
+        ""
+      ]
+    );
+    var subresourceSet = new Set(subresource);
+    module2.exports = {
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
+      }
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
+    }
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function percentDecode(input) {
+      const length = input.length;
+      const output = new Uint8Array(length);
+      let j = 0;
+      for (let i = 0; i < length; ++i) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output[j++] = byte;
+        } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) {
+          output[j++] = 37;
+        } else {
+          output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]);
+          i += 2;
+        }
+      }
+      return length === j ? output : output.subarray(0, j);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
+      }
+      if (position.position > input.length) {
+        return "failure";
+      }
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
+      }
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
+          }
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+        } else {
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
+          }
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
+    }
+    function forgivingBase64(data) {
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
+          }
+        }
+      }
+      if (dataLength % 4 === 1) {
+        return "failure";
+      }
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
+      }
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
+    }
+    function isomorphicDecode(input) {
+      const length = input.length;
+      if ((2 << 15) - 1 > length) {
+        return String.fromCharCode.apply(null, input);
+      }
+      let result = "";
+      let i = 0;
+      let addition = (2 << 15) - 1;
+      while (i < length) {
+        if (i + addition > length) {
+          addition = length - i;
+        }
+        result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
+      }
+      return result;
+    }
+    function minimizeSupportedMimeType(mimeType) {
+      switch (mimeType.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";
+      }
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
+      }
+      if (mimeType.subtype.endsWith("+xml")) {
+        return "application/xml";
+      }
+      return "";
+    }
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType,
+      removeChars,
+      removeHTTPWhitespace,
+      minimizeSupportedMimeType,
+      HTTP_TOKEN_CODEPOINTS,
+      isomorphicDecode
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context3) {
+      const plural = context3.types.length === 1 ? "" : " one of";
+      const message = `${context3.argument} could not be converted to${plural}: ${context3.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context3.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context3) {
+      return webidl.errors.exception({
+        header: context3.prefix,
+        message: `"${context3.value}" is an invalid ${context3.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts) {
+      if (opts?.strict !== false) {
+        if (!(V instanceof I)) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      } else {
+        if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      }
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          header: ctx
+        });
+      }
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
+      });
+    };
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
+          }
+          return "Object";
+        }
+      }
+    };
+    webidl.util.markAsUncloneable = markAsUncloneable || (() => {
+    });
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
+        }
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
+      }
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
+      }
+      if (opts?.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
+          });
+        }
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
+        }
+        return x;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
+      }
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
+      }
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
+      }
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
+      }
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        let index = 0;
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} is not iterable.`
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O, prefix, argument) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} ("${webidl.util.Type(O)}") is not an Object.`
+          });
+        }
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
+          for (const key of keys2) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+          return result;
+        }
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+        }
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, prefix, argument, opts) => {
+        if (opts?.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.`
+          });
+        }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary, prefix, argument) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
+          });
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!Object.hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = Object.hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value ??= defaultValue();
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value, prefix, `${argument}.${key}`);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V, prefix, argument) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V, prefix, argument);
+      };
+    };
+    webidl.converters.DOMString = function(V, prefix, argument, opts) {
+      if (V === null && opts?.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${argument} is a symbol, which cannot be converted to a DOMString.`
+        });
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V, prefix, argument) {
+      const x = webidl.converters.DOMString(V, prefix, argument);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
+      }
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, prefix, argument, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${argument} ("${webidl.util.Stringify(V)}")`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.resizable || V.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${name} ("${webidl.util.Stringify(V)}")`,
+          types: [T.name]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${name} is not a DataView.`
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, prefix, name, opts) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false });
+      }
+      throw webidl.errors.conversionFailed({
+        prefix,
+        argument: `${name} ("${webidl.util.Stringify(V)}")`,
+        types: ["BufferSource"]
+      });
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib2 = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance4 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto3;
+    try {
+      crypto3 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto3.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
+      }
+      let location = response.headersList.get("location", true);
+      if (location !== null && isValidHeaderValue(location)) {
+        if (!isValidEncodedURL(location)) {
+          location = normalizeBinaryStringToUtf8(location);
+        }
+        location = new URL(location, responseURL(response));
+      }
+      if (location && !location.hash) {
+        location.hash = requestFragment;
+      }
+      return location;
+    }
+    function isValidEncodedURL(url) {
+      for (let i = 0; i < url.length; ++i) {
+        const code = url.charCodeAt(i);
+        if (code > 126 || // Non-US-ASCII + DEL
+        code < 32) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function normalizeBinaryStringToUtf8(value) {
+      return Buffer.from(value, "binary").toString("utf8");
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
+        return "blocked";
+      }
+      return "allowed";
+    }
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var isValidHeaderName = isValidHTTPToken;
+    function isValidHeaderValue(potentialValue) {
+      return (potentialValue[0] === "	" || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === "	" || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
+    }
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
+          }
+        }
+      }
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
+      }
+    }
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header, true);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (serializedOrigin === "client" || serializedOrigin === void 0) {
+        return;
+      }
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        request2.headersList.append("origin", serializedOrigin, true);
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
+        }
+        request2.headersList.append("origin", serializedOrigin, true);
+      }
+    }
+    function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
+      if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
+        return {
+          domainLookupStartTime: defaultStartTime,
+          domainLookupEndTime: defaultStartTime,
+          connectionStartTime: defaultStartTime,
+          connectionEndTime: defaultStartTime,
+          secureConnectionStartTime: defaultStartTime,
+          ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
+        };
+      }
+      return {
+        domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
+        domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
+        connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
+        connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
+        secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
+        ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
+      };
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return coarsenTime(performance4.now(), crossOriginIsolatedCapability);
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
+      };
+    }
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
+      };
+    }
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
+      };
+    }
+    function determineRequestsReferrer(request2) {
+      const policy = request2.referrerPolicy;
+      assert(policy);
+      let referrerSource = null;
+      if (request2.referrer === "client") {
+        const globalOrigin = getGlobalOrigin();
+        if (!globalOrigin || globalOrigin.origin === "null") {
+          return "no-referrer";
+        }
+        referrerSource = new URL(globalOrigin);
+      } else if (request2.referrer instanceof URL) {
+        referrerSource = request2.referrer;
+      }
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
+      }
+      const areSameOrigin = sameOrigin(request2, referrerURL);
+      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
+      switch (policy) {
+        case "origin":
+          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
+        case "unsafe-url":
+          return referrerURL;
+        case "same-origin":
+          return areSameOrigin ? referrerOrigin : "no-referrer";
+        case "origin-when-cross-origin":
+          return areSameOrigin ? referrerURL : referrerOrigin;
+        case "strict-origin-when-cross-origin": {
+          const currentURL = requestCurrentURL(request2);
+          if (sameOrigin(referrerURL, currentURL)) {
+            return referrerURL;
+          }
+          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
+            return "no-referrer";
+          }
+          return referrerOrigin;
+        }
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    function stripURLForReferrer(url, originOnly) {
+      assert(url instanceof URL);
+      url = new URL(url);
+      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
+        return "no-referrer";
+      }
+      url.username = "";
+      url.password = "";
+      url.hash = "";
+      if (originOnly) {
+        url.pathname = "";
+        url.search = "";
+      }
+      return url;
+    }
+    function isURLPotentiallyTrustworthy(url) {
+      if (!(url instanceof URL)) {
+        return false;
+      }
+      if (url.href === "about:blank" || url.href === "about:srcdoc") {
+        return true;
+      }
+      if (url.protocol === "data:") return true;
+      if (url.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url.origin);
+      function isOriginPotentiallyTrustworthy(origin) {
+        if (origin == null || origin === "null") return false;
+        const originAsURL = new URL(origin);
+        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
+          return true;
+        }
+        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
+          return true;
+        }
+        return false;
+      }
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto3 === void 0) {
+        return true;
+      }
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
+      }
+      if (parsedMetadata.length === 0) {
+        return true;
+      }
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto3.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
+          } else {
+            actualValue = actualValue.slice(0, -1);
+          }
+        }
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
+        }
+      }
+      return false;
+    }
+    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
+    function parseMetadata(metadata) {
+      const result = [];
+      let empty = true;
+      for (const token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
+          continue;
+        }
+        const algorithm = parsedToken.groups.algo.toLowerCase();
+        if (supportedHashes.includes(algorithm)) {
+          result.push(parsedToken.groups);
+        }
+      }
+      if (empty === true) {
+        return "no metadata";
+      }
+      return result;
+    }
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
+      }
+      for (let i = 1; i < metadataList.length; ++i) {
+        const metadata = metadataList[i];
+        if (metadata.algo[3] === "5") {
+          algorithm = "sha512";
+          break;
+        } else if (algorithm[3] === "3") {
+          continue;
+        } else if (metadata.algo[3] === "3") {
+          algorithm = "sha384";
+        }
+      }
+      return algorithm;
+    }
+    function filterMetadataListByAlgorithm(metadataList, algorithm) {
+      if (metadataList.length === 1) {
+        return metadataList;
+      }
+      let pos = 0;
+      for (let i = 0; i < metadataList.length; ++i) {
+        if (metadataList[i].algo === algorithm) {
+          metadataList[pos++] = metadataList[i];
+        }
+      }
+      metadataList.length = pos;
+      return metadataList;
+    }
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
+        return false;
+      }
+      for (let i = 0; i < actualValue.length; ++i) {
+        if (actualValue[i] !== expectedValue[i]) {
+          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
+            continue;
+          }
+          return false;
+        }
+      }
+      return true;
+    }
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
+    }
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
+      }
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
+      }
+      return false;
+    }
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve9, reject) => {
+        res = resolve9;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream2) {
+      return stream2 instanceof ReadableStream || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+        controller.byobRequest?.respond(0);
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
+          throw err;
+        }
+      }
+    }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
+    function isomorphicEncode(input) {
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
+      return input;
+    }
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
+        }
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
+        }
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
+    }
+    function urlIsLocal(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url) {
+      return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    function simpleRangeHeaderValue(value, allowWhitespace) {
+      const data = value;
+      if (!data.startsWith("bytes")) {
+        return "failure";
+      }
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeStart = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeEnd = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
+      if (position.position < data.length) {
+        return "failure";
+      }
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
+      }
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
+      }
+      return { rangeStartValue, rangeEndValue };
+    }
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
+    }
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
+      }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
+          }
+          this._inflateStream = (chunk[0] & 15) === 8 ? zlib2.createInflate(this.#zlibOptions) : zlib2.createInflateRaw(this.#zlibOptions);
+          this._inflateStream.on("data", this.push.bind(this));
+          this._inflateStream.on("end", () => this.push(null));
+          this._inflateStream.on("error", (err) => this.destroy(err));
+        }
+        this._inflateStream.write(chunk, encoding, callback);
+      }
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
+        }
+        callback();
+      }
+    };
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
+    }
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
+      }
+      for (const value of values) {
+        const temporaryMimeType = parseMIMEType(value);
+        if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
+          continue;
+        }
+        mimeType = temporaryMimeType;
+        if (mimeType.essence !== essence) {
+          charset = null;
+          if (mimeType.parameters.has("charset")) {
+            charset = mimeType.parameters.get("charset");
+          }
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
+        }
+      }
+      if (mimeType == null) {
+        return "failure";
+      }
+      return mimeType;
+    }
+    function gettingDecodingSplitting(value) {
+      const input = value;
+      const position = { position: 0 };
+      const values = [];
+      let temporaryValue = "";
+      while (position.position < input.length) {
+        temporaryValue += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== ",",
+          input,
+          position
+        );
+        if (position.position < input.length) {
+          if (input.charCodeAt(position.position) === 34) {
+            temporaryValue += collectAnHTTPQuotedString(
+              input,
+              position
+            );
+            if (position.position < input.length) {
+              continue;
+            }
+          } else {
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
+          }
+        }
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
+      }
+      return values;
+    }
+    function getDecodeSplit(name, list) {
+      const value = list.get(name, true);
+      if (value === null) {
+        return null;
+      }
+      return gettingDecodingSplitting(value);
+    }
+    var textDecoder = new TextDecoder();
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
+      }
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
+      }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      isValidEncodedURL,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      iteratorMixin,
+      createIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
+      }
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
+      }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
+      }
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
+      }
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
+      }
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
+      }
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
+      }
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
+      }
+      get [Symbol.toStringTag]() {
+        return "File";
+      }
+    };
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
+      }
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.append";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
+      }
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      }
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.get";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
+      }
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.getAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.set";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
+        } else {
+          this[kState].push(entry);
+        }
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        const state = this[kState].reduce((a, b) => {
+          if (a[b.name]) {
+            if (Array.isArray(a[b.name])) {
+              a[b.name].push(b.value);
+            } else {
+              a[b.name] = [a[b.name], b.value];
+            }
+          } else {
+            a[b.name] = b.value;
+          }
+          return a;
+        }, { __proto__: null });
+        options.depth ??= depth;
+        options.colors ??= true;
+        const output = nodeUtil.formatWithOptions(options, state);
+        return `FormData ${output.slice(output.indexOf("]") + 2)}`;
+      }
+    };
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      if (typeof value === "string") {
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { Blob: Blob2 } = require("node:buffer");
+    var assert = require("node:assert");
+    var { isErrored, isDisturbed } = require("node:stream");
+    var { isArrayBuffer } = require("node:util/types");
+    var { serializeAMimeType } = require_data_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto3 = require("node:crypto");
+      random = (max) => crypto3.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var textEncoder = new TextEncoder();
+    function noop3() {
+    }
+    var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
+    var streamRegistry;
+    if (hasFinalizationRegistry) {
+      streamRegistry = new FinalizationRegistry((weakRef) => {
+        const stream2 = weakRef.deref();
+        if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
+          stream2.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream2 = null;
+      if (object instanceof ReadableStream) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
+      } else {
+        stream2 = new ReadableStream({
+          async pull(controller) {
+            const buffer = typeof source === "string" ? textEncoder.encode(source) : source;
+            if (buffer.byteLength) {
+              controller.enqueue(buffer);
+            }
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: "bytes"
+        });
+      }
+      assert(isReadableStreamLike(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
+            }
+          }
+        }
+        const chunk = textEncoder.encode(`--${boundary}--\r
+`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream2 = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = new ReadableStream({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+                controller.byobRequest?.respond(0);
+              });
+            } else {
+              if (!isErrored(stream2)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream: stream2, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  for (const [name, value2] of entries) {
+                    fd.append(name, value2);
+                  }
+                  return fd;
+                }
+              }
+            }
+            throw new TypeError(
+              'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
+            );
+          }, instance);
+        },
+        bytes() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes);
+          }, instance);
+        }
+      };
+      return methods;
+    }
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function consumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      if (bodyUnusable(object)) {
+        throw new TypeError("Body is unusable: Body has already been read");
+      }
+      throwIfAborted(object[kState]);
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kParser,
+      kBlocking,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kMaxRequests,
+      kCounter,
+      kMaxResponseSize,
+      kOnError,
+      kResume,
+      kHTTPContext
+    } = require_symbols6();
+    var constants = require_constants7();
+    var EMPTY_BUF = Buffer.alloc(0);
+    var FastBuffer = Buffer[Symbol.species];
+    var addListener = util.addListener;
+    var removeAllListeners = util.removeAllListeners;
+    var extractBody;
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageComplete() || 0;
+          }
+          /* eslint-enable camelcase */
+        }
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var USE_NATIVE_TIMER = 0;
+    var USE_FAST_TIMER = 1;
+    var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
+    var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
+    var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
+      }
+      setTimeout(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.timeoutType = type2;
+      }
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
+        }
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
+      }
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
+          }
+          this.execute(chunk);
+        }
+      }
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
+          }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
+        }
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
+        try {
+          let ret;
+          try {
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
+          } catch (err) {
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
+          }
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
+            }
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
+          }
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+      }
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        this.timeout && timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
+      }
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        request2.onResponseStarted();
+      }
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        this.trackHeader(buf.length);
+      }
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        const key = this.headers[len - 2];
+        if (key.length === 10) {
+          const headerName = util.bufferToLowerCasedHeaderName(key);
+          if (headerName === "keep-alive") {
+            this.keepAlive += buf.toString();
+          } else if (headerName === "connection") {
+            this.connection += buf.toString();
+          }
+        } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") {
+          this.contentLength += buf.toString();
+        }
+        this.trackHeader(buf.length);
+      }
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
+        }
+      }
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        assert(client[kSocket] === socket);
+        assert(!socket.destroyed);
+        assert(!this.paused);
+        assert((headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        removeAllListeners(socket);
+        client[kSocket] = null;
+        client[kHTTPContext] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+        client[kResume]();
+      }
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
+        }
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
+        }
+        assert(this.timeoutType === TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        assert((this.headers.length & 1) === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
+            );
+            if (timeout <= 0) {
+              socket[kReset] = true;
+            } else {
+              client[kKeepAliveTimeoutValue] = timeout;
+            }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+          }
+        } else {
+          socket[kReset] = true;
+        }
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
+        }
+        if (request2.method === "HEAD") {
+          return 1;
+        }
+        if (statusCode < 200) {
+          return 1;
+        }
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          client[kResume]();
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
+        }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
+        }
+      }
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
+        }
+        if (upgrade) {
+          return;
+        }
+        assert(statusCode >= 100);
+        assert((this.headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert(client[kRunning] === 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] == null || client[kPipelining] === 1) {
+          setImmediate(() => client[kResume]());
+        } else {
+          client[kResume]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context3) {
-      const plural = context3.types.length === 1 ? "" : " one of";
-      const message = `${context3.argument} could not be converted to${plural}: ${context3.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context3.prefix,
-        message
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client, paused } = parser.deref();
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
+      }
+    }
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
+      }
+      socket[kNoRef] = false;
+      socket[kWriting] = false;
+      socket[kReset] = false;
+      socket[kBlocking] = false;
+      socket[kParser] = new Parser(client, socket, llhttpInstance);
+      addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        const parser = this[kParser];
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        this[kError] = err;
+        this[kClient][kOnError](err);
       });
-    };
-    webidl.errors.invalidArgument = function(context3) {
-      return webidl.errors.exception({
-        header: context3.prefix,
-        message: `"${context3.value}" is an invalid ${context3.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      addListener(socket, "end", function() {
+        const parser = this[kParser];
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      addListener(socket, "close", function() {
+        const client2 = this[kClient];
+        const parser = this[kParser];
+        if (parser) {
+          if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+            parser.onMessageComplete();
+          }
+          this[kParser].destroy();
+          this[kParser] = null;
+        }
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client2[kSocket] = null;
+        client2[kHTTPContext] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+          const request2 = client2[kQueue][client2[kRunningIdx]];
+          client2[kQueue][client2[kRunningIdx]++] = null;
+          util.errorRequest(client2, request2, err);
+        }
+        client2[kPendingIdx] = client2[kRunningIdx];
+        assert(client2[kRunning] === 0);
+        client2.emit("disconnect", client2[kUrl], [client2], err);
+        client2[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h1",
+        defaultPipelining: 1,
+        write(...args) {
+          return writeH1(client, ...args);
+        },
+        resume() {
+          resumeH1(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy(request2) {
+          if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+            return true;
+          }
+          if (request2) {
+            if (client[kRunning] > 0 && !request2.idempotent) {
+              return true;
+            }
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
+            }
+            if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) {
+              return true;
+            }
+          }
+          return false;
+        }
+      };
+    }
+    function resumeH1(client) {
+      const socket = client[kSocket];
+      if (socket && !socket.destroyed) {
+        if (client[kSize] === 0) {
+          if (!socket[kNoRef] && socket.unref) {
+            socket.unref();
+            socket[kNoRef] = true;
+          }
+        } else if (socket[kNoRef] && socket.ref) {
+          socket.ref();
+          socket[kNoRef] = false;
+        }
+        if (client[kSize] === 0) {
+          if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
+            socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
+          }
+        } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+          if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+            const request2 = client[kQueue][client[kRunningIdx]];
+            const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];
+            socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          }
+        }
+      }
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH1(client, request2) {
+      const { method, path: path16, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path16} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    webidl.argumentLengthCheck = function({ length }, min, ctx) {
-      if (length < min) {
-        throw webidl.errors.exception({
-          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
-          ...ctx
-        });
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
       }
-    };
-    webidl.illegalConstructor = function() {
-      throw webidl.errors.exception({
-        header: "TypeError",
-        message: "Illegal constructor"
-      });
-    };
-    webidl.util.Type = function(V) {
-      switch (typeof V) {
-        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": {
-          if (V === null) {
-            return "Null";
+      if (Array.isArray(headers)) {
+        for (let n = 0; n < headers.length; n += 2) {
+          const key = headers[n + 0];
+          const val = headers[n + 1];
+          if (Array.isArray(val)) {
+            for (let i = 0; i < val.length; i++) {
+              header += `${key}: ${val[i]}\r
+`;
+            }
+          } else {
+            header += `${key}: ${val}\r
+`;
           }
-          return "Object";
         }
       }
-    };
-    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
-      let upperBound;
-      let lowerBound;
-      if (bitLength === 64) {
-        upperBound = Math.pow(2, 53) - 1;
-        if (signedness === "unsigned") {
-          lowerBound = 0;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } else if (signedness === "unsigned") {
-        lowerBound = 0;
-        upperBound = Math.pow(2, bitLength) - 1;
-      } else {
-        lowerBound = Math.pow(-2, bitLength) - 1;
-        upperBound = Math.pow(2, bitLength - 1) - 1;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (opts.enforceRange === true) {
-        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Could not convert ${V} to an integer.`
-          });
-        }
-        x = webidl.util.IntegerPart(x);
-        if (x < lowerBound || x > upperBound) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      x = webidl.util.IntegerPart(x);
-      x = x % Math.pow(2, bitLength);
-      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
-        return x - Math.pow(2, bitLength);
+      const waitForDrain = () => new Promise((resolve9, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve9;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    var AsyncWriter = class {
+      constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        this.abort = abort;
+        socket[kWriting] = true;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+        if (socket.destroyed) {
+          return false;
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
+        }
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          seq2.push(converter(value));
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
+          } else {
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          }
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
+        }
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
+            }
           }
-          return result;
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        return ret;
+      }
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
+        }
+        if (socket.destroyed) {
+          return;
+        }
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            socket.write(`${header}\r
+`, "latin1");
           }
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
+          }
         }
-        return V;
-      };
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
+        }
+        client[kResume]();
+      }
+      destroy(err) {
+        const { socket, client, abort } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          abort(err);
+        }
+      }
     };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
+    var util = require_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ Symbol("open streams");
+    var extractBody;
+    var h2ExperimentalWarned = false;
+    var http2;
+    try {
+      http2 = require("node:http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
+      }
+    } = http2;
+    function parseH2Headers(headers) {
+      const result = [];
+      for (const [name, value] of Object.entries(headers)) {
+        if (Array.isArray(value)) {
+          for (const subvalue of value) {
+            result.push(Buffer.from(name), Buffer.from(subvalue));
+          }
+        } else {
+          result.push(Buffer.from(name), Buffer.from(value));
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
+      }
+      return result;
+    }
+    async function connectH2(client, socket) {
+      client[kSocket] = socket;
+      if (!h2ExperimentalWarned) {
+        h2ExperimentalWarned = true;
+        process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+          code: "UNDICI-H2"
+        });
+      }
+      const session = http2.connect(client[kUrl], {
+        createConnection: () => socket,
+        peerMaxConcurrentStreams: client[kMaxConcurrentStreams]
+      });
+      session[kOpenStreams] = 0;
+      session[kClient] = client;
+      session[kSocket] = socket;
+      util.addListener(session, "error", onHttp2SessionError);
+      util.addListener(session, "frameError", onHttp2FrameError);
+      util.addListener(session, "end", onHttp2SessionEnd);
+      util.addListener(session, "goaway", onHTTP2GoAway);
+      util.addListener(session, "close", function() {
+        const { [kClient]: client2 } = this;
+        const { [kSocket]: socket2 } = client2;
+        const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2));
+        client2[kHTTP2Session] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+      });
+      session.unref();
+      client[kHTTP2Session] = session;
+      socket[kHTTP2Session] = session;
+      util.addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      util.addListener(socket, "end", function() {
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      util.addListener(socket, "close", function() {
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client[kSocket] = null;
+        if (this[kHTTP2Session] != null) {
+          this[kHTTP2Session].destroy(err);
+        }
+        client[kPendingIdx] = client[kRunningIdx];
+        assert(client[kRunning] === 0);
+        client.emit("disconnect", client[kUrl], [client], err);
+        client[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h2",
+        defaultPipelining: Infinity,
+        write(...args) {
+          return writeH2(client, ...args);
+        },
+        resume() {
+          resumeH2(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy() {
+          return false;
+        }
+      };
+    }
+    function resumeH2(client) {
+      const socket = client[kSocket];
+      if (socket?.destroyed === false) {
+        if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {
+          socket.unref();
+          client[kHTTP2Session].unref();
+        } else {
+          socket.ref();
+          client[kHTTP2Session].ref();
+        }
+      }
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
+      }
+    }
+    function onHttp2SessionEnd() {
+      const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket]));
+      this.destroy(err);
+      util.destroy(this[kSocket], err);
+    }
+    function onHTTP2GoAway(code) {
+      const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this));
+      const client = this[kClient];
+      client[kSocket] = null;
+      client[kHTTPContext] = null;
+      if (this[kHTTP2Session] != null) {
+        this[kHTTP2Session].destroy(err);
+        this[kHTTP2Session] = null;
+      }
+      util.destroy(this[kSocket], err);
+      if (client[kRunningIdx] < client[kQueue].length) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        util.errorRequest(client, request2, err);
+        client[kPendingIdx] = client[kRunningIdx];
+      }
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      client[kResume]();
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH2(client, request2) {
+      const session = client[kHTTP2Session];
+      const { method, path: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
             }
-            dict[key] = value;
           }
+        } else {
+          headers[key] = val;
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+      }
+      let stream2;
+      const { hostname, port } = client[kUrl];
+      headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
+      headers[HTTP2_HEADER_METHOD] = method;
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream2 != null) {
+          util.destroy(stream2, err);
         }
-        return converter(V);
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
       };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+      if (request2.aborted) {
+        return false;
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      for (let index = 0; index < x.length; index++) {
-        if (x.charCodeAt(index) > 255) {
-          throw new TypeError(
-            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
-          );
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
         }
-      }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+        stream2.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
         });
+        return true;
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+      headers[HTTP2_HEADER_PATH] = path16;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
+      ++session[kOpenStreams];
+      stream2.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        request2.onResponseStarted();
+        if (request2.aborted) {
+          const err = new RequestAbortedError();
+          util.errorRequest(client, request2, err);
+          util.destroy(stream2, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+        stream2.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream2.pause();
+          }
+        });
+      });
+      stream2.once("end", () => {
+        if (stream2.state?.state == null || stream2.state.state < 6) {
+          request2.onComplete([]);
+        }
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
+      });
+      stream2.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        abort(err);
+      });
+      stream2.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream2,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream2,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream2,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream2,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
       }
-      const href = url.href;
-      const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
     }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      return result;
     }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
     }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return Uint8Array.from(output);
     }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        return "failure";
-      }
-      if (position.position > input.length) {
-        return "failure";
-      }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      const typeLowercase = type2.toLowerCase();
-      const subtypeLowercase = subtype.toLowerCase();
-      const mimeType = {
-        type: typeLowercase,
-        subtype: subtypeLowercase,
-        /** @type {Map} */
-        parameters: /* @__PURE__ */ new Map(),
-        // https://mimesniff.spec.whatwg.org/#mime-type-essence
-        essence: `${typeLowercase}/${subtypeLowercase}`
-      };
-      while (position.position < input.length) {
-        position.position++;
-        collectASequenceOfCodePoints(
-          // https://fetch.spec.whatwg.org/#http-whitespace
-          (char) => HTTP_WHITESPACE_REGEX.test(char),
-          input,
-          position
-        );
-        let parameterName = collectASequenceOfCodePoints(
-          (char) => char !== ";" && char !== "=",
-          input,
-          position
-        );
-        parameterName = parameterName.toLowerCase();
-        if (position.position < input.length) {
-          if (input[position.position] === ";") {
-            continue;
+      const waitForDrain = () => new Promise((resolve9, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve9;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
           }
-          position.position++;
         }
-        if (position.position > input.length) {
-          break;
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
+      }
+    }
+    module2.exports = connectH2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        let parameterValue = null;
-        if (input[position.position] === '"') {
-          parameterValue = collectAnHTTPQuotedString(input, position, true);
-          collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-        } else {
-          parameterValue = collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
-          if (parameterValue.length === 0) {
-            continue;
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        this.redirectionLimitReached = false;
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
           }
-        }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
+          }
+        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
         }
       }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      if (data.length % 4 === 1) {
-        return "failure";
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
+          if (this.request) {
+            this.request.abort(new Error("max redirects"));
+          }
+          this.redirectionLimitReached = true;
+          this.abort(new Error("max redirects"));
+          return;
+        }
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
+        }
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        }
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path16 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path16;
+        this.opts.origin = origin;
+        this.opts.maxRedirections = 0;
+        this.opts.query = null;
+        if (statusCode === 303 && this.opts.method !== "HEAD") {
+          this.opts.method = "GET";
+          this.opts.body = null;
+        }
       }
-      return bytes;
-    }
-    function collectAnHTTPQuotedString(input, position, extractValue) {
-      const positionStart = position.position;
-      let value = "";
-      assert(input[position.position] === '"');
-      position.position++;
-      while (true) {
-        value += collectASequenceOfCodePoints(
-          (char) => char !== '"' && char !== "\\",
-          input,
-          position
-        );
-        if (position.position >= input.length) {
-          break;
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        const quoteOrBackslash = input[position.position];
-        position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
-            break;
-          }
-          value += input[position.position];
-          position.position++;
+      }
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
         } else {
-          assert(quoteOrBackslash === '"');
-          break;
+          this.handler.onComplete(trailers);
         }
       }
-      if (extractValue) {
-        return value;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      return input.slice(positionStart, position.position);
-    }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
+      }
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
+          return headers[i + 1];
         }
-        serialization += value;
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
-    }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      return false;
+    }
+    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
+      const ret = [];
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
+            ret.push(headers[i], headers[i + 1]);
+          }
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
+          }
+        }
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-      return str2.slice(lead, trail + 1);
+      return ret;
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
+    var RedirectHandler = require_redirect_handler2();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
           }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
         };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
+      };
+    }
+    module2.exports = createRedirectInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    var {
+      kUrl,
+      kServerName,
+      kClient,
+      kBusy,
+      kConnect,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
+    } = require_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var noop3 = () => {
     };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
-        };
-      }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
+    function getPipelining(client) {
+      return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
+    }
+    var Client = class extends DispatcherBase {
+      /**
+       *
+       * @param {string|URL} url
+       * @param {import('../../types/client.js').Client.Options} options
+       */
+      constructor(url, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        maxConcurrentStreams,
+        allowH2
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
+        }
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
+        }
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
+        }
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
+        }
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
+        }
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
+        }
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
+        }
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
+        }
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
+        }
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        }
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        }
+        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        }
+        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        }
+        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+        }
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        }
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        }
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        }
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
+        }
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
+        }
+        if (interceptors?.Client && Array.isArray(interceptors.Client)) {
+          this[kInterceptors] = interceptors.Client;
+          if (!deprecatedInterceptorWarned) {
+            deprecatedInterceptorWarned = true;
+            process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", {
+              code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"
+            });
+          }
+        } else {
+          this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })];
+        }
+        this[kUrl] = util.parseOrigin(url);
+        this[kConnector] = connect2;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
+        this[kHTTPContext] = null;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
+        this[kResume] = (sync) => resume(this, sync);
+        this[kOnError] = (err) => onError(this, err);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      get pipelining() {
+        return this[kPipelining];
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      get [kConnected]() {
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      get [kBusy]() {
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = new Request(origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          queueMicrotask(() => resume(this));
+        } else {
+          this[kResume](true);
         }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      async [kClose]() {
+        return new Promise((resolve9) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve9;
+          } else {
+            resolve9(null);
           }
-          return value;
-        },
-        defaultValue: "transparent"
+        });
       }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
+      async [kDestroy](err) {
+        return new Promise((resolve9) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(this, request2, err);
+          }
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
+            }
+            resolve9(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+            queueMicrotask(callback);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
+          this[kResume]();
+        });
+      }
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          util.errorRequest(client, request2, err);
         }
+        assert(client[kSize] === 0);
       }
-      return bytes;
     }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kHTTPContext]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      return s.replace(/\r?\n/g, nativeLineEnding);
-    }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
-    }
-    module2.exports = { File: File2, FileLike, isFileLike };
-  }
-});
-
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
-    "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            version: client[kHTTPContext]?.version,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
+      }
+      try {
+        const socket = await new Promise((resolve9, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve9(socket2);
+            }
           });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        assert(socket);
+        try {
+          client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket);
+        } catch (err) {
+          socket.destroy().on("error", noop3);
+          throw err;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        client[kConnecting] = false;
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
+        }
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            util.errorRequest(client, request2, err);
+          }
         } else {
-          this[kState].push(entry);
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
       }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
+          } else {
+            emitDrain(client);
+          }
+          continue;
+        }
+        if (client[kPending] === 0) {
+          return;
+        }
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
+        }
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
+          }
+          client[kServerName] = request2.servername;
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
+        }
+        if (client[kConnecting]) {
+          return;
+        }
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
+        }
+        if (client[kHTTPContext].destroyed) {
+          return;
+        }
+        if (client[kHTTPContext].busy(request2)) {
+          return;
+        }
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
       }
-      return { name, value };
     }
-    module2.exports = { FormData: FormData2 };
+    module2.exports = Client;
   }
 });
 
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
     "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto3 = require("node:crypto");
-      random = (max) => crypto3.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
+      constructor() {
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-      let stream2 = null;
-      if (object instanceof ReadableStream2) {
-        stream2 = object;
-      } else if (isBlobLike(object)) {
-        stream2 = object.stream();
-      } else {
-        stream2 = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      assert(isReadableStreamLike(stream2));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
-      } else if (isArrayBuffer(object)) {
-        source = new Uint8Array(object.slice());
-      } else if (ArrayBuffer.isView(object)) {
-        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
-      } else if (util.isFormDataLike(object)) {
-        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
-        const prefix = `--${boundary}\r
-Content-Disposition: form-data`;
-        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
-        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
-        const blobParts = [];
-        const rn = new Uint8Array([13, 10]);
-        length = 0;
-        let hasUnknownSizeValue = false;
-        for (const [name, value] of object) {
-          if (typeof value === "string") {
-            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
-\r
-${normalizeLinefeeds(value)}\r
-`);
-            blobParts.push(chunk2);
-            length += chunk2.byteLength;
-          } else {
-            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
-Content-Type: ${value.type || "application/octet-stream"}\r
-\r
-`);
-            blobParts.push(chunk2, value, rn);
-            if (typeof value.size === "number") {
-              length += chunk2.byteLength + value.size + rn.byteLength;
-            } else {
-              hasUnknownSizeValue = true;
-            }
-          }
-        }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
-        }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
-        }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
-        }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
-        }
-        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      if (action != null) {
-        let iterator2;
-        stream2 = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream2)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
       }
-      const body = { stream: stream2, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream2 = body.stream;
-          if (util.isDisturbed(stream2)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream2.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream2[kBodyUsed] = true;
-          yield* stream2;
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
+        return next;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve9, reject) => {
-              busboy.on("finish", resolve9);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
-            }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
-          }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
-        }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+      get free() {
+        return this[kPool][kFree];
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
-    }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
+      get pending() {
+        return this[kPool][kPending];
       }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+      get queued() {
+        return this[kPool][kQueued];
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
     };
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path16,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path16 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path16[0] !== "/" && !(path16.startsWith("http://") || path16.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path16) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
-        }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
-          }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
+      constructor() {
+        super();
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
             }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path16, query) : path16;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
-        }
+        };
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
-        }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
-        }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
+        return ret;
       }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      get stats() {
+        return this[kStats];
       }
-      onComplete(trailers) {
-        this.onFinally();
-        assert(!this.aborted);
-        this.completed = true;
-        if (channels.trailers.hasSubscribers) {
-          channels.trailers.publish({ request: this, trailers });
-        }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve9) => {
+            this[kClosedResolve] = resolve9;
+          });
         }
       }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
-        }
-        if (this.aborted) {
-          return;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
-        }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
         }
+        return !this[kNeedDrain];
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          queueMicrotask(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
+            }
+          });
+        }
         return this;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
-      }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
         }
-        return headers;
-      }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
+        this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
             }
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
-        }
-      }
-    }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
-      }
-      close() {
-        throw new Error("not implemented");
+        });
       }
-      destroy() {
-        throw new Error("not implemented");
+      [kGetDispatcher]() {
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
+          }
+        }
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+          return dispatcher;
+        }
       }
     };
-    module2.exports = Dispatcher;
+    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
     var {
-      ClientDestroyedError,
-      ClientClosedError,
+      BalancedPoolMissingUpstreamError,
       InvalidArgumentError
     } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
-      constructor() {
-        super();
-        this[kDestroyed] = false;
-        this[kOnDestroyed] = null;
-        this[kClosed] = false;
-        this[kOnClosed] = [];
-      }
-      get destroyed() {
-        return this[kDestroyed];
-      }
-      get closed() {
-        return this[kClosed];
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-      get interceptors() {
-        return this[kInterceptors];
+      return a;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
+        }
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
       }
-      set interceptors(newInterceptors) {
-        if (newInterceptors) {
-          for (let i = newInterceptors.length - 1; i >= 0; i--) {
-            const interceptor = this[kInterceptors][i];
-            if (typeof interceptor !== "function") {
-              throw new InvalidArgumentError("interceptor must be an function");
-            }
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
+        }
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
           }
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
         }
-        this[kInterceptors] = newInterceptors;
+        this._updateBalancedPoolStats();
+        return this;
       }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve9, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve9(data);
-            });
-          });
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        this[kGreatestCommonDivisor] = result;
+      }
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+        return this;
+      }
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      }
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
+        }
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
           return;
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
           return;
         }
-        this[kClosed] = true;
-        this[kOnClosed].push(callback);
-        const onClosed = () => {
-          const callbacks = this[kOnClosed];
-          this[kOnClosed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
+          }
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
+            }
+          }
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
           }
-        };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
         }
-        if (callback === void 0) {
-          return new Promise((resolve9, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve9(data);
-            });
-          });
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
+      }
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors2();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
-        this[kDestroyed] = true;
-        this[kOnDestroyed] = this[kOnDestroyed] || [];
-        this[kOnDestroyed].push(callback);
-        const onDestroyed = () => {
-          const callbacks = this[kOnDestroyed];
-          this[kOnDestroyed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
-          }
+        this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kOnDrain] = (origin, targets) => {
+          this.emit("drain", origin, [this, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          this.emit("connect", origin, [this, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          this.emit("disconnect", origin, [this, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          this.emit("connectionError", origin, [this, ...targets], err);
         };
-        this[kDestroy](err).then(() => {
-          queueMicrotask(onDestroyed);
-        });
       }
-      [kInterceptedDispatch](opts, handler2) {
-        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
-          this[kInterceptedDispatch] = this[kDispatch];
-          return this[kDispatch](opts, handler2);
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        return ret;
+      }
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        let dispatcher = this[kClients].get(key);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, dispatcher);
+        }
+        return dispatcher.dispatch(opts, handler2);
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
-        try {
-          if (!opts || typeof opts !== "object") {
-            throw new InvalidArgumentError("opts must be an object.");
-          }
-          if (this[kDestroyed] || this[kOnDestroyed]) {
-            throw new ClientDestroyedError();
-          }
-          if (this[kClosed]) {
-            throw new ClientClosedError();
-          }
-          return this[kInterceptedDispatch](opts, handler2);
-        } catch (err) {
-          if (typeof handler2.onError !== "function") {
-            throw new InvalidArgumentError("invalid onError method");
-          }
-          handler2.onError(err);
-          return false;
+        this[kClients].clear();
+        await Promise.all(closePromises);
+      }
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const client of this[kClients].values()) {
+          destroyPromises.push(client.destroy(err));
         }
+        this[kClients].clear();
+        await Promise.all(destroyPromises);
       }
     };
-    module2.exports = DispatcherBase;
+    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
-    var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._sessionRegistry = new global.FinalizationRegistry((key) => {
-            if (this._sessionCache.size < this._maxCachedSessions) {
-              return;
-            }
-            const ref = this._sessionCache.get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this._sessionCache.delete(key);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var noop3 = () => {
+    };
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
+      }
+      return new Pool(origin, opts);
+    }
+    var Http1ProxyWrapper = class extends DispatcherBase {
+      #client;
+      constructor(proxyUrl, { headers = {}, connect, factory }) {
+        super();
+        if (!proxyUrl) {
+          throw new InvalidArgumentError("Proxy URL is mandatory");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
+      }
+      [kDispatch](opts, handler2) {
+        const onHeaders = handler2.onHeaders;
+        handler2.onHeaders = function(statusCode, data, resume) {
+          if (statusCode === 407) {
+            if (typeof handler2.onError === "function") {
+              handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
+            }
             return;
           }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path16 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path16;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...options,
-            servername,
-            session,
-            localAddress,
-            // TODO(HTTP/2): Add support for h2c
-            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
-            socket: httpSocket,
-            // upgrade socket connection
-            port: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
-          });
+      async [kClose]() {
+        return this.#client.close();
+      }
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
+      }
+    };
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super();
+        if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) {
+          throw new InvalidArgumentError("Proxy uri is mandatory");
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        const { proxyTunnel = true } = opts;
+        const url = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url;
+        this[kProxy] = { uri: href, protocol };
+        this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        this[kTunnelProxy] = proxyTunnel;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
+        }
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        const agentFactory = opts.factory || defaultAgentFactory;
+        const factory = (origin2, options) => {
+          const { protocol: protocol2 } = new URL2(origin2);
+          if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
+            return new Http1ProxyWrapper(this[kProxy].uri, {
+              headers: this[kProxyHeaders],
+              connect,
+              factory: agentFactory
+            });
           }
-        });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
+          return agentFactory(origin2, options);
         };
-      }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+        this[kClient] = clientFactory(url, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          factory,
+          connect: async (opts2, callback) => {
+            let requestedPath = opts2.host;
+            if (!opts2.port) {
+              requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedPath,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host: opts2.host
+                },
+                servername: this[kProxyTls]?.servername || proxyHostname
+              });
+              if (statusCode !== 200) {
+                socket.on("error", noop3).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+                callback(new SecureProxyConnectionError(err));
+              } else {
+                callback(err);
+              }
+            }
           }
         });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
+      }
+      dispatch(opts, handler2) {
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        if (headers && !("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(opts.origin);
+          headers.host = host;
         }
-      });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
-    var TYPE;
-    (function(TYPE2) {
-      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
-      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
-      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
-    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
-    var FLAGS;
-    (function(FLAGS2) {
-      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
-      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
-      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
-      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
-      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
-      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
-      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
-      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
-      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
-    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
-    var LENIENT_FLAGS;
-    (function(LENIENT_FLAGS2) {
-      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
-    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
-    var METHODS;
-    (function(METHODS2) {
-      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
-      METHODS2[METHODS2["GET"] = 1] = "GET";
-      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
-      METHODS2[METHODS2["POST"] = 3] = "POST";
-      METHODS2[METHODS2["PUT"] = 4] = "PUT";
-      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
-      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
-      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
-      METHODS2[METHODS2["COPY"] = 8] = "COPY";
-      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
-      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
-      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
-      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
-      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
-      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
-      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
-      METHODS2[METHODS2["BIND"] = 16] = "BIND";
-      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
-      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
-      METHODS2[METHODS2["ACL"] = 19] = "ACL";
-      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
-      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
-      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
-      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
-      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
-      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
-      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
-      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
-      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
-      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
-      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
-      METHODS2[METHODS2["LINK"] = 31] = "LINK";
-      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
-      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
-      METHODS2[METHODS2["PRI"] = 34] = "PRI";
-      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
-      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
-      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
-      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
-      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
-      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
-      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
-      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
-      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
-      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
-      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
-    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
-    exports2.METHODS_HTTP = [
-      METHODS.DELETE,
-      METHODS.GET,
-      METHODS.HEAD,
-      METHODS.POST,
-      METHODS.PUT,
-      METHODS.CONNECT,
-      METHODS.OPTIONS,
-      METHODS.TRACE,
-      METHODS.COPY,
-      METHODS.LOCK,
-      METHODS.MKCOL,
-      METHODS.MOVE,
-      METHODS.PROPFIND,
-      METHODS.PROPPATCH,
-      METHODS.SEARCH,
-      METHODS.UNLOCK,
-      METHODS.BIND,
-      METHODS.REBIND,
-      METHODS.UNBIND,
-      METHODS.ACL,
-      METHODS.REPORT,
-      METHODS.MKACTIVITY,
-      METHODS.CHECKOUT,
-      METHODS.MERGE,
-      METHODS["M-SEARCH"],
-      METHODS.NOTIFY,
-      METHODS.SUBSCRIBE,
-      METHODS.UNSUBSCRIBE,
-      METHODS.PATCH,
-      METHODS.PURGE,
-      METHODS.MKCALENDAR,
-      METHODS.LINK,
-      METHODS.UNLINK,
-      METHODS.PRI,
-      // TODO(indutny): should we allow it with HTTP?
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_ICE = [
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_RTSP = [
-      METHODS.OPTIONS,
-      METHODS.DESCRIBE,
-      METHODS.ANNOUNCE,
-      METHODS.SETUP,
-      METHODS.PLAY,
-      METHODS.PAUSE,
-      METHODS.TEARDOWN,
-      METHODS.GET_PARAMETER,
-      METHODS.SET_PARAMETER,
-      METHODS.REDIRECT,
-      METHODS.RECORD,
-      METHODS.FLUSH,
-      // For AirPlay
-      METHODS.GET,
-      METHODS.POST
-    ];
-    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
-    exports2.H_METHOD_MAP = {};
-    Object.keys(exports2.METHOD_MAP).forEach((key) => {
-      if (/^H/.test(key)) {
-        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
-    }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.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
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
-    }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+      /**
+       * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts
+       * @returns {URL}
+       */
+      #getUrl(opts) {
+        if (typeof opts === "string") {
+          return new URL2(opts);
+        } else if (opts instanceof URL2) {
+          return opts;
+        } else {
+          return new URL2(opts.uri);
+        }
+      }
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
+      }
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-    }
-    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
-    exports2.MAJOR = exports2.NUM_MAP;
-    exports2.MINOR = exports2.MAJOR;
-    var HEADER_STATE;
-    (function(HEADER_STATE2) {
-      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
-      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
-      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
-    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
-    exports2.SPECIAL_HEADERS = {
-      "connection": HEADER_STATE.CONNECTION,
-      "content-length": HEADER_STATE.CONTENT_LENGTH,
-      "proxy-connection": HEADER_STATE.CONNECTION,
-      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
-      "upgrade": HEADER_STATE.UPGRADE
     };
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
+        }
+        return headersPair;
+      }
+      return headers;
+    }
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      }
+    }
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
+        super();
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
+        }
+        const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
+        this[kNoProxyAgent] = new Agent(agentOpts);
+        const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
+        if (HTTP_PROXY) {
+          this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY });
+        } else {
+          this[kHttpProxyAgent] = this[kNoProxyAgent];
+        }
+        const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
+        if (HTTPS_PROXY) {
+          this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY });
+        } else {
+          this[kHttpsProxyAgent] = this[kHttpProxyAgent];
+        }
+        this.#parseNoProxy();
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      [kDispatch](opts, handler2) {
+        const url = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url);
+        return agent.dispatch(opts, handler2);
       }
-    };
-    var RedirectHandler = class {
-      constructor(dispatch, maxRedirections, opts, handler2) {
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        util.validateHandler(handler2, opts.method, opts.upgrade);
-        this.dispatch = dispatch;
-        this.location = null;
-        this.abort = null;
-        this.opts = { ...opts, maxRedirections: 0 };
-        this.maxRedirections = maxRedirections;
-        this.handler = handler2;
-        this.history = [];
-        if (util.isStream(this.opts.body)) {
-          if (util.bodyLength(this.opts.body) === 0) {
-            this.opts.body.on("data", function() {
-              assert(false);
-            });
-          }
-          if (typeof this.opts.body.readableDidRead !== "boolean") {
-            this.opts.body[kBodyUsed] = false;
-            EE.prototype.on.call(this.opts.body, "data", function() {
-              this[kBodyUsed] = true;
-            });
-          }
-        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
-        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
       }
-      onConnect(abort) {
-        this.abort = abort;
-        this.handler.onConnect(abort, { history: this.history });
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
+        }
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
+        }
       }
-      onUpgrade(statusCode, headers, socket) {
-        this.handler.onUpgrade(statusCode, headers, socket);
+      #getProxyAgentForUrl(url) {
+        let { protocol, host: hostname, port } = url;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
+        }
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
+        }
+        return this[kHttpProxyAgent];
       }
-      onError(error3) {
-        this.handler.onError(error3);
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
+        }
+        if (this.#noProxyEntries.length === 0) {
+          return true;
+        }
+        if (this.#noProxyValue === "*") {
+          return false;
+        }
+        for (let i = 0; i < this.#noProxyEntries.length; i++) {
+          const entry = this.#noProxyEntries[i];
+          if (entry.port && entry.port !== port) {
+            continue;
+          }
+          if (!/^[.*]/.test(entry.hostname)) {
+            if (hostname === entry.hostname) {
+              return false;
+            }
+          } else {
+            if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
+              return false;
+            }
+          }
+        }
+        return true;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
+      #parseNoProxy() {
+        const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
+        const noProxySplit = noProxyValue.split(/[,\s]/);
+        const noProxyEntries = [];
+        for (let i = 0; i < noProxySplit.length; i++) {
+          const entry = noProxySplit[i];
+          if (!entry) {
+            continue;
+          }
+          const parsed = entry.match(/^(.+):(\d+)$/);
+          noProxyEntries.push({
+            hostname: (parsed ? parsed[1] : entry).toLowerCase(),
+            port: parsed ? Number.parseInt(parsed[2], 10) : 0
+          });
         }
-        if (!this.location) {
-          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
+      }
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
         }
-        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
-        const path16 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path16;
-        this.opts.origin = origin;
-        this.opts.maxRedirections = 0;
-        this.opts.query = null;
-        if (statusCode === 303 && this.opts.method !== "HEAD") {
-          this.opts.method = "GET";
-          this.opts.body = null;
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      return new Date(retryAfter).getTime() - current;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          minTimeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "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((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
+          }
+        });
+      }
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
       }
-      onData(chunk) {
-        if (this.location) {
-        } else {
-          return this.handler.onData(chunk);
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
         } else {
-          this.handler.onComplete(trailers);
+          this.abort = abort;
         }
       }
       onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
-      }
-    };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
-          return headers[i + 1];
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          minTimeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        const { counter } = state;
+        if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
+        }
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
+        }
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
+        }
+        if (counter > maxRetries) {
+          cb(err);
+          return;
+        }
+        let retryAfterHeader = headers?.["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
         }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
+        setTimeout(() => cb(null), retryTimeout);
       }
-    }
-    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
-      if (header.length === 4) {
-        return util.headerNameToString(header) === "host";
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          if (this.retryOpts.statusCodes.includes(statusCode) === false) {
+            return this.handler.onHeaders(
+              statusCode,
+              rawHeaders,
+              resume,
+              statusMessage
+            );
+          } else {
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
+          }
+        }
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
+            this.abort(
+              new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size - 1 } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
+        }
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
+            }
+            const { start, size, end = size - 1 } = range;
+            assert(
+              start != null && Number.isFinite(start),
+              "content-range mismatch"
+            );
+            assert(end != null && Number.isFinite(end), "invalid content-length");
+            this.start = start;
+            this.end = end;
+          }
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
+          }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          if (this.etag != null && this.etag.startsWith("W/")) {
+            this.etag = null;
+          }
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
+        }
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          data: { count: this.retryCount }
+        });
+        this.abort(err);
+        return false;
       }
-      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
-        return true;
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
-        const name = util.headerNameToString(header);
-        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      return false;
-    }
-    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
-      const ret = [];
-      if (Array.isArray(headers)) {
-        for (let i = 0; i < headers.length; i += 2) {
-          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
-            ret.push(headers[i], headers[i + 1]);
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        if (this.retryCount - this.retryCountCheckpoint > 0) {
+          this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
+        } else {
+          this.retryCount += 1;
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
+          },
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
           }
-        }
-      } else if (headers && typeof headers === "object") {
-        for (const key of Object.keys(headers)) {
-          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
-            ret.push(key, headers[key]);
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
+            }
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
+          }
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
       }
-      return ret;
-    }
-    module2.exports = RedirectHandler;
+    };
+    module2.exports = RetryHandler;
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
-      return (dispatch) => {
-        return function Intercept(opts, handler2) {
-          const { maxRedirections = defaultMaxRedirections } = opts;
-          if (!maxRedirections) {
-            return dispatch(opts, handler2);
-          }
-          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
-          opts = { ...opts, maxRedirections: 0 };
-          return dispatch(opts, redirectHandler);
-        };
-      };
-    }
-    module2.exports = createRedirectInterceptor;
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
+      }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
+      }
+      close() {
+        return this.#agent.close();
+      }
+      destroy() {
+        return this.#agent.destroy();
+      }
+    };
+    module2.exports = RetryAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
     var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
-    var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("http2");
-    } catch {
-      http2 = { constants: {} };
-    }
-    var {
-      constants: {
-        HTTP2_HEADER_AUTHORITY,
-        HTTP2_HEADER_METHOD,
-        HTTP2_HEADER_PATH,
-        HTTP2_HEADER_SCHEME,
-        HTTP2_HEADER_CONTENT_LENGTH,
-        HTTP2_HEADER_EXPECT,
-        HTTP2_HEADER_STATUS
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable2 {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        contentLength,
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kContentLength] = contentLength;
+        this[kReading] = false;
       }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
-        super();
-        if (keepAlive !== void 0) {
-          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
-        }
-        if (socketTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (requestTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (idleTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
-        }
-        if (maxKeepAliveTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
-        }
-        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
-          throw new InvalidArgumentError("invalid maxHeaderSize");
-        }
-        if (socketPath != null && typeof socketPath !== "string") {
-          throw new InvalidArgumentError("invalid socketPath");
-        }
-        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
-          throw new InvalidArgumentError("invalid connectTimeout");
-        }
-        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeout");
-        }
-        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
-        }
-        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
-        }
-        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
-        }
-        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
-        }
-        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
-        }
-        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
-          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
-        }
-        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
-          throw new InvalidArgumentError("localAddress must be valid string IP address");
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        if (err) {
+          this[kAbort]();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        return super.destroy(err);
+      }
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+      }
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        return super.on(ev, ...args);
+      }
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
+      }
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
-          });
+        return ret;
+      }
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
+      }
+      push(chunk) {
+        if (this[kConsume] && chunk !== null) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
+        return super.push(chunk);
       }
-      get pipelining() {
-        return this[kPipelining];
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
+          }
+        }
+        return this[kBody];
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
+      async dump(opts) {
+        let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024;
+        const signal = opts?.signal;
+        if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
+          throw new InvalidArgumentError("signal must be an AbortSignal");
+        }
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
+        }
+        return await new Promise((resolve9, reject) => {
+          if (this[kContentLength] > limit) {
+            this.destroy(new AbortError());
+          }
+          const onAbort = () => {
+            this.destroy(signal.reason ?? new AbortError());
+          };
+          signal?.addEventListener("abort", onAbort);
+          this.on("close", function() {
+            signal?.removeEventListener("abort", onAbort);
+            if (signal?.aborted) {
+              reject(signal.reason ?? new AbortError());
+            } else {
+              resolve9(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream2, type2) {
+      assert(!stream2[kConsume]);
+      return new Promise((resolve9, reject) => {
+        if (isUnusable(stream2)) {
+          const rState = stream2._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream2.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
+          } else {
+            reject(rState.errored ?? new TypeError("unusable"));
+          }
         } else {
-          resume(this, true);
+          queueMicrotask(() => {
+            stream2[kConsume] = {
+              type: type2,
+              stream: stream2,
+              resolve: resolve9,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream2.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream2[kConsume]);
+          });
         }
-        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
+      }
+      const { _readableState: state } = consume2.stream;
+      if (state.bufferIndex) {
+        const start = state.bufferIndex;
+        const end = state.buffer.length;
+        for (let n = start; n < end; n++) {
+          consumePush(consume2, state.buffer[n]);
+        }
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        return this[kNeedDrain] < 2;
       }
-      async [kClose]() {
-        return new Promise((resolve9) => {
-          if (!this[kSize]) {
-            resolve9(null);
-          } else {
-            this[kClosedResolve] = resolve9;
-          }
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
         });
       }
-      async [kDestroy](err) {
-        return new Promise((resolve9) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
-          }
-          const callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
-            }
-            resolve9();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
-          }
-          resume(this);
-        });
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
     }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
+    function chunksDecode(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return "";
       }
+      const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
+      const bufferLength = buffer.length;
+      const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
+      return buffer.utf8Slice(start, bufferLength);
     }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
+      if (chunks.length === 1) {
+        return new Uint8Array(chunks[0]);
+      }
+      const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
+      let offset = 0;
+      for (let i = 0; i < chunks.length; ++i) {
+        const chunk = chunks[i];
+        buffer.set(chunk, offset);
+        offset += chunk.length;
+      }
+      return buffer;
     }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve9, stream: stream2, length } = consume2;
       try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
-      }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
-          }
-          /* eslint-enable camelcase */
+        if (type2 === "text") {
+          resolve9(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve9(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve9(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve9(new Blob(body, { type: stream2[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve9(chunksConcat(body, length));
         }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: exports3 }) {
-        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
-        this.llhttp = exports3;
-        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
-        this.client = client;
-        this.socket = socket;
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.statusCode = null;
-        this.statusText = "";
-        this.upgrade = false;
-        this.headers = [];
-        this.headersSize = 0;
-        this.headersMaxSize = client[kMaxHeadersSize];
-        this.shouldKeepAlive = false;
-        this.paused = false;
-        this.resume = this.resume.bind(this);
-        this.bytesRead = 0;
-        this.keepAlive = "";
-        this.contentLength = "";
-        this.connection = "";
-        this.maxResponseSize = client[kMaxResponseSize];
+        consumeFinish(consume2);
+      } catch (err) {
+        stream2.destroy(err);
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
-          } else {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      resume() {
-        if (this.socket.destroyed || !this.paused) {
-          return;
-        }
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_resume(this.ptr);
-        assert(this.timeoutType === TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-        this.paused = false;
-        this.execute(this.socket.read() || EMPTY_BUF);
-        this.readMore();
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+    module2.exports = { Readable: BodyReadable, chunksDecode };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
             break;
           }
-          this.execute(chunk);
-        }
-      }
-      execute(data) {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        assert(!this.paused);
-        const { socket, llhttp } = this;
-        if (data.length > currentBufferSize) {
-          if (currentBufferPtr) {
-            llhttp.free(currentBufferPtr);
-          }
-          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
-          currentBufferPtr = llhttp.malloc(currentBufferSize);
-        }
-        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
-        try {
-          let ret;
-          try {
-            currentBufferRef = data;
-            currentParser = this;
-            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
-          } catch (err) {
-            throw err;
-          } finally {
-            currentParser = null;
-            currentBufferRef = null;
-          }
-          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
-          if (ret === constants.ERROR.PAUSED_UPGRADE) {
-            this.onUpgrade(data.slice(offset));
-          } else if (ret === constants.ERROR.PAUSED) {
-            this.paused = true;
-            socket.unshift(data.slice(offset));
-          } else if (ret !== constants.ERROR.OK) {
-            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
-            let message = "";
-            if (ptr) {
-              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
-              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
-            }
-            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
-          }
-        } catch (err) {
-          util.destroy(socket, err);
-        }
-      }
-      destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
-      }
-      onStatus(buf) {
-        this.statusText = buf.toString();
-      }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
         }
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        this.trackHeader(buf.length);
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
       }
-      onHeaderValue(buf) {
-        let len = this.headers.length;
-        if ((len & 1) === 1) {
-          this.headers.push(buf);
-          len += 1;
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        const key = this.headers[len - 2];
-        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      const stackTraceLimit = Error.stackTraceLimit;
+      Error.stackTraceLimit = 0;
+      let payload;
+      try {
+        if (isContentTypeApplicationJson(contentType)) {
+          payload = JSON.parse(chunksDecode(chunks, length));
+        } else if (isContentTypeText(contentType)) {
+          payload = chunksDecode(chunks, length);
         }
-        this.trackHeader(buf.length);
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
+      queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)));
+    }
+    var isContentTypeApplicationJson = (contentType) => {
+      return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n";
+    };
+    var isContentTypeText = (contentType) => {
+      return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t";
+    };
+    module2.exports = {
+      getResolveErrorBodyCallback,
+      isContentTypeApplicationJson,
+      isContentTypeText
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-      }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
         try {
-          request2.onUpgrade(statusCode, headers, socket);
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
         } catch (err) {
-          util.destroy(socket, err);
-        }
-        resume(client);
-      }
-      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
-        const { client, socket, headers, statusText } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
-        }
-        assert(!this.upgrade);
-        assert(this.statusCode < 200);
-        if (statusCode === 100) {
-          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
-          return -1;
-        }
-        if (upgrade && !request2.upgrade) {
-          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
-          return -1;
-        }
-        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
-        this.statusCode = statusCode;
-        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
-        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
-        if (this.statusCode >= 200) {
-          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
-          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
           }
+          throw err;
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
-        }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
-            } else {
-              client[kKeepAliveTimeoutValue] = timeout;
-            }
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
           } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
-          }
-        } else {
-          socket[kReset] = true;
-        }
-        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
-        if (request2.aborted) {
-          return -1;
-        }
-        if (request2.method === "HEAD") {
-          return 1;
-        }
-        if (statusCode < 200) {
-          return 1;
-        }
-        if (socket[kBlocking]) {
-          socket[kBlocking] = false;
-          resume(client);
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      onConnect(abort, context3) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context3;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context3, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
           }
+          return;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable2({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        this.callback = null;
+        this.res = res;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body: res, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body: res,
+              context: context3
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
-          return;
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
       }
     };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve9, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve9(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
+      }
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        this[kParser].destroy();
-        this[kParser] = null;
-      }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context3) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context3;
       }
-      try {
-        const socket = await new Promise((resolve9, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve9(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context3, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
+          this.callback = null;
+          this.runInAsyncScope(
+            getResolveErrorBodyCallback,
+            null,
+            { callback, body: res, contentType, statusCode, statusMessage, headers }
+          );
+        } else {
+          if (factory === null) {
+            return;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context3
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          finished(res, { readable: false }, (err) => {
+            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
+            this.res = null;
+            if (err || !res2.readable) {
+              util.destroy(res2, err);
+            }
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
+        return needDrain !== true;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
           return;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
-          assert(client[kRunning] === 0);
-          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
-            const request2 = client[kQueue][client[kPendingIdx]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream2(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve9, reject) => {
+          stream2.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve9(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = stream2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable: Readable2,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable2 {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
+      }
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
+        }
+      }
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
+      }
+    };
+    var PipelineResponse = class extends Readable2 {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
       }
-      client[kResuming] = 2;
-      _resume(client, sync);
-      client[kResuming] = 0;
-      if (client[kRunningIdx] > 256) {
-        client[kQueue].splice(0, client[kRunningIdx]);
-        client[kPendingIdx] -= client[kRunningIdx];
-        client[kRunningIdx] = 0;
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        callback(err);
       }
-    }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
+        }
+        const { signal, method, opaque, onInfo, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context3) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context3;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context3 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context3
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        super("UNDICI_UPGRADE");
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.abort = null;
+        this.context = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context3) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = null;
+      }
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
+      }
+      onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
+        const { callback, opaque, context: context3 } = this;
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context3
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve9, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve9(data);
+          });
+        });
+      }
+      try {
+        const upgradeHandler = new UpgradeHandler(opts, callback);
+        this.dispatch({
+          ...opts,
+          method: opts.method || "GET",
+          upgrade: opts.protocol || "Websocket"
+        }, upgradeHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path16, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context3) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context3;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context3 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context3
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
-      }
-      if (request2.aborted) {
-        return false;
       }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve9, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve9(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
+    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _MockNotMatchedError);
+        this.name = "MockNotMatchedError";
+        this.message = message || "The request does not match any registered mock dispatches";
+        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path16} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      if (upgrade) {
-        header += `connection: upgrade\r
-upgrade: ${upgrade}\r
-`;
-      } else if (client[kPipelining] && !socket[kReset]) {
-        header += "connection: keep-alive\r\n";
-      } else {
-        header += "connection: close\r\n";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        if (contentLength === 0) {
-          socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-        } else {
-          assert(contentLength === null, "no body must not have content length");
-          socket.write(`${header}\r
-`, "latin1");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      return false;
+    }
+    function lowerCaseEntries(headers) {
+      return Object.fromEntries(
+        Object.entries(headers).map(([headerName, headerValue]) => {
+          return [headerName.toLocaleLowerCase(), headerValue];
+        })
+      );
+    }
+    function getHeaderByName(headers, key) {
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
+            return headers[i + 1];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      return true;
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path16, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    function buildHeadersFromArray(headers) {
+      const clone = headers.slice();
+      const entries = [];
+      for (let index = 0; index < clone.length; index += 2) {
+        entries.push([clone[index], clone[index + 1]]);
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      return Object.fromEntries(entries);
+    }
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
+        }
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      if (request2.aborted) {
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
+      }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream2;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream2 = session.request(headers, { endStream: false, signal });
-        if (stream2.id && !stream2.pending) {
-          request2.onUpgrade(null, null, stream2);
-          ++h2State.openStreams;
-        } else {
-          stream2.once("ready", () => {
-            request2.onUpgrade(null, null, stream2);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream2.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path16;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path16) {
+      if (typeof path16 !== "string") {
+        return path16;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path16.split("?");
+      if (pathSegments.length !== 2) {
+        return path16;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path16, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path16);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    function getMockDispatch(mockDispatches, key) {
+      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
+      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path16 }) => matchValue(safeUrl(path16), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
-        stream2.once("continue", writeBodyH2);
-      } else {
-        stream2 = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream2.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream2.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream2.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      stream2.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
+      }
+      return matchedMockDispatches[0];
+    }
+    function addMockDispatch(mockDispatches, key, data) {
+      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
+      const replyData = typeof data === "function" ? { callback: data } : { ...data };
+      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
+      mockDispatches.push(newMockDispatch);
+      return newMockDispatch;
+    }
+    function deleteMockDispatch(mockDispatches, key) {
+      const index = mockDispatches.findIndex((dispatch) => {
+        if (!dispatch.consumed) {
+          return false;
         }
+        return matchKey(dispatch, key);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream2.cork();
-          stream2.write(body);
-          stream2.uncork();
-          stream2.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream2,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream2,
-              header: "",
-              socket: client[kSocket]
-            });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
+      }
+    }
+    function buildKey(opts) {
+      const { path: path16, method, body, headers, query } = opts;
+      return {
+        path: path16,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
           }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream2,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream2,
-            socket: client[kSocket]
-          });
         } else {
-          assert(false);
+          result.push(name, Buffer.from(`${value}`));
         }
       }
+      return result;
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
+      return Buffer.concat(buffers).toString("utf8");
+    }
+    function mockDispatch(opts, handler2) {
+      const key = buildKey(opts);
+      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
+      mockDispatch2.timesInvoked++;
+      if (mockDispatch2.data.callback) {
+        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+      }
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
+      }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
           return;
         }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
+      }
+      function resume() {
+      }
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
           try {
-            writer.end();
-          } catch (er) {
-            err = er;
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
+              }
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
+            }
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          originalDispatch.call(this, opts, handler2);
         }
       };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    function checkNetConnect(netConnect, origin) {
+      const url = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
+        return true;
       }
+      return false;
     }
-    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
-      let callback = null;
-      function onDrain() {
-        if (callback) {
-          const cb = callback;
-          callback = null;
-          cb();
-        }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
-      const waitForDrain = () => new Promise((resolve9, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve9;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+    }
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      /**
+       * Delay a reply by a set amount in ms.
+       */
+      delay(waitInMs) {
+        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
+          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
-    }
-    var AsyncWriter = class {
-      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
-        this.socket = socket;
-        this.request = request2;
-        this.contentLength = contentLength;
-        this.client = client;
-        this.bytesWritten = 0;
-        this.expectsPayload = expectsPayload;
-        this.header = header;
-        socket[kWriting] = true;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
         }
-        if (socket.destroyed) {
-          return false;
+        this[kMockDispatch].times = repeatTimes;
+        return this;
+      }
+    };
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          }
-          process.emitWarning(new RequestContentLengthMismatchError());
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
         }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
-          }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
           } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
           }
         }
-        if (contentLength === null) {
-          socket.write(`\r
-${len.toString(16)}\r
-`, "latin1");
-        }
-        this.bytesWritten += len;
-        const ret = socket.write(chunk);
-        socket.uncork();
-        request2.onBodySent(chunk);
-        if (!ret) {
-          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-            if (socket[kParser].timeout.refresh) {
-              socket[kParser].timeout.refresh();
-            }
-          }
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
         }
-        return ret;
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
+      createMockScopeDispatchData({ statusCode, data, responseOptions }) {
+        const responseData = getResponseData2(data);
+        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
+        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
+        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
+        return { statusCode, data, headers, trailers };
+      }
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
         }
-        if (socket.destroyed) {
-          return;
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
+          throw new InvalidArgumentError("responseOptions must be an object");
         }
-        if (bytesWritten === 0) {
-          if (expectsPayload) {
-            socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-          } else {
-            socket.write(`${header}\r
-`, "latin1");
-          }
-        } else if (contentLength === null) {
-          socket.write("\r\n0\r\n\r\n", "latin1");
+      }
+      /**
+       * Mock an undici request with a defined reply.
+       */
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
+              throw new InvalidArgumentError("reply options callback must return an object");
+            }
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
+            return {
+              ...this.createMockScopeDispatchData(replyParameters2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
         }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
-          }
+        const replyParameters = {
+          statusCode: replyOptionsCallbackOrStatusCode,
+          data: arguments[1] === void 0 ? "" : arguments[1],
+          responseOptions: arguments[2] === void 0 ? {} : arguments[2]
+        };
+        this.validateReplyParameters(replyParameters);
+        const dispatchData = this.createMockScopeDispatchData(replyParameters);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
+      }
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
         }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
-          }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
+      }
+      /**
+       * Set default reply headers on the interceptor for subsequent replies
+       */
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
         }
-        resume(client);
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
+      /**
+       * Set default reply trailers on the interceptor for subsequent replies
+       */
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
         }
+        this[kDefaultTrailers] = trailers;
+        return this;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
-    }
-    module2.exports = Client;
+    };
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var kSize = 2048;
-    var kMask = kSize - 1;
-    var FixedCircularBuffer = class {
-      constructor() {
-        this.bottom = 0;
-        this.top = 0;
-        this.list = new Array(kSize);
-        this.next = null;
-      }
-      isEmpty() {
-        return this.top === this.bottom;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      shift() {
-        const nextItem = this.list[this.bottom];
-        if (nextItem === void 0)
-          return null;
-        this.list[this.bottom] = void 0;
-        this.bottom = this.bottom + 1 & kMask;
-        return nextItem;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isEmpty() {
-        return this.head.isEmpty();
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
-        }
-        this.head.push(data);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
-        }
-        return next;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
-      }
-      get connected() {
-        return this[kPool][kConnected];
-      }
-      get free() {
-        return this[kPool][kFree];
-      }
-      get pending() {
-        return this[kPool][kPending];
-      }
-      get queued() {
-        return this[kPool][kQueued];
-      }
-      get running() {
-        return this[kPool][kRunning];
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+    "use strict";
+    var singulars = {
+      pronoun: "it",
+      is: "is",
+      was: "was",
+      this: "this"
+    };
+    var plurals = {
+      pronoun: "they",
+      is: "are",
+      was: "were",
+      this: "these"
+    };
+    module2.exports = class Pluralizer {
+      constructor(singular, plural) {
+        this.singular = singular;
+        this.plural = plural;
       }
-      get size() {
-        return this[kPool][kSize];
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
       }
     };
-    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ Symbol("stats");
-    var PoolBase = class extends DispatcherBase {
-      constructor() {
-        super();
-        this[kQueue] = new FixedQueue();
-        this[kClients] = [];
-        this[kQueued] = 0;
-        const pool = this;
-        this[kOnDrain] = function onDrain(origin, targets) {
-          const queue = pool[kQueue];
-          let needDrain = false;
-          while (!needDrain) {
-            const item = queue.shift();
-            if (!item) {
-              break;
-            }
-            pool[kQueued]--;
-            needDrain = !this.dispatch(item.opts, item.handler);
-          }
-          this[kNeedDrain] = needDrain;
-          if (!this[kNeedDrain] && pool[kNeedDrain]) {
-            pool[kNeedDrain] = false;
-            pool.emit("drain", origin, [pool, ...targets]);
+    var { Transform } = require("node:stream");
+    var { Console } = require("node:console");
+    var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
+    var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
           }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
           }
-        };
-        this[kOnConnect] = (origin, targets) => {
-          pool.emit("connect", origin, [pool, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          pool.emit("disconnect", origin, [pool, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          pool.emit("connectionError", origin, [pool, ...targets], err);
-        };
-        this[kStats] = new PoolStats(this);
-      }
-      get [kBusy]() {
-        return this[kNeedDrain];
+        });
       }
-      get [kConnected]() {
-        return this[kClients].filter((client) => client[kConnected]).length;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path16, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path16,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      get [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        return ret;
+        return dispatcher;
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
+      }
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
+      }
+      deactivate() {
+        this[kIsMockActive] = false;
+      }
+      activate() {
+        this[kIsMockActive] = true;
+      }
+      enableNetConnect(matcher) {
+        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
+          if (Array.isArray(this[kNetConnect])) {
+            this[kNetConnect].push(matcher);
+          } else {
+            this[kNetConnect] = [matcher];
+          }
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        return ret;
       }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      get stats() {
-        return this[kStats];
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve9) => {
-            this[kClosedResolve] = resolve9;
-          });
-        }
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const client = this[kClients].get(origin);
+        if (client) {
+          return client;
+        }
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
+        }
+        for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
-          item.handler.onError(err);
         }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      [kDispatch](opts, handler2) {
-        const dispatcher = this[kGetDispatcher]();
-        if (!dispatcher) {
-          this[kNeedDrain] = true;
-          this[kQueue].push({ opts, handler: handler2 });
-          this[kQueued]++;
-        } else if (!dispatcher.dispatch(opts, handler2)) {
-          dispatcher[kNeedDrain] = true;
-          this[kNeedDrain] = !this[kGetDispatcher]();
-        }
-        return !this[kNeedDrain];
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-      [kAddClient](client) {
-        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-        this[kClients].push(client);
-        if (this[kNeedDrain]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      [kRemoveClient](client) {
-        client.close(() => {
-          const idx = this[kClients].indexOf(client);
-          if (idx !== -1) {
-            this[kClients].splice(idx, 1);
-          }
-        });
-        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
+          return;
+        }
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors2();
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    var Pool = class extends PoolBase {
-      constructor(origin, {
-        connections,
-        factory = defaultFactory,
-        connect,
-        connectTimeout,
-        tls,
-        maxCachedSessions,
-        socketPath,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        allowH2,
-        ...options
-      } = {}) {
-        super();
-        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
-          throw new InvalidArgumentError("invalid connections");
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (typeof connect !== "function") {
-          connect = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
-          }
-        });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
     "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var BalancedPool = class extends PoolBase {
-      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
-        super();
-        this[kOptions] = opts;
-        this[kIndex] = -1;
-        this[kCurrentWeight] = 0;
-        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
-        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
-        if (!Array.isArray(upstreams)) {
-          upstreams = [upstreams];
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+    module2.exports = class DecoratorHandler {
+      #handler;
+      constructor(handler2) {
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
         }
-        this._updateBalancedPoolStats();
+        this.#handler = handler2;
       }
-      addUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
-          return this;
-        }
-        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
-        this[kAddClient](pool);
-        pool.on("connect", () => {
-          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
-        });
-        pool.on("connectionError", () => {
-          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-          this._updateBalancedPoolStats();
-        });
-        pool.on("disconnect", (...args) => {
-          const err = args[2];
-          if (err && err.code === "UND_ERR_SOCKET") {
-            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-            this._updateBalancedPoolStats();
-          }
-        });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
-        }
-        this._updateBalancedPoolStats();
-        return this;
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      removeUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
-        if (pool) {
-          this[kRemoveClient](pool);
-        }
-        return this;
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
-      [kGetDispatcher]() {
-        if (this[kClients].length === 0) {
-          throw new BalancedPoolMissingUpstreamError();
-        }
-        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
-        if (!dispatcher) {
-          return;
-        }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
-        }
-        let counter = 0;
-        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
-        while (counter++ < this[kClients].length) {
-          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
-          const pool = this[kClients][this[kIndex]];
-          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
-            maxWeightIndex = this[kIndex];
-          }
-          if (this[kIndex] === 0) {
-            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
-            if (this[kCurrentWeight] <= 0) {
-              this[kCurrentWeight] = this[kMaxWeightPerServer];
-            }
-          }
-          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
-            return pool;
-          }
-        }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
+      onHeaders(...args) {
+        return this.#handler.onHeaders?.(...args);
+      }
+      onData(...args) {
+        return this.#handler.onData?.(...args);
+      }
+      onComplete(...args) {
+        return this.#handler.onComplete?.(...args);
+      }
+      onBodySent(...args) {
+        return this.#handler.onBodySent?.(...args);
       }
     };
-    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
-      }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
-      }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
-      }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
-        }
-      }
+    var RedirectHandler = require_redirect_handler2();
+    module2.exports = (opts) => {
+      const globalMaxRedirections = opts?.maxRedirections;
+      return (dispatch) => {
+        return function redirectInterceptor(opts2, handler2) {
+          const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2;
+          if (!maxRedirections) {
+            return dispatch(opts2, handler2);
+          }
+          const redirectHandler = new RedirectHandler(
+            dispatch,
+            maxRedirections,
+            opts2,
+            handler2
+          );
+          return dispatch(baseOpts, redirectHandler);
+        };
+      };
     };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
         };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
       };
     };
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    function defaultFactory(origin, opts) {
-      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
-    }
-    var Agent = class extends DispatcherBase {
-      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
-        super();
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    var DumpHandler = class extends DecoratorHandler {
+      #maxSize = 1024 * 1024;
+      #abort = null;
+      #dumped = false;
+      #aborted = false;
+      #size = 0;
+      #reason = null;
+      #handler = null;
+      constructor({ maxSize }, handler2) {
+        super(handler2);
+        if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
+          throw new InvalidArgumentError("maxSize must be a number greater than 0");
         }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
+      }
+      onConnect(abort) {
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
+      }
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
+      }
+      // TODO: will require adjustment after new hooks are out
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = util.parseHeaders(rawHeaders);
+        const contentLength = headers["content-length"];
+        if (contentLength != null && contentLength > this.#maxSize) {
+          throw new RequestAbortedError(
+            `Response size (${contentLength}) larger than maxSize (${this.#maxSize})`
+          );
         }
-        if (connect && typeof connect !== "function") {
-          connect = { ...connect };
+        if (this.#aborted) {
+          return true;
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
         );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
-        }
-        return ret;
       }
-      [kDispatch](opts, handler2) {
-        let key;
-        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
-          key = String(opts.origin);
-        } else {
-          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
+      onError(err) {
+        if (this.#dumped) {
+          return;
         }
-        return dispatcher.dispatch(opts, handler2);
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
+      onData(chunk) {
+        this.#size = this.#size + chunk.length;
+        if (this.#size >= this.#maxSize) {
+          this.#dumped = true;
+          if (this.#aborted) {
+            this.#handler.onError(this.#reason);
+          } else {
+            this.#handler.onComplete([]);
           }
         }
-        await Promise.all(closePromises);
+        return true;
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        await Promise.all(destroyPromises);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
+        }
+        this.#handler.onComplete(trailers);
       }
     };
-    module2.exports = Agent;
+    function createDumpInterceptor({ maxSize: defaultMaxSize } = {
+      maxSize: 1024 * 1024
+    }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { dumpMaxSize = defaultMaxSize } = opts;
+          const dumpHandler = new DumpHandler(
+            { maxSize: dumpMaxSize },
+            handler2
+          );
+          return dispatch(opts, dumpHandler);
+        };
+      };
+    }
+    module2.exports = createDumpInterceptor;
   }
 });
 
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable: Readable2 } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
-    };
-    module2.exports = class BodyReadable extends Readable2 {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        highWaterMark = 64 * 1024
-        // Same as nodejs fs streams.
-      }) {
-        super({
-          autoDestroy: true,
-          read: resume,
-          highWaterMark
-        });
-        this._readableState.dataEmitted = false;
-        this[kAbort] = abort;
-        this[kConsume] = null;
-        this[kBody] = null;
-        this[kContentType] = contentType;
-        this[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
-        }
-        return super.emit(ev, ...args);
-      }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
-      }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
-      }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
-        }
-        return ret;
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    var maxInt = Math.pow(2, 31) - 1;
+    var DNSInstance = class {
+      #maxTTL = 0;
+      #maxItems = 0;
+      #records = /* @__PURE__ */ new Map();
+      dualStack = true;
+      affinity = null;
+      lookup = null;
+      pick = null;
+      constructor(opts) {
+        this.#maxTTL = opts.maxTTL;
+        this.#maxItems = opts.maxItems;
+        this.dualStack = opts.dualStack;
+        this.affinity = opts.affinity;
+        this.lookup = opts.lookup ?? this.#defaultLookup;
+        this.pick = opts.pick ?? this.#defaultPick;
       }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
         }
-        return super.push(chunk);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-text
-      async text() {
-        return consume(this, "text");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-json
-      async json() {
-        return consume(this, "json");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-blob
-      async blob() {
-        return consume(this, "blob");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-body
-      get body() {
-        if (!this[kBody]) {
-          this[kBody] = ReadableStreamFrom(this);
-          if (this[kConsume]) {
-            this[kBody].getReader();
-            assert(this[kBody].locked);
+        const newOpts = {
+          affinity: this.affinity,
+          dualStack: this.dualStack,
+          lookup: this.lookup,
+          pick: this.pick,
+          ...opts.dns,
+          maxTTL: this.#maxTTL,
+          maxItems: this.#maxItems
+        };
+        if (ips == null) {
+          this.lookup(origin, newOpts, (err, addresses) => {
+            if (err || addresses == null || addresses.length === 0) {
+              cb(err ?? new InformationalError("No DNS entries found"));
+              return;
+            }
+            this.setRecords(origin, addresses);
+            const records = this.#records.get(origin.hostname);
+            const ip = this.pick(
+              origin,
+              records,
+              newOpts.affinity
+            );
+            let port;
+            if (typeof ip.port === "number") {
+              port = `:${ip.port}`;
+            } else if (origin.port !== "") {
+              port = `:${origin.port}`;
+            } else {
+              port = "";
+            }
+            cb(
+              null,
+              `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+            );
+          });
+        } else {
+          const ip = this.pick(
+            origin,
+            ips,
+            newOpts.affinity
+          );
+          if (ip == null) {
+            this.#records.delete(origin.hostname);
+            this.runLookup(origin, opts, cb);
+            return;
+          }
+          let port;
+          if (typeof ip.port === "number") {
+            port = `:${ip.port}`;
+          } else if (origin.port !== "") {
+            port = `:${origin.port}`;
+          } else {
+            port = "";
           }
+          cb(
+            null,
+            `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+          );
         }
-        return this[kBody];
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
+      #defaultLookup(origin, opts, cb) {
+        lookup(
+          origin.hostname,
+          {
+            all: true,
+            family: this.dualStack === false ? this.affinity : 0,
+            order: "ipv4first"
+          },
+          (err, addresses) => {
+            if (err) {
+              return cb(err);
             }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
           }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve9, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+        );
+      }
+      #defaultPick(origin, hostnameRecords, affinity) {
+        let ip = null;
+        const { records, offset } = hostnameRecords;
+        let family;
+        if (this.dualStack) {
+          if (affinity == null) {
+            if (offset == null || offset === maxInt) {
+              hostnameRecords.offset = 0;
+              affinity = 4;
             } else {
-              resolve9(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
             }
-          }).resume();
-        });
-      }
-    };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream2, type2) {
-      if (isUnusable(stream2)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream2[kConsume]);
-      return new Promise((resolve9, reject) => {
-        stream2[kConsume] = {
-          type: type2,
-          stream: stream2,
-          resolve: resolve9,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream2.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
           }
-        });
-        process.nextTick(consumeStart, stream2[kConsume]);
-      });
-    }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
-      }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
-        });
-      }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
-      }
-    }
-    function consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve9, stream: stream2, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve9(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve9(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve9(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+        } else {
+          family = records[affinity];
+        }
+        if (family == null || family.ips.length === 0) {
+          return ip;
+        }
+        if (family.offset == null || family.offset === maxInt) {
+          family.offset = 0;
+        } else {
+          family.offset++;
+        }
+        const position = family.offset % family.ips.length;
+        ip = family.ips[position] ?? null;
+        if (ip == null) {
+          return ip;
+        }
+        if (Date.now() - ip.timestamp > ip.ttl) {
+          family.ips.splice(position, 1);
+          return this.pick(origin, hostnameRecords, affinity);
+        }
+        return ip;
+      }
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
           }
-          resolve9(new Blob2(body, { type: stream2[kContentType] }));
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream2.destroy(err);
+        this.#records.set(origin.hostname, records);
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
+            }
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
+      };
     };
   }
 });
 
-// node_modules/undici/lib/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable2 = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
+    }
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
+      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
+    }
+    function fill(headers, object) {
+      if (Array.isArray(object)) {
+        for (let i = 0; i < object.length; ++i) {
+          const header = object[i];
+          if (header.length !== 2) {
+            throw webidl.errors.exception({
+              header: "Headers constructor",
+              message: `expected name/value pair to be length 2, found ${header.length}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } else if (typeof object === "object" && object !== null) {
+        const keys = Object.keys(object);
+        for (let i = 0; i < keys.length; ++i) {
+          appendHeader(headers, keys[i], object[keys[i]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context3;
+    }
+    function appendHeader(headers, name, value) {
+      value = headerValueNormalize(value);
+      if (!isValidHeaderName(name)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value: name,
+          type: "header name"
+        });
+      } else if (!isValidHeaderValue(value)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value,
+          type: "header value"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context3, responseHeaders, highWaterMark } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
-          }
-          return;
-        }
-        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-        const contentType = parsedHeaders["content-type"];
-        const body = new Readable2({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context3
-            });
-          }
+      if (getHeadersGuard(headers) === "immutable") {
+        throw new TypeError("immutable");
+      }
+      return getHeadersList(headers).append(name, value, false);
+    }
+    function compareHeaderName(a, b) {
+      return a[0] < b[0] ? -1 : 1;
+    }
+    var HeadersList = class _HeadersList {
+      /** @type {[string, string][]|null} */
+      cookies = null;
+      constructor(init) {
+        if (init instanceof _HeadersList) {
+          this[kHeadersMap] = new Map(init[kHeadersMap]);
+          this[kHeadersSortedMap] = init[kHeadersSortedMap];
+          this.cookies = init.cookies === null ? null : [...init.cookies];
+        } else {
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @see https://fetch.spec.whatwg.org/#header-list-contains
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      contains(name, isLowerCase) {
+        return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-append
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      append(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
           });
+        } else {
+          this[kHeadersMap].set(lowercaseName, { name, value });
         }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve9, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve9(data);
-          });
-        });
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-set
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      set(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
+        }
+        this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        if (!isLowerCase) name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-get
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       * @returns {string | null}
+       */
+      get(name, isLowerCase) {
+        return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
+      }
+      *[Symbol.iterator]() {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+          yield [name, value];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
-        }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context3;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context3, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      get entriesList() {
+        const headers = [];
+        if (this[kHeadersMap].size !== 0) {
+          for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) {
+            if (lowerName === "set-cookie") {
+              for (const cookie of this.cookies) {
+                headers.push([name, cookie]);
+              }
+            } else {
+              headers.push([name, value]);
+            }
           }
-          return;
         }
-        this.factory = null;
-        let res;
-        if (this.throwOnError && statusCode >= 400) {
-          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-          const contentType = parsedHeaders["content-type"];
-          res = new PassThrough();
-          this.callback = null;
-          this.runInAsyncScope(
-            getResolveErrorBodyCallback,
-            null,
-            { callback, body: res, contentType, statusCode, statusMessage, headers }
-          );
-        } else {
-          if (factory === null) {
-            return;
-          }
-          res = this.runInAsyncScope(factory, null, {
-            statusCode,
-            headers,
-            opaque,
-            context: context3
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        return headers;
+      }
+      // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set
+      toSortedArray() {
+        const size = this[kHeadersMap].size;
+        const array = new Array(size);
+        if (size <= 32) {
+          if (size === 0) {
+            return array;
           }
-          finished(res, { readable: false }, (err) => {
-            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
-            this.res = null;
-            if (err || !res2.readable) {
-              util.destroy(res2, err);
+          const iterator2 = this[kHeadersMap][Symbol.iterator]();
+          const firstValue = iterator2.next().value;
+          array[0] = [firstValue[0], firstValue[1].value];
+          assert(firstValue[1].value !== null);
+          for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) {
+            value = iterator2.next().value;
+            x = array[i] = [value[0], value[1].value];
+            assert(x[1] !== null);
+            left = 0;
+            right = i;
+            while (left < right) {
+              pivot = left + (right - left >> 1);
+              if (array[pivot][0] <= x[0]) {
+                left = pivot + 1;
+              } else {
+                right = pivot;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream2(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve9, reject) => {
-          stream2.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve9(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream2;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable: Readable2,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable2 {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
-      }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
+          }
+          if (!iterator2.next().done) {
+            throw new TypeError("Unreachable");
+          }
+          return array;
+        } else {
+          let i = 0;
+          for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+            array[i++] = [name, value];
+            assert(value !== null);
+          }
+          return array.sort(compareHeaderName);
         }
       }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
-      }
     };
-    var PipelineResponse = class extends Readable2 {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
-      }
-      _read() {
-        this[kResume]();
-      }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+    var Headers = class _Headers {
+      #guard;
+      #headersList;
+      constructor(init = void 0) {
+        webidl.util.markAsUncloneable(this);
+        if (init === kConstruct) {
+          return;
+        }
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
+          fill(this, init);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
+          });
         }
-        if (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        const { signal, method, opaque, onInfo, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        this.#headersList.delete(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        return this.#headersList.get(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context3) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value,
+            type: "header value"
+          });
         }
-        this.abort = abort;
-        this.context = context3;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context3 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context3
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        for (let i = 0; i < names.length; ++i) {
+          const { 0: name, 1: value } = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
+            }
+          } else {
+            headers.push([name, value]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    function pipeline(opts, handler2) {
-      try {
-        const pipelineHandler = new PipelineHandler(opts, handler2);
-        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
-        return pipelineHandler.ret;
-      } catch (err) {
-        return new PassThrough().destroy(err);
+    var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers;
+    Reflect.deleteProperty(Headers, "getHeadersGuard");
+    Reflect.deleteProperty(Headers, "setHeadersGuard");
+    Reflect.deleteProperty(Headers, "getHeadersList");
+    Reflect.deleteProperty(Headers, "setHeadersList");
+    iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1);
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-    }
-    module2.exports = pipeline;
+    });
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object") {
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
+        }
+        if (typeof iterator2 === "function") {
+          return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V));
+        }
+        return webidl.converters["record"](V, prefix, argument);
+      }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
+    };
+    module2.exports = {
+      fill,
+      // for test.
+      compareHeaderName,
+      Headers,
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
+    };
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { types } = require("node:util");
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
+        return responseObject;
+      }
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context3 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context3
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve9, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve9(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      try {
-        const upgradeHandler = new UpgradeHandler(opts, callback);
-        this.dispatch({
-          ...opts,
-          method: opts.method || "GET",
-          upgrade: opts.protocol || "Websocket"
-        }, upgradeHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url = urlList[urlList.length - 1] ?? null;
+        if (url === null) {
+          return "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context3) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context3;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context3 } = this;
-        removeSignal(this);
-        this.callback = null;
-        let headers = rawHeaders;
-        if (headers != null) {
-          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        }
-        this.runInAsyncScope(callback, null, null, {
-          statusCode,
-          headers,
-          socket,
-          opaque,
-          context: context3
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve9, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve9(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      }
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (bodyUnusable(this)) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        const clonedResponse = cloneResponse(this[kState]);
+        if (hasFinalizationRegistry && this[kState].body?.stream) {
+          streamRegistry.register(this, new WeakRef(this[kState].body.stream));
+        }
+        return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    mixinBody(Response);
+    Object.defineProperties(Response.prototype, {
+      type: kEnumerableProperty,
+      url: kEnumerableProperty,
+      status: kEnumerableProperty,
+      ok: kEnumerableProperty,
+      redirected: kEnumerableProperty,
+      statusText: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Response",
+        configurable: true
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    function makeResponse(init) {
+      return {
+        aborted: false,
+        rangeRequested: false,
+        timingAllowPassed: false,
+        requestIncludesCredentials: false,
+        type: "default",
+        status: 200,
+        timingInfo: null,
+        cacheState: "",
+        statusText: "",
+        ...init,
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
+      };
+    }
+    function makeNetworkError(reason) {
+      const isError = isErrorLike(reason);
+      return makeResponse({
+        type: "error",
+        status: 0,
+        error: isError ? reason : new Error(reason ? String(reason) : reason),
+        aborted: reason && reason.name === "AbortError"
+      });
+    }
+    function isNetworkError(response) {
+      return (
+        // A network error is a response whose type is "error",
+        response.type === "error" && // status is 0
+        response.status === 0
       );
     }
-    function getHeaderByName(headers, key) {
-      if (Array.isArray(headers)) {
-        for (let i = 0; i < headers.length; i += 2) {
-          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
-            return headers[i + 1];
-          }
+    function makeFilteredResponse(response, state) {
+      state = {
+        internalResponse: response,
+        ...state
+      };
+      return new Proxy(response, {
+        get(target, p) {
+          return p in state ? state[p] : target[p];
+        },
+        set(target, p, value) {
+          assert(!(p in state));
+          target[p] = value;
+          return true;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    function buildHeadersFromArray(headers) {
-      const clone = headers.slice();
-      const entries = [];
-      for (let index = 0; index < clone.length; index += 2) {
-        entries.push([clone[index], clone[index + 1]]);
-      }
-      return Object.fromEntries(entries);
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
     }
-    function matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path16) {
-      if (typeof path16 !== "string") {
-        return path16;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path16.split("?");
-      if (pathSegments.length !== 2) {
-        return path16;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
     }
-    function matchKey(mockDispatch2, { path: path16, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path16);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
-    }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
       }
+      return response;
     }
-    function getMockDispatch(mockDispatches, key) {
-      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
-      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
-      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path16 }) => matchValue(safeUrl(path16), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      return matchedMockDispatches[0];
-    }
-    function addMockDispatch(mockDispatches, key, data) {
-      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
-      const replyData = typeof data === "function" ? { callback: data } : { ...data };
-      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
-      mockDispatches.push(newMockDispatch);
-      return newMockDispatch;
-    }
-    function deleteMockDispatch(mockDispatches, key) {
-      const index = mockDispatches.findIndex((dispatch) => {
-        if (!dispatch.consumed) {
-          return false;
-        }
-        return matchKey(dispatch, key);
-      });
-      if (index !== -1) {
-        mockDispatches.splice(index, 1);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path16, method, body, headers, query } = opts;
-      return {
-        path: path16,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      return webidl.converters.DOMString(V, prefix, name);
+    };
+    webidl.converters.BodyInit = function(V, prefix, argument) {
+      if (V instanceof ReadableStream) {
+        return webidl.converters.ReadableStream(V, prefix, argument);
       }
-      return Buffer.concat(buffers).toString("utf8");
-    }
-    function mockDispatch(opts, handler2) {
-      const key = buildKey(opts);
-      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
-      mockDispatch2.timesInvoked++;
-      if (mockDispatch2.data.callback) {
-        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
+    };
+    webidl.converters.ResponseInit = webidl.dictionaryConverter([
+      {
+        key: "status",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 200
+      },
+      {
+        key: "statusText",
+        converter: webidl.converters.ByteString,
+        defaultValue: () => ""
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
       }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      return true;
-    }
-    function buildMockDispatch() {
-      const agent = this[kMockAgent];
-      const origin = this[kOrigin];
-      const originalDispatch = this[kOriginalDispatch];
-      return function dispatch(opts, handler2) {
-        if (agent.isMockActive) {
-          try {
-            mockDispatch.call(this, opts, handler2);
-          } catch (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
-              }
-              if (checkNetConnect(netConnect, origin)) {
-                originalDispatch.call(this, opts, handler2);
-              } else {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } else {
-          originalDispatch.call(this, opts, handler2);
+          });
         }
-      };
-    }
-    function checkNetConnect(netConnect, origin) {
-      const url = new URL(origin);
-      if (netConnect === true) {
-        return true;
-      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
-        return true;
       }
-      return false;
-    }
-    function buildMockOptions(opts) {
-      if (opts) {
-        const { agent, ...mockOptions } = opts;
-        return mockOptions;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) {
+        process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
+      }
+      return { WeakRef, FinalizationRegistry };
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    var MockScope = class {
-      constructor(mockDispatch) {
-        this[kMockDispatch] = mockDispatch;
-      }
-      /**
-       * Delay a reply by a set amount in ms.
-       */
-      delay(waitInMs) {
-        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
-          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var dependentControllerMap = /* @__PURE__ */ new WeakMap();
+    function buildAbort(acRef) {
+      return abort;
+      function abort() {
+        const ac = acRef.deref();
+        if (ac !== void 0) {
+          requestFinalizer.unregister(abort);
+          this.removeEventListener("abort", abort);
+          ac.abort(this.reason);
+          const controllerList = dependentControllerMap.get(ac.signal);
+          if (controllerList !== void 0) {
+            if (controllerList.size !== 0) {
+              for (const ref of controllerList) {
+                const ctrl = ref.deref();
+                if (ctrl !== void 0) {
+                  ctrl.abort(this.reason);
+                }
+              }
+              controllerList.clear();
+            }
+            dependentControllerMap.delete(ac.signal);
+          }
         }
-        this[kMockDispatch].delay = waitInMs;
-        return this;
-      }
-      /**
-       * For a defined reply, never mark as consumed.
-       */
-      persist() {
-        this[kMockDispatch].persist = true;
-        return this;
       }
-      /**
-       * Allow one to define a reply for a set amount of matching requests.
-       */
-      times(repeatTimes) {
-        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
-          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+    }
+    var patchMethodWarning = false;
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (input === kConstruct) {
+          return;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        const prefix = "Request constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        input = webidl.converters.RequestInfo(input, prefix, "input");
+        init = webidl.converters.RequestInit(init, prefix, "init");
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } catch (err) {
+            throw new TypeError("Failed to parse URL from " + input, { cause: err });
+          }
+          if (parsedURL.username || parsedURL.password) {
+            throw new TypeError(
+              "Request cannot be constructed from a URL that includes credentials: " + input
+            );
+          }
+          request2 = makeRequest({ urlList: [parsedURL] });
+          fallbackMode = "cors";
+        } else {
+          this[kDispatcher] = init.dispatcher || input[kDispatcher];
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "no-window";
+        }
+        request2 = makeRequest({
+          // URL request’s URL.
+          // undici implementation note: this is set as the first item in request's urlList in makeRequest
+          // method request’s method.
+          method: request2.method,
+          // header list A copy of request’s header list.
+          // undici implementation note: headersList is cloned in makeRequest
+          headersList: request2.headersList,
+          // unsafe-request flag Set.
+          unsafeRequest: request2.unsafeRequest,
+          // client This’s relevant settings object.
+          client: environmentSettingsObject.settingsObject,
+          // window window.
+          window: window2,
+          // priority request’s priority.
+          priority: request2.priority,
+          // origin request’s origin. The propagation of the origin is only significant for navigation requests
+          // being handled by a service worker. In this scenario a request can have an origin that is different
+          // from the current client.
+          origin: request2.origin,
+          // referrer request’s referrer.
+          referrer: request2.referrer,
+          // referrer policy request’s referrer policy.
+          referrerPolicy: request2.referrerPolicy,
+          // mode request’s mode.
+          mode: request2.mode,
+          // credentials mode request’s credentials mode.
+          credentials: request2.credentials,
+          // cache mode request’s cache mode.
+          cache: request2.cache,
+          // redirect mode request’s redirect mode.
+          redirect: request2.redirect,
+          // integrity metadata request’s integrity metadata.
+          integrity: request2.integrity,
+          // keepalive request’s keepalive.
+          keepalive: request2.keepalive,
+          // reload-navigation flag request’s reload-navigation flag.
+          reloadNavigation: request2.reloadNavigation,
+          // history-navigation flag request’s history-navigation flag.
+          historyNavigation: request2.historyNavigation,
+          // URL list A clone of request’s URL list.
+          urlList: [...request2.urlList]
+        });
+        const initHasKey = Object.keys(init).length !== 0;
+        if (initHasKey) {
+          if (request2.mode === "navigate") {
+            request2.mode = "same-origin";
+          }
+          request2.reloadNavigation = false;
+          request2.historyNavigation = false;
+          request2.origin = "client";
+          request2.referrer = "client";
+          request2.referrerPolicy = "";
+          request2.url = request2.urlList[request2.urlList.length - 1];
+          request2.urlList = [request2.url];
+        }
+        if (init.referrer !== void 0) {
+          const referrer = init.referrer;
+          if (referrer === "") {
+            request2.referrer = "no-referrer";
           } else {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            let parsedReferrer;
+            try {
+              parsedReferrer = new URL(referrer, baseUrl);
+            } catch (err) {
+              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
+            }
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
+              request2.referrer = "client";
+            } else {
+              request2.referrer = parsedReferrer;
+            }
           }
         }
-        if (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        let mode;
+        if (init.mode !== void 0) {
+          mode = init.mode;
+        } else {
+          mode = fallbackMode;
+        }
+        if (mode === "navigate") {
+          throw webidl.errors.exception({
+            header: "Request constructor",
+            message: "invalid request mode navigate."
+          });
+        }
+        if (mode != null) {
+          request2.mode = mode;
+        }
+        if (init.credentials !== void 0) {
+          request2.credentials = init.credentials;
+        }
+        if (init.cache !== void 0) {
+          request2.cache = init.cache;
+        }
+        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
+          throw new TypeError(
+            "'only-if-cached' can be set only with 'same-origin' mode"
+          );
+        }
+        if (init.redirect !== void 0) {
+          request2.redirect = init.redirect;
+        }
+        if (init.integrity != null) {
+          request2.integrity = String(init.integrity);
+        }
+        if (init.keepalive !== void 0) {
+          request2.keepalive = Boolean(init.keepalive);
+        }
+        if (init.method !== void 0) {
+          let method = init.method;
+          const mayBeNormalized = normalizedMethodRecords[method];
+          if (mayBeNormalized !== void 0) {
+            request2.method = mayBeNormalized;
+          } else {
+            if (!isValidHTTPToken(method)) {
+              throw new TypeError(`'${method}' is not a valid HTTP method.`);
+            }
+            const upperCase = method.toUpperCase();
+            if (forbiddenMethodsSet.has(upperCase)) {
+              throw new TypeError(`'${method}' HTTP method is unsupported.`);
+            }
+            method = normalizedMethodRecordsBase[upperCase] ?? method;
+            request2.method = method;
+          }
+          if (!patchMethodWarning && request2.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"
+            });
+            patchMethodWarning = true;
+          }
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            throw new TypeError(
+              "Failed to construct 'Request': member signal is not of type AbortSignal."
+            );
+          }
+          if (signal.aborted) {
+            ac.abort(signal.reason);
+          } else {
+            this[kAbortController] = ac;
+            const acRef = new WeakRef(ac);
+            const abort = buildAbort(acRef);
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort }, abort);
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersList(this[kHeaders], request2.headersList);
+        setHeadersGuard(this[kHeaders], "request");
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          setHeadersGuard(this[kHeaders], "request-no-cors");
+        }
+        if (initHasKey) {
+          const headersList = getHeadersList(this[kHeaders]);
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
+            }
+            headersList.cookies = headers.cookies;
+          } else {
+            fillHeaders(this[kHeaders], headers);
+          }
+        }
+        const inputBody = input instanceof _Request ? input[kState].body : null;
+        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
+          throw new TypeError("Request with GET/HEAD method cannot have body.");
+        }
+        let initBody = null;
+        if (init.body != null) {
+          const [extractedBody, contentType] = extractBody(
+            init.body,
+            request2.keepalive
+          );
+          initBody = extractedBody;
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
+            this[kHeaders].append("content-type", contentType);
+          }
+        }
+        const inputOrInitBody = initBody ?? inputBody;
+        if (inputOrInitBody != null && inputOrInitBody.source == null) {
+          if (initBody != null && init.duplex == null) {
+            throw new TypeError("RequestInit: duplex option is required when sending a body.");
+          }
+          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
+            throw new TypeError(
+              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
+            );
+          }
+          request2.useCORSPreflightFlag = true;
+        }
+        let finalBody = inputOrInitBody;
+        if (initBody == null && inputBody != null) {
+          if (bodyUnusable(input)) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          const identityTransform = new TransformStream();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
+        }
+        this[kState].body = finalBody;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
-        const responseData = getResponseData2(data);
-        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
-        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
-        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
-        return { statusCode, data, headers, trailers };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
+      }
+      // Returns a Headers object consisting of the headers associated with request.
+      // Note that headers added in the network layer by the user agent will not
+      // be accounted for in this object, e.g., the "Host" header.
+      get headers() {
+        webidl.brandCheck(this, _Request);
+        return this[kHeaders];
+      }
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
+      }
+      // Returns the referrer of request. Its value can be a same-origin URL if
+      // explicitly set in init, the empty string to indicate no referrer, and
+      // "about:client" when defaulting to the global’s default. This is used
+      // during fetching to determine the value of the `Referer` header of the
+      // request being made.
+      get referrer() {
+        webidl.brandCheck(this, _Request);
+        if (this[kState].referrer === "no-referrer") {
+          return "";
         }
-        if (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // Returns the referrer policy associated with request.
+      // This is used during fetching to compute the value of the request’s
+      // referrer.
+      get referrerPolicy() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].referrerPolicy;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // Returns the mode associated with request, which is a string indicating
+      // whether the request will use CORS, or will be restricted to same-origin
+      // URLs.
+      get mode() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].mode;
       }
-      /**
-       * Set default reply headers on the interceptor for subsequent replies
-       */
-      defaultReplyHeaders(headers) {
-        if (typeof headers === "undefined") {
-          throw new InvalidArgumentError("headers must be defined");
-        }
-        this[kDefaultHeaders] = headers;
-        return this;
+      // Returns the credentials mode associated with request,
+      // which is a string indicating whether credentials will be sent with the
+      // request always, never, or only when sent to a same-origin URL.
+      get credentials() {
+        return this[kState].credentials;
       }
-      /**
-       * Set default reply trailers on the interceptor for subsequent replies
-       */
-      defaultReplyTrailers(trailers) {
-        if (typeof trailers === "undefined") {
-          throw new InvalidArgumentError("trailers must be defined");
-        }
-        this[kDefaultTrailers] = trailers;
-        return this;
+      // Returns the cache mode associated with request,
+      // which is a string indicating how the request will
+      // interact with the browser’s cache when fetching.
+      get cache() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].cache;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // Returns the redirect mode associated with request,
+      // which is a string indicating how redirects for the
+      // request will be handled during fetching. A request
+      // will follow redirects by default.
+      get redirect() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].redirect;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns request’s subresource integrity metadata, which is a
+      // cryptographic hash of the resource being fetched. Its value
+      // consists of multiple hashes separated by whitespace. [SRI]
+      get integrity() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].integrity;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // Returns a boolean indicating whether or not request can outlive the
+      // global in which it was created.
+      get keepalive() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].keepalive;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-forward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns the signal associated with request, which is an AbortSignal
+      // object indicating whether or not request has been aborted, and its
+      // abort event handler.
+      get signal() {
+        webidl.brandCheck(this, _Request);
+        return this[kSignal];
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
-    "use strict";
-    var singulars = {
-      pronoun: "it",
-      is: "is",
-      was: "was",
-      this: "this"
-    };
-    var plurals = {
-      pronoun: "they",
-      is: "are",
-      was: "were",
-      this: "these"
-    };
-    module2.exports = class Pluralizer {
-      constructor(singular, plural) {
-        this.singular = singular;
-        this.plural = plural;
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (bodyUnusable(this)) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          let list = dependentControllerMap.get(this.signal);
+          if (list === void 0) {
+            list = /* @__PURE__ */ new Set();
+            dependentControllerMap.set(this.signal, list);
+          }
+          const acRef = new WeakRef(ac);
+          list.add(acRef);
+          util.addAbortListener(
+            ac.signal,
+            buildAbort(acRef)
+          );
+        }
+        return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    mixinBody(Request);
+    function makeRequest(init) {
+      return {
+        method: init.method ?? "GET",
+        localURLsOnly: init.localURLsOnly ?? false,
+        unsafeRequest: init.unsafeRequest ?? false,
+        body: init.body ?? null,
+        client: init.client ?? null,
+        reservedClient: init.reservedClient ?? null,
+        replacesClientId: init.replacesClientId ?? "",
+        window: init.window ?? "client",
+        keepalive: init.keepalive ?? false,
+        serviceWorkers: init.serviceWorkers ?? "all",
+        initiator: init.initiator ?? "",
+        destination: init.destination ?? "",
+        priority: init.priority ?? null,
+        origin: init.origin ?? "client",
+        policyContainer: init.policyContainer ?? "client",
+        referrer: init.referrer ?? "client",
+        referrerPolicy: init.referrerPolicy ?? "",
+        mode: init.mode ?? "no-cors",
+        useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
+        credentials: init.credentials ?? "same-origin",
+        useCredentials: init.useCredentials ?? false,
+        cache: init.cache ?? "default",
+        redirect: init.redirect ?? "follow",
+        integrity: init.integrity ?? "",
+        cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "",
+        parserMetadata: init.parserMetadata ?? "",
+        reloadNavigation: init.reloadNavigation ?? false,
+        historyNavigation: init.historyNavigation ?? false,
+        userActivation: init.userActivation ?? false,
+        taintedOrigin: init.taintedOrigin ?? false,
+        redirectCount: init.redirectCount ?? 0,
+        responseTainting: init.responseTainting ?? "basic",
+        preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
+        done: init.done ?? false,
+        timingAllowFailed: init.timingAllowFailed ?? false,
+        urlList: init.urlList,
+        url: init.urlList[0],
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(newRequest, request2.body);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path16, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path16,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      return newRequest;
+    }
+    function fromInnerRequest(innerRequest, signal, guard) {
+      const request2 = new Request(kConstruct);
+      request2[kState] = innerRequest;
+      request2[kSignal] = signal;
+      request2[kHeaders] = new Headers(kConstruct);
+      setHeadersList(request2[kHeaders], innerRequest.headersList);
+      setHeadersGuard(request2[kHeaders], guard);
+      return request2;
+    }
+    Object.defineProperties(Request.prototype, {
+      method: kEnumerableProperty,
+      url: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      signal: kEnumerableProperty,
+      duplex: kEnumerableProperty,
+      destination: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      isHistoryNavigation: kEnumerableProperty,
+      isReloadNavigation: kEnumerableProperty,
+      keepalive: kEnumerableProperty,
+      integrity: kEnumerableProperty,
+      cache: kEnumerableProperty,
+      credentials: kEnumerableProperty,
+      attribute: kEnumerableProperty,
+      referrerPolicy: kEnumerableProperty,
+      referrer: kEnumerableProperty,
+      mode: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Request",
+        configurable: true
       }
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, argument);
+      }
+      if (V instanceof Request) {
+        return webidl.converters.Request(V, prefix, argument);
+      }
+      return webidl.converters.USVString(V, prefix, argument);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    webidl.converters.AbortSignal = webidl.interfaceConverter(
+      AbortSignal
+    );
+    webidl.converters.RequestInit = webidl.dictionaryConverter([
+      {
+        key: "method",
+        converter: webidl.converters.ByteString
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      },
+      {
+        key: "body",
+        converter: webidl.nullableConverter(
+          webidl.converters.BodyInit
+        )
+      },
+      {
+        key: "referrer",
+        converter: webidl.converters.USVString
+      },
+      {
+        key: "referrerPolicy",
+        converter: webidl.converters.DOMString,
+        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
+        allowedValues: referrerPolicy
+      },
+      {
+        key: "mode",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#concept-request-mode
+        allowedValues: requestMode
+      },
+      {
+        key: "credentials",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcredentials
+        allowedValues: requestCredentials
+      },
+      {
+        key: "cache",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcache
+        allowedValues: requestCache
+      },
+      {
+        key: "redirect",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestredirect
+        allowedValues: requestRedirect
+      },
+      {
+        key: "integrity",
+        converter: webidl.converters.DOMString
+      },
+      {
+        key: "keepalive",
+        converter: webidl.converters.boolean
+      },
+      {
+        key: "signal",
+        converter: webidl.nullableConverter(
+          (signal) => webidl.converters.AbortSignal(
+            signal,
+            "RequestInit",
+            "signal",
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib2 = require("node:zlib");
+    var {
+      bytesMatch,
+      makePolicyContainer,
+      clonePolicyContainer,
+      requestBadPort,
+      TAOCheck,
+      appendRequestOriginHeader,
+      responseLocationURL,
+      requestCurrentURL,
+      setRequestReferrerPolicyOnRedirect,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      createOpaqueTimingInfo,
+      appendFetchMetadata,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      determineRequestsReferrer,
+      coarsenedSharedCurrentTime,
+      createDeferredPromise,
+      isBlobLike,
+      sameOrigin,
+      isCancelled,
+      isAborted,
+      isErrorLike,
+      fullyReadBody,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlIsHttpHttpsScheme,
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
+    } = require_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable: Readable2, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    var { STATUS_CODES } = require("node:http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
+    var resolveObjectURL;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        return dispatcher;
-      }
-      dispatch(opts, handler2) {
-        this.get(opts.origin);
-        return this[kAgent].dispatch(opts, handler2);
-      }
-      async close() {
-        await this[kAgent].close();
-        this[kClients].clear();
-      }
-      deactivate() {
-        this[kIsMockActive] = false;
-      }
-      activate() {
-        this[kIsMockActive] = true;
-      }
-      enableNetConnect(matcher) {
-        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
-          if (Array.isArray(this[kNetConnect])) {
-            this[kNetConnect].push(matcher);
-          } else {
-            this[kNetConnect] = [matcher];
-          }
-        } else if (typeof matcher === "undefined") {
-          this[kNetConnect] = true;
-        } else {
-          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      disableNetConnect() {
-        this[kNetConnect] = false;
-      }
-      // This is required to bypass issues caused by using global symbols - see:
-      // https://github.com/nodejs/undici/issues/1447
-      get isMockActive() {
-        return this[kIsMockActive];
+    };
+    function handleFetchDone(response) {
+      finalizeAndReportTiming(response, "fetch");
+    }
+    function fetch(input, init = void 0) {
+      webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
+      let p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      let responseObject = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return;
+        }
+        if (response.type === "error") {
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
+      };
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: requestObject[kDispatcher]
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
+        return;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
-        const pending = this.pendingInterceptors();
-        if (pending.length === 0) {
-          return;
-        }
-        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
-        throw new UndiciError(`
-${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
-
-${pendingInterceptorsFormatter.format(pending)}
-`.trim());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        if (opts.auth && opts.token) {
-          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
-        } else if (opts.auth) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
-        } else if (opts.token) {
-          this[kProxyHeaders]["proxy-authorization"] = opts.token;
-        } else if (username && password) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
-        }
-        const connect = buildConnector({ ...opts.proxyTls });
-        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).destroy();
-                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
-              }
-              if (opts2.protocol !== "https:") {
-                callback(null, socket);
-                return;
-              }
-              let servername;
-              if (this[kRequestTls]) {
-                servername = this[kRequestTls].servername;
-              } else {
-                servername = opts2.servername;
-              }
-              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
-            } catch (err) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher = getGlobalDispatcher()
+      // undici
+    }) {
+      assert(dispatcher);
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currentTime
+      });
+      const fetchParams = {
+        controller: new Fetch(dispatcher),
+        request: request2,
+        timingInfo,
+        processRequestBodyChunkLength,
+        processRequestEndOfBody,
+        processResponse,
+        processResponseConsumeBody,
+        processResponseEndOfBody,
+        taskDestination,
+        crossOriginIsolatedCapability
+      };
+      assert(!request2.body || request2.body.stream);
+      if (request2.window === "client") {
+        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        return headersPair;
       }
-      return headers;
-    }
-    function throwIfProxyAuthIsSent(headers) {
-      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
-      if (existProxyAuth) {
-        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    var RetryHandler = class _RetryHandler {
-      constructor(opts, handlers) {
-        const { retryOptions, ...dispatchOpts } = opts;
-        const {
-          // Retry scoped
-          retry: retryFn,
-          maxRetries,
-          maxTimeout,
-          minTimeout,
-          timeoutFactor,
-          // Response scoped
-          methods,
-          errorCodes,
-          retryAfter,
-          statusCodes
-        } = retryOptions ?? {};
-        this.dispatch = handlers.dispatch;
-        this.handler = handlers.handler;
-        this.opts = dispatchOpts;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: minTimeout ?? 500,
-          // .5s
-          timeoutFactor: timeoutFactor ?? 2,
-          maxRetries: maxRetries ?? 5,
-          // What errors we should retry
-          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
-          // Indicates which errors to retry
-          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
-          // List of errors to retry
-          errorCodes: errorCodes ?? [
-            "ECONNRESET",
-            "ECONNREFUSED",
-            "ENOTFOUND",
-            "ENETDOWN",
-            "ENETUNREACH",
-            "EHOSTDOWN",
-            "EHOSTUNREACH",
-            "EPIPE"
-          ]
-        };
-        this.retryCount = 0;
-        this.start = 0;
-        this.end = null;
-        this.etag = null;
-        this.resume = null;
-        this.handler.onConnect((reason) => {
-          this.aborted = true;
-          if (this.abort) {
-            this.abort(reason);
-          } else {
-            this.reason = reason;
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
+      }
+      if (request2.priority === null) {
+      }
+      if (subresourceSet.has(request2.destination)) {
+      }
+      mainFetch(fetchParams).catch((err) => {
+        fetchParams.controller.terminate(err);
+      });
+      return fetchParams.controller;
+    }
+    async function mainFetch(fetchParams, recursive = false) {
+      const request2 = fetchParams.request;
+      let response = null;
+      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
+        response = makeNetworkError("local URLs only");
+      }
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
+      }
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
+      }
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
+      }
+      if (response === null) {
+        response = await (async () => {
+          const currentURL = requestCurrentURL(request2);
+          if (
+            // - request’s current URL’s origin is same origin with request’s origin,
+            //   and request’s response tainting is "basic"
+            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
+            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
+            (request2.mode === "navigate" || request2.mode === "websocket")
+          ) {
+            request2.responseTainting = "basic";
+            return await schemeFetch(fetchParams);
           }
-        });
+          if (request2.mode === "same-origin") {
+            return makeNetworkError('request mode cannot be "same-origin"');
+          }
+          if (request2.mode === "no-cors") {
+            if (request2.redirect !== "follow") {
+              return makeNetworkError(
+                'redirect mode cannot be "follow" for "no-cors" request'
+              );
+            }
+            request2.responseTainting = "opaque";
+            return await schemeFetch(fetchParams);
+          }
+          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
+            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          }
+          request2.responseTainting = "cors";
+          return await httpFetch(fetchParams);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        if (request2.responseTainting === "basic") {
+          response = filterResponse(response, "basic");
+        } else if (request2.responseTainting === "cors") {
+          response = filterResponse(response, "cors");
+        } else if (request2.responseTainting === "opaque") {
+          response = filterResponse(response, "opaque");
         } else {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
+      }
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) {
+        response = internalResponse = makeNetworkError();
+      }
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
+      }
+      if (request2.integrity) {
+        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
+        if (request2.responseTainting === "opaque" || response.body == null) {
+          processBodyError(response.error);
           return;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          return;
+        const processBody = (bytes) => {
+          if (!bytesMatch(bytes, request2.integrity)) {
+            processBodyError("integrity mismatch");
+            return;
+          }
+          response.body = safelyExtractBody(bytes)[0];
+          fetchFinale(fetchParams, response);
+        };
+        await fullyReadBody(response.body, processBody, processBodyError);
+      } else {
+        fetchFinale(fetchParams, response);
+      }
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      }
+      const { request: request2 } = fetchParams;
+      const { protocol: scheme } = requestCurrentURL(request2);
+      switch (scheme) {
+        case "about:": {
+          return Promise.resolve(makeNetworkError("about scheme is not supported"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        case "blob:": {
+          if (!resolveObjectURL) {
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = blob.type;
+          if (!request2.headersList.contains("range", true)) {
+            const bodyWithType = extractBody(blob);
+            response.statusText = "OK";
+            response.body = bodyWithType[0];
+            response.headersList.set("content-length", serializedFullLength, true);
+            response.headersList.set("content-type", type2, true);
+          } else {
+            response.rangeRequested = true;
+            const rangeHeader = request2.headersList.get("range", true);
+            const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
+            if (rangeValue === "failure") {
+              return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+            }
+            let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
+            if (rangeStart === null) {
+              rangeStart = fullLength - rangeEnd;
+              rangeEnd = rangeStart + rangeEnd - 1;
+            } else {
+              if (rangeStart >= fullLength) {
+                return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
+              }
+              if (rangeEnd === null || rangeEnd >= fullLength) {
+                rangeEnd = fullLength - 1;
+              }
+            }
+            const slicedBlob = blob.slice(rangeStart, rangeEnd, type2);
+            const slicedBodyWithType = extractBody(slicedBlob);
+            response.body = slicedBodyWithType[0];
+            const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
+            const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
+            response.status = 206;
+            response.statusText = "Partial Content";
+            response.headersList.set("content-length", serializedSlicedLength, true);
+            response.headersList.set("content-type", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        case "data:": {
+          const currentURL = requestCurrentURL(request2);
+          const dataURLStruct = dataURLProcessor(currentURL);
+          if (dataURLStruct === "failure") {
+            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+          }
+          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
+          return Promise.resolve(makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-type", { name: "Content-Type", value: mimeType }]
+            ],
+            body: safelyExtractBody(dataURLStruct.body)[0]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        case "file:": {
+          return Promise.resolve(makeNetworkError("not implemented... yet..."));
+        }
+        case "http:":
+        case "https:": {
+          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        }
+        default: {
+          return Promise.resolve(makeNetworkError("unknown scheme"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
+      }
+    }
+    function fetchFinale(fetchParams, response) {
+      let timingInfo = fetchParams.timingInfo;
+      const processResponseEndOfBody = () => {
+        const unsafeEndTime = Date.now();
+        if (fetchParams.request.destination === "document") {
+          fetchParams.controller.fullTimingInfo = timingInfo;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = contentRange;
-          assert(this.start === start, "content-range mismatch");
-          assert(this.end == null || this.end === end, "content-range mismatch");
-          this.resume = resume;
-          return true;
-        }
-        if (this.end == null) {
-          if (statusCode === 206) {
-            const range = parseRangeHeader(headers["content-range"]);
-            if (range == null) {
-              return this.handler.onHeaders(
-                statusCode,
-                rawHeaders,
-                resume,
-                statusMessage
-              );
+          let responseStatus = 0;
+          if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
+            responseStatus = response.status;
+            const mimeType = extractMimeType(response.headersList);
+            if (mimeType !== "failure") {
+              bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== end,
-              "invalid content-length"
-            );
-            this.start = start;
-            this.end = end;
           }
-          if (this.end == null) {
-            const contentLength = headers["content-length"];
-            this.end = contentLength != null ? Number(contentLength) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          assert(Number.isFinite(this.start));
-          assert(
-            this.end == null || Number.isFinite(this.end),
-            "invalid content-length"
-          );
-          this.resume = resume;
-          this.etag = headers.etag != null ? headers.etag : null;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        const processResponseEndOfBodyTask = () => {
+          fetchParams.request.done = true;
+          if (fetchParams.processResponseEndOfBody != null) {
+            queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+          }
+          if (fetchParams.request.initiatorType != null) {
+            fetchParams.controller.reportTimingSteps();
+          }
+        };
+        queueMicrotask(() => processResponseEndOfBodyTask());
+      };
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            opts: { retryOptions: this.retryOpts, ...this.opts }
-          },
-          onRetry.bind(this)
-        );
-        function onRetry(err2) {
-          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
-            return this.handler.onError(err2);
-          }
-          if (this.start !== 0) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
+        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
+          return makeNetworkError("cors failure");
+        }
+        if (TAOCheck(request2, response) === "failure") {
+          request2.timingAllowFailed = true;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy(void 0, false);
+        }
+        if (request2.redirect === "error") {
+          response = makeNetworkError("unexpected redirect");
+        } else if (request2.redirect === "manual") {
+          response = actualResponse;
+        } else if (request2.redirect === "follow") {
+          response = await httpRedirectFetch(fetchParams, response);
+        } else {
+          assert(false);
+        }
+      }
+      response.timingInfo = timingInfo;
+      return response;
     }
-    function getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    function httpRedirectFetch(fetchParams, response) {
+      const request2 = fetchParams.request;
+      const actualResponse = response.internalResponse ? response.internalResponse : response;
+      let locationURL;
+      try {
+        locationURL = responseLocationURL(
+          actualResponse,
+          requestCurrentURL(request2).hash
+        );
+        if (locationURL == null) {
+          return response;
+        }
+      } catch (err) {
+        return Promise.resolve(makeNetworkError(err));
+      }
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
+      }
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
+      }
+      request2.redirectCount += 1;
+      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
+        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
+      }
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
+      }
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
+      }
+      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
+        request2.method = "GET";
+        request2.body = null;
+        for (const headerName of requestBodyHeader) {
+          request2.headersList.delete(headerName);
+        }
+      }
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization", true);
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
+      }
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
+      }
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
+      }
+      request2.urlList.push(locationURL);
+      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
+      return mainFetch(fetchParams, true);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
+      const request2 = fetchParams.request;
+      let httpFetchParams = null;
+      let httpRequest = null;
+      let response = null;
+      const httpCache = null;
+      const revalidatingFlag = false;
+      if (request2.window === "no-window" && request2.redirect === "error") {
+        httpFetchParams = fetchParams;
+        httpRequest = request2;
+      } else {
+        httpRequest = cloneRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
+      const contentLength = httpRequest.body ? httpRequest.body.length : null;
+      let contentLengthHeaderValue = null;
+      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
+        contentLengthHeaderValue = "0";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
+        httpRequest.cache = "no-store";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
-    function isHTTPWhiteSpaceCharCode(code) {
-      return code === 10 || code === 13 || code === 9 || code === 32;
-    }
-    function headerValueNormalize(potentialValue) {
-      let i = 0;
-      let j = potentialValue.length;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
-      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
-    }
-    function fill(headers, object) {
-      if (Array.isArray(object)) {
-        for (let i = 0; i < object.length; ++i) {
-          const header = object[i];
-          if (header.length !== 2) {
-            throw webidl.errors.exception({
-              header: "Headers constructor",
-              message: `expected name/value pair to be length 2, found ${header.length}.`
-            });
-          }
-          appendHeader(headers, header[0], header[1]);
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
+        httpRequest.headersList.append("cache-control", "max-age=0", true);
+      }
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
         }
-      } else if (typeof object === "object" && object !== null) {
-        const keys = Object.keys(object);
-        for (let i = 0; i < keys.length; ++i) {
-          appendHeader(headers, keys[i], object[keys[i]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } else {
-        throw webidl.errors.conversionFailed({
-          prefix: "Headers constructor",
-          argument: "Argument 1",
-          types: ["sequence>", "record"]
-        });
-      }
-    }
-    function appendHeader(headers, name, value) {
-      value = headerValueNormalize(value);
-      if (!isValidHeaderName(name)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value: name,
-          type: "header name"
-        });
-      } else if (!isValidHeaderValue(value)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value,
-          type: "header value"
-        });
       }
-      if (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    var HeadersList = class _HeadersList {
-      /** @type {[string, string][]|null} */
-      cookies = null;
-      constructor(init) {
-        if (init instanceof _HeadersList) {
-          this[kHeadersMap] = new Map(init[kHeadersMap]);
-          this[kHeadersSortedMap] = init[kHeadersSortedMap];
-          this.cookies = init.cookies === null ? null : [...init.cookies];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        if (exists) {
-          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
-          this[kHeadersMap].set(lowercaseName, {
-            name: exists.name,
-            value: `${exists.value}${delimiter}${value}`
-          });
-        } else {
-          this[kHeadersMap].set(lowercaseName, { name, value });
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      if (
+        // response’s status is 421
+        response.status === 421 && // isNewConnectionFetch is false
+        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
+        (request2.body == null || request2.body.source != null)
+      ) {
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
+        fetchParams.controller.connection.destroy();
+        response = await httpNetworkOrCacheFetch(
+          fetchParams,
+          isAuthenticationFetch,
+          true
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      return response;
+    }
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err, abort = true) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream2 = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream: stream2, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
+          if (isErrored(stream2)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve9, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable2({ read: resume });
+              const decoders = [];
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib2.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib2.createBrotliDecompress({
+                      flush: zlib2.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib2.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve9({
+                status,
+                statusText,
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              if (fetchParams.controller.onAborted) {
+                fetchParams.controller.off("terminated", fetchParams.controller.onAborted);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, rawHeaders, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              resolve9({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url = webidl.converters.USVString(url);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        initializeResponse(this, init, bodyWithType);
-      }
-      // Returns response’s type, e.g., "cors".
-      get type() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].type;
-      }
-      // Returns response’s URL, if it has one; otherwise the empty string.
-      get url() {
-        webidl.brandCheck(this, _Response);
-        const urlList = this[kState].urlList;
-        const url = urlList[urlList.length - 1] ?? null;
-        if (url === null) {
-          return "";
-        }
-        return URLSerializer(url, true);
-      }
-      // Returns whether response was obtained through a redirect.
-      get redirected() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].urlList.length > 1;
-      }
-      // Returns response’s status.
-      get status() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status;
-      }
-      // Returns whether response’s status is an ok status.
-      get ok() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status >= 200 && this[kState].status <= 299;
-      }
-      // Returns response’s status message.
-      get statusText() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].statusText;
-      }
-      // Returns response’s headers as Headers.
-      get headers() {
-        webidl.brandCheck(this, _Response);
-        return this[kHeaders];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    mixinBody(Response);
-    Object.defineProperties(Response.prototype, {
-      type: kEnumerableProperty,
-      url: kEnumerableProperty,
-      status: kEnumerableProperty,
-      ok: kEnumerableProperty,
-      redirected: kEnumerableProperty,
-      statusText: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Response",
-        configurable: true
-      }
-    });
-    Object.defineProperties(Response, {
-      json: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      error: kEnumerableProperty
-    });
-    function cloneResponse(response) {
-      if (response.internalResponse) {
-        return filterResponse(
-          cloneResponse(response.internalResponse),
-          response.type
-        );
-      }
-      const newResponse = makeResponse({ ...response, body: null });
-      if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
-      }
-      return newResponse;
-    }
-    function makeResponse(init) {
-      return {
-        aborted: false,
-        rangeRequested: false,
-        timingAllowPassed: false,
-        requestIncludesCredentials: false,
-        type: "default",
-        status: 200,
-        timingInfo: null,
-        cacheState: "",
-        statusText: "",
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
-      };
-    }
-    function makeNetworkError(reason) {
-      const isError = isErrorLike(reason);
-      return makeResponse({
-        type: "error",
-        status: 0,
-        error: isError ? reason : new Error(reason ? String(reason) : reason),
-        aborted: reason && reason.name === "AbortError"
-      });
-    }
-    function makeFilteredResponse(response, state) {
-      state = {
-        internalResponse: response,
-        ...state
-      };
-      return new Proxy(response, {
-        get(target, p) {
-          return p in state ? state[p] : target[p];
-        },
-        set(target, p, value) {
-          assert(!(p in state));
-          target[p] = value;
-          return true;
-        }
-      });
-    }
-    function filterResponse(response, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "opaqueredirect") {
-        return makeFilteredResponse(response, {
-          type: "opaqueredirect",
-          status: 0,
-          statusText: "",
-          headersList: [],
-          body: null
-        });
-      } else {
-        assert(false);
-      }
-    }
-    function makeAppropriateNetworkError(fetchParams, err = null) {
-      assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      if ("statusText" in init && init.statusText != null) {
-        if (!isValidReasonPhrase(String(init.statusText))) {
-          throw new TypeError("Invalid statusText");
-        }
-      }
-      if ("status" in init && init.status != null) {
-        response[kState].status = init.status;
-      }
-      if ("statusText" in init && init.statusText != null) {
-        response[kState].statusText = init.statusText;
+    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
+      {
+        key: "lengthComputable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "loaded",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "total",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      switch (label.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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    webidl.converters.ResponseInit = webidl.dictionaryConverter([
-      {
-        key: "status",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 200
-      },
-      {
-        key: "statusText",
-        converter: webidl.converters.ByteString,
-        defaultValue: ""
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      }
-    ]);
     module2.exports = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream2 = blob.stream();
+      const reader = stream2.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
           try {
-            parsedURL = new URL(input, baseUrl);
-          } catch (err) {
-            throw new TypeError("Failed to parse URL from " + input, { cause: err });
-          }
-          if (parsedURL.username || parsedURL.password) {
-            throw new TypeError(
-              "Request cannot be constructed from a URL that includes credentials: " + input
-            );
-          }
-          request2 = makeRequest({ urlList: [parsedURL] });
-          fallbackMode = "cors";
-        } else {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "no-window";
-        }
-        request2 = makeRequest({
-          // URL request’s URL.
-          // undici implementation note: this is set as the first item in request's urlList in makeRequest
-          // method request’s method.
-          method: request2.method,
-          // header list A copy of request’s header list.
-          // undici implementation note: headersList is cloned in makeRequest
-          headersList: request2.headersList,
-          // unsafe-request flag Set.
-          unsafeRequest: request2.unsafeRequest,
-          // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // priority request’s priority.
-          priority: request2.priority,
-          // origin request’s origin. The propagation of the origin is only significant for navigation requests
-          // being handled by a service worker. In this scenario a request can have an origin that is different
-          // from the current client.
-          origin: request2.origin,
-          // referrer request’s referrer.
-          referrer: request2.referrer,
-          // referrer policy request’s referrer policy.
-          referrerPolicy: request2.referrerPolicy,
-          // mode request’s mode.
-          mode: request2.mode,
-          // credentials mode request’s credentials mode.
-          credentials: request2.credentials,
-          // cache mode request’s cache mode.
-          cache: request2.cache,
-          // redirect mode request’s redirect mode.
-          redirect: request2.redirect,
-          // integrity metadata request’s integrity metadata.
-          integrity: request2.integrity,
-          // keepalive request’s keepalive.
-          keepalive: request2.keepalive,
-          // reload-navigation flag request’s reload-navigation flag.
-          reloadNavigation: request2.reloadNavigation,
-          // history-navigation flag request’s history-navigation flag.
-          historyNavigation: request2.historyNavigation,
-          // URL list A clone of request’s URL list.
-          urlList: [...request2.urlList]
-        });
-        const initHasKey = Object.keys(init).length !== 0;
-        if (initHasKey) {
-          if (request2.mode === "navigate") {
-            request2.mode = "same-origin";
-          }
-          request2.reloadNavigation = false;
-          request2.historyNavigation = false;
-          request2.origin = "client";
-          request2.referrer = "client";
-          request2.referrerPolicy = "";
-          request2.url = request2.urlList[request2.urlList.length - 1];
-          request2.urlList = [request2.url];
-        }
-        if (init.referrer !== void 0) {
-          const referrer = init.referrer;
-          if (referrer === "") {
-            request2.referrer = "no-referrer";
-          } else {
-            let parsedReferrer;
-            try {
-              parsedReferrer = new URL(referrer, baseUrl);
-            } catch (err) {
-              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
-            }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        if (init.referrerPolicy !== void 0) {
-          request2.referrerPolicy = init.referrerPolicy;
-        }
-        let mode;
-        if (init.mode !== void 0) {
-          mode = init.mode;
-        } else {
-          mode = fallbackMode;
-        }
-        if (mode === "navigate") {
-          throw webidl.errors.exception({
-            header: "Request constructor",
-            message: "invalid request mode navigate."
-          });
-        }
-        if (mode != null) {
-          request2.mode = mode;
-        }
-        if (init.credentials !== void 0) {
-          request2.credentials = init.credentials;
-        }
-        if (init.cache !== void 0) {
-          request2.cache = init.cache;
-        }
-        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
-          throw new TypeError(
-            "'only-if-cached' can be set only with 'same-origin' mode"
-          );
-        }
-        if (init.redirect !== void 0) {
-          request2.redirect = init.redirect;
-        }
-        if (init.integrity != null) {
-          request2.integrity = String(init.integrity);
-        }
-        if (init.keepalive !== void 0) {
-          request2.keepalive = Boolean(init.keepalive);
-        }
-        if (init.method !== void 0) {
-          let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            throw new TypeError(
-              "Failed to construct 'Request': member signal is not of type AbortSignal."
-            );
-          }
-          if (signal.aborted) {
-            ac.abort(signal.reason);
-          } else {
-            this[kAbortController] = ac;
-            const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            isFirstChunk = false;
+            if (!done && types.isUint8Array(value)) {
+              bytes.push(value);
+              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
+                fr[kLastProgressEventFired] = Date.now();
+                queueMicrotask(() => {
+                  fireAProgressEvent("progress", fr);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        const inputBody = input instanceof _Request ? input[kState].body : null;
-        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
-          throw new TypeError("Request with GET/HEAD method cannot have body.");
-        }
-        let initBody = null;
-        if (init.body != null) {
-          const [extractedBody, contentType] = extractBody(
-            init.body,
-            request2.keepalive
-          );
-          initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        const inputOrInitBody = initBody ?? inputBody;
-        if (inputOrInitBody != null && inputOrInitBody.source == null) {
-          if (initBody != null && init.duplex == null) {
-            throw new TypeError("RequestInit: duplex option is required when sending a body.");
-          }
-          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
-            throw new TypeError(
-              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          inputBody.stream.pipeThrough(identityTransform);
-          finalBody = {
-            source: inputBody.source,
-            length: inputBody.length,
-            stream: identityTransform.readable
-          };
-        }
-        this[kState].body = finalBody;
-      }
-      // Returns request’s HTTP method, which is "GET" by default.
-      get method() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].method;
-      }
-      // Returns the URL of request as a string.
-      get url() {
-        webidl.brandCheck(this, _Request);
-        return URLSerializer(this[kState].url);
-      }
-      // Returns a Headers object consisting of the headers associated with request.
-      // Note that headers added in the network layer by the user agent will not
-      // be accounted for in this object, e.g., the "Host" header.
-      get headers() {
-        webidl.brandCheck(this, _Request);
-        return this[kHeaders];
-      }
-      // Returns the kind of resource requested by request, e.g., "document"
-      // or "script".
-      get destination() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].destination;
-      }
-      // Returns the referrer of request. Its value can be a same-origin URL if
-      // explicitly set in init, the empty string to indicate no referrer, and
-      // "about:client" when defaulting to the global’s default. This is used
-      // during fetching to determine the value of the `Referer` header of the
-      // request being made.
-      get referrer() {
-        webidl.brandCheck(this, _Request);
-        if (this[kState].referrer === "no-referrer") {
-          return "";
-        }
-        if (this[kState].referrer === "client") {
-          return "about:client";
+          return decode(bytes, encoding);
         }
-        return this[kState].referrer.toString();
-      }
-      // Returns the referrer policy associated with request.
-      // This is used during fetching to compute the value of the request’s
-      // referrer.
-      get referrerPolicy() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].referrerPolicy;
-      }
-      // Returns the mode associated with request, which is a string indicating
-      // whether the request will use CORS, or will be restricted to same-origin
-      // URLs.
-      get mode() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].mode;
-      }
-      // Returns the credentials mode associated with request,
-      // which is a string indicating whether credentials will be sent with the
-      // request always, never, or only when sent to a same-origin URL.
-      get credentials() {
-        return this[kState].credentials;
-      }
-      // Returns the cache mode associated with request,
-      // which is a string indicating how the request will
-      // interact with the browser’s cache when fetching.
-      get cache() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].cache;
-      }
-      // Returns the redirect mode associated with request,
-      // which is a string indicating how redirects for the
-      // request will be handled during fetching. A request
-      // will follow redirects by default.
-      get redirect() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].redirect;
-      }
-      // Returns request’s subresource integrity metadata, which is a
-      // cryptographic hash of the resource being fetched. Its value
-      // consists of multiple hashes separated by whitespace. [SRI]
-      get integrity() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].integrity;
-      }
-      // Returns a boolean indicating whether or not request can outlive the
-      // global in which it was created.
-      get keepalive() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].keepalive;
-      }
-      // Returns a boolean indicating whether or not request is for a reload
-      // navigation.
-      get isReloadNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].reloadNavigation;
-      }
-      // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
-      get isHistoryNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].historyNavigation;
-      }
-      // Returns the signal associated with request, which is an AbortSignal
-      // object indicating whether or not request has been aborted, and its
-      // abort event handler.
-      get signal() {
-        webidl.brandCheck(this, _Request);
-        return this[kSignal];
-      }
-      get body() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].body ? this[kState].body.stream : null;
-      }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Request);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
-      }
-      get duplex() {
-        webidl.brandCheck(this, _Request);
-        return "half";
-      }
-      // Returns a clone of request.
-      clone() {
-        webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    function decode(ioQueue, encoding) {
+      const bytes = combineByteSequences(ioQueue);
+      const BOMEncoding = BOMSniffing(bytes);
+      let slice = 0;
+      if (BOMEncoding !== null) {
+        encoding = BOMEncoding;
+        slice = BOMEncoding === "UTF-8" ? 3 : 2;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    Object.defineProperties(Request.prototype, {
-      method: kEnumerableProperty,
-      url: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      signal: kEnumerableProperty,
-      duplex: kEnumerableProperty,
-      destination: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      isHistoryNavigation: kEnumerableProperty,
-      isReloadNavigation: kEnumerableProperty,
-      keepalive: kEnumerableProperty,
-      integrity: kEnumerableProperty,
-      cache: kEnumerableProperty,
-      credentials: kEnumerableProperty,
-      attribute: kEnumerableProperty,
-      referrerPolicy: kEnumerableProperty,
-      referrer: kEnumerableProperty,
-      mode: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Request",
-        configurable: true
-      }
-    });
-    webidl.converters.Request = webidl.interfaceConverter(
-      Request
-    );
-    webidl.converters.RequestInfo = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    function BOMSniffing(ioQueue) {
+      const [a, b, c] = ioQueue;
+      if (a === 239 && b === 187 && c === 191) {
+        return "UTF-8";
+      } else if (a === 254 && b === 255) {
+        return "UTF-16BE";
+      } else if (a === 255 && b === 254) {
+        return "UTF-16LE";
       }
-      return webidl.converters.USVString(V);
+      return null;
+    }
+    function combineByteSequences(sequences) {
+      const size = sequences.reduce((a, b) => {
+        return a + b.byteLength;
+      }, 0);
+      let offset = 0;
+      return sequences.reduce((a, b) => {
+        a.set(b, offset);
+        offset += b.byteLength;
+        return a;
+      }, new Uint8Array(size));
+    }
+    module2.exports = {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
     };
-    webidl.converters.AbortSignal = webidl.interfaceConverter(
-      AbortSignal
-    );
-    webidl.converters.RequestInit = webidl.dictionaryConverter([
-      {
-        key: "method",
-        converter: webidl.converters.ByteString
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      },
-      {
-        key: "body",
-        converter: webidl.nullableConverter(
-          webidl.converters.BodyInit
-        )
-      },
-      {
-        key: "referrer",
-        converter: webidl.converters.USVString
-      },
-      {
-        key: "referrerPolicy",
-        converter: webidl.converters.DOMString,
-        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
-        allowedValues: referrerPolicy
-      },
-      {
-        key: "mode",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#concept-request-mode
-        allowedValues: requestMode
-      },
-      {
-        key: "credentials",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcredentials
-        allowedValues: requestCredentials
-      },
-      {
-        key: "cache",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcache
-        allowedValues: requestCache
-      },
-      {
-        key: "redirect",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestredirect
-        allowedValues: requestRedirect
-      },
-      {
-        key: "integrity",
-        converter: webidl.converters.DOMString
-      },
-      {
-        key: "keepalive",
-        converter: webidl.converters.boolean
-      },
-      {
-        key: "signal",
-        converter: webidl.nullableConverter(
-          (signal) => webidl.converters.AbortSignal(
-            signal,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib2 = require("zlib");
-    var {
-      bytesMatch,
-      makePolicyContainer,
-      clonePolicyContainer,
-      requestBadPort,
-      TAOCheck,
-      appendRequestOriginHeader,
-      responseLocationURL,
-      requestCurrentURL,
-      setRequestReferrerPolicyOnRedirect,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      createOpaqueTimingInfo,
-      appendFetchMetadata,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      determineRequestsReferrer,
-      coarsenedSharedCurrentTime,
-      createDeferredPromise,
-      isBlobLike,
-      sameOrigin,
-      isCancelled,
-      isAborted,
-      isErrorLike,
-      fullyReadBody,
-      readableStreamClose,
-      isomorphicEncode,
-      urlIsLocal,
-      urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable: Readable2, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsDataText
+       * @param {import('buffer').Blob} blob
+       * @param {string?} encoding
+       */
+      readAsText(blob, encoding = void 0) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
+        }
+        readOperation(this, blob, "Text", encoding);
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
           return;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
+       */
+      get readyState() {
+        webidl.brandCheck(this, _FileReader);
+        switch (this[kState]) {
+          case "empty":
+            return this.EMPTY;
+          case "loading":
+            return this.LOADING;
+          case "done":
+            return this.DONE;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
+      }
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
+      }
+      set onloadend(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadend) {
+          this.removeEventListener("loadend", this[kEvents].loadend);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].loadend = fn;
+          this.addEventListener("loadend", fn);
+        } else {
+          this[kEvents].loadend = null;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      set onerror(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].error) {
+          this.removeEventListener("error", this[kEvents].error);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      get onprogress() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].progress;
+      }
+      set onprogress(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].progress) {
+          this.removeEventListener("progress", this[kEvents].progress);
         }
-        if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      set onabort(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].abort) {
+          this.removeEventListener("abort", this[kEvents].abort);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].abort = fn;
+          this.addEventListener("abort", fn);
+        } else {
+          this[kEvents].abort = null;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
+    FileReader.LOADING = FileReader.prototype.LOADING = 1;
+    FileReader.DONE = FileReader.prototype.DONE = 2;
+    Object.defineProperties(FileReader.prototype, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors,
+      readAsArrayBuffer: kEnumerableProperty,
+      readAsBinaryString: kEnumerableProperty,
+      readAsText: kEnumerableProperty,
+      readAsDataURL: kEnumerableProperty,
+      abort: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      result: kEnumerableProperty,
+      error: kEnumerableProperty,
+      onloadstart: kEnumerableProperty,
+      onprogress: kEnumerableProperty,
+      onload: kEnumerableProperty,
+      onabort: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onloadend: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FileReader",
+        writable: false,
+        enumerable: false,
+        configurable: true
+      }
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
+    module2.exports = {
+      FileReader
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    function getFieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (isValidHeaderName(value)) {
+          values.push(value);
+        }
       }
+      return values;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    var assert = require("node:assert");
+    var Cache = class _Cache {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
+       * @type {requestResponseList}
+       */
+      #relevantRequestResponseList;
+      constructor() {
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
+        }
+        webidl.util.markAsUncloneable(this);
+        this.#relevantRequestResponseList = arguments[1];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.match";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        const p = this.#internalMatchAll(request2, options, 1);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
+      }
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.matchAll";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        return this.#internalMatchAll(request2, options);
+      }
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.add";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
+      }
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const responsePromises = [];
+        const requestList = [];
+        for (let request2 of requests) {
+          if (request2 === void 0) {
+            throw webidl.errors.conversionFailed({
+              prefix,
+              argument: "Argument 1",
+              types: ["undefined is not allowed"]
+            });
+          }
+          request2 = webidl.converters.RequestInfo(request2);
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme when method is not GET."
+            });
+          }
+        }
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme."
+            });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
+        }
+        const p = Promise.all(responsePromises);
+        const responses = await p;
+        const operations = [];
+        let index = 0;
+        for (const response of responses) {
+          const operation = {
+            type: "put",
+            // 7.3.2
+            request: requestList[index],
+            // 7.3.3
+            response
+            // 7.3.4
+          };
+          operations.push(operation);
+          index++;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(void 0);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.put";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        response = webidl.converters.Response(response, prefix, "response");
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
+        }
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Expected an http/s scheme when method is not GET"
+          });
+        }
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Got 206 status"
+          });
+        }
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: "Got * vary field value"
+              });
+            }
+          }
+        }
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Response body is locked or disturbed"
+          });
+        }
+        const clonedResponse = cloneResponse(innerResponse);
+        const bodyReadPromise = createDeferredPromise();
+        if (innerResponse.body != null) {
+          const stream2 = innerResponse.body.stream;
+          const reader = stream2.getReader();
+          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+        } else {
+          bodyReadPromise.resolve(void 0);
+        }
+        const operations = [];
+        const operation = {
+          type: "put",
+          // 14.
+          request: innerRequest,
+          // 15.
+          response: clonedResponse
+          // 16.
+        };
+        operations.push(operation);
+        const bytes = await bodyReadPromise.promise;
+        if (clonedResponse.body != null) {
+          clonedResponse.body.source = bytes;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve();
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      const fetchParams = {
-        controller: new Fetch(dispatcher),
-        request: request2,
-        timingInfo,
-        processRequestBodyChunkLength,
-        processRequestEndOfBody,
-        processResponse,
-        processResponseConsumeBody,
-        processResponseEndOfBody,
-        taskDestination,
-        crossOriginIsolatedCapability
-      };
-      assert(!request2.body || request2.body.stream);
-      if (request2.window === "client") {
-        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
-      }
-      if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
-      }
-      if (request2.policyContainer === "client") {
-        if (request2.client != null) {
-          request2.policyContainer = clonePolicyContainer(
-            request2.client.policyContainer
-          );
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
+          }
         } else {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      if (request2.priority === null) {
-      }
-      if (subresourceSet.has(request2.destination)) {
-      }
-      mainFetch(fetchParams).catch((err) => {
-        fetchParams.controller.terminate(err);
-      });
-      return fetchParams.controller;
-    }
-    async function mainFetch(fetchParams, recursive = false) {
-      const request2 = fetchParams.request;
-      let response = null;
-      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
-        response = makeNetworkError("local URLs only");
-      }
-      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
-      if (requestBadPort(request2) === "blocked") {
-        response = makeNetworkError("bad port");
-      }
-      if (request2.referrerPolicy === "") {
-        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
-      }
-      if (request2.referrer !== "no-referrer") {
-        request2.referrer = determineRequestsReferrer(request2);
-      }
-      if (response === null) {
-        response = await (async () => {
-          const currentURL = requestCurrentURL(request2);
-          if (
-            // - request’s current URL’s origin is same origin with request’s origin,
-            //   and request’s response tainting is "basic"
-            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
-            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
-            (request2.mode === "navigate" || request2.mode === "websocket")
-          ) {
-            request2.responseTainting = "basic";
-            return await schemeFetch(fetchParams);
-          }
-          if (request2.mode === "same-origin") {
-            return makeNetworkError('request mode cannot be "same-origin"');
+        const operations = [];
+        const operation = {
+          type: "delete",
+          request: r,
+          options
+        };
+        operations.push(operation);
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        let requestResponses;
+        try {
+          requestResponses = this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        return cacheJobPromise.promise;
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {Promise}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          request2.responseTainting = "cors";
-          return await httpFetch(fetchParams);
-        })();
-      }
-      if (recursive) {
-        return response;
-      }
-      if (response.status !== 0 && !response.internalResponse) {
-        if (request2.responseTainting === "cors") {
         }
-        if (request2.responseTainting === "basic") {
-          response = filterResponse(response, "basic");
-        } else if (request2.responseTainting === "cors") {
-          response = filterResponse(response, "cors");
-        } else if (request2.responseTainting === "opaque") {
-          response = filterResponse(response, "opaque");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
+          }
         }
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
+            requestList.push(requestObject);
+          }
+          promise.resolve(Object.freeze(requestList));
+        });
+        return promise.promise;
       }
-      let internalResponse = response.status === 0 ? response : response.internalResponse;
-      if (internalResponse.urlList.length === 0) {
-        internalResponse.urlList.push(...request2.urlList);
-      }
-      if (!request2.timingAllowFailed) {
-        response.timingAllowPassed = true;
-      }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
-        response = internalResponse = makeNetworkError();
-      }
-      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
-        internalResponse.body = null;
-        fetchParams.controller.dump = true;
-      }
-      if (request2.integrity) {
-        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
-        if (request2.responseTainting === "opaque" || response.body == null) {
-          processBodyError(response.error);
-          return;
-        }
-        const processBody = (bytes) => {
-          if (!bytesMatch(bytes, request2.integrity)) {
-            processBodyError("integrity mismatch");
-            return;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
+       * @param {CacheBatchOperation[]} operations
+       * @returns {requestResponseList}
+       */
+      #batchCacheOperations(operations) {
+        const cache = this.#relevantRequestResponseList;
+        const backupCache = [...cache];
+        const addedItems = [];
+        const resultList = [];
+        try {
+          for (const operation of operations) {
+            if (operation.type !== "delete" && operation.type !== "put") {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: 'operation type does not match "delete" or "put"'
+              });
+            }
+            if (operation.type === "delete" && operation.response != null) {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: "delete operation should not have an associated response"
+              });
+            }
+            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
+              throw new DOMException("???", "InvalidStateError");
+            }
+            let requestResponses;
+            if (operation.type === "delete") {
+              requestResponses = this.#queryCache(operation.request, operation.options);
+              if (requestResponses.length === 0) {
+                return [];
+              }
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+            } else if (operation.type === "put") {
+              if (operation.response == null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "put operation should have an associated response"
+                });
+              }
+              const r = operation.request;
+              if (!urlIsHttpHttpsScheme(r.url)) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "expected http or https scheme"
+                });
+              }
+              if (r.method !== "GET") {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "not get method"
+                });
+              }
+              if (operation.options != null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "options must not be defined"
+                });
+              }
+              requestResponses = this.#queryCache(operation.request);
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+              cache.push([operation.request, operation.response]);
+              addedItems.push([operation.request, operation.response]);
+            }
+            resultList.push([operation.request, operation.response]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#query-cache
+       * @param {any} requestQuery
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @param {requestResponseList} targetStorage
+       * @returns {requestResponseList}
+       */
+      #queryCache(requestQuery, options, targetStorage) {
+        const resultList = [];
+        const storage = targetStorage ?? this.#relevantRequestResponseList;
+        for (const requestResponse of storage) {
+          const [cachedRequest, cachedResponse] = requestResponse;
+          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
+            resultList.push(requestResponse);
+          }
+        }
+        return resultList;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
+       * @param {any} requestQuery
+       * @param {any} request
+       * @param {any | null} response
+       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
+       * @returns {boolean}
+       */
+      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
+        const queryURL = new URL(requestQuery.url);
+        const cachedURL = new URL(request2.url);
+        if (options?.ignoreSearch) {
+          cachedURL.search = "";
+          queryURL.search = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
+        }
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
+        }
+        const fieldValues = getFieldValues(response.headersList.get("vary"));
+        for (const fieldValue of fieldValues) {
+          if (fieldValue === "*") {
+            return false;
           }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          return Promise.resolve(response);
         }
-        case "data:": {
-          const currentURL = requestCurrentURL(request2);
-          const dataURLStruct = dataURLProcessor(currentURL);
-          if (dataURLStruct === "failure") {
-            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+        return true;
+      }
+      #internalMatchAll(request2, options, maxResponses = Infinity) {
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
-          return Promise.resolve(makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-type", { name: "Content-Type", value: mimeType }]
-            ],
-            body: safelyExtractBody(dataURLStruct.body)[0]
-          }));
-        }
-        case "file:": {
-          return Promise.resolve(makeNetworkError("not implemented... yet..."));
         }
-        case "http:":
-        case "https:": {
-          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = fromInnerResponse(response, "immutable");
+          responseList.push(responseObject.clone());
+          if (responseList.length >= maxResponses) {
+            break;
+          }
         }
+        return Object.freeze(responseList);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    Object.defineProperties(Cache.prototype, {
+      [Symbol.toStringTag]: {
+        value: "Cache",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      matchAll: kEnumerableProperty,
+      add: kEnumerableProperty,
+      addAll: kEnumerableProperty,
+      put: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    var cacheQueryOptionConverters = [
+      {
+        key: "ignoreSearch",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreMethod",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreVary",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.has(cacheName);
       }
-      if (response === null) {
-        if (request2.redirect === "follow") {
-          request2.serviceWorkers = "none";
-        }
-        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
-        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
-          return makeNetworkError("cors failure");
-        }
-        if (TAOCheck(request2, response) === "failure") {
-          request2.timingAllowFailed = true;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.open";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.delete(cacheName);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        if (request2.redirect === "error") {
-          response = makeNetworkError("unexpected redirect");
-        } else if (request2.redirect === "manual") {
-          response = actualResponse;
-        } else if (request2.redirect === "follow") {
-          response = await httpRedirectFetch(fetchParams, response);
-        } else {
-          assert(false);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {Promise}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
+      }
+    };
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      for (let i = 0; i < value.length; ++i) {
+        const code = value.charCodeAt(i);
+        if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
+          return true;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    function httpRedirectFetch(fetchParams, response) {
-      const request2 = fetchParams.request;
-      const actualResponse = response.internalResponse ? response.internalResponse : response;
-      let locationURL;
-      try {
-        locationURL = responseLocationURL(
-          actualResponse,
-          requestCurrentURL(request2).hash
-        );
-        if (locationURL == null) {
-          return response;
+    function validateCookieName(name) {
+      for (let i = 0; i < name.length; ++i) {
+        const code = name.charCodeAt(i);
+        if (code < 33 || // exclude CTLs (0-31), SP and HT
+        code > 126 || // exclude non-ascii and DEL
+        code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 60 || // <
+        code === 62 || // >
+        code === 64 || // @
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 58 || // :
+        code === 92 || // \
+        code === 47 || // /
+        code === 91 || // [
+        code === 93 || // ]
+        code === 63 || // ?
+        code === 61 || // =
+        code === 123 || // {
+        code === 125) {
+          throw new Error("Invalid cookie name");
         }
-      } catch (err) {
-        return Promise.resolve(makeNetworkError(err));
-      }
-      if (!urlIsHttpHttpsScheme(locationURL)) {
-        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
-      }
-      if (request2.redirectCount === 20) {
-        return Promise.resolve(makeNetworkError("redirect count exceeded"));
-      }
-      request2.redirectCount += 1;
-      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
-        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
-      }
-      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
-        return Promise.resolve(makeNetworkError(
-          'URL cannot contain credentials for request mode "cors"'
-        ));
-      }
-      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
-        return Promise.resolve(makeNetworkError());
       }
-      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
-        request2.method = "GET";
-        request2.body = null;
-        for (const headerName of requestBodyHeader) {
-          request2.headersList.delete(headerName);
+    }
+    function validateCookieValue(value) {
+      let len = value.length;
+      let i = 0;
+      if (value[0] === '"') {
+        if (len === 1 || value[len - 1] !== '"') {
+          throw new Error("Invalid cookie value");
         }
+        --len;
+        ++i;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      if (request2.body != null) {
-        assert(request2.body.source != null);
-        request2.body = safelyExtractBody(request2.body.source)[0];
-      }
-      const timingInfo = fetchParams.timingInfo;
-      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
-      if (timingInfo.redirectStartTime === 0) {
-        timingInfo.redirectStartTime = timingInfo.startTime;
+      while (i < len) {
+        const code = value.charCodeAt(i++);
+        if (code < 33 || // exclude CTLs (0-31)
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
+        }
       }
-      request2.urlList.push(locationURL);
-      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
-      return mainFetch(fetchParams, true);
     }
-    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
-      const request2 = fetchParams.request;
-      let httpFetchParams = null;
-      let httpRequest = null;
-      let response = null;
-      const httpCache = null;
-      const revalidatingFlag = false;
-      if (request2.window === "no-window" && request2.redirect === "error") {
-        httpFetchParams = fetchParams;
-        httpRequest = request2;
-      } else {
-        httpRequest = makeRequest(request2);
-        httpFetchParams = { ...fetchParams };
-        httpFetchParams.request = httpRequest;
-      }
-      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
-      const contentLength = httpRequest.body ? httpRequest.body.length : null;
-      let contentLengthHeaderValue = null;
-      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
-        contentLengthHeaderValue = "0";
+    function validateCookiePath(path16) {
+      for (let i = 0; i < path16.length; ++i) {
+        const code = path16.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    var IMFDays = [
+      "Sun",
+      "Mon",
+      "Tue",
+      "Wed",
+      "Thu",
+      "Fri",
+      "Sat"
+    ];
+    var IMFMonths = [
+      "Jan",
+      "Feb",
+      "Mar",
+      "Apr",
+      "May",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Oct",
+      "Nov",
+      "Dec"
+    ];
+    var IMFPaddedNumbers = Array(61).fill(0).map((_, i) => i.toString().padStart(2, "0"));
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`;
+    }
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      for (const part of cookie.unparsed) {
+        if (!part.includes("=")) {
+          throw new Error("Invalid unparsed");
         }
+        const [key, ...value] = part.split("=");
+        out.push(`${key.trim()}=${value.join("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      response.requestIncludesCredentials = includeCredentials;
-      if (response.status === 407) {
-        if (request2.window === "no-window") {
-          return makeNetworkError();
-        }
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        return makeNetworkError("proxy authentication required");
+      let nameValuePair = "";
+      let unparsedAttributes = "";
+      let name = "";
+      let value = "";
+      if (header.includes(";")) {
+        const position = { position: 0 };
+        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
+        unparsedAttributes = header.slice(position.position);
+      } else {
+        nameValuePair = header;
       }
-      if (
-        // response’s status is 421
-        response.status === 421 && // isNewConnectionFetch is false
-        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
-        (request2.body == null || request2.body.source != null)
-      ) {
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        fetchParams.controller.connection.destroy();
-        response = await httpNetworkOrCacheFetch(
-          fetchParams,
-          isAuthenticationFetch,
-          true
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      assert(unparsedAttributes[0] === ";");
+      unparsedAttributes = unparsedAttributes.slice(1);
+      let cookieAv = "";
+      if (unparsedAttributes.includes(";")) {
+        cookieAv = collectASequenceOfCodePointsFast(
+          ";",
+          unparsedAttributes,
+          { position: 0 }
+        );
+        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
       } else {
+        cookieAv = unparsedAttributes;
+        unparsedAttributes = "";
       }
-      let requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream2 = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      const attributeNameLowercase = attributeName.toLowerCase();
+      if (attributeNameLowercase === "expires") {
+        const expiryTime = new Date(attributeValue);
+        cookieAttributeList.expires = expiryTime;
+      } else if (attributeNameLowercase === "max-age") {
+        const charCode = attributeValue.charCodeAt(0);
+        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      );
-      response.body = { stream: stream2 };
-      fetchParams.controller.on("terminated", onAborted);
-      fetchParams.controller.resume = async () => {
-        while (true) {
-          let bytes;
-          let isFailure;
-          try {
-            const { done, value } = await fetchParams.controller.next();
-            if (isAborted(fetchParams)) {
-              break;
-            }
-            bytes = done ? void 0 : value;
-          } catch (err) {
-            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
-              bytes = void 0;
-            } else {
-              bytes = err;
-              isFailure = true;
-            }
-          }
-          if (bytes === void 0) {
-            readableStreamClose(fetchParams.controller.controller);
-            finalizeResponse(fetchParams, response);
-            return;
-          }
-          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
-          if (isFailure) {
-            fetchParams.controller.terminate(bytes);
-            return;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream2)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
+        }
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
         } else {
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve9, reject) => agent.dispatch(
-          {
-            path: url.pathname + url.search,
-            origin: url.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable2({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib2.createGunzip({
-                      // Be less strict when decoding compressed responses, since sometimes
-                      // servers send slightly invalid responses that are still accepted
-                      // by common browsers.
-                      // Always using Z_SYNC_FLUSH is what cURL does.
-                      flush: zlib2.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib2.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib2.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve9({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve9({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        cookieAttributeList.path = cookiePath;
+      } else if (attributeNameLowercase === "secure") {
+        cookieAttributeList.secure = true;
+      } else if (attributeNameLowercase === "httponly") {
+        cookieAttributeList.httpOnly = true;
+      } else if (attributeNameLowercase === "samesite") {
+        let enforcement = "Default";
+        const attributeValueLowercase = attributeValue.toLowerCase();
+        if (attributeValueLowercase.includes("none")) {
+          enforcement = "None";
+        }
+        if (attributeValueLowercase.includes("strict")) {
+          enforcement = "Strict";
+        }
+        if (attributeValueLowercase.includes("lax")) {
+          enforcement = "Lax";
+        }
+        cookieAttributeList.sameSite = enforcement;
+      } else {
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
       }
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
     }
     module2.exports = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
+      }
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
+      }
+      return out;
+    }
+    function deleteCookie(headers, name, attributes) {
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
+    }
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
+      }
+      return cookies.map((pair) => parseSetCookie(pair));
+    }
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      }
+    ]);
+    webidl.converters.Cookie = webidl.dictionaryConverter([
+      {
+        converter: webidl.converters.DOMString,
+        key: "name"
+      },
+      {
+        converter: webidl.converters.DOMString,
+        key: "value"
+      },
+      {
+        converter: webidl.nullableConverter((value) => {
+          if (typeof value === "number") {
+            return webidl.converters["unsigned long long"](value);
+          }
+          return new Date(value);
+        }),
+        key: "expires",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters["long long"]),
+        key: "maxAge",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "secure",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "httpOnly",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.converters.USVString,
+        key: "sameSite",
+        allowedValues: ["Strict", "Lax", "None"]
+      },
+      {
+        converter: webidl.sequenceConverter(webidl.converters.DOMString),
+        key: "unparsed",
+        defaultValue: () => new Array(0)
+      }
+    ]);
     module2.exports = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
+      }
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
+      }
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
+        }
+        return this.#eventInit.ports;
+      }
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, init);
+        messageEvent.#eventInit = init;
+        messageEvent.#eventInit.data ??= null;
+        messageEvent.#eventInit.origin ??= "";
+        messageEvent.#eventInit.lastEventId ??= "";
+        messageEvent.#eventInit.source ??= null;
+        messageEvent.#eventInit.ports ??= [];
+        return messageEvent;
+      }
+    };
+    var { createFastMessageEvent } = MessageEvent;
+    delete MessageEvent.createFastMessageEvent;
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
+      }
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
+      }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
+      }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
+      }
+    };
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
+      }
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
+      }
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
+      }
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
+      }
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
+      }
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      reason: kEnumerableProperty,
+      code: kEnumerableProperty,
+      wasClean: kEnumerableProperty
+    });
+    Object.defineProperties(ErrorEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "ErrorEvent",
+        configurable: true
       },
+      message: kEnumerableProperty,
+      filename: kEnumerableProperty,
+      lineno: kEnumerableProperty,
+      colno: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.MessagePort
+    );
+    var eventInit = [
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
-    "use strict";
-    function getEncoding(label) {
-      if (!label) {
-        return "failure";
-      }
-      switch (label.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";
-      }
-    }
-    module2.exports = {
-      getEncoding
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream2 = blob.stream();
-      const reader = stream2.getReader();
-      const bytes = [];
-      let chunkPromise = reader.read();
-      let isFirstChunk = true;
-      (async () => {
-        while (!fr[kAborted]) {
-          try {
-            const { done, value } = await chunkPromise;
-            if (isFirstChunk && !fr[kAborted]) {
-              queueMicrotask(() => {
-                fireAProgressEvent("loadstart", fr);
-              });
-            }
-            isFirstChunk = false;
-            if (!done && types.isUint8Array(value)) {
-              bytes.push(value);
-              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
-                fr[kLastProgressEventFired] = Date.now();
-                queueMicrotask(() => {
-                  fireAProgressEvent("progress", fr);
-                });
-              }
-              chunkPromise = reader.read();
-            } else if (done) {
-              queueMicrotask(() => {
-                fr[kState] = "done";
-                try {
-                  const result = packageData(bytes, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              fireAProgressEvent("error", fr);
-              if (fr[kState] !== "loading") {
-                fireAProgressEvent("loadend", fr);
-              }
-            });
-            break;
-          }
-        }
-      })();
-    }
-    function fireAProgressEvent(e, reader) {
-      const event = new ProgressEvent(e, {
-        bubbles: false,
-        cancelable: false
-      });
-      reader.dispatchEvent(event);
-    }
-    function packageData(bytes, type2, mimeType, encodingName) {
-      switch (type2) {
-        case "DataURL": {
-          let dataURL = "data:";
-          const parsed = parseMIMEType(mimeType || "application/octet-stream");
-          if (parsed !== "failure") {
-            dataURL += serializeAMimeType(parsed);
-          }
-          dataURL += ";base64,";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            dataURL += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.parameters.get("charset"));
-            }
-          }
-          if (encoding === "failure") {
-            encoding = "UTF-8";
-          }
-          return decode(bytes, encoding);
-        }
-        case "ArrayBuffer": {
-          const sequence = combineByteSequences(bytes);
-          return sequence.buffer;
-        }
-        case "BinaryString": {
-          let binaryString = "";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            binaryString += decoder.write(chunk);
-          }
-          binaryString += decoder.end();
-          return binaryString;
-        }
+        defaultValue: () => false
       }
-    }
-    function decode(ioQueue, encoding) {
-      const bytes = combineByteSequences(ioQueue);
-      const BOMEncoding = BOMSniffing(bytes);
-      let slice = 0;
-      if (BOMEncoding !== null) {
-        encoding = BOMEncoding;
-        slice = BOMEncoding === "UTF-8" ? 3 : 2;
+    ];
+    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "data",
+        converter: webidl.converters.any,
+        defaultValue: () => null
+      },
+      {
+        key: "origin",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lastEventId",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "source",
+        // Node doesn't implement WindowProxy or ServiceWorker, so the only
+        // valid value for source is a MessagePort.
+        converter: webidl.nullableConverter(webidl.converters.MessagePort),
+        defaultValue: () => null
+      },
+      {
+        key: "ports",
+        converter: webidl.converters["sequence"],
+        defaultValue: () => new Array(0)
       }
-      const sliced = bytes.slice(slice);
-      return new TextDecoder(encoding).decode(sliced);
-    }
-    function BOMSniffing(ioQueue) {
-      const [a, b, c] = ioQueue;
-      if (a === 239 && b === 187 && c === 191) {
-        return "UTF-8";
-      } else if (a === 254 && b === 255) {
-        return "UTF-16BE";
-      } else if (a === 255 && b === 254) {
-        return "UTF-16LE";
+    ]);
+    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "wasClean",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "code",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 0
+      },
+      {
+        key: "reason",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
       }
-      return null;
-    }
-    function combineByteSequences(sequences) {
-      const size = sequences.reduce((a, b) => {
-        return a + b.byteLength;
-      }, 0);
-      let offset = 0;
-      return sequences.reduce((a, b) => {
-        a.set(b, offset);
-        offset += b.byteLength;
-        return a;
-      }, new Uint8Array(size));
-    }
+    ]);
+    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "message",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "filename",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lineno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "colno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "error",
+        converter: webidl.converters.any
+      }
+    ]);
     module2.exports = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var sentCloseFrameState = {
+      NOT_SENT: 0,
+      PROCESSING: 1,
+      SENT: 2
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    var sendHints = {
+      string: 1,
+      typedArray: 2,
+      arrayBuffer: 3,
+      blob: 4
+    };
+    module2.exports = {
+      uid,
+      sentCloseFrameState,
       staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var FileReader = class _FileReader extends EventTarget {
-      constructor() {
-        super();
-        this[kState] = "empty";
-        this[kResult] = null;
-        this[kError] = null;
-        this[kEvents] = {
-          loadend: null,
-          error: null,
-          abort: null,
-          load: null,
-          progress: null,
-          loadstart: null
-        };
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
-       * @param {import('buffer').Blob} blob
-       */
-      readAsArrayBuffer(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsDataText
-       * @param {import('buffer').Blob} blob
-       * @param {string?} encoding
-       */
-      readAsText(blob, encoding = void 0) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
+    }
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
+    }
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
+    }
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           return;
         }
-        if (this[kState] === "loading") {
-          this[kState] = "done";
-          this[kResult] = null;
-        }
-        this[kAborted] = true;
-        fireAProgressEvent("abort", this);
-        if (this[kState] !== "loading") {
-          fireAProgressEvent("loadend", this);
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
-       */
-      get readyState() {
-        webidl.brandCheck(this, _FileReader);
-        switch (this[kState]) {
-          case "empty":
-            return this.EMPTY;
-          case "loading":
-            return this.LOADING;
-          case "done":
-            return this.DONE;
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
-       */
-      get result() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kResult];
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
-       */
-      get error() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kError];
-      }
-      get onloadend() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadend;
-      }
-      set onloadend(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadend) {
-          this.removeEventListener("loadend", this[kEvents].loadend);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadend = fn;
-          this.addEventListener("loadend", fn);
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].error) {
-          this.removeEventListener("error", this[kEvents].error);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this[kEvents].error = null;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      set onloadstart(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadstart) {
-          this.removeEventListener("loadstart", this[kEvents].loadstart);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadstart = fn;
-          this.addEventListener("loadstart", fn);
-        } else {
-          this[kEvents].loadstart = null;
+      for (let i = 0; i < protocol.length; ++i) {
+        const code = protocol.charCodeAt(i);
+        if (code < 33 || // CTL, contains SP (0x20) and HT (0x09)
+        code > 126 || code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 44 || // ,
+        code === 47 || // /
+        code === 58 || // :
+        code === 59 || // ;
+        code === 60 || // <
+        code === 61 || // =
+        code === 62 || // >
+        code === 63 || // ?
+        code === 64 || // @
+        code === 91 || // [
+        code === 92 || // \
+        code === 93 || // ]
+        code === 123 || // {
+        code === 125) {
+          return false;
         }
       }
-      get onprogress() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].progress;
-      }
-      set onprogress(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].progress) {
-          this.removeEventListener("progress", this[kEvents].progress);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].progress = fn;
-          this.addEventListener("progress", fn);
-        } else {
-          this[kEvents].progress = null;
-        }
+      return true;
+    }
+    function isValidStatusCode(code) {
+      if (code >= 1e3 && code < 1015) {
+        return code !== 1004 && // reserved
+        code !== 1005 && // "MUST NOT be set as a status code"
+        code !== 1006;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      return code >= 3e3 && code <= 4999;
+    }
+    function failWebsocketConnection(ws, reason) {
+      const { [kController]: controller, [kResponse]: response } = ws;
+      controller.abort();
+      if (response?.socket && !response.socket.destroyed) {
+        response.socket.destroy();
       }
-      set onload(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].load) {
-          this.removeEventListener("load", this[kEvents].load);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].load = fn;
-          this.addEventListener("load", fn);
-        } else {
-          this[kEvents].load = null;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    function isControlFrame(opcode) {
+      return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
+    }
+    function isContinuationFrame(opcode) {
+      return opcode === opcodes.CONTINUATION;
+    }
+    function isTextBinaryFrame(opcode) {
+      return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
+    }
+    function isValidOpcode(opcode) {
+      return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
+    }
+    function parseExtensions(extensions) {
+      const position = { position: 0 };
+      const extensionList = /* @__PURE__ */ new Map();
+      while (position.position < extensions.length) {
+        const pair = collectASequenceOfCodePointsFast(";", extensions, position);
+        const [name, value = ""] = pair.split("=");
+        extensionList.set(
+          removeHTTPWhitespace(name, true, false),
+          removeHTTPWhitespace(value, false, true)
+        );
+        position.position++;
       }
-      set onabort(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].abort) {
-          this.removeEventListener("abort", this[kEvents].abort);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].abort = fn;
-          this.addEventListener("abort", fn);
-        } else {
-          this[kEvents].abort = null;
+      return extensionList;
+    }
+    function isValidClientWindowBits(value) {
+      for (let i = 0; i < value.length; i++) {
+        const byte = value.charCodeAt(i);
+        if (byte < 48 || byte > 57) {
+          return false;
         }
       }
-    };
-    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
-    FileReader.LOADING = FileReader.prototype.LOADING = 1;
-    FileReader.DONE = FileReader.prototype.DONE = 2;
-    Object.defineProperties(FileReader.prototype, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors,
-      readAsArrayBuffer: kEnumerableProperty,
-      readAsBinaryString: kEnumerableProperty,
-      readAsText: kEnumerableProperty,
-      readAsDataURL: kEnumerableProperty,
-      abort: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      result: kEnumerableProperty,
-      error: kEnumerableProperty,
-      onloadstart: kEnumerableProperty,
-      onprogress: kEnumerableProperty,
-      onload: kEnumerableProperty,
-      onabort: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onloadend: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "FileReader",
-        writable: false,
-        enumerable: false,
-        configurable: true
+      return true;
+    }
+    var hasIntl = typeof process.versions.icu === "string";
+    var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0;
+    var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) {
+      if (isUtf8(buffer)) {
+        return buffer.toString("utf-8");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto3;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto3 = require("node:crypto");
+    } catch {
+      crypto3 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync2(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto3.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]];
     }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+      }
+      createFrame(opcode) {
+        const frameData = this.frameData;
+        const maskKey = generateMask();
+        const bodyLength = frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
+        }
+        const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
+        buffer2[0] = buffer2[1] = 0;
+        buffer2[0] |= 128;
+        buffer2[0] = (buffer2[0] & 240) + opcode;
+        buffer2[offset - 4] = maskKey[0];
+        buffer2[offset - 3] = maskKey[1];
+        buffer2[offset - 2] = maskKey[2];
+        buffer2[offset - 1] = maskKey[3];
+        buffer2[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer2.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer2[2] = buffer2[3] = 0;
+          buffer2.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer2[1] |= 128;
+        for (let i = 0; i < bodyLength; ++i) {
+          buffer2[offset + i] = frameData[i] ^ maskKey[i & 3];
+        }
+        return buffer2;
+      }
+    };
     module2.exports = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto3;
+    try {
+      crypto3 = require("node:crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url, protocols, client, ws, onEstablish, options) {
+      const requestURL = url;
+      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        client,
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = getHeadersList(new Headers(options.headers));
+        request2.headersList = headersList;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto3.randomBytes(16).toString("base64");
+      request2.headersList.append("sec-websocket-key", keyValue);
+      request2.headersList.append("sec-websocket-version", "13");
+      for (const protocol of protocols) {
+        request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
-            }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
-          }
-        }
-        const responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher,
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
+            return;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto3.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
+          let extensions;
+          if (secExtension !== null) {
+            extensions = parseExtensions(secExtension);
+            if (!extensions.has("permessage-deflate")) {
+              failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match.");
+              return;
             }
-          }));
-          responsePromises.push(responsePromise.promise);
-        }
-        const p = Promise.all(responsePromises);
-        const responses = await p;
-        const operations = [];
-        let index = 0;
-        for (const response of responses) {
-          const operation = {
-            type: "put",
-            // 7.3.2
-            request: requestList[index],
-            // 7.3.3
-            response
-            // 7.3.4
-          };
-          operations.push(operation);
-          index++;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(void 0);
-          } else {
-            cacheJobPromise.reject(errorData);
           }
-        });
-        return cacheJobPromise.promise;
-      }
-      async put(request2, response) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
-        let innerRequest = null;
-        if (request2 instanceof Request) {
-          innerRequest = request2[kState];
-        } else {
-          innerRequest = new Request(request2)[kState];
-        }
-        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Got 206 status"
-          });
-        }
-        if (innerResponse.headersList.contains("vary")) {
-          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
-          for (const fieldValue of fieldValues) {
-            if (fieldValue === "*") {
-              throw webidl.errors.exception({
-                header: "Cache.put",
-                message: "Got * vary field value"
-              });
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null) {
+            const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList);
+            if (!requestProtocols.includes(secProtocol)) {
+              failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+              return;
             }
           }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response, extensions);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        const clonedResponse = cloneResponse(innerResponse);
-        const bodyReadPromise = createDeferredPromise();
-        if (innerResponse.body != null) {
-          const stream2 = innerResponse.body.stream;
-          const reader = stream2.getReader();
-          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+      });
+      return controller;
+    }
+    function closeWebSocketConnection(ws, code, reason, reasonByteLength) {
+      if (isClosing(ws) || isClosed(ws)) {
+      } else if (!isEstablished(ws)) {
+        failWebsocketConnection(ws, "Connection was closed before it was established.");
+        ws[kReadyState] = states.CLOSING;
+      } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) {
+        ws[kSentClose] = sentCloseFrameState.PROCESSING;
+        const frame = new WebsocketFrameSend();
+        if (code !== void 0 && reason === void 0) {
+          frame.frameData = Buffer.allocUnsafe(2);
+          frame.frameData.writeUInt16BE(code, 0);
+        } else if (code !== void 0 && reason !== void 0) {
+          frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+          frame.frameData.writeUInt16BE(code, 0);
+          frame.frameData.write(reason, 2, "utf-8");
         } else {
-          bodyReadPromise.resolve(void 0);
-        }
-        const operations = [];
-        const operation = {
-          type: "put",
-          // 14.
-          request: innerRequest,
-          // 15.
-          response: clonedResponse
-          // 16.
-        };
-        operations.push(operation);
-        const bytes = await bodyReadPromise.promise;
-        if (clonedResponse.body != null) {
-          clonedResponse.body.source = bytes;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 instanceof Request) {
-          r = request2[kState];
-          if (r.method !== "GET" && !options.ignoreMethod) {
-            return false;
-          }
-        } else {
-          assert(typeof request2 === "string");
-          r = new Request(request2)[kState];
-        }
-        const operations = [];
-        const operation = {
-          type: "delete",
-          request: r,
-          options
-        };
-        operations.push(operation);
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        let requestResponses;
-        try {
-          requestResponses = this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(!!requestResponses?.length);
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
+      }
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const { [kResponse]: response } = ws;
+      response.socket.off("data", onSocketData);
+      response.socket.off("close", onSocketClose);
+      response.socket.off("error", onSocketError);
+      const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result && !result.error) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kReceivedClose]) {
+        code = 1006;
+      }
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ Symbol("kLength");
+    var PerMessageDeflate = class {
+      /** @type {import('node:zlib').InflateRaw} */
+      #inflate;
+      #options = {};
+      constructor(extensions) {
+        this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
+        this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
+      }
+      decompress(chunk, fin, callback) {
+        if (!this.#inflate) {
+          let windowBits = Z_DEFAULT_WINDOWBITS;
+          if (this.#options.serverMaxWindowBits) {
+            if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
+              callback(new Error("Invalid server_max_window_bits"));
+              return;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
           }
+          this.#inflate = createInflateRaw({ windowBits });
+          this.#inflate[kBuffer] = [];
+          this.#inflate[kLength] = 0;
+          this.#inflate.on("data", (data) => {
+            this.#inflate[kBuffer].push(data);
+            this.#inflate[kLength] += data.length;
+          });
+          this.#inflate.on("error", (err) => {
+            this.#inflate = null;
+            callback(err);
+          });
         }
-        const promise = createDeferredPromise();
-        const requests = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            requests.push(requestResponse[0]);
-          }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            requests.push(requestResponse[0]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        this.#inflate.flush(() => {
+          const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
+          this.#inflate[kBuffer].length = 0;
+          this.#inflate[kLength] = 0;
+          callback(null, full);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
+    "use strict";
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #loop = false;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      /** @type {Map} */
+      #extensions;
+      constructor(ws, extensions) {
+        super();
+        this.ws = ws;
+        this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
+        if (this.#extensions.has("permessage-deflate")) {
+          this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #batchCacheOperations(operations) {
-        const cache = this.#relevantRequestResponseList;
-        const backupCache = [...cache];
-        const addedItems = [];
-        const resultList = [];
-        try {
-          for (const operation of operations) {
-            if (operation.type !== "delete" && operation.type !== "put") {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: 'operation type does not match "delete" or "put"'
-              });
+      _write(chunk, _, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        this.#loop = true;
+        this.run(callback);
+      }
+      /**
+       * Runs whenever a new chunk is received.
+       * Callback is called whenever there are no more chunks buffering,
+       * or not enough bytes are buffered to parse.
+       */
+      run(callback) {
+        while (this.#loop) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            const buffer = this.consume(2);
+            const fin = (buffer[0] & 128) !== 0;
+            const opcode = buffer[0] & 15;
+            const masked = (buffer[1] & 128) === 128;
+            const fragmented = !fin && opcode !== opcodes.CONTINUATION;
+            const payloadLength = buffer[1] & 127;
+            const rsv1 = buffer[0] & 64;
+            const rsv2 = buffer[0] & 32;
+            const rsv3 = buffer[0] & 16;
+            if (!isValidOpcode(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid opcode received");
+              return callback();
             }
-            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            let requestResponses;
-            if (operation.type === "delete") {
-              requestResponses = this.#queryCache(operation.request, operation.options);
-              if (requestResponses.length === 0) {
-                return [];
-              }
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-            } else if (operation.type === "put") {
-              if (operation.response == null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "put operation should have an associated response"
-                });
-              }
-              const r = operation.request;
-              if (!urlIsHttpHttpsScheme(r.url)) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "expected http or https scheme"
-                });
-              }
-              if (r.method !== "GET") {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "not get method"
-                });
-              }
-              if (operation.options != null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "options must not be defined"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.message.length);
+                    return;
+                  }
+                  this.#fragments.push(data);
+                  if (!this.#info.fin) {
+                    this.#state = parserStates.INFO;
+                    this.#loop = true;
+                    this.run(callback);
+                    return;
+                  }
+                  websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments));
+                  this.#loop = true;
+                  this.#state = parserStates.INFO;
+                  this.#fragments.length = 0;
+                  this.run(callback);
                 });
+                this.#loop = false;
+                break;
               }
-              requestResponses = this.#queryCache(operation.request);
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-              cache.push([operation.request, operation.response]);
-              addedItems.push([operation.request, operation.response]);
             }
-            resultList.push([operation.request, operation.response]);
           }
-          return resultList;
-        } catch (e) {
-          this.#relevantRequestResponseList.length = 0;
-          this.#relevantRequestResponseList = backupCache;
-          throw e;
         }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#query-cache
-       * @param {any} requestQuery
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @param {requestResponseList} targetStorage
-       * @returns {requestResponseList}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #queryCache(requestQuery, options, targetStorage) {
-        const resultList = [];
-        const storage = targetStorage ?? this.#relevantRequestResponseList;
-        for (const requestResponse of storage) {
-          const [cachedRequest, cachedResponse] = requestResponse;
-          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
-            resultList.push(requestResponse);
+      consume(n) {
+        if (n > this.#byteOffset) {
+          throw new Error("Called consume() before buffers satiated.");
+        } else if (n === 0) {
+          return emptyBuffer;
+        }
+        if (this.#buffers[0].length === n) {
+          this.#byteOffset -= this.#buffers[0].length;
+          return this.#buffers.shift();
+        }
+        const buffer = Buffer.allocUnsafe(n);
+        let offset = 0;
+        while (offset !== n) {
+          const next = this.#buffers[0];
+          const { length } = next;
+          if (length + offset === n) {
+            buffer.set(this.#buffers.shift(), offset);
+            break;
+          } else if (length + offset > n) {
+            buffer.set(next.subarray(0, n - offset), offset);
+            this.#buffers[0] = next.subarray(n - offset);
+            break;
+          } else {
+            buffer.set(this.#buffers.shift(), offset);
+            offset += next.length;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
-       * @param {any} requestQuery
-       * @param {any} request
-       * @param {any | null} response
-       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
-       * @returns {boolean}
-       */
-      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
-        const queryURL = new URL(requestQuery.url);
-        const cachedURL = new URL(request2.url);
-        if (options?.ignoreSearch) {
-          cachedURL.search = "";
-          queryURL.search = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        const fieldValues = getFieldValues(response.headersList.get("vary"));
-        for (const fieldValue of fieldValues) {
-          if (fieldValue === "*") {
-            return false;
-          }
-          const requestValue = request2.headersList.get(fieldValue);
-          const queryValue = requestQuery.headersList.get(fieldValue);
-          if (requestValue !== queryValue) {
-            return false;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    Object.defineProperties(Cache.prototype, {
-      [Symbol.toStringTag]: {
-        value: "Cache",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      matchAll: kEnumerableProperty,
-      add: kEnumerableProperty,
-      addAll: kEnumerableProperty,
-      put: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    var cacheQueryOptionConverters = [
-      {
-        key: "ignoreSearch",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreMethod",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreVary",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
-    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
-      ...cacheQueryOptionConverters,
-      {
-        key: "cacheName",
-        converter: webidl.converters.DOMString
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const cache = [];
-        this.#caches.set(cacheName, cache);
-        return new Cache(kConstruct, cache);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async delete(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    Object.defineProperties(CacheStorage.prototype, {
-      [Symbol.toStringTag]: {
-        value: "CacheStorage",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      has: kEnumerableProperty,
-      open: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    module2.exports = {
-      CacheStorage
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    var FastBuffer = Buffer[Symbol.species];
+    var SendQueue = class {
+      /**
+       * @type {FixedQueue}
+       */
+      #queue = new FixedQueue();
+      /**
+       * @type {boolean}
+       */
+      #running = false;
+      /** @type {import('node:net').Socket} */
+      #socket;
+      constructor(socket) {
+        this.#socket = socket;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      add(item, cb, hint) {
+        if (hint !== sendHints.blob) {
+          const frame = createFrame(item, hint);
+          if (!this.#running) {
+            this.#socket.write(frame, cb);
+          } else {
+            const node2 = {
+              promise: null,
+              callback: cb,
+              frame
+            };
+            this.#queue.push(node2);
+          }
+          return;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const node = {
+          promise: item.arrayBuffer().then((ab) => {
+            node.promise = null;
+            node.frame = createFrame(ab, hint);
+          }),
+          callback: cb,
+          frame: null
+        };
+        this.#queue.push(node);
+        if (!this.#running) {
+          this.#run();
         }
       }
-    }
-    function validateCookiePath(path16) {
-      for (const char of path16) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      async #run() {
+        this.#running = true;
+        const queue = this.#queue;
+        while (!queue.isEmpty()) {
+          const node = queue.shift();
+          if (node.promise !== null) {
+            await node.promise;
+          }
+          this.#socket.write(node.frame, node.callback);
+          node.callback = node.frame = null;
         }
+        this.#running = false;
       }
+    };
+    function createFrame(data, hint) {
+      return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY);
     }
-    function validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    function validateCookieMaxAge(maxAge) {
-      if (maxAge < 0) {
-        throw new Error("Invalid cookie max-age");
-      }
-    }
-    function stringify(cookie) {
-      if (cookie.name.length === 0) {
-        return null;
-      }
-      validateCookieName(cookie.name);
-      validateCookieValue(cookie.value);
-      const out = [`${cookie.name}=${cookie.value}`];
-      if (cookie.name.startsWith("__Secure-")) {
-        cookie.secure = true;
-      }
-      if (cookie.name.startsWith("__Host-")) {
-        cookie.secure = true;
-        cookie.domain = null;
-        cookie.path = "/";
-      }
-      if (cookie.secure) {
-        out.push("Secure");
-      }
-      if (cookie.httpOnly) {
-        out.push("HttpOnly");
-      }
-      if (typeof cookie.maxAge === "number") {
-        validateCookieMaxAge(cookie.maxAge);
-        out.push(`Max-Age=${cookie.maxAge}`);
-      }
-      if (cookie.domain) {
-        validateCookieDomain(cookie.domain);
-        out.push(`Domain=${cookie.domain}`);
-      }
-      if (cookie.path) {
-        validateCookiePath(cookie.path);
-        out.push(`Path=${cookie.path}`);
-      }
-      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
-        out.push(`Expires=${toIMFDate(cookie.expires)}`);
-      }
-      if (cookie.sameSite) {
-        out.push(`SameSite=${cookie.sameSite}`);
-      }
-      for (const part of cookie.unparsed) {
-        if (!part.includes("=")) {
-          throw new Error("Invalid unparsed");
-        }
-        const [key, ...value] = part.split("=");
-        out.push(`${key.trim()}=${value.join("=")}`);
+    function toBuffer(data, hint) {
+      switch (hint) {
+        case sendHints.string:
+          return Buffer.from(data);
+        case sendHints.arrayBuffer:
+        case sendHints.blob:
+          return new FastBuffer(data);
+        case sendHints.typedArray:
+          return new FastBuffer(data.buffer, data.byteOffset, data.byteLength);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } else {
-        nameValuePair = header;
-      }
-      if (!nameValuePair.includes("=")) {
-        value = nameValuePair;
-      } else {
-        const position = { position: 0 };
-        name = collectASequenceOfCodePointsFast(
-          "=",
-          nameValuePair,
-          position
-        );
-        value = nameValuePair.slice(position.position + 1);
-      }
-      name = name.trim();
-      value = value.trim();
-      if (name.length + value.length > maxNameValuePairSize) {
-        return null;
-      }
-      return {
-        name,
-        value,
-        ...parseUnparsedAttributes(unparsedAttributes)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
-      if (unparsedAttributes.length === 0) {
-        return cookieAttributeList;
-      }
-      assert(unparsedAttributes[0] === ";");
-      unparsedAttributes = unparsedAttributes.slice(1);
-      let cookieAv = "";
-      if (unparsedAttributes.includes(";")) {
-        cookieAv = collectASequenceOfCodePointsFast(
-          ";",
-          unparsedAttributes,
-          { position: 0 }
-        );
-        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
-      } else {
-        cookieAv = unparsedAttributes;
-        unparsedAttributes = "";
-      }
-      let attributeName = "";
-      let attributeValue = "";
-      if (cookieAv.includes("=")) {
-        const position = { position: 0 };
-        attributeName = collectASequenceOfCodePointsFast(
-          "=",
-          cookieAv,
-          position
-        );
-        attributeValue = cookieAv.slice(position.position + 1);
-      } else {
-        attributeName = cookieAv;
-      }
-      attributeName = attributeName.trim();
-      attributeValue = attributeValue.trim();
-      if (attributeValue.length > maxAttributeValueSize) {
-        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-      }
-      const attributeNameLowercase = attributeName.toLowerCase();
-      if (attributeNameLowercase === "expires") {
-        const expiryTime = new Date(attributeValue);
-        cookieAttributeList.expires = expiryTime;
-      } else if (attributeNameLowercase === "max-age") {
-        const charCode = attributeValue.charCodeAt(0);
-        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url, protocols = []) {
+        super();
+        webidl.util.markAsUncloneable(this);
+        const prefix = "WebSocket constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options");
+        url = webidl.converters.USVString(url, prefix, "url");
+        protocols = options.protocols;
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, baseURL);
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
         }
-        if (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        cookieAttributeList.path = cookiePath;
-      } else if (attributeNameLowercase === "secure") {
-        cookieAttributeList.secure = true;
-      } else if (attributeNameLowercase === "httponly") {
-        cookieAttributeList.httpOnly = true;
-      } else if (attributeNameLowercase === "samesite") {
-        let enforcement = "Default";
-        const attributeValueLowercase = attributeValue.toLowerCase();
-        if (attributeValueLowercase.includes("none")) {
-          enforcement = "None";
+        if (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      if (!cookie) {
-        return out;
-      }
-      for (const piece of cookie.split(";")) {
-        const [name, ...value] = piece.split("=");
-        out[name.trim()] = value.join("=");
-      }
-      return out;
-    }
-    function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookies = headers.getSetCookie();
-      if (!cookies) {
-        return [];
-      }
-      return cookies.map((pair) => parseSetCookie(pair));
-    }
-    function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        const client = environmentSettingsObject.settingsObject;
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          client,
+          this,
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
+        this[kBinaryType] = "blob";
       }
-    ]);
-    webidl.converters.Cookie = webidl.dictionaryConverter([
-      {
-        converter: webidl.converters.DOMString,
-        key: "name"
-      },
-      {
-        converter: webidl.converters.DOMString,
-        key: "value"
-      },
-      {
-        converter: webidl.nullableConverter((value) => {
-          if (typeof value === "number") {
-            return webidl.converters["unsigned long long"](value);
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
+       * @param {number|undefined} code
+       * @param {string|undefined} reason
+       */
+      close(code = void 0, reason = void 0) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.close";
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason, prefix, "reason");
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException("invalid code", "InvalidAccessError");
           }
-          return new Date(value);
-        }),
-        key: "expires",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters["long long"]),
-        key: "maxAge",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "secure",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "httpOnly",
-        defaultValue: null
-      },
-      {
-        converter: webidl.converters.USVString,
-        key: "sameSite",
-        allowedValues: ["Strict", "Lax", "None"]
-      },
-      {
-        converter: webidl.sequenceConverter(webidl.converters.DOMString),
-        key: "unparsed",
-        defaultValue: []
+        }
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
+          }
+        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
-    "use strict";
-    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    var states = {
-      CONNECTING: 0,
-      OPEN: 1,
-      CLOSING: 2,
-      CLOSED: 3
-    };
-    var opcodes = {
-      CONTINUATION: 0,
-      TEXT: 1,
-      BINARY: 2,
-      CLOSE: 8,
-      PING: 9,
-      PONG: 10
-    };
-    var maxUnsigned16Bit = 2 ** 16 - 1;
-    var parserStates = {
-      INFO: 0,
-      PAYLOADLENGTH_16: 2,
-      PAYLOADLENGTH_64: 3,
-      READ_DATA: 4
-    };
-    var emptyBuffer = Buffer.allocUnsafe(0);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.send";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        data = webidl.converters.WebSocketSendData(data, prefix, "data");
+        if (isConnecting(this)) {
+          throw new DOMException("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
+          return;
+        }
+        if (typeof data === "string") {
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
+        } else if (types.isArrayBuffer(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
+        } else if (ArrayBuffer.isView(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
+        } else if (isBlobLike(data)) {
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
+        }
       }
-      get data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      set onopen(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
+        }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
+        }
       }
-      get wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      set onerror(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
+        }
       }
-      get reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      set onclose(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.close) {
+          this.removeEventListener("close", this.#events.close);
+        }
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
+        }
       }
-      get message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      set onmessage(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
+        }
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
+        }
       }
-      get lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
+       */
+      #onConnectionEstablished(response, parsedExtensions) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this, parsedExtensions);
+        parser.on("drain", onParserDrain);
+        parser.on("error", onParserError.bind(this));
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this.#sendQueue = new SendQueue(response.socket);
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
+        }
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
     };
-    Object.defineProperties(MessageEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "MessageEvent",
-        configurable: true
-      },
-      data: kEnumerableProperty,
-      origin: kEnumerableProperty,
-      lastEventId: kEnumerableProperty,
-      source: kEnumerableProperty,
-      ports: kEnumerableProperty,
-      initMessageEvent: kEnumerableProperty
-    });
-    Object.defineProperties(CloseEvent.prototype, {
+    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
+    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
+    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
+    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
+    Object.defineProperties(WebSocket.prototype, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors,
+      url: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      bufferedAmount: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onclose: kEnumerableProperty,
+      close: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      binaryType: kEnumerableProperty,
+      send: kEnumerableProperty,
+      extensions: kEnumerableProperty,
+      protocol: kEnumerableProperty,
       [Symbol.toStringTag]: {
-        value: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         configurable: true
-      },
-      reason: kEnumerableProperty,
-      code: kEnumerableProperty,
-      wasClean: kEnumerableProperty
+      }
     });
-    Object.defineProperties(ErrorEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "ErrorEvent",
-        configurable: true
-      },
-      message: kEnumerableProperty,
-      filename: kEnumerableProperty,
-      lineno: kEnumerableProperty,
-      colno: kEnumerableProperty,
-      error: kEnumerableProperty
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    var eventInit = [
-      {
-        key: "bubbles",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "cancelable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "composed",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "data",
-        converter: webidl.converters.any,
-        defaultValue: null
-      },
-      {
-        key: "origin",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
-      {
-        key: "lastEventId",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "source",
-        // Node doesn't implement WindowProxy or ServiceWorker, so the only
-        // valid value for source is a MessagePort.
-        converter: webidl.nullableConverter(webidl.converters.MessagePort),
-        defaultValue: null
-      },
-      {
-        key: "ports",
-        converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "wasClean",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "code",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 0
-      },
-      {
-        key: "reason",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
+    webidl.converters["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    function isEstablished(ws) {
-      return ws[kReadyState] === states.OPEN;
-    }
-    function isClosing(ws) {
-      return ws[kReadyState] === states.CLOSING;
-    }
-    function isClosed(ws) {
-      return ws[kReadyState] === states.CLOSED;
-    }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { protocols: webidl.converters["DOMString or sequence"](V) };
+    };
+    webidl.converters.WebSocketSendData = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
         }
       }
-      return true;
-    }
-    function isValidStatusCode(code) {
-      if (code >= 1e3 && code < 1015) {
-        return code !== 1004 && // reserved
-        code !== 1005 && // "MUST NOT be set as a status code"
-        code !== 1006;
-      }
-      return code >= 3e3 && code <= 4999;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    function failWebsocketConnection(ws, reason) {
-      const { [kController]: controller, [kResponse]: response } = ws;
-      controller.abort();
-      if (response?.socket && !response.socket.destroyed) {
-        response.socket.destroy();
-      }
-      if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
-        });
+    function onParserError(err) {
+      let message;
+      let code;
+      if (err instanceof CloseEvent) {
+        message = err.reason;
+        code = err.code;
+      } else {
+        message = err.message;
       }
+      fireEvent("error", this, () => new ErrorEvent("error", { error: err, message }));
+      closeWebSocketConnection(this, code);
     }
     module2.exports = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto3;
-    try {
-      crypto3 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
-      const requestURL = url;
-      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto3.randomBytes(16).toString("base64");
-      request2.headersList.append("sec-websocket-key", keyValue);
-      request2.headersList.append("sec-websocket-version", "13");
-      for (const protocol of protocols) {
-        request2.headersList.append("sec-websocket-protocol", protocol);
-      }
-      const permessageDeflate = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
-            return;
-          }
-          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
-            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
-            return;
-          }
-          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
-            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
-            return;
-          }
-          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
-          const digest = crypto3.createHash("sha1").update(keyValue + uid).digest("base64");
-          if (secWSAccept !== digest) {
-            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
-            return;
-          }
-          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    function isASCIINumber(value) {
+      if (value.length === 0) return false;
+      for (let i = 0; i < value.length; i++) {
+        if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false;
       }
+      return true;
     }
-    function onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay2(ms) {
+      return new Promise((resolve9) => {
+        setTimeout(resolve9, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto3;
-    try {
-      crypto3 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto3.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.frameData?.byteLength ?? 0;
-        let payloadLength = bodyLength;
-        let offset = 6;
-        if (bodyLength > maxUnsigned16Bit) {
-          offset += 8;
-          payloadLength = 127;
-        } else if (bodyLength > 125) {
-          offset += 2;
-          payloadLength = 126;
-        }
-        const buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      checkBOM = true;
+      /**
+       * @type {boolean}
+       */
+      crlfCheck = false;
+      /**
+       * @type {boolean}
+       */
+      eventEndCheck = false;
+      /**
+       * @type {Buffer}
+       */
+      buffer = null;
+      pos = 0;
+      event = {
+        data: void 0,
+        event: void 0,
+        id: void 0,
+        retry: void 0
+      };
+      /**
+       * @param {object} options
+       * @param {eventSourceSettings} options.eventSourceSettings
+       * @param {Function} [options.push]
+       */
+      constructor(options = {}) {
+        options.readableObjectMode = true;
+        super(options);
+        this.state = options.eventSourceSettings || {};
+        if (options.push) {
+          this.push = options.push;
+        }
       }
       /**
-       * Runs whenever a new chunk is received.
-       * Callback is called whenever there are no more chunks buffering,
-       * or not enough bytes are buffered to parse.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            if (payloadLength <= 125) {
-              this.#info.payloadLength = payloadLength;
-              this.#state = parserStates.READ_DATA;
-            } else if (payloadLength === 126) {
-              this.#state = parserStates.PAYLOADLENGTH_16;
-            } else if (payloadLength === 127) {
-              this.#state = parserStates.PAYLOADLENGTH_64;
-            }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _transform(chunk, _encoding, callback) {
+        if (chunk.length === 0) {
+          callback();
+          return;
+        }
+        if (this.buffer) {
+          this.buffer = Buffer.concat([this.buffer, chunk]);
+        } else {
+          this.buffer = chunk;
+        }
+        if (this.checkBOM) {
+          switch (this.buffer.length) {
+            case 1:
+              if (this.buffer[0] === BOM[0]) {
+                callback();
                 return;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              this.checkBOM = false;
+              break;
+            case 3:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = Buffer.alloc(0);
+                this.checkBOM = false;
                 callback();
                 return;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              this.checkBOM = false;
+              break;
+            default:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = this.buffer.subarray(3);
               }
-              if (this.#byteOffset > 0) {
+              this.checkBOM = false;
+              break;
+          }
+        }
+        while (this.pos < this.buffer.length) {
+          if (this.eventEndCheck) {
+            if (this.crlfCheck) {
+              if (this.buffer[this.pos] === LF) {
+                this.buffer = this.buffer.subarray(this.pos + 1);
+                this.pos = 0;
+                this.crlfCheck = false;
                 continue;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.payloadLength = buffer.readUInt16BE(0);
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
-            if (this.#byteOffset < 8) {
-              return callback();
-            }
-            const buffer = this.consume(8);
-            const upper = buffer.readUInt32BE(0);
-            if (upper > 2 ** 31 - 1) {
-              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
-              return;
-            }
-            const lower = buffer.readUInt32BE(4);
-            this.#info.payloadLength = (upper << 8) + lower;
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.READ_DATA) {
-            if (this.#byteOffset < this.#info.payloadLength) {
-              return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              this.buffer = this.buffer.subarray(this.pos + 1);
+              this.pos = 0;
+              if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) {
+                this.processEvent(this.event);
+              }
+              this.clearEvent();
+              continue;
             }
+            this.eventEndCheck = false;
+            continue;
           }
-          if (this.#byteOffset > 0) {
+          if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+            if (this.buffer[this.pos] === CR) {
+              this.crlfCheck = true;
+            }
+            this.parseLine(this.buffer.subarray(0, this.pos), this.event);
+            this.buffer = this.buffer.subarray(this.pos + 1);
+            this.pos = 0;
+            this.eventEndCheck = true;
             continue;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        const buffer = Buffer.allocUnsafe(n);
-        let offset = 0;
-        while (offset !== n) {
-          const next = this.#buffers[0];
-          const { length } = next;
-          if (length + offset === n) {
-            buffer.set(this.#buffers.shift(), offset);
+        let field = "";
+        let value = "";
+        if (colonPosition !== -1) {
+          field = line.subarray(0, colonPosition).toString("utf8");
+          let valueStart = colonPosition + 1;
+          if (line[valueStart] === SPACE) {
+            ++valueStart;
+          }
+          value = line.subarray(valueStart).toString("utf8");
+        } else {
+          field = line.toString("utf8");
+          value = "";
+        }
+        switch (field) {
+          case "data":
+            if (event[field] === void 0) {
+              event[field] = value;
+            } else {
+              event[field] += `
+${value}`;
+            }
             break;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          case "retry":
+            if (isASCIINumber(value)) {
+              event[field] = value;
+            }
+            break;
+          case "id":
+            if (isValidLastEventId(value)) {
+              event[field] = value;
+            }
+            break;
+          case "event":
+            if (value.length > 0) {
+              event[field] = value;
+            }
             break;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    var defaultReconnectionTime = 3e3;
+    var CONNECTING = 0;
+    var OPEN = 1;
+    var CLOSED = 2;
+    var ANONYMOUS = "anonymous";
+    var USE_CREDENTIALS = "use-credentials";
+    var EventSource = class _EventSource extends EventTarget {
       #events = {
         open: null,
         error: null,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #url = null;
+      #withCredentials = false;
+      #readyState = CONNECTING;
+      #request = null;
+      #controller = null;
+      #dispatcher;
+      /**
+       * @type {import('./eventsource-stream').eventSourceSettings}
+       */
+      #state;
       /**
+       * Creates a new EventSource object.
        * @param {string} url
-       * @param {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url, protocols = []) {
+      constructor(url, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        url = webidl.converters.USVString(url, prefix, "url");
+        eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
+        this.#dispatcher = eventSourceInitDict.dispatcher;
+        this.#state = {
+          lastEventId: "",
+          reconnectionTime: defaultReconnectionTime
+        };
+        const settings = environmentSettingsObject;
         let urlRecord;
         try {
-          urlRecord = new URL(url, baseURL);
+          urlRecord = new URL(url, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
-        }
-        if (urlRecord.protocol === "http:") {
-          urlRecord.protocol = "ws:";
-        } else if (urlRecord.protocol === "https:") {
-          urlRecord.protocol = "wss:";
-        }
-        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        const initRequest = {
+          redirect: "follow",
+          keepalive: true,
+          // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
+          mode: "cors",
+          credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
+          referrer: "no-referrer"
+        };
+        initRequest.client = environmentSettingsObject.settingsObject;
+        initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
+        initRequest.cache = "no-store";
+        initRequest.initiator = "other";
+        initRequest.urlList = [new URL(this.#url)];
+        this.#request = makeRequest(initRequest);
+        this.#connect();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      get readyState() {
+        return this.#readyState;
+      }
+      /**
+       * Returns the URL providing the event stream.
+       * @readonly
+       * @returns {string}
+       */
+      get url() {
+        return this.#url;
+      }
+      /**
+       * Returns a boolean indicating whether the EventSource object was
+       * instantiated with CORS credentials set (true), or not (false, the default).
+       */
+      get withCredentials() {
+        return this.#withCredentials;
+      }
+      #connect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        const fetchParams = {
+          request: this.#request,
+          dispatcher: this.#dispatcher
+        };
+        const processEventSourceEndOfBody = (response) => {
+          if (isNetworkError(response)) {
+            this.dispatchEvent(new Event("error"));
+            this.close();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          this.#reconnect();
+        };
+        fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
+        fetchParams.processResponse = (response) => {
+          if (isNetworkError(response)) {
+            if (response.aborted) {
+              this.close();
+              this.dispatchEvent(new Event("error"));
+              return;
+            } else {
+              this.#reconnect();
+              return;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          const frame = new WebsocketFrameSend();
-          if (code !== void 0 && reason === void 0) {
-            frame.frameData = Buffer.allocUnsafe(2);
-            frame.frameData.writeUInt16BE(code, 0);
-          } else if (code !== void 0 && reason !== void 0) {
-            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
-            frame.frameData.writeUInt16BE(code, 0);
-            frame.frameData.write(reason, 2, "utf-8");
-          } else {
-            frame.frameData = emptyBuffer;
+          const contentType = response.headersList.get("content-type", true);
+          const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
+          const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
+          if (response.status !== 200 || contentTypeValid === false) {
+            this.close();
+            this.dispatchEvent(new Event("error"));
+            return;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          this.#readyState = OPEN;
+          this.dispatchEvent(new Event("open"));
+          this.#state.origin = response.urlList[response.urlList.length - 1].origin;
+          const eventSourceStream = new EventSourceStream({
+            eventSourceSettings: this.#state,
+            push: (event) => {
+              this.dispatchEvent(createFastMessageEvent(
+                event.type,
+                event.options
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(this.#state.reconnectionTime);
+        if (this.#readyState !== CONNECTING) return;
+        if (this.#state.lastEventId.length) {
+          this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
         }
+        this.#connect();
       }
-      get readyState() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kReadyState];
-      }
-      get bufferedAmount() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#bufferedAmount;
-      }
-      get url() {
-        webidl.brandCheck(this, _WebSocket);
-        return URLSerializer(this[kWebSocketURL]);
-      }
-      get extensions() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#extensions;
-      }
-      get protocol() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#protocol;
+      /**
+       * Closes the connection, if any, and sets the readyState attribute to
+       * CLOSED.
+       */
+      close() {
+        webidl.brandCheck(this, _EventSource);
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CLOSED;
+        this.#controller.abort();
+        this.#request = null;
       }
       get onopen() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.open;
       }
       set onopen(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.open) {
           this.removeEventListener("open", this.#events.open);
         }
@@ -37998,44 +39575,10 @@ var require_websocket2 = __commonJS({
           this.#events.open = null;
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.error) {
-          this.removeEventListener("error", this.#events.error);
-        }
-        if (typeof fn === "function") {
-          this.#events.error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this.#events.error = null;
-        }
-      }
-      get onclose() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.close;
-      }
-      set onclose(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.close) {
-          this.removeEventListener("close", this.#events.close);
-        }
-        if (typeof fn === "function") {
-          this.#events.close = fn;
-          this.addEventListener("close", fn);
-        } else {
-          this.#events.close = null;
-        }
-      }
       get onmessage() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.message;
       }
       set onmessage(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.message) {
           this.removeEventListener("message", this.#events.message);
         }
@@ -38046,137 +39589,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      set onerror(fn) {
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
         } else {
-          this[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    var constantsPropertyDescriptors = {
+      CONNECTING: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CONNECTING,
+        writable: false
+      },
+      OPEN: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: OPEN,
+        writable: false
+      },
+      CLOSED: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CLOSED,
+        writable: false
       }
     };
-    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
-    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
-    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
-    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
-    Object.defineProperties(WebSocket.prototype, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors,
-      url: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      bufferedAmount: kEnumerableProperty,
-      onopen: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onclose: kEnumerableProperty,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: kEnumerableProperty,
       onmessage: kEnumerableProperty,
-      binaryType: kEnumerableProperty,
-      send: kEnumerableProperty,
-      extensions: kEnumerableProperty,
-      protocol: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "WebSocket",
-        writable: false,
-        enumerable: false,
-        configurable: true
-      }
-    });
-    Object.defineProperties(WebSocket, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
-        return webidl.converters.WebSocketInit(V);
-      }
-      return { protocols: webidl.converters["DOMString or sequence"](V) };
-    };
-    webidl.converters.WebSocketSendData = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     module2.exports.BalancedPool = BalancedPool;
     module2.exports.Agent = Agent;
     module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
+    module2.exports.RetryAgent = RetryAgent;
     module2.exports.RetryHandler = RetryHandler;
     module2.exports.DecoratorHandler = DecoratorHandler;
     module2.exports.RedirectHandler = RedirectHandler;
     module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.interceptors = {
+      redirect: require_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     module2.exports.buildConnector = buildConnector;
     module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
     function makeDispatcher(fn) {
       return (url, opts, handler2) => {
         if (typeof opts === "function") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().fetch;
+    module2.exports.fetch = async function fetch(init, options = void 0) {
+      try {
+        return await fetchImpl(init, options);
+      } catch (err) {
+        if (err && typeof err === "object") {
+          Error.captureStackTrace(err);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().WebSocket;
+    module2.exports.CloseEvent = CloseEvent;
+    module2.exports.ErrorEvent = ErrorEvent;
+    module2.exports.MessageEvent = MessageEvent;
     module2.exports.request = makeDispatcher(api.request);
     module2.exports.stream = makeDispatcher(api.stream);
     module2.exports.pipeline = makeDispatcher(api.pipeline);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44493,7 +45986,7 @@ var require_package = __commonJS({
   "package.json"(exports2, module2) {
     module2.exports = {
       name: "codeql",
-      version: "4.32.1",
+      version: "4.32.2",
       private: true,
       description: "CodeQL action",
       scripts: {
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -55205,7 +56698,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -55328,7 +56821,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url, options);
@@ -60026,7 +61519,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -60281,7 +61774,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -60395,7 +61888,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -60442,7 +61935,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -60482,7 +61975,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -96563,7 +98056,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -96640,7 +98133,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -102618,7 +104111,7 @@ function wrapApiConfigurationError(e) {
     ].some((pattern) => pattern.test(httpError.message))) {
       return new ConfigurationError(httpError.message);
     }
-    if (httpError.message.includes("Bad credentials") || httpError.message.includes("Not Found")) {
+    if (httpError.message.includes("Bad credentials") || httpError.message.includes("Not Found") || httpError.message.includes("Requires authentication")) {
       return new ConfigurationError(
         "Please check that your token is valid and has the required permissions: contents: read, security-events: write"
       );
@@ -103163,8 +104656,8 @@ var path6 = __toESM(require("path"));
 var semver5 = __toESM(require_semver2());
 
 // src/defaults.json
-var bundleVersion = "codeql-bundle-v2.24.0";
-var cliVersion = "2.24.0";
+var bundleVersion = "codeql-bundle-v2.24.1";
+var cliVersion = "2.24.1";
 
 // src/overlay-database-utils.ts
 var fs3 = __toESM(require("fs"));
@@ -108058,11 +109551,11 @@ void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/resolve-environment-action.js b/lib/resolve-environment-action.js
index c6a2620870..781e69b6b3 100644
--- a/lib/resolve-environment-action.js
+++ b/lib/resolve-environment-action.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT");
+    var AbortError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+        this.message = message || "The operation was aborted";
+        this.code = "UND_ERR_ABORT";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         this.name = "InformationalError";
         this.message = message || "Request information";
         this.code = "UND_ERR_INFO";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInformationalError] === true;
+      }
+      [kInformationalError] = true;
     };
-    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE");
+    var ResponseError = class extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        this.name = "ResponseError";
+        this.message = message || "Response error";
+        this.code = "UND_ERR_RESPONSE";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseError] === true;
+      }
+      [kResponseError] = true;
+    };
+    var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS");
+    var SecureProxyConnectionError = class extends UndiciError {
+      constructor(cause, message, options) {
+        super(message, { cause, ...options ?? {} });
+        this.name = "SecureProxyConnectionError";
+        this.message = message || "Secure Proxy Connection failed";
+        this.code = "UND_ERR_PRX_TLS";
+        this.cause = cause;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSecureProxyConnectionError] === true;
+      }
+      [kSecureProxyConnectionError] = true;
     };
     module2.exports = {
+      AbortError,
       HTTPParserError,
       UndiciError,
       HeadersTimeoutError,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              node.middle = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.code < code) {
+            if (node.left !== null) {
+              node = node.left;
+            } else {
+              node.left = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.right !== null) {
+            node = node.right;
+          } else {
+            node.right = new _TstNode(key, value, index);
+            break;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    var TernarySearchTree = class {
+      /** @type {TstNode | null} */
+      node = null;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * */
+      insert(key, value) {
+        if (this.node === null) {
+          this.node = new TstNode(key, value, 0);
+        } else {
+          this.node.add(key, value);
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {any}
+       */
+      lookup(key) {
+        return this.node?.search(key)?.value ?? null;
+      }
+    };
+    var tree = new TernarySearchTree();
+    for (let i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]];
+      tree.insert(key, key);
+    }
+    module2.exports = {
+      TernarySearchTree,
+      tree
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream = require("node:stream");
+    var net = require("node:net");
+    var { Blob: Blob2 } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var { stringify } = require("node:querystring");
+    var { EventEmitter: EE } = require("node:events");
     var { InvalidArgumentError } = require_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      if (object === null) {
+        return false;
+      } else if (object instanceof Blob2) {
+        return true;
+      } else if (typeof object !== "object") {
+        return false;
+      } else {
+        const sTag = object[Symbol.toStringTag];
+        return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function");
+      }
     }
     function buildURL(url, queryParams) {
       if (url.includes("?") || url.includes("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       return url;
     }
+    function isValidPort(port) {
+      const value = parseInt(port, 10);
+      return value === Number(port) && value >= 0 && value <= 65535;
+    }
+    function isHttpOrHttpsPrefixed(value) {
+      return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
+    }
     function parseURL(url) {
       if (typeof url === "string") {
         url = new URL(url);
-        if (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         if (url.origin != null && typeof url.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
-        let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
+        let origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
         let path5 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path5 && !path5.startsWith("/")) {
+        if (path5 && path5[0] !== "/") {
           path5 = `/${path5}`;
         }
-        url = new URL(origin + path5);
+        return new URL(`${origin}${path5}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream2) {
-      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
-    }
-    function isReadableAborted(stream2) {
-      const state = stream2 && stream2._readableState;
-      return isDestroyed(stream2) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body));
     }
     function destroy(stream2, err) {
       if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream2.destroy(err);
       } else if (err) {
-        process.nextTick((stream3, err2) => {
-          stream3.emit("error", err2);
-        }, stream2, err);
+        queueMicrotask(() => {
+          stream2.emit("error", err);
+        });
       }
       if (stream2.destroyed !== true) {
         stream2[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        if (val) {
+          if (typeof val === "string") {
             val = [val];
             obj[key] = val;
           }
           val.push(headers[i + 1].toString("utf8"));
+        } else {
+          const headersValue = headers[i + 1];
+          if (typeof headersValue === "string") {
+            obj[key] = headersValue;
+          } else {
+            obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      const len = headers.length;
+      const ret = new Array(len);
       let hasContentLength = false;
       let contentDispositionIdx = -1;
+      let key;
+      let val;
+      let kLen = 0;
       for (let n = 0; n < headers.length; n += 2) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        key = headers[n];
+        val = headers[n + 1];
+        typeof key !== "string" && (key = key.toString());
+        typeof val !== "string" && (val = val.toString("utf8"));
+        kLen = key.length;
+        if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) {
           hasContentLength = true;
-        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          type: "bytes"
+        }
       );
     }
     function isFormDataLike(object) {
       return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
     }
-    function throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.toUSVString(val);
+      return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val);
+    }
+    function isUSVString(val) {
+      return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`;
+    }
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
+      }
+    }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
+        }
       }
-      return `${val}`;
+      return true;
+    }
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    function isValidHeaderValue(characters) {
+      return !headerCharRegex.test(characters);
     }
     function parseRangeHeader(range) {
       if (range == null || range === "") return { start: 0, end: null, size: null };
@@ -22290,25 +22632,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
+    var normalizedMethodRecordsBase = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    var normalizedMethodRecords = {
+      ...normalizedMethodRecordsBase,
+      patch: "patch",
+      PATCH: "PATCH"
+    };
+    Object.setPrototypeOf(normalizedMethodRecordsBase, null);
+    Object.setPrototypeOf(normalizedMethodRecords, null);
+    module2.exports = {
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isUSVString,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
       isStream,
       isIterable,
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,15673 +22708,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    var diagnosticsChannel = require("node:diagnostics_channel");
+    var util = require("node:util");
+    var undiciDebugLog = util.debuglog("undici");
+    var fetchDebuglog = util.debuglog("fetch");
+    var websocketDebuglog = util.debuglog("websocket");
+    var isClientSet = false;
+    var channels = {
+      // Client
+      beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
+      connected: diagnosticsChannel.channel("undici:client:connected"),
+      connectError: diagnosticsChannel.channel("undici:client:connectError"),
+      sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
+      // Request
+      create: diagnosticsChannel.channel("undici:request:create"),
+      bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
+      headers: diagnosticsChannel.channel("undici:request:headers"),
+      trailers: diagnosticsChannel.channel("undici:request:trailers"),
+      error: diagnosticsChannel.channel("undici:request:error"),
+      // WebSocket
+      open: diagnosticsChannel.channel("undici:websocket:open"),
+      close: diagnosticsChannel.channel("undici:websocket:close"),
+      socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
+      ping: diagnosticsChannel.channel("undici:websocket:ping"),
+      pong: diagnosticsChannel.channel("undici:websocket:pong")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
+      const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog;
+      diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connecting to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connected to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host },
+          error: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path5, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path5);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path5, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path5,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path5, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path5);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path5, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path5,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    if (websocketDebuglog.enabled) {
+      if (!isClientSet) {
+        const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog;
+        diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connecting to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connected to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host },
+            error: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path5, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path5);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => {
+        const {
+          address: { address, port }
+        } = evt;
+        websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : "");
+      });
+      diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => {
+        const { websocket, code, reason } = evt;
+        websocketDebuglog(
+          "closed connection to %s - %s %s",
+          websocket.url,
+          code,
+          reason
+        );
+      });
+      diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => {
+        websocketDebuglog("connection errored - %s", err.message);
+      });
+      diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => {
+        websocketDebuglog("ping received");
+      });
+      diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => {
+        websocketDebuglog("pong received");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path5,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path5 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path5[0] !== "/" && !(path5.startsWith("http://") || path5.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path5)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
+          throw new InvalidArgumentError("invalid request method");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path5, query) : path5;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
           }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      }
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    function processHeader(request2, key, val) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path5) {
-      if (typeof path5 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path5.length - 1; i >= 0; --i) {
-        switch (path5.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path5 = path5.slice(i + 1);
-            return path5 === ".." || path5 === "." ? "" : path5;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path5 === ".." || path5 === "." ? "" : path5;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        request2.host = val;
+      } else if (request2.contentLength === null && headerName === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } else if (request2.contentType === null && headerName === "content-type") {
+        request2.contentType = val;
+        request2.headers.push(key, val);
+      } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
+        throw new InvalidArgumentError(`invalid ${headerName} header`);
+      } else if (headerName === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
         }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      compose(...args) {
+        const interceptors = Array.isArray(args[0]) ? args[0] : args;
+        let dispatch = this.dispatch.bind(this);
+        for (const interceptor of interceptors) {
+          if (interceptor == null) {
+            continue;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve4, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve4(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve4, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve4(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
+        }
+        if (!err) {
+          err = new ClientDestroyedError();
+        }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
+        });
+      }
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
+        }
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
+        }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
+      }
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
+        }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
+          }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
+          }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
+          }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
+          }
+          handler2.onError(err);
+          return false;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer");
+    var fastTimers = [];
+    var NOT_IN_LIST = -2;
+    var TO_BE_CLEARED = -1;
+    var PENDING = 0;
+    var ACTIVE = 1;
+    function onTick() {
+      fastNow += TICK_MS;
+      let idx = 0;
+      let len = fastTimers.length;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer._state === PENDING) {
+          timer._idleStart = fastNow - TICK_MS;
+          timer._state = ACTIVE;
+        } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
+          timer._state = TO_BE_CLEARED;
+          timer._idleStart = -1;
+          timer._onTimeout(timer._timerArg);
+        }
+        if (timer._state === TO_BE_CLEARED) {
+          timer._state = NOT_IN_LIST;
+          if (--len !== 0) {
+            fastTimers[idx] = fastTimers[len];
+          }
+        } else {
+          ++idx;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
-    function getGlobalOrigin() {
-      return globalThis[globalOrigin];
     }
-    function setGlobalOrigin(newOrigin) {
-      if (newOrigin === void 0) {
-        Object.defineProperty(globalThis, globalOrigin, {
-          value: void 0,
-          writable: true,
-          enumerable: false,
-          configurable: false
-        });
-        return;
+    var FastTimer = class {
+      [kFastTimer] = true;
+      /**
+       * The state of the timer, which can be one of the following:
+       * - NOT_IN_LIST (-2)
+       * - TO_BE_CLEARED (-1)
+       * - PENDING (0)
+       * - ACTIVE (1)
+       *
+       * @type {-2|-1|0|1}
+       * @private
+       */
+      _state = NOT_IN_LIST;
+      /**
+       * The number of milliseconds to wait before calling the callback.
+       *
+       * @type {number}
+       * @private
+       */
+      _idleTimeout = -1;
+      /**
+       * The time in milliseconds when the timer was started. This value is used to
+       * calculate when the timer should expire.
+       *
+       * @type {number}
+       * @default -1
+       * @private
+       */
+      _idleStart = -1;
+      /**
+       * The function to be executed when the timer expires.
+       * @type {Function}
+       * @private
+       */
+      _onTimeout;
+      /**
+       * The argument to be passed to the callback when the timer expires.
+       *
+       * @type {*}
+       * @private
+       */
+      _timerArg;
+      /**
+       * @constructor
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should wait
+       * before the specified function or code is executed.
+       * @param {*} arg
+       */
+      constructor(callback, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * Sets the timer's start time to the current time, and reschedules the timer
+       * to call its callback at the previously specified duration adjusted to the
+       * current time.
+       * Using this on a timer that has already called its callback will reactivate
+       * the timer.
+       *
+       * @returns {void}
+       */
+      refresh() {
+        if (this._state === NOT_IN_LIST) {
+          fastTimers.push(this);
+        }
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
+        }
+        this._state = PENDING;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * The setTimeout() method sets a timer which executes a function once the
+       * timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {NodeJS.Timeout|FastTimer}
+       */
+      setTimeout(callback, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated Timer previously created
+       * by calling setTimeout.
+       *
+       * @param {NodeJS.Timeout|FastTimer} timeout
+       */
+      clearTimeout(timeout) {
+        if (timeout[kFastTimer]) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
+      },
+      /**
+       * The setFastTimeout() method sets a fastTimer which executes a function once
+       * the timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {FastTimer}
+       */
+      setFastTimeout(callback, delay2, arg) {
+        return new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated FastTimer previously
+       * created by calling setFastTimeout.
+       *
+       * @param {FastTimer} timeout
+       */
+      clearFastTimeout(timeout) {
+        timeout.clear();
+      },
+      /**
+       * The now method returns the value of the internal fast timer clock.
+       *
+       * @returns {number}
+       */
+      now() {
+        return fastNow;
+      },
+      /**
+       * Trigger the onTick function to process the fastTimers array.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       * @param {number} [delay=0] The delay in milliseconds to add to the now value.
+       */
+      tick(delay2 = 0) {
+        fastNow += delay2 - RESOLUTION_MS + 1;
+        onTick();
+        onTick();
+      },
+      /**
+       * Reset FastTimers.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      reset() {
+        fastNow = 0;
+        fastTimers.length = 0;
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = null;
+      },
+      /**
+       * Exporting for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      kFastTimer
     };
   }
 });
 
-// node_modules/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance2 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
-    } catch {
-    }
-    function responseURL(response) {
-      const urlList = response.urlList;
-      const length = urlList.length;
-      return length === 0 ? null : urlList[length - 1].toString();
-    }
-    function responseLocationURL(response, requestFragment) {
-      if (!redirectStatusSet.has(response.status)) {
-        return null;
-      }
-      let location = response.headersList.get("location");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
-        return "blocked";
-      }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    function isValidReasonPhrase(statusText) {
-      for (let i = 0; i < statusText.length; ++i) {
-        const c = statusText.charCodeAt(i);
-        if (!(c === 9 || // HTAB
-        c >= 32 && c <= 126 || // SP / VCHAR
-        c >= 128 && c <= 255)) {
-          return false;
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
         }
-      }
-      return true;
-    }
-    function isTokenCharCode(c) {
-      switch (c) {
-        case 34:
-        case 40:
-        case 41:
-        case 44:
-        case 47:
-        case 58:
-        case 59:
-        case 60:
-        case 61:
-        case 62:
-        case 63:
-        case 64:
-        case 91:
-        case 92:
-        case 93:
-        case 123:
-        case 125:
-          return false;
-        default:
-          return c >= 33 && c <= 126;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      if (policy !== "") {
-        request2.referrerPolicy = policy;
-      }
-    }
-    function crossOriginResourcePolicyCheck() {
-      return "allowed";
-    }
-    function corsCheck() {
-      return "success";
-    }
-    function TAOCheck() {
-      return "success";
-    }
-    function appendFetchMetadata(httpRequest) {
-      let header = null;
-      header = httpRequest.mode;
-      httpRequest.headersList.set("sec-fetch-mode", header);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance2.now();
-    }
-    function createOpaqueTimingInfo(timingInfo) {
-      return {
-        startTime: timingInfo.startTime ?? 0,
-        redirectStartTime: 0,
-        redirectEndTime: 0,
-        postRedirectStartTime: timingInfo.startTime ?? 0,
-        finalServiceWorkerStartTime: 0,
-        finalNetworkResponseStartTime: 0,
-        finalNetworkRequestStartTime: 0,
-        endTime: 0,
-        encodedBodySize: 0,
-        decodedBodySize: 0,
-        finalConnectionTimingInfo: null
-      };
-    }
-    function makePolicyContainer() {
-      return {
-        referrerPolicy: "strict-origin-when-cross-origin"
-      };
-    }
-    function clonePolicyContainer(policyContainer) {
-      return {
-        referrerPolicy: policyContainer.referrerPolicy
       };
-    }
-    function determineRequestsReferrer(request2) {
-      const policy = request2.referrerPolicy;
-      assert(policy);
-      let referrerSource = null;
-      if (request2.referrer === "client") {
-        const globalOrigin = getGlobalOrigin();
-        if (!globalOrigin || globalOrigin.origin === "null") {
-          return "no-referrer";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        referrerSource = new URL(globalOrigin);
-      } else if (request2.referrer instanceof URL) {
-        referrerSource = request2.referrer;
-      }
-      let referrerURL = stripURLForReferrer(referrerSource);
-      const referrerOrigin = stripURLForReferrer(referrerSource, true);
-      if (referrerURL.toString().length > 4096) {
-        referrerURL = referrerOrigin;
-      }
-      const areSameOrigin = sameOrigin(request2, referrerURL);
-      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
-      switch (policy) {
-        case "origin":
-          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
-        case "unsafe-url":
-          return referrerURL;
-        case "same-origin":
-          return areSameOrigin ? referrerOrigin : "no-referrer";
-        case "origin-when-cross-origin":
-          return areSameOrigin ? referrerURL : referrerOrigin;
-        case "strict-origin-when-cross-origin": {
-          const currentURL = requestCurrentURL(request2);
-          if (sameOrigin(referrerURL, currentURL)) {
-            return referrerURL;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url, originOnly) {
-      assert(url instanceof URL);
-      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url.username = "";
-      url.password = "";
-      url.hash = "";
-      if (originOnly) {
-        url.pathname = "";
-        url.search = "";
-      }
-      return url;
-    }
-    function isURLPotentiallyTrustworthy(url) {
-      if (!(url instanceof URL)) {
-        return false;
-      }
-      if (url.href === "about:blank" || url.href === "about:srcdoc") {
-        return true;
-      }
-      if (url.protocol === "data:") return true;
-      if (url.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto2 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
       }
-      const strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
-        if (actualValue[actualValue.length - 1] === "=") {
-          if (actualValue[actualValue.length - 2] === "=") {
-            actualValue = actualValue.slice(0, -2);
-          } else {
-            actualValue = actualValue.slice(0, -1);
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("node:tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          assert(sessionKey);
+          const session = customSession || sessionCache.get(sessionKey) || null;
+          port = port || 443;
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          port = port || 80;
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port,
+            host: hostname
+          });
         }
-        if (compareBase64Mixed(actualValue, expectedValue)) {
-          return true;
-        }
-      }
-      return false;
-    }
-    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
-    function parseMetadata(metadata) {
-      const result = [];
-      let empty = true;
-      for (const token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
-          continue;
-        }
-        const algorithm = parsedToken.groups.algo.toLowerCase();
-        if (supportedHashes.includes(algorithm)) {
-          result.push(parsedToken.groups);
-        }
-      }
-      if (empty === true) {
-        return "no metadata";
-      }
-      return result;
-    }
-    function getStrongestMetadata(metadataList) {
-      let algorithm = metadataList[0].algo;
-      if (algorithm[3] === "5") {
-        return algorithm;
-      }
-      for (let i = 1; i < metadataList.length; ++i) {
-        const metadata = metadataList[i];
-        if (metadata.algo[3] === "5") {
-          algorithm = "sha512";
-          break;
-        } else if (algorithm[3] === "3") {
-          continue;
-        } else if (metadata.algo[3] === "3") {
-          algorithm = "sha384";
-        }
-      }
-      return algorithm;
-    }
-    function filterMetadataListByAlgorithm(metadataList, algorithm) {
-      if (metadataList.length === 1) {
-        return metadataList;
-      }
-      let pos = 0;
-      for (let i = 0; i < metadataList.length; ++i) {
-        if (metadataList[i].algo === algorithm) {
-          metadataList[pos++] = metadataList[i];
-        }
-      }
-      metadataList.length = pos;
-      return metadataList;
-    }
-    function compareBase64Mixed(actualValue, expectedValue) {
-      if (actualValue.length !== expectedValue.length) {
-        return false;
-      }
-      for (let i = 0; i < actualValue.length; ++i) {
-        if (actualValue[i] !== expectedValue[i]) {
-          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
-            continue;
-          }
-          return false;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      return true;
-    }
-    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
-    }
-    function sameOrigin(A, B) {
-      if (A.origin === B.origin && A.origin === "null") {
-        return true;
-      }
-      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
-        return true;
-      }
-      return false;
-    }
-    function createDeferredPromise() {
-      let res;
-      let rej;
-      const promise = new Promise((resolve4, reject) => {
-        res = resolve4;
-        rej = reject;
-      });
-      return { promise, resolve: res, reject: rej };
-    }
-    function isAborted(fetchParams) {
-      return fetchParams.controller.state === "aborted";
-    }
-    function isCancelled(fetchParams) {
-      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
-    }
-    function serializeJavascriptValueToJSONString(value) {
-      const result = JSON.stringify(value);
-      if (result === void 0) {
-        throw new TypeError("Value is not JSON serializable");
-      }
-      assert(typeof result === "string");
-      return result;
-    }
-    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port });
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      let s1 = null;
+      let s2 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    } : (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      let s1 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          onConnectTimeout(socketWeakRef.deref(), opts);
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+      };
+    };
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
+        return;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    async function readAllBytes(reader) {
-      const bytes = [];
-      let byteLength = 0;
-      while (true) {
-        const { done, value: chunk } = await reader.read();
-        if (done) {
-          return Buffer.concat(bytes, byteLength);
-        }
-        if (!isUint8Array(chunk)) {
-          throw new TypeError("Received non-Uint8Array chunk");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        bytes.push(chunk);
-        byteLength += chunk.length;
-      }
-    }
-    function urlIsLocal(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
-    }
-    function urlHasHttpsScheme(url) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
-      }
-      return url.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.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
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVuaWVudF9oZWFkZXJzACEhbGxodHRwX3NldF9sZW5pZW50X2NodW5rZWRfbGVuZ3RoACIdbGxodHRwX3NldF9sZW5pZW50X2tlZXBfYWxpdmUAIyRsbGh0dHBfc2V0X2xlbmllbnRfdHJhbnNmZXJfZW5jb2RpbmcAJBhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YALgkXAQBBAQsRAQIDBAUKBgcrLSwqKSglJyYK07MCLBYAQYjQACgCAARAAAtBiNAAQQE2AgALFAAgABAwIAAgAjYCOCAAIAE6ACgLFAAgACAALwEyIAAtAC4gABAvEAALHgEBf0HAABAyIgEQMCABQYAINgI4IAEgADoAKCABC48MAQd/AkAgAEUNACAAQQhrIgEgAEEEaygCACIAQXhxIgRqIQUCQCAAQQFxDQAgAEEDcUUNASABIAEoAgAiAGsiAUGc0AAoAgBJDQEgACAEaiEEAkACQEGg0AAoAgAgAUcEQCAAQf8BTQRAIABBA3YhAyABKAIIIgAgASgCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyABKAIYIQYgASABKAIMIgBHBEAgACABKAIIIgI2AgggAiAANgIMDAMLIAFBFGoiAygCACICRQRAIAEoAhAiAkUNAiABQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFKAIEIgBBA3FBA0cNAiAFIABBfnE2AgRBlNAAIAQ2AgAgBSAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCABKAIcIgJBAnRBvNIAaiIDKAIAIAFGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgAUYbaiAANgIAIABFDQELIAAgBjYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAFTw0AIAUoAgQiAEEBcUUNAAJAAkACQAJAIABBAnFFBEBBpNAAKAIAIAVGBEBBpNAAIAE2AgBBmNAAQZjQACgCACAEaiIANgIAIAEgAEEBcjYCBCABQaDQACgCAEcNBkGU0ABBADYCAEGg0ABBADYCAAwGC0Gg0AAoAgAgBUYEQEGg0AAgATYCAEGU0ABBlNAAKAIAIARqIgA2AgAgASAAQQFyNgIEIAAgAWogADYCAAwGCyAAQXhxIARqIQQgAEH/AU0EQCAAQQN2IQMgBSgCCCIAIAUoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgBSgCGCEGIAUgBSgCDCIARwRAQZzQACgCABogACAFKAIIIgI2AgggAiAANgIMDAMLIAVBFGoiAygCACICRQRAIAUoAhAiAkUNAiAFQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFIABBfnE2AgQgASAEaiAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCAFKAIcIgJBAnRBvNIAaiIDKAIAIAVGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiAANgIAIABFDQELIAAgBjYCGCAFKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAFQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAEaiAENgIAIAEgBEEBcjYCBCABQaDQACgCAEcNAEGU0AAgBDYCAAwBCyAEQf8BTQRAIARBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASAEQQN2dCIDcUUEQEGM0AAgAiADcjYCACAADAELIAAoAggLIgIgATYCDCAAIAE2AgggASAANgIMIAEgAjYCCAwBC0EfIQIgBEH///8HTQRAIARBJiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAgsgASACNgIcIAFCADcCECACQQJ0QbzSAGohAAJAQZDQACgCACIDQQEgAnQiB3FFBEAgACABNgIAQZDQACADIAdyNgIAIAEgADYCGCABIAE2AgggASABNgIMDAELIARBGSACQQF2a0EAIAJBH0cbdCECIAAoAgAhAAJAA0AgACIDKAIEQXhxIARGDQEgAkEddiEAIAJBAXQhAiADIABBBHFqQRBqIgcoAgAiAA0ACyAHIAE2AgAgASADNgIYIAEgATYCDCABIAE2AggMAQsgAygCCCIAIAE2AgwgAyABNgIIIAFBADYCGCABIAM2AgwgASAANgIIC0Gs0ABBrNAAKAIAQQFrIgBBfyAAGzYCAAsLBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LQAEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABAwIAAgBDYCOCAAIAM6ACggACACOgAtIAAgATYCGAu74gECB38DfiABIAJqIQQCQCAAIgIoAgwiAA0AIAIoAgQEQCACIAE2AgQLIwBBEGsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAhwiA0EBaw7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBywHKAbgByQG5AcgBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgEA3AELQQAMxgELQQ4MxQELQQ0MxAELQQ8MwwELQRAMwgELQRMMwQELQRQMwAELQRUMvwELQRYMvgELQRgMvQELQRkMvAELQRoMuwELQRsMugELQRwMuQELQR0MuAELQQgMtwELQR4MtgELQSAMtQELQR8MtAELQQcMswELQSEMsgELQSIMsQELQSMMsAELQSQMrwELQRIMrgELQREMrQELQSUMrAELQSYMqwELQScMqgELQSgMqQELQcMBDKgBC0EqDKcBC0ErDKYBC0EsDKUBC0EtDKQBC0EuDKMBC0EvDKIBC0HEAQyhAQtBMAygAQtBNAyfAQtBDAyeAQtBMQydAQtBMgycAQtBMwybAQtBOQyaAQtBNQyZAQtBxQEMmAELQQsMlwELQToMlgELQTYMlQELQQoMlAELQTcMkwELQTgMkgELQTwMkQELQTsMkAELQT0MjwELQQkMjgELQSkMjQELQT4MjAELQT8MiwELQcAADIoBC0HBAAyJAQtBwgAMiAELQcMADIcBC0HEAAyGAQtBxQAMhQELQcYADIQBC0EXDIMBC0HHAAyCAQtByAAMgQELQckADIABC0HKAAx/C0HLAAx+C0HNAAx9C0HMAAx8C0HOAAx7C0HPAAx6C0HQAAx5C0HRAAx4C0HSAAx3C0HTAAx2C0HUAAx1C0HWAAx0C0HVAAxzC0EGDHILQdcADHELQQUMcAtB2AAMbwtBBAxuC0HZAAxtC0HaAAxsC0HbAAxrC0HcAAxqC0EDDGkLQd0ADGgLQd4ADGcLQd8ADGYLQeEADGULQeAADGQLQeIADGMLQeMADGILQQIMYQtB5AAMYAtB5QAMXwtB5gAMXgtB5wAMXQtB6AAMXAtB6QAMWwtB6gAMWgtB6wAMWQtB7AAMWAtB7QAMVwtB7gAMVgtB7wAMVQtB8AAMVAtB8QAMUwtB8gAMUgtB8wAMUQtB9AAMUAtB9QAMTwtB9gAMTgtB9wAMTQtB+AAMTAtB+QAMSwtB+gAMSgtB+wAMSQtB/AAMSAtB/QAMRwtB/gAMRgtB/wAMRQtBgAEMRAtBgQEMQwtBggEMQgtBgwEMQQtBhAEMQAtBhQEMPwtBhgEMPgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    "use strict";
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDsYBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHyAhIyUmKCorLC8wMTIzNDU2Nzk6Ozw9lANAQkRFRklLTk9QUVJTVFVWWFpbXF1eX2BhYmNkZWZnaGpsb3Bxc3V2eHl6e3x/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcsBzAHNAc4BzwGKA4kDiAOHA4QDgwOAA/sC+gL5AvgC9wL0AvMC8gLLAsECsALZAQsgASAERw3wAkHdASEDDLMDCyABIARHDcgBQcMBIQMMsgMLIAEgBEcNe0H3ACEDDLEDCyABIARHDXBB7wAhAwywAwsgASAERw1pQeoAIQMMrwMLIAEgBEcNZUHoACEDDK4DCyABIARHDWJB5gAhAwytAwsgASAERw0aQRghAwysAwsgASAERw0VQRIhAwyrAwsgASAERw1CQcUAIQMMqgMLIAEgBEcNNEE/IQMMqQMLIAEgBEcNMkE8IQMMqAMLIAEgBEcNK0ExIQMMpwMLIAItAC5BAUYNnwMMwQILQQAhAAJAAkACQCACLQAqRQ0AIAItACtFDQAgAi8BMCIDQQJxRQ0BDAILIAIvATAiA0EBcUUNAQtBASEAIAItAChBAUYNACACLwEyIgVB5ABrQeQASQ0AIAVBzAFGDQAgBUGwAkYNACADQcAAcQ0AQQAhACADQYgEcUGABEYNACADQShxQQBHIQALIAJBADsBMCACQQA6AC8gAEUN3wIgAkIANwMgDOACC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAARQ3MASAAQRVHDd0CIAJBBDYCHCACIAE2AhQgAkGwGDYCECACQRU2AgxBACEDDKQDCyABIARGBEBBBiEDDKQDCyABQQFqIQFBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAA3ZAgwcCyACQgA3AyBBEiEDDIkDCyABIARHDRZBHSEDDKEDCyABIARHBEAgAUEBaiEBQRAhAwyIAwtBByEDDKADCyACIAIpAyAiCiAEIAFrrSILfSIMQgAgCiAMWhs3AyAgCiALWA3UAkEIIQMMnwMLIAEgBEcEQCACQQk2AgggAiABNgIEQRQhAwyGAwtBCSEDDJ4DCyACKQMgQgBSDccBIAIgAi8BMEGAAXI7ATAMQgsgASAERw0/QdAAIQMMnAMLIAEgBEYEQEELIQMMnAMLIAFBAWohAUEAIQACQCACKAI4IgNFDQAgAygCUCIDRQ0AIAIgAxEAACEACyAADc8CDMYBC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ3GASAAQRVHDc0CIAJBCzYCHCACIAE2AhQgAkGCGTYCECACQRU2AgxBACEDDJoDC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ0MIABBFUcNygIgAkEaNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMmQMLQQAhAAJAIAIoAjgiA0UNACADKAJMIgNFDQAgAiADEQAAIQALIABFDcQBIABBFUcNxwIgAkELNgIcIAIgATYCFCACQZEXNgIQIAJBFTYCDEEAIQMMmAMLIAEgBEYEQEEPIQMMmAMLIAEtAAAiAEE7Rg0HIABBDUcNxAIgAUEBaiEBDMMBC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3DASAAQRVHDcICIAJBDzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJYDCwNAIAEtAABB8DVqLQAAIgBBAUcEQCAAQQJHDcECIAIoAgQhAEEAIQMgAkEANgIEIAIgACABQQFqIgEQLSIADcICDMUBCyAEIAFBAWoiAUcNAAtBEiEDDJUDC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3FASAAQRVHDb0CIAJBGzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJQDCyABIARGBEBBFiEDDJQDCyACQQo2AgggAiABNgIEQQAhAAJAIAIoAjgiA0UNACADKAJIIgNFDQAgAiADEQAAIQALIABFDcIBIABBFUcNuQIgAkEVNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMkwMLIAEgBEcEQANAIAEtAABB8DdqLQAAIgBBAkcEQAJAIABBAWsOBMQCvQIAvgK9AgsgAUEBaiEBQQghAwz8AgsgBCABQQFqIgFHDQALQRUhAwyTAwtBFSEDDJIDCwNAIAEtAABB8DlqLQAAIgBBAkcEQCAAQQFrDgTFArcCwwK4ArcCCyAEIAFBAWoiAUcNAAtBGCEDDJEDCyABIARHBEAgAkELNgIIIAIgATYCBEEHIQMM+AILQRkhAwyQAwsgAUEBaiEBDAILIAEgBEYEQEEaIQMMjwMLAkAgAS0AAEENaw4UtQG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwEAvwELQQAhAyACQQA2AhwgAkGvCzYCECACQQI2AgwgAiABQQFqNgIUDI4DCyABIARGBEBBGyEDDI4DCyABLQAAIgBBO0cEQCAAQQ1HDbECIAFBAWohAQy6AQsgAUEBaiEBC0EiIQMM8wILIAEgBEYEQEEcIQMMjAMLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43wQLAAgABAgMEBQYH0AHQAdAB0AHQAdAB0AEICQoLDA3QAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdABDg8QERIT0AELQgIhCgzAAgtCAyEKDL8CC0IEIQoMvgILQgUhCgy9AgtCBiEKDLwCC0IHIQoMuwILQgghCgy6AgtCCSEKDLkCC0IKIQoMuAILQgshCgy3AgtCDCEKDLYCC0INIQoMtQILQg4hCgy0AgtCDyEKDLMCC0IKIQoMsgILQgshCgyxAgtCDCEKDLACC0INIQoMrwILQg4hCgyuAgtCDyEKDK0CC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsON8ACvwIAAQIDBAUGB74CvgK+Ar4CvgK+Ar4CCAkKCwwNvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ag4PEBESE74CC0ICIQoMvwILQgMhCgy+AgtCBCEKDL0CC0IFIQoMvAILQgYhCgy7AgtCByEKDLoCC0IIIQoMuQILQgkhCgy4AgtCCiEKDLcCC0ILIQoMtgILQgwhCgy1AgtCDSEKDLQCC0IOIQoMswILQg8hCgyyAgtCCiEKDLECC0ILIQoMsAILQgwhCgyvAgtCDSEKDK4CC0IOIQoMrQILQg8hCgysAgsgAiACKQMgIgogBCABa60iC30iDEIAIAogDFobNwMgIAogC1gNpwJBHyEDDIkDCyABIARHBEAgAkEJNgIIIAIgATYCBEElIQMM8AILQSAhAwyIAwtBASEFIAIvATAiA0EIcUUEQCACKQMgQgBSIQULAkAgAi0ALgRAQQEhACACLQApQQVGDQEgA0HAAHFFIAVxRQ0BC0EAIQAgA0HAAHENAEECIQAgA0EIcQ0AIANBgARxBEACQCACLQAoQQFHDQAgAi0ALUEKcQ0AQQUhAAwCC0EEIQAMAQsgA0EgcUUEQAJAIAItAChBAUYNACACLwEyIgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNAEEEIQAgA0EocUUNAiADQYgEcUGABEYNAgtBACEADAELQQBBAyACKQMgUBshAAsgAEEBaw4FvgIAsAEBpAKhAgtBESEDDO0CCyACQQE6AC8MhAMLIAEgBEcNnQJBJCEDDIQDCyABIARHDRxBxgAhAwyDAwtBACEAAkAgAigCOCIDRQ0AIAMoAkQiA0UNACACIAMRAAAhAAsgAEUNJyAAQRVHDZgCIAJB0AA2AhwgAiABNgIUIAJBkRg2AhAgAkEVNgIMQQAhAwyCAwsgASAERgRAQSghAwyCAwtBACEDIAJBADYCBCACQQw2AgggAiABIAEQKiIARQ2UAiACQSc2AhwgAiABNgIUIAIgADYCDAyBAwsgASAERgRAQSkhAwyBAwsgAS0AACIAQSBGDRMgAEEJRw2VAiABQQFqIQEMFAsgASAERwRAIAFBAWohAQwWC0EqIQMM/wILIAEgBEYEQEErIQMM/wILIAEtAAAiAEEJRyAAQSBHcQ2QAiACLQAsQQhHDd0CIAJBADoALAzdAgsgASAERgRAQSwhAwz+AgsgAS0AAEEKRw2OAiABQQFqIQEMsAELIAEgBEcNigJBLyEDDPwCCwNAIAEtAAAiAEEgRwRAIABBCmsOBIQCiAKIAoQChgILIAQgAUEBaiIBRw0AC0ExIQMM+wILQTIhAyABIARGDfoCIAIoAgAiACAEIAFraiEHIAEgAGtBA2ohBgJAA0AgAEHwO2otAAAgAS0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAEEDRgRAQQYhAQziAgsgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAc2AgAM+wILIAJBADYCAAyGAgtBMyEDIAQgASIARg35AiAEIAFrIAIoAgAiAWohByAAIAFrQQhqIQYCQANAIAFB9DtqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBCEYEQEEFIQEM4QILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPoCCyACQQA2AgAgACEBDIUCC0E0IQMgBCABIgBGDfgCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgJAA0AgAUHQwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEM4AILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPkCCyACQQA2AgAgACEBDIQCCyABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRg0JDIECCyAEIAFBAWoiAUcNAAtBMCEDDPgCC0EwIQMM9wILIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBP8B/gH+Af8B/gELIAQgAUEBaiIBRw0AC0E4IQMM9wILQTghAwz2AgsDQCABLQAAIgBBIEcgAEEJR3EN9gEgBCABQQFqIgFHDQALQTwhAwz1AgsDQCABLQAAIgBBIEcEQAJAIABBCmsOBPkBBAT5AQALIABBLEYN9QEMAwsgBCABQQFqIgFHDQALQT8hAwz0AgtBwAAhAyABIARGDfMCIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEGAQGstAAAgAS0AAEEgckcNASAAQQZGDdsCIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPQCCyACQQA2AgALQTYhAwzZAgsgASAERgRAQcEAIQMM8gILIAJBDDYCCCACIAE2AgQgAi0ALEEBaw4E+wHuAewB6wHUAgsgAUEBaiEBDPoBCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIQMM3AILIAFBAWohAUEyIQMM2wILIAFBAWohAUEzIQMM2gILDP4BCyAEIAFBAWoiAUcNAAtBNSEDDPACC0E1IQMM7wILIAEgBEcEQANAIAEtAABBgDxqLQAAQQFHDfcBIAQgAUEBaiIBRw0AC0E9IQMM7wILQT0hAwzuAgtBACEAAkAgAigCOCIDRQ0AIAMoAkAiA0UNACACIAMRAAAhAAsgAEUNASAAQRVHDeYBIAJBwgA2AhwgAiABNgIUIAJB4xg2AhAgAkEVNgIMQQAhAwztAgsgAUEBaiEBC0E8IQMM0gILIAEgBEYEQEHCACEDDOsCCwJAA0ACQCABLQAAQQlrDhgAAswCzALRAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAgDMAgsgBCABQQFqIgFHDQALQcIAIQMM6wILIAFBAWohASACLQAtQQFxRQ3+AQtBLCEDDNACCyABIARHDd4BQcQAIQMM6AILA0AgAS0AAEGQwABqLQAAQQFHDZwBIAQgAUEBaiIBRw0AC0HFACEDDOcCCyABLQAAIgBBIEYN/gEgAEE6Rw3AAiACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgAN3gEM3QELQccAIQMgBCABIgBGDeUCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFBkMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvwIgAUEFRg3CAiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzlAgtByAAhAyAEIAEiAEYN5AIgBCABayACKAIAIgFqIQcgACABa0EJaiEGA0AgAUGWwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw2+AkECIAFBCUYNwgIaIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOQCCyABIARGBEBByQAhAwzkAgsCQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQe4Aaw4HAL8CvwK/Ar8CvwIBvwILIAFBAWohAUE+IQMMywILIAFBAWohAUE/IQMMygILQcoAIQMgBCABIgBGDeICIAQgAWsgAigCACIBaiEGIAAgAWtBAWohBwNAIAFBoMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvAIgAUEBRg2+AiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBjYCAAziAgtBywAhAyAEIAEiAEYN4QIgBCABayACKAIAIgFqIQcgACABa0EOaiEGA0AgAUGiwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw27AiABQQ5GDb4CIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOECC0HMACEDIAQgASIARg3gAiAEIAFrIAIoAgAiAWohByAAIAFrQQ9qIQYDQCABQcDCAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDboCQQMgAUEPRg2+AhogAUEBaiEBIAQgAEEBaiIARw0ACyACIAc2AgAM4AILQc0AIQMgBCABIgBGDd8CIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFB0MIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNuQJBBCABQQVGDb0CGiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzfAgsgASAERgRAQc4AIQMM3wILAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCAbwCvAK8AgIDvAILIAFBAWohAUHBACEDDMgCCyABQQFqIQFBwgAhAwzHAgsgAUEBaiEBQcMAIQMMxgILIAFBAWohAUHEACEDDMUCCyABIARHBEAgAkENNgIIIAIgATYCBEHFACEDDMUCC0HPACEDDN0CCwJAAkAgAS0AAEEKaw4EAZABkAEAkAELIAFBAWohAQtBKCEDDMMCCyABIARGBEBB0QAhAwzcAgsgAS0AAEEgRw0AIAFBAWohASACLQAtQQFxRQ3QAQtBFyEDDMECCyABIARHDcsBQdIAIQMM2QILQdMAIQMgASAERg3YAiACKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABB1sIAai0AAEcNxwEgAEEBRg3KASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBjYCAAzYAgsgASAERgRAQdUAIQMM2AILIAEtAABBCkcNwgEgAUEBaiEBDMoBCyABIARGBEBB1gAhAwzXAgsCQAJAIAEtAABBCmsOBADDAcMBAcMBCyABQQFqIQEMygELIAFBAWohAUHKACEDDL0CC0EAIQACQCACKAI4IgNFDQAgAygCPCIDRQ0AIAIgAxEAACEACyAADb8BQc0AIQMMvAILIAItAClBIkYNzwIMiQELIAQgASIFRgRAQdsAIQMM1AILQQAhAEEBIQFBASEGQQAhAwJAAn8CQAJAAkACQAJAAkACQCAFLQAAQTBrDgrFAcQBAAECAwQFBgjDAQtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshA0EAIQFBACEGDL0BC0EJIQNBASEAQQAhAUEAIQYMvAELIAEgBEYEQEHdACEDDNMCCyABLQAAQS5HDbgBIAFBAWohAQyIAQsgASAERw22AUHfACEDDNECCyABIARHBEAgAkEONgIIIAIgATYCBEHQACEDDLgCC0HgACEDDNACC0HhACEDIAEgBEYNzwIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGA0AgAS0AACAAQeLCAGotAABHDbEBIABBA0YNswEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMzwILQeIAIQMgASAERg3OAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYDQCABLQAAIABB5sIAai0AAEcNsAEgAEECRg2vASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAzOAgtB4wAhAyABIARGDc0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgNAIAEtAAAgAEHpwgBqLQAARw2vASAAQQNGDa0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADM0CCyABIARGBEBB5QAhAwzNAgsgAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANqgFB1gAhAwyzAgsgASAERwRAA0AgAS0AACIAQSBHBEACQAJAAkAgAEHIAGsOCwABswGzAbMBswGzAbMBswGzAQKzAQsgAUEBaiEBQdIAIQMMtwILIAFBAWohAUHTACEDDLYCCyABQQFqIQFB1AAhAwy1AgsgBCABQQFqIgFHDQALQeQAIQMMzAILQeQAIQMMywILA0AgAS0AAEHwwgBqLQAAIgBBAUcEQCAAQQJrDgOnAaYBpQGkAQsgBCABQQFqIgFHDQALQeYAIQMMygILIAFBAWogASAERw0CGkHnACEDDMkCCwNAIAEtAABB8MQAai0AACIAQQFHBEACQCAAQQJrDgSiAaEBoAEAnwELQdcAIQMMsQILIAQgAUEBaiIBRw0AC0HoACEDDMgCCyABIARGBEBB6QAhAwzIAgsCQCABLQAAIgBBCmsOGrcBmwGbAbQBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBpAGbAZsBAJkBCyABQQFqCyEBQQYhAwytAgsDQCABLQAAQfDGAGotAABBAUcNfSAEIAFBAWoiAUcNAAtB6gAhAwzFAgsgAUEBaiABIARHDQIaQesAIQMMxAILIAEgBEYEQEHsACEDDMQCCyABQQFqDAELIAEgBEYEQEHtACEDDMMCCyABQQFqCyEBQQQhAwyoAgsgASAERgRAQe4AIQMMwQILAkACQAJAIAEtAABB8MgAai0AAEEBaw4HkAGPAY4BAHwBAo0BCyABQQFqIQEMCwsgAUEBagyTAQtBACEDIAJBADYCHCACQZsSNgIQIAJBBzYCDCACIAFBAWo2AhQMwAILAkADQCABLQAAQfDIAGotAAAiAEEERwRAAkACQCAAQQFrDgeUAZMBkgGNAQAEAY0BC0HaACEDDKoCCyABQQFqIQFB3AAhAwypAgsgBCABQQFqIgFHDQALQe8AIQMMwAILIAFBAWoMkQELIAQgASIARgRAQfAAIQMMvwILIAAtAABBL0cNASAAQQFqIQEMBwsgBCABIgBGBEBB8QAhAwy+AgsgAC0AACIBQS9GBEAgAEEBaiEBQd0AIQMMpQILIAFBCmsiA0EWSw0AIAAhAUEBIAN0QYmAgAJxDfkBC0EAIQMgAkEANgIcIAIgADYCFCACQYwcNgIQIAJBBzYCDAy8AgsgASAERwRAIAFBAWohAUHeACEDDKMCC0HyACEDDLsCCyABIARGBEBB9AAhAwy7AgsCQCABLQAAQfDMAGotAABBAWsOA/cBcwCCAQtB4QAhAwyhAgsgASAERwRAA0AgAS0AAEHwygBqLQAAIgBBA0cEQAJAIABBAWsOAvkBAIUBC0HfACEDDKMCCyAEIAFBAWoiAUcNAAtB8wAhAwy6AgtB8wAhAwy5AgsgASAERwRAIAJBDzYCCCACIAE2AgRB4AAhAwygAgtB9QAhAwy4AgsgASAERgRAQfYAIQMMuAILIAJBDzYCCCACIAE2AgQLQQMhAwydAgsDQCABLQAAQSBHDY4CIAQgAUEBaiIBRw0AC0H3ACEDDLUCCyABIARGBEBB+AAhAwy1AgsgAS0AAEEgRw16IAFBAWohAQxbC0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAADXgMgAILIAEgBEYEQEH6ACEDDLMCCyABLQAAQcwARw10IAFBAWohAUETDHYLQfsAIQMgASAERg2xAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYDQCABLQAAIABB8M4Aai0AAEcNcyAAQQVGDXUgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMsQILIAEgBEYEQEH8ACEDDLECCwJAAkAgAS0AAEHDAGsODAB0dHR0dHR0dHR0AXQLIAFBAWohAUHmACEDDJgCCyABQQFqIQFB5wAhAwyXAgtB/QAhAyABIARGDa8CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDXIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADLACCyACQQA2AgAgBkEBaiEBQRAMcwtB/gAhAyABIARGDa4CIAIoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQfbOAGotAABHDXEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK8CCyACQQA2AgAgBkEBaiEBQRYMcgtB/wAhAyABIARGDa0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQfzOAGotAABHDXAgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK4CCyACQQA2AgAgBkEBaiEBQQUMcQsgASAERgRAQYABIQMMrQILIAEtAABB2QBHDW4gAUEBaiEBQQgMcAsgASAERgRAQYEBIQMMrAILAkACQCABLQAAQc4Aaw4DAG8BbwsgAUEBaiEBQesAIQMMkwILIAFBAWohAUHsACEDDJICCyABIARGBEBBggEhAwyrAgsCQAJAIAEtAABByABrDggAbm5ubm5uAW4LIAFBAWohAUHqACEDDJICCyABQQFqIQFB7QAhAwyRAgtBgwEhAyABIARGDakCIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQYDPAGotAABHDWwgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKoCCyACQQA2AgAgBkEBaiEBQQAMbQtBhAEhAyABIARGDagCIAIoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQYPPAGotAABHDWsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKkCCyACQQA2AgAgBkEBaiEBQSMMbAsgASAERgRAQYUBIQMMqAILAkACQCABLQAAQcwAaw4IAGtra2trawFrCyABQQFqIQFB7wAhAwyPAgsgAUEBaiEBQfAAIQMMjgILIAEgBEYEQEGGASEDDKcCCyABLQAAQcUARw1oIAFBAWohAQxgC0GHASEDIAEgBEYNpQIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBiM8Aai0AAEcNaCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpgILIAJBADYCACAGQQFqIQFBLQxpC0GIASEDIAEgBEYNpAIgAigCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABB0M8Aai0AAEcNZyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpQILIAJBADYCACAGQQFqIQFBKQxoCyABIARGBEBBiQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+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");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var corsSafeListedMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "POST"]
+    );
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = (
+      /** @type {const} */
+      [101, 204, 205, 304]
+    );
+    var redirectStatus = (
+      /** @type {const} */
+      [301, 302, 303, 307, 308]
+    );
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = (
+      /** @type {const} */
+      [
+        "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"
+      ]
+    );
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = (
+      /** @type {const} */
+      [
+        "",
+        "no-referrer",
+        "no-referrer-when-downgrade",
+        "same-origin",
+        "origin",
+        "strict-origin",
+        "origin-when-cross-origin",
+        "strict-origin-when-cross-origin",
+        "unsafe-url"
+      ]
+    );
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = (
+      /** @type {const} */
+      ["follow", "manual", "error"]
+    );
+    var safeMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "OPTIONS", "TRACE"]
+    );
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = (
+      /** @type {const} */
+      ["navigate", "same-origin", "no-cors", "cors"]
+    );
+    var requestCredentials = (
+      /** @type {const} */
+      ["omit", "same-origin", "include"]
+    );
+    var requestCache = (
+      /** @type {const} */
+      [
+        "default",
+        "no-store",
+        "reload",
+        "no-cache",
+        "force-cache",
+        "only-if-cached"
+      ]
+    );
+    var requestBodyHeader = (
+      /** @type {const} */
+      [
+        "content-encoding",
+        "content-language",
+        "content-location",
+        "content-type",
+        // See https://github.com/nodejs/undici/issues/2021
+        // 'Content-Length' is a forbidden header name, which is typically
+        // removed in the Headers implementation. However, undici doesn't
+        // filter out headers, so we add it here.
+        "content-length"
+      ]
+    );
+    var requestDuplex = (
+      /** @type {const} */
+      [
+        "half"
+      ]
+    );
+    var forbiddenMethods = (
+      /** @type {const} */
+      ["CONNECT", "TRACE", "TRACK"]
+    );
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = (
+      /** @type {const} */
+      [
+        "audio",
+        "audioworklet",
+        "font",
+        "image",
+        "manifest",
+        "paintworklet",
+        "script",
+        "style",
+        "track",
+        "video",
+        "xslt",
+        ""
+      ]
+    );
+    var subresourceSet = new Set(subresource);
+    module2.exports = {
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
+      }
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
+    }
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function percentDecode(input) {
+      const length = input.length;
+      const output = new Uint8Array(length);
+      let j = 0;
+      for (let i = 0; i < length; ++i) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output[j++] = byte;
+        } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) {
+          output[j++] = 37;
+        } else {
+          output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]);
+          i += 2;
+        }
+      }
+      return length === j ? output : output.subarray(0, j);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
+      }
+      if (position.position > input.length) {
+        return "failure";
+      }
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
+      }
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
+          }
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+        } else {
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
+          }
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
+    }
+    function forgivingBase64(data) {
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
+          }
+        }
+      }
+      if (dataLength % 4 === 1) {
+        return "failure";
+      }
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
+      }
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
+    }
+    function isomorphicDecode(input) {
+      const length = input.length;
+      if ((2 << 15) - 1 > length) {
+        return String.fromCharCode.apply(null, input);
+      }
+      let result = "";
+      let i = 0;
+      let addition = (2 << 15) - 1;
+      while (i < length) {
+        if (i + addition > length) {
+          addition = length - i;
+        }
+        result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
+      }
+      return result;
+    }
+    function minimizeSupportedMimeType(mimeType) {
+      switch (mimeType.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";
+      }
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
+      }
+      if (mimeType.subtype.endsWith("+xml")) {
+        return "application/xml";
+      }
+      return "";
+    }
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType,
+      removeChars,
+      removeHTTPWhitespace,
+      minimizeSupportedMimeType,
+      HTTP_TOKEN_CODEPOINTS,
+      isomorphicDecode
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts) {
+      if (opts?.strict !== false) {
+        if (!(V instanceof I)) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      } else {
+        if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      }
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          header: ctx
+        });
+      }
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
+      });
+    };
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
+          }
+          return "Object";
+        }
+      }
+    };
+    webidl.util.markAsUncloneable = markAsUncloneable || (() => {
+    });
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
+        }
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
+      }
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
+      }
+      if (opts?.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
+          });
+        }
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
+        }
+        return x;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
+      }
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
+      }
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
+      }
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
+      }
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        let index = 0;
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} is not iterable.`
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O, prefix, argument) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} ("${webidl.util.Type(O)}") is not an Object.`
+          });
+        }
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
+          for (const key of keys2) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+          return result;
+        }
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+        }
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, prefix, argument, opts) => {
+        if (opts?.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.`
+          });
+        }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary, prefix, argument) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
+          });
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!Object.hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = Object.hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value ??= defaultValue();
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value, prefix, `${argument}.${key}`);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V, prefix, argument) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V, prefix, argument);
+      };
+    };
+    webidl.converters.DOMString = function(V, prefix, argument, opts) {
+      if (V === null && opts?.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${argument} is a symbol, which cannot be converted to a DOMString.`
+        });
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V, prefix, argument) {
+      const x = webidl.converters.DOMString(V, prefix, argument);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
+      }
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, prefix, argument, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${argument} ("${webidl.util.Stringify(V)}")`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.resizable || V.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${name} ("${webidl.util.Stringify(V)}")`,
+          types: [T.name]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${name} is not a DataView.`
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, prefix, name, opts) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false });
+      }
+      throw webidl.errors.conversionFailed({
+        prefix,
+        argument: `${name} ("${webidl.util.Stringify(V)}")`,
+        types: ["BufferSource"]
+      });
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance2 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
+      }
+      let location = response.headersList.get("location", true);
+      if (location !== null && isValidHeaderValue(location)) {
+        if (!isValidEncodedURL(location)) {
+          location = normalizeBinaryStringToUtf8(location);
+        }
+        location = new URL(location, responseURL(response));
+      }
+      if (location && !location.hash) {
+        location.hash = requestFragment;
+      }
+      return location;
+    }
+    function isValidEncodedURL(url) {
+      for (let i = 0; i < url.length; ++i) {
+        const code = url.charCodeAt(i);
+        if (code > 126 || // Non-US-ASCII + DEL
+        code < 32) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function normalizeBinaryStringToUtf8(value) {
+      return Buffer.from(value, "binary").toString("utf8");
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
+        return "blocked";
+      }
+      return "allowed";
+    }
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var isValidHeaderName = isValidHTTPToken;
+    function isValidHeaderValue(potentialValue) {
+      return (potentialValue[0] === "	" || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === "	" || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
+    }
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
+          }
+        }
+      }
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
+      }
+    }
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header, true);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (serializedOrigin === "client" || serializedOrigin === void 0) {
+        return;
+      }
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        request2.headersList.append("origin", serializedOrigin, true);
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
+        }
+        request2.headersList.append("origin", serializedOrigin, true);
+      }
+    }
+    function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
+      if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
+        return {
+          domainLookupStartTime: defaultStartTime,
+          domainLookupEndTime: defaultStartTime,
+          connectionStartTime: defaultStartTime,
+          connectionEndTime: defaultStartTime,
+          secureConnectionStartTime: defaultStartTime,
+          ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
+        };
+      }
+      return {
+        domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
+        domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
+        connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
+        connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
+        secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
+        ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
+      };
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return coarsenTime(performance2.now(), crossOriginIsolatedCapability);
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
+      };
+    }
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
+      };
+    }
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
+      };
+    }
+    function determineRequestsReferrer(request2) {
+      const policy = request2.referrerPolicy;
+      assert(policy);
+      let referrerSource = null;
+      if (request2.referrer === "client") {
+        const globalOrigin = getGlobalOrigin();
+        if (!globalOrigin || globalOrigin.origin === "null") {
+          return "no-referrer";
+        }
+        referrerSource = new URL(globalOrigin);
+      } else if (request2.referrer instanceof URL) {
+        referrerSource = request2.referrer;
+      }
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
+      }
+      const areSameOrigin = sameOrigin(request2, referrerURL);
+      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
+      switch (policy) {
+        case "origin":
+          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
+        case "unsafe-url":
+          return referrerURL;
+        case "same-origin":
+          return areSameOrigin ? referrerOrigin : "no-referrer";
+        case "origin-when-cross-origin":
+          return areSameOrigin ? referrerURL : referrerOrigin;
+        case "strict-origin-when-cross-origin": {
+          const currentURL = requestCurrentURL(request2);
+          if (sameOrigin(referrerURL, currentURL)) {
+            return referrerURL;
+          }
+          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
+            return "no-referrer";
+          }
+          return referrerOrigin;
+        }
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    function stripURLForReferrer(url, originOnly) {
+      assert(url instanceof URL);
+      url = new URL(url);
+      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
+        return "no-referrer";
+      }
+      url.username = "";
+      url.password = "";
+      url.hash = "";
+      if (originOnly) {
+        url.pathname = "";
+        url.search = "";
+      }
+      return url;
+    }
+    function isURLPotentiallyTrustworthy(url) {
+      if (!(url instanceof URL)) {
+        return false;
+      }
+      if (url.href === "about:blank" || url.href === "about:srcdoc") {
+        return true;
+      }
+      if (url.protocol === "data:") return true;
+      if (url.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url.origin);
+      function isOriginPotentiallyTrustworthy(origin) {
+        if (origin == null || origin === "null") return false;
+        const originAsURL = new URL(origin);
+        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
+          return true;
+        }
+        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
+          return true;
+        }
+        return false;
+      }
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto2 === void 0) {
+        return true;
+      }
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
+      }
+      if (parsedMetadata.length === 0) {
+        return true;
+      }
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
+          } else {
+            actualValue = actualValue.slice(0, -1);
+          }
+        }
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
+        }
+      }
+      return false;
+    }
+    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
+    function parseMetadata(metadata) {
+      const result = [];
+      let empty = true;
+      for (const token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
+          continue;
+        }
+        const algorithm = parsedToken.groups.algo.toLowerCase();
+        if (supportedHashes.includes(algorithm)) {
+          result.push(parsedToken.groups);
+        }
+      }
+      if (empty === true) {
+        return "no metadata";
+      }
+      return result;
+    }
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
+      }
+      for (let i = 1; i < metadataList.length; ++i) {
+        const metadata = metadataList[i];
+        if (metadata.algo[3] === "5") {
+          algorithm = "sha512";
+          break;
+        } else if (algorithm[3] === "3") {
+          continue;
+        } else if (metadata.algo[3] === "3") {
+          algorithm = "sha384";
+        }
+      }
+      return algorithm;
+    }
+    function filterMetadataListByAlgorithm(metadataList, algorithm) {
+      if (metadataList.length === 1) {
+        return metadataList;
+      }
+      let pos = 0;
+      for (let i = 0; i < metadataList.length; ++i) {
+        if (metadataList[i].algo === algorithm) {
+          metadataList[pos++] = metadataList[i];
+        }
+      }
+      metadataList.length = pos;
+      return metadataList;
+    }
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
+        return false;
+      }
+      for (let i = 0; i < actualValue.length; ++i) {
+        if (actualValue[i] !== expectedValue[i]) {
+          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
+            continue;
+          }
+          return false;
+        }
+      }
+      return true;
+    }
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
+    }
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
+      }
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
+      }
+      return false;
+    }
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve4, reject) => {
+        res = resolve4;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream) {
+      return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+        controller.byobRequest?.respond(0);
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
+          throw err;
+        }
+      }
+    }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
+    function isomorphicEncode(input) {
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
+      return input;
+    }
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
+        }
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
+        }
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
+    }
+    function urlIsLocal(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url) {
+      return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    function simpleRangeHeaderValue(value, allowWhitespace) {
+      const data = value;
+      if (!data.startsWith("bytes")) {
+        return "failure";
+      }
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeStart = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeEnd = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
+      if (position.position < data.length) {
+        return "failure";
+      }
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
+      }
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
+      }
+      return { rangeStartValue, rangeEndValue };
+    }
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
+    }
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
+      }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
+          }
+          this._inflateStream = (chunk[0] & 15) === 8 ? zlib.createInflate(this.#zlibOptions) : zlib.createInflateRaw(this.#zlibOptions);
+          this._inflateStream.on("data", this.push.bind(this));
+          this._inflateStream.on("end", () => this.push(null));
+          this._inflateStream.on("error", (err) => this.destroy(err));
+        }
+        this._inflateStream.write(chunk, encoding, callback);
+      }
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
+        }
+        callback();
+      }
+    };
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
+    }
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
+      }
+      for (const value of values) {
+        const temporaryMimeType = parseMIMEType(value);
+        if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
+          continue;
+        }
+        mimeType = temporaryMimeType;
+        if (mimeType.essence !== essence) {
+          charset = null;
+          if (mimeType.parameters.has("charset")) {
+            charset = mimeType.parameters.get("charset");
+          }
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
+        }
+      }
+      if (mimeType == null) {
+        return "failure";
+      }
+      return mimeType;
+    }
+    function gettingDecodingSplitting(value) {
+      const input = value;
+      const position = { position: 0 };
+      const values = [];
+      let temporaryValue = "";
+      while (position.position < input.length) {
+        temporaryValue += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== ",",
+          input,
+          position
+        );
+        if (position.position < input.length) {
+          if (input.charCodeAt(position.position) === 34) {
+            temporaryValue += collectAnHTTPQuotedString(
+              input,
+              position
+            );
+            if (position.position < input.length) {
+              continue;
+            }
+          } else {
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
+          }
+        }
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
+      }
+      return values;
+    }
+    function getDecodeSplit(name, list) {
+      const value = list.get(name, true);
+      if (value === null) {
+        return null;
+      }
+      return gettingDecodingSplitting(value);
+    }
+    var textDecoder = new TextDecoder();
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
+      }
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
+      }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      isValidEncodedURL,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      iteratorMixin,
+      createIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
+      }
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
+      }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
+      }
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
+      }
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
+      }
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
+      }
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
+      }
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
+      }
+      get [Symbol.toStringTag]() {
+        return "File";
+      }
+    };
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
+      }
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.append";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
+      }
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      }
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.get";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
+      }
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.getAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.set";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
+        } else {
+          this[kState].push(entry);
+        }
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        const state = this[kState].reduce((a, b) => {
+          if (a[b.name]) {
+            if (Array.isArray(a[b.name])) {
+              a[b.name].push(b.value);
+            } else {
+              a[b.name] = [a[b.name], b.value];
+            }
+          } else {
+            a[b.name] = b.value;
+          }
+          return a;
+        }, { __proto__: null });
+        options.depth ??= depth;
+        options.colors ??= true;
+        const output = nodeUtil.formatWithOptions(options, state);
+        return `FormData ${output.slice(output.indexOf("]") + 2)}`;
+      }
+    };
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      if (typeof value === "string") {
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { Blob: Blob2 } = require("node:buffer");
+    var assert = require("node:assert");
+    var { isErrored, isDisturbed } = require("node:stream");
+    var { isArrayBuffer } = require("node:util/types");
+    var { serializeAMimeType } = require_data_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var textEncoder = new TextEncoder();
+    function noop3() {
+    }
+    var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
+    var streamRegistry;
+    if (hasFinalizationRegistry) {
+      streamRegistry = new FinalizationRegistry((weakRef) => {
+        const stream = weakRef.deref();
+        if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) {
+          stream.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream = null;
+      if (object instanceof ReadableStream) {
+        stream = object;
+      } else if (isBlobLike(object)) {
+        stream = object.stream();
+      } else {
+        stream = new ReadableStream({
+          async pull(controller) {
+            const buffer = typeof source === "string" ? textEncoder.encode(source) : source;
+            if (buffer.byteLength) {
+              controller.enqueue(buffer);
+            }
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: "bytes"
+        });
+      }
+      assert(isReadableStreamLike(stream));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
+            }
+          }
+        }
+        const chunk = textEncoder.encode(`--${boundary}--\r
+`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream = new ReadableStream({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+                controller.byobRequest?.respond(0);
+              });
+            } else {
+              if (!isErrored(stream)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  for (const [name, value2] of entries) {
+                    fd.append(name, value2);
+                  }
+                  return fd;
+                }
+              }
+            }
+            throw new TypeError(
+              'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
+            );
+          }, instance);
+        },
+        bytes() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes);
+          }, instance);
+        }
+      };
+      return methods;
+    }
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function consumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      if (bodyUnusable(object)) {
+        throw new TypeError("Body is unusable: Body has already been read");
+      }
+      throwIfAborted(object[kState]);
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kParser,
+      kBlocking,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kMaxRequests,
+      kCounter,
+      kMaxResponseSize,
+      kOnError,
+      kResume,
+      kHTTPContext
+    } = require_symbols6();
+    var constants = require_constants7();
+    var EMPTY_BUF = Buffer.alloc(0);
+    var FastBuffer = Buffer[Symbol.species];
+    var addListener = util.addListener;
+    var removeAllListeners = util.removeAllListeners;
+    var extractBody;
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageComplete() || 0;
+          }
+          /* eslint-enable camelcase */
+        }
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var USE_NATIVE_TIMER = 0;
+    var USE_FAST_TIMER = 1;
+    var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
+    var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
+    var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
+      }
+      setTimeout(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.timeoutType = type2;
+      }
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
+        }
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
+      }
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
+          }
+          this.execute(chunk);
+        }
+      }
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
+          }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
+        }
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
+        try {
+          let ret;
+          try {
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
+          } catch (err) {
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
+          }
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
+            }
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
+          }
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+      }
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        this.timeout && timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
+      }
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        request2.onResponseStarted();
+      }
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        this.trackHeader(buf.length);
+      }
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        const key = this.headers[len - 2];
+        if (key.length === 10) {
+          const headerName = util.bufferToLowerCasedHeaderName(key);
+          if (headerName === "keep-alive") {
+            this.keepAlive += buf.toString();
+          } else if (headerName === "connection") {
+            this.connection += buf.toString();
+          }
+        } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") {
+          this.contentLength += buf.toString();
+        }
+        this.trackHeader(buf.length);
+      }
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
+        }
+      }
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        assert(client[kSocket] === socket);
+        assert(!socket.destroyed);
+        assert(!this.paused);
+        assert((headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        removeAllListeners(socket);
+        client[kSocket] = null;
+        client[kHTTPContext] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+        client[kResume]();
+      }
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
+        }
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
+        }
+        assert(this.timeoutType === TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        assert((this.headers.length & 1) === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
+            );
+            if (timeout <= 0) {
+              socket[kReset] = true;
+            } else {
+              client[kKeepAliveTimeoutValue] = timeout;
+            }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+          }
+        } else {
+          socket[kReset] = true;
+        }
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
+        }
+        if (request2.method === "HEAD") {
+          return 1;
+        }
+        if (statusCode < 200) {
+          return 1;
+        }
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          client[kResume]();
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
+        }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
+        }
+      }
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
+        }
+        if (upgrade) {
+          return;
+        }
+        assert(statusCode >= 100);
+        assert((this.headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert(client[kRunning] === 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] == null || client[kPipelining] === 1) {
+          setImmediate(() => client[kResume]());
+        } else {
+          client[kResume]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client, paused } = parser.deref();
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
+      }
+    }
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
+      }
+      socket[kNoRef] = false;
+      socket[kWriting] = false;
+      socket[kReset] = false;
+      socket[kBlocking] = false;
+      socket[kParser] = new Parser(client, socket, llhttpInstance);
+      addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        const parser = this[kParser];
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        this[kError] = err;
+        this[kClient][kOnError](err);
       });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      addListener(socket, "end", function() {
+        const parser = this[kParser];
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      addListener(socket, "close", function() {
+        const client2 = this[kClient];
+        const parser = this[kParser];
+        if (parser) {
+          if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+            parser.onMessageComplete();
+          }
+          this[kParser].destroy();
+          this[kParser] = null;
+        }
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client2[kSocket] = null;
+        client2[kHTTPContext] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+          const request2 = client2[kQueue][client2[kRunningIdx]];
+          client2[kQueue][client2[kRunningIdx]++] = null;
+          util.errorRequest(client2, request2, err);
+        }
+        client2[kPendingIdx] = client2[kRunningIdx];
+        assert(client2[kRunning] === 0);
+        client2.emit("disconnect", client2[kUrl], [client2], err);
+        client2[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h1",
+        defaultPipelining: 1,
+        write(...args) {
+          return writeH1(client, ...args);
+        },
+        resume() {
+          resumeH1(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy(request2) {
+          if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+            return true;
+          }
+          if (request2) {
+            if (client[kRunning] > 0 && !request2.idempotent) {
+              return true;
+            }
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
+            }
+            if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) {
+              return true;
+            }
+          }
+          return false;
+        }
+      };
+    }
+    function resumeH1(client) {
+      const socket = client[kSocket];
+      if (socket && !socket.destroyed) {
+        if (client[kSize] === 0) {
+          if (!socket[kNoRef] && socket.unref) {
+            socket.unref();
+            socket[kNoRef] = true;
+          }
+        } else if (socket[kNoRef] && socket.ref) {
+          socket.ref();
+          socket[kNoRef] = false;
+        }
+        if (client[kSize] === 0) {
+          if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
+            socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
+          }
+        } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+          if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+            const request2 = client[kQueue][client[kRunningIdx]];
+            const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];
+            socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          }
+        }
+      }
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH1(client, request2) {
+      const { method, path: path5, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path5} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    webidl.argumentLengthCheck = function({ length }, min, ctx) {
-      if (length < min) {
-        throw webidl.errors.exception({
-          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
-          ...ctx
-        });
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
       }
-    };
-    webidl.illegalConstructor = function() {
-      throw webidl.errors.exception({
-        header: "TypeError",
-        message: "Illegal constructor"
-      });
-    };
-    webidl.util.Type = function(V) {
-      switch (typeof V) {
-        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": {
-          if (V === null) {
-            return "Null";
+      if (Array.isArray(headers)) {
+        for (let n = 0; n < headers.length; n += 2) {
+          const key = headers[n + 0];
+          const val = headers[n + 1];
+          if (Array.isArray(val)) {
+            for (let i = 0; i < val.length; i++) {
+              header += `${key}: ${val[i]}\r
+`;
+            }
+          } else {
+            header += `${key}: ${val}\r
+`;
           }
-          return "Object";
         }
       }
-    };
-    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
-      let upperBound;
-      let lowerBound;
-      if (bitLength === 64) {
-        upperBound = Math.pow(2, 53) - 1;
-        if (signedness === "unsigned") {
-          lowerBound = 0;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } else if (signedness === "unsigned") {
-        lowerBound = 0;
-        upperBound = Math.pow(2, bitLength) - 1;
-      } else {
-        lowerBound = Math.pow(-2, bitLength) - 1;
-        upperBound = Math.pow(2, bitLength - 1) - 1;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (opts.enforceRange === true) {
-        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Could not convert ${V} to an integer.`
-          });
-        }
-        x = webidl.util.IntegerPart(x);
-        if (x < lowerBound || x > upperBound) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      x = webidl.util.IntegerPart(x);
-      x = x % Math.pow(2, bitLength);
-      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
-        return x - Math.pow(2, bitLength);
+      const waitForDrain = () => new Promise((resolve4, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve4;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    var AsyncWriter = class {
+      constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        this.abort = abort;
+        socket[kWriting] = true;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+        if (socket.destroyed) {
+          return false;
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
+        }
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          seq2.push(converter(value));
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
+          } else {
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          }
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
+        }
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
+            }
           }
-          return result;
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        return ret;
+      }
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
+        }
+        if (socket.destroyed) {
+          return;
+        }
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            socket.write(`${header}\r
+`, "latin1");
           }
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
+          }
         }
-        return V;
-      };
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
+        }
+        client[kResume]();
+      }
+      destroy(err) {
+        const { socket, client, abort } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          abort(err);
+        }
+      }
     };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
+    var util = require_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ Symbol("open streams");
+    var extractBody;
+    var h2ExperimentalWarned = false;
+    var http2;
+    try {
+      http2 = require("node:http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
+      }
+    } = http2;
+    function parseH2Headers(headers) {
+      const result = [];
+      for (const [name, value] of Object.entries(headers)) {
+        if (Array.isArray(value)) {
+          for (const subvalue of value) {
+            result.push(Buffer.from(name), Buffer.from(subvalue));
+          }
+        } else {
+          result.push(Buffer.from(name), Buffer.from(value));
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
+      }
+      return result;
+    }
+    async function connectH2(client, socket) {
+      client[kSocket] = socket;
+      if (!h2ExperimentalWarned) {
+        h2ExperimentalWarned = true;
+        process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+          code: "UNDICI-H2"
+        });
+      }
+      const session = http2.connect(client[kUrl], {
+        createConnection: () => socket,
+        peerMaxConcurrentStreams: client[kMaxConcurrentStreams]
+      });
+      session[kOpenStreams] = 0;
+      session[kClient] = client;
+      session[kSocket] = socket;
+      util.addListener(session, "error", onHttp2SessionError);
+      util.addListener(session, "frameError", onHttp2FrameError);
+      util.addListener(session, "end", onHttp2SessionEnd);
+      util.addListener(session, "goaway", onHTTP2GoAway);
+      util.addListener(session, "close", function() {
+        const { [kClient]: client2 } = this;
+        const { [kSocket]: socket2 } = client2;
+        const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2));
+        client2[kHTTP2Session] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+      });
+      session.unref();
+      client[kHTTP2Session] = session;
+      socket[kHTTP2Session] = session;
+      util.addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      util.addListener(socket, "end", function() {
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      util.addListener(socket, "close", function() {
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client[kSocket] = null;
+        if (this[kHTTP2Session] != null) {
+          this[kHTTP2Session].destroy(err);
+        }
+        client[kPendingIdx] = client[kRunningIdx];
+        assert(client[kRunning] === 0);
+        client.emit("disconnect", client[kUrl], [client], err);
+        client[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h2",
+        defaultPipelining: Infinity,
+        write(...args) {
+          return writeH2(client, ...args);
+        },
+        resume() {
+          resumeH2(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy() {
+          return false;
+        }
+      };
+    }
+    function resumeH2(client) {
+      const socket = client[kSocket];
+      if (socket?.destroyed === false) {
+        if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {
+          socket.unref();
+          client[kHTTP2Session].unref();
+        } else {
+          socket.ref();
+          client[kHTTP2Session].ref();
+        }
+      }
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
+      }
+    }
+    function onHttp2SessionEnd() {
+      const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket]));
+      this.destroy(err);
+      util.destroy(this[kSocket], err);
+    }
+    function onHTTP2GoAway(code) {
+      const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this));
+      const client = this[kClient];
+      client[kSocket] = null;
+      client[kHTTPContext] = null;
+      if (this[kHTTP2Session] != null) {
+        this[kHTTP2Session].destroy(err);
+        this[kHTTP2Session] = null;
+      }
+      util.destroy(this[kSocket], err);
+      if (client[kRunningIdx] < client[kQueue].length) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        util.errorRequest(client, request2, err);
+        client[kPendingIdx] = client[kRunningIdx];
+      }
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      client[kResume]();
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH2(client, request2) {
+      const session = client[kHTTP2Session];
+      const { method, path: path5, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
             }
-            dict[key] = value;
           }
+        } else {
+          headers[key] = val;
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+      }
+      let stream;
+      const { hostname, port } = client[kUrl];
+      headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
+      headers[HTTP2_HEADER_METHOD] = method;
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream != null) {
+          util.destroy(stream, err);
         }
-        return converter(V);
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
       };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+      if (request2.aborted) {
+        return false;
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      for (let index = 0; index < x.length; index++) {
-        if (x.charCodeAt(index) > 255) {
-          throw new TypeError(
-            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
-          );
+      if (method === "CONNECT") {
+        session.ref();
+        stream = session.request(headers, { endStream: false, signal });
+        if (stream.id && !stream.pending) {
+          request2.onUpgrade(null, null, stream);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream.once("ready", () => {
+            request2.onUpgrade(null, null, stream);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
         }
-      }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+        stream.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
         });
+        return true;
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+      headers[HTTP2_HEADER_PATH] = path5;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
+      ++session[kOpenStreams];
+      stream.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        request2.onResponseStarted();
+        if (request2.aborted) {
+          const err = new RequestAbortedError();
+          util.errorRequest(client, request2, err);
+          util.destroy(stream, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) {
+          stream.pause();
+        }
+        stream.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream.pause();
+          }
+        });
+      });
+      stream.once("end", () => {
+        if (stream.state?.state == null || stream.state.state < 6) {
+          request2.onComplete([]);
+        }
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
+      });
+      stream.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream.once("error", function(err) {
+        abort(err);
+      });
+      stream.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
       }
-      const href = url.href;
-      const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
     }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      return result;
     }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
     }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return Uint8Array.from(output);
     }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        return "failure";
-      }
-      if (position.position > input.length) {
-        return "failure";
-      }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      const typeLowercase = type2.toLowerCase();
-      const subtypeLowercase = subtype.toLowerCase();
-      const mimeType = {
-        type: typeLowercase,
-        subtype: subtypeLowercase,
-        /** @type {Map} */
-        parameters: /* @__PURE__ */ new Map(),
-        // https://mimesniff.spec.whatwg.org/#mime-type-essence
-        essence: `${typeLowercase}/${subtypeLowercase}`
-      };
-      while (position.position < input.length) {
-        position.position++;
-        collectASequenceOfCodePoints(
-          // https://fetch.spec.whatwg.org/#http-whitespace
-          (char) => HTTP_WHITESPACE_REGEX.test(char),
-          input,
-          position
-        );
-        let parameterName = collectASequenceOfCodePoints(
-          (char) => char !== ";" && char !== "=",
-          input,
-          position
-        );
-        parameterName = parameterName.toLowerCase();
-        if (position.position < input.length) {
-          if (input[position.position] === ";") {
-            continue;
+      const waitForDrain = () => new Promise((resolve4, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve4;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
           }
-          position.position++;
         }
-        if (position.position > input.length) {
-          break;
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
+      }
+    }
+    module2.exports = connectH2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        let parameterValue = null;
-        if (input[position.position] === '"') {
-          parameterValue = collectAnHTTPQuotedString(input, position, true);
-          collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-        } else {
-          parameterValue = collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
-          if (parameterValue.length === 0) {
-            continue;
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        this.redirectionLimitReached = false;
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
           }
-        }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
+          }
+        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
         }
       }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      if (data.length % 4 === 1) {
-        return "failure";
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
+          if (this.request) {
+            this.request.abort(new Error("max redirects"));
+          }
+          this.redirectionLimitReached = true;
+          this.abort(new Error("max redirects"));
+          return;
+        }
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
+        }
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        }
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path5 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path5;
+        this.opts.origin = origin;
+        this.opts.maxRedirections = 0;
+        this.opts.query = null;
+        if (statusCode === 303 && this.opts.method !== "HEAD") {
+          this.opts.method = "GET";
+          this.opts.body = null;
+        }
       }
-      return bytes;
-    }
-    function collectAnHTTPQuotedString(input, position, extractValue) {
-      const positionStart = position.position;
-      let value = "";
-      assert(input[position.position] === '"');
-      position.position++;
-      while (true) {
-        value += collectASequenceOfCodePoints(
-          (char) => char !== '"' && char !== "\\",
-          input,
-          position
-        );
-        if (position.position >= input.length) {
-          break;
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        const quoteOrBackslash = input[position.position];
-        position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
-            break;
-          }
-          value += input[position.position];
-          position.position++;
+      }
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
         } else {
-          assert(quoteOrBackslash === '"');
-          break;
+          this.handler.onComplete(trailers);
         }
       }
-      if (extractValue) {
-        return value;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      return input.slice(positionStart, position.position);
-    }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
+      }
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
+          return headers[i + 1];
         }
-        serialization += value;
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
-    }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      return false;
+    }
+    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
+      const ret = [];
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
+            ret.push(headers[i], headers[i + 1]);
+          }
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
+          }
+        }
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-      return str2.slice(lead, trail + 1);
+      return ret;
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
+    var RedirectHandler = require_redirect_handler2();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
           }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
         };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
+      };
+    }
+    module2.exports = createRedirectInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    var {
+      kUrl,
+      kServerName,
+      kClient,
+      kBusy,
+      kConnect,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
+    } = require_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var noop3 = () => {
     };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
-        };
-      }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
+    function getPipelining(client) {
+      return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
+    }
+    var Client = class extends DispatcherBase {
+      /**
+       *
+       * @param {string|URL} url
+       * @param {import('../../types/client.js').Client.Options} options
+       */
+      constructor(url, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        maxConcurrentStreams,
+        allowH2
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
+        }
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
+        }
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
+        }
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
+        }
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
+        }
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
+        }
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
+        }
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
+        }
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
+        }
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        }
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        }
+        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        }
+        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        }
+        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+        }
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        }
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        }
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        }
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
+        }
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
+        }
+        if (interceptors?.Client && Array.isArray(interceptors.Client)) {
+          this[kInterceptors] = interceptors.Client;
+          if (!deprecatedInterceptorWarned) {
+            deprecatedInterceptorWarned = true;
+            process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", {
+              code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"
+            });
+          }
+        } else {
+          this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })];
+        }
+        this[kUrl] = util.parseOrigin(url);
+        this[kConnector] = connect2;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
+        this[kHTTPContext] = null;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
+        this[kResume] = (sync) => resume(this, sync);
+        this[kOnError] = (err) => onError(this, err);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      get pipelining() {
+        return this[kPipelining];
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      get [kConnected]() {
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      get [kBusy]() {
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = new Request(origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          queueMicrotask(() => resume(this));
+        } else {
+          this[kResume](true);
         }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      async [kClose]() {
+        return new Promise((resolve4) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve4;
+          } else {
+            resolve4(null);
           }
-          return value;
-        },
-        defaultValue: "transparent"
+        });
       }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
+      async [kDestroy](err) {
+        return new Promise((resolve4) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(this, request2, err);
+          }
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
+            }
+            resolve4(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+            queueMicrotask(callback);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
+          this[kResume]();
+        });
+      }
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          util.errorRequest(client, request2, err);
         }
+        assert(client[kSize] === 0);
       }
-      return bytes;
     }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kHTTPContext]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      return s.replace(/\r?\n/g, nativeLineEnding);
-    }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
-    }
-    module2.exports = { File: File2, FileLike, isFileLike };
-  }
-});
-
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
-    "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            version: client[kHTTPContext]?.version,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
+      }
+      try {
+        const socket = await new Promise((resolve4, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve4(socket2);
+            }
           });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        assert(socket);
+        try {
+          client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket);
+        } catch (err) {
+          socket.destroy().on("error", noop3);
+          throw err;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        client[kConnecting] = false;
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
+        }
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            util.errorRequest(client, request2, err);
+          }
         } else {
-          this[kState].push(entry);
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
       }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
+          } else {
+            emitDrain(client);
+          }
+          continue;
+        }
+        if (client[kPending] === 0) {
+          return;
+        }
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
+        }
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
+          }
+          client[kServerName] = request2.servername;
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
+        }
+        if (client[kConnecting]) {
+          return;
+        }
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
+        }
+        if (client[kHTTPContext].destroyed) {
+          return;
+        }
+        if (client[kHTTPContext].busy(request2)) {
+          return;
+        }
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
       }
-      return { name, value };
     }
-    module2.exports = { FormData: FormData2 };
+    module2.exports = Client;
   }
 });
 
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
     "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
+      constructor() {
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-      let stream = null;
-      if (object instanceof ReadableStream2) {
-        stream = object;
-      } else if (isBlobLike(object)) {
-        stream = object.stream();
-      } else {
-        stream = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      assert(isReadableStreamLike(stream));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
-      } else if (isArrayBuffer(object)) {
-        source = new Uint8Array(object.slice());
-      } else if (ArrayBuffer.isView(object)) {
-        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
-      } else if (util.isFormDataLike(object)) {
-        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
-        const prefix = `--${boundary}\r
-Content-Disposition: form-data`;
-        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
-        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
-        const blobParts = [];
-        const rn = new Uint8Array([13, 10]);
-        length = 0;
-        let hasUnknownSizeValue = false;
-        for (const [name, value] of object) {
-          if (typeof value === "string") {
-            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
-\r
-${normalizeLinefeeds(value)}\r
-`);
-            blobParts.push(chunk2);
-            length += chunk2.byteLength;
-          } else {
-            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
-Content-Type: ${value.type || "application/octet-stream"}\r
-\r
-`);
-            blobParts.push(chunk2, value, rn);
-            if (typeof value.size === "number") {
-              length += chunk2.byteLength + value.size + rn.byteLength;
-            } else {
-              hasUnknownSizeValue = true;
-            }
-          }
-        }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
-        }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
-        }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
-        }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
-        }
-        stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      if (action != null) {
-        let iterator2;
-        stream = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
       }
-      const body = { stream, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream = body.stream;
-          if (util.isDisturbed(stream)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream[kBodyUsed] = true;
-          yield* stream;
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
+        return next;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve4, reject) => {
-              busboy.on("finish", resolve4);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
-            }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
-          }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
-        }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+      get free() {
+        return this[kPool][kFree];
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
-    }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
+      get pending() {
+        return this[kPool][kPending];
       }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+      get queued() {
+        return this[kPool][kQueued];
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
     };
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path5,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path5 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path5[0] !== "/" && !(path5.startsWith("http://") || path5.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path5) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
-        }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
-          }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
+      constructor() {
+        super();
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
             }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path5, query) : path5;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
-        }
+        };
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
-        }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
-        }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
+        return ret;
       }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      get stats() {
+        return this[kStats];
       }
-      onComplete(trailers) {
-        this.onFinally();
-        assert(!this.aborted);
-        this.completed = true;
-        if (channels.trailers.hasSubscribers) {
-          channels.trailers.publish({ request: this, trailers });
-        }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve4) => {
+            this[kClosedResolve] = resolve4;
+          });
         }
       }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
-        }
-        if (this.aborted) {
-          return;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
-        }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
         }
+        return !this[kNeedDrain];
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          queueMicrotask(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
+            }
+          });
+        }
         return this;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
-      }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
         }
-        return headers;
-      }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
+        this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
             }
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
-        }
-      }
-    }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
-      }
-      close() {
-        throw new Error("not implemented");
+        });
       }
-      destroy() {
-        throw new Error("not implemented");
+      [kGetDispatcher]() {
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
+          }
+        }
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+          return dispatcher;
+        }
       }
     };
-    module2.exports = Dispatcher;
+    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
     var {
-      ClientDestroyedError,
-      ClientClosedError,
+      BalancedPoolMissingUpstreamError,
       InvalidArgumentError
     } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
-      constructor() {
-        super();
-        this[kDestroyed] = false;
-        this[kOnDestroyed] = null;
-        this[kClosed] = false;
-        this[kOnClosed] = [];
-      }
-      get destroyed() {
-        return this[kDestroyed];
-      }
-      get closed() {
-        return this[kClosed];
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-      get interceptors() {
-        return this[kInterceptors];
+      return a;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
+        }
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
       }
-      set interceptors(newInterceptors) {
-        if (newInterceptors) {
-          for (let i = newInterceptors.length - 1; i >= 0; i--) {
-            const interceptor = this[kInterceptors][i];
-            if (typeof interceptor !== "function") {
-              throw new InvalidArgumentError("interceptor must be an function");
-            }
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
+        }
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
           }
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
         }
-        this[kInterceptors] = newInterceptors;
+        this._updateBalancedPoolStats();
+        return this;
       }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve4, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve4(data);
-            });
-          });
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        this[kGreatestCommonDivisor] = result;
+      }
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+        return this;
+      }
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      }
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
+        }
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
           return;
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
           return;
         }
-        this[kClosed] = true;
-        this[kOnClosed].push(callback);
-        const onClosed = () => {
-          const callbacks = this[kOnClosed];
-          this[kOnClosed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
+          }
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
+            }
+          }
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
           }
-        };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
         }
-        if (callback === void 0) {
-          return new Promise((resolve4, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve4(data);
-            });
-          });
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
+      }
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors2();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
-        this[kDestroyed] = true;
-        this[kOnDestroyed] = this[kOnDestroyed] || [];
-        this[kOnDestroyed].push(callback);
-        const onDestroyed = () => {
-          const callbacks = this[kOnDestroyed];
-          this[kOnDestroyed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
-          }
+        this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kOnDrain] = (origin, targets) => {
+          this.emit("drain", origin, [this, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          this.emit("connect", origin, [this, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          this.emit("disconnect", origin, [this, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          this.emit("connectionError", origin, [this, ...targets], err);
         };
-        this[kDestroy](err).then(() => {
-          queueMicrotask(onDestroyed);
-        });
       }
-      [kInterceptedDispatch](opts, handler2) {
-        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
-          this[kInterceptedDispatch] = this[kDispatch];
-          return this[kDispatch](opts, handler2);
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        return ret;
+      }
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        let dispatcher = this[kClients].get(key);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, dispatcher);
+        }
+        return dispatcher.dispatch(opts, handler2);
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
-        try {
-          if (!opts || typeof opts !== "object") {
-            throw new InvalidArgumentError("opts must be an object.");
-          }
-          if (this[kDestroyed] || this[kOnDestroyed]) {
-            throw new ClientDestroyedError();
-          }
-          if (this[kClosed]) {
-            throw new ClientClosedError();
-          }
-          return this[kInterceptedDispatch](opts, handler2);
-        } catch (err) {
-          if (typeof handler2.onError !== "function") {
-            throw new InvalidArgumentError("invalid onError method");
-          }
-          handler2.onError(err);
-          return false;
+        this[kClients].clear();
+        await Promise.all(closePromises);
+      }
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const client of this[kClients].values()) {
+          destroyPromises.push(client.destroy(err));
         }
+        this[kClients].clear();
+        await Promise.all(destroyPromises);
       }
     };
-    module2.exports = DispatcherBase;
+    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
-    var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._sessionRegistry = new global.FinalizationRegistry((key) => {
-            if (this._sessionCache.size < this._maxCachedSessions) {
-              return;
-            }
-            const ref = this._sessionCache.get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this._sessionCache.delete(key);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var noop3 = () => {
+    };
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
+      }
+      return new Pool(origin, opts);
+    }
+    var Http1ProxyWrapper = class extends DispatcherBase {
+      #client;
+      constructor(proxyUrl, { headers = {}, connect, factory }) {
+        super();
+        if (!proxyUrl) {
+          throw new InvalidArgumentError("Proxy URL is mandatory");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
+      }
+      [kDispatch](opts, handler2) {
+        const onHeaders = handler2.onHeaders;
+        handler2.onHeaders = function(statusCode, data, resume) {
+          if (statusCode === 407) {
+            if (typeof handler2.onError === "function") {
+              handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
+            }
             return;
           }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path5 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path5;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...options,
-            servername,
-            session,
-            localAddress,
-            // TODO(HTTP/2): Add support for h2c
-            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
-            socket: httpSocket,
-            // upgrade socket connection
-            port: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
-          });
+      async [kClose]() {
+        return this.#client.close();
+      }
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
+      }
+    };
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super();
+        if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) {
+          throw new InvalidArgumentError("Proxy uri is mandatory");
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        const { proxyTunnel = true } = opts;
+        const url = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url;
+        this[kProxy] = { uri: href, protocol };
+        this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        this[kTunnelProxy] = proxyTunnel;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
+        }
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        const agentFactory = opts.factory || defaultAgentFactory;
+        const factory = (origin2, options) => {
+          const { protocol: protocol2 } = new URL2(origin2);
+          if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
+            return new Http1ProxyWrapper(this[kProxy].uri, {
+              headers: this[kProxyHeaders],
+              connect,
+              factory: agentFactory
+            });
           }
-        });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
+          return agentFactory(origin2, options);
         };
-      }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+        this[kClient] = clientFactory(url, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          factory,
+          connect: async (opts2, callback) => {
+            let requestedPath = opts2.host;
+            if (!opts2.port) {
+              requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedPath,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host: opts2.host
+                },
+                servername: this[kProxyTls]?.servername || proxyHostname
+              });
+              if (statusCode !== 200) {
+                socket.on("error", noop3).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+                callback(new SecureProxyConnectionError(err));
+              } else {
+                callback(err);
+              }
+            }
           }
         });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
+      }
+      dispatch(opts, handler2) {
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        if (headers && !("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(opts.origin);
+          headers.host = host;
         }
-      });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
-    var TYPE;
-    (function(TYPE2) {
-      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
-      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
-      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
-    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
-    var FLAGS;
-    (function(FLAGS2) {
-      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
-      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
-      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
-      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
-      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
-      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
-      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
-      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
-      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
-    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
-    var LENIENT_FLAGS;
-    (function(LENIENT_FLAGS2) {
-      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
-    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
-    var METHODS;
-    (function(METHODS2) {
-      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
-      METHODS2[METHODS2["GET"] = 1] = "GET";
-      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
-      METHODS2[METHODS2["POST"] = 3] = "POST";
-      METHODS2[METHODS2["PUT"] = 4] = "PUT";
-      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
-      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
-      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
-      METHODS2[METHODS2["COPY"] = 8] = "COPY";
-      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
-      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
-      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
-      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
-      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
-      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
-      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
-      METHODS2[METHODS2["BIND"] = 16] = "BIND";
-      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
-      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
-      METHODS2[METHODS2["ACL"] = 19] = "ACL";
-      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
-      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
-      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
-      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
-      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
-      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
-      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
-      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
-      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
-      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
-      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
-      METHODS2[METHODS2["LINK"] = 31] = "LINK";
-      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
-      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
-      METHODS2[METHODS2["PRI"] = 34] = "PRI";
-      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
-      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
-      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
-      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
-      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
-      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
-      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
-      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
-      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
-      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
-      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
-    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
-    exports2.METHODS_HTTP = [
-      METHODS.DELETE,
-      METHODS.GET,
-      METHODS.HEAD,
-      METHODS.POST,
-      METHODS.PUT,
-      METHODS.CONNECT,
-      METHODS.OPTIONS,
-      METHODS.TRACE,
-      METHODS.COPY,
-      METHODS.LOCK,
-      METHODS.MKCOL,
-      METHODS.MOVE,
-      METHODS.PROPFIND,
-      METHODS.PROPPATCH,
-      METHODS.SEARCH,
-      METHODS.UNLOCK,
-      METHODS.BIND,
-      METHODS.REBIND,
-      METHODS.UNBIND,
-      METHODS.ACL,
-      METHODS.REPORT,
-      METHODS.MKACTIVITY,
-      METHODS.CHECKOUT,
-      METHODS.MERGE,
-      METHODS["M-SEARCH"],
-      METHODS.NOTIFY,
-      METHODS.SUBSCRIBE,
-      METHODS.UNSUBSCRIBE,
-      METHODS.PATCH,
-      METHODS.PURGE,
-      METHODS.MKCALENDAR,
-      METHODS.LINK,
-      METHODS.UNLINK,
-      METHODS.PRI,
-      // TODO(indutny): should we allow it with HTTP?
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_ICE = [
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_RTSP = [
-      METHODS.OPTIONS,
-      METHODS.DESCRIBE,
-      METHODS.ANNOUNCE,
-      METHODS.SETUP,
-      METHODS.PLAY,
-      METHODS.PAUSE,
-      METHODS.TEARDOWN,
-      METHODS.GET_PARAMETER,
-      METHODS.SET_PARAMETER,
-      METHODS.REDIRECT,
-      METHODS.RECORD,
-      METHODS.FLUSH,
-      // For AirPlay
-      METHODS.GET,
-      METHODS.POST
-    ];
-    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
-    exports2.H_METHOD_MAP = {};
-    Object.keys(exports2.METHOD_MAP).forEach((key) => {
-      if (/^H/.test(key)) {
-        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
-    }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.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
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
-    }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+      /**
+       * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts
+       * @returns {URL}
+       */
+      #getUrl(opts) {
+        if (typeof opts === "string") {
+          return new URL2(opts);
+        } else if (opts instanceof URL2) {
+          return opts;
+        } else {
+          return new URL2(opts.uri);
+        }
+      }
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
+      }
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-    }
-    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
-    exports2.MAJOR = exports2.NUM_MAP;
-    exports2.MINOR = exports2.MAJOR;
-    var HEADER_STATE;
-    (function(HEADER_STATE2) {
-      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
-      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
-      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
-    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
-    exports2.SPECIAL_HEADERS = {
-      "connection": HEADER_STATE.CONNECTION,
-      "content-length": HEADER_STATE.CONTENT_LENGTH,
-      "proxy-connection": HEADER_STATE.CONNECTION,
-      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
-      "upgrade": HEADER_STATE.UPGRADE
     };
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
+        }
+        return headersPair;
+      }
+      return headers;
+    }
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      }
+    }
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
+        super();
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
+        }
+        const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
+        this[kNoProxyAgent] = new Agent(agentOpts);
+        const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
+        if (HTTP_PROXY) {
+          this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY });
+        } else {
+          this[kHttpProxyAgent] = this[kNoProxyAgent];
+        }
+        const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
+        if (HTTPS_PROXY) {
+          this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY });
+        } else {
+          this[kHttpsProxyAgent] = this[kHttpProxyAgent];
+        }
+        this.#parseNoProxy();
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      [kDispatch](opts, handler2) {
+        const url = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url);
+        return agent.dispatch(opts, handler2);
       }
-    };
-    var RedirectHandler = class {
-      constructor(dispatch, maxRedirections, opts, handler2) {
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        util.validateHandler(handler2, opts.method, opts.upgrade);
-        this.dispatch = dispatch;
-        this.location = null;
-        this.abort = null;
-        this.opts = { ...opts, maxRedirections: 0 };
-        this.maxRedirections = maxRedirections;
-        this.handler = handler2;
-        this.history = [];
-        if (util.isStream(this.opts.body)) {
-          if (util.bodyLength(this.opts.body) === 0) {
-            this.opts.body.on("data", function() {
-              assert(false);
-            });
-          }
-          if (typeof this.opts.body.readableDidRead !== "boolean") {
-            this.opts.body[kBodyUsed] = false;
-            EE.prototype.on.call(this.opts.body, "data", function() {
-              this[kBodyUsed] = true;
-            });
-          }
-        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
-        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
       }
-      onConnect(abort) {
-        this.abort = abort;
-        this.handler.onConnect(abort, { history: this.history });
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
+        }
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
+        }
       }
-      onUpgrade(statusCode, headers, socket) {
-        this.handler.onUpgrade(statusCode, headers, socket);
+      #getProxyAgentForUrl(url) {
+        let { protocol, host: hostname, port } = url;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
+        }
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
+        }
+        return this[kHttpProxyAgent];
       }
-      onError(error3) {
-        this.handler.onError(error3);
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
+        }
+        if (this.#noProxyEntries.length === 0) {
+          return true;
+        }
+        if (this.#noProxyValue === "*") {
+          return false;
+        }
+        for (let i = 0; i < this.#noProxyEntries.length; i++) {
+          const entry = this.#noProxyEntries[i];
+          if (entry.port && entry.port !== port) {
+            continue;
+          }
+          if (!/^[.*]/.test(entry.hostname)) {
+            if (hostname === entry.hostname) {
+              return false;
+            }
+          } else {
+            if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
+              return false;
+            }
+          }
+        }
+        return true;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
+      #parseNoProxy() {
+        const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
+        const noProxySplit = noProxyValue.split(/[,\s]/);
+        const noProxyEntries = [];
+        for (let i = 0; i < noProxySplit.length; i++) {
+          const entry = noProxySplit[i];
+          if (!entry) {
+            continue;
+          }
+          const parsed = entry.match(/^(.+):(\d+)$/);
+          noProxyEntries.push({
+            hostname: (parsed ? parsed[1] : entry).toLowerCase(),
+            port: parsed ? Number.parseInt(parsed[2], 10) : 0
+          });
         }
-        if (!this.location) {
-          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
+      }
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
         }
-        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
-        const path5 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path5;
-        this.opts.origin = origin;
-        this.opts.maxRedirections = 0;
-        this.opts.query = null;
-        if (statusCode === 303 && this.opts.method !== "HEAD") {
-          this.opts.method = "GET";
-          this.opts.body = null;
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      return new Date(retryAfter).getTime() - current;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          minTimeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "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((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
+          }
+        });
+      }
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
       }
-      onData(chunk) {
-        if (this.location) {
-        } else {
-          return this.handler.onData(chunk);
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
         } else {
-          this.handler.onComplete(trailers);
+          this.abort = abort;
         }
       }
       onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
-      }
-    };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
-          return headers[i + 1];
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          minTimeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        const { counter } = state;
+        if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
+        }
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
+        }
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
+        }
+        if (counter > maxRetries) {
+          cb(err);
+          return;
+        }
+        let retryAfterHeader = headers?.["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
         }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
+        setTimeout(() => cb(null), retryTimeout);
       }
-    }
-    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
-      if (header.length === 4) {
-        return util.headerNameToString(header) === "host";
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          if (this.retryOpts.statusCodes.includes(statusCode) === false) {
+            return this.handler.onHeaders(
+              statusCode,
+              rawHeaders,
+              resume,
+              statusMessage
+            );
+          } else {
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
+          }
+        }
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
+            this.abort(
+              new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size - 1 } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
+        }
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
+            }
+            const { start, size, end = size - 1 } = range;
+            assert(
+              start != null && Number.isFinite(start),
+              "content-range mismatch"
+            );
+            assert(end != null && Number.isFinite(end), "invalid content-length");
+            this.start = start;
+            this.end = end;
+          }
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
+          }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          if (this.etag != null && this.etag.startsWith("W/")) {
+            this.etag = null;
+          }
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
+        }
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          data: { count: this.retryCount }
+        });
+        this.abort(err);
+        return false;
       }
-      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
-        return true;
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
-        const name = util.headerNameToString(header);
-        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      return false;
-    }
-    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
-      const ret = [];
-      if (Array.isArray(headers)) {
-        for (let i = 0; i < headers.length; i += 2) {
-          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
-            ret.push(headers[i], headers[i + 1]);
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        if (this.retryCount - this.retryCountCheckpoint > 0) {
+          this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
+        } else {
+          this.retryCount += 1;
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
+          },
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
           }
-        }
-      } else if (headers && typeof headers === "object") {
-        for (const key of Object.keys(headers)) {
-          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
-            ret.push(key, headers[key]);
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
+            }
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
+          }
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
       }
-      return ret;
-    }
-    module2.exports = RedirectHandler;
+    };
+    module2.exports = RetryHandler;
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
-      return (dispatch) => {
-        return function Intercept(opts, handler2) {
-          const { maxRedirections = defaultMaxRedirections } = opts;
-          if (!maxRedirections) {
-            return dispatch(opts, handler2);
-          }
-          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
-          opts = { ...opts, maxRedirections: 0 };
-          return dispatch(opts, redirectHandler);
-        };
-      };
-    }
-    module2.exports = createRedirectInterceptor;
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
+      }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
+      }
+      close() {
+        return this.#agent.close();
+      }
+      destroy() {
+        return this.#agent.destroy();
+      }
+    };
+    module2.exports = RetryAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var { Readable } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
     var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
-    var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("http2");
-    } catch {
-      http2 = { constants: {} };
-    }
-    var {
-      constants: {
-        HTTP2_HEADER_AUTHORITY,
-        HTTP2_HEADER_METHOD,
-        HTTP2_HEADER_PATH,
-        HTTP2_HEADER_SCHEME,
-        HTTP2_HEADER_CONTENT_LENGTH,
-        HTTP2_HEADER_EXPECT,
-        HTTP2_HEADER_STATUS
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        contentLength,
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kContentLength] = contentLength;
+        this[kReading] = false;
       }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
-        super();
-        if (keepAlive !== void 0) {
-          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
-        }
-        if (socketTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (requestTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (idleTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
-        }
-        if (maxKeepAliveTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
-        }
-        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
-          throw new InvalidArgumentError("invalid maxHeaderSize");
-        }
-        if (socketPath != null && typeof socketPath !== "string") {
-          throw new InvalidArgumentError("invalid socketPath");
-        }
-        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
-          throw new InvalidArgumentError("invalid connectTimeout");
-        }
-        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeout");
-        }
-        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
-        }
-        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
-        }
-        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
-        }
-        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
-        }
-        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
-        }
-        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
-          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
-        }
-        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
-          throw new InvalidArgumentError("localAddress must be valid string IP address");
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        if (err) {
+          this[kAbort]();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        return super.destroy(err);
+      }
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+      }
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        return super.on(ev, ...args);
+      }
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
+      }
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
-          });
+        return ret;
+      }
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
+      }
+      push(chunk) {
+        if (this[kConsume] && chunk !== null) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
+        return super.push(chunk);
       }
-      get pipelining() {
-        return this[kPipelining];
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
+          }
+        }
+        return this[kBody];
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
+      async dump(opts) {
+        let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024;
+        const signal = opts?.signal;
+        if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
+          throw new InvalidArgumentError("signal must be an AbortSignal");
+        }
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
+        }
+        return await new Promise((resolve4, reject) => {
+          if (this[kContentLength] > limit) {
+            this.destroy(new AbortError());
+          }
+          const onAbort = () => {
+            this.destroy(signal.reason ?? new AbortError());
+          };
+          signal?.addEventListener("abort", onAbort);
+          this.on("close", function() {
+            signal?.removeEventListener("abort", onAbort);
+            if (signal?.aborted) {
+              reject(signal.reason ?? new AbortError());
+            } else {
+              resolve4(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      assert(!stream[kConsume]);
+      return new Promise((resolve4, reject) => {
+        if (isUnusable(stream)) {
+          const rState = stream._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
+          } else {
+            reject(rState.errored ?? new TypeError("unusable"));
+          }
         } else {
-          resume(this, true);
+          queueMicrotask(() => {
+            stream[kConsume] = {
+              type: type2,
+              stream,
+              resolve: resolve4,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream[kConsume]);
+          });
         }
-        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
+      }
+      const { _readableState: state } = consume2.stream;
+      if (state.bufferIndex) {
+        const start = state.bufferIndex;
+        const end = state.buffer.length;
+        for (let n = start; n < end; n++) {
+          consumePush(consume2, state.buffer[n]);
+        }
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        return this[kNeedDrain] < 2;
       }
-      async [kClose]() {
-        return new Promise((resolve4) => {
-          if (!this[kSize]) {
-            resolve4(null);
-          } else {
-            this[kClosedResolve] = resolve4;
-          }
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
         });
       }
-      async [kDestroy](err) {
-        return new Promise((resolve4) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
-          }
-          const callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
-            }
-            resolve4();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
-          }
-          resume(this);
-        });
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
     }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
+    function chunksDecode(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return "";
       }
+      const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
+      const bufferLength = buffer.length;
+      const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
+      return buffer.utf8Slice(start, bufferLength);
     }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
+      if (chunks.length === 1) {
+        return new Uint8Array(chunks[0]);
+      }
+      const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
+      let offset = 0;
+      for (let i = 0; i < chunks.length; ++i) {
+        const chunk = chunks[i];
+        buffer.set(chunk, offset);
+        offset += chunk.length;
+      }
+      return buffer;
     }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve4, stream, length } = consume2;
       try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
-      }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
-          }
-          /* eslint-enable camelcase */
+        if (type2 === "text") {
+          resolve4(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve4(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve4(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve4(new Blob(body, { type: stream[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve4(chunksConcat(body, length));
         }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: exports3 }) {
-        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
-        this.llhttp = exports3;
-        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
-        this.client = client;
-        this.socket = socket;
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.statusCode = null;
-        this.statusText = "";
-        this.upgrade = false;
-        this.headers = [];
-        this.headersSize = 0;
-        this.headersMaxSize = client[kMaxHeadersSize];
-        this.shouldKeepAlive = false;
-        this.paused = false;
-        this.resume = this.resume.bind(this);
-        this.bytesRead = 0;
-        this.keepAlive = "";
-        this.contentLength = "";
-        this.connection = "";
-        this.maxResponseSize = client[kMaxResponseSize];
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
-          } else {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      resume() {
-        if (this.socket.destroyed || !this.paused) {
-          return;
-        }
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_resume(this.ptr);
-        assert(this.timeoutType === TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-        this.paused = false;
-        this.execute(this.socket.read() || EMPTY_BUF);
-        this.readMore();
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+    module2.exports = { Readable: BodyReadable, chunksDecode };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
             break;
           }
-          this.execute(chunk);
-        }
-      }
-      execute(data) {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        assert(!this.paused);
-        const { socket, llhttp } = this;
-        if (data.length > currentBufferSize) {
-          if (currentBufferPtr) {
-            llhttp.free(currentBufferPtr);
-          }
-          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
-          currentBufferPtr = llhttp.malloc(currentBufferSize);
-        }
-        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
-        try {
-          let ret;
-          try {
-            currentBufferRef = data;
-            currentParser = this;
-            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
-          } catch (err) {
-            throw err;
-          } finally {
-            currentParser = null;
-            currentBufferRef = null;
-          }
-          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
-          if (ret === constants.ERROR.PAUSED_UPGRADE) {
-            this.onUpgrade(data.slice(offset));
-          } else if (ret === constants.ERROR.PAUSED) {
-            this.paused = true;
-            socket.unshift(data.slice(offset));
-          } else if (ret !== constants.ERROR.OK) {
-            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
-            let message = "";
-            if (ptr) {
-              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
-              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
-            }
-            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
-          }
-        } catch (err) {
-          util.destroy(socket, err);
-        }
-      }
-      destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
-      }
-      onStatus(buf) {
-        this.statusText = buf.toString();
-      }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
         }
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        this.trackHeader(buf.length);
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
       }
-      onHeaderValue(buf) {
-        let len = this.headers.length;
-        if ((len & 1) === 1) {
-          this.headers.push(buf);
-          len += 1;
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        const key = this.headers[len - 2];
-        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      const stackTraceLimit = Error.stackTraceLimit;
+      Error.stackTraceLimit = 0;
+      let payload;
+      try {
+        if (isContentTypeApplicationJson(contentType)) {
+          payload = JSON.parse(chunksDecode(chunks, length));
+        } else if (isContentTypeText(contentType)) {
+          payload = chunksDecode(chunks, length);
         }
-        this.trackHeader(buf.length);
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
+      queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)));
+    }
+    var isContentTypeApplicationJson = (contentType) => {
+      return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n";
+    };
+    var isContentTypeText = (contentType) => {
+      return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t";
+    };
+    module2.exports = {
+      getResolveErrorBodyCallback,
+      isContentTypeApplicationJson,
+      isContentTypeText
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-      }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
         try {
-          request2.onUpgrade(statusCode, headers, socket);
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
         } catch (err) {
-          util.destroy(socket, err);
-        }
-        resume(client);
-      }
-      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
-        const { client, socket, headers, statusText } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
-        }
-        assert(!this.upgrade);
-        assert(this.statusCode < 200);
-        if (statusCode === 100) {
-          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
-          return -1;
-        }
-        if (upgrade && !request2.upgrade) {
-          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
-          return -1;
-        }
-        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
-        this.statusCode = statusCode;
-        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
-        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
-        if (this.statusCode >= 200) {
-          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
-          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
           }
+          throw err;
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
-        }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
-            } else {
-              client[kKeepAliveTimeoutValue] = timeout;
-            }
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
           } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
-          }
-        } else {
-          socket[kReset] = true;
-        }
-        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
-        if (request2.aborted) {
-          return -1;
-        }
-        if (request2.method === "HEAD") {
-          return 1;
-        }
-        if (statusCode < 200) {
-          return 1;
-        }
-        if (socket[kBlocking]) {
-          socket[kBlocking] = false;
-          resume(client);
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
           }
+          return;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        this.callback = null;
+        this.res = res;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body: res, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body: res,
+              context: context2
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
-          return;
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
       }
     };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve4(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
+      }
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        this[kParser].destroy();
-        this[kParser] = null;
-      }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      try {
-        const socket = await new Promise((resolve4, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve4(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
+          this.callback = null;
+          this.runInAsyncScope(
+            getResolveErrorBodyCallback,
+            null,
+            { callback, body: res, contentType, statusCode, statusMessage, headers }
+          );
+        } else {
+          if (factory === null) {
+            return;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          finished(res, { readable: false }, (err) => {
+            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
+            this.res = null;
+            if (err || !res2.readable) {
+              util.destroy(res2, err);
+            }
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
+        return needDrain !== true;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
           return;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
-          assert(client[kRunning] === 0);
-          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
-            const request2 = client[kQueue][client[kPendingIdx]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          stream.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve4(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = stream;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
+      }
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
+        }
+      }
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
+      }
+    };
+    var PipelineResponse = class extends Readable {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
       }
-      client[kResuming] = 2;
-      _resume(client, sync);
-      client[kResuming] = 0;
-      if (client[kRunningIdx] > 256) {
-        client[kQueue].splice(0, client[kRunningIdx]);
-        client[kPendingIdx] -= client[kRunningIdx];
-        client[kRunningIdx] = 0;
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        callback(err);
       }
-    }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
+        }
+        const { signal, method, opaque, onInfo, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        super("UNDICI_UPGRADE");
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.abort = null;
+        this.context = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = null;
+      }
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
+      }
+      onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve4(data);
+          });
+        });
+      }
+      try {
+        const upgradeHandler = new UpgradeHandler(opts, callback);
+        this.dispatch({
+          ...opts,
+          method: opts.method || "GET",
+          upgrade: opts.protocol || "Websocket"
+        }, upgradeHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path5, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
-      }
-      if (request2.aborted) {
-        return false;
       }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve4(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
+    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _MockNotMatchedError);
+        this.name = "MockNotMatchedError";
+        this.message = message || "The request does not match any registered mock dispatches";
+        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path5} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      if (upgrade) {
-        header += `connection: upgrade\r
-upgrade: ${upgrade}\r
-`;
-      } else if (client[kPipelining] && !socket[kReset]) {
-        header += "connection: keep-alive\r\n";
-      } else {
-        header += "connection: close\r\n";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        if (contentLength === 0) {
-          socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-        } else {
-          assert(contentLength === null, "no body must not have content length");
-          socket.write(`${header}\r
-`, "latin1");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      return false;
+    }
+    function lowerCaseEntries(headers) {
+      return Object.fromEntries(
+        Object.entries(headers).map(([headerName, headerValue]) => {
+          return [headerName.toLocaleLowerCase(), headerValue];
+        })
+      );
+    }
+    function getHeaderByName(headers, key) {
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
+            return headers[i + 1];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      return true;
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path5, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    function buildHeadersFromArray(headers) {
+      const clone = headers.slice();
+      const entries = [];
+      for (let index = 0; index < clone.length; index += 2) {
+        entries.push([clone[index], clone[index + 1]]);
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      return Object.fromEntries(entries);
+    }
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
+        }
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      if (request2.aborted) {
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
+      }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream = session.request(headers, { endStream: false, signal });
-        if (stream.id && !stream.pending) {
-          request2.onUpgrade(null, null, stream);
-          ++h2State.openStreams;
-        } else {
-          stream.once("ready", () => {
-            request2.onUpgrade(null, null, stream);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path5;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path5) {
+      if (typeof path5 !== "string") {
+        return path5;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path5.split("?");
+      if (pathSegments.length !== 2) {
+        return path5;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path5, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path5);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    function getMockDispatch(mockDispatches, key) {
+      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
+      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path5 }) => matchValue(safeUrl(path5), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream = session.request(headers, { endStream: shouldEndStream, signal });
-        stream.once("continue", writeBodyH2);
-      } else {
-        stream = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
-          stream.pause();
-        }
-      });
-      stream.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream.pause();
-        }
-      });
-      stream.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
-        }
-      });
-      stream.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
+      }
+      return matchedMockDispatches[0];
+    }
+    function addMockDispatch(mockDispatches, key, data) {
+      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
+      const replyData = typeof data === "function" ? { callback: data } : { ...data };
+      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
+      mockDispatches.push(newMockDispatch);
+      return newMockDispatch;
+    }
+    function deleteMockDispatch(mockDispatches, key) {
+      const index = mockDispatches.findIndex((dispatch) => {
+        if (!dispatch.consumed) {
+          return false;
         }
+        return matchKey(dispatch, key);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream.cork();
-          stream.write(body);
-          stream.uncork();
-          stream.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream,
-              header: "",
-              socket: client[kSocket]
-            });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
+      }
+    }
+    function buildKey(opts) {
+      const { path: path5, method, body, headers, query } = opts;
+      return {
+        path: path5,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
           }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream,
-            socket: client[kSocket]
-          });
         } else {
-          assert(false);
+          result.push(name, Buffer.from(`${value}`));
         }
       }
+      return result;
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
+      return Buffer.concat(buffers).toString("utf8");
+    }
+    function mockDispatch(opts, handler2) {
+      const key = buildKey(opts);
+      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
+      mockDispatch2.timesInvoked++;
+      if (mockDispatch2.data.callback) {
+        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+      }
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
+      }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
           return;
         }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
+      }
+      function resume() {
+      }
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
           try {
-            writer.end();
-          } catch (er) {
-            err = er;
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
+              }
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
+            }
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          originalDispatch.call(this, opts, handler2);
         }
       };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    function checkNetConnect(netConnect, origin) {
+      const url = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
+        return true;
       }
+      return false;
     }
-    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
-      let callback = null;
-      function onDrain() {
-        if (callback) {
-          const cb = callback;
-          callback = null;
-          cb();
-        }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
-      const waitForDrain = () => new Promise((resolve4, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve4;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+    }
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      /**
+       * Delay a reply by a set amount in ms.
+       */
+      delay(waitInMs) {
+        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
+          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
-    }
-    var AsyncWriter = class {
-      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
-        this.socket = socket;
-        this.request = request2;
-        this.contentLength = contentLength;
-        this.client = client;
-        this.bytesWritten = 0;
-        this.expectsPayload = expectsPayload;
-        this.header = header;
-        socket[kWriting] = true;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
         }
-        if (socket.destroyed) {
-          return false;
+        this[kMockDispatch].times = repeatTimes;
+        return this;
+      }
+    };
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          }
-          process.emitWarning(new RequestContentLengthMismatchError());
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
         }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
-          }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
           } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
           }
         }
-        if (contentLength === null) {
-          socket.write(`\r
-${len.toString(16)}\r
-`, "latin1");
-        }
-        this.bytesWritten += len;
-        const ret = socket.write(chunk);
-        socket.uncork();
-        request2.onBodySent(chunk);
-        if (!ret) {
-          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-            if (socket[kParser].timeout.refresh) {
-              socket[kParser].timeout.refresh();
-            }
-          }
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
         }
-        return ret;
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
+      createMockScopeDispatchData({ statusCode, data, responseOptions }) {
+        const responseData = getResponseData2(data);
+        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
+        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
+        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
+        return { statusCode, data, headers, trailers };
+      }
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
         }
-        if (socket.destroyed) {
-          return;
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
+          throw new InvalidArgumentError("responseOptions must be an object");
         }
-        if (bytesWritten === 0) {
-          if (expectsPayload) {
-            socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-          } else {
-            socket.write(`${header}\r
-`, "latin1");
-          }
-        } else if (contentLength === null) {
-          socket.write("\r\n0\r\n\r\n", "latin1");
+      }
+      /**
+       * Mock an undici request with a defined reply.
+       */
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
+              throw new InvalidArgumentError("reply options callback must return an object");
+            }
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
+            return {
+              ...this.createMockScopeDispatchData(replyParameters2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
         }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
-          }
+        const replyParameters = {
+          statusCode: replyOptionsCallbackOrStatusCode,
+          data: arguments[1] === void 0 ? "" : arguments[1],
+          responseOptions: arguments[2] === void 0 ? {} : arguments[2]
+        };
+        this.validateReplyParameters(replyParameters);
+        const dispatchData = this.createMockScopeDispatchData(replyParameters);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
+      }
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
         }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
-          }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
+      }
+      /**
+       * Set default reply headers on the interceptor for subsequent replies
+       */
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
         }
-        resume(client);
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
+      /**
+       * Set default reply trailers on the interceptor for subsequent replies
+       */
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
         }
+        this[kDefaultTrailers] = trailers;
+        return this;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
-    }
-    module2.exports = Client;
+    };
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var kSize = 2048;
-    var kMask = kSize - 1;
-    var FixedCircularBuffer = class {
-      constructor() {
-        this.bottom = 0;
-        this.top = 0;
-        this.list = new Array(kSize);
-        this.next = null;
-      }
-      isEmpty() {
-        return this.top === this.bottom;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      shift() {
-        const nextItem = this.list[this.bottom];
-        if (nextItem === void 0)
-          return null;
-        this.list[this.bottom] = void 0;
-        this.bottom = this.bottom + 1 & kMask;
-        return nextItem;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isEmpty() {
-        return this.head.isEmpty();
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
-        }
-        this.head.push(data);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
-        }
-        return next;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
-      }
-      get connected() {
-        return this[kPool][kConnected];
-      }
-      get free() {
-        return this[kPool][kFree];
-      }
-      get pending() {
-        return this[kPool][kPending];
-      }
-      get queued() {
-        return this[kPool][kQueued];
-      }
-      get running() {
-        return this[kPool][kRunning];
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+    "use strict";
+    var singulars = {
+      pronoun: "it",
+      is: "is",
+      was: "was",
+      this: "this"
+    };
+    var plurals = {
+      pronoun: "they",
+      is: "are",
+      was: "were",
+      this: "these"
+    };
+    module2.exports = class Pluralizer {
+      constructor(singular, plural) {
+        this.singular = singular;
+        this.plural = plural;
       }
-      get size() {
-        return this[kPool][kSize];
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
       }
     };
-    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ Symbol("stats");
-    var PoolBase = class extends DispatcherBase {
-      constructor() {
-        super();
-        this[kQueue] = new FixedQueue();
-        this[kClients] = [];
-        this[kQueued] = 0;
-        const pool = this;
-        this[kOnDrain] = function onDrain(origin, targets) {
-          const queue = pool[kQueue];
-          let needDrain = false;
-          while (!needDrain) {
-            const item = queue.shift();
-            if (!item) {
-              break;
-            }
-            pool[kQueued]--;
-            needDrain = !this.dispatch(item.opts, item.handler);
-          }
-          this[kNeedDrain] = needDrain;
-          if (!this[kNeedDrain] && pool[kNeedDrain]) {
-            pool[kNeedDrain] = false;
-            pool.emit("drain", origin, [pool, ...targets]);
+    var { Transform } = require("node:stream");
+    var { Console } = require("node:console");
+    var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
+    var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
           }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
           }
-        };
-        this[kOnConnect] = (origin, targets) => {
-          pool.emit("connect", origin, [pool, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          pool.emit("disconnect", origin, [pool, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          pool.emit("connectionError", origin, [pool, ...targets], err);
-        };
-        this[kStats] = new PoolStats(this);
-      }
-      get [kBusy]() {
-        return this[kNeedDrain];
+        });
       }
-      get [kConnected]() {
-        return this[kClients].filter((client) => client[kConnected]).length;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path5, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path5,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      get [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        return ret;
+        return dispatcher;
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
+      }
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
+      }
+      deactivate() {
+        this[kIsMockActive] = false;
+      }
+      activate() {
+        this[kIsMockActive] = true;
+      }
+      enableNetConnect(matcher) {
+        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
+          if (Array.isArray(this[kNetConnect])) {
+            this[kNetConnect].push(matcher);
+          } else {
+            this[kNetConnect] = [matcher];
+          }
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        return ret;
       }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      get stats() {
-        return this[kStats];
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve4) => {
-            this[kClosedResolve] = resolve4;
-          });
-        }
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const client = this[kClients].get(origin);
+        if (client) {
+          return client;
+        }
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
+        }
+        for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
-          item.handler.onError(err);
         }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      [kDispatch](opts, handler2) {
-        const dispatcher = this[kGetDispatcher]();
-        if (!dispatcher) {
-          this[kNeedDrain] = true;
-          this[kQueue].push({ opts, handler: handler2 });
-          this[kQueued]++;
-        } else if (!dispatcher.dispatch(opts, handler2)) {
-          dispatcher[kNeedDrain] = true;
-          this[kNeedDrain] = !this[kGetDispatcher]();
-        }
-        return !this[kNeedDrain];
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-      [kAddClient](client) {
-        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-        this[kClients].push(client);
-        if (this[kNeedDrain]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      [kRemoveClient](client) {
-        client.close(() => {
-          const idx = this[kClients].indexOf(client);
-          if (idx !== -1) {
-            this[kClients].splice(idx, 1);
-          }
-        });
-        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
+          return;
+        }
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors2();
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    var Pool = class extends PoolBase {
-      constructor(origin, {
-        connections,
-        factory = defaultFactory,
-        connect,
-        connectTimeout,
-        tls,
-        maxCachedSessions,
-        socketPath,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        allowH2,
-        ...options
-      } = {}) {
-        super();
-        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
-          throw new InvalidArgumentError("invalid connections");
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (typeof connect !== "function") {
-          connect = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
-          }
-        });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
     "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var BalancedPool = class extends PoolBase {
-      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
-        super();
-        this[kOptions] = opts;
-        this[kIndex] = -1;
-        this[kCurrentWeight] = 0;
-        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
-        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
-        if (!Array.isArray(upstreams)) {
-          upstreams = [upstreams];
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+    module2.exports = class DecoratorHandler {
+      #handler;
+      constructor(handler2) {
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
         }
-        this._updateBalancedPoolStats();
+        this.#handler = handler2;
       }
-      addUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
-          return this;
-        }
-        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
-        this[kAddClient](pool);
-        pool.on("connect", () => {
-          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
-        });
-        pool.on("connectionError", () => {
-          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-          this._updateBalancedPoolStats();
-        });
-        pool.on("disconnect", (...args) => {
-          const err = args[2];
-          if (err && err.code === "UND_ERR_SOCKET") {
-            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-            this._updateBalancedPoolStats();
-          }
-        });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
-        }
-        this._updateBalancedPoolStats();
-        return this;
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      removeUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
-        if (pool) {
-          this[kRemoveClient](pool);
-        }
-        return this;
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
-      [kGetDispatcher]() {
-        if (this[kClients].length === 0) {
-          throw new BalancedPoolMissingUpstreamError();
-        }
-        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
-        if (!dispatcher) {
-          return;
-        }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
-        }
-        let counter = 0;
-        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
-        while (counter++ < this[kClients].length) {
-          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
-          const pool = this[kClients][this[kIndex]];
-          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
-            maxWeightIndex = this[kIndex];
-          }
-          if (this[kIndex] === 0) {
-            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
-            if (this[kCurrentWeight] <= 0) {
-              this[kCurrentWeight] = this[kMaxWeightPerServer];
-            }
-          }
-          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
-            return pool;
-          }
-        }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
+      onHeaders(...args) {
+        return this.#handler.onHeaders?.(...args);
+      }
+      onData(...args) {
+        return this.#handler.onData?.(...args);
+      }
+      onComplete(...args) {
+        return this.#handler.onComplete?.(...args);
+      }
+      onBodySent(...args) {
+        return this.#handler.onBodySent?.(...args);
       }
     };
-    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
-      }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
-      }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
-      }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
-        }
-      }
+    var RedirectHandler = require_redirect_handler2();
+    module2.exports = (opts) => {
+      const globalMaxRedirections = opts?.maxRedirections;
+      return (dispatch) => {
+        return function redirectInterceptor(opts2, handler2) {
+          const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2;
+          if (!maxRedirections) {
+            return dispatch(opts2, handler2);
+          }
+          const redirectHandler = new RedirectHandler(
+            dispatch,
+            maxRedirections,
+            opts2,
+            handler2
+          );
+          return dispatch(baseOpts, redirectHandler);
+        };
+      };
     };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
         };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
       };
     };
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    function defaultFactory(origin, opts) {
-      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
-    }
-    var Agent = class extends DispatcherBase {
-      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
-        super();
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    var DumpHandler = class extends DecoratorHandler {
+      #maxSize = 1024 * 1024;
+      #abort = null;
+      #dumped = false;
+      #aborted = false;
+      #size = 0;
+      #reason = null;
+      #handler = null;
+      constructor({ maxSize }, handler2) {
+        super(handler2);
+        if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
+          throw new InvalidArgumentError("maxSize must be a number greater than 0");
         }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
+      }
+      onConnect(abort) {
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
+      }
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
+      }
+      // TODO: will require adjustment after new hooks are out
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = util.parseHeaders(rawHeaders);
+        const contentLength = headers["content-length"];
+        if (contentLength != null && contentLength > this.#maxSize) {
+          throw new RequestAbortedError(
+            `Response size (${contentLength}) larger than maxSize (${this.#maxSize})`
+          );
         }
-        if (connect && typeof connect !== "function") {
-          connect = { ...connect };
+        if (this.#aborted) {
+          return true;
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
         );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
-        }
-        return ret;
       }
-      [kDispatch](opts, handler2) {
-        let key;
-        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
-          key = String(opts.origin);
-        } else {
-          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
+      onError(err) {
+        if (this.#dumped) {
+          return;
         }
-        return dispatcher.dispatch(opts, handler2);
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
+      onData(chunk) {
+        this.#size = this.#size + chunk.length;
+        if (this.#size >= this.#maxSize) {
+          this.#dumped = true;
+          if (this.#aborted) {
+            this.#handler.onError(this.#reason);
+          } else {
+            this.#handler.onComplete([]);
           }
         }
-        await Promise.all(closePromises);
+        return true;
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        await Promise.all(destroyPromises);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
+        }
+        this.#handler.onComplete(trailers);
       }
     };
-    module2.exports = Agent;
+    function createDumpInterceptor({ maxSize: defaultMaxSize } = {
+      maxSize: 1024 * 1024
+    }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { dumpMaxSize = defaultMaxSize } = opts;
+          const dumpHandler = new DumpHandler(
+            { maxSize: dumpMaxSize },
+            handler2
+          );
+          return dispatch(opts, dumpHandler);
+        };
+      };
+    }
+    module2.exports = createDumpInterceptor;
   }
 });
 
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
-    };
-    module2.exports = class BodyReadable extends Readable {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        highWaterMark = 64 * 1024
-        // Same as nodejs fs streams.
-      }) {
-        super({
-          autoDestroy: true,
-          read: resume,
-          highWaterMark
-        });
-        this._readableState.dataEmitted = false;
-        this[kAbort] = abort;
-        this[kConsume] = null;
-        this[kBody] = null;
-        this[kContentType] = contentType;
-        this[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
-        }
-        return super.emit(ev, ...args);
-      }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
-      }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
-      }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
-        }
-        return ret;
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    var maxInt = Math.pow(2, 31) - 1;
+    var DNSInstance = class {
+      #maxTTL = 0;
+      #maxItems = 0;
+      #records = /* @__PURE__ */ new Map();
+      dualStack = true;
+      affinity = null;
+      lookup = null;
+      pick = null;
+      constructor(opts) {
+        this.#maxTTL = opts.maxTTL;
+        this.#maxItems = opts.maxItems;
+        this.dualStack = opts.dualStack;
+        this.affinity = opts.affinity;
+        this.lookup = opts.lookup ?? this.#defaultLookup;
+        this.pick = opts.pick ?? this.#defaultPick;
       }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
         }
-        return super.push(chunk);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-text
-      async text() {
-        return consume(this, "text");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-json
-      async json() {
-        return consume(this, "json");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-blob
-      async blob() {
-        return consume(this, "blob");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-body
-      get body() {
-        if (!this[kBody]) {
-          this[kBody] = ReadableStreamFrom(this);
-          if (this[kConsume]) {
-            this[kBody].getReader();
-            assert(this[kBody].locked);
+        const newOpts = {
+          affinity: this.affinity,
+          dualStack: this.dualStack,
+          lookup: this.lookup,
+          pick: this.pick,
+          ...opts.dns,
+          maxTTL: this.#maxTTL,
+          maxItems: this.#maxItems
+        };
+        if (ips == null) {
+          this.lookup(origin, newOpts, (err, addresses) => {
+            if (err || addresses == null || addresses.length === 0) {
+              cb(err ?? new InformationalError("No DNS entries found"));
+              return;
+            }
+            this.setRecords(origin, addresses);
+            const records = this.#records.get(origin.hostname);
+            const ip = this.pick(
+              origin,
+              records,
+              newOpts.affinity
+            );
+            let port;
+            if (typeof ip.port === "number") {
+              port = `:${ip.port}`;
+            } else if (origin.port !== "") {
+              port = `:${origin.port}`;
+            } else {
+              port = "";
+            }
+            cb(
+              null,
+              `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+            );
+          });
+        } else {
+          const ip = this.pick(
+            origin,
+            ips,
+            newOpts.affinity
+          );
+          if (ip == null) {
+            this.#records.delete(origin.hostname);
+            this.runLookup(origin, opts, cb);
+            return;
+          }
+          let port;
+          if (typeof ip.port === "number") {
+            port = `:${ip.port}`;
+          } else if (origin.port !== "") {
+            port = `:${origin.port}`;
+          } else {
+            port = "";
           }
+          cb(
+            null,
+            `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+          );
         }
-        return this[kBody];
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
+      #defaultLookup(origin, opts, cb) {
+        lookup(
+          origin.hostname,
+          {
+            all: true,
+            family: this.dualStack === false ? this.affinity : 0,
+            order: "ipv4first"
+          },
+          (err, addresses) => {
+            if (err) {
+              return cb(err);
             }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
           }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve4, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+        );
+      }
+      #defaultPick(origin, hostnameRecords, affinity) {
+        let ip = null;
+        const { records, offset } = hostnameRecords;
+        let family;
+        if (this.dualStack) {
+          if (affinity == null) {
+            if (offset == null || offset === maxInt) {
+              hostnameRecords.offset = 0;
+              affinity = 4;
             } else {
-              resolve4(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
             }
-          }).resume();
-        });
-      }
-    };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream, type2) {
-      if (isUnusable(stream)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream[kConsume]);
-      return new Promise((resolve4, reject) => {
-        stream[kConsume] = {
-          type: type2,
-          stream,
-          resolve: resolve4,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
           }
-        });
-        process.nextTick(consumeStart, stream[kConsume]);
-      });
-    }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
-      }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
-        });
-      }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
-      }
-    }
-    function consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve4, stream, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve4(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve4(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve4(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+        } else {
+          family = records[affinity];
+        }
+        if (family == null || family.ips.length === 0) {
+          return ip;
+        }
+        if (family.offset == null || family.offset === maxInt) {
+          family.offset = 0;
+        } else {
+          family.offset++;
+        }
+        const position = family.offset % family.ips.length;
+        ip = family.ips[position] ?? null;
+        if (ip == null) {
+          return ip;
+        }
+        if (Date.now() - ip.timestamp > ip.ttl) {
+          family.ips.splice(position, 1);
+          return this.pick(origin, hostnameRecords, affinity);
+        }
+        return ip;
+      }
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
           }
-          resolve4(new Blob2(body, { type: stream[kContentType] }));
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream.destroy(err);
+        this.#records.set(origin.hostname, records);
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
+            }
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
+      };
     };
   }
 });
 
-// node_modules/undici/lib/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
+    }
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
+      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
+    }
+    function fill(headers, object) {
+      if (Array.isArray(object)) {
+        for (let i = 0; i < object.length; ++i) {
+          const header = object[i];
+          if (header.length !== 2) {
+            throw webidl.errors.exception({
+              header: "Headers constructor",
+              message: `expected name/value pair to be length 2, found ${header.length}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } else if (typeof object === "object" && object !== null) {
+        const keys = Object.keys(object);
+        for (let i = 0; i < keys.length; ++i) {
+          appendHeader(headers, keys[i], object[keys[i]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+    }
+    function appendHeader(headers, name, value) {
+      value = headerValueNormalize(value);
+      if (!isValidHeaderName(name)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value: name,
+          type: "header name"
+        });
+      } else if (!isValidHeaderValue(value)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value,
+          type: "header value"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
-          }
-          return;
-        }
-        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-        const contentType = parsedHeaders["content-type"];
-        const body = new Readable({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
+      if (getHeadersGuard(headers) === "immutable") {
+        throw new TypeError("immutable");
+      }
+      return getHeadersList(headers).append(name, value, false);
+    }
+    function compareHeaderName(a, b) {
+      return a[0] < b[0] ? -1 : 1;
+    }
+    var HeadersList = class _HeadersList {
+      /** @type {[string, string][]|null} */
+      cookies = null;
+      constructor(init) {
+        if (init instanceof _HeadersList) {
+          this[kHeadersMap] = new Map(init[kHeadersMap]);
+          this[kHeadersSortedMap] = init[kHeadersSortedMap];
+          this.cookies = init.cookies === null ? null : [...init.cookies];
+        } else {
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @see https://fetch.spec.whatwg.org/#header-list-contains
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      contains(name, isLowerCase) {
+        return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-append
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      append(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
           });
+        } else {
+          this[kHeadersMap].set(lowercaseName, { name, value });
         }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-set
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      set(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
+        }
+        this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        if (!isLowerCase) name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-get
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       * @returns {string | null}
+       */
+      get(name, isLowerCase) {
+        return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
+      }
+      *[Symbol.iterator]() {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+          yield [name, value];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
-        }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      get entriesList() {
+        const headers = [];
+        if (this[kHeadersMap].size !== 0) {
+          for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) {
+            if (lowerName === "set-cookie") {
+              for (const cookie of this.cookies) {
+                headers.push([name, cookie]);
+              }
+            } else {
+              headers.push([name, value]);
+            }
           }
-          return;
         }
-        this.factory = null;
-        let res;
-        if (this.throwOnError && statusCode >= 400) {
-          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-          const contentType = parsedHeaders["content-type"];
-          res = new PassThrough();
-          this.callback = null;
-          this.runInAsyncScope(
-            getResolveErrorBodyCallback,
-            null,
-            { callback, body: res, contentType, statusCode, statusMessage, headers }
-          );
-        } else {
-          if (factory === null) {
-            return;
-          }
-          res = this.runInAsyncScope(factory, null, {
-            statusCode,
-            headers,
-            opaque,
-            context: context2
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        return headers;
+      }
+      // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set
+      toSortedArray() {
+        const size = this[kHeadersMap].size;
+        const array = new Array(size);
+        if (size <= 32) {
+          if (size === 0) {
+            return array;
           }
-          finished(res, { readable: false }, (err) => {
-            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
-            this.res = null;
-            if (err || !res2.readable) {
-              util.destroy(res2, err);
+          const iterator2 = this[kHeadersMap][Symbol.iterator]();
+          const firstValue = iterator2.next().value;
+          array[0] = [firstValue[0], firstValue[1].value];
+          assert(firstValue[1].value !== null);
+          for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) {
+            value = iterator2.next().value;
+            x = array[i] = [value[0], value[1].value];
+            assert(x[1] !== null);
+            left = 0;
+            right = i;
+            while (left < right) {
+              pivot = left + (right - left >> 1);
+              if (array[pivot][0] <= x[0]) {
+                left = pivot + 1;
+              } else {
+                right = pivot;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          stream.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
-      }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
+          }
+          if (!iterator2.next().done) {
+            throw new TypeError("Unreachable");
+          }
+          return array;
+        } else {
+          let i = 0;
+          for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+            array[i++] = [name, value];
+            assert(value !== null);
+          }
+          return array.sort(compareHeaderName);
         }
       }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
-      }
     };
-    var PipelineResponse = class extends Readable {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
-      }
-      _read() {
-        this[kResume]();
-      }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+    var Headers = class _Headers {
+      #guard;
+      #headersList;
+      constructor(init = void 0) {
+        webidl.util.markAsUncloneable(this);
+        if (init === kConstruct) {
+          return;
+        }
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
+          fill(this, init);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
+          });
         }
-        if (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        const { signal, method, opaque, onInfo, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        this.#headersList.delete(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        return this.#headersList.get(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value,
+            type: "header value"
+          });
         }
-        this.abort = abort;
-        this.context = context2;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        for (let i = 0; i < names.length; ++i) {
+          const { 0: name, 1: value } = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
+            }
+          } else {
+            headers.push([name, value]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    function pipeline(opts, handler2) {
-      try {
-        const pipelineHandler = new PipelineHandler(opts, handler2);
-        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
-        return pipelineHandler.ret;
-      } catch (err) {
-        return new PassThrough().destroy(err);
+    var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers;
+    Reflect.deleteProperty(Headers, "getHeadersGuard");
+    Reflect.deleteProperty(Headers, "setHeadersGuard");
+    Reflect.deleteProperty(Headers, "getHeadersList");
+    Reflect.deleteProperty(Headers, "setHeadersList");
+    iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1);
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-    }
-    module2.exports = pipeline;
+    });
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object") {
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
+        }
+        if (typeof iterator2 === "function") {
+          return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V));
+        }
+        return webidl.converters["record"](V, prefix, argument);
+      }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
+    };
+    module2.exports = {
+      fill,
+      // for test.
+      compareHeaderName,
+      Headers,
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
+    };
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { types } = require("node:util");
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
+        return responseObject;
+      }
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      try {
-        const upgradeHandler = new UpgradeHandler(opts, callback);
-        this.dispatch({
-          ...opts,
-          method: opts.method || "GET",
-          upgrade: opts.protocol || "Websocket"
-        }, upgradeHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url = urlList[urlList.length - 1] ?? null;
+        if (url === null) {
+          return "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        removeSignal(this);
-        this.callback = null;
-        let headers = rawHeaders;
-        if (headers != null) {
-          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        }
-        this.runInAsyncScope(callback, null, null, {
-          statusCode,
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      }
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (bodyUnusable(this)) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        const clonedResponse = cloneResponse(this[kState]);
+        if (hasFinalizationRegistry && this[kState].body?.stream) {
+          streamRegistry.register(this, new WeakRef(this[kState].body.stream));
+        }
+        return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    mixinBody(Response);
+    Object.defineProperties(Response.prototype, {
+      type: kEnumerableProperty,
+      url: kEnumerableProperty,
+      status: kEnumerableProperty,
+      ok: kEnumerableProperty,
+      redirected: kEnumerableProperty,
+      statusText: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Response",
+        configurable: true
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    function makeResponse(init) {
+      return {
+        aborted: false,
+        rangeRequested: false,
+        timingAllowPassed: false,
+        requestIncludesCredentials: false,
+        type: "default",
+        status: 200,
+        timingInfo: null,
+        cacheState: "",
+        statusText: "",
+        ...init,
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
+      };
+    }
+    function makeNetworkError(reason) {
+      const isError = isErrorLike(reason);
+      return makeResponse({
+        type: "error",
+        status: 0,
+        error: isError ? reason : new Error(reason ? String(reason) : reason),
+        aborted: reason && reason.name === "AbortError"
+      });
+    }
+    function isNetworkError(response) {
+      return (
+        // A network error is a response whose type is "error",
+        response.type === "error" && // status is 0
+        response.status === 0
       );
     }
-    function getHeaderByName(headers, key) {
-      if (Array.isArray(headers)) {
-        for (let i = 0; i < headers.length; i += 2) {
-          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
-            return headers[i + 1];
-          }
+    function makeFilteredResponse(response, state) {
+      state = {
+        internalResponse: response,
+        ...state
+      };
+      return new Proxy(response, {
+        get(target, p) {
+          return p in state ? state[p] : target[p];
+        },
+        set(target, p, value) {
+          assert(!(p in state));
+          target[p] = value;
+          return true;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    function buildHeadersFromArray(headers) {
-      const clone = headers.slice();
-      const entries = [];
-      for (let index = 0; index < clone.length; index += 2) {
-        entries.push([clone[index], clone[index + 1]]);
-      }
-      return Object.fromEntries(entries);
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
     }
-    function matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path5) {
-      if (typeof path5 !== "string") {
-        return path5;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path5.split("?");
-      if (pathSegments.length !== 2) {
-        return path5;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
     }
-    function matchKey(mockDispatch2, { path: path5, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path5);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
-    }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
       }
+      return response;
     }
-    function getMockDispatch(mockDispatches, key) {
-      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
-      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
-      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path5 }) => matchValue(safeUrl(path5), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      return matchedMockDispatches[0];
-    }
-    function addMockDispatch(mockDispatches, key, data) {
-      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
-      const replyData = typeof data === "function" ? { callback: data } : { ...data };
-      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
-      mockDispatches.push(newMockDispatch);
-      return newMockDispatch;
-    }
-    function deleteMockDispatch(mockDispatches, key) {
-      const index = mockDispatches.findIndex((dispatch) => {
-        if (!dispatch.consumed) {
-          return false;
-        }
-        return matchKey(dispatch, key);
-      });
-      if (index !== -1) {
-        mockDispatches.splice(index, 1);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path5, method, body, headers, query } = opts;
-      return {
-        path: path5,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      return webidl.converters.DOMString(V, prefix, name);
+    };
+    webidl.converters.BodyInit = function(V, prefix, argument) {
+      if (V instanceof ReadableStream) {
+        return webidl.converters.ReadableStream(V, prefix, argument);
       }
-      return Buffer.concat(buffers).toString("utf8");
-    }
-    function mockDispatch(opts, handler2) {
-      const key = buildKey(opts);
-      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
-      mockDispatch2.timesInvoked++;
-      if (mockDispatch2.data.callback) {
-        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
+    };
+    webidl.converters.ResponseInit = webidl.dictionaryConverter([
+      {
+        key: "status",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 200
+      },
+      {
+        key: "statusText",
+        converter: webidl.converters.ByteString,
+        defaultValue: () => ""
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
       }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      return true;
-    }
-    function buildMockDispatch() {
-      const agent = this[kMockAgent];
-      const origin = this[kOrigin];
-      const originalDispatch = this[kOriginalDispatch];
-      return function dispatch(opts, handler2) {
-        if (agent.isMockActive) {
-          try {
-            mockDispatch.call(this, opts, handler2);
-          } catch (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
-              }
-              if (checkNetConnect(netConnect, origin)) {
-                originalDispatch.call(this, opts, handler2);
-              } else {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } else {
-          originalDispatch.call(this, opts, handler2);
+          });
         }
-      };
-    }
-    function checkNetConnect(netConnect, origin) {
-      const url = new URL(origin);
-      if (netConnect === true) {
-        return true;
-      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
-        return true;
       }
-      return false;
-    }
-    function buildMockOptions(opts) {
-      if (opts) {
-        const { agent, ...mockOptions } = opts;
-        return mockOptions;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) {
+        process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
+      }
+      return { WeakRef, FinalizationRegistry };
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    var MockScope = class {
-      constructor(mockDispatch) {
-        this[kMockDispatch] = mockDispatch;
-      }
-      /**
-       * Delay a reply by a set amount in ms.
-       */
-      delay(waitInMs) {
-        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
-          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var dependentControllerMap = /* @__PURE__ */ new WeakMap();
+    function buildAbort(acRef) {
+      return abort;
+      function abort() {
+        const ac = acRef.deref();
+        if (ac !== void 0) {
+          requestFinalizer.unregister(abort);
+          this.removeEventListener("abort", abort);
+          ac.abort(this.reason);
+          const controllerList = dependentControllerMap.get(ac.signal);
+          if (controllerList !== void 0) {
+            if (controllerList.size !== 0) {
+              for (const ref of controllerList) {
+                const ctrl = ref.deref();
+                if (ctrl !== void 0) {
+                  ctrl.abort(this.reason);
+                }
+              }
+              controllerList.clear();
+            }
+            dependentControllerMap.delete(ac.signal);
+          }
         }
-        this[kMockDispatch].delay = waitInMs;
-        return this;
-      }
-      /**
-       * For a defined reply, never mark as consumed.
-       */
-      persist() {
-        this[kMockDispatch].persist = true;
-        return this;
       }
-      /**
-       * Allow one to define a reply for a set amount of matching requests.
-       */
-      times(repeatTimes) {
-        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
-          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+    }
+    var patchMethodWarning = false;
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (input === kConstruct) {
+          return;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        const prefix = "Request constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        input = webidl.converters.RequestInfo(input, prefix, "input");
+        init = webidl.converters.RequestInit(init, prefix, "init");
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } catch (err) {
+            throw new TypeError("Failed to parse URL from " + input, { cause: err });
+          }
+          if (parsedURL.username || parsedURL.password) {
+            throw new TypeError(
+              "Request cannot be constructed from a URL that includes credentials: " + input
+            );
+          }
+          request2 = makeRequest({ urlList: [parsedURL] });
+          fallbackMode = "cors";
+        } else {
+          this[kDispatcher] = init.dispatcher || input[kDispatcher];
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "no-window";
+        }
+        request2 = makeRequest({
+          // URL request’s URL.
+          // undici implementation note: this is set as the first item in request's urlList in makeRequest
+          // method request’s method.
+          method: request2.method,
+          // header list A copy of request’s header list.
+          // undici implementation note: headersList is cloned in makeRequest
+          headersList: request2.headersList,
+          // unsafe-request flag Set.
+          unsafeRequest: request2.unsafeRequest,
+          // client This’s relevant settings object.
+          client: environmentSettingsObject.settingsObject,
+          // window window.
+          window: window2,
+          // priority request’s priority.
+          priority: request2.priority,
+          // origin request’s origin. The propagation of the origin is only significant for navigation requests
+          // being handled by a service worker. In this scenario a request can have an origin that is different
+          // from the current client.
+          origin: request2.origin,
+          // referrer request’s referrer.
+          referrer: request2.referrer,
+          // referrer policy request’s referrer policy.
+          referrerPolicy: request2.referrerPolicy,
+          // mode request’s mode.
+          mode: request2.mode,
+          // credentials mode request’s credentials mode.
+          credentials: request2.credentials,
+          // cache mode request’s cache mode.
+          cache: request2.cache,
+          // redirect mode request’s redirect mode.
+          redirect: request2.redirect,
+          // integrity metadata request’s integrity metadata.
+          integrity: request2.integrity,
+          // keepalive request’s keepalive.
+          keepalive: request2.keepalive,
+          // reload-navigation flag request’s reload-navigation flag.
+          reloadNavigation: request2.reloadNavigation,
+          // history-navigation flag request’s history-navigation flag.
+          historyNavigation: request2.historyNavigation,
+          // URL list A clone of request’s URL list.
+          urlList: [...request2.urlList]
+        });
+        const initHasKey = Object.keys(init).length !== 0;
+        if (initHasKey) {
+          if (request2.mode === "navigate") {
+            request2.mode = "same-origin";
+          }
+          request2.reloadNavigation = false;
+          request2.historyNavigation = false;
+          request2.origin = "client";
+          request2.referrer = "client";
+          request2.referrerPolicy = "";
+          request2.url = request2.urlList[request2.urlList.length - 1];
+          request2.urlList = [request2.url];
+        }
+        if (init.referrer !== void 0) {
+          const referrer = init.referrer;
+          if (referrer === "") {
+            request2.referrer = "no-referrer";
           } else {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            let parsedReferrer;
+            try {
+              parsedReferrer = new URL(referrer, baseUrl);
+            } catch (err) {
+              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
+            }
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
+              request2.referrer = "client";
+            } else {
+              request2.referrer = parsedReferrer;
+            }
           }
         }
-        if (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        let mode;
+        if (init.mode !== void 0) {
+          mode = init.mode;
+        } else {
+          mode = fallbackMode;
+        }
+        if (mode === "navigate") {
+          throw webidl.errors.exception({
+            header: "Request constructor",
+            message: "invalid request mode navigate."
+          });
+        }
+        if (mode != null) {
+          request2.mode = mode;
+        }
+        if (init.credentials !== void 0) {
+          request2.credentials = init.credentials;
+        }
+        if (init.cache !== void 0) {
+          request2.cache = init.cache;
+        }
+        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
+          throw new TypeError(
+            "'only-if-cached' can be set only with 'same-origin' mode"
+          );
+        }
+        if (init.redirect !== void 0) {
+          request2.redirect = init.redirect;
+        }
+        if (init.integrity != null) {
+          request2.integrity = String(init.integrity);
+        }
+        if (init.keepalive !== void 0) {
+          request2.keepalive = Boolean(init.keepalive);
+        }
+        if (init.method !== void 0) {
+          let method = init.method;
+          const mayBeNormalized = normalizedMethodRecords[method];
+          if (mayBeNormalized !== void 0) {
+            request2.method = mayBeNormalized;
+          } else {
+            if (!isValidHTTPToken(method)) {
+              throw new TypeError(`'${method}' is not a valid HTTP method.`);
+            }
+            const upperCase = method.toUpperCase();
+            if (forbiddenMethodsSet.has(upperCase)) {
+              throw new TypeError(`'${method}' HTTP method is unsupported.`);
+            }
+            method = normalizedMethodRecordsBase[upperCase] ?? method;
+            request2.method = method;
+          }
+          if (!patchMethodWarning && request2.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"
+            });
+            patchMethodWarning = true;
+          }
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            throw new TypeError(
+              "Failed to construct 'Request': member signal is not of type AbortSignal."
+            );
+          }
+          if (signal.aborted) {
+            ac.abort(signal.reason);
+          } else {
+            this[kAbortController] = ac;
+            const acRef = new WeakRef(ac);
+            const abort = buildAbort(acRef);
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort }, abort);
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersList(this[kHeaders], request2.headersList);
+        setHeadersGuard(this[kHeaders], "request");
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          setHeadersGuard(this[kHeaders], "request-no-cors");
+        }
+        if (initHasKey) {
+          const headersList = getHeadersList(this[kHeaders]);
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
+            }
+            headersList.cookies = headers.cookies;
+          } else {
+            fillHeaders(this[kHeaders], headers);
+          }
+        }
+        const inputBody = input instanceof _Request ? input[kState].body : null;
+        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
+          throw new TypeError("Request with GET/HEAD method cannot have body.");
+        }
+        let initBody = null;
+        if (init.body != null) {
+          const [extractedBody, contentType] = extractBody(
+            init.body,
+            request2.keepalive
+          );
+          initBody = extractedBody;
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
+            this[kHeaders].append("content-type", contentType);
+          }
+        }
+        const inputOrInitBody = initBody ?? inputBody;
+        if (inputOrInitBody != null && inputOrInitBody.source == null) {
+          if (initBody != null && init.duplex == null) {
+            throw new TypeError("RequestInit: duplex option is required when sending a body.");
+          }
+          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
+            throw new TypeError(
+              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
+            );
+          }
+          request2.useCORSPreflightFlag = true;
+        }
+        let finalBody = inputOrInitBody;
+        if (initBody == null && inputBody != null) {
+          if (bodyUnusable(input)) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          const identityTransform = new TransformStream();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
+        }
+        this[kState].body = finalBody;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
-        const responseData = getResponseData2(data);
-        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
-        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
-        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
-        return { statusCode, data, headers, trailers };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
+      }
+      // Returns a Headers object consisting of the headers associated with request.
+      // Note that headers added in the network layer by the user agent will not
+      // be accounted for in this object, e.g., the "Host" header.
+      get headers() {
+        webidl.brandCheck(this, _Request);
+        return this[kHeaders];
+      }
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
+      }
+      // Returns the referrer of request. Its value can be a same-origin URL if
+      // explicitly set in init, the empty string to indicate no referrer, and
+      // "about:client" when defaulting to the global’s default. This is used
+      // during fetching to determine the value of the `Referer` header of the
+      // request being made.
+      get referrer() {
+        webidl.brandCheck(this, _Request);
+        if (this[kState].referrer === "no-referrer") {
+          return "";
         }
-        if (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // Returns the referrer policy associated with request.
+      // This is used during fetching to compute the value of the request’s
+      // referrer.
+      get referrerPolicy() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].referrerPolicy;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // Returns the mode associated with request, which is a string indicating
+      // whether the request will use CORS, or will be restricted to same-origin
+      // URLs.
+      get mode() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].mode;
       }
-      /**
-       * Set default reply headers on the interceptor for subsequent replies
-       */
-      defaultReplyHeaders(headers) {
-        if (typeof headers === "undefined") {
-          throw new InvalidArgumentError("headers must be defined");
-        }
-        this[kDefaultHeaders] = headers;
-        return this;
+      // Returns the credentials mode associated with request,
+      // which is a string indicating whether credentials will be sent with the
+      // request always, never, or only when sent to a same-origin URL.
+      get credentials() {
+        return this[kState].credentials;
       }
-      /**
-       * Set default reply trailers on the interceptor for subsequent replies
-       */
-      defaultReplyTrailers(trailers) {
-        if (typeof trailers === "undefined") {
-          throw new InvalidArgumentError("trailers must be defined");
-        }
-        this[kDefaultTrailers] = trailers;
-        return this;
+      // Returns the cache mode associated with request,
+      // which is a string indicating how the request will
+      // interact with the browser’s cache when fetching.
+      get cache() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].cache;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // Returns the redirect mode associated with request,
+      // which is a string indicating how redirects for the
+      // request will be handled during fetching. A request
+      // will follow redirects by default.
+      get redirect() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].redirect;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns request’s subresource integrity metadata, which is a
+      // cryptographic hash of the resource being fetched. Its value
+      // consists of multiple hashes separated by whitespace. [SRI]
+      get integrity() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].integrity;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // Returns a boolean indicating whether or not request can outlive the
+      // global in which it was created.
+      get keepalive() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].keepalive;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-forward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns the signal associated with request, which is an AbortSignal
+      // object indicating whether or not request has been aborted, and its
+      // abort event handler.
+      get signal() {
+        webidl.brandCheck(this, _Request);
+        return this[kSignal];
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
-    "use strict";
-    var singulars = {
-      pronoun: "it",
-      is: "is",
-      was: "was",
-      this: "this"
-    };
-    var plurals = {
-      pronoun: "they",
-      is: "are",
-      was: "were",
-      this: "these"
-    };
-    module2.exports = class Pluralizer {
-      constructor(singular, plural) {
-        this.singular = singular;
-        this.plural = plural;
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (bodyUnusable(this)) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          let list = dependentControllerMap.get(this.signal);
+          if (list === void 0) {
+            list = /* @__PURE__ */ new Set();
+            dependentControllerMap.set(this.signal, list);
+          }
+          const acRef = new WeakRef(ac);
+          list.add(acRef);
+          util.addAbortListener(
+            ac.signal,
+            buildAbort(acRef)
+          );
+        }
+        return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    mixinBody(Request);
+    function makeRequest(init) {
+      return {
+        method: init.method ?? "GET",
+        localURLsOnly: init.localURLsOnly ?? false,
+        unsafeRequest: init.unsafeRequest ?? false,
+        body: init.body ?? null,
+        client: init.client ?? null,
+        reservedClient: init.reservedClient ?? null,
+        replacesClientId: init.replacesClientId ?? "",
+        window: init.window ?? "client",
+        keepalive: init.keepalive ?? false,
+        serviceWorkers: init.serviceWorkers ?? "all",
+        initiator: init.initiator ?? "",
+        destination: init.destination ?? "",
+        priority: init.priority ?? null,
+        origin: init.origin ?? "client",
+        policyContainer: init.policyContainer ?? "client",
+        referrer: init.referrer ?? "client",
+        referrerPolicy: init.referrerPolicy ?? "",
+        mode: init.mode ?? "no-cors",
+        useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
+        credentials: init.credentials ?? "same-origin",
+        useCredentials: init.useCredentials ?? false,
+        cache: init.cache ?? "default",
+        redirect: init.redirect ?? "follow",
+        integrity: init.integrity ?? "",
+        cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "",
+        parserMetadata: init.parserMetadata ?? "",
+        reloadNavigation: init.reloadNavigation ?? false,
+        historyNavigation: init.historyNavigation ?? false,
+        userActivation: init.userActivation ?? false,
+        taintedOrigin: init.taintedOrigin ?? false,
+        redirectCount: init.redirectCount ?? 0,
+        responseTainting: init.responseTainting ?? "basic",
+        preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
+        done: init.done ?? false,
+        timingAllowFailed: init.timingAllowFailed ?? false,
+        urlList: init.urlList,
+        url: init.urlList[0],
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(newRequest, request2.body);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path5, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path5,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      return newRequest;
+    }
+    function fromInnerRequest(innerRequest, signal, guard) {
+      const request2 = new Request(kConstruct);
+      request2[kState] = innerRequest;
+      request2[kSignal] = signal;
+      request2[kHeaders] = new Headers(kConstruct);
+      setHeadersList(request2[kHeaders], innerRequest.headersList);
+      setHeadersGuard(request2[kHeaders], guard);
+      return request2;
+    }
+    Object.defineProperties(Request.prototype, {
+      method: kEnumerableProperty,
+      url: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      signal: kEnumerableProperty,
+      duplex: kEnumerableProperty,
+      destination: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      isHistoryNavigation: kEnumerableProperty,
+      isReloadNavigation: kEnumerableProperty,
+      keepalive: kEnumerableProperty,
+      integrity: kEnumerableProperty,
+      cache: kEnumerableProperty,
+      credentials: kEnumerableProperty,
+      attribute: kEnumerableProperty,
+      referrerPolicy: kEnumerableProperty,
+      referrer: kEnumerableProperty,
+      mode: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Request",
+        configurable: true
       }
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, argument);
+      }
+      if (V instanceof Request) {
+        return webidl.converters.Request(V, prefix, argument);
+      }
+      return webidl.converters.USVString(V, prefix, argument);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    webidl.converters.AbortSignal = webidl.interfaceConverter(
+      AbortSignal
+    );
+    webidl.converters.RequestInit = webidl.dictionaryConverter([
+      {
+        key: "method",
+        converter: webidl.converters.ByteString
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      },
+      {
+        key: "body",
+        converter: webidl.nullableConverter(
+          webidl.converters.BodyInit
+        )
+      },
+      {
+        key: "referrer",
+        converter: webidl.converters.USVString
+      },
+      {
+        key: "referrerPolicy",
+        converter: webidl.converters.DOMString,
+        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
+        allowedValues: referrerPolicy
+      },
+      {
+        key: "mode",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#concept-request-mode
+        allowedValues: requestMode
+      },
+      {
+        key: "credentials",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcredentials
+        allowedValues: requestCredentials
+      },
+      {
+        key: "cache",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcache
+        allowedValues: requestCache
+      },
+      {
+        key: "redirect",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestredirect
+        allowedValues: requestRedirect
+      },
+      {
+        key: "integrity",
+        converter: webidl.converters.DOMString
+      },
+      {
+        key: "keepalive",
+        converter: webidl.converters.boolean
+      },
+      {
+        key: "signal",
+        converter: webidl.nullableConverter(
+          (signal) => webidl.converters.AbortSignal(
+            signal,
+            "RequestInit",
+            "signal",
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib = require("node:zlib");
+    var {
+      bytesMatch,
+      makePolicyContainer,
+      clonePolicyContainer,
+      requestBadPort,
+      TAOCheck,
+      appendRequestOriginHeader,
+      responseLocationURL,
+      requestCurrentURL,
+      setRequestReferrerPolicyOnRedirect,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      createOpaqueTimingInfo,
+      appendFetchMetadata,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      determineRequestsReferrer,
+      coarsenedSharedCurrentTime,
+      createDeferredPromise,
+      isBlobLike,
+      sameOrigin,
+      isCancelled,
+      isAborted,
+      isErrorLike,
+      fullyReadBody,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlIsHttpHttpsScheme,
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
+    } = require_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    var { STATUS_CODES } = require("node:http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
+    var resolveObjectURL;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        return dispatcher;
-      }
-      dispatch(opts, handler2) {
-        this.get(opts.origin);
-        return this[kAgent].dispatch(opts, handler2);
-      }
-      async close() {
-        await this[kAgent].close();
-        this[kClients].clear();
-      }
-      deactivate() {
-        this[kIsMockActive] = false;
-      }
-      activate() {
-        this[kIsMockActive] = true;
-      }
-      enableNetConnect(matcher) {
-        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
-          if (Array.isArray(this[kNetConnect])) {
-            this[kNetConnect].push(matcher);
-          } else {
-            this[kNetConnect] = [matcher];
-          }
-        } else if (typeof matcher === "undefined") {
-          this[kNetConnect] = true;
-        } else {
-          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      disableNetConnect() {
-        this[kNetConnect] = false;
-      }
-      // This is required to bypass issues caused by using global symbols - see:
-      // https://github.com/nodejs/undici/issues/1447
-      get isMockActive() {
-        return this[kIsMockActive];
+    };
+    function handleFetchDone(response) {
+      finalizeAndReportTiming(response, "fetch");
+    }
+    function fetch(input, init = void 0) {
+      webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
+      let p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      let responseObject = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return;
+        }
+        if (response.type === "error") {
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
+      };
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: requestObject[kDispatcher]
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
+        return;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
-        const pending = this.pendingInterceptors();
-        if (pending.length === 0) {
-          return;
-        }
-        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
-        throw new UndiciError(`
-${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
-
-${pendingInterceptorsFormatter.format(pending)}
-`.trim());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        if (opts.auth && opts.token) {
-          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
-        } else if (opts.auth) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
-        } else if (opts.token) {
-          this[kProxyHeaders]["proxy-authorization"] = opts.token;
-        } else if (username && password) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
-        }
-        const connect = buildConnector({ ...opts.proxyTls });
-        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).destroy();
-                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
-              }
-              if (opts2.protocol !== "https:") {
-                callback(null, socket);
-                return;
-              }
-              let servername;
-              if (this[kRequestTls]) {
-                servername = this[kRequestTls].servername;
-              } else {
-                servername = opts2.servername;
-              }
-              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
-            } catch (err) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher = getGlobalDispatcher()
+      // undici
+    }) {
+      assert(dispatcher);
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currentTime
+      });
+      const fetchParams = {
+        controller: new Fetch(dispatcher),
+        request: request2,
+        timingInfo,
+        processRequestBodyChunkLength,
+        processRequestEndOfBody,
+        processResponse,
+        processResponseConsumeBody,
+        processResponseEndOfBody,
+        taskDestination,
+        crossOriginIsolatedCapability
+      };
+      assert(!request2.body || request2.body.stream);
+      if (request2.window === "client") {
+        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        return headersPair;
       }
-      return headers;
-    }
-    function throwIfProxyAuthIsSent(headers) {
-      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
-      if (existProxyAuth) {
-        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    var RetryHandler = class _RetryHandler {
-      constructor(opts, handlers) {
-        const { retryOptions, ...dispatchOpts } = opts;
-        const {
-          // Retry scoped
-          retry: retryFn,
-          maxRetries,
-          maxTimeout,
-          minTimeout,
-          timeoutFactor,
-          // Response scoped
-          methods,
-          errorCodes,
-          retryAfter,
-          statusCodes
-        } = retryOptions ?? {};
-        this.dispatch = handlers.dispatch;
-        this.handler = handlers.handler;
-        this.opts = dispatchOpts;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: minTimeout ?? 500,
-          // .5s
-          timeoutFactor: timeoutFactor ?? 2,
-          maxRetries: maxRetries ?? 5,
-          // What errors we should retry
-          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
-          // Indicates which errors to retry
-          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
-          // List of errors to retry
-          errorCodes: errorCodes ?? [
-            "ECONNRESET",
-            "ECONNREFUSED",
-            "ENOTFOUND",
-            "ENETDOWN",
-            "ENETUNREACH",
-            "EHOSTDOWN",
-            "EHOSTUNREACH",
-            "EPIPE"
-          ]
-        };
-        this.retryCount = 0;
-        this.start = 0;
-        this.end = null;
-        this.etag = null;
-        this.resume = null;
-        this.handler.onConnect((reason) => {
-          this.aborted = true;
-          if (this.abort) {
-            this.abort(reason);
-          } else {
-            this.reason = reason;
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
+      }
+      if (request2.priority === null) {
+      }
+      if (subresourceSet.has(request2.destination)) {
+      }
+      mainFetch(fetchParams).catch((err) => {
+        fetchParams.controller.terminate(err);
+      });
+      return fetchParams.controller;
+    }
+    async function mainFetch(fetchParams, recursive = false) {
+      const request2 = fetchParams.request;
+      let response = null;
+      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
+        response = makeNetworkError("local URLs only");
+      }
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
+      }
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
+      }
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
+      }
+      if (response === null) {
+        response = await (async () => {
+          const currentURL = requestCurrentURL(request2);
+          if (
+            // - request’s current URL’s origin is same origin with request’s origin,
+            //   and request’s response tainting is "basic"
+            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
+            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
+            (request2.mode === "navigate" || request2.mode === "websocket")
+          ) {
+            request2.responseTainting = "basic";
+            return await schemeFetch(fetchParams);
           }
-        });
+          if (request2.mode === "same-origin") {
+            return makeNetworkError('request mode cannot be "same-origin"');
+          }
+          if (request2.mode === "no-cors") {
+            if (request2.redirect !== "follow") {
+              return makeNetworkError(
+                'redirect mode cannot be "follow" for "no-cors" request'
+              );
+            }
+            request2.responseTainting = "opaque";
+            return await schemeFetch(fetchParams);
+          }
+          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
+            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          }
+          request2.responseTainting = "cors";
+          return await httpFetch(fetchParams);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        if (request2.responseTainting === "basic") {
+          response = filterResponse(response, "basic");
+        } else if (request2.responseTainting === "cors") {
+          response = filterResponse(response, "cors");
+        } else if (request2.responseTainting === "opaque") {
+          response = filterResponse(response, "opaque");
         } else {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
+      }
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) {
+        response = internalResponse = makeNetworkError();
+      }
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
+      }
+      if (request2.integrity) {
+        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
+        if (request2.responseTainting === "opaque" || response.body == null) {
+          processBodyError(response.error);
           return;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          return;
+        const processBody = (bytes) => {
+          if (!bytesMatch(bytes, request2.integrity)) {
+            processBodyError("integrity mismatch");
+            return;
+          }
+          response.body = safelyExtractBody(bytes)[0];
+          fetchFinale(fetchParams, response);
+        };
+        await fullyReadBody(response.body, processBody, processBodyError);
+      } else {
+        fetchFinale(fetchParams, response);
+      }
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      }
+      const { request: request2 } = fetchParams;
+      const { protocol: scheme } = requestCurrentURL(request2);
+      switch (scheme) {
+        case "about:": {
+          return Promise.resolve(makeNetworkError("about scheme is not supported"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        case "blob:": {
+          if (!resolveObjectURL) {
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = blob.type;
+          if (!request2.headersList.contains("range", true)) {
+            const bodyWithType = extractBody(blob);
+            response.statusText = "OK";
+            response.body = bodyWithType[0];
+            response.headersList.set("content-length", serializedFullLength, true);
+            response.headersList.set("content-type", type2, true);
+          } else {
+            response.rangeRequested = true;
+            const rangeHeader = request2.headersList.get("range", true);
+            const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
+            if (rangeValue === "failure") {
+              return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+            }
+            let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
+            if (rangeStart === null) {
+              rangeStart = fullLength - rangeEnd;
+              rangeEnd = rangeStart + rangeEnd - 1;
+            } else {
+              if (rangeStart >= fullLength) {
+                return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
+              }
+              if (rangeEnd === null || rangeEnd >= fullLength) {
+                rangeEnd = fullLength - 1;
+              }
+            }
+            const slicedBlob = blob.slice(rangeStart, rangeEnd, type2);
+            const slicedBodyWithType = extractBody(slicedBlob);
+            response.body = slicedBodyWithType[0];
+            const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
+            const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
+            response.status = 206;
+            response.statusText = "Partial Content";
+            response.headersList.set("content-length", serializedSlicedLength, true);
+            response.headersList.set("content-type", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        case "data:": {
+          const currentURL = requestCurrentURL(request2);
+          const dataURLStruct = dataURLProcessor(currentURL);
+          if (dataURLStruct === "failure") {
+            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+          }
+          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
+          return Promise.resolve(makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-type", { name: "Content-Type", value: mimeType }]
+            ],
+            body: safelyExtractBody(dataURLStruct.body)[0]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        case "file:": {
+          return Promise.resolve(makeNetworkError("not implemented... yet..."));
+        }
+        case "http:":
+        case "https:": {
+          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        }
+        default: {
+          return Promise.resolve(makeNetworkError("unknown scheme"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
+      }
+    }
+    function fetchFinale(fetchParams, response) {
+      let timingInfo = fetchParams.timingInfo;
+      const processResponseEndOfBody = () => {
+        const unsafeEndTime = Date.now();
+        if (fetchParams.request.destination === "document") {
+          fetchParams.controller.fullTimingInfo = timingInfo;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = contentRange;
-          assert(this.start === start, "content-range mismatch");
-          assert(this.end == null || this.end === end, "content-range mismatch");
-          this.resume = resume;
-          return true;
-        }
-        if (this.end == null) {
-          if (statusCode === 206) {
-            const range = parseRangeHeader(headers["content-range"]);
-            if (range == null) {
-              return this.handler.onHeaders(
-                statusCode,
-                rawHeaders,
-                resume,
-                statusMessage
-              );
+          let responseStatus = 0;
+          if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
+            responseStatus = response.status;
+            const mimeType = extractMimeType(response.headersList);
+            if (mimeType !== "failure") {
+              bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== end,
-              "invalid content-length"
-            );
-            this.start = start;
-            this.end = end;
           }
-          if (this.end == null) {
-            const contentLength = headers["content-length"];
-            this.end = contentLength != null ? Number(contentLength) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          assert(Number.isFinite(this.start));
-          assert(
-            this.end == null || Number.isFinite(this.end),
-            "invalid content-length"
-          );
-          this.resume = resume;
-          this.etag = headers.etag != null ? headers.etag : null;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        const processResponseEndOfBodyTask = () => {
+          fetchParams.request.done = true;
+          if (fetchParams.processResponseEndOfBody != null) {
+            queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+          }
+          if (fetchParams.request.initiatorType != null) {
+            fetchParams.controller.reportTimingSteps();
+          }
+        };
+        queueMicrotask(() => processResponseEndOfBodyTask());
+      };
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            opts: { retryOptions: this.retryOpts, ...this.opts }
-          },
-          onRetry.bind(this)
-        );
-        function onRetry(err2) {
-          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
-            return this.handler.onError(err2);
-          }
-          if (this.start !== 0) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
+        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
+          return makeNetworkError("cors failure");
+        }
+        if (TAOCheck(request2, response) === "failure") {
+          request2.timingAllowFailed = true;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy(void 0, false);
+        }
+        if (request2.redirect === "error") {
+          response = makeNetworkError("unexpected redirect");
+        } else if (request2.redirect === "manual") {
+          response = actualResponse;
+        } else if (request2.redirect === "follow") {
+          response = await httpRedirectFetch(fetchParams, response);
+        } else {
+          assert(false);
+        }
+      }
+      response.timingInfo = timingInfo;
+      return response;
     }
-    function getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    function httpRedirectFetch(fetchParams, response) {
+      const request2 = fetchParams.request;
+      const actualResponse = response.internalResponse ? response.internalResponse : response;
+      let locationURL;
+      try {
+        locationURL = responseLocationURL(
+          actualResponse,
+          requestCurrentURL(request2).hash
+        );
+        if (locationURL == null) {
+          return response;
+        }
+      } catch (err) {
+        return Promise.resolve(makeNetworkError(err));
+      }
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
+      }
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
+      }
+      request2.redirectCount += 1;
+      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
+        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
+      }
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
+      }
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
+      }
+      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
+        request2.method = "GET";
+        request2.body = null;
+        for (const headerName of requestBodyHeader) {
+          request2.headersList.delete(headerName);
+        }
+      }
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization", true);
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
+      }
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
+      }
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
+      }
+      request2.urlList.push(locationURL);
+      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
+      return mainFetch(fetchParams, true);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
+      const request2 = fetchParams.request;
+      let httpFetchParams = null;
+      let httpRequest = null;
+      let response = null;
+      const httpCache = null;
+      const revalidatingFlag = false;
+      if (request2.window === "no-window" && request2.redirect === "error") {
+        httpFetchParams = fetchParams;
+        httpRequest = request2;
+      } else {
+        httpRequest = cloneRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
+      const contentLength = httpRequest.body ? httpRequest.body.length : null;
+      let contentLengthHeaderValue = null;
+      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
+        contentLengthHeaderValue = "0";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
+        httpRequest.cache = "no-store";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
-    function isHTTPWhiteSpaceCharCode(code) {
-      return code === 10 || code === 13 || code === 9 || code === 32;
-    }
-    function headerValueNormalize(potentialValue) {
-      let i = 0;
-      let j = potentialValue.length;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
-      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
-    }
-    function fill(headers, object) {
-      if (Array.isArray(object)) {
-        for (let i = 0; i < object.length; ++i) {
-          const header = object[i];
-          if (header.length !== 2) {
-            throw webidl.errors.exception({
-              header: "Headers constructor",
-              message: `expected name/value pair to be length 2, found ${header.length}.`
-            });
-          }
-          appendHeader(headers, header[0], header[1]);
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
+        httpRequest.headersList.append("cache-control", "max-age=0", true);
+      }
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
         }
-      } else if (typeof object === "object" && object !== null) {
-        const keys = Object.keys(object);
-        for (let i = 0; i < keys.length; ++i) {
-          appendHeader(headers, keys[i], object[keys[i]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } else {
-        throw webidl.errors.conversionFailed({
-          prefix: "Headers constructor",
-          argument: "Argument 1",
-          types: ["sequence>", "record"]
-        });
-      }
-    }
-    function appendHeader(headers, name, value) {
-      value = headerValueNormalize(value);
-      if (!isValidHeaderName(name)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value: name,
-          type: "header name"
-        });
-      } else if (!isValidHeaderValue(value)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value,
-          type: "header value"
-        });
       }
-      if (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    var HeadersList = class _HeadersList {
-      /** @type {[string, string][]|null} */
-      cookies = null;
-      constructor(init) {
-        if (init instanceof _HeadersList) {
-          this[kHeadersMap] = new Map(init[kHeadersMap]);
-          this[kHeadersSortedMap] = init[kHeadersSortedMap];
-          this.cookies = init.cookies === null ? null : [...init.cookies];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        if (exists) {
-          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
-          this[kHeadersMap].set(lowercaseName, {
-            name: exists.name,
-            value: `${exists.value}${delimiter}${value}`
-          });
-        } else {
-          this[kHeadersMap].set(lowercaseName, { name, value });
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      if (
+        // response’s status is 421
+        response.status === 421 && // isNewConnectionFetch is false
+        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
+        (request2.body == null || request2.body.source != null)
+      ) {
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
+        fetchParams.controller.connection.destroy();
+        response = await httpNetworkOrCacheFetch(
+          fetchParams,
+          isAuthenticationFetch,
+          true
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      return response;
+    }
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err, abort = true) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
+          if (isErrored(stream)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve4, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable({ read: resume });
+              const decoders = [];
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib.createBrotliDecompress({
+                      flush: zlib.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve4({
+                status,
+                statusText,
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              if (fetchParams.controller.onAborted) {
+                fetchParams.controller.off("terminated", fetchParams.controller.onAborted);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, rawHeaders, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              resolve4({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url = webidl.converters.USVString(url);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        initializeResponse(this, init, bodyWithType);
-      }
-      // Returns response’s type, e.g., "cors".
-      get type() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].type;
-      }
-      // Returns response’s URL, if it has one; otherwise the empty string.
-      get url() {
-        webidl.brandCheck(this, _Response);
-        const urlList = this[kState].urlList;
-        const url = urlList[urlList.length - 1] ?? null;
-        if (url === null) {
-          return "";
-        }
-        return URLSerializer(url, true);
-      }
-      // Returns whether response was obtained through a redirect.
-      get redirected() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].urlList.length > 1;
-      }
-      // Returns response’s status.
-      get status() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status;
-      }
-      // Returns whether response’s status is an ok status.
-      get ok() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status >= 200 && this[kState].status <= 299;
-      }
-      // Returns response’s status message.
-      get statusText() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].statusText;
-      }
-      // Returns response’s headers as Headers.
-      get headers() {
-        webidl.brandCheck(this, _Response);
-        return this[kHeaders];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    mixinBody(Response);
-    Object.defineProperties(Response.prototype, {
-      type: kEnumerableProperty,
-      url: kEnumerableProperty,
-      status: kEnumerableProperty,
-      ok: kEnumerableProperty,
-      redirected: kEnumerableProperty,
-      statusText: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Response",
-        configurable: true
-      }
-    });
-    Object.defineProperties(Response, {
-      json: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      error: kEnumerableProperty
-    });
-    function cloneResponse(response) {
-      if (response.internalResponse) {
-        return filterResponse(
-          cloneResponse(response.internalResponse),
-          response.type
-        );
-      }
-      const newResponse = makeResponse({ ...response, body: null });
-      if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
-      }
-      return newResponse;
-    }
-    function makeResponse(init) {
-      return {
-        aborted: false,
-        rangeRequested: false,
-        timingAllowPassed: false,
-        requestIncludesCredentials: false,
-        type: "default",
-        status: 200,
-        timingInfo: null,
-        cacheState: "",
-        statusText: "",
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
-      };
-    }
-    function makeNetworkError(reason) {
-      const isError = isErrorLike(reason);
-      return makeResponse({
-        type: "error",
-        status: 0,
-        error: isError ? reason : new Error(reason ? String(reason) : reason),
-        aborted: reason && reason.name === "AbortError"
-      });
-    }
-    function makeFilteredResponse(response, state) {
-      state = {
-        internalResponse: response,
-        ...state
-      };
-      return new Proxy(response, {
-        get(target, p) {
-          return p in state ? state[p] : target[p];
-        },
-        set(target, p, value) {
-          assert(!(p in state));
-          target[p] = value;
-          return true;
-        }
-      });
-    }
-    function filterResponse(response, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "opaqueredirect") {
-        return makeFilteredResponse(response, {
-          type: "opaqueredirect",
-          status: 0,
-          statusText: "",
-          headersList: [],
-          body: null
-        });
-      } else {
-        assert(false);
-      }
-    }
-    function makeAppropriateNetworkError(fetchParams, err = null) {
-      assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      if ("statusText" in init && init.statusText != null) {
-        if (!isValidReasonPhrase(String(init.statusText))) {
-          throw new TypeError("Invalid statusText");
-        }
-      }
-      if ("status" in init && init.status != null) {
-        response[kState].status = init.status;
-      }
-      if ("statusText" in init && init.statusText != null) {
-        response[kState].statusText = init.statusText;
+    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
+      {
+        key: "lengthComputable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "loaded",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "total",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      switch (label.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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    webidl.converters.ResponseInit = webidl.dictionaryConverter([
-      {
-        key: "status",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 200
-      },
-      {
-        key: "statusText",
-        converter: webidl.converters.ByteString,
-        defaultValue: ""
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      }
-    ]);
     module2.exports = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream = blob.stream();
+      const reader = stream.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
           try {
-            parsedURL = new URL(input, baseUrl);
-          } catch (err) {
-            throw new TypeError("Failed to parse URL from " + input, { cause: err });
-          }
-          if (parsedURL.username || parsedURL.password) {
-            throw new TypeError(
-              "Request cannot be constructed from a URL that includes credentials: " + input
-            );
-          }
-          request2 = makeRequest({ urlList: [parsedURL] });
-          fallbackMode = "cors";
-        } else {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "no-window";
-        }
-        request2 = makeRequest({
-          // URL request’s URL.
-          // undici implementation note: this is set as the first item in request's urlList in makeRequest
-          // method request’s method.
-          method: request2.method,
-          // header list A copy of request’s header list.
-          // undici implementation note: headersList is cloned in makeRequest
-          headersList: request2.headersList,
-          // unsafe-request flag Set.
-          unsafeRequest: request2.unsafeRequest,
-          // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // priority request’s priority.
-          priority: request2.priority,
-          // origin request’s origin. The propagation of the origin is only significant for navigation requests
-          // being handled by a service worker. In this scenario a request can have an origin that is different
-          // from the current client.
-          origin: request2.origin,
-          // referrer request’s referrer.
-          referrer: request2.referrer,
-          // referrer policy request’s referrer policy.
-          referrerPolicy: request2.referrerPolicy,
-          // mode request’s mode.
-          mode: request2.mode,
-          // credentials mode request’s credentials mode.
-          credentials: request2.credentials,
-          // cache mode request’s cache mode.
-          cache: request2.cache,
-          // redirect mode request’s redirect mode.
-          redirect: request2.redirect,
-          // integrity metadata request’s integrity metadata.
-          integrity: request2.integrity,
-          // keepalive request’s keepalive.
-          keepalive: request2.keepalive,
-          // reload-navigation flag request’s reload-navigation flag.
-          reloadNavigation: request2.reloadNavigation,
-          // history-navigation flag request’s history-navigation flag.
-          historyNavigation: request2.historyNavigation,
-          // URL list A clone of request’s URL list.
-          urlList: [...request2.urlList]
-        });
-        const initHasKey = Object.keys(init).length !== 0;
-        if (initHasKey) {
-          if (request2.mode === "navigate") {
-            request2.mode = "same-origin";
-          }
-          request2.reloadNavigation = false;
-          request2.historyNavigation = false;
-          request2.origin = "client";
-          request2.referrer = "client";
-          request2.referrerPolicy = "";
-          request2.url = request2.urlList[request2.urlList.length - 1];
-          request2.urlList = [request2.url];
-        }
-        if (init.referrer !== void 0) {
-          const referrer = init.referrer;
-          if (referrer === "") {
-            request2.referrer = "no-referrer";
-          } else {
-            let parsedReferrer;
-            try {
-              parsedReferrer = new URL(referrer, baseUrl);
-            } catch (err) {
-              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
-            }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        if (init.referrerPolicy !== void 0) {
-          request2.referrerPolicy = init.referrerPolicy;
-        }
-        let mode;
-        if (init.mode !== void 0) {
-          mode = init.mode;
-        } else {
-          mode = fallbackMode;
-        }
-        if (mode === "navigate") {
-          throw webidl.errors.exception({
-            header: "Request constructor",
-            message: "invalid request mode navigate."
-          });
-        }
-        if (mode != null) {
-          request2.mode = mode;
-        }
-        if (init.credentials !== void 0) {
-          request2.credentials = init.credentials;
-        }
-        if (init.cache !== void 0) {
-          request2.cache = init.cache;
-        }
-        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
-          throw new TypeError(
-            "'only-if-cached' can be set only with 'same-origin' mode"
-          );
-        }
-        if (init.redirect !== void 0) {
-          request2.redirect = init.redirect;
-        }
-        if (init.integrity != null) {
-          request2.integrity = String(init.integrity);
-        }
-        if (init.keepalive !== void 0) {
-          request2.keepalive = Boolean(init.keepalive);
-        }
-        if (init.method !== void 0) {
-          let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            throw new TypeError(
-              "Failed to construct 'Request': member signal is not of type AbortSignal."
-            );
-          }
-          if (signal.aborted) {
-            ac.abort(signal.reason);
-          } else {
-            this[kAbortController] = ac;
-            const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            isFirstChunk = false;
+            if (!done && types.isUint8Array(value)) {
+              bytes.push(value);
+              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
+                fr[kLastProgressEventFired] = Date.now();
+                queueMicrotask(() => {
+                  fireAProgressEvent("progress", fr);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        const inputBody = input instanceof _Request ? input[kState].body : null;
-        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
-          throw new TypeError("Request with GET/HEAD method cannot have body.");
-        }
-        let initBody = null;
-        if (init.body != null) {
-          const [extractedBody, contentType] = extractBody(
-            init.body,
-            request2.keepalive
-          );
-          initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        const inputOrInitBody = initBody ?? inputBody;
-        if (inputOrInitBody != null && inputOrInitBody.source == null) {
-          if (initBody != null && init.duplex == null) {
-            throw new TypeError("RequestInit: duplex option is required when sending a body.");
-          }
-          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
-            throw new TypeError(
-              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          inputBody.stream.pipeThrough(identityTransform);
-          finalBody = {
-            source: inputBody.source,
-            length: inputBody.length,
-            stream: identityTransform.readable
-          };
-        }
-        this[kState].body = finalBody;
-      }
-      // Returns request’s HTTP method, which is "GET" by default.
-      get method() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].method;
-      }
-      // Returns the URL of request as a string.
-      get url() {
-        webidl.brandCheck(this, _Request);
-        return URLSerializer(this[kState].url);
-      }
-      // Returns a Headers object consisting of the headers associated with request.
-      // Note that headers added in the network layer by the user agent will not
-      // be accounted for in this object, e.g., the "Host" header.
-      get headers() {
-        webidl.brandCheck(this, _Request);
-        return this[kHeaders];
-      }
-      // Returns the kind of resource requested by request, e.g., "document"
-      // or "script".
-      get destination() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].destination;
-      }
-      // Returns the referrer of request. Its value can be a same-origin URL if
-      // explicitly set in init, the empty string to indicate no referrer, and
-      // "about:client" when defaulting to the global’s default. This is used
-      // during fetching to determine the value of the `Referer` header of the
-      // request being made.
-      get referrer() {
-        webidl.brandCheck(this, _Request);
-        if (this[kState].referrer === "no-referrer") {
-          return "";
-        }
-        if (this[kState].referrer === "client") {
-          return "about:client";
+          return decode(bytes, encoding);
         }
-        return this[kState].referrer.toString();
-      }
-      // Returns the referrer policy associated with request.
-      // This is used during fetching to compute the value of the request’s
-      // referrer.
-      get referrerPolicy() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].referrerPolicy;
-      }
-      // Returns the mode associated with request, which is a string indicating
-      // whether the request will use CORS, or will be restricted to same-origin
-      // URLs.
-      get mode() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].mode;
-      }
-      // Returns the credentials mode associated with request,
-      // which is a string indicating whether credentials will be sent with the
-      // request always, never, or only when sent to a same-origin URL.
-      get credentials() {
-        return this[kState].credentials;
-      }
-      // Returns the cache mode associated with request,
-      // which is a string indicating how the request will
-      // interact with the browser’s cache when fetching.
-      get cache() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].cache;
-      }
-      // Returns the redirect mode associated with request,
-      // which is a string indicating how redirects for the
-      // request will be handled during fetching. A request
-      // will follow redirects by default.
-      get redirect() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].redirect;
-      }
-      // Returns request’s subresource integrity metadata, which is a
-      // cryptographic hash of the resource being fetched. Its value
-      // consists of multiple hashes separated by whitespace. [SRI]
-      get integrity() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].integrity;
-      }
-      // Returns a boolean indicating whether or not request can outlive the
-      // global in which it was created.
-      get keepalive() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].keepalive;
-      }
-      // Returns a boolean indicating whether or not request is for a reload
-      // navigation.
-      get isReloadNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].reloadNavigation;
-      }
-      // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
-      get isHistoryNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].historyNavigation;
-      }
-      // Returns the signal associated with request, which is an AbortSignal
-      // object indicating whether or not request has been aborted, and its
-      // abort event handler.
-      get signal() {
-        webidl.brandCheck(this, _Request);
-        return this[kSignal];
-      }
-      get body() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].body ? this[kState].body.stream : null;
-      }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Request);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
-      }
-      get duplex() {
-        webidl.brandCheck(this, _Request);
-        return "half";
-      }
-      // Returns a clone of request.
-      clone() {
-        webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    function decode(ioQueue, encoding) {
+      const bytes = combineByteSequences(ioQueue);
+      const BOMEncoding = BOMSniffing(bytes);
+      let slice = 0;
+      if (BOMEncoding !== null) {
+        encoding = BOMEncoding;
+        slice = BOMEncoding === "UTF-8" ? 3 : 2;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    Object.defineProperties(Request.prototype, {
-      method: kEnumerableProperty,
-      url: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      signal: kEnumerableProperty,
-      duplex: kEnumerableProperty,
-      destination: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      isHistoryNavigation: kEnumerableProperty,
-      isReloadNavigation: kEnumerableProperty,
-      keepalive: kEnumerableProperty,
-      integrity: kEnumerableProperty,
-      cache: kEnumerableProperty,
-      credentials: kEnumerableProperty,
-      attribute: kEnumerableProperty,
-      referrerPolicy: kEnumerableProperty,
-      referrer: kEnumerableProperty,
-      mode: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Request",
-        configurable: true
-      }
-    });
-    webidl.converters.Request = webidl.interfaceConverter(
-      Request
-    );
-    webidl.converters.RequestInfo = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    function BOMSniffing(ioQueue) {
+      const [a, b, c] = ioQueue;
+      if (a === 239 && b === 187 && c === 191) {
+        return "UTF-8";
+      } else if (a === 254 && b === 255) {
+        return "UTF-16BE";
+      } else if (a === 255 && b === 254) {
+        return "UTF-16LE";
       }
-      return webidl.converters.USVString(V);
+      return null;
+    }
+    function combineByteSequences(sequences) {
+      const size = sequences.reduce((a, b) => {
+        return a + b.byteLength;
+      }, 0);
+      let offset = 0;
+      return sequences.reduce((a, b) => {
+        a.set(b, offset);
+        offset += b.byteLength;
+        return a;
+      }, new Uint8Array(size));
+    }
+    module2.exports = {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
     };
-    webidl.converters.AbortSignal = webidl.interfaceConverter(
-      AbortSignal
-    );
-    webidl.converters.RequestInit = webidl.dictionaryConverter([
-      {
-        key: "method",
-        converter: webidl.converters.ByteString
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      },
-      {
-        key: "body",
-        converter: webidl.nullableConverter(
-          webidl.converters.BodyInit
-        )
-      },
-      {
-        key: "referrer",
-        converter: webidl.converters.USVString
-      },
-      {
-        key: "referrerPolicy",
-        converter: webidl.converters.DOMString,
-        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
-        allowedValues: referrerPolicy
-      },
-      {
-        key: "mode",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#concept-request-mode
-        allowedValues: requestMode
-      },
-      {
-        key: "credentials",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcredentials
-        allowedValues: requestCredentials
-      },
-      {
-        key: "cache",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcache
-        allowedValues: requestCache
-      },
-      {
-        key: "redirect",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestredirect
-        allowedValues: requestRedirect
-      },
-      {
-        key: "integrity",
-        converter: webidl.converters.DOMString
-      },
-      {
-        key: "keepalive",
-        converter: webidl.converters.boolean
-      },
-      {
-        key: "signal",
-        converter: webidl.nullableConverter(
-          (signal) => webidl.converters.AbortSignal(
-            signal,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib = require("zlib");
-    var {
-      bytesMatch,
-      makePolicyContainer,
-      clonePolicyContainer,
-      requestBadPort,
-      TAOCheck,
-      appendRequestOriginHeader,
-      responseLocationURL,
-      requestCurrentURL,
-      setRequestReferrerPolicyOnRedirect,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      createOpaqueTimingInfo,
-      appendFetchMetadata,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      determineRequestsReferrer,
-      coarsenedSharedCurrentTime,
-      createDeferredPromise,
-      isBlobLike,
-      sameOrigin,
-      isCancelled,
-      isAborted,
-      isErrorLike,
-      fullyReadBody,
-      readableStreamClose,
-      isomorphicEncode,
-      urlIsLocal,
-      urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsDataText
+       * @param {import('buffer').Blob} blob
+       * @param {string?} encoding
+       */
+      readAsText(blob, encoding = void 0) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
+        }
+        readOperation(this, blob, "Text", encoding);
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
           return;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
+       */
+      get readyState() {
+        webidl.brandCheck(this, _FileReader);
+        switch (this[kState]) {
+          case "empty":
+            return this.EMPTY;
+          case "loading":
+            return this.LOADING;
+          case "done":
+            return this.DONE;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
+      }
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
+      }
+      set onloadend(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadend) {
+          this.removeEventListener("loadend", this[kEvents].loadend);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].loadend = fn;
+          this.addEventListener("loadend", fn);
+        } else {
+          this[kEvents].loadend = null;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      set onerror(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].error) {
+          this.removeEventListener("error", this[kEvents].error);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      get onprogress() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].progress;
+      }
+      set onprogress(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].progress) {
+          this.removeEventListener("progress", this[kEvents].progress);
         }
-        if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      set onabort(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].abort) {
+          this.removeEventListener("abort", this[kEvents].abort);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].abort = fn;
+          this.addEventListener("abort", fn);
+        } else {
+          this[kEvents].abort = null;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
+    FileReader.LOADING = FileReader.prototype.LOADING = 1;
+    FileReader.DONE = FileReader.prototype.DONE = 2;
+    Object.defineProperties(FileReader.prototype, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors,
+      readAsArrayBuffer: kEnumerableProperty,
+      readAsBinaryString: kEnumerableProperty,
+      readAsText: kEnumerableProperty,
+      readAsDataURL: kEnumerableProperty,
+      abort: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      result: kEnumerableProperty,
+      error: kEnumerableProperty,
+      onloadstart: kEnumerableProperty,
+      onprogress: kEnumerableProperty,
+      onload: kEnumerableProperty,
+      onabort: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onloadend: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FileReader",
+        writable: false,
+        enumerable: false,
+        configurable: true
+      }
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
+    module2.exports = {
+      FileReader
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    function getFieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (isValidHeaderName(value)) {
+          values.push(value);
+        }
       }
+      return values;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    var assert = require("node:assert");
+    var Cache = class _Cache {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
+       * @type {requestResponseList}
+       */
+      #relevantRequestResponseList;
+      constructor() {
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
+        }
+        webidl.util.markAsUncloneable(this);
+        this.#relevantRequestResponseList = arguments[1];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.match";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        const p = this.#internalMatchAll(request2, options, 1);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
+      }
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.matchAll";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        return this.#internalMatchAll(request2, options);
+      }
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.add";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
+      }
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const responsePromises = [];
+        const requestList = [];
+        for (let request2 of requests) {
+          if (request2 === void 0) {
+            throw webidl.errors.conversionFailed({
+              prefix,
+              argument: "Argument 1",
+              types: ["undefined is not allowed"]
+            });
+          }
+          request2 = webidl.converters.RequestInfo(request2);
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme when method is not GET."
+            });
+          }
+        }
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme."
+            });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
+        }
+        const p = Promise.all(responsePromises);
+        const responses = await p;
+        const operations = [];
+        let index = 0;
+        for (const response of responses) {
+          const operation = {
+            type: "put",
+            // 7.3.2
+            request: requestList[index],
+            // 7.3.3
+            response
+            // 7.3.4
+          };
+          operations.push(operation);
+          index++;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(void 0);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.put";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        response = webidl.converters.Response(response, prefix, "response");
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
+        }
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Expected an http/s scheme when method is not GET"
+          });
+        }
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Got 206 status"
+          });
+        }
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: "Got * vary field value"
+              });
+            }
+          }
+        }
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Response body is locked or disturbed"
+          });
+        }
+        const clonedResponse = cloneResponse(innerResponse);
+        const bodyReadPromise = createDeferredPromise();
+        if (innerResponse.body != null) {
+          const stream = innerResponse.body.stream;
+          const reader = stream.getReader();
+          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+        } else {
+          bodyReadPromise.resolve(void 0);
+        }
+        const operations = [];
+        const operation = {
+          type: "put",
+          // 14.
+          request: innerRequest,
+          // 15.
+          response: clonedResponse
+          // 16.
+        };
+        operations.push(operation);
+        const bytes = await bodyReadPromise.promise;
+        if (clonedResponse.body != null) {
+          clonedResponse.body.source = bytes;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve();
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      const fetchParams = {
-        controller: new Fetch(dispatcher),
-        request: request2,
-        timingInfo,
-        processRequestBodyChunkLength,
-        processRequestEndOfBody,
-        processResponse,
-        processResponseConsumeBody,
-        processResponseEndOfBody,
-        taskDestination,
-        crossOriginIsolatedCapability
-      };
-      assert(!request2.body || request2.body.stream);
-      if (request2.window === "client") {
-        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
-      }
-      if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
-      }
-      if (request2.policyContainer === "client") {
-        if (request2.client != null) {
-          request2.policyContainer = clonePolicyContainer(
-            request2.client.policyContainer
-          );
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
+          }
         } else {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      if (request2.priority === null) {
-      }
-      if (subresourceSet.has(request2.destination)) {
-      }
-      mainFetch(fetchParams).catch((err) => {
-        fetchParams.controller.terminate(err);
-      });
-      return fetchParams.controller;
-    }
-    async function mainFetch(fetchParams, recursive = false) {
-      const request2 = fetchParams.request;
-      let response = null;
-      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
-        response = makeNetworkError("local URLs only");
-      }
-      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
-      if (requestBadPort(request2) === "blocked") {
-        response = makeNetworkError("bad port");
-      }
-      if (request2.referrerPolicy === "") {
-        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
-      }
-      if (request2.referrer !== "no-referrer") {
-        request2.referrer = determineRequestsReferrer(request2);
-      }
-      if (response === null) {
-        response = await (async () => {
-          const currentURL = requestCurrentURL(request2);
-          if (
-            // - request’s current URL’s origin is same origin with request’s origin,
-            //   and request’s response tainting is "basic"
-            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
-            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
-            (request2.mode === "navigate" || request2.mode === "websocket")
-          ) {
-            request2.responseTainting = "basic";
-            return await schemeFetch(fetchParams);
-          }
-          if (request2.mode === "same-origin") {
-            return makeNetworkError('request mode cannot be "same-origin"');
+        const operations = [];
+        const operation = {
+          type: "delete",
+          request: r,
+          options
+        };
+        operations.push(operation);
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        let requestResponses;
+        try {
+          requestResponses = this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        return cacheJobPromise.promise;
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {Promise}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          request2.responseTainting = "cors";
-          return await httpFetch(fetchParams);
-        })();
-      }
-      if (recursive) {
-        return response;
-      }
-      if (response.status !== 0 && !response.internalResponse) {
-        if (request2.responseTainting === "cors") {
         }
-        if (request2.responseTainting === "basic") {
-          response = filterResponse(response, "basic");
-        } else if (request2.responseTainting === "cors") {
-          response = filterResponse(response, "cors");
-        } else if (request2.responseTainting === "opaque") {
-          response = filterResponse(response, "opaque");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
+          }
         }
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
+            requestList.push(requestObject);
+          }
+          promise.resolve(Object.freeze(requestList));
+        });
+        return promise.promise;
       }
-      let internalResponse = response.status === 0 ? response : response.internalResponse;
-      if (internalResponse.urlList.length === 0) {
-        internalResponse.urlList.push(...request2.urlList);
-      }
-      if (!request2.timingAllowFailed) {
-        response.timingAllowPassed = true;
-      }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
-        response = internalResponse = makeNetworkError();
-      }
-      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
-        internalResponse.body = null;
-        fetchParams.controller.dump = true;
-      }
-      if (request2.integrity) {
-        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
-        if (request2.responseTainting === "opaque" || response.body == null) {
-          processBodyError(response.error);
-          return;
-        }
-        const processBody = (bytes) => {
-          if (!bytesMatch(bytes, request2.integrity)) {
-            processBodyError("integrity mismatch");
-            return;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
+       * @param {CacheBatchOperation[]} operations
+       * @returns {requestResponseList}
+       */
+      #batchCacheOperations(operations) {
+        const cache = this.#relevantRequestResponseList;
+        const backupCache = [...cache];
+        const addedItems = [];
+        const resultList = [];
+        try {
+          for (const operation of operations) {
+            if (operation.type !== "delete" && operation.type !== "put") {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: 'operation type does not match "delete" or "put"'
+              });
+            }
+            if (operation.type === "delete" && operation.response != null) {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: "delete operation should not have an associated response"
+              });
+            }
+            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
+              throw new DOMException("???", "InvalidStateError");
+            }
+            let requestResponses;
+            if (operation.type === "delete") {
+              requestResponses = this.#queryCache(operation.request, operation.options);
+              if (requestResponses.length === 0) {
+                return [];
+              }
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+            } else if (operation.type === "put") {
+              if (operation.response == null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "put operation should have an associated response"
+                });
+              }
+              const r = operation.request;
+              if (!urlIsHttpHttpsScheme(r.url)) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "expected http or https scheme"
+                });
+              }
+              if (r.method !== "GET") {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "not get method"
+                });
+              }
+              if (operation.options != null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "options must not be defined"
+                });
+              }
+              requestResponses = this.#queryCache(operation.request);
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+              cache.push([operation.request, operation.response]);
+              addedItems.push([operation.request, operation.response]);
+            }
+            resultList.push([operation.request, operation.response]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#query-cache
+       * @param {any} requestQuery
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @param {requestResponseList} targetStorage
+       * @returns {requestResponseList}
+       */
+      #queryCache(requestQuery, options, targetStorage) {
+        const resultList = [];
+        const storage = targetStorage ?? this.#relevantRequestResponseList;
+        for (const requestResponse of storage) {
+          const [cachedRequest, cachedResponse] = requestResponse;
+          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
+            resultList.push(requestResponse);
+          }
+        }
+        return resultList;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
+       * @param {any} requestQuery
+       * @param {any} request
+       * @param {any | null} response
+       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
+       * @returns {boolean}
+       */
+      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
+        const queryURL = new URL(requestQuery.url);
+        const cachedURL = new URL(request2.url);
+        if (options?.ignoreSearch) {
+          cachedURL.search = "";
+          queryURL.search = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
+        }
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
+        }
+        const fieldValues = getFieldValues(response.headersList.get("vary"));
+        for (const fieldValue of fieldValues) {
+          if (fieldValue === "*") {
+            return false;
           }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          return Promise.resolve(response);
         }
-        case "data:": {
-          const currentURL = requestCurrentURL(request2);
-          const dataURLStruct = dataURLProcessor(currentURL);
-          if (dataURLStruct === "failure") {
-            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+        return true;
+      }
+      #internalMatchAll(request2, options, maxResponses = Infinity) {
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
-          return Promise.resolve(makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-type", { name: "Content-Type", value: mimeType }]
-            ],
-            body: safelyExtractBody(dataURLStruct.body)[0]
-          }));
-        }
-        case "file:": {
-          return Promise.resolve(makeNetworkError("not implemented... yet..."));
         }
-        case "http:":
-        case "https:": {
-          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = fromInnerResponse(response, "immutable");
+          responseList.push(responseObject.clone());
+          if (responseList.length >= maxResponses) {
+            break;
+          }
         }
+        return Object.freeze(responseList);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    Object.defineProperties(Cache.prototype, {
+      [Symbol.toStringTag]: {
+        value: "Cache",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      matchAll: kEnumerableProperty,
+      add: kEnumerableProperty,
+      addAll: kEnumerableProperty,
+      put: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    var cacheQueryOptionConverters = [
+      {
+        key: "ignoreSearch",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreMethod",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreVary",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.has(cacheName);
       }
-      if (response === null) {
-        if (request2.redirect === "follow") {
-          request2.serviceWorkers = "none";
-        }
-        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
-        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
-          return makeNetworkError("cors failure");
-        }
-        if (TAOCheck(request2, response) === "failure") {
-          request2.timingAllowFailed = true;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.open";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.delete(cacheName);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        if (request2.redirect === "error") {
-          response = makeNetworkError("unexpected redirect");
-        } else if (request2.redirect === "manual") {
-          response = actualResponse;
-        } else if (request2.redirect === "follow") {
-          response = await httpRedirectFetch(fetchParams, response);
-        } else {
-          assert(false);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {Promise}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
+      }
+    };
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      for (let i = 0; i < value.length; ++i) {
+        const code = value.charCodeAt(i);
+        if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
+          return true;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    function httpRedirectFetch(fetchParams, response) {
-      const request2 = fetchParams.request;
-      const actualResponse = response.internalResponse ? response.internalResponse : response;
-      let locationURL;
-      try {
-        locationURL = responseLocationURL(
-          actualResponse,
-          requestCurrentURL(request2).hash
-        );
-        if (locationURL == null) {
-          return response;
+    function validateCookieName(name) {
+      for (let i = 0; i < name.length; ++i) {
+        const code = name.charCodeAt(i);
+        if (code < 33 || // exclude CTLs (0-31), SP and HT
+        code > 126 || // exclude non-ascii and DEL
+        code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 60 || // <
+        code === 62 || // >
+        code === 64 || // @
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 58 || // :
+        code === 92 || // \
+        code === 47 || // /
+        code === 91 || // [
+        code === 93 || // ]
+        code === 63 || // ?
+        code === 61 || // =
+        code === 123 || // {
+        code === 125) {
+          throw new Error("Invalid cookie name");
         }
-      } catch (err) {
-        return Promise.resolve(makeNetworkError(err));
-      }
-      if (!urlIsHttpHttpsScheme(locationURL)) {
-        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
-      }
-      if (request2.redirectCount === 20) {
-        return Promise.resolve(makeNetworkError("redirect count exceeded"));
-      }
-      request2.redirectCount += 1;
-      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
-        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
-      }
-      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
-        return Promise.resolve(makeNetworkError(
-          'URL cannot contain credentials for request mode "cors"'
-        ));
-      }
-      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
-        return Promise.resolve(makeNetworkError());
       }
-      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
-        request2.method = "GET";
-        request2.body = null;
-        for (const headerName of requestBodyHeader) {
-          request2.headersList.delete(headerName);
+    }
+    function validateCookieValue(value) {
+      let len = value.length;
+      let i = 0;
+      if (value[0] === '"') {
+        if (len === 1 || value[len - 1] !== '"') {
+          throw new Error("Invalid cookie value");
         }
+        --len;
+        ++i;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      if (request2.body != null) {
-        assert(request2.body.source != null);
-        request2.body = safelyExtractBody(request2.body.source)[0];
-      }
-      const timingInfo = fetchParams.timingInfo;
-      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
-      if (timingInfo.redirectStartTime === 0) {
-        timingInfo.redirectStartTime = timingInfo.startTime;
+      while (i < len) {
+        const code = value.charCodeAt(i++);
+        if (code < 33 || // exclude CTLs (0-31)
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
+        }
       }
-      request2.urlList.push(locationURL);
-      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
-      return mainFetch(fetchParams, true);
     }
-    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
-      const request2 = fetchParams.request;
-      let httpFetchParams = null;
-      let httpRequest = null;
-      let response = null;
-      const httpCache = null;
-      const revalidatingFlag = false;
-      if (request2.window === "no-window" && request2.redirect === "error") {
-        httpFetchParams = fetchParams;
-        httpRequest = request2;
-      } else {
-        httpRequest = makeRequest(request2);
-        httpFetchParams = { ...fetchParams };
-        httpFetchParams.request = httpRequest;
-      }
-      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
-      const contentLength = httpRequest.body ? httpRequest.body.length : null;
-      let contentLengthHeaderValue = null;
-      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
-        contentLengthHeaderValue = "0";
+    function validateCookiePath(path5) {
+      for (let i = 0; i < path5.length; ++i) {
+        const code = path5.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    var IMFDays = [
+      "Sun",
+      "Mon",
+      "Tue",
+      "Wed",
+      "Thu",
+      "Fri",
+      "Sat"
+    ];
+    var IMFMonths = [
+      "Jan",
+      "Feb",
+      "Mar",
+      "Apr",
+      "May",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Oct",
+      "Nov",
+      "Dec"
+    ];
+    var IMFPaddedNumbers = Array(61).fill(0).map((_, i) => i.toString().padStart(2, "0"));
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`;
+    }
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      for (const part of cookie.unparsed) {
+        if (!part.includes("=")) {
+          throw new Error("Invalid unparsed");
         }
+        const [key, ...value] = part.split("=");
+        out.push(`${key.trim()}=${value.join("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      response.requestIncludesCredentials = includeCredentials;
-      if (response.status === 407) {
-        if (request2.window === "no-window") {
-          return makeNetworkError();
-        }
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        return makeNetworkError("proxy authentication required");
+      let nameValuePair = "";
+      let unparsedAttributes = "";
+      let name = "";
+      let value = "";
+      if (header.includes(";")) {
+        const position = { position: 0 };
+        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
+        unparsedAttributes = header.slice(position.position);
+      } else {
+        nameValuePair = header;
       }
-      if (
-        // response’s status is 421
-        response.status === 421 && // isNewConnectionFetch is false
-        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
-        (request2.body == null || request2.body.source != null)
-      ) {
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        fetchParams.controller.connection.destroy();
-        response = await httpNetworkOrCacheFetch(
-          fetchParams,
-          isAuthenticationFetch,
-          true
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      assert(unparsedAttributes[0] === ";");
+      unparsedAttributes = unparsedAttributes.slice(1);
+      let cookieAv = "";
+      if (unparsedAttributes.includes(";")) {
+        cookieAv = collectASequenceOfCodePointsFast(
+          ";",
+          unparsedAttributes,
+          { position: 0 }
+        );
+        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
       } else {
+        cookieAv = unparsedAttributes;
+        unparsedAttributes = "";
       }
-      let requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      const attributeNameLowercase = attributeName.toLowerCase();
+      if (attributeNameLowercase === "expires") {
+        const expiryTime = new Date(attributeValue);
+        cookieAttributeList.expires = expiryTime;
+      } else if (attributeNameLowercase === "max-age") {
+        const charCode = attributeValue.charCodeAt(0);
+        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      );
-      response.body = { stream };
-      fetchParams.controller.on("terminated", onAborted);
-      fetchParams.controller.resume = async () => {
-        while (true) {
-          let bytes;
-          let isFailure;
-          try {
-            const { done, value } = await fetchParams.controller.next();
-            if (isAborted(fetchParams)) {
-              break;
-            }
-            bytes = done ? void 0 : value;
-          } catch (err) {
-            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
-              bytes = void 0;
-            } else {
-              bytes = err;
-              isFailure = true;
-            }
-          }
-          if (bytes === void 0) {
-            readableStreamClose(fetchParams.controller.controller);
-            finalizeResponse(fetchParams, response);
-            return;
-          }
-          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
-          if (isFailure) {
-            fetchParams.controller.terminate(bytes);
-            return;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
+        }
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
         } else {
-          if (isReadable(stream)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve4, reject) => agent.dispatch(
-          {
-            path: url.pathname + url.search,
-            origin: url.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib.createGunzip({
-                      // Be less strict when decoding compressed responses, since sometimes
-                      // servers send slightly invalid responses that are still accepted
-                      // by common browsers.
-                      // Always using Z_SYNC_FLUSH is what cURL does.
-                      flush: zlib.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve4({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve4({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        cookieAttributeList.path = cookiePath;
+      } else if (attributeNameLowercase === "secure") {
+        cookieAttributeList.secure = true;
+      } else if (attributeNameLowercase === "httponly") {
+        cookieAttributeList.httpOnly = true;
+      } else if (attributeNameLowercase === "samesite") {
+        let enforcement = "Default";
+        const attributeValueLowercase = attributeValue.toLowerCase();
+        if (attributeValueLowercase.includes("none")) {
+          enforcement = "None";
+        }
+        if (attributeValueLowercase.includes("strict")) {
+          enforcement = "Strict";
+        }
+        if (attributeValueLowercase.includes("lax")) {
+          enforcement = "Lax";
+        }
+        cookieAttributeList.sameSite = enforcement;
+      } else {
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
       }
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
     }
     module2.exports = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
+      }
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
+      }
+      return out;
+    }
+    function deleteCookie(headers, name, attributes) {
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
+    }
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
+      }
+      return cookies.map((pair) => parseSetCookie(pair));
+    }
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      }
+    ]);
+    webidl.converters.Cookie = webidl.dictionaryConverter([
+      {
+        converter: webidl.converters.DOMString,
+        key: "name"
+      },
+      {
+        converter: webidl.converters.DOMString,
+        key: "value"
+      },
+      {
+        converter: webidl.nullableConverter((value) => {
+          if (typeof value === "number") {
+            return webidl.converters["unsigned long long"](value);
+          }
+          return new Date(value);
+        }),
+        key: "expires",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters["long long"]),
+        key: "maxAge",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "secure",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "httpOnly",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.converters.USVString,
+        key: "sameSite",
+        allowedValues: ["Strict", "Lax", "None"]
+      },
+      {
+        converter: webidl.sequenceConverter(webidl.converters.DOMString),
+        key: "unparsed",
+        defaultValue: () => new Array(0)
+      }
+    ]);
     module2.exports = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
+      }
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
+      }
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
+        }
+        return this.#eventInit.ports;
+      }
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, init);
+        messageEvent.#eventInit = init;
+        messageEvent.#eventInit.data ??= null;
+        messageEvent.#eventInit.origin ??= "";
+        messageEvent.#eventInit.lastEventId ??= "";
+        messageEvent.#eventInit.source ??= null;
+        messageEvent.#eventInit.ports ??= [];
+        return messageEvent;
+      }
+    };
+    var { createFastMessageEvent } = MessageEvent;
+    delete MessageEvent.createFastMessageEvent;
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
+      }
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
+      }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
+      }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
+      }
+    };
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
+      }
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
+      }
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
+      }
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
+      }
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
+      }
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      reason: kEnumerableProperty,
+      code: kEnumerableProperty,
+      wasClean: kEnumerableProperty
+    });
+    Object.defineProperties(ErrorEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "ErrorEvent",
+        configurable: true
       },
+      message: kEnumerableProperty,
+      filename: kEnumerableProperty,
+      lineno: kEnumerableProperty,
+      colno: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.MessagePort
+    );
+    var eventInit = [
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
-    "use strict";
-    function getEncoding(label) {
-      if (!label) {
-        return "failure";
-      }
-      switch (label.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";
-      }
-    }
-    module2.exports = {
-      getEncoding
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream = blob.stream();
-      const reader = stream.getReader();
-      const bytes = [];
-      let chunkPromise = reader.read();
-      let isFirstChunk = true;
-      (async () => {
-        while (!fr[kAborted]) {
-          try {
-            const { done, value } = await chunkPromise;
-            if (isFirstChunk && !fr[kAborted]) {
-              queueMicrotask(() => {
-                fireAProgressEvent("loadstart", fr);
-              });
-            }
-            isFirstChunk = false;
-            if (!done && types.isUint8Array(value)) {
-              bytes.push(value);
-              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
-                fr[kLastProgressEventFired] = Date.now();
-                queueMicrotask(() => {
-                  fireAProgressEvent("progress", fr);
-                });
-              }
-              chunkPromise = reader.read();
-            } else if (done) {
-              queueMicrotask(() => {
-                fr[kState] = "done";
-                try {
-                  const result = packageData(bytes, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              fireAProgressEvent("error", fr);
-              if (fr[kState] !== "loading") {
-                fireAProgressEvent("loadend", fr);
-              }
-            });
-            break;
-          }
-        }
-      })();
-    }
-    function fireAProgressEvent(e, reader) {
-      const event = new ProgressEvent(e, {
-        bubbles: false,
-        cancelable: false
-      });
-      reader.dispatchEvent(event);
-    }
-    function packageData(bytes, type2, mimeType, encodingName) {
-      switch (type2) {
-        case "DataURL": {
-          let dataURL = "data:";
-          const parsed = parseMIMEType(mimeType || "application/octet-stream");
-          if (parsed !== "failure") {
-            dataURL += serializeAMimeType(parsed);
-          }
-          dataURL += ";base64,";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            dataURL += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.parameters.get("charset"));
-            }
-          }
-          if (encoding === "failure") {
-            encoding = "UTF-8";
-          }
-          return decode(bytes, encoding);
-        }
-        case "ArrayBuffer": {
-          const sequence = combineByteSequences(bytes);
-          return sequence.buffer;
-        }
-        case "BinaryString": {
-          let binaryString = "";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            binaryString += decoder.write(chunk);
-          }
-          binaryString += decoder.end();
-          return binaryString;
-        }
+        defaultValue: () => false
       }
-    }
-    function decode(ioQueue, encoding) {
-      const bytes = combineByteSequences(ioQueue);
-      const BOMEncoding = BOMSniffing(bytes);
-      let slice = 0;
-      if (BOMEncoding !== null) {
-        encoding = BOMEncoding;
-        slice = BOMEncoding === "UTF-8" ? 3 : 2;
+    ];
+    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "data",
+        converter: webidl.converters.any,
+        defaultValue: () => null
+      },
+      {
+        key: "origin",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lastEventId",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "source",
+        // Node doesn't implement WindowProxy or ServiceWorker, so the only
+        // valid value for source is a MessagePort.
+        converter: webidl.nullableConverter(webidl.converters.MessagePort),
+        defaultValue: () => null
+      },
+      {
+        key: "ports",
+        converter: webidl.converters["sequence"],
+        defaultValue: () => new Array(0)
       }
-      const sliced = bytes.slice(slice);
-      return new TextDecoder(encoding).decode(sliced);
-    }
-    function BOMSniffing(ioQueue) {
-      const [a, b, c] = ioQueue;
-      if (a === 239 && b === 187 && c === 191) {
-        return "UTF-8";
-      } else if (a === 254 && b === 255) {
-        return "UTF-16BE";
-      } else if (a === 255 && b === 254) {
-        return "UTF-16LE";
+    ]);
+    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "wasClean",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "code",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 0
+      },
+      {
+        key: "reason",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
       }
-      return null;
-    }
-    function combineByteSequences(sequences) {
-      const size = sequences.reduce((a, b) => {
-        return a + b.byteLength;
-      }, 0);
-      let offset = 0;
-      return sequences.reduce((a, b) => {
-        a.set(b, offset);
-        offset += b.byteLength;
-        return a;
-      }, new Uint8Array(size));
-    }
+    ]);
+    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "message",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "filename",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lineno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "colno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "error",
+        converter: webidl.converters.any
+      }
+    ]);
     module2.exports = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var sentCloseFrameState = {
+      NOT_SENT: 0,
+      PROCESSING: 1,
+      SENT: 2
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    var sendHints = {
+      string: 1,
+      typedArray: 2,
+      arrayBuffer: 3,
+      blob: 4
+    };
+    module2.exports = {
+      uid,
+      sentCloseFrameState,
       staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var FileReader = class _FileReader extends EventTarget {
-      constructor() {
-        super();
-        this[kState] = "empty";
-        this[kResult] = null;
-        this[kError] = null;
-        this[kEvents] = {
-          loadend: null,
-          error: null,
-          abort: null,
-          load: null,
-          progress: null,
-          loadstart: null
-        };
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
-       * @param {import('buffer').Blob} blob
-       */
-      readAsArrayBuffer(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsDataText
-       * @param {import('buffer').Blob} blob
-       * @param {string?} encoding
-       */
-      readAsText(blob, encoding = void 0) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
+    }
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
+    }
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
+    }
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           return;
         }
-        if (this[kState] === "loading") {
-          this[kState] = "done";
-          this[kResult] = null;
-        }
-        this[kAborted] = true;
-        fireAProgressEvent("abort", this);
-        if (this[kState] !== "loading") {
-          fireAProgressEvent("loadend", this);
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
-       */
-      get readyState() {
-        webidl.brandCheck(this, _FileReader);
-        switch (this[kState]) {
-          case "empty":
-            return this.EMPTY;
-          case "loading":
-            return this.LOADING;
-          case "done":
-            return this.DONE;
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
-       */
-      get result() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kResult];
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
-       */
-      get error() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kError];
-      }
-      get onloadend() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadend;
-      }
-      set onloadend(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadend) {
-          this.removeEventListener("loadend", this[kEvents].loadend);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadend = fn;
-          this.addEventListener("loadend", fn);
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].error) {
-          this.removeEventListener("error", this[kEvents].error);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this[kEvents].error = null;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      set onloadstart(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadstart) {
-          this.removeEventListener("loadstart", this[kEvents].loadstart);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadstart = fn;
-          this.addEventListener("loadstart", fn);
-        } else {
-          this[kEvents].loadstart = null;
+      for (let i = 0; i < protocol.length; ++i) {
+        const code = protocol.charCodeAt(i);
+        if (code < 33 || // CTL, contains SP (0x20) and HT (0x09)
+        code > 126 || code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 44 || // ,
+        code === 47 || // /
+        code === 58 || // :
+        code === 59 || // ;
+        code === 60 || // <
+        code === 61 || // =
+        code === 62 || // >
+        code === 63 || // ?
+        code === 64 || // @
+        code === 91 || // [
+        code === 92 || // \
+        code === 93 || // ]
+        code === 123 || // {
+        code === 125) {
+          return false;
         }
       }
-      get onprogress() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].progress;
-      }
-      set onprogress(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].progress) {
-          this.removeEventListener("progress", this[kEvents].progress);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].progress = fn;
-          this.addEventListener("progress", fn);
-        } else {
-          this[kEvents].progress = null;
-        }
+      return true;
+    }
+    function isValidStatusCode(code) {
+      if (code >= 1e3 && code < 1015) {
+        return code !== 1004 && // reserved
+        code !== 1005 && // "MUST NOT be set as a status code"
+        code !== 1006;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      return code >= 3e3 && code <= 4999;
+    }
+    function failWebsocketConnection(ws, reason) {
+      const { [kController]: controller, [kResponse]: response } = ws;
+      controller.abort();
+      if (response?.socket && !response.socket.destroyed) {
+        response.socket.destroy();
       }
-      set onload(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].load) {
-          this.removeEventListener("load", this[kEvents].load);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].load = fn;
-          this.addEventListener("load", fn);
-        } else {
-          this[kEvents].load = null;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    function isControlFrame(opcode) {
+      return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
+    }
+    function isContinuationFrame(opcode) {
+      return opcode === opcodes.CONTINUATION;
+    }
+    function isTextBinaryFrame(opcode) {
+      return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
+    }
+    function isValidOpcode(opcode) {
+      return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
+    }
+    function parseExtensions(extensions) {
+      const position = { position: 0 };
+      const extensionList = /* @__PURE__ */ new Map();
+      while (position.position < extensions.length) {
+        const pair = collectASequenceOfCodePointsFast(";", extensions, position);
+        const [name, value = ""] = pair.split("=");
+        extensionList.set(
+          removeHTTPWhitespace(name, true, false),
+          removeHTTPWhitespace(value, false, true)
+        );
+        position.position++;
       }
-      set onabort(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].abort) {
-          this.removeEventListener("abort", this[kEvents].abort);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].abort = fn;
-          this.addEventListener("abort", fn);
-        } else {
-          this[kEvents].abort = null;
+      return extensionList;
+    }
+    function isValidClientWindowBits(value) {
+      for (let i = 0; i < value.length; i++) {
+        const byte = value.charCodeAt(i);
+        if (byte < 48 || byte > 57) {
+          return false;
         }
       }
-    };
-    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
-    FileReader.LOADING = FileReader.prototype.LOADING = 1;
-    FileReader.DONE = FileReader.prototype.DONE = 2;
-    Object.defineProperties(FileReader.prototype, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors,
-      readAsArrayBuffer: kEnumerableProperty,
-      readAsBinaryString: kEnumerableProperty,
-      readAsText: kEnumerableProperty,
-      readAsDataURL: kEnumerableProperty,
-      abort: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      result: kEnumerableProperty,
-      error: kEnumerableProperty,
-      onloadstart: kEnumerableProperty,
-      onprogress: kEnumerableProperty,
-      onload: kEnumerableProperty,
-      onabort: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onloadend: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "FileReader",
-        writable: false,
-        enumerable: false,
-        configurable: true
+      return true;
+    }
+    var hasIntl = typeof process.versions.icu === "string";
+    var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0;
+    var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) {
+      if (isUtf8(buffer)) {
+        return buffer.toString("utf-8");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]];
     }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+      }
+      createFrame(opcode) {
+        const frameData = this.frameData;
+        const maskKey = generateMask();
+        const bodyLength = frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
+        }
+        const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
+        buffer2[0] = buffer2[1] = 0;
+        buffer2[0] |= 128;
+        buffer2[0] = (buffer2[0] & 240) + opcode;
+        buffer2[offset - 4] = maskKey[0];
+        buffer2[offset - 3] = maskKey[1];
+        buffer2[offset - 2] = maskKey[2];
+        buffer2[offset - 1] = maskKey[3];
+        buffer2[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer2.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer2[2] = buffer2[3] = 0;
+          buffer2.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer2[1] |= 128;
+        for (let i = 0; i < bodyLength; ++i) {
+          buffer2[offset + i] = frameData[i] ^ maskKey[i & 3];
+        }
+        return buffer2;
+      }
+    };
     module2.exports = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url, protocols, client, ws, onEstablish, options) {
+      const requestURL = url;
+      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        client,
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = getHeadersList(new Headers(options.headers));
+        request2.headersList = headersList;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto2.randomBytes(16).toString("base64");
+      request2.headersList.append("sec-websocket-key", keyValue);
+      request2.headersList.append("sec-websocket-version", "13");
+      for (const protocol of protocols) {
+        request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
-            }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
-          }
-        }
-        const responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher,
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
+            return;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
+          let extensions;
+          if (secExtension !== null) {
+            extensions = parseExtensions(secExtension);
+            if (!extensions.has("permessage-deflate")) {
+              failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match.");
+              return;
             }
-          }));
-          responsePromises.push(responsePromise.promise);
-        }
-        const p = Promise.all(responsePromises);
-        const responses = await p;
-        const operations = [];
-        let index = 0;
-        for (const response of responses) {
-          const operation = {
-            type: "put",
-            // 7.3.2
-            request: requestList[index],
-            // 7.3.3
-            response
-            // 7.3.4
-          };
-          operations.push(operation);
-          index++;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(void 0);
-          } else {
-            cacheJobPromise.reject(errorData);
           }
-        });
-        return cacheJobPromise.promise;
-      }
-      async put(request2, response) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
-        let innerRequest = null;
-        if (request2 instanceof Request) {
-          innerRequest = request2[kState];
-        } else {
-          innerRequest = new Request(request2)[kState];
-        }
-        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Got 206 status"
-          });
-        }
-        if (innerResponse.headersList.contains("vary")) {
-          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
-          for (const fieldValue of fieldValues) {
-            if (fieldValue === "*") {
-              throw webidl.errors.exception({
-                header: "Cache.put",
-                message: "Got * vary field value"
-              });
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null) {
+            const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList);
+            if (!requestProtocols.includes(secProtocol)) {
+              failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+              return;
             }
           }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response, extensions);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        const clonedResponse = cloneResponse(innerResponse);
-        const bodyReadPromise = createDeferredPromise();
-        if (innerResponse.body != null) {
-          const stream = innerResponse.body.stream;
-          const reader = stream.getReader();
-          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+      });
+      return controller;
+    }
+    function closeWebSocketConnection(ws, code, reason, reasonByteLength) {
+      if (isClosing(ws) || isClosed(ws)) {
+      } else if (!isEstablished(ws)) {
+        failWebsocketConnection(ws, "Connection was closed before it was established.");
+        ws[kReadyState] = states.CLOSING;
+      } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) {
+        ws[kSentClose] = sentCloseFrameState.PROCESSING;
+        const frame = new WebsocketFrameSend();
+        if (code !== void 0 && reason === void 0) {
+          frame.frameData = Buffer.allocUnsafe(2);
+          frame.frameData.writeUInt16BE(code, 0);
+        } else if (code !== void 0 && reason !== void 0) {
+          frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+          frame.frameData.writeUInt16BE(code, 0);
+          frame.frameData.write(reason, 2, "utf-8");
         } else {
-          bodyReadPromise.resolve(void 0);
-        }
-        const operations = [];
-        const operation = {
-          type: "put",
-          // 14.
-          request: innerRequest,
-          // 15.
-          response: clonedResponse
-          // 16.
-        };
-        operations.push(operation);
-        const bytes = await bodyReadPromise.promise;
-        if (clonedResponse.body != null) {
-          clonedResponse.body.source = bytes;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 instanceof Request) {
-          r = request2[kState];
-          if (r.method !== "GET" && !options.ignoreMethod) {
-            return false;
-          }
-        } else {
-          assert(typeof request2 === "string");
-          r = new Request(request2)[kState];
-        }
-        const operations = [];
-        const operation = {
-          type: "delete",
-          request: r,
-          options
-        };
-        operations.push(operation);
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        let requestResponses;
-        try {
-          requestResponses = this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(!!requestResponses?.length);
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
+      }
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const { [kResponse]: response } = ws;
+      response.socket.off("data", onSocketData);
+      response.socket.off("close", onSocketClose);
+      response.socket.off("error", onSocketError);
+      const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result && !result.error) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kReceivedClose]) {
+        code = 1006;
+      }
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ Symbol("kLength");
+    var PerMessageDeflate = class {
+      /** @type {import('node:zlib').InflateRaw} */
+      #inflate;
+      #options = {};
+      constructor(extensions) {
+        this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
+        this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
+      }
+      decompress(chunk, fin, callback) {
+        if (!this.#inflate) {
+          let windowBits = Z_DEFAULT_WINDOWBITS;
+          if (this.#options.serverMaxWindowBits) {
+            if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
+              callback(new Error("Invalid server_max_window_bits"));
+              return;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
           }
+          this.#inflate = createInflateRaw({ windowBits });
+          this.#inflate[kBuffer] = [];
+          this.#inflate[kLength] = 0;
+          this.#inflate.on("data", (data) => {
+            this.#inflate[kBuffer].push(data);
+            this.#inflate[kLength] += data.length;
+          });
+          this.#inflate.on("error", (err) => {
+            this.#inflate = null;
+            callback(err);
+          });
         }
-        const promise = createDeferredPromise();
-        const requests = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            requests.push(requestResponse[0]);
-          }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            requests.push(requestResponse[0]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        this.#inflate.flush(() => {
+          const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
+          this.#inflate[kBuffer].length = 0;
+          this.#inflate[kLength] = 0;
+          callback(null, full);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
+    "use strict";
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #loop = false;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      /** @type {Map} */
+      #extensions;
+      constructor(ws, extensions) {
+        super();
+        this.ws = ws;
+        this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
+        if (this.#extensions.has("permessage-deflate")) {
+          this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #batchCacheOperations(operations) {
-        const cache = this.#relevantRequestResponseList;
-        const backupCache = [...cache];
-        const addedItems = [];
-        const resultList = [];
-        try {
-          for (const operation of operations) {
-            if (operation.type !== "delete" && operation.type !== "put") {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: 'operation type does not match "delete" or "put"'
-              });
+      _write(chunk, _, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        this.#loop = true;
+        this.run(callback);
+      }
+      /**
+       * Runs whenever a new chunk is received.
+       * Callback is called whenever there are no more chunks buffering,
+       * or not enough bytes are buffered to parse.
+       */
+      run(callback) {
+        while (this.#loop) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            const buffer = this.consume(2);
+            const fin = (buffer[0] & 128) !== 0;
+            const opcode = buffer[0] & 15;
+            const masked = (buffer[1] & 128) === 128;
+            const fragmented = !fin && opcode !== opcodes.CONTINUATION;
+            const payloadLength = buffer[1] & 127;
+            const rsv1 = buffer[0] & 64;
+            const rsv2 = buffer[0] & 32;
+            const rsv3 = buffer[0] & 16;
+            if (!isValidOpcode(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid opcode received");
+              return callback();
             }
-            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            let requestResponses;
-            if (operation.type === "delete") {
-              requestResponses = this.#queryCache(operation.request, operation.options);
-              if (requestResponses.length === 0) {
-                return [];
-              }
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-            } else if (operation.type === "put") {
-              if (operation.response == null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "put operation should have an associated response"
-                });
-              }
-              const r = operation.request;
-              if (!urlIsHttpHttpsScheme(r.url)) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "expected http or https scheme"
-                });
-              }
-              if (r.method !== "GET") {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "not get method"
-                });
-              }
-              if (operation.options != null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "options must not be defined"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.message.length);
+                    return;
+                  }
+                  this.#fragments.push(data);
+                  if (!this.#info.fin) {
+                    this.#state = parserStates.INFO;
+                    this.#loop = true;
+                    this.run(callback);
+                    return;
+                  }
+                  websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments));
+                  this.#loop = true;
+                  this.#state = parserStates.INFO;
+                  this.#fragments.length = 0;
+                  this.run(callback);
                 });
+                this.#loop = false;
+                break;
               }
-              requestResponses = this.#queryCache(operation.request);
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-              cache.push([operation.request, operation.response]);
-              addedItems.push([operation.request, operation.response]);
             }
-            resultList.push([operation.request, operation.response]);
           }
-          return resultList;
-        } catch (e) {
-          this.#relevantRequestResponseList.length = 0;
-          this.#relevantRequestResponseList = backupCache;
-          throw e;
         }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#query-cache
-       * @param {any} requestQuery
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @param {requestResponseList} targetStorage
-       * @returns {requestResponseList}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #queryCache(requestQuery, options, targetStorage) {
-        const resultList = [];
-        const storage = targetStorage ?? this.#relevantRequestResponseList;
-        for (const requestResponse of storage) {
-          const [cachedRequest, cachedResponse] = requestResponse;
-          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
-            resultList.push(requestResponse);
+      consume(n) {
+        if (n > this.#byteOffset) {
+          throw new Error("Called consume() before buffers satiated.");
+        } else if (n === 0) {
+          return emptyBuffer;
+        }
+        if (this.#buffers[0].length === n) {
+          this.#byteOffset -= this.#buffers[0].length;
+          return this.#buffers.shift();
+        }
+        const buffer = Buffer.allocUnsafe(n);
+        let offset = 0;
+        while (offset !== n) {
+          const next = this.#buffers[0];
+          const { length } = next;
+          if (length + offset === n) {
+            buffer.set(this.#buffers.shift(), offset);
+            break;
+          } else if (length + offset > n) {
+            buffer.set(next.subarray(0, n - offset), offset);
+            this.#buffers[0] = next.subarray(n - offset);
+            break;
+          } else {
+            buffer.set(this.#buffers.shift(), offset);
+            offset += next.length;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
-       * @param {any} requestQuery
-       * @param {any} request
-       * @param {any | null} response
-       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
-       * @returns {boolean}
-       */
-      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
-        const queryURL = new URL(requestQuery.url);
-        const cachedURL = new URL(request2.url);
-        if (options?.ignoreSearch) {
-          cachedURL.search = "";
-          queryURL.search = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        const fieldValues = getFieldValues(response.headersList.get("vary"));
-        for (const fieldValue of fieldValues) {
-          if (fieldValue === "*") {
-            return false;
-          }
-          const requestValue = request2.headersList.get(fieldValue);
-          const queryValue = requestQuery.headersList.get(fieldValue);
-          if (requestValue !== queryValue) {
-            return false;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    Object.defineProperties(Cache.prototype, {
-      [Symbol.toStringTag]: {
-        value: "Cache",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      matchAll: kEnumerableProperty,
-      add: kEnumerableProperty,
-      addAll: kEnumerableProperty,
-      put: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    var cacheQueryOptionConverters = [
-      {
-        key: "ignoreSearch",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreMethod",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreVary",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
-    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
-      ...cacheQueryOptionConverters,
-      {
-        key: "cacheName",
-        converter: webidl.converters.DOMString
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const cache = [];
-        this.#caches.set(cacheName, cache);
-        return new Cache(kConstruct, cache);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async delete(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    Object.defineProperties(CacheStorage.prototype, {
-      [Symbol.toStringTag]: {
-        value: "CacheStorage",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      has: kEnumerableProperty,
-      open: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    module2.exports = {
-      CacheStorage
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    var FastBuffer = Buffer[Symbol.species];
+    var SendQueue = class {
+      /**
+       * @type {FixedQueue}
+       */
+      #queue = new FixedQueue();
+      /**
+       * @type {boolean}
+       */
+      #running = false;
+      /** @type {import('node:net').Socket} */
+      #socket;
+      constructor(socket) {
+        this.#socket = socket;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      add(item, cb, hint) {
+        if (hint !== sendHints.blob) {
+          const frame = createFrame(item, hint);
+          if (!this.#running) {
+            this.#socket.write(frame, cb);
+          } else {
+            const node2 = {
+              promise: null,
+              callback: cb,
+              frame
+            };
+            this.#queue.push(node2);
+          }
+          return;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const node = {
+          promise: item.arrayBuffer().then((ab) => {
+            node.promise = null;
+            node.frame = createFrame(ab, hint);
+          }),
+          callback: cb,
+          frame: null
+        };
+        this.#queue.push(node);
+        if (!this.#running) {
+          this.#run();
         }
       }
-    }
-    function validateCookiePath(path5) {
-      for (const char of path5) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      async #run() {
+        this.#running = true;
+        const queue = this.#queue;
+        while (!queue.isEmpty()) {
+          const node = queue.shift();
+          if (node.promise !== null) {
+            await node.promise;
+          }
+          this.#socket.write(node.frame, node.callback);
+          node.callback = node.frame = null;
         }
+        this.#running = false;
       }
+    };
+    function createFrame(data, hint) {
+      return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY);
     }
-    function validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    function validateCookieMaxAge(maxAge) {
-      if (maxAge < 0) {
-        throw new Error("Invalid cookie max-age");
-      }
-    }
-    function stringify(cookie) {
-      if (cookie.name.length === 0) {
-        return null;
-      }
-      validateCookieName(cookie.name);
-      validateCookieValue(cookie.value);
-      const out = [`${cookie.name}=${cookie.value}`];
-      if (cookie.name.startsWith("__Secure-")) {
-        cookie.secure = true;
-      }
-      if (cookie.name.startsWith("__Host-")) {
-        cookie.secure = true;
-        cookie.domain = null;
-        cookie.path = "/";
-      }
-      if (cookie.secure) {
-        out.push("Secure");
-      }
-      if (cookie.httpOnly) {
-        out.push("HttpOnly");
-      }
-      if (typeof cookie.maxAge === "number") {
-        validateCookieMaxAge(cookie.maxAge);
-        out.push(`Max-Age=${cookie.maxAge}`);
-      }
-      if (cookie.domain) {
-        validateCookieDomain(cookie.domain);
-        out.push(`Domain=${cookie.domain}`);
-      }
-      if (cookie.path) {
-        validateCookiePath(cookie.path);
-        out.push(`Path=${cookie.path}`);
-      }
-      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
-        out.push(`Expires=${toIMFDate(cookie.expires)}`);
-      }
-      if (cookie.sameSite) {
-        out.push(`SameSite=${cookie.sameSite}`);
-      }
-      for (const part of cookie.unparsed) {
-        if (!part.includes("=")) {
-          throw new Error("Invalid unparsed");
-        }
-        const [key, ...value] = part.split("=");
-        out.push(`${key.trim()}=${value.join("=")}`);
+    function toBuffer(data, hint) {
+      switch (hint) {
+        case sendHints.string:
+          return Buffer.from(data);
+        case sendHints.arrayBuffer:
+        case sendHints.blob:
+          return new FastBuffer(data);
+        case sendHints.typedArray:
+          return new FastBuffer(data.buffer, data.byteOffset, data.byteLength);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } else {
-        nameValuePair = header;
-      }
-      if (!nameValuePair.includes("=")) {
-        value = nameValuePair;
-      } else {
-        const position = { position: 0 };
-        name = collectASequenceOfCodePointsFast(
-          "=",
-          nameValuePair,
-          position
-        );
-        value = nameValuePair.slice(position.position + 1);
-      }
-      name = name.trim();
-      value = value.trim();
-      if (name.length + value.length > maxNameValuePairSize) {
-        return null;
-      }
-      return {
-        name,
-        value,
-        ...parseUnparsedAttributes(unparsedAttributes)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
-      if (unparsedAttributes.length === 0) {
-        return cookieAttributeList;
-      }
-      assert(unparsedAttributes[0] === ";");
-      unparsedAttributes = unparsedAttributes.slice(1);
-      let cookieAv = "";
-      if (unparsedAttributes.includes(";")) {
-        cookieAv = collectASequenceOfCodePointsFast(
-          ";",
-          unparsedAttributes,
-          { position: 0 }
-        );
-        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
-      } else {
-        cookieAv = unparsedAttributes;
-        unparsedAttributes = "";
-      }
-      let attributeName = "";
-      let attributeValue = "";
-      if (cookieAv.includes("=")) {
-        const position = { position: 0 };
-        attributeName = collectASequenceOfCodePointsFast(
-          "=",
-          cookieAv,
-          position
-        );
-        attributeValue = cookieAv.slice(position.position + 1);
-      } else {
-        attributeName = cookieAv;
-      }
-      attributeName = attributeName.trim();
-      attributeValue = attributeValue.trim();
-      if (attributeValue.length > maxAttributeValueSize) {
-        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-      }
-      const attributeNameLowercase = attributeName.toLowerCase();
-      if (attributeNameLowercase === "expires") {
-        const expiryTime = new Date(attributeValue);
-        cookieAttributeList.expires = expiryTime;
-      } else if (attributeNameLowercase === "max-age") {
-        const charCode = attributeValue.charCodeAt(0);
-        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url, protocols = []) {
+        super();
+        webidl.util.markAsUncloneable(this);
+        const prefix = "WebSocket constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options");
+        url = webidl.converters.USVString(url, prefix, "url");
+        protocols = options.protocols;
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, baseURL);
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
         }
-        if (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        cookieAttributeList.path = cookiePath;
-      } else if (attributeNameLowercase === "secure") {
-        cookieAttributeList.secure = true;
-      } else if (attributeNameLowercase === "httponly") {
-        cookieAttributeList.httpOnly = true;
-      } else if (attributeNameLowercase === "samesite") {
-        let enforcement = "Default";
-        const attributeValueLowercase = attributeValue.toLowerCase();
-        if (attributeValueLowercase.includes("none")) {
-          enforcement = "None";
+        if (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      if (!cookie) {
-        return out;
-      }
-      for (const piece of cookie.split(";")) {
-        const [name, ...value] = piece.split("=");
-        out[name.trim()] = value.join("=");
-      }
-      return out;
-    }
-    function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookies = headers.getSetCookie();
-      if (!cookies) {
-        return [];
-      }
-      return cookies.map((pair) => parseSetCookie(pair));
-    }
-    function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        const client = environmentSettingsObject.settingsObject;
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          client,
+          this,
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
+        this[kBinaryType] = "blob";
       }
-    ]);
-    webidl.converters.Cookie = webidl.dictionaryConverter([
-      {
-        converter: webidl.converters.DOMString,
-        key: "name"
-      },
-      {
-        converter: webidl.converters.DOMString,
-        key: "value"
-      },
-      {
-        converter: webidl.nullableConverter((value) => {
-          if (typeof value === "number") {
-            return webidl.converters["unsigned long long"](value);
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
+       * @param {number|undefined} code
+       * @param {string|undefined} reason
+       */
+      close(code = void 0, reason = void 0) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.close";
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason, prefix, "reason");
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException("invalid code", "InvalidAccessError");
           }
-          return new Date(value);
-        }),
-        key: "expires",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters["long long"]),
-        key: "maxAge",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "secure",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "httpOnly",
-        defaultValue: null
-      },
-      {
-        converter: webidl.converters.USVString,
-        key: "sameSite",
-        allowedValues: ["Strict", "Lax", "None"]
-      },
-      {
-        converter: webidl.sequenceConverter(webidl.converters.DOMString),
-        key: "unparsed",
-        defaultValue: []
+        }
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
+          }
+        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
-    "use strict";
-    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    var states = {
-      CONNECTING: 0,
-      OPEN: 1,
-      CLOSING: 2,
-      CLOSED: 3
-    };
-    var opcodes = {
-      CONTINUATION: 0,
-      TEXT: 1,
-      BINARY: 2,
-      CLOSE: 8,
-      PING: 9,
-      PONG: 10
-    };
-    var maxUnsigned16Bit = 2 ** 16 - 1;
-    var parserStates = {
-      INFO: 0,
-      PAYLOADLENGTH_16: 2,
-      PAYLOADLENGTH_64: 3,
-      READ_DATA: 4
-    };
-    var emptyBuffer = Buffer.allocUnsafe(0);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.send";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        data = webidl.converters.WebSocketSendData(data, prefix, "data");
+        if (isConnecting(this)) {
+          throw new DOMException("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
+          return;
+        }
+        if (typeof data === "string") {
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
+        } else if (types.isArrayBuffer(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
+        } else if (ArrayBuffer.isView(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
+        } else if (isBlobLike(data)) {
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
+        }
       }
-      get data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      set onopen(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
+        }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
+        }
       }
-      get wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      set onerror(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
+        }
       }
-      get reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      set onclose(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.close) {
+          this.removeEventListener("close", this.#events.close);
+        }
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
+        }
       }
-      get message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      set onmessage(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
+        }
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
+        }
       }
-      get lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
+       */
+      #onConnectionEstablished(response, parsedExtensions) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this, parsedExtensions);
+        parser.on("drain", onParserDrain);
+        parser.on("error", onParserError.bind(this));
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this.#sendQueue = new SendQueue(response.socket);
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
+        }
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
     };
-    Object.defineProperties(MessageEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "MessageEvent",
-        configurable: true
-      },
-      data: kEnumerableProperty,
-      origin: kEnumerableProperty,
-      lastEventId: kEnumerableProperty,
-      source: kEnumerableProperty,
-      ports: kEnumerableProperty,
-      initMessageEvent: kEnumerableProperty
-    });
-    Object.defineProperties(CloseEvent.prototype, {
+    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
+    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
+    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
+    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
+    Object.defineProperties(WebSocket.prototype, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors,
+      url: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      bufferedAmount: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onclose: kEnumerableProperty,
+      close: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      binaryType: kEnumerableProperty,
+      send: kEnumerableProperty,
+      extensions: kEnumerableProperty,
+      protocol: kEnumerableProperty,
       [Symbol.toStringTag]: {
-        value: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         configurable: true
-      },
-      reason: kEnumerableProperty,
-      code: kEnumerableProperty,
-      wasClean: kEnumerableProperty
+      }
     });
-    Object.defineProperties(ErrorEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "ErrorEvent",
-        configurable: true
-      },
-      message: kEnumerableProperty,
-      filename: kEnumerableProperty,
-      lineno: kEnumerableProperty,
-      colno: kEnumerableProperty,
-      error: kEnumerableProperty
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    var eventInit = [
-      {
-        key: "bubbles",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "cancelable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "composed",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "data",
-        converter: webidl.converters.any,
-        defaultValue: null
-      },
-      {
-        key: "origin",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
-      {
-        key: "lastEventId",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "source",
-        // Node doesn't implement WindowProxy or ServiceWorker, so the only
-        // valid value for source is a MessagePort.
-        converter: webidl.nullableConverter(webidl.converters.MessagePort),
-        defaultValue: null
-      },
-      {
-        key: "ports",
-        converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "wasClean",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "code",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 0
-      },
-      {
-        key: "reason",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
+    webidl.converters["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    function isEstablished(ws) {
-      return ws[kReadyState] === states.OPEN;
-    }
-    function isClosing(ws) {
-      return ws[kReadyState] === states.CLOSING;
-    }
-    function isClosed(ws) {
-      return ws[kReadyState] === states.CLOSED;
-    }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { protocols: webidl.converters["DOMString or sequence"](V) };
+    };
+    webidl.converters.WebSocketSendData = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
         }
       }
-      return true;
-    }
-    function isValidStatusCode(code) {
-      if (code >= 1e3 && code < 1015) {
-        return code !== 1004 && // reserved
-        code !== 1005 && // "MUST NOT be set as a status code"
-        code !== 1006;
-      }
-      return code >= 3e3 && code <= 4999;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    function failWebsocketConnection(ws, reason) {
-      const { [kController]: controller, [kResponse]: response } = ws;
-      controller.abort();
-      if (response?.socket && !response.socket.destroyed) {
-        response.socket.destroy();
-      }
-      if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
-        });
+    function onParserError(err) {
+      let message;
+      let code;
+      if (err instanceof CloseEvent) {
+        message = err.reason;
+        code = err.code;
+      } else {
+        message = err.message;
       }
+      fireEvent("error", this, () => new ErrorEvent("error", { error: err, message }));
+      closeWebSocketConnection(this, code);
     }
     module2.exports = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
-      const requestURL = url;
-      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto2.randomBytes(16).toString("base64");
-      request2.headersList.append("sec-websocket-key", keyValue);
-      request2.headersList.append("sec-websocket-version", "13");
-      for (const protocol of protocols) {
-        request2.headersList.append("sec-websocket-protocol", protocol);
-      }
-      const permessageDeflate = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
-            return;
-          }
-          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
-            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
-            return;
-          }
-          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
-            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
-            return;
-          }
-          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
-          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
-          if (secWSAccept !== digest) {
-            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
-            return;
-          }
-          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    function isASCIINumber(value) {
+      if (value.length === 0) return false;
+      for (let i = 0; i < value.length; i++) {
+        if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false;
       }
+      return true;
     }
-    function onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay2(ms) {
+      return new Promise((resolve4) => {
+        setTimeout(resolve4, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.frameData?.byteLength ?? 0;
-        let payloadLength = bodyLength;
-        let offset = 6;
-        if (bodyLength > maxUnsigned16Bit) {
-          offset += 8;
-          payloadLength = 127;
-        } else if (bodyLength > 125) {
-          offset += 2;
-          payloadLength = 126;
-        }
-        const buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      checkBOM = true;
+      /**
+       * @type {boolean}
+       */
+      crlfCheck = false;
+      /**
+       * @type {boolean}
+       */
+      eventEndCheck = false;
+      /**
+       * @type {Buffer}
+       */
+      buffer = null;
+      pos = 0;
+      event = {
+        data: void 0,
+        event: void 0,
+        id: void 0,
+        retry: void 0
+      };
+      /**
+       * @param {object} options
+       * @param {eventSourceSettings} options.eventSourceSettings
+       * @param {Function} [options.push]
+       */
+      constructor(options = {}) {
+        options.readableObjectMode = true;
+        super(options);
+        this.state = options.eventSourceSettings || {};
+        if (options.push) {
+          this.push = options.push;
+        }
       }
       /**
-       * Runs whenever a new chunk is received.
-       * Callback is called whenever there are no more chunks buffering,
-       * or not enough bytes are buffered to parse.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            if (payloadLength <= 125) {
-              this.#info.payloadLength = payloadLength;
-              this.#state = parserStates.READ_DATA;
-            } else if (payloadLength === 126) {
-              this.#state = parserStates.PAYLOADLENGTH_16;
-            } else if (payloadLength === 127) {
-              this.#state = parserStates.PAYLOADLENGTH_64;
-            }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _transform(chunk, _encoding, callback) {
+        if (chunk.length === 0) {
+          callback();
+          return;
+        }
+        if (this.buffer) {
+          this.buffer = Buffer.concat([this.buffer, chunk]);
+        } else {
+          this.buffer = chunk;
+        }
+        if (this.checkBOM) {
+          switch (this.buffer.length) {
+            case 1:
+              if (this.buffer[0] === BOM[0]) {
+                callback();
                 return;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              this.checkBOM = false;
+              break;
+            case 3:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = Buffer.alloc(0);
+                this.checkBOM = false;
                 callback();
                 return;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              this.checkBOM = false;
+              break;
+            default:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = this.buffer.subarray(3);
               }
-              if (this.#byteOffset > 0) {
+              this.checkBOM = false;
+              break;
+          }
+        }
+        while (this.pos < this.buffer.length) {
+          if (this.eventEndCheck) {
+            if (this.crlfCheck) {
+              if (this.buffer[this.pos] === LF) {
+                this.buffer = this.buffer.subarray(this.pos + 1);
+                this.pos = 0;
+                this.crlfCheck = false;
                 continue;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.payloadLength = buffer.readUInt16BE(0);
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
-            if (this.#byteOffset < 8) {
-              return callback();
-            }
-            const buffer = this.consume(8);
-            const upper = buffer.readUInt32BE(0);
-            if (upper > 2 ** 31 - 1) {
-              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
-              return;
-            }
-            const lower = buffer.readUInt32BE(4);
-            this.#info.payloadLength = (upper << 8) + lower;
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.READ_DATA) {
-            if (this.#byteOffset < this.#info.payloadLength) {
-              return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              this.buffer = this.buffer.subarray(this.pos + 1);
+              this.pos = 0;
+              if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) {
+                this.processEvent(this.event);
+              }
+              this.clearEvent();
+              continue;
             }
+            this.eventEndCheck = false;
+            continue;
           }
-          if (this.#byteOffset > 0) {
+          if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+            if (this.buffer[this.pos] === CR) {
+              this.crlfCheck = true;
+            }
+            this.parseLine(this.buffer.subarray(0, this.pos), this.event);
+            this.buffer = this.buffer.subarray(this.pos + 1);
+            this.pos = 0;
+            this.eventEndCheck = true;
             continue;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        const buffer = Buffer.allocUnsafe(n);
-        let offset = 0;
-        while (offset !== n) {
-          const next = this.#buffers[0];
-          const { length } = next;
-          if (length + offset === n) {
-            buffer.set(this.#buffers.shift(), offset);
+        let field = "";
+        let value = "";
+        if (colonPosition !== -1) {
+          field = line.subarray(0, colonPosition).toString("utf8");
+          let valueStart = colonPosition + 1;
+          if (line[valueStart] === SPACE) {
+            ++valueStart;
+          }
+          value = line.subarray(valueStart).toString("utf8");
+        } else {
+          field = line.toString("utf8");
+          value = "";
+        }
+        switch (field) {
+          case "data":
+            if (event[field] === void 0) {
+              event[field] = value;
+            } else {
+              event[field] += `
+${value}`;
+            }
             break;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          case "retry":
+            if (isASCIINumber(value)) {
+              event[field] = value;
+            }
+            break;
+          case "id":
+            if (isValidLastEventId(value)) {
+              event[field] = value;
+            }
+            break;
+          case "event":
+            if (value.length > 0) {
+              event[field] = value;
+            }
             break;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    var defaultReconnectionTime = 3e3;
+    var CONNECTING = 0;
+    var OPEN = 1;
+    var CLOSED = 2;
+    var ANONYMOUS = "anonymous";
+    var USE_CREDENTIALS = "use-credentials";
+    var EventSource = class _EventSource extends EventTarget {
       #events = {
         open: null,
         error: null,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #url = null;
+      #withCredentials = false;
+      #readyState = CONNECTING;
+      #request = null;
+      #controller = null;
+      #dispatcher;
+      /**
+       * @type {import('./eventsource-stream').eventSourceSettings}
+       */
+      #state;
       /**
+       * Creates a new EventSource object.
        * @param {string} url
-       * @param {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url, protocols = []) {
+      constructor(url, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        url = webidl.converters.USVString(url, prefix, "url");
+        eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
+        this.#dispatcher = eventSourceInitDict.dispatcher;
+        this.#state = {
+          lastEventId: "",
+          reconnectionTime: defaultReconnectionTime
+        };
+        const settings = environmentSettingsObject;
         let urlRecord;
         try {
-          urlRecord = new URL(url, baseURL);
+          urlRecord = new URL(url, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
-        }
-        if (urlRecord.protocol === "http:") {
-          urlRecord.protocol = "ws:";
-        } else if (urlRecord.protocol === "https:") {
-          urlRecord.protocol = "wss:";
-        }
-        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        const initRequest = {
+          redirect: "follow",
+          keepalive: true,
+          // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
+          mode: "cors",
+          credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
+          referrer: "no-referrer"
+        };
+        initRequest.client = environmentSettingsObject.settingsObject;
+        initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
+        initRequest.cache = "no-store";
+        initRequest.initiator = "other";
+        initRequest.urlList = [new URL(this.#url)];
+        this.#request = makeRequest(initRequest);
+        this.#connect();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      get readyState() {
+        return this.#readyState;
+      }
+      /**
+       * Returns the URL providing the event stream.
+       * @readonly
+       * @returns {string}
+       */
+      get url() {
+        return this.#url;
+      }
+      /**
+       * Returns a boolean indicating whether the EventSource object was
+       * instantiated with CORS credentials set (true), or not (false, the default).
+       */
+      get withCredentials() {
+        return this.#withCredentials;
+      }
+      #connect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        const fetchParams = {
+          request: this.#request,
+          dispatcher: this.#dispatcher
+        };
+        const processEventSourceEndOfBody = (response) => {
+          if (isNetworkError(response)) {
+            this.dispatchEvent(new Event("error"));
+            this.close();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          this.#reconnect();
+        };
+        fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
+        fetchParams.processResponse = (response) => {
+          if (isNetworkError(response)) {
+            if (response.aborted) {
+              this.close();
+              this.dispatchEvent(new Event("error"));
+              return;
+            } else {
+              this.#reconnect();
+              return;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          const frame = new WebsocketFrameSend();
-          if (code !== void 0 && reason === void 0) {
-            frame.frameData = Buffer.allocUnsafe(2);
-            frame.frameData.writeUInt16BE(code, 0);
-          } else if (code !== void 0 && reason !== void 0) {
-            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
-            frame.frameData.writeUInt16BE(code, 0);
-            frame.frameData.write(reason, 2, "utf-8");
-          } else {
-            frame.frameData = emptyBuffer;
+          const contentType = response.headersList.get("content-type", true);
+          const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
+          const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
+          if (response.status !== 200 || contentTypeValid === false) {
+            this.close();
+            this.dispatchEvent(new Event("error"));
+            return;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          this.#readyState = OPEN;
+          this.dispatchEvent(new Event("open"));
+          this.#state.origin = response.urlList[response.urlList.length - 1].origin;
+          const eventSourceStream = new EventSourceStream({
+            eventSourceSettings: this.#state,
+            push: (event) => {
+              this.dispatchEvent(createFastMessageEvent(
+                event.type,
+                event.options
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(this.#state.reconnectionTime);
+        if (this.#readyState !== CONNECTING) return;
+        if (this.#state.lastEventId.length) {
+          this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
         }
+        this.#connect();
       }
-      get readyState() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kReadyState];
-      }
-      get bufferedAmount() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#bufferedAmount;
-      }
-      get url() {
-        webidl.brandCheck(this, _WebSocket);
-        return URLSerializer(this[kWebSocketURL]);
-      }
-      get extensions() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#extensions;
-      }
-      get protocol() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#protocol;
+      /**
+       * Closes the connection, if any, and sets the readyState attribute to
+       * CLOSED.
+       */
+      close() {
+        webidl.brandCheck(this, _EventSource);
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CLOSED;
+        this.#controller.abort();
+        this.#request = null;
       }
       get onopen() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.open;
       }
       set onopen(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.open) {
           this.removeEventListener("open", this.#events.open);
         }
@@ -37998,44 +39575,10 @@ var require_websocket2 = __commonJS({
           this.#events.open = null;
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.error) {
-          this.removeEventListener("error", this.#events.error);
-        }
-        if (typeof fn === "function") {
-          this.#events.error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this.#events.error = null;
-        }
-      }
-      get onclose() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.close;
-      }
-      set onclose(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.close) {
-          this.removeEventListener("close", this.#events.close);
-        }
-        if (typeof fn === "function") {
-          this.#events.close = fn;
-          this.addEventListener("close", fn);
-        } else {
-          this.#events.close = null;
-        }
-      }
       get onmessage() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.message;
       }
       set onmessage(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.message) {
           this.removeEventListener("message", this.#events.message);
         }
@@ -38046,137 +39589,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      set onerror(fn) {
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
         } else {
-          this[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    var constantsPropertyDescriptors = {
+      CONNECTING: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CONNECTING,
+        writable: false
+      },
+      OPEN: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: OPEN,
+        writable: false
+      },
+      CLOSED: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CLOSED,
+        writable: false
       }
     };
-    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
-    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
-    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
-    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
-    Object.defineProperties(WebSocket.prototype, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors,
-      url: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      bufferedAmount: kEnumerableProperty,
-      onopen: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onclose: kEnumerableProperty,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: kEnumerableProperty,
       onmessage: kEnumerableProperty,
-      binaryType: kEnumerableProperty,
-      send: kEnumerableProperty,
-      extensions: kEnumerableProperty,
-      protocol: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "WebSocket",
-        writable: false,
-        enumerable: false,
-        configurable: true
-      }
-    });
-    Object.defineProperties(WebSocket, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
-        return webidl.converters.WebSocketInit(V);
-      }
-      return { protocols: webidl.converters["DOMString or sequence"](V) };
-    };
-    webidl.converters.WebSocketSendData = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     module2.exports.BalancedPool = BalancedPool;
     module2.exports.Agent = Agent;
     module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
+    module2.exports.RetryAgent = RetryAgent;
     module2.exports.RetryHandler = RetryHandler;
     module2.exports.DecoratorHandler = DecoratorHandler;
     module2.exports.RedirectHandler = RedirectHandler;
     module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.interceptors = {
+      redirect: require_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     module2.exports.buildConnector = buildConnector;
     module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
     function makeDispatcher(fn) {
       return (url, opts, handler2) => {
         if (typeof opts === "function") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().fetch;
+    module2.exports.fetch = async function fetch(init, options = void 0) {
+      try {
+        return await fetchImpl(init, options);
+      } catch (err) {
+        if (err && typeof err === "object") {
+          Error.captureStackTrace(err);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().WebSocket;
+    module2.exports.CloseEvent = CloseEvent;
+    module2.exports.ErrorEvent = ErrorEvent;
+    module2.exports.MessageEvent = MessageEvent;
     module2.exports.request = makeDispatcher(api.request);
     module2.exports.stream = makeDispatcher(api.stream);
     module2.exports.pipeline = makeDispatcher(api.pipeline);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44493,7 +45986,7 @@ var require_package = __commonJS({
   "package.json"(exports2, module2) {
     module2.exports = {
       name: "codeql",
-      version: "4.32.1",
+      version: "4.32.2",
       private: true,
       description: "CodeQL action",
       scripts: {
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -55054,7 +56547,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -55177,7 +56670,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url, options);
@@ -59875,7 +61368,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -60130,7 +61623,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -60244,7 +61737,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -60291,7 +61784,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -60331,7 +61824,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -96412,7 +97905,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -96489,7 +97982,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -103606,11 +105099,11 @@ void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/setup-codeql-action.js b/lib/setup-codeql-action.js
index 72a00c9954..ee9274b7ce 100644
--- a/lib/setup-codeql-action.js
+++ b/lib/setup-codeql-action.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT");
+    var AbortError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+        this.message = message || "The operation was aborted";
+        this.code = "UND_ERR_ABORT";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         this.name = "InformationalError";
         this.message = message || "Request information";
         this.code = "UND_ERR_INFO";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInformationalError] === true;
+      }
+      [kInformationalError] = true;
     };
-    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE");
+    var ResponseError = class extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        this.name = "ResponseError";
+        this.message = message || "Response error";
+        this.code = "UND_ERR_RESPONSE";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseError] === true;
+      }
+      [kResponseError] = true;
+    };
+    var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS");
+    var SecureProxyConnectionError = class extends UndiciError {
+      constructor(cause, message, options) {
+        super(message, { cause, ...options ?? {} });
+        this.name = "SecureProxyConnectionError";
+        this.message = message || "Secure Proxy Connection failed";
+        this.code = "UND_ERR_PRX_TLS";
+        this.cause = cause;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSecureProxyConnectionError] === true;
+      }
+      [kSecureProxyConnectionError] = true;
     };
     module2.exports = {
+      AbortError,
       HTTPParserError,
       UndiciError,
       HeadersTimeoutError,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              node.middle = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.code < code) {
+            if (node.left !== null) {
+              node = node.left;
+            } else {
+              node.left = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.right !== null) {
+            node = node.right;
+          } else {
+            node.right = new _TstNode(key, value, index);
+            break;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    var TernarySearchTree = class {
+      /** @type {TstNode | null} */
+      node = null;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * */
+      insert(key, value) {
+        if (this.node === null) {
+          this.node = new TstNode(key, value, 0);
+        } else {
+          this.node.add(key, value);
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {any}
+       */
+      lookup(key) {
+        return this.node?.search(key)?.value ?? null;
+      }
+    };
+    var tree = new TernarySearchTree();
+    for (let i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]];
+      tree.insert(key, key);
+    }
+    module2.exports = {
+      TernarySearchTree,
+      tree
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream2 = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream2 = require("node:stream");
+    var net = require("node:net");
+    var { Blob: Blob2 } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var { stringify } = require("node:querystring");
+    var { EventEmitter: EE } = require("node:events");
     var { InvalidArgumentError } = require_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      if (object === null) {
+        return false;
+      } else if (object instanceof Blob2) {
+        return true;
+      } else if (typeof object !== "object") {
+        return false;
+      } else {
+        const sTag = object[Symbol.toStringTag];
+        return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function");
+      }
     }
     function buildURL(url, queryParams) {
       if (url.includes("?") || url.includes("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       return url;
     }
+    function isValidPort(port) {
+      const value = parseInt(port, 10);
+      return value === Number(port) && value >= 0 && value <= 65535;
+    }
+    function isHttpOrHttpsPrefixed(value) {
+      return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
+    }
     function parseURL(url) {
       if (typeof url === "string") {
         url = new URL(url);
-        if (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         if (url.origin != null && typeof url.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
-        let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
+        let origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
         let path8 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path8 && !path8.startsWith("/")) {
+        if (path8 && path8[0] !== "/") {
           path8 = `/${path8}`;
         }
-        url = new URL(origin + path8);
+        return new URL(`${origin}${path8}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream3) {
-      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
-    }
-    function isReadableAborted(stream3) {
-      const state = stream3 && stream3._readableState;
-      return isDestroyed(stream3) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body));
     }
     function destroy(stream3, err) {
       if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream3.destroy(err);
       } else if (err) {
-        process.nextTick((stream4, err2) => {
-          stream4.emit("error", err2);
-        }, stream3, err);
+        queueMicrotask(() => {
+          stream3.emit("error", err);
+        });
       }
       if (stream3.destroyed !== true) {
         stream3[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        if (val) {
+          if (typeof val === "string") {
             val = [val];
             obj[key] = val;
           }
           val.push(headers[i + 1].toString("utf8"));
+        } else {
+          const headersValue = headers[i + 1];
+          if (typeof headersValue === "string") {
+            obj[key] = headersValue;
+          } else {
+            obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      const len = headers.length;
+      const ret = new Array(len);
       let hasContentLength = false;
       let contentDispositionIdx = -1;
+      let key;
+      let val;
+      let kLen = 0;
       for (let n = 0; n < headers.length; n += 2) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        key = headers[n];
+        val = headers[n + 1];
+        typeof key !== "string" && (key = key.toString());
+        typeof val !== "string" && (val = val.toString("utf8"));
+        kLen = key.length;
+        if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) {
           hasContentLength = true;
-        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream2.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          type: "bytes"
+        }
       );
     }
     function isFormDataLike(object) {
       return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
     }
-    function throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.toUSVString(val);
+      return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val);
+    }
+    function isUSVString(val) {
+      return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`;
+    }
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
+      }
+    }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
+        }
       }
-      return `${val}`;
+      return true;
+    }
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    function isValidHeaderValue(characters) {
+      return !headerCharRegex.test(characters);
     }
     function parseRangeHeader(range) {
       if (range == null || range === "") return { start: 0, end: null, size: null };
@@ -22290,25 +22632,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
+    var normalizedMethodRecordsBase = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    var normalizedMethodRecords = {
+      ...normalizedMethodRecordsBase,
+      patch: "patch",
+      PATCH: "PATCH"
+    };
+    Object.setPrototypeOf(normalizedMethodRecordsBase, null);
+    Object.setPrototypeOf(normalizedMethodRecords, null);
+    module2.exports = {
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isUSVString,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
       isStream,
       isIterable,
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,15673 +22708,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    var diagnosticsChannel = require("node:diagnostics_channel");
+    var util = require("node:util");
+    var undiciDebugLog = util.debuglog("undici");
+    var fetchDebuglog = util.debuglog("fetch");
+    var websocketDebuglog = util.debuglog("websocket");
+    var isClientSet = false;
+    var channels = {
+      // Client
+      beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
+      connected: diagnosticsChannel.channel("undici:client:connected"),
+      connectError: diagnosticsChannel.channel("undici:client:connectError"),
+      sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
+      // Request
+      create: diagnosticsChannel.channel("undici:request:create"),
+      bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
+      headers: diagnosticsChannel.channel("undici:request:headers"),
+      trailers: diagnosticsChannel.channel("undici:request:trailers"),
+      error: diagnosticsChannel.channel("undici:request:error"),
+      // WebSocket
+      open: diagnosticsChannel.channel("undici:websocket:open"),
+      close: diagnosticsChannel.channel("undici:websocket:close"),
+      socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
+      ping: diagnosticsChannel.channel("undici:websocket:ping"),
+      pong: diagnosticsChannel.channel("undici:websocket:pong")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
+      const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog;
+      diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connecting to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connected to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host },
+          error: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path8, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path8);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path8, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path8,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path8, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path8);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path8, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path8,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    if (websocketDebuglog.enabled) {
+      if (!isClientSet) {
+        const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog;
+        diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connecting to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connected to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host },
+            error: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path8, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path8);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => {
+        const {
+          address: { address, port }
+        } = evt;
+        websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : "");
+      });
+      diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => {
+        const { websocket, code, reason } = evt;
+        websocketDebuglog(
+          "closed connection to %s - %s %s",
+          websocket.url,
+          code,
+          reason
+        );
+      });
+      diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => {
+        websocketDebuglog("connection errored - %s", err.message);
+      });
+      diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => {
+        websocketDebuglog("ping received");
+      });
+      diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => {
+        websocketDebuglog("pong received");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path8,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path8 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path8[0] !== "/" && !(path8.startsWith("http://") || path8.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path8)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
+          throw new InvalidArgumentError("invalid request method");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path8, query) : path8;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
           }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      }
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    function processHeader(request2, key, val) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path8) {
-      if (typeof path8 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path8.length - 1; i >= 0; --i) {
-        switch (path8.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path8 = path8.slice(i + 1);
-            return path8 === ".." || path8 === "." ? "" : path8;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path8 === ".." || path8 === "." ? "" : path8;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable: Readable2 } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        request2.host = val;
+      } else if (request2.contentLength === null && headerName === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } else if (request2.contentType === null && headerName === "content-type") {
+        request2.contentType = val;
+        request2.headers.push(key, val);
+      } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
+        throw new InvalidArgumentError(`invalid ${headerName} header`);
+      } else if (headerName === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
         }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable2.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable2);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      compose(...args) {
+        const interceptors = Array.isArray(args[0]) ? args[0] : args;
+        let dispatch = this.dispatch.bind(this);
+        for (const interceptor of interceptors) {
+          if (interceptor == null) {
+            continue;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve4, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve4(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve4, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve4(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
+        }
+        if (!err) {
+          err = new ClientDestroyedError();
+        }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
+        });
+      }
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
+        }
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
+        }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
+      }
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
+        }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
+          }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
+          }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
+          }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
+          }
+          handler2.onError(err);
+          return false;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer");
+    var fastTimers = [];
+    var NOT_IN_LIST = -2;
+    var TO_BE_CLEARED = -1;
+    var PENDING = 0;
+    var ACTIVE = 1;
+    function onTick() {
+      fastNow += TICK_MS;
+      let idx = 0;
+      let len = fastTimers.length;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer._state === PENDING) {
+          timer._idleStart = fastNow - TICK_MS;
+          timer._state = ACTIVE;
+        } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
+          timer._state = TO_BE_CLEARED;
+          timer._idleStart = -1;
+          timer._onTimeout(timer._timerArg);
+        }
+        if (timer._state === TO_BE_CLEARED) {
+          timer._state = NOT_IN_LIST;
+          if (--len !== 0) {
+            fastTimers[idx] = fastTimers[len];
+          }
+        } else {
+          ++idx;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
-    function getGlobalOrigin() {
-      return globalThis[globalOrigin];
     }
-    function setGlobalOrigin(newOrigin) {
-      if (newOrigin === void 0) {
-        Object.defineProperty(globalThis, globalOrigin, {
-          value: void 0,
-          writable: true,
-          enumerable: false,
-          configurable: false
-        });
-        return;
+    var FastTimer = class {
+      [kFastTimer] = true;
+      /**
+       * The state of the timer, which can be one of the following:
+       * - NOT_IN_LIST (-2)
+       * - TO_BE_CLEARED (-1)
+       * - PENDING (0)
+       * - ACTIVE (1)
+       *
+       * @type {-2|-1|0|1}
+       * @private
+       */
+      _state = NOT_IN_LIST;
+      /**
+       * The number of milliseconds to wait before calling the callback.
+       *
+       * @type {number}
+       * @private
+       */
+      _idleTimeout = -1;
+      /**
+       * The time in milliseconds when the timer was started. This value is used to
+       * calculate when the timer should expire.
+       *
+       * @type {number}
+       * @default -1
+       * @private
+       */
+      _idleStart = -1;
+      /**
+       * The function to be executed when the timer expires.
+       * @type {Function}
+       * @private
+       */
+      _onTimeout;
+      /**
+       * The argument to be passed to the callback when the timer expires.
+       *
+       * @type {*}
+       * @private
+       */
+      _timerArg;
+      /**
+       * @constructor
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should wait
+       * before the specified function or code is executed.
+       * @param {*} arg
+       */
+      constructor(callback, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * Sets the timer's start time to the current time, and reschedules the timer
+       * to call its callback at the previously specified duration adjusted to the
+       * current time.
+       * Using this on a timer that has already called its callback will reactivate
+       * the timer.
+       *
+       * @returns {void}
+       */
+      refresh() {
+        if (this._state === NOT_IN_LIST) {
+          fastTimers.push(this);
+        }
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
+        }
+        this._state = PENDING;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * The setTimeout() method sets a timer which executes a function once the
+       * timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {NodeJS.Timeout|FastTimer}
+       */
+      setTimeout(callback, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated Timer previously created
+       * by calling setTimeout.
+       *
+       * @param {NodeJS.Timeout|FastTimer} timeout
+       */
+      clearTimeout(timeout) {
+        if (timeout[kFastTimer]) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
+      },
+      /**
+       * The setFastTimeout() method sets a fastTimer which executes a function once
+       * the timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {FastTimer}
+       */
+      setFastTimeout(callback, delay2, arg) {
+        return new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated FastTimer previously
+       * created by calling setFastTimeout.
+       *
+       * @param {FastTimer} timeout
+       */
+      clearFastTimeout(timeout) {
+        timeout.clear();
+      },
+      /**
+       * The now method returns the value of the internal fast timer clock.
+       *
+       * @returns {number}
+       */
+      now() {
+        return fastNow;
+      },
+      /**
+       * Trigger the onTick function to process the fastTimers array.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       * @param {number} [delay=0] The delay in milliseconds to add to the now value.
+       */
+      tick(delay2 = 0) {
+        fastNow += delay2 - RESOLUTION_MS + 1;
+        onTick();
+        onTick();
+      },
+      /**
+       * Reset FastTimers.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      reset() {
+        fastNow = 0;
+        fastTimers.length = 0;
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = null;
+      },
+      /**
+       * Exporting for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      kFastTimer
     };
   }
 });
 
-// node_modules/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance3 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
-    } catch {
-    }
-    function responseURL(response) {
-      const urlList = response.urlList;
-      const length = urlList.length;
-      return length === 0 ? null : urlList[length - 1].toString();
-    }
-    function responseLocationURL(response, requestFragment) {
-      if (!redirectStatusSet.has(response.status)) {
-        return null;
-      }
-      let location = response.headersList.get("location");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
-        return "blocked";
-      }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    function isValidReasonPhrase(statusText) {
-      for (let i = 0; i < statusText.length; ++i) {
-        const c = statusText.charCodeAt(i);
-        if (!(c === 9 || // HTAB
-        c >= 32 && c <= 126 || // SP / VCHAR
-        c >= 128 && c <= 255)) {
-          return false;
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
         }
-      }
-      return true;
-    }
-    function isTokenCharCode(c) {
-      switch (c) {
-        case 34:
-        case 40:
-        case 41:
-        case 44:
-        case 47:
-        case 58:
-        case 59:
-        case 60:
-        case 61:
-        case 62:
-        case 63:
-        case 64:
-        case 91:
-        case 92:
-        case 93:
-        case 123:
-        case 125:
-          return false;
-        default:
-          return c >= 33 && c <= 126;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      if (policy !== "") {
-        request2.referrerPolicy = policy;
-      }
-    }
-    function crossOriginResourcePolicyCheck() {
-      return "allowed";
-    }
-    function corsCheck() {
-      return "success";
-    }
-    function TAOCheck() {
-      return "success";
-    }
-    function appendFetchMetadata(httpRequest) {
-      let header = null;
-      header = httpRequest.mode;
-      httpRequest.headersList.set("sec-fetch-mode", header);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance3.now();
-    }
-    function createOpaqueTimingInfo(timingInfo) {
-      return {
-        startTime: timingInfo.startTime ?? 0,
-        redirectStartTime: 0,
-        redirectEndTime: 0,
-        postRedirectStartTime: timingInfo.startTime ?? 0,
-        finalServiceWorkerStartTime: 0,
-        finalNetworkResponseStartTime: 0,
-        finalNetworkRequestStartTime: 0,
-        endTime: 0,
-        encodedBodySize: 0,
-        decodedBodySize: 0,
-        finalConnectionTimingInfo: null
-      };
-    }
-    function makePolicyContainer() {
-      return {
-        referrerPolicy: "strict-origin-when-cross-origin"
-      };
-    }
-    function clonePolicyContainer(policyContainer) {
-      return {
-        referrerPolicy: policyContainer.referrerPolicy
       };
-    }
-    function determineRequestsReferrer(request2) {
-      const policy = request2.referrerPolicy;
-      assert(policy);
-      let referrerSource = null;
-      if (request2.referrer === "client") {
-        const globalOrigin = getGlobalOrigin();
-        if (!globalOrigin || globalOrigin.origin === "null") {
-          return "no-referrer";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        referrerSource = new URL(globalOrigin);
-      } else if (request2.referrer instanceof URL) {
-        referrerSource = request2.referrer;
-      }
-      let referrerURL = stripURLForReferrer(referrerSource);
-      const referrerOrigin = stripURLForReferrer(referrerSource, true);
-      if (referrerURL.toString().length > 4096) {
-        referrerURL = referrerOrigin;
-      }
-      const areSameOrigin = sameOrigin(request2, referrerURL);
-      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
-      switch (policy) {
-        case "origin":
-          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
-        case "unsafe-url":
-          return referrerURL;
-        case "same-origin":
-          return areSameOrigin ? referrerOrigin : "no-referrer";
-        case "origin-when-cross-origin":
-          return areSameOrigin ? referrerURL : referrerOrigin;
-        case "strict-origin-when-cross-origin": {
-          const currentURL = requestCurrentURL(request2);
-          if (sameOrigin(referrerURL, currentURL)) {
-            return referrerURL;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url, originOnly) {
-      assert(url instanceof URL);
-      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url.username = "";
-      url.password = "";
-      url.hash = "";
-      if (originOnly) {
-        url.pathname = "";
-        url.search = "";
-      }
-      return url;
-    }
-    function isURLPotentiallyTrustworthy(url) {
-      if (!(url instanceof URL)) {
-        return false;
-      }
-      if (url.href === "about:blank" || url.href === "about:srcdoc") {
-        return true;
-      }
-      if (url.protocol === "data:") return true;
-      if (url.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto2 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
       }
-      const strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
-        if (actualValue[actualValue.length - 1] === "=") {
-          if (actualValue[actualValue.length - 2] === "=") {
-            actualValue = actualValue.slice(0, -2);
-          } else {
-            actualValue = actualValue.slice(0, -1);
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("node:tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          assert(sessionKey);
+          const session = customSession || sessionCache.get(sessionKey) || null;
+          port = port || 443;
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          port = port || 80;
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port,
+            host: hostname
+          });
         }
-        if (compareBase64Mixed(actualValue, expectedValue)) {
-          return true;
-        }
-      }
-      return false;
-    }
-    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
-    function parseMetadata(metadata) {
-      const result = [];
-      let empty = true;
-      for (const token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
-          continue;
-        }
-        const algorithm = parsedToken.groups.algo.toLowerCase();
-        if (supportedHashes.includes(algorithm)) {
-          result.push(parsedToken.groups);
-        }
-      }
-      if (empty === true) {
-        return "no metadata";
-      }
-      return result;
-    }
-    function getStrongestMetadata(metadataList) {
-      let algorithm = metadataList[0].algo;
-      if (algorithm[3] === "5") {
-        return algorithm;
-      }
-      for (let i = 1; i < metadataList.length; ++i) {
-        const metadata = metadataList[i];
-        if (metadata.algo[3] === "5") {
-          algorithm = "sha512";
-          break;
-        } else if (algorithm[3] === "3") {
-          continue;
-        } else if (metadata.algo[3] === "3") {
-          algorithm = "sha384";
-        }
-      }
-      return algorithm;
-    }
-    function filterMetadataListByAlgorithm(metadataList, algorithm) {
-      if (metadataList.length === 1) {
-        return metadataList;
-      }
-      let pos = 0;
-      for (let i = 0; i < metadataList.length; ++i) {
-        if (metadataList[i].algo === algorithm) {
-          metadataList[pos++] = metadataList[i];
-        }
-      }
-      metadataList.length = pos;
-      return metadataList;
-    }
-    function compareBase64Mixed(actualValue, expectedValue) {
-      if (actualValue.length !== expectedValue.length) {
-        return false;
-      }
-      for (let i = 0; i < actualValue.length; ++i) {
-        if (actualValue[i] !== expectedValue[i]) {
-          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
-            continue;
-          }
-          return false;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      return true;
-    }
-    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
-    }
-    function sameOrigin(A, B) {
-      if (A.origin === B.origin && A.origin === "null") {
-        return true;
-      }
-      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
-        return true;
-      }
-      return false;
-    }
-    function createDeferredPromise() {
-      let res;
-      let rej;
-      const promise = new Promise((resolve4, reject) => {
-        res = resolve4;
-        rej = reject;
-      });
-      return { promise, resolve: res, reject: rej };
-    }
-    function isAborted(fetchParams) {
-      return fetchParams.controller.state === "aborted";
-    }
-    function isCancelled(fetchParams) {
-      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
-    }
-    function serializeJavascriptValueToJSONString(value) {
-      const result = JSON.stringify(value);
-      if (result === void 0) {
-        throw new TypeError("Value is not JSON serializable");
-      }
-      assert(typeof result === "string");
-      return result;
-    }
-    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port });
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream2) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      let s1 = null;
+      let s2 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    } : (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      let s1 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          onConnectTimeout(socketWeakRef.deref(), opts);
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+      };
+    };
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
+        return;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    async function readAllBytes(reader) {
-      const bytes = [];
-      let byteLength = 0;
-      while (true) {
-        const { done, value: chunk } = await reader.read();
-        if (done) {
-          return Buffer.concat(bytes, byteLength);
-        }
-        if (!isUint8Array(chunk)) {
-          throw new TypeError("Received non-Uint8Array chunk");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        bytes.push(chunk);
-        byteLength += chunk.length;
-      }
-    }
-    function urlIsLocal(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
-    }
-    function urlHasHttpsScheme(url) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
-      }
-      return url.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.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
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    "use strict";
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.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");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var corsSafeListedMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "POST"]
+    );
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = (
+      /** @type {const} */
+      [101, 204, 205, 304]
+    );
+    var redirectStatus = (
+      /** @type {const} */
+      [301, 302, 303, 307, 308]
+    );
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = (
+      /** @type {const} */
+      [
+        "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"
+      ]
+    );
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = (
+      /** @type {const} */
+      [
+        "",
+        "no-referrer",
+        "no-referrer-when-downgrade",
+        "same-origin",
+        "origin",
+        "strict-origin",
+        "origin-when-cross-origin",
+        "strict-origin-when-cross-origin",
+        "unsafe-url"
+      ]
+    );
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = (
+      /** @type {const} */
+      ["follow", "manual", "error"]
+    );
+    var safeMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "OPTIONS", "TRACE"]
+    );
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = (
+      /** @type {const} */
+      ["navigate", "same-origin", "no-cors", "cors"]
+    );
+    var requestCredentials = (
+      /** @type {const} */
+      ["omit", "same-origin", "include"]
+    );
+    var requestCache = (
+      /** @type {const} */
+      [
+        "default",
+        "no-store",
+        "reload",
+        "no-cache",
+        "force-cache",
+        "only-if-cached"
+      ]
+    );
+    var requestBodyHeader = (
+      /** @type {const} */
+      [
+        "content-encoding",
+        "content-language",
+        "content-location",
+        "content-type",
+        // See https://github.com/nodejs/undici/issues/2021
+        // 'Content-Length' is a forbidden header name, which is typically
+        // removed in the Headers implementation. However, undici doesn't
+        // filter out headers, so we add it here.
+        "content-length"
+      ]
+    );
+    var requestDuplex = (
+      /** @type {const} */
+      [
+        "half"
+      ]
+    );
+    var forbiddenMethods = (
+      /** @type {const} */
+      ["CONNECT", "TRACE", "TRACK"]
+    );
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = (
+      /** @type {const} */
+      [
+        "audio",
+        "audioworklet",
+        "font",
+        "image",
+        "manifest",
+        "paintworklet",
+        "script",
+        "style",
+        "track",
+        "video",
+        "xslt",
+        ""
+      ]
+    );
+    var subresourceSet = new Set(subresource);
+    module2.exports = {
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
+      }
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
+    }
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function percentDecode(input) {
+      const length = input.length;
+      const output = new Uint8Array(length);
+      let j = 0;
+      for (let i = 0; i < length; ++i) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output[j++] = byte;
+        } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) {
+          output[j++] = 37;
+        } else {
+          output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]);
+          i += 2;
+        }
+      }
+      return length === j ? output : output.subarray(0, j);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
+      }
+      if (position.position > input.length) {
+        return "failure";
+      }
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
+      }
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
+          }
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+        } else {
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
+          }
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
+    }
+    function forgivingBase64(data) {
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
+          }
+        }
+      }
+      if (dataLength % 4 === 1) {
+        return "failure";
+      }
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
+      }
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
+    }
+    function isomorphicDecode(input) {
+      const length = input.length;
+      if ((2 << 15) - 1 > length) {
+        return String.fromCharCode.apply(null, input);
+      }
+      let result = "";
+      let i = 0;
+      let addition = (2 << 15) - 1;
+      while (i < length) {
+        if (i + addition > length) {
+          addition = length - i;
+        }
+        result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
+      }
+      return result;
+    }
+    function minimizeSupportedMimeType(mimeType) {
+      switch (mimeType.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";
+      }
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
+      }
+      if (mimeType.subtype.endsWith("+xml")) {
+        return "application/xml";
+      }
+      return "";
+    }
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType,
+      removeChars,
+      removeHTTPWhitespace,
+      minimizeSupportedMimeType,
+      HTTP_TOKEN_CODEPOINTS,
+      isomorphicDecode
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts) {
+      if (opts?.strict !== false) {
+        if (!(V instanceof I)) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      } else {
+        if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      }
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          header: ctx
+        });
+      }
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
+      });
+    };
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
+          }
+          return "Object";
+        }
+      }
+    };
+    webidl.util.markAsUncloneable = markAsUncloneable || (() => {
+    });
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
+        }
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
+      }
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
+      }
+      if (opts?.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
+          });
+        }
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
+        }
+        return x;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
+      }
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
+      }
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
+      }
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
+      }
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        let index = 0;
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} is not iterable.`
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O, prefix, argument) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} ("${webidl.util.Type(O)}") is not an Object.`
+          });
+        }
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
+          for (const key of keys2) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+          return result;
+        }
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+        }
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, prefix, argument, opts) => {
+        if (opts?.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.`
+          });
+        }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary, prefix, argument) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
+          });
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!Object.hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = Object.hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value ??= defaultValue();
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value, prefix, `${argument}.${key}`);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V, prefix, argument) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V, prefix, argument);
+      };
+    };
+    webidl.converters.DOMString = function(V, prefix, argument, opts) {
+      if (V === null && opts?.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${argument} is a symbol, which cannot be converted to a DOMString.`
+        });
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V, prefix, argument) {
+      const x = webidl.converters.DOMString(V, prefix, argument);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
+      }
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, prefix, argument, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${argument} ("${webidl.util.Stringify(V)}")`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.resizable || V.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${name} ("${webidl.util.Stringify(V)}")`,
+          types: [T.name]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${name} is not a DataView.`
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, prefix, name, opts) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false });
+      }
+      throw webidl.errors.conversionFailed({
+        prefix,
+        argument: `${name} ("${webidl.util.Stringify(V)}")`,
+        types: ["BufferSource"]
+      });
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance3 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
+      }
+      let location = response.headersList.get("location", true);
+      if (location !== null && isValidHeaderValue(location)) {
+        if (!isValidEncodedURL(location)) {
+          location = normalizeBinaryStringToUtf8(location);
+        }
+        location = new URL(location, responseURL(response));
+      }
+      if (location && !location.hash) {
+        location.hash = requestFragment;
+      }
+      return location;
+    }
+    function isValidEncodedURL(url) {
+      for (let i = 0; i < url.length; ++i) {
+        const code = url.charCodeAt(i);
+        if (code > 126 || // Non-US-ASCII + DEL
+        code < 32) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function normalizeBinaryStringToUtf8(value) {
+      return Buffer.from(value, "binary").toString("utf8");
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
+        return "blocked";
+      }
+      return "allowed";
+    }
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var isValidHeaderName = isValidHTTPToken;
+    function isValidHeaderValue(potentialValue) {
+      return (potentialValue[0] === "	" || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === "	" || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
+    }
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
+          }
+        }
+      }
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
+      }
+    }
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header, true);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (serializedOrigin === "client" || serializedOrigin === void 0) {
+        return;
+      }
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        request2.headersList.append("origin", serializedOrigin, true);
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
+        }
+        request2.headersList.append("origin", serializedOrigin, true);
+      }
+    }
+    function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
+      if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
+        return {
+          domainLookupStartTime: defaultStartTime,
+          domainLookupEndTime: defaultStartTime,
+          connectionStartTime: defaultStartTime,
+          connectionEndTime: defaultStartTime,
+          secureConnectionStartTime: defaultStartTime,
+          ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
+        };
+      }
+      return {
+        domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
+        domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
+        connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
+        connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
+        secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
+        ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
+      };
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return coarsenTime(performance3.now(), crossOriginIsolatedCapability);
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
+      };
+    }
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
+      };
+    }
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
+      };
+    }
+    function determineRequestsReferrer(request2) {
+      const policy = request2.referrerPolicy;
+      assert(policy);
+      let referrerSource = null;
+      if (request2.referrer === "client") {
+        const globalOrigin = getGlobalOrigin();
+        if (!globalOrigin || globalOrigin.origin === "null") {
+          return "no-referrer";
+        }
+        referrerSource = new URL(globalOrigin);
+      } else if (request2.referrer instanceof URL) {
+        referrerSource = request2.referrer;
+      }
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
+      }
+      const areSameOrigin = sameOrigin(request2, referrerURL);
+      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
+      switch (policy) {
+        case "origin":
+          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
+        case "unsafe-url":
+          return referrerURL;
+        case "same-origin":
+          return areSameOrigin ? referrerOrigin : "no-referrer";
+        case "origin-when-cross-origin":
+          return areSameOrigin ? referrerURL : referrerOrigin;
+        case "strict-origin-when-cross-origin": {
+          const currentURL = requestCurrentURL(request2);
+          if (sameOrigin(referrerURL, currentURL)) {
+            return referrerURL;
+          }
+          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
+            return "no-referrer";
+          }
+          return referrerOrigin;
+        }
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    function stripURLForReferrer(url, originOnly) {
+      assert(url instanceof URL);
+      url = new URL(url);
+      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
+        return "no-referrer";
+      }
+      url.username = "";
+      url.password = "";
+      url.hash = "";
+      if (originOnly) {
+        url.pathname = "";
+        url.search = "";
+      }
+      return url;
+    }
+    function isURLPotentiallyTrustworthy(url) {
+      if (!(url instanceof URL)) {
+        return false;
+      }
+      if (url.href === "about:blank" || url.href === "about:srcdoc") {
+        return true;
+      }
+      if (url.protocol === "data:") return true;
+      if (url.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url.origin);
+      function isOriginPotentiallyTrustworthy(origin) {
+        if (origin == null || origin === "null") return false;
+        const originAsURL = new URL(origin);
+        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
+          return true;
+        }
+        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
+          return true;
+        }
+        return false;
+      }
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto2 === void 0) {
+        return true;
+      }
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
+      }
+      if (parsedMetadata.length === 0) {
+        return true;
+      }
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
+          } else {
+            actualValue = actualValue.slice(0, -1);
+          }
+        }
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
+        }
+      }
+      return false;
+    }
+    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
+    function parseMetadata(metadata) {
+      const result = [];
+      let empty = true;
+      for (const token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
+          continue;
+        }
+        const algorithm = parsedToken.groups.algo.toLowerCase();
+        if (supportedHashes.includes(algorithm)) {
+          result.push(parsedToken.groups);
+        }
+      }
+      if (empty === true) {
+        return "no metadata";
+      }
+      return result;
+    }
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
+      }
+      for (let i = 1; i < metadataList.length; ++i) {
+        const metadata = metadataList[i];
+        if (metadata.algo[3] === "5") {
+          algorithm = "sha512";
+          break;
+        } else if (algorithm[3] === "3") {
+          continue;
+        } else if (metadata.algo[3] === "3") {
+          algorithm = "sha384";
+        }
+      }
+      return algorithm;
+    }
+    function filterMetadataListByAlgorithm(metadataList, algorithm) {
+      if (metadataList.length === 1) {
+        return metadataList;
+      }
+      let pos = 0;
+      for (let i = 0; i < metadataList.length; ++i) {
+        if (metadataList[i].algo === algorithm) {
+          metadataList[pos++] = metadataList[i];
+        }
+      }
+      metadataList.length = pos;
+      return metadataList;
+    }
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
+        return false;
+      }
+      for (let i = 0; i < actualValue.length; ++i) {
+        if (actualValue[i] !== expectedValue[i]) {
+          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
+            continue;
+          }
+          return false;
+        }
+      }
+      return true;
+    }
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
+    }
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
+      }
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
+      }
+      return false;
+    }
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve4, reject) => {
+        res = resolve4;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream2) {
+      return stream2 instanceof ReadableStream || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+        controller.byobRequest?.respond(0);
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
+          throw err;
+        }
+      }
+    }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
+    function isomorphicEncode(input) {
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
+      return input;
+    }
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
+        }
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
+        }
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
+    }
+    function urlIsLocal(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url) {
+      return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    function simpleRangeHeaderValue(value, allowWhitespace) {
+      const data = value;
+      if (!data.startsWith("bytes")) {
+        return "failure";
+      }
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeStart = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeEnd = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
+      if (position.position < data.length) {
+        return "failure";
+      }
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
+      }
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
+      }
+      return { rangeStartValue, rangeEndValue };
+    }
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
+    }
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
+      }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
+          }
+          this._inflateStream = (chunk[0] & 15) === 8 ? zlib.createInflate(this.#zlibOptions) : zlib.createInflateRaw(this.#zlibOptions);
+          this._inflateStream.on("data", this.push.bind(this));
+          this._inflateStream.on("end", () => this.push(null));
+          this._inflateStream.on("error", (err) => this.destroy(err));
+        }
+        this._inflateStream.write(chunk, encoding, callback);
+      }
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
+        }
+        callback();
+      }
+    };
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
+    }
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
+      }
+      for (const value of values) {
+        const temporaryMimeType = parseMIMEType(value);
+        if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
+          continue;
+        }
+        mimeType = temporaryMimeType;
+        if (mimeType.essence !== essence) {
+          charset = null;
+          if (mimeType.parameters.has("charset")) {
+            charset = mimeType.parameters.get("charset");
+          }
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
+        }
+      }
+      if (mimeType == null) {
+        return "failure";
+      }
+      return mimeType;
+    }
+    function gettingDecodingSplitting(value) {
+      const input = value;
+      const position = { position: 0 };
+      const values = [];
+      let temporaryValue = "";
+      while (position.position < input.length) {
+        temporaryValue += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== ",",
+          input,
+          position
+        );
+        if (position.position < input.length) {
+          if (input.charCodeAt(position.position) === 34) {
+            temporaryValue += collectAnHTTPQuotedString(
+              input,
+              position
+            );
+            if (position.position < input.length) {
+              continue;
+            }
+          } else {
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
+          }
+        }
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
+      }
+      return values;
+    }
+    function getDecodeSplit(name, list) {
+      const value = list.get(name, true);
+      if (value === null) {
+        return null;
+      }
+      return gettingDecodingSplitting(value);
+    }
+    var textDecoder = new TextDecoder();
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
+      }
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
+      }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      isValidEncodedURL,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      iteratorMixin,
+      createIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
+      }
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
+      }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
+      }
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
+      }
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
+      }
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
+      }
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
+      }
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
+      }
+      get [Symbol.toStringTag]() {
+        return "File";
+      }
+    };
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
+      }
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.append";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
+      }
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      }
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.get";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
+      }
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.getAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.set";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
+        } else {
+          this[kState].push(entry);
+        }
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        const state = this[kState].reduce((a, b) => {
+          if (a[b.name]) {
+            if (Array.isArray(a[b.name])) {
+              a[b.name].push(b.value);
+            } else {
+              a[b.name] = [a[b.name], b.value];
+            }
+          } else {
+            a[b.name] = b.value;
+          }
+          return a;
+        }, { __proto__: null });
+        options.depth ??= depth;
+        options.colors ??= true;
+        const output = nodeUtil.formatWithOptions(options, state);
+        return `FormData ${output.slice(output.indexOf("]") + 2)}`;
+      }
+    };
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      if (typeof value === "string") {
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { Blob: Blob2 } = require("node:buffer");
+    var assert = require("node:assert");
+    var { isErrored, isDisturbed } = require("node:stream");
+    var { isArrayBuffer } = require("node:util/types");
+    var { serializeAMimeType } = require_data_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var textEncoder = new TextEncoder();
+    function noop3() {
+    }
+    var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
+    var streamRegistry;
+    if (hasFinalizationRegistry) {
+      streamRegistry = new FinalizationRegistry((weakRef) => {
+        const stream2 = weakRef.deref();
+        if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
+          stream2.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream2 = null;
+      if (object instanceof ReadableStream) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
+      } else {
+        stream2 = new ReadableStream({
+          async pull(controller) {
+            const buffer = typeof source === "string" ? textEncoder.encode(source) : source;
+            if (buffer.byteLength) {
+              controller.enqueue(buffer);
+            }
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: "bytes"
+        });
+      }
+      assert(isReadableStreamLike(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
+            }
+          }
+        }
+        const chunk = textEncoder.encode(`--${boundary}--\r
+`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream2 = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = new ReadableStream({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+                controller.byobRequest?.respond(0);
+              });
+            } else {
+              if (!isErrored(stream2)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream: stream2, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  for (const [name, value2] of entries) {
+                    fd.append(name, value2);
+                  }
+                  return fd;
+                }
+              }
+            }
+            throw new TypeError(
+              'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
+            );
+          }, instance);
+        },
+        bytes() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes);
+          }, instance);
+        }
+      };
+      return methods;
+    }
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function consumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      if (bodyUnusable(object)) {
+        throw new TypeError("Body is unusable: Body has already been read");
+      }
+      throwIfAborted(object[kState]);
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kParser,
+      kBlocking,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kMaxRequests,
+      kCounter,
+      kMaxResponseSize,
+      kOnError,
+      kResume,
+      kHTTPContext
+    } = require_symbols6();
+    var constants = require_constants7();
+    var EMPTY_BUF = Buffer.alloc(0);
+    var FastBuffer = Buffer[Symbol.species];
+    var addListener = util.addListener;
+    var removeAllListeners = util.removeAllListeners;
+    var extractBody;
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageComplete() || 0;
+          }
+          /* eslint-enable camelcase */
+        }
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var USE_NATIVE_TIMER = 0;
+    var USE_FAST_TIMER = 1;
+    var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
+    var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
+    var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
+      }
+      setTimeout(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.timeoutType = type2;
+      }
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
+        }
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
+      }
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
+          }
+          this.execute(chunk);
+        }
+      }
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
+          }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
+        }
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
+        try {
+          let ret;
+          try {
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
+          } catch (err) {
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
+          }
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
+            }
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
+          }
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+      }
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        this.timeout && timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
+      }
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        request2.onResponseStarted();
+      }
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        this.trackHeader(buf.length);
+      }
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        const key = this.headers[len - 2];
+        if (key.length === 10) {
+          const headerName = util.bufferToLowerCasedHeaderName(key);
+          if (headerName === "keep-alive") {
+            this.keepAlive += buf.toString();
+          } else if (headerName === "connection") {
+            this.connection += buf.toString();
+          }
+        } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") {
+          this.contentLength += buf.toString();
+        }
+        this.trackHeader(buf.length);
+      }
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
+        }
+      }
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        assert(client[kSocket] === socket);
+        assert(!socket.destroyed);
+        assert(!this.paused);
+        assert((headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        removeAllListeners(socket);
+        client[kSocket] = null;
+        client[kHTTPContext] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+        client[kResume]();
+      }
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
+        }
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
+        }
+        assert(this.timeoutType === TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        assert((this.headers.length & 1) === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
+            );
+            if (timeout <= 0) {
+              socket[kReset] = true;
+            } else {
+              client[kKeepAliveTimeoutValue] = timeout;
+            }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+          }
+        } else {
+          socket[kReset] = true;
+        }
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
+        }
+        if (request2.method === "HEAD") {
+          return 1;
+        }
+        if (statusCode < 200) {
+          return 1;
+        }
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          client[kResume]();
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
+        }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
+        }
+      }
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
+        }
+        if (upgrade) {
+          return;
+        }
+        assert(statusCode >= 100);
+        assert((this.headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert(client[kRunning] === 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] == null || client[kPipelining] === 1) {
+          setImmediate(() => client[kResume]());
+        } else {
+          client[kResume]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client, paused } = parser.deref();
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
+      }
+    }
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
+      }
+      socket[kNoRef] = false;
+      socket[kWriting] = false;
+      socket[kReset] = false;
+      socket[kBlocking] = false;
+      socket[kParser] = new Parser(client, socket, llhttpInstance);
+      addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        const parser = this[kParser];
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        this[kError] = err;
+        this[kClient][kOnError](err);
       });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      addListener(socket, "end", function() {
+        const parser = this[kParser];
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      addListener(socket, "close", function() {
+        const client2 = this[kClient];
+        const parser = this[kParser];
+        if (parser) {
+          if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+            parser.onMessageComplete();
+          }
+          this[kParser].destroy();
+          this[kParser] = null;
+        }
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client2[kSocket] = null;
+        client2[kHTTPContext] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+          const request2 = client2[kQueue][client2[kRunningIdx]];
+          client2[kQueue][client2[kRunningIdx]++] = null;
+          util.errorRequest(client2, request2, err);
+        }
+        client2[kPendingIdx] = client2[kRunningIdx];
+        assert(client2[kRunning] === 0);
+        client2.emit("disconnect", client2[kUrl], [client2], err);
+        client2[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h1",
+        defaultPipelining: 1,
+        write(...args) {
+          return writeH1(client, ...args);
+        },
+        resume() {
+          resumeH1(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy(request2) {
+          if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+            return true;
+          }
+          if (request2) {
+            if (client[kRunning] > 0 && !request2.idempotent) {
+              return true;
+            }
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
+            }
+            if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) {
+              return true;
+            }
+          }
+          return false;
+        }
+      };
+    }
+    function resumeH1(client) {
+      const socket = client[kSocket];
+      if (socket && !socket.destroyed) {
+        if (client[kSize] === 0) {
+          if (!socket[kNoRef] && socket.unref) {
+            socket.unref();
+            socket[kNoRef] = true;
+          }
+        } else if (socket[kNoRef] && socket.ref) {
+          socket.ref();
+          socket[kNoRef] = false;
+        }
+        if (client[kSize] === 0) {
+          if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
+            socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
+          }
+        } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+          if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+            const request2 = client[kQueue][client[kRunningIdx]];
+            const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];
+            socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          }
+        }
+      }
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH1(client, request2) {
+      const { method, path: path8, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path8} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    webidl.argumentLengthCheck = function({ length }, min, ctx) {
-      if (length < min) {
-        throw webidl.errors.exception({
-          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
-          ...ctx
-        });
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
       }
-    };
-    webidl.illegalConstructor = function() {
-      throw webidl.errors.exception({
-        header: "TypeError",
-        message: "Illegal constructor"
-      });
-    };
-    webidl.util.Type = function(V) {
-      switch (typeof V) {
-        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": {
-          if (V === null) {
-            return "Null";
+      if (Array.isArray(headers)) {
+        for (let n = 0; n < headers.length; n += 2) {
+          const key = headers[n + 0];
+          const val = headers[n + 1];
+          if (Array.isArray(val)) {
+            for (let i = 0; i < val.length; i++) {
+              header += `${key}: ${val[i]}\r
+`;
+            }
+          } else {
+            header += `${key}: ${val}\r
+`;
           }
-          return "Object";
         }
       }
-    };
-    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
-      let upperBound;
-      let lowerBound;
-      if (bitLength === 64) {
-        upperBound = Math.pow(2, 53) - 1;
-        if (signedness === "unsigned") {
-          lowerBound = 0;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } else if (signedness === "unsigned") {
-        lowerBound = 0;
-        upperBound = Math.pow(2, bitLength) - 1;
-      } else {
-        lowerBound = Math.pow(-2, bitLength) - 1;
-        upperBound = Math.pow(2, bitLength - 1) - 1;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (opts.enforceRange === true) {
-        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Could not convert ${V} to an integer.`
-          });
-        }
-        x = webidl.util.IntegerPart(x);
-        if (x < lowerBound || x > upperBound) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      x = webidl.util.IntegerPart(x);
-      x = x % Math.pow(2, bitLength);
-      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
-        return x - Math.pow(2, bitLength);
+      const waitForDrain = () => new Promise((resolve4, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve4;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    var AsyncWriter = class {
+      constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        this.abort = abort;
+        socket[kWriting] = true;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+        if (socket.destroyed) {
+          return false;
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
+        }
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          seq2.push(converter(value));
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
+          } else {
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          }
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
+        }
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
+            }
           }
-          return result;
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        return ret;
+      }
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
+        }
+        if (socket.destroyed) {
+          return;
+        }
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            socket.write(`${header}\r
+`, "latin1");
           }
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
+          }
         }
-        return V;
-      };
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
+        }
+        client[kResume]();
+      }
+      destroy(err) {
+        const { socket, client, abort } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          abort(err);
+        }
+      }
     };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
+    var util = require_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ Symbol("open streams");
+    var extractBody;
+    var h2ExperimentalWarned = false;
+    var http2;
+    try {
+      http2 = require("node:http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
+      }
+    } = http2;
+    function parseH2Headers(headers) {
+      const result = [];
+      for (const [name, value] of Object.entries(headers)) {
+        if (Array.isArray(value)) {
+          for (const subvalue of value) {
+            result.push(Buffer.from(name), Buffer.from(subvalue));
+          }
+        } else {
+          result.push(Buffer.from(name), Buffer.from(value));
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
+      }
+      return result;
+    }
+    async function connectH2(client, socket) {
+      client[kSocket] = socket;
+      if (!h2ExperimentalWarned) {
+        h2ExperimentalWarned = true;
+        process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+          code: "UNDICI-H2"
+        });
+      }
+      const session = http2.connect(client[kUrl], {
+        createConnection: () => socket,
+        peerMaxConcurrentStreams: client[kMaxConcurrentStreams]
+      });
+      session[kOpenStreams] = 0;
+      session[kClient] = client;
+      session[kSocket] = socket;
+      util.addListener(session, "error", onHttp2SessionError);
+      util.addListener(session, "frameError", onHttp2FrameError);
+      util.addListener(session, "end", onHttp2SessionEnd);
+      util.addListener(session, "goaway", onHTTP2GoAway);
+      util.addListener(session, "close", function() {
+        const { [kClient]: client2 } = this;
+        const { [kSocket]: socket2 } = client2;
+        const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2));
+        client2[kHTTP2Session] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+      });
+      session.unref();
+      client[kHTTP2Session] = session;
+      socket[kHTTP2Session] = session;
+      util.addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      util.addListener(socket, "end", function() {
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      util.addListener(socket, "close", function() {
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client[kSocket] = null;
+        if (this[kHTTP2Session] != null) {
+          this[kHTTP2Session].destroy(err);
+        }
+        client[kPendingIdx] = client[kRunningIdx];
+        assert(client[kRunning] === 0);
+        client.emit("disconnect", client[kUrl], [client], err);
+        client[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h2",
+        defaultPipelining: Infinity,
+        write(...args) {
+          return writeH2(client, ...args);
+        },
+        resume() {
+          resumeH2(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy() {
+          return false;
+        }
+      };
+    }
+    function resumeH2(client) {
+      const socket = client[kSocket];
+      if (socket?.destroyed === false) {
+        if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {
+          socket.unref();
+          client[kHTTP2Session].unref();
+        } else {
+          socket.ref();
+          client[kHTTP2Session].ref();
+        }
+      }
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
+      }
+    }
+    function onHttp2SessionEnd() {
+      const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket]));
+      this.destroy(err);
+      util.destroy(this[kSocket], err);
+    }
+    function onHTTP2GoAway(code) {
+      const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this));
+      const client = this[kClient];
+      client[kSocket] = null;
+      client[kHTTPContext] = null;
+      if (this[kHTTP2Session] != null) {
+        this[kHTTP2Session].destroy(err);
+        this[kHTTP2Session] = null;
+      }
+      util.destroy(this[kSocket], err);
+      if (client[kRunningIdx] < client[kQueue].length) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        util.errorRequest(client, request2, err);
+        client[kPendingIdx] = client[kRunningIdx];
+      }
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      client[kResume]();
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH2(client, request2) {
+      const session = client[kHTTP2Session];
+      const { method, path: path8, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
             }
-            dict[key] = value;
           }
+        } else {
+          headers[key] = val;
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+      }
+      let stream2;
+      const { hostname, port } = client[kUrl];
+      headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
+      headers[HTTP2_HEADER_METHOD] = method;
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream2 != null) {
+          util.destroy(stream2, err);
         }
-        return converter(V);
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
       };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+      if (request2.aborted) {
+        return false;
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      for (let index = 0; index < x.length; index++) {
-        if (x.charCodeAt(index) > 255) {
-          throw new TypeError(
-            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
-          );
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
         }
-      }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+        stream2.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
         });
+        return true;
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+      headers[HTTP2_HEADER_PATH] = path8;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
+      ++session[kOpenStreams];
+      stream2.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        request2.onResponseStarted();
+        if (request2.aborted) {
+          const err = new RequestAbortedError();
+          util.errorRequest(client, request2, err);
+          util.destroy(stream2, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+        stream2.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream2.pause();
+          }
+        });
+      });
+      stream2.once("end", () => {
+        if (stream2.state?.state == null || stream2.state.state < 6) {
+          request2.onComplete([]);
+        }
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
+      });
+      stream2.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        abort(err);
+      });
+      stream2.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream2,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream2,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream2,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream2,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
       }
-      const href = url.href;
-      const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
     }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      return result;
     }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
     }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return Uint8Array.from(output);
     }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        return "failure";
-      }
-      if (position.position > input.length) {
-        return "failure";
-      }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      const typeLowercase = type2.toLowerCase();
-      const subtypeLowercase = subtype.toLowerCase();
-      const mimeType = {
-        type: typeLowercase,
-        subtype: subtypeLowercase,
-        /** @type {Map} */
-        parameters: /* @__PURE__ */ new Map(),
-        // https://mimesniff.spec.whatwg.org/#mime-type-essence
-        essence: `${typeLowercase}/${subtypeLowercase}`
-      };
-      while (position.position < input.length) {
-        position.position++;
-        collectASequenceOfCodePoints(
-          // https://fetch.spec.whatwg.org/#http-whitespace
-          (char) => HTTP_WHITESPACE_REGEX.test(char),
-          input,
-          position
-        );
-        let parameterName = collectASequenceOfCodePoints(
-          (char) => char !== ";" && char !== "=",
-          input,
-          position
-        );
-        parameterName = parameterName.toLowerCase();
-        if (position.position < input.length) {
-          if (input[position.position] === ";") {
-            continue;
+      const waitForDrain = () => new Promise((resolve4, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve4;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
           }
-          position.position++;
         }
-        if (position.position > input.length) {
-          break;
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
+      }
+    }
+    module2.exports = connectH2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        let parameterValue = null;
-        if (input[position.position] === '"') {
-          parameterValue = collectAnHTTPQuotedString(input, position, true);
-          collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-        } else {
-          parameterValue = collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
-          if (parameterValue.length === 0) {
-            continue;
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        this.redirectionLimitReached = false;
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
           }
-        }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
+          }
+        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
         }
       }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      if (data.length % 4 === 1) {
-        return "failure";
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
+          if (this.request) {
+            this.request.abort(new Error("max redirects"));
+          }
+          this.redirectionLimitReached = true;
+          this.abort(new Error("max redirects"));
+          return;
+        }
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
+        }
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        }
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path8 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path8;
+        this.opts.origin = origin;
+        this.opts.maxRedirections = 0;
+        this.opts.query = null;
+        if (statusCode === 303 && this.opts.method !== "HEAD") {
+          this.opts.method = "GET";
+          this.opts.body = null;
+        }
       }
-      return bytes;
-    }
-    function collectAnHTTPQuotedString(input, position, extractValue) {
-      const positionStart = position.position;
-      let value = "";
-      assert(input[position.position] === '"');
-      position.position++;
-      while (true) {
-        value += collectASequenceOfCodePoints(
-          (char) => char !== '"' && char !== "\\",
-          input,
-          position
-        );
-        if (position.position >= input.length) {
-          break;
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        const quoteOrBackslash = input[position.position];
-        position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
-            break;
-          }
-          value += input[position.position];
-          position.position++;
+      }
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
         } else {
-          assert(quoteOrBackslash === '"');
-          break;
+          this.handler.onComplete(trailers);
         }
       }
-      if (extractValue) {
-        return value;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      return input.slice(positionStart, position.position);
-    }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
+      }
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
+          return headers[i + 1];
         }
-        serialization += value;
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
-    }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      return false;
+    }
+    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
+      const ret = [];
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
+            ret.push(headers[i], headers[i + 1]);
+          }
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
+          }
+        }
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-      return str2.slice(lead, trail + 1);
+      return ret;
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
+    var RedirectHandler = require_redirect_handler2();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
           }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
         };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
+      };
+    }
+    module2.exports = createRedirectInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    var {
+      kUrl,
+      kServerName,
+      kClient,
+      kBusy,
+      kConnect,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
+    } = require_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var noop3 = () => {
     };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
-        };
-      }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
+    function getPipelining(client) {
+      return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
+    }
+    var Client = class extends DispatcherBase {
+      /**
+       *
+       * @param {string|URL} url
+       * @param {import('../../types/client.js').Client.Options} options
+       */
+      constructor(url, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        maxConcurrentStreams,
+        allowH2
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
+        }
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
+        }
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
+        }
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
+        }
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
+        }
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
+        }
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
+        }
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
+        }
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
+        }
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        }
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        }
+        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        }
+        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        }
+        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+        }
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        }
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        }
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        }
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
+        }
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
+        }
+        if (interceptors?.Client && Array.isArray(interceptors.Client)) {
+          this[kInterceptors] = interceptors.Client;
+          if (!deprecatedInterceptorWarned) {
+            deprecatedInterceptorWarned = true;
+            process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", {
+              code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"
+            });
+          }
+        } else {
+          this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })];
+        }
+        this[kUrl] = util.parseOrigin(url);
+        this[kConnector] = connect2;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
+        this[kHTTPContext] = null;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
+        this[kResume] = (sync) => resume(this, sync);
+        this[kOnError] = (err) => onError(this, err);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      get pipelining() {
+        return this[kPipelining];
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      get [kConnected]() {
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      get [kBusy]() {
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = new Request(origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          queueMicrotask(() => resume(this));
+        } else {
+          this[kResume](true);
         }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      async [kClose]() {
+        return new Promise((resolve4) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve4;
+          } else {
+            resolve4(null);
           }
-          return value;
-        },
-        defaultValue: "transparent"
+        });
       }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
+      async [kDestroy](err) {
+        return new Promise((resolve4) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(this, request2, err);
+          }
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
+            }
+            resolve4(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+            queueMicrotask(callback);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
+          this[kResume]();
+        });
+      }
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          util.errorRequest(client, request2, err);
         }
+        assert(client[kSize] === 0);
       }
-      return bytes;
     }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kHTTPContext]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      return s.replace(/\r?\n/g, nativeLineEnding);
-    }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
-    }
-    module2.exports = { File: File2, FileLike, isFileLike };
-  }
-});
-
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
-    "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            version: client[kHTTPContext]?.version,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
+      }
+      try {
+        const socket = await new Promise((resolve4, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve4(socket2);
+            }
           });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        assert(socket);
+        try {
+          client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket);
+        } catch (err) {
+          socket.destroy().on("error", noop3);
+          throw err;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        client[kConnecting] = false;
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
+        }
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            util.errorRequest(client, request2, err);
+          }
         } else {
-          this[kState].push(entry);
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
       }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
+          } else {
+            emitDrain(client);
+          }
+          continue;
+        }
+        if (client[kPending] === 0) {
+          return;
+        }
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
+        }
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
+          }
+          client[kServerName] = request2.servername;
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
+        }
+        if (client[kConnecting]) {
+          return;
+        }
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
+        }
+        if (client[kHTTPContext].destroyed) {
+          return;
+        }
+        if (client[kHTTPContext].busy(request2)) {
+          return;
+        }
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
       }
-      return { name, value };
     }
-    module2.exports = { FormData: FormData2 };
+    module2.exports = Client;
   }
 });
 
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
     "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
+      constructor() {
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-      let stream2 = null;
-      if (object instanceof ReadableStream2) {
-        stream2 = object;
-      } else if (isBlobLike(object)) {
-        stream2 = object.stream();
-      } else {
-        stream2 = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      assert(isReadableStreamLike(stream2));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
-      } else if (isArrayBuffer(object)) {
-        source = new Uint8Array(object.slice());
-      } else if (ArrayBuffer.isView(object)) {
-        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
-      } else if (util.isFormDataLike(object)) {
-        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
-        const prefix = `--${boundary}\r
-Content-Disposition: form-data`;
-        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
-        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
-        const blobParts = [];
-        const rn = new Uint8Array([13, 10]);
-        length = 0;
-        let hasUnknownSizeValue = false;
-        for (const [name, value] of object) {
-          if (typeof value === "string") {
-            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
-\r
-${normalizeLinefeeds(value)}\r
-`);
-            blobParts.push(chunk2);
-            length += chunk2.byteLength;
-          } else {
-            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
-Content-Type: ${value.type || "application/octet-stream"}\r
-\r
-`);
-            blobParts.push(chunk2, value, rn);
-            if (typeof value.size === "number") {
-              length += chunk2.byteLength + value.size + rn.byteLength;
-            } else {
-              hasUnknownSizeValue = true;
-            }
-          }
-        }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
-        }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
-        }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
-        }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
-        }
-        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      if (action != null) {
-        let iterator2;
-        stream2 = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream2)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
       }
-      const body = { stream: stream2, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream2 = body.stream;
-          if (util.isDisturbed(stream2)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream2.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream2[kBodyUsed] = true;
-          yield* stream2;
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
+        return next;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve4, reject) => {
-              busboy.on("finish", resolve4);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
-            }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
-          }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
-        }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+      get free() {
+        return this[kPool][kFree];
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
-    }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
+      get pending() {
+        return this[kPool][kPending];
       }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+      get queued() {
+        return this[kPool][kQueued];
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
     };
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path8,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path8 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path8[0] !== "/" && !(path8.startsWith("http://") || path8.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path8) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
-        }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
-          }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
+      constructor() {
+        super();
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
             }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path8, query) : path8;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
-        }
+        };
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
-        }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
-        }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
+        return ret;
       }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      get stats() {
+        return this[kStats];
       }
-      onComplete(trailers) {
-        this.onFinally();
-        assert(!this.aborted);
-        this.completed = true;
-        if (channels.trailers.hasSubscribers) {
-          channels.trailers.publish({ request: this, trailers });
-        }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve4) => {
+            this[kClosedResolve] = resolve4;
+          });
         }
       }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
-        }
-        if (this.aborted) {
-          return;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
-        }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
         }
+        return !this[kNeedDrain];
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          queueMicrotask(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
+            }
+          });
+        }
         return this;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
-      }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
         }
-        return headers;
-      }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
+        this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
             }
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
-        }
-      }
-    }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
-      }
-      close() {
-        throw new Error("not implemented");
+        });
       }
-      destroy() {
-        throw new Error("not implemented");
+      [kGetDispatcher]() {
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
+          }
+        }
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+          return dispatcher;
+        }
       }
     };
-    module2.exports = Dispatcher;
+    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
     var {
-      ClientDestroyedError,
-      ClientClosedError,
+      BalancedPoolMissingUpstreamError,
       InvalidArgumentError
     } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
-      constructor() {
-        super();
-        this[kDestroyed] = false;
-        this[kOnDestroyed] = null;
-        this[kClosed] = false;
-        this[kOnClosed] = [];
-      }
-      get destroyed() {
-        return this[kDestroyed];
-      }
-      get closed() {
-        return this[kClosed];
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-      get interceptors() {
-        return this[kInterceptors];
+      return a;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
+        }
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
       }
-      set interceptors(newInterceptors) {
-        if (newInterceptors) {
-          for (let i = newInterceptors.length - 1; i >= 0; i--) {
-            const interceptor = this[kInterceptors][i];
-            if (typeof interceptor !== "function") {
-              throw new InvalidArgumentError("interceptor must be an function");
-            }
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
+        }
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
           }
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
         }
-        this[kInterceptors] = newInterceptors;
+        this._updateBalancedPoolStats();
+        return this;
       }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve4, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve4(data);
-            });
-          });
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        this[kGreatestCommonDivisor] = result;
+      }
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+        return this;
+      }
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      }
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
+        }
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
           return;
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
           return;
         }
-        this[kClosed] = true;
-        this[kOnClosed].push(callback);
-        const onClosed = () => {
-          const callbacks = this[kOnClosed];
-          this[kOnClosed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
+          }
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
+            }
+          }
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
           }
-        };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
         }
-        if (callback === void 0) {
-          return new Promise((resolve4, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve4(data);
-            });
-          });
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
+      }
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors2();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
-        this[kDestroyed] = true;
-        this[kOnDestroyed] = this[kOnDestroyed] || [];
-        this[kOnDestroyed].push(callback);
-        const onDestroyed = () => {
-          const callbacks = this[kOnDestroyed];
-          this[kOnDestroyed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
-          }
+        this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kOnDrain] = (origin, targets) => {
+          this.emit("drain", origin, [this, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          this.emit("connect", origin, [this, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          this.emit("disconnect", origin, [this, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          this.emit("connectionError", origin, [this, ...targets], err);
         };
-        this[kDestroy](err).then(() => {
-          queueMicrotask(onDestroyed);
-        });
       }
-      [kInterceptedDispatch](opts, handler2) {
-        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
-          this[kInterceptedDispatch] = this[kDispatch];
-          return this[kDispatch](opts, handler2);
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        return ret;
+      }
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        let dispatcher = this[kClients].get(key);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, dispatcher);
+        }
+        return dispatcher.dispatch(opts, handler2);
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
-        try {
-          if (!opts || typeof opts !== "object") {
-            throw new InvalidArgumentError("opts must be an object.");
-          }
-          if (this[kDestroyed] || this[kOnDestroyed]) {
-            throw new ClientDestroyedError();
-          }
-          if (this[kClosed]) {
-            throw new ClientClosedError();
-          }
-          return this[kInterceptedDispatch](opts, handler2);
-        } catch (err) {
-          if (typeof handler2.onError !== "function") {
-            throw new InvalidArgumentError("invalid onError method");
-          }
-          handler2.onError(err);
-          return false;
+        this[kClients].clear();
+        await Promise.all(closePromises);
+      }
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const client of this[kClients].values()) {
+          destroyPromises.push(client.destroy(err));
         }
+        this[kClients].clear();
+        await Promise.all(destroyPromises);
       }
     };
-    module2.exports = DispatcherBase;
+    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
-    var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._sessionRegistry = new global.FinalizationRegistry((key) => {
-            if (this._sessionCache.size < this._maxCachedSessions) {
-              return;
-            }
-            const ref = this._sessionCache.get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this._sessionCache.delete(key);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var noop3 = () => {
+    };
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
+      }
+      return new Pool(origin, opts);
+    }
+    var Http1ProxyWrapper = class extends DispatcherBase {
+      #client;
+      constructor(proxyUrl, { headers = {}, connect, factory }) {
+        super();
+        if (!proxyUrl) {
+          throw new InvalidArgumentError("Proxy URL is mandatory");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
+      }
+      [kDispatch](opts, handler2) {
+        const onHeaders = handler2.onHeaders;
+        handler2.onHeaders = function(statusCode, data, resume) {
+          if (statusCode === 407) {
+            if (typeof handler2.onError === "function") {
+              handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
+            }
             return;
           }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path8 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path8;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...options,
-            servername,
-            session,
-            localAddress,
-            // TODO(HTTP/2): Add support for h2c
-            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
-            socket: httpSocket,
-            // upgrade socket connection
-            port: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
-          });
+      async [kClose]() {
+        return this.#client.close();
+      }
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
+      }
+    };
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super();
+        if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) {
+          throw new InvalidArgumentError("Proxy uri is mandatory");
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        const { proxyTunnel = true } = opts;
+        const url = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url;
+        this[kProxy] = { uri: href, protocol };
+        this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        this[kTunnelProxy] = proxyTunnel;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
+        }
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        const agentFactory = opts.factory || defaultAgentFactory;
+        const factory = (origin2, options) => {
+          const { protocol: protocol2 } = new URL2(origin2);
+          if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
+            return new Http1ProxyWrapper(this[kProxy].uri, {
+              headers: this[kProxyHeaders],
+              connect,
+              factory: agentFactory
+            });
           }
-        });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
+          return agentFactory(origin2, options);
         };
-      }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+        this[kClient] = clientFactory(url, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          factory,
+          connect: async (opts2, callback) => {
+            let requestedPath = opts2.host;
+            if (!opts2.port) {
+              requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedPath,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host: opts2.host
+                },
+                servername: this[kProxyTls]?.servername || proxyHostname
+              });
+              if (statusCode !== 200) {
+                socket.on("error", noop3).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+                callback(new SecureProxyConnectionError(err));
+              } else {
+                callback(err);
+              }
+            }
           }
         });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
+      }
+      dispatch(opts, handler2) {
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        if (headers && !("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(opts.origin);
+          headers.host = host;
         }
-      });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
-    var TYPE;
-    (function(TYPE2) {
-      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
-      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
-      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
-    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
-    var FLAGS;
-    (function(FLAGS2) {
-      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
-      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
-      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
-      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
-      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
-      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
-      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
-      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
-      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
-    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
-    var LENIENT_FLAGS;
-    (function(LENIENT_FLAGS2) {
-      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
-    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
-    var METHODS;
-    (function(METHODS2) {
-      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
-      METHODS2[METHODS2["GET"] = 1] = "GET";
-      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
-      METHODS2[METHODS2["POST"] = 3] = "POST";
-      METHODS2[METHODS2["PUT"] = 4] = "PUT";
-      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
-      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
-      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
-      METHODS2[METHODS2["COPY"] = 8] = "COPY";
-      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
-      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
-      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
-      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
-      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
-      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
-      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
-      METHODS2[METHODS2["BIND"] = 16] = "BIND";
-      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
-      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
-      METHODS2[METHODS2["ACL"] = 19] = "ACL";
-      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
-      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
-      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
-      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
-      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
-      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
-      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
-      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
-      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
-      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
-      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
-      METHODS2[METHODS2["LINK"] = 31] = "LINK";
-      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
-      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
-      METHODS2[METHODS2["PRI"] = 34] = "PRI";
-      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
-      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
-      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
-      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
-      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
-      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
-      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
-      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
-      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
-      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
-      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
-    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
-    exports2.METHODS_HTTP = [
-      METHODS.DELETE,
-      METHODS.GET,
-      METHODS.HEAD,
-      METHODS.POST,
-      METHODS.PUT,
-      METHODS.CONNECT,
-      METHODS.OPTIONS,
-      METHODS.TRACE,
-      METHODS.COPY,
-      METHODS.LOCK,
-      METHODS.MKCOL,
-      METHODS.MOVE,
-      METHODS.PROPFIND,
-      METHODS.PROPPATCH,
-      METHODS.SEARCH,
-      METHODS.UNLOCK,
-      METHODS.BIND,
-      METHODS.REBIND,
-      METHODS.UNBIND,
-      METHODS.ACL,
-      METHODS.REPORT,
-      METHODS.MKACTIVITY,
-      METHODS.CHECKOUT,
-      METHODS.MERGE,
-      METHODS["M-SEARCH"],
-      METHODS.NOTIFY,
-      METHODS.SUBSCRIBE,
-      METHODS.UNSUBSCRIBE,
-      METHODS.PATCH,
-      METHODS.PURGE,
-      METHODS.MKCALENDAR,
-      METHODS.LINK,
-      METHODS.UNLINK,
-      METHODS.PRI,
-      // TODO(indutny): should we allow it with HTTP?
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_ICE = [
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_RTSP = [
-      METHODS.OPTIONS,
-      METHODS.DESCRIBE,
-      METHODS.ANNOUNCE,
-      METHODS.SETUP,
-      METHODS.PLAY,
-      METHODS.PAUSE,
-      METHODS.TEARDOWN,
-      METHODS.GET_PARAMETER,
-      METHODS.SET_PARAMETER,
-      METHODS.REDIRECT,
-      METHODS.RECORD,
-      METHODS.FLUSH,
-      // For AirPlay
-      METHODS.GET,
-      METHODS.POST
-    ];
-    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
-    exports2.H_METHOD_MAP = {};
-    Object.keys(exports2.METHOD_MAP).forEach((key) => {
-      if (/^H/.test(key)) {
-        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
-    }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.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
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
-    }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+      /**
+       * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts
+       * @returns {URL}
+       */
+      #getUrl(opts) {
+        if (typeof opts === "string") {
+          return new URL2(opts);
+        } else if (opts instanceof URL2) {
+          return opts;
+        } else {
+          return new URL2(opts.uri);
+        }
+      }
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
+      }
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-    }
-    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
-    exports2.MAJOR = exports2.NUM_MAP;
-    exports2.MINOR = exports2.MAJOR;
-    var HEADER_STATE;
-    (function(HEADER_STATE2) {
-      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
-      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
-      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
-    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
-    exports2.SPECIAL_HEADERS = {
-      "connection": HEADER_STATE.CONNECTION,
-      "content-length": HEADER_STATE.CONTENT_LENGTH,
-      "proxy-connection": HEADER_STATE.CONNECTION,
-      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
-      "upgrade": HEADER_STATE.UPGRADE
     };
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
+        }
+        return headersPair;
+      }
+      return headers;
+    }
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      }
+    }
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
+        super();
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
+        }
+        const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
+        this[kNoProxyAgent] = new Agent(agentOpts);
+        const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
+        if (HTTP_PROXY) {
+          this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY });
+        } else {
+          this[kHttpProxyAgent] = this[kNoProxyAgent];
+        }
+        const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
+        if (HTTPS_PROXY) {
+          this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY });
+        } else {
+          this[kHttpsProxyAgent] = this[kHttpProxyAgent];
+        }
+        this.#parseNoProxy();
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      [kDispatch](opts, handler2) {
+        const url = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url);
+        return agent.dispatch(opts, handler2);
       }
-    };
-    var RedirectHandler = class {
-      constructor(dispatch, maxRedirections, opts, handler2) {
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        util.validateHandler(handler2, opts.method, opts.upgrade);
-        this.dispatch = dispatch;
-        this.location = null;
-        this.abort = null;
-        this.opts = { ...opts, maxRedirections: 0 };
-        this.maxRedirections = maxRedirections;
-        this.handler = handler2;
-        this.history = [];
-        if (util.isStream(this.opts.body)) {
-          if (util.bodyLength(this.opts.body) === 0) {
-            this.opts.body.on("data", function() {
-              assert(false);
-            });
-          }
-          if (typeof this.opts.body.readableDidRead !== "boolean") {
-            this.opts.body[kBodyUsed] = false;
-            EE.prototype.on.call(this.opts.body, "data", function() {
-              this[kBodyUsed] = true;
-            });
-          }
-        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
-        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
       }
-      onConnect(abort) {
-        this.abort = abort;
-        this.handler.onConnect(abort, { history: this.history });
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
+        }
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
+        }
       }
-      onUpgrade(statusCode, headers, socket) {
-        this.handler.onUpgrade(statusCode, headers, socket);
+      #getProxyAgentForUrl(url) {
+        let { protocol, host: hostname, port } = url;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
+        }
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
+        }
+        return this[kHttpProxyAgent];
       }
-      onError(error3) {
-        this.handler.onError(error3);
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
+        }
+        if (this.#noProxyEntries.length === 0) {
+          return true;
+        }
+        if (this.#noProxyValue === "*") {
+          return false;
+        }
+        for (let i = 0; i < this.#noProxyEntries.length; i++) {
+          const entry = this.#noProxyEntries[i];
+          if (entry.port && entry.port !== port) {
+            continue;
+          }
+          if (!/^[.*]/.test(entry.hostname)) {
+            if (hostname === entry.hostname) {
+              return false;
+            }
+          } else {
+            if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
+              return false;
+            }
+          }
+        }
+        return true;
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
+      #parseNoProxy() {
+        const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
+        const noProxySplit = noProxyValue.split(/[,\s]/);
+        const noProxyEntries = [];
+        for (let i = 0; i < noProxySplit.length; i++) {
+          const entry = noProxySplit[i];
+          if (!entry) {
+            continue;
+          }
+          const parsed = entry.match(/^(.+):(\d+)$/);
+          noProxyEntries.push({
+            hostname: (parsed ? parsed[1] : entry).toLowerCase(),
+            port: parsed ? Number.parseInt(parsed[2], 10) : 0
+          });
         }
-        if (!this.location) {
-          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
+      }
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
         }
-        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
-        const path8 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path8;
-        this.opts.origin = origin;
-        this.opts.maxRedirections = 0;
-        this.opts.query = null;
-        if (statusCode === 303 && this.opts.method !== "HEAD") {
-          this.opts.method = "GET";
-          this.opts.body = null;
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      return new Date(retryAfter).getTime() - current;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          minTimeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "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((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
+          }
+        });
+      }
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
       }
-      onData(chunk) {
-        if (this.location) {
-        } else {
-          return this.handler.onData(chunk);
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
         } else {
-          this.handler.onComplete(trailers);
+          this.abort = abort;
         }
       }
       onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
-      }
-    };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
-          return headers[i + 1];
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          minTimeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        const { counter } = state;
+        if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
+        }
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
+        }
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
+        }
+        if (counter > maxRetries) {
+          cb(err);
+          return;
+        }
+        let retryAfterHeader = headers?.["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
         }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
+        setTimeout(() => cb(null), retryTimeout);
       }
-    }
-    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
-      if (header.length === 4) {
-        return util.headerNameToString(header) === "host";
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          if (this.retryOpts.statusCodes.includes(statusCode) === false) {
+            return this.handler.onHeaders(
+              statusCode,
+              rawHeaders,
+              resume,
+              statusMessage
+            );
+          } else {
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
+          }
+        }
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
+            this.abort(
+              new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size - 1 } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
+        }
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
+            }
+            const { start, size, end = size - 1 } = range;
+            assert(
+              start != null && Number.isFinite(start),
+              "content-range mismatch"
+            );
+            assert(end != null && Number.isFinite(end), "invalid content-length");
+            this.start = start;
+            this.end = end;
+          }
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
+          }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          if (this.etag != null && this.etag.startsWith("W/")) {
+            this.etag = null;
+          }
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
+        }
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          data: { count: this.retryCount }
+        });
+        this.abort(err);
+        return false;
       }
-      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
-        return true;
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
-        const name = util.headerNameToString(header);
-        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      return false;
-    }
-    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
-      const ret = [];
-      if (Array.isArray(headers)) {
-        for (let i = 0; i < headers.length; i += 2) {
-          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
-            ret.push(headers[i], headers[i + 1]);
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        if (this.retryCount - this.retryCountCheckpoint > 0) {
+          this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
+        } else {
+          this.retryCount += 1;
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
+          },
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
           }
-        }
-      } else if (headers && typeof headers === "object") {
-        for (const key of Object.keys(headers)) {
-          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
-            ret.push(key, headers[key]);
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
+            }
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
+          }
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
       }
-      return ret;
-    }
-    module2.exports = RedirectHandler;
+    };
+    module2.exports = RetryHandler;
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
-      return (dispatch) => {
-        return function Intercept(opts, handler2) {
-          const { maxRedirections = defaultMaxRedirections } = opts;
-          if (!maxRedirections) {
-            return dispatch(opts, handler2);
-          }
-          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
-          opts = { ...opts, maxRedirections: 0 };
-          return dispatch(opts, redirectHandler);
-        };
-      };
-    }
-    module2.exports = createRedirectInterceptor;
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
+      }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
+      }
+      close() {
+        return this.#agent.close();
+      }
+      destroy() {
+        return this.#agent.destroy();
+      }
+    };
+    module2.exports = RetryAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
     var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
-    var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("http2");
-    } catch {
-      http2 = { constants: {} };
-    }
-    var {
-      constants: {
-        HTTP2_HEADER_AUTHORITY,
-        HTTP2_HEADER_METHOD,
-        HTTP2_HEADER_PATH,
-        HTTP2_HEADER_SCHEME,
-        HTTP2_HEADER_CONTENT_LENGTH,
-        HTTP2_HEADER_EXPECT,
-        HTTP2_HEADER_STATUS
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable2 {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        contentLength,
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kContentLength] = contentLength;
+        this[kReading] = false;
       }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
-        super();
-        if (keepAlive !== void 0) {
-          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
-        }
-        if (socketTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (requestTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (idleTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
-        }
-        if (maxKeepAliveTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
-        }
-        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
-          throw new InvalidArgumentError("invalid maxHeaderSize");
-        }
-        if (socketPath != null && typeof socketPath !== "string") {
-          throw new InvalidArgumentError("invalid socketPath");
-        }
-        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
-          throw new InvalidArgumentError("invalid connectTimeout");
-        }
-        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeout");
-        }
-        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
-        }
-        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
-        }
-        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
-        }
-        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
-        }
-        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
-        }
-        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
-          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
-        }
-        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
-          throw new InvalidArgumentError("localAddress must be valid string IP address");
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        if (err) {
+          this[kAbort]();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        return super.destroy(err);
+      }
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+      }
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        return super.on(ev, ...args);
+      }
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
+      }
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
-          });
+        return ret;
+      }
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
+      }
+      push(chunk) {
+        if (this[kConsume] && chunk !== null) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
+        return super.push(chunk);
       }
-      get pipelining() {
-        return this[kPipelining];
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
+          }
+        }
+        return this[kBody];
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
+      async dump(opts) {
+        let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024;
+        const signal = opts?.signal;
+        if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
+          throw new InvalidArgumentError("signal must be an AbortSignal");
+        }
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
+        }
+        return await new Promise((resolve4, reject) => {
+          if (this[kContentLength] > limit) {
+            this.destroy(new AbortError());
+          }
+          const onAbort = () => {
+            this.destroy(signal.reason ?? new AbortError());
+          };
+          signal?.addEventListener("abort", onAbort);
+          this.on("close", function() {
+            signal?.removeEventListener("abort", onAbort);
+            if (signal?.aborted) {
+              reject(signal.reason ?? new AbortError());
+            } else {
+              resolve4(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream2, type2) {
+      assert(!stream2[kConsume]);
+      return new Promise((resolve4, reject) => {
+        if (isUnusable(stream2)) {
+          const rState = stream2._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream2.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
+          } else {
+            reject(rState.errored ?? new TypeError("unusable"));
+          }
         } else {
-          resume(this, true);
+          queueMicrotask(() => {
+            stream2[kConsume] = {
+              type: type2,
+              stream: stream2,
+              resolve: resolve4,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream2.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream2[kConsume]);
+          });
         }
-        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
+      }
+      const { _readableState: state } = consume2.stream;
+      if (state.bufferIndex) {
+        const start = state.bufferIndex;
+        const end = state.buffer.length;
+        for (let n = start; n < end; n++) {
+          consumePush(consume2, state.buffer[n]);
+        }
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        return this[kNeedDrain] < 2;
       }
-      async [kClose]() {
-        return new Promise((resolve4) => {
-          if (!this[kSize]) {
-            resolve4(null);
-          } else {
-            this[kClosedResolve] = resolve4;
-          }
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
         });
       }
-      async [kDestroy](err) {
-        return new Promise((resolve4) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
-          }
-          const callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
-            }
-            resolve4();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
-          }
-          resume(this);
-        });
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
     }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
+    function chunksDecode(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return "";
       }
+      const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
+      const bufferLength = buffer.length;
+      const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
+      return buffer.utf8Slice(start, bufferLength);
     }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
+      if (chunks.length === 1) {
+        return new Uint8Array(chunks[0]);
+      }
+      const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
+      let offset = 0;
+      for (let i = 0; i < chunks.length; ++i) {
+        const chunk = chunks[i];
+        buffer.set(chunk, offset);
+        offset += chunk.length;
+      }
+      return buffer;
     }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve4, stream: stream2, length } = consume2;
       try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
-      }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
-          }
-          /* eslint-enable camelcase */
+        if (type2 === "text") {
+          resolve4(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve4(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve4(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve4(new Blob(body, { type: stream2[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve4(chunksConcat(body, length));
         }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: exports3 }) {
-        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
-        this.llhttp = exports3;
-        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
-        this.client = client;
-        this.socket = socket;
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.statusCode = null;
-        this.statusText = "";
-        this.upgrade = false;
-        this.headers = [];
-        this.headersSize = 0;
-        this.headersMaxSize = client[kMaxHeadersSize];
-        this.shouldKeepAlive = false;
-        this.paused = false;
-        this.resume = this.resume.bind(this);
-        this.bytesRead = 0;
-        this.keepAlive = "";
-        this.contentLength = "";
-        this.connection = "";
-        this.maxResponseSize = client[kMaxResponseSize];
+        consumeFinish(consume2);
+      } catch (err) {
+        stream2.destroy(err);
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
-          } else {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      resume() {
-        if (this.socket.destroyed || !this.paused) {
-          return;
-        }
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_resume(this.ptr);
-        assert(this.timeoutType === TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-        this.paused = false;
-        this.execute(this.socket.read() || EMPTY_BUF);
-        this.readMore();
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+    module2.exports = { Readable: BodyReadable, chunksDecode };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
             break;
           }
-          this.execute(chunk);
-        }
-      }
-      execute(data) {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        assert(!this.paused);
-        const { socket, llhttp } = this;
-        if (data.length > currentBufferSize) {
-          if (currentBufferPtr) {
-            llhttp.free(currentBufferPtr);
-          }
-          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
-          currentBufferPtr = llhttp.malloc(currentBufferSize);
-        }
-        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
-        try {
-          let ret;
-          try {
-            currentBufferRef = data;
-            currentParser = this;
-            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
-          } catch (err) {
-            throw err;
-          } finally {
-            currentParser = null;
-            currentBufferRef = null;
-          }
-          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
-          if (ret === constants.ERROR.PAUSED_UPGRADE) {
-            this.onUpgrade(data.slice(offset));
-          } else if (ret === constants.ERROR.PAUSED) {
-            this.paused = true;
-            socket.unshift(data.slice(offset));
-          } else if (ret !== constants.ERROR.OK) {
-            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
-            let message = "";
-            if (ptr) {
-              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
-              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
-            }
-            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
-          }
-        } catch (err) {
-          util.destroy(socket, err);
-        }
-      }
-      destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
-      }
-      onStatus(buf) {
-        this.statusText = buf.toString();
-      }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
         }
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        this.trackHeader(buf.length);
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
       }
-      onHeaderValue(buf) {
-        let len = this.headers.length;
-        if ((len & 1) === 1) {
-          this.headers.push(buf);
-          len += 1;
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        const key = this.headers[len - 2];
-        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      const stackTraceLimit = Error.stackTraceLimit;
+      Error.stackTraceLimit = 0;
+      let payload;
+      try {
+        if (isContentTypeApplicationJson(contentType)) {
+          payload = JSON.parse(chunksDecode(chunks, length));
+        } else if (isContentTypeText(contentType)) {
+          payload = chunksDecode(chunks, length);
         }
-        this.trackHeader(buf.length);
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
+      queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)));
+    }
+    var isContentTypeApplicationJson = (contentType) => {
+      return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n";
+    };
+    var isContentTypeText = (contentType) => {
+      return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t";
+    };
+    module2.exports = {
+      getResolveErrorBodyCallback,
+      isContentTypeApplicationJson,
+      isContentTypeText
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-      }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
         try {
-          request2.onUpgrade(statusCode, headers, socket);
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
         } catch (err) {
-          util.destroy(socket, err);
-        }
-        resume(client);
-      }
-      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
-        const { client, socket, headers, statusText } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
-        }
-        assert(!this.upgrade);
-        assert(this.statusCode < 200);
-        if (statusCode === 100) {
-          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
-          return -1;
-        }
-        if (upgrade && !request2.upgrade) {
-          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
-          return -1;
-        }
-        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
-        this.statusCode = statusCode;
-        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
-        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
-        if (this.statusCode >= 200) {
-          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
-          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
           }
+          throw err;
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
-        }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
-            } else {
-              client[kKeepAliveTimeoutValue] = timeout;
-            }
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
           } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
-          }
-        } else {
-          socket[kReset] = true;
-        }
-        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
-        if (request2.aborted) {
-          return -1;
-        }
-        if (request2.method === "HEAD") {
-          return 1;
-        }
-        if (statusCode < 200) {
-          return 1;
-        }
-        if (socket[kBlocking]) {
-          socket[kBlocking] = false;
-          resume(client);
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
           }
+          return;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable2({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        this.callback = null;
+        this.res = res;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body: res, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body: res,
+              context: context2
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
-          return;
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
       }
     };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve4(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
+      }
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        this[kParser].destroy();
-        this[kParser] = null;
-      }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      try {
-        const socket = await new Promise((resolve4, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve4(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
+          this.callback = null;
+          this.runInAsyncScope(
+            getResolveErrorBodyCallback,
+            null,
+            { callback, body: res, contentType, statusCode, statusMessage, headers }
+          );
+        } else {
+          if (factory === null) {
+            return;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          finished(res, { readable: false }, (err) => {
+            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
+            this.res = null;
+            if (err || !res2.readable) {
+              util.destroy(res2, err);
+            }
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
+        return needDrain !== true;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
           return;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
-          assert(client[kRunning] === 0);
-          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
-            const request2 = client[kQueue][client[kPendingIdx]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream2(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          stream2.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve4(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = stream2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable: Readable2,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable2 {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
+      }
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
+        }
+      }
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
+      }
+    };
+    var PipelineResponse = class extends Readable2 {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
       }
-      client[kResuming] = 2;
-      _resume(client, sync);
-      client[kResuming] = 0;
-      if (client[kRunningIdx] > 256) {
-        client[kQueue].splice(0, client[kRunningIdx]);
-        client[kPendingIdx] -= client[kRunningIdx];
-        client[kRunningIdx] = 0;
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        callback(err);
       }
-    }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
+        }
+        const { signal, method, opaque, onInfo, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        super("UNDICI_UPGRADE");
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.abort = null;
+        this.context = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = null;
+      }
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
+      }
+      onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve4(data);
+          });
+        });
+      }
+      try {
+        const upgradeHandler = new UpgradeHandler(opts, callback);
+        this.dispatch({
+          ...opts,
+          method: opts.method || "GET",
+          upgrade: opts.protocol || "Websocket"
+        }, upgradeHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path8, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
-      }
-      if (request2.aborted) {
-        return false;
       }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve4, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve4(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
+    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _MockNotMatchedError);
+        this.name = "MockNotMatchedError";
+        this.message = message || "The request does not match any registered mock dispatches";
+        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path8} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      if (upgrade) {
-        header += `connection: upgrade\r
-upgrade: ${upgrade}\r
-`;
-      } else if (client[kPipelining] && !socket[kReset]) {
-        header += "connection: keep-alive\r\n";
-      } else {
-        header += "connection: close\r\n";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        if (contentLength === 0) {
-          socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-        } else {
-          assert(contentLength === null, "no body must not have content length");
-          socket.write(`${header}\r
-`, "latin1");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      return false;
+    }
+    function lowerCaseEntries(headers) {
+      return Object.fromEntries(
+        Object.entries(headers).map(([headerName, headerValue]) => {
+          return [headerName.toLocaleLowerCase(), headerValue];
+        })
+      );
+    }
+    function getHeaderByName(headers, key) {
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
+            return headers[i + 1];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      return true;
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path8, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    function buildHeadersFromArray(headers) {
+      const clone = headers.slice();
+      const entries = [];
+      for (let index = 0; index < clone.length; index += 2) {
+        entries.push([clone[index], clone[index + 1]]);
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      return Object.fromEntries(entries);
+    }
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
+        }
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      if (request2.aborted) {
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
+      }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream2;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream2 = session.request(headers, { endStream: false, signal });
-        if (stream2.id && !stream2.pending) {
-          request2.onUpgrade(null, null, stream2);
-          ++h2State.openStreams;
-        } else {
-          stream2.once("ready", () => {
-            request2.onUpgrade(null, null, stream2);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream2.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path8;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path8) {
+      if (typeof path8 !== "string") {
+        return path8;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path8.split("?");
+      if (pathSegments.length !== 2) {
+        return path8;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path8, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path8);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    function getMockDispatch(mockDispatches, key) {
+      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
+      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path8 }) => matchValue(safeUrl(path8), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
-        stream2.once("continue", writeBodyH2);
-      } else {
-        stream2 = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream2.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream2.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream2.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      stream2.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
+      }
+      return matchedMockDispatches[0];
+    }
+    function addMockDispatch(mockDispatches, key, data) {
+      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
+      const replyData = typeof data === "function" ? { callback: data } : { ...data };
+      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
+      mockDispatches.push(newMockDispatch);
+      return newMockDispatch;
+    }
+    function deleteMockDispatch(mockDispatches, key) {
+      const index = mockDispatches.findIndex((dispatch) => {
+        if (!dispatch.consumed) {
+          return false;
         }
+        return matchKey(dispatch, key);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream2.cork();
-          stream2.write(body);
-          stream2.uncork();
-          stream2.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream2,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream2,
-              header: "",
-              socket: client[kSocket]
-            });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
+      }
+    }
+    function buildKey(opts) {
+      const { path: path8, method, body, headers, query } = opts;
+      return {
+        path: path8,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
           }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream2,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream2,
-            socket: client[kSocket]
-          });
         } else {
-          assert(false);
+          result.push(name, Buffer.from(`${value}`));
         }
       }
+      return result;
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
+      return Buffer.concat(buffers).toString("utf8");
+    }
+    function mockDispatch(opts, handler2) {
+      const key = buildKey(opts);
+      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
+      mockDispatch2.timesInvoked++;
+      if (mockDispatch2.data.callback) {
+        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+      }
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
+      }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
           return;
         }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
+      }
+      function resume() {
+      }
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
           try {
-            writer.end();
-          } catch (er) {
-            err = er;
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
+              }
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
+            }
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          originalDispatch.call(this, opts, handler2);
         }
       };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    function checkNetConnect(netConnect, origin) {
+      const url = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
+        return true;
       }
+      return false;
     }
-    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
-      let callback = null;
-      function onDrain() {
-        if (callback) {
-          const cb = callback;
-          callback = null;
-          cb();
-        }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
-      const waitForDrain = () => new Promise((resolve4, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve4;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+    }
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      /**
+       * Delay a reply by a set amount in ms.
+       */
+      delay(waitInMs) {
+        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
+          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
-    }
-    var AsyncWriter = class {
-      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
-        this.socket = socket;
-        this.request = request2;
-        this.contentLength = contentLength;
-        this.client = client;
-        this.bytesWritten = 0;
-        this.expectsPayload = expectsPayload;
-        this.header = header;
-        socket[kWriting] = true;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
         }
-        if (socket.destroyed) {
-          return false;
+        this[kMockDispatch].times = repeatTimes;
+        return this;
+      }
+    };
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          }
-          process.emitWarning(new RequestContentLengthMismatchError());
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
         }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
-          }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
           } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
           }
         }
-        if (contentLength === null) {
-          socket.write(`\r
-${len.toString(16)}\r
-`, "latin1");
-        }
-        this.bytesWritten += len;
-        const ret = socket.write(chunk);
-        socket.uncork();
-        request2.onBodySent(chunk);
-        if (!ret) {
-          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-            if (socket[kParser].timeout.refresh) {
-              socket[kParser].timeout.refresh();
-            }
-          }
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
         }
-        return ret;
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
+      createMockScopeDispatchData({ statusCode, data, responseOptions }) {
+        const responseData = getResponseData2(data);
+        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
+        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
+        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
+        return { statusCode, data, headers, trailers };
+      }
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
         }
-        if (socket.destroyed) {
-          return;
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
+          throw new InvalidArgumentError("responseOptions must be an object");
         }
-        if (bytesWritten === 0) {
-          if (expectsPayload) {
-            socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-          } else {
-            socket.write(`${header}\r
-`, "latin1");
-          }
-        } else if (contentLength === null) {
-          socket.write("\r\n0\r\n\r\n", "latin1");
+      }
+      /**
+       * Mock an undici request with a defined reply.
+       */
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
+              throw new InvalidArgumentError("reply options callback must return an object");
+            }
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
+            return {
+              ...this.createMockScopeDispatchData(replyParameters2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
         }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
-          }
+        const replyParameters = {
+          statusCode: replyOptionsCallbackOrStatusCode,
+          data: arguments[1] === void 0 ? "" : arguments[1],
+          responseOptions: arguments[2] === void 0 ? {} : arguments[2]
+        };
+        this.validateReplyParameters(replyParameters);
+        const dispatchData = this.createMockScopeDispatchData(replyParameters);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
+      }
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
         }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
-          }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
+      }
+      /**
+       * Set default reply headers on the interceptor for subsequent replies
+       */
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
         }
-        resume(client);
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
+      /**
+       * Set default reply trailers on the interceptor for subsequent replies
+       */
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
         }
+        this[kDefaultTrailers] = trailers;
+        return this;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
-    }
-    module2.exports = Client;
+    };
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var kSize = 2048;
-    var kMask = kSize - 1;
-    var FixedCircularBuffer = class {
-      constructor() {
-        this.bottom = 0;
-        this.top = 0;
-        this.list = new Array(kSize);
-        this.next = null;
-      }
-      isEmpty() {
-        return this.top === this.bottom;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      shift() {
-        const nextItem = this.list[this.bottom];
-        if (nextItem === void 0)
-          return null;
-        this.list[this.bottom] = void 0;
-        this.bottom = this.bottom + 1 & kMask;
-        return nextItem;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      isEmpty() {
-        return this.head.isEmpty();
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
-        }
-        this.head.push(data);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
-        }
-        return next;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
-      }
-      get connected() {
-        return this[kPool][kConnected];
-      }
-      get free() {
-        return this[kPool][kFree];
-      }
-      get pending() {
-        return this[kPool][kPending];
-      }
-      get queued() {
-        return this[kPool][kQueued];
-      }
-      get running() {
-        return this[kPool][kRunning];
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+    "use strict";
+    var singulars = {
+      pronoun: "it",
+      is: "is",
+      was: "was",
+      this: "this"
+    };
+    var plurals = {
+      pronoun: "they",
+      is: "are",
+      was: "were",
+      this: "these"
+    };
+    module2.exports = class Pluralizer {
+      constructor(singular, plural) {
+        this.singular = singular;
+        this.plural = plural;
       }
-      get size() {
-        return this[kPool][kSize];
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
       }
     };
-    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ Symbol("stats");
-    var PoolBase = class extends DispatcherBase {
-      constructor() {
-        super();
-        this[kQueue] = new FixedQueue();
-        this[kClients] = [];
-        this[kQueued] = 0;
-        const pool = this;
-        this[kOnDrain] = function onDrain(origin, targets) {
-          const queue = pool[kQueue];
-          let needDrain = false;
-          while (!needDrain) {
-            const item = queue.shift();
-            if (!item) {
-              break;
-            }
-            pool[kQueued]--;
-            needDrain = !this.dispatch(item.opts, item.handler);
-          }
-          this[kNeedDrain] = needDrain;
-          if (!this[kNeedDrain] && pool[kNeedDrain]) {
-            pool[kNeedDrain] = false;
-            pool.emit("drain", origin, [pool, ...targets]);
+    var { Transform } = require("node:stream");
+    var { Console } = require("node:console");
+    var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
+    var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
           }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
           }
-        };
-        this[kOnConnect] = (origin, targets) => {
-          pool.emit("connect", origin, [pool, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          pool.emit("disconnect", origin, [pool, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          pool.emit("connectionError", origin, [pool, ...targets], err);
-        };
-        this[kStats] = new PoolStats(this);
-      }
-      get [kBusy]() {
-        return this[kNeedDrain];
+        });
       }
-      get [kConnected]() {
-        return this[kClients].filter((client) => client[kConnected]).length;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path8, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path8,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+        }
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      get [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        return ret;
+        return dispatcher;
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
+      }
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
+      }
+      deactivate() {
+        this[kIsMockActive] = false;
+      }
+      activate() {
+        this[kIsMockActive] = true;
+      }
+      enableNetConnect(matcher) {
+        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
+          if (Array.isArray(this[kNetConnect])) {
+            this[kNetConnect].push(matcher);
+          } else {
+            this[kNetConnect] = [matcher];
+          }
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        return ret;
       }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      get stats() {
-        return this[kStats];
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve4) => {
-            this[kClosedResolve] = resolve4;
-          });
-        }
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const client = this[kClients].get(origin);
+        if (client) {
+          return client;
+        }
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
+        }
+        for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
-          item.handler.onError(err);
         }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      [kDispatch](opts, handler2) {
-        const dispatcher = this[kGetDispatcher]();
-        if (!dispatcher) {
-          this[kNeedDrain] = true;
-          this[kQueue].push({ opts, handler: handler2 });
-          this[kQueued]++;
-        } else if (!dispatcher.dispatch(opts, handler2)) {
-          dispatcher[kNeedDrain] = true;
-          this[kNeedDrain] = !this[kGetDispatcher]();
-        }
-        return !this[kNeedDrain];
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-      [kAddClient](client) {
-        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-        this[kClients].push(client);
-        if (this[kNeedDrain]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      [kRemoveClient](client) {
-        client.close(() => {
-          const idx = this[kClients].indexOf(client);
-          if (idx !== -1) {
-            this[kClients].splice(idx, 1);
-          }
-        });
-        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
+          return;
+        }
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors2();
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    var Pool = class extends PoolBase {
-      constructor(origin, {
-        connections,
-        factory = defaultFactory,
-        connect,
-        connectTimeout,
-        tls,
-        maxCachedSessions,
-        socketPath,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        allowH2,
-        ...options
-      } = {}) {
-        super();
-        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
-          throw new InvalidArgumentError("invalid connections");
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (typeof connect !== "function") {
-          connect = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
-          }
-        });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
     "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var BalancedPool = class extends PoolBase {
-      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
-        super();
-        this[kOptions] = opts;
-        this[kIndex] = -1;
-        this[kCurrentWeight] = 0;
-        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
-        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
-        if (!Array.isArray(upstreams)) {
-          upstreams = [upstreams];
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+    module2.exports = class DecoratorHandler {
+      #handler;
+      constructor(handler2) {
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
         }
-        this._updateBalancedPoolStats();
+        this.#handler = handler2;
       }
-      addUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
-          return this;
-        }
-        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
-        this[kAddClient](pool);
-        pool.on("connect", () => {
-          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
-        });
-        pool.on("connectionError", () => {
-          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-          this._updateBalancedPoolStats();
-        });
-        pool.on("disconnect", (...args) => {
-          const err = args[2];
-          if (err && err.code === "UND_ERR_SOCKET") {
-            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-            this._updateBalancedPoolStats();
-          }
-        });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
-        }
-        this._updateBalancedPoolStats();
-        return this;
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      removeUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
-        if (pool) {
-          this[kRemoveClient](pool);
-        }
-        return this;
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
-      [kGetDispatcher]() {
-        if (this[kClients].length === 0) {
-          throw new BalancedPoolMissingUpstreamError();
-        }
-        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
-        if (!dispatcher) {
-          return;
-        }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
-        }
-        let counter = 0;
-        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
-        while (counter++ < this[kClients].length) {
-          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
-          const pool = this[kClients][this[kIndex]];
-          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
-            maxWeightIndex = this[kIndex];
-          }
-          if (this[kIndex] === 0) {
-            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
-            if (this[kCurrentWeight] <= 0) {
-              this[kCurrentWeight] = this[kMaxWeightPerServer];
-            }
-          }
-          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
-            return pool;
-          }
-        }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
+      onHeaders(...args) {
+        return this.#handler.onHeaders?.(...args);
+      }
+      onData(...args) {
+        return this.#handler.onData?.(...args);
+      }
+      onComplete(...args) {
+        return this.#handler.onComplete?.(...args);
+      }
+      onBodySent(...args) {
+        return this.#handler.onBodySent?.(...args);
       }
     };
-    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
-      }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
-      }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
-      }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
-        }
-      }
+    var RedirectHandler = require_redirect_handler2();
+    module2.exports = (opts) => {
+      const globalMaxRedirections = opts?.maxRedirections;
+      return (dispatch) => {
+        return function redirectInterceptor(opts2, handler2) {
+          const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2;
+          if (!maxRedirections) {
+            return dispatch(opts2, handler2);
+          }
+          const redirectHandler = new RedirectHandler(
+            dispatch,
+            maxRedirections,
+            opts2,
+            handler2
+          );
+          return dispatch(baseOpts, redirectHandler);
+        };
+      };
     };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
         };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
       };
     };
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    function defaultFactory(origin, opts) {
-      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
-    }
-    var Agent = class extends DispatcherBase {
-      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
-        super();
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    var DumpHandler = class extends DecoratorHandler {
+      #maxSize = 1024 * 1024;
+      #abort = null;
+      #dumped = false;
+      #aborted = false;
+      #size = 0;
+      #reason = null;
+      #handler = null;
+      constructor({ maxSize }, handler2) {
+        super(handler2);
+        if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
+          throw new InvalidArgumentError("maxSize must be a number greater than 0");
         }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
+      }
+      onConnect(abort) {
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
+      }
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
+      }
+      // TODO: will require adjustment after new hooks are out
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = util.parseHeaders(rawHeaders);
+        const contentLength = headers["content-length"];
+        if (contentLength != null && contentLength > this.#maxSize) {
+          throw new RequestAbortedError(
+            `Response size (${contentLength}) larger than maxSize (${this.#maxSize})`
+          );
         }
-        if (connect && typeof connect !== "function") {
-          connect = { ...connect };
+        if (this.#aborted) {
+          return true;
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
         );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
-        }
-        return ret;
       }
-      [kDispatch](opts, handler2) {
-        let key;
-        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
-          key = String(opts.origin);
-        } else {
-          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
+      onError(err) {
+        if (this.#dumped) {
+          return;
         }
-        return dispatcher.dispatch(opts, handler2);
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
+      onData(chunk) {
+        this.#size = this.#size + chunk.length;
+        if (this.#size >= this.#maxSize) {
+          this.#dumped = true;
+          if (this.#aborted) {
+            this.#handler.onError(this.#reason);
+          } else {
+            this.#handler.onComplete([]);
           }
         }
-        await Promise.all(closePromises);
+        return true;
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        await Promise.all(destroyPromises);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
+        }
+        this.#handler.onComplete(trailers);
       }
     };
-    module2.exports = Agent;
+    function createDumpInterceptor({ maxSize: defaultMaxSize } = {
+      maxSize: 1024 * 1024
+    }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { dumpMaxSize = defaultMaxSize } = opts;
+          const dumpHandler = new DumpHandler(
+            { maxSize: dumpMaxSize },
+            handler2
+          );
+          return dispatch(opts, dumpHandler);
+        };
+      };
+    }
+    module2.exports = createDumpInterceptor;
   }
 });
 
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable: Readable2 } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
-    };
-    module2.exports = class BodyReadable extends Readable2 {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        highWaterMark = 64 * 1024
-        // Same as nodejs fs streams.
-      }) {
-        super({
-          autoDestroy: true,
-          read: resume,
-          highWaterMark
-        });
-        this._readableState.dataEmitted = false;
-        this[kAbort] = abort;
-        this[kConsume] = null;
-        this[kBody] = null;
-        this[kContentType] = contentType;
-        this[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
-        }
-        return super.emit(ev, ...args);
-      }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
-      }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
-      }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
-        }
-        return ret;
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    var maxInt = Math.pow(2, 31) - 1;
+    var DNSInstance = class {
+      #maxTTL = 0;
+      #maxItems = 0;
+      #records = /* @__PURE__ */ new Map();
+      dualStack = true;
+      affinity = null;
+      lookup = null;
+      pick = null;
+      constructor(opts) {
+        this.#maxTTL = opts.maxTTL;
+        this.#maxItems = opts.maxItems;
+        this.dualStack = opts.dualStack;
+        this.affinity = opts.affinity;
+        this.lookup = opts.lookup ?? this.#defaultLookup;
+        this.pick = opts.pick ?? this.#defaultPick;
       }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
         }
-        return super.push(chunk);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-text
-      async text() {
-        return consume(this, "text");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-json
-      async json() {
-        return consume(this, "json");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-blob
-      async blob() {
-        return consume(this, "blob");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-body
-      get body() {
-        if (!this[kBody]) {
-          this[kBody] = ReadableStreamFrom(this);
-          if (this[kConsume]) {
-            this[kBody].getReader();
-            assert(this[kBody].locked);
+        const newOpts = {
+          affinity: this.affinity,
+          dualStack: this.dualStack,
+          lookup: this.lookup,
+          pick: this.pick,
+          ...opts.dns,
+          maxTTL: this.#maxTTL,
+          maxItems: this.#maxItems
+        };
+        if (ips == null) {
+          this.lookup(origin, newOpts, (err, addresses) => {
+            if (err || addresses == null || addresses.length === 0) {
+              cb(err ?? new InformationalError("No DNS entries found"));
+              return;
+            }
+            this.setRecords(origin, addresses);
+            const records = this.#records.get(origin.hostname);
+            const ip = this.pick(
+              origin,
+              records,
+              newOpts.affinity
+            );
+            let port;
+            if (typeof ip.port === "number") {
+              port = `:${ip.port}`;
+            } else if (origin.port !== "") {
+              port = `:${origin.port}`;
+            } else {
+              port = "";
+            }
+            cb(
+              null,
+              `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+            );
+          });
+        } else {
+          const ip = this.pick(
+            origin,
+            ips,
+            newOpts.affinity
+          );
+          if (ip == null) {
+            this.#records.delete(origin.hostname);
+            this.runLookup(origin, opts, cb);
+            return;
+          }
+          let port;
+          if (typeof ip.port === "number") {
+            port = `:${ip.port}`;
+          } else if (origin.port !== "") {
+            port = `:${origin.port}`;
+          } else {
+            port = "";
           }
+          cb(
+            null,
+            `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+          );
         }
-        return this[kBody];
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
+      #defaultLookup(origin, opts, cb) {
+        lookup(
+          origin.hostname,
+          {
+            all: true,
+            family: this.dualStack === false ? this.affinity : 0,
+            order: "ipv4first"
+          },
+          (err, addresses) => {
+            if (err) {
+              return cb(err);
             }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
           }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve4, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+        );
+      }
+      #defaultPick(origin, hostnameRecords, affinity) {
+        let ip = null;
+        const { records, offset } = hostnameRecords;
+        let family;
+        if (this.dualStack) {
+          if (affinity == null) {
+            if (offset == null || offset === maxInt) {
+              hostnameRecords.offset = 0;
+              affinity = 4;
             } else {
-              resolve4(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
             }
-          }).resume();
-        });
-      }
-    };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream2, type2) {
-      if (isUnusable(stream2)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream2[kConsume]);
-      return new Promise((resolve4, reject) => {
-        stream2[kConsume] = {
-          type: type2,
-          stream: stream2,
-          resolve: resolve4,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream2.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
           }
-        });
-        process.nextTick(consumeStart, stream2[kConsume]);
-      });
-    }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
-      }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
-        });
-      }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
-      }
-    }
-    function consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve4, stream: stream2, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve4(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve4(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve4(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+        } else {
+          family = records[affinity];
+        }
+        if (family == null || family.ips.length === 0) {
+          return ip;
+        }
+        if (family.offset == null || family.offset === maxInt) {
+          family.offset = 0;
+        } else {
+          family.offset++;
+        }
+        const position = family.offset % family.ips.length;
+        ip = family.ips[position] ?? null;
+        if (ip == null) {
+          return ip;
+        }
+        if (Date.now() - ip.timestamp > ip.ttl) {
+          family.ips.splice(position, 1);
+          return this.pick(origin, hostnameRecords, affinity);
+        }
+        return ip;
+      }
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
           }
-          resolve4(new Blob2(body, { type: stream2[kContentType] }));
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream2.destroy(err);
+        this.#records.set(origin.hostname, records);
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
+            }
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
+      };
     };
   }
 });
 
-// node_modules/undici/lib/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable2 = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
+    }
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
+      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
+    }
+    function fill(headers, object) {
+      if (Array.isArray(object)) {
+        for (let i = 0; i < object.length; ++i) {
+          const header = object[i];
+          if (header.length !== 2) {
+            throw webidl.errors.exception({
+              header: "Headers constructor",
+              message: `expected name/value pair to be length 2, found ${header.length}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } else if (typeof object === "object" && object !== null) {
+        const keys = Object.keys(object);
+        for (let i = 0; i < keys.length; ++i) {
+          appendHeader(headers, keys[i], object[keys[i]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+    }
+    function appendHeader(headers, name, value) {
+      value = headerValueNormalize(value);
+      if (!isValidHeaderName(name)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value: name,
+          type: "header name"
+        });
+      } else if (!isValidHeaderValue(value)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value,
+          type: "header value"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
-          }
-          return;
-        }
-        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-        const contentType = parsedHeaders["content-type"];
-        const body = new Readable2({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
+      if (getHeadersGuard(headers) === "immutable") {
+        throw new TypeError("immutable");
+      }
+      return getHeadersList(headers).append(name, value, false);
+    }
+    function compareHeaderName(a, b) {
+      return a[0] < b[0] ? -1 : 1;
+    }
+    var HeadersList = class _HeadersList {
+      /** @type {[string, string][]|null} */
+      cookies = null;
+      constructor(init) {
+        if (init instanceof _HeadersList) {
+          this[kHeadersMap] = new Map(init[kHeadersMap]);
+          this[kHeadersSortedMap] = init[kHeadersSortedMap];
+          this.cookies = init.cookies === null ? null : [...init.cookies];
+        } else {
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @see https://fetch.spec.whatwg.org/#header-list-contains
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      contains(name, isLowerCase) {
+        return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-append
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      append(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
           });
+        } else {
+          this[kHeadersMap].set(lowercaseName, { name, value });
         }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-set
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      set(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
+        }
+        this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        if (!isLowerCase) name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-get
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       * @returns {string | null}
+       */
+      get(name, isLowerCase) {
+        return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
+      }
+      *[Symbol.iterator]() {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+          yield [name, value];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
-        }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      get entriesList() {
+        const headers = [];
+        if (this[kHeadersMap].size !== 0) {
+          for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) {
+            if (lowerName === "set-cookie") {
+              for (const cookie of this.cookies) {
+                headers.push([name, cookie]);
+              }
+            } else {
+              headers.push([name, value]);
+            }
           }
-          return;
         }
-        this.factory = null;
-        let res;
-        if (this.throwOnError && statusCode >= 400) {
-          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-          const contentType = parsedHeaders["content-type"];
-          res = new PassThrough();
-          this.callback = null;
-          this.runInAsyncScope(
-            getResolveErrorBodyCallback,
-            null,
-            { callback, body: res, contentType, statusCode, statusMessage, headers }
-          );
-        } else {
-          if (factory === null) {
-            return;
-          }
-          res = this.runInAsyncScope(factory, null, {
-            statusCode,
-            headers,
-            opaque,
-            context: context2
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        return headers;
+      }
+      // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set
+      toSortedArray() {
+        const size = this[kHeadersMap].size;
+        const array = new Array(size);
+        if (size <= 32) {
+          if (size === 0) {
+            return array;
           }
-          finished(res, { readable: false }, (err) => {
-            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
-            this.res = null;
-            if (err || !res2.readable) {
-              util.destroy(res2, err);
+          const iterator2 = this[kHeadersMap][Symbol.iterator]();
+          const firstValue = iterator2.next().value;
+          array[0] = [firstValue[0], firstValue[1].value];
+          assert(firstValue[1].value !== null);
+          for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) {
+            value = iterator2.next().value;
+            x = array[i] = [value[0], value[1].value];
+            assert(x[1] !== null);
+            left = 0;
+            right = i;
+            while (left < right) {
+              pivot = left + (right - left >> 1);
+              if (array[pivot][0] <= x[0]) {
+                left = pivot + 1;
+              } else {
+                right = pivot;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream2(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          stream2.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream2;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable: Readable2,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable2 {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
-      }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
+          }
+          if (!iterator2.next().done) {
+            throw new TypeError("Unreachable");
+          }
+          return array;
+        } else {
+          let i = 0;
+          for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+            array[i++] = [name, value];
+            assert(value !== null);
+          }
+          return array.sort(compareHeaderName);
         }
       }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
-      }
     };
-    var PipelineResponse = class extends Readable2 {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
-      }
-      _read() {
-        this[kResume]();
-      }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+    var Headers = class _Headers {
+      #guard;
+      #headersList;
+      constructor(init = void 0) {
+        webidl.util.markAsUncloneable(this);
+        if (init === kConstruct) {
+          return;
+        }
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
+          fill(this, init);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
+          });
         }
-        if (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        const { signal, method, opaque, onInfo, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        this.#headersList.delete(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        return this.#headersList.get(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value,
+            type: "header value"
+          });
         }
-        this.abort = abort;
-        this.context = context2;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        for (let i = 0; i < names.length; ++i) {
+          const { 0: name, 1: value } = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
+            }
+          } else {
+            headers.push([name, value]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    function pipeline(opts, handler2) {
-      try {
-        const pipelineHandler = new PipelineHandler(opts, handler2);
-        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
-        return pipelineHandler.ret;
-      } catch (err) {
-        return new PassThrough().destroy(err);
+    var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers;
+    Reflect.deleteProperty(Headers, "getHeadersGuard");
+    Reflect.deleteProperty(Headers, "setHeadersGuard");
+    Reflect.deleteProperty(Headers, "getHeadersList");
+    Reflect.deleteProperty(Headers, "setHeadersList");
+    iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1);
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-    }
-    module2.exports = pipeline;
+    });
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object") {
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
+        }
+        if (typeof iterator2 === "function") {
+          return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V));
+        }
+        return webidl.converters["record"](V, prefix, argument);
+      }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
+    };
+    module2.exports = {
+      fill,
+      // for test.
+      compareHeaderName,
+      Headers,
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
+    };
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { types } = require("node:util");
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
+        return responseObject;
+      }
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      try {
-        const upgradeHandler = new UpgradeHandler(opts, callback);
-        this.dispatch({
-          ...opts,
-          method: opts.method || "GET",
-          upgrade: opts.protocol || "Websocket"
-        }, upgradeHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url = urlList[urlList.length - 1] ?? null;
+        if (url === null) {
+          return "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        removeSignal(this);
-        this.callback = null;
-        let headers = rawHeaders;
-        if (headers != null) {
-          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        }
-        this.runInAsyncScope(callback, null, null, {
-          statusCode,
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve4, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve4(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      }
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (bodyUnusable(this)) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        const clonedResponse = cloneResponse(this[kState]);
+        if (hasFinalizationRegistry && this[kState].body?.stream) {
+          streamRegistry.register(this, new WeakRef(this[kState].body.stream));
+        }
+        return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    mixinBody(Response);
+    Object.defineProperties(Response.prototype, {
+      type: kEnumerableProperty,
+      url: kEnumerableProperty,
+      status: kEnumerableProperty,
+      ok: kEnumerableProperty,
+      redirected: kEnumerableProperty,
+      statusText: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Response",
+        configurable: true
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    function makeResponse(init) {
+      return {
+        aborted: false,
+        rangeRequested: false,
+        timingAllowPassed: false,
+        requestIncludesCredentials: false,
+        type: "default",
+        status: 200,
+        timingInfo: null,
+        cacheState: "",
+        statusText: "",
+        ...init,
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
+      };
+    }
+    function makeNetworkError(reason) {
+      const isError = isErrorLike(reason);
+      return makeResponse({
+        type: "error",
+        status: 0,
+        error: isError ? reason : new Error(reason ? String(reason) : reason),
+        aborted: reason && reason.name === "AbortError"
+      });
+    }
+    function isNetworkError(response) {
+      return (
+        // A network error is a response whose type is "error",
+        response.type === "error" && // status is 0
+        response.status === 0
       );
     }
-    function getHeaderByName(headers, key) {
-      if (Array.isArray(headers)) {
-        for (let i = 0; i < headers.length; i += 2) {
-          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
-            return headers[i + 1];
-          }
+    function makeFilteredResponse(response, state) {
+      state = {
+        internalResponse: response,
+        ...state
+      };
+      return new Proxy(response, {
+        get(target, p) {
+          return p in state ? state[p] : target[p];
+        },
+        set(target, p, value) {
+          assert(!(p in state));
+          target[p] = value;
+          return true;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    function buildHeadersFromArray(headers) {
-      const clone = headers.slice();
-      const entries = [];
-      for (let index = 0; index < clone.length; index += 2) {
-        entries.push([clone[index], clone[index + 1]]);
-      }
-      return Object.fromEntries(entries);
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
     }
-    function matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path8) {
-      if (typeof path8 !== "string") {
-        return path8;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path8.split("?");
-      if (pathSegments.length !== 2) {
-        return path8;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
     }
-    function matchKey(mockDispatch2, { path: path8, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path8);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
-    }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
       }
+      return response;
     }
-    function getMockDispatch(mockDispatches, key) {
-      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
-      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
-      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path8 }) => matchValue(safeUrl(path8), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      return matchedMockDispatches[0];
-    }
-    function addMockDispatch(mockDispatches, key, data) {
-      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
-      const replyData = typeof data === "function" ? { callback: data } : { ...data };
-      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
-      mockDispatches.push(newMockDispatch);
-      return newMockDispatch;
-    }
-    function deleteMockDispatch(mockDispatches, key) {
-      const index = mockDispatches.findIndex((dispatch) => {
-        if (!dispatch.consumed) {
-          return false;
-        }
-        return matchKey(dispatch, key);
-      });
-      if (index !== -1) {
-        mockDispatches.splice(index, 1);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path8, method, body, headers, query } = opts;
-      return {
-        path: path8,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      return webidl.converters.DOMString(V, prefix, name);
+    };
+    webidl.converters.BodyInit = function(V, prefix, argument) {
+      if (V instanceof ReadableStream) {
+        return webidl.converters.ReadableStream(V, prefix, argument);
       }
-      return Buffer.concat(buffers).toString("utf8");
-    }
-    function mockDispatch(opts, handler2) {
-      const key = buildKey(opts);
-      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
-      mockDispatch2.timesInvoked++;
-      if (mockDispatch2.data.callback) {
-        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
+    };
+    webidl.converters.ResponseInit = webidl.dictionaryConverter([
+      {
+        key: "status",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 200
+      },
+      {
+        key: "statusText",
+        converter: webidl.converters.ByteString,
+        defaultValue: () => ""
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
       }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      return true;
-    }
-    function buildMockDispatch() {
-      const agent = this[kMockAgent];
-      const origin = this[kOrigin];
-      const originalDispatch = this[kOriginalDispatch];
-      return function dispatch(opts, handler2) {
-        if (agent.isMockActive) {
-          try {
-            mockDispatch.call(this, opts, handler2);
-          } catch (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
-              }
-              if (checkNetConnect(netConnect, origin)) {
-                originalDispatch.call(this, opts, handler2);
-              } else {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } else {
-          originalDispatch.call(this, opts, handler2);
+          });
         }
-      };
-    }
-    function checkNetConnect(netConnect, origin) {
-      const url = new URL(origin);
-      if (netConnect === true) {
-        return true;
-      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
-        return true;
       }
-      return false;
-    }
-    function buildMockOptions(opts) {
-      if (opts) {
-        const { agent, ...mockOptions } = opts;
-        return mockOptions;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) {
+        process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
+      }
+      return { WeakRef, FinalizationRegistry };
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    var MockScope = class {
-      constructor(mockDispatch) {
-        this[kMockDispatch] = mockDispatch;
-      }
-      /**
-       * Delay a reply by a set amount in ms.
-       */
-      delay(waitInMs) {
-        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
-          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var dependentControllerMap = /* @__PURE__ */ new WeakMap();
+    function buildAbort(acRef) {
+      return abort;
+      function abort() {
+        const ac = acRef.deref();
+        if (ac !== void 0) {
+          requestFinalizer.unregister(abort);
+          this.removeEventListener("abort", abort);
+          ac.abort(this.reason);
+          const controllerList = dependentControllerMap.get(ac.signal);
+          if (controllerList !== void 0) {
+            if (controllerList.size !== 0) {
+              for (const ref of controllerList) {
+                const ctrl = ref.deref();
+                if (ctrl !== void 0) {
+                  ctrl.abort(this.reason);
+                }
+              }
+              controllerList.clear();
+            }
+            dependentControllerMap.delete(ac.signal);
+          }
         }
-        this[kMockDispatch].delay = waitInMs;
-        return this;
-      }
-      /**
-       * For a defined reply, never mark as consumed.
-       */
-      persist() {
-        this[kMockDispatch].persist = true;
-        return this;
       }
-      /**
-       * Allow one to define a reply for a set amount of matching requests.
-       */
-      times(repeatTimes) {
-        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
-          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+    }
+    var patchMethodWarning = false;
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (input === kConstruct) {
+          return;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        const prefix = "Request constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        input = webidl.converters.RequestInfo(input, prefix, "input");
+        init = webidl.converters.RequestInit(init, prefix, "init");
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } catch (err) {
+            throw new TypeError("Failed to parse URL from " + input, { cause: err });
+          }
+          if (parsedURL.username || parsedURL.password) {
+            throw new TypeError(
+              "Request cannot be constructed from a URL that includes credentials: " + input
+            );
+          }
+          request2 = makeRequest({ urlList: [parsedURL] });
+          fallbackMode = "cors";
+        } else {
+          this[kDispatcher] = init.dispatcher || input[kDispatcher];
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "no-window";
+        }
+        request2 = makeRequest({
+          // URL request’s URL.
+          // undici implementation note: this is set as the first item in request's urlList in makeRequest
+          // method request’s method.
+          method: request2.method,
+          // header list A copy of request’s header list.
+          // undici implementation note: headersList is cloned in makeRequest
+          headersList: request2.headersList,
+          // unsafe-request flag Set.
+          unsafeRequest: request2.unsafeRequest,
+          // client This’s relevant settings object.
+          client: environmentSettingsObject.settingsObject,
+          // window window.
+          window: window2,
+          // priority request’s priority.
+          priority: request2.priority,
+          // origin request’s origin. The propagation of the origin is only significant for navigation requests
+          // being handled by a service worker. In this scenario a request can have an origin that is different
+          // from the current client.
+          origin: request2.origin,
+          // referrer request’s referrer.
+          referrer: request2.referrer,
+          // referrer policy request’s referrer policy.
+          referrerPolicy: request2.referrerPolicy,
+          // mode request’s mode.
+          mode: request2.mode,
+          // credentials mode request’s credentials mode.
+          credentials: request2.credentials,
+          // cache mode request’s cache mode.
+          cache: request2.cache,
+          // redirect mode request’s redirect mode.
+          redirect: request2.redirect,
+          // integrity metadata request’s integrity metadata.
+          integrity: request2.integrity,
+          // keepalive request’s keepalive.
+          keepalive: request2.keepalive,
+          // reload-navigation flag request’s reload-navigation flag.
+          reloadNavigation: request2.reloadNavigation,
+          // history-navigation flag request’s history-navigation flag.
+          historyNavigation: request2.historyNavigation,
+          // URL list A clone of request’s URL list.
+          urlList: [...request2.urlList]
+        });
+        const initHasKey = Object.keys(init).length !== 0;
+        if (initHasKey) {
+          if (request2.mode === "navigate") {
+            request2.mode = "same-origin";
+          }
+          request2.reloadNavigation = false;
+          request2.historyNavigation = false;
+          request2.origin = "client";
+          request2.referrer = "client";
+          request2.referrerPolicy = "";
+          request2.url = request2.urlList[request2.urlList.length - 1];
+          request2.urlList = [request2.url];
+        }
+        if (init.referrer !== void 0) {
+          const referrer = init.referrer;
+          if (referrer === "") {
+            request2.referrer = "no-referrer";
           } else {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            let parsedReferrer;
+            try {
+              parsedReferrer = new URL(referrer, baseUrl);
+            } catch (err) {
+              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
+            }
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
+              request2.referrer = "client";
+            } else {
+              request2.referrer = parsedReferrer;
+            }
           }
         }
-        if (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        let mode;
+        if (init.mode !== void 0) {
+          mode = init.mode;
+        } else {
+          mode = fallbackMode;
+        }
+        if (mode === "navigate") {
+          throw webidl.errors.exception({
+            header: "Request constructor",
+            message: "invalid request mode navigate."
+          });
+        }
+        if (mode != null) {
+          request2.mode = mode;
+        }
+        if (init.credentials !== void 0) {
+          request2.credentials = init.credentials;
+        }
+        if (init.cache !== void 0) {
+          request2.cache = init.cache;
+        }
+        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
+          throw new TypeError(
+            "'only-if-cached' can be set only with 'same-origin' mode"
+          );
+        }
+        if (init.redirect !== void 0) {
+          request2.redirect = init.redirect;
+        }
+        if (init.integrity != null) {
+          request2.integrity = String(init.integrity);
+        }
+        if (init.keepalive !== void 0) {
+          request2.keepalive = Boolean(init.keepalive);
+        }
+        if (init.method !== void 0) {
+          let method = init.method;
+          const mayBeNormalized = normalizedMethodRecords[method];
+          if (mayBeNormalized !== void 0) {
+            request2.method = mayBeNormalized;
+          } else {
+            if (!isValidHTTPToken(method)) {
+              throw new TypeError(`'${method}' is not a valid HTTP method.`);
+            }
+            const upperCase = method.toUpperCase();
+            if (forbiddenMethodsSet.has(upperCase)) {
+              throw new TypeError(`'${method}' HTTP method is unsupported.`);
+            }
+            method = normalizedMethodRecordsBase[upperCase] ?? method;
+            request2.method = method;
+          }
+          if (!patchMethodWarning && request2.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"
+            });
+            patchMethodWarning = true;
+          }
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            throw new TypeError(
+              "Failed to construct 'Request': member signal is not of type AbortSignal."
+            );
+          }
+          if (signal.aborted) {
+            ac.abort(signal.reason);
+          } else {
+            this[kAbortController] = ac;
+            const acRef = new WeakRef(ac);
+            const abort = buildAbort(acRef);
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort }, abort);
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersList(this[kHeaders], request2.headersList);
+        setHeadersGuard(this[kHeaders], "request");
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          setHeadersGuard(this[kHeaders], "request-no-cors");
+        }
+        if (initHasKey) {
+          const headersList = getHeadersList(this[kHeaders]);
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
+            }
+            headersList.cookies = headers.cookies;
+          } else {
+            fillHeaders(this[kHeaders], headers);
+          }
+        }
+        const inputBody = input instanceof _Request ? input[kState].body : null;
+        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
+          throw new TypeError("Request with GET/HEAD method cannot have body.");
+        }
+        let initBody = null;
+        if (init.body != null) {
+          const [extractedBody, contentType] = extractBody(
+            init.body,
+            request2.keepalive
+          );
+          initBody = extractedBody;
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
+            this[kHeaders].append("content-type", contentType);
+          }
+        }
+        const inputOrInitBody = initBody ?? inputBody;
+        if (inputOrInitBody != null && inputOrInitBody.source == null) {
+          if (initBody != null && init.duplex == null) {
+            throw new TypeError("RequestInit: duplex option is required when sending a body.");
+          }
+          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
+            throw new TypeError(
+              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
+            );
+          }
+          request2.useCORSPreflightFlag = true;
+        }
+        let finalBody = inputOrInitBody;
+        if (initBody == null && inputBody != null) {
+          if (bodyUnusable(input)) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          const identityTransform = new TransformStream();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
+        }
+        this[kState].body = finalBody;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
-        const responseData = getResponseData2(data);
-        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
-        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
-        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
-        return { statusCode, data, headers, trailers };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
+      }
+      // Returns a Headers object consisting of the headers associated with request.
+      // Note that headers added in the network layer by the user agent will not
+      // be accounted for in this object, e.g., the "Host" header.
+      get headers() {
+        webidl.brandCheck(this, _Request);
+        return this[kHeaders];
+      }
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
+      }
+      // Returns the referrer of request. Its value can be a same-origin URL if
+      // explicitly set in init, the empty string to indicate no referrer, and
+      // "about:client" when defaulting to the global’s default. This is used
+      // during fetching to determine the value of the `Referer` header of the
+      // request being made.
+      get referrer() {
+        webidl.brandCheck(this, _Request);
+        if (this[kState].referrer === "no-referrer") {
+          return "";
         }
-        if (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // Returns the referrer policy associated with request.
+      // This is used during fetching to compute the value of the request’s
+      // referrer.
+      get referrerPolicy() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].referrerPolicy;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // Returns the mode associated with request, which is a string indicating
+      // whether the request will use CORS, or will be restricted to same-origin
+      // URLs.
+      get mode() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].mode;
       }
-      /**
-       * Set default reply headers on the interceptor for subsequent replies
-       */
-      defaultReplyHeaders(headers) {
-        if (typeof headers === "undefined") {
-          throw new InvalidArgumentError("headers must be defined");
-        }
-        this[kDefaultHeaders] = headers;
-        return this;
+      // Returns the credentials mode associated with request,
+      // which is a string indicating whether credentials will be sent with the
+      // request always, never, or only when sent to a same-origin URL.
+      get credentials() {
+        return this[kState].credentials;
       }
-      /**
-       * Set default reply trailers on the interceptor for subsequent replies
-       */
-      defaultReplyTrailers(trailers) {
-        if (typeof trailers === "undefined") {
-          throw new InvalidArgumentError("trailers must be defined");
-        }
-        this[kDefaultTrailers] = trailers;
-        return this;
+      // Returns the cache mode associated with request,
+      // which is a string indicating how the request will
+      // interact with the browser’s cache when fetching.
+      get cache() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].cache;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // Returns the redirect mode associated with request,
+      // which is a string indicating how redirects for the
+      // request will be handled during fetching. A request
+      // will follow redirects by default.
+      get redirect() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].redirect;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns request’s subresource integrity metadata, which is a
+      // cryptographic hash of the resource being fetched. Its value
+      // consists of multiple hashes separated by whitespace. [SRI]
+      get integrity() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].integrity;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // Returns a boolean indicating whether or not request can outlive the
+      // global in which it was created.
+      get keepalive() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].keepalive;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-forward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns the signal associated with request, which is an AbortSignal
+      // object indicating whether or not request has been aborted, and its
+      // abort event handler.
+      get signal() {
+        webidl.brandCheck(this, _Request);
+        return this[kSignal];
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
-    "use strict";
-    var singulars = {
-      pronoun: "it",
-      is: "is",
-      was: "was",
-      this: "this"
-    };
-    var plurals = {
-      pronoun: "they",
-      is: "are",
-      was: "were",
-      this: "these"
-    };
-    module2.exports = class Pluralizer {
-      constructor(singular, plural) {
-        this.singular = singular;
-        this.plural = plural;
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (bodyUnusable(this)) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          let list = dependentControllerMap.get(this.signal);
+          if (list === void 0) {
+            list = /* @__PURE__ */ new Set();
+            dependentControllerMap.set(this.signal, list);
+          }
+          const acRef = new WeakRef(ac);
+          list.add(acRef);
+          util.addAbortListener(
+            ac.signal,
+            buildAbort(acRef)
+          );
+        }
+        return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    mixinBody(Request);
+    function makeRequest(init) {
+      return {
+        method: init.method ?? "GET",
+        localURLsOnly: init.localURLsOnly ?? false,
+        unsafeRequest: init.unsafeRequest ?? false,
+        body: init.body ?? null,
+        client: init.client ?? null,
+        reservedClient: init.reservedClient ?? null,
+        replacesClientId: init.replacesClientId ?? "",
+        window: init.window ?? "client",
+        keepalive: init.keepalive ?? false,
+        serviceWorkers: init.serviceWorkers ?? "all",
+        initiator: init.initiator ?? "",
+        destination: init.destination ?? "",
+        priority: init.priority ?? null,
+        origin: init.origin ?? "client",
+        policyContainer: init.policyContainer ?? "client",
+        referrer: init.referrer ?? "client",
+        referrerPolicy: init.referrerPolicy ?? "",
+        mode: init.mode ?? "no-cors",
+        useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
+        credentials: init.credentials ?? "same-origin",
+        useCredentials: init.useCredentials ?? false,
+        cache: init.cache ?? "default",
+        redirect: init.redirect ?? "follow",
+        integrity: init.integrity ?? "",
+        cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "",
+        parserMetadata: init.parserMetadata ?? "",
+        reloadNavigation: init.reloadNavigation ?? false,
+        historyNavigation: init.historyNavigation ?? false,
+        userActivation: init.userActivation ?? false,
+        taintedOrigin: init.taintedOrigin ?? false,
+        redirectCount: init.redirectCount ?? 0,
+        responseTainting: init.responseTainting ?? "basic",
+        preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
+        done: init.done ?? false,
+        timingAllowFailed: init.timingAllowFailed ?? false,
+        urlList: init.urlList,
+        url: init.urlList[0],
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(newRequest, request2.body);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path8, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path8,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      return newRequest;
+    }
+    function fromInnerRequest(innerRequest, signal, guard) {
+      const request2 = new Request(kConstruct);
+      request2[kState] = innerRequest;
+      request2[kSignal] = signal;
+      request2[kHeaders] = new Headers(kConstruct);
+      setHeadersList(request2[kHeaders], innerRequest.headersList);
+      setHeadersGuard(request2[kHeaders], guard);
+      return request2;
+    }
+    Object.defineProperties(Request.prototype, {
+      method: kEnumerableProperty,
+      url: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      signal: kEnumerableProperty,
+      duplex: kEnumerableProperty,
+      destination: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      isHistoryNavigation: kEnumerableProperty,
+      isReloadNavigation: kEnumerableProperty,
+      keepalive: kEnumerableProperty,
+      integrity: kEnumerableProperty,
+      cache: kEnumerableProperty,
+      credentials: kEnumerableProperty,
+      attribute: kEnumerableProperty,
+      referrerPolicy: kEnumerableProperty,
+      referrer: kEnumerableProperty,
+      mode: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Request",
+        configurable: true
       }
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, argument);
+      }
+      if (V instanceof Request) {
+        return webidl.converters.Request(V, prefix, argument);
+      }
+      return webidl.converters.USVString(V, prefix, argument);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    webidl.converters.AbortSignal = webidl.interfaceConverter(
+      AbortSignal
+    );
+    webidl.converters.RequestInit = webidl.dictionaryConverter([
+      {
+        key: "method",
+        converter: webidl.converters.ByteString
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      },
+      {
+        key: "body",
+        converter: webidl.nullableConverter(
+          webidl.converters.BodyInit
+        )
+      },
+      {
+        key: "referrer",
+        converter: webidl.converters.USVString
+      },
+      {
+        key: "referrerPolicy",
+        converter: webidl.converters.DOMString,
+        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
+        allowedValues: referrerPolicy
+      },
+      {
+        key: "mode",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#concept-request-mode
+        allowedValues: requestMode
+      },
+      {
+        key: "credentials",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcredentials
+        allowedValues: requestCredentials
+      },
+      {
+        key: "cache",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcache
+        allowedValues: requestCache
+      },
+      {
+        key: "redirect",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestredirect
+        allowedValues: requestRedirect
+      },
+      {
+        key: "integrity",
+        converter: webidl.converters.DOMString
+      },
+      {
+        key: "keepalive",
+        converter: webidl.converters.boolean
+      },
+      {
+        key: "signal",
+        converter: webidl.nullableConverter(
+          (signal) => webidl.converters.AbortSignal(
+            signal,
+            "RequestInit",
+            "signal",
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib = require("node:zlib");
+    var {
+      bytesMatch,
+      makePolicyContainer,
+      clonePolicyContainer,
+      requestBadPort,
+      TAOCheck,
+      appendRequestOriginHeader,
+      responseLocationURL,
+      requestCurrentURL,
+      setRequestReferrerPolicyOnRedirect,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      createOpaqueTimingInfo,
+      appendFetchMetadata,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      determineRequestsReferrer,
+      coarsenedSharedCurrentTime,
+      createDeferredPromise,
+      isBlobLike,
+      sameOrigin,
+      isCancelled,
+      isAborted,
+      isErrorLike,
+      fullyReadBody,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlIsHttpHttpsScheme,
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
+    } = require_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable: Readable2, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    var { STATUS_CODES } = require("node:http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
+    var resolveObjectURL;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        return dispatcher;
-      }
-      dispatch(opts, handler2) {
-        this.get(opts.origin);
-        return this[kAgent].dispatch(opts, handler2);
-      }
-      async close() {
-        await this[kAgent].close();
-        this[kClients].clear();
-      }
-      deactivate() {
-        this[kIsMockActive] = false;
-      }
-      activate() {
-        this[kIsMockActive] = true;
-      }
-      enableNetConnect(matcher) {
-        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
-          if (Array.isArray(this[kNetConnect])) {
-            this[kNetConnect].push(matcher);
-          } else {
-            this[kNetConnect] = [matcher];
-          }
-        } else if (typeof matcher === "undefined") {
-          this[kNetConnect] = true;
-        } else {
-          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      disableNetConnect() {
-        this[kNetConnect] = false;
-      }
-      // This is required to bypass issues caused by using global symbols - see:
-      // https://github.com/nodejs/undici/issues/1447
-      get isMockActive() {
-        return this[kIsMockActive];
+    };
+    function handleFetchDone(response) {
+      finalizeAndReportTiming(response, "fetch");
+    }
+    function fetch(input, init = void 0) {
+      webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
+      let p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      let responseObject = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return;
+        }
+        if (response.type === "error") {
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
+      };
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: requestObject[kDispatcher]
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
+        return;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
-        const pending = this.pendingInterceptors();
-        if (pending.length === 0) {
-          return;
-        }
-        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
-        throw new UndiciError(`
-${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
-
-${pendingInterceptorsFormatter.format(pending)}
-`.trim());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        if (opts.auth && opts.token) {
-          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
-        } else if (opts.auth) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
-        } else if (opts.token) {
-          this[kProxyHeaders]["proxy-authorization"] = opts.token;
-        } else if (username && password) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
-        }
-        const connect = buildConnector({ ...opts.proxyTls });
-        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).destroy();
-                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
-              }
-              if (opts2.protocol !== "https:") {
-                callback(null, socket);
-                return;
-              }
-              let servername;
-              if (this[kRequestTls]) {
-                servername = this[kRequestTls].servername;
-              } else {
-                servername = opts2.servername;
-              }
-              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
-            } catch (err) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher = getGlobalDispatcher()
+      // undici
+    }) {
+      assert(dispatcher);
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currentTime
+      });
+      const fetchParams = {
+        controller: new Fetch(dispatcher),
+        request: request2,
+        timingInfo,
+        processRequestBodyChunkLength,
+        processRequestEndOfBody,
+        processResponse,
+        processResponseConsumeBody,
+        processResponseEndOfBody,
+        taskDestination,
+        crossOriginIsolatedCapability
+      };
+      assert(!request2.body || request2.body.stream);
+      if (request2.window === "client") {
+        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        return headersPair;
       }
-      return headers;
-    }
-    function throwIfProxyAuthIsSent(headers) {
-      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
-      if (existProxyAuth) {
-        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    var RetryHandler = class _RetryHandler {
-      constructor(opts, handlers) {
-        const { retryOptions, ...dispatchOpts } = opts;
-        const {
-          // Retry scoped
-          retry: retryFn,
-          maxRetries,
-          maxTimeout,
-          minTimeout,
-          timeoutFactor,
-          // Response scoped
-          methods,
-          errorCodes,
-          retryAfter,
-          statusCodes
-        } = retryOptions ?? {};
-        this.dispatch = handlers.dispatch;
-        this.handler = handlers.handler;
-        this.opts = dispatchOpts;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: minTimeout ?? 500,
-          // .5s
-          timeoutFactor: timeoutFactor ?? 2,
-          maxRetries: maxRetries ?? 5,
-          // What errors we should retry
-          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
-          // Indicates which errors to retry
-          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
-          // List of errors to retry
-          errorCodes: errorCodes ?? [
-            "ECONNRESET",
-            "ECONNREFUSED",
-            "ENOTFOUND",
-            "ENETDOWN",
-            "ENETUNREACH",
-            "EHOSTDOWN",
-            "EHOSTUNREACH",
-            "EPIPE"
-          ]
-        };
-        this.retryCount = 0;
-        this.start = 0;
-        this.end = null;
-        this.etag = null;
-        this.resume = null;
-        this.handler.onConnect((reason) => {
-          this.aborted = true;
-          if (this.abort) {
-            this.abort(reason);
-          } else {
-            this.reason = reason;
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
+      }
+      if (request2.priority === null) {
+      }
+      if (subresourceSet.has(request2.destination)) {
+      }
+      mainFetch(fetchParams).catch((err) => {
+        fetchParams.controller.terminate(err);
+      });
+      return fetchParams.controller;
+    }
+    async function mainFetch(fetchParams, recursive = false) {
+      const request2 = fetchParams.request;
+      let response = null;
+      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
+        response = makeNetworkError("local URLs only");
+      }
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
+      }
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
+      }
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
+      }
+      if (response === null) {
+        response = await (async () => {
+          const currentURL = requestCurrentURL(request2);
+          if (
+            // - request’s current URL’s origin is same origin with request’s origin,
+            //   and request’s response tainting is "basic"
+            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
+            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
+            (request2.mode === "navigate" || request2.mode === "websocket")
+          ) {
+            request2.responseTainting = "basic";
+            return await schemeFetch(fetchParams);
           }
-        });
+          if (request2.mode === "same-origin") {
+            return makeNetworkError('request mode cannot be "same-origin"');
+          }
+          if (request2.mode === "no-cors") {
+            if (request2.redirect !== "follow") {
+              return makeNetworkError(
+                'redirect mode cannot be "follow" for "no-cors" request'
+              );
+            }
+            request2.responseTainting = "opaque";
+            return await schemeFetch(fetchParams);
+          }
+          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
+            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          }
+          request2.responseTainting = "cors";
+          return await httpFetch(fetchParams);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        if (request2.responseTainting === "basic") {
+          response = filterResponse(response, "basic");
+        } else if (request2.responseTainting === "cors") {
+          response = filterResponse(response, "cors");
+        } else if (request2.responseTainting === "opaque") {
+          response = filterResponse(response, "opaque");
         } else {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
+      }
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) {
+        response = internalResponse = makeNetworkError();
+      }
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
+      }
+      if (request2.integrity) {
+        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
+        if (request2.responseTainting === "opaque" || response.body == null) {
+          processBodyError(response.error);
           return;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          return;
+        const processBody = (bytes) => {
+          if (!bytesMatch(bytes, request2.integrity)) {
+            processBodyError("integrity mismatch");
+            return;
+          }
+          response.body = safelyExtractBody(bytes)[0];
+          fetchFinale(fetchParams, response);
+        };
+        await fullyReadBody(response.body, processBody, processBodyError);
+      } else {
+        fetchFinale(fetchParams, response);
+      }
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      }
+      const { request: request2 } = fetchParams;
+      const { protocol: scheme } = requestCurrentURL(request2);
+      switch (scheme) {
+        case "about:": {
+          return Promise.resolve(makeNetworkError("about scheme is not supported"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        case "blob:": {
+          if (!resolveObjectURL) {
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = blob.type;
+          if (!request2.headersList.contains("range", true)) {
+            const bodyWithType = extractBody(blob);
+            response.statusText = "OK";
+            response.body = bodyWithType[0];
+            response.headersList.set("content-length", serializedFullLength, true);
+            response.headersList.set("content-type", type2, true);
+          } else {
+            response.rangeRequested = true;
+            const rangeHeader = request2.headersList.get("range", true);
+            const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
+            if (rangeValue === "failure") {
+              return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+            }
+            let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
+            if (rangeStart === null) {
+              rangeStart = fullLength - rangeEnd;
+              rangeEnd = rangeStart + rangeEnd - 1;
+            } else {
+              if (rangeStart >= fullLength) {
+                return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
+              }
+              if (rangeEnd === null || rangeEnd >= fullLength) {
+                rangeEnd = fullLength - 1;
+              }
+            }
+            const slicedBlob = blob.slice(rangeStart, rangeEnd, type2);
+            const slicedBodyWithType = extractBody(slicedBlob);
+            response.body = slicedBodyWithType[0];
+            const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
+            const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
+            response.status = 206;
+            response.statusText = "Partial Content";
+            response.headersList.set("content-length", serializedSlicedLength, true);
+            response.headersList.set("content-type", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        case "data:": {
+          const currentURL = requestCurrentURL(request2);
+          const dataURLStruct = dataURLProcessor(currentURL);
+          if (dataURLStruct === "failure") {
+            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+          }
+          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
+          return Promise.resolve(makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-type", { name: "Content-Type", value: mimeType }]
+            ],
+            body: safelyExtractBody(dataURLStruct.body)[0]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        case "file:": {
+          return Promise.resolve(makeNetworkError("not implemented... yet..."));
+        }
+        case "http:":
+        case "https:": {
+          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        }
+        default: {
+          return Promise.resolve(makeNetworkError("unknown scheme"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
+      }
+    }
+    function fetchFinale(fetchParams, response) {
+      let timingInfo = fetchParams.timingInfo;
+      const processResponseEndOfBody = () => {
+        const unsafeEndTime = Date.now();
+        if (fetchParams.request.destination === "document") {
+          fetchParams.controller.fullTimingInfo = timingInfo;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = contentRange;
-          assert(this.start === start, "content-range mismatch");
-          assert(this.end == null || this.end === end, "content-range mismatch");
-          this.resume = resume;
-          return true;
-        }
-        if (this.end == null) {
-          if (statusCode === 206) {
-            const range = parseRangeHeader(headers["content-range"]);
-            if (range == null) {
-              return this.handler.onHeaders(
-                statusCode,
-                rawHeaders,
-                resume,
-                statusMessage
-              );
+          let responseStatus = 0;
+          if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
+            responseStatus = response.status;
+            const mimeType = extractMimeType(response.headersList);
+            if (mimeType !== "failure") {
+              bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== end,
-              "invalid content-length"
-            );
-            this.start = start;
-            this.end = end;
           }
-          if (this.end == null) {
-            const contentLength = headers["content-length"];
-            this.end = contentLength != null ? Number(contentLength) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          assert(Number.isFinite(this.start));
-          assert(
-            this.end == null || Number.isFinite(this.end),
-            "invalid content-length"
-          );
-          this.resume = resume;
-          this.etag = headers.etag != null ? headers.etag : null;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        const processResponseEndOfBodyTask = () => {
+          fetchParams.request.done = true;
+          if (fetchParams.processResponseEndOfBody != null) {
+            queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+          }
+          if (fetchParams.request.initiatorType != null) {
+            fetchParams.controller.reportTimingSteps();
+          }
+        };
+        queueMicrotask(() => processResponseEndOfBodyTask());
+      };
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            opts: { retryOptions: this.retryOpts, ...this.opts }
-          },
-          onRetry.bind(this)
-        );
-        function onRetry(err2) {
-          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
-            return this.handler.onError(err2);
-          }
-          if (this.start !== 0) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
+        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
+          return makeNetworkError("cors failure");
+        }
+        if (TAOCheck(request2, response) === "failure") {
+          request2.timingAllowFailed = true;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy(void 0, false);
+        }
+        if (request2.redirect === "error") {
+          response = makeNetworkError("unexpected redirect");
+        } else if (request2.redirect === "manual") {
+          response = actualResponse;
+        } else if (request2.redirect === "follow") {
+          response = await httpRedirectFetch(fetchParams, response);
+        } else {
+          assert(false);
+        }
+      }
+      response.timingInfo = timingInfo;
+      return response;
     }
-    function getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    function httpRedirectFetch(fetchParams, response) {
+      const request2 = fetchParams.request;
+      const actualResponse = response.internalResponse ? response.internalResponse : response;
+      let locationURL;
+      try {
+        locationURL = responseLocationURL(
+          actualResponse,
+          requestCurrentURL(request2).hash
+        );
+        if (locationURL == null) {
+          return response;
+        }
+      } catch (err) {
+        return Promise.resolve(makeNetworkError(err));
+      }
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
+      }
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
+      }
+      request2.redirectCount += 1;
+      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
+        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
+      }
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
+      }
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
+      }
+      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
+        request2.method = "GET";
+        request2.body = null;
+        for (const headerName of requestBodyHeader) {
+          request2.headersList.delete(headerName);
+        }
+      }
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization", true);
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
+      }
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
+      }
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
+      }
+      request2.urlList.push(locationURL);
+      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
+      return mainFetch(fetchParams, true);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
+      const request2 = fetchParams.request;
+      let httpFetchParams = null;
+      let httpRequest = null;
+      let response = null;
+      const httpCache = null;
+      const revalidatingFlag = false;
+      if (request2.window === "no-window" && request2.redirect === "error") {
+        httpFetchParams = fetchParams;
+        httpRequest = request2;
+      } else {
+        httpRequest = cloneRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
+      const contentLength = httpRequest.body ? httpRequest.body.length : null;
+      let contentLengthHeaderValue = null;
+      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
+        contentLengthHeaderValue = "0";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
+        httpRequest.cache = "no-store";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
-    function isHTTPWhiteSpaceCharCode(code) {
-      return code === 10 || code === 13 || code === 9 || code === 32;
-    }
-    function headerValueNormalize(potentialValue) {
-      let i = 0;
-      let j = potentialValue.length;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
-      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
-    }
-    function fill(headers, object) {
-      if (Array.isArray(object)) {
-        for (let i = 0; i < object.length; ++i) {
-          const header = object[i];
-          if (header.length !== 2) {
-            throw webidl.errors.exception({
-              header: "Headers constructor",
-              message: `expected name/value pair to be length 2, found ${header.length}.`
-            });
-          }
-          appendHeader(headers, header[0], header[1]);
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
+        httpRequest.headersList.append("cache-control", "max-age=0", true);
+      }
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
         }
-      } else if (typeof object === "object" && object !== null) {
-        const keys = Object.keys(object);
-        for (let i = 0; i < keys.length; ++i) {
-          appendHeader(headers, keys[i], object[keys[i]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } else {
-        throw webidl.errors.conversionFailed({
-          prefix: "Headers constructor",
-          argument: "Argument 1",
-          types: ["sequence>", "record"]
-        });
-      }
-    }
-    function appendHeader(headers, name, value) {
-      value = headerValueNormalize(value);
-      if (!isValidHeaderName(name)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value: name,
-          type: "header name"
-        });
-      } else if (!isValidHeaderValue(value)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value,
-          type: "header value"
-        });
       }
-      if (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    var HeadersList = class _HeadersList {
-      /** @type {[string, string][]|null} */
-      cookies = null;
-      constructor(init) {
-        if (init instanceof _HeadersList) {
-          this[kHeadersMap] = new Map(init[kHeadersMap]);
-          this[kHeadersSortedMap] = init[kHeadersSortedMap];
-          this.cookies = init.cookies === null ? null : [...init.cookies];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        if (exists) {
-          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
-          this[kHeadersMap].set(lowercaseName, {
-            name: exists.name,
-            value: `${exists.value}${delimiter}${value}`
-          });
-        } else {
-          this[kHeadersMap].set(lowercaseName, { name, value });
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      if (
+        // response’s status is 421
+        response.status === 421 && // isNewConnectionFetch is false
+        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
+        (request2.body == null || request2.body.source != null)
+      ) {
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
+        fetchParams.controller.connection.destroy();
+        response = await httpNetworkOrCacheFetch(
+          fetchParams,
+          isAuthenticationFetch,
+          true
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      return response;
+    }
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err, abort = true) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream2 = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream: stream2, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
+          if (isErrored(stream2)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve4, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable2({ read: resume });
+              const decoders = [];
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib.createBrotliDecompress({
+                      flush: zlib.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve4({
+                status,
+                statusText,
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              if (fetchParams.controller.onAborted) {
+                fetchParams.controller.off("terminated", fetchParams.controller.onAborted);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, rawHeaders, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              resolve4({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url = webidl.converters.USVString(url);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        initializeResponse(this, init, bodyWithType);
-      }
-      // Returns response’s type, e.g., "cors".
-      get type() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].type;
-      }
-      // Returns response’s URL, if it has one; otherwise the empty string.
-      get url() {
-        webidl.brandCheck(this, _Response);
-        const urlList = this[kState].urlList;
-        const url = urlList[urlList.length - 1] ?? null;
-        if (url === null) {
-          return "";
-        }
-        return URLSerializer(url, true);
-      }
-      // Returns whether response was obtained through a redirect.
-      get redirected() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].urlList.length > 1;
-      }
-      // Returns response’s status.
-      get status() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status;
-      }
-      // Returns whether response’s status is an ok status.
-      get ok() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status >= 200 && this[kState].status <= 299;
-      }
-      // Returns response’s status message.
-      get statusText() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].statusText;
-      }
-      // Returns response’s headers as Headers.
-      get headers() {
-        webidl.brandCheck(this, _Response);
-        return this[kHeaders];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    mixinBody(Response);
-    Object.defineProperties(Response.prototype, {
-      type: kEnumerableProperty,
-      url: kEnumerableProperty,
-      status: kEnumerableProperty,
-      ok: kEnumerableProperty,
-      redirected: kEnumerableProperty,
-      statusText: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Response",
-        configurable: true
-      }
-    });
-    Object.defineProperties(Response, {
-      json: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      error: kEnumerableProperty
-    });
-    function cloneResponse(response) {
-      if (response.internalResponse) {
-        return filterResponse(
-          cloneResponse(response.internalResponse),
-          response.type
-        );
-      }
-      const newResponse = makeResponse({ ...response, body: null });
-      if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
-      }
-      return newResponse;
-    }
-    function makeResponse(init) {
-      return {
-        aborted: false,
-        rangeRequested: false,
-        timingAllowPassed: false,
-        requestIncludesCredentials: false,
-        type: "default",
-        status: 200,
-        timingInfo: null,
-        cacheState: "",
-        statusText: "",
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
-      };
-    }
-    function makeNetworkError(reason) {
-      const isError = isErrorLike(reason);
-      return makeResponse({
-        type: "error",
-        status: 0,
-        error: isError ? reason : new Error(reason ? String(reason) : reason),
-        aborted: reason && reason.name === "AbortError"
-      });
-    }
-    function makeFilteredResponse(response, state) {
-      state = {
-        internalResponse: response,
-        ...state
-      };
-      return new Proxy(response, {
-        get(target, p) {
-          return p in state ? state[p] : target[p];
-        },
-        set(target, p, value) {
-          assert(!(p in state));
-          target[p] = value;
-          return true;
-        }
-      });
-    }
-    function filterResponse(response, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "opaqueredirect") {
-        return makeFilteredResponse(response, {
-          type: "opaqueredirect",
-          status: 0,
-          statusText: "",
-          headersList: [],
-          body: null
-        });
-      } else {
-        assert(false);
-      }
-    }
-    function makeAppropriateNetworkError(fetchParams, err = null) {
-      assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      if ("statusText" in init && init.statusText != null) {
-        if (!isValidReasonPhrase(String(init.statusText))) {
-          throw new TypeError("Invalid statusText");
-        }
-      }
-      if ("status" in init && init.status != null) {
-        response[kState].status = init.status;
-      }
-      if ("statusText" in init && init.statusText != null) {
-        response[kState].statusText = init.statusText;
+    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
+      {
+        key: "lengthComputable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "loaded",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "total",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      switch (label.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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    webidl.converters.ResponseInit = webidl.dictionaryConverter([
-      {
-        key: "status",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 200
-      },
-      {
-        key: "statusText",
-        converter: webidl.converters.ByteString,
-        defaultValue: ""
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      }
-    ]);
     module2.exports = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream2 = blob.stream();
+      const reader = stream2.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
           try {
-            parsedURL = new URL(input, baseUrl);
-          } catch (err) {
-            throw new TypeError("Failed to parse URL from " + input, { cause: err });
-          }
-          if (parsedURL.username || parsedURL.password) {
-            throw new TypeError(
-              "Request cannot be constructed from a URL that includes credentials: " + input
-            );
-          }
-          request2 = makeRequest({ urlList: [parsedURL] });
-          fallbackMode = "cors";
-        } else {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "no-window";
-        }
-        request2 = makeRequest({
-          // URL request’s URL.
-          // undici implementation note: this is set as the first item in request's urlList in makeRequest
-          // method request’s method.
-          method: request2.method,
-          // header list A copy of request’s header list.
-          // undici implementation note: headersList is cloned in makeRequest
-          headersList: request2.headersList,
-          // unsafe-request flag Set.
-          unsafeRequest: request2.unsafeRequest,
-          // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // priority request’s priority.
-          priority: request2.priority,
-          // origin request’s origin. The propagation of the origin is only significant for navigation requests
-          // being handled by a service worker. In this scenario a request can have an origin that is different
-          // from the current client.
-          origin: request2.origin,
-          // referrer request’s referrer.
-          referrer: request2.referrer,
-          // referrer policy request’s referrer policy.
-          referrerPolicy: request2.referrerPolicy,
-          // mode request’s mode.
-          mode: request2.mode,
-          // credentials mode request’s credentials mode.
-          credentials: request2.credentials,
-          // cache mode request’s cache mode.
-          cache: request2.cache,
-          // redirect mode request’s redirect mode.
-          redirect: request2.redirect,
-          // integrity metadata request’s integrity metadata.
-          integrity: request2.integrity,
-          // keepalive request’s keepalive.
-          keepalive: request2.keepalive,
-          // reload-navigation flag request’s reload-navigation flag.
-          reloadNavigation: request2.reloadNavigation,
-          // history-navigation flag request’s history-navigation flag.
-          historyNavigation: request2.historyNavigation,
-          // URL list A clone of request’s URL list.
-          urlList: [...request2.urlList]
-        });
-        const initHasKey = Object.keys(init).length !== 0;
-        if (initHasKey) {
-          if (request2.mode === "navigate") {
-            request2.mode = "same-origin";
-          }
-          request2.reloadNavigation = false;
-          request2.historyNavigation = false;
-          request2.origin = "client";
-          request2.referrer = "client";
-          request2.referrerPolicy = "";
-          request2.url = request2.urlList[request2.urlList.length - 1];
-          request2.urlList = [request2.url];
-        }
-        if (init.referrer !== void 0) {
-          const referrer = init.referrer;
-          if (referrer === "") {
-            request2.referrer = "no-referrer";
-          } else {
-            let parsedReferrer;
-            try {
-              parsedReferrer = new URL(referrer, baseUrl);
-            } catch (err) {
-              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
-            }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        if (init.referrerPolicy !== void 0) {
-          request2.referrerPolicy = init.referrerPolicy;
-        }
-        let mode;
-        if (init.mode !== void 0) {
-          mode = init.mode;
-        } else {
-          mode = fallbackMode;
-        }
-        if (mode === "navigate") {
-          throw webidl.errors.exception({
-            header: "Request constructor",
-            message: "invalid request mode navigate."
-          });
-        }
-        if (mode != null) {
-          request2.mode = mode;
-        }
-        if (init.credentials !== void 0) {
-          request2.credentials = init.credentials;
-        }
-        if (init.cache !== void 0) {
-          request2.cache = init.cache;
-        }
-        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
-          throw new TypeError(
-            "'only-if-cached' can be set only with 'same-origin' mode"
-          );
-        }
-        if (init.redirect !== void 0) {
-          request2.redirect = init.redirect;
-        }
-        if (init.integrity != null) {
-          request2.integrity = String(init.integrity);
-        }
-        if (init.keepalive !== void 0) {
-          request2.keepalive = Boolean(init.keepalive);
-        }
-        if (init.method !== void 0) {
-          let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            throw new TypeError(
-              "Failed to construct 'Request': member signal is not of type AbortSignal."
-            );
-          }
-          if (signal.aborted) {
-            ac.abort(signal.reason);
-          } else {
-            this[kAbortController] = ac;
-            const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            isFirstChunk = false;
+            if (!done && types.isUint8Array(value)) {
+              bytes.push(value);
+              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
+                fr[kLastProgressEventFired] = Date.now();
+                queueMicrotask(() => {
+                  fireAProgressEvent("progress", fr);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        const inputBody = input instanceof _Request ? input[kState].body : null;
-        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
-          throw new TypeError("Request with GET/HEAD method cannot have body.");
-        }
-        let initBody = null;
-        if (init.body != null) {
-          const [extractedBody, contentType] = extractBody(
-            init.body,
-            request2.keepalive
-          );
-          initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        const inputOrInitBody = initBody ?? inputBody;
-        if (inputOrInitBody != null && inputOrInitBody.source == null) {
-          if (initBody != null && init.duplex == null) {
-            throw new TypeError("RequestInit: duplex option is required when sending a body.");
-          }
-          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
-            throw new TypeError(
-              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          inputBody.stream.pipeThrough(identityTransform);
-          finalBody = {
-            source: inputBody.source,
-            length: inputBody.length,
-            stream: identityTransform.readable
-          };
-        }
-        this[kState].body = finalBody;
-      }
-      // Returns request’s HTTP method, which is "GET" by default.
-      get method() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].method;
-      }
-      // Returns the URL of request as a string.
-      get url() {
-        webidl.brandCheck(this, _Request);
-        return URLSerializer(this[kState].url);
-      }
-      // Returns a Headers object consisting of the headers associated with request.
-      // Note that headers added in the network layer by the user agent will not
-      // be accounted for in this object, e.g., the "Host" header.
-      get headers() {
-        webidl.brandCheck(this, _Request);
-        return this[kHeaders];
-      }
-      // Returns the kind of resource requested by request, e.g., "document"
-      // or "script".
-      get destination() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].destination;
-      }
-      // Returns the referrer of request. Its value can be a same-origin URL if
-      // explicitly set in init, the empty string to indicate no referrer, and
-      // "about:client" when defaulting to the global’s default. This is used
-      // during fetching to determine the value of the `Referer` header of the
-      // request being made.
-      get referrer() {
-        webidl.brandCheck(this, _Request);
-        if (this[kState].referrer === "no-referrer") {
-          return "";
-        }
-        if (this[kState].referrer === "client") {
-          return "about:client";
+          return decode(bytes, encoding);
         }
-        return this[kState].referrer.toString();
-      }
-      // Returns the referrer policy associated with request.
-      // This is used during fetching to compute the value of the request’s
-      // referrer.
-      get referrerPolicy() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].referrerPolicy;
-      }
-      // Returns the mode associated with request, which is a string indicating
-      // whether the request will use CORS, or will be restricted to same-origin
-      // URLs.
-      get mode() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].mode;
-      }
-      // Returns the credentials mode associated with request,
-      // which is a string indicating whether credentials will be sent with the
-      // request always, never, or only when sent to a same-origin URL.
-      get credentials() {
-        return this[kState].credentials;
-      }
-      // Returns the cache mode associated with request,
-      // which is a string indicating how the request will
-      // interact with the browser’s cache when fetching.
-      get cache() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].cache;
-      }
-      // Returns the redirect mode associated with request,
-      // which is a string indicating how redirects for the
-      // request will be handled during fetching. A request
-      // will follow redirects by default.
-      get redirect() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].redirect;
-      }
-      // Returns request’s subresource integrity metadata, which is a
-      // cryptographic hash of the resource being fetched. Its value
-      // consists of multiple hashes separated by whitespace. [SRI]
-      get integrity() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].integrity;
-      }
-      // Returns a boolean indicating whether or not request can outlive the
-      // global in which it was created.
-      get keepalive() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].keepalive;
-      }
-      // Returns a boolean indicating whether or not request is for a reload
-      // navigation.
-      get isReloadNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].reloadNavigation;
-      }
-      // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
-      get isHistoryNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].historyNavigation;
-      }
-      // Returns the signal associated with request, which is an AbortSignal
-      // object indicating whether or not request has been aborted, and its
-      // abort event handler.
-      get signal() {
-        webidl.brandCheck(this, _Request);
-        return this[kSignal];
-      }
-      get body() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].body ? this[kState].body.stream : null;
-      }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Request);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
-      }
-      get duplex() {
-        webidl.brandCheck(this, _Request);
-        return "half";
-      }
-      // Returns a clone of request.
-      clone() {
-        webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    function decode(ioQueue, encoding) {
+      const bytes = combineByteSequences(ioQueue);
+      const BOMEncoding = BOMSniffing(bytes);
+      let slice = 0;
+      if (BOMEncoding !== null) {
+        encoding = BOMEncoding;
+        slice = BOMEncoding === "UTF-8" ? 3 : 2;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    Object.defineProperties(Request.prototype, {
-      method: kEnumerableProperty,
-      url: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      signal: kEnumerableProperty,
-      duplex: kEnumerableProperty,
-      destination: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      isHistoryNavigation: kEnumerableProperty,
-      isReloadNavigation: kEnumerableProperty,
-      keepalive: kEnumerableProperty,
-      integrity: kEnumerableProperty,
-      cache: kEnumerableProperty,
-      credentials: kEnumerableProperty,
-      attribute: kEnumerableProperty,
-      referrerPolicy: kEnumerableProperty,
-      referrer: kEnumerableProperty,
-      mode: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Request",
-        configurable: true
-      }
-    });
-    webidl.converters.Request = webidl.interfaceConverter(
-      Request
-    );
-    webidl.converters.RequestInfo = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    function BOMSniffing(ioQueue) {
+      const [a, b, c] = ioQueue;
+      if (a === 239 && b === 187 && c === 191) {
+        return "UTF-8";
+      } else if (a === 254 && b === 255) {
+        return "UTF-16BE";
+      } else if (a === 255 && b === 254) {
+        return "UTF-16LE";
       }
-      return webidl.converters.USVString(V);
+      return null;
+    }
+    function combineByteSequences(sequences) {
+      const size = sequences.reduce((a, b) => {
+        return a + b.byteLength;
+      }, 0);
+      let offset = 0;
+      return sequences.reduce((a, b) => {
+        a.set(b, offset);
+        offset += b.byteLength;
+        return a;
+      }, new Uint8Array(size));
+    }
+    module2.exports = {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
     };
-    webidl.converters.AbortSignal = webidl.interfaceConverter(
-      AbortSignal
-    );
-    webidl.converters.RequestInit = webidl.dictionaryConverter([
-      {
-        key: "method",
-        converter: webidl.converters.ByteString
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      },
-      {
-        key: "body",
-        converter: webidl.nullableConverter(
-          webidl.converters.BodyInit
-        )
-      },
-      {
-        key: "referrer",
-        converter: webidl.converters.USVString
-      },
-      {
-        key: "referrerPolicy",
-        converter: webidl.converters.DOMString,
-        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
-        allowedValues: referrerPolicy
-      },
-      {
-        key: "mode",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#concept-request-mode
-        allowedValues: requestMode
-      },
-      {
-        key: "credentials",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcredentials
-        allowedValues: requestCredentials
-      },
-      {
-        key: "cache",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcache
-        allowedValues: requestCache
-      },
-      {
-        key: "redirect",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestredirect
-        allowedValues: requestRedirect
-      },
-      {
-        key: "integrity",
-        converter: webidl.converters.DOMString
-      },
-      {
-        key: "keepalive",
-        converter: webidl.converters.boolean
-      },
-      {
-        key: "signal",
-        converter: webidl.nullableConverter(
-          (signal) => webidl.converters.AbortSignal(
-            signal,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib = require("zlib");
-    var {
-      bytesMatch,
-      makePolicyContainer,
-      clonePolicyContainer,
-      requestBadPort,
-      TAOCheck,
-      appendRequestOriginHeader,
-      responseLocationURL,
-      requestCurrentURL,
-      setRequestReferrerPolicyOnRedirect,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      createOpaqueTimingInfo,
-      appendFetchMetadata,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      determineRequestsReferrer,
-      coarsenedSharedCurrentTime,
-      createDeferredPromise,
-      isBlobLike,
-      sameOrigin,
-      isCancelled,
-      isAborted,
-      isErrorLike,
-      fullyReadBody,
-      readableStreamClose,
-      isomorphicEncode,
-      urlIsLocal,
-      urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable: Readable2, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsDataText
+       * @param {import('buffer').Blob} blob
+       * @param {string?} encoding
+       */
+      readAsText(blob, encoding = void 0) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
+        }
+        readOperation(this, blob, "Text", encoding);
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
           return;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
+       */
+      get readyState() {
+        webidl.brandCheck(this, _FileReader);
+        switch (this[kState]) {
+          case "empty":
+            return this.EMPTY;
+          case "loading":
+            return this.LOADING;
+          case "done":
+            return this.DONE;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
+      }
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
+      }
+      set onloadend(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadend) {
+          this.removeEventListener("loadend", this[kEvents].loadend);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].loadend = fn;
+          this.addEventListener("loadend", fn);
+        } else {
+          this[kEvents].loadend = null;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      set onerror(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].error) {
+          this.removeEventListener("error", this[kEvents].error);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      get onprogress() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].progress;
+      }
+      set onprogress(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].progress) {
+          this.removeEventListener("progress", this[kEvents].progress);
         }
-        if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      set onabort(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].abort) {
+          this.removeEventListener("abort", this[kEvents].abort);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].abort = fn;
+          this.addEventListener("abort", fn);
+        } else {
+          this[kEvents].abort = null;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
+    FileReader.LOADING = FileReader.prototype.LOADING = 1;
+    FileReader.DONE = FileReader.prototype.DONE = 2;
+    Object.defineProperties(FileReader.prototype, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors,
+      readAsArrayBuffer: kEnumerableProperty,
+      readAsBinaryString: kEnumerableProperty,
+      readAsText: kEnumerableProperty,
+      readAsDataURL: kEnumerableProperty,
+      abort: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      result: kEnumerableProperty,
+      error: kEnumerableProperty,
+      onloadstart: kEnumerableProperty,
+      onprogress: kEnumerableProperty,
+      onload: kEnumerableProperty,
+      onabort: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onloadend: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FileReader",
+        writable: false,
+        enumerable: false,
+        configurable: true
+      }
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
+    module2.exports = {
+      FileReader
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    function getFieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (isValidHeaderName(value)) {
+          values.push(value);
+        }
       }
+      return values;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    var assert = require("node:assert");
+    var Cache = class _Cache {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
+       * @type {requestResponseList}
+       */
+      #relevantRequestResponseList;
+      constructor() {
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
+        }
+        webidl.util.markAsUncloneable(this);
+        this.#relevantRequestResponseList = arguments[1];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.match";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        const p = this.#internalMatchAll(request2, options, 1);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
+      }
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.matchAll";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        return this.#internalMatchAll(request2, options);
+      }
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.add";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
+      }
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const responsePromises = [];
+        const requestList = [];
+        for (let request2 of requests) {
+          if (request2 === void 0) {
+            throw webidl.errors.conversionFailed({
+              prefix,
+              argument: "Argument 1",
+              types: ["undefined is not allowed"]
+            });
+          }
+          request2 = webidl.converters.RequestInfo(request2);
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme when method is not GET."
+            });
+          }
+        }
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme."
+            });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
+        }
+        const p = Promise.all(responsePromises);
+        const responses = await p;
+        const operations = [];
+        let index = 0;
+        for (const response of responses) {
+          const operation = {
+            type: "put",
+            // 7.3.2
+            request: requestList[index],
+            // 7.3.3
+            response
+            // 7.3.4
+          };
+          operations.push(operation);
+          index++;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(void 0);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.put";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        response = webidl.converters.Response(response, prefix, "response");
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
+        }
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Expected an http/s scheme when method is not GET"
+          });
+        }
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Got 206 status"
+          });
+        }
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: "Got * vary field value"
+              });
+            }
+          }
+        }
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Response body is locked or disturbed"
+          });
+        }
+        const clonedResponse = cloneResponse(innerResponse);
+        const bodyReadPromise = createDeferredPromise();
+        if (innerResponse.body != null) {
+          const stream2 = innerResponse.body.stream;
+          const reader = stream2.getReader();
+          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+        } else {
+          bodyReadPromise.resolve(void 0);
+        }
+        const operations = [];
+        const operation = {
+          type: "put",
+          // 14.
+          request: innerRequest,
+          // 15.
+          response: clonedResponse
+          // 16.
+        };
+        operations.push(operation);
+        const bytes = await bodyReadPromise.promise;
+        if (clonedResponse.body != null) {
+          clonedResponse.body.source = bytes;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve();
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      const fetchParams = {
-        controller: new Fetch(dispatcher),
-        request: request2,
-        timingInfo,
-        processRequestBodyChunkLength,
-        processRequestEndOfBody,
-        processResponse,
-        processResponseConsumeBody,
-        processResponseEndOfBody,
-        taskDestination,
-        crossOriginIsolatedCapability
-      };
-      assert(!request2.body || request2.body.stream);
-      if (request2.window === "client") {
-        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
-      }
-      if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
-      }
-      if (request2.policyContainer === "client") {
-        if (request2.client != null) {
-          request2.policyContainer = clonePolicyContainer(
-            request2.client.policyContainer
-          );
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
+          }
         } else {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      if (request2.priority === null) {
-      }
-      if (subresourceSet.has(request2.destination)) {
-      }
-      mainFetch(fetchParams).catch((err) => {
-        fetchParams.controller.terminate(err);
-      });
-      return fetchParams.controller;
-    }
-    async function mainFetch(fetchParams, recursive = false) {
-      const request2 = fetchParams.request;
-      let response = null;
-      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
-        response = makeNetworkError("local URLs only");
-      }
-      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
-      if (requestBadPort(request2) === "blocked") {
-        response = makeNetworkError("bad port");
-      }
-      if (request2.referrerPolicy === "") {
-        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
-      }
-      if (request2.referrer !== "no-referrer") {
-        request2.referrer = determineRequestsReferrer(request2);
-      }
-      if (response === null) {
-        response = await (async () => {
-          const currentURL = requestCurrentURL(request2);
-          if (
-            // - request’s current URL’s origin is same origin with request’s origin,
-            //   and request’s response tainting is "basic"
-            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
-            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
-            (request2.mode === "navigate" || request2.mode === "websocket")
-          ) {
-            request2.responseTainting = "basic";
-            return await schemeFetch(fetchParams);
-          }
-          if (request2.mode === "same-origin") {
-            return makeNetworkError('request mode cannot be "same-origin"');
+        const operations = [];
+        const operation = {
+          type: "delete",
+          request: r,
+          options
+        };
+        operations.push(operation);
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        let requestResponses;
+        try {
+          requestResponses = this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        return cacheJobPromise.promise;
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {Promise}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          request2.responseTainting = "cors";
-          return await httpFetch(fetchParams);
-        })();
-      }
-      if (recursive) {
-        return response;
-      }
-      if (response.status !== 0 && !response.internalResponse) {
-        if (request2.responseTainting === "cors") {
         }
-        if (request2.responseTainting === "basic") {
-          response = filterResponse(response, "basic");
-        } else if (request2.responseTainting === "cors") {
-          response = filterResponse(response, "cors");
-        } else if (request2.responseTainting === "opaque") {
-          response = filterResponse(response, "opaque");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
+          }
         }
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
+            requestList.push(requestObject);
+          }
+          promise.resolve(Object.freeze(requestList));
+        });
+        return promise.promise;
       }
-      let internalResponse = response.status === 0 ? response : response.internalResponse;
-      if (internalResponse.urlList.length === 0) {
-        internalResponse.urlList.push(...request2.urlList);
-      }
-      if (!request2.timingAllowFailed) {
-        response.timingAllowPassed = true;
-      }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
-        response = internalResponse = makeNetworkError();
-      }
-      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
-        internalResponse.body = null;
-        fetchParams.controller.dump = true;
-      }
-      if (request2.integrity) {
-        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
-        if (request2.responseTainting === "opaque" || response.body == null) {
-          processBodyError(response.error);
-          return;
-        }
-        const processBody = (bytes) => {
-          if (!bytesMatch(bytes, request2.integrity)) {
-            processBodyError("integrity mismatch");
-            return;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
+       * @param {CacheBatchOperation[]} operations
+       * @returns {requestResponseList}
+       */
+      #batchCacheOperations(operations) {
+        const cache = this.#relevantRequestResponseList;
+        const backupCache = [...cache];
+        const addedItems = [];
+        const resultList = [];
+        try {
+          for (const operation of operations) {
+            if (operation.type !== "delete" && operation.type !== "put") {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: 'operation type does not match "delete" or "put"'
+              });
+            }
+            if (operation.type === "delete" && operation.response != null) {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: "delete operation should not have an associated response"
+              });
+            }
+            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
+              throw new DOMException("???", "InvalidStateError");
+            }
+            let requestResponses;
+            if (operation.type === "delete") {
+              requestResponses = this.#queryCache(operation.request, operation.options);
+              if (requestResponses.length === 0) {
+                return [];
+              }
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+            } else if (operation.type === "put") {
+              if (operation.response == null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "put operation should have an associated response"
+                });
+              }
+              const r = operation.request;
+              if (!urlIsHttpHttpsScheme(r.url)) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "expected http or https scheme"
+                });
+              }
+              if (r.method !== "GET") {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "not get method"
+                });
+              }
+              if (operation.options != null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "options must not be defined"
+                });
+              }
+              requestResponses = this.#queryCache(operation.request);
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+              cache.push([operation.request, operation.response]);
+              addedItems.push([operation.request, operation.response]);
+            }
+            resultList.push([operation.request, operation.response]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#query-cache
+       * @param {any} requestQuery
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @param {requestResponseList} targetStorage
+       * @returns {requestResponseList}
+       */
+      #queryCache(requestQuery, options, targetStorage) {
+        const resultList = [];
+        const storage = targetStorage ?? this.#relevantRequestResponseList;
+        for (const requestResponse of storage) {
+          const [cachedRequest, cachedResponse] = requestResponse;
+          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
+            resultList.push(requestResponse);
+          }
+        }
+        return resultList;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
+       * @param {any} requestQuery
+       * @param {any} request
+       * @param {any | null} response
+       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
+       * @returns {boolean}
+       */
+      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
+        const queryURL = new URL(requestQuery.url);
+        const cachedURL = new URL(request2.url);
+        if (options?.ignoreSearch) {
+          cachedURL.search = "";
+          queryURL.search = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
+        }
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
+        }
+        const fieldValues = getFieldValues(response.headersList.get("vary"));
+        for (const fieldValue of fieldValues) {
+          if (fieldValue === "*") {
+            return false;
           }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          return Promise.resolve(response);
         }
-        case "data:": {
-          const currentURL = requestCurrentURL(request2);
-          const dataURLStruct = dataURLProcessor(currentURL);
-          if (dataURLStruct === "failure") {
-            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+        return true;
+      }
+      #internalMatchAll(request2, options, maxResponses = Infinity) {
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
-          return Promise.resolve(makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-type", { name: "Content-Type", value: mimeType }]
-            ],
-            body: safelyExtractBody(dataURLStruct.body)[0]
-          }));
-        }
-        case "file:": {
-          return Promise.resolve(makeNetworkError("not implemented... yet..."));
         }
-        case "http:":
-        case "https:": {
-          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = fromInnerResponse(response, "immutable");
+          responseList.push(responseObject.clone());
+          if (responseList.length >= maxResponses) {
+            break;
+          }
         }
+        return Object.freeze(responseList);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    Object.defineProperties(Cache.prototype, {
+      [Symbol.toStringTag]: {
+        value: "Cache",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      matchAll: kEnumerableProperty,
+      add: kEnumerableProperty,
+      addAll: kEnumerableProperty,
+      put: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    var cacheQueryOptionConverters = [
+      {
+        key: "ignoreSearch",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreMethod",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreVary",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.has(cacheName);
       }
-      if (response === null) {
-        if (request2.redirect === "follow") {
-          request2.serviceWorkers = "none";
-        }
-        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
-        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
-          return makeNetworkError("cors failure");
-        }
-        if (TAOCheck(request2, response) === "failure") {
-          request2.timingAllowFailed = true;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.open";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.delete(cacheName);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        if (request2.redirect === "error") {
-          response = makeNetworkError("unexpected redirect");
-        } else if (request2.redirect === "manual") {
-          response = actualResponse;
-        } else if (request2.redirect === "follow") {
-          response = await httpRedirectFetch(fetchParams, response);
-        } else {
-          assert(false);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {Promise}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
+      }
+    };
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      for (let i = 0; i < value.length; ++i) {
+        const code = value.charCodeAt(i);
+        if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
+          return true;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    function httpRedirectFetch(fetchParams, response) {
-      const request2 = fetchParams.request;
-      const actualResponse = response.internalResponse ? response.internalResponse : response;
-      let locationURL;
-      try {
-        locationURL = responseLocationURL(
-          actualResponse,
-          requestCurrentURL(request2).hash
-        );
-        if (locationURL == null) {
-          return response;
+    function validateCookieName(name) {
+      for (let i = 0; i < name.length; ++i) {
+        const code = name.charCodeAt(i);
+        if (code < 33 || // exclude CTLs (0-31), SP and HT
+        code > 126 || // exclude non-ascii and DEL
+        code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 60 || // <
+        code === 62 || // >
+        code === 64 || // @
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 58 || // :
+        code === 92 || // \
+        code === 47 || // /
+        code === 91 || // [
+        code === 93 || // ]
+        code === 63 || // ?
+        code === 61 || // =
+        code === 123 || // {
+        code === 125) {
+          throw new Error("Invalid cookie name");
         }
-      } catch (err) {
-        return Promise.resolve(makeNetworkError(err));
-      }
-      if (!urlIsHttpHttpsScheme(locationURL)) {
-        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
-      }
-      if (request2.redirectCount === 20) {
-        return Promise.resolve(makeNetworkError("redirect count exceeded"));
-      }
-      request2.redirectCount += 1;
-      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
-        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
-      }
-      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
-        return Promise.resolve(makeNetworkError(
-          'URL cannot contain credentials for request mode "cors"'
-        ));
-      }
-      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
-        return Promise.resolve(makeNetworkError());
       }
-      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
-        request2.method = "GET";
-        request2.body = null;
-        for (const headerName of requestBodyHeader) {
-          request2.headersList.delete(headerName);
+    }
+    function validateCookieValue(value) {
+      let len = value.length;
+      let i = 0;
+      if (value[0] === '"') {
+        if (len === 1 || value[len - 1] !== '"') {
+          throw new Error("Invalid cookie value");
         }
+        --len;
+        ++i;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      if (request2.body != null) {
-        assert(request2.body.source != null);
-        request2.body = safelyExtractBody(request2.body.source)[0];
-      }
-      const timingInfo = fetchParams.timingInfo;
-      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
-      if (timingInfo.redirectStartTime === 0) {
-        timingInfo.redirectStartTime = timingInfo.startTime;
+      while (i < len) {
+        const code = value.charCodeAt(i++);
+        if (code < 33 || // exclude CTLs (0-31)
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
+        }
       }
-      request2.urlList.push(locationURL);
-      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
-      return mainFetch(fetchParams, true);
     }
-    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
-      const request2 = fetchParams.request;
-      let httpFetchParams = null;
-      let httpRequest = null;
-      let response = null;
-      const httpCache = null;
-      const revalidatingFlag = false;
-      if (request2.window === "no-window" && request2.redirect === "error") {
-        httpFetchParams = fetchParams;
-        httpRequest = request2;
-      } else {
-        httpRequest = makeRequest(request2);
-        httpFetchParams = { ...fetchParams };
-        httpFetchParams.request = httpRequest;
-      }
-      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
-      const contentLength = httpRequest.body ? httpRequest.body.length : null;
-      let contentLengthHeaderValue = null;
-      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
-        contentLengthHeaderValue = "0";
+    function validateCookiePath(path8) {
+      for (let i = 0; i < path8.length; ++i) {
+        const code = path8.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    var IMFDays = [
+      "Sun",
+      "Mon",
+      "Tue",
+      "Wed",
+      "Thu",
+      "Fri",
+      "Sat"
+    ];
+    var IMFMonths = [
+      "Jan",
+      "Feb",
+      "Mar",
+      "Apr",
+      "May",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Oct",
+      "Nov",
+      "Dec"
+    ];
+    var IMFPaddedNumbers = Array(61).fill(0).map((_, i) => i.toString().padStart(2, "0"));
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`;
+    }
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      for (const part of cookie.unparsed) {
+        if (!part.includes("=")) {
+          throw new Error("Invalid unparsed");
         }
+        const [key, ...value] = part.split("=");
+        out.push(`${key.trim()}=${value.join("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      response.requestIncludesCredentials = includeCredentials;
-      if (response.status === 407) {
-        if (request2.window === "no-window") {
-          return makeNetworkError();
-        }
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        return makeNetworkError("proxy authentication required");
+      let nameValuePair = "";
+      let unparsedAttributes = "";
+      let name = "";
+      let value = "";
+      if (header.includes(";")) {
+        const position = { position: 0 };
+        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
+        unparsedAttributes = header.slice(position.position);
+      } else {
+        nameValuePair = header;
       }
-      if (
-        // response’s status is 421
-        response.status === 421 && // isNewConnectionFetch is false
-        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
-        (request2.body == null || request2.body.source != null)
-      ) {
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        fetchParams.controller.connection.destroy();
-        response = await httpNetworkOrCacheFetch(
-          fetchParams,
-          isAuthenticationFetch,
-          true
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      assert(unparsedAttributes[0] === ";");
+      unparsedAttributes = unparsedAttributes.slice(1);
+      let cookieAv = "";
+      if (unparsedAttributes.includes(";")) {
+        cookieAv = collectASequenceOfCodePointsFast(
+          ";",
+          unparsedAttributes,
+          { position: 0 }
+        );
+        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
       } else {
+        cookieAv = unparsedAttributes;
+        unparsedAttributes = "";
       }
-      let requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream2 = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      const attributeNameLowercase = attributeName.toLowerCase();
+      if (attributeNameLowercase === "expires") {
+        const expiryTime = new Date(attributeValue);
+        cookieAttributeList.expires = expiryTime;
+      } else if (attributeNameLowercase === "max-age") {
+        const charCode = attributeValue.charCodeAt(0);
+        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      );
-      response.body = { stream: stream2 };
-      fetchParams.controller.on("terminated", onAborted);
-      fetchParams.controller.resume = async () => {
-        while (true) {
-          let bytes;
-          let isFailure;
-          try {
-            const { done, value } = await fetchParams.controller.next();
-            if (isAborted(fetchParams)) {
-              break;
-            }
-            bytes = done ? void 0 : value;
-          } catch (err) {
-            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
-              bytes = void 0;
-            } else {
-              bytes = err;
-              isFailure = true;
-            }
-          }
-          if (bytes === void 0) {
-            readableStreamClose(fetchParams.controller.controller);
-            finalizeResponse(fetchParams, response);
-            return;
-          }
-          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
-          if (isFailure) {
-            fetchParams.controller.terminate(bytes);
-            return;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream2)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
+        }
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
         } else {
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve4, reject) => agent.dispatch(
-          {
-            path: url.pathname + url.search,
-            origin: url.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable2({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib.createGunzip({
-                      // Be less strict when decoding compressed responses, since sometimes
-                      // servers send slightly invalid responses that are still accepted
-                      // by common browsers.
-                      // Always using Z_SYNC_FLUSH is what cURL does.
-                      flush: zlib.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve4({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve4({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        cookieAttributeList.path = cookiePath;
+      } else if (attributeNameLowercase === "secure") {
+        cookieAttributeList.secure = true;
+      } else if (attributeNameLowercase === "httponly") {
+        cookieAttributeList.httpOnly = true;
+      } else if (attributeNameLowercase === "samesite") {
+        let enforcement = "Default";
+        const attributeValueLowercase = attributeValue.toLowerCase();
+        if (attributeValueLowercase.includes("none")) {
+          enforcement = "None";
+        }
+        if (attributeValueLowercase.includes("strict")) {
+          enforcement = "Strict";
+        }
+        if (attributeValueLowercase.includes("lax")) {
+          enforcement = "Lax";
+        }
+        cookieAttributeList.sameSite = enforcement;
+      } else {
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
       }
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
     }
     module2.exports = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
+      }
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
+      }
+      return out;
+    }
+    function deleteCookie(headers, name, attributes) {
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
+    }
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
+      }
+      return cookies.map((pair) => parseSetCookie(pair));
+    }
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      }
+    ]);
+    webidl.converters.Cookie = webidl.dictionaryConverter([
+      {
+        converter: webidl.converters.DOMString,
+        key: "name"
+      },
+      {
+        converter: webidl.converters.DOMString,
+        key: "value"
+      },
+      {
+        converter: webidl.nullableConverter((value) => {
+          if (typeof value === "number") {
+            return webidl.converters["unsigned long long"](value);
+          }
+          return new Date(value);
+        }),
+        key: "expires",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters["long long"]),
+        key: "maxAge",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "secure",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "httpOnly",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.converters.USVString,
+        key: "sameSite",
+        allowedValues: ["Strict", "Lax", "None"]
+      },
+      {
+        converter: webidl.sequenceConverter(webidl.converters.DOMString),
+        key: "unparsed",
+        defaultValue: () => new Array(0)
+      }
+    ]);
     module2.exports = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
+      }
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
+      }
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
+        }
+        return this.#eventInit.ports;
+      }
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, init);
+        messageEvent.#eventInit = init;
+        messageEvent.#eventInit.data ??= null;
+        messageEvent.#eventInit.origin ??= "";
+        messageEvent.#eventInit.lastEventId ??= "";
+        messageEvent.#eventInit.source ??= null;
+        messageEvent.#eventInit.ports ??= [];
+        return messageEvent;
+      }
+    };
+    var { createFastMessageEvent } = MessageEvent;
+    delete MessageEvent.createFastMessageEvent;
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
+      }
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
+      }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
+      }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
+      }
+    };
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
+      }
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
+      }
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
+      }
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
+      }
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
+      }
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      reason: kEnumerableProperty,
+      code: kEnumerableProperty,
+      wasClean: kEnumerableProperty
+    });
+    Object.defineProperties(ErrorEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "ErrorEvent",
+        configurable: true
       },
+      message: kEnumerableProperty,
+      filename: kEnumerableProperty,
+      lineno: kEnumerableProperty,
+      colno: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.MessagePort
+    );
+    var eventInit = [
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
-    "use strict";
-    function getEncoding(label) {
-      if (!label) {
-        return "failure";
-      }
-      switch (label.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";
-      }
-    }
-    module2.exports = {
-      getEncoding
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream2 = blob.stream();
-      const reader = stream2.getReader();
-      const bytes = [];
-      let chunkPromise = reader.read();
-      let isFirstChunk = true;
-      (async () => {
-        while (!fr[kAborted]) {
-          try {
-            const { done, value } = await chunkPromise;
-            if (isFirstChunk && !fr[kAborted]) {
-              queueMicrotask(() => {
-                fireAProgressEvent("loadstart", fr);
-              });
-            }
-            isFirstChunk = false;
-            if (!done && types.isUint8Array(value)) {
-              bytes.push(value);
-              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
-                fr[kLastProgressEventFired] = Date.now();
-                queueMicrotask(() => {
-                  fireAProgressEvent("progress", fr);
-                });
-              }
-              chunkPromise = reader.read();
-            } else if (done) {
-              queueMicrotask(() => {
-                fr[kState] = "done";
-                try {
-                  const result = packageData(bytes, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              fireAProgressEvent("error", fr);
-              if (fr[kState] !== "loading") {
-                fireAProgressEvent("loadend", fr);
-              }
-            });
-            break;
-          }
-        }
-      })();
-    }
-    function fireAProgressEvent(e, reader) {
-      const event = new ProgressEvent(e, {
-        bubbles: false,
-        cancelable: false
-      });
-      reader.dispatchEvent(event);
-    }
-    function packageData(bytes, type2, mimeType, encodingName) {
-      switch (type2) {
-        case "DataURL": {
-          let dataURL = "data:";
-          const parsed = parseMIMEType(mimeType || "application/octet-stream");
-          if (parsed !== "failure") {
-            dataURL += serializeAMimeType(parsed);
-          }
-          dataURL += ";base64,";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            dataURL += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.parameters.get("charset"));
-            }
-          }
-          if (encoding === "failure") {
-            encoding = "UTF-8";
-          }
-          return decode(bytes, encoding);
-        }
-        case "ArrayBuffer": {
-          const sequence = combineByteSequences(bytes);
-          return sequence.buffer;
-        }
-        case "BinaryString": {
-          let binaryString = "";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            binaryString += decoder.write(chunk);
-          }
-          binaryString += decoder.end();
-          return binaryString;
-        }
+        defaultValue: () => false
       }
-    }
-    function decode(ioQueue, encoding) {
-      const bytes = combineByteSequences(ioQueue);
-      const BOMEncoding = BOMSniffing(bytes);
-      let slice = 0;
-      if (BOMEncoding !== null) {
-        encoding = BOMEncoding;
-        slice = BOMEncoding === "UTF-8" ? 3 : 2;
+    ];
+    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "data",
+        converter: webidl.converters.any,
+        defaultValue: () => null
+      },
+      {
+        key: "origin",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lastEventId",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "source",
+        // Node doesn't implement WindowProxy or ServiceWorker, so the only
+        // valid value for source is a MessagePort.
+        converter: webidl.nullableConverter(webidl.converters.MessagePort),
+        defaultValue: () => null
+      },
+      {
+        key: "ports",
+        converter: webidl.converters["sequence"],
+        defaultValue: () => new Array(0)
       }
-      const sliced = bytes.slice(slice);
-      return new TextDecoder(encoding).decode(sliced);
-    }
-    function BOMSniffing(ioQueue) {
-      const [a, b, c] = ioQueue;
-      if (a === 239 && b === 187 && c === 191) {
-        return "UTF-8";
-      } else if (a === 254 && b === 255) {
-        return "UTF-16BE";
-      } else if (a === 255 && b === 254) {
-        return "UTF-16LE";
+    ]);
+    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "wasClean",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "code",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 0
+      },
+      {
+        key: "reason",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
       }
-      return null;
-    }
-    function combineByteSequences(sequences) {
-      const size = sequences.reduce((a, b) => {
-        return a + b.byteLength;
-      }, 0);
-      let offset = 0;
-      return sequences.reduce((a, b) => {
-        a.set(b, offset);
-        offset += b.byteLength;
-        return a;
-      }, new Uint8Array(size));
-    }
+    ]);
+    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "message",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "filename",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lineno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "colno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "error",
+        converter: webidl.converters.any
+      }
+    ]);
     module2.exports = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var sentCloseFrameState = {
+      NOT_SENT: 0,
+      PROCESSING: 1,
+      SENT: 2
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    var sendHints = {
+      string: 1,
+      typedArray: 2,
+      arrayBuffer: 3,
+      blob: 4
+    };
+    module2.exports = {
+      uid,
+      sentCloseFrameState,
       staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var FileReader = class _FileReader extends EventTarget {
-      constructor() {
-        super();
-        this[kState] = "empty";
-        this[kResult] = null;
-        this[kError] = null;
-        this[kEvents] = {
-          loadend: null,
-          error: null,
-          abort: null,
-          load: null,
-          progress: null,
-          loadstart: null
-        };
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
-       * @param {import('buffer').Blob} blob
-       */
-      readAsArrayBuffer(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsDataText
-       * @param {import('buffer').Blob} blob
-       * @param {string?} encoding
-       */
-      readAsText(blob, encoding = void 0) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
+    }
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
+    }
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
+    }
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           return;
         }
-        if (this[kState] === "loading") {
-          this[kState] = "done";
-          this[kResult] = null;
-        }
-        this[kAborted] = true;
-        fireAProgressEvent("abort", this);
-        if (this[kState] !== "loading") {
-          fireAProgressEvent("loadend", this);
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
-       */
-      get readyState() {
-        webidl.brandCheck(this, _FileReader);
-        switch (this[kState]) {
-          case "empty":
-            return this.EMPTY;
-          case "loading":
-            return this.LOADING;
-          case "done":
-            return this.DONE;
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
-       */
-      get result() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kResult];
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
-       */
-      get error() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kError];
-      }
-      get onloadend() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadend;
-      }
-      set onloadend(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadend) {
-          this.removeEventListener("loadend", this[kEvents].loadend);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadend = fn;
-          this.addEventListener("loadend", fn);
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].error) {
-          this.removeEventListener("error", this[kEvents].error);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this[kEvents].error = null;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      set onloadstart(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadstart) {
-          this.removeEventListener("loadstart", this[kEvents].loadstart);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadstart = fn;
-          this.addEventListener("loadstart", fn);
-        } else {
-          this[kEvents].loadstart = null;
+      for (let i = 0; i < protocol.length; ++i) {
+        const code = protocol.charCodeAt(i);
+        if (code < 33 || // CTL, contains SP (0x20) and HT (0x09)
+        code > 126 || code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 44 || // ,
+        code === 47 || // /
+        code === 58 || // :
+        code === 59 || // ;
+        code === 60 || // <
+        code === 61 || // =
+        code === 62 || // >
+        code === 63 || // ?
+        code === 64 || // @
+        code === 91 || // [
+        code === 92 || // \
+        code === 93 || // ]
+        code === 123 || // {
+        code === 125) {
+          return false;
         }
       }
-      get onprogress() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].progress;
-      }
-      set onprogress(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].progress) {
-          this.removeEventListener("progress", this[kEvents].progress);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].progress = fn;
-          this.addEventListener("progress", fn);
-        } else {
-          this[kEvents].progress = null;
-        }
+      return true;
+    }
+    function isValidStatusCode(code) {
+      if (code >= 1e3 && code < 1015) {
+        return code !== 1004 && // reserved
+        code !== 1005 && // "MUST NOT be set as a status code"
+        code !== 1006;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      return code >= 3e3 && code <= 4999;
+    }
+    function failWebsocketConnection(ws, reason) {
+      const { [kController]: controller, [kResponse]: response } = ws;
+      controller.abort();
+      if (response?.socket && !response.socket.destroyed) {
+        response.socket.destroy();
       }
-      set onload(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].load) {
-          this.removeEventListener("load", this[kEvents].load);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].load = fn;
-          this.addEventListener("load", fn);
-        } else {
-          this[kEvents].load = null;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    function isControlFrame(opcode) {
+      return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
+    }
+    function isContinuationFrame(opcode) {
+      return opcode === opcodes.CONTINUATION;
+    }
+    function isTextBinaryFrame(opcode) {
+      return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
+    }
+    function isValidOpcode(opcode) {
+      return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
+    }
+    function parseExtensions(extensions) {
+      const position = { position: 0 };
+      const extensionList = /* @__PURE__ */ new Map();
+      while (position.position < extensions.length) {
+        const pair = collectASequenceOfCodePointsFast(";", extensions, position);
+        const [name, value = ""] = pair.split("=");
+        extensionList.set(
+          removeHTTPWhitespace(name, true, false),
+          removeHTTPWhitespace(value, false, true)
+        );
+        position.position++;
       }
-      set onabort(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].abort) {
-          this.removeEventListener("abort", this[kEvents].abort);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].abort = fn;
-          this.addEventListener("abort", fn);
-        } else {
-          this[kEvents].abort = null;
+      return extensionList;
+    }
+    function isValidClientWindowBits(value) {
+      for (let i = 0; i < value.length; i++) {
+        const byte = value.charCodeAt(i);
+        if (byte < 48 || byte > 57) {
+          return false;
         }
       }
-    };
-    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
-    FileReader.LOADING = FileReader.prototype.LOADING = 1;
-    FileReader.DONE = FileReader.prototype.DONE = 2;
-    Object.defineProperties(FileReader.prototype, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors,
-      readAsArrayBuffer: kEnumerableProperty,
-      readAsBinaryString: kEnumerableProperty,
-      readAsText: kEnumerableProperty,
-      readAsDataURL: kEnumerableProperty,
-      abort: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      result: kEnumerableProperty,
-      error: kEnumerableProperty,
-      onloadstart: kEnumerableProperty,
-      onprogress: kEnumerableProperty,
-      onload: kEnumerableProperty,
-      onabort: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onloadend: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "FileReader",
-        writable: false,
-        enumerable: false,
-        configurable: true
+      return true;
+    }
+    var hasIntl = typeof process.versions.icu === "string";
+    var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0;
+    var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) {
+      if (isUtf8(buffer)) {
+        return buffer.toString("utf-8");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync2(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]];
     }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+      }
+      createFrame(opcode) {
+        const frameData = this.frameData;
+        const maskKey = generateMask();
+        const bodyLength = frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
+        }
+        const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
+        buffer2[0] = buffer2[1] = 0;
+        buffer2[0] |= 128;
+        buffer2[0] = (buffer2[0] & 240) + opcode;
+        buffer2[offset - 4] = maskKey[0];
+        buffer2[offset - 3] = maskKey[1];
+        buffer2[offset - 2] = maskKey[2];
+        buffer2[offset - 1] = maskKey[3];
+        buffer2[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer2.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer2[2] = buffer2[3] = 0;
+          buffer2.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer2[1] |= 128;
+        for (let i = 0; i < bodyLength; ++i) {
+          buffer2[offset + i] = frameData[i] ^ maskKey[i & 3];
+        }
+        return buffer2;
+      }
+    };
     module2.exports = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url, protocols, client, ws, onEstablish, options) {
+      const requestURL = url;
+      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        client,
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = getHeadersList(new Headers(options.headers));
+        request2.headersList = headersList;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto2.randomBytes(16).toString("base64");
+      request2.headersList.append("sec-websocket-key", keyValue);
+      request2.headersList.append("sec-websocket-version", "13");
+      for (const protocol of protocols) {
+        request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
-            }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
-          }
-        }
-        const responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher,
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
+            return;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
+          let extensions;
+          if (secExtension !== null) {
+            extensions = parseExtensions(secExtension);
+            if (!extensions.has("permessage-deflate")) {
+              failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match.");
+              return;
             }
-          }));
-          responsePromises.push(responsePromise.promise);
-        }
-        const p = Promise.all(responsePromises);
-        const responses = await p;
-        const operations = [];
-        let index = 0;
-        for (const response of responses) {
-          const operation = {
-            type: "put",
-            // 7.3.2
-            request: requestList[index],
-            // 7.3.3
-            response
-            // 7.3.4
-          };
-          operations.push(operation);
-          index++;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(void 0);
-          } else {
-            cacheJobPromise.reject(errorData);
           }
-        });
-        return cacheJobPromise.promise;
-      }
-      async put(request2, response) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
-        let innerRequest = null;
-        if (request2 instanceof Request) {
-          innerRequest = request2[kState];
-        } else {
-          innerRequest = new Request(request2)[kState];
-        }
-        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Got 206 status"
-          });
-        }
-        if (innerResponse.headersList.contains("vary")) {
-          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
-          for (const fieldValue of fieldValues) {
-            if (fieldValue === "*") {
-              throw webidl.errors.exception({
-                header: "Cache.put",
-                message: "Got * vary field value"
-              });
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null) {
+            const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList);
+            if (!requestProtocols.includes(secProtocol)) {
+              failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+              return;
             }
           }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response, extensions);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        const clonedResponse = cloneResponse(innerResponse);
-        const bodyReadPromise = createDeferredPromise();
-        if (innerResponse.body != null) {
-          const stream2 = innerResponse.body.stream;
-          const reader = stream2.getReader();
-          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+      });
+      return controller;
+    }
+    function closeWebSocketConnection(ws, code, reason, reasonByteLength) {
+      if (isClosing(ws) || isClosed(ws)) {
+      } else if (!isEstablished(ws)) {
+        failWebsocketConnection(ws, "Connection was closed before it was established.");
+        ws[kReadyState] = states.CLOSING;
+      } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) {
+        ws[kSentClose] = sentCloseFrameState.PROCESSING;
+        const frame = new WebsocketFrameSend();
+        if (code !== void 0 && reason === void 0) {
+          frame.frameData = Buffer.allocUnsafe(2);
+          frame.frameData.writeUInt16BE(code, 0);
+        } else if (code !== void 0 && reason !== void 0) {
+          frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+          frame.frameData.writeUInt16BE(code, 0);
+          frame.frameData.write(reason, 2, "utf-8");
         } else {
-          bodyReadPromise.resolve(void 0);
-        }
-        const operations = [];
-        const operation = {
-          type: "put",
-          // 14.
-          request: innerRequest,
-          // 15.
-          response: clonedResponse
-          // 16.
-        };
-        operations.push(operation);
-        const bytes = await bodyReadPromise.promise;
-        if (clonedResponse.body != null) {
-          clonedResponse.body.source = bytes;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 instanceof Request) {
-          r = request2[kState];
-          if (r.method !== "GET" && !options.ignoreMethod) {
-            return false;
-          }
-        } else {
-          assert(typeof request2 === "string");
-          r = new Request(request2)[kState];
-        }
-        const operations = [];
-        const operation = {
-          type: "delete",
-          request: r,
-          options
-        };
-        operations.push(operation);
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        let requestResponses;
-        try {
-          requestResponses = this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(!!requestResponses?.length);
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
+      }
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const { [kResponse]: response } = ws;
+      response.socket.off("data", onSocketData);
+      response.socket.off("close", onSocketClose);
+      response.socket.off("error", onSocketError);
+      const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result && !result.error) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kReceivedClose]) {
+        code = 1006;
+      }
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ Symbol("kLength");
+    var PerMessageDeflate = class {
+      /** @type {import('node:zlib').InflateRaw} */
+      #inflate;
+      #options = {};
+      constructor(extensions) {
+        this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
+        this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
+      }
+      decompress(chunk, fin, callback) {
+        if (!this.#inflate) {
+          let windowBits = Z_DEFAULT_WINDOWBITS;
+          if (this.#options.serverMaxWindowBits) {
+            if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
+              callback(new Error("Invalid server_max_window_bits"));
+              return;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
           }
+          this.#inflate = createInflateRaw({ windowBits });
+          this.#inflate[kBuffer] = [];
+          this.#inflate[kLength] = 0;
+          this.#inflate.on("data", (data) => {
+            this.#inflate[kBuffer].push(data);
+            this.#inflate[kLength] += data.length;
+          });
+          this.#inflate.on("error", (err) => {
+            this.#inflate = null;
+            callback(err);
+          });
         }
-        const promise = createDeferredPromise();
-        const requests = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            requests.push(requestResponse[0]);
-          }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            requests.push(requestResponse[0]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        this.#inflate.flush(() => {
+          const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
+          this.#inflate[kBuffer].length = 0;
+          this.#inflate[kLength] = 0;
+          callback(null, full);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
+    "use strict";
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #loop = false;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      /** @type {Map} */
+      #extensions;
+      constructor(ws, extensions) {
+        super();
+        this.ws = ws;
+        this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
+        if (this.#extensions.has("permessage-deflate")) {
+          this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #batchCacheOperations(operations) {
-        const cache = this.#relevantRequestResponseList;
-        const backupCache = [...cache];
-        const addedItems = [];
-        const resultList = [];
-        try {
-          for (const operation of operations) {
-            if (operation.type !== "delete" && operation.type !== "put") {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: 'operation type does not match "delete" or "put"'
-              });
+      _write(chunk, _, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        this.#loop = true;
+        this.run(callback);
+      }
+      /**
+       * Runs whenever a new chunk is received.
+       * Callback is called whenever there are no more chunks buffering,
+       * or not enough bytes are buffered to parse.
+       */
+      run(callback) {
+        while (this.#loop) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            const buffer = this.consume(2);
+            const fin = (buffer[0] & 128) !== 0;
+            const opcode = buffer[0] & 15;
+            const masked = (buffer[1] & 128) === 128;
+            const fragmented = !fin && opcode !== opcodes.CONTINUATION;
+            const payloadLength = buffer[1] & 127;
+            const rsv1 = buffer[0] & 64;
+            const rsv2 = buffer[0] & 32;
+            const rsv3 = buffer[0] & 16;
+            if (!isValidOpcode(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid opcode received");
+              return callback();
             }
-            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            let requestResponses;
-            if (operation.type === "delete") {
-              requestResponses = this.#queryCache(operation.request, operation.options);
-              if (requestResponses.length === 0) {
-                return [];
-              }
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-            } else if (operation.type === "put") {
-              if (operation.response == null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "put operation should have an associated response"
-                });
-              }
-              const r = operation.request;
-              if (!urlIsHttpHttpsScheme(r.url)) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "expected http or https scheme"
-                });
-              }
-              if (r.method !== "GET") {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "not get method"
-                });
-              }
-              if (operation.options != null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "options must not be defined"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.message.length);
+                    return;
+                  }
+                  this.#fragments.push(data);
+                  if (!this.#info.fin) {
+                    this.#state = parserStates.INFO;
+                    this.#loop = true;
+                    this.run(callback);
+                    return;
+                  }
+                  websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments));
+                  this.#loop = true;
+                  this.#state = parserStates.INFO;
+                  this.#fragments.length = 0;
+                  this.run(callback);
                 });
+                this.#loop = false;
+                break;
               }
-              requestResponses = this.#queryCache(operation.request);
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-              cache.push([operation.request, operation.response]);
-              addedItems.push([operation.request, operation.response]);
             }
-            resultList.push([operation.request, operation.response]);
           }
-          return resultList;
-        } catch (e) {
-          this.#relevantRequestResponseList.length = 0;
-          this.#relevantRequestResponseList = backupCache;
-          throw e;
         }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#query-cache
-       * @param {any} requestQuery
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @param {requestResponseList} targetStorage
-       * @returns {requestResponseList}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #queryCache(requestQuery, options, targetStorage) {
-        const resultList = [];
-        const storage = targetStorage ?? this.#relevantRequestResponseList;
-        for (const requestResponse of storage) {
-          const [cachedRequest, cachedResponse] = requestResponse;
-          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
-            resultList.push(requestResponse);
+      consume(n) {
+        if (n > this.#byteOffset) {
+          throw new Error("Called consume() before buffers satiated.");
+        } else if (n === 0) {
+          return emptyBuffer;
+        }
+        if (this.#buffers[0].length === n) {
+          this.#byteOffset -= this.#buffers[0].length;
+          return this.#buffers.shift();
+        }
+        const buffer = Buffer.allocUnsafe(n);
+        let offset = 0;
+        while (offset !== n) {
+          const next = this.#buffers[0];
+          const { length } = next;
+          if (length + offset === n) {
+            buffer.set(this.#buffers.shift(), offset);
+            break;
+          } else if (length + offset > n) {
+            buffer.set(next.subarray(0, n - offset), offset);
+            this.#buffers[0] = next.subarray(n - offset);
+            break;
+          } else {
+            buffer.set(this.#buffers.shift(), offset);
+            offset += next.length;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
-       * @param {any} requestQuery
-       * @param {any} request
-       * @param {any | null} response
-       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
-       * @returns {boolean}
-       */
-      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
-        const queryURL = new URL(requestQuery.url);
-        const cachedURL = new URL(request2.url);
-        if (options?.ignoreSearch) {
-          cachedURL.search = "";
-          queryURL.search = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        const fieldValues = getFieldValues(response.headersList.get("vary"));
-        for (const fieldValue of fieldValues) {
-          if (fieldValue === "*") {
-            return false;
-          }
-          const requestValue = request2.headersList.get(fieldValue);
-          const queryValue = requestQuery.headersList.get(fieldValue);
-          if (requestValue !== queryValue) {
-            return false;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    Object.defineProperties(Cache.prototype, {
-      [Symbol.toStringTag]: {
-        value: "Cache",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      matchAll: kEnumerableProperty,
-      add: kEnumerableProperty,
-      addAll: kEnumerableProperty,
-      put: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    var cacheQueryOptionConverters = [
-      {
-        key: "ignoreSearch",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreMethod",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreVary",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
-    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
-      ...cacheQueryOptionConverters,
-      {
-        key: "cacheName",
-        converter: webidl.converters.DOMString
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const cache = [];
-        this.#caches.set(cacheName, cache);
-        return new Cache(kConstruct, cache);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async delete(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    Object.defineProperties(CacheStorage.prototype, {
-      [Symbol.toStringTag]: {
-        value: "CacheStorage",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      has: kEnumerableProperty,
-      open: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    module2.exports = {
-      CacheStorage
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    var FastBuffer = Buffer[Symbol.species];
+    var SendQueue = class {
+      /**
+       * @type {FixedQueue}
+       */
+      #queue = new FixedQueue();
+      /**
+       * @type {boolean}
+       */
+      #running = false;
+      /** @type {import('node:net').Socket} */
+      #socket;
+      constructor(socket) {
+        this.#socket = socket;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      add(item, cb, hint) {
+        if (hint !== sendHints.blob) {
+          const frame = createFrame(item, hint);
+          if (!this.#running) {
+            this.#socket.write(frame, cb);
+          } else {
+            const node2 = {
+              promise: null,
+              callback: cb,
+              frame
+            };
+            this.#queue.push(node2);
+          }
+          return;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const node = {
+          promise: item.arrayBuffer().then((ab) => {
+            node.promise = null;
+            node.frame = createFrame(ab, hint);
+          }),
+          callback: cb,
+          frame: null
+        };
+        this.#queue.push(node);
+        if (!this.#running) {
+          this.#run();
         }
       }
-    }
-    function validateCookiePath(path8) {
-      for (const char of path8) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      async #run() {
+        this.#running = true;
+        const queue = this.#queue;
+        while (!queue.isEmpty()) {
+          const node = queue.shift();
+          if (node.promise !== null) {
+            await node.promise;
+          }
+          this.#socket.write(node.frame, node.callback);
+          node.callback = node.frame = null;
         }
+        this.#running = false;
       }
+    };
+    function createFrame(data, hint) {
+      return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY);
     }
-    function validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    function validateCookieMaxAge(maxAge) {
-      if (maxAge < 0) {
-        throw new Error("Invalid cookie max-age");
-      }
-    }
-    function stringify(cookie) {
-      if (cookie.name.length === 0) {
-        return null;
-      }
-      validateCookieName(cookie.name);
-      validateCookieValue(cookie.value);
-      const out = [`${cookie.name}=${cookie.value}`];
-      if (cookie.name.startsWith("__Secure-")) {
-        cookie.secure = true;
-      }
-      if (cookie.name.startsWith("__Host-")) {
-        cookie.secure = true;
-        cookie.domain = null;
-        cookie.path = "/";
-      }
-      if (cookie.secure) {
-        out.push("Secure");
-      }
-      if (cookie.httpOnly) {
-        out.push("HttpOnly");
-      }
-      if (typeof cookie.maxAge === "number") {
-        validateCookieMaxAge(cookie.maxAge);
-        out.push(`Max-Age=${cookie.maxAge}`);
-      }
-      if (cookie.domain) {
-        validateCookieDomain(cookie.domain);
-        out.push(`Domain=${cookie.domain}`);
-      }
-      if (cookie.path) {
-        validateCookiePath(cookie.path);
-        out.push(`Path=${cookie.path}`);
-      }
-      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
-        out.push(`Expires=${toIMFDate(cookie.expires)}`);
-      }
-      if (cookie.sameSite) {
-        out.push(`SameSite=${cookie.sameSite}`);
-      }
-      for (const part of cookie.unparsed) {
-        if (!part.includes("=")) {
-          throw new Error("Invalid unparsed");
-        }
-        const [key, ...value] = part.split("=");
-        out.push(`${key.trim()}=${value.join("=")}`);
+    function toBuffer(data, hint) {
+      switch (hint) {
+        case sendHints.string:
+          return Buffer.from(data);
+        case sendHints.arrayBuffer:
+        case sendHints.blob:
+          return new FastBuffer(data);
+        case sendHints.typedArray:
+          return new FastBuffer(data.buffer, data.byteOffset, data.byteLength);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } else {
-        nameValuePair = header;
-      }
-      if (!nameValuePair.includes("=")) {
-        value = nameValuePair;
-      } else {
-        const position = { position: 0 };
-        name = collectASequenceOfCodePointsFast(
-          "=",
-          nameValuePair,
-          position
-        );
-        value = nameValuePair.slice(position.position + 1);
-      }
-      name = name.trim();
-      value = value.trim();
-      if (name.length + value.length > maxNameValuePairSize) {
-        return null;
-      }
-      return {
-        name,
-        value,
-        ...parseUnparsedAttributes(unparsedAttributes)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
-      if (unparsedAttributes.length === 0) {
-        return cookieAttributeList;
-      }
-      assert(unparsedAttributes[0] === ";");
-      unparsedAttributes = unparsedAttributes.slice(1);
-      let cookieAv = "";
-      if (unparsedAttributes.includes(";")) {
-        cookieAv = collectASequenceOfCodePointsFast(
-          ";",
-          unparsedAttributes,
-          { position: 0 }
-        );
-        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
-      } else {
-        cookieAv = unparsedAttributes;
-        unparsedAttributes = "";
-      }
-      let attributeName = "";
-      let attributeValue = "";
-      if (cookieAv.includes("=")) {
-        const position = { position: 0 };
-        attributeName = collectASequenceOfCodePointsFast(
-          "=",
-          cookieAv,
-          position
-        );
-        attributeValue = cookieAv.slice(position.position + 1);
-      } else {
-        attributeName = cookieAv;
-      }
-      attributeName = attributeName.trim();
-      attributeValue = attributeValue.trim();
-      if (attributeValue.length > maxAttributeValueSize) {
-        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-      }
-      const attributeNameLowercase = attributeName.toLowerCase();
-      if (attributeNameLowercase === "expires") {
-        const expiryTime = new Date(attributeValue);
-        cookieAttributeList.expires = expiryTime;
-      } else if (attributeNameLowercase === "max-age") {
-        const charCode = attributeValue.charCodeAt(0);
-        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url, protocols = []) {
+        super();
+        webidl.util.markAsUncloneable(this);
+        const prefix = "WebSocket constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options");
+        url = webidl.converters.USVString(url, prefix, "url");
+        protocols = options.protocols;
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, baseURL);
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
         }
-        if (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        cookieAttributeList.path = cookiePath;
-      } else if (attributeNameLowercase === "secure") {
-        cookieAttributeList.secure = true;
-      } else if (attributeNameLowercase === "httponly") {
-        cookieAttributeList.httpOnly = true;
-      } else if (attributeNameLowercase === "samesite") {
-        let enforcement = "Default";
-        const attributeValueLowercase = attributeValue.toLowerCase();
-        if (attributeValueLowercase.includes("none")) {
-          enforcement = "None";
+        if (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      if (!cookie) {
-        return out;
-      }
-      for (const piece of cookie.split(";")) {
-        const [name, ...value] = piece.split("=");
-        out[name.trim()] = value.join("=");
-      }
-      return out;
-    }
-    function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookies = headers.getSetCookie();
-      if (!cookies) {
-        return [];
-      }
-      return cookies.map((pair) => parseSetCookie(pair));
-    }
-    function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        const client = environmentSettingsObject.settingsObject;
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          client,
+          this,
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
+        this[kBinaryType] = "blob";
       }
-    ]);
-    webidl.converters.Cookie = webidl.dictionaryConverter([
-      {
-        converter: webidl.converters.DOMString,
-        key: "name"
-      },
-      {
-        converter: webidl.converters.DOMString,
-        key: "value"
-      },
-      {
-        converter: webidl.nullableConverter((value) => {
-          if (typeof value === "number") {
-            return webidl.converters["unsigned long long"](value);
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
+       * @param {number|undefined} code
+       * @param {string|undefined} reason
+       */
+      close(code = void 0, reason = void 0) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.close";
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason, prefix, "reason");
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException("invalid code", "InvalidAccessError");
           }
-          return new Date(value);
-        }),
-        key: "expires",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters["long long"]),
-        key: "maxAge",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "secure",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "httpOnly",
-        defaultValue: null
-      },
-      {
-        converter: webidl.converters.USVString,
-        key: "sameSite",
-        allowedValues: ["Strict", "Lax", "None"]
-      },
-      {
-        converter: webidl.sequenceConverter(webidl.converters.DOMString),
-        key: "unparsed",
-        defaultValue: []
+        }
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
+          }
+        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
-    "use strict";
-    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    var states = {
-      CONNECTING: 0,
-      OPEN: 1,
-      CLOSING: 2,
-      CLOSED: 3
-    };
-    var opcodes = {
-      CONTINUATION: 0,
-      TEXT: 1,
-      BINARY: 2,
-      CLOSE: 8,
-      PING: 9,
-      PONG: 10
-    };
-    var maxUnsigned16Bit = 2 ** 16 - 1;
-    var parserStates = {
-      INFO: 0,
-      PAYLOADLENGTH_16: 2,
-      PAYLOADLENGTH_64: 3,
-      READ_DATA: 4
-    };
-    var emptyBuffer = Buffer.allocUnsafe(0);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.send";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        data = webidl.converters.WebSocketSendData(data, prefix, "data");
+        if (isConnecting(this)) {
+          throw new DOMException("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
+          return;
+        }
+        if (typeof data === "string") {
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
+        } else if (types.isArrayBuffer(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
+        } else if (ArrayBuffer.isView(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
+        } else if (isBlobLike(data)) {
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
+        }
       }
-      get data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      set onopen(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
+        }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
+        }
       }
-      get wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      set onerror(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
+        }
       }
-      get reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      set onclose(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.close) {
+          this.removeEventListener("close", this.#events.close);
+        }
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
+        }
       }
-      get message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      set onmessage(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
+        }
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
+        }
       }
-      get lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
+       */
+      #onConnectionEstablished(response, parsedExtensions) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this, parsedExtensions);
+        parser.on("drain", onParserDrain);
+        parser.on("error", onParserError.bind(this));
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this.#sendQueue = new SendQueue(response.socket);
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
+        }
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
     };
-    Object.defineProperties(MessageEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "MessageEvent",
-        configurable: true
-      },
-      data: kEnumerableProperty,
-      origin: kEnumerableProperty,
-      lastEventId: kEnumerableProperty,
-      source: kEnumerableProperty,
-      ports: kEnumerableProperty,
-      initMessageEvent: kEnumerableProperty
-    });
-    Object.defineProperties(CloseEvent.prototype, {
+    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
+    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
+    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
+    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
+    Object.defineProperties(WebSocket.prototype, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors,
+      url: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      bufferedAmount: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onclose: kEnumerableProperty,
+      close: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      binaryType: kEnumerableProperty,
+      send: kEnumerableProperty,
+      extensions: kEnumerableProperty,
+      protocol: kEnumerableProperty,
       [Symbol.toStringTag]: {
-        value: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         configurable: true
-      },
-      reason: kEnumerableProperty,
-      code: kEnumerableProperty,
-      wasClean: kEnumerableProperty
+      }
     });
-    Object.defineProperties(ErrorEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "ErrorEvent",
-        configurable: true
-      },
-      message: kEnumerableProperty,
-      filename: kEnumerableProperty,
-      lineno: kEnumerableProperty,
-      colno: kEnumerableProperty,
-      error: kEnumerableProperty
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    var eventInit = [
-      {
-        key: "bubbles",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "cancelable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "composed",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "data",
-        converter: webidl.converters.any,
-        defaultValue: null
-      },
-      {
-        key: "origin",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
-      {
-        key: "lastEventId",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "source",
-        // Node doesn't implement WindowProxy or ServiceWorker, so the only
-        // valid value for source is a MessagePort.
-        converter: webidl.nullableConverter(webidl.converters.MessagePort),
-        defaultValue: null
-      },
-      {
-        key: "ports",
-        converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "wasClean",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "code",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 0
-      },
-      {
-        key: "reason",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
+    webidl.converters["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    function isEstablished(ws) {
-      return ws[kReadyState] === states.OPEN;
-    }
-    function isClosing(ws) {
-      return ws[kReadyState] === states.CLOSING;
-    }
-    function isClosed(ws) {
-      return ws[kReadyState] === states.CLOSED;
-    }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { protocols: webidl.converters["DOMString or sequence"](V) };
+    };
+    webidl.converters.WebSocketSendData = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
         }
       }
-      return true;
-    }
-    function isValidStatusCode(code) {
-      if (code >= 1e3 && code < 1015) {
-        return code !== 1004 && // reserved
-        code !== 1005 && // "MUST NOT be set as a status code"
-        code !== 1006;
-      }
-      return code >= 3e3 && code <= 4999;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    function failWebsocketConnection(ws, reason) {
-      const { [kController]: controller, [kResponse]: response } = ws;
-      controller.abort();
-      if (response?.socket && !response.socket.destroyed) {
-        response.socket.destroy();
-      }
-      if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
-        });
+    function onParserError(err) {
+      let message;
+      let code;
+      if (err instanceof CloseEvent) {
+        message = err.reason;
+        code = err.code;
+      } else {
+        message = err.message;
       }
+      fireEvent("error", this, () => new ErrorEvent("error", { error: err, message }));
+      closeWebSocketConnection(this, code);
     }
     module2.exports = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
-      const requestURL = url;
-      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto2.randomBytes(16).toString("base64");
-      request2.headersList.append("sec-websocket-key", keyValue);
-      request2.headersList.append("sec-websocket-version", "13");
-      for (const protocol of protocols) {
-        request2.headersList.append("sec-websocket-protocol", protocol);
-      }
-      const permessageDeflate = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
-            return;
-          }
-          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
-            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
-            return;
-          }
-          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
-            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
-            return;
-          }
-          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
-          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
-          if (secWSAccept !== digest) {
-            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
-            return;
-          }
-          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    function isASCIINumber(value) {
+      if (value.length === 0) return false;
+      for (let i = 0; i < value.length; i++) {
+        if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false;
       }
+      return true;
     }
-    function onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay2(ms) {
+      return new Promise((resolve4) => {
+        setTimeout(resolve4, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.frameData?.byteLength ?? 0;
-        let payloadLength = bodyLength;
-        let offset = 6;
-        if (bodyLength > maxUnsigned16Bit) {
-          offset += 8;
-          payloadLength = 127;
-        } else if (bodyLength > 125) {
-          offset += 2;
-          payloadLength = 126;
-        }
-        const buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      checkBOM = true;
+      /**
+       * @type {boolean}
+       */
+      crlfCheck = false;
+      /**
+       * @type {boolean}
+       */
+      eventEndCheck = false;
+      /**
+       * @type {Buffer}
+       */
+      buffer = null;
+      pos = 0;
+      event = {
+        data: void 0,
+        event: void 0,
+        id: void 0,
+        retry: void 0
+      };
+      /**
+       * @param {object} options
+       * @param {eventSourceSettings} options.eventSourceSettings
+       * @param {Function} [options.push]
+       */
+      constructor(options = {}) {
+        options.readableObjectMode = true;
+        super(options);
+        this.state = options.eventSourceSettings || {};
+        if (options.push) {
+          this.push = options.push;
+        }
       }
       /**
-       * Runs whenever a new chunk is received.
-       * Callback is called whenever there are no more chunks buffering,
-       * or not enough bytes are buffered to parse.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            if (payloadLength <= 125) {
-              this.#info.payloadLength = payloadLength;
-              this.#state = parserStates.READ_DATA;
-            } else if (payloadLength === 126) {
-              this.#state = parserStates.PAYLOADLENGTH_16;
-            } else if (payloadLength === 127) {
-              this.#state = parserStates.PAYLOADLENGTH_64;
-            }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _transform(chunk, _encoding, callback) {
+        if (chunk.length === 0) {
+          callback();
+          return;
+        }
+        if (this.buffer) {
+          this.buffer = Buffer.concat([this.buffer, chunk]);
+        } else {
+          this.buffer = chunk;
+        }
+        if (this.checkBOM) {
+          switch (this.buffer.length) {
+            case 1:
+              if (this.buffer[0] === BOM[0]) {
+                callback();
                 return;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              this.checkBOM = false;
+              break;
+            case 3:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = Buffer.alloc(0);
+                this.checkBOM = false;
                 callback();
                 return;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              this.checkBOM = false;
+              break;
+            default:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = this.buffer.subarray(3);
               }
-              if (this.#byteOffset > 0) {
+              this.checkBOM = false;
+              break;
+          }
+        }
+        while (this.pos < this.buffer.length) {
+          if (this.eventEndCheck) {
+            if (this.crlfCheck) {
+              if (this.buffer[this.pos] === LF) {
+                this.buffer = this.buffer.subarray(this.pos + 1);
+                this.pos = 0;
+                this.crlfCheck = false;
                 continue;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.payloadLength = buffer.readUInt16BE(0);
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
-            if (this.#byteOffset < 8) {
-              return callback();
-            }
-            const buffer = this.consume(8);
-            const upper = buffer.readUInt32BE(0);
-            if (upper > 2 ** 31 - 1) {
-              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
-              return;
-            }
-            const lower = buffer.readUInt32BE(4);
-            this.#info.payloadLength = (upper << 8) + lower;
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.READ_DATA) {
-            if (this.#byteOffset < this.#info.payloadLength) {
-              return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              this.buffer = this.buffer.subarray(this.pos + 1);
+              this.pos = 0;
+              if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) {
+                this.processEvent(this.event);
+              }
+              this.clearEvent();
+              continue;
             }
+            this.eventEndCheck = false;
+            continue;
           }
-          if (this.#byteOffset > 0) {
+          if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+            if (this.buffer[this.pos] === CR) {
+              this.crlfCheck = true;
+            }
+            this.parseLine(this.buffer.subarray(0, this.pos), this.event);
+            this.buffer = this.buffer.subarray(this.pos + 1);
+            this.pos = 0;
+            this.eventEndCheck = true;
             continue;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        const buffer = Buffer.allocUnsafe(n);
-        let offset = 0;
-        while (offset !== n) {
-          const next = this.#buffers[0];
-          const { length } = next;
-          if (length + offset === n) {
-            buffer.set(this.#buffers.shift(), offset);
+        let field = "";
+        let value = "";
+        if (colonPosition !== -1) {
+          field = line.subarray(0, colonPosition).toString("utf8");
+          let valueStart = colonPosition + 1;
+          if (line[valueStart] === SPACE) {
+            ++valueStart;
+          }
+          value = line.subarray(valueStart).toString("utf8");
+        } else {
+          field = line.toString("utf8");
+          value = "";
+        }
+        switch (field) {
+          case "data":
+            if (event[field] === void 0) {
+              event[field] = value;
+            } else {
+              event[field] += `
+${value}`;
+            }
             break;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          case "retry":
+            if (isASCIINumber(value)) {
+              event[field] = value;
+            }
+            break;
+          case "id":
+            if (isValidLastEventId(value)) {
+              event[field] = value;
+            }
+            break;
+          case "event":
+            if (value.length > 0) {
+              event[field] = value;
+            }
             break;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    var defaultReconnectionTime = 3e3;
+    var CONNECTING = 0;
+    var OPEN = 1;
+    var CLOSED = 2;
+    var ANONYMOUS = "anonymous";
+    var USE_CREDENTIALS = "use-credentials";
+    var EventSource = class _EventSource extends EventTarget {
       #events = {
         open: null,
         error: null,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #url = null;
+      #withCredentials = false;
+      #readyState = CONNECTING;
+      #request = null;
+      #controller = null;
+      #dispatcher;
+      /**
+       * @type {import('./eventsource-stream').eventSourceSettings}
+       */
+      #state;
       /**
+       * Creates a new EventSource object.
        * @param {string} url
-       * @param {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url, protocols = []) {
+      constructor(url, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        url = webidl.converters.USVString(url, prefix, "url");
+        eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
+        this.#dispatcher = eventSourceInitDict.dispatcher;
+        this.#state = {
+          lastEventId: "",
+          reconnectionTime: defaultReconnectionTime
+        };
+        const settings = environmentSettingsObject;
         let urlRecord;
         try {
-          urlRecord = new URL(url, baseURL);
+          urlRecord = new URL(url, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
-        }
-        if (urlRecord.protocol === "http:") {
-          urlRecord.protocol = "ws:";
-        } else if (urlRecord.protocol === "https:") {
-          urlRecord.protocol = "wss:";
-        }
-        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        const initRequest = {
+          redirect: "follow",
+          keepalive: true,
+          // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
+          mode: "cors",
+          credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
+          referrer: "no-referrer"
+        };
+        initRequest.client = environmentSettingsObject.settingsObject;
+        initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
+        initRequest.cache = "no-store";
+        initRequest.initiator = "other";
+        initRequest.urlList = [new URL(this.#url)];
+        this.#request = makeRequest(initRequest);
+        this.#connect();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      get readyState() {
+        return this.#readyState;
+      }
+      /**
+       * Returns the URL providing the event stream.
+       * @readonly
+       * @returns {string}
+       */
+      get url() {
+        return this.#url;
+      }
+      /**
+       * Returns a boolean indicating whether the EventSource object was
+       * instantiated with CORS credentials set (true), or not (false, the default).
+       */
+      get withCredentials() {
+        return this.#withCredentials;
+      }
+      #connect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        const fetchParams = {
+          request: this.#request,
+          dispatcher: this.#dispatcher
+        };
+        const processEventSourceEndOfBody = (response) => {
+          if (isNetworkError(response)) {
+            this.dispatchEvent(new Event("error"));
+            this.close();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          this.#reconnect();
+        };
+        fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
+        fetchParams.processResponse = (response) => {
+          if (isNetworkError(response)) {
+            if (response.aborted) {
+              this.close();
+              this.dispatchEvent(new Event("error"));
+              return;
+            } else {
+              this.#reconnect();
+              return;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          const frame = new WebsocketFrameSend();
-          if (code !== void 0 && reason === void 0) {
-            frame.frameData = Buffer.allocUnsafe(2);
-            frame.frameData.writeUInt16BE(code, 0);
-          } else if (code !== void 0 && reason !== void 0) {
-            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
-            frame.frameData.writeUInt16BE(code, 0);
-            frame.frameData.write(reason, 2, "utf-8");
-          } else {
-            frame.frameData = emptyBuffer;
+          const contentType = response.headersList.get("content-type", true);
+          const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
+          const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
+          if (response.status !== 200 || contentTypeValid === false) {
+            this.close();
+            this.dispatchEvent(new Event("error"));
+            return;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          this.#readyState = OPEN;
+          this.dispatchEvent(new Event("open"));
+          this.#state.origin = response.urlList[response.urlList.length - 1].origin;
+          const eventSourceStream = new EventSourceStream({
+            eventSourceSettings: this.#state,
+            push: (event) => {
+              this.dispatchEvent(createFastMessageEvent(
+                event.type,
+                event.options
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(this.#state.reconnectionTime);
+        if (this.#readyState !== CONNECTING) return;
+        if (this.#state.lastEventId.length) {
+          this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
         }
+        this.#connect();
       }
-      get readyState() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kReadyState];
-      }
-      get bufferedAmount() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#bufferedAmount;
-      }
-      get url() {
-        webidl.brandCheck(this, _WebSocket);
-        return URLSerializer(this[kWebSocketURL]);
-      }
-      get extensions() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#extensions;
-      }
-      get protocol() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#protocol;
+      /**
+       * Closes the connection, if any, and sets the readyState attribute to
+       * CLOSED.
+       */
+      close() {
+        webidl.brandCheck(this, _EventSource);
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CLOSED;
+        this.#controller.abort();
+        this.#request = null;
       }
       get onopen() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.open;
       }
       set onopen(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.open) {
           this.removeEventListener("open", this.#events.open);
         }
@@ -37998,44 +39575,10 @@ var require_websocket2 = __commonJS({
           this.#events.open = null;
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.error) {
-          this.removeEventListener("error", this.#events.error);
-        }
-        if (typeof fn === "function") {
-          this.#events.error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this.#events.error = null;
-        }
-      }
-      get onclose() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.close;
-      }
-      set onclose(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.close) {
-          this.removeEventListener("close", this.#events.close);
-        }
-        if (typeof fn === "function") {
-          this.#events.close = fn;
-          this.addEventListener("close", fn);
-        } else {
-          this.#events.close = null;
-        }
-      }
       get onmessage() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.message;
       }
       set onmessage(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.message) {
           this.removeEventListener("message", this.#events.message);
         }
@@ -38046,137 +39589,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      set onerror(fn) {
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
         } else {
-          this[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    var constantsPropertyDescriptors = {
+      CONNECTING: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CONNECTING,
+        writable: false
+      },
+      OPEN: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: OPEN,
+        writable: false
+      },
+      CLOSED: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CLOSED,
+        writable: false
       }
     };
-    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
-    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
-    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
-    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
-    Object.defineProperties(WebSocket.prototype, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors,
-      url: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      bufferedAmount: kEnumerableProperty,
-      onopen: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onclose: kEnumerableProperty,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: kEnumerableProperty,
       onmessage: kEnumerableProperty,
-      binaryType: kEnumerableProperty,
-      send: kEnumerableProperty,
-      extensions: kEnumerableProperty,
-      protocol: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "WebSocket",
-        writable: false,
-        enumerable: false,
-        configurable: true
-      }
-    });
-    Object.defineProperties(WebSocket, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
-        return webidl.converters.WebSocketInit(V);
-      }
-      return { protocols: webidl.converters["DOMString or sequence"](V) };
-    };
-    webidl.converters.WebSocketSendData = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     module2.exports.BalancedPool = BalancedPool;
     module2.exports.Agent = Agent;
     module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
+    module2.exports.RetryAgent = RetryAgent;
     module2.exports.RetryHandler = RetryHandler;
     module2.exports.DecoratorHandler = DecoratorHandler;
     module2.exports.RedirectHandler = RedirectHandler;
     module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.interceptors = {
+      redirect: require_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     module2.exports.buildConnector = buildConnector;
     module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
     function makeDispatcher(fn) {
       return (url, opts, handler2) => {
         if (typeof opts === "function") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().fetch;
+    module2.exports.fetch = async function fetch(init, options = void 0) {
+      try {
+        return await fetchImpl(init, options);
+      } catch (err) {
+        if (err && typeof err === "object") {
+          Error.captureStackTrace(err);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().WebSocket;
+    module2.exports.CloseEvent = CloseEvent;
+    module2.exports.ErrorEvent = ErrorEvent;
+    module2.exports.MessageEvent = MessageEvent;
     module2.exports.request = makeDispatcher(api.request);
     module2.exports.stream = makeDispatcher(api.stream);
     module2.exports.pipeline = makeDispatcher(api.pipeline);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44493,7 +45986,7 @@ var require_package = __commonJS({
   "package.json"(exports2, module2) {
     module2.exports = {
       name: "codeql",
-      version: "4.32.1",
+      version: "4.32.2",
       private: true,
       description: "CodeQL action",
       scripts: {
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -53757,7 +55250,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -53880,7 +55373,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url, options);
@@ -58578,7 +60071,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -58833,7 +60326,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -58947,7 +60440,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -58994,7 +60487,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -59034,7 +60527,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -95115,7 +96608,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -95192,7 +96685,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -102021,7 +103514,7 @@ function wrapApiConfigurationError(e) {
     ].some((pattern) => pattern.test(httpError.message))) {
       return new ConfigurationError(httpError.message);
     }
-    if (httpError.message.includes("Bad credentials") || httpError.message.includes("Not Found")) {
+    if (httpError.message.includes("Bad credentials") || httpError.message.includes("Not Found") || httpError.message.includes("Requires authentication")) {
       return new ConfigurationError(
         "Please check that your token is valid and has the required permissions: contents: read, security-events: write"
       );
@@ -102044,8 +103537,8 @@ var path4 = __toESM(require("path"));
 var semver4 = __toESM(require_semver2());
 
 // src/defaults.json
-var bundleVersion = "codeql-bundle-v2.24.0";
-var cliVersion = "2.24.0";
+var bundleVersion = "codeql-bundle-v2.24.1";
+var cliVersion = "2.24.1";
 
 // src/overlay-database-utils.ts
 var fs3 = __toESM(require("fs"));
@@ -104978,11 +106471,11 @@ void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/start-proxy-action-post.js b/lib/start-proxy-action-post.js
index 5406e721c8..a190c09f13 100644
--- a/lib/start-proxy-action-post.js
+++ b/lib/start-proxy-action-post.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT");
+    var AbortError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+        this.message = message || "The operation was aborted";
+        this.code = "UND_ERR_ABORT";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
+    };
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         this.name = "InformationalError";
         this.message = message || "Request information";
         this.code = "UND_ERR_INFO";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInformationalError] === true;
+      }
+      [kInformationalError] = true;
     };
-    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE");
+    var ResponseError = class extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        this.name = "ResponseError";
+        this.message = message || "Response error";
+        this.code = "UND_ERR_RESPONSE";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseError] === true;
+      }
+      [kResponseError] = true;
+    };
+    var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS");
+    var SecureProxyConnectionError = class extends UndiciError {
+      constructor(cause, message, options) {
+        super(message, { cause, ...options ?? {} });
+        this.name = "SecureProxyConnectionError";
+        this.message = message || "Secure Proxy Connection failed";
+        this.code = "UND_ERR_PRX_TLS";
+        this.cause = cause;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSecureProxyConnectionError] === true;
+      }
+      [kSecureProxyConnectionError] = true;
     };
     module2.exports = {
+      AbortError,
       HTTPParserError,
       UndiciError,
       HeadersTimeoutError,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              node.middle = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.code < code) {
+            if (node.left !== null) {
+              node = node.left;
+            } else {
+              node.left = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.right !== null) {
+            node = node.right;
+          } else {
+            node.right = new _TstNode(key, value, index);
+            break;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    var TernarySearchTree = class {
+      /** @type {TstNode | null} */
+      node = null;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * */
+      insert(key, value) {
+        if (this.node === null) {
+          this.node = new TstNode(key, value, 0);
+        } else {
+          this.node.add(key, value);
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {any}
+       */
+      lookup(key) {
+        return this.node?.search(key)?.value ?? null;
+      }
+    };
+    var tree = new TernarySearchTree();
+    for (let i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]];
+      tree.insert(key, key);
+    }
+    module2.exports = {
+      TernarySearchTree,
+      tree
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream = require("node:stream");
+    var net = require("node:net");
+    var { Blob: Blob2 } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var { stringify } = require("node:querystring");
+    var { EventEmitter: EE } = require("node:events");
     var { InvalidArgumentError } = require_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      if (object === null) {
+        return false;
+      } else if (object instanceof Blob2) {
+        return true;
+      } else if (typeof object !== "object") {
+        return false;
+      } else {
+        const sTag = object[Symbol.toStringTag];
+        return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function");
+      }
     }
     function buildURL(url, queryParams) {
       if (url.includes("?") || url.includes("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       return url;
     }
+    function isValidPort(port) {
+      const value = parseInt(port, 10);
+      return value === Number(port) && value >= 0 && value <= 65535;
+    }
+    function isHttpOrHttpsPrefixed(value) {
+      return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
+    }
     function parseURL(url) {
       if (typeof url === "string") {
         url = new URL(url);
-        if (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         if (url.origin != null && typeof url.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
-        let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
+        let origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
         let path4 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path4 && !path4.startsWith("/")) {
+        if (path4 && path4[0] !== "/") {
           path4 = `/${path4}`;
         }
-        url = new URL(origin + path4);
+        return new URL(`${origin}${path4}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream2) {
-      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
-    }
-    function isReadableAborted(stream2) {
-      const state = stream2 && stream2._readableState;
-      return isDestroyed(stream2) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body));
     }
     function destroy(stream2, err) {
       if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream2.destroy(err);
       } else if (err) {
-        process.nextTick((stream3, err2) => {
-          stream3.emit("error", err2);
-        }, stream2, err);
+        queueMicrotask(() => {
+          stream2.emit("error", err);
+        });
       }
       if (stream2.destroyed !== true) {
         stream2[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        if (val) {
+          if (typeof val === "string") {
             val = [val];
             obj[key] = val;
           }
           val.push(headers[i + 1].toString("utf8"));
+        } else {
+          const headersValue = headers[i + 1];
+          if (typeof headersValue === "string") {
+            obj[key] = headersValue;
+          } else {
+            obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      const len = headers.length;
+      const ret = new Array(len);
       let hasContentLength = false;
       let contentDispositionIdx = -1;
+      let key;
+      let val;
+      let kLen = 0;
       for (let n = 0; n < headers.length; n += 2) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        key = headers[n];
+        val = headers[n + 1];
+        typeof key !== "string" && (key = key.toString());
+        typeof val !== "string" && (val = val.toString("utf8"));
+        kLen = key.length;
+        if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) {
           hasContentLength = true;
-        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          type: "bytes"
+        }
       );
     }
     function isFormDataLike(object) {
       return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
     }
-    function throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.toUSVString(val);
+      return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val);
+    }
+    function isUSVString(val) {
+      return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`;
+    }
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
       }
-      return `${val}`;
+    }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    function isValidHeaderValue(characters) {
+      return !headerCharRegex.test(characters);
     }
     function parseRangeHeader(range) {
       if (range == null || range === "") return { start: 0, end: null, size: null };
@@ -22290,8 +22632,49 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
     var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
     kEnumerableProperty.enumerable = true;
+    var normalizedMethodRecordsBase = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    var normalizedMethodRecords = {
+      ...normalizedMethodRecordsBase,
+      patch: "patch",
+      PATCH: "PATCH"
+    };
+    Object.setPrototypeOf(normalizedMethodRecordsBase, null);
+    Object.setPrototypeOf(normalizedMethodRecords, null);
     module2.exports = {
       kEnumerableProperty,
       nop,
@@ -22299,7 +22682,7 @@ var require_util9 = __commonJS({
       isErrored,
       isReadable,
       toUSVString,
-      isReadableAborted,
+      isUSVString,
       isBlobLike,
       parseOrigin,
       parseURL,
@@ -22309,6 +22692,10 @@ var require_util9 = __commonJS({
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,2519 +22708,2736 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
+    var diagnosticsChannel = require("node:diagnostics_channel");
+    var util = require("node:util");
+    var undiciDebugLog = util.debuglog("undici");
+    var fetchDebuglog = util.debuglog("fetch");
+    var websocketDebuglog = util.debuglog("websocket");
+    var isClientSet = false;
+    var channels = {
+      // Client
+      beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
+      connected: diagnosticsChannel.channel("undici:client:connected"),
+      connectError: diagnosticsChannel.channel("undici:client:connectError"),
+      sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
+      // Request
+      create: diagnosticsChannel.channel("undici:request:create"),
+      bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
+      headers: diagnosticsChannel.channel("undici:request:headers"),
+      trailers: diagnosticsChannel.channel("undici:request:trailers"),
+      error: diagnosticsChannel.channel("undici:request:error"),
+      // WebSocket
+      open: diagnosticsChannel.channel("undici:websocket:open"),
+      close: diagnosticsChannel.channel("undici:websocket:close"),
+      socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
+      ping: diagnosticsChannel.channel("undici:websocket:ping"),
+      pong: diagnosticsChannel.channel("undici:websocket:pong")
+    };
+    if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
+      const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog;
+      diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connecting to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connected to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host },
+          error: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path4, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path4);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path4, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path4,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path4, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path4);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path4, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path4,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
+    if (websocketDebuglog.enabled) {
+      if (!isClientSet) {
+        const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog;
+        diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connecting to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connected to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host },
+            error: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path4, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path4);
+        });
       }
+      diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => {
+        const {
+          address: { address, port }
+        } = evt;
+        websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : "");
+      });
+      diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => {
+        const { websocket, code, reason } = evt;
+        websocketDebuglog(
+          "closed connection to %s - %s %s",
+          websocket.url,
+          code,
+          reason
+        );
+      });
+      diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => {
+        websocketDebuglog("connection errored - %s", err.message);
+      });
+      diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => {
+        websocketDebuglog("ping received");
+      });
+      diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => {
+        websocketDebuglog("pong received");
+      });
     }
-    var Timeout = class {
-      constructor(callback, delay, opaque) {
-        this.callback = callback;
-        this.delay = delay;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
     module2.exports = {
-      setTimeout(callback, delay, opaque) {
-        return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
-    }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
-          );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path4,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path4 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path4[0] !== "/" && !(path4.startsWith("http://") || path4.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path4)) {
+          throw new InvalidArgumentError("invalid request path");
+        }
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
+          throw new InvalidArgumentError("invalid request method");
+        }
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
+        }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
+        }
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
+        }
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
+        }
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
+        }
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
+          }
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path4, query) : path4;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
+          }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
+          }
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
+          }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
       }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
+        }
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
+        } else {
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
+        }
       }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        }
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
+        }
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
           return false;
         }
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
-    }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
       }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
+        }
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
+        }
       }
-      return limits[name];
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        if (isMatch) {
-          self2._finish();
+        if (this.aborted) {
+          return;
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
+        this.aborted = true;
+        return this[kHandler].onError(error3);
       }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
+        }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
+        }
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
     };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
+    function processHeader(request2, key, val) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
         return;
       }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
+            }
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
+          } else {
+            arr.push(`${val[i]}`);
           }
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+      } else if (val === null) {
+        val = "";
+      } else {
+        val = `${val}`;
+      }
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
+        }
+        request2.host = val;
+      } else if (request2.contentLength === null && headerName === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
+        }
+      } else if (request2.contentType === null && headerName === "content-type") {
+        request2.contentType = val;
+        request2.headers.push(key, val);
+      } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
+        throw new InvalidArgumentError(`invalid ${headerName} header`);
+      } else if (headerName === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
         }
+        if (value === "close") {
+          request2.reset = true;
+        }
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
+      } else {
+        request2.headers.push(key, val);
       }
-    };
-    module2.exports = HeaderParser;
+    }
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
+      }
+      close() {
+        throw new Error("not implemented");
+      }
+      destroy() {
+        throw new Error("not implemented");
+      }
+      compose(...args) {
+        const interceptors = Array.isArray(args[0]) ? args[0] : args;
+        let dispatch = this.dispatch.bind(this);
+        for (const interceptor of interceptors) {
+          if (interceptor == null) {
+            continue;
+          }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
+          }
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
+          }
+        }
+        return new ComposedDispatcher(this, dispatch);
+      }
     };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
+      dispatch(...args) {
+        this.#dispatch(...args);
       }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
+      close(...args) {
+        return this.#dispatcher.close(...args);
       }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
-        }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
     };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
-          }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
-        } else {
-          return cb();
-        }
+    module2.exports = Dispatcher;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
+      get destroyed() {
+        return this[kDestroyed];
       }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
+      get closed() {
+        return this[kClosed];
       }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
+      get interceptors() {
+        return this[kInterceptors];
       }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
             }
-            this._dashes = 0;
-            break;
           }
         }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve3, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve3(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+          return;
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+          return;
+        }
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
           }
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
+        });
+      }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
         }
-        if (this._dashes) {
+        if (callback === void 0) {
+          return new Promise((resolve3, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve3(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-      }
-      if (this._justMatched) {
-        this._justMatched = false;
-      }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
+        if (!err) {
+          err = new ClientDestroyedError();
+        }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
         };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
+        });
+      }
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
         }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
         }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
       }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
+        }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
           }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
           }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+          if (this[kClosed]) {
+            throw new ClientClosedError();
           }
-        }
-      }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
-        } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
           }
+          handler2.onError(err);
+          return false;
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
-      }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
       }
     };
-    module2.exports = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer");
+    var fastTimers = [];
+    var NOT_IN_LIST = -2;
+    var TO_BE_CLEARED = -1;
+    var PENDING = 0;
+    var ACTIVE = 1;
+    function onTick() {
+      fastNow += TICK_MS;
+      let idx = 0;
+      let len = fastTimers.length;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer._state === PENDING) {
+          timer._idleStart = fastNow - TICK_MS;
+          timer._state = ACTIVE;
+        } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
+          timer._state = TO_BE_CLEARED;
+          timer._idleStart = -1;
+          timer._onTimeout(timer._timerArg);
+        }
+        if (timer._state === TO_BE_CLEARED) {
+          timer._state = NOT_IN_LIST;
+          if (--len !== 0) {
+            fastTimers[idx] = fastTimers[len];
+          }
+        } else {
+          ++idx;
         }
       }
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
+      }
     }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
         }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+    }
+    var FastTimer = class {
+      [kFastTimer] = true;
+      /**
+       * The state of the timer, which can be one of the following:
+       * - NOT_IN_LIST (-2)
+       * - TO_BE_CLEARED (-1)
+       * - PENDING (0)
+       * - ACTIVE (1)
+       *
+       * @type {-2|-1|0|1}
+       * @private
+       */
+      _state = NOT_IN_LIST;
+      /**
+       * The number of milliseconds to wait before calling the callback.
+       *
+       * @type {number}
+       * @private
+       */
+      _idleTimeout = -1;
+      /**
+       * The time in milliseconds when the timer was started. This value is used to
+       * calculate when the timer should expire.
+       *
+       * @type {number}
+       * @default -1
+       * @private
+       */
+      _idleStart = -1;
+      /**
+       * The function to be executed when the timer expires.
+       * @type {Function}
+       * @private
+       */
+      _onTimeout;
+      /**
+       * The argument to be passed to the callback when the timer expires.
+       *
+       * @type {*}
+       * @private
+       */
+      _timerArg;
+      /**
+       * @constructor
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should wait
+       * before the specified function or code is executed.
+       * @param {*} arg
+       */
+      constructor(callback, delay, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay;
+        this._timerArg = arg;
+        this.refresh();
+      }
+      /**
+       * Sets the timer's start time to the current time, and reschedules the timer
+       * to call its callback at the previously specified duration adjusted to the
+       * current time.
+       * Using this on a timer that has already called its callback will reactivate
+       * the timer.
+       *
+       * @returns {void}
+       */
+      refresh() {
+        if (this._state === NOT_IN_LIST) {
+          fastTimers.push(this);
         }
-        if (typeof data === "string") {
-          return data;
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
         }
-        return data.latin1Slice(0, data.length);
+        this._state = PENDING;
+      }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
+    module2.exports = {
+      /**
+       * The setTimeout() method sets a timer which executes a function once the
+       * timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {NodeJS.Timeout|FastTimer}
+       */
+      setTimeout(callback, delay, arg) {
+        return delay <= RESOLUTION_MS ? setTimeout(callback, delay, arg) : new FastTimer(callback, delay, arg);
       },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      /**
+       * The clearTimeout method cancels an instantiated Timer previously created
+       * by calling setTimeout.
+       *
+       * @param {NodeJS.Timeout|FastTimer} timeout
+       */
+      clearTimeout(timeout) {
+        if (timeout[kFastTimer]) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
         }
-        return data.ucs2Slice(0, data.length);
       },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      /**
+       * The setFastTimeout() method sets a fastTimer which executes a function once
+       * the timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {FastTimer}
+       */
+      setFastTimeout(callback, delay, arg) {
+        return new FastTimer(callback, delay, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated FastTimer previously
+       * created by calling setFastTimeout.
+       *
+       * @param {FastTimer} timeout
+       */
+      clearFastTimeout(timeout) {
+        timeout.clear();
+      },
+      /**
+       * The now method returns the value of the internal fast timer clock.
+       *
+       * @returns {number}
+       */
+      now() {
+        return fastNow;
+      },
+      /**
+       * Trigger the onTick function to process the fastTimers array.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       * @param {number} [delay=0] The delay in milliseconds to add to the now value.
+       */
+      tick(delay = 0) {
+        fastNow += delay - RESOLUTION_MS + 1;
+        onTick();
+        onTick();
+      },
+      /**
+       * Reset FastTimers.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      reset() {
+        fastNow = 0;
+        fastTimers.length = 0;
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = null;
+      },
+      /**
+       * Exporting for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      kFastTimer
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
+    "use strict";
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
+    }
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
+          this._sessionCache.set(sessionKey, session);
         }
-        return typeof data === "string" ? data : data.toString();
+      };
+    }
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+      }
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("node:tls");
+          }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          assert(sessionKey);
+          const session = customSession || sessionCache.get(sessionKey) || null;
+          port = port || 443;
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          port = port || 80;
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port,
+            host: hostname
+          });
+        }
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
+        }
+        const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port });
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
+          }
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
+          }
+        });
+        return socket;
+      };
+    }
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
+      }
+      let s1 = null;
+      let s2 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    } : (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
+      let s1 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          onConnectTimeout(socketWeakRef.deref(), opts);
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+      };
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
+        return;
       }
-      return text;
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
+      }
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    module2.exports = decodeText;
+    module2.exports = buildConnector;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
     "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
-            }
-            continue;
-          } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
-          }
-        }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-      } else {
-        res[p][1] = tmp;
-      }
+      });
       return res;
     }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename2(path4) {
-      if (typeof path4 !== "string") {
-        return "";
-      }
-      for (var i = path4.length - 1; i >= 0; --i) {
-        switch (path4.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path4 = path4.slice(i + 1);
-            return path4 === ".." || path4 === "." ? "" : path4;
-        }
-      }
-      return path4 === ".." || path4 === "." ? "" : path4;
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    var { Readable } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename2 = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
-        }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
-        }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
-        }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename2(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
-      } else {
-        this._needDrain = !r;
-        this._cb = cb;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
       }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
     };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
-      }
+    exports2.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
     };
-    function skipPart(part) {
-      part.resume();
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
     }
-    function FileStream(opts) {
-      Readable.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
     }
-    inherits(FileStream, Readable);
-    FileStream.prototype._read = function(n) {
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
     };
-    module2.exports = Multipart;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDsYBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHyAhIyUmKCorLC8wMTIzNDU2Nzk6Ozw9lANAQkRFRklLTk9QUVJTVFVWWFpbXF1eX2BhYmNkZWZnaGpsb3Bxc3V2eHl6e3x/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcsBzAHNAc4BzwGKA4kDiAOHA4QDgwOAA/sC+gL5AvgC9wL0AvMC8gLLAsECsALZAQsgASAERw3wAkHdASEDDLMDCyABIARHDcgBQcMBIQMMsgMLIAEgBEcNe0H3ACEDDLEDCyABIARHDXBB7wAhAwywAwsgASAERw1pQeoAIQMMrwMLIAEgBEcNZUHoACEDDK4DCyABIARHDWJB5gAhAwytAwsgASAERw0aQRghAwysAwsgASAERw0VQRIhAwyrAwsgASAERw1CQcUAIQMMqgMLIAEgBEcNNEE/IQMMqQMLIAEgBEcNMkE8IQMMqAMLIAEgBEcNK0ExIQMMpwMLIAItAC5BAUYNnwMMwQILQQAhAAJAAkACQCACLQAqRQ0AIAItACtFDQAgAi8BMCIDQQJxRQ0BDAILIAIvATAiA0EBcUUNAQtBASEAIAItAChBAUYNACACLwEyIgVB5ABrQeQASQ0AIAVBzAFGDQAgBUGwAkYNACADQcAAcQ0AQQAhACADQYgEcUGABEYNACADQShxQQBHIQALIAJBADsBMCACQQA6AC8gAEUN3wIgAkIANwMgDOACC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAARQ3MASAAQRVHDd0CIAJBBDYCHCACIAE2AhQgAkGwGDYCECACQRU2AgxBACEDDKQDCyABIARGBEBBBiEDDKQDCyABQQFqIQFBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAA3ZAgwcCyACQgA3AyBBEiEDDIkDCyABIARHDRZBHSEDDKEDCyABIARHBEAgAUEBaiEBQRAhAwyIAwtBByEDDKADCyACIAIpAyAiCiAEIAFrrSILfSIMQgAgCiAMWhs3AyAgCiALWA3UAkEIIQMMnwMLIAEgBEcEQCACQQk2AgggAiABNgIEQRQhAwyGAwtBCSEDDJ4DCyACKQMgQgBSDccBIAIgAi8BMEGAAXI7ATAMQgsgASAERw0/QdAAIQMMnAMLIAEgBEYEQEELIQMMnAMLIAFBAWohAUEAIQACQCACKAI4IgNFDQAgAygCUCIDRQ0AIAIgAxEAACEACyAADc8CDMYBC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ3GASAAQRVHDc0CIAJBCzYCHCACIAE2AhQgAkGCGTYCECACQRU2AgxBACEDDJoDC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ0MIABBFUcNygIgAkEaNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMmQMLQQAhAAJAIAIoAjgiA0UNACADKAJMIgNFDQAgAiADEQAAIQALIABFDcQBIABBFUcNxwIgAkELNgIcIAIgATYCFCACQZEXNgIQIAJBFTYCDEEAIQMMmAMLIAEgBEYEQEEPIQMMmAMLIAEtAAAiAEE7Rg0HIABBDUcNxAIgAUEBaiEBDMMBC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3DASAAQRVHDcICIAJBDzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJYDCwNAIAEtAABB8DVqLQAAIgBBAUcEQCAAQQJHDcECIAIoAgQhAEEAIQMgAkEANgIEIAIgACABQQFqIgEQLSIADcICDMUBCyAEIAFBAWoiAUcNAAtBEiEDDJUDC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3FASAAQRVHDb0CIAJBGzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJQDCyABIARGBEBBFiEDDJQDCyACQQo2AgggAiABNgIEQQAhAAJAIAIoAjgiA0UNACADKAJIIgNFDQAgAiADEQAAIQALIABFDcIBIABBFUcNuQIgAkEVNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMkwMLIAEgBEcEQANAIAEtAABB8DdqLQAAIgBBAkcEQAJAIABBAWsOBMQCvQIAvgK9AgsgAUEBaiEBQQghAwz8AgsgBCABQQFqIgFHDQALQRUhAwyTAwtBFSEDDJIDCwNAIAEtAABB8DlqLQAAIgBBAkcEQCAAQQFrDgTFArcCwwK4ArcCCyAEIAFBAWoiAUcNAAtBGCEDDJEDCyABIARHBEAgAkELNgIIIAIgATYCBEEHIQMM+AILQRkhAwyQAwsgAUEBaiEBDAILIAEgBEYEQEEaIQMMjwMLAkAgAS0AAEENaw4UtQG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwEAvwELQQAhAyACQQA2AhwgAkGvCzYCECACQQI2AgwgAiABQQFqNgIUDI4DCyABIARGBEBBGyEDDI4DCyABLQAAIgBBO0cEQCAAQQ1HDbECIAFBAWohAQy6AQsgAUEBaiEBC0EiIQMM8wILIAEgBEYEQEEcIQMMjAMLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43wQLAAgABAgMEBQYH0AHQAdAB0AHQAdAB0AEICQoLDA3QAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdABDg8QERIT0AELQgIhCgzAAgtCAyEKDL8CC0IEIQoMvgILQgUhCgy9AgtCBiEKDLwCC0IHIQoMuwILQgghCgy6AgtCCSEKDLkCC0IKIQoMuAILQgshCgy3AgtCDCEKDLYCC0INIQoMtQILQg4hCgy0AgtCDyEKDLMCC0IKIQoMsgILQgshCgyxAgtCDCEKDLACC0INIQoMrwILQg4hCgyuAgtCDyEKDK0CC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsON8ACvwIAAQIDBAUGB74CvgK+Ar4CvgK+Ar4CCAkKCwwNvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ag4PEBESE74CC0ICIQoMvwILQgMhCgy+AgtCBCEKDL0CC0IFIQoMvAILQgYhCgy7AgtCByEKDLoCC0IIIQoMuQILQgkhCgy4AgtCCiEKDLcCC0ILIQoMtgILQgwhCgy1AgtCDSEKDLQCC0IOIQoMswILQg8hCgyyAgtCCiEKDLECC0ILIQoMsAILQgwhCgyvAgtCDSEKDK4CC0IOIQoMrQILQg8hCgysAgsgAiACKQMgIgogBCABa60iC30iDEIAIAogDFobNwMgIAogC1gNpwJBHyEDDIkDCyABIARHBEAgAkEJNgIIIAIgATYCBEElIQMM8AILQSAhAwyIAwtBASEFIAIvATAiA0EIcUUEQCACKQMgQgBSIQULAkAgAi0ALgRAQQEhACACLQApQQVGDQEgA0HAAHFFIAVxRQ0BC0EAIQAgA0HAAHENAEECIQAgA0EIcQ0AIANBgARxBEACQCACLQAoQQFHDQAgAi0ALUEKcQ0AQQUhAAwCC0EEIQAMAQsgA0EgcUUEQAJAIAItAChBAUYNACACLwEyIgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNAEEEIQAgA0EocUUNAiADQYgEcUGABEYNAgtBACEADAELQQBBAyACKQMgUBshAAsgAEEBaw4FvgIAsAEBpAKhAgtBESEDDO0CCyACQQE6AC8MhAMLIAEgBEcNnQJBJCEDDIQDCyABIARHDRxBxgAhAwyDAwtBACEAAkAgAigCOCIDRQ0AIAMoAkQiA0UNACACIAMRAAAhAAsgAEUNJyAAQRVHDZgCIAJB0AA2AhwgAiABNgIUIAJBkRg2AhAgAkEVNgIMQQAhAwyCAwsgASAERgRAQSghAwyCAwtBACEDIAJBADYCBCACQQw2AgggAiABIAEQKiIARQ2UAiACQSc2AhwgAiABNgIUIAIgADYCDAyBAwsgASAERgRAQSkhAwyBAwsgAS0AACIAQSBGDRMgAEEJRw2VAiABQQFqIQEMFAsgASAERwRAIAFBAWohAQwWC0EqIQMM/wILIAEgBEYEQEErIQMM/wILIAEtAAAiAEEJRyAAQSBHcQ2QAiACLQAsQQhHDd0CIAJBADoALAzdAgsgASAERgRAQSwhAwz+AgsgAS0AAEEKRw2OAiABQQFqIQEMsAELIAEgBEcNigJBLyEDDPwCCwNAIAEtAAAiAEEgRwRAIABBCmsOBIQCiAKIAoQChgILIAQgAUEBaiIBRw0AC0ExIQMM+wILQTIhAyABIARGDfoCIAIoAgAiACAEIAFraiEHIAEgAGtBA2ohBgJAA0AgAEHwO2otAAAgAS0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAEEDRgRAQQYhAQziAgsgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAc2AgAM+wILIAJBADYCAAyGAgtBMyEDIAQgASIARg35AiAEIAFrIAIoAgAiAWohByAAIAFrQQhqIQYCQANAIAFB9DtqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBCEYEQEEFIQEM4QILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPoCCyACQQA2AgAgACEBDIUCC0E0IQMgBCABIgBGDfgCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgJAA0AgAUHQwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEM4AILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPkCCyACQQA2AgAgACEBDIQCCyABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRg0JDIECCyAEIAFBAWoiAUcNAAtBMCEDDPgCC0EwIQMM9wILIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBP8B/gH+Af8B/gELIAQgAUEBaiIBRw0AC0E4IQMM9wILQTghAwz2AgsDQCABLQAAIgBBIEcgAEEJR3EN9gEgBCABQQFqIgFHDQALQTwhAwz1AgsDQCABLQAAIgBBIEcEQAJAIABBCmsOBPkBBAT5AQALIABBLEYN9QEMAwsgBCABQQFqIgFHDQALQT8hAwz0AgtBwAAhAyABIARGDfMCIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEGAQGstAAAgAS0AAEEgckcNASAAQQZGDdsCIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPQCCyACQQA2AgALQTYhAwzZAgsgASAERgRAQcEAIQMM8gILIAJBDDYCCCACIAE2AgQgAi0ALEEBaw4E+wHuAewB6wHUAgsgAUEBaiEBDPoBCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIQMM3AILIAFBAWohAUEyIQMM2wILIAFBAWohAUEzIQMM2gILDP4BCyAEIAFBAWoiAUcNAAtBNSEDDPACC0E1IQMM7wILIAEgBEcEQANAIAEtAABBgDxqLQAAQQFHDfcBIAQgAUEBaiIBRw0AC0E9IQMM7wILQT0hAwzuAgtBACEAAkAgAigCOCIDRQ0AIAMoAkAiA0UNACACIAMRAAAhAAsgAEUNASAAQRVHDeYBIAJBwgA2AhwgAiABNgIUIAJB4xg2AhAgAkEVNgIMQQAhAwztAgsgAUEBaiEBC0E8IQMM0gILIAEgBEYEQEHCACEDDOsCCwJAA0ACQCABLQAAQQlrDhgAAswCzALRAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAgDMAgsgBCABQQFqIgFHDQALQcIAIQMM6wILIAFBAWohASACLQAtQQFxRQ3+AQtBLCEDDNACCyABIARHDd4BQcQAIQMM6AILA0AgAS0AAEGQwABqLQAAQQFHDZwBIAQgAUEBaiIBRw0AC0HFACEDDOcCCyABLQAAIgBBIEYN/gEgAEE6Rw3AAiACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgAN3gEM3QELQccAIQMgBCABIgBGDeUCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFBkMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvwIgAUEFRg3CAiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzlAgtByAAhAyAEIAEiAEYN5AIgBCABayACKAIAIgFqIQcgACABa0EJaiEGA0AgAUGWwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw2+AkECIAFBCUYNwgIaIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOQCCyABIARGBEBByQAhAwzkAgsCQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQe4Aaw4HAL8CvwK/Ar8CvwIBvwILIAFBAWohAUE+IQMMywILIAFBAWohAUE/IQMMygILQcoAIQMgBCABIgBGDeICIAQgAWsgAigCACIBaiEGIAAgAWtBAWohBwNAIAFBoMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvAIgAUEBRg2+AiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBjYCAAziAgtBywAhAyAEIAEiAEYN4QIgBCABayACKAIAIgFqIQcgACABa0EOaiEGA0AgAUGiwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw27AiABQQ5GDb4CIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOECC0HMACEDIAQgASIARg3gAiAEIAFrIAIoAgAiAWohByAAIAFrQQ9qIQYDQCABQcDCAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDboCQQMgAUEPRg2+AhogAUEBaiEBIAQgAEEBaiIARw0ACyACIAc2AgAM4AILQc0AIQMgBCABIgBGDd8CIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFB0MIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNuQJBBCABQQVGDb0CGiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzfAgsgASAERgRAQc4AIQMM3wILAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCAbwCvAK8AgIDvAILIAFBAWohAUHBACEDDMgCCyABQQFqIQFBwgAhAwzHAgsgAUEBaiEBQcMAIQMMxgILIAFBAWohAUHEACEDDMUCCyABIARHBEAgAkENNgIIIAIgATYCBEHFACEDDMUCC0HPACEDDN0CCwJAAkAgAS0AAEEKaw4EAZABkAEAkAELIAFBAWohAQtBKCEDDMMCCyABIARGBEBB0QAhAwzcAgsgAS0AAEEgRw0AIAFBAWohASACLQAtQQFxRQ3QAQtBFyEDDMECCyABIARHDcsBQdIAIQMM2QILQdMAIQMgASAERg3YAiACKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABB1sIAai0AAEcNxwEgAEEBRg3KASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBjYCAAzYAgsgASAERgRAQdUAIQMM2AILIAEtAABBCkcNwgEgAUEBaiEBDMoBCyABIARGBEBB1gAhAwzXAgsCQAJAIAEtAABBCmsOBADDAcMBAcMBCyABQQFqIQEMygELIAFBAWohAUHKACEDDL0CC0EAIQACQCACKAI4IgNFDQAgAygCPCIDRQ0AIAIgAxEAACEACyAADb8BQc0AIQMMvAILIAItAClBIkYNzwIMiQELIAQgASIFRgRAQdsAIQMM1AILQQAhAEEBIQFBASEGQQAhAwJAAn8CQAJAAkACQAJAAkACQCAFLQAAQTBrDgrFAcQBAAECAwQFBgjDAQtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshA0EAIQFBACEGDL0BC0EJIQNBASEAQQAhAUEAIQYMvAELIAEgBEYEQEHdACEDDNMCCyABLQAAQS5HDbgBIAFBAWohAQyIAQsgASAERw22AUHfACEDDNECCyABIARHBEAgAkEONgIIIAIgATYCBEHQACEDDLgCC0HgACEDDNACC0HhACEDIAEgBEYNzwIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGA0AgAS0AACAAQeLCAGotAABHDbEBIABBA0YNswEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMzwILQeIAIQMgASAERg3OAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYDQCABLQAAIABB5sIAai0AAEcNsAEgAEECRg2vASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAzOAgtB4wAhAyABIARGDc0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgNAIAEtAAAgAEHpwgBqLQAARw2vASAAQQNGDa0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADM0CCyABIARGBEBB5QAhAwzNAgsgAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANqgFB1gAhAwyzAgsgASAERwRAA0AgAS0AACIAQSBHBEACQAJAAkAgAEHIAGsOCwABswGzAbMBswGzAbMBswGzAQKzAQsgAUEBaiEBQdIAIQMMtwILIAFBAWohAUHTACEDDLYCCyABQQFqIQFB1AAhAwy1AgsgBCABQQFqIgFHDQALQeQAIQMMzAILQeQAIQMMywILA0AgAS0AAEHwwgBqLQAAIgBBAUcEQCAAQQJrDgOnAaYBpQGkAQsgBCABQQFqIgFHDQALQeYAIQMMygILIAFBAWogASAERw0CGkHnACEDDMkCCwNAIAEtAABB8MQAai0AACIAQQFHBEACQCAAQQJrDgSiAaEBoAEAnwELQdcAIQMMsQILIAQgAUEBaiIBRw0AC0HoACEDDMgCCyABIARGBEBB6QAhAwzIAgsCQCABLQAAIgBBCmsOGrcBmwGbAbQBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBpAGbAZsBAJkBCyABQQFqCyEBQQYhAwytAgsDQCABLQAAQfDGAGotAABBAUcNfSAEIAFBAWoiAUcNAAtB6gAhAwzFAgsgAUEBaiABIARHDQIaQesAIQMMxAILIAEgBEYEQEHsACEDDMQCCyABQQFqDAELIAEgBEYEQEHtACEDDMMCCyABQQFqCyEBQQQhAwyoAgsgASAERgRAQe4AIQMMwQILAkACQAJAIAEtAABB8MgAai0AAEEBaw4HkAGPAY4BAHwBAo0BCyABQQFqIQEMCwsgAUEBagyTAQtBACEDIAJBADYCHCACQZsSNgIQIAJBBzYCDCACIAFBAWo2AhQMwAILAkADQCABLQAAQfDIAGotAAAiAEEERwRAAkACQCAAQQFrDgeUAZMBkgGNAQAEAY0BC0HaACEDDKoCCyABQQFqIQFB3AAhAwypAgsgBCABQQFqIgFHDQALQe8AIQMMwAILIAFBAWoMkQELIAQgASIARgRAQfAAIQMMvwILIAAtAABBL0cNASAAQQFqIQEMBwsgBCABIgBGBEBB8QAhAwy+AgsgAC0AACIBQS9GBEAgAEEBaiEBQd0AIQMMpQILIAFBCmsiA0EWSw0AIAAhAUEBIAN0QYmAgAJxDfkBC0EAIQMgAkEANgIcIAIgADYCFCACQYwcNgIQIAJBBzYCDAy8AgsgASAERwRAIAFBAWohAUHeACEDDKMCC0HyACEDDLsCCyABIARGBEBB9AAhAwy7AgsCQCABLQAAQfDMAGotAABBAWsOA/cBcwCCAQtB4QAhAwyhAgsgASAERwRAA0AgAS0AAEHwygBqLQAAIgBBA0cEQAJAIABBAWsOAvkBAIUBC0HfACEDDKMCCyAEIAFBAWoiAUcNAAtB8wAhAwy6AgtB8wAhAwy5AgsgASAERwRAIAJBDzYCCCACIAE2AgRB4AAhAwygAgtB9QAhAwy4AgsgASAERgRAQfYAIQMMuAILIAJBDzYCCCACIAE2AgQLQQMhAwydAgsDQCABLQAAQSBHDY4CIAQgAUEBaiIBRw0AC0H3ACEDDLUCCyABIARGBEBB+AAhAwy1AgsgAS0AAEEgRw16IAFBAWohAQxbC0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAADXgMgAILIAEgBEYEQEH6ACEDDLMCCyABLQAAQcwARw10IAFBAWohAUETDHYLQfsAIQMgASAERg2xAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYDQCABLQAAIABB8M4Aai0AAEcNcyAAQQVGDXUgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMsQILIAEgBEYEQEH8ACEDDLECCwJAAkAgAS0AAEHDAGsODAB0dHR0dHR0dHR0AXQLIAFBAWohAUHmACEDDJgCCyABQQFqIQFB5wAhAwyXAgtB/QAhAyABIARGDa8CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDXIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADLACCyACQQA2AgAgBkEBaiEBQRAMcwtB/gAhAyABIARGDa4CIAIoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQfbOAGotAABHDXEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK8CCyACQQA2AgAgBkEBaiEBQRYMcgtB/wAhAyABIARGDa0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQfzOAGotAABHDXAgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK4CCyACQQA2AgAgBkEBaiEBQQUMcQsgASAERgRAQYABIQMMrQILIAEtAABB2QBHDW4gAUEBaiEBQQgMcAsgASAERgRAQYEBIQMMrAILAkACQCABLQAAQc4Aaw4DAG8BbwsgAUEBaiEBQesAIQMMkwILIAFBAWohAUHsACEDDJICCyABIARGBEBBggEhAwyrAgsCQAJAIAEtAABByABrDggAbm5ubm5uAW4LIAFBAWohAUHqACEDDJICCyABQQFqIQFB7QAhAwyRAgtBgwEhAyABIARGDakCIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQYDPAGotAABHDWwgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKoCCyACQQA2AgAgBkEBaiEBQQAMbQtBhAEhAyABIARGDagCIAIoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQYPPAGotAABHDWsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKkCCyACQQA2AgAgBkEBaiEBQSMMbAsgASAERgRAQYUBIQMMqAILAkACQCABLQAAQcwAaw4IAGtra2trawFrCyABQQFqIQFB7wAhAwyPAgsgAUEBaiEBQfAAIQMMjgILIAEgBEYEQEGGASEDDKcCCyABLQAAQcUARw1oIAFBAWohAQxgC0GHASEDIAEgBEYNpQIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBiM8Aai0AAEcNaCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpgILIAJBADYCACAGQQFqIQFBLQxpC0GIASEDIAEgBEYNpAIgAigCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABB0M8Aai0AAEcNZyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpQILIAJBADYCACAGQQFqIQFBKQxoCyABIARGBEBBiQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    "use strict";
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVuaWVudF9oZWFkZXJzACEhbGxodHRwX3NldF9sZW5pZW50X2NodW5rZWRfbGVuZ3RoACIdbGxodHRwX3NldF9sZW5pZW50X2tlZXBfYWxpdmUAIyRsbGh0dHBfc2V0X2xlbmllbnRfdHJhbnNmZXJfZW5jb2RpbmcAJBhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YALgkXAQBBAQsRAQIDBAUKBgcrLSwqKSglJyYK77MCLBYAQYjQACgCAARAAAtBiNAAQQE2AgALFAAgABAwIAAgAjYCOCAAIAE6ACgLFAAgACAALwEyIAAtAC4gABAvEAALHgEBf0HAABAyIgEQMCABQYAINgI4IAEgADoAKCABC48MAQd/AkAgAEUNACAAQQhrIgEgAEEEaygCACIAQXhxIgRqIQUCQCAAQQFxDQAgAEEDcUUNASABIAEoAgAiAGsiAUGc0AAoAgBJDQEgACAEaiEEAkACQEGg0AAoAgAgAUcEQCAAQf8BTQRAIABBA3YhAyABKAIIIgAgASgCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyABKAIYIQYgASABKAIMIgBHBEAgACABKAIIIgI2AgggAiAANgIMDAMLIAFBFGoiAygCACICRQRAIAEoAhAiAkUNAiABQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFKAIEIgBBA3FBA0cNAiAFIABBfnE2AgRBlNAAIAQ2AgAgBSAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCABKAIcIgJBAnRBvNIAaiIDKAIAIAFGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgAUYbaiAANgIAIABFDQELIAAgBjYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAFTw0AIAUoAgQiAEEBcUUNAAJAAkACQAJAIABBAnFFBEBBpNAAKAIAIAVGBEBBpNAAIAE2AgBBmNAAQZjQACgCACAEaiIANgIAIAEgAEEBcjYCBCABQaDQACgCAEcNBkGU0ABBADYCAEGg0ABBADYCAAwGC0Gg0AAoAgAgBUYEQEGg0AAgATYCAEGU0ABBlNAAKAIAIARqIgA2AgAgASAAQQFyNgIEIAAgAWogADYCAAwGCyAAQXhxIARqIQQgAEH/AU0EQCAAQQN2IQMgBSgCCCIAIAUoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgBSgCGCEGIAUgBSgCDCIARwRAQZzQACgCABogACAFKAIIIgI2AgggAiAANgIMDAMLIAVBFGoiAygCACICRQRAIAUoAhAiAkUNAiAFQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFIABBfnE2AgQgASAEaiAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCAFKAIcIgJBAnRBvNIAaiIDKAIAIAVGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiAANgIAIABFDQELIAAgBjYCGCAFKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAFQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAEaiAENgIAIAEgBEEBcjYCBCABQaDQACgCAEcNAEGU0AAgBDYCAAwBCyAEQf8BTQRAIARBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASAEQQN2dCIDcUUEQEGM0AAgAiADcjYCACAADAELIAAoAggLIgIgATYCDCAAIAE2AgggASAANgIMIAEgAjYCCAwBC0EfIQIgBEH///8HTQRAIARBJiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAgsgASACNgIcIAFCADcCECACQQJ0QbzSAGohAAJAQZDQACgCACIDQQEgAnQiB3FFBEAgACABNgIAQZDQACADIAdyNgIAIAEgADYCGCABIAE2AgggASABNgIMDAELIARBGSACQQF2a0EAIAJBH0cbdCECIAAoAgAhAAJAA0AgACIDKAIEQXhxIARGDQEgAkEddiEAIAJBAXQhAiADIABBBHFqQRBqIgcoAgAiAA0ACyAHIAE2AgAgASADNgIYIAEgATYCDCABIAE2AggMAQsgAygCCCIAIAE2AgwgAyABNgIIIAFBADYCGCABIAM2AgwgASAANgIIC0Gs0ABBrNAAKAIAQQFrIgBBfyAAGzYCAAsLBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LQAEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABAwIAAgBDYCOCAAIAM6ACggACACOgAtIAAgATYCGAu74gECB38DfiABIAJqIQQCQCAAIgIoAgwiAA0AIAIoAgQEQCACIAE2AgQLIwBBEGsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAhwiA0EBaw7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBywHKAbgByQG5AcgBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgEA3AELQQAMxgELQQ4MxQELQQ0MxAELQQ8MwwELQRAMwgELQRMMwQELQRQMwAELQRUMvwELQRYMvgELQRgMvQELQRkMvAELQRoMuwELQRsMugELQRwMuQELQR0MuAELQQgMtwELQR4MtgELQSAMtQELQR8MtAELQQcMswELQSEMsgELQSIMsQELQSMMsAELQSQMrwELQRIMrgELQREMrQELQSUMrAELQSYMqwELQScMqgELQSgMqQELQcMBDKgBC0EqDKcBC0ErDKYBC0EsDKUBC0EtDKQBC0EuDKMBC0EvDKIBC0HEAQyhAQtBMAygAQtBNAyfAQtBDAyeAQtBMQydAQtBMgycAQtBMwybAQtBOQyaAQtBNQyZAQtBxQEMmAELQQsMlwELQToMlgELQTYMlQELQQoMlAELQTcMkwELQTgMkgELQTwMkQELQTsMkAELQT0MjwELQQkMjgELQSkMjQELQT4MjAELQT8MiwELQcAADIoBC0HBAAyJAQtBwgAMiAELQcMADIcBC0HEAAyGAQtBxQAMhQELQcYADIQBC0EXDIMBC0HHAAyCAQtByAAMgQELQckADIABC0HKAAx/C0HLAAx+C0HNAAx9C0HMAAx8C0HOAAx7C0HPAAx6C0HQAAx5C0HRAAx4C0HSAAx3C0HTAAx2C0HUAAx1C0HWAAx0C0HVAAxzC0EGDHILQdcADHELQQUMcAtB2AAMbwtBBAxuC0HZAAxtC0HaAAxsC0HbAAxrC0HcAAxqC0EDDGkLQd0ADGgLQd4ADGcLQd8ADGYLQeEADGULQeAADGQLQeIADGMLQeMADGILQQIMYQtB5AAMYAtB5QAMXwtB5gAMXgtB5wAMXQtB6AAMXAtB6QAMWwtB6gAMWgtB6wAMWQtB7AAMWAtB7QAMVwtB7gAMVgtB7wAMVQtB8AAMVAtB8QAMUwtB8gAMUgtB8wAMUQtB9AAMUAtB9QAMTwtB9gAMTgtB9wAMTQtB+AAMTAtB+QAMSwtB+gAMSgtB+wAMSQtB/AAMSAtB/QAMRwtB/gAMRgtB/wAMRQtBgAEMRAtBgQEMQwtBggEMQgtBgwEMQQtBhAEMQAtBhQEMPwtBhgEMPgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB9ysPC0GQMQ8LQdcxDwtBoi0PC0HUJw8LQeArDwtBnywPC0HrMQ8LQdUfDwtByjEPC0HeJQ8LQdQeDwtB9BwPC0GnMg8LQbEdDwtBoB0PC0G5MQ8LQbwwDwtBkiEPC0GzJg8LQeksDwtBrB4PC0HUKw8LQfcmDwtBgCYPC0GwIQ8LQf4eDwtBjSMPC0GJLQ8LQfciDwtBoDEPC0GuHw8LQcYlDwtB6B4PC0GTIg8LQcIvDwtBwx0PC0GLLA8LQeEdDwtBjS8PC0HqIQ8LQbQtDwtB0i8PC0HfMg8LQdIyDwtB8DAPC0GpIg8LQfkjDwtBmR4PC0G1LA8LQZswDwtBkjIPC0G2Kw8LQcIiDwtB+DIPC0GeJQ8LQdAiDwtBuh4PC0GBHg8LAAtB1iEhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCz4BAn8CQCAAKAI4IgNFDQAgAygCBCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBxhE2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCCCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9go2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCDCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7Ro2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCECIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlRA2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCFCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBqhs2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCGCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7RM2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCKCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9gg2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCHCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBwhk2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCICIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlBQ2AhBBGCEECyAEC1kBAn8CQCAALQAoQQFGDQAgAC8BMiIBQeQAa0HkAEkNACABQcwBRg0AIAFBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhAiAAQYgEcUGABEYNACAAQShxRSECCyACC4wBAQJ/AkACQAJAIAAtACpFDQAgAC0AK0UNACAALwEwIgFBAnFFDQEMAgsgAC8BMCIBQQFxRQ0BC0EBIQIgAC0AKEEBRg0AIAAvATIiAEHkAGtB5ABJDQAgAEHMAUYNACAAQbACRg0AIAFBwABxDQBBACECIAFBiARxQYAERg0AIAFBKHFBAEchAgsgAgtzACAAQRBq/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAA/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAAQTBq/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAAQSBq/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAAQd0BNgIcCwYAIAAQMguaLQELfyMAQRBrIgokAEGk0AAoAgAiCUUEQEHk0wAoAgAiBUUEQEHw0wBCfzcCAEHo0wBCgICEgICAwAA3AgBB5NMAIApBCGpBcHFB2KrVqgVzIgU2AgBB+NMAQQA2AgBByNMAQQA2AgALQczTAEGA1AQ2AgBBnNAAQYDUBDYCAEGw0AAgBTYCAEGs0ABBfzYCAEHQ0wBBgKwDNgIAA0AgAUHI0ABqIAFBvNAAaiICNgIAIAIgAUG00ABqIgM2AgAgAUHA0ABqIAM2AgAgAUHQ0ABqIAFBxNAAaiIDNgIAIAMgAjYCACABQdjQAGogAUHM0ABqIgI2AgAgAiADNgIAIAFB1NAAaiACNgIAIAFBIGoiAUGAAkcNAAtBjNQEQcGrAzYCAEGo0ABB9NMAKAIANgIAQZjQAEHAqwM2AgBBpNAAQYjUBDYCAEHM/wdBODYCAEGI1AQhCQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQewBTQRAQYzQACgCACIGQRAgAEETakFwcSAAQQtJGyIEQQN2IgB2IgFBA3EEQAJAIAFBAXEgAHJBAXMiAkEDdCIAQbTQAGoiASAAQbzQAGooAgAiACgCCCIDRgRAQYzQACAGQX4gAndxNgIADAELIAEgAzYCCCADIAE2AgwLIABBCGohASAAIAJBA3QiAkEDcjYCBCAAIAJqIgAgACgCBEEBcjYCBAwRC0GU0AAoAgAiCCAETw0BIAEEQAJAQQIgAHQiAkEAIAJrciABIAB0cWgiAEEDdCICQbTQAGoiASACQbzQAGooAgAiAigCCCIDRgRAQYzQACAGQX4gAHdxIgY2AgAMAQsgASADNgIIIAMgATYCDAsgAiAEQQNyNgIEIABBA3QiACAEayEFIAAgAmogBTYCACACIARqIgQgBUEBcjYCBCAIBEAgCEF4cUG00ABqIQBBoNAAKAIAIQMCf0EBIAhBA3Z0IgEgBnFFBEBBjNAAIAEgBnI2AgAgAAwBCyAAKAIICyIBIAM2AgwgACADNgIIIAMgADYCDCADIAE2AggLIAJBCGohAUGg0AAgBDYCAEGU0AAgBTYCAAwRC0GQ0AAoAgAiC0UNASALaEECdEG80gBqKAIAIgAoAgRBeHEgBGshBSAAIQIDQAJAIAIoAhAiAUUEQCACQRRqKAIAIgFFDQELIAEoAgRBeHEgBGsiAyAFSSECIAMgBSACGyEFIAEgACACGyEAIAEhAgwBCwsgACgCGCEJIAAoAgwiAyAARwRAQZzQACgCABogAyAAKAIIIgE2AgggASADNgIMDBALIABBFGoiAigCACIBRQRAIAAoAhAiAUUNAyAAQRBqIQILA0AgAiEHIAEiA0EUaiICKAIAIgENACADQRBqIQIgAygCECIBDQALIAdBADYCAAwPC0F/IQQgAEG/f0sNACAAQRNqIgFBcHEhBEGQ0AAoAgAiCEUNAEEAIARrIQUCQAJAAkACf0EAIARBgAJJDQAaQR8gBEH///8HSw0AGiAEQSYgAUEIdmciAGt2QQFxIABBAXRrQT5qCyIGQQJ0QbzSAGooAgAiAkUEQEEAIQFBACEDDAELQQAhASAEQRkgBkEBdmtBACAGQR9HG3QhAEEAIQMDQAJAIAIoAgRBeHEgBGsiByAFTw0AIAIhAyAHIgUNAEEAIQUgAiEBDAMLIAEgAkEUaigCACIHIAcgAiAAQR12QQRxakEQaigCACICRhsgASAHGyEBIABBAXQhACACDQALCyABIANyRQRAQQAhA0ECIAZ0IgBBACAAa3IgCHEiAEUNAyAAaEECdEG80gBqKAIAIQELIAFFDQELA0AgASgCBEF4cSAEayICIAVJIQAgAiAFIAAbIQUgASADIAAbIQMgASgCECIABH8gAAUgAUEUaigCAAsiAQ0ACwsgA0UNACAFQZTQACgCACAEa08NACADKAIYIQcgAyADKAIMIgBHBEBBnNAAKAIAGiAAIAMoAggiATYCCCABIAA2AgwMDgsgA0EUaiICKAIAIgFFBEAgAygCECIBRQ0DIANBEGohAgsDQCACIQYgASIAQRRqIgIoAgAiAQ0AIABBEGohAiAAKAIQIgENAAsgBkEANgIADA0LQZTQACgCACIDIARPBEBBoNAAKAIAIQECQCADIARrIgJBEE8EQCABIARqIgAgAkEBcjYCBCABIANqIAI2AgAgASAEQQNyNgIEDAELIAEgA0EDcjYCBCABIANqIgAgACgCBEEBcjYCBEEAIQBBACECC0GU0AAgAjYCAEGg0AAgADYCACABQQhqIQEMDwtBmNAAKAIAIgMgBEsEQCAEIAlqIgAgAyAEayIBQQFyNgIEQaTQACAANgIAQZjQACABNgIAIAkgBEEDcjYCBCAJQQhqIQEMDwtBACEBIAQCf0Hk0wAoAgAEQEHs0wAoAgAMAQtB8NMAQn83AgBB6NMAQoCAhICAgMAANwIAQeTTACAKQQxqQXBxQdiq1aoFczYCAEH40wBBADYCAEHI0wBBADYCAEGAgAQLIgAgBEHHAGoiBWoiBkEAIABrIgdxIgJPBEBB/NMAQTA2AgAMDwsCQEHE0wAoAgAiAUUNAEG80wAoAgAiCCACaiEAIAAgAU0gACAIS3ENAEEAIQFB/NMAQTA2AgAMDwtByNMALQAAQQRxDQQCQAJAIAkEQEHM0wAhAQNAIAEoAgAiACAJTQRAIAAgASgCBGogCUsNAwsgASgCCCIBDQALC0EAEDMiAEF/Rg0FIAIhBkHo0wAoAgAiAUEBayIDIABxBEAgAiAAayAAIANqQQAgAWtxaiEGCyAEIAZPDQUgBkH+////B0sNBUHE0wAoAgAiAwRAQbzTACgCACIHIAZqIQEgASAHTQ0GIAEgA0sNBgsgBhAzIgEgAEcNAQwHCyAGIANrIAdxIgZB/v///wdLDQQgBhAzIQAgACABKAIAIAEoAgRqRg0DIAAhAQsCQCAGIARByABqTw0AIAFBf0YNAEHs0wAoAgAiACAFIAZrakEAIABrcSIAQf7///8HSwRAIAEhAAwHCyAAEDNBf0cEQCAAIAZqIQYgASEADAcLQQAgBmsQMxoMBAsgASIAQX9HDQUMAwtBACEDDAwLQQAhAAwKCyAAQX9HDQILQcjTAEHI0wAoAgBBBHI2AgALIAJB/v///wdLDQEgAhAzIQBBABAzIQEgAEF/Rg0BIAFBf0YNASAAIAFPDQEgASAAayIGIARBOGpNDQELQbzTAEG80wAoAgAgBmoiATYCAEHA0wAoAgAgAUkEQEHA0wAgATYCAAsCQAJAAkBBpNAAKAIAIgIEQEHM0wAhAQNAIAAgASgCACIDIAEoAgQiBWpGDQIgASgCCCIBDQALDAILQZzQACgCACIBQQBHIAAgAU9xRQRAQZzQACAANgIAC0EAIQFB0NMAIAY2AgBBzNMAIAA2AgBBrNAAQX82AgBBsNAAQeTTACgCADYCAEHY0wBBADYCAANAIAFByNAAaiABQbzQAGoiAjYCACACIAFBtNAAaiIDNgIAIAFBwNAAaiADNgIAIAFB0NAAaiABQcTQAGoiAzYCACADIAI2AgAgAUHY0ABqIAFBzNAAaiICNgIAIAIgAzYCACABQdTQAGogAjYCACABQSBqIgFBgAJHDQALQXggAGtBD3EiASAAaiICIAZBOGsiAyABayIBQQFyNgIEQajQAEH00wAoAgA2AgBBmNAAIAE2AgBBpNAAIAI2AgAgACADakE4NgIEDAILIAAgAk0NACACIANJDQAgASgCDEEIcQ0AQXggAmtBD3EiACACaiIDQZjQACgCACAGaiIHIABrIgBBAXI2AgQgASAFIAZqNgIEQajQAEH00wAoAgA2AgBBmNAAIAA2AgBBpNAAIAM2AgAgAiAHakE4NgIEDAELIABBnNAAKAIASQRAQZzQACAANgIACyAAIAZqIQNBzNMAIQECQAJAAkADQCADIAEoAgBHBEAgASgCCCIBDQEMAgsLIAEtAAxBCHFFDQELQczTACEBA0AgASgCACIDIAJNBEAgAyABKAIEaiIFIAJLDQMLIAEoAgghAQwACwALIAEgADYCACABIAEoAgQgBmo2AgQgAEF4IABrQQ9xaiIJIARBA3I2AgQgA0F4IANrQQ9xaiIGIAQgCWoiBGshASACIAZGBEBBpNAAIAQ2AgBBmNAAQZjQACgCACABaiIANgIAIAQgAEEBcjYCBAwIC0Gg0AAoAgAgBkYEQEGg0AAgBDYCAEGU0ABBlNAAKAIAIAFqIgA2AgAgBCAAQQFyNgIEIAAgBGogADYCAAwICyAGKAIEIgVBA3FBAUcNBiAFQXhxIQggBUH/AU0EQCAFQQN2IQMgBigCCCIAIAYoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAcLIAIgADYCCCAAIAI2AgwMBgsgBigCGCEHIAYgBigCDCIARwRAIAAgBigCCCICNgIIIAIgADYCDAwFCyAGQRRqIgIoAgAiBUUEQCAGKAIQIgVFDQQgBkEQaiECCwNAIAIhAyAFIgBBFGoiAigCACIFDQAgAEEQaiECIAAoAhAiBQ0ACyADQQA2AgAMBAtBeCAAa0EPcSIBIABqIgcgBkE4ayIDIAFrIgFBAXI2AgQgACADakE4NgIEIAIgBUE3IAVrQQ9xakE/ayIDIAMgAkEQakkbIgNBIzYCBEGo0ABB9NMAKAIANgIAQZjQACABNgIAQaTQACAHNgIAIANBEGpB1NMAKQIANwIAIANBzNMAKQIANwIIQdTTACADQQhqNgIAQdDTACAGNgIAQczTACAANgIAQdjTAEEANgIAIANBJGohAQNAIAFBBzYCACAFIAFBBGoiAUsNAAsgAiADRg0AIAMgAygCBEF+cTYCBCADIAMgAmsiBTYCACACIAVBAXI2AgQgBUH/AU0EQCAFQXhxQbTQAGohAAJ/QYzQACgCACIBQQEgBUEDdnQiA3FFBEBBjNAAIAEgA3I2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEG80gBqIQBBkNAAKAIAIgNBASABdCIGcUUEQCAAIAI2AgBBkNAAIAMgBnI2AgAgAiAANgIYIAIgAjYCCCACIAI2AgwMAQsgBUEZIAFBAXZrQQAgAUEfRxt0IQEgACgCACEDAkADQCADIgAoAgRBeHEgBUYNASABQR12IQMgAUEBdCEBIAAgA0EEcWpBEGoiBigCACIDDQALIAYgAjYCACACIAA2AhggAiACNgIMIAIgAjYCCAwBCyAAKAIIIgEgAjYCDCAAIAI2AgggAkEANgIYIAIgADYCDCACIAE2AggLQZjQACgCACIBIARNDQBBpNAAKAIAIgAgBGoiAiABIARrIgFBAXI2AgRBmNAAIAE2AgBBpNAAIAI2AgAgACAEQQNyNgIEIABBCGohAQwIC0EAIQFB/NMAQTA2AgAMBwtBACEACyAHRQ0AAkAgBigCHCICQQJ0QbzSAGoiAygCACAGRgRAIAMgADYCACAADQFBkNAAQZDQACgCAEF+IAJ3cTYCAAwCCyAHQRBBFCAHKAIQIAZGG2ogADYCACAARQ0BCyAAIAc2AhggBigCECICBEAgACACNgIQIAIgADYCGAsgBkEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgCGohASAGIAhqIgYoAgQhBQsgBiAFQX5xNgIEIAEgBGogATYCACAEIAFBAXI2AgQgAUH/AU0EQCABQXhxQbTQAGohAAJ/QYzQACgCACICQQEgAUEDdnQiAXFFBEBBjNAAIAEgAnI2AgAgAAwBCyAAKAIICyIBIAQ2AgwgACAENgIIIAQgADYCDCAEIAE2AggMAQtBHyEFIAFB////B00EQCABQSYgAUEIdmciAGt2QQFxIABBAXRrQT5qIQULIAQgBTYCHCAEQgA3AhAgBUECdEG80gBqIQBBkNAAKAIAIgJBASAFdCIDcUUEQCAAIAQ2AgBBkNAAIAIgA3I2AgAgBCAANgIYIAQgBDYCCCAEIAQ2AgwMAQsgAUEZIAVBAXZrQQAgBUEfRxt0IQUgACgCACEAAkADQCAAIgIoAgRBeHEgAUYNASAFQR12IQAgBUEBdCEFIAIgAEEEcWpBEGoiAygCACIADQALIAMgBDYCACAEIAI2AhggBCAENgIMIAQgBDYCCAwBCyACKAIIIgAgBDYCDCACIAQ2AgggBEEANgIYIAQgAjYCDCAEIAA2AggLIAlBCGohAQwCCwJAIAdFDQACQCADKAIcIgFBAnRBvNIAaiICKAIAIANGBEAgAiAANgIAIAANAUGQ0AAgCEF+IAF3cSIINgIADAILIAdBEEEUIAcoAhAgA0YbaiAANgIAIABFDQELIAAgBzYCGCADKAIQIgEEQCAAIAE2AhAgASAANgIYCyADQRRqKAIAIgFFDQAgAEEUaiABNgIAIAEgADYCGAsCQCAFQQ9NBEAgAyAEIAVqIgBBA3I2AgQgACADaiIAIAAoAgRBAXI2AgQMAQsgAyAEaiICIAVBAXI2AgQgAyAEQQNyNgIEIAIgBWogBTYCACAFQf8BTQRAIAVBeHFBtNAAaiEAAn9BjNAAKAIAIgFBASAFQQN2dCIFcUUEQEGM0AAgASAFcjYCACAADAELIAAoAggLIgEgAjYCDCAAIAI2AgggAiAANgIMIAIgATYCCAwBC0EfIQEgBUH///8HTQRAIAVBJiAFQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAQsgAiABNgIcIAJCADcCECABQQJ0QbzSAGohAEEBIAF0IgQgCHFFBEAgACACNgIAQZDQACAEIAhyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhBAJAA0AgBCIAKAIEQXhxIAVGDQEgAUEddiEEIAFBAXQhASAAIARBBHFqQRBqIgYoAgAiBA0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIICyADQQhqIQEMAQsCQCAJRQ0AAkAgACgCHCIBQQJ0QbzSAGoiAigCACAARgRAIAIgAzYCACADDQFBkNAAIAtBfiABd3E2AgAMAgsgCUEQQRQgCSgCECAARhtqIAM2AgAgA0UNAQsgAyAJNgIYIAAoAhAiAQRAIAMgATYCECABIAM2AhgLIABBFGooAgAiAUUNACADQRRqIAE2AgAgASADNgIYCwJAIAVBD00EQCAAIAQgBWoiAUEDcjYCBCAAIAFqIgEgASgCBEEBcjYCBAwBCyAAIARqIgcgBUEBcjYCBCAAIARBA3I2AgQgBSAHaiAFNgIAIAgEQCAIQXhxQbTQAGohAUGg0AAoAgAhAwJ/QQEgCEEDdnQiAiAGcUUEQEGM0AAgAiAGcjYCACABDAELIAEoAggLIgIgAzYCDCABIAM2AgggAyABNgIMIAMgAjYCCAtBoNAAIAc2AgBBlNAAIAU2AgALIABBCGohAQsgCkEQaiQAIAELQwAgAEUEQD8AQRB0DwsCQCAAQf//A3ENACAAQQBIDQAgAEEQdkAAIgBBf0YEQEH80wBBMDYCAEF/DwsgAEEQdA8LAAsL3D8iAEGACAsJAQAAAAIAAAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var corsSafeListedMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "POST"]
+    );
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = (
+      /** @type {const} */
+      [101, 204, 205, 304]
+    );
+    var redirectStatus = (
+      /** @type {const} */
+      [301, 302, 303, 307, 308]
+    );
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = (
+      /** @type {const} */
+      [
+        "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"
+      ]
+    );
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = (
+      /** @type {const} */
+      [
+        "",
+        "no-referrer",
+        "no-referrer-when-downgrade",
+        "same-origin",
+        "origin",
+        "strict-origin",
+        "origin-when-cross-origin",
+        "strict-origin-when-cross-origin",
+        "unsafe-url"
+      ]
+    );
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = (
+      /** @type {const} */
+      ["follow", "manual", "error"]
+    );
+    var safeMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "OPTIONS", "TRACE"]
+    );
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = (
+      /** @type {const} */
+      ["navigate", "same-origin", "no-cors", "cors"]
+    );
+    var requestCredentials = (
+      /** @type {const} */
+      ["omit", "same-origin", "include"]
+    );
+    var requestCache = (
+      /** @type {const} */
+      [
+        "default",
+        "no-store",
+        "reload",
+        "no-cache",
+        "force-cache",
+        "only-if-cached"
+      ]
+    );
+    var requestBodyHeader = (
+      /** @type {const} */
+      [
+        "content-encoding",
+        "content-language",
+        "content-location",
+        "content-type",
+        // See https://github.com/nodejs/undici/issues/2021
+        // 'Content-Length' is a forbidden header name, which is typically
+        // removed in the Headers implementation. However, undici doesn't
+        // filter out headers, so we add it here.
+        "content-length"
+      ]
+    );
+    var requestDuplex = (
+      /** @type {const} */
+      [
+        "half"
+      ]
+    );
+    var forbiddenMethods = (
+      /** @type {const} */
+      ["CONNECT", "TRACE", "TRACK"]
+    );
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = (
+      /** @type {const} */
+      [
+        "audio",
+        "audioworklet",
+        "font",
+        "image",
+        "manifest",
+        "paintworklet",
+        "script",
+        "style",
+        "track",
+        "video",
+        "xslt",
+        ""
+      ]
+    );
+    var subresourceSet = new Set(subresource);
+    module2.exports = {
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
     };
-    module2.exports = Decoder;
   }
 });
 
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
     "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
       }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
     }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function percentDecode(input) {
+      const length = input.length;
+      const output = new Uint8Array(length);
+      let j = 0;
+      for (let i = 0; i < length; ++i) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output[j++] = byte;
+        } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) {
+          output[j++] = 37;
+        } else {
+          output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]);
+          i += 2;
         }
-        return cb();
       }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      return length === j ? output : output.subarray(0, j);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
+      }
+      if (position.position > input.length) {
+        return "failure";
+      }
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
+      }
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
           }
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
         } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
+    }
+    function forgivingBase64(data) {
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
           }
         }
       }
-      cb();
-    };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+      if (dataLength % 4 === 1) {
+        return "failure";
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
+      }
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
         );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
-    };
-    module2.exports = UrlEncoded;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+      if (extractValue) {
+        return value;
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
     }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
-          return;
-        } else if (this._finished) {
-          return;
+    function isomorphicDecode(input) {
+      const length = input.length;
+      if ((2 << 15) - 1 > length) {
+        return String.fromCharCode.apply(null, input);
+      }
+      let result = "";
+      let i = 0;
+      let addition = (2 << 15) - 1;
+      while (i < length) {
+        if (i + addition > length) {
+          addition = length - i;
         }
-        this._finished = true;
+        result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
       }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+      return result;
+    }
+    function minimizeSupportedMimeType(mimeType) {
+      switch (mimeType.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";
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
+      if (mimeType.subtype.endsWith("+xml")) {
+        return "application/xml";
+      }
+      return "";
+    }
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType,
+      removeChars,
+      removeHTTPWhitespace,
+      minimizeSupportedMimeType,
+      HTTP_TOKEN_CODEPOINTS,
+      isomorphicDecode
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
-      }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
-      }
-      if (!channel) {
-        channel = new MessageChannel();
-      }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
     };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
     };
-  }
-});
-
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
-    function getGlobalOrigin() {
-      return globalThis[globalOrigin];
-    }
-    function setGlobalOrigin(newOrigin) {
-      if (newOrigin === void 0) {
-        Object.defineProperty(globalThis, globalOrigin, {
-          value: void 0,
-          writable: true,
-          enumerable: false,
-          configurable: false
-        });
-        return;
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts) {
+      if (opts?.strict !== false) {
+        if (!(V instanceof I)) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      } else {
+        if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          header: ctx
+        });
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
       });
-    }
-    module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
     };
-  }
-});
-
-// node_modules/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
-    "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance2 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
-    } catch {
-    }
-    function responseURL(response) {
-      const urlList = response.urlList;
-      const length = urlList.length;
-      return length === 0 ? null : urlList[length - 1].toString();
-    }
-    function responseLocationURL(response, requestFragment) {
-      if (!redirectStatusSet.has(response.status)) {
-        return null;
-      }
-      let location = response.headersList.get("location");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
+          }
+          return "Object";
+        }
       }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
+    };
+    webidl.util.markAsUncloneable = markAsUncloneable || (() => {
+    });
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
+        }
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
       }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
-        return "blocked";
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
       }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
-    }
-    function isValidReasonPhrase(statusText) {
-      for (let i = 0; i < statusText.length; ++i) {
-        const c = statusText.charCodeAt(i);
-        if (!(c === 9 || // HTAB
-        c >= 32 && c <= 126 || // SP / VCHAR
-        c >= 128 && c <= 255)) {
-          return false;
+      if (opts?.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
+          });
         }
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
+        }
+        return x;
       }
-      return true;
-    }
-    function isTokenCharCode(c) {
-      switch (c) {
-        case 34:
-        case 40:
-        case 41:
-        case 44:
-        case 47:
-        case 58:
-        case 59:
-        case 60:
-        case 61:
-        case 62:
-        case 63:
-        case 64:
-        case 91:
-        case 92:
-        case 93:
-        case 123:
-        case 125:
-          return false;
-        default:
-          return c >= 33 && c <= 126;
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
       }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
       }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
-        }
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
       }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
       }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
       }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        let index = 0;
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} is not iterable.`
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
             break;
           }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
         }
-      }
-      if (policy !== "") {
-        request2.referrerPolicy = policy;
-      }
-    }
-    function crossOriginResourcePolicyCheck() {
-      return "allowed";
-    }
-    function corsCheck() {
-      return "success";
-    }
-    function TAOCheck() {
-      return "success";
-    }
-    function appendFetchMetadata(httpRequest) {
-      let header = null;
-      header = httpRequest.mode;
-      httpRequest.headersList.set("sec-fetch-mode", header);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O, prefix, argument) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} ("${webidl.util.Type(O)}") is not an Object.`
+          });
         }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
+          for (const key of keys2) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+          return result;
         }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
         }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance2.now();
-    }
-    function createOpaqueTimingInfo(timingInfo) {
-      return {
-        startTime: timingInfo.startTime ?? 0,
-        redirectStartTime: 0,
-        redirectEndTime: 0,
-        postRedirectStartTime: timingInfo.startTime ?? 0,
-        finalServiceWorkerStartTime: 0,
-        finalNetworkResponseStartTime: 0,
-        finalNetworkRequestStartTime: 0,
-        endTime: 0,
-        encodedBodySize: 0,
-        decodedBodySize: 0,
-        finalConnectionTimingInfo: null
-      };
-    }
-    function makePolicyContainer() {
-      return {
-        referrerPolicy: "strict-origin-when-cross-origin"
-      };
-    }
-    function clonePolicyContainer(policyContainer) {
-      return {
-        referrerPolicy: policyContainer.referrerPolicy
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, prefix, argument, opts) => {
+        if (opts?.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.`
+          });
+        }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary, prefix, argument) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
+          });
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!Object.hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = Object.hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value ??= defaultValue();
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value, prefix, `${argument}.${key}`);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V, prefix, argument) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V, prefix, argument);
+      };
+    };
+    webidl.converters.DOMString = function(V, prefix, argument, opts) {
+      if (V === null && opts?.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${argument} is a symbol, which cannot be converted to a DOMString.`
+        });
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V, prefix, argument) {
+      const x = webidl.converters.DOMString(V, prefix, argument);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
+      }
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, prefix, argument, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${argument} ("${webidl.util.Stringify(V)}")`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.resizable || V.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${name} ("${webidl.util.Stringify(V)}")`,
+          types: [T.name]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${name} is not a DataView.`
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, prefix, name, opts) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false });
+      }
+      throw webidl.errors.conversionFailed({
+        prefix,
+        argument: `${name} ("${webidl.util.Stringify(V)}")`,
+        types: ["BufferSource"]
+      });
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance2 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
+      }
+      let location = response.headersList.get("location", true);
+      if (location !== null && isValidHeaderValue(location)) {
+        if (!isValidEncodedURL(location)) {
+          location = normalizeBinaryStringToUtf8(location);
+        }
+        location = new URL(location, responseURL(response));
+      }
+      if (location && !location.hash) {
+        location.hash = requestFragment;
+      }
+      return location;
+    }
+    function isValidEncodedURL(url) {
+      for (let i = 0; i < url.length; ++i) {
+        const code = url.charCodeAt(i);
+        if (code > 126 || // Non-US-ASCII + DEL
+        code < 32) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function normalizeBinaryStringToUtf8(value) {
+      return Buffer.from(value, "binary").toString("utf8");
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
+        return "blocked";
+      }
+      return "allowed";
+    }
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var isValidHeaderName = isValidHTTPToken;
+    function isValidHeaderValue(potentialValue) {
+      return (potentialValue[0] === "	" || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === "	" || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
+    }
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
+          }
+        }
+      }
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
+      }
+    }
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header, true);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (serializedOrigin === "client" || serializedOrigin === void 0) {
+        return;
+      }
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        request2.headersList.append("origin", serializedOrigin, true);
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
+        }
+        request2.headersList.append("origin", serializedOrigin, true);
+      }
+    }
+    function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
+      if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
+        return {
+          domainLookupStartTime: defaultStartTime,
+          domainLookupEndTime: defaultStartTime,
+          connectionStartTime: defaultStartTime,
+          connectionEndTime: defaultStartTime,
+          secureConnectionStartTime: defaultStartTime,
+          ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
+        };
+      }
+      return {
+        domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
+        domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
+        connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
+        connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
+        secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
+        ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
+      };
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return coarsenTime(performance2.now(), crossOriginIsolatedCapability);
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
+      };
+    }
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
+      };
+    }
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
       };
     }
     function determineRequestsReferrer(request2) {
@@ -24897,6 +25501,7 @@ var require_util10 = __commonJS({
     }
     function stripURLForReferrer(url, originOnly) {
       assert(url instanceof URL);
+      url = new URL(url);
       if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
         return "no-referrer";
       }
@@ -25052,23 +25657,8 @@ var require_util10 = __commonJS({
     function isCancelled(fetchParams) {
       return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
     }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
     function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
     }
     function serializeJavascriptValueToJSONString(value) {
       const result = JSON.stringify(value);
@@ -25079,98 +25669,164 @@ var require_util10 = __commonJS({
       return result;
     }
     var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
         next() {
-          if (Object.getPrototypeOf(this) !== i) {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
             throw new TypeError(
               `'next' called on an object that does not implement interface ${name} Iterator.`
             );
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
           const len = values.length;
           if (index >= len) {
-            return { value: void 0, done: true };
+            return {
+              value: void 0,
+              done: true
+            };
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
-      };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
         }
       }
-      return { value: result, done: false };
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
     }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
       } catch (e) {
         errorSteps(e);
         return;
       }
       try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
+        successSteps(await readAllBytes(reader));
       } catch (e) {
         errorSteps(e);
       }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
     function isReadableStreamLike(stream) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
-      }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
+      return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
     }
     function readableStreamClose(controller) {
       try {
         controller.close();
+        controller.byobRequest?.respond(0);
       } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
           throw err;
         }
       }
     }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
     function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
-      }
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
       return input;
     }
     async function readAllBytes(reader) {
@@ -25194,24 +25850,223 @@ var require_util10 = __commonJS({
       return protocol === "about:" || protocol === "blob:" || protocol === "data:";
     }
     function urlHasHttpsScheme(url) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
-      }
-      return url.protocol === "https:";
+      return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:";
     }
     function urlIsHttpHttpsScheme(url) {
       assert("protocol" in url);
       const protocol = url.protocol;
       return protocol === "http:" || protocol === "https:";
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    function simpleRangeHeaderValue(value, allowWhitespace) {
+      const data = value;
+      if (!data.startsWith("bytes")) {
+        return "failure";
+      }
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeStart = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeEnd = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
+      if (position.position < data.length) {
+        return "failure";
+      }
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
+      }
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
+      }
+      return { rangeStartValue, rangeEndValue };
+    }
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
+    }
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
+      }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
+          }
+          this._inflateStream = (chunk[0] & 15) === 8 ? zlib.createInflate(this.#zlibOptions) : zlib.createInflateRaw(this.#zlibOptions);
+          this._inflateStream.on("data", this.push.bind(this));
+          this._inflateStream.on("end", () => this.push(null));
+          this._inflateStream.on("error", (err) => this.destroy(err));
+        }
+        this._inflateStream.write(chunk, encoding, callback);
+      }
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
+        }
+        callback();
+      }
+    };
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
+    }
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
+      }
+      for (const value of values) {
+        const temporaryMimeType = parseMIMEType(value);
+        if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
+          continue;
+        }
+        mimeType = temporaryMimeType;
+        if (mimeType.essence !== essence) {
+          charset = null;
+          if (mimeType.parameters.has("charset")) {
+            charset = mimeType.parameters.get("charset");
+          }
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
+        }
+      }
+      if (mimeType == null) {
+        return "failure";
+      }
+      return mimeType;
+    }
+    function gettingDecodingSplitting(value) {
+      const input = value;
+      const position = { position: 0 };
+      const values = [];
+      let temporaryValue = "";
+      while (position.position < input.length) {
+        temporaryValue += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== ",",
+          input,
+          position
+        );
+        if (position.position < input.length) {
+          if (input.charCodeAt(position.position) === 34) {
+            temporaryValue += collectAnHTTPQuotedString(
+              input,
+              position
+            );
+            if (position.position < input.length) {
+              continue;
+            }
+          } else {
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
+          }
+        }
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
+      }
+      return values;
+    }
+    function getDecodeSplit(name, list) {
+      const value = list.get(name, true);
+      if (value === null) {
+        return null;
+      }
+      return gettingDecodingSplitting(value);
+    }
+    var textDecoder = new TextDecoder();
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
+      }
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
+      }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
     module2.exports = {
       isAborted,
       isCancelled,
+      isValidEncodedURL,
       createDeferredPromise,
       ReadableStreamFrom,
-      toUSVString,
       tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
       coarsenedSharedCurrentTime,
       determineRequestsReferrer,
       makePolicyContainer,
@@ -25234,2475 +26089,2391 @@ var require_util10 = __commonJS({
       sameOrigin,
       normalizeMethod,
       serializeJavascriptValueToJSONString,
-      makeIterator,
+      iteratorMixin,
+      createIterator,
       isValidHeaderName,
       isValidHeaderValue,
-      hasOwn,
       isErrorLike,
       fullyReadBody,
       bytesMatch,
       isReadableStreamLike,
       readableStreamClose,
       isomorphicEncode,
-      isomorphicDecode,
       urlIsLocal,
       urlHasHttpsScheme,
       urlIsHttpHttpsScheme,
       readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
     };
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
 var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kUrl: /* @__PURE__ */ Symbol("url"),
       kHeaders: /* @__PURE__ */ Symbol("headers"),
       kSignal: /* @__PURE__ */ Symbol("signal"),
       kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
-    };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
-      });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
-      });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
-      } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
       }
-    };
-    webidl.argumentLengthCheck = function({ length }, min, ctx) {
-      if (length < min) {
-        throw webidl.errors.exception({
-          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
-          ...ctx
-        });
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
       }
-    };
-    webidl.illegalConstructor = function() {
-      throw webidl.errors.exception({
-        header: "TypeError",
-        message: "Illegal constructor"
-      });
-    };
-    webidl.util.Type = function(V) {
-      switch (typeof V) {
-        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": {
-          if (V === null) {
-            return "Null";
-          }
-          return "Object";
-        }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
       }
-    };
-    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
-      let upperBound;
-      let lowerBound;
-      if (bitLength === 64) {
-        upperBound = Math.pow(2, 53) - 1;
-        if (signedness === "unsigned") {
-          lowerBound = 0;
-        } else {
-          lowerBound = Math.pow(-2, 53) + 1;
-        }
-      } else if (signedness === "unsigned") {
-        lowerBound = 0;
-        upperBound = Math.pow(2, bitLength) - 1;
-      } else {
-        lowerBound = Math.pow(-2, bitLength) - 1;
-        upperBound = Math.pow(2, bitLength - 1) - 1;
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
       }
-      if (opts.enforceRange === true) {
-        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Could not convert ${V} to an integer.`
-          });
-        }
-        x = webidl.util.IntegerPart(x);
-        if (x < lowerBound || x > upperBound) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
-          });
-        }
-        return x;
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
-        }
-        return x;
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
       }
-      x = webidl.util.IntegerPart(x);
-      x = x % Math.pow(2, bitLength);
-      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
-        return x - Math.pow(2, bitLength);
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+      get [Symbol.toStringTag]() {
+        return "File";
       }
-      return r;
     };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
           });
         }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
-        }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
-          }
-          seq2.push(converter(value));
-        }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
-        }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
-          }
-          return result;
-        }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
-          }
-        }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
-        }
-        return V;
-      };
-    };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
-        }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
-          }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
-          }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
-            }
-            dict[key] = value;
-          }
-        }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
-        }
-        return converter(V);
-      };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
-      }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+        this[kState] = [];
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      for (let index = 0; index < x.length; index++) {
-        if (x.charCodeAt(index) > 255) {
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.append";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
           throw new TypeError(
-            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
           );
         }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
       }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.get";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
       }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.getAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
       }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.set";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
+        } else {
+          this[kState].push(entry);
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+      [nodeUtil.inspect.custom](depth, options) {
+        const state = this[kState].reduce((a, b) => {
+          if (a[b.name]) {
+            if (Array.isArray(a[b.name])) {
+              a[b.name].push(b.value);
+            } else {
+              a[b.name] = [a[b.name], b.value];
+            }
+          } else {
+            a[b.name] = b.value;
+          }
+          return a;
+        }, { __proto__: null });
+        options.depth ??= depth;
+        options.colors ??= true;
+        const output = nodeUtil.formatWithOptions(options, state);
+        return `FormData ${output.slice(output.indexOf("]") + 2)}`;
       }
-      return V;
     };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
-      }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+    });
+    function makeEntry(name, value, filename) {
+      if (typeof value === "string") {
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
   }
 });
 
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
-      }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
-      }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
-      }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
-      }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
-      }
-      const href = url.href;
-      const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
-    }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
       }
-      return result;
+      return true;
     }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
-    }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
         }
       }
-      return Uint8Array.from(output);
+      return true;
     }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
         return "failure";
       }
-      if (position.position > input.length) {
-        return "failure";
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
       }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
       }
-      const typeLowercase = type2.toLowerCase();
-      const subtypeLowercase = subtype.toLowerCase();
-      const mimeType = {
-        type: typeLowercase,
-        subtype: subtypeLowercase,
-        /** @type {Map} */
-        parameters: /* @__PURE__ */ new Map(),
-        // https://mimesniff.spec.whatwg.org/#mime-type-essence
-        essence: `${typeLowercase}/${subtypeLowercase}`
-      };
-      while (position.position < input.length) {
-        position.position++;
-        collectASequenceOfCodePoints(
-          // https://fetch.spec.whatwg.org/#http-whitespace
-          (char) => HTTP_WHITESPACE_REGEX.test(char),
-          input,
-          position
-        );
-        let parameterName = collectASequenceOfCodePoints(
-          (char) => char !== ";" && char !== "=",
-          input,
-          position
-        );
-        parameterName = parameterName.toLowerCase();
-        if (position.position < input.length) {
-          if (input[position.position] === ";") {
-            continue;
-          }
-          position.position++;
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
         }
-        if (position.position > input.length) {
-          break;
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
         }
-        let parameterValue = null;
-        if (input[position.position] === '"') {
-          parameterValue = collectAnHTTPQuotedString(input, position, true);
-          collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-        } else {
-          parameterValue = collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
-          if (parameterValue.length === 0) {
-            continue;
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
           }
         }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
         }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
       }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
-      }
-      if (data.length % 4 === 1) {
-        return "failure";
-      }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
-      }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
-      }
-      return bytes;
     }
-    function collectAnHTTPQuotedString(input, position, extractValue) {
-      const positionStart = position.position;
-      let value = "";
-      assert(input[position.position] === '"');
-      position.position++;
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
       while (true) {
-        value += collectASequenceOfCodePoints(
-          (char) => char !== '"' && char !== "\\",
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
           input,
           position
         );
-        if (position.position >= input.length) {
-          break;
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
         }
-        const quoteOrBackslash = input[position.position];
         position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
             break;
           }
-          value += input[position.position];
-          position.position++;
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
         } else {
-          assert(quoteOrBackslash === '"');
-          break;
+          position.position += 2;
         }
       }
-      if (extractValue) {
-        return value;
-      }
-      return input.slice(positionStart, position.position);
     }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
-        }
-        serialization += value;
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
       }
-      return serialization;
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
     }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+    function removeChars(buf, leading, trailing, predicate) {
       let lead = 0;
-      let trail = str2.length - 1;
+      let trail = buf.length - 1;
       if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
+        while (lead < buf.length && predicate(buf[lead])) lead++;
       }
       if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+        while (trail > 0 && predicate(buf[trail])) trail--;
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
     }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
       }
-      return str2.slice(lead, trail + 1);
+      return true;
     }
     module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
+      multipartFormDataParser,
+      validateBoundary
     };
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
     var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
     var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
+    var { Blob: Blob2 } = require("node:buffer");
+    var assert = require("node:assert");
+    var { isErrored, isDisturbed } = require("node:stream");
+    var { isArrayBuffer } = require("node:util/types");
+    var { serializeAMimeType } = require_data_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var textEncoder = new TextEncoder();
+    function noop3() {
+    }
+    var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
+    var streamRegistry;
+    if (hasFinalizationRegistry) {
+      streamRegistry = new FinalizationRegistry((weakRef) => {
+        const stream = weakRef.deref();
+        if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) {
+          stream.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream = null;
+      if (object instanceof ReadableStream) {
+        stream = object;
+      } else if (isBlobLike(object)) {
+        stream = object.stream();
+      } else {
+        stream = new ReadableStream({
+          async pull(controller) {
+            const buffer = typeof source === "string" ? textEncoder.encode(source) : source;
+            if (buffer.byteLength) {
+              controller.enqueue(buffer);
+            }
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: "bytes"
+        });
+      }
+      assert(isReadableStreamLike(stream));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
             }
-            t = serializeAMimeType(t).toLowerCase();
           }
-          d = options.lastModified;
         }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
-    };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
+        const chunk = textEncoder.encode(`--${boundary}--\r
+`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
+          }
         };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
       }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
-      }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
-      }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
-      }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
-      }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
-      }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      if (action != null) {
+        let iterator2;
+        stream = new ReadableStream({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+                controller.byobRequest?.respond(0);
+              });
+            } else {
+              if (!isErrored(stream)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      const body = { stream, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
-        }
-      }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
-          }
-          return value;
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
         },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  for (const [name, value2] of entries) {
+                    fd.append(name, value2);
+                  }
+                  return fd;
+                }
+              }
+            }
+            throw new TypeError(
+              'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
             );
-          }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
+          }, instance);
+        },
+        bytes() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes);
+          }, instance);
         }
-      }
-      return bytes;
+      };
+      return methods;
     }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function consumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      if (bodyUnusable(object)) {
+        throw new TypeError("Body is unusable: Body has already been read");
       }
-      return s.replace(/\r?\n/g, nativeLineEnding);
+      throwIfAborted(object[kState]);
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
     }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    module2.exports = { File: File2, FileLike, isFileLike };
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
   }
 });
 
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
     "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
-          });
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kParser,
+      kBlocking,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kMaxRequests,
+      kCounter,
+      kMaxResponseSize,
+      kOnError,
+      kResume,
+      kHTTPContext
+    } = require_symbols6();
+    var constants = require_constants7();
+    var EMPTY_BUF = Buffer.alloc(0);
+    var FastBuffer = Buffer[Symbol.species];
+    var addListener = util.addListener;
+    var removeAllListeners = util.removeAllListeners;
+    var extractBody;
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageComplete() || 0;
+          }
+          /* eslint-enable camelcase */
         }
-        this[kState] = [];
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var USE_NATIVE_TIMER = 0;
+    var USE_FAST_TIMER = 1;
+    var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
+    var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
+    var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
       }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+      setTimeout(delay, type2) {
+        if (delay !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
+        this.timeoutType = type2;
       }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
+        }
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
       }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
+          }
+          this.execute(chunk);
         }
-        return this[kState][idx].value;
       }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
+          }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
+        }
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
+        try {
+          let ret;
+          try {
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
+          } catch (err) {
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
+          }
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
+            }
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
+          }
+        } catch (err) {
+          util.destroy(socket, err);
+        }
       }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        this.timeout && timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
       }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
-        } else {
-          this[kState].push(entry);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
+        request2.onResponseStarted();
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        this.trackHeader(buf.length);
       }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        const key = this.headers[len - 2];
+        if (key.length === 10) {
+          const headerName = util.bufferToLowerCasedHeaderName(key);
+          if (headerName === "keep-alive") {
+            this.keepAlive += buf.toString();
+          } else if (headerName === "connection") {
+            this.connection += buf.toString();
+          }
+        } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") {
+          this.contentLength += buf.toString();
         }
+        this.trackHeader(buf.length);
       }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
-        }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
         }
       }
-      return { name, value };
-    }
-    module2.exports = { FormData: FormData2 };
-  }
-});
-
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
-    "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        assert(client[kSocket] === socket);
+        assert(!socket.destroyed);
+        assert(!this.paused);
+        assert((headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        removeAllListeners(socket);
+        client[kSocket] = null;
+        client[kHTTPContext] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+        client[kResume]();
       }
-      let stream = null;
-      if (object instanceof ReadableStream2) {
-        stream = object;
-      } else if (isBlobLike(object)) {
-        stream = object.stream();
-      } else {
-        stream = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
+        }
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
+        }
+        assert(this.timeoutType === TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        assert((this.headers.length & 1) === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
             );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
-      }
-      assert(isReadableStreamLike(stream));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
-      } else if (isArrayBuffer(object)) {
-        source = new Uint8Array(object.slice());
-      } else if (ArrayBuffer.isView(object)) {
-        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
-      } else if (util.isFormDataLike(object)) {
-        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
-        const prefix = `--${boundary}\r
-Content-Disposition: form-data`;
-        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
-        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
-        const blobParts = [];
-        const rn = new Uint8Array([13, 10]);
-        length = 0;
-        let hasUnknownSizeValue = false;
-        for (const [name, value] of object) {
-          if (typeof value === "string") {
-            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
-\r
-${normalizeLinefeeds(value)}\r
-`);
-            blobParts.push(chunk2);
-            length += chunk2.byteLength;
-          } else {
-            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
-Content-Type: ${value.type || "application/octet-stream"}\r
-\r
-`);
-            blobParts.push(chunk2, value, rn);
-            if (typeof value.size === "number") {
-              length += chunk2.byteLength + value.size + rn.byteLength;
+            if (timeout <= 0) {
+              socket[kReset] = true;
             } else {
-              hasUnknownSizeValue = true;
+              client[kKeepAliveTimeoutValue] = timeout;
             }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
           }
+        } else {
+          socket[kReset] = true;
         }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
         }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
+        if (request2.method === "HEAD") {
+          return 1;
+        }
+        if (statusCode < 200) {
+          return 1;
+        }
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          client[kResume]();
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
         }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
         }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
         }
-        stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
+        }
+        if (upgrade) {
+          return;
+        }
+        assert(statusCode >= 100);
+        assert((this.headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert(client[kRunning] === 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] == null || client[kPipelining] === 1) {
+          setImmediate(() => client[kResume]());
+        } else {
+          client[kResume]();
+        }
       }
-      if (action != null) {
-        let iterator2;
-        stream = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+    };
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client, paused } = parser.deref();
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-      const body = { stream, source, length };
-      return [body, type2];
     }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream = body.stream;
-          if (util.isDisturbed(stream)) {
-            throw new TypeError("The body has already been consumed.");
+      socket[kNoRef] = false;
+      socket[kWriting] = false;
+      socket[kReset] = false;
+      socket[kBlocking] = false;
+      socket[kParser] = new Parser(client, socket, llhttpInstance);
+      addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        const parser = this[kParser];
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
+      });
+      addListener(socket, "end", function() {
+        const parser = this[kParser];
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      addListener(socket, "close", function() {
+        const client2 = this[kClient];
+        const parser = this[kParser];
+        if (parser) {
+          if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+            parser.onMessageComplete();
           }
-          if (stream.locked) {
-            throw new TypeError("The stream is locked.");
+          this[kParser].destroy();
+          this[kParser] = null;
+        }
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client2[kSocket] = null;
+        client2[kHTTPContext] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
           }
-          stream[kBodyUsed] = true;
-          yield* stream;
+        } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+          const request2 = client2[kQueue][client2[kRunningIdx]];
+          client2[kQueue][client2[kRunningIdx]++] = null;
+          util.errorRequest(client2, request2, err);
         }
-      }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
-      }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
+        client2[kPendingIdx] = client2[kRunningIdx];
+        assert(client2[kRunning] === 0);
+        client2.emit("disconnect", client2[kUrl], [client2], err);
+        client2[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h1",
+        defaultPipelining: 1,
+        write(...args) {
+          return writeH1(client, ...args);
         },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
+        resume() {
+          resumeH1(client);
         },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
         },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy(request2) {
+          if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+            return true;
+          }
+          if (request2) {
+            if (client[kRunning] > 0 && !request2.idempotent) {
+              return true;
             }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve3, reject) => {
-              busboy.on("finish", resolve3);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
             }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
+            if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) {
+              return true;
             }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
           }
+          return false;
         }
       };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
     }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
-      }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
+    function resumeH1(client) {
+      const socket = client[kSocket];
+      if (socket && !socket.destroyed) {
+        if (client[kSize] === 0) {
+          if (!socket[kNoRef] && socket.unref) {
+            socket.unref();
+            socket[kNoRef] = true;
+          }
+        } else if (socket[kNoRef] && socket.ref) {
+          socket.ref();
+          socket[kNoRef] = false;
+        }
+        if (client[kSize] === 0) {
+          if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
+            socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
+          }
+        } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+          if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+            const request2 = client[kQueue][client[kRunningIdx]];
+            const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];
+            socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          }
         }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
     }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
     }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
+    function writeH1(client, request2) {
+      const { method, path: path4, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
       }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
-    };
-  }
-});
-
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
-    "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path4,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path4 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path4[0] !== "/" && !(path4.startsWith("http://") || path4.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path4) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
-        }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
-          }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
-            }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path4, query) : path4;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
         }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
-          }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
-          }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path4} HTTP/1.1\r
 `;
-          }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
+      if (typeof host === "string") {
+        header += `host: ${host}\r
 `;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
-        }
+      } else {
+        header += client[kHostHeader];
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
-        }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
+      if (Array.isArray(headers)) {
+        for (let n = 0; n < headers.length; n += 2) {
+          const key = headers[n + 0];
+          const val = headers[n + 1];
+          if (Array.isArray(val)) {
+            for (let i = 0; i < val.length; i++) {
+              header += `${key}: ${val[i]}\r
+`;
+            }
+          } else {
+            header += `${key}: ${val}\r
+`;
           }
         }
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
         } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
         }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
         }
         try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
         } catch (err) {
-          this.abort(err);
+          util.destroy(this, err);
         }
-      }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
-        }
-      }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
-      }
-      onComplete(trailers) {
-        this.onFinally();
-        assert(!this.aborted);
-        this.completed = true;
-        if (channels.trailers.hasSubscribers) {
-          channels.trailers.publish({ request: this, trailers });
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
         }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+        if (body.resume) {
+          body.resume();
         }
-      }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
         }
-        if (this.aborted) {
+      };
+      const onFinished = function(err) {
+        if (finished) {
           return;
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
-      }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
         }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
         }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
       }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
           }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        return request2;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return headers;
-      }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
     }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
-        }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+      }
+      const waitForDrain = () => new Promise((resolve3, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve3;
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
-            }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
         }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
     }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
-      }
-      close() {
-        throw new Error("not implemented");
-      }
-      destroy() {
-        throw new Error("not implemented");
-      }
-    };
-    module2.exports = Dispatcher;
-  }
-});
-
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
-    "use strict";
-    var Dispatcher = require_dispatcher2();
-    var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
-      constructor() {
-        super();
-        this[kDestroyed] = false;
-        this[kOnDestroyed] = null;
-        this[kClosed] = false;
-        this[kOnClosed] = [];
-      }
-      get destroyed() {
-        return this[kDestroyed];
-      }
-      get closed() {
-        return this[kClosed];
-      }
-      get interceptors() {
-        return this[kInterceptors];
+    var AsyncWriter = class {
+      constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        this.abort = abort;
+        socket[kWriting] = true;
       }
-      set interceptors(newInterceptors) {
-        if (newInterceptors) {
-          for (let i = newInterceptors.length - 1; i >= 0; i--) {
-            const interceptor = this[kInterceptors][i];
-            if (typeof interceptor !== "function") {
-              throw new InvalidArgumentError("interceptor must be an function");
-            }
-          }
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        this[kInterceptors] = newInterceptors;
-      }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve3, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve3(data);
-            });
-          });
+        if (socket.destroyed) {
+          return false;
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
-          return;
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          }
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
           } else {
-            queueMicrotask(() => callback(null, null));
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
           }
-          return;
         }
-        this[kClosed] = true;
-        this[kOnClosed].push(callback);
-        const onClosed = () => {
-          const callbacks = this[kOnClosed];
-          this[kOnClosed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
+        }
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
+            }
           }
-        };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
         }
-        if (callback === void 0) {
-          return new Promise((resolve3, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve3(data);
-            });
-          });
+        return ret;
+      }
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        if (socket.destroyed) {
+          return;
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
           } else {
-            queueMicrotask(() => callback(null, null));
+            socket.write(`${header}\r
+`, "latin1");
           }
-          return;
-        }
-        if (!err) {
-          err = new ClientDestroyedError();
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
         }
-        this[kDestroyed] = true;
-        this[kOnDestroyed] = this[kOnDestroyed] || [];
-        this[kOnDestroyed].push(callback);
-        const onDestroyed = () => {
-          const callbacks = this[kOnDestroyed];
-          this[kOnDestroyed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
           }
-        };
-        this[kDestroy](err).then(() => {
-          queueMicrotask(onDestroyed);
-        });
-      }
-      [kInterceptedDispatch](opts, handler2) {
-        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
-          this[kInterceptedDispatch] = this[kDispatch];
-          return this[kDispatch](opts, handler2);
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        client[kResume]();
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
-        }
-        try {
-          if (!opts || typeof opts !== "object") {
-            throw new InvalidArgumentError("opts must be an object.");
-          }
-          if (this[kDestroyed] || this[kOnDestroyed]) {
-            throw new ClientDestroyedError();
-          }
-          if (this[kClosed]) {
-            throw new ClientClosedError();
-          }
-          return this[kInterceptedDispatch](opts, handler2);
-        } catch (err) {
-          if (typeof handler2.onError !== "function") {
-            throw new InvalidArgumentError("invalid onError method");
-          }
-          handler2.onError(err);
-          return false;
+      destroy(err) {
+        const { socket, client, abort } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          abort(err);
         }
       }
     };
-    module2.exports = DispatcherBase;
+    module2.exports = connectH1;
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
     var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._sessionRegistry = new global.FinalizationRegistry((key) => {
-            if (this._sessionCache.size < this._maxCachedSessions) {
-              return;
-            }
-            const ref = this._sessionCache.get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this._sessionCache.delete(key);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ Symbol("open streams");
+    var extractBody;
+    var h2ExperimentalWarned = false;
+    var http2;
+    try {
+      http2 = require("node:http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
+      }
+    } = http2;
+    function parseH2Headers(headers) {
+      const result = [];
+      for (const [name, value] of Object.entries(headers)) {
+        if (Array.isArray(value)) {
+          for (const subvalue of value) {
+            result.push(Buffer.from(name), Buffer.from(subvalue));
           }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
+        } else {
+          result.push(Buffer.from(name), Buffer.from(value));
         }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+      }
+      return result;
+    }
+    async function connectH2(client, socket) {
+      client[kSocket] = socket;
+      if (!h2ExperimentalWarned) {
+        h2ExperimentalWarned = true;
+        process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+          code: "UNDICI-H2"
+        });
+      }
+      const session = http2.connect(client[kUrl], {
+        createConnection: () => socket,
+        peerMaxConcurrentStreams: client[kMaxConcurrentStreams]
+      });
+      session[kOpenStreams] = 0;
+      session[kClient] = client;
+      session[kSocket] = socket;
+      util.addListener(session, "error", onHttp2SessionError);
+      util.addListener(session, "frameError", onHttp2FrameError);
+      util.addListener(session, "end", onHttp2SessionEnd);
+      util.addListener(session, "goaway", onHTTP2GoAway);
+      util.addListener(session, "close", function() {
+        const { [kClient]: client2 } = this;
+        const { [kSocket]: socket2 } = client2;
+        const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2));
+        client2[kHTTP2Session] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+      });
+      session.unref();
+      client[kHTTP2Session] = session;
+      socket[kHTTP2Session] = session;
+      util.addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      util.addListener(socket, "end", function() {
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      util.addListener(socket, "close", function() {
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client[kSocket] = null;
+        if (this[kHTTP2Session] != null) {
+          this[kHTTP2Session].destroy(err);
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
+        client[kPendingIdx] = client[kRunningIdx];
+        assert(client[kRunning] === 0);
+        client.emit("disconnect", client[kUrl], [client], err);
+        client[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h2",
+        defaultPipelining: Infinity,
+        write(...args) {
+          return writeH2(client, ...args);
+        },
+        resume() {
+          resumeH2(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
           }
-          this._sessionCache.set(sessionKey, session);
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy() {
+          return false;
         }
       };
     }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+    function resumeH2(client) {
+      const socket = client[kSocket];
+      if (socket?.destroyed === false) {
+        if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {
+          socket.unref();
+          client[kHTTP2Session].unref();
+        } else {
+          socket.ref();
+          client[kHTTP2Session].ref();
+        }
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
+      }
+    }
+    function onHttp2SessionEnd() {
+      const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket]));
+      this.destroy(err);
+      util.destroy(this[kSocket], err);
+    }
+    function onHTTP2GoAway(code) {
+      const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this));
+      const client = this[kClient];
+      client[kSocket] = null;
+      client[kHTTPContext] = null;
+      if (this[kHTTP2Session] != null) {
+        this[kHTTP2Session].destroy(err);
+        this[kHTTP2Session] = null;
+      }
+      util.destroy(this[kSocket], err);
+      if (client[kRunningIdx] < client[kQueue].length) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        util.errorRequest(client, request2, err);
+        client[kPendingIdx] = client[kRunningIdx];
+      }
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      client[kResume]();
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH2(client, request2) {
+      const session = client[kHTTP2Session];
+      const { method, path: path4, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
+            }
           }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...options,
-            servername,
-            session,
-            localAddress,
-            // TODO(HTTP/2): Add support for h2c
-            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
-            socket: httpSocket,
-            // upgrade socket connection
-            port: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
         } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
+          headers[key] = val;
+        }
+      }
+      let stream;
+      const { hostname, port } = client[kUrl];
+      headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
+      headers[HTTP2_HEADER_METHOD] = method;
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream != null) {
+          util.destroy(stream, err);
+        }
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "CONNECT") {
+        session.ref();
+        stream = session.request(headers, { endStream: false, signal });
+        if (stream.id && !stream.pending) {
+          request2.onUpgrade(null, null, stream);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream.once("ready", () => {
+            request2.onUpgrade(null, null, stream);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
           });
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        stream.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
+        });
+        return true;
+      }
+      headers[HTTP2_HEADER_PATH] = path4;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      }
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
-          }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      }
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
         });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
+        writeBodyH2();
       }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+      ++session[kOpenStreams];
+      stream.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        request2.onResponseStarted();
+        if (request2.aborted) {
+          const err = new RequestAbortedError();
+          util.errorRequest(client, request2, err);
+          util.destroy(stream, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) {
+          stream.pause();
+        }
+        stream.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream.pause();
           }
         });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
+      });
+      stream.once("end", () => {
+        if (stream.state?.state == null || stream.state.state < 6) {
+          request2.onComplete([]);
+        }
+        if (session[kOpenStreams] === 0) {
+          session.unref();
         }
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
       });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
-    var TYPE;
-    (function(TYPE2) {
-      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
-      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
-      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
-    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
-    var FLAGS;
-    (function(FLAGS2) {
-      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
-      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
-      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
-      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
-      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
-      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
-      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
-      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
-      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
-    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
-    var LENIENT_FLAGS;
-    (function(LENIENT_FLAGS2) {
-      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
-    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
-    var METHODS;
-    (function(METHODS2) {
-      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
-      METHODS2[METHODS2["GET"] = 1] = "GET";
-      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
-      METHODS2[METHODS2["POST"] = 3] = "POST";
-      METHODS2[METHODS2["PUT"] = 4] = "PUT";
-      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
-      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
-      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
-      METHODS2[METHODS2["COPY"] = 8] = "COPY";
-      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
-      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
-      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
-      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
-      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
-      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
-      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
-      METHODS2[METHODS2["BIND"] = 16] = "BIND";
-      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
-      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
-      METHODS2[METHODS2["ACL"] = 19] = "ACL";
-      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
-      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
-      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
-      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
-      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
-      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
-      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
-      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
-      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
-      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
-      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
-      METHODS2[METHODS2["LINK"] = 31] = "LINK";
-      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
-      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
-      METHODS2[METHODS2["PRI"] = 34] = "PRI";
-      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
-      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
-      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
-      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
-      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
-      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
-      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
-      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
-      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
-      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
-      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
-    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
-    exports2.METHODS_HTTP = [
-      METHODS.DELETE,
-      METHODS.GET,
-      METHODS.HEAD,
-      METHODS.POST,
-      METHODS.PUT,
-      METHODS.CONNECT,
-      METHODS.OPTIONS,
-      METHODS.TRACE,
-      METHODS.COPY,
-      METHODS.LOCK,
-      METHODS.MKCOL,
-      METHODS.MOVE,
-      METHODS.PROPFIND,
-      METHODS.PROPPATCH,
-      METHODS.SEARCH,
-      METHODS.UNLOCK,
-      METHODS.BIND,
-      METHODS.REBIND,
-      METHODS.UNBIND,
-      METHODS.ACL,
-      METHODS.REPORT,
-      METHODS.MKACTIVITY,
-      METHODS.CHECKOUT,
-      METHODS.MERGE,
-      METHODS["M-SEARCH"],
-      METHODS.NOTIFY,
-      METHODS.SUBSCRIBE,
-      METHODS.UNSUBSCRIBE,
-      METHODS.PATCH,
-      METHODS.PURGE,
-      METHODS.MKCALENDAR,
-      METHODS.LINK,
-      METHODS.UNLINK,
-      METHODS.PRI,
-      // TODO(indutny): should we allow it with HTTP?
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_ICE = [
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_RTSP = [
-      METHODS.OPTIONS,
-      METHODS.DESCRIBE,
-      METHODS.ANNOUNCE,
-      METHODS.SETUP,
-      METHODS.PLAY,
-      METHODS.PAUSE,
-      METHODS.TEARDOWN,
-      METHODS.GET_PARAMETER,
-      METHODS.SET_PARAMETER,
-      METHODS.REDIRECT,
-      METHODS.RECORD,
-      METHODS.FLUSH,
-      // For AirPlay
-      METHODS.GET,
-      METHODS.POST
-    ];
-    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
-    exports2.H_METHOD_MAP = {};
-    Object.keys(exports2.METHOD_MAP).forEach((key) => {
-      if (/^H/.test(key)) {
-        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+      stream.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream.once("error", function(err) {
+        abort(err);
+      });
+      stream.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
     }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.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
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
+      }
     }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
     }
-    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
-    exports2.MAJOR = exports2.NUM_MAP;
-    exports2.MINOR = exports2.MAJOR;
-    var HEADER_STATE;
-    (function(HEADER_STATE2) {
-      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
-      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
-      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
-    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
-    exports2.SPECIAL_HEADERS = {
-      "connection": HEADER_STATE.CONNECTION,
-      "content-length": HEADER_STATE.CONTENT_LENGTH,
-      "proxy-connection": HEADER_STATE.CONNECTION,
-      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
-      "upgrade": HEADER_STATE.UPGRADE
-    };
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      }
+    }
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
+      }
+      const waitForDrain = () => new Promise((resolve3, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve3;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
+          }
+        }
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
+      }
+    }
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
     var util = require_util9();
     var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
+    var EE = require("node:events");
     var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
     var kBody = /* @__PURE__ */ Symbol("body");
     var BodyAsyncIterable = class {
@@ -27729,6 +28500,7 @@ var require_RedirectHandler = __commonJS({
         this.maxRedirections = maxRedirections;
         this.handler = handler2;
         this.history = [];
+        this.redirectionLimitReached = false;
         if (util.isStream(this.opts.body)) {
           if (util.bodyLength(this.opts.body) === 0) {
             this.opts.body.on("data", function() {
@@ -27759,6 +28531,14 @@ var require_RedirectHandler = __commonJS({
       }
       onHeaders(statusCode, headers, resume, statusText) {
         this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
+          if (this.request) {
+            this.request.abort(new Error("max redirects"));
+          }
+          this.redirectionLimitReached = true;
+          this.abort(new Error("max redirects"));
+          return;
+        }
         if (this.opts.origin) {
           this.history.push(new URL(this.opts.path, this.opts.origin));
         }
@@ -27803,7 +28583,7 @@ var require_RedirectHandler = __commonJS({
         return null;
       }
       for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
           return headers[i + 1];
         }
       }
@@ -27844,11 +28624,11 @@ var require_RedirectHandler = __commonJS({
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
+    var RedirectHandler = require_redirect_handler2();
     function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
       return (dispatch) => {
         return function Intercept(opts, handler2) {
@@ -27866,73 +28646,43 @@ var require_redirectInterceptor = __commonJS({
   }
 });
 
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
-  }
-});
-
-// node_modules/undici/lib/client.js
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
 var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
     var util = require_util9();
-    var timers = require_timers2();
+    var { channels } = require_diagnostics2();
     var Request = require_request3();
     var DispatcherBase = require_dispatcher_base2();
     var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
       InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
       InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
       ClientDestroyedError
     } = require_errors2();
     var buildConnector = require_connect2();
     var {
       kUrl,
-      kReset,
       kServerName,
       kClient,
       kBusy,
-      kParser,
       kConnect,
-      kBlocking,
       kResuming,
       kRunning,
       kPending,
       kSize,
-      kWriting,
       kQueue,
       kConnected,
       kConnecting,
       kNeedDrain,
-      kNoRef,
       kKeepAliveDefaultTimeout,
       kHostHeader,
       kPendingIdx,
       kRunningIdx,
       kError,
       kPipelining,
-      kSocket,
       kKeepAliveTimeoutValue,
       kMaxHeadersSize,
       kKeepAliveMaxTimeout,
@@ -27950,53 +28700,25 @@ var require_client2 = __commonJS({
       kInterceptors,
       kLocalAddress,
       kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
     } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("http2");
-    } catch {
-      http2 = { constants: {} };
-    }
-    var {
-      constants: {
-        HTTP2_HEADER_AUTHORITY,
-        HTTP2_HEADER_METHOD,
-        HTTP2_HEADER_PATH,
-        HTTP2_HEADER_SCHEME,
-        HTTP2_HEADER_CONTENT_LENGTH,
-        HTTP2_HEADER_EXPECT,
-        HTTP2_HEADER_STATUS
-      }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
     var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
+    var noop3 = () => {
+    };
+    function getPipelining(client) {
+      return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
     }
     var Client = class extends DispatcherBase {
       /**
        *
        * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
+       * @param {import('../../types/client.js').Client.Options} options
        */
       constructor(url, {
         interceptors,
@@ -28025,8 +28747,8 @@ var require_client2 = __commonJS({
         autoSelectFamily,
         autoSelectFamilyAttemptTimeout,
         // h2
-        allowH2,
-        maxConcurrentStreams
+        maxConcurrentStreams,
+        allowH2
       } = {}) {
         super();
         if (keepAlive !== void 0) {
@@ -28090,7 +28812,7 @@ var require_client2 = __commonJS({
           throw new InvalidArgumentError("allowH2 must be a valid boolean value");
         }
         if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
         }
         if (typeof connect2 !== "function") {
           connect2 = buildConnector({
@@ -28099,19 +28821,28 @@ var require_client2 = __commonJS({
             allowH2,
             socketPath,
             timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
             ...connect2
           });
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        if (interceptors?.Client && Array.isArray(interceptors.Client)) {
+          this[kInterceptors] = interceptors.Client;
+          if (!deprecatedInterceptorWarned) {
+            deprecatedInterceptorWarned = true;
+            process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", {
+              code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"
+            });
+          }
+        } else {
+          this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })];
+        }
         this[kUrl] = util.parseOrigin(url);
         this[kConnector] = connect2;
-        this[kSocket] = null;
         this[kPipelining] = pipelining != null ? pipelining : 1;
         this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
         this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
         this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
         this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
         this[kServerName] = null;
         this[kLocalAddress] = localAddress != null ? localAddress : null;
@@ -28126,26 +28857,20 @@ var require_client2 = __commonJS({
         this[kMaxRequests] = maxRequestsPerClient;
         this[kClosedResolve] = null;
         this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
+        this[kHTTPContext] = null;
         this[kQueue] = [];
         this[kRunningIdx] = 0;
         this[kPendingIdx] = 0;
+        this[kResume] = (sync) => resume(this, sync);
+        this[kOnError] = (err) => onError(this, err);
       }
       get pipelining() {
         return this[kPipelining];
       }
       set pipelining(value) {
         this[kPipelining] = value;
-        resume(this, true);
+        this[kResume](true);
       }
       get [kPending]() {
         return this[kQueue].length - this[kPendingIdx];
@@ -28157,11 +28882,12 @@ var require_client2 = __commonJS({
         return this[kQueue].length - this[kRunningIdx];
       }
       get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
       get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
       /* istanbul ignore: only used for test */
       [kConnect](cb) {
@@ -28170,14 +28896,14 @@ var require_client2 = __commonJS({
       }
       [kDispatch](opts, handler2) {
         const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        const request2 = new Request(origin, opts, handler2);
         this[kQueue].push(request2);
         if (this[kResuming]) {
         } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
           this[kResuming] = 1;
-          process.nextTick(resume, this);
+          queueMicrotask(() => resume(this));
         } else {
-          resume(this, true);
+          this[kResume](true);
         }
         if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
           this[kNeedDrain] = 2;
@@ -28186,10 +28912,10 @@ var require_client2 = __commonJS({
       }
       async [kClose]() {
         return new Promise((resolve3) => {
-          if (!this[kSize]) {
-            resolve3(null);
-          } else {
+          if (this[kSize]) {
             this[kClosedResolve] = resolve3;
+          } else {
+            resolve3(null);
           }
         });
       }
@@ -28198,2393 +28924,2110 @@ var require_client2 = __commonJS({
           const requests = this[kQueue].splice(this[kPendingIdx]);
           for (let i = 0; i < requests.length; i++) {
             const request2 = requests[i];
-            errorRequest2(this, request2, err);
+            util.errorRequest(this, request2, err);
           }
           const callback = () => {
             if (this[kClosedResolve]) {
               this[kClosedResolve]();
               this[kClosedResolve] = null;
             }
-            resolve3();
+            resolve3(null);
           };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            util.destroy(this[kSocket].on("close", callback), err);
+            queueMicrotask(callback);
           }
-          resume(this);
+          this[kResume]();
         });
       }
     };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
         const requests = client[kQueue].splice(client[kRunningIdx]);
         for (let i = 0; i < requests.length; i++) {
           const request2 = requests[i];
-          errorRequest2(this, request2, err);
+          util.errorRequest(client, request2, err);
         }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+        assert(client[kSize] === 0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
     }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
-      try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kHTTPContext]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            version: client[kHTTPContext]?.version,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
           },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
+          connector: client[kConnector]
+        });
+      }
+      try {
+        const socket = await new Promise((resolve3, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve3(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
+        }
+        assert(socket);
+        try {
+          client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket);
+        } catch (err) {
+          socket.destroy().on("error", noop3);
+          throw err;
+        }
+        client[kConnecting] = false;
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
+        }
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
+        }
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
+        }
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            util.errorRequest(client, request2, err);
           }
-          /* eslint-enable camelcase */
+        } else {
+          onError(client, err);
         }
-      });
+        client.emit("connectionError", client[kUrl], [client], err);
+      }
+      client[kResume]();
     }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: exports3 }) {
-        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
-        this.llhttp = exports3;
-        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
-        this.client = client;
-        this.socket = socket;
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.statusCode = null;
-        this.statusText = "";
-        this.upgrade = false;
-        this.headers = [];
-        this.headersSize = 0;
-        this.headersMaxSize = client[kMaxHeadersSize];
-        this.shouldKeepAlive = false;
-        this.paused = false;
-        this.resume = this.resume.bind(this);
-        this.bytesRead = 0;
-        this.keepAlive = "";
-        this.contentLength = "";
-        this.connection = "";
-        this.maxResponseSize = client[kMaxResponseSize];
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
+      }
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
+        }
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
+        }
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
+        }
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
           } else {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+            emitDrain(client);
           }
+          continue;
         }
-      }
-      resume() {
-        if (this.socket.destroyed || !this.paused) {
+        if (client[kPending] === 0) {
           return;
         }
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_resume(this.ptr);
-        assert(this.timeoutType === TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
         }
-        this.paused = false;
-        this.execute(this.socket.read() || EMPTY_BUF);
-        this.readMore();
-      }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
-            break;
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
           }
-          this.execute(chunk);
+          client[kServerName] = request2.servername;
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
         }
-      }
-      execute(data) {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        assert(!this.paused);
-        const { socket, llhttp } = this;
-        if (data.length > currentBufferSize) {
-          if (currentBufferPtr) {
-            llhttp.free(currentBufferPtr);
-          }
-          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
-          currentBufferPtr = llhttp.malloc(currentBufferSize);
+        if (client[kConnecting]) {
+          return;
         }
-        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
-        try {
-          let ret;
-          try {
-            currentBufferRef = data;
-            currentParser = this;
-            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
-          } catch (err) {
-            throw err;
-          } finally {
-            currentParser = null;
-            currentBufferRef = null;
-          }
-          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
-          if (ret === constants.ERROR.PAUSED_UPGRADE) {
-            this.onUpgrade(data.slice(offset));
-          } else if (ret === constants.ERROR.PAUSED) {
-            this.paused = true;
-            socket.unshift(data.slice(offset));
-          } else if (ret !== constants.ERROR.OK) {
-            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
-            let message = "";
-            if (ptr) {
-              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
-              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
-            }
-            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
-          }
-        } catch (err) {
-          util.destroy(socket, err);
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
         }
-      }
-      destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
-      }
-      onStatus(buf) {
-        this.statusText = buf.toString();
-      }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
+        if (client[kHTTPContext].destroyed) {
+          return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
+        if (client[kHTTPContext].busy(request2)) {
+          return;
         }
-      }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
         } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
-        this.trackHeader(buf.length);
       }
-      onHeaderValue(buf) {
-        let len = this.headers.length;
-        if ((len & 1) === 1) {
-          this.headers.push(buf);
-          len += 1;
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        const key = this.headers[len - 2];
-        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
-        }
-        this.trackHeader(buf.length);
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
+    "use strict";
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
+      constructor() {
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
-        }
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
-        try {
-          request2.onUpgrade(statusCode, headers, socket);
-        } catch (err) {
-          util.destroy(socket, err);
-        }
-        resume(client);
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
-        const { client, socket, headers, statusText } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
-        }
-        assert(!this.upgrade);
-        assert(this.statusCode < 200);
-        if (statusCode === 100) {
-          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
-          return -1;
-        }
-        if (upgrade && !request2.upgrade) {
-          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
-          return -1;
-        }
-        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
-        this.statusCode = statusCode;
-        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
-        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
-        if (this.statusCode >= 200) {
-          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
-          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
+      }
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
+      }
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
+      }
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
         }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        this.head.push(data);
+      }
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
-            } else {
-              client[kKeepAliveTimeoutValue] = timeout;
+        return next;
+      }
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
+      }
+      get connected() {
+        return this[kPool][kConnected];
+      }
+      get free() {
+        return this[kPool][kFree];
+      }
+      get pending() {
+        return this[kPool][kPending];
+      }
+      get queued() {
+        return this[kPool][kQueued];
+      }
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
+      }
+    };
+    module2.exports = PoolStats;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
+      constructor() {
+        super();
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
             }
-          } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-        } else {
-          socket[kReset] = true;
-        }
-        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
-        if (request2.aborted) {
-          return -1;
-        }
-        if (request2.method === "HEAD") {
-          return 1;
-        }
-        if (statusCode < 200) {
-          return 1;
-        }
-        if (socket[kBlocking]) {
-          socket[kBlocking] = false;
-          resume(client);
-        }
-        return pause ? constants.ERROR.PAUSED : 0;
-      }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-        }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
-        }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
-        }
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+          }
+        };
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
-          return;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
-        }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
-        }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
-        }
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-    };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-    }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
+        return ret;
       }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
-        assert(client[kSize] === 0);
+        return ret;
       }
-    }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
-    }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-        }
-        this[kParser].destroy();
-        this[kParser] = null;
+      get stats() {
+        return this[kStats];
       }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve3) => {
+            this[kClosedResolve] = resolve3;
+          });
         }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
+        }
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
+        }
+        return !this[kNeedDrain];
       }
-      try {
-        const socket = await new Promise((resolve3, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve3(socket2);
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          queueMicrotask(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
             }
           });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
-          return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
-          }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
-          });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+        return this;
+      }
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      }
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
         }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
-          });
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
-          return;
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
           });
         }
-        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
-          assert(client[kRunning] === 0);
-          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
-            const request2 = client[kQueue][client[kPendingIdx]++];
-            errorRequest2(client, request2, err);
+        this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
+          }
+        });
+      }
+      [kGetDispatcher]() {
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
           }
-        } else {
-          onError(client, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+          return dispatcher;
+        }
       }
-      resume(client);
+    };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors2();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
+      }
+      return a;
     }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
+        }
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
       }
-      client[kResuming] = 2;
-      _resume(client, sync);
-      client[kResuming] = 0;
-      if (client[kRunningIdx] > 256) {
-        client[kQueue].splice(0, client[kRunningIdx]);
-        client[kPendingIdx] -= client[kRunningIdx];
-        client[kRunningIdx] = 0;
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
+        }
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
+          }
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
+        }
+        this._updateBalancedPoolStats();
+        return this;
       }
-    }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
+        }
+        this[kGreatestCommonDivisor] = result;
+      }
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
+        }
+        return this;
+      }
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      }
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
+        }
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
           return;
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
           return;
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
-            }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
           }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
-            }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
             }
           }
-        }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
           }
-          continue;
         }
-        if (client[kPending] === 0) {
-          return;
-        }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
+      }
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors2();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
-          }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
-          }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (client[kConnecting]) {
-          return;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kOnDrain] = (origin, targets) => {
+          this.emit("drain", origin, [this, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          this.emit("connect", origin, [this, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          this.emit("disconnect", origin, [this, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          this.emit("connectionError", origin, [this, ...targets], err);
+        };
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        return ret;
+      }
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
-          return;
+        let dispatcher = this[kClients].get(key);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, dispatcher);
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
+        return dispatcher.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+        this[kClients].clear();
+        await Promise.all(closePromises);
+      }
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const client of this[kClients].values()) {
+          destroyPromises.push(client.destroy(err));
         }
+        this[kClients].clear();
+        await Promise.all(destroyPromises);
       }
+    };
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path4, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
-      }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
-      }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+    var noop3 = () => {
+    };
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      return new Pool(origin, opts);
+    }
+    var Http1ProxyWrapper = class extends DispatcherBase {
+      #client;
+      constructor(proxyUrl, { headers = {}, connect, factory }) {
+        super();
+        if (!proxyUrl) {
+          throw new InvalidArgumentError("Proxy URL is mandatory");
+        }
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
+      [kDispatch](opts, handler2) {
+        const onHeaders = handler2.onHeaders;
+        handler2.onHeaders = function(statusCode, data, resume) {
+          if (statusCode === 407) {
+            if (typeof handler2.onError === "function") {
+              handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
+            }
             return;
           }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
-      }
-      if (request2.aborted) {
-        return false;
-      }
-      if (method === "HEAD") {
-        socket[kReset] = true;
-      }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
-      }
-      if (reset != null) {
-        socket[kReset] = reset;
-      }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
-      }
-      if (blocking) {
-        socket[kBlocking] = true;
-      }
-      let header = `${method} ${path4} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
-      }
-      if (upgrade) {
-        header += `connection: upgrade\r
-upgrade: ${upgrade}\r
-`;
-      } else if (client[kPipelining] && !socket[kReset]) {
-        header += "connection: keep-alive\r\n";
-      } else {
-        header += "connection: close\r\n";
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path4 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path4;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
+        }
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
       }
-      if (headers) {
-        header += headers;
+      async [kClose]() {
+        return this.#client.close();
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
       }
-      if (!body || bodyLength === 0) {
-        if (contentLength === 0) {
-          socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-        } else {
-          assert(contentLength === null, "no body must not have content length");
-          socket.write(`${header}\r
-`, "latin1");
+    };
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super();
+        if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) {
+          throw new InvalidArgumentError("Proxy uri is mandatory");
         }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        const { proxyTunnel = true } = opts;
+        const url = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url;
+        this[kProxy] = { uri: href, protocol };
+        this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        this[kTunnelProxy] = proxyTunnel;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else {
-        assert(false);
-      }
-      return true;
-    }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path4, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
-      }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        const agentFactory = opts.factory || defaultAgentFactory;
+        const factory = (origin2, options) => {
+          const { protocol: protocol2 } = new URL2(origin2);
+          if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
+            return new Http1ProxyWrapper(this[kProxy].uri, {
+              headers: this[kProxyHeaders],
+              connect,
+              factory: agentFactory
+            });
+          }
+          return agentFactory(origin2, options);
+        };
+        this[kClient] = clientFactory(url, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          factory,
+          connect: async (opts2, callback) => {
+            let requestedPath = opts2.host;
+            if (!opts2.port) {
+              requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedPath,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host: opts2.host
+                },
+                servername: this[kProxyTls]?.servername || proxyHostname
+              });
+              if (statusCode !== 200) {
+                socket.on("error", noop3).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+                callback(new SecureProxyConnectionError(err));
+              } else {
+                callback(err);
+              }
+            }
           }
-          errorRequest2(client, request2, err || new RequestAbortedError());
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
       }
-      if (request2.aborted) {
-        return false;
+      dispatch(opts, handler2) {
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        if (headers && !("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(opts.origin);
+          headers.host = host;
+        }
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-      let stream;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream = session.request(headers, { endStream: false, signal });
-        if (stream.id && !stream.pending) {
-          request2.onUpgrade(null, null, stream);
-          ++h2State.openStreams;
+      /**
+       * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts
+       * @returns {URL}
+       */
+      #getUrl(opts) {
+        if (typeof opts === "string") {
+          return new URL2(opts);
+        } else if (opts instanceof URL2) {
+          return opts;
         } else {
-          stream.once("ready", () => {
-            request2.onUpgrade(null, null, stream);
-            ++h2State.openStreams;
-          });
+          return new URL2(opts.uri);
         }
-        stream.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path4;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+    };
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
+        }
+        return headersPair;
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      return headers;
+    }
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      }
+    }
+    module2.exports = ProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
+        super();
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
+        const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
+        this[kNoProxyAgent] = new Agent(agentOpts);
+        const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
+        if (HTTP_PROXY) {
+          this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY });
+        } else {
+          this[kHttpProxyAgent] = this[kNoProxyAgent];
+        }
+        const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
+        if (HTTPS_PROXY) {
+          this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY });
+        } else {
+          this[kHttpsProxyAgent] = this[kHttpProxyAgent];
+        }
+        this.#parseNoProxy();
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      [kDispatch](opts, handler2) {
+        const url = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url);
+        return agent.dispatch(opts, handler2);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream = session.request(headers, { endStream: shouldEndStream, signal });
-        stream.once("continue", writeBodyH2);
-      } else {
-        stream = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
+        }
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
+        }
       }
-      ++h2State.openStreams;
-      stream.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
-          stream.pause();
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
         }
-      });
-      stream.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream.pause();
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
         }
-      });
-      stream.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
+      }
+      #getProxyAgentForUrl(url) {
+        let { protocol, host: hostname, port } = url;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
         }
-      });
-      stream.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
         }
-      });
-      stream.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
+        return this[kHttpProxyAgent];
+      }
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
         }
-      });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream.cork();
-          stream.write(body);
-          stream.uncork();
-          stream.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
+        if (this.#noProxyEntries.length === 0) {
+          return true;
+        }
+        if (this.#noProxyValue === "*") {
+          return false;
+        }
+        for (let i = 0; i < this.#noProxyEntries.length; i++) {
+          const entry = this.#noProxyEntries[i];
+          if (entry.port && entry.port !== port) {
+            continue;
+          }
+          if (!/^[.*]/.test(entry.hostname)) {
+            if (hostname === entry.hostname) {
+              return false;
+            }
           } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream,
-              header: "",
-              socket: client[kSocket]
-            });
+            if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
+              return false;
+            }
           }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
         }
+        return true;
       }
-    }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
+      #parseNoProxy() {
+        const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
+        const noProxySplit = noProxyValue.split(/[,\s]/);
+        const noProxyEntries = [];
+        for (let i = 0; i < noProxySplit.length; i++) {
+          const entry = noProxySplit[i];
+          if (!entry) {
+            continue;
           }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
+          const parsed = entry.match(/^(.+):(\d+)$/);
+          noProxyEntries.push({
+            hostname: (parsed ? parsed[1] : entry).toLowerCase(),
+            port: parsed ? Number.parseInt(parsed[2], 10) : 0
+          });
+        }
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
       }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
         }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      return new Date(retryAfter).getTime() - current;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          minTimeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "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((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
           }
-        } catch (err) {
-          util.destroy(this, err);
+        });
+      }
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
+      }
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
-        if (body.resume) {
-          body.resume();
+      }
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
         }
-      };
-      const onAbort = function() {
-        if (finished) {
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      }
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          minTimeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        const { counter } = state;
+        if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
+          cb(err);
           return;
         }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
           return;
         }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
-          try {
-            writer.end();
-          } catch (er) {
-            err = er;
-          }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
-        } else {
-          util.destroy(body);
-        }
-      };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
-    }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
         }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
+        if (counter > maxRetries) {
+          cb(err);
+          return;
         }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
-      }
-    }
-    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
-      let callback = null;
-      function onDrain() {
-        if (callback) {
-          const cb = callback;
-          callback = null;
-          cb();
+        let retryAfterHeader = headers?.["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
         }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
+        setTimeout(() => cb(null), retryTimeout);
       }
-      const waitForDrain = () => new Promise((resolve3, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve3;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          if (this.retryOpts.statusCodes.includes(statusCode) === false) {
+            return this.handler.onHeaders(
+              statusCode,
+              rawHeaders,
+              resume,
+              statusMessage
+            );
+          } else {
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
           }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
         }
-        return;
-      }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
+            this.abort(
+              new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
           }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
           }
-        }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
-      }
-    }
-    var AsyncWriter = class {
-      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
-        this.socket = socket;
-        this.request = request2;
-        this.contentLength = contentLength;
-        this.client = client;
-        this.bytesWritten = 0;
-        this.expectsPayload = expectsPayload;
-        this.header = header;
-        socket[kWriting] = true;
-      }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
-        }
-        if (socket.destroyed) {
-          return false;
-        }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
-        }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
           }
-          process.emitWarning(new RequestContentLengthMismatchError());
+          const { start, size, end = size - 1 } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
         }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
+            }
+            const { start, size, end = size - 1 } = range;
+            assert(
+              start != null && Number.isFinite(start),
+              "content-range mismatch"
+            );
+            assert(end != null && Number.isFinite(end), "invalid content-length");
+            this.start = start;
+            this.end = end;
           }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
-          } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
           }
-        }
-        if (contentLength === null) {
-          socket.write(`\r
-${len.toString(16)}\r
-`, "latin1");
-        }
-        this.bytesWritten += len;
-        const ret = socket.write(chunk);
-        socket.uncork();
-        request2.onBodySent(chunk);
-        if (!ret) {
-          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-            if (socket[kParser].timeout.refresh) {
-              socket[kParser].timeout.refresh();
-            }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          if (this.etag != null && this.etag.startsWith("W/")) {
+            this.etag = null;
           }
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
         }
-        return ret;
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          data: { count: this.retryCount }
+        });
+        this.abort(err);
+        return false;
       }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
+      }
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
+      }
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
         }
-        if (socket.destroyed) {
-          return;
+        if (this.retryCount - this.retryCountCheckpoint > 0) {
+          this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
+        } else {
+          this.retryCount += 1;
         }
-        if (bytesWritten === 0) {
-          if (expectsPayload) {
-            socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-          } else {
-            socket.write(`${header}\r
-`, "latin1");
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
+          },
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
           }
-        } else if (contentLength === null) {
-          socket.write("\r\n0\r\n\r\n", "latin1");
-        }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
+            }
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
           }
-        }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
-        resume(client);
-      }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
-        }
       }
     };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
-      }
-    }
-    module2.exports = Client;
+    module2.exports = RetryHandler;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
     "use strict";
-    var kSize = 2048;
-    var kMask = kSize - 1;
-    var FixedCircularBuffer = class {
-      constructor() {
-        this.bottom = 0;
-        this.top = 0;
-        this.list = new Array(kSize);
-        this.next = null;
-      }
-      isEmpty() {
-        return this.top === this.bottom;
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      close() {
+        return this.#agent.close();
       }
-      shift() {
-        const nextItem = this.list[this.bottom];
-        if (nextItem === void 0)
-          return null;
-        this.list[this.bottom] = void 0;
-        this.bottom = this.bottom + 1 & kMask;
-        return nextItem;
+      destroy() {
+        return this.#agent.destroy();
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
+    module2.exports = RetryAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
+    var util = require_util9();
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        contentLength,
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kContentLength] = contentLength;
+        this[kReading] = false;
       }
-      isEmpty() {
-        return this.head.isEmpty();
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
+        }
+        return super.destroy(err);
       }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
         }
-        this.head.push(data);
       }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        return next;
+        return super.on(ev, ...args);
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      get connected() {
-        return this[kPool][kConnected];
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+        }
+        return ret;
       }
-      get free() {
-        return this[kPool][kFree];
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      get pending() {
-        return this[kPool][kPending];
+      push(chunk) {
+        if (this[kConsume] && chunk !== null) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
+        }
+        return super.push(chunk);
       }
-      get queued() {
-        return this[kPool][kQueued];
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      get running() {
-        return this[kPool][kRunning];
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      get size() {
-        return this[kPool][kSize];
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-    };
-    module2.exports = PoolStats;
-  }
-});
-
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
-    "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ Symbol("stats");
-    var PoolBase = class extends DispatcherBase {
-      constructor() {
-        super();
-        this[kQueue] = new FixedQueue();
-        this[kClients] = [];
-        this[kQueued] = 0;
-        const pool = this;
-        this[kOnDrain] = function onDrain(origin, targets) {
-          const queue = pool[kQueue];
-          let needDrain = false;
-          while (!needDrain) {
-            const item = queue.shift();
-            if (!item) {
-              break;
-            }
-            pool[kQueued]--;
-            needDrain = !this.dispatch(item.opts, item.handler);
-          }
-          this[kNeedDrain] = needDrain;
-          if (!this[kNeedDrain] && pool[kNeedDrain]) {
-            pool[kNeedDrain] = false;
-            pool.emit("drain", origin, [pool, ...targets]);
-          }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
-          }
-        };
-        this[kOnConnect] = (origin, targets) => {
-          pool.emit("connect", origin, [pool, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          pool.emit("disconnect", origin, [pool, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          pool.emit("connectionError", origin, [pool, ...targets], err);
-        };
-        this[kStats] = new PoolStats(this);
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      get [kBusy]() {
-        return this[kNeedDrain];
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      get [kConnected]() {
-        return this[kClients].filter((client) => client[kConnected]).length;
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      get [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
+          }
         }
-        return ret;
+        return this[kBody];
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      async dump(opts) {
+        let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024;
+        const signal = opts?.signal;
+        if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
+          throw new InvalidArgumentError("signal must be an AbortSignal");
         }
-        return ret;
-      }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
         }
-        return ret;
-      }
-      get stats() {
-        return this[kStats];
+        return await new Promise((resolve3, reject) => {
+          if (this[kContentLength] > limit) {
+            this.destroy(new AbortError());
+          }
+          const onAbort = () => {
+            this.destroy(signal.reason ?? new AbortError());
+          };
+          signal?.addEventListener("abort", onAbort);
+          this.on("close", function() {
+            signal?.removeEventListener("abort", onAbort);
+            if (signal?.aborted) {
+              reject(signal.reason ?? new AbortError());
+            } else {
+              resolve3(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      assert(!stream[kConsume]);
+      return new Promise((resolve3, reject) => {
+        if (isUnusable(stream)) {
+          const rState = stream._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
+          } else {
+            reject(rState.errored ?? new TypeError("unusable"));
+          }
         } else {
-          return new Promise((resolve3) => {
-            this[kClosedResolve] = resolve3;
+          queueMicrotask(() => {
+            stream[kConsume] = {
+              type: type2,
+              stream,
+              resolve: resolve3,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream[kConsume]);
           });
         }
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
+      const { _readableState: state } = consume2.stream;
+      if (state.bufferIndex) {
+        const start = state.bufferIndex;
+        const end = state.buffer.length;
+        for (let n = start; n < end; n++) {
+          consumePush(consume2, state.buffer[n]);
         }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
-      }
-      [kDispatch](opts, handler2) {
-        const dispatcher = this[kGetDispatcher]();
-        if (!dispatcher) {
-          this[kNeedDrain] = true;
-          this[kQueue].push({ opts, handler: handler2 });
-          this[kQueued]++;
-        } else if (!dispatcher.dispatch(opts, handler2)) {
-          dispatcher[kNeedDrain] = true;
-          this[kNeedDrain] = !this[kGetDispatcher]();
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        return !this[kNeedDrain];
       }
-      [kAddClient](client) {
-        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-        this[kClients].push(client);
-        if (this[kNeedDrain]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
+      }
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
+      }
+    }
+    function chunksDecode(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return "";
+      }
+      const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
+      const bufferLength = buffer.length;
+      const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
+      return buffer.utf8Slice(start, bufferLength);
+    }
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
+      }
+      if (chunks.length === 1) {
+        return new Uint8Array(chunks[0]);
+      }
+      const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
+      let offset = 0;
+      for (let i = 0; i < chunks.length; ++i) {
+        const chunk = chunks[i];
+        buffer.set(chunk, offset);
+        offset += chunk.length;
+      }
+      return buffer;
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve3, stream, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve3(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve3(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve3(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve3(new Blob(body, { type: stream[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve3(chunksConcat(body, length));
         }
-        return this;
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      [kRemoveClient](client) {
-        client.close(() => {
-          const idx = this[kClients].indexOf(client);
-          if (idx !== -1) {
-            this[kClients].splice(idx, 1);
-          }
-        });
-        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-    };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
+      }
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+    module2.exports = { Readable: BodyReadable, chunksDecode };
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
-    "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
     var {
-      InvalidArgumentError
+      ResponseStatusCodeError
     } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
-    }
-    var Pool = class extends PoolBase {
-      constructor(origin, {
-        connections,
-        factory = defaultFactory,
-        connect,
-        connectTimeout,
-        tls,
-        maxCachedSessions,
-        socketPath,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        allowH2,
-        ...options
-      } = {}) {
-        super();
-        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
-          throw new InvalidArgumentError("invalid connections");
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (typeof connect !== "function") {
-          connect = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
           }
-        });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
         }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
+      } catch {
+        chunks = [];
+        length = 0;
+      }
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
+      }
+      const stackTraceLimit = Error.stackTraceLimit;
+      Error.stackTraceLimit = 0;
+      let payload;
+      try {
+        if (isContentTypeApplicationJson(contentType)) {
+          payload = JSON.parse(chunksDecode(chunks, length));
+        } else if (isContentTypeText(contentType)) {
+          payload = chunksDecode(chunks, length);
         }
-        return dispatcher;
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
+      queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)));
+    }
+    var isContentTypeApplicationJson = (contentType) => {
+      return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n";
+    };
+    var isContentTypeText = (contentType) => {
+      return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t";
+    };
+    module2.exports = {
+      getResolveErrorBodyCallback,
+      isContentTypeApplicationJson,
+      isContentTypeText
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
     "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var BalancedPool = class extends PoolBase {
-      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
-        super();
-        this[kOptions] = opts;
-        this[kIndex] = -1;
-        this[kCurrentWeight] = 0;
-        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
-        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
-        if (!Array.isArray(upstreams)) {
-          upstreams = [upstreams];
+    var assert = require("node:assert");
+    var { Readable } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
+          } else {
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
+          }
         }
-        this._updateBalancedPoolStats();
       }
-      addUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
-          return this;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
-        this[kAddClient](pool);
-        pool.on("connect", () => {
-          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
-        });
-        pool.on("connectionError", () => {
-          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-          this._updateBalancedPoolStats();
-        });
-        pool.on("disconnect", (...args) => {
-          const err = args[2];
-          if (err && err.code === "UND_ERR_SOCKET") {
-            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-            this._updateBalancedPoolStats();
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
           }
+          return;
+        }
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
         });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        this._updateBalancedPoolStats();
-        return this;
-      }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
-      }
-      removeUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
-        if (pool) {
-          this[kRemoveClient](pool);
+        this.callback = null;
+        this.res = res;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body: res, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body: res,
+              context: context2
+            });
+          }
         }
-        return this;
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      onData(chunk) {
+        return this.res.push(chunk);
       }
-      [kGetDispatcher]() {
-        if (this[kClients].length === 0) {
-          throw new BalancedPoolMissingUpstreamError();
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
-        if (!dispatcher) {
-          return;
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        let counter = 0;
-        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
-        while (counter++ < this[kClients].length) {
-          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
-          const pool = this[kClients][this[kIndex]];
-          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
-            maxWeightIndex = this[kIndex];
-          }
-          if (this[kIndex] === 0) {
-            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
-            if (this[kCurrentWeight] <= 0) {
-              this[kCurrentWeight] = this[kMaxWeightPerServer];
-            }
-          }
-          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
-            return pool;
-          }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
       }
     };
-    module2.exports = BalancedPool;
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve3, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve3(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
-    "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      removeSignal(self2);
+    }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
-        }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-    };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
     };
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    function defaultFactory(origin, opts) {
-      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
-    }
-    var Agent = class extends DispatcherBase {
-      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
-        super();
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
-        }
-        if (connect && typeof connect !== "function") {
-          connect = { ...connect };
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
-        );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
-        }
-        return ret;
-      }
-      [kDispatch](opts, handler2) {
-        let key;
-        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
-          key = String(opts.origin);
-        } else {
-          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
-        }
-        return dispatcher.dispatch(opts, handler2);
-      }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
-        }
-        await Promise.all(closePromises);
-      }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
-        }
-        await Promise.all(destroyPromises);
-      }
-    };
-    module2.exports = Agent;
-  }
-});
-
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
-    "use strict";
-    var assert = require("assert");
-    var { Readable } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
-    };
-    module2.exports = class BodyReadable extends Readable {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        highWaterMark = 64 * 1024
-        // Same as nodejs fs streams.
-      }) {
-        super({
-          autoDestroy: true,
-          read: resume,
-          highWaterMark
-        });
-        this._readableState.dataEmitted = false;
-        this[kAbort] = abort;
-        this[kConsume] = null;
-        this[kBody] = null;
-        this[kContentType] = contentType;
-        this[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
-        }
-        return super.emit(ev, ...args);
-      }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
-      }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
-      }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
-        }
-        return ret;
-      }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
-      }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
-        }
-        return super.push(chunk);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-text
-      async text() {
-        return consume(this, "text");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-json
-      async json() {
-        return consume(this, "json");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-blob
-      async blob() {
-        return consume(this, "blob");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-body
-      get body() {
-        if (!this[kBody]) {
-          this[kBody] = ReadableStreamFrom(this);
-          if (this[kConsume]) {
-            this[kBody].getReader();
-            assert(this[kBody].locked);
-          }
-        }
-        return this[kBody];
-      }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
-          }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve3, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve3(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
-            }
-          }).resume();
-        });
-      }
-    };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream, type2) {
-      if (isUnusable(stream)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream[kConsume]);
-      return new Promise((resolve3, reject) => {
-        stream[kConsume] = {
-          type: type2,
-          stream,
-          resolve: resolve3,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
-          }
-        });
-        process.nextTick(consumeStart, stream[kConsume]);
-      });
-    }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
-      }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
-        });
-      }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
-      }
-    }
-    function consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve3, stream, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve3(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve3(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
-          }
-          resolve3(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
-          }
-          resolve3(new Blob2(body, { type: stream[kContentType] }));
-        }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream.destroy(err);
-      }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
-      }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
-      }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
-        }
-      }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
-      }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
-      }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
-      }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
-      }
-      if (signal.aborted) {
-        abort(self2);
-        return;
-      }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
-      }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
-      } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
-      }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
-    };
-  }
-});
-
-// node_modules/undici/lib/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
-    "use strict";
-    var Readable = require_readable2();
-    var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
         try {
           if (typeof callback !== "function") {
             throw new InvalidArgumentError("invalid callback");
           }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
           }
           if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
             throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
@@ -30595,7 +31038,7 @@ var require_api_request2 = __commonJS({
           if (onInfo && typeof onInfo !== "function") {
             throw new InvalidArgumentError("invalid onInfo callback");
           }
-          super("UNDICI_REQUEST");
+          super("UNDICI_STREAM");
         } catch (err) {
           if (util.isStream(body)) {
             util.destroy(body.on("error", util.nop), err);
@@ -30604,15 +31047,15 @@ var require_api_request2 = __commonJS({
         }
         this.responseHeaders = responseHeaders || null;
         this.opaque = opaque || null;
+        this.factory = factory;
         this.callback = callback;
         this.res = null;
         this.abort = null;
-        this.body = body;
-        this.trailers = {};
         this.context = null;
+        this.trailers = null;
+        this.body = body;
         this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
+        this.throwOnError = throwOnError || false;
         if (util.isStream(body)) {
           body.on("error", (err) => {
             this.onError(err);
@@ -30621,14 +31064,16 @@ var require_api_request2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context2;
       }
       onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
         const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         if (statusCode < 200) {
           if (this.onInfo) {
@@ -30636,167 +31081,12 @@ var require_api_request2 = __commonJS({
           }
           return;
         }
-        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-        const contentType = parsedHeaders["content-type"];
-        const body = new Readable({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
-        }
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
-      }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve3, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve3(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
-          }
-          throw err;
-        }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
-        }
-        addSignal(this, signal);
-      }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
-      }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
-          }
-          return;
-        }
-        this.factory = null;
-        let res;
-        if (this.throwOnError && statusCode >= 400) {
-          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-          const contentType = parsedHeaders["content-type"];
-          res = new PassThrough();
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
           this.callback = null;
           this.runInAsyncScope(
             getResolveErrorBodyCallback,
@@ -30831,7 +31121,7 @@ var require_api_stream2 = __commonJS({
         }
         res.on("drain", resume);
         this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
         return needDrain !== true;
       }
       onData(chunk) {
@@ -30880,7 +31170,7 @@ var require_api_stream2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -30888,24 +31178,24 @@ var require_api_stream2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-pipeline.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
 var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
     "use strict";
     var {
       Readable,
       Duplex,
       PassThrough
-    } = require("stream");
+    } = require("node:stream");
     var {
       InvalidArgumentError,
       InvalidReturnValueError,
       RequestAbortedError
     } = require_errors2();
     var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
+    var { AsyncResource } = require("node:async_hooks");
     var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var kResume = /* @__PURE__ */ Symbol("resume");
     var PipelineRequest = class extends Readable {
       constructor() {
@@ -30970,7 +31260,7 @@ var require_api_pipeline2 = __commonJS({
           autoDestroy: true,
           read: () => {
             const { body } = this;
-            if (body && body.resume) {
+            if (body?.resume) {
               body.resume();
             }
           },
@@ -31005,10 +31295,12 @@ var require_api_pipeline2 = __commonJS({
       }
       onConnect(abort, context2) {
         const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
         this.abort = abort;
         this.context = context2;
       }
@@ -31086,15 +31378,15 @@ var require_api_pipeline2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
 var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
     var util = require_util9();
     var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var UpgradeHandler = class extends AsyncResource {
       constructor(opts, callback) {
         if (!opts || typeof opts !== "object") {
@@ -31116,9 +31408,11 @@ var require_api_upgrade2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = null;
       }
@@ -31126,8 +31420,8 @@ var require_api_upgrade2 = __commonJS({
         throw new SocketError("bad upgrade", null);
       }
       onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
         const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
         removeSignal(this);
         this.callback = null;
         const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
@@ -31168,7 +31462,7 @@ var require_api_upgrade2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -31176,12 +31470,13 @@ var require_api_upgrade2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-connect.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
 var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
     "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
     var util = require_util9();
     var { addSignal, removeSignal } = require_abort_signal2();
     var ConnectHandler = class extends AsyncResource {
@@ -31204,9 +31499,11 @@ var require_api_connect2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context2;
       }
@@ -31255,7 +31552,7 @@ var require_api_connect2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -31263,9 +31560,9 @@ var require_api_connect2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/index.js
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
 var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
     "use strict";
     module2.exports.request = require_api_request2();
     module2.exports.stream = require_api_stream2();
@@ -31275,11 +31572,12 @@ var require_api2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-errors.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
 var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
     "use strict";
     var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
     var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
       constructor(message) {
         super(message);
@@ -31288,6 +31586,10 @@ var require_mock_errors2 = __commonJS({
         this.message = message || "The request does not match any registered mock dispatches";
         this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
+      }
+      [kMockNotMatchedError] = true;
     };
     module2.exports = {
       MockNotMatchedError
@@ -31295,9 +31597,9 @@ var require_mock_errors2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
 var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kAgent: /* @__PURE__ */ Symbol("agent"),
@@ -31323,9 +31625,9 @@ var require_mock_symbols2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-utils.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
 var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
     "use strict";
     var { MockNotMatchedError } = require_mock_errors2();
     var {
@@ -31335,13 +31637,13 @@ var require_mock_utils2 = __commonJS({
       kOrigin,
       kGetNetConnect
     } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
     var {
       types: {
         isPromise
       }
-    } = require("util");
+    } = require("node:util");
     function matchValue(match, value) {
       if (typeof match === "string") {
         return match === value;
@@ -31426,6 +31728,10 @@ var require_mock_utils2 = __commonJS({
     function getResponseData2(data) {
       if (Buffer.isBuffer(data)) {
         return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
       } else if (typeof data === "object") {
         return JSON.stringify(data);
       } else {
@@ -31441,15 +31747,16 @@ var require_mock_utils2 = __commonJS({
       }
       matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
       matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
       matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
       }
       return matchedMockDispatches[0];
     }
@@ -31482,11 +31789,21 @@ var require_mock_utils2 = __commonJS({
       };
     }
     function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
+          }
+        } else {
+          result.push(name, Buffer.from(`${value}`));
+        }
+      }
+      return result;
     }
     function getStatusText(statusCode) {
       return STATUS_CODES[statusCode] || "unknown";
@@ -31531,10 +31848,10 @@ var require_mock_utils2 = __commonJS({
         const responseData = getResponseData2(body);
         const responseHeaders = generateKeyValues(headers);
         const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
         deleteMockDispatch(mockDispatches, key);
       }
       function resume() {
@@ -31598,14 +31915,15 @@ var require_mock_utils2 = __commonJS({
       buildMockDispatch,
       checkNetConnect,
       buildMockOptions,
-      getHeaderByName
+      getHeaderByName,
+      buildHeadersFromArray
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
 var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
     "use strict";
     var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
     var {
@@ -31678,46 +31996,47 @@ var require_mock_interceptor2 = __commonJS({
         this[kDefaultTrailers] = {};
         this[kContentLength] = false;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
+      createMockScopeDispatchData({ statusCode, data, responseOptions }) {
         const responseData = getResponseData2(data);
         const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
         const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
         const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
         return { statusCode, data, headers, trailers };
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
           throw new InvalidArgumentError("statusCode must be defined");
         }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
-        }
-        if (typeof responseOptions !== "object") {
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
           throw new InvalidArgumentError("responseOptions must be an object");
         }
       }
       /**
        * Mock an undici request with a defined reply.
        */
-      reply(replyData) {
-        if (typeof replyData === "function") {
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
           const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
               throw new InvalidArgumentError("reply options callback must return an object");
             }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
             return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+              ...this.createMockScopeDispatchData(replyParameters2)
             };
           };
           const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
           return new MockScope(newMockDispatch2);
         }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const replyParameters = {
+          statusCode: replyOptionsCallbackOrStatusCode,
+          data: arguments[1] === void 0 ? "" : arguments[1],
+          responseOptions: arguments[2] === void 0 ? {} : arguments[2]
+        };
+        this.validateReplyParameters(replyParameters);
+        const dispatchData = this.createMockScopeDispatchData(replyParameters);
         const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
         return new MockScope(newMockDispatch);
       }
@@ -31764,11 +32083,11 @@ var require_mock_interceptor2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-client.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
 var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
+    var { promisify } = require("node:util");
     var Client = require_client2();
     var { buildMockDispatch } = require_mock_utils2();
     var {
@@ -31817,11 +32136,11 @@ var require_mock_client2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-pool.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
 var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
+    var { promisify } = require("node:util");
     var Pool = require_pool2();
     var { buildMockDispatch } = require_mock_utils2();
     var {
@@ -31870,9 +32189,9 @@ var require_mock_pool2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/pluralizer.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
 var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
     var singulars = {
       pronoun: "it",
@@ -31901,12 +32220,14 @@ var require_pluralizer2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
 var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
+    var { Transform } = require("node:stream");
+    var { Console } = require("node:console");
+    var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
+    var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
     module2.exports = class PendingInterceptorsFormatter {
       constructor({ disableColors } = {}) {
         this.transform = new Transform({
@@ -31928,7 +32249,7 @@ var require_pending_interceptors_formatter2 = __commonJS({
             Origin: origin,
             Path: path4,
             "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
             Invocations: timesInvoked,
             Remaining: persist ? Infinity : times - timesInvoked
           })
@@ -31940,9 +32261,9 @@ var require_pending_interceptors_formatter2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-agent.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
 var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
     "use strict";
     var { kClients } = require_symbols6();
     var Agent = require_agent2();
@@ -31964,23 +32285,15 @@ var require_mock_agent2 = __commonJS({
     var Dispatcher = require_dispatcher2();
     var Pluralizer = require_pluralizer2();
     var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
-      }
-      deref() {
-        return this.value;
-      }
-    };
     var MockAgent = class extends Dispatcher {
       constructor(opts) {
         super(opts);
         this[kNetConnect] = true;
         this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
           throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
         this[kAgent] = agent;
         this[kClients] = agent[kClients];
         this[kOptions] = buildMockOptions(opts);
@@ -32029,24 +32342,23 @@ var require_mock_agent2 = __commonJS({
         return this[kIsMockActive];
       }
       [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+        this[kClients].set(origin, dispatcher);
       }
       [kFactory](origin) {
         const mockOptions = Object.assign({ agent: this }, this[kOptions]);
         return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
       }
       [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+        const client = this[kClients].get(origin);
+        if (client) {
+          return client;
         }
         if (typeof origin !== "string") {
           const dispatcher = this[kFactory]("http://localhost:9999");
           this[kMockAgentSet](origin, dispatcher);
           return dispatcher;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
+        for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {
           if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
             const dispatcher = this[kFactory](origin);
             this[kMockAgentSet](origin, dispatcher);
@@ -32060,7 +32372,7 @@ var require_mock_agent2 = __commonJS({
       }
       pendingInterceptors() {
         const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
       assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
         const pending = this.pendingInterceptors();
@@ -32079,428 +32391,9 @@ ${pendingInterceptorsFormatter.format(pending)}
   }
 });
 
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
-    }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
-      }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-      }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        if (opts.auth && opts.token) {
-          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
-        } else if (opts.auth) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
-        } else if (opts.token) {
-          this[kProxyHeaders]["proxy-authorization"] = opts.token;
-        } else if (username && password) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
-        }
-        const connect = buildConnector({ ...opts.proxyTls });
-        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).destroy();
-                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
-              }
-              if (opts2.protocol !== "https:") {
-                callback(null, socket);
-                return;
-              }
-              let servername;
-              if (this[kRequestTls]) {
-                servername = this[kRequestTls].servername;
-              } else {
-                servername = opts2.servername;
-              }
-              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
-            } catch (err) {
-              callback(err);
-            }
-          }
-        });
-      }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
-      }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
-      }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
-      }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
-        }
-        return headersPair;
-      }
-      return headers;
-    }
-    function throwIfProxyAuthIsSent(headers) {
-      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
-      if (existProxyAuth) {
-        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
-      }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    var RetryHandler = class _RetryHandler {
-      constructor(opts, handlers) {
-        const { retryOptions, ...dispatchOpts } = opts;
-        const {
-          // Retry scoped
-          retry: retryFn,
-          maxRetries,
-          maxTimeout,
-          minTimeout,
-          timeoutFactor,
-          // Response scoped
-          methods,
-          errorCodes,
-          retryAfter,
-          statusCodes
-        } = retryOptions ?? {};
-        this.dispatch = handlers.dispatch;
-        this.handler = handlers.handler;
-        this.opts = dispatchOpts;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: minTimeout ?? 500,
-          // .5s
-          timeoutFactor: timeoutFactor ?? 2,
-          maxRetries: maxRetries ?? 5,
-          // What errors we should retry
-          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
-          // Indicates which errors to retry
-          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
-          // List of errors to retry
-          errorCodes: errorCodes ?? [
-            "ECONNRESET",
-            "ECONNREFUSED",
-            "ENOTFOUND",
-            "ENETDOWN",
-            "ENETUNREACH",
-            "EHOSTDOWN",
-            "EHOSTUNREACH",
-            "EPIPE"
-          ]
-        };
-        this.retryCount = 0;
-        this.start = 0;
-        this.end = null;
-        this.etag = null;
-        this.resume = null;
-        this.handler.onConnect((reason) => {
-          this.aborted = true;
-          if (this.abort) {
-            this.abort(reason);
-          } else {
-            this.reason = reason;
-          }
-        });
-      }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
-      }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
-        }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
-        } else {
-          this.abort = abort;
-        }
-      }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
-      }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
-          return;
-        }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          return;
-        }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
-        }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
-        }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
-        }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
-      }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
-        }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          const { start, size, end = size } = contentRange;
-          assert(this.start === start, "content-range mismatch");
-          assert(this.end == null || this.end === end, "content-range mismatch");
-          this.resume = resume;
-          return true;
-        }
-        if (this.end == null) {
-          if (statusCode === 206) {
-            const range = parseRangeHeader(headers["content-range"]);
-            if (range == null) {
-              return this.handler.onHeaders(
-                statusCode,
-                rawHeaders,
-                resume,
-                statusMessage
-              );
-            }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== end,
-              "invalid content-length"
-            );
-            this.start = start;
-            this.end = end;
-          }
-          if (this.end == null) {
-            const contentLength = headers["content-length"];
-            this.end = contentLength != null ? Number(contentLength) : null;
-          }
-          assert(Number.isFinite(this.start));
-          assert(
-            this.end == null || Number.isFinite(this.end),
-            "invalid content-length"
-          );
-          this.resume = resume;
-          this.etag = headers.etag != null ? headers.etag : null;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
-        });
-        this.abort(err);
-        return false;
-      }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
-      }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
-      }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
-        }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            opts: { retryOptions: this.retryOpts, ...this.opts }
-          },
-          onRetry.bind(this)
-        );
-        function onRetry(err2) {
-          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
-            return this.handler.onError(err2);
-          }
-          if (this.start !== 0) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
-        }
-      }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
+// node_modules/@actions/github/node_modules/undici/lib/global.js
 var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
     var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
     var { InvalidArgumentError } = require_errors2();
@@ -32529,62 +32422,505 @@ var require_global4 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
     "use strict";
     module2.exports = class DecoratorHandler {
+      #handler;
       constructor(handler2) {
-        this.handler = handler2;
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
+        }
+        this.#handler = handler2;
       }
       onConnect(...args) {
-        return this.handler.onConnect(...args);
+        return this.#handler.onConnect?.(...args);
       }
       onError(...args) {
-        return this.handler.onError(...args);
+        return this.#handler.onError?.(...args);
       }
       onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+        return this.#handler.onUpgrade?.(...args);
+      }
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
       onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+        return this.#handler.onHeaders?.(...args);
       }
       onData(...args) {
-        return this.handler.onData(...args);
+        return this.#handler.onData?.(...args);
       }
       onComplete(...args) {
-        return this.handler.onComplete(...args);
+        return this.#handler.onComplete?.(...args);
       }
       onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+        return this.#handler.onBodySent?.(...args);
       }
     };
   }
 });
 
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
-    function isHTTPWhiteSpaceCharCode(code) {
-      return code === 10 || code === 13 || code === 9 || code === 32;
-    }
-    function headerValueNormalize(potentialValue) {
-      let i = 0;
-      let j = potentialValue.length;
+    var RedirectHandler = require_redirect_handler2();
+    module2.exports = (opts) => {
+      const globalMaxRedirections = opts?.maxRedirections;
+      return (dispatch) => {
+        return function redirectInterceptor(opts2, handler2) {
+          const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2;
+          if (!maxRedirections) {
+            return dispatch(opts2, handler2);
+          }
+          const redirectHandler = new RedirectHandler(
+            dispatch,
+            maxRedirections,
+            opts2,
+            handler2
+          );
+          return dispatch(baseOpts, redirectHandler);
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    var DumpHandler = class extends DecoratorHandler {
+      #maxSize = 1024 * 1024;
+      #abort = null;
+      #dumped = false;
+      #aborted = false;
+      #size = 0;
+      #reason = null;
+      #handler = null;
+      constructor({ maxSize }, handler2) {
+        super(handler2);
+        if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
+          throw new InvalidArgumentError("maxSize must be a number greater than 0");
+        }
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
+      }
+      onConnect(abort) {
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
+      }
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
+      }
+      // TODO: will require adjustment after new hooks are out
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = util.parseHeaders(rawHeaders);
+        const contentLength = headers["content-length"];
+        if (contentLength != null && contentLength > this.#maxSize) {
+          throw new RequestAbortedError(
+            `Response size (${contentLength}) larger than maxSize (${this.#maxSize})`
+          );
+        }
+        if (this.#aborted) {
+          return true;
+        }
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
+        );
+      }
+      onError(err) {
+        if (this.#dumped) {
+          return;
+        }
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
+      }
+      onData(chunk) {
+        this.#size = this.#size + chunk.length;
+        if (this.#size >= this.#maxSize) {
+          this.#dumped = true;
+          if (this.#aborted) {
+            this.#handler.onError(this.#reason);
+          } else {
+            this.#handler.onComplete([]);
+          }
+        }
+        return true;
+      }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
+        }
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
+        }
+        this.#handler.onComplete(trailers);
+      }
+    };
+    function createDumpInterceptor({ maxSize: defaultMaxSize } = {
+      maxSize: 1024 * 1024
+    }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { dumpMaxSize = defaultMaxSize } = opts;
+          const dumpHandler = new DumpHandler(
+            { maxSize: dumpMaxSize },
+            handler2
+          );
+          return dispatch(opts, dumpHandler);
+        };
+      };
+    }
+    module2.exports = createDumpInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
+    "use strict";
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    var maxInt = Math.pow(2, 31) - 1;
+    var DNSInstance = class {
+      #maxTTL = 0;
+      #maxItems = 0;
+      #records = /* @__PURE__ */ new Map();
+      dualStack = true;
+      affinity = null;
+      lookup = null;
+      pick = null;
+      constructor(opts) {
+        this.#maxTTL = opts.maxTTL;
+        this.#maxItems = opts.maxItems;
+        this.dualStack = opts.dualStack;
+        this.affinity = opts.affinity;
+        this.lookup = opts.lookup ?? this.#defaultLookup;
+        this.pick = opts.pick ?? this.#defaultPick;
+      }
+      get full() {
+        return this.#records.size === this.#maxItems;
+      }
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
+        }
+        const newOpts = {
+          affinity: this.affinity,
+          dualStack: this.dualStack,
+          lookup: this.lookup,
+          pick: this.pick,
+          ...opts.dns,
+          maxTTL: this.#maxTTL,
+          maxItems: this.#maxItems
+        };
+        if (ips == null) {
+          this.lookup(origin, newOpts, (err, addresses) => {
+            if (err || addresses == null || addresses.length === 0) {
+              cb(err ?? new InformationalError("No DNS entries found"));
+              return;
+            }
+            this.setRecords(origin, addresses);
+            const records = this.#records.get(origin.hostname);
+            const ip = this.pick(
+              origin,
+              records,
+              newOpts.affinity
+            );
+            let port;
+            if (typeof ip.port === "number") {
+              port = `:${ip.port}`;
+            } else if (origin.port !== "") {
+              port = `:${origin.port}`;
+            } else {
+              port = "";
+            }
+            cb(
+              null,
+              `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+            );
+          });
+        } else {
+          const ip = this.pick(
+            origin,
+            ips,
+            newOpts.affinity
+          );
+          if (ip == null) {
+            this.#records.delete(origin.hostname);
+            this.runLookup(origin, opts, cb);
+            return;
+          }
+          let port;
+          if (typeof ip.port === "number") {
+            port = `:${ip.port}`;
+          } else if (origin.port !== "") {
+            port = `:${origin.port}`;
+          } else {
+            port = "";
+          }
+          cb(
+            null,
+            `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+          );
+        }
+      }
+      #defaultLookup(origin, opts, cb) {
+        lookup(
+          origin.hostname,
+          {
+            all: true,
+            family: this.dualStack === false ? this.affinity : 0,
+            order: "ipv4first"
+          },
+          (err, addresses) => {
+            if (err) {
+              return cb(err);
+            }
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
+          }
+        );
+      }
+      #defaultPick(origin, hostnameRecords, affinity) {
+        let ip = null;
+        const { records, offset } = hostnameRecords;
+        let family;
+        if (this.dualStack) {
+          if (affinity == null) {
+            if (offset == null || offset === maxInt) {
+              hostnameRecords.offset = 0;
+              affinity = 4;
+            } else {
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
+            }
+          }
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
+          }
+        } else {
+          family = records[affinity];
+        }
+        if (family == null || family.ips.length === 0) {
+          return ip;
+        }
+        if (family.offset == null || family.offset === maxInt) {
+          family.offset = 0;
+        } else {
+          family.offset++;
+        }
+        const position = family.offset % family.ips.length;
+        ip = family.ips[position] ?? null;
+        if (ip == null) {
+          return ip;
+        }
+        if (Date.now() - ip.timestamp > ip.ttl) {
+          family.ips.splice(position, 1);
+          return this.pick(origin, hostnameRecords, affinity);
+        }
+        return ip;
+      }
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
+          }
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
+        }
+        this.#records.set(origin.hostname, records);
+      }
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
+      }
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
+      }
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
+        }
+      }
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
+      }
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
+      }
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
+      }
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
+      }
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
+      }
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
+      }
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
+      } else {
+        affinity = interceptorOpts?.affinity ?? 4;
+      }
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
+            }
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
+    var {
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
+    }
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
       while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
       while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
       return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
@@ -32629,11 +32965,13 @@ var require_headers2 = __commonJS({
           type: "header value"
         });
       }
-      if (headers[kGuard] === "immutable") {
+      if (getHeadersGuard(headers) === "immutable") {
         throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
       }
-      return headers[kHeadersList].append(name, value);
+      return getHeadersList(headers).append(name, value, false);
+    }
+    function compareHeaderName(a, b) {
+      return a[0] < b[0] ? -1 : 1;
     }
     var HeadersList = class _HeadersList {
       /** @type {[string, string][]|null} */
@@ -32648,20 +32986,28 @@ var require_headers2 = __commonJS({
           this[kHeadersSortedMap] = null;
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      /**
+       * @see https://fetch.spec.whatwg.org/#header-list-contains
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      contains(name, isLowerCase) {
+        return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase());
       }
       clear() {
         this[kHeadersMap].clear();
         this[kHeadersSortedMap] = null;
         this.cookies = null;
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-append
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      append(name, value, isLowerCase) {
         this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
         const exists = this[kHeadersMap].get(lowercaseName);
         if (exists) {
           const delimiter = lowercaseName === "cookie" ? "; " : ", ";
@@ -32673,73 +33019,155 @@ var require_headers2 = __commonJS({
           this[kHeadersMap].set(lowercaseName, { name, value });
         }
         if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+          (this.cookies ??= []).push(value);
         }
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-set
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      set(name, value, isLowerCase) {
         this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
         if (lowercaseName === "set-cookie") {
           this.cookies = [value];
         }
         this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
         this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
+        if (!isLowerCase) name = name.toLowerCase();
         if (name === "set-cookie") {
           this.cookies = null;
         }
         this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-get
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       * @returns {string | null}
+       */
+      get(name, isLowerCase) {
+        return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
       }
       *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
           yield [name, value];
         }
       }
       get entries() {
         const headers = {};
-        if (this[kHeadersMap].size) {
+        if (this[kHeadersMap].size !== 0) {
           for (const { name, value } of this[kHeadersMap].values()) {
             headers[name] = value;
           }
         }
         return headers;
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
+      rawValues() {
+        return this[kHeadersMap].values();
+      }
+      get entriesList() {
+        const headers = [];
+        if (this[kHeadersMap].size !== 0) {
+          for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) {
+            if (lowerName === "set-cookie") {
+              for (const cookie of this.cookies) {
+                headers.push([name, cookie]);
+              }
+            } else {
+              headers.push([name, value]);
+            }
+          }
+        }
+        return headers;
+      }
+      // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set
+      toSortedArray() {
+        const size = this[kHeadersMap].size;
+        const array = new Array(size);
+        if (size <= 32) {
+          if (size === 0) {
+            return array;
+          }
+          const iterator2 = this[kHeadersMap][Symbol.iterator]();
+          const firstValue = iterator2.next().value;
+          array[0] = [firstValue[0], firstValue[1].value];
+          assert(firstValue[1].value !== null);
+          for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) {
+            value = iterator2.next().value;
+            x = array[i] = [value[0], value[1].value];
+            assert(x[1] !== null);
+            left = 0;
+            right = i;
+            while (left < right) {
+              pivot = left + (right - left >> 1);
+              if (array[pivot][0] <= x[0]) {
+                left = pivot + 1;
+              } else {
+                right = pivot;
+              }
+            }
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
+            }
+          }
+          if (!iterator2.next().done) {
+            throw new TypeError("Unreachable");
+          }
+          return array;
+        } else {
+          let i = 0;
+          for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+            array[i++] = [name, value];
+            assert(value !== null);
+          }
+          return array.sort(compareHeaderName);
+        }
+      }
+    };
+    var Headers = class _Headers {
+      #guard;
+      #headersList;
+      constructor(init = void 0) {
+        webidl.util.markAsUncloneable(this);
+        if (init === kConstruct) {
           return;
         }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
         if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
           fill(this, init);
         }
       }
       // https://fetch.spec.whatwg.org/#dom-headers-append
       append(name, value) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
         return appendHeader(this, name, value);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-delete
       delete(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
             prefix: "Headers.delete",
@@ -32747,73 +33175,74 @@ var require_headers2 = __commonJS({
             type: "header name"
           });
         }
-        if (this[kGuard] === "immutable") {
+        if (this.#guard === "immutable") {
           throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
         }
-        if (!this[kHeadersList].contains(name)) {
+        if (!this.#headersList.contains(name, false)) {
           return;
         }
-        this[kHeadersList].delete(name);
+        this.#headersList.delete(name, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-get
       get(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
+            prefix,
             value: name,
             type: "header name"
           });
         }
-        return this[kHeadersList].get(name);
+        return this.#headersList.get(name, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-has
       has(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
+            prefix,
             value: name,
             type: "header name"
           });
         }
-        return this[kHeadersList].contains(name);
+        return this.#headersList.contains(name, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-set
       set(name, value) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
         value = headerValueNormalize(value);
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
+            prefix,
             value: name,
             type: "header name"
           });
         } else if (!isValidHeaderValue(value)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
+            prefix,
             value,
             type: "header value"
           });
         }
-        if (this[kGuard] === "immutable") {
+        if (this.#guard === "immutable") {
           throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
         }
-        this[kHeadersList].set(name, value);
+        this.#headersList.set(name, value, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
       getSetCookie() {
         webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
+        const list = this.#headersList.cookies;
         if (list) {
           return [...list];
         }
@@ -32821,96 +33250,50 @@ var require_headers2 = __commonJS({
       }
       // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
       get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
         const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
+        }
         for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
+          const { 0: name, 1: value } = names[i];
           if (name === "set-cookie") {
             for (let j = 0; j < cookies.length; ++j) {
               headers.push([name, cookies[j]]);
             }
           } else {
-            assert(value !== null);
             headers.push([name, value]);
           }
         }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
       }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
+      static getHeadersList(o) {
+        return o.#headersList;
       }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers;
+    Reflect.deleteProperty(Headers, "getHeadersGuard");
+    Reflect.deleteProperty(Headers, "setHeadersGuard");
+    Reflect.deleteProperty(Headers, "getHeadersList");
+    Reflect.deleteProperty(Headers, "setHeadersList");
+    iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1);
     Object.defineProperties(Headers.prototype, {
       append: kEnumerableProperty,
       delete: kEnumerableProperty,
@@ -32918,11 +33301,6 @@ var require_headers2 = __commonJS({
       has: kEnumerableProperty,
       set: kEnumerableProperty,
       getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
       [Symbol.toStringTag]: {
         value: "Headers",
         configurable: true
@@ -32931,12 +33309,19 @@ var require_headers2 = __commonJS({
         enumerable: false
       }
     });
-    webidl.converters.HeadersInit = function(V) {
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
       if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
         }
-        return webidl.converters["record"](V);
+        if (typeof iterator2 === "function") {
+          return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V));
+        }
+        return webidl.converters["record"](V, prefix, argument);
       }
       throw webidl.errors.conversionFailed({
         prefix: "Headers constructor",
@@ -32946,19 +33331,26 @@ var require_headers2 = __commonJS({
     };
     module2.exports = {
       fill,
+      // for test.
+      compareHeaderName,
       Headers,
-      HeadersList
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
 var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
+    var nodeUtil = require("node:util");
     var { kEnumerableProperty } = util;
     var {
       isValidReasonPhrase,
@@ -32967,38 +33359,30 @@ var require_response2 = __commonJS({
       isBlobLike,
       serializeJavascriptValueToJSONString,
       isErrorLike,
-      isomorphicEncode
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
     } = require_util10();
     var {
       redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
     var { webidl } = require_webidl2();
     var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { types } = require("node:util");
     var textEncoder = new TextEncoder("utf-8");
     var Response = class _Response {
       // Creates network error Response.
       static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
         return responseObject;
       }
       // https://fetch.spec.whatwg.org/#dom-response-json
       static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
         if (init !== null) {
           init = webidl.converters.ResponseInit(init);
         }
@@ -33006,52 +33390,44 @@ var require_response2 = __commonJS({
           serializeJavascriptValueToJSONString(data)
         );
         const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
         initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
         return responseObject;
       }
       // Creates a redirect Response that redirects to url with status status.
       static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
         url = webidl.converters.USVString(url);
         status = webidl.converters["unsigned short"](status);
         let parsedURL;
         try {
-          parsedURL = new URL(url, getGlobalOrigin());
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
         } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
-          });
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
         }
         if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
         responseObject[kState].status = status;
         const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
+        responseObject[kState].headersList.append("location", value, true);
         return responseObject;
       }
       // https://fetch.spec.whatwg.org/#dom-response
       constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
+        }
         if (body !== null) {
           body = webidl.converters.BodyInit(body);
         }
         init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
         this[kState] = makeResponse({});
         this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
         let bodyWithType = null;
         if (body != null) {
           const [extractedBody, type2] = extractBody(body);
@@ -33110,20 +33486,35 @@ var require_response2 = __commonJS({
       // Returns a clone of response.
       clone() {
         webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
+        if (bodyUnusable(this)) {
           throw webidl.errors.exception({
             header: "Response.clone",
             message: "Body has already been consumed."
           });
         }
         const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+        if (hasFinalizationRegistry && this[kState].body?.stream) {
+          streamRegistry.register(this, new WeakRef(this[kState].body.stream));
+        }
+        return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders]));
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
     mixinBody(Response);
@@ -33157,7 +33548,7 @@ var require_response2 = __commonJS({
       }
       const newResponse = makeResponse({ ...response, body: null });
       if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
+        newResponse.body = cloneBody(newResponse, response.body);
       }
       return newResponse;
     }
@@ -33173,8 +33564,8 @@ var require_response2 = __commonJS({
         cacheState: "",
         statusText: "",
         ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
       };
     }
     function makeNetworkError(reason) {
@@ -33186,6 +33577,13 @@ var require_response2 = __commonJS({
         aborted: reason && reason.name === "AbortError"
       });
     }
+    function isNetworkError(response) {
+      return (
+        // A network error is a response whose type is "error",
+        response.type === "error" && // status is 0
+        response.status === 0
+      );
+    }
     function makeFilteredResponse(response, state) {
       state = {
         internalResponse: response,
@@ -33235,7 +33633,7 @@ var require_response2 = __commonJS({
     }
     function makeAppropriateNetworkError(fetchParams, err = null) {
       assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
     }
     function initializeResponse(response, init, body) {
       if (init.status !== null && (init.status < 200 || init.status > 599)) {
@@ -33259,17 +33657,28 @@ var require_response2 = __commonJS({
         if (nullBodyStatus.includes(response.status)) {
           throw webidl.errors.exception({
             header: "Response constructor",
-            message: "Invalid response status code " + response.status
+            message: `Invalid response status code ${response.status}`
           });
         }
         response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
         }
       }
     }
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
+      }
+      return response;
+    }
     webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
+      ReadableStream
     );
     webidl.converters.FormData = webidl.interfaceConverter(
       FormData2
@@ -33277,43 +33686,43 @@ var require_response2 = __commonJS({
     webidl.converters.URLSearchParams = webidl.interfaceConverter(
       URLSearchParams
     );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
       if (typeof V === "string") {
-        return webidl.converters.USVString(V);
+        return webidl.converters.USVString(V, prefix, name);
       }
       if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
       if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
       if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-      return webidl.converters.DOMString(V);
+      return webidl.converters.DOMString(V, prefix, name);
     };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
+    webidl.converters.BodyInit = function(V, prefix, argument) {
+      if (V instanceof ReadableStream) {
+        return webidl.converters.ReadableStream(V, prefix, argument);
       }
       if (V?.[Symbol.asyncIterator]) {
         return V;
       }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
     };
     webidl.converters.ResponseInit = webidl.dictionaryConverter([
       {
         key: "status",
         converter: webidl.converters["unsigned short"],
-        defaultValue: 200
+        defaultValue: () => 200
       },
       {
         key: "statusText",
         converter: webidl.converters.ByteString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "headers",
@@ -33321,30 +33730,73 @@ var require_response2 = __commonJS({
       }
     ]);
     module2.exports = {
+      isNetworkError,
       makeNetworkError,
       makeResponse,
       makeAppropriateNetworkError,
       filterResponse,
       Response,
-      cloneResponse
+      cloneResponse,
+      fromInnerResponse
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
+      }
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      }
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
+      }
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
+            }
+          });
+        }
+      }
+      unregister(key) {
+      }
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) {
+        process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
+      }
+      return { WeakRef, FinalizationRegistry };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
 var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
     var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
     var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
       isValidHTTPToken,
       sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
+      environmentSettingsObject
     } = require_util10();
     var {
       forbiddenMethodsSet,
@@ -33355,43 +33807,61 @@ var require_request4 = __commonJS({
       requestCredentials,
       requestCache,
       requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
     var kAbortController = /* @__PURE__ */ Symbol("abortController");
     var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
       signal.removeEventListener("abort", abort);
     });
+    var dependentControllerMap = /* @__PURE__ */ new WeakMap();
+    function buildAbort(acRef) {
+      return abort;
+      function abort() {
+        const ac = acRef.deref();
+        if (ac !== void 0) {
+          requestFinalizer.unregister(abort);
+          this.removeEventListener("abort", abort);
+          ac.abort(this.reason);
+          const controllerList = dependentControllerMap.get(ac.signal);
+          if (controllerList !== void 0) {
+            if (controllerList.size !== 0) {
+              for (const ref of controllerList) {
+                const ctrl = ref.deref();
+                if (ctrl !== void 0) {
+                  ctrl.abort(this.reason);
+                }
+              }
+              controllerList.clear();
+            }
+            dependentControllerMap.delete(ac.signal);
+          }
+        }
+      }
+    }
+    var patchMethodWarning = false;
     var Request = class _Request {
       // https://fetch.spec.whatwg.org/#dom-request
       constructor(input, init = {}) {
+        webidl.util.markAsUncloneable(this);
         if (input === kConstruct) {
           return;
         }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
+        const prefix = "Request constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        input = webidl.converters.RequestInfo(input, prefix, "input");
+        init = webidl.converters.RequestInit(init, prefix, "init");
+        let request2 = null;
         let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
         let signal = null;
         if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
           let parsedURL;
           try {
             parsedURL = new URL(input, baseUrl);
@@ -33406,11 +33876,12 @@ var require_request4 = __commonJS({
           request2 = makeRequest({ urlList: [parsedURL] });
           fallbackMode = "cors";
         } else {
+          this[kDispatcher] = init.dispatcher || input[kDispatcher];
           assert(input instanceof _Request);
           request2 = input[kState];
           signal = input[kSignal];
         }
-        const origin = this[kRealm].settingsObject.origin;
+        const origin = environmentSettingsObject.settingsObject.origin;
         let window2 = "client";
         if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
           window2 = request2.window;
@@ -33432,7 +33903,7 @@ var require_request4 = __commonJS({
           // unsafe-request flag Set.
           unsafeRequest: request2.unsafeRequest,
           // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
+          client: environmentSettingsObject.settingsObject,
           // window window.
           window: window2,
           // priority request’s priority.
@@ -33488,7 +33959,7 @@ var require_request4 = __commonJS({
             } catch (err) {
               throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
             }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
               request2.referrer = "client";
             } else {
               request2.referrer = parsedReferrer;
@@ -33535,14 +34006,26 @@ var require_request4 = __commonJS({
         }
         if (init.method !== void 0) {
           let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
+          const mayBeNormalized = normalizedMethodRecords[method];
+          if (mayBeNormalized !== void 0) {
+            request2.method = mayBeNormalized;
+          } else {
+            if (!isValidHTTPToken(method)) {
+              throw new TypeError(`'${method}' is not a valid HTTP method.`);
+            }
+            const upperCase = method.toUpperCase();
+            if (forbiddenMethodsSet.has(upperCase)) {
+              throw new TypeError(`'${method}' HTTP method is unsupported.`);
+            }
+            method = normalizedMethodRecordsBase[upperCase] ?? method;
+            request2.method = method;
           }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          if (!patchMethodWarning && request2.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"
+            });
+            patchMethodWarning = true;
           }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
         }
         if (init.signal !== void 0) {
           signal = init.signal;
@@ -33550,7 +34033,6 @@ var require_request4 = __commonJS({
         this[kState] = request2;
         const ac = new AbortController();
         this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
         if (signal != null) {
           if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
             throw new TypeError(
@@ -33562,43 +34044,37 @@ var require_request4 = __commonJS({
           } else {
             this[kAbortController] = ac;
             const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
-              }
-            };
+            const abort = buildAbort(acRef);
             try {
               if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
+                setMaxListeners(1500, signal);
               } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+                setMaxListeners(1500, signal);
               }
             } catch {
             }
             util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
+            requestFinalizer.register(ac, { signal, abort }, abort);
           }
         }
         this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
+        setHeadersList(this[kHeaders], request2.headersList);
+        setHeadersGuard(this[kHeaders], "request");
         if (mode === "no-cors") {
           if (!corsSafeListedMethodsSet.has(request2.method)) {
             throw new TypeError(
               `'${request2.method} is unsupported in no-cors mode.`
             );
           }
-          this[kHeaders][kGuard] = "request-no-cors";
+          setHeadersGuard(this[kHeaders], "request-no-cors");
         }
         if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
+          const headersList = getHeadersList(this[kHeaders]);
           const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
           headersList.clear();
           if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
             }
             headersList.cookies = headers.cookies;
           } else {
@@ -33616,7 +34092,7 @@ var require_request4 = __commonJS({
             request2.keepalive
           );
           initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
             this[kHeaders].append("content-type", contentType);
           }
         }
@@ -33634,15 +34110,12 @@ var require_request4 = __commonJS({
         }
         let finalBody = inputOrInitBody;
         if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+          if (bodyUnusable(input)) {
             throw new TypeError(
               "Cannot construct a Request with a Request object that has already been used."
             );
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
-          }
-          const identityTransform = new TransformStream2();
+          const identityTransform = new TransformStream();
           inputBody.stream.pipeThrough(identityTransform);
           finalBody = {
             source: inputBody.source,
@@ -33745,7 +34218,7 @@ var require_request4 = __commonJS({
         return this[kState].reloadNavigation;
       }
       // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
+      // navigation (a.k.a. back-forward navigation).
       get isHistoryNavigation() {
         webidl.brandCheck(this, _Request);
         return this[kState].historyNavigation;
@@ -33772,83 +34245,112 @@ var require_request4 = __commonJS({
       // Returns a clone of request.
       clone() {
         webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
+        if (bodyUnusable(this)) {
           throw new TypeError("unusable");
         }
         const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
         const ac = new AbortController();
         if (this.signal.aborted) {
           ac.abort(this.signal.reason);
         } else {
+          let list = dependentControllerMap.get(this.signal);
+          if (list === void 0) {
+            list = /* @__PURE__ */ new Set();
+            dependentControllerMap.set(this.signal, list);
+          }
+          const acRef = new WeakRef(ac);
+          list.add(acRef);
           util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
+            ac.signal,
+            buildAbort(acRef)
           );
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
+        return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]));
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
     mixinBody(Request);
     function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
+      return {
+        method: init.method ?? "GET",
+        localURLsOnly: init.localURLsOnly ?? false,
+        unsafeRequest: init.unsafeRequest ?? false,
+        body: init.body ?? null,
+        client: init.client ?? null,
+        reservedClient: init.reservedClient ?? null,
+        replacesClientId: init.replacesClientId ?? "",
+        window: init.window ?? "client",
+        keepalive: init.keepalive ?? false,
+        serviceWorkers: init.serviceWorkers ?? "all",
+        initiator: init.initiator ?? "",
+        destination: init.destination ?? "",
+        priority: init.priority ?? null,
+        origin: init.origin ?? "client",
+        policyContainer: init.policyContainer ?? "client",
+        referrer: init.referrer ?? "client",
+        referrerPolicy: init.referrerPolicy ?? "",
+        mode: init.mode ?? "no-cors",
+        useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
+        credentials: init.credentials ?? "same-origin",
+        useCredentials: init.useCredentials ?? false,
+        cache: init.cache ?? "default",
+        redirect: init.redirect ?? "follow",
+        integrity: init.integrity ?? "",
+        cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "",
+        parserMetadata: init.parserMetadata ?? "",
+        reloadNavigation: init.reloadNavigation ?? false,
+        historyNavigation: init.historyNavigation ?? false,
+        userActivation: init.userActivation ?? false,
+        taintedOrigin: init.taintedOrigin ?? false,
+        redirectCount: init.redirectCount ?? 0,
+        responseTainting: init.responseTainting ?? "basic",
+        preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
+        done: init.done ?? false,
+        timingAllowFailed: init.timingAllowFailed ?? false,
+        urlList: init.urlList,
+        url: init.urlList[0],
         headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
       };
-      request2.url = request2.urlList[0];
-      return request2;
     }
     function cloneRequest(request2) {
       const newRequest = makeRequest({ ...request2, body: null });
       if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+        newRequest.body = cloneBody(newRequest, request2.body);
       }
       return newRequest;
     }
+    function fromInnerRequest(innerRequest, signal, guard) {
+      const request2 = new Request(kConstruct);
+      request2[kState] = innerRequest;
+      request2[kSignal] = signal;
+      request2[kHeaders] = new Headers(kConstruct);
+      setHeadersList(request2[kHeaders], innerRequest.headersList);
+      setHeadersGuard(request2[kHeaders], guard);
+      return request2;
+    }
     Object.defineProperties(Request.prototype, {
       method: kEnumerableProperty,
       url: kEnumerableProperty,
@@ -33878,14 +34380,14 @@ var require_request4 = __commonJS({
     webidl.converters.Request = webidl.interfaceConverter(
       Request
     );
-    webidl.converters.RequestInfo = function(V) {
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
       if (typeof V === "string") {
-        return webidl.converters.USVString(V);
+        return webidl.converters.USVString(V, prefix, argument);
       }
       if (V instanceof Request) {
-        return webidl.converters.Request(V);
+        return webidl.converters.Request(V, prefix, argument);
       }
-      return webidl.converters.USVString(V);
+      return webidl.converters.USVString(V, prefix, argument);
     };
     webidl.converters.AbortSignal = webidl.interfaceConverter(
       AbortSignal
@@ -33952,6 +34454,8 @@ var require_request4 = __commonJS({
         converter: webidl.nullableConverter(
           (signal) => webidl.converters.AbortSignal(
             signal,
+            "RequestInit",
+            "signal",
             { strict: false }
           )
         )
@@ -33964,26 +34468,31 @@ var require_request4 = __commonJS({
         key: "duplex",
         converter: webidl.converters.DOMString,
         allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
       }
     ]);
-    module2.exports = { Request, makeRequest };
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
 var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
       makeNetworkError,
       makeAppropriateNetworkError,
       filterResponse,
-      makeResponse
+      makeResponse,
+      fromInnerResponse
     } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib = require("zlib");
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib = require("node:zlib");
     var {
       bytesMatch,
       makePolicyContainer,
@@ -34012,31 +34521,33 @@ var require_fetch2 = __commonJS({
       isomorphicEncode,
       urlIsLocal,
       urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
     } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
     var {
       redirectStatusSet,
       nullBodyStatus,
       safeMethodsSet,
       requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
     var { getGlobalDispatcher } = require_global4();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
+    var { STATUS_CODES } = require("node:http");
     var GET_OR_HEAD = ["GET", "HEAD"];
+    var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
     var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
     var Fetch = class extends EE {
       constructor(dispatcher) {
         super();
@@ -34044,7 +34555,6 @@ var require_fetch2 = __commonJS({
         this.connection = null;
         this.dump = false;
         this.state = "ongoing";
-        this.setMaxListeners(21);
       }
       terminate(reason) {
         if (this.state !== "ongoing") {
@@ -34061,16 +34571,19 @@ var require_fetch2 = __commonJS({
         }
         this.state = "aborted";
         if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
         this.serializedAbortReason = error3;
         this.connection?.destroy(error3);
         this.emit("terminated", error3);
       }
     };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
+    function handleFetchDone(response) {
+      finalizeAndReportTiming(response, "fetch");
+    }
+    function fetch(input, init = void 0) {
+      webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
+      let p = createDeferredPromise();
       let requestObject;
       try {
         requestObject = new Request(input, init);
@@ -34088,7 +34601,6 @@ var require_fetch2 = __commonJS({
         request2.serviceWorkers = "none";
       }
       let responseObject = null;
-      const relevantRealm = null;
       let locallyAborted = false;
       let controller = null;
       addAbortListener(
@@ -34097,37 +34609,31 @@ var require_fetch2 = __commonJS({
           locallyAborted = true;
           assert(controller != null);
           controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
       );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
       const processResponse = (response) => {
         if (locallyAborted) {
-          return Promise.resolve();
+          return;
         }
         if (response.aborted) {
           abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+          return;
         }
         if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
       };
       controller = fetching({
         request: request2,
         processResponseEndOfBody: handleFetchDone,
         processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        dispatcher: requestObject[kDispatcher]
         // undici
       });
       return p.promise;
@@ -34158,22 +34664,17 @@ var require_fetch2 = __commonJS({
       response.timingInfo = timingInfo;
       markResourceTiming(
         timingInfo,
-        originalURL,
+        originalURL.href,
         initiatorType,
         globalThis,
         cacheState
       );
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
-      }
-    }
+    var markResourceTiming = performance.markResourceTiming;
     function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+      if (p) {
+        p.reject(error3);
       }
-      p.reject(error3);
       if (request2.body != null && isReadable(request2.body?.stream)) {
         request2.body.stream.cancel(error3).catch((err) => {
           if (err.code === "ERR_INVALID_STATE") {
@@ -34203,18 +34704,19 @@ var require_fetch2 = __commonJS({
       processResponseEndOfBody,
       processResponseConsumeBody,
       useParallelQueue = false,
-      dispatcher
+      dispatcher = getGlobalDispatcher()
       // undici
     }) {
+      assert(dispatcher);
       let taskDestination = null;
       let crossOriginIsolatedCapability = false;
       if (request2.client != null) {
         taskDestination = request2.client.globalObject;
         crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
       const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
+        startTime: currentTime
       });
       const fetchParams = {
         controller: new Fetch(dispatcher),
@@ -34233,7 +34735,7 @@ var require_fetch2 = __commonJS({
         request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
       if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
+        request2.origin = request2.client.origin;
       }
       if (request2.policyContainer === "client") {
         if (request2.client != null) {
@@ -34244,12 +34746,12 @@ var require_fetch2 = __commonJS({
           request2.policyContainer = makePolicyContainer();
         }
       }
-      if (!request2.headersList.contains("accept")) {
+      if (!request2.headersList.contains("accept", true)) {
         const value = "*/*";
-        request2.headersList.append("accept", value);
+        request2.headersList.append("accept", value, true);
       }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
       }
       if (request2.priority === null) {
       }
@@ -34331,7 +34833,7 @@ var require_fetch2 = __commonJS({
       if (!request2.timingAllowFailed) {
         response.timingAllowPassed = true;
       }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) {
         response = internalResponse = makeNetworkError();
       }
       if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
@@ -34369,28 +34871,56 @@ var require_fetch2 = __commonJS({
         }
         case "blob:": {
           if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
           }
           const blobURLEntry = requestCurrentURL(request2);
           if (blobURLEntry.search.length !== 0) {
             return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
           }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
             return Promise.resolve(makeNetworkError("invalid method"));
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = blob.type;
+          if (!request2.headersList.contains("range", true)) {
+            const bodyWithType = extractBody(blob);
+            response.statusText = "OK";
+            response.body = bodyWithType[0];
+            response.headersList.set("content-length", serializedFullLength, true);
+            response.headersList.set("content-type", type2, true);
+          } else {
+            response.rangeRequested = true;
+            const rangeHeader = request2.headersList.get("range", true);
+            const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
+            if (rangeValue === "failure") {
+              return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+            }
+            let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
+            if (rangeStart === null) {
+              rangeStart = fullLength - rangeEnd;
+              rangeEnd = rangeStart + rangeEnd - 1;
+            } else {
+              if (rangeStart >= fullLength) {
+                return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
+              }
+              if (rangeEnd === null || rangeEnd >= fullLength) {
+                rangeEnd = fullLength - 1;
+              }
+            }
+            const slicedBlob = blob.slice(rangeStart, rangeEnd, type2);
+            const slicedBodyWithType = extractBody(slicedBlob);
+            response.body = slicedBodyWithType[0];
+            const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
+            const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
+            response.status = 206;
+            response.statusText = "Partial Content";
+            response.headersList.set("content-length", serializedSlicedLength, true);
+            response.headersList.set("content-type", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
           return Promise.resolve(response);
         }
         case "data:": {
@@ -34427,52 +34957,59 @@ var require_fetch2 = __commonJS({
       }
     }
     function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
-      }
+      let timingInfo = fetchParams.timingInfo;
       const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        const unsafeEndTime = Date.now();
+        if (fetchParams.request.destination === "document") {
+          fetchParams.controller.fullTimingInfo = timingInfo;
         }
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
+          }
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
+          }
+          let responseStatus = 0;
+          if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
+            responseStatus = response.status;
+            const mimeType = extractMimeType(response.headersList);
+            if (mimeType !== "failure") {
+              bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
+            }
+          }
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
+          }
+        };
+        const processResponseEndOfBodyTask = () => {
+          fetchParams.request.done = true;
+          if (fetchParams.processResponseEndOfBody != null) {
+            queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+          }
+          if (fetchParams.request.initiatorType != null) {
+            fetchParams.controller.reportTimingSteps();
+          }
+        };
+        queueMicrotask(() => processResponseEndOfBodyTask());
       };
       if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
+        });
       }
-      if (response.body == null) {
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
         processResponseEndOfBody();
       } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
         });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
-      }
-      if (fetchParams.processResponseConsumeBody != null) {
-        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
-        } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
-        }
-        return Promise.resolve();
       }
     }
     async function httpFetch(fetchParams) {
@@ -34504,7 +35041,7 @@ var require_fetch2 = __commonJS({
       }
       if (redirectStatusSet.has(actualResponse.status)) {
         if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
+          fetchParams.controller.connection.destroy(void 0, false);
         }
         if (request2.redirect === "error") {
           response = makeNetworkError("unexpected redirect");
@@ -34560,10 +35097,10 @@ var require_fetch2 = __commonJS({
         }
       }
       if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
+        request2.headersList.delete("authorization", true);
         request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
       }
       if (request2.body != null) {
         assert(request2.body.source != null);
@@ -34589,7 +35126,7 @@ var require_fetch2 = __commonJS({
         httpFetchParams = fetchParams;
         httpRequest = request2;
       } else {
-        httpRequest = makeRequest(request2);
+        httpRequest = cloneRequest(request2);
         httpFetchParams = { ...fetchParams };
         httpFetchParams.request = httpRequest;
       }
@@ -34603,52 +35140,52 @@ var require_fetch2 = __commonJS({
         contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
       if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
       if (contentLength != null && httpRequest.keepalive) {
       }
       if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
       appendRequestOriginHeader(httpRequest);
       appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
         httpRequest.cache = "no-store";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
+        httpRequest.headersList.append("cache-control", "max-age=0", true);
       }
       if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
         }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
         if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      httpRequest.headersList.delete("host");
+      httpRequest.headersList.delete("host", true);
       if (includeCredentials) {
       }
       if (httpCache == null) {
         httpRequest.cache = "no-store";
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
       }
       if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
+        if (httpRequest.cache === "only-if-cached") {
           return makeNetworkError("only if cached");
         }
         const forwardResponse = await httpNetworkFetch(
@@ -34665,7 +35202,7 @@ var require_fetch2 = __commonJS({
         }
       }
       response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
+      if (httpRequest.headersList.contains("range", true)) {
         response.rangeRequested = true;
       }
       response.requestIncludesCredentials = includeCredentials;
@@ -34703,10 +35240,12 @@ var require_fetch2 = __commonJS({
       fetchParams.controller.connection = {
         abort: null,
         destroyed: false,
-        destroy(err) {
+        destroy(err, abort = true) {
           if (!this.destroyed) {
             this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
           }
         }
       };
@@ -34777,16 +35316,15 @@ var require_fetch2 = __commonJS({
         }
         return makeNetworkError(err);
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
       };
       const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
+        }
       };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      const stream = new ReadableStream2(
+      const stream = new ReadableStream(
         {
           async start(controller) {
             fetchParams.controller.controller = controller;
@@ -34796,16 +35334,12 @@ var require_fetch2 = __commonJS({
           },
           async cancel(reason) {
             await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+          },
+          type: "bytes"
         }
       );
-      response.body = { stream };
+      response.body = { stream, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
       fetchParams.controller.on("terminated", onAborted);
       fetchParams.controller.resume = async () => {
         while (true) {
@@ -34835,12 +35369,15 @@ var require_fetch2 = __commonJS({
             fetchParams.controller.terminate(bytes);
             return;
           }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
           if (isErrored(stream)) {
             fetchParams.controller.terminate();
             return;
           }
-          if (!fetchParams.controller.controller.desiredSize) {
+          if (fetchParams.controller.controller.desiredSize <= 0) {
             return;
           }
         }
@@ -34863,7 +35400,7 @@ var require_fetch2 = __commonJS({
         fetchParams.controller.connection.destroy();
       }
       return response;
-      async function dispatch({ body }) {
+      function dispatch({ body }) {
         const url = requestCurrentURL(request2);
         const agent = fetchParams.controller.dispatcher;
         return new Promise((resolve3, reject) => agent.dispatch(
@@ -34871,7 +35408,7 @@ var require_fetch2 = __commonJS({
             path: url.pathname + url.search,
             origin: url.origin,
             method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
             headers: request2.headersList.entries,
             maxRedirections: 0,
             upgrade: request2.mode === "websocket" ? "websocket" : void 0
@@ -34881,48 +35418,41 @@ var require_fetch2 = __commonJS({
             abort: null,
             onConnect(abort) {
               const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
               if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
+                abort(new DOMException("The operation was aborted.", "AbortError"));
               } else {
                 fetchParams.controller.on("terminated", abort);
                 this.abort = connection.abort = abort;
               }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
             },
-            onHeaders(status, headersList, resume, statusText) {
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
               if (status < 200) {
                 return;
               }
-              let codings = [];
               let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
               }
+              location = headersList.get("location", true);
               this.body = new Readable({ read: resume });
               const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
               if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
                   if (coding === "x-gzip" || coding === "gzip") {
                     decoders.push(zlib.createGunzip({
                       // Be less strict when decoding compressed responses, since sometimes
@@ -34933,22 +35463,31 @@ var require_fetch2 = __commonJS({
                       finishFlush: zlib.constants.Z_SYNC_FLUSH
                     }));
                   } else if (coding === "deflate") {
-                    decoders.push(zlib.createInflate());
+                    decoders.push(createInflate({
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
                   } else if (coding === "br") {
-                    decoders.push(zlib.createBrotliDecompress());
+                    decoders.push(zlib.createBrotliDecompress({
+                      flush: zlib.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
+                    }));
                   } else {
                     decoders.length = 0;
                     break;
                   }
                 }
               }
+              const onError = this.onError.bind(this);
               resolve3({
                 status,
                 statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
               });
               return true;
             },
@@ -34964,6 +35503,9 @@ var require_fetch2 = __commonJS({
               if (this.abort) {
                 fetchParams.controller.off("terminated", this.abort);
               }
+              if (fetchParams.controller.onAborted) {
+                fetchParams.controller.off("terminated", fetchParams.controller.onAborted);
+              }
               fetchParams.controller.ended = true;
               this.body.push(null);
             },
@@ -34975,20 +35517,18 @@ var require_fetch2 = __commonJS({
               fetchParams.controller.terminate(error3);
               reject(error3);
             },
-            onUpgrade(status, headersList, socket) {
+            onUpgrade(status, rawHeaders, socket) {
               if (status !== 101) {
                 return;
               }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
               }
               resolve3({
                 status,
                 statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
+                headersList,
                 socket
               });
               return true;
@@ -35006,9 +35546,9 @@ var require_fetch2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
 var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kState: /* @__PURE__ */ Symbol("FileReader state"),
@@ -35021,15 +35561,15 @@ var require_symbols8 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
 var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
     var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
     var ProgressEvent = class _ProgressEvent extends Event {
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
         eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
         super(type2, eventInitDict);
         this[kState] = {
@@ -35055,32 +35595,32 @@ var require_progressevent2 = __commonJS({
       {
         key: "lengthComputable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "loaded",
         converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "total",
         converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ]);
     module2.exports = {
@@ -35089,9 +35629,9 @@ var require_progressevent2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/encoding.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
 var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
     "use strict";
     function getEncoding(label) {
       if (!label) {
@@ -35375,9 +35915,9 @@ var require_encoding2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
 var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
     var {
       kState,
@@ -35388,11 +35928,10 @@ var require_util12 = __commonJS({
     } = require_symbols8();
     var { ProgressEvent } = require_progressevent2();
     var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
     var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
+    var { btoa: btoa2 } = require("node:buffer");
     var staticPropertyDescriptors = {
       enumerable: true,
       writable: false,
@@ -35400,7 +35939,7 @@ var require_util12 = __commonJS({
     };
     function readOperation(fr, blob, type2, encodingName) {
       if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
+        throw new DOMException("Invalid state", "InvalidStateError");
       }
       fr[kState] = "loading";
       fr[kResult] = null;
@@ -35561,9 +36100,9 @@ var require_util12 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
 var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
       staticPropertyDescriptors,
@@ -35600,7 +36139,7 @@ var require_filereader2 = __commonJS({
        */
       readAsArrayBuffer(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "ArrayBuffer");
       }
@@ -35610,7 +36149,7 @@ var require_filereader2 = __commonJS({
        */
       readAsBinaryString(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "BinaryString");
       }
@@ -35621,10 +36160,10 @@ var require_filereader2 = __commonJS({
        */
       readAsText(blob, encoding = void 0) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
         blob = webidl.converters.Blob(blob, { strict: false });
         if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
         }
         readOperation(this, blob, "Text", encoding);
       }
@@ -35634,7 +36173,7 @@ var require_filereader2 = __commonJS({
        */
       readAsDataURL(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "DataURL");
       }
@@ -35820,9 +36359,9 @@ var require_filereader2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
 var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kConstruct: require_symbols6().kConstruct
@@ -35830,55 +36369,50 @@ var require_symbols9 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
 var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
     var { isValidHeaderName } = require_util10();
     function urlEquals(A, B, excludeFragment = false) {
       const serializedA = URLSerializer(A, excludeFragment);
       const serializedB = URLSerializer(B, excludeFragment);
       return serializedA === serializedB;
     }
-    function fieldValues(header) {
+    function getFieldValues(header) {
       assert(header !== null);
       const values = [];
       for (let value of header.split(",")) {
         value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+        if (isValidHeaderName(value)) {
+          values.push(value);
         }
-        values.push(value);
       }
       return values;
     }
     module2.exports = {
       urlEquals,
-      fieldValues
+      getFieldValues
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
 var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
     "use strict";
     var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
+    var { urlEquals, getFieldValues } = require_util13();
     var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
     var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
     var { fetching } = require_fetch2();
     var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
+    var assert = require("node:assert");
     var Cache = class _Cache {
       /**
        * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
@@ -35889,14 +36423,16 @@ var require_cache2 = __commonJS({
         if (arguments[0] !== kConstruct) {
           webidl.illegalConstructor();
         }
+        webidl.util.markAsUncloneable(this);
         this.#relevantRequestResponseList = arguments[1];
       }
       async match(request2, options = {}) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
+        const prefix = "Cache.match";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        const p = this.#internalMatchAll(request2, options, 1);
         if (p.length === 0) {
           return;
         }
@@ -35904,64 +36440,42 @@ var require_cache2 = __commonJS({
       }
       async matchAll(request2 = void 0, options = {}) {
         webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
-            }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
-          }
-        }
-        const responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
-          }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
-          }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
+        const prefix = "Cache.matchAll";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        return this.#internalMatchAll(request2, options);
       }
       async add(request2) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
+        const prefix = "Cache.add";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
         const requests = [request2];
         const responseArrayPromise = this.addAll(requests);
         return await responseArrayPromise;
       }
       async addAll(requests) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         const responsePromises = [];
         const requestList = [];
-        for (const request2 of requests) {
+        for (let request2 of requests) {
+          if (request2 === void 0) {
+            throw webidl.errors.conversionFailed({
+              prefix,
+              argument: "Argument 1",
+              types: ["undefined is not allowed"]
+            });
+          }
+          request2 = webidl.converters.RequestInfo(request2);
           if (typeof request2 === "string") {
             continue;
           }
           const r = request2[kState];
           if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
             throw webidl.errors.exception({
-              header: "Cache.addAll",
+              header: prefix,
               message: "Expected http/s scheme when method is not GET."
             });
           }
@@ -35971,7 +36485,7 @@ var require_cache2 = __commonJS({
           const r = new Request(request2)[kState];
           if (!urlIsHttpHttpsScheme(r.url)) {
             throw webidl.errors.exception({
-              header: "Cache.addAll",
+              header: prefix,
               message: "Expected http/s scheme."
             });
           }
@@ -35981,7 +36495,6 @@ var require_cache2 = __commonJS({
           const responsePromise = createDeferredPromise();
           fetchControllers.push(fetching({
             request: r,
-            dispatcher: getGlobalDispatcher(),
             processResponse(response) {
               if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
                 responsePromise.reject(webidl.errors.exception({
@@ -36048,9 +36561,10 @@ var require_cache2 = __commonJS({
       }
       async put(request2, response) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
+        const prefix = "Cache.put";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        response = webidl.converters.Response(response, prefix, "response");
         let innerRequest = null;
         if (request2 instanceof Request) {
           innerRequest = request2[kState];
@@ -36059,14 +36573,14 @@ var require_cache2 = __commonJS({
         }
         if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            header: prefix,
             message: "Expected an http/s scheme when method is not GET"
           });
         }
         const innerResponse = response[kState];
         if (innerResponse.status === 206) {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            header: prefix,
             message: "Got 206 status"
           });
         }
@@ -36075,7 +36589,7 @@ var require_cache2 = __commonJS({
           for (const fieldValue of fieldValues) {
             if (fieldValue === "*") {
               throw webidl.errors.exception({
-                header: "Cache.put",
+                header: prefix,
                 message: "Got * vary field value"
               });
             }
@@ -36083,7 +36597,7 @@ var require_cache2 = __commonJS({
         }
         if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            header: prefix,
             message: "Response body is locked or disturbed"
           });
         }
@@ -36128,9 +36642,10 @@ var require_cache2 = __commonJS({
       }
       async delete(request2, options = {}) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
+        const prefix = "Cache.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
         let r = null;
         if (request2 instanceof Request) {
           r = request2[kState];
@@ -36169,12 +36684,13 @@ var require_cache2 = __commonJS({
        * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
        * @param {any} request
        * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
+       * @returns {Promise}
        */
       async keys(request2 = void 0, options = {}) {
         webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
         let r = null;
         if (request2 !== void 0) {
           if (request2 instanceof Request) {
@@ -36201,11 +36717,11 @@ var require_cache2 = __commonJS({
         queueMicrotask(() => {
           const requestList = [];
           for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
             requestList.push(requestObject);
           }
           promise.resolve(Object.freeze(requestList));
@@ -36346,6 +36862,39 @@ var require_cache2 = __commonJS({
         }
         return true;
       }
+      #internalMatchAll(request2, options, maxResponses = Infinity) {
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
+          }
+        }
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
+          }
+        }
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = fromInnerResponse(response, "immutable");
+          responseList.push(responseObject.clone());
+          if (responseList.length >= maxResponses) {
+            break;
+          }
+        }
+        return Object.freeze(responseList);
+      }
     };
     Object.defineProperties(Cache.prototype, {
       [Symbol.toStringTag]: {
@@ -36364,17 +36913,17 @@ var require_cache2 = __commonJS({
       {
         key: "ignoreSearch",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "ignoreMethod",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "ignoreVary",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ];
     webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
@@ -36395,9 +36944,9 @@ var require_cache2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/cachestorage.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
 var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
     "use strict";
     var { kConstruct } = require_symbols9();
     var { Cache } = require_cache2();
@@ -36413,10 +36962,11 @@ var require_cachestorage2 = __commonJS({
         if (arguments[0] !== kConstruct) {
           webidl.illegalConstructor();
         }
+        webidl.util.markAsUncloneable(this);
       }
       async match(request2, options = {}) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
         request2 = webidl.converters.RequestInfo(request2);
         options = webidl.converters.MultiCacheQueryOptions(options);
         if (options.cacheName != null) {
@@ -36442,8 +36992,9 @@ var require_cachestorage2 = __commonJS({
        */
       async has(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
         return this.#caches.has(cacheName);
       }
       /**
@@ -36453,8 +37004,9 @@ var require_cachestorage2 = __commonJS({
        */
       async open(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        const prefix = "CacheStorage.open";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
         if (this.#caches.has(cacheName)) {
           const cache2 = this.#caches.get(cacheName);
           return new Cache(kConstruct, cache2);
@@ -36470,13 +37022,14 @@ var require_cachestorage2 = __commonJS({
        */
       async delete(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        const prefix = "CacheStorage.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
         return this.#caches.delete(cacheName);
       }
       /**
        * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
+       * @returns {Promise}
        */
       async keys() {
         webidl.brandCheck(this, _CacheStorage);
@@ -36501,9 +37054,9 @@ var require_cachestorage2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
 var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
     "use strict";
     var maxAttributeValueSize = 1024;
     var maxNameValuePairSize = 4096;
@@ -36514,42 +37067,73 @@ var require_constants9 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
 var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
     "use strict";
     function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
+      for (let i = 0; i < value.length; ++i) {
+        const code = value.charCodeAt(i);
+        if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
+          return true;
         }
       }
+      return false;
     }
     function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+      for (let i = 0; i < name.length; ++i) {
+        const code = name.charCodeAt(i);
+        if (code < 33 || // exclude CTLs (0-31), SP and HT
+        code > 126 || // exclude non-ascii and DEL
+        code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 60 || // <
+        code === 62 || // >
+        code === 64 || // @
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 58 || // :
+        code === 92 || // \
+        code === 47 || // /
+        code === 91 || // [
+        code === 93 || // ]
+        code === 63 || // ?
+        code === 61 || // =
+        code === 123 || // {
+        code === 125) {
           throw new Error("Invalid cookie name");
         }
       }
     }
     function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
+      let len = value.length;
+      let i = 0;
+      if (value[0] === '"') {
+        if (len === 1 || value[len - 1] !== '"') {
+          throw new Error("Invalid cookie value");
+        }
+        --len;
+        ++i;
+      }
+      while (i < len) {
+        const code = value.charCodeAt(i++);
         if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
         }
       }
     }
     function validateCookiePath(path4) {
-      for (const char of path4) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
+      for (let i = 0; i < path4.length; ++i) {
+        const code = path4.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
           throw new Error("Invalid cookie path");
         }
       }
@@ -36559,41 +37143,35 @@ var require_util14 = __commonJS({
         throw new Error("Invalid cookie domain");
       }
     }
+    var IMFDays = [
+      "Sun",
+      "Mon",
+      "Tue",
+      "Wed",
+      "Thu",
+      "Fri",
+      "Sat"
+    ];
+    var IMFMonths = [
+      "Jan",
+      "Feb",
+      "Mar",
+      "Apr",
+      "May",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Oct",
+      "Nov",
+      "Dec"
+    ];
+    var IMFPaddedNumbers = Array(61).fill(0).map((_2, i) => i.toString().padStart(2, "0"));
     function toIMFDate(date) {
       if (typeof date === "number") {
         date = new Date(date);
       }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
+      return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`;
     }
     function validateCookieMaxAge(maxAge) {
       if (maxAge < 0) {
@@ -36659,14 +37237,14 @@ var require_util14 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
 var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
     "use strict";
     var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
     var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
     function parseSetCookie(header) {
       if (isCTLExcludingHtab(header)) {
         return null;
@@ -36799,16 +37377,16 @@ var require_parse2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
 var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
     var { parseSetCookie } = require_parse2();
     var { stringify } = require_util14();
     var { webidl } = require_webidl2();
     var { Headers } = require_headers2();
     function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
       webidl.brandCheck(headers, Headers, { strict: false });
       const cookie = headers.get("cookie");
       const out = {};
@@ -36822,9 +37400,10 @@ var require_cookies2 = __commonJS({
       return out;
     }
     function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
       webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
       attributes = webidl.converters.DeleteCookieAttributes(attributes);
       setCookie(headers, {
         name,
@@ -36834,7 +37413,7 @@ var require_cookies2 = __commonJS({
       });
     }
     function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
       webidl.brandCheck(headers, Headers, { strict: false });
       const cookies = headers.getSetCookie();
       if (!cookies) {
@@ -36843,24 +37422,24 @@ var require_cookies2 = __commonJS({
       return cookies.map((pair) => parseSetCookie(pair));
     }
     function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
       webidl.brandCheck(headers, Headers, { strict: false });
       cookie = webidl.converters.Cookie(cookie);
       const str2 = stringify(cookie);
       if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
+        headers.append("Set-Cookie", str2);
       }
     }
     webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "path",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "domain",
-        defaultValue: null
+        defaultValue: () => null
       }
     ]);
     webidl.converters.Cookie = webidl.dictionaryConverter([
@@ -36880,32 +37459,32 @@ var require_cookies2 = __commonJS({
           return new Date(value);
         }),
         key: "expires",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters["long long"]),
         key: "maxAge",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "domain",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "path",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.boolean),
         key: "secure",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.boolean),
         key: "httpOnly",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.converters.USVString,
@@ -36915,7 +37494,7 @@ var require_cookies2 = __commonJS({
       {
         converter: webidl.sequenceConverter(webidl.converters.DOMString),
         key: "unparsed",
-        defaultValue: []
+        defaultValue: () => new Array(0)
       }
     ]);
     module2.exports = {
@@ -36927,82 +37506,29 @@ var require_cookies2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
-    "use strict";
-    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    var states = {
-      CONNECTING: 0,
-      OPEN: 1,
-      CLOSING: 2,
-      CLOSED: 3
-    };
-    var opcodes = {
-      CONTINUATION: 0,
-      TEXT: 1,
-      BINARY: 2,
-      CLOSE: 8,
-      PING: 9,
-      PONG: 10
-    };
-    var maxUnsigned16Bit = 2 ** 16 - 1;
-    var parserStates = {
-      INFO: 0,
-      PAYLOADLENGTH_16: 2,
-      PAYLOADLENGTH_64: 3,
-      READ_DATA: 4
-    };
-    var emptyBuffer = Buffer.allocUnsafe(0);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
 var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
     var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
     var MessageEvent = class _MessageEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
         this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
       get data() {
         webidl.brandCheck(this, _MessageEvent);
@@ -37029,7 +37555,7 @@ var require_events2 = __commonJS({
       }
       initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
         webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
         return new _MessageEvent(type2, {
           bubbles,
           cancelable,
@@ -37040,15 +37566,29 @@ var require_events2 = __commonJS({
           ports
         });
       }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, init);
+        messageEvent.#eventInit = init;
+        messageEvent.#eventInit.data ??= null;
+        messageEvent.#eventInit.origin ??= "";
+        messageEvent.#eventInit.lastEventId ??= "";
+        messageEvent.#eventInit.source ??= null;
+        messageEvent.#eventInit.ports ??= [];
+        return messageEvent;
+      }
     };
+    var { createFastMessageEvent } = MessageEvent;
+    delete MessageEvent.createFastMessageEvent;
     var CloseEvent = class _CloseEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
         eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
         super(type2, eventInitDict);
         this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
       get wasClean() {
         webidl.brandCheck(this, _CloseEvent);
@@ -37066,9 +37606,11 @@ var require_events2 = __commonJS({
     var ErrorEvent = class _ErrorEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
         eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
         this.#eventInit = eventInitDict;
       }
@@ -37133,17 +37675,17 @@ var require_events2 = __commonJS({
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ];
     webidl.converters.MessageEventInit = webidl.dictionaryConverter([
@@ -37151,31 +37693,29 @@ var require_events2 = __commonJS({
       {
         key: "data",
         converter: webidl.converters.any,
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         key: "origin",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "lastEventId",
         converter: webidl.converters.DOMString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "source",
         // Node doesn't implement WindowProxy or ServiceWorker, so the only
         // valid value for source is a MessagePort.
         converter: webidl.nullableConverter(webidl.converters.MessagePort),
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         key: "ports",
         converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
-        }
+        defaultValue: () => new Array(0)
       }
     ]);
     webidl.converters.CloseEventInit = webidl.dictionaryConverter([
@@ -37183,17 +37723,17 @@ var require_events2 = __commonJS({
       {
         key: "wasClean",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "code",
         converter: webidl.converters["unsigned short"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "reason",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       }
     ]);
     webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
@@ -37201,22 +37741,22 @@ var require_events2 = __commonJS({
       {
         key: "message",
         converter: webidl.converters.DOMString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "filename",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "lineno",
         converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "colno",
         converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "error",
@@ -37226,18 +37766,98 @@ var require_events2 = __commonJS({
     module2.exports = {
       MessageEvent,
       CloseEvent,
-      ErrorEvent
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/websocket/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
+    "use strict";
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var sentCloseFrameState = {
+      NOT_SENT: 0,
+      PROCESSING: 1,
+      SENT: 2
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    var sendHints = {
+      string: 1,
+      typedArray: 2,
+      arrayBuffer: 3,
+      blob: 4
+    };
+    module2.exports = {
+      uid,
+      sentCloseFrameState,
+      staticPropertyDescriptors,
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
 var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
     "use strict";
     var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
     var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
+    }
     function isEstablished(ws) {
       return ws[kReadyState] === states.OPEN;
     }
@@ -37247,8 +37867,8 @@ var require_util15 = __commonJS({
     function isClosed(ws) {
       return ws[kReadyState] === states.CLOSED;
     }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
       target.dispatchEvent(event);
     }
     function websocketMessageReceived(ws, type2, data) {
@@ -37258,7 +37878,7 @@ var require_util15 = __commonJS({
       let dataForEvent;
       if (type2 === opcodes.TEXT) {
         try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+          dataForEvent = utf8Decode(data);
         } catch {
           failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           return;
@@ -37267,22 +37887,44 @@ var require_util15 = __commonJS({
         if (ws[kBinaryType] === "blob") {
           dataForEvent = new Blob([data]);
         } else {
-          dataForEvent = new Uint8Array(data).buffer;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      fireEvent("message", ws, MessageEvent, {
+      fireEvent("message", ws, createFastMessageEvent, {
         origin: ws[kWebSocketURL].origin,
         data: dataForEvent
       });
     }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
+      }
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
     function isValidSubprotocol(protocol) {
       if (protocol.length === 0) {
         return false;
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
+      for (let i = 0; i < protocol.length; ++i) {
+        const code = protocol.charCodeAt(i);
+        if (code < 33 || // CTL, contains SP (0x20) and HT (0x09)
+        code > 126 || code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 44 || // ,
+        code === 47 || // /
+        code === 58 || // :
+        code === 59 || // ;
+        code === 60 || // <
+        code === 61 || // =
+        code === 62 || // >
+        code === 63 || // ?
+        code === 64 || // @
+        code === 91 || // [
+        code === 92 || // \
+        code === 93 || // ]
+        code === 123 || // {
+        code === 125) {
           return false;
         }
       }
@@ -37303,12 +37945,57 @@ var require_util15 = __commonJS({
         response.socket.destroy();
       }
       if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
         });
       }
     }
+    function isControlFrame(opcode) {
+      return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
+    }
+    function isContinuationFrame(opcode) {
+      return opcode === opcodes.CONTINUATION;
+    }
+    function isTextBinaryFrame(opcode) {
+      return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
+    }
+    function isValidOpcode(opcode) {
+      return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
+    }
+    function parseExtensions(extensions) {
+      const position = { position: 0 };
+      const extensionList = /* @__PURE__ */ new Map();
+      while (position.position < extensions.length) {
+        const pair = collectASequenceOfCodePointsFast(";", extensions, position);
+        const [name, value = ""] = pair.split("=");
+        extensionList.set(
+          removeHTTPWhitespace(name, true, false),
+          removeHTTPWhitespace(value, false, true)
+        );
+        position.position++;
+      }
+      return extensionList;
+    }
+    function isValidClientWindowBits(value) {
+      for (let i = 0; i < value.length; i++) {
+        const byte = value.charCodeAt(i);
+        if (byte < 48 || byte > 57) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var hasIntl = typeof process.versions.icu === "string";
+    var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0;
+    var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) {
+      if (isUtf8(buffer)) {
+        return buffer.toString("utf-8");
+      }
+      throw new TypeError("Invalid utf-8 received.");
+    };
     module2.exports = {
+      isConnecting,
       isEstablished,
       isClosing,
       isClosed,
@@ -37316,44 +38003,126 @@ var require_util15 = __commonJS({
       isValidSubprotocol,
       isValidStatusCode,
       failWebsocketConnection,
-      websocketMessageReceived
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
+        }
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
+      }
+      return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]];
+    }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+      }
+      createFrame(opcode) {
+        const frameData = this.frameData;
+        const maskKey = generateMask();
+        const bodyLength = frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
+        }
+        const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
+        buffer2[0] = buffer2[1] = 0;
+        buffer2[0] |= 128;
+        buffer2[0] = (buffer2[0] & 240) + opcode;
+        buffer2[offset - 4] = maskKey[0];
+        buffer2[offset - 3] = maskKey[1];
+        buffer2[offset - 2] = maskKey[2];
+        buffer2[offset - 1] = maskKey[3];
+        buffer2[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer2.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer2[2] = buffer2[3] = 0;
+          buffer2.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer2[1] |= 128;
+        for (let i = 0; i < bodyLength; ++i) {
+          buffer2[offset + i] = frameData[i] ^ maskKey[i & 3];
+        }
+        return buffer2;
+      }
+    };
+    module2.exports = {
+      WebsocketFrameSend
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
 var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
     var {
       kReadyState,
       kSentClose,
       kByteParser,
-      kReceivedClose
+      kReceivedClose,
+      kResponse
     } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
     var { CloseEvent } = require_events2();
     var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
     var crypto2;
     try {
-      crypto2 = require("crypto");
+      crypto2 = require("node:crypto");
     } catch {
     }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
+    function establishWebSocketConnection(url, protocols, client, ws, onEstablish, options) {
       const requestURL = url;
       requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
       const request2 = makeRequest({
         urlList: [requestURL],
+        client,
         serviceWorkers: "none",
         referrer: "no-referrer",
         mode: "websocket",
@@ -37362,7 +38131,7 @@ var require_connection2 = __commonJS({
         redirect: "error"
       });
       if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
+        const headersList = getHeadersList(new Headers(options.headers));
         request2.headersList = headersList;
       }
       const keyValue = crypto2.randomBytes(16).toString("base64");
@@ -37371,11 +38140,12 @@ var require_connection2 = __commonJS({
       for (const protocol of protocols) {
         request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      const permessageDeflate = "";
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
       const controller = fetching({
         request: request2,
         useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        dispatcher: options.dispatcher,
         processResponse(response) {
           if (response.type === "error" || response.status !== 101) {
             failWebsocketConnection(ws, "Received network error or non-101 status code.");
@@ -37400,14 +38170,21 @@ var require_connection2 = __commonJS({
             return;
           }
           const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
+          let extensions;
+          if (secExtension !== null) {
+            extensions = parseExtensions(secExtension);
+            if (!extensions.has("permessage-deflate")) {
+              failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match.");
+              return;
+            }
           }
           const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
+          if (secProtocol !== null) {
+            const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList);
+            if (!requestProtocols.includes(secProtocol)) {
+              failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+              return;
+            }
           }
           response.socket.on("data", onSocketData);
           response.socket.on("close", onSocketClose);
@@ -37419,11 +38196,37 @@ var require_connection2 = __commonJS({
               extensions: secExtension
             });
           }
-          onEstablish(response);
+          onEstablish(response, extensions);
         }
       });
       return controller;
     }
+    function closeWebSocketConnection(ws, code, reason, reasonByteLength) {
+      if (isClosing(ws) || isClosed(ws)) {
+      } else if (!isEstablished(ws)) {
+        failWebsocketConnection(ws, "Connection was closed before it was established.");
+        ws[kReadyState] = states.CLOSING;
+      } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) {
+        ws[kSentClose] = sentCloseFrameState.PROCESSING;
+        const frame = new WebsocketFrameSend();
+        if (code !== void 0 && reason === void 0) {
+          frame.frameData = Buffer.allocUnsafe(2);
+          frame.frameData.writeUInt16BE(code, 0);
+        } else if (code !== void 0 && reason !== void 0) {
+          frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+          frame.frameData.writeUInt16BE(code, 0);
+          frame.frameData.write(reason, 2, "utf-8");
+        } else {
+          frame.frameData = emptyBuffer;
+        }
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
+      }
+    }
     function onSocketData(chunk) {
       if (!this.ws[kByteParser].write(chunk)) {
         this.pause();
@@ -37431,18 +38234,22 @@ var require_connection2 = __commonJS({
     }
     function onSocketClose() {
       const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      const { [kResponse]: response } = ws;
+      response.socket.off("data", onSocketData);
+      response.socket.off("close", onSocketClose);
+      response.socket.off("error", onSocketError);
+      const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose];
       let code = 1005;
       let reason = "";
       const result = ws[kByteParser].closingInfo;
-      if (result) {
+      if (result && !result.error) {
         code = result.code ?? 1005;
         reason = result.reason;
-      } else if (!ws[kSentClose]) {
+      } else if (!ws[kReceivedClose]) {
         code = 1006;
       }
       ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
         wasClean,
         code,
         reason
@@ -37464,98 +38271,114 @@ var require_connection2 = __commonJS({
       this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      establishWebSocketConnection,
+      closeWebSocketConnection
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
-      /**
-       * @param {Buffer|undefined} data
-       */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ Symbol("kLength");
+    var PerMessageDeflate = class {
+      /** @type {import('node:zlib').InflateRaw} */
+      #inflate;
+      #options = {};
+      constructor(extensions) {
+        this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
+        this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
       }
-      createFrame(opcode) {
-        const bodyLength = this.frameData?.byteLength ?? 0;
-        let payloadLength = bodyLength;
-        let offset = 6;
-        if (bodyLength > maxUnsigned16Bit) {
-          offset += 8;
-          payloadLength = 127;
-        } else if (bodyLength > 125) {
-          offset += 2;
-          payloadLength = 126;
-        }
-        const buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
+      decompress(chunk, fin, callback) {
+        if (!this.#inflate) {
+          let windowBits = Z_DEFAULT_WINDOWBITS;
+          if (this.#options.serverMaxWindowBits) {
+            if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
+              callback(new Error("Invalid server_max_window_bits"));
+              return;
+            }
+            windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
+          }
+          this.#inflate = createInflateRaw({ windowBits });
+          this.#inflate[kBuffer] = [];
+          this.#inflate[kLength] = 0;
+          this.#inflate.on("data", (data) => {
+            this.#inflate[kBuffer].push(data);
+            this.#inflate[kLength] += data.length;
+          });
+          this.#inflate.on("error", (err) => {
+            this.#inflate = null;
+            callback(err);
+          });
         }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        return buffer;
+        this.#inflate.flush(() => {
+          const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
+          this.#inflate[kBuffer].length = 0;
+          this.#inflate[kLength] = 0;
+          callback(null, full);
+        });
       }
     };
-    module2.exports = {
-      WebsocketFrameSend
-    };
+    module2.exports = { PerMessageDeflate };
   }
 });
 
-// node_modules/undici/lib/websocket/receiver.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
 var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
     "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
     var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
     var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
     var ByteParser = class extends Writable {
       #buffers = [];
       #byteOffset = 0;
+      #loop = false;
       #state = parserStates.INFO;
       #info = {};
       #fragments = [];
-      constructor(ws) {
+      /** @type {Map} */
+      #extensions;
+      constructor(ws, extensions) {
         super();
         this.ws = ws;
-      }
-      /**
+        this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
+        if (this.#extensions.has("permessage-deflate")) {
+          this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
+        }
+      }
+      /**
        * @param {Buffer} chunk
        * @param {() => void} callback
        */
       _write(chunk, _2, callback) {
         this.#buffers.push(chunk);
         this.#byteOffset += chunk.length;
+        this.#loop = true;
         this.run(callback);
       }
       /**
@@ -37564,21 +38387,56 @@ var require_receiver2 = __commonJS({
        * or not enough bytes are buffered to parse.
        */
       run(callback) {
-        while (true) {
+        while (this.#loop) {
           if (this.#state === parserStates.INFO) {
             if (this.#byteOffset < 2) {
               return callback();
             }
             const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+            const fin = (buffer[0] & 128) !== 0;
+            const opcode = buffer[0] & 15;
+            const masked = (buffer[1] & 128) === 128;
+            const fragmented = !fin && opcode !== opcodes.CONTINUATION;
+            const payloadLength = buffer[1] & 127;
+            const rsv1 = buffer[0] & 64;
+            const rsv2 = buffer[0] & 32;
+            const rsv3 = buffer[0] & 16;
+            if (!isValidOpcode(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid opcode received");
+              return callback();
+            }
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
+            }
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
               failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
               return;
             }
-            const payloadLength = buffer[1] & 127;
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
             if (payloadLength <= 125) {
               this.#info.payloadLength = payloadLength;
               this.#state = parserStates.READ_DATA;
@@ -37587,68 +38445,14 @@ var require_receiver2 = __commonJS({
             } else if (payloadLength === 127) {
               this.#state = parserStates.PAYLOADLENGTH_64;
             }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
-                return;
-              }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
-              return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
-              }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
-              }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
-              }
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
-              }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
             }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
           } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
             if (this.#byteOffset < 2) {
               return callback();
@@ -37672,34 +38476,54 @@ var require_receiver2 = __commonJS({
           } else if (this.#state === parserStates.READ_DATA) {
             if (this.#byteOffset < this.#info.payloadLength) {
               return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
-              }
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
               this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.message.length);
+                    return;
+                  }
+                  this.#fragments.push(data);
+                  if (!this.#info.fin) {
+                    this.#state = parserStates.INFO;
+                    this.#loop = true;
+                    this.run(callback);
+                    return;
+                  }
+                  websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments));
+                  this.#loop = true;
+                  this.#state = parserStates.INFO;
+                  this.#fragments.length = 0;
+                  this.run(callback);
+                });
+                this.#loop = false;
+                break;
+              }
             }
           }
-          if (this.#byteOffset > 0) {
-            continue;
-          } else {
-            callback();
-            break;
-          }
         }
       }
       /**
        * Take n bytes from the buffered Buffers
        * @param {number} n
-       * @returns {Buffer|null}
+       * @returns {Buffer}
        */
       consume(n) {
         if (n > this.#byteOffset) {
-          return null;
+          throw new Error("Called consume() before buffers satiated.");
         } else if (n === 0) {
           return emptyBuffer;
         }
@@ -37727,30 +38551,81 @@ var require_receiver2 = __commonJS({
         this.#byteOffset -= n;
         return buffer;
       }
-      parseCloseBody(onlyCode, data) {
+      parseCloseBody(data) {
+        assert(data.length !== 1);
         let code;
         if (data.length >= 2) {
           code = data.readUInt16BE(0);
         }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
         let reason = data.subarray(2);
         if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
           reason = reason.subarray(3);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
-        }
         try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+          reason = utf8Decode(reason);
         } catch {
-          return null;
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return { code, reason };
+        return { code, reason, error: false };
+      }
+      /**
+       * Parses control frames.
+       * @param {Buffer} body
+       */
+      parseControlFrame(body) {
+        const { opcode, payloadLength } = this.#info;
+        if (opcode === opcodes.CLOSE) {
+          if (payloadLength === 1) {
+            failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+            return false;
+          }
+          this.#info.closeInfo = this.parseCloseBody(body);
+          if (this.#info.closeInfo.error) {
+            const { code, reason } = this.#info.closeInfo;
+            closeWebSocketConnection(this.ws, code, reason, reason.length);
+            failWebsocketConnection(this.ws, reason);
+            return false;
+          }
+          if (this.ws[kSentClose] !== sentCloseFrameState.SENT) {
+            let body2 = emptyBuffer;
+            if (this.#info.closeInfo.code) {
+              body2 = Buffer.allocUnsafe(2);
+              body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+            }
+            const closeFrame = new WebsocketFrameSend(body2);
+            this.ws[kResponse].socket.write(
+              closeFrame.createFrame(opcodes.CLOSE),
+              (err) => {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
+            }
+          }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
+        }
+        return true;
       }
       get closingInfo() {
         return this.#info.closeInfo;
@@ -37762,15 +38637,96 @@ var require_receiver2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
+    "use strict";
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    var FastBuffer = Buffer[Symbol.species];
+    var SendQueue = class {
+      /**
+       * @type {FixedQueue}
+       */
+      #queue = new FixedQueue();
+      /**
+       * @type {boolean}
+       */
+      #running = false;
+      /** @type {import('node:net').Socket} */
+      #socket;
+      constructor(socket) {
+        this.#socket = socket;
+      }
+      add(item, cb, hint) {
+        if (hint !== sendHints.blob) {
+          const frame = createFrame(item, hint);
+          if (!this.#running) {
+            this.#socket.write(frame, cb);
+          } else {
+            const node2 = {
+              promise: null,
+              callback: cb,
+              frame
+            };
+            this.#queue.push(node2);
+          }
+          return;
+        }
+        const node = {
+          promise: item.arrayBuffer().then((ab) => {
+            node.promise = null;
+            node.frame = createFrame(ab, hint);
+          }),
+          callback: cb,
+          frame: null
+        };
+        this.#queue.push(node);
+        if (!this.#running) {
+          this.#run();
+        }
+      }
+      async #run() {
+        this.#running = true;
+        const queue = this.#queue;
+        while (!queue.isEmpty()) {
+          const node = queue.shift();
+          if (node.promise !== null) {
+            await node.promise;
+          }
+          this.#socket.write(node.frame, node.callback);
+          node.callback = node.frame = null;
+        }
+        this.#running = false;
+      }
+    };
+    function createFrame(data, hint) {
+      return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY);
+    }
+    function toBuffer(data, hint) {
+      switch (hint) {
+        case sendHints.string:
+          return Buffer.from(data);
+        case sendHints.arrayBuffer:
+        case sendHints.blob:
+          return new FastBuffer(data);
+        case sendHints.typedArray:
+          return new FastBuffer(data.buffer, data.byteOffset, data.byteLength);
+      }
+    }
+    module2.exports = { SendQueue };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
 var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
     var {
       kWebSocketURL,
       kReadyState,
@@ -37780,14 +38736,20 @@ var require_websocket2 = __commonJS({
       kSentClose,
       kByteParser
     } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
     var { ByteParser } = require_receiver2();
     var { kEnumerableProperty, isBlobLike } = require_util9();
     var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
-    var experimentalWarned = false;
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
     var WebSocket = class _WebSocket extends EventTarget {
       #events = {
         open: null,
@@ -37798,28 +38760,26 @@ var require_websocket2 = __commonJS({
       #bufferedAmount = 0;
       #protocol = "";
       #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
       /**
        * @param {string} url
        * @param {string|string[]} protocols
        */
       constructor(url, protocols = []) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
-        if (!experimentalWarned) {
-          experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
-          });
-        }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
+        webidl.util.markAsUncloneable(this);
+        const prefix = "WebSocket constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options");
+        url = webidl.converters.USVString(url, prefix, "url");
         protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
         let urlRecord;
         try {
           urlRecord = new URL(url, baseURL);
         } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
         if (urlRecord.protocol === "http:") {
           urlRecord.protocol = "ws:";
@@ -37827,32 +38787,35 @@ var require_websocket2 = __commonJS({
           urlRecord.protocol = "wss:";
         }
         if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
+          throw new DOMException(
             `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
             "SyntaxError"
           );
         }
         if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
+          throw new DOMException("Got fragment", "SyntaxError");
         }
         if (typeof protocols === "string") {
           protocols = [protocols];
         }
         if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
         if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
         this[kWebSocketURL] = new URL(urlRecord.href);
+        const client = environmentSettingsObject.settingsObject;
         this[kController] = establishWebSocketConnection(
           urlRecord,
           protocols,
+          client,
           this,
-          (response) => this.#onConnectionEstablished(response),
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
           options
         );
         this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
         this[kBinaryType] = "blob";
       }
       /**
@@ -37862,53 +38825,29 @@ var require_websocket2 = __commonJS({
        */
       close(code = void 0, reason = void 0) {
         webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.close";
         if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
         }
         if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
+          reason = webidl.converters.USVString(reason, prefix, "reason");
         }
         if (code !== void 0) {
           if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+            throw new DOMException("invalid code", "InvalidAccessError");
           }
         }
         let reasonByteLength = 0;
         if (reason !== void 0) {
           reasonByteLength = Buffer.byteLength(reason);
           if (reasonByteLength > 123) {
-            throw new DOMException2(
+            throw new DOMException(
               `Reason must be less than 123 bytes; received ${reasonByteLength}`,
               "SyntaxError"
             );
           }
         }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          const frame = new WebsocketFrameSend();
-          if (code !== void 0 && reason === void 0) {
-            frame.frameData = Buffer.allocUnsafe(2);
-            frame.frameData.writeUInt16BE(code, 0);
-          } else if (code !== void 0 && reason !== void 0) {
-            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
-            frame.frameData.writeUInt16BE(code, 0);
-            frame.frameData.write(reason, 2, "utf-8");
-          } else {
-            frame.frameData = emptyBuffer;
-          }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
-            }
-          });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
       /**
        * @see https://websockets.spec.whatwg.org/#dom-websocket-send
@@ -37916,50 +38855,36 @@ var require_websocket2 = __commonJS({
        */
       send(data) {
         webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        const prefix = "WebSocket.send";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        data = webidl.converters.WebSocketSendData(data, prefix, "data");
+        if (isConnecting(this)) {
+          throw new DOMException("Sent before connected.", "InvalidStateError");
         }
         if (!isEstablished(this) || isClosing(this)) {
           return;
         }
-        const socket = this[kResponse].socket;
         if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
         } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
         } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
         } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
         }
       }
       get readyState() {
@@ -38061,14 +38986,14 @@ var require_websocket2 = __commonJS({
       /**
        * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
        */
-      #onConnectionEstablished(response) {
+      #onConnectionEstablished(response, parsedExtensions) {
         this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
+        const parser = new ByteParser(this, parsedExtensions);
+        parser.on("drain", onParserDrain);
+        parser.on("error", onParserError.bind(this));
         response.socket.ws = this;
         this[kByteParser] = parser;
+        this.#sendQueue = new SendQueue(response.socket);
         this[kReadyState] = states.OPEN;
         const extensions = response.headersList.get("sec-websocket-extensions");
         if (extensions !== null) {
@@ -38118,26 +39043,22 @@ var require_websocket2 = __commonJS({
     webidl.converters["sequence"] = webidl.sequenceConverter(
       webidl.converters.DOMString
     );
-    webidl.converters["DOMString or sequence"] = function(V) {
+    webidl.converters["DOMString or sequence"] = function(V, prefix, argument) {
       if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
         return webidl.converters["sequence"](V);
       }
-      return webidl.converters.DOMString(V);
+      return webidl.converters.DOMString(V, prefix, argument);
     };
     webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
         key: "protocols",
         converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        defaultValue: () => new Array(0)
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
       {
         key: "headers",
@@ -38155,1081 +39076,977 @@ var require_websocket2 = __commonJS({
         if (isBlobLike(V)) {
           return webidl.converters.Blob(V, { strict: false });
         }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+        if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
           return webidl.converters.BufferSource(V);
         }
       }
       return webidl.converters.USVString(V);
     };
-    module2.exports = {
-      WebSocket
-    };
-  }
-});
-
-// node_modules/undici/index.js
-var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
-    "use strict";
-    var Client = require_client2();
-    var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
-    var Pool = require_pool2();
-    var BalancedPool = require_balanced_pool2();
-    var Agent = require_agent2();
-    var util = require_util9();
-    var { InvalidArgumentError } = errors;
-    var api = require_api2();
-    var buildConnector = require_connect2();
-    var MockClient = require_mock_client2();
-    var MockAgent = require_mock_agent2();
-    var MockPool = require_mock_pool2();
-    var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
-    var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    Object.assign(Dispatcher.prototype, api);
-    module2.exports.Dispatcher = Dispatcher;
-    module2.exports.Client = Client;
-    module2.exports.Pool = Pool;
-    module2.exports.BalancedPool = BalancedPool;
-    module2.exports.Agent = Agent;
-    module2.exports.ProxyAgent = ProxyAgent;
-    module2.exports.RetryHandler = RetryHandler;
-    module2.exports.DecoratorHandler = DecoratorHandler;
-    module2.exports.RedirectHandler = RedirectHandler;
-    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
-    module2.exports.buildConnector = buildConnector;
-    module2.exports.errors = errors;
-    function makeDispatcher(fn) {
-      return (url, opts, handler2) => {
-        if (typeof opts === "function") {
-          handler2 = opts;
-          opts = null;
-        }
-        if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) {
-          throw new InvalidArgumentError("invalid url");
-        }
-        if (opts != null && typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (opts && opts.path != null) {
-          if (typeof opts.path !== "string") {
-            throw new InvalidArgumentError("invalid opts.path");
-          }
-          let path4 = opts.path;
-          if (!opts.path.startsWith("/")) {
-            path4 = `/${path4}`;
-          }
-          url = new URL(util.parseOrigin(url).origin + path4);
-        } else {
-          if (!opts) {
-            opts = typeof url === "object" ? url : {};
-          }
-          url = util.parseURL(url);
-        }
-        const { agent, dispatcher = getGlobalDispatcher() } = opts;
-        if (agent) {
-          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
-        }
-        return fn.call(dispatcher, {
-          ...opts,
-          origin: url.origin,
-          path: url.search ? `${url.pathname}${url.search}` : url.pathname,
-          method: opts.method || (opts.body ? "PUT" : "GET")
-        }, handler2);
-      };
+    function onParserError(err) {
+      let message;
+      let code;
+      if (err instanceof CloseEvent) {
+        message = err.reason;
+        code = err.code;
+      } else {
+        message = err.message;
+      }
+      fireEvent("error", this, () => new ErrorEvent("error", { error: err, message }));
+      closeWebSocketConnection(this, code);
     }
-    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
-    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
-        }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
+    module2.exports = {
+      WebSocket
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
+    "use strict";
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
+    function isASCIINumber(value) {
+      if (value.length === 0) return false;
+      for (let i = 0; i < value.length; i++) {
+        if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false;
+      }
+      return true;
     }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
+    function delay(ms) {
+      return new Promise((resolve3) => {
+        setTimeout(resolve3, ms).unref();
+      });
     }
-    module2.exports.request = makeDispatcher(api.request);
-    module2.exports.stream = makeDispatcher(api.stream);
-    module2.exports.pipeline = makeDispatcher(api.pipeline);
-    module2.exports.connect = makeDispatcher(api.connect);
-    module2.exports.upgrade = makeDispatcher(api.upgrade);
-    module2.exports.MockClient = MockClient;
-    module2.exports.MockPool = MockPool;
-    module2.exports.MockAgent = MockAgent;
-    module2.exports.mockErrors = mockErrors;
+    module2.exports = {
+      isValidLastEventId,
+      isASCIINumber,
+      delay
+    };
   }
 });
 
-// node_modules/@actions/github/lib/internal/utils.js
-var require_utils4 = __commonJS({
-  "node_modules/@actions/github/lib/internal/utils.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
+      /**
+       * @type {eventSourceSettings}
+       */
+      state = null;
+      /**
+       * Leading byte-order-mark check.
+       * @type {boolean}
+       */
+      checkBOM = true;
+      /**
+       * @type {boolean}
+       */
+      crlfCheck = false;
+      /**
+       * @type {boolean}
+       */
+      eventEndCheck = false;
+      /**
+       * @type {Buffer}
+       */
+      buffer = null;
+      pos = 0;
+      event = {
+        data: void 0,
+        event: void 0,
+        id: void 0,
+        retry: void 0
       };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      /**
+       * @param {object} options
+       * @param {eventSourceSettings} options.eventSourceSettings
+       * @param {Function} [options.push]
+       */
+      constructor(options = {}) {
+        options.readableObjectMode = true;
+        super(options);
+        this.state = options.eventSourceSettings || {};
+        if (options.push) {
+          this.push = options.push;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      /**
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
+       */
+      _transform(chunk, _encoding, callback) {
+        if (chunk.length === 0) {
+          callback();
+          return;
+        }
+        if (this.buffer) {
+          this.buffer = Buffer.concat([this.buffer, chunk]);
+        } else {
+          this.buffer = chunk;
+        }
+        if (this.checkBOM) {
+          switch (this.buffer.length) {
+            case 1:
+              if (this.buffer[0] === BOM[0]) {
+                callback();
+                return;
+              }
+              this.checkBOM = false;
+              callback();
+              return;
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
+              }
+              this.checkBOM = false;
+              break;
+            case 3:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = Buffer.alloc(0);
+                this.checkBOM = false;
+                callback();
+                return;
+              }
+              this.checkBOM = false;
+              break;
+            default:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = this.buffer.subarray(3);
+              }
+              this.checkBOM = false;
+              break;
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        while (this.pos < this.buffer.length) {
+          if (this.eventEndCheck) {
+            if (this.crlfCheck) {
+              if (this.buffer[this.pos] === LF) {
+                this.buffer = this.buffer.subarray(this.pos + 1);
+                this.pos = 0;
+                this.crlfCheck = false;
+                continue;
+              }
+              this.crlfCheck = false;
+            }
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
+              }
+              this.buffer = this.buffer.subarray(this.pos + 1);
+              this.pos = 0;
+              if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) {
+                this.processEvent(this.event);
+              }
+              this.clearEvent();
+              continue;
+            }
+            this.eventEndCheck = false;
+            continue;
+          }
+          if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+            if (this.buffer[this.pos] === CR) {
+              this.crlfCheck = true;
+            }
+            this.parseLine(this.buffer.subarray(0, this.pos), this.event);
+            this.buffer = this.buffer.subarray(this.pos + 1);
+            this.pos = 0;
+            this.eventEndCheck = true;
+            continue;
           }
+          this.pos++;
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        callback();
+      }
+      /**
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
+       */
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
+        }
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
+        }
+        let field = "";
+        let value = "";
+        if (colonPosition !== -1) {
+          field = line.subarray(0, colonPosition).toString("utf8");
+          let valueStart = colonPosition + 1;
+          if (line[valueStart] === SPACE) {
+            ++valueStart;
+          }
+          value = line.subarray(valueStart).toString("utf8");
+        } else {
+          field = line.toString("utf8");
+          value = "";
+        }
+        switch (field) {
+          case "data":
+            if (event[field] === void 0) {
+              event[field] = value;
+            } else {
+              event[field] += `
+${value}`;
+            }
+            break;
+          case "retry":
+            if (isASCIINumber(value)) {
+              event[field] = value;
+            }
+            break;
+          case "id":
+            if (isValidLastEventId(value)) {
+              event[field] = value;
+            }
+            break;
+          case "event":
+            if (value.length > 0) {
+              event[field] = value;
+            }
+            break;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getAuthString = getAuthString;
-    exports2.getProxyAgent = getProxyAgent;
-    exports2.getProxyAgentDispatcher = getProxyAgentDispatcher;
-    exports2.getProxyFetch = getProxyFetch;
-    exports2.getApiBaseUrl = getApiBaseUrl;
-    var httpClient = __importStar2(require_lib());
-    var undici_1 = require_undici2();
-    function getAuthString(token, options) {
-      if (!token && !options.auth) {
-        throw new Error("Parameter token or opts.auth is required");
-      } else if (token && options.auth) {
-        throw new Error("Parameters token and opts.auth may not both be specified");
       }
-      return typeof options.auth === "string" ? options.auth : `token ${token}`;
-    }
-    function getProxyAgent(destinationUrl) {
-      const hc = new httpClient.HttpClient();
-      return hc.getAgent(destinationUrl);
-    }
-    function getProxyAgentDispatcher(destinationUrl) {
-      const hc = new httpClient.HttpClient();
-      return hc.getAgentDispatcher(destinationUrl);
-    }
-    function getProxyFetch(destinationUrl) {
-      const httpDispatcher = getProxyAgentDispatcher(destinationUrl);
-      const proxyFetch = (url, opts) => __awaiter2(this, void 0, void 0, function* () {
-        return (0, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher }));
-      });
-      return proxyFetch;
-    }
-    function getApiBaseUrl() {
-      return process.env["GITHUB_API_URL"] || "https://api.github.com";
-    }
-  }
-});
-
-// node_modules/@octokit/core/node_modules/universal-user-agent/index.js
-function getUserAgent() {
-  if (typeof navigator === "object" && "userAgent" in navigator) {
-    return navigator.userAgent;
-  }
-  if (typeof process === "object" && process.version !== void 0) {
-    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
-  }
-  return "";
-}
-var init_universal_user_agent = __esm({
-  "node_modules/@octokit/core/node_modules/universal-user-agent/index.js"() {
-  }
-});
-
-// node_modules/before-after-hook/lib/register.js
-function register(state, name, method, options) {
-  if (typeof method !== "function") {
-    throw new Error("method for before hook must be a function");
-  }
-  if (!options) {
-    options = {};
-  }
-  if (Array.isArray(name)) {
-    return name.reverse().reduce((callback, name2) => {
-      return register.bind(null, state, name2, callback, options);
-    }, method)();
-  }
-  return Promise.resolve().then(() => {
-    if (!state.registry[name]) {
-      return method(options);
-    }
-    return state.registry[name].reduce((method2, registered) => {
-      return registered.hook.bind(null, method2, options);
-    }, method)();
-  });
-}
-var init_register = __esm({
-  "node_modules/before-after-hook/lib/register.js"() {
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
+        }
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
+        }
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
+        }
+      }
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
+      }
+    };
+    module2.exports = {
+      EventSourceStream
+    };
   }
 });
 
-// node_modules/before-after-hook/lib/add.js
-function addHook(state, kind, name, hook2) {
-  const orig = hook2;
-  if (!state.registry[name]) {
-    state.registry[name] = [];
-  }
-  if (kind === "before") {
-    hook2 = (method, options) => {
-      return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options));
-    };
-  }
-  if (kind === "after") {
-    hook2 = (method, options) => {
-      let result;
-      return Promise.resolve().then(method.bind(null, options)).then((result_) => {
-        result = result_;
-        return orig(result, options);
-      }).then(() => {
-        return result;
-      });
-    };
-  }
-  if (kind === "error") {
-    hook2 = (method, options) => {
-      return Promise.resolve().then(method.bind(null, options)).catch((error3) => {
-        return orig(error3, options);
-      });
-    };
-  }
-  state.registry[name].push({
-    hook: hook2,
-    orig
-  });
-}
-var init_add = __esm({
-  "node_modules/before-after-hook/lib/add.js"() {
-  }
-});
-
-// node_modules/before-after-hook/lib/remove.js
-function removeHook(state, name, method) {
-  if (!state.registry[name]) {
-    return;
-  }
-  const index = state.registry[name].map((registered) => {
-    return registered.orig;
-  }).indexOf(method);
-  if (index === -1) {
-    return;
-  }
-  state.registry[name].splice(index, 1);
-}
-var init_remove = __esm({
-  "node_modules/before-after-hook/lib/remove.js"() {
-  }
-});
-
-// node_modules/before-after-hook/index.js
-function bindApi(hook2, state, name) {
-  const removeHookRef = bindable(removeHook, null).apply(
-    null,
-    name ? [state, name] : [state]
-  );
-  hook2.api = { remove: removeHookRef };
-  hook2.remove = removeHookRef;
-  ["before", "error", "after", "wrap"].forEach((kind) => {
-    const args = name ? [state, kind, name] : [state, kind];
-    hook2[kind] = hook2.api[kind] = bindable(addHook, null).apply(null, args);
-  });
-}
-function Singular() {
-  const singularHookName = /* @__PURE__ */ Symbol("Singular");
-  const singularHookState = {
-    registry: {}
-  };
-  const singularHook = register.bind(null, singularHookState, singularHookName);
-  bindApi(singularHook, singularHookState, singularHookName);
-  return singularHook;
-}
-function Collection() {
-  const state = {
-    registry: {}
-  };
-  const hook2 = register.bind(null, state);
-  bindApi(hook2, state);
-  return hook2;
-}
-var bind, bindable, before_after_hook_default;
-var init_before_after_hook = __esm({
-  "node_modules/before-after-hook/index.js"() {
-    init_register();
-    init_add();
-    init_remove();
-    bind = Function.bind;
-    bindable = bind.bind(bind);
-    before_after_hook_default = { Singular, Collection };
-  }
-});
-
-// node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js
-function getUserAgent2() {
-  if (typeof navigator === "object" && "userAgent" in navigator) {
-    return navigator.userAgent;
-  }
-  if (typeof process === "object" && process.version !== void 0) {
-    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
-  }
-  return "";
-}
-var init_universal_user_agent2 = __esm({
-  "node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js"() {
-  }
-});
-
-// node_modules/@octokit/endpoint/dist-bundle/index.js
-function lowercaseKeys(object) {
-  if (!object) {
-    return {};
-  }
-  return Object.keys(object).reduce((newObj, key) => {
-    newObj[key.toLowerCase()] = object[key];
-    return newObj;
-  }, {});
-}
-function isPlainObject(value) {
-  if (typeof value !== "object" || value === null) return false;
-  if (Object.prototype.toString.call(value) !== "[object Object]") return false;
-  const proto = Object.getPrototypeOf(value);
-  if (proto === null) return true;
-  const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
-  return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
-}
-function mergeDeep(defaults, options) {
-  const result = Object.assign({}, defaults);
-  Object.keys(options).forEach((key) => {
-    if (isPlainObject(options[key])) {
-      if (!(key in defaults)) Object.assign(result, { [key]: options[key] });
-      else result[key] = mergeDeep(defaults[key], options[key]);
-    } else {
-      Object.assign(result, { [key]: options[key] });
-    }
-  });
-  return result;
-}
-function removeUndefinedProperties(obj) {
-  for (const key in obj) {
-    if (obj[key] === void 0) {
-      delete obj[key];
-    }
-  }
-  return obj;
-}
-function merge(defaults, route, options) {
-  if (typeof route === "string") {
-    let [method, url] = route.split(" ");
-    options = Object.assign(url ? { method, url } : { url: method }, options);
-  } else {
-    options = Object.assign({}, route);
-  }
-  options.headers = lowercaseKeys(options.headers);
-  removeUndefinedProperties(options);
-  removeUndefinedProperties(options.headers);
-  const mergedOptions = mergeDeep(defaults || {}, options);
-  if (options.url === "/graphql") {
-    if (defaults && defaults.mediaType.previews?.length) {
-      mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
-        (preview) => !mergedOptions.mediaType.previews.includes(preview)
-      ).concat(mergedOptions.mediaType.previews);
-    }
-    mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
-  }
-  return mergedOptions;
-}
-function addQueryParameters(url, parameters) {
-  const separator = /\?/.test(url) ? "&" : "?";
-  const names = Object.keys(parameters);
-  if (names.length === 0) {
-    return url;
-  }
-  return url + separator + names.map((name) => {
-    if (name === "q") {
-      return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
-    }
-    return `${name}=${encodeURIComponent(parameters[name])}`;
-  }).join("&");
-}
-function removeNonChars(variableName) {
-  return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []);
-}
-function omit(object, keysToOmit) {
-  const result = { __proto__: null };
-  for (const key of Object.keys(object)) {
-    if (keysToOmit.indexOf(key) === -1) {
-      result[key] = object[key];
-    }
-  }
-  return result;
-}
-function encodeReserved(str2) {
-  return str2.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
-    if (!/%[0-9A-Fa-f]/.test(part)) {
-      part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
-    }
-    return part;
-  }).join("");
-}
-function encodeUnreserved(str2) {
-  return encodeURIComponent(str2).replace(/[!'()*]/g, function(c) {
-    return "%" + c.charCodeAt(0).toString(16).toUpperCase();
-  });
-}
-function encodeValue(operator, value, key) {
-  value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
-  if (key) {
-    return encodeUnreserved(key) + "=" + value;
-  } else {
-    return value;
-  }
-}
-function isDefined(value) {
-  return value !== void 0 && value !== null;
-}
-function isKeyOperator(operator) {
-  return operator === ";" || operator === "&" || operator === "?";
-}
-function getValues(context2, operator, key, modifier) {
-  var value = context2[key], result = [];
-  if (isDefined(value) && value !== "") {
-    if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
-      value = value.toString();
-      if (modifier && modifier !== "*") {
-        value = value.substring(0, parseInt(modifier, 10));
-      }
-      result.push(
-        encodeValue(operator, value, isKeyOperator(operator) ? key : "")
-      );
-    } else {
-      if (modifier === "*") {
-        if (Array.isArray(value)) {
-          value.filter(isDefined).forEach(function(value2) {
-            result.push(
-              encodeValue(operator, value2, isKeyOperator(operator) ? key : "")
-            );
-          });
-        } else {
-          Object.keys(value).forEach(function(k) {
-            if (isDefined(value[k])) {
-              result.push(encodeValue(operator, value[k], k));
-            }
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
+    "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
+    var { webidl } = require_webidl2();
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
+    var experimentalWarned = false;
+    var defaultReconnectionTime = 3e3;
+    var CONNECTING = 0;
+    var OPEN = 1;
+    var CLOSED = 2;
+    var ANONYMOUS = "anonymous";
+    var USE_CREDENTIALS = "use-credentials";
+    var EventSource = class _EventSource extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        message: null
+      };
+      #url = null;
+      #withCredentials = false;
+      #readyState = CONNECTING;
+      #request = null;
+      #controller = null;
+      #dispatcher;
+      /**
+       * @type {import('./eventsource-stream').eventSourceSettings}
+       */
+      #state;
+      /**
+       * Creates a new EventSource object.
+       * @param {string} url
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
+       */
+      constructor(url, eventSourceInitDict = {}) {
+        super();
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-      } else {
-        const tmp = [];
-        if (Array.isArray(value)) {
-          value.filter(isDefined).forEach(function(value2) {
-            tmp.push(encodeValue(operator, value2));
-          });
-        } else {
-          Object.keys(value).forEach(function(k) {
-            if (isDefined(value[k])) {
-              tmp.push(encodeUnreserved(k));
-              tmp.push(encodeValue(operator, value[k].toString()));
+        url = webidl.converters.USVString(url, prefix, "url");
+        eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
+        this.#dispatcher = eventSourceInitDict.dispatcher;
+        this.#state = {
+          lastEventId: "",
+          reconnectionTime: defaultReconnectionTime
+        };
+        const settings = environmentSettingsObject;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
+        }
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
+        }
+        const initRequest = {
+          redirect: "follow",
+          keepalive: true,
+          // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
+          mode: "cors",
+          credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
+          referrer: "no-referrer"
+        };
+        initRequest.client = environmentSettingsObject.settingsObject;
+        initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
+        initRequest.cache = "no-store";
+        initRequest.initiator = "other";
+        initRequest.urlList = [new URL(this.#url)];
+        this.#request = makeRequest(initRequest);
+        this.#connect();
+      }
+      /**
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
+       */
+      get readyState() {
+        return this.#readyState;
+      }
+      /**
+       * Returns the URL providing the event stream.
+       * @readonly
+       * @returns {string}
+       */
+      get url() {
+        return this.#url;
+      }
+      /**
+       * Returns a boolean indicating whether the EventSource object was
+       * instantiated with CORS credentials set (true), or not (false, the default).
+       */
+      get withCredentials() {
+        return this.#withCredentials;
+      }
+      #connect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        const fetchParams = {
+          request: this.#request,
+          dispatcher: this.#dispatcher
+        };
+        const processEventSourceEndOfBody = (response) => {
+          if (isNetworkError(response)) {
+            this.dispatchEvent(new Event("error"));
+            this.close();
+          }
+          this.#reconnect();
+        };
+        fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
+        fetchParams.processResponse = (response) => {
+          if (isNetworkError(response)) {
+            if (response.aborted) {
+              this.close();
+              this.dispatchEvent(new Event("error"));
+              return;
+            } else {
+              this.#reconnect();
+              return;
+            }
+          }
+          const contentType = response.headersList.get("content-type", true);
+          const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
+          const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
+          if (response.status !== 200 || contentTypeValid === false) {
+            this.close();
+            this.dispatchEvent(new Event("error"));
+            return;
+          }
+          this.#readyState = OPEN;
+          this.dispatchEvent(new Event("open"));
+          this.#state.origin = response.urlList[response.urlList.length - 1].origin;
+          const eventSourceStream = new EventSourceStream({
+            eventSourceSettings: this.#state,
+            push: (event) => {
+              this.dispatchEvent(createFastMessageEvent(
+                event.type,
+                event.options
+              ));
             }
           });
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
+      }
+      /**
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
+       */
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay(this.#state.reconnectionTime);
+        if (this.#readyState !== CONNECTING) return;
+        if (this.#state.lastEventId.length) {
+          this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
         }
-        if (isKeyOperator(operator)) {
-          result.push(encodeUnreserved(key) + "=" + tmp.join(","));
-        } else if (tmp.length !== 0) {
-          result.push(tmp.join(","));
+        this.#connect();
+      }
+      /**
+       * Closes the connection, if any, and sets the readyState attribute to
+       * CLOSED.
+       */
+      close() {
+        webidl.brandCheck(this, _EventSource);
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CLOSED;
+        this.#controller.abort();
+        this.#request = null;
+      }
+      get onopen() {
+        return this.#events.open;
+      }
+      set onopen(fn) {
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
+        }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
         }
       }
-    }
-  } else {
-    if (operator === ";") {
-      if (isDefined(value)) {
-        result.push(encodeUnreserved(key));
+      get onmessage() {
+        return this.#events.message;
       }
-    } else if (value === "" && (operator === "&" || operator === "?")) {
-      result.push(encodeUnreserved(key) + "=");
-    } else if (value === "") {
-      result.push("");
-    }
-  }
-  return result;
-}
-function parseUrl(template) {
-  return {
-    expand: expand.bind(null, template)
-  };
-}
-function expand(template, context2) {
-  var operators = ["+", "#", ".", "/", ";", "?", "&"];
-  template = template.replace(
-    /\{([^\{\}]+)\}|([^\{\}]+)/g,
-    function(_2, expression, literal) {
-      if (expression) {
-        let operator = "";
-        const values = [];
-        if (operators.indexOf(expression.charAt(0)) !== -1) {
-          operator = expression.charAt(0);
-          expression = expression.substr(1);
+      set onmessage(fn) {
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
         }
-        expression.split(/,/g).forEach(function(variable) {
-          var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
-          values.push(getValues(context2, operator, tmp[1], tmp[2] || tmp[3]));
-        });
-        if (operator && operator !== "+") {
-          var separator = ",";
-          if (operator === "?") {
-            separator = "&";
-          } else if (operator !== "#") {
-            separator = operator;
-          }
-          return (values.length !== 0 ? operator : "") + values.join(separator);
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
         } else {
-          return values.join(",");
+          this.#events.message = null;
         }
-      } else {
-        return encodeReserved(literal);
       }
-    }
-  );
-  if (template === "/") {
-    return template;
-  } else {
-    return template.replace(/\/$/, "");
-  }
-}
-function parse(options) {
-  let method = options.method.toUpperCase();
-  let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
-  let headers = Object.assign({}, options.headers);
-  let body;
-  let parameters = omit(options, [
-    "method",
-    "baseUrl",
-    "url",
-    "headers",
-    "request",
-    "mediaType"
-  ]);
-  const urlVariableNames = extractUrlVariableNames(url);
-  url = parseUrl(url).expand(parameters);
-  if (!/^http/.test(url)) {
-    url = options.baseUrl + url;
-  }
-  const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
-  const remainingParameters = omit(parameters, omittedParameters);
-  const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
-  if (!isBinaryRequest) {
-    if (options.mediaType.format) {
-      headers.accept = headers.accept.split(/,/).map(
-        (format) => format.replace(
-          /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
-          `application/vnd$1$2.${options.mediaType.format}`
-        )
-      ).join(",");
-    }
-    if (url.endsWith("/graphql")) {
-      if (options.mediaType.previews?.length) {
-        const previewsFromAcceptHeader = headers.accept.match(/(? {
-          const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
-          return `application/vnd.github.${preview}-preview${format}`;
-        }).join(",");
+      get onerror() {
+        return this.#events.error;
       }
-    }
-  }
-  if (["GET", "HEAD"].includes(method)) {
-    url = addQueryParameters(url, remainingParameters);
-  } else {
-    if ("data" in remainingParameters) {
-      body = remainingParameters.data;
-    } else {
-      if (Object.keys(remainingParameters).length) {
-        body = remainingParameters;
+      set onerror(fn) {
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
+        }
       }
-    }
-  }
-  if (!headers["content-type"] && typeof body !== "undefined") {
-    headers["content-type"] = "application/json; charset=utf-8";
-  }
-  if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
-    body = "";
-  }
-  return Object.assign(
-    { method, url, headers },
-    typeof body !== "undefined" ? { body } : null,
-    options.request ? { request: options.request } : null
-  );
-}
-function endpointWithDefaults(defaults, route, options) {
-  return parse(merge(defaults, route, options));
-}
-function withDefaults(oldDefaults, newDefaults) {
-  const DEFAULTS2 = merge(oldDefaults, newDefaults);
-  const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);
-  return Object.assign(endpoint2, {
-    DEFAULTS: DEFAULTS2,
-    defaults: withDefaults.bind(null, DEFAULTS2),
-    merge: merge.bind(null, DEFAULTS2),
-    parse
-  });
-}
-var VERSION, userAgent, DEFAULTS, urlVariableRegex, endpoint;
-var init_dist_bundle = __esm({
-  "node_modules/@octokit/endpoint/dist-bundle/index.js"() {
-    init_universal_user_agent2();
-    VERSION = "0.0.0-development";
-    userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent2()}`;
-    DEFAULTS = {
-      method: "GET",
-      baseUrl: "https://api.github.com",
-      headers: {
-        accept: "application/vnd.github.v3+json",
-        "user-agent": userAgent
+    };
+    var constantsPropertyDescriptors = {
+      CONNECTING: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CONNECTING,
+        writable: false
       },
-      mediaType: {
-        format: ""
+      OPEN: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: OPEN,
+        writable: false
+      },
+      CLOSED: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CLOSED,
+        writable: false
       }
     };
-    urlVariableRegex = /\{[^{}}]+\}/g;
-    endpoint = withDefaults(null, DEFAULTS);
-  }
-});
-
-// node_modules/@octokit/request/node_modules/universal-user-agent/index.js
-function getUserAgent3() {
-  if (typeof navigator === "object" && "userAgent" in navigator) {
-    return navigator.userAgent;
-  }
-  if (typeof process === "object" && process.version !== void 0) {
-    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
-  }
-  return "";
-}
-var init_universal_user_agent3 = __esm({
-  "node_modules/@octokit/request/node_modules/universal-user-agent/index.js"() {
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
+      close: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
+    });
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
+      {
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "dispatcher",
+        // undici only
+        converter: webidl.converters.any
+      }
+    ]);
+    module2.exports = {
+      EventSource,
+      defaultReconnectionTime
+    };
   }
 });
 
-// node_modules/fast-content-type-parse/index.js
-var require_fast_content_type_parse = __commonJS({
-  "node_modules/fast-content-type-parse/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/index.js
+var require_undici2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
-    var NullObject = function NullObject2() {
+    var Client = require_client2();
+    var Dispatcher = require_dispatcher2();
+    var Pool = require_pool2();
+    var BalancedPool = require_balanced_pool2();
+    var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
+    var util = require_util9();
+    var { InvalidArgumentError } = errors;
+    var api = require_api2();
+    var buildConnector = require_connect2();
+    var MockClient = require_mock_client2();
+    var MockAgent = require_mock_agent2();
+    var MockPool = require_mock_pool2();
+    var mockErrors = require_mock_errors2();
+    var RetryHandler = require_retry_handler2();
+    var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    Object.assign(Dispatcher.prototype, api);
+    module2.exports.Dispatcher = Dispatcher;
+    module2.exports.Client = Client;
+    module2.exports.Pool = Pool;
+    module2.exports.BalancedPool = BalancedPool;
+    module2.exports.Agent = Agent;
+    module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
+    module2.exports.RetryAgent = RetryAgent;
+    module2.exports.RetryHandler = RetryHandler;
+    module2.exports.DecoratorHandler = DecoratorHandler;
+    module2.exports.RedirectHandler = RedirectHandler;
+    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.interceptors = {
+      redirect: require_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
     };
-    NullObject.prototype = /* @__PURE__ */ Object.create(null);
-    var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;
-    var quotedPairRE = /\\([\v\u0020-\u00ff])/gu;
-    var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;
-    var defaultContentType = { type: "", parameters: new NullObject() };
-    Object.freeze(defaultContentType.parameters);
-    Object.freeze(defaultContentType);
-    function parse2(header) {
-      if (typeof header !== "string") {
-        throw new TypeError("argument header is required and must be a string");
-      }
-      let index = header.indexOf(";");
-      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
-      if (mediaTypeRE.test(type2) === false) {
-        throw new TypeError("invalid media type");
-      }
-      const result = {
-        type: type2.toLowerCase(),
-        parameters: new NullObject()
-      };
-      if (index === -1) {
-        return result;
-      }
-      let key;
-      let match;
-      let value;
-      paramRE.lastIndex = index;
-      while (match = paramRE.exec(header)) {
-        if (match.index !== index) {
-          throw new TypeError("invalid parameter format");
+    module2.exports.buildConnector = buildConnector;
+    module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
+    function makeDispatcher(fn) {
+      return (url, opts, handler2) => {
+        if (typeof opts === "function") {
+          handler2 = opts;
+          opts = null;
         }
-        index += match[0].length;
-        key = match[1].toLowerCase();
-        value = match[2];
-        if (value[0] === '"') {
-          value = value.slice(1, value.length - 1);
-          quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
+        if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) {
+          throw new InvalidArgumentError("invalid url");
         }
-        result.parameters[key] = value;
-      }
-      if (index !== header.length) {
-        throw new TypeError("invalid parameter format");
-      }
-      return result;
+        if (opts != null && typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (opts && opts.path != null) {
+          if (typeof opts.path !== "string") {
+            throw new InvalidArgumentError("invalid opts.path");
+          }
+          let path4 = opts.path;
+          if (!opts.path.startsWith("/")) {
+            path4 = `/${path4}`;
+          }
+          url = new URL(util.parseOrigin(url).origin + path4);
+        } else {
+          if (!opts) {
+            opts = typeof url === "object" ? url : {};
+          }
+          url = util.parseURL(url);
+        }
+        const { agent, dispatcher = getGlobalDispatcher() } = opts;
+        if (agent) {
+          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
+        }
+        return fn.call(dispatcher, {
+          ...opts,
+          origin: url.origin,
+          path: url.search ? `${url.pathname}${url.search}` : url.pathname,
+          method: opts.method || (opts.body ? "PUT" : "GET")
+        }, handler2);
+      };
     }
-    function safeParse2(header) {
-      if (typeof header !== "string") {
-        return defaultContentType;
+    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
+    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
+    var fetchImpl = require_fetch2().fetch;
+    module2.exports.fetch = async function fetch(init, options = void 0) {
+      try {
+        return await fetchImpl(init, options);
+      } catch (err) {
+        if (err && typeof err === "object") {
+          Error.captureStackTrace(err);
+        }
+        throw err;
       }
-      let index = header.indexOf(";");
-      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
-      if (mediaTypeRE.test(type2) === false) {
-        return defaultContentType;
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().WebSocket;
+    module2.exports.CloseEvent = CloseEvent;
+    module2.exports.ErrorEvent = ErrorEvent;
+    module2.exports.MessageEvent = MessageEvent;
+    module2.exports.request = makeDispatcher(api.request);
+    module2.exports.stream = makeDispatcher(api.stream);
+    module2.exports.pipeline = makeDispatcher(api.pipeline);
+    module2.exports.connect = makeDispatcher(api.connect);
+    module2.exports.upgrade = makeDispatcher(api.upgrade);
+    module2.exports.MockClient = MockClient;
+    module2.exports.MockPool = MockPool;
+    module2.exports.MockAgent = MockAgent;
+    module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
+  }
+});
+
+// node_modules/@actions/github/lib/internal/utils.js
+var require_utils4 = __commonJS({
+  "node_modules/@actions/github/lib/internal/utils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      const result = {
-        type: type2.toLowerCase(),
-        parameters: new NullObject()
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
       };
-      if (index === -1) {
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
         return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-      let key;
-      let match;
-      let value;
-      paramRE.lastIndex = index;
-      while (match = paramRE.exec(header)) {
-        if (match.index !== index) {
-          return defaultContentType;
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        index += match[0].length;
-        key = match[1].toLowerCase();
-        value = match[2];
-        if (value[0] === '"') {
-          value = value.slice(1, value.length - 1);
-          quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        result.parameters[key] = value;
-      }
-      if (index !== header.length) {
-        return defaultContentType;
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getAuthString = getAuthString;
+    exports2.getProxyAgent = getProxyAgent;
+    exports2.getProxyAgentDispatcher = getProxyAgentDispatcher;
+    exports2.getProxyFetch = getProxyFetch;
+    exports2.getApiBaseUrl = getApiBaseUrl;
+    var httpClient = __importStar2(require_lib());
+    var undici_1 = require_undici2();
+    function getAuthString(token, options) {
+      if (!token && !options.auth) {
+        throw new Error("Parameter token or opts.auth is required");
+      } else if (token && options.auth) {
+        throw new Error("Parameters token and opts.auth may not both be specified");
       }
-      return result;
+      return typeof options.auth === "string" ? options.auth : `token ${token}`;
+    }
+    function getProxyAgent(destinationUrl) {
+      const hc = new httpClient.HttpClient();
+      return hc.getAgent(destinationUrl);
+    }
+    function getProxyAgentDispatcher(destinationUrl) {
+      const hc = new httpClient.HttpClient();
+      return hc.getAgentDispatcher(destinationUrl);
+    }
+    function getProxyFetch(destinationUrl) {
+      const httpDispatcher = getProxyAgentDispatcher(destinationUrl);
+      const proxyFetch = (url, opts) => __awaiter2(this, void 0, void 0, function* () {
+        return (0, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher }));
+      });
+      return proxyFetch;
+    }
+    function getApiBaseUrl() {
+      return process.env["GITHUB_API_URL"] || "https://api.github.com";
     }
-    module2.exports.default = { parse: parse2, safeParse: safeParse2 };
-    module2.exports.parse = parse2;
-    module2.exports.safeParse = safeParse2;
-    module2.exports.defaultContentType = defaultContentType;
   }
 });
 
-// node_modules/@octokit/request-error/dist-src/index.js
-var RequestError;
-var init_dist_src = __esm({
-  "node_modules/@octokit/request-error/dist-src/index.js"() {
-    RequestError = class extends Error {
-      name;
-      /**
-       * http status code
-       */
-      status;
-      /**
-       * Request options that lead to the error.
-       */
-      request;
-      /**
-       * Response object if a response was received
-       */
-      response;
-      constructor(message, statusCode, options) {
-        super(message, { cause: options.cause });
-        this.name = "HttpError";
-        this.status = Number.parseInt(statusCode);
-        if (Number.isNaN(this.status)) {
-          this.status = 0;
-        }
-        if ("response" in options) {
-          this.response = options.response;
-        }
-        const requestCopy = Object.assign({}, options.request);
-        if (options.request.headers.authorization) {
-          requestCopy.headers = Object.assign({}, options.request.headers, {
-            authorization: options.request.headers.authorization.replace(
-              /(?";
+}
+var init_universal_user_agent = __esm({
+  "node_modules/@octokit/core/node_modules/universal-user-agent/index.js"() {
   }
 });
 
-// node_modules/@octokit/request/dist-bundle/index.js
-function isPlainObject2(value) {
-  if (typeof value !== "object" || value === null) return false;
-  if (Object.prototype.toString.call(value) !== "[object Object]") return false;
-  const proto = Object.getPrototypeOf(value);
-  if (proto === null) return true;
-  const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
-  return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
-}
-async function fetchWrapper(requestOptions) {
-  const fetch = requestOptions.request?.fetch || globalThis.fetch;
-  if (!fetch) {
-    throw new Error(
-      "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing"
-    );
-  }
-  const log = requestOptions.request?.log || console;
-  const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;
-  const body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSON.stringify(requestOptions.body) : requestOptions.body;
-  const requestHeaders = Object.fromEntries(
-    Object.entries(requestOptions.headers).map(([name, value]) => [
-      name,
-      String(value)
-    ])
-  );
-  let fetchResponse;
-  try {
-    fetchResponse = await fetch(requestOptions.url, {
-      method: requestOptions.method,
-      body,
-      redirect: requestOptions.request?.redirect,
-      headers: requestHeaders,
-      signal: requestOptions.request?.signal,
-      // duplex must be set if request.body is ReadableStream or Async Iterables.
-      // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
-      ...requestOptions.body && { duplex: "half" }
-    });
-  } catch (error3) {
-    let message = "Unknown Error";
-    if (error3 instanceof Error) {
-      if (error3.name === "AbortError") {
-        error3.status = 500;
-        throw error3;
-      }
-      message = error3.message;
-      if (error3.name === "TypeError" && "cause" in error3) {
-        if (error3.cause instanceof Error) {
-          message = error3.cause.message;
-        } else if (typeof error3.cause === "string") {
-          message = error3.cause;
-        }
-      }
-    }
-    const requestError = new RequestError(message, 500, {
-      request: requestOptions
-    });
-    requestError.cause = error3;
-    throw requestError;
-  }
-  const status = fetchResponse.status;
-  const url = fetchResponse.url;
-  const responseHeaders = {};
-  for (const [key, value] of fetchResponse.headers) {
-    responseHeaders[key] = value;
+// node_modules/before-after-hook/lib/register.js
+function register(state, name, method, options) {
+  if (typeof method !== "function") {
+    throw new Error("method for before hook must be a function");
   }
-  const octokitResponse = {
-    url,
-    status,
-    headers: responseHeaders,
-    data: ""
-  };
-  if ("deprecation" in responseHeaders) {
-    const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/);
-    const deprecationLink = matches && matches.pop();
-    log.warn(
-      `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
-    );
+  if (!options) {
+    options = {};
   }
-  if (status === 204 || status === 205) {
-    return octokitResponse;
+  if (Array.isArray(name)) {
+    return name.reverse().reduce((callback, name2) => {
+      return register.bind(null, state, name2, callback, options);
+    }, method)();
   }
-  if (requestOptions.method === "HEAD") {
-    if (status < 400) {
-      return octokitResponse;
+  return Promise.resolve().then(() => {
+    if (!state.registry[name]) {
+      return method(options);
     }
-    throw new RequestError(fetchResponse.statusText, status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
+    return state.registry[name].reduce((method2, registered) => {
+      return registered.hook.bind(null, method2, options);
+    }, method)();
+  });
+}
+var init_register = __esm({
+  "node_modules/before-after-hook/lib/register.js"() {
   }
-  if (status === 304) {
-    octokitResponse.data = await getResponseData(fetchResponse);
-    throw new RequestError("Not modified", status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
+});
+
+// node_modules/before-after-hook/lib/add.js
+function addHook(state, kind, name, hook2) {
+  const orig = hook2;
+  if (!state.registry[name]) {
+    state.registry[name] = [];
   }
-  if (status >= 400) {
-    octokitResponse.data = await getResponseData(fetchResponse);
-    throw new RequestError(toErrorMessage(octokitResponse.data), status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
+  if (kind === "before") {
+    hook2 = (method, options) => {
+      return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options));
+    };
   }
-  octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;
-  return octokitResponse;
-}
-async function getResponseData(response) {
-  const contentType = response.headers.get("content-type");
-  if (!contentType) {
-    return response.text().catch(noop);
+  if (kind === "after") {
+    hook2 = (method, options) => {
+      let result;
+      return Promise.resolve().then(method.bind(null, options)).then((result_) => {
+        result = result_;
+        return orig(result, options);
+      }).then(() => {
+        return result;
+      });
+    };
   }
-  const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType);
-  if (isJSONResponse(mimetype)) {
-    let text = "";
-    try {
-      text = await response.text();
-      return JSON.parse(text);
-    } catch (err) {
-      return text;
-    }
-  } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
-    return response.text().catch(noop);
-  } else {
-    return response.arrayBuffer().catch(
-      /* v8 ignore next -- @preserve */
-      () => new ArrayBuffer(0)
-    );
+  if (kind === "error") {
+    hook2 = (method, options) => {
+      return Promise.resolve().then(method.bind(null, options)).catch((error3) => {
+        return orig(error3, options);
+      });
+    };
   }
+  state.registry[name].push({
+    hook: hook2,
+    orig
+  });
 }
-function isJSONResponse(mimetype) {
-  return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
-}
-function toErrorMessage(data) {
-  if (typeof data === "string") {
-    return data;
+var init_add = __esm({
+  "node_modules/before-after-hook/lib/add.js"() {
   }
-  if (data instanceof ArrayBuffer) {
-    return "Unknown error";
+});
+
+// node_modules/before-after-hook/lib/remove.js
+function removeHook(state, name, method) {
+  if (!state.registry[name]) {
+    return;
   }
-  if ("message" in data) {
-    const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
-    return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
+  const index = state.registry[name].map((registered) => {
+    return registered.orig;
+  }).indexOf(method);
+  if (index === -1) {
+    return;
   }
-  return `Unknown error: ${JSON.stringify(data)}`;
+  state.registry[name].splice(index, 1);
 }
-function withDefaults2(oldEndpoint, newDefaults) {
-  const endpoint2 = oldEndpoint.defaults(newDefaults);
-  const newApi = function(route, parameters) {
-    const endpointOptions = endpoint2.merge(route, parameters);
-    if (!endpointOptions.request || !endpointOptions.request.hook) {
-      return fetchWrapper(endpoint2.parse(endpointOptions));
-    }
-    const request2 = (route2, parameters2) => {
-      return fetchWrapper(
-        endpoint2.parse(endpoint2.merge(route2, parameters2))
-      );
-    };
-    Object.assign(request2, {
-      endpoint: endpoint2,
-      defaults: withDefaults2.bind(null, endpoint2)
-    });
-    return endpointOptions.request.hook(request2, endpointOptions);
-  };
-  return Object.assign(newApi, {
-    endpoint: endpoint2,
-    defaults: withDefaults2.bind(null, endpoint2)
+var init_remove = __esm({
+  "node_modules/before-after-hook/lib/remove.js"() {
+  }
+});
+
+// node_modules/before-after-hook/index.js
+function bindApi(hook2, state, name) {
+  const removeHookRef = bindable(removeHook, null).apply(
+    null,
+    name ? [state, name] : [state]
+  );
+  hook2.api = { remove: removeHookRef };
+  hook2.remove = removeHookRef;
+  ["before", "error", "after", "wrap"].forEach((kind) => {
+    const args = name ? [state, kind, name] : [state, kind];
+    hook2[kind] = hook2.api[kind] = bindable(addHook, null).apply(null, args);
   });
 }
-var import_fast_content_type_parse, VERSION2, defaults_default, noop, request;
-var init_dist_bundle2 = __esm({
-  "node_modules/@octokit/request/dist-bundle/index.js"() {
-    init_dist_bundle();
-    init_universal_user_agent3();
-    import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1);
-    init_dist_src();
-    VERSION2 = "10.0.7";
-    defaults_default = {
-      headers: {
-        "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent3()}`
-      }
-    };
-    noop = () => "";
-    request = withDefaults2(endpoint, defaults_default);
+function Singular() {
+  const singularHookName = /* @__PURE__ */ Symbol("Singular");
+  const singularHookState = {
+    registry: {}
+  };
+  const singularHook = register.bind(null, singularHookState, singularHookName);
+  bindApi(singularHook, singularHookState, singularHookName);
+  return singularHook;
+}
+function Collection() {
+  const state = {
+    registry: {}
+  };
+  const hook2 = register.bind(null, state);
+  bindApi(hook2, state);
+  return hook2;
+}
+var bind, bindable, before_after_hook_default;
+var init_before_after_hook = __esm({
+  "node_modules/before-after-hook/index.js"() {
+    init_register();
+    init_add();
+    init_remove();
+    bind = Function.bind;
+    bindable = bind.bind(bind);
+    before_after_hook_default = { Singular, Collection };
   }
 });
 
-// node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js
-function getUserAgent4() {
+// node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js
+function getUserAgent2() {
   if (typeof navigator === "object" && "userAgent" in navigator) {
     return navigator.userAgent;
   }
@@ -39238,363 +40055,1039 @@ function getUserAgent4() {
   }
   return "";
 }
-var init_universal_user_agent4 = __esm({
-  "node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js"() {
+var init_universal_user_agent2 = __esm({
+  "node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js"() {
   }
 });
 
-// node_modules/@octokit/graphql/dist-bundle/index.js
-function _buildMessageForResponseErrors(data) {
-  return `Request failed due to following response errors:
-` + data.errors.map((e) => ` - ${e.message}`).join("\n");
+// node_modules/@octokit/endpoint/dist-bundle/index.js
+function lowercaseKeys(object) {
+  if (!object) {
+    return {};
+  }
+  return Object.keys(object).reduce((newObj, key) => {
+    newObj[key.toLowerCase()] = object[key];
+    return newObj;
+  }, {});
 }
-function graphql(request2, query, options) {
-  if (options) {
-    if (typeof query === "string" && "query" in options) {
-      return Promise.reject(
-        new Error(`[@octokit/graphql] "query" cannot be used as variable name`)
-      );
+function isPlainObject(value) {
+  if (typeof value !== "object" || value === null) return false;
+  if (Object.prototype.toString.call(value) !== "[object Object]") return false;
+  const proto = Object.getPrototypeOf(value);
+  if (proto === null) return true;
+  const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
+  return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
+}
+function mergeDeep(defaults, options) {
+  const result = Object.assign({}, defaults);
+  Object.keys(options).forEach((key) => {
+    if (isPlainObject(options[key])) {
+      if (!(key in defaults)) Object.assign(result, { [key]: options[key] });
+      else result[key] = mergeDeep(defaults[key], options[key]);
+    } else {
+      Object.assign(result, { [key]: options[key] });
     }
-    for (const key in options) {
-      if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;
-      return Promise.reject(
-        new Error(
-          `[@octokit/graphql] "${key}" cannot be used as variable name`
-        )
-      );
+  });
+  return result;
+}
+function removeUndefinedProperties(obj) {
+  for (const key in obj) {
+    if (obj[key] === void 0) {
+      delete obj[key];
     }
   }
-  const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
-  const requestOptions = Object.keys(
-    parsedOptions
-  ).reduce((result, key) => {
-    if (NON_VARIABLE_OPTIONS.includes(key)) {
-      result[key] = parsedOptions[key];
-      return result;
+  return obj;
+}
+function merge(defaults, route, options) {
+  if (typeof route === "string") {
+    let [method, url] = route.split(" ");
+    options = Object.assign(url ? { method, url } : { url: method }, options);
+  } else {
+    options = Object.assign({}, route);
+  }
+  options.headers = lowercaseKeys(options.headers);
+  removeUndefinedProperties(options);
+  removeUndefinedProperties(options.headers);
+  const mergedOptions = mergeDeep(defaults || {}, options);
+  if (options.url === "/graphql") {
+    if (defaults && defaults.mediaType.previews?.length) {
+      mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
+        (preview) => !mergedOptions.mediaType.previews.includes(preview)
+      ).concat(mergedOptions.mediaType.previews);
     }
-    if (!result.variables) {
-      result.variables = {};
+    mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
+  }
+  return mergedOptions;
+}
+function addQueryParameters(url, parameters) {
+  const separator = /\?/.test(url) ? "&" : "?";
+  const names = Object.keys(parameters);
+  if (names.length === 0) {
+    return url;
+  }
+  return url + separator + names.map((name) => {
+    if (name === "q") {
+      return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
     }
-    result.variables[key] = parsedOptions[key];
-    return result;
-  }, {});
-  const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;
-  if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
-    requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
+    return `${name}=${encodeURIComponent(parameters[name])}`;
+  }).join("&");
+}
+function removeNonChars(variableName) {
+  return variableName.replace(/(?:^\W+)|(?:(? {
-    if (response.data.errors) {
-      const headers = {};
-      for (const key of Object.keys(response.headers)) {
-        headers[key] = response.headers[key];
-      }
-      throw new GraphqlResponseError(
-        requestOptions,
-        headers,
-        response.data
-      );
+  return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
+}
+function omit(object, keysToOmit) {
+  const result = { __proto__: null };
+  for (const key of Object.keys(object)) {
+    if (keysToOmit.indexOf(key) === -1) {
+      result[key] = object[key];
     }
-    return response.data.data;
-  });
+  }
+  return result;
 }
-function withDefaults3(request2, newDefaults) {
-  const newRequest = request2.defaults(newDefaults);
-  const newApi = (query, options) => {
-    return graphql(newRequest, query, options);
-  };
-  return Object.assign(newApi, {
-    defaults: withDefaults3.bind(null, newRequest),
-    endpoint: newRequest.endpoint
-  });
+function encodeReserved(str2) {
+  return str2.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
+    if (!/%[0-9A-Fa-f]/.test(part)) {
+      part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
+    }
+    return part;
+  }).join("");
 }
-function withCustomRequest(customRequest) {
-  return withDefaults3(customRequest, {
-    method: "POST",
-    url: "/graphql"
+function encodeUnreserved(str2) {
+  return encodeURIComponent(str2).replace(/[!'()*]/g, function(c) {
+    return "%" + c.charCodeAt(0).toString(16).toUpperCase();
   });
 }
-var VERSION3, GraphqlResponseError, NON_VARIABLE_OPTIONS, FORBIDDEN_VARIABLE_OPTIONS, GHES_V3_SUFFIX_REGEX, graphql2;
-var init_dist_bundle3 = __esm({
-  "node_modules/@octokit/graphql/dist-bundle/index.js"() {
-    init_dist_bundle2();
-    init_universal_user_agent4();
-    VERSION3 = "0.0.0-development";
-    GraphqlResponseError = class extends Error {
-      constructor(request2, headers, response) {
-        super(_buildMessageForResponseErrors(response));
-        this.request = request2;
-        this.headers = headers;
-        this.response = response;
-        this.errors = response.errors;
-        this.data = response.data;
-        if (Error.captureStackTrace) {
-          Error.captureStackTrace(this, this.constructor);
-        }
-      }
-      name = "GraphqlResponseError";
-      errors;
-      data;
-    };
-    NON_VARIABLE_OPTIONS = [
-      "method",
-      "baseUrl",
-      "url",
-      "headers",
-      "request",
-      "query",
-      "mediaType",
-      "operationName"
-    ];
-    FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
-    GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
-    graphql2 = withDefaults3(request, {
-      headers: {
-        "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent4()}`
-      },
-      method: "POST",
-      url: "/graphql"
-    });
+function encodeValue(operator, value, key) {
+  value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
+  if (key) {
+    return encodeUnreserved(key) + "=" + value;
+  } else {
+    return value;
   }
-});
-
-// node_modules/@octokit/auth-token/dist-bundle/index.js
-async function auth(token) {
-  const isApp = isJWT(token);
-  const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
-  const isUserToServer = token.startsWith("ghu_");
-  const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
-  return {
-    type: "token",
-    token,
-    tokenType
-  };
 }
-function withAuthorizationPrefix(token) {
-  if (token.split(/\./).length === 3) {
-    return `bearer ${token}`;
-  }
-  return `token ${token}`;
+function isDefined(value) {
+  return value !== void 0 && value !== null;
 }
-async function hook(token, request2, route, parameters) {
-  const endpoint2 = request2.endpoint.merge(
-    route,
-    parameters
-  );
-  endpoint2.headers.authorization = withAuthorizationPrefix(token);
-  return request2(endpoint2);
+function isKeyOperator(operator) {
+  return operator === ";" || operator === "&" || operator === "?";
 }
-var b64url, sep, jwtRE, isJWT, createTokenAuth;
-var init_dist_bundle4 = __esm({
-  "node_modules/@octokit/auth-token/dist-bundle/index.js"() {
-    b64url = "(?:[a-zA-Z0-9_-]+)";
-    sep = "\\.";
-    jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`);
-    isJWT = jwtRE.test.bind(jwtRE);
-    createTokenAuth = function createTokenAuth2(token) {
-      if (!token) {
-        throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
+function getValues(context2, operator, key, modifier) {
+  var value = context2[key], result = [];
+  if (isDefined(value) && value !== "") {
+    if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
+      value = value.toString();
+      if (modifier && modifier !== "*") {
+        value = value.substring(0, parseInt(modifier, 10));
       }
-      if (typeof token !== "string") {
-        throw new Error(
-          "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
-        );
+      result.push(
+        encodeValue(operator, value, isKeyOperator(operator) ? key : "")
+      );
+    } else {
+      if (modifier === "*") {
+        if (Array.isArray(value)) {
+          value.filter(isDefined).forEach(function(value2) {
+            result.push(
+              encodeValue(operator, value2, isKeyOperator(operator) ? key : "")
+            );
+          });
+        } else {
+          Object.keys(value).forEach(function(k) {
+            if (isDefined(value[k])) {
+              result.push(encodeValue(operator, value[k], k));
+            }
+          });
+        }
+      } else {
+        const tmp = [];
+        if (Array.isArray(value)) {
+          value.filter(isDefined).forEach(function(value2) {
+            tmp.push(encodeValue(operator, value2));
+          });
+        } else {
+          Object.keys(value).forEach(function(k) {
+            if (isDefined(value[k])) {
+              tmp.push(encodeUnreserved(k));
+              tmp.push(encodeValue(operator, value[k].toString()));
+            }
+          });
+        }
+        if (isKeyOperator(operator)) {
+          result.push(encodeUnreserved(key) + "=" + tmp.join(","));
+        } else if (tmp.length !== 0) {
+          result.push(tmp.join(","));
+        }
       }
-      token = token.replace(/^(token|bearer) +/i, "");
-      return Object.assign(auth.bind(null, token), {
-        hook: hook.bind(null, token)
-      });
-    };
+    }
+  } else {
+    if (operator === ";") {
+      if (isDefined(value)) {
+        result.push(encodeUnreserved(key));
+      }
+    } else if (value === "" && (operator === "&" || operator === "?")) {
+      result.push(encodeUnreserved(key) + "=");
+    } else if (value === "") {
+      result.push("");
+    }
   }
-});
-
-// node_modules/@octokit/core/dist-src/version.js
-var VERSION4;
-var init_version = __esm({
-  "node_modules/@octokit/core/dist-src/version.js"() {
-    VERSION4 = "7.0.6";
+  return result;
+}
+function parseUrl(template) {
+  return {
+    expand: expand.bind(null, template)
+  };
+}
+function expand(template, context2) {
+  var operators = ["+", "#", ".", "/", ";", "?", "&"];
+  template = template.replace(
+    /\{([^\{\}]+)\}|([^\{\}]+)/g,
+    function(_2, expression, literal) {
+      if (expression) {
+        let operator = "";
+        const values = [];
+        if (operators.indexOf(expression.charAt(0)) !== -1) {
+          operator = expression.charAt(0);
+          expression = expression.substr(1);
+        }
+        expression.split(/,/g).forEach(function(variable) {
+          var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
+          values.push(getValues(context2, operator, tmp[1], tmp[2] || tmp[3]));
+        });
+        if (operator && operator !== "+") {
+          var separator = ",";
+          if (operator === "?") {
+            separator = "&";
+          } else if (operator !== "#") {
+            separator = operator;
+          }
+          return (values.length !== 0 ? operator : "") + values.join(separator);
+        } else {
+          return values.join(",");
+        }
+      } else {
+        return encodeReserved(literal);
+      }
+    }
+  );
+  if (template === "/") {
+    return template;
+  } else {
+    return template.replace(/\/$/, "");
   }
-});
-
-// node_modules/@octokit/core/dist-src/index.js
-var dist_src_exports = {};
-__export(dist_src_exports, {
-  Octokit: () => Octokit
-});
-function createLogger(logger = {}) {
-  if (typeof logger.debug !== "function") {
-    logger.debug = noop2;
+}
+function parse(options) {
+  let method = options.method.toUpperCase();
+  let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
+  let headers = Object.assign({}, options.headers);
+  let body;
+  let parameters = omit(options, [
+    "method",
+    "baseUrl",
+    "url",
+    "headers",
+    "request",
+    "mediaType"
+  ]);
+  const urlVariableNames = extractUrlVariableNames(url);
+  url = parseUrl(url).expand(parameters);
+  if (!/^http/.test(url)) {
+    url = options.baseUrl + url;
   }
-  if (typeof logger.info !== "function") {
-    logger.info = noop2;
+  const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
+  const remainingParameters = omit(parameters, omittedParameters);
+  const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
+  if (!isBinaryRequest) {
+    if (options.mediaType.format) {
+      headers.accept = headers.accept.split(/,/).map(
+        (format) => format.replace(
+          /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
+          `application/vnd$1$2.${options.mediaType.format}`
+        )
+      ).join(",");
+    }
+    if (url.endsWith("/graphql")) {
+      if (options.mediaType.previews?.length) {
+        const previewsFromAcceptHeader = headers.accept.match(/(? {
+          const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
+          return `application/vnd.github.${preview}-preview${format}`;
+        }).join(",");
+      }
+    }
   }
-  if (typeof logger.warn !== "function") {
-    logger.warn = consoleWarn;
+  if (["GET", "HEAD"].includes(method)) {
+    url = addQueryParameters(url, remainingParameters);
+  } else {
+    if ("data" in remainingParameters) {
+      body = remainingParameters.data;
+    } else {
+      if (Object.keys(remainingParameters).length) {
+        body = remainingParameters;
+      }
+    }
   }
-  if (typeof logger.error !== "function") {
-    logger.error = consoleError;
+  if (!headers["content-type"] && typeof body !== "undefined") {
+    headers["content-type"] = "application/json; charset=utf-8";
   }
-  return logger;
+  if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
+    body = "";
+  }
+  return Object.assign(
+    { method, url, headers },
+    typeof body !== "undefined" ? { body } : null,
+    options.request ? { request: options.request } : null
+  );
 }
-var noop2, consoleWarn, consoleError, userAgentTrail, Octokit;
-var init_dist_src2 = __esm({
-  "node_modules/@octokit/core/dist-src/index.js"() {
-    init_universal_user_agent();
-    init_before_after_hook();
-    init_dist_bundle2();
-    init_dist_bundle3();
-    init_dist_bundle4();
-    init_version();
-    noop2 = () => {
+function endpointWithDefaults(defaults, route, options) {
+  return parse(merge(defaults, route, options));
+}
+function withDefaults(oldDefaults, newDefaults) {
+  const DEFAULTS2 = merge(oldDefaults, newDefaults);
+  const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);
+  return Object.assign(endpoint2, {
+    DEFAULTS: DEFAULTS2,
+    defaults: withDefaults.bind(null, DEFAULTS2),
+    merge: merge.bind(null, DEFAULTS2),
+    parse
+  });
+}
+var VERSION, userAgent, DEFAULTS, urlVariableRegex, endpoint;
+var init_dist_bundle = __esm({
+  "node_modules/@octokit/endpoint/dist-bundle/index.js"() {
+    init_universal_user_agent2();
+    VERSION = "0.0.0-development";
+    userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent2()}`;
+    DEFAULTS = {
+      method: "GET",
+      baseUrl: "https://api.github.com",
+      headers: {
+        accept: "application/vnd.github.v3+json",
+        "user-agent": userAgent
+      },
+      mediaType: {
+        format: ""
+      }
     };
-    consoleWarn = console.warn.bind(console);
-    consoleError = console.error.bind(console);
-    userAgentTrail = `octokit-core.js/${VERSION4} ${getUserAgent()}`;
-    Octokit = class {
-      static VERSION = VERSION4;
-      static defaults(defaults) {
-        const OctokitWithDefaults = class extends this {
-          constructor(...args) {
-            const options = args[0] || {};
-            if (typeof defaults === "function") {
-              super(defaults(options));
-              return;
-            }
-            super(
-              Object.assign(
-                {},
-                defaults,
-                options,
-                options.userAgent && defaults.userAgent ? {
-                  userAgent: `${options.userAgent} ${defaults.userAgent}`
-                } : null
-              )
-            );
-          }
-        };
-        return OctokitWithDefaults;
+    urlVariableRegex = /\{[^{}}]+\}/g;
+    endpoint = withDefaults(null, DEFAULTS);
+  }
+});
+
+// node_modules/@octokit/request/node_modules/universal-user-agent/index.js
+function getUserAgent3() {
+  if (typeof navigator === "object" && "userAgent" in navigator) {
+    return navigator.userAgent;
+  }
+  if (typeof process === "object" && process.version !== void 0) {
+    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
+  }
+  return "";
+}
+var init_universal_user_agent3 = __esm({
+  "node_modules/@octokit/request/node_modules/universal-user-agent/index.js"() {
+  }
+});
+
+// node_modules/fast-content-type-parse/index.js
+var require_fast_content_type_parse = __commonJS({
+  "node_modules/fast-content-type-parse/index.js"(exports2, module2) {
+    "use strict";
+    var NullObject = function NullObject2() {
+    };
+    NullObject.prototype = /* @__PURE__ */ Object.create(null);
+    var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;
+    var quotedPairRE = /\\([\v\u0020-\u00ff])/gu;
+    var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;
+    var defaultContentType = { type: "", parameters: new NullObject() };
+    Object.freeze(defaultContentType.parameters);
+    Object.freeze(defaultContentType);
+    function parse2(header) {
+      if (typeof header !== "string") {
+        throw new TypeError("argument header is required and must be a string");
       }
-      static plugins = [];
-      /**
-       * Attach a plugin (or many) to your Octokit instance.
-       *
-       * @example
-       * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
-       */
-      static plugin(...newPlugins) {
-        const currentPlugins = this.plugins;
-        const NewOctokit = class extends this {
-          static plugins = currentPlugins.concat(
-            newPlugins.filter((plugin) => !currentPlugins.includes(plugin))
-          );
-        };
-        return NewOctokit;
+      let index = header.indexOf(";");
+      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
+      if (mediaTypeRE.test(type2) === false) {
+        throw new TypeError("invalid media type");
       }
-      constructor(options = {}) {
-        const hook2 = new before_after_hook_default.Collection();
-        const requestDefaults = {
-          baseUrl: request.endpoint.DEFAULTS.baseUrl,
-          headers: {},
-          request: Object.assign({}, options.request, {
-            // @ts-ignore internal usage only, no need to type
-            hook: hook2.bind(null, "request")
-          }),
-          mediaType: {
-            previews: [],
-            format: ""
-          }
-        };
-        requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
-        if (options.baseUrl) {
-          requestDefaults.baseUrl = options.baseUrl;
-        }
-        if (options.previews) {
-          requestDefaults.mediaType.previews = options.previews;
+      const result = {
+        type: type2.toLowerCase(),
+        parameters: new NullObject()
+      };
+      if (index === -1) {
+        return result;
+      }
+      let key;
+      let match;
+      let value;
+      paramRE.lastIndex = index;
+      while (match = paramRE.exec(header)) {
+        if (match.index !== index) {
+          throw new TypeError("invalid parameter format");
         }
-        if (options.timeZone) {
-          requestDefaults.headers["time-zone"] = options.timeZone;
+        index += match[0].length;
+        key = match[1].toLowerCase();
+        value = match[2];
+        if (value[0] === '"') {
+          value = value.slice(1, value.length - 1);
+          quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
         }
-        this.request = request.defaults(requestDefaults);
-        this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
-        this.log = createLogger(options.log);
-        this.hook = hook2;
-        if (!options.authStrategy) {
-          if (!options.auth) {
-            this.auth = async () => ({
-              type: "unauthenticated"
-            });
-          } else {
-            const auth2 = createTokenAuth(options.auth);
-            hook2.wrap("request", auth2.hook);
-            this.auth = auth2;
-          }
-        } else {
-          const { authStrategy, ...otherOptions } = options;
-          const auth2 = authStrategy(
-            Object.assign(
-              {
-                request: this.request,
-                log: this.log,
-                // we pass the current octokit instance as well as its constructor options
-                // to allow for authentication strategies that return a new octokit instance
-                // that shares the same internal state as the current one. The original
-                // requirement for this was the "event-octokit" authentication strategy
-                // of https://github.com/probot/octokit-auth-probot.
-                octokit: this,
-                octokitOptions: otherOptions
-              },
-              options.auth
-            )
-          );
-          hook2.wrap("request", auth2.hook);
-          this.auth = auth2;
+        result.parameters[key] = value;
+      }
+      if (index !== header.length) {
+        throw new TypeError("invalid parameter format");
+      }
+      return result;
+    }
+    function safeParse2(header) {
+      if (typeof header !== "string") {
+        return defaultContentType;
+      }
+      let index = header.indexOf(";");
+      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
+      if (mediaTypeRE.test(type2) === false) {
+        return defaultContentType;
+      }
+      const result = {
+        type: type2.toLowerCase(),
+        parameters: new NullObject()
+      };
+      if (index === -1) {
+        return result;
+      }
+      let key;
+      let match;
+      let value;
+      paramRE.lastIndex = index;
+      while (match = paramRE.exec(header)) {
+        if (match.index !== index) {
+          return defaultContentType;
         }
-        const classConstructor = this.constructor;
-        for (let i = 0; i < classConstructor.plugins.length; ++i) {
-          Object.assign(this, classConstructor.plugins[i](this, options));
+        index += match[0].length;
+        key = match[1].toLowerCase();
+        value = match[2];
+        if (value[0] === '"') {
+          value = value.slice(1, value.length - 1);
+          quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
         }
+        result.parameters[key] = value;
       }
-      // assigned during constructor
-      request;
-      graphql;
-      log;
-      hook;
-      // TODO: type `octokit.auth` based on passed options.authStrategy
-      auth;
-    };
+      if (index !== header.length) {
+        return defaultContentType;
+      }
+      return result;
+    }
+    module2.exports.default = { parse: parse2, safeParse: safeParse2 };
+    module2.exports.parse = parse2;
+    module2.exports.safeParse = safeParse2;
+    module2.exports.defaultContentType = defaultContentType;
   }
 });
 
-// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
-var VERSION5;
-var init_version2 = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js"() {
-    VERSION5 = "17.0.0";
+// node_modules/@octokit/request-error/dist-src/index.js
+var RequestError;
+var init_dist_src = __esm({
+  "node_modules/@octokit/request-error/dist-src/index.js"() {
+    RequestError = class extends Error {
+      name;
+      /**
+       * http status code
+       */
+      status;
+      /**
+       * Request options that lead to the error.
+       */
+      request;
+      /**
+       * Response object if a response was received
+       */
+      response;
+      constructor(message, statusCode, options) {
+        super(message, { cause: options.cause });
+        this.name = "HttpError";
+        this.status = Number.parseInt(statusCode);
+        if (Number.isNaN(this.status)) {
+          this.status = 0;
+        }
+        if ("response" in options) {
+          this.response = options.response;
+        }
+        const requestCopy = Object.assign({}, options.request);
+        if (options.request.headers.authorization) {
+          requestCopy.headers = Object.assign({}, options.request.headers, {
+            authorization: options.request.headers.authorization.replace(
+              /(? [
+      name,
+      String(value)
+    ])
+  );
+  let fetchResponse;
+  try {
+    fetchResponse = await fetch(requestOptions.url, {
+      method: requestOptions.method,
+      body,
+      redirect: requestOptions.request?.redirect,
+      headers: requestHeaders,
+      signal: requestOptions.request?.signal,
+      // duplex must be set if request.body is ReadableStream or Async Iterables.
+      // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
+      ...requestOptions.body && { duplex: "half" }
+    });
+  } catch (error3) {
+    let message = "Unknown Error";
+    if (error3 instanceof Error) {
+      if (error3.name === "AbortError") {
+        error3.status = 500;
+        throw error3;
+      }
+      message = error3.message;
+      if (error3.name === "TypeError" && "cause" in error3) {
+        if (error3.cause instanceof Error) {
+          message = error3.cause.message;
+        } else if (typeof error3.cause === "string") {
+          message = error3.cause;
+        }
+      }
+    }
+    const requestError = new RequestError(message, 500, {
+      request: requestOptions
+    });
+    requestError.cause = error3;
+    throw requestError;
+  }
+  const status = fetchResponse.status;
+  const url = fetchResponse.url;
+  const responseHeaders = {};
+  for (const [key, value] of fetchResponse.headers) {
+    responseHeaders[key] = value;
+  }
+  const octokitResponse = {
+    url,
+    status,
+    headers: responseHeaders,
+    data: ""
+  };
+  if ("deprecation" in responseHeaders) {
+    const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/);
+    const deprecationLink = matches && matches.pop();
+    log.warn(
+      `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
+    );
+  }
+  if (status === 204 || status === 205) {
+    return octokitResponse;
+  }
+  if (requestOptions.method === "HEAD") {
+    if (status < 400) {
+      return octokitResponse;
+    }
+    throw new RequestError(fetchResponse.statusText, status, {
+      response: octokitResponse,
+      request: requestOptions
+    });
+  }
+  if (status === 304) {
+    octokitResponse.data = await getResponseData(fetchResponse);
+    throw new RequestError("Not modified", status, {
+      response: octokitResponse,
+      request: requestOptions
+    });
+  }
+  if (status >= 400) {
+    octokitResponse.data = await getResponseData(fetchResponse);
+    throw new RequestError(toErrorMessage(octokitResponse.data), status, {
+      response: octokitResponse,
+      request: requestOptions
+    });
+  }
+  octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;
+  return octokitResponse;
+}
+async function getResponseData(response) {
+  const contentType = response.headers.get("content-type");
+  if (!contentType) {
+    return response.text().catch(noop);
+  }
+  const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType);
+  if (isJSONResponse(mimetype)) {
+    let text = "";
+    try {
+      text = await response.text();
+      return JSON.parse(text);
+    } catch (err) {
+      return text;
+    }
+  } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
+    return response.text().catch(noop);
+  } else {
+    return response.arrayBuffer().catch(
+      /* v8 ignore next -- @preserve */
+      () => new ArrayBuffer(0)
+    );
+  }
+}
+function isJSONResponse(mimetype) {
+  return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
+}
+function toErrorMessage(data) {
+  if (typeof data === "string") {
+    return data;
+  }
+  if (data instanceof ArrayBuffer) {
+    return "Unknown error";
+  }
+  if ("message" in data) {
+    const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
+    return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
+  }
+  return `Unknown error: ${JSON.stringify(data)}`;
+}
+function withDefaults2(oldEndpoint, newDefaults) {
+  const endpoint2 = oldEndpoint.defaults(newDefaults);
+  const newApi = function(route, parameters) {
+    const endpointOptions = endpoint2.merge(route, parameters);
+    if (!endpointOptions.request || !endpointOptions.request.hook) {
+      return fetchWrapper(endpoint2.parse(endpointOptions));
+    }
+    const request2 = (route2, parameters2) => {
+      return fetchWrapper(
+        endpoint2.parse(endpoint2.merge(route2, parameters2))
+      );
+    };
+    Object.assign(request2, {
+      endpoint: endpoint2,
+      defaults: withDefaults2.bind(null, endpoint2)
+    });
+    return endpointOptions.request.hook(request2, endpointOptions);
+  };
+  return Object.assign(newApi, {
+    endpoint: endpoint2,
+    defaults: withDefaults2.bind(null, endpoint2)
+  });
+}
+var import_fast_content_type_parse, VERSION2, defaults_default, noop, request;
+var init_dist_bundle2 = __esm({
+  "node_modules/@octokit/request/dist-bundle/index.js"() {
+    init_dist_bundle();
+    init_universal_user_agent3();
+    import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1);
+    init_dist_src();
+    VERSION2 = "10.0.7";
+    defaults_default = {
+      headers: {
+        "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent3()}`
+      }
+    };
+    noop = () => "";
+    request = withDefaults2(endpoint, defaults_default);
+  }
+});
+
+// node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js
+function getUserAgent4() {
+  if (typeof navigator === "object" && "userAgent" in navigator) {
+    return navigator.userAgent;
+  }
+  if (typeof process === "object" && process.version !== void 0) {
+    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
+  }
+  return "";
+}
+var init_universal_user_agent4 = __esm({
+  "node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js"() {
+  }
+});
+
+// node_modules/@octokit/graphql/dist-bundle/index.js
+function _buildMessageForResponseErrors(data) {
+  return `Request failed due to following response errors:
+` + data.errors.map((e) => ` - ${e.message}`).join("\n");
+}
+function graphql(request2, query, options) {
+  if (options) {
+    if (typeof query === "string" && "query" in options) {
+      return Promise.reject(
+        new Error(`[@octokit/graphql] "query" cannot be used as variable name`)
+      );
+    }
+    for (const key in options) {
+      if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;
+      return Promise.reject(
+        new Error(
+          `[@octokit/graphql] "${key}" cannot be used as variable name`
+        )
+      );
+    }
+  }
+  const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
+  const requestOptions = Object.keys(
+    parsedOptions
+  ).reduce((result, key) => {
+    if (NON_VARIABLE_OPTIONS.includes(key)) {
+      result[key] = parsedOptions[key];
+      return result;
+    }
+    if (!result.variables) {
+      result.variables = {};
+    }
+    result.variables[key] = parsedOptions[key];
+    return result;
+  }, {});
+  const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;
+  if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
+    requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
+  }
+  return request2(requestOptions).then((response) => {
+    if (response.data.errors) {
+      const headers = {};
+      for (const key of Object.keys(response.headers)) {
+        headers[key] = response.headers[key];
+      }
+      throw new GraphqlResponseError(
+        requestOptions,
+        headers,
+        response.data
+      );
+    }
+    return response.data.data;
+  });
+}
+function withDefaults3(request2, newDefaults) {
+  const newRequest = request2.defaults(newDefaults);
+  const newApi = (query, options) => {
+    return graphql(newRequest, query, options);
+  };
+  return Object.assign(newApi, {
+    defaults: withDefaults3.bind(null, newRequest),
+    endpoint: newRequest.endpoint
+  });
+}
+function withCustomRequest(customRequest) {
+  return withDefaults3(customRequest, {
+    method: "POST",
+    url: "/graphql"
+  });
+}
+var VERSION3, GraphqlResponseError, NON_VARIABLE_OPTIONS, FORBIDDEN_VARIABLE_OPTIONS, GHES_V3_SUFFIX_REGEX, graphql2;
+var init_dist_bundle3 = __esm({
+  "node_modules/@octokit/graphql/dist-bundle/index.js"() {
+    init_dist_bundle2();
+    init_universal_user_agent4();
+    VERSION3 = "0.0.0-development";
+    GraphqlResponseError = class extends Error {
+      constructor(request2, headers, response) {
+        super(_buildMessageForResponseErrors(response));
+        this.request = request2;
+        this.headers = headers;
+        this.response = response;
+        this.errors = response.errors;
+        this.data = response.data;
+        if (Error.captureStackTrace) {
+          Error.captureStackTrace(this, this.constructor);
+        }
+      }
+      name = "GraphqlResponseError";
+      errors;
+      data;
+    };
+    NON_VARIABLE_OPTIONS = [
+      "method",
+      "baseUrl",
+      "url",
+      "headers",
+      "request",
+      "query",
+      "mediaType",
+      "operationName"
+    ];
+    FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
+    GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
+    graphql2 = withDefaults3(request, {
+      headers: {
+        "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent4()}`
+      },
+      method: "POST",
+      url: "/graphql"
+    });
+  }
+});
+
+// node_modules/@octokit/auth-token/dist-bundle/index.js
+async function auth(token) {
+  const isApp = isJWT(token);
+  const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
+  const isUserToServer = token.startsWith("ghu_");
+  const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
+  return {
+    type: "token",
+    token,
+    tokenType
+  };
+}
+function withAuthorizationPrefix(token) {
+  if (token.split(/\./).length === 3) {
+    return `bearer ${token}`;
+  }
+  return `token ${token}`;
+}
+async function hook(token, request2, route, parameters) {
+  const endpoint2 = request2.endpoint.merge(
+    route,
+    parameters
+  );
+  endpoint2.headers.authorization = withAuthorizationPrefix(token);
+  return request2(endpoint2);
+}
+var b64url, sep, jwtRE, isJWT, createTokenAuth;
+var init_dist_bundle4 = __esm({
+  "node_modules/@octokit/auth-token/dist-bundle/index.js"() {
+    b64url = "(?:[a-zA-Z0-9_-]+)";
+    sep = "\\.";
+    jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`);
+    isJWT = jwtRE.test.bind(jwtRE);
+    createTokenAuth = function createTokenAuth2(token) {
+      if (!token) {
+        throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
+      }
+      if (typeof token !== "string") {
+        throw new Error(
+          "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
+        );
+      }
+      token = token.replace(/^(token|bearer) +/i, "");
+      return Object.assign(auth.bind(null, token), {
+        hook: hook.bind(null, token)
+      });
+    };
+  }
+});
+
+// node_modules/@octokit/core/dist-src/version.js
+var VERSION4;
+var init_version = __esm({
+  "node_modules/@octokit/core/dist-src/version.js"() {
+    VERSION4 = "7.0.6";
+  }
+});
+
+// node_modules/@octokit/core/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+  Octokit: () => Octokit
+});
+function createLogger(logger = {}) {
+  if (typeof logger.debug !== "function") {
+    logger.debug = noop2;
+  }
+  if (typeof logger.info !== "function") {
+    logger.info = noop2;
+  }
+  if (typeof logger.warn !== "function") {
+    logger.warn = consoleWarn;
+  }
+  if (typeof logger.error !== "function") {
+    logger.error = consoleError;
+  }
+  return logger;
+}
+var noop2, consoleWarn, consoleError, userAgentTrail, Octokit;
+var init_dist_src2 = __esm({
+  "node_modules/@octokit/core/dist-src/index.js"() {
+    init_universal_user_agent();
+    init_before_after_hook();
+    init_dist_bundle2();
+    init_dist_bundle3();
+    init_dist_bundle4();
+    init_version();
+    noop2 = () => {
+    };
+    consoleWarn = console.warn.bind(console);
+    consoleError = console.error.bind(console);
+    userAgentTrail = `octokit-core.js/${VERSION4} ${getUserAgent()}`;
+    Octokit = class {
+      static VERSION = VERSION4;
+      static defaults(defaults) {
+        const OctokitWithDefaults = class extends this {
+          constructor(...args) {
+            const options = args[0] || {};
+            if (typeof defaults === "function") {
+              super(defaults(options));
+              return;
+            }
+            super(
+              Object.assign(
+                {},
+                defaults,
+                options,
+                options.userAgent && defaults.userAgent ? {
+                  userAgent: `${options.userAgent} ${defaults.userAgent}`
+                } : null
+              )
+            );
+          }
+        };
+        return OctokitWithDefaults;
+      }
+      static plugins = [];
+      /**
+       * Attach a plugin (or many) to your Octokit instance.
+       *
+       * @example
+       * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
+       */
+      static plugin(...newPlugins) {
+        const currentPlugins = this.plugins;
+        const NewOctokit = class extends this {
+          static plugins = currentPlugins.concat(
+            newPlugins.filter((plugin) => !currentPlugins.includes(plugin))
+          );
+        };
+        return NewOctokit;
+      }
+      constructor(options = {}) {
+        const hook2 = new before_after_hook_default.Collection();
+        const requestDefaults = {
+          baseUrl: request.endpoint.DEFAULTS.baseUrl,
+          headers: {},
+          request: Object.assign({}, options.request, {
+            // @ts-ignore internal usage only, no need to type
+            hook: hook2.bind(null, "request")
+          }),
+          mediaType: {
+            previews: [],
+            format: ""
+          }
+        };
+        requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
+        if (options.baseUrl) {
+          requestDefaults.baseUrl = options.baseUrl;
+        }
+        if (options.previews) {
+          requestDefaults.mediaType.previews = options.previews;
+        }
+        if (options.timeZone) {
+          requestDefaults.headers["time-zone"] = options.timeZone;
+        }
+        this.request = request.defaults(requestDefaults);
+        this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
+        this.log = createLogger(options.log);
+        this.hook = hook2;
+        if (!options.authStrategy) {
+          if (!options.auth) {
+            this.auth = async () => ({
+              type: "unauthenticated"
+            });
+          } else {
+            const auth2 = createTokenAuth(options.auth);
+            hook2.wrap("request", auth2.hook);
+            this.auth = auth2;
+          }
+        } else {
+          const { authStrategy, ...otherOptions } = options;
+          const auth2 = authStrategy(
+            Object.assign(
+              {
+                request: this.request,
+                log: this.log,
+                // we pass the current octokit instance as well as its constructor options
+                // to allow for authentication strategies that return a new octokit instance
+                // that shares the same internal state as the current one. The original
+                // requirement for this was the "event-octokit" authentication strategy
+                // of https://github.com/probot/octokit-auth-probot.
+                octokit: this,
+                octokitOptions: otherOptions
+              },
+              options.auth
+            )
+          );
+          hook2.wrap("request", auth2.hook);
+          this.auth = auth2;
+        }
+        const classConstructor = this.constructor;
+        for (let i = 0; i < classConstructor.plugins.length; ++i) {
+          Object.assign(this, classConstructor.plugins[i](this, options));
+        }
+      }
+      // assigned during constructor
+      request;
+      graphql;
+      log;
+      hook;
+      // TODO: type `octokit.auth` based on passed options.authStrategy
+      auth;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
+var VERSION5;
+var init_version2 = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js"() {
+    VERSION5 = "17.0.0";
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js
+var Endpoints, endpoints_default;
+var init_endpoints = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js"() {
+    Endpoints = {
+      actions: {
+        addCustomLabelsToSelfHostedRunnerForOrg: [
+          "POST /orgs/{org}/actions/runners/{runner_id}/labels"
+        ],
+        addCustomLabelsToSelfHostedRunnerForRepo: [
+          "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+        ],
+        addRepoAccessToSelfHostedRunnerGroupInOrg: [
+          "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"
+        ],
+        addSelectedRepoToOrgSecret: [
+          "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
+        ],
+        addSelectedRepoToOrgVariable: [
+          "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
+        ],
+        approveWorkflowRun: [
+          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"
         ],
         cancelWorkflowRun: [
           "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"
@@ -41520,923 +43013,12261 @@ var init_endpoints = __esm({
         redeliverWebhookDelivery: [
           "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"
         ],
-        removeAppAccessRestrictions: [
-          "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
+        removeAppAccessRestrictions: [
+          "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
+          {},
+          { mapToData: "apps" }
+        ],
+        removeCollaborator: [
+          "DELETE /repos/{owner}/{repo}/collaborators/{username}"
+        ],
+        removeStatusCheckContexts: [
+          "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
+          {},
+          { mapToData: "contexts" }
+        ],
+        removeStatusCheckProtection: [
+          "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
+        ],
+        removeTeamAccessRestrictions: [
+          "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
+          {},
+          { mapToData: "teams" }
+        ],
+        removeUserAccessRestrictions: [
+          "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
+          {},
+          { mapToData: "users" }
+        ],
+        renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"],
+        replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"],
+        requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"],
+        setAdminBranchProtection: [
+          "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
+        ],
+        setAppAccessRestrictions: [
+          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
+          {},
+          { mapToData: "apps" }
+        ],
+        setStatusCheckContexts: [
+          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
+          {},
+          { mapToData: "contexts" }
+        ],
+        setTeamAccessRestrictions: [
+          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
+          {},
+          { mapToData: "teams" }
+        ],
+        setUserAccessRestrictions: [
+          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
+          {},
+          { mapToData: "users" }
+        ],
+        testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],
+        transfer: ["POST /repos/{owner}/{repo}/transfer"],
+        update: ["PATCH /repos/{owner}/{repo}"],
+        updateBranchProtection: [
+          "PUT /repos/{owner}/{repo}/branches/{branch}/protection"
+        ],
+        updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],
+        updateDeploymentBranchPolicy: [
+          "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
+        ],
+        updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"],
+        updateInvitation: [
+          "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"
+        ],
+        updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"],
+        updatePullRequestReviewProtection: [
+          "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
+        ],
+        updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"],
+        updateReleaseAsset: [
+          "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"
+        ],
+        updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
+        updateStatusCheckPotection: [
+          "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",
+          {},
+          { renamed: ["repos", "updateStatusCheckProtection"] }
+        ],
+        updateStatusCheckProtection: [
+          "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
+        ],
+        updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],
+        updateWebhookConfigForRepo: [
+          "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"
+        ],
+        uploadReleaseAsset: [
+          "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",
+          { baseUrl: "https://uploads.github.com" }
+        ]
+      },
+      search: {
+        code: ["GET /search/code"],
+        commits: ["GET /search/commits"],
+        issuesAndPullRequests: ["GET /search/issues"],
+        labels: ["GET /search/labels"],
+        repos: ["GET /search/repositories"],
+        topics: ["GET /search/topics"],
+        users: ["GET /search/users"]
+      },
+      secretScanning: {
+        createPushProtectionBypass: [
+          "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"
+        ],
+        getAlert: [
+          "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
+        ],
+        getScanHistory: ["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],
+        listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"],
+        listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"],
+        listLocationsForAlert: [
+          "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"
+        ],
+        listOrgPatternConfigs: [
+          "GET /orgs/{org}/secret-scanning/pattern-configurations"
+        ],
+        updateAlert: [
+          "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
+        ],
+        updateOrgPatternConfigs: [
+          "PATCH /orgs/{org}/secret-scanning/pattern-configurations"
+        ]
+      },
+      securityAdvisories: {
+        createFork: [
+          "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"
+        ],
+        createPrivateVulnerabilityReport: [
+          "POST /repos/{owner}/{repo}/security-advisories/reports"
+        ],
+        createRepositoryAdvisory: [
+          "POST /repos/{owner}/{repo}/security-advisories"
+        ],
+        createRepositoryAdvisoryCveRequest: [
+          "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"
+        ],
+        getGlobalAdvisory: ["GET /advisories/{ghsa_id}"],
+        getRepositoryAdvisory: [
+          "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
+        ],
+        listGlobalAdvisories: ["GET /advisories"],
+        listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"],
+        listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"],
+        updateRepositoryAdvisory: [
+          "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
+        ]
+      },
+      teams: {
+        addOrUpdateMembershipForUserInOrg: [
+          "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
+        ],
+        addOrUpdateRepoPermissionsInOrg: [
+          "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+        ],
+        checkPermissionsForRepoInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+        ],
+        create: ["POST /orgs/{org}/teams"],
+        createDiscussionCommentInOrg: [
+          "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
+        ],
+        createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
+        deleteDiscussionCommentInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+        ],
+        deleteDiscussionInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+        ],
+        deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
+        getByName: ["GET /orgs/{org}/teams/{team_slug}"],
+        getDiscussionCommentInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+        ],
+        getDiscussionInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+        ],
+        getMembershipForUserInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/memberships/{username}"
+        ],
+        list: ["GET /orgs/{org}/teams"],
+        listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
+        listDiscussionCommentsInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
+        ],
+        listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
+        listForAuthenticatedUser: ["GET /user/teams"],
+        listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
+        listPendingInvitationsInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/invitations"
+        ],
+        listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
+        removeMembershipForUserInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
+        ],
+        removeRepoInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+        ],
+        updateDiscussionCommentInOrg: [
+          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+        ],
+        updateDiscussionInOrg: [
+          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+        ],
+        updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
+      },
+      users: {
+        addEmailForAuthenticated: [
+          "POST /user/emails",
+          {},
+          { renamed: ["users", "addEmailForAuthenticatedUser"] }
+        ],
+        addEmailForAuthenticatedUser: ["POST /user/emails"],
+        addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"],
+        block: ["PUT /user/blocks/{username}"],
+        checkBlocked: ["GET /user/blocks/{username}"],
+        checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
+        checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
+        createGpgKeyForAuthenticated: [
+          "POST /user/gpg_keys",
+          {},
+          { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }
+        ],
+        createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"],
+        createPublicSshKeyForAuthenticated: [
+          "POST /user/keys",
+          {},
+          { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }
+        ],
+        createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"],
+        createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"],
+        deleteAttestationsBulk: [
+          "POST /users/{username}/attestations/delete-request"
+        ],
+        deleteAttestationsById: [
+          "DELETE /users/{username}/attestations/{attestation_id}"
+        ],
+        deleteAttestationsBySubjectDigest: [
+          "DELETE /users/{username}/attestations/digest/{subject_digest}"
+        ],
+        deleteEmailForAuthenticated: [
+          "DELETE /user/emails",
           {},
-          { mapToData: "apps" }
+          { renamed: ["users", "deleteEmailForAuthenticatedUser"] }
         ],
-        removeCollaborator: [
-          "DELETE /repos/{owner}/{repo}/collaborators/{username}"
+        deleteEmailForAuthenticatedUser: ["DELETE /user/emails"],
+        deleteGpgKeyForAuthenticated: [
+          "DELETE /user/gpg_keys/{gpg_key_id}",
+          {},
+          { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }
         ],
-        removeStatusCheckContexts: [
-          "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
+        deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"],
+        deletePublicSshKeyForAuthenticated: [
+          "DELETE /user/keys/{key_id}",
           {},
-          { mapToData: "contexts" }
+          { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }
         ],
-        removeStatusCheckProtection: [
-          "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
+        deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"],
+        deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"],
+        deleteSshSigningKeyForAuthenticatedUser: [
+          "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"
         ],
-        removeTeamAccessRestrictions: [
-          "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
+        follow: ["PUT /user/following/{username}"],
+        getAuthenticated: ["GET /user"],
+        getById: ["GET /user/{account_id}"],
+        getByUsername: ["GET /users/{username}"],
+        getContextForUser: ["GET /users/{username}/hovercard"],
+        getGpgKeyForAuthenticated: [
+          "GET /user/gpg_keys/{gpg_key_id}",
           {},
-          { mapToData: "teams" }
+          { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }
         ],
-        removeUserAccessRestrictions: [
-          "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
+        getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"],
+        getPublicSshKeyForAuthenticated: [
+          "GET /user/keys/{key_id}",
           {},
-          { mapToData: "users" }
+          { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }
         ],
-        renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"],
-        replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"],
-        requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"],
-        setAdminBranchProtection: [
-          "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
+        getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"],
+        getSshSigningKeyForAuthenticatedUser: [
+          "GET /user/ssh_signing_keys/{ssh_signing_key_id}"
         ],
-        setAppAccessRestrictions: [
-          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
-          {},
-          { mapToData: "apps" }
+        list: ["GET /users"],
+        listAttestations: ["GET /users/{username}/attestations/{subject_digest}"],
+        listAttestationsBulk: [
+          "POST /users/{username}/attestations/bulk-list{?per_page,before,after}"
         ],
-        setStatusCheckContexts: [
-          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
+        listBlockedByAuthenticated: [
+          "GET /user/blocks",
           {},
-          { mapToData: "contexts" }
+          { renamed: ["users", "listBlockedByAuthenticatedUser"] }
         ],
-        setTeamAccessRestrictions: [
-          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
+        listBlockedByAuthenticatedUser: ["GET /user/blocks"],
+        listEmailsForAuthenticated: [
+          "GET /user/emails",
           {},
-          { mapToData: "teams" }
+          { renamed: ["users", "listEmailsForAuthenticatedUser"] }
         ],
-        setUserAccessRestrictions: [
-          "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
+        listEmailsForAuthenticatedUser: ["GET /user/emails"],
+        listFollowedByAuthenticated: [
+          "GET /user/following",
           {},
-          { mapToData: "users" }
-        ],
-        testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],
-        transfer: ["POST /repos/{owner}/{repo}/transfer"],
-        update: ["PATCH /repos/{owner}/{repo}"],
-        updateBranchProtection: [
-          "PUT /repos/{owner}/{repo}/branches/{branch}/protection"
-        ],
-        updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],
-        updateDeploymentBranchPolicy: [
-          "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
-        ],
-        updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"],
-        updateInvitation: [
-          "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"
+          { renamed: ["users", "listFollowedByAuthenticatedUser"] }
         ],
-        updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"],
-        updatePullRequestReviewProtection: [
-          "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
+        listFollowedByAuthenticatedUser: ["GET /user/following"],
+        listFollowersForAuthenticatedUser: ["GET /user/followers"],
+        listFollowersForUser: ["GET /users/{username}/followers"],
+        listFollowingForUser: ["GET /users/{username}/following"],
+        listGpgKeysForAuthenticated: [
+          "GET /user/gpg_keys",
+          {},
+          { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }
         ],
-        updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"],
-        updateReleaseAsset: [
-          "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"
+        listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"],
+        listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
+        listPublicEmailsForAuthenticated: [
+          "GET /user/public_emails",
+          {},
+          { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }
         ],
-        updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
-        updateStatusCheckPotection: [
-          "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",
+        listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"],
+        listPublicKeysForUser: ["GET /users/{username}/keys"],
+        listPublicSshKeysForAuthenticated: [
+          "GET /user/keys",
           {},
-          { renamed: ["repos", "updateStatusCheckProtection"] }
+          { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }
         ],
-        updateStatusCheckProtection: [
-          "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
+        listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"],
+        listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"],
+        listSocialAccountsForUser: ["GET /users/{username}/social_accounts"],
+        listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"],
+        listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"],
+        setPrimaryEmailVisibilityForAuthenticated: [
+          "PATCH /user/email/visibility",
+          {},
+          { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] }
         ],
-        updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],
-        updateWebhookConfigForRepo: [
-          "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"
+        setPrimaryEmailVisibilityForAuthenticatedUser: [
+          "PATCH /user/email/visibility"
         ],
-        uploadReleaseAsset: [
-          "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",
-          { baseUrl: "https://uploads.github.com" }
-        ]
+        unblock: ["DELETE /user/blocks/{username}"],
+        unfollow: ["DELETE /user/following/{username}"],
+        updateAuthenticated: ["PATCH /user"]
+      }
+    };
+    endpoints_default = Endpoints;
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js
+function endpointsToMethods(octokit) {
+  const newMethods = {};
+  for (const scope of endpointMethodsMap.keys()) {
+    newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
+  }
+  return newMethods;
+}
+function decorate(octokit, scope, methodName, defaults, decorations) {
+  const requestWithDefaults = octokit.request.defaults(defaults);
+  function withDecorations(...args) {
+    let options = requestWithDefaults.endpoint.merge(...args);
+    if (decorations.mapToData) {
+      options = Object.assign({}, options, {
+        data: options[decorations.mapToData],
+        [decorations.mapToData]: void 0
+      });
+      return requestWithDefaults(options);
+    }
+    if (decorations.renamed) {
+      const [newScope, newMethodName] = decorations.renamed;
+      octokit.log.warn(
+        `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
+      );
+    }
+    if (decorations.deprecated) {
+      octokit.log.warn(decorations.deprecated);
+    }
+    if (decorations.renamedParameters) {
+      const options2 = requestWithDefaults.endpoint.merge(...args);
+      for (const [name, alias] of Object.entries(
+        decorations.renamedParameters
+      )) {
+        if (name in options2) {
+          octokit.log.warn(
+            `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`
+          );
+          if (!(alias in options2)) {
+            options2[alias] = options2[name];
+          }
+          delete options2[name];
+        }
+      }
+      return requestWithDefaults(options2);
+    }
+    return requestWithDefaults(...args);
+  }
+  return Object.assign(withDecorations, requestWithDefaults);
+}
+var endpointMethodsMap, handler;
+var init_endpoints_to_methods = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js"() {
+    init_endpoints();
+    endpointMethodsMap = /* @__PURE__ */ new Map();
+    for (const [scope, endpoints] of Object.entries(endpoints_default)) {
+      for (const [methodName, endpoint2] of Object.entries(endpoints)) {
+        const [route, defaults, decorations] = endpoint2;
+        const [method, url] = route.split(/ /);
+        const endpointDefaults = Object.assign(
+          {
+            method,
+            url
+          },
+          defaults
+        );
+        if (!endpointMethodsMap.has(scope)) {
+          endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());
+        }
+        endpointMethodsMap.get(scope).set(methodName, {
+          scope,
+          methodName,
+          endpointDefaults,
+          decorations
+        });
+      }
+    }
+    handler = {
+      has({ scope }, methodName) {
+        return endpointMethodsMap.get(scope).has(methodName);
+      },
+      getOwnPropertyDescriptor(target, methodName) {
+        return {
+          value: this.get(target, methodName),
+          // ensures method is in the cache
+          configurable: true,
+          writable: true,
+          enumerable: true
+        };
+      },
+      defineProperty(target, methodName, descriptor) {
+        Object.defineProperty(target.cache, methodName, descriptor);
+        return true;
+      },
+      deleteProperty(target, methodName) {
+        delete target.cache[methodName];
+        return true;
+      },
+      ownKeys({ scope }) {
+        return [...endpointMethodsMap.get(scope).keys()];
+      },
+      set(target, methodName, value) {
+        return target.cache[methodName] = value;
+      },
+      get({ octokit, scope, cache }, methodName) {
+        if (cache[methodName]) {
+          return cache[methodName];
+        }
+        const method = endpointMethodsMap.get(scope).get(methodName);
+        if (!method) {
+          return void 0;
+        }
+        const { endpointDefaults, decorations } = method;
+        if (decorations) {
+          cache[methodName] = decorate(
+            octokit,
+            scope,
+            methodName,
+            endpointDefaults,
+            decorations
+          );
+        } else {
+          cache[methodName] = octokit.request.defaults(endpointDefaults);
+        }
+        return cache[methodName];
+      }
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js
+var dist_src_exports2 = {};
+__export(dist_src_exports2, {
+  legacyRestEndpointMethods: () => legacyRestEndpointMethods,
+  restEndpointMethods: () => restEndpointMethods
+});
+function restEndpointMethods(octokit) {
+  const api = endpointsToMethods(octokit);
+  return {
+    rest: api
+  };
+}
+function legacyRestEndpointMethods(octokit) {
+  const api = endpointsToMethods(octokit);
+  return {
+    ...api,
+    rest: api
+  };
+}
+var init_dist_src3 = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js"() {
+    init_version2();
+    init_endpoints_to_methods();
+    restEndpointMethods.VERSION = VERSION5;
+    legacyRestEndpointMethods.VERSION = VERSION5;
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js
+var dist_bundle_exports = {};
+__export(dist_bundle_exports, {
+  composePaginateRest: () => composePaginateRest,
+  isPaginatingEndpoint: () => isPaginatingEndpoint,
+  paginateRest: () => paginateRest,
+  paginatingEndpoints: () => paginatingEndpoints
+});
+function normalizePaginatedListResponse(response) {
+  if (!response.data) {
+    return {
+      ...response,
+      data: []
+    };
+  }
+  const responseNeedsNormalization = ("total_count" in response.data || "total_commits" in response.data) && !("url" in response.data);
+  if (!responseNeedsNormalization) return response;
+  const incompleteResults = response.data.incomplete_results;
+  const repositorySelection = response.data.repository_selection;
+  const totalCount = response.data.total_count;
+  const totalCommits = response.data.total_commits;
+  delete response.data.incomplete_results;
+  delete response.data.repository_selection;
+  delete response.data.total_count;
+  delete response.data.total_commits;
+  const namespaceKey = Object.keys(response.data)[0];
+  const data = response.data[namespaceKey];
+  response.data = data;
+  if (typeof incompleteResults !== "undefined") {
+    response.data.incomplete_results = incompleteResults;
+  }
+  if (typeof repositorySelection !== "undefined") {
+    response.data.repository_selection = repositorySelection;
+  }
+  response.data.total_count = totalCount;
+  response.data.total_commits = totalCommits;
+  return response;
+}
+function iterator(octokit, route, parameters) {
+  const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
+  const requestMethod = typeof route === "function" ? route : octokit.request;
+  const method = options.method;
+  const headers = options.headers;
+  let url = options.url;
+  return {
+    [Symbol.asyncIterator]: () => ({
+      async next() {
+        if (!url) return { done: true };
+        try {
+          const response = await requestMethod({ method, url, headers });
+          const normalizedResponse = normalizePaginatedListResponse(response);
+          url = ((normalizedResponse.headers.link || "").match(
+            /<([^<>]+)>;\s*rel="next"/
+          ) || [])[1];
+          if (!url && "total_commits" in normalizedResponse.data) {
+            const parsedUrl = new URL(normalizedResponse.url);
+            const params = parsedUrl.searchParams;
+            const page = parseInt(params.get("page") || "1", 10);
+            const per_page = parseInt(params.get("per_page") || "250", 10);
+            if (page * per_page < normalizedResponse.data.total_commits) {
+              params.set("page", String(page + 1));
+              url = parsedUrl.toString();
+            }
+          }
+          return { value: normalizedResponse };
+        } catch (error3) {
+          if (error3.status !== 409) throw error3;
+          url = "";
+          return {
+            value: {
+              status: 200,
+              headers: {},
+              data: []
+            }
+          };
+        }
+      }
+    })
+  };
+}
+function paginate(octokit, route, parameters, mapFn) {
+  if (typeof parameters === "function") {
+    mapFn = parameters;
+    parameters = void 0;
+  }
+  return gather(
+    octokit,
+    [],
+    iterator(octokit, route, parameters)[Symbol.asyncIterator](),
+    mapFn
+  );
+}
+function gather(octokit, results, iterator2, mapFn) {
+  return iterator2.next().then((result) => {
+    if (result.done) {
+      return results;
+    }
+    let earlyExit = false;
+    function done() {
+      earlyExit = true;
+    }
+    results = results.concat(
+      mapFn ? mapFn(result.value, done) : result.value.data
+    );
+    if (earlyExit) {
+      return results;
+    }
+    return gather(octokit, results, iterator2, mapFn);
+  });
+}
+function isPaginatingEndpoint(arg) {
+  if (typeof arg === "string") {
+    return paginatingEndpoints.includes(arg);
+  } else {
+    return false;
+  }
+}
+function paginateRest(octokit) {
+  return {
+    paginate: Object.assign(paginate.bind(null, octokit), {
+      iterator: iterator.bind(null, octokit)
+    })
+  };
+}
+var VERSION6, composePaginateRest, paginatingEndpoints;
+var init_dist_bundle5 = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js"() {
+    VERSION6 = "0.0.0-development";
+    composePaginateRest = Object.assign(paginate, {
+      iterator
+    });
+    paginatingEndpoints = [
+      "GET /advisories",
+      "GET /app/hook/deliveries",
+      "GET /app/installation-requests",
+      "GET /app/installations",
+      "GET /assignments/{assignment_id}/accepted_assignments",
+      "GET /classrooms",
+      "GET /classrooms/{classroom_id}/assignments",
+      "GET /enterprises/{enterprise}/code-security/configurations",
+      "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories",
+      "GET /enterprises/{enterprise}/dependabot/alerts",
+      "GET /enterprises/{enterprise}/teams",
+      "GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships",
+      "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations",
+      "GET /events",
+      "GET /gists",
+      "GET /gists/public",
+      "GET /gists/starred",
+      "GET /gists/{gist_id}/comments",
+      "GET /gists/{gist_id}/commits",
+      "GET /gists/{gist_id}/forks",
+      "GET /installation/repositories",
+      "GET /issues",
+      "GET /licenses",
+      "GET /marketplace_listing/plans",
+      "GET /marketplace_listing/plans/{plan_id}/accounts",
+      "GET /marketplace_listing/stubbed/plans",
+      "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts",
+      "GET /networks/{owner}/{repo}/events",
+      "GET /notifications",
+      "GET /organizations",
+      "GET /organizations/{org}/dependabot/repository-access",
+      "GET /orgs/{org}/actions/cache/usage-by-repository",
+      "GET /orgs/{org}/actions/hosted-runners",
+      "GET /orgs/{org}/actions/permissions/repositories",
+      "GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories",
+      "GET /orgs/{org}/actions/runner-groups",
+      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners",
+      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories",
+      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners",
+      "GET /orgs/{org}/actions/runners",
+      "GET /orgs/{org}/actions/secrets",
+      "GET /orgs/{org}/actions/secrets/{secret_name}/repositories",
+      "GET /orgs/{org}/actions/variables",
+      "GET /orgs/{org}/actions/variables/{name}/repositories",
+      "GET /orgs/{org}/attestations/repositories",
+      "GET /orgs/{org}/attestations/{subject_digest}",
+      "GET /orgs/{org}/blocks",
+      "GET /orgs/{org}/campaigns",
+      "GET /orgs/{org}/code-scanning/alerts",
+      "GET /orgs/{org}/code-security/configurations",
+      "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories",
+      "GET /orgs/{org}/codespaces",
+      "GET /orgs/{org}/codespaces/secrets",
+      "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories",
+      "GET /orgs/{org}/copilot/billing/seats",
+      "GET /orgs/{org}/copilot/metrics",
+      "GET /orgs/{org}/dependabot/alerts",
+      "GET /orgs/{org}/dependabot/secrets",
+      "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories",
+      "GET /orgs/{org}/events",
+      "GET /orgs/{org}/failed_invitations",
+      "GET /orgs/{org}/hooks",
+      "GET /orgs/{org}/hooks/{hook_id}/deliveries",
+      "GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}",
+      "GET /orgs/{org}/insights/api/subject-stats",
+      "GET /orgs/{org}/insights/api/user-stats/{user_id}",
+      "GET /orgs/{org}/installations",
+      "GET /orgs/{org}/invitations",
+      "GET /orgs/{org}/invitations/{invitation_id}/teams",
+      "GET /orgs/{org}/issues",
+      "GET /orgs/{org}/members",
+      "GET /orgs/{org}/members/{username}/codespaces",
+      "GET /orgs/{org}/migrations",
+      "GET /orgs/{org}/migrations/{migration_id}/repositories",
+      "GET /orgs/{org}/organization-roles/{role_id}/teams",
+      "GET /orgs/{org}/organization-roles/{role_id}/users",
+      "GET /orgs/{org}/outside_collaborators",
+      "GET /orgs/{org}/packages",
+      "GET /orgs/{org}/packages/{package_type}/{package_name}/versions",
+      "GET /orgs/{org}/personal-access-token-requests",
+      "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories",
+      "GET /orgs/{org}/personal-access-tokens",
+      "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories",
+      "GET /orgs/{org}/private-registries",
+      "GET /orgs/{org}/projects",
+      "GET /orgs/{org}/projectsV2",
+      "GET /orgs/{org}/projectsV2/{project_number}/fields",
+      "GET /orgs/{org}/projectsV2/{project_number}/items",
+      "GET /orgs/{org}/properties/values",
+      "GET /orgs/{org}/public_members",
+      "GET /orgs/{org}/repos",
+      "GET /orgs/{org}/rulesets",
+      "GET /orgs/{org}/rulesets/rule-suites",
+      "GET /orgs/{org}/rulesets/{ruleset_id}/history",
+      "GET /orgs/{org}/secret-scanning/alerts",
+      "GET /orgs/{org}/security-advisories",
+      "GET /orgs/{org}/settings/immutable-releases/repositories",
+      "GET /orgs/{org}/settings/network-configurations",
+      "GET /orgs/{org}/team/{team_slug}/copilot/metrics",
+      "GET /orgs/{org}/teams",
+      "GET /orgs/{org}/teams/{team_slug}/discussions",
+      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments",
+      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",
+      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",
+      "GET /orgs/{org}/teams/{team_slug}/invitations",
+      "GET /orgs/{org}/teams/{team_slug}/members",
+      "GET /orgs/{org}/teams/{team_slug}/projects",
+      "GET /orgs/{org}/teams/{team_slug}/repos",
+      "GET /orgs/{org}/teams/{team_slug}/teams",
+      "GET /projects/{project_id}/collaborators",
+      "GET /repos/{owner}/{repo}/actions/artifacts",
+      "GET /repos/{owner}/{repo}/actions/caches",
+      "GET /repos/{owner}/{repo}/actions/organization-secrets",
+      "GET /repos/{owner}/{repo}/actions/organization-variables",
+      "GET /repos/{owner}/{repo}/actions/runners",
+      "GET /repos/{owner}/{repo}/actions/runs",
+      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts",
+      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs",
+      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs",
+      "GET /repos/{owner}/{repo}/actions/secrets",
+      "GET /repos/{owner}/{repo}/actions/variables",
+      "GET /repos/{owner}/{repo}/actions/workflows",
+      "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs",
+      "GET /repos/{owner}/{repo}/activity",
+      "GET /repos/{owner}/{repo}/assignees",
+      "GET /repos/{owner}/{repo}/attestations/{subject_digest}",
+      "GET /repos/{owner}/{repo}/branches",
+      "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations",
+      "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs",
+      "GET /repos/{owner}/{repo}/code-scanning/alerts",
+      "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
+      "GET /repos/{owner}/{repo}/code-scanning/analyses",
+      "GET /repos/{owner}/{repo}/codespaces",
+      "GET /repos/{owner}/{repo}/codespaces/devcontainers",
+      "GET /repos/{owner}/{repo}/codespaces/secrets",
+      "GET /repos/{owner}/{repo}/collaborators",
+      "GET /repos/{owner}/{repo}/comments",
+      "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/commits",
+      "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments",
+      "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls",
+      "GET /repos/{owner}/{repo}/commits/{ref}/check-runs",
+      "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
+      "GET /repos/{owner}/{repo}/commits/{ref}/status",
+      "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
+      "GET /repos/{owner}/{repo}/compare/{basehead}",
+      "GET /repos/{owner}/{repo}/compare/{base}...{head}",
+      "GET /repos/{owner}/{repo}/contributors",
+      "GET /repos/{owner}/{repo}/dependabot/alerts",
+      "GET /repos/{owner}/{repo}/dependabot/secrets",
+      "GET /repos/{owner}/{repo}/deployments",
+      "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses",
+      "GET /repos/{owner}/{repo}/environments",
+      "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies",
+      "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps",
+      "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets",
+      "GET /repos/{owner}/{repo}/environments/{environment_name}/variables",
+      "GET /repos/{owner}/{repo}/events",
+      "GET /repos/{owner}/{repo}/forks",
+      "GET /repos/{owner}/{repo}/hooks",
+      "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries",
+      "GET /repos/{owner}/{repo}/invitations",
+      "GET /repos/{owner}/{repo}/issues",
+      "GET /repos/{owner}/{repo}/issues/comments",
+      "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/issues/events",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/comments",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/events",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/labels",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline",
+      "GET /repos/{owner}/{repo}/keys",
+      "GET /repos/{owner}/{repo}/labels",
+      "GET /repos/{owner}/{repo}/milestones",
+      "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels",
+      "GET /repos/{owner}/{repo}/notifications",
+      "GET /repos/{owner}/{repo}/pages/builds",
+      "GET /repos/{owner}/{repo}/projects",
+      "GET /repos/{owner}/{repo}/pulls",
+      "GET /repos/{owner}/{repo}/pulls/comments",
+      "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/files",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments",
+      "GET /repos/{owner}/{repo}/releases",
+      "GET /repos/{owner}/{repo}/releases/{release_id}/assets",
+      "GET /repos/{owner}/{repo}/releases/{release_id}/reactions",
+      "GET /repos/{owner}/{repo}/rules/branches/{branch}",
+      "GET /repos/{owner}/{repo}/rulesets",
+      "GET /repos/{owner}/{repo}/rulesets/rule-suites",
+      "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history",
+      "GET /repos/{owner}/{repo}/secret-scanning/alerts",
+      "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations",
+      "GET /repos/{owner}/{repo}/security-advisories",
+      "GET /repos/{owner}/{repo}/stargazers",
+      "GET /repos/{owner}/{repo}/subscribers",
+      "GET /repos/{owner}/{repo}/tags",
+      "GET /repos/{owner}/{repo}/teams",
+      "GET /repos/{owner}/{repo}/topics",
+      "GET /repositories",
+      "GET /search/code",
+      "GET /search/commits",
+      "GET /search/issues",
+      "GET /search/labels",
+      "GET /search/repositories",
+      "GET /search/topics",
+      "GET /search/users",
+      "GET /teams/{team_id}/discussions",
+      "GET /teams/{team_id}/discussions/{discussion_number}/comments",
+      "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",
+      "GET /teams/{team_id}/discussions/{discussion_number}/reactions",
+      "GET /teams/{team_id}/invitations",
+      "GET /teams/{team_id}/members",
+      "GET /teams/{team_id}/projects",
+      "GET /teams/{team_id}/repos",
+      "GET /teams/{team_id}/teams",
+      "GET /user/blocks",
+      "GET /user/codespaces",
+      "GET /user/codespaces/secrets",
+      "GET /user/emails",
+      "GET /user/followers",
+      "GET /user/following",
+      "GET /user/gpg_keys",
+      "GET /user/installations",
+      "GET /user/installations/{installation_id}/repositories",
+      "GET /user/issues",
+      "GET /user/keys",
+      "GET /user/marketplace_purchases",
+      "GET /user/marketplace_purchases/stubbed",
+      "GET /user/memberships/orgs",
+      "GET /user/migrations",
+      "GET /user/migrations/{migration_id}/repositories",
+      "GET /user/orgs",
+      "GET /user/packages",
+      "GET /user/packages/{package_type}/{package_name}/versions",
+      "GET /user/public_emails",
+      "GET /user/repos",
+      "GET /user/repository_invitations",
+      "GET /user/social_accounts",
+      "GET /user/ssh_signing_keys",
+      "GET /user/starred",
+      "GET /user/subscriptions",
+      "GET /user/teams",
+      "GET /users",
+      "GET /users/{username}/attestations/{subject_digest}",
+      "GET /users/{username}/events",
+      "GET /users/{username}/events/orgs/{org}",
+      "GET /users/{username}/events/public",
+      "GET /users/{username}/followers",
+      "GET /users/{username}/following",
+      "GET /users/{username}/gists",
+      "GET /users/{username}/gpg_keys",
+      "GET /users/{username}/keys",
+      "GET /users/{username}/orgs",
+      "GET /users/{username}/packages",
+      "GET /users/{username}/projects",
+      "GET /users/{username}/projectsV2",
+      "GET /users/{username}/projectsV2/{project_number}/fields",
+      "GET /users/{username}/projectsV2/{project_number}/items",
+      "GET /users/{username}/received_events",
+      "GET /users/{username}/received_events/public",
+      "GET /users/{username}/repos",
+      "GET /users/{username}/social_accounts",
+      "GET /users/{username}/ssh_signing_keys",
+      "GET /users/{username}/starred",
+      "GET /users/{username}/subscriptions"
+    ];
+    paginateRest.VERSION = VERSION6;
+  }
+});
+
+// node_modules/@actions/github/lib/utils.js
+var require_utils5 = __commonJS({
+  "node_modules/@actions/github/lib/utils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GitHub = exports2.defaults = exports2.context = void 0;
+    exports2.getOctokitOptions = getOctokitOptions2;
+    var Context = __importStar2(require_context());
+    var Utils = __importStar2(require_utils4());
+    var core_1 = (init_dist_src2(), __toCommonJS(dist_src_exports));
+    var plugin_rest_endpoint_methods_1 = (init_dist_src3(), __toCommonJS(dist_src_exports2));
+    var plugin_paginate_rest_1 = (init_dist_bundle5(), __toCommonJS(dist_bundle_exports));
+    exports2.context = new Context.Context();
+    var baseUrl = Utils.getApiBaseUrl();
+    exports2.defaults = {
+      baseUrl,
+      request: {
+        agent: Utils.getProxyAgent(baseUrl),
+        fetch: Utils.getProxyFetch(baseUrl)
+      }
+    };
+    exports2.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports2.defaults);
+    function getOctokitOptions2(token, options) {
+      const opts = Object.assign({}, options || {});
+      const auth2 = Utils.getAuthString(token, opts);
+      if (auth2) {
+        opts.auth = auth2;
+      }
+      return opts;
+    }
+  }
+});
+
+// node_modules/@actions/github/lib/github.js
+var require_github = __commonJS({
+  "node_modules/@actions/github/lib/github.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.context = void 0;
+    exports2.getOctokit = getOctokit;
+    var Context = __importStar2(require_context());
+    var utils_1 = require_utils5();
+    exports2.context = new Context.Context();
+    function getOctokit(token, options, ...additionalPlugins) {
+      const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
+      return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options));
+    }
+  }
+});
+
+// node_modules/semver/internal/constants.js
+var require_constants11 = __commonJS({
+  "node_modules/semver/internal/constants.js"(exports2, module2) {
+    "use strict";
+    var SEMVER_SPEC_VERSION = "2.0.0";
+    var MAX_LENGTH = 256;
+    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
+    9007199254740991;
+    var MAX_SAFE_COMPONENT_LENGTH = 16;
+    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
+    var RELEASE_TYPES = [
+      "major",
+      "premajor",
+      "minor",
+      "preminor",
+      "patch",
+      "prepatch",
+      "prerelease"
+    ];
+    module2.exports = {
+      MAX_LENGTH,
+      MAX_SAFE_COMPONENT_LENGTH,
+      MAX_SAFE_BUILD_LENGTH,
+      MAX_SAFE_INTEGER,
+      RELEASE_TYPES,
+      SEMVER_SPEC_VERSION,
+      FLAG_INCLUDE_PRERELEASE: 1,
+      FLAG_LOOSE: 2
+    };
+  }
+});
+
+// node_modules/semver/internal/debug.js
+var require_debug = __commonJS({
+  "node_modules/semver/internal/debug.js"(exports2, module2) {
+    "use strict";
+    var debug4 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
+    };
+    module2.exports = debug4;
+  }
+});
+
+// node_modules/semver/internal/re.js
+var require_re = __commonJS({
+  "node_modules/semver/internal/re.js"(exports2, module2) {
+    "use strict";
+    var {
+      MAX_SAFE_COMPONENT_LENGTH,
+      MAX_SAFE_BUILD_LENGTH,
+      MAX_LENGTH
+    } = require_constants11();
+    var debug4 = require_debug();
+    exports2 = module2.exports = {};
+    var re = exports2.re = [];
+    var safeRe = exports2.safeRe = [];
+    var src = exports2.src = [];
+    var safeSrc = exports2.safeSrc = [];
+    var t = exports2.t = {};
+    var R = 0;
+    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
+    var safeRegexReplacements = [
+      ["\\s", 1],
+      ["\\d", MAX_LENGTH],
+      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
+    ];
+    var makeSafeRegex = (value) => {
+      for (const [token, max] of safeRegexReplacements) {
+        value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
+      }
+      return value;
+    };
+    var createToken = (name, value, isGlobal) => {
+      const safe = makeSafeRegex(value);
+      const index = R++;
+      debug4(name, index, value);
+      t[name] = index;
+      src[index] = value;
+      safeSrc[index] = safe;
+      re[index] = new RegExp(value, isGlobal ? "g" : void 0);
+      safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
+    };
+    createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
+    createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
+    createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
+    createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
+    createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
+    createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
+    createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
+    createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
+    createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
+    createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
+    createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
+    createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
+    createToken("FULL", `^${src[t.FULLPLAIN]}$`);
+    createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
+    createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
+    createToken("GTLT", "((?:<|>)?=?)");
+    createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
+    createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
+    createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
+    createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
+    createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
+    createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
+    createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
+    createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
+    createToken("COERCERTL", src[t.COERCE], true);
+    createToken("COERCERTLFULL", src[t.COERCEFULL], true);
+    createToken("LONETILDE", "(?:~>?)");
+    createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
+    exports2.tildeTrimReplace = "$1~";
+    createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
+    createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("LONECARET", "(?:\\^)");
+    createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
+    exports2.caretTrimReplace = "$1^";
+    createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
+    createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
+    createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
+    createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
+    exports2.comparatorTrimReplace = "$1$2$3";
+    createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
+    createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
+    createToken("STAR", "(<|>)?=?\\s*\\*");
+    createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
+    createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
+  }
+});
+
+// node_modules/semver/internal/parse-options.js
+var require_parse_options = __commonJS({
+  "node_modules/semver/internal/parse-options.js"(exports2, module2) {
+    "use strict";
+    var looseOption = Object.freeze({ loose: true });
+    var emptyOpts = Object.freeze({});
+    var parseOptions = (options) => {
+      if (!options) {
+        return emptyOpts;
+      }
+      if (typeof options !== "object") {
+        return looseOption;
+      }
+      return options;
+    };
+    module2.exports = parseOptions;
+  }
+});
+
+// node_modules/semver/internal/identifiers.js
+var require_identifiers = __commonJS({
+  "node_modules/semver/internal/identifiers.js"(exports2, module2) {
+    "use strict";
+    var numeric = /^[0-9]+$/;
+    var compareIdentifiers = (a, b) => {
+      if (typeof a === "number" && typeof b === "number") {
+        return a === b ? 0 : a < b ? -1 : 1;
+      }
+      const anum = numeric.test(a);
+      const bnum = numeric.test(b);
+      if (anum && bnum) {
+        a = +a;
+        b = +b;
+      }
+      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
+    };
+    var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
+    module2.exports = {
+      compareIdentifiers,
+      rcompareIdentifiers
+    };
+  }
+});
+
+// node_modules/semver/classes/semver.js
+var require_semver = __commonJS({
+  "node_modules/semver/classes/semver.js"(exports2, module2) {
+    "use strict";
+    var debug4 = require_debug();
+    var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants11();
+    var { safeRe: re, t } = require_re();
+    var parseOptions = require_parse_options();
+    var { compareIdentifiers } = require_identifiers();
+    var SemVer = class _SemVer {
+      constructor(version, options) {
+        options = parseOptions(options);
+        if (version instanceof _SemVer) {
+          if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
+            return version;
+          } else {
+            version = version.version;
+          }
+        } else if (typeof version !== "string") {
+          throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);
+        }
+        if (version.length > MAX_LENGTH) {
+          throw new TypeError(
+            `version is longer than ${MAX_LENGTH} characters`
+          );
+        }
+        debug4("SemVer", version, options);
+        this.options = options;
+        this.loose = !!options.loose;
+        this.includePrerelease = !!options.includePrerelease;
+        const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
+        if (!m) {
+          throw new TypeError(`Invalid Version: ${version}`);
+        }
+        this.raw = version;
+        this.major = +m[1];
+        this.minor = +m[2];
+        this.patch = +m[3];
+        if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
+          throw new TypeError("Invalid major version");
+        }
+        if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
+          throw new TypeError("Invalid minor version");
+        }
+        if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
+          throw new TypeError("Invalid patch version");
+        }
+        if (!m[4]) {
+          this.prerelease = [];
+        } else {
+          this.prerelease = m[4].split(".").map((id) => {
+            if (/^[0-9]+$/.test(id)) {
+              const num = +id;
+              if (num >= 0 && num < MAX_SAFE_INTEGER) {
+                return num;
+              }
+            }
+            return id;
+          });
+        }
+        this.build = m[5] ? m[5].split(".") : [];
+        this.format();
+      }
+      format() {
+        this.version = `${this.major}.${this.minor}.${this.patch}`;
+        if (this.prerelease.length) {
+          this.version += `-${this.prerelease.join(".")}`;
+        }
+        return this.version;
+      }
+      toString() {
+        return this.version;
+      }
+      compare(other) {
+        debug4("SemVer.compare", this.version, this.options, other);
+        if (!(other instanceof _SemVer)) {
+          if (typeof other === "string" && other === this.version) {
+            return 0;
+          }
+          other = new _SemVer(other, this.options);
+        }
+        if (other.version === this.version) {
+          return 0;
+        }
+        return this.compareMain(other) || this.comparePre(other);
+      }
+      compareMain(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        if (this.major < other.major) {
+          return -1;
+        }
+        if (this.major > other.major) {
+          return 1;
+        }
+        if (this.minor < other.minor) {
+          return -1;
+        }
+        if (this.minor > other.minor) {
+          return 1;
+        }
+        if (this.patch < other.patch) {
+          return -1;
+        }
+        if (this.patch > other.patch) {
+          return 1;
+        }
+        return 0;
+      }
+      comparePre(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        if (this.prerelease.length && !other.prerelease.length) {
+          return -1;
+        } else if (!this.prerelease.length && other.prerelease.length) {
+          return 1;
+        } else if (!this.prerelease.length && !other.prerelease.length) {
+          return 0;
+        }
+        let i = 0;
+        do {
+          const a = this.prerelease[i];
+          const b = other.prerelease[i];
+          debug4("prerelease compare", i, a, b);
+          if (a === void 0 && b === void 0) {
+            return 0;
+          } else if (b === void 0) {
+            return 1;
+          } else if (a === void 0) {
+            return -1;
+          } else if (a === b) {
+            continue;
+          } else {
+            return compareIdentifiers(a, b);
+          }
+        } while (++i);
+      }
+      compareBuild(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        let i = 0;
+        do {
+          const a = this.build[i];
+          const b = other.build[i];
+          debug4("build compare", i, a, b);
+          if (a === void 0 && b === void 0) {
+            return 0;
+          } else if (b === void 0) {
+            return 1;
+          } else if (a === void 0) {
+            return -1;
+          } else if (a === b) {
+            continue;
+          } else {
+            return compareIdentifiers(a, b);
+          }
+        } while (++i);
+      }
+      // preminor will bump the version up to the next minor release, and immediately
+      // down to pre-release. premajor and prepatch work the same way.
+      inc(release, identifier, identifierBase) {
+        if (release.startsWith("pre")) {
+          if (!identifier && identifierBase === false) {
+            throw new Error("invalid increment argument: identifier is empty");
+          }
+          if (identifier) {
+            const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
+            if (!match || match[1] !== identifier) {
+              throw new Error(`invalid identifier: ${identifier}`);
+            }
+          }
+        }
+        switch (release) {
+          case "premajor":
+            this.prerelease.length = 0;
+            this.patch = 0;
+            this.minor = 0;
+            this.major++;
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "preminor":
+            this.prerelease.length = 0;
+            this.patch = 0;
+            this.minor++;
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "prepatch":
+            this.prerelease.length = 0;
+            this.inc("patch", identifier, identifierBase);
+            this.inc("pre", identifier, identifierBase);
+            break;
+          // If the input is a non-prerelease version, this acts the same as
+          // prepatch.
+          case "prerelease":
+            if (this.prerelease.length === 0) {
+              this.inc("patch", identifier, identifierBase);
+            }
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "release":
+            if (this.prerelease.length === 0) {
+              throw new Error(`version ${this.raw} is not a prerelease`);
+            }
+            this.prerelease.length = 0;
+            break;
+          case "major":
+            if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
+              this.major++;
+            }
+            this.minor = 0;
+            this.patch = 0;
+            this.prerelease = [];
+            break;
+          case "minor":
+            if (this.patch !== 0 || this.prerelease.length === 0) {
+              this.minor++;
+            }
+            this.patch = 0;
+            this.prerelease = [];
+            break;
+          case "patch":
+            if (this.prerelease.length === 0) {
+              this.patch++;
+            }
+            this.prerelease = [];
+            break;
+          // This probably shouldn't be used publicly.
+          // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
+          case "pre": {
+            const base = Number(identifierBase) ? 1 : 0;
+            if (this.prerelease.length === 0) {
+              this.prerelease = [base];
+            } else {
+              let i = this.prerelease.length;
+              while (--i >= 0) {
+                if (typeof this.prerelease[i] === "number") {
+                  this.prerelease[i]++;
+                  i = -2;
+                }
+              }
+              if (i === -1) {
+                if (identifier === this.prerelease.join(".") && identifierBase === false) {
+                  throw new Error("invalid increment argument: identifier already exists");
+                }
+                this.prerelease.push(base);
+              }
+            }
+            if (identifier) {
+              let prerelease = [identifier, base];
+              if (identifierBase === false) {
+                prerelease = [identifier];
+              }
+              if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
+                if (isNaN(this.prerelease[1])) {
+                  this.prerelease = prerelease;
+                }
+              } else {
+                this.prerelease = prerelease;
+              }
+            }
+            break;
+          }
+          default:
+            throw new Error(`invalid increment argument: ${release}`);
+        }
+        this.raw = this.format();
+        if (this.build.length) {
+          this.raw += `+${this.build.join(".")}`;
+        }
+        return this;
+      }
+    };
+    module2.exports = SemVer;
+  }
+});
+
+// node_modules/semver/functions/parse.js
+var require_parse3 = __commonJS({
+  "node_modules/semver/functions/parse.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var parse2 = (version, options, throwErrors = false) => {
+      if (version instanceof SemVer) {
+        return version;
+      }
+      try {
+        return new SemVer(version, options);
+      } catch (er) {
+        if (!throwErrors) {
+          return null;
+        }
+        throw er;
+      }
+    };
+    module2.exports = parse2;
+  }
+});
+
+// node_modules/semver/functions/valid.js
+var require_valid = __commonJS({
+  "node_modules/semver/functions/valid.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var valid3 = (version, options) => {
+      const v = parse2(version, options);
+      return v ? v.version : null;
+    };
+    module2.exports = valid3;
+  }
+});
+
+// node_modules/semver/functions/clean.js
+var require_clean = __commonJS({
+  "node_modules/semver/functions/clean.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var clean3 = (version, options) => {
+      const s = parse2(version.trim().replace(/^[=v]+/, ""), options);
+      return s ? s.version : null;
+    };
+    module2.exports = clean3;
+  }
+});
+
+// node_modules/semver/functions/inc.js
+var require_inc = __commonJS({
+  "node_modules/semver/functions/inc.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var inc = (version, release, options, identifier, identifierBase) => {
+      if (typeof options === "string") {
+        identifierBase = identifier;
+        identifier = options;
+        options = void 0;
+      }
+      try {
+        return new SemVer(
+          version instanceof SemVer ? version.version : version,
+          options
+        ).inc(release, identifier, identifierBase).version;
+      } catch (er) {
+        return null;
+      }
+    };
+    module2.exports = inc;
+  }
+});
+
+// node_modules/semver/functions/diff.js
+var require_diff = __commonJS({
+  "node_modules/semver/functions/diff.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var diff = (version1, version2) => {
+      const v1 = parse2(version1, null, true);
+      const v2 = parse2(version2, null, true);
+      const comparison = v1.compare(v2);
+      if (comparison === 0) {
+        return null;
+      }
+      const v1Higher = comparison > 0;
+      const highVersion = v1Higher ? v1 : v2;
+      const lowVersion = v1Higher ? v2 : v1;
+      const highHasPre = !!highVersion.prerelease.length;
+      const lowHasPre = !!lowVersion.prerelease.length;
+      if (lowHasPre && !highHasPre) {
+        if (!lowVersion.patch && !lowVersion.minor) {
+          return "major";
+        }
+        if (lowVersion.compareMain(highVersion) === 0) {
+          if (lowVersion.minor && !lowVersion.patch) {
+            return "minor";
+          }
+          return "patch";
+        }
+      }
+      const prefix = highHasPre ? "pre" : "";
+      if (v1.major !== v2.major) {
+        return prefix + "major";
+      }
+      if (v1.minor !== v2.minor) {
+        return prefix + "minor";
+      }
+      if (v1.patch !== v2.patch) {
+        return prefix + "patch";
+      }
+      return "prerelease";
+    };
+    module2.exports = diff;
+  }
+});
+
+// node_modules/semver/functions/major.js
+var require_major = __commonJS({
+  "node_modules/semver/functions/major.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var major = (a, loose) => new SemVer(a, loose).major;
+    module2.exports = major;
+  }
+});
+
+// node_modules/semver/functions/minor.js
+var require_minor = __commonJS({
+  "node_modules/semver/functions/minor.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var minor = (a, loose) => new SemVer(a, loose).minor;
+    module2.exports = minor;
+  }
+});
+
+// node_modules/semver/functions/patch.js
+var require_patch = __commonJS({
+  "node_modules/semver/functions/patch.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var patch = (a, loose) => new SemVer(a, loose).patch;
+    module2.exports = patch;
+  }
+});
+
+// node_modules/semver/functions/prerelease.js
+var require_prerelease = __commonJS({
+  "node_modules/semver/functions/prerelease.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var prerelease = (version, options) => {
+      const parsed = parse2(version, options);
+      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
+    };
+    module2.exports = prerelease;
+  }
+});
+
+// node_modules/semver/functions/compare.js
+var require_compare = __commonJS({
+  "node_modules/semver/functions/compare.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var compare2 = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
+    module2.exports = compare2;
+  }
+});
+
+// node_modules/semver/functions/rcompare.js
+var require_rcompare = __commonJS({
+  "node_modules/semver/functions/rcompare.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var rcompare = (a, b, loose) => compare2(b, a, loose);
+    module2.exports = rcompare;
+  }
+});
+
+// node_modules/semver/functions/compare-loose.js
+var require_compare_loose = __commonJS({
+  "node_modules/semver/functions/compare-loose.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var compareLoose = (a, b) => compare2(a, b, true);
+    module2.exports = compareLoose;
+  }
+});
+
+// node_modules/semver/functions/compare-build.js
+var require_compare_build = __commonJS({
+  "node_modules/semver/functions/compare-build.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var compareBuild = (a, b, loose) => {
+      const versionA = new SemVer(a, loose);
+      const versionB = new SemVer(b, loose);
+      return versionA.compare(versionB) || versionA.compareBuild(versionB);
+    };
+    module2.exports = compareBuild;
+  }
+});
+
+// node_modules/semver/functions/sort.js
+var require_sort = __commonJS({
+  "node_modules/semver/functions/sort.js"(exports2, module2) {
+    "use strict";
+    var compareBuild = require_compare_build();
+    var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
+    module2.exports = sort;
+  }
+});
+
+// node_modules/semver/functions/rsort.js
+var require_rsort = __commonJS({
+  "node_modules/semver/functions/rsort.js"(exports2, module2) {
+    "use strict";
+    var compareBuild = require_compare_build();
+    var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
+    module2.exports = rsort;
+  }
+});
+
+// node_modules/semver/functions/gt.js
+var require_gt = __commonJS({
+  "node_modules/semver/functions/gt.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var gt = (a, b, loose) => compare2(a, b, loose) > 0;
+    module2.exports = gt;
+  }
+});
+
+// node_modules/semver/functions/lt.js
+var require_lt = __commonJS({
+  "node_modules/semver/functions/lt.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var lt = (a, b, loose) => compare2(a, b, loose) < 0;
+    module2.exports = lt;
+  }
+});
+
+// node_modules/semver/functions/eq.js
+var require_eq = __commonJS({
+  "node_modules/semver/functions/eq.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var eq = (a, b, loose) => compare2(a, b, loose) === 0;
+    module2.exports = eq;
+  }
+});
+
+// node_modules/semver/functions/neq.js
+var require_neq = __commonJS({
+  "node_modules/semver/functions/neq.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var neq = (a, b, loose) => compare2(a, b, loose) !== 0;
+    module2.exports = neq;
+  }
+});
+
+// node_modules/semver/functions/gte.js
+var require_gte = __commonJS({
+  "node_modules/semver/functions/gte.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
+    module2.exports = gte6;
+  }
+});
+
+// node_modules/semver/functions/lte.js
+var require_lte = __commonJS({
+  "node_modules/semver/functions/lte.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var lte = (a, b, loose) => compare2(a, b, loose) <= 0;
+    module2.exports = lte;
+  }
+});
+
+// node_modules/semver/functions/cmp.js
+var require_cmp = __commonJS({
+  "node_modules/semver/functions/cmp.js"(exports2, module2) {
+    "use strict";
+    var eq = require_eq();
+    var neq = require_neq();
+    var gt = require_gt();
+    var gte6 = require_gte();
+    var lt = require_lt();
+    var lte = require_lte();
+    var cmp = (a, op, b, loose) => {
+      switch (op) {
+        case "===":
+          if (typeof a === "object") {
+            a = a.version;
+          }
+          if (typeof b === "object") {
+            b = b.version;
+          }
+          return a === b;
+        case "!==":
+          if (typeof a === "object") {
+            a = a.version;
+          }
+          if (typeof b === "object") {
+            b = b.version;
+          }
+          return a !== b;
+        case "":
+        case "=":
+        case "==":
+          return eq(a, b, loose);
+        case "!=":
+          return neq(a, b, loose);
+        case ">":
+          return gt(a, b, loose);
+        case ">=":
+          return gte6(a, b, loose);
+        case "<":
+          return lt(a, b, loose);
+        case "<=":
+          return lte(a, b, loose);
+        default:
+          throw new TypeError(`Invalid operator: ${op}`);
+      }
+    };
+    module2.exports = cmp;
+  }
+});
+
+// node_modules/semver/functions/coerce.js
+var require_coerce = __commonJS({
+  "node_modules/semver/functions/coerce.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var parse2 = require_parse3();
+    var { safeRe: re, t } = require_re();
+    var coerce3 = (version, options) => {
+      if (version instanceof SemVer) {
+        return version;
+      }
+      if (typeof version === "number") {
+        version = String(version);
+      }
+      if (typeof version !== "string") {
+        return null;
+      }
+      options = options || {};
+      let match = null;
+      if (!options.rtl) {
+        match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
+      } else {
+        const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
+        let next;
+        while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
+          if (!match || next.index + next[0].length !== match.index + match[0].length) {
+            match = next;
+          }
+          coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
+        }
+        coerceRtlRegex.lastIndex = -1;
+      }
+      if (match === null) {
+        return null;
+      }
+      const major = match[2];
+      const minor = match[3] || "0";
+      const patch = match[4] || "0";
+      const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
+      const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
+      return parse2(`${major}.${minor}.${patch}${prerelease}${build}`, options);
+    };
+    module2.exports = coerce3;
+  }
+});
+
+// node_modules/semver/internal/lrucache.js
+var require_lrucache = __commonJS({
+  "node_modules/semver/internal/lrucache.js"(exports2, module2) {
+    "use strict";
+    var LRUCache = class {
+      constructor() {
+        this.max = 1e3;
+        this.map = /* @__PURE__ */ new Map();
+      }
+      get(key) {
+        const value = this.map.get(key);
+        if (value === void 0) {
+          return void 0;
+        } else {
+          this.map.delete(key);
+          this.map.set(key, value);
+          return value;
+        }
+      }
+      delete(key) {
+        return this.map.delete(key);
+      }
+      set(key, value) {
+        const deleted = this.delete(key);
+        if (!deleted && value !== void 0) {
+          if (this.map.size >= this.max) {
+            const firstKey = this.map.keys().next().value;
+            this.delete(firstKey);
+          }
+          this.map.set(key, value);
+        }
+        return this;
+      }
+    };
+    module2.exports = LRUCache;
+  }
+});
+
+// node_modules/semver/classes/range.js
+var require_range = __commonJS({
+  "node_modules/semver/classes/range.js"(exports2, module2) {
+    "use strict";
+    var SPACE_CHARACTERS = /\s+/g;
+    var Range2 = class _Range {
+      constructor(range, options) {
+        options = parseOptions(options);
+        if (range instanceof _Range) {
+          if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
+            return range;
+          } else {
+            return new _Range(range.raw, options);
+          }
+        }
+        if (range instanceof Comparator) {
+          this.raw = range.value;
+          this.set = [[range]];
+          this.formatted = void 0;
+          return this;
+        }
+        this.options = options;
+        this.loose = !!options.loose;
+        this.includePrerelease = !!options.includePrerelease;
+        this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
+        this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
+        if (!this.set.length) {
+          throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
+        }
+        if (this.set.length > 1) {
+          const first = this.set[0];
+          this.set = this.set.filter((c) => !isNullSet(c[0]));
+          if (this.set.length === 0) {
+            this.set = [first];
+          } else if (this.set.length > 1) {
+            for (const c of this.set) {
+              if (c.length === 1 && isAny(c[0])) {
+                this.set = [c];
+                break;
+              }
+            }
+          }
+        }
+        this.formatted = void 0;
+      }
+      get range() {
+        if (this.formatted === void 0) {
+          this.formatted = "";
+          for (let i = 0; i < this.set.length; i++) {
+            if (i > 0) {
+              this.formatted += "||";
+            }
+            const comps = this.set[i];
+            for (let k = 0; k < comps.length; k++) {
+              if (k > 0) {
+                this.formatted += " ";
+              }
+              this.formatted += comps[k].toString().trim();
+            }
+          }
+        }
+        return this.formatted;
+      }
+      format() {
+        return this.range;
+      }
+      toString() {
+        return this.range;
+      }
+      parseRange(range) {
+        const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
+        const memoKey = memoOpts + ":" + range;
+        const cached = cache.get(memoKey);
+        if (cached) {
+          return cached;
+        }
+        const loose = this.options.loose;
+        const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
+        range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
+        debug4("hyphen replace", range);
+        range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
+        debug4("comparator trim", range);
+        range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
+        debug4("tilde trim", range);
+        range = range.replace(re[t.CARETTRIM], caretTrimReplace);
+        debug4("caret trim", range);
+        let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
+        if (loose) {
+          rangeList = rangeList.filter((comp) => {
+            debug4("loose invalid filter", comp, this.options);
+            return !!comp.match(re[t.COMPARATORLOOSE]);
+          });
+        }
+        debug4("range list", rangeList);
+        const rangeMap = /* @__PURE__ */ new Map();
+        const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
+        for (const comp of comparators) {
+          if (isNullSet(comp)) {
+            return [comp];
+          }
+          rangeMap.set(comp.value, comp);
+        }
+        if (rangeMap.size > 1 && rangeMap.has("")) {
+          rangeMap.delete("");
+        }
+        const result = [...rangeMap.values()];
+        cache.set(memoKey, result);
+        return result;
+      }
+      intersects(range, options) {
+        if (!(range instanceof _Range)) {
+          throw new TypeError("a Range is required");
+        }
+        return this.set.some((thisComparators) => {
+          return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
+            return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
+              return rangeComparators.every((rangeComparator) => {
+                return thisComparator.intersects(rangeComparator, options);
+              });
+            });
+          });
+        });
+      }
+      // if ANY of the sets match ALL of its comparators, then pass
+      test(version) {
+        if (!version) {
+          return false;
+        }
+        if (typeof version === "string") {
+          try {
+            version = new SemVer(version, this.options);
+          } catch (er) {
+            return false;
+          }
+        }
+        for (let i = 0; i < this.set.length; i++) {
+          if (testSet(this.set[i], version, this.options)) {
+            return true;
+          }
+        }
+        return false;
+      }
+    };
+    module2.exports = Range2;
+    var LRU = require_lrucache();
+    var cache = new LRU();
+    var parseOptions = require_parse_options();
+    var Comparator = require_comparator();
+    var debug4 = require_debug();
+    var SemVer = require_semver();
+    var {
+      safeRe: re,
+      t,
+      comparatorTrimReplace,
+      tildeTrimReplace,
+      caretTrimReplace
+    } = require_re();
+    var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants11();
+    var isNullSet = (c) => c.value === "<0.0.0-0";
+    var isAny = (c) => c.value === "";
+    var isSatisfiable = (comparators, options) => {
+      let result = true;
+      const remainingComparators = comparators.slice();
+      let testComparator = remainingComparators.pop();
+      while (result && remainingComparators.length) {
+        result = remainingComparators.every((otherComparator) => {
+          return testComparator.intersects(otherComparator, options);
+        });
+        testComparator = remainingComparators.pop();
+      }
+      return result;
+    };
+    var parseComparator = (comp, options) => {
+      comp = comp.replace(re[t.BUILD], "");
+      debug4("comp", comp, options);
+      comp = replaceCarets(comp, options);
+      debug4("caret", comp);
+      comp = replaceTildes(comp, options);
+      debug4("tildes", comp);
+      comp = replaceXRanges(comp, options);
+      debug4("xrange", comp);
+      comp = replaceStars(comp, options);
+      debug4("stars", comp);
+      return comp;
+    };
+    var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
+    var replaceTildes = (comp, options) => {
+      return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
+    };
+    var replaceTilde = (comp, options) => {
+      const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
+      return comp.replace(r, (_2, M, m, p, pr) => {
+        debug4("tilde", comp, _2, M, m, p, pr);
+        let ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
+        } else if (isX(p)) {
+          ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
+        } else if (pr) {
+          debug4("replaceTilde pr", pr);
+          ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
+        } else {
+          ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
+        }
+        debug4("tilde return", ret);
+        return ret;
+      });
+    };
+    var replaceCarets = (comp, options) => {
+      return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
+    };
+    var replaceCaret = (comp, options) => {
+      debug4("caret", comp, options);
+      const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
+      const z = options.includePrerelease ? "-0" : "";
+      return comp.replace(r, (_2, M, m, p, pr) => {
+        debug4("caret", comp, _2, M, m, p, pr);
+        let ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
+        } else if (isX(p)) {
+          if (M === "0") {
+            ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
+          } else {
+            ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
+          }
+        } else if (pr) {
+          debug4("replaceCaret pr", pr);
+          if (M === "0") {
+            if (m === "0") {
+              ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
+            } else {
+              ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
+            }
+          } else {
+            ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
+          }
+        } else {
+          debug4("no pr");
+          if (M === "0") {
+            if (m === "0") {
+              ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
+            } else {
+              ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
+            }
+          } else {
+            ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
+          }
+        }
+        debug4("caret return", ret);
+        return ret;
+      });
+    };
+    var replaceXRanges = (comp, options) => {
+      debug4("replaceXRanges", comp, options);
+      return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
+    };
+    var replaceXRange = (comp, options) => {
+      comp = comp.trim();
+      const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
+      return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
+        debug4("xRange", comp, ret, gtlt, M, m, p, pr);
+        const xM = isX(M);
+        const xm = xM || isX(m);
+        const xp = xm || isX(p);
+        const anyX = xp;
+        if (gtlt === "=" && anyX) {
+          gtlt = "";
+        }
+        pr = options.includePrerelease ? "-0" : "";
+        if (xM) {
+          if (gtlt === ">" || gtlt === "<") {
+            ret = "<0.0.0-0";
+          } else {
+            ret = "*";
+          }
+        } else if (gtlt && anyX) {
+          if (xm) {
+            m = 0;
+          }
+          p = 0;
+          if (gtlt === ">") {
+            gtlt = ">=";
+            if (xm) {
+              M = +M + 1;
+              m = 0;
+              p = 0;
+            } else {
+              m = +m + 1;
+              p = 0;
+            }
+          } else if (gtlt === "<=") {
+            gtlt = "<";
+            if (xm) {
+              M = +M + 1;
+            } else {
+              m = +m + 1;
+            }
+          }
+          if (gtlt === "<") {
+            pr = "-0";
+          }
+          ret = `${gtlt + M}.${m}.${p}${pr}`;
+        } else if (xm) {
+          ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
+        } else if (xp) {
+          ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
+        }
+        debug4("xRange return", ret);
+        return ret;
+      });
+    };
+    var replaceStars = (comp, options) => {
+      debug4("replaceStars", comp, options);
+      return comp.trim().replace(re[t.STAR], "");
+    };
+    var replaceGTE0 = (comp, options) => {
+      debug4("replaceGTE0", comp, options);
+      return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
+    };
+    var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
+      if (isX(fM)) {
+        from = "";
+      } else if (isX(fm)) {
+        from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
+      } else if (isX(fp)) {
+        from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
+      } else if (fpr) {
+        from = `>=${from}`;
+      } else {
+        from = `>=${from}${incPr ? "-0" : ""}`;
+      }
+      if (isX(tM)) {
+        to = "";
+      } else if (isX(tm)) {
+        to = `<${+tM + 1}.0.0-0`;
+      } else if (isX(tp)) {
+        to = `<${tM}.${+tm + 1}.0-0`;
+      } else if (tpr) {
+        to = `<=${tM}.${tm}.${tp}-${tpr}`;
+      } else if (incPr) {
+        to = `<${tM}.${tm}.${+tp + 1}-0`;
+      } else {
+        to = `<=${to}`;
+      }
+      return `${from} ${to}`.trim();
+    };
+    var testSet = (set2, version, options) => {
+      for (let i = 0; i < set2.length; i++) {
+        if (!set2[i].test(version)) {
+          return false;
+        }
+      }
+      if (version.prerelease.length && !options.includePrerelease) {
+        for (let i = 0; i < set2.length; i++) {
+          debug4(set2[i].semver);
+          if (set2[i].semver === Comparator.ANY) {
+            continue;
+          }
+          if (set2[i].semver.prerelease.length > 0) {
+            const allowed = set2[i].semver;
+            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
+              return true;
+            }
+          }
+        }
+        return false;
+      }
+      return true;
+    };
+  }
+});
+
+// node_modules/semver/classes/comparator.js
+var require_comparator = __commonJS({
+  "node_modules/semver/classes/comparator.js"(exports2, module2) {
+    "use strict";
+    var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
+    var Comparator = class _Comparator {
+      static get ANY() {
+        return ANY;
+      }
+      constructor(comp, options) {
+        options = parseOptions(options);
+        if (comp instanceof _Comparator) {
+          if (comp.loose === !!options.loose) {
+            return comp;
+          } else {
+            comp = comp.value;
+          }
+        }
+        comp = comp.trim().split(/\s+/).join(" ");
+        debug4("comparator", comp, options);
+        this.options = options;
+        this.loose = !!options.loose;
+        this.parse(comp);
+        if (this.semver === ANY) {
+          this.value = "";
+        } else {
+          this.value = this.operator + this.semver.version;
+        }
+        debug4("comp", this);
+      }
+      parse(comp) {
+        const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
+        const m = comp.match(r);
+        if (!m) {
+          throw new TypeError(`Invalid comparator: ${comp}`);
+        }
+        this.operator = m[1] !== void 0 ? m[1] : "";
+        if (this.operator === "=") {
+          this.operator = "";
+        }
+        if (!m[2]) {
+          this.semver = ANY;
+        } else {
+          this.semver = new SemVer(m[2], this.options.loose);
+        }
+      }
+      toString() {
+        return this.value;
+      }
+      test(version) {
+        debug4("Comparator.test", version, this.options.loose);
+        if (this.semver === ANY || version === ANY) {
+          return true;
+        }
+        if (typeof version === "string") {
+          try {
+            version = new SemVer(version, this.options);
+          } catch (er) {
+            return false;
+          }
+        }
+        return cmp(version, this.operator, this.semver, this.options);
+      }
+      intersects(comp, options) {
+        if (!(comp instanceof _Comparator)) {
+          throw new TypeError("a Comparator is required");
+        }
+        if (this.operator === "") {
+          if (this.value === "") {
+            return true;
+          }
+          return new Range2(comp.value, options).test(this.value);
+        } else if (comp.operator === "") {
+          if (comp.value === "") {
+            return true;
+          }
+          return new Range2(this.value, options).test(comp.semver);
+        }
+        options = parseOptions(options);
+        if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
+          return false;
+        }
+        if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
+          return false;
+        }
+        if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
+          return true;
+        }
+        if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
+          return true;
+        }
+        if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
+          return true;
+        }
+        if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
+          return true;
+        }
+        if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
+          return true;
+        }
+        return false;
+      }
+    };
+    module2.exports = Comparator;
+    var parseOptions = require_parse_options();
+    var { safeRe: re, t } = require_re();
+    var cmp = require_cmp();
+    var debug4 = require_debug();
+    var SemVer = require_semver();
+    var Range2 = require_range();
+  }
+});
+
+// node_modules/semver/functions/satisfies.js
+var require_satisfies = __commonJS({
+  "node_modules/semver/functions/satisfies.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var satisfies2 = (version, range, options) => {
+      try {
+        range = new Range2(range, options);
+      } catch (er) {
+        return false;
+      }
+      return range.test(version);
+    };
+    module2.exports = satisfies2;
+  }
+});
+
+// node_modules/semver/ranges/to-comparators.js
+var require_to_comparators = __commonJS({
+  "node_modules/semver/ranges/to-comparators.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var toComparators = (range, options) => new Range2(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
+    module2.exports = toComparators;
+  }
+});
+
+// node_modules/semver/ranges/max-satisfying.js
+var require_max_satisfying = __commonJS({
+  "node_modules/semver/ranges/max-satisfying.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var maxSatisfying = (versions, range, options) => {
+      let max = null;
+      let maxSV = null;
+      let rangeObj = null;
+      try {
+        rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
+      }
+      versions.forEach((v) => {
+        if (rangeObj.test(v)) {
+          if (!max || maxSV.compare(v) === -1) {
+            max = v;
+            maxSV = new SemVer(max, options);
+          }
+        }
+      });
+      return max;
+    };
+    module2.exports = maxSatisfying;
+  }
+});
+
+// node_modules/semver/ranges/min-satisfying.js
+var require_min_satisfying = __commonJS({
+  "node_modules/semver/ranges/min-satisfying.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var minSatisfying = (versions, range, options) => {
+      let min = null;
+      let minSV = null;
+      let rangeObj = null;
+      try {
+        rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
+      }
+      versions.forEach((v) => {
+        if (rangeObj.test(v)) {
+          if (!min || minSV.compare(v) === 1) {
+            min = v;
+            minSV = new SemVer(min, options);
+          }
+        }
+      });
+      return min;
+    };
+    module2.exports = minSatisfying;
+  }
+});
+
+// node_modules/semver/ranges/min-version.js
+var require_min_version = __commonJS({
+  "node_modules/semver/ranges/min-version.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var gt = require_gt();
+    var minVersion = (range, loose) => {
+      range = new Range2(range, loose);
+      let minver = new SemVer("0.0.0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = new SemVer("0.0.0-0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = null;
+      for (let i = 0; i < range.set.length; ++i) {
+        const comparators = range.set[i];
+        let setMin = null;
+        comparators.forEach((comparator) => {
+          const compver = new SemVer(comparator.semver.version);
+          switch (comparator.operator) {
+            case ">":
+              if (compver.prerelease.length === 0) {
+                compver.patch++;
+              } else {
+                compver.prerelease.push(0);
+              }
+              compver.raw = compver.format();
+            /* fallthrough */
+            case "":
+            case ">=":
+              if (!setMin || gt(compver, setMin)) {
+                setMin = compver;
+              }
+              break;
+            case "<":
+            case "<=":
+              break;
+            /* istanbul ignore next */
+            default:
+              throw new Error(`Unexpected operation: ${comparator.operator}`);
+          }
+        });
+        if (setMin && (!minver || gt(minver, setMin))) {
+          minver = setMin;
+        }
+      }
+      if (minver && range.test(minver)) {
+        return minver;
+      }
+      return null;
+    };
+    module2.exports = minVersion;
+  }
+});
+
+// node_modules/semver/ranges/valid.js
+var require_valid2 = __commonJS({
+  "node_modules/semver/ranges/valid.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var validRange = (range, options) => {
+      try {
+        return new Range2(range, options).range || "*";
+      } catch (er) {
+        return null;
+      }
+    };
+    module2.exports = validRange;
+  }
+});
+
+// node_modules/semver/ranges/outside.js
+var require_outside = __commonJS({
+  "node_modules/semver/ranges/outside.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Comparator = require_comparator();
+    var { ANY } = Comparator;
+    var Range2 = require_range();
+    var satisfies2 = require_satisfies();
+    var gt = require_gt();
+    var lt = require_lt();
+    var lte = require_lte();
+    var gte6 = require_gte();
+    var outside = (version, range, hilo, options) => {
+      version = new SemVer(version, options);
+      range = new Range2(range, options);
+      let gtfn, ltefn, ltfn, comp, ecomp;
+      switch (hilo) {
+        case ">":
+          gtfn = gt;
+          ltefn = lte;
+          ltfn = lt;
+          comp = ">";
+          ecomp = ">=";
+          break;
+        case "<":
+          gtfn = lt;
+          ltefn = gte6;
+          ltfn = gt;
+          comp = "<";
+          ecomp = "<=";
+          break;
+        default:
+          throw new TypeError('Must provide a hilo val of "<" or ">"');
+      }
+      if (satisfies2(version, range, options)) {
+        return false;
+      }
+      for (let i = 0; i < range.set.length; ++i) {
+        const comparators = range.set[i];
+        let high = null;
+        let low = null;
+        comparators.forEach((comparator) => {
+          if (comparator.semver === ANY) {
+            comparator = new Comparator(">=0.0.0");
+          }
+          high = high || comparator;
+          low = low || comparator;
+          if (gtfn(comparator.semver, high.semver, options)) {
+            high = comparator;
+          } else if (ltfn(comparator.semver, low.semver, options)) {
+            low = comparator;
+          }
+        });
+        if (high.operator === comp || high.operator === ecomp) {
+          return false;
+        }
+        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
+          return false;
+        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
+          return false;
+        }
+      }
+      return true;
+    };
+    module2.exports = outside;
+  }
+});
+
+// node_modules/semver/ranges/gtr.js
+var require_gtr = __commonJS({
+  "node_modules/semver/ranges/gtr.js"(exports2, module2) {
+    "use strict";
+    var outside = require_outside();
+    var gtr = (version, range, options) => outside(version, range, ">", options);
+    module2.exports = gtr;
+  }
+});
+
+// node_modules/semver/ranges/ltr.js
+var require_ltr = __commonJS({
+  "node_modules/semver/ranges/ltr.js"(exports2, module2) {
+    "use strict";
+    var outside = require_outside();
+    var ltr = (version, range, options) => outside(version, range, "<", options);
+    module2.exports = ltr;
+  }
+});
+
+// node_modules/semver/ranges/intersects.js
+var require_intersects = __commonJS({
+  "node_modules/semver/ranges/intersects.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var intersects = (r1, r2, options) => {
+      r1 = new Range2(r1, options);
+      r2 = new Range2(r2, options);
+      return r1.intersects(r2, options);
+    };
+    module2.exports = intersects;
+  }
+});
+
+// node_modules/semver/ranges/simplify.js
+var require_simplify = __commonJS({
+  "node_modules/semver/ranges/simplify.js"(exports2, module2) {
+    "use strict";
+    var satisfies2 = require_satisfies();
+    var compare2 = require_compare();
+    module2.exports = (versions, range, options) => {
+      const set2 = [];
+      let first = null;
+      let prev = null;
+      const v = versions.sort((a, b) => compare2(a, b, options));
+      for (const version of v) {
+        const included = satisfies2(version, range, options);
+        if (included) {
+          prev = version;
+          if (!first) {
+            first = version;
+          }
+        } else {
+          if (prev) {
+            set2.push([first, prev]);
+          }
+          prev = null;
+          first = null;
+        }
+      }
+      if (first) {
+        set2.push([first, null]);
+      }
+      const ranges = [];
+      for (const [min, max] of set2) {
+        if (min === max) {
+          ranges.push(min);
+        } else if (!max && min === v[0]) {
+          ranges.push("*");
+        } else if (!max) {
+          ranges.push(`>=${min}`);
+        } else if (min === v[0]) {
+          ranges.push(`<=${max}`);
+        } else {
+          ranges.push(`${min} - ${max}`);
+        }
+      }
+      const simplified = ranges.join(" || ");
+      const original = typeof range.raw === "string" ? range.raw : String(range);
+      return simplified.length < original.length ? simplified : range;
+    };
+  }
+});
+
+// node_modules/semver/ranges/subset.js
+var require_subset = __commonJS({
+  "node_modules/semver/ranges/subset.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var Comparator = require_comparator();
+    var { ANY } = Comparator;
+    var satisfies2 = require_satisfies();
+    var compare2 = require_compare();
+    var subset = (sub, dom, options = {}) => {
+      if (sub === dom) {
+        return true;
+      }
+      sub = new Range2(sub, options);
+      dom = new Range2(dom, options);
+      let sawNonNull = false;
+      OUTER: for (const simpleSub of sub.set) {
+        for (const simpleDom of dom.set) {
+          const isSub = simpleSubset(simpleSub, simpleDom, options);
+          sawNonNull = sawNonNull || isSub !== null;
+          if (isSub) {
+            continue OUTER;
+          }
+        }
+        if (sawNonNull) {
+          return false;
+        }
+      }
+      return true;
+    };
+    var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
+    var minimumVersion2 = [new Comparator(">=0.0.0")];
+    var simpleSubset = (sub, dom, options) => {
+      if (sub === dom) {
+        return true;
+      }
+      if (sub.length === 1 && sub[0].semver === ANY) {
+        if (dom.length === 1 && dom[0].semver === ANY) {
+          return true;
+        } else if (options.includePrerelease) {
+          sub = minimumVersionWithPreRelease;
+        } else {
+          sub = minimumVersion2;
+        }
+      }
+      if (dom.length === 1 && dom[0].semver === ANY) {
+        if (options.includePrerelease) {
+          return true;
+        } else {
+          dom = minimumVersion2;
+        }
+      }
+      const eqSet = /* @__PURE__ */ new Set();
+      let gt, lt;
+      for (const c of sub) {
+        if (c.operator === ">" || c.operator === ">=") {
+          gt = higherGT(gt, c, options);
+        } else if (c.operator === "<" || c.operator === "<=") {
+          lt = lowerLT(lt, c, options);
+        } else {
+          eqSet.add(c.semver);
+        }
+      }
+      if (eqSet.size > 1) {
+        return null;
+      }
+      let gtltComp;
+      if (gt && lt) {
+        gtltComp = compare2(gt.semver, lt.semver, options);
+        if (gtltComp > 0) {
+          return null;
+        } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
+          return null;
+        }
+      }
+      for (const eq of eqSet) {
+        if (gt && !satisfies2(eq, String(gt), options)) {
+          return null;
+        }
+        if (lt && !satisfies2(eq, String(lt), options)) {
+          return null;
+        }
+        for (const c of dom) {
+          if (!satisfies2(eq, String(c), options)) {
+            return false;
+          }
+        }
+        return true;
+      }
+      let higher, lower;
+      let hasDomLT, hasDomGT;
+      let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
+      let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
+      if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
+        needDomLTPre = false;
+      }
+      for (const c of dom) {
+        hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
+        hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
+        if (gt) {
+          if (needDomGTPre) {
+            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
+              needDomGTPre = false;
+            }
+          }
+          if (c.operator === ">" || c.operator === ">=") {
+            higher = higherGT(gt, c, options);
+            if (higher === c && higher !== gt) {
+              return false;
+            }
+          } else if (gt.operator === ">=" && !satisfies2(gt.semver, String(c), options)) {
+            return false;
+          }
+        }
+        if (lt) {
+          if (needDomLTPre) {
+            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
+              needDomLTPre = false;
+            }
+          }
+          if (c.operator === "<" || c.operator === "<=") {
+            lower = lowerLT(lt, c, options);
+            if (lower === c && lower !== lt) {
+              return false;
+            }
+          } else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
+            return false;
+          }
+        }
+        if (!c.operator && (lt || gt) && gtltComp !== 0) {
+          return false;
+        }
+      }
+      if (gt && hasDomLT && !lt && gtltComp !== 0) {
+        return false;
+      }
+      if (lt && hasDomGT && !gt && gtltComp !== 0) {
+        return false;
+      }
+      if (needDomGTPre || needDomLTPre) {
+        return false;
+      }
+      return true;
+    };
+    var higherGT = (a, b, options) => {
+      if (!a) {
+        return b;
+      }
+      const comp = compare2(a.semver, b.semver, options);
+      return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
+    };
+    var lowerLT = (a, b, options) => {
+      if (!a) {
+        return b;
+      }
+      const comp = compare2(a.semver, b.semver, options);
+      return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
+    };
+    module2.exports = subset;
+  }
+});
+
+// node_modules/semver/index.js
+var require_semver2 = __commonJS({
+  "node_modules/semver/index.js"(exports2, module2) {
+    "use strict";
+    var internalRe = require_re();
+    var constants = require_constants11();
+    var SemVer = require_semver();
+    var identifiers = require_identifiers();
+    var parse2 = require_parse3();
+    var valid3 = require_valid();
+    var clean3 = require_clean();
+    var inc = require_inc();
+    var diff = require_diff();
+    var major = require_major();
+    var minor = require_minor();
+    var patch = require_patch();
+    var prerelease = require_prerelease();
+    var compare2 = require_compare();
+    var rcompare = require_rcompare();
+    var compareLoose = require_compare_loose();
+    var compareBuild = require_compare_build();
+    var sort = require_sort();
+    var rsort = require_rsort();
+    var gt = require_gt();
+    var lt = require_lt();
+    var eq = require_eq();
+    var neq = require_neq();
+    var gte6 = require_gte();
+    var lte = require_lte();
+    var cmp = require_cmp();
+    var coerce3 = require_coerce();
+    var Comparator = require_comparator();
+    var Range2 = require_range();
+    var satisfies2 = require_satisfies();
+    var toComparators = require_to_comparators();
+    var maxSatisfying = require_max_satisfying();
+    var minSatisfying = require_min_satisfying();
+    var minVersion = require_min_version();
+    var validRange = require_valid2();
+    var outside = require_outside();
+    var gtr = require_gtr();
+    var ltr = require_ltr();
+    var intersects = require_intersects();
+    var simplifyRange = require_simplify();
+    var subset = require_subset();
+    module2.exports = {
+      parse: parse2,
+      valid: valid3,
+      clean: clean3,
+      inc,
+      diff,
+      major,
+      minor,
+      patch,
+      prerelease,
+      compare: compare2,
+      rcompare,
+      compareLoose,
+      compareBuild,
+      sort,
+      rsort,
+      gt,
+      lt,
+      eq,
+      neq,
+      gte: gte6,
+      lte,
+      cmp,
+      coerce: coerce3,
+      Comparator,
+      Range: Range2,
+      satisfies: satisfies2,
+      toComparators,
+      maxSatisfying,
+      minSatisfying,
+      minVersion,
+      validRange,
+      outside,
+      gtr,
+      ltr,
+      intersects,
+      simplifyRange,
+      subset,
+      SemVer,
+      re: internalRe.re,
+      src: internalRe.src,
+      tokens: internalRe.t,
+      SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
+      RELEASE_TYPES: constants.RELEASE_TYPES,
+      compareIdentifiers: identifiers.compareIdentifiers,
+      rcompareIdentifiers: identifiers.rcompareIdentifiers
+    };
+  }
+});
+
+// package.json
+var require_package = __commonJS({
+  "package.json"(exports2, module2) {
+    module2.exports = {
+      name: "codeql",
+      version: "4.32.2",
+      private: true,
+      description: "CodeQL action",
+      scripts: {
+        _build_comment: "echo 'Run the full build so we typecheck the project and can reuse the transpiled files in npm test'",
+        build: "./scripts/check-node-modules.sh && npm run transpile && node build.mjs",
+        lint: "eslint --report-unused-disable-directives --max-warnings=0 .",
+        "lint-ci": "SARIF_ESLINT_IGNORE_SUPPRESSED=true eslint --report-unused-disable-directives --max-warnings=0 . --format @microsoft/eslint-formatter-sarif --output-file=eslint.sarif",
+        "lint-fix": "eslint --report-unused-disable-directives --max-warnings=0 . --fix",
+        ava: "npm run transpile && ava --serial --verbose",
+        test: "npm run ava -- src/",
+        "test-debug": "npm run test -- --timeout=20m",
+        transpile: "tsc --build --verbose"
       },
-      search: {
-        code: ["GET /search/code"],
-        commits: ["GET /search/commits"],
-        issuesAndPullRequests: ["GET /search/issues"],
-        labels: ["GET /search/labels"],
-        repos: ["GET /search/repositories"],
-        topics: ["GET /search/topics"],
-        users: ["GET /search/users"]
+      ava: {
+        typescript: {
+          rewritePaths: {
+            "src/": "build/"
+          },
+          compile: false
+        }
       },
-      secretScanning: {
-        createPushProtectionBypass: [
-          "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"
-        ],
-        getAlert: [
-          "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
-        ],
-        getScanHistory: ["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],
-        listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"],
-        listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"],
-        listLocationsForAlert: [
-          "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"
-        ],
-        listOrgPatternConfigs: [
-          "GET /orgs/{org}/secret-scanning/pattern-configurations"
-        ],
-        updateAlert: [
-          "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
-        ],
-        updateOrgPatternConfigs: [
-          "PATCH /orgs/{org}/secret-scanning/pattern-configurations"
-        ]
+      license: "MIT",
+      dependencies: {
+        "@actions/artifact": "^5.0.3",
+        "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
+        "@actions/cache": "^5.0.5",
+        "@actions/core": "^2.0.3",
+        "@actions/exec": "^2.0.0",
+        "@actions/github": "^8.0.1",
+        "@actions/glob": "^0.5.0",
+        "@actions/http-client": "^3.0.0",
+        "@actions/io": "^2.0.0",
+        "@actions/tool-cache": "^3.0.1",
+        "@octokit/plugin-retry": "^8.0.0",
+        "@schemastore/package": "0.0.10",
+        archiver: "^7.0.1",
+        "fast-deep-equal": "^3.1.3",
+        "follow-redirects": "^1.15.11",
+        "get-folder-size": "^5.0.0",
+        "js-yaml": "^4.1.1",
+        jsonschema: "1.4.1",
+        long: "^5.3.2",
+        "node-forge": "^1.3.3",
+        semver: "^7.7.3",
+        uuid: "^13.0.0"
       },
-      securityAdvisories: {
-        createFork: [
-          "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"
-        ],
-        createPrivateVulnerabilityReport: [
-          "POST /repos/{owner}/{repo}/security-advisories/reports"
-        ],
-        createRepositoryAdvisory: [
-          "POST /repos/{owner}/{repo}/security-advisories"
-        ],
-        createRepositoryAdvisoryCveRequest: [
-          "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"
-        ],
-        getGlobalAdvisory: ["GET /advisories/{ghsa_id}"],
-        getRepositoryAdvisory: [
-          "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
-        ],
-        listGlobalAdvisories: ["GET /advisories"],
-        listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"],
-        listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"],
-        updateRepositoryAdvisory: [
-          "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
-        ]
+      devDependencies: {
+        "@ava/typescript": "6.0.0",
+        "@eslint/compat": "^2.0.1",
+        "@eslint/eslintrc": "^3.3.3",
+        "@eslint/js": "^9.39.2",
+        "@microsoft/eslint-formatter-sarif": "^3.1.0",
+        "@octokit/types": "^16.0.0",
+        "@types/archiver": "^7.0.0",
+        "@types/follow-redirects": "^1.14.4",
+        "@types/js-yaml": "^4.0.9",
+        "@types/node": "^20.19.9",
+        "@types/node-forge": "^1.3.14",
+        "@types/semver": "^7.7.1",
+        "@types/sinon": "^21.0.0",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
+        "@typescript-eslint/parser": "^8.48.0",
+        ava: "^6.4.1",
+        esbuild: "^0.27.2",
+        eslint: "^8.57.1",
+        "eslint-import-resolver-typescript": "^3.8.7",
+        "eslint-plugin-filenames": "^1.3.2",
+        "eslint-plugin-github": "^5.1.8",
+        "eslint-plugin-import": "2.29.1",
+        "eslint-plugin-jsdoc": "^62.4.1",
+        "eslint-plugin-no-async-foreach": "^0.1.1",
+        glob: "^11.1.0",
+        nock: "^14.0.10",
+        sinon: "^21.0.1",
+        typescript: "^5.9.3"
       },
-      teams: {
-        addOrUpdateMembershipForUserInOrg: [
-          "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
-        ],
-        addOrUpdateRepoPermissionsInOrg: [
-          "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
-        ],
-        checkPermissionsForRepoInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
-        ],
-        create: ["POST /orgs/{org}/teams"],
-        createDiscussionCommentInOrg: [
-          "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
-        ],
-        createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
-        deleteDiscussionCommentInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
-        ],
-        deleteDiscussionInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
-        ],
-        deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
-        getByName: ["GET /orgs/{org}/teams/{team_slug}"],
-        getDiscussionCommentInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
-        ],
-        getDiscussionInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
-        ],
-        getMembershipForUserInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/memberships/{username}"
-        ],
-        list: ["GET /orgs/{org}/teams"],
-        listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
-        listDiscussionCommentsInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
-        ],
-        listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
-        listForAuthenticatedUser: ["GET /user/teams"],
-        listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
-        listPendingInvitationsInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/invitations"
-        ],
-        listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
-        removeMembershipForUserInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
-        ],
-        removeRepoInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
-        ],
-        updateDiscussionCommentInOrg: [
-          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
-        ],
-        updateDiscussionInOrg: [
-          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
-        ],
-        updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
+      overrides: {
+        "@actions/tool-cache": {
+          semver: ">=6.3.1"
+        },
+        "@octokit/request-error": {
+          semver: ">=5.1.1"
+        },
+        "@octokit/request": {
+          semver: ">=8.4.1"
+        },
+        "@octokit/plugin-paginate-rest": {
+          semver: ">=9.2.2"
+        },
+        "eslint-plugin-import": {
+          semver: ">=6.3.1"
+        },
+        "eslint-plugin-jsx-a11y": {
+          semver: ">=6.3.1"
+        },
+        "brace-expansion@2.0.1": "2.0.2",
+        glob: "^11.1.0"
+      }
+    };
+  }
+});
+
+// node_modules/bottleneck/light.js
+var require_light = __commonJS({
+  "node_modules/bottleneck/light.js"(exports2, module2) {
+    (function(global2, factory) {
+      typeof exports2 === "object" && typeof module2 !== "undefined" ? module2.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global2.Bottleneck = factory();
+    })(exports2, (function() {
+      "use strict";
+      var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
+      function getCjsExportFromNamespace(n) {
+        return n && n["default"] || n;
+      }
+      var load2 = function(received, defaults, onto = {}) {
+        var k, ref, v;
+        for (k in defaults) {
+          v = defaults[k];
+          onto[k] = (ref = received[k]) != null ? ref : v;
+        }
+        return onto;
+      };
+      var overwrite = function(received, defaults, onto = {}) {
+        var k, v;
+        for (k in received) {
+          v = received[k];
+          if (defaults[k] !== void 0) {
+            onto[k] = v;
+          }
+        }
+        return onto;
+      };
+      var parser = {
+        load: load2,
+        overwrite
+      };
+      var DLList;
+      DLList = class DLList {
+        constructor(incr, decr) {
+          this.incr = incr;
+          this.decr = decr;
+          this._first = null;
+          this._last = null;
+          this.length = 0;
+        }
+        push(value) {
+          var node;
+          this.length++;
+          if (typeof this.incr === "function") {
+            this.incr();
+          }
+          node = {
+            value,
+            prev: this._last,
+            next: null
+          };
+          if (this._last != null) {
+            this._last.next = node;
+            this._last = node;
+          } else {
+            this._first = this._last = node;
+          }
+          return void 0;
+        }
+        shift() {
+          var value;
+          if (this._first == null) {
+            return;
+          } else {
+            this.length--;
+            if (typeof this.decr === "function") {
+              this.decr();
+            }
+          }
+          value = this._first.value;
+          if ((this._first = this._first.next) != null) {
+            this._first.prev = null;
+          } else {
+            this._last = null;
+          }
+          return value;
+        }
+        first() {
+          if (this._first != null) {
+            return this._first.value;
+          }
+        }
+        getArray() {
+          var node, ref, results;
+          node = this._first;
+          results = [];
+          while (node != null) {
+            results.push((ref = node, node = node.next, ref.value));
+          }
+          return results;
+        }
+        forEachShift(cb) {
+          var node;
+          node = this.shift();
+          while (node != null) {
+            cb(node), node = this.shift();
+          }
+          return void 0;
+        }
+        debug() {
+          var node, ref, ref1, ref2, results;
+          node = this._first;
+          results = [];
+          while (node != null) {
+            results.push((ref = node, node = node.next, {
+              value: ref.value,
+              prev: (ref1 = ref.prev) != null ? ref1.value : void 0,
+              next: (ref2 = ref.next) != null ? ref2.value : void 0
+            }));
+          }
+          return results;
+        }
+      };
+      var DLList_1 = DLList;
+      var Events;
+      Events = class Events {
+        constructor(instance) {
+          this.instance = instance;
+          this._events = {};
+          if (this.instance.on != null || this.instance.once != null || this.instance.removeAllListeners != null) {
+            throw new Error("An Emitter already exists for this object");
+          }
+          this.instance.on = (name, cb) => {
+            return this._addListener(name, "many", cb);
+          };
+          this.instance.once = (name, cb) => {
+            return this._addListener(name, "once", cb);
+          };
+          this.instance.removeAllListeners = (name = null) => {
+            if (name != null) {
+              return delete this._events[name];
+            } else {
+              return this._events = {};
+            }
+          };
+        }
+        _addListener(name, status, cb) {
+          var base;
+          if ((base = this._events)[name] == null) {
+            base[name] = [];
+          }
+          this._events[name].push({ cb, status });
+          return this.instance;
+        }
+        listenerCount(name) {
+          if (this._events[name] != null) {
+            return this._events[name].length;
+          } else {
+            return 0;
+          }
+        }
+        async trigger(name, ...args) {
+          var e, promises;
+          try {
+            if (name !== "debug") {
+              this.trigger("debug", `Event triggered: ${name}`, args);
+            }
+            if (this._events[name] == null) {
+              return;
+            }
+            this._events[name] = this._events[name].filter(function(listener) {
+              return listener.status !== "none";
+            });
+            promises = this._events[name].map(async (listener) => {
+              var e2, returned;
+              if (listener.status === "none") {
+                return;
+              }
+              if (listener.status === "once") {
+                listener.status = "none";
+              }
+              try {
+                returned = typeof listener.cb === "function" ? listener.cb(...args) : void 0;
+                if (typeof (returned != null ? returned.then : void 0) === "function") {
+                  return await returned;
+                } else {
+                  return returned;
+                }
+              } catch (error3) {
+                e2 = error3;
+                {
+                  this.trigger("error", e2);
+                }
+                return null;
+              }
+            });
+            return (await Promise.all(promises)).find(function(x) {
+              return x != null;
+            });
+          } catch (error3) {
+            e = error3;
+            {
+              this.trigger("error", e);
+            }
+            return null;
+          }
+        }
+      };
+      var Events_1 = Events;
+      var DLList$1, Events$1, Queues;
+      DLList$1 = DLList_1;
+      Events$1 = Events_1;
+      Queues = class Queues {
+        constructor(num_priorities) {
+          var i;
+          this.Events = new Events$1(this);
+          this._length = 0;
+          this._lists = (function() {
+            var j, ref, results;
+            results = [];
+            for (i = j = 1, ref = num_priorities; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {
+              results.push(new DLList$1((() => {
+                return this.incr();
+              }), (() => {
+                return this.decr();
+              })));
+            }
+            return results;
+          }).call(this);
+        }
+        incr() {
+          if (this._length++ === 0) {
+            return this.Events.trigger("leftzero");
+          }
+        }
+        decr() {
+          if (--this._length === 0) {
+            return this.Events.trigger("zero");
+          }
+        }
+        push(job) {
+          return this._lists[job.options.priority].push(job);
+        }
+        queued(priority) {
+          if (priority != null) {
+            return this._lists[priority].length;
+          } else {
+            return this._length;
+          }
+        }
+        shiftAll(fn) {
+          return this._lists.forEach(function(list) {
+            return list.forEachShift(fn);
+          });
+        }
+        getFirst(arr = this._lists) {
+          var j, len, list;
+          for (j = 0, len = arr.length; j < len; j++) {
+            list = arr[j];
+            if (list.length > 0) {
+              return list;
+            }
+          }
+          return [];
+        }
+        shiftLastFrom(priority) {
+          return this.getFirst(this._lists.slice(priority).reverse()).shift();
+        }
+      };
+      var Queues_1 = Queues;
+      var BottleneckError;
+      BottleneckError = class BottleneckError extends Error {
+      };
+      var BottleneckError_1 = BottleneckError;
+      var BottleneckError$1, DEFAULT_PRIORITY, Job, NUM_PRIORITIES, parser$1;
+      NUM_PRIORITIES = 10;
+      DEFAULT_PRIORITY = 5;
+      parser$1 = parser;
+      BottleneckError$1 = BottleneckError_1;
+      Job = class Job {
+        constructor(task, args, options, jobDefaults, rejectOnDrop, Events2, _states, Promise2) {
+          this.task = task;
+          this.args = args;
+          this.rejectOnDrop = rejectOnDrop;
+          this.Events = Events2;
+          this._states = _states;
+          this.Promise = Promise2;
+          this.options = parser$1.load(options, jobDefaults);
+          this.options.priority = this._sanitizePriority(this.options.priority);
+          if (this.options.id === jobDefaults.id) {
+            this.options.id = `${this.options.id}-${this._randomIndex()}`;
+          }
+          this.promise = new this.Promise((_resolve, _reject) => {
+            this._resolve = _resolve;
+            this._reject = _reject;
+          });
+          this.retryCount = 0;
+        }
+        _sanitizePriority(priority) {
+          var sProperty;
+          sProperty = ~~priority !== priority ? DEFAULT_PRIORITY : priority;
+          if (sProperty < 0) {
+            return 0;
+          } else if (sProperty > NUM_PRIORITIES - 1) {
+            return NUM_PRIORITIES - 1;
+          } else {
+            return sProperty;
+          }
+        }
+        _randomIndex() {
+          return Math.random().toString(36).slice(2);
+        }
+        doDrop({ error: error3, message = "This job has been dropped by Bottleneck" } = {}) {
+          if (this._states.remove(this.options.id)) {
+            if (this.rejectOnDrop) {
+              this._reject(error3 != null ? error3 : new BottleneckError$1(message));
+            }
+            this.Events.trigger("dropped", { args: this.args, options: this.options, task: this.task, promise: this.promise });
+            return true;
+          } else {
+            return false;
+          }
+        }
+        _assertStatus(expected) {
+          var status;
+          status = this._states.jobStatus(this.options.id);
+          if (!(status === expected || expected === "DONE" && status === null)) {
+            throw new BottleneckError$1(`Invalid job status ${status}, expected ${expected}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`);
+          }
+        }
+        doReceive() {
+          this._states.start(this.options.id);
+          return this.Events.trigger("received", { args: this.args, options: this.options });
+        }
+        doQueue(reachedHWM, blocked) {
+          this._assertStatus("RECEIVED");
+          this._states.next(this.options.id);
+          return this.Events.trigger("queued", { args: this.args, options: this.options, reachedHWM, blocked });
+        }
+        doRun() {
+          if (this.retryCount === 0) {
+            this._assertStatus("QUEUED");
+            this._states.next(this.options.id);
+          } else {
+            this._assertStatus("EXECUTING");
+          }
+          return this.Events.trigger("scheduled", { args: this.args, options: this.options });
+        }
+        async doExecute(chained, clearGlobalState, run, free) {
+          var error3, eventInfo, passed;
+          if (this.retryCount === 0) {
+            this._assertStatus("RUNNING");
+            this._states.next(this.options.id);
+          } else {
+            this._assertStatus("EXECUTING");
+          }
+          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
+          this.Events.trigger("executing", eventInfo);
+          try {
+            passed = await (chained != null ? chained.schedule(this.options, this.task, ...this.args) : this.task(...this.args));
+            if (clearGlobalState()) {
+              this.doDone(eventInfo);
+              await free(this.options, eventInfo);
+              this._assertStatus("DONE");
+              return this._resolve(passed);
+            }
+          } catch (error1) {
+            error3 = error1;
+            return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
+          }
+        }
+        doExpire(clearGlobalState, run, free) {
+          var error3, eventInfo;
+          if (this._states.jobStatus(this.options.id === "RUNNING")) {
+            this._states.next(this.options.id);
+          }
+          this._assertStatus("EXECUTING");
+          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
+          error3 = new BottleneckError$1(`This job timed out after ${this.options.expiration} ms.`);
+          return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
+        }
+        async _onFailure(error3, eventInfo, clearGlobalState, run, free) {
+          var retry2, retryAfter;
+          if (clearGlobalState()) {
+            retry2 = await this.Events.trigger("failed", error3, eventInfo);
+            if (retry2 != null) {
+              retryAfter = ~~retry2;
+              this.Events.trigger("retry", `Retrying ${this.options.id} after ${retryAfter} ms`, eventInfo);
+              this.retryCount++;
+              return run(retryAfter);
+            } else {
+              this.doDone(eventInfo);
+              await free(this.options, eventInfo);
+              this._assertStatus("DONE");
+              return this._reject(error3);
+            }
+          }
+        }
+        doDone(eventInfo) {
+          this._assertStatus("EXECUTING");
+          this._states.next(this.options.id);
+          return this.Events.trigger("done", eventInfo);
+        }
+      };
+      var Job_1 = Job;
+      var BottleneckError$2, LocalDatastore, parser$2;
+      parser$2 = parser;
+      BottleneckError$2 = BottleneckError_1;
+      LocalDatastore = class LocalDatastore {
+        constructor(instance, storeOptions, storeInstanceOptions) {
+          this.instance = instance;
+          this.storeOptions = storeOptions;
+          this.clientId = this.instance._randomIndex();
+          parser$2.load(storeInstanceOptions, storeInstanceOptions, this);
+          this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now();
+          this._running = 0;
+          this._done = 0;
+          this._unblockTime = 0;
+          this.ready = this.Promise.resolve();
+          this.clients = {};
+          this._startHeartbeat();
+        }
+        _startHeartbeat() {
+          var base;
+          if (this.heartbeat == null && (this.storeOptions.reservoirRefreshInterval != null && this.storeOptions.reservoirRefreshAmount != null || this.storeOptions.reservoirIncreaseInterval != null && this.storeOptions.reservoirIncreaseAmount != null)) {
+            return typeof (base = this.heartbeat = setInterval(() => {
+              var amount, incr, maximum, now, reservoir;
+              now = Date.now();
+              if (this.storeOptions.reservoirRefreshInterval != null && now >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) {
+                this._lastReservoirRefresh = now;
+                this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount;
+                this.instance._drainAll(this.computeCapacity());
+              }
+              if (this.storeOptions.reservoirIncreaseInterval != null && now >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) {
+                ({
+                  reservoirIncreaseAmount: amount,
+                  reservoirIncreaseMaximum: maximum,
+                  reservoir
+                } = this.storeOptions);
+                this._lastReservoirIncrease = now;
+                incr = maximum != null ? Math.min(amount, maximum - reservoir) : amount;
+                if (incr > 0) {
+                  this.storeOptions.reservoir += incr;
+                  return this.instance._drainAll(this.computeCapacity());
+                }
+              }
+            }, this.heartbeatInterval)).unref === "function" ? base.unref() : void 0;
+          } else {
+            return clearInterval(this.heartbeat);
+          }
+        }
+        async __publish__(message) {
+          await this.yieldLoop();
+          return this.instance.Events.trigger("message", message.toString());
+        }
+        async __disconnect__(flush) {
+          await this.yieldLoop();
+          clearInterval(this.heartbeat);
+          return this.Promise.resolve();
+        }
+        yieldLoop(t = 0) {
+          return new this.Promise(function(resolve3, reject) {
+            return setTimeout(resolve3, t);
+          });
+        }
+        computePenalty() {
+          var ref;
+          return (ref = this.storeOptions.penalty) != null ? ref : 15 * this.storeOptions.minTime || 5e3;
+        }
+        async __updateSettings__(options) {
+          await this.yieldLoop();
+          parser$2.overwrite(options, options, this.storeOptions);
+          this._startHeartbeat();
+          this.instance._drainAll(this.computeCapacity());
+          return true;
+        }
+        async __running__() {
+          await this.yieldLoop();
+          return this._running;
+        }
+        async __queued__() {
+          await this.yieldLoop();
+          return this.instance.queued();
+        }
+        async __done__() {
+          await this.yieldLoop();
+          return this._done;
+        }
+        async __groupCheck__(time) {
+          await this.yieldLoop();
+          return this._nextRequest + this.timeout < time;
+        }
+        computeCapacity() {
+          var maxConcurrent, reservoir;
+          ({ maxConcurrent, reservoir } = this.storeOptions);
+          if (maxConcurrent != null && reservoir != null) {
+            return Math.min(maxConcurrent - this._running, reservoir);
+          } else if (maxConcurrent != null) {
+            return maxConcurrent - this._running;
+          } else if (reservoir != null) {
+            return reservoir;
+          } else {
+            return null;
+          }
+        }
+        conditionsCheck(weight) {
+          var capacity;
+          capacity = this.computeCapacity();
+          return capacity == null || weight <= capacity;
+        }
+        async __incrementReservoir__(incr) {
+          var reservoir;
+          await this.yieldLoop();
+          reservoir = this.storeOptions.reservoir += incr;
+          this.instance._drainAll(this.computeCapacity());
+          return reservoir;
+        }
+        async __currentReservoir__() {
+          await this.yieldLoop();
+          return this.storeOptions.reservoir;
+        }
+        isBlocked(now) {
+          return this._unblockTime >= now;
+        }
+        check(weight, now) {
+          return this.conditionsCheck(weight) && this._nextRequest - now <= 0;
+        }
+        async __check__(weight) {
+          var now;
+          await this.yieldLoop();
+          now = Date.now();
+          return this.check(weight, now);
+        }
+        async __register__(index, weight, expiration) {
+          var now, wait;
+          await this.yieldLoop();
+          now = Date.now();
+          if (this.conditionsCheck(weight)) {
+            this._running += weight;
+            if (this.storeOptions.reservoir != null) {
+              this.storeOptions.reservoir -= weight;
+            }
+            wait = Math.max(this._nextRequest - now, 0);
+            this._nextRequest = now + wait + this.storeOptions.minTime;
+            return {
+              success: true,
+              wait,
+              reservoir: this.storeOptions.reservoir
+            };
+          } else {
+            return {
+              success: false
+            };
+          }
+        }
+        strategyIsBlock() {
+          return this.storeOptions.strategy === 3;
+        }
+        async __submit__(queueLength, weight) {
+          var blocked, now, reachedHWM;
+          await this.yieldLoop();
+          if (this.storeOptions.maxConcurrent != null && weight > this.storeOptions.maxConcurrent) {
+            throw new BottleneckError$2(`Impossible to add a job having a weight of ${weight} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);
+          }
+          now = Date.now();
+          reachedHWM = this.storeOptions.highWater != null && queueLength === this.storeOptions.highWater && !this.check(weight, now);
+          blocked = this.strategyIsBlock() && (reachedHWM || this.isBlocked(now));
+          if (blocked) {
+            this._unblockTime = now + this.computePenalty();
+            this._nextRequest = this._unblockTime + this.storeOptions.minTime;
+            this.instance._dropAllQueued();
+          }
+          return {
+            reachedHWM,
+            blocked,
+            strategy: this.storeOptions.strategy
+          };
+        }
+        async __free__(index, weight) {
+          await this.yieldLoop();
+          this._running -= weight;
+          this._done += weight;
+          this.instance._drainAll(this.computeCapacity());
+          return {
+            running: this._running
+          };
+        }
+      };
+      var LocalDatastore_1 = LocalDatastore;
+      var BottleneckError$3, States;
+      BottleneckError$3 = BottleneckError_1;
+      States = class States {
+        constructor(status1) {
+          this.status = status1;
+          this._jobs = {};
+          this.counts = this.status.map(function() {
+            return 0;
+          });
+        }
+        next(id) {
+          var current, next;
+          current = this._jobs[id];
+          next = current + 1;
+          if (current != null && next < this.status.length) {
+            this.counts[current]--;
+            this.counts[next]++;
+            return this._jobs[id]++;
+          } else if (current != null) {
+            this.counts[current]--;
+            return delete this._jobs[id];
+          }
+        }
+        start(id) {
+          var initial;
+          initial = 0;
+          this._jobs[id] = initial;
+          return this.counts[initial]++;
+        }
+        remove(id) {
+          var current;
+          current = this._jobs[id];
+          if (current != null) {
+            this.counts[current]--;
+            delete this._jobs[id];
+          }
+          return current != null;
+        }
+        jobStatus(id) {
+          var ref;
+          return (ref = this.status[this._jobs[id]]) != null ? ref : null;
+        }
+        statusJobs(status) {
+          var k, pos, ref, results, v;
+          if (status != null) {
+            pos = this.status.indexOf(status);
+            if (pos < 0) {
+              throw new BottleneckError$3(`status must be one of ${this.status.join(", ")}`);
+            }
+            ref = this._jobs;
+            results = [];
+            for (k in ref) {
+              v = ref[k];
+              if (v === pos) {
+                results.push(k);
+              }
+            }
+            return results;
+          } else {
+            return Object.keys(this._jobs);
+          }
+        }
+        statusCounts() {
+          return this.counts.reduce(((acc, v, i) => {
+            acc[this.status[i]] = v;
+            return acc;
+          }), {});
+        }
+      };
+      var States_1 = States;
+      var DLList$2, Sync;
+      DLList$2 = DLList_1;
+      Sync = class Sync {
+        constructor(name, Promise2) {
+          this.schedule = this.schedule.bind(this);
+          this.name = name;
+          this.Promise = Promise2;
+          this._running = 0;
+          this._queue = new DLList$2();
+        }
+        isEmpty() {
+          return this._queue.length === 0;
+        }
+        async _tryToRun() {
+          var args, cb, error3, reject, resolve3, returned, task;
+          if (this._running < 1 && this._queue.length > 0) {
+            this._running++;
+            ({ task, args, resolve: resolve3, reject } = this._queue.shift());
+            cb = await (async function() {
+              try {
+                returned = await task(...args);
+                return function() {
+                  return resolve3(returned);
+                };
+              } catch (error1) {
+                error3 = error1;
+                return function() {
+                  return reject(error3);
+                };
+              }
+            })();
+            this._running--;
+            this._tryToRun();
+            return cb();
+          }
+        }
+        schedule(task, ...args) {
+          var promise, reject, resolve3;
+          resolve3 = reject = null;
+          promise = new this.Promise(function(_resolve, _reject) {
+            resolve3 = _resolve;
+            return reject = _reject;
+          });
+          this._queue.push({ task, args, resolve: resolve3, reject });
+          this._tryToRun();
+          return promise;
+        }
+      };
+      var Sync_1 = Sync;
+      var version = "2.19.5";
+      var version$1 = {
+        version
+      };
+      var version$2 = /* @__PURE__ */ Object.freeze({
+        version,
+        default: version$1
+      });
+      var require$$2 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var require$$3 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var require$$4 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var Events$2, Group, IORedisConnection$1, RedisConnection$1, Scripts$1, parser$3;
+      parser$3 = parser;
+      Events$2 = Events_1;
+      RedisConnection$1 = require$$2;
+      IORedisConnection$1 = require$$3;
+      Scripts$1 = require$$4;
+      Group = (function() {
+        class Group2 {
+          constructor(limiterOptions = {}) {
+            this.deleteKey = this.deleteKey.bind(this);
+            this.limiterOptions = limiterOptions;
+            parser$3.load(this.limiterOptions, this.defaults, this);
+            this.Events = new Events$2(this);
+            this.instances = {};
+            this.Bottleneck = Bottleneck_1;
+            this._startAutoCleanup();
+            this.sharedConnection = this.connection != null;
+            if (this.connection == null) {
+              if (this.limiterOptions.datastore === "redis") {
+                this.connection = new RedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
+              } else if (this.limiterOptions.datastore === "ioredis") {
+                this.connection = new IORedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
+              }
+            }
+          }
+          key(key = "") {
+            var ref;
+            return (ref = this.instances[key]) != null ? ref : (() => {
+              var limiter;
+              limiter = this.instances[key] = new this.Bottleneck(Object.assign(this.limiterOptions, {
+                id: `${this.id}-${key}`,
+                timeout: this.timeout,
+                connection: this.connection
+              }));
+              this.Events.trigger("created", limiter, key);
+              return limiter;
+            })();
+          }
+          async deleteKey(key = "") {
+            var deleted, instance;
+            instance = this.instances[key];
+            if (this.connection) {
+              deleted = await this.connection.__runCommand__(["del", ...Scripts$1.allKeys(`${this.id}-${key}`)]);
+            }
+            if (instance != null) {
+              delete this.instances[key];
+              await instance.disconnect();
+            }
+            return instance != null || deleted > 0;
+          }
+          limiters() {
+            var k, ref, results, v;
+            ref = this.instances;
+            results = [];
+            for (k in ref) {
+              v = ref[k];
+              results.push({
+                key: k,
+                limiter: v
+              });
+            }
+            return results;
+          }
+          keys() {
+            return Object.keys(this.instances);
+          }
+          async clusterKeys() {
+            var cursor, end, found, i, k, keys, len, next, start;
+            if (this.connection == null) {
+              return this.Promise.resolve(this.keys());
+            }
+            keys = [];
+            cursor = null;
+            start = `b_${this.id}-`.length;
+            end = "_settings".length;
+            while (cursor !== 0) {
+              [next, found] = await this.connection.__runCommand__(["scan", cursor != null ? cursor : 0, "match", `b_${this.id}-*_settings`, "count", 1e4]);
+              cursor = ~~next;
+              for (i = 0, len = found.length; i < len; i++) {
+                k = found[i];
+                keys.push(k.slice(start, -end));
+              }
+            }
+            return keys;
+          }
+          _startAutoCleanup() {
+            var base;
+            clearInterval(this.interval);
+            return typeof (base = this.interval = setInterval(async () => {
+              var e, k, ref, results, time, v;
+              time = Date.now();
+              ref = this.instances;
+              results = [];
+              for (k in ref) {
+                v = ref[k];
+                try {
+                  if (await v._store.__groupCheck__(time)) {
+                    results.push(this.deleteKey(k));
+                  } else {
+                    results.push(void 0);
+                  }
+                } catch (error3) {
+                  e = error3;
+                  results.push(v.Events.trigger("error", e));
+                }
+              }
+              return results;
+            }, this.timeout / 2)).unref === "function" ? base.unref() : void 0;
+          }
+          updateSettings(options = {}) {
+            parser$3.overwrite(options, this.defaults, this);
+            parser$3.overwrite(options, options, this.limiterOptions);
+            if (options.timeout != null) {
+              return this._startAutoCleanup();
+            }
+          }
+          disconnect(flush = true) {
+            var ref;
+            if (!this.sharedConnection) {
+              return (ref = this.connection) != null ? ref.disconnect(flush) : void 0;
+            }
+          }
+        }
+        Group2.prototype.defaults = {
+          timeout: 1e3 * 60 * 5,
+          connection: null,
+          Promise,
+          id: "group-key"
+        };
+        return Group2;
+      }).call(commonjsGlobal);
+      var Group_1 = Group;
+      var Batcher, Events$3, parser$4;
+      parser$4 = parser;
+      Events$3 = Events_1;
+      Batcher = (function() {
+        class Batcher2 {
+          constructor(options = {}) {
+            this.options = options;
+            parser$4.load(this.options, this.defaults, this);
+            this.Events = new Events$3(this);
+            this._arr = [];
+            this._resetPromise();
+            this._lastFlush = Date.now();
+          }
+          _resetPromise() {
+            return this._promise = new this.Promise((res, rej) => {
+              return this._resolve = res;
+            });
+          }
+          _flush() {
+            clearTimeout(this._timeout);
+            this._lastFlush = Date.now();
+            this._resolve();
+            this.Events.trigger("batch", this._arr);
+            this._arr = [];
+            return this._resetPromise();
+          }
+          add(data) {
+            var ret;
+            this._arr.push(data);
+            ret = this._promise;
+            if (this._arr.length === this.maxSize) {
+              this._flush();
+            } else if (this.maxTime != null && this._arr.length === 1) {
+              this._timeout = setTimeout(() => {
+                return this._flush();
+              }, this.maxTime);
+            }
+            return ret;
+          }
+        }
+        Batcher2.prototype.defaults = {
+          maxTime: null,
+          maxSize: null,
+          Promise
+        };
+        return Batcher2;
+      }).call(commonjsGlobal);
+      var Batcher_1 = Batcher;
+      var require$$4$1 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var require$$8 = getCjsExportFromNamespace(version$2);
+      var Bottleneck2, DEFAULT_PRIORITY$1, Events$4, Job$1, LocalDatastore$1, NUM_PRIORITIES$1, Queues$1, RedisDatastore$1, States$1, Sync$1, parser$5, splice = [].splice;
+      NUM_PRIORITIES$1 = 10;
+      DEFAULT_PRIORITY$1 = 5;
+      parser$5 = parser;
+      Queues$1 = Queues_1;
+      Job$1 = Job_1;
+      LocalDatastore$1 = LocalDatastore_1;
+      RedisDatastore$1 = require$$4$1;
+      Events$4 = Events_1;
+      States$1 = States_1;
+      Sync$1 = Sync_1;
+      Bottleneck2 = (function() {
+        class Bottleneck3 {
+          constructor(options = {}, ...invalid) {
+            var storeInstanceOptions, storeOptions;
+            this._addToQueue = this._addToQueue.bind(this);
+            this._validateOptions(options, invalid);
+            parser$5.load(options, this.instanceDefaults, this);
+            this._queues = new Queues$1(NUM_PRIORITIES$1);
+            this._scheduled = {};
+            this._states = new States$1(["RECEIVED", "QUEUED", "RUNNING", "EXECUTING"].concat(this.trackDoneStatus ? ["DONE"] : []));
+            this._limiter = null;
+            this.Events = new Events$4(this);
+            this._submitLock = new Sync$1("submit", this.Promise);
+            this._registerLock = new Sync$1("register", this.Promise);
+            storeOptions = parser$5.load(options, this.storeDefaults, {});
+            this._store = (function() {
+              if (this.datastore === "redis" || this.datastore === "ioredis" || this.connection != null) {
+                storeInstanceOptions = parser$5.load(options, this.redisStoreDefaults, {});
+                return new RedisDatastore$1(this, storeOptions, storeInstanceOptions);
+              } else if (this.datastore === "local") {
+                storeInstanceOptions = parser$5.load(options, this.localStoreDefaults, {});
+                return new LocalDatastore$1(this, storeOptions, storeInstanceOptions);
+              } else {
+                throw new Bottleneck3.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`);
+              }
+            }).call(this);
+            this._queues.on("leftzero", () => {
+              var ref;
+              return (ref = this._store.heartbeat) != null ? typeof ref.ref === "function" ? ref.ref() : void 0 : void 0;
+            });
+            this._queues.on("zero", () => {
+              var ref;
+              return (ref = this._store.heartbeat) != null ? typeof ref.unref === "function" ? ref.unref() : void 0 : void 0;
+            });
+          }
+          _validateOptions(options, invalid) {
+            if (!(options != null && typeof options === "object" && invalid.length === 0)) {
+              throw new Bottleneck3.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.");
+            }
+          }
+          ready() {
+            return this._store.ready;
+          }
+          clients() {
+            return this._store.clients;
+          }
+          channel() {
+            return `b_${this.id}`;
+          }
+          channel_client() {
+            return `b_${this.id}_${this._store.clientId}`;
+          }
+          publish(message) {
+            return this._store.__publish__(message);
+          }
+          disconnect(flush = true) {
+            return this._store.__disconnect__(flush);
+          }
+          chain(_limiter) {
+            this._limiter = _limiter;
+            return this;
+          }
+          queued(priority) {
+            return this._queues.queued(priority);
+          }
+          clusterQueued() {
+            return this._store.__queued__();
+          }
+          empty() {
+            return this.queued() === 0 && this._submitLock.isEmpty();
+          }
+          running() {
+            return this._store.__running__();
+          }
+          done() {
+            return this._store.__done__();
+          }
+          jobStatus(id) {
+            return this._states.jobStatus(id);
+          }
+          jobs(status) {
+            return this._states.statusJobs(status);
+          }
+          counts() {
+            return this._states.statusCounts();
+          }
+          _randomIndex() {
+            return Math.random().toString(36).slice(2);
+          }
+          check(weight = 1) {
+            return this._store.__check__(weight);
+          }
+          _clearGlobalState(index) {
+            if (this._scheduled[index] != null) {
+              clearTimeout(this._scheduled[index].expiration);
+              delete this._scheduled[index];
+              return true;
+            } else {
+              return false;
+            }
+          }
+          async _free(index, job, options, eventInfo) {
+            var e, running;
+            try {
+              ({ running } = await this._store.__free__(index, options.weight));
+              this.Events.trigger("debug", `Freed ${options.id}`, eventInfo);
+              if (running === 0 && this.empty()) {
+                return this.Events.trigger("idle");
+              }
+            } catch (error1) {
+              e = error1;
+              return this.Events.trigger("error", e);
+            }
+          }
+          _run(index, job, wait) {
+            var clearGlobalState, free, run;
+            job.doRun();
+            clearGlobalState = this._clearGlobalState.bind(this, index);
+            run = this._run.bind(this, index, job);
+            free = this._free.bind(this, index, job);
+            return this._scheduled[index] = {
+              timeout: setTimeout(() => {
+                return job.doExecute(this._limiter, clearGlobalState, run, free);
+              }, wait),
+              expiration: job.options.expiration != null ? setTimeout(function() {
+                return job.doExpire(clearGlobalState, run, free);
+              }, wait + job.options.expiration) : void 0,
+              job
+            };
+          }
+          _drainOne(capacity) {
+            return this._registerLock.schedule(() => {
+              var args, index, next, options, queue;
+              if (this.queued() === 0) {
+                return this.Promise.resolve(null);
+              }
+              queue = this._queues.getFirst();
+              ({ options, args } = next = queue.first());
+              if (capacity != null && options.weight > capacity) {
+                return this.Promise.resolve(null);
+              }
+              this.Events.trigger("debug", `Draining ${options.id}`, { args, options });
+              index = this._randomIndex();
+              return this._store.__register__(index, options.weight, options.expiration).then(({ success, wait, reservoir }) => {
+                var empty;
+                this.Events.trigger("debug", `Drained ${options.id}`, { success, args, options });
+                if (success) {
+                  queue.shift();
+                  empty = this.empty();
+                  if (empty) {
+                    this.Events.trigger("empty");
+                  }
+                  if (reservoir === 0) {
+                    this.Events.trigger("depleted", empty);
+                  }
+                  this._run(index, next, wait);
+                  return this.Promise.resolve(options.weight);
+                } else {
+                  return this.Promise.resolve(null);
+                }
+              });
+            });
+          }
+          _drainAll(capacity, total = 0) {
+            return this._drainOne(capacity).then((drained) => {
+              var newCapacity;
+              if (drained != null) {
+                newCapacity = capacity != null ? capacity - drained : capacity;
+                return this._drainAll(newCapacity, total + drained);
+              } else {
+                return this.Promise.resolve(total);
+              }
+            }).catch((e) => {
+              return this.Events.trigger("error", e);
+            });
+          }
+          _dropAllQueued(message) {
+            return this._queues.shiftAll(function(job) {
+              return job.doDrop({ message });
+            });
+          }
+          stop(options = {}) {
+            var done, waitForExecuting;
+            options = parser$5.load(options, this.stopDefaults);
+            waitForExecuting = (at) => {
+              var finished;
+              finished = () => {
+                var counts;
+                counts = this._states.counts;
+                return counts[0] + counts[1] + counts[2] + counts[3] === at;
+              };
+              return new this.Promise((resolve3, reject) => {
+                if (finished()) {
+                  return resolve3();
+                } else {
+                  return this.on("done", () => {
+                    if (finished()) {
+                      this.removeAllListeners("done");
+                      return resolve3();
+                    }
+                  });
+                }
+              });
+            };
+            done = options.dropWaitingJobs ? (this._run = function(index, next) {
+              return next.doDrop({
+                message: options.dropErrorMessage
+              });
+            }, this._drainOne = () => {
+              return this.Promise.resolve(null);
+            }, this._registerLock.schedule(() => {
+              return this._submitLock.schedule(() => {
+                var k, ref, v;
+                ref = this._scheduled;
+                for (k in ref) {
+                  v = ref[k];
+                  if (this.jobStatus(v.job.options.id) === "RUNNING") {
+                    clearTimeout(v.timeout);
+                    clearTimeout(v.expiration);
+                    v.job.doDrop({
+                      message: options.dropErrorMessage
+                    });
+                  }
+                }
+                this._dropAllQueued(options.dropErrorMessage);
+                return waitForExecuting(0);
+              });
+            })) : this.schedule({
+              priority: NUM_PRIORITIES$1 - 1,
+              weight: 0
+            }, () => {
+              return waitForExecuting(1);
+            });
+            this._receive = function(job) {
+              return job._reject(new Bottleneck3.prototype.BottleneckError(options.enqueueErrorMessage));
+            };
+            this.stop = () => {
+              return this.Promise.reject(new Bottleneck3.prototype.BottleneckError("stop() has already been called"));
+            };
+            return done;
+          }
+          async _addToQueue(job) {
+            var args, blocked, error3, options, reachedHWM, shifted, strategy;
+            ({ args, options } = job);
+            try {
+              ({ reachedHWM, blocked, strategy } = await this._store.__submit__(this.queued(), options.weight));
+            } catch (error1) {
+              error3 = error1;
+              this.Events.trigger("debug", `Could not queue ${options.id}`, { args, options, error: error3 });
+              job.doDrop({ error: error3 });
+              return false;
+            }
+            if (blocked) {
+              job.doDrop();
+              return true;
+            } else if (reachedHWM) {
+              shifted = strategy === Bottleneck3.prototype.strategy.LEAK ? this._queues.shiftLastFrom(options.priority) : strategy === Bottleneck3.prototype.strategy.OVERFLOW_PRIORITY ? this._queues.shiftLastFrom(options.priority + 1) : strategy === Bottleneck3.prototype.strategy.OVERFLOW ? job : void 0;
+              if (shifted != null) {
+                shifted.doDrop();
+              }
+              if (shifted == null || strategy === Bottleneck3.prototype.strategy.OVERFLOW) {
+                if (shifted == null) {
+                  job.doDrop();
+                }
+                return reachedHWM;
+              }
+            }
+            job.doQueue(reachedHWM, blocked);
+            this._queues.push(job);
+            await this._drainAll();
+            return reachedHWM;
+          }
+          _receive(job) {
+            if (this._states.jobStatus(job.options.id) != null) {
+              job._reject(new Bottleneck3.prototype.BottleneckError(`A job with the same id already exists (id=${job.options.id})`));
+              return false;
+            } else {
+              job.doReceive();
+              return this._submitLock.schedule(this._addToQueue, job);
+            }
+          }
+          submit(...args) {
+            var cb, fn, job, options, ref, ref1, task;
+            if (typeof args[0] === "function") {
+              ref = args, [fn, ...args] = ref, [cb] = splice.call(args, -1);
+              options = parser$5.load({}, this.jobDefaults);
+            } else {
+              ref1 = args, [options, fn, ...args] = ref1, [cb] = splice.call(args, -1);
+              options = parser$5.load(options, this.jobDefaults);
+            }
+            task = (...args2) => {
+              return new this.Promise(function(resolve3, reject) {
+                return fn(...args2, function(...args3) {
+                  return (args3[0] != null ? reject : resolve3)(args3);
+                });
+              });
+            };
+            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
+            job.promise.then(function(args2) {
+              return typeof cb === "function" ? cb(...args2) : void 0;
+            }).catch(function(args2) {
+              if (Array.isArray(args2)) {
+                return typeof cb === "function" ? cb(...args2) : void 0;
+              } else {
+                return typeof cb === "function" ? cb(args2) : void 0;
+              }
+            });
+            return this._receive(job);
+          }
+          schedule(...args) {
+            var job, options, task;
+            if (typeof args[0] === "function") {
+              [task, ...args] = args;
+              options = {};
+            } else {
+              [options, task, ...args] = args;
+            }
+            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
+            this._receive(job);
+            return job.promise;
+          }
+          wrap(fn) {
+            var schedule, wrapped;
+            schedule = this.schedule.bind(this);
+            wrapped = function(...args) {
+              return schedule(fn.bind(this), ...args);
+            };
+            wrapped.withOptions = function(options, ...args) {
+              return schedule(options, fn, ...args);
+            };
+            return wrapped;
+          }
+          async updateSettings(options = {}) {
+            await this._store.__updateSettings__(parser$5.overwrite(options, this.storeDefaults));
+            parser$5.overwrite(options, this.instanceDefaults, this);
+            return this;
+          }
+          currentReservoir() {
+            return this._store.__currentReservoir__();
+          }
+          incrementReservoir(incr = 0) {
+            return this._store.__incrementReservoir__(incr);
+          }
+        }
+        Bottleneck3.default = Bottleneck3;
+        Bottleneck3.Events = Events$4;
+        Bottleneck3.version = Bottleneck3.prototype.version = require$$8.version;
+        Bottleneck3.strategy = Bottleneck3.prototype.strategy = {
+          LEAK: 1,
+          OVERFLOW: 2,
+          OVERFLOW_PRIORITY: 4,
+          BLOCK: 3
+        };
+        Bottleneck3.BottleneckError = Bottleneck3.prototype.BottleneckError = BottleneckError_1;
+        Bottleneck3.Group = Bottleneck3.prototype.Group = Group_1;
+        Bottleneck3.RedisConnection = Bottleneck3.prototype.RedisConnection = require$$2;
+        Bottleneck3.IORedisConnection = Bottleneck3.prototype.IORedisConnection = require$$3;
+        Bottleneck3.Batcher = Bottleneck3.prototype.Batcher = Batcher_1;
+        Bottleneck3.prototype.jobDefaults = {
+          priority: DEFAULT_PRIORITY$1,
+          weight: 1,
+          expiration: null,
+          id: ""
+        };
+        Bottleneck3.prototype.storeDefaults = {
+          maxConcurrent: null,
+          minTime: 0,
+          highWater: null,
+          strategy: Bottleneck3.prototype.strategy.LEAK,
+          penalty: null,
+          reservoir: null,
+          reservoirRefreshInterval: null,
+          reservoirRefreshAmount: null,
+          reservoirIncreaseInterval: null,
+          reservoirIncreaseAmount: null,
+          reservoirIncreaseMaximum: null
+        };
+        Bottleneck3.prototype.localStoreDefaults = {
+          Promise,
+          timeout: null,
+          heartbeatInterval: 250
+        };
+        Bottleneck3.prototype.redisStoreDefaults = {
+          Promise,
+          timeout: null,
+          heartbeatInterval: 5e3,
+          clientTimeout: 1e4,
+          Redis: null,
+          clientOptions: {},
+          clusterNodes: null,
+          clearDatastore: false,
+          connection: null
+        };
+        Bottleneck3.prototype.instanceDefaults = {
+          datastore: "local",
+          connection: null,
+          id: "",
+          rejectOnDrop: true,
+          trackDoneStatus: false,
+          Promise
+        };
+        Bottleneck3.prototype.stopDefaults = {
+          enqueueErrorMessage: "This limiter has been stopped and cannot accept new jobs.",
+          dropWaitingJobs: true,
+          dropErrorMessage: "This limiter has been stopped."
+        };
+        return Bottleneck3;
+      }).call(commonjsGlobal);
+      var Bottleneck_1 = Bottleneck2;
+      var lib = Bottleneck_1;
+      return lib;
+    }));
+  }
+});
+
+// node_modules/jsonschema/lib/helpers.js
+var require_helpers = __commonJS({
+  "node_modules/jsonschema/lib/helpers.js"(exports2, module2) {
+    "use strict";
+    var uri = require("url");
+    var ValidationError = exports2.ValidationError = function ValidationError2(message, instance, schema2, path4, name, argument) {
+      if (Array.isArray(path4)) {
+        this.path = path4;
+        this.property = path4.reduce(function(sum, item) {
+          return sum + makeSuffix(item);
+        }, "instance");
+      } else if (path4 !== void 0) {
+        this.property = path4;
+      }
+      if (message) {
+        this.message = message;
+      }
+      if (schema2) {
+        var id = schema2.$id || schema2.id;
+        this.schema = id || schema2;
+      }
+      if (instance !== void 0) {
+        this.instance = instance;
+      }
+      this.name = name;
+      this.argument = argument;
+      this.stack = this.toString();
+    };
+    ValidationError.prototype.toString = function toString2() {
+      return this.property + " " + this.message;
+    };
+    var ValidatorResult = exports2.ValidatorResult = function ValidatorResult2(instance, schema2, options, ctx) {
+      this.instance = instance;
+      this.schema = schema2;
+      this.options = options;
+      this.path = ctx.path;
+      this.propertyPath = ctx.propertyPath;
+      this.errors = [];
+      this.throwError = options && options.throwError;
+      this.throwFirst = options && options.throwFirst;
+      this.throwAll = options && options.throwAll;
+      this.disableFormat = options && options.disableFormat === true;
+    };
+    ValidatorResult.prototype.addError = function addError(detail) {
+      var err;
+      if (typeof detail == "string") {
+        err = new ValidationError(detail, this.instance, this.schema, this.path);
+      } else {
+        if (!detail) throw new Error("Missing error detail");
+        if (!detail.message) throw new Error("Missing error message");
+        if (!detail.name) throw new Error("Missing validator type");
+        err = new ValidationError(detail.message, this.instance, this.schema, this.path, detail.name, detail.argument);
+      }
+      this.errors.push(err);
+      if (this.throwFirst) {
+        throw new ValidatorResultError(this);
+      } else if (this.throwError) {
+        throw err;
+      }
+      return err;
+    };
+    ValidatorResult.prototype.importErrors = function importErrors(res) {
+      if (typeof res == "string" || res && res.validatorType) {
+        this.addError(res);
+      } else if (res && res.errors) {
+        this.errors = this.errors.concat(res.errors);
+      }
+    };
+    function stringizer(v, i) {
+      return i + ": " + v.toString() + "\n";
+    }
+    ValidatorResult.prototype.toString = function toString2(res) {
+      return this.errors.map(stringizer).join("");
+    };
+    Object.defineProperty(ValidatorResult.prototype, "valid", { get: function() {
+      return !this.errors.length;
+    } });
+    module2.exports.ValidatorResultError = ValidatorResultError;
+    function ValidatorResultError(result) {
+      if (Error.captureStackTrace) {
+        Error.captureStackTrace(this, ValidatorResultError);
+      }
+      this.instance = result.instance;
+      this.schema = result.schema;
+      this.options = result.options;
+      this.errors = result.errors;
+    }
+    ValidatorResultError.prototype = new Error();
+    ValidatorResultError.prototype.constructor = ValidatorResultError;
+    ValidatorResultError.prototype.name = "Validation Error";
+    var SchemaError = exports2.SchemaError = function SchemaError2(msg, schema2) {
+      this.message = msg;
+      this.schema = schema2;
+      Error.call(this, msg);
+      Error.captureStackTrace(this, SchemaError2);
+    };
+    SchemaError.prototype = Object.create(
+      Error.prototype,
+      {
+        constructor: { value: SchemaError, enumerable: false },
+        name: { value: "SchemaError", enumerable: false }
+      }
+    );
+    var SchemaContext = exports2.SchemaContext = function SchemaContext2(schema2, options, path4, base, schemas) {
+      this.schema = schema2;
+      this.options = options;
+      if (Array.isArray(path4)) {
+        this.path = path4;
+        this.propertyPath = path4.reduce(function(sum, item) {
+          return sum + makeSuffix(item);
+        }, "instance");
+      } else {
+        this.propertyPath = path4;
+      }
+      this.base = base;
+      this.schemas = schemas;
+    };
+    SchemaContext.prototype.resolve = function resolve3(target) {
+      return uri.resolve(this.base, target);
+    };
+    SchemaContext.prototype.makeChild = function makeChild(schema2, propertyName) {
+      var path4 = propertyName === void 0 ? this.path : this.path.concat([propertyName]);
+      var id = schema2.$id || schema2.id;
+      var base = uri.resolve(this.base, id || "");
+      var ctx = new SchemaContext(schema2, this.options, path4, base, Object.create(this.schemas));
+      if (id && !ctx.schemas[base]) {
+        ctx.schemas[base] = schema2;
+      }
+      return ctx;
+    };
+    var FORMAT_REGEXPS = exports2.FORMAT_REGEXPS = {
+      // 7.3.1. Dates, Times, and Duration
+      "date-time": /^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])[tT ](2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])(\.\d+)?([zZ]|[+-]([0-5][0-9]):(60|[0-5][0-9]))$/,
+      "date": /^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])$/,
+      "time": /^(2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])$/,
+      "duration": /P(T\d+(H(\d+M(\d+S)?)?|M(\d+S)?|S)|\d+(D|M(\d+D)?|Y(\d+M(\d+D)?)?)(T\d+(H(\d+M(\d+S)?)?|M(\d+S)?|S))?|\d+W)/i,
+      // 7.3.2. Email Addresses
+      // TODO: fix the email production
+      "email": /^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/,
+      "idn-email": /^("(?:[!#-\[\]-\u{10FFFF}]|\\[\t -\u{10FFFF}])*"|[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}](?:\.?[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}])*)@([!#-'*+\-/-9=?A-Z\^-\u{10FFFF}](?:\.?[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}])*|\[[!-Z\^-\u{10FFFF}]*\])$/u,
+      // 7.3.3. Hostnames
+      // 7.3.4. IP Addresses
+      "ip-address": /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
+      // FIXME whitespace is invalid
+      "ipv6": /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,
+      // 7.3.5. Resource Identifiers
+      // TODO: A more accurate regular expression for "uri" goes:
+      // [A-Za-z][+\-.0-9A-Za-z]*:((/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?)?#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])|/?%[0-9A-Fa-f]{2}|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*(#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)?)?
+      "uri": /^[a-zA-Z][a-zA-Z0-9+.-]*:[^\s]*$/,
+      "uri-reference": /^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/,
+      "iri": /^[a-zA-Z][a-zA-Z0-9+.-]*:[^\s]*$/,
+      "iri-reference": /^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\u{10FFFF}]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~-\u{10FFFF}]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~-\u{10FFFF}])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\u{10FFFF}]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/u,
+      "uuid": /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
+      // 7.3.6. uri-template
+      "uri-template": /(%[0-9a-f]{2}|[!#$&(-;=?@\[\]_a-z~]|\{[!#&+,./;=?@|]?(%[0-9a-f]{2}|[0-9_a-z])(\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\d{0,3}|\*)?(,(%[0-9a-f]{2}|[0-9_a-z])(\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\d{0,3}|\*)?)*\})*/iu,
+      // 7.3.7. JSON Pointers
+      "json-pointer": /^(\/([\x00-\x2e0-@\[-}\x7f]|~[01])*)*$/iu,
+      "relative-json-pointer": /^\d+(#|(\/([\x00-\x2e0-@\[-}\x7f]|~[01])*)*)$/iu,
+      // hostname regex from: http://stackoverflow.com/a/1420225/5628
+      "hostname": /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,
+      "host-name": /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,
+      "utc-millisec": function(input) {
+        return typeof input === "string" && parseFloat(input) === parseInt(input, 10) && !isNaN(input);
       },
-      users: {
-        addEmailForAuthenticated: [
-          "POST /user/emails",
-          {},
-          { renamed: ["users", "addEmailForAuthenticatedUser"] }
-        ],
-        addEmailForAuthenticatedUser: ["POST /user/emails"],
-        addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"],
-        block: ["PUT /user/blocks/{username}"],
-        checkBlocked: ["GET /user/blocks/{username}"],
-        checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
-        checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
-        createGpgKeyForAuthenticated: [
-          "POST /user/gpg_keys",
-          {},
-          { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }
-        ],
-        createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"],
-        createPublicSshKeyForAuthenticated: [
-          "POST /user/keys",
-          {},
-          { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }
-        ],
-        createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"],
-        createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"],
-        deleteAttestationsBulk: [
-          "POST /users/{username}/attestations/delete-request"
-        ],
-        deleteAttestationsById: [
-          "DELETE /users/{username}/attestations/{attestation_id}"
-        ],
-        deleteAttestationsBySubjectDigest: [
-          "DELETE /users/{username}/attestations/digest/{subject_digest}"
-        ],
-        deleteEmailForAuthenticated: [
-          "DELETE /user/emails",
-          {},
-          { renamed: ["users", "deleteEmailForAuthenticatedUser"] }
-        ],
-        deleteEmailForAuthenticatedUser: ["DELETE /user/emails"],
-        deleteGpgKeyForAuthenticated: [
-          "DELETE /user/gpg_keys/{gpg_key_id}",
-          {},
-          { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }
-        ],
-        deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"],
-        deletePublicSshKeyForAuthenticated: [
-          "DELETE /user/keys/{key_id}",
-          {},
-          { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }
-        ],
-        deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"],
-        deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"],
-        deleteSshSigningKeyForAuthenticatedUser: [
-          "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"
-        ],
-        follow: ["PUT /user/following/{username}"],
-        getAuthenticated: ["GET /user"],
-        getById: ["GET /user/{account_id}"],
-        getByUsername: ["GET /users/{username}"],
-        getContextForUser: ["GET /users/{username}/hovercard"],
-        getGpgKeyForAuthenticated: [
-          "GET /user/gpg_keys/{gpg_key_id}",
-          {},
-          { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }
-        ],
-        getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"],
-        getPublicSshKeyForAuthenticated: [
-          "GET /user/keys/{key_id}",
-          {},
-          { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }
-        ],
-        getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"],
-        getSshSigningKeyForAuthenticatedUser: [
-          "GET /user/ssh_signing_keys/{ssh_signing_key_id}"
-        ],
-        list: ["GET /users"],
-        listAttestations: ["GET /users/{username}/attestations/{subject_digest}"],
-        listAttestationsBulk: [
-          "POST /users/{username}/attestations/bulk-list{?per_page,before,after}"
-        ],
-        listBlockedByAuthenticated: [
-          "GET /user/blocks",
-          {},
-          { renamed: ["users", "listBlockedByAuthenticatedUser"] }
-        ],
-        listBlockedByAuthenticatedUser: ["GET /user/blocks"],
-        listEmailsForAuthenticated: [
-          "GET /user/emails",
-          {},
-          { renamed: ["users", "listEmailsForAuthenticatedUser"] }
-        ],
-        listEmailsForAuthenticatedUser: ["GET /user/emails"],
-        listFollowedByAuthenticated: [
-          "GET /user/following",
-          {},
-          { renamed: ["users", "listFollowedByAuthenticatedUser"] }
-        ],
-        listFollowedByAuthenticatedUser: ["GET /user/following"],
-        listFollowersForAuthenticatedUser: ["GET /user/followers"],
-        listFollowersForUser: ["GET /users/{username}/followers"],
-        listFollowingForUser: ["GET /users/{username}/following"],
-        listGpgKeysForAuthenticated: [
-          "GET /user/gpg_keys",
-          {},
-          { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }
-        ],
-        listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"],
-        listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
-        listPublicEmailsForAuthenticated: [
-          "GET /user/public_emails",
-          {},
-          { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }
-        ],
-        listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"],
-        listPublicKeysForUser: ["GET /users/{username}/keys"],
-        listPublicSshKeysForAuthenticated: [
-          "GET /user/keys",
-          {},
-          { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }
-        ],
-        listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"],
-        listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"],
-        listSocialAccountsForUser: ["GET /users/{username}/social_accounts"],
-        listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"],
-        listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"],
-        setPrimaryEmailVisibilityForAuthenticated: [
-          "PATCH /user/email/visibility",
-          {},
-          { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] }
-        ],
-        setPrimaryEmailVisibilityForAuthenticatedUser: [
-          "PATCH /user/email/visibility"
-        ],
-        unblock: ["DELETE /user/blocks/{username}"],
-        unfollow: ["DELETE /user/following/{username}"],
-        updateAuthenticated: ["PATCH /user"]
+      // 7.3.8. regex
+      "regex": function(input) {
+        var result = true;
+        try {
+          new RegExp(input);
+        } catch (e) {
+          result = false;
+        }
+        return result;
+      },
+      // Other definitions
+      // "style" was removed from JSON Schema in draft-4 and is deprecated
+      "style": /[\r\n\t ]*[^\r\n\t ][^:]*:[\r\n\t ]*[^\r\n\t ;]*[\r\n\t ]*;?/,
+      // "color" was removed from JSON Schema in draft-4 and is deprecated
+      "color": /^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,
+      "phone": /^\+(?:[0-9] ?){6,14}[0-9]$/,
+      "alpha": /^[a-zA-Z]+$/,
+      "alphanumeric": /^[a-zA-Z0-9]+$/
+    };
+    FORMAT_REGEXPS.regexp = FORMAT_REGEXPS.regex;
+    FORMAT_REGEXPS.pattern = FORMAT_REGEXPS.regex;
+    FORMAT_REGEXPS.ipv4 = FORMAT_REGEXPS["ip-address"];
+    exports2.isFormat = function isFormat(input, format, validator) {
+      if (typeof input === "string" && FORMAT_REGEXPS[format] !== void 0) {
+        if (FORMAT_REGEXPS[format] instanceof RegExp) {
+          return FORMAT_REGEXPS[format].test(input);
+        }
+        if (typeof FORMAT_REGEXPS[format] === "function") {
+          return FORMAT_REGEXPS[format](input);
+        }
+      } else if (validator && validator.customFormats && typeof validator.customFormats[format] === "function") {
+        return validator.customFormats[format](input);
+      }
+      return true;
+    };
+    var makeSuffix = exports2.makeSuffix = function makeSuffix2(key) {
+      key = key.toString();
+      if (!key.match(/[.\s\[\]]/) && !key.match(/^[\d]/)) {
+        return "." + key;
+      }
+      if (key.match(/^\d+$/)) {
+        return "[" + key + "]";
+      }
+      return "[" + JSON.stringify(key) + "]";
+    };
+    exports2.deepCompareStrict = function deepCompareStrict(a, b) {
+      if (typeof a !== typeof b) {
+        return false;
+      }
+      if (Array.isArray(a)) {
+        if (!Array.isArray(b)) {
+          return false;
+        }
+        if (a.length !== b.length) {
+          return false;
+        }
+        return a.every(function(v, i) {
+          return deepCompareStrict(a[i], b[i]);
+        });
+      }
+      if (typeof a === "object") {
+        if (!a || !b) {
+          return a === b;
+        }
+        var aKeys = Object.keys(a);
+        var bKeys = Object.keys(b);
+        if (aKeys.length !== bKeys.length) {
+          return false;
+        }
+        return aKeys.every(function(v) {
+          return deepCompareStrict(a[v], b[v]);
+        });
+      }
+      return a === b;
+    };
+    function deepMerger(target, dst, e, i) {
+      if (typeof e === "object") {
+        dst[i] = deepMerge(target[i], e);
+      } else {
+        if (target.indexOf(e) === -1) {
+          dst.push(e);
+        }
+      }
+    }
+    function copyist(src, dst, key) {
+      dst[key] = src[key];
+    }
+    function copyistWithDeepMerge(target, src, dst, key) {
+      if (typeof src[key] !== "object" || !src[key]) {
+        dst[key] = src[key];
+      } else {
+        if (!target[key]) {
+          dst[key] = src[key];
+        } else {
+          dst[key] = deepMerge(target[key], src[key]);
+        }
+      }
+    }
+    function deepMerge(target, src) {
+      var array = Array.isArray(src);
+      var dst = array && [] || {};
+      if (array) {
+        target = target || [];
+        dst = dst.concat(target);
+        src.forEach(deepMerger.bind(null, target, dst));
+      } else {
+        if (target && typeof target === "object") {
+          Object.keys(target).forEach(copyist.bind(null, target, dst));
+        }
+        Object.keys(src).forEach(copyistWithDeepMerge.bind(null, target, src, dst));
+      }
+      return dst;
+    }
+    module2.exports.deepMerge = deepMerge;
+    exports2.objectGetPath = function objectGetPath(o, s) {
+      var parts = s.split("/").slice(1);
+      var k;
+      while (typeof (k = parts.shift()) == "string") {
+        var n = decodeURIComponent(k.replace(/~0/, "~").replace(/~1/g, "/"));
+        if (!(n in o)) return;
+        o = o[n];
+      }
+      return o;
+    };
+    function pathEncoder(v) {
+      return "/" + encodeURIComponent(v).replace(/~/g, "%7E");
+    }
+    exports2.encodePath = function encodePointer(a) {
+      return a.map(pathEncoder).join("");
+    };
+    exports2.getDecimalPlaces = function getDecimalPlaces(number) {
+      var decimalPlaces = 0;
+      if (isNaN(number)) return decimalPlaces;
+      if (typeof number !== "number") {
+        number = Number(number);
+      }
+      var parts = number.toString().split("e");
+      if (parts.length === 2) {
+        if (parts[1][0] !== "-") {
+          return decimalPlaces;
+        } else {
+          decimalPlaces = Number(parts[1].slice(1));
+        }
+      }
+      var decimalParts = parts[0].split(".");
+      if (decimalParts.length === 2) {
+        decimalPlaces += decimalParts[1].length;
+      }
+      return decimalPlaces;
+    };
+    exports2.isSchema = function isSchema(val) {
+      return typeof val === "object" && val || typeof val === "boolean";
+    };
+  }
+});
+
+// node_modules/jsonschema/lib/attribute.js
+var require_attribute = __commonJS({
+  "node_modules/jsonschema/lib/attribute.js"(exports2, module2) {
+    "use strict";
+    var helpers = require_helpers();
+    var ValidatorResult = helpers.ValidatorResult;
+    var SchemaError = helpers.SchemaError;
+    var attribute = {};
+    attribute.ignoreProperties = {
+      // informative properties
+      "id": true,
+      "default": true,
+      "description": true,
+      "title": true,
+      // arguments to other properties
+      "additionalItems": true,
+      "then": true,
+      "else": true,
+      // special-handled properties
+      "$schema": true,
+      "$ref": true,
+      "extends": true
+    };
+    var validators = attribute.validators = {};
+    validators.type = function validateType(instance, schema2, options, ctx) {
+      if (instance === void 0) {
+        return null;
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var types = Array.isArray(schema2.type) ? schema2.type : [schema2.type];
+      if (!types.some(this.testType.bind(this, instance, schema2, options, ctx))) {
+        var list = types.map(function(v) {
+          if (!v) return;
+          var id = v.$id || v.id;
+          return id ? "<" + id + ">" : v + "";
+        });
+        result.addError({
+          name: "type",
+          argument: list,
+          message: "is not of a type(s) " + list
+        });
+      }
+      return result;
+    };
+    function testSchemaNoThrow(instance, options, ctx, callback, schema2) {
+      var throwError2 = options.throwError;
+      var throwAll = options.throwAll;
+      options.throwError = false;
+      options.throwAll = false;
+      var res = this.validateSchema(instance, schema2, options, ctx);
+      options.throwError = throwError2;
+      options.throwAll = throwAll;
+      if (!res.valid && callback instanceof Function) {
+        callback(res);
+      }
+      return res.valid;
+    }
+    validators.anyOf = function validateAnyOf(instance, schema2, options, ctx) {
+      if (instance === void 0) {
+        return null;
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var inner = new ValidatorResult(instance, schema2, options, ctx);
+      if (!Array.isArray(schema2.anyOf)) {
+        throw new SchemaError("anyOf must be an array");
+      }
+      if (!schema2.anyOf.some(
+        testSchemaNoThrow.bind(
+          this,
+          instance,
+          options,
+          ctx,
+          function(res) {
+            inner.importErrors(res);
+          }
+        )
+      )) {
+        var list = schema2.anyOf.map(function(v, i) {
+          var id = v.$id || v.id;
+          if (id) return "<" + id + ">";
+          return v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]";
+        });
+        if (options.nestedErrors) {
+          result.importErrors(inner);
+        }
+        result.addError({
+          name: "anyOf",
+          argument: list,
+          message: "is not any of " + list.join(",")
+        });
+      }
+      return result;
+    };
+    validators.allOf = function validateAllOf(instance, schema2, options, ctx) {
+      if (instance === void 0) {
+        return null;
+      }
+      if (!Array.isArray(schema2.allOf)) {
+        throw new SchemaError("allOf must be an array");
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var self2 = this;
+      schema2.allOf.forEach(function(v, i) {
+        var valid3 = self2.validateSchema(instance, v, options, ctx);
+        if (!valid3.valid) {
+          var id = v.$id || v.id;
+          var msg = id || v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]";
+          result.addError({
+            name: "allOf",
+            argument: { id: msg, length: valid3.errors.length, valid: valid3 },
+            message: "does not match allOf schema " + msg + " with " + valid3.errors.length + " error[s]:"
+          });
+          result.importErrors(valid3);
+        }
+      });
+      return result;
+    };
+    validators.oneOf = function validateOneOf(instance, schema2, options, ctx) {
+      if (instance === void 0) {
+        return null;
+      }
+      if (!Array.isArray(schema2.oneOf)) {
+        throw new SchemaError("oneOf must be an array");
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var inner = new ValidatorResult(instance, schema2, options, ctx);
+      var count = schema2.oneOf.filter(
+        testSchemaNoThrow.bind(
+          this,
+          instance,
+          options,
+          ctx,
+          function(res) {
+            inner.importErrors(res);
+          }
+        )
+      ).length;
+      var list = schema2.oneOf.map(function(v, i) {
+        var id = v.$id || v.id;
+        return id || v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]";
+      });
+      if (count !== 1) {
+        if (options.nestedErrors) {
+          result.importErrors(inner);
+        }
+        result.addError({
+          name: "oneOf",
+          argument: list,
+          message: "is not exactly one from " + list.join(",")
+        });
+      }
+      return result;
+    };
+    validators.if = function validateIf(instance, schema2, options, ctx) {
+      if (instance === void 0) return null;
+      if (!helpers.isSchema(schema2.if)) throw new Error('Expected "if" keyword to be a schema');
+      var ifValid = testSchemaNoThrow.call(this, instance, options, ctx, null, schema2.if);
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var res;
+      if (ifValid) {
+        if (schema2.then === void 0) return;
+        if (!helpers.isSchema(schema2.then)) throw new Error('Expected "then" keyword to be a schema');
+        res = this.validateSchema(instance, schema2.then, options, ctx.makeChild(schema2.then));
+        result.importErrors(res);
+      } else {
+        if (schema2.else === void 0) return;
+        if (!helpers.isSchema(schema2.else)) throw new Error('Expected "else" keyword to be a schema');
+        res = this.validateSchema(instance, schema2.else, options, ctx.makeChild(schema2.else));
+        result.importErrors(res);
+      }
+      return result;
+    };
+    function getEnumerableProperty(object, key) {
+      if (Object.hasOwnProperty.call(object, key)) return object[key];
+      if (!(key in object)) return;
+      while (object = Object.getPrototypeOf(object)) {
+        if (Object.propertyIsEnumerable.call(object, key)) return object[key];
+      }
+    }
+    validators.propertyNames = function validatePropertyNames(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var subschema = schema2.propertyNames !== void 0 ? schema2.propertyNames : {};
+      if (!helpers.isSchema(subschema)) throw new SchemaError('Expected "propertyNames" to be a schema (object or boolean)');
+      for (var property in instance) {
+        if (getEnumerableProperty(instance, property) !== void 0) {
+          var res = this.validateSchema(property, subschema, options, ctx.makeChild(subschema));
+          result.importErrors(res);
+        }
+      }
+      return result;
+    };
+    validators.properties = function validateProperties(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var properties = schema2.properties || {};
+      for (var property in properties) {
+        var subschema = properties[property];
+        if (subschema === void 0) {
+          continue;
+        } else if (subschema === null) {
+          throw new SchemaError('Unexpected null, expected schema in "properties"');
+        }
+        if (typeof options.preValidateProperty == "function") {
+          options.preValidateProperty(instance, property, subschema, options, ctx);
+        }
+        var prop = getEnumerableProperty(instance, property);
+        var res = this.validateSchema(prop, subschema, options, ctx.makeChild(subschema, property));
+        if (res.instance !== result.instance[property]) result.instance[property] = res.instance;
+        result.importErrors(res);
+      }
+      return result;
+    };
+    function testAdditionalProperty(instance, schema2, options, ctx, property, result) {
+      if (!this.types.object(instance)) return;
+      if (schema2.properties && schema2.properties[property] !== void 0) {
+        return;
+      }
+      if (schema2.additionalProperties === false) {
+        result.addError({
+          name: "additionalProperties",
+          argument: property,
+          message: "is not allowed to have the additional property " + JSON.stringify(property)
+        });
+      } else {
+        var additionalProperties = schema2.additionalProperties || {};
+        if (typeof options.preValidateProperty == "function") {
+          options.preValidateProperty(instance, property, additionalProperties, options, ctx);
+        }
+        var res = this.validateSchema(instance[property], additionalProperties, options, ctx.makeChild(additionalProperties, property));
+        if (res.instance !== result.instance[property]) result.instance[property] = res.instance;
+        result.importErrors(res);
+      }
+    }
+    validators.patternProperties = function validatePatternProperties(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var patternProperties = schema2.patternProperties || {};
+      for (var property in instance) {
+        var test = true;
+        for (var pattern in patternProperties) {
+          var subschema = patternProperties[pattern];
+          if (subschema === void 0) {
+            continue;
+          } else if (subschema === null) {
+            throw new SchemaError('Unexpected null, expected schema in "patternProperties"');
+          }
+          try {
+            var regexp = new RegExp(pattern, "u");
+          } catch (_e) {
+            regexp = new RegExp(pattern);
+          }
+          if (!regexp.test(property)) {
+            continue;
+          }
+          test = false;
+          if (typeof options.preValidateProperty == "function") {
+            options.preValidateProperty(instance, property, subschema, options, ctx);
+          }
+          var res = this.validateSchema(instance[property], subschema, options, ctx.makeChild(subschema, property));
+          if (res.instance !== result.instance[property]) result.instance[property] = res.instance;
+          result.importErrors(res);
+        }
+        if (test) {
+          testAdditionalProperty.call(this, instance, schema2, options, ctx, property, result);
+        }
+      }
+      return result;
+    };
+    validators.additionalProperties = function validateAdditionalProperties(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      if (schema2.patternProperties) {
+        return null;
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      for (var property in instance) {
+        testAdditionalProperty.call(this, instance, schema2, options, ctx, property, result);
+      }
+      return result;
+    };
+    validators.minProperties = function validateMinProperties(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var keys = Object.keys(instance);
+      if (!(keys.length >= schema2.minProperties)) {
+        result.addError({
+          name: "minProperties",
+          argument: schema2.minProperties,
+          message: "does not meet minimum property length of " + schema2.minProperties
+        });
+      }
+      return result;
+    };
+    validators.maxProperties = function validateMaxProperties(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var keys = Object.keys(instance);
+      if (!(keys.length <= schema2.maxProperties)) {
+        result.addError({
+          name: "maxProperties",
+          argument: schema2.maxProperties,
+          message: "does not meet maximum property length of " + schema2.maxProperties
+        });
+      }
+      return result;
+    };
+    validators.items = function validateItems(instance, schema2, options, ctx) {
+      var self2 = this;
+      if (!this.types.array(instance)) return;
+      if (schema2.items === void 0) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      instance.every(function(value, i) {
+        if (Array.isArray(schema2.items)) {
+          var items = schema2.items[i] === void 0 ? schema2.additionalItems : schema2.items[i];
+        } else {
+          var items = schema2.items;
+        }
+        if (items === void 0) {
+          return true;
+        }
+        if (items === false) {
+          result.addError({
+            name: "items",
+            message: "additionalItems not permitted"
+          });
+          return false;
+        }
+        var res = self2.validateSchema(value, items, options, ctx.makeChild(items, i));
+        if (res.instance !== result.instance[i]) result.instance[i] = res.instance;
+        result.importErrors(res);
+        return true;
+      });
+      return result;
+    };
+    validators.contains = function validateContains(instance, schema2, options, ctx) {
+      var self2 = this;
+      if (!this.types.array(instance)) return;
+      if (schema2.contains === void 0) return;
+      if (!helpers.isSchema(schema2.contains)) throw new Error('Expected "contains" keyword to be a schema');
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var count = instance.some(function(value, i) {
+        var res = self2.validateSchema(value, schema2.contains, options, ctx.makeChild(schema2.contains, i));
+        return res.errors.length === 0;
+      });
+      if (count === false) {
+        result.addError({
+          name: "contains",
+          argument: schema2.contains,
+          message: "must contain an item matching given schema"
+        });
+      }
+      return result;
+    };
+    validators.minimum = function validateMinimum(instance, schema2, options, ctx) {
+      if (!this.types.number(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (schema2.exclusiveMinimum && schema2.exclusiveMinimum === true) {
+        if (!(instance > schema2.minimum)) {
+          result.addError({
+            name: "minimum",
+            argument: schema2.minimum,
+            message: "must be greater than " + schema2.minimum
+          });
+        }
+      } else {
+        if (!(instance >= schema2.minimum)) {
+          result.addError({
+            name: "minimum",
+            argument: schema2.minimum,
+            message: "must be greater than or equal to " + schema2.minimum
+          });
+        }
+      }
+      return result;
+    };
+    validators.maximum = function validateMaximum(instance, schema2, options, ctx) {
+      if (!this.types.number(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (schema2.exclusiveMaximum && schema2.exclusiveMaximum === true) {
+        if (!(instance < schema2.maximum)) {
+          result.addError({
+            name: "maximum",
+            argument: schema2.maximum,
+            message: "must be less than " + schema2.maximum
+          });
+        }
+      } else {
+        if (!(instance <= schema2.maximum)) {
+          result.addError({
+            name: "maximum",
+            argument: schema2.maximum,
+            message: "must be less than or equal to " + schema2.maximum
+          });
+        }
+      }
+      return result;
+    };
+    validators.exclusiveMinimum = function validateExclusiveMinimum(instance, schema2, options, ctx) {
+      if (typeof schema2.exclusiveMinimum === "boolean") return;
+      if (!this.types.number(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var valid3 = instance > schema2.exclusiveMinimum;
+      if (!valid3) {
+        result.addError({
+          name: "exclusiveMinimum",
+          argument: schema2.exclusiveMinimum,
+          message: "must be strictly greater than " + schema2.exclusiveMinimum
+        });
+      }
+      return result;
+    };
+    validators.exclusiveMaximum = function validateExclusiveMaximum(instance, schema2, options, ctx) {
+      if (typeof schema2.exclusiveMaximum === "boolean") return;
+      if (!this.types.number(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var valid3 = instance < schema2.exclusiveMaximum;
+      if (!valid3) {
+        result.addError({
+          name: "exclusiveMaximum",
+          argument: schema2.exclusiveMaximum,
+          message: "must be strictly less than " + schema2.exclusiveMaximum
+        });
+      }
+      return result;
+    };
+    var validateMultipleOfOrDivisbleBy = function validateMultipleOfOrDivisbleBy2(instance, schema2, options, ctx, validationType, errorMessage) {
+      if (!this.types.number(instance)) return;
+      var validationArgument = schema2[validationType];
+      if (validationArgument == 0) {
+        throw new SchemaError(validationType + " cannot be zero");
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var instanceDecimals = helpers.getDecimalPlaces(instance);
+      var divisorDecimals = helpers.getDecimalPlaces(validationArgument);
+      var maxDecimals = Math.max(instanceDecimals, divisorDecimals);
+      var multiplier = Math.pow(10, maxDecimals);
+      if (Math.round(instance * multiplier) % Math.round(validationArgument * multiplier) !== 0) {
+        result.addError({
+          name: validationType,
+          argument: validationArgument,
+          message: errorMessage + JSON.stringify(validationArgument)
+        });
+      }
+      return result;
+    };
+    validators.multipleOf = function validateMultipleOf(instance, schema2, options, ctx) {
+      return validateMultipleOfOrDivisbleBy.call(this, instance, schema2, options, ctx, "multipleOf", "is not a multiple of (divisible by) ");
+    };
+    validators.divisibleBy = function validateDivisibleBy(instance, schema2, options, ctx) {
+      return validateMultipleOfOrDivisbleBy.call(this, instance, schema2, options, ctx, "divisibleBy", "is not divisible by (multiple of) ");
+    };
+    validators.required = function validateRequired(instance, schema2, options, ctx) {
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (instance === void 0 && schema2.required === true) {
+        result.addError({
+          name: "required",
+          message: "is required"
+        });
+      } else if (this.types.object(instance) && Array.isArray(schema2.required)) {
+        schema2.required.forEach(function(n) {
+          if (getEnumerableProperty(instance, n) === void 0) {
+            result.addError({
+              name: "required",
+              argument: n,
+              message: "requires property " + JSON.stringify(n)
+            });
+          }
+        });
+      }
+      return result;
+    };
+    validators.pattern = function validatePattern(instance, schema2, options, ctx) {
+      if (!this.types.string(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var pattern = schema2.pattern;
+      try {
+        var regexp = new RegExp(pattern, "u");
+      } catch (_e) {
+        regexp = new RegExp(pattern);
+      }
+      if (!instance.match(regexp)) {
+        result.addError({
+          name: "pattern",
+          argument: schema2.pattern,
+          message: "does not match pattern " + JSON.stringify(schema2.pattern.toString())
+        });
+      }
+      return result;
+    };
+    validators.format = function validateFormat(instance, schema2, options, ctx) {
+      if (instance === void 0) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (!result.disableFormat && !helpers.isFormat(instance, schema2.format, this)) {
+        result.addError({
+          name: "format",
+          argument: schema2.format,
+          message: "does not conform to the " + JSON.stringify(schema2.format) + " format"
+        });
+      }
+      return result;
+    };
+    validators.minLength = function validateMinLength(instance, schema2, options, ctx) {
+      if (!this.types.string(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var hsp = instance.match(/[\uDC00-\uDFFF]/g);
+      var length = instance.length - (hsp ? hsp.length : 0);
+      if (!(length >= schema2.minLength)) {
+        result.addError({
+          name: "minLength",
+          argument: schema2.minLength,
+          message: "does not meet minimum length of " + schema2.minLength
+        });
+      }
+      return result;
+    };
+    validators.maxLength = function validateMaxLength(instance, schema2, options, ctx) {
+      if (!this.types.string(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var hsp = instance.match(/[\uDC00-\uDFFF]/g);
+      var length = instance.length - (hsp ? hsp.length : 0);
+      if (!(length <= schema2.maxLength)) {
+        result.addError({
+          name: "maxLength",
+          argument: schema2.maxLength,
+          message: "does not meet maximum length of " + schema2.maxLength
+        });
+      }
+      return result;
+    };
+    validators.minItems = function validateMinItems(instance, schema2, options, ctx) {
+      if (!this.types.array(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (!(instance.length >= schema2.minItems)) {
+        result.addError({
+          name: "minItems",
+          argument: schema2.minItems,
+          message: "does not meet minimum length of " + schema2.minItems
+        });
+      }
+      return result;
+    };
+    validators.maxItems = function validateMaxItems(instance, schema2, options, ctx) {
+      if (!this.types.array(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (!(instance.length <= schema2.maxItems)) {
+        result.addError({
+          name: "maxItems",
+          argument: schema2.maxItems,
+          message: "does not meet maximum length of " + schema2.maxItems
+        });
+      }
+      return result;
+    };
+    function testArrays(v, i, a) {
+      var j, len = a.length;
+      for (j = i + 1, len; j < len; j++) {
+        if (helpers.deepCompareStrict(v, a[j])) {
+          return false;
+        }
+      }
+      return true;
+    }
+    validators.uniqueItems = function validateUniqueItems(instance, schema2, options, ctx) {
+      if (schema2.uniqueItems !== true) return;
+      if (!this.types.array(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (!instance.every(testArrays)) {
+        result.addError({
+          name: "uniqueItems",
+          message: "contains duplicate item"
+        });
+      }
+      return result;
+    };
+    validators.dependencies = function validateDependencies(instance, schema2, options, ctx) {
+      if (!this.types.object(instance)) return;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      for (var property in schema2.dependencies) {
+        if (instance[property] === void 0) {
+          continue;
+        }
+        var dep = schema2.dependencies[property];
+        var childContext = ctx.makeChild(dep, property);
+        if (typeof dep == "string") {
+          dep = [dep];
+        }
+        if (Array.isArray(dep)) {
+          dep.forEach(function(prop) {
+            if (instance[prop] === void 0) {
+              result.addError({
+                // FIXME there's two different "dependencies" errors here with slightly different outputs
+                // Can we make these the same? Or should we create different error types?
+                name: "dependencies",
+                argument: childContext.propertyPath,
+                message: "property " + prop + " not found, required by " + childContext.propertyPath
+              });
+            }
+          });
+        } else {
+          var res = this.validateSchema(instance, dep, options, childContext);
+          if (result.instance !== res.instance) result.instance = res.instance;
+          if (res && res.errors.length) {
+            result.addError({
+              name: "dependencies",
+              argument: childContext.propertyPath,
+              message: "does not meet dependency required by " + childContext.propertyPath
+            });
+            result.importErrors(res);
+          }
+        }
+      }
+      return result;
+    };
+    validators["enum"] = function validateEnum(instance, schema2, options, ctx) {
+      if (instance === void 0) {
+        return null;
+      }
+      if (!Array.isArray(schema2["enum"])) {
+        throw new SchemaError("enum expects an array", schema2);
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (!schema2["enum"].some(helpers.deepCompareStrict.bind(null, instance))) {
+        result.addError({
+          name: "enum",
+          argument: schema2["enum"],
+          message: "is not one of enum values: " + schema2["enum"].map(String).join(",")
+        });
+      }
+      return result;
+    };
+    validators["const"] = function validateEnum(instance, schema2, options, ctx) {
+      if (instance === void 0) {
+        return null;
+      }
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (!helpers.deepCompareStrict(schema2["const"], instance)) {
+        result.addError({
+          name: "const",
+          argument: schema2["const"],
+          message: "does not exactly match expected constant: " + schema2["const"]
+        });
+      }
+      return result;
+    };
+    validators.not = validators.disallow = function validateNot(instance, schema2, options, ctx) {
+      var self2 = this;
+      if (instance === void 0) return null;
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      var notTypes = schema2.not || schema2.disallow;
+      if (!notTypes) return null;
+      if (!Array.isArray(notTypes)) notTypes = [notTypes];
+      notTypes.forEach(function(type2) {
+        if (self2.testType(instance, schema2, options, ctx, type2)) {
+          var id = type2 && (type2.$id || type2.id);
+          var schemaId = id || type2;
+          result.addError({
+            name: "not",
+            argument: schemaId,
+            message: "is of prohibited type " + schemaId
+          });
+        }
+      });
+      return result;
+    };
+    module2.exports = attribute;
+  }
+});
+
+// node_modules/jsonschema/lib/scan.js
+var require_scan = __commonJS({
+  "node_modules/jsonschema/lib/scan.js"(exports2, module2) {
+    "use strict";
+    var urilib = require("url");
+    var helpers = require_helpers();
+    module2.exports.SchemaScanResult = SchemaScanResult;
+    function SchemaScanResult(found, ref) {
+      this.id = found;
+      this.ref = ref;
+    }
+    module2.exports.scan = function scan(base, schema2) {
+      function scanSchema(baseuri, schema3) {
+        if (!schema3 || typeof schema3 != "object") return;
+        if (schema3.$ref) {
+          var resolvedUri = urilib.resolve(baseuri, schema3.$ref);
+          ref[resolvedUri] = ref[resolvedUri] ? ref[resolvedUri] + 1 : 0;
+          return;
+        }
+        var id = schema3.$id || schema3.id;
+        var ourBase = id ? urilib.resolve(baseuri, id) : baseuri;
+        if (ourBase) {
+          if (ourBase.indexOf("#") < 0) ourBase += "#";
+          if (found[ourBase]) {
+            if (!helpers.deepCompareStrict(found[ourBase], schema3)) {
+              throw new Error("Schema <" + ourBase + "> already exists with different definition");
+            }
+            return found[ourBase];
+          }
+          found[ourBase] = schema3;
+          if (ourBase[ourBase.length - 1] == "#") {
+            found[ourBase.substring(0, ourBase.length - 1)] = schema3;
+          }
+        }
+        scanArray(ourBase + "/items", Array.isArray(schema3.items) ? schema3.items : [schema3.items]);
+        scanArray(ourBase + "/extends", Array.isArray(schema3.extends) ? schema3.extends : [schema3.extends]);
+        scanSchema(ourBase + "/additionalItems", schema3.additionalItems);
+        scanObject(ourBase + "/properties", schema3.properties);
+        scanSchema(ourBase + "/additionalProperties", schema3.additionalProperties);
+        scanObject(ourBase + "/definitions", schema3.definitions);
+        scanObject(ourBase + "/patternProperties", schema3.patternProperties);
+        scanObject(ourBase + "/dependencies", schema3.dependencies);
+        scanArray(ourBase + "/disallow", schema3.disallow);
+        scanArray(ourBase + "/allOf", schema3.allOf);
+        scanArray(ourBase + "/anyOf", schema3.anyOf);
+        scanArray(ourBase + "/oneOf", schema3.oneOf);
+        scanSchema(ourBase + "/not", schema3.not);
+      }
+      function scanArray(baseuri, schemas) {
+        if (!Array.isArray(schemas)) return;
+        for (var i = 0; i < schemas.length; i++) {
+          scanSchema(baseuri + "/" + i, schemas[i]);
+        }
+      }
+      function scanObject(baseuri, schemas) {
+        if (!schemas || typeof schemas != "object") return;
+        for (var p in schemas) {
+          scanSchema(baseuri + "/" + p, schemas[p]);
+        }
+      }
+      var found = {};
+      var ref = {};
+      scanSchema(base, schema2);
+      return new SchemaScanResult(found, ref);
+    };
+  }
+});
+
+// node_modules/jsonschema/lib/validator.js
+var require_validator = __commonJS({
+  "node_modules/jsonschema/lib/validator.js"(exports2, module2) {
+    "use strict";
+    var urilib = require("url");
+    var attribute = require_attribute();
+    var helpers = require_helpers();
+    var scanSchema = require_scan().scan;
+    var ValidatorResult = helpers.ValidatorResult;
+    var ValidatorResultError = helpers.ValidatorResultError;
+    var SchemaError = helpers.SchemaError;
+    var SchemaContext = helpers.SchemaContext;
+    var anonymousBase = "/";
+    var Validator2 = function Validator3() {
+      this.customFormats = Object.create(Validator3.prototype.customFormats);
+      this.schemas = {};
+      this.unresolvedRefs = [];
+      this.types = Object.create(types);
+      this.attributes = Object.create(attribute.validators);
+    };
+    Validator2.prototype.customFormats = {};
+    Validator2.prototype.schemas = null;
+    Validator2.prototype.types = null;
+    Validator2.prototype.attributes = null;
+    Validator2.prototype.unresolvedRefs = null;
+    Validator2.prototype.addSchema = function addSchema(schema2, base) {
+      var self2 = this;
+      if (!schema2) {
+        return null;
+      }
+      var scan = scanSchema(base || anonymousBase, schema2);
+      var ourUri = base || schema2.$id || schema2.id;
+      for (var uri in scan.id) {
+        this.schemas[uri] = scan.id[uri];
+      }
+      for (var uri in scan.ref) {
+        this.unresolvedRefs.push(uri);
+      }
+      this.unresolvedRefs = this.unresolvedRefs.filter(function(uri2) {
+        return typeof self2.schemas[uri2] === "undefined";
+      });
+      return this.schemas[ourUri];
+    };
+    Validator2.prototype.addSubSchemaArray = function addSubSchemaArray(baseuri, schemas) {
+      if (!Array.isArray(schemas)) return;
+      for (var i = 0; i < schemas.length; i++) {
+        this.addSubSchema(baseuri, schemas[i]);
+      }
+    };
+    Validator2.prototype.addSubSchemaObject = function addSubSchemaArray(baseuri, schemas) {
+      if (!schemas || typeof schemas != "object") return;
+      for (var p in schemas) {
+        this.addSubSchema(baseuri, schemas[p]);
+      }
+    };
+    Validator2.prototype.setSchemas = function setSchemas(schemas) {
+      this.schemas = schemas;
+    };
+    Validator2.prototype.getSchema = function getSchema(urn) {
+      return this.schemas[urn];
+    };
+    Validator2.prototype.validate = function validate(instance, schema2, options, ctx) {
+      if (typeof schema2 !== "boolean" && typeof schema2 !== "object" || schema2 === null) {
+        throw new SchemaError("Expected `schema` to be an object or boolean");
+      }
+      if (!options) {
+        options = {};
+      }
+      var id = schema2.$id || schema2.id;
+      var base = urilib.resolve(options.base || anonymousBase, id || "");
+      if (!ctx) {
+        ctx = new SchemaContext(schema2, options, [], base, Object.create(this.schemas));
+        if (!ctx.schemas[base]) {
+          ctx.schemas[base] = schema2;
+        }
+        var found = scanSchema(base, schema2);
+        for (var n in found.id) {
+          var sch = found.id[n];
+          ctx.schemas[n] = sch;
+        }
+      }
+      if (options.required && instance === void 0) {
+        var result = new ValidatorResult(instance, schema2, options, ctx);
+        result.addError("is required, but is undefined");
+        return result;
+      }
+      var result = this.validateSchema(instance, schema2, options, ctx);
+      if (!result) {
+        throw new Error("Result undefined");
+      } else if (options.throwAll && result.errors.length) {
+        throw new ValidatorResultError(result);
+      }
+      return result;
+    };
+    function shouldResolve(schema2) {
+      var ref = typeof schema2 === "string" ? schema2 : schema2.$ref;
+      if (typeof ref == "string") return ref;
+      return false;
+    }
+    Validator2.prototype.validateSchema = function validateSchema(instance, schema2, options, ctx) {
+      var result = new ValidatorResult(instance, schema2, options, ctx);
+      if (typeof schema2 === "boolean") {
+        if (schema2 === true) {
+          schema2 = {};
+        } else if (schema2 === false) {
+          schema2 = { type: [] };
+        }
+      } else if (!schema2) {
+        throw new Error("schema is undefined");
+      }
+      if (schema2["extends"]) {
+        if (Array.isArray(schema2["extends"])) {
+          var schemaobj = { schema: schema2, ctx };
+          schema2["extends"].forEach(this.schemaTraverser.bind(this, schemaobj));
+          schema2 = schemaobj.schema;
+          schemaobj.schema = null;
+          schemaobj.ctx = null;
+          schemaobj = null;
+        } else {
+          schema2 = helpers.deepMerge(schema2, this.superResolve(schema2["extends"], ctx));
+        }
+      }
+      var switchSchema = shouldResolve(schema2);
+      if (switchSchema) {
+        var resolved = this.resolve(schema2, switchSchema, ctx);
+        var subctx = new SchemaContext(resolved.subschema, options, ctx.path, resolved.switchSchema, ctx.schemas);
+        return this.validateSchema(instance, resolved.subschema, options, subctx);
+      }
+      var skipAttributes = options && options.skipAttributes || [];
+      for (var key in schema2) {
+        if (!attribute.ignoreProperties[key] && skipAttributes.indexOf(key) < 0) {
+          var validatorErr = null;
+          var validator = this.attributes[key];
+          if (validator) {
+            validatorErr = validator.call(this, instance, schema2, options, ctx);
+          } else if (options.allowUnknownAttributes === false) {
+            throw new SchemaError("Unsupported attribute: " + key, schema2);
+          }
+          if (validatorErr) {
+            result.importErrors(validatorErr);
+          }
+        }
+      }
+      if (typeof options.rewrite == "function") {
+        var value = options.rewrite.call(this, instance, schema2, options, ctx);
+        result.instance = value;
+      }
+      return result;
+    };
+    Validator2.prototype.schemaTraverser = function schemaTraverser(schemaobj, s) {
+      schemaobj.schema = helpers.deepMerge(schemaobj.schema, this.superResolve(s, schemaobj.ctx));
+    };
+    Validator2.prototype.superResolve = function superResolve(schema2, ctx) {
+      var ref = shouldResolve(schema2);
+      if (ref) {
+        return this.resolve(schema2, ref, ctx).subschema;
+      }
+      return schema2;
+    };
+    Validator2.prototype.resolve = function resolve3(schema2, switchSchema, ctx) {
+      switchSchema = ctx.resolve(switchSchema);
+      if (ctx.schemas[switchSchema]) {
+        return { subschema: ctx.schemas[switchSchema], switchSchema };
+      }
+      var parsed = urilib.parse(switchSchema);
+      var fragment = parsed && parsed.hash;
+      var document2 = fragment && fragment.length && switchSchema.substr(0, switchSchema.length - fragment.length);
+      if (!document2 || !ctx.schemas[document2]) {
+        throw new SchemaError("no such schema <" + switchSchema + ">", schema2);
+      }
+      var subschema = helpers.objectGetPath(ctx.schemas[document2], fragment.substr(1));
+      if (subschema === void 0) {
+        throw new SchemaError("no such schema " + fragment + " located in <" + document2 + ">", schema2);
+      }
+      return { subschema, switchSchema };
+    };
+    Validator2.prototype.testType = function validateType(instance, schema2, options, ctx, type2) {
+      if (type2 === void 0) {
+        return;
+      } else if (type2 === null) {
+        throw new SchemaError('Unexpected null in "type" keyword');
+      }
+      if (typeof this.types[type2] == "function") {
+        return this.types[type2].call(this, instance);
+      }
+      if (type2 && typeof type2 == "object") {
+        var res = this.validateSchema(instance, type2, options, ctx);
+        return res === void 0 || !(res && res.errors.length);
+      }
+      return true;
+    };
+    var types = Validator2.prototype.types = {};
+    types.string = function testString(instance) {
+      return typeof instance == "string";
+    };
+    types.number = function testNumber(instance) {
+      return typeof instance == "number" && isFinite(instance);
+    };
+    types.integer = function testInteger(instance) {
+      return typeof instance == "number" && instance % 1 === 0;
+    };
+    types.boolean = function testBoolean(instance) {
+      return typeof instance == "boolean";
+    };
+    types.array = function testArray(instance) {
+      return Array.isArray(instance);
+    };
+    types["null"] = function testNull(instance) {
+      return instance === null;
+    };
+    types.date = function testDate(instance) {
+      return instance instanceof Date;
+    };
+    types.any = function testAny(instance) {
+      return true;
+    };
+    types.object = function testObject(instance) {
+      return instance && typeof instance === "object" && !Array.isArray(instance) && !(instance instanceof Date);
+    };
+    module2.exports = Validator2;
+  }
+});
+
+// node_modules/jsonschema/lib/index.js
+var require_lib2 = __commonJS({
+  "node_modules/jsonschema/lib/index.js"(exports2, module2) {
+    "use strict";
+    var Validator2 = module2.exports.Validator = require_validator();
+    module2.exports.ValidatorResult = require_helpers().ValidatorResult;
+    module2.exports.ValidatorResultError = require_helpers().ValidatorResultError;
+    module2.exports.ValidationError = require_helpers().ValidationError;
+    module2.exports.SchemaError = require_helpers().SchemaError;
+    module2.exports.SchemaScanResult = require_scan().SchemaScanResult;
+    module2.exports.scan = require_scan().scan;
+    module2.exports.validate = function(instance, schema2, options) {
+      var v = new Validator2();
+      return v.validate(instance, schema2, options);
+    };
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-glob-options-helper.js
+var require_internal_glob_options_helper = __commonJS({
+  "node_modules/@actions/glob/lib/internal-glob-options-helper.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getOptions = getOptions;
+    var core14 = __importStar2(require_core());
+    function getOptions(copy) {
+      const result = {
+        followSymbolicLinks: true,
+        implicitDescendants: true,
+        matchDirectories: true,
+        omitBrokenSymbolicLinks: true,
+        excludeHiddenFiles: false
+      };
+      if (copy) {
+        if (typeof copy.followSymbolicLinks === "boolean") {
+          result.followSymbolicLinks = copy.followSymbolicLinks;
+          core14.debug(`followSymbolicLinks '${result.followSymbolicLinks}'`);
+        }
+        if (typeof copy.implicitDescendants === "boolean") {
+          result.implicitDescendants = copy.implicitDescendants;
+          core14.debug(`implicitDescendants '${result.implicitDescendants}'`);
+        }
+        if (typeof copy.matchDirectories === "boolean") {
+          result.matchDirectories = copy.matchDirectories;
+          core14.debug(`matchDirectories '${result.matchDirectories}'`);
+        }
+        if (typeof copy.omitBrokenSymbolicLinks === "boolean") {
+          result.omitBrokenSymbolicLinks = copy.omitBrokenSymbolicLinks;
+          core14.debug(`omitBrokenSymbolicLinks '${result.omitBrokenSymbolicLinks}'`);
+        }
+        if (typeof copy.excludeHiddenFiles === "boolean") {
+          result.excludeHiddenFiles = copy.excludeHiddenFiles;
+          core14.debug(`excludeHiddenFiles '${result.excludeHiddenFiles}'`);
+        }
+      }
+      return result;
+    }
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-path-helper.js
+var require_internal_path_helper = __commonJS({
+  "node_modules/@actions/glob/lib/internal-path-helper.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.dirname = dirname3;
+    exports2.ensureAbsoluteRoot = ensureAbsoluteRoot;
+    exports2.hasAbsoluteRoot = hasAbsoluteRoot;
+    exports2.hasRoot = hasRoot;
+    exports2.normalizeSeparators = normalizeSeparators;
+    exports2.safeTrimTrailingSeparator = safeTrimTrailingSeparator;
+    var path4 = __importStar2(require("path"));
+    var assert_1 = __importDefault2(require("assert"));
+    var IS_WINDOWS = process.platform === "win32";
+    function dirname3(p) {
+      p = safeTrimTrailingSeparator(p);
+      if (IS_WINDOWS && /^\\\\[^\\]+(\\[^\\]+)?$/.test(p)) {
+        return p;
+      }
+      let result = path4.dirname(p);
+      if (IS_WINDOWS && /^\\\\[^\\]+\\[^\\]+\\$/.test(result)) {
+        result = safeTrimTrailingSeparator(result);
+      }
+      return result;
+    }
+    function ensureAbsoluteRoot(root, itemPath) {
+      (0, assert_1.default)(root, `ensureAbsoluteRoot parameter 'root' must not be empty`);
+      (0, assert_1.default)(itemPath, `ensureAbsoluteRoot parameter 'itemPath' must not be empty`);
+      if (hasAbsoluteRoot(itemPath)) {
+        return itemPath;
+      }
+      if (IS_WINDOWS) {
+        if (itemPath.match(/^[A-Z]:[^\\/]|^[A-Z]:$/i)) {
+          let cwd = process.cwd();
+          (0, assert_1.default)(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`);
+          if (itemPath[0].toUpperCase() === cwd[0].toUpperCase()) {
+            if (itemPath.length === 2) {
+              return `${itemPath[0]}:\\${cwd.substr(3)}`;
+            } else {
+              if (!cwd.endsWith("\\")) {
+                cwd += "\\";
+              }
+              return `${itemPath[0]}:\\${cwd.substr(3)}${itemPath.substr(2)}`;
+            }
+          } else {
+            return `${itemPath[0]}:\\${itemPath.substr(2)}`;
+          }
+        } else if (normalizeSeparators(itemPath).match(/^\\$|^\\[^\\]/)) {
+          const cwd = process.cwd();
+          (0, assert_1.default)(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`);
+          return `${cwd[0]}:\\${itemPath.substr(1)}`;
+        }
+      }
+      (0, assert_1.default)(hasAbsoluteRoot(root), `ensureAbsoluteRoot parameter 'root' must have an absolute root`);
+      if (root.endsWith("/") || IS_WINDOWS && root.endsWith("\\")) {
+      } else {
+        root += path4.sep;
+      }
+      return root + itemPath;
+    }
+    function hasAbsoluteRoot(itemPath) {
+      (0, assert_1.default)(itemPath, `hasAbsoluteRoot parameter 'itemPath' must not be empty`);
+      itemPath = normalizeSeparators(itemPath);
+      if (IS_WINDOWS) {
+        return itemPath.startsWith("\\\\") || /^[A-Z]:\\/i.test(itemPath);
+      }
+      return itemPath.startsWith("/");
+    }
+    function hasRoot(itemPath) {
+      (0, assert_1.default)(itemPath, `isRooted parameter 'itemPath' must not be empty`);
+      itemPath = normalizeSeparators(itemPath);
+      if (IS_WINDOWS) {
+        return itemPath.startsWith("\\") || /^[A-Z]:/i.test(itemPath);
+      }
+      return itemPath.startsWith("/");
+    }
+    function normalizeSeparators(p) {
+      p = p || "";
+      if (IS_WINDOWS) {
+        p = p.replace(/\//g, "\\");
+        const isUnc = /^\\\\+[^\\]/.test(p);
+        return (isUnc ? "\\" : "") + p.replace(/\\\\+/g, "\\");
+      }
+      return p.replace(/\/\/+/g, "/");
+    }
+    function safeTrimTrailingSeparator(p) {
+      if (!p) {
+        return "";
+      }
+      p = normalizeSeparators(p);
+      if (!p.endsWith(path4.sep)) {
+        return p;
+      }
+      if (p === path4.sep) {
+        return p;
+      }
+      if (IS_WINDOWS && /^[A-Z]:\\$/i.test(p)) {
+        return p;
+      }
+      return p.substr(0, p.length - 1);
+    }
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-match-kind.js
+var require_internal_match_kind = __commonJS({
+  "node_modules/@actions/glob/lib/internal-match-kind.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MatchKind = void 0;
+    var MatchKind;
+    (function(MatchKind2) {
+      MatchKind2[MatchKind2["None"] = 0] = "None";
+      MatchKind2[MatchKind2["Directory"] = 1] = "Directory";
+      MatchKind2[MatchKind2["File"] = 2] = "File";
+      MatchKind2[MatchKind2["All"] = 3] = "All";
+    })(MatchKind || (exports2.MatchKind = MatchKind = {}));
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-pattern-helper.js
+var require_internal_pattern_helper = __commonJS({
+  "node_modules/@actions/glob/lib/internal-pattern-helper.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getSearchPaths = getSearchPaths;
+    exports2.match = match;
+    exports2.partialMatch = partialMatch;
+    var pathHelper = __importStar2(require_internal_path_helper());
+    var internal_match_kind_1 = require_internal_match_kind();
+    var IS_WINDOWS = process.platform === "win32";
+    function getSearchPaths(patterns) {
+      patterns = patterns.filter((x) => !x.negate);
+      const searchPathMap = {};
+      for (const pattern of patterns) {
+        const key = IS_WINDOWS ? pattern.searchPath.toUpperCase() : pattern.searchPath;
+        searchPathMap[key] = "candidate";
+      }
+      const result = [];
+      for (const pattern of patterns) {
+        const key = IS_WINDOWS ? pattern.searchPath.toUpperCase() : pattern.searchPath;
+        if (searchPathMap[key] === "included") {
+          continue;
+        }
+        let foundAncestor = false;
+        let tempKey = key;
+        let parent = pathHelper.dirname(tempKey);
+        while (parent !== tempKey) {
+          if (searchPathMap[parent]) {
+            foundAncestor = true;
+            break;
+          }
+          tempKey = parent;
+          parent = pathHelper.dirname(tempKey);
+        }
+        if (!foundAncestor) {
+          result.push(pattern.searchPath);
+          searchPathMap[key] = "included";
+        }
+      }
+      return result;
+    }
+    function match(patterns, itemPath) {
+      let result = internal_match_kind_1.MatchKind.None;
+      for (const pattern of patterns) {
+        if (pattern.negate) {
+          result &= ~pattern.match(itemPath);
+        } else {
+          result |= pattern.match(itemPath);
+        }
+      }
+      return result;
+    }
+    function partialMatch(patterns, itemPath) {
+      return patterns.some((x) => !x.negate && x.partialMatch(itemPath));
+    }
+  }
+});
+
+// node_modules/concat-map/index.js
+var require_concat_map = __commonJS({
+  "node_modules/concat-map/index.js"(exports2, module2) {
+    module2.exports = function(xs, fn) {
+      var res = [];
+      for (var i = 0; i < xs.length; i++) {
+        var x = fn(xs[i], i);
+        if (isArray(x)) res.push.apply(res, x);
+        else res.push(x);
+      }
+      return res;
+    };
+    var isArray = Array.isArray || function(xs) {
+      return Object.prototype.toString.call(xs) === "[object Array]";
+    };
+  }
+});
+
+// node_modules/balanced-match/index.js
+var require_balanced_match = __commonJS({
+  "node_modules/balanced-match/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports = balanced;
+    function balanced(a, b, str2) {
+      if (a instanceof RegExp) a = maybeMatch(a, str2);
+      if (b instanceof RegExp) b = maybeMatch(b, str2);
+      var r = range(a, b, str2);
+      return r && {
+        start: r[0],
+        end: r[1],
+        pre: str2.slice(0, r[0]),
+        body: str2.slice(r[0] + a.length, r[1]),
+        post: str2.slice(r[1] + b.length)
+      };
+    }
+    function maybeMatch(reg, str2) {
+      var m = str2.match(reg);
+      return m ? m[0] : null;
+    }
+    balanced.range = range;
+    function range(a, b, str2) {
+      var begs, beg, left, right, result;
+      var ai = str2.indexOf(a);
+      var bi = str2.indexOf(b, ai + 1);
+      var i = ai;
+      if (ai >= 0 && bi > 0) {
+        begs = [];
+        left = str2.length;
+        while (i >= 0 && !result) {
+          if (i == ai) {
+            begs.push(i);
+            ai = str2.indexOf(a, i + 1);
+          } else if (begs.length == 1) {
+            result = [begs.pop(), bi];
+          } else {
+            beg = begs.pop();
+            if (beg < left) {
+              left = beg;
+              right = bi;
+            }
+            bi = str2.indexOf(b, i + 1);
+          }
+          i = ai < bi && ai >= 0 ? ai : bi;
+        }
+        if (begs.length) {
+          result = [left, right];
+        }
+      }
+      return result;
+    }
+  }
+});
+
+// node_modules/brace-expansion/index.js
+var require_brace_expansion = __commonJS({
+  "node_modules/brace-expansion/index.js"(exports2, module2) {
+    var concatMap = require_concat_map();
+    var balanced = require_balanced_match();
+    module2.exports = expandTop;
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    function numeric(str2) {
+      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
+    }
+    function escapeBraces(str2) {
+      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
+    }
+    function unescapeBraces(str2) {
+      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
+    }
+    function parseCommaParts(str2) {
+      if (!str2)
+        return [""];
+      var parts = [];
+      var m = balanced("{", "}", str2);
+      if (!m)
+        return str2.split(",");
+      var pre = m.pre;
+      var body = m.body;
+      var post = m.post;
+      var p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      var postParts = parseCommaParts(post);
+      if (post.length) {
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
+      }
+      parts.push.apply(parts, p);
+      return parts;
+    }
+    function expandTop(str2) {
+      if (!str2)
+        return [];
+      if (str2.substr(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.substr(2);
+      }
+      return expand2(escapeBraces(str2), true).map(unescapeBraces);
+    }
+    function embrace(str2) {
+      return "{" + str2 + "}";
+    }
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
+    }
+    function lte(i, y) {
+      return i <= y;
+    }
+    function gte6(i, y) {
+      return i >= y;
+    }
+    function expand2(str2, isTop) {
+      var expansions = [];
+      var m = balanced("{", "}", str2);
+      if (!m || /\$$/.test(m.pre)) return [str2];
+      var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+      var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+      var isSequence = isNumericSequence || isAlphaSequence;
+      var isOptions = m.body.indexOf(",") >= 0;
+      if (!isSequence && !isOptions) {
+        if (m.post.match(/,(?!,).*\}/)) {
+          str2 = m.pre + "{" + m.body + escClose + m.post;
+          return expand2(str2);
+        }
+        return [str2];
+      }
+      var n;
+      if (isSequence) {
+        n = m.body.split(/\.\./);
+      } else {
+        n = parseCommaParts(m.body);
+        if (n.length === 1) {
+          n = expand2(n[0], false).map(embrace);
+          if (n.length === 1) {
+            var post = m.post.length ? expand2(m.post, false) : [""];
+            return post.map(function(p) {
+              return m.pre + n[0] + p;
+            });
+          }
+        }
+      }
+      var pre = m.pre;
+      var post = m.post.length ? expand2(m.post, false) : [""];
+      var N;
+      if (isSequence) {
+        var x = numeric(n[0]);
+        var y = numeric(n[1]);
+        var width = Math.max(n[0].length, n[1].length);
+        var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
+        var test = lte;
+        var reverse = y < x;
+        if (reverse) {
+          incr *= -1;
+          test = gte6;
+        }
+        var pad = n.some(isPadded);
+        N = [];
+        for (var i = x; test(i, y); i += incr) {
+          var c;
+          if (isAlphaSequence) {
+            c = String.fromCharCode(i);
+            if (c === "\\")
+              c = "";
+          } else {
+            c = String(i);
+            if (pad) {
+              var need = width - c.length;
+              if (need > 0) {
+                var z = new Array(need + 1).join("0");
+                if (i < 0)
+                  c = "-" + z + c.slice(1);
+                else
+                  c = z + c;
+              }
+            }
+          }
+          N.push(c);
+        }
+      } else {
+        N = concatMap(n, function(el) {
+          return expand2(el, false);
+        });
+      }
+      for (var j = 0; j < N.length; j++) {
+        for (var k = 0; k < post.length; k++) {
+          var expansion = pre + N[j] + post[k];
+          if (!isTop || isSequence || expansion)
+            expansions.push(expansion);
+        }
+      }
+      return expansions;
+    }
+  }
+});
+
+// node_modules/minimatch/minimatch.js
+var require_minimatch = __commonJS({
+  "node_modules/minimatch/minimatch.js"(exports2, module2) {
+    module2.exports = minimatch;
+    minimatch.Minimatch = Minimatch;
+    var path4 = (function() {
+      try {
+        return require("path");
+      } catch (e) {
+      }
+    })() || {
+      sep: "/"
+    };
+    minimatch.sep = path4.sep;
+    var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {};
+    var expand2 = require_brace_expansion();
+    var plTypes = {
+      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
+      "?": { open: "(?:", close: ")?" },
+      "+": { open: "(?:", close: ")+" },
+      "*": { open: "(?:", close: ")*" },
+      "@": { open: "(?:", close: ")" }
+    };
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var reSpecials = charSet("().*{}+?[]^$\\!");
+    function charSet(s) {
+      return s.split("").reduce(function(set2, c) {
+        set2[c] = true;
+        return set2;
+      }, {});
+    }
+    var slashSplit = /\/+/;
+    minimatch.filter = filter;
+    function filter(pattern, options) {
+      options = options || {};
+      return function(p, i, list) {
+        return minimatch(p, pattern, options);
+      };
+    }
+    function ext(a, b) {
+      b = b || {};
+      var t = {};
+      Object.keys(a).forEach(function(k) {
+        t[k] = a[k];
+      });
+      Object.keys(b).forEach(function(k) {
+        t[k] = b[k];
+      });
+      return t;
+    }
+    minimatch.defaults = function(def) {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return minimatch;
+      }
+      var orig = minimatch;
+      var m = function minimatch2(p, pattern, options) {
+        return orig(p, pattern, ext(def, options));
+      };
+      m.Minimatch = function Minimatch2(pattern, options) {
+        return new orig.Minimatch(pattern, ext(def, options));
+      };
+      m.Minimatch.defaults = function defaults(options) {
+        return orig.defaults(ext(def, options)).Minimatch;
+      };
+      m.filter = function filter2(pattern, options) {
+        return orig.filter(pattern, ext(def, options));
+      };
+      m.defaults = function defaults(options) {
+        return orig.defaults(ext(def, options));
+      };
+      m.makeRe = function makeRe2(pattern, options) {
+        return orig.makeRe(pattern, ext(def, options));
+      };
+      m.braceExpand = function braceExpand2(pattern, options) {
+        return orig.braceExpand(pattern, ext(def, options));
+      };
+      m.match = function(list, pattern, options) {
+        return orig.match(list, pattern, ext(def, options));
+      };
+      return m;
+    };
+    Minimatch.defaults = function(def) {
+      return minimatch.defaults(def).Minimatch;
+    };
+    function minimatch(p, pattern, options) {
+      assertValidPattern(pattern);
+      if (!options) options = {};
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
+      }
+      return new Minimatch(pattern, options).match(p);
+    }
+    function Minimatch(pattern, options) {
+      if (!(this instanceof Minimatch)) {
+        return new Minimatch(pattern, options);
+      }
+      assertValidPattern(pattern);
+      if (!options) options = {};
+      pattern = pattern.trim();
+      if (!options.allowWindowsEscape && path4.sep !== "/") {
+        pattern = pattern.split(path4.sep).join("/");
+      }
+      this.options = options;
+      this.set = [];
+      this.pattern = pattern;
+      this.regexp = null;
+      this.negate = false;
+      this.comment = false;
+      this.empty = false;
+      this.partial = !!options.partial;
+      this.make();
+    }
+    Minimatch.prototype.debug = function() {
+    };
+    Minimatch.prototype.make = make;
+    function make() {
+      var pattern = this.pattern;
+      var options = this.options;
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        this.comment = true;
+        return;
+      }
+      if (!pattern) {
+        this.empty = true;
+        return;
+      }
+      this.parseNegate();
+      var set2 = this.globSet = this.braceExpand();
+      if (options.debug) this.debug = function debug4() {
+        console.error.apply(console, arguments);
+      };
+      this.debug(this.pattern, set2);
+      set2 = this.globParts = set2.map(function(s) {
+        return s.split(slashSplit);
+      });
+      this.debug(this.pattern, set2);
+      set2 = set2.map(function(s, si, set3) {
+        return s.map(this.parse, this);
+      }, this);
+      this.debug(this.pattern, set2);
+      set2 = set2.filter(function(s) {
+        return s.indexOf(false) === -1;
+      });
+      this.debug(this.pattern, set2);
+      this.set = set2;
+    }
+    Minimatch.prototype.parseNegate = parseNegate;
+    function parseNegate() {
+      var pattern = this.pattern;
+      var negate = false;
+      var options = this.options;
+      var negateOffset = 0;
+      if (options.nonegate) return;
+      for (var i = 0, l = pattern.length; i < l && pattern.charAt(i) === "!"; i++) {
+        negate = !negate;
+        negateOffset++;
+      }
+      if (negateOffset) this.pattern = pattern.substr(negateOffset);
+      this.negate = negate;
+    }
+    minimatch.braceExpand = function(pattern, options) {
+      return braceExpand(pattern, options);
+    };
+    Minimatch.prototype.braceExpand = braceExpand;
+    function braceExpand(pattern, options) {
+      if (!options) {
+        if (this instanceof Minimatch) {
+          options = this.options;
+        } else {
+          options = {};
+        }
+      }
+      pattern = typeof pattern === "undefined" ? this.pattern : pattern;
+      assertValidPattern(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
+      }
+      return expand2(pattern);
+    }
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = function(pattern) {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
+      }
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
+      }
+    };
+    Minimatch.prototype.parse = parse2;
+    var SUBPARSE = {};
+    function parse2(pattern, isSub) {
+      assertValidPattern(pattern);
+      var options = this.options;
+      if (pattern === "**") {
+        if (!options.noglobstar)
+          return GLOBSTAR;
+        else
+          pattern = "*";
+      }
+      if (pattern === "") return "";
+      var re = "";
+      var hasMagic = !!options.nocase;
+      var escaping = false;
+      var patternListStack = [];
+      var negativeLists = [];
+      var stateChar;
+      var inClass = false;
+      var reClassStart = -1;
+      var classStart = -1;
+      var patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+      var self2 = this;
+      function clearStateChar() {
+        if (stateChar) {
+          switch (stateChar) {
+            case "*":
+              re += star;
+              hasMagic = true;
+              break;
+            case "?":
+              re += qmark;
+              hasMagic = true;
+              break;
+            default:
+              re += "\\" + stateChar;
+              break;
+          }
+          self2.debug("clearStateChar %j %j", stateChar, re);
+          stateChar = false;
+        }
+      }
+      for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) {
+        this.debug("%s	%s %s %j", pattern, i, re, c);
+        if (escaping && reSpecials[c]) {
+          re += "\\" + c;
+          escaping = false;
+          continue;
+        }
+        switch (c) {
+          /* istanbul ignore next */
+          case "/": {
+            return false;
+          }
+          case "\\":
+            clearStateChar();
+            escaping = true;
+            continue;
+          // the various stateChar values
+          // for the "extglob" stuff.
+          case "?":
+          case "*":
+          case "+":
+          case "@":
+          case "!":
+            this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
+            if (inClass) {
+              this.debug("  in class");
+              if (c === "!" && i === classStart + 1) c = "^";
+              re += c;
+              continue;
+            }
+            self2.debug("call clearStateChar %j", stateChar);
+            clearStateChar();
+            stateChar = c;
+            if (options.noext) clearStateChar();
+            continue;
+          case "(":
+            if (inClass) {
+              re += "(";
+              continue;
+            }
+            if (!stateChar) {
+              re += "\\(";
+              continue;
+            }
+            patternListStack.push({
+              type: stateChar,
+              start: i - 1,
+              reStart: re.length,
+              open: plTypes[stateChar].open,
+              close: plTypes[stateChar].close
+            });
+            re += stateChar === "!" ? "(?:(?!(?:" : "(?:";
+            this.debug("plType %j %j", stateChar, re);
+            stateChar = false;
+            continue;
+          case ")":
+            if (inClass || !patternListStack.length) {
+              re += "\\)";
+              continue;
+            }
+            clearStateChar();
+            hasMagic = true;
+            var pl = patternListStack.pop();
+            re += pl.close;
+            if (pl.type === "!") {
+              negativeLists.push(pl);
+            }
+            pl.reEnd = re.length;
+            continue;
+          case "|":
+            if (inClass || !patternListStack.length || escaping) {
+              re += "\\|";
+              escaping = false;
+              continue;
+            }
+            clearStateChar();
+            re += "|";
+            continue;
+          // these are mostly the same in regexp and glob
+          case "[":
+            clearStateChar();
+            if (inClass) {
+              re += "\\" + c;
+              continue;
+            }
+            inClass = true;
+            classStart = i;
+            reClassStart = re.length;
+            re += c;
+            continue;
+          case "]":
+            if (i === classStart + 1 || !inClass) {
+              re += "\\" + c;
+              escaping = false;
+              continue;
+            }
+            var cs = pattern.substring(classStart + 1, i);
+            try {
+              RegExp("[" + cs + "]");
+            } catch (er) {
+              var sp = this.parse(cs, SUBPARSE);
+              re = re.substr(0, reClassStart) + "\\[" + sp[0] + "\\]";
+              hasMagic = hasMagic || sp[1];
+              inClass = false;
+              continue;
+            }
+            hasMagic = true;
+            inClass = false;
+            re += c;
+            continue;
+          default:
+            clearStateChar();
+            if (escaping) {
+              escaping = false;
+            } else if (reSpecials[c] && !(c === "^" && inClass)) {
+              re += "\\";
+            }
+            re += c;
+        }
+      }
+      if (inClass) {
+        cs = pattern.substr(classStart + 1);
+        sp = this.parse(cs, SUBPARSE);
+        re = re.substr(0, reClassStart) + "\\[" + sp[0];
+        hasMagic = hasMagic || sp[1];
+      }
+      for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
+        var tail = re.slice(pl.reStart + pl.open.length);
+        this.debug("setting tail", re, pl);
+        tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function(_2, $1, $2) {
+          if (!$2) {
+            $2 = "\\";
+          }
+          return $1 + $1 + $2 + "|";
+        });
+        this.debug("tail=%j\n   %s", tail, tail, pl, re);
+        var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
+        hasMagic = true;
+        re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+      }
+      clearStateChar();
+      if (escaping) {
+        re += "\\\\";
+      }
+      var addPatternStart = false;
+      switch (re.charAt(0)) {
+        case "[":
+        case ".":
+        case "(":
+          addPatternStart = true;
+      }
+      for (var n = negativeLists.length - 1; n > -1; n--) {
+        var nl = negativeLists[n];
+        var nlBefore = re.slice(0, nl.reStart);
+        var nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
+        var nlLast = re.slice(nl.reEnd - 8, nl.reEnd);
+        var nlAfter = re.slice(nl.reEnd);
+        nlLast += nlAfter;
+        var openParensBefore = nlBefore.split("(").length - 1;
+        var cleanAfter = nlAfter;
+        for (i = 0; i < openParensBefore; i++) {
+          cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
+        }
+        nlAfter = cleanAfter;
+        var dollar = "";
+        if (nlAfter === "" && isSub !== SUBPARSE) {
+          dollar = "$";
+        }
+        var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast;
+        re = newRe;
+      }
+      if (re !== "" && hasMagic) {
+        re = "(?=.)" + re;
+      }
+      if (addPatternStart) {
+        re = patternStart + re;
+      }
+      if (isSub === SUBPARSE) {
+        return [re, hasMagic];
+      }
+      if (!hasMagic) {
+        return globUnescape(pattern);
+      }
+      var flags = options.nocase ? "i" : "";
+      try {
+        var regExp = new RegExp("^" + re + "$", flags);
+      } catch (er) {
+        return new RegExp("$.");
+      }
+      regExp._glob = pattern;
+      regExp._src = re;
+      return regExp;
+    }
+    minimatch.makeRe = function(pattern, options) {
+      return new Minimatch(pattern, options || {}).makeRe();
+    };
+    Minimatch.prototype.makeRe = makeRe;
+    function makeRe() {
+      if (this.regexp || this.regexp === false) return this.regexp;
+      var set2 = this.set;
+      if (!set2.length) {
+        this.regexp = false;
+        return this.regexp;
+      }
+      var options = this.options;
+      var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+      var flags = options.nocase ? "i" : "";
+      var re = set2.map(function(pattern) {
+        return pattern.map(function(p) {
+          return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src;
+        }).join("\\/");
+      }).join("|");
+      re = "^(?:" + re + ")$";
+      if (this.negate) re = "^(?!" + re + ").*$";
+      try {
+        this.regexp = new RegExp(re, flags);
+      } catch (ex) {
+        this.regexp = false;
+      }
+      return this.regexp;
+    }
+    minimatch.match = function(list, pattern, options) {
+      options = options || {};
+      var mm = new Minimatch(pattern, options);
+      list = list.filter(function(f) {
+        return mm.match(f);
+      });
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
+      }
+      return list;
+    };
+    Minimatch.prototype.match = function match(f, partial) {
+      if (typeof partial === "undefined") partial = this.partial;
+      this.debug("match", f, this.pattern);
+      if (this.comment) return false;
+      if (this.empty) return f === "";
+      if (f === "/" && partial) return true;
+      var options = this.options;
+      if (path4.sep !== "/") {
+        f = f.split(path4.sep).join("/");
+      }
+      f = f.split(slashSplit);
+      this.debug(this.pattern, "split", f);
+      var set2 = this.set;
+      this.debug(this.pattern, "set", set2);
+      var filename;
+      var i;
+      for (i = f.length - 1; i >= 0; i--) {
+        filename = f[i];
+        if (filename) break;
+      }
+      for (i = 0; i < set2.length; i++) {
+        var pattern = set2[i];
+        var file = f;
+        if (options.matchBase && pattern.length === 1) {
+          file = [filename];
+        }
+        var hit = this.matchOne(file, pattern, partial);
+        if (hit) {
+          if (options.flipNegate) return true;
+          return !this.negate;
+        }
+      }
+      if (options.flipNegate) return false;
+      return this.negate;
+    };
+    Minimatch.prototype.matchOne = function(file, pattern, partial) {
+      var options = this.options;
+      this.debug(
+        "matchOne",
+        { "this": this, file, pattern }
+      );
+      this.debug("matchOne", file.length, pattern.length);
+      for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+        this.debug("matchOne loop");
+        var p = pattern[pi];
+        var f = file[fi];
+        this.debug(pattern, p, f);
+        if (p === false) return false;
+        if (p === GLOBSTAR) {
+          this.debug("GLOBSTAR", [pattern, p, f]);
+          var fr = fi;
+          var pr = pi + 1;
+          if (pr === pl) {
+            this.debug("** at the end");
+            for (; fi < fl; fi++) {
+              if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
+            }
+            return true;
+          }
+          while (fr < fl) {
+            var swallowee = file[fr];
+            this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+            if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+              this.debug("globstar found match!", fr, fl, swallowee);
+              return true;
+            } else {
+              if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                this.debug("dot detected!", file, fr, pattern, pr);
+                break;
+              }
+              this.debug("globstar swallow a segment, and continue");
+              fr++;
+            }
+          }
+          if (partial) {
+            this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+            if (fr === fl) return true;
+          }
+          return false;
+        }
+        var hit;
+        if (typeof p === "string") {
+          hit = f === p;
+          this.debug("string match", p, f, hit);
+        } else {
+          hit = f.match(p);
+          this.debug("pattern match", p, f, hit);
+        }
+        if (!hit) return false;
+      }
+      if (fi === fl && pi === pl) {
+        return true;
+      } else if (fi === fl) {
+        return partial;
+      } else if (pi === pl) {
+        return fi === fl - 1 && file[fi] === "";
+      }
+      throw new Error("wtf?");
+    };
+    function globUnescape(s) {
+      return s.replace(/\\(.)/g, "$1");
+    }
+    function regExpEscape(s) {
+      return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    }
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-path.js
+var require_internal_path = __commonJS({
+  "node_modules/@actions/glob/lib/internal-path.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Path = void 0;
+    var path4 = __importStar2(require("path"));
+    var pathHelper = __importStar2(require_internal_path_helper());
+    var assert_1 = __importDefault2(require("assert"));
+    var IS_WINDOWS = process.platform === "win32";
+    var Path = class {
+      /**
+       * Constructs a Path
+       * @param itemPath Path or array of segments
+       */
+      constructor(itemPath) {
+        this.segments = [];
+        if (typeof itemPath === "string") {
+          (0, assert_1.default)(itemPath, `Parameter 'itemPath' must not be empty`);
+          itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
+          if (!pathHelper.hasRoot(itemPath)) {
+            this.segments = itemPath.split(path4.sep);
+          } else {
+            let remaining = itemPath;
+            let dir = pathHelper.dirname(remaining);
+            while (dir !== remaining) {
+              const basename2 = path4.basename(remaining);
+              this.segments.unshift(basename2);
+              remaining = dir;
+              dir = pathHelper.dirname(remaining);
+            }
+            this.segments.unshift(remaining);
+          }
+        } else {
+          (0, assert_1.default)(itemPath.length > 0, `Parameter 'itemPath' must not be an empty array`);
+          for (let i = 0; i < itemPath.length; i++) {
+            let segment = itemPath[i];
+            (0, assert_1.default)(segment, `Parameter 'itemPath' must not contain any empty segments`);
+            segment = pathHelper.normalizeSeparators(itemPath[i]);
+            if (i === 0 && pathHelper.hasRoot(segment)) {
+              segment = pathHelper.safeTrimTrailingSeparator(segment);
+              (0, assert_1.default)(segment === pathHelper.dirname(segment), `Parameter 'itemPath' root segment contains information for multiple segments`);
+              this.segments.push(segment);
+            } else {
+              (0, assert_1.default)(!segment.includes(path4.sep), `Parameter 'itemPath' contains unexpected path separators`);
+              this.segments.push(segment);
+            }
+          }
+        }
+      }
+      /**
+       * Converts the path to it's string representation
+       */
+      toString() {
+        let result = this.segments[0];
+        let skipSlash = result.endsWith(path4.sep) || IS_WINDOWS && /^[A-Z]:$/i.test(result);
+        for (let i = 1; i < this.segments.length; i++) {
+          if (skipSlash) {
+            skipSlash = false;
+          } else {
+            result += path4.sep;
+          }
+          result += this.segments[i];
+        }
+        return result;
+      }
+    };
+    exports2.Path = Path;
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-pattern.js
+var require_internal_pattern = __commonJS({
+  "node_modules/@actions/glob/lib/internal-pattern.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Pattern = void 0;
+    var os2 = __importStar2(require("os"));
+    var path4 = __importStar2(require("path"));
+    var pathHelper = __importStar2(require_internal_path_helper());
+    var assert_1 = __importDefault2(require("assert"));
+    var minimatch_1 = require_minimatch();
+    var internal_match_kind_1 = require_internal_match_kind();
+    var internal_path_1 = require_internal_path();
+    var IS_WINDOWS = process.platform === "win32";
+    var Pattern = class _Pattern {
+      constructor(patternOrNegate, isImplicitPattern = false, segments, homedir) {
+        this.negate = false;
+        let pattern;
+        if (typeof patternOrNegate === "string") {
+          pattern = patternOrNegate.trim();
+        } else {
+          segments = segments || [];
+          (0, assert_1.default)(segments.length, `Parameter 'segments' must not empty`);
+          const root = _Pattern.getLiteral(segments[0]);
+          (0, assert_1.default)(root && pathHelper.hasAbsoluteRoot(root), `Parameter 'segments' first element must be a root path`);
+          pattern = new internal_path_1.Path(segments).toString().trim();
+          if (patternOrNegate) {
+            pattern = `!${pattern}`;
+          }
+        }
+        while (pattern.startsWith("!")) {
+          this.negate = !this.negate;
+          pattern = pattern.substr(1).trim();
+        }
+        pattern = _Pattern.fixupPattern(pattern, homedir);
+        this.segments = new internal_path_1.Path(pattern).segments;
+        this.trailingSeparator = pathHelper.normalizeSeparators(pattern).endsWith(path4.sep);
+        pattern = pathHelper.safeTrimTrailingSeparator(pattern);
+        let foundGlob = false;
+        const searchSegments = this.segments.map((x) => _Pattern.getLiteral(x)).filter((x) => !foundGlob && !(foundGlob = x === ""));
+        this.searchPath = new internal_path_1.Path(searchSegments).toString();
+        this.rootRegExp = new RegExp(_Pattern.regExpEscape(searchSegments[0]), IS_WINDOWS ? "i" : "");
+        this.isImplicitPattern = isImplicitPattern;
+        const minimatchOptions = {
+          dot: true,
+          nobrace: true,
+          nocase: IS_WINDOWS,
+          nocomment: true,
+          noext: true,
+          nonegate: true
+        };
+        pattern = IS_WINDOWS ? pattern.replace(/\\/g, "/") : pattern;
+        this.minimatch = new minimatch_1.Minimatch(pattern, minimatchOptions);
+      }
+      /**
+       * Matches the pattern against the specified path
+       */
+      match(itemPath) {
+        if (this.segments[this.segments.length - 1] === "**") {
+          itemPath = pathHelper.normalizeSeparators(itemPath);
+          if (!itemPath.endsWith(path4.sep) && this.isImplicitPattern === false) {
+            itemPath = `${itemPath}${path4.sep}`;
+          }
+        } else {
+          itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
+        }
+        if (this.minimatch.match(itemPath)) {
+          return this.trailingSeparator ? internal_match_kind_1.MatchKind.Directory : internal_match_kind_1.MatchKind.All;
+        }
+        return internal_match_kind_1.MatchKind.None;
+      }
+      /**
+       * Indicates whether the pattern may match descendants of the specified path
+       */
+      partialMatch(itemPath) {
+        itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
+        if (pathHelper.dirname(itemPath) === itemPath) {
+          return this.rootRegExp.test(itemPath);
+        }
+        return this.minimatch.matchOne(itemPath.split(IS_WINDOWS ? /\\+/ : /\/+/), this.minimatch.set[0], true);
+      }
+      /**
+       * Escapes glob patterns within a path
+       */
+      static globEscape(s) {
+        return (IS_WINDOWS ? s : s.replace(/\\/g, "\\\\")).replace(/(\[)(?=[^/]+\])/g, "[[]").replace(/\?/g, "[?]").replace(/\*/g, "[*]");
+      }
+      /**
+       * Normalizes slashes and ensures absolute root
+       */
+      static fixupPattern(pattern, homedir) {
+        (0, assert_1.default)(pattern, "pattern cannot be empty");
+        const literalSegments = new internal_path_1.Path(pattern).segments.map((x) => _Pattern.getLiteral(x));
+        (0, assert_1.default)(literalSegments.every((x, i) => (x !== "." || i === 0) && x !== ".."), `Invalid pattern '${pattern}'. Relative pathing '.' and '..' is not allowed.`);
+        (0, assert_1.default)(!pathHelper.hasRoot(pattern) || literalSegments[0], `Invalid pattern '${pattern}'. Root segment must not contain globs.`);
+        pattern = pathHelper.normalizeSeparators(pattern);
+        if (pattern === "." || pattern.startsWith(`.${path4.sep}`)) {
+          pattern = _Pattern.globEscape(process.cwd()) + pattern.substr(1);
+        } else if (pattern === "~" || pattern.startsWith(`~${path4.sep}`)) {
+          homedir = homedir || os2.homedir();
+          (0, assert_1.default)(homedir, "Unable to determine HOME directory");
+          (0, assert_1.default)(pathHelper.hasAbsoluteRoot(homedir), `Expected HOME directory to be a rooted path. Actual '${homedir}'`);
+          pattern = _Pattern.globEscape(homedir) + pattern.substr(1);
+        } else if (IS_WINDOWS && (pattern.match(/^[A-Z]:$/i) || pattern.match(/^[A-Z]:[^\\]/i))) {
+          let root = pathHelper.ensureAbsoluteRoot("C:\\dummy-root", pattern.substr(0, 2));
+          if (pattern.length > 2 && !root.endsWith("\\")) {
+            root += "\\";
+          }
+          pattern = _Pattern.globEscape(root) + pattern.substr(2);
+        } else if (IS_WINDOWS && (pattern === "\\" || pattern.match(/^\\[^\\]/))) {
+          let root = pathHelper.ensureAbsoluteRoot("C:\\dummy-root", "\\");
+          if (!root.endsWith("\\")) {
+            root += "\\";
+          }
+          pattern = _Pattern.globEscape(root) + pattern.substr(1);
+        } else {
+          pattern = pathHelper.ensureAbsoluteRoot(_Pattern.globEscape(process.cwd()), pattern);
+        }
+        return pathHelper.normalizeSeparators(pattern);
+      }
+      /**
+       * Attempts to unescape a pattern segment to create a literal path segment.
+       * Otherwise returns empty string.
+       */
+      static getLiteral(segment) {
+        let literal = "";
+        for (let i = 0; i < segment.length; i++) {
+          const c = segment[i];
+          if (c === "\\" && !IS_WINDOWS && i + 1 < segment.length) {
+            literal += segment[++i];
+            continue;
+          } else if (c === "*" || c === "?") {
+            return "";
+          } else if (c === "[" && i + 1 < segment.length) {
+            let set2 = "";
+            let closed = -1;
+            for (let i2 = i + 1; i2 < segment.length; i2++) {
+              const c2 = segment[i2];
+              if (c2 === "\\" && !IS_WINDOWS && i2 + 1 < segment.length) {
+                set2 += segment[++i2];
+                continue;
+              } else if (c2 === "]") {
+                closed = i2;
+                break;
+              } else {
+                set2 += c2;
+              }
+            }
+            if (closed >= 0) {
+              if (set2.length > 1) {
+                return "";
+              }
+              if (set2) {
+                literal += set2;
+                i = closed;
+                continue;
+              }
+            }
+          }
+          literal += c;
+        }
+        return literal;
+      }
+      /**
+       * Escapes regexp special characters
+       * https://javascript.info/regexp-escaping
+       */
+      static regExpEscape(s) {
+        return s.replace(/[[\\^$.|?*+()]/g, "\\$&");
+      }
+    };
+    exports2.Pattern = Pattern;
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-search-state.js
+var require_internal_search_state = __commonJS({
+  "node_modules/@actions/glob/lib/internal-search-state.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SearchState = void 0;
+    var SearchState = class {
+      constructor(path4, level) {
+        this.path = path4;
+        this.level = level;
+      }
+    };
+    exports2.SearchState = SearchState;
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-globber.js
+var require_internal_globber = __commonJS({
+  "node_modules/@actions/glob/lib/internal-globber.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    var __asyncValues2 = exports2 && exports2.__asyncValues || function(o) {
+      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+      var m = o[Symbol.asyncIterator], i;
+      return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
+        return this;
+      }, i);
+      function verb(n) {
+        i[n] = o[n] && function(v) {
+          return new Promise(function(resolve3, reject) {
+            v = o[n](v), settle(resolve3, reject, v.done, v.value);
+          });
+        };
+      }
+      function settle(resolve3, reject, d, v) {
+        Promise.resolve(v).then(function(v2) {
+          resolve3({ value: v2, done: d });
+        }, reject);
+      }
+    };
+    var __await2 = exports2 && exports2.__await || function(v) {
+      return this instanceof __await2 ? (this.v = v, this) : new __await2(v);
+    };
+    var __asyncGenerator2 = exports2 && exports2.__asyncGenerator || function(thisArg, _arguments, generator) {
+      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+      var g = generator.apply(thisArg, _arguments || []), i, q = [];
+      return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
+        return this;
+      }, i;
+      function awaitReturn(f) {
+        return function(v) {
+          return Promise.resolve(v).then(f, reject);
+        };
+      }
+      function verb(n, f) {
+        if (g[n]) {
+          i[n] = function(v) {
+            return new Promise(function(a, b) {
+              q.push([n, v, a, b]) > 1 || resume(n, v);
+            });
+          };
+          if (f) i[n] = f(i[n]);
+        }
+      }
+      function resume(n, v) {
+        try {
+          step(g[n](v));
+        } catch (e) {
+          settle(q[0][3], e);
+        }
+      }
+      function step(r) {
+        r.value instanceof __await2 ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
+      }
+      function fulfill(value) {
+        resume("next", value);
+      }
+      function reject(value) {
+        resume("throw", value);
+      }
+      function settle(f, v) {
+        if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
+      }
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DefaultGlobber = void 0;
+    var core14 = __importStar2(require_core());
+    var fs3 = __importStar2(require("fs"));
+    var globOptionsHelper = __importStar2(require_internal_glob_options_helper());
+    var path4 = __importStar2(require("path"));
+    var patternHelper = __importStar2(require_internal_pattern_helper());
+    var internal_match_kind_1 = require_internal_match_kind();
+    var internal_pattern_1 = require_internal_pattern();
+    var internal_search_state_1 = require_internal_search_state();
+    var IS_WINDOWS = process.platform === "win32";
+    var DefaultGlobber = class _DefaultGlobber {
+      constructor(options) {
+        this.patterns = [];
+        this.searchPaths = [];
+        this.options = globOptionsHelper.getOptions(options);
+      }
+      getSearchPaths() {
+        return this.searchPaths.slice();
+      }
+      glob() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          var _a, e_1, _b, _c;
+          const result = [];
+          try {
+            for (var _d = true, _e = __asyncValues2(this.globGenerator()), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
+              _c = _f.value;
+              _d = false;
+              const itemPath = _c;
+              result.push(itemPath);
+            }
+          } catch (e_1_1) {
+            e_1 = { error: e_1_1 };
+          } finally {
+            try {
+              if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
+            } finally {
+              if (e_1) throw e_1.error;
+            }
+          }
+          return result;
+        });
+      }
+      globGenerator() {
+        return __asyncGenerator2(this, arguments, function* globGenerator_1() {
+          const options = globOptionsHelper.getOptions(this.options);
+          const patterns = [];
+          for (const pattern of this.patterns) {
+            patterns.push(pattern);
+            if (options.implicitDescendants && (pattern.trailingSeparator || pattern.segments[pattern.segments.length - 1] !== "**")) {
+              patterns.push(new internal_pattern_1.Pattern(pattern.negate, true, pattern.segments.concat("**")));
+            }
+          }
+          const stack = [];
+          for (const searchPath of patternHelper.getSearchPaths(patterns)) {
+            core14.debug(`Search path '${searchPath}'`);
+            try {
+              yield __await2(fs3.promises.lstat(searchPath));
+            } catch (err) {
+              if (err.code === "ENOENT") {
+                continue;
+              }
+              throw err;
+            }
+            stack.unshift(new internal_search_state_1.SearchState(searchPath, 1));
+          }
+          const traversalChain = [];
+          while (stack.length) {
+            const item = stack.pop();
+            const match = patternHelper.match(patterns, item.path);
+            const partialMatch = !!match || patternHelper.partialMatch(patterns, item.path);
+            if (!match && !partialMatch) {
+              continue;
+            }
+            const stats = yield __await2(
+              _DefaultGlobber.stat(item, options, traversalChain)
+              // Broken symlink, or symlink cycle detected, or no longer exists
+            );
+            if (!stats) {
+              continue;
+            }
+            if (options.excludeHiddenFiles && path4.basename(item.path).match(/^\./)) {
+              continue;
+            }
+            if (stats.isDirectory()) {
+              if (match & internal_match_kind_1.MatchKind.Directory && options.matchDirectories) {
+                yield yield __await2(item.path);
+              } else if (!partialMatch) {
+                continue;
+              }
+              const childLevel = item.level + 1;
+              const childItems = (yield __await2(fs3.promises.readdir(item.path))).map((x) => new internal_search_state_1.SearchState(path4.join(item.path, x), childLevel));
+              stack.push(...childItems.reverse());
+            } else if (match & internal_match_kind_1.MatchKind.File) {
+              yield yield __await2(item.path);
+            }
+          }
+        });
+      }
+      /**
+       * Constructs a DefaultGlobber
+       */
+      static create(patterns, options) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const result = new _DefaultGlobber(options);
+          if (IS_WINDOWS) {
+            patterns = patterns.replace(/\r\n/g, "\n");
+            patterns = patterns.replace(/\r/g, "\n");
+          }
+          const lines = patterns.split("\n").map((x) => x.trim());
+          for (const line of lines) {
+            if (!line || line.startsWith("#")) {
+              continue;
+            } else {
+              result.patterns.push(new internal_pattern_1.Pattern(line));
+            }
+          }
+          result.searchPaths.push(...patternHelper.getSearchPaths(result.patterns));
+          return result;
+        });
+      }
+      static stat(item, options, traversalChain) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let stats;
+          if (options.followSymbolicLinks) {
+            try {
+              stats = yield fs3.promises.stat(item.path);
+            } catch (err) {
+              if (err.code === "ENOENT") {
+                if (options.omitBrokenSymbolicLinks) {
+                  core14.debug(`Broken symlink '${item.path}'`);
+                  return void 0;
+                }
+                throw new Error(`No information found for the path '${item.path}'. This may indicate a broken symbolic link.`);
+              }
+              throw err;
+            }
+          } else {
+            stats = yield fs3.promises.lstat(item.path);
+          }
+          if (stats.isDirectory() && options.followSymbolicLinks) {
+            const realPath = yield fs3.promises.realpath(item.path);
+            while (traversalChain.length >= item.level) {
+              traversalChain.pop();
+            }
+            if (traversalChain.some((x) => x === realPath)) {
+              core14.debug(`Symlink cycle detected for path '${item.path}' and realpath '${realPath}'`);
+              return void 0;
+            }
+            traversalChain.push(realPath);
+          }
+          return stats;
+        });
+      }
+    };
+    exports2.DefaultGlobber = DefaultGlobber;
+  }
+});
+
+// node_modules/@actions/glob/lib/internal-hash-files.js
+var require_internal_hash_files = __commonJS({
+  "node_modules/@actions/glob/lib/internal-hash-files.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    var __asyncValues2 = exports2 && exports2.__asyncValues || function(o) {
+      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+      var m = o[Symbol.asyncIterator], i;
+      return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
+        return this;
+      }, i);
+      function verb(n) {
+        i[n] = o[n] && function(v) {
+          return new Promise(function(resolve3, reject) {
+            v = o[n](v), settle(resolve3, reject, v.done, v.value);
+          });
+        };
+      }
+      function settle(resolve3, reject, d, v) {
+        Promise.resolve(v).then(function(v2) {
+          resolve3({ value: v2, done: d });
+        }, reject);
+      }
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hashFiles = hashFiles2;
+    var crypto2 = __importStar2(require("crypto"));
+    var core14 = __importStar2(require_core());
+    var fs3 = __importStar2(require("fs"));
+    var stream = __importStar2(require("stream"));
+    var util = __importStar2(require("util"));
+    var path4 = __importStar2(require("path"));
+    function hashFiles2(globber_1, currentWorkspace_1) {
+      return __awaiter2(this, arguments, void 0, function* (globber, currentWorkspace, verbose = false) {
+        var _a, e_1, _b, _c;
+        var _d;
+        const writeDelegate = verbose ? core14.info : core14.debug;
+        let hasMatch = false;
+        const githubWorkspace = currentWorkspace ? currentWorkspace : (_d = process.env["GITHUB_WORKSPACE"]) !== null && _d !== void 0 ? _d : process.cwd();
+        const result = crypto2.createHash("sha256");
+        let count = 0;
+        try {
+          for (var _e = true, _f = __asyncValues2(globber.globGenerator()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
+            _c = _g.value;
+            _e = false;
+            const file = _c;
+            writeDelegate(file);
+            if (!file.startsWith(`${githubWorkspace}${path4.sep}`)) {
+              writeDelegate(`Ignore '${file}' since it is not under GITHUB_WORKSPACE.`);
+              continue;
+            }
+            if (fs3.statSync(file).isDirectory()) {
+              writeDelegate(`Skip directory '${file}'.`);
+              continue;
+            }
+            const hash = crypto2.createHash("sha256");
+            const pipeline = util.promisify(stream.pipeline);
+            yield pipeline(fs3.createReadStream(file), hash);
+            result.write(hash.digest());
+            count++;
+            if (!hasMatch) {
+              hasMatch = true;
+            }
+          }
+        } catch (e_1_1) {
+          e_1 = { error: e_1_1 };
+        } finally {
+          try {
+            if (!_e && !_a && (_b = _f.return)) yield _b.call(_f);
+          } finally {
+            if (e_1) throw e_1.error;
+          }
+        }
+        result.end();
+        if (hasMatch) {
+          writeDelegate(`Found ${count} files to hash.`);
+          return result.digest("hex");
+        } else {
+          writeDelegate(`No matches found for glob`);
+          return "";
+        }
+      });
+    }
+  }
+});
+
+// node_modules/@actions/glob/lib/glob.js
+var require_glob = __commonJS({
+  "node_modules/@actions/glob/lib/glob.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.create = create3;
+    exports2.hashFiles = hashFiles2;
+    var internal_globber_1 = require_internal_globber();
+    var internal_hash_files_1 = require_internal_hash_files();
+    function create3(patterns, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        return yield internal_globber_1.DefaultGlobber.create(patterns, options);
+      });
+    }
+    function hashFiles2(patterns_1) {
+      return __awaiter2(this, arguments, void 0, function* (patterns, currentWorkspace = "", options, verbose = false) {
+        let followSymbolicLinks = true;
+        if (options && typeof options.followSymbolicLinks === "boolean") {
+          followSymbolicLinks = options.followSymbolicLinks;
+        }
+        const globber = yield create3(patterns, { followSymbolicLinks });
+        return (0, internal_hash_files_1.hashFiles)(globber, currentWorkspace, verbose);
+      });
+    }
+  }
+});
+
+// node_modules/@actions/cache/node_modules/semver/semver.js
+var require_semver3 = __commonJS({
+  "node_modules/@actions/cache/node_modules/semver/semver.js"(exports2, module2) {
+    exports2 = module2.exports = SemVer;
+    var debug4;
+    if (typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG)) {
+      debug4 = function() {
+        var args = Array.prototype.slice.call(arguments, 0);
+        args.unshift("SEMVER");
+        console.log.apply(console, args);
+      };
+    } else {
+      debug4 = function() {
+      };
+    }
+    exports2.SEMVER_SPEC_VERSION = "2.0.0";
+    var MAX_LENGTH = 256;
+    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
+    9007199254740991;
+    var MAX_SAFE_COMPONENT_LENGTH = 16;
+    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
+    var re = exports2.re = [];
+    var safeRe = exports2.safeRe = [];
+    var src = exports2.src = [];
+    var t = exports2.tokens = {};
+    var R = 0;
+    function tok(n) {
+      t[n] = R++;
+    }
+    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
+    var safeRegexReplacements = [
+      ["\\s", 1],
+      ["\\d", MAX_LENGTH],
+      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
+    ];
+    function makeSafeRe(value) {
+      for (var i2 = 0; i2 < safeRegexReplacements.length; i2++) {
+        var token = safeRegexReplacements[i2][0];
+        var max = safeRegexReplacements[i2][1];
+        value = value.split(token + "*").join(token + "{0," + max + "}").split(token + "+").join(token + "{1," + max + "}");
+      }
+      return value;
+    }
+    tok("NUMERICIDENTIFIER");
+    src[t.NUMERICIDENTIFIER] = "0|[1-9]\\d*";
+    tok("NUMERICIDENTIFIERLOOSE");
+    src[t.NUMERICIDENTIFIERLOOSE] = "\\d+";
+    tok("NONNUMERICIDENTIFIER");
+    src[t.NONNUMERICIDENTIFIER] = "\\d*[a-zA-Z-]" + LETTERDASHNUMBER + "*";
+    tok("MAINVERSION");
+    src[t.MAINVERSION] = "(" + src[t.NUMERICIDENTIFIER] + ")\\.(" + src[t.NUMERICIDENTIFIER] + ")\\.(" + src[t.NUMERICIDENTIFIER] + ")";
+    tok("MAINVERSIONLOOSE");
+    src[t.MAINVERSIONLOOSE] = "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[t.NUMERICIDENTIFIERLOOSE] + ")";
+    tok("PRERELEASEIDENTIFIER");
+    src[t.PRERELEASEIDENTIFIER] = "(?:" + src[t.NUMERICIDENTIFIER] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
+    tok("PRERELEASEIDENTIFIERLOOSE");
+    src[t.PRERELEASEIDENTIFIERLOOSE] = "(?:" + src[t.NUMERICIDENTIFIERLOOSE] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
+    tok("PRERELEASE");
+    src[t.PRERELEASE] = "(?:-(" + src[t.PRERELEASEIDENTIFIER] + "(?:\\." + src[t.PRERELEASEIDENTIFIER] + ")*))";
+    tok("PRERELEASELOOSE");
+    src[t.PRERELEASELOOSE] = "(?:-?(" + src[t.PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[t.PRERELEASEIDENTIFIERLOOSE] + ")*))";
+    tok("BUILDIDENTIFIER");
+    src[t.BUILDIDENTIFIER] = LETTERDASHNUMBER + "+";
+    tok("BUILD");
+    src[t.BUILD] = "(?:\\+(" + src[t.BUILDIDENTIFIER] + "(?:\\." + src[t.BUILDIDENTIFIER] + ")*))";
+    tok("FULL");
+    tok("FULLPLAIN");
+    src[t.FULLPLAIN] = "v?" + src[t.MAINVERSION] + src[t.PRERELEASE] + "?" + src[t.BUILD] + "?";
+    src[t.FULL] = "^" + src[t.FULLPLAIN] + "$";
+    tok("LOOSEPLAIN");
+    src[t.LOOSEPLAIN] = "[v=\\s]*" + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + "?" + src[t.BUILD] + "?";
+    tok("LOOSE");
+    src[t.LOOSE] = "^" + src[t.LOOSEPLAIN] + "$";
+    tok("GTLT");
+    src[t.GTLT] = "((?:<|>)?=?)";
+    tok("XRANGEIDENTIFIERLOOSE");
+    src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + "|x|X|\\*";
+    tok("XRANGEIDENTIFIER");
+    src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + "|x|X|\\*";
+    tok("XRANGEPLAIN");
+    src[t.XRANGEPLAIN] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIER] + ")(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")(?:" + src[t.PRERELEASE] + ")?" + src[t.BUILD] + "?)?)?";
+    tok("XRANGEPLAINLOOSE");
+    src[t.XRANGEPLAINLOOSE] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:" + src[t.PRERELEASELOOSE] + ")?" + src[t.BUILD] + "?)?)?";
+    tok("XRANGE");
+    src[t.XRANGE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAIN] + "$";
+    tok("XRANGELOOSE");
+    src[t.XRANGELOOSE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAINLOOSE] + "$";
+    tok("COERCE");
+    src[t.COERCE] = "(^|[^\\d])(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "})(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:$|[^\\d])";
+    tok("COERCERTL");
+    re[t.COERCERTL] = new RegExp(src[t.COERCE], "g");
+    safeRe[t.COERCERTL] = new RegExp(makeSafeRe(src[t.COERCE]), "g");
+    tok("LONETILDE");
+    src[t.LONETILDE] = "(?:~>?)";
+    tok("TILDETRIM");
+    src[t.TILDETRIM] = "(\\s*)" + src[t.LONETILDE] + "\\s+";
+    re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], "g");
+    safeRe[t.TILDETRIM] = new RegExp(makeSafeRe(src[t.TILDETRIM]), "g");
+    var tildeTrimReplace = "$1~";
+    tok("TILDE");
+    src[t.TILDE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAIN] + "$";
+    tok("TILDELOOSE");
+    src[t.TILDELOOSE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + "$";
+    tok("LONECARET");
+    src[t.LONECARET] = "(?:\\^)";
+    tok("CARETTRIM");
+    src[t.CARETTRIM] = "(\\s*)" + src[t.LONECARET] + "\\s+";
+    re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], "g");
+    safeRe[t.CARETTRIM] = new RegExp(makeSafeRe(src[t.CARETTRIM]), "g");
+    var caretTrimReplace = "$1^";
+    tok("CARET");
+    src[t.CARET] = "^" + src[t.LONECARET] + src[t.XRANGEPLAIN] + "$";
+    tok("CARETLOOSE");
+    src[t.CARETLOOSE] = "^" + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + "$";
+    tok("COMPARATORLOOSE");
+    src[t.COMPARATORLOOSE] = "^" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + ")$|^$";
+    tok("COMPARATOR");
+    src[t.COMPARATOR] = "^" + src[t.GTLT] + "\\s*(" + src[t.FULLPLAIN] + ")$|^$";
+    tok("COMPARATORTRIM");
+    src[t.COMPARATORTRIM] = "(\\s*)" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + "|" + src[t.XRANGEPLAIN] + ")";
+    re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], "g");
+    safeRe[t.COMPARATORTRIM] = new RegExp(makeSafeRe(src[t.COMPARATORTRIM]), "g");
+    var comparatorTrimReplace = "$1$2$3";
+    tok("HYPHENRANGE");
+    src[t.HYPHENRANGE] = "^\\s*(" + src[t.XRANGEPLAIN] + ")\\s+-\\s+(" + src[t.XRANGEPLAIN] + ")\\s*$";
+    tok("HYPHENRANGELOOSE");
+    src[t.HYPHENRANGELOOSE] = "^\\s*(" + src[t.XRANGEPLAINLOOSE] + ")\\s+-\\s+(" + src[t.XRANGEPLAINLOOSE] + ")\\s*$";
+    tok("STAR");
+    src[t.STAR] = "(<|>)?=?\\s*\\*";
+    for (i = 0; i < R; i++) {
+      debug4(i, src[i]);
+      if (!re[i]) {
+        re[i] = new RegExp(src[i]);
+        safeRe[i] = new RegExp(makeSafeRe(src[i]));
+      }
+    }
+    var i;
+    exports2.parse = parse2;
+    function parse2(version, options) {
+      if (!options || typeof options !== "object") {
+        options = {
+          loose: !!options,
+          includePrerelease: false
+        };
+      }
+      if (version instanceof SemVer) {
+        return version;
+      }
+      if (typeof version !== "string") {
+        return null;
+      }
+      if (version.length > MAX_LENGTH) {
+        return null;
+      }
+      var r = options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL];
+      if (!r.test(version)) {
+        return null;
+      }
+      try {
+        return new SemVer(version, options);
+      } catch (er) {
+        return null;
+      }
+    }
+    exports2.valid = valid3;
+    function valid3(version, options) {
+      var v = parse2(version, options);
+      return v ? v.version : null;
+    }
+    exports2.clean = clean3;
+    function clean3(version, options) {
+      var s = parse2(version.trim().replace(/^[=v]+/, ""), options);
+      return s ? s.version : null;
+    }
+    exports2.SemVer = SemVer;
+    function SemVer(version, options) {
+      if (!options || typeof options !== "object") {
+        options = {
+          loose: !!options,
+          includePrerelease: false
+        };
+      }
+      if (version instanceof SemVer) {
+        if (version.loose === options.loose) {
+          return version;
+        } else {
+          version = version.version;
+        }
+      } else if (typeof version !== "string") {
+        throw new TypeError("Invalid Version: " + version);
+      }
+      if (version.length > MAX_LENGTH) {
+        throw new TypeError("version is longer than " + MAX_LENGTH + " characters");
+      }
+      if (!(this instanceof SemVer)) {
+        return new SemVer(version, options);
+      }
+      debug4("SemVer", version, options);
+      this.options = options;
+      this.loose = !!options.loose;
+      var m = version.trim().match(options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL]);
+      if (!m) {
+        throw new TypeError("Invalid Version: " + version);
+      }
+      this.raw = version;
+      this.major = +m[1];
+      this.minor = +m[2];
+      this.patch = +m[3];
+      if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
+        throw new TypeError("Invalid major version");
+      }
+      if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
+        throw new TypeError("Invalid minor version");
+      }
+      if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
+        throw new TypeError("Invalid patch version");
+      }
+      if (!m[4]) {
+        this.prerelease = [];
+      } else {
+        this.prerelease = m[4].split(".").map(function(id) {
+          if (/^[0-9]+$/.test(id)) {
+            var num = +id;
+            if (num >= 0 && num < MAX_SAFE_INTEGER) {
+              return num;
+            }
+          }
+          return id;
+        });
+      }
+      this.build = m[5] ? m[5].split(".") : [];
+      this.format();
+    }
+    SemVer.prototype.format = function() {
+      this.version = this.major + "." + this.minor + "." + this.patch;
+      if (this.prerelease.length) {
+        this.version += "-" + this.prerelease.join(".");
+      }
+      return this.version;
+    };
+    SemVer.prototype.toString = function() {
+      return this.version;
+    };
+    SemVer.prototype.compare = function(other) {
+      debug4("SemVer.compare", this.version, this.options, other);
+      if (!(other instanceof SemVer)) {
+        other = new SemVer(other, this.options);
+      }
+      return this.compareMain(other) || this.comparePre(other);
+    };
+    SemVer.prototype.compareMain = function(other) {
+      if (!(other instanceof SemVer)) {
+        other = new SemVer(other, this.options);
+      }
+      return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
+    };
+    SemVer.prototype.comparePre = function(other) {
+      if (!(other instanceof SemVer)) {
+        other = new SemVer(other, this.options);
+      }
+      if (this.prerelease.length && !other.prerelease.length) {
+        return -1;
+      } else if (!this.prerelease.length && other.prerelease.length) {
+        return 1;
+      } else if (!this.prerelease.length && !other.prerelease.length) {
+        return 0;
+      }
+      var i2 = 0;
+      do {
+        var a = this.prerelease[i2];
+        var b = other.prerelease[i2];
+        debug4("prerelease compare", i2, a, b);
+        if (a === void 0 && b === void 0) {
+          return 0;
+        } else if (b === void 0) {
+          return 1;
+        } else if (a === void 0) {
+          return -1;
+        } else if (a === b) {
+          continue;
+        } else {
+          return compareIdentifiers(a, b);
+        }
+      } while (++i2);
+    };
+    SemVer.prototype.compareBuild = function(other) {
+      if (!(other instanceof SemVer)) {
+        other = new SemVer(other, this.options);
+      }
+      var i2 = 0;
+      do {
+        var a = this.build[i2];
+        var b = other.build[i2];
+        debug4("prerelease compare", i2, a, b);
+        if (a === void 0 && b === void 0) {
+          return 0;
+        } else if (b === void 0) {
+          return 1;
+        } else if (a === void 0) {
+          return -1;
+        } else if (a === b) {
+          continue;
+        } else {
+          return compareIdentifiers(a, b);
+        }
+      } while (++i2);
+    };
+    SemVer.prototype.inc = function(release, identifier) {
+      switch (release) {
+        case "premajor":
+          this.prerelease.length = 0;
+          this.patch = 0;
+          this.minor = 0;
+          this.major++;
+          this.inc("pre", identifier);
+          break;
+        case "preminor":
+          this.prerelease.length = 0;
+          this.patch = 0;
+          this.minor++;
+          this.inc("pre", identifier);
+          break;
+        case "prepatch":
+          this.prerelease.length = 0;
+          this.inc("patch", identifier);
+          this.inc("pre", identifier);
+          break;
+        // If the input is a non-prerelease version, this acts the same as
+        // prepatch.
+        case "prerelease":
+          if (this.prerelease.length === 0) {
+            this.inc("patch", identifier);
+          }
+          this.inc("pre", identifier);
+          break;
+        case "major":
+          if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
+            this.major++;
+          }
+          this.minor = 0;
+          this.patch = 0;
+          this.prerelease = [];
+          break;
+        case "minor":
+          if (this.patch !== 0 || this.prerelease.length === 0) {
+            this.minor++;
+          }
+          this.patch = 0;
+          this.prerelease = [];
+          break;
+        case "patch":
+          if (this.prerelease.length === 0) {
+            this.patch++;
+          }
+          this.prerelease = [];
+          break;
+        // This probably shouldn't be used publicly.
+        // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction.
+        case "pre":
+          if (this.prerelease.length === 0) {
+            this.prerelease = [0];
+          } else {
+            var i2 = this.prerelease.length;
+            while (--i2 >= 0) {
+              if (typeof this.prerelease[i2] === "number") {
+                this.prerelease[i2]++;
+                i2 = -2;
+              }
+            }
+            if (i2 === -1) {
+              this.prerelease.push(0);
+            }
+          }
+          if (identifier) {
+            if (this.prerelease[0] === identifier) {
+              if (isNaN(this.prerelease[1])) {
+                this.prerelease = [identifier, 0];
+              }
+            } else {
+              this.prerelease = [identifier, 0];
+            }
+          }
+          break;
+        default:
+          throw new Error("invalid increment argument: " + release);
+      }
+      this.format();
+      this.raw = this.version;
+      return this;
+    };
+    exports2.inc = inc;
+    function inc(version, release, loose, identifier) {
+      if (typeof loose === "string") {
+        identifier = loose;
+        loose = void 0;
+      }
+      try {
+        return new SemVer(version, loose).inc(release, identifier).version;
+      } catch (er) {
+        return null;
+      }
+    }
+    exports2.diff = diff;
+    function diff(version1, version2) {
+      if (eq(version1, version2)) {
+        return null;
+      } else {
+        var v1 = parse2(version1);
+        var v2 = parse2(version2);
+        var prefix = "";
+        if (v1.prerelease.length || v2.prerelease.length) {
+          prefix = "pre";
+          var defaultResult = "prerelease";
+        }
+        for (var key in v1) {
+          if (key === "major" || key === "minor" || key === "patch") {
+            if (v1[key] !== v2[key]) {
+              return prefix + key;
+            }
+          }
+        }
+        return defaultResult;
+      }
+    }
+    exports2.compareIdentifiers = compareIdentifiers;
+    var numeric = /^[0-9]+$/;
+    function compareIdentifiers(a, b) {
+      var anum = numeric.test(a);
+      var bnum = numeric.test(b);
+      if (anum && bnum) {
+        a = +a;
+        b = +b;
+      }
+      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
+    }
+    exports2.rcompareIdentifiers = rcompareIdentifiers;
+    function rcompareIdentifiers(a, b) {
+      return compareIdentifiers(b, a);
+    }
+    exports2.major = major;
+    function major(a, loose) {
+      return new SemVer(a, loose).major;
+    }
+    exports2.minor = minor;
+    function minor(a, loose) {
+      return new SemVer(a, loose).minor;
+    }
+    exports2.patch = patch;
+    function patch(a, loose) {
+      return new SemVer(a, loose).patch;
+    }
+    exports2.compare = compare2;
+    function compare2(a, b, loose) {
+      return new SemVer(a, loose).compare(new SemVer(b, loose));
+    }
+    exports2.compareLoose = compareLoose;
+    function compareLoose(a, b) {
+      return compare2(a, b, true);
+    }
+    exports2.compareBuild = compareBuild;
+    function compareBuild(a, b, loose) {
+      var versionA = new SemVer(a, loose);
+      var versionB = new SemVer(b, loose);
+      return versionA.compare(versionB) || versionA.compareBuild(versionB);
+    }
+    exports2.rcompare = rcompare;
+    function rcompare(a, b, loose) {
+      return compare2(b, a, loose);
+    }
+    exports2.sort = sort;
+    function sort(list, loose) {
+      return list.sort(function(a, b) {
+        return exports2.compareBuild(a, b, loose);
+      });
+    }
+    exports2.rsort = rsort;
+    function rsort(list, loose) {
+      return list.sort(function(a, b) {
+        return exports2.compareBuild(b, a, loose);
+      });
+    }
+    exports2.gt = gt;
+    function gt(a, b, loose) {
+      return compare2(a, b, loose) > 0;
+    }
+    exports2.lt = lt;
+    function lt(a, b, loose) {
+      return compare2(a, b, loose) < 0;
+    }
+    exports2.eq = eq;
+    function eq(a, b, loose) {
+      return compare2(a, b, loose) === 0;
+    }
+    exports2.neq = neq;
+    function neq(a, b, loose) {
+      return compare2(a, b, loose) !== 0;
+    }
+    exports2.gte = gte6;
+    function gte6(a, b, loose) {
+      return compare2(a, b, loose) >= 0;
+    }
+    exports2.lte = lte;
+    function lte(a, b, loose) {
+      return compare2(a, b, loose) <= 0;
+    }
+    exports2.cmp = cmp;
+    function cmp(a, op, b, loose) {
+      switch (op) {
+        case "===":
+          if (typeof a === "object")
+            a = a.version;
+          if (typeof b === "object")
+            b = b.version;
+          return a === b;
+        case "!==":
+          if (typeof a === "object")
+            a = a.version;
+          if (typeof b === "object")
+            b = b.version;
+          return a !== b;
+        case "":
+        case "=":
+        case "==":
+          return eq(a, b, loose);
+        case "!=":
+          return neq(a, b, loose);
+        case ">":
+          return gt(a, b, loose);
+        case ">=":
+          return gte6(a, b, loose);
+        case "<":
+          return lt(a, b, loose);
+        case "<=":
+          return lte(a, b, loose);
+        default:
+          throw new TypeError("Invalid operator: " + op);
+      }
+    }
+    exports2.Comparator = Comparator;
+    function Comparator(comp, options) {
+      if (!options || typeof options !== "object") {
+        options = {
+          loose: !!options,
+          includePrerelease: false
+        };
+      }
+      if (comp instanceof Comparator) {
+        if (comp.loose === !!options.loose) {
+          return comp;
+        } else {
+          comp = comp.value;
+        }
+      }
+      if (!(this instanceof Comparator)) {
+        return new Comparator(comp, options);
+      }
+      comp = comp.trim().split(/\s+/).join(" ");
+      debug4("comparator", comp, options);
+      this.options = options;
+      this.loose = !!options.loose;
+      this.parse(comp);
+      if (this.semver === ANY) {
+        this.value = "";
+      } else {
+        this.value = this.operator + this.semver.version;
+      }
+      debug4("comp", this);
+    }
+    var ANY = {};
+    Comparator.prototype.parse = function(comp) {
+      var r = this.options.loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR];
+      var m = comp.match(r);
+      if (!m) {
+        throw new TypeError("Invalid comparator: " + comp);
+      }
+      this.operator = m[1] !== void 0 ? m[1] : "";
+      if (this.operator === "=") {
+        this.operator = "";
+      }
+      if (!m[2]) {
+        this.semver = ANY;
+      } else {
+        this.semver = new SemVer(m[2], this.options.loose);
+      }
+    };
+    Comparator.prototype.toString = function() {
+      return this.value;
+    };
+    Comparator.prototype.test = function(version) {
+      debug4("Comparator.test", version, this.options.loose);
+      if (this.semver === ANY || version === ANY) {
+        return true;
+      }
+      if (typeof version === "string") {
+        try {
+          version = new SemVer(version, this.options);
+        } catch (er) {
+          return false;
+        }
+      }
+      return cmp(version, this.operator, this.semver, this.options);
+    };
+    Comparator.prototype.intersects = function(comp, options) {
+      if (!(comp instanceof Comparator)) {
+        throw new TypeError("a Comparator is required");
+      }
+      if (!options || typeof options !== "object") {
+        options = {
+          loose: !!options,
+          includePrerelease: false
+        };
+      }
+      var rangeTmp;
+      if (this.operator === "") {
+        if (this.value === "") {
+          return true;
+        }
+        rangeTmp = new Range2(comp.value, options);
+        return satisfies2(this.value, rangeTmp, options);
+      } else if (comp.operator === "") {
+        if (comp.value === "") {
+          return true;
+        }
+        rangeTmp = new Range2(this.value, options);
+        return satisfies2(comp.semver, rangeTmp, options);
+      }
+      var sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">");
+      var sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<");
+      var sameSemVer = this.semver.version === comp.semver.version;
+      var differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<=");
+      var oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && ((this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<"));
+      var oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && ((this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">"));
+      return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
+    };
+    exports2.Range = Range2;
+    function Range2(range, options) {
+      if (!options || typeof options !== "object") {
+        options = {
+          loose: !!options,
+          includePrerelease: false
+        };
+      }
+      if (range instanceof Range2) {
+        if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
+          return range;
+        } else {
+          return new Range2(range.raw, options);
+        }
+      }
+      if (range instanceof Comparator) {
+        return new Range2(range.value, options);
+      }
+      if (!(this instanceof Range2)) {
+        return new Range2(range, options);
+      }
+      this.options = options;
+      this.loose = !!options.loose;
+      this.includePrerelease = !!options.includePrerelease;
+      this.raw = range.trim().split(/\s+/).join(" ");
+      this.set = this.raw.split("||").map(function(range2) {
+        return this.parseRange(range2.trim());
+      }, this).filter(function(c) {
+        return c.length;
+      });
+      if (!this.set.length) {
+        throw new TypeError("Invalid SemVer Range: " + this.raw);
+      }
+      this.format();
+    }
+    Range2.prototype.format = function() {
+      this.range = this.set.map(function(comps) {
+        return comps.join(" ").trim();
+      }).join("||").trim();
+      return this.range;
+    };
+    Range2.prototype.toString = function() {
+      return this.range;
+    };
+    Range2.prototype.parseRange = function(range) {
+      var loose = this.options.loose;
+      var hr = loose ? safeRe[t.HYPHENRANGELOOSE] : safeRe[t.HYPHENRANGE];
+      range = range.replace(hr, hyphenReplace);
+      debug4("hyphen replace", range);
+      range = range.replace(safeRe[t.COMPARATORTRIM], comparatorTrimReplace);
+      debug4("comparator trim", range, safeRe[t.COMPARATORTRIM]);
+      range = range.replace(safeRe[t.TILDETRIM], tildeTrimReplace);
+      range = range.replace(safeRe[t.CARETTRIM], caretTrimReplace);
+      range = range.split(/\s+/).join(" ");
+      var compRe = loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR];
+      var set2 = range.split(" ").map(function(comp) {
+        return parseComparator(comp, this.options);
+      }, this).join(" ").split(/\s+/);
+      if (this.options.loose) {
+        set2 = set2.filter(function(comp) {
+          return !!comp.match(compRe);
+        });
+      }
+      set2 = set2.map(function(comp) {
+        return new Comparator(comp, this.options);
+      }, this);
+      return set2;
+    };
+    Range2.prototype.intersects = function(range, options) {
+      if (!(range instanceof Range2)) {
+        throw new TypeError("a Range is required");
+      }
+      return this.set.some(function(thisComparators) {
+        return isSatisfiable(thisComparators, options) && range.set.some(function(rangeComparators) {
+          return isSatisfiable(rangeComparators, options) && thisComparators.every(function(thisComparator) {
+            return rangeComparators.every(function(rangeComparator) {
+              return thisComparator.intersects(rangeComparator, options);
+            });
+          });
+        });
+      });
+    };
+    function isSatisfiable(comparators, options) {
+      var result = true;
+      var remainingComparators = comparators.slice();
+      var testComparator = remainingComparators.pop();
+      while (result && remainingComparators.length) {
+        result = remainingComparators.every(function(otherComparator) {
+          return testComparator.intersects(otherComparator, options);
+        });
+        testComparator = remainingComparators.pop();
+      }
+      return result;
+    }
+    exports2.toComparators = toComparators;
+    function toComparators(range, options) {
+      return new Range2(range, options).set.map(function(comp) {
+        return comp.map(function(c) {
+          return c.value;
+        }).join(" ").trim().split(" ");
+      });
+    }
+    function parseComparator(comp, options) {
+      debug4("comp", comp, options);
+      comp = replaceCarets(comp, options);
+      debug4("caret", comp);
+      comp = replaceTildes(comp, options);
+      debug4("tildes", comp);
+      comp = replaceXRanges(comp, options);
+      debug4("xrange", comp);
+      comp = replaceStars(comp, options);
+      debug4("stars", comp);
+      return comp;
+    }
+    function isX(id) {
+      return !id || id.toLowerCase() === "x" || id === "*";
+    }
+    function replaceTildes(comp, options) {
+      return comp.trim().split(/\s+/).map(function(comp2) {
+        return replaceTilde(comp2, options);
+      }).join(" ");
+    }
+    function replaceTilde(comp, options) {
+      var r = options.loose ? safeRe[t.TILDELOOSE] : safeRe[t.TILDE];
+      return comp.replace(r, function(_2, M, m, p, pr) {
+        debug4("tilde", comp, _2, M, m, p, pr);
+        var ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
+        } else if (isX(p)) {
+          ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
+        } else if (pr) {
+          debug4("replaceTilde pr", pr);
+          ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
+        } else {
+          ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
+        }
+        debug4("tilde return", ret);
+        return ret;
+      });
+    }
+    function replaceCarets(comp, options) {
+      return comp.trim().split(/\s+/).map(function(comp2) {
+        return replaceCaret(comp2, options);
+      }).join(" ");
+    }
+    function replaceCaret(comp, options) {
+      debug4("caret", comp, options);
+      var r = options.loose ? safeRe[t.CARETLOOSE] : safeRe[t.CARET];
+      return comp.replace(r, function(_2, M, m, p, pr) {
+        debug4("caret", comp, _2, M, m, p, pr);
+        var ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
+        } else if (isX(p)) {
+          if (M === "0") {
+            ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
+          } else {
+            ret = ">=" + M + "." + m + ".0 <" + (+M + 1) + ".0.0";
+          }
+        } else if (pr) {
+          debug4("replaceCaret pr", pr);
+          if (M === "0") {
+            if (m === "0") {
+              ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + m + "." + (+p + 1);
+            } else {
+              ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
+            }
+          } else {
+            ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + (+M + 1) + ".0.0";
+          }
+        } else {
+          debug4("no pr");
+          if (M === "0") {
+            if (m === "0") {
+              ret = ">=" + M + "." + m + "." + p + " <" + M + "." + m + "." + (+p + 1);
+            } else {
+              ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
+            }
+          } else {
+            ret = ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0";
+          }
+        }
+        debug4("caret return", ret);
+        return ret;
+      });
+    }
+    function replaceXRanges(comp, options) {
+      debug4("replaceXRanges", comp, options);
+      return comp.split(/\s+/).map(function(comp2) {
+        return replaceXRange(comp2, options);
+      }).join(" ");
+    }
+    function replaceXRange(comp, options) {
+      comp = comp.trim();
+      var r = options.loose ? safeRe[t.XRANGELOOSE] : safeRe[t.XRANGE];
+      return comp.replace(r, function(ret, gtlt, M, m, p, pr) {
+        debug4("xRange", comp, ret, gtlt, M, m, p, pr);
+        var xM = isX(M);
+        var xm = xM || isX(m);
+        var xp = xm || isX(p);
+        var anyX = xp;
+        if (gtlt === "=" && anyX) {
+          gtlt = "";
+        }
+        pr = options.includePrerelease ? "-0" : "";
+        if (xM) {
+          if (gtlt === ">" || gtlt === "<") {
+            ret = "<0.0.0-0";
+          } else {
+            ret = "*";
+          }
+        } else if (gtlt && anyX) {
+          if (xm) {
+            m = 0;
+          }
+          p = 0;
+          if (gtlt === ">") {
+            gtlt = ">=";
+            if (xm) {
+              M = +M + 1;
+              m = 0;
+              p = 0;
+            } else {
+              m = +m + 1;
+              p = 0;
+            }
+          } else if (gtlt === "<=") {
+            gtlt = "<";
+            if (xm) {
+              M = +M + 1;
+            } else {
+              m = +m + 1;
+            }
+          }
+          ret = gtlt + M + "." + m + "." + p + pr;
+        } else if (xm) {
+          ret = ">=" + M + ".0.0" + pr + " <" + (+M + 1) + ".0.0" + pr;
+        } else if (xp) {
+          ret = ">=" + M + "." + m + ".0" + pr + " <" + M + "." + (+m + 1) + ".0" + pr;
+        }
+        debug4("xRange return", ret);
+        return ret;
+      });
+    }
+    function replaceStars(comp, options) {
+      debug4("replaceStars", comp, options);
+      return comp.trim().replace(safeRe[t.STAR], "");
+    }
+    function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
+      if (isX(fM)) {
+        from = "";
+      } else if (isX(fm)) {
+        from = ">=" + fM + ".0.0";
+      } else if (isX(fp)) {
+        from = ">=" + fM + "." + fm + ".0";
+      } else {
+        from = ">=" + from;
+      }
+      if (isX(tM)) {
+        to = "";
+      } else if (isX(tm)) {
+        to = "<" + (+tM + 1) + ".0.0";
+      } else if (isX(tp)) {
+        to = "<" + tM + "." + (+tm + 1) + ".0";
+      } else if (tpr) {
+        to = "<=" + tM + "." + tm + "." + tp + "-" + tpr;
+      } else {
+        to = "<=" + to;
+      }
+      return (from + " " + to).trim();
+    }
+    Range2.prototype.test = function(version) {
+      if (!version) {
+        return false;
+      }
+      if (typeof version === "string") {
+        try {
+          version = new SemVer(version, this.options);
+        } catch (er) {
+          return false;
+        }
+      }
+      for (var i2 = 0; i2 < this.set.length; i2++) {
+        if (testSet(this.set[i2], version, this.options)) {
+          return true;
+        }
+      }
+      return false;
+    };
+    function testSet(set2, version, options) {
+      for (var i2 = 0; i2 < set2.length; i2++) {
+        if (!set2[i2].test(version)) {
+          return false;
+        }
+      }
+      if (version.prerelease.length && !options.includePrerelease) {
+        for (i2 = 0; i2 < set2.length; i2++) {
+          debug4(set2[i2].semver);
+          if (set2[i2].semver === ANY) {
+            continue;
+          }
+          if (set2[i2].semver.prerelease.length > 0) {
+            var allowed = set2[i2].semver;
+            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
+              return true;
+            }
+          }
+        }
+        return false;
+      }
+      return true;
+    }
+    exports2.satisfies = satisfies2;
+    function satisfies2(version, range, options) {
+      try {
+        range = new Range2(range, options);
+      } catch (er) {
+        return false;
+      }
+      return range.test(version);
+    }
+    exports2.maxSatisfying = maxSatisfying;
+    function maxSatisfying(versions, range, options) {
+      var max = null;
+      var maxSV = null;
+      try {
+        var rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
+      }
+      versions.forEach(function(v) {
+        if (rangeObj.test(v)) {
+          if (!max || maxSV.compare(v) === -1) {
+            max = v;
+            maxSV = new SemVer(max, options);
+          }
+        }
+      });
+      return max;
+    }
+    exports2.minSatisfying = minSatisfying;
+    function minSatisfying(versions, range, options) {
+      var min = null;
+      var minSV = null;
+      try {
+        var rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
+      }
+      versions.forEach(function(v) {
+        if (rangeObj.test(v)) {
+          if (!min || minSV.compare(v) === 1) {
+            min = v;
+            minSV = new SemVer(min, options);
+          }
+        }
+      });
+      return min;
+    }
+    exports2.minVersion = minVersion;
+    function minVersion(range, loose) {
+      range = new Range2(range, loose);
+      var minver = new SemVer("0.0.0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = new SemVer("0.0.0-0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = null;
+      for (var i2 = 0; i2 < range.set.length; ++i2) {
+        var comparators = range.set[i2];
+        comparators.forEach(function(comparator) {
+          var compver = new SemVer(comparator.semver.version);
+          switch (comparator.operator) {
+            case ">":
+              if (compver.prerelease.length === 0) {
+                compver.patch++;
+              } else {
+                compver.prerelease.push(0);
+              }
+              compver.raw = compver.format();
+            /* fallthrough */
+            case "":
+            case ">=":
+              if (!minver || gt(minver, compver)) {
+                minver = compver;
+              }
+              break;
+            case "<":
+            case "<=":
+              break;
+            /* istanbul ignore next */
+            default:
+              throw new Error("Unexpected operation: " + comparator.operator);
+          }
+        });
+      }
+      if (minver && range.test(minver)) {
+        return minver;
+      }
+      return null;
+    }
+    exports2.validRange = validRange;
+    function validRange(range, options) {
+      try {
+        return new Range2(range, options).range || "*";
+      } catch (er) {
+        return null;
+      }
+    }
+    exports2.ltr = ltr;
+    function ltr(version, range, options) {
+      return outside(version, range, "<", options);
+    }
+    exports2.gtr = gtr;
+    function gtr(version, range, options) {
+      return outside(version, range, ">", options);
+    }
+    exports2.outside = outside;
+    function outside(version, range, hilo, options) {
+      version = new SemVer(version, options);
+      range = new Range2(range, options);
+      var gtfn, ltefn, ltfn, comp, ecomp;
+      switch (hilo) {
+        case ">":
+          gtfn = gt;
+          ltefn = lte;
+          ltfn = lt;
+          comp = ">";
+          ecomp = ">=";
+          break;
+        case "<":
+          gtfn = lt;
+          ltefn = gte6;
+          ltfn = gt;
+          comp = "<";
+          ecomp = "<=";
+          break;
+        default:
+          throw new TypeError('Must provide a hilo val of "<" or ">"');
+      }
+      if (satisfies2(version, range, options)) {
+        return false;
+      }
+      for (var i2 = 0; i2 < range.set.length; ++i2) {
+        var comparators = range.set[i2];
+        var high = null;
+        var low = null;
+        comparators.forEach(function(comparator) {
+          if (comparator.semver === ANY) {
+            comparator = new Comparator(">=0.0.0");
+          }
+          high = high || comparator;
+          low = low || comparator;
+          if (gtfn(comparator.semver, high.semver, options)) {
+            high = comparator;
+          } else if (ltfn(comparator.semver, low.semver, options)) {
+            low = comparator;
+          }
+        });
+        if (high.operator === comp || high.operator === ecomp) {
+          return false;
+        }
+        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
+          return false;
+        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    exports2.prerelease = prerelease;
+    function prerelease(version, options) {
+      var parsed = parse2(version, options);
+      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
+    }
+    exports2.intersects = intersects;
+    function intersects(r1, r2, options) {
+      r1 = new Range2(r1, options);
+      r2 = new Range2(r2, options);
+      return r1.intersects(r2);
+    }
+    exports2.coerce = coerce3;
+    function coerce3(version, options) {
+      if (version instanceof SemVer) {
+        return version;
+      }
+      if (typeof version === "number") {
+        version = String(version);
+      }
+      if (typeof version !== "string") {
+        return null;
+      }
+      options = options || {};
+      var match = null;
+      if (!options.rtl) {
+        match = version.match(safeRe[t.COERCE]);
+      } else {
+        var next;
+        while ((next = safeRe[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
+          if (!match || next.index + next[0].length !== match.index + match[0].length) {
+            match = next;
+          }
+          safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
+        }
+        safeRe[t.COERCERTL].lastIndex = -1;
+      }
+      if (match === null) {
+        return null;
+      }
+      return parse2(match[2] + "." + (match[3] || "0") + "." + (match[4] || "0"), options);
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/constants.js
+var require_constants12 = __commonJS({
+  "node_modules/@actions/cache/lib/internal/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.CacheFileSizeLimit = exports2.ManifestFilename = exports2.TarFilename = exports2.SystemTarPathOnWindows = exports2.GnuTarPathOnWindows = exports2.SocketTimeout = exports2.DefaultRetryDelay = exports2.DefaultRetryAttempts = exports2.ArchiveToolType = exports2.CompressionMethod = exports2.CacheFilename = void 0;
+    var CacheFilename;
+    (function(CacheFilename2) {
+      CacheFilename2["Gzip"] = "cache.tgz";
+      CacheFilename2["Zstd"] = "cache.tzst";
+    })(CacheFilename || (exports2.CacheFilename = CacheFilename = {}));
+    var CompressionMethod;
+    (function(CompressionMethod2) {
+      CompressionMethod2["Gzip"] = "gzip";
+      CompressionMethod2["ZstdWithoutLong"] = "zstd-without-long";
+      CompressionMethod2["Zstd"] = "zstd";
+    })(CompressionMethod || (exports2.CompressionMethod = CompressionMethod = {}));
+    var ArchiveToolType;
+    (function(ArchiveToolType2) {
+      ArchiveToolType2["GNU"] = "gnu";
+      ArchiveToolType2["BSD"] = "bsd";
+    })(ArchiveToolType || (exports2.ArchiveToolType = ArchiveToolType = {}));
+    exports2.DefaultRetryAttempts = 2;
+    exports2.DefaultRetryDelay = 5e3;
+    exports2.SocketTimeout = 5e3;
+    exports2.GnuTarPathOnWindows = `${process.env["PROGRAMFILES"]}\\Git\\usr\\bin\\tar.exe`;
+    exports2.SystemTarPathOnWindows = `${process.env["SYSTEMDRIVE"]}\\Windows\\System32\\tar.exe`;
+    exports2.TarFilename = "cache.tar";
+    exports2.ManifestFilename = "manifest.txt";
+    exports2.CacheFileSizeLimit = 10 * Math.pow(1024, 3);
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/cacheUtils.js
+var require_cacheUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/cacheUtils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    var __asyncValues2 = exports2 && exports2.__asyncValues || function(o) {
+      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+      var m = o[Symbol.asyncIterator], i;
+      return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
+        return this;
+      }, i);
+      function verb(n) {
+        i[n] = o[n] && function(v) {
+          return new Promise(function(resolve3, reject) {
+            v = o[n](v), settle(resolve3, reject, v.done, v.value);
+          });
+        };
+      }
+      function settle(resolve3, reject, d, v) {
+        Promise.resolve(v).then(function(v2) {
+          resolve3({ value: v2, done: d });
+        }, reject);
+      }
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createTempDirectory = createTempDirectory;
+    exports2.getArchiveFileSizeInBytes = getArchiveFileSizeInBytes;
+    exports2.resolvePaths = resolvePaths;
+    exports2.unlinkFile = unlinkFile;
+    exports2.getCompressionMethod = getCompressionMethod;
+    exports2.getCacheFileName = getCacheFileName;
+    exports2.getGnuTarPathOnWindows = getGnuTarPathOnWindows;
+    exports2.assertDefined = assertDefined;
+    exports2.getCacheVersion = getCacheVersion;
+    exports2.getRuntimeToken = getRuntimeToken;
+    var core14 = __importStar2(require_core());
+    var exec3 = __importStar2(require_exec());
+    var glob2 = __importStar2(require_glob());
+    var io6 = __importStar2(require_io());
+    var crypto2 = __importStar2(require("crypto"));
+    var fs3 = __importStar2(require("fs"));
+    var path4 = __importStar2(require("path"));
+    var semver9 = __importStar2(require_semver3());
+    var util = __importStar2(require("util"));
+    var constants_1 = require_constants12();
+    var versionSalt = "1.0";
+    function createTempDirectory() {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const IS_WINDOWS = process.platform === "win32";
+        let tempDirectory = process.env["RUNNER_TEMP"] || "";
+        if (!tempDirectory) {
+          let baseLocation;
+          if (IS_WINDOWS) {
+            baseLocation = process.env["USERPROFILE"] || "C:\\";
+          } else {
+            if (process.platform === "darwin") {
+              baseLocation = "/Users";
+            } else {
+              baseLocation = "/home";
+            }
+          }
+          tempDirectory = path4.join(baseLocation, "actions", "temp");
+        }
+        const dest = path4.join(tempDirectory, crypto2.randomUUID());
+        yield io6.mkdirP(dest);
+        return dest;
+      });
+    }
+    function getArchiveFileSizeInBytes(filePath) {
+      return fs3.statSync(filePath).size;
+    }
+    function resolvePaths(patterns) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a, e_1, _b, _c;
+        var _d;
+        const paths = [];
+        const workspace = (_d = process.env["GITHUB_WORKSPACE"]) !== null && _d !== void 0 ? _d : process.cwd();
+        const globber = yield glob2.create(patterns.join("\n"), {
+          implicitDescendants: false
+        });
+        try {
+          for (var _e = true, _f = __asyncValues2(globber.globGenerator()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
+            _c = _g.value;
+            _e = false;
+            const file = _c;
+            const relativeFile = path4.relative(workspace, file).replace(new RegExp(`\\${path4.sep}`, "g"), "/");
+            core14.debug(`Matched: ${relativeFile}`);
+            if (relativeFile === "") {
+              paths.push(".");
+            } else {
+              paths.push(`${relativeFile}`);
+            }
+          }
+        } catch (e_1_1) {
+          e_1 = { error: e_1_1 };
+        } finally {
+          try {
+            if (!_e && !_a && (_b = _f.return)) yield _b.call(_f);
+          } finally {
+            if (e_1) throw e_1.error;
+          }
+        }
+        return paths;
+      });
+    }
+    function unlinkFile(filePath) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        return util.promisify(fs3.unlink)(filePath);
+      });
+    }
+    function getVersion(app_1) {
+      return __awaiter2(this, arguments, void 0, function* (app, additionalArgs = []) {
+        let versionOutput = "";
+        additionalArgs.push("--version");
+        core14.debug(`Checking ${app} ${additionalArgs.join(" ")}`);
+        try {
+          yield exec3.exec(`${app}`, additionalArgs, {
+            ignoreReturnCode: true,
+            silent: true,
+            listeners: {
+              stdout: (data) => versionOutput += data.toString(),
+              stderr: (data) => versionOutput += data.toString()
+            }
+          });
+        } catch (err) {
+          core14.debug(err.message);
+        }
+        versionOutput = versionOutput.trim();
+        core14.debug(versionOutput);
+        return versionOutput;
+      });
+    }
+    function getCompressionMethod() {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const versionOutput = yield getVersion("zstd", ["--quiet"]);
+        const version = semver9.clean(versionOutput);
+        core14.debug(`zstd version: ${version}`);
+        if (versionOutput === "") {
+          return constants_1.CompressionMethod.Gzip;
+        } else {
+          return constants_1.CompressionMethod.ZstdWithoutLong;
+        }
+      });
+    }
+    function getCacheFileName(compressionMethod) {
+      return compressionMethod === constants_1.CompressionMethod.Gzip ? constants_1.CacheFilename.Gzip : constants_1.CacheFilename.Zstd;
+    }
+    function getGnuTarPathOnWindows() {
+      return __awaiter2(this, void 0, void 0, function* () {
+        if (fs3.existsSync(constants_1.GnuTarPathOnWindows)) {
+          return constants_1.GnuTarPathOnWindows;
+        }
+        const versionOutput = yield getVersion("tar");
+        return versionOutput.toLowerCase().includes("gnu tar") ? io6.which("tar") : "";
+      });
+    }
+    function assertDefined(name, value) {
+      if (value === void 0) {
+        throw Error(`Expected ${name} but value was undefiend`);
+      }
+      return value;
+    }
+    function getCacheVersion(paths, compressionMethod, enableCrossOsArchive = false) {
+      const components = paths.slice();
+      if (compressionMethod) {
+        components.push(compressionMethod);
+      }
+      if (process.platform === "win32" && !enableCrossOsArchive) {
+        components.push("windows-only");
+      }
+      components.push(versionSalt);
+      return crypto2.createHash("sha256").update(components.join("|")).digest("hex");
+    }
+    function getRuntimeToken() {
+      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
+      if (!token) {
+        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
+      }
+      return token;
+    }
+  }
+});
+
+// node_modules/tslib/tslib.es6.mjs
+var tslib_es6_exports = {};
+__export(tslib_es6_exports, {
+  __addDisposableResource: () => __addDisposableResource,
+  __assign: () => __assign,
+  __asyncDelegator: () => __asyncDelegator,
+  __asyncGenerator: () => __asyncGenerator,
+  __asyncValues: () => __asyncValues,
+  __await: () => __await,
+  __awaiter: () => __awaiter,
+  __classPrivateFieldGet: () => __classPrivateFieldGet,
+  __classPrivateFieldIn: () => __classPrivateFieldIn,
+  __classPrivateFieldSet: () => __classPrivateFieldSet,
+  __createBinding: () => __createBinding,
+  __decorate: () => __decorate,
+  __disposeResources: () => __disposeResources,
+  __esDecorate: () => __esDecorate,
+  __exportStar: () => __exportStar,
+  __extends: () => __extends,
+  __generator: () => __generator,
+  __importDefault: () => __importDefault,
+  __importStar: () => __importStar,
+  __makeTemplateObject: () => __makeTemplateObject,
+  __metadata: () => __metadata,
+  __param: () => __param,
+  __propKey: () => __propKey,
+  __read: () => __read,
+  __rest: () => __rest,
+  __rewriteRelativeImportExtension: () => __rewriteRelativeImportExtension,
+  __runInitializers: () => __runInitializers,
+  __setFunctionName: () => __setFunctionName,
+  __spread: () => __spread,
+  __spreadArray: () => __spreadArray,
+  __spreadArrays: () => __spreadArrays,
+  __values: () => __values2,
+  default: () => tslib_es6_default
+});
+function __extends(d, b) {
+  if (typeof b !== "function" && b !== null)
+    throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+  extendStatics(d, b);
+  function __() {
+    this.constructor = d;
+  }
+  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+function __rest(s, e) {
+  var t = {};
+  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
+    t[p] = s[p];
+  if (s != null && typeof Object.getOwnPropertySymbols === "function")
+    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
+      if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
+        t[p[i]] = s[p[i]];
+    }
+  return t;
+}
+function __decorate(decorators, target, key, desc) {
+  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+  return c > 3 && r && Object.defineProperty(target, key, r), r;
+}
+function __param(paramIndex, decorator) {
+  return function(target, key) {
+    decorator(target, key, paramIndex);
+  };
+}
+function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
+  function accept(f) {
+    if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
+    return f;
+  }
+  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
+  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
+  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
+  var _2, done = false;
+  for (var i = decorators.length - 1; i >= 0; i--) {
+    var context2 = {};
+    for (var p in contextIn) context2[p] = p === "access" ? {} : contextIn[p];
+    for (var p in contextIn.access) context2.access[p] = contextIn.access[p];
+    context2.addInitializer = function(f) {
+      if (done) throw new TypeError("Cannot add initializers after decoration has completed");
+      extraInitializers.push(accept(f || null));
+    };
+    var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context2);
+    if (kind === "accessor") {
+      if (result === void 0) continue;
+      if (result === null || typeof result !== "object") throw new TypeError("Object expected");
+      if (_2 = accept(result.get)) descriptor.get = _2;
+      if (_2 = accept(result.set)) descriptor.set = _2;
+      if (_2 = accept(result.init)) initializers.unshift(_2);
+    } else if (_2 = accept(result)) {
+      if (kind === "field") initializers.unshift(_2);
+      else descriptor[key] = _2;
+    }
+  }
+  if (target) Object.defineProperty(target, contextIn.name, descriptor);
+  done = true;
+}
+function __runInitializers(thisArg, initializers, value) {
+  var useValue = arguments.length > 2;
+  for (var i = 0; i < initializers.length; i++) {
+    value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
+  }
+  return useValue ? value : void 0;
+}
+function __propKey(x) {
+  return typeof x === "symbol" ? x : "".concat(x);
+}
+function __setFunctionName(f, name, prefix) {
+  if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
+  return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
+}
+function __metadata(metadataKey, metadataValue) {
+  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+}
+function __awaiter(thisArg, _arguments, P, generator) {
+  function adopt(value) {
+    return value instanceof P ? value : new P(function(resolve3) {
+      resolve3(value);
+    });
+  }
+  return new (P || (P = Promise))(function(resolve3, reject) {
+    function fulfilled(value) {
+      try {
+        step(generator.next(value));
+      } catch (e) {
+        reject(e);
+      }
+    }
+    function rejected(value) {
+      try {
+        step(generator["throw"](value));
+      } catch (e) {
+        reject(e);
+      }
+    }
+    function step(result) {
+      result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+    }
+    step((generator = generator.apply(thisArg, _arguments || [])).next());
+  });
+}
+function __generator(thisArg, body) {
+  var _2 = { label: 0, sent: function() {
+    if (t[0] & 1) throw t[1];
+    return t[1];
+  }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+  return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
+    return this;
+  }), g;
+  function verb(n) {
+    return function(v) {
+      return step([n, v]);
+    };
+  }
+  function step(op) {
+    if (f) throw new TypeError("Generator is already executing.");
+    while (g && (g = 0, op[0] && (_2 = 0)), _2) try {
+      if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+      if (y = 0, t) op = [op[0] & 2, t.value];
+      switch (op[0]) {
+        case 0:
+        case 1:
+          t = op;
+          break;
+        case 4:
+          _2.label++;
+          return { value: op[1], done: false };
+        case 5:
+          _2.label++;
+          y = op[1];
+          op = [0];
+          continue;
+        case 7:
+          op = _2.ops.pop();
+          _2.trys.pop();
+          continue;
+        default:
+          if (!(t = _2.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
+            _2 = 0;
+            continue;
+          }
+          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
+            _2.label = op[1];
+            break;
+          }
+          if (op[0] === 6 && _2.label < t[1]) {
+            _2.label = t[1];
+            t = op;
+            break;
+          }
+          if (t && _2.label < t[2]) {
+            _2.label = t[2];
+            _2.ops.push(op);
+            break;
+          }
+          if (t[2]) _2.ops.pop();
+          _2.trys.pop();
+          continue;
+      }
+      op = body.call(thisArg, _2);
+    } catch (e) {
+      op = [6, e];
+      y = 0;
+    } finally {
+      f = t = 0;
+    }
+    if (op[0] & 5) throw op[1];
+    return { value: op[0] ? op[1] : void 0, done: true };
+  }
+}
+function __exportStar(m, o) {
+  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
+}
+function __values2(o) {
+  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+  if (m) return m.call(o);
+  if (o && typeof o.length === "number") return {
+    next: function() {
+      if (o && i >= o.length) o = void 0;
+      return { value: o && o[i++], done: !o };
+    }
+  };
+  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+}
+function __read(o, n) {
+  var m = typeof Symbol === "function" && o[Symbol.iterator];
+  if (!m) return o;
+  var i = m.call(o), r, ar = [], e;
+  try {
+    while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+  } catch (error3) {
+    e = { error: error3 };
+  } finally {
+    try {
+      if (r && !r.done && (m = i["return"])) m.call(i);
+    } finally {
+      if (e) throw e.error;
+    }
+  }
+  return ar;
+}
+function __spread() {
+  for (var ar = [], i = 0; i < arguments.length; i++)
+    ar = ar.concat(__read(arguments[i]));
+  return ar;
+}
+function __spreadArrays() {
+  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
+  for (var r = Array(s), k = 0, i = 0; i < il; i++)
+    for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
+      r[k] = a[j];
+  return r;
+}
+function __spreadArray(to, from, pack) {
+  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+    if (ar || !(i in from)) {
+      if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+      ar[i] = from[i];
+    }
+  }
+  return to.concat(ar || Array.prototype.slice.call(from));
+}
+function __await(v) {
+  return this instanceof __await ? (this.v = v, this) : new __await(v);
+}
+function __asyncGenerator(thisArg, _arguments, generator) {
+  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+  var g = generator.apply(thisArg, _arguments || []), i, q = [];
+  return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
+    return this;
+  }, i;
+  function awaitReturn(f) {
+    return function(v) {
+      return Promise.resolve(v).then(f, reject);
+    };
+  }
+  function verb(n, f) {
+    if (g[n]) {
+      i[n] = function(v) {
+        return new Promise(function(a, b) {
+          q.push([n, v, a, b]) > 1 || resume(n, v);
+        });
+      };
+      if (f) i[n] = f(i[n]);
+    }
+  }
+  function resume(n, v) {
+    try {
+      step(g[n](v));
+    } catch (e) {
+      settle(q[0][3], e);
+    }
+  }
+  function step(r) {
+    r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
+  }
+  function fulfill(value) {
+    resume("next", value);
+  }
+  function reject(value) {
+    resume("throw", value);
+  }
+  function settle(f, v) {
+    if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
+  }
+}
+function __asyncDelegator(o) {
+  var i, p;
+  return i = {}, verb("next"), verb("throw", function(e) {
+    throw e;
+  }), verb("return"), i[Symbol.iterator] = function() {
+    return this;
+  }, i;
+  function verb(n, f) {
+    i[n] = o[n] ? function(v) {
+      return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v;
+    } : f;
+  }
+}
+function __asyncValues(o) {
+  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+  var m = o[Symbol.asyncIterator], i;
+  return m ? m.call(o) : (o = typeof __values2 === "function" ? __values2(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
+    return this;
+  }, i);
+  function verb(n) {
+    i[n] = o[n] && function(v) {
+      return new Promise(function(resolve3, reject) {
+        v = o[n](v), settle(resolve3, reject, v.done, v.value);
+      });
+    };
+  }
+  function settle(resolve3, reject, d, v) {
+    Promise.resolve(v).then(function(v2) {
+      resolve3({ value: v2, done: d });
+    }, reject);
+  }
+}
+function __makeTemplateObject(cooked, raw) {
+  if (Object.defineProperty) {
+    Object.defineProperty(cooked, "raw", { value: raw });
+  } else {
+    cooked.raw = raw;
+  }
+  return cooked;
+}
+function __importStar(mod) {
+  if (mod && mod.__esModule) return mod;
+  var result = {};
+  if (mod != null) {
+    for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
+  }
+  __setModuleDefault(result, mod);
+  return result;
+}
+function __importDefault(mod) {
+  return mod && mod.__esModule ? mod : { default: mod };
+}
+function __classPrivateFieldGet(receiver, state, kind, f) {
+  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
+  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
+  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
+}
+function __classPrivateFieldSet(receiver, state, value, kind, f) {
+  if (kind === "m") throw new TypeError("Private method is not writable");
+  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
+  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
+  return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
+}
+function __classPrivateFieldIn(state, receiver) {
+  if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object");
+  return typeof state === "function" ? receiver === state : state.has(receiver);
+}
+function __addDisposableResource(env, value, async) {
+  if (value !== null && value !== void 0) {
+    if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
+    var dispose, inner;
+    if (async) {
+      if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
+      dispose = value[Symbol.asyncDispose];
+    }
+    if (dispose === void 0) {
+      if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
+      dispose = value[Symbol.dispose];
+      if (async) inner = dispose;
+    }
+    if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
+    if (inner) dispose = function() {
+      try {
+        inner.call(this);
+      } catch (e) {
+        return Promise.reject(e);
+      }
+    };
+    env.stack.push({ value, dispose, async });
+  } else if (async) {
+    env.stack.push({ async: true });
+  }
+  return value;
+}
+function __disposeResources(env) {
+  function fail(e) {
+    env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
+    env.hasError = true;
+  }
+  var r, s = 0;
+  function next() {
+    while (r = env.stack.pop()) {
+      try {
+        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
+        if (r.dispose) {
+          var result = r.dispose.call(r.value);
+          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
+            fail(e);
+            return next();
+          });
+        } else s |= 1;
+      } catch (e) {
+        fail(e);
+      }
+    }
+    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
+    if (env.hasError) throw env.error;
+  }
+  return next();
+}
+function __rewriteRelativeImportExtension(path4, preserveJsx) {
+  if (typeof path4 === "string" && /^\.\.?\//.test(path4)) {
+    return path4.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {
+      return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : d + ext + "." + cm.toLowerCase() + "js";
+    });
+  }
+  return path4;
+}
+var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default;
+var init_tslib_es6 = __esm({
+  "node_modules/tslib/tslib.es6.mjs"() {
+    extendStatics = function(d, b) {
+      extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+        d2.__proto__ = b2;
+      } || function(d2, b2) {
+        for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+      };
+      return extendStatics(d, b);
+    };
+    __assign = function() {
+      __assign = Object.assign || function __assign2(t) {
+        for (var s, i = 1, n = arguments.length; i < n; i++) {
+          s = arguments[i];
+          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+        }
+        return t;
+      };
+      return __assign.apply(this, arguments);
+    };
+    __createBinding = Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    });
+    __setModuleDefault = Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    };
+    ownKeys = function(o) {
+      ownKeys = Object.getOwnPropertyNames || function(o2) {
+        var ar = [];
+        for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+        return ar;
+      };
+      return ownKeys(o);
+    };
+    _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error3, suppressed, message) {
+      var e = new Error(message);
+      return e.name = "SuppressedError", e.error = error3, e.suppressed = suppressed, e;
+    };
+    tslib_es6_default = {
+      __extends,
+      __assign,
+      __rest,
+      __decorate,
+      __param,
+      __esDecorate,
+      __runInitializers,
+      __propKey,
+      __setFunctionName,
+      __metadata,
+      __awaiter,
+      __generator,
+      __createBinding,
+      __exportStar,
+      __values: __values2,
+      __read,
+      __spread,
+      __spreadArrays,
+      __spreadArray,
+      __await,
+      __asyncGenerator,
+      __asyncDelegator,
+      __asyncValues,
+      __makeTemplateObject,
+      __importStar,
+      __importDefault,
+      __classPrivateFieldGet,
+      __classPrivateFieldSet,
+      __classPrivateFieldIn,
+      __addDisposableResource,
+      __disposeResources,
+      __rewriteRelativeImportExtension
+    };
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js
+var require_AbortError = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+      }
+    };
+    exports2.AbortError = AbortError;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js
+var require_log = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.log = log;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_os_1 = require("node:os");
+    var node_util_1 = tslib_1.__importDefault(require("node:util"));
+    var node_process_1 = tslib_1.__importDefault(require("node:process"));
+    function log(message, ...args) {
+      node_process_1.default.stderr.write(`${node_util_1.default.format(message, ...args)}${node_os_1.EOL}`);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js
+var require_debug2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var log_js_1 = require_log();
+    var debugEnvVariable = typeof process !== "undefined" && process.env && process.env.DEBUG || void 0;
+    var enabledString;
+    var enabledNamespaces = [];
+    var skippedNamespaces = [];
+    var debuggers = [];
+    if (debugEnvVariable) {
+      enable(debugEnvVariable);
+    }
+    var debugObj = Object.assign((namespace) => {
+      return createDebugger(namespace);
+    }, {
+      enable,
+      enabled,
+      disable,
+      log: log_js_1.log
+    });
+    function enable(namespaces) {
+      enabledString = namespaces;
+      enabledNamespaces = [];
+      skippedNamespaces = [];
+      const namespaceList = namespaces.split(",").map((ns) => ns.trim());
+      for (const ns of namespaceList) {
+        if (ns.startsWith("-")) {
+          skippedNamespaces.push(ns.substring(1));
+        } else {
+          enabledNamespaces.push(ns);
+        }
+      }
+      for (const instance of debuggers) {
+        instance.enabled = enabled(instance.namespace);
+      }
+    }
+    function enabled(namespace) {
+      if (namespace.endsWith("*")) {
+        return true;
+      }
+      for (const skipped of skippedNamespaces) {
+        if (namespaceMatches(namespace, skipped)) {
+          return false;
+        }
+      }
+      for (const enabledNamespace of enabledNamespaces) {
+        if (namespaceMatches(namespace, enabledNamespace)) {
+          return true;
+        }
+      }
+      return false;
+    }
+    function namespaceMatches(namespace, patternToMatch) {
+      if (patternToMatch.indexOf("*") === -1) {
+        return namespace === patternToMatch;
+      }
+      let pattern = patternToMatch;
+      if (patternToMatch.indexOf("**") !== -1) {
+        const patternParts = [];
+        let lastCharacter = "";
+        for (const character of patternToMatch) {
+          if (character === "*" && lastCharacter === "*") {
+            continue;
+          } else {
+            lastCharacter = character;
+            patternParts.push(character);
+          }
+        }
+        pattern = patternParts.join("");
+      }
+      let namespaceIndex = 0;
+      let patternIndex = 0;
+      const patternLength = pattern.length;
+      const namespaceLength = namespace.length;
+      let lastWildcard = -1;
+      let lastWildcardNamespace = -1;
+      while (namespaceIndex < namespaceLength && patternIndex < patternLength) {
+        if (pattern[patternIndex] === "*") {
+          lastWildcard = patternIndex;
+          patternIndex++;
+          if (patternIndex === patternLength) {
+            return true;
+          }
+          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
+            namespaceIndex++;
+            if (namespaceIndex === namespaceLength) {
+              return false;
+            }
+          }
+          lastWildcardNamespace = namespaceIndex;
+          namespaceIndex++;
+          patternIndex++;
+          continue;
+        } else if (pattern[patternIndex] === namespace[namespaceIndex]) {
+          patternIndex++;
+          namespaceIndex++;
+        } else if (lastWildcard >= 0) {
+          patternIndex = lastWildcard + 1;
+          namespaceIndex = lastWildcardNamespace + 1;
+          if (namespaceIndex === namespaceLength) {
+            return false;
+          }
+          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
+            namespaceIndex++;
+            if (namespaceIndex === namespaceLength) {
+              return false;
+            }
+          }
+          lastWildcardNamespace = namespaceIndex;
+          namespaceIndex++;
+          patternIndex++;
+          continue;
+        } else {
+          return false;
+        }
+      }
+      const namespaceDone = namespaceIndex === namespace.length;
+      const patternDone = patternIndex === pattern.length;
+      const trailingWildCard = patternIndex === pattern.length - 1 && pattern[patternIndex] === "*";
+      return namespaceDone && (patternDone || trailingWildCard);
+    }
+    function disable() {
+      const result = enabledString || "";
+      enable("");
+      return result;
+    }
+    function createDebugger(namespace) {
+      const newDebugger = Object.assign(debug4, {
+        enabled: enabled(namespace),
+        destroy,
+        log: debugObj.log,
+        namespace,
+        extend: extend3
+      });
+      function debug4(...args) {
+        if (!newDebugger.enabled) {
+          return;
+        }
+        if (args.length > 0) {
+          args[0] = `${namespace} ${args[0]}`;
+        }
+        newDebugger.log(...args);
+      }
+      debuggers.push(newDebugger);
+      return newDebugger;
+    }
+    function destroy() {
+      const index = debuggers.indexOf(this);
+      if (index >= 0) {
+        debuggers.splice(index, 1);
+        return true;
+      }
+      return false;
+    }
+    function extend3(namespace) {
+      const newDebugger = createDebugger(`${this.namespace}:${namespace}`);
+      newDebugger.log = this.log;
+      return newDebugger;
+    }
+    exports2.default = debugObj;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js
+var require_logger = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.TypeSpecRuntimeLogger = void 0;
+    exports2.createLoggerContext = createLoggerContext;
+    exports2.setLogLevel = setLogLevel;
+    exports2.getLogLevel = getLogLevel;
+    exports2.createClientLogger = createClientLogger;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var debug_js_1 = tslib_1.__importDefault(require_debug2());
+    var TYPESPEC_RUNTIME_LOG_LEVELS = ["verbose", "info", "warning", "error"];
+    var levelMap = {
+      verbose: 400,
+      info: 300,
+      warning: 200,
+      error: 100
+    };
+    function patchLogMethod(parent, child) {
+      child.log = (...args) => {
+        parent.log(...args);
+      };
+    }
+    function isTypeSpecRuntimeLogLevel(level) {
+      return TYPESPEC_RUNTIME_LOG_LEVELS.includes(level);
+    }
+    function createLoggerContext(options) {
+      const registeredLoggers = /* @__PURE__ */ new Set();
+      const logLevelFromEnv = typeof process !== "undefined" && process.env && process.env[options.logLevelEnvVarName] || void 0;
+      let logLevel;
+      const clientLogger = (0, debug_js_1.default)(options.namespace);
+      clientLogger.log = (...args) => {
+        debug_js_1.default.log(...args);
+      };
+      function contextSetLogLevel(level) {
+        if (level && !isTypeSpecRuntimeLogLevel(level)) {
+          throw new Error(`Unknown log level '${level}'. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(",")}`);
+        }
+        logLevel = level;
+        const enabledNamespaces = [];
+        for (const logger of registeredLoggers) {
+          if (shouldEnable(logger)) {
+            enabledNamespaces.push(logger.namespace);
+          }
+        }
+        debug_js_1.default.enable(enabledNamespaces.join(","));
+      }
+      if (logLevelFromEnv) {
+        if (isTypeSpecRuntimeLogLevel(logLevelFromEnv)) {
+          contextSetLogLevel(logLevelFromEnv);
+        } else {
+          console.error(`${options.logLevelEnvVarName} set to unknown log level '${logLevelFromEnv}'; logging is not enabled. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(", ")}.`);
+        }
+      }
+      function shouldEnable(logger) {
+        return Boolean(logLevel && levelMap[logger.level] <= levelMap[logLevel]);
+      }
+      function createLogger2(parent, level) {
+        const logger = Object.assign(parent.extend(level), {
+          level
+        });
+        patchLogMethod(parent, logger);
+        if (shouldEnable(logger)) {
+          const enabledNamespaces = debug_js_1.default.disable();
+          debug_js_1.default.enable(enabledNamespaces + "," + logger.namespace);
+        }
+        registeredLoggers.add(logger);
+        return logger;
+      }
+      function contextGetLogLevel() {
+        return logLevel;
+      }
+      function contextCreateClientLogger(namespace) {
+        const clientRootLogger = clientLogger.extend(namespace);
+        patchLogMethod(clientLogger, clientRootLogger);
+        return {
+          error: createLogger2(clientRootLogger, "error"),
+          warning: createLogger2(clientRootLogger, "warning"),
+          info: createLogger2(clientRootLogger, "info"),
+          verbose: createLogger2(clientRootLogger, "verbose")
+        };
+      }
+      return {
+        setLogLevel: contextSetLogLevel,
+        getLogLevel: contextGetLogLevel,
+        createClientLogger: contextCreateClientLogger,
+        logger: clientLogger
+      };
+    }
+    var context2 = createLoggerContext({
+      logLevelEnvVarName: "TYPESPEC_RUNTIME_LOG_LEVEL",
+      namespace: "typeSpecRuntime"
+    });
+    exports2.TypeSpecRuntimeLogger = context2.logger;
+    function setLogLevel(logLevel) {
+      context2.setLogLevel(logLevel);
+    }
+    function getLogLevel() {
+      return context2.getLogLevel();
+    }
+    function createClientLogger(namespace) {
+      return context2.createClientLogger(namespace);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js
+var require_httpHeaders = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpHeaders = createHttpHeaders;
+    function normalizeName(name) {
+      return name.toLowerCase();
+    }
+    function* headerIterator(map2) {
+      for (const entry of map2.values()) {
+        yield [entry.name, entry.value];
+      }
+    }
+    var HttpHeadersImpl = class {
+      _headersMap;
+      constructor(rawHeaders) {
+        this._headersMap = /* @__PURE__ */ new Map();
+        if (rawHeaders) {
+          for (const headerName of Object.keys(rawHeaders)) {
+            this.set(headerName, rawHeaders[headerName]);
+          }
+        }
+      }
+      /**
+       * Set a header in this collection with the provided name and value. The name is
+       * case-insensitive.
+       * @param name - The name of the header to set. This value is case-insensitive.
+       * @param value - The value of the header to set.
+       */
+      set(name, value) {
+        this._headersMap.set(normalizeName(name), { name, value: String(value).trim() });
+      }
+      /**
+       * Get the header value for the provided header name, or undefined if no header exists in this
+       * collection with the provided name.
+       * @param name - The name of the header. This value is case-insensitive.
+       */
+      get(name) {
+        return this._headersMap.get(normalizeName(name))?.value;
+      }
+      /**
+       * Get whether or not this header collection contains a header entry for the provided header name.
+       * @param name - The name of the header to set. This value is case-insensitive.
+       */
+      has(name) {
+        return this._headersMap.has(normalizeName(name));
+      }
+      /**
+       * Remove the header with the provided headerName.
+       * @param name - The name of the header to remove.
+       */
+      delete(name) {
+        this._headersMap.delete(normalizeName(name));
+      }
+      /**
+       * Get the JSON object representation of this HTTP header collection.
+       */
+      toJSON(options = {}) {
+        const result = {};
+        if (options.preserveCase) {
+          for (const entry of this._headersMap.values()) {
+            result[entry.name] = entry.value;
+          }
+        } else {
+          for (const [normalizedName, entry] of this._headersMap) {
+            result[normalizedName] = entry.value;
+          }
+        }
+        return result;
+      }
+      /**
+       * Get the string representation of this HTTP header collection.
+       */
+      toString() {
+        return JSON.stringify(this.toJSON({ preserveCase: true }));
+      }
+      /**
+       * Iterate over tuples of header [name, value] pairs.
+       */
+      [Symbol.iterator]() {
+        return headerIterator(this._headersMap);
+      }
+    };
+    function createHttpHeaders(rawHeaders) {
+      return new HttpHeadersImpl(rawHeaders);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js
+var require_schemes = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js
+var require_oauth2Flows = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js
+var require_uuidUtils = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.randomUUID = randomUUID;
+    function randomUUID() {
+      return crypto.randomUUID();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js
+var require_pipelineRequest = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineRequest = createPipelineRequest;
+    var httpHeaders_js_1 = require_httpHeaders();
+    var uuidUtils_js_1 = require_uuidUtils();
+    var PipelineRequestImpl = class {
+      url;
+      method;
+      headers;
+      timeout;
+      withCredentials;
+      body;
+      multipartBody;
+      formData;
+      streamResponseStatusCodes;
+      enableBrowserStreams;
+      proxySettings;
+      disableKeepAlive;
+      abortSignal;
+      requestId;
+      allowInsecureConnection;
+      onUploadProgress;
+      onDownloadProgress;
+      requestOverrides;
+      authSchemes;
+      constructor(options) {
+        this.url = options.url;
+        this.body = options.body;
+        this.headers = options.headers ?? (0, httpHeaders_js_1.createHttpHeaders)();
+        this.method = options.method ?? "GET";
+        this.timeout = options.timeout ?? 0;
+        this.multipartBody = options.multipartBody;
+        this.formData = options.formData;
+        this.disableKeepAlive = options.disableKeepAlive ?? false;
+        this.proxySettings = options.proxySettings;
+        this.streamResponseStatusCodes = options.streamResponseStatusCodes;
+        this.withCredentials = options.withCredentials ?? false;
+        this.abortSignal = options.abortSignal;
+        this.onUploadProgress = options.onUploadProgress;
+        this.onDownloadProgress = options.onDownloadProgress;
+        this.requestId = options.requestId || (0, uuidUtils_js_1.randomUUID)();
+        this.allowInsecureConnection = options.allowInsecureConnection ?? false;
+        this.enableBrowserStreams = options.enableBrowserStreams ?? false;
+        this.requestOverrides = options.requestOverrides;
+        this.authSchemes = options.authSchemes;
+      }
+    };
+    function createPipelineRequest(options) {
+      return new PipelineRequestImpl(options);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js
+var require_pipeline = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createEmptyPipeline = createEmptyPipeline;
+    var ValidPhaseNames = /* @__PURE__ */ new Set(["Deserialize", "Serialize", "Retry", "Sign"]);
+    var HttpPipeline = class _HttpPipeline {
+      _policies = [];
+      _orderedPolicies;
+      constructor(policies) {
+        this._policies = policies?.slice(0) ?? [];
+        this._orderedPolicies = void 0;
+      }
+      addPolicy(policy, options = {}) {
+        if (options.phase && options.afterPhase) {
+          throw new Error("Policies inside a phase cannot specify afterPhase.");
+        }
+        if (options.phase && !ValidPhaseNames.has(options.phase)) {
+          throw new Error(`Invalid phase name: ${options.phase}`);
+        }
+        if (options.afterPhase && !ValidPhaseNames.has(options.afterPhase)) {
+          throw new Error(`Invalid afterPhase name: ${options.afterPhase}`);
+        }
+        this._policies.push({
+          policy,
+          options
+        });
+        this._orderedPolicies = void 0;
+      }
+      removePolicy(options) {
+        const removedPolicies = [];
+        this._policies = this._policies.filter((policyDescriptor) => {
+          if (options.name && policyDescriptor.policy.name === options.name || options.phase && policyDescriptor.options.phase === options.phase) {
+            removedPolicies.push(policyDescriptor.policy);
+            return false;
+          } else {
+            return true;
+          }
+        });
+        this._orderedPolicies = void 0;
+        return removedPolicies;
+      }
+      sendRequest(httpClient, request2) {
+        const policies = this.getOrderedPolicies();
+        const pipeline = policies.reduceRight((next, policy) => {
+          return (req) => {
+            return policy.sendRequest(req, next);
+          };
+        }, (req) => httpClient.sendRequest(req));
+        return pipeline(request2);
+      }
+      getOrderedPolicies() {
+        if (!this._orderedPolicies) {
+          this._orderedPolicies = this.orderPolicies();
+        }
+        return this._orderedPolicies;
+      }
+      clone() {
+        return new _HttpPipeline(this._policies);
+      }
+      static create() {
+        return new _HttpPipeline();
+      }
+      orderPolicies() {
+        const result = [];
+        const policyMap = /* @__PURE__ */ new Map();
+        function createPhase(name) {
+          return {
+            name,
+            policies: /* @__PURE__ */ new Set(),
+            hasRun: false,
+            hasAfterPolicies: false
+          };
+        }
+        const serializePhase = createPhase("Serialize");
+        const noPhase = createPhase("None");
+        const deserializePhase = createPhase("Deserialize");
+        const retryPhase = createPhase("Retry");
+        const signPhase = createPhase("Sign");
+        const orderedPhases = [serializePhase, noPhase, deserializePhase, retryPhase, signPhase];
+        function getPhase(phase) {
+          if (phase === "Retry") {
+            return retryPhase;
+          } else if (phase === "Serialize") {
+            return serializePhase;
+          } else if (phase === "Deserialize") {
+            return deserializePhase;
+          } else if (phase === "Sign") {
+            return signPhase;
+          } else {
+            return noPhase;
+          }
+        }
+        for (const descriptor of this._policies) {
+          const policy = descriptor.policy;
+          const options = descriptor.options;
+          const policyName = policy.name;
+          if (policyMap.has(policyName)) {
+            throw new Error("Duplicate policy names not allowed in pipeline");
+          }
+          const node = {
+            policy,
+            dependsOn: /* @__PURE__ */ new Set(),
+            dependants: /* @__PURE__ */ new Set()
+          };
+          if (options.afterPhase) {
+            node.afterPhase = getPhase(options.afterPhase);
+            node.afterPhase.hasAfterPolicies = true;
+          }
+          policyMap.set(policyName, node);
+          const phase = getPhase(options.phase);
+          phase.policies.add(node);
+        }
+        for (const descriptor of this._policies) {
+          const { policy, options } = descriptor;
+          const policyName = policy.name;
+          const node = policyMap.get(policyName);
+          if (!node) {
+            throw new Error(`Missing node for policy ${policyName}`);
+          }
+          if (options.afterPolicies) {
+            for (const afterPolicyName of options.afterPolicies) {
+              const afterNode = policyMap.get(afterPolicyName);
+              if (afterNode) {
+                node.dependsOn.add(afterNode);
+                afterNode.dependants.add(node);
+              }
+            }
+          }
+          if (options.beforePolicies) {
+            for (const beforePolicyName of options.beforePolicies) {
+              const beforeNode = policyMap.get(beforePolicyName);
+              if (beforeNode) {
+                beforeNode.dependsOn.add(node);
+                node.dependants.add(beforeNode);
+              }
+            }
+          }
+        }
+        function walkPhase(phase) {
+          phase.hasRun = true;
+          for (const node of phase.policies) {
+            if (node.afterPhase && (!node.afterPhase.hasRun || node.afterPhase.policies.size)) {
+              continue;
+            }
+            if (node.dependsOn.size === 0) {
+              result.push(node.policy);
+              for (const dependant of node.dependants) {
+                dependant.dependsOn.delete(node);
+              }
+              policyMap.delete(node.policy.name);
+              phase.policies.delete(node);
+            }
+          }
+        }
+        function walkPhases() {
+          for (const phase of orderedPhases) {
+            walkPhase(phase);
+            if (phase.policies.size > 0 && phase !== noPhase) {
+              if (!noPhase.hasRun) {
+                walkPhase(noPhase);
+              }
+              return;
+            }
+            if (phase.hasAfterPolicies) {
+              walkPhase(noPhase);
+            }
+          }
+        }
+        let iteration = 0;
+        while (policyMap.size > 0) {
+          iteration++;
+          const initialResultLength = result.length;
+          walkPhases();
+          if (result.length <= initialResultLength && iteration > 1) {
+            throw new Error("Cannot satisfy policy dependencies due to requirements cycle.");
+          }
+        }
+        return result;
+      }
+    };
+    function createEmptyPipeline() {
+      return HttpPipeline.create();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js
+var require_object = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isObject = isObject2;
+    function isObject2(input) {
+      return typeof input === "object" && input !== null && !Array.isArray(input) && !(input instanceof RegExp) && !(input instanceof Date);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js
+var require_error = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isError = isError;
+    var object_js_1 = require_object();
+    function isError(e) {
+      if ((0, object_js_1.isObject)(e)) {
+        const hasName = typeof e.name === "string";
+        const hasMessage = typeof e.message === "string";
+        return hasName && hasMessage;
+      }
+      return false;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js
+var require_inspect = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.custom = void 0;
+    var node_util_1 = require("node:util");
+    exports2.custom = node_util_1.inspect.custom;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js
+var require_sanitizer = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Sanitizer = void 0;
+    var object_js_1 = require_object();
+    var RedactedString = "REDACTED";
+    var defaultAllowedHeaderNames = [
+      "x-ms-client-request-id",
+      "x-ms-return-client-request-id",
+      "x-ms-useragent",
+      "x-ms-correlation-request-id",
+      "x-ms-request-id",
+      "client-request-id",
+      "ms-cv",
+      "return-client-request-id",
+      "traceparent",
+      "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",
+      "Origin",
+      "Accept",
+      "Accept-Encoding",
+      "Cache-Control",
+      "Connection",
+      "Content-Length",
+      "Content-Type",
+      "Date",
+      "ETag",
+      "Expires",
+      "If-Match",
+      "If-Modified-Since",
+      "If-None-Match",
+      "If-Unmodified-Since",
+      "Last-Modified",
+      "Pragma",
+      "Request-Id",
+      "Retry-After",
+      "Server",
+      "Transfer-Encoding",
+      "User-Agent",
+      "WWW-Authenticate"
+    ];
+    var defaultAllowedQueryParameters = ["api-version"];
+    var Sanitizer = class {
+      allowedHeaderNames;
+      allowedQueryParameters;
+      constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], additionalAllowedQueryParameters: allowedQueryParameters = [] } = {}) {
+        allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);
+        allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);
+        this.allowedHeaderNames = new Set(allowedHeaderNames.map((n) => n.toLowerCase()));
+        this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));
+      }
+      /**
+       * Sanitizes an object for logging.
+       * @param obj - The object to sanitize
+       * @returns - The sanitized object as a string
+       */
+      sanitize(obj) {
+        const seen = /* @__PURE__ */ new Set();
+        return JSON.stringify(obj, (key, value) => {
+          if (value instanceof Error) {
+            return {
+              ...value,
+              name: value.name,
+              message: value.message
+            };
+          }
+          if (key === "headers") {
+            return this.sanitizeHeaders(value);
+          } else if (key === "url") {
+            return this.sanitizeUrl(value);
+          } else if (key === "query") {
+            return this.sanitizeQuery(value);
+          } else if (key === "body") {
+            return void 0;
+          } else if (key === "response") {
+            return void 0;
+          } else if (key === "operationSpec") {
+            return void 0;
+          } else if (Array.isArray(value) || (0, object_js_1.isObject)(value)) {
+            if (seen.has(value)) {
+              return "[Circular]";
+            }
+            seen.add(value);
+          }
+          return value;
+        }, 2);
+      }
+      /**
+       * Sanitizes a URL for logging.
+       * @param value - The URL to sanitize
+       * @returns - The sanitized URL as a string
+       */
+      sanitizeUrl(value) {
+        if (typeof value !== "string" || value === null || value === "") {
+          return value;
+        }
+        const url = new URL(value);
+        if (!url.search) {
+          return value;
+        }
+        for (const [key] of url.searchParams) {
+          if (!this.allowedQueryParameters.has(key.toLowerCase())) {
+            url.searchParams.set(key, RedactedString);
+          }
+        }
+        return url.toString();
+      }
+      sanitizeHeaders(obj) {
+        const sanitized = {};
+        for (const key of Object.keys(obj)) {
+          if (this.allowedHeaderNames.has(key.toLowerCase())) {
+            sanitized[key] = obj[key];
+          } else {
+            sanitized[key] = RedactedString;
+          }
+        }
+        return sanitized;
+      }
+      sanitizeQuery(value) {
+        if (typeof value !== "object" || value === null) {
+          return value;
+        }
+        const sanitized = {};
+        for (const k of Object.keys(value)) {
+          if (this.allowedQueryParameters.has(k.toLowerCase())) {
+            sanitized[k] = value[k];
+          } else {
+            sanitized[k] = RedactedString;
+          }
+        }
+        return sanitized;
+      }
+    };
+    exports2.Sanitizer = Sanitizer;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js
+var require_restError = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RestError = void 0;
+    exports2.isRestError = isRestError;
+    var error_js_1 = require_error();
+    var inspect_js_1 = require_inspect();
+    var sanitizer_js_1 = require_sanitizer();
+    var errorSanitizer = new sanitizer_js_1.Sanitizer();
+    var RestError = class _RestError extends Error {
+      /**
+       * Something went wrong when making the request.
+       * This means the actual request failed for some reason,
+       * such as a DNS issue or the connection being lost.
+       */
+      static REQUEST_SEND_ERROR = "REQUEST_SEND_ERROR";
+      /**
+       * This means that parsing the response from the server failed.
+       * It may have been malformed.
+       */
+      static PARSE_ERROR = "PARSE_ERROR";
+      /**
+       * The code of the error itself (use statics on RestError if possible.)
+       */
+      code;
+      /**
+       * The HTTP status code of the request (if applicable.)
+       */
+      statusCode;
+      /**
+       * The request that was made.
+       * This property is non-enumerable.
+       */
+      request;
+      /**
+       * The response received (if any.)
+       * This property is non-enumerable.
+       */
+      response;
+      /**
+       * Bonus property set by the throw site.
+       */
+      details;
+      constructor(message, options = {}) {
+        super(message);
+        this.name = "RestError";
+        this.code = options.code;
+        this.statusCode = options.statusCode;
+        Object.defineProperty(this, "request", { value: options.request, enumerable: false });
+        Object.defineProperty(this, "response", { value: options.response, enumerable: false });
+        const agent = this.request?.agent ? {
+          maxFreeSockets: this.request.agent.maxFreeSockets,
+          maxSockets: this.request.agent.maxSockets
+        } : void 0;
+        Object.defineProperty(this, inspect_js_1.custom, {
+          value: () => {
+            return `RestError: ${this.message} 
+ ${errorSanitizer.sanitize({
+              ...this,
+              request: { ...this.request, agent },
+              response: this.response
+            })}`;
+          },
+          enumerable: false
+        });
+        Object.setPrototypeOf(this, _RestError.prototype);
+      }
+    };
+    exports2.RestError = RestError;
+    function isRestError(e) {
+      if (e instanceof RestError) {
+        return true;
+      }
+      return (0, error_js_1.isError)(e) && e.name === "RestError";
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js
+var require_bytesEncoding = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uint8ArrayToString = uint8ArrayToString;
+    exports2.stringToUint8Array = stringToUint8Array;
+    function uint8ArrayToString(bytes, format) {
+      return Buffer.from(bytes).toString(format);
+    }
+    function stringToUint8Array(value, format) {
+      return Buffer.from(value, format);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js
+var require_log2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_js_1 = require_logger();
+    exports2.logger = (0, logger_js_1.createClientLogger)("ts-http-runtime");
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js
+var require_nodeHttpClient = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getBodyLength = getBodyLength;
+    exports2.createNodeHttpClient = createNodeHttpClient;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_http_1 = tslib_1.__importDefault(require("node:http"));
+    var node_https_1 = tslib_1.__importDefault(require("node:https"));
+    var node_zlib_1 = tslib_1.__importDefault(require("node:zlib"));
+    var node_stream_1 = require("node:stream");
+    var AbortError_js_1 = require_AbortError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    var restError_js_1 = require_restError();
+    var log_js_1 = require_log2();
+    var sanitizer_js_1 = require_sanitizer();
+    var DEFAULT_TLS_SETTINGS = {};
+    function isReadableStream(body) {
+      return body && typeof body.pipe === "function";
+    }
+    function isStreamComplete(stream) {
+      if (stream.readable === false) {
+        return Promise.resolve();
+      }
+      return new Promise((resolve3) => {
+        const handler2 = () => {
+          resolve3();
+          stream.removeListener("close", handler2);
+          stream.removeListener("end", handler2);
+          stream.removeListener("error", handler2);
+        };
+        stream.on("close", handler2);
+        stream.on("end", handler2);
+        stream.on("error", handler2);
+      });
+    }
+    function isArrayBuffer(body) {
+      return body && typeof body.byteLength === "number";
+    }
+    var ReportTransform = class extends node_stream_1.Transform {
+      loadedBytes = 0;
+      progressCallback;
+      // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
+      _transform(chunk, _encoding, callback) {
+        this.push(chunk);
+        this.loadedBytes += chunk.length;
+        try {
+          this.progressCallback({ loadedBytes: this.loadedBytes });
+          callback();
+        } catch (e) {
+          callback(e);
+        }
+      }
+      constructor(progressCallback) {
+        super();
+        this.progressCallback = progressCallback;
+      }
+    };
+    var NodeHttpClient = class {
+      cachedHttpAgent;
+      cachedHttpsAgents = /* @__PURE__ */ new WeakMap();
+      /**
+       * Makes a request over an underlying transport layer and returns the response.
+       * @param request - The request to be made.
+       */
+      async sendRequest(request2) {
+        const abortController = new AbortController();
+        let abortListener;
+        if (request2.abortSignal) {
+          if (request2.abortSignal.aborted) {
+            throw new AbortError_js_1.AbortError("The operation was aborted. Request has already been canceled.");
+          }
+          abortListener = (event) => {
+            if (event.type === "abort") {
+              abortController.abort();
+            }
+          };
+          request2.abortSignal.addEventListener("abort", abortListener);
+        }
+        let timeoutId;
+        if (request2.timeout > 0) {
+          timeoutId = setTimeout(() => {
+            const sanitizer = new sanitizer_js_1.Sanitizer();
+            log_js_1.logger.info(`request to '${sanitizer.sanitizeUrl(request2.url)}' timed out. canceling...`);
+            abortController.abort();
+          }, request2.timeout);
+        }
+        const acceptEncoding = request2.headers.get("Accept-Encoding");
+        const shouldDecompress = acceptEncoding?.includes("gzip") || acceptEncoding?.includes("deflate");
+        let body = typeof request2.body === "function" ? request2.body() : request2.body;
+        if (body && !request2.headers.has("Content-Length")) {
+          const bodyLength = getBodyLength(body);
+          if (bodyLength !== null) {
+            request2.headers.set("Content-Length", bodyLength);
+          }
+        }
+        let responseStream;
+        try {
+          if (body && request2.onUploadProgress) {
+            const onUploadProgress = request2.onUploadProgress;
+            const uploadReportStream = new ReportTransform(onUploadProgress);
+            uploadReportStream.on("error", (e) => {
+              log_js_1.logger.error("Error in upload progress", e);
+            });
+            if (isReadableStream(body)) {
+              body.pipe(uploadReportStream);
+            } else {
+              uploadReportStream.end(body);
+            }
+            body = uploadReportStream;
+          }
+          const res = await this.makeRequest(request2, abortController, body);
+          if (timeoutId !== void 0) {
+            clearTimeout(timeoutId);
+          }
+          const headers = getResponseHeaders(res);
+          const status = res.statusCode ?? 0;
+          const response = {
+            status,
+            headers,
+            request: request2
+          };
+          if (request2.method === "HEAD") {
+            res.resume();
+            return response;
+          }
+          responseStream = shouldDecompress ? getDecodedResponseStream(res, headers) : res;
+          const onDownloadProgress = request2.onDownloadProgress;
+          if (onDownloadProgress) {
+            const downloadReportStream = new ReportTransform(onDownloadProgress);
+            downloadReportStream.on("error", (e) => {
+              log_js_1.logger.error("Error in download progress", e);
+            });
+            responseStream.pipe(downloadReportStream);
+            responseStream = downloadReportStream;
+          }
+          if (
+            // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code
+            request2.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) || request2.streamResponseStatusCodes?.has(response.status)
+          ) {
+            response.readableStreamBody = responseStream;
+          } else {
+            response.bodyAsText = await streamToText(responseStream);
+          }
+          return response;
+        } finally {
+          if (request2.abortSignal && abortListener) {
+            let uploadStreamDone = Promise.resolve();
+            if (isReadableStream(body)) {
+              uploadStreamDone = isStreamComplete(body);
+            }
+            let downloadStreamDone = Promise.resolve();
+            if (isReadableStream(responseStream)) {
+              downloadStreamDone = isStreamComplete(responseStream);
+            }
+            Promise.all([uploadStreamDone, downloadStreamDone]).then(() => {
+              if (abortListener) {
+                request2.abortSignal?.removeEventListener("abort", abortListener);
+              }
+            }).catch((e) => {
+              log_js_1.logger.warning("Error when cleaning up abortListener on httpRequest", e);
+            });
+          }
+        }
+      }
+      makeRequest(request2, abortController, body) {
+        const url = new URL(request2.url);
+        const isInsecure = url.protocol !== "https:";
+        if (isInsecure && !request2.allowInsecureConnection) {
+          throw new Error(`Cannot connect to ${request2.url} while allowInsecureConnection is false.`);
+        }
+        const agent = request2.agent ?? this.getOrCreateAgent(request2, isInsecure);
+        const options = {
+          agent,
+          hostname: url.hostname,
+          path: `${url.pathname}${url.search}`,
+          port: url.port,
+          method: request2.method,
+          headers: request2.headers.toJSON({ preserveCase: true }),
+          ...request2.requestOverrides
+        };
+        return new Promise((resolve3, reject) => {
+          const req = isInsecure ? node_http_1.default.request(options, resolve3) : node_https_1.default.request(options, resolve3);
+          req.once("error", (err) => {
+            reject(new restError_js_1.RestError(err.message, { code: err.code ?? restError_js_1.RestError.REQUEST_SEND_ERROR, request: request2 }));
+          });
+          abortController.signal.addEventListener("abort", () => {
+            const abortError = new AbortError_js_1.AbortError("The operation was aborted. Rejecting from abort signal callback while making request.");
+            req.destroy(abortError);
+            reject(abortError);
+          });
+          if (body && isReadableStream(body)) {
+            body.pipe(req);
+          } else if (body) {
+            if (typeof body === "string" || Buffer.isBuffer(body)) {
+              req.end(body);
+            } else if (isArrayBuffer(body)) {
+              req.end(ArrayBuffer.isView(body) ? Buffer.from(body.buffer) : Buffer.from(body));
+            } else {
+              log_js_1.logger.error("Unrecognized body type", body);
+              reject(new restError_js_1.RestError("Unrecognized body type"));
+            }
+          } else {
+            req.end();
+          }
+        });
+      }
+      getOrCreateAgent(request2, isInsecure) {
+        const disableKeepAlive = request2.disableKeepAlive;
+        if (isInsecure) {
+          if (disableKeepAlive) {
+            return node_http_1.default.globalAgent;
+          }
+          if (!this.cachedHttpAgent) {
+            this.cachedHttpAgent = new node_http_1.default.Agent({ keepAlive: true });
+          }
+          return this.cachedHttpAgent;
+        } else {
+          if (disableKeepAlive && !request2.tlsSettings) {
+            return node_https_1.default.globalAgent;
+          }
+          const tlsSettings = request2.tlsSettings ?? DEFAULT_TLS_SETTINGS;
+          let agent = this.cachedHttpsAgents.get(tlsSettings);
+          if (agent && agent.options.keepAlive === !disableKeepAlive) {
+            return agent;
+          }
+          log_js_1.logger.info("No cached TLS Agent exist, creating a new Agent");
+          agent = new node_https_1.default.Agent({
+            // keepAlive is true if disableKeepAlive is false.
+            keepAlive: !disableKeepAlive,
+            // Since we are spreading, if no tslSettings were provided, nothing is added to the agent options.
+            ...tlsSettings
+          });
+          this.cachedHttpsAgents.set(tlsSettings, agent);
+          return agent;
+        }
+      }
+    };
+    function getResponseHeaders(res) {
+      const headers = (0, httpHeaders_js_1.createHttpHeaders)();
+      for (const header of Object.keys(res.headers)) {
+        const value = res.headers[header];
+        if (Array.isArray(value)) {
+          if (value.length > 0) {
+            headers.set(header, value[0]);
+          }
+        } else if (value) {
+          headers.set(header, value);
+        }
+      }
+      return headers;
+    }
+    function getDecodedResponseStream(stream, headers) {
+      const contentEncoding = headers.get("Content-Encoding");
+      if (contentEncoding === "gzip") {
+        const unzip = node_zlib_1.default.createGunzip();
+        stream.pipe(unzip);
+        return unzip;
+      } else if (contentEncoding === "deflate") {
+        const inflate = node_zlib_1.default.createInflate();
+        stream.pipe(inflate);
+        return inflate;
+      }
+      return stream;
+    }
+    function streamToText(stream) {
+      return new Promise((resolve3, reject) => {
+        const buffer = [];
+        stream.on("data", (chunk) => {
+          if (Buffer.isBuffer(chunk)) {
+            buffer.push(chunk);
+          } else {
+            buffer.push(Buffer.from(chunk));
+          }
+        });
+        stream.on("end", () => {
+          resolve3(Buffer.concat(buffer).toString("utf8"));
+        });
+        stream.on("error", (e) => {
+          if (e && e?.name === "AbortError") {
+            reject(e);
+          } else {
+            reject(new restError_js_1.RestError(`Error reading response as text: ${e.message}`, {
+              code: restError_js_1.RestError.PARSE_ERROR
+            }));
+          }
+        });
+      });
+    }
+    function getBodyLength(body) {
+      if (!body) {
+        return 0;
+      } else if (Buffer.isBuffer(body)) {
+        return body.length;
+      } else if (isReadableStream(body)) {
+        return null;
+      } else if (isArrayBuffer(body)) {
+        return body.byteLength;
+      } else if (typeof body === "string") {
+        return Buffer.from(body).length;
+      } else {
+        return null;
+      }
+    }
+    function createNodeHttpClient() {
+      return new NodeHttpClient();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js
+var require_defaultHttpClient = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultHttpClient = createDefaultHttpClient;
+    var nodeHttpClient_js_1 = require_nodeHttpClient();
+    function createDefaultHttpClient() {
+      return (0, nodeHttpClient_js_1.createNodeHttpClient)();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js
+var require_logPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logPolicyName = void 0;
+    exports2.logPolicy = logPolicy;
+    var log_js_1 = require_log2();
+    var sanitizer_js_1 = require_sanitizer();
+    exports2.logPolicyName = "logPolicy";
+    function logPolicy(options = {}) {
+      const logger = options.logger ?? log_js_1.logger.info;
+      const sanitizer = new sanitizer_js_1.Sanitizer({
+        additionalAllowedHeaderNames: options.additionalAllowedHeaderNames,
+        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
+      });
+      return {
+        name: exports2.logPolicyName,
+        async sendRequest(request2, next) {
+          if (!logger.enabled) {
+            return next(request2);
+          }
+          logger(`Request: ${sanitizer.sanitize(request2)}`);
+          const response = await next(request2);
+          logger(`Response status code: ${response.status}`);
+          logger(`Headers: ${sanitizer.sanitize(response.headers)}`);
+          return response;
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js
+var require_redirectPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.redirectPolicyName = void 0;
+    exports2.redirectPolicy = redirectPolicy;
+    exports2.redirectPolicyName = "redirectPolicy";
+    var allowedRedirect = ["GET", "HEAD"];
+    function redirectPolicy(options = {}) {
+      const { maxRetries = 20 } = options;
+      return {
+        name: exports2.redirectPolicyName,
+        async sendRequest(request2, next) {
+          const response = await next(request2);
+          return handleRedirect(next, response, maxRetries);
+        }
+      };
+    }
+    async function handleRedirect(next, response, maxRetries, currentRetries = 0) {
+      const { request: request2, status, headers } = response;
+      const locationHeader = headers.get("location");
+      if (locationHeader && (status === 300 || status === 301 && allowedRedirect.includes(request2.method) || status === 302 && allowedRedirect.includes(request2.method) || status === 303 && request2.method === "POST" || status === 307) && currentRetries < maxRetries) {
+        const url = new URL(locationHeader, request2.url);
+        request2.url = url.toString();
+        if (status === 303) {
+          request2.method = "GET";
+          request2.headers.delete("Content-Length");
+          delete request2.body;
+        }
+        request2.headers.delete("Authorization");
+        const res = await next(request2);
+        return handleRedirect(next, res, maxRetries, currentRetries + 1);
+      }
+      return response;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js
+var require_userAgentPlatform = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getHeaderName = getHeaderName;
+    exports2.setPlatformSpecificData = setPlatformSpecificData;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_os_1 = tslib_1.__importDefault(require("node:os"));
+    var node_process_1 = tslib_1.__importDefault(require("node:process"));
+    function getHeaderName() {
+      return "User-Agent";
+    }
+    async function setPlatformSpecificData(map2) {
+      if (node_process_1.default && node_process_1.default.versions) {
+        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
+        const versions = node_process_1.default.versions;
+        if (versions.bun) {
+          map2.set("Bun", `${versions.bun} (${osInfo})`);
+        } else if (versions.deno) {
+          map2.set("Deno", `${versions.deno} (${osInfo})`);
+        } else if (versions.node) {
+          map2.set("Node", `${versions.node} (${osInfo})`);
+        }
+      }
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js
+var require_constants13 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "0.3.2";
+    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js
+var require_userAgent = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
+    exports2.getUserAgentValue = getUserAgentValue;
+    var userAgentPlatform_js_1 = require_userAgentPlatform();
+    var constants_js_1 = require_constants13();
+    function getUserAgentString(telemetryInfo) {
+      const parts = [];
+      for (const [key, value] of telemetryInfo) {
+        const token = value ? `${key}/${value}` : key;
+        parts.push(token);
+      }
+      return parts.join(" ");
+    }
+    function getUserAgentHeaderName() {
+      return (0, userAgentPlatform_js_1.getHeaderName)();
+    }
+    async function getUserAgentValue(prefix) {
+      const runtimeInfo = /* @__PURE__ */ new Map();
+      runtimeInfo.set("ts-http-runtime", constants_js_1.SDK_VERSION);
+      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
+      const defaultAgent = getUserAgentString(runtimeInfo);
+      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
+      return userAgentValue;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js
+var require_userAgentPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.userAgentPolicyName = void 0;
+    exports2.userAgentPolicy = userAgentPolicy;
+    var userAgent_js_1 = require_userAgent();
+    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
+    exports2.userAgentPolicyName = "userAgentPolicy";
+    function userAgentPolicy(options = {}) {
+      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
+      return {
+        name: exports2.userAgentPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.headers.has(UserAgentHeaderName)) {
+            request2.headers.set(UserAgentHeaderName, await userAgentValue);
+          }
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js
+var require_decompressResponsePolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.decompressResponsePolicyName = void 0;
+    exports2.decompressResponsePolicy = decompressResponsePolicy;
+    exports2.decompressResponsePolicyName = "decompressResponsePolicy";
+    function decompressResponsePolicy() {
+      return {
+        name: exports2.decompressResponsePolicyName,
+        async sendRequest(request2, next) {
+          if (request2.method !== "HEAD") {
+            request2.headers.set("Accept-Encoding", "gzip,deflate");
+          }
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js
+var require_random = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
+    function getRandomIntegerInclusive(min, max) {
+      min = Math.ceil(min);
+      max = Math.floor(max);
+      const offset = Math.floor(Math.random() * (max - min + 1));
+      return offset + min;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js
+var require_delay = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.calculateRetryDelay = calculateRetryDelay;
+    var random_js_1 = require_random();
+    function calculateRetryDelay(retryAttempt, config) {
+      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
+      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
+      const retryAfterInMs = clampedDelay / 2 + (0, random_js_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
+      return { retryAfterInMs };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js
+var require_helpers2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.delay = delay;
+    exports2.parseHeaderValueAsNumber = parseHeaderValueAsNumber;
+    var AbortError_js_1 = require_AbortError();
+    var StandardAbortMessage = "The operation was aborted.";
+    function delay(delayInMs, value, options) {
+      return new Promise((resolve3, reject) => {
+        let timer = void 0;
+        let onAborted = void 0;
+        const rejectOnAbort = () => {
+          return reject(new AbortError_js_1.AbortError(options?.abortErrorMsg ? options?.abortErrorMsg : StandardAbortMessage));
+        };
+        const removeListeners = () => {
+          if (options?.abortSignal && onAborted) {
+            options.abortSignal.removeEventListener("abort", onAborted);
+          }
+        };
+        onAborted = () => {
+          if (timer) {
+            clearTimeout(timer);
+          }
+          removeListeners();
+          return rejectOnAbort();
+        };
+        if (options?.abortSignal && options.abortSignal.aborted) {
+          return rejectOnAbort();
+        }
+        timer = setTimeout(() => {
+          removeListeners();
+          resolve3(value);
+        }, delayInMs);
+        if (options?.abortSignal) {
+          options.abortSignal.addEventListener("abort", onAborted);
+        }
+      });
+    }
+    function parseHeaderValueAsNumber(response, headerName) {
+      const value = response.headers.get(headerName);
+      if (!value)
+        return;
+      const valueAsNum = Number(value);
+      if (Number.isNaN(valueAsNum))
+        return;
+      return valueAsNum;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js
+var require_throttlingRetryStrategy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isThrottlingRetryResponse = isThrottlingRetryResponse;
+    exports2.throttlingRetryStrategy = throttlingRetryStrategy;
+    var helpers_js_1 = require_helpers2();
+    var RetryAfterHeader = "Retry-After";
+    var AllRetryAfterHeaders = ["retry-after-ms", "x-ms-retry-after-ms", RetryAfterHeader];
+    function getRetryAfterInMs(response) {
+      if (!(response && [429, 503].includes(response.status)))
+        return void 0;
+      try {
+        for (const header of AllRetryAfterHeaders) {
+          const retryAfterValue = (0, helpers_js_1.parseHeaderValueAsNumber)(response, header);
+          if (retryAfterValue === 0 || retryAfterValue) {
+            const multiplyingFactor = header === RetryAfterHeader ? 1e3 : 1;
+            return retryAfterValue * multiplyingFactor;
+          }
+        }
+        const retryAfterHeader = response.headers.get(RetryAfterHeader);
+        if (!retryAfterHeader)
+          return;
+        const date = Date.parse(retryAfterHeader);
+        const diff = date - Date.now();
+        return Number.isFinite(diff) ? Math.max(0, diff) : void 0;
+      } catch {
+        return void 0;
+      }
+    }
+    function isThrottlingRetryResponse(response) {
+      return Number.isFinite(getRetryAfterInMs(response));
+    }
+    function throttlingRetryStrategy() {
+      return {
+        name: "throttlingRetryStrategy",
+        retry({ response }) {
+          const retryAfterInMs = getRetryAfterInMs(response);
+          if (!Number.isFinite(retryAfterInMs)) {
+            return { skipStrategy: true };
+          }
+          return {
+            retryAfterInMs
+          };
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js
+var require_exponentialRetryStrategy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.exponentialRetryStrategy = exponentialRetryStrategy;
+    exports2.isExponentialRetryResponse = isExponentialRetryResponse;
+    exports2.isSystemError = isSystemError;
+    var delay_js_1 = require_delay();
+    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
+    var DEFAULT_CLIENT_RETRY_INTERVAL = 1e3;
+    var DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1e3 * 64;
+    function exponentialRetryStrategy(options = {}) {
+      const retryInterval = options.retryDelayInMs ?? DEFAULT_CLIENT_RETRY_INTERVAL;
+      const maxRetryInterval = options.maxRetryDelayInMs ?? DEFAULT_CLIENT_MAX_RETRY_INTERVAL;
+      return {
+        name: "exponentialRetryStrategy",
+        retry({ retryCount, response, responseError }) {
+          const matchedSystemError = isSystemError(responseError);
+          const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors;
+          const isExponential = isExponentialRetryResponse(response);
+          const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes;
+          const unknownResponse = response && ((0, throttlingRetryStrategy_js_1.isThrottlingRetryResponse)(response) || !isExponential);
+          if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) {
+            return { skipStrategy: true };
+          }
+          if (responseError && !matchedSystemError && !isExponential) {
+            return { errorToThrow: responseError };
+          }
+          return (0, delay_js_1.calculateRetryDelay)(retryCount, {
+            retryDelayInMs: retryInterval,
+            maxRetryDelayInMs: maxRetryInterval
+          });
+        }
+      };
+    }
+    function isExponentialRetryResponse(response) {
+      return Boolean(response && response.status !== void 0 && (response.status >= 500 || response.status === 408) && response.status !== 501 && response.status !== 505);
+    }
+    function isSystemError(err) {
+      if (!err) {
+        return false;
+      }
+      return err.code === "ETIMEDOUT" || err.code === "ESOCKETTIMEDOUT" || err.code === "ECONNREFUSED" || err.code === "ECONNRESET" || err.code === "ENOENT" || err.code === "ENOTFOUND";
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js
+var require_retryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.retryPolicy = retryPolicy;
+    var helpers_js_1 = require_helpers2();
+    var AbortError_js_1 = require_AbortError();
+    var logger_js_1 = require_logger();
+    var constants_js_1 = require_constants13();
+    var retryPolicyLogger = (0, logger_js_1.createClientLogger)("ts-http-runtime retryPolicy");
+    var retryPolicyName = "retryPolicy";
+    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
+      const logger = options.logger || retryPolicyLogger;
+      return {
+        name: retryPolicyName,
+        async sendRequest(request2, next) {
+          let response;
+          let responseError;
+          let retryCount = -1;
+          retryRequest: while (true) {
+            retryCount += 1;
+            response = void 0;
+            responseError = void 0;
+            try {
+              logger.info(`Retry ${retryCount}: Attempting to send request`, request2.requestId);
+              response = await next(request2);
+              logger.info(`Retry ${retryCount}: Received a response from request`, request2.requestId);
+            } catch (e) {
+              logger.error(`Retry ${retryCount}: Received an error from request`, request2.requestId);
+              responseError = e;
+              if (!e || responseError.name !== "RestError") {
+                throw e;
+              }
+              response = responseError.response;
+            }
+            if (request2.abortSignal?.aborted) {
+              logger.error(`Retry ${retryCount}: Request aborted.`);
+              const abortError = new AbortError_js_1.AbortError();
+              throw abortError;
+            }
+            if (retryCount >= (options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT)) {
+              logger.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`);
+              if (responseError) {
+                throw responseError;
+              } else if (response) {
+                return response;
+              } else {
+                throw new Error("Maximum retries reached with no response or error to throw");
+              }
+            }
+            logger.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`);
+            strategiesLoop: for (const strategy of strategies) {
+              const strategyLogger = strategy.logger || logger;
+              strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`);
+              const modifiers = strategy.retry({
+                retryCount,
+                response,
+                responseError
+              });
+              if (modifiers.skipStrategy) {
+                strategyLogger.info(`Retry ${retryCount}: Skipped.`);
+                continue strategiesLoop;
+              }
+              const { errorToThrow, retryAfterInMs, redirectTo } = modifiers;
+              if (errorToThrow) {
+                strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow);
+                throw errorToThrow;
+              }
+              if (retryAfterInMs || retryAfterInMs === 0) {
+                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`);
+                await (0, helpers_js_1.delay)(retryAfterInMs, void 0, { abortSignal: request2.abortSignal });
+                continue retryRequest;
+              }
+              if (redirectTo) {
+                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`);
+                request2.url = redirectTo;
+                continue retryRequest;
+              }
+            }
+            if (responseError) {
+              logger.info(`None of the retry strategies could work with the received error. Throwing it.`);
+              throw responseError;
+            }
+            if (response) {
+              logger.info(`None of the retry strategies could work with the received response. Returning it.`);
+              return response;
+            }
+          }
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js
+var require_defaultRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.defaultRetryPolicyName = void 0;
+    exports2.defaultRetryPolicy = defaultRetryPolicy;
+    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
+    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants13();
+    exports2.defaultRetryPolicyName = "defaultRetryPolicy";
+    function defaultRetryPolicy(options = {}) {
+      return {
+        name: exports2.defaultRetryPolicyName,
+        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)(), (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)(options)], {
+          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+        }).sendRequest
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js
+var require_checkEnvironment = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isDeno = exports2.isWebWorker = exports2.isBrowser = void 0;
+    exports2.isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
+    exports2.isWebWorker = typeof self === "object" && typeof self?.importScripts === "function" && (self.constructor?.name === "DedicatedWorkerGlobalScope" || self.constructor?.name === "ServiceWorkerGlobalScope" || self.constructor?.name === "SharedWorkerGlobalScope");
+    exports2.isDeno = typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined";
+    exports2.isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined";
+    exports2.isNodeLike = typeof globalThis.process !== "undefined" && Boolean(globalThis.process.version) && Boolean(globalThis.process.versions?.node);
+    exports2.isNodeRuntime = exports2.isNodeLike && !exports2.isBun && !exports2.isDeno;
+    exports2.isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative";
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js
+var require_formDataPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.formDataPolicyName = void 0;
+    exports2.formDataPolicy = formDataPolicy;
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    var httpHeaders_js_1 = require_httpHeaders();
+    exports2.formDataPolicyName = "formDataPolicy";
+    function formDataToFormDataMap(formData) {
+      const formDataMap = {};
+      for (const [key, value] of formData.entries()) {
+        formDataMap[key] ??= [];
+        formDataMap[key].push(value);
+      }
+      return formDataMap;
+    }
+    function formDataPolicy() {
+      return {
+        name: exports2.formDataPolicyName,
+        async sendRequest(request2, next) {
+          if (checkEnvironment_js_1.isNodeLike && typeof FormData !== "undefined" && request2.body instanceof FormData) {
+            request2.formData = formDataToFormDataMap(request2.body);
+            request2.body = void 0;
+          }
+          if (request2.formData) {
+            const contentType = request2.headers.get("Content-Type");
+            if (contentType && contentType.indexOf("application/x-www-form-urlencoded") !== -1) {
+              request2.body = wwwFormUrlEncode(request2.formData);
+            } else {
+              await prepareFormData(request2.formData, request2);
+            }
+            request2.formData = void 0;
+          }
+          return next(request2);
+        }
+      };
+    }
+    function wwwFormUrlEncode(formData) {
+      const urlSearchParams = new URLSearchParams();
+      for (const [key, value] of Object.entries(formData)) {
+        if (Array.isArray(value)) {
+          for (const subValue of value) {
+            urlSearchParams.append(key, subValue.toString());
+          }
+        } else {
+          urlSearchParams.append(key, value.toString());
+        }
+      }
+      return urlSearchParams.toString();
+    }
+    async function prepareFormData(formData, request2) {
+      const contentType = request2.headers.get("Content-Type");
+      if (contentType && !contentType.startsWith("multipart/form-data")) {
+        return;
+      }
+      request2.headers.set("Content-Type", contentType ?? "multipart/form-data");
+      const parts = [];
+      for (const [fieldName, values] of Object.entries(formData)) {
+        for (const value of Array.isArray(values) ? values : [values]) {
+          if (typeof value === "string") {
+            parts.push({
+              headers: (0, httpHeaders_js_1.createHttpHeaders)({
+                "Content-Disposition": `form-data; name="${fieldName}"`
+              }),
+              body: (0, bytesEncoding_js_1.stringToUint8Array)(value, "utf-8")
+            });
+          } else if (value === void 0 || value === null || typeof value !== "object") {
+            throw new Error(`Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`);
+          } else {
+            const fileName = value.name || "blob";
+            const headers = (0, httpHeaders_js_1.createHttpHeaders)();
+            headers.set("Content-Disposition", `form-data; name="${fieldName}"; filename="${fileName}"`);
+            headers.set("Content-Type", value.type || "application/octet-stream");
+            parts.push({
+              headers,
+              body: value
+            });
+          }
+        }
+      }
+      request2.multipartBody = { parts };
+    }
+  }
+});
+
+// node_modules/ms/index.js
+var require_ms = __commonJS({
+  "node_modules/ms/index.js"(exports2, module2) {
+    var s = 1e3;
+    var m = s * 60;
+    var h = m * 60;
+    var d = h * 24;
+    var w = d * 7;
+    var y = d * 365.25;
+    module2.exports = function(val, options) {
+      options = options || {};
+      var type2 = typeof val;
+      if (type2 === "string" && val.length > 0) {
+        return parse2(val);
+      } else if (type2 === "number" && isFinite(val)) {
+        return options.long ? fmtLong(val) : fmtShort(val);
+      }
+      throw new Error(
+        "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
+      );
+    };
+    function parse2(str2) {
+      str2 = String(str2);
+      if (str2.length > 100) {
+        return;
+      }
+      var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
+        str2
+      );
+      if (!match) {
+        return;
+      }
+      var n = parseFloat(match[1]);
+      var type2 = (match[2] || "ms").toLowerCase();
+      switch (type2) {
+        case "years":
+        case "year":
+        case "yrs":
+        case "yr":
+        case "y":
+          return n * y;
+        case "weeks":
+        case "week":
+        case "w":
+          return n * w;
+        case "days":
+        case "day":
+        case "d":
+          return n * d;
+        case "hours":
+        case "hour":
+        case "hrs":
+        case "hr":
+        case "h":
+          return n * h;
+        case "minutes":
+        case "minute":
+        case "mins":
+        case "min":
+        case "m":
+          return n * m;
+        case "seconds":
+        case "second":
+        case "secs":
+        case "sec":
+        case "s":
+          return n * s;
+        case "milliseconds":
+        case "millisecond":
+        case "msecs":
+        case "msec":
+        case "ms":
+          return n;
+        default:
+          return void 0;
+      }
+    }
+    function fmtShort(ms) {
+      var msAbs = Math.abs(ms);
+      if (msAbs >= d) {
+        return Math.round(ms / d) + "d";
+      }
+      if (msAbs >= h) {
+        return Math.round(ms / h) + "h";
+      }
+      if (msAbs >= m) {
+        return Math.round(ms / m) + "m";
+      }
+      if (msAbs >= s) {
+        return Math.round(ms / s) + "s";
+      }
+      return ms + "ms";
+    }
+    function fmtLong(ms) {
+      var msAbs = Math.abs(ms);
+      if (msAbs >= d) {
+        return plural(ms, msAbs, d, "day");
+      }
+      if (msAbs >= h) {
+        return plural(ms, msAbs, h, "hour");
+      }
+      if (msAbs >= m) {
+        return plural(ms, msAbs, m, "minute");
+      }
+      if (msAbs >= s) {
+        return plural(ms, msAbs, s, "second");
+      }
+      return ms + " ms";
+    }
+    function plural(ms, msAbs, n, name) {
+      var isPlural = msAbs >= n * 1.5;
+      return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
+    }
+  }
+});
+
+// node_modules/debug/src/common.js
+var require_common = __commonJS({
+  "node_modules/debug/src/common.js"(exports2, module2) {
+    function setup(env) {
+      createDebug.debug = createDebug;
+      createDebug.default = createDebug;
+      createDebug.coerce = coerce3;
+      createDebug.disable = disable;
+      createDebug.enable = enable;
+      createDebug.enabled = enabled;
+      createDebug.humanize = require_ms();
+      createDebug.destroy = destroy;
+      Object.keys(env).forEach((key) => {
+        createDebug[key] = env[key];
+      });
+      createDebug.names = [];
+      createDebug.skips = [];
+      createDebug.formatters = {};
+      function selectColor(namespace) {
+        let hash = 0;
+        for (let i = 0; i < namespace.length; i++) {
+          hash = (hash << 5) - hash + namespace.charCodeAt(i);
+          hash |= 0;
+        }
+        return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
+      }
+      createDebug.selectColor = selectColor;
+      function createDebug(namespace) {
+        let prevTime;
+        let enableOverride = null;
+        let namespacesCache;
+        let enabledCache;
+        function debug4(...args) {
+          if (!debug4.enabled) {
+            return;
+          }
+          const self2 = debug4;
+          const curr = Number(/* @__PURE__ */ new Date());
+          const ms = curr - (prevTime || curr);
+          self2.diff = ms;
+          self2.prev = prevTime;
+          self2.curr = curr;
+          prevTime = curr;
+          args[0] = createDebug.coerce(args[0]);
+          if (typeof args[0] !== "string") {
+            args.unshift("%O");
+          }
+          let index = 0;
+          args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
+            if (match === "%%") {
+              return "%";
+            }
+            index++;
+            const formatter = createDebug.formatters[format];
+            if (typeof formatter === "function") {
+              const val = args[index];
+              match = formatter.call(self2, val);
+              args.splice(index, 1);
+              index--;
+            }
+            return match;
+          });
+          createDebug.formatArgs.call(self2, args);
+          const logFn = self2.log || createDebug.log;
+          logFn.apply(self2, args);
+        }
+        debug4.namespace = namespace;
+        debug4.useColors = createDebug.useColors();
+        debug4.color = createDebug.selectColor(namespace);
+        debug4.extend = extend3;
+        debug4.destroy = createDebug.destroy;
+        Object.defineProperty(debug4, "enabled", {
+          enumerable: true,
+          configurable: false,
+          get: () => {
+            if (enableOverride !== null) {
+              return enableOverride;
+            }
+            if (namespacesCache !== createDebug.namespaces) {
+              namespacesCache = createDebug.namespaces;
+              enabledCache = createDebug.enabled(namespace);
+            }
+            return enabledCache;
+          },
+          set: (v) => {
+            enableOverride = v;
+          }
+        });
+        if (typeof createDebug.init === "function") {
+          createDebug.init(debug4);
+        }
+        return debug4;
+      }
+      function extend3(namespace, delimiter) {
+        const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
+        newDebug.log = this.log;
+        return newDebug;
+      }
+      function enable(namespaces) {
+        createDebug.save(namespaces);
+        createDebug.namespaces = namespaces;
+        createDebug.names = [];
+        createDebug.skips = [];
+        const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
+        for (const ns of split) {
+          if (ns[0] === "-") {
+            createDebug.skips.push(ns.slice(1));
+          } else {
+            createDebug.names.push(ns);
+          }
+        }
+      }
+      function matchesTemplate(search, template) {
+        let searchIndex = 0;
+        let templateIndex = 0;
+        let starIndex = -1;
+        let matchIndex = 0;
+        while (searchIndex < search.length) {
+          if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
+            if (template[templateIndex] === "*") {
+              starIndex = templateIndex;
+              matchIndex = searchIndex;
+              templateIndex++;
+            } else {
+              searchIndex++;
+              templateIndex++;
+            }
+          } else if (starIndex !== -1) {
+            templateIndex = starIndex + 1;
+            matchIndex++;
+            searchIndex = matchIndex;
+          } else {
+            return false;
+          }
+        }
+        while (templateIndex < template.length && template[templateIndex] === "*") {
+          templateIndex++;
+        }
+        return templateIndex === template.length;
+      }
+      function disable() {
+        const namespaces = [
+          ...createDebug.names,
+          ...createDebug.skips.map((namespace) => "-" + namespace)
+        ].join(",");
+        createDebug.enable("");
+        return namespaces;
+      }
+      function enabled(name) {
+        for (const skip of createDebug.skips) {
+          if (matchesTemplate(name, skip)) {
+            return false;
+          }
+        }
+        for (const ns of createDebug.names) {
+          if (matchesTemplate(name, ns)) {
+            return true;
+          }
+        }
+        return false;
+      }
+      function coerce3(val) {
+        if (val instanceof Error) {
+          return val.stack || val.message;
+        }
+        return val;
+      }
+      function destroy() {
+        console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
+      }
+      createDebug.enable(createDebug.load());
+      return createDebug;
+    }
+    module2.exports = setup;
+  }
+});
+
+// node_modules/debug/src/browser.js
+var require_browser = __commonJS({
+  "node_modules/debug/src/browser.js"(exports2, module2) {
+    exports2.formatArgs = formatArgs;
+    exports2.save = save;
+    exports2.load = load2;
+    exports2.useColors = useColors;
+    exports2.storage = localstorage();
+    exports2.destroy = /* @__PURE__ */ (() => {
+      let warned = false;
+      return () => {
+        if (!warned) {
+          warned = true;
+          console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
+        }
+      };
+    })();
+    exports2.colors = [
+      "#0000CC",
+      "#0000FF",
+      "#0033CC",
+      "#0033FF",
+      "#0066CC",
+      "#0066FF",
+      "#0099CC",
+      "#0099FF",
+      "#00CC00",
+      "#00CC33",
+      "#00CC66",
+      "#00CC99",
+      "#00CCCC",
+      "#00CCFF",
+      "#3300CC",
+      "#3300FF",
+      "#3333CC",
+      "#3333FF",
+      "#3366CC",
+      "#3366FF",
+      "#3399CC",
+      "#3399FF",
+      "#33CC00",
+      "#33CC33",
+      "#33CC66",
+      "#33CC99",
+      "#33CCCC",
+      "#33CCFF",
+      "#6600CC",
+      "#6600FF",
+      "#6633CC",
+      "#6633FF",
+      "#66CC00",
+      "#66CC33",
+      "#9900CC",
+      "#9900FF",
+      "#9933CC",
+      "#9933FF",
+      "#99CC00",
+      "#99CC33",
+      "#CC0000",
+      "#CC0033",
+      "#CC0066",
+      "#CC0099",
+      "#CC00CC",
+      "#CC00FF",
+      "#CC3300",
+      "#CC3333",
+      "#CC3366",
+      "#CC3399",
+      "#CC33CC",
+      "#CC33FF",
+      "#CC6600",
+      "#CC6633",
+      "#CC9900",
+      "#CC9933",
+      "#CCCC00",
+      "#CCCC33",
+      "#FF0000",
+      "#FF0033",
+      "#FF0066",
+      "#FF0099",
+      "#FF00CC",
+      "#FF00FF",
+      "#FF3300",
+      "#FF3333",
+      "#FF3366",
+      "#FF3399",
+      "#FF33CC",
+      "#FF33FF",
+      "#FF6600",
+      "#FF6633",
+      "#FF9900",
+      "#FF9933",
+      "#FFCC00",
+      "#FFCC33"
+    ];
+    function useColors() {
+      if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
+        return true;
+      }
+      if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
+        return false;
+      }
+      let m;
+      return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
+      typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
+      // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
+      typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
+      typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
+    }
+    function formatArgs(args) {
+      args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
+      if (!this.useColors) {
+        return;
+      }
+      const c = "color: " + this.color;
+      args.splice(1, 0, c, "color: inherit");
+      let index = 0;
+      let lastC = 0;
+      args[0].replace(/%[a-zA-Z%]/g, (match) => {
+        if (match === "%%") {
+          return;
+        }
+        index++;
+        if (match === "%c") {
+          lastC = index;
+        }
+      });
+      args.splice(lastC, 0, c);
+    }
+    exports2.log = console.debug || console.log || (() => {
+    });
+    function save(namespaces) {
+      try {
+        if (namespaces) {
+          exports2.storage.setItem("debug", namespaces);
+        } else {
+          exports2.storage.removeItem("debug");
+        }
+      } catch (error3) {
+      }
+    }
+    function load2() {
+      let r;
+      try {
+        r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG");
+      } catch (error3) {
+      }
+      if (!r && typeof process !== "undefined" && "env" in process) {
+        r = process.env.DEBUG;
+      }
+      return r;
+    }
+    function localstorage() {
+      try {
+        return localStorage;
+      } catch (error3) {
+      }
+    }
+    module2.exports = require_common()(exports2);
+    var { formatters } = module2.exports;
+    formatters.j = function(v) {
+      try {
+        return JSON.stringify(v);
+      } catch (error3) {
+        return "[UnexpectedJSONParseError]: " + error3.message;
       }
     };
-    endpoints_default = Endpoints;
   }
 });
 
-// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js
-function endpointsToMethods(octokit) {
-  const newMethods = {};
-  for (const scope of endpointMethodsMap.keys()) {
-    newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
+// node_modules/has-flag/index.js
+var require_has_flag = __commonJS({
+  "node_modules/has-flag/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports = (flag, argv = process.argv) => {
+      const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
+      const position = argv.indexOf(prefix + flag);
+      const terminatorPosition = argv.indexOf("--");
+      return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
+    };
   }
-  return newMethods;
-}
-function decorate(octokit, scope, methodName, defaults, decorations) {
-  const requestWithDefaults = octokit.request.defaults(defaults);
-  function withDecorations(...args) {
-    let options = requestWithDefaults.endpoint.merge(...args);
-    if (decorations.mapToData) {
-      options = Object.assign({}, options, {
-        data: options[decorations.mapToData],
-        [decorations.mapToData]: void 0
-      });
-      return requestWithDefaults(options);
+});
+
+// node_modules/supports-color/index.js
+var require_supports_color = __commonJS({
+  "node_modules/supports-color/index.js"(exports2, module2) {
+    "use strict";
+    var os2 = require("os");
+    var tty = require("tty");
+    var hasFlag = require_has_flag();
+    var { env } = process;
+    var forceColor;
+    if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
+      forceColor = 0;
+    } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
+      forceColor = 1;
     }
-    if (decorations.renamed) {
-      const [newScope, newMethodName] = decorations.renamed;
-      octokit.log.warn(
-        `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
-      );
+    if ("FORCE_COLOR" in env) {
+      if (env.FORCE_COLOR === "true") {
+        forceColor = 1;
+      } else if (env.FORCE_COLOR === "false") {
+        forceColor = 0;
+      } else {
+        forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
+      }
     }
-    if (decorations.deprecated) {
-      octokit.log.warn(decorations.deprecated);
+    function translateLevel(level) {
+      if (level === 0) {
+        return false;
+      }
+      return {
+        level,
+        hasBasic: true,
+        has256: level >= 2,
+        has16m: level >= 3
+      };
     }
-    if (decorations.renamedParameters) {
-      const options2 = requestWithDefaults.endpoint.merge(...args);
-      for (const [name, alias] of Object.entries(
-        decorations.renamedParameters
-      )) {
-        if (name in options2) {
-          octokit.log.warn(
-            `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`
-          );
-          if (!(alias in options2)) {
-            options2[alias] = options2[name];
-          }
-          delete options2[name];
+    function supportsColor(haveStream, streamIsTTY) {
+      if (forceColor === 0) {
+        return 0;
+      }
+      if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
+        return 3;
+      }
+      if (hasFlag("color=256")) {
+        return 2;
+      }
+      if (haveStream && !streamIsTTY && forceColor === void 0) {
+        return 0;
+      }
+      const min = forceColor || 0;
+      if (env.TERM === "dumb") {
+        return min;
+      }
+      if (process.platform === "win32") {
+        const osRelease = os2.release().split(".");
+        if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
+          return Number(osRelease[2]) >= 14931 ? 3 : 2;
         }
+        return 1;
       }
-      return requestWithDefaults(options2);
+      if ("CI" in env) {
+        if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
+          return 1;
+        }
+        return min;
+      }
+      if ("TEAMCITY_VERSION" in env) {
+        return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
+      }
+      if (env.COLORTERM === "truecolor") {
+        return 3;
+      }
+      if ("TERM_PROGRAM" in env) {
+        const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
+        switch (env.TERM_PROGRAM) {
+          case "iTerm.app":
+            return version >= 3 ? 3 : 2;
+          case "Apple_Terminal":
+            return 2;
+        }
+      }
+      if (/-256(color)?$/i.test(env.TERM)) {
+        return 2;
+      }
+      if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
+        return 1;
+      }
+      if ("COLORTERM" in env) {
+        return 1;
+      }
+      return min;
     }
-    return requestWithDefaults(...args);
+    function getSupportLevel(stream) {
+      const level = supportsColor(stream, stream && stream.isTTY);
+      return translateLevel(level);
+    }
+    module2.exports = {
+      supportsColor: getSupportLevel,
+      stdout: translateLevel(supportsColor(true, tty.isatty(1))),
+      stderr: translateLevel(supportsColor(true, tty.isatty(2)))
+    };
   }
-  return Object.assign(withDecorations, requestWithDefaults);
-}
-var endpointMethodsMap, handler;
-var init_endpoints_to_methods = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js"() {
-    init_endpoints();
-    endpointMethodsMap = /* @__PURE__ */ new Map();
-    for (const [scope, endpoints] of Object.entries(endpoints_default)) {
-      for (const [methodName, endpoint2] of Object.entries(endpoints)) {
-        const [route, defaults, decorations] = endpoint2;
-        const [method, url] = route.split(/ /);
-        const endpointDefaults = Object.assign(
-          {
-            method,
-            url
-          },
-          defaults
-        );
-        if (!endpointMethodsMap.has(scope)) {
-          endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());
-        }
-        endpointMethodsMap.get(scope).set(methodName, {
-          scope,
-          methodName,
-          endpointDefaults,
-          decorations
-        });
+});
+
+// node_modules/debug/src/node.js
+var require_node = __commonJS({
+  "node_modules/debug/src/node.js"(exports2, module2) {
+    var tty = require("tty");
+    var util = require("util");
+    exports2.init = init;
+    exports2.log = log;
+    exports2.formatArgs = formatArgs;
+    exports2.save = save;
+    exports2.load = load2;
+    exports2.useColors = useColors;
+    exports2.destroy = util.deprecate(
+      () => {
+      },
+      "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
+    );
+    exports2.colors = [6, 2, 3, 4, 5, 1];
+    try {
+      const supportsColor = require_supports_color();
+      if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
+        exports2.colors = [
+          20,
+          21,
+          26,
+          27,
+          32,
+          33,
+          38,
+          39,
+          40,
+          41,
+          42,
+          43,
+          44,
+          45,
+          56,
+          57,
+          62,
+          63,
+          68,
+          69,
+          74,
+          75,
+          76,
+          77,
+          78,
+          79,
+          80,
+          81,
+          92,
+          93,
+          98,
+          99,
+          112,
+          113,
+          128,
+          129,
+          134,
+          135,
+          148,
+          149,
+          160,
+          161,
+          162,
+          163,
+          164,
+          165,
+          166,
+          167,
+          168,
+          169,
+          170,
+          171,
+          172,
+          173,
+          178,
+          179,
+          184,
+          185,
+          196,
+          197,
+          198,
+          199,
+          200,
+          201,
+          202,
+          203,
+          204,
+          205,
+          206,
+          207,
+          208,
+          209,
+          214,
+          215,
+          220,
+          221
+        ];
+      }
+    } catch (error3) {
+    }
+    exports2.inspectOpts = Object.keys(process.env).filter((key) => {
+      return /^debug_/i.test(key);
+    }).reduce((obj, key) => {
+      const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k) => {
+        return k.toUpperCase();
+      });
+      let val = process.env[key];
+      if (/^(yes|on|true|enabled)$/i.test(val)) {
+        val = true;
+      } else if (/^(no|off|false|disabled)$/i.test(val)) {
+        val = false;
+      } else if (val === "null") {
+        val = null;
+      } else {
+        val = Number(val);
+      }
+      obj[prop] = val;
+      return obj;
+    }, {});
+    function useColors() {
+      return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd);
+    }
+    function formatArgs(args) {
+      const { namespace: name, useColors: useColors2 } = this;
+      if (useColors2) {
+        const c = this.color;
+        const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
+        const prefix = `  ${colorCode};1m${name} \x1B[0m`;
+        args[0] = prefix + args[0].split("\n").join("\n" + prefix);
+        args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
+      } else {
+        args[0] = getDate() + name + " " + args[0];
       }
     }
-    handler = {
-      has({ scope }, methodName) {
-        return endpointMethodsMap.get(scope).has(methodName);
-      },
-      getOwnPropertyDescriptor(target, methodName) {
-        return {
-          value: this.get(target, methodName),
-          // ensures method is in the cache
-          configurable: true,
-          writable: true,
-          enumerable: true
-        };
-      },
-      defineProperty(target, methodName, descriptor) {
-        Object.defineProperty(target.cache, methodName, descriptor);
-        return true;
-      },
-      deleteProperty(target, methodName) {
-        delete target.cache[methodName];
-        return true;
-      },
-      ownKeys({ scope }) {
-        return [...endpointMethodsMap.get(scope).keys()];
-      },
-      set(target, methodName, value) {
-        return target.cache[methodName] = value;
-      },
-      get({ octokit, scope, cache }, methodName) {
-        if (cache[methodName]) {
-          return cache[methodName];
-        }
-        const method = endpointMethodsMap.get(scope).get(methodName);
-        if (!method) {
-          return void 0;
-        }
-        const { endpointDefaults, decorations } = method;
-        if (decorations) {
-          cache[methodName] = decorate(
-            octokit,
-            scope,
-            methodName,
-            endpointDefaults,
-            decorations
-          );
-        } else {
-          cache[methodName] = octokit.request.defaults(endpointDefaults);
-        }
-        return cache[methodName];
+    function getDate() {
+      if (exports2.inspectOpts.hideDate) {
+        return "";
       }
-    };
-  }
-});
-
-// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js
-var dist_src_exports2 = {};
-__export(dist_src_exports2, {
-  legacyRestEndpointMethods: () => legacyRestEndpointMethods,
-  restEndpointMethods: () => restEndpointMethods
-});
-function restEndpointMethods(octokit) {
-  const api = endpointsToMethods(octokit);
-  return {
-    rest: api
-  };
-}
-function legacyRestEndpointMethods(octokit) {
-  const api = endpointsToMethods(octokit);
-  return {
-    ...api,
-    rest: api
-  };
-}
-var init_dist_src3 = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js"() {
-    init_version2();
-    init_endpoints_to_methods();
-    restEndpointMethods.VERSION = VERSION5;
-    legacyRestEndpointMethods.VERSION = VERSION5;
-  }
-});
-
-// node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js
-var dist_bundle_exports = {};
-__export(dist_bundle_exports, {
-  composePaginateRest: () => composePaginateRest,
-  isPaginatingEndpoint: () => isPaginatingEndpoint,
-  paginateRest: () => paginateRest,
-  paginatingEndpoints: () => paginatingEndpoints
-});
-function normalizePaginatedListResponse(response) {
-  if (!response.data) {
-    return {
-      ...response,
-      data: []
-    };
-  }
-  const responseNeedsNormalization = ("total_count" in response.data || "total_commits" in response.data) && !("url" in response.data);
-  if (!responseNeedsNormalization) return response;
-  const incompleteResults = response.data.incomplete_results;
-  const repositorySelection = response.data.repository_selection;
-  const totalCount = response.data.total_count;
-  const totalCommits = response.data.total_commits;
-  delete response.data.incomplete_results;
-  delete response.data.repository_selection;
-  delete response.data.total_count;
-  delete response.data.total_commits;
-  const namespaceKey = Object.keys(response.data)[0];
-  const data = response.data[namespaceKey];
-  response.data = data;
-  if (typeof incompleteResults !== "undefined") {
-    response.data.incomplete_results = incompleteResults;
-  }
-  if (typeof repositorySelection !== "undefined") {
-    response.data.repository_selection = repositorySelection;
-  }
-  response.data.total_count = totalCount;
-  response.data.total_commits = totalCommits;
-  return response;
-}
-function iterator(octokit, route, parameters) {
-  const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
-  const requestMethod = typeof route === "function" ? route : octokit.request;
-  const method = options.method;
-  const headers = options.headers;
-  let url = options.url;
-  return {
-    [Symbol.asyncIterator]: () => ({
-      async next() {
-        if (!url) return { done: true };
-        try {
-          const response = await requestMethod({ method, url, headers });
-          const normalizedResponse = normalizePaginatedListResponse(response);
-          url = ((normalizedResponse.headers.link || "").match(
-            /<([^<>]+)>;\s*rel="next"/
-          ) || [])[1];
-          if (!url && "total_commits" in normalizedResponse.data) {
-            const parsedUrl = new URL(normalizedResponse.url);
-            const params = parsedUrl.searchParams;
-            const page = parseInt(params.get("page") || "1", 10);
-            const per_page = parseInt(params.get("per_page") || "250", 10);
-            if (page * per_page < normalizedResponse.data.total_commits) {
-              params.set("page", String(page + 1));
-              url = parsedUrl.toString();
-            }
-          }
-          return { value: normalizedResponse };
-        } catch (error3) {
-          if (error3.status !== 409) throw error3;
-          url = "";
-          return {
-            value: {
-              status: 200,
-              headers: {},
-              data: []
-            }
-          };
-        }
+      return (/* @__PURE__ */ new Date()).toISOString() + " ";
+    }
+    function log(...args) {
+      return process.stderr.write(util.formatWithOptions(exports2.inspectOpts, ...args) + "\n");
+    }
+    function save(namespaces) {
+      if (namespaces) {
+        process.env.DEBUG = namespaces;
+      } else {
+        delete process.env.DEBUG;
       }
-    })
-  };
-}
-function paginate(octokit, route, parameters, mapFn) {
-  if (typeof parameters === "function") {
-    mapFn = parameters;
-    parameters = void 0;
-  }
-  return gather(
-    octokit,
-    [],
-    iterator(octokit, route, parameters)[Symbol.asyncIterator](),
-    mapFn
-  );
-}
-function gather(octokit, results, iterator2, mapFn) {
-  return iterator2.next().then((result) => {
-    if (result.done) {
-      return results;
     }
-    let earlyExit = false;
-    function done() {
-      earlyExit = true;
+    function load2() {
+      return process.env.DEBUG;
     }
-    results = results.concat(
-      mapFn ? mapFn(result.value, done) : result.value.data
-    );
-    if (earlyExit) {
-      return results;
+    function init(debug4) {
+      debug4.inspectOpts = {};
+      const keys = Object.keys(exports2.inspectOpts);
+      for (let i = 0; i < keys.length; i++) {
+        debug4.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
+      }
     }
-    return gather(octokit, results, iterator2, mapFn);
-  });
-}
-function isPaginatingEndpoint(arg) {
-  if (typeof arg === "string") {
-    return paginatingEndpoints.includes(arg);
-  } else {
-    return false;
-  }
-}
-function paginateRest(octokit) {
-  return {
-    paginate: Object.assign(paginate.bind(null, octokit), {
-      iterator: iterator.bind(null, octokit)
-    })
-  };
-}
-var VERSION6, composePaginateRest, paginatingEndpoints;
-var init_dist_bundle5 = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js"() {
-    VERSION6 = "0.0.0-development";
-    composePaginateRest = Object.assign(paginate, {
-      iterator
-    });
-    paginatingEndpoints = [
-      "GET /advisories",
-      "GET /app/hook/deliveries",
-      "GET /app/installation-requests",
-      "GET /app/installations",
-      "GET /assignments/{assignment_id}/accepted_assignments",
-      "GET /classrooms",
-      "GET /classrooms/{classroom_id}/assignments",
-      "GET /enterprises/{enterprise}/code-security/configurations",
-      "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories",
-      "GET /enterprises/{enterprise}/dependabot/alerts",
-      "GET /enterprises/{enterprise}/teams",
-      "GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships",
-      "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations",
-      "GET /events",
-      "GET /gists",
-      "GET /gists/public",
-      "GET /gists/starred",
-      "GET /gists/{gist_id}/comments",
-      "GET /gists/{gist_id}/commits",
-      "GET /gists/{gist_id}/forks",
-      "GET /installation/repositories",
-      "GET /issues",
-      "GET /licenses",
-      "GET /marketplace_listing/plans",
-      "GET /marketplace_listing/plans/{plan_id}/accounts",
-      "GET /marketplace_listing/stubbed/plans",
-      "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts",
-      "GET /networks/{owner}/{repo}/events",
-      "GET /notifications",
-      "GET /organizations",
-      "GET /organizations/{org}/dependabot/repository-access",
-      "GET /orgs/{org}/actions/cache/usage-by-repository",
-      "GET /orgs/{org}/actions/hosted-runners",
-      "GET /orgs/{org}/actions/permissions/repositories",
-      "GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories",
-      "GET /orgs/{org}/actions/runner-groups",
-      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners",
-      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories",
-      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners",
-      "GET /orgs/{org}/actions/runners",
-      "GET /orgs/{org}/actions/secrets",
-      "GET /orgs/{org}/actions/secrets/{secret_name}/repositories",
-      "GET /orgs/{org}/actions/variables",
-      "GET /orgs/{org}/actions/variables/{name}/repositories",
-      "GET /orgs/{org}/attestations/repositories",
-      "GET /orgs/{org}/attestations/{subject_digest}",
-      "GET /orgs/{org}/blocks",
-      "GET /orgs/{org}/campaigns",
-      "GET /orgs/{org}/code-scanning/alerts",
-      "GET /orgs/{org}/code-security/configurations",
-      "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories",
-      "GET /orgs/{org}/codespaces",
-      "GET /orgs/{org}/codespaces/secrets",
-      "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories",
-      "GET /orgs/{org}/copilot/billing/seats",
-      "GET /orgs/{org}/copilot/metrics",
-      "GET /orgs/{org}/dependabot/alerts",
-      "GET /orgs/{org}/dependabot/secrets",
-      "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories",
-      "GET /orgs/{org}/events",
-      "GET /orgs/{org}/failed_invitations",
-      "GET /orgs/{org}/hooks",
-      "GET /orgs/{org}/hooks/{hook_id}/deliveries",
-      "GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}",
-      "GET /orgs/{org}/insights/api/subject-stats",
-      "GET /orgs/{org}/insights/api/user-stats/{user_id}",
-      "GET /orgs/{org}/installations",
-      "GET /orgs/{org}/invitations",
-      "GET /orgs/{org}/invitations/{invitation_id}/teams",
-      "GET /orgs/{org}/issues",
-      "GET /orgs/{org}/members",
-      "GET /orgs/{org}/members/{username}/codespaces",
-      "GET /orgs/{org}/migrations",
-      "GET /orgs/{org}/migrations/{migration_id}/repositories",
-      "GET /orgs/{org}/organization-roles/{role_id}/teams",
-      "GET /orgs/{org}/organization-roles/{role_id}/users",
-      "GET /orgs/{org}/outside_collaborators",
-      "GET /orgs/{org}/packages",
-      "GET /orgs/{org}/packages/{package_type}/{package_name}/versions",
-      "GET /orgs/{org}/personal-access-token-requests",
-      "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories",
-      "GET /orgs/{org}/personal-access-tokens",
-      "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories",
-      "GET /orgs/{org}/private-registries",
-      "GET /orgs/{org}/projects",
-      "GET /orgs/{org}/projectsV2",
-      "GET /orgs/{org}/projectsV2/{project_number}/fields",
-      "GET /orgs/{org}/projectsV2/{project_number}/items",
-      "GET /orgs/{org}/properties/values",
-      "GET /orgs/{org}/public_members",
-      "GET /orgs/{org}/repos",
-      "GET /orgs/{org}/rulesets",
-      "GET /orgs/{org}/rulesets/rule-suites",
-      "GET /orgs/{org}/rulesets/{ruleset_id}/history",
-      "GET /orgs/{org}/secret-scanning/alerts",
-      "GET /orgs/{org}/security-advisories",
-      "GET /orgs/{org}/settings/immutable-releases/repositories",
-      "GET /orgs/{org}/settings/network-configurations",
-      "GET /orgs/{org}/team/{team_slug}/copilot/metrics",
-      "GET /orgs/{org}/teams",
-      "GET /orgs/{org}/teams/{team_slug}/discussions",
-      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments",
-      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",
-      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",
-      "GET /orgs/{org}/teams/{team_slug}/invitations",
-      "GET /orgs/{org}/teams/{team_slug}/members",
-      "GET /orgs/{org}/teams/{team_slug}/projects",
-      "GET /orgs/{org}/teams/{team_slug}/repos",
-      "GET /orgs/{org}/teams/{team_slug}/teams",
-      "GET /projects/{project_id}/collaborators",
-      "GET /repos/{owner}/{repo}/actions/artifacts",
-      "GET /repos/{owner}/{repo}/actions/caches",
-      "GET /repos/{owner}/{repo}/actions/organization-secrets",
-      "GET /repos/{owner}/{repo}/actions/organization-variables",
-      "GET /repos/{owner}/{repo}/actions/runners",
-      "GET /repos/{owner}/{repo}/actions/runs",
-      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts",
-      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs",
-      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs",
-      "GET /repos/{owner}/{repo}/actions/secrets",
-      "GET /repos/{owner}/{repo}/actions/variables",
-      "GET /repos/{owner}/{repo}/actions/workflows",
-      "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs",
-      "GET /repos/{owner}/{repo}/activity",
-      "GET /repos/{owner}/{repo}/assignees",
-      "GET /repos/{owner}/{repo}/attestations/{subject_digest}",
-      "GET /repos/{owner}/{repo}/branches",
-      "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations",
-      "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs",
-      "GET /repos/{owner}/{repo}/code-scanning/alerts",
-      "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
-      "GET /repos/{owner}/{repo}/code-scanning/analyses",
-      "GET /repos/{owner}/{repo}/codespaces",
-      "GET /repos/{owner}/{repo}/codespaces/devcontainers",
-      "GET /repos/{owner}/{repo}/codespaces/secrets",
-      "GET /repos/{owner}/{repo}/collaborators",
-      "GET /repos/{owner}/{repo}/comments",
-      "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/commits",
-      "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments",
-      "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls",
-      "GET /repos/{owner}/{repo}/commits/{ref}/check-runs",
-      "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
-      "GET /repos/{owner}/{repo}/commits/{ref}/status",
-      "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
-      "GET /repos/{owner}/{repo}/compare/{basehead}",
-      "GET /repos/{owner}/{repo}/compare/{base}...{head}",
-      "GET /repos/{owner}/{repo}/contributors",
-      "GET /repos/{owner}/{repo}/dependabot/alerts",
-      "GET /repos/{owner}/{repo}/dependabot/secrets",
-      "GET /repos/{owner}/{repo}/deployments",
-      "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses",
-      "GET /repos/{owner}/{repo}/environments",
-      "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies",
-      "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps",
-      "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets",
-      "GET /repos/{owner}/{repo}/environments/{environment_name}/variables",
-      "GET /repos/{owner}/{repo}/events",
-      "GET /repos/{owner}/{repo}/forks",
-      "GET /repos/{owner}/{repo}/hooks",
-      "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries",
-      "GET /repos/{owner}/{repo}/invitations",
-      "GET /repos/{owner}/{repo}/issues",
-      "GET /repos/{owner}/{repo}/issues/comments",
-      "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/issues/events",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/comments",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/events",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/labels",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline",
-      "GET /repos/{owner}/{repo}/keys",
-      "GET /repos/{owner}/{repo}/labels",
-      "GET /repos/{owner}/{repo}/milestones",
-      "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels",
-      "GET /repos/{owner}/{repo}/notifications",
-      "GET /repos/{owner}/{repo}/pages/builds",
-      "GET /repos/{owner}/{repo}/projects",
-      "GET /repos/{owner}/{repo}/pulls",
-      "GET /repos/{owner}/{repo}/pulls/comments",
-      "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/files",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments",
-      "GET /repos/{owner}/{repo}/releases",
-      "GET /repos/{owner}/{repo}/releases/{release_id}/assets",
-      "GET /repos/{owner}/{repo}/releases/{release_id}/reactions",
-      "GET /repos/{owner}/{repo}/rules/branches/{branch}",
-      "GET /repos/{owner}/{repo}/rulesets",
-      "GET /repos/{owner}/{repo}/rulesets/rule-suites",
-      "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history",
-      "GET /repos/{owner}/{repo}/secret-scanning/alerts",
-      "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations",
-      "GET /repos/{owner}/{repo}/security-advisories",
-      "GET /repos/{owner}/{repo}/stargazers",
-      "GET /repos/{owner}/{repo}/subscribers",
-      "GET /repos/{owner}/{repo}/tags",
-      "GET /repos/{owner}/{repo}/teams",
-      "GET /repos/{owner}/{repo}/topics",
-      "GET /repositories",
-      "GET /search/code",
-      "GET /search/commits",
-      "GET /search/issues",
-      "GET /search/labels",
-      "GET /search/repositories",
-      "GET /search/topics",
-      "GET /search/users",
-      "GET /teams/{team_id}/discussions",
-      "GET /teams/{team_id}/discussions/{discussion_number}/comments",
-      "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",
-      "GET /teams/{team_id}/discussions/{discussion_number}/reactions",
-      "GET /teams/{team_id}/invitations",
-      "GET /teams/{team_id}/members",
-      "GET /teams/{team_id}/projects",
-      "GET /teams/{team_id}/repos",
-      "GET /teams/{team_id}/teams",
-      "GET /user/blocks",
-      "GET /user/codespaces",
-      "GET /user/codespaces/secrets",
-      "GET /user/emails",
-      "GET /user/followers",
-      "GET /user/following",
-      "GET /user/gpg_keys",
-      "GET /user/installations",
-      "GET /user/installations/{installation_id}/repositories",
-      "GET /user/issues",
-      "GET /user/keys",
-      "GET /user/marketplace_purchases",
-      "GET /user/marketplace_purchases/stubbed",
-      "GET /user/memberships/orgs",
-      "GET /user/migrations",
-      "GET /user/migrations/{migration_id}/repositories",
-      "GET /user/orgs",
-      "GET /user/packages",
-      "GET /user/packages/{package_type}/{package_name}/versions",
-      "GET /user/public_emails",
-      "GET /user/repos",
-      "GET /user/repository_invitations",
-      "GET /user/social_accounts",
-      "GET /user/ssh_signing_keys",
-      "GET /user/starred",
-      "GET /user/subscriptions",
-      "GET /user/teams",
-      "GET /users",
-      "GET /users/{username}/attestations/{subject_digest}",
-      "GET /users/{username}/events",
-      "GET /users/{username}/events/orgs/{org}",
-      "GET /users/{username}/events/public",
-      "GET /users/{username}/followers",
-      "GET /users/{username}/following",
-      "GET /users/{username}/gists",
-      "GET /users/{username}/gpg_keys",
-      "GET /users/{username}/keys",
-      "GET /users/{username}/orgs",
-      "GET /users/{username}/packages",
-      "GET /users/{username}/projects",
-      "GET /users/{username}/projectsV2",
-      "GET /users/{username}/projectsV2/{project_number}/fields",
-      "GET /users/{username}/projectsV2/{project_number}/items",
-      "GET /users/{username}/received_events",
-      "GET /users/{username}/received_events/public",
-      "GET /users/{username}/repos",
-      "GET /users/{username}/social_accounts",
-      "GET /users/{username}/ssh_signing_keys",
-      "GET /users/{username}/starred",
-      "GET /users/{username}/subscriptions"
-    ];
-    paginateRest.VERSION = VERSION6;
+    module2.exports = require_common()(exports2);
+    var { formatters } = module2.exports;
+    formatters.o = function(v) {
+      this.inspectOpts.colors = this.useColors;
+      return util.inspect(v, this.inspectOpts).split("\n").map((str2) => str2.trim()).join(" ");
+    };
+    formatters.O = function(v) {
+      this.inspectOpts.colors = this.useColors;
+      return util.inspect(v, this.inspectOpts);
+    };
   }
 });
 
-// node_modules/@actions/github/lib/utils.js
-var require_utils5 = __commonJS({
-  "node_modules/@actions/github/lib/utils.js"(exports2) {
+// node_modules/debug/src/index.js
+var require_src = __commonJS({
+  "node_modules/debug/src/index.js"(exports2, module2) {
+    if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
+      module2.exports = require_browser();
+    } else {
+      module2.exports = require_node();
+    }
+  }
+});
+
+// node_modules/agent-base/dist/helpers.js
+var require_helpers3 = __commonJS({
+  "node_modules/agent-base/dist/helpers.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
       if (k2 === void 0) k2 = k;
@@ -42456,57 +55287,57 @@ var require_utils5 = __commonJS({
     }) : function(o, v) {
       o["default"] = v;
     });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GitHub = exports2.defaults = exports2.context = void 0;
-    exports2.getOctokitOptions = getOctokitOptions2;
-    var Context = __importStar2(require_context());
-    var Utils = __importStar2(require_utils4());
-    var core_1 = (init_dist_src2(), __toCommonJS(dist_src_exports));
-    var plugin_rest_endpoint_methods_1 = (init_dist_src3(), __toCommonJS(dist_src_exports2));
-    var plugin_paginate_rest_1 = (init_dist_bundle5(), __toCommonJS(dist_bundle_exports));
-    exports2.context = new Context.Context();
-    var baseUrl = Utils.getApiBaseUrl();
-    exports2.defaults = {
-      baseUrl,
-      request: {
-        agent: Utils.getProxyAgent(baseUrl),
-        fetch: Utils.getProxyFetch(baseUrl)
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
+      __setModuleDefault2(result, mod);
+      return result;
     };
-    exports2.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports2.defaults);
-    function getOctokitOptions2(token, options) {
-      const opts = Object.assign({}, options || {});
-      const auth2 = Utils.getAuthString(token, opts);
-      if (auth2) {
-        opts.auth = auth2;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.req = exports2.json = exports2.toBuffer = void 0;
+    var http = __importStar2(require("http"));
+    var https2 = __importStar2(require("https"));
+    async function toBuffer(stream) {
+      let length = 0;
+      const chunks = [];
+      for await (const chunk of stream) {
+        length += chunk.length;
+        chunks.push(chunk);
       }
-      return opts;
+      return Buffer.concat(chunks, length);
+    }
+    exports2.toBuffer = toBuffer;
+    async function json2(stream) {
+      const buf = await toBuffer(stream);
+      const str2 = buf.toString("utf8");
+      try {
+        return JSON.parse(str2);
+      } catch (_err) {
+        const err = _err;
+        err.message += ` (input: ${str2})`;
+        throw err;
+      }
+    }
+    exports2.json = json2;
+    function req(url, opts = {}) {
+      const href = typeof url === "string" ? url : url.href;
+      const req2 = (href.startsWith("https:") ? https2 : http).request(url, opts);
+      const promise = new Promise((resolve3, reject) => {
+        req2.once("response", resolve3).once("error", reject).end();
+      });
+      req2.then = promise.then.bind(promise);
+      return req2;
     }
+    exports2.req = req;
   }
 });
 
-// node_modules/@actions/github/lib/github.js
-var require_github = __commonJS({
-  "node_modules/@actions/github/lib/github.js"(exports2) {
+// node_modules/agent-base/dist/index.js
+var require_dist = __commonJS({
+  "node_modules/agent-base/dist/index.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
       if (k2 === void 0) k2 = k;
@@ -42526,10056 +55357,11208 @@ var require_github = __commonJS({
     }) : function(o, v) {
       o["default"] = v;
     });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
+      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Agent = void 0;
+    var net = __importStar2(require("net"));
+    var http = __importStar2(require("http"));
+    var https_1 = require("https");
+    __exportStar2(require_helpers3(), exports2);
+    var INTERNAL = /* @__PURE__ */ Symbol("AgentBaseInternalState");
+    var Agent = class extends http.Agent {
+      constructor(opts) {
+        super(opts);
+        this[INTERNAL] = {};
+      }
+      /**
+       * Determine whether this is an `http` or `https` request.
+       */
+      isSecureEndpoint(options) {
+        if (options) {
+          if (typeof options.secureEndpoint === "boolean") {
+            return options.secureEndpoint;
+          }
+          if (typeof options.protocol === "string") {
+            return options.protocol === "https:";
+          }
+        }
+        const { stack } = new Error();
+        if (typeof stack !== "string")
+          return false;
+        return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
+      }
+      // In order to support async signatures in `connect()` and Node's native
+      // connection pooling in `http.Agent`, the array of sockets for each origin
+      // has to be updated synchronously. This is so the length of the array is
+      // accurate when `addRequest()` is next called. We achieve this by creating a
+      // fake socket and adding it to `sockets[origin]` and incrementing
+      // `totalSocketCount`.
+      incrementSockets(name) {
+        if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
+          return null;
+        }
+        if (!this.sockets[name]) {
+          this.sockets[name] = [];
+        }
+        const fakeSocket = new net.Socket({ writable: false });
+        this.sockets[name].push(fakeSocket);
+        this.totalSocketCount++;
+        return fakeSocket;
+      }
+      decrementSockets(name, socket) {
+        if (!this.sockets[name] || socket === null) {
+          return;
+        }
+        const sockets = this.sockets[name];
+        const index = sockets.indexOf(socket);
+        if (index !== -1) {
+          sockets.splice(index, 1);
+          this.totalSocketCount--;
+          if (sockets.length === 0) {
+            delete this.sockets[name];
+          }
+        }
+      }
+      // In order to properly update the socket pool, we need to call `getName()` on
+      // the core `https.Agent` if it is a secureEndpoint.
+      getName(options) {
+        const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options);
+        if (secureEndpoint) {
+          return https_1.Agent.prototype.getName.call(this, options);
+        }
+        return super.getName(options);
+      }
+      createSocket(req, options, cb) {
+        const connectOpts = {
+          ...options,
+          secureEndpoint: this.isSecureEndpoint(options)
         };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        const name = this.getName(connectOpts);
+        const fakeSocket = this.incrementSockets(name);
+        Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
+          this.decrementSockets(name, fakeSocket);
+          if (socket instanceof http.Agent) {
+            try {
+              return socket.addRequest(req, connectOpts);
+            } catch (err) {
+              return cb(err);
+            }
+          }
+          this[INTERNAL].currentSocket = socket;
+          super.createSocket(req, options, cb);
+        }, (err) => {
+          this.decrementSockets(name, fakeSocket);
+          cb(err);
+        });
+      }
+      createConnection() {
+        const socket = this[INTERNAL].currentSocket;
+        this[INTERNAL].currentSocket = void 0;
+        if (!socket) {
+          throw new Error("No socket was returned in the `connect()` function");
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.context = void 0;
-    exports2.getOctokit = getOctokit;
-    var Context = __importStar2(require_context());
-    var utils_1 = require_utils5();
-    exports2.context = new Context.Context();
-    function getOctokit(token, options, ...additionalPlugins) {
-      const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
-      return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options));
-    }
-  }
-});
-
-// node_modules/semver/internal/constants.js
-var require_constants11 = __commonJS({
-  "node_modules/semver/internal/constants.js"(exports2, module2) {
-    "use strict";
-    var SEMVER_SPEC_VERSION = "2.0.0";
-    var MAX_LENGTH = 256;
-    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
-    9007199254740991;
-    var MAX_SAFE_COMPONENT_LENGTH = 16;
-    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
-    var RELEASE_TYPES = [
-      "major",
-      "premajor",
-      "minor",
-      "preminor",
-      "patch",
-      "prepatch",
-      "prerelease"
-    ];
-    module2.exports = {
-      MAX_LENGTH,
-      MAX_SAFE_COMPONENT_LENGTH,
-      MAX_SAFE_BUILD_LENGTH,
-      MAX_SAFE_INTEGER,
-      RELEASE_TYPES,
-      SEMVER_SPEC_VERSION,
-      FLAG_INCLUDE_PRERELEASE: 1,
-      FLAG_LOOSE: 2
+        return socket;
+      }
+      get defaultPort() {
+        return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
+      }
+      set defaultPort(v) {
+        if (this[INTERNAL]) {
+          this[INTERNAL].defaultPort = v;
+        }
+      }
+      get protocol() {
+        return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
+      }
+      set protocol(v) {
+        if (this[INTERNAL]) {
+          this[INTERNAL].protocol = v;
+        }
+      }
     };
+    exports2.Agent = Agent;
   }
 });
 
-// node_modules/semver/internal/debug.js
-var require_debug = __commonJS({
-  "node_modules/semver/internal/debug.js"(exports2, module2) {
+// node_modules/https-proxy-agent/dist/parse-proxy-response.js
+var require_parse_proxy_response = __commonJS({
+  "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
     "use strict";
-    var debug4 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
     };
-    module2.exports = debug4;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.parseProxyResponse = void 0;
+    var debug_1 = __importDefault2(require_src());
+    var debug4 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
+    function parseProxyResponse(socket) {
+      return new Promise((resolve3, reject) => {
+        let buffersLength = 0;
+        const buffers = [];
+        function read() {
+          const b = socket.read();
+          if (b)
+            ondata(b);
+          else
+            socket.once("readable", read);
+        }
+        function cleanup() {
+          socket.removeListener("end", onend);
+          socket.removeListener("error", onerror);
+          socket.removeListener("readable", read);
+        }
+        function onend() {
+          cleanup();
+          debug4("onend");
+          reject(new Error("Proxy connection ended before receiving CONNECT response"));
+        }
+        function onerror(err) {
+          cleanup();
+          debug4("onerror %o", err);
+          reject(err);
+        }
+        function ondata(b) {
+          buffers.push(b);
+          buffersLength += b.length;
+          const buffered = Buffer.concat(buffers, buffersLength);
+          const endOfHeaders = buffered.indexOf("\r\n\r\n");
+          if (endOfHeaders === -1) {
+            debug4("have not received end of HTTP headers yet...");
+            read();
+            return;
+          }
+          const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n");
+          const firstLine = headerParts.shift();
+          if (!firstLine) {
+            socket.destroy();
+            return reject(new Error("No header received from proxy CONNECT response"));
+          }
+          const firstLineParts = firstLine.split(" ");
+          const statusCode = +firstLineParts[1];
+          const statusText = firstLineParts.slice(2).join(" ");
+          const headers = {};
+          for (const header of headerParts) {
+            if (!header)
+              continue;
+            const firstColon = header.indexOf(":");
+            if (firstColon === -1) {
+              socket.destroy();
+              return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
+            }
+            const key = header.slice(0, firstColon).toLowerCase();
+            const value = header.slice(firstColon + 1).trimStart();
+            const current = headers[key];
+            if (typeof current === "string") {
+              headers[key] = [current, value];
+            } else if (Array.isArray(current)) {
+              current.push(value);
+            } else {
+              headers[key] = value;
+            }
+          }
+          debug4("got proxy server response: %o %o", firstLine, headers);
+          cleanup();
+          resolve3({
+            connect: {
+              statusCode,
+              statusText,
+              headers
+            },
+            buffered
+          });
+        }
+        socket.on("error", onerror);
+        socket.on("end", onend);
+        read();
+      });
+    }
+    exports2.parseProxyResponse = parseProxyResponse;
   }
 });
 
-// node_modules/semver/internal/re.js
-var require_re = __commonJS({
-  "node_modules/semver/internal/re.js"(exports2, module2) {
+// node_modules/https-proxy-agent/dist/index.js
+var require_dist2 = __commonJS({
+  "node_modules/https-proxy-agent/dist/index.js"(exports2) {
     "use strict";
-    var {
-      MAX_SAFE_COMPONENT_LENGTH,
-      MAX_SAFE_BUILD_LENGTH,
-      MAX_LENGTH
-    } = require_constants11();
-    var debug4 = require_debug();
-    exports2 = module2.exports = {};
-    var re = exports2.re = [];
-    var safeRe = exports2.safeRe = [];
-    var src = exports2.src = [];
-    var safeSrc = exports2.safeSrc = [];
-    var t = exports2.t = {};
-    var R = 0;
-    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
-    var safeRegexReplacements = [
-      ["\\s", 1],
-      ["\\d", MAX_LENGTH],
-      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
-    ];
-    var makeSafeRegex = (value) => {
-      for (const [token, max] of safeRegexReplacements) {
-        value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      return value;
-    };
-    var createToken = (name, value, isGlobal) => {
-      const safe = makeSafeRegex(value);
-      const index = R++;
-      debug4(name, index, value);
-      t[name] = index;
-      src[index] = value;
-      safeSrc[index] = safe;
-      re[index] = new RegExp(value, isGlobal ? "g" : void 0);
-      safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
-    };
-    createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
-    createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
-    createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
-    createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
-    createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
-    createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
-    createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
-    createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
-    createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
-    createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
-    createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
-    createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
-    createToken("FULL", `^${src[t.FULLPLAIN]}$`);
-    createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
-    createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
-    createToken("GTLT", "((?:<|>)?=?)");
-    createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
-    createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
-    createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
-    createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
-    createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
-    createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
-    createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
-    createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
-    createToken("COERCERTL", src[t.COERCE], true);
-    createToken("COERCERTLFULL", src[t.COERCEFULL], true);
-    createToken("LONETILDE", "(?:~>?)");
-    createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
-    exports2.tildeTrimReplace = "$1~";
-    createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
-    createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("LONECARET", "(?:\\^)");
-    createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
-    exports2.caretTrimReplace = "$1^";
-    createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
-    createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
-    createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
-    createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
-    exports2.comparatorTrimReplace = "$1$2$3";
-    createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
-    createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
-    createToken("STAR", "(<|>)?=?\\s*\\*");
-    createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
-    createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
-  }
-});
-
-// node_modules/semver/internal/parse-options.js
-var require_parse_options = __commonJS({
-  "node_modules/semver/internal/parse-options.js"(exports2, module2) {
-    "use strict";
-    var looseOption = Object.freeze({ loose: true });
-    var emptyOpts = Object.freeze({});
-    var parseOptions = (options) => {
-      if (!options) {
-        return emptyOpts;
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      if (typeof options !== "object") {
-        return looseOption;
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HttpsProxyAgent = void 0;
+    var net = __importStar2(require("net"));
+    var tls = __importStar2(require("tls"));
+    var assert_1 = __importDefault2(require("assert"));
+    var debug_1 = __importDefault2(require_src());
+    var agent_base_1 = require_dist();
+    var url_1 = require("url");
+    var parse_proxy_response_1 = require_parse_proxy_response();
+    var debug4 = (0, debug_1.default)("https-proxy-agent");
+    var setServernameFromNonIpHost = (options) => {
+      if (options.servername === void 0 && options.host && !net.isIP(options.host)) {
+        return {
+          ...options,
+          servername: options.host
+        };
       }
       return options;
     };
-    module2.exports = parseOptions;
-  }
-});
-
-// node_modules/semver/internal/identifiers.js
-var require_identifiers = __commonJS({
-  "node_modules/semver/internal/identifiers.js"(exports2, module2) {
-    "use strict";
-    var numeric = /^[0-9]+$/;
-    var compareIdentifiers = (a, b) => {
-      if (typeof a === "number" && typeof b === "number") {
-        return a === b ? 0 : a < b ? -1 : 1;
-      }
-      const anum = numeric.test(a);
-      const bnum = numeric.test(b);
-      if (anum && bnum) {
-        a = +a;
-        b = +b;
+    var HttpsProxyAgent = class extends agent_base_1.Agent {
+      constructor(proxy, opts) {
+        super(opts);
+        this.options = { path: void 0 };
+        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
+        this.proxyHeaders = opts?.headers ?? {};
+        debug4("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
+        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
+        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
+        this.connectOpts = {
+          // Attempt to negotiate http/1.1 for proxy servers that support http/2
+          ALPNProtocols: ["http/1.1"],
+          ...opts ? omit2(opts, "headers") : null,
+          host,
+          port
+        };
       }
-      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
-    };
-    var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
-    module2.exports = {
-      compareIdentifiers,
-      rcompareIdentifiers
-    };
-  }
-});
-
-// node_modules/semver/classes/semver.js
-var require_semver = __commonJS({
-  "node_modules/semver/classes/semver.js"(exports2, module2) {
-    "use strict";
-    var debug4 = require_debug();
-    var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants11();
-    var { safeRe: re, t } = require_re();
-    var parseOptions = require_parse_options();
-    var { compareIdentifiers } = require_identifiers();
-    var SemVer = class _SemVer {
-      constructor(version, options) {
-        options = parseOptions(options);
-        if (version instanceof _SemVer) {
-          if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
-            return version;
-          } else {
-            version = version.version;
-          }
-        } else if (typeof version !== "string") {
-          throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);
-        }
-        if (version.length > MAX_LENGTH) {
-          throw new TypeError(
-            `version is longer than ${MAX_LENGTH} characters`
-          );
+      /**
+       * Called when the node-core HTTP client library is creating a
+       * new HTTP request.
+       */
+      async connect(req, opts) {
+        const { proxy } = this;
+        if (!opts.host) {
+          throw new TypeError('No "host" provided');
         }
-        debug4("SemVer", version, options);
-        this.options = options;
-        this.loose = !!options.loose;
-        this.includePrerelease = !!options.includePrerelease;
-        const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
-        if (!m) {
-          throw new TypeError(`Invalid Version: ${version}`);
+        let socket;
+        if (proxy.protocol === "https:") {
+          debug4("Creating `tls.Socket`: %o", this.connectOpts);
+          socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));
+        } else {
+          debug4("Creating `net.Socket`: %o", this.connectOpts);
+          socket = net.connect(this.connectOpts);
         }
-        this.raw = version;
-        this.major = +m[1];
-        this.minor = +m[2];
-        this.patch = +m[3];
-        if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
-          throw new TypeError("Invalid major version");
+        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
+        const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
+        let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r
+`;
+        if (proxy.username || proxy.password) {
+          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
+          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
         }
-        if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
-          throw new TypeError("Invalid minor version");
+        headers.Host = `${host}:${opts.port}`;
+        if (!headers["Proxy-Connection"]) {
+          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
         }
-        if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
-          throw new TypeError("Invalid patch version");
+        for (const name of Object.keys(headers)) {
+          payload += `${name}: ${headers[name]}\r
+`;
         }
-        if (!m[4]) {
-          this.prerelease = [];
-        } else {
-          this.prerelease = m[4].split(".").map((id) => {
-            if (/^[0-9]+$/.test(id)) {
-              const num = +id;
-              if (num >= 0 && num < MAX_SAFE_INTEGER) {
-                return num;
-              }
-            }
-            return id;
-          });
+        const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);
+        socket.write(`${payload}\r
+`);
+        const { connect, buffered } = await proxyResponsePromise;
+        req.emit("proxyConnect", connect);
+        this.emit("proxyConnect", connect, req);
+        if (connect.statusCode === 200) {
+          req.once("socket", resume);
+          if (opts.secureEndpoint) {
+            debug4("Upgrading socket connection to TLS");
+            return tls.connect({
+              ...omit2(setServernameFromNonIpHost(opts), "host", "path", "port"),
+              socket
+            });
+          }
+          return socket;
         }
-        this.build = m[5] ? m[5].split(".") : [];
-        this.format();
+        socket.destroy();
+        const fakeSocket = new net.Socket({ writable: false });
+        fakeSocket.readable = true;
+        req.once("socket", (s) => {
+          debug4("Replaying proxy buffer for failed request");
+          (0, assert_1.default)(s.listenerCount("data") > 0);
+          s.push(buffered);
+          s.push(null);
+        });
+        return fakeSocket;
       }
-      format() {
-        this.version = `${this.major}.${this.minor}.${this.patch}`;
-        if (this.prerelease.length) {
-          this.version += `-${this.prerelease.join(".")}`;
+    };
+    HttpsProxyAgent.protocols = ["http", "https"];
+    exports2.HttpsProxyAgent = HttpsProxyAgent;
+    function resume(socket) {
+      socket.resume();
+    }
+    function omit2(obj, ...keys) {
+      const ret = {};
+      let key;
+      for (key in obj) {
+        if (!keys.includes(key)) {
+          ret[key] = obj[key];
         }
-        return this.version;
       }
-      toString() {
-        return this.version;
+      return ret;
+    }
+  }
+});
+
+// node_modules/http-proxy-agent/dist/index.js
+var require_dist3 = __commonJS({
+  "node_modules/http-proxy-agent/dist/index.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      compare(other) {
-        debug4("SemVer.compare", this.version, this.options, other);
-        if (!(other instanceof _SemVer)) {
-          if (typeof other === "string" && other === this.version) {
-            return 0;
-          }
-          other = new _SemVer(other, this.options);
-        }
-        if (other.version === this.version) {
-          return 0;
-        }
-        return this.compareMain(other) || this.comparePre(other);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      compareMain(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
-        }
-        if (this.major < other.major) {
-          return -1;
-        }
-        if (this.major > other.major) {
-          return 1;
-        }
-        if (this.minor < other.minor) {
-          return -1;
-        }
-        if (this.minor > other.minor) {
-          return 1;
-        }
-        if (this.patch < other.patch) {
-          return -1;
-        }
-        if (this.patch > other.patch) {
-          return 1;
-        }
-        return 0;
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HttpProxyAgent = void 0;
+    var net = __importStar2(require("net"));
+    var tls = __importStar2(require("tls"));
+    var debug_1 = __importDefault2(require_src());
+    var events_1 = require("events");
+    var agent_base_1 = require_dist();
+    var url_1 = require("url");
+    var debug4 = (0, debug_1.default)("http-proxy-agent");
+    var HttpProxyAgent = class extends agent_base_1.Agent {
+      constructor(proxy, opts) {
+        super(opts);
+        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
+        this.proxyHeaders = opts?.headers ?? {};
+        debug4("Creating new HttpProxyAgent instance: %o", this.proxy.href);
+        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
+        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
+        this.connectOpts = {
+          ...opts ? omit2(opts, "headers") : null,
+          host,
+          port
+        };
       }
-      comparePre(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
+      addRequest(req, opts) {
+        req._header = null;
+        this.setRequestProps(req, opts);
+        super.addRequest(req, opts);
+      }
+      setRequestProps(req, opts) {
+        const { proxy } = this;
+        const protocol = opts.secureEndpoint ? "https:" : "http:";
+        const hostname = req.getHeader("host") || "localhost";
+        const base = `${protocol}//${hostname}`;
+        const url = new url_1.URL(req.path, base);
+        if (opts.port !== 80) {
+          url.port = String(opts.port);
         }
-        if (this.prerelease.length && !other.prerelease.length) {
-          return -1;
-        } else if (!this.prerelease.length && other.prerelease.length) {
-          return 1;
-        } else if (!this.prerelease.length && !other.prerelease.length) {
-          return 0;
+        req.path = String(url);
+        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
+        if (proxy.username || proxy.password) {
+          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
+          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
         }
-        let i = 0;
-        do {
-          const a = this.prerelease[i];
-          const b = other.prerelease[i];
-          debug4("prerelease compare", i, a, b);
-          if (a === void 0 && b === void 0) {
-            return 0;
-          } else if (b === void 0) {
-            return 1;
-          } else if (a === void 0) {
-            return -1;
-          } else if (a === b) {
-            continue;
-          } else {
-            return compareIdentifiers(a, b);
-          }
-        } while (++i);
-      }
-      compareBuild(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
+        if (!headers["Proxy-Connection"]) {
+          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
         }
-        let i = 0;
-        do {
-          const a = this.build[i];
-          const b = other.build[i];
-          debug4("build compare", i, a, b);
-          if (a === void 0 && b === void 0) {
-            return 0;
-          } else if (b === void 0) {
-            return 1;
-          } else if (a === void 0) {
-            return -1;
-          } else if (a === b) {
-            continue;
-          } else {
-            return compareIdentifiers(a, b);
-          }
-        } while (++i);
-      }
-      // preminor will bump the version up to the next minor release, and immediately
-      // down to pre-release. premajor and prepatch work the same way.
-      inc(release, identifier, identifierBase) {
-        if (release.startsWith("pre")) {
-          if (!identifier && identifierBase === false) {
-            throw new Error("invalid increment argument: identifier is empty");
-          }
-          if (identifier) {
-            const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
-            if (!match || match[1] !== identifier) {
-              throw new Error(`invalid identifier: ${identifier}`);
-            }
+        for (const name of Object.keys(headers)) {
+          const value = headers[name];
+          if (value) {
+            req.setHeader(name, value);
           }
         }
-        switch (release) {
-          case "premajor":
-            this.prerelease.length = 0;
-            this.patch = 0;
-            this.minor = 0;
-            this.major++;
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "preminor":
-            this.prerelease.length = 0;
-            this.patch = 0;
-            this.minor++;
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "prepatch":
-            this.prerelease.length = 0;
-            this.inc("patch", identifier, identifierBase);
-            this.inc("pre", identifier, identifierBase);
-            break;
-          // If the input is a non-prerelease version, this acts the same as
-          // prepatch.
-          case "prerelease":
-            if (this.prerelease.length === 0) {
-              this.inc("patch", identifier, identifierBase);
-            }
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "release":
-            if (this.prerelease.length === 0) {
-              throw new Error(`version ${this.raw} is not a prerelease`);
-            }
-            this.prerelease.length = 0;
-            break;
-          case "major":
-            if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
-              this.major++;
-            }
-            this.minor = 0;
-            this.patch = 0;
-            this.prerelease = [];
-            break;
-          case "minor":
-            if (this.patch !== 0 || this.prerelease.length === 0) {
-              this.minor++;
-            }
-            this.patch = 0;
-            this.prerelease = [];
-            break;
-          case "patch":
-            if (this.prerelease.length === 0) {
-              this.patch++;
-            }
-            this.prerelease = [];
-            break;
-          // This probably shouldn't be used publicly.
-          // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
-          case "pre": {
-            const base = Number(identifierBase) ? 1 : 0;
-            if (this.prerelease.length === 0) {
-              this.prerelease = [base];
-            } else {
-              let i = this.prerelease.length;
-              while (--i >= 0) {
-                if (typeof this.prerelease[i] === "number") {
-                  this.prerelease[i]++;
-                  i = -2;
-                }
-              }
-              if (i === -1) {
-                if (identifier === this.prerelease.join(".") && identifierBase === false) {
-                  throw new Error("invalid increment argument: identifier already exists");
-                }
-                this.prerelease.push(base);
-              }
-            }
-            if (identifier) {
-              let prerelease = [identifier, base];
-              if (identifierBase === false) {
-                prerelease = [identifier];
-              }
-              if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
-                if (isNaN(this.prerelease[1])) {
-                  this.prerelease = prerelease;
-                }
-              } else {
-                this.prerelease = prerelease;
-              }
-            }
-            break;
-          }
-          default:
-            throw new Error(`invalid increment argument: ${release}`);
+      }
+      async connect(req, opts) {
+        req._header = null;
+        if (!req.path.includes("://")) {
+          this.setRequestProps(req, opts);
         }
-        this.raw = this.format();
-        if (this.build.length) {
-          this.raw += `+${this.build.join(".")}`;
+        let first;
+        let endOfHeaders;
+        debug4("Regenerating stored HTTP header string for request");
+        req._implicitHeader();
+        if (req.outputData && req.outputData.length > 0) {
+          debug4("Patching connection write() output buffer with updated header");
+          first = req.outputData[0].data;
+          endOfHeaders = first.indexOf("\r\n\r\n") + 4;
+          req.outputData[0].data = req._header + first.substring(endOfHeaders);
+          debug4("Output buffer: %o", req.outputData[0].data);
         }
-        return this;
-      }
-    };
-    module2.exports = SemVer;
-  }
-});
-
-// node_modules/semver/functions/parse.js
-var require_parse3 = __commonJS({
-  "node_modules/semver/functions/parse.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var parse2 = (version, options, throwErrors = false) => {
-      if (version instanceof SemVer) {
-        return version;
-      }
-      try {
-        return new SemVer(version, options);
-      } catch (er) {
-        if (!throwErrors) {
-          return null;
+        let socket;
+        if (this.proxy.protocol === "https:") {
+          debug4("Creating `tls.Socket`: %o", this.connectOpts);
+          socket = tls.connect(this.connectOpts);
+        } else {
+          debug4("Creating `net.Socket`: %o", this.connectOpts);
+          socket = net.connect(this.connectOpts);
         }
-        throw er;
+        await (0, events_1.once)(socket, "connect");
+        return socket;
       }
     };
-    module2.exports = parse2;
-  }
-});
-
-// node_modules/semver/functions/valid.js
-var require_valid = __commonJS({
-  "node_modules/semver/functions/valid.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse3();
-    var valid3 = (version, options) => {
-      const v = parse2(version, options);
-      return v ? v.version : null;
-    };
-    module2.exports = valid3;
-  }
-});
-
-// node_modules/semver/functions/clean.js
-var require_clean = __commonJS({
-  "node_modules/semver/functions/clean.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse3();
-    var clean3 = (version, options) => {
-      const s = parse2(version.trim().replace(/^[=v]+/, ""), options);
-      return s ? s.version : null;
-    };
-    module2.exports = clean3;
+    HttpProxyAgent.protocols = ["http", "https"];
+    exports2.HttpProxyAgent = HttpProxyAgent;
+    function omit2(obj, ...keys) {
+      const ret = {};
+      let key;
+      for (key in obj) {
+        if (!keys.includes(key)) {
+          ret[key] = obj[key];
+        }
+      }
+      return ret;
+    }
   }
 });
 
-// node_modules/semver/functions/inc.js
-var require_inc = __commonJS({
-  "node_modules/semver/functions/inc.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js
+var require_proxyPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var inc = (version, release, options, identifier, identifierBase) => {
-      if (typeof options === "string") {
-        identifierBase = identifier;
-        identifier = options;
-        options = void 0;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.globalNoProxyList = exports2.proxyPolicyName = void 0;
+    exports2.loadNoProxy = loadNoProxy;
+    exports2.getDefaultProxySettings = getDefaultProxySettings;
+    exports2.proxyPolicy = proxyPolicy;
+    var https_proxy_agent_1 = require_dist2();
+    var http_proxy_agent_1 = require_dist3();
+    var log_js_1 = require_log2();
+    var HTTPS_PROXY = "HTTPS_PROXY";
+    var HTTP_PROXY = "HTTP_PROXY";
+    var ALL_PROXY = "ALL_PROXY";
+    var NO_PROXY = "NO_PROXY";
+    exports2.proxyPolicyName = "proxyPolicy";
+    exports2.globalNoProxyList = [];
+    var noProxyListLoaded = false;
+    var globalBypassedMap = /* @__PURE__ */ new Map();
+    function getEnvironmentValue(name) {
+      if (process.env[name]) {
+        return process.env[name];
+      } else if (process.env[name.toLowerCase()]) {
+        return process.env[name.toLowerCase()];
       }
-      try {
-        return new SemVer(
-          version instanceof SemVer ? version.version : version,
-          options
-        ).inc(release, identifier, identifierBase).version;
-      } catch (er) {
-        return null;
+      return void 0;
+    }
+    function loadEnvironmentProxyValue() {
+      if (!process) {
+        return void 0;
       }
-    };
-    module2.exports = inc;
-  }
-});
-
-// node_modules/semver/functions/diff.js
-var require_diff = __commonJS({
-  "node_modules/semver/functions/diff.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse3();
-    var diff = (version1, version2) => {
-      const v1 = parse2(version1, null, true);
-      const v2 = parse2(version2, null, true);
-      const comparison = v1.compare(v2);
-      if (comparison === 0) {
-        return null;
+      const httpsProxy = getEnvironmentValue(HTTPS_PROXY);
+      const allProxy = getEnvironmentValue(ALL_PROXY);
+      const httpProxy = getEnvironmentValue(HTTP_PROXY);
+      return httpsProxy || allProxy || httpProxy;
+    }
+    function isBypassed(uri, noProxyList, bypassedMap) {
+      if (noProxyList.length === 0) {
+        return false;
       }
-      const v1Higher = comparison > 0;
-      const highVersion = v1Higher ? v1 : v2;
-      const lowVersion = v1Higher ? v2 : v1;
-      const highHasPre = !!highVersion.prerelease.length;
-      const lowHasPre = !!lowVersion.prerelease.length;
-      if (lowHasPre && !highHasPre) {
-        if (!lowVersion.patch && !lowVersion.minor) {
-          return "major";
-        }
-        if (lowVersion.compareMain(highVersion) === 0) {
-          if (lowVersion.minor && !lowVersion.patch) {
-            return "minor";
+      const host = new URL(uri).hostname;
+      if (bypassedMap?.has(host)) {
+        return bypassedMap.get(host);
+      }
+      let isBypassedFlag = false;
+      for (const pattern of noProxyList) {
+        if (pattern[0] === ".") {
+          if (host.endsWith(pattern)) {
+            isBypassedFlag = true;
+          } else {
+            if (host.length === pattern.length - 1 && host === pattern.slice(1)) {
+              isBypassedFlag = true;
+            }
+          }
+        } else {
+          if (host === pattern) {
+            isBypassedFlag = true;
           }
-          return "patch";
         }
       }
-      const prefix = highHasPre ? "pre" : "";
-      if (v1.major !== v2.major) {
-        return prefix + "major";
+      bypassedMap?.set(host, isBypassedFlag);
+      return isBypassedFlag;
+    }
+    function loadNoProxy() {
+      const noProxy = getEnvironmentValue(NO_PROXY);
+      noProxyListLoaded = true;
+      if (noProxy) {
+        return noProxy.split(",").map((item) => item.trim()).filter((item) => item.length);
       }
-      if (v1.minor !== v2.minor) {
-        return prefix + "minor";
+      return [];
+    }
+    function getDefaultProxySettings(proxyUrl) {
+      if (!proxyUrl) {
+        proxyUrl = loadEnvironmentProxyValue();
+        if (!proxyUrl) {
+          return void 0;
+        }
       }
-      if (v1.patch !== v2.patch) {
-        return prefix + "patch";
+      const parsedUrl = new URL(proxyUrl);
+      const schema2 = parsedUrl.protocol ? parsedUrl.protocol + "//" : "";
+      return {
+        host: schema2 + parsedUrl.hostname,
+        port: Number.parseInt(parsedUrl.port || "80"),
+        username: parsedUrl.username,
+        password: parsedUrl.password
+      };
+    }
+    function getDefaultProxySettingsInternal() {
+      const envProxy = loadEnvironmentProxyValue();
+      return envProxy ? new URL(envProxy) : void 0;
+    }
+    function getUrlFromProxySettings(settings) {
+      let parsedProxyUrl;
+      try {
+        parsedProxyUrl = new URL(settings.host);
+      } catch {
+        throw new Error(`Expecting a valid host string in proxy settings, but found "${settings.host}".`);
       }
-      return "prerelease";
-    };
-    module2.exports = diff;
-  }
-});
-
-// node_modules/semver/functions/major.js
-var require_major = __commonJS({
-  "node_modules/semver/functions/major.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var major = (a, loose) => new SemVer(a, loose).major;
-    module2.exports = major;
-  }
-});
-
-// node_modules/semver/functions/minor.js
-var require_minor = __commonJS({
-  "node_modules/semver/functions/minor.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var minor = (a, loose) => new SemVer(a, loose).minor;
-    module2.exports = minor;
-  }
-});
-
-// node_modules/semver/functions/patch.js
-var require_patch = __commonJS({
-  "node_modules/semver/functions/patch.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var patch = (a, loose) => new SemVer(a, loose).patch;
-    module2.exports = patch;
-  }
-});
-
-// node_modules/semver/functions/prerelease.js
-var require_prerelease = __commonJS({
-  "node_modules/semver/functions/prerelease.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse3();
-    var prerelease = (version, options) => {
-      const parsed = parse2(version, options);
-      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
-    };
-    module2.exports = prerelease;
+      parsedProxyUrl.port = String(settings.port);
+      if (settings.username) {
+        parsedProxyUrl.username = settings.username;
+      }
+      if (settings.password) {
+        parsedProxyUrl.password = settings.password;
+      }
+      return parsedProxyUrl;
+    }
+    function setProxyAgentOnRequest(request2, cachedAgents, proxyUrl) {
+      if (request2.agent) {
+        return;
+      }
+      const url = new URL(request2.url);
+      const isInsecure = url.protocol !== "https:";
+      if (request2.tlsSettings) {
+        log_js_1.logger.warning("TLS settings are not supported in combination with custom Proxy, certificates provided to the client will be ignored.");
+      }
+      const headers = request2.headers.toJSON();
+      if (isInsecure) {
+        if (!cachedAgents.httpProxyAgent) {
+          cachedAgents.httpProxyAgent = new http_proxy_agent_1.HttpProxyAgent(proxyUrl, { headers });
+        }
+        request2.agent = cachedAgents.httpProxyAgent;
+      } else {
+        if (!cachedAgents.httpsProxyAgent) {
+          cachedAgents.httpsProxyAgent = new https_proxy_agent_1.HttpsProxyAgent(proxyUrl, { headers });
+        }
+        request2.agent = cachedAgents.httpsProxyAgent;
+      }
+    }
+    function proxyPolicy(proxySettings, options) {
+      if (!noProxyListLoaded) {
+        exports2.globalNoProxyList.push(...loadNoProxy());
+      }
+      const defaultProxy = proxySettings ? getUrlFromProxySettings(proxySettings) : getDefaultProxySettingsInternal();
+      const cachedAgents = {};
+      return {
+        name: exports2.proxyPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.proxySettings && defaultProxy && !isBypassed(request2.url, options?.customNoProxyList ?? exports2.globalNoProxyList, options?.customNoProxyList ? void 0 : globalBypassedMap)) {
+            setProxyAgentOnRequest(request2, cachedAgents, defaultProxy);
+          } else if (request2.proxySettings) {
+            setProxyAgentOnRequest(request2, cachedAgents, getUrlFromProxySettings(request2.proxySettings));
+          }
+          return next(request2);
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/compare.js
-var require_compare = __commonJS({
-  "node_modules/semver/functions/compare.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js
+var require_agentPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var compare2 = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
-    module2.exports = compare2;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.agentPolicyName = void 0;
+    exports2.agentPolicy = agentPolicy;
+    exports2.agentPolicyName = "agentPolicy";
+    function agentPolicy(agent) {
+      return {
+        name: exports2.agentPolicyName,
+        sendRequest: async (req, next) => {
+          if (!req.agent) {
+            req.agent = agent;
+          }
+          return next(req);
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/rcompare.js
-var require_rcompare = __commonJS({
-  "node_modules/semver/functions/rcompare.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js
+var require_tlsPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var rcompare = (a, b, loose) => compare2(b, a, loose);
-    module2.exports = rcompare;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tlsPolicyName = void 0;
+    exports2.tlsPolicy = tlsPolicy;
+    exports2.tlsPolicyName = "tlsPolicy";
+    function tlsPolicy(tlsSettings) {
+      return {
+        name: exports2.tlsPolicyName,
+        sendRequest: async (req, next) => {
+          if (!req.tlsSettings) {
+            req.tlsSettings = tlsSettings;
+          }
+          return next(req);
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/compare-loose.js
-var require_compare_loose = __commonJS({
-  "node_modules/semver/functions/compare-loose.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js
+var require_typeGuards = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var compareLoose = (a, b) => compare2(a, b, true);
-    module2.exports = compareLoose;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isNodeReadableStream = isNodeReadableStream;
+    exports2.isWebReadableStream = isWebReadableStream;
+    exports2.isBinaryBody = isBinaryBody;
+    exports2.isReadableStream = isReadableStream;
+    exports2.isBlob = isBlob;
+    function isNodeReadableStream(x) {
+      return Boolean(x && typeof x["pipe"] === "function");
+    }
+    function isWebReadableStream(x) {
+      return Boolean(x && typeof x.getReader === "function" && typeof x.tee === "function");
+    }
+    function isBinaryBody(body) {
+      return body !== void 0 && (body instanceof Uint8Array || isReadableStream(body) || typeof body === "function" || body instanceof Blob);
+    }
+    function isReadableStream(x) {
+      return isNodeReadableStream(x) || isWebReadableStream(x);
+    }
+    function isBlob(x) {
+      return typeof x.stream === "function";
+    }
   }
 });
 
-// node_modules/semver/functions/compare-build.js
-var require_compare_build = __commonJS({
-  "node_modules/semver/functions/compare-build.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js
+var require_concat = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var compareBuild = (a, b, loose) => {
-      const versionA = new SemVer(a, loose);
-      const versionB = new SemVer(b, loose);
-      return versionA.compare(versionB) || versionA.compareBuild(versionB);
-    };
-    module2.exports = compareBuild;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.concat = concat;
+    var stream_1 = require("stream");
+    var typeGuards_js_1 = require_typeGuards();
+    async function* streamAsyncIterator() {
+      const reader = this.getReader();
+      try {
+        while (true) {
+          const { done, value } = await reader.read();
+          if (done) {
+            return;
+          }
+          yield value;
+        }
+      } finally {
+        reader.releaseLock();
+      }
+    }
+    function makeAsyncIterable(webStream) {
+      if (!webStream[Symbol.asyncIterator]) {
+        webStream[Symbol.asyncIterator] = streamAsyncIterator.bind(webStream);
+      }
+      if (!webStream.values) {
+        webStream.values = streamAsyncIterator.bind(webStream);
+      }
+    }
+    function ensureNodeStream(stream) {
+      if (stream instanceof ReadableStream) {
+        makeAsyncIterable(stream);
+        return stream_1.Readable.fromWeb(stream);
+      } else {
+        return stream;
+      }
+    }
+    function toStream(source) {
+      if (source instanceof Uint8Array) {
+        return stream_1.Readable.from(Buffer.from(source));
+      } else if ((0, typeGuards_js_1.isBlob)(source)) {
+        return ensureNodeStream(source.stream());
+      } else {
+        return ensureNodeStream(source);
+      }
+    }
+    async function concat(sources) {
+      return function() {
+        const streams = sources.map((x) => typeof x === "function" ? x() : x).map(toStream);
+        return stream_1.Readable.from((async function* () {
+          for (const stream of streams) {
+            for await (const chunk of stream) {
+              yield chunk;
+            }
+          }
+        })());
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/sort.js
-var require_sort = __commonJS({
-  "node_modules/semver/functions/sort.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js
+var require_multipartPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js"(exports2) {
     "use strict";
-    var compareBuild = require_compare_build();
-    var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
-    module2.exports = sort;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.multipartPolicyName = void 0;
+    exports2.multipartPolicy = multipartPolicy;
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var typeGuards_js_1 = require_typeGuards();
+    var uuidUtils_js_1 = require_uuidUtils();
+    var concat_js_1 = require_concat();
+    function generateBoundary() {
+      return `----AzSDKFormBoundary${(0, uuidUtils_js_1.randomUUID)()}`;
+    }
+    function encodeHeaders(headers) {
+      let result = "";
+      for (const [key, value] of headers) {
+        result += `${key}: ${value}\r
+`;
+      }
+      return result;
+    }
+    function getLength(source) {
+      if (source instanceof Uint8Array) {
+        return source.byteLength;
+      } else if ((0, typeGuards_js_1.isBlob)(source)) {
+        return source.size === -1 ? void 0 : source.size;
+      } else {
+        return void 0;
+      }
+    }
+    function getTotalLength(sources) {
+      let total = 0;
+      for (const source of sources) {
+        const partLength = getLength(source);
+        if (partLength === void 0) {
+          return void 0;
+        } else {
+          total += partLength;
+        }
+      }
+      return total;
+    }
+    async function buildRequestBody(request2, parts, boundary) {
+      const sources = [
+        (0, bytesEncoding_js_1.stringToUint8Array)(`--${boundary}`, "utf-8"),
+        ...parts.flatMap((part) => [
+          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
+          (0, bytesEncoding_js_1.stringToUint8Array)(encodeHeaders(part.headers), "utf-8"),
+          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
+          part.body,
+          (0, bytesEncoding_js_1.stringToUint8Array)(`\r
+--${boundary}`, "utf-8")
+        ]),
+        (0, bytesEncoding_js_1.stringToUint8Array)("--\r\n\r\n", "utf-8")
+      ];
+      const contentLength = getTotalLength(sources);
+      if (contentLength) {
+        request2.headers.set("Content-Length", contentLength);
+      }
+      request2.body = await (0, concat_js_1.concat)(sources);
+    }
+    exports2.multipartPolicyName = "multipartPolicy";
+    var maxBoundaryLength = 70;
+    var validBoundaryCharacters = new Set(`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`);
+    function assertValidBoundary(boundary) {
+      if (boundary.length > maxBoundaryLength) {
+        throw new Error(`Multipart boundary "${boundary}" exceeds maximum length of 70 characters`);
+      }
+      if (Array.from(boundary).some((x) => !validBoundaryCharacters.has(x))) {
+        throw new Error(`Multipart boundary "${boundary}" contains invalid characters`);
+      }
+    }
+    function multipartPolicy() {
+      return {
+        name: exports2.multipartPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.multipartBody) {
+            return next(request2);
+          }
+          if (request2.body) {
+            throw new Error("multipartBody and regular body cannot be set at the same time");
+          }
+          let boundary = request2.multipartBody.boundary;
+          const contentTypeHeader = request2.headers.get("Content-Type") ?? "multipart/mixed";
+          const parsedHeader = contentTypeHeader.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);
+          if (!parsedHeader) {
+            throw new Error(`Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`);
+          }
+          const [, contentType, parsedBoundary] = parsedHeader;
+          if (parsedBoundary && boundary && parsedBoundary !== boundary) {
+            throw new Error(`Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`);
+          }
+          boundary ??= parsedBoundary;
+          if (boundary) {
+            assertValidBoundary(boundary);
+          } else {
+            boundary = generateBoundary();
+          }
+          request2.headers.set("Content-Type", `${contentType}; boundary=${boundary}`);
+          await buildRequestBody(request2, request2.multipartBody.parts, boundary);
+          request2.multipartBody = void 0;
+          return next(request2);
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/rsort.js
-var require_rsort = __commonJS({
-  "node_modules/semver/functions/rsort.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js
+var require_createPipelineFromOptions = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js"(exports2) {
     "use strict";
-    var compareBuild = require_compare_build();
-    var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
-    module2.exports = rsort;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineFromOptions = createPipelineFromOptions;
+    var logPolicy_js_1 = require_logPolicy();
+    var pipeline_js_1 = require_pipeline();
+    var redirectPolicy_js_1 = require_redirectPolicy();
+    var userAgentPolicy_js_1 = require_userAgentPolicy();
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
+    var formDataPolicy_js_1 = require_formDataPolicy();
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    var proxyPolicy_js_1 = require_proxyPolicy();
+    var agentPolicy_js_1 = require_agentPolicy();
+    var tlsPolicy_js_1 = require_tlsPolicy();
+    var multipartPolicy_js_1 = require_multipartPolicy();
+    function createPipelineFromOptions(options) {
+      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
+      if (checkEnvironment_js_1.isNodeLike) {
+        if (options.agent) {
+          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
+        }
+        if (options.tlsOptions) {
+          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
+        }
+        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
+        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
+      }
+      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
+      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
+      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
+      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
+      if (checkEnvironment_js_1.isNodeLike) {
+        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
+      }
+      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
+      return pipeline;
+    }
   }
 });
 
-// node_modules/semver/functions/gt.js
-var require_gt = __commonJS({
-  "node_modules/semver/functions/gt.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js
+var require_apiVersionPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var gt = (a, b, loose) => compare2(a, b, loose) > 0;
-    module2.exports = gt;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.apiVersionPolicyName = void 0;
+    exports2.apiVersionPolicy = apiVersionPolicy;
+    exports2.apiVersionPolicyName = "ApiVersionPolicy";
+    function apiVersionPolicy(options) {
+      return {
+        name: exports2.apiVersionPolicyName,
+        sendRequest: (req, next) => {
+          const url = new URL(req.url);
+          if (!url.searchParams.get("api-version") && options.apiVersion) {
+            req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${options.apiVersion}`;
+          }
+          return next(req);
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/lt.js
-var require_lt = __commonJS({
-  "node_modules/semver/functions/lt.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js
+var require_credentials = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var lt = (a, b, loose) => compare2(a, b, loose) < 0;
-    module2.exports = lt;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isOAuth2TokenCredential = isOAuth2TokenCredential;
+    exports2.isBearerTokenCredential = isBearerTokenCredential;
+    exports2.isBasicCredential = isBasicCredential;
+    exports2.isApiKeyCredential = isApiKeyCredential;
+    function isOAuth2TokenCredential(credential) {
+      return "getOAuth2Token" in credential;
+    }
+    function isBearerTokenCredential(credential) {
+      return "getBearerToken" in credential;
+    }
+    function isBasicCredential(credential) {
+      return "username" in credential && "password" in credential;
+    }
+    function isApiKeyCredential(credential) {
+      return "key" in credential;
+    }
   }
 });
 
-// node_modules/semver/functions/eq.js
-var require_eq = __commonJS({
-  "node_modules/semver/functions/eq.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js
+var require_checkInsecureConnection = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var eq = (a, b, loose) => compare2(a, b, loose) === 0;
-    module2.exports = eq;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ensureSecureConnection = ensureSecureConnection;
+    var log_js_1 = require_log2();
+    var insecureConnectionWarningEmmitted = false;
+    function allowInsecureConnection(request2, options) {
+      if (options.allowInsecureConnection && request2.allowInsecureConnection) {
+        const url = new URL(request2.url);
+        if (url.hostname === "localhost" || url.hostname === "127.0.0.1") {
+          return true;
+        }
+      }
+      return false;
+    }
+    function emitInsecureConnectionWarning() {
+      const warning9 = "Sending token over insecure transport. Assume any token issued is compromised.";
+      log_js_1.logger.warning(warning9);
+      if (typeof process?.emitWarning === "function" && !insecureConnectionWarningEmmitted) {
+        insecureConnectionWarningEmmitted = true;
+        process.emitWarning(warning9);
+      }
+    }
+    function ensureSecureConnection(request2, options) {
+      if (!request2.url.toLowerCase().startsWith("https://")) {
+        if (allowInsecureConnection(request2, options)) {
+          emitInsecureConnectionWarning();
+        } else {
+          throw new Error("Authentication is not permitted for non-TLS protected (non-https) URLs when allowInsecureConnection is false.");
+        }
+      }
+    }
   }
 });
 
-// node_modules/semver/functions/neq.js
-var require_neq = __commonJS({
-  "node_modules/semver/functions/neq.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js
+var require_apiKeyAuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var neq = (a, b, loose) => compare2(a, b, loose) !== 0;
-    module2.exports = neq;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.apiKeyAuthenticationPolicyName = void 0;
+    exports2.apiKeyAuthenticationPolicy = apiKeyAuthenticationPolicy;
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.apiKeyAuthenticationPolicyName = "apiKeyAuthenticationPolicy";
+    function apiKeyAuthenticationPolicy(options) {
+      return {
+        name: exports2.apiKeyAuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "apiKey");
+          if (!scheme) {
+            return next(request2);
+          }
+          if (scheme.apiKeyLocation !== "header") {
+            throw new Error(`Unsupported API key location: ${scheme.apiKeyLocation}`);
+          }
+          request2.headers.set(scheme.name, options.credential.key);
+          return next(request2);
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/gte.js
-var require_gte = __commonJS({
-  "node_modules/semver/functions/gte.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js
+var require_basicAuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
-    module2.exports = gte6;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.basicAuthenticationPolicyName = void 0;
+    exports2.basicAuthenticationPolicy = basicAuthenticationPolicy;
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.basicAuthenticationPolicyName = "bearerAuthenticationPolicy";
+    function basicAuthenticationPolicy(options) {
+      return {
+        name: exports2.basicAuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "basic");
+          if (!scheme) {
+            return next(request2);
+          }
+          const { username, password } = options.credential;
+          const headerValue = (0, bytesEncoding_js_1.uint8ArrayToString)((0, bytesEncoding_js_1.stringToUint8Array)(`${username}:${password}`, "utf-8"), "base64");
+          request2.headers.set("Authorization", `Basic ${headerValue}`);
+          return next(request2);
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/lte.js
-var require_lte = __commonJS({
-  "node_modules/semver/functions/lte.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js
+var require_bearerAuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js"(exports2) {
     "use strict";
-    var compare2 = require_compare();
-    var lte = (a, b, loose) => compare2(a, b, loose) <= 0;
-    module2.exports = lte;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.bearerAuthenticationPolicyName = void 0;
+    exports2.bearerAuthenticationPolicy = bearerAuthenticationPolicy;
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.bearerAuthenticationPolicyName = "bearerAuthenticationPolicy";
+    function bearerAuthenticationPolicy(options) {
+      return {
+        name: exports2.bearerAuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "bearer");
+          if (!scheme) {
+            return next(request2);
+          }
+          const token = await options.credential.getBearerToken({
+            abortSignal: request2.abortSignal
+          });
+          request2.headers.set("Authorization", `Bearer ${token}`);
+          return next(request2);
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/cmp.js
-var require_cmp = __commonJS({
-  "node_modules/semver/functions/cmp.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js
+var require_oauth2AuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js"(exports2) {
     "use strict";
-    var eq = require_eq();
-    var neq = require_neq();
-    var gt = require_gt();
-    var gte6 = require_gte();
-    var lt = require_lt();
-    var lte = require_lte();
-    var cmp = (a, op, b, loose) => {
-      switch (op) {
-        case "===":
-          if (typeof a === "object") {
-            a = a.version;
-          }
-          if (typeof b === "object") {
-            b = b.version;
-          }
-          return a === b;
-        case "!==":
-          if (typeof a === "object") {
-            a = a.version;
-          }
-          if (typeof b === "object") {
-            b = b.version;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.oauth2AuthenticationPolicyName = void 0;
+    exports2.oauth2AuthenticationPolicy = oauth2AuthenticationPolicy;
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.oauth2AuthenticationPolicyName = "oauth2AuthenticationPolicy";
+    function oauth2AuthenticationPolicy(options) {
+      return {
+        name: exports2.oauth2AuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "oauth2");
+          if (!scheme) {
+            return next(request2);
           }
-          return a !== b;
-        case "":
-        case "=":
-        case "==":
-          return eq(a, b, loose);
-        case "!=":
-          return neq(a, b, loose);
-        case ">":
-          return gt(a, b, loose);
-        case ">=":
-          return gte6(a, b, loose);
-        case "<":
-          return lt(a, b, loose);
-        case "<=":
-          return lte(a, b, loose);
-        default:
-          throw new TypeError(`Invalid operator: ${op}`);
-      }
-    };
-    module2.exports = cmp;
+          const token = await options.credential.getOAuth2Token(scheme.flows, {
+            abortSignal: request2.abortSignal
+          });
+          request2.headers.set("Authorization", `Bearer ${token}`);
+          return next(request2);
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/functions/coerce.js
-var require_coerce = __commonJS({
-  "node_modules/semver/functions/coerce.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js
+var require_clientHelpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var parse2 = require_parse3();
-    var { safeRe: re, t } = require_re();
-    var coerce3 = (version, options) => {
-      if (version instanceof SemVer) {
-        return version;
-      }
-      if (typeof version === "number") {
-        version = String(version);
-      }
-      if (typeof version !== "string") {
-        return null;
-      }
-      options = options || {};
-      let match = null;
-      if (!options.rtl) {
-        match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
-      } else {
-        const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
-        let next;
-        while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
-          if (!match || next.index + next[0].length !== match.index + match[0].length) {
-            match = next;
-          }
-          coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultPipeline = createDefaultPipeline;
+    exports2.getCachedDefaultHttpsClient = getCachedDefaultHttpsClient;
+    var defaultHttpClient_js_1 = require_defaultHttpClient();
+    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions();
+    var apiVersionPolicy_js_1 = require_apiVersionPolicy();
+    var credentials_js_1 = require_credentials();
+    var apiKeyAuthenticationPolicy_js_1 = require_apiKeyAuthenticationPolicy();
+    var basicAuthenticationPolicy_js_1 = require_basicAuthenticationPolicy();
+    var bearerAuthenticationPolicy_js_1 = require_bearerAuthenticationPolicy();
+    var oauth2AuthenticationPolicy_js_1 = require_oauth2AuthenticationPolicy();
+    var cachedHttpClient;
+    function createDefaultPipeline(options = {}) {
+      const pipeline = (0, createPipelineFromOptions_js_1.createPipelineFromOptions)(options);
+      pipeline.addPolicy((0, apiVersionPolicy_js_1.apiVersionPolicy)(options));
+      const { credential, authSchemes, allowInsecureConnection } = options;
+      if (credential) {
+        if ((0, credentials_js_1.isApiKeyCredential)(credential)) {
+          pipeline.addPolicy((0, apiKeyAuthenticationPolicy_js_1.apiKeyAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
+        } else if ((0, credentials_js_1.isBasicCredential)(credential)) {
+          pipeline.addPolicy((0, basicAuthenticationPolicy_js_1.basicAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
+        } else if ((0, credentials_js_1.isBearerTokenCredential)(credential)) {
+          pipeline.addPolicy((0, bearerAuthenticationPolicy_js_1.bearerAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
+        } else if ((0, credentials_js_1.isOAuth2TokenCredential)(credential)) {
+          pipeline.addPolicy((0, oauth2AuthenticationPolicy_js_1.oauth2AuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
         }
-        coerceRtlRegex.lastIndex = -1;
       }
-      if (match === null) {
-        return null;
+      return pipeline;
+    }
+    function getCachedDefaultHttpsClient() {
+      if (!cachedHttpClient) {
+        cachedHttpClient = (0, defaultHttpClient_js_1.createDefaultHttpClient)();
       }
-      const major = match[2];
-      const minor = match[3] || "0";
-      const patch = match[4] || "0";
-      const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
-      const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
-      return parse2(`${major}.${minor}.${patch}${prerelease}${build}`, options);
-    };
-    module2.exports = coerce3;
+      return cachedHttpClient;
+    }
   }
 });
 
-// node_modules/semver/internal/lrucache.js
-var require_lrucache = __commonJS({
-  "node_modules/semver/internal/lrucache.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
+var require_multipart = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
-    var LRUCache = class {
-      constructor() {
-        this.max = 1e3;
-        this.map = /* @__PURE__ */ new Map();
-      }
-      get(key) {
-        const value = this.map.get(key);
-        if (value === void 0) {
-          return void 0;
-        } else {
-          this.map.delete(key);
-          this.map.set(key, value);
-          return value;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.buildBodyPart = buildBodyPart;
+    exports2.buildMultipartBody = buildMultipartBody;
+    var restError_js_1 = require_restError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var typeGuards_js_1 = require_typeGuards();
+    function getHeaderValue(descriptor, headerName) {
+      if (descriptor.headers) {
+        const actualHeaderName = Object.keys(descriptor.headers).find((x) => x.toLowerCase() === headerName.toLowerCase());
+        if (actualHeaderName) {
+          return descriptor.headers[actualHeaderName];
         }
       }
-      delete(key) {
-        return this.map.delete(key);
+      return void 0;
+    }
+    function getPartContentType(descriptor) {
+      const contentTypeHeader = getHeaderValue(descriptor, "content-type");
+      if (contentTypeHeader) {
+        return contentTypeHeader;
       }
-      set(key, value) {
-        const deleted = this.delete(key);
-        if (!deleted && value !== void 0) {
-          if (this.map.size >= this.max) {
-            const firstKey = this.map.keys().next().value;
-            this.delete(firstKey);
-          }
-          this.map.set(key, value);
-        }
-        return this;
+      if (descriptor.contentType === null) {
+        return void 0;
       }
-    };
-    module2.exports = LRUCache;
-  }
-});
-
-// node_modules/semver/classes/range.js
-var require_range = __commonJS({
-  "node_modules/semver/classes/range.js"(exports2, module2) {
-    "use strict";
-    var SPACE_CHARACTERS = /\s+/g;
-    var Range2 = class _Range {
-      constructor(range, options) {
-        options = parseOptions(options);
-        if (range instanceof _Range) {
-          if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
-            return range;
-          } else {
-            return new _Range(range.raw, options);
-          }
-        }
-        if (range instanceof Comparator) {
-          this.raw = range.value;
-          this.set = [[range]];
-          this.formatted = void 0;
-          return this;
-        }
-        this.options = options;
-        this.loose = !!options.loose;
-        this.includePrerelease = !!options.includePrerelease;
-        this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
-        this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
-        if (!this.set.length) {
-          throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
-        }
-        if (this.set.length > 1) {
-          const first = this.set[0];
-          this.set = this.set.filter((c) => !isNullSet(c[0]));
-          if (this.set.length === 0) {
-            this.set = [first];
-          } else if (this.set.length > 1) {
-            for (const c of this.set) {
-              if (c.length === 1 && isAny(c[0])) {
-                this.set = [c];
-                break;
-              }
-            }
-          }
-        }
-        this.formatted = void 0;
+      if (descriptor.contentType) {
+        return descriptor.contentType;
+      }
+      const { body } = descriptor;
+      if (body === null || body === void 0) {
+        return void 0;
+      }
+      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
+        return "text/plain; charset=UTF-8";
+      }
+      if (body instanceof Blob) {
+        return body.type || "application/octet-stream";
+      }
+      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
+        return "application/octet-stream";
       }
-      get range() {
-        if (this.formatted === void 0) {
-          this.formatted = "";
-          for (let i = 0; i < this.set.length; i++) {
-            if (i > 0) {
-              this.formatted += "||";
-            }
-            const comps = this.set[i];
-            for (let k = 0; k < comps.length; k++) {
-              if (k > 0) {
-                this.formatted += " ";
-              }
-              this.formatted += comps[k].toString().trim();
-            }
-          }
-        }
-        return this.formatted;
+      return "application/json";
+    }
+    function escapeDispositionField(value) {
+      return JSON.stringify(value);
+    }
+    function getContentDisposition(descriptor) {
+      const contentDispositionHeader = getHeaderValue(descriptor, "content-disposition");
+      if (contentDispositionHeader) {
+        return contentDispositionHeader;
       }
-      format() {
-        return this.range;
+      if (descriptor.dispositionType === void 0 && descriptor.name === void 0 && descriptor.filename === void 0) {
+        return void 0;
       }
-      toString() {
-        return this.range;
+      const dispositionType = descriptor.dispositionType ?? "form-data";
+      let disposition = dispositionType;
+      if (descriptor.name) {
+        disposition += `; name=${escapeDispositionField(descriptor.name)}`;
       }
-      parseRange(range) {
-        const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
-        const memoKey = memoOpts + ":" + range;
-        const cached = cache.get(memoKey);
-        if (cached) {
-          return cached;
-        }
-        const loose = this.options.loose;
-        const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
-        range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
-        debug4("hyphen replace", range);
-        range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
-        debug4("comparator trim", range);
-        range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
-        debug4("tilde trim", range);
-        range = range.replace(re[t.CARETTRIM], caretTrimReplace);
-        debug4("caret trim", range);
-        let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
-        if (loose) {
-          rangeList = rangeList.filter((comp) => {
-            debug4("loose invalid filter", comp, this.options);
-            return !!comp.match(re[t.COMPARATORLOOSE]);
-          });
-        }
-        debug4("range list", rangeList);
-        const rangeMap = /* @__PURE__ */ new Map();
-        const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
-        for (const comp of comparators) {
-          if (isNullSet(comp)) {
-            return [comp];
-          }
-          rangeMap.set(comp.value, comp);
-        }
-        if (rangeMap.size > 1 && rangeMap.has("")) {
-          rangeMap.delete("");
+      let filename = void 0;
+      if (descriptor.filename) {
+        filename = descriptor.filename;
+      } else if (typeof File !== "undefined" && descriptor.body instanceof File) {
+        const filenameFromFile = descriptor.body.name;
+        if (filenameFromFile !== "") {
+          filename = filenameFromFile;
         }
-        const result = [...rangeMap.values()];
-        cache.set(memoKey, result);
-        return result;
       }
-      intersects(range, options) {
-        if (!(range instanceof _Range)) {
-          throw new TypeError("a Range is required");
-        }
-        return this.set.some((thisComparators) => {
-          return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
-            return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
-              return rangeComparators.every((rangeComparator) => {
-                return thisComparator.intersects(rangeComparator, options);
-              });
-            });
-          });
-        });
+      if (filename) {
+        disposition += `; filename=${escapeDispositionField(filename)}`;
       }
-      // if ANY of the sets match ALL of its comparators, then pass
-      test(version) {
-        if (!version) {
-          return false;
-        }
-        if (typeof version === "string") {
-          try {
-            version = new SemVer(version, this.options);
-          } catch (er) {
-            return false;
-          }
+      return disposition;
+    }
+    function normalizeBody(body, contentType) {
+      if (body === void 0) {
+        return new Uint8Array([]);
+      }
+      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
+        return body;
+      }
+      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
+        return (0, bytesEncoding_js_1.stringToUint8Array)(String(body), "utf-8");
+      }
+      if (contentType && /application\/(.+\+)?json(;.+)?/i.test(String(contentType))) {
+        return (0, bytesEncoding_js_1.stringToUint8Array)(JSON.stringify(body), "utf-8");
+      }
+      throw new restError_js_1.RestError(`Unsupported body/content-type combination: ${body}, ${contentType}`);
+    }
+    function buildBodyPart(descriptor) {
+      const contentType = getPartContentType(descriptor);
+      const contentDisposition = getContentDisposition(descriptor);
+      const headers = (0, httpHeaders_js_1.createHttpHeaders)(descriptor.headers ?? {});
+      if (contentType) {
+        headers.set("content-type", contentType);
+      }
+      if (contentDisposition) {
+        headers.set("content-disposition", contentDisposition);
+      }
+      const body = normalizeBody(descriptor.body, contentType);
+      return {
+        headers,
+        body
+      };
+    }
+    function buildMultipartBody(parts) {
+      return { parts: parts.map(buildBodyPart) };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js
+var require_sendRequest = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.sendRequest = sendRequest;
+    var restError_js_1 = require_restError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    var pipelineRequest_js_1 = require_pipelineRequest();
+    var clientHelpers_js_1 = require_clientHelpers();
+    var typeGuards_js_1 = require_typeGuards();
+    var multipart_js_1 = require_multipart();
+    async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
+      const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
+      const request2 = buildPipelineRequest(method, url, options);
+      try {
+        const response = await pipeline.sendRequest(httpClient, request2);
+        const headers = response.headers.toJSON();
+        const stream = response.readableStreamBody ?? response.browserStreamBody;
+        const parsedBody = options.responseAsStream || stream !== void 0 ? void 0 : getResponseBody(response);
+        const body = stream ?? parsedBody;
+        if (options?.onResponse) {
+          options.onResponse({ ...response, request: request2, rawHeaders: headers, parsedBody });
         }
-        for (let i = 0; i < this.set.length; i++) {
-          if (testSet(this.set[i], version, this.options)) {
-            return true;
-          }
+        return {
+          request: request2,
+          headers,
+          status: `${response.status}`,
+          body
+        };
+      } catch (e) {
+        if ((0, restError_js_1.isRestError)(e) && e.response && options.onResponse) {
+          const { response } = e;
+          const rawHeaders = response.headers.toJSON();
+          options?.onResponse({ ...response, request: request2, rawHeaders }, e);
         }
-        return false;
+        throw e;
       }
-    };
-    module2.exports = Range2;
-    var LRU = require_lrucache();
-    var cache = new LRU();
-    var parseOptions = require_parse_options();
-    var Comparator = require_comparator();
-    var debug4 = require_debug();
-    var SemVer = require_semver();
-    var {
-      safeRe: re,
-      t,
-      comparatorTrimReplace,
-      tildeTrimReplace,
-      caretTrimReplace
-    } = require_re();
-    var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants11();
-    var isNullSet = (c) => c.value === "<0.0.0-0";
-    var isAny = (c) => c.value === "";
-    var isSatisfiable = (comparators, options) => {
-      let result = true;
-      const remainingComparators = comparators.slice();
-      let testComparator = remainingComparators.pop();
-      while (result && remainingComparators.length) {
-        result = remainingComparators.every((otherComparator) => {
-          return testComparator.intersects(otherComparator, options);
-        });
-        testComparator = remainingComparators.pop();
+    }
+    function getRequestContentType(options = {}) {
+      return options.contentType ?? options.headers?.["content-type"] ?? getContentType(options.body);
+    }
+    function getContentType(body) {
+      if (ArrayBuffer.isView(body)) {
+        return "application/octet-stream";
       }
-      return result;
-    };
-    var parseComparator = (comp, options) => {
-      comp = comp.replace(re[t.BUILD], "");
-      debug4("comp", comp, options);
-      comp = replaceCarets(comp, options);
-      debug4("caret", comp);
-      comp = replaceTildes(comp, options);
-      debug4("tildes", comp);
-      comp = replaceXRanges(comp, options);
-      debug4("xrange", comp);
-      comp = replaceStars(comp, options);
-      debug4("stars", comp);
-      return comp;
-    };
-    var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
-    var replaceTildes = (comp, options) => {
-      return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
-    };
-    var replaceTilde = (comp, options) => {
-      const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
-      return comp.replace(r, (_2, M, m, p, pr) => {
-        debug4("tilde", comp, _2, M, m, p, pr);
-        let ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
-        } else if (isX(p)) {
-          ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
-        } else if (pr) {
-          debug4("replaceTilde pr", pr);
-          ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
-        } else {
-          ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
+      if (typeof body === "string") {
+        try {
+          JSON.parse(body);
+          return "application/json";
+        } catch (error3) {
+          return void 0;
         }
-        debug4("tilde return", ret);
-        return ret;
-      });
-    };
-    var replaceCarets = (comp, options) => {
-      return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
-    };
-    var replaceCaret = (comp, options) => {
-      debug4("caret", comp, options);
-      const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
-      const z = options.includePrerelease ? "-0" : "";
-      return comp.replace(r, (_2, M, m, p, pr) => {
-        debug4("caret", comp, _2, M, m, p, pr);
-        let ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
-        } else if (isX(p)) {
-          if (M === "0") {
-            ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
-          } else {
-            ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
-          }
-        } else if (pr) {
-          debug4("replaceCaret pr", pr);
-          if (M === "0") {
-            if (m === "0") {
-              ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
-            } else {
-              ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
-            }
-          } else {
-            ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
-          }
-        } else {
-          debug4("no pr");
-          if (M === "0") {
-            if (m === "0") {
-              ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
-            } else {
-              ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
-            }
-          } else {
-            ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
-          }
+      }
+      return "application/json";
+    }
+    function buildPipelineRequest(method, url, options = {}) {
+      const requestContentType = getRequestContentType(options);
+      const { body, multipartBody } = getRequestBody(options.body, requestContentType);
+      const hasContent = body !== void 0 || multipartBody !== void 0;
+      const headers = (0, httpHeaders_js_1.createHttpHeaders)({
+        ...options.headers ? options.headers : {},
+        accept: options.accept ?? options.headers?.accept ?? "application/json",
+        ...hasContent && requestContentType && {
+          "content-type": requestContentType
         }
-        debug4("caret return", ret);
-        return ret;
       });
-    };
-    var replaceXRanges = (comp, options) => {
-      debug4("replaceXRanges", comp, options);
-      return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
-    };
-    var replaceXRange = (comp, options) => {
-      comp = comp.trim();
-      const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
-      return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
-        debug4("xRange", comp, ret, gtlt, M, m, p, pr);
-        const xM = isX(M);
-        const xm = xM || isX(m);
-        const xp = xm || isX(p);
-        const anyX = xp;
-        if (gtlt === "=" && anyX) {
-          gtlt = "";
-        }
-        pr = options.includePrerelease ? "-0" : "";
-        if (xM) {
-          if (gtlt === ">" || gtlt === "<") {
-            ret = "<0.0.0-0";
-          } else {
-            ret = "*";
-          }
-        } else if (gtlt && anyX) {
-          if (xm) {
-            m = 0;
-          }
-          p = 0;
-          if (gtlt === ">") {
-            gtlt = ">=";
-            if (xm) {
-              M = +M + 1;
-              m = 0;
-              p = 0;
-            } else {
-              m = +m + 1;
-              p = 0;
-            }
-          } else if (gtlt === "<=") {
-            gtlt = "<";
-            if (xm) {
-              M = +M + 1;
-            } else {
-              m = +m + 1;
-            }
-          }
-          if (gtlt === "<") {
-            pr = "-0";
-          }
-          ret = `${gtlt + M}.${m}.${p}${pr}`;
-        } else if (xm) {
-          ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
-        } else if (xp) {
-          ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
-        }
-        debug4("xRange return", ret);
-        return ret;
+      return (0, pipelineRequest_js_1.createPipelineRequest)({
+        url,
+        method,
+        body,
+        multipartBody,
+        headers,
+        allowInsecureConnection: options.allowInsecureConnection,
+        abortSignal: options.abortSignal,
+        onUploadProgress: options.onUploadProgress,
+        onDownloadProgress: options.onDownloadProgress,
+        timeout: options.timeout,
+        enableBrowserStreams: true,
+        streamResponseStatusCodes: options.responseAsStream ? /* @__PURE__ */ new Set([Number.POSITIVE_INFINITY]) : void 0
       });
-    };
-    var replaceStars = (comp, options) => {
-      debug4("replaceStars", comp, options);
-      return comp.trim().replace(re[t.STAR], "");
-    };
-    var replaceGTE0 = (comp, options) => {
-      debug4("replaceGTE0", comp, options);
-      return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
-    };
-    var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
-      if (isX(fM)) {
-        from = "";
-      } else if (isX(fm)) {
-        from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
-      } else if (isX(fp)) {
-        from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
-      } else if (fpr) {
-        from = `>=${from}`;
-      } else {
-        from = `>=${from}${incPr ? "-0" : ""}`;
+    }
+    function getRequestBody(body, contentType = "") {
+      if (body === void 0) {
+        return { body: void 0 };
       }
-      if (isX(tM)) {
-        to = "";
-      } else if (isX(tm)) {
-        to = `<${+tM + 1}.0.0-0`;
-      } else if (isX(tp)) {
-        to = `<${tM}.${+tm + 1}.0-0`;
-      } else if (tpr) {
-        to = `<=${tM}.${tm}.${tp}-${tpr}`;
-      } else if (incPr) {
-        to = `<${tM}.${tm}.${+tp + 1}-0`;
-      } else {
-        to = `<=${to}`;
+      if (typeof FormData !== "undefined" && body instanceof FormData) {
+        return { body };
       }
-      return `${from} ${to}`.trim();
-    };
-    var testSet = (set2, version, options) => {
-      for (let i = 0; i < set2.length; i++) {
-        if (!set2[i].test(version)) {
-          return false;
-        }
+      if ((0, typeGuards_js_1.isReadableStream)(body)) {
+        return { body };
       }
-      if (version.prerelease.length && !options.includePrerelease) {
-        for (let i = 0; i < set2.length; i++) {
-          debug4(set2[i].semver);
-          if (set2[i].semver === Comparator.ANY) {
-            continue;
+      if (ArrayBuffer.isView(body)) {
+        return { body: body instanceof Uint8Array ? body : JSON.stringify(body) };
+      }
+      const firstType = contentType.split(";")[0];
+      switch (firstType) {
+        case "application/json":
+          return { body: JSON.stringify(body) };
+        case "multipart/form-data":
+          if (Array.isArray(body)) {
+            return { multipartBody: (0, multipart_js_1.buildMultipartBody)(body) };
           }
-          if (set2[i].semver.prerelease.length > 0) {
-            const allowed = set2[i].semver;
-            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
-              return true;
-            }
+          return { body: JSON.stringify(body) };
+        case "text/plain":
+          return { body: String(body) };
+        default:
+          if (typeof body === "string") {
+            return { body };
           }
+          return { body: JSON.stringify(body) };
+      }
+    }
+    function getResponseBody(response) {
+      const contentType = response.headers.get("content-type") ?? "";
+      const firstType = contentType.split(";")[0];
+      const bodyToParse = response.bodyAsText ?? "";
+      if (firstType === "text/plain") {
+        return String(bodyToParse);
+      }
+      try {
+        return bodyToParse ? JSON.parse(bodyToParse) : void 0;
+      } catch (error3) {
+        if (firstType === "application/json") {
+          throw createParseError(response, error3);
         }
-        return false;
+        return String(bodyToParse);
+      }
+    }
+    function createParseError(response, err) {
+      const msg = `Error "${err}" occurred while parsing the response body - ${response.bodyAsText}.`;
+      const errCode = err.code ?? restError_js_1.RestError.PARSE_ERROR;
+      return new restError_js_1.RestError(msg, {
+        code: errCode,
+        statusCode: response.status,
+        request: response.request,
+        response
+      });
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js
+var require_urlHelpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.buildRequestUrl = buildRequestUrl;
+    exports2.buildBaseUrl = buildBaseUrl;
+    exports2.replaceAll = replaceAll;
+    function isQueryParameterWithOptions(x) {
+      const value = x.value;
+      return value !== void 0 && value.toString !== void 0 && typeof value.toString === "function";
+    }
+    function buildRequestUrl(endpoint2, routePath, pathParameters, options = {}) {
+      if (routePath.startsWith("https://") || routePath.startsWith("http://")) {
+        return routePath;
+      }
+      endpoint2 = buildBaseUrl(endpoint2, options);
+      routePath = buildRoutePath(routePath, pathParameters, options);
+      const requestUrl = appendQueryParams(`${endpoint2}/${routePath}`, options);
+      const url = new URL(requestUrl);
+      return url.toString().replace(/([^:]\/)\/+/g, "$1");
+    }
+    function getQueryParamValue(key, allowReserved, style, param) {
+      let separator;
+      if (style === "pipeDelimited") {
+        separator = "|";
+      } else if (style === "spaceDelimited") {
+        separator = "%20";
+      } else {
+        separator = ",";
       }
-      return true;
-    };
-  }
-});
-
-// node_modules/semver/classes/comparator.js
-var require_comparator = __commonJS({
-  "node_modules/semver/classes/comparator.js"(exports2, module2) {
-    "use strict";
-    var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
-    var Comparator = class _Comparator {
-      static get ANY() {
-        return ANY;
+      let paramValues;
+      if (Array.isArray(param)) {
+        paramValues = param;
+      } else if (typeof param === "object" && param.toString === Object.prototype.toString) {
+        paramValues = Object.entries(param).flat();
+      } else {
+        paramValues = [param];
       }
-      constructor(comp, options) {
-        options = parseOptions(options);
-        if (comp instanceof _Comparator) {
-          if (comp.loose === !!options.loose) {
-            return comp;
-          } else {
-            comp = comp.value;
-          }
+      const value = paramValues.map((p) => {
+        if (p === null || p === void 0) {
+          return "";
         }
-        comp = comp.trim().split(/\s+/).join(" ");
-        debug4("comparator", comp, options);
-        this.options = options;
-        this.loose = !!options.loose;
-        this.parse(comp);
-        if (this.semver === ANY) {
-          this.value = "";
-        } else {
-          this.value = this.operator + this.semver.version;
+        if (!p.toString || typeof p.toString !== "function") {
+          throw new Error(`Query parameters must be able to be represented as string, ${key} can't`);
         }
-        debug4("comp", this);
+        const rawValue = p.toISOString !== void 0 ? p.toISOString() : p.toString();
+        return allowReserved ? rawValue : encodeURIComponent(rawValue);
+      }).join(separator);
+      return `${allowReserved ? key : encodeURIComponent(key)}=${value}`;
+    }
+    function appendQueryParams(url, options = {}) {
+      if (!options.queryParameters) {
+        return url;
       }
-      parse(comp) {
-        const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
-        const m = comp.match(r);
-        if (!m) {
-          throw new TypeError(`Invalid comparator: ${comp}`);
-        }
-        this.operator = m[1] !== void 0 ? m[1] : "";
-        if (this.operator === "=") {
-          this.operator = "";
+      const parsedUrl = new URL(url);
+      const queryParams = options.queryParameters;
+      const paramStrings = [];
+      for (const key of Object.keys(queryParams)) {
+        const param = queryParams[key];
+        if (param === void 0 || param === null) {
+          continue;
         }
-        if (!m[2]) {
-          this.semver = ANY;
+        const hasMetadata = isQueryParameterWithOptions(param);
+        const rawValue = hasMetadata ? param.value : param;
+        const explode = hasMetadata ? param.explode ?? false : false;
+        const style = hasMetadata && param.style ? param.style : "form";
+        if (explode) {
+          if (Array.isArray(rawValue)) {
+            for (const item of rawValue) {
+              paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, item));
+            }
+          } else if (typeof rawValue === "object") {
+            for (const [actualKey, value] of Object.entries(rawValue)) {
+              paramStrings.push(getQueryParamValue(actualKey, options.skipUrlEncoding ?? false, style, value));
+            }
+          } else {
+            throw new Error("explode can only be set to true for objects and arrays");
+          }
         } else {
-          this.semver = new SemVer(m[2], this.options.loose);
+          paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, rawValue));
         }
       }
-      toString() {
-        return this.value;
+      if (parsedUrl.search !== "") {
+        parsedUrl.search += "&";
       }
-      test(version) {
-        debug4("Comparator.test", version, this.options.loose);
-        if (this.semver === ANY || version === ANY) {
-          return true;
-        }
-        if (typeof version === "string") {
-          try {
-            version = new SemVer(version, this.options);
-          } catch (er) {
-            return false;
-          }
-        }
-        return cmp(version, this.operator, this.semver, this.options);
+      parsedUrl.search += paramStrings.join("&");
+      return parsedUrl.toString();
+    }
+    function buildBaseUrl(endpoint2, options) {
+      if (!options.pathParameters) {
+        return endpoint2;
       }
-      intersects(comp, options) {
-        if (!(comp instanceof _Comparator)) {
-          throw new TypeError("a Comparator is required");
-        }
-        if (this.operator === "") {
-          if (this.value === "") {
-            return true;
-          }
-          return new Range2(comp.value, options).test(this.value);
-        } else if (comp.operator === "") {
-          if (comp.value === "") {
-            return true;
-          }
-          return new Range2(this.value, options).test(comp.semver);
-        }
-        options = parseOptions(options);
-        if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
-          return false;
-        }
-        if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
-          return false;
-        }
-        if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
-          return true;
-        }
-        if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
-          return true;
+      const pathParams = options.pathParameters;
+      for (const [key, param] of Object.entries(pathParams)) {
+        if (param === void 0 || param === null) {
+          throw new Error(`Path parameters ${key} must not be undefined or null`);
         }
-        if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
-          return true;
+        if (!param.toString || typeof param.toString !== "function") {
+          throw new Error(`Path parameters must be able to be represented as string, ${key} can't`);
         }
-        if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
-          return true;
+        let value = param.toISOString !== void 0 ? param.toISOString() : String(param);
+        if (!options.skipUrlEncoding) {
+          value = encodeURIComponent(param);
         }
-        if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
-          return true;
+        endpoint2 = replaceAll(endpoint2, `{${key}}`, value) ?? "";
+      }
+      return endpoint2;
+    }
+    function buildRoutePath(routePath, pathParameters, options = {}) {
+      for (const pathParam of pathParameters) {
+        const allowReserved = typeof pathParam === "object" && (pathParam.allowReserved ?? false);
+        let value = typeof pathParam === "object" ? pathParam.value : pathParam;
+        if (!options.skipUrlEncoding && !allowReserved) {
+          value = encodeURIComponent(value);
         }
-        return false;
+        routePath = routePath.replace(/\{[\w-]+\}/, String(value));
       }
-    };
-    module2.exports = Comparator;
-    var parseOptions = require_parse_options();
-    var { safeRe: re, t } = require_re();
-    var cmp = require_cmp();
-    var debug4 = require_debug();
-    var SemVer = require_semver();
-    var Range2 = require_range();
+      return routePath;
+    }
+    function replaceAll(value, searchValue, replaceValue) {
+      return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || "");
+    }
   }
 });
 
-// node_modules/semver/functions/satisfies.js
-var require_satisfies = __commonJS({
-  "node_modules/semver/functions/satisfies.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js
+var require_getClient = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var satisfies2 = (version, range, options) => {
-      try {
-        range = new Range2(range, options);
-      } catch (er) {
-        return false;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getClient = getClient;
+    var clientHelpers_js_1 = require_clientHelpers();
+    var sendRequest_js_1 = require_sendRequest();
+    var urlHelpers_js_1 = require_urlHelpers();
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    function getClient(endpoint2, clientOptions = {}) {
+      const pipeline = clientOptions.pipeline ?? (0, clientHelpers_js_1.createDefaultPipeline)(clientOptions);
+      if (clientOptions.additionalPolicies?.length) {
+        for (const { policy, position } of clientOptions.additionalPolicies) {
+          const afterPhase = position === "perRetry" ? "Sign" : void 0;
+          pipeline.addPolicy(policy, {
+            afterPhase
+          });
+        }
       }
-      return range.test(version);
-    };
-    module2.exports = satisfies2;
+      const { allowInsecureConnection, httpClient } = clientOptions;
+      const endpointUrl = clientOptions.endpoint ?? endpoint2;
+      const client = (path4, ...args) => {
+        const getUrl = (requestOptions) => (0, urlHelpers_js_1.buildRequestUrl)(endpointUrl, path4, args, { allowInsecureConnection, ...requestOptions });
+        return {
+          get: (requestOptions = {}) => {
+            return buildOperation("GET", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          post: (requestOptions = {}) => {
+            return buildOperation("POST", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          put: (requestOptions = {}) => {
+            return buildOperation("PUT", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          patch: (requestOptions = {}) => {
+            return buildOperation("PATCH", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          delete: (requestOptions = {}) => {
+            return buildOperation("DELETE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          head: (requestOptions = {}) => {
+            return buildOperation("HEAD", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          options: (requestOptions = {}) => {
+            return buildOperation("OPTIONS", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          trace: (requestOptions = {}) => {
+            return buildOperation("TRACE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          }
+        };
+      };
+      return {
+        path: client,
+        pathUnchecked: client,
+        pipeline
+      };
+    }
+    function buildOperation(method, url, pipeline, options, allowInsecureConnection, httpClient) {
+      allowInsecureConnection = options.allowInsecureConnection ?? allowInsecureConnection;
+      return {
+        then: function(onFulfilled, onrejected) {
+          return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection }, httpClient).then(onFulfilled, onrejected);
+        },
+        async asBrowserStream() {
+          if (checkEnvironment_js_1.isNodeLike) {
+            throw new Error("`asBrowserStream` is supported only in the browser environment. Use `asNodeStream` instead to obtain the response body stream. If you require a Web stream of the response in Node, consider using `Readable.toWeb` on the result of `asNodeStream`.");
+          } else {
+            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
+          }
+        },
+        async asNodeStream() {
+          if (checkEnvironment_js_1.isNodeLike) {
+            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
+          } else {
+            throw new Error("`isNodeStream` is not supported in the browser environment. Use `asBrowserStream` to obtain the response body stream.");
+          }
+        }
+      };
+    }
   }
 });
 
-// node_modules/semver/ranges/to-comparators.js
-var require_to_comparators = __commonJS({
-  "node_modules/semver/ranges/to-comparators.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js
+var require_operationOptionHelpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var toComparators = (range, options) => new Range2(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
-    module2.exports = toComparators;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.operationOptionsToRequestParameters = operationOptionsToRequestParameters;
+    function operationOptionsToRequestParameters(options) {
+      return {
+        allowInsecureConnection: options.requestOptions?.allowInsecureConnection,
+        timeout: options.requestOptions?.timeout,
+        skipUrlEncoding: options.requestOptions?.skipUrlEncoding,
+        abortSignal: options.abortSignal,
+        onUploadProgress: options.requestOptions?.onUploadProgress,
+        onDownloadProgress: options.requestOptions?.onDownloadProgress,
+        headers: { ...options.requestOptions?.headers },
+        onResponse: options.onResponse
+      };
+    }
   }
 });
 
-// node_modules/semver/ranges/max-satisfying.js
-var require_max_satisfying = __commonJS({
-  "node_modules/semver/ranges/max-satisfying.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js
+var require_restError2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var maxSatisfying = (versions, range, options) => {
-      let max = null;
-      let maxSV = null;
-      let rangeObj = null;
-      try {
-        rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
-      }
-      versions.forEach((v) => {
-        if (rangeObj.test(v)) {
-          if (!max || maxSV.compare(v) === -1) {
-            max = v;
-            maxSV = new SemVer(max, options);
-          }
-        }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createRestError = createRestError;
+    var restError_js_1 = require_restError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    function createRestError(messageOrResponse, response) {
+      const resp = typeof messageOrResponse === "string" ? response : messageOrResponse;
+      const internalError = resp.body?.error ?? resp.body;
+      const message = typeof messageOrResponse === "string" ? messageOrResponse : internalError?.message ?? `Unexpected status code: ${resp.status}`;
+      return new restError_js_1.RestError(message, {
+        statusCode: statusCodeToNumber(resp.status),
+        code: internalError?.code,
+        request: resp.request,
+        response: toPipelineResponse(resp)
       });
-      return max;
-    };
-    module2.exports = maxSatisfying;
+    }
+    function toPipelineResponse(response) {
+      return {
+        headers: (0, httpHeaders_js_1.createHttpHeaders)(response.headers),
+        request: response.request,
+        status: statusCodeToNumber(response.status) ?? -1
+      };
+    }
+    function statusCodeToNumber(statusCode) {
+      const status = Number.parseInt(statusCode);
+      return Number.isNaN(status) ? void 0 : status;
+    }
   }
 });
 
-// node_modules/semver/ranges/min-satisfying.js
-var require_min_satisfying = __commonJS({
-  "node_modules/semver/ranges/min-satisfying.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js
+var require_commonjs = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var minSatisfying = (versions, range, options) => {
-      let min = null;
-      let minSV = null;
-      let rangeObj = null;
-      try {
-        rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
-      }
-      versions.forEach((v) => {
-        if (rangeObj.test(v)) {
-          if (!min || minSV.compare(v) === 1) {
-            min = v;
-            minSV = new SemVer(min, options);
-          }
-        }
-      });
-      return min;
-    };
-    module2.exports = minSatisfying;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createRestError = exports2.operationOptionsToRequestParameters = exports2.getClient = exports2.createDefaultHttpClient = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isRestError = exports2.RestError = exports2.createEmptyPipeline = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.TypeSpecRuntimeLogger = exports2.setLogLevel = exports2.getLogLevel = exports2.createClientLogger = exports2.AbortError = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var AbortError_js_1 = require_AbortError();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
+    var logger_js_1 = require_logger();
+    Object.defineProperty(exports2, "createClientLogger", { enumerable: true, get: function() {
+      return logger_js_1.createClientLogger;
+    } });
+    Object.defineProperty(exports2, "getLogLevel", { enumerable: true, get: function() {
+      return logger_js_1.getLogLevel;
+    } });
+    Object.defineProperty(exports2, "setLogLevel", { enumerable: true, get: function() {
+      return logger_js_1.setLogLevel;
+    } });
+    Object.defineProperty(exports2, "TypeSpecRuntimeLogger", { enumerable: true, get: function() {
+      return logger_js_1.TypeSpecRuntimeLogger;
+    } });
+    var httpHeaders_js_1 = require_httpHeaders();
+    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
+      return httpHeaders_js_1.createHttpHeaders;
+    } });
+    tslib_1.__exportStar(require_schemes(), exports2);
+    tslib_1.__exportStar(require_oauth2Flows(), exports2);
+    var pipelineRequest_js_1 = require_pipelineRequest();
+    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
+      return pipelineRequest_js_1.createPipelineRequest;
+    } });
+    var pipeline_js_1 = require_pipeline();
+    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
+      return pipeline_js_1.createEmptyPipeline;
+    } });
+    var restError_js_1 = require_restError();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return restError_js_1.RestError;
+    } });
+    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
+      return restError_js_1.isRestError;
+    } });
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.stringToUint8Array;
+    } });
+    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.uint8ArrayToString;
+    } });
+    var defaultHttpClient_js_1 = require_defaultHttpClient();
+    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
+      return defaultHttpClient_js_1.createDefaultHttpClient;
+    } });
+    var getClient_js_1 = require_getClient();
+    Object.defineProperty(exports2, "getClient", { enumerable: true, get: function() {
+      return getClient_js_1.getClient;
+    } });
+    var operationOptionHelpers_js_1 = require_operationOptionHelpers();
+    Object.defineProperty(exports2, "operationOptionsToRequestParameters", { enumerable: true, get: function() {
+      return operationOptionHelpers_js_1.operationOptionsToRequestParameters;
+    } });
+    var restError_js_2 = require_restError2();
+    Object.defineProperty(exports2, "createRestError", { enumerable: true, get: function() {
+      return restError_js_2.createRestError;
+    } });
   }
 });
 
-// node_modules/semver/ranges/min-version.js
-var require_min_version = __commonJS({
-  "node_modules/semver/ranges/min-version.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js
+var require_pipeline2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var gt = require_gt();
-    var minVersion = (range, loose) => {
-      range = new Range2(range, loose);
-      let minver = new SemVer("0.0.0");
-      if (range.test(minver)) {
-        return minver;
-      }
-      minver = new SemVer("0.0.0-0");
-      if (range.test(minver)) {
-        return minver;
-      }
-      minver = null;
-      for (let i = 0; i < range.set.length; ++i) {
-        const comparators = range.set[i];
-        let setMin = null;
-        comparators.forEach((comparator) => {
-          const compver = new SemVer(comparator.semver.version);
-          switch (comparator.operator) {
-            case ">":
-              if (compver.prerelease.length === 0) {
-                compver.patch++;
-              } else {
-                compver.prerelease.push(0);
-              }
-              compver.raw = compver.format();
-            /* fallthrough */
-            case "":
-            case ">=":
-              if (!setMin || gt(compver, setMin)) {
-                setMin = compver;
-              }
-              break;
-            case "<":
-            case "<=":
-              break;
-            /* istanbul ignore next */
-            default:
-              throw new Error(`Unexpected operation: ${comparator.operator}`);
-          }
-        });
-        if (setMin && (!minver || gt(minver, setMin))) {
-          minver = setMin;
-        }
-      }
-      if (minver && range.test(minver)) {
-        return minver;
-      }
-      return null;
-    };
-    module2.exports = minVersion;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createEmptyPipeline = createEmptyPipeline;
+    var ts_http_runtime_1 = require_commonjs();
+    function createEmptyPipeline() {
+      return (0, ts_http_runtime_1.createEmptyPipeline)();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js
+var require_internal = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createLoggerContext = void 0;
+    var logger_js_1 = require_logger();
+    Object.defineProperty(exports2, "createLoggerContext", { enumerable: true, get: function() {
+      return logger_js_1.createLoggerContext;
+    } });
   }
 });
 
-// node_modules/semver/ranges/valid.js
-var require_valid2 = __commonJS({
-  "node_modules/semver/ranges/valid.js"(exports2, module2) {
+// node_modules/@azure/logger/dist/commonjs/index.js
+var require_commonjs2 = __commonJS({
+  "node_modules/@azure/logger/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var validRange = (range, options) => {
-      try {
-        return new Range2(range, options).range || "*";
-      } catch (er) {
-        return null;
-      }
-    };
-    module2.exports = validRange;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureLogger = void 0;
+    exports2.setLogLevel = setLogLevel;
+    exports2.getLogLevel = getLogLevel;
+    exports2.createClientLogger = createClientLogger;
+    var logger_1 = require_internal();
+    var context2 = (0, logger_1.createLoggerContext)({
+      logLevelEnvVarName: "AZURE_LOG_LEVEL",
+      namespace: "azure"
+    });
+    exports2.AzureLogger = context2.logger;
+    function setLogLevel(level) {
+      context2.setLogLevel(level);
+    }
+    function getLogLevel() {
+      return context2.getLogLevel();
+    }
+    function createClientLogger(namespace) {
+      return context2.createClientLogger(namespace);
+    }
   }
 });
 
-// node_modules/semver/ranges/outside.js
-var require_outside = __commonJS({
-  "node_modules/semver/ranges/outside.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js
+var require_log3 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Comparator = require_comparator();
-    var { ANY } = Comparator;
-    var Range2 = require_range();
-    var satisfies2 = require_satisfies();
-    var gt = require_gt();
-    var lt = require_lt();
-    var lte = require_lte();
-    var gte6 = require_gte();
-    var outside = (version, range, hilo, options) => {
-      version = new SemVer(version, options);
-      range = new Range2(range, options);
-      let gtfn, ltefn, ltfn, comp, ecomp;
-      switch (hilo) {
-        case ">":
-          gtfn = gt;
-          ltefn = lte;
-          ltfn = lt;
-          comp = ">";
-          ecomp = ">=";
-          break;
-        case "<":
-          gtfn = lt;
-          ltefn = gte6;
-          ltfn = gt;
-          comp = "<";
-          ecomp = "<=";
-          break;
-        default:
-          throw new TypeError('Must provide a hilo val of "<" or ">"');
-      }
-      if (satisfies2(version, range, options)) {
-        return false;
-      }
-      for (let i = 0; i < range.set.length; ++i) {
-        const comparators = range.set[i];
-        let high = null;
-        let low = null;
-        comparators.forEach((comparator) => {
-          if (comparator.semver === ANY) {
-            comparator = new Comparator(">=0.0.0");
-          }
-          high = high || comparator;
-          low = low || comparator;
-          if (gtfn(comparator.semver, high.semver, options)) {
-            high = comparator;
-          } else if (ltfn(comparator.semver, low.semver, options)) {
-            low = comparator;
-          }
-        });
-        if (high.operator === comp || high.operator === ecomp) {
-          return false;
-        }
-        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
-          return false;
-        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
-          return false;
-        }
-      }
-      return true;
-    };
-    module2.exports = outside;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs2();
+    exports2.logger = (0, logger_1.createClientLogger)("core-rest-pipeline");
   }
 });
 
-// node_modules/semver/ranges/gtr.js
-var require_gtr = __commonJS({
-  "node_modules/semver/ranges/gtr.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js
+var require_exponentialRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
     "use strict";
-    var outside = require_outside();
-    var gtr = (version, range, options) => outside(version, range, ">", options);
-    module2.exports = gtr;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.exponentialRetryPolicyName = void 0;
+    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
+    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants13();
+    exports2.exponentialRetryPolicyName = "exponentialRetryPolicy";
+    function exponentialRetryPolicy(options = {}) {
+      return (0, retryPolicy_js_1.retryPolicy)([
+        (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
+          ...options,
+          ignoreSystemErrors: true
+        })
+      ], {
+        maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+      });
+    }
   }
 });
 
-// node_modules/semver/ranges/ltr.js
-var require_ltr = __commonJS({
-  "node_modules/semver/ranges/ltr.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js
+var require_systemErrorRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
     "use strict";
-    var outside = require_outside();
-    var ltr = (version, range, options) => outside(version, range, "<", options);
-    module2.exports = ltr;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.systemErrorRetryPolicyName = void 0;
+    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
+    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants13();
+    exports2.systemErrorRetryPolicyName = "systemErrorRetryPolicy";
+    function systemErrorRetryPolicy(options = {}) {
+      return {
+        name: exports2.systemErrorRetryPolicyName,
+        sendRequest: (0, retryPolicy_js_1.retryPolicy)([
+          (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
+            ...options,
+            ignoreHttpStatusCodes: true
+          })
+        ], {
+          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+        }).sendRequest
+      };
+    }
   }
 });
 
-// node_modules/semver/ranges/intersects.js
-var require_intersects = __commonJS({
-  "node_modules/semver/ranges/intersects.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js
+var require_throttlingRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var intersects = (r1, r2, options) => {
-      r1 = new Range2(r1, options);
-      r2 = new Range2(r2, options);
-      return r1.intersects(r2, options);
-    };
-    module2.exports = intersects;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.throttlingRetryPolicyName = void 0;
+    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
+    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants13();
+    exports2.throttlingRetryPolicyName = "throttlingRetryPolicy";
+    function throttlingRetryPolicy(options = {}) {
+      return {
+        name: exports2.throttlingRetryPolicyName,
+        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)()], {
+          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+        }).sendRequest
+      };
+    }
   }
 });
 
-// node_modules/semver/ranges/simplify.js
-var require_simplify = __commonJS({
-  "node_modules/semver/ranges/simplify.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js
+var require_internal2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js"(exports2) {
     "use strict";
-    var satisfies2 = require_satisfies();
-    var compare2 = require_compare();
-    module2.exports = (versions, range, options) => {
-      const set2 = [];
-      let first = null;
-      let prev = null;
-      const v = versions.sort((a, b) => compare2(a, b, options));
-      for (const version of v) {
-        const included = satisfies2(version, range, options);
-        if (included) {
-          prev = version;
-          if (!first) {
-            first = version;
-          }
-        } else {
-          if (prev) {
-            set2.push([first, prev]);
-          }
-          prev = null;
-          first = null;
-        }
-      }
-      if (first) {
-        set2.push([first, null]);
-      }
-      const ranges = [];
-      for (const [min, max] of set2) {
-        if (min === max) {
-          ranges.push(min);
-        } else if (!max && min === v[0]) {
-          ranges.push("*");
-        } else if (!max) {
-          ranges.push(`>=${min}`);
-        } else if (min === v[0]) {
-          ranges.push(`<=${max}`);
-        } else {
-          ranges.push(`${min} - ${max}`);
-        }
-      }
-      const simplified = ranges.join(" || ");
-      const original = typeof range.raw === "string" ? range.raw : String(range);
-      return simplified.length < original.length ? simplified : range;
-    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.retryPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.defaultRetryPolicyName = exports2.defaultRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.agentPolicyName = exports2.agentPolicy = void 0;
+    var agentPolicy_js_1 = require_agentPolicy();
+    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicy;
+    } });
+    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicyName;
+    } });
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
+    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicy;
+    } });
+    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
+    } });
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
+    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
+      return defaultRetryPolicy_js_1.defaultRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "defaultRetryPolicyName", { enumerable: true, get: function() {
+      return defaultRetryPolicy_js_1.defaultRetryPolicyName;
+    } });
+    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy();
+    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
+    } });
+    var retryPolicy_js_1 = require_retryPolicy();
+    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
+      return retryPolicy_js_1.retryPolicy;
+    } });
+    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy();
+    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
+    } });
+    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy();
+    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
+    } });
+    var formDataPolicy_js_1 = require_formDataPolicy();
+    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicy;
+    } });
+    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicyName;
+    } });
+    var logPolicy_js_1 = require_logPolicy();
+    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicy;
+    } });
+    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicyName;
+    } });
+    var multipartPolicy_js_1 = require_multipartPolicy();
+    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicy;
+    } });
+    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicyName;
+    } });
+    var proxyPolicy_js_1 = require_proxyPolicy();
+    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicy;
+    } });
+    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicyName;
+    } });
+    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.getDefaultProxySettings;
+    } });
+    var redirectPolicy_js_1 = require_redirectPolicy();
+    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicy;
+    } });
+    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicyName;
+    } });
+    var tlsPolicy_js_1 = require_tlsPolicy();
+    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicy;
+    } });
+    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicyName;
+    } });
+    var userAgentPolicy_js_1 = require_userAgentPolicy();
+    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicy;
+    } });
+    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicyName;
+    } });
   }
 });
 
-// node_modules/semver/ranges/subset.js
-var require_subset = __commonJS({
-  "node_modules/semver/ranges/subset.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js
+var require_logPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var Comparator = require_comparator();
-    var { ANY } = Comparator;
-    var satisfies2 = require_satisfies();
-    var compare2 = require_compare();
-    var subset = (sub, dom, options = {}) => {
-      if (sub === dom) {
-        return true;
-      }
-      sub = new Range2(sub, options);
-      dom = new Range2(dom, options);
-      let sawNonNull = false;
-      OUTER: for (const simpleSub of sub.set) {
-        for (const simpleDom of dom.set) {
-          const isSub = simpleSubset(simpleSub, simpleDom, options);
-          sawNonNull = sawNonNull || isSub !== null;
-          if (isSub) {
-            continue OUTER;
-          }
-        }
-        if (sawNonNull) {
-          return false;
-        }
-      }
-      return true;
-    };
-    var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
-    var minimumVersion2 = [new Comparator(">=0.0.0")];
-    var simpleSubset = (sub, dom, options) => {
-      if (sub === dom) {
-        return true;
-      }
-      if (sub.length === 1 && sub[0].semver === ANY) {
-        if (dom.length === 1 && dom[0].semver === ANY) {
-          return true;
-        } else if (options.includePrerelease) {
-          sub = minimumVersionWithPreRelease;
-        } else {
-          sub = minimumVersion2;
-        }
-      }
-      if (dom.length === 1 && dom[0].semver === ANY) {
-        if (options.includePrerelease) {
-          return true;
-        } else {
-          dom = minimumVersion2;
-        }
-      }
-      const eqSet = /* @__PURE__ */ new Set();
-      let gt, lt;
-      for (const c of sub) {
-        if (c.operator === ">" || c.operator === ">=") {
-          gt = higherGT(gt, c, options);
-        } else if (c.operator === "<" || c.operator === "<=") {
-          lt = lowerLT(lt, c, options);
-        } else {
-          eqSet.add(c.semver);
-        }
-      }
-      if (eqSet.size > 1) {
-        return null;
-      }
-      let gtltComp;
-      if (gt && lt) {
-        gtltComp = compare2(gt.semver, lt.semver, options);
-        if (gtltComp > 0) {
-          return null;
-        } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
-          return null;
-        }
-      }
-      for (const eq of eqSet) {
-        if (gt && !satisfies2(eq, String(gt), options)) {
-          return null;
-        }
-        if (lt && !satisfies2(eq, String(lt), options)) {
-          return null;
-        }
-        for (const c of dom) {
-          if (!satisfies2(eq, String(c), options)) {
-            return false;
-          }
-        }
-        return true;
-      }
-      let higher, lower;
-      let hasDomLT, hasDomGT;
-      let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
-      let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
-      if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
-        needDomLTPre = false;
-      }
-      for (const c of dom) {
-        hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
-        hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
-        if (gt) {
-          if (needDomGTPre) {
-            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
-              needDomGTPre = false;
-            }
-          }
-          if (c.operator === ">" || c.operator === ">=") {
-            higher = higherGT(gt, c, options);
-            if (higher === c && higher !== gt) {
-              return false;
-            }
-          } else if (gt.operator === ">=" && !satisfies2(gt.semver, String(c), options)) {
-            return false;
-          }
-        }
-        if (lt) {
-          if (needDomLTPre) {
-            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
-              needDomLTPre = false;
-            }
-          }
-          if (c.operator === "<" || c.operator === "<=") {
-            lower = lowerLT(lt, c, options);
-            if (lower === c && lower !== lt) {
-              return false;
-            }
-          } else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
-            return false;
-          }
-        }
-        if (!c.operator && (lt || gt) && gtltComp !== 0) {
-          return false;
-        }
-      }
-      if (gt && hasDomLT && !lt && gtltComp !== 0) {
-        return false;
-      }
-      if (lt && hasDomGT && !gt && gtltComp !== 0) {
-        return false;
-      }
-      if (needDomGTPre || needDomLTPre) {
-        return false;
-      }
-      return true;
-    };
-    var higherGT = (a, b, options) => {
-      if (!a) {
-        return b;
-      }
-      const comp = compare2(a.semver, b.semver, options);
-      return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
-    };
-    var lowerLT = (a, b, options) => {
-      if (!a) {
-        return b;
-      }
-      const comp = compare2(a.semver, b.semver, options);
-      return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
-    };
-    module2.exports = subset;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logPolicyName = void 0;
+    exports2.logPolicy = logPolicy;
+    var log_js_1 = require_log3();
+    var policies_1 = require_internal2();
+    exports2.logPolicyName = policies_1.logPolicyName;
+    function logPolicy(options = {}) {
+      return (0, policies_1.logPolicy)({
+        logger: log_js_1.logger.info,
+        ...options
+      });
+    }
   }
 });
 
-// node_modules/semver/index.js
-var require_semver2 = __commonJS({
-  "node_modules/semver/index.js"(exports2, module2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js
+var require_redirectPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js"(exports2) {
     "use strict";
-    var internalRe = require_re();
-    var constants = require_constants11();
-    var SemVer = require_semver();
-    var identifiers = require_identifiers();
-    var parse2 = require_parse3();
-    var valid3 = require_valid();
-    var clean3 = require_clean();
-    var inc = require_inc();
-    var diff = require_diff();
-    var major = require_major();
-    var minor = require_minor();
-    var patch = require_patch();
-    var prerelease = require_prerelease();
-    var compare2 = require_compare();
-    var rcompare = require_rcompare();
-    var compareLoose = require_compare_loose();
-    var compareBuild = require_compare_build();
-    var sort = require_sort();
-    var rsort = require_rsort();
-    var gt = require_gt();
-    var lt = require_lt();
-    var eq = require_eq();
-    var neq = require_neq();
-    var gte6 = require_gte();
-    var lte = require_lte();
-    var cmp = require_cmp();
-    var coerce3 = require_coerce();
-    var Comparator = require_comparator();
-    var Range2 = require_range();
-    var satisfies2 = require_satisfies();
-    var toComparators = require_to_comparators();
-    var maxSatisfying = require_max_satisfying();
-    var minSatisfying = require_min_satisfying();
-    var minVersion = require_min_version();
-    var validRange = require_valid2();
-    var outside = require_outside();
-    var gtr = require_gtr();
-    var ltr = require_ltr();
-    var intersects = require_intersects();
-    var simplifyRange = require_simplify();
-    var subset = require_subset();
-    module2.exports = {
-      parse: parse2,
-      valid: valid3,
-      clean: clean3,
-      inc,
-      diff,
-      major,
-      minor,
-      patch,
-      prerelease,
-      compare: compare2,
-      rcompare,
-      compareLoose,
-      compareBuild,
-      sort,
-      rsort,
-      gt,
-      lt,
-      eq,
-      neq,
-      gte: gte6,
-      lte,
-      cmp,
-      coerce: coerce3,
-      Comparator,
-      Range: Range2,
-      satisfies: satisfies2,
-      toComparators,
-      maxSatisfying,
-      minSatisfying,
-      minVersion,
-      validRange,
-      outside,
-      gtr,
-      ltr,
-      intersects,
-      simplifyRange,
-      subset,
-      SemVer,
-      re: internalRe.re,
-      src: internalRe.src,
-      tokens: internalRe.t,
-      SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
-      RELEASE_TYPES: constants.RELEASE_TYPES,
-      compareIdentifiers: identifiers.compareIdentifiers,
-      rcompareIdentifiers: identifiers.rcompareIdentifiers
-    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.redirectPolicyName = void 0;
+    exports2.redirectPolicy = redirectPolicy;
+    var policies_1 = require_internal2();
+    exports2.redirectPolicyName = policies_1.redirectPolicyName;
+    function redirectPolicy(options = {}) {
+      return (0, policies_1.redirectPolicy)(options);
+    }
   }
 });
 
-// package.json
-var require_package = __commonJS({
-  "package.json"(exports2, module2) {
-    module2.exports = {
-      name: "codeql",
-      version: "4.32.1",
-      private: true,
-      description: "CodeQL action",
-      scripts: {
-        _build_comment: "echo 'Run the full build so we typecheck the project and can reuse the transpiled files in npm test'",
-        build: "./scripts/check-node-modules.sh && npm run transpile && node build.mjs",
-        lint: "eslint --report-unused-disable-directives --max-warnings=0 .",
-        "lint-ci": "SARIF_ESLINT_IGNORE_SUPPRESSED=true eslint --report-unused-disable-directives --max-warnings=0 . --format @microsoft/eslint-formatter-sarif --output-file=eslint.sarif",
-        "lint-fix": "eslint --report-unused-disable-directives --max-warnings=0 . --fix",
-        ava: "npm run transpile && ava --serial --verbose",
-        test: "npm run ava -- src/",
-        "test-debug": "npm run test -- --timeout=20m",
-        transpile: "tsc --build --verbose"
-      },
-      ava: {
-        typescript: {
-          rewritePaths: {
-            "src/": "build/"
-          },
-          compile: false
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js
+var require_userAgentPlatform2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getHeaderName = getHeaderName;
+    exports2.setPlatformSpecificData = setPlatformSpecificData;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_os_1 = tslib_1.__importDefault(require("node:os"));
+    var node_process_1 = tslib_1.__importDefault(require("node:process"));
+    function getHeaderName() {
+      return "User-Agent";
+    }
+    async function setPlatformSpecificData(map2) {
+      if (node_process_1.default && node_process_1.default.versions) {
+        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
+        const versions = node_process_1.default.versions;
+        if (versions.bun) {
+          map2.set("Bun", `${versions.bun} (${osInfo})`);
+        } else if (versions.deno) {
+          map2.set("Deno", `${versions.deno} (${osInfo})`);
+        } else if (versions.node) {
+          map2.set("Node", `${versions.node} (${osInfo})`);
         }
-      },
-      license: "MIT",
-      dependencies: {
-        "@actions/artifact": "^5.0.3",
-        "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
-        "@actions/cache": "^5.0.5",
-        "@actions/core": "^2.0.3",
-        "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
-        "@actions/glob": "^0.5.0",
-        "@actions/http-client": "^3.0.0",
-        "@actions/io": "^2.0.0",
-        "@actions/tool-cache": "^3.0.1",
-        "@octokit/plugin-retry": "^8.0.0",
-        "@schemastore/package": "0.0.10",
-        archiver: "^7.0.1",
-        "fast-deep-equal": "^3.1.3",
-        "follow-redirects": "^1.15.11",
-        "get-folder-size": "^5.0.0",
-        "js-yaml": "^4.1.1",
-        jsonschema: "1.4.1",
-        long: "^5.3.2",
-        "node-forge": "^1.3.3",
-        semver: "^7.7.3",
-        uuid: "^13.0.0"
-      },
-      devDependencies: {
-        "@ava/typescript": "6.0.0",
-        "@eslint/compat": "^2.0.1",
-        "@eslint/eslintrc": "^3.3.3",
-        "@eslint/js": "^9.39.2",
-        "@microsoft/eslint-formatter-sarif": "^3.1.0",
-        "@octokit/types": "^16.0.0",
-        "@types/archiver": "^7.0.0",
-        "@types/follow-redirects": "^1.14.4",
-        "@types/js-yaml": "^4.0.9",
-        "@types/node": "^20.19.9",
-        "@types/node-forge": "^1.3.14",
-        "@types/semver": "^7.7.1",
-        "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
-        "@typescript-eslint/parser": "^8.48.0",
-        ava: "^6.4.1",
-        esbuild: "^0.27.2",
-        eslint: "^8.57.1",
-        "eslint-import-resolver-typescript": "^3.8.7",
-        "eslint-plugin-filenames": "^1.3.2",
-        "eslint-plugin-github": "^5.1.8",
-        "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
-        "eslint-plugin-no-async-foreach": "^0.1.1",
-        glob: "^11.1.0",
-        nock: "^14.0.10",
-        sinon: "^21.0.1",
-        typescript: "^5.9.3"
-      },
-      overrides: {
-        "@actions/tool-cache": {
-          semver: ">=6.3.1"
-        },
-        "@octokit/request-error": {
-          semver: ">=5.1.1"
-        },
-        "@octokit/request": {
-          semver: ">=8.4.1"
-        },
-        "@octokit/plugin-paginate-rest": {
-          semver: ">=9.2.2"
-        },
-        "eslint-plugin-import": {
-          semver: ">=6.3.1"
-        },
-        "eslint-plugin-jsx-a11y": {
-          semver: ">=6.3.1"
-        },
-        "brace-expansion@2.0.1": "2.0.2",
-        glob: "^11.1.0"
       }
-    };
+    }
   }
 });
 
-// node_modules/bottleneck/light.js
-var require_light = __commonJS({
-  "node_modules/bottleneck/light.js"(exports2, module2) {
-    (function(global2, factory) {
-      typeof exports2 === "object" && typeof module2 !== "undefined" ? module2.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global2.Bottleneck = factory();
-    })(exports2, (function() {
-      "use strict";
-      var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
-      function getCjsExportFromNamespace(n) {
-        return n && n["default"] || n;
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js
+var require_constants14 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "1.22.2";
+    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js
+var require_userAgent2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
+    exports2.getUserAgentValue = getUserAgentValue;
+    var userAgentPlatform_js_1 = require_userAgentPlatform2();
+    var constants_js_1 = require_constants14();
+    function getUserAgentString(telemetryInfo) {
+      const parts = [];
+      for (const [key, value] of telemetryInfo) {
+        const token = value ? `${key}/${value}` : key;
+        parts.push(token);
       }
-      var load2 = function(received, defaults, onto = {}) {
-        var k, ref, v;
-        for (k in defaults) {
-          v = defaults[k];
-          onto[k] = (ref = received[k]) != null ? ref : v;
-        }
-        return onto;
-      };
-      var overwrite = function(received, defaults, onto = {}) {
-        var k, v;
-        for (k in received) {
-          v = received[k];
-          if (defaults[k] !== void 0) {
-            onto[k] = v;
-          }
-        }
-        return onto;
-      };
-      var parser = {
-        load: load2,
-        overwrite
-      };
-      var DLList;
-      DLList = class DLList {
-        constructor(incr, decr) {
-          this.incr = incr;
-          this.decr = decr;
-          this._first = null;
-          this._last = null;
-          this.length = 0;
-        }
-        push(value) {
-          var node;
-          this.length++;
-          if (typeof this.incr === "function") {
-            this.incr();
-          }
-          node = {
-            value,
-            prev: this._last,
-            next: null
-          };
-          if (this._last != null) {
-            this._last.next = node;
-            this._last = node;
-          } else {
-            this._first = this._last = node;
-          }
-          return void 0;
-        }
-        shift() {
-          var value;
-          if (this._first == null) {
-            return;
-          } else {
-            this.length--;
-            if (typeof this.decr === "function") {
-              this.decr();
-            }
-          }
-          value = this._first.value;
-          if ((this._first = this._first.next) != null) {
-            this._first.prev = null;
-          } else {
-            this._last = null;
-          }
-          return value;
-        }
-        first() {
-          if (this._first != null) {
-            return this._first.value;
-          }
-        }
-        getArray() {
-          var node, ref, results;
-          node = this._first;
-          results = [];
-          while (node != null) {
-            results.push((ref = node, node = node.next, ref.value));
-          }
-          return results;
-        }
-        forEachShift(cb) {
-          var node;
-          node = this.shift();
-          while (node != null) {
-            cb(node), node = this.shift();
-          }
-          return void 0;
-        }
-        debug() {
-          var node, ref, ref1, ref2, results;
-          node = this._first;
-          results = [];
-          while (node != null) {
-            results.push((ref = node, node = node.next, {
-              value: ref.value,
-              prev: (ref1 = ref.prev) != null ? ref1.value : void 0,
-              next: (ref2 = ref.next) != null ? ref2.value : void 0
-            }));
-          }
-          return results;
-        }
-      };
-      var DLList_1 = DLList;
-      var Events;
-      Events = class Events {
-        constructor(instance) {
-          this.instance = instance;
-          this._events = {};
-          if (this.instance.on != null || this.instance.once != null || this.instance.removeAllListeners != null) {
-            throw new Error("An Emitter already exists for this object");
-          }
-          this.instance.on = (name, cb) => {
-            return this._addListener(name, "many", cb);
-          };
-          this.instance.once = (name, cb) => {
-            return this._addListener(name, "once", cb);
-          };
-          this.instance.removeAllListeners = (name = null) => {
-            if (name != null) {
-              return delete this._events[name];
-            } else {
-              return this._events = {};
-            }
-          };
-        }
-        _addListener(name, status, cb) {
-          var base;
-          if ((base = this._events)[name] == null) {
-            base[name] = [];
-          }
-          this._events[name].push({ cb, status });
-          return this.instance;
-        }
-        listenerCount(name) {
-          if (this._events[name] != null) {
-            return this._events[name].length;
-          } else {
-            return 0;
-          }
-        }
-        async trigger(name, ...args) {
-          var e, promises;
-          try {
-            if (name !== "debug") {
-              this.trigger("debug", `Event triggered: ${name}`, args);
-            }
-            if (this._events[name] == null) {
-              return;
-            }
-            this._events[name] = this._events[name].filter(function(listener) {
-              return listener.status !== "none";
-            });
-            promises = this._events[name].map(async (listener) => {
-              var e2, returned;
-              if (listener.status === "none") {
-                return;
-              }
-              if (listener.status === "once") {
-                listener.status = "none";
-              }
-              try {
-                returned = typeof listener.cb === "function" ? listener.cb(...args) : void 0;
-                if (typeof (returned != null ? returned.then : void 0) === "function") {
-                  return await returned;
-                } else {
-                  return returned;
-                }
-              } catch (error3) {
-                e2 = error3;
-                {
-                  this.trigger("error", e2);
-                }
-                return null;
-              }
-            });
-            return (await Promise.all(promises)).find(function(x) {
-              return x != null;
-            });
-          } catch (error3) {
-            e = error3;
-            {
-              this.trigger("error", e);
-            }
-            return null;
-          }
-        }
-      };
-      var Events_1 = Events;
-      var DLList$1, Events$1, Queues;
-      DLList$1 = DLList_1;
-      Events$1 = Events_1;
-      Queues = class Queues {
-        constructor(num_priorities) {
-          var i;
-          this.Events = new Events$1(this);
-          this._length = 0;
-          this._lists = (function() {
-            var j, ref, results;
-            results = [];
-            for (i = j = 1, ref = num_priorities; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {
-              results.push(new DLList$1((() => {
-                return this.incr();
-              }), (() => {
-                return this.decr();
-              })));
-            }
-            return results;
-          }).call(this);
-        }
-        incr() {
-          if (this._length++ === 0) {
-            return this.Events.trigger("leftzero");
-          }
-        }
-        decr() {
-          if (--this._length === 0) {
-            return this.Events.trigger("zero");
+      return parts.join(" ");
+    }
+    function getUserAgentHeaderName() {
+      return (0, userAgentPlatform_js_1.getHeaderName)();
+    }
+    async function getUserAgentValue(prefix) {
+      const runtimeInfo = /* @__PURE__ */ new Map();
+      runtimeInfo.set("core-rest-pipeline", constants_js_1.SDK_VERSION);
+      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
+      const defaultAgent = getUserAgentString(runtimeInfo);
+      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
+      return userAgentValue;
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js
+var require_userAgentPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.userAgentPolicyName = void 0;
+    exports2.userAgentPolicy = userAgentPolicy;
+    var userAgent_js_1 = require_userAgent2();
+    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
+    exports2.userAgentPolicyName = "userAgentPolicy";
+    function userAgentPolicy(options = {}) {
+      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
+      return {
+        name: exports2.userAgentPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.headers.has(UserAgentHeaderName)) {
+            request2.headers.set(UserAgentHeaderName, await userAgentValue);
           }
+          return next(request2);
         }
-        push(job) {
-          return this._lists[job.options.priority].push(job);
-        }
-        queued(priority) {
-          if (priority != null) {
-            return this._lists[priority].length;
-          } else {
-            return this._length;
-          }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js
+var require_sha256 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.computeSha256Hmac = computeSha256Hmac;
+    exports2.computeSha256Hash = computeSha256Hash;
+    var node_crypto_1 = require("node:crypto");
+    async function computeSha256Hmac(key, stringToSign, encoding) {
+      const decodedKey = Buffer.from(key, "base64");
+      return (0, node_crypto_1.createHmac)("sha256", decodedKey).update(stringToSign).digest(encoding);
+    }
+    async function computeSha256Hash(content, encoding) {
+      return (0, node_crypto_1.createHash)("sha256").update(content).digest(encoding);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js
+var require_internal3 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Sanitizer = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isWebWorker = exports2.isReactNative = exports2.isDeno = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isBrowser = exports2.randomUUID = exports2.computeSha256Hmac = exports2.computeSha256Hash = exports2.isError = exports2.isObject = exports2.getRandomIntegerInclusive = exports2.calculateRetryDelay = void 0;
+    var delay_js_1 = require_delay();
+    Object.defineProperty(exports2, "calculateRetryDelay", { enumerable: true, get: function() {
+      return delay_js_1.calculateRetryDelay;
+    } });
+    var random_js_1 = require_random();
+    Object.defineProperty(exports2, "getRandomIntegerInclusive", { enumerable: true, get: function() {
+      return random_js_1.getRandomIntegerInclusive;
+    } });
+    var object_js_1 = require_object();
+    Object.defineProperty(exports2, "isObject", { enumerable: true, get: function() {
+      return object_js_1.isObject;
+    } });
+    var error_js_1 = require_error();
+    Object.defineProperty(exports2, "isError", { enumerable: true, get: function() {
+      return error_js_1.isError;
+    } });
+    var sha256_js_1 = require_sha256();
+    Object.defineProperty(exports2, "computeSha256Hash", { enumerable: true, get: function() {
+      return sha256_js_1.computeSha256Hash;
+    } });
+    Object.defineProperty(exports2, "computeSha256Hmac", { enumerable: true, get: function() {
+      return sha256_js_1.computeSha256Hmac;
+    } });
+    var uuidUtils_js_1 = require_uuidUtils();
+    Object.defineProperty(exports2, "randomUUID", { enumerable: true, get: function() {
+      return uuidUtils_js_1.randomUUID;
+    } });
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    Object.defineProperty(exports2, "isBrowser", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isBrowser;
+    } });
+    Object.defineProperty(exports2, "isBun", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isBun;
+    } });
+    Object.defineProperty(exports2, "isNodeLike", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isNodeLike;
+    } });
+    Object.defineProperty(exports2, "isNodeRuntime", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isNodeRuntime;
+    } });
+    Object.defineProperty(exports2, "isDeno", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isDeno;
+    } });
+    Object.defineProperty(exports2, "isReactNative", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isReactNative;
+    } });
+    Object.defineProperty(exports2, "isWebWorker", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isWebWorker;
+    } });
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.stringToUint8Array;
+    } });
+    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.uint8ArrayToString;
+    } });
+    var sanitizer_js_1 = require_sanitizer();
+    Object.defineProperty(exports2, "Sanitizer", { enumerable: true, get: function() {
+      return sanitizer_js_1.Sanitizer;
+    } });
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/aborterUtils.js
+var require_aborterUtils = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/aborterUtils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.cancelablePromiseRace = cancelablePromiseRace;
+    async function cancelablePromiseRace(abortablePromiseBuilders, options) {
+      const aborter = new AbortController();
+      function abortHandler() {
+        aborter.abort();
+      }
+      options?.abortSignal?.addEventListener("abort", abortHandler);
+      try {
+        return await Promise.race(abortablePromiseBuilders.map((p) => p({ abortSignal: aborter.signal })));
+      } finally {
+        aborter.abort();
+        options?.abortSignal?.removeEventListener("abort", abortHandler);
+      }
+    }
+  }
+});
+
+// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
+var require_AbortError2 = __commonJS({
+  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+      }
+    };
+    exports2.AbortError = AbortError;
+  }
+});
+
+// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js
+var require_commonjs3 = __commonJS({
+  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError_js_1 = require_AbortError2();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js
+var require_createAbortablePromise = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createAbortablePromise = createAbortablePromise;
+    var abort_controller_1 = require_commonjs3();
+    function createAbortablePromise(buildPromise, options) {
+      const { cleanupBeforeAbort, abortSignal, abortErrorMsg } = options ?? {};
+      return new Promise((resolve3, reject) => {
+        function rejectOnAbort() {
+          reject(new abort_controller_1.AbortError(abortErrorMsg ?? "The operation was aborted."));
         }
-        shiftAll(fn) {
-          return this._lists.forEach(function(list) {
-            return list.forEachShift(fn);
-          });
+        function removeListeners() {
+          abortSignal?.removeEventListener("abort", onAbort);
         }
-        getFirst(arr = this._lists) {
-          var j, len, list;
-          for (j = 0, len = arr.length; j < len; j++) {
-            list = arr[j];
-            if (list.length > 0) {
-              return list;
-            }
-          }
-          return [];
+        function onAbort() {
+          cleanupBeforeAbort?.();
+          removeListeners();
+          rejectOnAbort();
         }
-        shiftLastFrom(priority) {
-          return this.getFirst(this._lists.slice(priority).reverse()).shift();
+        if (abortSignal?.aborted) {
+          return rejectOnAbort();
         }
-      };
-      var Queues_1 = Queues;
-      var BottleneckError;
-      BottleneckError = class BottleneckError extends Error {
-      };
-      var BottleneckError_1 = BottleneckError;
-      var BottleneckError$1, DEFAULT_PRIORITY, Job, NUM_PRIORITIES, parser$1;
-      NUM_PRIORITIES = 10;
-      DEFAULT_PRIORITY = 5;
-      parser$1 = parser;
-      BottleneckError$1 = BottleneckError_1;
-      Job = class Job {
-        constructor(task, args, options, jobDefaults, rejectOnDrop, Events2, _states, Promise2) {
-          this.task = task;
-          this.args = args;
-          this.rejectOnDrop = rejectOnDrop;
-          this.Events = Events2;
-          this._states = _states;
-          this.Promise = Promise2;
-          this.options = parser$1.load(options, jobDefaults);
-          this.options.priority = this._sanitizePriority(this.options.priority);
-          if (this.options.id === jobDefaults.id) {
-            this.options.id = `${this.options.id}-${this._randomIndex()}`;
-          }
-          this.promise = new this.Promise((_resolve, _reject) => {
-            this._resolve = _resolve;
-            this._reject = _reject;
+        try {
+          buildPromise((x) => {
+            removeListeners();
+            resolve3(x);
+          }, (x) => {
+            removeListeners();
+            reject(x);
           });
-          this.retryCount = 0;
+        } catch (err) {
+          reject(err);
         }
-        _sanitizePriority(priority) {
-          var sProperty;
-          sProperty = ~~priority !== priority ? DEFAULT_PRIORITY : priority;
-          if (sProperty < 0) {
-            return 0;
-          } else if (sProperty > NUM_PRIORITIES - 1) {
-            return NUM_PRIORITIES - 1;
+        abortSignal?.addEventListener("abort", onAbort);
+      });
+    }
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/delay.js
+var require_delay2 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/delay.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.delay = delay;
+    exports2.calculateRetryDelay = calculateRetryDelay;
+    var createAbortablePromise_js_1 = require_createAbortablePromise();
+    var util_1 = require_internal3();
+    var StandardAbortMessage = "The delay was aborted.";
+    function delay(timeInMs, options) {
+      let token;
+      const { abortSignal, abortErrorMsg } = options ?? {};
+      return (0, createAbortablePromise_js_1.createAbortablePromise)((resolve3) => {
+        token = setTimeout(resolve3, timeInMs);
+      }, {
+        cleanupBeforeAbort: () => clearTimeout(token),
+        abortSignal,
+        abortErrorMsg: abortErrorMsg ?? StandardAbortMessage
+      });
+    }
+    function calculateRetryDelay(retryAttempt, config) {
+      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
+      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
+      const retryAfterInMs = clampedDelay / 2 + (0, util_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
+      return { retryAfterInMs };
+    }
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/error.js
+var require_error2 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/error.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getErrorMessage = getErrorMessage2;
+    var util_1 = require_internal3();
+    function getErrorMessage2(e) {
+      if ((0, util_1.isError)(e)) {
+        return e.message;
+      } else {
+        let stringified;
+        try {
+          if (typeof e === "object" && e) {
+            stringified = JSON.stringify(e);
           } else {
-            return sProperty;
+            stringified = String(e);
           }
+        } catch (err) {
+          stringified = "[unable to stringify input]";
         }
-        _randomIndex() {
-          return Math.random().toString(36).slice(2);
+        return `Unknown error ${stringified}`;
+      }
+    }
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/typeGuards.js
+var require_typeGuards2 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/typeGuards.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isDefined = isDefined3;
+    exports2.isObjectWithProperties = isObjectWithProperties;
+    exports2.objectHasProperty = objectHasProperty;
+    function isDefined3(thing) {
+      return typeof thing !== "undefined" && thing !== null;
+    }
+    function isObjectWithProperties(thing, properties) {
+      if (!isDefined3(thing) || typeof thing !== "object") {
+        return false;
+      }
+      for (const property of properties) {
+        if (!objectHasProperty(thing, property)) {
+          return false;
         }
-        doDrop({ error: error3, message = "This job has been dropped by Bottleneck" } = {}) {
-          if (this._states.remove(this.options.id)) {
-            if (this.rejectOnDrop) {
-              this._reject(error3 != null ? error3 : new BottleneckError$1(message));
+      }
+      return true;
+    }
+    function objectHasProperty(thing, property) {
+      return isDefined3(thing) && typeof thing === "object" && property in thing;
+    }
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/index.js
+var require_commonjs4 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isWebWorker = exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isNode = exports2.isDeno = exports2.isBun = exports2.isBrowser = exports2.objectHasProperty = exports2.isObjectWithProperties = exports2.isDefined = exports2.getErrorMessage = exports2.delay = exports2.createAbortablePromise = exports2.cancelablePromiseRace = void 0;
+    exports2.calculateRetryDelay = calculateRetryDelay;
+    exports2.computeSha256Hash = computeSha256Hash;
+    exports2.computeSha256Hmac = computeSha256Hmac;
+    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
+    exports2.isError = isError;
+    exports2.isObject = isObject2;
+    exports2.randomUUID = randomUUID;
+    exports2.uint8ArrayToString = uint8ArrayToString;
+    exports2.stringToUint8Array = stringToUint8Array;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var tspRuntime = tslib_1.__importStar(require_internal3());
+    var aborterUtils_js_1 = require_aborterUtils();
+    Object.defineProperty(exports2, "cancelablePromiseRace", { enumerable: true, get: function() {
+      return aborterUtils_js_1.cancelablePromiseRace;
+    } });
+    var createAbortablePromise_js_1 = require_createAbortablePromise();
+    Object.defineProperty(exports2, "createAbortablePromise", { enumerable: true, get: function() {
+      return createAbortablePromise_js_1.createAbortablePromise;
+    } });
+    var delay_js_1 = require_delay2();
+    Object.defineProperty(exports2, "delay", { enumerable: true, get: function() {
+      return delay_js_1.delay;
+    } });
+    var error_js_1 = require_error2();
+    Object.defineProperty(exports2, "getErrorMessage", { enumerable: true, get: function() {
+      return error_js_1.getErrorMessage;
+    } });
+    var typeGuards_js_1 = require_typeGuards2();
+    Object.defineProperty(exports2, "isDefined", { enumerable: true, get: function() {
+      return typeGuards_js_1.isDefined;
+    } });
+    Object.defineProperty(exports2, "isObjectWithProperties", { enumerable: true, get: function() {
+      return typeGuards_js_1.isObjectWithProperties;
+    } });
+    Object.defineProperty(exports2, "objectHasProperty", { enumerable: true, get: function() {
+      return typeGuards_js_1.objectHasProperty;
+    } });
+    function calculateRetryDelay(retryAttempt, config) {
+      return tspRuntime.calculateRetryDelay(retryAttempt, config);
+    }
+    function computeSha256Hash(content, encoding) {
+      return tspRuntime.computeSha256Hash(content, encoding);
+    }
+    function computeSha256Hmac(key, stringToSign, encoding) {
+      return tspRuntime.computeSha256Hmac(key, stringToSign, encoding);
+    }
+    function getRandomIntegerInclusive(min, max) {
+      return tspRuntime.getRandomIntegerInclusive(min, max);
+    }
+    function isError(e) {
+      return tspRuntime.isError(e);
+    }
+    function isObject2(input) {
+      return tspRuntime.isObject(input);
+    }
+    function randomUUID() {
+      return tspRuntime.randomUUID();
+    }
+    exports2.isBrowser = tspRuntime.isBrowser;
+    exports2.isBun = tspRuntime.isBun;
+    exports2.isDeno = tspRuntime.isDeno;
+    exports2.isNode = tspRuntime.isNodeLike;
+    exports2.isNodeLike = tspRuntime.isNodeLike;
+    exports2.isNodeRuntime = tspRuntime.isNodeRuntime;
+    exports2.isReactNative = tspRuntime.isReactNative;
+    exports2.isWebWorker = tspRuntime.isWebWorker;
+    function uint8ArrayToString(bytes, format) {
+      return tspRuntime.uint8ArrayToString(bytes, format);
+    }
+    function stringToUint8Array(value, format) {
+      return tspRuntime.stringToUint8Array(value, format);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js
+var require_file3 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hasRawContent = hasRawContent;
+    exports2.getRawContent = getRawContent;
+    exports2.createFileFromStream = createFileFromStream;
+    exports2.createFile = createFile;
+    var core_util_1 = require_commonjs4();
+    function isNodeReadableStream(x) {
+      return Boolean(x && typeof x["pipe"] === "function");
+    }
+    var unimplementedMethods = {
+      arrayBuffer: () => {
+        throw new Error("Not implemented");
+      },
+      bytes: () => {
+        throw new Error("Not implemented");
+      },
+      slice: () => {
+        throw new Error("Not implemented");
+      },
+      text: () => {
+        throw new Error("Not implemented");
+      }
+    };
+    var rawContent = /* @__PURE__ */ Symbol("rawContent");
+    function hasRawContent(x) {
+      return typeof x[rawContent] === "function";
+    }
+    function getRawContent(blob) {
+      if (hasRawContent(blob)) {
+        return blob[rawContent]();
+      } else {
+        return blob;
+      }
+    }
+    function createFileFromStream(stream, name, options = {}) {
+      return {
+        ...unimplementedMethods,
+        type: options.type ?? "",
+        lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
+        webkitRelativePath: options.webkitRelativePath ?? "",
+        size: options.size ?? -1,
+        name,
+        stream: () => {
+          const s = stream();
+          if (isNodeReadableStream(s)) {
+            throw new Error("Not supported: a Node stream was provided as input to createFileFromStream.");
+          }
+          return s;
+        },
+        [rawContent]: stream
+      };
+    }
+    function createFile(content, name, options = {}) {
+      if (core_util_1.isNodeLike) {
+        return {
+          ...unimplementedMethods,
+          type: options.type ?? "",
+          lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
+          webkitRelativePath: options.webkitRelativePath ?? "",
+          size: content.byteLength,
+          name,
+          arrayBuffer: async () => content.buffer,
+          stream: () => new Blob([toArrayBuffer(content)]).stream(),
+          [rawContent]: () => content
+        };
+      } else {
+        return new File([toArrayBuffer(content)], name, options);
+      }
+    }
+    function toArrayBuffer(source) {
+      if ("resize" in source.buffer) {
+        return source;
+      }
+      return source.map((x) => x);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js
+var require_multipartPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.multipartPolicyName = void 0;
+    exports2.multipartPolicy = multipartPolicy;
+    var policies_1 = require_internal2();
+    var file_js_1 = require_file3();
+    exports2.multipartPolicyName = policies_1.multipartPolicyName;
+    function multipartPolicy() {
+      const tspPolicy = (0, policies_1.multipartPolicy)();
+      return {
+        name: exports2.multipartPolicyName,
+        sendRequest: async (request2, next) => {
+          if (request2.multipartBody) {
+            for (const part of request2.multipartBody.parts) {
+              if ((0, file_js_1.hasRawContent)(part.body)) {
+                part.body = (0, file_js_1.getRawContent)(part.body);
+              }
             }
-            this.Events.trigger("dropped", { args: this.args, options: this.options, task: this.task, promise: this.promise });
-            return true;
-          } else {
-            return false;
           }
+          return tspPolicy.sendRequest(request2, next);
         }
-        _assertStatus(expected) {
-          var status;
-          status = this._states.jobStatus(this.options.id);
-          if (!(status === expected || expected === "DONE" && status === null)) {
-            throw new BottleneckError$1(`Invalid job status ${status}, expected ${expected}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`);
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js
+var require_decompressResponsePolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.decompressResponsePolicyName = void 0;
+    exports2.decompressResponsePolicy = decompressResponsePolicy;
+    var policies_1 = require_internal2();
+    exports2.decompressResponsePolicyName = policies_1.decompressResponsePolicyName;
+    function decompressResponsePolicy() {
+      return (0, policies_1.decompressResponsePolicy)();
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js
+var require_defaultRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.defaultRetryPolicyName = void 0;
+    exports2.defaultRetryPolicy = defaultRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.defaultRetryPolicyName = policies_1.defaultRetryPolicyName;
+    function defaultRetryPolicy(options = {}) {
+      return (0, policies_1.defaultRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js
+var require_formDataPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.formDataPolicyName = void 0;
+    exports2.formDataPolicy = formDataPolicy;
+    var policies_1 = require_internal2();
+    exports2.formDataPolicyName = policies_1.formDataPolicyName;
+    function formDataPolicy() {
+      return (0, policies_1.formDataPolicy)();
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js
+var require_proxyPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.proxyPolicyName = void 0;
+    exports2.getDefaultProxySettings = getDefaultProxySettings;
+    exports2.proxyPolicy = proxyPolicy;
+    var policies_1 = require_internal2();
+    exports2.proxyPolicyName = policies_1.proxyPolicyName;
+    function getDefaultProxySettings(proxyUrl) {
+      return (0, policies_1.getDefaultProxySettings)(proxyUrl);
+    }
+    function proxyPolicy(proxySettings, options) {
+      return (0, policies_1.proxyPolicy)(proxySettings, options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js
+var require_setClientRequestIdPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.setClientRequestIdPolicyName = void 0;
+    exports2.setClientRequestIdPolicy = setClientRequestIdPolicy;
+    exports2.setClientRequestIdPolicyName = "setClientRequestIdPolicy";
+    function setClientRequestIdPolicy(requestIdHeaderName = "x-ms-client-request-id") {
+      return {
+        name: exports2.setClientRequestIdPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.headers.has(requestIdHeaderName)) {
+            request2.headers.set(requestIdHeaderName, request2.requestId);
           }
+          return next(request2);
         }
-        doReceive() {
-          this._states.start(this.options.id);
-          return this.Events.trigger("received", { args: this.args, options: this.options });
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js
+var require_agentPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.agentPolicyName = void 0;
+    exports2.agentPolicy = agentPolicy;
+    var policies_1 = require_internal2();
+    exports2.agentPolicyName = policies_1.agentPolicyName;
+    function agentPolicy(agent) {
+      return (0, policies_1.agentPolicy)(agent);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js
+var require_tlsPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tlsPolicyName = void 0;
+    exports2.tlsPolicy = tlsPolicy;
+    var policies_1 = require_internal2();
+    exports2.tlsPolicyName = policies_1.tlsPolicyName;
+    function tlsPolicy(tlsSettings) {
+      return (0, policies_1.tlsPolicy)(tlsSettings);
+    }
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js
+var require_tracingContext = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.TracingContextImpl = exports2.knownContextKeys = void 0;
+    exports2.createTracingContext = createTracingContext;
+    exports2.knownContextKeys = {
+      span: /* @__PURE__ */ Symbol.for("@azure/core-tracing span"),
+      namespace: /* @__PURE__ */ Symbol.for("@azure/core-tracing namespace")
+    };
+    function createTracingContext(options = {}) {
+      let context2 = new TracingContextImpl(options.parentContext);
+      if (options.span) {
+        context2 = context2.setValue(exports2.knownContextKeys.span, options.span);
+      }
+      if (options.namespace) {
+        context2 = context2.setValue(exports2.knownContextKeys.namespace, options.namespace);
+      }
+      return context2;
+    }
+    var TracingContextImpl = class _TracingContextImpl {
+      _contextMap;
+      constructor(initialContext) {
+        this._contextMap = initialContext instanceof _TracingContextImpl ? new Map(initialContext._contextMap) : /* @__PURE__ */ new Map();
+      }
+      setValue(key, value) {
+        const newContext = new _TracingContextImpl(this);
+        newContext._contextMap.set(key, value);
+        return newContext;
+      }
+      getValue(key) {
+        return this._contextMap.get(key);
+      }
+      deleteValue(key) {
+        const newContext = new _TracingContextImpl(this);
+        newContext._contextMap.delete(key);
+        return newContext;
+      }
+    };
+    exports2.TracingContextImpl = TracingContextImpl;
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/state.js
+var require_state = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/state.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.state = void 0;
+    exports2.state = {
+      instrumenterImplementation: void 0
+    };
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js
+var require_instrumenter = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultTracingSpan = createDefaultTracingSpan;
+    exports2.createDefaultInstrumenter = createDefaultInstrumenter;
+    exports2.useInstrumenter = useInstrumenter;
+    exports2.getInstrumenter = getInstrumenter;
+    var tracingContext_js_1 = require_tracingContext();
+    var state_js_1 = require_state();
+    function createDefaultTracingSpan() {
+      return {
+        end: () => {
+        },
+        isRecording: () => false,
+        recordException: () => {
+        },
+        setAttribute: () => {
+        },
+        setStatus: () => {
+        },
+        addEvent: () => {
         }
-        doQueue(reachedHWM, blocked) {
-          this._assertStatus("RECEIVED");
-          this._states.next(this.options.id);
-          return this.Events.trigger("queued", { args: this.args, options: this.options, reachedHWM, blocked });
+      };
+    }
+    function createDefaultInstrumenter() {
+      return {
+        createRequestHeaders: () => {
+          return {};
+        },
+        parseTraceparentHeader: () => {
+          return void 0;
+        },
+        startSpan: (_name, spanOptions) => {
+          return {
+            span: createDefaultTracingSpan(),
+            tracingContext: (0, tracingContext_js_1.createTracingContext)({ parentContext: spanOptions.tracingContext })
+          };
+        },
+        withContext(_context, callback, ...callbackArgs) {
+          return callback(...callbackArgs);
         }
-        doRun() {
-          if (this.retryCount === 0) {
-            this._assertStatus("QUEUED");
-            this._states.next(this.options.id);
-          } else {
-            this._assertStatus("EXECUTING");
-          }
-          return this.Events.trigger("scheduled", { args: this.args, options: this.options });
+      };
+    }
+    function useInstrumenter(instrumenter) {
+      state_js_1.state.instrumenterImplementation = instrumenter;
+    }
+    function getInstrumenter() {
+      if (!state_js_1.state.instrumenterImplementation) {
+        state_js_1.state.instrumenterImplementation = createDefaultInstrumenter();
+      }
+      return state_js_1.state.instrumenterImplementation;
+    }
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js
+var require_tracingClient = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createTracingClient = createTracingClient;
+    var instrumenter_js_1 = require_instrumenter();
+    var tracingContext_js_1 = require_tracingContext();
+    function createTracingClient(options) {
+      const { namespace, packageName, packageVersion } = options;
+      function startSpan(name, operationOptions, spanOptions) {
+        const startSpanResult = (0, instrumenter_js_1.getInstrumenter)().startSpan(name, {
+          ...spanOptions,
+          packageName,
+          packageVersion,
+          tracingContext: operationOptions?.tracingOptions?.tracingContext
+        });
+        let tracingContext = startSpanResult.tracingContext;
+        const span = startSpanResult.span;
+        if (!tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace)) {
+          tracingContext = tracingContext.setValue(tracingContext_js_1.knownContextKeys.namespace, namespace);
         }
-        async doExecute(chained, clearGlobalState, run, free) {
-          var error3, eventInfo, passed;
-          if (this.retryCount === 0) {
-            this._assertStatus("RUNNING");
-            this._states.next(this.options.id);
-          } else {
-            this._assertStatus("EXECUTING");
-          }
-          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
-          this.Events.trigger("executing", eventInfo);
-          try {
-            passed = await (chained != null ? chained.schedule(this.options, this.task, ...this.args) : this.task(...this.args));
-            if (clearGlobalState()) {
-              this.doDone(eventInfo);
-              await free(this.options, eventInfo);
-              this._assertStatus("DONE");
-              return this._resolve(passed);
-            }
-          } catch (error1) {
-            error3 = error1;
-            return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
-          }
+        span.setAttribute("az.namespace", tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace));
+        const updatedOptions = Object.assign({}, operationOptions, {
+          tracingOptions: { ...operationOptions?.tracingOptions, tracingContext }
+        });
+        return {
+          span,
+          updatedOptions
+        };
+      }
+      async function withSpan(name, operationOptions, callback, spanOptions) {
+        const { span, updatedOptions } = startSpan(name, operationOptions, spanOptions);
+        try {
+          const result = await withContext(updatedOptions.tracingOptions.tracingContext, () => Promise.resolve(callback(updatedOptions, span)));
+          span.setStatus({ status: "success" });
+          return result;
+        } catch (err) {
+          span.setStatus({ status: "error", error: err });
+          throw err;
+        } finally {
+          span.end();
         }
-        doExpire(clearGlobalState, run, free) {
-          var error3, eventInfo;
-          if (this._states.jobStatus(this.options.id === "RUNNING")) {
-            this._states.next(this.options.id);
+      }
+      function withContext(context2, callback, ...callbackArgs) {
+        return (0, instrumenter_js_1.getInstrumenter)().withContext(context2, callback, ...callbackArgs);
+      }
+      function parseTraceparentHeader(traceparentHeader) {
+        return (0, instrumenter_js_1.getInstrumenter)().parseTraceparentHeader(traceparentHeader);
+      }
+      function createRequestHeaders(tracingContext) {
+        return (0, instrumenter_js_1.getInstrumenter)().createRequestHeaders(tracingContext);
+      }
+      return {
+        startSpan,
+        withSpan,
+        withContext,
+        parseTraceparentHeader,
+        createRequestHeaders
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/index.js
+var require_commonjs5 = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createTracingClient = exports2.useInstrumenter = void 0;
+    var instrumenter_js_1 = require_instrumenter();
+    Object.defineProperty(exports2, "useInstrumenter", { enumerable: true, get: function() {
+      return instrumenter_js_1.useInstrumenter;
+    } });
+    var tracingClient_js_1 = require_tracingClient();
+    Object.defineProperty(exports2, "createTracingClient", { enumerable: true, get: function() {
+      return tracingClient_js_1.createTracingClient;
+    } });
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js
+var require_restError3 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RestError = void 0;
+    exports2.isRestError = isRestError;
+    var ts_http_runtime_1 = require_commonjs();
+    exports2.RestError = ts_http_runtime_1.RestError;
+    function isRestError(e) {
+      return (0, ts_http_runtime_1.isRestError)(e);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js
+var require_tracingPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tracingPolicyName = void 0;
+    exports2.tracingPolicy = tracingPolicy;
+    var core_tracing_1 = require_commonjs5();
+    var constants_js_1 = require_constants14();
+    var userAgent_js_1 = require_userAgent2();
+    var log_js_1 = require_log3();
+    var core_util_1 = require_commonjs4();
+    var restError_js_1 = require_restError3();
+    var util_1 = require_internal3();
+    exports2.tracingPolicyName = "tracingPolicy";
+    function tracingPolicy(options = {}) {
+      const userAgentPromise = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
+      const sanitizer = new util_1.Sanitizer({
+        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
+      });
+      const tracingClient = tryCreateTracingClient();
+      return {
+        name: exports2.tracingPolicyName,
+        async sendRequest(request2, next) {
+          if (!tracingClient) {
+            return next(request2);
           }
-          this._assertStatus("EXECUTING");
-          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
-          error3 = new BottleneckError$1(`This job timed out after ${this.options.expiration} ms.`);
-          return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
-        }
-        async _onFailure(error3, eventInfo, clearGlobalState, run, free) {
-          var retry2, retryAfter;
-          if (clearGlobalState()) {
-            retry2 = await this.Events.trigger("failed", error3, eventInfo);
-            if (retry2 != null) {
-              retryAfter = ~~retry2;
-              this.Events.trigger("retry", `Retrying ${this.options.id} after ${retryAfter} ms`, eventInfo);
-              this.retryCount++;
-              return run(retryAfter);
-            } else {
-              this.doDone(eventInfo);
-              await free(this.options, eventInfo);
-              this._assertStatus("DONE");
-              return this._reject(error3);
-            }
+          const userAgent2 = await userAgentPromise;
+          const spanAttributes = {
+            "http.url": sanitizer.sanitizeUrl(request2.url),
+            "http.method": request2.method,
+            "http.user_agent": userAgent2,
+            requestId: request2.requestId
+          };
+          if (userAgent2) {
+            spanAttributes["http.user_agent"] = userAgent2;
           }
-        }
-        doDone(eventInfo) {
-          this._assertStatus("EXECUTING");
-          this._states.next(this.options.id);
-          return this.Events.trigger("done", eventInfo);
-        }
-      };
-      var Job_1 = Job;
-      var BottleneckError$2, LocalDatastore, parser$2;
-      parser$2 = parser;
-      BottleneckError$2 = BottleneckError_1;
-      LocalDatastore = class LocalDatastore {
-        constructor(instance, storeOptions, storeInstanceOptions) {
-          this.instance = instance;
-          this.storeOptions = storeOptions;
-          this.clientId = this.instance._randomIndex();
-          parser$2.load(storeInstanceOptions, storeInstanceOptions, this);
-          this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now();
-          this._running = 0;
-          this._done = 0;
-          this._unblockTime = 0;
-          this.ready = this.Promise.resolve();
-          this.clients = {};
-          this._startHeartbeat();
-        }
-        _startHeartbeat() {
-          var base;
-          if (this.heartbeat == null && (this.storeOptions.reservoirRefreshInterval != null && this.storeOptions.reservoirRefreshAmount != null || this.storeOptions.reservoirIncreaseInterval != null && this.storeOptions.reservoirIncreaseAmount != null)) {
-            return typeof (base = this.heartbeat = setInterval(() => {
-              var amount, incr, maximum, now, reservoir;
-              now = Date.now();
-              if (this.storeOptions.reservoirRefreshInterval != null && now >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) {
-                this._lastReservoirRefresh = now;
-                this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount;
-                this.instance._drainAll(this.computeCapacity());
-              }
-              if (this.storeOptions.reservoirIncreaseInterval != null && now >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) {
-                ({
-                  reservoirIncreaseAmount: amount,
-                  reservoirIncreaseMaximum: maximum,
-                  reservoir
-                } = this.storeOptions);
-                this._lastReservoirIncrease = now;
-                incr = maximum != null ? Math.min(amount, maximum - reservoir) : amount;
-                if (incr > 0) {
-                  this.storeOptions.reservoir += incr;
-                  return this.instance._drainAll(this.computeCapacity());
-                }
-              }
-            }, this.heartbeatInterval)).unref === "function" ? base.unref() : void 0;
-          } else {
-            return clearInterval(this.heartbeat);
+          const { span, tracingContext } = tryCreateSpan(tracingClient, request2, spanAttributes) ?? {};
+          if (!span || !tracingContext) {
+            return next(request2);
+          }
+          try {
+            const response = await tracingClient.withContext(tracingContext, next, request2);
+            tryProcessResponse(span, response);
+            return response;
+          } catch (err) {
+            tryProcessError(span, err);
+            throw err;
           }
         }
-        async __publish__(message) {
-          await this.yieldLoop();
-          return this.instance.Events.trigger("message", message.toString());
-        }
-        async __disconnect__(flush) {
-          await this.yieldLoop();
-          clearInterval(this.heartbeat);
-          return this.Promise.resolve();
-        }
-        yieldLoop(t = 0) {
-          return new this.Promise(function(resolve3, reject) {
-            return setTimeout(resolve3, t);
-          });
-        }
-        computePenalty() {
-          var ref;
-          return (ref = this.storeOptions.penalty) != null ? ref : 15 * this.storeOptions.minTime || 5e3;
+      };
+    }
+    function tryCreateTracingClient() {
+      try {
+        return (0, core_tracing_1.createTracingClient)({
+          namespace: "",
+          packageName: "@azure/core-rest-pipeline",
+          packageVersion: constants_js_1.SDK_VERSION
+        });
+      } catch (e) {
+        log_js_1.logger.warning(`Error when creating the TracingClient: ${(0, core_util_1.getErrorMessage)(e)}`);
+        return void 0;
+      }
+    }
+    function tryCreateSpan(tracingClient, request2, spanAttributes) {
+      try {
+        const { span, updatedOptions } = tracingClient.startSpan(`HTTP ${request2.method}`, { tracingOptions: request2.tracingOptions }, {
+          spanKind: "client",
+          spanAttributes
+        });
+        if (!span.isRecording()) {
+          span.end();
+          return void 0;
         }
-        async __updateSettings__(options) {
-          await this.yieldLoop();
-          parser$2.overwrite(options, options, this.storeOptions);
-          this._startHeartbeat();
-          this.instance._drainAll(this.computeCapacity());
-          return true;
+        const headers = tracingClient.createRequestHeaders(updatedOptions.tracingOptions.tracingContext);
+        for (const [key, value] of Object.entries(headers)) {
+          request2.headers.set(key, value);
         }
-        async __running__() {
-          await this.yieldLoop();
-          return this._running;
+        return { span, tracingContext: updatedOptions.tracingOptions.tracingContext };
+      } catch (e) {
+        log_js_1.logger.warning(`Skipping creating a tracing span due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
+        return void 0;
+      }
+    }
+    function tryProcessError(span, error3) {
+      try {
+        span.setStatus({
+          status: "error",
+          error: (0, core_util_1.isError)(error3) ? error3 : void 0
+        });
+        if ((0, restError_js_1.isRestError)(error3) && error3.statusCode) {
+          span.setAttribute("http.status_code", error3.statusCode);
         }
-        async __queued__() {
-          await this.yieldLoop();
-          return this.instance.queued();
+        span.end();
+      } catch (e) {
+        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
+      }
+    }
+    function tryProcessResponse(span, response) {
+      try {
+        span.setAttribute("http.status_code", response.status);
+        const serviceRequestId = response.headers.get("x-ms-request-id");
+        if (serviceRequestId) {
+          span.setAttribute("serviceRequestId", serviceRequestId);
         }
-        async __done__() {
-          await this.yieldLoop();
-          return this._done;
+        if (response.status >= 400) {
+          span.setStatus({
+            status: "error"
+          });
         }
-        async __groupCheck__(time) {
-          await this.yieldLoop();
-          return this._nextRequest + this.timeout < time;
+        span.end();
+      } catch (e) {
+        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
+      }
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js
+var require_wrapAbortSignal = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.wrapAbortSignalLike = wrapAbortSignalLike;
+    function wrapAbortSignalLike(abortSignalLike) {
+      if (abortSignalLike instanceof AbortSignal) {
+        return { abortSignal: abortSignalLike };
+      }
+      if (abortSignalLike.aborted) {
+        return { abortSignal: AbortSignal.abort(abortSignalLike.reason) };
+      }
+      const controller = new AbortController();
+      let needsCleanup = true;
+      function cleanup() {
+        if (needsCleanup) {
+          abortSignalLike.removeEventListener("abort", listener);
+          needsCleanup = false;
         }
-        computeCapacity() {
-          var maxConcurrent, reservoir;
-          ({ maxConcurrent, reservoir } = this.storeOptions);
-          if (maxConcurrent != null && reservoir != null) {
-            return Math.min(maxConcurrent - this._running, reservoir);
-          } else if (maxConcurrent != null) {
-            return maxConcurrent - this._running;
-          } else if (reservoir != null) {
-            return reservoir;
-          } else {
-            return null;
+      }
+      function listener() {
+        controller.abort(abortSignalLike.reason);
+        cleanup();
+      }
+      abortSignalLike.addEventListener("abort", listener);
+      return { abortSignal: controller.signal, cleanup };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js
+var require_wrapAbortSignalLikePolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.wrapAbortSignalLikePolicyName = void 0;
+    exports2.wrapAbortSignalLikePolicy = wrapAbortSignalLikePolicy;
+    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
+    exports2.wrapAbortSignalLikePolicyName = "wrapAbortSignalLikePolicy";
+    function wrapAbortSignalLikePolicy() {
+      return {
+        name: exports2.wrapAbortSignalLikePolicyName,
+        sendRequest: async (request2, next) => {
+          if (!request2.abortSignal) {
+            return next(request2);
+          }
+          const { abortSignal, cleanup } = (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal);
+          request2.abortSignal = abortSignal;
+          try {
+            return await next(request2);
+          } finally {
+            cleanup?.();
           }
         }
-        conditionsCheck(weight) {
-          var capacity;
-          capacity = this.computeCapacity();
-          return capacity == null || weight <= capacity;
-        }
-        async __incrementReservoir__(incr) {
-          var reservoir;
-          await this.yieldLoop();
-          reservoir = this.storeOptions.reservoir += incr;
-          this.instance._drainAll(this.computeCapacity());
-          return reservoir;
-        }
-        async __currentReservoir__() {
-          await this.yieldLoop();
-          return this.storeOptions.reservoir;
-        }
-        isBlocked(now) {
-          return this._unblockTime >= now;
-        }
-        check(weight, now) {
-          return this.conditionsCheck(weight) && this._nextRequest - now <= 0;
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js
+var require_createPipelineFromOptions2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineFromOptions = createPipelineFromOptions;
+    var logPolicy_js_1 = require_logPolicy2();
+    var pipeline_js_1 = require_pipeline2();
+    var redirectPolicy_js_1 = require_redirectPolicy2();
+    var userAgentPolicy_js_1 = require_userAgentPolicy2();
+    var multipartPolicy_js_1 = require_multipartPolicy2();
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
+    var formDataPolicy_js_1 = require_formDataPolicy2();
+    var core_util_1 = require_commonjs4();
+    var proxyPolicy_js_1 = require_proxyPolicy2();
+    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
+    var agentPolicy_js_1 = require_agentPolicy2();
+    var tlsPolicy_js_1 = require_tlsPolicy2();
+    var tracingPolicy_js_1 = require_tracingPolicy();
+    var wrapAbortSignalLikePolicy_js_1 = require_wrapAbortSignalLikePolicy();
+    function createPipelineFromOptions(options) {
+      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
+      if (core_util_1.isNodeLike) {
+        if (options.agent) {
+          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
         }
-        async __check__(weight) {
-          var now;
-          await this.yieldLoop();
-          now = Date.now();
-          return this.check(weight, now);
+        if (options.tlsOptions) {
+          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
         }
-        async __register__(index, weight, expiration) {
-          var now, wait;
-          await this.yieldLoop();
-          now = Date.now();
-          if (this.conditionsCheck(weight)) {
-            this._running += weight;
-            if (this.storeOptions.reservoir != null) {
-              this.storeOptions.reservoir -= weight;
-            }
-            wait = Math.max(this._nextRequest - now, 0);
-            this._nextRequest = now + wait + this.storeOptions.minTime;
-            return {
-              success: true,
-              wait,
-              reservoir: this.storeOptions.reservoir
-            };
-          } else {
-            return {
-              success: false
-            };
+        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
+        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
+      }
+      pipeline.addPolicy((0, wrapAbortSignalLikePolicy_js_1.wrapAbortSignalLikePolicy)());
+      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
+      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
+      pipeline.addPolicy((0, setClientRequestIdPolicy_js_1.setClientRequestIdPolicy)(options.telemetryOptions?.clientRequestIdHeaderName));
+      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
+      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
+      pipeline.addPolicy((0, tracingPolicy_js_1.tracingPolicy)({ ...options.userAgentOptions, ...options.loggingOptions }), {
+        afterPhase: "Retry"
+      });
+      if (core_util_1.isNodeLike) {
+        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
+      }
+      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
+      return pipeline;
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js
+var require_defaultHttpClient2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultHttpClient = createDefaultHttpClient;
+    var ts_http_runtime_1 = require_commonjs();
+    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
+    function createDefaultHttpClient() {
+      const client = (0, ts_http_runtime_1.createDefaultHttpClient)();
+      return {
+        async sendRequest(request2) {
+          const { abortSignal, cleanup } = request2.abortSignal ? (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal) : {};
+          try {
+            request2.abortSignal = abortSignal;
+            return await client.sendRequest(request2);
+          } finally {
+            cleanup?.();
           }
         }
-        strategyIsBlock() {
-          return this.storeOptions.strategy === 3;
-        }
-        async __submit__(queueLength, weight) {
-          var blocked, now, reachedHWM;
-          await this.yieldLoop();
-          if (this.storeOptions.maxConcurrent != null && weight > this.storeOptions.maxConcurrent) {
-            throw new BottleneckError$2(`Impossible to add a job having a weight of ${weight} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js
+var require_httpHeaders2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpHeaders = createHttpHeaders;
+    var ts_http_runtime_1 = require_commonjs();
+    function createHttpHeaders(rawHeaders) {
+      return (0, ts_http_runtime_1.createHttpHeaders)(rawHeaders);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js
+var require_pipelineRequest2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineRequest = createPipelineRequest;
+    var ts_http_runtime_1 = require_commonjs();
+    function createPipelineRequest(options) {
+      return (0, ts_http_runtime_1.createPipelineRequest)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js
+var require_exponentialRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.exponentialRetryPolicyName = void 0;
+    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.exponentialRetryPolicyName = policies_1.exponentialRetryPolicyName;
+    function exponentialRetryPolicy(options = {}) {
+      return (0, policies_1.exponentialRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js
+var require_systemErrorRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.systemErrorRetryPolicyName = void 0;
+    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.systemErrorRetryPolicyName = policies_1.systemErrorRetryPolicyName;
+    function systemErrorRetryPolicy(options = {}) {
+      return (0, policies_1.systemErrorRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js
+var require_throttlingRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.throttlingRetryPolicyName = void 0;
+    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.throttlingRetryPolicyName = policies_1.throttlingRetryPolicyName;
+    function throttlingRetryPolicy(options = {}) {
+      return (0, policies_1.throttlingRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js
+var require_retryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.retryPolicy = retryPolicy;
+    var logger_1 = require_commonjs2();
+    var constants_js_1 = require_constants14();
+    var policies_1 = require_internal2();
+    var retryPolicyLogger = (0, logger_1.createClientLogger)("core-rest-pipeline retryPolicy");
+    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
+      return (0, policies_1.retryPolicy)(strategies, {
+        logger: retryPolicyLogger,
+        ...options
+      });
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js
+var require_tokenCycler = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DEFAULT_CYCLER_OPTIONS = void 0;
+    exports2.createTokenCycler = createTokenCycler;
+    var core_util_1 = require_commonjs4();
+    exports2.DEFAULT_CYCLER_OPTIONS = {
+      forcedRefreshWindowInMs: 1e3,
+      // Force waiting for a refresh 1s before the token expires
+      retryIntervalInMs: 3e3,
+      // Allow refresh attempts every 3s
+      refreshWindowInMs: 1e3 * 60 * 2
+      // Start refreshing 2m before expiry
+    };
+    async function beginRefresh(getAccessToken, retryIntervalInMs, refreshTimeout) {
+      async function tryGetAccessToken() {
+        if (Date.now() < refreshTimeout) {
+          try {
+            return await getAccessToken();
+          } catch {
+            return null;
           }
-          now = Date.now();
-          reachedHWM = this.storeOptions.highWater != null && queueLength === this.storeOptions.highWater && !this.check(weight, now);
-          blocked = this.strategyIsBlock() && (reachedHWM || this.isBlocked(now));
-          if (blocked) {
-            this._unblockTime = now + this.computePenalty();
-            this._nextRequest = this._unblockTime + this.storeOptions.minTime;
-            this.instance._dropAllQueued();
+        } else {
+          const finalToken = await getAccessToken();
+          if (finalToken === null) {
+            throw new Error("Failed to refresh access token.");
           }
-          return {
-            reachedHWM,
-            blocked,
-            strategy: this.storeOptions.strategy
-          };
-        }
-        async __free__(index, weight) {
-          await this.yieldLoop();
-          this._running -= weight;
-          this._done += weight;
-          this.instance._drainAll(this.computeCapacity());
-          return {
-            running: this._running
-          };
+          return finalToken;
         }
+      }
+      let token = await tryGetAccessToken();
+      while (token === null) {
+        await (0, core_util_1.delay)(retryIntervalInMs);
+        token = await tryGetAccessToken();
+      }
+      return token;
+    }
+    function createTokenCycler(credential, tokenCyclerOptions) {
+      let refreshWorker = null;
+      let token = null;
+      let tenantId;
+      const options = {
+        ...exports2.DEFAULT_CYCLER_OPTIONS,
+        ...tokenCyclerOptions
       };
-      var LocalDatastore_1 = LocalDatastore;
-      var BottleneckError$3, States;
-      BottleneckError$3 = BottleneckError_1;
-      States = class States {
-        constructor(status1) {
-          this.status = status1;
-          this._jobs = {};
-          this.counts = this.status.map(function() {
-            return 0;
-          });
-        }
-        next(id) {
-          var current, next;
-          current = this._jobs[id];
-          next = current + 1;
-          if (current != null && next < this.status.length) {
-            this.counts[current]--;
-            this.counts[next]++;
-            return this._jobs[id]++;
-          } else if (current != null) {
-            this.counts[current]--;
-            return delete this._jobs[id];
-          }
-        }
-        start(id) {
-          var initial;
-          initial = 0;
-          this._jobs[id] = initial;
-          return this.counts[initial]++;
-        }
-        remove(id) {
-          var current;
-          current = this._jobs[id];
-          if (current != null) {
-            this.counts[current]--;
-            delete this._jobs[id];
+      const cycler = {
+        /**
+         * Produces true if a refresh job is currently in progress.
+         */
+        get isRefreshing() {
+          return refreshWorker !== null;
+        },
+        /**
+         * Produces true if the cycler SHOULD refresh (we are within the refresh
+         * window and not already refreshing)
+         */
+        get shouldRefresh() {
+          if (cycler.isRefreshing) {
+            return false;
           }
-          return current != null;
-        }
-        jobStatus(id) {
-          var ref;
-          return (ref = this.status[this._jobs[id]]) != null ? ref : null;
-        }
-        statusJobs(status) {
-          var k, pos, ref, results, v;
-          if (status != null) {
-            pos = this.status.indexOf(status);
-            if (pos < 0) {
-              throw new BottleneckError$3(`status must be one of ${this.status.join(", ")}`);
-            }
-            ref = this._jobs;
-            results = [];
-            for (k in ref) {
-              v = ref[k];
-              if (v === pos) {
-                results.push(k);
-              }
-            }
-            return results;
-          } else {
-            return Object.keys(this._jobs);
+          if (token?.refreshAfterTimestamp && token.refreshAfterTimestamp < Date.now()) {
+            return true;
           }
-        }
-        statusCounts() {
-          return this.counts.reduce(((acc, v, i) => {
-            acc[this.status[i]] = v;
-            return acc;
-          }), {});
+          return (token?.expiresOnTimestamp ?? 0) - options.refreshWindowInMs < Date.now();
+        },
+        /**
+         * Produces true if the cycler MUST refresh (null or nearly-expired
+         * token).
+         */
+        get mustRefresh() {
+          return token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now();
         }
       };
-      var States_1 = States;
-      var DLList$2, Sync;
-      DLList$2 = DLList_1;
-      Sync = class Sync {
-        constructor(name, Promise2) {
-          this.schedule = this.schedule.bind(this);
-          this.name = name;
-          this.Promise = Promise2;
-          this._running = 0;
-          this._queue = new DLList$2();
+      function refresh(scopes, getTokenOptions) {
+        if (!cycler.isRefreshing) {
+          const tryGetAccessToken = () => credential.getToken(scopes, getTokenOptions);
+          refreshWorker = beginRefresh(
+            tryGetAccessToken,
+            options.retryIntervalInMs,
+            // If we don't have a token, then we should timeout immediately
+            token?.expiresOnTimestamp ?? Date.now()
+          ).then((_token) => {
+            refreshWorker = null;
+            token = _token;
+            tenantId = getTokenOptions.tenantId;
+            return token;
+          }).catch((reason) => {
+            refreshWorker = null;
+            token = null;
+            tenantId = void 0;
+            throw reason;
+          });
         }
-        isEmpty() {
-          return this._queue.length === 0;
+        return refreshWorker;
+      }
+      return async (scopes, tokenOptions) => {
+        const hasClaimChallenge = Boolean(tokenOptions.claims);
+        const tenantIdChanged = tenantId !== tokenOptions.tenantId;
+        if (hasClaimChallenge) {
+          token = null;
         }
-        async _tryToRun() {
-          var args, cb, error3, reject, resolve3, returned, task;
-          if (this._running < 1 && this._queue.length > 0) {
-            this._running++;
-            ({ task, args, resolve: resolve3, reject } = this._queue.shift());
-            cb = await (async function() {
-              try {
-                returned = await task(...args);
-                return function() {
-                  return resolve3(returned);
-                };
-              } catch (error1) {
-                error3 = error1;
-                return function() {
-                  return reject(error3);
-                };
-              }
-            })();
-            this._running--;
-            this._tryToRun();
-            return cb();
-          }
+        const mustRefresh = tenantIdChanged || hasClaimChallenge || cycler.mustRefresh;
+        if (mustRefresh) {
+          return refresh(scopes, tokenOptions);
         }
-        schedule(task, ...args) {
-          var promise, reject, resolve3;
-          resolve3 = reject = null;
-          promise = new this.Promise(function(_resolve, _reject) {
-            resolve3 = _resolve;
-            return reject = _reject;
-          });
-          this._queue.push({ task, args, resolve: resolve3, reject });
-          this._tryToRun();
-          return promise;
+        if (cycler.shouldRefresh) {
+          refresh(scopes, tokenOptions);
         }
+        return token;
       };
-      var Sync_1 = Sync;
-      var version = "2.19.5";
-      var version$1 = {
-        version
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js
+var require_bearerTokenAuthenticationPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.bearerTokenAuthenticationPolicyName = void 0;
+    exports2.bearerTokenAuthenticationPolicy = bearerTokenAuthenticationPolicy;
+    exports2.parseChallenges = parseChallenges;
+    var tokenCycler_js_1 = require_tokenCycler();
+    var log_js_1 = require_log3();
+    var restError_js_1 = require_restError3();
+    exports2.bearerTokenAuthenticationPolicyName = "bearerTokenAuthenticationPolicy";
+    async function trySendRequest(request2, next) {
+      try {
+        return [await next(request2), void 0];
+      } catch (e) {
+        if ((0, restError_js_1.isRestError)(e) && e.response) {
+          return [e.response, e];
+        } else {
+          throw e;
+        }
+      }
+    }
+    async function defaultAuthorizeRequest(options) {
+      const { scopes, getAccessToken, request: request2 } = options;
+      const getTokenOptions = {
+        abortSignal: request2.abortSignal,
+        tracingOptions: request2.tracingOptions,
+        enableCae: true
       };
-      var version$2 = /* @__PURE__ */ Object.freeze({
-        version,
-        default: version$1
+      const accessToken = await getAccessToken(scopes, getTokenOptions);
+      if (accessToken) {
+        options.request.headers.set("Authorization", `Bearer ${accessToken.token}`);
+      }
+    }
+    function isChallengeResponse(response) {
+      return response.status === 401 && response.headers.has("WWW-Authenticate");
+    }
+    async function authorizeRequestOnCaeChallenge(onChallengeOptions, caeClaims) {
+      const { scopes } = onChallengeOptions;
+      const accessToken = await onChallengeOptions.getAccessToken(scopes, {
+        enableCae: true,
+        claims: caeClaims
       });
-      var require$$2 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var require$$3 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var require$$4 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var Events$2, Group, IORedisConnection$1, RedisConnection$1, Scripts$1, parser$3;
-      parser$3 = parser;
-      Events$2 = Events_1;
-      RedisConnection$1 = require$$2;
-      IORedisConnection$1 = require$$3;
-      Scripts$1 = require$$4;
-      Group = (function() {
-        class Group2 {
-          constructor(limiterOptions = {}) {
-            this.deleteKey = this.deleteKey.bind(this);
-            this.limiterOptions = limiterOptions;
-            parser$3.load(this.limiterOptions, this.defaults, this);
-            this.Events = new Events$2(this);
-            this.instances = {};
-            this.Bottleneck = Bottleneck_1;
-            this._startAutoCleanup();
-            this.sharedConnection = this.connection != null;
-            if (this.connection == null) {
-              if (this.limiterOptions.datastore === "redis") {
-                this.connection = new RedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
-              } else if (this.limiterOptions.datastore === "ioredis") {
-                this.connection = new IORedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
-              }
-            }
-          }
-          key(key = "") {
-            var ref;
-            return (ref = this.instances[key]) != null ? ref : (() => {
-              var limiter;
-              limiter = this.instances[key] = new this.Bottleneck(Object.assign(this.limiterOptions, {
-                id: `${this.id}-${key}`,
-                timeout: this.timeout,
-                connection: this.connection
-              }));
-              this.Events.trigger("created", limiter, key);
-              return limiter;
-            })();
-          }
-          async deleteKey(key = "") {
-            var deleted, instance;
-            instance = this.instances[key];
-            if (this.connection) {
-              deleted = await this.connection.__runCommand__(["del", ...Scripts$1.allKeys(`${this.id}-${key}`)]);
-            }
-            if (instance != null) {
-              delete this.instances[key];
-              await instance.disconnect();
-            }
-            return instance != null || deleted > 0;
-          }
-          limiters() {
-            var k, ref, results, v;
-            ref = this.instances;
-            results = [];
-            for (k in ref) {
-              v = ref[k];
-              results.push({
-                key: k,
-                limiter: v
-              });
-            }
-            return results;
-          }
-          keys() {
-            return Object.keys(this.instances);
-          }
-          async clusterKeys() {
-            var cursor, end, found, i, k, keys, len, next, start;
-            if (this.connection == null) {
-              return this.Promise.resolve(this.keys());
-            }
-            keys = [];
-            cursor = null;
-            start = `b_${this.id}-`.length;
-            end = "_settings".length;
-            while (cursor !== 0) {
-              [next, found] = await this.connection.__runCommand__(["scan", cursor != null ? cursor : 0, "match", `b_${this.id}-*_settings`, "count", 1e4]);
-              cursor = ~~next;
-              for (i = 0, len = found.length; i < len; i++) {
-                k = found[i];
-                keys.push(k.slice(start, -end));
-              }
-            }
-            return keys;
-          }
-          _startAutoCleanup() {
-            var base;
-            clearInterval(this.interval);
-            return typeof (base = this.interval = setInterval(async () => {
-              var e, k, ref, results, time, v;
-              time = Date.now();
-              ref = this.instances;
-              results = [];
-              for (k in ref) {
-                v = ref[k];
-                try {
-                  if (await v._store.__groupCheck__(time)) {
-                    results.push(this.deleteKey(k));
-                  } else {
-                    results.push(void 0);
-                  }
-                } catch (error3) {
-                  e = error3;
-                  results.push(v.Events.trigger("error", e));
-                }
-              }
-              return results;
-            }, this.timeout / 2)).unref === "function" ? base.unref() : void 0;
-          }
-          updateSettings(options = {}) {
-            parser$3.overwrite(options, this.defaults, this);
-            parser$3.overwrite(options, options, this.limiterOptions);
-            if (options.timeout != null) {
-              return this._startAutoCleanup();
-            }
-          }
-          disconnect(flush = true) {
-            var ref;
-            if (!this.sharedConnection) {
-              return (ref = this.connection) != null ? ref.disconnect(flush) : void 0;
-            }
-          }
-        }
-        Group2.prototype.defaults = {
-          timeout: 1e3 * 60 * 5,
-          connection: null,
-          Promise,
-          id: "group-key"
-        };
-        return Group2;
-      }).call(commonjsGlobal);
-      var Group_1 = Group;
-      var Batcher, Events$3, parser$4;
-      parser$4 = parser;
-      Events$3 = Events_1;
-      Batcher = (function() {
-        class Batcher2 {
-          constructor(options = {}) {
-            this.options = options;
-            parser$4.load(this.options, this.defaults, this);
-            this.Events = new Events$3(this);
-            this._arr = [];
-            this._resetPromise();
-            this._lastFlush = Date.now();
-          }
-          _resetPromise() {
-            return this._promise = new this.Promise((res, rej) => {
-              return this._resolve = res;
-            });
-          }
-          _flush() {
-            clearTimeout(this._timeout);
-            this._lastFlush = Date.now();
-            this._resolve();
-            this.Events.trigger("batch", this._arr);
-            this._arr = [];
-            return this._resetPromise();
-          }
-          add(data) {
-            var ret;
-            this._arr.push(data);
-            ret = this._promise;
-            if (this._arr.length === this.maxSize) {
-              this._flush();
-            } else if (this.maxTime != null && this._arr.length === 1) {
-              this._timeout = setTimeout(() => {
-                return this._flush();
-              }, this.maxTime);
-            }
-            return ret;
-          }
-        }
-        Batcher2.prototype.defaults = {
-          maxTime: null,
-          maxSize: null,
-          Promise
-        };
-        return Batcher2;
-      }).call(commonjsGlobal);
-      var Batcher_1 = Batcher;
-      var require$$4$1 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var require$$8 = getCjsExportFromNamespace(version$2);
-      var Bottleneck2, DEFAULT_PRIORITY$1, Events$4, Job$1, LocalDatastore$1, NUM_PRIORITIES$1, Queues$1, RedisDatastore$1, States$1, Sync$1, parser$5, splice = [].splice;
-      NUM_PRIORITIES$1 = 10;
-      DEFAULT_PRIORITY$1 = 5;
-      parser$5 = parser;
-      Queues$1 = Queues_1;
-      Job$1 = Job_1;
-      LocalDatastore$1 = LocalDatastore_1;
-      RedisDatastore$1 = require$$4$1;
-      Events$4 = Events_1;
-      States$1 = States_1;
-      Sync$1 = Sync_1;
-      Bottleneck2 = (function() {
-        class Bottleneck3 {
-          constructor(options = {}, ...invalid) {
-            var storeInstanceOptions, storeOptions;
-            this._addToQueue = this._addToQueue.bind(this);
-            this._validateOptions(options, invalid);
-            parser$5.load(options, this.instanceDefaults, this);
-            this._queues = new Queues$1(NUM_PRIORITIES$1);
-            this._scheduled = {};
-            this._states = new States$1(["RECEIVED", "QUEUED", "RUNNING", "EXECUTING"].concat(this.trackDoneStatus ? ["DONE"] : []));
-            this._limiter = null;
-            this.Events = new Events$4(this);
-            this._submitLock = new Sync$1("submit", this.Promise);
-            this._registerLock = new Sync$1("register", this.Promise);
-            storeOptions = parser$5.load(options, this.storeDefaults, {});
-            this._store = (function() {
-              if (this.datastore === "redis" || this.datastore === "ioredis" || this.connection != null) {
-                storeInstanceOptions = parser$5.load(options, this.redisStoreDefaults, {});
-                return new RedisDatastore$1(this, storeOptions, storeInstanceOptions);
-              } else if (this.datastore === "local") {
-                storeInstanceOptions = parser$5.load(options, this.localStoreDefaults, {});
-                return new LocalDatastore$1(this, storeOptions, storeInstanceOptions);
-              } else {
-                throw new Bottleneck3.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`);
-              }
-            }).call(this);
-            this._queues.on("leftzero", () => {
-              var ref;
-              return (ref = this._store.heartbeat) != null ? typeof ref.ref === "function" ? ref.ref() : void 0 : void 0;
-            });
-            this._queues.on("zero", () => {
-              var ref;
-              return (ref = this._store.heartbeat) != null ? typeof ref.unref === "function" ? ref.unref() : void 0 : void 0;
-            });
-          }
-          _validateOptions(options, invalid) {
-            if (!(options != null && typeof options === "object" && invalid.length === 0)) {
-              throw new Bottleneck3.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.");
-            }
-          }
-          ready() {
-            return this._store.ready;
-          }
-          clients() {
-            return this._store.clients;
-          }
-          channel() {
-            return `b_${this.id}`;
-          }
-          channel_client() {
-            return `b_${this.id}_${this._store.clientId}`;
-          }
-          publish(message) {
-            return this._store.__publish__(message);
-          }
-          disconnect(flush = true) {
-            return this._store.__disconnect__(flush);
-          }
-          chain(_limiter) {
-            this._limiter = _limiter;
-            return this;
-          }
-          queued(priority) {
-            return this._queues.queued(priority);
-          }
-          clusterQueued() {
-            return this._store.__queued__();
-          }
-          empty() {
-            return this.queued() === 0 && this._submitLock.isEmpty();
-          }
-          running() {
-            return this._store.__running__();
-          }
-          done() {
-            return this._store.__done__();
-          }
-          jobStatus(id) {
-            return this._states.jobStatus(id);
-          }
-          jobs(status) {
-            return this._states.statusJobs(status);
-          }
-          counts() {
-            return this._states.statusCounts();
-          }
-          _randomIndex() {
-            return Math.random().toString(36).slice(2);
-          }
-          check(weight = 1) {
-            return this._store.__check__(weight);
-          }
-          _clearGlobalState(index) {
-            if (this._scheduled[index] != null) {
-              clearTimeout(this._scheduled[index].expiration);
-              delete this._scheduled[index];
-              return true;
-            } else {
-              return false;
-            }
-          }
-          async _free(index, job, options, eventInfo) {
-            var e, running;
-            try {
-              ({ running } = await this._store.__free__(index, options.weight));
-              this.Events.trigger("debug", `Freed ${options.id}`, eventInfo);
-              if (running === 0 && this.empty()) {
-                return this.Events.trigger("idle");
-              }
-            } catch (error1) {
-              e = error1;
-              return this.Events.trigger("error", e);
-            }
-          }
-          _run(index, job, wait) {
-            var clearGlobalState, free, run;
-            job.doRun();
-            clearGlobalState = this._clearGlobalState.bind(this, index);
-            run = this._run.bind(this, index, job);
-            free = this._free.bind(this, index, job);
-            return this._scheduled[index] = {
-              timeout: setTimeout(() => {
-                return job.doExecute(this._limiter, clearGlobalState, run, free);
-              }, wait),
-              expiration: job.options.expiration != null ? setTimeout(function() {
-                return job.doExpire(clearGlobalState, run, free);
-              }, wait + job.options.expiration) : void 0,
-              job
-            };
+      if (!accessToken) {
+        return false;
+      }
+      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
+      return true;
+    }
+    function bearerTokenAuthenticationPolicy(options) {
+      const { credential, scopes, challengeCallbacks } = options;
+      const logger = options.logger || log_js_1.logger;
+      const callbacks = {
+        authorizeRequest: challengeCallbacks?.authorizeRequest?.bind(challengeCallbacks) ?? defaultAuthorizeRequest,
+        authorizeRequestOnChallenge: challengeCallbacks?.authorizeRequestOnChallenge?.bind(challengeCallbacks)
+      };
+      const getAccessToken = credential ? (0, tokenCycler_js_1.createTokenCycler)(
+        credential
+        /* , options */
+      ) : () => Promise.resolve(null);
+      return {
+        name: exports2.bearerTokenAuthenticationPolicyName,
+        /**
+         * If there's no challenge parameter:
+         * - It will try to retrieve the token using the cache, or the credential's getToken.
+         * - Then it will try the next policy with or without the retrieved token.
+         *
+         * It uses the challenge parameters to:
+         * - Skip a first attempt to get the token from the credential if there's no cached token,
+         *   since it expects the token to be retrievable only after the challenge.
+         * - Prepare the outgoing request if the `prepareRequest` method has been provided.
+         * - Send an initial request to receive the challenge if it fails.
+         * - Process a challenge if the response contains it.
+         * - Retrieve a token with the challenge information, then re-send the request.
+         */
+        async sendRequest(request2, next) {
+          if (!request2.url.toLowerCase().startsWith("https://")) {
+            throw new Error("Bearer token authentication is not permitted for non-TLS protected (non-https) URLs.");
           }
-          _drainOne(capacity) {
-            return this._registerLock.schedule(() => {
-              var args, index, next, options, queue;
-              if (this.queued() === 0) {
-                return this.Promise.resolve(null);
+          await callbacks.authorizeRequest({
+            scopes: Array.isArray(scopes) ? scopes : [scopes],
+            request: request2,
+            getAccessToken,
+            logger
+          });
+          let response;
+          let error3;
+          let shouldSendRequest;
+          [response, error3] = await trySendRequest(request2, next);
+          if (isChallengeResponse(response)) {
+            let claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
+            if (claims) {
+              let parsedClaim;
+              try {
+                parsedClaim = atob(claims);
+              } catch (e) {
+                logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
+                return response;
               }
-              queue = this._queues.getFirst();
-              ({ options, args } = next = queue.first());
-              if (capacity != null && options.weight > capacity) {
-                return this.Promise.resolve(null);
+              shouldSendRequest = await authorizeRequestOnCaeChallenge({
+                scopes: Array.isArray(scopes) ? scopes : [scopes],
+                response,
+                request: request2,
+                getAccessToken,
+                logger
+              }, parsedClaim);
+              if (shouldSendRequest) {
+                [response, error3] = await trySendRequest(request2, next);
               }
-              this.Events.trigger("debug", `Draining ${options.id}`, { args, options });
-              index = this._randomIndex();
-              return this._store.__register__(index, options.weight, options.expiration).then(({ success, wait, reservoir }) => {
-                var empty;
-                this.Events.trigger("debug", `Drained ${options.id}`, { success, args, options });
-                if (success) {
-                  queue.shift();
-                  empty = this.empty();
-                  if (empty) {
-                    this.Events.trigger("empty");
-                  }
-                  if (reservoir === 0) {
-                    this.Events.trigger("depleted", empty);
-                  }
-                  this._run(index, next, wait);
-                  return this.Promise.resolve(options.weight);
-                } else {
-                  return this.Promise.resolve(null);
-                }
+            } else if (callbacks.authorizeRequestOnChallenge) {
+              shouldSendRequest = await callbacks.authorizeRequestOnChallenge({
+                scopes: Array.isArray(scopes) ? scopes : [scopes],
+                request: request2,
+                response,
+                getAccessToken,
+                logger
               });
-            });
-          }
-          _drainAll(capacity, total = 0) {
-            return this._drainOne(capacity).then((drained) => {
-              var newCapacity;
-              if (drained != null) {
-                newCapacity = capacity != null ? capacity - drained : capacity;
-                return this._drainAll(newCapacity, total + drained);
-              } else {
-                return this.Promise.resolve(total);
+              if (shouldSendRequest) {
+                [response, error3] = await trySendRequest(request2, next);
               }
-            }).catch((e) => {
-              return this.Events.trigger("error", e);
-            });
-          }
-          _dropAllQueued(message) {
-            return this._queues.shiftAll(function(job) {
-              return job.doDrop({ message });
-            });
-          }
-          stop(options = {}) {
-            var done, waitForExecuting;
-            options = parser$5.load(options, this.stopDefaults);
-            waitForExecuting = (at) => {
-              var finished;
-              finished = () => {
-                var counts;
-                counts = this._states.counts;
-                return counts[0] + counts[1] + counts[2] + counts[3] === at;
-              };
-              return new this.Promise((resolve3, reject) => {
-                if (finished()) {
-                  return resolve3();
-                } else {
-                  return this.on("done", () => {
-                    if (finished()) {
-                      this.removeAllListeners("done");
-                      return resolve3();
-                    }
-                  });
-                }
-              });
-            };
-            done = options.dropWaitingJobs ? (this._run = function(index, next) {
-              return next.doDrop({
-                message: options.dropErrorMessage
-              });
-            }, this._drainOne = () => {
-              return this.Promise.resolve(null);
-            }, this._registerLock.schedule(() => {
-              return this._submitLock.schedule(() => {
-                var k, ref, v;
-                ref = this._scheduled;
-                for (k in ref) {
-                  v = ref[k];
-                  if (this.jobStatus(v.job.options.id) === "RUNNING") {
-                    clearTimeout(v.timeout);
-                    clearTimeout(v.expiration);
-                    v.job.doDrop({
-                      message: options.dropErrorMessage
-                    });
+              if (isChallengeResponse(response)) {
+                claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
+                if (claims) {
+                  let parsedClaim;
+                  try {
+                    parsedClaim = atob(claims);
+                  } catch (e) {
+                    logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
+                    return response;
+                  }
+                  shouldSendRequest = await authorizeRequestOnCaeChallenge({
+                    scopes: Array.isArray(scopes) ? scopes : [scopes],
+                    response,
+                    request: request2,
+                    getAccessToken,
+                    logger
+                  }, parsedClaim);
+                  if (shouldSendRequest) {
+                    [response, error3] = await trySendRequest(request2, next);
                   }
                 }
-                this._dropAllQueued(options.dropErrorMessage);
-                return waitForExecuting(0);
-              });
-            })) : this.schedule({
-              priority: NUM_PRIORITIES$1 - 1,
-              weight: 0
-            }, () => {
-              return waitForExecuting(1);
-            });
-            this._receive = function(job) {
-              return job._reject(new Bottleneck3.prototype.BottleneckError(options.enqueueErrorMessage));
-            };
-            this.stop = () => {
-              return this.Promise.reject(new Bottleneck3.prototype.BottleneckError("stop() has already been called"));
-            };
-            return done;
-          }
-          async _addToQueue(job) {
-            var args, blocked, error3, options, reachedHWM, shifted, strategy;
-            ({ args, options } = job);
-            try {
-              ({ reachedHWM, blocked, strategy } = await this._store.__submit__(this.queued(), options.weight));
-            } catch (error1) {
-              error3 = error1;
-              this.Events.trigger("debug", `Could not queue ${options.id}`, { args, options, error: error3 });
-              job.doDrop({ error: error3 });
-              return false;
-            }
-            if (blocked) {
-              job.doDrop();
-              return true;
-            } else if (reachedHWM) {
-              shifted = strategy === Bottleneck3.prototype.strategy.LEAK ? this._queues.shiftLastFrom(options.priority) : strategy === Bottleneck3.prototype.strategy.OVERFLOW_PRIORITY ? this._queues.shiftLastFrom(options.priority + 1) : strategy === Bottleneck3.prototype.strategy.OVERFLOW ? job : void 0;
-              if (shifted != null) {
-                shifted.doDrop();
-              }
-              if (shifted == null || strategy === Bottleneck3.prototype.strategy.OVERFLOW) {
-                if (shifted == null) {
-                  job.doDrop();
-                }
-                return reachedHWM;
               }
             }
-            job.doQueue(reachedHWM, blocked);
-            this._queues.push(job);
-            await this._drainAll();
-            return reachedHWM;
-          }
-          _receive(job) {
-            if (this._states.jobStatus(job.options.id) != null) {
-              job._reject(new Bottleneck3.prototype.BottleneckError(`A job with the same id already exists (id=${job.options.id})`));
-              return false;
-            } else {
-              job.doReceive();
-              return this._submitLock.schedule(this._addToQueue, job);
-            }
           }
-          submit(...args) {
-            var cb, fn, job, options, ref, ref1, task;
-            if (typeof args[0] === "function") {
-              ref = args, [fn, ...args] = ref, [cb] = splice.call(args, -1);
-              options = parser$5.load({}, this.jobDefaults);
-            } else {
-              ref1 = args, [options, fn, ...args] = ref1, [cb] = splice.call(args, -1);
-              options = parser$5.load(options, this.jobDefaults);
-            }
-            task = (...args2) => {
-              return new this.Promise(function(resolve3, reject) {
-                return fn(...args2, function(...args3) {
-                  return (args3[0] != null ? reject : resolve3)(args3);
-                });
-              });
-            };
-            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
-            job.promise.then(function(args2) {
-              return typeof cb === "function" ? cb(...args2) : void 0;
-            }).catch(function(args2) {
-              if (Array.isArray(args2)) {
-                return typeof cb === "function" ? cb(...args2) : void 0;
-              } else {
-                return typeof cb === "function" ? cb(args2) : void 0;
-              }
-            });
-            return this._receive(job);
+          if (error3) {
+            throw error3;
+          } else {
+            return response;
           }
-          schedule(...args) {
-            var job, options, task;
-            if (typeof args[0] === "function") {
-              [task, ...args] = args;
-              options = {};
-            } else {
-              [options, task, ...args] = args;
+        }
+      };
+    }
+    function parseChallenges(challenges) {
+      const challengeRegex = /(\w+)\s+((?:\w+=(?:"[^"]*"|[^,]*),?\s*)+)/g;
+      const paramRegex = /(\w+)="([^"]*)"/g;
+      const parsedChallenges = [];
+      let match;
+      while ((match = challengeRegex.exec(challenges)) !== null) {
+        const scheme = match[1];
+        const paramsString = match[2];
+        const params = {};
+        let paramMatch;
+        while ((paramMatch = paramRegex.exec(paramsString)) !== null) {
+          params[paramMatch[1]] = paramMatch[2];
+        }
+        parsedChallenges.push({ scheme, params });
+      }
+      return parsedChallenges;
+    }
+    function getCaeChallengeClaims(challenges) {
+      if (!challenges) {
+        return;
+      }
+      const parsedChallenges = parseChallenges(challenges);
+      return parsedChallenges.find((x) => x.scheme === "Bearer" && x.params.claims && x.params.error === "insufficient_claims")?.params.claims;
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js
+var require_ndJsonPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ndJsonPolicyName = void 0;
+    exports2.ndJsonPolicy = ndJsonPolicy;
+    exports2.ndJsonPolicyName = "ndJsonPolicy";
+    function ndJsonPolicy() {
+      return {
+        name: exports2.ndJsonPolicyName,
+        async sendRequest(request2, next) {
+          if (typeof request2.body === "string" && request2.body.startsWith("[")) {
+            const body = JSON.parse(request2.body);
+            if (Array.isArray(body)) {
+              request2.body = body.map((item) => JSON.stringify(item) + "\n").join("");
             }
-            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
-            this._receive(job);
-            return job.promise;
           }
-          wrap(fn) {
-            var schedule, wrapped;
-            schedule = this.schedule.bind(this);
-            wrapped = function(...args) {
-              return schedule(fn.bind(this), ...args);
-            };
-            wrapped.withOptions = function(options, ...args) {
-              return schedule(options, fn, ...args);
-            };
-            return wrapped;
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js
+var require_auxiliaryAuthenticationHeaderPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.auxiliaryAuthenticationHeaderPolicyName = void 0;
+    exports2.auxiliaryAuthenticationHeaderPolicy = auxiliaryAuthenticationHeaderPolicy;
+    var tokenCycler_js_1 = require_tokenCycler();
+    var log_js_1 = require_log3();
+    exports2.auxiliaryAuthenticationHeaderPolicyName = "auxiliaryAuthenticationHeaderPolicy";
+    var AUTHORIZATION_AUXILIARY_HEADER = "x-ms-authorization-auxiliary";
+    async function sendAuthorizeRequest(options) {
+      const { scopes, getAccessToken, request: request2 } = options;
+      const getTokenOptions = {
+        abortSignal: request2.abortSignal,
+        tracingOptions: request2.tracingOptions
+      };
+      return (await getAccessToken(scopes, getTokenOptions))?.token ?? "";
+    }
+    function auxiliaryAuthenticationHeaderPolicy(options) {
+      const { credentials, scopes } = options;
+      const logger = options.logger || log_js_1.logger;
+      const tokenCyclerMap = /* @__PURE__ */ new WeakMap();
+      return {
+        name: exports2.auxiliaryAuthenticationHeaderPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.url.toLowerCase().startsWith("https://")) {
+            throw new Error("Bearer token authentication for auxiliary header is not permitted for non-TLS protected (non-https) URLs.");
           }
-          async updateSettings(options = {}) {
-            await this._store.__updateSettings__(parser$5.overwrite(options, this.storeDefaults));
-            parser$5.overwrite(options, this.instanceDefaults, this);
-            return this;
+          if (!credentials || credentials.length === 0) {
+            logger.info(`${exports2.auxiliaryAuthenticationHeaderPolicyName} header will not be set due to empty credentials.`);
+            return next(request2);
           }
-          currentReservoir() {
-            return this._store.__currentReservoir__();
+          const tokenPromises = [];
+          for (const credential of credentials) {
+            let getAccessToken = tokenCyclerMap.get(credential);
+            if (!getAccessToken) {
+              getAccessToken = (0, tokenCycler_js_1.createTokenCycler)(credential);
+              tokenCyclerMap.set(credential, getAccessToken);
+            }
+            tokenPromises.push(sendAuthorizeRequest({
+              scopes: Array.isArray(scopes) ? scopes : [scopes],
+              request: request2,
+              getAccessToken,
+              logger
+            }));
           }
-          incrementReservoir(incr = 0) {
-            return this._store.__incrementReservoir__(incr);
+          const auxiliaryTokens = (await Promise.all(tokenPromises)).filter((token) => Boolean(token));
+          if (auxiliaryTokens.length === 0) {
+            logger.warning(`None of the auxiliary tokens are valid. ${AUTHORIZATION_AUXILIARY_HEADER} header will not be set.`);
+            return next(request2);
           }
+          request2.headers.set(AUTHORIZATION_AUXILIARY_HEADER, auxiliaryTokens.map((token) => `Bearer ${token}`).join(", "));
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js
+var require_commonjs6 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createFileFromStream = exports2.createFile = exports2.agentPolicyName = exports2.agentPolicy = exports2.auxiliaryAuthenticationHeaderPolicyName = exports2.auxiliaryAuthenticationHeaderPolicy = exports2.ndJsonPolicyName = exports2.ndJsonPolicy = exports2.bearerTokenAuthenticationPolicyName = exports2.bearerTokenAuthenticationPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.defaultRetryPolicy = exports2.tracingPolicyName = exports2.tracingPolicy = exports2.retryPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.setClientRequestIdPolicyName = exports2.setClientRequestIdPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.isRestError = exports2.RestError = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.createDefaultHttpClient = exports2.createPipelineFromOptions = exports2.createEmptyPipeline = void 0;
+    var pipeline_js_1 = require_pipeline2();
+    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
+      return pipeline_js_1.createEmptyPipeline;
+    } });
+    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions2();
+    Object.defineProperty(exports2, "createPipelineFromOptions", { enumerable: true, get: function() {
+      return createPipelineFromOptions_js_1.createPipelineFromOptions;
+    } });
+    var defaultHttpClient_js_1 = require_defaultHttpClient2();
+    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
+      return defaultHttpClient_js_1.createDefaultHttpClient;
+    } });
+    var httpHeaders_js_1 = require_httpHeaders2();
+    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
+      return httpHeaders_js_1.createHttpHeaders;
+    } });
+    var pipelineRequest_js_1 = require_pipelineRequest2();
+    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
+      return pipelineRequest_js_1.createPipelineRequest;
+    } });
+    var restError_js_1 = require_restError3();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return restError_js_1.RestError;
+    } });
+    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
+      return restError_js_1.isRestError;
+    } });
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
+    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicy;
+    } });
+    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
+    } });
+    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy2();
+    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
+    } });
+    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
+    Object.defineProperty(exports2, "setClientRequestIdPolicy", { enumerable: true, get: function() {
+      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicy;
+    } });
+    Object.defineProperty(exports2, "setClientRequestIdPolicyName", { enumerable: true, get: function() {
+      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicyName;
+    } });
+    var logPolicy_js_1 = require_logPolicy2();
+    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicy;
+    } });
+    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicyName;
+    } });
+    var multipartPolicy_js_1 = require_multipartPolicy2();
+    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicy;
+    } });
+    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicyName;
+    } });
+    var proxyPolicy_js_1 = require_proxyPolicy2();
+    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicy;
+    } });
+    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicyName;
+    } });
+    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.getDefaultProxySettings;
+    } });
+    var redirectPolicy_js_1 = require_redirectPolicy2();
+    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicy;
+    } });
+    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicyName;
+    } });
+    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy2();
+    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
+    } });
+    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy2();
+    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
+    } });
+    var retryPolicy_js_1 = require_retryPolicy2();
+    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
+      return retryPolicy_js_1.retryPolicy;
+    } });
+    var tracingPolicy_js_1 = require_tracingPolicy();
+    Object.defineProperty(exports2, "tracingPolicy", { enumerable: true, get: function() {
+      return tracingPolicy_js_1.tracingPolicy;
+    } });
+    Object.defineProperty(exports2, "tracingPolicyName", { enumerable: true, get: function() {
+      return tracingPolicy_js_1.tracingPolicyName;
+    } });
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
+    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
+      return defaultRetryPolicy_js_1.defaultRetryPolicy;
+    } });
+    var userAgentPolicy_js_1 = require_userAgentPolicy2();
+    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicy;
+    } });
+    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicyName;
+    } });
+    var tlsPolicy_js_1 = require_tlsPolicy2();
+    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicy;
+    } });
+    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicyName;
+    } });
+    var formDataPolicy_js_1 = require_formDataPolicy2();
+    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicy;
+    } });
+    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicyName;
+    } });
+    var bearerTokenAuthenticationPolicy_js_1 = require_bearerTokenAuthenticationPolicy();
+    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicy", { enumerable: true, get: function() {
+      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicy;
+    } });
+    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicyName", { enumerable: true, get: function() {
+      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicyName;
+    } });
+    var ndJsonPolicy_js_1 = require_ndJsonPolicy();
+    Object.defineProperty(exports2, "ndJsonPolicy", { enumerable: true, get: function() {
+      return ndJsonPolicy_js_1.ndJsonPolicy;
+    } });
+    Object.defineProperty(exports2, "ndJsonPolicyName", { enumerable: true, get: function() {
+      return ndJsonPolicy_js_1.ndJsonPolicyName;
+    } });
+    var auxiliaryAuthenticationHeaderPolicy_js_1 = require_auxiliaryAuthenticationHeaderPolicy();
+    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicy", { enumerable: true, get: function() {
+      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicy;
+    } });
+    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicyName", { enumerable: true, get: function() {
+      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicyName;
+    } });
+    var agentPolicy_js_1 = require_agentPolicy2();
+    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicy;
+    } });
+    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicyName;
+    } });
+    var file_js_1 = require_file3();
+    Object.defineProperty(exports2, "createFile", { enumerable: true, get: function() {
+      return file_js_1.createFile;
+    } });
+    Object.defineProperty(exports2, "createFileFromStream", { enumerable: true, get: function() {
+      return file_js_1.createFileFromStream;
+    } });
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js
+var require_azureKeyCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureKeyCredential = void 0;
+    var AzureKeyCredential = class {
+      _key;
+      /**
+       * The value of the key to be used in authentication
+       */
+      get key() {
+        return this._key;
+      }
+      /**
+       * Create an instance of an AzureKeyCredential for use
+       * with a service client.
+       *
+       * @param key - The initial value of the key to use in authentication
+       */
+      constructor(key) {
+        if (!key) {
+          throw new Error("key must be a non-empty string");
         }
-        Bottleneck3.default = Bottleneck3;
-        Bottleneck3.Events = Events$4;
-        Bottleneck3.version = Bottleneck3.prototype.version = require$$8.version;
-        Bottleneck3.strategy = Bottleneck3.prototype.strategy = {
-          LEAK: 1,
-          OVERFLOW: 2,
-          OVERFLOW_PRIORITY: 4,
-          BLOCK: 3
-        };
-        Bottleneck3.BottleneckError = Bottleneck3.prototype.BottleneckError = BottleneckError_1;
-        Bottleneck3.Group = Bottleneck3.prototype.Group = Group_1;
-        Bottleneck3.RedisConnection = Bottleneck3.prototype.RedisConnection = require$$2;
-        Bottleneck3.IORedisConnection = Bottleneck3.prototype.IORedisConnection = require$$3;
-        Bottleneck3.Batcher = Bottleneck3.prototype.Batcher = Batcher_1;
-        Bottleneck3.prototype.jobDefaults = {
-          priority: DEFAULT_PRIORITY$1,
-          weight: 1,
-          expiration: null,
-          id: ""
-        };
-        Bottleneck3.prototype.storeDefaults = {
-          maxConcurrent: null,
-          minTime: 0,
-          highWater: null,
-          strategy: Bottleneck3.prototype.strategy.LEAK,
-          penalty: null,
-          reservoir: null,
-          reservoirRefreshInterval: null,
-          reservoirRefreshAmount: null,
-          reservoirIncreaseInterval: null,
-          reservoirIncreaseAmount: null,
-          reservoirIncreaseMaximum: null
-        };
-        Bottleneck3.prototype.localStoreDefaults = {
-          Promise,
-          timeout: null,
-          heartbeatInterval: 250
-        };
-        Bottleneck3.prototype.redisStoreDefaults = {
-          Promise,
-          timeout: null,
-          heartbeatInterval: 5e3,
-          clientTimeout: 1e4,
-          Redis: null,
-          clientOptions: {},
-          clusterNodes: null,
-          clearDatastore: false,
-          connection: null
-        };
-        Bottleneck3.prototype.instanceDefaults = {
-          datastore: "local",
-          connection: null,
-          id: "",
-          rejectOnDrop: true,
-          trackDoneStatus: false,
-          Promise
-        };
-        Bottleneck3.prototype.stopDefaults = {
-          enqueueErrorMessage: "This limiter has been stopped and cannot accept new jobs.",
-          dropWaitingJobs: true,
-          dropErrorMessage: "This limiter has been stopped."
-        };
-        return Bottleneck3;
-      }).call(commonjsGlobal);
-      var Bottleneck_1 = Bottleneck2;
-      var lib = Bottleneck_1;
-      return lib;
-    }));
+        this._key = key;
+      }
+      /**
+       * Change the value of the key.
+       *
+       * Updates will take effect upon the next request after
+       * updating the key value.
+       *
+       * @param newKey - The new key value to be used
+       */
+      update(newKey) {
+        this._key = newKey;
+      }
+    };
+    exports2.AzureKeyCredential = AzureKeyCredential;
   }
 });
 
-// node_modules/jsonschema/lib/helpers.js
-var require_helpers = __commonJS({
-  "node_modules/jsonschema/lib/helpers.js"(exports2, module2) {
+// node_modules/@azure/core-auth/dist/commonjs/keyCredential.js
+var require_keyCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/keyCredential.js"(exports2) {
     "use strict";
-    var uri = require("url");
-    var ValidationError = exports2.ValidationError = function ValidationError2(message, instance, schema2, path4, name, argument) {
-      if (Array.isArray(path4)) {
-        this.path = path4;
-        this.property = path4.reduce(function(sum, item) {
-          return sum + makeSuffix(item);
-        }, "instance");
-      } else if (path4 !== void 0) {
-        this.property = path4;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isKeyCredential = isKeyCredential;
+    var core_util_1 = require_commonjs4();
+    function isKeyCredential(credential) {
+      return (0, core_util_1.isObjectWithProperties)(credential, ["key"]) && typeof credential.key === "string";
+    }
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js
+var require_azureNamedKeyCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureNamedKeyCredential = void 0;
+    exports2.isNamedKeyCredential = isNamedKeyCredential;
+    var core_util_1 = require_commonjs4();
+    var AzureNamedKeyCredential = class {
+      _key;
+      _name;
+      /**
+       * The value of the key to be used in authentication.
+       */
+      get key() {
+        return this._key;
       }
-      if (message) {
-        this.message = message;
+      /**
+       * The value of the name to be used in authentication.
+       */
+      get name() {
+        return this._name;
       }
-      if (schema2) {
-        var id = schema2.$id || schema2.id;
-        this.schema = id || schema2;
+      /**
+       * Create an instance of an AzureNamedKeyCredential for use
+       * with a service client.
+       *
+       * @param name - The initial value of the name to use in authentication.
+       * @param key - The initial value of the key to use in authentication.
+       */
+      constructor(name, key) {
+        if (!name || !key) {
+          throw new TypeError("name and key must be non-empty strings");
+        }
+        this._name = name;
+        this._key = key;
       }
-      if (instance !== void 0) {
-        this.instance = instance;
+      /**
+       * Change the value of the key.
+       *
+       * Updates will take effect upon the next request after
+       * updating the key value.
+       *
+       * @param newName - The new name value to be used.
+       * @param newKey - The new key value to be used.
+       */
+      update(newName, newKey) {
+        if (!newName || !newKey) {
+          throw new TypeError("newName and newKey must be non-empty strings");
+        }
+        this._name = newName;
+        this._key = newKey;
       }
-      this.name = name;
-      this.argument = argument;
-      this.stack = this.toString();
-    };
-    ValidationError.prototype.toString = function toString2() {
-      return this.property + " " + this.message;
-    };
-    var ValidatorResult = exports2.ValidatorResult = function ValidatorResult2(instance, schema2, options, ctx) {
-      this.instance = instance;
-      this.schema = schema2;
-      this.options = options;
-      this.path = ctx.path;
-      this.propertyPath = ctx.propertyPath;
-      this.errors = [];
-      this.throwError = options && options.throwError;
-      this.throwFirst = options && options.throwFirst;
-      this.throwAll = options && options.throwAll;
-      this.disableFormat = options && options.disableFormat === true;
     };
-    ValidatorResult.prototype.addError = function addError(detail) {
-      var err;
-      if (typeof detail == "string") {
-        err = new ValidationError(detail, this.instance, this.schema, this.path);
-      } else {
-        if (!detail) throw new Error("Missing error detail");
-        if (!detail.message) throw new Error("Missing error message");
-        if (!detail.name) throw new Error("Missing validator type");
-        err = new ValidationError(detail.message, this.instance, this.schema, this.path, detail.name, detail.argument);
+    exports2.AzureNamedKeyCredential = AzureNamedKeyCredential;
+    function isNamedKeyCredential(credential) {
+      return (0, core_util_1.isObjectWithProperties)(credential, ["name", "key"]) && typeof credential.key === "string" && typeof credential.name === "string";
+    }
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js
+var require_azureSASCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureSASCredential = void 0;
+    exports2.isSASCredential = isSASCredential;
+    var core_util_1 = require_commonjs4();
+    var AzureSASCredential = class {
+      _signature;
+      /**
+       * The value of the shared access signature to be used in authentication
+       */
+      get signature() {
+        return this._signature;
       }
-      this.errors.push(err);
-      if (this.throwFirst) {
-        throw new ValidatorResultError(this);
-      } else if (this.throwError) {
-        throw err;
+      /**
+       * Create an instance of an AzureSASCredential for use
+       * with a service client.
+       *
+       * @param signature - The initial value of the shared access signature to use in authentication
+       */
+      constructor(signature) {
+        if (!signature) {
+          throw new Error("shared access signature must be a non-empty string");
+        }
+        this._signature = signature;
       }
-      return err;
-    };
-    ValidatorResult.prototype.importErrors = function importErrors(res) {
-      if (typeof res == "string" || res && res.validatorType) {
-        this.addError(res);
-      } else if (res && res.errors) {
-        this.errors = this.errors.concat(res.errors);
+      /**
+       * Change the value of the signature.
+       *
+       * Updates will take effect upon the next request after
+       * updating the signature value.
+       *
+       * @param newSignature - The new shared access signature value to be used
+       */
+      update(newSignature) {
+        if (!newSignature) {
+          throw new Error("shared access signature must be a non-empty string");
+        }
+        this._signature = newSignature;
       }
     };
-    function stringizer(v, i) {
-      return i + ": " + v.toString() + "\n";
+    exports2.AzureSASCredential = AzureSASCredential;
+    function isSASCredential(credential) {
+      return (0, core_util_1.isObjectWithProperties)(credential, ["signature"]) && typeof credential.signature === "string";
     }
-    ValidatorResult.prototype.toString = function toString2(res) {
-      return this.errors.map(stringizer).join("");
-    };
-    Object.defineProperty(ValidatorResult.prototype, "valid", { get: function() {
-      return !this.errors.length;
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js
+var require_tokenCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isBearerToken = isBearerToken;
+    exports2.isPopToken = isPopToken;
+    exports2.isTokenCredential = isTokenCredential;
+    function isBearerToken(accessToken) {
+      return !accessToken.tokenType || accessToken.tokenType === "Bearer";
+    }
+    function isPopToken(accessToken) {
+      return accessToken.tokenType === "pop";
+    }
+    function isTokenCredential(credential) {
+      const castCredential = credential;
+      return castCredential && typeof castCredential.getToken === "function" && (castCredential.signRequest === void 0 || castCredential.getToken.length > 0);
+    }
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/index.js
+var require_commonjs7 = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isTokenCredential = exports2.isSASCredential = exports2.AzureSASCredential = exports2.isNamedKeyCredential = exports2.AzureNamedKeyCredential = exports2.isKeyCredential = exports2.AzureKeyCredential = void 0;
+    var azureKeyCredential_js_1 = require_azureKeyCredential();
+    Object.defineProperty(exports2, "AzureKeyCredential", { enumerable: true, get: function() {
+      return azureKeyCredential_js_1.AzureKeyCredential;
     } });
-    module2.exports.ValidatorResultError = ValidatorResultError;
-    function ValidatorResultError(result) {
-      if (Error.captureStackTrace) {
-        Error.captureStackTrace(this, ValidatorResultError);
-      }
-      this.instance = result.instance;
-      this.schema = result.schema;
-      this.options = result.options;
-      this.errors = result.errors;
+    var keyCredential_js_1 = require_keyCredential();
+    Object.defineProperty(exports2, "isKeyCredential", { enumerable: true, get: function() {
+      return keyCredential_js_1.isKeyCredential;
+    } });
+    var azureNamedKeyCredential_js_1 = require_azureNamedKeyCredential();
+    Object.defineProperty(exports2, "AzureNamedKeyCredential", { enumerable: true, get: function() {
+      return azureNamedKeyCredential_js_1.AzureNamedKeyCredential;
+    } });
+    Object.defineProperty(exports2, "isNamedKeyCredential", { enumerable: true, get: function() {
+      return azureNamedKeyCredential_js_1.isNamedKeyCredential;
+    } });
+    var azureSASCredential_js_1 = require_azureSASCredential();
+    Object.defineProperty(exports2, "AzureSASCredential", { enumerable: true, get: function() {
+      return azureSASCredential_js_1.AzureSASCredential;
+    } });
+    Object.defineProperty(exports2, "isSASCredential", { enumerable: true, get: function() {
+      return azureSASCredential_js_1.isSASCredential;
+    } });
+    var tokenCredential_js_1 = require_tokenCredential();
+    Object.defineProperty(exports2, "isTokenCredential", { enumerable: true, get: function() {
+      return tokenCredential_js_1.isTokenCredential;
+    } });
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js
+var require_disableKeepAlivePolicy = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.disableKeepAlivePolicyName = void 0;
+    exports2.createDisableKeepAlivePolicy = createDisableKeepAlivePolicy;
+    exports2.pipelineContainsDisableKeepAlivePolicy = pipelineContainsDisableKeepAlivePolicy;
+    exports2.disableKeepAlivePolicyName = "DisableKeepAlivePolicy";
+    function createDisableKeepAlivePolicy() {
+      return {
+        name: exports2.disableKeepAlivePolicyName,
+        async sendRequest(request2, next) {
+          request2.disableKeepAlive = true;
+          return next(request2);
+        }
+      };
     }
-    ValidatorResultError.prototype = new Error();
-    ValidatorResultError.prototype.constructor = ValidatorResultError;
-    ValidatorResultError.prototype.name = "Validation Error";
-    var SchemaError = exports2.SchemaError = function SchemaError2(msg, schema2) {
-      this.message = msg;
-      this.schema = schema2;
-      Error.call(this, msg);
-      Error.captureStackTrace(this, SchemaError2);
-    };
-    SchemaError.prototype = Object.create(
-      Error.prototype,
-      {
-        constructor: { value: SchemaError, enumerable: false },
-        name: { value: "SchemaError", enumerable: false }
-      }
-    );
-    var SchemaContext = exports2.SchemaContext = function SchemaContext2(schema2, options, path4, base, schemas) {
-      this.schema = schema2;
-      this.options = options;
-      if (Array.isArray(path4)) {
-        this.path = path4;
-        this.propertyPath = path4.reduce(function(sum, item) {
-          return sum + makeSuffix(item);
-        }, "instance");
+    function pipelineContainsDisableKeepAlivePolicy(pipeline) {
+      return pipeline.getOrderedPolicies().some((policy) => policy.name === exports2.disableKeepAlivePolicyName);
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/base64.js
+var require_base64 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/base64.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.encodeString = encodeString;
+    exports2.encodeByteArray = encodeByteArray;
+    exports2.decodeString = decodeString;
+    exports2.decodeStringToString = decodeStringToString;
+    function encodeString(value) {
+      return Buffer.from(value).toString("base64");
+    }
+    function encodeByteArray(value) {
+      const bufferValue = value instanceof Buffer ? value : Buffer.from(value.buffer);
+      return bufferValue.toString("base64");
+    }
+    function decodeString(value) {
+      return Buffer.from(value, "base64");
+    }
+    function decodeStringToString(value) {
+      return Buffer.from(value, "base64").toString();
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/interfaces.js
+var require_interfaces = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/interfaces.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
+    exports2.XML_ATTRKEY = "$";
+    exports2.XML_CHARKEY = "_";
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/utils.js
+var require_utils6 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isPrimitiveBody = isPrimitiveBody;
+    exports2.isDuration = isDuration;
+    exports2.isValidUuid = isValidUuid;
+    exports2.flattenResponse = flattenResponse;
+    function isPrimitiveBody(value, mapperTypeName) {
+      return mapperTypeName !== "Composite" && mapperTypeName !== "Dictionary" && (typeof value === "string" || typeof value === "number" || typeof value === "boolean" || mapperTypeName?.match(/^(Date|DateTime|DateTimeRfc1123|UnixTime|ByteArray|Base64Url)$/i) !== null || value === void 0 || value === null);
+    }
+    var validateISODuration = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
+    function isDuration(value) {
+      return validateISODuration.test(value);
+    }
+    var validUuidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/i;
+    function isValidUuid(uuid) {
+      return validUuidRegex.test(uuid);
+    }
+    function handleNullableResponseAndWrappableBody(responseObject) {
+      const combinedHeadersAndBody = {
+        ...responseObject.headers,
+        ...responseObject.body
+      };
+      if (responseObject.hasNullableType && Object.getOwnPropertyNames(combinedHeadersAndBody).length === 0) {
+        return responseObject.shouldWrapBody ? { body: null } : null;
       } else {
-        this.propertyPath = path4;
+        return responseObject.shouldWrapBody ? {
+          ...responseObject.headers,
+          body: responseObject.body
+        } : combinedHeadersAndBody;
       }
-      this.base = base;
-      this.schemas = schemas;
-    };
-    SchemaContext.prototype.resolve = function resolve3(target) {
-      return uri.resolve(this.base, target);
-    };
-    SchemaContext.prototype.makeChild = function makeChild(schema2, propertyName) {
-      var path4 = propertyName === void 0 ? this.path : this.path.concat([propertyName]);
-      var id = schema2.$id || schema2.id;
-      var base = uri.resolve(this.base, id || "");
-      var ctx = new SchemaContext(schema2, this.options, path4, base, Object.create(this.schemas));
-      if (id && !ctx.schemas[base]) {
-        ctx.schemas[base] = schema2;
+    }
+    function flattenResponse(fullResponse, responseSpec) {
+      const parsedHeaders = fullResponse.parsedHeaders;
+      if (fullResponse.request.method === "HEAD") {
+        return {
+          ...parsedHeaders,
+          body: fullResponse.parsedBody
+        };
+      }
+      const bodyMapper = responseSpec && responseSpec.bodyMapper;
+      const isNullable = Boolean(bodyMapper?.nullable);
+      const expectedBodyTypeName = bodyMapper?.type.name;
+      if (expectedBodyTypeName === "Stream") {
+        return {
+          ...parsedHeaders,
+          blobBody: fullResponse.blobBody,
+          readableStreamBody: fullResponse.readableStreamBody
+        };
       }
-      return ctx;
-    };
-    var FORMAT_REGEXPS = exports2.FORMAT_REGEXPS = {
-      // 7.3.1. Dates, Times, and Duration
-      "date-time": /^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])[tT ](2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])(\.\d+)?([zZ]|[+-]([0-5][0-9]):(60|[0-5][0-9]))$/,
-      "date": /^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])$/,
-      "time": /^(2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])$/,
-      "duration": /P(T\d+(H(\d+M(\d+S)?)?|M(\d+S)?|S)|\d+(D|M(\d+D)?|Y(\d+M(\d+D)?)?)(T\d+(H(\d+M(\d+S)?)?|M(\d+S)?|S))?|\d+W)/i,
-      // 7.3.2. Email Addresses
-      // TODO: fix the email production
-      "email": /^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/,
-      "idn-email": /^("(?:[!#-\[\]-\u{10FFFF}]|\\[\t -\u{10FFFF}])*"|[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}](?:\.?[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}])*)@([!#-'*+\-/-9=?A-Z\^-\u{10FFFF}](?:\.?[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}])*|\[[!-Z\^-\u{10FFFF}]*\])$/u,
-      // 7.3.3. Hostnames
-      // 7.3.4. IP Addresses
-      "ip-address": /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
-      // FIXME whitespace is invalid
-      "ipv6": /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,
-      // 7.3.5. Resource Identifiers
-      // TODO: A more accurate regular expression for "uri" goes:
-      // [A-Za-z][+\-.0-9A-Za-z]*:((/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?)?#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])|/?%[0-9A-Fa-f]{2}|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*(#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)?)?
-      "uri": /^[a-zA-Z][a-zA-Z0-9+.-]*:[^\s]*$/,
-      "uri-reference": /^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/,
-      "iri": /^[a-zA-Z][a-zA-Z0-9+.-]*:[^\s]*$/,
-      "iri-reference": /^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\u{10FFFF}]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~-\u{10FFFF}]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~-\u{10FFFF}])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\u{10FFFF}]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/u,
-      "uuid": /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
-      // 7.3.6. uri-template
-      "uri-template": /(%[0-9a-f]{2}|[!#$&(-;=?@\[\]_a-z~]|\{[!#&+,./;=?@|]?(%[0-9a-f]{2}|[0-9_a-z])(\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\d{0,3}|\*)?(,(%[0-9a-f]{2}|[0-9_a-z])(\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\d{0,3}|\*)?)*\})*/iu,
-      // 7.3.7. JSON Pointers
-      "json-pointer": /^(\/([\x00-\x2e0-@\[-}\x7f]|~[01])*)*$/iu,
-      "relative-json-pointer": /^\d+(#|(\/([\x00-\x2e0-@\[-}\x7f]|~[01])*)*)$/iu,
-      // hostname regex from: http://stackoverflow.com/a/1420225/5628
-      "hostname": /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,
-      "host-name": /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,
-      "utc-millisec": function(input) {
-        return typeof input === "string" && parseFloat(input) === parseInt(input, 10) && !isNaN(input);
-      },
-      // 7.3.8. regex
-      "regex": function(input) {
-        var result = true;
-        try {
-          new RegExp(input);
-        } catch (e) {
-          result = false;
-        }
-        return result;
-      },
-      // Other definitions
-      // "style" was removed from JSON Schema in draft-4 and is deprecated
-      "style": /[\r\n\t ]*[^\r\n\t ][^:]*:[\r\n\t ]*[^\r\n\t ;]*[\r\n\t ]*;?/,
-      // "color" was removed from JSON Schema in draft-4 and is deprecated
-      "color": /^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,
-      "phone": /^\+(?:[0-9] ?){6,14}[0-9]$/,
-      "alpha": /^[a-zA-Z]+$/,
-      "alphanumeric": /^[a-zA-Z0-9]+$/
-    };
-    FORMAT_REGEXPS.regexp = FORMAT_REGEXPS.regex;
-    FORMAT_REGEXPS.pattern = FORMAT_REGEXPS.regex;
-    FORMAT_REGEXPS.ipv4 = FORMAT_REGEXPS["ip-address"];
-    exports2.isFormat = function isFormat(input, format, validator) {
-      if (typeof input === "string" && FORMAT_REGEXPS[format] !== void 0) {
-        if (FORMAT_REGEXPS[format] instanceof RegExp) {
-          return FORMAT_REGEXPS[format].test(input);
+      const modelProperties = expectedBodyTypeName === "Composite" && bodyMapper.type.modelProperties || {};
+      const isPageableResponse = Object.keys(modelProperties).some((k) => modelProperties[k].serializedName === "");
+      if (expectedBodyTypeName === "Sequence" || isPageableResponse) {
+        const arrayResponse = fullResponse.parsedBody ?? [];
+        for (const key of Object.keys(modelProperties)) {
+          if (modelProperties[key].serializedName) {
+            arrayResponse[key] = fullResponse.parsedBody?.[key];
+          }
         }
-        if (typeof FORMAT_REGEXPS[format] === "function") {
-          return FORMAT_REGEXPS[format](input);
+        if (parsedHeaders) {
+          for (const key of Object.keys(parsedHeaders)) {
+            arrayResponse[key] = parsedHeaders[key];
+          }
         }
-      } else if (validator && validator.customFormats && typeof validator.customFormats[format] === "function") {
-        return validator.customFormats[format](input);
-      }
-      return true;
-    };
-    var makeSuffix = exports2.makeSuffix = function makeSuffix2(key) {
-      key = key.toString();
-      if (!key.match(/[.\s\[\]]/) && !key.match(/^[\d]/)) {
-        return "." + key;
+        return isNullable && !fullResponse.parsedBody && !parsedHeaders && Object.getOwnPropertyNames(modelProperties).length === 0 ? null : arrayResponse;
       }
-      if (key.match(/^\d+$/)) {
-        return "[" + key + "]";
+      return handleNullableResponseAndWrappableBody({
+        body: fullResponse.parsedBody,
+        headers: parsedHeaders,
+        hasNullableType: isNullable,
+        shouldWrapBody: isPrimitiveBody(fullResponse.parsedBody, expectedBodyTypeName)
+      });
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/serializer.js
+var require_serializer = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/serializer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MapperTypeNames = void 0;
+    exports2.createSerializer = createSerializer;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var base64 = tslib_1.__importStar(require_base64());
+    var interfaces_js_1 = require_interfaces();
+    var utils_js_1 = require_utils6();
+    var SerializerImpl = class {
+      modelMappers;
+      isXML;
+      constructor(modelMappers = {}, isXML = false) {
+        this.modelMappers = modelMappers;
+        this.isXML = isXML;
       }
-      return "[" + JSON.stringify(key) + "]";
-    };
-    exports2.deepCompareStrict = function deepCompareStrict(a, b) {
-      if (typeof a !== typeof b) {
-        return false;
+      /**
+       * @deprecated Removing the constraints validation on client side.
+       */
+      validateConstraints(mapper, value, objectName) {
+        const failValidation = (constraintName, constraintValue) => {
+          throw new Error(`"${objectName}" with value "${value}" should satisfy the constraint "${constraintName}": ${constraintValue}.`);
+        };
+        if (mapper.constraints && value !== void 0 && value !== null) {
+          const { ExclusiveMaximum, ExclusiveMinimum, InclusiveMaximum, InclusiveMinimum, MaxItems, MaxLength, MinItems, MinLength, MultipleOf, Pattern, UniqueItems } = mapper.constraints;
+          if (ExclusiveMaximum !== void 0 && value >= ExclusiveMaximum) {
+            failValidation("ExclusiveMaximum", ExclusiveMaximum);
+          }
+          if (ExclusiveMinimum !== void 0 && value <= ExclusiveMinimum) {
+            failValidation("ExclusiveMinimum", ExclusiveMinimum);
+          }
+          if (InclusiveMaximum !== void 0 && value > InclusiveMaximum) {
+            failValidation("InclusiveMaximum", InclusiveMaximum);
+          }
+          if (InclusiveMinimum !== void 0 && value < InclusiveMinimum) {
+            failValidation("InclusiveMinimum", InclusiveMinimum);
+          }
+          if (MaxItems !== void 0 && value.length > MaxItems) {
+            failValidation("MaxItems", MaxItems);
+          }
+          if (MaxLength !== void 0 && value.length > MaxLength) {
+            failValidation("MaxLength", MaxLength);
+          }
+          if (MinItems !== void 0 && value.length < MinItems) {
+            failValidation("MinItems", MinItems);
+          }
+          if (MinLength !== void 0 && value.length < MinLength) {
+            failValidation("MinLength", MinLength);
+          }
+          if (MultipleOf !== void 0 && value % MultipleOf !== 0) {
+            failValidation("MultipleOf", MultipleOf);
+          }
+          if (Pattern) {
+            const pattern = typeof Pattern === "string" ? new RegExp(Pattern) : Pattern;
+            if (typeof value !== "string" || value.match(pattern) === null) {
+              failValidation("Pattern", Pattern);
+            }
+          }
+          if (UniqueItems && value.some((item, i, ar) => ar.indexOf(item) !== i)) {
+            failValidation("UniqueItems", UniqueItems);
+          }
+        }
       }
-      if (Array.isArray(a)) {
-        if (!Array.isArray(b)) {
-          return false;
+      /**
+       * Serialize the given object based on its metadata defined in the mapper
+       *
+       * @param mapper - The mapper which defines the metadata of the serializable object
+       *
+       * @param object - A valid Javascript object to be serialized
+       *
+       * @param objectName - Name of the serialized object
+       *
+       * @param options - additional options to serialization
+       *
+       * @returns A valid serialized Javascript object
+       */
+      serialize(mapper, object, objectName, options = { xml: {} }) {
+        const updatedOptions = {
+          xml: {
+            rootName: options.xml.rootName ?? "",
+            includeRoot: options.xml.includeRoot ?? false,
+            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+          }
+        };
+        let payload = {};
+        const mapperType = mapper.type.name;
+        if (!objectName) {
+          objectName = mapper.serializedName;
         }
-        if (a.length !== b.length) {
-          return false;
+        if (mapperType.match(/^Sequence$/i) !== null) {
+          payload = [];
         }
-        return a.every(function(v, i) {
-          return deepCompareStrict(a[i], b[i]);
-        });
+        if (mapper.isConstant) {
+          object = mapper.defaultValue;
+        }
+        const { required, nullable } = mapper;
+        if (required && nullable && object === void 0) {
+          throw new Error(`${objectName} cannot be undefined.`);
+        }
+        if (required && !nullable && (object === void 0 || object === null)) {
+          throw new Error(`${objectName} cannot be null or undefined.`);
+        }
+        if (!required && nullable === false && object === null) {
+          throw new Error(`${objectName} cannot be null.`);
+        }
+        if (object === void 0 || object === null) {
+          payload = object;
+        } else {
+          if (mapperType.match(/^any$/i) !== null) {
+            payload = object;
+          } else if (mapperType.match(/^(Number|String|Boolean|Object|Stream|Uuid)$/i) !== null) {
+            payload = serializeBasicTypes(mapperType, objectName, object);
+          } else if (mapperType.match(/^Enum$/i) !== null) {
+            const enumMapper = mapper;
+            payload = serializeEnumType(objectName, enumMapper.type.allowedValues, object);
+          } else if (mapperType.match(/^(Date|DateTime|TimeSpan|DateTimeRfc1123|UnixTime)$/i) !== null) {
+            payload = serializeDateTypes(mapperType, object, objectName);
+          } else if (mapperType.match(/^ByteArray$/i) !== null) {
+            payload = serializeByteArrayType(objectName, object);
+          } else if (mapperType.match(/^Base64Url$/i) !== null) {
+            payload = serializeBase64UrlType(objectName, object);
+          } else if (mapperType.match(/^Sequence$/i) !== null) {
+            payload = serializeSequenceType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
+          } else if (mapperType.match(/^Dictionary$/i) !== null) {
+            payload = serializeDictionaryType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
+          } else if (mapperType.match(/^Composite$/i) !== null) {
+            payload = serializeCompositeType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
+          }
+        }
+        return payload;
       }
-      if (typeof a === "object") {
-        if (!a || !b) {
-          return a === b;
+      /**
+       * Deserialize the given object based on its metadata defined in the mapper
+       *
+       * @param mapper - The mapper which defines the metadata of the serializable object
+       *
+       * @param responseBody - A valid Javascript entity to be deserialized
+       *
+       * @param objectName - Name of the deserialized object
+       *
+       * @param options - Controls behavior of XML parser and builder.
+       *
+       * @returns A valid deserialized Javascript object
+       */
+      deserialize(mapper, responseBody, objectName, options = { xml: {} }) {
+        const updatedOptions = {
+          xml: {
+            rootName: options.xml.rootName ?? "",
+            includeRoot: options.xml.includeRoot ?? false,
+            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+          },
+          ignoreUnknownProperties: options.ignoreUnknownProperties ?? false
+        };
+        if (responseBody === void 0 || responseBody === null) {
+          if (this.isXML && mapper.type.name === "Sequence" && !mapper.xmlIsWrapped) {
+            responseBody = [];
+          }
+          if (mapper.defaultValue !== void 0) {
+            responseBody = mapper.defaultValue;
+          }
+          return responseBody;
         }
-        var aKeys = Object.keys(a);
-        var bKeys = Object.keys(b);
-        if (aKeys.length !== bKeys.length) {
-          return false;
+        let payload;
+        const mapperType = mapper.type.name;
+        if (!objectName) {
+          objectName = mapper.serializedName;
         }
-        return aKeys.every(function(v) {
-          return deepCompareStrict(a[v], b[v]);
-        });
+        if (mapperType.match(/^Composite$/i) !== null) {
+          payload = deserializeCompositeType(this, mapper, responseBody, objectName, updatedOptions);
+        } else {
+          if (this.isXML) {
+            const xmlCharKey = updatedOptions.xml.xmlCharKey;
+            if (responseBody[interfaces_js_1.XML_ATTRKEY] !== void 0 && responseBody[xmlCharKey] !== void 0) {
+              responseBody = responseBody[xmlCharKey];
+            }
+          }
+          if (mapperType.match(/^Number$/i) !== null) {
+            payload = parseFloat(responseBody);
+            if (isNaN(payload)) {
+              payload = responseBody;
+            }
+          } else if (mapperType.match(/^Boolean$/i) !== null) {
+            if (responseBody === "true") {
+              payload = true;
+            } else if (responseBody === "false") {
+              payload = false;
+            } else {
+              payload = responseBody;
+            }
+          } else if (mapperType.match(/^(String|Enum|Object|Stream|Uuid|TimeSpan|any)$/i) !== null) {
+            payload = responseBody;
+          } else if (mapperType.match(/^(Date|DateTime|DateTimeRfc1123)$/i) !== null) {
+            payload = new Date(responseBody);
+          } else if (mapperType.match(/^UnixTime$/i) !== null) {
+            payload = unixTimeToDate(responseBody);
+          } else if (mapperType.match(/^ByteArray$/i) !== null) {
+            payload = base64.decodeString(responseBody);
+          } else if (mapperType.match(/^Base64Url$/i) !== null) {
+            payload = base64UrlToByteArray(responseBody);
+          } else if (mapperType.match(/^Sequence$/i) !== null) {
+            payload = deserializeSequenceType(this, mapper, responseBody, objectName, updatedOptions);
+          } else if (mapperType.match(/^Dictionary$/i) !== null) {
+            payload = deserializeDictionaryType(this, mapper, responseBody, objectName, updatedOptions);
+          }
+        }
+        if (mapper.isConstant) {
+          payload = mapper.defaultValue;
+        }
+        return payload;
       }
-      return a === b;
     };
-    function deepMerger(target, dst, e, i) {
-      if (typeof e === "object") {
-        dst[i] = deepMerge(target[i], e);
-      } else {
-        if (target.indexOf(e) === -1) {
-          dst.push(e);
-        }
+    function createSerializer(modelMappers = {}, isXML = false) {
+      return new SerializerImpl(modelMappers, isXML);
+    }
+    function trimEnd(str2, ch) {
+      let len = str2.length;
+      while (len - 1 >= 0 && str2[len - 1] === ch) {
+        --len;
       }
+      return str2.substr(0, len);
     }
-    function copyist(src, dst, key) {
-      dst[key] = src[key];
+    function bufferToBase64Url(buffer) {
+      if (!buffer) {
+        return void 0;
+      }
+      if (!(buffer instanceof Uint8Array)) {
+        throw new Error(`Please provide an input of type Uint8Array for converting to Base64Url.`);
+      }
+      const str2 = base64.encodeByteArray(buffer);
+      return trimEnd(str2, "=").replace(/\+/g, "-").replace(/\//g, "_");
     }
-    function copyistWithDeepMerge(target, src, dst, key) {
-      if (typeof src[key] !== "object" || !src[key]) {
-        dst[key] = src[key];
-      } else {
-        if (!target[key]) {
-          dst[key] = src[key];
-        } else {
-          dst[key] = deepMerge(target[key], src[key]);
-        }
+    function base64UrlToByteArray(str2) {
+      if (!str2) {
+        return void 0;
       }
+      if (str2 && typeof str2.valueOf() !== "string") {
+        throw new Error("Please provide an input of type string for converting to Uint8Array");
+      }
+      str2 = str2.replace(/-/g, "+").replace(/_/g, "/");
+      return base64.decodeString(str2);
     }
-    function deepMerge(target, src) {
-      var array = Array.isArray(src);
-      var dst = array && [] || {};
-      if (array) {
-        target = target || [];
-        dst = dst.concat(target);
-        src.forEach(deepMerger.bind(null, target, dst));
-      } else {
-        if (target && typeof target === "object") {
-          Object.keys(target).forEach(copyist.bind(null, target, dst));
+    function splitSerializeName(prop) {
+      const classes = [];
+      let partialclass = "";
+      if (prop) {
+        const subwords = prop.split(".");
+        for (const item of subwords) {
+          if (item.charAt(item.length - 1) === "\\") {
+            partialclass += item.substr(0, item.length - 1) + ".";
+          } else {
+            partialclass += item;
+            classes.push(partialclass);
+            partialclass = "";
+          }
         }
-        Object.keys(src).forEach(copyistWithDeepMerge.bind(null, target, src, dst));
       }
-      return dst;
+      return classes;
     }
-    module2.exports.deepMerge = deepMerge;
-    exports2.objectGetPath = function objectGetPath(o, s) {
-      var parts = s.split("/").slice(1);
-      var k;
-      while (typeof (k = parts.shift()) == "string") {
-        var n = decodeURIComponent(k.replace(/~0/, "~").replace(/~1/g, "/"));
-        if (!(n in o)) return;
-        o = o[n];
+    function dateToUnixTime(d) {
+      if (!d) {
+        return void 0;
       }
-      return o;
-    };
-    function pathEncoder(v) {
-      return "/" + encodeURIComponent(v).replace(/~/g, "%7E");
+      if (typeof d.valueOf() === "string") {
+        d = new Date(d);
+      }
+      return Math.floor(d.getTime() / 1e3);
     }
-    exports2.encodePath = function encodePointer(a) {
-      return a.map(pathEncoder).join("");
-    };
-    exports2.getDecimalPlaces = function getDecimalPlaces(number) {
-      var decimalPlaces = 0;
-      if (isNaN(number)) return decimalPlaces;
-      if (typeof number !== "number") {
-        number = Number(number);
+    function unixTimeToDate(n) {
+      if (!n) {
+        return void 0;
       }
-      var parts = number.toString().split("e");
-      if (parts.length === 2) {
-        if (parts[1][0] !== "-") {
-          return decimalPlaces;
-        } else {
-          decimalPlaces = Number(parts[1].slice(1));
+      return new Date(n * 1e3);
+    }
+    function serializeBasicTypes(typeName, objectName, value) {
+      if (value !== null && value !== void 0) {
+        if (typeName.match(/^Number$/i) !== null) {
+          if (typeof value !== "number") {
+            throw new Error(`${objectName} with value ${value} must be of type number.`);
+          }
+        } else if (typeName.match(/^String$/i) !== null) {
+          if (typeof value.valueOf() !== "string") {
+            throw new Error(`${objectName} with value "${value}" must be of type string.`);
+          }
+        } else if (typeName.match(/^Uuid$/i) !== null) {
+          if (!(typeof value.valueOf() === "string" && (0, utils_js_1.isValidUuid)(value))) {
+            throw new Error(`${objectName} with value "${value}" must be of type string and a valid uuid.`);
+          }
+        } else if (typeName.match(/^Boolean$/i) !== null) {
+          if (typeof value !== "boolean") {
+            throw new Error(`${objectName} with value ${value} must be of type boolean.`);
+          }
+        } else if (typeName.match(/^Stream$/i) !== null) {
+          const objectType = typeof value;
+          if (objectType !== "string" && typeof value.pipe !== "function" && // NodeJS.ReadableStream
+          typeof value.tee !== "function" && // browser ReadableStream
+          !(value instanceof ArrayBuffer) && !ArrayBuffer.isView(value) && // File objects count as a type of Blob, so we want to use instanceof explicitly
+          !((typeof Blob === "function" || typeof Blob === "object") && value instanceof Blob) && objectType !== "function") {
+            throw new Error(`${objectName} must be a string, Blob, ArrayBuffer, ArrayBufferView, ReadableStream, or () => ReadableStream.`);
+          }
         }
       }
-      var decimalParts = parts[0].split(".");
-      if (decimalParts.length === 2) {
-        decimalPlaces += decimalParts[1].length;
-      }
-      return decimalPlaces;
-    };
-    exports2.isSchema = function isSchema(val) {
-      return typeof val === "object" && val || typeof val === "boolean";
-    };
-  }
-});
-
-// node_modules/jsonschema/lib/attribute.js
-var require_attribute = __commonJS({
-  "node_modules/jsonschema/lib/attribute.js"(exports2, module2) {
-    "use strict";
-    var helpers = require_helpers();
-    var ValidatorResult = helpers.ValidatorResult;
-    var SchemaError = helpers.SchemaError;
-    var attribute = {};
-    attribute.ignoreProperties = {
-      // informative properties
-      "id": true,
-      "default": true,
-      "description": true,
-      "title": true,
-      // arguments to other properties
-      "additionalItems": true,
-      "then": true,
-      "else": true,
-      // special-handled properties
-      "$schema": true,
-      "$ref": true,
-      "extends": true
-    };
-    var validators = attribute.validators = {};
-    validators.type = function validateType(instance, schema2, options, ctx) {
-      if (instance === void 0) {
-        return null;
-      }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var types = Array.isArray(schema2.type) ? schema2.type : [schema2.type];
-      if (!types.some(this.testType.bind(this, instance, schema2, options, ctx))) {
-        var list = types.map(function(v) {
-          if (!v) return;
-          var id = v.$id || v.id;
-          return id ? "<" + id + ">" : v + "";
-        });
-        result.addError({
-          name: "type",
-          argument: list,
-          message: "is not of a type(s) " + list
-        });
+      return value;
+    }
+    function serializeEnumType(objectName, allowedValues, value) {
+      if (!allowedValues) {
+        throw new Error(`Please provide a set of allowedValues to validate ${objectName} as an Enum Type.`);
       }
-      return result;
-    };
-    function testSchemaNoThrow(instance, options, ctx, callback, schema2) {
-      var throwError2 = options.throwError;
-      var throwAll = options.throwAll;
-      options.throwError = false;
-      options.throwAll = false;
-      var res = this.validateSchema(instance, schema2, options, ctx);
-      options.throwError = throwError2;
-      options.throwAll = throwAll;
-      if (!res.valid && callback instanceof Function) {
-        callback(res);
+      const isPresent = allowedValues.some((item) => {
+        if (typeof item.valueOf() === "string") {
+          return item.toLowerCase() === value.toLowerCase();
+        }
+        return item === value;
+      });
+      if (!isPresent) {
+        throw new Error(`${value} is not a valid value for ${objectName}. The valid values are: ${JSON.stringify(allowedValues)}.`);
       }
-      return res.valid;
+      return value;
     }
-    validators.anyOf = function validateAnyOf(instance, schema2, options, ctx) {
-      if (instance === void 0) {
-        return null;
+    function serializeByteArrayType(objectName, value) {
+      if (value !== void 0 && value !== null) {
+        if (!(value instanceof Uint8Array)) {
+          throw new Error(`${objectName} must be of type Uint8Array.`);
+        }
+        value = base64.encodeByteArray(value);
       }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var inner = new ValidatorResult(instance, schema2, options, ctx);
-      if (!Array.isArray(schema2.anyOf)) {
-        throw new SchemaError("anyOf must be an array");
+      return value;
+    }
+    function serializeBase64UrlType(objectName, value) {
+      if (value !== void 0 && value !== null) {
+        if (!(value instanceof Uint8Array)) {
+          throw new Error(`${objectName} must be of type Uint8Array.`);
+        }
+        value = bufferToBase64Url(value);
       }
-      if (!schema2.anyOf.some(
-        testSchemaNoThrow.bind(
-          this,
-          instance,
-          options,
-          ctx,
-          function(res) {
-            inner.importErrors(res);
+      return value;
+    }
+    function serializeDateTypes(typeName, value, objectName) {
+      if (value !== void 0 && value !== null) {
+        if (typeName.match(/^Date$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
+          }
+          value = value instanceof Date ? value.toISOString().substring(0, 10) : new Date(value).toISOString().substring(0, 10);
+        } else if (typeName.match(/^DateTime$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
+          }
+          value = value instanceof Date ? value.toISOString() : new Date(value).toISOString();
+        } else if (typeName.match(/^DateTimeRfc1123$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123 format.`);
+          }
+          value = value instanceof Date ? value.toUTCString() : new Date(value).toUTCString();
+        } else if (typeName.match(/^UnixTime$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123/ISO8601 format for it to be serialized in UnixTime/Epoch format.`);
+          }
+          value = dateToUnixTime(value);
+        } else if (typeName.match(/^TimeSpan$/i) !== null) {
+          if (!(0, utils_js_1.isDuration)(value)) {
+            throw new Error(`${objectName} must be a string in ISO 8601 format. Instead was "${value}".`);
           }
-        )
-      )) {
-        var list = schema2.anyOf.map(function(v, i) {
-          var id = v.$id || v.id;
-          if (id) return "<" + id + ">";
-          return v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]";
-        });
-        if (options.nestedErrors) {
-          result.importErrors(inner);
         }
-        result.addError({
-          name: "anyOf",
-          argument: list,
-          message: "is not any of " + list.join(",")
-        });
-      }
-      return result;
-    };
-    validators.allOf = function validateAllOf(instance, schema2, options, ctx) {
-      if (instance === void 0) {
-        return null;
       }
-      if (!Array.isArray(schema2.allOf)) {
-        throw new SchemaError("allOf must be an array");
+      return value;
+    }
+    function serializeSequenceType(serializer, mapper, object, objectName, isXml, options) {
+      if (!Array.isArray(object)) {
+        throw new Error(`${objectName} must be of type Array.`);
       }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var self2 = this;
-      schema2.allOf.forEach(function(v, i) {
-        var valid3 = self2.validateSchema(instance, v, options, ctx);
-        if (!valid3.valid) {
-          var id = v.$id || v.id;
-          var msg = id || v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]";
-          result.addError({
-            name: "allOf",
-            argument: { id: msg, length: valid3.errors.length, valid: valid3 },
-            message: "does not match allOf schema " + msg + " with " + valid3.errors.length + " error[s]:"
-          });
-          result.importErrors(valid3);
-        }
-      });
-      return result;
-    };
-    validators.oneOf = function validateOneOf(instance, schema2, options, ctx) {
-      if (instance === void 0) {
-        return null;
+      let elementType = mapper.type.element;
+      if (!elementType || typeof elementType !== "object") {
+        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}.`);
       }
-      if (!Array.isArray(schema2.oneOf)) {
-        throw new SchemaError("oneOf must be an array");
+      if (elementType.type.name === "Composite" && elementType.type.className) {
+        elementType = serializer.modelMappers[elementType.type.className] ?? elementType;
       }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var inner = new ValidatorResult(instance, schema2, options, ctx);
-      var count = schema2.oneOf.filter(
-        testSchemaNoThrow.bind(
-          this,
-          instance,
-          options,
-          ctx,
-          function(res) {
-            inner.importErrors(res);
+      const tempArray = [];
+      for (let i = 0; i < object.length; i++) {
+        const serializedValue = serializer.serialize(elementType, object[i], objectName, options);
+        if (isXml && elementType.xmlNamespace) {
+          const xmlnsKey = elementType.xmlNamespacePrefix ? `xmlns:${elementType.xmlNamespacePrefix}` : "xmlns";
+          if (elementType.type.name === "Composite") {
+            tempArray[i] = { ...serializedValue };
+            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
+          } else {
+            tempArray[i] = {};
+            tempArray[i][options.xml.xmlCharKey] = serializedValue;
+            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
           }
-        )
-      ).length;
-      var list = schema2.oneOf.map(function(v, i) {
-        var id = v.$id || v.id;
-        return id || v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]";
-      });
-      if (count !== 1) {
-        if (options.nestedErrors) {
-          result.importErrors(inner);
+        } else {
+          tempArray[i] = serializedValue;
         }
-        result.addError({
-          name: "oneOf",
-          argument: list,
-          message: "is not exactly one from " + list.join(",")
-        });
       }
-      return result;
-    };
-    validators.if = function validateIf(instance, schema2, options, ctx) {
-      if (instance === void 0) return null;
-      if (!helpers.isSchema(schema2.if)) throw new Error('Expected "if" keyword to be a schema');
-      var ifValid = testSchemaNoThrow.call(this, instance, options, ctx, null, schema2.if);
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var res;
-      if (ifValid) {
-        if (schema2.then === void 0) return;
-        if (!helpers.isSchema(schema2.then)) throw new Error('Expected "then" keyword to be a schema');
-        res = this.validateSchema(instance, schema2.then, options, ctx.makeChild(schema2.then));
-        result.importErrors(res);
-      } else {
-        if (schema2.else === void 0) return;
-        if (!helpers.isSchema(schema2.else)) throw new Error('Expected "else" keyword to be a schema');
-        res = this.validateSchema(instance, schema2.else, options, ctx.makeChild(schema2.else));
-        result.importErrors(res);
+      return tempArray;
+    }
+    function serializeDictionaryType(serializer, mapper, object, objectName, isXml, options) {
+      if (typeof object !== "object") {
+        throw new Error(`${objectName} must be of type object.`);
       }
-      return result;
-    };
-    function getEnumerableProperty(object, key) {
-      if (Object.hasOwnProperty.call(object, key)) return object[key];
-      if (!(key in object)) return;
-      while (object = Object.getPrototypeOf(object)) {
-        if (Object.propertyIsEnumerable.call(object, key)) return object[key];
+      const valueType = mapper.type.value;
+      if (!valueType || typeof valueType !== "object") {
+        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}.`);
       }
+      const tempDictionary = {};
+      for (const key of Object.keys(object)) {
+        const serializedValue = serializer.serialize(valueType, object[key], objectName, options);
+        tempDictionary[key] = getXmlObjectValue(valueType, serializedValue, isXml, options);
+      }
+      if (isXml && mapper.xmlNamespace) {
+        const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
+        const result = tempDictionary;
+        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: mapper.xmlNamespace };
+        return result;
+      }
+      return tempDictionary;
     }
-    validators.propertyNames = function validatePropertyNames(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var subschema = schema2.propertyNames !== void 0 ? schema2.propertyNames : {};
-      if (!helpers.isSchema(subschema)) throw new SchemaError('Expected "propertyNames" to be a schema (object or boolean)');
-      for (var property in instance) {
-        if (getEnumerableProperty(instance, property) !== void 0) {
-          var res = this.validateSchema(property, subschema, options, ctx.makeChild(subschema));
-          result.importErrors(res);
+    function resolveAdditionalProperties(serializer, mapper, objectName) {
+      const additionalProperties = mapper.type.additionalProperties;
+      if (!additionalProperties && mapper.type.className) {
+        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
+        return modelMapper?.type.additionalProperties;
+      }
+      return additionalProperties;
+    }
+    function resolveReferencedMapper(serializer, mapper, objectName) {
+      const className = mapper.type.className;
+      if (!className) {
+        throw new Error(`Class name for model "${objectName}" is not provided in the mapper "${JSON.stringify(mapper, void 0, 2)}".`);
+      }
+      return serializer.modelMappers[className];
+    }
+    function resolveModelProperties(serializer, mapper, objectName) {
+      let modelProps = mapper.type.modelProperties;
+      if (!modelProps) {
+        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
+        if (!modelMapper) {
+          throw new Error(`mapper() cannot be null or undefined for model "${mapper.type.className}".`);
+        }
+        modelProps = modelMapper?.type.modelProperties;
+        if (!modelProps) {
+          throw new Error(`modelProperties cannot be null or undefined in the mapper "${JSON.stringify(modelMapper)}" of type "${mapper.type.className}" for object "${objectName}".`);
         }
       }
-      return result;
-    };
-    validators.properties = function validateProperties(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var properties = schema2.properties || {};
-      for (var property in properties) {
-        var subschema = properties[property];
-        if (subschema === void 0) {
-          continue;
-        } else if (subschema === null) {
-          throw new SchemaError('Unexpected null, expected schema in "properties"');
+      return modelProps;
+    }
+    function serializeCompositeType(serializer, mapper, object, objectName, isXml, options) {
+      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
+        mapper = getPolymorphicMapper(serializer, mapper, object, "clientName");
+      }
+      if (object !== void 0 && object !== null) {
+        const payload = {};
+        const modelProps = resolveModelProperties(serializer, mapper, objectName);
+        for (const key of Object.keys(modelProps)) {
+          const propertyMapper = modelProps[key];
+          if (propertyMapper.readOnly) {
+            continue;
+          }
+          let propName;
+          let parentObject = payload;
+          if (serializer.isXML) {
+            if (propertyMapper.xmlIsWrapped) {
+              propName = propertyMapper.xmlName;
+            } else {
+              propName = propertyMapper.xmlElementName || propertyMapper.xmlName;
+            }
+          } else {
+            const paths = splitSerializeName(propertyMapper.serializedName);
+            propName = paths.pop();
+            for (const pathName of paths) {
+              const childObject = parentObject[pathName];
+              if ((childObject === void 0 || childObject === null) && (object[key] !== void 0 && object[key] !== null || propertyMapper.defaultValue !== void 0)) {
+                parentObject[pathName] = {};
+              }
+              parentObject = parentObject[pathName];
+            }
+          }
+          if (parentObject !== void 0 && parentObject !== null) {
+            if (isXml && mapper.xmlNamespace) {
+              const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
+              parentObject[interfaces_js_1.XML_ATTRKEY] = {
+                ...parentObject[interfaces_js_1.XML_ATTRKEY],
+                [xmlnsKey]: mapper.xmlNamespace
+              };
+            }
+            const propertyObjectName = propertyMapper.serializedName !== "" ? objectName + "." + propertyMapper.serializedName : objectName;
+            let toSerialize = object[key];
+            const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
+            if (polymorphicDiscriminator && polymorphicDiscriminator.clientName === key && (toSerialize === void 0 || toSerialize === null)) {
+              toSerialize = mapper.serializedName;
+            }
+            const serializedValue = serializer.serialize(propertyMapper, toSerialize, propertyObjectName, options);
+            if (serializedValue !== void 0 && propName !== void 0 && propName !== null) {
+              const value = getXmlObjectValue(propertyMapper, serializedValue, isXml, options);
+              if (isXml && propertyMapper.xmlIsAttribute) {
+                parentObject[interfaces_js_1.XML_ATTRKEY] = parentObject[interfaces_js_1.XML_ATTRKEY] || {};
+                parentObject[interfaces_js_1.XML_ATTRKEY][propName] = serializedValue;
+              } else if (isXml && propertyMapper.xmlIsWrapped) {
+                parentObject[propName] = { [propertyMapper.xmlElementName]: value };
+              } else {
+                parentObject[propName] = value;
+              }
+            }
+          }
         }
-        if (typeof options.preValidateProperty == "function") {
-          options.preValidateProperty(instance, property, subschema, options, ctx);
+        const additionalPropertiesMapper = resolveAdditionalProperties(serializer, mapper, objectName);
+        if (additionalPropertiesMapper) {
+          const propNames = Object.keys(modelProps);
+          for (const clientPropName in object) {
+            const isAdditionalProperty = propNames.every((pn) => pn !== clientPropName);
+            if (isAdditionalProperty) {
+              payload[clientPropName] = serializer.serialize(additionalPropertiesMapper, object[clientPropName], objectName + '["' + clientPropName + '"]', options);
+            }
+          }
         }
-        var prop = getEnumerableProperty(instance, property);
-        var res = this.validateSchema(prop, subschema, options, ctx.makeChild(subschema, property));
-        if (res.instance !== result.instance[property]) result.instance[property] = res.instance;
-        result.importErrors(res);
+        return payload;
       }
-      return result;
-    };
-    function testAdditionalProperty(instance, schema2, options, ctx, property, result) {
-      if (!this.types.object(instance)) return;
-      if (schema2.properties && schema2.properties[property] !== void 0) {
-        return;
+      return object;
+    }
+    function getXmlObjectValue(propertyMapper, serializedValue, isXml, options) {
+      if (!isXml || !propertyMapper.xmlNamespace) {
+        return serializedValue;
       }
-      if (schema2.additionalProperties === false) {
-        result.addError({
-          name: "additionalProperties",
-          argument: property,
-          message: "is not allowed to have the additional property " + JSON.stringify(property)
-        });
-      } else {
-        var additionalProperties = schema2.additionalProperties || {};
-        if (typeof options.preValidateProperty == "function") {
-          options.preValidateProperty(instance, property, additionalProperties, options, ctx);
+      const xmlnsKey = propertyMapper.xmlNamespacePrefix ? `xmlns:${propertyMapper.xmlNamespacePrefix}` : "xmlns";
+      const xmlNamespace = { [xmlnsKey]: propertyMapper.xmlNamespace };
+      if (["Composite"].includes(propertyMapper.type.name)) {
+        if (serializedValue[interfaces_js_1.XML_ATTRKEY]) {
+          return serializedValue;
+        } else {
+          const result2 = { ...serializedValue };
+          result2[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
+          return result2;
         }
-        var res = this.validateSchema(instance[property], additionalProperties, options, ctx.makeChild(additionalProperties, property));
-        if (res.instance !== result.instance[property]) result.instance[property] = res.instance;
-        result.importErrors(res);
       }
+      const result = {};
+      result[options.xml.xmlCharKey] = serializedValue;
+      result[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
+      return result;
     }
-    validators.patternProperties = function validatePatternProperties(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var patternProperties = schema2.patternProperties || {};
-      for (var property in instance) {
-        var test = true;
-        for (var pattern in patternProperties) {
-          var subschema = patternProperties[pattern];
-          if (subschema === void 0) {
-            continue;
-          } else if (subschema === null) {
-            throw new SchemaError('Unexpected null, expected schema in "patternProperties"');
+    function isSpecialXmlProperty(propertyName, options) {
+      return [interfaces_js_1.XML_ATTRKEY, options.xml.xmlCharKey].includes(propertyName);
+    }
+    function deserializeCompositeType(serializer, mapper, responseBody, objectName, options) {
+      const xmlCharKey = options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY;
+      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
+        mapper = getPolymorphicMapper(serializer, mapper, responseBody, "serializedName");
+      }
+      const modelProps = resolveModelProperties(serializer, mapper, objectName);
+      let instance = {};
+      const handledPropertyNames = [];
+      for (const key of Object.keys(modelProps)) {
+        const propertyMapper = modelProps[key];
+        const paths = splitSerializeName(modelProps[key].serializedName);
+        handledPropertyNames.push(paths[0]);
+        const { serializedName, xmlName, xmlElementName } = propertyMapper;
+        let propertyObjectName = objectName;
+        if (serializedName !== "" && serializedName !== void 0) {
+          propertyObjectName = objectName + "." + serializedName;
+        }
+        const headerCollectionPrefix = propertyMapper.headerCollectionPrefix;
+        if (headerCollectionPrefix) {
+          const dictionary = {};
+          for (const headerKey of Object.keys(responseBody)) {
+            if (headerKey.startsWith(headerCollectionPrefix)) {
+              dictionary[headerKey.substring(headerCollectionPrefix.length)] = serializer.deserialize(propertyMapper.type.value, responseBody[headerKey], propertyObjectName, options);
+            }
+            handledPropertyNames.push(headerKey);
           }
-          try {
-            var regexp = new RegExp(pattern, "u");
-          } catch (_e) {
-            regexp = new RegExp(pattern);
+          instance[key] = dictionary;
+        } else if (serializer.isXML) {
+          if (propertyMapper.xmlIsAttribute && responseBody[interfaces_js_1.XML_ATTRKEY]) {
+            instance[key] = serializer.deserialize(propertyMapper, responseBody[interfaces_js_1.XML_ATTRKEY][xmlName], propertyObjectName, options);
+          } else if (propertyMapper.xmlIsMsText) {
+            if (responseBody[xmlCharKey] !== void 0) {
+              instance[key] = responseBody[xmlCharKey];
+            } else if (typeof responseBody === "string") {
+              instance[key] = responseBody;
+            }
+          } else {
+            const propertyName = xmlElementName || xmlName || serializedName;
+            if (propertyMapper.xmlIsWrapped) {
+              const wrapped = responseBody[xmlName];
+              const elementList = wrapped?.[xmlElementName] ?? [];
+              instance[key] = serializer.deserialize(propertyMapper, elementList, propertyObjectName, options);
+              handledPropertyNames.push(xmlName);
+            } else {
+              const property = responseBody[propertyName];
+              instance[key] = serializer.deserialize(propertyMapper, property, propertyObjectName, options);
+              handledPropertyNames.push(propertyName);
+            }
           }
-          if (!regexp.test(property)) {
-            continue;
+        } else {
+          let propertyInstance;
+          let res = responseBody;
+          let steps = 0;
+          for (const item of paths) {
+            if (!res)
+              break;
+            steps++;
+            res = res[item];
           }
-          test = false;
-          if (typeof options.preValidateProperty == "function") {
-            options.preValidateProperty(instance, property, subschema, options, ctx);
+          if (res === null && steps < paths.length) {
+            res = void 0;
+          }
+          propertyInstance = res;
+          const polymorphicDiscriminator = mapper.type.polymorphicDiscriminator;
+          if (polymorphicDiscriminator && key === polymorphicDiscriminator.clientName && (propertyInstance === void 0 || propertyInstance === null)) {
+            propertyInstance = mapper.serializedName;
+          }
+          let serializedValue;
+          if (Array.isArray(responseBody[key]) && modelProps[key].serializedName === "") {
+            propertyInstance = responseBody[key];
+            const arrayInstance = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
+            for (const [k, v] of Object.entries(instance)) {
+              if (!Object.prototype.hasOwnProperty.call(arrayInstance, k)) {
+                arrayInstance[k] = v;
+              }
+            }
+            instance = arrayInstance;
+          } else if (propertyInstance !== void 0 || propertyMapper.defaultValue !== void 0) {
+            serializedValue = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
+            instance[key] = serializedValue;
           }
-          var res = this.validateSchema(instance[property], subschema, options, ctx.makeChild(subschema, property));
-          if (res.instance !== result.instance[property]) result.instance[property] = res.instance;
-          result.importErrors(res);
-        }
-        if (test) {
-          testAdditionalProperty.call(this, instance, schema2, options, ctx, property, result);
         }
       }
-      return result;
-    };
-    validators.additionalProperties = function validateAdditionalProperties(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      if (schema2.patternProperties) {
-        return null;
+      const additionalPropertiesMapper = mapper.type.additionalProperties;
+      if (additionalPropertiesMapper) {
+        const isAdditionalProperty = (responsePropName) => {
+          for (const clientPropName in modelProps) {
+            const paths = splitSerializeName(modelProps[clientPropName].serializedName);
+            if (paths[0] === responsePropName) {
+              return false;
+            }
+          }
+          return true;
+        };
+        for (const responsePropName in responseBody) {
+          if (isAdditionalProperty(responsePropName)) {
+            instance[responsePropName] = serializer.deserialize(additionalPropertiesMapper, responseBody[responsePropName], objectName + '["' + responsePropName + '"]', options);
+          }
+        }
+      } else if (responseBody && !options.ignoreUnknownProperties) {
+        for (const key of Object.keys(responseBody)) {
+          if (instance[key] === void 0 && !handledPropertyNames.includes(key) && !isSpecialXmlProperty(key, options)) {
+            instance[key] = responseBody[key];
+          }
+        }
       }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      for (var property in instance) {
-        testAdditionalProperty.call(this, instance, schema2, options, ctx, property, result);
+      return instance;
+    }
+    function deserializeDictionaryType(serializer, mapper, responseBody, objectName, options) {
+      const value = mapper.type.value;
+      if (!value || typeof value !== "object") {
+        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}`);
       }
-      return result;
-    };
-    validators.minProperties = function validateMinProperties(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var keys = Object.keys(instance);
-      if (!(keys.length >= schema2.minProperties)) {
-        result.addError({
-          name: "minProperties",
-          argument: schema2.minProperties,
-          message: "does not meet minimum property length of " + schema2.minProperties
-        });
+      if (responseBody) {
+        const tempDictionary = {};
+        for (const key of Object.keys(responseBody)) {
+          tempDictionary[key] = serializer.deserialize(value, responseBody[key], objectName, options);
+        }
+        return tempDictionary;
       }
-      return result;
-    };
-    validators.maxProperties = function validateMaxProperties(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var keys = Object.keys(instance);
-      if (!(keys.length <= schema2.maxProperties)) {
-        result.addError({
-          name: "maxProperties",
-          argument: schema2.maxProperties,
-          message: "does not meet maximum property length of " + schema2.maxProperties
-        });
+      return responseBody;
+    }
+    function deserializeSequenceType(serializer, mapper, responseBody, objectName, options) {
+      let element = mapper.type.element;
+      if (!element || typeof element !== "object") {
+        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}`);
       }
-      return result;
-    };
-    validators.items = function validateItems(instance, schema2, options, ctx) {
-      var self2 = this;
-      if (!this.types.array(instance)) return;
-      if (schema2.items === void 0) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      instance.every(function(value, i) {
-        if (Array.isArray(schema2.items)) {
-          var items = schema2.items[i] === void 0 ? schema2.additionalItems : schema2.items[i];
-        } else {
-          var items = schema2.items;
+      if (responseBody) {
+        if (!Array.isArray(responseBody)) {
+          responseBody = [responseBody];
         }
-        if (items === void 0) {
-          return true;
+        if (element.type.name === "Composite" && element.type.className) {
+          element = serializer.modelMappers[element.type.className] ?? element;
         }
-        if (items === false) {
-          result.addError({
-            name: "items",
-            message: "additionalItems not permitted"
-          });
-          return false;
+        const tempArray = [];
+        for (let i = 0; i < responseBody.length; i++) {
+          tempArray[i] = serializer.deserialize(element, responseBody[i], `${objectName}[${i}]`, options);
         }
-        var res = self2.validateSchema(value, items, options, ctx.makeChild(items, i));
-        if (res.instance !== result.instance[i]) result.instance[i] = res.instance;
-        result.importErrors(res);
-        return true;
-      });
-      return result;
-    };
-    validators.contains = function validateContains(instance, schema2, options, ctx) {
-      var self2 = this;
-      if (!this.types.array(instance)) return;
-      if (schema2.contains === void 0) return;
-      if (!helpers.isSchema(schema2.contains)) throw new Error('Expected "contains" keyword to be a schema');
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var count = instance.some(function(value, i) {
-        var res = self2.validateSchema(value, schema2.contains, options, ctx.makeChild(schema2.contains, i));
-        return res.errors.length === 0;
-      });
-      if (count === false) {
-        result.addError({
-          name: "contains",
-          argument: schema2.contains,
-          message: "must contain an item matching given schema"
-        });
+        return tempArray;
       }
-      return result;
-    };
-    validators.minimum = function validateMinimum(instance, schema2, options, ctx) {
-      if (!this.types.number(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (schema2.exclusiveMinimum && schema2.exclusiveMinimum === true) {
-        if (!(instance > schema2.minimum)) {
-          result.addError({
-            name: "minimum",
-            argument: schema2.minimum,
-            message: "must be greater than " + schema2.minimum
-          });
-        }
-      } else {
-        if (!(instance >= schema2.minimum)) {
-          result.addError({
-            name: "minimum",
-            argument: schema2.minimum,
-            message: "must be greater than or equal to " + schema2.minimum
-          });
+      return responseBody;
+    }
+    function getIndexDiscriminator(discriminators, discriminatorValue, typeName) {
+      const typeNamesToCheck = [typeName];
+      while (typeNamesToCheck.length) {
+        const currentName = typeNamesToCheck.shift();
+        const indexDiscriminator = discriminatorValue === currentName ? discriminatorValue : currentName + "." + discriminatorValue;
+        if (Object.prototype.hasOwnProperty.call(discriminators, indexDiscriminator)) {
+          return discriminators[indexDiscriminator];
+        } else {
+          for (const [name, mapper] of Object.entries(discriminators)) {
+            if (name.startsWith(currentName + ".") && mapper.type.uberParent === currentName && mapper.type.className) {
+              typeNamesToCheck.push(mapper.type.className);
+            }
+          }
         }
       }
-      return result;
-    };
-    validators.maximum = function validateMaximum(instance, schema2, options, ctx) {
-      if (!this.types.number(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (schema2.exclusiveMaximum && schema2.exclusiveMaximum === true) {
-        if (!(instance < schema2.maximum)) {
-          result.addError({
-            name: "maximum",
-            argument: schema2.maximum,
-            message: "must be less than " + schema2.maximum
-          });
-        }
-      } else {
-        if (!(instance <= schema2.maximum)) {
-          result.addError({
-            name: "maximum",
-            argument: schema2.maximum,
-            message: "must be less than or equal to " + schema2.maximum
-          });
+      return void 0;
+    }
+    function getPolymorphicMapper(serializer, mapper, object, polymorphicPropertyName) {
+      const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
+      if (polymorphicDiscriminator) {
+        let discriminatorName = polymorphicDiscriminator[polymorphicPropertyName];
+        if (discriminatorName) {
+          if (polymorphicPropertyName === "serializedName") {
+            discriminatorName = discriminatorName.replace(/\\/gi, "");
+          }
+          const discriminatorValue = object[discriminatorName];
+          const typeName = mapper.type.uberParent ?? mapper.type.className;
+          if (typeof discriminatorValue === "string" && typeName) {
+            const polymorphicMapper = getIndexDiscriminator(serializer.modelMappers.discriminators, discriminatorValue, typeName);
+            if (polymorphicMapper) {
+              mapper = polymorphicMapper;
+            }
+          }
         }
       }
-      return result;
+      return mapper;
+    }
+    function getPolymorphicDiscriminatorRecursively(serializer, mapper) {
+      return mapper.type.polymorphicDiscriminator || getPolymorphicDiscriminatorSafely(serializer, mapper.type.uberParent) || getPolymorphicDiscriminatorSafely(serializer, mapper.type.className);
+    }
+    function getPolymorphicDiscriminatorSafely(serializer, typeName) {
+      return typeName && serializer.modelMappers[typeName] && serializer.modelMappers[typeName].type.polymorphicDiscriminator;
+    }
+    exports2.MapperTypeNames = {
+      Base64Url: "Base64Url",
+      Boolean: "Boolean",
+      ByteArray: "ByteArray",
+      Composite: "Composite",
+      Date: "Date",
+      DateTime: "DateTime",
+      DateTimeRfc1123: "DateTimeRfc1123",
+      Dictionary: "Dictionary",
+      Enum: "Enum",
+      Number: "Number",
+      Object: "Object",
+      Sequence: "Sequence",
+      String: "String",
+      Stream: "Stream",
+      TimeSpan: "TimeSpan",
+      UnixTime: "UnixTime"
     };
-    validators.exclusiveMinimum = function validateExclusiveMinimum(instance, schema2, options, ctx) {
-      if (typeof schema2.exclusiveMinimum === "boolean") return;
-      if (!this.types.number(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var valid3 = instance > schema2.exclusiveMinimum;
-      if (!valid3) {
-        result.addError({
-          name: "exclusiveMinimum",
-          argument: schema2.exclusiveMinimum,
-          message: "must be strictly greater than " + schema2.exclusiveMinimum
-        });
-      }
-      return result;
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/state.js
+var require_state2 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/state.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.state = void 0;
+    exports2.state = {
+      operationRequestMap: /* @__PURE__ */ new WeakMap()
     };
-    validators.exclusiveMaximum = function validateExclusiveMaximum(instance, schema2, options, ctx) {
-      if (typeof schema2.exclusiveMaximum === "boolean") return;
-      if (!this.types.number(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var valid3 = instance < schema2.exclusiveMaximum;
-      if (!valid3) {
-        result.addError({
-          name: "exclusiveMaximum",
-          argument: schema2.exclusiveMaximum,
-          message: "must be strictly less than " + schema2.exclusiveMaximum
-        });
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/operationHelpers.js
+var require_operationHelpers = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/operationHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getOperationArgumentValueFromParameter = getOperationArgumentValueFromParameter;
+    exports2.getOperationRequestInfo = getOperationRequestInfo;
+    var state_js_1 = require_state2();
+    function getOperationArgumentValueFromParameter(operationArguments, parameter, fallbackObject) {
+      let parameterPath = parameter.parameterPath;
+      const parameterMapper = parameter.mapper;
+      let value;
+      if (typeof parameterPath === "string") {
+        parameterPath = [parameterPath];
       }
-      return result;
-    };
-    var validateMultipleOfOrDivisbleBy = function validateMultipleOfOrDivisbleBy2(instance, schema2, options, ctx, validationType, errorMessage) {
-      if (!this.types.number(instance)) return;
-      var validationArgument = schema2[validationType];
-      if (validationArgument == 0) {
-        throw new SchemaError(validationType + " cannot be zero");
+      if (Array.isArray(parameterPath)) {
+        if (parameterPath.length > 0) {
+          if (parameterMapper.isConstant) {
+            value = parameterMapper.defaultValue;
+          } else {
+            let propertySearchResult = getPropertyFromParameterPath(operationArguments, parameterPath);
+            if (!propertySearchResult.propertyFound && fallbackObject) {
+              propertySearchResult = getPropertyFromParameterPath(fallbackObject, parameterPath);
+            }
+            let useDefaultValue = false;
+            if (!propertySearchResult.propertyFound) {
+              useDefaultValue = parameterMapper.required || parameterPath[0] === "options" && parameterPath.length === 2;
+            }
+            value = useDefaultValue ? parameterMapper.defaultValue : propertySearchResult.propertyValue;
+          }
+        }
+      } else {
+        if (parameterMapper.required) {
+          value = {};
+        }
+        for (const propertyName in parameterPath) {
+          const propertyMapper = parameterMapper.type.modelProperties[propertyName];
+          const propertyPath = parameterPath[propertyName];
+          const propertyValue = getOperationArgumentValueFromParameter(operationArguments, {
+            parameterPath: propertyPath,
+            mapper: propertyMapper
+          }, fallbackObject);
+          if (propertyValue !== void 0) {
+            if (!value) {
+              value = {};
+            }
+            value[propertyName] = propertyValue;
+          }
+        }
       }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var instanceDecimals = helpers.getDecimalPlaces(instance);
-      var divisorDecimals = helpers.getDecimalPlaces(validationArgument);
-      var maxDecimals = Math.max(instanceDecimals, divisorDecimals);
-      var multiplier = Math.pow(10, maxDecimals);
-      if (Math.round(instance * multiplier) % Math.round(validationArgument * multiplier) !== 0) {
-        result.addError({
-          name: validationType,
-          argument: validationArgument,
-          message: errorMessage + JSON.stringify(validationArgument)
-        });
+      return value;
+    }
+    function getPropertyFromParameterPath(parent, parameterPath) {
+      const result = { propertyFound: false };
+      let i = 0;
+      for (; i < parameterPath.length; ++i) {
+        const parameterPathPart = parameterPath[i];
+        if (parent && parameterPathPart in parent) {
+          parent = parent[parameterPathPart];
+        } else {
+          break;
+        }
       }
-      return result;
-    };
-    validators.multipleOf = function validateMultipleOf(instance, schema2, options, ctx) {
-      return validateMultipleOfOrDivisbleBy.call(this, instance, schema2, options, ctx, "multipleOf", "is not a multiple of (divisible by) ");
-    };
-    validators.divisibleBy = function validateDivisibleBy(instance, schema2, options, ctx) {
-      return validateMultipleOfOrDivisbleBy.call(this, instance, schema2, options, ctx, "divisibleBy", "is not divisible by (multiple of) ");
-    };
-    validators.required = function validateRequired(instance, schema2, options, ctx) {
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (instance === void 0 && schema2.required === true) {
-        result.addError({
-          name: "required",
-          message: "is required"
-        });
-      } else if (this.types.object(instance) && Array.isArray(schema2.required)) {
-        schema2.required.forEach(function(n) {
-          if (getEnumerableProperty(instance, n) === void 0) {
-            result.addError({
-              name: "required",
-              argument: n,
-              message: "requires property " + JSON.stringify(n)
-            });
-          }
-        });
+      if (i === parameterPath.length) {
+        result.propertyValue = parent;
+        result.propertyFound = true;
       }
       return result;
-    };
-    validators.pattern = function validatePattern(instance, schema2, options, ctx) {
-      if (!this.types.string(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var pattern = schema2.pattern;
-      try {
-        var regexp = new RegExp(pattern, "u");
-      } catch (_e) {
-        regexp = new RegExp(pattern);
+    }
+    var originalRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
+    function hasOriginalRequest(request2) {
+      return originalRequestSymbol in request2;
+    }
+    function getOperationRequestInfo(request2) {
+      if (hasOriginalRequest(request2)) {
+        return getOperationRequestInfo(request2[originalRequestSymbol]);
       }
-      if (!instance.match(regexp)) {
-        result.addError({
-          name: "pattern",
-          argument: schema2.pattern,
-          message: "does not match pattern " + JSON.stringify(schema2.pattern.toString())
-        });
+      let info7 = state_js_1.state.operationRequestMap.get(request2);
+      if (!info7) {
+        info7 = {};
+        state_js_1.state.operationRequestMap.set(request2, info7);
       }
-      return result;
-    };
-    validators.format = function validateFormat(instance, schema2, options, ctx) {
-      if (instance === void 0) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (!result.disableFormat && !helpers.isFormat(instance, schema2.format, this)) {
-        result.addError({
-          name: "format",
-          argument: schema2.format,
-          message: "does not conform to the " + JSON.stringify(schema2.format) + " format"
-        });
+      return info7;
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js
+var require_deserializationPolicy = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.deserializationPolicyName = void 0;
+    exports2.deserializationPolicy = deserializationPolicy;
+    var interfaces_js_1 = require_interfaces();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var serializer_js_1 = require_serializer();
+    var operationHelpers_js_1 = require_operationHelpers();
+    var defaultJsonContentTypes = ["application/json", "text/json"];
+    var defaultXmlContentTypes = ["application/xml", "application/atom+xml"];
+    exports2.deserializationPolicyName = "deserializationPolicy";
+    function deserializationPolicy(options = {}) {
+      const jsonContentTypes = options.expectedContentTypes?.json ?? defaultJsonContentTypes;
+      const xmlContentTypes = options.expectedContentTypes?.xml ?? defaultXmlContentTypes;
+      const parseXML = options.parseXML;
+      const serializerOptions = options.serializerOptions;
+      const updatedOptions = {
+        xml: {
+          rootName: serializerOptions?.xml.rootName ?? "",
+          includeRoot: serializerOptions?.xml.includeRoot ?? false,
+          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+        }
+      };
+      return {
+        name: exports2.deserializationPolicyName,
+        async sendRequest(request2, next) {
+          const response = await next(request2);
+          return deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, updatedOptions, parseXML);
+        }
+      };
+    }
+    function getOperationResponseMap(parsedResponse) {
+      let result;
+      const request2 = parsedResponse.request;
+      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+      const operationSpec = operationInfo?.operationSpec;
+      if (operationSpec) {
+        if (!operationInfo?.operationResponseGetter) {
+          result = operationSpec.responses[parsedResponse.status];
+        } else {
+          result = operationInfo?.operationResponseGetter(operationSpec, parsedResponse);
+        }
       }
       return result;
-    };
-    validators.minLength = function validateMinLength(instance, schema2, options, ctx) {
-      if (!this.types.string(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var hsp = instance.match(/[\uDC00-\uDFFF]/g);
-      var length = instance.length - (hsp ? hsp.length : 0);
-      if (!(length >= schema2.minLength)) {
-        result.addError({
-          name: "minLength",
-          argument: schema2.minLength,
-          message: "does not meet minimum length of " + schema2.minLength
-        });
+    }
+    function shouldDeserializeResponse(parsedResponse) {
+      const request2 = parsedResponse.request;
+      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+      const shouldDeserialize = operationInfo?.shouldDeserialize;
+      let result;
+      if (shouldDeserialize === void 0) {
+        result = true;
+      } else if (typeof shouldDeserialize === "boolean") {
+        result = shouldDeserialize;
+      } else {
+        result = shouldDeserialize(parsedResponse);
       }
       return result;
-    };
-    validators.maxLength = function validateMaxLength(instance, schema2, options, ctx) {
-      if (!this.types.string(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var hsp = instance.match(/[\uDC00-\uDFFF]/g);
-      var length = instance.length - (hsp ? hsp.length : 0);
-      if (!(length <= schema2.maxLength)) {
-        result.addError({
-          name: "maxLength",
-          argument: schema2.maxLength,
-          message: "does not meet maximum length of " + schema2.maxLength
-        });
+    }
+    async function deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, options, parseXML) {
+      const parsedResponse = await parse2(jsonContentTypes, xmlContentTypes, response, options, parseXML);
+      if (!shouldDeserializeResponse(parsedResponse)) {
+        return parsedResponse;
       }
-      return result;
-    };
-    validators.minItems = function validateMinItems(instance, schema2, options, ctx) {
-      if (!this.types.array(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (!(instance.length >= schema2.minItems)) {
-        result.addError({
-          name: "minItems",
-          argument: schema2.minItems,
-          message: "does not meet minimum length of " + schema2.minItems
-        });
+      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(parsedResponse.request);
+      const operationSpec = operationInfo?.operationSpec;
+      if (!operationSpec || !operationSpec.responses) {
+        return parsedResponse;
       }
-      return result;
-    };
-    validators.maxItems = function validateMaxItems(instance, schema2, options, ctx) {
-      if (!this.types.array(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (!(instance.length <= schema2.maxItems)) {
-        result.addError({
-          name: "maxItems",
-          argument: schema2.maxItems,
-          message: "does not meet maximum length of " + schema2.maxItems
-        });
+      const responseSpec = getOperationResponseMap(parsedResponse);
+      const { error: error3, shouldReturnResponse } = handleErrorResponse(parsedResponse, operationSpec, responseSpec, options);
+      if (error3) {
+        throw error3;
+      } else if (shouldReturnResponse) {
+        return parsedResponse;
       }
-      return result;
-    };
-    function testArrays(v, i, a) {
-      var j, len = a.length;
-      for (j = i + 1, len; j < len; j++) {
-        if (helpers.deepCompareStrict(v, a[j])) {
-          return false;
+      if (responseSpec) {
+        if (responseSpec.bodyMapper) {
+          let valueToDeserialize = parsedResponse.parsedBody;
+          if (operationSpec.isXML && responseSpec.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
+            valueToDeserialize = typeof valueToDeserialize === "object" ? valueToDeserialize[responseSpec.bodyMapper.xmlElementName] : [];
+          }
+          try {
+            parsedResponse.parsedBody = operationSpec.serializer.deserialize(responseSpec.bodyMapper, valueToDeserialize, "operationRes.parsedBody", options);
+          } catch (deserializeError) {
+            const restError = new core_rest_pipeline_1.RestError(`Error ${deserializeError} occurred in deserializing the responseBody - ${parsedResponse.bodyAsText}`, {
+              statusCode: parsedResponse.status,
+              request: parsedResponse.request,
+              response: parsedResponse
+            });
+            throw restError;
+          }
+        } else if (operationSpec.httpMethod === "HEAD") {
+          parsedResponse.parsedBody = response.status >= 200 && response.status < 300;
+        }
+        if (responseSpec.headersMapper) {
+          parsedResponse.parsedHeaders = operationSpec.serializer.deserialize(responseSpec.headersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders", { xml: {}, ignoreUnknownProperties: true });
         }
       }
-      return true;
+      return parsedResponse;
     }
-    validators.uniqueItems = function validateUniqueItems(instance, schema2, options, ctx) {
-      if (schema2.uniqueItems !== true) return;
-      if (!this.types.array(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (!instance.every(testArrays)) {
-        result.addError({
-          name: "uniqueItems",
-          message: "contains duplicate item"
-        });
+    function isOperationSpecEmpty(operationSpec) {
+      const expectedStatusCodes = Object.keys(operationSpec.responses);
+      return expectedStatusCodes.length === 0 || expectedStatusCodes.length === 1 && expectedStatusCodes[0] === "default";
+    }
+    function handleErrorResponse(parsedResponse, operationSpec, responseSpec, options) {
+      const isSuccessByStatus = 200 <= parsedResponse.status && parsedResponse.status < 300;
+      const isExpectedStatusCode = isOperationSpecEmpty(operationSpec) ? isSuccessByStatus : !!responseSpec;
+      if (isExpectedStatusCode) {
+        if (responseSpec) {
+          if (!responseSpec.isError) {
+            return { error: null, shouldReturnResponse: false };
+          }
+        } else {
+          return { error: null, shouldReturnResponse: false };
+        }
       }
-      return result;
-    };
-    validators.dependencies = function validateDependencies(instance, schema2, options, ctx) {
-      if (!this.types.object(instance)) return;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      for (var property in schema2.dependencies) {
-        if (instance[property] === void 0) {
-          continue;
+      const errorResponseSpec = responseSpec ?? operationSpec.responses.default;
+      const initialErrorMessage = parsedResponse.request.streamResponseStatusCodes?.has(parsedResponse.status) ? `Unexpected status code: ${parsedResponse.status}` : parsedResponse.bodyAsText;
+      const error3 = new core_rest_pipeline_1.RestError(initialErrorMessage, {
+        statusCode: parsedResponse.status,
+        request: parsedResponse.request,
+        response: parsedResponse
+      });
+      if (!errorResponseSpec && !(parsedResponse.parsedBody?.error?.code && parsedResponse.parsedBody?.error?.message)) {
+        throw error3;
+      }
+      const defaultBodyMapper = errorResponseSpec?.bodyMapper;
+      const defaultHeadersMapper = errorResponseSpec?.headersMapper;
+      try {
+        if (parsedResponse.parsedBody) {
+          const parsedBody = parsedResponse.parsedBody;
+          let deserializedError;
+          if (defaultBodyMapper) {
+            let valueToDeserialize = parsedBody;
+            if (operationSpec.isXML && defaultBodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
+              valueToDeserialize = [];
+              const elementName = defaultBodyMapper.xmlElementName;
+              if (typeof parsedBody === "object" && elementName) {
+                valueToDeserialize = parsedBody[elementName];
+              }
+            }
+            deserializedError = operationSpec.serializer.deserialize(defaultBodyMapper, valueToDeserialize, "error.response.parsedBody", options);
+          }
+          const internalError = parsedBody.error || deserializedError || parsedBody;
+          error3.code = internalError.code;
+          if (internalError.message) {
+            error3.message = internalError.message;
+          }
+          if (defaultBodyMapper) {
+            error3.response.parsedBody = deserializedError;
+          }
         }
-        var dep = schema2.dependencies[property];
-        var childContext = ctx.makeChild(dep, property);
-        if (typeof dep == "string") {
-          dep = [dep];
+        if (parsedResponse.headers && defaultHeadersMapper) {
+          error3.response.parsedHeaders = operationSpec.serializer.deserialize(defaultHeadersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders");
         }
-        if (Array.isArray(dep)) {
-          dep.forEach(function(prop) {
-            if (instance[prop] === void 0) {
-              result.addError({
-                // FIXME there's two different "dependencies" errors here with slightly different outputs
-                // Can we make these the same? Or should we create different error types?
-                name: "dependencies",
-                argument: childContext.propertyPath,
-                message: "property " + prop + " not found, required by " + childContext.propertyPath
-              });
+      } catch (defaultError) {
+        error3.message = `Error "${defaultError.message}" occurred in deserializing the responseBody - "${parsedResponse.bodyAsText}" for the default response.`;
+      }
+      return { error: error3, shouldReturnResponse: false };
+    }
+    async function parse2(jsonContentTypes, xmlContentTypes, operationResponse, opts, parseXML) {
+      if (!operationResponse.request.streamResponseStatusCodes?.has(operationResponse.status) && operationResponse.bodyAsText) {
+        const text = operationResponse.bodyAsText;
+        const contentType = operationResponse.headers.get("Content-Type") || "";
+        const contentComponents = !contentType ? [] : contentType.split(";").map((component) => component.toLowerCase());
+        try {
+          if (contentComponents.length === 0 || contentComponents.some((component) => jsonContentTypes.indexOf(component) !== -1)) {
+            operationResponse.parsedBody = JSON.parse(text);
+            return operationResponse;
+          } else if (contentComponents.some((component) => xmlContentTypes.indexOf(component) !== -1)) {
+            if (!parseXML) {
+              throw new Error("Parsing XML not supported.");
             }
-          });
-        } else {
-          var res = this.validateSchema(instance, dep, options, childContext);
-          if (result.instance !== res.instance) result.instance = res.instance;
-          if (res && res.errors.length) {
-            result.addError({
-              name: "dependencies",
-              argument: childContext.propertyPath,
-              message: "does not meet dependency required by " + childContext.propertyPath
-            });
-            result.importErrors(res);
+            const body = await parseXML(text, opts.xml);
+            operationResponse.parsedBody = body;
+            return operationResponse;
           }
+        } catch (err) {
+          const msg = `Error "${err}" occurred while parsing the response body - ${operationResponse.bodyAsText}.`;
+          const errCode = err.code || core_rest_pipeline_1.RestError.PARSE_ERROR;
+          const e = new core_rest_pipeline_1.RestError(msg, {
+            code: errCode,
+            statusCode: operationResponse.status,
+            request: operationResponse.request,
+            response: operationResponse
+          });
+          throw e;
         }
       }
-      return result;
-    };
-    validators["enum"] = function validateEnum(instance, schema2, options, ctx) {
-      if (instance === void 0) {
-        return null;
-      }
-      if (!Array.isArray(schema2["enum"])) {
-        throw new SchemaError("enum expects an array", schema2);
-      }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (!schema2["enum"].some(helpers.deepCompareStrict.bind(null, instance))) {
-        result.addError({
-          name: "enum",
-          argument: schema2["enum"],
-          message: "is not one of enum values: " + schema2["enum"].map(String).join(",")
-        });
+      return operationResponse;
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js
+var require_interfaceHelpers = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getStreamingResponseStatusCodes = getStreamingResponseStatusCodes;
+    exports2.getPathStringFromParameter = getPathStringFromParameter;
+    var serializer_js_1 = require_serializer();
+    function getStreamingResponseStatusCodes(operationSpec) {
+      const result = /* @__PURE__ */ new Set();
+      for (const statusCode in operationSpec.responses) {
+        const operationResponse = operationSpec.responses[statusCode];
+        if (operationResponse.bodyMapper && operationResponse.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Stream) {
+          result.add(Number(statusCode));
+        }
       }
       return result;
-    };
-    validators["const"] = function validateEnum(instance, schema2, options, ctx) {
-      if (instance === void 0) {
-        return null;
-      }
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (!helpers.deepCompareStrict(schema2["const"], instance)) {
-        result.addError({
-          name: "const",
-          argument: schema2["const"],
-          message: "does not exactly match expected constant: " + schema2["const"]
-        });
+    }
+    function getPathStringFromParameter(parameter) {
+      const { parameterPath, mapper } = parameter;
+      let result;
+      if (typeof parameterPath === "string") {
+        result = parameterPath;
+      } else if (Array.isArray(parameterPath)) {
+        result = parameterPath.join(".");
+      } else {
+        result = mapper.serializedName;
       }
       return result;
-    };
-    validators.not = validators.disallow = function validateNot(instance, schema2, options, ctx) {
-      var self2 = this;
-      if (instance === void 0) return null;
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      var notTypes = schema2.not || schema2.disallow;
-      if (!notTypes) return null;
-      if (!Array.isArray(notTypes)) notTypes = [notTypes];
-      notTypes.forEach(function(type2) {
-        if (self2.testType(instance, schema2, options, ctx, type2)) {
-          var id = type2 && (type2.$id || type2.id);
-          var schemaId = id || type2;
-          result.addError({
-            name: "not",
-            argument: schemaId,
-            message: "is of prohibited type " + schemaId
-          });
-        }
-      });
-      return result;
-    };
-    module2.exports = attribute;
+    }
   }
 });
 
-// node_modules/jsonschema/lib/scan.js
-var require_scan = __commonJS({
-  "node_modules/jsonschema/lib/scan.js"(exports2, module2) {
+// node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js
+var require_serializationPolicy = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js"(exports2) {
     "use strict";
-    var urilib = require("url");
-    var helpers = require_helpers();
-    module2.exports.SchemaScanResult = SchemaScanResult;
-    function SchemaScanResult(found, ref) {
-      this.id = found;
-      this.ref = ref;
-    }
-    module2.exports.scan = function scan(base, schema2) {
-      function scanSchema(baseuri, schema3) {
-        if (!schema3 || typeof schema3 != "object") return;
-        if (schema3.$ref) {
-          var resolvedUri = urilib.resolve(baseuri, schema3.$ref);
-          ref[resolvedUri] = ref[resolvedUri] ? ref[resolvedUri] + 1 : 0;
-          return;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.serializationPolicyName = void 0;
+    exports2.serializationPolicy = serializationPolicy;
+    exports2.serializeHeaders = serializeHeaders;
+    exports2.serializeRequestBody = serializeRequestBody;
+    var interfaces_js_1 = require_interfaces();
+    var operationHelpers_js_1 = require_operationHelpers();
+    var serializer_js_1 = require_serializer();
+    var interfaceHelpers_js_1 = require_interfaceHelpers();
+    exports2.serializationPolicyName = "serializationPolicy";
+    function serializationPolicy(options = {}) {
+      const stringifyXML = options.stringifyXML;
+      return {
+        name: exports2.serializationPolicyName,
+        async sendRequest(request2, next) {
+          const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+          const operationSpec = operationInfo?.operationSpec;
+          const operationArguments = operationInfo?.operationArguments;
+          if (operationSpec && operationArguments) {
+            serializeHeaders(request2, operationArguments, operationSpec);
+            serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML);
+          }
+          return next(request2);
         }
-        var id = schema3.$id || schema3.id;
-        var ourBase = id ? urilib.resolve(baseuri, id) : baseuri;
-        if (ourBase) {
-          if (ourBase.indexOf("#") < 0) ourBase += "#";
-          if (found[ourBase]) {
-            if (!helpers.deepCompareStrict(found[ourBase], schema3)) {
-              throw new Error("Schema <" + ourBase + "> already exists with different definition");
+      };
+    }
+    function serializeHeaders(request2, operationArguments, operationSpec) {
+      if (operationSpec.headerParameters) {
+        for (const headerParameter of operationSpec.headerParameters) {
+          let headerValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, headerParameter);
+          if (headerValue !== null && headerValue !== void 0 || headerParameter.mapper.required) {
+            headerValue = operationSpec.serializer.serialize(headerParameter.mapper, headerValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter));
+            const headerCollectionPrefix = headerParameter.mapper.headerCollectionPrefix;
+            if (headerCollectionPrefix) {
+              for (const key of Object.keys(headerValue)) {
+                request2.headers.set(headerCollectionPrefix + key, headerValue[key]);
+              }
+            } else {
+              request2.headers.set(headerParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter), headerValue);
             }
-            return found[ourBase];
-          }
-          found[ourBase] = schema3;
-          if (ourBase[ourBase.length - 1] == "#") {
-            found[ourBase.substring(0, ourBase.length - 1)] = schema3;
           }
         }
-        scanArray(ourBase + "/items", Array.isArray(schema3.items) ? schema3.items : [schema3.items]);
-        scanArray(ourBase + "/extends", Array.isArray(schema3.extends) ? schema3.extends : [schema3.extends]);
-        scanSchema(ourBase + "/additionalItems", schema3.additionalItems);
-        scanObject(ourBase + "/properties", schema3.properties);
-        scanSchema(ourBase + "/additionalProperties", schema3.additionalProperties);
-        scanObject(ourBase + "/definitions", schema3.definitions);
-        scanObject(ourBase + "/patternProperties", schema3.patternProperties);
-        scanObject(ourBase + "/dependencies", schema3.dependencies);
-        scanArray(ourBase + "/disallow", schema3.disallow);
-        scanArray(ourBase + "/allOf", schema3.allOf);
-        scanArray(ourBase + "/anyOf", schema3.anyOf);
-        scanArray(ourBase + "/oneOf", schema3.oneOf);
-        scanSchema(ourBase + "/not", schema3.not);
       }
-      function scanArray(baseuri, schemas) {
-        if (!Array.isArray(schemas)) return;
-        for (var i = 0; i < schemas.length; i++) {
-          scanSchema(baseuri + "/" + i, schemas[i]);
+      const customHeaders = operationArguments.options?.requestOptions?.customHeaders;
+      if (customHeaders) {
+        for (const customHeaderName of Object.keys(customHeaders)) {
+          request2.headers.set(customHeaderName, customHeaders[customHeaderName]);
         }
       }
-      function scanObject(baseuri, schemas) {
-        if (!schemas || typeof schemas != "object") return;
-        for (var p in schemas) {
-          scanSchema(baseuri + "/" + p, schemas[p]);
+    }
+    function serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML = function() {
+      throw new Error("XML serialization unsupported!");
+    }) {
+      const serializerOptions = operationArguments.options?.serializerOptions;
+      const updatedOptions = {
+        xml: {
+          rootName: serializerOptions?.xml.rootName ?? "",
+          includeRoot: serializerOptions?.xml.includeRoot ?? false,
+          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+        }
+      };
+      const xmlCharKey = updatedOptions.xml.xmlCharKey;
+      if (operationSpec.requestBody && operationSpec.requestBody.mapper) {
+        request2.body = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, operationSpec.requestBody);
+        const bodyMapper = operationSpec.requestBody.mapper;
+        const { required, serializedName, xmlName, xmlElementName, xmlNamespace, xmlNamespacePrefix, nullable } = bodyMapper;
+        const typeName = bodyMapper.type.name;
+        try {
+          if (request2.body !== void 0 && request2.body !== null || nullable && request2.body === null || required) {
+            const requestBodyParameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(operationSpec.requestBody);
+            request2.body = operationSpec.serializer.serialize(bodyMapper, request2.body, requestBodyParameterPathString, updatedOptions);
+            const isStream = typeName === serializer_js_1.MapperTypeNames.Stream;
+            if (operationSpec.isXML) {
+              const xmlnsKey = xmlNamespacePrefix ? `xmlns:${xmlNamespacePrefix}` : "xmlns";
+              const value = getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, request2.body, updatedOptions);
+              if (typeName === serializer_js_1.MapperTypeNames.Sequence) {
+                request2.body = stringifyXML(prepareXMLRootList(value, xmlElementName || xmlName || serializedName, xmlnsKey, xmlNamespace), { rootName: xmlName || serializedName, xmlCharKey });
+              } else if (!isStream) {
+                request2.body = stringifyXML(value, {
+                  rootName: xmlName || serializedName,
+                  xmlCharKey
+                });
+              }
+            } else if (typeName === serializer_js_1.MapperTypeNames.String && (operationSpec.contentType?.match("text/plain") || operationSpec.mediaType === "text")) {
+              return;
+            } else if (!isStream) {
+              request2.body = JSON.stringify(request2.body);
+            }
+          }
+        } catch (error3) {
+          throw new Error(`Error "${error3.message}" occurred in serializing the payload - ${JSON.stringify(serializedName, void 0, "  ")}.`);
+        }
+      } else if (operationSpec.formDataParameters && operationSpec.formDataParameters.length > 0) {
+        request2.formData = {};
+        for (const formDataParameter of operationSpec.formDataParameters) {
+          const formDataParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, formDataParameter);
+          if (formDataParameterValue !== void 0 && formDataParameterValue !== null) {
+            const formDataParameterPropertyName = formDataParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter);
+            request2.formData[formDataParameterPropertyName] = operationSpec.serializer.serialize(formDataParameter.mapper, formDataParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter), updatedOptions);
+          }
         }
       }
-      var found = {};
-      var ref = {};
-      scanSchema(base, schema2);
-      return new SchemaScanResult(found, ref);
-    };
+    }
+    function getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, serializedValue, options) {
+      if (xmlNamespace && !["Composite", "Sequence", "Dictionary"].includes(typeName)) {
+        const result = {};
+        result[options.xml.xmlCharKey] = serializedValue;
+        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: xmlNamespace };
+        return result;
+      }
+      return serializedValue;
+    }
+    function prepareXMLRootList(obj, elementName, xmlNamespaceKey, xmlNamespace) {
+      if (!Array.isArray(obj)) {
+        obj = [obj];
+      }
+      if (!xmlNamespaceKey || !xmlNamespace) {
+        return { [elementName]: obj };
+      }
+      const result = { [elementName]: obj };
+      result[interfaces_js_1.XML_ATTRKEY] = { [xmlNamespaceKey]: xmlNamespace };
+      return result;
+    }
   }
 });
 
-// node_modules/jsonschema/lib/validator.js
-var require_validator = __commonJS({
-  "node_modules/jsonschema/lib/validator.js"(exports2, module2) {
+// node_modules/@azure/core-client/dist/commonjs/pipeline.js
+var require_pipeline3 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/pipeline.js"(exports2) {
     "use strict";
-    var urilib = require("url");
-    var attribute = require_attribute();
-    var helpers = require_helpers();
-    var scanSchema = require_scan().scan;
-    var ValidatorResult = helpers.ValidatorResult;
-    var ValidatorResultError = helpers.ValidatorResultError;
-    var SchemaError = helpers.SchemaError;
-    var SchemaContext = helpers.SchemaContext;
-    var anonymousBase = "/";
-    var Validator2 = function Validator3() {
-      this.customFormats = Object.create(Validator3.prototype.customFormats);
-      this.schemas = {};
-      this.unresolvedRefs = [];
-      this.types = Object.create(types);
-      this.attributes = Object.create(attribute.validators);
-    };
-    Validator2.prototype.customFormats = {};
-    Validator2.prototype.schemas = null;
-    Validator2.prototype.types = null;
-    Validator2.prototype.attributes = null;
-    Validator2.prototype.unresolvedRefs = null;
-    Validator2.prototype.addSchema = function addSchema(schema2, base) {
-      var self2 = this;
-      if (!schema2) {
-        return null;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createClientPipeline = createClientPipeline;
+    var deserializationPolicy_js_1 = require_deserializationPolicy();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var serializationPolicy_js_1 = require_serializationPolicy();
+    function createClientPipeline(options = {}) {
+      const pipeline = (0, core_rest_pipeline_1.createPipelineFromOptions)(options ?? {});
+      if (options.credentialOptions) {
+        pipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+          credential: options.credentialOptions.credential,
+          scopes: options.credentialOptions.credentialScopes
+        }));
       }
-      var scan = scanSchema(base || anonymousBase, schema2);
-      var ourUri = base || schema2.$id || schema2.id;
-      for (var uri in scan.id) {
-        this.schemas[uri] = scan.id[uri];
+      pipeline.addPolicy((0, serializationPolicy_js_1.serializationPolicy)(options.serializationOptions), { phase: "Serialize" });
+      pipeline.addPolicy((0, deserializationPolicy_js_1.deserializationPolicy)(options.deserializationOptions), {
+        phase: "Deserialize"
+      });
+      return pipeline;
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/httpClientCache.js
+var require_httpClientCache = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/httpClientCache.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var cachedHttpClient;
+    function getCachedDefaultHttpClient() {
+      if (!cachedHttpClient) {
+        cachedHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
       }
-      for (var uri in scan.ref) {
-        this.unresolvedRefs.push(uri);
+      return cachedHttpClient;
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/urlHelpers.js
+var require_urlHelpers2 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/urlHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getRequestUrl = getRequestUrl;
+    exports2.appendQueryParams = appendQueryParams;
+    var operationHelpers_js_1 = require_operationHelpers();
+    var interfaceHelpers_js_1 = require_interfaceHelpers();
+    var CollectionFormatToDelimiterMap = {
+      CSV: ",",
+      SSV: " ",
+      Multi: "Multi",
+      TSV: "	",
+      Pipes: "|"
+    };
+    function getRequestUrl(baseUri, operationSpec, operationArguments, fallbackObject) {
+      const urlReplacements = calculateUrlReplacements(operationSpec, operationArguments, fallbackObject);
+      let isAbsolutePath = false;
+      let requestUrl = replaceAll(baseUri, urlReplacements);
+      if (operationSpec.path) {
+        let path4 = replaceAll(operationSpec.path, urlReplacements);
+        if (operationSpec.path === "/{nextLink}" && path4.startsWith("/")) {
+          path4 = path4.substring(1);
+        }
+        if (isAbsoluteUrl(path4)) {
+          requestUrl = path4;
+          isAbsolutePath = true;
+        } else {
+          requestUrl = appendPath(requestUrl, path4);
+        }
+      }
+      const { queryParams, sequenceParams } = calculateQueryParameters(operationSpec, operationArguments, fallbackObject);
+      requestUrl = appendQueryParams(requestUrl, queryParams, sequenceParams, isAbsolutePath);
+      return requestUrl;
+    }
+    function replaceAll(input, replacements) {
+      let result = input;
+      for (const [searchValue, replaceValue] of replacements) {
+        result = result.split(searchValue).join(replaceValue);
       }
-      this.unresolvedRefs = this.unresolvedRefs.filter(function(uri2) {
-        return typeof self2.schemas[uri2] === "undefined";
-      });
-      return this.schemas[ourUri];
-    };
-    Validator2.prototype.addSubSchemaArray = function addSubSchemaArray(baseuri, schemas) {
-      if (!Array.isArray(schemas)) return;
-      for (var i = 0; i < schemas.length; i++) {
-        this.addSubSchema(baseuri, schemas[i]);
+      return result;
+    }
+    function calculateUrlReplacements(operationSpec, operationArguments, fallbackObject) {
+      const result = /* @__PURE__ */ new Map();
+      if (operationSpec.urlParameters?.length) {
+        for (const urlParameter of operationSpec.urlParameters) {
+          let urlParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, urlParameter, fallbackObject);
+          const parameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(urlParameter);
+          urlParameterValue = operationSpec.serializer.serialize(urlParameter.mapper, urlParameterValue, parameterPathString);
+          if (!urlParameter.skipEncoding) {
+            urlParameterValue = encodeURIComponent(urlParameterValue);
+          }
+          result.set(`{${urlParameter.mapper.serializedName || parameterPathString}}`, urlParameterValue);
+        }
       }
-    };
-    Validator2.prototype.addSubSchemaObject = function addSubSchemaArray(baseuri, schemas) {
-      if (!schemas || typeof schemas != "object") return;
-      for (var p in schemas) {
-        this.addSubSchema(baseuri, schemas[p]);
+      return result;
+    }
+    function isAbsoluteUrl(url) {
+      return url.includes("://");
+    }
+    function appendPath(url, pathToAppend) {
+      if (!pathToAppend) {
+        return url;
       }
-    };
-    Validator2.prototype.setSchemas = function setSchemas(schemas) {
-      this.schemas = schemas;
-    };
-    Validator2.prototype.getSchema = function getSchema(urn) {
-      return this.schemas[urn];
-    };
-    Validator2.prototype.validate = function validate(instance, schema2, options, ctx) {
-      if (typeof schema2 !== "boolean" && typeof schema2 !== "object" || schema2 === null) {
-        throw new SchemaError("Expected `schema` to be an object or boolean");
+      const parsedUrl = new URL(url);
+      let newPath = parsedUrl.pathname;
+      if (!newPath.endsWith("/")) {
+        newPath = `${newPath}/`;
       }
-      if (!options) {
-        options = {};
+      if (pathToAppend.startsWith("/")) {
+        pathToAppend = pathToAppend.substring(1);
       }
-      var id = schema2.$id || schema2.id;
-      var base = urilib.resolve(options.base || anonymousBase, id || "");
-      if (!ctx) {
-        ctx = new SchemaContext(schema2, options, [], base, Object.create(this.schemas));
-        if (!ctx.schemas[base]) {
-          ctx.schemas[base] = schema2;
+      const searchStart = pathToAppend.indexOf("?");
+      if (searchStart !== -1) {
+        const path4 = pathToAppend.substring(0, searchStart);
+        const search = pathToAppend.substring(searchStart + 1);
+        newPath = newPath + path4;
+        if (search) {
+          parsedUrl.search = parsedUrl.search ? `${parsedUrl.search}&${search}` : search;
         }
-        var found = scanSchema(base, schema2);
-        for (var n in found.id) {
-          var sch = found.id[n];
-          ctx.schemas[n] = sch;
+      } else {
+        newPath = newPath + pathToAppend;
+      }
+      parsedUrl.pathname = newPath;
+      return parsedUrl.toString();
+    }
+    function calculateQueryParameters(operationSpec, operationArguments, fallbackObject) {
+      const result = /* @__PURE__ */ new Map();
+      const sequenceParams = /* @__PURE__ */ new Set();
+      if (operationSpec.queryParameters?.length) {
+        for (const queryParameter of operationSpec.queryParameters) {
+          if (queryParameter.mapper.type.name === "Sequence" && queryParameter.mapper.serializedName) {
+            sequenceParams.add(queryParameter.mapper.serializedName);
+          }
+          let queryParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, queryParameter, fallbackObject);
+          if (queryParameterValue !== void 0 && queryParameterValue !== null || queryParameter.mapper.required) {
+            queryParameterValue = operationSpec.serializer.serialize(queryParameter.mapper, queryParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter));
+            const delimiter = queryParameter.collectionFormat ? CollectionFormatToDelimiterMap[queryParameter.collectionFormat] : "";
+            if (Array.isArray(queryParameterValue)) {
+              queryParameterValue = queryParameterValue.map((item) => {
+                if (item === null || item === void 0) {
+                  return "";
+                }
+                return item;
+              });
+            }
+            if (queryParameter.collectionFormat === "Multi" && queryParameterValue.length === 0) {
+              continue;
+            } else if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "SSV" || queryParameter.collectionFormat === "TSV")) {
+              queryParameterValue = queryParameterValue.join(delimiter);
+            }
+            if (!queryParameter.skipEncoding) {
+              if (Array.isArray(queryParameterValue)) {
+                queryParameterValue = queryParameterValue.map((item) => {
+                  return encodeURIComponent(item);
+                });
+              } else {
+                queryParameterValue = encodeURIComponent(queryParameterValue);
+              }
+            }
+            if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "CSV" || queryParameter.collectionFormat === "Pipes")) {
+              queryParameterValue = queryParameterValue.join(delimiter);
+            }
+            result.set(queryParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter), queryParameterValue);
+          }
         }
       }
-      if (options.required && instance === void 0) {
-        var result = new ValidatorResult(instance, schema2, options, ctx);
-        result.addError("is required, but is undefined");
+      return {
+        queryParams: result,
+        sequenceParams
+      };
+    }
+    function simpleParseQueryParams(queryString) {
+      const result = /* @__PURE__ */ new Map();
+      if (!queryString || queryString[0] !== "?") {
         return result;
       }
-      var result = this.validateSchema(instance, schema2, options, ctx);
-      if (!result) {
-        throw new Error("Result undefined");
-      } else if (options.throwAll && result.errors.length) {
-        throw new ValidatorResultError(result);
+      queryString = queryString.slice(1);
+      const pairs2 = queryString.split("&");
+      for (const pair of pairs2) {
+        const [name, value] = pair.split("=", 2);
+        const existingValue = result.get(name);
+        if (existingValue) {
+          if (Array.isArray(existingValue)) {
+            existingValue.push(value);
+          } else {
+            result.set(name, [existingValue, value]);
+          }
+        } else {
+          result.set(name, value);
+        }
       }
       return result;
-    };
-    function shouldResolve(schema2) {
-      var ref = typeof schema2 === "string" ? schema2 : schema2.$ref;
-      if (typeof ref == "string") return ref;
-      return false;
     }
-    Validator2.prototype.validateSchema = function validateSchema(instance, schema2, options, ctx) {
-      var result = new ValidatorResult(instance, schema2, options, ctx);
-      if (typeof schema2 === "boolean") {
-        if (schema2 === true) {
-          schema2 = {};
-        } else if (schema2 === false) {
-          schema2 = { type: [] };
-        }
-      } else if (!schema2) {
-        throw new Error("schema is undefined");
+    function appendQueryParams(url, queryParams, sequenceParams, noOverwrite = false) {
+      if (queryParams.size === 0) {
+        return url;
       }
-      if (schema2["extends"]) {
-        if (Array.isArray(schema2["extends"])) {
-          var schemaobj = { schema: schema2, ctx };
-          schema2["extends"].forEach(this.schemaTraverser.bind(this, schemaobj));
-          schema2 = schemaobj.schema;
-          schemaobj.schema = null;
-          schemaobj.ctx = null;
-          schemaobj = null;
+      const parsedUrl = new URL(url);
+      const combinedParams = simpleParseQueryParams(parsedUrl.search);
+      for (const [name, value] of queryParams) {
+        const existingValue = combinedParams.get(name);
+        if (Array.isArray(existingValue)) {
+          if (Array.isArray(value)) {
+            existingValue.push(...value);
+            const valueSet = new Set(existingValue);
+            combinedParams.set(name, Array.from(valueSet));
+          } else {
+            existingValue.push(value);
+          }
+        } else if (existingValue) {
+          if (Array.isArray(value)) {
+            value.unshift(existingValue);
+          } else if (sequenceParams.has(name)) {
+            combinedParams.set(name, [existingValue, value]);
+          }
+          if (!noOverwrite) {
+            combinedParams.set(name, value);
+          }
         } else {
-          schema2 = helpers.deepMerge(schema2, this.superResolve(schema2["extends"], ctx));
+          combinedParams.set(name, value);
         }
       }
-      var switchSchema = shouldResolve(schema2);
-      if (switchSchema) {
-        var resolved = this.resolve(schema2, switchSchema, ctx);
-        var subctx = new SchemaContext(resolved.subschema, options, ctx.path, resolved.switchSchema, ctx.schemas);
-        return this.validateSchema(instance, resolved.subschema, options, subctx);
-      }
-      var skipAttributes = options && options.skipAttributes || [];
-      for (var key in schema2) {
-        if (!attribute.ignoreProperties[key] && skipAttributes.indexOf(key) < 0) {
-          var validatorErr = null;
-          var validator = this.attributes[key];
-          if (validator) {
-            validatorErr = validator.call(this, instance, schema2, options, ctx);
-          } else if (options.allowUnknownAttributes === false) {
-            throw new SchemaError("Unsupported attribute: " + key, schema2);
-          }
-          if (validatorErr) {
-            result.importErrors(validatorErr);
+      const searchPieces = [];
+      for (const [name, value] of combinedParams) {
+        if (typeof value === "string") {
+          searchPieces.push(`${name}=${value}`);
+        } else if (Array.isArray(value)) {
+          for (const subValue of value) {
+            searchPieces.push(`${name}=${subValue}`);
           }
+        } else {
+          searchPieces.push(`${name}=${value}`);
         }
       }
-      if (typeof options.rewrite == "function") {
-        var value = options.rewrite.call(this, instance, schema2, options, ctx);
-        result.instance = value;
-      }
-      return result;
-    };
-    Validator2.prototype.schemaTraverser = function schemaTraverser(schemaobj, s) {
-      schemaobj.schema = helpers.deepMerge(schemaobj.schema, this.superResolve(s, schemaobj.ctx));
-    };
-    Validator2.prototype.superResolve = function superResolve(schema2, ctx) {
-      var ref = shouldResolve(schema2);
-      if (ref) {
-        return this.resolve(schema2, ref, ctx).subschema;
-      }
-      return schema2;
-    };
-    Validator2.prototype.resolve = function resolve3(schema2, switchSchema, ctx) {
-      switchSchema = ctx.resolve(switchSchema);
-      if (ctx.schemas[switchSchema]) {
-        return { subschema: ctx.schemas[switchSchema], switchSchema };
-      }
-      var parsed = urilib.parse(switchSchema);
-      var fragment = parsed && parsed.hash;
-      var document2 = fragment && fragment.length && switchSchema.substr(0, switchSchema.length - fragment.length);
-      if (!document2 || !ctx.schemas[document2]) {
-        throw new SchemaError("no such schema <" + switchSchema + ">", schema2);
-      }
-      var subschema = helpers.objectGetPath(ctx.schemas[document2], fragment.substr(1));
-      if (subschema === void 0) {
-        throw new SchemaError("no such schema " + fragment + " located in <" + document2 + ">", schema2);
-      }
-      return { subschema, switchSchema };
-    };
-    Validator2.prototype.testType = function validateType(instance, schema2, options, ctx, type2) {
-      if (type2 === void 0) {
-        return;
-      } else if (type2 === null) {
-        throw new SchemaError('Unexpected null in "type" keyword');
-      }
-      if (typeof this.types[type2] == "function") {
-        return this.types[type2].call(this, instance);
-      }
-      if (type2 && typeof type2 == "object") {
-        var res = this.validateSchema(instance, type2, options, ctx);
-        return res === void 0 || !(res && res.errors.length);
-      }
-      return true;
-    };
-    var types = Validator2.prototype.types = {};
-    types.string = function testString(instance) {
-      return typeof instance == "string";
-    };
-    types.number = function testNumber(instance) {
-      return typeof instance == "number" && isFinite(instance);
-    };
-    types.integer = function testInteger(instance) {
-      return typeof instance == "number" && instance % 1 === 0;
-    };
-    types.boolean = function testBoolean(instance) {
-      return typeof instance == "boolean";
-    };
-    types.array = function testArray(instance) {
-      return Array.isArray(instance);
-    };
-    types["null"] = function testNull(instance) {
-      return instance === null;
-    };
-    types.date = function testDate(instance) {
-      return instance instanceof Date;
-    };
-    types.any = function testAny(instance) {
-      return true;
-    };
-    types.object = function testObject(instance) {
-      return instance && typeof instance === "object" && !Array.isArray(instance) && !(instance instanceof Date);
-    };
-    module2.exports = Validator2;
-  }
-});
-
-// node_modules/jsonschema/lib/index.js
-var require_lib2 = __commonJS({
-  "node_modules/jsonschema/lib/index.js"(exports2, module2) {
-    "use strict";
-    var Validator2 = module2.exports.Validator = require_validator();
-    module2.exports.ValidatorResult = require_helpers().ValidatorResult;
-    module2.exports.ValidatorResultError = require_helpers().ValidatorResultError;
-    module2.exports.ValidationError = require_helpers().ValidationError;
-    module2.exports.SchemaError = require_helpers().SchemaError;
-    module2.exports.SchemaScanResult = require_scan().SchemaScanResult;
-    module2.exports.scan = require_scan().scan;
-    module2.exports.validate = function(instance, schema2, options) {
-      var v = new Validator2();
-      return v.validate(instance, schema2, options);
-    };
+      parsedUrl.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
+      return parsedUrl.toString();
+    }
   }
 });
 
-// node_modules/@actions/glob/lib/internal-glob-options-helper.js
-var require_internal_glob_options_helper = __commonJS({
-  "node_modules/@actions/glob/lib/internal-glob-options-helper.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/log.js
+var require_log4 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/log.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getOptions = getOptions;
-    var core14 = __importStar2(require_core());
-    function getOptions(copy) {
-      const result = {
-        followSymbolicLinks: true,
-        implicitDescendants: true,
-        matchDirectories: true,
-        omitBrokenSymbolicLinks: true,
-        excludeHiddenFiles: false
-      };
-      if (copy) {
-        if (typeof copy.followSymbolicLinks === "boolean") {
-          result.followSymbolicLinks = copy.followSymbolicLinks;
-          core14.debug(`followSymbolicLinks '${result.followSymbolicLinks}'`);
-        }
-        if (typeof copy.implicitDescendants === "boolean") {
-          result.implicitDescendants = copy.implicitDescendants;
-          core14.debug(`implicitDescendants '${result.implicitDescendants}'`);
-        }
-        if (typeof copy.matchDirectories === "boolean") {
-          result.matchDirectories = copy.matchDirectories;
-          core14.debug(`matchDirectories '${result.matchDirectories}'`);
-        }
-        if (typeof copy.omitBrokenSymbolicLinks === "boolean") {
-          result.omitBrokenSymbolicLinks = copy.omitBrokenSymbolicLinks;
-          core14.debug(`omitBrokenSymbolicLinks '${result.omitBrokenSymbolicLinks}'`);
-        }
-        if (typeof copy.excludeHiddenFiles === "boolean") {
-          result.excludeHiddenFiles = copy.excludeHiddenFiles;
-          core14.debug(`excludeHiddenFiles '${result.excludeHiddenFiles}'`);
-        }
-      }
-      return result;
-    }
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs2();
+    exports2.logger = (0, logger_1.createClientLogger)("core-client");
   }
 });
 
-// node_modules/@actions/glob/lib/internal-path-helper.js
-var require_internal_path_helper = __commonJS({
-  "node_modules/@actions/glob/lib/internal-path-helper.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/serviceClient.js
+var require_serviceClient = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/serviceClient.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.dirname = dirname3;
-    exports2.ensureAbsoluteRoot = ensureAbsoluteRoot;
-    exports2.hasAbsoluteRoot = hasAbsoluteRoot;
-    exports2.hasRoot = hasRoot;
-    exports2.normalizeSeparators = normalizeSeparators;
-    exports2.safeTrimTrailingSeparator = safeTrimTrailingSeparator;
-    var path4 = __importStar2(require("path"));
-    var assert_1 = __importDefault2(require("assert"));
-    var IS_WINDOWS = process.platform === "win32";
-    function dirname3(p) {
-      p = safeTrimTrailingSeparator(p);
-      if (IS_WINDOWS && /^\\\\[^\\]+(\\[^\\]+)?$/.test(p)) {
-        return p;
-      }
-      let result = path4.dirname(p);
-      if (IS_WINDOWS && /^\\\\[^\\]+\\[^\\]+\\$/.test(result)) {
-        result = safeTrimTrailingSeparator(result);
+    exports2.ServiceClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var pipeline_js_1 = require_pipeline3();
+    var utils_js_1 = require_utils6();
+    var httpClientCache_js_1 = require_httpClientCache();
+    var operationHelpers_js_1 = require_operationHelpers();
+    var urlHelpers_js_1 = require_urlHelpers2();
+    var interfaceHelpers_js_1 = require_interfaceHelpers();
+    var log_js_1 = require_log4();
+    var ServiceClient = class {
+      /**
+       * If specified, this is the base URI that requests will be made against for this ServiceClient.
+       * If it is not specified, then all OperationSpecs must contain a baseUrl property.
+       */
+      _endpoint;
+      /**
+       * The default request content type for the service.
+       * Used if no requestContentType is present on an OperationSpec.
+       */
+      _requestContentType;
+      /**
+       * Set to true if the request is sent over HTTP instead of HTTPS
+       */
+      _allowInsecureConnection;
+      /**
+       * The HTTP client that will be used to send requests.
+       */
+      _httpClient;
+      /**
+       * The pipeline used by this client to make requests
+       */
+      pipeline;
+      /**
+       * The ServiceClient constructor
+       * @param options - The service client options that govern the behavior of the client.
+       */
+      constructor(options = {}) {
+        this._requestContentType = options.requestContentType;
+        this._endpoint = options.endpoint ?? options.baseUri;
+        if (options.baseUri) {
+          log_js_1.logger.warning("The baseUri option for SDK Clients has been deprecated, please use endpoint instead.");
+        }
+        this._allowInsecureConnection = options.allowInsecureConnection;
+        this._httpClient = options.httpClient || (0, httpClientCache_js_1.getCachedDefaultHttpClient)();
+        this.pipeline = options.pipeline || createDefaultPipeline(options);
+        if (options.additionalPolicies?.length) {
+          for (const { policy, position } of options.additionalPolicies) {
+            const afterPhase = position === "perRetry" ? "Sign" : void 0;
+            this.pipeline.addPolicy(policy, {
+              afterPhase
+            });
+          }
+        }
       }
-      return result;
-    }
-    function ensureAbsoluteRoot(root, itemPath) {
-      (0, assert_1.default)(root, `ensureAbsoluteRoot parameter 'root' must not be empty`);
-      (0, assert_1.default)(itemPath, `ensureAbsoluteRoot parameter 'itemPath' must not be empty`);
-      if (hasAbsoluteRoot(itemPath)) {
-        return itemPath;
+      /**
+       * Send the provided httpRequest.
+       */
+      async sendRequest(request2) {
+        return this.pipeline.sendRequest(this._httpClient, request2);
       }
-      if (IS_WINDOWS) {
-        if (itemPath.match(/^[A-Z]:[^\\/]|^[A-Z]:$/i)) {
-          let cwd = process.cwd();
-          (0, assert_1.default)(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`);
-          if (itemPath[0].toUpperCase() === cwd[0].toUpperCase()) {
-            if (itemPath.length === 2) {
-              return `${itemPath[0]}:\\${cwd.substr(3)}`;
-            } else {
-              if (!cwd.endsWith("\\")) {
-                cwd += "\\";
-              }
-              return `${itemPath[0]}:\\${cwd.substr(3)}${itemPath.substr(2)}`;
+      /**
+       * Send an HTTP request that is populated using the provided OperationSpec.
+       * @typeParam T - The typed result of the request, based on the OperationSpec.
+       * @param operationArguments - The arguments that the HTTP request's templated values will be populated from.
+       * @param operationSpec - The OperationSpec to use to populate the httpRequest.
+       */
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const endpoint2 = operationSpec.baseUrl || this._endpoint;
+        if (!endpoint2) {
+          throw new Error("If operationSpec.baseUrl is not specified, then the ServiceClient must have a endpoint string property that contains the base URL to use.");
+        }
+        const url = (0, urlHelpers_js_1.getRequestUrl)(endpoint2, operationSpec, operationArguments, this);
+        const request2 = (0, core_rest_pipeline_1.createPipelineRequest)({
+          url
+        });
+        request2.method = operationSpec.httpMethod;
+        const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+        operationInfo.operationSpec = operationSpec;
+        operationInfo.operationArguments = operationArguments;
+        const contentType = operationSpec.contentType || this._requestContentType;
+        if (contentType && operationSpec.requestBody) {
+          request2.headers.set("Content-Type", contentType);
+        }
+        const options = operationArguments.options;
+        if (options) {
+          const requestOptions = options.requestOptions;
+          if (requestOptions) {
+            if (requestOptions.timeout) {
+              request2.timeout = requestOptions.timeout;
+            }
+            if (requestOptions.onUploadProgress) {
+              request2.onUploadProgress = requestOptions.onUploadProgress;
+            }
+            if (requestOptions.onDownloadProgress) {
+              request2.onDownloadProgress = requestOptions.onDownloadProgress;
+            }
+            if (requestOptions.shouldDeserialize !== void 0) {
+              operationInfo.shouldDeserialize = requestOptions.shouldDeserialize;
+            }
+            if (requestOptions.allowInsecureConnection) {
+              request2.allowInsecureConnection = true;
             }
-          } else {
-            return `${itemPath[0]}:\\${itemPath.substr(2)}`;
           }
-        } else if (normalizeSeparators(itemPath).match(/^\\$|^\\[^\\]/)) {
-          const cwd = process.cwd();
-          (0, assert_1.default)(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`);
-          return `${cwd[0]}:\\${itemPath.substr(1)}`;
+          if (options.abortSignal) {
+            request2.abortSignal = options.abortSignal;
+          }
+          if (options.tracingOptions) {
+            request2.tracingOptions = options.tracingOptions;
+          }
+        }
+        if (this._allowInsecureConnection) {
+          request2.allowInsecureConnection = true;
+        }
+        if (request2.streamResponseStatusCodes === void 0) {
+          request2.streamResponseStatusCodes = (0, interfaceHelpers_js_1.getStreamingResponseStatusCodes)(operationSpec);
+        }
+        try {
+          const rawResponse = await this.sendRequest(request2);
+          const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[rawResponse.status]);
+          if (options?.onResponse) {
+            options.onResponse(rawResponse, flatResponse);
+          }
+          return flatResponse;
+        } catch (error3) {
+          if (typeof error3 === "object" && error3?.response) {
+            const rawResponse = error3.response;
+            const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[error3.statusCode] || operationSpec.responses["default"]);
+            error3.details = flatResponse;
+            if (options?.onResponse) {
+              options.onResponse(rawResponse, flatResponse, error3);
+            }
+          }
+          throw error3;
         }
       }
-      (0, assert_1.default)(hasAbsoluteRoot(root), `ensureAbsoluteRoot parameter 'root' must have an absolute root`);
-      if (root.endsWith("/") || IS_WINDOWS && root.endsWith("\\")) {
-      } else {
-        root += path4.sep;
-      }
-      return root + itemPath;
-    }
-    function hasAbsoluteRoot(itemPath) {
-      (0, assert_1.default)(itemPath, `hasAbsoluteRoot parameter 'itemPath' must not be empty`);
-      itemPath = normalizeSeparators(itemPath);
-      if (IS_WINDOWS) {
-        return itemPath.startsWith("\\\\") || /^[A-Z]:\\/i.test(itemPath);
-      }
-      return itemPath.startsWith("/");
-    }
-    function hasRoot(itemPath) {
-      (0, assert_1.default)(itemPath, `isRooted parameter 'itemPath' must not be empty`);
-      itemPath = normalizeSeparators(itemPath);
-      if (IS_WINDOWS) {
-        return itemPath.startsWith("\\") || /^[A-Z]:/i.test(itemPath);
-      }
-      return itemPath.startsWith("/");
-    }
-    function normalizeSeparators(p) {
-      p = p || "";
-      if (IS_WINDOWS) {
-        p = p.replace(/\//g, "\\");
-        const isUnc = /^\\\\+[^\\]/.test(p);
-        return (isUnc ? "\\" : "") + p.replace(/\\\\+/g, "\\");
-      }
-      return p.replace(/\/\/+/g, "/");
+    };
+    exports2.ServiceClient = ServiceClient;
+    function createDefaultPipeline(options) {
+      const credentialScopes = getCredentialScopes(options);
+      const credentialOptions = options.credential && credentialScopes ? { credentialScopes, credential: options.credential } : void 0;
+      return (0, pipeline_js_1.createClientPipeline)({
+        ...options,
+        credentialOptions
+      });
     }
-    function safeTrimTrailingSeparator(p) {
-      if (!p) {
-        return "";
+    function getCredentialScopes(options) {
+      if (options.credentialScopes) {
+        return options.credentialScopes;
       }
-      p = normalizeSeparators(p);
-      if (!p.endsWith(path4.sep)) {
-        return p;
+      if (options.endpoint) {
+        return `${options.endpoint}/.default`;
       }
-      if (p === path4.sep) {
-        return p;
+      if (options.baseUri) {
+        return `${options.baseUri}/.default`;
       }
-      if (IS_WINDOWS && /^[A-Z]:\\$/i.test(p)) {
-        return p;
+      if (options.credential && !options.credentialScopes) {
+        throw new Error(`When using credentials, the ServiceClientOptions must contain either a endpoint or a credentialScopes. Unable to create a bearerTokenAuthenticationPolicy`);
       }
-      return p.substr(0, p.length - 1);
+      return void 0;
     }
   }
 });
 
-// node_modules/@actions/glob/lib/internal-match-kind.js
-var require_internal_match_kind = __commonJS({
-  "node_modules/@actions/glob/lib/internal-match-kind.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js
+var require_authorizeRequestOnClaimChallenge = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MatchKind = void 0;
-    var MatchKind;
-    (function(MatchKind2) {
-      MatchKind2[MatchKind2["None"] = 0] = "None";
-      MatchKind2[MatchKind2["Directory"] = 1] = "Directory";
-      MatchKind2[MatchKind2["File"] = 2] = "File";
-      MatchKind2[MatchKind2["All"] = 3] = "All";
-    })(MatchKind || (exports2.MatchKind = MatchKind = {}));
+    exports2.parseCAEChallenge = parseCAEChallenge;
+    exports2.authorizeRequestOnClaimChallenge = authorizeRequestOnClaimChallenge;
+    var log_js_1 = require_log4();
+    var base64_js_1 = require_base64();
+    function parseCAEChallenge(challenges) {
+      const bearerChallenges = `, ${challenges.trim()}`.split(", Bearer ").filter((x) => x);
+      return bearerChallenges.map((challenge) => {
+        const challengeParts = `${challenge.trim()}, `.split('", ').filter((x) => x);
+        const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split('="')));
+        return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
+      });
+    }
+    async function authorizeRequestOnClaimChallenge(onChallengeOptions) {
+      const { scopes, response } = onChallengeOptions;
+      const logger = onChallengeOptions.logger || log_js_1.logger;
+      const challenge = response.headers.get("WWW-Authenticate");
+      if (!challenge) {
+        logger.info(`The WWW-Authenticate header was missing. Failed to perform the Continuous Access Evaluation authentication flow.`);
+        return false;
+      }
+      const challenges = parseCAEChallenge(challenge) || [];
+      const parsedChallenge = challenges.find((x) => x.claims);
+      if (!parsedChallenge) {
+        logger.info(`The WWW-Authenticate header was missing the necessary "claims" to perform the Continuous Access Evaluation authentication flow.`);
+        return false;
+      }
+      const accessToken = await onChallengeOptions.getAccessToken(parsedChallenge.scope ? [parsedChallenge.scope] : scopes, {
+        claims: (0, base64_js_1.decodeStringToString)(parsedChallenge.claims)
+      });
+      if (!accessToken) {
+        return false;
+      }
+      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
+      return true;
+    }
   }
 });
 
-// node_modules/@actions/glob/lib/internal-pattern-helper.js
-var require_internal_pattern_helper = __commonJS({
-  "node_modules/@actions/glob/lib/internal-pattern-helper.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js
+var require_authorizeRequestOnTenantChallenge = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getSearchPaths = getSearchPaths;
-    exports2.match = match;
-    exports2.partialMatch = partialMatch;
-    var pathHelper = __importStar2(require_internal_path_helper());
-    var internal_match_kind_1 = require_internal_match_kind();
-    var IS_WINDOWS = process.platform === "win32";
-    function getSearchPaths(patterns) {
-      patterns = patterns.filter((x) => !x.negate);
-      const searchPathMap = {};
-      for (const pattern of patterns) {
-        const key = IS_WINDOWS ? pattern.searchPath.toUpperCase() : pattern.searchPath;
-        searchPathMap[key] = "candidate";
+    exports2.authorizeRequestOnTenantChallenge = void 0;
+    var Constants = {
+      DefaultScope: "/.default",
+      /**
+       * Defines constants for use with HTTP headers.
+       */
+      HeaderConstants: {
+        /**
+         * The Authorization header.
+         */
+        AUTHORIZATION: "authorization"
       }
-      const result = [];
-      for (const pattern of patterns) {
-        const key = IS_WINDOWS ? pattern.searchPath.toUpperCase() : pattern.searchPath;
-        if (searchPathMap[key] === "included") {
-          continue;
-        }
-        let foundAncestor = false;
-        let tempKey = key;
-        let parent = pathHelper.dirname(tempKey);
-        while (parent !== tempKey) {
-          if (searchPathMap[parent]) {
-            foundAncestor = true;
-            break;
-          }
-          tempKey = parent;
-          parent = pathHelper.dirname(tempKey);
+    };
+    function isUuid(text) {
+      return /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/.test(text);
+    }
+    var authorizeRequestOnTenantChallenge = async (challengeOptions) => {
+      const requestOptions = requestToOptions(challengeOptions.request);
+      const challenge = getChallenge(challengeOptions.response);
+      if (challenge) {
+        const challengeInfo = parseChallenge(challenge);
+        const challengeScopes = buildScopes(challengeOptions, challengeInfo);
+        const tenantId = extractTenantId(challengeInfo);
+        if (!tenantId) {
+          return false;
         }
-        if (!foundAncestor) {
-          result.push(pattern.searchPath);
-          searchPathMap[key] = "included";
+        const accessToken = await challengeOptions.getAccessToken(challengeScopes, {
+          ...requestOptions,
+          tenantId
+        });
+        if (!accessToken) {
+          return false;
         }
+        challengeOptions.request.headers.set(Constants.HeaderConstants.AUTHORIZATION, `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
+        return true;
       }
-      return result;
+      return false;
+    };
+    exports2.authorizeRequestOnTenantChallenge = authorizeRequestOnTenantChallenge;
+    function extractTenantId(challengeInfo) {
+      const parsedAuthUri = new URL(challengeInfo.authorization_uri);
+      const pathSegments = parsedAuthUri.pathname.split("/");
+      const tenantId = pathSegments[1];
+      if (tenantId && isUuid(tenantId)) {
+        return tenantId;
+      }
+      return void 0;
     }
-    function match(patterns, itemPath) {
-      let result = internal_match_kind_1.MatchKind.None;
-      for (const pattern of patterns) {
-        if (pattern.negate) {
-          result &= ~pattern.match(itemPath);
-        } else {
-          result |= pattern.match(itemPath);
-        }
+    function buildScopes(challengeOptions, challengeInfo) {
+      if (!challengeInfo.resource_id) {
+        return challengeOptions.scopes;
       }
-      return result;
+      const challengeScopes = new URL(challengeInfo.resource_id);
+      challengeScopes.pathname = Constants.DefaultScope;
+      let scope = challengeScopes.toString();
+      if (scope === "https://disk.azure.com/.default") {
+        scope = "https://disk.azure.com//.default";
+      }
+      return [scope];
     }
-    function partialMatch(patterns, itemPath) {
-      return patterns.some((x) => !x.negate && x.partialMatch(itemPath));
+    function getChallenge(response) {
+      const challenge = response.headers.get("WWW-Authenticate");
+      if (response.status === 401 && challenge) {
+        return challenge;
+      }
+      return;
+    }
+    function parseChallenge(challenge) {
+      const bearerChallenge = challenge.slice("Bearer ".length);
+      const challengeParts = `${bearerChallenge.trim()} `.split(" ").filter((x) => x);
+      const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split("=")));
+      return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
+    }
+    function requestToOptions(request2) {
+      return {
+        abortSignal: request2.abortSignal,
+        requestOptions: {
+          timeout: request2.timeout
+        },
+        tracingOptions: request2.tracingOptions
+      };
     }
   }
 });
 
-// node_modules/concat-map/index.js
-var require_concat_map = __commonJS({
-  "node_modules/concat-map/index.js"(exports2, module2) {
-    module2.exports = function(xs, fn) {
-      var res = [];
-      for (var i = 0; i < xs.length; i++) {
-        var x = fn(xs[i], i);
-        if (isArray(x)) res.push.apply(res, x);
-        else res.push(x);
-      }
-      return res;
-    };
-    var isArray = Array.isArray || function(xs) {
-      return Object.prototype.toString.call(xs) === "[object Array]";
-    };
+// node_modules/@azure/core-client/dist/commonjs/index.js
+var require_commonjs8 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.authorizeRequestOnTenantChallenge = exports2.authorizeRequestOnClaimChallenge = exports2.serializationPolicyName = exports2.serializationPolicy = exports2.deserializationPolicyName = exports2.deserializationPolicy = exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.createClientPipeline = exports2.ServiceClient = exports2.MapperTypeNames = exports2.createSerializer = void 0;
+    var serializer_js_1 = require_serializer();
+    Object.defineProperty(exports2, "createSerializer", { enumerable: true, get: function() {
+      return serializer_js_1.createSerializer;
+    } });
+    Object.defineProperty(exports2, "MapperTypeNames", { enumerable: true, get: function() {
+      return serializer_js_1.MapperTypeNames;
+    } });
+    var serviceClient_js_1 = require_serviceClient();
+    Object.defineProperty(exports2, "ServiceClient", { enumerable: true, get: function() {
+      return serviceClient_js_1.ServiceClient;
+    } });
+    var pipeline_js_1 = require_pipeline3();
+    Object.defineProperty(exports2, "createClientPipeline", { enumerable: true, get: function() {
+      return pipeline_js_1.createClientPipeline;
+    } });
+    var interfaces_js_1 = require_interfaces();
+    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
+      return interfaces_js_1.XML_ATTRKEY;
+    } });
+    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
+      return interfaces_js_1.XML_CHARKEY;
+    } });
+    var deserializationPolicy_js_1 = require_deserializationPolicy();
+    Object.defineProperty(exports2, "deserializationPolicy", { enumerable: true, get: function() {
+      return deserializationPolicy_js_1.deserializationPolicy;
+    } });
+    Object.defineProperty(exports2, "deserializationPolicyName", { enumerable: true, get: function() {
+      return deserializationPolicy_js_1.deserializationPolicyName;
+    } });
+    var serializationPolicy_js_1 = require_serializationPolicy();
+    Object.defineProperty(exports2, "serializationPolicy", { enumerable: true, get: function() {
+      return serializationPolicy_js_1.serializationPolicy;
+    } });
+    Object.defineProperty(exports2, "serializationPolicyName", { enumerable: true, get: function() {
+      return serializationPolicy_js_1.serializationPolicyName;
+    } });
+    var authorizeRequestOnClaimChallenge_js_1 = require_authorizeRequestOnClaimChallenge();
+    Object.defineProperty(exports2, "authorizeRequestOnClaimChallenge", { enumerable: true, get: function() {
+      return authorizeRequestOnClaimChallenge_js_1.authorizeRequestOnClaimChallenge;
+    } });
+    var authorizeRequestOnTenantChallenge_js_1 = require_authorizeRequestOnTenantChallenge();
+    Object.defineProperty(exports2, "authorizeRequestOnTenantChallenge", { enumerable: true, get: function() {
+      return authorizeRequestOnTenantChallenge_js_1.authorizeRequestOnTenantChallenge;
+    } });
   }
 });
 
-// node_modules/balanced-match/index.js
-var require_balanced_match = __commonJS({
-  "node_modules/balanced-match/index.js"(exports2, module2) {
+// node_modules/@azure/core-http-compat/dist/commonjs/util.js
+var require_util17 = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
-    module2.exports = balanced;
-    function balanced(a, b, str2) {
-      if (a instanceof RegExp) a = maybeMatch(a, str2);
-      if (b instanceof RegExp) b = maybeMatch(b, str2);
-      var r = range(a, b, str2);
-      return r && {
-        start: r[0],
-        end: r[1],
-        pre: str2.slice(0, r[0]),
-        body: str2.slice(r[0] + a.length, r[1]),
-        post: str2.slice(r[1] + b.length)
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HttpHeaders = void 0;
+    exports2.toPipelineRequest = toPipelineRequest;
+    exports2.toWebResourceLike = toWebResourceLike;
+    exports2.toHttpHeadersLike = toHttpHeadersLike;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var originalRequestSymbol = /* @__PURE__ */ Symbol("Original PipelineRequest");
+    var originalClientRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
+    function toPipelineRequest(webResource, options = {}) {
+      const compatWebResource = webResource;
+      const request2 = compatWebResource[originalRequestSymbol];
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(webResource.headers.toJson({ preserveCase: true }));
+      if (request2) {
+        request2.headers = headers;
+        return request2;
+      } else {
+        const newRequest = (0, core_rest_pipeline_1.createPipelineRequest)({
+          url: webResource.url,
+          method: webResource.method,
+          headers,
+          withCredentials: webResource.withCredentials,
+          timeout: webResource.timeout,
+          requestId: webResource.requestId,
+          abortSignal: webResource.abortSignal,
+          body: webResource.body,
+          formData: webResource.formData,
+          disableKeepAlive: !!webResource.keepAlive,
+          onDownloadProgress: webResource.onDownloadProgress,
+          onUploadProgress: webResource.onUploadProgress,
+          proxySettings: webResource.proxySettings,
+          streamResponseStatusCodes: webResource.streamResponseStatusCodes,
+          agent: webResource.agent,
+          requestOverrides: webResource.requestOverrides
+        });
+        if (options.originalRequest) {
+          newRequest[originalClientRequestSymbol] = options.originalRequest;
+        }
+        return newRequest;
+      }
+    }
+    function toWebResourceLike(request2, options) {
+      const originalRequest = options?.originalRequest ?? request2;
+      const webResource = {
+        url: request2.url,
+        method: request2.method,
+        headers: toHttpHeadersLike(request2.headers),
+        withCredentials: request2.withCredentials,
+        timeout: request2.timeout,
+        requestId: request2.headers.get("x-ms-client-request-id") || request2.requestId,
+        abortSignal: request2.abortSignal,
+        body: request2.body,
+        formData: request2.formData,
+        keepAlive: !!request2.disableKeepAlive,
+        onDownloadProgress: request2.onDownloadProgress,
+        onUploadProgress: request2.onUploadProgress,
+        proxySettings: request2.proxySettings,
+        streamResponseStatusCodes: request2.streamResponseStatusCodes,
+        agent: request2.agent,
+        requestOverrides: request2.requestOverrides,
+        clone() {
+          throw new Error("Cannot clone a non-proxied WebResourceLike");
+        },
+        prepare() {
+          throw new Error("WebResourceLike.prepare() is not supported by @azure/core-http-compat");
+        },
+        validateRequestProperties() {
+        }
       };
-    }
-    function maybeMatch(reg, str2) {
-      var m = str2.match(reg);
-      return m ? m[0] : null;
-    }
-    balanced.range = range;
-    function range(a, b, str2) {
-      var begs, beg, left, right, result;
-      var ai = str2.indexOf(a);
-      var bi = str2.indexOf(b, ai + 1);
-      var i = ai;
-      if (ai >= 0 && bi > 0) {
-        begs = [];
-        left = str2.length;
-        while (i >= 0 && !result) {
-          if (i == ai) {
-            begs.push(i);
-            ai = str2.indexOf(a, i + 1);
-          } else if (begs.length == 1) {
-            result = [begs.pop(), bi];
-          } else {
-            beg = begs.pop();
-            if (beg < left) {
-              left = beg;
-              right = bi;
+      if (options?.createProxy) {
+        return new Proxy(webResource, {
+          get(target, prop, receiver) {
+            if (prop === originalRequestSymbol) {
+              return request2;
+            } else if (prop === "clone") {
+              return () => {
+                return toWebResourceLike(toPipelineRequest(webResource, { originalRequest }), {
+                  createProxy: true,
+                  originalRequest
+                });
+              };
             }
-            bi = str2.indexOf(b, i + 1);
+            return Reflect.get(target, prop, receiver);
+          },
+          set(target, prop, value, receiver) {
+            if (prop === "keepAlive") {
+              request2.disableKeepAlive = !value;
+            }
+            const passThroughProps = [
+              "url",
+              "method",
+              "withCredentials",
+              "timeout",
+              "requestId",
+              "abortSignal",
+              "body",
+              "formData",
+              "onDownloadProgress",
+              "onUploadProgress",
+              "proxySettings",
+              "streamResponseStatusCodes",
+              "agent",
+              "requestOverrides"
+            ];
+            if (typeof prop === "string" && passThroughProps.includes(prop)) {
+              request2[prop] = value;
+            }
+            return Reflect.set(target, prop, value, receiver);
           }
-          i = ai < bi && ai >= 0 ? ai : bi;
-        }
-        if (begs.length) {
-          result = [left, right];
-        }
+        });
+      } else {
+        return webResource;
       }
-      return result;
-    }
-  }
-});
-
-// node_modules/brace-expansion/index.js
-var require_brace_expansion = __commonJS({
-  "node_modules/brace-expansion/index.js"(exports2, module2) {
-    var concatMap = require_concat_map();
-    var balanced = require_balanced_match();
-    module2.exports = expandTop;
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    function numeric(str2) {
-      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
     }
-    function escapeBraces(str2) {
-      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
+    function toHttpHeadersLike(headers) {
+      return new HttpHeaders(headers.toJSON({ preserveCase: true }));
     }
-    function unescapeBraces(str2) {
-      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
+    function getHeaderKey(headerName) {
+      return headerName.toLowerCase();
     }
-    function parseCommaParts(str2) {
-      if (!str2)
-        return [""];
-      var parts = [];
-      var m = balanced("{", "}", str2);
-      if (!m)
-        return str2.split(",");
-      var pre = m.pre;
-      var body = m.body;
-      var post = m.post;
-      var p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      var postParts = parseCommaParts(post);
-      if (post.length) {
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
+    var HttpHeaders = class _HttpHeaders {
+      _headersMap;
+      constructor(rawHeaders) {
+        this._headersMap = {};
+        if (rawHeaders) {
+          for (const headerName in rawHeaders) {
+            this.set(headerName, rawHeaders[headerName]);
+          }
+        }
       }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expandTop(str2) {
-      if (!str2)
-        return [];
-      if (str2.substr(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.substr(2);
+      /**
+       * Set a header in this collection with the provided name and value. The name is
+       * case-insensitive.
+       * @param headerName - The name of the header to set. This value is case-insensitive.
+       * @param headerValue - The value of the header to set.
+       */
+      set(headerName, headerValue) {
+        this._headersMap[getHeaderKey(headerName)] = {
+          name: headerName,
+          value: headerValue.toString()
+        };
       }
-      return expand2(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand2(str2, isTop) {
-      var expansions = [];
-      var m = balanced("{", "}", str2);
-      if (!m || /\$$/.test(m.pre)) return [str2];
-      var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-      var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-      var isSequence = isNumericSequence || isAlphaSequence;
-      var isOptions = m.body.indexOf(",") >= 0;
-      if (!isSequence && !isOptions) {
-        if (m.post.match(/,(?!,).*\}/)) {
-          str2 = m.pre + "{" + m.body + escClose + m.post;
-          return expand2(str2);
+      /**
+       * Get the header value for the provided header name, or undefined if no header exists in this
+       * collection with the provided name.
+       * @param headerName - The name of the header.
+       */
+      get(headerName) {
+        const header = this._headersMap[getHeaderKey(headerName)];
+        return !header ? void 0 : header.value;
+      }
+      /**
+       * Get whether or not this header collection contains a header entry for the provided header name.
+       */
+      contains(headerName) {
+        return !!this._headersMap[getHeaderKey(headerName)];
+      }
+      /**
+       * Remove the header with the provided headerName. Return whether or not the header existed and
+       * was removed.
+       * @param headerName - The name of the header to remove.
+       */
+      remove(headerName) {
+        const result = this.contains(headerName);
+        delete this._headersMap[getHeaderKey(headerName)];
+        return result;
+      }
+      /**
+       * Get the headers that are contained this collection as an object.
+       */
+      rawHeaders() {
+        return this.toJson({ preserveCase: true });
+      }
+      /**
+       * Get the headers that are contained in this collection as an array.
+       */
+      headersArray() {
+        const headers = [];
+        for (const headerKey in this._headersMap) {
+          headers.push(this._headersMap[headerKey]);
         }
-        return [str2];
+        return headers;
       }
-      var n;
-      if (isSequence) {
-        n = m.body.split(/\.\./);
-      } else {
-        n = parseCommaParts(m.body);
-        if (n.length === 1) {
-          n = expand2(n[0], false).map(embrace);
-          if (n.length === 1) {
-            var post = m.post.length ? expand2(m.post, false) : [""];
-            return post.map(function(p) {
-              return m.pre + n[0] + p;
-            });
-          }
+      /**
+       * Get the header names that are contained in this collection.
+       */
+      headerNames() {
+        const headerNames = [];
+        const headers = this.headersArray();
+        for (let i = 0; i < headers.length; ++i) {
+          headerNames.push(headers[i].name);
         }
+        return headerNames;
       }
-      var pre = m.pre;
-      var post = m.post.length ? expand2(m.post, false) : [""];
-      var N;
-      if (isSequence) {
-        var x = numeric(n[0]);
-        var y = numeric(n[1]);
-        var width = Math.max(n[0].length, n[1].length);
-        var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
-        var test = lte;
-        var reverse = y < x;
-        if (reverse) {
-          incr *= -1;
-          test = gte6;
+      /**
+       * Get the header values that are contained in this collection.
+       */
+      headerValues() {
+        const headerValues = [];
+        const headers = this.headersArray();
+        for (let i = 0; i < headers.length; ++i) {
+          headerValues.push(headers[i].value);
         }
-        var pad = n.some(isPadded);
-        N = [];
-        for (var i = x; test(i, y); i += incr) {
-          var c;
-          if (isAlphaSequence) {
-            c = String.fromCharCode(i);
-            if (c === "\\")
-              c = "";
-          } else {
-            c = String(i);
-            if (pad) {
-              var need = width - c.length;
-              if (need > 0) {
-                var z = new Array(need + 1).join("0");
-                if (i < 0)
-                  c = "-" + z + c.slice(1);
-                else
-                  c = z + c;
-              }
-            }
+        return headerValues;
+      }
+      /**
+       * Get the JSON object representation of this HTTP header collection.
+       */
+      toJson(options = {}) {
+        const result = {};
+        if (options.preserveCase) {
+          for (const headerKey in this._headersMap) {
+            const header = this._headersMap[headerKey];
+            result[header.name] = header.value;
+          }
+        } else {
+          for (const headerKey in this._headersMap) {
+            const header = this._headersMap[headerKey];
+            result[getHeaderKey(header.name)] = header.value;
           }
-          N.push(c);
         }
-      } else {
-        N = concatMap(n, function(el) {
-          return expand2(el, false);
-        });
+        return result;
       }
-      for (var j = 0; j < N.length; j++) {
-        for (var k = 0; k < post.length; k++) {
-          var expansion = pre + N[j] + post[k];
-          if (!isTop || isSequence || expansion)
-            expansions.push(expansion);
+      /**
+       * Get the string representation of this HTTP header collection.
+       */
+      toString() {
+        return JSON.stringify(this.toJson({ preserveCase: true }));
+      }
+      /**
+       * Create a deep clone/copy of this HttpHeaders collection.
+       */
+      clone() {
+        const resultPreservingCasing = {};
+        for (const headerKey in this._headersMap) {
+          const header = this._headersMap[headerKey];
+          resultPreservingCasing[header.name] = header.value;
         }
+        return new _HttpHeaders(resultPreservingCasing);
       }
-      return expansions;
-    }
+    };
+    exports2.HttpHeaders = HttpHeaders;
   }
 });
 
-// node_modules/minimatch/minimatch.js
-var require_minimatch = __commonJS({
-  "node_modules/minimatch/minimatch.js"(exports2, module2) {
-    module2.exports = minimatch;
-    minimatch.Minimatch = Minimatch;
-    var path4 = (function() {
-      try {
-        return require("path");
-      } catch (e) {
-      }
-    })() || {
-      sep: "/"
-    };
-    minimatch.sep = path4.sep;
-    var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {};
-    var expand2 = require_brace_expansion();
-    var plTypes = {
-      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
-      "?": { open: "(?:", close: ")?" },
-      "+": { open: "(?:", close: ")+" },
-      "*": { open: "(?:", close: ")*" },
-      "@": { open: "(?:", close: ")" }
-    };
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var reSpecials = charSet("().*{}+?[]^$\\!");
-    function charSet(s) {
-      return s.split("").reduce(function(set2, c) {
-        set2[c] = true;
-        return set2;
-      }, {});
-    }
-    var slashSplit = /\/+/;
-    minimatch.filter = filter;
-    function filter(pattern, options) {
-      options = options || {};
-      return function(p, i, list) {
-        return minimatch(p, pattern, options);
-      };
-    }
-    function ext(a, b) {
-      b = b || {};
-      var t = {};
-      Object.keys(a).forEach(function(k) {
-        t[k] = a[k];
-      });
-      Object.keys(b).forEach(function(k) {
-        t[k] = b[k];
-      });
-      return t;
-    }
-    minimatch.defaults = function(def) {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return minimatch;
-      }
-      var orig = minimatch;
-      var m = function minimatch2(p, pattern, options) {
-        return orig(p, pattern, ext(def, options));
-      };
-      m.Minimatch = function Minimatch2(pattern, options) {
-        return new orig.Minimatch(pattern, ext(def, options));
-      };
-      m.Minimatch.defaults = function defaults(options) {
-        return orig.defaults(ext(def, options)).Minimatch;
-      };
-      m.filter = function filter2(pattern, options) {
-        return orig.filter(pattern, ext(def, options));
-      };
-      m.defaults = function defaults(options) {
-        return orig.defaults(ext(def, options));
-      };
-      m.makeRe = function makeRe2(pattern, options) {
-        return orig.makeRe(pattern, ext(def, options));
-      };
-      m.braceExpand = function braceExpand2(pattern, options) {
-        return orig.braceExpand(pattern, ext(def, options));
-      };
-      m.match = function(list, pattern, options) {
-        return orig.match(list, pattern, ext(def, options));
-      };
-      return m;
-    };
-    Minimatch.defaults = function(def) {
-      return minimatch.defaults(def).Minimatch;
-    };
-    function minimatch(p, pattern, options) {
-      assertValidPattern(pattern);
-      if (!options) options = {};
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
-      }
-      return new Minimatch(pattern, options).match(p);
-    }
-    function Minimatch(pattern, options) {
-      if (!(this instanceof Minimatch)) {
-        return new Minimatch(pattern, options);
-      }
-      assertValidPattern(pattern);
-      if (!options) options = {};
-      pattern = pattern.trim();
-      if (!options.allowWindowsEscape && path4.sep !== "/") {
-        pattern = pattern.split(path4.sep).join("/");
-      }
-      this.options = options;
-      this.set = [];
-      this.pattern = pattern;
-      this.regexp = null;
-      this.negate = false;
-      this.comment = false;
-      this.empty = false;
-      this.partial = !!options.partial;
-      this.make();
-    }
-    Minimatch.prototype.debug = function() {
-    };
-    Minimatch.prototype.make = make;
-    function make() {
-      var pattern = this.pattern;
-      var options = this.options;
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        this.comment = true;
-        return;
-      }
-      if (!pattern) {
-        this.empty = true;
-        return;
-      }
-      this.parseNegate();
-      var set2 = this.globSet = this.braceExpand();
-      if (options.debug) this.debug = function debug4() {
-        console.error.apply(console, arguments);
-      };
-      this.debug(this.pattern, set2);
-      set2 = this.globParts = set2.map(function(s) {
-        return s.split(slashSplit);
-      });
-      this.debug(this.pattern, set2);
-      set2 = set2.map(function(s, si, set3) {
-        return s.map(this.parse, this);
-      }, this);
-      this.debug(this.pattern, set2);
-      set2 = set2.filter(function(s) {
-        return s.indexOf(false) === -1;
-      });
-      this.debug(this.pattern, set2);
-      this.set = set2;
-    }
-    Minimatch.prototype.parseNegate = parseNegate;
-    function parseNegate() {
-      var pattern = this.pattern;
-      var negate = false;
-      var options = this.options;
-      var negateOffset = 0;
-      if (options.nonegate) return;
-      for (var i = 0, l = pattern.length; i < l && pattern.charAt(i) === "!"; i++) {
-        negate = !negate;
-        negateOffset++;
+// node_modules/@azure/core-http-compat/dist/commonjs/response.js
+var require_response3 = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/response.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.toCompatResponse = toCompatResponse;
+    exports2.toPipelineResponse = toPipelineResponse;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var util_js_1 = require_util17();
+    var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
+    function toCompatResponse(response, options) {
+      let request2 = (0, util_js_1.toWebResourceLike)(response.request);
+      let headers = (0, util_js_1.toHttpHeadersLike)(response.headers);
+      if (options?.createProxy) {
+        return new Proxy(response, {
+          get(target, prop, receiver) {
+            if (prop === "headers") {
+              return headers;
+            } else if (prop === "request") {
+              return request2;
+            } else if (prop === originalResponse) {
+              return response;
+            }
+            return Reflect.get(target, prop, receiver);
+          },
+          set(target, prop, value, receiver) {
+            if (prop === "headers") {
+              headers = value;
+            } else if (prop === "request") {
+              request2 = value;
+            }
+            return Reflect.set(target, prop, value, receiver);
+          }
+        });
+      } else {
+        return {
+          ...response,
+          request: request2,
+          headers
+        };
       }
-      if (negateOffset) this.pattern = pattern.substr(negateOffset);
-      this.negate = negate;
     }
-    minimatch.braceExpand = function(pattern, options) {
-      return braceExpand(pattern, options);
-    };
-    Minimatch.prototype.braceExpand = braceExpand;
-    function braceExpand(pattern, options) {
-      if (!options) {
-        if (this instanceof Minimatch) {
-          options = this.options;
-        } else {
-          options = {};
-        }
-      }
-      pattern = typeof pattern === "undefined" ? this.pattern : pattern;
-      assertValidPattern(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
+    function toPipelineResponse(compatResponse) {
+      const extendedCompatResponse = compatResponse;
+      const response = extendedCompatResponse[originalResponse];
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(compatResponse.headers.toJson({ preserveCase: true }));
+      if (response) {
+        response.headers = headers;
+        return response;
+      } else {
+        return {
+          ...compatResponse,
+          headers,
+          request: (0, util_js_1.toPipelineRequest)(compatResponse.request)
+        };
       }
-      return expand2(pattern);
     }
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = function(pattern) {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js
+var require_extendedClient = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ExtendedServiceClient = void 0;
+    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_client_1 = require_commonjs8();
+    var response_js_1 = require_response3();
+    var ExtendedServiceClient = class extends core_client_1.ServiceClient {
+      constructor(options) {
+        super(options);
+        if (options.keepAliveOptions?.enable === false && !(0, disableKeepAlivePolicy_js_1.pipelineContainsDisableKeepAlivePolicy)(this.pipeline)) {
+          this.pipeline.addPolicy((0, disableKeepAlivePolicy_js_1.createDisableKeepAlivePolicy)());
+        }
+        if (options.redirectOptions?.handleRedirects === false) {
+          this.pipeline.removePolicy({
+            name: core_rest_pipeline_1.redirectPolicyName
+          });
+        }
       }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
+      /**
+       * Compatible send operation request function.
+       *
+       * @param operationArguments - Operation arguments
+       * @param operationSpec - Operation Spec
+       * @returns
+       */
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const userProvidedCallBack = operationArguments?.options?.onResponse;
+        let lastResponse;
+        function onResponse(rawResponse, flatResponse, error3) {
+          lastResponse = rawResponse;
+          if (userProvidedCallBack) {
+            userProvidedCallBack(rawResponse, flatResponse, error3);
+          }
+        }
+        operationArguments.options = {
+          ...operationArguments.options,
+          onResponse
+        };
+        const result = await super.sendOperationRequest(operationArguments, operationSpec);
+        if (lastResponse) {
+          Object.defineProperty(result, "_response", {
+            value: (0, response_js_1.toCompatResponse)(lastResponse)
+          });
+        }
+        return result;
       }
     };
-    Minimatch.prototype.parse = parse2;
-    var SUBPARSE = {};
-    function parse2(pattern, isSub) {
-      assertValidPattern(pattern);
-      var options = this.options;
-      if (pattern === "**") {
-        if (!options.noglobstar)
-          return GLOBSTAR;
-        else
-          pattern = "*";
+    exports2.ExtendedServiceClient = ExtendedServiceClient;
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js
+var require_requestPolicyFactoryPolicy = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
+    exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
+    var util_js_1 = require_util17();
+    var response_js_1 = require_response3();
+    var HttpPipelineLogLevel;
+    (function(HttpPipelineLogLevel2) {
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["ERROR"] = 1] = "ERROR";
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["INFO"] = 3] = "INFO";
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["OFF"] = 0] = "OFF";
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["WARNING"] = 2] = "WARNING";
+    })(HttpPipelineLogLevel || (exports2.HttpPipelineLogLevel = HttpPipelineLogLevel = {}));
+    var mockRequestPolicyOptions = {
+      log(_logLevel, _message) {
+      },
+      shouldLog(_logLevel) {
+        return false;
       }
-      if (pattern === "") return "";
-      var re = "";
-      var hasMagic = !!options.nocase;
-      var escaping = false;
-      var patternListStack = [];
-      var negativeLists = [];
-      var stateChar;
-      var inClass = false;
-      var reClassStart = -1;
-      var classStart = -1;
-      var patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-      var self2 = this;
-      function clearStateChar() {
-        if (stateChar) {
-          switch (stateChar) {
-            case "*":
-              re += star;
-              hasMagic = true;
-              break;
-            case "?":
-              re += qmark;
-              hasMagic = true;
-              break;
-            default:
-              re += "\\" + stateChar;
-              break;
+    };
+    exports2.requestPolicyFactoryPolicyName = "RequestPolicyFactoryPolicy";
+    function createRequestPolicyFactoryPolicy(factories) {
+      const orderedFactories = factories.slice().reverse();
+      return {
+        name: exports2.requestPolicyFactoryPolicyName,
+        async sendRequest(request2, next) {
+          let httpPipeline = {
+            async sendRequest(httpRequest) {
+              const response2 = await next((0, util_js_1.toPipelineRequest)(httpRequest));
+              return (0, response_js_1.toCompatResponse)(response2, { createProxy: true });
+            }
+          };
+          for (const factory of orderedFactories) {
+            httpPipeline = factory.create(httpPipeline, mockRequestPolicyOptions);
           }
-          self2.debug("clearStateChar %j %j", stateChar, re);
-          stateChar = false;
+          const webResourceLike = (0, util_js_1.toWebResourceLike)(request2, { createProxy: true });
+          const response = await httpPipeline.sendRequest(webResourceLike);
+          return (0, response_js_1.toPipelineResponse)(response);
         }
-      }
-      for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) {
-        this.debug("%s	%s %s %j", pattern, i, re, c);
-        if (escaping && reSpecials[c]) {
-          re += "\\" + c;
-          escaping = false;
-          continue;
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js
+var require_httpClientAdapter = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.convertHttpClient = convertHttpClient;
+    var response_js_1 = require_response3();
+    var util_js_1 = require_util17();
+    function convertHttpClient(requestPolicyClient) {
+      return {
+        sendRequest: async (request2) => {
+          const response = await requestPolicyClient.sendRequest((0, util_js_1.toWebResourceLike)(request2, { createProxy: true }));
+          return (0, response_js_1.toPipelineResponse)(response);
         }
-        switch (c) {
-          /* istanbul ignore next */
-          case "/": {
-            return false;
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/index.js
+var require_commonjs9 = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.toHttpHeadersLike = exports2.convertHttpClient = exports2.disableKeepAlivePolicyName = exports2.HttpPipelineLogLevel = exports2.createRequestPolicyFactoryPolicy = exports2.requestPolicyFactoryPolicyName = exports2.ExtendedServiceClient = void 0;
+    var extendedClient_js_1 = require_extendedClient();
+    Object.defineProperty(exports2, "ExtendedServiceClient", { enumerable: true, get: function() {
+      return extendedClient_js_1.ExtendedServiceClient;
+    } });
+    var requestPolicyFactoryPolicy_js_1 = require_requestPolicyFactoryPolicy();
+    Object.defineProperty(exports2, "requestPolicyFactoryPolicyName", { enumerable: true, get: function() {
+      return requestPolicyFactoryPolicy_js_1.requestPolicyFactoryPolicyName;
+    } });
+    Object.defineProperty(exports2, "createRequestPolicyFactoryPolicy", { enumerable: true, get: function() {
+      return requestPolicyFactoryPolicy_js_1.createRequestPolicyFactoryPolicy;
+    } });
+    Object.defineProperty(exports2, "HttpPipelineLogLevel", { enumerable: true, get: function() {
+      return requestPolicyFactoryPolicy_js_1.HttpPipelineLogLevel;
+    } });
+    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
+    Object.defineProperty(exports2, "disableKeepAlivePolicyName", { enumerable: true, get: function() {
+      return disableKeepAlivePolicy_js_1.disableKeepAlivePolicyName;
+    } });
+    var httpClientAdapter_js_1 = require_httpClientAdapter();
+    Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
+      return httpClientAdapter_js_1.convertHttpClient;
+    } });
+    var util_js_1 = require_util17();
+    Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
+      return util_js_1.toHttpHeadersLike;
+    } });
+  }
+});
+
+// node_modules/fast-xml-parser/lib/fxp.cjs
+var require_fxp = __commonJS({
+  "node_modules/fast-xml-parser/lib/fxp.cjs"(exports2, module2) {
+    (() => {
+      "use strict";
+      var t = { d: (e2, i2) => {
+        for (var n2 in i2) t.o(i2, n2) && !t.o(e2, n2) && Object.defineProperty(e2, n2, { enumerable: true, get: i2[n2] });
+      }, o: (t2, e2) => Object.prototype.hasOwnProperty.call(t2, e2), r: (t2) => {
+        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t2, "__esModule", { value: true });
+      } }, e = {};
+      t.r(e), t.d(e, { XMLBuilder: () => ut, XMLParser: () => et, XMLValidator: () => ft });
+      const i = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", n = new RegExp("^[" + i + "][" + i + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");
+      function s(t2, e2) {
+        const i2 = [];
+        let n2 = e2.exec(t2);
+        for (; n2; ) {
+          const s2 = [];
+          s2.startIndex = e2.lastIndex - n2[0].length;
+          const r2 = n2.length;
+          for (let t3 = 0; t3 < r2; t3++) s2.push(n2[t3]);
+          i2.push(s2), n2 = e2.exec(t2);
+        }
+        return i2;
+      }
+      const r = function(t2) {
+        return !(null == n.exec(t2));
+      }, o = { allowBooleanAttributes: false, unpairedTags: [] };
+      function a(t2, e2) {
+        e2 = Object.assign({}, o, e2);
+        const i2 = [];
+        let n2 = false, s2 = false;
+        "\uFEFF" === t2[0] && (t2 = t2.substr(1));
+        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2] && "?" === t2[o2 + 1]) {
+          if (o2 += 2, o2 = u(t2, o2), o2.err) return o2;
+        } else {
+          if ("<" !== t2[o2]) {
+            if (l(t2[o2])) continue;
+            return x("InvalidChar", "char '" + t2[o2] + "' is not expected.", b(t2, o2));
           }
-          case "\\":
-            clearStateChar();
-            escaping = true;
-            continue;
-          // the various stateChar values
-          // for the "extglob" stuff.
-          case "?":
-          case "*":
-          case "+":
-          case "@":
-          case "!":
-            this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
-            if (inClass) {
-              this.debug("  in class");
-              if (c === "!" && i === classStart + 1) c = "^";
-              re += c;
-              continue;
-            }
-            self2.debug("call clearStateChar %j", stateChar);
-            clearStateChar();
-            stateChar = c;
-            if (options.noext) clearStateChar();
-            continue;
-          case "(":
-            if (inClass) {
-              re += "(";
-              continue;
-            }
-            if (!stateChar) {
-              re += "\\(";
-              continue;
-            }
-            patternListStack.push({
-              type: stateChar,
-              start: i - 1,
-              reStart: re.length,
-              open: plTypes[stateChar].open,
-              close: plTypes[stateChar].close
-            });
-            re += stateChar === "!" ? "(?:(?!(?:" : "(?:";
-            this.debug("plType %j %j", stateChar, re);
-            stateChar = false;
-            continue;
-          case ")":
-            if (inClass || !patternListStack.length) {
-              re += "\\)";
-              continue;
-            }
-            clearStateChar();
-            hasMagic = true;
-            var pl = patternListStack.pop();
-            re += pl.close;
-            if (pl.type === "!") {
-              negativeLists.push(pl);
-            }
-            pl.reEnd = re.length;
-            continue;
-          case "|":
-            if (inClass || !patternListStack.length || escaping) {
-              re += "\\|";
-              escaping = false;
-              continue;
-            }
-            clearStateChar();
-            re += "|";
-            continue;
-          // these are mostly the same in regexp and glob
-          case "[":
-            clearStateChar();
-            if (inClass) {
-              re += "\\" + c;
-              continue;
-            }
-            inClass = true;
-            classStart = i;
-            reClassStart = re.length;
-            re += c;
-            continue;
-          case "]":
-            if (i === classStart + 1 || !inClass) {
-              re += "\\" + c;
-              escaping = false;
-              continue;
-            }
-            var cs = pattern.substring(classStart + 1, i);
-            try {
-              RegExp("[" + cs + "]");
-            } catch (er) {
-              var sp = this.parse(cs, SUBPARSE);
-              re = re.substr(0, reClassStart) + "\\[" + sp[0] + "\\]";
-              hasMagic = hasMagic || sp[1];
-              inClass = false;
+          {
+            let a2 = o2;
+            if (o2++, "!" === t2[o2]) {
+              o2 = h(t2, o2);
               continue;
             }
-            hasMagic = true;
-            inClass = false;
-            re += c;
-            continue;
-          default:
-            clearStateChar();
-            if (escaping) {
-              escaping = false;
-            } else if (reSpecials[c] && !(c === "^" && inClass)) {
-              re += "\\";
+            {
+              let d2 = false;
+              "/" === t2[o2] && (d2 = true, o2++);
+              let p2 = "";
+              for (; o2 < t2.length && ">" !== t2[o2] && " " !== t2[o2] && "	" !== t2[o2] && "\n" !== t2[o2] && "\r" !== t2[o2]; o2++) p2 += t2[o2];
+              if (p2 = p2.trim(), "/" === p2[p2.length - 1] && (p2 = p2.substring(0, p2.length - 1), o2--), !r(p2)) {
+                let e3;
+                return e3 = 0 === p2.trim().length ? "Invalid space after '<'." : "Tag '" + p2 + "' is an invalid name.", x("InvalidTag", e3, b(t2, o2));
+              }
+              const c2 = f(t2, o2);
+              if (false === c2) return x("InvalidAttr", "Attributes for '" + p2 + "' have open quote.", b(t2, o2));
+              let N2 = c2.value;
+              if (o2 = c2.index, "/" === N2[N2.length - 1]) {
+                const i3 = o2 - N2.length;
+                N2 = N2.substring(0, N2.length - 1);
+                const s3 = g(N2, e2);
+                if (true !== s3) return x(s3.err.code, s3.err.msg, b(t2, i3 + s3.err.line));
+                n2 = true;
+              } else if (d2) {
+                if (!c2.tagClosed) return x("InvalidTag", "Closing tag '" + p2 + "' doesn't have proper closing.", b(t2, o2));
+                if (N2.trim().length > 0) return x("InvalidTag", "Closing tag '" + p2 + "' can't have attributes or invalid starting.", b(t2, a2));
+                if (0 === i2.length) return x("InvalidTag", "Closing tag '" + p2 + "' has not been opened.", b(t2, a2));
+                {
+                  const e3 = i2.pop();
+                  if (p2 !== e3.tagName) {
+                    let i3 = b(t2, e3.tagStartPos);
+                    return x("InvalidTag", "Expected closing tag '" + e3.tagName + "' (opened in line " + i3.line + ", col " + i3.col + ") instead of closing tag '" + p2 + "'.", b(t2, a2));
+                  }
+                  0 == i2.length && (s2 = true);
+                }
+              } else {
+                const r2 = g(N2, e2);
+                if (true !== r2) return x(r2.err.code, r2.err.msg, b(t2, o2 - N2.length + r2.err.line));
+                if (true === s2) return x("InvalidXml", "Multiple possible root nodes found.", b(t2, o2));
+                -1 !== e2.unpairedTags.indexOf(p2) || i2.push({ tagName: p2, tagStartPos: a2 }), n2 = true;
+              }
+              for (o2++; o2 < t2.length; o2++) if ("<" === t2[o2]) {
+                if ("!" === t2[o2 + 1]) {
+                  o2++, o2 = h(t2, o2);
+                  continue;
+                }
+                if ("?" !== t2[o2 + 1]) break;
+                if (o2 = u(t2, ++o2), o2.err) return o2;
+              } else if ("&" === t2[o2]) {
+                const e3 = m(t2, o2);
+                if (-1 == e3) return x("InvalidChar", "char '&' is not expected.", b(t2, o2));
+                o2 = e3;
+              } else if (true === s2 && !l(t2[o2])) return x("InvalidXml", "Extra text at the end", b(t2, o2));
+              "<" === t2[o2] && o2--;
             }
-            re += c;
+          }
         }
+        return n2 ? 1 == i2.length ? x("InvalidTag", "Unclosed tag '" + i2[0].tagName + "'.", b(t2, i2[0].tagStartPos)) : !(i2.length > 0) || x("InvalidXml", "Invalid '" + JSON.stringify(i2.map(((t3) => t3.tagName)), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }) : x("InvalidXml", "Start tag expected.", 1);
       }
-      if (inClass) {
-        cs = pattern.substr(classStart + 1);
-        sp = this.parse(cs, SUBPARSE);
-        re = re.substr(0, reClassStart) + "\\[" + sp[0];
-        hasMagic = hasMagic || sp[1];
+      function l(t2) {
+        return " " === t2 || "	" === t2 || "\n" === t2 || "\r" === t2;
       }
-      for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
-        var tail = re.slice(pl.reStart + pl.open.length);
-        this.debug("setting tail", re, pl);
-        tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function(_2, $1, $2) {
-          if (!$2) {
-            $2 = "\\";
+      function u(t2, e2) {
+        const i2 = e2;
+        for (; e2 < t2.length; e2++) if ("?" != t2[e2] && " " != t2[e2]) ;
+        else {
+          const n2 = t2.substr(i2, e2 - i2);
+          if (e2 > 5 && "xml" === n2) return x("InvalidXml", "XML declaration allowed only at the start of the document.", b(t2, e2));
+          if ("?" == t2[e2] && ">" == t2[e2 + 1]) {
+            e2++;
+            break;
           }
-          return $1 + $1 + $2 + "|";
-        });
-        this.debug("tail=%j\n   %s", tail, tail, pl, re);
-        var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
-        hasMagic = true;
-        re = re.slice(0, pl.reStart) + t + "\\(" + tail;
-      }
-      clearStateChar();
-      if (escaping) {
-        re += "\\\\";
-      }
-      var addPatternStart = false;
-      switch (re.charAt(0)) {
-        case "[":
-        case ".":
-        case "(":
-          addPatternStart = true;
-      }
-      for (var n = negativeLists.length - 1; n > -1; n--) {
-        var nl = negativeLists[n];
-        var nlBefore = re.slice(0, nl.reStart);
-        var nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
-        var nlLast = re.slice(nl.reEnd - 8, nl.reEnd);
-        var nlAfter = re.slice(nl.reEnd);
-        nlLast += nlAfter;
-        var openParensBefore = nlBefore.split("(").length - 1;
-        var cleanAfter = nlAfter;
-        for (i = 0; i < openParensBefore; i++) {
-          cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
-        }
-        nlAfter = cleanAfter;
-        var dollar = "";
-        if (nlAfter === "" && isSub !== SUBPARSE) {
-          dollar = "$";
         }
-        var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast;
-        re = newRe;
-      }
-      if (re !== "" && hasMagic) {
-        re = "(?=.)" + re;
-      }
-      if (addPatternStart) {
-        re = patternStart + re;
+        return e2;
       }
-      if (isSub === SUBPARSE) {
-        return [re, hasMagic];
+      function h(t2, e2) {
+        if (t2.length > e2 + 5 && "-" === t2[e2 + 1] && "-" === t2[e2 + 2]) {
+          for (e2 += 3; e2 < t2.length; e2++) if ("-" === t2[e2] && "-" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
+            e2 += 2;
+            break;
+          }
+        } else if (t2.length > e2 + 8 && "D" === t2[e2 + 1] && "O" === t2[e2 + 2] && "C" === t2[e2 + 3] && "T" === t2[e2 + 4] && "Y" === t2[e2 + 5] && "P" === t2[e2 + 6] && "E" === t2[e2 + 7]) {
+          let i2 = 1;
+          for (e2 += 8; e2 < t2.length; e2++) if ("<" === t2[e2]) i2++;
+          else if (">" === t2[e2] && (i2--, 0 === i2)) break;
+        } else if (t2.length > e2 + 9 && "[" === t2[e2 + 1] && "C" === t2[e2 + 2] && "D" === t2[e2 + 3] && "A" === t2[e2 + 4] && "T" === t2[e2 + 5] && "A" === t2[e2 + 6] && "[" === t2[e2 + 7]) {
+          for (e2 += 8; e2 < t2.length; e2++) if ("]" === t2[e2] && "]" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
+            e2 += 2;
+            break;
+          }
+        }
+        return e2;
       }
-      if (!hasMagic) {
-        return globUnescape(pattern);
+      const d = '"', p = "'";
+      function f(t2, e2) {
+        let i2 = "", n2 = "", s2 = false;
+        for (; e2 < t2.length; e2++) {
+          if (t2[e2] === d || t2[e2] === p) "" === n2 ? n2 = t2[e2] : n2 !== t2[e2] || (n2 = "");
+          else if (">" === t2[e2] && "" === n2) {
+            s2 = true;
+            break;
+          }
+          i2 += t2[e2];
+        }
+        return "" === n2 && { value: i2, index: e2, tagClosed: s2 };
       }
-      var flags = options.nocase ? "i" : "";
-      try {
-        var regExp = new RegExp("^" + re + "$", flags);
-      } catch (er) {
-        return new RegExp("$.");
+      const c = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g");
+      function g(t2, e2) {
+        const i2 = s(t2, c), n2 = {};
+        for (let t3 = 0; t3 < i2.length; t3++) {
+          if (0 === i2[t3][1].length) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' has no space in starting.", E(i2[t3]));
+          if (void 0 !== i2[t3][3] && void 0 === i2[t3][4]) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' is without value.", E(i2[t3]));
+          if (void 0 === i2[t3][3] && !e2.allowBooleanAttributes) return x("InvalidAttr", "boolean attribute '" + i2[t3][2] + "' is not allowed.", E(i2[t3]));
+          const s2 = i2[t3][2];
+          if (!N(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is an invalid name.", E(i2[t3]));
+          if (n2.hasOwnProperty(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is repeated.", E(i2[t3]));
+          n2[s2] = 1;
+        }
+        return true;
       }
-      regExp._glob = pattern;
-      regExp._src = re;
-      return regExp;
-    }
-    minimatch.makeRe = function(pattern, options) {
-      return new Minimatch(pattern, options || {}).makeRe();
-    };
-    Minimatch.prototype.makeRe = makeRe;
-    function makeRe() {
-      if (this.regexp || this.regexp === false) return this.regexp;
-      var set2 = this.set;
-      if (!set2.length) {
-        this.regexp = false;
-        return this.regexp;
+      function m(t2, e2) {
+        if (";" === t2[++e2]) return -1;
+        if ("#" === t2[e2]) return (function(t3, e3) {
+          let i3 = /\d/;
+          for ("x" === t3[e3] && (e3++, i3 = /[\da-fA-F]/); e3 < t3.length; e3++) {
+            if (";" === t3[e3]) return e3;
+            if (!t3[e3].match(i3)) break;
+          }
+          return -1;
+        })(t2, ++e2);
+        let i2 = 0;
+        for (; e2 < t2.length; e2++, i2++) if (!(t2[e2].match(/\w/) && i2 < 20)) {
+          if (";" === t2[e2]) break;
+          return -1;
+        }
+        return e2;
       }
-      var options = this.options;
-      var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-      var flags = options.nocase ? "i" : "";
-      var re = set2.map(function(pattern) {
-        return pattern.map(function(p) {
-          return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src;
-        }).join("\\/");
-      }).join("|");
-      re = "^(?:" + re + ")$";
-      if (this.negate) re = "^(?!" + re + ").*$";
-      try {
-        this.regexp = new RegExp(re, flags);
-      } catch (ex) {
-        this.regexp = false;
+      function x(t2, e2, i2) {
+        return { err: { code: t2, msg: e2, line: i2.line || i2, col: i2.col } };
       }
-      return this.regexp;
-    }
-    minimatch.match = function(list, pattern, options) {
-      options = options || {};
-      var mm = new Minimatch(pattern, options);
-      list = list.filter(function(f) {
-        return mm.match(f);
-      });
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+      function N(t2) {
+        return r(t2);
       }
-      return list;
-    };
-    Minimatch.prototype.match = function match(f, partial) {
-      if (typeof partial === "undefined") partial = this.partial;
-      this.debug("match", f, this.pattern);
-      if (this.comment) return false;
-      if (this.empty) return f === "";
-      if (f === "/" && partial) return true;
-      var options = this.options;
-      if (path4.sep !== "/") {
-        f = f.split(path4.sep).join("/");
+      function b(t2, e2) {
+        const i2 = t2.substring(0, e2).split(/\r?\n/);
+        return { line: i2.length, col: i2[i2.length - 1].length + 1 };
       }
-      f = f.split(slashSplit);
-      this.debug(this.pattern, "split", f);
-      var set2 = this.set;
-      this.debug(this.pattern, "set", set2);
-      var filename;
-      var i;
-      for (i = f.length - 1; i >= 0; i--) {
-        filename = f[i];
-        if (filename) break;
+      function E(t2) {
+        return t2.startIndex + t2[1].length;
       }
-      for (i = 0; i < set2.length; i++) {
-        var pattern = set2[i];
-        var file = f;
-        if (options.matchBase && pattern.length === 1) {
-          file = [filename];
+      const v = { preserveOrder: false, attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, removeNSPrefix: false, allowBooleanAttributes: false, parseTagValue: true, parseAttributeValue: false, trimValues: true, cdataPropName: false, numberParseOptions: { hex: true, leadingZeros: true, eNotation: true }, tagValueProcessor: function(t2, e2) {
+        return e2;
+      }, attributeValueProcessor: function(t2, e2) {
+        return e2;
+      }, stopNodes: [], alwaysCreateTextNode: false, isArray: () => false, commentPropName: false, unpairedTags: [], processEntities: true, htmlEntities: false, ignoreDeclaration: false, ignorePiTags: false, transformTagName: false, transformAttributeName: false, updateTag: function(t2, e2, i2) {
+        return t2;
+      }, captureMetaData: false };
+      let T;
+      T = "function" != typeof Symbol ? "@@xmlMetadata" : /* @__PURE__ */ Symbol("XML Node Metadata");
+      class y {
+        constructor(t2) {
+          this.tagname = t2, this.child = [], this[":@"] = {};
         }
-        var hit = this.matchOne(file, pattern, partial);
-        if (hit) {
-          if (options.flipNegate) return true;
-          return !this.negate;
+        add(t2, e2) {
+          "__proto__" === t2 && (t2 = "#__proto__"), this.child.push({ [t2]: e2 });
         }
-      }
-      if (options.flipNegate) return false;
-      return this.negate;
-    };
-    Minimatch.prototype.matchOne = function(file, pattern, partial) {
-      var options = this.options;
-      this.debug(
-        "matchOne",
-        { "this": this, file, pattern }
-      );
-      this.debug("matchOne", file.length, pattern.length);
-      for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-        this.debug("matchOne loop");
-        var p = pattern[pi];
-        var f = file[fi];
-        this.debug(pattern, p, f);
-        if (p === false) return false;
-        if (p === GLOBSTAR) {
-          this.debug("GLOBSTAR", [pattern, p, f]);
-          var fr = fi;
-          var pr = pi + 1;
-          if (pr === pl) {
-            this.debug("** at the end");
-            for (; fi < fl; fi++) {
-              if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
-            }
-            return true;
-          }
-          while (fr < fl) {
-            var swallowee = file[fr];
-            this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-            if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-              this.debug("globstar found match!", fr, fl, swallowee);
-              return true;
-            } else {
-              if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                this.debug("dot detected!", file, fr, pattern, pr);
-                break;
-              }
-              this.debug("globstar swallow a segment, and continue");
-              fr++;
-            }
-          }
-          if (partial) {
-            this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-            if (fr === fl) return true;
-          }
-          return false;
+        addChild(t2, e2) {
+          "__proto__" === t2.tagname && (t2.tagname = "#__proto__"), t2[":@"] && Object.keys(t2[":@"]).length > 0 ? this.child.push({ [t2.tagname]: t2.child, ":@": t2[":@"] }) : this.child.push({ [t2.tagname]: t2.child }), void 0 !== e2 && (this.child[this.child.length - 1][T] = { startIndex: e2 });
         }
-        var hit;
-        if (typeof p === "string") {
-          hit = f === p;
-          this.debug("string match", p, f, hit);
-        } else {
-          hit = f.match(p);
-          this.debug("pattern match", p, f, hit);
+        static getMetaDataSymbol() {
+          return T;
         }
-        if (!hit) return false;
-      }
-      if (fi === fl && pi === pl) {
-        return true;
-      } else if (fi === fl) {
-        return partial;
-      } else if (pi === pl) {
-        return fi === fl - 1 && file[fi] === "";
       }
-      throw new Error("wtf?");
-    };
-    function globUnescape(s) {
-      return s.replace(/\\(.)/g, "$1");
-    }
-    function regExpEscape(s) {
-      return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    }
-  }
-});
-
-// node_modules/@actions/glob/lib/internal-path.js
-var require_internal_path = __commonJS({
-  "node_modules/@actions/glob/lib/internal-path.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      class w {
+        constructor(t2) {
+          this.suppressValidationErr = !t2;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Path = void 0;
-    var path4 = __importStar2(require("path"));
-    var pathHelper = __importStar2(require_internal_path_helper());
-    var assert_1 = __importDefault2(require("assert"));
-    var IS_WINDOWS = process.platform === "win32";
-    var Path = class {
-      /**
-       * Constructs a Path
-       * @param itemPath Path or array of segments
-       */
-      constructor(itemPath) {
-        this.segments = [];
-        if (typeof itemPath === "string") {
-          (0, assert_1.default)(itemPath, `Parameter 'itemPath' must not be empty`);
-          itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
-          if (!pathHelper.hasRoot(itemPath)) {
-            this.segments = itemPath.split(path4.sep);
-          } else {
-            let remaining = itemPath;
-            let dir = pathHelper.dirname(remaining);
-            while (dir !== remaining) {
-              const basename2 = path4.basename(remaining);
-              this.segments.unshift(basename2);
-              remaining = dir;
-              dir = pathHelper.dirname(remaining);
-            }
-            this.segments.unshift(remaining);
-          }
-        } else {
-          (0, assert_1.default)(itemPath.length > 0, `Parameter 'itemPath' must not be an empty array`);
-          for (let i = 0; i < itemPath.length; i++) {
-            let segment = itemPath[i];
-            (0, assert_1.default)(segment, `Parameter 'itemPath' must not contain any empty segments`);
-            segment = pathHelper.normalizeSeparators(itemPath[i]);
-            if (i === 0 && pathHelper.hasRoot(segment)) {
-              segment = pathHelper.safeTrimTrailingSeparator(segment);
-              (0, assert_1.default)(segment === pathHelper.dirname(segment), `Parameter 'itemPath' root segment contains information for multiple segments`);
-              this.segments.push(segment);
-            } else {
-              (0, assert_1.default)(!segment.includes(path4.sep), `Parameter 'itemPath' contains unexpected path separators`);
-              this.segments.push(segment);
+        readDocType(t2, e2) {
+          const i2 = {};
+          if ("O" !== t2[e2 + 3] || "C" !== t2[e2 + 4] || "T" !== t2[e2 + 5] || "Y" !== t2[e2 + 6] || "P" !== t2[e2 + 7] || "E" !== t2[e2 + 8]) throw new Error("Invalid Tag instead of DOCTYPE");
+          {
+            e2 += 9;
+            let n2 = 1, s2 = false, r2 = false, o2 = "";
+            for (; e2 < t2.length; e2++) if ("<" !== t2[e2] || r2) if (">" === t2[e2]) {
+              if (r2 ? "-" === t2[e2 - 1] && "-" === t2[e2 - 2] && (r2 = false, n2--) : n2--, 0 === n2) break;
+            } else "[" === t2[e2] ? s2 = true : o2 += t2[e2];
+            else {
+              if (s2 && P(t2, "!ENTITY", e2)) {
+                let n3, s3;
+                e2 += 7, [n3, s3, e2] = this.readEntityExp(t2, e2 + 1, this.suppressValidationErr), -1 === s3.indexOf("&") && (i2[n3] = { regx: RegExp(`&${n3};`, "g"), val: s3 });
+              } else if (s2 && P(t2, "!ELEMENT", e2)) {
+                e2 += 8;
+                const { index: i3 } = this.readElementExp(t2, e2 + 1);
+                e2 = i3;
+              } else if (s2 && P(t2, "!ATTLIST", e2)) e2 += 8;
+              else if (s2 && P(t2, "!NOTATION", e2)) {
+                e2 += 9;
+                const { index: i3 } = this.readNotationExp(t2, e2 + 1, this.suppressValidationErr);
+                e2 = i3;
+              } else {
+                if (!P(t2, "!--", e2)) throw new Error("Invalid DOCTYPE");
+                r2 = true;
+              }
+              n2++, o2 = "";
             }
+            if (0 !== n2) throw new Error("Unclosed DOCTYPE");
           }
+          return { entities: i2, i: e2 };
         }
-      }
-      /**
-       * Converts the path to it's string representation
-       */
-      toString() {
-        let result = this.segments[0];
-        let skipSlash = result.endsWith(path4.sep) || IS_WINDOWS && /^[A-Z]:$/i.test(result);
-        for (let i = 1; i < this.segments.length; i++) {
-          if (skipSlash) {
-            skipSlash = false;
-          } else {
-            result += path4.sep;
+        readEntityExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]) && '"' !== t2[e2] && "'" !== t2[e2]; ) i2 += t2[e2], e2++;
+          if (O(i2), e2 = I(t2, e2), !this.suppressValidationErr) {
+            if ("SYSTEM" === t2.substring(e2, e2 + 6).toUpperCase()) throw new Error("External entities are not supported");
+            if ("%" === t2[e2]) throw new Error("Parameter entities are not supported");
           }
-          result += this.segments[i];
+          let n2 = "";
+          return [e2, n2] = this.readIdentifierVal(t2, e2, "entity"), [i2, n2, --e2];
         }
-        return result;
-      }
-    };
-    exports2.Path = Path;
-  }
-});
-
-// node_modules/@actions/glob/lib/internal-pattern.js
-var require_internal_pattern = __commonJS({
-  "node_modules/@actions/glob/lib/internal-pattern.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        readNotationExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
+          !this.suppressValidationErr && O(i2), e2 = I(t2, e2);
+          const n2 = t2.substring(e2, e2 + 6).toUpperCase();
+          if (!this.suppressValidationErr && "SYSTEM" !== n2 && "PUBLIC" !== n2) throw new Error(`Expected SYSTEM or PUBLIC, found "${n2}"`);
+          e2 += n2.length, e2 = I(t2, e2);
+          let s2 = null, r2 = null;
+          if ("PUBLIC" === n2) [e2, s2] = this.readIdentifierVal(t2, e2, "publicIdentifier"), '"' !== t2[e2 = I(t2, e2)] && "'" !== t2[e2] || ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"));
+          else if ("SYSTEM" === n2 && ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"), !this.suppressValidationErr && !r2)) throw new Error("Missing mandatory system identifier for SYSTEM notation");
+          return { notationName: i2, publicIdentifier: s2, systemIdentifier: r2, index: --e2 };
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pattern = void 0;
-    var os2 = __importStar2(require("os"));
-    var path4 = __importStar2(require("path"));
-    var pathHelper = __importStar2(require_internal_path_helper());
-    var assert_1 = __importDefault2(require("assert"));
-    var minimatch_1 = require_minimatch();
-    var internal_match_kind_1 = require_internal_match_kind();
-    var internal_path_1 = require_internal_path();
-    var IS_WINDOWS = process.platform === "win32";
-    var Pattern = class _Pattern {
-      constructor(patternOrNegate, isImplicitPattern = false, segments, homedir) {
-        this.negate = false;
-        let pattern;
-        if (typeof patternOrNegate === "string") {
-          pattern = patternOrNegate.trim();
-        } else {
-          segments = segments || [];
-          (0, assert_1.default)(segments.length, `Parameter 'segments' must not empty`);
-          const root = _Pattern.getLiteral(segments[0]);
-          (0, assert_1.default)(root && pathHelper.hasAbsoluteRoot(root), `Parameter 'segments' first element must be a root path`);
-          pattern = new internal_path_1.Path(segments).toString().trim();
-          if (patternOrNegate) {
-            pattern = `!${pattern}`;
-          }
+        readIdentifierVal(t2, e2, i2) {
+          let n2 = "";
+          const s2 = t2[e2];
+          if ('"' !== s2 && "'" !== s2) throw new Error(`Expected quoted string, found "${s2}"`);
+          for (e2++; e2 < t2.length && t2[e2] !== s2; ) n2 += t2[e2], e2++;
+          if (t2[e2] !== s2) throw new Error(`Unterminated ${i2} value`);
+          return [++e2, n2];
         }
-        while (pattern.startsWith("!")) {
-          this.negate = !this.negate;
-          pattern = pattern.substr(1).trim();
+        readElementExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
+          if (!this.suppressValidationErr && !r(i2)) throw new Error(`Invalid element name: "${i2}"`);
+          let n2 = "";
+          if ("E" === t2[e2 = I(t2, e2)] && P(t2, "MPTY", e2)) e2 += 4;
+          else if ("A" === t2[e2] && P(t2, "NY", e2)) e2 += 2;
+          else if ("(" === t2[e2]) {
+            for (e2++; e2 < t2.length && ")" !== t2[e2]; ) n2 += t2[e2], e2++;
+            if (")" !== t2[e2]) throw new Error("Unterminated content model");
+          } else if (!this.suppressValidationErr) throw new Error(`Invalid Element Expression, found "${t2[e2]}"`);
+          return { elementName: i2, contentModel: n2.trim(), index: e2 };
+        }
+        readAttlistExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
+          O(i2), e2 = I(t2, e2);
+          let n2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) n2 += t2[e2], e2++;
+          if (!O(n2)) throw new Error(`Invalid attribute name: "${n2}"`);
+          e2 = I(t2, e2);
+          let s2 = "";
+          if ("NOTATION" === t2.substring(e2, e2 + 8).toUpperCase()) {
+            if (s2 = "NOTATION", "(" !== t2[e2 = I(t2, e2 += 8)]) throw new Error(`Expected '(', found "${t2[e2]}"`);
+            e2++;
+            let i3 = [];
+            for (; e2 < t2.length && ")" !== t2[e2]; ) {
+              let n3 = "";
+              for (; e2 < t2.length && "|" !== t2[e2] && ")" !== t2[e2]; ) n3 += t2[e2], e2++;
+              if (n3 = n3.trim(), !O(n3)) throw new Error(`Invalid notation name: "${n3}"`);
+              i3.push(n3), "|" === t2[e2] && (e2++, e2 = I(t2, e2));
+            }
+            if (")" !== t2[e2]) throw new Error("Unterminated list of notations");
+            e2++, s2 += " (" + i3.join("|") + ")";
+          } else {
+            for (; e2 < t2.length && !/\s/.test(t2[e2]); ) s2 += t2[e2], e2++;
+            const i3 = ["CDATA", "ID", "IDREF", "IDREFS", "ENTITY", "ENTITIES", "NMTOKEN", "NMTOKENS"];
+            if (!this.suppressValidationErr && !i3.includes(s2.toUpperCase())) throw new Error(`Invalid attribute type: "${s2}"`);
+          }
+          e2 = I(t2, e2);
+          let r2 = "";
+          return "#REQUIRED" === t2.substring(e2, e2 + 8).toUpperCase() ? (r2 = "#REQUIRED", e2 += 8) : "#IMPLIED" === t2.substring(e2, e2 + 7).toUpperCase() ? (r2 = "#IMPLIED", e2 += 7) : [e2, r2] = this.readIdentifierVal(t2, e2, "ATTLIST"), { elementName: i2, attributeName: n2, attributeType: s2, defaultValue: r2, index: e2 };
         }
-        pattern = _Pattern.fixupPattern(pattern, homedir);
-        this.segments = new internal_path_1.Path(pattern).segments;
-        this.trailingSeparator = pathHelper.normalizeSeparators(pattern).endsWith(path4.sep);
-        pattern = pathHelper.safeTrimTrailingSeparator(pattern);
-        let foundGlob = false;
-        const searchSegments = this.segments.map((x) => _Pattern.getLiteral(x)).filter((x) => !foundGlob && !(foundGlob = x === ""));
-        this.searchPath = new internal_path_1.Path(searchSegments).toString();
-        this.rootRegExp = new RegExp(_Pattern.regExpEscape(searchSegments[0]), IS_WINDOWS ? "i" : "");
-        this.isImplicitPattern = isImplicitPattern;
-        const minimatchOptions = {
-          dot: true,
-          nobrace: true,
-          nocase: IS_WINDOWS,
-          nocomment: true,
-          noext: true,
-          nonegate: true
-        };
-        pattern = IS_WINDOWS ? pattern.replace(/\\/g, "/") : pattern;
-        this.minimatch = new minimatch_1.Minimatch(pattern, minimatchOptions);
       }
-      /**
-       * Matches the pattern against the specified path
-       */
-      match(itemPath) {
-        if (this.segments[this.segments.length - 1] === "**") {
-          itemPath = pathHelper.normalizeSeparators(itemPath);
-          if (!itemPath.endsWith(path4.sep) && this.isImplicitPattern === false) {
-            itemPath = `${itemPath}${path4.sep}`;
+      const I = (t2, e2) => {
+        for (; e2 < t2.length && /\s/.test(t2[e2]); ) e2++;
+        return e2;
+      };
+      function P(t2, e2, i2) {
+        for (let n2 = 0; n2 < e2.length; n2++) if (e2[n2] !== t2[i2 + n2 + 1]) return false;
+        return true;
+      }
+      function O(t2) {
+        if (r(t2)) return t2;
+        throw new Error(`Invalid entity name ${t2}`);
+      }
+      const A = /^[-+]?0x[a-fA-F0-9]+$/, S = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/, C = { hex: true, leadingZeros: true, decimalPoint: ".", eNotation: true };
+      const V = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;
+      function $(t2) {
+        return "function" == typeof t2 ? t2 : Array.isArray(t2) ? (e2) => {
+          for (const i2 of t2) {
+            if ("string" == typeof i2 && e2 === i2) return true;
+            if (i2 instanceof RegExp && i2.test(e2)) return true;
+          }
+        } : () => false;
+      }
+      class D {
+        constructor(t2) {
+          if (this.options = t2, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = { apos: { regex: /&(apos|#39|#x27);/g, val: "'" }, gt: { regex: /&(gt|#62|#x3E);/g, val: ">" }, lt: { regex: /&(lt|#60|#x3C);/g, val: "<" }, quot: { regex: /&(quot|#34|#x22);/g, val: '"' } }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }, this.htmlEntities = { space: { regex: /&(nbsp|#160);/g, val: " " }, cent: { regex: /&(cent|#162);/g, val: "\xA2" }, pound: { regex: /&(pound|#163);/g, val: "\xA3" }, yen: { regex: /&(yen|#165);/g, val: "\xA5" }, euro: { regex: /&(euro|#8364);/g, val: "\u20AC" }, copyright: { regex: /&(copy|#169);/g, val: "\xA9" }, reg: { regex: /&(reg|#174);/g, val: "\xAE" }, inr: { regex: /&(inr|#8377);/g, val: "\u20B9" }, num_dec: { regex: /&#([0-9]{1,7});/g, val: (t3, e2) => Z(e2, 10, "&#") }, num_hex: { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (t3, e2) => Z(e2, 16, "&#x") } }, this.addExternalEntities = j, this.parseXml = L, this.parseTextData = M, this.resolveNameSpace = F, this.buildAttributesMap = k, this.isItStopNode = Y, this.replaceEntitiesValue = B, this.readStopNodeData = W, this.saveTextToParentTag = R, this.addChild = U, this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.options.stopNodes && this.options.stopNodes.length > 0) {
+            this.stopNodesExact = /* @__PURE__ */ new Set(), this.stopNodesWildcard = /* @__PURE__ */ new Set();
+            for (let t3 = 0; t3 < this.options.stopNodes.length; t3++) {
+              const e2 = this.options.stopNodes[t3];
+              "string" == typeof e2 && (e2.startsWith("*.") ? this.stopNodesWildcard.add(e2.substring(2)) : this.stopNodesExact.add(e2));
+            }
           }
-        } else {
-          itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
         }
-        if (this.minimatch.match(itemPath)) {
-          return this.trailingSeparator ? internal_match_kind_1.MatchKind.Directory : internal_match_kind_1.MatchKind.All;
+      }
+      function j(t2) {
+        const e2 = Object.keys(t2);
+        for (let i2 = 0; i2 < e2.length; i2++) {
+          const n2 = e2[i2];
+          this.lastEntities[n2] = { regex: new RegExp("&" + n2 + ";", "g"), val: t2[n2] };
         }
-        return internal_match_kind_1.MatchKind.None;
       }
-      /**
-       * Indicates whether the pattern may match descendants of the specified path
-       */
-      partialMatch(itemPath) {
-        itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
-        if (pathHelper.dirname(itemPath) === itemPath) {
-          return this.rootRegExp.test(itemPath);
+      function M(t2, e2, i2, n2, s2, r2, o2) {
+        if (void 0 !== t2 && (this.options.trimValues && !n2 && (t2 = t2.trim()), t2.length > 0)) {
+          o2 || (t2 = this.replaceEntitiesValue(t2));
+          const n3 = this.options.tagValueProcessor(e2, t2, i2, s2, r2);
+          return null == n3 ? t2 : typeof n3 != typeof t2 || n3 !== t2 ? n3 : this.options.trimValues || t2.trim() === t2 ? q(t2, this.options.parseTagValue, this.options.numberParseOptions) : t2;
         }
-        return this.minimatch.matchOne(itemPath.split(IS_WINDOWS ? /\\+/ : /\/+/), this.minimatch.set[0], true);
       }
-      /**
-       * Escapes glob patterns within a path
-       */
-      static globEscape(s) {
-        return (IS_WINDOWS ? s : s.replace(/\\/g, "\\\\")).replace(/(\[)(?=[^/]+\])/g, "[[]").replace(/\?/g, "[?]").replace(/\*/g, "[*]");
+      function F(t2) {
+        if (this.options.removeNSPrefix) {
+          const e2 = t2.split(":"), i2 = "/" === t2.charAt(0) ? "/" : "";
+          if ("xmlns" === e2[0]) return "";
+          2 === e2.length && (t2 = i2 + e2[1]);
+        }
+        return t2;
       }
-      /**
-       * Normalizes slashes and ensures absolute root
-       */
-      static fixupPattern(pattern, homedir) {
-        (0, assert_1.default)(pattern, "pattern cannot be empty");
-        const literalSegments = new internal_path_1.Path(pattern).segments.map((x) => _Pattern.getLiteral(x));
-        (0, assert_1.default)(literalSegments.every((x, i) => (x !== "." || i === 0) && x !== ".."), `Invalid pattern '${pattern}'. Relative pathing '.' and '..' is not allowed.`);
-        (0, assert_1.default)(!pathHelper.hasRoot(pattern) || literalSegments[0], `Invalid pattern '${pattern}'. Root segment must not contain globs.`);
-        pattern = pathHelper.normalizeSeparators(pattern);
-        if (pattern === "." || pattern.startsWith(`.${path4.sep}`)) {
-          pattern = _Pattern.globEscape(process.cwd()) + pattern.substr(1);
-        } else if (pattern === "~" || pattern.startsWith(`~${path4.sep}`)) {
-          homedir = homedir || os2.homedir();
-          (0, assert_1.default)(homedir, "Unable to determine HOME directory");
-          (0, assert_1.default)(pathHelper.hasAbsoluteRoot(homedir), `Expected HOME directory to be a rooted path. Actual '${homedir}'`);
-          pattern = _Pattern.globEscape(homedir) + pattern.substr(1);
-        } else if (IS_WINDOWS && (pattern.match(/^[A-Z]:$/i) || pattern.match(/^[A-Z]:[^\\]/i))) {
-          let root = pathHelper.ensureAbsoluteRoot("C:\\dummy-root", pattern.substr(0, 2));
-          if (pattern.length > 2 && !root.endsWith("\\")) {
-            root += "\\";
+      const _2 = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm");
+      function k(t2, e2) {
+        if (true !== this.options.ignoreAttributes && "string" == typeof t2) {
+          const i2 = s(t2, _2), n2 = i2.length, r2 = {};
+          for (let t3 = 0; t3 < n2; t3++) {
+            const n3 = this.resolveNameSpace(i2[t3][1]);
+            if (this.ignoreAttributesFn(n3, e2)) continue;
+            let s2 = i2[t3][4], o2 = this.options.attributeNamePrefix + n3;
+            if (n3.length) if (this.options.transformAttributeName && (o2 = this.options.transformAttributeName(o2)), "__proto__" === o2 && (o2 = "#__proto__"), void 0 !== s2) {
+              this.options.trimValues && (s2 = s2.trim()), s2 = this.replaceEntitiesValue(s2);
+              const t4 = this.options.attributeValueProcessor(n3, s2, e2);
+              r2[o2] = null == t4 ? s2 : typeof t4 != typeof s2 || t4 !== s2 ? t4 : q(s2, this.options.parseAttributeValue, this.options.numberParseOptions);
+            } else this.options.allowBooleanAttributes && (r2[o2] = true);
           }
-          pattern = _Pattern.globEscape(root) + pattern.substr(2);
-        } else if (IS_WINDOWS && (pattern === "\\" || pattern.match(/^\\[^\\]/))) {
-          let root = pathHelper.ensureAbsoluteRoot("C:\\dummy-root", "\\");
-          if (!root.endsWith("\\")) {
-            root += "\\";
+          if (!Object.keys(r2).length) return;
+          if (this.options.attributesGroupName) {
+            const t3 = {};
+            return t3[this.options.attributesGroupName] = r2, t3;
           }
-          pattern = _Pattern.globEscape(root) + pattern.substr(1);
-        } else {
-          pattern = pathHelper.ensureAbsoluteRoot(_Pattern.globEscape(process.cwd()), pattern);
+          return r2;
         }
-        return pathHelper.normalizeSeparators(pattern);
       }
-      /**
-       * Attempts to unescape a pattern segment to create a literal path segment.
-       * Otherwise returns empty string.
-       */
-      static getLiteral(segment) {
-        let literal = "";
-        for (let i = 0; i < segment.length; i++) {
-          const c = segment[i];
-          if (c === "\\" && !IS_WINDOWS && i + 1 < segment.length) {
-            literal += segment[++i];
-            continue;
-          } else if (c === "*" || c === "?") {
-            return "";
-          } else if (c === "[" && i + 1 < segment.length) {
-            let set2 = "";
-            let closed = -1;
-            for (let i2 = i + 1; i2 < segment.length; i2++) {
-              const c2 = segment[i2];
-              if (c2 === "\\" && !IS_WINDOWS && i2 + 1 < segment.length) {
-                set2 += segment[++i2];
-                continue;
-              } else if (c2 === "]") {
-                closed = i2;
-                break;
-              } else {
-                set2 += c2;
-              }
+      const L = function(t2) {
+        t2 = t2.replace(/\r\n?/g, "\n");
+        const e2 = new y("!xml");
+        let i2 = e2, n2 = "", s2 = "";
+        const r2 = new w(this.options.processEntities);
+        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2]) if ("/" === t2[o2 + 1]) {
+          const e3 = G(t2, ">", o2, "Closing Tag is not closed.");
+          let r3 = t2.substring(o2 + 2, e3).trim();
+          if (this.options.removeNSPrefix) {
+            const t3 = r3.indexOf(":");
+            -1 !== t3 && (r3 = r3.substr(t3 + 1));
+          }
+          this.options.transformTagName && (r3 = this.options.transformTagName(r3)), i2 && (n2 = this.saveTextToParentTag(n2, i2, s2));
+          const a2 = s2.substring(s2.lastIndexOf(".") + 1);
+          if (r3 && -1 !== this.options.unpairedTags.indexOf(r3)) throw new Error(`Unpaired tag can not be used as closing tag: `);
+          let l2 = 0;
+          a2 && -1 !== this.options.unpairedTags.indexOf(a2) ? (l2 = s2.lastIndexOf(".", s2.lastIndexOf(".") - 1), this.tagsNodeStack.pop()) : l2 = s2.lastIndexOf("."), s2 = s2.substring(0, l2), i2 = this.tagsNodeStack.pop(), n2 = "", o2 = e3;
+        } else if ("?" === t2[o2 + 1]) {
+          let e3 = X(t2, o2, false, "?>");
+          if (!e3) throw new Error("Pi Tag is not closed.");
+          if (n2 = this.saveTextToParentTag(n2, i2, s2), this.options.ignoreDeclaration && "?xml" === e3.tagName || this.options.ignorePiTags) ;
+          else {
+            const t3 = new y(e3.tagName);
+            t3.add(this.options.textNodeName, ""), e3.tagName !== e3.tagExp && e3.attrExpPresent && (t3[":@"] = this.buildAttributesMap(e3.tagExp, s2)), this.addChild(i2, t3, s2, o2);
+          }
+          o2 = e3.closeIndex + 1;
+        } else if ("!--" === t2.substr(o2 + 1, 3)) {
+          const e3 = G(t2, "-->", o2 + 4, "Comment is not closed.");
+          if (this.options.commentPropName) {
+            const r3 = t2.substring(o2 + 4, e3 - 2);
+            n2 = this.saveTextToParentTag(n2, i2, s2), i2.add(this.options.commentPropName, [{ [this.options.textNodeName]: r3 }]);
+          }
+          o2 = e3;
+        } else if ("!D" === t2.substr(o2 + 1, 2)) {
+          const e3 = r2.readDocType(t2, o2);
+          this.docTypeEntities = e3.entities, o2 = e3.i;
+        } else if ("![" === t2.substr(o2 + 1, 2)) {
+          const e3 = G(t2, "]]>", o2, "CDATA is not closed.") - 2, r3 = t2.substring(o2 + 9, e3);
+          n2 = this.saveTextToParentTag(n2, i2, s2);
+          let a2 = this.parseTextData(r3, i2.tagname, s2, true, false, true, true);
+          null == a2 && (a2 = ""), this.options.cdataPropName ? i2.add(this.options.cdataPropName, [{ [this.options.textNodeName]: r3 }]) : i2.add(this.options.textNodeName, a2), o2 = e3 + 2;
+        } else {
+          let r3 = X(t2, o2, this.options.removeNSPrefix), a2 = r3.tagName;
+          const l2 = r3.rawTagName;
+          let u2 = r3.tagExp, h2 = r3.attrExpPresent, d2 = r3.closeIndex;
+          if (this.options.transformTagName) {
+            const t3 = this.options.transformTagName(a2);
+            u2 === a2 && (u2 = t3), a2 = t3;
+          }
+          i2 && n2 && "!xml" !== i2.tagname && (n2 = this.saveTextToParentTag(n2, i2, s2, false));
+          const p2 = i2;
+          p2 && -1 !== this.options.unpairedTags.indexOf(p2.tagname) && (i2 = this.tagsNodeStack.pop(), s2 = s2.substring(0, s2.lastIndexOf("."))), a2 !== e2.tagname && (s2 += s2 ? "." + a2 : a2);
+          const f2 = o2;
+          if (this.isItStopNode(this.stopNodesExact, this.stopNodesWildcard, s2, a2)) {
+            let e3 = "";
+            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) "/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), o2 = r3.closeIndex;
+            else if (-1 !== this.options.unpairedTags.indexOf(a2)) o2 = r3.closeIndex;
+            else {
+              const i3 = this.readStopNodeData(t2, l2, d2 + 1);
+              if (!i3) throw new Error(`Unexpected end of ${l2}`);
+              o2 = i3.i, e3 = i3.tagContent;
             }
-            if (closed >= 0) {
-              if (set2.length > 1) {
-                return "";
-              }
-              if (set2) {
-                literal += set2;
-                i = closed;
-                continue;
+            const n3 = new y(a2);
+            a2 !== u2 && h2 && (n3[":@"] = this.buildAttributesMap(u2, s2)), e3 && (e3 = this.parseTextData(e3, a2, s2, true, h2, true, true)), s2 = s2.substr(0, s2.lastIndexOf(".")), n3.add(this.options.textNodeName, e3), this.addChild(i2, n3, s2, f2);
+          } else {
+            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) {
+              if ("/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), this.options.transformTagName) {
+                const t4 = this.options.transformTagName(a2);
+                u2 === a2 && (u2 = t4), a2 = t4;
               }
+              const t3 = new y(a2);
+              a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), s2 = s2.substr(0, s2.lastIndexOf("."));
+            } else {
+              const t3 = new y(a2);
+              this.tagsNodeStack.push(i2), a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), i2 = t3;
             }
+            n2 = "", o2 = d2;
           }
-          literal += c;
         }
-        return literal;
-      }
-      /**
-       * Escapes regexp special characters
-       * https://javascript.info/regexp-escaping
-       */
-      static regExpEscape(s) {
-        return s.replace(/[[\\^$.|?*+()]/g, "\\$&");
-      }
-    };
-    exports2.Pattern = Pattern;
-  }
-});
-
-// node_modules/@actions/glob/lib/internal-search-state.js
-var require_internal_search_state = __commonJS({
-  "node_modules/@actions/glob/lib/internal-search-state.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SearchState = void 0;
-    var SearchState = class {
-      constructor(path4, level) {
-        this.path = path4;
-        this.level = level;
-      }
-    };
-    exports2.SearchState = SearchState;
-  }
-});
-
-// node_modules/@actions/glob/lib/internal-globber.js
-var require_internal_globber = __commonJS({
-  "node_modules/@actions/glob/lib/internal-globber.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
+        else n2 += t2[o2];
+        return e2.child;
       };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      function U(t2, e2, i2, n2) {
+        this.options.captureMetaData || (n2 = void 0);
+        const s2 = this.options.updateTag(e2.tagname, i2, e2[":@"]);
+        false === s2 || ("string" == typeof s2 ? (e2.tagname = s2, t2.addChild(e2, n2)) : t2.addChild(e2, n2));
+      }
+      const B = function(t2) {
+        if (this.options.processEntities) {
+          for (let e2 in this.docTypeEntities) {
+            const i2 = this.docTypeEntities[e2];
+            t2 = t2.replace(i2.regx, i2.val);
+          }
+          for (let e2 in this.lastEntities) {
+            const i2 = this.lastEntities[e2];
+            t2 = t2.replace(i2.regex, i2.val);
+          }
+          if (this.options.htmlEntities) for (let e2 in this.htmlEntities) {
+            const i2 = this.htmlEntities[e2];
+            t2 = t2.replace(i2.regex, i2.val);
+          }
+          t2 = t2.replace(this.ampEntity.regex, this.ampEntity.val);
         }
-        __setModuleDefault2(result, mod);
-        return result;
+        return t2;
       };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+      function R(t2, e2, i2, n2) {
+        return t2 && (void 0 === n2 && (n2 = 0 === e2.child.length), void 0 !== (t2 = this.parseTextData(t2, e2.tagname, i2, false, !!e2[":@"] && 0 !== Object.keys(e2[":@"]).length, n2)) && "" !== t2 && e2.add(this.options.textNodeName, t2), t2 = ""), t2;
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      function Y(t2, e2, i2, n2) {
+        return !(!e2 || !e2.has(n2)) || !(!t2 || !t2.has(i2));
+      }
+      function G(t2, e2, i2, n2) {
+        const s2 = t2.indexOf(e2, i2);
+        if (-1 === s2) throw new Error(n2);
+        return s2 + e2.length - 1;
+      }
+      function X(t2, e2, i2, n2 = ">") {
+        const s2 = (function(t3, e3, i3 = ">") {
+          let n3, s3 = "";
+          for (let r3 = e3; r3 < t3.length; r3++) {
+            let e4 = t3[r3];
+            if (n3) e4 === n3 && (n3 = "");
+            else if ('"' === e4 || "'" === e4) n3 = e4;
+            else if (e4 === i3[0]) {
+              if (!i3[1]) return { data: s3, index: r3 };
+              if (t3[r3 + 1] === i3[1]) return { data: s3, index: r3 };
+            } else "	" === e4 && (e4 = " ");
+            s3 += e4;
           }
+        })(t2, e2 + 1, n2);
+        if (!s2) return;
+        let r2 = s2.data;
+        const o2 = s2.index, a2 = r2.search(/\s/);
+        let l2 = r2, u2 = true;
+        -1 !== a2 && (l2 = r2.substring(0, a2), r2 = r2.substring(a2 + 1).trimStart());
+        const h2 = l2;
+        if (i2) {
+          const t3 = l2.indexOf(":");
+          -1 !== t3 && (l2 = l2.substr(t3 + 1), u2 = l2 !== s2.data.substr(t3 + 1));
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        return { tagName: l2, tagExp: r2, closeIndex: o2, attrExpPresent: u2, rawTagName: h2 };
+      }
+      function W(t2, e2, i2) {
+        const n2 = i2;
+        let s2 = 1;
+        for (; i2 < t2.length; i2++) if ("<" === t2[i2]) if ("/" === t2[i2 + 1]) {
+          const r2 = G(t2, ">", i2, `${e2} is not closed`);
+          if (t2.substring(i2 + 2, r2).trim() === e2 && (s2--, 0 === s2)) return { tagContent: t2.substring(n2, i2), i: r2 };
+          i2 = r2;
+        } else if ("?" === t2[i2 + 1]) i2 = G(t2, "?>", i2 + 1, "StopNode is not closed.");
+        else if ("!--" === t2.substr(i2 + 1, 3)) i2 = G(t2, "-->", i2 + 3, "StopNode is not closed.");
+        else if ("![" === t2.substr(i2 + 1, 2)) i2 = G(t2, "]]>", i2, "StopNode is not closed.") - 2;
+        else {
+          const n3 = X(t2, i2, ">");
+          n3 && ((n3 && n3.tagName) === e2 && "/" !== n3.tagExp[n3.tagExp.length - 1] && s2++, i2 = n3.closeIndex);
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      function q(t2, e2, i2) {
+        if (e2 && "string" == typeof t2) {
+          const e3 = t2.trim();
+          return "true" === e3 || "false" !== e3 && (function(t3, e4 = {}) {
+            if (e4 = Object.assign({}, C, e4), !t3 || "string" != typeof t3) return t3;
+            let i3 = t3.trim();
+            if (void 0 !== e4.skipLike && e4.skipLike.test(i3)) return t3;
+            if ("0" === t3) return 0;
+            if (e4.hex && A.test(i3)) return (function(t4) {
+              if (parseInt) return parseInt(t4, 16);
+              if (Number.parseInt) return Number.parseInt(t4, 16);
+              if (window && window.parseInt) return window.parseInt(t4, 16);
+              throw new Error("parseInt, Number.parseInt, window.parseInt are not supported");
+            })(i3);
+            if (-1 !== i3.search(/.+[eE].+/)) return (function(t4, e5, i4) {
+              if (!i4.eNotation) return t4;
+              const n3 = e5.match(V);
+              if (n3) {
+                let s2 = n3[1] || "";
+                const r2 = -1 === n3[3].indexOf("e") ? "E" : "e", o2 = n3[2], a2 = s2 ? t4[o2.length + 1] === r2 : t4[o2.length] === r2;
+                return o2.length > 1 && a2 ? t4 : 1 !== o2.length || !n3[3].startsWith(`.${r2}`) && n3[3][0] !== r2 ? i4.leadingZeros && !a2 ? (e5 = (n3[1] || "") + n3[3], Number(e5)) : t4 : Number(e5);
+              }
+              return t4;
+            })(t3, i3, e4);
+            {
+              const s2 = S.exec(i3);
+              if (s2) {
+                const r2 = s2[1] || "", o2 = s2[2];
+                let a2 = (n2 = s2[3]) && -1 !== n2.indexOf(".") ? ("." === (n2 = n2.replace(/0+$/, "")) ? n2 = "0" : "." === n2[0] ? n2 = "0" + n2 : "." === n2[n2.length - 1] && (n2 = n2.substring(0, n2.length - 1)), n2) : n2;
+                const l2 = r2 ? "." === t3[o2.length + 1] : "." === t3[o2.length];
+                if (!e4.leadingZeros && (o2.length > 1 || 1 === o2.length && !l2)) return t3;
+                {
+                  const n3 = Number(i3), s3 = String(n3);
+                  if (0 === n3 || -0 === n3) return n3;
+                  if (-1 !== s3.search(/[eE]/)) return e4.eNotation ? n3 : t3;
+                  if (-1 !== i3.indexOf(".")) return "0" === s3 || s3 === a2 || s3 === `${r2}${a2}` ? n3 : t3;
+                  let l3 = o2 ? a2 : i3;
+                  return o2 ? l3 === s3 || r2 + l3 === s3 ? n3 : t3 : l3 === s3 || l3 === r2 + s3 ? n3 : t3;
+                }
+              }
+              return t3;
+            }
+            var n2;
+          })(t2, i2);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    var __asyncValues2 = exports2 && exports2.__asyncValues || function(o) {
-      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-      var m = o[Symbol.asyncIterator], i;
-      return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
-        return this;
-      }, i);
-      function verb(n) {
-        i[n] = o[n] && function(v) {
-          return new Promise(function(resolve3, reject) {
-            v = o[n](v), settle(resolve3, reject, v.done, v.value);
-          });
-        };
+        return void 0 !== t2 ? t2 : "";
       }
-      function settle(resolve3, reject, d, v) {
-        Promise.resolve(v).then(function(v2) {
-          resolve3({ value: v2, done: d });
-        }, reject);
+      function Z(t2, e2, i2) {
+        const n2 = Number.parseInt(t2, e2);
+        return n2 >= 0 && n2 <= 1114111 ? String.fromCodePoint(n2) : i2 + t2 + ";";
       }
-    };
-    var __await2 = exports2 && exports2.__await || function(v) {
-      return this instanceof __await2 ? (this.v = v, this) : new __await2(v);
-    };
-    var __asyncGenerator2 = exports2 && exports2.__asyncGenerator || function(thisArg, _arguments, generator) {
-      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-      var g = generator.apply(thisArg, _arguments || []), i, q = [];
-      return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
-        return this;
-      }, i;
-      function awaitReturn(f) {
-        return function(v) {
-          return Promise.resolve(v).then(f, reject);
-        };
+      const K = y.getMetaDataSymbol();
+      function Q(t2, e2) {
+        return z(t2, e2);
       }
-      function verb(n, f) {
-        if (g[n]) {
-          i[n] = function(v) {
-            return new Promise(function(a, b) {
-              q.push([n, v, a, b]) > 1 || resume(n, v);
-            });
-          };
-          if (f) i[n] = f(i[n]);
+      function z(t2, e2, i2) {
+        let n2;
+        const s2 = {};
+        for (let r2 = 0; r2 < t2.length; r2++) {
+          const o2 = t2[r2], a2 = J(o2);
+          let l2 = "";
+          if (l2 = void 0 === i2 ? a2 : i2 + "." + a2, a2 === e2.textNodeName) void 0 === n2 ? n2 = o2[a2] : n2 += "" + o2[a2];
+          else {
+            if (void 0 === a2) continue;
+            if (o2[a2]) {
+              let t3 = z(o2[a2], e2, l2);
+              const i3 = tt(t3, e2);
+              void 0 !== o2[K] && (t3[K] = o2[K]), o2[":@"] ? H(t3, o2[":@"], l2, e2) : 1 !== Object.keys(t3).length || void 0 === t3[e2.textNodeName] || e2.alwaysCreateTextNode ? 0 === Object.keys(t3).length && (e2.alwaysCreateTextNode ? t3[e2.textNodeName] = "" : t3 = "") : t3 = t3[e2.textNodeName], void 0 !== s2[a2] && s2.hasOwnProperty(a2) ? (Array.isArray(s2[a2]) || (s2[a2] = [s2[a2]]), s2[a2].push(t3)) : e2.isArray(a2, l2, i3) ? s2[a2] = [t3] : s2[a2] = t3;
+            }
+          }
         }
+        return "string" == typeof n2 ? n2.length > 0 && (s2[e2.textNodeName] = n2) : void 0 !== n2 && (s2[e2.textNodeName] = n2), s2;
       }
-      function resume(n, v) {
-        try {
-          step(g[n](v));
-        } catch (e) {
-          settle(q[0][3], e);
+      function J(t2) {
+        const e2 = Object.keys(t2);
+        for (let t3 = 0; t3 < e2.length; t3++) {
+          const i2 = e2[t3];
+          if (":@" !== i2) return i2;
         }
       }
-      function step(r) {
-        r.value instanceof __await2 ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
-      }
-      function fulfill(value) {
-        resume("next", value);
-      }
-      function reject(value) {
-        resume("throw", value);
+      function H(t2, e2, i2, n2) {
+        if (e2) {
+          const s2 = Object.keys(e2), r2 = s2.length;
+          for (let o2 = 0; o2 < r2; o2++) {
+            const r3 = s2[o2];
+            n2.isArray(r3, i2 + "." + r3, true, true) ? t2[r3] = [e2[r3]] : t2[r3] = e2[r3];
+          }
+        }
       }
-      function settle(f, v) {
-        if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
+      function tt(t2, e2) {
+        const { textNodeName: i2 } = e2, n2 = Object.keys(t2).length;
+        return 0 === n2 || !(1 !== n2 || !t2[i2] && "boolean" != typeof t2[i2] && 0 !== t2[i2]);
       }
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DefaultGlobber = void 0;
-    var core14 = __importStar2(require_core());
-    var fs3 = __importStar2(require("fs"));
-    var globOptionsHelper = __importStar2(require_internal_glob_options_helper());
-    var path4 = __importStar2(require("path"));
-    var patternHelper = __importStar2(require_internal_pattern_helper());
-    var internal_match_kind_1 = require_internal_match_kind();
-    var internal_pattern_1 = require_internal_pattern();
-    var internal_search_state_1 = require_internal_search_state();
-    var IS_WINDOWS = process.platform === "win32";
-    var DefaultGlobber = class _DefaultGlobber {
-      constructor(options) {
-        this.patterns = [];
-        this.searchPaths = [];
-        this.options = globOptionsHelper.getOptions(options);
+      class et {
+        constructor(t2) {
+          this.externalEntities = {}, this.options = (function(t3) {
+            return Object.assign({}, v, t3);
+          })(t2);
+        }
+        parse(t2, e2) {
+          if ("string" != typeof t2 && t2.toString) t2 = t2.toString();
+          else if ("string" != typeof t2) throw new Error("XML data is accepted in String or Bytes[] form.");
+          if (e2) {
+            true === e2 && (e2 = {});
+            const i3 = a(t2, e2);
+            if (true !== i3) throw Error(`${i3.err.msg}:${i3.err.line}:${i3.err.col}`);
+          }
+          const i2 = new D(this.options);
+          i2.addExternalEntities(this.externalEntities);
+          const n2 = i2.parseXml(t2);
+          return this.options.preserveOrder || void 0 === n2 ? n2 : Q(n2, this.options);
+        }
+        addEntity(t2, e2) {
+          if (-1 !== e2.indexOf("&")) throw new Error("Entity value can't have '&'");
+          if (-1 !== t2.indexOf("&") || -1 !== t2.indexOf(";")) throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");
+          if ("&" === e2) throw new Error("An entity with value '&' is not permitted");
+          this.externalEntities[t2] = e2;
+        }
+        static getMetaDataSymbol() {
+          return y.getMetaDataSymbol();
+        }
       }
-      getSearchPaths() {
-        return this.searchPaths.slice();
+      function it(t2, e2) {
+        let i2 = "";
+        return e2.format && e2.indentBy.length > 0 && (i2 = "\n"), nt(t2, e2, "", i2);
       }
-      glob() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          var _a, e_1, _b, _c;
-          const result = [];
-          try {
-            for (var _d = true, _e = __asyncValues2(this.globGenerator()), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
-              _c = _f.value;
-              _d = false;
-              const itemPath = _c;
-              result.push(itemPath);
-            }
-          } catch (e_1_1) {
-            e_1 = { error: e_1_1 };
-          } finally {
-            try {
-              if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
-            } finally {
-              if (e_1) throw e_1.error;
-            }
+      function nt(t2, e2, i2, n2) {
+        let s2 = "", r2 = false;
+        for (let o2 = 0; o2 < t2.length; o2++) {
+          const a2 = t2[o2], l2 = st(a2);
+          if (void 0 === l2) continue;
+          let u2 = "";
+          if (u2 = 0 === i2.length ? l2 : `${i2}.${l2}`, l2 === e2.textNodeName) {
+            let t3 = a2[l2];
+            ot(u2, e2) || (t3 = e2.tagValueProcessor(l2, t3), t3 = at(t3, e2)), r2 && (s2 += n2), s2 += t3, r2 = false;
+            continue;
           }
-          return result;
-        });
-      }
-      globGenerator() {
-        return __asyncGenerator2(this, arguments, function* globGenerator_1() {
-          const options = globOptionsHelper.getOptions(this.options);
-          const patterns = [];
-          for (const pattern of this.patterns) {
-            patterns.push(pattern);
-            if (options.implicitDescendants && (pattern.trailingSeparator || pattern.segments[pattern.segments.length - 1] !== "**")) {
-              patterns.push(new internal_pattern_1.Pattern(pattern.negate, true, pattern.segments.concat("**")));
-            }
+          if (l2 === e2.cdataPropName) {
+            r2 && (s2 += n2), s2 += ``, r2 = false;
+            continue;
           }
-          const stack = [];
-          for (const searchPath of patternHelper.getSearchPaths(patterns)) {
-            core14.debug(`Search path '${searchPath}'`);
-            try {
-              yield __await2(fs3.promises.lstat(searchPath));
-            } catch (err) {
-              if (err.code === "ENOENT") {
-                continue;
-              }
-              throw err;
-            }
-            stack.unshift(new internal_search_state_1.SearchState(searchPath, 1));
+          if (l2 === e2.commentPropName) {
+            s2 += n2 + ``, r2 = true;
+            continue;
           }
-          const traversalChain = [];
-          while (stack.length) {
-            const item = stack.pop();
-            const match = patternHelper.match(patterns, item.path);
-            const partialMatch = !!match || patternHelper.partialMatch(patterns, item.path);
-            if (!match && !partialMatch) {
-              continue;
-            }
-            const stats = yield __await2(
-              _DefaultGlobber.stat(item, options, traversalChain)
-              // Broken symlink, or symlink cycle detected, or no longer exists
-            );
-            if (!stats) {
-              continue;
-            }
-            if (options.excludeHiddenFiles && path4.basename(item.path).match(/^\./)) {
-              continue;
-            }
-            if (stats.isDirectory()) {
-              if (match & internal_match_kind_1.MatchKind.Directory && options.matchDirectories) {
-                yield yield __await2(item.path);
-              } else if (!partialMatch) {
-                continue;
-              }
-              const childLevel = item.level + 1;
-              const childItems = (yield __await2(fs3.promises.readdir(item.path))).map((x) => new internal_search_state_1.SearchState(path4.join(item.path, x), childLevel));
-              stack.push(...childItems.reverse());
-            } else if (match & internal_match_kind_1.MatchKind.File) {
-              yield yield __await2(item.path);
-            }
+          if ("?" === l2[0]) {
+            const t3 = rt(a2[":@"], e2), i3 = "?xml" === l2 ? "" : n2;
+            let o3 = a2[l2][0][e2.textNodeName];
+            o3 = 0 !== o3.length ? " " + o3 : "", s2 += i3 + `<${l2}${o3}${t3}?>`, r2 = true;
+            continue;
           }
-        });
+          let h2 = n2;
+          "" !== h2 && (h2 += e2.indentBy);
+          const d2 = n2 + `<${l2}${rt(a2[":@"], e2)}`, p2 = nt(a2[l2], e2, u2, h2);
+          -1 !== e2.unpairedTags.indexOf(l2) ? e2.suppressUnpairedNode ? s2 += d2 + ">" : s2 += d2 + "/>" : p2 && 0 !== p2.length || !e2.suppressEmptyNode ? p2 && p2.endsWith(">") ? s2 += d2 + `>${p2}${n2}` : (s2 += d2 + ">", p2 && "" !== n2 && (p2.includes("/>") || p2.includes("`) : s2 += d2 + "/>", r2 = true;
+        }
+        return s2;
       }
-      /**
-       * Constructs a DefaultGlobber
-       */
-      static create(patterns, options) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const result = new _DefaultGlobber(options);
-          if (IS_WINDOWS) {
-            patterns = patterns.replace(/\r\n/g, "\n");
-            patterns = patterns.replace(/\r/g, "\n");
-          }
-          const lines = patterns.split("\n").map((x) => x.trim());
-          for (const line of lines) {
-            if (!line || line.startsWith("#")) {
-              continue;
-            } else {
-              result.patterns.push(new internal_pattern_1.Pattern(line));
-            }
-          }
-          result.searchPaths.push(...patternHelper.getSearchPaths(result.patterns));
-          return result;
-        });
+      function st(t2) {
+        const e2 = Object.keys(t2);
+        for (let i2 = 0; i2 < e2.length; i2++) {
+          const n2 = e2[i2];
+          if (t2.hasOwnProperty(n2) && ":@" !== n2) return n2;
+        }
       }
-      static stat(item, options, traversalChain) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let stats;
-          if (options.followSymbolicLinks) {
-            try {
-              stats = yield fs3.promises.stat(item.path);
-            } catch (err) {
-              if (err.code === "ENOENT") {
-                if (options.omitBrokenSymbolicLinks) {
-                  core14.debug(`Broken symlink '${item.path}'`);
-                  return void 0;
-                }
-                throw new Error(`No information found for the path '${item.path}'. This may indicate a broken symbolic link.`);
-              }
-              throw err;
-            }
-          } else {
-            stats = yield fs3.promises.lstat(item.path);
-          }
-          if (stats.isDirectory() && options.followSymbolicLinks) {
-            const realPath = yield fs3.promises.realpath(item.path);
-            while (traversalChain.length >= item.level) {
-              traversalChain.pop();
-            }
-            if (traversalChain.some((x) => x === realPath)) {
-              core14.debug(`Symlink cycle detected for path '${item.path}' and realpath '${realPath}'`);
-              return void 0;
-            }
-            traversalChain.push(realPath);
-          }
-          return stats;
-        });
+      function rt(t2, e2) {
+        let i2 = "";
+        if (t2 && !e2.ignoreAttributes) for (let n2 in t2) {
+          if (!t2.hasOwnProperty(n2)) continue;
+          let s2 = e2.attributeValueProcessor(n2, t2[n2]);
+          s2 = at(s2, e2), true === s2 && e2.suppressBooleanAttributes ? i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}` : i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}="${s2}"`;
+        }
+        return i2;
       }
-    };
-    exports2.DefaultGlobber = DefaultGlobber;
-  }
-});
-
-// node_modules/@actions/glob/lib/internal-hash-files.js
-var require_internal_hash_files = __commonJS({
-  "node_modules/@actions/glob/lib/internal-hash-files.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      function ot(t2, e2) {
+        let i2 = (t2 = t2.substr(0, t2.length - e2.textNodeName.length - 1)).substr(t2.lastIndexOf(".") + 1);
+        for (let n2 in e2.stopNodes) if (e2.stopNodes[n2] === t2 || e2.stopNodes[n2] === "*." + i2) return true;
+        return false;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      function at(t2, e2) {
+        if (t2 && t2.length > 0 && e2.processEntities) for (let i2 = 0; i2 < e2.entities.length; i2++) {
+          const n2 = e2.entities[i2];
+          t2 = t2.replace(n2.regex, n2.val);
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+        return t2;
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      const lt = { attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, cdataPropName: false, format: false, indentBy: "  ", suppressEmptyNode: false, suppressUnpairedNode: true, suppressBooleanAttributes: true, tagValueProcessor: function(t2, e2) {
+        return e2;
+      }, attributeValueProcessor: function(t2, e2) {
+        return e2;
+      }, preserveOrder: false, commentPropName: false, unpairedTags: [], entities: [{ regex: new RegExp("&", "g"), val: "&" }, { regex: new RegExp(">", "g"), val: ">" }, { regex: new RegExp("<", "g"), val: "<" }, { regex: new RegExp("'", "g"), val: "'" }, { regex: new RegExp('"', "g"), val: """ }], processEntities: true, stopNodes: [], oneListGroup: false };
+      function ut(t2) {
+        this.options = Object.assign({}, lt, t2), true === this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {
+          return false;
+        } : (this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = pt), this.processTextOrObjNode = ht, this.options.format ? (this.indentate = dt, this.tagEndChar = ">\n", this.newLine = "\n") : (this.indentate = function() {
+          return "";
+        }, this.tagEndChar = ">", this.newLine = "");
+      }
+      function ht(t2, e2, i2, n2) {
+        const s2 = this.j2x(t2, i2 + 1, n2.concat(e2));
+        return void 0 !== t2[this.options.textNodeName] && 1 === Object.keys(t2).length ? this.buildTextValNode(t2[this.options.textNodeName], e2, s2.attrStr, i2) : this.buildObjectNode(s2.val, e2, s2.attrStr, i2);
+      }
+      function dt(t2) {
+        return this.options.indentBy.repeat(t2);
+      }
+      function pt(t2) {
+        return !(!t2.startsWith(this.options.attributeNamePrefix) || t2 === this.options.textNodeName) && t2.substr(this.attrPrefixLen);
+      }
+      ut.prototype.build = function(t2) {
+        return this.options.preserveOrder ? it(t2, this.options) : (Array.isArray(t2) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (t2 = { [this.options.arrayNodeName]: t2 }), this.j2x(t2, 0, []).val);
+      }, ut.prototype.j2x = function(t2, e2, i2) {
+        let n2 = "", s2 = "";
+        const r2 = i2.join(".");
+        for (let o2 in t2) if (Object.prototype.hasOwnProperty.call(t2, o2)) if (void 0 === t2[o2]) this.isAttribute(o2) && (s2 += "");
+        else if (null === t2[o2]) this.isAttribute(o2) || o2 === this.options.cdataPropName ? s2 += "" : "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
+        else if (t2[o2] instanceof Date) s2 += this.buildTextValNode(t2[o2], o2, "", e2);
+        else if ("object" != typeof t2[o2]) {
+          const i3 = this.isAttribute(o2);
+          if (i3 && !this.ignoreAttributesFn(i3, r2)) n2 += this.buildAttrPairStr(i3, "" + t2[o2]);
+          else if (!i3) if (o2 === this.options.textNodeName) {
+            let e3 = this.options.tagValueProcessor(o2, "" + t2[o2]);
+            s2 += this.replaceEntitiesValue(e3);
+          } else s2 += this.buildTextValNode(t2[o2], o2, "", e2);
+        } else if (Array.isArray(t2[o2])) {
+          const n3 = t2[o2].length;
+          let r3 = "", a2 = "";
+          for (let l2 = 0; l2 < n3; l2++) {
+            const n4 = t2[o2][l2];
+            if (void 0 === n4) ;
+            else if (null === n4) "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
+            else if ("object" == typeof n4) if (this.options.oneListGroup) {
+              const t3 = this.j2x(n4, e2 + 1, i2.concat(o2));
+              r3 += t3.val, this.options.attributesGroupName && n4.hasOwnProperty(this.options.attributesGroupName) && (a2 += t3.attrStr);
+            } else r3 += this.processTextOrObjNode(n4, o2, e2, i2);
+            else if (this.options.oneListGroup) {
+              let t3 = this.options.tagValueProcessor(o2, n4);
+              t3 = this.replaceEntitiesValue(t3), r3 += t3;
+            } else r3 += this.buildTextValNode(n4, o2, "", e2);
           }
+          this.options.oneListGroup && (r3 = this.buildObjectNode(r3, o2, a2, e2)), s2 += r3;
+        } else if (this.options.attributesGroupName && o2 === this.options.attributesGroupName) {
+          const e3 = Object.keys(t2[o2]), i3 = e3.length;
+          for (let s3 = 0; s3 < i3; s3++) n2 += this.buildAttrPairStr(e3[s3], "" + t2[o2][e3[s3]]);
+        } else s2 += this.processTextOrObjNode(t2[o2], o2, e2, i2);
+        return { attrStr: n2, val: s2 };
+      }, ut.prototype.buildAttrPairStr = function(t2, e2) {
+        return e2 = this.options.attributeValueProcessor(t2, "" + e2), e2 = this.replaceEntitiesValue(e2), this.options.suppressBooleanAttributes && "true" === e2 ? " " + t2 : " " + t2 + '="' + e2 + '"';
+      }, ut.prototype.buildObjectNode = function(t2, e2, i2, n2) {
+        if ("" === t2) return "?" === e2[0] ? this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar;
+        {
+          let s2 = "` + this.newLine : this.indentate(n2) + "<" + e2 + i2 + r2 + this.tagEndChar + t2 + this.indentate(n2) + s2 : this.indentate(n2) + "<" + e2 + i2 + r2 + ">" + t2 + s2;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+      }, ut.prototype.closeTag = function(t2) {
+        let e2 = "";
+        return -1 !== this.options.unpairedTags.indexOf(t2) ? this.options.suppressUnpairedNode || (e2 = "/") : e2 = this.options.suppressEmptyNode ? "/" : `>` + this.newLine;
+        if (false !== this.options.commentPropName && e2 === this.options.commentPropName) return this.indentate(n2) + `` + this.newLine;
+        if ("?" === e2[0]) return this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar;
+        {
+          let s2 = this.options.tagValueProcessor(e2, t2);
+          return s2 = this.replaceEntitiesValue(s2), "" === s2 ? this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + ">" + s2 + " 0 && this.options.processEntities) for (let e2 = 0; e2 < this.options.entities.length; e2++) {
+          const i2 = this.options.entities[e2];
+          t2 = t2.replace(i2.regex, i2.val);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    var __asyncValues2 = exports2 && exports2.__asyncValues || function(o) {
-      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-      var m = o[Symbol.asyncIterator], i;
-      return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
-        return this;
-      }, i);
-      function verb(n) {
-        i[n] = o[n] && function(v) {
-          return new Promise(function(resolve3, reject) {
-            v = o[n](v), settle(resolve3, reject, v.done, v.value);
-          });
-        };
-      }
-      function settle(resolve3, reject, d, v) {
-        Promise.resolve(v).then(function(v2) {
-          resolve3({ value: v2, done: d });
-        }, reject);
-      }
-    };
+        return t2;
+      };
+      const ft = { validate: a };
+      module2.exports = e;
+    })();
+  }
+});
+
+// node_modules/@azure/core-xml/dist/commonjs/xml.common.js
+var require_xml_common = __commonJS({
+  "node_modules/@azure/core-xml/dist/commonjs/xml.common.js"(exports2) {
+    "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hashFiles = hashFiles2;
-    var crypto2 = __importStar2(require("crypto"));
-    var core14 = __importStar2(require_core());
-    var fs3 = __importStar2(require("fs"));
-    var stream = __importStar2(require("stream"));
-    var util = __importStar2(require("util"));
-    var path4 = __importStar2(require("path"));
-    function hashFiles2(globber_1, currentWorkspace_1) {
-      return __awaiter2(this, arguments, void 0, function* (globber, currentWorkspace, verbose = false) {
-        var _a, e_1, _b, _c;
-        var _d;
-        const writeDelegate = verbose ? core14.info : core14.debug;
-        let hasMatch = false;
-        const githubWorkspace = currentWorkspace ? currentWorkspace : (_d = process.env["GITHUB_WORKSPACE"]) !== null && _d !== void 0 ? _d : process.cwd();
-        const result = crypto2.createHash("sha256");
-        let count = 0;
-        try {
-          for (var _e = true, _f = __asyncValues2(globber.globGenerator()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
-            _c = _g.value;
-            _e = false;
-            const file = _c;
-            writeDelegate(file);
-            if (!file.startsWith(`${githubWorkspace}${path4.sep}`)) {
-              writeDelegate(`Ignore '${file}' since it is not under GITHUB_WORKSPACE.`);
-              continue;
-            }
-            if (fs3.statSync(file).isDirectory()) {
-              writeDelegate(`Skip directory '${file}'.`);
-              continue;
-            }
-            const hash = crypto2.createHash("sha256");
-            const pipeline = util.promisify(stream.pipeline);
-            yield pipeline(fs3.createReadStream(file), hash);
-            result.write(hash.digest());
-            count++;
-            if (!hasMatch) {
-              hasMatch = true;
-            }
-          }
-        } catch (e_1_1) {
-          e_1 = { error: e_1_1 };
-        } finally {
-          try {
-            if (!_e && !_a && (_b = _f.return)) yield _b.call(_f);
-          } finally {
-            if (e_1) throw e_1.error;
-          }
-        }
-        result.end();
-        if (hasMatch) {
-          writeDelegate(`Found ${count} files to hash.`);
-          return result.digest("hex");
-        } else {
-          writeDelegate(`No matches found for glob`);
-          return "";
+    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
+    exports2.XML_ATTRKEY = "$";
+    exports2.XML_CHARKEY = "_";
+  }
+});
+
+// node_modules/@azure/core-xml/dist/commonjs/xml.js
+var require_xml = __commonJS({
+  "node_modules/@azure/core-xml/dist/commonjs/xml.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.stringifyXML = stringifyXML;
+    exports2.parseXML = parseXML;
+    var fast_xml_parser_1 = require_fxp();
+    var xml_common_js_1 = require_xml_common();
+    function getCommonOptions(options) {
+      var _a;
+      return {
+        attributesGroupName: xml_common_js_1.XML_ATTRKEY,
+        textNodeName: (_a = options.xmlCharKey) !== null && _a !== void 0 ? _a : xml_common_js_1.XML_CHARKEY,
+        ignoreAttributes: false,
+        suppressBooleanAttributes: false
+      };
+    }
+    function getSerializerOptions(options = {}) {
+      var _a, _b;
+      return Object.assign(Object.assign({}, getCommonOptions(options)), { attributeNamePrefix: "@_", format: true, suppressEmptyNode: true, indentBy: "", rootNodeName: (_a = options.rootName) !== null && _a !== void 0 ? _a : "root", cdataPropName: (_b = options.cdataPropName) !== null && _b !== void 0 ? _b : "__cdata" });
+    }
+    function getParserOptions(options = {}) {
+      return Object.assign(Object.assign({}, getCommonOptions(options)), { parseAttributeValue: false, parseTagValue: false, attributeNamePrefix: "", stopNodes: options.stopNodes, processEntities: true, trimValues: false });
+    }
+    function stringifyXML(obj, opts = {}) {
+      const parserOptions = getSerializerOptions(opts);
+      const j2x = new fast_xml_parser_1.XMLBuilder(parserOptions);
+      const node = { [parserOptions.rootNodeName]: obj };
+      const xmlData = j2x.build(node);
+      return `${xmlData}`.replace(/\n/g, "");
+    }
+    async function parseXML(str2, opts = {}) {
+      if (!str2) {
+        throw new Error("Document is empty");
+      }
+      const validation = fast_xml_parser_1.XMLValidator.validate(str2);
+      if (validation !== true) {
+        throw validation;
+      }
+      const parser = new fast_xml_parser_1.XMLParser(getParserOptions(opts));
+      const parsedXml = parser.parse(str2);
+      if (parsedXml["?xml"]) {
+        delete parsedXml["?xml"];
+      }
+      if (!opts.includeRoot) {
+        for (const key of Object.keys(parsedXml)) {
+          const value = parsedXml[key];
+          return typeof value === "object" ? Object.assign({}, value) : value;
         }
-      });
+      }
+      return parsedXml;
     }
   }
 });
 
-// node_modules/@actions/glob/lib/glob.js
-var require_glob = __commonJS({
-  "node_modules/@actions/glob/lib/glob.js"(exports2) {
+// node_modules/@azure/core-xml/dist/commonjs/index.js
+var require_commonjs10 = __commonJS({
+  "node_modules/@azure/core-xml/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.parseXML = exports2.stringifyXML = void 0;
+    var xml_js_1 = require_xml();
+    Object.defineProperty(exports2, "stringifyXML", { enumerable: true, get: function() {
+      return xml_js_1.stringifyXML;
+    } });
+    Object.defineProperty(exports2, "parseXML", { enumerable: true, get: function() {
+      return xml_js_1.parseXML;
+    } });
+    var xml_common_js_1 = require_xml_common();
+    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
+      return xml_common_js_1.XML_ATTRKEY;
+    } });
+    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
+      return xml_common_js_1.XML_CHARKEY;
+    } });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/log.js
+var require_log5 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs2();
+    exports2.logger = (0, logger_1.createClientLogger)("storage-blob");
+  }
+});
+
+// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
+var require_AbortError3 = __commonJS({
+  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
     };
+    exports2.AbortError = AbortError;
+  }
+});
+
+// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js
+var require_commonjs11 = __commonJS({
+  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
+    "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.create = create3;
-    exports2.hashFiles = hashFiles2;
-    var internal_globber_1 = require_internal_globber();
-    var internal_hash_files_1 = require_internal_hash_files();
-    function create3(patterns, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        return yield internal_globber_1.DefaultGlobber.create(patterns, options);
-      });
-    }
-    function hashFiles2(patterns_1) {
-      return __awaiter2(this, arguments, void 0, function* (patterns, currentWorkspace = "", options, verbose = false) {
-        let followSymbolicLinks = true;
-        if (options && typeof options.followSymbolicLinks === "boolean") {
-          followSymbolicLinks = options.followSymbolicLinks;
-        }
-        const globber = yield create3(patterns, { followSymbolicLinks });
-        return (0, internal_hash_files_1.hashFiles)(globber, currentWorkspace, verbose);
-      });
-    }
+    exports2.AbortError = void 0;
+    var AbortError_js_1 = require_AbortError3();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
   }
 });
 
-// node_modules/@actions/cache/node_modules/semver/semver.js
-var require_semver3 = __commonJS({
-  "node_modules/@actions/cache/node_modules/semver/semver.js"(exports2, module2) {
-    exports2 = module2.exports = SemVer;
-    var debug4;
-    if (typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG)) {
-      debug4 = function() {
-        var args = Array.prototype.slice.call(arguments, 0);
-        args.unshift("SEMVER");
-        console.log.apply(console, args);
-      };
-    } else {
-      debug4 = function() {
-      };
-    }
-    exports2.SEMVER_SPEC_VERSION = "2.0.0";
-    var MAX_LENGTH = 256;
-    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
-    9007199254740991;
-    var MAX_SAFE_COMPONENT_LENGTH = 16;
-    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
-    var re = exports2.re = [];
-    var safeRe = exports2.safeRe = [];
-    var src = exports2.src = [];
-    var t = exports2.tokens = {};
-    var R = 0;
-    function tok(n) {
-      t[n] = R++;
-    }
-    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
-    var safeRegexReplacements = [
-      ["\\s", 1],
-      ["\\d", MAX_LENGTH],
-      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
-    ];
-    function makeSafeRe(value) {
-      for (var i2 = 0; i2 < safeRegexReplacements.length; i2++) {
-        var token = safeRegexReplacements[i2][0];
-        var max = safeRegexReplacements[i2][1];
-        value = value.split(token + "*").join(token + "{0," + max + "}").split(token + "+").join(token + "{1," + max + "}");
+// node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js
+var require_RequestPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BaseRequestPolicy = void 0;
+    var BaseRequestPolicy = class {
+      _nextPolicy;
+      _options;
+      /**
+       * The main method to implement that manipulates a request/response.
+       */
+      constructor(_nextPolicy, _options) {
+        this._nextPolicy = _nextPolicy;
+        this._options = _options;
       }
-      return value;
-    }
-    tok("NUMERICIDENTIFIER");
-    src[t.NUMERICIDENTIFIER] = "0|[1-9]\\d*";
-    tok("NUMERICIDENTIFIERLOOSE");
-    src[t.NUMERICIDENTIFIERLOOSE] = "\\d+";
-    tok("NONNUMERICIDENTIFIER");
-    src[t.NONNUMERICIDENTIFIER] = "\\d*[a-zA-Z-]" + LETTERDASHNUMBER + "*";
-    tok("MAINVERSION");
-    src[t.MAINVERSION] = "(" + src[t.NUMERICIDENTIFIER] + ")\\.(" + src[t.NUMERICIDENTIFIER] + ")\\.(" + src[t.NUMERICIDENTIFIER] + ")";
-    tok("MAINVERSIONLOOSE");
-    src[t.MAINVERSIONLOOSE] = "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[t.NUMERICIDENTIFIERLOOSE] + ")";
-    tok("PRERELEASEIDENTIFIER");
-    src[t.PRERELEASEIDENTIFIER] = "(?:" + src[t.NUMERICIDENTIFIER] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
-    tok("PRERELEASEIDENTIFIERLOOSE");
-    src[t.PRERELEASEIDENTIFIERLOOSE] = "(?:" + src[t.NUMERICIDENTIFIERLOOSE] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
-    tok("PRERELEASE");
-    src[t.PRERELEASE] = "(?:-(" + src[t.PRERELEASEIDENTIFIER] + "(?:\\." + src[t.PRERELEASEIDENTIFIER] + ")*))";
-    tok("PRERELEASELOOSE");
-    src[t.PRERELEASELOOSE] = "(?:-?(" + src[t.PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[t.PRERELEASEIDENTIFIERLOOSE] + ")*))";
-    tok("BUILDIDENTIFIER");
-    src[t.BUILDIDENTIFIER] = LETTERDASHNUMBER + "+";
-    tok("BUILD");
-    src[t.BUILD] = "(?:\\+(" + src[t.BUILDIDENTIFIER] + "(?:\\." + src[t.BUILDIDENTIFIER] + ")*))";
-    tok("FULL");
-    tok("FULLPLAIN");
-    src[t.FULLPLAIN] = "v?" + src[t.MAINVERSION] + src[t.PRERELEASE] + "?" + src[t.BUILD] + "?";
-    src[t.FULL] = "^" + src[t.FULLPLAIN] + "$";
-    tok("LOOSEPLAIN");
-    src[t.LOOSEPLAIN] = "[v=\\s]*" + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + "?" + src[t.BUILD] + "?";
-    tok("LOOSE");
-    src[t.LOOSE] = "^" + src[t.LOOSEPLAIN] + "$";
-    tok("GTLT");
-    src[t.GTLT] = "((?:<|>)?=?)";
-    tok("XRANGEIDENTIFIERLOOSE");
-    src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + "|x|X|\\*";
-    tok("XRANGEIDENTIFIER");
-    src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + "|x|X|\\*";
-    tok("XRANGEPLAIN");
-    src[t.XRANGEPLAIN] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIER] + ")(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")(?:" + src[t.PRERELEASE] + ")?" + src[t.BUILD] + "?)?)?";
-    tok("XRANGEPLAINLOOSE");
-    src[t.XRANGEPLAINLOOSE] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:" + src[t.PRERELEASELOOSE] + ")?" + src[t.BUILD] + "?)?)?";
-    tok("XRANGE");
-    src[t.XRANGE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAIN] + "$";
-    tok("XRANGELOOSE");
-    src[t.XRANGELOOSE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAINLOOSE] + "$";
-    tok("COERCE");
-    src[t.COERCE] = "(^|[^\\d])(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "})(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:$|[^\\d])";
-    tok("COERCERTL");
-    re[t.COERCERTL] = new RegExp(src[t.COERCE], "g");
-    safeRe[t.COERCERTL] = new RegExp(makeSafeRe(src[t.COERCE]), "g");
-    tok("LONETILDE");
-    src[t.LONETILDE] = "(?:~>?)";
-    tok("TILDETRIM");
-    src[t.TILDETRIM] = "(\\s*)" + src[t.LONETILDE] + "\\s+";
-    re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], "g");
-    safeRe[t.TILDETRIM] = new RegExp(makeSafeRe(src[t.TILDETRIM]), "g");
-    var tildeTrimReplace = "$1~";
-    tok("TILDE");
-    src[t.TILDE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAIN] + "$";
-    tok("TILDELOOSE");
-    src[t.TILDELOOSE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + "$";
-    tok("LONECARET");
-    src[t.LONECARET] = "(?:\\^)";
-    tok("CARETTRIM");
-    src[t.CARETTRIM] = "(\\s*)" + src[t.LONECARET] + "\\s+";
-    re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], "g");
-    safeRe[t.CARETTRIM] = new RegExp(makeSafeRe(src[t.CARETTRIM]), "g");
-    var caretTrimReplace = "$1^";
-    tok("CARET");
-    src[t.CARET] = "^" + src[t.LONECARET] + src[t.XRANGEPLAIN] + "$";
-    tok("CARETLOOSE");
-    src[t.CARETLOOSE] = "^" + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + "$";
-    tok("COMPARATORLOOSE");
-    src[t.COMPARATORLOOSE] = "^" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + ")$|^$";
-    tok("COMPARATOR");
-    src[t.COMPARATOR] = "^" + src[t.GTLT] + "\\s*(" + src[t.FULLPLAIN] + ")$|^$";
-    tok("COMPARATORTRIM");
-    src[t.COMPARATORTRIM] = "(\\s*)" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + "|" + src[t.XRANGEPLAIN] + ")";
-    re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], "g");
-    safeRe[t.COMPARATORTRIM] = new RegExp(makeSafeRe(src[t.COMPARATORTRIM]), "g");
-    var comparatorTrimReplace = "$1$2$3";
-    tok("HYPHENRANGE");
-    src[t.HYPHENRANGE] = "^\\s*(" + src[t.XRANGEPLAIN] + ")\\s+-\\s+(" + src[t.XRANGEPLAIN] + ")\\s*$";
-    tok("HYPHENRANGELOOSE");
-    src[t.HYPHENRANGELOOSE] = "^\\s*(" + src[t.XRANGEPLAINLOOSE] + ")\\s+-\\s+(" + src[t.XRANGEPLAINLOOSE] + ")\\s*$";
-    tok("STAR");
-    src[t.STAR] = "(<|>)?=?\\s*\\*";
-    for (i = 0; i < R; i++) {
-      debug4(i, src[i]);
-      if (!re[i]) {
-        re[i] = new RegExp(src[i]);
-        safeRe[i] = new RegExp(makeSafeRe(src[i]));
+      /**
+       * Get whether or not a log with the provided log level should be logged.
+       * @param logLevel - The log level of the log that will be logged.
+       * @returns Whether or not a log with the provided log level should be logged.
+       */
+      shouldLog(logLevel) {
+        return this._options.shouldLog(logLevel);
+      }
+      /**
+       * Attempt to log the provided message to the provided logger. If no logger was provided or if
+       * the log level does not meat the logger's threshold, then nothing will be logged.
+       * @param logLevel - The log level of this log.
+       * @param message - The message of this log.
+       */
+      log(logLevel, message) {
+        this._options.log(logLevel, message);
+      }
+    };
+    exports2.BaseRequestPolicy = BaseRequestPolicy;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js
+var require_constants15 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PathStylePorts = exports2.BlobDoesNotUseCustomerSpecifiedEncryption = exports2.BlobUsesCustomerSpecifiedEncryptionMsg = exports2.StorageBlobLoggingAllowedQueryParameters = exports2.StorageBlobLoggingAllowedHeaderNames = exports2.DevelopmentConnectionString = exports2.EncryptionAlgorithmAES25 = exports2.HTTP_VERSION_1_1 = exports2.HTTP_LINE_ENDING = exports2.BATCH_MAX_PAYLOAD_IN_BYTES = exports2.BATCH_MAX_REQUEST = exports2.SIZE_1_MB = exports2.ETagAny = exports2.ETagNone = exports2.HeaderConstants = exports2.HTTPURLConnection = exports2.URLConstants = exports2.StorageOAuthScopes = exports2.REQUEST_TIMEOUT = exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = exports2.BLOCK_BLOB_MAX_BLOCKS = exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = exports2.SERVICE_VERSION = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "12.29.1";
+    exports2.SERVICE_VERSION = "2025-11-05";
+    exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = 256 * 1024 * 1024;
+    exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = 4e3 * 1024 * 1024;
+    exports2.BLOCK_BLOB_MAX_BLOCKS = 5e4;
+    exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = 8 * 1024 * 1024;
+    exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = 4 * 1024 * 1024;
+    exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = 5;
+    exports2.REQUEST_TIMEOUT = 100 * 1e3;
+    exports2.StorageOAuthScopes = "https://storage.azure.com/.default";
+    exports2.URLConstants = {
+      Parameters: {
+        FORCE_BROWSER_NO_CACHE: "_",
+        SIGNATURE: "sig",
+        SNAPSHOT: "snapshot",
+        VERSIONID: "versionid",
+        TIMEOUT: "timeout"
       }
+    };
+    exports2.HTTPURLConnection = {
+      HTTP_ACCEPTED: 202,
+      HTTP_CONFLICT: 409,
+      HTTP_NOT_FOUND: 404,
+      HTTP_PRECON_FAILED: 412,
+      HTTP_RANGE_NOT_SATISFIABLE: 416
+    };
+    exports2.HeaderConstants = {
+      AUTHORIZATION: "Authorization",
+      AUTHORIZATION_SCHEME: "Bearer",
+      CONTENT_ENCODING: "Content-Encoding",
+      CONTENT_ID: "Content-ID",
+      CONTENT_LANGUAGE: "Content-Language",
+      CONTENT_LENGTH: "Content-Length",
+      CONTENT_MD5: "Content-Md5",
+      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
+      CONTENT_TYPE: "Content-Type",
+      COOKIE: "Cookie",
+      DATE: "date",
+      IF_MATCH: "if-match",
+      IF_MODIFIED_SINCE: "if-modified-since",
+      IF_NONE_MATCH: "if-none-match",
+      IF_UNMODIFIED_SINCE: "if-unmodified-since",
+      PREFIX_FOR_STORAGE: "x-ms-",
+      RANGE: "Range",
+      USER_AGENT: "User-Agent",
+      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
+      X_MS_COPY_SOURCE: "x-ms-copy-source",
+      X_MS_DATE: "x-ms-date",
+      X_MS_ERROR_CODE: "x-ms-error-code",
+      X_MS_VERSION: "x-ms-version",
+      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    };
+    exports2.ETagNone = "";
+    exports2.ETagAny = "*";
+    exports2.SIZE_1_MB = 1 * 1024 * 1024;
+    exports2.BATCH_MAX_REQUEST = 256;
+    exports2.BATCH_MAX_PAYLOAD_IN_BYTES = 4 * exports2.SIZE_1_MB;
+    exports2.HTTP_LINE_ENDING = "\r\n";
+    exports2.HTTP_VERSION_1_1 = "HTTP/1.1";
+    exports2.EncryptionAlgorithmAES25 = "AES256";
+    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
+    exports2.StorageBlobLoggingAllowedHeaderNames = [
+      "Access-Control-Allow-Origin",
+      "Cache-Control",
+      "Content-Length",
+      "Content-Type",
+      "Date",
+      "Request-Id",
+      "traceparent",
+      "Transfer-Encoding",
+      "User-Agent",
+      "x-ms-client-request-id",
+      "x-ms-date",
+      "x-ms-error-code",
+      "x-ms-request-id",
+      "x-ms-return-client-request-id",
+      "x-ms-version",
+      "Accept-Ranges",
+      "Content-Disposition",
+      "Content-Encoding",
+      "Content-Language",
+      "Content-MD5",
+      "Content-Range",
+      "ETag",
+      "Last-Modified",
+      "Server",
+      "Vary",
+      "x-ms-content-crc64",
+      "x-ms-copy-action",
+      "x-ms-copy-completion-time",
+      "x-ms-copy-id",
+      "x-ms-copy-progress",
+      "x-ms-copy-status",
+      "x-ms-has-immutability-policy",
+      "x-ms-has-legal-hold",
+      "x-ms-lease-state",
+      "x-ms-lease-status",
+      "x-ms-range",
+      "x-ms-request-server-encrypted",
+      "x-ms-server-encrypted",
+      "x-ms-snapshot",
+      "x-ms-source-range",
+      "If-Match",
+      "If-Modified-Since",
+      "If-None-Match",
+      "If-Unmodified-Since",
+      "x-ms-access-tier",
+      "x-ms-access-tier-change-time",
+      "x-ms-access-tier-inferred",
+      "x-ms-account-kind",
+      "x-ms-archive-status",
+      "x-ms-blob-append-offset",
+      "x-ms-blob-cache-control",
+      "x-ms-blob-committed-block-count",
+      "x-ms-blob-condition-appendpos",
+      "x-ms-blob-condition-maxsize",
+      "x-ms-blob-content-disposition",
+      "x-ms-blob-content-encoding",
+      "x-ms-blob-content-language",
+      "x-ms-blob-content-length",
+      "x-ms-blob-content-md5",
+      "x-ms-blob-content-type",
+      "x-ms-blob-public-access",
+      "x-ms-blob-sequence-number",
+      "x-ms-blob-type",
+      "x-ms-copy-destination-snapshot",
+      "x-ms-creation-time",
+      "x-ms-default-encryption-scope",
+      "x-ms-delete-snapshots",
+      "x-ms-delete-type-permanent",
+      "x-ms-deny-encryption-scope-override",
+      "x-ms-encryption-algorithm",
+      "x-ms-if-sequence-number-eq",
+      "x-ms-if-sequence-number-le",
+      "x-ms-if-sequence-number-lt",
+      "x-ms-incremental-copy",
+      "x-ms-lease-action",
+      "x-ms-lease-break-period",
+      "x-ms-lease-duration",
+      "x-ms-lease-id",
+      "x-ms-lease-time",
+      "x-ms-page-write",
+      "x-ms-proposed-lease-id",
+      "x-ms-range-get-content-md5",
+      "x-ms-rehydrate-priority",
+      "x-ms-sequence-number-action",
+      "x-ms-sku-name",
+      "x-ms-source-content-md5",
+      "x-ms-source-if-match",
+      "x-ms-source-if-modified-since",
+      "x-ms-source-if-none-match",
+      "x-ms-source-if-unmodified-since",
+      "x-ms-tag-count",
+      "x-ms-encryption-key-sha256",
+      "x-ms-copy-source-error-code",
+      "x-ms-copy-source-status-code",
+      "x-ms-if-tags",
+      "x-ms-source-if-tags"
+    ];
+    exports2.StorageBlobLoggingAllowedQueryParameters = [
+      "comp",
+      "maxresults",
+      "rscc",
+      "rscd",
+      "rsce",
+      "rscl",
+      "rsct",
+      "se",
+      "si",
+      "sip",
+      "sp",
+      "spr",
+      "sr",
+      "srt",
+      "ss",
+      "st",
+      "sv",
+      "include",
+      "marker",
+      "prefix",
+      "copyid",
+      "restype",
+      "blockid",
+      "blocklisttype",
+      "delimiter",
+      "prevsnapshot",
+      "ske",
+      "skoid",
+      "sks",
+      "skt",
+      "sktid",
+      "skv",
+      "snapshot"
+    ];
+    exports2.BlobUsesCustomerSpecifiedEncryptionMsg = "BlobUsesCustomerSpecifiedEncryption";
+    exports2.BlobDoesNotUseCustomerSpecifiedEncryption = "BlobDoesNotUseCustomerSpecifiedEncryption";
+    exports2.PathStylePorts = [
+      "10000",
+      "10001",
+      "10002",
+      "10003",
+      "10004",
+      "10100",
+      "10101",
+      "10102",
+      "10103",
+      "10104",
+      "11000",
+      "11001",
+      "11002",
+      "11003",
+      "11004",
+      "11100",
+      "11101",
+      "11102",
+      "11103",
+      "11104"
+    ];
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js
+var require_utils_common = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.escapeURLPath = escapeURLPath;
+    exports2.getValueInConnString = getValueInConnString;
+    exports2.extractConnectionStringParts = extractConnectionStringParts;
+    exports2.appendToURLPath = appendToURLPath;
+    exports2.setURLParameter = setURLParameter;
+    exports2.getURLParameter = getURLParameter;
+    exports2.setURLHost = setURLHost;
+    exports2.getURLPath = getURLPath;
+    exports2.getURLScheme = getURLScheme;
+    exports2.getURLPathAndQuery = getURLPathAndQuery;
+    exports2.getURLQueries = getURLQueries;
+    exports2.appendToURLQuery = appendToURLQuery;
+    exports2.truncatedISO8061Date = truncatedISO8061Date;
+    exports2.base64encode = base64encode;
+    exports2.base64decode = base64decode;
+    exports2.generateBlockID = generateBlockID;
+    exports2.delay = delay;
+    exports2.padStart = padStart2;
+    exports2.sanitizeURL = sanitizeURL;
+    exports2.sanitizeHeaders = sanitizeHeaders;
+    exports2.iEqual = iEqual;
+    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
+    exports2.isIpEndpointStyle = isIpEndpointStyle;
+    exports2.toBlobTagsString = toBlobTagsString;
+    exports2.toBlobTags = toBlobTags;
+    exports2.toTags = toTags;
+    exports2.toQuerySerialization = toQuerySerialization;
+    exports2.parseObjectReplicationRecord = parseObjectReplicationRecord;
+    exports2.attachCredential = attachCredential;
+    exports2.httpAuthorizationToString = httpAuthorizationToString;
+    exports2.BlobNameToString = BlobNameToString;
+    exports2.ConvertInternalResponseOfListBlobFlat = ConvertInternalResponseOfListBlobFlat;
+    exports2.ConvertInternalResponseOfListBlobHierarchy = ConvertInternalResponseOfListBlobHierarchy;
+    exports2.ExtractPageRangeInfoItems = ExtractPageRangeInfoItems;
+    exports2.EscapePath = EscapePath;
+    exports2.assertResponse = assertResponse;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants15();
+    function escapeURLPath(url) {
+      const urlParsed = new URL(url);
+      let path4 = urlParsed.pathname;
+      path4 = path4 || "/";
+      path4 = escape(path4);
+      urlParsed.pathname = path4;
+      return urlParsed.toString();
     }
-    var i;
-    exports2.parse = parse2;
-    function parse2(version, options) {
-      if (!options || typeof options !== "object") {
-        options = {
-          loose: !!options,
-          includePrerelease: false
-        };
-      }
-      if (version instanceof SemVer) {
-        return version;
-      }
-      if (typeof version !== "string") {
-        return null;
-      }
-      if (version.length > MAX_LENGTH) {
-        return null;
-      }
-      var r = options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL];
-      if (!r.test(version)) {
-        return null;
-      }
-      try {
-        return new SemVer(version, options);
-      } catch (er) {
-        return null;
+    function getProxyUriFromDevConnString(connectionString) {
+      let proxyUri = "";
+      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
+        const matchCredentials = connectionString.split(";");
+        for (const element of matchCredentials) {
+          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
+            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
+          }
+        }
       }
+      return proxyUri;
     }
-    exports2.valid = valid3;
-    function valid3(version, options) {
-      var v = parse2(version, options);
-      return v ? v.version : null;
-    }
-    exports2.clean = clean3;
-    function clean3(version, options) {
-      var s = parse2(version.trim().replace(/^[=v]+/, ""), options);
-      return s ? s.version : null;
-    }
-    exports2.SemVer = SemVer;
-    function SemVer(version, options) {
-      if (!options || typeof options !== "object") {
-        options = {
-          loose: !!options,
-          includePrerelease: false
-        };
-      }
-      if (version instanceof SemVer) {
-        if (version.loose === options.loose) {
-          return version;
-        } else {
-          version = version.version;
+    function getValueInConnString(connectionString, argument) {
+      const elements = connectionString.split(";");
+      for (const element of elements) {
+        if (element.trim().startsWith(argument)) {
+          return element.trim().match(argument + "=(.*)")[1];
         }
-      } else if (typeof version !== "string") {
-        throw new TypeError("Invalid Version: " + version);
-      }
-      if (version.length > MAX_LENGTH) {
-        throw new TypeError("version is longer than " + MAX_LENGTH + " characters");
-      }
-      if (!(this instanceof SemVer)) {
-        return new SemVer(version, options);
-      }
-      debug4("SemVer", version, options);
-      this.options = options;
-      this.loose = !!options.loose;
-      var m = version.trim().match(options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL]);
-      if (!m) {
-        throw new TypeError("Invalid Version: " + version);
-      }
-      this.raw = version;
-      this.major = +m[1];
-      this.minor = +m[2];
-      this.patch = +m[3];
-      if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
-        throw new TypeError("Invalid major version");
-      }
-      if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
-        throw new TypeError("Invalid minor version");
-      }
-      if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
-        throw new TypeError("Invalid patch version");
-      }
-      if (!m[4]) {
-        this.prerelease = [];
-      } else {
-        this.prerelease = m[4].split(".").map(function(id) {
-          if (/^[0-9]+$/.test(id)) {
-            var num = +id;
-            if (num >= 0 && num < MAX_SAFE_INTEGER) {
-              return num;
-            }
-          }
-          return id;
-        });
       }
-      this.build = m[5] ? m[5].split(".") : [];
-      this.format();
+      return "";
     }
-    SemVer.prototype.format = function() {
-      this.version = this.major + "." + this.minor + "." + this.patch;
-      if (this.prerelease.length) {
-        this.version += "-" + this.prerelease.join(".");
-      }
-      return this.version;
-    };
-    SemVer.prototype.toString = function() {
-      return this.version;
-    };
-    SemVer.prototype.compare = function(other) {
-      debug4("SemVer.compare", this.version, this.options, other);
-      if (!(other instanceof SemVer)) {
-        other = new SemVer(other, this.options);
-      }
-      return this.compareMain(other) || this.comparePre(other);
-    };
-    SemVer.prototype.compareMain = function(other) {
-      if (!(other instanceof SemVer)) {
-        other = new SemVer(other, this.options);
-      }
-      return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
-    };
-    SemVer.prototype.comparePre = function(other) {
-      if (!(other instanceof SemVer)) {
-        other = new SemVer(other, this.options);
-      }
-      if (this.prerelease.length && !other.prerelease.length) {
-        return -1;
-      } else if (!this.prerelease.length && other.prerelease.length) {
-        return 1;
-      } else if (!this.prerelease.length && !other.prerelease.length) {
-        return 0;
-      }
-      var i2 = 0;
-      do {
-        var a = this.prerelease[i2];
-        var b = other.prerelease[i2];
-        debug4("prerelease compare", i2, a, b);
-        if (a === void 0 && b === void 0) {
-          return 0;
-        } else if (b === void 0) {
-          return 1;
-        } else if (a === void 0) {
-          return -1;
-        } else if (a === b) {
-          continue;
-        } else {
-          return compareIdentifiers(a, b);
-        }
-      } while (++i2);
-    };
-    SemVer.prototype.compareBuild = function(other) {
-      if (!(other instanceof SemVer)) {
-        other = new SemVer(other, this.options);
+    function extractConnectionStringParts(connectionString) {
+      let proxyUri = "";
+      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
+        proxyUri = getProxyUriFromDevConnString(connectionString);
+        connectionString = constants_js_1.DevelopmentConnectionString;
       }
-      var i2 = 0;
-      do {
-        var a = this.build[i2];
-        var b = other.build[i2];
-        debug4("prerelease compare", i2, a, b);
-        if (a === void 0 && b === void 0) {
-          return 0;
-        } else if (b === void 0) {
-          return 1;
-        } else if (a === void 0) {
-          return -1;
-        } else if (a === b) {
-          continue;
-        } else {
-          return compareIdentifiers(a, b);
-        }
-      } while (++i2);
-    };
-    SemVer.prototype.inc = function(release, identifier) {
-      switch (release) {
-        case "premajor":
-          this.prerelease.length = 0;
-          this.patch = 0;
-          this.minor = 0;
-          this.major++;
-          this.inc("pre", identifier);
-          break;
-        case "preminor":
-          this.prerelease.length = 0;
-          this.patch = 0;
-          this.minor++;
-          this.inc("pre", identifier);
-          break;
-        case "prepatch":
-          this.prerelease.length = 0;
-          this.inc("patch", identifier);
-          this.inc("pre", identifier);
-          break;
-        // If the input is a non-prerelease version, this acts the same as
-        // prepatch.
-        case "prerelease":
-          if (this.prerelease.length === 0) {
-            this.inc("patch", identifier);
-          }
-          this.inc("pre", identifier);
-          break;
-        case "major":
-          if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
-            this.major++;
-          }
-          this.minor = 0;
-          this.patch = 0;
-          this.prerelease = [];
-          break;
-        case "minor":
-          if (this.patch !== 0 || this.prerelease.length === 0) {
-            this.minor++;
-          }
-          this.patch = 0;
-          this.prerelease = [];
-          break;
-        case "patch":
-          if (this.prerelease.length === 0) {
-            this.patch++;
+      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
+      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
+      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
+        let defaultEndpointsProtocol = "";
+        let accountName = "";
+        let accountKey = Buffer.from("accountKey", "base64");
+        let endpointSuffix = "";
+        accountName = getValueInConnString(connectionString, "AccountName");
+        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
+        if (!blobEndpoint) {
+          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
+          const protocol = defaultEndpointsProtocol.toLowerCase();
+          if (protocol !== "https" && protocol !== "http") {
+            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
           }
-          this.prerelease = [];
-          break;
-        // This probably shouldn't be used publicly.
-        // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction.
-        case "pre":
-          if (this.prerelease.length === 0) {
-            this.prerelease = [0];
-          } else {
-            var i2 = this.prerelease.length;
-            while (--i2 >= 0) {
-              if (typeof this.prerelease[i2] === "number") {
-                this.prerelease[i2]++;
-                i2 = -2;
-              }
-            }
-            if (i2 === -1) {
-              this.prerelease.push(0);
-            }
+          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
+          if (!endpointSuffix) {
+            throw new Error("Invalid EndpointSuffix in the provided Connection String");
           }
-          if (identifier) {
-            if (this.prerelease[0] === identifier) {
-              if (isNaN(this.prerelease[1])) {
-                this.prerelease = [identifier, 0];
-              }
-            } else {
-              this.prerelease = [identifier, 0];
-            }
+          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
+        }
+        if (!accountName) {
+          throw new Error("Invalid AccountName in the provided Connection String");
+        } else if (accountKey.length === 0) {
+          throw new Error("Invalid AccountKey in the provided Connection String");
+        }
+        return {
+          kind: "AccountConnString",
+          url: blobEndpoint,
+          accountName,
+          accountKey,
+          proxyUri
+        };
+      } else {
+        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
+        let accountName = getValueInConnString(connectionString, "AccountName");
+        if (!accountName) {
+          accountName = getAccountNameFromUrl(blobEndpoint);
+        }
+        if (!blobEndpoint) {
+          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
+        } else if (!accountSas) {
+          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
+        }
+        if (accountSas.startsWith("?")) {
+          accountSas = accountSas.substring(1);
+        }
+        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
+      }
+    }
+    function escape(text) {
+      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
+    }
+    function appendToURLPath(url, name) {
+      const urlParsed = new URL(url);
+      let path4 = urlParsed.pathname;
+      path4 = path4 ? path4.endsWith("/") ? `${path4}${name}` : `${path4}/${name}` : name;
+      urlParsed.pathname = path4;
+      return urlParsed.toString();
+    }
+    function setURLParameter(url, name, value) {
+      const urlParsed = new URL(url);
+      const encodedName = encodeURIComponent(name);
+      const encodedValue = value ? encodeURIComponent(value) : void 0;
+      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
+      const searchPieces = [];
+      for (const pair of searchString.slice(1).split("&")) {
+        if (pair) {
+          const [key] = pair.split("=", 2);
+          if (key !== encodedName) {
+            searchPieces.push(pair);
           }
-          break;
-        default:
-          throw new Error("invalid increment argument: " + release);
+        }
       }
-      this.format();
-      this.raw = this.version;
-      return this;
-    };
-    exports2.inc = inc;
-    function inc(version, release, loose, identifier) {
-      if (typeof loose === "string") {
-        identifier = loose;
-        loose = void 0;
+      if (encodedValue) {
+        searchPieces.push(`${encodedName}=${encodedValue}`);
       }
+      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
+      return urlParsed.toString();
+    }
+    function getURLParameter(url, name) {
+      const urlParsed = new URL(url);
+      return urlParsed.searchParams.get(name) ?? void 0;
+    }
+    function setURLHost(url, host) {
+      const urlParsed = new URL(url);
+      urlParsed.hostname = host;
+      return urlParsed.toString();
+    }
+    function getURLPath(url) {
       try {
-        return new SemVer(version, loose).inc(release, identifier).version;
-      } catch (er) {
-        return null;
+        const urlParsed = new URL(url);
+        return urlParsed.pathname;
+      } catch (e) {
+        return void 0;
       }
     }
-    exports2.diff = diff;
-    function diff(version1, version2) {
-      if (eq(version1, version2)) {
-        return null;
-      } else {
-        var v1 = parse2(version1);
-        var v2 = parse2(version2);
-        var prefix = "";
-        if (v1.prerelease.length || v2.prerelease.length) {
-          prefix = "pre";
-          var defaultResult = "prerelease";
-        }
-        for (var key in v1) {
-          if (key === "major" || key === "minor" || key === "patch") {
-            if (v1[key] !== v2[key]) {
-              return prefix + key;
-            }
-          }
-        }
-        return defaultResult;
+    function getURLScheme(url) {
+      try {
+        const urlParsed = new URL(url);
+        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
+      } catch (e) {
+        return void 0;
       }
     }
-    exports2.compareIdentifiers = compareIdentifiers;
-    var numeric = /^[0-9]+$/;
-    function compareIdentifiers(a, b) {
-      var anum = numeric.test(a);
-      var bnum = numeric.test(b);
-      if (anum && bnum) {
-        a = +a;
-        b = +b;
+    function getURLPathAndQuery(url) {
+      const urlParsed = new URL(url);
+      const pathString = urlParsed.pathname;
+      if (!pathString) {
+        throw new RangeError("Invalid url without valid path.");
       }
-      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
+      let queryString = urlParsed.search || "";
+      queryString = queryString.trim();
+      if (queryString !== "") {
+        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
+      }
+      return `${pathString}${queryString}`;
     }
-    exports2.rcompareIdentifiers = rcompareIdentifiers;
-    function rcompareIdentifiers(a, b) {
-      return compareIdentifiers(b, a);
+    function getURLQueries(url) {
+      let queryString = new URL(url).search;
+      if (!queryString) {
+        return {};
+      }
+      queryString = queryString.trim();
+      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
+      let querySubStrings = queryString.split("&");
+      querySubStrings = querySubStrings.filter((value) => {
+        const indexOfEqual = value.indexOf("=");
+        const lastIndexOfEqual = value.lastIndexOf("=");
+        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
+      });
+      const queries = {};
+      for (const querySubString of querySubStrings) {
+        const splitResults = querySubString.split("=");
+        const key = splitResults[0];
+        const value = splitResults[1];
+        queries[key] = value;
+      }
+      return queries;
     }
-    exports2.major = major;
-    function major(a, loose) {
-      return new SemVer(a, loose).major;
+    function appendToURLQuery(url, queryParts) {
+      const urlParsed = new URL(url);
+      let query = urlParsed.search;
+      if (query) {
+        query += "&" + queryParts;
+      } else {
+        query = queryParts;
+      }
+      urlParsed.search = query;
+      return urlParsed.toString();
     }
-    exports2.minor = minor;
-    function minor(a, loose) {
-      return new SemVer(a, loose).minor;
+    function truncatedISO8061Date(date, withMilliseconds = true) {
+      const dateString = date.toISOString();
+      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
     }
-    exports2.patch = patch;
-    function patch(a, loose) {
-      return new SemVer(a, loose).patch;
+    function base64encode(content) {
+      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
     }
-    exports2.compare = compare2;
-    function compare2(a, b, loose) {
-      return new SemVer(a, loose).compare(new SemVer(b, loose));
+    function base64decode(encodedString) {
+      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
     }
-    exports2.compareLoose = compareLoose;
-    function compareLoose(a, b) {
-      return compare2(a, b, true);
+    function generateBlockID(blockIDPrefix, blockIndex) {
+      const maxSourceStringLength = 48;
+      const maxBlockIndexLength = 6;
+      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
+      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
+        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
+      }
+      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
+      return base64encode(res);
     }
-    exports2.compareBuild = compareBuild;
-    function compareBuild(a, b, loose) {
-      var versionA = new SemVer(a, loose);
-      var versionB = new SemVer(b, loose);
-      return versionA.compare(versionB) || versionA.compareBuild(versionB);
+    async function delay(timeInMs, aborter, abortError) {
+      return new Promise((resolve3, reject) => {
+        let timeout;
+        const abortHandler = () => {
+          if (timeout !== void 0) {
+            clearTimeout(timeout);
+          }
+          reject(abortError);
+        };
+        const resolveHandler = () => {
+          if (aborter !== void 0) {
+            aborter.removeEventListener("abort", abortHandler);
+          }
+          resolve3();
+        };
+        timeout = setTimeout(resolveHandler, timeInMs);
+        if (aborter !== void 0) {
+          aborter.addEventListener("abort", abortHandler);
+        }
+      });
     }
-    exports2.rcompare = rcompare;
-    function rcompare(a, b, loose) {
-      return compare2(b, a, loose);
+    function padStart2(currentString, targetLength, padString = " ") {
+      if (String.prototype.padStart) {
+        return currentString.padStart(targetLength, padString);
+      }
+      padString = padString || " ";
+      if (currentString.length > targetLength) {
+        return currentString;
+      } else {
+        targetLength = targetLength - currentString.length;
+        if (targetLength > padString.length) {
+          padString += padString.repeat(targetLength / padString.length);
+        }
+        return padString.slice(0, targetLength) + currentString;
+      }
     }
-    exports2.sort = sort;
-    function sort(list, loose) {
-      return list.sort(function(a, b) {
-        return exports2.compareBuild(a, b, loose);
-      });
+    function sanitizeURL(url) {
+      let safeURL = url;
+      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
+        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
+      }
+      return safeURL;
     }
-    exports2.rsort = rsort;
-    function rsort(list, loose) {
-      return list.sort(function(a, b) {
-        return exports2.compareBuild(b, a, loose);
-      });
+    function sanitizeHeaders(originalHeader) {
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
+      for (const [name, value] of originalHeader) {
+        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
+          headers.set(name, "*****");
+        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
+          headers.set(name, sanitizeURL(value));
+        } else {
+          headers.set(name, value);
+        }
+      }
+      return headers;
     }
-    exports2.gt = gt;
-    function gt(a, b, loose) {
-      return compare2(a, b, loose) > 0;
+    function iEqual(str1, str2) {
+      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
     }
-    exports2.lt = lt;
-    function lt(a, b, loose) {
-      return compare2(a, b, loose) < 0;
+    function getAccountNameFromUrl(url) {
+      const parsedUrl = new URL(url);
+      let accountName;
+      try {
+        if (parsedUrl.hostname.split(".")[1] === "blob") {
+          accountName = parsedUrl.hostname.split(".")[0];
+        } else if (isIpEndpointStyle(parsedUrl)) {
+          accountName = parsedUrl.pathname.split("/")[1];
+        } else {
+          accountName = "";
+        }
+        return accountName;
+      } catch (error3) {
+        throw new Error("Unable to extract accountName with provided information.");
+      }
     }
-    exports2.eq = eq;
-    function eq(a, b, loose) {
-      return compare2(a, b, loose) === 0;
+    function isIpEndpointStyle(parsedUrl) {
+      const host = parsedUrl.host;
+      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
     }
-    exports2.neq = neq;
-    function neq(a, b, loose) {
-      return compare2(a, b, loose) !== 0;
+    function toBlobTagsString(tags) {
+      if (tags === void 0) {
+        return void 0;
+      }
+      const tagPairs = [];
+      for (const key in tags) {
+        if (Object.prototype.hasOwnProperty.call(tags, key)) {
+          const value = tags[key];
+          tagPairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
+        }
+      }
+      return tagPairs.join("&");
     }
-    exports2.gte = gte6;
-    function gte6(a, b, loose) {
-      return compare2(a, b, loose) >= 0;
+    function toBlobTags(tags) {
+      if (tags === void 0) {
+        return void 0;
+      }
+      const res = {
+        blobTagSet: []
+      };
+      for (const key in tags) {
+        if (Object.prototype.hasOwnProperty.call(tags, key)) {
+          const value = tags[key];
+          res.blobTagSet.push({
+            key,
+            value
+          });
+        }
+      }
+      return res;
     }
-    exports2.lte = lte;
-    function lte(a, b, loose) {
-      return compare2(a, b, loose) <= 0;
+    function toTags(tags) {
+      if (tags === void 0) {
+        return void 0;
+      }
+      const res = {};
+      for (const blobTag of tags.blobTagSet) {
+        res[blobTag.key] = blobTag.value;
+      }
+      return res;
     }
-    exports2.cmp = cmp;
-    function cmp(a, op, b, loose) {
-      switch (op) {
-        case "===":
-          if (typeof a === "object")
-            a = a.version;
-          if (typeof b === "object")
-            b = b.version;
-          return a === b;
-        case "!==":
-          if (typeof a === "object")
-            a = a.version;
-          if (typeof b === "object")
-            b = b.version;
-          return a !== b;
-        case "":
-        case "=":
-        case "==":
-          return eq(a, b, loose);
-        case "!=":
-          return neq(a, b, loose);
-        case ">":
-          return gt(a, b, loose);
-        case ">=":
-          return gte6(a, b, loose);
-        case "<":
-          return lt(a, b, loose);
-        case "<=":
-          return lte(a, b, loose);
+    function toQuerySerialization(textConfiguration) {
+      if (textConfiguration === void 0) {
+        return void 0;
+      }
+      switch (textConfiguration.kind) {
+        case "csv":
+          return {
+            format: {
+              type: "delimited",
+              delimitedTextConfiguration: {
+                columnSeparator: textConfiguration.columnSeparator || ",",
+                fieldQuote: textConfiguration.fieldQuote || "",
+                recordSeparator: textConfiguration.recordSeparator,
+                escapeChar: textConfiguration.escapeCharacter || "",
+                headersPresent: textConfiguration.hasHeaders || false
+              }
+            }
+          };
+        case "json":
+          return {
+            format: {
+              type: "json",
+              jsonTextConfiguration: {
+                recordSeparator: textConfiguration.recordSeparator
+              }
+            }
+          };
+        case "arrow":
+          return {
+            format: {
+              type: "arrow",
+              arrowConfiguration: {
+                schema: textConfiguration.schema
+              }
+            }
+          };
+        case "parquet":
+          return {
+            format: {
+              type: "parquet"
+            }
+          };
         default:
-          throw new TypeError("Invalid operator: " + op);
+          throw Error("Invalid BlobQueryTextConfiguration.");
       }
     }
-    exports2.Comparator = Comparator;
-    function Comparator(comp, options) {
-      if (!options || typeof options !== "object") {
-        options = {
-          loose: !!options,
-          includePrerelease: false
-        };
+    function parseObjectReplicationRecord(objectReplicationRecord) {
+      if (!objectReplicationRecord) {
+        return void 0;
       }
-      if (comp instanceof Comparator) {
-        if (comp.loose === !!options.loose) {
-          return comp;
+      if ("policy-id" in objectReplicationRecord) {
+        return void 0;
+      }
+      const orProperties = [];
+      for (const key in objectReplicationRecord) {
+        const ids = key.split("_");
+        const policyPrefix = "or-";
+        if (ids[0].startsWith(policyPrefix)) {
+          ids[0] = ids[0].substring(policyPrefix.length);
+        }
+        const rule = {
+          ruleId: ids[1],
+          replicationStatus: objectReplicationRecord[key]
+        };
+        const policyIndex = orProperties.findIndex((policy) => policy.policyId === ids[0]);
+        if (policyIndex > -1) {
+          orProperties[policyIndex].rules.push(rule);
         } else {
-          comp = comp.value;
+          orProperties.push({
+            policyId: ids[0],
+            rules: [rule]
+          });
         }
       }
-      if (!(this instanceof Comparator)) {
-        return new Comparator(comp, options);
-      }
-      comp = comp.trim().split(/\s+/).join(" ");
-      debug4("comparator", comp, options);
-      this.options = options;
-      this.loose = !!options.loose;
-      this.parse(comp);
-      if (this.semver === ANY) {
-        this.value = "";
+      return orProperties;
+    }
+    function attachCredential(thing, credential) {
+      thing.credential = credential;
+      return thing;
+    }
+    function httpAuthorizationToString(httpAuthorization) {
+      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
+    }
+    function BlobNameToString(name) {
+      if (name.encoded) {
+        return decodeURIComponent(name.content);
       } else {
-        this.value = this.operator + this.semver.version;
+        return name.content;
       }
-      debug4("comp", this);
     }
-    var ANY = {};
-    Comparator.prototype.parse = function(comp) {
-      var r = this.options.loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR];
-      var m = comp.match(r);
-      if (!m) {
-        throw new TypeError("Invalid comparator: " + comp);
+    function ConvertInternalResponseOfListBlobFlat(internalResponse) {
+      return {
+        ...internalResponse,
+        segment: {
+          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
+            const blobItem = {
+              ...blobItemInteral,
+              name: BlobNameToString(blobItemInteral.name)
+            };
+            return blobItem;
+          })
+        }
+      };
+    }
+    function ConvertInternalResponseOfListBlobHierarchy(internalResponse) {
+      return {
+        ...internalResponse,
+        segment: {
+          blobPrefixes: internalResponse.segment.blobPrefixes?.map((blobPrefixInternal) => {
+            const blobPrefix = {
+              ...blobPrefixInternal,
+              name: BlobNameToString(blobPrefixInternal.name)
+            };
+            return blobPrefix;
+          }),
+          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
+            const blobItem = {
+              ...blobItemInteral,
+              name: BlobNameToString(blobItemInteral.name)
+            };
+            return blobItem;
+          })
+        }
+      };
+    }
+    function* ExtractPageRangeInfoItems(getPageRangesSegment) {
+      let pageRange = [];
+      let clearRange = [];
+      if (getPageRangesSegment.pageRange)
+        pageRange = getPageRangesSegment.pageRange;
+      if (getPageRangesSegment.clearRange)
+        clearRange = getPageRangesSegment.clearRange;
+      let pageRangeIndex = 0;
+      let clearRangeIndex = 0;
+      while (pageRangeIndex < pageRange.length && clearRangeIndex < clearRange.length) {
+        if (pageRange[pageRangeIndex].start < clearRange[clearRangeIndex].start) {
+          yield {
+            start: pageRange[pageRangeIndex].start,
+            end: pageRange[pageRangeIndex].end,
+            isClear: false
+          };
+          ++pageRangeIndex;
+        } else {
+          yield {
+            start: clearRange[clearRangeIndex].start,
+            end: clearRange[clearRangeIndex].end,
+            isClear: true
+          };
+          ++clearRangeIndex;
+        }
       }
-      this.operator = m[1] !== void 0 ? m[1] : "";
-      if (this.operator === "=") {
-        this.operator = "";
+      for (; pageRangeIndex < pageRange.length; ++pageRangeIndex) {
+        yield {
+          start: pageRange[pageRangeIndex].start,
+          end: pageRange[pageRangeIndex].end,
+          isClear: false
+        };
       }
-      if (!m[2]) {
-        this.semver = ANY;
-      } else {
-        this.semver = new SemVer(m[2], this.options.loose);
+      for (; clearRangeIndex < clearRange.length; ++clearRangeIndex) {
+        yield {
+          start: clearRange[clearRangeIndex].start,
+          end: clearRange[clearRangeIndex].end,
+          isClear: true
+        };
       }
+    }
+    function EscapePath(blobName) {
+      const split = blobName.split("/");
+      for (let i = 0; i < split.length; i++) {
+        split[i] = encodeURIComponent(split[i]);
+      }
+      return split.join("/");
+    }
+    function assertResponse(response) {
+      if (`_response` in response) {
+        return response;
+      }
+      throw new TypeError(`Unexpected response object ${response}`);
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js
+var require_StorageRetryPolicyType = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicyType;
+    (function(StorageRetryPolicyType2) {
+      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
+      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
+    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js
+var require_StorageRetryPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicy = void 0;
+    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
+    var abort_controller_1 = require_commonjs11();
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    var log_js_1 = require_log5();
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
+    function NewRetryPolicyFactory(retryOptions) {
+      return {
+        create: (nextPolicy, options) => {
+          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
+        }
+      };
+    }
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
     };
-    Comparator.prototype.toString = function() {
-      return this.value;
-    };
-    Comparator.prototype.test = function(version) {
-      debug4("Comparator.test", version, this.options.loose);
-      if (this.semver === ANY || version === ANY) {
-        return true;
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * RetryOptions.
+       */
+      retryOptions;
+      /**
+       * Creates an instance of RetryPolicy.
+       *
+       * @param nextPolicy -
+       * @param options -
+       * @param retryOptions -
+       */
+      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
+        super(nextPolicy, options);
+        this.retryOptions = {
+          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
+          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
+          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
+          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
+          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
+          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
+        };
       }
-      if (typeof version === "string") {
+      /**
+       * Sends request.
+       *
+       * @param request -
+       */
+      async sendRequest(request2) {
+        return this.attemptSendRequest(request2, false, 1);
+      }
+      /**
+       * Decide and perform next retry. Won't mutate request parameter.
+       *
+       * @param request -
+       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
+       *                                   the resource was not found. This may be due to replication delay. So, in this
+       *                                   case, we'll never try the secondary again for this operation.
+       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
+       *                                   the attempt will be performed by this method call.
+       */
+      async attemptSendRequest(request2, secondaryHas404, attempt) {
+        const newRequest = request2.clone();
+        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
+        if (!isPrimaryRetry) {
+          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
+        }
+        if (this.retryOptions.tryTimeoutInMs) {
+          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
+        }
+        let response;
         try {
-          version = new SemVer(version, this.options);
-        } catch (er) {
-          return false;
+          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+          response = await this._nextPolicy.sendRequest(newRequest);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
+            return response;
+          }
+          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+        } catch (err) {
+          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
+            throw err;
+          }
         }
+        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
+        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
       }
-      return cmp(version, this.operator, this.semver, this.options);
-    };
-    Comparator.prototype.intersects = function(comp, options) {
-      if (!(comp instanceof Comparator)) {
-        throw new TypeError("a Comparator is required");
-      }
-      if (!options || typeof options !== "object") {
-        options = {
-          loose: !!options,
-          includePrerelease: false
-        };
-      }
-      var rangeTmp;
-      if (this.operator === "") {
-        if (this.value === "") {
-          return true;
+      /**
+       * Decide whether to retry according to last HTTP response and retry counters.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param response -
+       * @param err -
+       */
+      shouldRetry(isPrimaryRetry, attempt, response, err) {
+        if (attempt >= this.retryOptions.maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
+          return false;
         }
-        rangeTmp = new Range2(comp.value, options);
-        return satisfies2(this.value, rangeTmp, options);
-      } else if (comp.operator === "") {
-        if (comp.value === "") {
+        const retriableErrors = [
+          "ETIMEDOUT",
+          "ESOCKETTIMEDOUT",
+          "ECONNREFUSED",
+          "ECONNRESET",
+          "ENOENT",
+          "ENOTFOUND",
+          "TIMEOUT",
+          "EPIPE",
+          "REQUEST_SEND_ERROR"
+          // For default xhr based http client provided in ms-rest-js
+        ];
+        if (err) {
+          for (const retriableError of retriableErrors) {
+            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
+          }
+        }
+        if (response || err) {
+          const statusCode = response ? response.status : err ? err.statusCode : 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
+          }
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
+          }
+        }
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
+            }
+          }
+        }
+        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
           return true;
         }
-        rangeTmp = new Range2(this.value, options);
-        return satisfies2(comp.semver, rangeTmp, options);
-      }
-      var sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">");
-      var sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<");
-      var sameSemVer = this.semver.version === comp.semver.version;
-      var differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<=");
-      var oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && ((this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<"));
-      var oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && ((this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">"));
-      return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
-    };
-    exports2.Range = Range2;
-    function Range2(range, options) {
-      if (!options || typeof options !== "object") {
-        options = {
-          loose: !!options,
-          includePrerelease: false
-        };
+        return false;
       }
-      if (range instanceof Range2) {
-        if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
-          return range;
+      /**
+       * Delay a calculated time between retries.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param abortSignal -
+       */
+      async delay(isPrimaryRetry, attempt, abortSignal) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (this.retryOptions.retryPolicyType) {
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
+              break;
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = this.retryOptions.retryDelayInMs;
+              break;
+          }
         } else {
-          return new Range2(range.raw, options);
+          delayTimeInMs = Math.random() * 1e3;
         }
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
       }
-      if (range instanceof Comparator) {
-        return new Range2(range.value, options);
-      }
-      if (!(this instanceof Range2)) {
-        return new Range2(range, options);
+    };
+    exports2.StorageRetryPolicy = StorageRetryPolicy;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js
+var require_StorageRetryPolicyFactory = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy();
+    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
+      return StorageRetryPolicy_js_1.StorageRetryPolicy;
+    } });
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
+    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
+      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
+    } });
+    var StorageRetryPolicyFactory = class {
+      retryOptions;
+      /**
+       * Creates an instance of StorageRetryPolicyFactory.
+       * @param retryOptions -
+       */
+      constructor(retryOptions) {
+        this.retryOptions = retryOptions;
       }
-      this.options = options;
-      this.loose = !!options.loose;
-      this.includePrerelease = !!options.includePrerelease;
-      this.raw = range.trim().split(/\s+/).join(" ");
-      this.set = this.raw.split("||").map(function(range2) {
-        return this.parseRange(range2.trim());
-      }, this).filter(function(c) {
-        return c.length;
-      });
-      if (!this.set.length) {
-        throw new TypeError("Invalid SemVer Range: " + this.raw);
+      /**
+       * Creates a StorageRetryPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
       }
-      this.format();
-    }
-    Range2.prototype.format = function() {
-      this.range = this.set.map(function(comps) {
-        return comps.join(" ").trim();
-      }).join("||").trim();
-      return this.range;
-    };
-    Range2.prototype.toString = function() {
-      return this.range;
     };
-    Range2.prototype.parseRange = function(range) {
-      var loose = this.options.loose;
-      var hr = loose ? safeRe[t.HYPHENRANGELOOSE] : safeRe[t.HYPHENRANGE];
-      range = range.replace(hr, hyphenReplace);
-      debug4("hyphen replace", range);
-      range = range.replace(safeRe[t.COMPARATORTRIM], comparatorTrimReplace);
-      debug4("comparator trim", range, safeRe[t.COMPARATORTRIM]);
-      range = range.replace(safeRe[t.TILDETRIM], tildeTrimReplace);
-      range = range.replace(safeRe[t.CARETTRIM], caretTrimReplace);
-      range = range.split(/\s+/).join(" ");
-      var compRe = loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR];
-      var set2 = range.split(" ").map(function(comp) {
-        return parseComparator(comp, this.options);
-      }, this).join(" ").split(/\s+/);
-      if (this.options.loose) {
-        set2 = set2.filter(function(comp) {
-          return !!comp.match(compRe);
-        });
+    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js
+var require_CredentialPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.CredentialPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * Sends out request.
+       *
+       * @param request -
+       */
+      sendRequest(request2) {
+        return this._nextPolicy.sendRequest(this.signRequest(request2));
       }
-      set2 = set2.map(function(comp) {
-        return new Comparator(comp, this.options);
-      }, this);
-      return set2;
-    };
-    Range2.prototype.intersects = function(range, options) {
-      if (!(range instanceof Range2)) {
-        throw new TypeError("a Range is required");
+      /**
+       * Child classes must implement this method with request signing. This method
+       * will be executed in {@link sendRequest}.
+       *
+       * @param request -
+       */
+      signRequest(request2) {
+        return request2;
       }
-      return this.set.some(function(thisComparators) {
-        return isSatisfiable(thisComparators, options) && range.set.some(function(rangeComparators) {
-          return isSatisfiable(rangeComparators, options) && thisComparators.every(function(thisComparator) {
-            return rangeComparators.every(function(rangeComparator) {
-              return thisComparator.intersects(rangeComparator, options);
-            });
-          });
-        });
-      });
     };
-    function isSatisfiable(comparators, options) {
-      var result = true;
-      var remainingComparators = comparators.slice();
-      var testComparator = remainingComparators.pop();
-      while (result && remainingComparators.length) {
-        result = remainingComparators.every(function(otherComparator) {
-          return testComparator.intersects(otherComparator, options);
-        });
-        testComparator = remainingComparators.pop();
-      }
-      return result;
-    }
-    exports2.toComparators = toComparators;
-    function toComparators(range, options) {
-      return new Range2(range, options).set.map(function(comp) {
-        return comp.map(function(c) {
-          return c.value;
-        }).join(" ").trim().split(" ");
-      });
-    }
-    function parseComparator(comp, options) {
-      debug4("comp", comp, options);
-      comp = replaceCarets(comp, options);
-      debug4("caret", comp);
-      comp = replaceTildes(comp, options);
-      debug4("tildes", comp);
-      comp = replaceXRanges(comp, options);
-      debug4("xrange", comp);
-      comp = replaceStars(comp, options);
-      debug4("stars", comp);
-      return comp;
-    }
-    function isX(id) {
-      return !id || id.toLowerCase() === "x" || id === "*";
-    }
-    function replaceTildes(comp, options) {
-      return comp.trim().split(/\s+/).map(function(comp2) {
-        return replaceTilde(comp2, options);
-      }).join(" ");
+    exports2.CredentialPolicy = CredentialPolicy;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js
+var require_SharedKeyComparator = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.compareHeader = compareHeader;
+    var table_lv0 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1820,
+      0,
+      1823,
+      1825,
+      1827,
+      1829,
+      0,
+      0,
+      0,
+      1837,
+      2051,
+      0,
+      0,
+      1843,
+      0,
+      3331,
+      3354,
+      3356,
+      3358,
+      3360,
+      3362,
+      3364,
+      3366,
+      3368,
+      3370,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      0,
+      0,
+      1859,
+      1860,
+      1864,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      1868,
+      0,
+      1872,
+      0
+    ]);
+    var table_lv2 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    var table_lv4 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      32786,
+      0,
+      0,
+      0,
+      0,
+      0,
+      33298,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    function compareHeader(lhs, rhs) {
+      if (isLessThan(lhs, rhs))
+        return -1;
+      return 1;
     }
-    function replaceTilde(comp, options) {
-      var r = options.loose ? safeRe[t.TILDELOOSE] : safeRe[t.TILDE];
-      return comp.replace(r, function(_2, M, m, p, pr) {
-        debug4("tilde", comp, _2, M, m, p, pr);
-        var ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
-        } else if (isX(p)) {
-          ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
-        } else if (pr) {
-          debug4("replaceTilde pr", pr);
-          ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
-        } else {
-          ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
+    function isLessThan(lhs, rhs) {
+      const tables = [table_lv0, table_lv2, table_lv4];
+      let curr_level = 0;
+      let i = 0;
+      let j = 0;
+      while (curr_level < tables.length) {
+        if (curr_level === tables.length - 1 && i !== j) {
+          return i > j;
         }
-        debug4("tilde return", ret);
-        return ret;
-      });
-    }
-    function replaceCarets(comp, options) {
-      return comp.trim().split(/\s+/).map(function(comp2) {
-        return replaceCaret(comp2, options);
-      }).join(" ");
-    }
-    function replaceCaret(comp, options) {
-      debug4("caret", comp, options);
-      var r = options.loose ? safeRe[t.CARETLOOSE] : safeRe[t.CARET];
-      return comp.replace(r, function(_2, M, m, p, pr) {
-        debug4("caret", comp, _2, M, m, p, pr);
-        var ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
-        } else if (isX(p)) {
-          if (M === "0") {
-            ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
-          } else {
-            ret = ">=" + M + "." + m + ".0 <" + (+M + 1) + ".0.0";
-          }
-        } else if (pr) {
-          debug4("replaceCaret pr", pr);
-          if (M === "0") {
-            if (m === "0") {
-              ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + m + "." + (+p + 1);
-            } else {
-              ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
-            }
-          } else {
-            ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + (+M + 1) + ".0.0";
-          }
+        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
+        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
+        if (weight1 === 1 && weight2 === 1) {
+          i = 0;
+          j = 0;
+          ++curr_level;
+        } else if (weight1 === weight2) {
+          ++i;
+          ++j;
+        } else if (weight1 === 0) {
+          ++i;
+        } else if (weight2 === 0) {
+          ++j;
         } else {
-          debug4("no pr");
-          if (M === "0") {
-            if (m === "0") {
-              ret = ">=" + M + "." + m + "." + p + " <" + M + "." + m + "." + (+p + 1);
-            } else {
-              ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
-            }
-          } else {
-            ret = ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0";
-          }
-        }
-        debug4("caret return", ret);
-        return ret;
-      });
-    }
-    function replaceXRanges(comp, options) {
-      debug4("replaceXRanges", comp, options);
-      return comp.split(/\s+/).map(function(comp2) {
-        return replaceXRange(comp2, options);
-      }).join(" ");
-    }
-    function replaceXRange(comp, options) {
-      comp = comp.trim();
-      var r = options.loose ? safeRe[t.XRANGELOOSE] : safeRe[t.XRANGE];
-      return comp.replace(r, function(ret, gtlt, M, m, p, pr) {
-        debug4("xRange", comp, ret, gtlt, M, m, p, pr);
-        var xM = isX(M);
-        var xm = xM || isX(m);
-        var xp = xm || isX(p);
-        var anyX = xp;
-        if (gtlt === "=" && anyX) {
-          gtlt = "";
-        }
-        pr = options.includePrerelease ? "-0" : "";
-        if (xM) {
-          if (gtlt === ">" || gtlt === "<") {
-            ret = "<0.0.0-0";
-          } else {
-            ret = "*";
-          }
-        } else if (gtlt && anyX) {
-          if (xm) {
-            m = 0;
-          }
-          p = 0;
-          if (gtlt === ">") {
-            gtlt = ">=";
-            if (xm) {
-              M = +M + 1;
-              m = 0;
-              p = 0;
-            } else {
-              m = +m + 1;
-              p = 0;
-            }
-          } else if (gtlt === "<=") {
-            gtlt = "<";
-            if (xm) {
-              M = +M + 1;
-            } else {
-              m = +m + 1;
-            }
-          }
-          ret = gtlt + M + "." + m + "." + p + pr;
-        } else if (xm) {
-          ret = ">=" + M + ".0.0" + pr + " <" + (+M + 1) + ".0.0" + pr;
-        } else if (xp) {
-          ret = ">=" + M + "." + m + ".0" + pr + " <" + M + "." + (+m + 1) + ".0" + pr;
-        }
-        debug4("xRange return", ret);
-        return ret;
-      });
-    }
-    function replaceStars(comp, options) {
-      debug4("replaceStars", comp, options);
-      return comp.trim().replace(safeRe[t.STAR], "");
-    }
-    function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
-      if (isX(fM)) {
-        from = "";
-      } else if (isX(fm)) {
-        from = ">=" + fM + ".0.0";
-      } else if (isX(fp)) {
-        from = ">=" + fM + "." + fm + ".0";
-      } else {
-        from = ">=" + from;
-      }
-      if (isX(tM)) {
-        to = "";
-      } else if (isX(tm)) {
-        to = "<" + (+tM + 1) + ".0.0";
-      } else if (isX(tp)) {
-        to = "<" + tM + "." + (+tm + 1) + ".0";
-      } else if (tpr) {
-        to = "<=" + tM + "." + tm + "." + tp + "-" + tpr;
-      } else {
-        to = "<=" + to;
-      }
-      return (from + " " + to).trim();
-    }
-    Range2.prototype.test = function(version) {
-      if (!version) {
-        return false;
-      }
-      if (typeof version === "string") {
-        try {
-          version = new SemVer(version, this.options);
-        } catch (er) {
-          return false;
-        }
-      }
-      for (var i2 = 0; i2 < this.set.length; i2++) {
-        if (testSet(this.set[i2], version, this.options)) {
-          return true;
+          return weight1 < weight2;
         }
       }
       return false;
-    };
-    function testSet(set2, version, options) {
-      for (var i2 = 0; i2 < set2.length; i2++) {
-        if (!set2[i2].test(version)) {
-          return false;
-        }
-      }
-      if (version.prerelease.length && !options.includePrerelease) {
-        for (i2 = 0; i2 < set2.length; i2++) {
-          debug4(set2[i2].semver);
-          if (set2[i2].semver === ANY) {
-            continue;
-          }
-          if (set2[i2].semver.prerelease.length > 0) {
-            var allowed = set2[i2].semver;
-            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
-              return true;
-            }
-          }
-        }
-        return false;
-      }
-      return true;
-    }
-    exports2.satisfies = satisfies2;
-    function satisfies2(version, range, options) {
-      try {
-        range = new Range2(range, options);
-      } catch (er) {
-        return false;
-      }
-      return range.test(version);
-    }
-    exports2.maxSatisfying = maxSatisfying;
-    function maxSatisfying(versions, range, options) {
-      var max = null;
-      var maxSV = null;
-      try {
-        var rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
-      }
-      versions.forEach(function(v) {
-        if (rangeObj.test(v)) {
-          if (!max || maxSV.compare(v) === -1) {
-            max = v;
-            maxSV = new SemVer(max, options);
-          }
-        }
-      });
-      return max;
     }
-    exports2.minSatisfying = minSatisfying;
-    function minSatisfying(versions, range, options) {
-      var min = null;
-      var minSV = null;
-      try {
-        var rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
+var require_StorageSharedKeyCredentialPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageSharedKeyCredentialPolicy = void 0;
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    var CredentialPolicy_js_1 = require_CredentialPolicy();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
+    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+      /**
+       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
+       */
+      factory;
+      /**
+       * Creates an instance of StorageSharedKeyCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       * @param factory -
+       */
+      constructor(nextPolicy, options, factory) {
+        super(nextPolicy, options);
+        this.factory = factory;
       }
-      versions.forEach(function(v) {
-        if (rangeObj.test(v)) {
-          if (!min || minSV.compare(v) === 1) {
-            min = v;
-            minSV = new SemVer(min, options);
-          }
+      /**
+       * Signs request.
+       *
+       * @param request -
+       */
+      signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
         }
-      });
-      return min;
-    }
-    exports2.minVersion = minVersion;
-    function minVersion(range, loose) {
-      range = new Range2(range, loose);
-      var minver = new SemVer("0.0.0");
-      if (range.test(minver)) {
-        return minver;
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
+        const signature = this.factory.computeHMACSHA256(stringToSign);
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
+        return request2;
       }
-      minver = new SemVer("0.0.0-0");
-      if (range.test(minver)) {
-        return minver;
+      /**
+       * Retrieve header value according to shared key sign rules.
+       * @see https://learn.microsoft.com/rest/api/storageservices/authenticate-with-shared-key
+       *
+       * @param request -
+       * @param headerName -
+       */
+      getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
+        }
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
+        }
+        return value;
       }
-      minver = null;
-      for (var i2 = 0; i2 < range.set.length; ++i2) {
-        var comparators = range.set[i2];
-        comparators.forEach(function(comparator) {
-          var compver = new SemVer(comparator.semver.version);
-          switch (comparator.operator) {
-            case ">":
-              if (compver.prerelease.length === 0) {
-                compver.patch++;
-              } else {
-                compver.prerelease.push(0);
-              }
-              compver.raw = compver.format();
-            /* fallthrough */
-            case "":
-            case ">=":
-              if (!minver || gt(minver, compver)) {
-                minver = compver;
-              }
-              break;
-            case "<":
-            case "<=":
-              break;
-            /* istanbul ignore next */
-            default:
-              throw new Error("Unexpected operation: " + comparator.operator);
+      /**
+       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
+       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
+       * 2. Convert each HTTP header name to lowercase.
+       * 3. Sort the headers lexicographically by header name, in ascending order.
+       *    Each header may appear only once in the string.
+       * 4. Replace any linear whitespace in the header value with a single space.
+       * 5. Trim any whitespace around the colon in the header.
+       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
+       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
+       *
+       * @param request -
+       */
+      getCanonicalizedHeadersString(request2) {
+        let headersArray = request2.headers.headersArray().filter((value) => {
+          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
+        });
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
           }
+          return true;
         });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
       }
-      if (minver && range.test(minver)) {
-        return minver;
-      }
-      return null;
-    }
-    exports2.validRange = validRange;
-    function validRange(range, options) {
-      try {
-        return new Range2(range, options).range || "*";
-      } catch (er) {
-        return null;
-      }
-    }
-    exports2.ltr = ltr;
-    function ltr(version, range, options) {
-      return outside(version, range, "<", options);
-    }
-    exports2.gtr = gtr;
-    function gtr(version, range, options) {
-      return outside(version, range, ">", options);
-    }
-    exports2.outside = outside;
-    function outside(version, range, hilo, options) {
-      version = new SemVer(version, options);
-      range = new Range2(range, options);
-      var gtfn, ltefn, ltfn, comp, ecomp;
-      switch (hilo) {
-        case ">":
-          gtfn = gt;
-          ltefn = lte;
-          ltfn = lt;
-          comp = ">";
-          ecomp = ">=";
-          break;
-        case "<":
-          gtfn = lt;
-          ltefn = gte6;
-          ltfn = gt;
-          comp = "<";
-          ecomp = "<=";
-          break;
-        default:
-          throw new TypeError('Must provide a hilo val of "<" or ">"');
-      }
-      if (satisfies2(version, range, options)) {
-        return false;
-      }
-      for (var i2 = 0; i2 < range.set.length; ++i2) {
-        var comparators = range.set[i2];
-        var high = null;
-        var low = null;
-        comparators.forEach(function(comparator) {
-          if (comparator.semver === ANY) {
-            comparator = new Comparator(">=0.0.0");
+      /**
+       * Retrieves the webResource canonicalized resource string.
+       *
+       * @param request -
+       */
+      getCanonicalizedResourceString(request2) {
+        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${this.factory.accountName}${path4}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
           }
-          high = high || comparator;
-          low = low || comparator;
-          if (gtfn(comparator.semver, high.semver, options)) {
-            high = comparator;
-          } else if (ltfn(comparator.semver, low.semver, options)) {
-            low = comparator;
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
           }
-        });
-        if (high.operator === comp || high.operator === ecomp) {
-          return false;
-        }
-        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
-          return false;
-        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
-          return false;
         }
+        return canonicalizedResourceString;
       }
-      return true;
-    }
-    exports2.prerelease = prerelease;
-    function prerelease(version, options) {
-      var parsed = parse2(version, options);
-      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
-    }
-    exports2.intersects = intersects;
-    function intersects(r1, r2, options) {
-      r1 = new Range2(r1, options);
-      r2 = new Range2(r2, options);
-      return r1.intersects(r2);
-    }
-    exports2.coerce = coerce3;
-    function coerce3(version, options) {
-      if (version instanceof SemVer) {
-        return version;
-      }
-      if (typeof version === "number") {
-        version = String(version);
+    };
+    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js
+var require_Credential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Credential = void 0;
+    var Credential = class {
+      /**
+       * Creates a RequestPolicy object.
+       *
+       * @param _nextPolicy -
+       * @param _options -
+       */
+      create(_nextPolicy, _options) {
+        throw new Error("Method should be implemented in children classes.");
       }
-      if (typeof version !== "string") {
-        return null;
+    };
+    exports2.Credential = Credential;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js
+var require_StorageSharedKeyCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageSharedKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy();
+    var Credential_js_1 = require_Credential();
+    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
+      /**
+       * Azure Storage account name; readonly.
+       */
+      accountName;
+      /**
+       * Azure Storage account key; readonly.
+       */
+      accountKey;
+      /**
+       * Creates an instance of StorageSharedKeyCredential.
+       * @param accountName -
+       * @param accountKey -
+       */
+      constructor(accountName, accountKey) {
+        super();
+        this.accountName = accountName;
+        this.accountKey = Buffer.from(accountKey, "base64");
       }
-      options = options || {};
-      var match = null;
-      if (!options.rtl) {
-        match = version.match(safeRe[t.COERCE]);
-      } else {
-        var next;
-        while ((next = safeRe[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
-          if (!match || next.index + next[0].length !== match.index + match[0].length) {
-            match = next;
-          }
-          safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
-        }
-        safeRe[t.COERCERTL].lastIndex = -1;
+      /**
+       * Creates a StorageSharedKeyCredentialPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
       }
-      if (match === null) {
-        return null;
+      /**
+       * Generates a hash signature for an HTTP request or for a SAS.
+       *
+       * @param stringToSign -
+       */
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
       }
-      return parse2(match[2] + "." + (match[3] || "0") + "." + (match[4] || "0"), options);
-    }
+    };
+    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/constants.js
-var require_constants12 = __commonJS({
-  "node_modules/@actions/cache/lib/internal/constants.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js
+var require_AnonymousCredentialPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheFileSizeLimit = exports2.ManifestFilename = exports2.TarFilename = exports2.SystemTarPathOnWindows = exports2.GnuTarPathOnWindows = exports2.SocketTimeout = exports2.DefaultRetryDelay = exports2.DefaultRetryAttempts = exports2.ArchiveToolType = exports2.CompressionMethod = exports2.CacheFilename = void 0;
-    var CacheFilename;
-    (function(CacheFilename2) {
-      CacheFilename2["Gzip"] = "cache.tgz";
-      CacheFilename2["Zstd"] = "cache.tzst";
-    })(CacheFilename || (exports2.CacheFilename = CacheFilename = {}));
-    var CompressionMethod;
-    (function(CompressionMethod2) {
-      CompressionMethod2["Gzip"] = "gzip";
-      CompressionMethod2["ZstdWithoutLong"] = "zstd-without-long";
-      CompressionMethod2["Zstd"] = "zstd";
-    })(CompressionMethod || (exports2.CompressionMethod = CompressionMethod = {}));
-    var ArchiveToolType;
-    (function(ArchiveToolType2) {
-      ArchiveToolType2["GNU"] = "gnu";
-      ArchiveToolType2["BSD"] = "bsd";
-    })(ArchiveToolType || (exports2.ArchiveToolType = ArchiveToolType = {}));
-    exports2.DefaultRetryAttempts = 2;
-    exports2.DefaultRetryDelay = 5e3;
-    exports2.SocketTimeout = 5e3;
-    exports2.GnuTarPathOnWindows = `${process.env["PROGRAMFILES"]}\\Git\\usr\\bin\\tar.exe`;
-    exports2.SystemTarPathOnWindows = `${process.env["SYSTEMDRIVE"]}\\Windows\\System32\\tar.exe`;
-    exports2.TarFilename = "cache.tar";
-    exports2.ManifestFilename = "manifest.txt";
-    exports2.CacheFileSizeLimit = 10 * Math.pow(1024, 3);
+    exports2.AnonymousCredentialPolicy = void 0;
+    var CredentialPolicy_js_1 = require_CredentialPolicy();
+    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+      /**
+       * Creates an instance of AnonymousCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       */
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
+      }
+    };
+    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/cacheUtils.js
-var require_cacheUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/cacheUtils.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js
+var require_AnonymousCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AnonymousCredential = void 0;
+    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy();
+    var Credential_js_1 = require_Credential();
+    var AnonymousCredential = class extends Credential_js_1.Credential {
+      /**
+       * Creates an {@link AnonymousCredentialPolicy} object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+    };
+    exports2.AnonymousCredential = AnonymousCredential;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js
+var require_BuffersStream = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BuffersStream = void 0;
+    var node_stream_1 = require("node:stream");
+    var BuffersStream = class extends node_stream_1.Readable {
+      buffers;
+      byteLength;
+      /**
+       * The offset of data to be read in the current buffer.
+       */
+      byteOffsetInCurrentBuffer;
+      /**
+       * The index of buffer to be read in the array of buffers.
+       */
+      bufferIndex;
+      /**
+       * The total length of data already read.
+       */
+      pushedBytesLength;
+      /**
+       * Creates an instance of BuffersStream that will emit the data
+       * contained in the array of buffers.
+       *
+       * @param buffers - Array of buffers containing the data
+       * @param byteLength - The total length of data contained in the buffers
+       */
+      constructor(buffers, byteLength, options) {
+        super(options);
+        this.buffers = buffers;
+        this.byteLength = byteLength;
+        this.byteOffsetInCurrentBuffer = 0;
+        this.bufferIndex = 0;
+        this.pushedBytesLength = 0;
+        let buffersLength = 0;
+        for (const buf of this.buffers) {
+          buffersLength += buf.byteLength;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+        if (buffersLength < this.byteLength) {
+          throw new Error("Data size shouldn't be larger than the total length of buffers.");
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+      }
+      /**
+       * Internal _read() that will be called when the stream wants to pull more data in.
+       *
+       * @param size - Optional. The size of data to be read
+       */
+      _read(size) {
+        if (this.pushedBytesLength >= this.byteLength) {
+          this.push(null);
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (!size) {
+          size = this.readableHighWaterMark;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    var __asyncValues2 = exports2 && exports2.__asyncValues || function(o) {
-      if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-      var m = o[Symbol.asyncIterator], i;
-      return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
-        return this;
-      }, i);
-      function verb(n) {
-        i[n] = o[n] && function(v) {
-          return new Promise(function(resolve3, reject) {
-            v = o[n](v), settle(resolve3, reject, v.done, v.value);
-          });
-        };
-      }
-      function settle(resolve3, reject, d, v) {
-        Promise.resolve(v).then(function(v2) {
-          resolve3({ value: v2, done: d });
-        }, reject);
-      }
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createTempDirectory = createTempDirectory;
-    exports2.getArchiveFileSizeInBytes = getArchiveFileSizeInBytes;
-    exports2.resolvePaths = resolvePaths;
-    exports2.unlinkFile = unlinkFile;
-    exports2.getCompressionMethod = getCompressionMethod;
-    exports2.getCacheFileName = getCacheFileName;
-    exports2.getGnuTarPathOnWindows = getGnuTarPathOnWindows;
-    exports2.assertDefined = assertDefined;
-    exports2.getCacheVersion = getCacheVersion;
-    exports2.getRuntimeToken = getRuntimeToken;
-    var core14 = __importStar2(require_core());
-    var exec3 = __importStar2(require_exec());
-    var glob2 = __importStar2(require_glob());
-    var io6 = __importStar2(require_io());
-    var crypto2 = __importStar2(require("crypto"));
-    var fs3 = __importStar2(require("fs"));
-    var path4 = __importStar2(require("path"));
-    var semver9 = __importStar2(require_semver3());
-    var util = __importStar2(require("util"));
-    var constants_1 = require_constants12();
-    var versionSalt = "1.0";
-    function createTempDirectory() {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const IS_WINDOWS = process.platform === "win32";
-        let tempDirectory = process.env["RUNNER_TEMP"] || "";
-        if (!tempDirectory) {
-          let baseLocation;
-          if (IS_WINDOWS) {
-            baseLocation = process.env["USERPROFILE"] || "C:\\";
+        const outBuffers = [];
+        let i = 0;
+        while (i < size && this.pushedBytesLength < this.byteLength) {
+          const remainingDataInAllBuffers = this.byteLength - this.pushedBytesLength;
+          const remainingCapacityInThisBuffer = this.buffers[this.bufferIndex].byteLength - this.byteOffsetInCurrentBuffer;
+          const remaining = Math.min(remainingCapacityInThisBuffer, remainingDataInAllBuffers);
+          if (remaining > size - i) {
+            const end = this.byteOffsetInCurrentBuffer + size - i;
+            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
+            this.pushedBytesLength += size - i;
+            this.byteOffsetInCurrentBuffer = end;
+            i = size;
+            break;
           } else {
-            if (process.platform === "darwin") {
-              baseLocation = "/Users";
+            const end = this.byteOffsetInCurrentBuffer + remaining;
+            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
+            if (remaining === remainingCapacityInThisBuffer) {
+              this.byteOffsetInCurrentBuffer = 0;
+              this.bufferIndex++;
             } else {
-              baseLocation = "/home";
+              this.byteOffsetInCurrentBuffer = end;
             }
+            this.pushedBytesLength += remaining;
+            i += remaining;
           }
-          tempDirectory = path4.join(baseLocation, "actions", "temp");
         }
-        const dest = path4.join(tempDirectory, crypto2.randomUUID());
-        yield io6.mkdirP(dest);
-        return dest;
-      });
-    }
-    function getArchiveFileSizeInBytes(filePath) {
-      return fs3.statSync(filePath).size;
-    }
-    function resolvePaths(patterns) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a, e_1, _b, _c;
-        var _d;
-        const paths = [];
-        const workspace = (_d = process.env["GITHUB_WORKSPACE"]) !== null && _d !== void 0 ? _d : process.cwd();
-        const globber = yield glob2.create(patterns.join("\n"), {
-          implicitDescendants: false
-        });
-        try {
-          for (var _e = true, _f = __asyncValues2(globber.globGenerator()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
-            _c = _g.value;
-            _e = false;
-            const file = _c;
-            const relativeFile = path4.relative(workspace, file).replace(new RegExp(`\\${path4.sep}`, "g"), "/");
-            core14.debug(`Matched: ${relativeFile}`);
-            if (relativeFile === "") {
-              paths.push(".");
-            } else {
-              paths.push(`${relativeFile}`);
-            }
-          }
-        } catch (e_1_1) {
-          e_1 = { error: e_1_1 };
-        } finally {
-          try {
-            if (!_e && !_a && (_b = _f.return)) yield _b.call(_f);
-          } finally {
-            if (e_1) throw e_1.error;
+        if (outBuffers.length > 1) {
+          this.push(Buffer.concat(outBuffers));
+        } else if (outBuffers.length === 1) {
+          this.push(outBuffers[0]);
+        }
+      }
+    };
+    exports2.BuffersStream = BuffersStream;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js
+var require_PooledBuffer = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PooledBuffer = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var BuffersStream_js_1 = require_BuffersStream();
+    var node_buffer_1 = tslib_1.__importDefault(require("node:buffer"));
+    var maxBufferLength = node_buffer_1.default.constants.MAX_LENGTH;
+    var PooledBuffer = class {
+      /**
+       * Internal buffers used to keep the data.
+       * Each buffer has a length of the maxBufferLength except last one.
+       */
+      buffers = [];
+      /**
+       * The total size of internal buffers.
+       */
+      capacity;
+      /**
+       * The total size of data contained in internal buffers.
+       */
+      _size;
+      /**
+       * The size of the data contained in the pooled buffers.
+       */
+      get size() {
+        return this._size;
+      }
+      constructor(capacity, buffers, totalLength) {
+        this.capacity = capacity;
+        this._size = 0;
+        const bufferNum = Math.ceil(capacity / maxBufferLength);
+        for (let i = 0; i < bufferNum; i++) {
+          let len = i === bufferNum - 1 ? capacity % maxBufferLength : maxBufferLength;
+          if (len === 0) {
+            len = maxBufferLength;
           }
+          this.buffers.push(Buffer.allocUnsafe(len));
         }
-        return paths;
-      });
-    }
-    function unlinkFile(filePath) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        return util.promisify(fs3.unlink)(filePath);
-      });
-    }
-    function getVersion(app_1) {
-      return __awaiter2(this, arguments, void 0, function* (app, additionalArgs = []) {
-        let versionOutput = "";
-        additionalArgs.push("--version");
-        core14.debug(`Checking ${app} ${additionalArgs.join(" ")}`);
-        try {
-          yield exec3.exec(`${app}`, additionalArgs, {
-            ignoreReturnCode: true,
-            silent: true,
-            listeners: {
-              stdout: (data) => versionOutput += data.toString(),
-              stderr: (data) => versionOutput += data.toString()
-            }
-          });
-        } catch (err) {
-          core14.debug(err.message);
+        if (buffers) {
+          this.fill(buffers, totalLength);
         }
-        versionOutput = versionOutput.trim();
-        core14.debug(versionOutput);
-        return versionOutput;
-      });
-    }
-    function getCompressionMethod() {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const versionOutput = yield getVersion("zstd", ["--quiet"]);
-        const version = semver9.clean(versionOutput);
-        core14.debug(`zstd version: ${version}`);
-        if (versionOutput === "") {
-          return constants_1.CompressionMethod.Gzip;
-        } else {
-          return constants_1.CompressionMethod.ZstdWithoutLong;
+      }
+      /**
+       * Fill the internal buffers with data in the input buffers serially
+       * with respect to the total length and the total capacity of the internal buffers.
+       * Data copied will be shift out of the input buffers.
+       *
+       * @param buffers - Input buffers containing the data to be filled in the pooled buffer
+       * @param totalLength - Total length of the data to be filled in.
+       *
+       */
+      fill(buffers, totalLength) {
+        this._size = Math.min(this.capacity, totalLength);
+        let i = 0, j = 0, targetOffset = 0, sourceOffset = 0, totalCopiedNum = 0;
+        while (totalCopiedNum < this._size) {
+          const source = buffers[i];
+          const target = this.buffers[j];
+          const copiedNum = source.copy(target, targetOffset, sourceOffset);
+          totalCopiedNum += copiedNum;
+          sourceOffset += copiedNum;
+          targetOffset += copiedNum;
+          if (sourceOffset === source.length) {
+            i++;
+            sourceOffset = 0;
+          }
+          if (targetOffset === target.length) {
+            j++;
+            targetOffset = 0;
+          }
         }
-      });
-    }
-    function getCacheFileName(compressionMethod) {
-      return compressionMethod === constants_1.CompressionMethod.Gzip ? constants_1.CacheFilename.Gzip : constants_1.CacheFilename.Zstd;
-    }
-    function getGnuTarPathOnWindows() {
-      return __awaiter2(this, void 0, void 0, function* () {
-        if (fs3.existsSync(constants_1.GnuTarPathOnWindows)) {
-          return constants_1.GnuTarPathOnWindows;
+        buffers.splice(0, i);
+        if (buffers.length > 0) {
+          buffers[0] = buffers[0].slice(sourceOffset);
         }
-        const versionOutput = yield getVersion("tar");
-        return versionOutput.toLowerCase().includes("gnu tar") ? io6.which("tar") : "";
-      });
-    }
-    function assertDefined(name, value) {
-      if (value === void 0) {
-        throw Error(`Expected ${name} but value was undefiend`);
-      }
-      return value;
-    }
-    function getCacheVersion(paths, compressionMethod, enableCrossOsArchive = false) {
-      const components = paths.slice();
-      if (compressionMethod) {
-        components.push(compressionMethod);
-      }
-      if (process.platform === "win32" && !enableCrossOsArchive) {
-        components.push("windows-only");
       }
-      components.push(versionSalt);
-      return crypto2.createHash("sha256").update(components.join("|")).digest("hex");
-    }
-    function getRuntimeToken() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
-      if (!token) {
-        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
+      /**
+       * Get the readable stream assembled from all the data in the internal buffers.
+       *
+       */
+      getReadableStream() {
+        return new BuffersStream_js_1.BuffersStream(this.buffers, this.size);
       }
-      return token;
-    }
+    };
+    exports2.PooledBuffer = PooledBuffer;
   }
 });
 
-// node_modules/tslib/tslib.es6.mjs
-var tslib_es6_exports = {};
-__export(tslib_es6_exports, {
-  __addDisposableResource: () => __addDisposableResource,
-  __assign: () => __assign,
-  __asyncDelegator: () => __asyncDelegator,
-  __asyncGenerator: () => __asyncGenerator,
-  __asyncValues: () => __asyncValues,
-  __await: () => __await,
-  __awaiter: () => __awaiter,
-  __classPrivateFieldGet: () => __classPrivateFieldGet,
-  __classPrivateFieldIn: () => __classPrivateFieldIn,
-  __classPrivateFieldSet: () => __classPrivateFieldSet,
-  __createBinding: () => __createBinding,
-  __decorate: () => __decorate,
-  __disposeResources: () => __disposeResources,
-  __esDecorate: () => __esDecorate,
-  __exportStar: () => __exportStar,
-  __extends: () => __extends,
-  __generator: () => __generator,
-  __importDefault: () => __importDefault,
-  __importStar: () => __importStar,
-  __makeTemplateObject: () => __makeTemplateObject,
-  __metadata: () => __metadata,
-  __param: () => __param,
-  __propKey: () => __propKey,
-  __read: () => __read,
-  __rest: () => __rest,
-  __rewriteRelativeImportExtension: () => __rewriteRelativeImportExtension,
-  __runInitializers: () => __runInitializers,
-  __setFunctionName: () => __setFunctionName,
-  __spread: () => __spread,
-  __spreadArray: () => __spreadArray,
-  __spreadArrays: () => __spreadArrays,
-  __values: () => __values2,
-  default: () => tslib_es6_default
-});
-function __extends(d, b) {
-  if (typeof b !== "function" && b !== null)
-    throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
-  extendStatics(d, b);
-  function __() {
-    this.constructor = d;
-  }
-  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
-}
-function __rest(s, e) {
-  var t = {};
-  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
-    t[p] = s[p];
-  if (s != null && typeof Object.getOwnPropertySymbols === "function")
-    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
-      if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
-        t[p[i]] = s[p[i]];
-    }
-  return t;
-}
-function __decorate(decorators, target, key, desc) {
-  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
-  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
-  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
-  return c > 3 && r && Object.defineProperty(target, key, r), r;
-}
-function __param(paramIndex, decorator) {
-  return function(target, key) {
-    decorator(target, key, paramIndex);
-  };
-}
-function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
-  function accept(f) {
-    if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
-    return f;
-  }
-  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
-  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
-  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
-  var _2, done = false;
-  for (var i = decorators.length - 1; i >= 0; i--) {
-    var context2 = {};
-    for (var p in contextIn) context2[p] = p === "access" ? {} : contextIn[p];
-    for (var p in contextIn.access) context2.access[p] = contextIn.access[p];
-    context2.addInitializer = function(f) {
-      if (done) throw new TypeError("Cannot add initializers after decoration has completed");
-      extraInitializers.push(accept(f || null));
-    };
-    var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context2);
-    if (kind === "accessor") {
-      if (result === void 0) continue;
-      if (result === null || typeof result !== "object") throw new TypeError("Object expected");
-      if (_2 = accept(result.get)) descriptor.get = _2;
-      if (_2 = accept(result.set)) descriptor.set = _2;
-      if (_2 = accept(result.init)) initializers.unshift(_2);
-    } else if (_2 = accept(result)) {
-      if (kind === "field") initializers.unshift(_2);
-      else descriptor[key] = _2;
-    }
-  }
-  if (target) Object.defineProperty(target, contextIn.name, descriptor);
-  done = true;
-}
-function __runInitializers(thisArg, initializers, value) {
-  var useValue = arguments.length > 2;
-  for (var i = 0; i < initializers.length; i++) {
-    value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
-  }
-  return useValue ? value : void 0;
-}
-function __propKey(x) {
-  return typeof x === "symbol" ? x : "".concat(x);
-}
-function __setFunctionName(f, name, prefix) {
-  if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
-  return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
-}
-function __metadata(metadataKey, metadataValue) {
-  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
-}
-function __awaiter(thisArg, _arguments, P, generator) {
-  function adopt(value) {
-    return value instanceof P ? value : new P(function(resolve3) {
-      resolve3(value);
-    });
-  }
-  return new (P || (P = Promise))(function(resolve3, reject) {
-    function fulfilled(value) {
-      try {
-        step(generator.next(value));
-      } catch (e) {
-        reject(e);
+// node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js
+var require_BufferScheduler = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BufferScheduler = void 0;
+    var events_1 = require("events");
+    var PooledBuffer_js_1 = require_PooledBuffer();
+    var BufferScheduler = class {
+      /**
+       * Size of buffers in incoming and outgoing queues. This class will try to align
+       * data read from Readable stream into buffer chunks with bufferSize defined.
+       */
+      bufferSize;
+      /**
+       * How many buffers can be created or maintained.
+       */
+      maxBuffers;
+      /**
+       * A Node.js Readable stream.
+       */
+      readable;
+      /**
+       * OutgoingHandler is an async function triggered by BufferScheduler when there
+       * are available buffers in outgoing array.
+       */
+      outgoingHandler;
+      /**
+       * An internal event emitter.
+       */
+      emitter = new events_1.EventEmitter();
+      /**
+       * Concurrency of executing outgoingHandlers. (0 lesser than concurrency lesser than or equal to maxBuffers)
+       */
+      concurrency;
+      /**
+       * An internal offset marker to track data offset in bytes of next outgoingHandler.
+       */
+      offset = 0;
+      /**
+       * An internal marker to track whether stream is end.
+       */
+      isStreamEnd = false;
+      /**
+       * An internal marker to track whether stream or outgoingHandler returns error.
+       */
+      isError = false;
+      /**
+       * How many handlers are executing.
+       */
+      executingOutgoingHandlers = 0;
+      /**
+       * Encoding of the input Readable stream which has string data type instead of Buffer.
+       */
+      encoding;
+      /**
+       * How many buffers have been allocated.
+       */
+      numBuffers = 0;
+      /**
+       * Because this class doesn't know how much data every time stream pops, which
+       * is defined by highWaterMarker of the stream. So BufferScheduler will cache
+       * data received from the stream, when data in unresolvedDataArray exceeds the
+       * blockSize defined, it will try to concat a blockSize of buffer, fill into available
+       * buffers from incoming and push to outgoing array.
+       */
+      unresolvedDataArray = [];
+      /**
+       * How much data consisted in unresolvedDataArray.
+       */
+      unresolvedLength = 0;
+      /**
+       * The array includes all the available buffers can be used to fill data from stream.
+       */
+      incoming = [];
+      /**
+       * The array (queue) includes all the buffers filled from stream data.
+       */
+      outgoing = [];
+      /**
+       * Creates an instance of BufferScheduler.
+       *
+       * @param readable - A Node.js Readable stream
+       * @param bufferSize - Buffer size of every maintained buffer
+       * @param maxBuffers - How many buffers can be allocated
+       * @param outgoingHandler - An async function scheduled to be
+       *                                          triggered when a buffer fully filled
+       *                                          with stream data
+       * @param concurrency - Concurrency of executing outgoingHandlers (>0)
+       * @param encoding - [Optional] Encoding of Readable stream when it's a string stream
+       */
+      constructor(readable, bufferSize, maxBuffers, outgoingHandler, concurrency, encoding) {
+        if (bufferSize <= 0) {
+          throw new RangeError(`bufferSize must be larger than 0, current is ${bufferSize}`);
+        }
+        if (maxBuffers <= 0) {
+          throw new RangeError(`maxBuffers must be larger than 0, current is ${maxBuffers}`);
+        }
+        if (concurrency <= 0) {
+          throw new RangeError(`concurrency must be larger than 0, current is ${concurrency}`);
+        }
+        this.bufferSize = bufferSize;
+        this.maxBuffers = maxBuffers;
+        this.readable = readable;
+        this.outgoingHandler = outgoingHandler;
+        this.concurrency = concurrency;
+        this.encoding = encoding;
+      }
+      /**
+       * Start the scheduler, will return error when stream of any of the outgoingHandlers
+       * returns error.
+       *
+       */
+      async do() {
+        return new Promise((resolve3, reject) => {
+          this.readable.on("data", (data) => {
+            data = typeof data === "string" ? Buffer.from(data, this.encoding) : data;
+            this.appendUnresolvedData(data);
+            if (!this.resolveData()) {
+              this.readable.pause();
+            }
+          });
+          this.readable.on("error", (err) => {
+            this.emitter.emit("error", err);
+          });
+          this.readable.on("end", () => {
+            this.isStreamEnd = true;
+            this.emitter.emit("checkEnd");
+          });
+          this.emitter.on("error", (err) => {
+            this.isError = true;
+            this.readable.pause();
+            reject(err);
+          });
+          this.emitter.on("checkEnd", () => {
+            if (this.outgoing.length > 0) {
+              this.triggerOutgoingHandlers();
+              return;
+            }
+            if (this.isStreamEnd && this.executingOutgoingHandlers === 0) {
+              if (this.unresolvedLength > 0 && this.unresolvedLength < this.bufferSize) {
+                const buffer = this.shiftBufferFromUnresolvedDataArray();
+                this.outgoingHandler(() => buffer.getReadableStream(), buffer.size, this.offset).then(resolve3).catch(reject);
+              } else if (this.unresolvedLength >= this.bufferSize) {
+                return;
+              } else {
+                resolve3();
+              }
+            }
+          });
+        });
+      }
+      /**
+       * Insert a new data into unresolved array.
+       *
+       * @param data -
+       */
+      appendUnresolvedData(data) {
+        this.unresolvedDataArray.push(data);
+        this.unresolvedLength += data.length;
       }
-    }
-    function rejected(value) {
-      try {
-        step(generator["throw"](value));
-      } catch (e) {
-        reject(e);
+      /**
+       * Try to shift a buffer with size in blockSize. The buffer returned may be less
+       * than blockSize when data in unresolvedDataArray is less than bufferSize.
+       *
+       */
+      shiftBufferFromUnresolvedDataArray(buffer) {
+        if (!buffer) {
+          buffer = new PooledBuffer_js_1.PooledBuffer(this.bufferSize, this.unresolvedDataArray, this.unresolvedLength);
+        } else {
+          buffer.fill(this.unresolvedDataArray, this.unresolvedLength);
+        }
+        this.unresolvedLength -= buffer.size;
+        return buffer;
       }
-    }
-    function step(result) {
-      result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-    }
-    step((generator = generator.apply(thisArg, _arguments || [])).next());
-  });
-}
-function __generator(thisArg, body) {
-  var _2 = { label: 0, sent: function() {
-    if (t[0] & 1) throw t[1];
-    return t[1];
-  }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
-  return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
-    return this;
-  }), g;
-  function verb(n) {
-    return function(v) {
-      return step([n, v]);
-    };
-  }
-  function step(op) {
-    if (f) throw new TypeError("Generator is already executing.");
-    while (g && (g = 0, op[0] && (_2 = 0)), _2) try {
-      if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
-      if (y = 0, t) op = [op[0] & 2, t.value];
-      switch (op[0]) {
-        case 0:
-        case 1:
-          t = op;
-          break;
-        case 4:
-          _2.label++;
-          return { value: op[1], done: false };
-        case 5:
-          _2.label++;
-          y = op[1];
-          op = [0];
-          continue;
-        case 7:
-          op = _2.ops.pop();
-          _2.trys.pop();
-          continue;
-        default:
-          if (!(t = _2.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
-            _2 = 0;
-            continue;
-          }
-          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
-            _2.label = op[1];
-            break;
+      /**
+       * Resolve data in unresolvedDataArray. For every buffer with size in blockSize
+       * shifted, it will try to get (or allocate a buffer) from incoming, and fill it,
+       * then push it into outgoing to be handled by outgoing handler.
+       *
+       * Return false when available buffers in incoming are not enough, else true.
+       *
+       * @returns Return false when buffers in incoming are not enough, else true.
+       */
+      resolveData() {
+        while (this.unresolvedLength >= this.bufferSize) {
+          let buffer;
+          if (this.incoming.length > 0) {
+            buffer = this.incoming.shift();
+            this.shiftBufferFromUnresolvedDataArray(buffer);
+          } else {
+            if (this.numBuffers < this.maxBuffers) {
+              buffer = this.shiftBufferFromUnresolvedDataArray();
+              this.numBuffers++;
+            } else {
+              return false;
+            }
           }
-          if (op[0] === 6 && _2.label < t[1]) {
-            _2.label = t[1];
-            t = op;
-            break;
+          this.outgoing.push(buffer);
+          this.triggerOutgoingHandlers();
+        }
+        return true;
+      }
+      /**
+       * Try to trigger a outgoing handler for every buffer in outgoing. Stop when
+       * concurrency reaches.
+       */
+      async triggerOutgoingHandlers() {
+        let buffer;
+        do {
+          if (this.executingOutgoingHandlers >= this.concurrency) {
+            return;
           }
-          if (t && _2.label < t[2]) {
-            _2.label = t[2];
-            _2.ops.push(op);
-            break;
+          buffer = this.outgoing.shift();
+          if (buffer) {
+            this.triggerOutgoingHandler(buffer);
           }
-          if (t[2]) _2.ops.pop();
-          _2.trys.pop();
-          continue;
+        } while (buffer);
       }
-      op = body.call(thisArg, _2);
-    } catch (e) {
-      op = [6, e];
-      y = 0;
-    } finally {
-      f = t = 0;
-    }
-    if (op[0] & 5) throw op[1];
-    return { value: op[0] ? op[1] : void 0, done: true };
-  }
-}
-function __exportStar(m, o) {
-  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
-}
-function __values2(o) {
-  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
-  if (m) return m.call(o);
-  if (o && typeof o.length === "number") return {
-    next: function() {
-      if (o && i >= o.length) o = void 0;
-      return { value: o && o[i++], done: !o };
-    }
-  };
-  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
-}
-function __read(o, n) {
-  var m = typeof Symbol === "function" && o[Symbol.iterator];
-  if (!m) return o;
-  var i = m.call(o), r, ar = [], e;
-  try {
-    while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
-  } catch (error3) {
-    e = { error: error3 };
-  } finally {
-    try {
-      if (r && !r.done && (m = i["return"])) m.call(i);
-    } finally {
-      if (e) throw e.error;
-    }
-  }
-  return ar;
-}
-function __spread() {
-  for (var ar = [], i = 0; i < arguments.length; i++)
-    ar = ar.concat(__read(arguments[i]));
-  return ar;
-}
-function __spreadArrays() {
-  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
-  for (var r = Array(s), k = 0, i = 0; i < il; i++)
-    for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
-      r[k] = a[j];
-  return r;
-}
-function __spreadArray(to, from, pack) {
-  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
-    if (ar || !(i in from)) {
-      if (!ar) ar = Array.prototype.slice.call(from, 0, i);
-      ar[i] = from[i];
-    }
-  }
-  return to.concat(ar || Array.prototype.slice.call(from));
-}
-function __await(v) {
-  return this instanceof __await ? (this.v = v, this) : new __await(v);
-}
-function __asyncGenerator(thisArg, _arguments, generator) {
-  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-  var g = generator.apply(thisArg, _arguments || []), i, q = [];
-  return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
-    return this;
-  }, i;
-  function awaitReturn(f) {
-    return function(v) {
-      return Promise.resolve(v).then(f, reject);
-    };
-  }
-  function verb(n, f) {
-    if (g[n]) {
-      i[n] = function(v) {
-        return new Promise(function(a, b) {
-          q.push([n, v, a, b]) > 1 || resume(n, v);
-        });
-      };
-      if (f) i[n] = f(i[n]);
-    }
-  }
-  function resume(n, v) {
-    try {
-      step(g[n](v));
-    } catch (e) {
-      settle(q[0][3], e);
-    }
-  }
-  function step(r) {
-    r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
-  }
-  function fulfill(value) {
-    resume("next", value);
-  }
-  function reject(value) {
-    resume("throw", value);
-  }
-  function settle(f, v) {
-    if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
-  }
-}
-function __asyncDelegator(o) {
-  var i, p;
-  return i = {}, verb("next"), verb("throw", function(e) {
-    throw e;
-  }), verb("return"), i[Symbol.iterator] = function() {
-    return this;
-  }, i;
-  function verb(n, f) {
-    i[n] = o[n] ? function(v) {
-      return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v;
-    } : f;
-  }
-}
-function __asyncValues(o) {
-  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-  var m = o[Symbol.asyncIterator], i;
-  return m ? m.call(o) : (o = typeof __values2 === "function" ? __values2(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
-    return this;
-  }, i);
-  function verb(n) {
-    i[n] = o[n] && function(v) {
-      return new Promise(function(resolve3, reject) {
-        v = o[n](v), settle(resolve3, reject, v.done, v.value);
-      });
-    };
-  }
-  function settle(resolve3, reject, d, v) {
-    Promise.resolve(v).then(function(v2) {
-      resolve3({ value: v2, done: d });
-    }, reject);
-  }
-}
-function __makeTemplateObject(cooked, raw) {
-  if (Object.defineProperty) {
-    Object.defineProperty(cooked, "raw", { value: raw });
-  } else {
-    cooked.raw = raw;
-  }
-  return cooked;
-}
-function __importStar(mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) {
-    for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
-  }
-  __setModuleDefault(result, mod);
-  return result;
-}
-function __importDefault(mod) {
-  return mod && mod.__esModule ? mod : { default: mod };
-}
-function __classPrivateFieldGet(receiver, state, kind, f) {
-  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-}
-function __classPrivateFieldSet(receiver, state, value, kind, f) {
-  if (kind === "m") throw new TypeError("Private method is not writable");
-  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-  return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
-}
-function __classPrivateFieldIn(state, receiver) {
-  if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object");
-  return typeof state === "function" ? receiver === state : state.has(receiver);
-}
-function __addDisposableResource(env, value, async) {
-  if (value !== null && value !== void 0) {
-    if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
-    var dispose, inner;
-    if (async) {
-      if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
-      dispose = value[Symbol.asyncDispose];
-    }
-    if (dispose === void 0) {
-      if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
-      dispose = value[Symbol.dispose];
-      if (async) inner = dispose;
-    }
-    if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
-    if (inner) dispose = function() {
-      try {
-        inner.call(this);
-      } catch (e) {
-        return Promise.reject(e);
+      /**
+       * Trigger a outgoing handler for a buffer shifted from outgoing.
+       *
+       * @param buffer -
+       */
+      async triggerOutgoingHandler(buffer) {
+        const bufferLength = buffer.size;
+        this.executingOutgoingHandlers++;
+        this.offset += bufferLength;
+        try {
+          await this.outgoingHandler(() => buffer.getReadableStream(), bufferLength, this.offset - bufferLength);
+        } catch (err) {
+          this.emitter.emit("error", err);
+          return;
+        }
+        this.executingOutgoingHandlers--;
+        this.reuseBuffer(buffer);
+        this.emitter.emit("checkEnd");
+      }
+      /**
+       * Return buffer used by outgoing handler into incoming.
+       *
+       * @param buffer -
+       */
+      reuseBuffer(buffer) {
+        this.incoming.push(buffer);
+        if (!this.isError && this.resolveData() && !this.isStreamEnd) {
+          this.readable.resume();
+        }
       }
     };
-    env.stack.push({ value, dispose, async });
-  } else if (async) {
-    env.stack.push({ async: true });
-  }
-  return value;
-}
-function __disposeResources(env) {
-  function fail(e) {
-    env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
-    env.hasError = true;
+    exports2.BufferScheduler = BufferScheduler;
   }
-  var r, s = 0;
-  function next() {
-    while (r = env.stack.pop()) {
-      try {
-        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
-        if (r.dispose) {
-          var result = r.dispose.call(r.value);
-          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
-            fail(e);
-            return next();
-          });
-        } else s |= 1;
-      } catch (e) {
-        fail(e);
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/cache.js
+var require_cache3 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/cache.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var _defaultHttpClient;
+    function getCachedDefaultHttpClient() {
+      if (!_defaultHttpClient) {
+        _defaultHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
       }
+      return _defaultHttpClient;
     }
-    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
-    if (env.hasError) throw env.error;
-  }
-  return next();
-}
-function __rewriteRelativeImportExtension(path4, preserveJsx) {
-  if (typeof path4 === "string" && /^\.\.?\//.test(path4)) {
-    return path4.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {
-      return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : d + ext + "." + cm.toLowerCase() + "js";
-    });
   }
-  return path4;
-}
-var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default;
-var init_tslib_es6 = __esm({
-  "node_modules/tslib/tslib.es6.mjs"() {
-    extendStatics = function(d, b) {
-      extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
-        d2.__proto__ = b2;
-      } || function(d2, b2) {
-        for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
-      };
-      return extendStatics(d, b);
-    };
-    __assign = function() {
-      __assign = Object.assign || function __assign2(t) {
-        for (var s, i = 1, n = arguments.length; i < n; i++) {
-          s = arguments[i];
-          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
-        }
-        return t;
-      };
-      return __assign.apply(this, arguments);
-    };
-    __createBinding = Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js
+var require_RequestPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BaseRequestPolicy = void 0;
+    var BaseRequestPolicy = class {
+      _nextPolicy;
+      _options;
+      /**
+       * The main method to implement that manipulates a request/response.
+       */
+      constructor(_nextPolicy, _options) {
+        this._nextPolicy = _nextPolicy;
+        this._options = _options;
+      }
+      /**
+       * Get whether or not a log with the provided log level should be logged.
+       * @param logLevel - The log level of the log that will be logged.
+       * @returns Whether or not a log with the provided log level should be logged.
+       */
+      shouldLog(logLevel) {
+        return this._options.shouldLog(logLevel);
+      }
+      /**
+       * Attempt to log the provided message to the provided logger. If no logger was provided or if
+       * the log level does not meat the logger's threshold, then nothing will be logged.
+       * @param logLevel - The log level of this log.
+       * @param message - The message of this log.
+       */
+      log(logLevel, message) {
+        this._options.log(logLevel, message);
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    });
-    __setModuleDefault = Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    };
-    ownKeys = function(o) {
-      ownKeys = Object.getOwnPropertyNames || function(o2) {
-        var ar = [];
-        for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-        return ar;
-      };
-      return ownKeys(o);
-    };
-    _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error3, suppressed, message) {
-      var e = new Error(message);
-      return e.name = "SuppressedError", e.error = error3, e.suppressed = suppressed, e;
-    };
-    tslib_es6_default = {
-      __extends,
-      __assign,
-      __rest,
-      __decorate,
-      __param,
-      __esDecorate,
-      __runInitializers,
-      __propKey,
-      __setFunctionName,
-      __metadata,
-      __awaiter,
-      __generator,
-      __createBinding,
-      __exportStar,
-      __values: __values2,
-      __read,
-      __spread,
-      __spreadArrays,
-      __spreadArray,
-      __await,
-      __asyncGenerator,
-      __asyncDelegator,
-      __asyncValues,
-      __makeTemplateObject,
-      __importStar,
-      __importDefault,
-      __classPrivateFieldGet,
-      __classPrivateFieldSet,
-      __classPrivateFieldIn,
-      __addDisposableResource,
-      __disposeResources,
-      __rewriteRelativeImportExtension
     };
+    exports2.BaseRequestPolicy = BaseRequestPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js
-var require_AbortError = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/utils/constants.js
+var require_constants16 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/utils/constants.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+    exports2.PathStylePorts = exports2.DevelopmentConnectionString = exports2.HeaderConstants = exports2.URLConstants = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "1.0.0";
+    exports2.URLConstants = {
+      Parameters: {
+        FORCE_BROWSER_NO_CACHE: "_",
+        SIGNATURE: "sig",
+        SNAPSHOT: "snapshot",
+        VERSIONID: "versionid",
+        TIMEOUT: "timeout"
       }
     };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js
-var require_log = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.log = log;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_os_1 = require("node:os");
-    var node_util_1 = tslib_1.__importDefault(require("node:util"));
-    var node_process_1 = tslib_1.__importDefault(require("node:process"));
-    function log(message, ...args) {
-      node_process_1.default.stderr.write(`${node_util_1.default.format(message, ...args)}${node_os_1.EOL}`);
-    }
+    exports2.HeaderConstants = {
+      AUTHORIZATION: "Authorization",
+      AUTHORIZATION_SCHEME: "Bearer",
+      CONTENT_ENCODING: "Content-Encoding",
+      CONTENT_ID: "Content-ID",
+      CONTENT_LANGUAGE: "Content-Language",
+      CONTENT_LENGTH: "Content-Length",
+      CONTENT_MD5: "Content-Md5",
+      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
+      CONTENT_TYPE: "Content-Type",
+      COOKIE: "Cookie",
+      DATE: "date",
+      IF_MATCH: "if-match",
+      IF_MODIFIED_SINCE: "if-modified-since",
+      IF_NONE_MATCH: "if-none-match",
+      IF_UNMODIFIED_SINCE: "if-unmodified-since",
+      PREFIX_FOR_STORAGE: "x-ms-",
+      RANGE: "Range",
+      USER_AGENT: "User-Agent",
+      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
+      X_MS_COPY_SOURCE: "x-ms-copy-source",
+      X_MS_DATE: "x-ms-date",
+      X_MS_ERROR_CODE: "x-ms-error-code",
+      X_MS_VERSION: "x-ms-version",
+      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    };
+    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
+    exports2.PathStylePorts = [
+      "10000",
+      "10001",
+      "10002",
+      "10003",
+      "10004",
+      "10100",
+      "10101",
+      "10102",
+      "10103",
+      "10104",
+      "11000",
+      "11001",
+      "11002",
+      "11003",
+      "11004",
+      "11100",
+      "11101",
+      "11102",
+      "11103",
+      "11104"
+    ];
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js
-var require_debug2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js
+var require_utils_common2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var log_js_1 = require_log();
-    var debugEnvVariable = typeof process !== "undefined" && process.env && process.env.DEBUG || void 0;
-    var enabledString;
-    var enabledNamespaces = [];
-    var skippedNamespaces = [];
-    var debuggers = [];
-    if (debugEnvVariable) {
-      enable(debugEnvVariable);
+    exports2.escapeURLPath = escapeURLPath;
+    exports2.getValueInConnString = getValueInConnString;
+    exports2.extractConnectionStringParts = extractConnectionStringParts;
+    exports2.appendToURLPath = appendToURLPath;
+    exports2.setURLParameter = setURLParameter;
+    exports2.getURLParameter = getURLParameter;
+    exports2.setURLHost = setURLHost;
+    exports2.getURLPath = getURLPath;
+    exports2.getURLScheme = getURLScheme;
+    exports2.getURLPathAndQuery = getURLPathAndQuery;
+    exports2.getURLQueries = getURLQueries;
+    exports2.appendToURLQuery = appendToURLQuery;
+    exports2.truncatedISO8061Date = truncatedISO8061Date;
+    exports2.base64encode = base64encode;
+    exports2.base64decode = base64decode;
+    exports2.generateBlockID = generateBlockID;
+    exports2.delay = delay;
+    exports2.padStart = padStart2;
+    exports2.sanitizeURL = sanitizeURL;
+    exports2.sanitizeHeaders = sanitizeHeaders;
+    exports2.iEqual = iEqual;
+    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
+    exports2.isIpEndpointStyle = isIpEndpointStyle;
+    exports2.attachCredential = attachCredential;
+    exports2.httpAuthorizationToString = httpAuthorizationToString;
+    exports2.EscapePath = EscapePath;
+    exports2.assertResponse = assertResponse;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants16();
+    function escapeURLPath(url) {
+      const urlParsed = new URL(url);
+      let path4 = urlParsed.pathname;
+      path4 = path4 || "/";
+      path4 = escape(path4);
+      urlParsed.pathname = path4;
+      return urlParsed.toString();
     }
-    var debugObj = Object.assign((namespace) => {
-      return createDebugger(namespace);
-    }, {
-      enable,
-      enabled,
-      disable,
-      log: log_js_1.log
-    });
-    function enable(namespaces) {
-      enabledString = namespaces;
-      enabledNamespaces = [];
-      skippedNamespaces = [];
-      const namespaceList = namespaces.split(",").map((ns) => ns.trim());
-      for (const ns of namespaceList) {
-        if (ns.startsWith("-")) {
-          skippedNamespaces.push(ns.substring(1));
-        } else {
-          enabledNamespaces.push(ns);
+    function getProxyUriFromDevConnString(connectionString) {
+      let proxyUri = "";
+      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
+        const matchCredentials = connectionString.split(";");
+        for (const element of matchCredentials) {
+          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
+            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
+          }
         }
       }
-      for (const instance of debuggers) {
-        instance.enabled = enabled(instance.namespace);
-      }
+      return proxyUri;
     }
-    function enabled(namespace) {
-      if (namespace.endsWith("*")) {
-        return true;
-      }
-      for (const skipped of skippedNamespaces) {
-        if (namespaceMatches(namespace, skipped)) {
-          return false;
-        }
-      }
-      for (const enabledNamespace of enabledNamespaces) {
-        if (namespaceMatches(namespace, enabledNamespace)) {
-          return true;
+    function getValueInConnString(connectionString, argument) {
+      const elements = connectionString.split(";");
+      for (const element of elements) {
+        if (element.trim().startsWith(argument)) {
+          return element.trim().match(argument + "=(.*)")[1];
         }
       }
-      return false;
+      return "";
     }
-    function namespaceMatches(namespace, patternToMatch) {
-      if (patternToMatch.indexOf("*") === -1) {
-        return namespace === patternToMatch;
+    function extractConnectionStringParts(connectionString) {
+      let proxyUri = "";
+      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
+        proxyUri = getProxyUriFromDevConnString(connectionString);
+        connectionString = constants_js_1.DevelopmentConnectionString;
       }
-      let pattern = patternToMatch;
-      if (patternToMatch.indexOf("**") !== -1) {
-        const patternParts = [];
-        let lastCharacter = "";
-        for (const character of patternToMatch) {
-          if (character === "*" && lastCharacter === "*") {
-            continue;
-          } else {
-            lastCharacter = character;
-            patternParts.push(character);
+      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
+      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
+      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
+        let defaultEndpointsProtocol = "";
+        let accountName = "";
+        let accountKey = Buffer.from("accountKey", "base64");
+        let endpointSuffix = "";
+        accountName = getValueInConnString(connectionString, "AccountName");
+        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
+        if (!blobEndpoint) {
+          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
+          const protocol = defaultEndpointsProtocol.toLowerCase();
+          if (protocol !== "https" && protocol !== "http") {
+            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
+          }
+          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
+          if (!endpointSuffix) {
+            throw new Error("Invalid EndpointSuffix in the provided Connection String");
           }
+          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
         }
-        pattern = patternParts.join("");
+        if (!accountName) {
+          throw new Error("Invalid AccountName in the provided Connection String");
+        } else if (accountKey.length === 0) {
+          throw new Error("Invalid AccountKey in the provided Connection String");
+        }
+        return {
+          kind: "AccountConnString",
+          url: blobEndpoint,
+          accountName,
+          accountKey,
+          proxyUri
+        };
+      } else {
+        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
+        let accountName = getValueInConnString(connectionString, "AccountName");
+        if (!accountName) {
+          accountName = getAccountNameFromUrl(blobEndpoint);
+        }
+        if (!blobEndpoint) {
+          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
+        } else if (!accountSas) {
+          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
+        }
+        if (accountSas.startsWith("?")) {
+          accountSas = accountSas.substring(1);
+        }
+        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
       }
-      let namespaceIndex = 0;
-      let patternIndex = 0;
-      const patternLength = pattern.length;
-      const namespaceLength = namespace.length;
-      let lastWildcard = -1;
-      let lastWildcardNamespace = -1;
-      while (namespaceIndex < namespaceLength && patternIndex < patternLength) {
-        if (pattern[patternIndex] === "*") {
-          lastWildcard = patternIndex;
-          patternIndex++;
-          if (patternIndex === patternLength) {
-            return true;
-          }
-          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
-            namespaceIndex++;
-            if (namespaceIndex === namespaceLength) {
-              return false;
-            }
-          }
-          lastWildcardNamespace = namespaceIndex;
-          namespaceIndex++;
-          patternIndex++;
-          continue;
-        } else if (pattern[patternIndex] === namespace[namespaceIndex]) {
-          patternIndex++;
-          namespaceIndex++;
-        } else if (lastWildcard >= 0) {
-          patternIndex = lastWildcard + 1;
-          namespaceIndex = lastWildcardNamespace + 1;
-          if (namespaceIndex === namespaceLength) {
-            return false;
-          }
-          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
-            namespaceIndex++;
-            if (namespaceIndex === namespaceLength) {
-              return false;
-            }
+    }
+    function escape(text) {
+      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
+    }
+    function appendToURLPath(url, name) {
+      const urlParsed = new URL(url);
+      let path4 = urlParsed.pathname;
+      path4 = path4 ? path4.endsWith("/") ? `${path4}${name}` : `${path4}/${name}` : name;
+      urlParsed.pathname = path4;
+      return urlParsed.toString();
+    }
+    function setURLParameter(url, name, value) {
+      const urlParsed = new URL(url);
+      const encodedName = encodeURIComponent(name);
+      const encodedValue = value ? encodeURIComponent(value) : void 0;
+      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
+      const searchPieces = [];
+      for (const pair of searchString.slice(1).split("&")) {
+        if (pair) {
+          const [key] = pair.split("=", 2);
+          if (key !== encodedName) {
+            searchPieces.push(pair);
           }
-          lastWildcardNamespace = namespaceIndex;
-          namespaceIndex++;
-          patternIndex++;
-          continue;
-        } else {
-          return false;
         }
       }
-      const namespaceDone = namespaceIndex === namespace.length;
-      const patternDone = patternIndex === pattern.length;
-      const trailingWildCard = patternIndex === pattern.length - 1 && pattern[patternIndex] === "*";
-      return namespaceDone && (patternDone || trailingWildCard);
+      if (encodedValue) {
+        searchPieces.push(`${encodedName}=${encodedValue}`);
+      }
+      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
+      return urlParsed.toString();
     }
-    function disable() {
-      const result = enabledString || "";
-      enable("");
-      return result;
+    function getURLParameter(url, name) {
+      const urlParsed = new URL(url);
+      return urlParsed.searchParams.get(name) ?? void 0;
     }
-    function createDebugger(namespace) {
-      const newDebugger = Object.assign(debug4, {
-        enabled: enabled(namespace),
-        destroy,
-        log: debugObj.log,
-        namespace,
-        extend: extend3
+    function setURLHost(url, host) {
+      const urlParsed = new URL(url);
+      urlParsed.hostname = host;
+      return urlParsed.toString();
+    }
+    function getURLPath(url) {
+      try {
+        const urlParsed = new URL(url);
+        return urlParsed.pathname;
+      } catch (e) {
+        return void 0;
+      }
+    }
+    function getURLScheme(url) {
+      try {
+        const urlParsed = new URL(url);
+        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
+      } catch (e) {
+        return void 0;
+      }
+    }
+    function getURLPathAndQuery(url) {
+      const urlParsed = new URL(url);
+      const pathString = urlParsed.pathname;
+      if (!pathString) {
+        throw new RangeError("Invalid url without valid path.");
+      }
+      let queryString = urlParsed.search || "";
+      queryString = queryString.trim();
+      if (queryString !== "") {
+        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
+      }
+      return `${pathString}${queryString}`;
+    }
+    function getURLQueries(url) {
+      let queryString = new URL(url).search;
+      if (!queryString) {
+        return {};
+      }
+      queryString = queryString.trim();
+      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
+      let querySubStrings = queryString.split("&");
+      querySubStrings = querySubStrings.filter((value) => {
+        const indexOfEqual = value.indexOf("=");
+        const lastIndexOfEqual = value.lastIndexOf("=");
+        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
       });
-      function debug4(...args) {
-        if (!newDebugger.enabled) {
-          return;
-        }
-        if (args.length > 0) {
-          args[0] = `${namespace} ${args[0]}`;
-        }
-        newDebugger.log(...args);
+      const queries = {};
+      for (const querySubString of querySubStrings) {
+        const splitResults = querySubString.split("=");
+        const key = splitResults[0];
+        const value = splitResults[1];
+        queries[key] = value;
       }
-      debuggers.push(newDebugger);
-      return newDebugger;
+      return queries;
     }
-    function destroy() {
-      const index = debuggers.indexOf(this);
-      if (index >= 0) {
-        debuggers.splice(index, 1);
-        return true;
+    function appendToURLQuery(url, queryParts) {
+      const urlParsed = new URL(url);
+      let query = urlParsed.search;
+      if (query) {
+        query += "&" + queryParts;
+      } else {
+        query = queryParts;
       }
-      return false;
+      urlParsed.search = query;
+      return urlParsed.toString();
     }
-    function extend3(namespace) {
-      const newDebugger = createDebugger(`${this.namespace}:${namespace}`);
-      newDebugger.log = this.log;
-      return newDebugger;
+    function truncatedISO8061Date(date, withMilliseconds = true) {
+      const dateString = date.toISOString();
+      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
     }
-    exports2.default = debugObj;
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js
-var require_logger = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TypeSpecRuntimeLogger = void 0;
-    exports2.createLoggerContext = createLoggerContext;
-    exports2.setLogLevel = setLogLevel;
-    exports2.getLogLevel = getLogLevel;
-    exports2.createClientLogger = createClientLogger;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var debug_js_1 = tslib_1.__importDefault(require_debug2());
-    var TYPESPEC_RUNTIME_LOG_LEVELS = ["verbose", "info", "warning", "error"];
-    var levelMap = {
-      verbose: 400,
-      info: 300,
-      warning: 200,
-      error: 100
-    };
-    function patchLogMethod(parent, child) {
-      child.log = (...args) => {
-        parent.log(...args);
-      };
+    function base64encode(content) {
+      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
     }
-    function isTypeSpecRuntimeLogLevel(level) {
-      return TYPESPEC_RUNTIME_LOG_LEVELS.includes(level);
+    function base64decode(encodedString) {
+      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
     }
-    function createLoggerContext(options) {
-      const registeredLoggers = /* @__PURE__ */ new Set();
-      const logLevelFromEnv = typeof process !== "undefined" && process.env && process.env[options.logLevelEnvVarName] || void 0;
-      let logLevel;
-      const clientLogger = (0, debug_js_1.default)(options.namespace);
-      clientLogger.log = (...args) => {
-        debug_js_1.default.log(...args);
-      };
-      function contextSetLogLevel(level) {
-        if (level && !isTypeSpecRuntimeLogLevel(level)) {
-          throw new Error(`Unknown log level '${level}'. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(",")}`);
-        }
-        logLevel = level;
-        const enabledNamespaces = [];
-        for (const logger of registeredLoggers) {
-          if (shouldEnable(logger)) {
-            enabledNamespaces.push(logger.namespace);
+    function generateBlockID(blockIDPrefix, blockIndex) {
+      const maxSourceStringLength = 48;
+      const maxBlockIndexLength = 6;
+      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
+      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
+        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
+      }
+      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
+      return base64encode(res);
+    }
+    async function delay(timeInMs, aborter, abortError) {
+      return new Promise((resolve3, reject) => {
+        let timeout;
+        const abortHandler = () => {
+          if (timeout !== void 0) {
+            clearTimeout(timeout);
+          }
+          reject(abortError);
+        };
+        const resolveHandler = () => {
+          if (aborter !== void 0) {
+            aborter.removeEventListener("abort", abortHandler);
           }
+          resolve3();
+        };
+        timeout = setTimeout(resolveHandler, timeInMs);
+        if (aborter !== void 0) {
+          aborter.addEventListener("abort", abortHandler);
+        }
+      });
+    }
+    function padStart2(currentString, targetLength, padString = " ") {
+      if (String.prototype.padStart) {
+        return currentString.padStart(targetLength, padString);
+      }
+      padString = padString || " ";
+      if (currentString.length > targetLength) {
+        return currentString;
+      } else {
+        targetLength = targetLength - currentString.length;
+        if (targetLength > padString.length) {
+          padString += padString.repeat(targetLength / padString.length);
         }
-        debug_js_1.default.enable(enabledNamespaces.join(","));
+        return padString.slice(0, targetLength) + currentString;
       }
-      if (logLevelFromEnv) {
-        if (isTypeSpecRuntimeLogLevel(logLevelFromEnv)) {
-          contextSetLogLevel(logLevelFromEnv);
+    }
+    function sanitizeURL(url) {
+      let safeURL = url;
+      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
+        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
+      }
+      return safeURL;
+    }
+    function sanitizeHeaders(originalHeader) {
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
+      for (const [name, value] of originalHeader) {
+        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
+          headers.set(name, "*****");
+        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
+          headers.set(name, sanitizeURL(value));
         } else {
-          console.error(`${options.logLevelEnvVarName} set to unknown log level '${logLevelFromEnv}'; logging is not enabled. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(", ")}.`);
+          headers.set(name, value);
         }
       }
-      function shouldEnable(logger) {
-        return Boolean(logLevel && levelMap[logger.level] <= levelMap[logLevel]);
-      }
-      function createLogger2(parent, level) {
-        const logger = Object.assign(parent.extend(level), {
-          level
-        });
-        patchLogMethod(parent, logger);
-        if (shouldEnable(logger)) {
-          const enabledNamespaces = debug_js_1.default.disable();
-          debug_js_1.default.enable(enabledNamespaces + "," + logger.namespace);
+      return headers;
+    }
+    function iEqual(str1, str2) {
+      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
+    }
+    function getAccountNameFromUrl(url) {
+      const parsedUrl = new URL(url);
+      let accountName;
+      try {
+        if (parsedUrl.hostname.split(".")[1] === "blob") {
+          accountName = parsedUrl.hostname.split(".")[0];
+        } else if (isIpEndpointStyle(parsedUrl)) {
+          accountName = parsedUrl.pathname.split("/")[1];
+        } else {
+          accountName = "";
         }
-        registeredLoggers.add(logger);
-        return logger;
-      }
-      function contextGetLogLevel() {
-        return logLevel;
-      }
-      function contextCreateClientLogger(namespace) {
-        const clientRootLogger = clientLogger.extend(namespace);
-        patchLogMethod(clientLogger, clientRootLogger);
-        return {
-          error: createLogger2(clientRootLogger, "error"),
-          warning: createLogger2(clientRootLogger, "warning"),
-          info: createLogger2(clientRootLogger, "info"),
-          verbose: createLogger2(clientRootLogger, "verbose")
-        };
+        return accountName;
+      } catch (error3) {
+        throw new Error("Unable to extract accountName with provided information.");
       }
-      return {
-        setLogLevel: contextSetLogLevel,
-        getLogLevel: contextGetLogLevel,
-        createClientLogger: contextCreateClientLogger,
-        logger: clientLogger
-      };
     }
-    var context2 = createLoggerContext({
-      logLevelEnvVarName: "TYPESPEC_RUNTIME_LOG_LEVEL",
-      namespace: "typeSpecRuntime"
-    });
-    exports2.TypeSpecRuntimeLogger = context2.logger;
-    function setLogLevel(logLevel) {
-      context2.setLogLevel(logLevel);
+    function isIpEndpointStyle(parsedUrl) {
+      const host = parsedUrl.host;
+      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
     }
-    function getLogLevel() {
-      return context2.getLogLevel();
+    function attachCredential(thing, credential) {
+      thing.credential = credential;
+      return thing;
     }
-    function createClientLogger(namespace) {
-      return context2.createClientLogger(namespace);
+    function httpAuthorizationToString(httpAuthorization) {
+      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
+    }
+    function EscapePath(blobName) {
+      const split = blobName.split("/");
+      for (let i = 0; i < split.length; i++) {
+        split[i] = encodeURIComponent(split[i]);
+      }
+      return split.join("/");
+    }
+    function assertResponse(response) {
+      if (`_response` in response) {
+        return response;
+      }
+      throw new TypeError(`Unexpected response object ${response}`);
     }
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js
-var require_httpHeaders = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js
+var require_StorageBrowserPolicy = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpHeaders = createHttpHeaders;
-    function normalizeName(name) {
-      return name.toLowerCase();
-    }
-    function* headerIterator(map2) {
-      for (const entry of map2.values()) {
-        yield [entry.name, entry.value];
-      }
-    }
-    var HttpHeadersImpl = class {
-      _headersMap;
-      constructor(rawHeaders) {
-        this._headersMap = /* @__PURE__ */ new Map();
-        if (rawHeaders) {
-          for (const headerName of Object.keys(rawHeaders)) {
-            this.set(headerName, rawHeaders[headerName]);
-          }
-        }
-      }
-      /**
-       * Set a header in this collection with the provided name and value. The name is
-       * case-insensitive.
-       * @param name - The name of the header to set. This value is case-insensitive.
-       * @param value - The value of the header to set.
-       */
-      set(name, value) {
-        this._headersMap.set(normalizeName(name), { name, value: String(value).trim() });
-      }
-      /**
-       * Get the header value for the provided header name, or undefined if no header exists in this
-       * collection with the provided name.
-       * @param name - The name of the header. This value is case-insensitive.
-       */
-      get(name) {
-        return this._headersMap.get(normalizeName(name))?.value;
-      }
-      /**
-       * Get whether or not this header collection contains a header entry for the provided header name.
-       * @param name - The name of the header to set. This value is case-insensitive.
-       */
-      has(name) {
-        return this._headersMap.has(normalizeName(name));
-      }
+    exports2.StorageBrowserPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants16();
+    var utils_common_js_1 = require_utils_common2();
+    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
       /**
-       * Remove the header with the provided headerName.
-       * @param name - The name of the header to remove.
+       * Creates an instance of StorageBrowserPolicy.
+       * @param nextPolicy -
+       * @param options -
        */
-      delete(name) {
-        this._headersMap.delete(normalizeName(name));
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
       }
       /**
-       * Get the JSON object representation of this HTTP header collection.
+       * Sends out request.
+       *
+       * @param request -
        */
-      toJSON(options = {}) {
-        const result = {};
-        if (options.preserveCase) {
-          for (const entry of this._headersMap.values()) {
-            result[entry.name] = entry.value;
-          }
-        } else {
-          for (const [normalizedName, entry] of this._headersMap) {
-            result[normalizedName] = entry.value;
-          }
+      async sendRequest(request2) {
+        if (core_util_1.isNodeLike) {
+          return this._nextPolicy.sendRequest(request2);
         }
-        return result;
-      }
-      /**
-       * Get the string representation of this HTTP header collection.
-       */
-      toString() {
-        return JSON.stringify(this.toJSON({ preserveCase: true }));
-      }
-      /**
-       * Iterate over tuples of header [name, value] pairs.
-       */
-      [Symbol.iterator]() {
-        return headerIterator(this._headersMap);
+        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
+          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+        }
+        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
+        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+        return this._nextPolicy.sendRequest(request2);
       }
     };
-    function createHttpHeaders(rawHeaders) {
-      return new HttpHeadersImpl(rawHeaders);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js
-var require_schemes = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js
-var require_oauth2Flows = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js
-var require_uuidUtils = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.randomUUID = randomUUID;
-    function randomUUID() {
-      return crypto.randomUUID();
-    }
+    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js
-var require_pipelineRequest = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js
+var require_StorageBrowserPolicyFactory = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineRequest = createPipelineRequest;
-    var httpHeaders_js_1 = require_httpHeaders();
-    var uuidUtils_js_1 = require_uuidUtils();
-    var PipelineRequestImpl = class {
-      url;
-      method;
-      headers;
-      timeout;
-      withCredentials;
-      body;
-      multipartBody;
-      formData;
-      streamResponseStatusCodes;
-      enableBrowserStreams;
-      proxySettings;
-      disableKeepAlive;
-      abortSignal;
-      requestId;
-      allowInsecureConnection;
-      onUploadProgress;
-      onDownloadProgress;
-      requestOverrides;
-      authSchemes;
-      constructor(options) {
-        this.url = options.url;
-        this.body = options.body;
-        this.headers = options.headers ?? (0, httpHeaders_js_1.createHttpHeaders)();
-        this.method = options.method ?? "GET";
-        this.timeout = options.timeout ?? 0;
-        this.multipartBody = options.multipartBody;
-        this.formData = options.formData;
-        this.disableKeepAlive = options.disableKeepAlive ?? false;
-        this.proxySettings = options.proxySettings;
-        this.streamResponseStatusCodes = options.streamResponseStatusCodes;
-        this.withCredentials = options.withCredentials ?? false;
-        this.abortSignal = options.abortSignal;
-        this.onUploadProgress = options.onUploadProgress;
-        this.onDownloadProgress = options.onDownloadProgress;
-        this.requestId = options.requestId || (0, uuidUtils_js_1.randomUUID)();
-        this.allowInsecureConnection = options.allowInsecureConnection ?? false;
-        this.enableBrowserStreams = options.enableBrowserStreams ?? false;
-        this.requestOverrides = options.requestOverrides;
-        this.authSchemes = options.authSchemes;
+    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
+    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy();
+    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
+      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
+    } });
+    var StorageBrowserPolicyFactory = class {
+      /**
+       * Creates a StorageBrowserPolicyFactory object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
       }
     };
-    function createPipelineRequest(options) {
-      return new PipelineRequestImpl(options);
-    }
+    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js
-var require_pipeline = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js
+var require_CredentialPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createEmptyPipeline = createEmptyPipeline;
-    var ValidPhaseNames = /* @__PURE__ */ new Set(["Deserialize", "Serialize", "Retry", "Sign"]);
-    var HttpPipeline = class _HttpPipeline {
-      _policies = [];
-      _orderedPolicies;
-      constructor(policies) {
-        this._policies = policies?.slice(0) ?? [];
-        this._orderedPolicies = void 0;
-      }
-      addPolicy(policy, options = {}) {
-        if (options.phase && options.afterPhase) {
-          throw new Error("Policies inside a phase cannot specify afterPhase.");
-        }
-        if (options.phase && !ValidPhaseNames.has(options.phase)) {
-          throw new Error(`Invalid phase name: ${options.phase}`);
-        }
-        if (options.afterPhase && !ValidPhaseNames.has(options.afterPhase)) {
-          throw new Error(`Invalid afterPhase name: ${options.afterPhase}`);
-        }
-        this._policies.push({
-          policy,
-          options
-        });
-        this._orderedPolicies = void 0;
-      }
-      removePolicy(options) {
-        const removedPolicies = [];
-        this._policies = this._policies.filter((policyDescriptor) => {
-          if (options.name && policyDescriptor.policy.name === options.name || options.phase && policyDescriptor.options.phase === options.phase) {
-            removedPolicies.push(policyDescriptor.policy);
-            return false;
-          } else {
-            return true;
-          }
-        });
-        this._orderedPolicies = void 0;
-        return removedPolicies;
-      }
-      sendRequest(httpClient, request2) {
-        const policies = this.getOrderedPolicies();
-        const pipeline = policies.reduceRight((next, policy) => {
-          return (req) => {
-            return policy.sendRequest(req, next);
-          };
-        }, (req) => httpClient.sendRequest(req));
-        return pipeline(request2);
-      }
-      getOrderedPolicies() {
-        if (!this._orderedPolicies) {
-          this._orderedPolicies = this.orderPolicies();
-        }
-        return this._orderedPolicies;
-      }
-      clone() {
-        return new _HttpPipeline(this._policies);
-      }
-      static create() {
-        return new _HttpPipeline();
-      }
-      orderPolicies() {
-        const result = [];
-        const policyMap = /* @__PURE__ */ new Map();
-        function createPhase(name) {
-          return {
-            name,
-            policies: /* @__PURE__ */ new Set(),
-            hasRun: false,
-            hasAfterPolicies: false
-          };
-        }
-        const serializePhase = createPhase("Serialize");
-        const noPhase = createPhase("None");
-        const deserializePhase = createPhase("Deserialize");
-        const retryPhase = createPhase("Retry");
-        const signPhase = createPhase("Sign");
-        const orderedPhases = [serializePhase, noPhase, deserializePhase, retryPhase, signPhase];
-        function getPhase(phase) {
-          if (phase === "Retry") {
-            return retryPhase;
-          } else if (phase === "Serialize") {
-            return serializePhase;
-          } else if (phase === "Deserialize") {
-            return deserializePhase;
-          } else if (phase === "Sign") {
-            return signPhase;
-          } else {
-            return noPhase;
-          }
-        }
-        for (const descriptor of this._policies) {
-          const policy = descriptor.policy;
-          const options = descriptor.options;
-          const policyName = policy.name;
-          if (policyMap.has(policyName)) {
-            throw new Error("Duplicate policy names not allowed in pipeline");
-          }
-          const node = {
-            policy,
-            dependsOn: /* @__PURE__ */ new Set(),
-            dependants: /* @__PURE__ */ new Set()
-          };
-          if (options.afterPhase) {
-            node.afterPhase = getPhase(options.afterPhase);
-            node.afterPhase.hasAfterPolicies = true;
-          }
-          policyMap.set(policyName, node);
-          const phase = getPhase(options.phase);
-          phase.policies.add(node);
-        }
-        for (const descriptor of this._policies) {
-          const { policy, options } = descriptor;
-          const policyName = policy.name;
-          const node = policyMap.get(policyName);
-          if (!node) {
-            throw new Error(`Missing node for policy ${policyName}`);
-          }
-          if (options.afterPolicies) {
-            for (const afterPolicyName of options.afterPolicies) {
-              const afterNode = policyMap.get(afterPolicyName);
-              if (afterNode) {
-                node.dependsOn.add(afterNode);
-                afterNode.dependants.add(node);
-              }
-            }
-          }
-          if (options.beforePolicies) {
-            for (const beforePolicyName of options.beforePolicies) {
-              const beforeNode = policyMap.get(beforePolicyName);
-              if (beforeNode) {
-                beforeNode.dependsOn.add(node);
-                node.dependants.add(beforeNode);
-              }
-            }
-          }
-        }
-        function walkPhase(phase) {
-          phase.hasRun = true;
-          for (const node of phase.policies) {
-            if (node.afterPhase && (!node.afterPhase.hasRun || node.afterPhase.policies.size)) {
-              continue;
-            }
-            if (node.dependsOn.size === 0) {
-              result.push(node.policy);
-              for (const dependant of node.dependants) {
-                dependant.dependsOn.delete(node);
-              }
-              policyMap.delete(node.policy.name);
-              phase.policies.delete(node);
-            }
-          }
-        }
-        function walkPhases() {
-          for (const phase of orderedPhases) {
-            walkPhase(phase);
-            if (phase.policies.size > 0 && phase !== noPhase) {
-              if (!noPhase.hasRun) {
-                walkPhase(noPhase);
-              }
-              return;
-            }
-            if (phase.hasAfterPolicies) {
-              walkPhase(noPhase);
-            }
-          }
-        }
-        let iteration = 0;
-        while (policyMap.size > 0) {
-          iteration++;
-          const initialResultLength = result.length;
-          walkPhases();
-          if (result.length <= initialResultLength && iteration > 1) {
-            throw new Error("Cannot satisfy policy dependencies due to requirements cycle.");
-          }
-        }
-        return result;
+    exports2.CredentialPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * Sends out request.
+       *
+       * @param request -
+       */
+      sendRequest(request2) {
+        return this._nextPolicy.sendRequest(this.signRequest(request2));
       }
-    };
-    function createEmptyPipeline() {
-      return HttpPipeline.create();
-    }
+      /**
+       * Child classes must implement this method with request signing. This method
+       * will be executed in {@link sendRequest}.
+       *
+       * @param request -
+       */
+      signRequest(request2) {
+        return request2;
+      }
+    };
+    exports2.CredentialPolicy = CredentialPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js
-var require_object = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js
+var require_AnonymousCredentialPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isObject = isObject2;
-    function isObject2(input) {
-      return typeof input === "object" && input !== null && !Array.isArray(input) && !(input instanceof RegExp) && !(input instanceof Date);
-    }
+    exports2.AnonymousCredentialPolicy = void 0;
+    var CredentialPolicy_js_1 = require_CredentialPolicy2();
+    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+      /**
+       * Creates an instance of AnonymousCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       */
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
+      }
+    };
+    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js
-var require_error = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js
+var require_Credential2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isError = isError;
-    var object_js_1 = require_object();
-    function isError(e) {
-      if ((0, object_js_1.isObject)(e)) {
-        const hasName = typeof e.name === "string";
-        const hasMessage = typeof e.message === "string";
-        return hasName && hasMessage;
+    exports2.Credential = void 0;
+    var Credential = class {
+      /**
+       * Creates a RequestPolicy object.
+       *
+       * @param _nextPolicy -
+       * @param _options -
+       */
+      create(_nextPolicy, _options) {
+        throw new Error("Method should be implemented in children classes.");
       }
-      return false;
-    }
+    };
+    exports2.Credential = Credential;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js
-var require_inspect = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js
+var require_AnonymousCredential2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.custom = void 0;
-    var node_util_1 = require("node:util");
-    exports2.custom = node_util_1.inspect.custom;
+    exports2.AnonymousCredential = void 0;
+    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy2();
+    var Credential_js_1 = require_Credential2();
+    var AnonymousCredential = class extends Credential_js_1.Credential {
+      /**
+       * Creates an {@link AnonymousCredentialPolicy} object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
+      }
+    };
+    exports2.AnonymousCredential = AnonymousCredential;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js
-var require_sanitizer = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js
+var require_SharedKeyComparator2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Sanitizer = void 0;
-    var object_js_1 = require_object();
-    var RedactedString = "REDACTED";
-    var defaultAllowedHeaderNames = [
-      "x-ms-client-request-id",
-      "x-ms-return-client-request-id",
-      "x-ms-useragent",
-      "x-ms-correlation-request-id",
-      "x-ms-request-id",
-      "client-request-id",
-      "ms-cv",
-      "return-client-request-id",
-      "traceparent",
-      "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",
-      "Origin",
-      "Accept",
-      "Accept-Encoding",
-      "Cache-Control",
-      "Connection",
-      "Content-Length",
-      "Content-Type",
-      "Date",
-      "ETag",
-      "Expires",
-      "If-Match",
-      "If-Modified-Since",
-      "If-None-Match",
-      "If-Unmodified-Since",
-      "Last-Modified",
-      "Pragma",
-      "Request-Id",
-      "Retry-After",
-      "Server",
-      "Transfer-Encoding",
-      "User-Agent",
-      "WWW-Authenticate"
-    ];
-    var defaultAllowedQueryParameters = ["api-version"];
-    var Sanitizer = class {
-      allowedHeaderNames;
-      allowedQueryParameters;
-      constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], additionalAllowedQueryParameters: allowedQueryParameters = [] } = {}) {
-        allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);
-        allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);
-        this.allowedHeaderNames = new Set(allowedHeaderNames.map((n) => n.toLowerCase()));
-        this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));
-      }
-      /**
-       * Sanitizes an object for logging.
-       * @param obj - The object to sanitize
-       * @returns - The sanitized object as a string
-       */
-      sanitize(obj) {
-        const seen = /* @__PURE__ */ new Set();
-        return JSON.stringify(obj, (key, value) => {
-          if (value instanceof Error) {
-            return {
-              ...value,
-              name: value.name,
-              message: value.message
-            };
-          }
-          if (key === "headers") {
-            return this.sanitizeHeaders(value);
-          } else if (key === "url") {
-            return this.sanitizeUrl(value);
-          } else if (key === "query") {
-            return this.sanitizeQuery(value);
-          } else if (key === "body") {
-            return void 0;
-          } else if (key === "response") {
-            return void 0;
-          } else if (key === "operationSpec") {
-            return void 0;
-          } else if (Array.isArray(value) || (0, object_js_1.isObject)(value)) {
-            if (seen.has(value)) {
-              return "[Circular]";
-            }
-            seen.add(value);
-          }
-          return value;
-        }, 2);
-      }
-      /**
-       * Sanitizes a URL for logging.
-       * @param value - The URL to sanitize
-       * @returns - The sanitized URL as a string
-       */
-      sanitizeUrl(value) {
-        if (typeof value !== "string" || value === null || value === "") {
-          return value;
-        }
-        const url = new URL(value);
-        if (!url.search) {
-          return value;
-        }
-        for (const [key] of url.searchParams) {
-          if (!this.allowedQueryParameters.has(key.toLowerCase())) {
-            url.searchParams.set(key, RedactedString);
-          }
-        }
-        return url.toString();
-      }
-      sanitizeHeaders(obj) {
-        const sanitized = {};
-        for (const key of Object.keys(obj)) {
-          if (this.allowedHeaderNames.has(key.toLowerCase())) {
-            sanitized[key] = obj[key];
-          } else {
-            sanitized[key] = RedactedString;
-          }
-        }
-        return sanitized;
-      }
-      sanitizeQuery(value) {
-        if (typeof value !== "object" || value === null) {
-          return value;
+    exports2.compareHeader = compareHeader;
+    var table_lv0 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1820,
+      0,
+      1823,
+      1825,
+      1827,
+      1829,
+      0,
+      0,
+      0,
+      1837,
+      2051,
+      0,
+      0,
+      1843,
+      0,
+      3331,
+      3354,
+      3356,
+      3358,
+      3360,
+      3362,
+      3364,
+      3366,
+      3368,
+      3370,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      0,
+      0,
+      1859,
+      1860,
+      1864,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      1868,
+      0,
+      1872,
+      0
+    ]);
+    var table_lv2 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    var table_lv4 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      32786,
+      0,
+      0,
+      0,
+      0,
+      0,
+      33298,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    function compareHeader(lhs, rhs) {
+      if (isLessThan(lhs, rhs))
+        return -1;
+      return 1;
+    }
+    function isLessThan(lhs, rhs) {
+      const tables = [table_lv0, table_lv2, table_lv4];
+      let curr_level = 0;
+      let i = 0;
+      let j = 0;
+      while (curr_level < tables.length) {
+        if (curr_level === tables.length - 1 && i !== j) {
+          return i > j;
         }
-        const sanitized = {};
-        for (const k of Object.keys(value)) {
-          if (this.allowedQueryParameters.has(k.toLowerCase())) {
-            sanitized[k] = value[k];
-          } else {
-            sanitized[k] = RedactedString;
-          }
+        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
+        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
+        if (weight1 === 1 && weight2 === 1) {
+          i = 0;
+          j = 0;
+          ++curr_level;
+        } else if (weight1 === weight2) {
+          ++i;
+          ++j;
+        } else if (weight1 === 0) {
+          ++i;
+        } else if (weight2 === 0) {
+          ++j;
+        } else {
+          return weight1 < weight2;
         }
-        return sanitized;
       }
-    };
-    exports2.Sanitizer = Sanitizer;
+      return false;
+    }
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js
-var require_restError = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
+var require_StorageSharedKeyCredentialPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RestError = void 0;
-    exports2.isRestError = isRestError;
-    var error_js_1 = require_error();
-    var inspect_js_1 = require_inspect();
-    var sanitizer_js_1 = require_sanitizer();
-    var errorSanitizer = new sanitizer_js_1.Sanitizer();
-    var RestError = class _RestError extends Error {
-      /**
-       * Something went wrong when making the request.
-       * This means the actual request failed for some reason,
-       * such as a DNS issue or the connection being lost.
-       */
-      static REQUEST_SEND_ERROR = "REQUEST_SEND_ERROR";
-      /**
-       * This means that parsing the response from the server failed.
-       * It may have been malformed.
-       */
-      static PARSE_ERROR = "PARSE_ERROR";
-      /**
-       * The code of the error itself (use statics on RestError if possible.)
-       */
-      code;
-      /**
-       * The HTTP status code of the request (if applicable.)
-       */
-      statusCode;
+    exports2.StorageSharedKeyCredentialPolicy = void 0;
+    var constants_js_1 = require_constants16();
+    var utils_common_js_1 = require_utils_common2();
+    var CredentialPolicy_js_1 = require_CredentialPolicy2();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
+    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
       /**
-       * The request that was made.
-       * This property is non-enumerable.
+       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
        */
-      request;
+      factory;
       /**
-       * The response received (if any.)
-       * This property is non-enumerable.
+       * Creates an instance of StorageSharedKeyCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       * @param factory -
        */
-      response;
+      constructor(nextPolicy, options, factory) {
+        super(nextPolicy, options);
+        this.factory = factory;
+      }
       /**
-       * Bonus property set by the throw site.
+       * Signs request.
+       *
+       * @param request -
        */
-      details;
-      constructor(message, options = {}) {
-        super(message);
-        this.name = "RestError";
-        this.code = options.code;
-        this.statusCode = options.statusCode;
-        Object.defineProperty(this, "request", { value: options.request, enumerable: false });
-        Object.defineProperty(this, "response", { value: options.response, enumerable: false });
-        const agent = this.request?.agent ? {
-          maxFreeSockets: this.request.agent.maxFreeSockets,
-          maxSockets: this.request.agent.maxSockets
-        } : void 0;
-        Object.defineProperty(this, inspect_js_1.custom, {
-          value: () => {
-            return `RestError: ${this.message} 
- ${errorSanitizer.sanitize({
-              ...this,
-              request: { ...this.request, agent },
-              response: this.response
-            })}`;
-          },
-          enumerable: false
-        });
-        Object.setPrototypeOf(this, _RestError.prototype);
-      }
-    };
-    exports2.RestError = RestError;
-    function isRestError(e) {
-      if (e instanceof RestError) {
-        return true;
-      }
-      return (0, error_js_1.isError)(e) && e.name === "RestError";
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js
-var require_bytesEncoding = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uint8ArrayToString = uint8ArrayToString;
-    exports2.stringToUint8Array = stringToUint8Array;
-    function uint8ArrayToString(bytes, format) {
-      return Buffer.from(bytes).toString(format);
-    }
-    function stringToUint8Array(value, format) {
-      return Buffer.from(value, format);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js
-var require_log2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_js_1 = require_logger();
-    exports2.logger = (0, logger_js_1.createClientLogger)("ts-http-runtime");
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js
-var require_nodeHttpClient = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getBodyLength = getBodyLength;
-    exports2.createNodeHttpClient = createNodeHttpClient;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_http_1 = tslib_1.__importDefault(require("node:http"));
-    var node_https_1 = tslib_1.__importDefault(require("node:https"));
-    var node_zlib_1 = tslib_1.__importDefault(require("node:zlib"));
-    var node_stream_1 = require("node:stream");
-    var AbortError_js_1 = require_AbortError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    var restError_js_1 = require_restError();
-    var log_js_1 = require_log2();
-    var sanitizer_js_1 = require_sanitizer();
-    var DEFAULT_TLS_SETTINGS = {};
-    function isReadableStream(body) {
-      return body && typeof body.pipe === "function";
-    }
-    function isStreamComplete(stream) {
-      if (stream.readable === false) {
-        return Promise.resolve();
-      }
-      return new Promise((resolve3) => {
-        const handler2 = () => {
-          resolve3();
-          stream.removeListener("close", handler2);
-          stream.removeListener("end", handler2);
-          stream.removeListener("error", handler2);
-        };
-        stream.on("close", handler2);
-        stream.on("end", handler2);
-        stream.on("error", handler2);
-      });
-    }
-    function isArrayBuffer(body) {
-      return body && typeof body.byteLength === "number";
-    }
-    var ReportTransform = class extends node_stream_1.Transform {
-      loadedBytes = 0;
-      progressCallback;
-      // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
-      _transform(chunk, _encoding, callback) {
-        this.push(chunk);
-        this.loadedBytes += chunk.length;
-        try {
-          this.progressCallback({ loadedBytes: this.loadedBytes });
-          callback();
-        } catch (e) {
-          callback(e);
+      signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
         }
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
+        const signature = this.factory.computeHMACSHA256(stringToSign);
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
+        return request2;
       }
-      constructor(progressCallback) {
-        super();
-        this.progressCallback = progressCallback;
-      }
-    };
-    var NodeHttpClient = class {
-      cachedHttpAgent;
-      cachedHttpsAgents = /* @__PURE__ */ new WeakMap();
       /**
-       * Makes a request over an underlying transport layer and returns the response.
-       * @param request - The request to be made.
+       * Retrieve header value according to shared key sign rules.
+       * @see https://learn.microsoft.com/en-us/rest/api/storageservices/authenticate-with-shared-key
+       *
+       * @param request -
+       * @param headerName -
        */
-      async sendRequest(request2) {
-        const abortController = new AbortController();
-        let abortListener;
-        if (request2.abortSignal) {
-          if (request2.abortSignal.aborted) {
-            throw new AbortError_js_1.AbortError("The operation was aborted. Request has already been canceled.");
-          }
-          abortListener = (event) => {
-            if (event.type === "abort") {
-              abortController.abort();
-            }
-          };
-          request2.abortSignal.addEventListener("abort", abortListener);
-        }
-        let timeoutId;
-        if (request2.timeout > 0) {
-          timeoutId = setTimeout(() => {
-            const sanitizer = new sanitizer_js_1.Sanitizer();
-            log_js_1.logger.info(`request to '${sanitizer.sanitizeUrl(request2.url)}' timed out. canceling...`);
-            abortController.abort();
-          }, request2.timeout);
-        }
-        const acceptEncoding = request2.headers.get("Accept-Encoding");
-        const shouldDecompress = acceptEncoding?.includes("gzip") || acceptEncoding?.includes("deflate");
-        let body = typeof request2.body === "function" ? request2.body() : request2.body;
-        if (body && !request2.headers.has("Content-Length")) {
-          const bodyLength = getBodyLength(body);
-          if (bodyLength !== null) {
-            request2.headers.set("Content-Length", bodyLength);
-          }
+      getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
         }
-        let responseStream;
-        try {
-          if (body && request2.onUploadProgress) {
-            const onUploadProgress = request2.onUploadProgress;
-            const uploadReportStream = new ReportTransform(onUploadProgress);
-            uploadReportStream.on("error", (e) => {
-              log_js_1.logger.error("Error in upload progress", e);
-            });
-            if (isReadableStream(body)) {
-              body.pipe(uploadReportStream);
-            } else {
-              uploadReportStream.end(body);
-            }
-            body = uploadReportStream;
-          }
-          const res = await this.makeRequest(request2, abortController, body);
-          if (timeoutId !== void 0) {
-            clearTimeout(timeoutId);
-          }
-          const headers = getResponseHeaders(res);
-          const status = res.statusCode ?? 0;
-          const response = {
-            status,
-            headers,
-            request: request2
-          };
-          if (request2.method === "HEAD") {
-            res.resume();
-            return response;
-          }
-          responseStream = shouldDecompress ? getDecodedResponseStream(res, headers) : res;
-          const onDownloadProgress = request2.onDownloadProgress;
-          if (onDownloadProgress) {
-            const downloadReportStream = new ReportTransform(onDownloadProgress);
-            downloadReportStream.on("error", (e) => {
-              log_js_1.logger.error("Error in download progress", e);
-            });
-            responseStream.pipe(downloadReportStream);
-            responseStream = downloadReportStream;
-          }
-          if (
-            // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code
-            request2.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) || request2.streamResponseStatusCodes?.has(response.status)
-          ) {
-            response.readableStreamBody = responseStream;
-          } else {
-            response.bodyAsText = await streamToText(responseStream);
-          }
-          return response;
-        } finally {
-          if (request2.abortSignal && abortListener) {
-            let uploadStreamDone = Promise.resolve();
-            if (isReadableStream(body)) {
-              uploadStreamDone = isStreamComplete(body);
-            }
-            let downloadStreamDone = Promise.resolve();
-            if (isReadableStream(responseStream)) {
-              downloadStreamDone = isStreamComplete(responseStream);
-            }
-            Promise.all([uploadStreamDone, downloadStreamDone]).then(() => {
-              if (abortListener) {
-                request2.abortSignal?.removeEventListener("abort", abortListener);
-              }
-            }).catch((e) => {
-              log_js_1.logger.warning("Error when cleaning up abortListener on httpRequest", e);
-            });
-          }
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
         }
+        return value;
       }
-      makeRequest(request2, abortController, body) {
-        const url = new URL(request2.url);
-        const isInsecure = url.protocol !== "https:";
-        if (isInsecure && !request2.allowInsecureConnection) {
-          throw new Error(`Cannot connect to ${request2.url} while allowInsecureConnection is false.`);
-        }
-        const agent = request2.agent ?? this.getOrCreateAgent(request2, isInsecure);
-        const options = {
-          agent,
-          hostname: url.hostname,
-          path: `${url.pathname}${url.search}`,
-          port: url.port,
-          method: request2.method,
-          headers: request2.headers.toJSON({ preserveCase: true }),
-          ...request2.requestOverrides
-        };
-        return new Promise((resolve3, reject) => {
-          const req = isInsecure ? node_http_1.default.request(options, resolve3) : node_https_1.default.request(options, resolve3);
-          req.once("error", (err) => {
-            reject(new restError_js_1.RestError(err.message, { code: err.code ?? restError_js_1.RestError.REQUEST_SEND_ERROR, request: request2 }));
-          });
-          abortController.signal.addEventListener("abort", () => {
-            const abortError = new AbortError_js_1.AbortError("The operation was aborted. Rejecting from abort signal callback while making request.");
-            req.destroy(abortError);
-            reject(abortError);
-          });
-          if (body && isReadableStream(body)) {
-            body.pipe(req);
-          } else if (body) {
-            if (typeof body === "string" || Buffer.isBuffer(body)) {
-              req.end(body);
-            } else if (isArrayBuffer(body)) {
-              req.end(ArrayBuffer.isView(body) ? Buffer.from(body.buffer) : Buffer.from(body));
-            } else {
-              log_js_1.logger.error("Unrecognized body type", body);
-              reject(new restError_js_1.RestError("Unrecognized body type"));
-            }
-          } else {
-            req.end();
-          }
+      /**
+       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
+       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
+       * 2. Convert each HTTP header name to lowercase.
+       * 3. Sort the headers lexicographically by header name, in ascending order.
+       *    Each header may appear only once in the string.
+       * 4. Replace any linear whitespace in the header value with a single space.
+       * 5. Trim any whitespace around the colon in the header.
+       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
+       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
+       *
+       * @param request -
+       */
+      getCanonicalizedHeadersString(request2) {
+        let headersArray = request2.headers.headersArray().filter((value) => {
+          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
         });
-      }
-      getOrCreateAgent(request2, isInsecure) {
-        const disableKeepAlive = request2.disableKeepAlive;
-        if (isInsecure) {
-          if (disableKeepAlive) {
-            return node_http_1.default.globalAgent;
-          }
-          if (!this.cachedHttpAgent) {
-            this.cachedHttpAgent = new node_http_1.default.Agent({ keepAlive: true });
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
           }
-          return this.cachedHttpAgent;
-        } else {
-          if (disableKeepAlive && !request2.tlsSettings) {
-            return node_https_1.default.globalAgent;
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
+      }
+      /**
+       * Retrieves the webResource canonicalized resource string.
+       *
+       * @param request -
+       */
+      getCanonicalizedResourceString(request2) {
+        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${this.factory.accountName}${path4}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
           }
-          const tlsSettings = request2.tlsSettings ?? DEFAULT_TLS_SETTINGS;
-          let agent = this.cachedHttpsAgents.get(tlsSettings);
-          if (agent && agent.options.keepAlive === !disableKeepAlive) {
-            return agent;
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
           }
-          log_js_1.logger.info("No cached TLS Agent exist, creating a new Agent");
-          agent = new node_https_1.default.Agent({
-            // keepAlive is true if disableKeepAlive is false.
-            keepAlive: !disableKeepAlive,
-            // Since we are spreading, if no tslSettings were provided, nothing is added to the agent options.
-            ...tlsSettings
-          });
-          this.cachedHttpsAgents.set(tlsSettings, agent);
-          return agent;
         }
+        return canonicalizedResourceString;
       }
     };
-    function getResponseHeaders(res) {
-      const headers = (0, httpHeaders_js_1.createHttpHeaders)();
-      for (const header of Object.keys(res.headers)) {
-        const value = res.headers[header];
-        if (Array.isArray(value)) {
-          if (value.length > 0) {
-            headers.set(header, value[0]);
-          }
-        } else if (value) {
-          headers.set(header, value);
-        }
+    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js
+var require_StorageSharedKeyCredential2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageSharedKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy2();
+    var Credential_js_1 = require_Credential2();
+    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
+      /**
+       * Azure Storage account name; readonly.
+       */
+      accountName;
+      /**
+       * Azure Storage account key; readonly.
+       */
+      accountKey;
+      /**
+       * Creates an instance of StorageSharedKeyCredential.
+       * @param accountName -
+       * @param accountKey -
+       */
+      constructor(accountName, accountKey) {
+        super();
+        this.accountName = accountName;
+        this.accountKey = Buffer.from(accountKey, "base64");
       }
-      return headers;
-    }
-    function getDecodedResponseStream(stream, headers) {
-      const contentEncoding = headers.get("Content-Encoding");
-      if (contentEncoding === "gzip") {
-        const unzip = node_zlib_1.default.createGunzip();
-        stream.pipe(unzip);
-        return unzip;
-      } else if (contentEncoding === "deflate") {
-        const inflate = node_zlib_1.default.createInflate();
-        stream.pipe(inflate);
-        return inflate;
+      /**
+       * Creates a StorageSharedKeyCredentialPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
       }
-      return stream;
-    }
-    function streamToText(stream) {
-      return new Promise((resolve3, reject) => {
-        const buffer = [];
-        stream.on("data", (chunk) => {
-          if (Buffer.isBuffer(chunk)) {
-            buffer.push(chunk);
-          } else {
-            buffer.push(Buffer.from(chunk));
-          }
-        });
-        stream.on("end", () => {
-          resolve3(Buffer.concat(buffer).toString("utf8"));
-        });
-        stream.on("error", (e) => {
-          if (e && e?.name === "AbortError") {
-            reject(e);
-          } else {
-            reject(new restError_js_1.RestError(`Error reading response as text: ${e.message}`, {
-              code: restError_js_1.RestError.PARSE_ERROR
-            }));
-          }
-        });
-      });
-    }
-    function getBodyLength(body) {
-      if (!body) {
-        return 0;
-      } else if (Buffer.isBuffer(body)) {
-        return body.length;
-      } else if (isReadableStream(body)) {
-        return null;
-      } else if (isArrayBuffer(body)) {
-        return body.byteLength;
-      } else if (typeof body === "string") {
-        return Buffer.from(body).length;
-      } else {
-        return null;
+      /**
+       * Generates a hash signature for an HTTP request or for a SAS.
+       *
+       * @param stringToSign -
+       */
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
       }
-    }
-    function createNodeHttpClient() {
-      return new NodeHttpClient();
-    }
+    };
+    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js
-var require_defaultHttpClient = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js"(exports2) {
+// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
+var require_AbortError4 = __commonJS({
+  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultHttpClient = createDefaultHttpClient;
-    var nodeHttpClient_js_1 = require_nodeHttpClient();
-    function createDefaultHttpClient() {
-      return (0, nodeHttpClient_js_1.createNodeHttpClient)();
-    }
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+      }
+    };
+    exports2.AbortError = AbortError;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js
-var require_logPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js
+var require_commonjs12 = __commonJS({
+  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logPolicyName = void 0;
-    exports2.logPolicy = logPolicy;
-    var log_js_1 = require_log2();
-    var sanitizer_js_1 = require_sanitizer();
-    exports2.logPolicyName = "logPolicy";
-    function logPolicy(options = {}) {
-      const logger = options.logger ?? log_js_1.logger.info;
-      const sanitizer = new sanitizer_js_1.Sanitizer({
-        additionalAllowedHeaderNames: options.additionalAllowedHeaderNames,
-        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
-      });
-      return {
-        name: exports2.logPolicyName,
-        async sendRequest(request2, next) {
-          if (!logger.enabled) {
-            return next(request2);
-          }
-          logger(`Request: ${sanitizer.sanitize(request2)}`);
-          const response = await next(request2);
-          logger(`Response status code: ${response.status}`);
-          logger(`Headers: ${sanitizer.sanitize(response.headers)}`);
-          return response;
-        }
-      };
-    }
+    exports2.AbortError = void 0;
+    var AbortError_js_1 = require_AbortError4();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js
-var require_redirectPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/log.js
+var require_log6 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/log.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.redirectPolicyName = void 0;
-    exports2.redirectPolicy = redirectPolicy;
-    exports2.redirectPolicyName = "redirectPolicy";
-    var allowedRedirect = ["GET", "HEAD"];
-    function redirectPolicy(options = {}) {
-      const { maxRetries = 20 } = options;
-      return {
-        name: exports2.redirectPolicyName,
-        async sendRequest(request2, next) {
-          const response = await next(request2);
-          return handleRedirect(next, response, maxRetries);
-        }
-      };
-    }
-    async function handleRedirect(next, response, maxRetries, currentRetries = 0) {
-      const { request: request2, status, headers } = response;
-      const locationHeader = headers.get("location");
-      if (locationHeader && (status === 300 || status === 301 && allowedRedirect.includes(request2.method) || status === 302 && allowedRedirect.includes(request2.method) || status === 303 && request2.method === "POST" || status === 307) && currentRetries < maxRetries) {
-        const url = new URL(locationHeader, request2.url);
-        request2.url = url.toString();
-        if (status === 303) {
-          request2.method = "GET";
-          request2.headers.delete("Content-Length");
-          delete request2.body;
-        }
-        request2.headers.delete("Authorization");
-        const res = await next(request2);
-        return handleRedirect(next, res, maxRetries, currentRetries + 1);
-      }
-      return response;
-    }
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs2();
+    exports2.logger = (0, logger_1.createClientLogger)("storage-common");
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js
-var require_userAgentPlatform = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js
+var require_StorageRetryPolicyType2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getHeaderName = getHeaderName;
-    exports2.setPlatformSpecificData = setPlatformSpecificData;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_os_1 = tslib_1.__importDefault(require("node:os"));
-    var node_process_1 = tslib_1.__importDefault(require("node:process"));
-    function getHeaderName() {
-      return "User-Agent";
-    }
-    async function setPlatformSpecificData(map2) {
-      if (node_process_1.default && node_process_1.default.versions) {
-        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
-        const versions = node_process_1.default.versions;
-        if (versions.bun) {
-          map2.set("Bun", `${versions.bun} (${osInfo})`);
-        } else if (versions.deno) {
-          map2.set("Deno", `${versions.deno} (${osInfo})`);
-        } else if (versions.node) {
-          map2.set("Node", `${versions.node} (${osInfo})`);
-        }
-      }
-    }
+    exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicyType;
+    (function(StorageRetryPolicyType2) {
+      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
+      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
+    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js
-var require_constants13 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js
+var require_StorageRetryPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "0.3.2";
-    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
+    exports2.StorageRetryPolicy = void 0;
+    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
+    var abort_controller_1 = require_commonjs12();
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    var constants_js_1 = require_constants16();
+    var utils_common_js_1 = require_utils_common2();
+    var log_js_1 = require_log6();
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
+    function NewRetryPolicyFactory(retryOptions) {
+      return {
+        create: (nextPolicy, options) => {
+          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
+        }
+      };
+    }
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
+    };
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * RetryOptions.
+       */
+      retryOptions;
+      /**
+       * Creates an instance of RetryPolicy.
+       *
+       * @param nextPolicy -
+       * @param options -
+       * @param retryOptions -
+       */
+      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
+        super(nextPolicy, options);
+        this.retryOptions = {
+          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
+          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
+          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
+          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
+          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
+          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
+        };
+      }
+      /**
+       * Sends request.
+       *
+       * @param request -
+       */
+      async sendRequest(request2) {
+        return this.attemptSendRequest(request2, false, 1);
+      }
+      /**
+       * Decide and perform next retry. Won't mutate request parameter.
+       *
+       * @param request -
+       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
+       *                                   the resource was not found. This may be due to replication delay. So, in this
+       *                                   case, we'll never try the secondary again for this operation.
+       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
+       *                                   the attempt will be performed by this method call.
+       */
+      async attemptSendRequest(request2, secondaryHas404, attempt) {
+        const newRequest = request2.clone();
+        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
+        if (!isPrimaryRetry) {
+          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
+        }
+        if (this.retryOptions.tryTimeoutInMs) {
+          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
+        }
+        let response;
+        try {
+          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+          response = await this._nextPolicy.sendRequest(newRequest);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
+            return response;
+          }
+          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+        } catch (err) {
+          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
+            throw err;
+          }
+        }
+        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
+        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
+      }
+      /**
+       * Decide whether to retry according to last HTTP response and retry counters.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param response -
+       * @param err -
+       */
+      shouldRetry(isPrimaryRetry, attempt, response, err) {
+        if (attempt >= this.retryOptions.maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
+          return false;
+        }
+        const retriableErrors = [
+          "ETIMEDOUT",
+          "ESOCKETTIMEDOUT",
+          "ECONNREFUSED",
+          "ECONNRESET",
+          "ENOENT",
+          "ENOTFOUND",
+          "TIMEOUT",
+          "EPIPE",
+          "REQUEST_SEND_ERROR"
+          // For default xhr based http client provided in ms-rest-js
+        ];
+        if (err) {
+          for (const retriableError of retriableErrors) {
+            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
+          }
+        }
+        if (response || err) {
+          const statusCode = response ? response.status : err ? err.statusCode : 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
+          }
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
+          }
+        }
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
+            }
+          }
+        }
+        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+          return true;
+        }
+        return false;
+      }
+      /**
+       * Delay a calculated time between retries.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param abortSignal -
+       */
+      async delay(isPrimaryRetry, attempt, abortSignal) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (this.retryOptions.retryPolicyType) {
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
+              break;
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = this.retryOptions.retryDelayInMs;
+              break;
+          }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
+        }
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
+      }
+    };
+    exports2.StorageRetryPolicy = StorageRetryPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js
-var require_userAgent = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js
+var require_StorageRetryPolicyFactory2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
-    exports2.getUserAgentValue = getUserAgentValue;
-    var userAgentPlatform_js_1 = require_userAgentPlatform();
-    var constants_js_1 = require_constants13();
-    function getUserAgentString(telemetryInfo) {
-      const parts = [];
-      for (const [key, value] of telemetryInfo) {
-        const token = value ? `${key}/${value}` : key;
-        parts.push(token);
+    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy2();
+    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
+      return StorageRetryPolicy_js_1.StorageRetryPolicy;
+    } });
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
+    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
+      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
+    } });
+    var StorageRetryPolicyFactory = class {
+      retryOptions;
+      /**
+       * Creates an instance of StorageRetryPolicyFactory.
+       * @param retryOptions -
+       */
+      constructor(retryOptions) {
+        this.retryOptions = retryOptions;
       }
-      return parts.join(" ");
-    }
-    function getUserAgentHeaderName() {
-      return (0, userAgentPlatform_js_1.getHeaderName)();
-    }
-    async function getUserAgentValue(prefix) {
-      const runtimeInfo = /* @__PURE__ */ new Map();
-      runtimeInfo.set("ts-http-runtime", constants_js_1.SDK_VERSION);
-      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
-      const defaultAgent = getUserAgentString(runtimeInfo);
-      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
-      return userAgentValue;
-    }
+      /**
+       * Creates a StorageRetryPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
+      }
+    };
+    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js
-var require_userAgentPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js
+var require_StorageBrowserPolicyV2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.userAgentPolicyName = void 0;
-    exports2.userAgentPolicy = userAgentPolicy;
-    var userAgent_js_1 = require_userAgent();
-    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
-    exports2.userAgentPolicyName = "userAgentPolicy";
-    function userAgentPolicy(options = {}) {
-      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
+    exports2.storageBrowserPolicyName = void 0;
+    exports2.storageBrowserPolicy = storageBrowserPolicy;
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants16();
+    var utils_common_js_1 = require_utils_common2();
+    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
+    function storageBrowserPolicy() {
       return {
-        name: exports2.userAgentPolicyName,
+        name: exports2.storageBrowserPolicyName,
         async sendRequest(request2, next) {
-          if (!request2.headers.has(UserAgentHeaderName)) {
-            request2.headers.set(UserAgentHeaderName, await userAgentValue);
+          if (core_util_1.isNodeLike) {
+            return next(request2);
           }
+          if (request2.method === "GET" || request2.method === "HEAD") {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+          }
+          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
+          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
           return next(request2);
         }
       };
@@ -52583,21 +66566,25 @@ var require_userAgentPolicy = __commonJS({
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js
-var require_decompressResponsePolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
+var require_StorageCorrectContentLengthPolicy = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.decompressResponsePolicyName = void 0;
-    exports2.decompressResponsePolicy = decompressResponsePolicy;
-    exports2.decompressResponsePolicyName = "decompressResponsePolicy";
-    function decompressResponsePolicy() {
+    exports2.storageCorrectContentLengthPolicyName = void 0;
+    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
+    var constants_js_1 = require_constants16();
+    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
+    function storageCorrectContentLengthPolicy() {
+      function correctContentLength(request2) {
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
+      }
       return {
-        name: exports2.decompressResponsePolicyName,
+        name: exports2.storageCorrectContentLengthPolicyName,
         async sendRequest(request2, next) {
-          if (request2.method !== "HEAD") {
-            request2.headers.set("Accept-Encoding", "gzip,deflate");
-          }
+          correctContentLength(request2);
           return next(request2);
         }
       };
@@ -52605,72949 +66592,77215 @@ var require_decompressResponsePolicy = __commonJS({
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js
-var require_random = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
-    function getRandomIntegerInclusive(min, max) {
-      min = Math.ceil(min);
-      max = Math.floor(max);
-      const offset = Math.floor(Math.random() * (max - min + 1));
-      return offset + min;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js
-var require_delay = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.calculateRetryDelay = calculateRetryDelay;
-    var random_js_1 = require_random();
-    function calculateRetryDelay(retryAttempt, config) {
-      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
-      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
-      const retryAfterInMs = clampedDelay / 2 + (0, random_js_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
-      return { retryAfterInMs };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js
-var require_helpers2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js
+var require_StorageRetryPolicyV2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.delay = delay;
-    exports2.parseHeaderValueAsNumber = parseHeaderValueAsNumber;
-    var AbortError_js_1 = require_AbortError();
-    var StandardAbortMessage = "The operation was aborted.";
-    function delay(delayInMs, value, options) {
-      return new Promise((resolve3, reject) => {
-        let timer = void 0;
-        let onAborted = void 0;
-        const rejectOnAbort = () => {
-          return reject(new AbortError_js_1.AbortError(options?.abortErrorMsg ? options?.abortErrorMsg : StandardAbortMessage));
-        };
-        const removeListeners = () => {
-          if (options?.abortSignal && onAborted) {
-            options.abortSignal.removeEventListener("abort", onAborted);
+    exports2.storageRetryPolicyName = void 0;
+    exports2.storageRetryPolicy = storageRetryPolicy;
+    var abort_controller_1 = require_commonjs12();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory2();
+    var constants_js_1 = require_constants16();
+    var utils_common_js_1 = require_utils_common2();
+    var log_js_1 = require_log6();
+    exports2.storageRetryPolicyName = "storageRetryPolicy";
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
+    };
+    var retriableErrors = [
+      "ETIMEDOUT",
+      "ESOCKETTIMEDOUT",
+      "ECONNREFUSED",
+      "ECONNRESET",
+      "ENOENT",
+      "ENOTFOUND",
+      "TIMEOUT",
+      "EPIPE",
+      "REQUEST_SEND_ERROR"
+    ];
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    function storageRetryPolicy(options = {}) {
+      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
+      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
+      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
+      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
+      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
+      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
+      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
+        if (attempt >= maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
+          return false;
+        }
+        if (error3) {
+          for (const retriableError of retriableErrors) {
+            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
           }
-        };
-        onAborted = () => {
-          if (timer) {
-            clearTimeout(timer);
+          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+            return true;
           }
-          removeListeners();
-          return rejectOnAbort();
-        };
-        if (options?.abortSignal && options.abortSignal.aborted) {
-          return rejectOnAbort();
-        }
-        timer = setTimeout(() => {
-          removeListeners();
-          resolve3(value);
-        }, delayInMs);
-        if (options?.abortSignal) {
-          options.abortSignal.addEventListener("abort", onAborted);
         }
-      });
-    }
-    function parseHeaderValueAsNumber(response, headerName) {
-      const value = response.headers.get(headerName);
-      if (!value)
-        return;
-      const valueAsNum = Number(value);
-      if (Number.isNaN(valueAsNum))
-        return;
-      return valueAsNum;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js
-var require_throttlingRetryStrategy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isThrottlingRetryResponse = isThrottlingRetryResponse;
-    exports2.throttlingRetryStrategy = throttlingRetryStrategy;
-    var helpers_js_1 = require_helpers2();
-    var RetryAfterHeader = "Retry-After";
-    var AllRetryAfterHeaders = ["retry-after-ms", "x-ms-retry-after-ms", RetryAfterHeader];
-    function getRetryAfterInMs(response) {
-      if (!(response && [429, 503].includes(response.status)))
-        return void 0;
-      try {
-        for (const header of AllRetryAfterHeaders) {
-          const retryAfterValue = (0, helpers_js_1.parseHeaderValueAsNumber)(response, header);
-          if (retryAfterValue === 0 || retryAfterValue) {
-            const multiplyingFactor = header === RetryAfterHeader ? 1e3 : 1;
-            return retryAfterValue * multiplyingFactor;
+        if (response || error3) {
+          const statusCode = response?.status ?? error3?.statusCode ?? 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
           }
-        }
-        const retryAfterHeader = response.headers.get(RetryAfterHeader);
-        if (!retryAfterHeader)
-          return;
-        const date = Date.parse(retryAfterHeader);
-        const diff = date - Date.now();
-        return Number.isFinite(diff) ? Math.max(0, diff) : void 0;
-      } catch {
-        return void 0;
-      }
-    }
-    function isThrottlingRetryResponse(response) {
-      return Number.isFinite(getRetryAfterInMs(response));
-    }
-    function throttlingRetryStrategy() {
-      return {
-        name: "throttlingRetryStrategy",
-        retry({ response }) {
-          const retryAfterInMs = getRetryAfterInMs(response);
-          if (!Number.isFinite(retryAfterInMs)) {
-            return { skipStrategy: true };
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
           }
-          return {
-            retryAfterInMs
-          };
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js
-var require_exponentialRetryStrategy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.exponentialRetryStrategy = exponentialRetryStrategy;
-    exports2.isExponentialRetryResponse = isExponentialRetryResponse;
-    exports2.isSystemError = isSystemError;
-    var delay_js_1 = require_delay();
-    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
-    var DEFAULT_CLIENT_RETRY_INTERVAL = 1e3;
-    var DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1e3 * 64;
-    function exponentialRetryStrategy(options = {}) {
-      const retryInterval = options.retryDelayInMs ?? DEFAULT_CLIENT_RETRY_INTERVAL;
-      const maxRetryInterval = options.maxRetryDelayInMs ?? DEFAULT_CLIENT_MAX_RETRY_INTERVAL;
-      return {
-        name: "exponentialRetryStrategy",
-        retry({ retryCount, response, responseError }) {
-          const matchedSystemError = isSystemError(responseError);
-          const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors;
-          const isExponential = isExponentialRetryResponse(response);
-          const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes;
-          const unknownResponse = response && ((0, throttlingRetryStrategy_js_1.isThrottlingRetryResponse)(response) || !isExponential);
-          if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) {
-            return { skipStrategy: true };
-          }
-          if (responseError && !matchedSystemError && !isExponential) {
-            return { errorToThrow: responseError };
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
+            }
           }
-          return (0, delay_js_1.calculateRetryDelay)(retryCount, {
-            retryDelayInMs: retryInterval,
-            maxRetryDelayInMs: maxRetryInterval
-          });
         }
-      };
-    }
-    function isExponentialRetryResponse(response) {
-      return Boolean(response && response.status !== void 0 && (response.status >= 500 || response.status === 408) && response.status !== 501 && response.status !== 505);
-    }
-    function isSystemError(err) {
-      if (!err) {
         return false;
       }
-      return err.code === "ETIMEDOUT" || err.code === "ESOCKETTIMEDOUT" || err.code === "ECONNREFUSED" || err.code === "ECONNRESET" || err.code === "ENOENT" || err.code === "ENOTFOUND";
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js
-var require_retryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.retryPolicy = retryPolicy;
-    var helpers_js_1 = require_helpers2();
-    var AbortError_js_1 = require_AbortError();
-    var logger_js_1 = require_logger();
-    var constants_js_1 = require_constants13();
-    var retryPolicyLogger = (0, logger_js_1.createClientLogger)("ts-http-runtime retryPolicy");
-    var retryPolicyName = "retryPolicy";
-    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
-      const logger = options.logger || retryPolicyLogger;
+      function calculateDelay(isPrimaryRetry, attempt) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (retryPolicyType) {
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
+              break;
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = retryDelayInMs;
+              break;
+          }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
+        }
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return delayTimeInMs;
+      }
       return {
-        name: retryPolicyName,
+        name: exports2.storageRetryPolicyName,
         async sendRequest(request2, next) {
+          if (tryTimeoutInMs) {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
+          }
+          const primaryUrl = request2.url;
+          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
+          let secondaryHas404 = false;
+          let attempt = 1;
+          let retryAgain = true;
           let response;
-          let responseError;
-          let retryCount = -1;
-          retryRequest: while (true) {
-            retryCount += 1;
+          let error3;
+          while (retryAgain) {
+            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
+            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
             response = void 0;
-            responseError = void 0;
+            error3 = void 0;
             try {
-              logger.info(`Retry ${retryCount}: Attempting to send request`, request2.requestId);
+              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
               response = await next(request2);
-              logger.info(`Retry ${retryCount}: Received a response from request`, request2.requestId);
+              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
             } catch (e) {
-              logger.error(`Retry ${retryCount}: Received an error from request`, request2.requestId);
-              responseError = e;
-              if (!e || responseError.name !== "RestError") {
-                throw e;
-              }
-              response = responseError.response;
-            }
-            if (request2.abortSignal?.aborted) {
-              logger.error(`Retry ${retryCount}: Request aborted.`);
-              const abortError = new AbortError_js_1.AbortError();
-              throw abortError;
-            }
-            if (retryCount >= (options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT)) {
-              logger.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`);
-              if (responseError) {
-                throw responseError;
-              } else if (response) {
-                return response;
+              if ((0, core_rest_pipeline_1.isRestError)(e)) {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
+                error3 = e;
               } else {
-                throw new Error("Maximum retries reached with no response or error to throw");
-              }
-            }
-            logger.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`);
-            strategiesLoop: for (const strategy of strategies) {
-              const strategyLogger = strategy.logger || logger;
-              strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`);
-              const modifiers = strategy.retry({
-                retryCount,
-                response,
-                responseError
-              });
-              if (modifiers.skipStrategy) {
-                strategyLogger.info(`Retry ${retryCount}: Skipped.`);
-                continue strategiesLoop;
-              }
-              const { errorToThrow, retryAfterInMs, redirectTo } = modifiers;
-              if (errorToThrow) {
-                strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow);
-                throw errorToThrow;
-              }
-              if (retryAfterInMs || retryAfterInMs === 0) {
-                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`);
-                await (0, helpers_js_1.delay)(retryAfterInMs, void 0, { abortSignal: request2.abortSignal });
-                continue retryRequest;
-              }
-              if (redirectTo) {
-                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`);
-                request2.url = redirectTo;
-                continue retryRequest;
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
+                throw e;
               }
             }
-            if (responseError) {
-              logger.info(`None of the retry strategies could work with the received error. Throwing it.`);
-              throw responseError;
+            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
+            if (retryAgain) {
+              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
             }
-            if (response) {
-              logger.info(`None of the retry strategies could work with the received response. Returning it.`);
-              return response;
+            attempt++;
+          }
+          if (response) {
+            return response;
+          }
+          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
+var require_StorageSharedKeyCredentialPolicyV2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageSharedKeyCredentialPolicyName = void 0;
+    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
+    var node_crypto_1 = require("node:crypto");
+    var constants_js_1 = require_constants16();
+    var utils_common_js_1 = require_utils_common2();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
+    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
+    function storageSharedKeyCredentialPolicy(options) {
+      function signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
+        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
+      }
+      function getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
+        }
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
+        }
+        return value;
+      }
+      function getCanonicalizedHeadersString(request2) {
+        let headersArray = [];
+        for (const [name, value] of request2.headers) {
+          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
+            headersArray.push({ name, value });
+          }
+        }
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
+          }
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
+      }
+      function getCanonicalizedResourceString(request2) {
+        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${options.accountName}${path4}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
             }
           }
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
+          }
+        }
+        return canonicalizedResourceString;
+      }
+      return {
+        name: exports2.storageSharedKeyCredentialPolicyName,
+        async sendRequest(request2, next) {
+          signRequest(request2);
+          return next(request2);
         }
       };
     }
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js
-var require_defaultRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js
+var require_StorageRequestFailureDetailsParserPolicy = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.defaultRetryPolicyName = void 0;
-    exports2.defaultRetryPolicy = defaultRetryPolicy;
-    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
-    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants13();
-    exports2.defaultRetryPolicyName = "defaultRetryPolicy";
-    function defaultRetryPolicy(options = {}) {
+    exports2.storageRequestFailureDetailsParserPolicyName = void 0;
+    exports2.storageRequestFailureDetailsParserPolicy = storageRequestFailureDetailsParserPolicy;
+    exports2.storageRequestFailureDetailsParserPolicyName = "storageRequestFailureDetailsParserPolicy";
+    function storageRequestFailureDetailsParserPolicy() {
       return {
-        name: exports2.defaultRetryPolicyName,
-        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)(), (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)(options)], {
-          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-        }).sendRequest
+        name: exports2.storageRequestFailureDetailsParserPolicyName,
+        async sendRequest(request2, next) {
+          try {
+            const response = await next(request2);
+            return response;
+          } catch (err) {
+            if (typeof err === "object" && err !== null && err.response && err.response.parsedBody) {
+              if (err.response.parsedBody.code === "InvalidHeaderValue" && err.response.parsedBody.HeaderName === "x-ms-version") {
+                err.message = "The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.\n";
+              }
+            }
+            throw err;
+          }
+        }
       };
     }
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js
-var require_checkEnvironment = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/index.js
+var require_commonjs13 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isDeno = exports2.isWebWorker = exports2.isBrowser = void 0;
-    exports2.isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
-    exports2.isWebWorker = typeof self === "object" && typeof self?.importScripts === "function" && (self.constructor?.name === "DedicatedWorkerGlobalScope" || self.constructor?.name === "ServiceWorkerGlobalScope" || self.constructor?.name === "SharedWorkerGlobalScope");
-    exports2.isDeno = typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined";
-    exports2.isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined";
-    exports2.isNodeLike = typeof globalThis.process !== "undefined" && Boolean(globalThis.process.version) && Boolean(globalThis.process.versions?.node);
-    exports2.isNodeRuntime = exports2.isNodeLike && !exports2.isBun && !exports2.isDeno;
-    exports2.isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative";
+    exports2.BaseRequestPolicy = exports2.getCachedDefaultHttpClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_BufferScheduler(), exports2);
+    var cache_js_1 = require_cache3();
+    Object.defineProperty(exports2, "getCachedDefaultHttpClient", { enumerable: true, get: function() {
+      return cache_js_1.getCachedDefaultHttpClient;
+    } });
+    tslib_1.__exportStar(require_StorageBrowserPolicyFactory(), exports2);
+    tslib_1.__exportStar(require_AnonymousCredential2(), exports2);
+    tslib_1.__exportStar(require_Credential2(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredential2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
+      return RequestPolicy_js_1.BaseRequestPolicy;
+    } });
+    tslib_1.__exportStar(require_AnonymousCredentialPolicy2(), exports2);
+    tslib_1.__exportStar(require_CredentialPolicy2(), exports2);
+    tslib_1.__exportStar(require_StorageBrowserPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageBrowserPolicyV2(), exports2);
+    tslib_1.__exportStar(require_StorageCorrectContentLengthPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyType2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicy2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyV2(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy2(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicyV2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
+    tslib_1.__exportStar(require_StorageRequestFailureDetailsParserPolicy(), exports2);
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js
-var require_formDataPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js
+var require_StorageBrowserPolicyV22 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.formDataPolicyName = void 0;
-    exports2.formDataPolicy = formDataPolicy;
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    var httpHeaders_js_1 = require_httpHeaders();
-    exports2.formDataPolicyName = "formDataPolicy";
-    function formDataToFormDataMap(formData) {
-      const formDataMap = {};
-      for (const [key, value] of formData.entries()) {
-        formDataMap[key] ??= [];
-        formDataMap[key].push(value);
-      }
-      return formDataMap;
-    }
-    function formDataPolicy() {
+    exports2.storageBrowserPolicyName = void 0;
+    exports2.storageBrowserPolicy = storageBrowserPolicy;
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
+    function storageBrowserPolicy() {
       return {
-        name: exports2.formDataPolicyName,
+        name: exports2.storageBrowserPolicyName,
         async sendRequest(request2, next) {
-          if (checkEnvironment_js_1.isNodeLike && typeof FormData !== "undefined" && request2.body instanceof FormData) {
-            request2.formData = formDataToFormDataMap(request2.body);
-            request2.body = void 0;
+          if (core_util_1.isNodeLike) {
+            return next(request2);
           }
-          if (request2.formData) {
-            const contentType = request2.headers.get("Content-Type");
-            if (contentType && contentType.indexOf("application/x-www-form-urlencoded") !== -1) {
-              request2.body = wwwFormUrlEncode(request2.formData);
-            } else {
-              await prepareFormData(request2.formData, request2);
-            }
-            request2.formData = void 0;
+          if (request2.method === "GET" || request2.method === "HEAD") {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
           }
+          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
+          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
           return next(request2);
         }
       };
     }
-    function wwwFormUrlEncode(formData) {
-      const urlSearchParams = new URLSearchParams();
-      for (const [key, value] of Object.entries(formData)) {
-        if (Array.isArray(value)) {
-          for (const subValue of value) {
-            urlSearchParams.append(key, subValue.toString());
-          }
-        } else {
-          urlSearchParams.append(key, value.toString());
-        }
-      }
-      return urlSearchParams.toString();
-    }
-    async function prepareFormData(formData, request2) {
-      const contentType = request2.headers.get("Content-Type");
-      if (contentType && !contentType.startsWith("multipart/form-data")) {
-        return;
-      }
-      request2.headers.set("Content-Type", contentType ?? "multipart/form-data");
-      const parts = [];
-      for (const [fieldName, values] of Object.entries(formData)) {
-        for (const value of Array.isArray(values) ? values : [values]) {
-          if (typeof value === "string") {
-            parts.push({
-              headers: (0, httpHeaders_js_1.createHttpHeaders)({
-                "Content-Disposition": `form-data; name="${fieldName}"`
-              }),
-              body: (0, bytesEncoding_js_1.stringToUint8Array)(value, "utf-8")
-            });
-          } else if (value === void 0 || value === null || typeof value !== "object") {
-            throw new Error(`Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`);
-          } else {
-            const fileName = value.name || "blob";
-            const headers = (0, httpHeaders_js_1.createHttpHeaders)();
-            headers.set("Content-Disposition", `form-data; name="${fieldName}"; filename="${fileName}"`);
-            headers.set("Content-Type", value.type || "application/octet-stream");
-            parts.push({
-              headers,
-              body: value
-            });
-          }
-        }
-      }
-      request2.multipartBody = { parts };
-    }
   }
 });
 
-// node_modules/ms/index.js
-var require_ms = __commonJS({
-  "node_modules/ms/index.js"(exports2, module2) {
-    var s = 1e3;
-    var m = s * 60;
-    var h = m * 60;
-    var d = h * 24;
-    var w = d * 7;
-    var y = d * 365.25;
-    module2.exports = function(val, options) {
-      options = options || {};
-      var type2 = typeof val;
-      if (type2 === "string" && val.length > 0) {
-        return parse2(val);
-      } else if (type2 === "number" && isFinite(val)) {
-        return options.long ? fmtLong(val) : fmtShort(val);
-      }
-      throw new Error(
-        "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
-      );
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js
+var require_StorageRetryPolicyV22 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageRetryPolicyName = void 0;
+    exports2.storageRetryPolicy = storageRetryPolicy;
+    var abort_controller_1 = require_commonjs11();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    var log_js_1 = require_log5();
+    exports2.storageRetryPolicyName = "storageRetryPolicy";
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
     };
-    function parse2(str2) {
-      str2 = String(str2);
-      if (str2.length > 100) {
-        return;
-      }
-      var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
-        str2
-      );
-      if (!match) {
-        return;
-      }
-      var n = parseFloat(match[1]);
-      var type2 = (match[2] || "ms").toLowerCase();
-      switch (type2) {
-        case "years":
-        case "year":
-        case "yrs":
-        case "yr":
-        case "y":
-          return n * y;
-        case "weeks":
-        case "week":
-        case "w":
-          return n * w;
-        case "days":
-        case "day":
-        case "d":
-          return n * d;
-        case "hours":
-        case "hour":
-        case "hrs":
-        case "hr":
-        case "h":
-          return n * h;
-        case "minutes":
-        case "minute":
-        case "mins":
-        case "min":
-        case "m":
-          return n * m;
-        case "seconds":
-        case "second":
-        case "secs":
-        case "sec":
-        case "s":
-          return n * s;
-        case "milliseconds":
-        case "millisecond":
-        case "msecs":
-        case "msec":
-        case "ms":
-          return n;
-        default:
-          return void 0;
-      }
-    }
-    function fmtShort(ms) {
-      var msAbs = Math.abs(ms);
-      if (msAbs >= d) {
-        return Math.round(ms / d) + "d";
-      }
-      if (msAbs >= h) {
-        return Math.round(ms / h) + "h";
-      }
-      if (msAbs >= m) {
-        return Math.round(ms / m) + "m";
-      }
-      if (msAbs >= s) {
-        return Math.round(ms / s) + "s";
-      }
-      return ms + "ms";
-    }
-    function fmtLong(ms) {
-      var msAbs = Math.abs(ms);
-      if (msAbs >= d) {
-        return plural(ms, msAbs, d, "day");
-      }
-      if (msAbs >= h) {
-        return plural(ms, msAbs, h, "hour");
-      }
-      if (msAbs >= m) {
-        return plural(ms, msAbs, m, "minute");
-      }
-      if (msAbs >= s) {
-        return plural(ms, msAbs, s, "second");
-      }
-      return ms + " ms";
-    }
-    function plural(ms, msAbs, n, name) {
-      var isPlural = msAbs >= n * 1.5;
-      return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
-    }
-  }
-});
-
-// node_modules/debug/src/common.js
-var require_common = __commonJS({
-  "node_modules/debug/src/common.js"(exports2, module2) {
-    function setup(env) {
-      createDebug.debug = createDebug;
-      createDebug.default = createDebug;
-      createDebug.coerce = coerce3;
-      createDebug.disable = disable;
-      createDebug.enable = enable;
-      createDebug.enabled = enabled;
-      createDebug.humanize = require_ms();
-      createDebug.destroy = destroy;
-      Object.keys(env).forEach((key) => {
-        createDebug[key] = env[key];
-      });
-      createDebug.names = [];
-      createDebug.skips = [];
-      createDebug.formatters = {};
-      function selectColor(namespace) {
-        let hash = 0;
-        for (let i = 0; i < namespace.length; i++) {
-          hash = (hash << 5) - hash + namespace.charCodeAt(i);
-          hash |= 0;
+    var retriableErrors = [
+      "ETIMEDOUT",
+      "ESOCKETTIMEDOUT",
+      "ECONNREFUSED",
+      "ECONNRESET",
+      "ENOENT",
+      "ENOTFOUND",
+      "TIMEOUT",
+      "EPIPE",
+      "REQUEST_SEND_ERROR"
+    ];
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    function storageRetryPolicy(options = {}) {
+      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
+      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
+      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
+      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
+      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
+      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
+      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
+        if (attempt >= maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
+          return false;
         }
-        return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
-      }
-      createDebug.selectColor = selectColor;
-      function createDebug(namespace) {
-        let prevTime;
-        let enableOverride = null;
-        let namespacesCache;
-        let enabledCache;
-        function debug4(...args) {
-          if (!debug4.enabled) {
-            return;
+        if (error3) {
+          for (const retriableError of retriableErrors) {
+            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
           }
-          const self2 = debug4;
-          const curr = Number(/* @__PURE__ */ new Date());
-          const ms = curr - (prevTime || curr);
-          self2.diff = ms;
-          self2.prev = prevTime;
-          self2.curr = curr;
-          prevTime = curr;
-          args[0] = createDebug.coerce(args[0]);
-          if (typeof args[0] !== "string") {
-            args.unshift("%O");
+          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+            return true;
           }
-          let index = 0;
-          args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
-            if (match === "%%") {
-              return "%";
-            }
-            index++;
-            const formatter = createDebug.formatters[format];
-            if (typeof formatter === "function") {
-              const val = args[index];
-              match = formatter.call(self2, val);
-              args.splice(index, 1);
-              index--;
+        }
+        if (response || error3) {
+          const statusCode = response?.status ?? error3?.statusCode ?? 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
+          }
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
+          }
+        }
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
             }
-            return match;
-          });
-          createDebug.formatArgs.call(self2, args);
-          const logFn = self2.log || createDebug.log;
-          logFn.apply(self2, args);
+          }
         }
-        debug4.namespace = namespace;
-        debug4.useColors = createDebug.useColors();
-        debug4.color = createDebug.selectColor(namespace);
-        debug4.extend = extend3;
-        debug4.destroy = createDebug.destroy;
-        Object.defineProperty(debug4, "enabled", {
-          enumerable: true,
-          configurable: false,
-          get: () => {
-            if (enableOverride !== null) {
-              return enableOverride;
+        return false;
+      }
+      function calculateDelay(isPrimaryRetry, attempt) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (retryPolicyType) {
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
+              break;
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = retryDelayInMs;
+              break;
+          }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
+        }
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return delayTimeInMs;
+      }
+      return {
+        name: exports2.storageRetryPolicyName,
+        async sendRequest(request2, next) {
+          if (tryTimeoutInMs) {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
+          }
+          const primaryUrl = request2.url;
+          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
+          let secondaryHas404 = false;
+          let attempt = 1;
+          let retryAgain = true;
+          let response;
+          let error3;
+          while (retryAgain) {
+            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
+            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
+            response = void 0;
+            error3 = void 0;
+            try {
+              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+              response = await next(request2);
+              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+            } catch (e) {
+              if ((0, core_rest_pipeline_1.isRestError)(e)) {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
+                error3 = e;
+              } else {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
+                throw e;
+              }
             }
-            if (namespacesCache !== createDebug.namespaces) {
-              namespacesCache = createDebug.namespaces;
-              enabledCache = createDebug.enabled(namespace);
+            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
+            if (retryAgain) {
+              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
             }
-            return enabledCache;
-          },
-          set: (v) => {
-            enableOverride = v;
+            attempt++;
           }
-        });
-        if (typeof createDebug.init === "function") {
-          createDebug.init(debug4);
+          if (response) {
+            return response;
+          }
+          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
         }
-        return debug4;
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
+var require_StorageSharedKeyCredentialPolicyV22 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageSharedKeyCredentialPolicyName = void 0;
+    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
+    var node_crypto_1 = require("node:crypto");
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
+    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
+    function storageSharedKeyCredentialPolicy(options) {
+      function signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
+        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
       }
-      function extend3(namespace, delimiter) {
-        const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
-        newDebug.log = this.log;
-        return newDebug;
+      function getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
+        }
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
+        }
+        return value;
       }
-      function enable(namespaces) {
-        createDebug.save(namespaces);
-        createDebug.namespaces = namespaces;
-        createDebug.names = [];
-        createDebug.skips = [];
-        const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
-        for (const ns of split) {
-          if (ns[0] === "-") {
-            createDebug.skips.push(ns.slice(1));
-          } else {
-            createDebug.names.push(ns);
+      function getCanonicalizedHeadersString(request2) {
+        let headersArray = [];
+        for (const [name, value] of request2.headers) {
+          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
+            headersArray.push({ name, value });
           }
         }
-      }
-      function matchesTemplate(search, template) {
-        let searchIndex = 0;
-        let templateIndex = 0;
-        let starIndex = -1;
-        let matchIndex = 0;
-        while (searchIndex < search.length) {
-          if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
-            if (template[templateIndex] === "*") {
-              starIndex = templateIndex;
-              matchIndex = searchIndex;
-              templateIndex++;
-            } else {
-              searchIndex++;
-              templateIndex++;
-            }
-          } else if (starIndex !== -1) {
-            templateIndex = starIndex + 1;
-            matchIndex++;
-            searchIndex = matchIndex;
-          } else {
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
             return false;
           }
-        }
-        while (templateIndex < template.length && template[templateIndex] === "*") {
-          templateIndex++;
-        }
-        return templateIndex === template.length;
-      }
-      function disable() {
-        const namespaces = [
-          ...createDebug.names,
-          ...createDebug.skips.map((namespace) => "-" + namespace)
-        ].join(",");
-        createDebug.enable("");
-        return namespaces;
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
       }
-      function enabled(name) {
-        for (const skip of createDebug.skips) {
-          if (matchesTemplate(name, skip)) {
-            return false;
+      function getCanonicalizedResourceString(request2) {
+        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${options.accountName}${path4}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
           }
-        }
-        for (const ns of createDebug.names) {
-          if (matchesTemplate(name, ns)) {
-            return true;
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
           }
         }
-        return false;
+        return canonicalizedResourceString;
       }
-      function coerce3(val) {
-        if (val instanceof Error) {
-          return val.stack || val.message;
+      return {
+        name: exports2.storageSharedKeyCredentialPolicyName,
+        async sendRequest(request2, next) {
+          signRequest(request2);
+          return next(request2);
         }
-        return val;
-      }
-      function destroy() {
-        console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
-      }
-      createDebug.enable(createDebug.load());
-      return createDebug;
+      };
     }
-    module2.exports = setup;
   }
 });
 
-// node_modules/debug/src/browser.js
-var require_browser = __commonJS({
-  "node_modules/debug/src/browser.js"(exports2, module2) {
-    exports2.formatArgs = formatArgs;
-    exports2.save = save;
-    exports2.load = load2;
-    exports2.useColors = useColors;
-    exports2.storage = localstorage();
-    exports2.destroy = /* @__PURE__ */ (() => {
-      let warned = false;
-      return () => {
-        if (!warned) {
-          warned = true;
-          console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
-        }
-      };
-    })();
-    exports2.colors = [
-      "#0000CC",
-      "#0000FF",
-      "#0033CC",
-      "#0033FF",
-      "#0066CC",
-      "#0066FF",
-      "#0099CC",
-      "#0099FF",
-      "#00CC00",
-      "#00CC33",
-      "#00CC66",
-      "#00CC99",
-      "#00CCCC",
-      "#00CCFF",
-      "#3300CC",
-      "#3300FF",
-      "#3333CC",
-      "#3333FF",
-      "#3366CC",
-      "#3366FF",
-      "#3399CC",
-      "#3399FF",
-      "#33CC00",
-      "#33CC33",
-      "#33CC66",
-      "#33CC99",
-      "#33CCCC",
-      "#33CCFF",
-      "#6600CC",
-      "#6600FF",
-      "#6633CC",
-      "#6633FF",
-      "#66CC00",
-      "#66CC33",
-      "#9900CC",
-      "#9900FF",
-      "#9933CC",
-      "#9933FF",
-      "#99CC00",
-      "#99CC33",
-      "#CC0000",
-      "#CC0033",
-      "#CC0066",
-      "#CC0099",
-      "#CC00CC",
-      "#CC00FF",
-      "#CC3300",
-      "#CC3333",
-      "#CC3366",
-      "#CC3399",
-      "#CC33CC",
-      "#CC33FF",
-      "#CC6600",
-      "#CC6633",
-      "#CC9900",
-      "#CC9933",
-      "#CCCC00",
-      "#CCCC33",
-      "#FF0000",
-      "#FF0033",
-      "#FF0066",
-      "#FF0099",
-      "#FF00CC",
-      "#FF00FF",
-      "#FF3300",
-      "#FF3333",
-      "#FF3366",
-      "#FF3399",
-      "#FF33CC",
-      "#FF33FF",
-      "#FF6600",
-      "#FF6633",
-      "#FF9900",
-      "#FF9933",
-      "#FFCC00",
-      "#FFCC33"
-    ];
-    function useColors() {
-      if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
-        return true;
-      }
-      if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
-        return false;
-      }
-      let m;
-      return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
-      typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
-      // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
-      typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
-      typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
-    }
-    function formatArgs(args) {
-      args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
-      if (!this.useColors) {
-        return;
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js
+var require_StorageBrowserPolicy2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBrowserPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * Creates an instance of StorageBrowserPolicy.
+       * @param nextPolicy -
+       * @param options -
+       */
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
       }
-      const c = "color: " + this.color;
-      args.splice(1, 0, c, "color: inherit");
-      let index = 0;
-      let lastC = 0;
-      args[0].replace(/%[a-zA-Z%]/g, (match) => {
-        if (match === "%%") {
-          return;
-        }
-        index++;
-        if (match === "%c") {
-          lastC = index;
+      /**
+       * Sends out request.
+       *
+       * @param request -
+       */
+      async sendRequest(request2) {
+        if (core_util_1.isNodeLike) {
+          return this._nextPolicy.sendRequest(request2);
         }
-      });
-      args.splice(lastC, 0, c);
-    }
-    exports2.log = console.debug || console.log || (() => {
-    });
-    function save(namespaces) {
-      try {
-        if (namespaces) {
-          exports2.storage.setItem("debug", namespaces);
-        } else {
-          exports2.storage.removeItem("debug");
+        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
+          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
         }
-      } catch (error3) {
-      }
-    }
-    function load2() {
-      let r;
-      try {
-        r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG");
-      } catch (error3) {
-      }
-      if (!r && typeof process !== "undefined" && "env" in process) {
-        r = process.env.DEBUG;
-      }
-      return r;
-    }
-    function localstorage() {
-      try {
-        return localStorage;
-      } catch (error3) {
-      }
-    }
-    module2.exports = require_common()(exports2);
-    var { formatters } = module2.exports;
-    formatters.j = function(v) {
-      try {
-        return JSON.stringify(v);
-      } catch (error3) {
-        return "[UnexpectedJSONParseError]: " + error3.message;
+        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
+        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+        return this._nextPolicy.sendRequest(request2);
       }
     };
+    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
   }
 });
 
-// node_modules/has-flag/index.js
-var require_has_flag = __commonJS({
-  "node_modules/has-flag/index.js"(exports2, module2) {
+// node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js
+var require_StorageBrowserPolicyFactory2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
     "use strict";
-    module2.exports = (flag, argv = process.argv) => {
-      const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
-      const position = argv.indexOf(prefix + flag);
-      const terminatorPosition = argv.indexOf("--");
-      return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
+    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy2();
+    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
+      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
+    } });
+    var StorageBrowserPolicyFactory = class {
+      /**
+       * Creates a StorageBrowserPolicyFactory object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
+      }
     };
+    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
   }
 });
 
-// node_modules/supports-color/index.js
-var require_supports_color = __commonJS({
-  "node_modules/supports-color/index.js"(exports2, module2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
+var require_StorageCorrectContentLengthPolicy2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
     "use strict";
-    var os2 = require("os");
-    var tty = require("tty");
-    var hasFlag = require_has_flag();
-    var { env } = process;
-    var forceColor;
-    if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
-      forceColor = 0;
-    } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
-      forceColor = 1;
-    }
-    if ("FORCE_COLOR" in env) {
-      if (env.FORCE_COLOR === "true") {
-        forceColor = 1;
-      } else if (env.FORCE_COLOR === "false") {
-        forceColor = 0;
-      } else {
-        forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageCorrectContentLengthPolicyName = void 0;
+    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
+    var constants_js_1 = require_constants15();
+    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
+    function storageCorrectContentLengthPolicy() {
+      function correctContentLength(request2) {
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
       }
+      return {
+        name: exports2.storageCorrectContentLengthPolicyName,
+        async sendRequest(request2, next) {
+          correctContentLength(request2);
+          return next(request2);
+        }
+      };
     }
-    function translateLevel(level) {
-      if (level === 0) {
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js
+var require_Pipeline = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Pipeline = exports2.StorageOAuthScopes = void 0;
+    exports2.isPipelineLike = isPipelineLike;
+    exports2.newPipeline = newPipeline;
+    exports2.getCoreClientOptions = getCoreClientOptions;
+    exports2.getCredentialFromPipeline = getCredentialFromPipeline;
+    var core_http_compat_1 = require_commonjs9();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_client_1 = require_commonjs8();
+    var core_xml_1 = require_commonjs10();
+    var core_auth_1 = require_commonjs7();
+    var log_js_1 = require_log5();
+    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var constants_js_1 = require_constants15();
+    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
+      return constants_js_1.StorageOAuthScopes;
+    } });
+    var storage_common_1 = require_commonjs13();
+    var StorageBrowserPolicyV2_js_1 = require_StorageBrowserPolicyV22();
+    var StorageRetryPolicyV2_js_1 = require_StorageRetryPolicyV22();
+    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
+    var StorageBrowserPolicyFactory_js_1 = require_StorageBrowserPolicyFactory2();
+    var StorageCorrectContentLengthPolicy_js_1 = require_StorageCorrectContentLengthPolicy2();
+    function isPipelineLike(pipeline) {
+      if (!pipeline || typeof pipeline !== "object") {
         return false;
       }
-      return {
-        level,
-        hasBasic: true,
-        has256: level >= 2,
-        has16m: level >= 3
-      };
+      const castPipeline = pipeline;
+      return Array.isArray(castPipeline.factories) && typeof castPipeline.options === "object" && typeof castPipeline.toServiceClientOptions === "function";
     }
-    function supportsColor(haveStream, streamIsTTY) {
-      if (forceColor === 0) {
-        return 0;
+    var Pipeline = class {
+      /**
+       * A list of chained request policy factories.
+       */
+      factories;
+      /**
+       * Configures pipeline logger and HTTP client.
+       */
+      options;
+      /**
+       * Creates an instance of Pipeline. Customize HTTPClient by implementing IHttpClient interface.
+       *
+       * @param factories -
+       * @param options -
+       */
+      constructor(factories, options = {}) {
+        this.factories = factories;
+        this.options = options;
       }
-      if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
-        return 3;
+      /**
+       * Transfer Pipeline object to ServiceClientOptions object which is required by
+       * ServiceClient constructor.
+       *
+       * @returns The ServiceClientOptions object from this Pipeline.
+       */
+      toServiceClientOptions() {
+        return {
+          httpClient: this.options.httpClient,
+          requestPolicyFactories: this.factories
+        };
       }
-      if (hasFlag("color=256")) {
-        return 2;
+    };
+    exports2.Pipeline = Pipeline;
+    function newPipeline(credential, pipelineOptions = {}) {
+      if (!credential) {
+        credential = new AnonymousCredential_js_1.AnonymousCredential();
       }
-      if (haveStream && !streamIsTTY && forceColor === void 0) {
-        return 0;
+      const pipeline = new Pipeline([], pipelineOptions);
+      pipeline._credential = credential;
+      return pipeline;
+    }
+    function processDownlevelPipeline(pipeline) {
+      const knownFactoryFunctions = [
+        isAnonymousCredential,
+        isStorageSharedKeyCredential,
+        isCoreHttpBearerTokenFactory,
+        isStorageBrowserPolicyFactory,
+        isStorageRetryPolicyFactory,
+        isStorageTelemetryPolicyFactory,
+        isCoreHttpPolicyFactory
+      ];
+      if (pipeline.factories.length) {
+        const novelFactories = pipeline.factories.filter((factory) => {
+          return !knownFactoryFunctions.some((knownFactory) => knownFactory(factory));
+        });
+        if (novelFactories.length) {
+          const hasInjector = novelFactories.some((factory) => isInjectorPolicyFactory(factory));
+          return {
+            wrappedPolicies: (0, core_http_compat_1.createRequestPolicyFactoryPolicy)(novelFactories),
+            afterRetry: hasInjector
+          };
+        }
       }
-      const min = forceColor || 0;
-      if (env.TERM === "dumb") {
-        return min;
+      return void 0;
+    }
+    function getCoreClientOptions(pipeline) {
+      const { httpClient: v1Client, ...restOptions } = pipeline.options;
+      let httpClient = pipeline._coreHttpClient;
+      if (!httpClient) {
+        httpClient = v1Client ? (0, core_http_compat_1.convertHttpClient)(v1Client) : (0, storage_common_1.getCachedDefaultHttpClient)();
+        pipeline._coreHttpClient = httpClient;
       }
-      if (process.platform === "win32") {
-        const osRelease = os2.release().split(".");
-        if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
-          return Number(osRelease[2]) >= 14931 ? 3 : 2;
+      let corePipeline = pipeline._corePipeline;
+      if (!corePipeline) {
+        const packageDetails = `azsdk-js-azure-storage-blob/${constants_js_1.SDK_VERSION}`;
+        const userAgentPrefix = restOptions.userAgentOptions && restOptions.userAgentOptions.userAgentPrefix ? `${restOptions.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
+        corePipeline = (0, core_client_1.createClientPipeline)({
+          ...restOptions,
+          loggingOptions: {
+            additionalAllowedHeaderNames: constants_js_1.StorageBlobLoggingAllowedHeaderNames,
+            additionalAllowedQueryParameters: constants_js_1.StorageBlobLoggingAllowedQueryParameters,
+            logger: log_js_1.logger.info
+          },
+          userAgentOptions: {
+            userAgentPrefix
+          },
+          serializationOptions: {
+            stringifyXML: core_xml_1.stringifyXML,
+            serializerOptions: {
+              xml: {
+                // Use customized XML char key of "#" so we can deserialize metadata
+                // with "_" key
+                xmlCharKey: "#"
+              }
+            }
+          },
+          deserializationOptions: {
+            parseXML: core_xml_1.parseXML,
+            serializerOptions: {
+              xml: {
+                // Use customized XML char key of "#" so we can deserialize metadata
+                // with "_" key
+                xmlCharKey: "#"
+              }
+            }
+          }
+        });
+        corePipeline.removePolicy({ phase: "Retry" });
+        corePipeline.removePolicy({ name: core_rest_pipeline_1.decompressResponsePolicyName });
+        corePipeline.addPolicy((0, StorageCorrectContentLengthPolicy_js_1.storageCorrectContentLengthPolicy)());
+        corePipeline.addPolicy((0, StorageRetryPolicyV2_js_1.storageRetryPolicy)(restOptions.retryOptions), { phase: "Retry" });
+        corePipeline.addPolicy((0, storage_common_1.storageRequestFailureDetailsParserPolicy)());
+        corePipeline.addPolicy((0, StorageBrowserPolicyV2_js_1.storageBrowserPolicy)());
+        const downlevelResults = processDownlevelPipeline(pipeline);
+        if (downlevelResults) {
+          corePipeline.addPolicy(downlevelResults.wrappedPolicies, downlevelResults.afterRetry ? { afterPhase: "Retry" } : void 0);
         }
-        return 1;
-      }
-      if ("CI" in env) {
-        if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
-          return 1;
+        const credential = getCredentialFromPipeline(pipeline);
+        if ((0, core_auth_1.isTokenCredential)(credential)) {
+          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+            credential,
+            scopes: restOptions.audience ?? constants_js_1.StorageOAuthScopes,
+            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
+          }), { phase: "Sign" });
+        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
+            accountName: credential.accountName,
+            accountKey: credential.accountKey
+          }), { phase: "Sign" });
         }
-        return min;
-      }
-      if ("TEAMCITY_VERSION" in env) {
-        return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
+        pipeline._corePipeline = corePipeline;
       }
-      if (env.COLORTERM === "truecolor") {
-        return 3;
+      return {
+        ...restOptions,
+        allowInsecureConnection: true,
+        httpClient,
+        pipeline: corePipeline
+      };
+    }
+    function getCredentialFromPipeline(pipeline) {
+      if (pipeline._credential) {
+        return pipeline._credential;
       }
-      if ("TERM_PROGRAM" in env) {
-        const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
-        switch (env.TERM_PROGRAM) {
-          case "iTerm.app":
-            return version >= 3 ? 3 : 2;
-          case "Apple_Terminal":
-            return 2;
+      let credential = new AnonymousCredential_js_1.AnonymousCredential();
+      for (const factory of pipeline.factories) {
+        if ((0, core_auth_1.isTokenCredential)(factory.credential)) {
+          credential = factory.credential;
+        } else if (isStorageSharedKeyCredential(factory)) {
+          return factory;
         }
       }
-      if (/-256(color)?$/i.test(env.TERM)) {
-        return 2;
-      }
-      if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
-        return 1;
-      }
-      if ("COLORTERM" in env) {
-        return 1;
-      }
-      return min;
-    }
-    function getSupportLevel(stream) {
-      const level = supportsColor(stream, stream && stream.isTTY);
-      return translateLevel(level);
+      return credential;
     }
-    module2.exports = {
-      supportsColor: getSupportLevel,
-      stdout: translateLevel(supportsColor(true, tty.isatty(1))),
-      stderr: translateLevel(supportsColor(true, tty.isatty(2)))
-    };
-  }
-});
-
-// node_modules/debug/src/node.js
-var require_node = __commonJS({
-  "node_modules/debug/src/node.js"(exports2, module2) {
-    var tty = require("tty");
-    var util = require("util");
-    exports2.init = init;
-    exports2.log = log;
-    exports2.formatArgs = formatArgs;
-    exports2.save = save;
-    exports2.load = load2;
-    exports2.useColors = useColors;
-    exports2.destroy = util.deprecate(
-      () => {
-      },
-      "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
-    );
-    exports2.colors = [6, 2, 3, 4, 5, 1];
-    try {
-      const supportsColor = require_supports_color();
-      if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
-        exports2.colors = [
-          20,
-          21,
-          26,
-          27,
-          32,
-          33,
-          38,
-          39,
-          40,
-          41,
-          42,
-          43,
-          44,
-          45,
-          56,
-          57,
-          62,
-          63,
-          68,
-          69,
-          74,
-          75,
-          76,
-          77,
-          78,
-          79,
-          80,
-          81,
-          92,
-          93,
-          98,
-          99,
-          112,
-          113,
-          128,
-          129,
-          134,
-          135,
-          148,
-          149,
-          160,
-          161,
-          162,
-          163,
-          164,
-          165,
-          166,
-          167,
-          168,
-          169,
-          170,
-          171,
-          172,
-          173,
-          178,
-          179,
-          184,
-          185,
-          196,
-          197,
-          198,
-          199,
-          200,
-          201,
-          202,
-          203,
-          204,
-          205,
-          206,
-          207,
-          208,
-          209,
-          214,
-          215,
-          220,
-          221
-        ];
+    function isStorageSharedKeyCredential(factory) {
+      if (factory instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+        return true;
       }
-    } catch (error3) {
+      return factory.constructor.name === "StorageSharedKeyCredential";
     }
-    exports2.inspectOpts = Object.keys(process.env).filter((key) => {
-      return /^debug_/i.test(key);
-    }).reduce((obj, key) => {
-      const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k) => {
-        return k.toUpperCase();
-      });
-      let val = process.env[key];
-      if (/^(yes|on|true|enabled)$/i.test(val)) {
-        val = true;
-      } else if (/^(no|off|false|disabled)$/i.test(val)) {
-        val = false;
-      } else if (val === "null") {
-        val = null;
-      } else {
-        val = Number(val);
+    function isAnonymousCredential(factory) {
+      if (factory instanceof AnonymousCredential_js_1.AnonymousCredential) {
+        return true;
       }
-      obj[prop] = val;
-      return obj;
-    }, {});
-    function useColors() {
-      return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd);
+      return factory.constructor.name === "AnonymousCredential";
     }
-    function formatArgs(args) {
-      const { namespace: name, useColors: useColors2 } = this;
-      if (useColors2) {
-        const c = this.color;
-        const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
-        const prefix = `  ${colorCode};1m${name} \x1B[0m`;
-        args[0] = prefix + args[0].split("\n").join("\n" + prefix);
-        args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
-      } else {
-        args[0] = getDate() + name + " " + args[0];
-      }
+    function isCoreHttpBearerTokenFactory(factory) {
+      return (0, core_auth_1.isTokenCredential)(factory.credential);
     }
-    function getDate() {
-      if (exports2.inspectOpts.hideDate) {
-        return "";
+    function isStorageBrowserPolicyFactory(factory) {
+      if (factory instanceof StorageBrowserPolicyFactory_js_1.StorageBrowserPolicyFactory) {
+        return true;
       }
-      return (/* @__PURE__ */ new Date()).toISOString() + " ";
-    }
-    function log(...args) {
-      return process.stderr.write(util.formatWithOptions(exports2.inspectOpts, ...args) + "\n");
+      return factory.constructor.name === "StorageBrowserPolicyFactory";
     }
-    function save(namespaces) {
-      if (namespaces) {
-        process.env.DEBUG = namespaces;
-      } else {
-        delete process.env.DEBUG;
+    function isStorageRetryPolicyFactory(factory) {
+      if (factory instanceof StorageRetryPolicyFactory_js_1.StorageRetryPolicyFactory) {
+        return true;
       }
+      return factory.constructor.name === "StorageRetryPolicyFactory";
     }
-    function load2() {
-      return process.env.DEBUG;
+    function isStorageTelemetryPolicyFactory(factory) {
+      return factory.constructor.name === "TelemetryPolicyFactory";
     }
-    function init(debug4) {
-      debug4.inspectOpts = {};
-      const keys = Object.keys(exports2.inspectOpts);
-      for (let i = 0; i < keys.length; i++) {
-        debug4.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
-      }
+    function isInjectorPolicyFactory(factory) {
+      return factory.constructor.name === "InjectorPolicyFactory";
     }
-    module2.exports = require_common()(exports2);
-    var { formatters } = module2.exports;
-    formatters.o = function(v) {
-      this.inspectOpts.colors = this.useColors;
-      return util.inspect(v, this.inspectOpts).split("\n").map((str2) => str2.trim()).join(" ");
-    };
-    formatters.O = function(v) {
-      this.inspectOpts.colors = this.useColors;
-      return util.inspect(v, this.inspectOpts);
-    };
-  }
-});
-
-// node_modules/debug/src/index.js
-var require_src = __commonJS({
-  "node_modules/debug/src/index.js"(exports2, module2) {
-    if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
-      module2.exports = require_browser();
-    } else {
-      module2.exports = require_node();
+    function isCoreHttpPolicyFactory(factory) {
+      const knownPolicies = [
+        "GenerateClientRequestIdPolicy",
+        "TracingPolicy",
+        "LogPolicy",
+        "ProxyPolicy",
+        "DisableResponseDecompressionPolicy",
+        "KeepAlivePolicy",
+        "DeserializationPolicy"
+      ];
+      const mockHttpClient = {
+        sendRequest: async (request2) => {
+          return {
+            request: request2,
+            headers: request2.headers.clone(),
+            status: 500
+          };
+        }
+      };
+      const mockRequestPolicyOptions = {
+        log(_logLevel, _message) {
+        },
+        shouldLog(_logLevel) {
+          return false;
+        }
+      };
+      const policyInstance = factory.create(mockHttpClient, mockRequestPolicyOptions);
+      const policyName = policyInstance.constructor.name;
+      return knownPolicies.some((knownPolicyName) => {
+        return policyName.startsWith(knownPolicyName);
+      });
     }
   }
 });
 
-// node_modules/agent-base/dist/helpers.js
-var require_helpers3 = __commonJS({
-  "node_modules/agent-base/dist/helpers.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js
+var require_models = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.req = exports2.json = exports2.toBuffer = void 0;
-    var http = __importStar2(require("http"));
-    var https2 = __importStar2(require("https"));
-    async function toBuffer(stream) {
-      let length = 0;
-      const chunks = [];
-      for await (const chunk of stream) {
-        length += chunk.length;
-        chunks.push(chunk);
-      }
-      return Buffer.concat(chunks, length);
-    }
-    exports2.toBuffer = toBuffer;
-    async function json2(stream) {
-      const buf = await toBuffer(stream);
-      const str2 = buf.toString("utf8");
-      try {
-        return JSON.parse(str2);
-      } catch (_err) {
-        const err = _err;
-        err.message += ` (input: ${str2})`;
-        throw err;
-      }
-    }
-    exports2.json = json2;
-    function req(url, opts = {}) {
-      const href = typeof url === "string" ? url : url.href;
-      const req2 = (href.startsWith("https:") ? https2 : http).request(url, opts);
-      const promise = new Promise((resolve3, reject) => {
-        req2.once("response", resolve3).once("error", reject).end();
-      });
-      req2.then = promise.then.bind(promise);
-      return req2;
-    }
-    exports2.req = req;
+    exports2.KnownStorageErrorCode = exports2.KnownBlobExpiryOptions = exports2.KnownFileShareTokenIntent = exports2.KnownEncryptionAlgorithmType = void 0;
+    var KnownEncryptionAlgorithmType;
+    (function(KnownEncryptionAlgorithmType2) {
+      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
+    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
+    var KnownFileShareTokenIntent;
+    (function(KnownFileShareTokenIntent2) {
+      KnownFileShareTokenIntent2["Backup"] = "backup";
+    })(KnownFileShareTokenIntent || (exports2.KnownFileShareTokenIntent = KnownFileShareTokenIntent = {}));
+    var KnownBlobExpiryOptions;
+    (function(KnownBlobExpiryOptions2) {
+      KnownBlobExpiryOptions2["NeverExpire"] = "NeverExpire";
+      KnownBlobExpiryOptions2["RelativeToCreation"] = "RelativeToCreation";
+      KnownBlobExpiryOptions2["RelativeToNow"] = "RelativeToNow";
+      KnownBlobExpiryOptions2["Absolute"] = "Absolute";
+    })(KnownBlobExpiryOptions || (exports2.KnownBlobExpiryOptions = KnownBlobExpiryOptions = {}));
+    var KnownStorageErrorCode;
+    (function(KnownStorageErrorCode2) {
+      KnownStorageErrorCode2["AccountAlreadyExists"] = "AccountAlreadyExists";
+      KnownStorageErrorCode2["AccountBeingCreated"] = "AccountBeingCreated";
+      KnownStorageErrorCode2["AccountIsDisabled"] = "AccountIsDisabled";
+      KnownStorageErrorCode2["AuthenticationFailed"] = "AuthenticationFailed";
+      KnownStorageErrorCode2["AuthorizationFailure"] = "AuthorizationFailure";
+      KnownStorageErrorCode2["ConditionHeadersNotSupported"] = "ConditionHeadersNotSupported";
+      KnownStorageErrorCode2["ConditionNotMet"] = "ConditionNotMet";
+      KnownStorageErrorCode2["EmptyMetadataKey"] = "EmptyMetadataKey";
+      KnownStorageErrorCode2["InsufficientAccountPermissions"] = "InsufficientAccountPermissions";
+      KnownStorageErrorCode2["InternalError"] = "InternalError";
+      KnownStorageErrorCode2["InvalidAuthenticationInfo"] = "InvalidAuthenticationInfo";
+      KnownStorageErrorCode2["InvalidHeaderValue"] = "InvalidHeaderValue";
+      KnownStorageErrorCode2["InvalidHttpVerb"] = "InvalidHttpVerb";
+      KnownStorageErrorCode2["InvalidInput"] = "InvalidInput";
+      KnownStorageErrorCode2["InvalidMd5"] = "InvalidMd5";
+      KnownStorageErrorCode2["InvalidMetadata"] = "InvalidMetadata";
+      KnownStorageErrorCode2["InvalidQueryParameterValue"] = "InvalidQueryParameterValue";
+      KnownStorageErrorCode2["InvalidRange"] = "InvalidRange";
+      KnownStorageErrorCode2["InvalidResourceName"] = "InvalidResourceName";
+      KnownStorageErrorCode2["InvalidUri"] = "InvalidUri";
+      KnownStorageErrorCode2["InvalidXmlDocument"] = "InvalidXmlDocument";
+      KnownStorageErrorCode2["InvalidXmlNodeValue"] = "InvalidXmlNodeValue";
+      KnownStorageErrorCode2["Md5Mismatch"] = "Md5Mismatch";
+      KnownStorageErrorCode2["MetadataTooLarge"] = "MetadataTooLarge";
+      KnownStorageErrorCode2["MissingContentLengthHeader"] = "MissingContentLengthHeader";
+      KnownStorageErrorCode2["MissingRequiredQueryParameter"] = "MissingRequiredQueryParameter";
+      KnownStorageErrorCode2["MissingRequiredHeader"] = "MissingRequiredHeader";
+      KnownStorageErrorCode2["MissingRequiredXmlNode"] = "MissingRequiredXmlNode";
+      KnownStorageErrorCode2["MultipleConditionHeadersNotSupported"] = "MultipleConditionHeadersNotSupported";
+      KnownStorageErrorCode2["OperationTimedOut"] = "OperationTimedOut";
+      KnownStorageErrorCode2["OutOfRangeInput"] = "OutOfRangeInput";
+      KnownStorageErrorCode2["OutOfRangeQueryParameterValue"] = "OutOfRangeQueryParameterValue";
+      KnownStorageErrorCode2["RequestBodyTooLarge"] = "RequestBodyTooLarge";
+      KnownStorageErrorCode2["ResourceTypeMismatch"] = "ResourceTypeMismatch";
+      KnownStorageErrorCode2["RequestUrlFailedToParse"] = "RequestUrlFailedToParse";
+      KnownStorageErrorCode2["ResourceAlreadyExists"] = "ResourceAlreadyExists";
+      KnownStorageErrorCode2["ResourceNotFound"] = "ResourceNotFound";
+      KnownStorageErrorCode2["ServerBusy"] = "ServerBusy";
+      KnownStorageErrorCode2["UnsupportedHeader"] = "UnsupportedHeader";
+      KnownStorageErrorCode2["UnsupportedXmlNode"] = "UnsupportedXmlNode";
+      KnownStorageErrorCode2["UnsupportedQueryParameter"] = "UnsupportedQueryParameter";
+      KnownStorageErrorCode2["UnsupportedHttpVerb"] = "UnsupportedHttpVerb";
+      KnownStorageErrorCode2["AppendPositionConditionNotMet"] = "AppendPositionConditionNotMet";
+      KnownStorageErrorCode2["BlobAlreadyExists"] = "BlobAlreadyExists";
+      KnownStorageErrorCode2["BlobImmutableDueToPolicy"] = "BlobImmutableDueToPolicy";
+      KnownStorageErrorCode2["BlobNotFound"] = "BlobNotFound";
+      KnownStorageErrorCode2["BlobOverwritten"] = "BlobOverwritten";
+      KnownStorageErrorCode2["BlobTierInadequateForContentLength"] = "BlobTierInadequateForContentLength";
+      KnownStorageErrorCode2["BlobUsesCustomerSpecifiedEncryption"] = "BlobUsesCustomerSpecifiedEncryption";
+      KnownStorageErrorCode2["BlockCountExceedsLimit"] = "BlockCountExceedsLimit";
+      KnownStorageErrorCode2["BlockListTooLong"] = "BlockListTooLong";
+      KnownStorageErrorCode2["CannotChangeToLowerTier"] = "CannotChangeToLowerTier";
+      KnownStorageErrorCode2["CannotVerifyCopySource"] = "CannotVerifyCopySource";
+      KnownStorageErrorCode2["ContainerAlreadyExists"] = "ContainerAlreadyExists";
+      KnownStorageErrorCode2["ContainerBeingDeleted"] = "ContainerBeingDeleted";
+      KnownStorageErrorCode2["ContainerDisabled"] = "ContainerDisabled";
+      KnownStorageErrorCode2["ContainerNotFound"] = "ContainerNotFound";
+      KnownStorageErrorCode2["ContentLengthLargerThanTierLimit"] = "ContentLengthLargerThanTierLimit";
+      KnownStorageErrorCode2["CopyAcrossAccountsNotSupported"] = "CopyAcrossAccountsNotSupported";
+      KnownStorageErrorCode2["CopyIdMismatch"] = "CopyIdMismatch";
+      KnownStorageErrorCode2["FeatureVersionMismatch"] = "FeatureVersionMismatch";
+      KnownStorageErrorCode2["IncrementalCopyBlobMismatch"] = "IncrementalCopyBlobMismatch";
+      KnownStorageErrorCode2["IncrementalCopyOfEarlierVersionSnapshotNotAllowed"] = "IncrementalCopyOfEarlierVersionSnapshotNotAllowed";
+      KnownStorageErrorCode2["IncrementalCopySourceMustBeSnapshot"] = "IncrementalCopySourceMustBeSnapshot";
+      KnownStorageErrorCode2["InfiniteLeaseDurationRequired"] = "InfiniteLeaseDurationRequired";
+      KnownStorageErrorCode2["InvalidBlobOrBlock"] = "InvalidBlobOrBlock";
+      KnownStorageErrorCode2["InvalidBlobTier"] = "InvalidBlobTier";
+      KnownStorageErrorCode2["InvalidBlobType"] = "InvalidBlobType";
+      KnownStorageErrorCode2["InvalidBlockId"] = "InvalidBlockId";
+      KnownStorageErrorCode2["InvalidBlockList"] = "InvalidBlockList";
+      KnownStorageErrorCode2["InvalidOperation"] = "InvalidOperation";
+      KnownStorageErrorCode2["InvalidPageRange"] = "InvalidPageRange";
+      KnownStorageErrorCode2["InvalidSourceBlobType"] = "InvalidSourceBlobType";
+      KnownStorageErrorCode2["InvalidSourceBlobUrl"] = "InvalidSourceBlobUrl";
+      KnownStorageErrorCode2["InvalidVersionForPageBlobOperation"] = "InvalidVersionForPageBlobOperation";
+      KnownStorageErrorCode2["LeaseAlreadyPresent"] = "LeaseAlreadyPresent";
+      KnownStorageErrorCode2["LeaseAlreadyBroken"] = "LeaseAlreadyBroken";
+      KnownStorageErrorCode2["LeaseIdMismatchWithBlobOperation"] = "LeaseIdMismatchWithBlobOperation";
+      KnownStorageErrorCode2["LeaseIdMismatchWithContainerOperation"] = "LeaseIdMismatchWithContainerOperation";
+      KnownStorageErrorCode2["LeaseIdMismatchWithLeaseOperation"] = "LeaseIdMismatchWithLeaseOperation";
+      KnownStorageErrorCode2["LeaseIdMissing"] = "LeaseIdMissing";
+      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeAcquired"] = "LeaseIsBreakingAndCannotBeAcquired";
+      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeChanged"] = "LeaseIsBreakingAndCannotBeChanged";
+      KnownStorageErrorCode2["LeaseIsBrokenAndCannotBeRenewed"] = "LeaseIsBrokenAndCannotBeRenewed";
+      KnownStorageErrorCode2["LeaseLost"] = "LeaseLost";
+      KnownStorageErrorCode2["LeaseNotPresentWithBlobOperation"] = "LeaseNotPresentWithBlobOperation";
+      KnownStorageErrorCode2["LeaseNotPresentWithContainerOperation"] = "LeaseNotPresentWithContainerOperation";
+      KnownStorageErrorCode2["LeaseNotPresentWithLeaseOperation"] = "LeaseNotPresentWithLeaseOperation";
+      KnownStorageErrorCode2["MaxBlobSizeConditionNotMet"] = "MaxBlobSizeConditionNotMet";
+      KnownStorageErrorCode2["NoAuthenticationInformation"] = "NoAuthenticationInformation";
+      KnownStorageErrorCode2["NoPendingCopyOperation"] = "NoPendingCopyOperation";
+      KnownStorageErrorCode2["OperationNotAllowedOnIncrementalCopyBlob"] = "OperationNotAllowedOnIncrementalCopyBlob";
+      KnownStorageErrorCode2["PendingCopyOperation"] = "PendingCopyOperation";
+      KnownStorageErrorCode2["PreviousSnapshotCannotBeNewer"] = "PreviousSnapshotCannotBeNewer";
+      KnownStorageErrorCode2["PreviousSnapshotNotFound"] = "PreviousSnapshotNotFound";
+      KnownStorageErrorCode2["PreviousSnapshotOperationNotSupported"] = "PreviousSnapshotOperationNotSupported";
+      KnownStorageErrorCode2["SequenceNumberConditionNotMet"] = "SequenceNumberConditionNotMet";
+      KnownStorageErrorCode2["SequenceNumberIncrementTooLarge"] = "SequenceNumberIncrementTooLarge";
+      KnownStorageErrorCode2["SnapshotCountExceeded"] = "SnapshotCountExceeded";
+      KnownStorageErrorCode2["SnapshotOperationRateExceeded"] = "SnapshotOperationRateExceeded";
+      KnownStorageErrorCode2["SnapshotsPresent"] = "SnapshotsPresent";
+      KnownStorageErrorCode2["SourceConditionNotMet"] = "SourceConditionNotMet";
+      KnownStorageErrorCode2["SystemInUse"] = "SystemInUse";
+      KnownStorageErrorCode2["TargetConditionNotMet"] = "TargetConditionNotMet";
+      KnownStorageErrorCode2["UnauthorizedBlobOverwrite"] = "UnauthorizedBlobOverwrite";
+      KnownStorageErrorCode2["BlobBeingRehydrated"] = "BlobBeingRehydrated";
+      KnownStorageErrorCode2["BlobArchived"] = "BlobArchived";
+      KnownStorageErrorCode2["BlobNotArchived"] = "BlobNotArchived";
+      KnownStorageErrorCode2["AuthorizationSourceIPMismatch"] = "AuthorizationSourceIPMismatch";
+      KnownStorageErrorCode2["AuthorizationProtocolMismatch"] = "AuthorizationProtocolMismatch";
+      KnownStorageErrorCode2["AuthorizationPermissionMismatch"] = "AuthorizationPermissionMismatch";
+      KnownStorageErrorCode2["AuthorizationServiceMismatch"] = "AuthorizationServiceMismatch";
+      KnownStorageErrorCode2["AuthorizationResourceTypeMismatch"] = "AuthorizationResourceTypeMismatch";
+      KnownStorageErrorCode2["BlobAccessTierNotSupportedForAccountType"] = "BlobAccessTierNotSupportedForAccountType";
+    })(KnownStorageErrorCode || (exports2.KnownStorageErrorCode = KnownStorageErrorCode = {}));
   }
 });
 
-// node_modules/agent-base/dist/index.js
-var require_dist = __commonJS({
-  "node_modules/agent-base/dist/index.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js
+var require_mappers = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
-      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Agent = void 0;
-    var net = __importStar2(require("net"));
-    var http = __importStar2(require("http"));
-    var https_1 = require("https");
-    __exportStar2(require_helpers3(), exports2);
-    var INTERNAL = /* @__PURE__ */ Symbol("AgentBaseInternalState");
-    var Agent = class extends http.Agent {
-      constructor(opts) {
-        super(opts);
-        this[INTERNAL] = {};
-      }
-      /**
-       * Determine whether this is an `http` or `https` request.
-       */
-      isSecureEndpoint(options) {
-        if (options) {
-          if (typeof options.secureEndpoint === "boolean") {
-            return options.secureEndpoint;
-          }
-          if (typeof options.protocol === "string") {
-            return options.protocol === "https:";
+    exports2.ServiceGetUserDelegationKeyHeaders = exports2.ServiceListContainersSegmentExceptionHeaders = exports2.ServiceListContainersSegmentHeaders = exports2.ServiceGetStatisticsExceptionHeaders = exports2.ServiceGetStatisticsHeaders = exports2.ServiceGetPropertiesExceptionHeaders = exports2.ServiceGetPropertiesHeaders = exports2.ServiceSetPropertiesExceptionHeaders = exports2.ServiceSetPropertiesHeaders = exports2.ArrowField = exports2.ArrowConfiguration = exports2.JsonTextConfiguration = exports2.DelimitedTextConfiguration = exports2.QueryFormat = exports2.QuerySerialization = exports2.QueryRequest = exports2.ClearRange = exports2.PageRange = exports2.PageList = exports2.Block = exports2.BlockList = exports2.BlockLookupList = exports2.BlobPrefix = exports2.BlobHierarchyListSegment = exports2.ListBlobsHierarchySegmentResponse = exports2.BlobPropertiesInternal = exports2.BlobName = exports2.BlobItemInternal = exports2.BlobFlatListSegment = exports2.ListBlobsFlatSegmentResponse = exports2.AccessPolicy = exports2.SignedIdentifier = exports2.BlobTag = exports2.BlobTags = exports2.FilterBlobItem = exports2.FilterBlobSegment = exports2.UserDelegationKey = exports2.KeyInfo = exports2.ContainerProperties = exports2.ContainerItem = exports2.ListContainersSegmentResponse = exports2.GeoReplication = exports2.BlobServiceStatistics = exports2.StorageError = exports2.StaticWebsite = exports2.CorsRule = exports2.Metrics = exports2.RetentionPolicy = exports2.Logging = exports2.BlobServiceProperties = void 0;
+    exports2.BlobUndeleteHeaders = exports2.BlobDeleteExceptionHeaders = exports2.BlobDeleteHeaders = exports2.BlobGetPropertiesExceptionHeaders = exports2.BlobGetPropertiesHeaders = exports2.BlobDownloadExceptionHeaders = exports2.BlobDownloadHeaders = exports2.ContainerGetAccountInfoExceptionHeaders = exports2.ContainerGetAccountInfoHeaders = exports2.ContainerListBlobHierarchySegmentExceptionHeaders = exports2.ContainerListBlobHierarchySegmentHeaders = exports2.ContainerListBlobFlatSegmentExceptionHeaders = exports2.ContainerListBlobFlatSegmentHeaders = exports2.ContainerChangeLeaseExceptionHeaders = exports2.ContainerChangeLeaseHeaders = exports2.ContainerBreakLeaseExceptionHeaders = exports2.ContainerBreakLeaseHeaders = exports2.ContainerRenewLeaseExceptionHeaders = exports2.ContainerRenewLeaseHeaders = exports2.ContainerReleaseLeaseExceptionHeaders = exports2.ContainerReleaseLeaseHeaders = exports2.ContainerAcquireLeaseExceptionHeaders = exports2.ContainerAcquireLeaseHeaders = exports2.ContainerFilterBlobsExceptionHeaders = exports2.ContainerFilterBlobsHeaders = exports2.ContainerSubmitBatchExceptionHeaders = exports2.ContainerSubmitBatchHeaders = exports2.ContainerRenameExceptionHeaders = exports2.ContainerRenameHeaders = exports2.ContainerRestoreExceptionHeaders = exports2.ContainerRestoreHeaders = exports2.ContainerSetAccessPolicyExceptionHeaders = exports2.ContainerSetAccessPolicyHeaders = exports2.ContainerGetAccessPolicyExceptionHeaders = exports2.ContainerGetAccessPolicyHeaders = exports2.ContainerSetMetadataExceptionHeaders = exports2.ContainerSetMetadataHeaders = exports2.ContainerDeleteExceptionHeaders = exports2.ContainerDeleteHeaders = exports2.ContainerGetPropertiesExceptionHeaders = exports2.ContainerGetPropertiesHeaders = exports2.ContainerCreateExceptionHeaders = exports2.ContainerCreateHeaders = exports2.ServiceFilterBlobsExceptionHeaders = exports2.ServiceFilterBlobsHeaders = exports2.ServiceSubmitBatchExceptionHeaders = exports2.ServiceSubmitBatchHeaders = exports2.ServiceGetAccountInfoExceptionHeaders = exports2.ServiceGetAccountInfoHeaders = exports2.ServiceGetUserDelegationKeyExceptionHeaders = void 0;
+    exports2.PageBlobGetPageRangesHeaders = exports2.PageBlobUploadPagesFromURLExceptionHeaders = exports2.PageBlobUploadPagesFromURLHeaders = exports2.PageBlobClearPagesExceptionHeaders = exports2.PageBlobClearPagesHeaders = exports2.PageBlobUploadPagesExceptionHeaders = exports2.PageBlobUploadPagesHeaders = exports2.PageBlobCreateExceptionHeaders = exports2.PageBlobCreateHeaders = exports2.BlobSetTagsExceptionHeaders = exports2.BlobSetTagsHeaders = exports2.BlobGetTagsExceptionHeaders = exports2.BlobGetTagsHeaders = exports2.BlobQueryExceptionHeaders = exports2.BlobQueryHeaders = exports2.BlobGetAccountInfoExceptionHeaders = exports2.BlobGetAccountInfoHeaders = exports2.BlobSetTierExceptionHeaders = exports2.BlobSetTierHeaders = exports2.BlobAbortCopyFromURLExceptionHeaders = exports2.BlobAbortCopyFromURLHeaders = exports2.BlobCopyFromURLExceptionHeaders = exports2.BlobCopyFromURLHeaders = exports2.BlobStartCopyFromURLExceptionHeaders = exports2.BlobStartCopyFromURLHeaders = exports2.BlobCreateSnapshotExceptionHeaders = exports2.BlobCreateSnapshotHeaders = exports2.BlobBreakLeaseExceptionHeaders = exports2.BlobBreakLeaseHeaders = exports2.BlobChangeLeaseExceptionHeaders = exports2.BlobChangeLeaseHeaders = exports2.BlobRenewLeaseExceptionHeaders = exports2.BlobRenewLeaseHeaders = exports2.BlobReleaseLeaseExceptionHeaders = exports2.BlobReleaseLeaseHeaders = exports2.BlobAcquireLeaseExceptionHeaders = exports2.BlobAcquireLeaseHeaders = exports2.BlobSetMetadataExceptionHeaders = exports2.BlobSetMetadataHeaders = exports2.BlobSetLegalHoldExceptionHeaders = exports2.BlobSetLegalHoldHeaders = exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = exports2.BlobDeleteImmutabilityPolicyHeaders = exports2.BlobSetImmutabilityPolicyExceptionHeaders = exports2.BlobSetImmutabilityPolicyHeaders = exports2.BlobSetHttpHeadersExceptionHeaders = exports2.BlobSetHttpHeadersHeaders = exports2.BlobSetExpiryExceptionHeaders = exports2.BlobSetExpiryHeaders = exports2.BlobUndeleteExceptionHeaders = void 0;
+    exports2.BlockBlobGetBlockListExceptionHeaders = exports2.BlockBlobGetBlockListHeaders = exports2.BlockBlobCommitBlockListExceptionHeaders = exports2.BlockBlobCommitBlockListHeaders = exports2.BlockBlobStageBlockFromURLExceptionHeaders = exports2.BlockBlobStageBlockFromURLHeaders = exports2.BlockBlobStageBlockExceptionHeaders = exports2.BlockBlobStageBlockHeaders = exports2.BlockBlobPutBlobFromUrlExceptionHeaders = exports2.BlockBlobPutBlobFromUrlHeaders = exports2.BlockBlobUploadExceptionHeaders = exports2.BlockBlobUploadHeaders = exports2.AppendBlobSealExceptionHeaders = exports2.AppendBlobSealHeaders = exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = exports2.AppendBlobAppendBlockFromUrlHeaders = exports2.AppendBlobAppendBlockExceptionHeaders = exports2.AppendBlobAppendBlockHeaders = exports2.AppendBlobCreateExceptionHeaders = exports2.AppendBlobCreateHeaders = exports2.PageBlobCopyIncrementalExceptionHeaders = exports2.PageBlobCopyIncrementalHeaders = exports2.PageBlobUpdateSequenceNumberExceptionHeaders = exports2.PageBlobUpdateSequenceNumberHeaders = exports2.PageBlobResizeExceptionHeaders = exports2.PageBlobResizeHeaders = exports2.PageBlobGetPageRangesDiffExceptionHeaders = exports2.PageBlobGetPageRangesDiffHeaders = exports2.PageBlobGetPageRangesExceptionHeaders = void 0;
+    exports2.BlobServiceProperties = {
+      serializedName: "BlobServiceProperties",
+      xmlName: "StorageServiceProperties",
+      type: {
+        name: "Composite",
+        className: "BlobServiceProperties",
+        modelProperties: {
+          blobAnalyticsLogging: {
+            serializedName: "Logging",
+            xmlName: "Logging",
+            type: {
+              name: "Composite",
+              className: "Logging"
+            }
+          },
+          hourMetrics: {
+            serializedName: "HourMetrics",
+            xmlName: "HourMetrics",
+            type: {
+              name: "Composite",
+              className: "Metrics"
+            }
+          },
+          minuteMetrics: {
+            serializedName: "MinuteMetrics",
+            xmlName: "MinuteMetrics",
+            type: {
+              name: "Composite",
+              className: "Metrics"
+            }
+          },
+          cors: {
+            serializedName: "Cors",
+            xmlName: "Cors",
+            xmlIsWrapped: true,
+            xmlElementName: "CorsRule",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "CorsRule"
+                }
+              }
+            }
+          },
+          defaultServiceVersion: {
+            serializedName: "DefaultServiceVersion",
+            xmlName: "DefaultServiceVersion",
+            type: {
+              name: "String"
+            }
+          },
+          deleteRetentionPolicy: {
+            serializedName: "DeleteRetentionPolicy",
+            xmlName: "DeleteRetentionPolicy",
+            type: {
+              name: "Composite",
+              className: "RetentionPolicy"
+            }
+          },
+          staticWebsite: {
+            serializedName: "StaticWebsite",
+            xmlName: "StaticWebsite",
+            type: {
+              name: "Composite",
+              className: "StaticWebsite"
+            }
           }
         }
-        const { stack } = new Error();
-        if (typeof stack !== "string")
-          return false;
-        return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
-      }
-      // In order to support async signatures in `connect()` and Node's native
-      // connection pooling in `http.Agent`, the array of sockets for each origin
-      // has to be updated synchronously. This is so the length of the array is
-      // accurate when `addRequest()` is next called. We achieve this by creating a
-      // fake socket and adding it to `sockets[origin]` and incrementing
-      // `totalSocketCount`.
-      incrementSockets(name) {
-        if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
-          return null;
-        }
-        if (!this.sockets[name]) {
-          this.sockets[name] = [];
-        }
-        const fakeSocket = new net.Socket({ writable: false });
-        this.sockets[name].push(fakeSocket);
-        this.totalSocketCount++;
-        return fakeSocket;
       }
-      decrementSockets(name, socket) {
-        if (!this.sockets[name] || socket === null) {
-          return;
-        }
-        const sockets = this.sockets[name];
-        const index = sockets.indexOf(socket);
-        if (index !== -1) {
-          sockets.splice(index, 1);
-          this.totalSocketCount--;
-          if (sockets.length === 0) {
-            delete this.sockets[name];
+    };
+    exports2.Logging = {
+      serializedName: "Logging",
+      type: {
+        name: "Composite",
+        className: "Logging",
+        modelProperties: {
+          version: {
+            serializedName: "Version",
+            required: true,
+            xmlName: "Version",
+            type: {
+              name: "String"
+            }
+          },
+          deleteProperty: {
+            serializedName: "Delete",
+            required: true,
+            xmlName: "Delete",
+            type: {
+              name: "Boolean"
+            }
+          },
+          read: {
+            serializedName: "Read",
+            required: true,
+            xmlName: "Read",
+            type: {
+              name: "Boolean"
+            }
+          },
+          write: {
+            serializedName: "Write",
+            required: true,
+            xmlName: "Write",
+            type: {
+              name: "Boolean"
+            }
+          },
+          retentionPolicy: {
+            serializedName: "RetentionPolicy",
+            xmlName: "RetentionPolicy",
+            type: {
+              name: "Composite",
+              className: "RetentionPolicy"
+            }
           }
         }
       }
-      // In order to properly update the socket pool, we need to call `getName()` on
-      // the core `https.Agent` if it is a secureEndpoint.
-      getName(options) {
-        const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options);
-        if (secureEndpoint) {
-          return https_1.Agent.prototype.getName.call(this, options);
-        }
-        return super.getName(options);
-      }
-      createSocket(req, options, cb) {
-        const connectOpts = {
-          ...options,
-          secureEndpoint: this.isSecureEndpoint(options)
-        };
-        const name = this.getName(connectOpts);
-        const fakeSocket = this.incrementSockets(name);
-        Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
-          this.decrementSockets(name, fakeSocket);
-          if (socket instanceof http.Agent) {
-            try {
-              return socket.addRequest(req, connectOpts);
-            } catch (err) {
-              return cb(err);
+    };
+    exports2.RetentionPolicy = {
+      serializedName: "RetentionPolicy",
+      type: {
+        name: "Composite",
+        className: "RetentionPolicy",
+        modelProperties: {
+          enabled: {
+            serializedName: "Enabled",
+            required: true,
+            xmlName: "Enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          days: {
+            constraints: {
+              InclusiveMinimum: 1
+            },
+            serializedName: "Days",
+            xmlName: "Days",
+            type: {
+              name: "Number"
             }
           }
-          this[INTERNAL].currentSocket = socket;
-          super.createSocket(req, options, cb);
-        }, (err) => {
-          this.decrementSockets(name, fakeSocket);
-          cb(err);
-        });
-      }
-      createConnection() {
-        const socket = this[INTERNAL].currentSocket;
-        this[INTERNAL].currentSocket = void 0;
-        if (!socket) {
-          throw new Error("No socket was returned in the `connect()` function");
-        }
-        return socket;
-      }
-      get defaultPort() {
-        return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
-      }
-      set defaultPort(v) {
-        if (this[INTERNAL]) {
-          this[INTERNAL].defaultPort = v;
         }
       }
-      get protocol() {
-        return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
-      }
-      set protocol(v) {
-        if (this[INTERNAL]) {
-          this[INTERNAL].protocol = v;
+    };
+    exports2.Metrics = {
+      serializedName: "Metrics",
+      type: {
+        name: "Composite",
+        className: "Metrics",
+        modelProperties: {
+          version: {
+            serializedName: "Version",
+            xmlName: "Version",
+            type: {
+              name: "String"
+            }
+          },
+          enabled: {
+            serializedName: "Enabled",
+            required: true,
+            xmlName: "Enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          includeAPIs: {
+            serializedName: "IncludeAPIs",
+            xmlName: "IncludeAPIs",
+            type: {
+              name: "Boolean"
+            }
+          },
+          retentionPolicy: {
+            serializedName: "RetentionPolicy",
+            xmlName: "RetentionPolicy",
+            type: {
+              name: "Composite",
+              className: "RetentionPolicy"
+            }
+          }
         }
       }
     };
-    exports2.Agent = Agent;
-  }
-});
-
-// node_modules/https-proxy-agent/dist/parse-proxy-response.js
-var require_parse_proxy_response = __commonJS({
-  "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
-    "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseProxyResponse = void 0;
-    var debug_1 = __importDefault2(require_src());
-    var debug4 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
-    function parseProxyResponse(socket) {
-      return new Promise((resolve3, reject) => {
-        let buffersLength = 0;
-        const buffers = [];
-        function read() {
-          const b = socket.read();
-          if (b)
-            ondata(b);
-          else
-            socket.once("readable", read);
-        }
-        function cleanup() {
-          socket.removeListener("end", onend);
-          socket.removeListener("error", onerror);
-          socket.removeListener("readable", read);
-        }
-        function onend() {
-          cleanup();
-          debug4("onend");
-          reject(new Error("Proxy connection ended before receiving CONNECT response"));
-        }
-        function onerror(err) {
-          cleanup();
-          debug4("onerror %o", err);
-          reject(err);
-        }
-        function ondata(b) {
-          buffers.push(b);
-          buffersLength += b.length;
-          const buffered = Buffer.concat(buffers, buffersLength);
-          const endOfHeaders = buffered.indexOf("\r\n\r\n");
-          if (endOfHeaders === -1) {
-            debug4("have not received end of HTTP headers yet...");
-            read();
-            return;
-          }
-          const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n");
-          const firstLine = headerParts.shift();
-          if (!firstLine) {
-            socket.destroy();
-            return reject(new Error("No header received from proxy CONNECT response"));
-          }
-          const firstLineParts = firstLine.split(" ");
-          const statusCode = +firstLineParts[1];
-          const statusText = firstLineParts.slice(2).join(" ");
-          const headers = {};
-          for (const header of headerParts) {
-            if (!header)
-              continue;
-            const firstColon = header.indexOf(":");
-            if (firstColon === -1) {
-              socket.destroy();
-              return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
+    exports2.CorsRule = {
+      serializedName: "CorsRule",
+      type: {
+        name: "Composite",
+        className: "CorsRule",
+        modelProperties: {
+          allowedOrigins: {
+            serializedName: "AllowedOrigins",
+            required: true,
+            xmlName: "AllowedOrigins",
+            type: {
+              name: "String"
+            }
+          },
+          allowedMethods: {
+            serializedName: "AllowedMethods",
+            required: true,
+            xmlName: "AllowedMethods",
+            type: {
+              name: "String"
+            }
+          },
+          allowedHeaders: {
+            serializedName: "AllowedHeaders",
+            required: true,
+            xmlName: "AllowedHeaders",
+            type: {
+              name: "String"
+            }
+          },
+          exposedHeaders: {
+            serializedName: "ExposedHeaders",
+            required: true,
+            xmlName: "ExposedHeaders",
+            type: {
+              name: "String"
             }
-            const key = header.slice(0, firstColon).toLowerCase();
-            const value = header.slice(firstColon + 1).trimStart();
-            const current = headers[key];
-            if (typeof current === "string") {
-              headers[key] = [current, value];
-            } else if (Array.isArray(current)) {
-              current.push(value);
-            } else {
-              headers[key] = value;
+          },
+          maxAgeInSeconds: {
+            constraints: {
+              InclusiveMinimum: 0
+            },
+            serializedName: "MaxAgeInSeconds",
+            required: true,
+            xmlName: "MaxAgeInSeconds",
+            type: {
+              name: "Number"
             }
           }
-          debug4("got proxy server response: %o %o", firstLine, headers);
-          cleanup();
-          resolve3({
-            connect: {
-              statusCode,
-              statusText,
-              headers
-            },
-            buffered
-          });
         }
-        socket.on("error", onerror);
-        socket.on("end", onend);
-        read();
-      });
-    }
-    exports2.parseProxyResponse = parseProxyResponse;
-  }
-});
-
-// node_modules/https-proxy-agent/dist/index.js
-var require_dist2 = __commonJS({
-  "node_modules/https-proxy-agent/dist/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HttpsProxyAgent = void 0;
-    var net = __importStar2(require("net"));
-    var tls = __importStar2(require("tls"));
-    var assert_1 = __importDefault2(require("assert"));
-    var debug_1 = __importDefault2(require_src());
-    var agent_base_1 = require_dist();
-    var url_1 = require("url");
-    var parse_proxy_response_1 = require_parse_proxy_response();
-    var debug4 = (0, debug_1.default)("https-proxy-agent");
-    var setServernameFromNonIpHost = (options) => {
-      if (options.servername === void 0 && options.host && !net.isIP(options.host)) {
-        return {
-          ...options,
-          servername: options.host
-        };
       }
-      return options;
     };
-    var HttpsProxyAgent = class extends agent_base_1.Agent {
-      constructor(proxy, opts) {
-        super(opts);
-        this.options = { path: void 0 };
-        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
-        this.proxyHeaders = opts?.headers ?? {};
-        debug4("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
-        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
-        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
-        this.connectOpts = {
-          // Attempt to negotiate http/1.1 for proxy servers that support http/2
-          ALPNProtocols: ["http/1.1"],
-          ...opts ? omit2(opts, "headers") : null,
-          host,
-          port
-        };
-      }
-      /**
-       * Called when the node-core HTTP client library is creating a
-       * new HTTP request.
-       */
-      async connect(req, opts) {
-        const { proxy } = this;
-        if (!opts.host) {
-          throw new TypeError('No "host" provided');
-        }
-        let socket;
-        if (proxy.protocol === "https:") {
-          debug4("Creating `tls.Socket`: %o", this.connectOpts);
-          socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));
-        } else {
-          debug4("Creating `net.Socket`: %o", this.connectOpts);
-          socket = net.connect(this.connectOpts);
-        }
-        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
-        const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
-        let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r
-`;
-        if (proxy.username || proxy.password) {
-          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
-          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
-        }
-        headers.Host = `${host}:${opts.port}`;
-        if (!headers["Proxy-Connection"]) {
-          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
-        }
-        for (const name of Object.keys(headers)) {
-          payload += `${name}: ${headers[name]}\r
-`;
-        }
-        const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);
-        socket.write(`${payload}\r
-`);
-        const { connect, buffered } = await proxyResponsePromise;
-        req.emit("proxyConnect", connect);
-        this.emit("proxyConnect", connect, req);
-        if (connect.statusCode === 200) {
-          req.once("socket", resume);
-          if (opts.secureEndpoint) {
-            debug4("Upgrading socket connection to TLS");
-            return tls.connect({
-              ...omit2(setServernameFromNonIpHost(opts), "host", "path", "port"),
-              socket
-            });
+    exports2.StaticWebsite = {
+      serializedName: "StaticWebsite",
+      type: {
+        name: "Composite",
+        className: "StaticWebsite",
+        modelProperties: {
+          enabled: {
+            serializedName: "Enabled",
+            required: true,
+            xmlName: "Enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          indexDocument: {
+            serializedName: "IndexDocument",
+            xmlName: "IndexDocument",
+            type: {
+              name: "String"
+            }
+          },
+          errorDocument404Path: {
+            serializedName: "ErrorDocument404Path",
+            xmlName: "ErrorDocument404Path",
+            type: {
+              name: "String"
+            }
+          },
+          defaultIndexDocumentPath: {
+            serializedName: "DefaultIndexDocumentPath",
+            xmlName: "DefaultIndexDocumentPath",
+            type: {
+              name: "String"
+            }
           }
-          return socket;
         }
-        socket.destroy();
-        const fakeSocket = new net.Socket({ writable: false });
-        fakeSocket.readable = true;
-        req.once("socket", (s) => {
-          debug4("Replaying proxy buffer for failed request");
-          (0, assert_1.default)(s.listenerCount("data") > 0);
-          s.push(buffered);
-          s.push(null);
-        });
-        return fakeSocket;
       }
     };
-    HttpsProxyAgent.protocols = ["http", "https"];
-    exports2.HttpsProxyAgent = HttpsProxyAgent;
-    function resume(socket) {
-      socket.resume();
-    }
-    function omit2(obj, ...keys) {
-      const ret = {};
-      let key;
-      for (key in obj) {
-        if (!keys.includes(key)) {
-          ret[key] = obj[key];
+    exports2.StorageError = {
+      serializedName: "StorageError",
+      type: {
+        name: "Composite",
+        className: "StorageError",
+        modelProperties: {
+          message: {
+            serializedName: "Message",
+            xmlName: "Message",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "CopySourceStatusCode",
+            xmlName: "CopySourceStatusCode",
+            type: {
+              name: "Number"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "CopySourceErrorCode",
+            xmlName: "CopySourceErrorCode",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorMessage: {
+            serializedName: "CopySourceErrorMessage",
+            xmlName: "CopySourceErrorMessage",
+            type: {
+              name: "String"
+            }
+          },
+          code: {
+            serializedName: "Code",
+            xmlName: "Code",
+            type: {
+              name: "String"
+            }
+          },
+          authenticationErrorDetail: {
+            serializedName: "AuthenticationErrorDetail",
+            xmlName: "AuthenticationErrorDetail",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return ret;
-    }
-  }
-});
-
-// node_modules/http-proxy-agent/dist/index.js
-var require_dist3 = __commonJS({
-  "node_modules/http-proxy-agent/dist/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HttpProxyAgent = void 0;
-    var net = __importStar2(require("net"));
-    var tls = __importStar2(require("tls"));
-    var debug_1 = __importDefault2(require_src());
-    var events_1 = require("events");
-    var agent_base_1 = require_dist();
-    var url_1 = require("url");
-    var debug4 = (0, debug_1.default)("http-proxy-agent");
-    var HttpProxyAgent = class extends agent_base_1.Agent {
-      constructor(proxy, opts) {
-        super(opts);
-        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
-        this.proxyHeaders = opts?.headers ?? {};
-        debug4("Creating new HttpProxyAgent instance: %o", this.proxy.href);
-        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
-        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
-        this.connectOpts = {
-          ...opts ? omit2(opts, "headers") : null,
-          host,
-          port
-        };
-      }
-      addRequest(req, opts) {
-        req._header = null;
-        this.setRequestProps(req, opts);
-        super.addRequest(req, opts);
-      }
-      setRequestProps(req, opts) {
-        const { proxy } = this;
-        const protocol = opts.secureEndpoint ? "https:" : "http:";
-        const hostname = req.getHeader("host") || "localhost";
-        const base = `${protocol}//${hostname}`;
-        const url = new url_1.URL(req.path, base);
-        if (opts.port !== 80) {
-          url.port = String(opts.port);
-        }
-        req.path = String(url);
-        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
-        if (proxy.username || proxy.password) {
-          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
-          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
-        }
-        if (!headers["Proxy-Connection"]) {
-          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
-        }
-        for (const name of Object.keys(headers)) {
-          const value = headers[name];
-          if (value) {
-            req.setHeader(name, value);
+    exports2.BlobServiceStatistics = {
+      serializedName: "BlobServiceStatistics",
+      xmlName: "StorageServiceStats",
+      type: {
+        name: "Composite",
+        className: "BlobServiceStatistics",
+        modelProperties: {
+          geoReplication: {
+            serializedName: "GeoReplication",
+            xmlName: "GeoReplication",
+            type: {
+              name: "Composite",
+              className: "GeoReplication"
+            }
           }
         }
       }
-      async connect(req, opts) {
-        req._header = null;
-        if (!req.path.includes("://")) {
-          this.setRequestProps(req, opts);
-        }
-        let first;
-        let endOfHeaders;
-        debug4("Regenerating stored HTTP header string for request");
-        req._implicitHeader();
-        if (req.outputData && req.outputData.length > 0) {
-          debug4("Patching connection write() output buffer with updated header");
-          first = req.outputData[0].data;
-          endOfHeaders = first.indexOf("\r\n\r\n") + 4;
-          req.outputData[0].data = req._header + first.substring(endOfHeaders);
-          debug4("Output buffer: %o", req.outputData[0].data);
-        }
-        let socket;
-        if (this.proxy.protocol === "https:") {
-          debug4("Creating `tls.Socket`: %o", this.connectOpts);
-          socket = tls.connect(this.connectOpts);
-        } else {
-          debug4("Creating `net.Socket`: %o", this.connectOpts);
-          socket = net.connect(this.connectOpts);
-        }
-        await (0, events_1.once)(socket, "connect");
-        return socket;
-      }
     };
-    HttpProxyAgent.protocols = ["http", "https"];
-    exports2.HttpProxyAgent = HttpProxyAgent;
-    function omit2(obj, ...keys) {
-      const ret = {};
-      let key;
-      for (key in obj) {
-        if (!keys.includes(key)) {
-          ret[key] = obj[key];
+    exports2.GeoReplication = {
+      serializedName: "GeoReplication",
+      type: {
+        name: "Composite",
+        className: "GeoReplication",
+        modelProperties: {
+          status: {
+            serializedName: "Status",
+            required: true,
+            xmlName: "Status",
+            type: {
+              name: "Enum",
+              allowedValues: ["live", "bootstrap", "unavailable"]
+            }
+          },
+          lastSyncOn: {
+            serializedName: "LastSyncTime",
+            required: true,
+            xmlName: "LastSyncTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
       }
-      return ret;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js
-var require_proxyPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.globalNoProxyList = exports2.proxyPolicyName = void 0;
-    exports2.loadNoProxy = loadNoProxy;
-    exports2.getDefaultProxySettings = getDefaultProxySettings;
-    exports2.proxyPolicy = proxyPolicy;
-    var https_proxy_agent_1 = require_dist2();
-    var http_proxy_agent_1 = require_dist3();
-    var log_js_1 = require_log2();
-    var HTTPS_PROXY = "HTTPS_PROXY";
-    var HTTP_PROXY = "HTTP_PROXY";
-    var ALL_PROXY = "ALL_PROXY";
-    var NO_PROXY = "NO_PROXY";
-    exports2.proxyPolicyName = "proxyPolicy";
-    exports2.globalNoProxyList = [];
-    var noProxyListLoaded = false;
-    var globalBypassedMap = /* @__PURE__ */ new Map();
-    function getEnvironmentValue(name) {
-      if (process.env[name]) {
-        return process.env[name];
-      } else if (process.env[name.toLowerCase()]) {
-        return process.env[name.toLowerCase()];
-      }
-      return void 0;
-    }
-    function loadEnvironmentProxyValue() {
-      if (!process) {
-        return void 0;
-      }
-      const httpsProxy = getEnvironmentValue(HTTPS_PROXY);
-      const allProxy = getEnvironmentValue(ALL_PROXY);
-      const httpProxy = getEnvironmentValue(HTTP_PROXY);
-      return httpsProxy || allProxy || httpProxy;
-    }
-    function isBypassed(uri, noProxyList, bypassedMap) {
-      if (noProxyList.length === 0) {
-        return false;
-      }
-      const host = new URL(uri).hostname;
-      if (bypassedMap?.has(host)) {
-        return bypassedMap.get(host);
-      }
-      let isBypassedFlag = false;
-      for (const pattern of noProxyList) {
-        if (pattern[0] === ".") {
-          if (host.endsWith(pattern)) {
-            isBypassedFlag = true;
-          } else {
-            if (host.length === pattern.length - 1 && host === pattern.slice(1)) {
-              isBypassedFlag = true;
+    };
+    exports2.ListContainersSegmentResponse = {
+      serializedName: "ListContainersSegmentResponse",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "ListContainersSegmentResponse",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          prefix: {
+            serializedName: "Prefix",
+            xmlName: "Prefix",
+            type: {
+              name: "String"
+            }
+          },
+          marker: {
+            serializedName: "Marker",
+            xmlName: "Marker",
+            type: {
+              name: "String"
+            }
+          },
+          maxPageSize: {
+            serializedName: "MaxResults",
+            xmlName: "MaxResults",
+            type: {
+              name: "Number"
+            }
+          },
+          containerItems: {
+            serializedName: "ContainerItems",
+            required: true,
+            xmlName: "Containers",
+            xmlIsWrapped: true,
+            xmlElementName: "Container",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "ContainerItem"
+                }
+              }
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
             }
-          }
-        } else {
-          if (host === pattern) {
-            isBypassedFlag = true;
           }
         }
       }
-      bypassedMap?.set(host, isBypassedFlag);
-      return isBypassedFlag;
-    }
-    function loadNoProxy() {
-      const noProxy = getEnvironmentValue(NO_PROXY);
-      noProxyListLoaded = true;
-      if (noProxy) {
-        return noProxy.split(",").map((item) => item.trim()).filter((item) => item.length);
-      }
-      return [];
-    }
-    function getDefaultProxySettings(proxyUrl) {
-      if (!proxyUrl) {
-        proxyUrl = loadEnvironmentProxyValue();
-        if (!proxyUrl) {
-          return void 0;
+    };
+    exports2.ContainerItem = {
+      serializedName: "ContainerItem",
+      xmlName: "Container",
+      type: {
+        name: "Composite",
+        className: "ContainerItem",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            required: true,
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          deleted: {
+            serializedName: "Deleted",
+            xmlName: "Deleted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          version: {
+            serializedName: "Version",
+            xmlName: "Version",
+            type: {
+              name: "String"
+            }
+          },
+          properties: {
+            serializedName: "Properties",
+            xmlName: "Properties",
+            type: {
+              name: "Composite",
+              className: "ContainerProperties"
+            }
+          },
+          metadata: {
+            serializedName: "Metadata",
+            xmlName: "Metadata",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          }
         }
       }
-      const parsedUrl = new URL(proxyUrl);
-      const schema2 = parsedUrl.protocol ? parsedUrl.protocol + "//" : "";
-      return {
-        host: schema2 + parsedUrl.hostname,
-        port: Number.parseInt(parsedUrl.port || "80"),
-        username: parsedUrl.username,
-        password: parsedUrl.password
-      };
-    }
-    function getDefaultProxySettingsInternal() {
-      const envProxy = loadEnvironmentProxyValue();
-      return envProxy ? new URL(envProxy) : void 0;
-    }
-    function getUrlFromProxySettings(settings) {
-      let parsedProxyUrl;
-      try {
-        parsedProxyUrl = new URL(settings.host);
-      } catch {
-        throw new Error(`Expecting a valid host string in proxy settings, but found "${settings.host}".`);
-      }
-      parsedProxyUrl.port = String(settings.port);
-      if (settings.username) {
-        parsedProxyUrl.username = settings.username;
-      }
-      if (settings.password) {
-        parsedProxyUrl.password = settings.password;
-      }
-      return parsedProxyUrl;
-    }
-    function setProxyAgentOnRequest(request2, cachedAgents, proxyUrl) {
-      if (request2.agent) {
-        return;
-      }
-      const url = new URL(request2.url);
-      const isInsecure = url.protocol !== "https:";
-      if (request2.tlsSettings) {
-        log_js_1.logger.warning("TLS settings are not supported in combination with custom Proxy, certificates provided to the client will be ignored.");
-      }
-      const headers = request2.headers.toJSON();
-      if (isInsecure) {
-        if (!cachedAgents.httpProxyAgent) {
-          cachedAgents.httpProxyAgent = new http_proxy_agent_1.HttpProxyAgent(proxyUrl, { headers });
-        }
-        request2.agent = cachedAgents.httpProxyAgent;
-      } else {
-        if (!cachedAgents.httpsProxyAgent) {
-          cachedAgents.httpsProxyAgent = new https_proxy_agent_1.HttpsProxyAgent(proxyUrl, { headers });
+    };
+    exports2.ContainerProperties = {
+      serializedName: "ContainerProperties",
+      type: {
+        name: "Composite",
+        className: "ContainerProperties",
+        modelProperties: {
+          lastModified: {
+            serializedName: "Last-Modified",
+            required: true,
+            xmlName: "Last-Modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "Etag",
+            required: true,
+            xmlName: "Etag",
+            type: {
+              name: "String"
+            }
+          },
+          leaseStatus: {
+            serializedName: "LeaseStatus",
+            xmlName: "LeaseStatus",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          leaseState: {
+            serializedName: "LeaseState",
+            xmlName: "LeaseState",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseDuration: {
+            serializedName: "LeaseDuration",
+            xmlName: "LeaseDuration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          publicAccess: {
+            serializedName: "PublicAccess",
+            xmlName: "PublicAccess",
+            type: {
+              name: "Enum",
+              allowedValues: ["container", "blob"]
+            }
+          },
+          hasImmutabilityPolicy: {
+            serializedName: "HasImmutabilityPolicy",
+            xmlName: "HasImmutabilityPolicy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          hasLegalHold: {
+            serializedName: "HasLegalHold",
+            xmlName: "HasLegalHold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          defaultEncryptionScope: {
+            serializedName: "DefaultEncryptionScope",
+            xmlName: "DefaultEncryptionScope",
+            type: {
+              name: "String"
+            }
+          },
+          preventEncryptionScopeOverride: {
+            serializedName: "DenyEncryptionScopeOverride",
+            xmlName: "DenyEncryptionScopeOverride",
+            type: {
+              name: "Boolean"
+            }
+          },
+          deletedOn: {
+            serializedName: "DeletedTime",
+            xmlName: "DeletedTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          remainingRetentionDays: {
+            serializedName: "RemainingRetentionDays",
+            xmlName: "RemainingRetentionDays",
+            type: {
+              name: "Number"
+            }
+          },
+          isImmutableStorageWithVersioningEnabled: {
+            serializedName: "ImmutableStorageWithVersioningEnabled",
+            xmlName: "ImmutableStorageWithVersioningEnabled",
+            type: {
+              name: "Boolean"
+            }
+          }
         }
-        request2.agent = cachedAgents.httpsProxyAgent;
-      }
-    }
-    function proxyPolicy(proxySettings, options) {
-      if (!noProxyListLoaded) {
-        exports2.globalNoProxyList.push(...loadNoProxy());
       }
-      const defaultProxy = proxySettings ? getUrlFromProxySettings(proxySettings) : getDefaultProxySettingsInternal();
-      const cachedAgents = {};
-      return {
-        name: exports2.proxyPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.proxySettings && defaultProxy && !isBypassed(request2.url, options?.customNoProxyList ?? exports2.globalNoProxyList, options?.customNoProxyList ? void 0 : globalBypassedMap)) {
-            setProxyAgentOnRequest(request2, cachedAgents, defaultProxy);
-          } else if (request2.proxySettings) {
-            setProxyAgentOnRequest(request2, cachedAgents, getUrlFromProxySettings(request2.proxySettings));
+    };
+    exports2.KeyInfo = {
+      serializedName: "KeyInfo",
+      type: {
+        name: "Composite",
+        className: "KeyInfo",
+        modelProperties: {
+          startsOn: {
+            serializedName: "Start",
+            required: true,
+            xmlName: "Start",
+            type: {
+              name: "String"
+            }
+          },
+          expiresOn: {
+            serializedName: "Expiry",
+            required: true,
+            xmlName: "Expiry",
+            type: {
+              name: "String"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js
-var require_agentPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.agentPolicyName = void 0;
-    exports2.agentPolicy = agentPolicy;
-    exports2.agentPolicyName = "agentPolicy";
-    function agentPolicy(agent) {
-      return {
-        name: exports2.agentPolicyName,
-        sendRequest: async (req, next) => {
-          if (!req.agent) {
-            req.agent = agent;
+      }
+    };
+    exports2.UserDelegationKey = {
+      serializedName: "UserDelegationKey",
+      type: {
+        name: "Composite",
+        className: "UserDelegationKey",
+        modelProperties: {
+          signedObjectId: {
+            serializedName: "SignedOid",
+            required: true,
+            xmlName: "SignedOid",
+            type: {
+              name: "String"
+            }
+          },
+          signedTenantId: {
+            serializedName: "SignedTid",
+            required: true,
+            xmlName: "SignedTid",
+            type: {
+              name: "String"
+            }
+          },
+          signedStartsOn: {
+            serializedName: "SignedStart",
+            required: true,
+            xmlName: "SignedStart",
+            type: {
+              name: "String"
+            }
+          },
+          signedExpiresOn: {
+            serializedName: "SignedExpiry",
+            required: true,
+            xmlName: "SignedExpiry",
+            type: {
+              name: "String"
+            }
+          },
+          signedService: {
+            serializedName: "SignedService",
+            required: true,
+            xmlName: "SignedService",
+            type: {
+              name: "String"
+            }
+          },
+          signedVersion: {
+            serializedName: "SignedVersion",
+            required: true,
+            xmlName: "SignedVersion",
+            type: {
+              name: "String"
+            }
+          },
+          value: {
+            serializedName: "Value",
+            required: true,
+            xmlName: "Value",
+            type: {
+              name: "String"
+            }
           }
-          return next(req);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js
-var require_tlsPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tlsPolicyName = void 0;
-    exports2.tlsPolicy = tlsPolicy;
-    exports2.tlsPolicyName = "tlsPolicy";
-    function tlsPolicy(tlsSettings) {
-      return {
-        name: exports2.tlsPolicyName,
-        sendRequest: async (req, next) => {
-          if (!req.tlsSettings) {
-            req.tlsSettings = tlsSettings;
+      }
+    };
+    exports2.FilterBlobSegment = {
+      serializedName: "FilterBlobSegment",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "FilterBlobSegment",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          where: {
+            serializedName: "Where",
+            required: true,
+            xmlName: "Where",
+            type: {
+              name: "String"
+            }
+          },
+          blobs: {
+            serializedName: "Blobs",
+            required: true,
+            xmlName: "Blobs",
+            xmlIsWrapped: true,
+            xmlElementName: "Blob",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "FilterBlobItem"
+                }
+              }
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
           }
-          return next(req);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js
-var require_typeGuards = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isNodeReadableStream = isNodeReadableStream;
-    exports2.isWebReadableStream = isWebReadableStream;
-    exports2.isBinaryBody = isBinaryBody;
-    exports2.isReadableStream = isReadableStream;
-    exports2.isBlob = isBlob;
-    function isNodeReadableStream(x) {
-      return Boolean(x && typeof x["pipe"] === "function");
-    }
-    function isWebReadableStream(x) {
-      return Boolean(x && typeof x.getReader === "function" && typeof x.tee === "function");
-    }
-    function isBinaryBody(body) {
-      return body !== void 0 && (body instanceof Uint8Array || isReadableStream(body) || typeof body === "function" || body instanceof Blob);
-    }
-    function isReadableStream(x) {
-      return isNodeReadableStream(x) || isWebReadableStream(x);
-    }
-    function isBlob(x) {
-      return typeof x.stream === "function";
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js
-var require_concat = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.concat = concat;
-    var stream_1 = require("stream");
-    var typeGuards_js_1 = require_typeGuards();
-    async function* streamAsyncIterator() {
-      const reader = this.getReader();
-      try {
-        while (true) {
-          const { done, value } = await reader.read();
-          if (done) {
-            return;
+      }
+    };
+    exports2.FilterBlobItem = {
+      serializedName: "FilterBlobItem",
+      xmlName: "Blob",
+      type: {
+        name: "Composite",
+        className: "FilterBlobItem",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            required: true,
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          containerName: {
+            serializedName: "ContainerName",
+            required: true,
+            xmlName: "ContainerName",
+            type: {
+              name: "String"
+            }
+          },
+          tags: {
+            serializedName: "Tags",
+            xmlName: "Tags",
+            type: {
+              name: "Composite",
+              className: "BlobTags"
+            }
           }
-          yield value;
         }
-      } finally {
-        reader.releaseLock();
-      }
-    }
-    function makeAsyncIterable(webStream) {
-      if (!webStream[Symbol.asyncIterator]) {
-        webStream[Symbol.asyncIterator] = streamAsyncIterator.bind(webStream);
-      }
-      if (!webStream.values) {
-        webStream.values = streamAsyncIterator.bind(webStream);
-      }
-    }
-    function ensureNodeStream(stream) {
-      if (stream instanceof ReadableStream) {
-        makeAsyncIterable(stream);
-        return stream_1.Readable.fromWeb(stream);
-      } else {
-        return stream;
-      }
-    }
-    function toStream(source) {
-      if (source instanceof Uint8Array) {
-        return stream_1.Readable.from(Buffer.from(source));
-      } else if ((0, typeGuards_js_1.isBlob)(source)) {
-        return ensureNodeStream(source.stream());
-      } else {
-        return ensureNodeStream(source);
       }
-    }
-    async function concat(sources) {
-      return function() {
-        const streams = sources.map((x) => typeof x === "function" ? x() : x).map(toStream);
-        return stream_1.Readable.from((async function* () {
-          for (const stream of streams) {
-            for await (const chunk of stream) {
-              yield chunk;
+    };
+    exports2.BlobTags = {
+      serializedName: "BlobTags",
+      xmlName: "Tags",
+      type: {
+        name: "Composite",
+        className: "BlobTags",
+        modelProperties: {
+          blobTagSet: {
+            serializedName: "BlobTagSet",
+            required: true,
+            xmlName: "TagSet",
+            xmlIsWrapped: true,
+            xmlElementName: "Tag",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobTag"
+                }
+              }
             }
           }
-        })());
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js
-var require_multipartPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.multipartPolicyName = void 0;
-    exports2.multipartPolicy = multipartPolicy;
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var typeGuards_js_1 = require_typeGuards();
-    var uuidUtils_js_1 = require_uuidUtils();
-    var concat_js_1 = require_concat();
-    function generateBoundary() {
-      return `----AzSDKFormBoundary${(0, uuidUtils_js_1.randomUUID)()}`;
-    }
-    function encodeHeaders(headers) {
-      let result = "";
-      for (const [key, value] of headers) {
-        result += `${key}: ${value}\r
-`;
-      }
-      return result;
-    }
-    function getLength(source) {
-      if (source instanceof Uint8Array) {
-        return source.byteLength;
-      } else if ((0, typeGuards_js_1.isBlob)(source)) {
-        return source.size === -1 ? void 0 : source.size;
-      } else {
-        return void 0;
-      }
-    }
-    function getTotalLength(sources) {
-      let total = 0;
-      for (const source of sources) {
-        const partLength = getLength(source);
-        if (partLength === void 0) {
-          return void 0;
-        } else {
-          total += partLength;
         }
       }
-      return total;
-    }
-    async function buildRequestBody(request2, parts, boundary) {
-      const sources = [
-        (0, bytesEncoding_js_1.stringToUint8Array)(`--${boundary}`, "utf-8"),
-        ...parts.flatMap((part) => [
-          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
-          (0, bytesEncoding_js_1.stringToUint8Array)(encodeHeaders(part.headers), "utf-8"),
-          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
-          part.body,
-          (0, bytesEncoding_js_1.stringToUint8Array)(`\r
---${boundary}`, "utf-8")
-        ]),
-        (0, bytesEncoding_js_1.stringToUint8Array)("--\r\n\r\n", "utf-8")
-      ];
-      const contentLength = getTotalLength(sources);
-      if (contentLength) {
-        request2.headers.set("Content-Length", contentLength);
-      }
-      request2.body = await (0, concat_js_1.concat)(sources);
-    }
-    exports2.multipartPolicyName = "multipartPolicy";
-    var maxBoundaryLength = 70;
-    var validBoundaryCharacters = new Set(`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`);
-    function assertValidBoundary(boundary) {
-      if (boundary.length > maxBoundaryLength) {
-        throw new Error(`Multipart boundary "${boundary}" exceeds maximum length of 70 characters`);
-      }
-      if (Array.from(boundary).some((x) => !validBoundaryCharacters.has(x))) {
-        throw new Error(`Multipart boundary "${boundary}" contains invalid characters`);
-      }
-    }
-    function multipartPolicy() {
-      return {
-        name: exports2.multipartPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.multipartBody) {
-            return next(request2);
-          }
-          if (request2.body) {
-            throw new Error("multipartBody and regular body cannot be set at the same time");
-          }
-          let boundary = request2.multipartBody.boundary;
-          const contentTypeHeader = request2.headers.get("Content-Type") ?? "multipart/mixed";
-          const parsedHeader = contentTypeHeader.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);
-          if (!parsedHeader) {
-            throw new Error(`Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`);
-          }
-          const [, contentType, parsedBoundary] = parsedHeader;
-          if (parsedBoundary && boundary && parsedBoundary !== boundary) {
-            throw new Error(`Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`);
-          }
-          boundary ??= parsedBoundary;
-          if (boundary) {
-            assertValidBoundary(boundary);
-          } else {
-            boundary = generateBoundary();
+    };
+    exports2.BlobTag = {
+      serializedName: "BlobTag",
+      xmlName: "Tag",
+      type: {
+        name: "Composite",
+        className: "BlobTag",
+        modelProperties: {
+          key: {
+            serializedName: "Key",
+            required: true,
+            xmlName: "Key",
+            type: {
+              name: "String"
+            }
+          },
+          value: {
+            serializedName: "Value",
+            required: true,
+            xmlName: "Value",
+            type: {
+              name: "String"
+            }
           }
-          request2.headers.set("Content-Type", `${contentType}; boundary=${boundary}`);
-          await buildRequestBody(request2, request2.multipartBody.parts, boundary);
-          request2.multipartBody = void 0;
-          return next(request2);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js
-var require_createPipelineFromOptions = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineFromOptions = createPipelineFromOptions;
-    var logPolicy_js_1 = require_logPolicy();
-    var pipeline_js_1 = require_pipeline();
-    var redirectPolicy_js_1 = require_redirectPolicy();
-    var userAgentPolicy_js_1 = require_userAgentPolicy();
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
-    var formDataPolicy_js_1 = require_formDataPolicy();
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    var proxyPolicy_js_1 = require_proxyPolicy();
-    var agentPolicy_js_1 = require_agentPolicy();
-    var tlsPolicy_js_1 = require_tlsPolicy();
-    var multipartPolicy_js_1 = require_multipartPolicy();
-    function createPipelineFromOptions(options) {
-      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
-      if (checkEnvironment_js_1.isNodeLike) {
-        if (options.agent) {
-          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
-        }
-        if (options.tlsOptions) {
-          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
         }
-        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
-        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
       }
-      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
-      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
-      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
-      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
-      if (checkEnvironment_js_1.isNodeLike) {
-        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
+    };
+    exports2.SignedIdentifier = {
+      serializedName: "SignedIdentifier",
+      xmlName: "SignedIdentifier",
+      type: {
+        name: "Composite",
+        className: "SignedIdentifier",
+        modelProperties: {
+          id: {
+            serializedName: "Id",
+            required: true,
+            xmlName: "Id",
+            type: {
+              name: "String"
+            }
+          },
+          accessPolicy: {
+            serializedName: "AccessPolicy",
+            xmlName: "AccessPolicy",
+            type: {
+              name: "Composite",
+              className: "AccessPolicy"
+            }
+          }
+        }
       }
-      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
-      return pipeline;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js
-var require_apiVersionPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.apiVersionPolicyName = void 0;
-    exports2.apiVersionPolicy = apiVersionPolicy;
-    exports2.apiVersionPolicyName = "ApiVersionPolicy";
-    function apiVersionPolicy(options) {
-      return {
-        name: exports2.apiVersionPolicyName,
-        sendRequest: (req, next) => {
-          const url = new URL(req.url);
-          if (!url.searchParams.get("api-version") && options.apiVersion) {
-            req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${options.apiVersion}`;
+    };
+    exports2.AccessPolicy = {
+      serializedName: "AccessPolicy",
+      type: {
+        name: "Composite",
+        className: "AccessPolicy",
+        modelProperties: {
+          startsOn: {
+            serializedName: "Start",
+            xmlName: "Start",
+            type: {
+              name: "String"
+            }
+          },
+          expiresOn: {
+            serializedName: "Expiry",
+            xmlName: "Expiry",
+            type: {
+              name: "String"
+            }
+          },
+          permissions: {
+            serializedName: "Permission",
+            xmlName: "Permission",
+            type: {
+              name: "String"
+            }
           }
-          return next(req);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js
-var require_credentials = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isOAuth2TokenCredential = isOAuth2TokenCredential;
-    exports2.isBearerTokenCredential = isBearerTokenCredential;
-    exports2.isBasicCredential = isBasicCredential;
-    exports2.isApiKeyCredential = isApiKeyCredential;
-    function isOAuth2TokenCredential(credential) {
-      return "getOAuth2Token" in credential;
-    }
-    function isBearerTokenCredential(credential) {
-      return "getBearerToken" in credential;
-    }
-    function isBasicCredential(credential) {
-      return "username" in credential && "password" in credential;
-    }
-    function isApiKeyCredential(credential) {
-      return "key" in credential;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js
-var require_checkInsecureConnection = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ensureSecureConnection = ensureSecureConnection;
-    var log_js_1 = require_log2();
-    var insecureConnectionWarningEmmitted = false;
-    function allowInsecureConnection(request2, options) {
-      if (options.allowInsecureConnection && request2.allowInsecureConnection) {
-        const url = new URL(request2.url);
-        if (url.hostname === "localhost" || url.hostname === "127.0.0.1") {
-          return true;
+      }
+    };
+    exports2.ListBlobsFlatSegmentResponse = {
+      serializedName: "ListBlobsFlatSegmentResponse",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "ListBlobsFlatSegmentResponse",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          containerName: {
+            serializedName: "ContainerName",
+            required: true,
+            xmlName: "ContainerName",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          prefix: {
+            serializedName: "Prefix",
+            xmlName: "Prefix",
+            type: {
+              name: "String"
+            }
+          },
+          marker: {
+            serializedName: "Marker",
+            xmlName: "Marker",
+            type: {
+              name: "String"
+            }
+          },
+          maxPageSize: {
+            serializedName: "MaxResults",
+            xmlName: "MaxResults",
+            type: {
+              name: "Number"
+            }
+          },
+          segment: {
+            serializedName: "Segment",
+            xmlName: "Blobs",
+            type: {
+              name: "Composite",
+              className: "BlobFlatListSegment"
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return false;
-    }
-    function emitInsecureConnectionWarning() {
-      const warning9 = "Sending token over insecure transport. Assume any token issued is compromised.";
-      log_js_1.logger.warning(warning9);
-      if (typeof process?.emitWarning === "function" && !insecureConnectionWarningEmmitted) {
-        insecureConnectionWarningEmmitted = true;
-        process.emitWarning(warning9);
+    };
+    exports2.BlobFlatListSegment = {
+      serializedName: "BlobFlatListSegment",
+      xmlName: "Blobs",
+      type: {
+        name: "Composite",
+        className: "BlobFlatListSegment",
+        modelProperties: {
+          blobItems: {
+            serializedName: "BlobItems",
+            required: true,
+            xmlName: "BlobItems",
+            xmlElementName: "Blob",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobItemInternal"
+                }
+              }
+            }
+          }
+        }
       }
-    }
-    function ensureSecureConnection(request2, options) {
-      if (!request2.url.toLowerCase().startsWith("https://")) {
-        if (allowInsecureConnection(request2, options)) {
-          emitInsecureConnectionWarning();
-        } else {
-          throw new Error("Authentication is not permitted for non-TLS protected (non-https) URLs when allowInsecureConnection is false.");
+    };
+    exports2.BlobItemInternal = {
+      serializedName: "BlobItemInternal",
+      xmlName: "Blob",
+      type: {
+        name: "Composite",
+        className: "BlobItemInternal",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            xmlName: "Name",
+            type: {
+              name: "Composite",
+              className: "BlobName"
+            }
+          },
+          deleted: {
+            serializedName: "Deleted",
+            required: true,
+            xmlName: "Deleted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          snapshot: {
+            serializedName: "Snapshot",
+            required: true,
+            xmlName: "Snapshot",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "VersionId",
+            xmlName: "VersionId",
+            type: {
+              name: "String"
+            }
+          },
+          isCurrentVersion: {
+            serializedName: "IsCurrentVersion",
+            xmlName: "IsCurrentVersion",
+            type: {
+              name: "Boolean"
+            }
+          },
+          properties: {
+            serializedName: "Properties",
+            xmlName: "Properties",
+            type: {
+              name: "Composite",
+              className: "BlobPropertiesInternal"
+            }
+          },
+          metadata: {
+            serializedName: "Metadata",
+            xmlName: "Metadata",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          blobTags: {
+            serializedName: "BlobTags",
+            xmlName: "Tags",
+            type: {
+              name: "Composite",
+              className: "BlobTags"
+            }
+          },
+          objectReplicationMetadata: {
+            serializedName: "ObjectReplicationMetadata",
+            xmlName: "OrMetadata",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          hasVersionsOnly: {
+            serializedName: "HasVersionsOnly",
+            xmlName: "HasVersionsOnly",
+            type: {
+              name: "Boolean"
+            }
+          }
         }
       }
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js
-var require_apiKeyAuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.apiKeyAuthenticationPolicyName = void 0;
-    exports2.apiKeyAuthenticationPolicy = apiKeyAuthenticationPolicy;
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.apiKeyAuthenticationPolicyName = "apiKeyAuthenticationPolicy";
-    function apiKeyAuthenticationPolicy(options) {
-      return {
-        name: exports2.apiKeyAuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "apiKey");
-          if (!scheme) {
-            return next(request2);
-          }
-          if (scheme.apiKeyLocation !== "header") {
-            throw new Error(`Unsupported API key location: ${scheme.apiKeyLocation}`);
+    };
+    exports2.BlobName = {
+      serializedName: "BlobName",
+      type: {
+        name: "Composite",
+        className: "BlobName",
+        modelProperties: {
+          encoded: {
+            serializedName: "Encoded",
+            xmlName: "Encoded",
+            xmlIsAttribute: true,
+            type: {
+              name: "Boolean"
+            }
+          },
+          content: {
+            serializedName: "content",
+            xmlName: "content",
+            xmlIsMsText: true,
+            type: {
+              name: "String"
+            }
           }
-          request2.headers.set(scheme.name, options.credential.key);
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js
-var require_basicAuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.basicAuthenticationPolicyName = void 0;
-    exports2.basicAuthenticationPolicy = basicAuthenticationPolicy;
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.basicAuthenticationPolicyName = "bearerAuthenticationPolicy";
-    function basicAuthenticationPolicy(options) {
-      return {
-        name: exports2.basicAuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "basic");
-          if (!scheme) {
-            return next(request2);
+      }
+    };
+    exports2.BlobPropertiesInternal = {
+      serializedName: "BlobPropertiesInternal",
+      xmlName: "Properties",
+      type: {
+        name: "Composite",
+        className: "BlobPropertiesInternal",
+        modelProperties: {
+          createdOn: {
+            serializedName: "Creation-Time",
+            xmlName: "Creation-Time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          lastModified: {
+            serializedName: "Last-Modified",
+            required: true,
+            xmlName: "Last-Modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "Etag",
+            required: true,
+            xmlName: "Etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentLength: {
+            serializedName: "Content-Length",
+            xmlName: "Content-Length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "Content-Type",
+            xmlName: "Content-Type",
+            type: {
+              name: "String"
+            }
+          },
+          contentEncoding: {
+            serializedName: "Content-Encoding",
+            xmlName: "Content-Encoding",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "Content-Language",
+            xmlName: "Content-Language",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "Content-MD5",
+            xmlName: "Content-MD5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentDisposition: {
+            serializedName: "Content-Disposition",
+            xmlName: "Content-Disposition",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "Cache-Control",
+            xmlName: "Cache-Control",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          blobType: {
+            serializedName: "BlobType",
+            xmlName: "BlobType",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          leaseStatus: {
+            serializedName: "LeaseStatus",
+            xmlName: "LeaseStatus",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          leaseState: {
+            serializedName: "LeaseState",
+            xmlName: "LeaseState",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseDuration: {
+            serializedName: "LeaseDuration",
+            xmlName: "LeaseDuration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          copyId: {
+            serializedName: "CopyId",
+            xmlName: "CopyId",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "CopyStatus",
+            xmlName: "CopyStatus",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          copySource: {
+            serializedName: "CopySource",
+            xmlName: "CopySource",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "CopyProgress",
+            xmlName: "CopyProgress",
+            type: {
+              name: "String"
+            }
+          },
+          copyCompletedOn: {
+            serializedName: "CopyCompletionTime",
+            xmlName: "CopyCompletionTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "CopyStatusDescription",
+            xmlName: "CopyStatusDescription",
+            type: {
+              name: "String"
+            }
+          },
+          serverEncrypted: {
+            serializedName: "ServerEncrypted",
+            xmlName: "ServerEncrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          incrementalCopy: {
+            serializedName: "IncrementalCopy",
+            xmlName: "IncrementalCopy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          destinationSnapshot: {
+            serializedName: "DestinationSnapshot",
+            xmlName: "DestinationSnapshot",
+            type: {
+              name: "String"
+            }
+          },
+          deletedOn: {
+            serializedName: "DeletedTime",
+            xmlName: "DeletedTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          remainingRetentionDays: {
+            serializedName: "RemainingRetentionDays",
+            xmlName: "RemainingRetentionDays",
+            type: {
+              name: "Number"
+            }
+          },
+          accessTier: {
+            serializedName: "AccessTier",
+            xmlName: "AccessTier",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "P4",
+                "P6",
+                "P10",
+                "P15",
+                "P20",
+                "P30",
+                "P40",
+                "P50",
+                "P60",
+                "P70",
+                "P80",
+                "Hot",
+                "Cool",
+                "Archive",
+                "Cold"
+              ]
+            }
+          },
+          accessTierInferred: {
+            serializedName: "AccessTierInferred",
+            xmlName: "AccessTierInferred",
+            type: {
+              name: "Boolean"
+            }
+          },
+          archiveStatus: {
+            serializedName: "ArchiveStatus",
+            xmlName: "ArchiveStatus",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "rehydrate-pending-to-hot",
+                "rehydrate-pending-to-cool",
+                "rehydrate-pending-to-cold"
+              ]
+            }
+          },
+          customerProvidedKeySha256: {
+            serializedName: "CustomerProvidedKeySha256",
+            xmlName: "CustomerProvidedKeySha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "EncryptionScope",
+            xmlName: "EncryptionScope",
+            type: {
+              name: "String"
+            }
+          },
+          accessTierChangedOn: {
+            serializedName: "AccessTierChangeTime",
+            xmlName: "AccessTierChangeTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          tagCount: {
+            serializedName: "TagCount",
+            xmlName: "TagCount",
+            type: {
+              name: "Number"
+            }
+          },
+          expiresOn: {
+            serializedName: "Expiry-Time",
+            xmlName: "Expiry-Time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isSealed: {
+            serializedName: "Sealed",
+            xmlName: "Sealed",
+            type: {
+              name: "Boolean"
+            }
+          },
+          rehydratePriority: {
+            serializedName: "RehydratePriority",
+            xmlName: "RehydratePriority",
+            type: {
+              name: "Enum",
+              allowedValues: ["High", "Standard"]
+            }
+          },
+          lastAccessedOn: {
+            serializedName: "LastAccessTime",
+            xmlName: "LastAccessTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiresOn: {
+            serializedName: "ImmutabilityPolicyUntilDate",
+            xmlName: "ImmutabilityPolicyUntilDate",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "ImmutabilityPolicyMode",
+            xmlName: "ImmutabilityPolicyMode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
+          },
+          legalHold: {
+            serializedName: "LegalHold",
+            xmlName: "LegalHold",
+            type: {
+              name: "Boolean"
+            }
           }
-          const { username, password } = options.credential;
-          const headerValue = (0, bytesEncoding_js_1.uint8ArrayToString)((0, bytesEncoding_js_1.stringToUint8Array)(`${username}:${password}`, "utf-8"), "base64");
-          request2.headers.set("Authorization", `Basic ${headerValue}`);
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js
-var require_bearerAuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.bearerAuthenticationPolicyName = void 0;
-    exports2.bearerAuthenticationPolicy = bearerAuthenticationPolicy;
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.bearerAuthenticationPolicyName = "bearerAuthenticationPolicy";
-    function bearerAuthenticationPolicy(options) {
-      return {
-        name: exports2.bearerAuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "bearer");
-          if (!scheme) {
-            return next(request2);
+      }
+    };
+    exports2.ListBlobsHierarchySegmentResponse = {
+      serializedName: "ListBlobsHierarchySegmentResponse",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "ListBlobsHierarchySegmentResponse",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          containerName: {
+            serializedName: "ContainerName",
+            required: true,
+            xmlName: "ContainerName",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          prefix: {
+            serializedName: "Prefix",
+            xmlName: "Prefix",
+            type: {
+              name: "String"
+            }
+          },
+          marker: {
+            serializedName: "Marker",
+            xmlName: "Marker",
+            type: {
+              name: "String"
+            }
+          },
+          maxPageSize: {
+            serializedName: "MaxResults",
+            xmlName: "MaxResults",
+            type: {
+              name: "Number"
+            }
+          },
+          delimiter: {
+            serializedName: "Delimiter",
+            xmlName: "Delimiter",
+            type: {
+              name: "String"
+            }
+          },
+          segment: {
+            serializedName: "Segment",
+            xmlName: "Blobs",
+            type: {
+              name: "Composite",
+              className: "BlobHierarchyListSegment"
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
           }
-          const token = await options.credential.getBearerToken({
-            abortSignal: request2.abortSignal
-          });
-          request2.headers.set("Authorization", `Bearer ${token}`);
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js
-var require_oauth2AuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.oauth2AuthenticationPolicyName = void 0;
-    exports2.oauth2AuthenticationPolicy = oauth2AuthenticationPolicy;
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.oauth2AuthenticationPolicyName = "oauth2AuthenticationPolicy";
-    function oauth2AuthenticationPolicy(options) {
-      return {
-        name: exports2.oauth2AuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "oauth2");
-          if (!scheme) {
-            return next(request2);
+      }
+    };
+    exports2.BlobHierarchyListSegment = {
+      serializedName: "BlobHierarchyListSegment",
+      xmlName: "Blobs",
+      type: {
+        name: "Composite",
+        className: "BlobHierarchyListSegment",
+        modelProperties: {
+          blobPrefixes: {
+            serializedName: "BlobPrefixes",
+            xmlName: "BlobPrefixes",
+            xmlElementName: "BlobPrefix",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobPrefix"
+                }
+              }
+            }
+          },
+          blobItems: {
+            serializedName: "BlobItems",
+            required: true,
+            xmlName: "BlobItems",
+            xmlElementName: "Blob",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobItemInternal"
+                }
+              }
+            }
           }
-          const token = await options.credential.getOAuth2Token(scheme.flows, {
-            abortSignal: request2.abortSignal
-          });
-          request2.headers.set("Authorization", `Bearer ${token}`);
-          return next(request2);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js
-var require_clientHelpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultPipeline = createDefaultPipeline;
-    exports2.getCachedDefaultHttpsClient = getCachedDefaultHttpsClient;
-    var defaultHttpClient_js_1 = require_defaultHttpClient();
-    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions();
-    var apiVersionPolicy_js_1 = require_apiVersionPolicy();
-    var credentials_js_1 = require_credentials();
-    var apiKeyAuthenticationPolicy_js_1 = require_apiKeyAuthenticationPolicy();
-    var basicAuthenticationPolicy_js_1 = require_basicAuthenticationPolicy();
-    var bearerAuthenticationPolicy_js_1 = require_bearerAuthenticationPolicy();
-    var oauth2AuthenticationPolicy_js_1 = require_oauth2AuthenticationPolicy();
-    var cachedHttpClient;
-    function createDefaultPipeline(options = {}) {
-      const pipeline = (0, createPipelineFromOptions_js_1.createPipelineFromOptions)(options);
-      pipeline.addPolicy((0, apiVersionPolicy_js_1.apiVersionPolicy)(options));
-      const { credential, authSchemes, allowInsecureConnection } = options;
-      if (credential) {
-        if ((0, credentials_js_1.isApiKeyCredential)(credential)) {
-          pipeline.addPolicy((0, apiKeyAuthenticationPolicy_js_1.apiKeyAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
-        } else if ((0, credentials_js_1.isBasicCredential)(credential)) {
-          pipeline.addPolicy((0, basicAuthenticationPolicy_js_1.basicAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
-        } else if ((0, credentials_js_1.isBearerTokenCredential)(credential)) {
-          pipeline.addPolicy((0, bearerAuthenticationPolicy_js_1.bearerAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
-        } else if ((0, credentials_js_1.isOAuth2TokenCredential)(credential)) {
-          pipeline.addPolicy((0, oauth2AuthenticationPolicy_js_1.oauth2AuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
         }
       }
-      return pipeline;
-    }
-    function getCachedDefaultHttpsClient() {
-      if (!cachedHttpClient) {
-        cachedHttpClient = (0, defaultHttpClient_js_1.createDefaultHttpClient)();
-      }
-      return cachedHttpClient;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildBodyPart = buildBodyPart;
-    exports2.buildMultipartBody = buildMultipartBody;
-    var restError_js_1 = require_restError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var typeGuards_js_1 = require_typeGuards();
-    function getHeaderValue(descriptor, headerName) {
-      if (descriptor.headers) {
-        const actualHeaderName = Object.keys(descriptor.headers).find((x) => x.toLowerCase() === headerName.toLowerCase());
-        if (actualHeaderName) {
-          return descriptor.headers[actualHeaderName];
+    };
+    exports2.BlobPrefix = {
+      serializedName: "BlobPrefix",
+      type: {
+        name: "Composite",
+        className: "BlobPrefix",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            xmlName: "Name",
+            type: {
+              name: "Composite",
+              className: "BlobName"
+            }
+          }
         }
       }
-      return void 0;
-    }
-    function getPartContentType(descriptor) {
-      const contentTypeHeader = getHeaderValue(descriptor, "content-type");
-      if (contentTypeHeader) {
-        return contentTypeHeader;
-      }
-      if (descriptor.contentType === null) {
-        return void 0;
-      }
-      if (descriptor.contentType) {
-        return descriptor.contentType;
-      }
-      const { body } = descriptor;
-      if (body === null || body === void 0) {
-        return void 0;
-      }
-      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
-        return "text/plain; charset=UTF-8";
-      }
-      if (body instanceof Blob) {
-        return body.type || "application/octet-stream";
-      }
-      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
-        return "application/octet-stream";
-      }
-      return "application/json";
-    }
-    function escapeDispositionField(value) {
-      return JSON.stringify(value);
-    }
-    function getContentDisposition(descriptor) {
-      const contentDispositionHeader = getHeaderValue(descriptor, "content-disposition");
-      if (contentDispositionHeader) {
-        return contentDispositionHeader;
-      }
-      if (descriptor.dispositionType === void 0 && descriptor.name === void 0 && descriptor.filename === void 0) {
-        return void 0;
-      }
-      const dispositionType = descriptor.dispositionType ?? "form-data";
-      let disposition = dispositionType;
-      if (descriptor.name) {
-        disposition += `; name=${escapeDispositionField(descriptor.name)}`;
-      }
-      let filename = void 0;
-      if (descriptor.filename) {
-        filename = descriptor.filename;
-      } else if (typeof File !== "undefined" && descriptor.body instanceof File) {
-        const filenameFromFile = descriptor.body.name;
-        if (filenameFromFile !== "") {
-          filename = filenameFromFile;
+    };
+    exports2.BlockLookupList = {
+      serializedName: "BlockLookupList",
+      xmlName: "BlockList",
+      type: {
+        name: "Composite",
+        className: "BlockLookupList",
+        modelProperties: {
+          committed: {
+            serializedName: "Committed",
+            xmlName: "Committed",
+            xmlElementName: "Committed",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "String"
+                }
+              }
+            }
+          },
+          uncommitted: {
+            serializedName: "Uncommitted",
+            xmlName: "Uncommitted",
+            xmlElementName: "Uncommitted",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "String"
+                }
+              }
+            }
+          },
+          latest: {
+            serializedName: "Latest",
+            xmlName: "Latest",
+            xmlElementName: "Latest",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "String"
+                }
+              }
+            }
+          }
         }
       }
-      if (filename) {
-        disposition += `; filename=${escapeDispositionField(filename)}`;
-      }
-      return disposition;
-    }
-    function normalizeBody(body, contentType) {
-      if (body === void 0) {
-        return new Uint8Array([]);
-      }
-      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
-        return body;
-      }
-      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
-        return (0, bytesEncoding_js_1.stringToUint8Array)(String(body), "utf-8");
-      }
-      if (contentType && /application\/(.+\+)?json(;.+)?/i.test(String(contentType))) {
-        return (0, bytesEncoding_js_1.stringToUint8Array)(JSON.stringify(body), "utf-8");
-      }
-      throw new restError_js_1.RestError(`Unsupported body/content-type combination: ${body}, ${contentType}`);
-    }
-    function buildBodyPart(descriptor) {
-      const contentType = getPartContentType(descriptor);
-      const contentDisposition = getContentDisposition(descriptor);
-      const headers = (0, httpHeaders_js_1.createHttpHeaders)(descriptor.headers ?? {});
-      if (contentType) {
-        headers.set("content-type", contentType);
-      }
-      if (contentDisposition) {
-        headers.set("content-disposition", contentDisposition);
-      }
-      const body = normalizeBody(descriptor.body, contentType);
-      return {
-        headers,
-        body
-      };
-    }
-    function buildMultipartBody(parts) {
-      return { parts: parts.map(buildBodyPart) };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js
-var require_sendRequest = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.sendRequest = sendRequest;
-    var restError_js_1 = require_restError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    var pipelineRequest_js_1 = require_pipelineRequest();
-    var clientHelpers_js_1 = require_clientHelpers();
-    var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
-    async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
-      const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
-      const request2 = buildPipelineRequest(method, url, options);
-      try {
-        const response = await pipeline.sendRequest(httpClient, request2);
-        const headers = response.headers.toJSON();
-        const stream = response.readableStreamBody ?? response.browserStreamBody;
-        const parsedBody = options.responseAsStream || stream !== void 0 ? void 0 : getResponseBody(response);
-        const body = stream ?? parsedBody;
-        if (options?.onResponse) {
-          options.onResponse({ ...response, request: request2, rawHeaders: headers, parsedBody });
-        }
-        return {
-          request: request2,
-          headers,
-          status: `${response.status}`,
-          body
-        };
-      } catch (e) {
-        if ((0, restError_js_1.isRestError)(e) && e.response && options.onResponse) {
-          const { response } = e;
-          const rawHeaders = response.headers.toJSON();
-          options?.onResponse({ ...response, request: request2, rawHeaders }, e);
+    };
+    exports2.BlockList = {
+      serializedName: "BlockList",
+      type: {
+        name: "Composite",
+        className: "BlockList",
+        modelProperties: {
+          committedBlocks: {
+            serializedName: "CommittedBlocks",
+            xmlName: "CommittedBlocks",
+            xmlIsWrapped: true,
+            xmlElementName: "Block",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "Block"
+                }
+              }
+            }
+          },
+          uncommittedBlocks: {
+            serializedName: "UncommittedBlocks",
+            xmlName: "UncommittedBlocks",
+            xmlIsWrapped: true,
+            xmlElementName: "Block",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "Block"
+                }
+              }
+            }
+          }
         }
-        throw e;
-      }
-    }
-    function getRequestContentType(options = {}) {
-      return options.contentType ?? options.headers?.["content-type"] ?? getContentType(options.body);
-    }
-    function getContentType(body) {
-      if (ArrayBuffer.isView(body)) {
-        return "application/octet-stream";
       }
-      if (typeof body === "string") {
-        try {
-          JSON.parse(body);
-          return "application/json";
-        } catch (error3) {
-          return void 0;
+    };
+    exports2.Block = {
+      serializedName: "Block",
+      type: {
+        name: "Composite",
+        className: "Block",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            required: true,
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          size: {
+            serializedName: "Size",
+            required: true,
+            xmlName: "Size",
+            type: {
+              name: "Number"
+            }
+          }
         }
       }
-      return "application/json";
-    }
-    function buildPipelineRequest(method, url, options = {}) {
-      const requestContentType = getRequestContentType(options);
-      const { body, multipartBody } = getRequestBody(options.body, requestContentType);
-      const hasContent = body !== void 0 || multipartBody !== void 0;
-      const headers = (0, httpHeaders_js_1.createHttpHeaders)({
-        ...options.headers ? options.headers : {},
-        accept: options.accept ?? options.headers?.accept ?? "application/json",
-        ...hasContent && requestContentType && {
-          "content-type": requestContentType
+    };
+    exports2.PageList = {
+      serializedName: "PageList",
+      type: {
+        name: "Composite",
+        className: "PageList",
+        modelProperties: {
+          pageRange: {
+            serializedName: "PageRange",
+            xmlName: "PageRange",
+            xmlElementName: "PageRange",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "PageRange"
+                }
+              }
+            }
+          },
+          clearRange: {
+            serializedName: "ClearRange",
+            xmlName: "ClearRange",
+            xmlElementName: "ClearRange",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "ClearRange"
+                }
+              }
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
+          }
         }
-      });
-      return (0, pipelineRequest_js_1.createPipelineRequest)({
-        url,
-        method,
-        body,
-        multipartBody,
-        headers,
-        allowInsecureConnection: options.allowInsecureConnection,
-        abortSignal: options.abortSignal,
-        onUploadProgress: options.onUploadProgress,
-        onDownloadProgress: options.onDownloadProgress,
-        timeout: options.timeout,
-        enableBrowserStreams: true,
-        streamResponseStatusCodes: options.responseAsStream ? /* @__PURE__ */ new Set([Number.POSITIVE_INFINITY]) : void 0
-      });
-    }
-    function getRequestBody(body, contentType = "") {
-      if (body === void 0) {
-        return { body: void 0 };
-      }
-      if (typeof FormData !== "undefined" && body instanceof FormData) {
-        return { body };
-      }
-      if ((0, typeGuards_js_1.isReadableStream)(body)) {
-        return { body };
       }
-      if (ArrayBuffer.isView(body)) {
-        return { body: body instanceof Uint8Array ? body : JSON.stringify(body) };
-      }
-      const firstType = contentType.split(";")[0];
-      switch (firstType) {
-        case "application/json":
-          return { body: JSON.stringify(body) };
-        case "multipart/form-data":
-          if (Array.isArray(body)) {
-            return { multipartBody: (0, multipart_js_1.buildMultipartBody)(body) };
-          }
-          return { body: JSON.stringify(body) };
-        case "text/plain":
-          return { body: String(body) };
-        default:
-          if (typeof body === "string") {
-            return { body };
+    };
+    exports2.PageRange = {
+      serializedName: "PageRange",
+      xmlName: "PageRange",
+      type: {
+        name: "Composite",
+        className: "PageRange",
+        modelProperties: {
+          start: {
+            serializedName: "Start",
+            required: true,
+            xmlName: "Start",
+            type: {
+              name: "Number"
+            }
+          },
+          end: {
+            serializedName: "End",
+            required: true,
+            xmlName: "End",
+            type: {
+              name: "Number"
+            }
           }
-          return { body: JSON.stringify(body) };
-      }
-    }
-    function getResponseBody(response) {
-      const contentType = response.headers.get("content-type") ?? "";
-      const firstType = contentType.split(";")[0];
-      const bodyToParse = response.bodyAsText ?? "";
-      if (firstType === "text/plain") {
-        return String(bodyToParse);
-      }
-      try {
-        return bodyToParse ? JSON.parse(bodyToParse) : void 0;
-      } catch (error3) {
-        if (firstType === "application/json") {
-          throw createParseError(response, error3);
         }
-        return String(bodyToParse);
-      }
-    }
-    function createParseError(response, err) {
-      const msg = `Error "${err}" occurred while parsing the response body - ${response.bodyAsText}.`;
-      const errCode = err.code ?? restError_js_1.RestError.PARSE_ERROR;
-      return new restError_js_1.RestError(msg, {
-        code: errCode,
-        statusCode: response.status,
-        request: response.request,
-        response
-      });
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js
-var require_urlHelpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildRequestUrl = buildRequestUrl;
-    exports2.buildBaseUrl = buildBaseUrl;
-    exports2.replaceAll = replaceAll;
-    function isQueryParameterWithOptions(x) {
-      const value = x.value;
-      return value !== void 0 && value.toString !== void 0 && typeof value.toString === "function";
-    }
-    function buildRequestUrl(endpoint2, routePath, pathParameters, options = {}) {
-      if (routePath.startsWith("https://") || routePath.startsWith("http://")) {
-        return routePath;
-      }
-      endpoint2 = buildBaseUrl(endpoint2, options);
-      routePath = buildRoutePath(routePath, pathParameters, options);
-      const requestUrl = appendQueryParams(`${endpoint2}/${routePath}`, options);
-      const url = new URL(requestUrl);
-      return url.toString().replace(/([^:]\/)\/+/g, "$1");
-    }
-    function getQueryParamValue(key, allowReserved, style, param) {
-      let separator;
-      if (style === "pipeDelimited") {
-        separator = "|";
-      } else if (style === "spaceDelimited") {
-        separator = "%20";
-      } else {
-        separator = ",";
-      }
-      let paramValues;
-      if (Array.isArray(param)) {
-        paramValues = param;
-      } else if (typeof param === "object" && param.toString === Object.prototype.toString) {
-        paramValues = Object.entries(param).flat();
-      } else {
-        paramValues = [param];
       }
-      const value = paramValues.map((p) => {
-        if (p === null || p === void 0) {
-          return "";
+    };
+    exports2.ClearRange = {
+      serializedName: "ClearRange",
+      xmlName: "ClearRange",
+      type: {
+        name: "Composite",
+        className: "ClearRange",
+        modelProperties: {
+          start: {
+            serializedName: "Start",
+            required: true,
+            xmlName: "Start",
+            type: {
+              name: "Number"
+            }
+          },
+          end: {
+            serializedName: "End",
+            required: true,
+            xmlName: "End",
+            type: {
+              name: "Number"
+            }
+          }
         }
-        if (!p.toString || typeof p.toString !== "function") {
-          throw new Error(`Query parameters must be able to be represented as string, ${key} can't`);
+      }
+    };
+    exports2.QueryRequest = {
+      serializedName: "QueryRequest",
+      xmlName: "QueryRequest",
+      type: {
+        name: "Composite",
+        className: "QueryRequest",
+        modelProperties: {
+          queryType: {
+            serializedName: "QueryType",
+            required: true,
+            xmlName: "QueryType",
+            type: {
+              name: "String"
+            }
+          },
+          expression: {
+            serializedName: "Expression",
+            required: true,
+            xmlName: "Expression",
+            type: {
+              name: "String"
+            }
+          },
+          inputSerialization: {
+            serializedName: "InputSerialization",
+            xmlName: "InputSerialization",
+            type: {
+              name: "Composite",
+              className: "QuerySerialization"
+            }
+          },
+          outputSerialization: {
+            serializedName: "OutputSerialization",
+            xmlName: "OutputSerialization",
+            type: {
+              name: "Composite",
+              className: "QuerySerialization"
+            }
+          }
         }
-        const rawValue = p.toISOString !== void 0 ? p.toISOString() : p.toString();
-        return allowReserved ? rawValue : encodeURIComponent(rawValue);
-      }).join(separator);
-      return `${allowReserved ? key : encodeURIComponent(key)}=${value}`;
-    }
-    function appendQueryParams(url, options = {}) {
-      if (!options.queryParameters) {
-        return url;
       }
-      const parsedUrl = new URL(url);
-      const queryParams = options.queryParameters;
-      const paramStrings = [];
-      for (const key of Object.keys(queryParams)) {
-        const param = queryParams[key];
-        if (param === void 0 || param === null) {
-          continue;
+    };
+    exports2.QuerySerialization = {
+      serializedName: "QuerySerialization",
+      type: {
+        name: "Composite",
+        className: "QuerySerialization",
+        modelProperties: {
+          format: {
+            serializedName: "Format",
+            xmlName: "Format",
+            type: {
+              name: "Composite",
+              className: "QueryFormat"
+            }
+          }
         }
-        const hasMetadata = isQueryParameterWithOptions(param);
-        const rawValue = hasMetadata ? param.value : param;
-        const explode = hasMetadata ? param.explode ?? false : false;
-        const style = hasMetadata && param.style ? param.style : "form";
-        if (explode) {
-          if (Array.isArray(rawValue)) {
-            for (const item of rawValue) {
-              paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, item));
+      }
+    };
+    exports2.QueryFormat = {
+      serializedName: "QueryFormat",
+      type: {
+        name: "Composite",
+        className: "QueryFormat",
+        modelProperties: {
+          type: {
+            serializedName: "Type",
+            required: true,
+            xmlName: "Type",
+            type: {
+              name: "Enum",
+              allowedValues: ["delimited", "json", "arrow", "parquet"]
             }
-          } else if (typeof rawValue === "object") {
-            for (const [actualKey, value] of Object.entries(rawValue)) {
-              paramStrings.push(getQueryParamValue(actualKey, options.skipUrlEncoding ?? false, style, value));
+          },
+          delimitedTextConfiguration: {
+            serializedName: "DelimitedTextConfiguration",
+            xmlName: "DelimitedTextConfiguration",
+            type: {
+              name: "Composite",
+              className: "DelimitedTextConfiguration"
+            }
+          },
+          jsonTextConfiguration: {
+            serializedName: "JsonTextConfiguration",
+            xmlName: "JsonTextConfiguration",
+            type: {
+              name: "Composite",
+              className: "JsonTextConfiguration"
+            }
+          },
+          arrowConfiguration: {
+            serializedName: "ArrowConfiguration",
+            xmlName: "ArrowConfiguration",
+            type: {
+              name: "Composite",
+              className: "ArrowConfiguration"
+            }
+          },
+          parquetTextConfiguration: {
+            serializedName: "ParquetTextConfiguration",
+            xmlName: "ParquetTextConfiguration",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "any" } }
             }
-          } else {
-            throw new Error("explode can only be set to true for objects and arrays");
           }
-        } else {
-          paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, rawValue));
         }
       }
-      if (parsedUrl.search !== "") {
-        parsedUrl.search += "&";
-      }
-      parsedUrl.search += paramStrings.join("&");
-      return parsedUrl.toString();
-    }
-    function buildBaseUrl(endpoint2, options) {
-      if (!options.pathParameters) {
-        return endpoint2;
+    };
+    exports2.DelimitedTextConfiguration = {
+      serializedName: "DelimitedTextConfiguration",
+      xmlName: "DelimitedTextConfiguration",
+      type: {
+        name: "Composite",
+        className: "DelimitedTextConfiguration",
+        modelProperties: {
+          columnSeparator: {
+            serializedName: "ColumnSeparator",
+            xmlName: "ColumnSeparator",
+            type: {
+              name: "String"
+            }
+          },
+          fieldQuote: {
+            serializedName: "FieldQuote",
+            xmlName: "FieldQuote",
+            type: {
+              name: "String"
+            }
+          },
+          recordSeparator: {
+            serializedName: "RecordSeparator",
+            xmlName: "RecordSeparator",
+            type: {
+              name: "String"
+            }
+          },
+          escapeChar: {
+            serializedName: "EscapeChar",
+            xmlName: "EscapeChar",
+            type: {
+              name: "String"
+            }
+          },
+          headersPresent: {
+            serializedName: "HeadersPresent",
+            xmlName: "HasHeaders",
+            type: {
+              name: "Boolean"
+            }
+          }
+        }
       }
-      const pathParams = options.pathParameters;
-      for (const [key, param] of Object.entries(pathParams)) {
-        if (param === void 0 || param === null) {
-          throw new Error(`Path parameters ${key} must not be undefined or null`);
+    };
+    exports2.JsonTextConfiguration = {
+      serializedName: "JsonTextConfiguration",
+      xmlName: "JsonTextConfiguration",
+      type: {
+        name: "Composite",
+        className: "JsonTextConfiguration",
+        modelProperties: {
+          recordSeparator: {
+            serializedName: "RecordSeparator",
+            xmlName: "RecordSeparator",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (!param.toString || typeof param.toString !== "function") {
-          throw new Error(`Path parameters must be able to be represented as string, ${key} can't`);
+      }
+    };
+    exports2.ArrowConfiguration = {
+      serializedName: "ArrowConfiguration",
+      xmlName: "ArrowConfiguration",
+      type: {
+        name: "Composite",
+        className: "ArrowConfiguration",
+        modelProperties: {
+          schema: {
+            serializedName: "Schema",
+            required: true,
+            xmlName: "Schema",
+            xmlIsWrapped: true,
+            xmlElementName: "Field",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "ArrowField"
+                }
+              }
+            }
+          }
         }
-        let value = param.toISOString !== void 0 ? param.toISOString() : String(param);
-        if (!options.skipUrlEncoding) {
-          value = encodeURIComponent(param);
+      }
+    };
+    exports2.ArrowField = {
+      serializedName: "ArrowField",
+      xmlName: "Field",
+      type: {
+        name: "Composite",
+        className: "ArrowField",
+        modelProperties: {
+          type: {
+            serializedName: "Type",
+            required: true,
+            xmlName: "Type",
+            type: {
+              name: "String"
+            }
+          },
+          name: {
+            serializedName: "Name",
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          precision: {
+            serializedName: "Precision",
+            xmlName: "Precision",
+            type: {
+              name: "Number"
+            }
+          },
+          scale: {
+            serializedName: "Scale",
+            xmlName: "Scale",
+            type: {
+              name: "Number"
+            }
+          }
         }
-        endpoint2 = replaceAll(endpoint2, `{${key}}`, value) ?? "";
       }
-      return endpoint2;
-    }
-    function buildRoutePath(routePath, pathParameters, options = {}) {
-      for (const pathParam of pathParameters) {
-        const allowReserved = typeof pathParam === "object" && (pathParam.allowReserved ?? false);
-        let value = typeof pathParam === "object" ? pathParam.value : pathParam;
-        if (!options.skipUrlEncoding && !allowReserved) {
-          value = encodeURIComponent(value);
+    };
+    exports2.ServiceSetPropertiesHeaders = {
+      serializedName: "Service_setPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSetPropertiesHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        routePath = routePath.replace(/\{[\w-]+\}/, String(value));
       }
-      return routePath;
-    }
-    function replaceAll(value, searchValue, replaceValue) {
-      return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || "");
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js
-var require_getClient = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getClient = getClient;
-    var clientHelpers_js_1 = require_clientHelpers();
-    var sendRequest_js_1 = require_sendRequest();
-    var urlHelpers_js_1 = require_urlHelpers();
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    function getClient(endpoint2, clientOptions = {}) {
-      const pipeline = clientOptions.pipeline ?? (0, clientHelpers_js_1.createDefaultPipeline)(clientOptions);
-      if (clientOptions.additionalPolicies?.length) {
-        for (const { policy, position } of clientOptions.additionalPolicies) {
-          const afterPhase = position === "perRetry" ? "Sign" : void 0;
-          pipeline.addPolicy(policy, {
-            afterPhase
-          });
+    };
+    exports2.ServiceSetPropertiesExceptionHeaders = {
+      serializedName: "Service_setPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      const { allowInsecureConnection, httpClient } = clientOptions;
-      const endpointUrl = clientOptions.endpoint ?? endpoint2;
-      const client = (path4, ...args) => {
-        const getUrl = (requestOptions) => (0, urlHelpers_js_1.buildRequestUrl)(endpointUrl, path4, args, { allowInsecureConnection, ...requestOptions });
-        return {
-          get: (requestOptions = {}) => {
-            return buildOperation("GET", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+    };
+    exports2.ServiceGetPropertiesHeaders = {
+      serializedName: "Service_getPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetPropertiesHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
           },
-          post: (requestOptions = {}) => {
-            return buildOperation("POST", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
           },
-          put: (requestOptions = {}) => {
-            return buildOperation("PUT", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
           },
-          patch: (requestOptions = {}) => {
-            return buildOperation("PATCH", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
+    };
+    exports2.ServiceGetPropertiesExceptionHeaders = {
+      serializedName: "Service_getPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
+    };
+    exports2.ServiceGetStatisticsHeaders = {
+      serializedName: "Service_getStatisticsHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetStatisticsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
           },
-          delete: (requestOptions = {}) => {
-            return buildOperation("DELETE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
           },
-          head: (requestOptions = {}) => {
-            return buildOperation("HEAD", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
           },
-          options: (requestOptions = {}) => {
-            return buildOperation("OPTIONS", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           },
-          trace: (requestOptions = {}) => {
-            return buildOperation("TRACE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
-          }
-        };
-      };
-      return {
-        path: client,
-        pathUnchecked: client,
-        pipeline
-      };
-    }
-    function buildOperation(method, url, pipeline, options, allowInsecureConnection, httpClient) {
-      allowInsecureConnection = options.allowInsecureConnection ?? allowInsecureConnection;
-      return {
-        then: function(onFulfilled, onrejected) {
-          return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection }, httpClient).then(onFulfilled, onrejected);
-        },
-        async asBrowserStream() {
-          if (checkEnvironment_js_1.isNodeLike) {
-            throw new Error("`asBrowserStream` is supported only in the browser environment. Use `asNodeStream` instead to obtain the response body stream. If you require a Web stream of the response in Node, consider using `Readable.toWeb` on the result of `asNodeStream`.");
-          } else {
-            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
-          }
-        },
-        async asNodeStream() {
-          if (checkEnvironment_js_1.isNodeLike) {
-            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
-          } else {
-            throw new Error("`isNodeStream` is not supported in the browser environment. Use `asBrowserStream` to obtain the response body stream.");
-          }
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js
-var require_operationOptionHelpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.operationOptionsToRequestParameters = operationOptionsToRequestParameters;
-    function operationOptionsToRequestParameters(options) {
-      return {
-        allowInsecureConnection: options.requestOptions?.allowInsecureConnection,
-        timeout: options.requestOptions?.timeout,
-        skipUrlEncoding: options.requestOptions?.skipUrlEncoding,
-        abortSignal: options.abortSignal,
-        onUploadProgress: options.requestOptions?.onUploadProgress,
-        onDownloadProgress: options.requestOptions?.onDownloadProgress,
-        headers: { ...options.requestOptions?.headers },
-        onResponse: options.onResponse
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js
-var require_restError2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createRestError = createRestError;
-    var restError_js_1 = require_restError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    function createRestError(messageOrResponse, response) {
-      const resp = typeof messageOrResponse === "string" ? response : messageOrResponse;
-      const internalError = resp.body?.error ?? resp.body;
-      const message = typeof messageOrResponse === "string" ? messageOrResponse : internalError?.message ?? `Unexpected status code: ${resp.status}`;
-      return new restError_js_1.RestError(message, {
-        statusCode: statusCodeToNumber(resp.status),
-        code: internalError?.code,
-        request: resp.request,
-        response: toPipelineResponse(resp)
-      });
-    }
-    function toPipelineResponse(response) {
-      return {
-        headers: (0, httpHeaders_js_1.createHttpHeaders)(response.headers),
-        request: response.request,
-        status: statusCodeToNumber(response.status) ?? -1
-      };
-    }
-    function statusCodeToNumber(statusCode) {
-      const status = Number.parseInt(statusCode);
-      return Number.isNaN(status) ? void 0 : status;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js
-var require_commonjs = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createRestError = exports2.operationOptionsToRequestParameters = exports2.getClient = exports2.createDefaultHttpClient = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isRestError = exports2.RestError = exports2.createEmptyPipeline = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.TypeSpecRuntimeLogger = exports2.setLogLevel = exports2.getLogLevel = exports2.createClientLogger = exports2.AbortError = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var AbortError_js_1 = require_AbortError();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-    var logger_js_1 = require_logger();
-    Object.defineProperty(exports2, "createClientLogger", { enumerable: true, get: function() {
-      return logger_js_1.createClientLogger;
-    } });
-    Object.defineProperty(exports2, "getLogLevel", { enumerable: true, get: function() {
-      return logger_js_1.getLogLevel;
-    } });
-    Object.defineProperty(exports2, "setLogLevel", { enumerable: true, get: function() {
-      return logger_js_1.setLogLevel;
-    } });
-    Object.defineProperty(exports2, "TypeSpecRuntimeLogger", { enumerable: true, get: function() {
-      return logger_js_1.TypeSpecRuntimeLogger;
-    } });
-    var httpHeaders_js_1 = require_httpHeaders();
-    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
-      return httpHeaders_js_1.createHttpHeaders;
-    } });
-    tslib_1.__exportStar(require_schemes(), exports2);
-    tslib_1.__exportStar(require_oauth2Flows(), exports2);
-    var pipelineRequest_js_1 = require_pipelineRequest();
-    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
-      return pipelineRequest_js_1.createPipelineRequest;
-    } });
-    var pipeline_js_1 = require_pipeline();
-    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
-      return pipeline_js_1.createEmptyPipeline;
-    } });
-    var restError_js_1 = require_restError();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return restError_js_1.RestError;
-    } });
-    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
-      return restError_js_1.isRestError;
-    } });
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.stringToUint8Array;
-    } });
-    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.uint8ArrayToString;
-    } });
-    var defaultHttpClient_js_1 = require_defaultHttpClient();
-    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
-      return defaultHttpClient_js_1.createDefaultHttpClient;
-    } });
-    var getClient_js_1 = require_getClient();
-    Object.defineProperty(exports2, "getClient", { enumerable: true, get: function() {
-      return getClient_js_1.getClient;
-    } });
-    var operationOptionHelpers_js_1 = require_operationOptionHelpers();
-    Object.defineProperty(exports2, "operationOptionsToRequestParameters", { enumerable: true, get: function() {
-      return operationOptionHelpers_js_1.operationOptionsToRequestParameters;
-    } });
-    var restError_js_2 = require_restError2();
-    Object.defineProperty(exports2, "createRestError", { enumerable: true, get: function() {
-      return restError_js_2.createRestError;
-    } });
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js
-var require_pipeline2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createEmptyPipeline = createEmptyPipeline;
-    var ts_http_runtime_1 = require_commonjs();
-    function createEmptyPipeline() {
-      return (0, ts_http_runtime_1.createEmptyPipeline)();
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js
-var require_internal = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createLoggerContext = void 0;
-    var logger_js_1 = require_logger();
-    Object.defineProperty(exports2, "createLoggerContext", { enumerable: true, get: function() {
-      return logger_js_1.createLoggerContext;
-    } });
-  }
-});
-
-// node_modules/@azure/logger/dist/commonjs/index.js
-var require_commonjs2 = __commonJS({
-  "node_modules/@azure/logger/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureLogger = void 0;
-    exports2.setLogLevel = setLogLevel;
-    exports2.getLogLevel = getLogLevel;
-    exports2.createClientLogger = createClientLogger;
-    var logger_1 = require_internal();
-    var context2 = (0, logger_1.createLoggerContext)({
-      logLevelEnvVarName: "AZURE_LOG_LEVEL",
-      namespace: "azure"
-    });
-    exports2.AzureLogger = context2.logger;
-    function setLogLevel(level) {
-      context2.setLogLevel(level);
-    }
-    function getLogLevel() {
-      return context2.getLogLevel();
-    }
-    function createClientLogger(namespace) {
-      return context2.createClientLogger(namespace);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js
-var require_log3 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs2();
-    exports2.logger = (0, logger_1.createClientLogger)("core-rest-pipeline");
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js
-var require_exponentialRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.exponentialRetryPolicyName = void 0;
-    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
-    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants13();
-    exports2.exponentialRetryPolicyName = "exponentialRetryPolicy";
-    function exponentialRetryPolicy(options = {}) {
-      return (0, retryPolicy_js_1.retryPolicy)([
-        (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
-          ...options,
-          ignoreSystemErrors: true
-        })
-      ], {
-        maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-      });
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js
-var require_systemErrorRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.systemErrorRetryPolicyName = void 0;
-    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
-    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants13();
-    exports2.systemErrorRetryPolicyName = "systemErrorRetryPolicy";
-    function systemErrorRetryPolicy(options = {}) {
-      return {
-        name: exports2.systemErrorRetryPolicyName,
-        sendRequest: (0, retryPolicy_js_1.retryPolicy)([
-          (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
-            ...options,
-            ignoreHttpStatusCodes: true
-          })
-        ], {
-          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-        }).sendRequest
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js
-var require_throttlingRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.throttlingRetryPolicyName = void 0;
-    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
-    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants13();
-    exports2.throttlingRetryPolicyName = "throttlingRetryPolicy";
-    function throttlingRetryPolicy(options = {}) {
-      return {
-        name: exports2.throttlingRetryPolicyName,
-        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)()], {
-          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-        }).sendRequest
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js
-var require_internal2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.retryPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.defaultRetryPolicyName = exports2.defaultRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.agentPolicyName = exports2.agentPolicy = void 0;
-    var agentPolicy_js_1 = require_agentPolicy();
-    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicy;
-    } });
-    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicyName;
-    } });
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
-    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicy;
-    } });
-    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
-    } });
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
-    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
-      return defaultRetryPolicy_js_1.defaultRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "defaultRetryPolicyName", { enumerable: true, get: function() {
-      return defaultRetryPolicy_js_1.defaultRetryPolicyName;
-    } });
-    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy();
-    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
-    } });
-    var retryPolicy_js_1 = require_retryPolicy();
-    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
-      return retryPolicy_js_1.retryPolicy;
-    } });
-    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy();
-    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
-    } });
-    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy();
-    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
-    } });
-    var formDataPolicy_js_1 = require_formDataPolicy();
-    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicy;
-    } });
-    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicyName;
-    } });
-    var logPolicy_js_1 = require_logPolicy();
-    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicy;
-    } });
-    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicyName;
-    } });
-    var multipartPolicy_js_1 = require_multipartPolicy();
-    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicy;
-    } });
-    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicyName;
-    } });
-    var proxyPolicy_js_1 = require_proxyPolicy();
-    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicy;
-    } });
-    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicyName;
-    } });
-    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.getDefaultProxySettings;
-    } });
-    var redirectPolicy_js_1 = require_redirectPolicy();
-    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicy;
-    } });
-    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicyName;
-    } });
-    var tlsPolicy_js_1 = require_tlsPolicy();
-    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicy;
-    } });
-    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicyName;
-    } });
-    var userAgentPolicy_js_1 = require_userAgentPolicy();
-    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicy;
-    } });
-    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicyName;
-    } });
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js
-var require_logPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logPolicyName = void 0;
-    exports2.logPolicy = logPolicy;
-    var log_js_1 = require_log3();
-    var policies_1 = require_internal2();
-    exports2.logPolicyName = policies_1.logPolicyName;
-    function logPolicy(options = {}) {
-      return (0, policies_1.logPolicy)({
-        logger: log_js_1.logger.info,
-        ...options
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js
-var require_redirectPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.redirectPolicyName = void 0;
-    exports2.redirectPolicy = redirectPolicy;
-    var policies_1 = require_internal2();
-    exports2.redirectPolicyName = policies_1.redirectPolicyName;
-    function redirectPolicy(options = {}) {
-      return (0, policies_1.redirectPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js
-var require_userAgentPlatform2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getHeaderName = getHeaderName;
-    exports2.setPlatformSpecificData = setPlatformSpecificData;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_os_1 = tslib_1.__importDefault(require("node:os"));
-    var node_process_1 = tslib_1.__importDefault(require("node:process"));
-    function getHeaderName() {
-      return "User-Agent";
-    }
-    async function setPlatformSpecificData(map2) {
-      if (node_process_1.default && node_process_1.default.versions) {
-        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
-        const versions = node_process_1.default.versions;
-        if (versions.bun) {
-          map2.set("Bun", `${versions.bun} (${osInfo})`);
-        } else if (versions.deno) {
-          map2.set("Deno", `${versions.deno} (${osInfo})`);
-        } else if (versions.node) {
-          map2.set("Node", `${versions.node} (${osInfo})`);
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js
-var require_constants14 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "1.22.2";
-    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js
-var require_userAgent2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
-    exports2.getUserAgentValue = getUserAgentValue;
-    var userAgentPlatform_js_1 = require_userAgentPlatform2();
-    var constants_js_1 = require_constants14();
-    function getUserAgentString(telemetryInfo) {
-      const parts = [];
-      for (const [key, value] of telemetryInfo) {
-        const token = value ? `${key}/${value}` : key;
-        parts.push(token);
+    };
+    exports2.ServiceGetStatisticsExceptionHeaders = {
+      serializedName: "Service_getStatisticsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetStatisticsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      return parts.join(" ");
-    }
-    function getUserAgentHeaderName() {
-      return (0, userAgentPlatform_js_1.getHeaderName)();
-    }
-    async function getUserAgentValue(prefix) {
-      const runtimeInfo = /* @__PURE__ */ new Map();
-      runtimeInfo.set("core-rest-pipeline", constants_js_1.SDK_VERSION);
-      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
-      const defaultAgent = getUserAgentString(runtimeInfo);
-      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
-      return userAgentValue;
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js
-var require_userAgentPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.userAgentPolicyName = void 0;
-    exports2.userAgentPolicy = userAgentPolicy;
-    var userAgent_js_1 = require_userAgent2();
-    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
-    exports2.userAgentPolicyName = "userAgentPolicy";
-    function userAgentPolicy(options = {}) {
-      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
-      return {
-        name: exports2.userAgentPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.headers.has(UserAgentHeaderName)) {
-            request2.headers.set(UserAgentHeaderName, await userAgentValue);
+    };
+    exports2.ServiceListContainersSegmentHeaders = {
+      serializedName: "Service_listContainersSegmentHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceListContainersSegmentHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js
-var require_sha256 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.computeSha256Hmac = computeSha256Hmac;
-    exports2.computeSha256Hash = computeSha256Hash;
-    var node_crypto_1 = require("node:crypto");
-    async function computeSha256Hmac(key, stringToSign, encoding) {
-      const decodedKey = Buffer.from(key, "base64");
-      return (0, node_crypto_1.createHmac)("sha256", decodedKey).update(stringToSign).digest(encoding);
-    }
-    async function computeSha256Hash(content, encoding) {
-      return (0, node_crypto_1.createHash)("sha256").update(content).digest(encoding);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js
-var require_internal3 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Sanitizer = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isWebWorker = exports2.isReactNative = exports2.isDeno = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isBrowser = exports2.randomUUID = exports2.computeSha256Hmac = exports2.computeSha256Hash = exports2.isError = exports2.isObject = exports2.getRandomIntegerInclusive = exports2.calculateRetryDelay = void 0;
-    var delay_js_1 = require_delay();
-    Object.defineProperty(exports2, "calculateRetryDelay", { enumerable: true, get: function() {
-      return delay_js_1.calculateRetryDelay;
-    } });
-    var random_js_1 = require_random();
-    Object.defineProperty(exports2, "getRandomIntegerInclusive", { enumerable: true, get: function() {
-      return random_js_1.getRandomIntegerInclusive;
-    } });
-    var object_js_1 = require_object();
-    Object.defineProperty(exports2, "isObject", { enumerable: true, get: function() {
-      return object_js_1.isObject;
-    } });
-    var error_js_1 = require_error();
-    Object.defineProperty(exports2, "isError", { enumerable: true, get: function() {
-      return error_js_1.isError;
-    } });
-    var sha256_js_1 = require_sha256();
-    Object.defineProperty(exports2, "computeSha256Hash", { enumerable: true, get: function() {
-      return sha256_js_1.computeSha256Hash;
-    } });
-    Object.defineProperty(exports2, "computeSha256Hmac", { enumerable: true, get: function() {
-      return sha256_js_1.computeSha256Hmac;
-    } });
-    var uuidUtils_js_1 = require_uuidUtils();
-    Object.defineProperty(exports2, "randomUUID", { enumerable: true, get: function() {
-      return uuidUtils_js_1.randomUUID;
-    } });
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    Object.defineProperty(exports2, "isBrowser", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isBrowser;
-    } });
-    Object.defineProperty(exports2, "isBun", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isBun;
-    } });
-    Object.defineProperty(exports2, "isNodeLike", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isNodeLike;
-    } });
-    Object.defineProperty(exports2, "isNodeRuntime", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isNodeRuntime;
-    } });
-    Object.defineProperty(exports2, "isDeno", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isDeno;
-    } });
-    Object.defineProperty(exports2, "isReactNative", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isReactNative;
-    } });
-    Object.defineProperty(exports2, "isWebWorker", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isWebWorker;
-    } });
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.stringToUint8Array;
-    } });
-    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.uint8ArrayToString;
-    } });
-    var sanitizer_js_1 = require_sanitizer();
-    Object.defineProperty(exports2, "Sanitizer", { enumerable: true, get: function() {
-      return sanitizer_js_1.Sanitizer;
-    } });
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/aborterUtils.js
-var require_aborterUtils = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/aborterUtils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.cancelablePromiseRace = cancelablePromiseRace;
-    async function cancelablePromiseRace(abortablePromiseBuilders, options) {
-      const aborter = new AbortController();
-      function abortHandler() {
-        aborter.abort();
       }
-      options?.abortSignal?.addEventListener("abort", abortHandler);
-      try {
-        return await Promise.race(abortablePromiseBuilders.map((p) => p({ abortSignal: aborter.signal })));
-      } finally {
-        aborter.abort();
-        options?.abortSignal?.removeEventListener("abort", abortHandler);
+    };
+    exports2.ServiceListContainersSegmentExceptionHeaders = {
+      serializedName: "Service_listContainersSegmentExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceListContainersSegmentExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-    }
-  }
-});
-
-// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
-var require_AbortError2 = __commonJS({
-  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+    };
+    exports2.ServiceGetUserDelegationKeyHeaders = {
+      serializedName: "Service_getUserDelegationKeyHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetUserDelegationKeyHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
     };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js
-var require_commonjs3 = __commonJS({
-  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError_js_1 = require_AbortError2();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js
-var require_createAbortablePromise = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createAbortablePromise = createAbortablePromise;
-    var abort_controller_1 = require_commonjs3();
-    function createAbortablePromise(buildPromise, options) {
-      const { cleanupBeforeAbort, abortSignal, abortErrorMsg } = options ?? {};
-      return new Promise((resolve3, reject) => {
-        function rejectOnAbort() {
-          reject(new abort_controller_1.AbortError(abortErrorMsg ?? "The operation was aborted."));
+    exports2.ServiceGetUserDelegationKeyExceptionHeaders = {
+      serializedName: "Service_getUserDelegationKeyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetUserDelegationKeyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        function removeListeners() {
-          abortSignal?.removeEventListener("abort", onAbort);
+      }
+    };
+    exports2.ServiceGetAccountInfoHeaders = {
+      serializedName: "Service_getAccountInfoHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetAccountInfoHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          skuName: {
+            serializedName: "x-ms-sku-name",
+            xmlName: "x-ms-sku-name",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Standard_LRS",
+                "Standard_GRS",
+                "Standard_RAGRS",
+                "Standard_ZRS",
+                "Premium_LRS"
+              ]
+            }
+          },
+          accountKind: {
+            serializedName: "x-ms-account-kind",
+            xmlName: "x-ms-account-kind",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Storage",
+                "BlobStorage",
+                "StorageV2",
+                "FileStorage",
+                "BlockBlobStorage"
+              ]
+            }
+          },
+          isHierarchicalNamespaceEnabled: {
+            serializedName: "x-ms-is-hns-enabled",
+            xmlName: "x-ms-is-hns-enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        function onAbort() {
-          cleanupBeforeAbort?.();
-          removeListeners();
-          rejectOnAbort();
+      }
+    };
+    exports2.ServiceGetAccountInfoExceptionHeaders = {
+      serializedName: "Service_getAccountInfoExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetAccountInfoExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
+    };
+    exports2.ServiceSubmitBatchHeaders = {
+      serializedName: "Service_submitBatchHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSubmitBatchHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
+    };
+    exports2.ServiceSubmitBatchExceptionHeaders = {
+      serializedName: "Service_submitBatchExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSubmitBatchExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
+    };
+    exports2.ServiceFilterBlobsHeaders = {
+      serializedName: "Service_filterBlobsHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceFilterBlobsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (abortSignal?.aborted) {
-          return rejectOnAbort();
+      }
+    };
+    exports2.ServiceFilterBlobsExceptionHeaders = {
+      serializedName: "Service_filterBlobsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceFilterBlobsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        try {
-          buildPromise((x) => {
-            removeListeners();
-            resolve3(x);
-          }, (x) => {
-            removeListeners();
-            reject(x);
-          });
-        } catch (err) {
-          reject(err);
+      }
+    };
+    exports2.ContainerCreateHeaders = {
+      serializedName: "Container_createHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerCreateHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        abortSignal?.addEventListener("abort", onAbort);
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/delay.js
-var require_delay2 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/delay.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.delay = delay;
-    exports2.calculateRetryDelay = calculateRetryDelay;
-    var createAbortablePromise_js_1 = require_createAbortablePromise();
-    var util_1 = require_internal3();
-    var StandardAbortMessage = "The delay was aborted.";
-    function delay(timeInMs, options) {
-      let token;
-      const { abortSignal, abortErrorMsg } = options ?? {};
-      return (0, createAbortablePromise_js_1.createAbortablePromise)((resolve3) => {
-        token = setTimeout(resolve3, timeInMs);
-      }, {
-        cleanupBeforeAbort: () => clearTimeout(token),
-        abortSignal,
-        abortErrorMsg: abortErrorMsg ?? StandardAbortMessage
-      });
-    }
-    function calculateRetryDelay(retryAttempt, config) {
-      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
-      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
-      const retryAfterInMs = clampedDelay / 2 + (0, util_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
-      return { retryAfterInMs };
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/error.js
-var require_error2 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/error.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getErrorMessage = getErrorMessage2;
-    var util_1 = require_internal3();
-    function getErrorMessage2(e) {
-      if ((0, util_1.isError)(e)) {
-        return e.message;
-      } else {
-        let stringified;
-        try {
-          if (typeof e === "object" && e) {
-            stringified = JSON.stringify(e);
-          } else {
-            stringified = String(e);
+      }
+    };
+    exports2.ContainerCreateExceptionHeaders = {
+      serializedName: "Container_createExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerCreateExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } catch (err) {
-          stringified = "[unable to stringify input]";
         }
-        return `Unknown error ${stringified}`;
       }
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/typeGuards.js
-var require_typeGuards2 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/typeGuards.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isDefined = isDefined3;
-    exports2.isObjectWithProperties = isObjectWithProperties;
-    exports2.objectHasProperty = objectHasProperty;
-    function isDefined3(thing) {
-      return typeof thing !== "undefined" && thing !== null;
-    }
-    function isObjectWithProperties(thing, properties) {
-      if (!isDefined3(thing) || typeof thing !== "object") {
-        return false;
+    };
+    exports2.ContainerGetPropertiesHeaders = {
+      serializedName: "Container_getPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetPropertiesHeaders",
+        modelProperties: {
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobPublicAccess: {
+            serializedName: "x-ms-blob-public-access",
+            xmlName: "x-ms-blob-public-access",
+            type: {
+              name: "Enum",
+              allowedValues: ["container", "blob"]
+            }
+          },
+          hasImmutabilityPolicy: {
+            serializedName: "x-ms-has-immutability-policy",
+            xmlName: "x-ms-has-immutability-policy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          hasLegalHold: {
+            serializedName: "x-ms-has-legal-hold",
+            xmlName: "x-ms-has-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          defaultEncryptionScope: {
+            serializedName: "x-ms-default-encryption-scope",
+            xmlName: "x-ms-default-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          denyEncryptionScopeOverride: {
+            serializedName: "x-ms-deny-encryption-scope-override",
+            xmlName: "x-ms-deny-encryption-scope-override",
+            type: {
+              name: "Boolean"
+            }
+          },
+          isImmutableStorageWithVersioningEnabled: {
+            serializedName: "x-ms-immutable-storage-with-versioning-enabled",
+            xmlName: "x-ms-immutable-storage-with-versioning-enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      for (const property of properties) {
-        if (!objectHasProperty(thing, property)) {
-          return false;
+    };
+    exports2.ContainerGetPropertiesExceptionHeaders = {
+      serializedName: "Container_getPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return true;
-    }
-    function objectHasProperty(thing, property) {
-      return isDefined3(thing) && typeof thing === "object" && property in thing;
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/index.js
-var require_commonjs4 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isWebWorker = exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isNode = exports2.isDeno = exports2.isBun = exports2.isBrowser = exports2.objectHasProperty = exports2.isObjectWithProperties = exports2.isDefined = exports2.getErrorMessage = exports2.delay = exports2.createAbortablePromise = exports2.cancelablePromiseRace = void 0;
-    exports2.calculateRetryDelay = calculateRetryDelay;
-    exports2.computeSha256Hash = computeSha256Hash;
-    exports2.computeSha256Hmac = computeSha256Hmac;
-    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
-    exports2.isError = isError;
-    exports2.isObject = isObject2;
-    exports2.randomUUID = randomUUID;
-    exports2.uint8ArrayToString = uint8ArrayToString;
-    exports2.stringToUint8Array = stringToUint8Array;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var tspRuntime = tslib_1.__importStar(require_internal3());
-    var aborterUtils_js_1 = require_aborterUtils();
-    Object.defineProperty(exports2, "cancelablePromiseRace", { enumerable: true, get: function() {
-      return aborterUtils_js_1.cancelablePromiseRace;
-    } });
-    var createAbortablePromise_js_1 = require_createAbortablePromise();
-    Object.defineProperty(exports2, "createAbortablePromise", { enumerable: true, get: function() {
-      return createAbortablePromise_js_1.createAbortablePromise;
-    } });
-    var delay_js_1 = require_delay2();
-    Object.defineProperty(exports2, "delay", { enumerable: true, get: function() {
-      return delay_js_1.delay;
-    } });
-    var error_js_1 = require_error2();
-    Object.defineProperty(exports2, "getErrorMessage", { enumerable: true, get: function() {
-      return error_js_1.getErrorMessage;
-    } });
-    var typeGuards_js_1 = require_typeGuards2();
-    Object.defineProperty(exports2, "isDefined", { enumerable: true, get: function() {
-      return typeGuards_js_1.isDefined;
-    } });
-    Object.defineProperty(exports2, "isObjectWithProperties", { enumerable: true, get: function() {
-      return typeGuards_js_1.isObjectWithProperties;
-    } });
-    Object.defineProperty(exports2, "objectHasProperty", { enumerable: true, get: function() {
-      return typeGuards_js_1.objectHasProperty;
-    } });
-    function calculateRetryDelay(retryAttempt, config) {
-      return tspRuntime.calculateRetryDelay(retryAttempt, config);
-    }
-    function computeSha256Hash(content, encoding) {
-      return tspRuntime.computeSha256Hash(content, encoding);
-    }
-    function computeSha256Hmac(key, stringToSign, encoding) {
-      return tspRuntime.computeSha256Hmac(key, stringToSign, encoding);
-    }
-    function getRandomIntegerInclusive(min, max) {
-      return tspRuntime.getRandomIntegerInclusive(min, max);
-    }
-    function isError(e) {
-      return tspRuntime.isError(e);
-    }
-    function isObject2(input) {
-      return tspRuntime.isObject(input);
-    }
-    function randomUUID() {
-      return tspRuntime.randomUUID();
-    }
-    exports2.isBrowser = tspRuntime.isBrowser;
-    exports2.isBun = tspRuntime.isBun;
-    exports2.isDeno = tspRuntime.isDeno;
-    exports2.isNode = tspRuntime.isNodeLike;
-    exports2.isNodeLike = tspRuntime.isNodeLike;
-    exports2.isNodeRuntime = tspRuntime.isNodeRuntime;
-    exports2.isReactNative = tspRuntime.isReactNative;
-    exports2.isWebWorker = tspRuntime.isWebWorker;
-    function uint8ArrayToString(bytes, format) {
-      return tspRuntime.uint8ArrayToString(bytes, format);
-    }
-    function stringToUint8Array(value, format) {
-      return tspRuntime.stringToUint8Array(value, format);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js
-var require_file3 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hasRawContent = hasRawContent;
-    exports2.getRawContent = getRawContent;
-    exports2.createFileFromStream = createFileFromStream;
-    exports2.createFile = createFile;
-    var core_util_1 = require_commonjs4();
-    function isNodeReadableStream(x) {
-      return Boolean(x && typeof x["pipe"] === "function");
-    }
-    var unimplementedMethods = {
-      arrayBuffer: () => {
-        throw new Error("Not implemented");
-      },
-      bytes: () => {
-        throw new Error("Not implemented");
-      },
-      slice: () => {
-        throw new Error("Not implemented");
-      },
-      text: () => {
-        throw new Error("Not implemented");
+    };
+    exports2.ContainerDeleteHeaders = {
+      serializedName: "Container_deleteHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerDeleteHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
     };
-    var rawContent = /* @__PURE__ */ Symbol("rawContent");
-    function hasRawContent(x) {
-      return typeof x[rawContent] === "function";
-    }
-    function getRawContent(blob) {
-      if (hasRawContent(blob)) {
-        return blob[rawContent]();
-      } else {
-        return blob;
-      }
-    }
-    function createFileFromStream(stream, name, options = {}) {
-      return {
-        ...unimplementedMethods,
-        type: options.type ?? "",
-        lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
-        webkitRelativePath: options.webkitRelativePath ?? "",
-        size: options.size ?? -1,
-        name,
-        stream: () => {
-          const s = stream();
-          if (isNodeReadableStream(s)) {
-            throw new Error("Not supported: a Node stream was provided as input to createFileFromStream.");
+    exports2.ContainerDeleteExceptionHeaders = {
+      serializedName: "Container_deleteExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerDeleteExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return s;
-        },
-        [rawContent]: stream
-      };
-    }
-    function createFile(content, name, options = {}) {
-      if (core_util_1.isNodeLike) {
-        return {
-          ...unimplementedMethods,
-          type: options.type ?? "",
-          lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
-          webkitRelativePath: options.webkitRelativePath ?? "",
-          size: content.byteLength,
-          name,
-          arrayBuffer: async () => content.buffer,
-          stream: () => new Blob([toArrayBuffer(content)]).stream(),
-          [rawContent]: () => content
-        };
-      } else {
-        return new File([toArrayBuffer(content)], name, options);
-      }
-    }
-    function toArrayBuffer(source) {
-      if ("resize" in source.buffer) {
-        return source;
+        }
       }
-      return source.map((x) => x);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js
-var require_multipartPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.multipartPolicyName = void 0;
-    exports2.multipartPolicy = multipartPolicy;
-    var policies_1 = require_internal2();
-    var file_js_1 = require_file3();
-    exports2.multipartPolicyName = policies_1.multipartPolicyName;
-    function multipartPolicy() {
-      const tspPolicy = (0, policies_1.multipartPolicy)();
-      return {
-        name: exports2.multipartPolicyName,
-        sendRequest: async (request2, next) => {
-          if (request2.multipartBody) {
-            for (const part of request2.multipartBody.parts) {
-              if ((0, file_js_1.hasRawContent)(part.body)) {
-                part.body = (0, file_js_1.getRawContent)(part.body);
-              }
+    };
+    exports2.ContainerSetMetadataHeaders = {
+      serializedName: "Container_setMetadataHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetMetadataHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          return tspPolicy.sendRequest(request2, next);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js
-var require_decompressResponsePolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.decompressResponsePolicyName = void 0;
-    exports2.decompressResponsePolicy = decompressResponsePolicy;
-    var policies_1 = require_internal2();
-    exports2.decompressResponsePolicyName = policies_1.decompressResponsePolicyName;
-    function decompressResponsePolicy() {
-      return (0, policies_1.decompressResponsePolicy)();
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js
-var require_defaultRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.defaultRetryPolicyName = void 0;
-    exports2.defaultRetryPolicy = defaultRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.defaultRetryPolicyName = policies_1.defaultRetryPolicyName;
-    function defaultRetryPolicy(options = {}) {
-      return (0, policies_1.defaultRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js
-var require_formDataPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.formDataPolicyName = void 0;
-    exports2.formDataPolicy = formDataPolicy;
-    var policies_1 = require_internal2();
-    exports2.formDataPolicyName = policies_1.formDataPolicyName;
-    function formDataPolicy() {
-      return (0, policies_1.formDataPolicy)();
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js
-var require_proxyPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.proxyPolicyName = void 0;
-    exports2.getDefaultProxySettings = getDefaultProxySettings;
-    exports2.proxyPolicy = proxyPolicy;
-    var policies_1 = require_internal2();
-    exports2.proxyPolicyName = policies_1.proxyPolicyName;
-    function getDefaultProxySettings(proxyUrl) {
-      return (0, policies_1.getDefaultProxySettings)(proxyUrl);
-    }
-    function proxyPolicy(proxySettings, options) {
-      return (0, policies_1.proxyPolicy)(proxySettings, options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js
-var require_setClientRequestIdPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.setClientRequestIdPolicyName = void 0;
-    exports2.setClientRequestIdPolicy = setClientRequestIdPolicy;
-    exports2.setClientRequestIdPolicyName = "setClientRequestIdPolicy";
-    function setClientRequestIdPolicy(requestIdHeaderName = "x-ms-client-request-id") {
-      return {
-        name: exports2.setClientRequestIdPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.headers.has(requestIdHeaderName)) {
-            request2.headers.set(requestIdHeaderName, request2.requestId);
+      }
+    };
+    exports2.ContainerSetMetadataExceptionHeaders = {
+      serializedName: "Container_setMetadataExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetMetadataExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js
-var require_agentPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.agentPolicyName = void 0;
-    exports2.agentPolicy = agentPolicy;
-    var policies_1 = require_internal2();
-    exports2.agentPolicyName = policies_1.agentPolicyName;
-    function agentPolicy(agent) {
-      return (0, policies_1.agentPolicy)(agent);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js
-var require_tlsPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tlsPolicyName = void 0;
-    exports2.tlsPolicy = tlsPolicy;
-    var policies_1 = require_internal2();
-    exports2.tlsPolicyName = policies_1.tlsPolicyName;
-    function tlsPolicy(tlsSettings) {
-      return (0, policies_1.tlsPolicy)(tlsSettings);
-    }
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js
-var require_tracingContext = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TracingContextImpl = exports2.knownContextKeys = void 0;
-    exports2.createTracingContext = createTracingContext;
-    exports2.knownContextKeys = {
-      span: /* @__PURE__ */ Symbol.for("@azure/core-tracing span"),
-      namespace: /* @__PURE__ */ Symbol.for("@azure/core-tracing namespace")
+      }
     };
-    function createTracingContext(options = {}) {
-      let context2 = new TracingContextImpl(options.parentContext);
-      if (options.span) {
-        context2 = context2.setValue(exports2.knownContextKeys.span, options.span);
+    exports2.ContainerGetAccessPolicyHeaders = {
+      serializedName: "Container_getAccessPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccessPolicyHeaders",
+        modelProperties: {
+          blobPublicAccess: {
+            serializedName: "x-ms-blob-public-access",
+            xmlName: "x-ms-blob-public-access",
+            type: {
+              name: "Enum",
+              allowedValues: ["container", "blob"]
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      if (options.namespace) {
-        context2 = context2.setValue(exports2.knownContextKeys.namespace, options.namespace);
+    };
+    exports2.ContainerGetAccessPolicyExceptionHeaders = {
+      serializedName: "Container_getAccessPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccessPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      return context2;
-    }
-    var TracingContextImpl = class _TracingContextImpl {
-      _contextMap;
-      constructor(initialContext) {
-        this._contextMap = initialContext instanceof _TracingContextImpl ? new Map(initialContext._contextMap) : /* @__PURE__ */ new Map();
+    };
+    exports2.ContainerSetAccessPolicyHeaders = {
+      serializedName: "Container_setAccessPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetAccessPolicyHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      setValue(key, value) {
-        const newContext = new _TracingContextImpl(this);
-        newContext._contextMap.set(key, value);
-        return newContext;
+    };
+    exports2.ContainerSetAccessPolicyExceptionHeaders = {
+      serializedName: "Container_setAccessPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetAccessPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      getValue(key) {
-        return this._contextMap.get(key);
+    };
+    exports2.ContainerRestoreHeaders = {
+      serializedName: "Container_restoreHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRestoreHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      deleteValue(key) {
-        const newContext = new _TracingContextImpl(this);
-        newContext._contextMap.delete(key);
-        return newContext;
+    };
+    exports2.ContainerRestoreExceptionHeaders = {
+      serializedName: "Container_restoreExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRestoreExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
     };
-    exports2.TracingContextImpl = TracingContextImpl;
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/state.js
-var require_state = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/state.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.state = void 0;
-    exports2.state = {
-      instrumenterImplementation: void 0
-    };
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js
-var require_instrumenter = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultTracingSpan = createDefaultTracingSpan;
-    exports2.createDefaultInstrumenter = createDefaultInstrumenter;
-    exports2.useInstrumenter = useInstrumenter;
-    exports2.getInstrumenter = getInstrumenter;
-    var tracingContext_js_1 = require_tracingContext();
-    var state_js_1 = require_state();
-    function createDefaultTracingSpan() {
-      return {
-        end: () => {
-        },
-        isRecording: () => false,
-        recordException: () => {
-        },
-        setAttribute: () => {
-        },
-        setStatus: () => {
-        },
-        addEvent: () => {
+    exports2.ContainerRenameHeaders = {
+      serializedName: "Container_renameHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenameHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      };
-    }
-    function createDefaultInstrumenter() {
-      return {
-        createRequestHeaders: () => {
-          return {};
-        },
-        parseTraceparentHeader: () => {
-          return void 0;
-        },
-        startSpan: (_name, spanOptions) => {
-          return {
-            span: createDefaultTracingSpan(),
-            tracingContext: (0, tracingContext_js_1.createTracingContext)({ parentContext: spanOptions.tracingContext })
-          };
-        },
-        withContext(_context, callback, ...callbackArgs) {
-          return callback(...callbackArgs);
+      }
+    };
+    exports2.ContainerRenameExceptionHeaders = {
+      serializedName: "Container_renameExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenameExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      };
-    }
-    function useInstrumenter(instrumenter) {
-      state_js_1.state.instrumenterImplementation = instrumenter;
-    }
-    function getInstrumenter() {
-      if (!state_js_1.state.instrumenterImplementation) {
-        state_js_1.state.instrumenterImplementation = createDefaultInstrumenter();
       }
-      return state_js_1.state.instrumenterImplementation;
-    }
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js
-var require_tracingClient = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createTracingClient = createTracingClient;
-    var instrumenter_js_1 = require_instrumenter();
-    var tracingContext_js_1 = require_tracingContext();
-    function createTracingClient(options) {
-      const { namespace, packageName, packageVersion } = options;
-      function startSpan(name, operationOptions, spanOptions) {
-        const startSpanResult = (0, instrumenter_js_1.getInstrumenter)().startSpan(name, {
-          ...spanOptions,
-          packageName,
-          packageVersion,
-          tracingContext: operationOptions?.tracingOptions?.tracingContext
-        });
-        let tracingContext = startSpanResult.tracingContext;
-        const span = startSpanResult.span;
-        if (!tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace)) {
-          tracingContext = tracingContext.setValue(tracingContext_js_1.knownContextKeys.namespace, namespace);
+    };
+    exports2.ContainerSubmitBatchHeaders = {
+      serializedName: "Container_submitBatchHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSubmitBatchHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          }
         }
-        span.setAttribute("az.namespace", tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace));
-        const updatedOptions = Object.assign({}, operationOptions, {
-          tracingOptions: { ...operationOptions?.tracingOptions, tracingContext }
-        });
-        return {
-          span,
-          updatedOptions
-        };
       }
-      async function withSpan(name, operationOptions, callback, spanOptions) {
-        const { span, updatedOptions } = startSpan(name, operationOptions, spanOptions);
-        try {
-          const result = await withContext(updatedOptions.tracingOptions.tracingContext, () => Promise.resolve(callback(updatedOptions, span)));
-          span.setStatus({ status: "success" });
-          return result;
-        } catch (err) {
-          span.setStatus({ status: "error", error: err });
-          throw err;
-        } finally {
-          span.end();
+    };
+    exports2.ContainerSubmitBatchExceptionHeaders = {
+      serializedName: "Container_submitBatchExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSubmitBatchExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      function withContext(context2, callback, ...callbackArgs) {
-        return (0, instrumenter_js_1.getInstrumenter)().withContext(context2, callback, ...callbackArgs);
+    };
+    exports2.ContainerFilterBlobsHeaders = {
+      serializedName: "Container_filterBlobsHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerFilterBlobsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
+        }
       }
-      function parseTraceparentHeader(traceparentHeader) {
-        return (0, instrumenter_js_1.getInstrumenter)().parseTraceparentHeader(traceparentHeader);
+    };
+    exports2.ContainerFilterBlobsExceptionHeaders = {
+      serializedName: "Container_filterBlobsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerFilterBlobsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      function createRequestHeaders(tracingContext) {
-        return (0, instrumenter_js_1.getInstrumenter)().createRequestHeaders(tracingContext);
+    };
+    exports2.ContainerAcquireLeaseHeaders = {
+      serializedName: "Container_acquireLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerAcquireLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
+        }
       }
-      return {
-        startSpan,
-        withSpan,
-        withContext,
-        parseTraceparentHeader,
-        createRequestHeaders
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/index.js
-var require_commonjs5 = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createTracingClient = exports2.useInstrumenter = void 0;
-    var instrumenter_js_1 = require_instrumenter();
-    Object.defineProperty(exports2, "useInstrumenter", { enumerable: true, get: function() {
-      return instrumenter_js_1.useInstrumenter;
-    } });
-    var tracingClient_js_1 = require_tracingClient();
-    Object.defineProperty(exports2, "createTracingClient", { enumerable: true, get: function() {
-      return tracingClient_js_1.createTracingClient;
-    } });
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js
-var require_restError3 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RestError = void 0;
-    exports2.isRestError = isRestError;
-    var ts_http_runtime_1 = require_commonjs();
-    exports2.RestError = ts_http_runtime_1.RestError;
-    function isRestError(e) {
-      return (0, ts_http_runtime_1.isRestError)(e);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js
-var require_tracingPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tracingPolicyName = void 0;
-    exports2.tracingPolicy = tracingPolicy;
-    var core_tracing_1 = require_commonjs5();
-    var constants_js_1 = require_constants14();
-    var userAgent_js_1 = require_userAgent2();
-    var log_js_1 = require_log3();
-    var core_util_1 = require_commonjs4();
-    var restError_js_1 = require_restError3();
-    var util_1 = require_internal3();
-    exports2.tracingPolicyName = "tracingPolicy";
-    function tracingPolicy(options = {}) {
-      const userAgentPromise = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
-      const sanitizer = new util_1.Sanitizer({
-        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
-      });
-      const tracingClient = tryCreateTracingClient();
-      return {
-        name: exports2.tracingPolicyName,
-        async sendRequest(request2, next) {
-          if (!tracingClient) {
-            return next(request2);
+    };
+    exports2.ContainerAcquireLeaseExceptionHeaders = {
+      serializedName: "Container_acquireLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerAcquireLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          const userAgent2 = await userAgentPromise;
-          const spanAttributes = {
-            "http.url": sanitizer.sanitizeUrl(request2.url),
-            "http.method": request2.method,
-            "http.user_agent": userAgent2,
-            requestId: request2.requestId
-          };
-          if (userAgent2) {
-            spanAttributes["http.user_agent"] = userAgent2;
+        }
+      }
+    };
+    exports2.ContainerReleaseLeaseHeaders = {
+      serializedName: "Container_releaseLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerReleaseLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
-          const { span, tracingContext } = tryCreateSpan(tracingClient, request2, spanAttributes) ?? {};
-          if (!span || !tracingContext) {
-            return next(request2);
+        }
+      }
+    };
+    exports2.ContainerReleaseLeaseExceptionHeaders = {
+      serializedName: "Container_releaseLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerReleaseLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          try {
-            const response = await tracingClient.withContext(tracingContext, next, request2);
-            tryProcessResponse(span, response);
-            return response;
-          } catch (err) {
-            tryProcessError(span, err);
-            throw err;
+        }
+      }
+    };
+    exports2.ContainerRenewLeaseHeaders = {
+      serializedName: "Container_renewLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenewLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
         }
-      };
-    }
-    function tryCreateTracingClient() {
-      try {
-        return (0, core_tracing_1.createTracingClient)({
-          namespace: "",
-          packageName: "@azure/core-rest-pipeline",
-          packageVersion: constants_js_1.SDK_VERSION
-        });
-      } catch (e) {
-        log_js_1.logger.warning(`Error when creating the TracingClient: ${(0, core_util_1.getErrorMessage)(e)}`);
-        return void 0;
       }
-    }
-    function tryCreateSpan(tracingClient, request2, spanAttributes) {
-      try {
-        const { span, updatedOptions } = tracingClient.startSpan(`HTTP ${request2.method}`, { tracingOptions: request2.tracingOptions }, {
-          spanKind: "client",
-          spanAttributes
-        });
-        if (!span.isRecording()) {
-          span.end();
-          return void 0;
-        }
-        const headers = tracingClient.createRequestHeaders(updatedOptions.tracingOptions.tracingContext);
-        for (const [key, value] of Object.entries(headers)) {
-          request2.headers.set(key, value);
+    };
+    exports2.ContainerRenewLeaseExceptionHeaders = {
+      serializedName: "Container_renewLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenewLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return { span, tracingContext: updatedOptions.tracingOptions.tracingContext };
-      } catch (e) {
-        log_js_1.logger.warning(`Skipping creating a tracing span due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
-        return void 0;
       }
-    }
-    function tryProcessError(span, error3) {
-      try {
-        span.setStatus({
-          status: "error",
-          error: (0, core_util_1.isError)(error3) ? error3 : void 0
-        });
-        if ((0, restError_js_1.isRestError)(error3) && error3.statusCode) {
-          span.setAttribute("http.status_code", error3.statusCode);
+    };
+    exports2.ContainerBreakLeaseHeaders = {
+      serializedName: "Container_breakLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerBreakLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseTime: {
+            serializedName: "x-ms-lease-time",
+            xmlName: "x-ms-lease-time",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-        span.end();
-      } catch (e) {
-        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
       }
-    }
-    function tryProcessResponse(span, response) {
-      try {
-        span.setAttribute("http.status_code", response.status);
-        const serviceRequestId = response.headers.get("x-ms-request-id");
-        if (serviceRequestId) {
-          span.setAttribute("serviceRequestId", serviceRequestId);
-        }
-        if (response.status >= 400) {
-          span.setStatus({
-            status: "error"
-          });
+    };
+    exports2.ContainerBreakLeaseExceptionHeaders = {
+      serializedName: "Container_breakLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerBreakLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        span.end();
-      } catch (e) {
-        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
-      }
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js
-var require_wrapAbortSignal = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.wrapAbortSignalLike = wrapAbortSignalLike;
-    function wrapAbortSignalLike(abortSignalLike) {
-      if (abortSignalLike instanceof AbortSignal) {
-        return { abortSignal: abortSignalLike };
       }
-      if (abortSignalLike.aborted) {
-        return { abortSignal: AbortSignal.abort(abortSignalLike.reason) };
+    };
+    exports2.ContainerChangeLeaseHeaders = {
+      serializedName: "Container_changeLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerChangeLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
+        }
       }
-      const controller = new AbortController();
-      let needsCleanup = true;
-      function cleanup() {
-        if (needsCleanup) {
-          abortSignalLike.removeEventListener("abort", listener);
-          needsCleanup = false;
+    };
+    exports2.ContainerChangeLeaseExceptionHeaders = {
+      serializedName: "Container_changeLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerChangeLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      function listener() {
-        controller.abort(abortSignalLike.reason);
-        cleanup();
+    };
+    exports2.ContainerListBlobFlatSegmentHeaders = {
+      serializedName: "Container_listBlobFlatSegmentHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobFlatSegmentHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      abortSignalLike.addEventListener("abort", listener);
-      return { abortSignal: controller.signal, cleanup };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js
-var require_wrapAbortSignalLikePolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.wrapAbortSignalLikePolicyName = void 0;
-    exports2.wrapAbortSignalLikePolicy = wrapAbortSignalLikePolicy;
-    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
-    exports2.wrapAbortSignalLikePolicyName = "wrapAbortSignalLikePolicy";
-    function wrapAbortSignalLikePolicy() {
-      return {
-        name: exports2.wrapAbortSignalLikePolicyName,
-        sendRequest: async (request2, next) => {
-          if (!request2.abortSignal) {
-            return next(request2);
+    };
+    exports2.ContainerListBlobFlatSegmentExceptionHeaders = {
+      serializedName: "Container_listBlobFlatSegmentExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobFlatSegmentExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          const { abortSignal, cleanup } = (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal);
-          request2.abortSignal = abortSignal;
-          try {
-            return await next(request2);
-          } finally {
-            cleanup?.();
+        }
+      }
+    };
+    exports2.ContainerListBlobHierarchySegmentHeaders = {
+      serializedName: "Container_listBlobHierarchySegmentHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobHierarchySegmentHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js
-var require_createPipelineFromOptions2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineFromOptions = createPipelineFromOptions;
-    var logPolicy_js_1 = require_logPolicy2();
-    var pipeline_js_1 = require_pipeline2();
-    var redirectPolicy_js_1 = require_redirectPolicy2();
-    var userAgentPolicy_js_1 = require_userAgentPolicy2();
-    var multipartPolicy_js_1 = require_multipartPolicy2();
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
-    var formDataPolicy_js_1 = require_formDataPolicy2();
-    var core_util_1 = require_commonjs4();
-    var proxyPolicy_js_1 = require_proxyPolicy2();
-    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
-    var agentPolicy_js_1 = require_agentPolicy2();
-    var tlsPolicy_js_1 = require_tlsPolicy2();
-    var tracingPolicy_js_1 = require_tracingPolicy();
-    var wrapAbortSignalLikePolicy_js_1 = require_wrapAbortSignalLikePolicy();
-    function createPipelineFromOptions(options) {
-      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
-      if (core_util_1.isNodeLike) {
-        if (options.agent) {
-          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
+      }
+    };
+    exports2.ContainerListBlobHierarchySegmentExceptionHeaders = {
+      serializedName: "Container_listBlobHierarchySegmentExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobHierarchySegmentExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (options.tlsOptions) {
-          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
+      }
+    };
+    exports2.ContainerGetAccountInfoHeaders = {
+      serializedName: "Container_getAccountInfoHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccountInfoHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          skuName: {
+            serializedName: "x-ms-sku-name",
+            xmlName: "x-ms-sku-name",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Standard_LRS",
+                "Standard_GRS",
+                "Standard_RAGRS",
+                "Standard_ZRS",
+                "Premium_LRS"
+              ]
+            }
+          },
+          accountKind: {
+            serializedName: "x-ms-account-kind",
+            xmlName: "x-ms-account-kind",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Storage",
+                "BlobStorage",
+                "StorageV2",
+                "FileStorage",
+                "BlockBlobStorage"
+              ]
+            }
+          },
+          isHierarchicalNamespaceEnabled: {
+            serializedName: "x-ms-is-hns-enabled",
+            xmlName: "x-ms-is-hns-enabled",
+            type: {
+              name: "Boolean"
+            }
+          }
         }
-        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
-        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
-      }
-      pipeline.addPolicy((0, wrapAbortSignalLikePolicy_js_1.wrapAbortSignalLikePolicy)());
-      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
-      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
-      pipeline.addPolicy((0, setClientRequestIdPolicy_js_1.setClientRequestIdPolicy)(options.telemetryOptions?.clientRequestIdHeaderName));
-      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
-      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
-      pipeline.addPolicy((0, tracingPolicy_js_1.tracingPolicy)({ ...options.userAgentOptions, ...options.loggingOptions }), {
-        afterPhase: "Retry"
-      });
-      if (core_util_1.isNodeLike) {
-        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
       }
-      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
-      return pipeline;
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js
-var require_defaultHttpClient2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultHttpClient = createDefaultHttpClient;
-    var ts_http_runtime_1 = require_commonjs();
-    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
-    function createDefaultHttpClient() {
-      const client = (0, ts_http_runtime_1.createDefaultHttpClient)();
-      return {
-        async sendRequest(request2) {
-          const { abortSignal, cleanup } = request2.abortSignal ? (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal) : {};
-          try {
-            request2.abortSignal = abortSignal;
-            return await client.sendRequest(request2);
-          } finally {
-            cleanup?.();
+    };
+    exports2.ContainerGetAccountInfoExceptionHeaders = {
+      serializedName: "Container_getAccountInfoExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccountInfoExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js
-var require_httpHeaders2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpHeaders = createHttpHeaders;
-    var ts_http_runtime_1 = require_commonjs();
-    function createHttpHeaders(rawHeaders) {
-      return (0, ts_http_runtime_1.createHttpHeaders)(rawHeaders);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js
-var require_pipelineRequest2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineRequest = createPipelineRequest;
-    var ts_http_runtime_1 = require_commonjs();
-    function createPipelineRequest(options) {
-      return (0, ts_http_runtime_1.createPipelineRequest)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js
-var require_exponentialRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.exponentialRetryPolicyName = void 0;
-    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.exponentialRetryPolicyName = policies_1.exponentialRetryPolicyName;
-    function exponentialRetryPolicy(options = {}) {
-      return (0, policies_1.exponentialRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js
-var require_systemErrorRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.systemErrorRetryPolicyName = void 0;
-    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.systemErrorRetryPolicyName = policies_1.systemErrorRetryPolicyName;
-    function systemErrorRetryPolicy(options = {}) {
-      return (0, policies_1.systemErrorRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js
-var require_throttlingRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.throttlingRetryPolicyName = void 0;
-    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.throttlingRetryPolicyName = policies_1.throttlingRetryPolicyName;
-    function throttlingRetryPolicy(options = {}) {
-      return (0, policies_1.throttlingRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js
-var require_retryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.retryPolicy = retryPolicy;
-    var logger_1 = require_commonjs2();
-    var constants_js_1 = require_constants14();
-    var policies_1 = require_internal2();
-    var retryPolicyLogger = (0, logger_1.createClientLogger)("core-rest-pipeline retryPolicy");
-    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
-      return (0, policies_1.retryPolicy)(strategies, {
-        logger: retryPolicyLogger,
-        ...options
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js
-var require_tokenCycler = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DEFAULT_CYCLER_OPTIONS = void 0;
-    exports2.createTokenCycler = createTokenCycler;
-    var core_util_1 = require_commonjs4();
-    exports2.DEFAULT_CYCLER_OPTIONS = {
-      forcedRefreshWindowInMs: 1e3,
-      // Force waiting for a refresh 1s before the token expires
-      retryIntervalInMs: 3e3,
-      // Allow refresh attempts every 3s
-      refreshWindowInMs: 1e3 * 60 * 2
-      // Start refreshing 2m before expiry
+      }
     };
-    async function beginRefresh(getAccessToken, retryIntervalInMs, refreshTimeout) {
-      async function tryGetAccessToken() {
-        if (Date.now() < refreshTimeout) {
-          try {
-            return await getAccessToken();
-          } catch {
-            return null;
-          }
-        } else {
-          const finalToken = await getAccessToken();
-          if (finalToken === null) {
-            throw new Error("Failed to refresh access token.");
+    exports2.BlobDownloadHeaders = {
+      serializedName: "Blob_downloadHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDownloadHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          createdOn: {
+            serializedName: "x-ms-creation-time",
+            xmlName: "x-ms-creation-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          objectReplicationPolicyId: {
+            serializedName: "x-ms-or-policy-id",
+            xmlName: "x-ms-or-policy-id",
+            type: {
+              name: "String"
+            }
+          },
+          objectReplicationRules: {
+            serializedName: "x-ms-or",
+            headerCollectionPrefix: "x-ms-or-",
+            xmlName: "x-ms-or",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          contentLength: {
+            serializedName: "content-length",
+            xmlName: "content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          contentRange: {
+            serializedName: "content-range",
+            xmlName: "content-range",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentEncoding: {
+            serializedName: "content-encoding",
+            xmlName: "content-encoding",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "cache-control",
+            xmlName: "cache-control",
+            type: {
+              name: "String"
+            }
+          },
+          contentDisposition: {
+            serializedName: "content-disposition",
+            xmlName: "content-disposition",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "content-language",
+            xmlName: "content-language",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          blobType: {
+            serializedName: "x-ms-blob-type",
+            xmlName: "x-ms-blob-type",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          copyCompletedOn: {
+            serializedName: "x-ms-copy-completion-time",
+            xmlName: "x-ms-copy-completion-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "x-ms-copy-status-description",
+            xmlName: "x-ms-copy-status-description",
+            type: {
+              name: "String"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "x-ms-copy-progress",
+            xmlName: "x-ms-copy-progress",
+            type: {
+              name: "String"
+            }
+          },
+          copySource: {
+            serializedName: "x-ms-copy-source",
+            xmlName: "x-ms-copy-source",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          isCurrentVersion: {
+            serializedName: "x-ms-is-current-version",
+            xmlName: "x-ms-is-current-version",
+            type: {
+              name: "Boolean"
+            }
+          },
+          acceptRanges: {
+            serializedName: "accept-ranges",
+            xmlName: "accept-ranges",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-server-encrypted",
+            xmlName: "x-ms-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentMD5: {
+            serializedName: "x-ms-blob-content-md5",
+            xmlName: "x-ms-blob-content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          tagCount: {
+            serializedName: "x-ms-tag-count",
+            xmlName: "x-ms-tag-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isSealed: {
+            serializedName: "x-ms-blob-sealed",
+            xmlName: "x-ms-blob-sealed",
+            type: {
+              name: "Boolean"
+            }
+          },
+          lastAccessed: {
+            serializedName: "x-ms-last-access-time",
+            xmlName: "x-ms-last-access-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiresOn: {
+            serializedName: "x-ms-immutability-policy-until-date",
+            xmlName: "x-ms-immutability-policy-until-date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "x-ms-immutability-policy-mode",
+            xmlName: "x-ms-immutability-policy-mode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
+          },
+          legalHold: {
+            serializedName: "x-ms-legal-hold",
+            xmlName: "x-ms-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          contentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
           }
-          return finalToken;
         }
       }
-      let token = await tryGetAccessToken();
-      while (token === null) {
-        await (0, core_util_1.delay)(retryIntervalInMs);
-        token = await tryGetAccessToken();
-      }
-      return token;
-    }
-    function createTokenCycler(credential, tokenCyclerOptions) {
-      let refreshWorker = null;
-      let token = null;
-      let tenantId;
-      const options = {
-        ...exports2.DEFAULT_CYCLER_OPTIONS,
-        ...tokenCyclerOptions
-      };
-      const cycler = {
-        /**
-         * Produces true if a refresh job is currently in progress.
-         */
-        get isRefreshing() {
-          return refreshWorker !== null;
-        },
-        /**
-         * Produces true if the cycler SHOULD refresh (we are within the refresh
-         * window and not already refreshing)
-         */
-        get shouldRefresh() {
-          if (cycler.isRefreshing) {
-            return false;
-          }
-          if (token?.refreshAfterTimestamp && token.refreshAfterTimestamp < Date.now()) {
-            return true;
+    };
+    exports2.BlobDownloadExceptionHeaders = {
+      serializedName: "Blob_downloadExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDownloadExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return (token?.expiresOnTimestamp ?? 0) - options.refreshWindowInMs < Date.now();
-        },
-        /**
-         * Produces true if the cycler MUST refresh (null or nearly-expired
-         * token).
-         */
-        get mustRefresh() {
-          return token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now();
-        }
-      };
-      function refresh(scopes, getTokenOptions) {
-        if (!cycler.isRefreshing) {
-          const tryGetAccessToken = () => credential.getToken(scopes, getTokenOptions);
-          refreshWorker = beginRefresh(
-            tryGetAccessToken,
-            options.retryIntervalInMs,
-            // If we don't have a token, then we should timeout immediately
-            token?.expiresOnTimestamp ?? Date.now()
-          ).then((_token) => {
-            refreshWorker = null;
-            token = _token;
-            tenantId = getTokenOptions.tenantId;
-            return token;
-          }).catch((reason) => {
-            refreshWorker = null;
-            token = null;
-            tenantId = void 0;
-            throw reason;
-          });
-        }
-        return refreshWorker;
-      }
-      return async (scopes, tokenOptions) => {
-        const hasClaimChallenge = Boolean(tokenOptions.claims);
-        const tenantIdChanged = tenantId !== tokenOptions.tenantId;
-        if (hasClaimChallenge) {
-          token = null;
-        }
-        const mustRefresh = tenantIdChanged || hasClaimChallenge || cycler.mustRefresh;
-        if (mustRefresh) {
-          return refresh(scopes, tokenOptions);
-        }
-        if (cycler.shouldRefresh) {
-          refresh(scopes, tokenOptions);
-        }
-        return token;
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js
-var require_bearerTokenAuthenticationPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.bearerTokenAuthenticationPolicyName = void 0;
-    exports2.bearerTokenAuthenticationPolicy = bearerTokenAuthenticationPolicy;
-    exports2.parseChallenges = parseChallenges;
-    var tokenCycler_js_1 = require_tokenCycler();
-    var log_js_1 = require_log3();
-    var restError_js_1 = require_restError3();
-    exports2.bearerTokenAuthenticationPolicyName = "bearerTokenAuthenticationPolicy";
-    async function trySendRequest(request2, next) {
-      try {
-        return [await next(request2), void 0];
-      } catch (e) {
-        if ((0, restError_js_1.isRestError)(e) && e.response) {
-          return [e.response, e];
-        } else {
-          throw e;
         }
       }
-    }
-    async function defaultAuthorizeRequest(options) {
-      const { scopes, getAccessToken, request: request2 } = options;
-      const getTokenOptions = {
-        abortSignal: request2.abortSignal,
-        tracingOptions: request2.tracingOptions,
-        enableCae: true
-      };
-      const accessToken = await getAccessToken(scopes, getTokenOptions);
-      if (accessToken) {
-        options.request.headers.set("Authorization", `Bearer ${accessToken.token}`);
-      }
-    }
-    function isChallengeResponse(response) {
-      return response.status === 401 && response.headers.has("WWW-Authenticate");
-    }
-    async function authorizeRequestOnCaeChallenge(onChallengeOptions, caeClaims) {
-      const { scopes } = onChallengeOptions;
-      const accessToken = await onChallengeOptions.getAccessToken(scopes, {
-        enableCae: true,
-        claims: caeClaims
-      });
-      if (!accessToken) {
-        return false;
-      }
-      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
-      return true;
-    }
-    function bearerTokenAuthenticationPolicy(options) {
-      const { credential, scopes, challengeCallbacks } = options;
-      const logger = options.logger || log_js_1.logger;
-      const callbacks = {
-        authorizeRequest: challengeCallbacks?.authorizeRequest?.bind(challengeCallbacks) ?? defaultAuthorizeRequest,
-        authorizeRequestOnChallenge: challengeCallbacks?.authorizeRequestOnChallenge?.bind(challengeCallbacks)
-      };
-      const getAccessToken = credential ? (0, tokenCycler_js_1.createTokenCycler)(
-        credential
-        /* , options */
-      ) : () => Promise.resolve(null);
-      return {
-        name: exports2.bearerTokenAuthenticationPolicyName,
-        /**
-         * If there's no challenge parameter:
-         * - It will try to retrieve the token using the cache, or the credential's getToken.
-         * - Then it will try the next policy with or without the retrieved token.
-         *
-         * It uses the challenge parameters to:
-         * - Skip a first attempt to get the token from the credential if there's no cached token,
-         *   since it expects the token to be retrievable only after the challenge.
-         * - Prepare the outgoing request if the `prepareRequest` method has been provided.
-         * - Send an initial request to receive the challenge if it fails.
-         * - Process a challenge if the response contains it.
-         * - Retrieve a token with the challenge information, then re-send the request.
-         */
-        async sendRequest(request2, next) {
-          if (!request2.url.toLowerCase().startsWith("https://")) {
-            throw new Error("Bearer token authentication is not permitted for non-TLS protected (non-https) URLs.");
-          }
-          await callbacks.authorizeRequest({
-            scopes: Array.isArray(scopes) ? scopes : [scopes],
-            request: request2,
-            getAccessToken,
-            logger
-          });
-          let response;
-          let error3;
-          let shouldSendRequest;
-          [response, error3] = await trySendRequest(request2, next);
-          if (isChallengeResponse(response)) {
-            let claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
-            if (claims) {
-              let parsedClaim;
-              try {
-                parsedClaim = atob(claims);
-              } catch (e) {
-                logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
-                return response;
-              }
-              shouldSendRequest = await authorizeRequestOnCaeChallenge({
-                scopes: Array.isArray(scopes) ? scopes : [scopes],
-                response,
-                request: request2,
-                getAccessToken,
-                logger
-              }, parsedClaim);
-              if (shouldSendRequest) {
-                [response, error3] = await trySendRequest(request2, next);
-              }
-            } else if (callbacks.authorizeRequestOnChallenge) {
-              shouldSendRequest = await callbacks.authorizeRequestOnChallenge({
-                scopes: Array.isArray(scopes) ? scopes : [scopes],
-                request: request2,
-                response,
-                getAccessToken,
-                logger
-              });
-              if (shouldSendRequest) {
-                [response, error3] = await trySendRequest(request2, next);
-              }
-              if (isChallengeResponse(response)) {
-                claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
-                if (claims) {
-                  let parsedClaim;
-                  try {
-                    parsedClaim = atob(claims);
-                  } catch (e) {
-                    logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
-                    return response;
-                  }
-                  shouldSendRequest = await authorizeRequestOnCaeChallenge({
-                    scopes: Array.isArray(scopes) ? scopes : [scopes],
-                    response,
-                    request: request2,
-                    getAccessToken,
-                    logger
-                  }, parsedClaim);
-                  if (shouldSendRequest) {
-                    [response, error3] = await trySendRequest(request2, next);
-                  }
-                }
-              }
+    };
+    exports2.BlobGetPropertiesHeaders = {
+      serializedName: "Blob_getPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetPropertiesHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          createdOn: {
+            serializedName: "x-ms-creation-time",
+            xmlName: "x-ms-creation-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          objectReplicationPolicyId: {
+            serializedName: "x-ms-or-policy-id",
+            xmlName: "x-ms-or-policy-id",
+            type: {
+              name: "String"
+            }
+          },
+          objectReplicationRules: {
+            serializedName: "x-ms-or",
+            headerCollectionPrefix: "x-ms-or-",
+            xmlName: "x-ms-or",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          blobType: {
+            serializedName: "x-ms-blob-type",
+            xmlName: "x-ms-blob-type",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          copyCompletedOn: {
+            serializedName: "x-ms-copy-completion-time",
+            xmlName: "x-ms-copy-completion-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "x-ms-copy-status-description",
+            xmlName: "x-ms-copy-status-description",
+            type: {
+              name: "String"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "x-ms-copy-progress",
+            xmlName: "x-ms-copy-progress",
+            type: {
+              name: "String"
+            }
+          },
+          copySource: {
+            serializedName: "x-ms-copy-source",
+            xmlName: "x-ms-copy-source",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          isIncrementalCopy: {
+            serializedName: "x-ms-incremental-copy",
+            xmlName: "x-ms-incremental-copy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          destinationSnapshot: {
+            serializedName: "x-ms-copy-destination-snapshot",
+            xmlName: "x-ms-copy-destination-snapshot",
+            type: {
+              name: "String"
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          contentLength: {
+            serializedName: "content-length",
+            xmlName: "content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentEncoding: {
+            serializedName: "content-encoding",
+            xmlName: "content-encoding",
+            type: {
+              name: "String"
+            }
+          },
+          contentDisposition: {
+            serializedName: "content-disposition",
+            xmlName: "content-disposition",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "content-language",
+            xmlName: "content-language",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "cache-control",
+            xmlName: "cache-control",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          acceptRanges: {
+            serializedName: "accept-ranges",
+            xmlName: "accept-ranges",
+            type: {
+              name: "String"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-server-encrypted",
+            xmlName: "x-ms-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
             }
-          }
-          if (error3) {
-            throw error3;
-          } else {
-            return response;
-          }
-        }
-      };
-    }
-    function parseChallenges(challenges) {
-      const challengeRegex = /(\w+)\s+((?:\w+=(?:"[^"]*"|[^,]*),?\s*)+)/g;
-      const paramRegex = /(\w+)="([^"]*)"/g;
-      const parsedChallenges = [];
-      let match;
-      while ((match = challengeRegex.exec(challenges)) !== null) {
-        const scheme = match[1];
-        const paramsString = match[2];
-        const params = {};
-        let paramMatch;
-        while ((paramMatch = paramRegex.exec(paramsString)) !== null) {
-          params[paramMatch[1]] = paramMatch[2];
-        }
-        parsedChallenges.push({ scheme, params });
-      }
-      return parsedChallenges;
-    }
-    function getCaeChallengeClaims(challenges) {
-      if (!challenges) {
-        return;
-      }
-      const parsedChallenges = parseChallenges(challenges);
-      return parsedChallenges.find((x) => x.scheme === "Bearer" && x.params.claims && x.params.error === "insufficient_claims")?.params.claims;
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js
-var require_ndJsonPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ndJsonPolicyName = void 0;
-    exports2.ndJsonPolicy = ndJsonPolicy;
-    exports2.ndJsonPolicyName = "ndJsonPolicy";
-    function ndJsonPolicy() {
-      return {
-        name: exports2.ndJsonPolicyName,
-        async sendRequest(request2, next) {
-          if (typeof request2.body === "string" && request2.body.startsWith("[")) {
-            const body = JSON.parse(request2.body);
-            if (Array.isArray(body)) {
-              request2.body = body.map((item) => JSON.stringify(item) + "\n").join("");
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
             }
-          }
-          return next(request2);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js
-var require_auxiliaryAuthenticationHeaderPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.auxiliaryAuthenticationHeaderPolicyName = void 0;
-    exports2.auxiliaryAuthenticationHeaderPolicy = auxiliaryAuthenticationHeaderPolicy;
-    var tokenCycler_js_1 = require_tokenCycler();
-    var log_js_1 = require_log3();
-    exports2.auxiliaryAuthenticationHeaderPolicyName = "auxiliaryAuthenticationHeaderPolicy";
-    var AUTHORIZATION_AUXILIARY_HEADER = "x-ms-authorization-auxiliary";
-    async function sendAuthorizeRequest(options) {
-      const { scopes, getAccessToken, request: request2 } = options;
-      const getTokenOptions = {
-        abortSignal: request2.abortSignal,
-        tracingOptions: request2.tracingOptions
-      };
-      return (await getAccessToken(scopes, getTokenOptions))?.token ?? "";
-    }
-    function auxiliaryAuthenticationHeaderPolicy(options) {
-      const { credentials, scopes } = options;
-      const logger = options.logger || log_js_1.logger;
-      const tokenCyclerMap = /* @__PURE__ */ new WeakMap();
-      return {
-        name: exports2.auxiliaryAuthenticationHeaderPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.url.toLowerCase().startsWith("https://")) {
-            throw new Error("Bearer token authentication for auxiliary header is not permitted for non-TLS protected (non-https) URLs.");
-          }
-          if (!credentials || credentials.length === 0) {
-            logger.info(`${exports2.auxiliaryAuthenticationHeaderPolicyName} header will not be set due to empty credentials.`);
-            return next(request2);
-          }
-          const tokenPromises = [];
-          for (const credential of credentials) {
-            let getAccessToken = tokenCyclerMap.get(credential);
-            if (!getAccessToken) {
-              getAccessToken = (0, tokenCycler_js_1.createTokenCycler)(credential);
-              tokenCyclerMap.set(credential, getAccessToken);
+          },
+          accessTier: {
+            serializedName: "x-ms-access-tier",
+            xmlName: "x-ms-access-tier",
+            type: {
+              name: "String"
+            }
+          },
+          accessTierInferred: {
+            serializedName: "x-ms-access-tier-inferred",
+            xmlName: "x-ms-access-tier-inferred",
+            type: {
+              name: "Boolean"
+            }
+          },
+          archiveStatus: {
+            serializedName: "x-ms-archive-status",
+            xmlName: "x-ms-archive-status",
+            type: {
+              name: "String"
+            }
+          },
+          accessTierChangedOn: {
+            serializedName: "x-ms-access-tier-change-time",
+            xmlName: "x-ms-access-tier-change-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          isCurrentVersion: {
+            serializedName: "x-ms-is-current-version",
+            xmlName: "x-ms-is-current-version",
+            type: {
+              name: "Boolean"
+            }
+          },
+          tagCount: {
+            serializedName: "x-ms-tag-count",
+            xmlName: "x-ms-tag-count",
+            type: {
+              name: "Number"
+            }
+          },
+          expiresOn: {
+            serializedName: "x-ms-expiry-time",
+            xmlName: "x-ms-expiry-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isSealed: {
+            serializedName: "x-ms-blob-sealed",
+            xmlName: "x-ms-blob-sealed",
+            type: {
+              name: "Boolean"
+            }
+          },
+          rehydratePriority: {
+            serializedName: "x-ms-rehydrate-priority",
+            xmlName: "x-ms-rehydrate-priority",
+            type: {
+              name: "Enum",
+              allowedValues: ["High", "Standard"]
+            }
+          },
+          lastAccessed: {
+            serializedName: "x-ms-last-access-time",
+            xmlName: "x-ms-last-access-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiresOn: {
+            serializedName: "x-ms-immutability-policy-until-date",
+            xmlName: "x-ms-immutability-policy-until-date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "x-ms-immutability-policy-mode",
+            xmlName: "x-ms-immutability-policy-mode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
+          },
+          legalHold: {
+            serializedName: "x-ms-legal-hold",
+            xmlName: "x-ms-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            tokenPromises.push(sendAuthorizeRequest({
-              scopes: Array.isArray(scopes) ? scopes : [scopes],
-              request: request2,
-              getAccessToken,
-              logger
-            }));
-          }
-          const auxiliaryTokens = (await Promise.all(tokenPromises)).filter((token) => Boolean(token));
-          if (auxiliaryTokens.length === 0) {
-            logger.warning(`None of the auxiliary tokens are valid. ${AUTHORIZATION_AUXILIARY_HEADER} header will not be set.`);
-            return next(request2);
           }
-          request2.headers.set(AUTHORIZATION_AUXILIARY_HEADER, auxiliaryTokens.map((token) => `Bearer ${token}`).join(", "));
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js
-var require_commonjs6 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createFileFromStream = exports2.createFile = exports2.agentPolicyName = exports2.agentPolicy = exports2.auxiliaryAuthenticationHeaderPolicyName = exports2.auxiliaryAuthenticationHeaderPolicy = exports2.ndJsonPolicyName = exports2.ndJsonPolicy = exports2.bearerTokenAuthenticationPolicyName = exports2.bearerTokenAuthenticationPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.defaultRetryPolicy = exports2.tracingPolicyName = exports2.tracingPolicy = exports2.retryPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.setClientRequestIdPolicyName = exports2.setClientRequestIdPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.isRestError = exports2.RestError = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.createDefaultHttpClient = exports2.createPipelineFromOptions = exports2.createEmptyPipeline = void 0;
-    var pipeline_js_1 = require_pipeline2();
-    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
-      return pipeline_js_1.createEmptyPipeline;
-    } });
-    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions2();
-    Object.defineProperty(exports2, "createPipelineFromOptions", { enumerable: true, get: function() {
-      return createPipelineFromOptions_js_1.createPipelineFromOptions;
-    } });
-    var defaultHttpClient_js_1 = require_defaultHttpClient2();
-    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
-      return defaultHttpClient_js_1.createDefaultHttpClient;
-    } });
-    var httpHeaders_js_1 = require_httpHeaders2();
-    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
-      return httpHeaders_js_1.createHttpHeaders;
-    } });
-    var pipelineRequest_js_1 = require_pipelineRequest2();
-    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
-      return pipelineRequest_js_1.createPipelineRequest;
-    } });
-    var restError_js_1 = require_restError3();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return restError_js_1.RestError;
-    } });
-    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
-      return restError_js_1.isRestError;
-    } });
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
-    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicy;
-    } });
-    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
-    } });
-    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy2();
-    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
-    } });
-    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
-    Object.defineProperty(exports2, "setClientRequestIdPolicy", { enumerable: true, get: function() {
-      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicy;
-    } });
-    Object.defineProperty(exports2, "setClientRequestIdPolicyName", { enumerable: true, get: function() {
-      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicyName;
-    } });
-    var logPolicy_js_1 = require_logPolicy2();
-    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicy;
-    } });
-    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicyName;
-    } });
-    var multipartPolicy_js_1 = require_multipartPolicy2();
-    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicy;
-    } });
-    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicyName;
-    } });
-    var proxyPolicy_js_1 = require_proxyPolicy2();
-    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicy;
-    } });
-    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicyName;
-    } });
-    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.getDefaultProxySettings;
-    } });
-    var redirectPolicy_js_1 = require_redirectPolicy2();
-    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicy;
-    } });
-    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicyName;
-    } });
-    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy2();
-    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
-    } });
-    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy2();
-    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
-    } });
-    var retryPolicy_js_1 = require_retryPolicy2();
-    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
-      return retryPolicy_js_1.retryPolicy;
-    } });
-    var tracingPolicy_js_1 = require_tracingPolicy();
-    Object.defineProperty(exports2, "tracingPolicy", { enumerable: true, get: function() {
-      return tracingPolicy_js_1.tracingPolicy;
-    } });
-    Object.defineProperty(exports2, "tracingPolicyName", { enumerable: true, get: function() {
-      return tracingPolicy_js_1.tracingPolicyName;
-    } });
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
-    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
-      return defaultRetryPolicy_js_1.defaultRetryPolicy;
-    } });
-    var userAgentPolicy_js_1 = require_userAgentPolicy2();
-    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicy;
-    } });
-    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicyName;
-    } });
-    var tlsPolicy_js_1 = require_tlsPolicy2();
-    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicy;
-    } });
-    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicyName;
-    } });
-    var formDataPolicy_js_1 = require_formDataPolicy2();
-    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicy;
-    } });
-    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicyName;
-    } });
-    var bearerTokenAuthenticationPolicy_js_1 = require_bearerTokenAuthenticationPolicy();
-    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicy", { enumerable: true, get: function() {
-      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicy;
-    } });
-    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicyName", { enumerable: true, get: function() {
-      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicyName;
-    } });
-    var ndJsonPolicy_js_1 = require_ndJsonPolicy();
-    Object.defineProperty(exports2, "ndJsonPolicy", { enumerable: true, get: function() {
-      return ndJsonPolicy_js_1.ndJsonPolicy;
-    } });
-    Object.defineProperty(exports2, "ndJsonPolicyName", { enumerable: true, get: function() {
-      return ndJsonPolicy_js_1.ndJsonPolicyName;
-    } });
-    var auxiliaryAuthenticationHeaderPolicy_js_1 = require_auxiliaryAuthenticationHeaderPolicy();
-    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicy", { enumerable: true, get: function() {
-      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicy;
-    } });
-    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicyName", { enumerable: true, get: function() {
-      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicyName;
-    } });
-    var agentPolicy_js_1 = require_agentPolicy2();
-    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicy;
-    } });
-    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicyName;
-    } });
-    var file_js_1 = require_file3();
-    Object.defineProperty(exports2, "createFile", { enumerable: true, get: function() {
-      return file_js_1.createFile;
-    } });
-    Object.defineProperty(exports2, "createFileFromStream", { enumerable: true, get: function() {
-      return file_js_1.createFileFromStream;
-    } });
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js
-var require_azureKeyCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureKeyCredential = void 0;
-    var AzureKeyCredential = class {
-      _key;
-      /**
-       * The value of the key to be used in authentication
-       */
-      get key() {
-        return this._key;
       }
-      /**
-       * Create an instance of an AzureKeyCredential for use
-       * with a service client.
-       *
-       * @param key - The initial value of the key to use in authentication
-       */
-      constructor(key) {
-        if (!key) {
-          throw new Error("key must be a non-empty string");
+    };
+    exports2.BlobGetPropertiesExceptionHeaders = {
+      serializedName: "Blob_getPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._key = key;
-      }
-      /**
-       * Change the value of the key.
-       *
-       * Updates will take effect upon the next request after
-       * updating the key value.
-       *
-       * @param newKey - The new key value to be used
-       */
-      update(newKey) {
-        this._key = newKey;
       }
     };
-    exports2.AzureKeyCredential = AzureKeyCredential;
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/keyCredential.js
-var require_keyCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/keyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isKeyCredential = isKeyCredential;
-    var core_util_1 = require_commonjs4();
-    function isKeyCredential(credential) {
-      return (0, core_util_1.isObjectWithProperties)(credential, ["key"]) && typeof credential.key === "string";
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js
-var require_azureNamedKeyCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureNamedKeyCredential = void 0;
-    exports2.isNamedKeyCredential = isNamedKeyCredential;
-    var core_util_1 = require_commonjs4();
-    var AzureNamedKeyCredential = class {
-      _key;
-      _name;
-      /**
-       * The value of the key to be used in authentication.
-       */
-      get key() {
-        return this._key;
-      }
-      /**
-       * The value of the name to be used in authentication.
-       */
-      get name() {
-        return this._name;
-      }
-      /**
-       * Create an instance of an AzureNamedKeyCredential for use
-       * with a service client.
-       *
-       * @param name - The initial value of the name to use in authentication.
-       * @param key - The initial value of the key to use in authentication.
-       */
-      constructor(name, key) {
-        if (!name || !key) {
-          throw new TypeError("name and key must be non-empty strings");
+    exports2.BlobDeleteHeaders = {
+      serializedName: "Blob_deleteHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._name = name;
-        this._key = key;
       }
-      /**
-       * Change the value of the key.
-       *
-       * Updates will take effect upon the next request after
-       * updating the key value.
-       *
-       * @param newName - The new name value to be used.
-       * @param newKey - The new key value to be used.
-       */
-      update(newName, newKey) {
-        if (!newName || !newKey) {
-          throw new TypeError("newName and newKey must be non-empty strings");
+    };
+    exports2.BlobDeleteExceptionHeaders = {
+      serializedName: "Blob_deleteExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._name = newName;
-        this._key = newKey;
       }
     };
-    exports2.AzureNamedKeyCredential = AzureNamedKeyCredential;
-    function isNamedKeyCredential(credential) {
-      return (0, core_util_1.isObjectWithProperties)(credential, ["name", "key"]) && typeof credential.key === "string" && typeof credential.name === "string";
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js
-var require_azureSASCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureSASCredential = void 0;
-    exports2.isSASCredential = isSASCredential;
-    var core_util_1 = require_commonjs4();
-    var AzureSASCredential = class {
-      _signature;
-      /**
-       * The value of the shared access signature to be used in authentication
-       */
-      get signature() {
-        return this._signature;
+    exports2.BlobUndeleteHeaders = {
+      serializedName: "Blob_undeleteHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobUndeleteHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      /**
-       * Create an instance of an AzureSASCredential for use
-       * with a service client.
-       *
-       * @param signature - The initial value of the shared access signature to use in authentication
-       */
-      constructor(signature) {
-        if (!signature) {
-          throw new Error("shared access signature must be a non-empty string");
+    };
+    exports2.BlobUndeleteExceptionHeaders = {
+      serializedName: "Blob_undeleteExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobUndeleteExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._signature = signature;
       }
-      /**
-       * Change the value of the signature.
-       *
-       * Updates will take effect upon the next request after
-       * updating the signature value.
-       *
-       * @param newSignature - The new shared access signature value to be used
-       */
-      update(newSignature) {
-        if (!newSignature) {
-          throw new Error("shared access signature must be a non-empty string");
+    };
+    exports2.BlobSetExpiryHeaders = {
+      serializedName: "Blob_setExpiryHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetExpiryHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-        this._signature = newSignature;
       }
     };
-    exports2.AzureSASCredential = AzureSASCredential;
-    function isSASCredential(credential) {
-      return (0, core_util_1.isObjectWithProperties)(credential, ["signature"]) && typeof credential.signature === "string";
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js
-var require_tokenCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isBearerToken = isBearerToken;
-    exports2.isPopToken = isPopToken;
-    exports2.isTokenCredential = isTokenCredential;
-    function isBearerToken(accessToken) {
-      return !accessToken.tokenType || accessToken.tokenType === "Bearer";
-    }
-    function isPopToken(accessToken) {
-      return accessToken.tokenType === "pop";
-    }
-    function isTokenCredential(credential) {
-      const castCredential = credential;
-      return castCredential && typeof castCredential.getToken === "function" && (castCredential.signRequest === void 0 || castCredential.getToken.length > 0);
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/index.js
-var require_commonjs7 = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isTokenCredential = exports2.isSASCredential = exports2.AzureSASCredential = exports2.isNamedKeyCredential = exports2.AzureNamedKeyCredential = exports2.isKeyCredential = exports2.AzureKeyCredential = void 0;
-    var azureKeyCredential_js_1 = require_azureKeyCredential();
-    Object.defineProperty(exports2, "AzureKeyCredential", { enumerable: true, get: function() {
-      return azureKeyCredential_js_1.AzureKeyCredential;
-    } });
-    var keyCredential_js_1 = require_keyCredential();
-    Object.defineProperty(exports2, "isKeyCredential", { enumerable: true, get: function() {
-      return keyCredential_js_1.isKeyCredential;
-    } });
-    var azureNamedKeyCredential_js_1 = require_azureNamedKeyCredential();
-    Object.defineProperty(exports2, "AzureNamedKeyCredential", { enumerable: true, get: function() {
-      return azureNamedKeyCredential_js_1.AzureNamedKeyCredential;
-    } });
-    Object.defineProperty(exports2, "isNamedKeyCredential", { enumerable: true, get: function() {
-      return azureNamedKeyCredential_js_1.isNamedKeyCredential;
-    } });
-    var azureSASCredential_js_1 = require_azureSASCredential();
-    Object.defineProperty(exports2, "AzureSASCredential", { enumerable: true, get: function() {
-      return azureSASCredential_js_1.AzureSASCredential;
-    } });
-    Object.defineProperty(exports2, "isSASCredential", { enumerable: true, get: function() {
-      return azureSASCredential_js_1.isSASCredential;
-    } });
-    var tokenCredential_js_1 = require_tokenCredential();
-    Object.defineProperty(exports2, "isTokenCredential", { enumerable: true, get: function() {
-      return tokenCredential_js_1.isTokenCredential;
-    } });
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js
-var require_disableKeepAlivePolicy = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.disableKeepAlivePolicyName = void 0;
-    exports2.createDisableKeepAlivePolicy = createDisableKeepAlivePolicy;
-    exports2.pipelineContainsDisableKeepAlivePolicy = pipelineContainsDisableKeepAlivePolicy;
-    exports2.disableKeepAlivePolicyName = "DisableKeepAlivePolicy";
-    function createDisableKeepAlivePolicy() {
-      return {
-        name: exports2.disableKeepAlivePolicyName,
-        async sendRequest(request2, next) {
-          request2.disableKeepAlive = true;
-          return next(request2);
+    exports2.BlobSetExpiryExceptionHeaders = {
+      serializedName: "Blob_setExpiryExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetExpiryExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      };
-    }
-    function pipelineContainsDisableKeepAlivePolicy(pipeline) {
-      return pipeline.getOrderedPolicies().some((policy) => policy.name === exports2.disableKeepAlivePolicyName);
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/base64.js
-var require_base64 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/base64.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.encodeString = encodeString;
-    exports2.encodeByteArray = encodeByteArray;
-    exports2.decodeString = decodeString;
-    exports2.decodeStringToString = decodeStringToString;
-    function encodeString(value) {
-      return Buffer.from(value).toString("base64");
-    }
-    function encodeByteArray(value) {
-      const bufferValue = value instanceof Buffer ? value : Buffer.from(value.buffer);
-      return bufferValue.toString("base64");
-    }
-    function decodeString(value) {
-      return Buffer.from(value, "base64");
-    }
-    function decodeStringToString(value) {
-      return Buffer.from(value, "base64").toString();
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/interfaces.js
-var require_interfaces = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/interfaces.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
-    exports2.XML_ATTRKEY = "$";
-    exports2.XML_CHARKEY = "_";
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/utils.js
-var require_utils6 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isPrimitiveBody = isPrimitiveBody;
-    exports2.isDuration = isDuration;
-    exports2.isValidUuid = isValidUuid;
-    exports2.flattenResponse = flattenResponse;
-    function isPrimitiveBody(value, mapperTypeName) {
-      return mapperTypeName !== "Composite" && mapperTypeName !== "Dictionary" && (typeof value === "string" || typeof value === "number" || typeof value === "boolean" || mapperTypeName?.match(/^(Date|DateTime|DateTimeRfc1123|UnixTime|ByteArray|Base64Url)$/i) !== null || value === void 0 || value === null);
-    }
-    var validateISODuration = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
-    function isDuration(value) {
-      return validateISODuration.test(value);
-    }
-    var validUuidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/i;
-    function isValidUuid(uuid) {
-      return validUuidRegex.test(uuid);
-    }
-    function handleNullableResponseAndWrappableBody(responseObject) {
-      const combinedHeadersAndBody = {
-        ...responseObject.headers,
-        ...responseObject.body
-      };
-      if (responseObject.hasNullableType && Object.getOwnPropertyNames(combinedHeadersAndBody).length === 0) {
-        return responseObject.shouldWrapBody ? { body: null } : null;
-      } else {
-        return responseObject.shouldWrapBody ? {
-          ...responseObject.headers,
-          body: responseObject.body
-        } : combinedHeadersAndBody;
       }
-    }
-    function flattenResponse(fullResponse, responseSpec) {
-      const parsedHeaders = fullResponse.parsedHeaders;
-      if (fullResponse.request.method === "HEAD") {
-        return {
-          ...parsedHeaders,
-          body: fullResponse.parsedBody
-        };
+    };
+    exports2.BlobSetHttpHeadersHeaders = {
+      serializedName: "Blob_setHttpHeadersHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetHttpHeadersHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      const bodyMapper = responseSpec && responseSpec.bodyMapper;
-      const isNullable = Boolean(bodyMapper?.nullable);
-      const expectedBodyTypeName = bodyMapper?.type.name;
-      if (expectedBodyTypeName === "Stream") {
-        return {
-          ...parsedHeaders,
-          blobBody: fullResponse.blobBody,
-          readableStreamBody: fullResponse.readableStreamBody
-        };
+    };
+    exports2.BlobSetHttpHeadersExceptionHeaders = {
+      serializedName: "Blob_setHttpHeadersExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetHttpHeadersExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      const modelProperties = expectedBodyTypeName === "Composite" && bodyMapper.type.modelProperties || {};
-      const isPageableResponse = Object.keys(modelProperties).some((k) => modelProperties[k].serializedName === "");
-      if (expectedBodyTypeName === "Sequence" || isPageableResponse) {
-        const arrayResponse = fullResponse.parsedBody ?? [];
-        for (const key of Object.keys(modelProperties)) {
-          if (modelProperties[key].serializedName) {
-            arrayResponse[key] = fullResponse.parsedBody?.[key];
+    };
+    exports2.BlobSetImmutabilityPolicyHeaders = {
+      serializedName: "Blob_setImmutabilityPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetImmutabilityPolicyHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiry: {
+            serializedName: "x-ms-immutability-policy-until-date",
+            xmlName: "x-ms-immutability-policy-until-date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "x-ms-immutability-policy-mode",
+            xmlName: "x-ms-immutability-policy-mode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
           }
         }
-        if (parsedHeaders) {
-          for (const key of Object.keys(parsedHeaders)) {
-            arrayResponse[key] = parsedHeaders[key];
+      }
+    };
+    exports2.BlobSetImmutabilityPolicyExceptionHeaders = {
+      serializedName: "Blob_setImmutabilityPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetImmutabilityPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return isNullable && !fullResponse.parsedBody && !parsedHeaders && Object.getOwnPropertyNames(modelProperties).length === 0 ? null : arrayResponse;
-      }
-      return handleNullableResponseAndWrappableBody({
-        body: fullResponse.parsedBody,
-        headers: parsedHeaders,
-        hasNullableType: isNullable,
-        shouldWrapBody: isPrimitiveBody(fullResponse.parsedBody, expectedBodyTypeName)
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/serializer.js
-var require_serializer = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/serializer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MapperTypeNames = void 0;
-    exports2.createSerializer = createSerializer;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var base64 = tslib_1.__importStar(require_base64());
-    var interfaces_js_1 = require_interfaces();
-    var utils_js_1 = require_utils6();
-    var SerializerImpl = class {
-      modelMappers;
-      isXML;
-      constructor(modelMappers = {}, isXML = false) {
-        this.modelMappers = modelMappers;
-        this.isXML = isXML;
       }
-      /**
-       * @deprecated Removing the constraints validation on client side.
-       */
-      validateConstraints(mapper, value, objectName) {
-        const failValidation = (constraintName, constraintValue) => {
-          throw new Error(`"${objectName}" with value "${value}" should satisfy the constraint "${constraintName}": ${constraintValue}.`);
-        };
-        if (mapper.constraints && value !== void 0 && value !== null) {
-          const { ExclusiveMaximum, ExclusiveMinimum, InclusiveMaximum, InclusiveMinimum, MaxItems, MaxLength, MinItems, MinLength, MultipleOf, Pattern, UniqueItems } = mapper.constraints;
-          if (ExclusiveMaximum !== void 0 && value >= ExclusiveMaximum) {
-            failValidation("ExclusiveMaximum", ExclusiveMaximum);
-          }
-          if (ExclusiveMinimum !== void 0 && value <= ExclusiveMinimum) {
-            failValidation("ExclusiveMinimum", ExclusiveMinimum);
-          }
-          if (InclusiveMaximum !== void 0 && value > InclusiveMaximum) {
-            failValidation("InclusiveMaximum", InclusiveMaximum);
-          }
-          if (InclusiveMinimum !== void 0 && value < InclusiveMinimum) {
-            failValidation("InclusiveMinimum", InclusiveMinimum);
-          }
-          if (MaxItems !== void 0 && value.length > MaxItems) {
-            failValidation("MaxItems", MaxItems);
-          }
-          if (MaxLength !== void 0 && value.length > MaxLength) {
-            failValidation("MaxLength", MaxLength);
-          }
-          if (MinItems !== void 0 && value.length < MinItems) {
-            failValidation("MinItems", MinItems);
-          }
-          if (MinLength !== void 0 && value.length < MinLength) {
-            failValidation("MinLength", MinLength);
-          }
-          if (MultipleOf !== void 0 && value % MultipleOf !== 0) {
-            failValidation("MultipleOf", MultipleOf);
-          }
-          if (Pattern) {
-            const pattern = typeof Pattern === "string" ? new RegExp(Pattern) : Pattern;
-            if (typeof value !== "string" || value.match(pattern) === null) {
-              failValidation("Pattern", Pattern);
+    };
+    exports2.BlobDeleteImmutabilityPolicyHeaders = {
+      serializedName: "Blob_deleteImmutabilityPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteImmutabilityPolicyHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
             }
-          }
-          if (UniqueItems && value.some((item, i, ar) => ar.indexOf(item) !== i)) {
-            failValidation("UniqueItems", UniqueItems);
           }
         }
       }
-      /**
-       * Serialize the given object based on its metadata defined in the mapper
-       *
-       * @param mapper - The mapper which defines the metadata of the serializable object
-       *
-       * @param object - A valid Javascript object to be serialized
-       *
-       * @param objectName - Name of the serialized object
-       *
-       * @param options - additional options to serialization
-       *
-       * @returns A valid serialized Javascript object
-       */
-      serialize(mapper, object, objectName, options = { xml: {} }) {
-        const updatedOptions = {
-          xml: {
-            rootName: options.xml.rootName ?? "",
-            includeRoot: options.xml.includeRoot ?? false,
-            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+    };
+    exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = {
+      serializedName: "Blob_deleteImmutabilityPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteImmutabilityPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        };
-        let payload = {};
-        const mapperType = mapper.type.name;
-        if (!objectName) {
-          objectName = mapper.serializedName;
         }
-        if (mapperType.match(/^Sequence$/i) !== null) {
-          payload = [];
+      }
+    };
+    exports2.BlobSetLegalHoldHeaders = {
+      serializedName: "Blob_setLegalHoldHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetLegalHoldHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          legalHold: {
+            serializedName: "x-ms-legal-hold",
+            xmlName: "x-ms-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          }
         }
-        if (mapper.isConstant) {
-          object = mapper.defaultValue;
+      }
+    };
+    exports2.BlobSetLegalHoldExceptionHeaders = {
+      serializedName: "Blob_setLegalHoldExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetLegalHoldExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        const { required, nullable } = mapper;
-        if (required && nullable && object === void 0) {
-          throw new Error(`${objectName} cannot be undefined.`);
+      }
+    };
+    exports2.BlobSetMetadataHeaders = {
+      serializedName: "Blob_setMetadataHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetMetadataHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (required && !nullable && (object === void 0 || object === null)) {
-          throw new Error(`${objectName} cannot be null or undefined.`);
+      }
+    };
+    exports2.BlobSetMetadataExceptionHeaders = {
+      serializedName: "Blob_setMetadataExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetMetadataExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (!required && nullable === false && object === null) {
-          throw new Error(`${objectName} cannot be null.`);
+      }
+    };
+    exports2.BlobAcquireLeaseHeaders = {
+      serializedName: "Blob_acquireLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAcquireLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-        if (object === void 0 || object === null) {
-          payload = object;
-        } else {
-          if (mapperType.match(/^any$/i) !== null) {
-            payload = object;
-          } else if (mapperType.match(/^(Number|String|Boolean|Object|Stream|Uuid)$/i) !== null) {
-            payload = serializeBasicTypes(mapperType, objectName, object);
-          } else if (mapperType.match(/^Enum$/i) !== null) {
-            const enumMapper = mapper;
-            payload = serializeEnumType(objectName, enumMapper.type.allowedValues, object);
-          } else if (mapperType.match(/^(Date|DateTime|TimeSpan|DateTimeRfc1123|UnixTime)$/i) !== null) {
-            payload = serializeDateTypes(mapperType, object, objectName);
-          } else if (mapperType.match(/^ByteArray$/i) !== null) {
-            payload = serializeByteArrayType(objectName, object);
-          } else if (mapperType.match(/^Base64Url$/i) !== null) {
-            payload = serializeBase64UrlType(objectName, object);
-          } else if (mapperType.match(/^Sequence$/i) !== null) {
-            payload = serializeSequenceType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
-          } else if (mapperType.match(/^Dictionary$/i) !== null) {
-            payload = serializeDictionaryType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
-          } else if (mapperType.match(/^Composite$/i) !== null) {
-            payload = serializeCompositeType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
+      }
+    };
+    exports2.BlobAcquireLeaseExceptionHeaders = {
+      serializedName: "Blob_acquireLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAcquireLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return payload;
       }
-      /**
-       * Deserialize the given object based on its metadata defined in the mapper
-       *
-       * @param mapper - The mapper which defines the metadata of the serializable object
-       *
-       * @param responseBody - A valid Javascript entity to be deserialized
-       *
-       * @param objectName - Name of the deserialized object
-       *
-       * @param options - Controls behavior of XML parser and builder.
-       *
-       * @returns A valid deserialized Javascript object
-       */
-      deserialize(mapper, responseBody, objectName, options = { xml: {} }) {
-        const updatedOptions = {
-          xml: {
-            rootName: options.xml.rootName ?? "",
-            includeRoot: options.xml.includeRoot ?? false,
-            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+    };
+    exports2.BlobReleaseLeaseHeaders = {
+      serializedName: "Blob_releaseLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobReleaseLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
           },
-          ignoreUnknownProperties: options.ignoreUnknownProperties ?? false
-        };
-        if (responseBody === void 0 || responseBody === null) {
-          if (this.isXML && mapper.type.name === "Sequence" && !mapper.xmlIsWrapped) {
-            responseBody = [];
-          }
-          if (mapper.defaultValue !== void 0) {
-            responseBody = mapper.defaultValue;
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
-          return responseBody;
-        }
-        let payload;
-        const mapperType = mapper.type.name;
-        if (!objectName) {
-          objectName = mapper.serializedName;
         }
-        if (mapperType.match(/^Composite$/i) !== null) {
-          payload = deserializeCompositeType(this, mapper, responseBody, objectName, updatedOptions);
-        } else {
-          if (this.isXML) {
-            const xmlCharKey = updatedOptions.xml.xmlCharKey;
-            if (responseBody[interfaces_js_1.XML_ATTRKEY] !== void 0 && responseBody[xmlCharKey] !== void 0) {
-              responseBody = responseBody[xmlCharKey];
+      }
+    };
+    exports2.BlobReleaseLeaseExceptionHeaders = {
+      serializedName: "Blob_releaseLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobReleaseLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          if (mapperType.match(/^Number$/i) !== null) {
-            payload = parseFloat(responseBody);
-            if (isNaN(payload)) {
-              payload = responseBody;
+        }
+      }
+    };
+    exports2.BlobRenewLeaseHeaders = {
+      serializedName: "Blob_renewLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobRenewLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-          } else if (mapperType.match(/^Boolean$/i) !== null) {
-            if (responseBody === "true") {
-              payload = true;
-            } else if (responseBody === "false") {
-              payload = false;
-            } else {
-              payload = responseBody;
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
             }
-          } else if (mapperType.match(/^(String|Enum|Object|Stream|Uuid|TimeSpan|any)$/i) !== null) {
-            payload = responseBody;
-          } else if (mapperType.match(/^(Date|DateTime|DateTimeRfc1123)$/i) !== null) {
-            payload = new Date(responseBody);
-          } else if (mapperType.match(/^UnixTime$/i) !== null) {
-            payload = unixTimeToDate(responseBody);
-          } else if (mapperType.match(/^ByteArray$/i) !== null) {
-            payload = base64.decodeString(responseBody);
-          } else if (mapperType.match(/^Base64Url$/i) !== null) {
-            payload = base64UrlToByteArray(responseBody);
-          } else if (mapperType.match(/^Sequence$/i) !== null) {
-            payload = deserializeSequenceType(this, mapper, responseBody, objectName, updatedOptions);
-          } else if (mapperType.match(/^Dictionary$/i) !== null) {
-            payload = deserializeDictionaryType(this, mapper, responseBody, objectName, updatedOptions);
           }
         }
-        if (mapper.isConstant) {
-          payload = mapper.defaultValue;
-        }
-        return payload;
       }
     };
-    function createSerializer(modelMappers = {}, isXML = false) {
-      return new SerializerImpl(modelMappers, isXML);
-    }
-    function trimEnd(str2, ch) {
-      let len = str2.length;
-      while (len - 1 >= 0 && str2[len - 1] === ch) {
-        --len;
-      }
-      return str2.substr(0, len);
-    }
-    function bufferToBase64Url(buffer) {
-      if (!buffer) {
-        return void 0;
-      }
-      if (!(buffer instanceof Uint8Array)) {
-        throw new Error(`Please provide an input of type Uint8Array for converting to Base64Url.`);
-      }
-      const str2 = base64.encodeByteArray(buffer);
-      return trimEnd(str2, "=").replace(/\+/g, "-").replace(/\//g, "_");
-    }
-    function base64UrlToByteArray(str2) {
-      if (!str2) {
-        return void 0;
-      }
-      if (str2 && typeof str2.valueOf() !== "string") {
-        throw new Error("Please provide an input of type string for converting to Uint8Array");
-      }
-      str2 = str2.replace(/-/g, "+").replace(/_/g, "/");
-      return base64.decodeString(str2);
-    }
-    function splitSerializeName(prop) {
-      const classes = [];
-      let partialclass = "";
-      if (prop) {
-        const subwords = prop.split(".");
-        for (const item of subwords) {
-          if (item.charAt(item.length - 1) === "\\") {
-            partialclass += item.substr(0, item.length - 1) + ".";
-          } else {
-            partialclass += item;
-            classes.push(partialclass);
-            partialclass = "";
+    exports2.BlobRenewLeaseExceptionHeaders = {
+      serializedName: "Blob_renewLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobRenewLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      return classes;
-    }
-    function dateToUnixTime(d) {
-      if (!d) {
-        return void 0;
-      }
-      if (typeof d.valueOf() === "string") {
-        d = new Date(d);
-      }
-      return Math.floor(d.getTime() / 1e3);
-    }
-    function unixTimeToDate(n) {
-      if (!n) {
-        return void 0;
-      }
-      return new Date(n * 1e3);
-    }
-    function serializeBasicTypes(typeName, objectName, value) {
-      if (value !== null && value !== void 0) {
-        if (typeName.match(/^Number$/i) !== null) {
-          if (typeof value !== "number") {
-            throw new Error(`${objectName} with value ${value} must be of type number.`);
-          }
-        } else if (typeName.match(/^String$/i) !== null) {
-          if (typeof value.valueOf() !== "string") {
-            throw new Error(`${objectName} with value "${value}" must be of type string.`);
-          }
-        } else if (typeName.match(/^Uuid$/i) !== null) {
-          if (!(typeof value.valueOf() === "string" && (0, utils_js_1.isValidUuid)(value))) {
-            throw new Error(`${objectName} with value "${value}" must be of type string and a valid uuid.`);
-          }
-        } else if (typeName.match(/^Boolean$/i) !== null) {
-          if (typeof value !== "boolean") {
-            throw new Error(`${objectName} with value ${value} must be of type boolean.`);
-          }
-        } else if (typeName.match(/^Stream$/i) !== null) {
-          const objectType = typeof value;
-          if (objectType !== "string" && typeof value.pipe !== "function" && // NodeJS.ReadableStream
-          typeof value.tee !== "function" && // browser ReadableStream
-          !(value instanceof ArrayBuffer) && !ArrayBuffer.isView(value) && // File objects count as a type of Blob, so we want to use instanceof explicitly
-          !((typeof Blob === "function" || typeof Blob === "object") && value instanceof Blob) && objectType !== "function") {
-            throw new Error(`${objectName} must be a string, Blob, ArrayBuffer, ArrayBufferView, ReadableStream, or () => ReadableStream.`);
+    };
+    exports2.BlobChangeLeaseHeaders = {
+      serializedName: "Blob_changeLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobChangeLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
         }
       }
-      return value;
-    }
-    function serializeEnumType(objectName, allowedValues, value) {
-      if (!allowedValues) {
-        throw new Error(`Please provide a set of allowedValues to validate ${objectName} as an Enum Type.`);
-      }
-      const isPresent = allowedValues.some((item) => {
-        if (typeof item.valueOf() === "string") {
-          return item.toLowerCase() === value.toLowerCase();
+    };
+    exports2.BlobChangeLeaseExceptionHeaders = {
+      serializedName: "Blob_changeLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobChangeLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return item === value;
-      });
-      if (!isPresent) {
-        throw new Error(`${value} is not a valid value for ${objectName}. The valid values are: ${JSON.stringify(allowedValues)}.`);
       }
-      return value;
-    }
-    function serializeByteArrayType(objectName, value) {
-      if (value !== void 0 && value !== null) {
-        if (!(value instanceof Uint8Array)) {
-          throw new Error(`${objectName} must be of type Uint8Array.`);
+    };
+    exports2.BlobBreakLeaseHeaders = {
+      serializedName: "Blob_breakLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobBreakLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseTime: {
+            serializedName: "x-ms-lease-time",
+            xmlName: "x-ms-lease-time",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-        value = base64.encodeByteArray(value);
       }
-      return value;
-    }
-    function serializeBase64UrlType(objectName, value) {
-      if (value !== void 0 && value !== null) {
-        if (!(value instanceof Uint8Array)) {
-          throw new Error(`${objectName} must be of type Uint8Array.`);
+    };
+    exports2.BlobBreakLeaseExceptionHeaders = {
+      serializedName: "Blob_breakLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobBreakLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        value = bufferToBase64Url(value);
       }
-      return value;
-    }
-    function serializeDateTypes(typeName, value, objectName) {
-      if (value !== void 0 && value !== null) {
-        if (typeName.match(/^Date$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
-          }
-          value = value instanceof Date ? value.toISOString().substring(0, 10) : new Date(value).toISOString().substring(0, 10);
-        } else if (typeName.match(/^DateTime$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
-          }
-          value = value instanceof Date ? value.toISOString() : new Date(value).toISOString();
-        } else if (typeName.match(/^DateTimeRfc1123$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123 format.`);
-          }
-          value = value instanceof Date ? value.toUTCString() : new Date(value).toUTCString();
-        } else if (typeName.match(/^UnixTime$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123/ISO8601 format for it to be serialized in UnixTime/Epoch format.`);
-          }
-          value = dateToUnixTime(value);
-        } else if (typeName.match(/^TimeSpan$/i) !== null) {
-          if (!(0, utils_js_1.isDuration)(value)) {
-            throw new Error(`${objectName} must be a string in ISO 8601 format. Instead was "${value}".`);
+    };
+    exports2.BlobCreateSnapshotHeaders = {
+      serializedName: "Blob_createSnapshotHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCreateSnapshotHeaders",
+        modelProperties: {
+          snapshot: {
+            serializedName: "x-ms-snapshot",
+            xmlName: "x-ms-snapshot",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      return value;
-    }
-    function serializeSequenceType(serializer, mapper, object, objectName, isXml, options) {
-      if (!Array.isArray(object)) {
-        throw new Error(`${objectName} must be of type Array.`);
-      }
-      let elementType = mapper.type.element;
-      if (!elementType || typeof elementType !== "object") {
-        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}.`);
-      }
-      if (elementType.type.name === "Composite" && elementType.type.className) {
-        elementType = serializer.modelMappers[elementType.type.className] ?? elementType;
-      }
-      const tempArray = [];
-      for (let i = 0; i < object.length; i++) {
-        const serializedValue = serializer.serialize(elementType, object[i], objectName, options);
-        if (isXml && elementType.xmlNamespace) {
-          const xmlnsKey = elementType.xmlNamespacePrefix ? `xmlns:${elementType.xmlNamespacePrefix}` : "xmlns";
-          if (elementType.type.name === "Composite") {
-            tempArray[i] = { ...serializedValue };
-            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
-          } else {
-            tempArray[i] = {};
-            tempArray[i][options.xml.xmlCharKey] = serializedValue;
-            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
+    };
+    exports2.BlobCreateSnapshotExceptionHeaders = {
+      serializedName: "Blob_createSnapshotExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCreateSnapshotExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          tempArray[i] = serializedValue;
         }
       }
-      return tempArray;
-    }
-    function serializeDictionaryType(serializer, mapper, object, objectName, isXml, options) {
-      if (typeof object !== "object") {
-        throw new Error(`${objectName} must be of type object.`);
-      }
-      const valueType = mapper.type.value;
-      if (!valueType || typeof valueType !== "object") {
-        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}.`);
-      }
-      const tempDictionary = {};
-      for (const key of Object.keys(object)) {
-        const serializedValue = serializer.serialize(valueType, object[key], objectName, options);
-        tempDictionary[key] = getXmlObjectValue(valueType, serializedValue, isXml, options);
-      }
-      if (isXml && mapper.xmlNamespace) {
-        const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
-        const result = tempDictionary;
-        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: mapper.xmlNamespace };
-        return result;
-      }
-      return tempDictionary;
-    }
-    function resolveAdditionalProperties(serializer, mapper, objectName) {
-      const additionalProperties = mapper.type.additionalProperties;
-      if (!additionalProperties && mapper.type.className) {
-        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
-        return modelMapper?.type.additionalProperties;
-      }
-      return additionalProperties;
-    }
-    function resolveReferencedMapper(serializer, mapper, objectName) {
-      const className = mapper.type.className;
-      if (!className) {
-        throw new Error(`Class name for model "${objectName}" is not provided in the mapper "${JSON.stringify(mapper, void 0, 2)}".`);
-      }
-      return serializer.modelMappers[className];
-    }
-    function resolveModelProperties(serializer, mapper, objectName) {
-      let modelProps = mapper.type.modelProperties;
-      if (!modelProps) {
-        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
-        if (!modelMapper) {
-          throw new Error(`mapper() cannot be null or undefined for model "${mapper.type.className}".`);
-        }
-        modelProps = modelMapper?.type.modelProperties;
-        if (!modelProps) {
-          throw new Error(`modelProperties cannot be null or undefined in the mapper "${JSON.stringify(modelMapper)}" of type "${mapper.type.className}" for object "${objectName}".`);
+    };
+    exports2.BlobStartCopyFromURLHeaders = {
+      serializedName: "Blob_startCopyFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobStartCopyFromURLHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return modelProps;
-    }
-    function serializeCompositeType(serializer, mapper, object, objectName, isXml, options) {
-      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
-        mapper = getPolymorphicMapper(serializer, mapper, object, "clientName");
-      }
-      if (object !== void 0 && object !== null) {
-        const payload = {};
-        const modelProps = resolveModelProperties(serializer, mapper, objectName);
-        for (const key of Object.keys(modelProps)) {
-          const propertyMapper = modelProps[key];
-          if (propertyMapper.readOnly) {
-            continue;
-          }
-          let propName;
-          let parentObject = payload;
-          if (serializer.isXML) {
-            if (propertyMapper.xmlIsWrapped) {
-              propName = propertyMapper.xmlName;
-            } else {
-              propName = propertyMapper.xmlElementName || propertyMapper.xmlName;
+    };
+    exports2.BlobStartCopyFromURLExceptionHeaders = {
+      serializedName: "Blob_startCopyFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobStartCopyFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-          } else {
-            const paths = splitSerializeName(propertyMapper.serializedName);
-            propName = paths.pop();
-            for (const pathName of paths) {
-              const childObject = parentObject[pathName];
-              if ((childObject === void 0 || childObject === null) && (object[key] !== void 0 && object[key] !== null || propertyMapper.defaultValue !== void 0)) {
-                parentObject[pathName] = {};
-              }
-              parentObject = parentObject[pathName];
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
             }
           }
-          if (parentObject !== void 0 && parentObject !== null) {
-            if (isXml && mapper.xmlNamespace) {
-              const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
-              parentObject[interfaces_js_1.XML_ATTRKEY] = {
-                ...parentObject[interfaces_js_1.XML_ATTRKEY],
-                [xmlnsKey]: mapper.xmlNamespace
-              };
+        }
+      }
+    };
+    exports2.BlobCopyFromURLHeaders = {
+      serializedName: "Blob_copyFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCopyFromURLHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-            const propertyObjectName = propertyMapper.serializedName !== "" ? objectName + "." + propertyMapper.serializedName : objectName;
-            let toSerialize = object[key];
-            const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
-            if (polymorphicDiscriminator && polymorphicDiscriminator.clientName === key && (toSerialize === void 0 || toSerialize === null)) {
-              toSerialize = mapper.serializedName;
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
             }
-            const serializedValue = serializer.serialize(propertyMapper, toSerialize, propertyObjectName, options);
-            if (serializedValue !== void 0 && propName !== void 0 && propName !== null) {
-              const value = getXmlObjectValue(propertyMapper, serializedValue, isXml, options);
-              if (isXml && propertyMapper.xmlIsAttribute) {
-                parentObject[interfaces_js_1.XML_ATTRKEY] = parentObject[interfaces_js_1.XML_ATTRKEY] || {};
-                parentObject[interfaces_js_1.XML_ATTRKEY][propName] = serializedValue;
-              } else if (isXml && propertyMapper.xmlIsWrapped) {
-                parentObject[propName] = { [propertyMapper.xmlElementName]: value };
-              } else {
-                parentObject[propName] = value;
-              }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            defaultValue: "success",
+            isConstant: true,
+            serializedName: "x-ms-copy-status",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
-        const additionalPropertiesMapper = resolveAdditionalProperties(serializer, mapper, objectName);
-        if (additionalPropertiesMapper) {
-          const propNames = Object.keys(modelProps);
-          for (const clientPropName in object) {
-            const isAdditionalProperty = propNames.every((pn) => pn !== clientPropName);
-            if (isAdditionalProperty) {
-              payload[clientPropName] = serializer.serialize(additionalPropertiesMapper, object[clientPropName], objectName + '["' + clientPropName + '"]', options);
+      }
+    };
+    exports2.BlobCopyFromURLExceptionHeaders = {
+      serializedName: "Blob_copyFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCopyFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
             }
           }
         }
-        return payload;
-      }
-      return object;
-    }
-    function getXmlObjectValue(propertyMapper, serializedValue, isXml, options) {
-      if (!isXml || !propertyMapper.xmlNamespace) {
-        return serializedValue;
       }
-      const xmlnsKey = propertyMapper.xmlNamespacePrefix ? `xmlns:${propertyMapper.xmlNamespacePrefix}` : "xmlns";
-      const xmlNamespace = { [xmlnsKey]: propertyMapper.xmlNamespace };
-      if (["Composite"].includes(propertyMapper.type.name)) {
-        if (serializedValue[interfaces_js_1.XML_ATTRKEY]) {
-          return serializedValue;
-        } else {
-          const result2 = { ...serializedValue };
-          result2[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
-          return result2;
+    };
+    exports2.BlobAbortCopyFromURLHeaders = {
+      serializedName: "Blob_abortCopyFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAbortCopyFromURLHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      const result = {};
-      result[options.xml.xmlCharKey] = serializedValue;
-      result[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
-      return result;
-    }
-    function isSpecialXmlProperty(propertyName, options) {
-      return [interfaces_js_1.XML_ATTRKEY, options.xml.xmlCharKey].includes(propertyName);
-    }
-    function deserializeCompositeType(serializer, mapper, responseBody, objectName, options) {
-      const xmlCharKey = options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY;
-      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
-        mapper = getPolymorphicMapper(serializer, mapper, responseBody, "serializedName");
-      }
-      const modelProps = resolveModelProperties(serializer, mapper, objectName);
-      let instance = {};
-      const handledPropertyNames = [];
-      for (const key of Object.keys(modelProps)) {
-        const propertyMapper = modelProps[key];
-        const paths = splitSerializeName(modelProps[key].serializedName);
-        handledPropertyNames.push(paths[0]);
-        const { serializedName, xmlName, xmlElementName } = propertyMapper;
-        let propertyObjectName = objectName;
-        if (serializedName !== "" && serializedName !== void 0) {
-          propertyObjectName = objectName + "." + serializedName;
-        }
-        const headerCollectionPrefix = propertyMapper.headerCollectionPrefix;
-        if (headerCollectionPrefix) {
-          const dictionary = {};
-          for (const headerKey of Object.keys(responseBody)) {
-            if (headerKey.startsWith(headerCollectionPrefix)) {
-              dictionary[headerKey.substring(headerCollectionPrefix.length)] = serializer.deserialize(propertyMapper.type.value, responseBody[headerKey], propertyObjectName, options);
+    };
+    exports2.BlobAbortCopyFromURLExceptionHeaders = {
+      serializedName: "Blob_abortCopyFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAbortCopyFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            handledPropertyNames.push(headerKey);
           }
-          instance[key] = dictionary;
-        } else if (serializer.isXML) {
-          if (propertyMapper.xmlIsAttribute && responseBody[interfaces_js_1.XML_ATTRKEY]) {
-            instance[key] = serializer.deserialize(propertyMapper, responseBody[interfaces_js_1.XML_ATTRKEY][xmlName], propertyObjectName, options);
-          } else if (propertyMapper.xmlIsMsText) {
-            if (responseBody[xmlCharKey] !== void 0) {
-              instance[key] = responseBody[xmlCharKey];
-            } else if (typeof responseBody === "string") {
-              instance[key] = responseBody;
+        }
+      }
+    };
+    exports2.BlobSetTierHeaders = {
+      serializedName: "Blob_setTierHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTierHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
             }
-          } else {
-            const propertyName = xmlElementName || xmlName || serializedName;
-            if (propertyMapper.xmlIsWrapped) {
-              const wrapped = responseBody[xmlName];
-              const elementList = wrapped?.[xmlElementName] ?? [];
-              instance[key] = serializer.deserialize(propertyMapper, elementList, propertyObjectName, options);
-              handledPropertyNames.push(xmlName);
-            } else {
-              const property = responseBody[propertyName];
-              instance[key] = serializer.deserialize(propertyMapper, property, propertyObjectName, options);
-              handledPropertyNames.push(propertyName);
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
             }
-          }
-        } else {
-          let propertyInstance;
-          let res = responseBody;
-          let steps = 0;
-          for (const item of paths) {
-            if (!res)
-              break;
-            steps++;
-            res = res[item];
-          }
-          if (res === null && steps < paths.length) {
-            res = void 0;
-          }
-          propertyInstance = res;
-          const polymorphicDiscriminator = mapper.type.polymorphicDiscriminator;
-          if (polymorphicDiscriminator && key === polymorphicDiscriminator.clientName && (propertyInstance === void 0 || propertyInstance === null)) {
-            propertyInstance = mapper.serializedName;
-          }
-          let serializedValue;
-          if (Array.isArray(responseBody[key]) && modelProps[key].serializedName === "") {
-            propertyInstance = responseBody[key];
-            const arrayInstance = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
-            for (const [k, v] of Object.entries(instance)) {
-              if (!Object.prototype.hasOwnProperty.call(arrayInstance, k)) {
-                arrayInstance[k] = v;
-              }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            instance = arrayInstance;
-          } else if (propertyInstance !== void 0 || propertyMapper.defaultValue !== void 0) {
-            serializedValue = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
-            instance[key] = serializedValue;
           }
         }
       }
-      const additionalPropertiesMapper = mapper.type.additionalProperties;
-      if (additionalPropertiesMapper) {
-        const isAdditionalProperty = (responsePropName) => {
-          for (const clientPropName in modelProps) {
-            const paths = splitSerializeName(modelProps[clientPropName].serializedName);
-            if (paths[0] === responsePropName) {
-              return false;
+    };
+    exports2.BlobSetTierExceptionHeaders = {
+      serializedName: "Blob_setTierExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTierExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          return true;
-        };
-        for (const responsePropName in responseBody) {
-          if (isAdditionalProperty(responsePropName)) {
-            instance[responsePropName] = serializer.deserialize(additionalPropertiesMapper, responseBody[responsePropName], objectName + '["' + responsePropName + '"]', options);
-          }
-        }
-      } else if (responseBody && !options.ignoreUnknownProperties) {
-        for (const key of Object.keys(responseBody)) {
-          if (instance[key] === void 0 && !handledPropertyNames.includes(key) && !isSpecialXmlProperty(key, options)) {
-            instance[key] = responseBody[key];
-          }
-        }
-      }
-      return instance;
-    }
-    function deserializeDictionaryType(serializer, mapper, responseBody, objectName, options) {
-      const value = mapper.type.value;
-      if (!value || typeof value !== "object") {
-        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}`);
-      }
-      if (responseBody) {
-        const tempDictionary = {};
-        for (const key of Object.keys(responseBody)) {
-          tempDictionary[key] = serializer.deserialize(value, responseBody[key], objectName, options);
         }
-        return tempDictionary;
-      }
-      return responseBody;
-    }
-    function deserializeSequenceType(serializer, mapper, responseBody, objectName, options) {
-      let element = mapper.type.element;
-      if (!element || typeof element !== "object") {
-        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}`);
       }
-      if (responseBody) {
-        if (!Array.isArray(responseBody)) {
-          responseBody = [responseBody];
-        }
-        if (element.type.name === "Composite" && element.type.className) {
-          element = serializer.modelMappers[element.type.className] ?? element;
-        }
-        const tempArray = [];
-        for (let i = 0; i < responseBody.length; i++) {
-          tempArray[i] = serializer.deserialize(element, responseBody[i], `${objectName}[${i}]`, options);
+    };
+    exports2.BlobGetAccountInfoHeaders = {
+      serializedName: "Blob_getAccountInfoHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetAccountInfoHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          skuName: {
+            serializedName: "x-ms-sku-name",
+            xmlName: "x-ms-sku-name",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Standard_LRS",
+                "Standard_GRS",
+                "Standard_RAGRS",
+                "Standard_ZRS",
+                "Premium_LRS"
+              ]
+            }
+          },
+          accountKind: {
+            serializedName: "x-ms-account-kind",
+            xmlName: "x-ms-account-kind",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Storage",
+                "BlobStorage",
+                "StorageV2",
+                "FileStorage",
+                "BlockBlobStorage"
+              ]
+            }
+          },
+          isHierarchicalNamespaceEnabled: {
+            serializedName: "x-ms-is-hns-enabled",
+            xmlName: "x-ms-is-hns-enabled",
+            type: {
+              name: "Boolean"
+            }
+          }
         }
-        return tempArray;
       }
-      return responseBody;
-    }
-    function getIndexDiscriminator(discriminators, discriminatorValue, typeName) {
-      const typeNamesToCheck = [typeName];
-      while (typeNamesToCheck.length) {
-        const currentName = typeNamesToCheck.shift();
-        const indexDiscriminator = discriminatorValue === currentName ? discriminatorValue : currentName + "." + discriminatorValue;
-        if (Object.prototype.hasOwnProperty.call(discriminators, indexDiscriminator)) {
-          return discriminators[indexDiscriminator];
-        } else {
-          for (const [name, mapper] of Object.entries(discriminators)) {
-            if (name.startsWith(currentName + ".") && mapper.type.uberParent === currentName && mapper.type.className) {
-              typeNamesToCheck.push(mapper.type.className);
+    };
+    exports2.BlobGetAccountInfoExceptionHeaders = {
+      serializedName: "Blob_getAccountInfoExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetAccountInfoExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
       }
-      return void 0;
-    }
-    function getPolymorphicMapper(serializer, mapper, object, polymorphicPropertyName) {
-      const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
-      if (polymorphicDiscriminator) {
-        let discriminatorName = polymorphicDiscriminator[polymorphicPropertyName];
-        if (discriminatorName) {
-          if (polymorphicPropertyName === "serializedName") {
-            discriminatorName = discriminatorName.replace(/\\/gi, "");
-          }
-          const discriminatorValue = object[discriminatorName];
-          const typeName = mapper.type.uberParent ?? mapper.type.className;
-          if (typeof discriminatorValue === "string" && typeName) {
-            const polymorphicMapper = getIndexDiscriminator(serializer.modelMappers.discriminators, discriminatorValue, typeName);
-            if (polymorphicMapper) {
-              mapper = polymorphicMapper;
+    };
+    exports2.BlobQueryHeaders = {
+      serializedName: "Blob_queryHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobQueryHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          contentLength: {
+            serializedName: "content-length",
+            xmlName: "content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          contentRange: {
+            serializedName: "content-range",
+            xmlName: "content-range",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentEncoding: {
+            serializedName: "content-encoding",
+            xmlName: "content-encoding",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "cache-control",
+            xmlName: "cache-control",
+            type: {
+              name: "String"
+            }
+          },
+          contentDisposition: {
+            serializedName: "content-disposition",
+            xmlName: "content-disposition",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "content-language",
+            xmlName: "content-language",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          blobType: {
+            serializedName: "x-ms-blob-type",
+            xmlName: "x-ms-blob-type",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          copyCompletionTime: {
+            serializedName: "x-ms-copy-completion-time",
+            xmlName: "x-ms-copy-completion-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "x-ms-copy-status-description",
+            xmlName: "x-ms-copy-status-description",
+            type: {
+              name: "String"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "x-ms-copy-progress",
+            xmlName: "x-ms-copy-progress",
+            type: {
+              name: "String"
+            }
+          },
+          copySource: {
+            serializedName: "x-ms-copy-source",
+            xmlName: "x-ms-copy-source",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          acceptRanges: {
+            serializedName: "accept-ranges",
+            xmlName: "accept-ranges",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-server-encrypted",
+            xmlName: "x-ms-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentMD5: {
+            serializedName: "x-ms-blob-content-md5",
+            xmlName: "x-ms-blob-content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          contentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
             }
           }
         }
       }
-      return mapper;
-    }
-    function getPolymorphicDiscriminatorRecursively(serializer, mapper) {
-      return mapper.type.polymorphicDiscriminator || getPolymorphicDiscriminatorSafely(serializer, mapper.type.uberParent) || getPolymorphicDiscriminatorSafely(serializer, mapper.type.className);
-    }
-    function getPolymorphicDiscriminatorSafely(serializer, typeName) {
-      return typeName && serializer.modelMappers[typeName] && serializer.modelMappers[typeName].type.polymorphicDiscriminator;
-    }
-    exports2.MapperTypeNames = {
-      Base64Url: "Base64Url",
-      Boolean: "Boolean",
-      ByteArray: "ByteArray",
-      Composite: "Composite",
-      Date: "Date",
-      DateTime: "DateTime",
-      DateTimeRfc1123: "DateTimeRfc1123",
-      Dictionary: "Dictionary",
-      Enum: "Enum",
-      Number: "Number",
-      Object: "Object",
-      Sequence: "Sequence",
-      String: "String",
-      Stream: "Stream",
-      TimeSpan: "TimeSpan",
-      UnixTime: "UnixTime"
-    };
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/state.js
-var require_state2 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/state.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.state = void 0;
-    exports2.state = {
-      operationRequestMap: /* @__PURE__ */ new WeakMap()
     };
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/operationHelpers.js
-var require_operationHelpers = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/operationHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getOperationArgumentValueFromParameter = getOperationArgumentValueFromParameter;
-    exports2.getOperationRequestInfo = getOperationRequestInfo;
-    var state_js_1 = require_state2();
-    function getOperationArgumentValueFromParameter(operationArguments, parameter, fallbackObject) {
-      let parameterPath = parameter.parameterPath;
-      const parameterMapper = parameter.mapper;
-      let value;
-      if (typeof parameterPath === "string") {
-        parameterPath = [parameterPath];
+    exports2.BlobQueryExceptionHeaders = {
+      serializedName: "Blob_queryExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobQueryExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      if (Array.isArray(parameterPath)) {
-        if (parameterPath.length > 0) {
-          if (parameterMapper.isConstant) {
-            value = parameterMapper.defaultValue;
-          } else {
-            let propertySearchResult = getPropertyFromParameterPath(operationArguments, parameterPath);
-            if (!propertySearchResult.propertyFound && fallbackObject) {
-              propertySearchResult = getPropertyFromParameterPath(fallbackObject, parameterPath);
+    };
+    exports2.BlobGetTagsHeaders = {
+      serializedName: "Blob_getTagsHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetTagsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
             }
-            let useDefaultValue = false;
-            if (!propertySearchResult.propertyFound) {
-              useDefaultValue = parameterMapper.required || parameterPath[0] === "options" && parameterPath.length === 2;
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            value = useDefaultValue ? parameterMapper.defaultValue : propertySearchResult.propertyValue;
           }
         }
-      } else {
-        if (parameterMapper.required) {
-          value = {};
-        }
-        for (const propertyName in parameterPath) {
-          const propertyMapper = parameterMapper.type.modelProperties[propertyName];
-          const propertyPath = parameterPath[propertyName];
-          const propertyValue = getOperationArgumentValueFromParameter(operationArguments, {
-            parameterPath: propertyPath,
-            mapper: propertyMapper
-          }, fallbackObject);
-          if (propertyValue !== void 0) {
-            if (!value) {
-              value = {};
+      }
+    };
+    exports2.BlobGetTagsExceptionHeaders = {
+      serializedName: "Blob_getTagsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetTagsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            value[propertyName] = propertyValue;
           }
         }
       }
-      return value;
-    }
-    function getPropertyFromParameterPath(parent, parameterPath) {
-      const result = { propertyFound: false };
-      let i = 0;
-      for (; i < parameterPath.length; ++i) {
-        const parameterPathPart = parameterPath[i];
-        if (parent && parameterPathPart in parent) {
-          parent = parent[parameterPathPart];
-        } else {
-          break;
+    };
+    exports2.BlobSetTagsHeaders = {
+      serializedName: "Blob_setTagsHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTagsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      if (i === parameterPath.length) {
-        result.propertyValue = parent;
-        result.propertyFound = true;
-      }
-      return result;
-    }
-    var originalRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
-    function hasOriginalRequest(request2) {
-      return originalRequestSymbol in request2;
-    }
-    function getOperationRequestInfo(request2) {
-      if (hasOriginalRequest(request2)) {
-        return getOperationRequestInfo(request2[originalRequestSymbol]);
-      }
-      let info7 = state_js_1.state.operationRequestMap.get(request2);
-      if (!info7) {
-        info7 = {};
-        state_js_1.state.operationRequestMap.set(request2, info7);
-      }
-      return info7;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js
-var require_deserializationPolicy = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.deserializationPolicyName = void 0;
-    exports2.deserializationPolicy = deserializationPolicy;
-    var interfaces_js_1 = require_interfaces();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var serializer_js_1 = require_serializer();
-    var operationHelpers_js_1 = require_operationHelpers();
-    var defaultJsonContentTypes = ["application/json", "text/json"];
-    var defaultXmlContentTypes = ["application/xml", "application/atom+xml"];
-    exports2.deserializationPolicyName = "deserializationPolicy";
-    function deserializationPolicy(options = {}) {
-      const jsonContentTypes = options.expectedContentTypes?.json ?? defaultJsonContentTypes;
-      const xmlContentTypes = options.expectedContentTypes?.xml ?? defaultXmlContentTypes;
-      const parseXML = options.parseXML;
-      const serializerOptions = options.serializerOptions;
-      const updatedOptions = {
-        xml: {
-          rootName: serializerOptions?.xml.rootName ?? "",
-          includeRoot: serializerOptions?.xml.includeRoot ?? false,
-          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
-        }
-      };
-      return {
-        name: exports2.deserializationPolicyName,
-        async sendRequest(request2, next) {
-          const response = await next(request2);
-          return deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, updatedOptions, parseXML);
-        }
-      };
-    }
-    function getOperationResponseMap(parsedResponse) {
-      let result;
-      const request2 = parsedResponse.request;
-      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-      const operationSpec = operationInfo?.operationSpec;
-      if (operationSpec) {
-        if (!operationInfo?.operationResponseGetter) {
-          result = operationSpec.responses[parsedResponse.status];
-        } else {
-          result = operationInfo?.operationResponseGetter(operationSpec, parsedResponse);
+    };
+    exports2.BlobSetTagsExceptionHeaders = {
+      serializedName: "Blob_setTagsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTagsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return result;
-    }
-    function shouldDeserializeResponse(parsedResponse) {
-      const request2 = parsedResponse.request;
-      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-      const shouldDeserialize = operationInfo?.shouldDeserialize;
-      let result;
-      if (shouldDeserialize === void 0) {
-        result = true;
-      } else if (typeof shouldDeserialize === "boolean") {
-        result = shouldDeserialize;
-      } else {
-        result = shouldDeserialize(parsedResponse);
-      }
-      return result;
-    }
-    async function deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, options, parseXML) {
-      const parsedResponse = await parse2(jsonContentTypes, xmlContentTypes, response, options, parseXML);
-      if (!shouldDeserializeResponse(parsedResponse)) {
-        return parsedResponse;
-      }
-      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(parsedResponse.request);
-      const operationSpec = operationInfo?.operationSpec;
-      if (!operationSpec || !operationSpec.responses) {
-        return parsedResponse;
-      }
-      const responseSpec = getOperationResponseMap(parsedResponse);
-      const { error: error3, shouldReturnResponse } = handleErrorResponse(parsedResponse, operationSpec, responseSpec, options);
-      if (error3) {
-        throw error3;
-      } else if (shouldReturnResponse) {
-        return parsedResponse;
-      }
-      if (responseSpec) {
-        if (responseSpec.bodyMapper) {
-          let valueToDeserialize = parsedResponse.parsedBody;
-          if (operationSpec.isXML && responseSpec.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
-            valueToDeserialize = typeof valueToDeserialize === "object" ? valueToDeserialize[responseSpec.bodyMapper.xmlElementName] : [];
-          }
-          try {
-            parsedResponse.parsedBody = operationSpec.serializer.deserialize(responseSpec.bodyMapper, valueToDeserialize, "operationRes.parsedBody", options);
-          } catch (deserializeError) {
-            const restError = new core_rest_pipeline_1.RestError(`Error ${deserializeError} occurred in deserializing the responseBody - ${parsedResponse.bodyAsText}`, {
-              statusCode: parsedResponse.status,
-              request: parsedResponse.request,
-              response: parsedResponse
-            });
-            throw restError;
+    };
+    exports2.PageBlobCreateHeaders = {
+      serializedName: "PageBlob_createHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCreateHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else if (operationSpec.httpMethod === "HEAD") {
-          parsedResponse.parsedBody = response.status >= 200 && response.status < 300;
-        }
-        if (responseSpec.headersMapper) {
-          parsedResponse.parsedHeaders = operationSpec.serializer.deserialize(responseSpec.headersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders", { xml: {}, ignoreUnknownProperties: true });
         }
       }
-      return parsedResponse;
-    }
-    function isOperationSpecEmpty(operationSpec) {
-      const expectedStatusCodes = Object.keys(operationSpec.responses);
-      return expectedStatusCodes.length === 0 || expectedStatusCodes.length === 1 && expectedStatusCodes[0] === "default";
-    }
-    function handleErrorResponse(parsedResponse, operationSpec, responseSpec, options) {
-      const isSuccessByStatus = 200 <= parsedResponse.status && parsedResponse.status < 300;
-      const isExpectedStatusCode = isOperationSpecEmpty(operationSpec) ? isSuccessByStatus : !!responseSpec;
-      if (isExpectedStatusCode) {
-        if (responseSpec) {
-          if (!responseSpec.isError) {
-            return { error: null, shouldReturnResponse: false };
+    };
+    exports2.PageBlobCreateExceptionHeaders = {
+      serializedName: "PageBlob_createExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCreateExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          return { error: null, shouldReturnResponse: false };
         }
       }
-      const errorResponseSpec = responseSpec ?? operationSpec.responses.default;
-      const initialErrorMessage = parsedResponse.request.streamResponseStatusCodes?.has(parsedResponse.status) ? `Unexpected status code: ${parsedResponse.status}` : parsedResponse.bodyAsText;
-      const error3 = new core_rest_pipeline_1.RestError(initialErrorMessage, {
-        statusCode: parsedResponse.status,
-        request: parsedResponse.request,
-        response: parsedResponse
-      });
-      if (!errorResponseSpec && !(parsedResponse.parsedBody?.error?.code && parsedResponse.parsedBody?.error?.message)) {
-        throw error3;
-      }
-      const defaultBodyMapper = errorResponseSpec?.bodyMapper;
-      const defaultHeadersMapper = errorResponseSpec?.headersMapper;
-      try {
-        if (parsedResponse.parsedBody) {
-          const parsedBody = parsedResponse.parsedBody;
-          let deserializedError;
-          if (defaultBodyMapper) {
-            let valueToDeserialize = parsedBody;
-            if (operationSpec.isXML && defaultBodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
-              valueToDeserialize = [];
-              const elementName = defaultBodyMapper.xmlElementName;
-              if (typeof parsedBody === "object" && elementName) {
-                valueToDeserialize = parsedBody[elementName];
-              }
+    };
+    exports2.PageBlobUploadPagesHeaders = {
+      serializedName: "PageBlob_uploadPagesHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            deserializedError = operationSpec.serializer.deserialize(defaultBodyMapper, valueToDeserialize, "error.response.parsedBody", options);
-          }
-          const internalError = parsedBody.error || deserializedError || parsedBody;
-          error3.code = internalError.code;
-          if (internalError.message) {
-            error3.message = internalError.message;
-          }
-          if (defaultBodyMapper) {
-            error3.response.parsedBody = deserializedError;
           }
         }
-        if (parsedResponse.headers && defaultHeadersMapper) {
-          error3.response.parsedHeaders = operationSpec.serializer.deserialize(defaultHeadersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders");
-        }
-      } catch (defaultError) {
-        error3.message = `Error "${defaultError.message}" occurred in deserializing the responseBody - "${parsedResponse.bodyAsText}" for the default response.`;
       }
-      return { error: error3, shouldReturnResponse: false };
-    }
-    async function parse2(jsonContentTypes, xmlContentTypes, operationResponse, opts, parseXML) {
-      if (!operationResponse.request.streamResponseStatusCodes?.has(operationResponse.status) && operationResponse.bodyAsText) {
-        const text = operationResponse.bodyAsText;
-        const contentType = operationResponse.headers.get("Content-Type") || "";
-        const contentComponents = !contentType ? [] : contentType.split(";").map((component) => component.toLowerCase());
-        try {
-          if (contentComponents.length === 0 || contentComponents.some((component) => jsonContentTypes.indexOf(component) !== -1)) {
-            operationResponse.parsedBody = JSON.parse(text);
-            return operationResponse;
-          } else if (contentComponents.some((component) => xmlContentTypes.indexOf(component) !== -1)) {
-            if (!parseXML) {
-              throw new Error("Parsing XML not supported.");
+    };
+    exports2.PageBlobUploadPagesExceptionHeaders = {
+      serializedName: "PageBlob_uploadPagesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            const body = await parseXML(text, opts.xml);
-            operationResponse.parsedBody = body;
-            return operationResponse;
           }
-        } catch (err) {
-          const msg = `Error "${err}" occurred while parsing the response body - ${operationResponse.bodyAsText}.`;
-          const errCode = err.code || core_rest_pipeline_1.RestError.PARSE_ERROR;
-          const e = new core_rest_pipeline_1.RestError(msg, {
-            code: errCode,
-            statusCode: operationResponse.status,
-            request: operationResponse.request,
-            response: operationResponse
-          });
-          throw e;
-        }
-      }
-      return operationResponse;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js
-var require_interfaceHelpers = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getStreamingResponseStatusCodes = getStreamingResponseStatusCodes;
-    exports2.getPathStringFromParameter = getPathStringFromParameter;
-    var serializer_js_1 = require_serializer();
-    function getStreamingResponseStatusCodes(operationSpec) {
-      const result = /* @__PURE__ */ new Set();
-      for (const statusCode in operationSpec.responses) {
-        const operationResponse = operationSpec.responses[statusCode];
-        if (operationResponse.bodyMapper && operationResponse.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Stream) {
-          result.add(Number(statusCode));
         }
       }
-      return result;
-    }
-    function getPathStringFromParameter(parameter) {
-      const { parameterPath, mapper } = parameter;
-      let result;
-      if (typeof parameterPath === "string") {
-        result = parameterPath;
-      } else if (Array.isArray(parameterPath)) {
-        result = parameterPath.join(".");
-      } else {
-        result = mapper.serializedName;
-      }
-      return result;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js
-var require_serializationPolicy = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.serializationPolicyName = void 0;
-    exports2.serializationPolicy = serializationPolicy;
-    exports2.serializeHeaders = serializeHeaders;
-    exports2.serializeRequestBody = serializeRequestBody;
-    var interfaces_js_1 = require_interfaces();
-    var operationHelpers_js_1 = require_operationHelpers();
-    var serializer_js_1 = require_serializer();
-    var interfaceHelpers_js_1 = require_interfaceHelpers();
-    exports2.serializationPolicyName = "serializationPolicy";
-    function serializationPolicy(options = {}) {
-      const stringifyXML = options.stringifyXML;
-      return {
-        name: exports2.serializationPolicyName,
-        async sendRequest(request2, next) {
-          const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-          const operationSpec = operationInfo?.operationSpec;
-          const operationArguments = operationInfo?.operationArguments;
-          if (operationSpec && operationArguments) {
-            serializeHeaders(request2, operationArguments, operationSpec);
-            serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML);
-          }
-          return next(request2);
-        }
-      };
-    }
-    function serializeHeaders(request2, operationArguments, operationSpec) {
-      if (operationSpec.headerParameters) {
-        for (const headerParameter of operationSpec.headerParameters) {
-          let headerValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, headerParameter);
-          if (headerValue !== null && headerValue !== void 0 || headerParameter.mapper.required) {
-            headerValue = operationSpec.serializer.serialize(headerParameter.mapper, headerValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter));
-            const headerCollectionPrefix = headerParameter.mapper.headerCollectionPrefix;
-            if (headerCollectionPrefix) {
-              for (const key of Object.keys(headerValue)) {
-                request2.headers.set(headerCollectionPrefix + key, headerValue[key]);
-              }
-            } else {
-              request2.headers.set(headerParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter), headerValue);
+    };
+    exports2.PageBlobClearPagesHeaders = {
+      serializedName: "PageBlob_clearPagesHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobClearPagesHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
       }
-      const customHeaders = operationArguments.options?.requestOptions?.customHeaders;
-      if (customHeaders) {
-        for (const customHeaderName of Object.keys(customHeaders)) {
-          request2.headers.set(customHeaderName, customHeaders[customHeaderName]);
-        }
-      }
-    }
-    function serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML = function() {
-      throw new Error("XML serialization unsupported!");
-    }) {
-      const serializerOptions = operationArguments.options?.serializerOptions;
-      const updatedOptions = {
-        xml: {
-          rootName: serializerOptions?.xml.rootName ?? "",
-          includeRoot: serializerOptions?.xml.includeRoot ?? false,
-          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
-        }
-      };
-      const xmlCharKey = updatedOptions.xml.xmlCharKey;
-      if (operationSpec.requestBody && operationSpec.requestBody.mapper) {
-        request2.body = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, operationSpec.requestBody);
-        const bodyMapper = operationSpec.requestBody.mapper;
-        const { required, serializedName, xmlName, xmlElementName, xmlNamespace, xmlNamespacePrefix, nullable } = bodyMapper;
-        const typeName = bodyMapper.type.name;
-        try {
-          if (request2.body !== void 0 && request2.body !== null || nullable && request2.body === null || required) {
-            const requestBodyParameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(operationSpec.requestBody);
-            request2.body = operationSpec.serializer.serialize(bodyMapper, request2.body, requestBodyParameterPathString, updatedOptions);
-            const isStream = typeName === serializer_js_1.MapperTypeNames.Stream;
-            if (operationSpec.isXML) {
-              const xmlnsKey = xmlNamespacePrefix ? `xmlns:${xmlNamespacePrefix}` : "xmlns";
-              const value = getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, request2.body, updatedOptions);
-              if (typeName === serializer_js_1.MapperTypeNames.Sequence) {
-                request2.body = stringifyXML(prepareXMLRootList(value, xmlElementName || xmlName || serializedName, xmlnsKey, xmlNamespace), { rootName: xmlName || serializedName, xmlCharKey });
-              } else if (!isStream) {
-                request2.body = stringifyXML(value, {
-                  rootName: xmlName || serializedName,
-                  xmlCharKey
-                });
-              }
-            } else if (typeName === serializer_js_1.MapperTypeNames.String && (operationSpec.contentType?.match("text/plain") || operationSpec.mediaType === "text")) {
-              return;
-            } else if (!isStream) {
-              request2.body = JSON.stringify(request2.body);
+    };
+    exports2.PageBlobClearPagesExceptionHeaders = {
+      serializedName: "PageBlob_clearPagesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobClearPagesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-        } catch (error3) {
-          throw new Error(`Error "${error3.message}" occurred in serializing the payload - ${JSON.stringify(serializedName, void 0, "  ")}.`);
         }
-      } else if (operationSpec.formDataParameters && operationSpec.formDataParameters.length > 0) {
-        request2.formData = {};
-        for (const formDataParameter of operationSpec.formDataParameters) {
-          const formDataParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, formDataParameter);
-          if (formDataParameterValue !== void 0 && formDataParameterValue !== null) {
-            const formDataParameterPropertyName = formDataParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter);
-            request2.formData[formDataParameterPropertyName] = operationSpec.serializer.serialize(formDataParameter.mapper, formDataParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter), updatedOptions);
+      }
+    };
+    exports2.PageBlobUploadPagesFromURLHeaders = {
+      serializedName: "PageBlob_uploadPagesFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesFromURLHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-    }
-    function getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, serializedValue, options) {
-      if (xmlNamespace && !["Composite", "Sequence", "Dictionary"].includes(typeName)) {
-        const result = {};
-        result[options.xml.xmlCharKey] = serializedValue;
-        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: xmlNamespace };
-        return result;
-      }
-      return serializedValue;
-    }
-    function prepareXMLRootList(obj, elementName, xmlNamespaceKey, xmlNamespace) {
-      if (!Array.isArray(obj)) {
-        obj = [obj];
-      }
-      if (!xmlNamespaceKey || !xmlNamespace) {
-        return { [elementName]: obj };
-      }
-      const result = { [elementName]: obj };
-      result[interfaces_js_1.XML_ATTRKEY] = { [xmlNamespaceKey]: xmlNamespace };
-      return result;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/pipeline.js
-var require_pipeline3 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/pipeline.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createClientPipeline = createClientPipeline;
-    var deserializationPolicy_js_1 = require_deserializationPolicy();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var serializationPolicy_js_1 = require_serializationPolicy();
-    function createClientPipeline(options = {}) {
-      const pipeline = (0, core_rest_pipeline_1.createPipelineFromOptions)(options ?? {});
-      if (options.credentialOptions) {
-        pipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-          credential: options.credentialOptions.credential,
-          scopes: options.credentialOptions.credentialScopes
-        }));
-      }
-      pipeline.addPolicy((0, serializationPolicy_js_1.serializationPolicy)(options.serializationOptions), { phase: "Serialize" });
-      pipeline.addPolicy((0, deserializationPolicy_js_1.deserializationPolicy)(options.deserializationOptions), {
-        phase: "Deserialize"
-      });
-      return pipeline;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/httpClientCache.js
-var require_httpClientCache = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/httpClientCache.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var cachedHttpClient;
-    function getCachedDefaultHttpClient() {
-      if (!cachedHttpClient) {
-        cachedHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
-      }
-      return cachedHttpClient;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/urlHelpers.js
-var require_urlHelpers2 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/urlHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getRequestUrl = getRequestUrl;
-    exports2.appendQueryParams = appendQueryParams;
-    var operationHelpers_js_1 = require_operationHelpers();
-    var interfaceHelpers_js_1 = require_interfaceHelpers();
-    var CollectionFormatToDelimiterMap = {
-      CSV: ",",
-      SSV: " ",
-      Multi: "Multi",
-      TSV: "	",
-      Pipes: "|"
     };
-    function getRequestUrl(baseUri, operationSpec, operationArguments, fallbackObject) {
-      const urlReplacements = calculateUrlReplacements(operationSpec, operationArguments, fallbackObject);
-      let isAbsolutePath = false;
-      let requestUrl = replaceAll(baseUri, urlReplacements);
-      if (operationSpec.path) {
-        let path4 = replaceAll(operationSpec.path, urlReplacements);
-        if (operationSpec.path === "/{nextLink}" && path4.startsWith("/")) {
-          path4 = path4.substring(1);
-        }
-        if (isAbsoluteUrl(path4)) {
-          requestUrl = path4;
-          isAbsolutePath = true;
-        } else {
-          requestUrl = appendPath(requestUrl, path4);
+    exports2.PageBlobUploadPagesFromURLExceptionHeaders = {
+      serializedName: "PageBlob_uploadPagesFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
+          }
         }
       }
-      const { queryParams, sequenceParams } = calculateQueryParameters(operationSpec, operationArguments, fallbackObject);
-      requestUrl = appendQueryParams(requestUrl, queryParams, sequenceParams, isAbsolutePath);
-      return requestUrl;
-    }
-    function replaceAll(input, replacements) {
-      let result = input;
-      for (const [searchValue, replaceValue] of replacements) {
-        result = result.split(searchValue).join(replaceValue);
-      }
-      return result;
-    }
-    function calculateUrlReplacements(operationSpec, operationArguments, fallbackObject) {
-      const result = /* @__PURE__ */ new Map();
-      if (operationSpec.urlParameters?.length) {
-        for (const urlParameter of operationSpec.urlParameters) {
-          let urlParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, urlParameter, fallbackObject);
-          const parameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(urlParameter);
-          urlParameterValue = operationSpec.serializer.serialize(urlParameter.mapper, urlParameterValue, parameterPathString);
-          if (!urlParameter.skipEncoding) {
-            urlParameterValue = encodeURIComponent(urlParameterValue);
+    };
+    exports2.PageBlobGetPageRangesHeaders = {
+      serializedName: "PageBlob_getPageRangesHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentLength: {
+            serializedName: "x-ms-blob-content-length",
+            xmlName: "x-ms-blob-content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          result.set(`{${urlParameter.mapper.serializedName || parameterPathString}}`, urlParameterValue);
         }
       }
-      return result;
-    }
-    function isAbsoluteUrl(url) {
-      return url.includes("://");
-    }
-    function appendPath(url, pathToAppend) {
-      if (!pathToAppend) {
-        return url;
-      }
-      const parsedUrl = new URL(url);
-      let newPath = parsedUrl.pathname;
-      if (!newPath.endsWith("/")) {
-        newPath = `${newPath}/`;
-      }
-      if (pathToAppend.startsWith("/")) {
-        pathToAppend = pathToAppend.substring(1);
-      }
-      const searchStart = pathToAppend.indexOf("?");
-      if (searchStart !== -1) {
-        const path4 = pathToAppend.substring(0, searchStart);
-        const search = pathToAppend.substring(searchStart + 1);
-        newPath = newPath + path4;
-        if (search) {
-          parsedUrl.search = parsedUrl.search ? `${parsedUrl.search}&${search}` : search;
+    };
+    exports2.PageBlobGetPageRangesExceptionHeaders = {
+      serializedName: "PageBlob_getPageRangesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      } else {
-        newPath = newPath + pathToAppend;
       }
-      parsedUrl.pathname = newPath;
-      return parsedUrl.toString();
-    }
-    function calculateQueryParameters(operationSpec, operationArguments, fallbackObject) {
-      const result = /* @__PURE__ */ new Map();
-      const sequenceParams = /* @__PURE__ */ new Set();
-      if (operationSpec.queryParameters?.length) {
-        for (const queryParameter of operationSpec.queryParameters) {
-          if (queryParameter.mapper.type.name === "Sequence" && queryParameter.mapper.serializedName) {
-            sequenceParams.add(queryParameter.mapper.serializedName);
-          }
-          let queryParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, queryParameter, fallbackObject);
-          if (queryParameterValue !== void 0 && queryParameterValue !== null || queryParameter.mapper.required) {
-            queryParameterValue = operationSpec.serializer.serialize(queryParameter.mapper, queryParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter));
-            const delimiter = queryParameter.collectionFormat ? CollectionFormatToDelimiterMap[queryParameter.collectionFormat] : "";
-            if (Array.isArray(queryParameterValue)) {
-              queryParameterValue = queryParameterValue.map((item) => {
-                if (item === null || item === void 0) {
-                  return "";
-                }
-                return item;
-              });
+    };
+    exports2.PageBlobGetPageRangesDiffHeaders = {
+      serializedName: "PageBlob_getPageRangesDiffHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesDiffHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
             }
-            if (queryParameter.collectionFormat === "Multi" && queryParameterValue.length === 0) {
-              continue;
-            } else if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "SSV" || queryParameter.collectionFormat === "TSV")) {
-              queryParameterValue = queryParameterValue.join(delimiter);
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-            if (!queryParameter.skipEncoding) {
-              if (Array.isArray(queryParameterValue)) {
-                queryParameterValue = queryParameterValue.map((item) => {
-                  return encodeURIComponent(item);
-                });
-              } else {
-                queryParameterValue = encodeURIComponent(queryParameterValue);
-              }
+          },
+          blobContentLength: {
+            serializedName: "x-ms-blob-content-length",
+            xmlName: "x-ms-blob-content-length",
+            type: {
+              name: "Number"
             }
-            if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "CSV" || queryParameter.collectionFormat === "Pipes")) {
-              queryParameterValue = queryParameterValue.join(delimiter);
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            result.set(queryParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter), queryParameterValue);
           }
         }
       }
-      return {
-        queryParams: result,
-        sequenceParams
-      };
-    }
-    function simpleParseQueryParams(queryString) {
-      const result = /* @__PURE__ */ new Map();
-      if (!queryString || queryString[0] !== "?") {
-        return result;
-      }
-      queryString = queryString.slice(1);
-      const pairs2 = queryString.split("&");
-      for (const pair of pairs2) {
-        const [name, value] = pair.split("=", 2);
-        const existingValue = result.get(name);
-        if (existingValue) {
-          if (Array.isArray(existingValue)) {
-            existingValue.push(value);
-          } else {
-            result.set(name, [existingValue, value]);
+    };
+    exports2.PageBlobGetPageRangesDiffExceptionHeaders = {
+      serializedName: "PageBlob_getPageRangesDiffExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesDiffExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          result.set(name, value);
         }
       }
-      return result;
-    }
-    function appendQueryParams(url, queryParams, sequenceParams, noOverwrite = false) {
-      if (queryParams.size === 0) {
-        return url;
-      }
-      const parsedUrl = new URL(url);
-      const combinedParams = simpleParseQueryParams(parsedUrl.search);
-      for (const [name, value] of queryParams) {
-        const existingValue = combinedParams.get(name);
-        if (Array.isArray(existingValue)) {
-          if (Array.isArray(value)) {
-            existingValue.push(...value);
-            const valueSet = new Set(existingValue);
-            combinedParams.set(name, Array.from(valueSet));
-          } else {
-            existingValue.push(value);
-          }
-        } else if (existingValue) {
-          if (Array.isArray(value)) {
-            value.unshift(existingValue);
-          } else if (sequenceParams.has(name)) {
-            combinedParams.set(name, [existingValue, value]);
-          }
-          if (!noOverwrite) {
-            combinedParams.set(name, value);
+    };
+    exports2.PageBlobResizeHeaders = {
+      serializedName: "PageBlob_resizeHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobResizeHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          combinedParams.set(name, value);
         }
       }
-      const searchPieces = [];
-      for (const [name, value] of combinedParams) {
-        if (typeof value === "string") {
-          searchPieces.push(`${name}=${value}`);
-        } else if (Array.isArray(value)) {
-          for (const subValue of value) {
-            searchPieces.push(`${name}=${subValue}`);
+    };
+    exports2.PageBlobResizeExceptionHeaders = {
+      serializedName: "PageBlob_resizeExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobResizeExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          searchPieces.push(`${name}=${value}`);
         }
       }
-      parsedUrl.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
-      return parsedUrl.toString();
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/log.js
-var require_log4 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs2();
-    exports2.logger = (0, logger_1.createClientLogger)("core-client");
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/serviceClient.js
-var require_serviceClient = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/serviceClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var pipeline_js_1 = require_pipeline3();
-    var utils_js_1 = require_utils6();
-    var httpClientCache_js_1 = require_httpClientCache();
-    var operationHelpers_js_1 = require_operationHelpers();
-    var urlHelpers_js_1 = require_urlHelpers2();
-    var interfaceHelpers_js_1 = require_interfaceHelpers();
-    var log_js_1 = require_log4();
-    var ServiceClient = class {
-      /**
-       * If specified, this is the base URI that requests will be made against for this ServiceClient.
-       * If it is not specified, then all OperationSpecs must contain a baseUrl property.
-       */
-      _endpoint;
-      /**
-       * The default request content type for the service.
-       * Used if no requestContentType is present on an OperationSpec.
-       */
-      _requestContentType;
-      /**
-       * Set to true if the request is sent over HTTP instead of HTTPS
-       */
-      _allowInsecureConnection;
-      /**
-       * The HTTP client that will be used to send requests.
-       */
-      _httpClient;
-      /**
-       * The pipeline used by this client to make requests
-       */
-      pipeline;
-      /**
-       * The ServiceClient constructor
-       * @param options - The service client options that govern the behavior of the client.
-       */
-      constructor(options = {}) {
-        this._requestContentType = options.requestContentType;
-        this._endpoint = options.endpoint ?? options.baseUri;
-        if (options.baseUri) {
-          log_js_1.logger.warning("The baseUri option for SDK Clients has been deprecated, please use endpoint instead.");
-        }
-        this._allowInsecureConnection = options.allowInsecureConnection;
-        this._httpClient = options.httpClient || (0, httpClientCache_js_1.getCachedDefaultHttpClient)();
-        this.pipeline = options.pipeline || createDefaultPipeline(options);
-        if (options.additionalPolicies?.length) {
-          for (const { policy, position } of options.additionalPolicies) {
-            const afterPhase = position === "perRetry" ? "Sign" : void 0;
-            this.pipeline.addPolicy(policy, {
-              afterPhase
-            });
+    };
+    exports2.PageBlobUpdateSequenceNumberHeaders = {
+      serializedName: "PageBlob_updateSequenceNumberHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUpdateSequenceNumberHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      /**
-       * Send the provided httpRequest.
-       */
-      async sendRequest(request2) {
-        return this.pipeline.sendRequest(this._httpClient, request2);
-      }
-      /**
-       * Send an HTTP request that is populated using the provided OperationSpec.
-       * @typeParam T - The typed result of the request, based on the OperationSpec.
-       * @param operationArguments - The arguments that the HTTP request's templated values will be populated from.
-       * @param operationSpec - The OperationSpec to use to populate the httpRequest.
-       */
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const endpoint2 = operationSpec.baseUrl || this._endpoint;
-        if (!endpoint2) {
-          throw new Error("If operationSpec.baseUrl is not specified, then the ServiceClient must have a endpoint string property that contains the base URL to use.");
-        }
-        const url = (0, urlHelpers_js_1.getRequestUrl)(endpoint2, operationSpec, operationArguments, this);
-        const request2 = (0, core_rest_pipeline_1.createPipelineRequest)({
-          url
-        });
-        request2.method = operationSpec.httpMethod;
-        const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-        operationInfo.operationSpec = operationSpec;
-        operationInfo.operationArguments = operationArguments;
-        const contentType = operationSpec.contentType || this._requestContentType;
-        if (contentType && operationSpec.requestBody) {
-          request2.headers.set("Content-Type", contentType);
+    };
+    exports2.PageBlobUpdateSequenceNumberExceptionHeaders = {
+      serializedName: "PageBlob_updateSequenceNumberExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUpdateSequenceNumberExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        const options = operationArguments.options;
-        if (options) {
-          const requestOptions = options.requestOptions;
-          if (requestOptions) {
-            if (requestOptions.timeout) {
-              request2.timeout = requestOptions.timeout;
+      }
+    };
+    exports2.PageBlobCopyIncrementalHeaders = {
+      serializedName: "PageBlob_copyIncrementalHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCopyIncrementalHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-            if (requestOptions.onUploadProgress) {
-              request2.onUploadProgress = requestOptions.onUploadProgress;
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
             }
-            if (requestOptions.onDownloadProgress) {
-              request2.onDownloadProgress = requestOptions.onDownloadProgress;
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
             }
-            if (requestOptions.shouldDeserialize !== void 0) {
-              operationInfo.shouldDeserialize = requestOptions.shouldDeserialize;
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
             }
-            if (requestOptions.allowInsecureConnection) {
-              request2.allowInsecureConnection = true;
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
             }
-          }
-          if (options.abortSignal) {
-            request2.abortSignal = options.abortSignal;
-          }
-          if (options.tracingOptions) {
-            request2.tracingOptions = options.tracingOptions;
-          }
-        }
-        if (this._allowInsecureConnection) {
-          request2.allowInsecureConnection = true;
-        }
-        if (request2.streamResponseStatusCodes === void 0) {
-          request2.streamResponseStatusCodes = (0, interfaceHelpers_js_1.getStreamingResponseStatusCodes)(operationSpec);
-        }
-        try {
-          const rawResponse = await this.sendRequest(request2);
-          const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[rawResponse.status]);
-          if (options?.onResponse) {
-            options.onResponse(rawResponse, flatResponse);
-          }
-          return flatResponse;
-        } catch (error3) {
-          if (typeof error3 === "object" && error3?.response) {
-            const rawResponse = error3.response;
-            const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[error3.statusCode] || operationSpec.responses["default"]);
-            error3.details = flatResponse;
-            if (options?.onResponse) {
-              options.onResponse(rawResponse, flatResponse, error3);
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          throw error3;
         }
       }
     };
-    exports2.ServiceClient = ServiceClient;
-    function createDefaultPipeline(options) {
-      const credentialScopes = getCredentialScopes(options);
-      const credentialOptions = options.credential && credentialScopes ? { credentialScopes, credential: options.credential } : void 0;
-      return (0, pipeline_js_1.createClientPipeline)({
-        ...options,
-        credentialOptions
-      });
-    }
-    function getCredentialScopes(options) {
-      if (options.credentialScopes) {
-        return options.credentialScopes;
-      }
-      if (options.endpoint) {
-        return `${options.endpoint}/.default`;
-      }
-      if (options.baseUri) {
-        return `${options.baseUri}/.default`;
-      }
-      if (options.credential && !options.credentialScopes) {
-        throw new Error(`When using credentials, the ServiceClientOptions must contain either a endpoint or a credentialScopes. Unable to create a bearerTokenAuthenticationPolicy`);
-      }
-      return void 0;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js
-var require_authorizeRequestOnClaimChallenge = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseCAEChallenge = parseCAEChallenge;
-    exports2.authorizeRequestOnClaimChallenge = authorizeRequestOnClaimChallenge;
-    var log_js_1 = require_log4();
-    var base64_js_1 = require_base64();
-    function parseCAEChallenge(challenges) {
-      const bearerChallenges = `, ${challenges.trim()}`.split(", Bearer ").filter((x) => x);
-      return bearerChallenges.map((challenge) => {
-        const challengeParts = `${challenge.trim()}, `.split('", ').filter((x) => x);
-        const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split('="')));
-        return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
-      });
-    }
-    async function authorizeRequestOnClaimChallenge(onChallengeOptions) {
-      const { scopes, response } = onChallengeOptions;
-      const logger = onChallengeOptions.logger || log_js_1.logger;
-      const challenge = response.headers.get("WWW-Authenticate");
-      if (!challenge) {
-        logger.info(`The WWW-Authenticate header was missing. Failed to perform the Continuous Access Evaluation authentication flow.`);
-        return false;
-      }
-      const challenges = parseCAEChallenge(challenge) || [];
-      const parsedChallenge = challenges.find((x) => x.claims);
-      if (!parsedChallenge) {
-        logger.info(`The WWW-Authenticate header was missing the necessary "claims" to perform the Continuous Access Evaluation authentication flow.`);
-        return false;
-      }
-      const accessToken = await onChallengeOptions.getAccessToken(parsedChallenge.scope ? [parsedChallenge.scope] : scopes, {
-        claims: (0, base64_js_1.decodeStringToString)(parsedChallenge.claims)
-      });
-      if (!accessToken) {
-        return false;
-      }
-      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
-      return true;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js
-var require_authorizeRequestOnTenantChallenge = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.authorizeRequestOnTenantChallenge = void 0;
-    var Constants = {
-      DefaultScope: "/.default",
-      /**
-       * Defines constants for use with HTTP headers.
-       */
-      HeaderConstants: {
-        /**
-         * The Authorization header.
-         */
-        AUTHORIZATION: "authorization"
-      }
-    };
-    function isUuid(text) {
-      return /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/.test(text);
-    }
-    var authorizeRequestOnTenantChallenge = async (challengeOptions) => {
-      const requestOptions = requestToOptions(challengeOptions.request);
-      const challenge = getChallenge(challengeOptions.response);
-      if (challenge) {
-        const challengeInfo = parseChallenge(challenge);
-        const challengeScopes = buildScopes(challengeOptions, challengeInfo);
-        const tenantId = extractTenantId(challengeInfo);
-        if (!tenantId) {
-          return false;
-        }
-        const accessToken = await challengeOptions.getAccessToken(challengeScopes, {
-          ...requestOptions,
-          tenantId
-        });
-        if (!accessToken) {
-          return false;
+    exports2.PageBlobCopyIncrementalExceptionHeaders = {
+      serializedName: "PageBlob_copyIncrementalExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCopyIncrementalExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        challengeOptions.request.headers.set(Constants.HeaderConstants.AUTHORIZATION, `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
-        return true;
       }
-      return false;
     };
-    exports2.authorizeRequestOnTenantChallenge = authorizeRequestOnTenantChallenge;
-    function extractTenantId(challengeInfo) {
-      const parsedAuthUri = new URL(challengeInfo.authorization_uri);
-      const pathSegments = parsedAuthUri.pathname.split("/");
-      const tenantId = pathSegments[1];
-      if (tenantId && isUuid(tenantId)) {
-        return tenantId;
-      }
-      return void 0;
-    }
-    function buildScopes(challengeOptions, challengeInfo) {
-      if (!challengeInfo.resource_id) {
-        return challengeOptions.scopes;
-      }
-      const challengeScopes = new URL(challengeInfo.resource_id);
-      challengeScopes.pathname = Constants.DefaultScope;
-      let scope = challengeScopes.toString();
-      if (scope === "https://disk.azure.com/.default") {
-        scope = "https://disk.azure.com//.default";
-      }
-      return [scope];
-    }
-    function getChallenge(response) {
-      const challenge = response.headers.get("WWW-Authenticate");
-      if (response.status === 401 && challenge) {
-        return challenge;
-      }
-      return;
-    }
-    function parseChallenge(challenge) {
-      const bearerChallenge = challenge.slice("Bearer ".length);
-      const challengeParts = `${bearerChallenge.trim()} `.split(" ").filter((x) => x);
-      const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split("=")));
-      return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
-    }
-    function requestToOptions(request2) {
-      return {
-        abortSignal: request2.abortSignal,
-        requestOptions: {
-          timeout: request2.timeout
-        },
-        tracingOptions: request2.tracingOptions
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/index.js
-var require_commonjs8 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.authorizeRequestOnTenantChallenge = exports2.authorizeRequestOnClaimChallenge = exports2.serializationPolicyName = exports2.serializationPolicy = exports2.deserializationPolicyName = exports2.deserializationPolicy = exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.createClientPipeline = exports2.ServiceClient = exports2.MapperTypeNames = exports2.createSerializer = void 0;
-    var serializer_js_1 = require_serializer();
-    Object.defineProperty(exports2, "createSerializer", { enumerable: true, get: function() {
-      return serializer_js_1.createSerializer;
-    } });
-    Object.defineProperty(exports2, "MapperTypeNames", { enumerable: true, get: function() {
-      return serializer_js_1.MapperTypeNames;
-    } });
-    var serviceClient_js_1 = require_serviceClient();
-    Object.defineProperty(exports2, "ServiceClient", { enumerable: true, get: function() {
-      return serviceClient_js_1.ServiceClient;
-    } });
-    var pipeline_js_1 = require_pipeline3();
-    Object.defineProperty(exports2, "createClientPipeline", { enumerable: true, get: function() {
-      return pipeline_js_1.createClientPipeline;
-    } });
-    var interfaces_js_1 = require_interfaces();
-    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
-      return interfaces_js_1.XML_ATTRKEY;
-    } });
-    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
-      return interfaces_js_1.XML_CHARKEY;
-    } });
-    var deserializationPolicy_js_1 = require_deserializationPolicy();
-    Object.defineProperty(exports2, "deserializationPolicy", { enumerable: true, get: function() {
-      return deserializationPolicy_js_1.deserializationPolicy;
-    } });
-    Object.defineProperty(exports2, "deserializationPolicyName", { enumerable: true, get: function() {
-      return deserializationPolicy_js_1.deserializationPolicyName;
-    } });
-    var serializationPolicy_js_1 = require_serializationPolicy();
-    Object.defineProperty(exports2, "serializationPolicy", { enumerable: true, get: function() {
-      return serializationPolicy_js_1.serializationPolicy;
-    } });
-    Object.defineProperty(exports2, "serializationPolicyName", { enumerable: true, get: function() {
-      return serializationPolicy_js_1.serializationPolicyName;
-    } });
-    var authorizeRequestOnClaimChallenge_js_1 = require_authorizeRequestOnClaimChallenge();
-    Object.defineProperty(exports2, "authorizeRequestOnClaimChallenge", { enumerable: true, get: function() {
-      return authorizeRequestOnClaimChallenge_js_1.authorizeRequestOnClaimChallenge;
-    } });
-    var authorizeRequestOnTenantChallenge_js_1 = require_authorizeRequestOnTenantChallenge();
-    Object.defineProperty(exports2, "authorizeRequestOnTenantChallenge", { enumerable: true, get: function() {
-      return authorizeRequestOnTenantChallenge_js_1.authorizeRequestOnTenantChallenge;
-    } });
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HttpHeaders = void 0;
-    exports2.toPipelineRequest = toPipelineRequest;
-    exports2.toWebResourceLike = toWebResourceLike;
-    exports2.toHttpHeadersLike = toHttpHeadersLike;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var originalRequestSymbol = /* @__PURE__ */ Symbol("Original PipelineRequest");
-    var originalClientRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
-    function toPipelineRequest(webResource, options = {}) {
-      const compatWebResource = webResource;
-      const request2 = compatWebResource[originalRequestSymbol];
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(webResource.headers.toJson({ preserveCase: true }));
-      if (request2) {
-        request2.headers = headers;
-        return request2;
-      } else {
-        const newRequest = (0, core_rest_pipeline_1.createPipelineRequest)({
-          url: webResource.url,
-          method: webResource.method,
-          headers,
-          withCredentials: webResource.withCredentials,
-          timeout: webResource.timeout,
-          requestId: webResource.requestId,
-          abortSignal: webResource.abortSignal,
-          body: webResource.body,
-          formData: webResource.formData,
-          disableKeepAlive: !!webResource.keepAlive,
-          onDownloadProgress: webResource.onDownloadProgress,
-          onUploadProgress: webResource.onUploadProgress,
-          proxySettings: webResource.proxySettings,
-          streamResponseStatusCodes: webResource.streamResponseStatusCodes,
-          agent: webResource.agent,
-          requestOverrides: webResource.requestOverrides
-        });
-        if (options.originalRequest) {
-          newRequest[originalClientRequestSymbol] = options.originalRequest;
+    exports2.AppendBlobCreateHeaders = {
+      serializedName: "AppendBlob_createHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobCreateHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return newRequest;
       }
-    }
-    function toWebResourceLike(request2, options) {
-      const originalRequest = options?.originalRequest ?? request2;
-      const webResource = {
-        url: request2.url,
-        method: request2.method,
-        headers: toHttpHeadersLike(request2.headers),
-        withCredentials: request2.withCredentials,
-        timeout: request2.timeout,
-        requestId: request2.headers.get("x-ms-client-request-id") || request2.requestId,
-        abortSignal: request2.abortSignal,
-        body: request2.body,
-        formData: request2.formData,
-        keepAlive: !!request2.disableKeepAlive,
-        onDownloadProgress: request2.onDownloadProgress,
-        onUploadProgress: request2.onUploadProgress,
-        proxySettings: request2.proxySettings,
-        streamResponseStatusCodes: request2.streamResponseStatusCodes,
-        agent: request2.agent,
-        requestOverrides: request2.requestOverrides,
-        clone() {
-          throw new Error("Cannot clone a non-proxied WebResourceLike");
-        },
-        prepare() {
-          throw new Error("WebResourceLike.prepare() is not supported by @azure/core-http-compat");
-        },
-        validateRequestProperties() {
-        }
-      };
-      if (options?.createProxy) {
-        return new Proxy(webResource, {
-          get(target, prop, receiver) {
-            if (prop === originalRequestSymbol) {
-              return request2;
-            } else if (prop === "clone") {
-              return () => {
-                return toWebResourceLike(toPipelineRequest(webResource, { originalRequest }), {
-                  createProxy: true,
-                  originalRequest
-                });
-              };
+    };
+    exports2.AppendBlobCreateExceptionHeaders = {
+      serializedName: "AppendBlob_createExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobCreateExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
+    };
+    exports2.AppendBlobAppendBlockHeaders = {
+      serializedName: "AppendBlob_appendBlockHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-            return Reflect.get(target, prop, receiver);
           },
-          set(target, prop, value, receiver) {
-            if (prop === "keepAlive") {
-              request2.disableKeepAlive = !value;
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
             }
-            const passThroughProps = [
-              "url",
-              "method",
-              "withCredentials",
-              "timeout",
-              "requestId",
-              "abortSignal",
-              "body",
-              "formData",
-              "onDownloadProgress",
-              "onUploadProgress",
-              "proxySettings",
-              "streamResponseStatusCodes",
-              "agent",
-              "requestOverrides"
-            ];
-            if (typeof prop === "string" && passThroughProps.includes(prop)) {
-              request2[prop] = value;
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobAppendOffset: {
+            serializedName: "x-ms-blob-append-offset",
+            xmlName: "x-ms-blob-append-offset",
+            type: {
+              name: "String"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            return Reflect.set(target, prop, value, receiver);
           }
-        });
-      } else {
-        return webResource;
+        }
       }
-    }
-    function toHttpHeadersLike(headers) {
-      return new HttpHeaders(headers.toJSON({ preserveCase: true }));
-    }
-    function getHeaderKey(headerName) {
-      return headerName.toLowerCase();
-    }
-    var HttpHeaders = class _HttpHeaders {
-      _headersMap;
-      constructor(rawHeaders) {
-        this._headersMap = {};
-        if (rawHeaders) {
-          for (const headerName in rawHeaders) {
-            this.set(headerName, rawHeaders[headerName]);
+    };
+    exports2.AppendBlobAppendBlockExceptionHeaders = {
+      serializedName: "AppendBlob_appendBlockExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      /**
-       * Set a header in this collection with the provided name and value. The name is
-       * case-insensitive.
-       * @param headerName - The name of the header to set. This value is case-insensitive.
-       * @param headerValue - The value of the header to set.
-       */
-      set(headerName, headerValue) {
-        this._headersMap[getHeaderKey(headerName)] = {
-          name: headerName,
-          value: headerValue.toString()
-        };
-      }
-      /**
-       * Get the header value for the provided header name, or undefined if no header exists in this
-       * collection with the provided name.
-       * @param headerName - The name of the header.
-       */
-      get(headerName) {
-        const header = this._headersMap[getHeaderKey(headerName)];
-        return !header ? void 0 : header.value;
-      }
-      /**
-       * Get whether or not this header collection contains a header entry for the provided header name.
-       */
-      contains(headerName) {
-        return !!this._headersMap[getHeaderKey(headerName)];
-      }
-      /**
-       * Remove the header with the provided headerName. Return whether or not the header existed and
-       * was removed.
-       * @param headerName - The name of the header to remove.
-       */
-      remove(headerName) {
-        const result = this.contains(headerName);
-        delete this._headersMap[getHeaderKey(headerName)];
-        return result;
-      }
-      /**
-       * Get the headers that are contained this collection as an object.
-       */
-      rawHeaders() {
-        return this.toJson({ preserveCase: true });
-      }
-      /**
-       * Get the headers that are contained in this collection as an array.
-       */
-      headersArray() {
-        const headers = [];
-        for (const headerKey in this._headersMap) {
-          headers.push(this._headersMap[headerKey]);
+    };
+    exports2.AppendBlobAppendBlockFromUrlHeaders = {
+      serializedName: "AppendBlob_appendBlockFromUrlHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockFromUrlHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobAppendOffset: {
+            serializedName: "x-ms-blob-append-offset",
+            xmlName: "x-ms-blob-append-offset",
+            type: {
+              name: "String"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return headers;
       }
-      /**
-       * Get the header names that are contained in this collection.
-       */
-      headerNames() {
-        const headerNames = [];
-        const headers = this.headersArray();
-        for (let i = 0; i < headers.length; ++i) {
-          headerNames.push(headers[i].name);
+    };
+    exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = {
+      serializedName: "AppendBlob_appendBlockFromUrlExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockFromUrlExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
+          }
         }
-        return headerNames;
       }
-      /**
-       * Get the header values that are contained in this collection.
-       */
-      headerValues() {
-        const headerValues = [];
-        const headers = this.headersArray();
-        for (let i = 0; i < headers.length; ++i) {
-          headerValues.push(headers[i].value);
+    };
+    exports2.AppendBlobSealHeaders = {
+      serializedName: "AppendBlob_sealHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobSealHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isSealed: {
+            serializedName: "x-ms-blob-sealed",
+            xmlName: "x-ms-blob-sealed",
+            type: {
+              name: "Boolean"
+            }
+          }
         }
-        return headerValues;
       }
-      /**
-       * Get the JSON object representation of this HTTP header collection.
-       */
-      toJson(options = {}) {
-        const result = {};
-        if (options.preserveCase) {
-          for (const headerKey in this._headersMap) {
-            const header = this._headersMap[headerKey];
-            result[header.name] = header.value;
+    };
+    exports2.AppendBlobSealExceptionHeaders = {
+      serializedName: "AppendBlob_sealExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobSealExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          for (const headerKey in this._headersMap) {
-            const header = this._headersMap[headerKey];
-            result[getHeaderKey(header.name)] = header.value;
+        }
+      }
+    };
+    exports2.BlockBlobUploadHeaders = {
+      serializedName: "BlockBlob_uploadHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobUploadHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return result;
-      }
-      /**
-       * Get the string representation of this HTTP header collection.
-       */
-      toString() {
-        return JSON.stringify(this.toJson({ preserveCase: true }));
       }
-      /**
-       * Create a deep clone/copy of this HttpHeaders collection.
-       */
-      clone() {
-        const resultPreservingCasing = {};
-        for (const headerKey in this._headersMap) {
-          const header = this._headersMap[headerKey];
-          resultPreservingCasing[header.name] = header.value;
+    };
+    exports2.BlockBlobUploadExceptionHeaders = {
+      serializedName: "BlockBlob_uploadExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobUploadExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return new _HttpHeaders(resultPreservingCasing);
       }
     };
-    exports2.HttpHeaders = HttpHeaders;
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/response.js
-var require_response3 = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/response.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.toCompatResponse = toCompatResponse;
-    exports2.toPipelineResponse = toPipelineResponse;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
-    var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
-    function toCompatResponse(response, options) {
-      let request2 = (0, util_js_1.toWebResourceLike)(response.request);
-      let headers = (0, util_js_1.toHttpHeadersLike)(response.headers);
-      if (options?.createProxy) {
-        return new Proxy(response, {
-          get(target, prop, receiver) {
-            if (prop === "headers") {
-              return headers;
-            } else if (prop === "request") {
-              return request2;
-            } else if (prop === originalResponse) {
-              return response;
+    exports2.BlockBlobPutBlobFromUrlHeaders = {
+      serializedName: "BlockBlob_putBlobFromUrlHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobPutBlobFromUrlHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-            return Reflect.get(target, prop, receiver);
           },
-          set(target, prop, value, receiver) {
-            if (prop === "headers") {
-              headers = value;
-            } else if (prop === "request") {
-              request2 = value;
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            return Reflect.set(target, prop, value, receiver);
-          }
-        });
-      } else {
-        return {
-          ...response,
-          request: request2,
-          headers
-        };
-      }
-    }
-    function toPipelineResponse(compatResponse) {
-      const extendedCompatResponse = compatResponse;
-      const response = extendedCompatResponse[originalResponse];
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(compatResponse.headers.toJson({ preserveCase: true }));
-      if (response) {
-        response.headers = headers;
-        return response;
-      } else {
-        return {
-          ...compatResponse,
-          headers,
-          request: (0, util_js_1.toPipelineRequest)(compatResponse.request)
-        };
-      }
-    }
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js
-var require_extendedClient = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ExtendedServiceClient = void 0;
-    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_client_1 = require_commonjs8();
-    var response_js_1 = require_response3();
-    var ExtendedServiceClient = class extends core_client_1.ServiceClient {
-      constructor(options) {
-        super(options);
-        if (options.keepAliveOptions?.enable === false && !(0, disableKeepAlivePolicy_js_1.pipelineContainsDisableKeepAlivePolicy)(this.pipeline)) {
-          this.pipeline.addPolicy((0, disableKeepAlivePolicy_js_1.createDisableKeepAlivePolicy)());
-        }
-        if (options.redirectOptions?.handleRedirects === false) {
-          this.pipeline.removePolicy({
-            name: core_rest_pipeline_1.redirectPolicyName
-          });
-        }
-      }
-      /**
-       * Compatible send operation request function.
-       *
-       * @param operationArguments - Operation arguments
-       * @param operationSpec - Operation Spec
-       * @returns
-       */
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const userProvidedCallBack = operationArguments?.options?.onResponse;
-        let lastResponse;
-        function onResponse(rawResponse, flatResponse, error3) {
-          lastResponse = rawResponse;
-          if (userProvidedCallBack) {
-            userProvidedCallBack(rawResponse, flatResponse, error3);
           }
         }
-        operationArguments.options = {
-          ...operationArguments.options,
-          onResponse
-        };
-        const result = await super.sendOperationRequest(operationArguments, operationSpec);
-        if (lastResponse) {
-          Object.defineProperty(result, "_response", {
-            value: (0, response_js_1.toCompatResponse)(lastResponse)
-          });
-        }
-        return result;
-      }
-    };
-    exports2.ExtendedServiceClient = ExtendedServiceClient;
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js
-var require_requestPolicyFactoryPolicy = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
-    exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
-    var response_js_1 = require_response3();
-    var HttpPipelineLogLevel;
-    (function(HttpPipelineLogLevel2) {
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["ERROR"] = 1] = "ERROR";
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["INFO"] = 3] = "INFO";
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["OFF"] = 0] = "OFF";
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["WARNING"] = 2] = "WARNING";
-    })(HttpPipelineLogLevel || (exports2.HttpPipelineLogLevel = HttpPipelineLogLevel = {}));
-    var mockRequestPolicyOptions = {
-      log(_logLevel, _message) {
-      },
-      shouldLog(_logLevel) {
-        return false;
       }
     };
-    exports2.requestPolicyFactoryPolicyName = "RequestPolicyFactoryPolicy";
-    function createRequestPolicyFactoryPolicy(factories) {
-      const orderedFactories = factories.slice().reverse();
-      return {
-        name: exports2.requestPolicyFactoryPolicyName,
-        async sendRequest(request2, next) {
-          let httpPipeline = {
-            async sendRequest(httpRequest) {
-              const response2 = await next((0, util_js_1.toPipelineRequest)(httpRequest));
-              return (0, response_js_1.toCompatResponse)(response2, { createProxy: true });
+    exports2.BlockBlobPutBlobFromUrlExceptionHeaders = {
+      serializedName: "BlockBlob_putBlobFromUrlExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobPutBlobFromUrlExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
             }
-          };
-          for (const factory of orderedFactories) {
-            httpPipeline = factory.create(httpPipeline, mockRequestPolicyOptions);
           }
-          const webResourceLike = (0, util_js_1.toWebResourceLike)(request2, { createProxy: true });
-          const response = await httpPipeline.sendRequest(webResourceLike);
-          return (0, response_js_1.toPipelineResponse)(response);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js
-var require_httpClientAdapter = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.convertHttpClient = convertHttpClient;
-    var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
-    function convertHttpClient(requestPolicyClient) {
-      return {
-        sendRequest: async (request2) => {
-          const response = await requestPolicyClient.sendRequest((0, util_js_1.toWebResourceLike)(request2, { createProxy: true }));
-          return (0, response_js_1.toPipelineResponse)(response);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/index.js
-var require_commonjs9 = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.toHttpHeadersLike = exports2.convertHttpClient = exports2.disableKeepAlivePolicyName = exports2.HttpPipelineLogLevel = exports2.createRequestPolicyFactoryPolicy = exports2.requestPolicyFactoryPolicyName = exports2.ExtendedServiceClient = void 0;
-    var extendedClient_js_1 = require_extendedClient();
-    Object.defineProperty(exports2, "ExtendedServiceClient", { enumerable: true, get: function() {
-      return extendedClient_js_1.ExtendedServiceClient;
-    } });
-    var requestPolicyFactoryPolicy_js_1 = require_requestPolicyFactoryPolicy();
-    Object.defineProperty(exports2, "requestPolicyFactoryPolicyName", { enumerable: true, get: function() {
-      return requestPolicyFactoryPolicy_js_1.requestPolicyFactoryPolicyName;
-    } });
-    Object.defineProperty(exports2, "createRequestPolicyFactoryPolicy", { enumerable: true, get: function() {
-      return requestPolicyFactoryPolicy_js_1.createRequestPolicyFactoryPolicy;
-    } });
-    Object.defineProperty(exports2, "HttpPipelineLogLevel", { enumerable: true, get: function() {
-      return requestPolicyFactoryPolicy_js_1.HttpPipelineLogLevel;
-    } });
-    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
-    Object.defineProperty(exports2, "disableKeepAlivePolicyName", { enumerable: true, get: function() {
-      return disableKeepAlivePolicy_js_1.disableKeepAlivePolicyName;
-    } });
-    var httpClientAdapter_js_1 = require_httpClientAdapter();
-    Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
-      return httpClientAdapter_js_1.convertHttpClient;
-    } });
-    var util_js_1 = require_util16();
-    Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
-      return util_js_1.toHttpHeadersLike;
-    } });
-  }
-});
-
-// node_modules/fast-xml-parser/lib/fxp.cjs
-var require_fxp = __commonJS({
-  "node_modules/fast-xml-parser/lib/fxp.cjs"(exports2, module2) {
-    (() => {
-      "use strict";
-      var t = { d: (e2, i2) => {
-        for (var n2 in i2) t.o(i2, n2) && !t.o(e2, n2) && Object.defineProperty(e2, n2, { enumerable: true, get: i2[n2] });
-      }, o: (t2, e2) => Object.prototype.hasOwnProperty.call(t2, e2), r: (t2) => {
-        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t2, "__esModule", { value: true });
-      } }, e = {};
-      t.r(e), t.d(e, { XMLBuilder: () => ut, XMLParser: () => et, XMLValidator: () => ft });
-      const i = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", n = new RegExp("^[" + i + "][" + i + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");
-      function s(t2, e2) {
-        const i2 = [];
-        let n2 = e2.exec(t2);
-        for (; n2; ) {
-          const s2 = [];
-          s2.startIndex = e2.lastIndex - n2[0].length;
-          const r2 = n2.length;
-          for (let t3 = 0; t3 < r2; t3++) s2.push(n2[t3]);
-          i2.push(s2), n2 = e2.exec(t2);
         }
-        return i2;
       }
-      const r = function(t2) {
-        return !(null == n.exec(t2));
-      }, o = { allowBooleanAttributes: false, unpairedTags: [] };
-      function a(t2, e2) {
-        e2 = Object.assign({}, o, e2);
-        const i2 = [];
-        let n2 = false, s2 = false;
-        "\uFEFF" === t2[0] && (t2 = t2.substr(1));
-        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2] && "?" === t2[o2 + 1]) {
-          if (o2 += 2, o2 = u(t2, o2), o2.err) return o2;
-        } else {
-          if ("<" !== t2[o2]) {
-            if (l(t2[o2])) continue;
-            return x("InvalidChar", "char '" + t2[o2] + "' is not expected.", b(t2, o2));
-          }
-          {
-            let a2 = o2;
-            if (o2++, "!" === t2[o2]) {
-              o2 = h(t2, o2);
-              continue;
+    };
+    exports2.BlockBlobStageBlockHeaders = {
+      serializedName: "BlockBlob_stageBlockHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockHeaders",
+        modelProperties: {
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
             }
-            {
-              let d2 = false;
-              "/" === t2[o2] && (d2 = true, o2++);
-              let p2 = "";
-              for (; o2 < t2.length && ">" !== t2[o2] && " " !== t2[o2] && "	" !== t2[o2] && "\n" !== t2[o2] && "\r" !== t2[o2]; o2++) p2 += t2[o2];
-              if (p2 = p2.trim(), "/" === p2[p2.length - 1] && (p2 = p2.substring(0, p2.length - 1), o2--), !r(p2)) {
-                let e3;
-                return e3 = 0 === p2.trim().length ? "Invalid space after '<'." : "Tag '" + p2 + "' is an invalid name.", x("InvalidTag", e3, b(t2, o2));
-              }
-              const c2 = f(t2, o2);
-              if (false === c2) return x("InvalidAttr", "Attributes for '" + p2 + "' have open quote.", b(t2, o2));
-              let N2 = c2.value;
-              if (o2 = c2.index, "/" === N2[N2.length - 1]) {
-                const i3 = o2 - N2.length;
-                N2 = N2.substring(0, N2.length - 1);
-                const s3 = g(N2, e2);
-                if (true !== s3) return x(s3.err.code, s3.err.msg, b(t2, i3 + s3.err.line));
-                n2 = true;
-              } else if (d2) {
-                if (!c2.tagClosed) return x("InvalidTag", "Closing tag '" + p2 + "' doesn't have proper closing.", b(t2, o2));
-                if (N2.trim().length > 0) return x("InvalidTag", "Closing tag '" + p2 + "' can't have attributes or invalid starting.", b(t2, a2));
-                if (0 === i2.length) return x("InvalidTag", "Closing tag '" + p2 + "' has not been opened.", b(t2, a2));
-                {
-                  const e3 = i2.pop();
-                  if (p2 !== e3.tagName) {
-                    let i3 = b(t2, e3.tagStartPos);
-                    return x("InvalidTag", "Expected closing tag '" + e3.tagName + "' (opened in line " + i3.line + ", col " + i3.col + ") instead of closing tag '" + p2 + "'.", b(t2, a2));
-                  }
-                  0 == i2.length && (s2 = true);
-                }
-              } else {
-                const r2 = g(N2, e2);
-                if (true !== r2) return x(r2.err.code, r2.err.msg, b(t2, o2 - N2.length + r2.err.line));
-                if (true === s2) return x("InvalidXml", "Multiple possible root nodes found.", b(t2, o2));
-                -1 !== e2.unpairedTags.indexOf(p2) || i2.push({ tagName: p2, tagStartPos: a2 }), n2 = true;
-              }
-              for (o2++; o2 < t2.length; o2++) if ("<" === t2[o2]) {
-                if ("!" === t2[o2 + 1]) {
-                  o2++, o2 = h(t2, o2);
-                  continue;
-                }
-                if ("?" !== t2[o2 + 1]) break;
-                if (o2 = u(t2, ++o2), o2.err) return o2;
-              } else if ("&" === t2[o2]) {
-                const e3 = m(t2, o2);
-                if (-1 == e3) return x("InvalidChar", "char '&' is not expected.", b(t2, o2));
-                o2 = e3;
-              } else if (true === s2 && !l(t2[o2])) return x("InvalidXml", "Extra text at the end", b(t2, o2));
-              "<" === t2[o2] && o2--;
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
-        return n2 ? 1 == i2.length ? x("InvalidTag", "Unclosed tag '" + i2[0].tagName + "'.", b(t2, i2[0].tagStartPos)) : !(i2.length > 0) || x("InvalidXml", "Invalid '" + JSON.stringify(i2.map(((t3) => t3.tagName)), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }) : x("InvalidXml", "Start tag expected.", 1);
-      }
-      function l(t2) {
-        return " " === t2 || "	" === t2 || "\n" === t2 || "\r" === t2;
       }
-      function u(t2, e2) {
-        const i2 = e2;
-        for (; e2 < t2.length; e2++) if ("?" != t2[e2] && " " != t2[e2]) ;
-        else {
-          const n2 = t2.substr(i2, e2 - i2);
-          if (e2 > 5 && "xml" === n2) return x("InvalidXml", "XML declaration allowed only at the start of the document.", b(t2, e2));
-          if ("?" == t2[e2] && ">" == t2[e2 + 1]) {
-            e2++;
-            break;
+    };
+    exports2.BlockBlobStageBlockExceptionHeaders = {
+      serializedName: "BlockBlob_stageBlockExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return e2;
       }
-      function h(t2, e2) {
-        if (t2.length > e2 + 5 && "-" === t2[e2 + 1] && "-" === t2[e2 + 2]) {
-          for (e2 += 3; e2 < t2.length; e2++) if ("-" === t2[e2] && "-" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
-            e2 += 2;
-            break;
-          }
-        } else if (t2.length > e2 + 8 && "D" === t2[e2 + 1] && "O" === t2[e2 + 2] && "C" === t2[e2 + 3] && "T" === t2[e2 + 4] && "Y" === t2[e2 + 5] && "P" === t2[e2 + 6] && "E" === t2[e2 + 7]) {
-          let i2 = 1;
-          for (e2 += 8; e2 < t2.length; e2++) if ("<" === t2[e2]) i2++;
-          else if (">" === t2[e2] && (i2--, 0 === i2)) break;
-        } else if (t2.length > e2 + 9 && "[" === t2[e2 + 1] && "C" === t2[e2 + 2] && "D" === t2[e2 + 3] && "A" === t2[e2 + 4] && "T" === t2[e2 + 5] && "A" === t2[e2 + 6] && "[" === t2[e2 + 7]) {
-          for (e2 += 8; e2 < t2.length; e2++) if ("]" === t2[e2] && "]" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
-            e2 += 2;
-            break;
+    };
+    exports2.BlockBlobStageBlockFromURLHeaders = {
+      serializedName: "BlockBlob_stageBlockFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockFromURLHeaders",
+        modelProperties: {
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return e2;
       }
-      const d = '"', p = "'";
-      function f(t2, e2) {
-        let i2 = "", n2 = "", s2 = false;
-        for (; e2 < t2.length; e2++) {
-          if (t2[e2] === d || t2[e2] === p) "" === n2 ? n2 = t2[e2] : n2 !== t2[e2] || (n2 = "");
-          else if (">" === t2[e2] && "" === n2) {
-            s2 = true;
-            break;
+    };
+    exports2.BlockBlobStageBlockFromURLExceptionHeaders = {
+      serializedName: "BlockBlob_stageBlockFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
           }
-          i2 += t2[e2];
-        }
-        return "" === n2 && { value: i2, index: e2, tagClosed: s2 };
-      }
-      const c = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g");
-      function g(t2, e2) {
-        const i2 = s(t2, c), n2 = {};
-        for (let t3 = 0; t3 < i2.length; t3++) {
-          if (0 === i2[t3][1].length) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' has no space in starting.", E(i2[t3]));
-          if (void 0 !== i2[t3][3] && void 0 === i2[t3][4]) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' is without value.", E(i2[t3]));
-          if (void 0 === i2[t3][3] && !e2.allowBooleanAttributes) return x("InvalidAttr", "boolean attribute '" + i2[t3][2] + "' is not allowed.", E(i2[t3]));
-          const s2 = i2[t3][2];
-          if (!N(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is an invalid name.", E(i2[t3]));
-          if (n2.hasOwnProperty(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is repeated.", E(i2[t3]));
-          n2[s2] = 1;
         }
-        return true;
       }
-      function m(t2, e2) {
-        if (";" === t2[++e2]) return -1;
-        if ("#" === t2[e2]) return (function(t3, e3) {
-          let i3 = /\d/;
-          for ("x" === t3[e3] && (e3++, i3 = /[\da-fA-F]/); e3 < t3.length; e3++) {
-            if (";" === t3[e3]) return e3;
-            if (!t3[e3].match(i3)) break;
+    };
+    exports2.BlockBlobCommitBlockListHeaders = {
+      serializedName: "BlockBlob_commitBlockListHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobCommitBlockListHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return -1;
-        })(t2, ++e2);
-        let i2 = 0;
-        for (; e2 < t2.length; e2++, i2++) if (!(t2[e2].match(/\w/) && i2 < 20)) {
-          if (";" === t2[e2]) break;
-          return -1;
-        }
-        return e2;
-      }
-      function x(t2, e2, i2) {
-        return { err: { code: t2, msg: e2, line: i2.line || i2, col: i2.col } };
-      }
-      function N(t2) {
-        return r(t2);
-      }
-      function b(t2, e2) {
-        const i2 = t2.substring(0, e2).split(/\r?\n/);
-        return { line: i2.length, col: i2[i2.length - 1].length + 1 };
-      }
-      function E(t2) {
-        return t2.startIndex + t2[1].length;
-      }
-      const v = { preserveOrder: false, attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, removeNSPrefix: false, allowBooleanAttributes: false, parseTagValue: true, parseAttributeValue: false, trimValues: true, cdataPropName: false, numberParseOptions: { hex: true, leadingZeros: true, eNotation: true }, tagValueProcessor: function(t2, e2) {
-        return e2;
-      }, attributeValueProcessor: function(t2, e2) {
-        return e2;
-      }, stopNodes: [], alwaysCreateTextNode: false, isArray: () => false, commentPropName: false, unpairedTags: [], processEntities: true, htmlEntities: false, ignoreDeclaration: false, ignorePiTags: false, transformTagName: false, transformAttributeName: false, updateTag: function(t2, e2, i2) {
-        return t2;
-      }, captureMetaData: false };
-      let T;
-      T = "function" != typeof Symbol ? "@@xmlMetadata" : /* @__PURE__ */ Symbol("XML Node Metadata");
-      class y {
-        constructor(t2) {
-          this.tagname = t2, this.child = [], this[":@"] = {};
-        }
-        add(t2, e2) {
-          "__proto__" === t2 && (t2 = "#__proto__"), this.child.push({ [t2]: e2 });
-        }
-        addChild(t2, e2) {
-          "__proto__" === t2.tagname && (t2.tagname = "#__proto__"), t2[":@"] && Object.keys(t2[":@"]).length > 0 ? this.child.push({ [t2.tagname]: t2.child, ":@": t2[":@"] }) : this.child.push({ [t2.tagname]: t2.child }), void 0 !== e2 && (this.child[this.child.length - 1][T] = { startIndex: e2 });
-        }
-        static getMetaDataSymbol() {
-          return T;
         }
       }
-      class w {
-        constructor(t2) {
-          this.suppressValidationErr = !t2;
-        }
-        readDocType(t2, e2) {
-          const i2 = {};
-          if ("O" !== t2[e2 + 3] || "C" !== t2[e2 + 4] || "T" !== t2[e2 + 5] || "Y" !== t2[e2 + 6] || "P" !== t2[e2 + 7] || "E" !== t2[e2 + 8]) throw new Error("Invalid Tag instead of DOCTYPE");
-          {
-            e2 += 9;
-            let n2 = 1, s2 = false, r2 = false, o2 = "";
-            for (; e2 < t2.length; e2++) if ("<" !== t2[e2] || r2) if (">" === t2[e2]) {
-              if (r2 ? "-" === t2[e2 - 1] && "-" === t2[e2 - 2] && (r2 = false, n2--) : n2--, 0 === n2) break;
-            } else "[" === t2[e2] ? s2 = true : o2 += t2[e2];
-            else {
-              if (s2 && P(t2, "!ENTITY", e2)) {
-                let n3, s3;
-                e2 += 7, [n3, s3, e2] = this.readEntityExp(t2, e2 + 1, this.suppressValidationErr), -1 === s3.indexOf("&") && (i2[n3] = { regx: RegExp(`&${n3};`, "g"), val: s3 });
-              } else if (s2 && P(t2, "!ELEMENT", e2)) {
-                e2 += 8;
-                const { index: i3 } = this.readElementExp(t2, e2 + 1);
-                e2 = i3;
-              } else if (s2 && P(t2, "!ATTLIST", e2)) e2 += 8;
-              else if (s2 && P(t2, "!NOTATION", e2)) {
-                e2 += 9;
-                const { index: i3 } = this.readNotationExp(t2, e2 + 1, this.suppressValidationErr);
-                e2 = i3;
-              } else {
-                if (!P(t2, "!--", e2)) throw new Error("Invalid DOCTYPE");
-                r2 = true;
-              }
-              n2++, o2 = "";
+    };
+    exports2.BlockBlobCommitBlockListExceptionHeaders = {
+      serializedName: "BlockBlob_commitBlockListExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobCommitBlockListExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            if (0 !== n2) throw new Error("Unclosed DOCTYPE");
-          }
-          return { entities: i2, i: e2 };
-        }
-        readEntityExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]) && '"' !== t2[e2] && "'" !== t2[e2]; ) i2 += t2[e2], e2++;
-          if (O(i2), e2 = I(t2, e2), !this.suppressValidationErr) {
-            if ("SYSTEM" === t2.substring(e2, e2 + 6).toUpperCase()) throw new Error("External entities are not supported");
-            if ("%" === t2[e2]) throw new Error("Parameter entities are not supported");
           }
-          let n2 = "";
-          return [e2, n2] = this.readIdentifierVal(t2, e2, "entity"), [i2, n2, --e2];
-        }
-        readNotationExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
-          !this.suppressValidationErr && O(i2), e2 = I(t2, e2);
-          const n2 = t2.substring(e2, e2 + 6).toUpperCase();
-          if (!this.suppressValidationErr && "SYSTEM" !== n2 && "PUBLIC" !== n2) throw new Error(`Expected SYSTEM or PUBLIC, found "${n2}"`);
-          e2 += n2.length, e2 = I(t2, e2);
-          let s2 = null, r2 = null;
-          if ("PUBLIC" === n2) [e2, s2] = this.readIdentifierVal(t2, e2, "publicIdentifier"), '"' !== t2[e2 = I(t2, e2)] && "'" !== t2[e2] || ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"));
-          else if ("SYSTEM" === n2 && ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"), !this.suppressValidationErr && !r2)) throw new Error("Missing mandatory system identifier for SYSTEM notation");
-          return { notationName: i2, publicIdentifier: s2, systemIdentifier: r2, index: --e2 };
-        }
-        readIdentifierVal(t2, e2, i2) {
-          let n2 = "";
-          const s2 = t2[e2];
-          if ('"' !== s2 && "'" !== s2) throw new Error(`Expected quoted string, found "${s2}"`);
-          for (e2++; e2 < t2.length && t2[e2] !== s2; ) n2 += t2[e2], e2++;
-          if (t2[e2] !== s2) throw new Error(`Unterminated ${i2} value`);
-          return [++e2, n2];
-        }
-        readElementExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
-          if (!this.suppressValidationErr && !r(i2)) throw new Error(`Invalid element name: "${i2}"`);
-          let n2 = "";
-          if ("E" === t2[e2 = I(t2, e2)] && P(t2, "MPTY", e2)) e2 += 4;
-          else if ("A" === t2[e2] && P(t2, "NY", e2)) e2 += 2;
-          else if ("(" === t2[e2]) {
-            for (e2++; e2 < t2.length && ")" !== t2[e2]; ) n2 += t2[e2], e2++;
-            if (")" !== t2[e2]) throw new Error("Unterminated content model");
-          } else if (!this.suppressValidationErr) throw new Error(`Invalid Element Expression, found "${t2[e2]}"`);
-          return { elementName: i2, contentModel: n2.trim(), index: e2 };
         }
-        readAttlistExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
-          O(i2), e2 = I(t2, e2);
-          let n2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) n2 += t2[e2], e2++;
-          if (!O(n2)) throw new Error(`Invalid attribute name: "${n2}"`);
-          e2 = I(t2, e2);
-          let s2 = "";
-          if ("NOTATION" === t2.substring(e2, e2 + 8).toUpperCase()) {
-            if (s2 = "NOTATION", "(" !== t2[e2 = I(t2, e2 += 8)]) throw new Error(`Expected '(', found "${t2[e2]}"`);
-            e2++;
-            let i3 = [];
-            for (; e2 < t2.length && ")" !== t2[e2]; ) {
-              let n3 = "";
-              for (; e2 < t2.length && "|" !== t2[e2] && ")" !== t2[e2]; ) n3 += t2[e2], e2++;
-              if (n3 = n3.trim(), !O(n3)) throw new Error(`Invalid notation name: "${n3}"`);
-              i3.push(n3), "|" === t2[e2] && (e2++, e2 = I(t2, e2));
+      }
+    };
+    exports2.BlockBlobGetBlockListHeaders = {
+      serializedName: "BlockBlob_getBlockListHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobGetBlockListHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentLength: {
+            serializedName: "x-ms-blob-content-length",
+            xmlName: "x-ms-blob-content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            if (")" !== t2[e2]) throw new Error("Unterminated list of notations");
-            e2++, s2 += " (" + i3.join("|") + ")";
-          } else {
-            for (; e2 < t2.length && !/\s/.test(t2[e2]); ) s2 += t2[e2], e2++;
-            const i3 = ["CDATA", "ID", "IDREF", "IDREFS", "ENTITY", "ENTITIES", "NMTOKEN", "NMTOKENS"];
-            if (!this.suppressValidationErr && !i3.includes(s2.toUpperCase())) throw new Error(`Invalid attribute type: "${s2}"`);
           }
-          e2 = I(t2, e2);
-          let r2 = "";
-          return "#REQUIRED" === t2.substring(e2, e2 + 8).toUpperCase() ? (r2 = "#REQUIRED", e2 += 8) : "#IMPLIED" === t2.substring(e2, e2 + 7).toUpperCase() ? (r2 = "#IMPLIED", e2 += 7) : [e2, r2] = this.readIdentifierVal(t2, e2, "ATTLIST"), { elementName: i2, attributeName: n2, attributeType: s2, defaultValue: r2, index: e2 };
         }
       }
-      const I = (t2, e2) => {
-        for (; e2 < t2.length && /\s/.test(t2[e2]); ) e2++;
-        return e2;
-      };
-      function P(t2, e2, i2) {
-        for (let n2 = 0; n2 < e2.length; n2++) if (e2[n2] !== t2[i2 + n2 + 1]) return false;
-        return true;
-      }
-      function O(t2) {
-        if (r(t2)) return t2;
-        throw new Error(`Invalid entity name ${t2}`);
-      }
-      const A = /^[-+]?0x[a-fA-F0-9]+$/, S = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/, C = { hex: true, leadingZeros: true, decimalPoint: ".", eNotation: true };
-      const V = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;
-      function $(t2) {
-        return "function" == typeof t2 ? t2 : Array.isArray(t2) ? (e2) => {
-          for (const i2 of t2) {
-            if ("string" == typeof i2 && e2 === i2) return true;
-            if (i2 instanceof RegExp && i2.test(e2)) return true;
-          }
-        } : () => false;
-      }
-      class D {
-        constructor(t2) {
-          if (this.options = t2, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = { apos: { regex: /&(apos|#39|#x27);/g, val: "'" }, gt: { regex: /&(gt|#62|#x3E);/g, val: ">" }, lt: { regex: /&(lt|#60|#x3C);/g, val: "<" }, quot: { regex: /&(quot|#34|#x22);/g, val: '"' } }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }, this.htmlEntities = { space: { regex: /&(nbsp|#160);/g, val: " " }, cent: { regex: /&(cent|#162);/g, val: "\xA2" }, pound: { regex: /&(pound|#163);/g, val: "\xA3" }, yen: { regex: /&(yen|#165);/g, val: "\xA5" }, euro: { regex: /&(euro|#8364);/g, val: "\u20AC" }, copyright: { regex: /&(copy|#169);/g, val: "\xA9" }, reg: { regex: /&(reg|#174);/g, val: "\xAE" }, inr: { regex: /&(inr|#8377);/g, val: "\u20B9" }, num_dec: { regex: /&#([0-9]{1,7});/g, val: (t3, e2) => Z(e2, 10, "&#") }, num_hex: { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (t3, e2) => Z(e2, 16, "&#x") } }, this.addExternalEntities = j, this.parseXml = L, this.parseTextData = M, this.resolveNameSpace = F, this.buildAttributesMap = k, this.isItStopNode = Y, this.replaceEntitiesValue = B, this.readStopNodeData = W, this.saveTextToParentTag = R, this.addChild = U, this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.options.stopNodes && this.options.stopNodes.length > 0) {
-            this.stopNodesExact = /* @__PURE__ */ new Set(), this.stopNodesWildcard = /* @__PURE__ */ new Set();
-            for (let t3 = 0; t3 < this.options.stopNodes.length; t3++) {
-              const e2 = this.options.stopNodes[t3];
-              "string" == typeof e2 && (e2.startsWith("*.") ? this.stopNodesWildcard.add(e2.substring(2)) : this.stopNodesExact.add(e2));
+    };
+    exports2.BlockBlobGetBlockListExceptionHeaders = {
+      serializedName: "BlockBlob_getBlockListExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobGetBlockListExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
       }
-      function j(t2) {
-        const e2 = Object.keys(t2);
-        for (let i2 = 0; i2 < e2.length; i2++) {
-          const n2 = e2[i2];
-          this.lastEntities[n2] = { regex: new RegExp("&" + n2 + ";", "g"), val: t2[n2] };
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js
+var require_parameters = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.action3 = exports2.action2 = exports2.leaseId1 = exports2.action1 = exports2.proposedLeaseId = exports2.duration = exports2.action = exports2.comp10 = exports2.sourceLeaseId = exports2.sourceContainerName = exports2.comp9 = exports2.deletedContainerVersion = exports2.deletedContainerName = exports2.comp8 = exports2.containerAcl = exports2.comp7 = exports2.comp6 = exports2.ifUnmodifiedSince = exports2.ifModifiedSince = exports2.leaseId = exports2.preventEncryptionScopeOverride = exports2.defaultEncryptionScope = exports2.access = exports2.metadata = exports2.restype2 = exports2.where = exports2.comp5 = exports2.multipartContentType = exports2.contentLength = exports2.comp4 = exports2.body = exports2.restype1 = exports2.comp3 = exports2.keyInfo = exports2.include = exports2.maxPageSize = exports2.marker = exports2.prefix = exports2.comp2 = exports2.comp1 = exports2.accept1 = exports2.requestId = exports2.version = exports2.timeoutInSeconds = exports2.comp = exports2.restype = exports2.url = exports2.accept = exports2.blobServiceProperties = exports2.contentType = void 0;
+    exports2.fileRequestIntent = exports2.copySourceTags = exports2.copySourceAuthorization = exports2.sourceContentMD5 = exports2.xMsRequiresSync = exports2.legalHold1 = exports2.sealBlob = exports2.blobTagsString = exports2.copySource = exports2.sourceIfTags = exports2.sourceIfNoneMatch = exports2.sourceIfMatch = exports2.sourceIfUnmodifiedSince = exports2.sourceIfModifiedSince = exports2.rehydratePriority = exports2.tier = exports2.comp14 = exports2.encryptionScope = exports2.legalHold = exports2.comp13 = exports2.immutabilityPolicyMode = exports2.immutabilityPolicyExpiry = exports2.comp12 = exports2.blobContentDisposition = exports2.blobContentLanguage = exports2.blobContentEncoding = exports2.blobContentMD5 = exports2.blobContentType = exports2.blobCacheControl = exports2.expiresOn = exports2.expiryOptions = exports2.comp11 = exports2.blobDeleteType = exports2.deleteSnapshots = exports2.ifTags = exports2.ifNoneMatch = exports2.ifMatch = exports2.encryptionAlgorithm = exports2.encryptionKeySha256 = exports2.encryptionKey = exports2.rangeGetContentCRC64 = exports2.rangeGetContentMD5 = exports2.range = exports2.versionId = exports2.snapshot = exports2.delimiter = exports2.include1 = exports2.proposedLeaseId1 = exports2.action4 = exports2.breakPeriod = void 0;
+    exports2.listType = exports2.comp25 = exports2.blocks = exports2.blockId = exports2.comp24 = exports2.copySourceBlobProperties = exports2.blobType2 = exports2.comp23 = exports2.sourceRange1 = exports2.appendPosition = exports2.maxSize = exports2.comp22 = exports2.blobType1 = exports2.comp21 = exports2.sequenceNumberAction = exports2.prevSnapshotUrl = exports2.prevsnapshot = exports2.comp20 = exports2.range1 = exports2.sourceContentCrc64 = exports2.sourceRange = exports2.sourceUrl = exports2.pageWrite1 = exports2.ifSequenceNumberEqualTo = exports2.ifSequenceNumberLessThan = exports2.ifSequenceNumberLessThanOrEqualTo = exports2.pageWrite = exports2.comp19 = exports2.accept2 = exports2.body1 = exports2.contentType1 = exports2.blobSequenceNumber = exports2.blobContentLength = exports2.blobType = exports2.transactionalContentCrc64 = exports2.transactionalContentMD5 = exports2.tags = exports2.comp18 = exports2.comp17 = exports2.queryRequest = exports2.tier1 = exports2.comp16 = exports2.copyId = exports2.copyActionAbortConstant = exports2.comp15 = void 0;
+    var mappers_js_1 = require_mappers();
+    exports2.contentType = {
+      parameterPath: ["options", "contentType"],
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Content-Type",
+        type: {
+          name: "String"
         }
       }
-      function M(t2, e2, i2, n2, s2, r2, o2) {
-        if (void 0 !== t2 && (this.options.trimValues && !n2 && (t2 = t2.trim()), t2.length > 0)) {
-          o2 || (t2 = this.replaceEntitiesValue(t2));
-          const n3 = this.options.tagValueProcessor(e2, t2, i2, s2, r2);
-          return null == n3 ? t2 : typeof n3 != typeof t2 || n3 !== t2 ? n3 : this.options.trimValues || t2.trim() === t2 ? q(t2, this.options.parseTagValue, this.options.numberParseOptions) : t2;
+    };
+    exports2.blobServiceProperties = {
+      parameterPath: "blobServiceProperties",
+      mapper: mappers_js_1.BlobServiceProperties
+    };
+    exports2.accept = {
+      parameterPath: "accept",
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Accept",
+        type: {
+          name: "String"
         }
       }
-      function F(t2) {
-        if (this.options.removeNSPrefix) {
-          const e2 = t2.split(":"), i2 = "/" === t2.charAt(0) ? "/" : "";
-          if ("xmlns" === e2[0]) return "";
-          2 === e2.length && (t2 = i2 + e2[1]);
+    };
+    exports2.url = {
+      parameterPath: "url",
+      mapper: {
+        serializedName: "url",
+        required: true,
+        xmlName: "url",
+        type: {
+          name: "String"
+        }
+      },
+      skipEncoding: true
+    };
+    exports2.restype = {
+      parameterPath: "restype",
+      mapper: {
+        defaultValue: "service",
+        isConstant: true,
+        serializedName: "restype",
+        type: {
+          name: "String"
         }
-        return t2;
       }
-      const _2 = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm");
-      function k(t2, e2) {
-        if (true !== this.options.ignoreAttributes && "string" == typeof t2) {
-          const i2 = s(t2, _2), n2 = i2.length, r2 = {};
-          for (let t3 = 0; t3 < n2; t3++) {
-            const n3 = this.resolveNameSpace(i2[t3][1]);
-            if (this.ignoreAttributesFn(n3, e2)) continue;
-            let s2 = i2[t3][4], o2 = this.options.attributeNamePrefix + n3;
-            if (n3.length) if (this.options.transformAttributeName && (o2 = this.options.transformAttributeName(o2)), "__proto__" === o2 && (o2 = "#__proto__"), void 0 !== s2) {
-              this.options.trimValues && (s2 = s2.trim()), s2 = this.replaceEntitiesValue(s2);
-              const t4 = this.options.attributeValueProcessor(n3, s2, e2);
-              r2[o2] = null == t4 ? s2 : typeof t4 != typeof s2 || t4 !== s2 ? t4 : q(s2, this.options.parseAttributeValue, this.options.numberParseOptions);
-            } else this.options.allowBooleanAttributes && (r2[o2] = true);
-          }
-          if (!Object.keys(r2).length) return;
-          if (this.options.attributesGroupName) {
-            const t3 = {};
-            return t3[this.options.attributesGroupName] = r2, t3;
-          }
-          return r2;
+    };
+    exports2.comp = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "properties",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      const L = function(t2) {
-        t2 = t2.replace(/\r\n?/g, "\n");
-        const e2 = new y("!xml");
-        let i2 = e2, n2 = "", s2 = "";
-        const r2 = new w(this.options.processEntities);
-        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2]) if ("/" === t2[o2 + 1]) {
-          const e3 = G(t2, ">", o2, "Closing Tag is not closed.");
-          let r3 = t2.substring(o2 + 2, e3).trim();
-          if (this.options.removeNSPrefix) {
-            const t3 = r3.indexOf(":");
-            -1 !== t3 && (r3 = r3.substr(t3 + 1));
-          }
-          this.options.transformTagName && (r3 = this.options.transformTagName(r3)), i2 && (n2 = this.saveTextToParentTag(n2, i2, s2));
-          const a2 = s2.substring(s2.lastIndexOf(".") + 1);
-          if (r3 && -1 !== this.options.unpairedTags.indexOf(r3)) throw new Error(`Unpaired tag can not be used as closing tag: `);
-          let l2 = 0;
-          a2 && -1 !== this.options.unpairedTags.indexOf(a2) ? (l2 = s2.lastIndexOf(".", s2.lastIndexOf(".") - 1), this.tagsNodeStack.pop()) : l2 = s2.lastIndexOf("."), s2 = s2.substring(0, l2), i2 = this.tagsNodeStack.pop(), n2 = "", o2 = e3;
-        } else if ("?" === t2[o2 + 1]) {
-          let e3 = X(t2, o2, false, "?>");
-          if (!e3) throw new Error("Pi Tag is not closed.");
-          if (n2 = this.saveTextToParentTag(n2, i2, s2), this.options.ignoreDeclaration && "?xml" === e3.tagName || this.options.ignorePiTags) ;
-          else {
-            const t3 = new y(e3.tagName);
-            t3.add(this.options.textNodeName, ""), e3.tagName !== e3.tagExp && e3.attrExpPresent && (t3[":@"] = this.buildAttributesMap(e3.tagExp, s2)), this.addChild(i2, t3, s2, o2);
-          }
-          o2 = e3.closeIndex + 1;
-        } else if ("!--" === t2.substr(o2 + 1, 3)) {
-          const e3 = G(t2, "-->", o2 + 4, "Comment is not closed.");
-          if (this.options.commentPropName) {
-            const r3 = t2.substring(o2 + 4, e3 - 2);
-            n2 = this.saveTextToParentTag(n2, i2, s2), i2.add(this.options.commentPropName, [{ [this.options.textNodeName]: r3 }]);
-          }
-          o2 = e3;
-        } else if ("!D" === t2.substr(o2 + 1, 2)) {
-          const e3 = r2.readDocType(t2, o2);
-          this.docTypeEntities = e3.entities, o2 = e3.i;
-        } else if ("![" === t2.substr(o2 + 1, 2)) {
-          const e3 = G(t2, "]]>", o2, "CDATA is not closed.") - 2, r3 = t2.substring(o2 + 9, e3);
-          n2 = this.saveTextToParentTag(n2, i2, s2);
-          let a2 = this.parseTextData(r3, i2.tagname, s2, true, false, true, true);
-          null == a2 && (a2 = ""), this.options.cdataPropName ? i2.add(this.options.cdataPropName, [{ [this.options.textNodeName]: r3 }]) : i2.add(this.options.textNodeName, a2), o2 = e3 + 2;
-        } else {
-          let r3 = X(t2, o2, this.options.removeNSPrefix), a2 = r3.tagName;
-          const l2 = r3.rawTagName;
-          let u2 = r3.tagExp, h2 = r3.attrExpPresent, d2 = r3.closeIndex;
-          if (this.options.transformTagName) {
-            const t3 = this.options.transformTagName(a2);
-            u2 === a2 && (u2 = t3), a2 = t3;
-          }
-          i2 && n2 && "!xml" !== i2.tagname && (n2 = this.saveTextToParentTag(n2, i2, s2, false));
-          const p2 = i2;
-          p2 && -1 !== this.options.unpairedTags.indexOf(p2.tagname) && (i2 = this.tagsNodeStack.pop(), s2 = s2.substring(0, s2.lastIndexOf("."))), a2 !== e2.tagname && (s2 += s2 ? "." + a2 : a2);
-          const f2 = o2;
-          if (this.isItStopNode(this.stopNodesExact, this.stopNodesWildcard, s2, a2)) {
-            let e3 = "";
-            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) "/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), o2 = r3.closeIndex;
-            else if (-1 !== this.options.unpairedTags.indexOf(a2)) o2 = r3.closeIndex;
-            else {
-              const i3 = this.readStopNodeData(t2, l2, d2 + 1);
-              if (!i3) throw new Error(`Unexpected end of ${l2}`);
-              o2 = i3.i, e3 = i3.tagContent;
-            }
-            const n3 = new y(a2);
-            a2 !== u2 && h2 && (n3[":@"] = this.buildAttributesMap(u2, s2)), e3 && (e3 = this.parseTextData(e3, a2, s2, true, h2, true, true)), s2 = s2.substr(0, s2.lastIndexOf(".")), n3.add(this.options.textNodeName, e3), this.addChild(i2, n3, s2, f2);
-          } else {
-            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) {
-              if ("/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), this.options.transformTagName) {
-                const t4 = this.options.transformTagName(a2);
-                u2 === a2 && (u2 = t4), a2 = t4;
-              }
-              const t3 = new y(a2);
-              a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), s2 = s2.substr(0, s2.lastIndexOf("."));
-            } else {
-              const t3 = new y(a2);
-              this.tagsNodeStack.push(i2), a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), i2 = t3;
-            }
-            n2 = "", o2 = d2;
-          }
+    };
+    exports2.timeoutInSeconds = {
+      parameterPath: ["options", "timeoutInSeconds"],
+      mapper: {
+        constraints: {
+          InclusiveMinimum: 0
+        },
+        serializedName: "timeout",
+        xmlName: "timeout",
+        type: {
+          name: "Number"
         }
-        else n2 += t2[o2];
-        return e2.child;
-      };
-      function U(t2, e2, i2, n2) {
-        this.options.captureMetaData || (n2 = void 0);
-        const s2 = this.options.updateTag(e2.tagname, i2, e2[":@"]);
-        false === s2 || ("string" == typeof s2 ? (e2.tagname = s2, t2.addChild(e2, n2)) : t2.addChild(e2, n2));
       }
-      const B = function(t2) {
-        if (this.options.processEntities) {
-          for (let e2 in this.docTypeEntities) {
-            const i2 = this.docTypeEntities[e2];
-            t2 = t2.replace(i2.regx, i2.val);
-          }
-          for (let e2 in this.lastEntities) {
-            const i2 = this.lastEntities[e2];
-            t2 = t2.replace(i2.regex, i2.val);
-          }
-          if (this.options.htmlEntities) for (let e2 in this.htmlEntities) {
-            const i2 = this.htmlEntities[e2];
-            t2 = t2.replace(i2.regex, i2.val);
-          }
-          t2 = t2.replace(this.ampEntity.regex, this.ampEntity.val);
+    };
+    exports2.version = {
+      parameterPath: "version",
+      mapper: {
+        defaultValue: "2025-11-05",
+        isConstant: true,
+        serializedName: "x-ms-version",
+        type: {
+          name: "String"
         }
-        return t2;
-      };
-      function R(t2, e2, i2, n2) {
-        return t2 && (void 0 === n2 && (n2 = 0 === e2.child.length), void 0 !== (t2 = this.parseTextData(t2, e2.tagname, i2, false, !!e2[":@"] && 0 !== Object.keys(e2[":@"]).length, n2)) && "" !== t2 && e2.add(this.options.textNodeName, t2), t2 = ""), t2;
       }
-      function Y(t2, e2, i2, n2) {
-        return !(!e2 || !e2.has(n2)) || !(!t2 || !t2.has(i2));
+    };
+    exports2.requestId = {
+      parameterPath: ["options", "requestId"],
+      mapper: {
+        serializedName: "x-ms-client-request-id",
+        xmlName: "x-ms-client-request-id",
+        type: {
+          name: "String"
+        }
       }
-      function G(t2, e2, i2, n2) {
-        const s2 = t2.indexOf(e2, i2);
-        if (-1 === s2) throw new Error(n2);
-        return s2 + e2.length - 1;
+    };
+    exports2.accept1 = {
+      parameterPath: "accept",
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Accept",
+        type: {
+          name: "String"
+        }
       }
-      function X(t2, e2, i2, n2 = ">") {
-        const s2 = (function(t3, e3, i3 = ">") {
-          let n3, s3 = "";
-          for (let r3 = e3; r3 < t3.length; r3++) {
-            let e4 = t3[r3];
-            if (n3) e4 === n3 && (n3 = "");
-            else if ('"' === e4 || "'" === e4) n3 = e4;
-            else if (e4 === i3[0]) {
-              if (!i3[1]) return { data: s3, index: r3 };
-              if (t3[r3 + 1] === i3[1]) return { data: s3, index: r3 };
-            } else "	" === e4 && (e4 = " ");
-            s3 += e4;
-          }
-        })(t2, e2 + 1, n2);
-        if (!s2) return;
-        let r2 = s2.data;
-        const o2 = s2.index, a2 = r2.search(/\s/);
-        let l2 = r2, u2 = true;
-        -1 !== a2 && (l2 = r2.substring(0, a2), r2 = r2.substring(a2 + 1).trimStart());
-        const h2 = l2;
-        if (i2) {
-          const t3 = l2.indexOf(":");
-          -1 !== t3 && (l2 = l2.substr(t3 + 1), u2 = l2 !== s2.data.substr(t3 + 1));
+    };
+    exports2.comp1 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "stats",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        return { tagName: l2, tagExp: r2, closeIndex: o2, attrExpPresent: u2, rawTagName: h2 };
       }
-      function W(t2, e2, i2) {
-        const n2 = i2;
-        let s2 = 1;
-        for (; i2 < t2.length; i2++) if ("<" === t2[i2]) if ("/" === t2[i2 + 1]) {
-          const r2 = G(t2, ">", i2, `${e2} is not closed`);
-          if (t2.substring(i2 + 2, r2).trim() === e2 && (s2--, 0 === s2)) return { tagContent: t2.substring(n2, i2), i: r2 };
-          i2 = r2;
-        } else if ("?" === t2[i2 + 1]) i2 = G(t2, "?>", i2 + 1, "StopNode is not closed.");
-        else if ("!--" === t2.substr(i2 + 1, 3)) i2 = G(t2, "-->", i2 + 3, "StopNode is not closed.");
-        else if ("![" === t2.substr(i2 + 1, 2)) i2 = G(t2, "]]>", i2, "StopNode is not closed.") - 2;
-        else {
-          const n3 = X(t2, i2, ">");
-          n3 && ((n3 && n3.tagName) === e2 && "/" !== n3.tagExp[n3.tagExp.length - 1] && s2++, i2 = n3.closeIndex);
+    };
+    exports2.comp2 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "list",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      function q(t2, e2, i2) {
-        if (e2 && "string" == typeof t2) {
-          const e3 = t2.trim();
-          return "true" === e3 || "false" !== e3 && (function(t3, e4 = {}) {
-            if (e4 = Object.assign({}, C, e4), !t3 || "string" != typeof t3) return t3;
-            let i3 = t3.trim();
-            if (void 0 !== e4.skipLike && e4.skipLike.test(i3)) return t3;
-            if ("0" === t3) return 0;
-            if (e4.hex && A.test(i3)) return (function(t4) {
-              if (parseInt) return parseInt(t4, 16);
-              if (Number.parseInt) return Number.parseInt(t4, 16);
-              if (window && window.parseInt) return window.parseInt(t4, 16);
-              throw new Error("parseInt, Number.parseInt, window.parseInt are not supported");
-            })(i3);
-            if (-1 !== i3.search(/.+[eE].+/)) return (function(t4, e5, i4) {
-              if (!i4.eNotation) return t4;
-              const n3 = e5.match(V);
-              if (n3) {
-                let s2 = n3[1] || "";
-                const r2 = -1 === n3[3].indexOf("e") ? "E" : "e", o2 = n3[2], a2 = s2 ? t4[o2.length + 1] === r2 : t4[o2.length] === r2;
-                return o2.length > 1 && a2 ? t4 : 1 !== o2.length || !n3[3].startsWith(`.${r2}`) && n3[3][0] !== r2 ? i4.leadingZeros && !a2 ? (e5 = (n3[1] || "") + n3[3], Number(e5)) : t4 : Number(e5);
-              }
-              return t4;
-            })(t3, i3, e4);
-            {
-              const s2 = S.exec(i3);
-              if (s2) {
-                const r2 = s2[1] || "", o2 = s2[2];
-                let a2 = (n2 = s2[3]) && -1 !== n2.indexOf(".") ? ("." === (n2 = n2.replace(/0+$/, "")) ? n2 = "0" : "." === n2[0] ? n2 = "0" + n2 : "." === n2[n2.length - 1] && (n2 = n2.substring(0, n2.length - 1)), n2) : n2;
-                const l2 = r2 ? "." === t3[o2.length + 1] : "." === t3[o2.length];
-                if (!e4.leadingZeros && (o2.length > 1 || 1 === o2.length && !l2)) return t3;
-                {
-                  const n3 = Number(i3), s3 = String(n3);
-                  if (0 === n3 || -0 === n3) return n3;
-                  if (-1 !== s3.search(/[eE]/)) return e4.eNotation ? n3 : t3;
-                  if (-1 !== i3.indexOf(".")) return "0" === s3 || s3 === a2 || s3 === `${r2}${a2}` ? n3 : t3;
-                  let l3 = o2 ? a2 : i3;
-                  return o2 ? l3 === s3 || r2 + l3 === s3 ? n3 : t3 : l3 === s3 || l3 === r2 + s3 ? n3 : t3;
-                }
-              }
-              return t3;
-            }
-            var n2;
-          })(t2, i2);
+    };
+    exports2.prefix = {
+      parameterPath: ["options", "prefix"],
+      mapper: {
+        serializedName: "prefix",
+        xmlName: "prefix",
+        type: {
+          name: "String"
         }
-        return void 0 !== t2 ? t2 : "";
       }
-      function Z(t2, e2, i2) {
-        const n2 = Number.parseInt(t2, e2);
-        return n2 >= 0 && n2 <= 1114111 ? String.fromCodePoint(n2) : i2 + t2 + ";";
+    };
+    exports2.marker = {
+      parameterPath: ["options", "marker"],
+      mapper: {
+        serializedName: "marker",
+        xmlName: "marker",
+        type: {
+          name: "String"
+        }
       }
-      const K = y.getMetaDataSymbol();
-      function Q(t2, e2) {
-        return z(t2, e2);
+    };
+    exports2.maxPageSize = {
+      parameterPath: ["options", "maxPageSize"],
+      mapper: {
+        constraints: {
+          InclusiveMinimum: 1
+        },
+        serializedName: "maxresults",
+        xmlName: "maxresults",
+        type: {
+          name: "Number"
+        }
       }
-      function z(t2, e2, i2) {
-        let n2;
-        const s2 = {};
-        for (let r2 = 0; r2 < t2.length; r2++) {
-          const o2 = t2[r2], a2 = J(o2);
-          let l2 = "";
-          if (l2 = void 0 === i2 ? a2 : i2 + "." + a2, a2 === e2.textNodeName) void 0 === n2 ? n2 = o2[a2] : n2 += "" + o2[a2];
-          else {
-            if (void 0 === a2) continue;
-            if (o2[a2]) {
-              let t3 = z(o2[a2], e2, l2);
-              const i3 = tt(t3, e2);
-              void 0 !== o2[K] && (t3[K] = o2[K]), o2[":@"] ? H(t3, o2[":@"], l2, e2) : 1 !== Object.keys(t3).length || void 0 === t3[e2.textNodeName] || e2.alwaysCreateTextNode ? 0 === Object.keys(t3).length && (e2.alwaysCreateTextNode ? t3[e2.textNodeName] = "" : t3 = "") : t3 = t3[e2.textNodeName], void 0 !== s2[a2] && s2.hasOwnProperty(a2) ? (Array.isArray(s2[a2]) || (s2[a2] = [s2[a2]]), s2[a2].push(t3)) : e2.isArray(a2, l2, i3) ? s2[a2] = [t3] : s2[a2] = t3;
+    };
+    exports2.include = {
+      parameterPath: ["options", "include"],
+      mapper: {
+        serializedName: "include",
+        xmlName: "include",
+        xmlElementName: "ListContainersIncludeType",
+        type: {
+          name: "Sequence",
+          element: {
+            type: {
+              name: "Enum",
+              allowedValues: ["metadata", "deleted", "system"]
             }
           }
         }
-        return "string" == typeof n2 ? n2.length > 0 && (s2[e2.textNodeName] = n2) : void 0 !== n2 && (s2[e2.textNodeName] = n2), s2;
+      },
+      collectionFormat: "CSV"
+    };
+    exports2.keyInfo = {
+      parameterPath: "keyInfo",
+      mapper: mappers_js_1.KeyInfo
+    };
+    exports2.comp3 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "userdelegationkey",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.restype1 = {
+      parameterPath: "restype",
+      mapper: {
+        defaultValue: "account",
+        isConstant: true,
+        serializedName: "restype",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.body = {
+      parameterPath: "body",
+      mapper: {
+        serializedName: "body",
+        required: true,
+        xmlName: "body",
+        type: {
+          name: "Stream"
+        }
+      }
+    };
+    exports2.comp4 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "batch",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      function J(t2) {
-        const e2 = Object.keys(t2);
-        for (let t3 = 0; t3 < e2.length; t3++) {
-          const i2 = e2[t3];
-          if (":@" !== i2) return i2;
+    };
+    exports2.contentLength = {
+      parameterPath: "contentLength",
+      mapper: {
+        serializedName: "Content-Length",
+        required: true,
+        xmlName: "Content-Length",
+        type: {
+          name: "Number"
         }
       }
-      function H(t2, e2, i2, n2) {
-        if (e2) {
-          const s2 = Object.keys(e2), r2 = s2.length;
-          for (let o2 = 0; o2 < r2; o2++) {
-            const r3 = s2[o2];
-            n2.isArray(r3, i2 + "." + r3, true, true) ? t2[r3] = [e2[r3]] : t2[r3] = e2[r3];
-          }
+    };
+    exports2.multipartContentType = {
+      parameterPath: "multipartContentType",
+      mapper: {
+        serializedName: "Content-Type",
+        required: true,
+        xmlName: "Content-Type",
+        type: {
+          name: "String"
         }
       }
-      function tt(t2, e2) {
-        const { textNodeName: i2 } = e2, n2 = Object.keys(t2).length;
-        return 0 === n2 || !(1 !== n2 || !t2[i2] && "boolean" != typeof t2[i2] && 0 !== t2[i2]);
-      }
-      class et {
-        constructor(t2) {
-          this.externalEntities = {}, this.options = (function(t3) {
-            return Object.assign({}, v, t3);
-          })(t2);
-        }
-        parse(t2, e2) {
-          if ("string" != typeof t2 && t2.toString) t2 = t2.toString();
-          else if ("string" != typeof t2) throw new Error("XML data is accepted in String or Bytes[] form.");
-          if (e2) {
-            true === e2 && (e2 = {});
-            const i3 = a(t2, e2);
-            if (true !== i3) throw Error(`${i3.err.msg}:${i3.err.line}:${i3.err.col}`);
-          }
-          const i2 = new D(this.options);
-          i2.addExternalEntities(this.externalEntities);
-          const n2 = i2.parseXml(t2);
-          return this.options.preserveOrder || void 0 === n2 ? n2 : Q(n2, this.options);
-        }
-        addEntity(t2, e2) {
-          if (-1 !== e2.indexOf("&")) throw new Error("Entity value can't have '&'");
-          if (-1 !== t2.indexOf("&") || -1 !== t2.indexOf(";")) throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");
-          if ("&" === e2) throw new Error("An entity with value '&' is not permitted");
-          this.externalEntities[t2] = e2;
+    };
+    exports2.comp5 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "blobs",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        static getMetaDataSymbol() {
-          return y.getMetaDataSymbol();
+      }
+    };
+    exports2.where = {
+      parameterPath: ["options", "where"],
+      mapper: {
+        serializedName: "where",
+        xmlName: "where",
+        type: {
+          name: "String"
         }
       }
-      function it(t2, e2) {
-        let i2 = "";
-        return e2.format && e2.indentBy.length > 0 && (i2 = "\n"), nt(t2, e2, "", i2);
+    };
+    exports2.restype2 = {
+      parameterPath: "restype",
+      mapper: {
+        defaultValue: "container",
+        isConstant: true,
+        serializedName: "restype",
+        type: {
+          name: "String"
+        }
       }
-      function nt(t2, e2, i2, n2) {
-        let s2 = "", r2 = false;
-        for (let o2 = 0; o2 < t2.length; o2++) {
-          const a2 = t2[o2], l2 = st(a2);
-          if (void 0 === l2) continue;
-          let u2 = "";
-          if (u2 = 0 === i2.length ? l2 : `${i2}.${l2}`, l2 === e2.textNodeName) {
-            let t3 = a2[l2];
-            ot(u2, e2) || (t3 = e2.tagValueProcessor(l2, t3), t3 = at(t3, e2)), r2 && (s2 += n2), s2 += t3, r2 = false;
-            continue;
-          }
-          if (l2 === e2.cdataPropName) {
-            r2 && (s2 += n2), s2 += ``, r2 = false;
-            continue;
-          }
-          if (l2 === e2.commentPropName) {
-            s2 += n2 + ``, r2 = true;
-            continue;
-          }
-          if ("?" === l2[0]) {
-            const t3 = rt(a2[":@"], e2), i3 = "?xml" === l2 ? "" : n2;
-            let o3 = a2[l2][0][e2.textNodeName];
-            o3 = 0 !== o3.length ? " " + o3 : "", s2 += i3 + `<${l2}${o3}${t3}?>`, r2 = true;
-            continue;
-          }
-          let h2 = n2;
-          "" !== h2 && (h2 += e2.indentBy);
-          const d2 = n2 + `<${l2}${rt(a2[":@"], e2)}`, p2 = nt(a2[l2], e2, u2, h2);
-          -1 !== e2.unpairedTags.indexOf(l2) ? e2.suppressUnpairedNode ? s2 += d2 + ">" : s2 += d2 + "/>" : p2 && 0 !== p2.length || !e2.suppressEmptyNode ? p2 && p2.endsWith(">") ? s2 += d2 + `>${p2}${n2}` : (s2 += d2 + ">", p2 && "" !== n2 && (p2.includes("/>") || p2.includes("`) : s2 += d2 + "/>", r2 = true;
+    };
+    exports2.metadata = {
+      parameterPath: ["options", "metadata"],
+      mapper: {
+        serializedName: "x-ms-meta",
+        xmlName: "x-ms-meta",
+        headerCollectionPrefix: "x-ms-meta-",
+        type: {
+          name: "Dictionary",
+          value: { type: { name: "String" } }
         }
-        return s2;
       }
-      function st(t2) {
-        const e2 = Object.keys(t2);
-        for (let i2 = 0; i2 < e2.length; i2++) {
-          const n2 = e2[i2];
-          if (t2.hasOwnProperty(n2) && ":@" !== n2) return n2;
+    };
+    exports2.access = {
+      parameterPath: ["options", "access"],
+      mapper: {
+        serializedName: "x-ms-blob-public-access",
+        xmlName: "x-ms-blob-public-access",
+        type: {
+          name: "Enum",
+          allowedValues: ["container", "blob"]
         }
       }
-      function rt(t2, e2) {
-        let i2 = "";
-        if (t2 && !e2.ignoreAttributes) for (let n2 in t2) {
-          if (!t2.hasOwnProperty(n2)) continue;
-          let s2 = e2.attributeValueProcessor(n2, t2[n2]);
-          s2 = at(s2, e2), true === s2 && e2.suppressBooleanAttributes ? i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}` : i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}="${s2}"`;
+    };
+    exports2.defaultEncryptionScope = {
+      parameterPath: [
+        "options",
+        "containerEncryptionScope",
+        "defaultEncryptionScope"
+      ],
+      mapper: {
+        serializedName: "x-ms-default-encryption-scope",
+        xmlName: "x-ms-default-encryption-scope",
+        type: {
+          name: "String"
         }
-        return i2;
       }
-      function ot(t2, e2) {
-        let i2 = (t2 = t2.substr(0, t2.length - e2.textNodeName.length - 1)).substr(t2.lastIndexOf(".") + 1);
-        for (let n2 in e2.stopNodes) if (e2.stopNodes[n2] === t2 || e2.stopNodes[n2] === "*." + i2) return true;
-        return false;
+    };
+    exports2.preventEncryptionScopeOverride = {
+      parameterPath: [
+        "options",
+        "containerEncryptionScope",
+        "preventEncryptionScopeOverride"
+      ],
+      mapper: {
+        serializedName: "x-ms-deny-encryption-scope-override",
+        xmlName: "x-ms-deny-encryption-scope-override",
+        type: {
+          name: "Boolean"
+        }
       }
-      function at(t2, e2) {
-        if (t2 && t2.length > 0 && e2.processEntities) for (let i2 = 0; i2 < e2.entities.length; i2++) {
-          const n2 = e2.entities[i2];
-          t2 = t2.replace(n2.regex, n2.val);
+    };
+    exports2.leaseId = {
+      parameterPath: ["options", "leaseAccessConditions", "leaseId"],
+      mapper: {
+        serializedName: "x-ms-lease-id",
+        xmlName: "x-ms-lease-id",
+        type: {
+          name: "String"
         }
-        return t2;
       }
-      const lt = { attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, cdataPropName: false, format: false, indentBy: "  ", suppressEmptyNode: false, suppressUnpairedNode: true, suppressBooleanAttributes: true, tagValueProcessor: function(t2, e2) {
-        return e2;
-      }, attributeValueProcessor: function(t2, e2) {
-        return e2;
-      }, preserveOrder: false, commentPropName: false, unpairedTags: [], entities: [{ regex: new RegExp("&", "g"), val: "&" }, { regex: new RegExp(">", "g"), val: ">" }, { regex: new RegExp("<", "g"), val: "<" }, { regex: new RegExp("'", "g"), val: "'" }, { regex: new RegExp('"', "g"), val: """ }], processEntities: true, stopNodes: [], oneListGroup: false };
-      function ut(t2) {
-        this.options = Object.assign({}, lt, t2), true === this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {
-          return false;
-        } : (this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = pt), this.processTextOrObjNode = ht, this.options.format ? (this.indentate = dt, this.tagEndChar = ">\n", this.newLine = "\n") : (this.indentate = function() {
-          return "";
-        }, this.tagEndChar = ">", this.newLine = "");
+    };
+    exports2.ifModifiedSince = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifModifiedSince"],
+      mapper: {
+        serializedName: "If-Modified-Since",
+        xmlName: "If-Modified-Since",
+        type: {
+          name: "DateTimeRfc1123"
+        }
       }
-      function ht(t2, e2, i2, n2) {
-        const s2 = this.j2x(t2, i2 + 1, n2.concat(e2));
-        return void 0 !== t2[this.options.textNodeName] && 1 === Object.keys(t2).length ? this.buildTextValNode(t2[this.options.textNodeName], e2, s2.attrStr, i2) : this.buildObjectNode(s2.val, e2, s2.attrStr, i2);
+    };
+    exports2.ifUnmodifiedSince = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifUnmodifiedSince"],
+      mapper: {
+        serializedName: "If-Unmodified-Since",
+        xmlName: "If-Unmodified-Since",
+        type: {
+          name: "DateTimeRfc1123"
+        }
       }
-      function dt(t2) {
-        return this.options.indentBy.repeat(t2);
+    };
+    exports2.comp6 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "metadata",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      function pt(t2) {
-        return !(!t2.startsWith(this.options.attributeNamePrefix) || t2 === this.options.textNodeName) && t2.substr(this.attrPrefixLen);
+    };
+    exports2.comp7 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "acl",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      ut.prototype.build = function(t2) {
-        return this.options.preserveOrder ? it(t2, this.options) : (Array.isArray(t2) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (t2 = { [this.options.arrayNodeName]: t2 }), this.j2x(t2, 0, []).val);
-      }, ut.prototype.j2x = function(t2, e2, i2) {
-        let n2 = "", s2 = "";
-        const r2 = i2.join(".");
-        for (let o2 in t2) if (Object.prototype.hasOwnProperty.call(t2, o2)) if (void 0 === t2[o2]) this.isAttribute(o2) && (s2 += "");
-        else if (null === t2[o2]) this.isAttribute(o2) || o2 === this.options.cdataPropName ? s2 += "" : "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
-        else if (t2[o2] instanceof Date) s2 += this.buildTextValNode(t2[o2], o2, "", e2);
-        else if ("object" != typeof t2[o2]) {
-          const i3 = this.isAttribute(o2);
-          if (i3 && !this.ignoreAttributesFn(i3, r2)) n2 += this.buildAttrPairStr(i3, "" + t2[o2]);
-          else if (!i3) if (o2 === this.options.textNodeName) {
-            let e3 = this.options.tagValueProcessor(o2, "" + t2[o2]);
-            s2 += this.replaceEntitiesValue(e3);
-          } else s2 += this.buildTextValNode(t2[o2], o2, "", e2);
-        } else if (Array.isArray(t2[o2])) {
-          const n3 = t2[o2].length;
-          let r3 = "", a2 = "";
-          for (let l2 = 0; l2 < n3; l2++) {
-            const n4 = t2[o2][l2];
-            if (void 0 === n4) ;
-            else if (null === n4) "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
-            else if ("object" == typeof n4) if (this.options.oneListGroup) {
-              const t3 = this.j2x(n4, e2 + 1, i2.concat(o2));
-              r3 += t3.val, this.options.attributesGroupName && n4.hasOwnProperty(this.options.attributesGroupName) && (a2 += t3.attrStr);
-            } else r3 += this.processTextOrObjNode(n4, o2, e2, i2);
-            else if (this.options.oneListGroup) {
-              let t3 = this.options.tagValueProcessor(o2, n4);
-              t3 = this.replaceEntitiesValue(t3), r3 += t3;
-            } else r3 += this.buildTextValNode(n4, o2, "", e2);
+    };
+    exports2.containerAcl = {
+      parameterPath: ["options", "containerAcl"],
+      mapper: {
+        serializedName: "containerAcl",
+        xmlName: "SignedIdentifiers",
+        xmlIsWrapped: true,
+        xmlElementName: "SignedIdentifier",
+        type: {
+          name: "Sequence",
+          element: {
+            type: {
+              name: "Composite",
+              className: "SignedIdentifier"
+            }
           }
-          this.options.oneListGroup && (r3 = this.buildObjectNode(r3, o2, a2, e2)), s2 += r3;
-        } else if (this.options.attributesGroupName && o2 === this.options.attributesGroupName) {
-          const e3 = Object.keys(t2[o2]), i3 = e3.length;
-          for (let s3 = 0; s3 < i3; s3++) n2 += this.buildAttrPairStr(e3[s3], "" + t2[o2][e3[s3]]);
-        } else s2 += this.processTextOrObjNode(t2[o2], o2, e2, i2);
-        return { attrStr: n2, val: s2 };
-      }, ut.prototype.buildAttrPairStr = function(t2, e2) {
-        return e2 = this.options.attributeValueProcessor(t2, "" + e2), e2 = this.replaceEntitiesValue(e2), this.options.suppressBooleanAttributes && "true" === e2 ? " " + t2 : " " + t2 + '="' + e2 + '"';
-      }, ut.prototype.buildObjectNode = function(t2, e2, i2, n2) {
-        if ("" === t2) return "?" === e2[0] ? this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar;
-        {
-          let s2 = "` + this.newLine : this.indentate(n2) + "<" + e2 + i2 + r2 + this.tagEndChar + t2 + this.indentate(n2) + s2 : this.indentate(n2) + "<" + e2 + i2 + r2 + ">" + t2 + s2;
-        }
-      }, ut.prototype.closeTag = function(t2) {
-        let e2 = "";
-        return -1 !== this.options.unpairedTags.indexOf(t2) ? this.options.suppressUnpairedNode || (e2 = "/") : e2 = this.options.suppressEmptyNode ? "/" : `>` + this.newLine;
-        if (false !== this.options.commentPropName && e2 === this.options.commentPropName) return this.indentate(n2) + `` + this.newLine;
-        if ("?" === e2[0]) return this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar;
-        {
-          let s2 = this.options.tagValueProcessor(e2, t2);
-          return s2 = this.replaceEntitiesValue(s2), "" === s2 ? this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + ">" + s2 + " 0 && this.options.processEntities) for (let e2 = 0; e2 < this.options.entities.length; e2++) {
-          const i2 = this.options.entities[e2];
-          t2 = t2.replace(i2.regex, i2.val);
-        }
-        return t2;
-      };
-      const ft = { validate: a };
-      module2.exports = e;
-    })();
-  }
-});
-
-// node_modules/@azure/core-xml/dist/commonjs/xml.common.js
-var require_xml_common = __commonJS({
-  "node_modules/@azure/core-xml/dist/commonjs/xml.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
-    exports2.XML_ATTRKEY = "$";
-    exports2.XML_CHARKEY = "_";
-  }
-});
-
-// node_modules/@azure/core-xml/dist/commonjs/xml.js
-var require_xml = __commonJS({
-  "node_modules/@azure/core-xml/dist/commonjs/xml.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.stringifyXML = stringifyXML;
-    exports2.parseXML = parseXML;
-    var fast_xml_parser_1 = require_fxp();
-    var xml_common_js_1 = require_xml_common();
-    function getCommonOptions(options) {
-      var _a;
-      return {
-        attributesGroupName: xml_common_js_1.XML_ATTRKEY,
-        textNodeName: (_a = options.xmlCharKey) !== null && _a !== void 0 ? _a : xml_common_js_1.XML_CHARKEY,
-        ignoreAttributes: false,
-        suppressBooleanAttributes: false
-      };
-    }
-    function getSerializerOptions(options = {}) {
-      var _a, _b;
-      return Object.assign(Object.assign({}, getCommonOptions(options)), { attributeNamePrefix: "@_", format: true, suppressEmptyNode: true, indentBy: "", rootNodeName: (_a = options.rootName) !== null && _a !== void 0 ? _a : "root", cdataPropName: (_b = options.cdataPropName) !== null && _b !== void 0 ? _b : "__cdata" });
-    }
-    function getParserOptions(options = {}) {
-      return Object.assign(Object.assign({}, getCommonOptions(options)), { parseAttributeValue: false, parseTagValue: false, attributeNamePrefix: "", stopNodes: options.stopNodes, processEntities: true, trimValues: false });
-    }
-    function stringifyXML(obj, opts = {}) {
-      const parserOptions = getSerializerOptions(opts);
-      const j2x = new fast_xml_parser_1.XMLBuilder(parserOptions);
-      const node = { [parserOptions.rootNodeName]: obj };
-      const xmlData = j2x.build(node);
-      return `${xmlData}`.replace(/\n/g, "");
-    }
-    async function parseXML(str2, opts = {}) {
-      if (!str2) {
-        throw new Error("Document is empty");
-      }
-      const validation = fast_xml_parser_1.XMLValidator.validate(str2);
-      if (validation !== true) {
-        throw validation;
-      }
-      const parser = new fast_xml_parser_1.XMLParser(getParserOptions(opts));
-      const parsedXml = parser.parse(str2);
-      if (parsedXml["?xml"]) {
-        delete parsedXml["?xml"];
       }
-      if (!opts.includeRoot) {
-        for (const key of Object.keys(parsedXml)) {
-          const value = parsedXml[key];
-          return typeof value === "object" ? Object.assign({}, value) : value;
+    };
+    exports2.comp8 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "undelete",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      return parsedXml;
-    }
-  }
-});
-
-// node_modules/@azure/core-xml/dist/commonjs/index.js
-var require_commonjs10 = __commonJS({
-  "node_modules/@azure/core-xml/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.parseXML = exports2.stringifyXML = void 0;
-    var xml_js_1 = require_xml();
-    Object.defineProperty(exports2, "stringifyXML", { enumerable: true, get: function() {
-      return xml_js_1.stringifyXML;
-    } });
-    Object.defineProperty(exports2, "parseXML", { enumerable: true, get: function() {
-      return xml_js_1.parseXML;
-    } });
-    var xml_common_js_1 = require_xml_common();
-    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
-      return xml_common_js_1.XML_ATTRKEY;
-    } });
-    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
-      return xml_common_js_1.XML_CHARKEY;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/log.js
-var require_log5 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs2();
-    exports2.logger = (0, logger_1.createClientLogger)("storage-blob");
-  }
-});
-
-// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
-var require_AbortError3 = __commonJS({
-  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+    };
+    exports2.deletedContainerName = {
+      parameterPath: ["options", "deletedContainerName"],
+      mapper: {
+        serializedName: "x-ms-deleted-container-name",
+        xmlName: "x-ms-deleted-container-name",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js
-var require_commonjs11 = __commonJS({
-  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError_js_1 = require_AbortError3();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js
-var require_RequestPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BaseRequestPolicy = void 0;
-    var BaseRequestPolicy = class {
-      _nextPolicy;
-      _options;
-      /**
-       * The main method to implement that manipulates a request/response.
-       */
-      constructor(_nextPolicy, _options) {
-        this._nextPolicy = _nextPolicy;
-        this._options = _options;
+    exports2.deletedContainerVersion = {
+      parameterPath: ["options", "deletedContainerVersion"],
+      mapper: {
+        serializedName: "x-ms-deleted-container-version",
+        xmlName: "x-ms-deleted-container-version",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Get whether or not a log with the provided log level should be logged.
-       * @param logLevel - The log level of the log that will be logged.
-       * @returns Whether or not a log with the provided log level should be logged.
-       */
-      shouldLog(logLevel) {
-        return this._options.shouldLog(logLevel);
+    };
+    exports2.comp9 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "rename",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Attempt to log the provided message to the provided logger. If no logger was provided or if
-       * the log level does not meat the logger's threshold, then nothing will be logged.
-       * @param logLevel - The log level of this log.
-       * @param message - The message of this log.
-       */
-      log(logLevel, message) {
-        this._options.log(logLevel, message);
+    };
+    exports2.sourceContainerName = {
+      parameterPath: "sourceContainerName",
+      mapper: {
+        serializedName: "x-ms-source-container-name",
+        required: true,
+        xmlName: "x-ms-source-container-name",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.BaseRequestPolicy = BaseRequestPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js
-var require_constants15 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathStylePorts = exports2.BlobDoesNotUseCustomerSpecifiedEncryption = exports2.BlobUsesCustomerSpecifiedEncryptionMsg = exports2.StorageBlobLoggingAllowedQueryParameters = exports2.StorageBlobLoggingAllowedHeaderNames = exports2.DevelopmentConnectionString = exports2.EncryptionAlgorithmAES25 = exports2.HTTP_VERSION_1_1 = exports2.HTTP_LINE_ENDING = exports2.BATCH_MAX_PAYLOAD_IN_BYTES = exports2.BATCH_MAX_REQUEST = exports2.SIZE_1_MB = exports2.ETagAny = exports2.ETagNone = exports2.HeaderConstants = exports2.HTTPURLConnection = exports2.URLConstants = exports2.StorageOAuthScopes = exports2.REQUEST_TIMEOUT = exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = exports2.BLOCK_BLOB_MAX_BLOCKS = exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = exports2.SERVICE_VERSION = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "12.29.1";
-    exports2.SERVICE_VERSION = "2025-11-05";
-    exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = 256 * 1024 * 1024;
-    exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = 4e3 * 1024 * 1024;
-    exports2.BLOCK_BLOB_MAX_BLOCKS = 5e4;
-    exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = 8 * 1024 * 1024;
-    exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = 4 * 1024 * 1024;
-    exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = 5;
-    exports2.REQUEST_TIMEOUT = 100 * 1e3;
-    exports2.StorageOAuthScopes = "https://storage.azure.com/.default";
-    exports2.URLConstants = {
-      Parameters: {
-        FORCE_BROWSER_NO_CACHE: "_",
-        SIGNATURE: "sig",
-        SNAPSHOT: "snapshot",
-        VERSIONID: "versionid",
-        TIMEOUT: "timeout"
+    exports2.sourceLeaseId = {
+      parameterPath: ["options", "sourceLeaseId"],
+      mapper: {
+        serializedName: "x-ms-source-lease-id",
+        xmlName: "x-ms-source-lease-id",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.HTTPURLConnection = {
-      HTTP_ACCEPTED: 202,
-      HTTP_CONFLICT: 409,
-      HTTP_NOT_FOUND: 404,
-      HTTP_PRECON_FAILED: 412,
-      HTTP_RANGE_NOT_SATISFIABLE: 416
+    exports2.comp10 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "lease",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
+      }
     };
-    exports2.HeaderConstants = {
-      AUTHORIZATION: "Authorization",
-      AUTHORIZATION_SCHEME: "Bearer",
-      CONTENT_ENCODING: "Content-Encoding",
-      CONTENT_ID: "Content-ID",
-      CONTENT_LANGUAGE: "Content-Language",
-      CONTENT_LENGTH: "Content-Length",
-      CONTENT_MD5: "Content-Md5",
-      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
-      CONTENT_TYPE: "Content-Type",
-      COOKIE: "Cookie",
-      DATE: "date",
-      IF_MATCH: "if-match",
-      IF_MODIFIED_SINCE: "if-modified-since",
-      IF_NONE_MATCH: "if-none-match",
-      IF_UNMODIFIED_SINCE: "if-unmodified-since",
-      PREFIX_FOR_STORAGE: "x-ms-",
-      RANGE: "Range",
-      USER_AGENT: "User-Agent",
-      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
-      X_MS_COPY_SOURCE: "x-ms-copy-source",
-      X_MS_DATE: "x-ms-date",
-      X_MS_ERROR_CODE: "x-ms-error-code",
-      X_MS_VERSION: "x-ms-version",
-      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    exports2.action = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "acquire",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
+        }
+      }
     };
-    exports2.ETagNone = "";
-    exports2.ETagAny = "*";
-    exports2.SIZE_1_MB = 1 * 1024 * 1024;
-    exports2.BATCH_MAX_REQUEST = 256;
-    exports2.BATCH_MAX_PAYLOAD_IN_BYTES = 4 * exports2.SIZE_1_MB;
-    exports2.HTTP_LINE_ENDING = "\r\n";
-    exports2.HTTP_VERSION_1_1 = "HTTP/1.1";
-    exports2.EncryptionAlgorithmAES25 = "AES256";
-    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
-    exports2.StorageBlobLoggingAllowedHeaderNames = [
-      "Access-Control-Allow-Origin",
-      "Cache-Control",
-      "Content-Length",
-      "Content-Type",
-      "Date",
-      "Request-Id",
-      "traceparent",
-      "Transfer-Encoding",
-      "User-Agent",
-      "x-ms-client-request-id",
-      "x-ms-date",
-      "x-ms-error-code",
-      "x-ms-request-id",
-      "x-ms-return-client-request-id",
-      "x-ms-version",
-      "Accept-Ranges",
-      "Content-Disposition",
-      "Content-Encoding",
-      "Content-Language",
-      "Content-MD5",
-      "Content-Range",
-      "ETag",
-      "Last-Modified",
-      "Server",
-      "Vary",
-      "x-ms-content-crc64",
-      "x-ms-copy-action",
-      "x-ms-copy-completion-time",
-      "x-ms-copy-id",
-      "x-ms-copy-progress",
-      "x-ms-copy-status",
-      "x-ms-has-immutability-policy",
-      "x-ms-has-legal-hold",
-      "x-ms-lease-state",
-      "x-ms-lease-status",
-      "x-ms-range",
-      "x-ms-request-server-encrypted",
-      "x-ms-server-encrypted",
-      "x-ms-snapshot",
-      "x-ms-source-range",
-      "If-Match",
-      "If-Modified-Since",
-      "If-None-Match",
-      "If-Unmodified-Since",
-      "x-ms-access-tier",
-      "x-ms-access-tier-change-time",
-      "x-ms-access-tier-inferred",
-      "x-ms-account-kind",
-      "x-ms-archive-status",
-      "x-ms-blob-append-offset",
-      "x-ms-blob-cache-control",
-      "x-ms-blob-committed-block-count",
-      "x-ms-blob-condition-appendpos",
-      "x-ms-blob-condition-maxsize",
-      "x-ms-blob-content-disposition",
-      "x-ms-blob-content-encoding",
-      "x-ms-blob-content-language",
-      "x-ms-blob-content-length",
-      "x-ms-blob-content-md5",
-      "x-ms-blob-content-type",
-      "x-ms-blob-public-access",
-      "x-ms-blob-sequence-number",
-      "x-ms-blob-type",
-      "x-ms-copy-destination-snapshot",
-      "x-ms-creation-time",
-      "x-ms-default-encryption-scope",
-      "x-ms-delete-snapshots",
-      "x-ms-delete-type-permanent",
-      "x-ms-deny-encryption-scope-override",
-      "x-ms-encryption-algorithm",
-      "x-ms-if-sequence-number-eq",
-      "x-ms-if-sequence-number-le",
-      "x-ms-if-sequence-number-lt",
-      "x-ms-incremental-copy",
-      "x-ms-lease-action",
-      "x-ms-lease-break-period",
-      "x-ms-lease-duration",
-      "x-ms-lease-id",
-      "x-ms-lease-time",
-      "x-ms-page-write",
-      "x-ms-proposed-lease-id",
-      "x-ms-range-get-content-md5",
-      "x-ms-rehydrate-priority",
-      "x-ms-sequence-number-action",
-      "x-ms-sku-name",
-      "x-ms-source-content-md5",
-      "x-ms-source-if-match",
-      "x-ms-source-if-modified-since",
-      "x-ms-source-if-none-match",
-      "x-ms-source-if-unmodified-since",
-      "x-ms-tag-count",
-      "x-ms-encryption-key-sha256",
-      "x-ms-copy-source-error-code",
-      "x-ms-copy-source-status-code",
-      "x-ms-if-tags",
-      "x-ms-source-if-tags"
-    ];
-    exports2.StorageBlobLoggingAllowedQueryParameters = [
-      "comp",
-      "maxresults",
-      "rscc",
-      "rscd",
-      "rsce",
-      "rscl",
-      "rsct",
-      "se",
-      "si",
-      "sip",
-      "sp",
-      "spr",
-      "sr",
-      "srt",
-      "ss",
-      "st",
-      "sv",
-      "include",
-      "marker",
-      "prefix",
-      "copyid",
-      "restype",
-      "blockid",
-      "blocklisttype",
-      "delimiter",
-      "prevsnapshot",
-      "ske",
-      "skoid",
-      "sks",
-      "skt",
-      "sktid",
-      "skv",
-      "snapshot"
-    ];
-    exports2.BlobUsesCustomerSpecifiedEncryptionMsg = "BlobUsesCustomerSpecifiedEncryption";
-    exports2.BlobDoesNotUseCustomerSpecifiedEncryption = "BlobDoesNotUseCustomerSpecifiedEncryption";
-    exports2.PathStylePorts = [
-      "10000",
-      "10001",
-      "10002",
-      "10003",
-      "10004",
-      "10100",
-      "10101",
-      "10102",
-      "10103",
-      "10104",
-      "11000",
-      "11001",
-      "11002",
-      "11003",
-      "11004",
-      "11100",
-      "11101",
-      "11102",
-      "11103",
-      "11104"
-    ];
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js
-var require_utils_common = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escapeURLPath = escapeURLPath;
-    exports2.getValueInConnString = getValueInConnString;
-    exports2.extractConnectionStringParts = extractConnectionStringParts;
-    exports2.appendToURLPath = appendToURLPath;
-    exports2.setURLParameter = setURLParameter;
-    exports2.getURLParameter = getURLParameter;
-    exports2.setURLHost = setURLHost;
-    exports2.getURLPath = getURLPath;
-    exports2.getURLScheme = getURLScheme;
-    exports2.getURLPathAndQuery = getURLPathAndQuery;
-    exports2.getURLQueries = getURLQueries;
-    exports2.appendToURLQuery = appendToURLQuery;
-    exports2.truncatedISO8061Date = truncatedISO8061Date;
-    exports2.base64encode = base64encode;
-    exports2.base64decode = base64decode;
-    exports2.generateBlockID = generateBlockID;
-    exports2.delay = delay;
-    exports2.padStart = padStart2;
-    exports2.sanitizeURL = sanitizeURL;
-    exports2.sanitizeHeaders = sanitizeHeaders;
-    exports2.iEqual = iEqual;
-    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
-    exports2.isIpEndpointStyle = isIpEndpointStyle;
-    exports2.toBlobTagsString = toBlobTagsString;
-    exports2.toBlobTags = toBlobTags;
-    exports2.toTags = toTags;
-    exports2.toQuerySerialization = toQuerySerialization;
-    exports2.parseObjectReplicationRecord = parseObjectReplicationRecord;
-    exports2.attachCredential = attachCredential;
-    exports2.httpAuthorizationToString = httpAuthorizationToString;
-    exports2.BlobNameToString = BlobNameToString;
-    exports2.ConvertInternalResponseOfListBlobFlat = ConvertInternalResponseOfListBlobFlat;
-    exports2.ConvertInternalResponseOfListBlobHierarchy = ConvertInternalResponseOfListBlobHierarchy;
-    exports2.ExtractPageRangeInfoItems = ExtractPageRangeInfoItems;
-    exports2.EscapePath = EscapePath;
-    exports2.assertResponse = assertResponse;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants15();
-    function escapeURLPath(url) {
-      const urlParsed = new URL(url);
-      let path4 = urlParsed.pathname;
-      path4 = path4 || "/";
-      path4 = escape(path4);
-      urlParsed.pathname = path4;
-      return urlParsed.toString();
-    }
-    function getProxyUriFromDevConnString(connectionString) {
-      let proxyUri = "";
-      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
-        const matchCredentials = connectionString.split(";");
-        for (const element of matchCredentials) {
-          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
-            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
-          }
+    exports2.duration = {
+      parameterPath: ["options", "duration"],
+      mapper: {
+        serializedName: "x-ms-lease-duration",
+        xmlName: "x-ms-lease-duration",
+        type: {
+          name: "Number"
         }
       }
-      return proxyUri;
-    }
-    function getValueInConnString(connectionString, argument) {
-      const elements = connectionString.split(";");
-      for (const element of elements) {
-        if (element.trim().startsWith(argument)) {
-          return element.trim().match(argument + "=(.*)")[1];
+    };
+    exports2.proposedLeaseId = {
+      parameterPath: ["options", "proposedLeaseId"],
+      mapper: {
+        serializedName: "x-ms-proposed-lease-id",
+        xmlName: "x-ms-proposed-lease-id",
+        type: {
+          name: "String"
         }
       }
-      return "";
-    }
-    function extractConnectionStringParts(connectionString) {
-      let proxyUri = "";
-      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
-        proxyUri = getProxyUriFromDevConnString(connectionString);
-        connectionString = constants_js_1.DevelopmentConnectionString;
+    };
+    exports2.action1 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "release",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
+        }
       }
-      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
-      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
-      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
-        let defaultEndpointsProtocol = "";
-        let accountName = "";
-        let accountKey = Buffer.from("accountKey", "base64");
-        let endpointSuffix = "";
-        accountName = getValueInConnString(connectionString, "AccountName");
-        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
-        if (!blobEndpoint) {
-          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
-          const protocol = defaultEndpointsProtocol.toLowerCase();
-          if (protocol !== "https" && protocol !== "http") {
-            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
-          }
-          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
-          if (!endpointSuffix) {
-            throw new Error("Invalid EndpointSuffix in the provided Connection String");
-          }
-          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
+    };
+    exports2.leaseId1 = {
+      parameterPath: "leaseId",
+      mapper: {
+        serializedName: "x-ms-lease-id",
+        required: true,
+        xmlName: "x-ms-lease-id",
+        type: {
+          name: "String"
         }
-        if (!accountName) {
-          throw new Error("Invalid AccountName in the provided Connection String");
-        } else if (accountKey.length === 0) {
-          throw new Error("Invalid AccountKey in the provided Connection String");
+      }
+    };
+    exports2.action2 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "renew",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        return {
-          kind: "AccountConnString",
-          url: blobEndpoint,
-          accountName,
-          accountKey,
-          proxyUri
-        };
-      } else {
-        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
-        let accountName = getValueInConnString(connectionString, "AccountName");
-        if (!accountName) {
-          accountName = getAccountNameFromUrl(blobEndpoint);
+      }
+    };
+    exports2.action3 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "break",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        if (!blobEndpoint) {
-          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
-        } else if (!accountSas) {
-          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
+      }
+    };
+    exports2.breakPeriod = {
+      parameterPath: ["options", "breakPeriod"],
+      mapper: {
+        serializedName: "x-ms-lease-break-period",
+        xmlName: "x-ms-lease-break-period",
+        type: {
+          name: "Number"
         }
-        if (accountSas.startsWith("?")) {
-          accountSas = accountSas.substring(1);
+      }
+    };
+    exports2.action4 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "change",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
       }
-    }
-    function escape(text) {
-      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
-    }
-    function appendToURLPath(url, name) {
-      const urlParsed = new URL(url);
-      let path4 = urlParsed.pathname;
-      path4 = path4 ? path4.endsWith("/") ? `${path4}${name}` : `${path4}/${name}` : name;
-      urlParsed.pathname = path4;
-      return urlParsed.toString();
-    }
-    function setURLParameter(url, name, value) {
-      const urlParsed = new URL(url);
-      const encodedName = encodeURIComponent(name);
-      const encodedValue = value ? encodeURIComponent(value) : void 0;
-      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
-      const searchPieces = [];
-      for (const pair of searchString.slice(1).split("&")) {
-        if (pair) {
-          const [key] = pair.split("=", 2);
-          if (key !== encodedName) {
-            searchPieces.push(pair);
+    };
+    exports2.proposedLeaseId1 = {
+      parameterPath: "proposedLeaseId",
+      mapper: {
+        serializedName: "x-ms-proposed-lease-id",
+        required: true,
+        xmlName: "x-ms-proposed-lease-id",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.include1 = {
+      parameterPath: ["options", "include"],
+      mapper: {
+        serializedName: "include",
+        xmlName: "include",
+        xmlElementName: "ListBlobsIncludeItem",
+        type: {
+          name: "Sequence",
+          element: {
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "copy",
+                "deleted",
+                "metadata",
+                "snapshots",
+                "uncommittedblobs",
+                "versions",
+                "tags",
+                "immutabilitypolicy",
+                "legalhold",
+                "deletedwithversions"
+              ]
+            }
           }
         }
+      },
+      collectionFormat: "CSV"
+    };
+    exports2.delimiter = {
+      parameterPath: "delimiter",
+      mapper: {
+        serializedName: "delimiter",
+        required: true,
+        xmlName: "delimiter",
+        type: {
+          name: "String"
+        }
       }
-      if (encodedValue) {
-        searchPieces.push(`${encodedName}=${encodedValue}`);
-      }
-      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
-      return urlParsed.toString();
-    }
-    function getURLParameter(url, name) {
-      const urlParsed = new URL(url);
-      return urlParsed.searchParams.get(name) ?? void 0;
-    }
-    function setURLHost(url, host) {
-      const urlParsed = new URL(url);
-      urlParsed.hostname = host;
-      return urlParsed.toString();
-    }
-    function getURLPath(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.pathname;
-      } catch (e) {
-        return void 0;
-      }
-    }
-    function getURLScheme(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
-      } catch (e) {
-        return void 0;
+    };
+    exports2.snapshot = {
+      parameterPath: ["options", "snapshot"],
+      mapper: {
+        serializedName: "snapshot",
+        xmlName: "snapshot",
+        type: {
+          name: "String"
+        }
       }
-    }
-    function getURLPathAndQuery(url) {
-      const urlParsed = new URL(url);
-      const pathString = urlParsed.pathname;
-      if (!pathString) {
-        throw new RangeError("Invalid url without valid path.");
+    };
+    exports2.versionId = {
+      parameterPath: ["options", "versionId"],
+      mapper: {
+        serializedName: "versionid",
+        xmlName: "versionid",
+        type: {
+          name: "String"
+        }
       }
-      let queryString = urlParsed.search || "";
-      queryString = queryString.trim();
-      if (queryString !== "") {
-        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
+    };
+    exports2.range = {
+      parameterPath: ["options", "range"],
+      mapper: {
+        serializedName: "x-ms-range",
+        xmlName: "x-ms-range",
+        type: {
+          name: "String"
+        }
       }
-      return `${pathString}${queryString}`;
-    }
-    function getURLQueries(url) {
-      let queryString = new URL(url).search;
-      if (!queryString) {
-        return {};
+    };
+    exports2.rangeGetContentMD5 = {
+      parameterPath: ["options", "rangeGetContentMD5"],
+      mapper: {
+        serializedName: "x-ms-range-get-content-md5",
+        xmlName: "x-ms-range-get-content-md5",
+        type: {
+          name: "Boolean"
+        }
       }
-      queryString = queryString.trim();
-      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
-      let querySubStrings = queryString.split("&");
-      querySubStrings = querySubStrings.filter((value) => {
-        const indexOfEqual = value.indexOf("=");
-        const lastIndexOfEqual = value.lastIndexOf("=");
-        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
-      });
-      const queries = {};
-      for (const querySubString of querySubStrings) {
-        const splitResults = querySubString.split("=");
-        const key = splitResults[0];
-        const value = splitResults[1];
-        queries[key] = value;
+    };
+    exports2.rangeGetContentCRC64 = {
+      parameterPath: ["options", "rangeGetContentCRC64"],
+      mapper: {
+        serializedName: "x-ms-range-get-content-crc64",
+        xmlName: "x-ms-range-get-content-crc64",
+        type: {
+          name: "Boolean"
+        }
       }
-      return queries;
-    }
-    function appendToURLQuery(url, queryParts) {
-      const urlParsed = new URL(url);
-      let query = urlParsed.search;
-      if (query) {
-        query += "&" + queryParts;
-      } else {
-        query = queryParts;
+    };
+    exports2.encryptionKey = {
+      parameterPath: ["options", "cpkInfo", "encryptionKey"],
+      mapper: {
+        serializedName: "x-ms-encryption-key",
+        xmlName: "x-ms-encryption-key",
+        type: {
+          name: "String"
+        }
       }
-      urlParsed.search = query;
-      return urlParsed.toString();
-    }
-    function truncatedISO8061Date(date, withMilliseconds = true) {
-      const dateString = date.toISOString();
-      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
-    }
-    function base64encode(content) {
-      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
-    }
-    function base64decode(encodedString) {
-      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
-    }
-    function generateBlockID(blockIDPrefix, blockIndex) {
-      const maxSourceStringLength = 48;
-      const maxBlockIndexLength = 6;
-      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
-      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
-        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
+    };
+    exports2.encryptionKeySha256 = {
+      parameterPath: ["options", "cpkInfo", "encryptionKeySha256"],
+      mapper: {
+        serializedName: "x-ms-encryption-key-sha256",
+        xmlName: "x-ms-encryption-key-sha256",
+        type: {
+          name: "String"
+        }
       }
-      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
-      return base64encode(res);
-    }
-    async function delay(timeInMs, aborter, abortError) {
-      return new Promise((resolve3, reject) => {
-        let timeout;
-        const abortHandler = () => {
-          if (timeout !== void 0) {
-            clearTimeout(timeout);
-          }
-          reject(abortError);
-        };
-        const resolveHandler = () => {
-          if (aborter !== void 0) {
-            aborter.removeEventListener("abort", abortHandler);
-          }
-          resolve3();
-        };
-        timeout = setTimeout(resolveHandler, timeInMs);
-        if (aborter !== void 0) {
-          aborter.addEventListener("abort", abortHandler);
+    };
+    exports2.encryptionAlgorithm = {
+      parameterPath: ["options", "cpkInfo", "encryptionAlgorithm"],
+      mapper: {
+        serializedName: "x-ms-encryption-algorithm",
+        xmlName: "x-ms-encryption-algorithm",
+        type: {
+          name: "String"
         }
-      });
-    }
-    function padStart2(currentString, targetLength, padString = " ") {
-      if (String.prototype.padStart) {
-        return currentString.padStart(targetLength, padString);
       }
-      padString = padString || " ";
-      if (currentString.length > targetLength) {
-        return currentString;
-      } else {
-        targetLength = targetLength - currentString.length;
-        if (targetLength > padString.length) {
-          padString += padString.repeat(targetLength / padString.length);
+    };
+    exports2.ifMatch = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifMatch"],
+      mapper: {
+        serializedName: "If-Match",
+        xmlName: "If-Match",
+        type: {
+          name: "String"
         }
-        return padString.slice(0, targetLength) + currentString;
       }
-    }
-    function sanitizeURL(url) {
-      let safeURL = url;
-      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
-        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
+    };
+    exports2.ifNoneMatch = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifNoneMatch"],
+      mapper: {
+        serializedName: "If-None-Match",
+        xmlName: "If-None-Match",
+        type: {
+          name: "String"
+        }
       }
-      return safeURL;
-    }
-    function sanitizeHeaders(originalHeader) {
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
-      for (const [name, value] of originalHeader) {
-        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
-          headers.set(name, "*****");
-        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
-          headers.set(name, sanitizeURL(value));
-        } else {
-          headers.set(name, value);
+    };
+    exports2.ifTags = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifTags"],
+      mapper: {
+        serializedName: "x-ms-if-tags",
+        xmlName: "x-ms-if-tags",
+        type: {
+          name: "String"
         }
       }
-      return headers;
-    }
-    function iEqual(str1, str2) {
-      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
-    }
-    function getAccountNameFromUrl(url) {
-      const parsedUrl = new URL(url);
-      let accountName;
-      try {
-        if (parsedUrl.hostname.split(".")[1] === "blob") {
-          accountName = parsedUrl.hostname.split(".")[0];
-        } else if (isIpEndpointStyle(parsedUrl)) {
-          accountName = parsedUrl.pathname.split("/")[1];
-        } else {
-          accountName = "";
+    };
+    exports2.deleteSnapshots = {
+      parameterPath: ["options", "deleteSnapshots"],
+      mapper: {
+        serializedName: "x-ms-delete-snapshots",
+        xmlName: "x-ms-delete-snapshots",
+        type: {
+          name: "Enum",
+          allowedValues: ["include", "only"]
         }
-        return accountName;
-      } catch (error3) {
-        throw new Error("Unable to extract accountName with provided information.");
       }
-    }
-    function isIpEndpointStyle(parsedUrl) {
-      const host = parsedUrl.host;
-      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
-    }
-    function toBlobTagsString(tags) {
-      if (tags === void 0) {
-        return void 0;
+    };
+    exports2.blobDeleteType = {
+      parameterPath: ["options", "blobDeleteType"],
+      mapper: {
+        serializedName: "deletetype",
+        xmlName: "deletetype",
+        type: {
+          name: "String"
+        }
       }
-      const tagPairs = [];
-      for (const key in tags) {
-        if (Object.prototype.hasOwnProperty.call(tags, key)) {
-          const value = tags[key];
-          tagPairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
+    };
+    exports2.comp11 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "expiry",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      return tagPairs.join("&");
-    }
-    function toBlobTags(tags) {
-      if (tags === void 0) {
-        return void 0;
+    };
+    exports2.expiryOptions = {
+      parameterPath: "expiryOptions",
+      mapper: {
+        serializedName: "x-ms-expiry-option",
+        required: true,
+        xmlName: "x-ms-expiry-option",
+        type: {
+          name: "String"
+        }
       }
-      const res = {
-        blobTagSet: []
-      };
-      for (const key in tags) {
-        if (Object.prototype.hasOwnProperty.call(tags, key)) {
-          const value = tags[key];
-          res.blobTagSet.push({
-            key,
-            value
-          });
+    };
+    exports2.expiresOn = {
+      parameterPath: ["options", "expiresOn"],
+      mapper: {
+        serializedName: "x-ms-expiry-time",
+        xmlName: "x-ms-expiry-time",
+        type: {
+          name: "String"
         }
       }
-      return res;
-    }
-    function toTags(tags) {
-      if (tags === void 0) {
-        return void 0;
+    };
+    exports2.blobCacheControl = {
+      parameterPath: ["options", "blobHttpHeaders", "blobCacheControl"],
+      mapper: {
+        serializedName: "x-ms-blob-cache-control",
+        xmlName: "x-ms-blob-cache-control",
+        type: {
+          name: "String"
+        }
       }
-      const res = {};
-      for (const blobTag of tags.blobTagSet) {
-        res[blobTag.key] = blobTag.value;
+    };
+    exports2.blobContentType = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentType"],
+      mapper: {
+        serializedName: "x-ms-blob-content-type",
+        xmlName: "x-ms-blob-content-type",
+        type: {
+          name: "String"
+        }
       }
-      return res;
-    }
-    function toQuerySerialization(textConfiguration) {
-      if (textConfiguration === void 0) {
-        return void 0;
+    };
+    exports2.blobContentMD5 = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentMD5"],
+      mapper: {
+        serializedName: "x-ms-blob-content-md5",
+        xmlName: "x-ms-blob-content-md5",
+        type: {
+          name: "ByteArray"
+        }
       }
-      switch (textConfiguration.kind) {
-        case "csv":
-          return {
-            format: {
-              type: "delimited",
-              delimitedTextConfiguration: {
-                columnSeparator: textConfiguration.columnSeparator || ",",
-                fieldQuote: textConfiguration.fieldQuote || "",
-                recordSeparator: textConfiguration.recordSeparator,
-                escapeChar: textConfiguration.escapeCharacter || "",
-                headersPresent: textConfiguration.hasHeaders || false
-              }
-            }
-          };
-        case "json":
-          return {
-            format: {
-              type: "json",
-              jsonTextConfiguration: {
-                recordSeparator: textConfiguration.recordSeparator
-              }
-            }
-          };
-        case "arrow":
-          return {
-            format: {
-              type: "arrow",
-              arrowConfiguration: {
-                schema: textConfiguration.schema
-              }
-            }
-          };
-        case "parquet":
-          return {
-            format: {
-              type: "parquet"
-            }
-          };
-        default:
-          throw Error("Invalid BlobQueryTextConfiguration.");
+    };
+    exports2.blobContentEncoding = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentEncoding"],
+      mapper: {
+        serializedName: "x-ms-blob-content-encoding",
+        xmlName: "x-ms-blob-content-encoding",
+        type: {
+          name: "String"
+        }
       }
-    }
-    function parseObjectReplicationRecord(objectReplicationRecord) {
-      if (!objectReplicationRecord) {
-        return void 0;
+    };
+    exports2.blobContentLanguage = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentLanguage"],
+      mapper: {
+        serializedName: "x-ms-blob-content-language",
+        xmlName: "x-ms-blob-content-language",
+        type: {
+          name: "String"
+        }
       }
-      if ("policy-id" in objectReplicationRecord) {
-        return void 0;
+    };
+    exports2.blobContentDisposition = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentDisposition"],
+      mapper: {
+        serializedName: "x-ms-blob-content-disposition",
+        xmlName: "x-ms-blob-content-disposition",
+        type: {
+          name: "String"
+        }
       }
-      const orProperties = [];
-      for (const key in objectReplicationRecord) {
-        const ids = key.split("_");
-        const policyPrefix = "or-";
-        if (ids[0].startsWith(policyPrefix)) {
-          ids[0] = ids[0].substring(policyPrefix.length);
+    };
+    exports2.comp12 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "immutabilityPolicies",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        const rule = {
-          ruleId: ids[1],
-          replicationStatus: objectReplicationRecord[key]
-        };
-        const policyIndex = orProperties.findIndex((policy) => policy.policyId === ids[0]);
-        if (policyIndex > -1) {
-          orProperties[policyIndex].rules.push(rule);
-        } else {
-          orProperties.push({
-            policyId: ids[0],
-            rules: [rule]
-          });
+      }
+    };
+    exports2.immutabilityPolicyExpiry = {
+      parameterPath: ["options", "immutabilityPolicyExpiry"],
+      mapper: {
+        serializedName: "x-ms-immutability-policy-until-date",
+        xmlName: "x-ms-immutability-policy-until-date",
+        type: {
+          name: "DateTimeRfc1123"
         }
       }
-      return orProperties;
-    }
-    function attachCredential(thing, credential) {
-      thing.credential = credential;
-      return thing;
-    }
-    function httpAuthorizationToString(httpAuthorization) {
-      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
-    }
-    function BlobNameToString(name) {
-      if (name.encoded) {
-        return decodeURIComponent(name.content);
-      } else {
-        return name.content;
+    };
+    exports2.immutabilityPolicyMode = {
+      parameterPath: ["options", "immutabilityPolicyMode"],
+      mapper: {
+        serializedName: "x-ms-immutability-policy-mode",
+        xmlName: "x-ms-immutability-policy-mode",
+        type: {
+          name: "Enum",
+          allowedValues: ["Mutable", "Unlocked", "Locked"]
+        }
       }
-    }
-    function ConvertInternalResponseOfListBlobFlat(internalResponse) {
-      return {
-        ...internalResponse,
-        segment: {
-          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
-            const blobItem = {
-              ...blobItemInteral,
-              name: BlobNameToString(blobItemInteral.name)
-            };
-            return blobItem;
-          })
+    };
+    exports2.comp13 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "legalhold",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-      };
-    }
-    function ConvertInternalResponseOfListBlobHierarchy(internalResponse) {
-      return {
-        ...internalResponse,
-        segment: {
-          blobPrefixes: internalResponse.segment.blobPrefixes?.map((blobPrefixInternal) => {
-            const blobPrefix = {
-              ...blobPrefixInternal,
-              name: BlobNameToString(blobPrefixInternal.name)
-            };
-            return blobPrefix;
-          }),
-          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
-            const blobItem = {
-              ...blobItemInteral,
-              name: BlobNameToString(blobItemInteral.name)
-            };
-            return blobItem;
-          })
+      }
+    };
+    exports2.legalHold = {
+      parameterPath: "legalHold",
+      mapper: {
+        serializedName: "x-ms-legal-hold",
+        required: true,
+        xmlName: "x-ms-legal-hold",
+        type: {
+          name: "Boolean"
         }
-      };
-    }
-    function* ExtractPageRangeInfoItems(getPageRangesSegment) {
-      let pageRange = [];
-      let clearRange = [];
-      if (getPageRangesSegment.pageRange)
-        pageRange = getPageRangesSegment.pageRange;
-      if (getPageRangesSegment.clearRange)
-        clearRange = getPageRangesSegment.clearRange;
-      let pageRangeIndex = 0;
-      let clearRangeIndex = 0;
-      while (pageRangeIndex < pageRange.length && clearRangeIndex < clearRange.length) {
-        if (pageRange[pageRangeIndex].start < clearRange[clearRangeIndex].start) {
-          yield {
-            start: pageRange[pageRangeIndex].start,
-            end: pageRange[pageRangeIndex].end,
-            isClear: false
-          };
-          ++pageRangeIndex;
-        } else {
-          yield {
-            start: clearRange[clearRangeIndex].start,
-            end: clearRange[clearRangeIndex].end,
-            isClear: true
-          };
-          ++clearRangeIndex;
+      }
+    };
+    exports2.encryptionScope = {
+      parameterPath: ["options", "encryptionScope"],
+      mapper: {
+        serializedName: "x-ms-encryption-scope",
+        xmlName: "x-ms-encryption-scope",
+        type: {
+          name: "String"
         }
       }
-      for (; pageRangeIndex < pageRange.length; ++pageRangeIndex) {
-        yield {
-          start: pageRange[pageRangeIndex].start,
-          end: pageRange[pageRangeIndex].end,
-          isClear: false
-        };
+    };
+    exports2.comp14 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "snapshot",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      for (; clearRangeIndex < clearRange.length; ++clearRangeIndex) {
-        yield {
-          start: clearRange[clearRangeIndex].start,
-          end: clearRange[clearRangeIndex].end,
-          isClear: true
-        };
+    };
+    exports2.tier = {
+      parameterPath: ["options", "tier"],
+      mapper: {
+        serializedName: "x-ms-access-tier",
+        xmlName: "x-ms-access-tier",
+        type: {
+          name: "Enum",
+          allowedValues: [
+            "P4",
+            "P6",
+            "P10",
+            "P15",
+            "P20",
+            "P30",
+            "P40",
+            "P50",
+            "P60",
+            "P70",
+            "P80",
+            "Hot",
+            "Cool",
+            "Archive",
+            "Cold"
+          ]
+        }
       }
-    }
-    function EscapePath(blobName) {
-      const split = blobName.split("/");
-      for (let i = 0; i < split.length; i++) {
-        split[i] = encodeURIComponent(split[i]);
+    };
+    exports2.rehydratePriority = {
+      parameterPath: ["options", "rehydratePriority"],
+      mapper: {
+        serializedName: "x-ms-rehydrate-priority",
+        xmlName: "x-ms-rehydrate-priority",
+        type: {
+          name: "Enum",
+          allowedValues: ["High", "Standard"]
+        }
       }
-      return split.join("/");
-    }
-    function assertResponse(response) {
-      if (`_response` in response) {
-        return response;
+    };
+    exports2.sourceIfModifiedSince = {
+      parameterPath: [
+        "options",
+        "sourceModifiedAccessConditions",
+        "sourceIfModifiedSince"
+      ],
+      mapper: {
+        serializedName: "x-ms-source-if-modified-since",
+        xmlName: "x-ms-source-if-modified-since",
+        type: {
+          name: "DateTimeRfc1123"
+        }
       }
-      throw new TypeError(`Unexpected response object ${response}`);
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js
-var require_StorageRetryPolicyType = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicyType;
-    (function(StorageRetryPolicyType2) {
-      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
-      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
-    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js
-var require_StorageRetryPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicy = void 0;
-    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
-    var abort_controller_1 = require_commonjs11();
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    var log_js_1 = require_log5();
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
-    function NewRetryPolicyFactory(retryOptions) {
-      return {
-        create: (nextPolicy, options) => {
-          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
+    };
+    exports2.sourceIfUnmodifiedSince = {
+      parameterPath: [
+        "options",
+        "sourceModifiedAccessConditions",
+        "sourceIfUnmodifiedSince"
+      ],
+      mapper: {
+        serializedName: "x-ms-source-if-unmodified-since",
+        xmlName: "x-ms-source-if-unmodified-since",
+        type: {
+          name: "DateTimeRfc1123"
         }
-      };
-    }
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
+      }
     };
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * RetryOptions.
-       */
-      retryOptions;
-      /**
-       * Creates an instance of RetryPolicy.
-       *
-       * @param nextPolicy -
-       * @param options -
-       * @param retryOptions -
-       */
-      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
-        super(nextPolicy, options);
-        this.retryOptions = {
-          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
-          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
-          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
-          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
-          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
-          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
-        };
+    exports2.sourceIfMatch = {
+      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfMatch"],
+      mapper: {
+        serializedName: "x-ms-source-if-match",
+        xmlName: "x-ms-source-if-match",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Sends request.
-       *
-       * @param request -
-       */
-      async sendRequest(request2) {
-        return this.attemptSendRequest(request2, false, 1);
+    };
+    exports2.sourceIfNoneMatch = {
+      parameterPath: [
+        "options",
+        "sourceModifiedAccessConditions",
+        "sourceIfNoneMatch"
+      ],
+      mapper: {
+        serializedName: "x-ms-source-if-none-match",
+        xmlName: "x-ms-source-if-none-match",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Decide and perform next retry. Won't mutate request parameter.
-       *
-       * @param request -
-       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
-       *                                   the resource was not found. This may be due to replication delay. So, in this
-       *                                   case, we'll never try the secondary again for this operation.
-       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
-       *                                   the attempt will be performed by this method call.
-       */
-      async attemptSendRequest(request2, secondaryHas404, attempt) {
-        const newRequest = request2.clone();
-        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
-        if (!isPrimaryRetry) {
-          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
+    };
+    exports2.sourceIfTags = {
+      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfTags"],
+      mapper: {
+        serializedName: "x-ms-source-if-tags",
+        xmlName: "x-ms-source-if-tags",
+        type: {
+          name: "String"
         }
-        if (this.retryOptions.tryTimeoutInMs) {
-          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
+      }
+    };
+    exports2.copySource = {
+      parameterPath: "copySource",
+      mapper: {
+        serializedName: "x-ms-copy-source",
+        required: true,
+        xmlName: "x-ms-copy-source",
+        type: {
+          name: "String"
         }
-        let response;
-        try {
-          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-          response = await this._nextPolicy.sendRequest(newRequest);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
-            return response;
-          }
-          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-        } catch (err) {
-          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
-            throw err;
-          }
+      }
+    };
+    exports2.blobTagsString = {
+      parameterPath: ["options", "blobTagsString"],
+      mapper: {
+        serializedName: "x-ms-tags",
+        xmlName: "x-ms-tags",
+        type: {
+          name: "String"
         }
-        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
-        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
       }
-      /**
-       * Decide whether to retry according to last HTTP response and retry counters.
-       *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param response -
-       * @param err -
-       */
-      shouldRetry(isPrimaryRetry, attempt, response, err) {
-        if (attempt >= this.retryOptions.maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
-          return false;
+    };
+    exports2.sealBlob = {
+      parameterPath: ["options", "sealBlob"],
+      mapper: {
+        serializedName: "x-ms-seal-blob",
+        xmlName: "x-ms-seal-blob",
+        type: {
+          name: "Boolean"
         }
-        const retriableErrors = [
-          "ETIMEDOUT",
-          "ESOCKETTIMEDOUT",
-          "ECONNREFUSED",
-          "ECONNRESET",
-          "ENOENT",
-          "ENOTFOUND",
-          "TIMEOUT",
-          "EPIPE",
-          "REQUEST_SEND_ERROR"
-          // For default xhr based http client provided in ms-rest-js
-        ];
-        if (err) {
-          for (const retriableError of retriableErrors) {
-            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
+      }
+    };
+    exports2.legalHold1 = {
+      parameterPath: ["options", "legalHold"],
+      mapper: {
+        serializedName: "x-ms-legal-hold",
+        xmlName: "x-ms-legal-hold",
+        type: {
+          name: "Boolean"
         }
-        if (response || err) {
-          const statusCode = response ? response.status : err ? err.statusCode : 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
+      }
+    };
+    exports2.xMsRequiresSync = {
+      parameterPath: "xMsRequiresSync",
+      mapper: {
+        defaultValue: "true",
+        isConstant: true,
+        serializedName: "x-ms-requires-sync",
+        type: {
+          name: "String"
         }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
+      }
+    };
+    exports2.sourceContentMD5 = {
+      parameterPath: ["options", "sourceContentMD5"],
+      mapper: {
+        serializedName: "x-ms-source-content-md5",
+        xmlName: "x-ms-source-content-md5",
+        type: {
+          name: "ByteArray"
         }
-        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-          return true;
+      }
+    };
+    exports2.copySourceAuthorization = {
+      parameterPath: ["options", "copySourceAuthorization"],
+      mapper: {
+        serializedName: "x-ms-copy-source-authorization",
+        xmlName: "x-ms-copy-source-authorization",
+        type: {
+          name: "String"
         }
-        return false;
       }
-      /**
-       * Delay a calculated time between retries.
-       *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param abortSignal -
-       */
-      async delay(isPrimaryRetry, attempt, abortSignal) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (this.retryOptions.retryPolicyType) {
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = this.retryOptions.retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
+    };
+    exports2.copySourceTags = {
+      parameterPath: ["options", "copySourceTags"],
+      mapper: {
+        serializedName: "x-ms-copy-source-tag-option",
+        xmlName: "x-ms-copy-source-tag-option",
+        type: {
+          name: "Enum",
+          allowedValues: ["REPLACE", "COPY"]
         }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
       }
     };
-    exports2.StorageRetryPolicy = StorageRetryPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js
-var require_StorageRetryPolicyFactory = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy();
-    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
-      return StorageRetryPolicy_js_1.StorageRetryPolicy;
-    } });
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
-    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
-      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
-    } });
-    var StorageRetryPolicyFactory = class {
-      retryOptions;
-      /**
-       * Creates an instance of StorageRetryPolicyFactory.
-       * @param retryOptions -
-       */
-      constructor(retryOptions) {
-        this.retryOptions = retryOptions;
+    exports2.fileRequestIntent = {
+      parameterPath: ["options", "fileRequestIntent"],
+      mapper: {
+        serializedName: "x-ms-file-request-intent",
+        xmlName: "x-ms-file-request-intent",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Creates a StorageRetryPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
+    };
+    exports2.comp15 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "copy",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js
-var require_CredentialPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CredentialPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * Sends out request.
-       *
-       * @param request -
-       */
-      sendRequest(request2) {
-        return this._nextPolicy.sendRequest(this.signRequest(request2));
+    exports2.copyActionAbortConstant = {
+      parameterPath: "copyActionAbortConstant",
+      mapper: {
+        defaultValue: "abort",
+        isConstant: true,
+        serializedName: "x-ms-copy-action",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Child classes must implement this method with request signing. This method
-       * will be executed in {@link sendRequest}.
-       *
-       * @param request -
-       */
-      signRequest(request2) {
-        return request2;
+    };
+    exports2.copyId = {
+      parameterPath: "copyId",
+      mapper: {
+        serializedName: "copyid",
+        required: true,
+        xmlName: "copyid",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.CredentialPolicy = CredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js
-var require_SharedKeyComparator = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.compareHeader = compareHeader;
-    var table_lv0 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1820,
-      0,
-      1823,
-      1825,
-      1827,
-      1829,
-      0,
-      0,
-      0,
-      1837,
-      2051,
-      0,
-      0,
-      1843,
-      0,
-      3331,
-      3354,
-      3356,
-      3358,
-      3360,
-      3362,
-      3364,
-      3366,
-      3368,
-      3370,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      0,
-      0,
-      1859,
-      1860,
-      1864,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      1868,
-      0,
-      1872,
-      0
-    ]);
-    var table_lv2 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    var table_lv4 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      32786,
-      0,
-      0,
-      0,
-      0,
-      0,
-      33298,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    function compareHeader(lhs, rhs) {
-      if (isLessThan(lhs, rhs))
-        return -1;
-      return 1;
-    }
-    function isLessThan(lhs, rhs) {
-      const tables = [table_lv0, table_lv2, table_lv4];
-      let curr_level = 0;
-      let i = 0;
-      let j = 0;
-      while (curr_level < tables.length) {
-        if (curr_level === tables.length - 1 && i !== j) {
-          return i > j;
+    exports2.comp16 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "tier",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.tier1 = {
+      parameterPath: "tier",
+      mapper: {
+        serializedName: "x-ms-access-tier",
+        required: true,
+        xmlName: "x-ms-access-tier",
+        type: {
+          name: "Enum",
+          allowedValues: [
+            "P4",
+            "P6",
+            "P10",
+            "P15",
+            "P20",
+            "P30",
+            "P40",
+            "P50",
+            "P60",
+            "P70",
+            "P80",
+            "Hot",
+            "Cool",
+            "Archive",
+            "Cold"
+          ]
         }
-        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
-        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
-        if (weight1 === 1 && weight2 === 1) {
-          i = 0;
-          j = 0;
-          ++curr_level;
-        } else if (weight1 === weight2) {
-          ++i;
-          ++j;
-        } else if (weight1 === 0) {
-          ++i;
-        } else if (weight2 === 0) {
-          ++j;
-        } else {
-          return weight1 < weight2;
+      }
+    };
+    exports2.queryRequest = {
+      parameterPath: ["options", "queryRequest"],
+      mapper: mappers_js_1.QueryRequest
+    };
+    exports2.comp17 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "query",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      return false;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
-var require_StorageSharedKeyCredentialPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredentialPolicy = void 0;
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    var CredentialPolicy_js_1 = require_CredentialPolicy();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
-    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
-      /**
-       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
-       */
-      factory;
-      /**
-       * Creates an instance of StorageSharedKeyCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
-       * @param factory -
-       */
-      constructor(nextPolicy, options, factory) {
-        super(nextPolicy, options);
-        this.factory = factory;
+    };
+    exports2.comp18 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "tags",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Signs request.
-       *
-       * @param request -
-       */
-      signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+    };
+    exports2.tags = {
+      parameterPath: ["options", "tags"],
+      mapper: mappers_js_1.BlobTags
+    };
+    exports2.transactionalContentMD5 = {
+      parameterPath: ["options", "transactionalContentMD5"],
+      mapper: {
+        serializedName: "Content-MD5",
+        xmlName: "Content-MD5",
+        type: {
+          name: "ByteArray"
         }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
-        const signature = this.factory.computeHMACSHA256(stringToSign);
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
-        return request2;
       }
-      /**
-       * Retrieve header value according to shared key sign rules.
-       * @see https://learn.microsoft.com/rest/api/storageservices/authenticate-with-shared-key
-       *
-       * @param request -
-       * @param headerName -
-       */
-      getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
+    };
+    exports2.transactionalContentCrc64 = {
+      parameterPath: ["options", "transactionalContentCrc64"],
+      mapper: {
+        serializedName: "x-ms-content-crc64",
+        xmlName: "x-ms-content-crc64",
+        type: {
+          name: "ByteArray"
         }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
+      }
+    };
+    exports2.blobType = {
+      parameterPath: "blobType",
+      mapper: {
+        defaultValue: "PageBlob",
+        isConstant: true,
+        serializedName: "x-ms-blob-type",
+        type: {
+          name: "String"
         }
-        return value;
       }
-      /**
-       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
-       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
-       * 2. Convert each HTTP header name to lowercase.
-       * 3. Sort the headers lexicographically by header name, in ascending order.
-       *    Each header may appear only once in the string.
-       * 4. Replace any linear whitespace in the header value with a single space.
-       * 5. Trim any whitespace around the colon in the header.
-       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
-       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
-       *
-       * @param request -
-       */
-      getCanonicalizedHeadersString(request2) {
-        let headersArray = request2.headers.headersArray().filter((value) => {
-          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
-        });
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
+    };
+    exports2.blobContentLength = {
+      parameterPath: "blobContentLength",
+      mapper: {
+        serializedName: "x-ms-blob-content-length",
+        required: true,
+        xmlName: "x-ms-blob-content-length",
+        type: {
+          name: "Number"
+        }
       }
-      /**
-       * Retrieves the webResource canonicalized resource string.
-       *
-       * @param request -
-       */
-      getCanonicalizedResourceString(request2) {
-        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${this.factory.accountName}${path4}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
-          }
+    };
+    exports2.blobSequenceNumber = {
+      parameterPath: ["options", "blobSequenceNumber"],
+      mapper: {
+        defaultValue: 0,
+        serializedName: "x-ms-blob-sequence-number",
+        xmlName: "x-ms-blob-sequence-number",
+        type: {
+          name: "Number"
         }
-        return canonicalizedResourceString;
       }
     };
-    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js
-var require_Credential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Credential = void 0;
-    var Credential = class {
-      /**
-       * Creates a RequestPolicy object.
-       *
-       * @param _nextPolicy -
-       * @param _options -
-       */
-      create(_nextPolicy, _options) {
-        throw new Error("Method should be implemented in children classes.");
+    exports2.contentType1 = {
+      parameterPath: ["options", "contentType"],
+      mapper: {
+        defaultValue: "application/octet-stream",
+        isConstant: true,
+        serializedName: "Content-Type",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.Credential = Credential;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js
-var require_StorageSharedKeyCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy();
-    var Credential_js_1 = require_Credential();
-    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
-      /**
-       * Azure Storage account name; readonly.
-       */
-      accountName;
-      /**
-       * Azure Storage account key; readonly.
-       */
-      accountKey;
-      /**
-       * Creates an instance of StorageSharedKeyCredential.
-       * @param accountName -
-       * @param accountKey -
-       */
-      constructor(accountName, accountKey) {
-        super();
-        this.accountName = accountName;
-        this.accountKey = Buffer.from(accountKey, "base64");
+    exports2.body1 = {
+      parameterPath: "body",
+      mapper: {
+        serializedName: "body",
+        required: true,
+        xmlName: "body",
+        type: {
+          name: "Stream"
+        }
       }
-      /**
-       * Creates a StorageSharedKeyCredentialPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
+    };
+    exports2.accept2 = {
+      parameterPath: "accept",
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Accept",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Generates a hash signature for an HTTP request or for a SAS.
-       *
-       * @param stringToSign -
-       */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
+    };
+    exports2.comp19 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "page",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js
-var require_AnonymousCredentialPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredentialPolicy = void 0;
-    var CredentialPolicy_js_1 = require_CredentialPolicy();
-    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
-      /**
-       * Creates an instance of AnonymousCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
-       */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
+    exports2.pageWrite = {
+      parameterPath: "pageWrite",
+      mapper: {
+        defaultValue: "update",
+        isConstant: true,
+        serializedName: "x-ms-page-write",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js
-var require_AnonymousCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredential = void 0;
-    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy();
-    var Credential_js_1 = require_Credential();
-    var AnonymousCredential = class extends Credential_js_1.Credential {
-      /**
-       * Creates an {@link AnonymousCredentialPolicy} object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
+    exports2.ifSequenceNumberLessThanOrEqualTo = {
+      parameterPath: [
+        "options",
+        "sequenceNumberAccessConditions",
+        "ifSequenceNumberLessThanOrEqualTo"
+      ],
+      mapper: {
+        serializedName: "x-ms-if-sequence-number-le",
+        xmlName: "x-ms-if-sequence-number-le",
+        type: {
+          name: "Number"
+        }
+      }
+    };
+    exports2.ifSequenceNumberLessThan = {
+      parameterPath: [
+        "options",
+        "sequenceNumberAccessConditions",
+        "ifSequenceNumberLessThan"
+      ],
+      mapper: {
+        serializedName: "x-ms-if-sequence-number-lt",
+        xmlName: "x-ms-if-sequence-number-lt",
+        type: {
+          name: "Number"
+        }
+      }
+    };
+    exports2.ifSequenceNumberEqualTo = {
+      parameterPath: [
+        "options",
+        "sequenceNumberAccessConditions",
+        "ifSequenceNumberEqualTo"
+      ],
+      mapper: {
+        serializedName: "x-ms-if-sequence-number-eq",
+        xmlName: "x-ms-if-sequence-number-eq",
+        type: {
+          name: "Number"
+        }
+      }
+    };
+    exports2.pageWrite1 = {
+      parameterPath: "pageWrite",
+      mapper: {
+        defaultValue: "clear",
+        isConstant: true,
+        serializedName: "x-ms-page-write",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.sourceUrl = {
+      parameterPath: "sourceUrl",
+      mapper: {
+        serializedName: "x-ms-copy-source",
+        required: true,
+        xmlName: "x-ms-copy-source",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.sourceRange = {
+      parameterPath: "sourceRange",
+      mapper: {
+        serializedName: "x-ms-source-range",
+        required: true,
+        xmlName: "x-ms-source-range",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.sourceContentCrc64 = {
+      parameterPath: ["options", "sourceContentCrc64"],
+      mapper: {
+        serializedName: "x-ms-source-content-crc64",
+        xmlName: "x-ms-source-content-crc64",
+        type: {
+          name: "ByteArray"
+        }
+      }
+    };
+    exports2.range1 = {
+      parameterPath: "range",
+      mapper: {
+        serializedName: "x-ms-range",
+        required: true,
+        xmlName: "x-ms-range",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.comp20 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "pagelist",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.prevsnapshot = {
+      parameterPath: ["options", "prevsnapshot"],
+      mapper: {
+        serializedName: "prevsnapshot",
+        xmlName: "prevsnapshot",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.prevSnapshotUrl = {
+      parameterPath: ["options", "prevSnapshotUrl"],
+      mapper: {
+        serializedName: "x-ms-previous-snapshot-url",
+        xmlName: "x-ms-previous-snapshot-url",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.sequenceNumberAction = {
+      parameterPath: "sequenceNumberAction",
+      mapper: {
+        serializedName: "x-ms-sequence-number-action",
+        required: true,
+        xmlName: "x-ms-sequence-number-action",
+        type: {
+          name: "Enum",
+          allowedValues: ["max", "update", "increment"]
+        }
+      }
+    };
+    exports2.comp21 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "incrementalcopy",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.AnonymousCredential = AnonymousCredential;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js
-var require_BuffersStream = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BuffersStream = void 0;
-    var node_stream_1 = require("node:stream");
-    var BuffersStream = class extends node_stream_1.Readable {
-      buffers;
-      byteLength;
-      /**
-       * The offset of data to be read in the current buffer.
-       */
-      byteOffsetInCurrentBuffer;
-      /**
-       * The index of buffer to be read in the array of buffers.
-       */
-      bufferIndex;
-      /**
-       * The total length of data already read.
-       */
-      pushedBytesLength;
-      /**
-       * Creates an instance of BuffersStream that will emit the data
-       * contained in the array of buffers.
-       *
-       * @param buffers - Array of buffers containing the data
-       * @param byteLength - The total length of data contained in the buffers
-       */
-      constructor(buffers, byteLength, options) {
-        super(options);
-        this.buffers = buffers;
-        this.byteLength = byteLength;
-        this.byteOffsetInCurrentBuffer = 0;
-        this.bufferIndex = 0;
-        this.pushedBytesLength = 0;
-        let buffersLength = 0;
-        for (const buf of this.buffers) {
-          buffersLength += buf.byteLength;
+    exports2.blobType1 = {
+      parameterPath: "blobType",
+      mapper: {
+        defaultValue: "AppendBlob",
+        isConstant: true,
+        serializedName: "x-ms-blob-type",
+        type: {
+          name: "String"
         }
-        if (buffersLength < this.byteLength) {
-          throw new Error("Data size shouldn't be larger than the total length of buffers.");
+      }
+    };
+    exports2.comp22 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "appendblock",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      /**
-       * Internal _read() that will be called when the stream wants to pull more data in.
-       *
-       * @param size - Optional. The size of data to be read
-       */
-      _read(size) {
-        if (this.pushedBytesLength >= this.byteLength) {
-          this.push(null);
+    };
+    exports2.maxSize = {
+      parameterPath: ["options", "appendPositionAccessConditions", "maxSize"],
+      mapper: {
+        serializedName: "x-ms-blob-condition-maxsize",
+        xmlName: "x-ms-blob-condition-maxsize",
+        type: {
+          name: "Number"
         }
-        if (!size) {
-          size = this.readableHighWaterMark;
+      }
+    };
+    exports2.appendPosition = {
+      parameterPath: [
+        "options",
+        "appendPositionAccessConditions",
+        "appendPosition"
+      ],
+      mapper: {
+        serializedName: "x-ms-blob-condition-appendpos",
+        xmlName: "x-ms-blob-condition-appendpos",
+        type: {
+          name: "Number"
         }
-        const outBuffers = [];
-        let i = 0;
-        while (i < size && this.pushedBytesLength < this.byteLength) {
-          const remainingDataInAllBuffers = this.byteLength - this.pushedBytesLength;
-          const remainingCapacityInThisBuffer = this.buffers[this.bufferIndex].byteLength - this.byteOffsetInCurrentBuffer;
-          const remaining = Math.min(remainingCapacityInThisBuffer, remainingDataInAllBuffers);
-          if (remaining > size - i) {
-            const end = this.byteOffsetInCurrentBuffer + size - i;
-            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
-            this.pushedBytesLength += size - i;
-            this.byteOffsetInCurrentBuffer = end;
-            i = size;
-            break;
-          } else {
-            const end = this.byteOffsetInCurrentBuffer + remaining;
-            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
-            if (remaining === remainingCapacityInThisBuffer) {
-              this.byteOffsetInCurrentBuffer = 0;
-              this.bufferIndex++;
-            } else {
-              this.byteOffsetInCurrentBuffer = end;
-            }
-            this.pushedBytesLength += remaining;
-            i += remaining;
-          }
+      }
+    };
+    exports2.sourceRange1 = {
+      parameterPath: ["options", "sourceRange"],
+      mapper: {
+        serializedName: "x-ms-source-range",
+        xmlName: "x-ms-source-range",
+        type: {
+          name: "String"
         }
-        if (outBuffers.length > 1) {
-          this.push(Buffer.concat(outBuffers));
-        } else if (outBuffers.length === 1) {
-          this.push(outBuffers[0]);
+      }
+    };
+    exports2.comp23 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "seal",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
     };
-    exports2.BuffersStream = BuffersStream;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js
-var require_PooledBuffer = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PooledBuffer = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var BuffersStream_js_1 = require_BuffersStream();
-    var node_buffer_1 = tslib_1.__importDefault(require("node:buffer"));
-    var maxBufferLength = node_buffer_1.default.constants.MAX_LENGTH;
-    var PooledBuffer = class {
-      /**
-       * Internal buffers used to keep the data.
-       * Each buffer has a length of the maxBufferLength except last one.
-       */
-      buffers = [];
-      /**
-       * The total size of internal buffers.
-       */
-      capacity;
-      /**
-       * The total size of data contained in internal buffers.
-       */
-      _size;
-      /**
-       * The size of the data contained in the pooled buffers.
-       */
-      get size() {
-        return this._size;
+    exports2.blobType2 = {
+      parameterPath: "blobType",
+      mapper: {
+        defaultValue: "BlockBlob",
+        isConstant: true,
+        serializedName: "x-ms-blob-type",
+        type: {
+          name: "String"
+        }
       }
-      constructor(capacity, buffers, totalLength) {
-        this.capacity = capacity;
-        this._size = 0;
-        const bufferNum = Math.ceil(capacity / maxBufferLength);
-        for (let i = 0; i < bufferNum; i++) {
-          let len = i === bufferNum - 1 ? capacity % maxBufferLength : maxBufferLength;
-          if (len === 0) {
-            len = maxBufferLength;
-          }
-          this.buffers.push(Buffer.allocUnsafe(len));
+    };
+    exports2.copySourceBlobProperties = {
+      parameterPath: ["options", "copySourceBlobProperties"],
+      mapper: {
+        serializedName: "x-ms-copy-source-blob-properties",
+        xmlName: "x-ms-copy-source-blob-properties",
+        type: {
+          name: "Boolean"
         }
-        if (buffers) {
-          this.fill(buffers, totalLength);
+      }
+    };
+    exports2.comp24 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "block",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      /**
-       * Fill the internal buffers with data in the input buffers serially
-       * with respect to the total length and the total capacity of the internal buffers.
-       * Data copied will be shift out of the input buffers.
-       *
-       * @param buffers - Input buffers containing the data to be filled in the pooled buffer
-       * @param totalLength - Total length of the data to be filled in.
-       *
-       */
-      fill(buffers, totalLength) {
-        this._size = Math.min(this.capacity, totalLength);
-        let i = 0, j = 0, targetOffset = 0, sourceOffset = 0, totalCopiedNum = 0;
-        while (totalCopiedNum < this._size) {
-          const source = buffers[i];
-          const target = this.buffers[j];
-          const copiedNum = source.copy(target, targetOffset, sourceOffset);
-          totalCopiedNum += copiedNum;
-          sourceOffset += copiedNum;
-          targetOffset += copiedNum;
-          if (sourceOffset === source.length) {
-            i++;
-            sourceOffset = 0;
-          }
-          if (targetOffset === target.length) {
-            j++;
-            targetOffset = 0;
-          }
+    };
+    exports2.blockId = {
+      parameterPath: "blockId",
+      mapper: {
+        serializedName: "blockid",
+        required: true,
+        xmlName: "blockid",
+        type: {
+          name: "String"
         }
-        buffers.splice(0, i);
-        if (buffers.length > 0) {
-          buffers[0] = buffers[0].slice(sourceOffset);
+      }
+    };
+    exports2.blocks = {
+      parameterPath: "blocks",
+      mapper: mappers_js_1.BlockLookupList
+    };
+    exports2.comp25 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "blocklist",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      /**
-       * Get the readable stream assembled from all the data in the internal buffers.
-       *
-       */
-      getReadableStream() {
-        return new BuffersStream_js_1.BuffersStream(this.buffers, this.size);
+    };
+    exports2.listType = {
+      parameterPath: "listType",
+      mapper: {
+        defaultValue: "committed",
+        serializedName: "blocklisttype",
+        required: true,
+        xmlName: "blocklisttype",
+        type: {
+          name: "Enum",
+          allowedValues: ["committed", "uncommitted", "all"]
+        }
       }
     };
-    exports2.PooledBuffer = PooledBuffer;
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js
-var require_BufferScheduler = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js
+var require_service = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BufferScheduler = void 0;
-    var events_1 = require("events");
-    var PooledBuffer_js_1 = require_PooledBuffer();
-    var BufferScheduler = class {
-      /**
-       * Size of buffers in incoming and outgoing queues. This class will try to align
-       * data read from Readable stream into buffer chunks with bufferSize defined.
-       */
-      bufferSize;
-      /**
-       * How many buffers can be created or maintained.
-       */
-      maxBuffers;
-      /**
-       * A Node.js Readable stream.
-       */
-      readable;
-      /**
-       * OutgoingHandler is an async function triggered by BufferScheduler when there
-       * are available buffers in outgoing array.
-       */
-      outgoingHandler;
-      /**
-       * An internal event emitter.
-       */
-      emitter = new events_1.EventEmitter();
-      /**
-       * Concurrency of executing outgoingHandlers. (0 lesser than concurrency lesser than or equal to maxBuffers)
-       */
-      concurrency;
-      /**
-       * An internal offset marker to track data offset in bytes of next outgoingHandler.
-       */
-      offset = 0;
-      /**
-       * An internal marker to track whether stream is end.
-       */
-      isStreamEnd = false;
-      /**
-       * An internal marker to track whether stream or outgoingHandler returns error.
-       */
-      isError = false;
-      /**
-       * How many handlers are executing.
-       */
-      executingOutgoingHandlers = 0;
-      /**
-       * Encoding of the input Readable stream which has string data type instead of Buffer.
-       */
-      encoding;
-      /**
-       * How many buffers have been allocated.
-       */
-      numBuffers = 0;
-      /**
-       * Because this class doesn't know how much data every time stream pops, which
-       * is defined by highWaterMarker of the stream. So BufferScheduler will cache
-       * data received from the stream, when data in unresolvedDataArray exceeds the
-       * blockSize defined, it will try to concat a blockSize of buffer, fill into available
-       * buffers from incoming and push to outgoing array.
-       */
-      unresolvedDataArray = [];
-      /**
-       * How much data consisted in unresolvedDataArray.
-       */
-      unresolvedLength = 0;
-      /**
-       * The array includes all the available buffers can be used to fill data from stream.
-       */
-      incoming = [];
-      /**
-       * The array (queue) includes all the buffers filled from stream data.
-       */
-      outgoing = [];
-      /**
-       * Creates an instance of BufferScheduler.
-       *
-       * @param readable - A Node.js Readable stream
-       * @param bufferSize - Buffer size of every maintained buffer
-       * @param maxBuffers - How many buffers can be allocated
-       * @param outgoingHandler - An async function scheduled to be
-       *                                          triggered when a buffer fully filled
-       *                                          with stream data
-       * @param concurrency - Concurrency of executing outgoingHandlers (>0)
-       * @param encoding - [Optional] Encoding of Readable stream when it's a string stream
-       */
-      constructor(readable, bufferSize, maxBuffers, outgoingHandler, concurrency, encoding) {
-        if (bufferSize <= 0) {
-          throw new RangeError(`bufferSize must be larger than 0, current is ${bufferSize}`);
-        }
-        if (maxBuffers <= 0) {
-          throw new RangeError(`maxBuffers must be larger than 0, current is ${maxBuffers}`);
-        }
-        if (concurrency <= 0) {
-          throw new RangeError(`concurrency must be larger than 0, current is ${concurrency}`);
-        }
-        this.bufferSize = bufferSize;
-        this.maxBuffers = maxBuffers;
-        this.readable = readable;
-        this.outgoingHandler = outgoingHandler;
-        this.concurrency = concurrency;
-        this.encoding = encoding;
-      }
+    exports2.ServiceImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var ServiceImpl = class {
+      client;
       /**
-       * Start the scheduler, will return error when stream of any of the outgoingHandlers
-       * returns error.
-       *
+       * Initialize a new instance of the class Service class.
+       * @param client Reference to the service client
        */
-      async do() {
-        return new Promise((resolve3, reject) => {
-          this.readable.on("data", (data) => {
-            data = typeof data === "string" ? Buffer.from(data, this.encoding) : data;
-            this.appendUnresolvedData(data);
-            if (!this.resolveData()) {
-              this.readable.pause();
-            }
-          });
-          this.readable.on("error", (err) => {
-            this.emitter.emit("error", err);
-          });
-          this.readable.on("end", () => {
-            this.isStreamEnd = true;
-            this.emitter.emit("checkEnd");
-          });
-          this.emitter.on("error", (err) => {
-            this.isError = true;
-            this.readable.pause();
-            reject(err);
-          });
-          this.emitter.on("checkEnd", () => {
-            if (this.outgoing.length > 0) {
-              this.triggerOutgoingHandlers();
-              return;
-            }
-            if (this.isStreamEnd && this.executingOutgoingHandlers === 0) {
-              if (this.unresolvedLength > 0 && this.unresolvedLength < this.bufferSize) {
-                const buffer = this.shiftBufferFromUnresolvedDataArray();
-                this.outgoingHandler(() => buffer.getReadableStream(), buffer.size, this.offset).then(resolve3).catch(reject);
-              } else if (this.unresolvedLength >= this.bufferSize) {
-                return;
-              } else {
-                resolve3();
-              }
-            }
-          });
-        });
+      constructor(client) {
+        this.client = client;
       }
       /**
-       * Insert a new data into unresolved array.
-       *
-       * @param data -
+       * Sets properties for a storage account's Blob service endpoint, including properties for Storage
+       * Analytics and CORS (Cross-Origin Resource Sharing) rules
+       * @param blobServiceProperties The StorageService properties.
+       * @param options The options parameters.
        */
-      appendUnresolvedData(data) {
-        this.unresolvedDataArray.push(data);
-        this.unresolvedLength += data.length;
+      setProperties(blobServiceProperties, options) {
+        return this.client.sendOperationRequest({ blobServiceProperties, options }, setPropertiesOperationSpec);
       }
       /**
-       * Try to shift a buffer with size in blockSize. The buffer returned may be less
-       * than blockSize when data in unresolvedDataArray is less than bufferSize.
-       *
+       * gets the properties of a storage account's Blob service, including properties for Storage Analytics
+       * and CORS (Cross-Origin Resource Sharing) rules.
+       * @param options The options parameters.
        */
-      shiftBufferFromUnresolvedDataArray(buffer) {
-        if (!buffer) {
-          buffer = new PooledBuffer_js_1.PooledBuffer(this.bufferSize, this.unresolvedDataArray, this.unresolvedLength);
-        } else {
-          buffer.fill(this.unresolvedDataArray, this.unresolvedLength);
-        }
-        this.unresolvedLength -= buffer.size;
-        return buffer;
+      getProperties(options) {
+        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
       }
       /**
-       * Resolve data in unresolvedDataArray. For every buffer with size in blockSize
-       * shifted, it will try to get (or allocate a buffer) from incoming, and fill it,
-       * then push it into outgoing to be handled by outgoing handler.
-       *
-       * Return false when available buffers in incoming are not enough, else true.
-       *
-       * @returns Return false when buffers in incoming are not enough, else true.
-       */
-      resolveData() {
-        while (this.unresolvedLength >= this.bufferSize) {
-          let buffer;
-          if (this.incoming.length > 0) {
-            buffer = this.incoming.shift();
-            this.shiftBufferFromUnresolvedDataArray(buffer);
-          } else {
-            if (this.numBuffers < this.maxBuffers) {
-              buffer = this.shiftBufferFromUnresolvedDataArray();
-              this.numBuffers++;
-            } else {
-              return false;
-            }
-          }
-          this.outgoing.push(buffer);
-          this.triggerOutgoingHandlers();
-        }
-        return true;
+       * Retrieves statistics related to replication for the Blob service. It is only available on the
+       * secondary location endpoint when read-access geo-redundant replication is enabled for the storage
+       * account.
+       * @param options The options parameters.
+       */
+      getStatistics(options) {
+        return this.client.sendOperationRequest({ options }, getStatisticsOperationSpec);
       }
       /**
-       * Try to trigger a outgoing handler for every buffer in outgoing. Stop when
-       * concurrency reaches.
+       * The List Containers Segment operation returns a list of the containers under the specified account
+       * @param options The options parameters.
        */
-      async triggerOutgoingHandlers() {
-        let buffer;
-        do {
-          if (this.executingOutgoingHandlers >= this.concurrency) {
-            return;
-          }
-          buffer = this.outgoing.shift();
-          if (buffer) {
-            this.triggerOutgoingHandler(buffer);
-          }
-        } while (buffer);
+      listContainersSegment(options) {
+        return this.client.sendOperationRequest({ options }, listContainersSegmentOperationSpec);
       }
       /**
-       * Trigger a outgoing handler for a buffer shifted from outgoing.
-       *
-       * @param buffer -
+       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
+       * bearer token authentication.
+       * @param keyInfo Key information
+       * @param options The options parameters.
        */
-      async triggerOutgoingHandler(buffer) {
-        const bufferLength = buffer.size;
-        this.executingOutgoingHandlers++;
-        this.offset += bufferLength;
-        try {
-          await this.outgoingHandler(() => buffer.getReadableStream(), bufferLength, this.offset - bufferLength);
-        } catch (err) {
-          this.emitter.emit("error", err);
-          return;
-        }
-        this.executingOutgoingHandlers--;
-        this.reuseBuffer(buffer);
-        this.emitter.emit("checkEnd");
+      getUserDelegationKey(keyInfo, options) {
+        return this.client.sendOperationRequest({ keyInfo, options }, getUserDelegationKeyOperationSpec);
       }
       /**
-       * Return buffer used by outgoing handler into incoming.
-       *
-       * @param buffer -
+       * Returns the sku name and account kind
+       * @param options The options parameters.
        */
-      reuseBuffer(buffer) {
-        this.incoming.push(buffer);
-        if (!this.isError && this.resolveData() && !this.isStreamEnd) {
-          this.readable.resume();
-        }
+      getAccountInfo(options) {
+        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+      }
+      /**
+       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
+       * @param contentLength The length of the request.
+       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
+       *                             boundary. Example header value: multipart/mixed; boundary=batch_
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      submitBatch(contentLength, multipartContentType, body, options) {
+        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
+      }
+      /**
+       * The Filter Blobs operation enables callers to list blobs across all containers whose tags match a
+       * given search expression.  Filter blobs searches across all containers within a storage account but
+       * can be scoped within the expression to a single container.
+       * @param options The options parameters.
+       */
+      filterBlobs(options) {
+        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
       }
     };
-    exports2.BufferScheduler = BufferScheduler;
+    exports2.ServiceImpl = ServiceImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var setPropertiesOperationSpec = {
+      path: "/",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.ServiceSetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceSetPropertiesExceptionHeaders
+        }
+      },
+      requestBody: Parameters.blobServiceProperties,
+      queryParameters: [
+        Parameters.restype,
+        Parameters.comp,
+        Parameters.timeoutInSeconds
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getPropertiesOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlobServiceProperties,
+          headersMapper: Mappers.ServiceGetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetPropertiesExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.restype,
+        Parameters.comp,
+        Parameters.timeoutInSeconds
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getStatisticsOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlobServiceStatistics,
+          headersMapper: Mappers.ServiceGetStatisticsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetStatisticsExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.restype,
+        Parameters.timeoutInSeconds,
+        Parameters.comp1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var listContainersSegmentOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.ListContainersSegmentResponse,
+          headersMapper: Mappers.ServiceListContainersSegmentHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceListContainersSegmentExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp2,
+        Parameters.prefix,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.include
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getUserDelegationKeyOperationSpec = {
+      path: "/",
+      httpMethod: "POST",
+      responses: {
+        200: {
+          bodyMapper: Mappers.UserDelegationKey,
+          headersMapper: Mappers.ServiceGetUserDelegationKeyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetUserDelegationKeyExceptionHeaders
+        }
+      },
+      requestBody: Parameters.keyInfo,
+      queryParameters: [
+        Parameters.restype,
+        Parameters.timeoutInSeconds,
+        Parameters.comp3
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getAccountInfoOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.ServiceGetAccountInfoHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetAccountInfoExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.comp,
+        Parameters.timeoutInSeconds,
+        Parameters.restype1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var submitBatchOperationSpec = {
+      path: "/",
+      httpMethod: "POST",
+      responses: {
+        202: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.ServiceSubmitBatchHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceSubmitBatchExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp4],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.multipartContentType
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var filterBlobsOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.FilterBlobSegment,
+          headersMapper: Mappers.ServiceFilterBlobsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceFilterBlobsExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.comp5,
+        Parameters.where
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/cache.js
-var require_cache3 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/cache.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js
+var require_container = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var _defaultHttpClient;
-    function getCachedDefaultHttpClient() {
-      if (!_defaultHttpClient) {
-        _defaultHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
+    exports2.ContainerImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var ContainerImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class Container class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
       }
-      return _defaultHttpClient;
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js
-var require_RequestPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BaseRequestPolicy = void 0;
-    var BaseRequestPolicy = class {
-      _nextPolicy;
-      _options;
       /**
-       * The main method to implement that manipulates a request/response.
+       * creates a new container under the specified account. If the container with the same name already
+       * exists, the operation fails
+       * @param options The options parameters.
        */
-      constructor(_nextPolicy, _options) {
-        this._nextPolicy = _nextPolicy;
-        this._options = _options;
+      create(options) {
+        return this.client.sendOperationRequest({ options }, createOperationSpec);
       }
       /**
-       * Get whether or not a log with the provided log level should be logged.
-       * @param logLevel - The log level of the log that will be logged.
-       * @returns Whether or not a log with the provided log level should be logged.
+       * returns all user-defined metadata and system properties for the specified container. The data
+       * returned does not include the container's list of blobs
+       * @param options The options parameters.
        */
-      shouldLog(logLevel) {
-        return this._options.shouldLog(logLevel);
+      getProperties(options) {
+        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
       }
       /**
-       * Attempt to log the provided message to the provided logger. If no logger was provided or if
-       * the log level does not meat the logger's threshold, then nothing will be logged.
-       * @param logLevel - The log level of this log.
-       * @param message - The message of this log.
+       * operation marks the specified container for deletion. The container and any blobs contained within
+       * it are later deleted during garbage collection
+       * @param options The options parameters.
        */
-      log(logLevel, message) {
-        this._options.log(logLevel, message);
+      delete(options) {
+        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
       }
-    };
-    exports2.BaseRequestPolicy = BaseRequestPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/utils/constants.js
-var require_constants16 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/utils/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathStylePorts = exports2.DevelopmentConnectionString = exports2.HeaderConstants = exports2.URLConstants = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "1.0.0";
-    exports2.URLConstants = {
-      Parameters: {
-        FORCE_BROWSER_NO_CACHE: "_",
-        SIGNATURE: "sig",
-        SNAPSHOT: "snapshot",
-        VERSIONID: "versionid",
-        TIMEOUT: "timeout"
+      /**
+       * operation sets one or more user-defined name-value pairs for the specified container.
+       * @param options The options parameters.
+       */
+      setMetadata(options) {
+        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
       }
-    };
-    exports2.HeaderConstants = {
-      AUTHORIZATION: "Authorization",
-      AUTHORIZATION_SCHEME: "Bearer",
-      CONTENT_ENCODING: "Content-Encoding",
-      CONTENT_ID: "Content-ID",
-      CONTENT_LANGUAGE: "Content-Language",
-      CONTENT_LENGTH: "Content-Length",
-      CONTENT_MD5: "Content-Md5",
-      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
-      CONTENT_TYPE: "Content-Type",
-      COOKIE: "Cookie",
-      DATE: "date",
-      IF_MATCH: "if-match",
-      IF_MODIFIED_SINCE: "if-modified-since",
-      IF_NONE_MATCH: "if-none-match",
-      IF_UNMODIFIED_SINCE: "if-unmodified-since",
-      PREFIX_FOR_STORAGE: "x-ms-",
-      RANGE: "Range",
-      USER_AGENT: "User-Agent",
-      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
-      X_MS_COPY_SOURCE: "x-ms-copy-source",
-      X_MS_DATE: "x-ms-date",
-      X_MS_ERROR_CODE: "x-ms-error-code",
-      X_MS_VERSION: "x-ms-version",
-      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
-    };
-    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
-    exports2.PathStylePorts = [
-      "10000",
-      "10001",
-      "10002",
-      "10003",
-      "10004",
-      "10100",
-      "10101",
-      "10102",
-      "10103",
-      "10104",
-      "11000",
-      "11001",
-      "11002",
-      "11003",
-      "11004",
-      "11100",
-      "11101",
-      "11102",
-      "11103",
-      "11104"
-    ];
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js
-var require_utils_common2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escapeURLPath = escapeURLPath;
-    exports2.getValueInConnString = getValueInConnString;
-    exports2.extractConnectionStringParts = extractConnectionStringParts;
-    exports2.appendToURLPath = appendToURLPath;
-    exports2.setURLParameter = setURLParameter;
-    exports2.getURLParameter = getURLParameter;
-    exports2.setURLHost = setURLHost;
-    exports2.getURLPath = getURLPath;
-    exports2.getURLScheme = getURLScheme;
-    exports2.getURLPathAndQuery = getURLPathAndQuery;
-    exports2.getURLQueries = getURLQueries;
-    exports2.appendToURLQuery = appendToURLQuery;
-    exports2.truncatedISO8061Date = truncatedISO8061Date;
-    exports2.base64encode = base64encode;
-    exports2.base64decode = base64decode;
-    exports2.generateBlockID = generateBlockID;
-    exports2.delay = delay;
-    exports2.padStart = padStart2;
-    exports2.sanitizeURL = sanitizeURL;
-    exports2.sanitizeHeaders = sanitizeHeaders;
-    exports2.iEqual = iEqual;
-    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
-    exports2.isIpEndpointStyle = isIpEndpointStyle;
-    exports2.attachCredential = attachCredential;
-    exports2.httpAuthorizationToString = httpAuthorizationToString;
-    exports2.EscapePath = EscapePath;
-    exports2.assertResponse = assertResponse;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants16();
-    function escapeURLPath(url) {
-      const urlParsed = new URL(url);
-      let path4 = urlParsed.pathname;
-      path4 = path4 || "/";
-      path4 = escape(path4);
-      urlParsed.pathname = path4;
-      return urlParsed.toString();
-    }
-    function getProxyUriFromDevConnString(connectionString) {
-      let proxyUri = "";
-      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
-        const matchCredentials = connectionString.split(";");
-        for (const element of matchCredentials) {
-          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
-            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
-          }
-        }
+      /**
+       * gets the permissions for the specified container. The permissions indicate whether container data
+       * may be accessed publicly.
+       * @param options The options parameters.
+       */
+      getAccessPolicy(options) {
+        return this.client.sendOperationRequest({ options }, getAccessPolicyOperationSpec);
       }
-      return proxyUri;
-    }
-    function getValueInConnString(connectionString, argument) {
-      const elements = connectionString.split(";");
-      for (const element of elements) {
-        if (element.trim().startsWith(argument)) {
-          return element.trim().match(argument + "=(.*)")[1];
-        }
+      /**
+       * sets the permissions for the specified container. The permissions indicate whether blobs in a
+       * container may be accessed publicly.
+       * @param options The options parameters.
+       */
+      setAccessPolicy(options) {
+        return this.client.sendOperationRequest({ options }, setAccessPolicyOperationSpec);
       }
-      return "";
-    }
-    function extractConnectionStringParts(connectionString) {
-      let proxyUri = "";
-      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
-        proxyUri = getProxyUriFromDevConnString(connectionString);
-        connectionString = constants_js_1.DevelopmentConnectionString;
+      /**
+       * Restores a previously-deleted container.
+       * @param options The options parameters.
+       */
+      restore(options) {
+        return this.client.sendOperationRequest({ options }, restoreOperationSpec);
       }
-      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
-      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
-      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
-        let defaultEndpointsProtocol = "";
-        let accountName = "";
-        let accountKey = Buffer.from("accountKey", "base64");
-        let endpointSuffix = "";
-        accountName = getValueInConnString(connectionString, "AccountName");
-        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
-        if (!blobEndpoint) {
-          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
-          const protocol = defaultEndpointsProtocol.toLowerCase();
-          if (protocol !== "https" && protocol !== "http") {
-            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
-          }
-          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
-          if (!endpointSuffix) {
-            throw new Error("Invalid EndpointSuffix in the provided Connection String");
-          }
-          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
-        }
-        if (!accountName) {
-          throw new Error("Invalid AccountName in the provided Connection String");
-        } else if (accountKey.length === 0) {
-          throw new Error("Invalid AccountKey in the provided Connection String");
-        }
-        return {
-          kind: "AccountConnString",
-          url: blobEndpoint,
-          accountName,
-          accountKey,
-          proxyUri
-        };
-      } else {
-        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
-        let accountName = getValueInConnString(connectionString, "AccountName");
-        if (!accountName) {
-          accountName = getAccountNameFromUrl(blobEndpoint);
-        }
-        if (!blobEndpoint) {
-          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
-        } else if (!accountSas) {
-          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
-        }
-        if (accountSas.startsWith("?")) {
-          accountSas = accountSas.substring(1);
-        }
-        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
+      /**
+       * Renames an existing container.
+       * @param sourceContainerName Required.  Specifies the name of the container to rename.
+       * @param options The options parameters.
+       */
+      rename(sourceContainerName, options) {
+        return this.client.sendOperationRequest({ sourceContainerName, options }, renameOperationSpec);
       }
-    }
-    function escape(text) {
-      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
-    }
-    function appendToURLPath(url, name) {
-      const urlParsed = new URL(url);
-      let path4 = urlParsed.pathname;
-      path4 = path4 ? path4.endsWith("/") ? `${path4}${name}` : `${path4}/${name}` : name;
-      urlParsed.pathname = path4;
-      return urlParsed.toString();
-    }
-    function setURLParameter(url, name, value) {
-      const urlParsed = new URL(url);
-      const encodedName = encodeURIComponent(name);
-      const encodedValue = value ? encodeURIComponent(value) : void 0;
-      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
-      const searchPieces = [];
-      for (const pair of searchString.slice(1).split("&")) {
-        if (pair) {
-          const [key] = pair.split("=", 2);
-          if (key !== encodedName) {
-            searchPieces.push(pair);
-          }
-        }
+      /**
+       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
+       * @param contentLength The length of the request.
+       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
+       *                             boundary. Example header value: multipart/mixed; boundary=batch_
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      submitBatch(contentLength, multipartContentType, body, options) {
+        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
       }
-      if (encodedValue) {
-        searchPieces.push(`${encodedName}=${encodedValue}`);
+      /**
+       * The Filter Blobs operation enables callers to list blobs in a container whose tags match a given
+       * search expression.  Filter blobs searches within the given container.
+       * @param options The options parameters.
+       */
+      filterBlobs(options) {
+        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
       }
-      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
-      return urlParsed.toString();
-    }
-    function getURLParameter(url, name) {
-      const urlParsed = new URL(url);
-      return urlParsed.searchParams.get(name) ?? void 0;
-    }
-    function setURLHost(url, host) {
-      const urlParsed = new URL(url);
-      urlParsed.hostname = host;
-      return urlParsed.toString();
-    }
-    function getURLPath(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.pathname;
-      } catch (e) {
-        return void 0;
+      /**
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param options The options parameters.
+       */
+      acquireLease(options) {
+        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
       }
-    }
-    function getURLScheme(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
-      } catch (e) {
-        return void 0;
+      /**
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
+       */
+      releaseLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
       }
-    }
-    function getURLPathAndQuery(url) {
-      const urlParsed = new URL(url);
-      const pathString = urlParsed.pathname;
-      if (!pathString) {
-        throw new RangeError("Invalid url without valid path.");
+      /**
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
+       */
+      renewLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
       }
-      let queryString = urlParsed.search || "";
-      queryString = queryString.trim();
-      if (queryString !== "") {
-        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
+      /**
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param options The options parameters.
+       */
+      breakLease(options) {
+        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
       }
-      return `${pathString}${queryString}`;
-    }
-    function getURLQueries(url) {
-      let queryString = new URL(url).search;
-      if (!queryString) {
-        return {};
+      /**
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
+       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
+       *                        (String) for a list of valid GUID string formats.
+       * @param options The options parameters.
+       */
+      changeLease(leaseId, proposedLeaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
       }
-      queryString = queryString.trim();
-      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
-      let querySubStrings = queryString.split("&");
-      querySubStrings = querySubStrings.filter((value) => {
-        const indexOfEqual = value.indexOf("=");
-        const lastIndexOfEqual = value.lastIndexOf("=");
-        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
-      });
-      const queries = {};
-      for (const querySubString of querySubStrings) {
-        const splitResults = querySubString.split("=");
-        const key = splitResults[0];
-        const value = splitResults[1];
-        queries[key] = value;
+      /**
+       * [Update] The List Blobs operation returns a list of the blobs under the specified container
+       * @param options The options parameters.
+       */
+      listBlobFlatSegment(options) {
+        return this.client.sendOperationRequest({ options }, listBlobFlatSegmentOperationSpec);
       }
-      return queries;
-    }
-    function appendToURLQuery(url, queryParts) {
-      const urlParsed = new URL(url);
-      let query = urlParsed.search;
-      if (query) {
-        query += "&" + queryParts;
-      } else {
-        query = queryParts;
+      /**
+       * [Update] The List Blobs operation returns a list of the blobs under the specified container
+       * @param delimiter When the request includes this parameter, the operation returns a BlobPrefix
+       *                  element in the response body that acts as a placeholder for all blobs whose names begin with the
+       *                  same substring up to the appearance of the delimiter character. The delimiter may be a single
+       *                  character or a string.
+       * @param options The options parameters.
+       */
+      listBlobHierarchySegment(delimiter, options) {
+        return this.client.sendOperationRequest({ delimiter, options }, listBlobHierarchySegmentOperationSpec);
       }
-      urlParsed.search = query;
-      return urlParsed.toString();
-    }
-    function truncatedISO8061Date(date, withMilliseconds = true) {
-      const dateString = date.toISOString();
-      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
-    }
-    function base64encode(content) {
-      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
-    }
-    function base64decode(encodedString) {
-      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
-    }
-    function generateBlockID(blockIDPrefix, blockIndex) {
-      const maxSourceStringLength = 48;
-      const maxBlockIndexLength = 6;
-      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
-      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
-        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
+      /**
+       * Returns the sku name and account kind
+       * @param options The options parameters.
+       */
+      getAccountInfo(options) {
+        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
       }
-      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
-      return base64encode(res);
-    }
-    async function delay(timeInMs, aborter, abortError) {
-      return new Promise((resolve3, reject) => {
-        let timeout;
-        const abortHandler = () => {
-          if (timeout !== void 0) {
-            clearTimeout(timeout);
-          }
-          reject(abortError);
-        };
-        const resolveHandler = () => {
-          if (aborter !== void 0) {
-            aborter.removeEventListener("abort", abortHandler);
-          }
-          resolve3();
-        };
-        timeout = setTimeout(resolveHandler, timeInMs);
-        if (aborter !== void 0) {
-          aborter.addEventListener("abort", abortHandler);
+    };
+    exports2.ContainerImpl = ContainerImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.ContainerCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerCreateExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.access,
+        Parameters.defaultEncryptionScope,
+        Parameters.preventEncryptionScopeOverride
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPropertiesOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerGetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerGetPropertiesExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var deleteOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "DELETE",
+      responses: {
+        202: {
+          headersMapper: Mappers.ContainerDeleteHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerDeleteExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setMetadataOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerSetMetadataHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerSetMetadataExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp6
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getAccessPolicyOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: {
+            type: {
+              name: "Sequence",
+              element: {
+                type: { name: "Composite", className: "SignedIdentifier" }
+              }
+            },
+            serializedName: "SignedIdentifiers",
+            xmlName: "SignedIdentifiers",
+            xmlIsWrapped: true,
+            xmlElementName: "SignedIdentifier"
+          },
+          headersMapper: Mappers.ContainerGetAccessPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerGetAccessPolicyExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp7
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setAccessPolicyOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerSetAccessPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerSetAccessPolicyExceptionHeaders
+        }
+      },
+      requestBody: Parameters.containerAcl,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp7
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.access,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var restoreOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.ContainerRestoreHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerRestoreExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp8
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.deletedContainerName,
+        Parameters.deletedContainerVersion
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var renameOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerRenameHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerRenameExceptionHeaders
         }
-      });
-    }
-    function padStart2(currentString, targetLength, padString = " ") {
-      if (String.prototype.padStart) {
-        return currentString.padStart(targetLength, padString);
-      }
-      padString = padString || " ";
-      if (currentString.length > targetLength) {
-        return currentString;
-      } else {
-        targetLength = targetLength - currentString.length;
-        if (targetLength > padString.length) {
-          padString += padString.repeat(targetLength / padString.length);
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp9
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.sourceContainerName,
+        Parameters.sourceLeaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var submitBatchOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "POST",
+      responses: {
+        202: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.ContainerSubmitBatchHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerSubmitBatchExceptionHeaders
         }
-        return padString.slice(0, targetLength) + currentString;
-      }
-    }
-    function sanitizeURL(url) {
-      let safeURL = url;
-      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
-        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
-      }
-      return safeURL;
-    }
-    function sanitizeHeaders(originalHeader) {
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
-      for (const [name, value] of originalHeader) {
-        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
-          headers.set(name, "*****");
-        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
-          headers.set(name, sanitizeURL(value));
-        } else {
-          headers.set(name, value);
+      },
+      requestBody: Parameters.body,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp4,
+        Parameters.restype2
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.multipartContentType
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var filterBlobsOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.FilterBlobSegment,
+          headersMapper: Mappers.ContainerFilterBlobsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerFilterBlobsExceptionHeaders
         }
-      }
-      return headers;
-    }
-    function iEqual(str1, str2) {
-      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
-    }
-    function getAccountNameFromUrl(url) {
-      const parsedUrl = new URL(url);
-      let accountName;
-      try {
-        if (parsedUrl.hostname.split(".")[1] === "blob") {
-          accountName = parsedUrl.hostname.split(".")[0];
-        } else if (isIpEndpointStyle(parsedUrl)) {
-          accountName = parsedUrl.pathname.split("/")[1];
-        } else {
-          accountName = "";
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.comp5,
+        Parameters.where,
+        Parameters.restype2
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var acquireLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.ContainerAcquireLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerAcquireLeaseExceptionHeaders
         }
-        return accountName;
-      } catch (error3) {
-        throw new Error("Unable to extract accountName with provided information.");
-      }
-    }
-    function isIpEndpointStyle(parsedUrl) {
-      const host = parsedUrl.host;
-      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
-    }
-    function attachCredential(thing, credential) {
-      thing.credential = credential;
-      return thing;
-    }
-    function httpAuthorizationToString(httpAuthorization) {
-      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
-    }
-    function EscapePath(blobName) {
-      const split = blobName.split("/");
-      for (let i = 0; i < split.length; i++) {
-        split[i] = encodeURIComponent(split[i]);
-      }
-      return split.join("/");
-    }
-    function assertResponse(response) {
-      if (`_response` in response) {
-        return response;
-      }
-      throw new TypeError(`Unexpected response object ${response}`);
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js
-var require_StorageBrowserPolicy = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants16();
-    var utils_common_js_1 = require_utils_common2();
-    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * Creates an instance of StorageBrowserPolicy.
-       * @param nextPolicy -
-       * @param options -
-       */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
-      }
-      /**
-       * Sends out request.
-       *
-       * @param request -
-       */
-      async sendRequest(request2) {
-        if (core_util_1.isNodeLike) {
-          return this._nextPolicy.sendRequest(request2);
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action,
+        Parameters.duration,
+        Parameters.proposedLeaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var releaseLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerReleaseLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerReleaseLeaseExceptionHeaders
         }
-        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
-          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action1,
+        Parameters.leaseId1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var renewLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerRenewLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerRenewLeaseExceptionHeaders
         }
-        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
-        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-        return this._nextPolicy.sendRequest(request2);
-      }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action2
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js
-var require_StorageBrowserPolicyFactory = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
-    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy();
-    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
-      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
-    } });
-    var StorageBrowserPolicyFactory = class {
-      /**
-       * Creates a StorageBrowserPolicyFactory object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
-      }
+    var breakLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.ContainerBreakLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerBreakLeaseExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action3,
+        Parameters.breakPeriod
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js
-var require_CredentialPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CredentialPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * Sends out request.
-       *
-       * @param request -
-       */
-      sendRequest(request2) {
-        return this._nextPolicy.sendRequest(this.signRequest(request2));
-      }
-      /**
-       * Child classes must implement this method with request signing. This method
-       * will be executed in {@link sendRequest}.
-       *
-       * @param request -
-       */
-      signRequest(request2) {
-        return request2;
-      }
+    var changeLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerChangeLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerChangeLeaseExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action4,
+        Parameters.proposedLeaseId1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.CredentialPolicy = CredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js
-var require_AnonymousCredentialPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredentialPolicy = void 0;
-    var CredentialPolicy_js_1 = require_CredentialPolicy2();
-    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
-      /**
-       * Creates an instance of AnonymousCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
-       */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
-      }
+    var listBlobFlatSegmentOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.ListBlobsFlatSegmentResponse,
+          headersMapper: Mappers.ContainerListBlobFlatSegmentHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerListBlobFlatSegmentExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp2,
+        Parameters.prefix,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.restype2,
+        Parameters.include1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var listBlobHierarchySegmentOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.ListBlobsHierarchySegmentResponse,
+          headersMapper: Mappers.ContainerListBlobHierarchySegmentHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerListBlobHierarchySegmentExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp2,
+        Parameters.prefix,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.restype2,
+        Parameters.include1,
+        Parameters.delimiter
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getAccountInfoOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerGetAccountInfoHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerGetAccountInfoExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.comp,
+        Parameters.timeoutInSeconds,
+        Parameters.restype1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js
-var require_Credential2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js
+var require_blob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Credential = void 0;
-    var Credential = class {
+    exports2.BlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var BlobImpl = class {
+      client;
       /**
-       * Creates a RequestPolicy object.
-       *
-       * @param _nextPolicy -
-       * @param _options -
+       * Initialize a new instance of the class Blob class.
+       * @param client Reference to the service client
        */
-      create(_nextPolicy, _options) {
-        throw new Error("Method should be implemented in children classes.");
+      constructor(client) {
+        this.client = client;
       }
-    };
-    exports2.Credential = Credential;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js
-var require_AnonymousCredential2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredential = void 0;
-    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy2();
-    var Credential_js_1 = require_Credential2();
-    var AnonymousCredential = class extends Credential_js_1.Credential {
       /**
-       * Creates an {@link AnonymousCredentialPolicy} object.
-       *
-       * @param nextPolicy -
-       * @param options -
+       * The Download operation reads or downloads a blob from the system, including its metadata and
+       * properties. You can also call Download to read a snapshot.
+       * @param options The options parameters.
        */
-      create(nextPolicy, options) {
-        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
+      download(options) {
+        return this.client.sendOperationRequest({ options }, downloadOperationSpec);
       }
-    };
-    exports2.AnonymousCredential = AnonymousCredential;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js
-var require_SharedKeyComparator2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.compareHeader = compareHeader;
-    var table_lv0 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1820,
-      0,
-      1823,
-      1825,
-      1827,
-      1829,
-      0,
-      0,
-      0,
-      1837,
-      2051,
-      0,
-      0,
-      1843,
-      0,
-      3331,
-      3354,
-      3356,
-      3358,
-      3360,
-      3362,
-      3364,
-      3366,
-      3368,
-      3370,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      0,
-      0,
-      1859,
-      1860,
-      1864,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      1868,
-      0,
-      1872,
-      0
-    ]);
-    var table_lv2 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    var table_lv4 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      32786,
-      0,
-      0,
-      0,
-      0,
-      0,
-      33298,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    function compareHeader(lhs, rhs) {
-      if (isLessThan(lhs, rhs))
-        return -1;
-      return 1;
-    }
-    function isLessThan(lhs, rhs) {
-      const tables = [table_lv0, table_lv2, table_lv4];
-      let curr_level = 0;
-      let i = 0;
-      let j = 0;
-      while (curr_level < tables.length) {
-        if (curr_level === tables.length - 1 && i !== j) {
-          return i > j;
-        }
-        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
-        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
-        if (weight1 === 1 && weight2 === 1) {
-          i = 0;
-          j = 0;
-          ++curr_level;
-        } else if (weight1 === weight2) {
-          ++i;
-          ++j;
-        } else if (weight1 === 0) {
-          ++i;
-        } else if (weight2 === 0) {
-          ++j;
-        } else {
-          return weight1 < weight2;
-        }
+      /**
+       * The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system
+       * properties for the blob. It does not return the content of the blob.
+       * @param options The options parameters.
+       */
+      getProperties(options) {
+        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
+      }
+      /**
+       * If the storage account's soft delete feature is disabled then, when a blob is deleted, it is
+       * permanently removed from the storage account. If the storage account's soft delete feature is
+       * enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible
+       * immediately. However, the blob service retains the blob or snapshot for the number of days specified
+       * by the DeleteRetentionPolicy section of [Storage service properties]
+       * (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is
+       * permanently removed from the storage account. Note that you continue to be charged for the
+       * soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the
+       * "include=deleted" query parameter to discover which blobs and snapshots have been soft deleted. You
+       * can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a
+       * soft-deleted blob or snapshot causes the service to return an HTTP status code of 404
+       * (ResourceNotFound).
+       * @param options The options parameters.
+       */
+      delete(options) {
+        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
       }
-      return false;
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
-var require_StorageSharedKeyCredentialPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredentialPolicy = void 0;
-    var constants_js_1 = require_constants16();
-    var utils_common_js_1 = require_utils_common2();
-    var CredentialPolicy_js_1 = require_CredentialPolicy2();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
-    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
       /**
-       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
+       * Undelete a blob that was previously soft deleted
+       * @param options The options parameters.
        */
-      factory;
+      undelete(options) {
+        return this.client.sendOperationRequest({ options }, undeleteOperationSpec);
+      }
       /**
-       * Creates an instance of StorageSharedKeyCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
-       * @param factory -
+       * Sets the time a blob will expire and be deleted.
+       * @param expiryOptions Required. Indicates mode of the expiry time
+       * @param options The options parameters.
        */
-      constructor(nextPolicy, options, factory) {
-        super(nextPolicy, options);
-        this.factory = factory;
+      setExpiry(expiryOptions, options) {
+        return this.client.sendOperationRequest({ expiryOptions, options }, setExpiryOperationSpec);
       }
       /**
-       * Signs request.
-       *
-       * @param request -
+       * The Set HTTP Headers operation sets system properties on the blob
+       * @param options The options parameters.
        */
-      signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
-        const signature = this.factory.computeHMACSHA256(stringToSign);
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
-        return request2;
+      setHttpHeaders(options) {
+        return this.client.sendOperationRequest({ options }, setHttpHeadersOperationSpec);
       }
       /**
-       * Retrieve header value according to shared key sign rules.
-       * @see https://learn.microsoft.com/en-us/rest/api/storageservices/authenticate-with-shared-key
-       *
-       * @param request -
-       * @param headerName -
+       * The Set Immutability Policy operation sets the immutability policy on the blob
+       * @param options The options parameters.
        */
-      getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
-        }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
-        }
-        return value;
+      setImmutabilityPolicy(options) {
+        return this.client.sendOperationRequest({ options }, setImmutabilityPolicyOperationSpec);
       }
       /**
-       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
-       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
-       * 2. Convert each HTTP header name to lowercase.
-       * 3. Sort the headers lexicographically by header name, in ascending order.
-       *    Each header may appear only once in the string.
-       * 4. Replace any linear whitespace in the header value with a single space.
-       * 5. Trim any whitespace around the colon in the header.
-       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
-       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
-       *
-       * @param request -
+       * The Delete Immutability Policy operation deletes the immutability policy on the blob
+       * @param options The options parameters.
        */
-      getCanonicalizedHeadersString(request2) {
-        let headersArray = request2.headers.headersArray().filter((value) => {
-          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
-        });
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
+      deleteImmutabilityPolicy(options) {
+        return this.client.sendOperationRequest({ options }, deleteImmutabilityPolicyOperationSpec);
       }
       /**
-       * Retrieves the webResource canonicalized resource string.
-       *
-       * @param request -
+       * The Set Legal Hold operation sets a legal hold on the blob.
+       * @param legalHold Specified if a legal hold should be set on the blob.
+       * @param options The options parameters.
        */
-      getCanonicalizedResourceString(request2) {
-        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${this.factory.accountName}${path4}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
-          }
-        }
-        return canonicalizedResourceString;
+      setLegalHold(legalHold, options) {
+        return this.client.sendOperationRequest({ legalHold, options }, setLegalHoldOperationSpec);
       }
-    };
-    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js
-var require_StorageSharedKeyCredential2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy2();
-    var Credential_js_1 = require_Credential2();
-    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
       /**
-       * Azure Storage account name; readonly.
+       * The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more
+       * name-value pairs
+       * @param options The options parameters.
        */
-      accountName;
+      setMetadata(options) {
+        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
+      }
       /**
-       * Azure Storage account key; readonly.
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param options The options parameters.
        */
-      accountKey;
+      acquireLease(options) {
+        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
+      }
       /**
-       * Creates an instance of StorageSharedKeyCredential.
-       * @param accountName -
-       * @param accountKey -
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
        */
-      constructor(accountName, accountKey) {
-        super();
-        this.accountName = accountName;
-        this.accountKey = Buffer.from(accountKey, "base64");
+      releaseLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
       }
       /**
-       * Creates a StorageSharedKeyCredentialPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
        */
-      create(nextPolicy, options) {
-        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
+      renewLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
       }
       /**
-       * Generates a hash signature for an HTTP request or for a SAS.
-       *
-       * @param stringToSign -
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
+       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
+       *                        (String) for a list of valid GUID string formats.
+       * @param options The options parameters.
        */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
+      changeLease(leaseId, proposedLeaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
       }
-    };
-    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
-  }
-});
-
-// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
-var require_AbortError4 = __commonJS({
-  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+      /**
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param options The options parameters.
+       */
+      breakLease(options) {
+        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
       }
-    };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js
-var require_commonjs12 = __commonJS({
-  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError_js_1 = require_AbortError4();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/log.js
-var require_log6 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs2();
-    exports2.logger = (0, logger_1.createClientLogger)("storage-common");
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js
-var require_StorageRetryPolicyType2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicyType;
-    (function(StorageRetryPolicyType2) {
-      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
-      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
-    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js
-var require_StorageRetryPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicy = void 0;
-    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
-    var abort_controller_1 = require_commonjs12();
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    var constants_js_1 = require_constants16();
-    var utils_common_js_1 = require_utils_common2();
-    var log_js_1 = require_log6();
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
-    function NewRetryPolicyFactory(retryOptions) {
-      return {
-        create: (nextPolicy, options) => {
-          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
-        }
-      };
-    }
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
-    };
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
       /**
-       * RetryOptions.
+       * The Create Snapshot operation creates a read-only snapshot of a blob
+       * @param options The options parameters.
        */
-      retryOptions;
+      createSnapshot(options) {
+        return this.client.sendOperationRequest({ options }, createSnapshotOperationSpec);
+      }
       /**
-       * Creates an instance of RetryPolicy.
-       *
-       * @param nextPolicy -
-       * @param options -
-       * @param retryOptions -
+       * The Start Copy From URL operation copies a blob or an internet resource to a new blob.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
        */
-      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
-        super(nextPolicy, options);
-        this.retryOptions = {
-          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
-          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
-          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
-          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
-          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
-          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
-        };
+      startCopyFromURL(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, startCopyFromURLOperationSpec);
       }
       /**
-       * Sends request.
-       *
-       * @param request -
+       * The Copy From URL operation copies a blob or an internet resource to a new blob. It will not return
+       * a response until the copy is complete.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
        */
-      async sendRequest(request2) {
-        return this.attemptSendRequest(request2, false, 1);
+      copyFromURL(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, copyFromURLOperationSpec);
       }
       /**
-       * Decide and perform next retry. Won't mutate request parameter.
-       *
-       * @param request -
-       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
-       *                                   the resource was not found. This may be due to replication delay. So, in this
-       *                                   case, we'll never try the secondary again for this operation.
-       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
-       *                                   the attempt will be performed by this method call.
+       * The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination
+       * blob with zero length and full metadata.
+       * @param copyId The copy identifier provided in the x-ms-copy-id header of the original Copy Blob
+       *               operation.
+       * @param options The options parameters.
        */
-      async attemptSendRequest(request2, secondaryHas404, attempt) {
-        const newRequest = request2.clone();
-        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
-        if (!isPrimaryRetry) {
-          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
-        }
-        if (this.retryOptions.tryTimeoutInMs) {
-          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
-        }
-        let response;
-        try {
-          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-          response = await this._nextPolicy.sendRequest(newRequest);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
-            return response;
-          }
-          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-        } catch (err) {
-          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
-            throw err;
-          }
-        }
-        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
-        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
+      abortCopyFromURL(copyId, options) {
+        return this.client.sendOperationRequest({ copyId, options }, abortCopyFromURLOperationSpec);
       }
       /**
-       * Decide whether to retry according to last HTTP response and retry counters.
-       *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param response -
-       * @param err -
+       * The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium
+       * storage account and on a block blob in a blob storage account (locally redundant storage only). A
+       * premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block
+       * blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's
+       * ETag.
+       * @param tier Indicates the tier to be set on the blob.
+       * @param options The options parameters.
        */
-      shouldRetry(isPrimaryRetry, attempt, response, err) {
-        if (attempt >= this.retryOptions.maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
-          return false;
-        }
-        const retriableErrors = [
-          "ETIMEDOUT",
-          "ESOCKETTIMEDOUT",
-          "ECONNREFUSED",
-          "ECONNRESET",
-          "ENOENT",
-          "ENOTFOUND",
-          "TIMEOUT",
-          "EPIPE",
-          "REQUEST_SEND_ERROR"
-          // For default xhr based http client provided in ms-rest-js
-        ];
-        if (err) {
-          for (const retriableError of retriableErrors) {
-            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
-        }
-        if (response || err) {
-          const statusCode = response ? response.status : err ? err.statusCode : 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
-        }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
-        }
-        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-          return true;
-        }
-        return false;
+      setTier(tier, options) {
+        return this.client.sendOperationRequest({ tier, options }, setTierOperationSpec);
       }
       /**
-       * Delay a calculated time between retries.
-       *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param abortSignal -
+       * Returns the sku name and account kind
+       * @param options The options parameters.
        */
-      async delay(isPrimaryRetry, attempt, abortSignal) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (this.retryOptions.retryPolicyType) {
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = this.retryOptions.retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
-        }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
+      getAccountInfo(options) {
+        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+      }
+      /**
+       * The Query operation enables users to select/project on blob data by providing simple query
+       * expressions.
+       * @param options The options parameters.
+       */
+      query(options) {
+        return this.client.sendOperationRequest({ options }, queryOperationSpec);
       }
-    };
-    exports2.StorageRetryPolicy = StorageRetryPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js
-var require_StorageRetryPolicyFactory2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy2();
-    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
-      return StorageRetryPolicy_js_1.StorageRetryPolicy;
-    } });
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
-    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
-      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
-    } });
-    var StorageRetryPolicyFactory = class {
-      retryOptions;
       /**
-       * Creates an instance of StorageRetryPolicyFactory.
-       * @param retryOptions -
+       * The Get Tags operation enables users to get the tags associated with a blob.
+       * @param options The options parameters.
        */
-      constructor(retryOptions) {
-        this.retryOptions = retryOptions;
+      getTags(options) {
+        return this.client.sendOperationRequest({ options }, getTagsOperationSpec);
       }
       /**
-       * Creates a StorageRetryPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
+       * The Set Tags operation enables users to set tags on a blob.
+       * @param options The options parameters.
        */
-      create(nextPolicy, options) {
-        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
+      setTags(options) {
+        return this.client.sendOperationRequest({ options }, setTagsOperationSpec);
       }
     };
-    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js
-var require_StorageBrowserPolicyV2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageBrowserPolicyName = void 0;
-    exports2.storageBrowserPolicy = storageBrowserPolicy;
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants16();
-    var utils_common_js_1 = require_utils_common2();
-    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
-    function storageBrowserPolicy() {
-      return {
-        name: exports2.storageBrowserPolicyName,
-        async sendRequest(request2, next) {
-          if (core_util_1.isNodeLike) {
-            return next(request2);
-          }
-          if (request2.method === "GET" || request2.method === "HEAD") {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
-          }
-          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
-          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-          return next(request2);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
-var require_StorageCorrectContentLengthPolicy = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageCorrectContentLengthPolicyName = void 0;
-    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
-    var constants_js_1 = require_constants16();
-    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
-    function storageCorrectContentLengthPolicy() {
-      function correctContentLength(request2) {
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-      }
-      return {
-        name: exports2.storageCorrectContentLengthPolicyName,
-        async sendRequest(request2, next) {
-          correctContentLength(request2);
-          return next(request2);
+    exports2.BlobImpl = BlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var downloadOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobDownloadHeaders
+        },
+        206: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobDownloadHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobDownloadExceptionHeaders
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js
-var require_StorageRetryPolicyV2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageRetryPolicyName = void 0;
-    exports2.storageRetryPolicy = storageRetryPolicy;
-    var abort_controller_1 = require_commonjs12();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory2();
-    var constants_js_1 = require_constants16();
-    var utils_common_js_1 = require_utils_common2();
-    var log_js_1 = require_log6();
-    exports2.storageRetryPolicyName = "storageRetryPolicy";
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.rangeGetContentMD5,
+        Parameters.rangeGetContentCRC64,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    var retriableErrors = [
-      "ETIMEDOUT",
-      "ESOCKETTIMEDOUT",
-      "ECONNREFUSED",
-      "ECONNRESET",
-      "ENOENT",
-      "ENOTFOUND",
-      "TIMEOUT",
-      "EPIPE",
-      "REQUEST_SEND_ERROR"
-    ];
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    function storageRetryPolicy(options = {}) {
-      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
-      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
-      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
-      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
-      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
-      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
-      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
-        if (attempt >= maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
-          return false;
-        }
-        if (error3) {
-          for (const retriableError of retriableErrors) {
-            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
-          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-            return true;
-          }
-        }
-        if (response || error3) {
-          const statusCode = response?.status ?? error3?.statusCode ?? 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
-        }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
-        }
-        return false;
-      }
-      function calculateDelay(isPrimaryRetry, attempt) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (retryPolicyType) {
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
-        }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return delayTimeInMs;
-      }
-      return {
-        name: exports2.storageRetryPolicyName,
-        async sendRequest(request2, next) {
-          if (tryTimeoutInMs) {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
-          }
-          const primaryUrl = request2.url;
-          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
-          let secondaryHas404 = false;
-          let attempt = 1;
-          let retryAgain = true;
-          let response;
-          let error3;
-          while (retryAgain) {
-            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
-            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
-            response = void 0;
-            error3 = void 0;
-            try {
-              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-              response = await next(request2);
-              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-            } catch (e) {
-              if ((0, core_rest_pipeline_1.isRestError)(e)) {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
-                error3 = e;
-              } else {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
-                throw e;
-              }
-            }
-            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
-            if (retryAgain) {
-              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
-            }
-            attempt++;
-          }
-          if (response) {
-            return response;
-          }
-          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
-var require_StorageSharedKeyCredentialPolicyV2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageSharedKeyCredentialPolicyName = void 0;
-    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
-    var node_crypto_1 = require("node:crypto");
-    var constants_js_1 = require_constants16();
-    var utils_common_js_1 = require_utils_common2();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
-    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
-    function storageSharedKeyCredentialPolicy(options) {
-      function signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
-        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
-      }
-      function getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
-        }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
+    var getPropertiesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "HEAD",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobGetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobGetPropertiesExceptionHeaders
         }
-        return value;
-      }
-      function getCanonicalizedHeadersString(request2) {
-        let headersArray = [];
-        for (const [name, value] of request2.headers) {
-          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
-            headersArray.push({ name, value });
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var deleteOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "DELETE",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobDeleteHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobDeleteExceptionHeaders
         }
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
-      }
-      function getCanonicalizedResourceString(request2) {
-        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${options.accountName}${path4}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.blobDeleteType
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.deleteSnapshots
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var undeleteOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobUndeleteHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobUndeleteExceptionHeaders
         }
-        return canonicalizedResourceString;
-      }
-      return {
-        name: exports2.storageSharedKeyCredentialPolicyName,
-        async sendRequest(request2, next) {
-          signRequest(request2);
-          return next(request2);
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp8],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setExpiryOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetExpiryHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetExpiryExceptionHeaders
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js
-var require_StorageRequestFailureDetailsParserPolicy = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageRequestFailureDetailsParserPolicyName = void 0;
-    exports2.storageRequestFailureDetailsParserPolicy = storageRequestFailureDetailsParserPolicy;
-    exports2.storageRequestFailureDetailsParserPolicyName = "storageRequestFailureDetailsParserPolicy";
-    function storageRequestFailureDetailsParserPolicy() {
-      return {
-        name: exports2.storageRequestFailureDetailsParserPolicyName,
-        async sendRequest(request2, next) {
-          try {
-            const response = await next(request2);
-            return response;
-          } catch (err) {
-            if (typeof err === "object" && err !== null && err.response && err.response.parsedBody) {
-              if (err.response.parsedBody.code === "InvalidHeaderValue" && err.response.parsedBody.HeaderName === "x-ms-version") {
-                err.message = "The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.\n";
-              }
-            }
-            throw err;
-          }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp11],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.expiryOptions,
+        Parameters.expiresOn
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setHttpHeadersOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetHttpHeadersHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetHttpHeadersExceptionHeaders
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/index.js
-var require_commonjs13 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BaseRequestPolicy = exports2.getCachedDefaultHttpClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_BufferScheduler(), exports2);
-    var cache_js_1 = require_cache3();
-    Object.defineProperty(exports2, "getCachedDefaultHttpClient", { enumerable: true, get: function() {
-      return cache_js_1.getCachedDefaultHttpClient;
-    } });
-    tslib_1.__exportStar(require_StorageBrowserPolicyFactory(), exports2);
-    tslib_1.__exportStar(require_AnonymousCredential2(), exports2);
-    tslib_1.__exportStar(require_Credential2(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredential2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
-      return RequestPolicy_js_1.BaseRequestPolicy;
-    } });
-    tslib_1.__exportStar(require_AnonymousCredentialPolicy2(), exports2);
-    tslib_1.__exportStar(require_CredentialPolicy2(), exports2);
-    tslib_1.__exportStar(require_StorageBrowserPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageBrowserPolicyV2(), exports2);
-    tslib_1.__exportStar(require_StorageCorrectContentLengthPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyType2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicy2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyV2(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy2(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicyV2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
-    tslib_1.__exportStar(require_StorageRequestFailureDetailsParserPolicy(), exports2);
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js
-var require_StorageBrowserPolicyV22 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageBrowserPolicyName = void 0;
-    exports2.storageBrowserPolicy = storageBrowserPolicy;
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
-    function storageBrowserPolicy() {
-      return {
-        name: exports2.storageBrowserPolicyName,
-        async sendRequest(request2, next) {
-          if (core_util_1.isNodeLike) {
-            return next(request2);
-          }
-          if (request2.method === "GET" || request2.method === "HEAD") {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
-          }
-          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
-          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-          return next(request2);
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setImmutabilityPolicyOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetImmutabilityPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetImmutabilityPolicyExceptionHeaders
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js
-var require_StorageRetryPolicyV22 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageRetryPolicyName = void 0;
-    exports2.storageRetryPolicy = storageRetryPolicy;
-    var abort_controller_1 = require_commonjs11();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    var log_js_1 = require_log5();
-    exports2.storageRetryPolicyName = "storageRetryPolicy";
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp12
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifUnmodifiedSince,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    var retriableErrors = [
-      "ETIMEDOUT",
-      "ESOCKETTIMEDOUT",
-      "ECONNREFUSED",
-      "ECONNRESET",
-      "ENOENT",
-      "ENOTFOUND",
-      "TIMEOUT",
-      "EPIPE",
-      "REQUEST_SEND_ERROR"
-    ];
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    function storageRetryPolicy(options = {}) {
-      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
-      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
-      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
-      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
-      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
-      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
-      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
-        if (attempt >= maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
-          return false;
+    var deleteImmutabilityPolicyOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "DELETE",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobDeleteImmutabilityPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobDeleteImmutabilityPolicyExceptionHeaders
         }
-        if (error3) {
-          for (const retriableError of retriableErrors) {
-            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
-          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-            return true;
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp12
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setLegalHoldOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetLegalHoldHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetLegalHoldExceptionHeaders
         }
-        if (response || error3) {
-          const statusCode = response?.status ?? error3?.statusCode ?? 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp13
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.legalHold
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setMetadataOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetMetadataHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetMetadataExceptionHeaders
         }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp6],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var acquireLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlobAcquireLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobAcquireLeaseExceptionHeaders
         }
-        return false;
-      }
-      function calculateDelay(isPrimaryRetry, attempt) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (retryPolicyType) {
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action,
+        Parameters.duration,
+        Parameters.proposedLeaseId,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var releaseLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobReleaseLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobReleaseLeaseExceptionHeaders
         }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return delayTimeInMs;
-      }
-      return {
-        name: exports2.storageRetryPolicyName,
-        async sendRequest(request2, next) {
-          if (tryTimeoutInMs) {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
-          }
-          const primaryUrl = request2.url;
-          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
-          let secondaryHas404 = false;
-          let attempt = 1;
-          let retryAgain = true;
-          let response;
-          let error3;
-          while (retryAgain) {
-            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
-            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
-            response = void 0;
-            error3 = void 0;
-            try {
-              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-              response = await next(request2);
-              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-            } catch (e) {
-              if ((0, core_rest_pipeline_1.isRestError)(e)) {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
-                error3 = e;
-              } else {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
-                throw e;
-              }
-            }
-            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
-            if (retryAgain) {
-              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
-            }
-            attempt++;
-          }
-          if (response) {
-            return response;
-          }
-          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action1,
+        Parameters.leaseId1,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var renewLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobRenewLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobRenewLeaseExceptionHeaders
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
-var require_StorageSharedKeyCredentialPolicyV22 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageSharedKeyCredentialPolicyName = void 0;
-    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
-    var node_crypto_1 = require("node:crypto");
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
-    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
-    function storageSharedKeyCredentialPolicy(options) {
-      function signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action2,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var changeLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobChangeLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobChangeLeaseExceptionHeaders
         }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
-        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
-      }
-      function getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action4,
+        Parameters.proposedLeaseId1,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var breakLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobBreakLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobBreakLeaseExceptionHeaders
         }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action3,
+        Parameters.breakPeriod,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var createSnapshotOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlobCreateSnapshotHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobCreateSnapshotExceptionHeaders
         }
-        return value;
-      }
-      function getCanonicalizedHeadersString(request2) {
-        let headersArray = [];
-        for (const [name, value] of request2.headers) {
-          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
-            headersArray.push({ name, value });
-          }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp14],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var startCopyFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobStartCopyFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobStartCopyFromURLExceptionHeaders
         }
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
-      }
-      function getCanonicalizedResourceString(request2) {
-        const path4 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${options.accountName}${path4}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
-          }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.tier,
+        Parameters.rehydratePriority,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceIfTags,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.sealBlob,
+        Parameters.legalHold1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var copyFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobCopyFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobCopyFromURLExceptionHeaders
         }
-        return canonicalizedResourceString;
-      }
-      return {
-        name: exports2.storageSharedKeyCredentialPolicyName,
-        async sendRequest(request2, next) {
-          signRequest(request2);
-          return next(request2);
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.xMsRequiresSync,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.copySourceTags,
+        Parameters.fileRequestIntent
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var abortCopyFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        204: {
+          headersMapper: Mappers.BlobAbortCopyFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobAbortCopyFromURLExceptionHeaders
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js
-var require_StorageBrowserPolicy2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * Creates an instance of StorageBrowserPolicy.
-       * @param nextPolicy -
-       * @param options -
-       */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
-      }
-      /**
-       * Sends out request.
-       *
-       * @param request -
-       */
-      async sendRequest(request2) {
-        if (core_util_1.isNodeLike) {
-          return this._nextPolicy.sendRequest(request2);
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp15,
+        Parameters.copyId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.copyActionAbortConstant
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setTierOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetTierHeaders
+        },
+        202: {
+          headersMapper: Mappers.BlobSetTierHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetTierExceptionHeaders
         }
-        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
-          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp16
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags,
+        Parameters.rehydratePriority,
+        Parameters.tier1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getAccountInfoOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobGetAccountInfoHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobGetAccountInfoExceptionHeaders
         }
-        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
-        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-        return this._nextPolicy.sendRequest(request2);
-      }
+      },
+      queryParameters: [
+        Parameters.comp,
+        Parameters.timeoutInSeconds,
+        Parameters.restype1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js
-var require_StorageBrowserPolicyFactory2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
-    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy2();
-    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
-      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
-    } });
-    var StorageBrowserPolicyFactory = class {
-      /**
-       * Creates a StorageBrowserPolicyFactory object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
-      }
+    var queryOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "POST",
+      responses: {
+        200: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobQueryHeaders
+        },
+        206: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobQueryHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobQueryExceptionHeaders
+        }
+      },
+      requestBody: Parameters.queryRequest,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.comp17
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
     };
-    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
-var require_StorageCorrectContentLengthPolicy2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageCorrectContentLengthPolicyName = void 0;
-    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
-    var constants_js_1 = require_constants15();
-    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
-    function storageCorrectContentLengthPolicy() {
-      function correctContentLength(request2) {
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+    var getTagsOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlobTags,
+          headersMapper: Mappers.BlobGetTagsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobGetTagsExceptionHeaders
         }
-      }
-      return {
-        name: exports2.storageCorrectContentLengthPolicyName,
-        async sendRequest(request2, next) {
-          correctContentLength(request2);
-          return next(request2);
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp18
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setTagsOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        204: {
+          headersMapper: Mappers.BlobSetTagsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetTagsExceptionHeaders
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js
-var require_Pipeline = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pipeline = exports2.StorageOAuthScopes = void 0;
-    exports2.isPipelineLike = isPipelineLike;
-    exports2.newPipeline = newPipeline;
-    exports2.getCoreClientOptions = getCoreClientOptions;
-    exports2.getCredentialFromPipeline = getCredentialFromPipeline;
-    var core_http_compat_1 = require_commonjs9();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_client_1 = require_commonjs8();
-    var core_xml_1 = require_commonjs10();
-    var core_auth_1 = require_commonjs7();
-    var log_js_1 = require_log5();
-    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var constants_js_1 = require_constants15();
-    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
-      return constants_js_1.StorageOAuthScopes;
-    } });
-    var storage_common_1 = require_commonjs13();
-    var StorageBrowserPolicyV2_js_1 = require_StorageBrowserPolicyV22();
-    var StorageRetryPolicyV2_js_1 = require_StorageRetryPolicyV22();
-    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
-    var StorageBrowserPolicyFactory_js_1 = require_StorageBrowserPolicyFactory2();
-    var StorageCorrectContentLengthPolicy_js_1 = require_StorageCorrectContentLengthPolicy2();
-    function isPipelineLike(pipeline) {
-      if (!pipeline || typeof pipeline !== "object") {
-        return false;
+      },
+      requestBody: Parameters.tags,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.versionId,
+        Parameters.comp18
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.leaseId,
+        Parameters.ifTags,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js
+var require_pageBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PageBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var PageBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class PageBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
       }
-      const castPipeline = pipeline;
-      return Array.isArray(castPipeline.factories) && typeof castPipeline.options === "object" && typeof castPipeline.toServiceClientOptions === "function";
-    }
-    var Pipeline = class {
       /**
-       * A list of chained request policy factories.
+       * The Create operation creates a new page blob.
+       * @param contentLength The length of the request.
+       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
+       *                          page blob size must be aligned to a 512-byte boundary.
+       * @param options The options parameters.
        */
-      factories;
+      create(contentLength, blobContentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec);
+      }
       /**
-       * Configures pipeline logger and HTTP client.
+       * The Upload Pages operation writes a range of pages to a page blob
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
        */
-      options;
+      uploadPages(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec);
+      }
       /**
-       * Creates an instance of Pipeline. Customize HTTPClient by implementing IHttpClient interface.
-       *
-       * @param factories -
-       * @param options -
+       * The Clear Pages operation clears a set of pages from a page blob
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
        */
-      constructor(factories, options = {}) {
-        this.factories = factories;
-        this.options = options;
+      clearPages(contentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec);
       }
       /**
-       * Transfer Pipeline object to ServiceClientOptions object which is required by
-       * ServiceClient constructor.
-       *
-       * @returns The ServiceClientOptions object from this Pipeline.
+       * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a
+       * URL
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param sourceRange Bytes of source data in the specified range. The length of this range should
+       *                    match the ContentLength header and x-ms-range/Range destination range header.
+       * @param contentLength The length of the request.
+       * @param range The range of bytes to which the source range would be written. The range should be 512
+       *              aligned and range-end is required.
+       * @param options The options parameters.
        */
-      toServiceClientOptions() {
-        return {
-          httpClient: this.options.httpClient,
-          requestPolicyFactories: this.factories
-        };
+      uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) {
+        return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec);
       }
-    };
-    exports2.Pipeline = Pipeline;
-    function newPipeline(credential, pipelineOptions = {}) {
-      if (!credential) {
-        credential = new AnonymousCredential_js_1.AnonymousCredential();
+      /**
+       * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a
+       * page blob
+       * @param options The options parameters.
+       */
+      getPageRanges(options) {
+        return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec);
       }
-      const pipeline = new Pipeline([], pipelineOptions);
-      pipeline._credential = credential;
-      return pipeline;
-    }
-    function processDownlevelPipeline(pipeline) {
-      const knownFactoryFunctions = [
-        isAnonymousCredential,
-        isStorageSharedKeyCredential,
-        isCoreHttpBearerTokenFactory,
-        isStorageBrowserPolicyFactory,
-        isStorageRetryPolicyFactory,
-        isStorageTelemetryPolicyFactory,
-        isCoreHttpPolicyFactory
-      ];
-      if (pipeline.factories.length) {
-        const novelFactories = pipeline.factories.filter((factory) => {
-          return !knownFactoryFunctions.some((knownFactory) => knownFactory(factory));
-        });
-        if (novelFactories.length) {
-          const hasInjector = novelFactories.some((factory) => isInjectorPolicyFactory(factory));
-          return {
-            wrappedPolicies: (0, core_http_compat_1.createRequestPolicyFactoryPolicy)(novelFactories),
-            afterRetry: hasInjector
-          };
-        }
+      /**
+       * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were
+       * changed between target blob and previous snapshot.
+       * @param options The options parameters.
+       */
+      getPageRangesDiff(options) {
+        return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec);
       }
-      return void 0;
-    }
-    function getCoreClientOptions(pipeline) {
-      const { httpClient: v1Client, ...restOptions } = pipeline.options;
-      let httpClient = pipeline._coreHttpClient;
-      if (!httpClient) {
-        httpClient = v1Client ? (0, core_http_compat_1.convertHttpClient)(v1Client) : (0, storage_common_1.getCachedDefaultHttpClient)();
-        pipeline._coreHttpClient = httpClient;
+      /**
+       * Resize the Blob
+       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
+       *                          page blob size must be aligned to a 512-byte boundary.
+       * @param options The options parameters.
+       */
+      resize(blobContentLength, options) {
+        return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec);
       }
-      let corePipeline = pipeline._corePipeline;
-      if (!corePipeline) {
-        const packageDetails = `azsdk-js-azure-storage-blob/${constants_js_1.SDK_VERSION}`;
-        const userAgentPrefix = restOptions.userAgentOptions && restOptions.userAgentOptions.userAgentPrefix ? `${restOptions.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
-        corePipeline = (0, core_client_1.createClientPipeline)({
-          ...restOptions,
-          loggingOptions: {
-            additionalAllowedHeaderNames: constants_js_1.StorageBlobLoggingAllowedHeaderNames,
-            additionalAllowedQueryParameters: constants_js_1.StorageBlobLoggingAllowedQueryParameters,
-            logger: log_js_1.logger.info
-          },
-          userAgentOptions: {
-            userAgentPrefix
-          },
-          serializationOptions: {
-            stringifyXML: core_xml_1.stringifyXML,
-            serializerOptions: {
-              xml: {
-                // Use customized XML char key of "#" so we can deserialize metadata
-                // with "_" key
-                xmlCharKey: "#"
-              }
-            }
-          },
-          deserializationOptions: {
-            parseXML: core_xml_1.parseXML,
-            serializerOptions: {
-              xml: {
-                // Use customized XML char key of "#" so we can deserialize metadata
-                // with "_" key
-                xmlCharKey: "#"
-              }
-            }
-          }
-        });
-        corePipeline.removePolicy({ phase: "Retry" });
-        corePipeline.removePolicy({ name: core_rest_pipeline_1.decompressResponsePolicyName });
-        corePipeline.addPolicy((0, StorageCorrectContentLengthPolicy_js_1.storageCorrectContentLengthPolicy)());
-        corePipeline.addPolicy((0, StorageRetryPolicyV2_js_1.storageRetryPolicy)(restOptions.retryOptions), { phase: "Retry" });
-        corePipeline.addPolicy((0, storage_common_1.storageRequestFailureDetailsParserPolicy)());
-        corePipeline.addPolicy((0, StorageBrowserPolicyV2_js_1.storageBrowserPolicy)());
-        const downlevelResults = processDownlevelPipeline(pipeline);
-        if (downlevelResults) {
-          corePipeline.addPolicy(downlevelResults.wrappedPolicies, downlevelResults.afterRetry ? { afterPhase: "Retry" } : void 0);
-        }
-        const credential = getCredentialFromPipeline(pipeline);
-        if ((0, core_auth_1.isTokenCredential)(credential)) {
-          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-            credential,
-            scopes: restOptions.audience ?? constants_js_1.StorageOAuthScopes,
-            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
-          }), { phase: "Sign" });
-        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
-            accountName: credential.accountName,
-            accountKey: credential.accountKey
-          }), { phase: "Sign" });
-        }
-        pipeline._corePipeline = corePipeline;
+      /**
+       * Update the sequence number of the blob
+       * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request.
+       *                             This property applies to page blobs only. This property indicates how the service should modify the
+       *                             blob's sequence number
+       * @param options The options parameters.
+       */
+      updateSequenceNumber(sequenceNumberAction, options) {
+        return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec);
       }
-      return {
-        ...restOptions,
-        allowInsecureConnection: true,
-        httpClient,
-        pipeline: corePipeline
-      };
-    }
-    function getCredentialFromPipeline(pipeline) {
-      if (pipeline._credential) {
-        return pipeline._credential;
+      /**
+       * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob.
+       * The snapshot is copied such that only the differential changes between the previously copied
+       * snapshot are transferred to the destination. The copied snapshots are complete copies of the
+       * original snapshot and can be read or copied from as usual. This API is supported since REST version
+       * 2016-05-31.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      copyIncremental(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec);
       }
-      let credential = new AnonymousCredential_js_1.AnonymousCredential();
-      for (const factory of pipeline.factories) {
-        if ((0, core_auth_1.isTokenCredential)(factory.credential)) {
-          credential = factory.credential;
-        } else if (isStorageSharedKeyCredential(factory)) {
-          return factory;
+    };
+    exports2.PageBlobImpl = PageBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobCreateExceptionHeaders
         }
-      }
-      return credential;
-    }
-    function isStorageSharedKeyCredential(factory) {
-      if (factory instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-        return true;
-      }
-      return factory.constructor.name === "StorageSharedKeyCredential";
-    }
-    function isAnonymousCredential(factory) {
-      if (factory instanceof AnonymousCredential_js_1.AnonymousCredential) {
-        return true;
-      }
-      return factory.constructor.name === "AnonymousCredential";
-    }
-    function isCoreHttpBearerTokenFactory(factory) {
-      return (0, core_auth_1.isTokenCredential)(factory.credential);
-    }
-    function isStorageBrowserPolicyFactory(factory) {
-      if (factory instanceof StorageBrowserPolicyFactory_js_1.StorageBrowserPolicyFactory) {
-        return true;
-      }
-      return factory.constructor.name === "StorageBrowserPolicyFactory";
-    }
-    function isStorageRetryPolicyFactory(factory) {
-      if (factory instanceof StorageRetryPolicyFactory_js_1.StorageRetryPolicyFactory) {
-        return true;
-      }
-      return factory.constructor.name === "StorageRetryPolicyFactory";
-    }
-    function isStorageTelemetryPolicyFactory(factory) {
-      return factory.constructor.name === "TelemetryPolicyFactory";
-    }
-    function isInjectorPolicyFactory(factory) {
-      return factory.constructor.name === "InjectorPolicyFactory";
-    }
-    function isCoreHttpPolicyFactory(factory) {
-      const knownPolicies = [
-        "GenerateClientRequestIdPolicy",
-        "TracingPolicy",
-        "LogPolicy",
-        "ProxyPolicy",
-        "DisableResponseDecompressionPolicy",
-        "KeepAlivePolicy",
-        "DeserializationPolicy"
-      ];
-      const mockHttpClient = {
-        sendRequest: async (request2) => {
-          return {
-            request: request2,
-            headers: request2.headers.clone(),
-            status: 500
-          };
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.blobType,
+        Parameters.blobContentLength,
+        Parameters.blobSequenceNumber
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var uploadPagesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobUploadPagesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.pageWrite,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var clearPagesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobClearPagesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobClearPagesExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo,
+        Parameters.pageWrite1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var uploadPagesFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.pageWrite,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo,
+        Parameters.sourceUrl,
+        Parameters.sourceRange,
+        Parameters.sourceContentCrc64,
+        Parameters.range1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPageRangesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.PageList,
+          headersMapper: Mappers.PageBlobGetPageRangesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.snapshot,
+        Parameters.comp20
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPageRangesDiffOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.PageList,
+          headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders
         }
-      };
-      const mockRequestPolicyOptions = {
-        log(_logLevel, _message) {
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.snapshot,
+        Parameters.comp20,
+        Parameters.prevsnapshot
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.prevSnapshotUrl
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var resizeOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.PageBlobResizeHeaders
         },
-        shouldLog(_logLevel) {
-          return false;
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobResizeExceptionHeaders
         }
-      };
-      const policyInstance = factory.create(mockHttpClient, mockRequestPolicyOptions);
-      const policyName = policyInstance.constructor.name;
-      return knownPolicies.some((knownPolicyName) => {
-        return policyName.startsWith(knownPolicyName);
-      });
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js
-var require_models = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.KnownStorageErrorCode = exports2.KnownBlobExpiryOptions = exports2.KnownFileShareTokenIntent = exports2.KnownEncryptionAlgorithmType = void 0;
-    var KnownEncryptionAlgorithmType;
-    (function(KnownEncryptionAlgorithmType2) {
-      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
-    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
-    var KnownFileShareTokenIntent;
-    (function(KnownFileShareTokenIntent2) {
-      KnownFileShareTokenIntent2["Backup"] = "backup";
-    })(KnownFileShareTokenIntent || (exports2.KnownFileShareTokenIntent = KnownFileShareTokenIntent = {}));
-    var KnownBlobExpiryOptions;
-    (function(KnownBlobExpiryOptions2) {
-      KnownBlobExpiryOptions2["NeverExpire"] = "NeverExpire";
-      KnownBlobExpiryOptions2["RelativeToCreation"] = "RelativeToCreation";
-      KnownBlobExpiryOptions2["RelativeToNow"] = "RelativeToNow";
-      KnownBlobExpiryOptions2["Absolute"] = "Absolute";
-    })(KnownBlobExpiryOptions || (exports2.KnownBlobExpiryOptions = KnownBlobExpiryOptions = {}));
-    var KnownStorageErrorCode;
-    (function(KnownStorageErrorCode2) {
-      KnownStorageErrorCode2["AccountAlreadyExists"] = "AccountAlreadyExists";
-      KnownStorageErrorCode2["AccountBeingCreated"] = "AccountBeingCreated";
-      KnownStorageErrorCode2["AccountIsDisabled"] = "AccountIsDisabled";
-      KnownStorageErrorCode2["AuthenticationFailed"] = "AuthenticationFailed";
-      KnownStorageErrorCode2["AuthorizationFailure"] = "AuthorizationFailure";
-      KnownStorageErrorCode2["ConditionHeadersNotSupported"] = "ConditionHeadersNotSupported";
-      KnownStorageErrorCode2["ConditionNotMet"] = "ConditionNotMet";
-      KnownStorageErrorCode2["EmptyMetadataKey"] = "EmptyMetadataKey";
-      KnownStorageErrorCode2["InsufficientAccountPermissions"] = "InsufficientAccountPermissions";
-      KnownStorageErrorCode2["InternalError"] = "InternalError";
-      KnownStorageErrorCode2["InvalidAuthenticationInfo"] = "InvalidAuthenticationInfo";
-      KnownStorageErrorCode2["InvalidHeaderValue"] = "InvalidHeaderValue";
-      KnownStorageErrorCode2["InvalidHttpVerb"] = "InvalidHttpVerb";
-      KnownStorageErrorCode2["InvalidInput"] = "InvalidInput";
-      KnownStorageErrorCode2["InvalidMd5"] = "InvalidMd5";
-      KnownStorageErrorCode2["InvalidMetadata"] = "InvalidMetadata";
-      KnownStorageErrorCode2["InvalidQueryParameterValue"] = "InvalidQueryParameterValue";
-      KnownStorageErrorCode2["InvalidRange"] = "InvalidRange";
-      KnownStorageErrorCode2["InvalidResourceName"] = "InvalidResourceName";
-      KnownStorageErrorCode2["InvalidUri"] = "InvalidUri";
-      KnownStorageErrorCode2["InvalidXmlDocument"] = "InvalidXmlDocument";
-      KnownStorageErrorCode2["InvalidXmlNodeValue"] = "InvalidXmlNodeValue";
-      KnownStorageErrorCode2["Md5Mismatch"] = "Md5Mismatch";
-      KnownStorageErrorCode2["MetadataTooLarge"] = "MetadataTooLarge";
-      KnownStorageErrorCode2["MissingContentLengthHeader"] = "MissingContentLengthHeader";
-      KnownStorageErrorCode2["MissingRequiredQueryParameter"] = "MissingRequiredQueryParameter";
-      KnownStorageErrorCode2["MissingRequiredHeader"] = "MissingRequiredHeader";
-      KnownStorageErrorCode2["MissingRequiredXmlNode"] = "MissingRequiredXmlNode";
-      KnownStorageErrorCode2["MultipleConditionHeadersNotSupported"] = "MultipleConditionHeadersNotSupported";
-      KnownStorageErrorCode2["OperationTimedOut"] = "OperationTimedOut";
-      KnownStorageErrorCode2["OutOfRangeInput"] = "OutOfRangeInput";
-      KnownStorageErrorCode2["OutOfRangeQueryParameterValue"] = "OutOfRangeQueryParameterValue";
-      KnownStorageErrorCode2["RequestBodyTooLarge"] = "RequestBodyTooLarge";
-      KnownStorageErrorCode2["ResourceTypeMismatch"] = "ResourceTypeMismatch";
-      KnownStorageErrorCode2["RequestUrlFailedToParse"] = "RequestUrlFailedToParse";
-      KnownStorageErrorCode2["ResourceAlreadyExists"] = "ResourceAlreadyExists";
-      KnownStorageErrorCode2["ResourceNotFound"] = "ResourceNotFound";
-      KnownStorageErrorCode2["ServerBusy"] = "ServerBusy";
-      KnownStorageErrorCode2["UnsupportedHeader"] = "UnsupportedHeader";
-      KnownStorageErrorCode2["UnsupportedXmlNode"] = "UnsupportedXmlNode";
-      KnownStorageErrorCode2["UnsupportedQueryParameter"] = "UnsupportedQueryParameter";
-      KnownStorageErrorCode2["UnsupportedHttpVerb"] = "UnsupportedHttpVerb";
-      KnownStorageErrorCode2["AppendPositionConditionNotMet"] = "AppendPositionConditionNotMet";
-      KnownStorageErrorCode2["BlobAlreadyExists"] = "BlobAlreadyExists";
-      KnownStorageErrorCode2["BlobImmutableDueToPolicy"] = "BlobImmutableDueToPolicy";
-      KnownStorageErrorCode2["BlobNotFound"] = "BlobNotFound";
-      KnownStorageErrorCode2["BlobOverwritten"] = "BlobOverwritten";
-      KnownStorageErrorCode2["BlobTierInadequateForContentLength"] = "BlobTierInadequateForContentLength";
-      KnownStorageErrorCode2["BlobUsesCustomerSpecifiedEncryption"] = "BlobUsesCustomerSpecifiedEncryption";
-      KnownStorageErrorCode2["BlockCountExceedsLimit"] = "BlockCountExceedsLimit";
-      KnownStorageErrorCode2["BlockListTooLong"] = "BlockListTooLong";
-      KnownStorageErrorCode2["CannotChangeToLowerTier"] = "CannotChangeToLowerTier";
-      KnownStorageErrorCode2["CannotVerifyCopySource"] = "CannotVerifyCopySource";
-      KnownStorageErrorCode2["ContainerAlreadyExists"] = "ContainerAlreadyExists";
-      KnownStorageErrorCode2["ContainerBeingDeleted"] = "ContainerBeingDeleted";
-      KnownStorageErrorCode2["ContainerDisabled"] = "ContainerDisabled";
-      KnownStorageErrorCode2["ContainerNotFound"] = "ContainerNotFound";
-      KnownStorageErrorCode2["ContentLengthLargerThanTierLimit"] = "ContentLengthLargerThanTierLimit";
-      KnownStorageErrorCode2["CopyAcrossAccountsNotSupported"] = "CopyAcrossAccountsNotSupported";
-      KnownStorageErrorCode2["CopyIdMismatch"] = "CopyIdMismatch";
-      KnownStorageErrorCode2["FeatureVersionMismatch"] = "FeatureVersionMismatch";
-      KnownStorageErrorCode2["IncrementalCopyBlobMismatch"] = "IncrementalCopyBlobMismatch";
-      KnownStorageErrorCode2["IncrementalCopyOfEarlierVersionSnapshotNotAllowed"] = "IncrementalCopyOfEarlierVersionSnapshotNotAllowed";
-      KnownStorageErrorCode2["IncrementalCopySourceMustBeSnapshot"] = "IncrementalCopySourceMustBeSnapshot";
-      KnownStorageErrorCode2["InfiniteLeaseDurationRequired"] = "InfiniteLeaseDurationRequired";
-      KnownStorageErrorCode2["InvalidBlobOrBlock"] = "InvalidBlobOrBlock";
-      KnownStorageErrorCode2["InvalidBlobTier"] = "InvalidBlobTier";
-      KnownStorageErrorCode2["InvalidBlobType"] = "InvalidBlobType";
-      KnownStorageErrorCode2["InvalidBlockId"] = "InvalidBlockId";
-      KnownStorageErrorCode2["InvalidBlockList"] = "InvalidBlockList";
-      KnownStorageErrorCode2["InvalidOperation"] = "InvalidOperation";
-      KnownStorageErrorCode2["InvalidPageRange"] = "InvalidPageRange";
-      KnownStorageErrorCode2["InvalidSourceBlobType"] = "InvalidSourceBlobType";
-      KnownStorageErrorCode2["InvalidSourceBlobUrl"] = "InvalidSourceBlobUrl";
-      KnownStorageErrorCode2["InvalidVersionForPageBlobOperation"] = "InvalidVersionForPageBlobOperation";
-      KnownStorageErrorCode2["LeaseAlreadyPresent"] = "LeaseAlreadyPresent";
-      KnownStorageErrorCode2["LeaseAlreadyBroken"] = "LeaseAlreadyBroken";
-      KnownStorageErrorCode2["LeaseIdMismatchWithBlobOperation"] = "LeaseIdMismatchWithBlobOperation";
-      KnownStorageErrorCode2["LeaseIdMismatchWithContainerOperation"] = "LeaseIdMismatchWithContainerOperation";
-      KnownStorageErrorCode2["LeaseIdMismatchWithLeaseOperation"] = "LeaseIdMismatchWithLeaseOperation";
-      KnownStorageErrorCode2["LeaseIdMissing"] = "LeaseIdMissing";
-      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeAcquired"] = "LeaseIsBreakingAndCannotBeAcquired";
-      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeChanged"] = "LeaseIsBreakingAndCannotBeChanged";
-      KnownStorageErrorCode2["LeaseIsBrokenAndCannotBeRenewed"] = "LeaseIsBrokenAndCannotBeRenewed";
-      KnownStorageErrorCode2["LeaseLost"] = "LeaseLost";
-      KnownStorageErrorCode2["LeaseNotPresentWithBlobOperation"] = "LeaseNotPresentWithBlobOperation";
-      KnownStorageErrorCode2["LeaseNotPresentWithContainerOperation"] = "LeaseNotPresentWithContainerOperation";
-      KnownStorageErrorCode2["LeaseNotPresentWithLeaseOperation"] = "LeaseNotPresentWithLeaseOperation";
-      KnownStorageErrorCode2["MaxBlobSizeConditionNotMet"] = "MaxBlobSizeConditionNotMet";
-      KnownStorageErrorCode2["NoAuthenticationInformation"] = "NoAuthenticationInformation";
-      KnownStorageErrorCode2["NoPendingCopyOperation"] = "NoPendingCopyOperation";
-      KnownStorageErrorCode2["OperationNotAllowedOnIncrementalCopyBlob"] = "OperationNotAllowedOnIncrementalCopyBlob";
-      KnownStorageErrorCode2["PendingCopyOperation"] = "PendingCopyOperation";
-      KnownStorageErrorCode2["PreviousSnapshotCannotBeNewer"] = "PreviousSnapshotCannotBeNewer";
-      KnownStorageErrorCode2["PreviousSnapshotNotFound"] = "PreviousSnapshotNotFound";
-      KnownStorageErrorCode2["PreviousSnapshotOperationNotSupported"] = "PreviousSnapshotOperationNotSupported";
-      KnownStorageErrorCode2["SequenceNumberConditionNotMet"] = "SequenceNumberConditionNotMet";
-      KnownStorageErrorCode2["SequenceNumberIncrementTooLarge"] = "SequenceNumberIncrementTooLarge";
-      KnownStorageErrorCode2["SnapshotCountExceeded"] = "SnapshotCountExceeded";
-      KnownStorageErrorCode2["SnapshotOperationRateExceeded"] = "SnapshotOperationRateExceeded";
-      KnownStorageErrorCode2["SnapshotsPresent"] = "SnapshotsPresent";
-      KnownStorageErrorCode2["SourceConditionNotMet"] = "SourceConditionNotMet";
-      KnownStorageErrorCode2["SystemInUse"] = "SystemInUse";
-      KnownStorageErrorCode2["TargetConditionNotMet"] = "TargetConditionNotMet";
-      KnownStorageErrorCode2["UnauthorizedBlobOverwrite"] = "UnauthorizedBlobOverwrite";
-      KnownStorageErrorCode2["BlobBeingRehydrated"] = "BlobBeingRehydrated";
-      KnownStorageErrorCode2["BlobArchived"] = "BlobArchived";
-      KnownStorageErrorCode2["BlobNotArchived"] = "BlobNotArchived";
-      KnownStorageErrorCode2["AuthorizationSourceIPMismatch"] = "AuthorizationSourceIPMismatch";
-      KnownStorageErrorCode2["AuthorizationProtocolMismatch"] = "AuthorizationProtocolMismatch";
-      KnownStorageErrorCode2["AuthorizationPermissionMismatch"] = "AuthorizationPermissionMismatch";
-      KnownStorageErrorCode2["AuthorizationServiceMismatch"] = "AuthorizationServiceMismatch";
-      KnownStorageErrorCode2["AuthorizationResourceTypeMismatch"] = "AuthorizationResourceTypeMismatch";
-      KnownStorageErrorCode2["BlobAccessTierNotSupportedForAccountType"] = "BlobAccessTierNotSupportedForAccountType";
-    })(KnownStorageErrorCode || (exports2.KnownStorageErrorCode = KnownStorageErrorCode = {}));
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.blobContentLength
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var updateSequenceNumberOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobSequenceNumber,
+        Parameters.sequenceNumberAction
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var copyIncrementalOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.PageBlobCopyIncrementalHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.copySource
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js
-var require_mappers = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js
+var require_appendBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceGetUserDelegationKeyHeaders = exports2.ServiceListContainersSegmentExceptionHeaders = exports2.ServiceListContainersSegmentHeaders = exports2.ServiceGetStatisticsExceptionHeaders = exports2.ServiceGetStatisticsHeaders = exports2.ServiceGetPropertiesExceptionHeaders = exports2.ServiceGetPropertiesHeaders = exports2.ServiceSetPropertiesExceptionHeaders = exports2.ServiceSetPropertiesHeaders = exports2.ArrowField = exports2.ArrowConfiguration = exports2.JsonTextConfiguration = exports2.DelimitedTextConfiguration = exports2.QueryFormat = exports2.QuerySerialization = exports2.QueryRequest = exports2.ClearRange = exports2.PageRange = exports2.PageList = exports2.Block = exports2.BlockList = exports2.BlockLookupList = exports2.BlobPrefix = exports2.BlobHierarchyListSegment = exports2.ListBlobsHierarchySegmentResponse = exports2.BlobPropertiesInternal = exports2.BlobName = exports2.BlobItemInternal = exports2.BlobFlatListSegment = exports2.ListBlobsFlatSegmentResponse = exports2.AccessPolicy = exports2.SignedIdentifier = exports2.BlobTag = exports2.BlobTags = exports2.FilterBlobItem = exports2.FilterBlobSegment = exports2.UserDelegationKey = exports2.KeyInfo = exports2.ContainerProperties = exports2.ContainerItem = exports2.ListContainersSegmentResponse = exports2.GeoReplication = exports2.BlobServiceStatistics = exports2.StorageError = exports2.StaticWebsite = exports2.CorsRule = exports2.Metrics = exports2.RetentionPolicy = exports2.Logging = exports2.BlobServiceProperties = void 0;
-    exports2.BlobUndeleteHeaders = exports2.BlobDeleteExceptionHeaders = exports2.BlobDeleteHeaders = exports2.BlobGetPropertiesExceptionHeaders = exports2.BlobGetPropertiesHeaders = exports2.BlobDownloadExceptionHeaders = exports2.BlobDownloadHeaders = exports2.ContainerGetAccountInfoExceptionHeaders = exports2.ContainerGetAccountInfoHeaders = exports2.ContainerListBlobHierarchySegmentExceptionHeaders = exports2.ContainerListBlobHierarchySegmentHeaders = exports2.ContainerListBlobFlatSegmentExceptionHeaders = exports2.ContainerListBlobFlatSegmentHeaders = exports2.ContainerChangeLeaseExceptionHeaders = exports2.ContainerChangeLeaseHeaders = exports2.ContainerBreakLeaseExceptionHeaders = exports2.ContainerBreakLeaseHeaders = exports2.ContainerRenewLeaseExceptionHeaders = exports2.ContainerRenewLeaseHeaders = exports2.ContainerReleaseLeaseExceptionHeaders = exports2.ContainerReleaseLeaseHeaders = exports2.ContainerAcquireLeaseExceptionHeaders = exports2.ContainerAcquireLeaseHeaders = exports2.ContainerFilterBlobsExceptionHeaders = exports2.ContainerFilterBlobsHeaders = exports2.ContainerSubmitBatchExceptionHeaders = exports2.ContainerSubmitBatchHeaders = exports2.ContainerRenameExceptionHeaders = exports2.ContainerRenameHeaders = exports2.ContainerRestoreExceptionHeaders = exports2.ContainerRestoreHeaders = exports2.ContainerSetAccessPolicyExceptionHeaders = exports2.ContainerSetAccessPolicyHeaders = exports2.ContainerGetAccessPolicyExceptionHeaders = exports2.ContainerGetAccessPolicyHeaders = exports2.ContainerSetMetadataExceptionHeaders = exports2.ContainerSetMetadataHeaders = exports2.ContainerDeleteExceptionHeaders = exports2.ContainerDeleteHeaders = exports2.ContainerGetPropertiesExceptionHeaders = exports2.ContainerGetPropertiesHeaders = exports2.ContainerCreateExceptionHeaders = exports2.ContainerCreateHeaders = exports2.ServiceFilterBlobsExceptionHeaders = exports2.ServiceFilterBlobsHeaders = exports2.ServiceSubmitBatchExceptionHeaders = exports2.ServiceSubmitBatchHeaders = exports2.ServiceGetAccountInfoExceptionHeaders = exports2.ServiceGetAccountInfoHeaders = exports2.ServiceGetUserDelegationKeyExceptionHeaders = void 0;
-    exports2.PageBlobGetPageRangesHeaders = exports2.PageBlobUploadPagesFromURLExceptionHeaders = exports2.PageBlobUploadPagesFromURLHeaders = exports2.PageBlobClearPagesExceptionHeaders = exports2.PageBlobClearPagesHeaders = exports2.PageBlobUploadPagesExceptionHeaders = exports2.PageBlobUploadPagesHeaders = exports2.PageBlobCreateExceptionHeaders = exports2.PageBlobCreateHeaders = exports2.BlobSetTagsExceptionHeaders = exports2.BlobSetTagsHeaders = exports2.BlobGetTagsExceptionHeaders = exports2.BlobGetTagsHeaders = exports2.BlobQueryExceptionHeaders = exports2.BlobQueryHeaders = exports2.BlobGetAccountInfoExceptionHeaders = exports2.BlobGetAccountInfoHeaders = exports2.BlobSetTierExceptionHeaders = exports2.BlobSetTierHeaders = exports2.BlobAbortCopyFromURLExceptionHeaders = exports2.BlobAbortCopyFromURLHeaders = exports2.BlobCopyFromURLExceptionHeaders = exports2.BlobCopyFromURLHeaders = exports2.BlobStartCopyFromURLExceptionHeaders = exports2.BlobStartCopyFromURLHeaders = exports2.BlobCreateSnapshotExceptionHeaders = exports2.BlobCreateSnapshotHeaders = exports2.BlobBreakLeaseExceptionHeaders = exports2.BlobBreakLeaseHeaders = exports2.BlobChangeLeaseExceptionHeaders = exports2.BlobChangeLeaseHeaders = exports2.BlobRenewLeaseExceptionHeaders = exports2.BlobRenewLeaseHeaders = exports2.BlobReleaseLeaseExceptionHeaders = exports2.BlobReleaseLeaseHeaders = exports2.BlobAcquireLeaseExceptionHeaders = exports2.BlobAcquireLeaseHeaders = exports2.BlobSetMetadataExceptionHeaders = exports2.BlobSetMetadataHeaders = exports2.BlobSetLegalHoldExceptionHeaders = exports2.BlobSetLegalHoldHeaders = exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = exports2.BlobDeleteImmutabilityPolicyHeaders = exports2.BlobSetImmutabilityPolicyExceptionHeaders = exports2.BlobSetImmutabilityPolicyHeaders = exports2.BlobSetHttpHeadersExceptionHeaders = exports2.BlobSetHttpHeadersHeaders = exports2.BlobSetExpiryExceptionHeaders = exports2.BlobSetExpiryHeaders = exports2.BlobUndeleteExceptionHeaders = void 0;
-    exports2.BlockBlobGetBlockListExceptionHeaders = exports2.BlockBlobGetBlockListHeaders = exports2.BlockBlobCommitBlockListExceptionHeaders = exports2.BlockBlobCommitBlockListHeaders = exports2.BlockBlobStageBlockFromURLExceptionHeaders = exports2.BlockBlobStageBlockFromURLHeaders = exports2.BlockBlobStageBlockExceptionHeaders = exports2.BlockBlobStageBlockHeaders = exports2.BlockBlobPutBlobFromUrlExceptionHeaders = exports2.BlockBlobPutBlobFromUrlHeaders = exports2.BlockBlobUploadExceptionHeaders = exports2.BlockBlobUploadHeaders = exports2.AppendBlobSealExceptionHeaders = exports2.AppendBlobSealHeaders = exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = exports2.AppendBlobAppendBlockFromUrlHeaders = exports2.AppendBlobAppendBlockExceptionHeaders = exports2.AppendBlobAppendBlockHeaders = exports2.AppendBlobCreateExceptionHeaders = exports2.AppendBlobCreateHeaders = exports2.PageBlobCopyIncrementalExceptionHeaders = exports2.PageBlobCopyIncrementalHeaders = exports2.PageBlobUpdateSequenceNumberExceptionHeaders = exports2.PageBlobUpdateSequenceNumberHeaders = exports2.PageBlobResizeExceptionHeaders = exports2.PageBlobResizeHeaders = exports2.PageBlobGetPageRangesDiffExceptionHeaders = exports2.PageBlobGetPageRangesDiffHeaders = exports2.PageBlobGetPageRangesExceptionHeaders = void 0;
-    exports2.BlobServiceProperties = {
-      serializedName: "BlobServiceProperties",
-      xmlName: "StorageServiceProperties",
-      type: {
-        name: "Composite",
-        className: "BlobServiceProperties",
-        modelProperties: {
-          blobAnalyticsLogging: {
-            serializedName: "Logging",
-            xmlName: "Logging",
-            type: {
-              name: "Composite",
-              className: "Logging"
-            }
-          },
-          hourMetrics: {
-            serializedName: "HourMetrics",
-            xmlName: "HourMetrics",
-            type: {
-              name: "Composite",
-              className: "Metrics"
-            }
-          },
-          minuteMetrics: {
-            serializedName: "MinuteMetrics",
-            xmlName: "MinuteMetrics",
-            type: {
-              name: "Composite",
-              className: "Metrics"
-            }
-          },
-          cors: {
-            serializedName: "Cors",
-            xmlName: "Cors",
-            xmlIsWrapped: true,
-            xmlElementName: "CorsRule",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "CorsRule"
-                }
-              }
-            }
-          },
-          defaultServiceVersion: {
-            serializedName: "DefaultServiceVersion",
-            xmlName: "DefaultServiceVersion",
-            type: {
-              name: "String"
-            }
-          },
-          deleteRetentionPolicy: {
-            serializedName: "DeleteRetentionPolicy",
-            xmlName: "DeleteRetentionPolicy",
-            type: {
-              name: "Composite",
-              className: "RetentionPolicy"
-            }
-          },
-          staticWebsite: {
-            serializedName: "StaticWebsite",
-            xmlName: "StaticWebsite",
-            type: {
-              name: "Composite",
-              className: "StaticWebsite"
-            }
-          }
-        }
+    exports2.AppendBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var AppendBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class AppendBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
+      }
+      /**
+       * The Create Append Blob operation creates a new append blob.
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      create(contentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec);
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob. The
+       * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
+       * AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      appendBlock(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec);
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob where
+       * the contents are read from a source url. The Append Block operation is permitted only if the blob
+       * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version
+       * 2015-02-21 version or later.
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      appendBlockFromUrl(sourceUrl, contentLength, options) {
+        return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec);
+      }
+      /**
+       * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version
+       * 2019-12-12 version or later.
+       * @param options The options parameters.
+       */
+      seal(options) {
+        return this.client.sendOperationRequest({ options }, sealOperationSpec);
       }
     };
-    exports2.Logging = {
-      serializedName: "Logging",
-      type: {
-        name: "Composite",
-        className: "Logging",
-        modelProperties: {
-          version: {
-            serializedName: "Version",
-            required: true,
-            xmlName: "Version",
-            type: {
-              name: "String"
-            }
-          },
-          deleteProperty: {
-            serializedName: "Delete",
-            required: true,
-            xmlName: "Delete",
-            type: {
-              name: "Boolean"
-            }
-          },
-          read: {
-            serializedName: "Read",
-            required: true,
-            xmlName: "Read",
-            type: {
-              name: "Boolean"
-            }
-          },
-          write: {
-            serializedName: "Write",
-            required: true,
-            xmlName: "Write",
-            type: {
-              name: "Boolean"
-            }
-          },
-          retentionPolicy: {
-            serializedName: "RetentionPolicy",
-            xmlName: "RetentionPolicy",
-            type: {
-              name: "Composite",
-              className: "RetentionPolicy"
-            }
-          }
+    exports2.AppendBlobImpl = AppendBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobCreateExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.blobType1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var appendBlockOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobAppendBlockHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders
         }
-      }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.maxSize,
+        Parameters.appendPosition
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
     };
-    exports2.RetentionPolicy = {
-      serializedName: "RetentionPolicy",
-      type: {
-        name: "Composite",
-        className: "RetentionPolicy",
-        modelProperties: {
-          enabled: {
-            serializedName: "Enabled",
-            required: true,
-            xmlName: "Enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          days: {
-            constraints: {
-              InclusiveMinimum: 1
-            },
-            serializedName: "Days",
-            xmlName: "Days",
-            type: {
-              name: "Number"
-            }
-          }
+    var appendBlockFromUrlOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders
         }
-      }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.transactionalContentMD5,
+        Parameters.sourceUrl,
+        Parameters.sourceContentCrc64,
+        Parameters.maxSize,
+        Parameters.appendPosition,
+        Parameters.sourceRange1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.Metrics = {
-      serializedName: "Metrics",
-      type: {
-        name: "Composite",
-        className: "Metrics",
-        modelProperties: {
-          version: {
-            serializedName: "Version",
-            xmlName: "Version",
-            type: {
-              name: "String"
-            }
-          },
-          enabled: {
-            serializedName: "Enabled",
-            required: true,
-            xmlName: "Enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          includeAPIs: {
-            serializedName: "IncludeAPIs",
-            xmlName: "IncludeAPIs",
-            type: {
-              name: "Boolean"
-            }
-          },
-          retentionPolicy: {
-            serializedName: "RetentionPolicy",
-            xmlName: "RetentionPolicy",
-            type: {
-              name: "Composite",
-              className: "RetentionPolicy"
-            }
-          }
+    var sealOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.AppendBlobSealHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobSealExceptionHeaders
         }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.appendPosition
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js
+var require_blockBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlockBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs8());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var BlockBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class BlockBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
+      }
+      /**
+       * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing
+       * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put
+       * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a
+       * partial update of the content of a block blob, use the Put Block List operation.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      upload(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec);
+      }
+      /**
+       * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read
+       * from a given URL.  This API is supported beginning with the 2020-04-08 version. Partial updates are
+       * not supported with Put Blob from URL; the content of an existing blob is overwritten with the
+       * content of the new blob.  To perform partial updates to a block blob’s contents using a source URL,
+       * use the Put Block from URL API in conjunction with Put Block List.
+       * @param contentLength The length of the request.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      putBlobFromUrl(contentLength, copySource, options) {
+        return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec);
+      }
+      /**
+       * The Stage Block operation creates a new block to be committed as part of a blob
+       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
+       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
+       *                for the blockid parameter must be the same size for each block.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      stageBlock(blockId, contentLength, body, options) {
+        return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec);
+      }
+      /**
+       * The Stage Block operation creates a new block to be committed as part of a blob where the contents
+       * are read from a URL.
+       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
+       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
+       *                for the blockid parameter must be the same size for each block.
+       * @param contentLength The length of the request.
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param options The options parameters.
+       */
+      stageBlockFromURL(blockId, contentLength, sourceUrl, options) {
+        return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec);
+      }
+      /**
+       * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the
+       * blob. In order to be written as part of a blob, a block must have been successfully written to the
+       * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading
+       * only those blocks that have changed, then committing the new and existing blocks together. You can
+       * do this by specifying whether to commit a block from the committed block list or from the
+       * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list
+       * it may belong to.
+       * @param blocks Blob Blocks.
+       * @param options The options parameters.
+       */
+      commitBlockList(blocks, options) {
+        return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec);
+      }
+      /**
+       * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block
+       * blob
+       * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted
+       *                 blocks, or both lists together.
+       * @param options The options parameters.
+       */
+      getBlockList(listType, options) {
+        return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec);
       }
     };
-    exports2.CorsRule = {
-      serializedName: "CorsRule",
-      type: {
-        name: "Composite",
-        className: "CorsRule",
-        modelProperties: {
-          allowedOrigins: {
-            serializedName: "AllowedOrigins",
-            required: true,
-            xmlName: "AllowedOrigins",
-            type: {
-              name: "String"
-            }
-          },
-          allowedMethods: {
-            serializedName: "AllowedMethods",
-            required: true,
-            xmlName: "AllowedMethods",
-            type: {
-              name: "String"
-            }
-          },
-          allowedHeaders: {
-            serializedName: "AllowedHeaders",
-            required: true,
-            xmlName: "AllowedHeaders",
-            type: {
-              name: "String"
-            }
-          },
-          exposedHeaders: {
-            serializedName: "ExposedHeaders",
-            required: true,
-            xmlName: "ExposedHeaders",
-            type: {
-              name: "String"
-            }
-          },
-          maxAgeInSeconds: {
-            constraints: {
-              InclusiveMinimum: 0
-            },
-            serializedName: "MaxAgeInSeconds",
-            required: true,
-            xmlName: "MaxAgeInSeconds",
-            type: {
-              name: "Number"
-            }
-          }
+    exports2.BlockBlobImpl = BlockBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var uploadOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobUploadHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobUploadExceptionHeaders
         }
-      }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.blobType2
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
     };
-    exports2.StaticWebsite = {
-      serializedName: "StaticWebsite",
-      type: {
-        name: "Composite",
-        className: "StaticWebsite",
-        modelProperties: {
-          enabled: {
-            serializedName: "Enabled",
-            required: true,
-            xmlName: "Enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          indexDocument: {
-            serializedName: "IndexDocument",
-            xmlName: "IndexDocument",
-            type: {
-              name: "String"
-            }
-          },
-          errorDocument404Path: {
-            serializedName: "ErrorDocument404Path",
-            xmlName: "ErrorDocument404Path",
-            type: {
-              name: "String"
-            }
-          },
-          defaultIndexDocumentPath: {
-            serializedName: "DefaultIndexDocumentPath",
-            xmlName: "DefaultIndexDocumentPath",
-            type: {
-              name: "String"
-            }
-          }
+    var putBlobFromUrlOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders
         }
-      }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceIfTags,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.copySourceTags,
+        Parameters.fileRequestIntent,
+        Parameters.transactionalContentMD5,
+        Parameters.blobType2,
+        Parameters.copySourceBlobProperties
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.StorageError = {
-      serializedName: "StorageError",
-      type: {
-        name: "Composite",
-        className: "StorageError",
-        modelProperties: {
-          message: {
-            serializedName: "Message",
-            xmlName: "Message",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "CopySourceStatusCode",
-            xmlName: "CopySourceStatusCode",
-            type: {
-              name: "Number"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "CopySourceErrorCode",
-            xmlName: "CopySourceErrorCode",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorMessage: {
-            serializedName: "CopySourceErrorMessage",
-            xmlName: "CopySourceErrorMessage",
-            type: {
-              name: "String"
-            }
-          },
-          code: {
-            serializedName: "Code",
-            xmlName: "Code",
-            type: {
-              name: "String"
-            }
-          },
-          authenticationErrorDetail: {
-            serializedName: "AuthenticationErrorDetail",
-            xmlName: "AuthenticationErrorDetail",
-            type: {
-              name: "String"
-            }
-          }
+    var stageBlockOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobStageBlockHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders
         }
-      }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp24,
+        Parameters.blockId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
     };
-    exports2.BlobServiceStatistics = {
-      serializedName: "BlobServiceStatistics",
-      xmlName: "StorageServiceStats",
-      type: {
-        name: "Composite",
-        className: "BlobServiceStatistics",
-        modelProperties: {
-          geoReplication: {
-            serializedName: "GeoReplication",
-            xmlName: "GeoReplication",
-            type: {
-              name: "Composite",
-              className: "GeoReplication"
-            }
-          }
+    var stageBlockFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders
         }
-      }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp24,
+        Parameters.blockId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.sourceUrl,
+        Parameters.sourceContentCrc64,
+        Parameters.sourceRange1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.GeoReplication = {
-      serializedName: "GeoReplication",
-      type: {
-        name: "Composite",
-        className: "GeoReplication",
-        modelProperties: {
-          status: {
-            serializedName: "Status",
-            required: true,
-            xmlName: "Status",
-            type: {
-              name: "Enum",
-              allowedValues: ["live", "bootstrap", "unavailable"]
-            }
-          },
-          lastSyncOn: {
-            serializedName: "LastSyncTime",
-            required: true,
-            xmlName: "LastSyncTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+    var commitBlockListOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobCommitBlockListHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders
         }
-      }
+      },
+      requestBody: Parameters.blocks,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
     };
-    exports2.ListContainersSegmentResponse = {
-      serializedName: "ListContainersSegmentResponse",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "ListContainersSegmentResponse",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          prefix: {
-            serializedName: "Prefix",
-            xmlName: "Prefix",
-            type: {
-              name: "String"
-            }
-          },
-          marker: {
-            serializedName: "Marker",
-            xmlName: "Marker",
-            type: {
-              name: "String"
-            }
-          },
-          maxPageSize: {
-            serializedName: "MaxResults",
-            xmlName: "MaxResults",
-            type: {
-              name: "Number"
-            }
-          },
-          containerItems: {
-            serializedName: "ContainerItems",
-            required: true,
-            xmlName: "Containers",
-            xmlIsWrapped: true,
-            xmlElementName: "Container",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "ContainerItem"
-                }
-              }
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
+    var getBlockListOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlockList,
+          headersMapper: Mappers.BlockBlobGetBlockListHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders
         }
-      }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.comp25,
+        Parameters.listType
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.ContainerItem = {
-      serializedName: "ContainerItem",
-      xmlName: "Container",
-      type: {
-        name: "Composite",
-        className: "ContainerItem",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            required: true,
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          deleted: {
-            serializedName: "Deleted",
-            xmlName: "Deleted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          version: {
-            serializedName: "Version",
-            xmlName: "Version",
-            type: {
-              name: "String"
-            }
-          },
-          properties: {
-            serializedName: "Properties",
-            xmlName: "Properties",
-            type: {
-              name: "Composite",
-              className: "ContainerProperties"
-            }
-          },
-          metadata: {
-            serializedName: "Metadata",
-            xmlName: "Metadata",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js
+var require_operations = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_service(), exports2);
+    tslib_1.__exportStar(require_container(), exports2);
+    tslib_1.__exportStar(require_blob(), exports2);
+    tslib_1.__exportStar(require_pageBlob(), exports2);
+    tslib_1.__exportStar(require_appendBlob(), exports2);
+    tslib_1.__exportStar(require_blockBlob(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js
+var require_storageClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreHttpCompat = tslib_1.__importStar(require_commonjs9());
+    var index_js_1 = require_operations();
+    var StorageClient = class extends coreHttpCompat.ExtendedServiceClient {
+      url;
+      version;
+      /**
+       * Initializes a new instance of the StorageClient class.
+       * @param url The URL of the service account, container, or blob that is the target of the desired
+       *            operation.
+       * @param options The parameter options
+       */
+      constructor(url, options) {
+        if (url === void 0) {
+          throw new Error("'url' cannot be null");
+        }
+        if (!options) {
+          options = {};
         }
+        const defaults = {
+          requestContentType: "application/json; charset=utf-8"
+        };
+        const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`;
+        const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
+        const optionsWithDefaults = {
+          ...defaults,
+          ...options,
+          userAgentOptions: {
+            userAgentPrefix
+          },
+          endpoint: options.endpoint ?? options.baseUri ?? "{url}"
+        };
+        super(optionsWithDefaults);
+        this.url = url;
+        this.version = options.version || "2025-11-05";
+        this.service = new index_js_1.ServiceImpl(this);
+        this.container = new index_js_1.ContainerImpl(this);
+        this.blob = new index_js_1.BlobImpl(this);
+        this.pageBlob = new index_js_1.PageBlobImpl(this);
+        this.appendBlob = new index_js_1.AppendBlobImpl(this);
+        this.blockBlob = new index_js_1.BlockBlobImpl(this);
       }
+      service;
+      container;
+      blob;
+      pageBlob;
+      appendBlob;
+      blockBlob;
     };
-    exports2.ContainerProperties = {
-      serializedName: "ContainerProperties",
-      type: {
-        name: "Composite",
-        className: "ContainerProperties",
-        modelProperties: {
-          lastModified: {
-            serializedName: "Last-Modified",
-            required: true,
-            xmlName: "Last-Modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "Etag",
-            required: true,
-            xmlName: "Etag",
-            type: {
-              name: "String"
-            }
-          },
-          leaseStatus: {
-            serializedName: "LeaseStatus",
-            xmlName: "LeaseStatus",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          leaseState: {
-            serializedName: "LeaseState",
-            xmlName: "LeaseState",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseDuration: {
-            serializedName: "LeaseDuration",
-            xmlName: "LeaseDuration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          publicAccess: {
-            serializedName: "PublicAccess",
-            xmlName: "PublicAccess",
-            type: {
-              name: "Enum",
-              allowedValues: ["container", "blob"]
-            }
-          },
-          hasImmutabilityPolicy: {
-            serializedName: "HasImmutabilityPolicy",
-            xmlName: "HasImmutabilityPolicy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          hasLegalHold: {
-            serializedName: "HasLegalHold",
-            xmlName: "HasLegalHold",
-            type: {
-              name: "Boolean"
-            }
-          },
-          defaultEncryptionScope: {
-            serializedName: "DefaultEncryptionScope",
-            xmlName: "DefaultEncryptionScope",
-            type: {
-              name: "String"
-            }
-          },
-          preventEncryptionScopeOverride: {
-            serializedName: "DenyEncryptionScopeOverride",
-            xmlName: "DenyEncryptionScopeOverride",
-            type: {
-              name: "Boolean"
-            }
-          },
-          deletedOn: {
-            serializedName: "DeletedTime",
-            xmlName: "DeletedTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          remainingRetentionDays: {
-            serializedName: "RemainingRetentionDays",
-            xmlName: "RemainingRetentionDays",
-            type: {
-              name: "Number"
-            }
-          },
-          isImmutableStorageWithVersioningEnabled: {
-            serializedName: "ImmutableStorageWithVersioningEnabled",
-            xmlName: "ImmutableStorageWithVersioningEnabled",
-            type: {
-              name: "Boolean"
-            }
-          }
+    exports2.StorageClient = StorageClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js
+var require_service2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js
+var require_container2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js
+var require_blob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js
+var require_pageBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js
+var require_appendBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js
+var require_blockBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js
+var require_operationsInterfaces = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_service2(), exports2);
+    tslib_1.__exportStar(require_container2(), exports2);
+    tslib_1.__exportStar(require_blob2(), exports2);
+    tslib_1.__exportStar(require_pageBlob2(), exports2);
+    tslib_1.__exportStar(require_appendBlob2(), exports2);
+    tslib_1.__exportStar(require_blockBlob2(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js
+var require_src2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_models(), exports2);
+    var storageClient_js_1 = require_storageClient();
+    Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() {
+      return storageClient_js_1.StorageClient;
+    } });
+    tslib_1.__exportStar(require_operationsInterfaces(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js
+var require_StorageContextClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageContextClient = void 0;
+    var index_js_1 = require_src2();
+    var StorageContextClient = class extends index_js_1.StorageClient {
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const operationSpecToSend = { ...operationSpec };
+        if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") {
+          operationSpecToSend.path = "";
         }
+        return super.sendOperationRequest(operationArguments, operationSpecToSend);
       }
     };
-    exports2.KeyInfo = {
-      serializedName: "KeyInfo",
-      type: {
-        name: "Composite",
-        className: "KeyInfo",
-        modelProperties: {
-          startsOn: {
-            serializedName: "Start",
-            required: true,
-            xmlName: "Start",
-            type: {
-              name: "String"
-            }
-          },
-          expiresOn: {
-            serializedName: "Expiry",
-            required: true,
-            xmlName: "Expiry",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.StorageContextClient = StorageContextClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js
+var require_StorageClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var StorageContextClient_js_1 = require_StorageContextClient();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var StorageClient = class {
+      /**
+       * Encoded URL string value.
+       */
+      url;
+      accountName;
+      /**
+       * Request policy pipeline.
+       *
+       * @internal
+       */
+      pipeline;
+      /**
+       * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
+       */
+      credential;
+      /**
+       * StorageClient is a reference to protocol layer operations entry, which is
+       * generated by AutoRest generator.
+       */
+      storageClientContext;
+      /**
+       */
+      isHttps;
+      /**
+       * Creates an instance of StorageClient.
+       * @param url - url to resource
+       * @param pipeline - request policy pipeline.
+       */
+      constructor(url, pipeline) {
+        this.url = (0, utils_common_js_1.escapeURLPath)(url);
+        this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url);
+        this.pipeline = pipeline;
+        this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
+        this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https");
+        this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline);
+        const storageClientContext = this.storageClientContext;
+        storageClientContext.requestContentType = void 0;
       }
     };
-    exports2.UserDelegationKey = {
-      serializedName: "UserDelegationKey",
-      type: {
-        name: "Composite",
-        className: "UserDelegationKey",
-        modelProperties: {
-          signedObjectId: {
-            serializedName: "SignedOid",
-            required: true,
-            xmlName: "SignedOid",
-            type: {
-              name: "String"
-            }
-          },
-          signedTenantId: {
-            serializedName: "SignedTid",
-            required: true,
-            xmlName: "SignedTid",
-            type: {
-              name: "String"
-            }
-          },
-          signedStartsOn: {
-            serializedName: "SignedStart",
-            required: true,
-            xmlName: "SignedStart",
-            type: {
-              name: "String"
-            }
-          },
-          signedExpiresOn: {
-            serializedName: "SignedExpiry",
-            required: true,
-            xmlName: "SignedExpiry",
-            type: {
-              name: "String"
-            }
-          },
-          signedService: {
-            serializedName: "SignedService",
-            required: true,
-            xmlName: "SignedService",
-            type: {
-              name: "String"
-            }
-          },
-          signedVersion: {
-            serializedName: "SignedVersion",
-            required: true,
-            xmlName: "SignedVersion",
-            type: {
-              name: "String"
-            }
-          },
-          value: {
-            serializedName: "Value",
-            required: true,
-            xmlName: "Value",
-            type: {
-              name: "String"
-            }
+    exports2.StorageClient = StorageClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js
+var require_tracing = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tracingClient = void 0;
+    var core_tracing_1 = require_commonjs5();
+    var constants_js_1 = require_constants15();
+    exports2.tracingClient = (0, core_tracing_1.createTracingClient)({
+      packageName: "@azure/storage-blob",
+      packageVersion: constants_js_1.SDK_VERSION,
+      namespace: "Microsoft.Storage"
+    });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js
+var require_BlobSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobSASPermissions = void 0;
+    var BlobSASPermissions = class _BlobSASPermissions {
+      /**
+       * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid permission.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const blobSASPermissions = new _BlobSASPermissions();
+        for (const char of permissions) {
+          switch (char) {
+            case "r":
+              blobSASPermissions.read = true;
+              break;
+            case "a":
+              blobSASPermissions.add = true;
+              break;
+            case "c":
+              blobSASPermissions.create = true;
+              break;
+            case "w":
+              blobSASPermissions.write = true;
+              break;
+            case "d":
+              blobSASPermissions.delete = true;
+              break;
+            case "x":
+              blobSASPermissions.deleteVersion = true;
+              break;
+            case "t":
+              blobSASPermissions.tag = true;
+              break;
+            case "m":
+              blobSASPermissions.move = true;
+              break;
+            case "e":
+              blobSASPermissions.execute = true;
+              break;
+            case "i":
+              blobSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              blobSASPermissions.permanentDelete = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission: ${char}`);
           }
         }
+        return blobSASPermissions;
       }
-    };
-    exports2.FilterBlobSegment = {
-      serializedName: "FilterBlobSegment",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "FilterBlobSegment",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          where: {
-            serializedName: "Where",
-            required: true,
-            xmlName: "Where",
-            type: {
-              name: "String"
-            }
-          },
-          blobs: {
-            serializedName: "Blobs",
-            required: true,
-            xmlName: "Blobs",
-            xmlIsWrapped: true,
-            xmlElementName: "Blob",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "FilterBlobItem"
-                }
-              }
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const blobSASPermissions = new _BlobSASPermissions();
+        if (permissionLike.read) {
+          blobSASPermissions.read = true;
         }
-      }
-    };
-    exports2.FilterBlobItem = {
-      serializedName: "FilterBlobItem",
-      xmlName: "Blob",
-      type: {
-        name: "Composite",
-        className: "FilterBlobItem",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            required: true,
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          containerName: {
-            serializedName: "ContainerName",
-            required: true,
-            xmlName: "ContainerName",
-            type: {
-              name: "String"
-            }
-          },
-          tags: {
-            serializedName: "Tags",
-            xmlName: "Tags",
-            type: {
-              name: "Composite",
-              className: "BlobTags"
-            }
-          }
+        if (permissionLike.add) {
+          blobSASPermissions.add = true;
         }
-      }
-    };
-    exports2.BlobTags = {
-      serializedName: "BlobTags",
-      xmlName: "Tags",
-      type: {
-        name: "Composite",
-        className: "BlobTags",
-        modelProperties: {
-          blobTagSet: {
-            serializedName: "BlobTagSet",
-            required: true,
-            xmlName: "TagSet",
-            xmlIsWrapped: true,
-            xmlElementName: "Tag",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobTag"
-                }
-              }
-            }
-          }
+        if (permissionLike.create) {
+          blobSASPermissions.create = true;
+        }
+        if (permissionLike.write) {
+          blobSASPermissions.write = true;
+        }
+        if (permissionLike.delete) {
+          blobSASPermissions.delete = true;
+        }
+        if (permissionLike.deleteVersion) {
+          blobSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.tag) {
+          blobSASPermissions.tag = true;
+        }
+        if (permissionLike.move) {
+          blobSASPermissions.move = true;
+        }
+        if (permissionLike.execute) {
+          blobSASPermissions.execute = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          blobSASPermissions.setImmutabilityPolicy = true;
         }
+        if (permissionLike.permanentDelete) {
+          blobSASPermissions.permanentDelete = true;
+        }
+        return blobSASPermissions;
       }
-    };
-    exports2.BlobTag = {
-      serializedName: "BlobTag",
-      xmlName: "Tag",
-      type: {
-        name: "Composite",
-        className: "BlobTag",
-        modelProperties: {
-          key: {
-            serializedName: "Key",
-            required: true,
-            xmlName: "Key",
-            type: {
-              name: "String"
-            }
-          },
-          value: {
-            serializedName: "Value",
-            required: true,
-            xmlName: "Value",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Specifies Read access granted.
+       */
+      read = false;
+      /**
+       * Specifies Add access granted.
+       */
+      add = false;
+      /**
+       * Specifies Create access granted.
+       */
+      create = false;
+      /**
+       * Specifies Write access granted.
+       */
+      write = false;
+      /**
+       * Specifies Delete access granted.
+       */
+      delete = false;
+      /**
+       * Specifies Delete version access granted.
+       */
+      deleteVersion = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Specifies Move access granted.
+       */
+      move = false;
+      /**
+       * Specifies Execute access granted.
+       */
+      execute = false;
+      /**
+       * Specifies SetImmutabilityPolicy access granted.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
+       * order accepted by the service.
+       *
+       * @returns A string which represents the BlobSASPermissions
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.move) {
+          permissions.push("m");
+        }
+        if (this.execute) {
+          permissions.push("e");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
         }
+        return permissions.join("");
       }
     };
-    exports2.SignedIdentifier = {
-      serializedName: "SignedIdentifier",
-      xmlName: "SignedIdentifier",
-      type: {
-        name: "Composite",
-        className: "SignedIdentifier",
-        modelProperties: {
-          id: {
-            serializedName: "Id",
-            required: true,
-            xmlName: "Id",
-            type: {
-              name: "String"
-            }
-          },
-          accessPolicy: {
-            serializedName: "AccessPolicy",
-            xmlName: "AccessPolicy",
-            type: {
-              name: "Composite",
-              className: "AccessPolicy"
-            }
+    exports2.BlobSASPermissions = BlobSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js
+var require_ContainerSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ContainerSASPermissions = void 0;
+    var ContainerSASPermissions = class _ContainerSASPermissions {
+      /**
+       * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid permission.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const containerSASPermissions = new _ContainerSASPermissions();
+        for (const char of permissions) {
+          switch (char) {
+            case "r":
+              containerSASPermissions.read = true;
+              break;
+            case "a":
+              containerSASPermissions.add = true;
+              break;
+            case "c":
+              containerSASPermissions.create = true;
+              break;
+            case "w":
+              containerSASPermissions.write = true;
+              break;
+            case "d":
+              containerSASPermissions.delete = true;
+              break;
+            case "l":
+              containerSASPermissions.list = true;
+              break;
+            case "t":
+              containerSASPermissions.tag = true;
+              break;
+            case "x":
+              containerSASPermissions.deleteVersion = true;
+              break;
+            case "m":
+              containerSASPermissions.move = true;
+              break;
+            case "e":
+              containerSASPermissions.execute = true;
+              break;
+            case "i":
+              containerSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              containerSASPermissions.permanentDelete = true;
+              break;
+            case "f":
+              containerSASPermissions.filterByTags = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission ${char}`);
           }
         }
+        return containerSASPermissions;
       }
-    };
-    exports2.AccessPolicy = {
-      serializedName: "AccessPolicy",
-      type: {
-        name: "Composite",
-        className: "AccessPolicy",
-        modelProperties: {
-          startsOn: {
-            serializedName: "Start",
-            xmlName: "Start",
-            type: {
-              name: "String"
-            }
-          },
-          expiresOn: {
-            serializedName: "Expiry",
-            xmlName: "Expiry",
-            type: {
-              name: "String"
-            }
-          },
-          permissions: {
-            serializedName: "Permission",
-            xmlName: "Permission",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const containerSASPermissions = new _ContainerSASPermissions();
+        if (permissionLike.read) {
+          containerSASPermissions.read = true;
+        }
+        if (permissionLike.add) {
+          containerSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          containerSASPermissions.create = true;
+        }
+        if (permissionLike.write) {
+          containerSASPermissions.write = true;
+        }
+        if (permissionLike.delete) {
+          containerSASPermissions.delete = true;
+        }
+        if (permissionLike.list) {
+          containerSASPermissions.list = true;
+        }
+        if (permissionLike.deleteVersion) {
+          containerSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.tag) {
+          containerSASPermissions.tag = true;
+        }
+        if (permissionLike.move) {
+          containerSASPermissions.move = true;
+        }
+        if (permissionLike.execute) {
+          containerSASPermissions.execute = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          containerSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          containerSASPermissions.permanentDelete = true;
+        }
+        if (permissionLike.filterByTags) {
+          containerSASPermissions.filterByTags = true;
         }
+        return containerSASPermissions;
       }
-    };
-    exports2.ListBlobsFlatSegmentResponse = {
-      serializedName: "ListBlobsFlatSegmentResponse",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "ListBlobsFlatSegmentResponse",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          containerName: {
-            serializedName: "ContainerName",
-            required: true,
-            xmlName: "ContainerName",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          prefix: {
-            serializedName: "Prefix",
-            xmlName: "Prefix",
-            type: {
-              name: "String"
-            }
-          },
-          marker: {
-            serializedName: "Marker",
-            xmlName: "Marker",
-            type: {
-              name: "String"
-            }
-          },
-          maxPageSize: {
-            serializedName: "MaxResults",
-            xmlName: "MaxResults",
-            type: {
-              name: "Number"
-            }
-          },
-          segment: {
-            serializedName: "Segment",
-            xmlName: "Blobs",
-            type: {
-              name: "Composite",
-              className: "BlobFlatListSegment"
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Specifies Read access granted.
+       */
+      read = false;
+      /**
+       * Specifies Add access granted.
+       */
+      add = false;
+      /**
+       * Specifies Create access granted.
+       */
+      create = false;
+      /**
+       * Specifies Write access granted.
+       */
+      write = false;
+      /**
+       * Specifies Delete access granted.
+       */
+      delete = false;
+      /**
+       * Specifies Delete version access granted.
+       */
+      deleteVersion = false;
+      /**
+       * Specifies List access granted.
+       */
+      list = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Specifies Move access granted.
+       */
+      move = false;
+      /**
+       * Specifies Execute access granted.
+       */
+      execute = false;
+      /**
+       * Specifies SetImmutabilityPolicy access granted.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Specifies that Filter Blobs by Tags is permitted.
+       */
+      filterByTags = false;
+      /**
+       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
+       * order accepted by the service.
+       *
+       * The order of the characters should be as specified here to ensure correctness.
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.list) {
+          permissions.push("l");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.move) {
+          permissions.push("m");
+        }
+        if (this.execute) {
+          permissions.push("e");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
         }
+        if (this.filterByTags) {
+          permissions.push("f");
+        }
+        return permissions.join("");
       }
     };
-    exports2.BlobFlatListSegment = {
-      serializedName: "BlobFlatListSegment",
-      xmlName: "Blobs",
-      type: {
-        name: "Composite",
-        className: "BlobFlatListSegment",
-        modelProperties: {
-          blobItems: {
-            serializedName: "BlobItems",
-            required: true,
-            xmlName: "BlobItems",
-            xmlElementName: "Blob",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobItemInternal"
-                }
-              }
-            }
-          }
-        }
+    exports2.ContainerSASPermissions = ContainerSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js
+var require_UserDelegationKeyCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UserDelegationKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var UserDelegationKeyCredential = class {
+      /**
+       * Azure Storage account name; readonly.
+       */
+      accountName;
+      /**
+       * Azure Storage user delegation key; readonly.
+       */
+      userDelegationKey;
+      /**
+       * Key value in Buffer type.
+       */
+      key;
+      /**
+       * Creates an instance of UserDelegationKeyCredential.
+       * @param accountName -
+       * @param userDelegationKey -
+       */
+      constructor(accountName, userDelegationKey) {
+        this.accountName = accountName;
+        this.userDelegationKey = userDelegationKey;
+        this.key = Buffer.from(userDelegationKey.value, "base64");
+      }
+      /**
+       * Generates a hash signature for an HTTP request or for a SAS.
+       *
+       * @param stringToSign -
+       */
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64");
       }
     };
-    exports2.BlobItemInternal = {
-      serializedName: "BlobItemInternal",
-      xmlName: "Blob",
-      type: {
-        name: "Composite",
-        className: "BlobItemInternal",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            xmlName: "Name",
-            type: {
-              name: "Composite",
-              className: "BlobName"
-            }
-          },
-          deleted: {
-            serializedName: "Deleted",
-            required: true,
-            xmlName: "Deleted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          snapshot: {
-            serializedName: "Snapshot",
-            required: true,
-            xmlName: "Snapshot",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "VersionId",
-            xmlName: "VersionId",
-            type: {
-              name: "String"
-            }
-          },
-          isCurrentVersion: {
-            serializedName: "IsCurrentVersion",
-            xmlName: "IsCurrentVersion",
-            type: {
-              name: "Boolean"
-            }
-          },
-          properties: {
-            serializedName: "Properties",
-            xmlName: "Properties",
-            type: {
-              name: "Composite",
-              className: "BlobPropertiesInternal"
-            }
-          },
-          metadata: {
-            serializedName: "Metadata",
-            xmlName: "Metadata",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          blobTags: {
-            serializedName: "BlobTags",
-            xmlName: "Tags",
-            type: {
-              name: "Composite",
-              className: "BlobTags"
-            }
-          },
-          objectReplicationMetadata: {
-            serializedName: "ObjectReplicationMetadata",
-            xmlName: "OrMetadata",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          hasVersionsOnly: {
-            serializedName: "HasVersionsOnly",
-            xmlName: "HasVersionsOnly",
-            type: {
-              name: "Boolean"
-            }
-          }
+    exports2.UserDelegationKeyCredential = UserDelegationKeyCredential;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js
+var require_SasIPRange = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ipRangeToString = ipRangeToString;
+    function ipRangeToString(ipRange) {
+      return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js
+var require_SASQueryParameters = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SASQueryParameters = exports2.SASProtocol = void 0;
+    var SasIPRange_js_1 = require_SasIPRange();
+    var utils_common_js_1 = require_utils_common();
+    var SASProtocol;
+    (function(SASProtocol2) {
+      SASProtocol2["Https"] = "https";
+      SASProtocol2["HttpsAndHttp"] = "https,http";
+    })(SASProtocol || (exports2.SASProtocol = SASProtocol = {}));
+    var SASQueryParameters = class {
+      /**
+       * The storage API version.
+       */
+      version;
+      /**
+       * Optional. The allowed HTTP protocol(s).
+       */
+      protocol;
+      /**
+       * Optional. The start time for this SAS token.
+       */
+      startsOn;
+      /**
+       * Optional only when identifier is provided. The expiry time for this SAS token.
+       */
+      expiresOn;
+      /**
+       * Optional only when identifier is provided.
+       * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
+       * more details.
+       */
+      permissions;
+      /**
+       * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
+       * for more details.
+       */
+      services;
+      /**
+       * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
+       * {@link AccountSASResourceTypes} for more details.
+       */
+      resourceTypes;
+      /**
+       * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
+       */
+      identifier;
+      /**
+       * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
+       */
+      encryptionScope;
+      /**
+       * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
+       */
+      resource;
+      /**
+       * The signature for the SAS token.
+       */
+      signature;
+      /**
+       * Value for cache-control header in Blob/File Service SAS.
+       */
+      cacheControl;
+      /**
+       * Value for content-disposition header in Blob/File Service SAS.
+       */
+      contentDisposition;
+      /**
+       * Value for content-encoding header in Blob/File Service SAS.
+       */
+      contentEncoding;
+      /**
+       * Value for content-length header in Blob/File Service SAS.
+       */
+      contentLanguage;
+      /**
+       * Value for content-type header in Blob/File Service SAS.
+       */
+      contentType;
+      /**
+       * Inner value of getter ipRange.
+       */
+      ipRangeInner;
+      /**
+       * The Azure Active Directory object ID in GUID format.
+       * Property of user delegation key.
+       */
+      signedOid;
+      /**
+       * The Azure Active Directory tenant ID in GUID format.
+       * Property of user delegation key.
+       */
+      signedTenantId;
+      /**
+       * The date-time the key is active.
+       * Property of user delegation key.
+       */
+      signedStartsOn;
+      /**
+       * The date-time the key expires.
+       * Property of user delegation key.
+       */
+      signedExpiresOn;
+      /**
+       * Abbreviation of the Azure Storage service that accepts the user delegation key.
+       * Property of user delegation key.
+       */
+      signedService;
+      /**
+       * The service version that created the user delegation key.
+       * Property of user delegation key.
+       */
+      signedVersion;
+      /**
+       * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
+       * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
+       * has the required permissions before granting access but no additional permission check for the user specified in
+       * this value will be performed. This is only used for User Delegation SAS.
+       */
+      preauthorizedAgentObjectId;
+      /**
+       * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
+       * This is only used for User Delegation SAS.
+       */
+      correlationId;
+      /**
+       * Optional. IP range allowed for this SAS.
+       *
+       * @readonly
+       */
+      get ipRange() {
+        if (this.ipRangeInner) {
+          return {
+            end: this.ipRangeInner.end,
+            start: this.ipRangeInner.start
+          };
         }
+        return void 0;
       }
-    };
-    exports2.BlobName = {
-      serializedName: "BlobName",
-      type: {
-        name: "Composite",
-        className: "BlobName",
-        modelProperties: {
-          encoded: {
-            serializedName: "Encoded",
-            xmlName: "Encoded",
-            xmlIsAttribute: true,
-            type: {
-              name: "Boolean"
-            }
-          },
-          content: {
-            serializedName: "content",
-            xmlName: "content",
-            xmlIsMsText: true,
-            type: {
-              name: "String"
-            }
+      constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) {
+        this.version = version;
+        this.signature = signature;
+        if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") {
+          this.permissions = permissionsOrOptions.permissions;
+          this.services = permissionsOrOptions.services;
+          this.resourceTypes = permissionsOrOptions.resourceTypes;
+          this.protocol = permissionsOrOptions.protocol;
+          this.startsOn = permissionsOrOptions.startsOn;
+          this.expiresOn = permissionsOrOptions.expiresOn;
+          this.ipRangeInner = permissionsOrOptions.ipRange;
+          this.identifier = permissionsOrOptions.identifier;
+          this.encryptionScope = permissionsOrOptions.encryptionScope;
+          this.resource = permissionsOrOptions.resource;
+          this.cacheControl = permissionsOrOptions.cacheControl;
+          this.contentDisposition = permissionsOrOptions.contentDisposition;
+          this.contentEncoding = permissionsOrOptions.contentEncoding;
+          this.contentLanguage = permissionsOrOptions.contentLanguage;
+          this.contentType = permissionsOrOptions.contentType;
+          if (permissionsOrOptions.userDelegationKey) {
+            this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId;
+            this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId;
+            this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn;
+            this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn;
+            this.signedService = permissionsOrOptions.userDelegationKey.signedService;
+            this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion;
+            this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId;
+            this.correlationId = permissionsOrOptions.correlationId;
           }
-        }
-      }
-    };
-    exports2.BlobPropertiesInternal = {
-      serializedName: "BlobPropertiesInternal",
-      xmlName: "Properties",
-      type: {
-        name: "Composite",
-        className: "BlobPropertiesInternal",
-        modelProperties: {
-          createdOn: {
-            serializedName: "Creation-Time",
-            xmlName: "Creation-Time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          lastModified: {
-            serializedName: "Last-Modified",
-            required: true,
-            xmlName: "Last-Modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "Etag",
-            required: true,
-            xmlName: "Etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentLength: {
-            serializedName: "Content-Length",
-            xmlName: "Content-Length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "Content-Type",
-            xmlName: "Content-Type",
-            type: {
-              name: "String"
-            }
-          },
-          contentEncoding: {
-            serializedName: "Content-Encoding",
-            xmlName: "Content-Encoding",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "Content-Language",
-            xmlName: "Content-Language",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "Content-MD5",
-            xmlName: "Content-MD5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentDisposition: {
-            serializedName: "Content-Disposition",
-            xmlName: "Content-Disposition",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "Cache-Control",
-            xmlName: "Cache-Control",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          blobType: {
-            serializedName: "BlobType",
-            xmlName: "BlobType",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          leaseStatus: {
-            serializedName: "LeaseStatus",
-            xmlName: "LeaseStatus",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          leaseState: {
-            serializedName: "LeaseState",
-            xmlName: "LeaseState",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseDuration: {
-            serializedName: "LeaseDuration",
-            xmlName: "LeaseDuration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          copyId: {
-            serializedName: "CopyId",
-            xmlName: "CopyId",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "CopyStatus",
-            xmlName: "CopyStatus",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          copySource: {
-            serializedName: "CopySource",
-            xmlName: "CopySource",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "CopyProgress",
-            xmlName: "CopyProgress",
-            type: {
-              name: "String"
-            }
-          },
-          copyCompletedOn: {
-            serializedName: "CopyCompletionTime",
-            xmlName: "CopyCompletionTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "CopyStatusDescription",
-            xmlName: "CopyStatusDescription",
-            type: {
-              name: "String"
-            }
-          },
-          serverEncrypted: {
-            serializedName: "ServerEncrypted",
-            xmlName: "ServerEncrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          incrementalCopy: {
-            serializedName: "IncrementalCopy",
-            xmlName: "IncrementalCopy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          destinationSnapshot: {
-            serializedName: "DestinationSnapshot",
-            xmlName: "DestinationSnapshot",
-            type: {
-              name: "String"
-            }
-          },
-          deletedOn: {
-            serializedName: "DeletedTime",
-            xmlName: "DeletedTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          remainingRetentionDays: {
-            serializedName: "RemainingRetentionDays",
-            xmlName: "RemainingRetentionDays",
-            type: {
-              name: "Number"
-            }
-          },
-          accessTier: {
-            serializedName: "AccessTier",
-            xmlName: "AccessTier",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "P4",
-                "P6",
-                "P10",
-                "P15",
-                "P20",
-                "P30",
-                "P40",
-                "P50",
-                "P60",
-                "P70",
-                "P80",
-                "Hot",
-                "Cool",
-                "Archive",
-                "Cold"
-              ]
-            }
-          },
-          accessTierInferred: {
-            serializedName: "AccessTierInferred",
-            xmlName: "AccessTierInferred",
-            type: {
-              name: "Boolean"
-            }
-          },
-          archiveStatus: {
-            serializedName: "ArchiveStatus",
-            xmlName: "ArchiveStatus",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "rehydrate-pending-to-hot",
-                "rehydrate-pending-to-cool",
-                "rehydrate-pending-to-cold"
-              ]
-            }
-          },
-          customerProvidedKeySha256: {
-            serializedName: "CustomerProvidedKeySha256",
-            xmlName: "CustomerProvidedKeySha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "EncryptionScope",
-            xmlName: "EncryptionScope",
-            type: {
-              name: "String"
-            }
-          },
-          accessTierChangedOn: {
-            serializedName: "AccessTierChangeTime",
-            xmlName: "AccessTierChangeTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          tagCount: {
-            serializedName: "TagCount",
-            xmlName: "TagCount",
-            type: {
-              name: "Number"
-            }
-          },
-          expiresOn: {
-            serializedName: "Expiry-Time",
-            xmlName: "Expiry-Time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isSealed: {
-            serializedName: "Sealed",
-            xmlName: "Sealed",
-            type: {
-              name: "Boolean"
-            }
-          },
-          rehydratePriority: {
-            serializedName: "RehydratePriority",
-            xmlName: "RehydratePriority",
-            type: {
-              name: "Enum",
-              allowedValues: ["High", "Standard"]
-            }
-          },
-          lastAccessedOn: {
-            serializedName: "LastAccessTime",
-            xmlName: "LastAccessTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiresOn: {
-            serializedName: "ImmutabilityPolicyUntilDate",
-            xmlName: "ImmutabilityPolicyUntilDate",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "ImmutabilityPolicyMode",
-            xmlName: "ImmutabilityPolicyMode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
-            }
-          },
-          legalHold: {
-            serializedName: "LegalHold",
-            xmlName: "LegalHold",
-            type: {
-              name: "Boolean"
-            }
+        } else {
+          this.services = services;
+          this.resourceTypes = resourceTypes;
+          this.expiresOn = expiresOn;
+          this.permissions = permissionsOrOptions;
+          this.protocol = protocol;
+          this.startsOn = startsOn;
+          this.ipRangeInner = ipRange;
+          this.encryptionScope = encryptionScope;
+          this.identifier = identifier;
+          this.resource = resource;
+          this.cacheControl = cacheControl;
+          this.contentDisposition = contentDisposition;
+          this.contentEncoding = contentEncoding;
+          this.contentLanguage = contentLanguage;
+          this.contentType = contentType;
+          if (userDelegationKey) {
+            this.signedOid = userDelegationKey.signedObjectId;
+            this.signedTenantId = userDelegationKey.signedTenantId;
+            this.signedStartsOn = userDelegationKey.signedStartsOn;
+            this.signedExpiresOn = userDelegationKey.signedExpiresOn;
+            this.signedService = userDelegationKey.signedService;
+            this.signedVersion = userDelegationKey.signedVersion;
+            this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;
+            this.correlationId = correlationId;
           }
         }
       }
-    };
-    exports2.ListBlobsHierarchySegmentResponse = {
-      serializedName: "ListBlobsHierarchySegmentResponse",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "ListBlobsHierarchySegmentResponse",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          containerName: {
-            serializedName: "ContainerName",
-            required: true,
-            xmlName: "ContainerName",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          prefix: {
-            serializedName: "Prefix",
-            xmlName: "Prefix",
-            type: {
-              name: "String"
-            }
-          },
-          marker: {
-            serializedName: "Marker",
-            xmlName: "Marker",
-            type: {
-              name: "String"
-            }
-          },
-          maxPageSize: {
-            serializedName: "MaxResults",
-            xmlName: "MaxResults",
-            type: {
-              name: "Number"
-            }
-          },
-          delimiter: {
-            serializedName: "Delimiter",
-            xmlName: "Delimiter",
-            type: {
-              name: "String"
-            }
-          },
-          segment: {
-            serializedName: "Segment",
-            xmlName: "Blobs",
-            type: {
-              name: "Composite",
-              className: "BlobHierarchyListSegment"
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
+      /**
+       * Encodes all SAS query parameters into a string that can be appended to a URL.
+       *
+       */
+      toString() {
+        const params = [
+          "sv",
+          "ss",
+          "srt",
+          "spr",
+          "st",
+          "se",
+          "sip",
+          "si",
+          "ses",
+          "skoid",
+          // Signed object ID
+          "sktid",
+          // Signed tenant ID
+          "skt",
+          // Signed key start time
+          "ske",
+          // Signed key expiry time
+          "sks",
+          // Signed key service
+          "skv",
+          // Signed key version
+          "sr",
+          "sp",
+          "sig",
+          "rscc",
+          "rscd",
+          "rsce",
+          "rscl",
+          "rsct",
+          "saoid",
+          "scid"
+        ];
+        const queries = [];
+        for (const param of params) {
+          switch (param) {
+            case "sv":
+              this.tryAppendQueryParameter(queries, param, this.version);
+              break;
+            case "ss":
+              this.tryAppendQueryParameter(queries, param, this.services);
+              break;
+            case "srt":
+              this.tryAppendQueryParameter(queries, param, this.resourceTypes);
+              break;
+            case "spr":
+              this.tryAppendQueryParameter(queries, param, this.protocol);
+              break;
+            case "st":
+              this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0);
+              break;
+            case "se":
+              this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0);
+              break;
+            case "sip":
+              this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0);
+              break;
+            case "si":
+              this.tryAppendQueryParameter(queries, param, this.identifier);
+              break;
+            case "ses":
+              this.tryAppendQueryParameter(queries, param, this.encryptionScope);
+              break;
+            case "skoid":
+              this.tryAppendQueryParameter(queries, param, this.signedOid);
+              break;
+            case "sktid":
+              this.tryAppendQueryParameter(queries, param, this.signedTenantId);
+              break;
+            case "skt":
+              this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0);
+              break;
+            case "ske":
+              this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0);
+              break;
+            case "sks":
+              this.tryAppendQueryParameter(queries, param, this.signedService);
+              break;
+            case "skv":
+              this.tryAppendQueryParameter(queries, param, this.signedVersion);
+              break;
+            case "sr":
+              this.tryAppendQueryParameter(queries, param, this.resource);
+              break;
+            case "sp":
+              this.tryAppendQueryParameter(queries, param, this.permissions);
+              break;
+            case "sig":
+              this.tryAppendQueryParameter(queries, param, this.signature);
+              break;
+            case "rscc":
+              this.tryAppendQueryParameter(queries, param, this.cacheControl);
+              break;
+            case "rscd":
+              this.tryAppendQueryParameter(queries, param, this.contentDisposition);
+              break;
+            case "rsce":
+              this.tryAppendQueryParameter(queries, param, this.contentEncoding);
+              break;
+            case "rscl":
+              this.tryAppendQueryParameter(queries, param, this.contentLanguage);
+              break;
+            case "rsct":
+              this.tryAppendQueryParameter(queries, param, this.contentType);
+              break;
+            case "saoid":
+              this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
+              break;
+            case "scid":
+              this.tryAppendQueryParameter(queries, param, this.correlationId);
+              break;
           }
         }
+        return queries.join("&");
+      }
+      /**
+       * A private helper method used to filter and append query key/value pairs into an array.
+       *
+       * @param queries -
+       * @param key -
+       * @param value -
+       */
+      tryAppendQueryParameter(queries, key, value) {
+        if (!value) {
+          return;
+        }
+        key = encodeURIComponent(key);
+        value = encodeURIComponent(value);
+        if (key.length > 0 && value.length > 0) {
+          queries.push(`${key}=${value}`);
+        }
       }
     };
-    exports2.BlobHierarchyListSegment = {
-      serializedName: "BlobHierarchyListSegment",
-      xmlName: "Blobs",
-      type: {
-        name: "Composite",
-        className: "BlobHierarchyListSegment",
-        modelProperties: {
-          blobPrefixes: {
-            serializedName: "BlobPrefixes",
-            xmlName: "BlobPrefixes",
-            xmlElementName: "BlobPrefix",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobPrefix"
-                }
-              }
-            }
-          },
-          blobItems: {
-            serializedName: "BlobItems",
-            required: true,
-            xmlName: "BlobItems",
-            xmlElementName: "Blob",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobItemInternal"
-                }
-              }
-            }
+    exports2.SASQueryParameters = SASQueryParameters;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js
+var require_BlobSASSignatureValues = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters;
+    exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal;
+    var BlobSASPermissions_js_1 = require_BlobSASPermissions();
+    var ContainerSASPermissions_js_1 = require_ContainerSASPermissions();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential();
+    var SasIPRange_js_1 = require_SasIPRange();
+    var SASQueryParameters_js_1 = require_SASQueryParameters();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
+      return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters;
+    }
+    function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
+      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0;
+      let userDelegationKeyCredential;
+      if (sharedKeyCredential === void 0 && accountName !== void 0) {
+        userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
+      }
+      if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) {
+        throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
+      }
+      if (version >= "2020-12-06") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          if (version >= "2025-07-05") {
+            return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential);
+          } else {
+            return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
+          }
+        }
+      }
+      if (version >= "2018-11-09") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          if (version >= "2020-02-10") {
+            return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
+          } else {
+            return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
           }
         }
       }
-    };
-    exports2.BlobPrefix = {
-      serializedName: "BlobPrefix",
-      type: {
-        name: "Composite",
-        className: "BlobPrefix",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            xmlName: "Name",
-            type: {
-              name: "Composite",
-              className: "BlobName"
-            }
-          }
+      if (version >= "2015-04-05") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
+        }
+      }
+      throw new RangeError("'version' must be >= '2015-04-05'.");
+    }
+    function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.BlockLookupList = {
-      serializedName: "BlockLookupList",
-      xmlName: "BlockList",
-      type: {
-        name: "Composite",
-        className: "BlockLookupList",
-        modelProperties: {
-          committed: {
-            serializedName: "Committed",
-            xmlName: "Committed",
-            xmlElementName: "Committed",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "String"
-                }
-              }
-            }
-          },
-          uncommitted: {
-            serializedName: "Uncommitted",
-            xmlName: "Uncommitted",
-            xmlElementName: "Uncommitted",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "String"
-                }
-              }
-            }
-          },
-          latest: {
-            serializedName: "Latest",
-            xmlName: "Latest",
-            xmlElementName: "Latest",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "String"
-                }
-              }
-            }
-          }
-        }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
       }
-    };
-    exports2.BlockList = {
-      serializedName: "BlockList",
-      type: {
-        name: "Composite",
-        className: "BlockList",
-        modelProperties: {
-          committedBlocks: {
-            serializedName: "CommittedBlocks",
-            xmlName: "CommittedBlocks",
-            xmlIsWrapped: true,
-            xmlElementName: "Block",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "Block"
-                }
-              }
-            }
-          },
-          uncommittedBlocks: {
-            serializedName: "UncommittedBlocks",
-            xmlName: "UncommittedBlocks",
-            xmlIsWrapped: true,
-            xmlElementName: "Block",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "Block"
-                }
-              }
-            }
-          }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
       }
-    };
-    exports2.Block = {
-      serializedName: "Block",
-      type: {
-        name: "Composite",
-        className: "Block",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            required: true,
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          size: {
-            serializedName: "Size",
-            required: true,
-            xmlName: "Size",
-            type: {
-              name: "Number"
-            }
-          }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.PageList = {
-      serializedName: "PageList",
-      type: {
-        name: "Composite",
-        className: "PageList",
-        modelProperties: {
-          pageRange: {
-            serializedName: "PageRange",
-            xmlName: "PageRange",
-            xmlElementName: "PageRange",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "PageRange"
-                }
-              }
-            }
-          },
-          clearRange: {
-            serializedName: "ClearRange",
-            xmlName: "ClearRange",
-            xmlElementName: "ClearRange",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "ClearRange"
-                }
-              }
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
       }
-    };
-    exports2.PageRange = {
-      serializedName: "PageRange",
-      xmlName: "PageRange",
-      type: {
-        name: "Composite",
-        className: "PageRange",
-        modelProperties: {
-          start: {
-            serializedName: "Start",
-            required: true,
-            xmlName: "Start",
-            type: {
-              name: "Number"
-            }
-          },
-          end: {
-            serializedName: "End",
-            required: true,
-            xmlName: "End",
-            type: {
-              name: "Number"
-            }
-          }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
       }
-    };
-    exports2.ClearRange = {
-      serializedName: "ClearRange",
-      xmlName: "ClearRange",
-      type: {
-        name: "Composite",
-        className: "ClearRange",
-        modelProperties: {
-          start: {
-            serializedName: "Start",
-            required: true,
-            xmlName: "Start",
-            type: {
-              name: "Number"
-            }
-          },
-          end: {
-            serializedName: "End",
-            required: true,
-            xmlName: "End",
-            type: {
-              name: "Number"
-            }
-          }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.QueryRequest = {
-      serializedName: "QueryRequest",
-      xmlName: "QueryRequest",
-      type: {
-        name: "Composite",
-        className: "QueryRequest",
-        modelProperties: {
-          queryType: {
-            serializedName: "QueryType",
-            required: true,
-            xmlName: "QueryType",
-            type: {
-              name: "String"
-            }
-          },
-          expression: {
-            serializedName: "Expression",
-            required: true,
-            xmlName: "Expression",
-            type: {
-              name: "String"
-            }
-          },
-          inputSerialization: {
-            serializedName: "InputSerialization",
-            xmlName: "InputSerialization",
-            type: {
-              name: "Composite",
-              className: "QuerySerialization"
-            }
-          },
-          outputSerialization: {
-            serializedName: "OutputSerialization",
-            xmlName: "OutputSerialization",
-            type: {
-              name: "Composite",
-              className: "QuerySerialization"
-            }
-          }
-        }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        void 0,
+        // SignedKeyDelegatedUserTenantId, will be added in a future release.
+        void 0,
+        // SignedDelegatedUserObjectId, will be added in future release.
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function getCanonicalName(accountName, containerName, blobName) {
+      const elements = [`/blob/${accountName}/${containerName}`];
+      if (blobName) {
+        elements.push(`/${blobName}`);
       }
-    };
-    exports2.QuerySerialization = {
-      serializedName: "QuerySerialization",
-      type: {
-        name: "Composite",
-        className: "QuerySerialization",
-        modelProperties: {
-          format: {
-            serializedName: "Format",
-            xmlName: "Format",
-            type: {
-              name: "Composite",
-              className: "QueryFormat"
-            }
-          }
+      return elements.join("");
+    }
+    function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
+      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
+        throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
+      }
+      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) {
+        throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
+      }
+      if (blobSASSignatureValues.versionId && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
+      }
+      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) {
+        throw RangeError("Must provide 'blobName' when providing 'versionId'.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
+        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
+      }
+      if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
+        throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
+      }
+      if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) {
+        throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
+      }
+      if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
+        throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
+      }
+      if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
+        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      }
+      blobSASSignatureValues.version = version;
+      return blobSASSignatureValues;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js
+var require_BlobLeaseClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobLeaseClient = void 0;
+    var core_util_1 = require_commonjs4();
+    var constants_js_1 = require_constants15();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var BlobLeaseClient = class {
+      _leaseId;
+      _url;
+      _containerOrBlobOperation;
+      _isContainer;
+      /**
+       * Gets the lease Id.
+       *
+       * @readonly
+       */
+      get leaseId() {
+        return this._leaseId;
+      }
+      /**
+       * Gets the url.
+       *
+       * @readonly
+       */
+      get url() {
+        return this._url;
+      }
+      /**
+       * Creates an instance of BlobLeaseClient.
+       * @param client - The client to make the lease operation requests.
+       * @param leaseId - Initial proposed lease id.
+       */
+      constructor(client, leaseId) {
+        const clientContext = client.storageClientContext;
+        this._url = client.url;
+        if (client.name === void 0) {
+          this._isContainer = true;
+          this._containerOrBlobOperation = clientContext.container;
+        } else {
+          this._isContainer = false;
+          this._containerOrBlobOperation = clientContext.blob;
         }
-      }
-    };
-    exports2.QueryFormat = {
-      serializedName: "QueryFormat",
-      type: {
-        name: "Composite",
-        className: "QueryFormat",
-        modelProperties: {
-          type: {
-            serializedName: "Type",
-            required: true,
-            xmlName: "Type",
-            type: {
-              name: "Enum",
-              allowedValues: ["delimited", "json", "arrow", "parquet"]
-            }
-          },
-          delimitedTextConfiguration: {
-            serializedName: "DelimitedTextConfiguration",
-            xmlName: "DelimitedTextConfiguration",
-            type: {
-              name: "Composite",
-              className: "DelimitedTextConfiguration"
-            }
-          },
-          jsonTextConfiguration: {
-            serializedName: "JsonTextConfiguration",
-            xmlName: "JsonTextConfiguration",
-            type: {
-              name: "Composite",
-              className: "JsonTextConfiguration"
-            }
-          },
-          arrowConfiguration: {
-            serializedName: "ArrowConfiguration",
-            xmlName: "ArrowConfiguration",
-            type: {
-              name: "Composite",
-              className: "ArrowConfiguration"
-            }
-          },
-          parquetTextConfiguration: {
-            serializedName: "ParquetTextConfiguration",
-            xmlName: "ParquetTextConfiguration",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "any" } }
-            }
-          }
+        if (!leaseId) {
+          leaseId = (0, core_util_1.randomUUID)();
         }
+        this._leaseId = leaseId;
       }
-    };
-    exports2.DelimitedTextConfiguration = {
-      serializedName: "DelimitedTextConfiguration",
-      xmlName: "DelimitedTextConfiguration",
-      type: {
-        name: "Composite",
-        className: "DelimitedTextConfiguration",
-        modelProperties: {
-          columnSeparator: {
-            serializedName: "ColumnSeparator",
-            xmlName: "ColumnSeparator",
-            type: {
-              name: "String"
-            }
-          },
-          fieldQuote: {
-            serializedName: "FieldQuote",
-            xmlName: "FieldQuote",
-            type: {
-              name: "String"
-            }
-          },
-          recordSeparator: {
-            serializedName: "RecordSeparator",
-            xmlName: "RecordSeparator",
-            type: {
-              name: "String"
-            }
-          },
-          escapeChar: {
-            serializedName: "EscapeChar",
-            xmlName: "EscapeChar",
-            type: {
-              name: "String"
-            }
-          },
-          headersPresent: {
-            serializedName: "HeadersPresent",
-            xmlName: "HasHeaders",
-            type: {
-              name: "Boolean"
-            }
-          }
+      /**
+       * Establishes and manages a lock on a container for delete operations, or on a blob
+       * for write and delete operations.
+       * The lock duration can be 15 to 60 seconds, or can be infinite.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param duration - Must be between 15 to 60 seconds, or infinite (-1)
+       * @param options - option to configure lease management operations.
+       * @returns Response data for acquire lease operation.
+       */
+      async acquireLease(duration, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({
+            abortSignal: options.abortSignal,
+            duration,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            proposedLeaseId: this._leaseId,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.JsonTextConfiguration = {
-      serializedName: "JsonTextConfiguration",
-      xmlName: "JsonTextConfiguration",
-      type: {
-        name: "Composite",
-        className: "JsonTextConfiguration",
-        modelProperties: {
-          recordSeparator: {
-            serializedName: "RecordSeparator",
-            xmlName: "RecordSeparator",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * To change the ID of the lease.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param proposedLeaseId - the proposed new lease Id.
+       * @param options - option to configure lease management operations.
+       * @returns Response data for change lease operation.
+       */
+      async changeLease(proposedLeaseId, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          this._leaseId = proposedLeaseId;
+          return response;
+        });
       }
-    };
-    exports2.ArrowConfiguration = {
-      serializedName: "ArrowConfiguration",
-      xmlName: "ArrowConfiguration",
-      type: {
-        name: "Composite",
-        className: "ArrowConfiguration",
-        modelProperties: {
-          schema: {
-            serializedName: "Schema",
-            required: true,
-            xmlName: "Schema",
-            xmlIsWrapped: true,
-            xmlElementName: "Field",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "ArrowField"
-                }
-              }
-            }
-          }
+      /**
+       * To free the lease if it is no longer needed so that another client may
+       * immediately acquire a lease against the container or the blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param options - option to configure lease management operations.
+       * @returns Response data for release lease operation.
+       */
+      async releaseLease(options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.ArrowField = {
-      serializedName: "ArrowField",
-      xmlName: "Field",
-      type: {
-        name: "Composite",
-        className: "ArrowField",
-        modelProperties: {
-          type: {
-            serializedName: "Type",
-            required: true,
-            xmlName: "Type",
-            type: {
-              name: "String"
-            }
-          },
-          name: {
-            serializedName: "Name",
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          precision: {
-            serializedName: "Precision",
-            xmlName: "Precision",
-            type: {
-              name: "Number"
-            }
-          },
-          scale: {
-            serializedName: "Scale",
-            xmlName: "Scale",
-            type: {
-              name: "Number"
-            }
-          }
+      /**
+       * To renew the lease.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param options - Optional option to configure lease management operations.
+       * @returns Response data for renew lease operation.
+       */
+      async renewLease(options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => {
+          return this._containerOrBlobOperation.renewLease(this._leaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          });
+        });
       }
-    };
-    exports2.ServiceSetPropertiesHeaders = {
-      serializedName: "Service_setPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSetPropertiesHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * To end the lease but ensure that another client cannot acquire a new lease
+       * until the current lease period has expired.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param breakPeriod - Break period
+       * @param options - Optional options to configure lease management operations.
+       * @returns Response data for break lease operation.
+       */
+      async breakLease(breakPeriod, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => {
+          const operationOptions = {
+            abortSignal: options.abortSignal,
+            breakPeriod,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          };
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions));
+        });
       }
     };
-    exports2.ServiceSetPropertiesExceptionHeaders = {
-      serializedName: "Service_setPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.BlobLeaseClient = BlobLeaseClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js
+var require_RetriableReadableStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RetriableReadableStream = void 0;
+    var abort_controller_1 = require_commonjs11();
+    var node_stream_1 = require("node:stream");
+    var RetriableReadableStream = class extends node_stream_1.Readable {
+      start;
+      offset;
+      end;
+      getter;
+      source;
+      retries = 0;
+      maxRetryRequests;
+      onProgress;
+      options;
+      /**
+       * Creates an instance of RetriableReadableStream.
+       *
+       * @param source - The current ReadableStream returned from getter
+       * @param getter - A method calling downloading request returning
+       *                                      a new ReadableStream from specified offset
+       * @param offset - Offset position in original data source to read
+       * @param count - How much data in original data source to read
+       * @param options -
+       */
+      constructor(source, getter, offset, count, options = {}) {
+        super({ highWaterMark: options.highWaterMark });
+        this.getter = getter;
+        this.source = source;
+        this.start = offset;
+        this.offset = offset;
+        this.end = offset + count - 1;
+        this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0;
+        this.onProgress = options.onProgress;
+        this.options = options;
+        this.setSourceEventHandlers();
       }
-    };
-    exports2.ServiceGetPropertiesHeaders = {
-      serializedName: "Service_getPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetPropertiesHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      _read() {
+        this.source.resume();
       }
-    };
-    exports2.ServiceGetPropertiesExceptionHeaders = {
-      serializedName: "Service_getPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      setSourceEventHandlers() {
+        this.source.on("data", this.sourceDataHandler);
+        this.source.on("end", this.sourceErrorOrEndHandler);
+        this.source.on("error", this.sourceErrorOrEndHandler);
+        this.source.on("aborted", this.sourceAbortedHandler);
       }
-    };
-    exports2.ServiceGetStatisticsHeaders = {
-      serializedName: "Service_getStatisticsHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetStatisticsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      removeSourceEventHandlers() {
+        this.source.removeListener("data", this.sourceDataHandler);
+        this.source.removeListener("end", this.sourceErrorOrEndHandler);
+        this.source.removeListener("error", this.sourceErrorOrEndHandler);
+        this.source.removeListener("aborted", this.sourceAbortedHandler);
+      }
+      sourceDataHandler = (data) => {
+        if (this.options.doInjectErrorOnce) {
+          this.options.doInjectErrorOnce = void 0;
+          this.source.pause();
+          this.sourceErrorOrEndHandler();
+          this.source.destroy();
+          return;
+        }
+        this.offset += data.length;
+        if (this.onProgress) {
+          this.onProgress({ loadedBytes: this.offset - this.start });
+        }
+        if (!this.push(data)) {
+          this.source.pause();
+        }
+      };
+      sourceAbortedHandler = () => {
+        const abortError = new abort_controller_1.AbortError("The operation was aborted.");
+        this.destroy(abortError);
+      };
+      sourceErrorOrEndHandler = (err) => {
+        if (err && err.name === "AbortError") {
+          this.destroy(err);
+          return;
         }
-      }
-    };
-    exports2.ServiceGetStatisticsExceptionHeaders = {
-      serializedName: "Service_getStatisticsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetStatisticsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+        this.removeSourceEventHandlers();
+        if (this.offset - 1 === this.end) {
+          this.push(null);
+        } else if (this.offset <= this.end) {
+          if (this.retries < this.maxRetryRequests) {
+            this.retries += 1;
+            this.getter(this.offset).then((newSource) => {
+              this.source = newSource;
+              this.setSourceEventHandlers();
+              return;
+            }).catch((error3) => {
+              this.destroy(error3);
+            });
+          } else {
+            this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`));
           }
+        } else {
+          this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`));
         }
+      };
+      _destroy(error3, callback) {
+        this.removeSourceEventHandlers();
+        this.source.destroy();
+        callback(error3 === null ? void 0 : error3);
       }
     };
-    exports2.ServiceListContainersSegmentHeaders = {
-      serializedName: "Service_listContainersSegmentHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceListContainersSegmentHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.RetriableReadableStream = RetriableReadableStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js
+var require_BlobDownloadResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobDownloadResponse = void 0;
+    var core_util_1 = require_commonjs4();
+    var RetriableReadableStream_js_1 = require_RetriableReadableStream();
+    var BlobDownloadResponse = class {
+      /**
+       * Indicates that the service supports
+       * requests for partial file content.
+       *
+       * @readonly
+       */
+      get acceptRanges() {
+        return this.originalResponse.acceptRanges;
       }
-    };
-    exports2.ServiceListContainersSegmentExceptionHeaders = {
-      serializedName: "Service_listContainersSegmentExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceListContainersSegmentExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Returns if it was previously specified
+       * for the file.
+       *
+       * @readonly
+       */
+      get cacheControl() {
+        return this.originalResponse.cacheControl;
       }
-    };
-    exports2.ServiceGetUserDelegationKeyHeaders = {
-      serializedName: "Service_getUserDelegationKeyHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetUserDelegationKeyHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Returns the value that was specified
+       * for the 'x-ms-content-disposition' header and specifies how to process the
+       * response.
+       *
+       * @readonly
+       */
+      get contentDisposition() {
+        return this.originalResponse.contentDisposition;
       }
-    };
-    exports2.ServiceGetUserDelegationKeyExceptionHeaders = {
-      serializedName: "Service_getUserDelegationKeyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetUserDelegationKeyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Returns the value that was specified
+       * for the Content-Encoding request header.
+       *
+       * @readonly
+       */
+      get contentEncoding() {
+        return this.originalResponse.contentEncoding;
       }
-    };
-    exports2.ServiceGetAccountInfoHeaders = {
-      serializedName: "Service_getAccountInfoHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetAccountInfoHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          skuName: {
-            serializedName: "x-ms-sku-name",
-            xmlName: "x-ms-sku-name",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Standard_LRS",
-                "Standard_GRS",
-                "Standard_RAGRS",
-                "Standard_ZRS",
-                "Premium_LRS"
-              ]
-            }
-          },
-          accountKind: {
-            serializedName: "x-ms-account-kind",
-            xmlName: "x-ms-account-kind",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Storage",
-                "BlobStorage",
-                "StorageV2",
-                "FileStorage",
-                "BlockBlobStorage"
-              ]
-            }
-          },
-          isHierarchicalNamespaceEnabled: {
-            serializedName: "x-ms-is-hns-enabled",
-            xmlName: "x-ms-is-hns-enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Returns the value that was specified
+       * for the Content-Language request header.
+       *
+       * @readonly
+       */
+      get contentLanguage() {
+        return this.originalResponse.contentLanguage;
       }
-    };
-    exports2.ServiceGetAccountInfoExceptionHeaders = {
-      serializedName: "Service_getAccountInfoExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetAccountInfoExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The current sequence number for a
+       * page blob. This header is not returned for block blobs or append blobs.
+       *
+       * @readonly
+       */
+      get blobSequenceNumber() {
+        return this.originalResponse.blobSequenceNumber;
       }
-    };
-    exports2.ServiceSubmitBatchHeaders = {
-      serializedName: "Service_submitBatchHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSubmitBatchHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The blob's type. Possible values include:
+       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
+       *
+       * @readonly
+       */
+      get blobType() {
+        return this.originalResponse.blobType;
       }
-    };
-    exports2.ServiceSubmitBatchExceptionHeaders = {
-      serializedName: "Service_submitBatchExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSubmitBatchExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The number of bytes present in the
+       * response body.
+       *
+       * @readonly
+       */
+      get contentLength() {
+        return this.originalResponse.contentLength;
       }
-    };
-    exports2.ServiceFilterBlobsHeaders = {
-      serializedName: "Service_filterBlobsHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceFilterBlobsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * If the file has an MD5 hash and the
+       * request is to read the full file, this response header is returned so that
+       * the client can check for message content integrity. If the request is to
+       * read a specified range and the 'x-ms-range-get-content-md5' is set to
+       * true, then the request returns an MD5 hash for the range, as long as the
+       * range size is less than or equal to 4 MB. If neither of these sets of
+       * conditions is true, then no value is returned for the 'Content-MD5'
+       * header.
+       *
+       * @readonly
+       */
+      get contentMD5() {
+        return this.originalResponse.contentMD5;
+      }
+      /**
+       * Indicates the range of bytes returned if
+       * the client requested a subset of the file by setting the Range request
+       * header.
+       *
+       * @readonly
+       */
+      get contentRange() {
+        return this.originalResponse.contentRange;
+      }
+      /**
+       * The content type specified for the file.
+       * The default content type is 'application/octet-stream'
+       *
+       * @readonly
+       */
+      get contentType() {
+        return this.originalResponse.contentType;
+      }
+      /**
+       * Conclusion time of the last attempted
+       * Copy File operation where this file was the destination file. This value
+       * can specify the time of a completed, aborted, or failed copy attempt.
+       *
+       * @readonly
+       */
+      get copyCompletedOn() {
+        return this.originalResponse.copyCompletedOn;
+      }
+      /**
+       * String identifier for the last attempted Copy
+       * File operation where this file was the destination file.
+       *
+       * @readonly
+       */
+      get copyId() {
+        return this.originalResponse.copyId;
+      }
+      /**
+       * Contains the number of bytes copied and
+       * the total bytes in the source in the last attempted Copy File operation
+       * where this file was the destination file. Can show between 0 and
+       * Content-Length bytes copied.
+       *
+       * @readonly
+       */
+      get copyProgress() {
+        return this.originalResponse.copyProgress;
+      }
+      /**
+       * URL up to 2KB in length that specifies the
+       * source file used in the last attempted Copy File operation where this file
+       * was the destination file.
+       *
+       * @readonly
+       */
+      get copySource() {
+        return this.originalResponse.copySource;
+      }
+      /**
+       * State of the copy operation
+       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
+       * 'success', 'aborted', 'failed'
+       *
+       * @readonly
+       */
+      get copyStatus() {
+        return this.originalResponse.copyStatus;
+      }
+      /**
+       * Only appears when
+       * x-ms-copy-status is failed or pending. Describes cause of fatal or
+       * non-fatal copy operation failure.
+       *
+       * @readonly
+       */
+      get copyStatusDescription() {
+        return this.originalResponse.copyStatusDescription;
       }
-    };
-    exports2.ServiceFilterBlobsExceptionHeaders = {
-      serializedName: "Service_filterBlobsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceFilterBlobsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * When a blob is leased,
+       * specifies whether the lease is of infinite or fixed duration. Possible
+       * values include: 'infinite', 'fixed'.
+       *
+       * @readonly
+       */
+      get leaseDuration() {
+        return this.originalResponse.leaseDuration;
       }
-    };
-    exports2.ContainerCreateHeaders = {
-      serializedName: "Container_createHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerCreateHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Lease state of the blob. Possible
+       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
+       *
+       * @readonly
+       */
+      get leaseState() {
+        return this.originalResponse.leaseState;
       }
-    };
-    exports2.ContainerCreateExceptionHeaders = {
-      serializedName: "Container_createExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerCreateExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The current lease status of the
+       * blob. Possible values include: 'locked', 'unlocked'.
+       *
+       * @readonly
+       */
+      get leaseStatus() {
+        return this.originalResponse.leaseStatus;
       }
-    };
-    exports2.ContainerGetPropertiesHeaders = {
-      serializedName: "Container_getPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetPropertiesHeaders",
-        modelProperties: {
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobPublicAccess: {
-            serializedName: "x-ms-blob-public-access",
-            xmlName: "x-ms-blob-public-access",
-            type: {
-              name: "Enum",
-              allowedValues: ["container", "blob"]
-            }
-          },
-          hasImmutabilityPolicy: {
-            serializedName: "x-ms-has-immutability-policy",
-            xmlName: "x-ms-has-immutability-policy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          hasLegalHold: {
-            serializedName: "x-ms-has-legal-hold",
-            xmlName: "x-ms-has-legal-hold",
-            type: {
-              name: "Boolean"
-            }
-          },
-          defaultEncryptionScope: {
-            serializedName: "x-ms-default-encryption-scope",
-            xmlName: "x-ms-default-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          denyEncryptionScopeOverride: {
-            serializedName: "x-ms-deny-encryption-scope-override",
-            xmlName: "x-ms-deny-encryption-scope-override",
-            type: {
-              name: "Boolean"
-            }
-          },
-          isImmutableStorageWithVersioningEnabled: {
-            serializedName: "x-ms-immutable-storage-with-versioning-enabled",
-            xmlName: "x-ms-immutable-storage-with-versioning-enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * A UTC date/time value generated by the service that
+       * indicates the time at which the response was initiated.
+       *
+       * @readonly
+       */
+      get date() {
+        return this.originalResponse.date;
       }
-    };
-    exports2.ContainerGetPropertiesExceptionHeaders = {
-      serializedName: "Container_getPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The number of committed blocks
+       * present in the blob. This header is returned only for append blobs.
+       *
+       * @readonly
+       */
+      get blobCommittedBlockCount() {
+        return this.originalResponse.blobCommittedBlockCount;
       }
-    };
-    exports2.ContainerDeleteHeaders = {
-      serializedName: "Container_deleteHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerDeleteHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The ETag contains a value that you can use to
+       * perform operations conditionally, in quotes.
+       *
+       * @readonly
+       */
+      get etag() {
+        return this.originalResponse.etag;
       }
-    };
-    exports2.ContainerDeleteExceptionHeaders = {
-      serializedName: "Container_deleteExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerDeleteExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The number of tags associated with the blob
+       *
+       * @readonly
+       */
+      get tagCount() {
+        return this.originalResponse.tagCount;
       }
-    };
-    exports2.ContainerSetMetadataHeaders = {
-      serializedName: "Container_setMetadataHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetMetadataHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The error code.
+       *
+       * @readonly
+       */
+      get errorCode() {
+        return this.originalResponse.errorCode;
       }
-    };
-    exports2.ContainerSetMetadataExceptionHeaders = {
-      serializedName: "Container_setMetadataExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetMetadataExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The value of this header is set to
+       * true if the file data and application metadata are completely encrypted
+       * using the specified algorithm. Otherwise, the value is set to false (when
+       * the file is unencrypted, or if only parts of the file/application metadata
+       * are encrypted).
+       *
+       * @readonly
+       */
+      get isServerEncrypted() {
+        return this.originalResponse.isServerEncrypted;
       }
-    };
-    exports2.ContainerGetAccessPolicyHeaders = {
-      serializedName: "Container_getAccessPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccessPolicyHeaders",
-        modelProperties: {
-          blobPublicAccess: {
-            serializedName: "x-ms-blob-public-access",
-            xmlName: "x-ms-blob-public-access",
-            type: {
-              name: "Enum",
-              allowedValues: ["container", "blob"]
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * If the blob has a MD5 hash, and if
+       * request contains range header (Range or x-ms-range), this response header
+       * is returned with the value of the whole blob's MD5 value. This value may
+       * or may not be equal to the value returned in Content-MD5 header, with the
+       * latter calculated from the requested range.
+       *
+       * @readonly
+       */
+      get blobContentMD5() {
+        return this.originalResponse.blobContentMD5;
       }
-    };
-    exports2.ContainerGetAccessPolicyExceptionHeaders = {
-      serializedName: "Container_getAccessPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccessPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Returns the date and time the file was last
+       * modified. Any operation that modifies the file or its properties updates
+       * the last modified time.
+       *
+       * @readonly
+       */
+      get lastModified() {
+        return this.originalResponse.lastModified;
       }
-    };
-    exports2.ContainerSetAccessPolicyHeaders = {
-      serializedName: "Container_setAccessPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetAccessPolicyHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Returns the UTC date and time generated by the service that indicates the time at which the blob was
+       * last read or written to.
+       *
+       * @readonly
+       */
+      get lastAccessed() {
+        return this.originalResponse.lastAccessed;
       }
-    };
-    exports2.ContainerSetAccessPolicyExceptionHeaders = {
-      serializedName: "Container_setAccessPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetAccessPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Returns the date and time the blob was created.
+       *
+       * @readonly
+       */
+      get createdOn() {
+        return this.originalResponse.createdOn;
       }
-    };
-    exports2.ContainerRestoreHeaders = {
-      serializedName: "Container_restoreHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRestoreHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * A name-value pair
+       * to associate with a file storage object.
+       *
+       * @readonly
+       */
+      get metadata() {
+        return this.originalResponse.metadata;
       }
-    };
-    exports2.ContainerRestoreExceptionHeaders = {
-      serializedName: "Container_restoreExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRestoreExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * This header uniquely identifies the request
+       * that was made and can be used for troubleshooting the request.
+       *
+       * @readonly
+       */
+      get requestId() {
+        return this.originalResponse.requestId;
       }
-    };
-    exports2.ContainerRenameHeaders = {
-      serializedName: "Container_renameHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenameHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * If a client request id header is sent in the request, this header will be present in the
+       * response with the same value.
+       *
+       * @readonly
+       */
+      get clientRequestId() {
+        return this.originalResponse.clientRequestId;
       }
-    };
-    exports2.ContainerRenameExceptionHeaders = {
-      serializedName: "Container_renameExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenameExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Indicates the version of the Blob service used
+       * to execute the request.
+       *
+       * @readonly
+       */
+      get version() {
+        return this.originalResponse.version;
       }
-    };
-    exports2.ContainerSubmitBatchHeaders = {
-      serializedName: "Container_submitBatchHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSubmitBatchHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Indicates the versionId of the downloaded blob version.
+       *
+       * @readonly
+       */
+      get versionId() {
+        return this.originalResponse.versionId;
       }
-    };
-    exports2.ContainerSubmitBatchExceptionHeaders = {
-      serializedName: "Container_submitBatchExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSubmitBatchExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Indicates whether version of this blob is a current version.
+       *
+       * @readonly
+       */
+      get isCurrentVersion() {
+        return this.originalResponse.isCurrentVersion;
       }
-    };
-    exports2.ContainerFilterBlobsHeaders = {
-      serializedName: "Container_filterBlobsHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerFilterBlobsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
+       * when the blob was encrypted with a customer-provided key.
+       *
+       * @readonly
+       */
+      get encryptionKeySha256() {
+        return this.originalResponse.encryptionKeySha256;
       }
-    };
-    exports2.ContainerFilterBlobsExceptionHeaders = {
-      serializedName: "Container_filterBlobsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerFilterBlobsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
+       * true, then the request returns a crc64 for the range, as long as the range size is less than
+       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
+       * specified in the same request, it will fail with 400(Bad Request)
+       */
+      get contentCrc64() {
+        return this.originalResponse.contentCrc64;
       }
-    };
-    exports2.ContainerAcquireLeaseHeaders = {
-      serializedName: "Container_acquireLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerAcquireLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * Object Replication Policy Id of the destination blob.
+       *
+       * @readonly
+       */
+      get objectReplicationDestinationPolicyId() {
+        return this.originalResponse.objectReplicationDestinationPolicyId;
       }
-    };
-    exports2.ContainerAcquireLeaseExceptionHeaders = {
-      serializedName: "Container_acquireLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerAcquireLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob.
+       *
+       * @readonly
+       */
+      get objectReplicationSourceProperties() {
+        return this.originalResponse.objectReplicationSourceProperties;
+      }
+      /**
+       * If this blob has been sealed.
+       *
+       * @readonly
+       */
+      get isSealed() {
+        return this.originalResponse.isSealed;
+      }
+      /**
+       * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire.
+       *
+       * @readonly
+       */
+      get immutabilityPolicyExpiresOn() {
+        return this.originalResponse.immutabilityPolicyExpiresOn;
+      }
+      /**
+       * Indicates immutability policy mode.
+       *
+       * @readonly
+       */
+      get immutabilityPolicyMode() {
+        return this.originalResponse.immutabilityPolicyMode;
+      }
+      /**
+       * Indicates if a legal hold is present on the blob.
+       *
+       * @readonly
+       */
+      get legalHold() {
+        return this.originalResponse.legalHold;
       }
-    };
-    exports2.ContainerReleaseLeaseHeaders = {
-      serializedName: "Container_releaseLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerReleaseLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * The response body as a browser Blob.
+       * Always undefined in node.js.
+       *
+       * @readonly
+       */
+      get contentAsBlob() {
+        return this.originalResponse.blobBody;
       }
-    };
-    exports2.ContainerReleaseLeaseExceptionHeaders = {
-      serializedName: "Container_releaseLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerReleaseLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The response body as a node.js Readable stream.
+       * Always undefined in the browser.
+       *
+       * It will automatically retry when internal read stream unexpected ends.
+       *
+       * @readonly
+       */
+      get readableStreamBody() {
+        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
       }
-    };
-    exports2.ContainerRenewLeaseHeaders = {
-      serializedName: "Container_renewLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenewLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * The HTTP response.
+       */
+      get _response() {
+        return this.originalResponse._response;
       }
-    };
-    exports2.ContainerRenewLeaseExceptionHeaders = {
-      serializedName: "Container_renewLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenewLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      originalResponse;
+      blobDownloadStream;
+      /**
+       * Creates an instance of BlobDownloadResponse.
+       *
+       * @param originalResponse -
+       * @param getter -
+       * @param offset -
+       * @param count -
+       * @param options -
+       */
+      constructor(originalResponse, getter, offset, count, options = {}) {
+        this.originalResponse = originalResponse;
+        this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options);
       }
     };
-    exports2.ContainerBreakLeaseHeaders = {
-      serializedName: "Container_breakLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerBreakLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseTime: {
-            serializedName: "x-ms-lease-time",
-            xmlName: "x-ms-lease-time",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+    exports2.BlobDownloadResponse = BlobDownloadResponse;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js
+var require_AvroConstants = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0;
+    exports2.AVRO_SYNC_MARKER_SIZE = 16;
+    exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]);
+    exports2.AVRO_CODEC_KEY = "avro.codec";
+    exports2.AVRO_SCHEMA_KEY = "avro.schema";
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js
+var require_AvroParser = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroType = exports2.AvroParser = void 0;
+    var AvroParser = class _AvroParser {
+      /**
+       * Reads a fixed number of bytes from the stream.
+       *
+       * @param stream -
+       * @param length -
+       * @param options -
+       */
+      static async readFixedBytes(stream, length, options = {}) {
+        const bytes = await stream.read(length, { abortSignal: options.abortSignal });
+        if (bytes.length !== length) {
+          throw new Error("Hit stream end.");
         }
+        return bytes;
       }
-    };
-    exports2.ContainerBreakLeaseExceptionHeaders = {
-      serializedName: "Container_breakLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerBreakLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Reads a single byte from the stream.
+       *
+       * @param stream -
+       * @param options -
+       */
+      static async readByte(stream, options = {}) {
+        const buf = await _AvroParser.readFixedBytes(stream, 1, options);
+        return buf[0];
       }
-    };
-    exports2.ContainerChangeLeaseHeaders = {
-      serializedName: "Container_changeLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerChangeLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+      // int and long are stored in variable-length zig-zag coding.
+      // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt
+      // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types
+      static async readZigZagLong(stream, options = {}) {
+        let zigZagEncoded = 0;
+        let significanceInBit = 0;
+        let byte, haveMoreByte, significanceInFloat;
+        do {
+          byte = await _AvroParser.readByte(stream, options);
+          haveMoreByte = byte & 128;
+          zigZagEncoded |= (byte & 127) << significanceInBit;
+          significanceInBit += 7;
+        } while (haveMoreByte && significanceInBit < 28);
+        if (haveMoreByte) {
+          zigZagEncoded = zigZagEncoded;
+          significanceInFloat = 268435456;
+          do {
+            byte = await _AvroParser.readByte(stream, options);
+            zigZagEncoded += (byte & 127) * significanceInFloat;
+            significanceInFloat *= 128;
+          } while (byte & 128);
+          const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2;
+          if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) {
+            throw new Error("Integer overflow.");
           }
+          return res;
         }
+        return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1);
       }
-    };
-    exports2.ContainerChangeLeaseExceptionHeaders = {
-      serializedName: "Container_changeLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerChangeLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      static async readLong(stream, options = {}) {
+        return _AvroParser.readZigZagLong(stream, options);
       }
-    };
-    exports2.ContainerListBlobFlatSegmentHeaders = {
-      serializedName: "Container_listBlobFlatSegmentHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobFlatSegmentHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      static async readInt(stream, options = {}) {
+        return _AvroParser.readZigZagLong(stream, options);
       }
-    };
-    exports2.ContainerListBlobFlatSegmentExceptionHeaders = {
-      serializedName: "Container_listBlobFlatSegmentExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobFlatSegmentExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      static async readNull() {
+        return null;
       }
-    };
-    exports2.ContainerListBlobHierarchySegmentHeaders = {
-      serializedName: "Container_listBlobHierarchySegmentHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobHierarchySegmentHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      static async readBoolean(stream, options = {}) {
+        const b = await _AvroParser.readByte(stream, options);
+        if (b === 1) {
+          return true;
+        } else if (b === 0) {
+          return false;
+        } else {
+          throw new Error("Byte was not a boolean.");
         }
       }
-    };
-    exports2.ContainerListBlobHierarchySegmentExceptionHeaders = {
-      serializedName: "Container_listBlobHierarchySegmentExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobHierarchySegmentExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      static async readFloat(stream, options = {}) {
+        const u8arr = await _AvroParser.readFixedBytes(stream, 4, options);
+        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
+        return view.getFloat32(0, true);
+      }
+      static async readDouble(stream, options = {}) {
+        const u8arr = await _AvroParser.readFixedBytes(stream, 8, options);
+        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
+        return view.getFloat64(0, true);
+      }
+      static async readBytes(stream, options = {}) {
+        const size = await _AvroParser.readLong(stream, options);
+        if (size < 0) {
+          throw new Error("Bytes size was negative.");
         }
+        return stream.read(size, { abortSignal: options.abortSignal });
       }
-    };
-    exports2.ContainerGetAccountInfoHeaders = {
-      serializedName: "Container_getAccountInfoHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccountInfoHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          skuName: {
-            serializedName: "x-ms-sku-name",
-            xmlName: "x-ms-sku-name",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Standard_LRS",
-                "Standard_GRS",
-                "Standard_RAGRS",
-                "Standard_ZRS",
-                "Premium_LRS"
-              ]
-            }
-          },
-          accountKind: {
-            serializedName: "x-ms-account-kind",
-            xmlName: "x-ms-account-kind",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Storage",
-                "BlobStorage",
-                "StorageV2",
-                "FileStorage",
-                "BlockBlobStorage"
-              ]
-            }
-          },
-          isHierarchicalNamespaceEnabled: {
-            serializedName: "x-ms-is-hns-enabled",
-            xmlName: "x-ms-is-hns-enabled",
-            type: {
-              name: "Boolean"
-            }
-          }
+      static async readString(stream, options = {}) {
+        const u8arr = await _AvroParser.readBytes(stream, options);
+        const utf8decoder = new TextDecoder();
+        return utf8decoder.decode(u8arr);
+      }
+      static async readMapPair(stream, readItemMethod, options = {}) {
+        const key = await _AvroParser.readString(stream, options);
+        const value = await readItemMethod(stream, options);
+        return { key, value };
+      }
+      static async readMap(stream, readItemMethod, options = {}) {
+        const readPairMethod = (s, opts = {}) => {
+          return _AvroParser.readMapPair(s, readItemMethod, opts);
+        };
+        const pairs2 = await _AvroParser.readArray(stream, readPairMethod, options);
+        const dict = {};
+        for (const pair of pairs2) {
+          dict[pair.key] = pair.value;
         }
+        return dict;
       }
-    };
-    exports2.ContainerGetAccountInfoExceptionHeaders = {
-      serializedName: "Container_getAccountInfoExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccountInfoExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      static async readArray(stream, readItemMethod, options = {}) {
+        const items = [];
+        for (let count = await _AvroParser.readLong(stream, options); count !== 0; count = await _AvroParser.readLong(stream, options)) {
+          if (count < 0) {
+            await _AvroParser.readLong(stream, options);
+            count = -count;
+          }
+          while (count--) {
+            const item = await readItemMethod(stream, options);
+            items.push(item);
           }
         }
+        return items;
       }
     };
-    exports2.BlobDownloadHeaders = {
-      serializedName: "Blob_downloadHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDownloadHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          createdOn: {
-            serializedName: "x-ms-creation-time",
-            xmlName: "x-ms-creation-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          objectReplicationPolicyId: {
-            serializedName: "x-ms-or-policy-id",
-            xmlName: "x-ms-or-policy-id",
-            type: {
-              name: "String"
-            }
-          },
-          objectReplicationRules: {
-            serializedName: "x-ms-or",
-            headerCollectionPrefix: "x-ms-or-",
-            xmlName: "x-ms-or",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          contentLength: {
-            serializedName: "content-length",
-            xmlName: "content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          contentRange: {
-            serializedName: "content-range",
-            xmlName: "content-range",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentEncoding: {
-            serializedName: "content-encoding",
-            xmlName: "content-encoding",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "cache-control",
-            xmlName: "cache-control",
-            type: {
-              name: "String"
-            }
-          },
-          contentDisposition: {
-            serializedName: "content-disposition",
-            xmlName: "content-disposition",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "content-language",
-            xmlName: "content-language",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          blobType: {
-            serializedName: "x-ms-blob-type",
-            xmlName: "x-ms-blob-type",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          copyCompletedOn: {
-            serializedName: "x-ms-copy-completion-time",
-            xmlName: "x-ms-copy-completion-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "x-ms-copy-status-description",
-            xmlName: "x-ms-copy-status-description",
-            type: {
-              name: "String"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "x-ms-copy-progress",
-            xmlName: "x-ms-copy-progress",
-            type: {
-              name: "String"
-            }
-          },
-          copySource: {
-            serializedName: "x-ms-copy-source",
-            xmlName: "x-ms-copy-source",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          isCurrentVersion: {
-            serializedName: "x-ms-is-current-version",
-            xmlName: "x-ms-is-current-version",
-            type: {
-              name: "Boolean"
-            }
-          },
-          acceptRanges: {
-            serializedName: "accept-ranges",
-            xmlName: "accept-ranges",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-server-encrypted",
-            xmlName: "x-ms-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentMD5: {
-            serializedName: "x-ms-blob-content-md5",
-            xmlName: "x-ms-blob-content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          tagCount: {
-            serializedName: "x-ms-tag-count",
-            xmlName: "x-ms-tag-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isSealed: {
-            serializedName: "x-ms-blob-sealed",
-            xmlName: "x-ms-blob-sealed",
-            type: {
-              name: "Boolean"
-            }
-          },
-          lastAccessed: {
-            serializedName: "x-ms-last-access-time",
-            xmlName: "x-ms-last-access-time",
-            type: {
-              name: "DateTimeRfc1123"
+    exports2.AvroParser = AvroParser;
+    var AvroComplex;
+    (function(AvroComplex2) {
+      AvroComplex2["RECORD"] = "record";
+      AvroComplex2["ENUM"] = "enum";
+      AvroComplex2["ARRAY"] = "array";
+      AvroComplex2["MAP"] = "map";
+      AvroComplex2["UNION"] = "union";
+      AvroComplex2["FIXED"] = "fixed";
+    })(AvroComplex || (AvroComplex = {}));
+    var AvroPrimitive;
+    (function(AvroPrimitive2) {
+      AvroPrimitive2["NULL"] = "null";
+      AvroPrimitive2["BOOLEAN"] = "boolean";
+      AvroPrimitive2["INT"] = "int";
+      AvroPrimitive2["LONG"] = "long";
+      AvroPrimitive2["FLOAT"] = "float";
+      AvroPrimitive2["DOUBLE"] = "double";
+      AvroPrimitive2["BYTES"] = "bytes";
+      AvroPrimitive2["STRING"] = "string";
+    })(AvroPrimitive || (AvroPrimitive = {}));
+    var AvroType = class _AvroType {
+      /**
+       * Determines the AvroType from the Avro Schema.
+       */
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      static fromSchema(schema2) {
+        if (typeof schema2 === "string") {
+          return _AvroType.fromStringSchema(schema2);
+        } else if (Array.isArray(schema2)) {
+          return _AvroType.fromArraySchema(schema2);
+        } else {
+          return _AvroType.fromObjectSchema(schema2);
+        }
+      }
+      static fromStringSchema(schema2) {
+        switch (schema2) {
+          case AvroPrimitive.NULL:
+          case AvroPrimitive.BOOLEAN:
+          case AvroPrimitive.INT:
+          case AvroPrimitive.LONG:
+          case AvroPrimitive.FLOAT:
+          case AvroPrimitive.DOUBLE:
+          case AvroPrimitive.BYTES:
+          case AvroPrimitive.STRING:
+            return new AvroPrimitiveType(schema2);
+          default:
+            throw new Error(`Unexpected Avro type ${schema2}`);
+        }
+      }
+      static fromArraySchema(schema2) {
+        return new AvroUnionType(schema2.map(_AvroType.fromSchema));
+      }
+      static fromObjectSchema(schema2) {
+        const type2 = schema2.type;
+        try {
+          return _AvroType.fromStringSchema(type2);
+        } catch {
+        }
+        switch (type2) {
+          case AvroComplex.RECORD:
+            if (schema2.aliases) {
+              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
             }
-          },
-          immutabilityPolicyExpiresOn: {
-            serializedName: "x-ms-immutability-policy-until-date",
-            xmlName: "x-ms-immutability-policy-until-date",
-            type: {
-              name: "DateTimeRfc1123"
+            if (!schema2.name) {
+              throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`);
             }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "x-ms-immutability-policy-mode",
-            xmlName: "x-ms-immutability-policy-mode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            const fields = {};
+            if (!schema2.fields) {
+              throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`);
             }
-          },
-          legalHold: {
-            serializedName: "x-ms-legal-hold",
-            xmlName: "x-ms-legal-hold",
-            type: {
-              name: "Boolean"
+            for (const field of schema2.fields) {
+              fields[field.name] = _AvroType.fromSchema(field.type);
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            return new AvroRecordType(fields, schema2.name);
+          case AvroComplex.ENUM:
+            if (schema2.aliases) {
+              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
             }
-          },
-          contentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
+            if (!schema2.symbols) {
+              throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`);
             }
-          }
+            return new AvroEnumType(schema2.symbols);
+          case AvroComplex.MAP:
+            if (!schema2.values) {
+              throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`);
+            }
+            return new AvroMapType(_AvroType.fromSchema(schema2.values));
+          case AvroComplex.ARRAY:
+          // Unused today
+          case AvroComplex.FIXED:
+          // Unused today
+          default:
+            throw new Error(`Unexpected Avro type ${type2} in ${schema2}`);
         }
       }
     };
-    exports2.BlobDownloadExceptionHeaders = {
-      serializedName: "Blob_downloadExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDownloadExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    exports2.AvroType = AvroType;
+    var AvroPrimitiveType = class extends AvroType {
+      _primitive;
+      constructor(primitive) {
+        super();
+        this._primitive = primitive;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      read(stream, options = {}) {
+        switch (this._primitive) {
+          case AvroPrimitive.NULL:
+            return AvroParser.readNull();
+          case AvroPrimitive.BOOLEAN:
+            return AvroParser.readBoolean(stream, options);
+          case AvroPrimitive.INT:
+            return AvroParser.readInt(stream, options);
+          case AvroPrimitive.LONG:
+            return AvroParser.readLong(stream, options);
+          case AvroPrimitive.FLOAT:
+            return AvroParser.readFloat(stream, options);
+          case AvroPrimitive.DOUBLE:
+            return AvroParser.readDouble(stream, options);
+          case AvroPrimitive.BYTES:
+            return AvroParser.readBytes(stream, options);
+          case AvroPrimitive.STRING:
+            return AvroParser.readString(stream, options);
+          default:
+            throw new Error("Unknown Avro Primitive");
+        }
+      }
+    };
+    var AvroEnumType = class extends AvroType {
+      _symbols;
+      constructor(symbols) {
+        super();
+        this._symbols = symbols;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      async read(stream, options = {}) {
+        const value = await AvroParser.readInt(stream, options);
+        return this._symbols[value];
+      }
+    };
+    var AvroUnionType = class extends AvroType {
+      _types;
+      constructor(types) {
+        super();
+        this._types = types;
+      }
+      async read(stream, options = {}) {
+        const typeIndex = await AvroParser.readInt(stream, options);
+        return this._types[typeIndex].read(stream, options);
+      }
+    };
+    var AvroMapType = class extends AvroType {
+      _itemType;
+      constructor(itemType) {
+        super();
+        this._itemType = itemType;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      read(stream, options = {}) {
+        const readItemMethod = (s, opts) => {
+          return this._itemType.read(s, opts);
+        };
+        return AvroParser.readMap(stream, readItemMethod, options);
+      }
+    };
+    var AvroRecordType = class extends AvroType {
+      _name;
+      _fields;
+      constructor(fields, name) {
+        super();
+        this._fields = fields;
+        this._name = name;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      async read(stream, options = {}) {
+        const record = {};
+        record["$schema"] = this._name;
+        for (const key in this._fields) {
+          if (Object.prototype.hasOwnProperty.call(this._fields, key)) {
+            record[key] = await this._fields[key].read(stream, options);
           }
         }
+        return record;
       }
     };
-    exports2.BlobGetPropertiesHeaders = {
-      serializedName: "Blob_getPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetPropertiesHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          createdOn: {
-            serializedName: "x-ms-creation-time",
-            xmlName: "x-ms-creation-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          objectReplicationPolicyId: {
-            serializedName: "x-ms-or-policy-id",
-            xmlName: "x-ms-or-policy-id",
-            type: {
-              name: "String"
-            }
-          },
-          objectReplicationRules: {
-            serializedName: "x-ms-or",
-            headerCollectionPrefix: "x-ms-or-",
-            xmlName: "x-ms-or",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          blobType: {
-            serializedName: "x-ms-blob-type",
-            xmlName: "x-ms-blob-type",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          copyCompletedOn: {
-            serializedName: "x-ms-copy-completion-time",
-            xmlName: "x-ms-copy-completion-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "x-ms-copy-status-description",
-            xmlName: "x-ms-copy-status-description",
-            type: {
-              name: "String"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "x-ms-copy-progress",
-            xmlName: "x-ms-copy-progress",
-            type: {
-              name: "String"
-            }
-          },
-          copySource: {
-            serializedName: "x-ms-copy-source",
-            xmlName: "x-ms-copy-source",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          isIncrementalCopy: {
-            serializedName: "x-ms-incremental-copy",
-            xmlName: "x-ms-incremental-copy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          destinationSnapshot: {
-            serializedName: "x-ms-copy-destination-snapshot",
-            xmlName: "x-ms-copy-destination-snapshot",
-            type: {
-              name: "String"
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          contentLength: {
-            serializedName: "content-length",
-            xmlName: "content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentEncoding: {
-            serializedName: "content-encoding",
-            xmlName: "content-encoding",
-            type: {
-              name: "String"
-            }
-          },
-          contentDisposition: {
-            serializedName: "content-disposition",
-            xmlName: "content-disposition",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "content-language",
-            xmlName: "content-language",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "cache-control",
-            xmlName: "cache-control",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          acceptRanges: {
-            serializedName: "accept-ranges",
-            xmlName: "accept-ranges",
-            type: {
-              name: "String"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-server-encrypted",
-            xmlName: "x-ms-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          accessTier: {
-            serializedName: "x-ms-access-tier",
-            xmlName: "x-ms-access-tier",
-            type: {
-              name: "String"
-            }
-          },
-          accessTierInferred: {
-            serializedName: "x-ms-access-tier-inferred",
-            xmlName: "x-ms-access-tier-inferred",
-            type: {
-              name: "Boolean"
-            }
-          },
-          archiveStatus: {
-            serializedName: "x-ms-archive-status",
-            xmlName: "x-ms-archive-status",
-            type: {
-              name: "String"
-            }
-          },
-          accessTierChangedOn: {
-            serializedName: "x-ms-access-tier-change-time",
-            xmlName: "x-ms-access-tier-change-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          isCurrentVersion: {
-            serializedName: "x-ms-is-current-version",
-            xmlName: "x-ms-is-current-version",
-            type: {
-              name: "Boolean"
-            }
-          },
-          tagCount: {
-            serializedName: "x-ms-tag-count",
-            xmlName: "x-ms-tag-count",
-            type: {
-              name: "Number"
-            }
-          },
-          expiresOn: {
-            serializedName: "x-ms-expiry-time",
-            xmlName: "x-ms-expiry-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isSealed: {
-            serializedName: "x-ms-blob-sealed",
-            xmlName: "x-ms-blob-sealed",
-            type: {
-              name: "Boolean"
-            }
-          },
-          rehydratePriority: {
-            serializedName: "x-ms-rehydrate-priority",
-            xmlName: "x-ms-rehydrate-priority",
-            type: {
-              name: "Enum",
-              allowedValues: ["High", "Standard"]
-            }
-          },
-          lastAccessed: {
-            serializedName: "x-ms-last-access-time",
-            xmlName: "x-ms-last-access-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiresOn: {
-            serializedName: "x-ms-immutability-policy-until-date",
-            xmlName: "x-ms-immutability-policy-until-date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "x-ms-immutability-policy-mode",
-            xmlName: "x-ms-immutability-policy-mode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js
+var require_utils_common3 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.arraysEqual = arraysEqual;
+    function arraysEqual(a, b) {
+      if (a === b)
+        return true;
+      if (a == null || b == null)
+        return false;
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; ++i) {
+        if (a[i] !== b[i])
+          return false;
+      }
+      return true;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js
+var require_AvroReader = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReader = void 0;
+    var AvroConstants_js_1 = require_AvroConstants();
+    var AvroParser_js_1 = require_AvroParser();
+    var utils_common_js_1 = require_utils_common3();
+    var AvroReader = class {
+      _dataStream;
+      _headerStream;
+      _syncMarker;
+      _metadata;
+      _itemType;
+      _itemsRemainingInBlock;
+      // Remembers where we started if partial data stream was provided.
+      _initialBlockOffset;
+      /// The byte offset within the Avro file (both header and data)
+      /// of the start of the current block.
+      _blockOffset;
+      get blockOffset() {
+        return this._blockOffset;
+      }
+      _objectIndex;
+      get objectIndex() {
+        return this._objectIndex;
+      }
+      _initialized;
+      constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) {
+        this._dataStream = dataStream;
+        this._headerStream = headerStream || dataStream;
+        this._initialized = false;
+        this._blockOffset = currentBlockOffset || 0;
+        this._objectIndex = indexWithinCurrentBlock || 0;
+        this._initialBlockOffset = currentBlockOffset || 0;
+      }
+      async initialize(options = {}) {
+        const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, {
+          abortSignal: options.abortSignal
+        });
+        if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) {
+          throw new Error("Stream is not an Avro file.");
+        }
+        this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, {
+          abortSignal: options.abortSignal
+        });
+        const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY];
+        if (!(codec === void 0 || codec === null || codec === "null")) {
+          throw new Error("Codecs are not supported");
+        }
+        this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
+          abortSignal: options.abortSignal
+        });
+        const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]);
+        this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2);
+        if (this._blockOffset === 0) {
+          this._blockOffset = this._initialBlockOffset + this._dataStream.position;
+        }
+        this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
+          abortSignal: options.abortSignal
+        });
+        await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
+        this._initialized = true;
+        if (this._objectIndex && this._objectIndex > 0) {
+          for (let i = 0; i < this._objectIndex; i++) {
+            await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal });
+            this._itemsRemainingInBlock--;
+          }
+        }
+      }
+      hasNext() {
+        return !this._initialized || this._itemsRemainingInBlock > 0;
+      }
+      async *parseObjects(options = {}) {
+        if (!this._initialized) {
+          await this.initialize(options);
+        }
+        while (this.hasNext()) {
+          const result = await this._itemType.read(this._dataStream, {
+            abortSignal: options.abortSignal
+          });
+          this._itemsRemainingInBlock--;
+          this._objectIndex++;
+          if (this._itemsRemainingInBlock === 0) {
+            const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
+              abortSignal: options.abortSignal
+            });
+            this._blockOffset = this._initialBlockOffset + this._dataStream.position;
+            this._objectIndex = 0;
+            if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) {
+              throw new Error("Stream is not a valid Avro file.");
             }
-          },
-          legalHold: {
-            serializedName: "x-ms-legal-hold",
-            xmlName: "x-ms-legal-hold",
-            type: {
-              name: "Boolean"
+            try {
+              this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
+                abortSignal: options.abortSignal
+              });
+            } catch {
+              this._itemsRemainingInBlock = 0;
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            if (this._itemsRemainingInBlock > 0) {
+              await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
             }
           }
+          yield result;
+        }
+      }
+    };
+    exports2.AvroReader = AvroReader;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js
+var require_AvroReadable = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadable = void 0;
+    var AvroReadable = class {
+    };
+    exports2.AvroReadable = AvroReadable;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js
+var require_AvroReadableFromStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadableFromStream = void 0;
+    var AvroReadable_js_1 = require_AvroReadable();
+    var abort_controller_1 = require_commonjs11();
+    var buffer_1 = require("buffer");
+    var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted.");
+    var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable {
+      _position;
+      _readable;
+      toUint8Array(data) {
+        if (typeof data === "string") {
+          return buffer_1.Buffer.from(data);
+        }
+        return data;
+      }
+      constructor(readable) {
+        super();
+        this._readable = readable;
+        this._position = 0;
+      }
+      get position() {
+        return this._position;
+      }
+      async read(size, options = {}) {
+        if (options.abortSignal?.aborted) {
+          throw ABORT_ERROR;
+        }
+        if (size < 0) {
+          throw new Error(`size parameter should be positive: ${size}`);
+        }
+        if (size === 0) {
+          return new Uint8Array();
+        }
+        if (!this._readable.readable) {
+          throw new Error("Stream no longer readable.");
+        }
+        const chunk = this._readable.read(size);
+        if (chunk) {
+          this._position += chunk.length;
+          return this.toUint8Array(chunk);
+        } else {
+          return new Promise((resolve3, reject) => {
+            const cleanUp = () => {
+              this._readable.removeListener("readable", readableCallback);
+              this._readable.removeListener("error", rejectCallback);
+              this._readable.removeListener("end", rejectCallback);
+              this._readable.removeListener("close", rejectCallback);
+              if (options.abortSignal) {
+                options.abortSignal.removeEventListener("abort", abortHandler);
+              }
+            };
+            const readableCallback = () => {
+              const callbackChunk = this._readable.read(size);
+              if (callbackChunk) {
+                this._position += callbackChunk.length;
+                cleanUp();
+                resolve3(this.toUint8Array(callbackChunk));
+              }
+            };
+            const rejectCallback = () => {
+              cleanUp();
+              reject();
+            };
+            const abortHandler = () => {
+              cleanUp();
+              reject(ABORT_ERROR);
+            };
+            this._readable.on("readable", readableCallback);
+            this._readable.once("error", rejectCallback);
+            this._readable.once("end", rejectCallback);
+            this._readable.once("close", rejectCallback);
+            if (options.abortSignal) {
+              options.abortSignal.addEventListener("abort", abortHandler);
+            }
+          });
+        }
+      }
+    };
+    exports2.AvroReadableFromStream = AvroReadableFromStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js
+var require_internal_avro = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0;
+    var AvroReader_js_1 = require_AvroReader();
+    Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() {
+      return AvroReader_js_1.AvroReader;
+    } });
+    var AvroReadable_js_1 = require_AvroReadable();
+    Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() {
+      return AvroReadable_js_1.AvroReadable;
+    } });
+    var AvroReadableFromStream_js_1 = require_AvroReadableFromStream();
+    Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() {
+      return AvroReadableFromStream_js_1.AvroReadableFromStream;
+    } });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js
+var require_BlobQuickQueryStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobQuickQueryStream = void 0;
+    var node_stream_1 = require("node:stream");
+    var index_js_1 = require_internal_avro();
+    var BlobQuickQueryStream = class extends node_stream_1.Readable {
+      source;
+      avroReader;
+      avroIter;
+      avroPaused = true;
+      onProgress;
+      onError;
+      /**
+       * Creates an instance of BlobQuickQueryStream.
+       *
+       * @param source - The current ReadableStream returned from getter
+       * @param options -
+       */
+      constructor(source, options = {}) {
+        super();
+        this.source = source;
+        this.onProgress = options.onProgress;
+        this.onError = options.onError;
+        this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source));
+        this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal });
+      }
+      _read() {
+        if (this.avroPaused) {
+          this.readInternal().catch((err) => {
+            this.emit("error", err);
+          });
         }
       }
-    };
-    exports2.BlobGetPropertiesExceptionHeaders = {
-      serializedName: "Blob_getPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      async readInternal() {
+        this.avroPaused = false;
+        let avroNext;
+        do {
+          avroNext = await this.avroIter.next();
+          if (avroNext.done) {
+            break;
+          }
+          const obj = avroNext.value;
+          const schema2 = obj.$schema;
+          if (typeof schema2 !== "string") {
+            throw Error("Missing schema in avro record.");
+          }
+          switch (schema2) {
+            case "com.microsoft.azure.storage.queryBlobContents.resultData":
+              {
+                const data = obj.data;
+                if (data instanceof Uint8Array === false) {
+                  throw Error("Invalid data in avro result record.");
+                }
+                if (!this.push(Buffer.from(data))) {
+                  this.avroPaused = true;
+                }
+              }
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.progress":
+              {
+                const bytesScanned = obj.bytesScanned;
+                if (typeof bytesScanned !== "number") {
+                  throw Error("Invalid bytesScanned in avro progress record.");
+                }
+                if (this.onProgress) {
+                  this.onProgress({ loadedBytes: bytesScanned });
+                }
+              }
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.end":
+              if (this.onProgress) {
+                const totalBytes = obj.totalBytes;
+                if (typeof totalBytes !== "number") {
+                  throw Error("Invalid totalBytes in avro end record.");
+                }
+                this.onProgress({ loadedBytes: totalBytes });
+              }
+              this.push(null);
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.error":
+              if (this.onError) {
+                const fatal = obj.fatal;
+                if (typeof fatal !== "boolean") {
+                  throw Error("Invalid fatal in avro error record.");
+                }
+                const name = obj.name;
+                if (typeof name !== "string") {
+                  throw Error("Invalid name in avro error record.");
+                }
+                const description = obj.description;
+                if (typeof description !== "string") {
+                  throw Error("Invalid description in avro error record.");
+                }
+                const position = obj.position;
+                if (typeof position !== "number") {
+                  throw Error("Invalid position in avro error record.");
+                }
+                this.onError({
+                  position,
+                  name,
+                  isFatal: fatal,
+                  description
+                });
+              }
+              break;
+            default:
+              throw Error(`Unknown schema ${schema2} in avro progress record.`);
+          }
+        } while (!avroNext.done && !this.avroPaused);
+      }
+    };
+    exports2.BlobQuickQueryStream = BlobQuickQueryStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js
+var require_BlobQueryResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobQueryResponse = void 0;
+    var core_util_1 = require_commonjs4();
+    var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream();
+    var BlobQueryResponse = class {
+      /**
+       * Indicates that the service supports
+       * requests for partial file content.
+       *
+       * @readonly
+       */
+      get acceptRanges() {
+        return this.originalResponse.acceptRanges;
+      }
+      /**
+       * Returns if it was previously specified
+       * for the file.
+       *
+       * @readonly
+       */
+      get cacheControl() {
+        return this.originalResponse.cacheControl;
+      }
+      /**
+       * Returns the value that was specified
+       * for the 'x-ms-content-disposition' header and specifies how to process the
+       * response.
+       *
+       * @readonly
+       */
+      get contentDisposition() {
+        return this.originalResponse.contentDisposition;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Encoding request header.
+       *
+       * @readonly
+       */
+      get contentEncoding() {
+        return this.originalResponse.contentEncoding;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Language request header.
+       *
+       * @readonly
+       */
+      get contentLanguage() {
+        return this.originalResponse.contentLanguage;
+      }
+      /**
+       * The current sequence number for a
+       * page blob. This header is not returned for block blobs or append blobs.
+       *
+       * @readonly
+       */
+      get blobSequenceNumber() {
+        return this.originalResponse.blobSequenceNumber;
+      }
+      /**
+       * The blob's type. Possible values include:
+       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
+       *
+       * @readonly
+       */
+      get blobType() {
+        return this.originalResponse.blobType;
+      }
+      /**
+       * The number of bytes present in the
+       * response body.
+       *
+       * @readonly
+       */
+      get contentLength() {
+        return this.originalResponse.contentLength;
+      }
+      /**
+       * If the file has an MD5 hash and the
+       * request is to read the full file, this response header is returned so that
+       * the client can check for message content integrity. If the request is to
+       * read a specified range and the 'x-ms-range-get-content-md5' is set to
+       * true, then the request returns an MD5 hash for the range, as long as the
+       * range size is less than or equal to 4 MB. If neither of these sets of
+       * conditions is true, then no value is returned for the 'Content-MD5'
+       * header.
+       *
+       * @readonly
+       */
+      get contentMD5() {
+        return this.originalResponse.contentMD5;
+      }
+      /**
+       * Indicates the range of bytes returned if
+       * the client requested a subset of the file by setting the Range request
+       * header.
+       *
+       * @readonly
+       */
+      get contentRange() {
+        return this.originalResponse.contentRange;
+      }
+      /**
+       * The content type specified for the file.
+       * The default content type is 'application/octet-stream'
+       *
+       * @readonly
+       */
+      get contentType() {
+        return this.originalResponse.contentType;
+      }
+      /**
+       * Conclusion time of the last attempted
+       * Copy File operation where this file was the destination file. This value
+       * can specify the time of a completed, aborted, or failed copy attempt.
+       *
+       * @readonly
+       */
+      get copyCompletedOn() {
+        return void 0;
+      }
+      /**
+       * String identifier for the last attempted Copy
+       * File operation where this file was the destination file.
+       *
+       * @readonly
+       */
+      get copyId() {
+        return this.originalResponse.copyId;
+      }
+      /**
+       * Contains the number of bytes copied and
+       * the total bytes in the source in the last attempted Copy File operation
+       * where this file was the destination file. Can show between 0 and
+       * Content-Length bytes copied.
+       *
+       * @readonly
+       */
+      get copyProgress() {
+        return this.originalResponse.copyProgress;
+      }
+      /**
+       * URL up to 2KB in length that specifies the
+       * source file used in the last attempted Copy File operation where this file
+       * was the destination file.
+       *
+       * @readonly
+       */
+      get copySource() {
+        return this.originalResponse.copySource;
       }
-    };
-    exports2.BlobDeleteHeaders = {
-      serializedName: "Blob_deleteHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * State of the copy operation
+       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
+       * 'success', 'aborted', 'failed'
+       *
+       * @readonly
+       */
+      get copyStatus() {
+        return this.originalResponse.copyStatus;
       }
-    };
-    exports2.BlobDeleteExceptionHeaders = {
-      serializedName: "Blob_deleteExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Only appears when
+       * x-ms-copy-status is failed or pending. Describes cause of fatal or
+       * non-fatal copy operation failure.
+       *
+       * @readonly
+       */
+      get copyStatusDescription() {
+        return this.originalResponse.copyStatusDescription;
       }
-    };
-    exports2.BlobUndeleteHeaders = {
-      serializedName: "Blob_undeleteHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobUndeleteHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * When a blob is leased,
+       * specifies whether the lease is of infinite or fixed duration. Possible
+       * values include: 'infinite', 'fixed'.
+       *
+       * @readonly
+       */
+      get leaseDuration() {
+        return this.originalResponse.leaseDuration;
       }
-    };
-    exports2.BlobUndeleteExceptionHeaders = {
-      serializedName: "Blob_undeleteExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobUndeleteExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Lease state of the blob. Possible
+       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
+       *
+       * @readonly
+       */
+      get leaseState() {
+        return this.originalResponse.leaseState;
       }
-    };
-    exports2.BlobSetExpiryHeaders = {
-      serializedName: "Blob_setExpiryHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetExpiryHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * The current lease status of the
+       * blob. Possible values include: 'locked', 'unlocked'.
+       *
+       * @readonly
+       */
+      get leaseStatus() {
+        return this.originalResponse.leaseStatus;
       }
-    };
-    exports2.BlobSetExpiryExceptionHeaders = {
-      serializedName: "Blob_setExpiryExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetExpiryExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * A UTC date/time value generated by the service that
+       * indicates the time at which the response was initiated.
+       *
+       * @readonly
+       */
+      get date() {
+        return this.originalResponse.date;
       }
-    };
-    exports2.BlobSetHttpHeadersHeaders = {
-      serializedName: "Blob_setHttpHeadersHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetHttpHeadersHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The number of committed blocks
+       * present in the blob. This header is returned only for append blobs.
+       *
+       * @readonly
+       */
+      get blobCommittedBlockCount() {
+        return this.originalResponse.blobCommittedBlockCount;
       }
-    };
-    exports2.BlobSetHttpHeadersExceptionHeaders = {
-      serializedName: "Blob_setHttpHeadersExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetHttpHeadersExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The ETag contains a value that you can use to
+       * perform operations conditionally, in quotes.
+       *
+       * @readonly
+       */
+      get etag() {
+        return this.originalResponse.etag;
       }
-    };
-    exports2.BlobSetImmutabilityPolicyHeaders = {
-      serializedName: "Blob_setImmutabilityPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetImmutabilityPolicyHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiry: {
-            serializedName: "x-ms-immutability-policy-until-date",
-            xmlName: "x-ms-immutability-policy-until-date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "x-ms-immutability-policy-mode",
-            xmlName: "x-ms-immutability-policy-mode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
-            }
-          }
-        }
+      /**
+       * The error code.
+       *
+       * @readonly
+       */
+      get errorCode() {
+        return this.originalResponse.errorCode;
       }
-    };
-    exports2.BlobSetImmutabilityPolicyExceptionHeaders = {
-      serializedName: "Blob_setImmutabilityPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetImmutabilityPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The value of this header is set to
+       * true if the file data and application metadata are completely encrypted
+       * using the specified algorithm. Otherwise, the value is set to false (when
+       * the file is unencrypted, or if only parts of the file/application metadata
+       * are encrypted).
+       *
+       * @readonly
+       */
+      get isServerEncrypted() {
+        return this.originalResponse.isServerEncrypted;
       }
-    };
-    exports2.BlobDeleteImmutabilityPolicyHeaders = {
-      serializedName: "Blob_deleteImmutabilityPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteImmutabilityPolicyHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * If the blob has a MD5 hash, and if
+       * request contains range header (Range or x-ms-range), this response header
+       * is returned with the value of the whole blob's MD5 value. This value may
+       * or may not be equal to the value returned in Content-MD5 header, with the
+       * latter calculated from the requested range.
+       *
+       * @readonly
+       */
+      get blobContentMD5() {
+        return this.originalResponse.blobContentMD5;
+      }
+      /**
+       * Returns the date and time the file was last
+       * modified. Any operation that modifies the file or its properties updates
+       * the last modified time.
+       *
+       * @readonly
+       */
+      get lastModified() {
+        return this.originalResponse.lastModified;
+      }
+      /**
+       * A name-value pair
+       * to associate with a file storage object.
+       *
+       * @readonly
+       */
+      get metadata() {
+        return this.originalResponse.metadata;
+      }
+      /**
+       * This header uniquely identifies the request
+       * that was made and can be used for troubleshooting the request.
+       *
+       * @readonly
+       */
+      get requestId() {
+        return this.originalResponse.requestId;
       }
-    };
-    exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = {
-      serializedName: "Blob_deleteImmutabilityPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteImmutabilityPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * If a client request id header is sent in the request, this header will be present in the
+       * response with the same value.
+       *
+       * @readonly
+       */
+      get clientRequestId() {
+        return this.originalResponse.clientRequestId;
       }
-    };
-    exports2.BlobSetLegalHoldHeaders = {
-      serializedName: "Blob_setLegalHoldHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetLegalHoldHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          legalHold: {
-            serializedName: "x-ms-legal-hold",
-            xmlName: "x-ms-legal-hold",
-            type: {
-              name: "Boolean"
-            }
-          }
-        }
+      /**
+       * Indicates the version of the File service used
+       * to execute the request.
+       *
+       * @readonly
+       */
+      get version() {
+        return this.originalResponse.version;
       }
-    };
-    exports2.BlobSetLegalHoldExceptionHeaders = {
-      serializedName: "Blob_setLegalHoldExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetLegalHoldExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
+       * when the blob was encrypted with a customer-provided key.
+       *
+       * @readonly
+       */
+      get encryptionKeySha256() {
+        return this.originalResponse.encryptionKeySha256;
       }
-    };
-    exports2.BlobSetMetadataHeaders = {
-      serializedName: "Blob_setMetadataHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetMetadataHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
+       * true, then the request returns a crc64 for the range, as long as the range size is less than
+       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
+       * specified in the same request, it will fail with 400(Bad Request)
+       */
+      get contentCrc64() {
+        return this.originalResponse.contentCrc64;
       }
-    };
-    exports2.BlobSetMetadataExceptionHeaders = {
-      serializedName: "Blob_setMetadataExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetMetadataExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The response body as a browser Blob.
+       * Always undefined in node.js.
+       *
+       * @readonly
+       */
+      get blobBody() {
+        return void 0;
       }
-    };
-    exports2.BlobAcquireLeaseHeaders = {
-      serializedName: "Blob_acquireLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAcquireLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * The response body as a node.js Readable stream.
+       * Always undefined in the browser.
+       *
+       * It will parse avor data returned by blob query.
+       *
+       * @readonly
+       */
+      get readableStreamBody() {
+        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
       }
-    };
-    exports2.BlobAcquireLeaseExceptionHeaders = {
-      serializedName: "Blob_acquireLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAcquireLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The HTTP response.
+       */
+      get _response() {
+        return this.originalResponse._response;
       }
-    };
-    exports2.BlobReleaseLeaseHeaders = {
-      serializedName: "Blob_releaseLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobReleaseLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      originalResponse;
+      blobDownloadStream;
+      /**
+       * Creates an instance of BlobQueryResponse.
+       *
+       * @param originalResponse -
+       * @param options -
+       */
+      constructor(originalResponse, options = {}) {
+        this.originalResponse = originalResponse;
+        this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options);
       }
     };
-    exports2.BlobReleaseLeaseExceptionHeaders = {
-      serializedName: "Blob_releaseLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobReleaseLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.BlobQueryResponse = BlobQueryResponse;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/models.js
+var require_models2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0;
+    exports2.toAccessTier = toAccessTier;
+    exports2.ensureCpkIfSpecified = ensureCpkIfSpecified;
+    exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience;
+    var constants_js_1 = require_constants15();
+    var BlockBlobTier;
+    (function(BlockBlobTier2) {
+      BlockBlobTier2["Hot"] = "Hot";
+      BlockBlobTier2["Cool"] = "Cool";
+      BlockBlobTier2["Cold"] = "Cold";
+      BlockBlobTier2["Archive"] = "Archive";
+    })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {}));
+    var PremiumPageBlobTier;
+    (function(PremiumPageBlobTier2) {
+      PremiumPageBlobTier2["P4"] = "P4";
+      PremiumPageBlobTier2["P6"] = "P6";
+      PremiumPageBlobTier2["P10"] = "P10";
+      PremiumPageBlobTier2["P15"] = "P15";
+      PremiumPageBlobTier2["P20"] = "P20";
+      PremiumPageBlobTier2["P30"] = "P30";
+      PremiumPageBlobTier2["P40"] = "P40";
+      PremiumPageBlobTier2["P50"] = "P50";
+      PremiumPageBlobTier2["P60"] = "P60";
+      PremiumPageBlobTier2["P70"] = "P70";
+      PremiumPageBlobTier2["P80"] = "P80";
+    })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {}));
+    function toAccessTier(tier) {
+      if (tier === void 0) {
+        return void 0;
       }
-    };
-    exports2.BlobRenewLeaseHeaders = {
-      serializedName: "Blob_renewLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobRenewLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+      return tier;
+    }
+    function ensureCpkIfSpecified(cpk, isHttps) {
+      if (cpk && !isHttps) {
+        throw new RangeError("Customer-provided encryption key must be used over HTTPS.");
+      }
+      if (cpk && !cpk.encryptionAlgorithm) {
+        cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25;
+      }
+    }
+    var StorageBlobAudience;
+    (function(StorageBlobAudience2) {
+      StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default";
+      StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default";
+    })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {}));
+    function getBlobServiceAccountAudience(storageAccountName) {
+      return `https://${storageAccountName}.blob.core.windows.net/.default`;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js
+var require_PageBlobRangeResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.rangeResponseFromModel = rangeResponseFromModel;
+    function rangeResponseFromModel(response) {
+      const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({
+        offset: x.start,
+        count: x.end - x.start
+      }));
+      const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({
+        offset: x.start,
+        count: x.end - x.start
+      }));
+      return {
+        ...response,
+        pageRange,
+        clearRange,
+        _response: {
+          ...response._response,
+          parsedBody: {
+            pageRange,
+            clearRange
           }
         }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/logger.js
+var require_logger2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs2();
+    exports2.logger = (0, logger_1.createClientLogger)("core-lro");
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js
+var require_constants17 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0;
+    exports2.POLL_INTERVAL_IN_MS = 2e3;
+    exports2.terminalStates = ["succeeded", "canceled", "failed"];
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js
+var require_operation = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0;
+    var logger_js_1 = require_logger2();
+    var constants_js_1 = require_constants17();
+    function deserializeState(serializedState) {
+      try {
+        return JSON.parse(serializedState).state;
+      } catch (e) {
+        throw new Error(`Unable to deserialize input state: ${serializedState}`);
       }
-    };
-    exports2.BlobRenewLeaseExceptionHeaders = {
-      serializedName: "Blob_renewLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobRenewLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    }
+    exports2.deserializeState = deserializeState;
+    function setStateError(inputs) {
+      const { state, stateProxy, isOperationError } = inputs;
+      return (error3) => {
+        if (isOperationError(error3)) {
+          stateProxy.setError(state, error3);
+          stateProxy.setFailed(state);
         }
+        throw error3;
+      };
+    }
+    function appendReadableErrorMessage(currentMessage, innerMessage) {
+      let message = currentMessage;
+      if (message.slice(-1) !== ".") {
+        message = message + ".";
       }
-    };
-    exports2.BlobChangeLeaseHeaders = {
-      serializedName: "Blob_changeLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobChangeLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+      return message + " " + innerMessage;
+    }
+    function simplifyError(err) {
+      let message = err.message;
+      let code = err.code;
+      let curErr = err;
+      while (curErr.innererror) {
+        curErr = curErr.innererror;
+        code = curErr.code;
+        message = appendReadableErrorMessage(message, curErr.message);
+      }
+      return {
+        code,
+        message
+      };
+    }
+    function processOperationStatus(result) {
+      const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result;
+      switch (status) {
+        case "succeeded": {
+          stateProxy.setSucceeded(state);
+          break;
+        }
+        case "failed": {
+          const err = getError === null || getError === void 0 ? void 0 : getError(response);
+          let postfix = "";
+          if (err) {
+            const { code, message } = simplifyError(err);
+            postfix = `. ${code}. ${message}`;
           }
+          const errStr = `The long-running operation has failed${postfix}`;
+          stateProxy.setError(state, new Error(errStr));
+          stateProxy.setFailed(state);
+          logger_js_1.logger.warning(errStr);
+          break;
+        }
+        case "canceled": {
+          stateProxy.setCanceled(state);
+          break;
         }
       }
-    };
-    exports2.BlobChangeLeaseExceptionHeaders = {
-      serializedName: "Blob_changeLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobChangeLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) {
+        stateProxy.setResult(state, buildResult({
+          response,
+          state,
+          processResult
+        }));
+      }
+    }
+    function buildResult(inputs) {
+      const { processResult, response, state } = inputs;
+      return processResult ? processResult(response, state) : response;
+    }
+    async function initOperation(inputs) {
+      const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs;
+      const { operationLocation, resourceLocation, metadata, response } = await init();
+      if (operationLocation)
+        withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
+      const config = {
+        metadata,
+        operationLocation,
+        resourceLocation
+      };
+      logger_js_1.logger.verbose(`LRO: Operation description:`, config);
+      const state = stateProxy.initState(config);
+      const status = getOperationStatus({ response, state, operationLocation });
+      processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult });
+      return state;
+    }
+    exports2.initOperation = initOperation;
+    async function pollOperationHelper(inputs) {
+      const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs;
+      const response = await poll(operationLocation, options).catch(setStateError({
+        state,
+        stateProxy,
+        isOperationError
+      }));
+      const status = getOperationStatus(response, state);
+      logger_js_1.logger.verbose(`LRO: Status:
+	Polling from: ${state.config.operationLocation}
+	Operation status: ${status}
+	Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`);
+      if (status === "succeeded") {
+        const resourceLocation = getResourceLocation(response, state);
+        if (resourceLocation !== void 0) {
+          return {
+            response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })),
+            status
+          };
         }
       }
-    };
-    exports2.BlobBreakLeaseHeaders = {
-      serializedName: "Blob_breakLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobBreakLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseTime: {
-            serializedName: "x-ms-lease-time",
-            xmlName: "x-ms-lease-time",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+      return { response, status };
+    }
+    async function pollOperation(inputs) {
+      const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs;
+      const { operationLocation } = state.config;
+      if (operationLocation !== void 0) {
+        const { response, status } = await pollOperationHelper({
+          poll,
+          getOperationStatus,
+          state,
+          stateProxy,
+          operationLocation,
+          getResourceLocation,
+          isOperationError,
+          options
+        });
+        processOperationStatus({
+          status,
+          response,
+          state,
+          stateProxy,
+          isDone,
+          processResult,
+          getError,
+          setErrorAsResult
+        });
+        if (!constants_js_1.terminalStates.includes(status)) {
+          const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response);
+          if (intervalInMs)
+            setDelay(intervalInMs);
+          const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state);
+          if (location !== void 0) {
+            const isUpdated = operationLocation !== location;
+            state.config.operationLocation = location;
+            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated);
+          } else
+            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
         }
+        updateState === null || updateState === void 0 ? void 0 : updateState(state, response);
       }
-    };
-    exports2.BlobBreakLeaseExceptionHeaders = {
-      serializedName: "Blob_breakLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobBreakLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    }
+    exports2.pollOperation = pollOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/http/operation.js
+var require_operation2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0;
+    var operation_js_1 = require_operation();
+    var logger_js_1 = require_logger2();
+    function getOperationLocationPollingUrl(inputs) {
+      const { azureAsyncOperation, operationLocation } = inputs;
+      return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation;
+    }
+    function getLocationHeader(rawResponse) {
+      return rawResponse.headers["location"];
+    }
+    function getOperationLocationHeader(rawResponse) {
+      return rawResponse.headers["operation-location"];
+    }
+    function getAzureAsyncOperationHeader(rawResponse) {
+      return rawResponse.headers["azure-asyncoperation"];
+    }
+    function findResourceLocation(inputs) {
+      var _a;
+      const { location, requestMethod, requestPath, resourceLocationConfig } = inputs;
+      switch (requestMethod) {
+        case "PUT": {
+          return requestPath;
+        }
+        case "DELETE": {
+          return void 0;
+        }
+        case "PATCH": {
+          return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath;
+        }
+        default: {
+          return getDefault();
         }
       }
-    };
-    exports2.BlobCreateSnapshotHeaders = {
-      serializedName: "Blob_createSnapshotHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCreateSnapshotHeaders",
-        modelProperties: {
-          snapshot: {
-            serializedName: "x-ms-snapshot",
-            xmlName: "x-ms-snapshot",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      function getDefault() {
+        switch (resourceLocationConfig) {
+          case "azure-async-operation": {
+            return void 0;
+          }
+          case "original-uri": {
+            return requestPath;
+          }
+          case "location":
+          default: {
+            return location;
           }
         }
       }
-    };
-    exports2.BlobCreateSnapshotExceptionHeaders = {
-      serializedName: "Blob_createSnapshotExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCreateSnapshotExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    }
+    function inferLroMode(inputs) {
+      const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs;
+      const operationLocation = getOperationLocationHeader(rawResponse);
+      const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse);
+      const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation });
+      const location = getLocationHeader(rawResponse);
+      const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase();
+      if (pollingUrl !== void 0) {
+        return {
+          mode: "OperationLocation",
+          operationLocation: pollingUrl,
+          resourceLocation: findResourceLocation({
+            requestMethod: normalizedRequestMethod,
+            location,
+            requestPath,
+            resourceLocationConfig
+          })
+        };
+      } else if (location !== void 0) {
+        return {
+          mode: "ResourceLocation",
+          operationLocation: location
+        };
+      } else if (normalizedRequestMethod === "PUT" && requestPath) {
+        return {
+          mode: "Body",
+          operationLocation: requestPath
+        };
+      } else {
+        return void 0;
+      }
+    }
+    exports2.inferLroMode = inferLroMode;
+    function transformStatus(inputs) {
+      const { status, statusCode } = inputs;
+      if (typeof status !== "string" && status !== void 0) {
+        throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);
+      }
+      switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) {
+        case void 0:
+          return toOperationStatus(statusCode);
+        case "succeeded":
+          return "succeeded";
+        case "failed":
+          return "failed";
+        case "running":
+        case "accepted":
+        case "started":
+        case "canceling":
+        case "cancelling":
+          return "running";
+        case "canceled":
+        case "cancelled":
+          return "canceled";
+        default: {
+          logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`);
+          return status;
+        }
+      }
+    }
+    function getStatus(rawResponse) {
+      var _a;
+      const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
+      return transformStatus({ status, statusCode: rawResponse.statusCode });
+    }
+    function getProvisioningState(rawResponse) {
+      var _a, _b;
+      const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
+      const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState;
+      return transformStatus({ status, statusCode: rawResponse.statusCode });
+    }
+    function toOperationStatus(statusCode) {
+      if (statusCode === 202) {
+        return "running";
+      } else if (statusCode < 300) {
+        return "succeeded";
+      } else {
+        return "failed";
       }
-    };
-    exports2.BlobStartCopyFromURLHeaders = {
-      serializedName: "Blob_startCopyFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobStartCopyFromURLHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    }
+    function parseRetryAfter({ rawResponse }) {
+      const retryAfter = rawResponse.headers["retry-after"];
+      if (retryAfter !== void 0) {
+        const retryAfterInSeconds = parseInt(retryAfter);
+        return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3;
+      }
+      return void 0;
+    }
+    exports2.parseRetryAfter = parseRetryAfter;
+    function getErrorFromResponse(response) {
+      const error3 = accessBodyProperty(response, "error");
+      if (!error3) {
+        logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`);
+        return;
+      }
+      if (!error3.code || !error3.message) {
+        logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`);
+        return;
+      }
+      return error3;
+    }
+    exports2.getErrorFromResponse = getErrorFromResponse;
+    function calculatePollingIntervalFromDate(retryAfterDate) {
+      const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime());
+      const retryAfterTime = retryAfterDate.getTime();
+      if (timeNow < retryAfterTime) {
+        return retryAfterTime - timeNow;
+      }
+      return void 0;
+    }
+    function getStatusFromInitialResponse(inputs) {
+      const { response, state, operationLocation } = inputs;
+      function helper() {
+        var _a;
+        const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+        switch (mode) {
+          case void 0:
+            return toOperationStatus(response.rawResponse.statusCode);
+          case "Body":
+            return getOperationStatus(response, state);
+          default:
+            return "running";
         }
       }
-    };
-    exports2.BlobStartCopyFromURLExceptionHeaders = {
-      serializedName: "Blob_startCopyFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobStartCopyFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
-          }
+      const status = helper();
+      return status === "running" && operationLocation === void 0 ? "succeeded" : status;
+    }
+    exports2.getStatusFromInitialResponse = getStatusFromInitialResponse;
+    async function initHttpOperation(inputs) {
+      const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs;
+      return (0, operation_js_1.initOperation)({
+        init: async () => {
+          const response = await lro.sendInitialRequest();
+          const config = inferLroMode({
+            rawResponse: response.rawResponse,
+            requestPath: lro.requestPath,
+            requestMethod: lro.requestMethod,
+            resourceLocationConfig
+          });
+          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
+        },
+        stateProxy,
+        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse,
+        getOperationStatus: getStatusFromInitialResponse,
+        setErrorAsResult
+      });
+    }
+    exports2.initHttpOperation = initHttpOperation;
+    function getOperationLocation({ rawResponse }, state) {
+      var _a;
+      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+      switch (mode) {
+        case "OperationLocation": {
+          return getOperationLocationPollingUrl({
+            operationLocation: getOperationLocationHeader(rawResponse),
+            azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse)
+          });
+        }
+        case "ResourceLocation": {
+          return getLocationHeader(rawResponse);
+        }
+        case "Body":
+        default: {
+          return void 0;
         }
       }
-    };
-    exports2.BlobCopyFromURLHeaders = {
-      serializedName: "Blob_copyFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCopyFromURLHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            defaultValue: "success",
-            isConstant: true,
-            serializedName: "x-ms-copy-status",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    }
+    exports2.getOperationLocation = getOperationLocation;
+    function getOperationStatus({ rawResponse }, state) {
+      var _a;
+      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+      switch (mode) {
+        case "OperationLocation": {
+          return getStatus(rawResponse);
+        }
+        case "ResourceLocation": {
+          return toOperationStatus(rawResponse.statusCode);
+        }
+        case "Body": {
+          return getProvisioningState(rawResponse);
         }
+        default:
+          throw new Error(`Internal error: Unexpected operation mode: ${mode}`);
       }
-    };
-    exports2.BlobCopyFromURLExceptionHeaders = {
-      serializedName: "Blob_copyFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCopyFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    }
+    exports2.getOperationStatus = getOperationStatus;
+    function accessBodyProperty({ flatResponse, rawResponse }, prop) {
+      var _a, _b;
+      return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop];
+    }
+    function getResourceLocation(res, state) {
+      const loc = accessBodyProperty(res, "resourceLocation");
+      if (loc && typeof loc === "string") {
+        state.config.resourceLocation = loc;
+      }
+      return state.config.resourceLocation;
+    }
+    exports2.getResourceLocation = getResourceLocation;
+    function isOperationError(e) {
+      return e.name === "RestError";
+    }
+    exports2.isOperationError = isOperationError;
+    async function pollHttpOperation(inputs) {
+      const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs;
+      return (0, operation_js_1.pollOperation)({
+        state,
+        stateProxy,
+        setDelay,
+        processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse,
+        getError: getErrorFromResponse,
+        updateState,
+        getPollingInterval: parseRetryAfter,
+        getOperationLocation,
+        getOperationStatus,
+        isOperationError,
+        getResourceLocation,
+        options,
+        /**
+         * The expansion here is intentional because `lro` could be an object that
+         * references an inner this, so we need to preserve a reference to it.
+         */
+        poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions),
+        setErrorAsResult
+      });
+    }
+    exports2.pollHttpOperation = pollHttpOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js
+var require_poller = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.buildCreatePoller = void 0;
+    var operation_js_1 = require_operation();
+    var constants_js_1 = require_constants17();
+    var core_util_1 = require_commonjs4();
+    var createStateProxy = () => ({
+      /**
+       * The state at this point is created to be of type OperationState.
+       * It will be updated later to be of type TState when the
+       * customer-provided callback, `updateState`, is called during polling.
+       */
+      initState: (config) => ({ status: "running", config }),
+      setCanceled: (state) => state.status = "canceled",
+      setError: (state, error3) => state.error = error3,
+      setResult: (state, result) => state.result = result,
+      setRunning: (state) => state.status = "running",
+      setSucceeded: (state) => state.status = "succeeded",
+      setFailed: (state) => state.status = "failed",
+      getError: (state) => state.error,
+      getResult: (state) => state.result,
+      isCanceled: (state) => state.status === "canceled",
+      isFailed: (state) => state.status === "failed",
+      isRunning: (state) => state.status === "running",
+      isSucceeded: (state) => state.status === "succeeded"
+    });
+    function buildCreatePoller(inputs) {
+      const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs;
+      return async ({ init, poll }, options) => {
+        const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {};
+        const stateProxy = createStateProxy();
+        const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => {
+          let called = false;
+          return (operationLocation, isUpdated) => {
+            if (isUpdated)
+              withOperationLocationCallback(operationLocation);
+            else if (!called)
+              withOperationLocationCallback(operationLocation);
+            called = true;
+          };
+        })() : void 0;
+        const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({
+          init,
+          stateProxy,
+          processResult,
+          getOperationStatus: getStatusFromInitialResponse,
+          withOperationLocation,
+          setErrorAsResult: !resolveOnUnsuccessful
+        });
+        let resultPromise;
+        const abortController = new AbortController();
+        const handlers = /* @__PURE__ */ new Map();
+        const handleProgressEvents = async () => handlers.forEach((h) => h(state));
+        const cancelErrMsg = "Operation was canceled";
+        let currentPollIntervalInMs = intervalInMs;
+        const poller = {
+          getOperationState: () => state,
+          getResult: () => state.result,
+          isDone: () => ["succeeded", "failed", "canceled"].includes(state.status),
+          isStopped: () => resultPromise === void 0,
+          stopPolling: () => {
+            abortController.abort();
           },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
+          toString: () => JSON.stringify({
+            state
+          }),
+          onProgress: (callback) => {
+            const s = /* @__PURE__ */ Symbol();
+            handlers.set(s, callback);
+            return () => handlers.delete(s);
           },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
+          pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => {
+            const { abortSignal: inputAbortSignal } = pollOptions || {};
+            function abortListener() {
+              abortController.abort();
             }
-          }
-        }
-      }
-    };
-    exports2.BlobAbortCopyFromURLHeaders = {
-      serializedName: "Blob_abortCopyFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAbortCopyFromURLHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
+            const abortSignal = abortController.signal;
+            if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
+              abortController.abort();
+            } else if (!abortSignal.aborted) {
+              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
             }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
+            try {
+              if (!poller.isDone()) {
+                await poller.poll({ abortSignal });
+                while (!poller.isDone()) {
+                  await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal });
+                  await poller.poll({ abortSignal });
+                }
+              }
+            } finally {
+              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
             }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
+            if (resolveOnUnsuccessful) {
+              return poller.getResult();
+            } else {
+              switch (state.status) {
+                case "succeeded":
+                  return poller.getResult();
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+                case "notStarted":
+                case "running":
+                  throw new Error(`Polling completed without succeeding or failing`);
+              }
             }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+          })().finally(() => {
+            resultPromise = void 0;
+          }),
+          async poll(pollOptions) {
+            if (resolveOnUnsuccessful) {
+              if (poller.isDone())
+                return;
+            } else {
+              switch (state.status) {
+                case "succeeded":
+                  return;
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+              }
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            await (0, operation_js_1.pollOperation)({
+              poll,
+              state,
+              stateProxy,
+              getOperationLocation,
+              isOperationError,
+              withOperationLocation,
+              getPollingInterval,
+              getOperationStatus: getStatusFromPollResponse,
+              getResourceLocation,
+              processResult,
+              getError,
+              updateState,
+              options: pollOptions,
+              setDelay: (pollIntervalInMs) => {
+                currentPollIntervalInMs = pollIntervalInMs;
+              },
+              setErrorAsResult: !resolveOnUnsuccessful
+            });
+            await handleProgressEvents();
+            if (!resolveOnUnsuccessful) {
+              switch (state.status) {
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+              }
             }
           }
+        };
+        return poller;
+      };
+    }
+    exports2.buildCreatePoller = buildCreatePoller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/http/poller.js
+var require_poller2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpPoller = void 0;
+    var operation_js_1 = require_operation2();
+    var poller_js_1 = require_poller();
+    async function createHttpPoller(lro, options) {
+      const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {};
+      return (0, poller_js_1.buildCreatePoller)({
+        getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse,
+        getStatusFromPollResponse: operation_js_1.getOperationStatus,
+        isOperationError: operation_js_1.isOperationError,
+        getOperationLocation: operation_js_1.getOperationLocation,
+        getResourceLocation: operation_js_1.getResourceLocation,
+        getPollingInterval: operation_js_1.parseRetryAfter,
+        getError: operation_js_1.getErrorFromResponse,
+        resolveOnUnsuccessful
+      })({
+        init: async () => {
+          const response = await lro.sendInitialRequest();
+          const config = (0, operation_js_1.inferLroMode)({
+            rawResponse: response.rawResponse,
+            requestPath: lro.requestPath,
+            requestMethod: lro.requestMethod,
+            resourceLocationConfig
+          });
+          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
+        },
+        poll: lro.sendPollRequest
+      }, {
+        intervalInMs,
+        withOperationLocation,
+        restoreFrom,
+        updateState,
+        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse
+      });
+    }
+    exports2.createHttpPoller = createHttpPoller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js
+var require_operation3 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GenericPollOperation = void 0;
+    var operation_js_1 = require_operation2();
+    var logger_js_1 = require_logger2();
+    var createStateProxy = () => ({
+      initState: (config) => ({ config, isStarted: true }),
+      setCanceled: (state) => state.isCancelled = true,
+      setError: (state, error3) => state.error = error3,
+      setResult: (state, result) => state.result = result,
+      setRunning: (state) => state.isStarted = true,
+      setSucceeded: (state) => state.isCompleted = true,
+      setFailed: () => {
+      },
+      getError: (state) => state.error,
+      getResult: (state) => state.result,
+      isCanceled: (state) => !!state.isCancelled,
+      isFailed: (state) => !!state.error,
+      isRunning: (state) => !!state.isStarted,
+      isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error)
+    });
+    var GenericPollOperation = class {
+      constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) {
+        this.state = state;
+        this.lro = lro;
+        this.setErrorAsResult = setErrorAsResult;
+        this.lroResourceLocationConfig = lroResourceLocationConfig;
+        this.processResult = processResult;
+        this.updateState = updateState;
+        this.isDone = isDone;
+      }
+      setPollerConfig(pollerConfig) {
+        this.pollerConfig = pollerConfig;
+      }
+      async update(options) {
+        var _a;
+        const stateProxy = createStateProxy();
+        if (!this.state.isStarted) {
+          this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({
+            lro: this.lro,
+            stateProxy,
+            resourceLocationConfig: this.lroResourceLocationConfig,
+            processResult: this.processResult,
+            setErrorAsResult: this.setErrorAsResult
+          }));
+        }
+        const updateState = this.updateState;
+        const isDone = this.isDone;
+        if (!this.state.isCompleted && this.state.error === void 0) {
+          await (0, operation_js_1.pollHttpOperation)({
+            lro: this.lro,
+            state: this.state,
+            stateProxy,
+            processResult: this.processResult,
+            updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0,
+            isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0,
+            options,
+            setDelay: (intervalInMs) => {
+              this.pollerConfig.intervalInMs = intervalInMs;
+            },
+            setErrorAsResult: this.setErrorAsResult
+          });
         }
+        (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state);
+        return this;
+      }
+      async cancel() {
+        logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented");
+        return this;
+      }
+      /**
+       * Serializes the Poller operation.
+       */
+      toString() {
+        return JSON.stringify({
+          state: this.state
+        });
       }
     };
-    exports2.BlobAbortCopyFromURLExceptionHeaders = {
-      serializedName: "Blob_abortCopyFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAbortCopyFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.GenericPollOperation = GenericPollOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js
+var require_poller3 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0;
+    var PollerStoppedError = class _PollerStoppedError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "PollerStoppedError";
+        Object.setPrototypeOf(this, _PollerStoppedError.prototype);
       }
     };
-    exports2.BlobSetTierHeaders = {
-      serializedName: "Blob_setTierHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTierHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.PollerStoppedError = PollerStoppedError;
+    var PollerCancelledError = class _PollerCancelledError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "PollerCancelledError";
+        Object.setPrototypeOf(this, _PollerCancelledError.prototype);
       }
     };
-    exports2.BlobSetTierExceptionHeaders = {
-      serializedName: "Blob_setTierExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTierExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.PollerCancelledError = PollerCancelledError;
+    var Poller = class {
+      /**
+       * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`.
+       *
+       * When writing an implementation of a Poller, this implementation needs to deal with the initialization
+       * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's
+       * operation has already been defined, at least its basic properties. The code below shows how to approach
+       * the definition of the constructor of a new custom poller.
+       *
+       * ```ts
+       * export class MyPoller extends Poller {
+       *   constructor({
+       *     // Anything you might need outside of the basics
+       *   }) {
+       *     let state: MyOperationState = {
+       *       privateProperty: private,
+       *       publicProperty: public,
+       *     };
+       *
+       *     const operation = {
+       *       state,
+       *       update,
+       *       cancel,
+       *       toString
+       *     }
+       *
+       *     // Sending the operation to the parent's constructor.
+       *     super(operation);
+       *
+       *     // You can assign more local properties here.
+       *   }
+       * }
+       * ```
+       *
+       * Inside of this constructor, a new promise is created. This will be used to
+       * tell the user when the poller finishes (see `pollUntilDone()`). The promise's
+       * resolve and reject methods are also used internally to control when to resolve
+       * or reject anyone waiting for the poller to finish.
+       *
+       * The constructor of a custom implementation of a poller is where any serialized version of
+       * a previous poller's operation should be deserialized into the operation sent to the
+       * base constructor. For example:
+       *
+       * ```ts
+       * export class MyPoller extends Poller {
+       *   constructor(
+       *     baseOperation: string | undefined
+       *   ) {
+       *     let state: MyOperationState = {};
+       *     if (baseOperation) {
+       *       state = {
+       *         ...JSON.parse(baseOperation).state,
+       *         ...state
+       *       };
+       *     }
+       *     const operation = {
+       *       state,
+       *       // ...
+       *     }
+       *     super(operation);
+       *   }
+       * }
+       * ```
+       *
+       * @param operation - Must contain the basic properties of `PollOperation`.
+       */
+      constructor(operation) {
+        this.resolveOnUnsuccessful = false;
+        this.stopped = true;
+        this.pollProgressCallbacks = [];
+        this.operation = operation;
+        this.promise = new Promise((resolve3, reject) => {
+          this.resolve = resolve3;
+          this.reject = reject;
+        });
+        this.promise.catch(() => {
+        });
+      }
+      /**
+       * Starts a loop that will break only if the poller is done
+       * or if the poller is stopped.
+       */
+      async startPolling(pollOptions = {}) {
+        if (this.stopped) {
+          this.stopped = false;
+        }
+        while (!this.isStopped() && !this.isDone()) {
+          await this.poll(pollOptions);
+          await this.delay();
         }
       }
-    };
-    exports2.BlobGetAccountInfoHeaders = {
-      serializedName: "Blob_getAccountInfoHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetAccountInfoHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          skuName: {
-            serializedName: "x-ms-sku-name",
-            xmlName: "x-ms-sku-name",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Standard_LRS",
-                "Standard_GRS",
-                "Standard_RAGRS",
-                "Standard_ZRS",
-                "Premium_LRS"
-              ]
-            }
-          },
-          accountKind: {
-            serializedName: "x-ms-account-kind",
-            xmlName: "x-ms-account-kind",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Storage",
-                "BlobStorage",
-                "StorageV2",
-                "FileStorage",
-                "BlockBlobStorage"
-              ]
-            }
-          },
-          isHierarchicalNamespaceEnabled: {
-            serializedName: "x-ms-is-hns-enabled",
-            xmlName: "x-ms-is-hns-enabled",
-            type: {
-              name: "Boolean"
-            }
+      /**
+       * pollOnce does one polling, by calling to the update method of the underlying
+       * poll operation to make any relevant change effective.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      async pollOnce(options = {}) {
+        if (!this.isDone()) {
+          this.operation = await this.operation.update({
+            abortSignal: options.abortSignal,
+            fireProgress: this.fireProgress.bind(this)
+          });
+        }
+        this.processUpdatedState();
+      }
+      /**
+       * fireProgress calls the functions passed in via onProgress the method of the poller.
+       *
+       * It loops over all of the callbacks received from onProgress, and executes them, sending them
+       * the current operation state.
+       *
+       * @param state - The current operation state.
+       */
+      fireProgress(state) {
+        for (const callback of this.pollProgressCallbacks) {
+          callback(state);
+        }
+      }
+      /**
+       * Invokes the underlying operation's cancel method.
+       */
+      async cancelOnce(options = {}) {
+        this.operation = await this.operation.cancel(options);
+      }
+      /**
+       * Returns a promise that will resolve once a single polling request finishes.
+       * It does this by calling the update method of the Poller's operation.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      poll(options = {}) {
+        if (!this.pollOncePromise) {
+          this.pollOncePromise = this.pollOnce(options);
+          const clearPollOncePromise = () => {
+            this.pollOncePromise = void 0;
+          };
+          this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject);
+        }
+        return this.pollOncePromise;
+      }
+      processUpdatedState() {
+        if (this.operation.state.error) {
+          this.stopped = true;
+          if (!this.resolveOnUnsuccessful) {
+            this.reject(this.operation.state.error);
+            throw this.operation.state.error;
+          }
+        }
+        if (this.operation.state.isCancelled) {
+          this.stopped = true;
+          if (!this.resolveOnUnsuccessful) {
+            const error3 = new PollerCancelledError("Operation was canceled");
+            this.reject(error3);
+            throw error3;
           }
         }
+        if (this.isDone() && this.resolve) {
+          this.resolve(this.getResult());
+        }
       }
-    };
-    exports2.BlobGetAccountInfoExceptionHeaders = {
-      serializedName: "Blob_getAccountInfoExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetAccountInfoExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns a promise that will resolve once the underlying operation is completed.
+       */
+      async pollUntilDone(pollOptions = {}) {
+        if (this.stopped) {
+          this.startPolling(pollOptions).catch(this.reject);
+        }
+        this.processUpdatedState();
+        return this.promise;
+      }
+      /**
+       * Invokes the provided callback after each polling is completed,
+       * sending the current state of the poller's operation.
+       *
+       * It returns a method that can be used to stop receiving updates on the given callback function.
+       */
+      onProgress(callback) {
+        this.pollProgressCallbacks.push(callback);
+        return () => {
+          this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback);
+        };
+      }
+      /**
+       * Returns true if the poller has finished polling.
+       */
+      isDone() {
+        const state = this.operation.state;
+        return Boolean(state.isCompleted || state.isCancelled || state.error);
+      }
+      /**
+       * Stops the poller from continuing to poll.
+       */
+      stopPolling() {
+        if (!this.stopped) {
+          this.stopped = true;
+          if (this.reject) {
+            this.reject(new PollerStoppedError("This poller is already stopped"));
           }
         }
       }
+      /**
+       * Returns true if the poller is stopped.
+       */
+      isStopped() {
+        return this.stopped;
+      }
+      /**
+       * Attempts to cancel the underlying operation.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * If it's called again before it finishes, it will throw an error.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      cancelOperation(options = {}) {
+        if (!this.cancelPromise) {
+          this.cancelPromise = this.cancelOnce(options);
+        } else if (options.abortSignal) {
+          throw new Error("A cancel request is currently pending");
+        }
+        return this.cancelPromise;
+      }
+      /**
+       * Returns the state of the operation.
+       *
+       * Even though TState will be the same type inside any of the methods of any extension of the Poller class,
+       * implementations of the pollers can customize what's shared with the public by writing their own
+       * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller
+       * and a public type representing a safe to share subset of the properties of the internal state.
+       * Their definition of getOperationState can then return their public type.
+       *
+       * Example:
+       *
+       * ```ts
+       * // Let's say we have our poller's operation state defined as:
+       * interface MyOperationState extends PollOperationState {
+       *   privateProperty?: string;
+       *   publicProperty?: string;
+       * }
+       *
+       * // To allow us to have a true separation of public and private state, we have to define another interface:
+       * interface PublicState extends PollOperationState {
+       *   publicProperty?: string;
+       * }
+       *
+       * // Then, we define our Poller as follows:
+       * export class MyPoller extends Poller {
+       *   // ... More content is needed here ...
+       *
+       *   public getOperationState(): PublicState {
+       *     const state: PublicState = this.operation.state;
+       *     return {
+       *       // Properties from PollOperationState
+       *       isStarted: state.isStarted,
+       *       isCompleted: state.isCompleted,
+       *       isCancelled: state.isCancelled,
+       *       error: state.error,
+       *       result: state.result,
+       *
+       *       // The only other property needed by PublicState.
+       *       publicProperty: state.publicProperty
+       *     }
+       *   }
+       * }
+       * ```
+       *
+       * You can see this in the tests of this repository, go to the file:
+       * `../test/utils/testPoller.ts`
+       * and look for the getOperationState implementation.
+       */
+      getOperationState() {
+        return this.operation.state;
+      }
+      /**
+       * Returns the result value of the operation,
+       * regardless of the state of the poller.
+       * It can return undefined or an incomplete form of the final TResult value
+       * depending on the implementation.
+       */
+      getResult() {
+        const state = this.operation.state;
+        return state.result;
+      }
+      /**
+       * Returns a serialized version of the poller's operation
+       * by invoking the operation's toString method.
+       */
+      toString() {
+        return this.operation.toString();
+      }
     };
-    exports2.BlobQueryHeaders = {
-      serializedName: "Blob_queryHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobQueryHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          contentLength: {
-            serializedName: "content-length",
-            xmlName: "content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          contentRange: {
-            serializedName: "content-range",
-            xmlName: "content-range",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentEncoding: {
-            serializedName: "content-encoding",
-            xmlName: "content-encoding",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "cache-control",
-            xmlName: "cache-control",
-            type: {
-              name: "String"
-            }
-          },
-          contentDisposition: {
-            serializedName: "content-disposition",
-            xmlName: "content-disposition",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "content-language",
-            xmlName: "content-language",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          blobType: {
-            serializedName: "x-ms-blob-type",
-            xmlName: "x-ms-blob-type",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          copyCompletionTime: {
-            serializedName: "x-ms-copy-completion-time",
-            xmlName: "x-ms-copy-completion-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "x-ms-copy-status-description",
-            xmlName: "x-ms-copy-status-description",
-            type: {
-              name: "String"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "x-ms-copy-progress",
-            xmlName: "x-ms-copy-progress",
-            type: {
-              name: "String"
-            }
-          },
-          copySource: {
-            serializedName: "x-ms-copy-source",
-            xmlName: "x-ms-copy-source",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          acceptRanges: {
-            serializedName: "accept-ranges",
-            xmlName: "accept-ranges",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-server-encrypted",
-            xmlName: "x-ms-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentMD5: {
-            serializedName: "x-ms-blob-content-md5",
-            xmlName: "x-ms-blob-content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          contentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          }
+    exports2.Poller = Poller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js
+var require_lroEngine = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LroEngine = void 0;
+    var operation_js_1 = require_operation3();
+    var constants_js_1 = require_constants17();
+    var poller_js_1 = require_poller3();
+    var operation_js_2 = require_operation();
+    var LroEngine = class extends poller_js_1.Poller {
+      constructor(lro, options) {
+        const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {};
+        const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {};
+        const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone);
+        super(operation);
+        this.resolveOnUnsuccessful = resolveOnUnsuccessful;
+        this.config = { intervalInMs };
+        operation.setPollerConfig(this.config);
+      }
+      /**
+       * The method used by the poller to wait before attempting to update its operation.
+       */
+      delay() {
+        return new Promise((resolve3) => setTimeout(() => resolve3(), this.config.intervalInMs));
+      }
+    };
+    exports2.LroEngine = LroEngine;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js
+var require_lroEngine2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LroEngine = void 0;
+    var lroEngine_js_1 = require_lroEngine();
+    Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() {
+      return lroEngine_js_1.LroEngine;
+    } });
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js
+var require_pollOperation = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/index.js
+var require_commonjs14 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpPoller = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var poller_js_1 = require_poller2();
+    Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() {
+      return poller_js_1.createHttpPoller;
+    } });
+    tslib_1.__exportStar(require_lroEngine2(), exports2);
+    tslib_1.__exportStar(require_poller3(), exports2);
+    tslib_1.__exportStar(require_pollOperation(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js
+var require_BlobStartCopyFromUrlPoller = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBeginCopyFromUrlPoller = void 0;
+    var core_util_1 = require_commonjs4();
+    var core_lro_1 = require_commonjs14();
+    var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller {
+      intervalInMs;
+      constructor(options) {
+        const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options;
+        let state;
+        if (resumeFrom) {
+          state = JSON.parse(resumeFrom).state;
         }
+        const operation = makeBlobBeginCopyFromURLPollOperation({
+          ...state,
+          blobClient,
+          copySource,
+          startCopyFromURLOptions
+        });
+        super(operation);
+        if (typeof onProgress === "function") {
+          this.onProgress(onProgress);
+        }
+        this.intervalInMs = intervalInMs;
+      }
+      delay() {
+        return (0, core_util_1.delay)(this.intervalInMs);
       }
     };
-    exports2.BlobQueryExceptionHeaders = {
-      serializedName: "Blob_queryExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobQueryExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller;
+    var cancel = async function cancel2(options = {}) {
+      const state = this.state;
+      const { copyId } = state;
+      if (state.isCompleted) {
+        return makeBlobBeginCopyFromURLPollOperation(state);
+      }
+      if (!copyId) {
+        state.isCancelled = true;
+        return makeBlobBeginCopyFromURLPollOperation(state);
       }
+      await state.blobClient.abortCopyFromURL(copyId, {
+        abortSignal: options.abortSignal
+      });
+      state.isCancelled = true;
+      return makeBlobBeginCopyFromURLPollOperation(state);
     };
-    exports2.BlobGetTagsHeaders = {
-      serializedName: "Blob_getTagsHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetTagsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    var update = async function update2(options = {}) {
+      const state = this.state;
+      const { blobClient, copySource, startCopyFromURLOptions } = state;
+      if (!state.isStarted) {
+        state.isStarted = true;
+        const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions);
+        state.copyId = result.copyId;
+        if (result.copyStatus === "success") {
+          state.result = result;
+          state.isCompleted = true;
+        }
+      } else if (!state.isCompleted) {
+        try {
+          const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal });
+          const { copyStatus, copyProgress } = result;
+          const prevCopyProgress = state.copyProgress;
+          if (copyProgress) {
+            state.copyProgress = copyProgress;
+          }
+          if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") {
+            options.fireProgress(state);
+          } else if (copyStatus === "success") {
+            state.result = result;
+            state.isCompleted = true;
+          } else if (copyStatus === "failed") {
+            state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`);
+            state.isCompleted = true;
           }
+        } catch (err) {
+          state.error = err;
+          state.isCompleted = true;
         }
       }
+      return makeBlobBeginCopyFromURLPollOperation(state);
     };
-    exports2.BlobGetTagsExceptionHeaders = {
-      serializedName: "Blob_getTagsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetTagsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    var toString2 = function toString3() {
+      return JSON.stringify({ state: this.state }, (key, value) => {
+        if (key === "blobClient") {
+          return void 0;
+        }
+        return value;
+      });
+    };
+    function makeBlobBeginCopyFromURLPollOperation(state) {
+      return {
+        state: { ...state },
+        cancel,
+        toString: toString2,
+        update
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/Range.js
+var require_Range = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.rangeToString = rangeToString;
+    function rangeToString(iRange) {
+      if (iRange.offset < 0) {
+        throw new RangeError(`Range.offset cannot be smaller than 0.`);
+      }
+      if (iRange.count && iRange.count <= 0) {
+        throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`);
+      }
+      return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js
+var require_Batch = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Batch = void 0;
+    var events_1 = require("events");
+    var BatchStates;
+    (function(BatchStates2) {
+      BatchStates2[BatchStates2["Good"] = 0] = "Good";
+      BatchStates2[BatchStates2["Error"] = 1] = "Error";
+    })(BatchStates || (BatchStates = {}));
+    var Batch = class {
+      /**
+       * Concurrency. Must be lager than 0.
+       */
+      concurrency;
+      /**
+       * Number of active operations under execution.
+       */
+      actives = 0;
+      /**
+       * Number of completed operations under execution.
+       */
+      completed = 0;
+      /**
+       * Offset of next operation to be executed.
+       */
+      offset = 0;
+      /**
+       * Operation array to be executed.
+       */
+      operations = [];
+      /**
+       * States of Batch. When an error happens, state will turn into error.
+       * Batch will stop execute left operations.
+       */
+      state = BatchStates.Good;
+      /**
+       * A private emitter used to pass events inside this class.
+       */
+      emitter;
+      /**
+       * Creates an instance of Batch.
+       * @param concurrency -
+       */
+      constructor(concurrency = 5) {
+        if (concurrency < 1) {
+          throw new RangeError("concurrency must be larger than 0");
+        }
+        this.concurrency = concurrency;
+        this.emitter = new events_1.EventEmitter();
+      }
+      /**
+       * Add a operation into queue.
+       *
+       * @param operation -
+       */
+      addOperation(operation) {
+        this.operations.push(async () => {
+          try {
+            this.actives++;
+            await operation();
+            this.actives--;
+            this.completed++;
+            this.parallelExecute();
+          } catch (error3) {
+            this.emitter.emit("error", error3);
           }
+        });
+      }
+      /**
+       * Start execute operations in the queue.
+       *
+       */
+      async do() {
+        if (this.operations.length === 0) {
+          return Promise.resolve();
         }
+        this.parallelExecute();
+        return new Promise((resolve3, reject) => {
+          this.emitter.on("finish", resolve3);
+          this.emitter.on("error", (error3) => {
+            this.state = BatchStates.Error;
+            reject(error3);
+          });
+        });
       }
-    };
-    exports2.BlobSetTagsHeaders = {
-      serializedName: "Blob_setTagsHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTagsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Get next operation to be executed. Return null when reaching ends.
+       *
+       */
+      nextOperation() {
+        if (this.offset < this.operations.length) {
+          return this.operations[this.offset++];
+        }
+        return null;
+      }
+      /**
+       * Start execute operations. One one the most important difference between
+       * this method with do() is that do() wraps as an sync method.
+       *
+       */
+      parallelExecute() {
+        if (this.state === BatchStates.Error) {
+          return;
+        }
+        if (this.completed >= this.operations.length) {
+          this.emitter.emit("finish");
+          return;
+        }
+        while (this.actives < this.concurrency) {
+          const operation = this.nextOperation();
+          if (operation) {
+            operation();
+          } else {
+            return;
           }
         }
       }
     };
-    exports2.BlobSetTagsExceptionHeaders = {
-      serializedName: "Blob_setTagsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTagsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.Batch = Batch;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js
+var require_utils7 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.fsCreateReadStream = exports2.fsStat = void 0;
+    exports2.streamToBuffer = streamToBuffer;
+    exports2.streamToBuffer2 = streamToBuffer2;
+    exports2.streamToBuffer3 = streamToBuffer3;
+    exports2.readStreamToLocalFile = readStreamToLocalFile;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_fs_1 = tslib_1.__importDefault(require("node:fs"));
+    var node_util_1 = tslib_1.__importDefault(require("node:util"));
+    var constants_js_1 = require_constants15();
+    async function streamToBuffer(stream, buffer, offset, end, encoding) {
+      let pos = 0;
+      const count = end - offset;
+      return new Promise((resolve3, reject) => {
+        const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT);
+        stream.on("readable", () => {
+          if (pos >= count) {
+            clearTimeout(timeout);
+            resolve3();
+            return;
+          }
+          let chunk = stream.read();
+          if (!chunk) {
+            return;
+          }
+          if (typeof chunk === "string") {
+            chunk = Buffer.from(chunk, encoding);
+          }
+          const chunkLength = pos + chunk.length > count ? count - pos : chunk.length;
+          buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength);
+          pos += chunkLength;
+        });
+        stream.on("end", () => {
+          clearTimeout(timeout);
+          if (pos < count) {
+            reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`));
+          }
+          resolve3();
+        });
+        stream.on("error", (msg) => {
+          clearTimeout(timeout);
+          reject(msg);
+        });
+      });
+    }
+    async function streamToBuffer2(stream, buffer, encoding) {
+      let pos = 0;
+      const bufferSize = buffer.length;
+      return new Promise((resolve3, reject) => {
+        stream.on("readable", () => {
+          let chunk = stream.read();
+          if (!chunk) {
+            return;
+          }
+          if (typeof chunk === "string") {
+            chunk = Buffer.from(chunk, encoding);
+          }
+          if (pos + chunk.length > bufferSize) {
+            reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`));
+            return;
+          }
+          buffer.fill(chunk, pos, pos + chunk.length);
+          pos += chunk.length;
+        });
+        stream.on("end", () => {
+          resolve3(pos);
+        });
+        stream.on("error", reject);
+      });
+    }
+    async function streamToBuffer3(readableStream, encoding) {
+      return new Promise((resolve3, reject) => {
+        const chunks = [];
+        readableStream.on("data", (data) => {
+          chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data);
+        });
+        readableStream.on("end", () => {
+          resolve3(Buffer.concat(chunks));
+        });
+        readableStream.on("error", reject);
+      });
+    }
+    async function readStreamToLocalFile(rs, file) {
+      return new Promise((resolve3, reject) => {
+        const ws = node_fs_1.default.createWriteStream(file);
+        rs.on("error", (err) => {
+          reject(err);
+        });
+        ws.on("error", (err) => {
+          reject(err);
+        });
+        ws.on("close", resolve3);
+        rs.pipe(ws);
+      });
+    }
+    exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat);
+    exports2.fsCreateReadStream = node_fs_1.default.createReadStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/Clients.js
+var require_Clients = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_auth_1 = require_commonjs7();
+    var core_util_1 = require_commonjs4();
+    var core_util_2 = require_commonjs4();
+    var BlobDownloadResponse_js_1 = require_BlobDownloadResponse();
+    var BlobQueryResponse_js_1 = require_BlobQueryResponse();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var models_js_1 = require_models2();
+    var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse();
+    var Pipeline_js_1 = require_Pipeline();
+    var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller();
+    var Range_js_1 = require_Range();
+    var StorageClient_js_1 = require_StorageClient();
+    var Batch_js_1 = require_Batch();
+    var storage_common_1 = require_commonjs13();
+    var constants_js_1 = require_constants15();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var utils_js_1 = require_utils7();
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
+    var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient {
+      /**
+       * blobContext provided by protocol layer.
+       */
+      blobContext;
+      _name;
+      _containerName;
+      _versionId;
+      _snapshot;
+      /**
+       * The name of the blob.
+       */
+      get name() {
+        return this._name;
+      }
+      /**
+       * The name of the storage container the blob is associated with.
+       */
+      get containerName() {
+        return this._containerName;
+      }
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        options = options || {};
+        let pipeline;
+        let url;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
+            options = blobNameOrOptions;
+          }
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl());
+        this.blobContext = this.storageClientContext.blob;
+        this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT);
+        this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID);
       }
-    };
-    exports2.PageBlobCreateHeaders = {
-      serializedName: "PageBlob_createHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCreateHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp
+       */
+      withSnapshot(snapshot) {
+        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
       }
-    };
-    exports2.PageBlobCreateExceptionHeaders = {
-      serializedName: "PageBlob_createExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCreateExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Creates a new BlobClient object pointing to a version of this blob.
+       * Provide "" will remove the versionId and return a Client to the base blob.
+       *
+       * @param versionId - The versionId.
+       * @returns A new BlobClient object pointing to the version of this blob.
+       */
+      withVersion(versionId) {
+        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline);
       }
-    };
-    exports2.PageBlobUploadPagesHeaders = {
-      serializedName: "PageBlob_uploadPagesHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Creates a AppendBlobClient object.
+       *
+       */
+      getAppendBlobClient() {
+        return new AppendBlobClient(this.url, this.pipeline);
       }
-    };
-    exports2.PageBlobUploadPagesExceptionHeaders = {
-      serializedName: "PageBlob_uploadPagesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Creates a BlockBlobClient object.
+       *
+       */
+      getBlockBlobClient() {
+        return new BlockBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Creates a PageBlobClient object.
+       *
+       */
+      getPageBlobClient() {
+        return new PageBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Reads or downloads a blob from the system, including its metadata and properties.
+       * You can also call Get Blob to read a snapshot.
+       *
+       * * In Node.js, data returns in a Readable stream readableStreamBody
+       * * In browsers, data returns in a promise blobBody
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob
+       *
+       * @param offset - From which position of the blob to download, greater than or equal to 0
+       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
+       * @param options - Optional options to Blob Download operation.
+       *
+       *
+       * Example usage (Node.js):
+       *
+       * ```ts snippet:ReadmeSampleDownloadBlob_Node
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Get blob content from position 0 to the end
+       * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
+       * const downloadBlockBlobResponse = await blobClient.download();
+       * if (downloadBlockBlobResponse.readableStreamBody) {
+       *   const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody);
+       *   console.log(`Downloaded blob content: ${downloaded}`);
+       * }
+       *
+       * async function streamToString(stream: NodeJS.ReadableStream): Promise {
+       *   const result = await new Promise>((resolve, reject) => {
+       *     const chunks: Buffer[] = [];
+       *     stream.on("data", (data) => {
+       *       chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data));
+       *     });
+       *     stream.on("end", () => {
+       *       resolve(Buffer.concat(chunks));
+       *     });
+       *     stream.on("error", reject);
+       *   });
+       *   return result.toString();
+       * }
+       * ```
+       *
+       * Example usage (browser):
+       *
+       * ```ts snippet:ReadmeSampleDownloadBlob_Browser
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Get blob content from position 0 to the end
+       * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
+       * const downloadBlockBlobResponse = await blobClient.download();
+       * const blobBody = await downloadBlockBlobResponse.blobBody;
+       * if (blobBody) {
+       *   const downloaded = await blobBody.text();
+       *   console.log(`Downloaded blob content: ${downloaded}`);
+       * }
+       * ```
+       */
+      async download(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress
+              // for Node.js, progress is reported by RetriableReadableStream
+            },
+            range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
+            rangeGetContentMD5: options.rangeGetContentMD5,
+            rangeGetContentCRC64: options.rangeGetContentCrc64,
+            snapshot: options.snapshot,
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedRes = {
+            ...res,
+            _response: res._response,
+            // _response is made non-enumerable
+            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
+            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+          };
+          if (!core_util_1.isNodeLike) {
+            return wrappedRes;
           }
-        }
+          if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) {
+            options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS;
+          }
+          if (res.contentLength === void 0) {
+            throw new RangeError(`File download response doesn't contain valid content length header`);
+          }
+          if (!res.etag) {
+            throw new RangeError(`File download response doesn't contain valid etag header`);
+          }
+          return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => {
+            const updatedDownloadOptions = {
+              leaseAccessConditions: options.conditions,
+              modifiedAccessConditions: {
+                ifMatch: options.conditions.ifMatch || res.etag,
+                ifModifiedSince: options.conditions.ifModifiedSince,
+                ifNoneMatch: options.conditions.ifNoneMatch,
+                ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
+                ifTags: options.conditions?.tagConditions
+              },
+              range: (0, Range_js_1.rangeToString)({
+                count: offset + res.contentLength - start,
+                offset: start
+              }),
+              rangeGetContentMD5: options.rangeGetContentMD5,
+              rangeGetContentCRC64: options.rangeGetContentCrc64,
+              snapshot: options.snapshot,
+              cpkInfo: options.customerProvidedKey
+            };
+            return (await this.blobContext.download({
+              abortSignal: options.abortSignal,
+              ...updatedDownloadOptions
+            })).readableStreamBody;
+          }, offset, res.contentLength, {
+            maxRetryRequests: options.maxRetryRequests,
+            onProgress: options.onProgress
+          });
+        });
       }
-    };
-    exports2.PageBlobClearPagesHeaders = {
-      serializedName: "PageBlob_clearPagesHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobClearPagesHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Returns true if the Azure blob resource represented by this client exists; false otherwise.
+       *
+       * NOTE: use this function with care since an existing blob might be deleted by other clients or
+       * applications. Vice versa new blobs might be added by other clients or applications after this
+       * function completes.
+       *
+       * @param options - options to Exists operation.
+       */
+      async exists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => {
+          try {
+            (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+            await this.getProperties({
+              abortSignal: options.abortSignal,
+              customerProvidedKey: options.customerProvidedKey,
+              conditions: options.conditions,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            return true;
+          } catch (e) {
+            if (e.statusCode === 404) {
+              return false;
+            } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) {
+              return true;
             }
+            throw e;
           }
-        }
+        });
       }
-    };
-    exports2.PageBlobClearPagesExceptionHeaders = {
-      serializedName: "PageBlob_clearPagesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobClearPagesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Returns all user-defined metadata, standard HTTP properties, and system properties
+       * for the blob. It does not return the content of the blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties
+       *
+       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
+       * they originally contained uppercase characters. This differs from the metadata keys returned by
+       * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which
+       * will retain their original casing.
+       *
+       * @param options - Optional options to Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return {
+            ...res,
+            _response: res._response,
+            // _response is made non-enumerable
+            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
+            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+          };
+        });
       }
-    };
-    exports2.PageBlobUploadPagesFromURLHeaders = {
-      serializedName: "PageBlob_uploadPagesFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesFromURLHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Marks the specified blob or snapshot for deletion. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param options - Optional options to Blob Delete operation.
+       */
+      async delete(options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({
+            abortSignal: options.abortSignal,
+            deleteSnapshots: options.deleteSnapshots,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param options - Optional options to Blob Delete operation.
+       */
+      async deleteIfExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
+          try {
+            const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobNotFound") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
-        }
+        });
+      }
+      /**
+       * Restores the contents and metadata of soft deleted blob and any associated
+       * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29
+       * or later.
+       * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob
+       *
+       * @param options - Optional options to Blob Undelete operation.
+       */
+      async undelete(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets system properties on the blob.
+       *
+       * If no value provided, or no value provided for the specified blob HTTP headers,
+       * these blob HTTP headers without a value will be cleared.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param blobHTTPHeaders - If no value provided, or no value provided for
+       *                                                   the specified blob HTTP headers, these blob HTTP
+       *                                                   headers without a value will be cleared.
+       *                                                   A common header to set is `blobContentType`
+       *                                                   enabling the browser to provide functionality
+       *                                                   based on file type.
+       * @param options - Optional options to Blob Set HTTP Headers operation.
+       */
+      async setHTTPHeaders(blobHTTPHeaders, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets user-defined metadata for the specified blob as one or more name-value pairs.
+       *
+       * If no option provided, or no metadata defined in the parameter, the blob
+       * metadata will be removed.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata
+       *
+       * @param metadata - Replace existing metadata with this value.
+       *                               If no value provided the existing metadata will be removed.
+       * @param options - Optional options to Set Metadata operation.
+       */
+      async setMetadata(metadata, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets tags on the underlying blob.
+       * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters.  Tag values must be between 0 and 256 characters.
+       * Valid tag key and value characters include lower and upper case letters, digits (0-9),
+       * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').
+       *
+       * @param tags -
+       * @param options -
+       */
+      async setTags(tags, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions,
+            tags: (0, utils_common_js_1.toBlobTags)(tags)
+          }));
+        });
+      }
+      /**
+       * Gets the tags associated with the underlying blob.
+       *
+       * @param options -
+       */
+      async getTags(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {}
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Get a {@link BlobLeaseClient} that manages leases on the blob.
+       *
+       * @param proposeLeaseId - Initial proposed lease Id.
+       * @returns A new BlobLeaseClient object for managing leases on the blob.
+       */
+      getBlobLeaseClient(proposeLeaseId) {
+        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      }
+      /**
+       * Creates a read-only snapshot of a blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob
+       *
+       * @param options - Optional options to the Blob Create Snapshot operation.
+       */
+      async createSnapshot(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Asynchronously copies a blob to a destination within the storage account.
+       * This method returns a long running operation poller that allows you to wait
+       * indefinitely until the copy is completed.
+       * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller.
+       * Note that the onProgress callback will not be invoked if the operation completes in the first
+       * request, and attempting to cancel a completed copy will result in an error being thrown.
+       *
+       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
+       * a committed blob in any Azure storage account.
+       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
+       * an Azure file in any Azure storage account.
+       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
+       * operation to copy from another storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
+       *
+       * ```ts snippet:ClientsBeginCopyFromURL
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Example using automatic polling
+       * const automaticCopyPoller = await blobClient.beginCopyFromURL("url");
+       * const automaticResult = await automaticCopyPoller.pollUntilDone();
+       *
+       * // Example using manual polling
+       * const manualCopyPoller = await blobClient.beginCopyFromURL("url");
+       * while (!manualCopyPoller.isDone()) {
+       *   await manualCopyPoller.poll();
+       * }
+       * const manualResult = manualCopyPoller.getResult();
+       *
+       * // Example using progress updates
+       * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", {
+       *   onProgress(state) {
+       *     console.log(`Progress: ${state.copyProgress}`);
+       *   },
+       * });
+       * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone();
+       *
+       * // Example using a changing polling interval (default 15 seconds)
+       * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", {
+       *   intervalInMs: 1000, // poll blob every 1 second for copy progress
+       * });
+       * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone();
+       *
+       * // Example using copy cancellation:
+       * const cancelCopyPoller = await blobClient.beginCopyFromURL("url");
+       * // cancel operation after starting it.
+       * try {
+       *   await cancelCopyPoller.cancelOperation();
+       *   // calls to get the result now throw PollerCancelledError
+       *   cancelCopyPoller.getResult();
+       * } catch (err: any) {
+       *   if (err.name === "PollerCancelledError") {
+       *     console.log("The copy was cancelled.");
+       *   }
+       * }
+       * ```
+       *
+       * @param copySource - url to the source Azure Blob/File.
+       * @param options - Optional options to the Blob Start Copy From URL operation.
+       */
+      async beginCopyFromURL(copySource, options = {}) {
+        const client = {
+          abortCopyFromURL: (...args) => this.abortCopyFromURL(...args),
+          getProperties: (...args) => this.getProperties(...args),
+          startCopyFromURL: (...args) => this.startCopyFromURL(...args)
+        };
+        const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({
+          blobClient: client,
+          copySource,
+          intervalInMs: options.intervalInMs,
+          onProgress: options.onProgress,
+          resumeFrom: options.resumeFrom,
+          startCopyFromURLOptions: options
+        });
+        await poller.poll();
+        return poller;
+      }
+      /**
+       * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero
+       * length and full metadata. Version 2012-02-12 and newer.
+       * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob
+       *
+       * @param copyId - Id of the Copy From URL operation.
+       * @param options - Optional options to the Blob Abort Copy From URL operation.
+       */
+      async abortCopyFromURL(copyId, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not
+       * return a response until the copy is complete.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url
+       *
+       * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication
+       * @param options -
+       */
+      async syncCopyFromURL(copySource, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, {
+            abortSignal: options.abortSignal,
+            metadata: options.metadata,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            sourceContentMD5: options.sourceContentMD5,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            encryptionScope: options.encryptionScope,
+            copySourceTags: options.copySourceTags,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.PageBlobUploadPagesFromURLExceptionHeaders = {
-      serializedName: "PageBlob_uploadPagesFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+      /**
+       * Sets the tier on a blob. The operation is allowed on a page blob in a premium
+       * storage account and on a block blob in a blob storage account (locally redundant
+       * storage only). A premium page blob's tier determines the allowed size, IOPS,
+       * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive
+       * storage type. This operation does not update the blob's ETag.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier
+       *
+       * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive.
+       * @param options - Optional options to the Blob Set Tier operation.
+       */
+      async setAccessTier(tier, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            rehydratePriority: options.rehydratePriority,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.PageBlobGetPageRangesHeaders = {
-      serializedName: "PageBlob_getPageRangesHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentLength: {
-            serializedName: "x-ms-blob-content-length",
-            xmlName: "x-ms-blob-content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      async downloadToBuffer(param1, param2, param3, param4 = {}) {
+        let buffer;
+        let offset = 0;
+        let count = 0;
+        let options = param4;
+        if (param1 instanceof Buffer) {
+          buffer = param1;
+          offset = param2 || 0;
+          count = typeof param3 === "number" ? param3 : 0;
+        } else {
+          offset = typeof param1 === "number" ? param1 : 0;
+          count = typeof param2 === "number" ? param2 : 0;
+          options = param3 || {};
         }
-      }
-    };
-    exports2.PageBlobGetPageRangesExceptionHeaders = {
-      serializedName: "PageBlob_getPageRangesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        let blockSize = options.blockSize ?? 0;
+        if (blockSize < 0) {
+          throw new RangeError("blockSize option must be >= 0");
         }
-      }
-    };
-    exports2.PageBlobGetPageRangesDiffHeaders = {
-      serializedName: "PageBlob_getPageRangesDiffHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesDiffHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentLength: {
-            serializedName: "x-ms-blob-content-length",
-            xmlName: "x-ms-blob-content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (blockSize === 0) {
+          blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
         }
-      }
-    };
-    exports2.PageBlobGetPageRangesDiffExceptionHeaders = {
-      serializedName: "PageBlob_getPageRangesDiffExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesDiffExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (offset < 0) {
+          throw new RangeError("offset option must be >= 0");
         }
-      }
-    };
-    exports2.PageBlobResizeHeaders = {
-      serializedName: "PageBlob_resizeHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobResizeHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (count && count <= 0) {
+          throw new RangeError("count option must be greater than 0");
         }
-      }
-    };
-    exports2.PageBlobResizeExceptionHeaders = {
-      serializedName: "PageBlob_resizeExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobResizeExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (!options.conditions) {
+          options.conditions = {};
         }
-      }
-    };
-    exports2.PageBlobUpdateSequenceNumberHeaders = {
-      serializedName: "PageBlob_updateSequenceNumberHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUpdateSequenceNumberHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
+          if (!count) {
+            const response = await this.getProperties({
+              ...options,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            count = response.contentLength - offset;
+            if (count < 0) {
+              throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
             }
           }
-        }
-      }
-    };
-    exports2.PageBlobUpdateSequenceNumberExceptionHeaders = {
-      serializedName: "PageBlob_updateSequenceNumberExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUpdateSequenceNumberExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+          if (!buffer) {
+            try {
+              buffer = Buffer.alloc(count);
+            } catch (error3) {
+              throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile".	 ${error3.message}`);
             }
           }
-        }
+          if (buffer.length < count) {
+            throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`);
+          }
+          let transferProgress = 0;
+          const batch = new Batch_js_1.Batch(options.concurrency);
+          for (let off = offset; off < offset + count; off = off + blockSize) {
+            batch.addOperation(async () => {
+              let chunkEnd = offset + count;
+              if (off + blockSize < chunkEnd) {
+                chunkEnd = off + blockSize;
+              }
+              const response = await this.download(off, chunkEnd - off, {
+                abortSignal: options.abortSignal,
+                conditions: options.conditions,
+                maxRetryRequests: options.maxRetryRequestsPerBlock,
+                customerProvidedKey: options.customerProvidedKey,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              const stream = response.readableStreamBody;
+              await (0, utils_js_1.streamToBuffer)(stream, buffer, off - offset, chunkEnd - offset);
+              transferProgress += chunkEnd - off;
+              if (options.onProgress) {
+                options.onProgress({ loadedBytes: transferProgress });
+              }
+            });
+          }
+          await batch.do();
+          return buffer;
+        });
       }
-    };
-    exports2.PageBlobCopyIncrementalHeaders = {
-      serializedName: "PageBlob_copyIncrementalHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCopyIncrementalHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Downloads an Azure Blob to a local file.
+       * Fails if the the given file path already exits.
+       * Offset and count are optional, pass 0 and undefined respectively to download the entire blob.
+       *
+       * @param filePath -
+       * @param offset - From which position of the block blob to download.
+       * @param count - How much data to be downloaded. Will download to the end when passing undefined.
+       * @param options - Options to Blob download options.
+       * @returns The response data for blob download operation,
+       *                                                 but with readableStreamBody set to undefined since its
+       *                                                 content is already read and written into a local file
+       *                                                 at the specified path.
+       */
+      async downloadToFile(filePath, offset = 0, count, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
+          const response = await this.download(offset, count, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          });
+          if (response.readableStreamBody) {
+            await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath);
           }
-        }
+          response.blobDownloadStream = void 0;
+          return response;
+        });
       }
-    };
-    exports2.PageBlobCopyIncrementalExceptionHeaders = {
-      serializedName: "PageBlob_copyIncrementalExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCopyIncrementalExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      getBlobAndContainerNamesFromUrl() {
+        let containerName;
+        let blobName;
+        try {
+          const parsedUrl = new URL(this.url);
+          if (parsedUrl.host.split(".")[1] === "blob") {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
+            containerName = pathComponents[1];
+            blobName = pathComponents[3];
+          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?");
+            containerName = pathComponents[2];
+            blobName = pathComponents[4];
+          } else {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
+            containerName = pathComponents[1];
+            blobName = pathComponents[3];
+          }
+          containerName = decodeURIComponent(containerName);
+          blobName = decodeURIComponent(blobName);
+          blobName = blobName.replace(/\\/g, "/");
+          if (!containerName) {
+            throw new Error("Provided containerName is invalid.");
           }
+          return { blobName, containerName };
+        } catch (error3) {
+          throw new Error("Unable to extract blobName and containerName with provided information.");
         }
       }
-    };
-    exports2.AppendBlobCreateHeaders = {
-      serializedName: "AppendBlob_createHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobCreateHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Asynchronously copies a blob to a destination within the storage account.
+       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
+       * a committed blob in any Azure storage account.
+       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
+       * an Azure file in any Azure storage account.
+       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
+       * operation to copy from another storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
+       *
+       * @param copySource - url to the source Azure Blob/File.
+       * @param options - Optional options to the Blob Start Copy From URL operation.
+       */
+      async startCopyFromURL(copySource, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
+          options.conditions = options.conditions || {};
+          options.sourceConditions = options.sourceConditions || {};
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
+              sourceIfTags: options.sourceConditions.tagConditions
+            },
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            rehydratePriority: options.rehydratePriority,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            sealBlob: options.sealBlob,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasUrl(options) {
+        return new Promise((resolve3) => {
+          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
           }
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            blobName: this._name,
+            snapshotTime: this._snapshot,
+            versionId: this._versionId,
+            ...options
+          }, this.credential).toString();
+          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
+      generateSasStringToSign(options) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
         }
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          blobName: this._name,
+          snapshotTime: this._snapshot,
+          versionId: this._versionId,
+          ...options
+        }, this.credential).stringToSign;
+      }
+      /**
+       *
+       * Generates a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasUrl(options, userDelegationKey) {
+        return new Promise((resolve3) => {
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            blobName: this._name,
+            snapshotTime: this._snapshot,
+            versionId: this._versionId,
+            ...options
+          }, userDelegationKey, this.accountName).toString();
+          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasStringToSign(options, userDelegationKey) {
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          blobName: this._name,
+          snapshotTime: this._snapshot,
+          versionId: this._versionId,
+          ...options
+        }, userDelegationKey, this.accountName).stringToSign;
+      }
+      /**
+       * Delete the immutablility policy on the blob.
+       *
+       * @param options - Optional options to delete immutability policy on the blob.
+       */
+      async deleteImmutabilityPolicy(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Set immutability policy on the blob.
+       *
+       * @param options - Optional options to set immutability policy on the blob.
+       */
+      async setImmutabilityPolicy(immutabilityPolicy, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({
+            immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn,
+            immutabilityPolicyMode: immutabilityPolicy.policyMode,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Set legal hold on the blob.
+       *
+       * @param options - Optional options to set legal hold on the blob.
+       */
+      async setLegalHold(legalHoldEnabled, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, {
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.AppendBlobCreateExceptionHeaders = {
-      serializedName: "AppendBlob_createExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobCreateExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.BlobClient = BlobClient;
+    var AppendBlobClient = class _AppendBlobClient extends BlobClient {
+      /**
+       * appendBlobsContext provided by protocol layer.
+       */
+      appendBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        this.appendBlobContext = this.storageClientContext.appendBlob;
       }
-    };
-    exports2.AppendBlobAppendBlockHeaders = {
-      serializedName: "AppendBlob_appendBlockHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobAppendOffset: {
-            serializedName: "x-ms-blob-append-offset",
-            xmlName: "x-ms-blob-append-offset",
-            type: {
-              name: "String"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Creates a new AppendBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param options - Options to the Append Block Create operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsCreateAppendBlob
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * const appendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await appendBlobClient.create();
+       * ```
+       */
+      async create(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
+       * If the blob with the same name already exists, the content of the existing blob will remain unchanged.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param options -
+       */
+      async createIfNotExists(options = {}) {
+        const conditions = { ifNoneMatch: constants_js_1.ETagAny };
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const res = (0, utils_common_js_1.assertResponse)(await this.create({
+              ...updatedOptions,
+              conditions
+            }));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
-        }
+        });
+      }
+      /**
+       * Seals the append blob, making it read only.
+       *
+       * @param options -
+       */
+      async seal(options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({
+            abortSignal: options.abortSignal,
+            appendPositionAccessConditions: options.conditions,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Commits a new block of data to the end of the existing append blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/append-block
+       *
+       * @param body - Data to be appended.
+       * @param contentLength - Length of the body in bytes.
+       * @param options - Options to the Append Block operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsAppendBlock
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * const content = "Hello World!";
+       *
+       * // Create a new append blob and append data to the blob.
+       * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await newAppendBlobClient.create();
+       * await newAppendBlobClient.appendBlock(content, content.length);
+       *
+       * // Append data to an existing append blob.
+       * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await existingAppendBlobClient.appendBlock(content, content.length);
+       * ```
+       */
+      async appendBlock(body, contentLength, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, {
+            abortSignal: options.abortSignal,
+            appendPositionAccessConditions: options.conditions,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob
+       * where the contents are read from a source url.
+       * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url
+       *
+       * @param sourceURL -
+       *                 The url to the blob that will be the source of the copy. A source blob in the same storage account can
+       *                 be authenticated via Shared Key. However, if the source is a blob in another account, the source blob
+       *                 must either be public or must be authenticated via a shared access signature. If the source blob is
+       *                 public, no authentication is required to perform the operation.
+       * @param sourceOffset - Offset in source to be appended
+       * @param count - Number of bytes to be appended as a block
+       * @param options -
+       */
+      async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
+            abortSignal: options.abortSignal,
+            sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }),
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            leaseAccessConditions: options.conditions,
+            appendPositionAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.AppendBlobAppendBlockExceptionHeaders = {
-      serializedName: "AppendBlob_appendBlockExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.AppendBlobClient = AppendBlobClient;
+    var BlockBlobClient = class _BlockBlobClient extends BlobClient {
+      /**
+       * blobContext provided by protocol layer.
+       *
+       * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API
+       * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient.
+       */
+      _blobContext;
+      /**
+       * blockBlobContext provided by protocol layer.
+       */
+      blockBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
+            options = blobNameOrOptions;
+          }
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        this.blockBlobContext = this.storageClientContext.blockBlob;
+        this._blobContext = this.storageClientContext.blob;
       }
-    };
-    exports2.AppendBlobAppendBlockFromUrlHeaders = {
-      serializedName: "AppendBlob_appendBlockFromUrlHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockFromUrlHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobAppendOffset: {
-            serializedName: "x-ms-blob-append-offset",
-            xmlName: "x-ms-blob-append-offset",
-            type: {
-              name: "String"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Creates a new BlockBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a URL to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Quick query for a JSON or CSV formatted blob.
+       *
+       * Example usage (Node.js):
+       *
+       * ```ts snippet:ClientsQuery
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * // Query and convert a blob to a string
+       * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage");
+       * if (queryBlockBlobResponse.readableStreamBody) {
+       *   const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody);
+       *   const downloaded = downloadedBuffer.toString();
+       *   console.log(`Query blob content: ${downloaded}`);
+       * }
+       *
+       * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise {
+       *   return new Promise((resolve, reject) => {
+       *     const chunks: Buffer[] = [];
+       *     readableStream.on("data", (data) => {
+       *       chunks.push(data instanceof Buffer ? data : Buffer.from(data));
+       *     });
+       *     readableStream.on("end", () => {
+       *       resolve(Buffer.concat(chunks));
+       *     });
+       *     readableStream.on("error", reject);
+       *   });
+       * }
+       * ```
+       *
+       * @param query -
+       * @param options -
+       */
+      async query(query, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        if (!core_util_1.isNodeLike) {
+          throw new Error("This operation currently is only supported in Node.js.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({
+            abortSignal: options.abortSignal,
+            queryRequest: {
+              queryType: "SQL",
+              expression: query,
+              inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration),
+              outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration)
+            },
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return new BlobQueryResponse_js_1.BlobQueryResponse(response, {
+            abortSignal: options.abortSignal,
+            onProgress: options.onProgress,
+            onError: options.onError
+          });
+        });
+      }
+      /**
+       * Creates a new block blob, or updates the content of an existing block blob.
+       * Updating an existing block blob overwrites any existing metadata on the blob.
+       * Partial updates are not supported; the content of the existing blob is
+       * overwritten with the new content. To perform a partial update of a block blob's,
+       * use {@link stageBlock} and {@link commitBlockList}.
+       *
+       * This is a non-parallel uploading method, please use {@link uploadFile},
+       * {@link uploadStream} or {@link uploadBrowserData} for better performance
+       * with concurrency uploading.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
+       *                               which returns a new Readable stream whose offset is from data source beginning.
+       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
+       *                               string including non non-Base64/Hex-encoded characters.
+       * @param options - Options to the Block Blob Upload operation.
+       * @returns Response data for the Block Blob Upload operation.
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsUpload
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * const content = "Hello world!";
+       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
+       * ```
+       */
+      async upload(body, contentLength, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = {
-      serializedName: "AppendBlob_appendBlockFromUrlExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockFromUrlExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+      /**
+       * Creates a new Block Blob where the contents of the blob are read from a given URL.
+       * This API is supported beginning with the 2020-04-08 version. Partial updates
+       * are not supported with Put Blob from URL; the content of an existing blob is overwritten with
+       * the content of the new blob.  To perform partial updates to a block blob’s contents using a
+       * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}.
+       *
+       * @param sourceURL - Specifies the URL of the blob. The value
+       *                           may be a URL of up to 2 KB in length that specifies a blob.
+       *                           The value should be URL-encoded as it would appear
+       *                           in a request URI. The source blob must either be public
+       *                           or must be authenticated via a shared access signature.
+       *                           If the source blob is public, no authentication is required
+       *                           to perform the operation. Here are some examples of source object URLs:
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param options - Optional parameters.
+       */
+      async syncUploadFromURL(sourceURL, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
+            ...options,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
+              sourceIfTags: options.sourceConditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            copySourceTags: options.copySourceTags,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.AppendBlobSealHeaders = {
-      serializedName: "AppendBlob_sealHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobSealHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isSealed: {
-            serializedName: "x-ms-blob-sealed",
-            xmlName: "x-ms-blob-sealed",
-            type: {
-              name: "Boolean"
-            }
-          }
-        }
+      /**
+       * Uploads the specified block to the block blob's "staging area" to be later
+       * committed by a call to commitBlockList.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block
+       *
+       * @param blockId - A 64-byte value that is base64-encoded
+       * @param body - Data to upload to the staging area.
+       * @param contentLength - Number of bytes to upload.
+       * @param options - Options to the Block Blob Stage Block operation.
+       * @returns Response data for the Block Blob Stage Block operation.
+       */
+      async stageBlock(blockId, body, contentLength, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.AppendBlobSealExceptionHeaders = {
-      serializedName: "AppendBlob_sealExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobSealExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The Stage Block From URL operation creates a new block to be committed as part
+       * of a blob where the contents are read from a URL.
+       * This API is available starting in version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url
+       *
+       * @param blockId - A 64-byte value that is base64-encoded
+       * @param sourceURL - Specifies the URL of the blob. The value
+       *                           may be a URL of up to 2 KB in length that specifies a blob.
+       *                           The value should be URL-encoded as it would appear
+       *                           in a request URI. The source blob must either be public
+       *                           or must be authenticated via a shared access signature.
+       *                           If the source blob is public, no authentication is required
+       *                           to perform the operation. Here are some examples of source object URLs:
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param offset - From which position of the blob to download, greater than or equal to 0
+       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
+       * @param options - Options to the Block Blob Stage Block From URL operation.
+       * @returns Response data for the Block Blob Stage Block From URL operation.
+       */
+      async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.BlockBlobUploadHeaders = {
-      serializedName: "BlockBlob_uploadHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobUploadHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Writes a blob by specifying the list of block IDs that make up the blob.
+       * In order to be written as part of a blob, a block must have been successfully written
+       * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to
+       * update a blob by uploading only those blocks that have changed, then committing the new and existing
+       * blocks together. Any blocks not specified in the block list and permanently deleted.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list
+       *
+       * @param blocks -  Array of 64-byte value that is base64-encoded
+       * @param options - Options to the Block Blob Commit Block List operation.
+       * @returns Response data for the Block Blob Commit Block List operation.
+       */
+      async commitBlockList(blocks, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns the list of blocks that have been uploaded as part of a block blob
+       * using the specified block list filter.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list
+       *
+       * @param listType - Specifies whether to return the list of committed blocks,
+       *                                        the list of uncommitted blocks, or both lists together.
+       * @param options - Options to the Block Blob Get Block List operation.
+       * @returns Response data for the Block Blob Get Block List operation.
+       */
+      async getBlockList(listType, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          if (!res.committedBlocks) {
+            res.committedBlocks = [];
           }
-        }
+          if (!res.uncommittedBlocks) {
+            res.uncommittedBlocks = [];
+          }
+          return res;
+        });
       }
-    };
-    exports2.BlockBlobUploadExceptionHeaders = {
-      serializedName: "BlockBlob_uploadExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobUploadExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      // High level functions
+      /**
+       * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob.
+       *
+       * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
+       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
+       * to commit the block list.
+       *
+       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
+       * `blobContentType`, enabling the browser to provide
+       * functionality based on file type.
+       *
+       * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView
+       * @param options -
+       */
+      async uploadData(data, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => {
+          if (core_util_1.isNodeLike) {
+            let buffer;
+            if (data instanceof Buffer) {
+              buffer = data;
+            } else if (data instanceof ArrayBuffer) {
+              buffer = Buffer.from(data);
+            } else {
+              data = data;
+              buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
             }
+            return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions);
+          } else {
+            const browserBlob = new Blob([data]);
+            return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
           }
-        }
+        });
       }
-    };
-    exports2.BlockBlobPutBlobFromUrlHeaders = {
-      serializedName: "BlockBlob_putBlobFromUrlHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobPutBlobFromUrlHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * ONLY AVAILABLE IN BROWSERS.
+       *
+       * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob.
+       *
+       * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call
+       * {@link commitBlockList} to commit the block list.
+       *
+       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
+       * `blobContentType`, enabling the browser to provide
+       * functionality based on file type.
+       *
+       * @deprecated Use {@link uploadData} instead.
+       *
+       * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView
+       * @param options - Options to upload browser data.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadBrowserData(browserData, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => {
+          const browserBlob = new Blob([browserData]);
+          return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+        });
+      }
+      /**
+       *
+       * Uploads data to block blob. Requires a bodyFactory as the data source,
+       * which need to return a {@link HttpRequestBody} object with the offset and size provided.
+       *
+       * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
+       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
+       * to commit the block list.
+       *
+       * @param bodyFactory -
+       * @param size - size of the data to upload.
+       * @param options - Options to Upload to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadSeekableInternal(bodyFactory, size, options = {}) {
+        let blockSize = options.blockSize ?? 0;
+        if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
+          throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
+        }
+        const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
+        if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
+          throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
+        }
+        if (blockSize === 0) {
+          if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
+            throw new RangeError(`${size} is too larger to upload to a block blob.`);
+          }
+          if (size > maxSingleShotSize) {
+            blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS);
+            if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) {
+              blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
             }
           }
         }
+        if (!options.blobHTTPHeaders) {
+          options.blobHTTPHeaders = {};
+        }
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => {
+          if (size <= maxSingleShotSize) {
+            return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions));
+          }
+          const numBlocks = Math.floor((size - 1) / blockSize) + 1;
+          if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
+            throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`);
+          }
+          const blockList = [];
+          const blockIDPrefix = (0, core_util_2.randomUUID)();
+          let transferProgress = 0;
+          const batch = new Batch_js_1.Batch(options.concurrency);
+          for (let i = 0; i < numBlocks; i++) {
+            batch.addOperation(async () => {
+              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i);
+              const start = blockSize * i;
+              const end = i === numBlocks - 1 ? size : start + blockSize;
+              const contentLength = end - start;
+              blockList.push(blockID);
+              await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, {
+                abortSignal: options.abortSignal,
+                conditions: options.conditions,
+                encryptionScope: options.encryptionScope,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              transferProgress += contentLength;
+              if (options.onProgress) {
+                options.onProgress({
+                  loadedBytes: transferProgress
+                });
+              }
+            });
+          }
+          await batch.do();
+          return this.commitBlockList(blockList, updatedOptions);
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Uploads a local file in blocks to a block blob.
+       *
+       * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
+       * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList
+       * to commit the block list.
+       *
+       * @param filePath - Full path of local file
+       * @param options - Options to Upload to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadFile(filePath, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => {
+          const size = (await (0, utils_js_1.fsStat)(filePath)).size;
+          return this.uploadSeekableInternal((offset, count) => {
+            return () => (0, utils_js_1.fsCreateReadStream)(filePath, {
+              autoClose: true,
+              end: count ? offset + count - 1 : Infinity,
+              start: offset
+            });
+          }, size, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          });
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Uploads a Node.js Readable stream into block blob.
+       *
+       * PERFORMANCE IMPROVEMENT TIPS:
+       * * Input stream highWaterMark is better to set a same value with bufferSize
+       *    parameter, which will avoid Buffer.concat() operations.
+       *
+       * @param stream - Node.js Readable stream
+       * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB
+       * @param maxConcurrency -  Max concurrency indicates the max number of buffers that can be allocated,
+       *                                 positive correlation with max uploading concurrency. Default value is 5
+       * @param options - Options to Upload Stream to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadStream(stream, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) {
+        if (!options.blobHTTPHeaders) {
+          options.blobHTTPHeaders = {};
+        }
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => {
+          let blockNum = 0;
+          const blockIDPrefix = (0, core_util_2.randomUUID)();
+          let transferProgress = 0;
+          const blockList = [];
+          const scheduler = new storage_common_1.BufferScheduler(
+            stream,
+            bufferSize,
+            maxConcurrency,
+            async (body, length) => {
+              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum);
+              blockList.push(blockID);
+              blockNum++;
+              await this.stageBlock(blockID, body, length, {
+                customerProvidedKey: options.customerProvidedKey,
+                conditions: options.conditions,
+                encryptionScope: options.encryptionScope,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              transferProgress += length;
+              if (options.onProgress) {
+                options.onProgress({ loadedBytes: transferProgress });
+              }
+            },
+            // concurrency should set a smaller value than maxConcurrency, which is helpful to
+            // reduce the possibility when a outgoing handler waits for stream data, in
+            // this situation, outgoing handlers are blocked.
+            // Outgoing queue shouldn't be empty.
+            Math.ceil(maxConcurrency / 4 * 3)
+          );
+          await scheduler.do();
+          return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.BlockBlobPutBlobFromUrlExceptionHeaders = {
-      serializedName: "BlockBlob_putBlobFromUrlExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobPutBlobFromUrlExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
+    exports2.BlockBlobClient = BlockBlobClient;
+    var PageBlobClient = class _PageBlobClient extends BlobClient {
+      /**
+       * pageBlobsContext provided by protocol layer.
+       */
+      pageBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        this.pageBlobContext = this.storageClientContext.pageBlob;
       }
-    };
-    exports2.BlockBlobStageBlockHeaders = {
-      serializedName: "BlockBlob_stageBlockHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockHeaders",
-        modelProperties: {
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Creates a new PageBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * Creates a page blob of the specified length. Call uploadPages to upload data
+       * data to a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param size - size of the page blob.
+       * @param options - Options to the Page Blob Create operation.
+       * @returns Response data for the Page Blob Create operation.
+       */
+      async create(size, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            blobSequenceNumber: options.blobSequenceNumber,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a page blob of the specified length. Call uploadPages to upload data
+       * data to a page blob. If the blob with the same name already exists, the content
+       * of the existing blob will remain unchanged.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param size - size of the page blob.
+       * @param options -
+       */
+      async createIfNotExists(size, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const conditions = { ifNoneMatch: constants_js_1.ETagAny };
+            const res = (0, utils_common_js_1.assertResponse)(await this.create(size, {
+              ...options,
+              conditions,
+              tracingOptions: updatedOptions.tracingOptions
+            }));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
+        });
+      }
+      /**
+       * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
+       *
+       * @param body - Data to upload
+       * @param offset - Offset of destination page blob
+       * @param count - Content length of the body, also number of bytes to be uploaded
+       * @param options - Options to the Page Blob Upload Pages operation.
+       * @returns Response data for the Page Blob Upload Pages operation.
+       */
+      async uploadPages(body, offset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            sequenceNumberAccessConditions: options.conditions,
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob where the
+       * contents are read from a URL.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url
+       *
+       * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication
+       * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob
+       * @param destOffset - Offset of destination page blob
+       * @param count - Number of bytes to be uploaded from source page blob
+       * @param options -
+       */
+      async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), {
+            abortSignal: options.abortSignal,
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            leaseAccessConditions: options.conditions,
+            sequenceNumberAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Frees the specified pages from the page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
+       *
+       * @param offset - Starting byte position of the pages to clear.
+       * @param count - Number of bytes to clear.
+       * @param options - Options to the Page Blob Clear Pages operation.
+       * @returns Response data for the Page Blob Clear Pages operation.
+       */
+      async clearPages(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            sequenceNumberAccessConditions: options.conditions,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns the list of valid page ranges for a page blob or snapshot of a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns Response data for the Page Blob Get Ranges operation.
+       */
+      async getPageRanges(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
+        });
+      }
+      /**
+       * getPageRangesSegment returns a single segment of page ranges starting from the
+       * specified Marker. Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call getPageRangesSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to PageBlob Get Page Ranges Segment operation.
+       */
+      async listPageRangesSegment(offset = 0, count, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel}
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param marker - A string value that identifies the portion of
+       *                          the get of page ranges to be returned with the next getting operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          getting operation did not return all page ranges remaining within the current page.
+       *                          The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of get
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to List Page Ranges operation.
+       */
+      async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
+        let getPageRangeItemSegmentsResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
+            marker = getPageRangeItemSegmentsResponse.continuationToken;
+            yield await getPageRangeItemSegmentsResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.BlockBlobStageBlockExceptionHeaders = {
-      serializedName: "BlockBlob_stageBlockExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to List Page Ranges operation.
+       */
+      async *listPageRangeItems(offset = 0, count, options = {}) {
+        let marker;
+        for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
+          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
         }
       }
-    };
-    exports2.BlockBlobStageBlockFromURLHeaders = {
-      serializedName: "BlockBlob_stageBlockFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockFromURLHeaders",
-        modelProperties: {
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns an async iterable iterator to list of page ranges for a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       *  .byPage() returns an async iterable iterator to list of page ranges for a page blob.
+       *
+       * ```ts snippet:ClientsListPageBlobs
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const pageRange of pageBlobClient.listPageRanges()) {
+       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = pageBlobClient.listPageRanges();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
+       *   for (const pageRange of page.pageRange || []) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listPageRanges(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        const iter = this.listPageRangeItems(offset, count, options);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...options
+            });
           }
+        };
+      }
+      /**
+       * Gets the collection of page ranges that differ between a specified snapshot and this page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page blob
+       * @param count - Number of bytes to get ranges diff.
+       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       * @returns Response data for the Page Blob Get Page Range Diff operation.
+       */
+      async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
+          const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            prevsnapshot: prevSnapshot,
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result);
+        });
+      }
+      /**
+       * getPageRangesDiffSegment returns a single segment of page ranges starting from the
+       * specified Marker for difference between previous snapshot and the target page blob.
+       * Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call getPageRangesDiffSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param marker - A string value that identifies the portion of the get to be returned with the next get operation.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options?.abortSignal,
+            leaseAccessConditions: options?.conditions,
+            modifiedAccessConditions: {
+              ...options?.conditions,
+              ifTags: options?.conditions?.tagConditions
+            },
+            prevsnapshot: prevSnapshotOrUrl,
+            range: (0, Range_js_1.rangeToString)({
+              offset,
+              count
+            }),
+            marker,
+            maxPageSize: options?.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel}
+       *
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param marker - A string value that identifies the portion of
+       *                          the get of page ranges to be returned with the next getting operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          getting operation did not return all page ranges remaining within the current page.
+       *                          The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of get
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
+        let getPageRangeItemSegmentsResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
+            marker = getPageRangeItemSegmentsResponse.continuationToken;
+            yield await getPageRangeItemSegmentsResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.BlockBlobStageBlockFromURLExceptionHeaders = {
-      serializedName: "BlockBlob_stageBlockFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
+        let marker;
+        for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
+          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
         }
       }
-    };
-    exports2.BlockBlobCommitBlockListHeaders = {
-      serializedName: "BlockBlob_commitBlockListHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobCommitBlockListHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       *  .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
+       *
+       * ```ts snippet:ClientsListPageBlobsDiff
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
+       *
+       * const offset = 0;
+       * const count = 1024;
+       * const previousSnapshot = "";
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) {
+       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot);
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const pageRange of page.pageRange || []) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
+        options.conditions = options.conditions || {};
+        const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
+          ...options
+        });
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...options
+            });
           }
-        }
+        };
       }
-    };
-    exports2.BlockBlobCommitBlockListExceptionHeaders = {
-      serializedName: "BlockBlob_commitBlockListExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobCommitBlockListExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page blob
+       * @param count - Number of bytes to get ranges diff.
+       * @param prevSnapshotUrl - URL of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       * @returns Response data for the Page Blob Get Page Range Diff operation.
+       */
+      async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            prevSnapshotUrl,
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
+        });
       }
-    };
-    exports2.BlockBlobGetBlockListHeaders = {
-      serializedName: "BlockBlob_getBlockListHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobGetBlockListHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentLength: {
-            serializedName: "x-ms-blob-content-length",
-            xmlName: "x-ms-blob-content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Resizes the page blob to the specified size (which must be a multiple of 512).
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param size - Target size
+       * @param options - Options to the Page Blob Resize operation.
+       * @returns Response data for the Page Blob Resize operation.
+       */
+      async resize(size, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.BlockBlobGetBlockListExceptionHeaders = {
-      serializedName: "BlockBlob_getBlockListExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobGetBlockListExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Sets a page blob's sequence number.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number.
+       * @param sequenceNumber - Required if sequenceNumberAction is max or update
+       * @param options - Options to the Page Blob Update Sequence Number operation.
+       * @returns Response data for the Page Blob Update Sequence Number operation.
+       */
+      async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
+            abortSignal: options.abortSignal,
+            blobSequenceNumber: sequenceNumber,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob.
+       * The snapshot is copied such that only the differential changes between the previously
+       * copied snapshot are transferred to the destination.
+       * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual.
+       * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob
+       * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots
+       *
+       * @param copySource - Specifies the name of the source page blob snapshot. For example,
+       *                            https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param options - Options to the Page Blob Copy Incremental operation.
+       * @returns Response data for the Page Blob Copy Incremental operation.
+       */
+      async startCopyIncremental(copySource, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
+    exports2.PageBlobClient = PageBlobClient;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js
-var require_parameters = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js
+var require_BatchUtils = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.action3 = exports2.action2 = exports2.leaseId1 = exports2.action1 = exports2.proposedLeaseId = exports2.duration = exports2.action = exports2.comp10 = exports2.sourceLeaseId = exports2.sourceContainerName = exports2.comp9 = exports2.deletedContainerVersion = exports2.deletedContainerName = exports2.comp8 = exports2.containerAcl = exports2.comp7 = exports2.comp6 = exports2.ifUnmodifiedSince = exports2.ifModifiedSince = exports2.leaseId = exports2.preventEncryptionScopeOverride = exports2.defaultEncryptionScope = exports2.access = exports2.metadata = exports2.restype2 = exports2.where = exports2.comp5 = exports2.multipartContentType = exports2.contentLength = exports2.comp4 = exports2.body = exports2.restype1 = exports2.comp3 = exports2.keyInfo = exports2.include = exports2.maxPageSize = exports2.marker = exports2.prefix = exports2.comp2 = exports2.comp1 = exports2.accept1 = exports2.requestId = exports2.version = exports2.timeoutInSeconds = exports2.comp = exports2.restype = exports2.url = exports2.accept = exports2.blobServiceProperties = exports2.contentType = void 0;
-    exports2.fileRequestIntent = exports2.copySourceTags = exports2.copySourceAuthorization = exports2.sourceContentMD5 = exports2.xMsRequiresSync = exports2.legalHold1 = exports2.sealBlob = exports2.blobTagsString = exports2.copySource = exports2.sourceIfTags = exports2.sourceIfNoneMatch = exports2.sourceIfMatch = exports2.sourceIfUnmodifiedSince = exports2.sourceIfModifiedSince = exports2.rehydratePriority = exports2.tier = exports2.comp14 = exports2.encryptionScope = exports2.legalHold = exports2.comp13 = exports2.immutabilityPolicyMode = exports2.immutabilityPolicyExpiry = exports2.comp12 = exports2.blobContentDisposition = exports2.blobContentLanguage = exports2.blobContentEncoding = exports2.blobContentMD5 = exports2.blobContentType = exports2.blobCacheControl = exports2.expiresOn = exports2.expiryOptions = exports2.comp11 = exports2.blobDeleteType = exports2.deleteSnapshots = exports2.ifTags = exports2.ifNoneMatch = exports2.ifMatch = exports2.encryptionAlgorithm = exports2.encryptionKeySha256 = exports2.encryptionKey = exports2.rangeGetContentCRC64 = exports2.rangeGetContentMD5 = exports2.range = exports2.versionId = exports2.snapshot = exports2.delimiter = exports2.include1 = exports2.proposedLeaseId1 = exports2.action4 = exports2.breakPeriod = void 0;
-    exports2.listType = exports2.comp25 = exports2.blocks = exports2.blockId = exports2.comp24 = exports2.copySourceBlobProperties = exports2.blobType2 = exports2.comp23 = exports2.sourceRange1 = exports2.appendPosition = exports2.maxSize = exports2.comp22 = exports2.blobType1 = exports2.comp21 = exports2.sequenceNumberAction = exports2.prevSnapshotUrl = exports2.prevsnapshot = exports2.comp20 = exports2.range1 = exports2.sourceContentCrc64 = exports2.sourceRange = exports2.sourceUrl = exports2.pageWrite1 = exports2.ifSequenceNumberEqualTo = exports2.ifSequenceNumberLessThan = exports2.ifSequenceNumberLessThanOrEqualTo = exports2.pageWrite = exports2.comp19 = exports2.accept2 = exports2.body1 = exports2.contentType1 = exports2.blobSequenceNumber = exports2.blobContentLength = exports2.blobType = exports2.transactionalContentCrc64 = exports2.transactionalContentMD5 = exports2.tags = exports2.comp18 = exports2.comp17 = exports2.queryRequest = exports2.tier1 = exports2.comp16 = exports2.copyId = exports2.copyActionAbortConstant = exports2.comp15 = void 0;
-    var mappers_js_1 = require_mappers();
-    exports2.contentType = {
-      parameterPath: ["options", "contentType"],
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Content-Type",
-        type: {
-          name: "String"
-        }
-      }
-    };
-    exports2.blobServiceProperties = {
-      parameterPath: "blobServiceProperties",
-      mapper: mappers_js_1.BlobServiceProperties
-    };
-    exports2.accept = {
-      parameterPath: "accept",
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Accept",
-        type: {
-          name: "String"
-        }
-      }
-    };
-    exports2.url = {
-      parameterPath: "url",
-      mapper: {
-        serializedName: "url",
-        required: true,
-        xmlName: "url",
-        type: {
-          name: "String"
+    exports2.getBodyAsText = getBodyAsText;
+    exports2.utf8ByteLength = utf8ByteLength;
+    var utils_js_1 = require_utils7();
+    var constants_js_1 = require_constants15();
+    async function getBodyAsText(batchResponse) {
+      let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES);
+      const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer);
+      buffer = buffer.slice(0, responseLength);
+      return buffer.toString();
+    }
+    function utf8ByteLength(str2) {
+      return Buffer.byteLength(str2);
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js
+var require_BatchResponseParser = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BatchResponseParser = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_http_compat_1 = require_commonjs9();
+    var constants_js_1 = require_constants15();
+    var BatchUtils_js_1 = require_BatchUtils();
+    var log_js_1 = require_log5();
+    var HTTP_HEADER_DELIMITER = ": ";
+    var SPACE_DELIMITER = " ";
+    var NOT_FOUND = -1;
+    var BatchResponseParser = class {
+      batchResponse;
+      responseBatchBoundary;
+      perResponsePrefix;
+      batchResponseEnding;
+      subRequests;
+      constructor(batchResponse, subRequests) {
+        if (!batchResponse || !batchResponse.contentType) {
+          throw new RangeError("batchResponse is malformed or doesn't contain valid content-type.");
         }
-      },
-      skipEncoding: true
-    };
-    exports2.restype = {
-      parameterPath: "restype",
-      mapper: {
-        defaultValue: "service",
-        isConstant: true,
-        serializedName: "restype",
-        type: {
-          name: "String"
+        if (!subRequests || subRequests.size === 0) {
+          throw new RangeError("Invalid state: subRequests is not provided or size is 0.");
         }
+        this.batchResponse = batchResponse;
+        this.subRequests = subRequests;
+        this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1];
+        this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`;
+        this.batchResponseEnding = `--${this.responseBatchBoundary}--`;
       }
-    };
-    exports2.comp = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "properties",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response
+      async parseBatchResponse() {
+        if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) {
+          throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`);
         }
-      }
-    };
-    exports2.timeoutInSeconds = {
-      parameterPath: ["options", "timeoutInSeconds"],
-      mapper: {
-        constraints: {
-          InclusiveMinimum: 0
-        },
-        serializedName: "timeout",
-        xmlName: "timeout",
-        type: {
-          name: "Number"
+        const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse);
+        const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1);
+        const subResponseCount = subResponses.length;
+        if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) {
+          throw new Error("Invalid state: sub responses' count is not equal to sub requests' count.");
         }
-      }
-    };
-    exports2.version = {
-      parameterPath: "version",
-      mapper: {
-        defaultValue: "2025-11-05",
-        isConstant: true,
-        serializedName: "x-ms-version",
-        type: {
-          name: "String"
+        const deserializedSubResponses = new Array(subResponseCount);
+        let subResponsesSucceededCount = 0;
+        let subResponsesFailedCount = 0;
+        for (let index = 0; index < subResponseCount; index++) {
+          const subResponse = subResponses[index];
+          const deserializedSubResponse = {};
+          deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)());
+          const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`);
+          let subRespHeaderStartFound = false;
+          let subRespHeaderEndFound = false;
+          let subRespFailed = false;
+          let contentId = NOT_FOUND;
+          for (const responseLine of responseLines) {
+            if (!subRespHeaderStartFound) {
+              if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) {
+                contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]);
+              }
+              if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) {
+                subRespHeaderStartFound = true;
+                const tokens = responseLine.split(SPACE_DELIMITER);
+                deserializedSubResponse.status = parseInt(tokens[1]);
+                deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER);
+              }
+              continue;
+            }
+            if (responseLine.trim() === "") {
+              if (!subRespHeaderEndFound) {
+                subRespHeaderEndFound = true;
+              }
+              continue;
+            }
+            if (!subRespHeaderEndFound) {
+              if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) {
+                throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`);
+              }
+              const tokens = responseLine.split(HTTP_HEADER_DELIMITER);
+              deserializedSubResponse.headers.set(tokens[0], tokens[1]);
+              if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) {
+                deserializedSubResponse.errorCode = tokens[1];
+                subRespFailed = true;
+              }
+            } else {
+              if (!deserializedSubResponse.bodyAsText) {
+                deserializedSubResponse.bodyAsText = "";
+              }
+              deserializedSubResponse.bodyAsText += responseLine;
+            }
+          }
+          if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) {
+            deserializedSubResponse._request = this.subRequests.get(contentId);
+            deserializedSubResponses[contentId] = deserializedSubResponse;
+          } else {
+            log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`);
+          }
+          if (subRespFailed) {
+            subResponsesFailedCount++;
+          } else {
+            subResponsesSucceededCount++;
+          }
         }
+        return {
+          subResponses: deserializedSubResponses,
+          subResponsesSucceededCount,
+          subResponsesFailedCount
+        };
       }
     };
-    exports2.requestId = {
-      parameterPath: ["options", "requestId"],
-      mapper: {
-        serializedName: "x-ms-client-request-id",
-        xmlName: "x-ms-client-request-id",
-        type: {
-          name: "String"
-        }
+    exports2.BatchResponseParser = BatchResponseParser;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js
+var require_Mutex = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Mutex = void 0;
+    var MutexLockStatus;
+    (function(MutexLockStatus2) {
+      MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED";
+      MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED";
+    })(MutexLockStatus || (MutexLockStatus = {}));
+    var Mutex = class {
+      /**
+       * Lock for a specific key. If the lock has been acquired by another customer, then
+       * will wait until getting the lock.
+       *
+       * @param key - lock key
+       */
+      static async lock(key) {
+        return new Promise((resolve3) => {
+          if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) {
+            this.keys[key] = MutexLockStatus.LOCKED;
+            resolve3();
+          } else {
+            this.onUnlockEvent(key, () => {
+              this.keys[key] = MutexLockStatus.LOCKED;
+              resolve3();
+            });
+          }
+        });
       }
-    };
-    exports2.accept1 = {
-      parameterPath: "accept",
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Accept",
-        type: {
-          name: "String"
-        }
+      /**
+       * Unlock a key.
+       *
+       * @param key -
+       */
+      static async unlock(key) {
+        return new Promise((resolve3) => {
+          if (this.keys[key] === MutexLockStatus.LOCKED) {
+            this.emitUnlockEvent(key);
+          }
+          delete this.keys[key];
+          resolve3();
+        });
       }
-    };
-    exports2.comp1 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "stats",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      static keys = {};
+      static listeners = {};
+      static onUnlockEvent(key, handler2) {
+        if (this.listeners[key] === void 0) {
+          this.listeners[key] = [handler2];
+        } else {
+          this.listeners[key].push(handler2);
         }
       }
-    };
-    exports2.comp2 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "list",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      static emitUnlockEvent(key) {
+        if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) {
+          const handler2 = this.listeners[key].shift();
+          setImmediate(() => {
+            handler2.call(this);
+          });
         }
       }
     };
-    exports2.prefix = {
-      parameterPath: ["options", "prefix"],
-      mapper: {
-        serializedName: "prefix",
-        xmlName: "prefix",
-        type: {
-          name: "String"
-        }
+    exports2.Mutex = Mutex;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js
+var require_BlobBatch = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBatch = void 0;
+    var core_util_1 = require_commonjs4();
+    var core_auth_1 = require_commonjs7();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_2 = require_commonjs4();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var Clients_js_1 = require_Clients();
+    var Mutex_js_1 = require_Mutex();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var core_xml_1 = require_commonjs10();
+    var constants_js_1 = require_constants15();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var tracing_js_1 = require_tracing();
+    var core_client_1 = require_commonjs8();
+    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
+    var BlobBatch = class {
+      batchRequest;
+      batch = "batch";
+      batchType;
+      constructor() {
+        this.batchRequest = new InnerBatchRequest();
       }
-    };
-    exports2.marker = {
-      parameterPath: ["options", "marker"],
-      mapper: {
-        serializedName: "marker",
-        xmlName: "marker",
-        type: {
-          name: "String"
-        }
+      /**
+       * Get the value of Content-Type for a batch request.
+       * The value must be multipart/mixed with a batch boundary.
+       * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252
+       */
+      getMultiPartContentType() {
+        return this.batchRequest.getMultipartContentType();
       }
-    };
-    exports2.maxPageSize = {
-      parameterPath: ["options", "maxPageSize"],
-      mapper: {
-        constraints: {
-          InclusiveMinimum: 1
-        },
-        serializedName: "maxresults",
-        xmlName: "maxresults",
-        type: {
-          name: "Number"
-        }
+      /**
+       * Get assembled HTTP request body for sub requests.
+       */
+      getHttpRequestBody() {
+        return this.batchRequest.getHttpRequestBody();
       }
-    };
-    exports2.include = {
-      parameterPath: ["options", "include"],
-      mapper: {
-        serializedName: "include",
-        xmlName: "include",
-        xmlElementName: "ListContainersIncludeType",
-        type: {
-          name: "Sequence",
-          element: {
-            type: {
-              name: "Enum",
-              allowedValues: ["metadata", "deleted", "system"]
-            }
-          }
-        }
-      },
-      collectionFormat: "CSV"
-    };
-    exports2.keyInfo = {
-      parameterPath: "keyInfo",
-      mapper: mappers_js_1.KeyInfo
-    };
-    exports2.comp3 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "userdelegationkey",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      /**
+       * Get sub requests that are added into the batch request.
+       */
+      getSubRequests() {
+        return this.batchRequest.getSubRequests();
       }
-    };
-    exports2.restype1 = {
-      parameterPath: "restype",
-      mapper: {
-        defaultValue: "account",
-        isConstant: true,
-        serializedName: "restype",
-        type: {
-          name: "String"
+      async addSubRequestInternal(subRequest, assembleSubRequestFunc) {
+        await Mutex_js_1.Mutex.lock(this.batch);
+        try {
+          this.batchRequest.preAddSubRequest(subRequest);
+          await assembleSubRequestFunc();
+          this.batchRequest.postAddSubRequest(subRequest);
+        } finally {
+          await Mutex_js_1.Mutex.unlock(this.batch);
         }
       }
-    };
-    exports2.body = {
-      parameterPath: "body",
-      mapper: {
-        serializedName: "body",
-        required: true,
-        xmlName: "body",
-        type: {
-          name: "Stream"
+      setBatchType(batchType) {
+        if (!this.batchType) {
+          this.batchType = batchType;
         }
-      }
-    };
-    exports2.comp4 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "batch",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (this.batchType !== batchType) {
+          throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`);
         }
       }
-    };
-    exports2.contentLength = {
-      parameterPath: "contentLength",
-      mapper: {
-        serializedName: "Content-Length",
-        required: true,
-        xmlName: "Content-Length",
-        type: {
-          name: "Number"
+      async deleteBlob(urlOrBlobClient, credentialOrOptions, options) {
+        let url;
+        let credential;
+        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) {
+          url = urlOrBlobClient;
+          credential = credentialOrOptions;
+        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
+          url = urlOrBlobClient.url;
+          credential = urlOrBlobClient.credential;
+          options = credentialOrOptions;
+        } else {
+          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
         }
-      }
-    };
-    exports2.multipartContentType = {
-      parameterPath: "multipartContentType",
-      mapper: {
-        serializedName: "Content-Type",
-        required: true,
-        xmlName: "Content-Type",
-        type: {
-          name: "String"
+        if (!options) {
+          options = {};
         }
+        return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => {
+          this.setBatchType("delete");
+          await this.addSubRequestInternal({
+            url,
+            credential
+          }, async () => {
+            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).delete(updatedOptions);
+          });
+        });
       }
-    };
-    exports2.comp5 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "blobs",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) {
+        let url;
+        let credential;
+        let tier;
+        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) {
+          url = urlOrBlobClient;
+          credential = credentialOrTier;
+          tier = tierOrOptions;
+        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
+          url = urlOrBlobClient.url;
+          credential = urlOrBlobClient.credential;
+          tier = credentialOrTier;
+          options = tierOrOptions;
+        } else {
+          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
         }
-      }
-    };
-    exports2.where = {
-      parameterPath: ["options", "where"],
-      mapper: {
-        serializedName: "where",
-        xmlName: "where",
-        type: {
-          name: "String"
+        if (!options) {
+          options = {};
         }
+        return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => {
+          this.setBatchType("setAccessTier");
+          await this.addSubRequestInternal({
+            url,
+            credential
+          }, async () => {
+            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions);
+          });
+        });
       }
     };
-    exports2.restype2 = {
-      parameterPath: "restype",
-      mapper: {
-        defaultValue: "container",
-        isConstant: true,
-        serializedName: "restype",
-        type: {
-          name: "String"
-        }
+    exports2.BlobBatch = BlobBatch;
+    var InnerBatchRequest = class {
+      operationCount;
+      body;
+      subRequests;
+      boundary;
+      subRequestPrefix;
+      multipartContentType;
+      batchRequestEnding;
+      constructor() {
+        this.operationCount = 0;
+        this.body = "";
+        const tempGuid = (0, core_util_1.randomUUID)();
+        this.boundary = `batch_${tempGuid}`;
+        this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`;
+        this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`;
+        this.batchRequestEnding = `--${this.boundary}--`;
+        this.subRequests = /* @__PURE__ */ new Map();
       }
-    };
-    exports2.metadata = {
-      parameterPath: ["options", "metadata"],
-      mapper: {
-        serializedName: "x-ms-meta",
-        xmlName: "x-ms-meta",
-        headerCollectionPrefix: "x-ms-meta-",
-        type: {
-          name: "Dictionary",
-          value: { type: { name: "String" } }
+      /**
+       * Create pipeline to assemble sub requests. The idea here is to use existing
+       * credential and serialization/deserialization components, with additional policies to
+       * filter unnecessary headers, assemble sub requests into request's body
+       * and intercept request from going to wire.
+       * @param credential -  Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
+       */
+      createPipeline(credential) {
+        const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)();
+        corePipeline.addPolicy((0, core_client_1.serializationPolicy)({
+          stringifyXML: core_xml_1.stringifyXML,
+          serializerOptions: {
+            xml: {
+              xmlCharKey: "#"
+            }
+          }
+        }), { phase: "Serialize" });
+        corePipeline.addPolicy(batchHeaderFilterPolicy());
+        corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" });
+        if ((0, core_auth_1.isTokenCredential)(credential)) {
+          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+            credential,
+            scopes: constants_js_1.StorageOAuthScopes,
+            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
+          }), { phase: "Sign" });
+        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
+            accountName: credential.accountName,
+            accountKey: credential.accountKey
+          }), { phase: "Sign" });
         }
+        const pipeline = new Pipeline_js_1.Pipeline([]);
+        pipeline._credential = credential;
+        pipeline._corePipeline = corePipeline;
+        return pipeline;
       }
-    };
-    exports2.access = {
-      parameterPath: ["options", "access"],
-      mapper: {
-        serializedName: "x-ms-blob-public-access",
-        xmlName: "x-ms-blob-public-access",
-        type: {
-          name: "Enum",
-          allowedValues: ["container", "blob"]
+      appendSubRequestToBody(request2) {
+        this.body += [
+          this.subRequestPrefix,
+          // sub request constant prefix
+          `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`,
+          // sub request's content ID
+          "",
+          // empty line after sub request's content ID
+          `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}`
+          // sub request start line with method
+        ].join(constants_js_1.HTTP_LINE_ENDING);
+        for (const [name, value] of request2.headers) {
+          this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`;
         }
+        this.body += constants_js_1.HTTP_LINE_ENDING;
       }
-    };
-    exports2.defaultEncryptionScope = {
-      parameterPath: [
-        "options",
-        "containerEncryptionScope",
-        "defaultEncryptionScope"
-      ],
-      mapper: {
-        serializedName: "x-ms-default-encryption-scope",
-        xmlName: "x-ms-default-encryption-scope",
-        type: {
-          name: "String"
+      preAddSubRequest(subRequest) {
+        if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) {
+          throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`);
         }
-      }
-    };
-    exports2.preventEncryptionScopeOverride = {
-      parameterPath: [
-        "options",
-        "containerEncryptionScope",
-        "preventEncryptionScopeOverride"
-      ],
-      mapper: {
-        serializedName: "x-ms-deny-encryption-scope-override",
-        xmlName: "x-ms-deny-encryption-scope-override",
-        type: {
-          name: "Boolean"
+        const path4 = (0, utils_common_js_1.getURLPath)(subRequest.url);
+        if (!path4 || path4 === "") {
+          throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`);
         }
       }
-    };
-    exports2.leaseId = {
-      parameterPath: ["options", "leaseAccessConditions", "leaseId"],
-      mapper: {
-        serializedName: "x-ms-lease-id",
-        xmlName: "x-ms-lease-id",
-        type: {
-          name: "String"
-        }
+      postAddSubRequest(subRequest) {
+        this.subRequests.set(this.operationCount, subRequest);
+        this.operationCount++;
       }
-    };
-    exports2.ifModifiedSince = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifModifiedSince"],
-      mapper: {
-        serializedName: "If-Modified-Since",
-        xmlName: "If-Modified-Since",
-        type: {
-          name: "DateTimeRfc1123"
-        }
+      // Return the http request body with assembling the ending line to the sub request body.
+      getHttpRequestBody() {
+        return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`;
       }
-    };
-    exports2.ifUnmodifiedSince = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifUnmodifiedSince"],
-      mapper: {
-        serializedName: "If-Unmodified-Since",
-        xmlName: "If-Unmodified-Since",
-        type: {
-          name: "DateTimeRfc1123"
-        }
+      getMultipartContentType() {
+        return this.multipartContentType;
       }
-    };
-    exports2.comp6 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "metadata",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      getSubRequests() {
+        return this.subRequests;
       }
     };
-    exports2.comp7 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "acl",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+    function batchRequestAssemblePolicy(batchRequest) {
+      return {
+        name: "batchRequestAssemblePolicy",
+        async sendRequest(request2) {
+          batchRequest.appendSubRequestToBody(request2);
+          return {
+            request: request2,
+            status: 200,
+            headers: (0, core_rest_pipeline_1.createHttpHeaders)()
+          };
         }
-      }
-    };
-    exports2.containerAcl = {
-      parameterPath: ["options", "containerAcl"],
-      mapper: {
-        serializedName: "containerAcl",
-        xmlName: "SignedIdentifiers",
-        xmlIsWrapped: true,
-        xmlElementName: "SignedIdentifier",
-        type: {
-          name: "Sequence",
-          element: {
-            type: {
-              name: "Composite",
-              className: "SignedIdentifier"
+      };
+    }
+    function batchHeaderFilterPolicy() {
+      return {
+        name: "batchHeaderFilterPolicy",
+        async sendRequest(request2, next) {
+          let xMsHeaderName = "";
+          for (const [name] of request2.headers) {
+            if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) {
+              xMsHeaderName = name;
             }
           }
+          if (xMsHeaderName !== "") {
+            request2.headers.delete(xMsHeaderName);
+          }
+          return next(request2);
         }
-      }
-    };
-    exports2.comp8 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "undelete",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js
+var require_BlobBatchClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBatchClient = void 0;
+    var BatchResponseParser_js_1 = require_BatchResponseParser();
+    var BatchUtils_js_1 = require_BatchUtils();
+    var BlobBatch_js_1 = require_BlobBatch();
+    var tracing_js_1 = require_tracing();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageContextClient_js_1 = require_StorageContextClient();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var BlobBatchClient = class {
+      serviceOrContainerContext;
+      constructor(url, credentialOrPipeline, options) {
+        let pipeline;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
+          pipeline = credentialOrPipeline;
+        } else if (!credentialOrPipeline) {
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else {
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
         }
-      }
-    };
-    exports2.deletedContainerName = {
-      parameterPath: ["options", "deletedContainerName"],
-      mapper: {
-        serializedName: "x-ms-deleted-container-name",
-        xmlName: "x-ms-deleted-container-name",
-        type: {
-          name: "String"
+        const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
+        const path4 = (0, utils_common_js_1.getURLPath)(url);
+        if (path4 && path4 !== "/") {
+          this.serviceOrContainerContext = storageClientContext.container;
+        } else {
+          this.serviceOrContainerContext = storageClientContext.service;
         }
       }
-    };
-    exports2.deletedContainerVersion = {
-      parameterPath: ["options", "deletedContainerVersion"],
-      mapper: {
-        serializedName: "x-ms-deleted-container-version",
-        xmlName: "x-ms-deleted-container-version",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates a {@link BlobBatch}.
+       * A BlobBatch represents an aggregated set of operations on blobs.
+       */
+      createBatch() {
+        return new BlobBatch_js_1.BlobBatch();
       }
-    };
-    exports2.comp9 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "rename",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) {
+        const batch = new BlobBatch_js_1.BlobBatch();
+        for (const urlOrBlobClient of urlsOrBlobClients) {
+          if (typeof urlOrBlobClient === "string") {
+            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options);
+          } else {
+            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions);
+          }
         }
+        return this.submitBatch(batch);
       }
-    };
-    exports2.sourceContainerName = {
-      parameterPath: "sourceContainerName",
-      mapper: {
-        serializedName: "x-ms-source-container-name",
-        required: true,
-        xmlName: "x-ms-source-container-name",
-        type: {
-          name: "String"
+      async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) {
+        const batch = new BlobBatch_js_1.BlobBatch();
+        for (const urlOrBlobClient of urlsOrBlobClients) {
+          if (typeof urlOrBlobClient === "string") {
+            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options);
+          } else {
+            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions);
+          }
         }
+        return this.submitBatch(batch);
       }
-    };
-    exports2.sourceLeaseId = {
-      parameterPath: ["options", "sourceLeaseId"],
-      mapper: {
-        serializedName: "x-ms-source-lease-id",
-        xmlName: "x-ms-source-lease-id",
-        type: {
-          name: "String"
+      /**
+       * Submit batch request which consists of multiple subrequests.
+       *
+       * Get `blobBatchClient` and other details before running the snippets.
+       * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient`
+       *
+       * Example usage:
+       *
+       * ```ts snippet:BlobBatchClientSubmitBatch
+       * import { DefaultAzureCredential } from "@azure/identity";
+       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
+       *
+       * const account = "";
+       * const credential = new DefaultAzureCredential();
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   credential,
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobBatchClient = containerClient.getBlobBatchClient();
+       *
+       * const batchRequest = new BlobBatch();
+       * await batchRequest.deleteBlob("", credential);
+       * await batchRequest.deleteBlob("", credential, {
+       *   deleteSnapshots: "include",
+       * });
+       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
+       * console.log(batchResp.subResponsesSucceededCount);
+       * ```
+       *
+       * Example using a lease:
+       *
+       * ```ts snippet:BlobBatchClientSubmitBatchWithLease
+       * import { DefaultAzureCredential } from "@azure/identity";
+       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
+       *
+       * const account = "";
+       * const credential = new DefaultAzureCredential();
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   credential,
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobBatchClient = containerClient.getBlobBatchClient();
+       * const blobClient = containerClient.getBlobClient("");
+       *
+       * const batchRequest = new BlobBatch();
+       * await batchRequest.setBlobAccessTier(blobClient, "Cool");
+       * await batchRequest.setBlobAccessTier(blobClient, "Cool", {
+       *   conditions: { leaseId: "" },
+       * });
+       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
+       * console.log(batchResp.subResponsesSucceededCount);
+       * ```
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @param batchRequest - A set of Delete or SetTier operations.
+       * @param options -
+       */
+      async submitBatch(batchRequest, options = {}) {
+        if (!batchRequest || batchRequest.getSubRequests().size === 0) {
+          throw new RangeError("Batch request should contain one or more sub requests.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => {
+          const batchRequestBody = batchRequest.getHttpRequestBody();
+          const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, {
+            ...updatedOptions
+          }));
+          const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests());
+          const responseSummary = await batchResponseParser.parseBatchResponse();
+          const res = {
+            _response: rawBatchResponse._response,
+            contentType: rawBatchResponse.contentType,
+            errorCode: rawBatchResponse.errorCode,
+            requestId: rawBatchResponse.requestId,
+            clientRequestId: rawBatchResponse.clientRequestId,
+            version: rawBatchResponse.version,
+            subResponses: responseSummary.subResponses,
+            subResponsesSucceededCount: responseSummary.subResponsesSucceededCount,
+            subResponsesFailedCount: responseSummary.subResponsesFailedCount
+          };
+          return res;
+        });
       }
     };
-    exports2.comp10 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "lease",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+    exports2.BlobBatchClient = BlobBatchClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js
+var require_ContainerClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ContainerClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var core_auth_1 = require_commonjs7();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var Pipeline_js_1 = require_Pipeline();
+    var StorageClient_js_1 = require_StorageClient();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
+    var Clients_js_1 = require_Clients();
+    var BlobBatchClient_js_1 = require_BlobBatchClient();
+    var ContainerClient = class extends StorageClient_js_1.StorageClient {
+      /**
+       * containerContext provided by protocol layer.
+       */
+      containerContext;
+      _containerName;
+      /**
+       * The name of the container.
+       */
+      get containerName() {
+        return this._containerName;
       }
-    };
-    exports2.action = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "acquire",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
+            }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName parameter");
         }
+        super(url, pipeline);
+        this._containerName = this.getContainerNameFromUrl();
+        this.containerContext = this.storageClientContext.container;
       }
-    };
-    exports2.duration = {
-      parameterPath: ["options", "duration"],
-      mapper: {
-        serializedName: "x-ms-lease-duration",
-        xmlName: "x-ms-lease-duration",
-        type: {
-          name: "Number"
-        }
+      /**
+       * Creates a new container under the specified account. If the container with
+       * the same name already exists, the operation fails.
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
+       *
+       * @param options - Options to Container Create operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ContainerClientCreate
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const createContainerResponse = await containerClient.create();
+       * console.log("Container was created successfully", createContainerResponse.requestId);
+       * ```
+       */
+      async create(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions));
+        });
       }
-    };
-    exports2.proposedLeaseId = {
-      parameterPath: ["options", "proposedLeaseId"],
-      mapper: {
-        serializedName: "x-ms-proposed-lease-id",
-        xmlName: "x-ms-proposed-lease-id",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates a new container under the specified account. If the container with
+       * the same name already exists, it is not changed.
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
+       *
+       * @param options -
+       */
+      async createIfNotExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const res = await this.create(updatedOptions);
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "ContainerAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            } else {
+              throw e;
+            }
+          }
+        });
       }
-    };
-    exports2.action1 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "release",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
-        }
+      /**
+       * Returns true if the Azure container resource represented by this client exists; false otherwise.
+       *
+       * NOTE: use this function with care since an existing container might be deleted by other clients or
+       * applications. Vice versa new containers with the same name might be added by other clients or
+       * applications after this function completes.
+       *
+       * @param options -
+       */
+      async exists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => {
+          try {
+            await this.getProperties({
+              abortSignal: options.abortSignal,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            return true;
+          } catch (e) {
+            if (e.statusCode === 404) {
+              return false;
+            }
+            throw e;
+          }
+        });
       }
-    };
-    exports2.leaseId1 = {
-      parameterPath: "leaseId",
-      mapper: {
-        serializedName: "x-ms-lease-id",
-        required: true,
-        xmlName: "x-ms-lease-id",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates a {@link BlobClient}
+       *
+       * @param blobName - A blob name
+       * @returns A new BlobClient object for the given blob name.
+       */
+      getBlobClient(blobName) {
+        return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
       }
-    };
-    exports2.action2 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "renew",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates an {@link AppendBlobClient}
+       *
+       * @param blobName - An append blob name
+       */
+      getAppendBlobClient(blobName) {
+        return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
       }
-    };
-    exports2.action3 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "break",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates a {@link BlockBlobClient}
+       *
+       * @param blobName - A block blob name
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsUpload
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * const content = "Hello world!";
+       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
+       * ```
+       */
+      getBlockBlobClient(blobName) {
+        return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
       }
-    };
-    exports2.breakPeriod = {
-      parameterPath: ["options", "breakPeriod"],
-      mapper: {
-        serializedName: "x-ms-lease-break-period",
-        xmlName: "x-ms-lease-break-period",
-        type: {
-          name: "Number"
-        }
+      /**
+       * Creates a {@link PageBlobClient}
+       *
+       * @param blobName - A page blob name
+       */
+      getPageBlobClient(blobName) {
+        return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
       }
-    };
-    exports2.action4 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "change",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+      /**
+       * Returns all user-defined metadata and system properties for the specified
+       * container. The data returned does not include the container's list of blobs.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties
+       *
+       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
+       * they originally contained uppercase characters. This differs from the metadata keys returned by
+       * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which
+       * will retain their original casing.
+       *
+       * @param options - Options to Container Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
         }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({
+            abortSignal: options.abortSignal,
+            ...options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.proposedLeaseId1 = {
-      parameterPath: "proposedLeaseId",
-      mapper: {
-        serializedName: "x-ms-proposed-lease-id",
-        required: true,
-        xmlName: "x-ms-proposed-lease-id",
-        type: {
-          name: "String"
+      /**
+       * Marks the specified container for deletion. The container and any blobs
+       * contained within it are later deleted during garbage collection.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
+       *
+       * @param options - Options to Container Delete operation.
+       */
+      async delete(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
         }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.include1 = {
-      parameterPath: ["options", "include"],
-      mapper: {
-        serializedName: "include",
-        xmlName: "include",
-        xmlElementName: "ListBlobsIncludeItem",
-        type: {
-          name: "Sequence",
-          element: {
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "copy",
-                "deleted",
-                "metadata",
-                "snapshots",
-                "uncommittedblobs",
-                "versions",
-                "tags",
-                "immutabilitypolicy",
-                "legalhold",
-                "deletedwithversions"
-              ]
+      /**
+       * Marks the specified container for deletion if it exists. The container and any blobs
+       * contained within it are later deleted during garbage collection.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
+       *
+       * @param options - Options to Container Delete operation.
+       */
+      async deleteIfExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => {
+          try {
+            const res = await this.delete(updatedOptions);
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "ContainerNotFound") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
+        });
+      }
+      /**
+       * Sets one or more user-defined name-value pairs for the specified container.
+       *
+       * If no option provided, or no metadata defined in the parameter, the container
+       * metadata will be removed.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata
+       *
+       * @param metadata - Replace existing metadata with this value.
+       *                            If no value provided the existing metadata will be removed.
+       * @param options - Options to Container Set Metadata operation.
+       */
+      async setMetadata(metadata, options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
         }
-      },
-      collectionFormat: "CSV"
-    };
-    exports2.delimiter = {
-      parameterPath: "delimiter",
-      mapper: {
-        serializedName: "delimiter",
-        required: true,
-        xmlName: "delimiter",
-        type: {
-          name: "String"
+        if (options.conditions.ifUnmodifiedSince) {
+          throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service");
         }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.snapshot = {
-      parameterPath: ["options", "snapshot"],
-      mapper: {
-        serializedName: "snapshot",
-        xmlName: "snapshot",
-        type: {
-          name: "String"
+      /**
+       * Gets the permissions for the specified container. The permissions indicate
+       * whether container data may be accessed publicly.
+       *
+       * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings.
+       * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z".
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl
+       *
+       * @param options - Options to Container Get Access Policy operation.
+       */
+      async getAccessPolicy(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
         }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const res = {
+            _response: response._response,
+            blobPublicAccess: response.blobPublicAccess,
+            date: response.date,
+            etag: response.etag,
+            errorCode: response.errorCode,
+            lastModified: response.lastModified,
+            requestId: response.requestId,
+            clientRequestId: response.clientRequestId,
+            signedIdentifiers: [],
+            version: response.version
+          };
+          for (const identifier of response) {
+            let accessPolicy = void 0;
+            if (identifier.accessPolicy) {
+              accessPolicy = {
+                permissions: identifier.accessPolicy.permissions
+              };
+              if (identifier.accessPolicy.expiresOn) {
+                accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn);
+              }
+              if (identifier.accessPolicy.startsOn) {
+                accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn);
+              }
+            }
+            res.signedIdentifiers.push({
+              accessPolicy,
+              id: identifier.id
+            });
+          }
+          return res;
+        });
       }
-    };
-    exports2.versionId = {
-      parameterPath: ["options", "versionId"],
-      mapper: {
-        serializedName: "versionid",
-        xmlName: "versionid",
-        type: {
-          name: "String"
-        }
+      /**
+       * Sets the permissions for the specified container. The permissions indicate
+       * whether blobs in a container may be accessed publicly.
+       *
+       * When you set permissions for a container, the existing permissions are replaced.
+       * If no access or containerAcl provided, the existing container ACL will be
+       * removed.
+       *
+       * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect.
+       * During this interval, a shared access signature that is associated with the stored access policy will
+       * fail with status code 403 (Forbidden), until the access policy becomes active.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl
+       *
+       * @param access - The level of public access to data in the container.
+       * @param containerAcl - Array of elements each having a unique Id and details of the access policy.
+       * @param options - Options to Container Set Access Policy operation.
+       */
+      async setAccessPolicy(access, containerAcl, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => {
+          const acl = [];
+          for (const identifier of containerAcl || []) {
+            acl.push({
+              accessPolicy: {
+                expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "",
+                permissions: identifier.accessPolicy.permissions,
+                startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : ""
+              },
+              id: identifier.id
+            });
+          }
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({
+            abortSignal: options.abortSignal,
+            access,
+            containerAcl: acl,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.range = {
-      parameterPath: ["options", "range"],
-      mapper: {
-        serializedName: "x-ms-range",
-        xmlName: "x-ms-range",
-        type: {
-          name: "String"
-        }
+      /**
+       * Get a {@link BlobLeaseClient} that manages leases on the container.
+       *
+       * @param proposeLeaseId - Initial proposed lease Id.
+       * @returns A new BlobLeaseClient object for managing leases on the container.
+       */
+      getBlobLeaseClient(proposeLeaseId) {
+        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
       }
-    };
-    exports2.rangeGetContentMD5 = {
-      parameterPath: ["options", "rangeGetContentMD5"],
-      mapper: {
-        serializedName: "x-ms-range-get-content-md5",
-        xmlName: "x-ms-range-get-content-md5",
-        type: {
-          name: "Boolean"
-        }
+      /**
+       * Creates a new block blob, or updates the content of an existing block blob.
+       *
+       * Updating an existing block blob overwrites any existing metadata on the blob.
+       * Partial updates are not supported; the content of the existing blob is
+       * overwritten with the new content. To perform a partial update of a block blob's,
+       * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}.
+       *
+       * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile},
+       * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better
+       * performance with concurrency uploading.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param blobName - Name of the block blob to create or update.
+       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
+       *                               which returns a new Readable stream whose offset is from data source beginning.
+       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
+       *                               string including non non-Base64/Hex-encoded characters.
+       * @param options - Options to configure the Block Blob Upload operation.
+       * @returns Block Blob upload response data and the corresponding BlockBlobClient instance.
+       */
+      async uploadBlockBlob(blobName, body, contentLength, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => {
+          const blockBlobClient = this.getBlockBlobClient(blobName);
+          const response = await blockBlobClient.upload(body, contentLength, updatedOptions);
+          return {
+            blockBlobClient,
+            response
+          };
+        });
       }
-    };
-    exports2.rangeGetContentCRC64 = {
-      parameterPath: ["options", "rangeGetContentCRC64"],
-      mapper: {
-        serializedName: "x-ms-range-get-content-crc64",
-        xmlName: "x-ms-range-get-content-crc64",
-        type: {
-          name: "Boolean"
-        }
+      /**
+       * Marks the specified blob or snapshot for deletion. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param blobName -
+       * @param options - Options to Blob Delete operation.
+       * @returns Block blob deletion response data.
+       */
+      async deleteBlob(blobName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => {
+          let blobClient = this.getBlobClient(blobName);
+          if (options.versionId) {
+            blobClient = blobClient.withVersion(options.versionId);
+          }
+          return blobClient.delete(updatedOptions);
+        });
       }
-    };
-    exports2.encryptionKey = {
-      parameterPath: ["options", "cpkInfo", "encryptionKey"],
-      mapper: {
-        serializedName: "x-ms-encryption-key",
-        xmlName: "x-ms-encryption-key",
-        type: {
-          name: "String"
-        }
+      /**
+       * listBlobFlatSegment returns a single segment of blobs starting from the
+       * specified Marker. Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call listBlobsFlatSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
+       *
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to Container List Blob Flat Segment operation.
+       */
+      async listBlobFlatSegment(marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({
+            marker,
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: {
+              ...response._response,
+              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody)
+            },
+            // _response is made non-enumerable
+            segment: {
+              ...response.segment,
+              blobItems: response.segment.blobItems.map((blobItemInternal) => {
+                const blobItem = {
+                  ...blobItemInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
+                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
+                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
+                };
+                return blobItem;
+              })
+            }
+          };
+          return wrappedResponse;
+        });
       }
-    };
-    exports2.encryptionKeySha256 = {
-      parameterPath: ["options", "cpkInfo", "encryptionKeySha256"],
-      mapper: {
-        serializedName: "x-ms-encryption-key-sha256",
-        xmlName: "x-ms-encryption-key-sha256",
-        type: {
-          name: "String"
+      /**
+       * listBlobHierarchySegment returns a single segment of blobs starting from
+       * the specified Marker. Use an empty Marker to start enumeration from the
+       * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment
+       * again (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to Container List Blob Hierarchy Segment operation.
+       */
+      async listBlobHierarchySegment(delimiter, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, {
+            marker,
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: {
+              ...response._response,
+              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody)
+            },
+            // _response is made non-enumerable
+            segment: {
+              ...response.segment,
+              blobItems: response.segment.blobItems.map((blobItemInternal) => {
+                const blobItem = {
+                  ...blobItemInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
+                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
+                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
+                };
+                return blobItem;
+              }),
+              blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => {
+                const blobPrefix = {
+                  ...blobPrefixInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name)
+                };
+                return blobPrefix;
+              })
+            }
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse
+       *
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to list blobs operation.
+       */
+      async *listSegments(marker, options = {}) {
+        let listBlobsFlatSegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options);
+            marker = listBlobsFlatSegmentResponse.continuationToken;
+            yield await listBlobsFlatSegmentResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.encryptionAlgorithm = {
-      parameterPath: ["options", "cpkInfo", "encryptionAlgorithm"],
-      mapper: {
-        serializedName: "x-ms-encryption-algorithm",
-        xmlName: "x-ms-encryption-algorithm",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator of {@link BlobItem} objects
+       *
+       * @param options - Options to list blobs operation.
+       */
+      async *listItems(options = {}) {
+        let marker;
+        for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) {
+          yield* listBlobsFlatSegmentResponse.segment.blobItems;
         }
       }
-    };
-    exports2.ifMatch = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifMatch"],
-      mapper: {
-        serializedName: "If-Match",
-        xmlName: "If-Match",
-        type: {
-          name: "String"
+      /**
+       * Returns an async iterable iterator to list all the blobs
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * ```ts snippet:ReadmeSampleListBlobs_Multiple
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * const blobs = containerClient.listBlobsFlat();
+       * for await (const blob of blobs) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.listBlobsFlat();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param options - Options to list blobs.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listBlobsFlat(options = {}) {
+        const include = [];
+        if (options.includeCopy) {
+          include.push("copy");
         }
-      }
-    };
-    exports2.ifNoneMatch = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifNoneMatch"],
-      mapper: {
-        serializedName: "If-None-Match",
-        xmlName: "If-None-Match",
-        type: {
-          name: "String"
+        if (options.includeDeleted) {
+          include.push("deleted");
         }
-      }
-    };
-    exports2.ifTags = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifTags"],
-      mapper: {
-        serializedName: "x-ms-if-tags",
-        xmlName: "x-ms-if-tags",
-        type: {
-          name: "String"
+        if (options.includeMetadata) {
+          include.push("metadata");
         }
-      }
-    };
-    exports2.deleteSnapshots = {
-      parameterPath: ["options", "deleteSnapshots"],
-      mapper: {
-        serializedName: "x-ms-delete-snapshots",
-        xmlName: "x-ms-delete-snapshots",
-        type: {
-          name: "Enum",
-          allowedValues: ["include", "only"]
+        if (options.includeSnapshots) {
+          include.push("snapshots");
         }
-      }
-    };
-    exports2.blobDeleteType = {
-      parameterPath: ["options", "blobDeleteType"],
-      mapper: {
-        serializedName: "deletetype",
-        xmlName: "deletetype",
-        type: {
-          name: "String"
+        if (options.includeVersions) {
+          include.push("versions");
         }
-      }
-    };
-    exports2.comp11 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "expiry",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (options.includeUncommitedBlobs) {
+          include.push("uncommittedblobs");
         }
-      }
-    };
-    exports2.expiryOptions = {
-      parameterPath: "expiryOptions",
-      mapper: {
-        serializedName: "x-ms-expiry-option",
-        required: true,
-        xmlName: "x-ms-expiry-option",
-        type: {
-          name: "String"
+        if (options.includeTags) {
+          include.push("tags");
         }
-      }
-    };
-    exports2.expiresOn = {
-      parameterPath: ["options", "expiresOn"],
-      mapper: {
-        serializedName: "x-ms-expiry-time",
-        xmlName: "x-ms-expiry-time",
-        type: {
-          name: "String"
+        if (options.includeDeletedWithVersions) {
+          include.push("deletedwithversions");
         }
-      }
-    };
-    exports2.blobCacheControl = {
-      parameterPath: ["options", "blobHttpHeaders", "blobCacheControl"],
-      mapper: {
-        serializedName: "x-ms-blob-cache-control",
-        xmlName: "x-ms-blob-cache-control",
-        type: {
-          name: "String"
+        if (options.includeImmutabilityPolicy) {
+          include.push("immutabilitypolicy");
         }
-      }
-    };
-    exports2.blobContentType = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentType"],
-      mapper: {
-        serializedName: "x-ms-blob-content-type",
-        xmlName: "x-ms-blob-content-type",
-        type: {
-          name: "String"
+        if (options.includeLegalHold) {
+          include.push("legalhold");
         }
-      }
-    };
-    exports2.blobContentMD5 = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentMD5"],
-      mapper: {
-        serializedName: "x-ms-blob-content-md5",
-        xmlName: "x-ms-blob-content-md5",
-        type: {
-          name: "ByteArray"
+        if (options.prefix === "") {
+          options.prefix = void 0;
         }
+        const updatedOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItems(updatedOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listSegments(settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...updatedOptions
+            });
+          }
+        };
       }
-    };
-    exports2.blobContentEncoding = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentEncoding"],
-      mapper: {
-        serializedName: "x-ms-blob-content-encoding",
-        xmlName: "x-ms-blob-content-encoding",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to list blobs operation.
+       */
+      async *listHierarchySegments(delimiter, marker, options = {}) {
+        let listBlobsHierarchySegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options);
+            marker = listBlobsHierarchySegmentResponse.continuationToken;
+            yield await listBlobsHierarchySegmentResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.blobContentLanguage = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentLanguage"],
-      mapper: {
-        serializedName: "x-ms-blob-content-language",
-        xmlName: "x-ms-blob-content-language",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects.
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param options - Options to list blobs operation.
+       */
+      async *listItemsByHierarchy(delimiter, options = {}) {
+        let marker;
+        for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) {
+          const segment = listBlobsHierarchySegmentResponse.segment;
+          if (segment.blobPrefixes) {
+            for (const prefix of segment.blobPrefixes) {
+              yield {
+                kind: "prefix",
+                ...prefix
+              };
+            }
+          }
+          for (const blob of segment.blobItems) {
+            yield { kind: "blob", ...blob };
+          }
         }
       }
-    };
-    exports2.blobContentDisposition = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentDisposition"],
-      mapper: {
-        serializedName: "x-ms-blob-content-disposition",
-        xmlName: "x-ms-blob-content-disposition",
-        type: {
-          name: "String"
+      /**
+       * Returns an async iterable iterator to list all the blobs by hierarchy.
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages.
+       *
+       * ```ts snippet:ReadmeSampleListBlobsByHierarchy
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * const blobs = containerClient.listBlobsByHierarchy("/");
+       * for await (const blob of blobs) {
+       *   if (blob.kind === "prefix") {
+       *     console.log(`\tBlobPrefix: ${blob.name}`);
+       *   } else {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.listBlobsByHierarchy("/");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   if (value.kind === "prefix") {
+       *     console.log(`\tBlobPrefix: ${value.name}`);
+       *   } else {
+       *     console.log(`\tBlobItem: name - ${value.name}`);
+       *   }
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
+       *   const segment = page.segment;
+       *   if (segment.blobPrefixes) {
+       *     for (const prefix of segment.blobPrefixes) {
+       *       console.log(`\tBlobPrefix: ${prefix.name}`);
+       *     }
+       *   }
+       *   for (const blob of page.segment.blobItems) {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobPrefixes) {
+       *   for (const prefix of response.blobPrefixes) {
+       *     console.log(`\tBlobPrefix: ${prefix.name}`);
+       *   }
+       * }
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient
+       *   .listBlobsByHierarchy("/")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.blobPrefixes) {
+       *   for (const prefix of response.blobPrefixes) {
+       *     console.log(`\tBlobPrefix: ${prefix.name}`);
+       *   }
+       * }
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param options - Options to list blobs operation.
+       */
+      listBlobsByHierarchy(delimiter, options = {}) {
+        if (delimiter === "") {
+          throw new RangeError("delimiter should contain one or more characters");
         }
-      }
-    };
-    exports2.comp12 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "immutabilityPolicies",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        const include = [];
+        if (options.includeCopy) {
+          include.push("copy");
         }
-      }
-    };
-    exports2.immutabilityPolicyExpiry = {
-      parameterPath: ["options", "immutabilityPolicyExpiry"],
-      mapper: {
-        serializedName: "x-ms-immutability-policy-until-date",
-        xmlName: "x-ms-immutability-policy-until-date",
-        type: {
-          name: "DateTimeRfc1123"
+        if (options.includeDeleted) {
+          include.push("deleted");
         }
-      }
-    };
-    exports2.immutabilityPolicyMode = {
-      parameterPath: ["options", "immutabilityPolicyMode"],
-      mapper: {
-        serializedName: "x-ms-immutability-policy-mode",
-        xmlName: "x-ms-immutability-policy-mode",
-        type: {
-          name: "Enum",
-          allowedValues: ["Mutable", "Unlocked", "Locked"]
+        if (options.includeMetadata) {
+          include.push("metadata");
         }
-      }
-    };
-    exports2.comp13 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "legalhold",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (options.includeSnapshots) {
+          include.push("snapshots");
         }
-      }
-    };
-    exports2.legalHold = {
-      parameterPath: "legalHold",
-      mapper: {
-        serializedName: "x-ms-legal-hold",
-        required: true,
-        xmlName: "x-ms-legal-hold",
-        type: {
-          name: "Boolean"
+        if (options.includeVersions) {
+          include.push("versions");
         }
-      }
-    };
-    exports2.encryptionScope = {
-      parameterPath: ["options", "encryptionScope"],
-      mapper: {
-        serializedName: "x-ms-encryption-scope",
-        xmlName: "x-ms-encryption-scope",
-        type: {
-          name: "String"
+        if (options.includeUncommitedBlobs) {
+          include.push("uncommittedblobs");
         }
-      }
-    };
-    exports2.comp14 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "snapshot",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (options.includeTags) {
+          include.push("tags");
         }
-      }
-    };
-    exports2.tier = {
-      parameterPath: ["options", "tier"],
-      mapper: {
-        serializedName: "x-ms-access-tier",
-        xmlName: "x-ms-access-tier",
-        type: {
-          name: "Enum",
-          allowedValues: [
-            "P4",
-            "P6",
-            "P10",
-            "P15",
-            "P20",
-            "P30",
-            "P40",
-            "P50",
-            "P60",
-            "P70",
-            "P80",
-            "Hot",
-            "Cool",
-            "Archive",
-            "Cold"
-          ]
+        if (options.includeDeletedWithVersions) {
+          include.push("deletedwithversions");
         }
-      }
-    };
-    exports2.rehydratePriority = {
-      parameterPath: ["options", "rehydratePriority"],
-      mapper: {
-        serializedName: "x-ms-rehydrate-priority",
-        xmlName: "x-ms-rehydrate-priority",
-        type: {
-          name: "Enum",
-          allowedValues: ["High", "Standard"]
+        if (options.includeImmutabilityPolicy) {
+          include.push("immutabilitypolicy");
         }
-      }
-    };
-    exports2.sourceIfModifiedSince = {
-      parameterPath: [
-        "options",
-        "sourceModifiedAccessConditions",
-        "sourceIfModifiedSince"
-      ],
-      mapper: {
-        serializedName: "x-ms-source-if-modified-since",
-        xmlName: "x-ms-source-if-modified-since",
-        type: {
-          name: "DateTimeRfc1123"
+        if (options.includeLegalHold) {
+          include.push("legalhold");
         }
-      }
-    };
-    exports2.sourceIfUnmodifiedSince = {
-      parameterPath: [
-        "options",
-        "sourceModifiedAccessConditions",
-        "sourceIfUnmodifiedSince"
-      ],
-      mapper: {
-        serializedName: "x-ms-source-if-unmodified-since",
-        xmlName: "x-ms-source-if-unmodified-since",
-        type: {
-          name: "DateTimeRfc1123"
+        if (options.prefix === "") {
+          options.prefix = void 0;
         }
+        const updatedOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItemsByHierarchy(delimiter, updatedOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          async next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listHierarchySegments(delimiter, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...updatedOptions
+            });
+          }
+        };
       }
-    };
-    exports2.sourceIfMatch = {
-      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfMatch"],
-      mapper: {
-        serializedName: "x-ms-source-if-match",
-        xmlName: "x-ms-source-if-match",
-        type: {
-          name: "String"
-        }
+      /**
+       * The Filter Blobs operation enables callers to list blobs in the container whose tags
+       * match a given search expression.
+       *
+       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                        The given expression must evaluate to true for a blob to be returned in the results.
+       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({
+            abortSignal: options.abortSignal,
+            where: tagFilterSqlExpression,
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            blobs: response.blobs.map((blob) => {
+              let tagValue = "";
+              if (blob.tags?.blobTagSet.length === 1) {
+                tagValue = blob.tags.blobTagSet[0].value;
+              }
+              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
+            })
+          };
+          return wrappedResponse;
+        });
       }
-    };
-    exports2.sourceIfNoneMatch = {
-      parameterPath: [
-        "options",
-        "sourceModifiedAccessConditions",
-        "sourceIfNoneMatch"
-      ],
-      mapper: {
-        serializedName: "x-ms-source-if-none-match",
-        xmlName: "x-ms-source-if-none-match",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
+        let response;
+        if (!!marker || marker === void 0) {
+          do {
+            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
+            response.blobs = response.blobs || [];
+            marker = response.continuationToken;
+            yield response;
+          } while (marker);
         }
       }
-    };
-    exports2.sourceIfTags = {
-      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfTags"],
-      mapper: {
-        serializedName: "x-ms-source-if-tags",
-        xmlName: "x-ms-source-if-tags",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator for blobs.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to findBlobsByTagsItems.
+       */
+      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
+        let marker;
+        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
+          yield* segment.blobs;
         }
       }
-    };
-    exports2.copySource = {
-      parameterPath: "copySource",
-      mapper: {
-        serializedName: "x-ms-copy-source",
-        required: true,
-        xmlName: "x-ms-copy-source",
-        type: {
-          name: "String"
-        }
+      /**
+       * Returns an async iterable iterator to find all blobs with specified tag
+       * under the specified container.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * Example using `for await` syntax:
+       *
+       * ```ts snippet:ReadmeSampleFindBlobsByTags
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to find blobs by tags.
+       */
+      findBlobsByTags(tagFilterSqlExpression, options = {}) {
+        const listSegmentOptions = {
+          ...options
+        };
+        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
       }
-    };
-    exports2.blobTagsString = {
-      parameterPath: ["options", "blobTagsString"],
-      mapper: {
-        serializedName: "x-ms-tags",
-        xmlName: "x-ms-tags",
-        type: {
-          name: "String"
-        }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.sealBlob = {
-      parameterPath: ["options", "sealBlob"],
-      mapper: {
-        serializedName: "x-ms-seal-blob",
-        xmlName: "x-ms-seal-blob",
-        type: {
-          name: "Boolean"
+      getContainerNameFromUrl() {
+        let containerName;
+        try {
+          const parsedUrl = new URL(this.url);
+          if (parsedUrl.hostname.split(".")[1] === "blob") {
+            containerName = parsedUrl.pathname.split("/")[1];
+          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
+            containerName = parsedUrl.pathname.split("/")[2];
+          } else {
+            containerName = parsedUrl.pathname.split("/")[1];
+          }
+          containerName = decodeURIComponent(containerName);
+          if (!containerName) {
+            throw new Error("Provided containerName is invalid.");
+          }
+          return containerName;
+        } catch (error3) {
+          throw new Error("Unable to extract containerName with provided information.");
         }
       }
-    };
-    exports2.legalHold1 = {
-      parameterPath: ["options", "legalHold"],
-      mapper: {
-        serializedName: "x-ms-legal-hold",
-        xmlName: "x-ms-legal-hold",
-        type: {
-          name: "Boolean"
-        }
+      /**
+       * Only available for ContainerClient constructed with a shared key credential.
+       *
+       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasUrl(options) {
+        return new Promise((resolve3) => {
+          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+          }
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            ...options
+          }, this.credential).toString();
+          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
       }
-    };
-    exports2.xMsRequiresSync = {
-      parameterPath: "xMsRequiresSync",
-      mapper: {
-        defaultValue: "true",
-        isConstant: true,
-        serializedName: "x-ms-requires-sync",
-        type: {
-          name: "String"
+      /**
+       * Only available for ContainerClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
+       * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
+      generateSasStringToSign(options) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
         }
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          ...options
+        }, this.credential).stringToSign;
       }
-    };
-    exports2.sourceContentMD5 = {
-      parameterPath: ["options", "sourceContentMD5"],
-      mapper: {
-        serializedName: "x-ms-source-content-md5",
-        xmlName: "x-ms-source-content-md5",
-        type: {
-          name: "ByteArray"
-        }
+      /**
+       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasUrl(options, userDelegationKey) {
+        return new Promise((resolve3) => {
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            ...options
+          }, userDelegationKey, this.accountName).toString();
+          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
       }
-    };
-    exports2.copySourceAuthorization = {
-      parameterPath: ["options", "copySourceAuthorization"],
-      mapper: {
-        serializedName: "x-ms-copy-source-authorization",
-        xmlName: "x-ms-copy-source-authorization",
-        type: {
-          name: "String"
-        }
+      /**
+       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
+       * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasStringToSign(options, userDelegationKey) {
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          ...options
+        }, userDelegationKey, this.accountName).stringToSign;
       }
-    };
-    exports2.copySourceTags = {
-      parameterPath: ["options", "copySourceTags"],
-      mapper: {
-        serializedName: "x-ms-copy-source-tag-option",
-        xmlName: "x-ms-copy-source-tag-option",
-        type: {
-          name: "Enum",
-          allowedValues: ["REPLACE", "COPY"]
-        }
+      /**
+       * Creates a BlobBatchClient object to conduct batch operations.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @returns A new BlobBatchClient object for this container.
+       */
+      getBlobBatchClient() {
+        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
       }
     };
-    exports2.fileRequestIntent = {
-      parameterPath: ["options", "fileRequestIntent"],
-      mapper: {
-        serializedName: "x-ms-file-request-intent",
-        xmlName: "x-ms-file-request-intent",
-        type: {
-          name: "String"
+    exports2.ContainerClient = ContainerClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js
+var require_AccountSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASPermissions = void 0;
+    var AccountSASPermissions = class _AccountSASPermissions {
+      /**
+       * Parse initializes the AccountSASPermissions fields from a string.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const accountSASPermissions = new _AccountSASPermissions();
+        for (const c of permissions) {
+          switch (c) {
+            case "r":
+              accountSASPermissions.read = true;
+              break;
+            case "w":
+              accountSASPermissions.write = true;
+              break;
+            case "d":
+              accountSASPermissions.delete = true;
+              break;
+            case "x":
+              accountSASPermissions.deleteVersion = true;
+              break;
+            case "l":
+              accountSASPermissions.list = true;
+              break;
+            case "a":
+              accountSASPermissions.add = true;
+              break;
+            case "c":
+              accountSASPermissions.create = true;
+              break;
+            case "u":
+              accountSASPermissions.update = true;
+              break;
+            case "p":
+              accountSASPermissions.process = true;
+              break;
+            case "t":
+              accountSASPermissions.tag = true;
+              break;
+            case "f":
+              accountSASPermissions.filter = true;
+              break;
+            case "i":
+              accountSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              accountSASPermissions.permanentDelete = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission character: ${c}`);
+          }
         }
+        return accountSASPermissions;
       }
-    };
-    exports2.comp15 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "copy",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      /**
+       * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const accountSASPermissions = new _AccountSASPermissions();
+        if (permissionLike.read) {
+          accountSASPermissions.read = true;
         }
-      }
-    };
-    exports2.copyActionAbortConstant = {
-      parameterPath: "copyActionAbortConstant",
-      mapper: {
-        defaultValue: "abort",
-        isConstant: true,
-        serializedName: "x-ms-copy-action",
-        type: {
-          name: "String"
+        if (permissionLike.write) {
+          accountSASPermissions.write = true;
         }
-      }
-    };
-    exports2.copyId = {
-      parameterPath: "copyId",
-      mapper: {
-        serializedName: "copyid",
-        required: true,
-        xmlName: "copyid",
-        type: {
-          name: "String"
+        if (permissionLike.delete) {
+          accountSASPermissions.delete = true;
         }
-      }
-    };
-    exports2.comp16 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "tier",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (permissionLike.deleteVersion) {
+          accountSASPermissions.deleteVersion = true;
         }
-      }
-    };
-    exports2.tier1 = {
-      parameterPath: "tier",
-      mapper: {
-        serializedName: "x-ms-access-tier",
-        required: true,
-        xmlName: "x-ms-access-tier",
-        type: {
-          name: "Enum",
-          allowedValues: [
-            "P4",
-            "P6",
-            "P10",
-            "P15",
-            "P20",
-            "P30",
-            "P40",
-            "P50",
-            "P60",
-            "P70",
-            "P80",
-            "Hot",
-            "Cool",
-            "Archive",
-            "Cold"
-          ]
+        if (permissionLike.filter) {
+          accountSASPermissions.filter = true;
         }
-      }
-    };
-    exports2.queryRequest = {
-      parameterPath: ["options", "queryRequest"],
-      mapper: mappers_js_1.QueryRequest
-    };
-    exports2.comp17 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "query",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (permissionLike.tag) {
+          accountSASPermissions.tag = true;
         }
-      }
-    };
-    exports2.comp18 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "tags",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (permissionLike.list) {
+          accountSASPermissions.list = true;
         }
-      }
-    };
-    exports2.tags = {
-      parameterPath: ["options", "tags"],
-      mapper: mappers_js_1.BlobTags
-    };
-    exports2.transactionalContentMD5 = {
-      parameterPath: ["options", "transactionalContentMD5"],
-      mapper: {
-        serializedName: "Content-MD5",
-        xmlName: "Content-MD5",
-        type: {
-          name: "ByteArray"
+        if (permissionLike.add) {
+          accountSASPermissions.add = true;
         }
-      }
-    };
-    exports2.transactionalContentCrc64 = {
-      parameterPath: ["options", "transactionalContentCrc64"],
-      mapper: {
-        serializedName: "x-ms-content-crc64",
-        xmlName: "x-ms-content-crc64",
-        type: {
-          name: "ByteArray"
+        if (permissionLike.create) {
+          accountSASPermissions.create = true;
         }
-      }
-    };
-    exports2.blobType = {
-      parameterPath: "blobType",
-      mapper: {
-        defaultValue: "PageBlob",
-        isConstant: true,
-        serializedName: "x-ms-blob-type",
-        type: {
-          name: "String"
+        if (permissionLike.update) {
+          accountSASPermissions.update = true;
         }
-      }
-    };
-    exports2.blobContentLength = {
-      parameterPath: "blobContentLength",
-      mapper: {
-        serializedName: "x-ms-blob-content-length",
-        required: true,
-        xmlName: "x-ms-blob-content-length",
-        type: {
-          name: "Number"
+        if (permissionLike.process) {
+          accountSASPermissions.process = true;
         }
-      }
-    };
-    exports2.blobSequenceNumber = {
-      parameterPath: ["options", "blobSequenceNumber"],
-      mapper: {
-        defaultValue: 0,
-        serializedName: "x-ms-blob-sequence-number",
-        xmlName: "x-ms-blob-sequence-number",
-        type: {
-          name: "Number"
+        if (permissionLike.setImmutabilityPolicy) {
+          accountSASPermissions.setImmutabilityPolicy = true;
         }
-      }
-    };
-    exports2.contentType1 = {
-      parameterPath: ["options", "contentType"],
-      mapper: {
-        defaultValue: "application/octet-stream",
-        isConstant: true,
-        serializedName: "Content-Type",
-        type: {
-          name: "String"
+        if (permissionLike.permanentDelete) {
+          accountSASPermissions.permanentDelete = true;
         }
+        return accountSASPermissions;
       }
-    };
-    exports2.body1 = {
-      parameterPath: "body",
-      mapper: {
-        serializedName: "body",
-        required: true,
-        xmlName: "body",
-        type: {
-          name: "Stream"
+      /**
+       * Permission to read resources and list queues and tables granted.
+       */
+      read = false;
+      /**
+       * Permission to write resources granted.
+       */
+      write = false;
+      /**
+       * Permission to delete blobs and files granted.
+       */
+      delete = false;
+      /**
+       * Permission to delete versions granted.
+       */
+      deleteVersion = false;
+      /**
+       * Permission to list blob containers, blobs, shares, directories, and files granted.
+       */
+      list = false;
+      /**
+       * Permission to add messages, table entities, and append to blobs granted.
+       */
+      add = false;
+      /**
+       * Permission to create blobs and files granted.
+       */
+      create = false;
+      /**
+       * Permissions to update messages and table entities granted.
+       */
+      update = false;
+      /**
+       * Permission to get and delete messages granted.
+       */
+      process = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Permission to filter blobs.
+       */
+      filter = false;
+      /**
+       * Permission to set immutability policy.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Produces the SAS permissions string for an Azure Storage account.
+       * Call this method to set AccountSASSignatureValues Permissions field.
+       *
+       * Using this method will guarantee the resource types are in
+       * an order accepted by the service.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
+       *
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
         }
-      }
-    };
-    exports2.accept2 = {
-      parameterPath: "accept",
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Accept",
-        type: {
-          name: "String"
+        if (this.write) {
+          permissions.push("w");
         }
-      }
-    };
-    exports2.comp19 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "page",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (this.delete) {
+          permissions.push("d");
         }
-      }
-    };
-    exports2.pageWrite = {
-      parameterPath: "pageWrite",
-      mapper: {
-        defaultValue: "update",
-        isConstant: true,
-        serializedName: "x-ms-page-write",
-        type: {
-          name: "String"
+        if (this.deleteVersion) {
+          permissions.push("x");
         }
-      }
-    };
-    exports2.ifSequenceNumberLessThanOrEqualTo = {
-      parameterPath: [
-        "options",
-        "sequenceNumberAccessConditions",
-        "ifSequenceNumberLessThanOrEqualTo"
-      ],
-      mapper: {
-        serializedName: "x-ms-if-sequence-number-le",
-        xmlName: "x-ms-if-sequence-number-le",
-        type: {
-          name: "Number"
+        if (this.filter) {
+          permissions.push("f");
         }
-      }
-    };
-    exports2.ifSequenceNumberLessThan = {
-      parameterPath: [
-        "options",
-        "sequenceNumberAccessConditions",
-        "ifSequenceNumberLessThan"
-      ],
-      mapper: {
-        serializedName: "x-ms-if-sequence-number-lt",
-        xmlName: "x-ms-if-sequence-number-lt",
-        type: {
-          name: "Number"
+        if (this.tag) {
+          permissions.push("t");
         }
-      }
-    };
-    exports2.ifSequenceNumberEqualTo = {
-      parameterPath: [
-        "options",
-        "sequenceNumberAccessConditions",
-        "ifSequenceNumberEqualTo"
-      ],
-      mapper: {
-        serializedName: "x-ms-if-sequence-number-eq",
-        xmlName: "x-ms-if-sequence-number-eq",
-        type: {
-          name: "Number"
+        if (this.list) {
+          permissions.push("l");
         }
-      }
-    };
-    exports2.pageWrite1 = {
-      parameterPath: "pageWrite",
-      mapper: {
-        defaultValue: "clear",
-        isConstant: true,
-        serializedName: "x-ms-page-write",
-        type: {
-          name: "String"
+        if (this.add) {
+          permissions.push("a");
         }
-      }
-    };
-    exports2.sourceUrl = {
-      parameterPath: "sourceUrl",
-      mapper: {
-        serializedName: "x-ms-copy-source",
-        required: true,
-        xmlName: "x-ms-copy-source",
-        type: {
-          name: "String"
+        if (this.create) {
+          permissions.push("c");
         }
-      }
-    };
-    exports2.sourceRange = {
-      parameterPath: "sourceRange",
-      mapper: {
-        serializedName: "x-ms-source-range",
-        required: true,
-        xmlName: "x-ms-source-range",
-        type: {
-          name: "String"
+        if (this.update) {
+          permissions.push("u");
         }
-      }
-    };
-    exports2.sourceContentCrc64 = {
-      parameterPath: ["options", "sourceContentCrc64"],
-      mapper: {
-        serializedName: "x-ms-source-content-crc64",
-        xmlName: "x-ms-source-content-crc64",
-        type: {
-          name: "ByteArray"
+        if (this.process) {
+          permissions.push("p");
         }
-      }
-    };
-    exports2.range1 = {
-      parameterPath: "range",
-      mapper: {
-        serializedName: "x-ms-range",
-        required: true,
-        xmlName: "x-ms-range",
-        type: {
-          name: "String"
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
         }
-      }
-    };
-    exports2.comp20 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "pagelist",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (this.permanentDelete) {
+          permissions.push("y");
         }
+        return permissions.join("");
       }
     };
-    exports2.prevsnapshot = {
-      parameterPath: ["options", "prevsnapshot"],
-      mapper: {
-        serializedName: "prevsnapshot",
-        xmlName: "prevsnapshot",
-        type: {
-          name: "String"
+    exports2.AccountSASPermissions = AccountSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js
+var require_AccountSASResourceTypes = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASResourceTypes = void 0;
+    var AccountSASResourceTypes = class _AccountSASResourceTypes {
+      /**
+       * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid resource type.
+       *
+       * @param resourceTypes -
+       */
+      static parse(resourceTypes) {
+        const accountSASResourceTypes = new _AccountSASResourceTypes();
+        for (const c of resourceTypes) {
+          switch (c) {
+            case "s":
+              accountSASResourceTypes.service = true;
+              break;
+            case "c":
+              accountSASResourceTypes.container = true;
+              break;
+            case "o":
+              accountSASResourceTypes.object = true;
+              break;
+            default:
+              throw new RangeError(`Invalid resource type: ${c}`);
+          }
         }
+        return accountSASResourceTypes;
       }
-    };
-    exports2.prevSnapshotUrl = {
-      parameterPath: ["options", "prevSnapshotUrl"],
-      mapper: {
-        serializedName: "x-ms-previous-snapshot-url",
-        xmlName: "x-ms-previous-snapshot-url",
-        type: {
-          name: "String"
+      /**
+       * Permission to access service level APIs granted.
+       */
+      service = false;
+      /**
+       * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
+       */
+      container = false;
+      /**
+       * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
+       */
+      object = false;
+      /**
+       * Converts the given resource types to a string.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
+       *
+       */
+      toString() {
+        const resourceTypes = [];
+        if (this.service) {
+          resourceTypes.push("s");
         }
-      }
-    };
-    exports2.sequenceNumberAction = {
-      parameterPath: "sequenceNumberAction",
-      mapper: {
-        serializedName: "x-ms-sequence-number-action",
-        required: true,
-        xmlName: "x-ms-sequence-number-action",
-        type: {
-          name: "Enum",
-          allowedValues: ["max", "update", "increment"]
+        if (this.container) {
+          resourceTypes.push("c");
         }
-      }
-    };
-    exports2.comp21 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "incrementalcopy",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (this.object) {
+          resourceTypes.push("o");
         }
+        return resourceTypes.join("");
       }
     };
-    exports2.blobType1 = {
-      parameterPath: "blobType",
-      mapper: {
-        defaultValue: "AppendBlob",
-        isConstant: true,
-        serializedName: "x-ms-blob-type",
-        type: {
-          name: "String"
+    exports2.AccountSASResourceTypes = AccountSASResourceTypes;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js
+var require_AccountSASServices = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASServices = void 0;
+    var AccountSASServices = class _AccountSASServices {
+      /**
+       * Creates an {@link AccountSASServices} from the specified services string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid service.
+       *
+       * @param services -
+       */
+      static parse(services) {
+        const accountSASServices = new _AccountSASServices();
+        for (const c of services) {
+          switch (c) {
+            case "b":
+              accountSASServices.blob = true;
+              break;
+            case "f":
+              accountSASServices.file = true;
+              break;
+            case "q":
+              accountSASServices.queue = true;
+              break;
+            case "t":
+              accountSASServices.table = true;
+              break;
+            default:
+              throw new RangeError(`Invalid service character: ${c}`);
+          }
         }
+        return accountSASServices;
       }
-    };
-    exports2.comp22 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "appendblock",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      /**
+       * Permission to access blob resources granted.
+       */
+      blob = false;
+      /**
+       * Permission to access file resources granted.
+       */
+      file = false;
+      /**
+       * Permission to access queue resources granted.
+       */
+      queue = false;
+      /**
+       * Permission to access table resources granted.
+       */
+      table = false;
+      /**
+       * Converts the given services to a string.
+       *
+       */
+      toString() {
+        const services = [];
+        if (this.blob) {
+          services.push("b");
         }
-      }
-    };
-    exports2.maxSize = {
-      parameterPath: ["options", "appendPositionAccessConditions", "maxSize"],
-      mapper: {
-        serializedName: "x-ms-blob-condition-maxsize",
-        xmlName: "x-ms-blob-condition-maxsize",
-        type: {
-          name: "Number"
+        if (this.table) {
+          services.push("t");
         }
-      }
-    };
-    exports2.appendPosition = {
-      parameterPath: [
-        "options",
-        "appendPositionAccessConditions",
-        "appendPosition"
-      ],
-      mapper: {
-        serializedName: "x-ms-blob-condition-appendpos",
-        xmlName: "x-ms-blob-condition-appendpos",
-        type: {
-          name: "Number"
+        if (this.queue) {
+          services.push("q");
         }
-      }
-    };
-    exports2.sourceRange1 = {
-      parameterPath: ["options", "sourceRange"],
-      mapper: {
-        serializedName: "x-ms-source-range",
-        xmlName: "x-ms-source-range",
-        type: {
-          name: "String"
+        if (this.file) {
+          services.push("f");
         }
+        return services.join("");
       }
     };
-    exports2.comp23 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "seal",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+    exports2.AccountSASServices = AccountSASServices;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js
+var require_AccountSASSignatureValues = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters;
+    exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal;
+    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
+    var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes();
+    var AccountSASServices_js_1 = require_AccountSASServices();
+    var SasIPRange_js_1 = require_SasIPRange();
+    var SASQueryParameters_js_1 = require_SASQueryParameters();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common();
+    function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
+      return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
+    }
+    function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
+      const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
+        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
       }
-    };
-    exports2.blobType2 = {
-      parameterPath: "blobType",
-      mapper: {
-        defaultValue: "BlockBlob",
-        isConstant: true,
-        serializedName: "x-ms-blob-type",
-        type: {
-          name: "String"
-        }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission.");
       }
-    };
-    exports2.copySourceBlobProperties = {
-      parameterPath: ["options", "copySourceBlobProperties"],
-      mapper: {
-        serializedName: "x-ms-copy-source-blob-properties",
-        xmlName: "x-ms-copy-source-blob-properties",
-        type: {
-          name: "Boolean"
-        }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission.");
       }
-    };
-    exports2.comp24 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "block",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission.");
       }
-    };
-    exports2.blockId = {
-      parameterPath: "blockId",
-      mapper: {
-        serializedName: "blockid",
-        required: true,
-        xmlName: "blockid",
-        type: {
-          name: "String"
-        }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission.");
       }
-    };
-    exports2.blocks = {
-      parameterPath: "blocks",
-      mapper: mappers_js_1.BlockLookupList
-    };
-    exports2.comp25 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "blocklist",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") {
+        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
       }
-    };
-    exports2.listType = {
-      parameterPath: "listType",
-      mapper: {
-        defaultValue: "committed",
-        serializedName: "blocklisttype",
-        required: true,
-        xmlName: "blocklisttype",
-        type: {
-          name: "Enum",
-          allowedValues: ["committed", "uncommitted", "all"]
-        }
+      const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString());
+      const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString();
+      const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
+      let stringToSign;
+      if (version >= "2020-12-06") {
+        stringToSign = [
+          sharedKeyCredential.accountName,
+          parsedPermissions,
+          parsedServices,
+          parsedResourceTypes,
+          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
+          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
+          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
+          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
+          version,
+          accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "",
+          ""
+          // Account SAS requires an additional newline character
+        ].join("\n");
+      } else {
+        stringToSign = [
+          sharedKeyCredential.accountName,
+          parsedPermissions,
+          parsedServices,
+          parsedResourceTypes,
+          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
+          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
+          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
+          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
+          version,
+          ""
+          // Account SAS requires an additional newline character
+        ].join("\n");
       }
-    };
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js
-var require_service = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js
+var require_BlobServiceClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var ServiceImpl = class {
-      client;
+    exports2.BlobServiceClient = void 0;
+    var core_auth_1 = require_commonjs7();
+    var core_rest_pipeline_1 = require_commonjs6();
+    var core_util_1 = require_commonjs4();
+    var Pipeline_js_1 = require_Pipeline();
+    var ContainerClient_js_1 = require_ContainerClient();
+    var utils_common_js_1 = require_utils_common();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var utils_common_js_2 = require_utils_common();
+    var tracing_js_1 = require_tracing();
+    var BlobBatchClient_js_1 = require_BlobBatchClient();
+    var StorageClient_js_1 = require_StorageClient();
+    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
+    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
+    var AccountSASServices_js_1 = require_AccountSASServices();
+    var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient {
       /**
-       * Initialize a new instance of the class Service class.
-       * @param client Reference to the service client
+       * serviceContext provided by protocol layer.
        */
-      constructor(client) {
-        this.client = client;
+      serviceContext;
+      /**
+       *
+       * Creates an instance of BlobServiceClient from connection string.
+       *
+       * @param connectionString - Account connection string or a SAS connection string of an Azure storage account.
+       *                                  [ Note - Account connection string can only be used in NODE.JS runtime. ]
+       *                                  Account connection string example -
+       *                                  `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net`
+       *                                  SAS connection string example -
+       *                                  `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString`
+       * @param options - Optional. Options to configure the HTTP pipeline.
+       */
+      static fromConnectionString(connectionString, options) {
+        options = options || {};
+        const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString);
+        if (extractedCreds.kind === "AccountConnString") {
+          if (core_util_1.isNodeLike) {
+            const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+            if (!options.proxyOptions) {
+              options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+            }
+            const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            return new _BlobServiceClient(extractedCreds.url, pipeline);
+          } else {
+            throw new Error("Account connection string is only supported in Node.js environment");
+          }
+        } else if (extractedCreds.kind === "SASConnString") {
+          const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline);
+        } else {
+          throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+        }
+      }
+      constructor(url, credentialOrPipeline, options) {
+        let pipeline;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
+          pipeline = credentialOrPipeline;
+        } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) {
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
+        } else {
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        }
+        super(url, pipeline);
+        this.serviceContext = this.storageClientContext.service;
       }
       /**
-       * Sets properties for a storage account's Blob service endpoint, including properties for Storage
-       * Analytics and CORS (Cross-Origin Resource Sharing) rules
-       * @param blobServiceProperties The StorageService properties.
-       * @param options The options parameters.
+       * Creates a {@link ContainerClient} object
+       *
+       * @param containerName - A container name
+       * @returns A new ContainerClient object for the given container name.
+       *
+       * Example usage:
+       *
+       * ```ts snippet:BlobServiceClientGetContainerClient
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerClient = blobServiceClient.getContainerClient("");
+       * ```
        */
-      setProperties(blobServiceProperties, options) {
-        return this.client.sendOperationRequest({ blobServiceProperties, options }, setPropertiesOperationSpec);
+      getContainerClient(containerName) {
+        return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline);
       }
       /**
-       * gets the properties of a storage account's Blob service, including properties for Storage Analytics
-       * and CORS (Cross-Origin Resource Sharing) rules.
-       * @param options The options parameters.
+       * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       *
+       * @param containerName - Name of the container to create.
+       * @param options - Options to configure Container Create operation.
+       * @returns Container creation response and the corresponding container client.
        */
-      getProperties(options) {
-        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
+      async createContainer(containerName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(containerName);
+          const containerCreateResponse = await containerClient.create(updatedOptions);
+          return {
+            containerClient,
+            containerCreateResponse
+          };
+        });
       }
       /**
-       * Retrieves statistics related to replication for the Blob service. It is only available on the
-       * secondary location endpoint when read-access geo-redundant replication is enabled for the storage
-       * account.
-       * @param options The options parameters.
+       * Deletes a Blob container.
+       *
+       * @param containerName - Name of the container to delete.
+       * @param options - Options to configure Container Delete operation.
+       * @returns Container deletion response.
        */
-      getStatistics(options) {
-        return this.client.sendOperationRequest({ options }, getStatisticsOperationSpec);
+      async deleteContainer(containerName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(containerName);
+          return containerClient.delete(updatedOptions);
+        });
+      }
+      /**
+       * Restore a previously deleted Blob container.
+       * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container.
+       *
+       * @param deletedContainerName - Name of the previously deleted container.
+       * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container.
+       * @param options - Options to configure Container Restore operation.
+       * @returns Container deletion response.
+       */
+      async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName);
+          const containerContext = containerClient["storageClientContext"].container;
+          const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({
+            deletedContainerName,
+            deletedContainerVersion,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return { containerClient, containerUndeleteResponse };
+        });
+      }
+      /**
+       * Gets the properties of a storage account’s Blob service, including properties
+       * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
+       *
+       * @param options - Options to the Service Get Properties operation.
+       * @returns Response data for the Service Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets properties for a storage account’s Blob service endpoint, including properties
+       * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties
+       *
+       * @param properties -
+       * @param options - Options to the Service Set Properties operation.
+       * @returns Response data for the Service Set Properties operation.
+       */
+      async setProperties(properties, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, {
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Retrieves statistics related to replication for the Blob service. It is only
+       * available on the secondary location endpoint when read-access geo-redundant
+       * replication is enabled for the storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats
+       *
+       * @param options - Options to the Service Get Statistics operation.
+       * @returns Response data for the Service Get Statistics operation.
+       */
+      async getStatistics(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns a list of the containers under the specified account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2
+       *
+       * @param marker - A string value that identifies the portion of
+       *                        the list of containers to be returned with the next listing operation. The
+       *                        operation returns the continuationToken value within the response body if the
+       *                        listing operation did not return all containers remaining to be listed
+       *                        with the current page. The continuationToken value can be used as the value for
+       *                        the marker parameter in a subsequent call to request the next page of list
+       *                        items. The marker value is opaque to the client.
+       * @param options - Options to the Service List Container Segment operation.
+       * @returns Response data for the Service List Container Segment operation.
+       */
+      async listContainersSegment(marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({
+            abortSignal: options.abortSignal,
+            marker,
+            ...options,
+            include: typeof options.include === "string" ? [options.include] : options.include,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Filter Blobs operation enables callers to list blobs across all containers whose tags
+       * match a given search expression. Filter blobs searches across all containers within a
+       * storage account but can be scoped within the expression to a single container.
+       *
+       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                        The given expression must evaluate to true for a blob to be returned in the results.
+       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({
+            abortSignal: options.abortSignal,
+            where: tagFilterSqlExpression,
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            blobs: response.blobs.map((blob) => {
+              let tagValue = "";
+              if (blob.tags?.blobTagSet.length === 1) {
+                tagValue = blob.tags.blobTagSet[0].value;
+              }
+              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
+            })
+          };
+          return wrappedResponse;
+        });
       }
       /**
-       * The List Containers Segment operation returns a list of the containers under the specified account
-       * @param options The options parameters.
+       * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
        */
-      listContainersSegment(options) {
-        return this.client.sendOperationRequest({ options }, listContainersSegmentOperationSpec);
+      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
+        let response;
+        if (!!marker || marker === void 0) {
+          do {
+            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
+            response.blobs = response.blobs || [];
+            marker = response.continuationToken;
+            yield response;
+          } while (marker);
+        }
       }
       /**
-       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
-       * bearer token authentication.
-       * @param keyInfo Key information
-       * @param options The options parameters.
+       * Returns an AsyncIterableIterator for blobs.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to findBlobsByTagsItems.
        */
-      getUserDelegationKey(keyInfo, options) {
-        return this.client.sendOperationRequest({ keyInfo, options }, getUserDelegationKeyOperationSpec);
+      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
+        let marker;
+        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
+          yield* segment.blobs;
+        }
       }
       /**
-       * Returns the sku name and account kind
-       * @param options The options parameters.
+       * Returns an async iterable iterator to find all blobs with specified tag
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
+       *
+       * ```ts snippet:BlobServiceClientFindBlobsByTags
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * // Use for await to iterate the blobs
+       * let i = 1;
+       * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Use iter.next() to iterate the blobs
+       * i = 1;
+       * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Use byPage() to iterate the blobs
+       * i = 1;
+       * for await (const page of blobServiceClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Use paging with a marker
+       * i = 1;
+       * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = blobServiceClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       *
+       * // Prints blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to find blobs by tags.
        */
-      getAccountInfo(options) {
-        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+      findBlobsByTags(tagFilterSqlExpression, options = {}) {
+        const listSegmentOptions = {
+          ...options
+        };
+        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
       }
       /**
-       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
-       * @param contentLength The length of the request.
-       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
-       *                             boundary. Example header value: multipart/mixed; boundary=batch_
-       * @param body Initial data
-       * @param options The options parameters.
+       * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses
+       *
+       * @param marker - A string value that identifies the portion of
+       *                        the list of containers to be returned with the next listing operation. The
+       *                        operation returns the continuationToken value within the response body if the
+       *                        listing operation did not return all containers remaining to be listed
+       *                        with the current page. The continuationToken value can be used as the value for
+       *                        the marker parameter in a subsequent call to request the next page of list
+       *                        items. The marker value is opaque to the client.
+       * @param options - Options to list containers operation.
        */
-      submitBatch(contentLength, multipartContentType, body, options) {
-        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
+      async *listSegments(marker, options = {}) {
+        let listContainersSegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listContainersSegmentResponse = await this.listContainersSegment(marker, options);
+            listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || [];
+            marker = listContainersSegmentResponse.continuationToken;
+            yield await listContainersSegmentResponse;
+          } while (marker);
+        }
       }
       /**
-       * The Filter Blobs operation enables callers to list blobs across all containers whose tags match a
-       * given search expression.  Filter blobs searches across all containers within a storage account but
-       * can be scoped within the expression to a single container.
-       * @param options The options parameters.
+       * Returns an AsyncIterableIterator for Container Items
+       *
+       * @param options - Options to list containers operation.
        */
-      filterBlobs(options) {
-        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
-      }
-    };
-    exports2.ServiceImpl = ServiceImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var setPropertiesOperationSpec = {
-      path: "/",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.ServiceSetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceSetPropertiesExceptionHeaders
-        }
-      },
-      requestBody: Parameters.blobServiceProperties,
-      queryParameters: [
-        Parameters.restype,
-        Parameters.comp,
-        Parameters.timeoutInSeconds
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getPropertiesOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlobServiceProperties,
-          headersMapper: Mappers.ServiceGetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetPropertiesExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.restype,
-        Parameters.comp,
-        Parameters.timeoutInSeconds
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getStatisticsOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlobServiceStatistics,
-          headersMapper: Mappers.ServiceGetStatisticsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetStatisticsExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.restype,
-        Parameters.timeoutInSeconds,
-        Parameters.comp1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var listContainersSegmentOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.ListContainersSegmentResponse,
-          headersMapper: Mappers.ServiceListContainersSegmentHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceListContainersSegmentExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp2,
-        Parameters.prefix,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.include
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getUserDelegationKeyOperationSpec = {
-      path: "/",
-      httpMethod: "POST",
-      responses: {
-        200: {
-          bodyMapper: Mappers.UserDelegationKey,
-          headersMapper: Mappers.ServiceGetUserDelegationKeyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetUserDelegationKeyExceptionHeaders
-        }
-      },
-      requestBody: Parameters.keyInfo,
-      queryParameters: [
-        Parameters.restype,
-        Parameters.timeoutInSeconds,
-        Parameters.comp3
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getAccountInfoOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.ServiceGetAccountInfoHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetAccountInfoExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.comp,
-        Parameters.timeoutInSeconds,
-        Parameters.restype1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var submitBatchOperationSpec = {
-      path: "/",
-      httpMethod: "POST",
-      responses: {
-        202: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.ServiceSubmitBatchHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceSubmitBatchExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp4],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.multipartContentType
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var filterBlobsOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.FilterBlobSegment,
-          headersMapper: Mappers.ServiceFilterBlobsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceFilterBlobsExceptionHeaders
+      async *listItems(options = {}) {
+        let marker;
+        for await (const segment of this.listSegments(marker, options)) {
+          yield* segment.containerItems;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.comp5,
-        Parameters.where
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js
-var require_container = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var ContainerImpl = class {
-      client;
+      }
       /**
-       * Initialize a new instance of the class Container class.
-       * @param client Reference to the service client
+       * Returns an async iterable iterator to list all the containers
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the containers in pages.
+       *
+       * ```ts snippet:BlobServiceClientListContainers
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * // Use for await to iterate the containers
+       * let i = 1;
+       * for await (const container of blobServiceClient.listContainers()) {
+       *   console.log(`Container ${i++}: ${container.name}`);
+       * }
+       *
+       * // Use iter.next() to iterate the containers
+       * i = 1;
+       * const iter = blobServiceClient.listContainers();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Container ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Use byPage() to iterate the containers
+       * i = 1;
+       * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
+       *   for (const container of page.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       *
+       * // Use paging with a marker
+       * i = 1;
+       * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       *
+       * // Prints 2 container names
+       * if (response.containerItems) {
+       *   for (const container of response.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       *
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = blobServiceClient
+       *   .listContainers()
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       *
+       * // Prints 10 container names
+       * if (response.containerItems) {
+       *   for (const container of response.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param options - Options to list containers.
+       * @returns An asyncIterableIterator that supports paging.
        */
-      constructor(client) {
-        this.client = client;
+      listContainers(options = {}) {
+        if (options.prefix === "") {
+          options.prefix = void 0;
+        }
+        const include = [];
+        if (options.includeDeleted) {
+          include.push("deleted");
+        }
+        if (options.includeMetadata) {
+          include.push("metadata");
+        }
+        if (options.includeSystem) {
+          include.push("system");
+        }
+        const listSegmentOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItems(listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listSegments(settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
       }
       /**
-       * creates a new container under the specified account. If the container with the same name already
-       * exists, the operation fails
-       * @param options The options parameters.
+       * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential).
+       *
+       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
+       * bearer token authentication.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key
+       *
+       * @param startsOn -      The start time for the user delegation SAS. Must be within 7 days of the current time
+       * @param expiresOn -     The end time for the user delegation SAS. Must be within 7 days of the current time
        */
-      create(options) {
-        return this.client.sendOperationRequest({ options }, createOperationSpec);
+      async getUserDelegationKey(startsOn, expiresOn, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({
+            startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false),
+            expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false)
+          }, {
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const userDelegationKey = {
+            signedObjectId: response.signedObjectId,
+            signedTenantId: response.signedTenantId,
+            signedStartsOn: new Date(response.signedStartsOn),
+            signedExpiresOn: new Date(response.signedExpiresOn),
+            signedService: response.signedService,
+            signedVersion: response.signedVersion,
+            value: response.value
+          };
+          const res = {
+            _response: response._response,
+            requestId: response.requestId,
+            clientRequestId: response.clientRequestId,
+            version: response.version,
+            date: response.date,
+            errorCode: response.errorCode,
+            ...userDelegationKey
+          };
+          return res;
+        });
       }
       /**
-       * returns all user-defined metadata and system properties for the specified container. The data
-       * returned does not include the container's list of blobs
-       * @param options The options parameters.
+       * Creates a BlobBatchClient object to conduct batch operations.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @returns A new BlobBatchClient object for this service.
        */
-      getProperties(options) {
-        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
+      getBlobBatchClient() {
+        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
       }
       /**
-       * operation marks the specified container for deletion. The container and any blobs contained within
-       * it are later deleted during garbage collection
-       * @param options The options parameters.
+       * Only available for BlobServiceClient constructed with a shared key credential.
+       *
+       * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       *
+       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
+       * @param permissions - Specifies the list of permissions to be associated with the SAS.
+       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
+       * @param options - Optional parameters.
+       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
        */
-      delete(options) {
-        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
+      generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+        }
+        if (expiresOn === void 0) {
+          const now = /* @__PURE__ */ new Date();
+          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+        }
+        const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({
+          permissions,
+          expiresOn,
+          resourceTypes,
+          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
+          ...options
+        }, this.credential).toString();
+        return (0, utils_common_js_1.appendToURLQuery)(this.url, sas);
       }
       /**
-       * operation sets one or more user-defined name-value pairs for the specified container.
-       * @param options The options parameters.
+       * Only available for BlobServiceClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       *
+       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
+       * @param permissions - Specifies the list of permissions to be associated with the SAS.
+       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
+       * @param options - Optional parameters.
+       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
        */
-      setMetadata(options) {
-        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
+      generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+        }
+        if (expiresOn === void 0) {
+          const now = /* @__PURE__ */ new Date();
+          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+        }
+        return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({
+          permissions,
+          expiresOn,
+          resourceTypes,
+          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
+          ...options
+        }, this.credential).stringToSign;
       }
-      /**
-       * gets the permissions for the specified container. The permissions indicate whether container data
-       * may be accessed publicly.
-       * @param options The options parameters.
-       */
-      getAccessPolicy(options) {
-        return this.client.sendOperationRequest({ options }, getAccessPolicyOperationSpec);
+    };
+    exports2.BlobServiceClient = BlobServiceClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js
+var require_BatchResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js
+var require_generatedModels = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.KnownEncryptionAlgorithmType = void 0;
+    var KnownEncryptionAlgorithmType;
+    (function(KnownEncryptionAlgorithmType2) {
+      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
+    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/index.js
+var require_commonjs15 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var core_rest_pipeline_1 = require_commonjs6();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return core_rest_pipeline_1.RestError;
+    } });
+    tslib_1.__exportStar(require_BlobServiceClient(), exports2);
+    tslib_1.__exportStar(require_Clients(), exports2);
+    tslib_1.__exportStar(require_ContainerClient(), exports2);
+    tslib_1.__exportStar(require_BlobLeaseClient(), exports2);
+    tslib_1.__exportStar(require_AccountSASPermissions(), exports2);
+    tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2);
+    tslib_1.__exportStar(require_AccountSASServices(), exports2);
+    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
+    Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() {
+      return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters;
+    } });
+    tslib_1.__exportStar(require_BlobBatch(), exports2);
+    tslib_1.__exportStar(require_BlobBatchClient(), exports2);
+    tslib_1.__exportStar(require_BatchResponse(), exports2);
+    tslib_1.__exportStar(require_BlobSASPermissions(), exports2);
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() {
+      return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters;
+    } });
+    tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2);
+    tslib_1.__exportStar(require_ContainerSASPermissions(), exports2);
+    tslib_1.__exportStar(require_AnonymousCredential(), exports2);
+    tslib_1.__exportStar(require_Credential(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2);
+    var models_js_1 = require_models2();
+    Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() {
+      return models_js_1.BlockBlobTier;
+    } });
+    Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() {
+      return models_js_1.PremiumPageBlobTier;
+    } });
+    Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() {
+      return models_js_1.StorageBlobAudience;
+    } });
+    Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() {
+      return models_js_1.getBlobServiceAccountAudience;
+    } });
+    var Pipeline_js_1 = require_Pipeline();
+    Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() {
+      return Pipeline_js_1.Pipeline;
+    } });
+    Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() {
+      return Pipeline_js_1.isPipelineLike;
+    } });
+    Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() {
+      return Pipeline_js_1.newPipeline;
+    } });
+    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
+      return Pipeline_js_1.StorageOAuthScopes;
+    } });
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
+      return RequestPolicy_js_1.BaseRequestPolicy;
+    } });
+    tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_CredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_SASQueryParameters(), exports2);
+    tslib_1.__exportStar(require_generatedModels(), exports2);
+    var log_js_1 = require_log5();
+    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
+      return log_js_1.logger;
+    } });
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/shared/errors.js
+var require_errors3 = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RateLimitError = exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.CacheNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
+    var FilesNotFoundError = class extends Error {
+      constructor(files = []) {
+        let message = "No files were found to upload";
+        if (files.length > 0) {
+          message += `: ${files.join(", ")}`;
+        }
+        super(message);
+        this.files = files;
+        this.name = "FilesNotFoundError";
       }
-      /**
-       * sets the permissions for the specified container. The permissions indicate whether blobs in a
-       * container may be accessed publicly.
-       * @param options The options parameters.
-       */
-      setAccessPolicy(options) {
-        return this.client.sendOperationRequest({ options }, setAccessPolicyOperationSpec);
+    };
+    exports2.FilesNotFoundError = FilesNotFoundError;
+    var InvalidResponseError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "InvalidResponseError";
       }
-      /**
-       * Restores a previously-deleted container.
-       * @param options The options parameters.
-       */
-      restore(options) {
-        return this.client.sendOperationRequest({ options }, restoreOperationSpec);
+    };
+    exports2.InvalidResponseError = InvalidResponseError;
+    var CacheNotFoundError = class extends Error {
+      constructor(message = "Cache not found") {
+        super(message);
+        this.name = "CacheNotFoundError";
       }
-      /**
-       * Renames an existing container.
-       * @param sourceContainerName Required.  Specifies the name of the container to rename.
-       * @param options The options parameters.
-       */
-      rename(sourceContainerName, options) {
-        return this.client.sendOperationRequest({ sourceContainerName, options }, renameOperationSpec);
+    };
+    exports2.CacheNotFoundError = CacheNotFoundError;
+    var GHESNotSupportedError = class extends Error {
+      constructor(message = "@actions/cache v4.1.4+, actions/cache/save@v4+ and actions/cache/restore@v4+ are not currently supported on GHES.") {
+        super(message);
+        this.name = "GHESNotSupportedError";
       }
-      /**
-       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
-       * @param contentLength The length of the request.
-       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
-       *                             boundary. Example header value: multipart/mixed; boundary=batch_
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      submitBatch(contentLength, multipartContentType, body, options) {
-        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
+    };
+    exports2.GHESNotSupportedError = GHESNotSupportedError;
+    var NetworkError = class extends Error {
+      constructor(code) {
+        const message = `Unable to make request: ${code}
+If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
+        super(message);
+        this.code = code;
+        this.name = "NetworkError";
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs in a container whose tags match a given
-       * search expression.  Filter blobs searches within the given container.
-       * @param options The options parameters.
-       */
-      filterBlobs(options) {
-        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
+    };
+    exports2.NetworkError = NetworkError;
+    NetworkError.isNetworkErrorCode = (code) => {
+      if (!code)
+        return false;
+      return [
+        "ECONNRESET",
+        "ENOTFOUND",
+        "ETIMEDOUT",
+        "ECONNREFUSED",
+        "EHOSTUNREACH"
+      ].includes(code);
+    };
+    var UsageError = class extends Error {
+      constructor() {
+        const message = `Cache storage quota has been hit. Unable to upload any new cache entries. Usage is recalculated every 6-12 hours.
+More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
+        super(message);
+        this.name = "UsageError";
       }
-      /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param options The options parameters.
-       */
-      acquireLease(options) {
-        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
+    };
+    exports2.UsageError = UsageError;
+    UsageError.isUsageErrorMessage = (msg) => {
+      if (!msg)
+        return false;
+      return msg.includes("insufficient usage");
+    };
+    var RateLimitError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "RateLimitError";
+      }
+    };
+    exports2.RateLimitError = RateLimitError;
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/uploadUtils.js
+var require_uploadUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/uploadUtils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UploadProgress = void 0;
+    exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK;
+    var core14 = __importStar2(require_core());
+    var storage_blob_1 = require_commonjs15();
+    var errors_1 = require_errors3();
+    var UploadProgress = class {
+      constructor(contentLength) {
+        this.contentLength = contentLength;
+        this.sentBytes = 0;
+        this.displayedComplete = false;
+        this.startTime = Date.now();
       }
       /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
+       * Sets the number of bytes sent
+       *
+       * @param sentBytes the number of bytes sent
        */
-      releaseLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
+      setSentBytes(sentBytes) {
+        this.sentBytes = sentBytes;
       }
       /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
+       * Returns the total number of bytes transferred.
        */
-      renewLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
+      getTransferredBytes() {
+        return this.sentBytes;
       }
       /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param options The options parameters.
+       * Returns true if the upload is complete.
        */
-      breakLease(options) {
-        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
+      isDone() {
+        return this.getTransferredBytes() === this.contentLength;
       }
       /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
-       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
-       *                        (String) for a list of valid GUID string formats.
-       * @param options The options parameters.
+       * Prints the current upload stats. Once the upload completes, this will print one
+       * last line and then stop.
        */
-      changeLease(leaseId, proposedLeaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
+      display() {
+        if (this.displayedComplete) {
+          return;
+        }
+        const transferredBytes = this.sentBytes;
+        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
+        const elapsedTime = Date.now() - this.startTime;
+        const uploadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
+        core14.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`);
+        if (this.isDone()) {
+          this.displayedComplete = true;
+        }
       }
       /**
-       * [Update] The List Blobs operation returns a list of the blobs under the specified container
-       * @param options The options parameters.
+       * Returns a function used to handle TransferProgressEvents.
        */
-      listBlobFlatSegment(options) {
-        return this.client.sendOperationRequest({ options }, listBlobFlatSegmentOperationSpec);
+      onProgress() {
+        return (progress) => {
+          this.setSentBytes(progress.loadedBytes);
+        };
       }
       /**
-       * [Update] The List Blobs operation returns a list of the blobs under the specified container
-       * @param delimiter When the request includes this parameter, the operation returns a BlobPrefix
-       *                  element in the response body that acts as a placeholder for all blobs whose names begin with the
-       *                  same substring up to the appearance of the delimiter character. The delimiter may be a single
-       *                  character or a string.
-       * @param options The options parameters.
+       * Starts the timer that displays the stats.
+       *
+       * @param delayInMs the delay between each write
        */
-      listBlobHierarchySegment(delimiter, options) {
-        return this.client.sendOperationRequest({ delimiter, options }, listBlobHierarchySegmentOperationSpec);
+      startDisplayTimer(delayInMs = 1e3) {
+        const displayCallback = () => {
+          this.display();
+          if (!this.isDone()) {
+            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+          }
+        };
+        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
       }
       /**
-       * Returns the sku name and account kind
-       * @param options The options parameters.
+       * Stops the timer that displays the stats. As this typically indicates the upload
+       * is complete, this will display one last line, unless the last line has already
+       * been written.
        */
-      getAccountInfo(options) {
-        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
-      }
-    };
-    exports2.ContainerImpl = ContainerImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.ContainerCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerCreateExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.access,
-        Parameters.defaultEncryptionScope,
-        Parameters.preventEncryptionScopeOverride
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPropertiesOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerGetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerGetPropertiesExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var deleteOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "DELETE",
-      responses: {
-        202: {
-          headersMapper: Mappers.ContainerDeleteHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerDeleteExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setMetadataOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerSetMetadataHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerSetMetadataExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp6
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getAccessPolicyOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: {
-            type: {
-              name: "Sequence",
-              element: {
-                type: { name: "Composite", className: "SignedIdentifier" }
-              }
-            },
-            serializedName: "SignedIdentifiers",
-            xmlName: "SignedIdentifiers",
-            xmlIsWrapped: true,
-            xmlElementName: "SignedIdentifier"
-          },
-          headersMapper: Mappers.ContainerGetAccessPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerGetAccessPolicyExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp7
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setAccessPolicyOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerSetAccessPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerSetAccessPolicyExceptionHeaders
-        }
-      },
-      requestBody: Parameters.containerAcl,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp7
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.access,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var restoreOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.ContainerRestoreHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerRestoreExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp8
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.deletedContainerName,
-        Parameters.deletedContainerVersion
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var renameOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerRenameHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerRenameExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp9
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.sourceContainerName,
-        Parameters.sourceLeaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var submitBatchOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "POST",
-      responses: {
-        202: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.ContainerSubmitBatchHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerSubmitBatchExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp4,
-        Parameters.restype2
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.multipartContentType
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var filterBlobsOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.FilterBlobSegment,
-          headersMapper: Mappers.ContainerFilterBlobsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerFilterBlobsExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.comp5,
-        Parameters.where,
-        Parameters.restype2
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var acquireLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.ContainerAcquireLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerAcquireLeaseExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action,
-        Parameters.duration,
-        Parameters.proposedLeaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var releaseLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerReleaseLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerReleaseLeaseExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action1,
-        Parameters.leaseId1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var renewLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerRenewLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerRenewLeaseExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action2
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var breakLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.ContainerBreakLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerBreakLeaseExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action3,
-        Parameters.breakPeriod
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var changeLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerChangeLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerChangeLeaseExceptionHeaders
+      stopDisplayTimer() {
+        if (this.timeoutHandle) {
+          clearTimeout(this.timeoutHandle);
+          this.timeoutHandle = void 0;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action4,
-        Parameters.proposedLeaseId1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        this.display();
+      }
     };
-    var listBlobFlatSegmentOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.ListBlobsFlatSegmentResponse,
-          headersMapper: Mappers.ContainerListBlobFlatSegmentHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerListBlobFlatSegmentExceptionHeaders
+    exports2.UploadProgress = UploadProgress;
+    function uploadCacheArchiveSDK(signedUploadURL, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a;
+        const blobClient = new storage_blob_1.BlobClient(signedUploadURL);
+        const blockBlobClient = blobClient.getBlockBlobClient();
+        const uploadProgress = new UploadProgress((_a = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a !== void 0 ? _a : 0);
+        const uploadOptions = {
+          blockSize: options === null || options === void 0 ? void 0 : options.uploadChunkSize,
+          concurrency: options === null || options === void 0 ? void 0 : options.uploadConcurrency,
+          // maximum number of parallel transfer workers
+          maxSingleShotSize: 128 * 1024 * 1024,
+          // 128 MiB initial transfer size
+          onProgress: uploadProgress.onProgress()
+        };
+        try {
+          uploadProgress.startDisplayTimer();
+          core14.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`);
+          const response = yield blockBlobClient.uploadFile(archivePath, uploadOptions);
+          if (response._response.status >= 400) {
+            throw new errors_1.InvalidResponseError(`uploadCacheArchiveSDK: upload failed with status code ${response._response.status}`);
+          }
+          return response;
+        } catch (error3) {
+          core14.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`);
+          throw error3;
+        } finally {
+          uploadProgress.stopDisplayTimer();
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp2,
-        Parameters.prefix,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.restype2,
-        Parameters.include1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var listBlobHierarchySegmentOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.ListBlobsHierarchySegmentResponse,
-          headersMapper: Mappers.ContainerListBlobHierarchySegmentHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerListBlobHierarchySegmentExceptionHeaders
+      });
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/requestUtils.js
+var require_requestUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/requestUtils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp2,
-        Parameters.prefix,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.restype2,
-        Parameters.include1,
-        Parameters.delimiter
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getAccountInfoOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerGetAccountInfoHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerGetAccountInfoExceptionHeaders
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      },
-      queryParameters: [
-        Parameters.comp,
-        Parameters.timeoutInSeconds,
-        Parameters.restype1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isSuccessStatusCode = isSuccessStatusCode;
+    exports2.isServerErrorStatusCode = isServerErrorStatusCode;
+    exports2.isRetryableStatusCode = isRetryableStatusCode;
+    exports2.retry = retry2;
+    exports2.retryTypedResponse = retryTypedResponse;
+    exports2.retryHttpClientResponse = retryHttpClientResponse;
+    var core14 = __importStar2(require_core());
+    var http_client_1 = require_lib();
+    var constants_1 = require_constants12();
+    function isSuccessStatusCode(statusCode) {
+      if (!statusCode) {
+        return false;
+      }
+      return statusCode >= 200 && statusCode < 300;
+    }
+    function isServerErrorStatusCode(statusCode) {
+      if (!statusCode) {
+        return true;
+      }
+      return statusCode >= 500;
+    }
+    function isRetryableStatusCode(statusCode) {
+      if (!statusCode) {
+        return false;
+      }
+      const retryableStatusCodes = [
+        http_client_1.HttpCodes.BadGateway,
+        http_client_1.HttpCodes.ServiceUnavailable,
+        http_client_1.HttpCodes.GatewayTimeout
+      ];
+      return retryableStatusCodes.includes(statusCode);
+    }
+    function sleep(milliseconds) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        return new Promise((resolve3) => setTimeout(resolve3, milliseconds));
+      });
+    }
+    function retry2(name_1, method_1, getStatusCode_1) {
+      return __awaiter2(this, arguments, void 0, function* (name, method, getStatusCode, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay, onError = void 0) {
+        let errorMessage = "";
+        let attempt = 1;
+        while (attempt <= maxAttempts) {
+          let response = void 0;
+          let statusCode = void 0;
+          let isRetryable = false;
+          try {
+            response = yield method();
+          } catch (error3) {
+            if (onError) {
+              response = onError(error3);
+            }
+            isRetryable = true;
+            errorMessage = error3.message;
+          }
+          if (response) {
+            statusCode = getStatusCode(response);
+            if (!isServerErrorStatusCode(statusCode)) {
+              return response;
+            }
+          }
+          if (statusCode) {
+            isRetryable = isRetryableStatusCode(statusCode);
+            errorMessage = `Cache service responded with ${statusCode}`;
+          }
+          core14.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`);
+          if (!isRetryable) {
+            core14.debug(`${name} - Error is not retryable`);
+            break;
+          }
+          yield sleep(delay);
+          attempt++;
+        }
+        throw Error(`${name} failed: ${errorMessage}`);
+      });
+    }
+    function retryTypedResponse(name_1, method_1) {
+      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) {
+        return yield retry2(
+          name,
+          method,
+          (response) => response.statusCode,
+          maxAttempts,
+          delay,
+          // If the error object contains the statusCode property, extract it and return
+          // an TypedResponse so it can be processed by the retry logic.
+          (error3) => {
+            if (error3 instanceof http_client_1.HttpClientError) {
+              return {
+                statusCode: error3.statusCode,
+                result: null,
+                headers: {},
+                error: error3
+              };
+            } else {
+              return void 0;
+            }
+          }
+        );
+      });
+    }
+    function retryHttpClientResponse(name_1, method_1) {
+      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) {
+        return yield retry2(name, method, (response) => response.message.statusCode, maxAttempts, delay);
+      });
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js
-var require_blob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js"(exports2) {
+// node_modules/@azure/abort-controller/dist/index.js
+var require_dist4 = __commonJS({
+  "node_modules/@azure/abort-controller/dist/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var BlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class Blob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
+    var listenersMap = /* @__PURE__ */ new WeakMap();
+    var abortedMap = /* @__PURE__ */ new WeakMap();
+    var AbortSignal2 = class _AbortSignal {
+      constructor() {
+        this.onabort = null;
+        listenersMap.set(this, []);
+        abortedMap.set(this, false);
       }
       /**
-       * The Download operation reads or downloads a blob from the system, including its metadata and
-       * properties. You can also call Download to read a snapshot.
-       * @param options The options parameters.
+       * Status of whether aborted or not.
+       *
+       * @readonly
        */
-      download(options) {
-        return this.client.sendOperationRequest({ options }, downloadOperationSpec);
+      get aborted() {
+        if (!abortedMap.has(this)) {
+          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+        }
+        return abortedMap.get(this);
       }
       /**
-       * The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system
-       * properties for the blob. It does not return the content of the blob.
-       * @param options The options parameters.
+       * Creates a new AbortSignal instance that will never be aborted.
+       *
+       * @readonly
        */
-      getProperties(options) {
-        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
+      static get none() {
+        return new _AbortSignal();
       }
       /**
-       * If the storage account's soft delete feature is disabled then, when a blob is deleted, it is
-       * permanently removed from the storage account. If the storage account's soft delete feature is
-       * enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible
-       * immediately. However, the blob service retains the blob or snapshot for the number of days specified
-       * by the DeleteRetentionPolicy section of [Storage service properties]
-       * (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is
-       * permanently removed from the storage account. Note that you continue to be charged for the
-       * soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the
-       * "include=deleted" query parameter to discover which blobs and snapshots have been soft deleted. You
-       * can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a
-       * soft-deleted blob or snapshot causes the service to return an HTTP status code of 404
-       * (ResourceNotFound).
-       * @param options The options parameters.
+       * Added new "abort" event listener, only support "abort" event.
+       *
+       * @param _type - Only support "abort" event
+       * @param listener - The listener to be added
        */
-      delete(options) {
-        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
+      addEventListener(_type, listener) {
+        if (!listenersMap.has(this)) {
+          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+        }
+        const listeners = listenersMap.get(this);
+        listeners.push(listener);
       }
       /**
-       * Undelete a blob that was previously soft deleted
-       * @param options The options parameters.
+       * Remove "abort" event listener, only support "abort" event.
+       *
+       * @param _type - Only support "abort" event
+       * @param listener - The listener to be removed
        */
-      undelete(options) {
-        return this.client.sendOperationRequest({ options }, undeleteOperationSpec);
+      removeEventListener(_type, listener) {
+        if (!listenersMap.has(this)) {
+          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+        }
+        const listeners = listenersMap.get(this);
+        const index = listeners.indexOf(listener);
+        if (index > -1) {
+          listeners.splice(index, 1);
+        }
       }
       /**
-       * Sets the time a blob will expire and be deleted.
-       * @param expiryOptions Required. Indicates mode of the expiry time
-       * @param options The options parameters.
+       * Dispatches a synthetic event to the AbortSignal.
        */
-      setExpiry(expiryOptions, options) {
-        return this.client.sendOperationRequest({ expiryOptions, options }, setExpiryOperationSpec);
+      dispatchEvent(_event) {
+        throw new Error("This is a stub dispatchEvent implementation that should not be used.  It only exists for type-checking purposes.");
       }
-      /**
-       * The Set HTTP Headers operation sets system properties on the blob
-       * @param options The options parameters.
-       */
-      setHttpHeaders(options) {
-        return this.client.sendOperationRequest({ options }, setHttpHeadersOperationSpec);
+    };
+    function abortSignal(signal) {
+      if (signal.aborted) {
+        return;
       }
-      /**
-       * The Set Immutability Policy operation sets the immutability policy on the blob
-       * @param options The options parameters.
-       */
-      setImmutabilityPolicy(options) {
-        return this.client.sendOperationRequest({ options }, setImmutabilityPolicyOperationSpec);
+      if (signal.onabort) {
+        signal.onabort.call(signal);
+      }
+      const listeners = listenersMap.get(signal);
+      if (listeners) {
+        listeners.slice().forEach((listener) => {
+          listener.call(signal, { type: "abort" });
+        });
+      }
+      abortedMap.set(signal, true);
+    }
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+      }
+    };
+    var AbortController2 = class {
+      // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
+      constructor(parentSignals) {
+        this._signal = new AbortSignal2();
+        if (!parentSignals) {
+          return;
+        }
+        if (!Array.isArray(parentSignals)) {
+          parentSignals = arguments;
+        }
+        for (const parentSignal of parentSignals) {
+          if (parentSignal.aborted) {
+            this.abort();
+          } else {
+            parentSignal.addEventListener("abort", () => {
+              this.abort();
+            });
+          }
+        }
       }
       /**
-       * The Delete Immutability Policy operation deletes the immutability policy on the blob
-       * @param options The options parameters.
+       * The AbortSignal associated with this controller that will signal aborted
+       * when the abort method is called on this controller.
+       *
+       * @readonly
        */
-      deleteImmutabilityPolicy(options) {
-        return this.client.sendOperationRequest({ options }, deleteImmutabilityPolicyOperationSpec);
+      get signal() {
+        return this._signal;
       }
       /**
-       * The Set Legal Hold operation sets a legal hold on the blob.
-       * @param legalHold Specified if a legal hold should be set on the blob.
-       * @param options The options parameters.
+       * Signal that any operations passed this controller's associated abort signal
+       * to cancel any remaining work and throw an `AbortError`.
        */
-      setLegalHold(legalHold, options) {
-        return this.client.sendOperationRequest({ legalHold, options }, setLegalHoldOperationSpec);
+      abort() {
+        abortSignal(this._signal);
       }
       /**
-       * The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more
-       * name-value pairs
-       * @param options The options parameters.
+       * Creates a new AbortSignal instance that will abort after the provided ms.
+       * @param ms - Elapsed time in milliseconds to trigger an abort.
        */
-      setMetadata(options) {
-        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
+      static timeout(ms) {
+        const signal = new AbortSignal2();
+        const timer = setTimeout(abortSignal, ms, signal);
+        if (typeof timer.unref === "function") {
+          timer.unref();
+        }
+        return signal;
+      }
+    };
+    exports2.AbortController = AbortController2;
+    exports2.AbortError = AbortError;
+    exports2.AbortSignal = AbortSignal2;
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/downloadUtils.js
+var require_downloadUtils = __commonJS({
+  "node_modules/@actions/cache/lib/internal/downloadUtils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param options The options parameters.
-       */
-      acquireLease(options) {
-        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
-       */
-      releaseLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DownloadProgress = void 0;
+    exports2.downloadCacheHttpClient = downloadCacheHttpClient;
+    exports2.downloadCacheHttpClientConcurrent = downloadCacheHttpClientConcurrent;
+    exports2.downloadCacheStorageSDK = downloadCacheStorageSDK;
+    var core14 = __importStar2(require_core());
+    var http_client_1 = require_lib();
+    var storage_blob_1 = require_commonjs15();
+    var buffer = __importStar2(require("buffer"));
+    var fs3 = __importStar2(require("fs"));
+    var stream = __importStar2(require("stream"));
+    var util = __importStar2(require("util"));
+    var utils = __importStar2(require_cacheUtils());
+    var constants_1 = require_constants12();
+    var requestUtils_1 = require_requestUtils();
+    var abort_controller_1 = require_dist4();
+    function pipeResponseToStream(response, output) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const pipeline = util.promisify(stream.pipeline);
+        yield pipeline(response.message, output);
+      });
+    }
+    var DownloadProgress = class {
+      constructor(contentLength) {
+        this.contentLength = contentLength;
+        this.segmentIndex = 0;
+        this.segmentSize = 0;
+        this.segmentOffset = 0;
+        this.receivedBytes = 0;
+        this.displayedComplete = false;
+        this.startTime = Date.now();
       }
       /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
+       * Progress to the next segment. Only call this method when the previous segment
+       * is complete.
+       *
+       * @param segmentSize the length of the next segment
        */
-      renewLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
+      nextSegment(segmentSize) {
+        this.segmentOffset = this.segmentOffset + this.segmentSize;
+        this.segmentIndex = this.segmentIndex + 1;
+        this.segmentSize = segmentSize;
+        this.receivedBytes = 0;
+        core14.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`);
       }
       /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
-       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
-       *                        (String) for a list of valid GUID string formats.
-       * @param options The options parameters.
+       * Sets the number of bytes received for the current segment.
+       *
+       * @param receivedBytes the number of bytes received
        */
-      changeLease(leaseId, proposedLeaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
+      setReceivedBytes(receivedBytes) {
+        this.receivedBytes = receivedBytes;
       }
       /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param options The options parameters.
+       * Returns the total number of bytes transferred.
        */
-      breakLease(options) {
-        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
+      getTransferredBytes() {
+        return this.segmentOffset + this.receivedBytes;
       }
       /**
-       * The Create Snapshot operation creates a read-only snapshot of a blob
-       * @param options The options parameters.
+       * Returns true if the download is complete.
        */
-      createSnapshot(options) {
-        return this.client.sendOperationRequest({ options }, createSnapshotOperationSpec);
+      isDone() {
+        return this.getTransferredBytes() === this.contentLength;
       }
       /**
-       * The Start Copy From URL operation copies a blob or an internet resource to a new blob.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
+       * Prints the current download stats. Once the download completes, this will print one
+       * last line and then stop.
        */
-      startCopyFromURL(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, startCopyFromURLOperationSpec);
+      display() {
+        if (this.displayedComplete) {
+          return;
+        }
+        const transferredBytes = this.segmentOffset + this.receivedBytes;
+        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
+        const elapsedTime = Date.now() - this.startTime;
+        const downloadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
+        core14.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`);
+        if (this.isDone()) {
+          this.displayedComplete = true;
+        }
       }
       /**
-       * The Copy From URL operation copies a blob or an internet resource to a new blob. It will not return
-       * a response until the copy is complete.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
+       * Returns a function used to handle TransferProgressEvents.
        */
-      copyFromURL(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, copyFromURLOperationSpec);
+      onProgress() {
+        return (progress) => {
+          this.setReceivedBytes(progress.loadedBytes);
+        };
       }
       /**
-       * The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination
-       * blob with zero length and full metadata.
-       * @param copyId The copy identifier provided in the x-ms-copy-id header of the original Copy Blob
-       *               operation.
-       * @param options The options parameters.
+       * Starts the timer that displays the stats.
+       *
+       * @param delayInMs the delay between each write
        */
-      abortCopyFromURL(copyId, options) {
-        return this.client.sendOperationRequest({ copyId, options }, abortCopyFromURLOperationSpec);
+      startDisplayTimer(delayInMs = 1e3) {
+        const displayCallback = () => {
+          this.display();
+          if (!this.isDone()) {
+            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+          }
+        };
+        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
       }
       /**
-       * The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium
-       * storage account and on a block blob in a blob storage account (locally redundant storage only). A
-       * premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block
-       * blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's
-       * ETag.
-       * @param tier Indicates the tier to be set on the blob.
-       * @param options The options parameters.
+       * Stops the timer that displays the stats. As this typically indicates the download
+       * is complete, this will display one last line, unless the last line has already
+       * been written.
        */
-      setTier(tier, options) {
-        return this.client.sendOperationRequest({ tier, options }, setTierOperationSpec);
+      stopDisplayTimer() {
+        if (this.timeoutHandle) {
+          clearTimeout(this.timeoutHandle);
+          this.timeoutHandle = void 0;
+        }
+        this.display();
       }
-      /**
-       * Returns the sku name and account kind
-       * @param options The options parameters.
-       */
-      getAccountInfo(options) {
-        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+    };
+    exports2.DownloadProgress = DownloadProgress;
+    function downloadCacheHttpClient(archiveLocation, archivePath) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const writeStream = fs3.createWriteStream(archivePath);
+        const httpClient = new http_client_1.HttpClient("actions/cache");
+        const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.get(archiveLocation);
+        }));
+        downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => {
+          downloadResponse.message.destroy();
+          core14.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`);
+        });
+        yield pipeResponseToStream(downloadResponse, writeStream);
+        const contentLengthHeader = downloadResponse.message.headers["content-length"];
+        if (contentLengthHeader) {
+          const expectedLength = parseInt(contentLengthHeader);
+          const actualLength = utils.getArchiveFileSizeInBytes(archivePath);
+          if (actualLength !== expectedLength) {
+            throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`);
+          }
+        } else {
+          core14.debug("Unable to validate download, no Content-Length header");
+        }
+      });
+    }
+    function downloadCacheHttpClientConcurrent(archiveLocation, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a;
+        const archiveDescriptor = yield fs3.promises.open(archivePath, "w");
+        const httpClient = new http_client_1.HttpClient("actions/cache", void 0, {
+          socketTimeout: options.timeoutInMs,
+          keepAlive: true
+        });
+        try {
+          const res = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCacheMetadata", () => __awaiter2(this, void 0, void 0, function* () {
+            return yield httpClient.request("HEAD", archiveLocation, null, {});
+          }));
+          const lengthHeader = res.message.headers["content-length"];
+          if (lengthHeader === void 0 || lengthHeader === null) {
+            throw new Error("Content-Length not found on blob response");
+          }
+          const length = parseInt(lengthHeader);
+          if (Number.isNaN(length)) {
+            throw new Error(`Could not interpret Content-Length: ${length}`);
+          }
+          const downloads = [];
+          const blockSize = 4 * 1024 * 1024;
+          for (let offset = 0; offset < length; offset += blockSize) {
+            const count = Math.min(blockSize, length - offset);
+            downloads.push({
+              offset,
+              promiseGetter: () => __awaiter2(this, void 0, void 0, function* () {
+                return yield downloadSegmentRetry(httpClient, archiveLocation, offset, count);
+              })
+            });
+          }
+          downloads.reverse();
+          let actives = 0;
+          let bytesDownloaded = 0;
+          const progress = new DownloadProgress(length);
+          progress.startDisplayTimer();
+          const progressFn = progress.onProgress();
+          const activeDownloads = [];
+          let nextDownload;
+          const waitAndWrite = () => __awaiter2(this, void 0, void 0, function* () {
+            const segment = yield Promise.race(Object.values(activeDownloads));
+            yield archiveDescriptor.write(segment.buffer, 0, segment.count, segment.offset);
+            actives--;
+            delete activeDownloads[segment.offset];
+            bytesDownloaded += segment.count;
+            progressFn({ loadedBytes: bytesDownloaded });
+          });
+          while (nextDownload = downloads.pop()) {
+            activeDownloads[nextDownload.offset] = nextDownload.promiseGetter();
+            actives++;
+            if (actives >= ((_a = options.downloadConcurrency) !== null && _a !== void 0 ? _a : 10)) {
+              yield waitAndWrite();
+            }
+          }
+          while (actives > 0) {
+            yield waitAndWrite();
+          }
+        } finally {
+          httpClient.dispose();
+          yield archiveDescriptor.close();
+        }
+      });
+    }
+    function downloadSegmentRetry(httpClient, archiveLocation, offset, count) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const retries = 5;
+        let failures = 0;
+        while (true) {
+          try {
+            const timeout = 3e4;
+            const result = yield promiseWithTimeout(timeout, downloadSegment(httpClient, archiveLocation, offset, count));
+            if (typeof result === "string") {
+              throw new Error("downloadSegmentRetry failed due to timeout");
+            }
+            return result;
+          } catch (err) {
+            if (failures >= retries) {
+              throw err;
+            }
+            failures++;
+          }
+        }
+      });
+    }
+    function downloadSegment(httpClient, archiveLocation, offset, count) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const partRes = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCachePart", () => __awaiter2(this, void 0, void 0, function* () {
+          return yield httpClient.get(archiveLocation, {
+            Range: `bytes=${offset}-${offset + count - 1}`
+          });
+        }));
+        if (!partRes.readBodyBuffer) {
+          throw new Error("Expected HttpClientResponse to implement readBodyBuffer");
+        }
+        return {
+          offset,
+          count,
+          buffer: yield partRes.readBodyBuffer()
+        };
+      });
+    }
+    function downloadCacheStorageSDK(archiveLocation, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        var _a;
+        const client = new storage_blob_1.BlockBlobClient(archiveLocation, void 0, {
+          retryOptions: {
+            // Override the timeout used when downloading each 4 MB chunk
+            // The default is 2 min / MB, which is way too slow
+            tryTimeoutInMs: options.timeoutInMs
+          }
+        });
+        const properties = yield client.getProperties();
+        const contentLength = (_a = properties.contentLength) !== null && _a !== void 0 ? _a : -1;
+        if (contentLength < 0) {
+          core14.debug("Unable to determine content length, downloading file with http-client...");
+          yield downloadCacheHttpClient(archiveLocation, archivePath);
+        } else {
+          const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH);
+          const downloadProgress = new DownloadProgress(contentLength);
+          const fd = fs3.openSync(archivePath, "w");
+          try {
+            downloadProgress.startDisplayTimer();
+            const controller = new abort_controller_1.AbortController();
+            const abortSignal = controller.signal;
+            while (!downloadProgress.isDone()) {
+              const segmentStart = downloadProgress.segmentOffset + downloadProgress.segmentSize;
+              const segmentSize = Math.min(maxSegmentSize, contentLength - segmentStart);
+              downloadProgress.nextSegment(segmentSize);
+              const result = yield promiseWithTimeout(options.segmentTimeoutInMs || 36e5, client.downloadToBuffer(segmentStart, segmentSize, {
+                abortSignal,
+                concurrency: options.downloadConcurrency,
+                onProgress: downloadProgress.onProgress()
+              }));
+              if (result === "timeout") {
+                controller.abort();
+                throw new Error("Aborting cache download as the download time exceeded the timeout.");
+              } else if (Buffer.isBuffer(result)) {
+                fs3.writeFileSync(fd, result);
+              }
+            }
+          } finally {
+            downloadProgress.stopDisplayTimer();
+            fs3.closeSync(fd);
+          }
+        }
+      });
+    }
+    var promiseWithTimeout = (timeoutMs, promise) => __awaiter2(void 0, void 0, void 0, function* () {
+      let timeoutHandle;
+      const timeoutPromise = new Promise((resolve3) => {
+        timeoutHandle = setTimeout(() => resolve3("timeout"), timeoutMs);
+      });
+      return Promise.race([promise, timeoutPromise]).then((result) => {
+        clearTimeout(timeoutHandle);
+        return result;
+      });
+    });
+  }
+});
+
+// node_modules/@actions/cache/lib/options.js
+var require_options = __commonJS({
+  "node_modules/@actions/cache/lib/options.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      /**
-       * The Query operation enables users to select/project on blob data by providing simple query
-       * expressions.
-       * @param options The options parameters.
-       */
-      query(options) {
-        return this.client.sendOperationRequest({ options }, queryOperationSpec);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUploadOptions = getUploadOptions;
+    exports2.getDownloadOptions = getDownloadOptions;
+    var core14 = __importStar2(require_core());
+    function getUploadOptions(copy) {
+      const result = {
+        useAzureSdk: false,
+        uploadConcurrency: 4,
+        uploadChunkSize: 32 * 1024 * 1024
+      };
+      if (copy) {
+        if (typeof copy.useAzureSdk === "boolean") {
+          result.useAzureSdk = copy.useAzureSdk;
+        }
+        if (typeof copy.uploadConcurrency === "number") {
+          result.uploadConcurrency = copy.uploadConcurrency;
+        }
+        if (typeof copy.uploadChunkSize === "number") {
+          result.uploadChunkSize = copy.uploadChunkSize;
+        }
+      }
+      result.uploadConcurrency = !isNaN(Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) ? Math.min(32, Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) : result.uploadConcurrency;
+      result.uploadChunkSize = !isNaN(Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"])) ? Math.min(128 * 1024 * 1024, Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) * 1024 * 1024) : result.uploadChunkSize;
+      core14.debug(`Use Azure SDK: ${result.useAzureSdk}`);
+      core14.debug(`Upload concurrency: ${result.uploadConcurrency}`);
+      core14.debug(`Upload chunk size: ${result.uploadChunkSize}`);
+      return result;
+    }
+    function getDownloadOptions(copy) {
+      const result = {
+        useAzureSdk: false,
+        concurrentBlobDownloads: true,
+        downloadConcurrency: 8,
+        timeoutInMs: 3e4,
+        segmentTimeoutInMs: 6e5,
+        lookupOnly: false
+      };
+      if (copy) {
+        if (typeof copy.useAzureSdk === "boolean") {
+          result.useAzureSdk = copy.useAzureSdk;
+        }
+        if (typeof copy.concurrentBlobDownloads === "boolean") {
+          result.concurrentBlobDownloads = copy.concurrentBlobDownloads;
+        }
+        if (typeof copy.downloadConcurrency === "number") {
+          result.downloadConcurrency = copy.downloadConcurrency;
+        }
+        if (typeof copy.timeoutInMs === "number") {
+          result.timeoutInMs = copy.timeoutInMs;
+        }
+        if (typeof copy.segmentTimeoutInMs === "number") {
+          result.segmentTimeoutInMs = copy.segmentTimeoutInMs;
+        }
+        if (typeof copy.lookupOnly === "boolean") {
+          result.lookupOnly = copy.lookupOnly;
+        }
       }
-      /**
-       * The Get Tags operation enables users to get the tags associated with a blob.
-       * @param options The options parameters.
-       */
-      getTags(options) {
-        return this.client.sendOperationRequest({ options }, getTagsOperationSpec);
+      const segmentDownloadTimeoutMins = process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"];
+      if (segmentDownloadTimeoutMins && !isNaN(Number(segmentDownloadTimeoutMins)) && isFinite(Number(segmentDownloadTimeoutMins))) {
+        result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1e3;
       }
-      /**
-       * The Set Tags operation enables users to set tags on a blob.
-       * @param options The options parameters.
-       */
-      setTags(options) {
-        return this.client.sendOperationRequest({ options }, setTagsOperationSpec);
+      core14.debug(`Use Azure SDK: ${result.useAzureSdk}`);
+      core14.debug(`Download concurrency: ${result.downloadConcurrency}`);
+      core14.debug(`Request timeout (ms): ${result.timeoutInMs}`);
+      core14.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`);
+      core14.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`);
+      core14.debug(`Lookup only: ${result.lookupOnly}`);
+      return result;
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/config.js
+var require_config = __commonJS({
+  "node_modules/@actions/cache/lib/internal/config.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isGhes = isGhes;
+    exports2.getCacheServiceVersion = getCacheServiceVersion;
+    exports2.getCacheServiceURL = getCacheServiceURL;
+    function isGhes() {
+      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
+      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
+      const isGitHubHost = hostname === "GITHUB.COM";
+      const isGheHost = hostname.endsWith(".GHE.COM");
+      const isLocalHost = hostname.endsWith(".LOCALHOST");
+      return !isGitHubHost && !isGheHost && !isLocalHost;
+    }
+    function getCacheServiceVersion() {
+      if (isGhes())
+        return "v1";
+      return process.env["ACTIONS_CACHE_SERVICE_V2"] ? "v2" : "v1";
+    }
+    function getCacheServiceURL() {
+      const version = getCacheServiceVersion();
+      switch (version) {
+        case "v1":
+          return process.env["ACTIONS_CACHE_URL"] || process.env["ACTIONS_RESULTS_URL"] || "";
+        case "v2":
+          return process.env["ACTIONS_RESULTS_URL"] || "";
+        default:
+          throw new Error(`Unsupported cache service version: ${version}`);
       }
-    };
-    exports2.BlobImpl = BlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var downloadOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobDownloadHeaders
-        },
-        206: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobDownloadHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobDownloadExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.rangeGetContentMD5,
-        Parameters.rangeGetContentCRC64,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
+    }
+  }
+});
+
+// node_modules/@actions/cache/package.json
+var require_package2 = __commonJS({
+  "node_modules/@actions/cache/package.json"(exports2, module2) {
+    module2.exports = {
+      name: "@actions/cache",
+      version: "5.0.5",
+      preview: true,
+      description: "Actions cache lib",
+      keywords: [
+        "github",
+        "actions",
+        "cache"
       ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPropertiesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "HEAD",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobGetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobGetPropertiesExceptionHeaders
-        }
+      homepage: "https://github.com/actions/toolkit/tree/main/packages/cache",
+      license: "MIT",
+      main: "lib/cache.js",
+      types: "lib/cache.d.ts",
+      directories: {
+        lib: "lib",
+        test: "__tests__"
       },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
+      files: [
+        "lib",
+        "!.DS_Store"
       ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var deleteOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "DELETE",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobDeleteHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobDeleteExceptionHeaders
-        }
+      publishConfig: {
+        access: "public"
       },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.blobDeleteType
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.deleteSnapshots
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var undeleteOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobUndeleteHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobUndeleteExceptionHeaders
-        }
+      repository: {
+        type: "git",
+        url: "git+https://github.com/actions/toolkit.git",
+        directory: "packages/cache"
       },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp8],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setExpiryOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetExpiryHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetExpiryExceptionHeaders
-        }
+      scripts: {
+        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
+        test: 'echo "Error: run tests from root" && exit 1',
+        tsc: "tsc"
       },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp11],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.expiryOptions,
-        Parameters.expiresOn
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setHttpHeadersOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetHttpHeadersHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetHttpHeadersExceptionHeaders
-        }
+      bugs: {
+        url: "https://github.com/actions/toolkit/issues"
       },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      dependencies: {
+        "@actions/core": "^2.0.0",
+        "@actions/exec": "^2.0.0",
+        "@actions/glob": "^0.5.1",
+        "@protobuf-ts/runtime-rpc": "^2.11.1",
+        "@actions/http-client": "^3.0.2",
+        "@actions/io": "^2.0.0",
+        "@azure/abort-controller": "^1.1.0",
+        "@azure/core-rest-pipeline": "^1.22.0",
+        "@azure/storage-blob": "^12.29.1",
+        semver: "^6.3.1"
+      },
+      devDependencies: {
+        "@types/node": "^24.1.0",
+        "@types/semver": "^6.0.0",
+        "@protobuf-ts/plugin": "^2.9.4",
+        typescript: "^5.2.2"
+      },
+      overrides: {
+        "uri-js": "npm:uri-js-replace@^1.0.1",
+        "node-fetch": "^3.3.2"
+      }
     };
-    var setImmutabilityPolicyOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetImmutabilityPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetImmutabilityPolicyExceptionHeaders
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/shared/user-agent.js
+var require_user_agent = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/user-agent.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentString = getUserAgentString;
+    var packageJson = require_package2();
+    function getUserAgentString() {
+      return `@actions/cache-${packageJson.version}`;
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/cacheHttpClient.js
+var require_cacheHttpClient = __commonJS({
+  "node_modules/@actions/cache/lib/internal/cacheHttpClient.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp12
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifUnmodifiedSince,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    var deleteImmutabilityPolicyOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "DELETE",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobDeleteImmutabilityPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobDeleteImmutabilityPolicyExceptionHeaders
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getCacheEntry = getCacheEntry;
+    exports2.downloadCache = downloadCache;
+    exports2.reserveCache = reserveCache;
+    exports2.saveCache = saveCache4;
+    var core14 = __importStar2(require_core());
+    var http_client_1 = require_lib();
+    var auth_1 = require_auth();
+    var fs3 = __importStar2(require("fs"));
+    var url_1 = require("url");
+    var utils = __importStar2(require_cacheUtils());
+    var uploadUtils_1 = require_uploadUtils();
+    var downloadUtils_1 = require_downloadUtils();
+    var options_1 = require_options();
+    var requestUtils_1 = require_requestUtils();
+    var config_1 = require_config();
+    var user_agent_1 = require_user_agent();
+    function getCacheApiUrl(resource) {
+      const baseUrl = (0, config_1.getCacheServiceURL)();
+      if (!baseUrl) {
+        throw new Error("Cache Service Url not found, unable to restore cache.");
+      }
+      const url = `${baseUrl}_apis/artifactcache/${resource}`;
+      core14.debug(`Resource Url: ${url}`);
+      return url;
+    }
+    function createAcceptHeader(type2, apiVersion) {
+      return `${type2};api-version=${apiVersion}`;
+    }
+    function getRequestOptions() {
+      const requestOptions = {
+        headers: {
+          Accept: createAcceptHeader("application/json", "6.0-preview.1")
+        }
+      };
+      return requestOptions;
+    }
+    function createHttpClient() {
+      const token = process.env["ACTIONS_RUNTIME_TOKEN"] || "";
+      const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token);
+      return new http_client_1.HttpClient((0, user_agent_1.getUserAgentString)(), [bearerCredentialHandler], getRequestOptions());
+    }
+    function getCacheEntry(keys, paths, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const httpClient = createHttpClient();
+        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
+        const resource = `cache?keys=${encodeURIComponent(keys.join(","))}&version=${version}`;
+        const response = yield (0, requestUtils_1.retryTypedResponse)("getCacheEntry", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.getJson(getCacheApiUrl(resource));
+        }));
+        if (response.statusCode === 204) {
+          if (core14.isDebug()) {
+            yield printCachesListForDiagnostics(keys[0], httpClient, version);
+          }
+          return null;
+        }
+        if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) {
+          throw new Error(`Cache service responded with ${response.statusCode}`);
+        }
+        const cacheResult = response.result;
+        const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation;
+        if (!cacheDownloadUrl) {
+          throw new Error("Cache not found.");
+        }
+        core14.setSecret(cacheDownloadUrl);
+        core14.debug(`Cache Result:`);
+        core14.debug(JSON.stringify(cacheResult));
+        return cacheResult;
+      });
+    }
+    function printCachesListForDiagnostics(key, httpClient, version) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const resource = `caches?key=${encodeURIComponent(key)}`;
+        const response = yield (0, requestUtils_1.retryTypedResponse)("listCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.getJson(getCacheApiUrl(resource));
+        }));
+        if (response.statusCode === 200) {
+          const cacheListResult = response.result;
+          const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount;
+          if (totalCount && totalCount > 0) {
+            core14.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key 
+Other caches with similar key:`);
+            for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) {
+              core14.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`);
+            }
+          }
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp12
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setLegalHoldOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetLegalHoldHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetLegalHoldExceptionHeaders
+      });
+    }
+    function downloadCache(archiveLocation, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const archiveUrl = new url_1.URL(archiveLocation);
+        const downloadOptions = (0, options_1.getDownloadOptions)(options);
+        if (archiveUrl.hostname.endsWith(".blob.core.windows.net")) {
+          if (downloadOptions.useAzureSdk) {
+            yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions);
+          } else if (downloadOptions.concurrentBlobDownloads) {
+            yield (0, downloadUtils_1.downloadCacheHttpClientConcurrent)(archiveLocation, archivePath, downloadOptions);
+          } else {
+            yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
+          }
+        } else {
+          yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp13
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.legalHold
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setMetadataOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetMetadataHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetMetadataExceptionHeaders
+      });
+    }
+    function reserveCache(key, paths, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const httpClient = createHttpClient();
+        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
+        const reserveCacheRequest = {
+          key,
+          version,
+          cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize
+        };
+        const response = yield (0, requestUtils_1.retryTypedResponse)("reserveCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.postJson(getCacheApiUrl("caches"), reserveCacheRequest);
+        }));
+        return response;
+      });
+    }
+    function getContentRange(start, end) {
+      return `bytes ${start}-${end}/*`;
+    }
+    function uploadChunk(httpClient, resourceUrl, openStream, start, end) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        core14.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`);
+        const additionalHeaders = {
+          "Content-Type": "application/octet-stream",
+          "Content-Range": getContentRange(start, end)
+        };
+        const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.sendStream("PATCH", resourceUrl, openStream(), additionalHeaders);
+        }));
+        if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) {
+          throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp6],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var acquireLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlobAcquireLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobAcquireLeaseExceptionHeaders
+      });
+    }
+    function uploadFile(httpClient, cacheId, archivePath, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const fileSize = utils.getArchiveFileSizeInBytes(archivePath);
+        const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
+        const fd = fs3.openSync(archivePath, "r");
+        const uploadOptions = (0, options_1.getUploadOptions)(options);
+        const concurrency = utils.assertDefined("uploadConcurrency", uploadOptions.uploadConcurrency);
+        const maxChunkSize = utils.assertDefined("uploadChunkSize", uploadOptions.uploadChunkSize);
+        const parallelUploads = [...new Array(concurrency).keys()];
+        core14.debug("Awaiting all uploads");
+        let offset = 0;
+        try {
+          yield Promise.all(parallelUploads.map(() => __awaiter2(this, void 0, void 0, function* () {
+            while (offset < fileSize) {
+              const chunkSize = Math.min(fileSize - offset, maxChunkSize);
+              const start = offset;
+              const end = offset + chunkSize - 1;
+              offset += maxChunkSize;
+              yield uploadChunk(httpClient, resourceUrl, () => fs3.createReadStream(archivePath, {
+                fd,
+                start,
+                end,
+                autoClose: false
+              }).on("error", (error3) => {
+                throw new Error(`Cache upload failed because file read failed with ${error3.message}`);
+              }), start, end);
+            }
+          })));
+        } finally {
+          fs3.closeSync(fd);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action,
-        Parameters.duration,
-        Parameters.proposedLeaseId,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var releaseLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobReleaseLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobReleaseLeaseExceptionHeaders
+        return;
+      });
+    }
+    function commitCache(httpClient, cacheId, filesize) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const commitCacheRequest = { size: filesize };
+        return yield (0, requestUtils_1.retryTypedResponse)("commitCache", () => __awaiter2(this, void 0, void 0, function* () {
+          return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest);
+        }));
+      });
+    }
+    function saveCache4(cacheId, archivePath, signedUploadURL, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const uploadOptions = (0, options_1.getUploadOptions)(options);
+        if (uploadOptions.useAzureSdk) {
+          if (!signedUploadURL) {
+            throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");
+          }
+          yield (0, uploadUtils_1.uploadCacheArchiveSDK)(signedUploadURL, archivePath, options);
+        } else {
+          const httpClient = createHttpClient();
+          core14.debug("Upload cache");
+          yield uploadFile(httpClient, cacheId, archivePath, options);
+          core14.debug("Commiting cache");
+          const cacheSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core14.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
+          const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
+          if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) {
+            throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`);
+          }
+          core14.info("Cache saved successfully");
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action1,
-        Parameters.leaseId1,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var renewLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobRenewLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobRenewLeaseExceptionHeaders
+      });
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js
+var require_json_typings = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isJsonObject = exports2.typeofJsonValue = void 0;
+    function typeofJsonValue(value) {
+      let t = typeof value;
+      if (t == "object") {
+        if (Array.isArray(value))
+          return "array";
+        if (value === null)
+          return "null";
+      }
+      return t;
+    }
+    exports2.typeofJsonValue = typeofJsonValue;
+    function isJsonObject(value) {
+      return value !== null && typeof value == "object" && !Array.isArray(value);
+    }
+    exports2.isJsonObject = isJsonObject;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js
+var require_base642 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.base64encode = exports2.base64decode = void 0;
+    var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
+    var decTable = [];
+    for (let i = 0; i < encTable.length; i++)
+      decTable[encTable[i].charCodeAt(0)] = i;
+    decTable["-".charCodeAt(0)] = encTable.indexOf("+");
+    decTable["_".charCodeAt(0)] = encTable.indexOf("/");
+    function base64decode(base64Str) {
+      let es = base64Str.length * 3 / 4;
+      if (base64Str[base64Str.length - 2] == "=")
+        es -= 2;
+      else if (base64Str[base64Str.length - 1] == "=")
+        es -= 1;
+      let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0;
+      for (let i = 0; i < base64Str.length; i++) {
+        b = decTable[base64Str.charCodeAt(i)];
+        if (b === void 0) {
+          switch (base64Str[i]) {
+            case "=":
+              groupPos = 0;
+            // reset state when padding found
+            case "\n":
+            case "\r":
+            case "	":
+            case " ":
+              continue;
+            // skip white-space, and padding
+            default:
+              throw Error(`invalid base64 string.`);
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action2,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var changeLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobChangeLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobChangeLeaseExceptionHeaders
+        switch (groupPos) {
+          case 0:
+            p = b;
+            groupPos = 1;
+            break;
+          case 1:
+            bytes[bytePos++] = p << 2 | (b & 48) >> 4;
+            p = b;
+            groupPos = 2;
+            break;
+          case 2:
+            bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2;
+            p = b;
+            groupPos = 3;
+            break;
+          case 3:
+            bytes[bytePos++] = (p & 3) << 6 | b;
+            groupPos = 0;
+            break;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action4,
-        Parameters.proposedLeaseId1,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var breakLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobBreakLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobBreakLeaseExceptionHeaders
+      }
+      if (groupPos == 1)
+        throw Error(`invalid base64 string.`);
+      return bytes.subarray(0, bytePos);
+    }
+    exports2.base64decode = base64decode;
+    function base64encode(bytes) {
+      let base64 = "", groupPos = 0, b, p = 0;
+      for (let i = 0; i < bytes.length; i++) {
+        b = bytes[i];
+        switch (groupPos) {
+          case 0:
+            base64 += encTable[b >> 2];
+            p = (b & 3) << 4;
+            groupPos = 1;
+            break;
+          case 1:
+            base64 += encTable[p | b >> 4];
+            p = (b & 15) << 2;
+            groupPos = 2;
+            break;
+          case 2:
+            base64 += encTable[p | b >> 6];
+            base64 += encTable[b & 63];
+            groupPos = 0;
+            break;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action3,
-        Parameters.breakPeriod,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var createSnapshotOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlobCreateSnapshotHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobCreateSnapshotExceptionHeaders
+      }
+      if (groupPos) {
+        base64 += encTable[p];
+        base64 += "=";
+        if (groupPos == 1)
+          base64 += "=";
+      }
+      return base64;
+    }
+    exports2.base64encode = base64encode;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js
+var require_protobufjs_utf8 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.utf8read = void 0;
+    var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk);
+    function utf8read(bytes) {
+      if (bytes.length < 1)
+        return "";
+      let pos = 0, parts = [], chunk = [], i = 0, t;
+      let len = bytes.length;
+      while (pos < len) {
+        t = bytes[pos++];
+        if (t < 128)
+          chunk[i++] = t;
+        else if (t > 191 && t < 224)
+          chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63;
+        else if (t > 239 && t < 365) {
+          t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536;
+          chunk[i++] = 55296 + (t >> 10);
+          chunk[i++] = 56320 + (t & 1023);
+        } else
+          chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63;
+        if (i > 8191) {
+          parts.push(fromCharCodes(chunk));
+          i = 0;
+        }
+      }
+      if (parts.length) {
+        if (i)
+          parts.push(fromCharCodes(chunk.slice(0, i)));
+        return parts.join("");
+      }
+      return fromCharCodes(chunk.slice(0, i));
+    }
+    exports2.utf8read = utf8read;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js
+var require_binary_format_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
+    var UnknownFieldHandler;
+    (function(UnknownFieldHandler2) {
+      UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
+      UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
+        let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
+        container.push({ no: fieldNo, wireType, data });
+      };
+      UnknownFieldHandler2.onWrite = (typeName, message, writer) => {
+        for (let { no, wireType, data } of UnknownFieldHandler2.list(message))
+          writer.tag(no, wireType).raw(data);
+      };
+      UnknownFieldHandler2.list = (message, fieldNo) => {
+        if (is(message)) {
+          let all = message[UnknownFieldHandler2.symbol];
+          return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp14],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var startCopyFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobStartCopyFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobStartCopyFromURLExceptionHeaders
+        return [];
+      };
+      UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0];
+      const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]);
+    })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {}));
+    function mergeBinaryOptions(a, b) {
+      return Object.assign(Object.assign({}, a), b);
+    }
+    exports2.mergeBinaryOptions = mergeBinaryOptions;
+    var WireType;
+    (function(WireType2) {
+      WireType2[WireType2["Varint"] = 0] = "Varint";
+      WireType2[WireType2["Bit64"] = 1] = "Bit64";
+      WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited";
+      WireType2[WireType2["StartGroup"] = 3] = "StartGroup";
+      WireType2[WireType2["EndGroup"] = 4] = "EndGroup";
+      WireType2[WireType2["Bit32"] = 5] = "Bit32";
+    })(WireType = exports2.WireType || (exports2.WireType = {}));
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js
+var require_goog_varint = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0;
+    function varint64read() {
+      let lowBits = 0;
+      let highBits = 0;
+      for (let shift = 0; shift < 28; shift += 7) {
+        let b = this.buf[this.pos++];
+        lowBits |= (b & 127) << shift;
+        if ((b & 128) == 0) {
+          this.assertBounds();
+          return [lowBits, highBits];
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.tier,
-        Parameters.rehydratePriority,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceIfTags,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.sealBlob,
-        Parameters.legalHold1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var copyFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobCopyFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobCopyFromURLExceptionHeaders
+      }
+      let middleByte = this.buf[this.pos++];
+      lowBits |= (middleByte & 15) << 28;
+      highBits = (middleByte & 112) >> 4;
+      if ((middleByte & 128) == 0) {
+        this.assertBounds();
+        return [lowBits, highBits];
+      }
+      for (let shift = 3; shift <= 31; shift += 7) {
+        let b = this.buf[this.pos++];
+        highBits |= (b & 127) << shift;
+        if ((b & 128) == 0) {
+          this.assertBounds();
+          return [lowBits, highBits];
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.xMsRequiresSync,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.copySourceTags,
-        Parameters.fileRequestIntent
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var abortCopyFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        204: {
-          headersMapper: Mappers.BlobAbortCopyFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobAbortCopyFromURLExceptionHeaders
+      }
+      throw new Error("invalid varint");
+    }
+    exports2.varint64read = varint64read;
+    function varint64write(lo, hi, bytes) {
+      for (let i = 0; i < 28; i = i + 7) {
+        const shift = lo >>> i;
+        const hasNext = !(shift >>> 7 == 0 && hi == 0);
+        const byte = (hasNext ? shift | 128 : shift) & 255;
+        bytes.push(byte);
+        if (!hasNext) {
+          return;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp15,
-        Parameters.copyId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.copyActionAbortConstant
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setTierOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetTierHeaders
-        },
-        202: {
-          headersMapper: Mappers.BlobSetTierHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetTierExceptionHeaders
+      }
+      const splitBits = lo >>> 28 & 15 | (hi & 7) << 4;
+      const hasMoreBits = !(hi >> 3 == 0);
+      bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255);
+      if (!hasMoreBits) {
+        return;
+      }
+      for (let i = 3; i < 31; i = i + 7) {
+        const shift = hi >>> i;
+        const hasNext = !(shift >>> 7 == 0);
+        const byte = (hasNext ? shift | 128 : shift) & 255;
+        bytes.push(byte);
+        if (!hasNext) {
+          return;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp16
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags,
-        Parameters.rehydratePriority,
-        Parameters.tier1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getAccountInfoOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobGetAccountInfoHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobGetAccountInfoExceptionHeaders
+      }
+      bytes.push(hi >>> 31 & 1);
+    }
+    exports2.varint64write = varint64write;
+    var TWO_PWR_32_DBL = (1 << 16) * (1 << 16);
+    function int64fromString(dec) {
+      let minus = dec[0] == "-";
+      if (minus)
+        dec = dec.slice(1);
+      const base = 1e6;
+      let lowBits = 0;
+      let highBits = 0;
+      function add1e6digit(begin, end) {
+        const digit1e6 = Number(dec.slice(begin, end));
+        highBits *= base;
+        lowBits = lowBits * base + digit1e6;
+        if (lowBits >= TWO_PWR_32_DBL) {
+          highBits = highBits + (lowBits / TWO_PWR_32_DBL | 0);
+          lowBits = lowBits % TWO_PWR_32_DBL;
         }
-      },
-      queryParameters: [
-        Parameters.comp,
-        Parameters.timeoutInSeconds,
-        Parameters.restype1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var queryOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "POST",
-      responses: {
-        200: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobQueryHeaders
-        },
-        206: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobQueryHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobQueryExceptionHeaders
+      }
+      add1e6digit(-24, -18);
+      add1e6digit(-18, -12);
+      add1e6digit(-12, -6);
+      add1e6digit(-6);
+      return [minus, lowBits, highBits];
+    }
+    exports2.int64fromString = int64fromString;
+    function int64toString(bitsLow, bitsHigh) {
+      if (bitsHigh >>> 0 <= 2097151) {
+        return "" + (TWO_PWR_32_DBL * bitsHigh + (bitsLow >>> 0));
+      }
+      let low = bitsLow & 16777215;
+      let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215;
+      let high = bitsHigh >> 16 & 65535;
+      let digitA = low + mid * 6777216 + high * 6710656;
+      let digitB = mid + high * 8147497;
+      let digitC = high * 2;
+      let base = 1e7;
+      if (digitA >= base) {
+        digitB += Math.floor(digitA / base);
+        digitA %= base;
+      }
+      if (digitB >= base) {
+        digitC += Math.floor(digitB / base);
+        digitB %= base;
+      }
+      function decimalFrom1e7(digit1e7, needLeadingZeros) {
+        let partial = digit1e7 ? String(digit1e7) : "";
+        if (needLeadingZeros) {
+          return "0000000".slice(partial.length) + partial;
         }
-      },
-      requestBody: Parameters.queryRequest,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.comp17
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getTagsOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlobTags,
-          headersMapper: Mappers.BlobGetTagsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobGetTagsExceptionHeaders
+        return partial;
+      }
+      return decimalFrom1e7(
+        digitC,
+        /*needLeadingZeros=*/
+        0
+      ) + decimalFrom1e7(
+        digitB,
+        /*needLeadingZeros=*/
+        digitC
+      ) + // If the final 1e7 digit didn't need leading zeros, we would have
+      // returned via the trivial code path at the top.
+      decimalFrom1e7(
+        digitA,
+        /*needLeadingZeros=*/
+        1
+      );
+    }
+    exports2.int64toString = int64toString;
+    function varint32write(value, bytes) {
+      if (value >= 0) {
+        while (value > 127) {
+          bytes.push(value & 127 | 128);
+          value = value >>> 7;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp18
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setTagsOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        204: {
-          headersMapper: Mappers.BlobSetTagsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetTagsExceptionHeaders
+        bytes.push(value);
+      } else {
+        for (let i = 0; i < 9; i++) {
+          bytes.push(value & 127 | 128);
+          value = value >> 7;
         }
-      },
-      requestBody: Parameters.tags,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.versionId,
-        Parameters.comp18
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.leaseId,
-        Parameters.ifTags,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
+        bytes.push(1);
+      }
+    }
+    exports2.varint32write = varint32write;
+    function varint32read() {
+      let b = this.buf[this.pos++];
+      let result = b & 127;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 7;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 14;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 21;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 15) << 28;
+      for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++)
+        b = this.buf[this.pos++];
+      if ((b & 128) != 0)
+        throw new Error("invalid varint");
+      this.assertBounds();
+      return result >>> 0;
+    }
+    exports2.varint32read = varint32read;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js
-var require_pageBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js
+var require_pb_long = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PageBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var PageBlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class PageBlob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
-      }
-      /**
-       * The Create operation creates a new page blob.
-       * @param contentLength The length of the request.
-       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
-       *                          page blob size must be aligned to a 512-byte boundary.
-       * @param options The options parameters.
-       */
-      create(contentLength, blobContentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec);
-      }
-      /**
-       * The Upload Pages operation writes a range of pages to a page blob
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      uploadPages(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec);
-      }
-      /**
-       * The Clear Pages operation clears a set of pages from a page blob
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
-       */
-      clearPages(contentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec);
-      }
+    exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0;
+    var goog_varint_1 = require_goog_varint();
+    var BI;
+    function detectBi() {
+      const dv = new DataView(new ArrayBuffer(8));
+      const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function";
+      BI = ok ? {
+        MIN: BigInt("-9223372036854775808"),
+        MAX: BigInt("9223372036854775807"),
+        UMIN: BigInt("0"),
+        UMAX: BigInt("18446744073709551615"),
+        C: BigInt,
+        V: dv
+      } : void 0;
+    }
+    exports2.detectBi = detectBi;
+    detectBi();
+    function assertBi(bi) {
+      if (!bi)
+        throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support");
+    }
+    var RE_DECIMAL_STR = /^-?[0-9]+$/;
+    var TWO_PWR_32_DBL = 4294967296;
+    var HALF_2_PWR_32 = 2147483648;
+    var SharedPbLong = class {
       /**
-       * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a
-       * URL
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param sourceRange Bytes of source data in the specified range. The length of this range should
-       *                    match the ContentLength header and x-ms-range/Range destination range header.
-       * @param contentLength The length of the request.
-       * @param range The range of bytes to which the source range would be written. The range should be 512
-       *              aligned and range-end is required.
-       * @param options The options parameters.
+       * Create a new instance with the given bits.
        */
-      uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) {
-        return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec);
+      constructor(lo, hi) {
+        this.lo = lo | 0;
+        this.hi = hi | 0;
       }
       /**
-       * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a
-       * page blob
-       * @param options The options parameters.
+       * Is this instance equal to 0?
        */
-      getPageRanges(options) {
-        return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec);
+      isZero() {
+        return this.lo == 0 && this.hi == 0;
       }
       /**
-       * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were
-       * changed between target blob and previous snapshot.
-       * @param options The options parameters.
+       * Convert to a native number.
        */
-      getPageRangesDiff(options) {
-        return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec);
+      toNumber() {
+        let result = this.hi * TWO_PWR_32_DBL + (this.lo >>> 0);
+        if (!Number.isSafeInteger(result))
+          throw new Error("cannot convert to safe number");
+        return result;
       }
+    };
+    var PbULong = class _PbULong extends SharedPbLong {
       /**
-       * Resize the Blob
-       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
-       *                          page blob size must be aligned to a 512-byte boundary.
-       * @param options The options parameters.
+       * Create instance from a `string`, `number` or `bigint`.
        */
-      resize(blobContentLength, options) {
-        return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec);
+      static from(value) {
+        if (BI)
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              if (value == "")
+                throw new Error("string is no integer");
+              value = BI.C(value);
+            case "number":
+              if (value === 0)
+                return this.ZERO;
+              value = BI.C(value);
+            case "bigint":
+              if (!value)
+                return this.ZERO;
+              if (value < BI.UMIN)
+                throw new Error("signed value for ulong");
+              if (value > BI.UMAX)
+                throw new Error("ulong too large");
+              BI.V.setBigUint64(0, value, true);
+              return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+          }
+        else
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              value = value.trim();
+              if (!RE_DECIMAL_STR.test(value))
+                throw new Error("string is no integer");
+              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
+              if (minus)
+                throw new Error("signed value for ulong");
+              return new _PbULong(lo, hi);
+            case "number":
+              if (value == 0)
+                return this.ZERO;
+              if (!Number.isSafeInteger(value))
+                throw new Error("number is no integer");
+              if (value < 0)
+                throw new Error("signed value for ulong");
+              return new _PbULong(value, value / TWO_PWR_32_DBL);
+          }
+        throw new Error("unknown value " + typeof value);
       }
       /**
-       * Update the sequence number of the blob
-       * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request.
-       *                             This property applies to page blobs only. This property indicates how the service should modify the
-       *                             blob's sequence number
-       * @param options The options parameters.
+       * Convert to decimal string.
        */
-      updateSequenceNumber(sequenceNumberAction, options) {
-        return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec);
+      toString() {
+        return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi);
       }
       /**
-       * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob.
-       * The snapshot is copied such that only the differential changes between the previously copied
-       * snapshot are transferred to the destination. The copied snapshots are complete copies of the
-       * original snapshot and can be read or copied from as usual. This API is supported since REST version
-       * 2016-05-31.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
-       */
-      copyIncremental(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec);
-      }
-    };
-    exports2.PageBlobImpl = PageBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobCreateExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.blobType,
-        Parameters.blobContentLength,
-        Parameters.blobSequenceNumber
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var uploadPagesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobUploadPagesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.pageWrite,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var clearPagesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobClearPagesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobClearPagesExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo,
-        Parameters.pageWrite1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var uploadPagesFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.pageWrite,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo,
-        Parameters.sourceUrl,
-        Parameters.sourceRange,
-        Parameters.sourceContentCrc64,
-        Parameters.range1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPageRangesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.PageList,
-          headersMapper: Mappers.PageBlobGetPageRangesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.snapshot,
-        Parameters.comp20
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPageRangesDiffOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.PageList,
-          headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.snapshot,
-        Parameters.comp20,
-        Parameters.prevsnapshot
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.prevSnapshotUrl
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var resizeOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.PageBlobResizeHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobResizeExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.blobContentLength
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var updateSequenceNumberOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobSequenceNumber,
-        Parameters.sequenceNumberAction
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+       * Convert to native bigint.
+       */
+      toBigInt() {
+        assertBi(BI);
+        BI.V.setInt32(0, this.lo, true);
+        BI.V.setInt32(4, this.hi, true);
+        return BI.V.getBigUint64(0, true);
+      }
     };
-    var copyIncrementalOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.PageBlobCopyIncrementalHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders
+    exports2.PbULong = PbULong;
+    PbULong.ZERO = new PbULong(0, 0);
+    var PbLong = class _PbLong extends SharedPbLong {
+      /**
+       * Create instance from a `string`, `number` or `bigint`.
+       */
+      static from(value) {
+        if (BI)
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              if (value == "")
+                throw new Error("string is no integer");
+              value = BI.C(value);
+            case "number":
+              if (value === 0)
+                return this.ZERO;
+              value = BI.C(value);
+            case "bigint":
+              if (!value)
+                return this.ZERO;
+              if (value < BI.MIN)
+                throw new Error("signed long too small");
+              if (value > BI.MAX)
+                throw new Error("signed long too large");
+              BI.V.setBigInt64(0, value, true);
+              return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+          }
+        else
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              value = value.trim();
+              if (!RE_DECIMAL_STR.test(value))
+                throw new Error("string is no integer");
+              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
+              if (minus) {
+                if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0)
+                  throw new Error("signed long too small");
+              } else if (hi >= HALF_2_PWR_32)
+                throw new Error("signed long too large");
+              let pbl = new _PbLong(lo, hi);
+              return minus ? pbl.negate() : pbl;
+            case "number":
+              if (value == 0)
+                return this.ZERO;
+              if (!Number.isSafeInteger(value))
+                throw new Error("number is no integer");
+              return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL) : new _PbLong(-value, -value / TWO_PWR_32_DBL).negate();
+          }
+        throw new Error("unknown value " + typeof value);
+      }
+      /**
+       * Do we have a minus sign?
+       */
+      isNegative() {
+        return (this.hi & HALF_2_PWR_32) !== 0;
+      }
+      /**
+       * Negate two's complement.
+       * Invert all the bits and add one to the result.
+       */
+      negate() {
+        let hi = ~this.hi, lo = this.lo;
+        if (lo)
+          lo = ~lo + 1;
+        else
+          hi += 1;
+        return new _PbLong(lo, hi);
+      }
+      /**
+       * Convert to decimal string.
+       */
+      toString() {
+        if (BI)
+          return this.toBigInt().toString();
+        if (this.isNegative()) {
+          let n = this.negate();
+          return "-" + goog_varint_1.int64toString(n.lo, n.hi);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.copySource
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+        return goog_varint_1.int64toString(this.lo, this.hi);
+      }
+      /**
+       * Convert to native bigint.
+       */
+      toBigInt() {
+        assertBi(BI);
+        BI.V.setInt32(0, this.lo, true);
+        BI.V.setInt32(4, this.hi, true);
+        return BI.V.getBigInt64(0, true);
+      }
     };
+    exports2.PbLong = PbLong;
+    PbLong.ZERO = new PbLong(0, 0);
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js
-var require_appendBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js
+var require_binary_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AppendBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var AppendBlobImpl = class {
-      client;
+    exports2.BinaryReader = exports2.binaryReadOptions = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var pb_long_1 = require_pb_long();
+    var goog_varint_1 = require_goog_varint();
+    var defaultsRead = {
+      readUnknownField: true,
+      readerFactory: (bytes) => new BinaryReader(bytes)
+    };
+    function binaryReadOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    }
+    exports2.binaryReadOptions = binaryReadOptions;
+    var BinaryReader = class {
+      constructor(buf, textDecoder) {
+        this.varint64 = goog_varint_1.varint64read;
+        this.uint32 = goog_varint_1.varint32read;
+        this.buf = buf;
+        this.len = buf.length;
+        this.pos = 0;
+        this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
+        this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", {
+          fatal: true,
+          ignoreBOM: true
+        });
+      }
       /**
-       * Initialize a new instance of the class AppendBlob class.
-       * @param client Reference to the service client
+       * Reads a tag - field number and wire type.
        */
-      constructor(client) {
-        this.client = client;
+      tag() {
+        let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;
+        if (fieldNo <= 0 || wireType < 0 || wireType > 5)
+          throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType);
+        return [fieldNo, wireType];
       }
       /**
-       * The Create Append Blob operation creates a new append blob.
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
+       * Skip one element on the wire and return the skipped data.
+       * Supports WireType.StartGroup since v2.0.0-alpha.23.
        */
-      create(contentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec);
+      skip(wireType) {
+        let start = this.pos;
+        switch (wireType) {
+          case binary_format_contract_1.WireType.Varint:
+            while (this.buf[this.pos++] & 128) {
+            }
+            break;
+          case binary_format_contract_1.WireType.Bit64:
+            this.pos += 4;
+          case binary_format_contract_1.WireType.Bit32:
+            this.pos += 4;
+            break;
+          case binary_format_contract_1.WireType.LengthDelimited:
+            let len = this.uint32();
+            this.pos += len;
+            break;
+          case binary_format_contract_1.WireType.StartGroup:
+            let t;
+            while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) {
+              this.skip(t);
+            }
+            break;
+          default:
+            throw new Error("cant skip wire type " + wireType);
+        }
+        this.assertBounds();
+        return this.buf.subarray(start, this.pos);
       }
       /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob. The
-       * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
-       * AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
+       * Throws error if position in byte array is out of range.
        */
-      appendBlock(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec);
+      assertBounds() {
+        if (this.pos > this.len)
+          throw new RangeError("premature EOF");
       }
       /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob where
-       * the contents are read from a source url. The Append Block operation is permitted only if the blob
-       * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version
-       * 2015-02-21 version or later.
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
+       * Read a `int32` field, a signed 32 bit varint.
        */
-      appendBlockFromUrl(sourceUrl, contentLength, options) {
-        return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec);
+      int32() {
+        return this.uint32() | 0;
       }
       /**
-       * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version
-       * 2019-12-12 version or later.
-       * @param options The options parameters.
+       * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.
        */
-      seal(options) {
-        return this.client.sendOperationRequest({ options }, sealOperationSpec);
+      sint32() {
+        let zze = this.uint32();
+        return zze >>> 1 ^ -(zze & 1);
+      }
+      /**
+       * Read a `int64` field, a signed 64-bit varint.
+       */
+      int64() {
+        return new pb_long_1.PbLong(...this.varint64());
+      }
+      /**
+       * Read a `uint64` field, an unsigned 64-bit varint.
+       */
+      uint64() {
+        return new pb_long_1.PbULong(...this.varint64());
+      }
+      /**
+       * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.
+       */
+      sint64() {
+        let [lo, hi] = this.varint64();
+        let s = -(lo & 1);
+        lo = (lo >>> 1 | (hi & 1) << 31) ^ s;
+        hi = hi >>> 1 ^ s;
+        return new pb_long_1.PbLong(lo, hi);
+      }
+      /**
+       * Read a `bool` field, a variant.
+       */
+      bool() {
+        let [lo, hi] = this.varint64();
+        return lo !== 0 || hi !== 0;
+      }
+      /**
+       * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.
+       */
+      fixed32() {
+        return this.view.getUint32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.
+       */
+      sfixed32() {
+        return this.view.getInt32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.
+       */
+      fixed64() {
+        return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32());
+      }
+      /**
+       * Read a `fixed64` field, a signed, fixed-length 64-bit integer.
+       */
+      sfixed64() {
+        return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32());
+      }
+      /**
+       * Read a `float` field, 32-bit floating point number.
+       */
+      float() {
+        return this.view.getFloat32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `double` field, a 64-bit floating point number.
+       */
+      double() {
+        return this.view.getFloat64((this.pos += 8) - 8, true);
+      }
+      /**
+       * Read a `bytes` field, length-delimited arbitrary data.
+       */
+      bytes() {
+        let len = this.uint32();
+        let start = this.pos;
+        this.pos += len;
+        this.assertBounds();
+        return this.buf.subarray(start, start + len);
+      }
+      /**
+       * Read a `string` field, length-delimited data converted to UTF-8 text.
+       */
+      string() {
+        return this.textDecoder.decode(this.bytes());
       }
     };
-    exports2.AppendBlobImpl = AppendBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobCreateExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.blobType1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var appendBlockOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobAppendBlockHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.maxSize,
-        Parameters.appendPosition
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var appendBlockFromUrlOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.transactionalContentMD5,
-        Parameters.sourceUrl,
-        Parameters.sourceContentCrc64,
-        Parameters.maxSize,
-        Parameters.appendPosition,
-        Parameters.sourceRange1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var sealOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.AppendBlobSealHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobSealExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.appendPosition
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
+    exports2.BinaryReader = BinaryReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js
+var require_assert = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0;
+    function assert(condition, msg) {
+      if (!condition) {
+        throw new Error(msg);
+      }
+    }
+    exports2.assert = assert;
+    function assertNever2(value, msg) {
+      throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value);
+    }
+    exports2.assertNever = assertNever2;
+    var FLOAT32_MAX = 34028234663852886e22;
+    var FLOAT32_MIN = -34028234663852886e22;
+    var UINT32_MAX = 4294967295;
+    var INT32_MAX = 2147483647;
+    var INT32_MIN = -2147483648;
+    function assertInt32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid int 32: " + typeof arg);
+      if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)
+        throw new Error("invalid int 32: " + arg);
+    }
+    exports2.assertInt32 = assertInt32;
+    function assertUInt32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid uint 32: " + typeof arg);
+      if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)
+        throw new Error("invalid uint 32: " + arg);
+    }
+    exports2.assertUInt32 = assertUInt32;
+    function assertFloat32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid float 32: " + typeof arg);
+      if (!Number.isFinite(arg))
+        return;
+      if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)
+        throw new Error("invalid float 32: " + arg);
+    }
+    exports2.assertFloat32 = assertFloat32;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js
-var require_blockBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js
+var require_binary_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlockBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs8());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var BlockBlobImpl = class {
-      client;
+    exports2.BinaryWriter = exports2.binaryWriteOptions = void 0;
+    var pb_long_1 = require_pb_long();
+    var goog_varint_1 = require_goog_varint();
+    var assert_1 = require_assert();
+    var defaultsWrite = {
+      writeUnknownFields: true,
+      writerFactory: () => new BinaryWriter()
+    };
+    function binaryWriteOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    }
+    exports2.binaryWriteOptions = binaryWriteOptions;
+    var BinaryWriter = class {
+      constructor(textEncoder) {
+        this.stack = [];
+        this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();
+        this.chunks = [];
+        this.buf = [];
+      }
       /**
-       * Initialize a new instance of the class BlockBlob class.
-       * @param client Reference to the service client
+       * Return all bytes written and reset this writer.
        */
-      constructor(client) {
-        this.client = client;
+      finish() {
+        this.chunks.push(new Uint8Array(this.buf));
+        let len = 0;
+        for (let i = 0; i < this.chunks.length; i++)
+          len += this.chunks[i].length;
+        let bytes = new Uint8Array(len);
+        let offset = 0;
+        for (let i = 0; i < this.chunks.length; i++) {
+          bytes.set(this.chunks[i], offset);
+          offset += this.chunks[i].length;
+        }
+        this.chunks = [];
+        return bytes;
       }
       /**
-       * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing
-       * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put
-       * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a
-       * partial update of the content of a block blob, use the Put Block List operation.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
+       * Start a new fork for length-delimited data like a message
+       * or a packed repeated field.
+       *
+       * Must be joined later with `join()`.
        */
-      upload(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec);
+      fork() {
+        this.stack.push({ chunks: this.chunks, buf: this.buf });
+        this.chunks = [];
+        this.buf = [];
+        return this;
       }
       /**
-       * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read
-       * from a given URL.  This API is supported beginning with the 2020-04-08 version. Partial updates are
-       * not supported with Put Blob from URL; the content of an existing blob is overwritten with the
-       * content of the new blob.  To perform partial updates to a block blob’s contents using a source URL,
-       * use the Put Block from URL API in conjunction with Put Block List.
-       * @param contentLength The length of the request.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
+       * Join the last fork. Write its length and bytes, then
+       * return to the previous state.
        */
-      putBlobFromUrl(contentLength, copySource, options) {
-        return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec);
+      join() {
+        let chunk = this.finish();
+        let prev = this.stack.pop();
+        if (!prev)
+          throw new Error("invalid state, fork stack empty");
+        this.chunks = prev.chunks;
+        this.buf = prev.buf;
+        this.uint32(chunk.byteLength);
+        return this.raw(chunk);
       }
       /**
-       * The Stage Block operation creates a new block to be committed as part of a blob
-       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
-       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
-       *                for the blockid parameter must be the same size for each block.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
+       * Writes a tag (field number and wire type).
+       *
+       * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.
+       *
+       * Generated code should compute the tag ahead of time and call `uint32()`.
        */
-      stageBlock(blockId, contentLength, body, options) {
-        return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec);
+      tag(fieldNo, type2) {
+        return this.uint32((fieldNo << 3 | type2) >>> 0);
       }
       /**
-       * The Stage Block operation creates a new block to be committed as part of a blob where the contents
-       * are read from a URL.
-       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
-       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
-       *                for the blockid parameter must be the same size for each block.
-       * @param contentLength The length of the request.
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param options The options parameters.
+       * Write a chunk of raw bytes.
        */
-      stageBlockFromURL(blockId, contentLength, sourceUrl, options) {
-        return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec);
+      raw(chunk) {
+        if (this.buf.length) {
+          this.chunks.push(new Uint8Array(this.buf));
+          this.buf = [];
+        }
+        this.chunks.push(chunk);
+        return this;
       }
       /**
-       * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the
-       * blob. In order to be written as part of a blob, a block must have been successfully written to the
-       * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading
-       * only those blocks that have changed, then committing the new and existing blocks together. You can
-       * do this by specifying whether to commit a block from the committed block list or from the
-       * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list
-       * it may belong to.
-       * @param blocks Blob Blocks.
-       * @param options The options parameters.
+       * Write a `uint32` value, an unsigned 32 bit varint.
        */
-      commitBlockList(blocks, options) {
-        return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec);
+      uint32(value) {
+        assert_1.assertUInt32(value);
+        while (value > 127) {
+          this.buf.push(value & 127 | 128);
+          value = value >>> 7;
+        }
+        this.buf.push(value);
+        return this;
       }
       /**
-       * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block
-       * blob
-       * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted
-       *                 blocks, or both lists together.
-       * @param options The options parameters.
+       * Write a `int32` value, a signed 32 bit varint.
        */
-      getBlockList(listType, options) {
-        return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec);
+      int32(value) {
+        assert_1.assertInt32(value);
+        goog_varint_1.varint32write(value, this.buf);
+        return this;
+      }
+      /**
+       * Write a `bool` value, a variant.
+       */
+      bool(value) {
+        this.buf.push(value ? 1 : 0);
+        return this;
+      }
+      /**
+       * Write a `bytes` value, length-delimited arbitrary data.
+       */
+      bytes(value) {
+        this.uint32(value.byteLength);
+        return this.raw(value);
+      }
+      /**
+       * Write a `string` value, length-delimited data converted to UTF-8 text.
+       */
+      string(value) {
+        let chunk = this.textEncoder.encode(value);
+        this.uint32(chunk.byteLength);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `float` value, 32-bit floating point number.
+       */
+      float(value) {
+        assert_1.assertFloat32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setFloat32(0, value, true);
+        return this.raw(chunk);
       }
-    };
-    exports2.BlockBlobImpl = BlockBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var uploadOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobUploadHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobUploadExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.blobType2
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var putBlobFromUrlOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders
-        }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceIfTags,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.copySourceTags,
-        Parameters.fileRequestIntent,
-        Parameters.transactionalContentMD5,
-        Parameters.blobType2,
-        Parameters.copySourceBlobProperties
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var stageBlockOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobStageBlockHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders
-        }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp24,
-        Parameters.blockId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var stageBlockFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp24,
-        Parameters.blockId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.sourceUrl,
-        Parameters.sourceContentCrc64,
-        Parameters.sourceRange1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var commitBlockListOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobCommitBlockListHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders
-        }
-      },
-      requestBody: Parameters.blocks,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getBlockListOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlockList,
-          headersMapper: Mappers.BlockBlobGetBlockListHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.comp25,
-        Parameters.listType
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js
-var require_operations = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_service(), exports2);
-    tslib_1.__exportStar(require_container(), exports2);
-    tslib_1.__exportStar(require_blob(), exports2);
-    tslib_1.__exportStar(require_pageBlob(), exports2);
-    tslib_1.__exportStar(require_appendBlob(), exports2);
-    tslib_1.__exportStar(require_blockBlob(), exports2);
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js
-var require_storageClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreHttpCompat = tslib_1.__importStar(require_commonjs9());
-    var index_js_1 = require_operations();
-    var StorageClient = class extends coreHttpCompat.ExtendedServiceClient {
-      url;
-      version;
       /**
-       * Initializes a new instance of the StorageClient class.
-       * @param url The URL of the service account, container, or blob that is the target of the desired
-       *            operation.
-       * @param options The parameter options
+       * Write a `double` value, a 64-bit floating point number.
        */
-      constructor(url, options) {
-        if (url === void 0) {
-          throw new Error("'url' cannot be null");
-        }
-        if (!options) {
-          options = {};
-        }
-        const defaults = {
-          requestContentType: "application/json; charset=utf-8"
-        };
-        const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`;
-        const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
-        const optionsWithDefaults = {
-          ...defaults,
-          ...options,
-          userAgentOptions: {
-            userAgentPrefix
-          },
-          endpoint: options.endpoint ?? options.baseUri ?? "{url}"
-        };
-        super(optionsWithDefaults);
-        this.url = url;
-        this.version = options.version || "2025-11-05";
-        this.service = new index_js_1.ServiceImpl(this);
-        this.container = new index_js_1.ContainerImpl(this);
-        this.blob = new index_js_1.BlobImpl(this);
-        this.pageBlob = new index_js_1.PageBlobImpl(this);
-        this.appendBlob = new index_js_1.AppendBlobImpl(this);
-        this.blockBlob = new index_js_1.BlockBlobImpl(this);
+      double(value) {
+        let chunk = new Uint8Array(8);
+        new DataView(chunk.buffer).setFloat64(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
+       */
+      fixed32(value) {
+        assert_1.assertUInt32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setUint32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
+       */
+      sfixed32(value) {
+        assert_1.assertInt32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setInt32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
+       */
+      sint32(value) {
+        assert_1.assertInt32(value);
+        value = (value << 1 ^ value >> 31) >>> 0;
+        goog_varint_1.varint32write(value, this.buf);
+        return this;
+      }
+      /**
+       * Write a `fixed64` value, a signed, fixed-length 64-bit integer.
+       */
+      sfixed64(value) {
+        let chunk = new Uint8Array(8);
+        let view = new DataView(chunk.buffer);
+        let long = pb_long_1.PbLong.from(value);
+        view.setInt32(0, long.lo, true);
+        view.setInt32(4, long.hi, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.
+       */
+      fixed64(value) {
+        let chunk = new Uint8Array(8);
+        let view = new DataView(chunk.buffer);
+        let long = pb_long_1.PbULong.from(value);
+        view.setInt32(0, long.lo, true);
+        view.setInt32(4, long.hi, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `int64` value, a signed 64-bit varint.
+       */
+      int64(value) {
+        let long = pb_long_1.PbLong.from(value);
+        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
+        return this;
+      }
+      /**
+       * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.
+       */
+      sint64(value) {
+        let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign;
+        goog_varint_1.varint64write(lo, hi, this.buf);
+        return this;
+      }
+      /**
+       * Write a `uint64` value, an unsigned 64-bit varint.
+       */
+      uint64(value) {
+        let long = pb_long_1.PbULong.from(value);
+        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
+        return this;
       }
-      service;
-      container;
-      blob;
-      pageBlob;
-      appendBlob;
-      blockBlob;
     };
-    exports2.StorageClient = StorageClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js
-var require_service2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BinaryWriter = BinaryWriter;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js
-var require_container2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js
+var require_json_format_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0;
+    var defaultsWrite = {
+      emitDefaultValues: false,
+      enumAsInteger: false,
+      useProtoFieldName: false,
+      prettySpaces: 0
+    };
+    var defaultsRead = {
+      ignoreUnknownFields: false
+    };
+    function jsonReadOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    }
+    exports2.jsonReadOptions = jsonReadOptions;
+    function jsonWriteOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    }
+    exports2.jsonWriteOptions = jsonWriteOptions;
+    function mergeJsonOptions(a, b) {
+      var _a, _b;
+      let c = Object.assign(Object.assign({}, a), b);
+      c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []];
+      return c;
+    }
+    exports2.mergeJsonOptions = mergeJsonOptions;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js
-var require_blob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js
+var require_message_type_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MESSAGE_TYPE = void 0;
+    exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js
-var require_pageBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js
+var require_lower_camel_case = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.lowerCamelCase = void 0;
+    function lowerCamelCase(snakeCase) {
+      let capNext = false;
+      const sb = [];
+      for (let i = 0; i < snakeCase.length; i++) {
+        let next = snakeCase.charAt(i);
+        if (next == "_") {
+          capNext = true;
+        } else if (/\d/.test(next)) {
+          sb.push(next);
+          capNext = true;
+        } else if (capNext) {
+          sb.push(next.toUpperCase());
+          capNext = false;
+        } else if (i == 0) {
+          sb.push(next.toLowerCase());
+        } else {
+          sb.push(next);
+        }
+      }
+      return sb.join("");
+    }
+    exports2.lowerCamelCase = lowerCamelCase;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js
-var require_appendBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js
+var require_reflection_info = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0;
+    var lower_camel_case_1 = require_lower_camel_case();
+    var ScalarType;
+    (function(ScalarType2) {
+      ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE";
+      ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT";
+      ScalarType2[ScalarType2["INT64"] = 3] = "INT64";
+      ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64";
+      ScalarType2[ScalarType2["INT32"] = 5] = "INT32";
+      ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64";
+      ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32";
+      ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL";
+      ScalarType2[ScalarType2["STRING"] = 9] = "STRING";
+      ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES";
+      ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32";
+      ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32";
+      ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64";
+      ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32";
+      ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64";
+    })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {}));
+    var LongType;
+    (function(LongType2) {
+      LongType2[LongType2["BIGINT"] = 0] = "BIGINT";
+      LongType2[LongType2["STRING"] = 1] = "STRING";
+      LongType2[LongType2["NUMBER"] = 2] = "NUMBER";
+    })(LongType = exports2.LongType || (exports2.LongType = {}));
+    var RepeatType;
+    (function(RepeatType2) {
+      RepeatType2[RepeatType2["NO"] = 0] = "NO";
+      RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED";
+      RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED";
+    })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {}));
+    function normalizeFieldInfo(field) {
+      var _a, _b, _c, _d;
+      field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name);
+      field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name);
+      field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO;
+      field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message";
+      return field;
+    }
+    exports2.normalizeFieldInfo = normalizeFieldInfo;
+    function readFieldOptions(messageType, fieldName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
+      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    }
+    exports2.readFieldOptions = readFieldOptions;
+    function readFieldOption(messageType, fieldName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readFieldOption = readFieldOption;
+    function readMessageOption(messageType, extensionName, extensionType) {
+      const options = messageType.options;
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readMessageOption = readMessageOption;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js
-var require_blockBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js
+var require_oneof = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0;
+    function isOneofGroup(any) {
+      if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) {
+        return false;
+      }
+      switch (typeof any.oneofKind) {
+        case "string":
+          if (any[any.oneofKind] === void 0)
+            return false;
+          return Object.keys(any).length == 2;
+        case "undefined":
+          return Object.keys(any).length == 1;
+        default:
+          return false;
+      }
+    }
+    exports2.isOneofGroup = isOneofGroup;
+    function getOneofValue(oneof, kind) {
+      return oneof[kind];
+    }
+    exports2.getOneofValue = getOneofValue;
+    function setOneofValue(oneof, kind, value) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = kind;
+      if (value !== void 0) {
+        oneof[kind] = value;
+      }
+    }
+    exports2.setOneofValue = setOneofValue;
+    function setUnknownOneofValue(oneof, kind, value) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = kind;
+      if (value !== void 0 && kind !== void 0) {
+        oneof[kind] = value;
+      }
+    }
+    exports2.setUnknownOneofValue = setUnknownOneofValue;
+    function clearOneofValue(oneof) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = void 0;
+    }
+    exports2.clearOneofValue = clearOneofValue;
+    function getSelectedOneofValue(oneof) {
+      if (oneof.oneofKind === void 0) {
+        return void 0;
+      }
+      return oneof[oneof.oneofKind];
+    }
+    exports2.getSelectedOneofValue = getSelectedOneofValue;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js
-var require_operationsInterfaces = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js
+var require_reflection_type_check = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_service2(), exports2);
-    tslib_1.__exportStar(require_container2(), exports2);
-    tslib_1.__exportStar(require_blob2(), exports2);
-    tslib_1.__exportStar(require_pageBlob2(), exports2);
-    tslib_1.__exportStar(require_appendBlob2(), exports2);
-    tslib_1.__exportStar(require_blockBlob2(), exports2);
+    exports2.ReflectionTypeCheck = void 0;
+    var reflection_info_1 = require_reflection_info();
+    var oneof_1 = require_oneof();
+    var ReflectionTypeCheck = class {
+      constructor(info7) {
+        var _a;
+        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      }
+      prepare() {
+        if (this.data)
+          return;
+        const req = [], known = [], oneofs = [];
+        for (let field of this.fields) {
+          if (field.oneof) {
+            if (!oneofs.includes(field.oneof)) {
+              oneofs.push(field.oneof);
+              req.push(field.oneof);
+              known.push(field.oneof);
+            }
+          } else {
+            known.push(field.localName);
+            switch (field.kind) {
+              case "scalar":
+              case "enum":
+                if (!field.opt || field.repeat)
+                  req.push(field.localName);
+                break;
+              case "message":
+                if (field.repeat)
+                  req.push(field.localName);
+                break;
+              case "map":
+                req.push(field.localName);
+                break;
+            }
+          }
+        }
+        this.data = { req, known, oneofs: Object.values(oneofs) };
+      }
+      /**
+       * Is the argument a valid message as specified by the
+       * reflection information?
+       *
+       * Checks all field types recursively. The `depth`
+       * specifies how deep into the structure the check will be.
+       *
+       * With a depth of 0, only the presence of fields
+       * is checked.
+       *
+       * With a depth of 1 or more, the field types are checked.
+       *
+       * With a depth of 2 or more, the members of map, repeated
+       * and message fields are checked.
+       *
+       * Message fields will be checked recursively with depth - 1.
+       *
+       * The number of map entries / repeated values being checked
+       * is < depth.
+       */
+      is(message, depth, allowExcessProperties = false) {
+        if (depth < 0)
+          return true;
+        if (message === null || message === void 0 || typeof message != "object")
+          return false;
+        this.prepare();
+        let keys = Object.keys(message), data = this.data;
+        if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n)))
+          return false;
+        if (!allowExcessProperties) {
+          if (keys.some((k) => !data.known.includes(k)))
+            return false;
+        }
+        if (depth < 1) {
+          return true;
+        }
+        for (const name of data.oneofs) {
+          const group = message[name];
+          if (!oneof_1.isOneofGroup(group))
+            return false;
+          if (group.oneofKind === void 0)
+            continue;
+          const field = this.fields.find((f) => f.localName === group.oneofKind);
+          if (!field)
+            return false;
+          if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth))
+            return false;
+        }
+        for (const field of this.fields) {
+          if (field.oneof !== void 0)
+            continue;
+          if (!this.field(message[field.localName], field, allowExcessProperties, depth))
+            return false;
+        }
+        return true;
+      }
+      field(arg, field, allowExcessProperties, depth) {
+        let repeated = field.repeat;
+        switch (field.kind) {
+          case "scalar":
+            if (arg === void 0)
+              return field.opt;
+            if (repeated)
+              return this.scalars(arg, field.T, depth, field.L);
+            return this.scalar(arg, field.T, field.L);
+          case "enum":
+            if (arg === void 0)
+              return field.opt;
+            if (repeated)
+              return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth);
+            return this.scalar(arg, reflection_info_1.ScalarType.INT32);
+          case "message":
+            if (arg === void 0)
+              return true;
+            if (repeated)
+              return this.messages(arg, field.T(), allowExcessProperties, depth);
+            return this.message(arg, field.T(), allowExcessProperties, depth);
+          case "map":
+            if (typeof arg != "object" || arg === null)
+              return false;
+            if (depth < 2)
+              return true;
+            if (!this.mapKeys(arg, field.K, depth))
+              return false;
+            switch (field.V.kind) {
+              case "scalar":
+                return this.scalars(Object.values(arg), field.V.T, depth, field.V.L);
+              case "enum":
+                return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth);
+              case "message":
+                return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth);
+            }
+            break;
+        }
+        return true;
+      }
+      message(arg, type2, allowExcessProperties, depth) {
+        if (allowExcessProperties) {
+          return type2.isAssignable(arg, depth);
+        }
+        return type2.is(arg, depth);
+      }
+      messages(arg, type2, allowExcessProperties, depth) {
+        if (!Array.isArray(arg))
+          return false;
+        if (depth < 2)
+          return true;
+        if (allowExcessProperties) {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!type2.isAssignable(arg[i], depth - 1))
+              return false;
+        } else {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!type2.is(arg[i], depth - 1))
+              return false;
+        }
+        return true;
+      }
+      scalar(arg, type2, longType) {
+        let argType = typeof arg;
+        switch (type2) {
+          case reflection_info_1.ScalarType.UINT64:
+          case reflection_info_1.ScalarType.FIXED64:
+          case reflection_info_1.ScalarType.INT64:
+          case reflection_info_1.ScalarType.SFIXED64:
+          case reflection_info_1.ScalarType.SINT64:
+            switch (longType) {
+              case reflection_info_1.LongType.BIGINT:
+                return argType == "bigint";
+              case reflection_info_1.LongType.NUMBER:
+                return argType == "number" && !isNaN(arg);
+              default:
+                return argType == "string";
+            }
+          case reflection_info_1.ScalarType.BOOL:
+            return argType == "boolean";
+          case reflection_info_1.ScalarType.STRING:
+            return argType == "string";
+          case reflection_info_1.ScalarType.BYTES:
+            return arg instanceof Uint8Array;
+          case reflection_info_1.ScalarType.DOUBLE:
+          case reflection_info_1.ScalarType.FLOAT:
+            return argType == "number" && !isNaN(arg);
+          default:
+            return argType == "number" && Number.isInteger(arg);
+        }
+      }
+      scalars(arg, type2, depth, longType) {
+        if (!Array.isArray(arg))
+          return false;
+        if (depth < 2)
+          return true;
+        if (Array.isArray(arg)) {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!this.scalar(arg[i], type2, longType))
+              return false;
+        }
+        return true;
+      }
+      mapKeys(map2, type2, depth) {
+        let keys = Object.keys(map2);
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+          case reflection_info_1.ScalarType.UINT32:
+            return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth);
+          case reflection_info_1.ScalarType.BOOL:
+            return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth);
+          default:
+            return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING);
+        }
+      }
+    };
+    exports2.ReflectionTypeCheck = ReflectionTypeCheck;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js
-var require_src2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js
+var require_reflection_long_convert = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_models(), exports2);
-    var storageClient_js_1 = require_storageClient();
-    Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() {
-      return storageClient_js_1.StorageClient;
-    } });
-    tslib_1.__exportStar(require_operationsInterfaces(), exports2);
+    exports2.reflectionLongConvert = void 0;
+    var reflection_info_1 = require_reflection_info();
+    function reflectionLongConvert(long, type2) {
+      switch (type2) {
+        case reflection_info_1.LongType.BIGINT:
+          return long.toBigInt();
+        case reflection_info_1.LongType.NUMBER:
+          return long.toNumber();
+        default:
+          return long.toString();
+      }
+    }
+    exports2.reflectionLongConvert = reflectionLongConvert;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js
-var require_StorageContextClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js
+var require_reflection_json_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageContextClient = void 0;
-    var index_js_1 = require_src2();
-    var StorageContextClient = class extends index_js_1.StorageClient {
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const operationSpecToSend = { ...operationSpec };
-        if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") {
-          operationSpecToSend.path = "";
+    exports2.ReflectionJsonReader = void 0;
+    var json_typings_1 = require_json_typings();
+    var base64_1 = require_base642();
+    var reflection_info_1 = require_reflection_info();
+    var pb_long_1 = require_pb_long();
+    var assert_1 = require_assert();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var ReflectionJsonReader = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        var _a;
+        if (this.fMap === void 0) {
+          this.fMap = {};
+          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
+          for (const field of fieldsInput) {
+            this.fMap[field.name] = field;
+            this.fMap[field.jsonName] = field;
+            this.fMap[field.localName] = field;
+          }
         }
-        return super.sendOperationRequest(operationArguments, operationSpecToSend);
+      }
+      // Cannot parse JSON  for #.
+      assert(condition, fieldName, jsonValue) {
+        if (!condition) {
+          let what = json_typings_1.typeofJsonValue(jsonValue);
+          if (what == "number" || what == "boolean")
+            what = jsonValue.toString();
+          throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`);
+        }
+      }
+      /**
+       * Reads a message from canonical JSON format into the target message.
+       *
+       * Repeated fields are appended. Map entries are added, overwriting
+       * existing keys.
+       *
+       * If a message field is already present, it will be merged with the
+       * new data.
+       */
+      read(input, message, options) {
+        this.prepare();
+        const oneofsHandled = [];
+        for (const [jsonKey, jsonValue] of Object.entries(input)) {
+          const field = this.fMap[jsonKey];
+          if (!field) {
+            if (!options.ignoreUnknownFields)
+              throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`);
+            continue;
+          }
+          const localName = field.localName;
+          let target;
+          if (field.oneof) {
+            if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) {
+              continue;
+            }
+            if (oneofsHandled.includes(field.oneof))
+              throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`);
+            oneofsHandled.push(field.oneof);
+            target = message[field.oneof] = {
+              oneofKind: localName
+            };
+          } else {
+            target = message;
+          }
+          if (field.kind == "map") {
+            if (jsonValue === null) {
+              continue;
+            }
+            this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue);
+            const fieldObj = target[localName];
+            for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) {
+              this.assert(jsonObjValue !== null, field.name + " map value", null);
+              let val;
+              switch (field.V.kind) {
+                case "message":
+                  val = field.V.T().internalJsonRead(jsonObjValue, options);
+                  break;
+                case "enum":
+                  val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields);
+                  if (val === false)
+                    continue;
+                  break;
+                case "scalar":
+                  val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name);
+                  break;
+              }
+              this.assert(val !== void 0, field.name + " map value", jsonObjValue);
+              let key = jsonObjKey;
+              if (field.K == reflection_info_1.ScalarType.BOOL)
+                key = key == "true" ? true : key == "false" ? false : key;
+              key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString();
+              fieldObj[key] = val;
+            }
+          } else if (field.repeat) {
+            if (jsonValue === null)
+              continue;
+            this.assert(Array.isArray(jsonValue), field.name, jsonValue);
+            const fieldArr = target[localName];
+            for (const jsonItem of jsonValue) {
+              this.assert(jsonItem !== null, field.name, null);
+              let val;
+              switch (field.kind) {
+                case "message":
+                  val = field.T().internalJsonRead(jsonItem, options);
+                  break;
+                case "enum":
+                  val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields);
+                  if (val === false)
+                    continue;
+                  break;
+                case "scalar":
+                  val = this.scalar(jsonItem, field.T, field.L, field.name);
+                  break;
+              }
+              this.assert(val !== void 0, field.name, jsonValue);
+              fieldArr.push(val);
+            }
+          } else {
+            switch (field.kind) {
+              case "message":
+                if (jsonValue === null && field.T().typeName != "google.protobuf.Value") {
+                  this.assert(field.oneof === void 0, field.name + " (oneof member)", null);
+                  continue;
+                }
+                target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]);
+                break;
+              case "enum":
+                if (jsonValue === null)
+                  continue;
+                let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields);
+                if (val === false)
+                  continue;
+                target[localName] = val;
+                break;
+              case "scalar":
+                if (jsonValue === null)
+                  continue;
+                target[localName] = this.scalar(jsonValue, field.T, field.L, field.name);
+                break;
+            }
+          }
+        }
+      }
+      /**
+       * Returns `false` for unrecognized string representations.
+       *
+       * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`).
+       */
+      enum(type2, json2, fieldName, ignoreUnknownFields) {
+        if (type2[0] == "google.protobuf.NullValue")
+          assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`);
+        if (json2 === null)
+          return 0;
+        switch (typeof json2) {
+          case "number":
+            assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`);
+            return json2;
+          case "string":
+            let localEnumName = json2;
+            if (type2[2] && json2.substring(0, type2[2].length) === type2[2])
+              localEnumName = json2.substring(type2[2].length);
+            let enumNumber = type2[1][localEnumName];
+            if (typeof enumNumber === "undefined" && ignoreUnknownFields) {
+              return false;
+            }
+            assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`);
+            return enumNumber;
+        }
+        assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`);
+      }
+      scalar(json2, type2, longType, fieldName) {
+        let e;
+        try {
+          switch (type2) {
+            // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
+            // Either numbers or strings are accepted. Exponent notation is also accepted.
+            case reflection_info_1.ScalarType.DOUBLE:
+            case reflection_info_1.ScalarType.FLOAT:
+              if (json2 === null)
+                return 0;
+              if (json2 === "NaN")
+                return Number.NaN;
+              if (json2 === "Infinity")
+                return Number.POSITIVE_INFINITY;
+              if (json2 === "-Infinity")
+                return Number.NEGATIVE_INFINITY;
+              if (json2 === "") {
+                e = "empty string";
+                break;
+              }
+              if (typeof json2 == "string" && json2.trim().length !== json2.length) {
+                e = "extra whitespace";
+                break;
+              }
+              if (typeof json2 != "string" && typeof json2 != "number") {
+                break;
+              }
+              let float2 = Number(json2);
+              if (Number.isNaN(float2)) {
+                e = "not a number";
+                break;
+              }
+              if (!Number.isFinite(float2)) {
+                e = "too large or small";
+                break;
+              }
+              if (type2 == reflection_info_1.ScalarType.FLOAT)
+                assert_1.assertFloat32(float2);
+              return float2;
+            // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
+            case reflection_info_1.ScalarType.INT32:
+            case reflection_info_1.ScalarType.FIXED32:
+            case reflection_info_1.ScalarType.SFIXED32:
+            case reflection_info_1.ScalarType.SINT32:
+            case reflection_info_1.ScalarType.UINT32:
+              if (json2 === null)
+                return 0;
+              let int32;
+              if (typeof json2 == "number")
+                int32 = json2;
+              else if (json2 === "")
+                e = "empty string";
+              else if (typeof json2 == "string") {
+                if (json2.trim().length !== json2.length)
+                  e = "extra whitespace";
+                else
+                  int32 = Number(json2);
+              }
+              if (int32 === void 0)
+                break;
+              if (type2 == reflection_info_1.ScalarType.UINT32)
+                assert_1.assertUInt32(int32);
+              else
+                assert_1.assertInt32(int32);
+              return int32;
+            // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.
+            case reflection_info_1.ScalarType.INT64:
+            case reflection_info_1.ScalarType.SFIXED64:
+            case reflection_info_1.ScalarType.SINT64:
+              if (json2 === null)
+                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
+              if (typeof json2 != "number" && typeof json2 != "string")
+                break;
+              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType);
+            case reflection_info_1.ScalarType.FIXED64:
+            case reflection_info_1.ScalarType.UINT64:
+              if (json2 === null)
+                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
+              if (typeof json2 != "number" && typeof json2 != "string")
+                break;
+              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType);
+            // bool:
+            case reflection_info_1.ScalarType.BOOL:
+              if (json2 === null)
+                return false;
+              if (typeof json2 !== "boolean")
+                break;
+              return json2;
+            // string:
+            case reflection_info_1.ScalarType.STRING:
+              if (json2 === null)
+                return "";
+              if (typeof json2 !== "string") {
+                e = "extra whitespace";
+                break;
+              }
+              try {
+                encodeURIComponent(json2);
+              } catch (e2) {
+                e2 = "invalid UTF8";
+                break;
+              }
+              return json2;
+            // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
+            // Either standard or URL-safe base64 encoding with/without paddings are accepted.
+            case reflection_info_1.ScalarType.BYTES:
+              if (json2 === null || json2 === "")
+                return new Uint8Array(0);
+              if (typeof json2 !== "string")
+                break;
+              return base64_1.base64decode(json2);
+          }
+        } catch (error3) {
+          e = error3.message;
+        }
+        this.assert(false, fieldName + (e ? " - " + e : ""), json2);
       }
     };
-    exports2.StorageContextClient = StorageContextClient;
+    exports2.ReflectionJsonReader = ReflectionJsonReader;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js
-var require_StorageClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js
+var require_reflection_json_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var StorageContextClient_js_1 = require_StorageContextClient();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var StorageClient = class {
-      /**
-       * Encoded URL string value.
-       */
-      url;
-      accountName;
-      /**
-       * Request policy pipeline.
-       *
-       * @internal
-       */
-      pipeline;
-      /**
-       * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
-       */
-      credential;
-      /**
-       * StorageClient is a reference to protocol layer operations entry, which is
-       * generated by AutoRest generator.
-       */
-      storageClientContext;
+    exports2.ReflectionJsonWriter = void 0;
+    var base64_1 = require_base642();
+    var pb_long_1 = require_pb_long();
+    var reflection_info_1 = require_reflection_info();
+    var assert_1 = require_assert();
+    var ReflectionJsonWriter = class {
+      constructor(info7) {
+        var _a;
+        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      }
       /**
+       * Converts the message to a JSON object, based on the field descriptors.
        */
-      isHttps;
+      write(message, options) {
+        const json2 = {}, source = message;
+        for (const field of this.fields) {
+          if (!field.oneof) {
+            let jsonValue2 = this.field(field, source[field.localName], options);
+            if (jsonValue2 !== void 0)
+              json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2;
+            continue;
+          }
+          const group = source[field.oneof];
+          if (group.oneofKind !== field.localName)
+            continue;
+          const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options;
+          let jsonValue = this.field(field, group[field.localName], opt);
+          assert_1.assert(jsonValue !== void 0);
+          json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue;
+        }
+        return json2;
+      }
+      field(field, value, options) {
+        let jsonValue = void 0;
+        if (field.kind == "map") {
+          assert_1.assert(typeof value == "object" && value !== null);
+          const jsonObj = {};
+          switch (field.V.kind) {
+            case "scalar":
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                const val = this.scalar(field.V.T, entryValue, field.name, false, true);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+            case "message":
+              const messageType = field.V.T();
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                const val = this.message(messageType, entryValue, field.name, options);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+            case "enum":
+              const enumInfo = field.V.T();
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                assert_1.assert(entryValue === void 0 || typeof entryValue == "number");
+                const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+          }
+          if (options.emitDefaultValues || Object.keys(jsonObj).length > 0)
+            jsonValue = jsonObj;
+        } else if (field.repeat) {
+          assert_1.assert(Array.isArray(value));
+          const jsonArr = [];
+          switch (field.kind) {
+            case "scalar":
+              for (let i = 0; i < value.length; i++) {
+                const val = this.scalar(field.T, value[i], field.name, field.opt, true);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+            case "enum":
+              const enumInfo = field.T();
+              for (let i = 0; i < value.length; i++) {
+                assert_1.assert(value[i] === void 0 || typeof value[i] == "number");
+                const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+            case "message":
+              const messageType = field.T();
+              for (let i = 0; i < value.length; i++) {
+                const val = this.message(messageType, value[i], field.name, options);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+          }
+          if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues)
+            jsonValue = jsonArr;
+        } else {
+          switch (field.kind) {
+            case "scalar":
+              jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues);
+              break;
+            case "enum":
+              jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger);
+              break;
+            case "message":
+              jsonValue = this.message(field.T(), value, field.name, options);
+              break;
+          }
+        }
+        return jsonValue;
+      }
       /**
-       * Creates an instance of StorageClient.
-       * @param url - url to resource
-       * @param pipeline - request policy pipeline.
+       * Returns `null` as the default for google.protobuf.NullValue.
        */
-      constructor(url, pipeline) {
-        this.url = (0, utils_common_js_1.escapeURLPath)(url);
-        this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url);
-        this.pipeline = pipeline;
-        this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
-        this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https");
-        this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline);
-        const storageClientContext = this.storageClientContext;
-        storageClientContext.requestContentType = void 0;
+      enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) {
+        if (type2[0] == "google.protobuf.NullValue")
+          return !emitDefaultValues && !optional ? void 0 : null;
+        if (value === void 0) {
+          assert_1.assert(optional);
+          return void 0;
+        }
+        if (value === 0 && !emitDefaultValues && !optional)
+          return void 0;
+        assert_1.assert(typeof value == "number");
+        assert_1.assert(Number.isInteger(value));
+        if (enumAsInteger || !type2[1].hasOwnProperty(value))
+          return value;
+        if (type2[2])
+          return type2[2] + type2[1][value];
+        return type2[1][value];
+      }
+      message(type2, value, fieldName, options) {
+        if (value === void 0)
+          return options.emitDefaultValues ? null : void 0;
+        return type2.internalJsonWrite(value, options);
+      }
+      scalar(type2, value, fieldName, optional, emitDefaultValues) {
+        if (value === void 0) {
+          assert_1.assert(optional);
+          return void 0;
+        }
+        const ed = emitDefaultValues || optional;
+        switch (type2) {
+          // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assertInt32(value);
+            return value;
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.UINT32:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assertUInt32(value);
+            return value;
+          // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
+          // Either numbers or strings are accepted. Exponent notation is also accepted.
+          case reflection_info_1.ScalarType.FLOAT:
+            assert_1.assertFloat32(value);
+          case reflection_info_1.ScalarType.DOUBLE:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assert(typeof value == "number");
+            if (Number.isNaN(value))
+              return "NaN";
+            if (value === Number.POSITIVE_INFINITY)
+              return "Infinity";
+            if (value === Number.NEGATIVE_INFINITY)
+              return "-Infinity";
+            return value;
+          // string:
+          case reflection_info_1.ScalarType.STRING:
+            if (value === "")
+              return ed ? "" : void 0;
+            assert_1.assert(typeof value == "string");
+            return value;
+          // bool:
+          case reflection_info_1.ScalarType.BOOL:
+            if (value === false)
+              return ed ? false : void 0;
+            assert_1.assert(typeof value == "boolean");
+            return value;
+          // JSON value will be a decimal string. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.UINT64:
+          case reflection_info_1.ScalarType.FIXED64:
+            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
+            let ulong = pb_long_1.PbULong.from(value);
+            if (ulong.isZero() && !ed)
+              return void 0;
+            return ulong.toString();
+          // JSON value will be a decimal string. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.INT64:
+          case reflection_info_1.ScalarType.SFIXED64:
+          case reflection_info_1.ScalarType.SINT64:
+            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
+            let long = pb_long_1.PbLong.from(value);
+            if (long.isZero() && !ed)
+              return void 0;
+            return long.toString();
+          // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
+          // Either standard or URL-safe base64 encoding with/without paddings are accepted.
+          case reflection_info_1.ScalarType.BYTES:
+            assert_1.assert(value instanceof Uint8Array);
+            if (!value.byteLength)
+              return ed ? "" : void 0;
+            return base64_1.base64encode(value);
+        }
       }
     };
-    exports2.StorageClient = StorageClient;
+    exports2.ReflectionJsonWriter = ReflectionJsonWriter;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js
-var require_tracing = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js
+var require_reflection_scalar_default = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tracingClient = void 0;
-    var core_tracing_1 = require_commonjs5();
-    var constants_js_1 = require_constants15();
-    exports2.tracingClient = (0, core_tracing_1.createTracingClient)({
-      packageName: "@azure/storage-blob",
-      packageVersion: constants_js_1.SDK_VERSION,
-      namespace: "Microsoft.Storage"
-    });
+    exports2.reflectionScalarDefault = void 0;
+    var reflection_info_1 = require_reflection_info();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var pb_long_1 = require_pb_long();
+    function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) {
+      switch (type2) {
+        case reflection_info_1.ScalarType.BOOL:
+          return false;
+        case reflection_info_1.ScalarType.UINT64:
+        case reflection_info_1.ScalarType.FIXED64:
+          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
+        case reflection_info_1.ScalarType.INT64:
+        case reflection_info_1.ScalarType.SFIXED64:
+        case reflection_info_1.ScalarType.SINT64:
+          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
+        case reflection_info_1.ScalarType.DOUBLE:
+        case reflection_info_1.ScalarType.FLOAT:
+          return 0;
+        case reflection_info_1.ScalarType.BYTES:
+          return new Uint8Array(0);
+        case reflection_info_1.ScalarType.STRING:
+          return "";
+        default:
+          return 0;
+      }
+    }
+    exports2.reflectionScalarDefault = reflectionScalarDefault;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js
-var require_BlobSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js
+var require_reflection_binary_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobSASPermissions = void 0;
-    var BlobSASPermissions = class _BlobSASPermissions {
+    exports2.ReflectionBinaryReader = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var reflection_info_1 = require_reflection_info();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    var ReflectionBinaryReader = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        var _a;
+        if (!this.fieldNoToField) {
+          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
+          this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field]));
+        }
+      }
       /**
-       * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid permission.
+       * Reads a message from binary format into the target message.
        *
-       * @param permissions -
+       * Repeated fields are appended. Map entries are added, overwriting
+       * existing keys.
+       *
+       * If a message field is already present, it will be merged with the
+       * new data.
        */
-      static parse(permissions) {
-        const blobSASPermissions = new _BlobSASPermissions();
-        for (const char of permissions) {
-          switch (char) {
-            case "r":
-              blobSASPermissions.read = true;
-              break;
-            case "a":
-              blobSASPermissions.add = true;
-              break;
-            case "c":
-              blobSASPermissions.create = true;
-              break;
-            case "w":
-              blobSASPermissions.write = true;
-              break;
-            case "d":
-              blobSASPermissions.delete = true;
-              break;
-            case "x":
-              blobSASPermissions.deleteVersion = true;
-              break;
-            case "t":
-              blobSASPermissions.tag = true;
-              break;
-            case "m":
-              blobSASPermissions.move = true;
-              break;
-            case "e":
-              blobSASPermissions.execute = true;
+      read(reader, message, options, length) {
+        this.prepare();
+        const end = length === void 0 ? reader.len : reader.pos + length;
+        while (reader.pos < end) {
+          const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo);
+          if (!field) {
+            let u = options.readUnknownField;
+            if (u == "throw")
+              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`);
+            let d = reader.skip(wireType);
+            if (u !== false)
+              (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d);
+            continue;
+          }
+          let target = message, repeated = field.repeat, localName = field.localName;
+          if (field.oneof) {
+            target = target[field.oneof];
+            if (target.oneofKind !== localName)
+              target = message[field.oneof] = {
+                oneofKind: localName
+              };
+          }
+          switch (field.kind) {
+            case "scalar":
+            case "enum":
+              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+              let L = field.kind == "scalar" ? field.L : void 0;
+              if (repeated) {
+                let arr = target[localName];
+                if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) {
+                  let e = reader.uint32() + reader.pos;
+                  while (reader.pos < e)
+                    arr.push(this.scalar(reader, T, L));
+                } else
+                  arr.push(this.scalar(reader, T, L));
+              } else
+                target[localName] = this.scalar(reader, T, L);
               break;
-            case "i":
-              blobSASPermissions.setImmutabilityPolicy = true;
+            case "message":
+              if (repeated) {
+                let arr = target[localName];
+                let msg = field.T().internalBinaryRead(reader, reader.uint32(), options);
+                arr.push(msg);
+              } else
+                target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]);
               break;
-            case "y":
-              blobSASPermissions.permanentDelete = true;
+            case "map":
+              let [mapKey, mapVal] = this.mapEntry(field, reader, options);
+              target[localName][mapKey] = mapVal;
               break;
-            default:
-              throw new RangeError(`Invalid permission: ${char}`);
           }
         }
-        return blobSASPermissions;
       }
       /**
-       * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
+       * Read a map field, expecting key field = 1, value field = 2
        */
-      static from(permissionLike) {
-        const blobSASPermissions = new _BlobSASPermissions();
-        if (permissionLike.read) {
-          blobSASPermissions.read = true;
-        }
-        if (permissionLike.add) {
-          blobSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          blobSASPermissions.create = true;
-        }
-        if (permissionLike.write) {
-          blobSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          blobSASPermissions.delete = true;
-        }
-        if (permissionLike.deleteVersion) {
-          blobSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.tag) {
-          blobSASPermissions.tag = true;
-        }
-        if (permissionLike.move) {
-          blobSASPermissions.move = true;
+      mapEntry(field, reader, options) {
+        let length = reader.uint32();
+        let end = reader.pos + length;
+        let key = void 0;
+        let val = void 0;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case 1:
+              if (field.K == reflection_info_1.ScalarType.BOOL)
+                key = reader.bool().toString();
+              else
+                key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING);
+              break;
+            case 2:
+              switch (field.V.kind) {
+                case "scalar":
+                  val = this.scalar(reader, field.V.T, field.V.L);
+                  break;
+                case "enum":
+                  val = reader.int32();
+                  break;
+                case "message":
+                  val = field.V.T().internalBinaryRead(reader, reader.uint32(), options);
+                  break;
+              }
+              break;
+            default:
+              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`);
+          }
         }
-        if (permissionLike.execute) {
-          blobSASPermissions.execute = true;
+        if (key === void 0) {
+          let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K);
+          key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw;
         }
-        if (permissionLike.setImmutabilityPolicy) {
-          blobSASPermissions.setImmutabilityPolicy = true;
+        if (val === void 0)
+          switch (field.V.kind) {
+            case "scalar":
+              val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L);
+              break;
+            case "enum":
+              val = 0;
+              break;
+            case "message":
+              val = field.V.T().create();
+              break;
+          }
+        return [key, val];
+      }
+      scalar(reader, type2, longType) {
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+            return reader.int32();
+          case reflection_info_1.ScalarType.STRING:
+            return reader.string();
+          case reflection_info_1.ScalarType.BOOL:
+            return reader.bool();
+          case reflection_info_1.ScalarType.DOUBLE:
+            return reader.double();
+          case reflection_info_1.ScalarType.FLOAT:
+            return reader.float();
+          case reflection_info_1.ScalarType.INT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType);
+          case reflection_info_1.ScalarType.UINT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType);
+          case reflection_info_1.ScalarType.FIXED64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType);
+          case reflection_info_1.ScalarType.FIXED32:
+            return reader.fixed32();
+          case reflection_info_1.ScalarType.BYTES:
+            return reader.bytes();
+          case reflection_info_1.ScalarType.UINT32:
+            return reader.uint32();
+          case reflection_info_1.ScalarType.SFIXED32:
+            return reader.sfixed32();
+          case reflection_info_1.ScalarType.SFIXED64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType);
+          case reflection_info_1.ScalarType.SINT32:
+            return reader.sint32();
+          case reflection_info_1.ScalarType.SINT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType);
         }
-        if (permissionLike.permanentDelete) {
-          blobSASPermissions.permanentDelete = true;
+      }
+    };
+    exports2.ReflectionBinaryReader = ReflectionBinaryReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js
+var require_reflection_binary_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionBinaryWriter = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var reflection_info_1 = require_reflection_info();
+    var assert_1 = require_assert();
+    var pb_long_1 = require_pb_long();
+    var ReflectionBinaryWriter = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        if (!this.fields) {
+          const fieldsInput = this.info.fields ? this.info.fields.concat() : [];
+          this.fields = fieldsInput.sort((a, b) => a.no - b.no);
         }
-        return blobSASPermissions;
       }
       /**
-       * Specifies Read access granted.
-       */
-      read = false;
-      /**
-       * Specifies Add access granted.
-       */
-      add = false;
-      /**
-       * Specifies Create access granted.
-       */
-      create = false;
-      /**
-       * Specifies Write access granted.
-       */
-      write = false;
-      /**
-       * Specifies Delete access granted.
-       */
-      delete = false;
-      /**
-       * Specifies Delete version access granted.
-       */
-      deleteVersion = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Specifies Move access granted.
-       */
-      move = false;
-      /**
-       * Specifies Execute access granted.
+       * Writes the message to binary format.
        */
-      execute = false;
+      write(message, writer, options) {
+        this.prepare();
+        for (const field of this.fields) {
+          let value, emitDefault, repeated = field.repeat, localName = field.localName;
+          if (field.oneof) {
+            const group = message[field.oneof];
+            if (group.oneofKind !== localName)
+              continue;
+            value = group[localName];
+            emitDefault = true;
+          } else {
+            value = message[localName];
+            emitDefault = false;
+          }
+          switch (field.kind) {
+            case "scalar":
+            case "enum":
+              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+              if (repeated) {
+                assert_1.assert(Array.isArray(value));
+                if (repeated == reflection_info_1.RepeatType.PACKED)
+                  this.packed(writer, T, field.no, value);
+                else
+                  for (const item of value)
+                    this.scalar(writer, T, field.no, item, true);
+              } else if (value === void 0)
+                assert_1.assert(field.opt);
+              else
+                this.scalar(writer, T, field.no, value, emitDefault || field.opt);
+              break;
+            case "message":
+              if (repeated) {
+                assert_1.assert(Array.isArray(value));
+                for (const item of value)
+                  this.message(writer, options, field.T(), field.no, item);
+              } else {
+                this.message(writer, options, field.T(), field.no, value);
+              }
+              break;
+            case "map":
+              assert_1.assert(typeof value == "object" && value !== null);
+              for (const [key, val] of Object.entries(value))
+                this.mapEntry(writer, options, field, key, val);
+              break;
+          }
+        }
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer);
+      }
+      mapEntry(writer, options, field, key, value) {
+        writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited);
+        writer.fork();
+        let keyValue = key;
+        switch (field.K) {
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.UINT32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+            keyValue = Number.parseInt(key);
+            break;
+          case reflection_info_1.ScalarType.BOOL:
+            assert_1.assert(key == "true" || key == "false");
+            keyValue = key == "true";
+            break;
+        }
+        this.scalar(writer, field.K, 1, keyValue, true);
+        switch (field.V.kind) {
+          case "scalar":
+            this.scalar(writer, field.V.T, 2, value, true);
+            break;
+          case "enum":
+            this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true);
+            break;
+          case "message":
+            this.message(writer, options, field.V.T(), 2, value);
+            break;
+        }
+        writer.join();
+      }
+      message(writer, options, handler2, fieldNo, value) {
+        if (value === void 0)
+          return;
+        handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options);
+        writer.join();
+      }
       /**
-       * Specifies SetImmutabilityPolicy access granted.
+       * Write a single scalar value.
        */
-      setImmutabilityPolicy = false;
+      scalar(writer, type2, fieldNo, value, emitDefault) {
+        let [wireType, method, isDefault] = this.scalarInfo(type2, value);
+        if (!isDefault || emitDefault) {
+          writer.tag(fieldNo, wireType);
+          writer[method](value);
+        }
+      }
       /**
-       * Specifies that Permanent Delete is permitted.
+       * Write an array of scalar values in packed format.
        */
-      permanentDelete = false;
+      packed(writer, type2, fieldNo, value) {
+        if (!value.length)
+          return;
+        assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING);
+        writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited);
+        writer.fork();
+        let [, method] = this.scalarInfo(type2);
+        for (let i = 0; i < value.length; i++)
+          writer[method](value[i]);
+        writer.join();
+      }
       /**
-       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
-       * order accepted by the service.
+       * Get information for writing a scalar value.
        *
-       * @returns A string which represents the BlobSASPermissions
+       * Returns tuple:
+       * [0]: appropriate WireType
+       * [1]: name of the appropriate method of IBinaryWriter
+       * [2]: whether the given value is a default value
+       *
+       * If argument `value` is omitted, [2] is always false.
        */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.add) {
-          permissions.push("a");
-        }
-        if (this.create) {
-          permissions.push("c");
-        }
-        if (this.write) {
-          permissions.push("w");
-        }
-        if (this.delete) {
-          permissions.push("d");
-        }
-        if (this.deleteVersion) {
-          permissions.push("x");
-        }
-        if (this.tag) {
-          permissions.push("t");
-        }
-        if (this.move) {
-          permissions.push("m");
-        }
-        if (this.execute) {
-          permissions.push("e");
-        }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
-        }
-        if (this.permanentDelete) {
-          permissions.push("y");
+      scalarInfo(type2, value) {
+        let t = binary_format_contract_1.WireType.Varint;
+        let m;
+        let i = value === void 0;
+        let d = value === 0;
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+            m = "int32";
+            break;
+          case reflection_info_1.ScalarType.STRING:
+            d = i || !value.length;
+            t = binary_format_contract_1.WireType.LengthDelimited;
+            m = "string";
+            break;
+          case reflection_info_1.ScalarType.BOOL:
+            d = value === false;
+            m = "bool";
+            break;
+          case reflection_info_1.ScalarType.UINT32:
+            m = "uint32";
+            break;
+          case reflection_info_1.ScalarType.DOUBLE:
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "double";
+            break;
+          case reflection_info_1.ScalarType.FLOAT:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "float";
+            break;
+          case reflection_info_1.ScalarType.INT64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            m = "int64";
+            break;
+          case reflection_info_1.ScalarType.UINT64:
+            d = i || pb_long_1.PbULong.from(value).isZero();
+            m = "uint64";
+            break;
+          case reflection_info_1.ScalarType.FIXED64:
+            d = i || pb_long_1.PbULong.from(value).isZero();
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "fixed64";
+            break;
+          case reflection_info_1.ScalarType.BYTES:
+            d = i || !value.byteLength;
+            t = binary_format_contract_1.WireType.LengthDelimited;
+            m = "bytes";
+            break;
+          case reflection_info_1.ScalarType.FIXED32:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "fixed32";
+            break;
+          case reflection_info_1.ScalarType.SFIXED32:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "sfixed32";
+            break;
+          case reflection_info_1.ScalarType.SFIXED64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "sfixed64";
+            break;
+          case reflection_info_1.ScalarType.SINT32:
+            m = "sint32";
+            break;
+          case reflection_info_1.ScalarType.SINT64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            m = "sint64";
+            break;
         }
-        return permissions.join("");
+        return [t, m, i || d];
       }
     };
-    exports2.BlobSASPermissions = BlobSASPermissions;
+    exports2.ReflectionBinaryWriter = ReflectionBinaryWriter;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js
-var require_ContainerSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) {
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js
+var require_reflection_create = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerSASPermissions = void 0;
-    var ContainerSASPermissions = class _ContainerSASPermissions {
-      /**
-       * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid permission.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const containerSASPermissions = new _ContainerSASPermissions();
-        for (const char of permissions) {
-          switch (char) {
-            case "r":
-              containerSASPermissions.read = true;
-              break;
-            case "a":
-              containerSASPermissions.add = true;
-              break;
-            case "c":
-              containerSASPermissions.create = true;
-              break;
-            case "w":
-              containerSASPermissions.write = true;
-              break;
-            case "d":
-              containerSASPermissions.delete = true;
-              break;
-            case "l":
-              containerSASPermissions.list = true;
-              break;
-            case "t":
-              containerSASPermissions.tag = true;
-              break;
-            case "x":
-              containerSASPermissions.deleteVersion = true;
-              break;
-            case "m":
-              containerSASPermissions.move = true;
-              break;
-            case "e":
-              containerSASPermissions.execute = true;
-              break;
-            case "i":
-              containerSASPermissions.setImmutabilityPolicy = true;
+    exports2.reflectionCreate = void 0;
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    var message_type_contract_1 = require_message_type_contract();
+    function reflectionCreate(type2) {
+      const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 });
+      for (let field of type2.fields) {
+        let name = field.localName;
+        if (field.opt)
+          continue;
+        if (field.oneof)
+          msg[field.oneof] = { oneofKind: void 0 };
+        else if (field.repeat)
+          msg[name] = [];
+        else
+          switch (field.kind) {
+            case "scalar":
+              msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L);
               break;
-            case "y":
-              containerSASPermissions.permanentDelete = true;
+            case "enum":
+              msg[name] = 0;
               break;
-            case "f":
-              containerSASPermissions.filterByTags = true;
+            case "map":
+              msg[name] = {};
               break;
-            default:
-              throw new RangeError(`Invalid permission ${char}`);
           }
-        }
-        return containerSASPermissions;
       }
-      /**
-       * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const containerSASPermissions = new _ContainerSASPermissions();
-        if (permissionLike.read) {
-          containerSASPermissions.read = true;
-        }
-        if (permissionLike.add) {
-          containerSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          containerSASPermissions.create = true;
-        }
-        if (permissionLike.write) {
-          containerSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          containerSASPermissions.delete = true;
-        }
-        if (permissionLike.list) {
-          containerSASPermissions.list = true;
-        }
-        if (permissionLike.deleteVersion) {
-          containerSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.tag) {
-          containerSASPermissions.tag = true;
-        }
-        if (permissionLike.move) {
-          containerSASPermissions.move = true;
-        }
-        if (permissionLike.execute) {
-          containerSASPermissions.execute = true;
+      return msg;
+    }
+    exports2.reflectionCreate = reflectionCreate;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js
+var require_reflection_merge_partial = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionMergePartial = void 0;
+    function reflectionMergePartial(info7, target, source) {
+      let fieldValue, input = source, output;
+      for (let field of info7.fields) {
+        let name = field.localName;
+        if (field.oneof) {
+          const group = input[field.oneof];
+          if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) {
+            continue;
+          }
+          fieldValue = group[name];
+          output = target[field.oneof];
+          output.oneofKind = group.oneofKind;
+          if (fieldValue == void 0) {
+            delete output[name];
+            continue;
+          }
+        } else {
+          fieldValue = input[name];
+          output = target;
+          if (fieldValue == void 0) {
+            continue;
+          }
         }
-        if (permissionLike.setImmutabilityPolicy) {
-          containerSASPermissions.setImmutabilityPolicy = true;
+        if (field.repeat)
+          output[name].length = fieldValue.length;
+        switch (field.kind) {
+          case "scalar":
+          case "enum":
+            if (field.repeat)
+              for (let i = 0; i < fieldValue.length; i++)
+                output[name][i] = fieldValue[i];
+            else
+              output[name] = fieldValue;
+            break;
+          case "message":
+            let T = field.T();
+            if (field.repeat)
+              for (let i = 0; i < fieldValue.length; i++)
+                output[name][i] = T.create(fieldValue[i]);
+            else if (output[name] === void 0)
+              output[name] = T.create(fieldValue);
+            else
+              T.mergePartial(output[name], fieldValue);
+            break;
+          case "map":
+            switch (field.V.kind) {
+              case "scalar":
+              case "enum":
+                Object.assign(output[name], fieldValue);
+                break;
+              case "message":
+                let T2 = field.V.T();
+                for (let k of Object.keys(fieldValue))
+                  output[name][k] = T2.create(fieldValue[k]);
+                break;
+            }
+            break;
         }
-        if (permissionLike.permanentDelete) {
-          containerSASPermissions.permanentDelete = true;
+      }
+    }
+    exports2.reflectionMergePartial = reflectionMergePartial;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js
+var require_reflection_equals = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionEquals = void 0;
+    var reflection_info_1 = require_reflection_info();
+    function reflectionEquals(info7, a, b) {
+      if (a === b)
+        return true;
+      if (!a || !b)
+        return false;
+      for (let field of info7.fields) {
+        let localName = field.localName;
+        let val_a = field.oneof ? a[field.oneof][localName] : a[localName];
+        let val_b = field.oneof ? b[field.oneof][localName] : b[localName];
+        switch (field.kind) {
+          case "enum":
+          case "scalar":
+            let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+            if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b)))
+              return false;
+            break;
+          case "map":
+            if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b))))
+              return false;
+            break;
+          case "message":
+            let T = field.T();
+            if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b)))
+              return false;
+            break;
         }
-        if (permissionLike.filterByTags) {
-          containerSASPermissions.filterByTags = true;
+      }
+      return true;
+    }
+    exports2.reflectionEquals = reflectionEquals;
+    var objectValues = Object.values;
+    function primitiveEq(type2, a, b) {
+      if (a === b)
+        return true;
+      if (type2 !== reflection_info_1.ScalarType.BYTES)
+        return false;
+      let ba = a;
+      let bb = b;
+      if (ba.length !== bb.length)
+        return false;
+      for (let i = 0; i < ba.length; i++)
+        if (ba[i] != bb[i])
+          return false;
+      return true;
+    }
+    function repeatedPrimitiveEq(type2, a, b) {
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; i++)
+        if (!primitiveEq(type2, a[i], b[i]))
+          return false;
+      return true;
+    }
+    function repeatedMsgEq(type2, a, b) {
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; i++)
+        if (!type2.equals(a[i], b[i]))
+          return false;
+      return true;
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js
+var require_message_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MessageType = void 0;
+    var message_type_contract_1 = require_message_type_contract();
+    var reflection_info_1 = require_reflection_info();
+    var reflection_type_check_1 = require_reflection_type_check();
+    var reflection_json_reader_1 = require_reflection_json_reader();
+    var reflection_json_writer_1 = require_reflection_json_writer();
+    var reflection_binary_reader_1 = require_reflection_binary_reader();
+    var reflection_binary_writer_1 = require_reflection_binary_writer();
+    var reflection_create_1 = require_reflection_create();
+    var reflection_merge_partial_1 = require_reflection_merge_partial();
+    var json_typings_1 = require_json_typings();
+    var json_format_contract_1 = require_json_format_contract();
+    var reflection_equals_1 = require_reflection_equals();
+    var binary_writer_1 = require_binary_writer();
+    var binary_reader_1 = require_binary_reader();
+    var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({}));
+    var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {};
+    var MessageType = class {
+      constructor(name, fields, options) {
+        this.defaultCheckDepth = 16;
+        this.typeName = name;
+        this.fields = fields.map(reflection_info_1.normalizeFieldInfo);
+        this.options = options !== null && options !== void 0 ? options : {};
+        messageTypeDescriptor.value = this;
+        this.messagePrototype = Object.create(null, baseDescriptors);
+        this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this);
+        this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this);
+        this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this);
+        this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this);
+        this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this);
+      }
+      create(value) {
+        let message = reflection_create_1.reflectionCreate(this);
+        if (value !== void 0) {
+          reflection_merge_partial_1.reflectionMergePartial(this, message, value);
         }
-        return containerSASPermissions;
+        return message;
       }
       /**
-       * Specifies Read access granted.
+       * Clone the message.
+       *
+       * Unknown fields are discarded.
        */
-      read = false;
+      clone(message) {
+        let copy = this.create();
+        reflection_merge_partial_1.reflectionMergePartial(this, copy, message);
+        return copy;
+      }
       /**
-       * Specifies Add access granted.
+       * Determines whether two message of the same type have the same field values.
+       * Checks for deep equality, traversing repeated fields, oneof groups, maps
+       * and messages recursively.
+       * Will also return true if both messages are `undefined`.
        */
-      add = false;
+      equals(a, b) {
+        return reflection_equals_1.reflectionEquals(this, a, b);
+      }
       /**
-       * Specifies Create access granted.
+       * Is the given value assignable to our message type
+       * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
        */
-      create = false;
+      is(arg, depth = this.defaultCheckDepth) {
+        return this.refTypeCheck.is(arg, depth, false);
+      }
       /**
-       * Specifies Write access granted.
+       * Is the given value assignable to our message type,
+       * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
        */
-      write = false;
+      isAssignable(arg, depth = this.defaultCheckDepth) {
+        return this.refTypeCheck.is(arg, depth, true);
+      }
       /**
-       * Specifies Delete access granted.
+       * Copy partial data into the target message.
        */
-      delete = false;
+      mergePartial(target, source) {
+        reflection_merge_partial_1.reflectionMergePartial(this, target, source);
+      }
       /**
-       * Specifies Delete version access granted.
+       * Create a new message from binary format.
        */
-      deleteVersion = false;
+      fromBinary(data, options) {
+        let opt = binary_reader_1.binaryReadOptions(options);
+        return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt);
+      }
       /**
-       * Specifies List access granted.
+       * Read a new message from a JSON value.
        */
-      list = false;
+      fromJson(json2, options) {
+        return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options));
+      }
       /**
-       * Specfies Tag access granted.
+       * Read a new message from a JSON string.
+       * This is equivalent to `T.fromJson(JSON.parse(json))`.
        */
-      tag = false;
+      fromJsonString(json2, options) {
+        let value = JSON.parse(json2);
+        return this.fromJson(value, options);
+      }
       /**
-       * Specifies Move access granted.
+       * Write the message to canonical JSON value.
        */
-      move = false;
+      toJson(message, options) {
+        return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options));
+      }
       /**
-       * Specifies Execute access granted.
+       * Convert the message to canonical JSON string.
+       * This is equivalent to `JSON.stringify(T.toJson(t))`
        */
-      execute = false;
+      toJsonString(message, options) {
+        var _a;
+        let value = this.toJson(message, options);
+        return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);
+      }
       /**
-       * Specifies SetImmutabilityPolicy access granted.
+       * Write the message to binary format.
        */
-      setImmutabilityPolicy = false;
+      toBinary(message, options) {
+        let opt = binary_writer_1.binaryWriteOptions(options);
+        return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish();
+      }
       /**
-       * Specifies that Permanent Delete is permitted.
+       * This is an internal method. If you just want to read a message from
+       * JSON, use `fromJson()` or `fromJsonString()`.
+       *
+       * Reads JSON value and merges the fields into the target
+       * according to protobuf rules. If the target is omitted,
+       * a new instance is created first.
        */
-      permanentDelete = false;
+      internalJsonRead(json2, options, target) {
+        if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) {
+          let message = target !== null && target !== void 0 ? target : this.create();
+          this.refJsonReader.read(json2, message, options);
+          return message;
+        }
+        throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`);
+      }
       /**
-       * Specifies that Filter Blobs by Tags is permitted.
+       * This is an internal method. If you just want to write a message
+       * to JSON, use `toJson()` or `toJsonString().
+       *
+       * Writes JSON value and returns it.
        */
-      filterByTags = false;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.write(message, options);
+      }
       /**
-       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
-       * order accepted by the service.
+       * This is an internal method. If you just want to write a message
+       * in binary format, use `toBinary()`.
        *
-       * The order of the characters should be as specified here to ensure correctness.
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       * Serializes the message in binary format and appends it to the given
+       * writer. Returns passed writer.
+       */
+      internalBinaryWrite(message, writer, options) {
+        this.refBinWriter.write(message, writer, options);
+        return writer;
+      }
+      /**
+       * This is an internal method. If you just want to read a message from
+       * binary data, use `fromBinary()`.
        *
+       * Reads data from binary format and merges the fields into
+       * the target according to protobuf rules. If the target is
+       * omitted, a new instance is created first.
        */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.add) {
-          permissions.push("a");
-        }
-        if (this.create) {
-          permissions.push("c");
-        }
-        if (this.write) {
-          permissions.push("w");
-        }
-        if (this.delete) {
-          permissions.push("d");
-        }
-        if (this.deleteVersion) {
-          permissions.push("x");
-        }
-        if (this.list) {
-          permissions.push("l");
-        }
-        if (this.tag) {
-          permissions.push("t");
-        }
-        if (this.move) {
-          permissions.push("m");
-        }
-        if (this.execute) {
-          permissions.push("e");
-        }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
-        }
-        if (this.permanentDelete) {
-          permissions.push("y");
-        }
-        if (this.filterByTags) {
-          permissions.push("f");
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create();
+        this.refBinReader.read(reader, message, options, length);
+        return message;
+      }
+    };
+    exports2.MessageType = MessageType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js
+var require_reflection_contains_message_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.containsMessageType = void 0;
+    var message_type_contract_1 = require_message_type_contract();
+    function containsMessageType(msg) {
+      return msg[message_type_contract_1.MESSAGE_TYPE] != null;
+    }
+    exports2.containsMessageType = containsMessageType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js
+var require_enum_object = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0;
+    function isEnumObject(arg) {
+      if (typeof arg != "object" || arg === null) {
+        return false;
+      }
+      if (!arg.hasOwnProperty(0)) {
+        return false;
+      }
+      for (let k of Object.keys(arg)) {
+        let num = parseInt(k);
+        if (!Number.isNaN(num)) {
+          let nam = arg[num];
+          if (nam === void 0)
+            return false;
+          if (arg[nam] !== num)
+            return false;
+        } else {
+          let num2 = arg[k];
+          if (num2 === void 0)
+            return false;
+          if (typeof num2 !== "number")
+            return false;
+          if (arg[num2] === void 0)
+            return false;
         }
-        return permissions.join("");
+      }
+      return true;
+    }
+    exports2.isEnumObject = isEnumObject;
+    function listEnumValues(enumObject) {
+      if (!isEnumObject(enumObject))
+        throw new Error("not a typescript enum object");
+      let values = [];
+      for (let [name, number] of Object.entries(enumObject))
+        if (typeof number == "number")
+          values.push({ name, number });
+      return values;
+    }
+    exports2.listEnumValues = listEnumValues;
+    function listEnumNames(enumObject) {
+      return listEnumValues(enumObject).map((val) => val.name);
+    }
+    exports2.listEnumNames = listEnumNames;
+    function listEnumNumbers(enumObject) {
+      return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index);
+    }
+    exports2.listEnumNumbers = listEnumNumbers;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/index.js
+var require_commonjs16 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var json_typings_1 = require_json_typings();
+    Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() {
+      return json_typings_1.typeofJsonValue;
+    } });
+    Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() {
+      return json_typings_1.isJsonObject;
+    } });
+    var base64_1 = require_base642();
+    Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() {
+      return base64_1.base64decode;
+    } });
+    Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() {
+      return base64_1.base64encode;
+    } });
+    var protobufjs_utf8_1 = require_protobufjs_utf8();
+    Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() {
+      return protobufjs_utf8_1.utf8read;
+    } });
+    var binary_format_contract_1 = require_binary_format_contract();
+    Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() {
+      return binary_format_contract_1.WireType;
+    } });
+    Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() {
+      return binary_format_contract_1.mergeBinaryOptions;
+    } });
+    Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() {
+      return binary_format_contract_1.UnknownFieldHandler;
+    } });
+    var binary_reader_1 = require_binary_reader();
+    Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() {
+      return binary_reader_1.BinaryReader;
+    } });
+    Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() {
+      return binary_reader_1.binaryReadOptions;
+    } });
+    var binary_writer_1 = require_binary_writer();
+    Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() {
+      return binary_writer_1.BinaryWriter;
+    } });
+    Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() {
+      return binary_writer_1.binaryWriteOptions;
+    } });
+    var pb_long_1 = require_pb_long();
+    Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() {
+      return pb_long_1.PbLong;
+    } });
+    Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() {
+      return pb_long_1.PbULong;
+    } });
+    var json_format_contract_1 = require_json_format_contract();
+    Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.jsonReadOptions;
+    } });
+    Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.jsonWriteOptions;
+    } });
+    Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.mergeJsonOptions;
+    } });
+    var message_type_contract_1 = require_message_type_contract();
+    Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() {
+      return message_type_contract_1.MESSAGE_TYPE;
+    } });
+    var message_type_1 = require_message_type();
+    Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() {
+      return message_type_1.MessageType;
+    } });
+    var reflection_info_1 = require_reflection_info();
+    Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() {
+      return reflection_info_1.ScalarType;
+    } });
+    Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() {
+      return reflection_info_1.LongType;
+    } });
+    Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() {
+      return reflection_info_1.RepeatType;
+    } });
+    Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() {
+      return reflection_info_1.normalizeFieldInfo;
+    } });
+    Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() {
+      return reflection_info_1.readFieldOptions;
+    } });
+    Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() {
+      return reflection_info_1.readFieldOption;
+    } });
+    Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() {
+      return reflection_info_1.readMessageOption;
+    } });
+    var reflection_type_check_1 = require_reflection_type_check();
+    Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() {
+      return reflection_type_check_1.ReflectionTypeCheck;
+    } });
+    var reflection_create_1 = require_reflection_create();
+    Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() {
+      return reflection_create_1.reflectionCreate;
+    } });
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() {
+      return reflection_scalar_default_1.reflectionScalarDefault;
+    } });
+    var reflection_merge_partial_1 = require_reflection_merge_partial();
+    Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() {
+      return reflection_merge_partial_1.reflectionMergePartial;
+    } });
+    var reflection_equals_1 = require_reflection_equals();
+    Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() {
+      return reflection_equals_1.reflectionEquals;
+    } });
+    var reflection_binary_reader_1 = require_reflection_binary_reader();
+    Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() {
+      return reflection_binary_reader_1.ReflectionBinaryReader;
+    } });
+    var reflection_binary_writer_1 = require_reflection_binary_writer();
+    Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() {
+      return reflection_binary_writer_1.ReflectionBinaryWriter;
+    } });
+    var reflection_json_reader_1 = require_reflection_json_reader();
+    Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() {
+      return reflection_json_reader_1.ReflectionJsonReader;
+    } });
+    var reflection_json_writer_1 = require_reflection_json_writer();
+    Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() {
+      return reflection_json_writer_1.ReflectionJsonWriter;
+    } });
+    var reflection_contains_message_type_1 = require_reflection_contains_message_type();
+    Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() {
+      return reflection_contains_message_type_1.containsMessageType;
+    } });
+    var oneof_1 = require_oneof();
+    Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() {
+      return oneof_1.isOneofGroup;
+    } });
+    Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() {
+      return oneof_1.setOneofValue;
+    } });
+    Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() {
+      return oneof_1.getOneofValue;
+    } });
+    Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() {
+      return oneof_1.clearOneofValue;
+    } });
+    Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() {
+      return oneof_1.getSelectedOneofValue;
+    } });
+    var enum_object_1 = require_enum_object();
+    Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() {
+      return enum_object_1.listEnumValues;
+    } });
+    Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() {
+      return enum_object_1.listEnumNames;
+    } });
+    Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() {
+      return enum_object_1.listEnumNumbers;
+    } });
+    Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() {
+      return enum_object_1.isEnumObject;
+    } });
+    var lower_camel_case_1 = require_lower_camel_case();
+    Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() {
+      return lower_camel_case_1.lowerCamelCase;
+    } });
+    var assert_1 = require_assert();
+    Object.defineProperty(exports2, "assert", { enumerable: true, get: function() {
+      return assert_1.assert;
+    } });
+    Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() {
+      return assert_1.assertNever;
+    } });
+    Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() {
+      return assert_1.assertInt32;
+    } });
+    Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() {
+      return assert_1.assertUInt32;
+    } });
+    Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() {
+      return assert_1.assertFloat32;
+    } });
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js
+var require_reflection_info2 = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0;
+    var runtime_1 = require_commonjs16();
+    function normalizeMethodInfo(method, service) {
+      var _a, _b, _c;
+      let m = method;
+      m.service = service;
+      m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name);
+      m.serverStreaming = !!m.serverStreaming;
+      m.clientStreaming = !!m.clientStreaming;
+      m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {};
+      m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0;
+      return m;
+    }
+    exports2.normalizeMethodInfo = normalizeMethodInfo;
+    function readMethodOptions(service, methodName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
+      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    }
+    exports2.readMethodOptions = readMethodOptions;
+    function readMethodOption(service, methodName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readMethodOption = readMethodOption;
+    function readServiceOption(service, extensionName, extensionType) {
+      const options = service.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readServiceOption = readServiceOption;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js
+var require_service_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServiceType = void 0;
+    var reflection_info_1 = require_reflection_info2();
+    var ServiceType = class {
+      constructor(typeName, methods, options) {
+        this.typeName = typeName;
+        this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this));
+        this.options = options !== null && options !== void 0 ? options : {};
       }
     };
-    exports2.ContainerSASPermissions = ContainerSASPermissions;
+    exports2.ServiceType = ServiceType;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js
-var require_UserDelegationKeyCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js
+var require_rpc_error = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UserDelegationKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var UserDelegationKeyCredential = class {
-      /**
-       * Azure Storage account name; readonly.
-       */
-      accountName;
-      /**
-       * Azure Storage user delegation key; readonly.
-       */
-      userDelegationKey;
-      /**
-       * Key value in Buffer type.
-       */
-      key;
-      /**
-       * Creates an instance of UserDelegationKeyCredential.
-       * @param accountName -
-       * @param userDelegationKey -
-       */
-      constructor(accountName, userDelegationKey) {
-        this.accountName = accountName;
-        this.userDelegationKey = userDelegationKey;
-        this.key = Buffer.from(userDelegationKey.value, "base64");
+    exports2.RpcError = void 0;
+    var RpcError = class extends Error {
+      constructor(message, code = "UNKNOWN", meta) {
+        super(message);
+        this.name = "RpcError";
+        Object.setPrototypeOf(this, new.target.prototype);
+        this.code = code;
+        this.meta = meta !== null && meta !== void 0 ? meta : {};
       }
-      /**
-       * Generates a hash signature for an HTTP request or for a SAS.
-       *
-       * @param stringToSign -
-       */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64");
+      toString() {
+        const l = [this.name + ": " + this.message];
+        if (this.code) {
+          l.push("");
+          l.push("Code: " + this.code);
+        }
+        if (this.serviceName && this.methodName) {
+          l.push("Method: " + this.serviceName + "/" + this.methodName);
+        }
+        let m = Object.entries(this.meta);
+        if (m.length) {
+          l.push("");
+          l.push("Meta:");
+          for (let [k, v] of m) {
+            l.push(`  ${k}: ${v}`);
+          }
+        }
+        return l.join("\n");
       }
     };
-    exports2.UserDelegationKeyCredential = UserDelegationKeyCredential;
+    exports2.RpcError = RpcError;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js
-var require_SasIPRange = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js
+var require_rpc_options = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ipRangeToString = ipRangeToString;
-    function ipRangeToString(ipRange) {
-      return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start;
+    exports2.mergeRpcOptions = void 0;
+    var runtime_1 = require_commonjs16();
+    function mergeRpcOptions(defaults, options) {
+      if (!options)
+        return defaults;
+      let o = {};
+      copy(defaults, o);
+      copy(options, o);
+      for (let key of Object.keys(options)) {
+        let val = options[key];
+        switch (key) {
+          case "jsonOptions":
+            o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions);
+            break;
+          case "binaryOptions":
+            o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions);
+            break;
+          case "meta":
+            o.meta = {};
+            copy(defaults.meta, o.meta);
+            copy(options.meta, o.meta);
+            break;
+          case "interceptors":
+            o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat();
+            break;
+        }
+      }
+      return o;
+    }
+    exports2.mergeRpcOptions = mergeRpcOptions;
+    function copy(a, into) {
+      if (!a)
+        return;
+      let c = into;
+      for (let [k, v] of Object.entries(a)) {
+        if (v instanceof Date)
+          c[k] = new Date(v.getTime());
+        else if (Array.isArray(v))
+          c[k] = v.concat();
+        else
+          c[k] = v;
+      }
     }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js
-var require_SASQueryParameters = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js
+var require_deferred = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SASQueryParameters = exports2.SASProtocol = void 0;
-    var SasIPRange_js_1 = require_SasIPRange();
-    var utils_common_js_1 = require_utils_common();
-    var SASProtocol;
-    (function(SASProtocol2) {
-      SASProtocol2["Https"] = "https";
-      SASProtocol2["HttpsAndHttp"] = "https,http";
-    })(SASProtocol || (exports2.SASProtocol = SASProtocol = {}));
-    var SASQueryParameters = class {
-      /**
-       * The storage API version.
-       */
-      version;
-      /**
-       * Optional. The allowed HTTP protocol(s).
-       */
-      protocol;
-      /**
-       * Optional. The start time for this SAS token.
-       */
-      startsOn;
-      /**
-       * Optional only when identifier is provided. The expiry time for this SAS token.
-       */
-      expiresOn;
-      /**
-       * Optional only when identifier is provided.
-       * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
-       * more details.
-       */
-      permissions;
-      /**
-       * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
-       * for more details.
-       */
-      services;
-      /**
-       * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
-       * {@link AccountSASResourceTypes} for more details.
-       */
-      resourceTypes;
-      /**
-       * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
-       */
-      identifier;
-      /**
-       * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
-       */
-      encryptionScope;
-      /**
-       * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
-       */
-      resource;
-      /**
-       * The signature for the SAS token.
-       */
-      signature;
-      /**
-       * Value for cache-control header in Blob/File Service SAS.
-       */
-      cacheControl;
-      /**
-       * Value for content-disposition header in Blob/File Service SAS.
-       */
-      contentDisposition;
-      /**
-       * Value for content-encoding header in Blob/File Service SAS.
-       */
-      contentEncoding;
-      /**
-       * Value for content-length header in Blob/File Service SAS.
-       */
-      contentLanguage;
+    exports2.Deferred = exports2.DeferredState = void 0;
+    var DeferredState;
+    (function(DeferredState2) {
+      DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING";
+      DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED";
+      DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED";
+    })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {}));
+    var Deferred = class {
       /**
-       * Value for content-type header in Blob/File Service SAS.
+       * @param preventUnhandledRejectionWarning - prevents the warning
+       * "Unhandled Promise rejection" by adding a noop rejection handler.
+       * Working with calls returned from the runtime-rpc package in an
+       * async function usually means awaiting one call property after
+       * the other. This means that the "status" is not being awaited when
+       * an earlier await for the "headers" is rejected. This causes the
+       * "unhandled promise reject" warning. A more correct behaviour for
+       * calls might be to become aware whether at least one of the
+       * promises is handled and swallow the rejection warning for the
+       * others.
        */
-      contentType;
+      constructor(preventUnhandledRejectionWarning = true) {
+        this._state = DeferredState.PENDING;
+        this._promise = new Promise((resolve3, reject) => {
+          this._resolve = resolve3;
+          this._reject = reject;
+        });
+        if (preventUnhandledRejectionWarning) {
+          this._promise.catch((_2) => {
+          });
+        }
+      }
       /**
-       * Inner value of getter ipRange.
+       * Get the current state of the promise.
        */
-      ipRangeInner;
+      get state() {
+        return this._state;
+      }
       /**
-       * The Azure Active Directory object ID in GUID format.
-       * Property of user delegation key.
+       * Get the deferred promise.
        */
-      signedOid;
+      get promise() {
+        return this._promise;
+      }
       /**
-       * The Azure Active Directory tenant ID in GUID format.
-       * Property of user delegation key.
+       * Resolve the promise. Throws if the promise is already resolved or rejected.
        */
-      signedTenantId;
+      resolve(value) {
+        if (this.state !== DeferredState.PENDING)
+          throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`);
+        this._resolve(value);
+        this._state = DeferredState.RESOLVED;
+      }
       /**
-       * The date-time the key is active.
-       * Property of user delegation key.
+       * Reject the promise. Throws if the promise is already resolved or rejected.
        */
-      signedStartsOn;
+      reject(reason) {
+        if (this.state !== DeferredState.PENDING)
+          throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`);
+        this._reject(reason);
+        this._state = DeferredState.REJECTED;
+      }
       /**
-       * The date-time the key expires.
-       * Property of user delegation key.
+       * Resolve the promise. Ignore if not pending.
        */
-      signedExpiresOn;
+      resolvePending(val) {
+        if (this._state === DeferredState.PENDING)
+          this.resolve(val);
+      }
       /**
-       * Abbreviation of the Azure Storage service that accepts the user delegation key.
-       * Property of user delegation key.
+       * Reject the promise. Ignore if not pending.
        */
-      signedService;
+      rejectPending(reason) {
+        if (this._state === DeferredState.PENDING)
+          this.reject(reason);
+      }
+    };
+    exports2.Deferred = Deferred;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js
+var require_rpc_output_stream = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RpcOutputStreamController = void 0;
+    var deferred_1 = require_deferred();
+    var runtime_1 = require_commonjs16();
+    var RpcOutputStreamController = class {
+      constructor() {
+        this._lis = {
+          nxt: [],
+          msg: [],
+          err: [],
+          cmp: []
+        };
+        this._closed = false;
+        this._itState = { q: [] };
+      }
+      // --- RpcOutputStream callback API
+      onNext(callback) {
+        return this.addLis(callback, this._lis.nxt);
+      }
+      onMessage(callback) {
+        return this.addLis(callback, this._lis.msg);
+      }
+      onError(callback) {
+        return this.addLis(callback, this._lis.err);
+      }
+      onComplete(callback) {
+        return this.addLis(callback, this._lis.cmp);
+      }
+      addLis(callback, list) {
+        list.push(callback);
+        return () => {
+          let i = list.indexOf(callback);
+          if (i >= 0)
+            list.splice(i, 1);
+        };
+      }
+      // remove all listeners
+      clearLis() {
+        for (let l of Object.values(this._lis))
+          l.splice(0, l.length);
+      }
+      // --- Controller API
       /**
-       * The service version that created the user delegation key.
-       * Property of user delegation key.
+       * Is this stream already closed by a completion or error?
        */
-      signedVersion;
+      get closed() {
+        return this._closed !== false;
+      }
       /**
-       * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
-       * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
-       * has the required permissions before granting access but no additional permission check for the user specified in
-       * this value will be performed. This is only used for User Delegation SAS.
+       * Emit message, close with error, or close successfully, but only one
+       * at a time.
+       * Can be used to wrap a stream by using the other stream's `onNext`.
        */
-      preauthorizedAgentObjectId;
+      notifyNext(message, error3, complete) {
+        runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time");
+        if (message)
+          this.notifyMessage(message);
+        if (error3)
+          this.notifyError(error3);
+        if (complete)
+          this.notifyComplete();
+      }
       /**
-       * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
-       * This is only used for User Delegation SAS.
+       * Emits a new message. Throws if stream is closed.
+       *
+       * Triggers onNext and onMessage callbacks.
        */
-      correlationId;
+      notifyMessage(message) {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this.pushIt({ value: message, done: false });
+        this._lis.msg.forEach((l) => l(message));
+        this._lis.nxt.forEach((l) => l(message, void 0, false));
+      }
       /**
-       * Optional. IP range allowed for this SAS.
+       * Closes the stream with an error. Throws if stream is closed.
        *
-       * @readonly
+       * Triggers onNext and onError callbacks.
        */
-      get ipRange() {
-        if (this.ipRangeInner) {
-          return {
-            end: this.ipRangeInner.end,
-            start: this.ipRangeInner.start
-          };
-        }
-        return void 0;
-      }
-      constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) {
-        this.version = version;
-        this.signature = signature;
-        if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") {
-          this.permissions = permissionsOrOptions.permissions;
-          this.services = permissionsOrOptions.services;
-          this.resourceTypes = permissionsOrOptions.resourceTypes;
-          this.protocol = permissionsOrOptions.protocol;
-          this.startsOn = permissionsOrOptions.startsOn;
-          this.expiresOn = permissionsOrOptions.expiresOn;
-          this.ipRangeInner = permissionsOrOptions.ipRange;
-          this.identifier = permissionsOrOptions.identifier;
-          this.encryptionScope = permissionsOrOptions.encryptionScope;
-          this.resource = permissionsOrOptions.resource;
-          this.cacheControl = permissionsOrOptions.cacheControl;
-          this.contentDisposition = permissionsOrOptions.contentDisposition;
-          this.contentEncoding = permissionsOrOptions.contentEncoding;
-          this.contentLanguage = permissionsOrOptions.contentLanguage;
-          this.contentType = permissionsOrOptions.contentType;
-          if (permissionsOrOptions.userDelegationKey) {
-            this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId;
-            this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId;
-            this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn;
-            this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn;
-            this.signedService = permissionsOrOptions.userDelegationKey.signedService;
-            this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion;
-            this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId;
-            this.correlationId = permissionsOrOptions.correlationId;
-          }
-        } else {
-          this.services = services;
-          this.resourceTypes = resourceTypes;
-          this.expiresOn = expiresOn;
-          this.permissions = permissionsOrOptions;
-          this.protocol = protocol;
-          this.startsOn = startsOn;
-          this.ipRangeInner = ipRange;
-          this.encryptionScope = encryptionScope;
-          this.identifier = identifier;
-          this.resource = resource;
-          this.cacheControl = cacheControl;
-          this.contentDisposition = contentDisposition;
-          this.contentEncoding = contentEncoding;
-          this.contentLanguage = contentLanguage;
-          this.contentType = contentType;
-          if (userDelegationKey) {
-            this.signedOid = userDelegationKey.signedObjectId;
-            this.signedTenantId = userDelegationKey.signedTenantId;
-            this.signedStartsOn = userDelegationKey.signedStartsOn;
-            this.signedExpiresOn = userDelegationKey.signedExpiresOn;
-            this.signedService = userDelegationKey.signedService;
-            this.signedVersion = userDelegationKey.signedVersion;
-            this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;
-            this.correlationId = correlationId;
-          }
-        }
+      notifyError(error3) {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this._closed = error3;
+        this.pushIt(error3);
+        this._lis.err.forEach((l) => l(error3));
+        this._lis.nxt.forEach((l) => l(void 0, error3, false));
+        this.clearLis();
       }
       /**
-       * Encodes all SAS query parameters into a string that can be appended to a URL.
+       * Closes the stream successfully. Throws if stream is closed.
        *
-       */
-      toString() {
-        const params = [
-          "sv",
-          "ss",
-          "srt",
-          "spr",
-          "st",
-          "se",
-          "sip",
-          "si",
-          "ses",
-          "skoid",
-          // Signed object ID
-          "sktid",
-          // Signed tenant ID
-          "skt",
-          // Signed key start time
-          "ske",
-          // Signed key expiry time
-          "sks",
-          // Signed key service
-          "skv",
-          // Signed key version
-          "sr",
-          "sp",
-          "sig",
-          "rscc",
-          "rscd",
-          "rsce",
-          "rscl",
-          "rsct",
-          "saoid",
-          "scid"
-        ];
-        const queries = [];
-        for (const param of params) {
-          switch (param) {
-            case "sv":
-              this.tryAppendQueryParameter(queries, param, this.version);
-              break;
-            case "ss":
-              this.tryAppendQueryParameter(queries, param, this.services);
-              break;
-            case "srt":
-              this.tryAppendQueryParameter(queries, param, this.resourceTypes);
-              break;
-            case "spr":
-              this.tryAppendQueryParameter(queries, param, this.protocol);
-              break;
-            case "st":
-              this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0);
-              break;
-            case "se":
-              this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0);
-              break;
-            case "sip":
-              this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0);
-              break;
-            case "si":
-              this.tryAppendQueryParameter(queries, param, this.identifier);
-              break;
-            case "ses":
-              this.tryAppendQueryParameter(queries, param, this.encryptionScope);
-              break;
-            case "skoid":
-              this.tryAppendQueryParameter(queries, param, this.signedOid);
-              break;
-            case "sktid":
-              this.tryAppendQueryParameter(queries, param, this.signedTenantId);
-              break;
-            case "skt":
-              this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0);
-              break;
-            case "ske":
-              this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0);
-              break;
-            case "sks":
-              this.tryAppendQueryParameter(queries, param, this.signedService);
-              break;
-            case "skv":
-              this.tryAppendQueryParameter(queries, param, this.signedVersion);
-              break;
-            case "sr":
-              this.tryAppendQueryParameter(queries, param, this.resource);
-              break;
-            case "sp":
-              this.tryAppendQueryParameter(queries, param, this.permissions);
-              break;
-            case "sig":
-              this.tryAppendQueryParameter(queries, param, this.signature);
-              break;
-            case "rscc":
-              this.tryAppendQueryParameter(queries, param, this.cacheControl);
-              break;
-            case "rscd":
-              this.tryAppendQueryParameter(queries, param, this.contentDisposition);
-              break;
-            case "rsce":
-              this.tryAppendQueryParameter(queries, param, this.contentEncoding);
-              break;
-            case "rscl":
-              this.tryAppendQueryParameter(queries, param, this.contentLanguage);
-              break;
-            case "rsct":
-              this.tryAppendQueryParameter(queries, param, this.contentType);
-              break;
-            case "saoid":
-              this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
-              break;
-            case "scid":
-              this.tryAppendQueryParameter(queries, param, this.correlationId);
-              break;
-          }
-        }
-        return queries.join("&");
+       * Triggers onNext and onComplete callbacks.
+       */
+      notifyComplete() {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this._closed = true;
+        this.pushIt({ value: null, done: true });
+        this._lis.cmp.forEach((l) => l());
+        this._lis.nxt.forEach((l) => l(void 0, void 0, true));
+        this.clearLis();
       }
       /**
-       * A private helper method used to filter and append query key/value pairs into an array.
+       * Creates an async iterator (that can be used with `for await {...}`)
+       * to consume the stream.
        *
-       * @param queries -
-       * @param key -
-       * @param value -
+       * Some things to note:
+       * - If an error occurs, the `for await` will throw it.
+       * - If an error occurred before the `for await` was started, `for await`
+       *   will re-throw it.
+       * - If the stream is already complete, the `for await` will be empty.
+       * - If your `for await` consumes slower than the stream produces,
+       *   for example because you are relaying messages in a slow operation,
+       *   messages are queued.
        */
-      tryAppendQueryParameter(queries, key, value) {
-        if (!value) {
-          return;
-        }
-        key = encodeURIComponent(key);
-        value = encodeURIComponent(value);
-        if (key.length > 0 && value.length > 0) {
-          queries.push(`${key}=${value}`);
+      [Symbol.asyncIterator]() {
+        if (this._closed === true)
+          this.pushIt({ value: null, done: true });
+        else if (this._closed !== false)
+          this.pushIt(this._closed);
+        return {
+          next: () => {
+            let state = this._itState;
+            runtime_1.assert(state, "bad state");
+            runtime_1.assert(!state.p, "iterator contract broken");
+            let first = state.q.shift();
+            if (first)
+              return "value" in first ? Promise.resolve(first) : Promise.reject(first);
+            state.p = new deferred_1.Deferred();
+            return state.p.promise;
+          }
+        };
+      }
+      // "push" a new iterator result.
+      // this either resolves a pending promise, or enqueues the result.
+      pushIt(result) {
+        let state = this._itState;
+        if (state.p) {
+          const p = state.p;
+          runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken");
+          "value" in result ? p.resolve(result) : p.reject(result);
+          delete state.p;
+        } else {
+          state.q.push(result);
         }
       }
     };
-    exports2.SASQueryParameters = SASQueryParameters;
+    exports2.RpcOutputStreamController = RpcOutputStreamController;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js
-var require_BlobSASSignatureValues = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js
+var require_unary_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) {
     "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters;
-    exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal;
-    var BlobSASPermissions_js_1 = require_BlobSASPermissions();
-    var ContainerSASPermissions_js_1 = require_ContainerSASPermissions();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential();
-    var SasIPRange_js_1 = require_SasIPRange();
-    var SASQueryParameters_js_1 = require_SASQueryParameters();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
-      return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters;
-    }
-    function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
-      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0;
-      let userDelegationKeyCredential;
-      if (sharedKeyCredential === void 0 && accountName !== void 0) {
-        userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
+    exports2.UnaryCall = void 0;
+    var UnaryCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.request = request2;
+        this.headers = headers;
+        this.response = response;
+        this.status = status;
+        this.trailers = trailers;
       }
-      if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) {
-        throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
+      /**
+       * If you are only interested in the final outcome of this call,
+       * you can await it to receive a `FinishedUnaryCall`.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
       }
-      if (version >= "2020-12-06") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          if (version >= "2025-07-05") {
-            return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential);
-          } else {
-            return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            request: this.request,
+            headers,
+            response,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.UnaryCall = UnaryCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js
+var require_server_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
           }
         }
-      }
-      if (version >= "2018-11-09") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          if (version >= "2020-02-10") {
-            return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
-          } else {
-            return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
           }
         }
-      }
-      if (version >= "2015-04-05") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServerStreamingCall = void 0;
+    var ServerStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.request = request2;
+        this.headers = headers;
+        this.responses = response;
+        this.status = status;
+        this.trailers = trailers;
       }
-      throw new RangeError("'version' must be >= '2015-04-05'.");
-    }
-    function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * You should first setup some listeners to the `request` to
+       * see the actual messages the server replied with.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
       }
-      let resource = "c";
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            request: this.request,
+            headers,
+            status,
+            trailers
+          };
+        });
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+    };
+    exports2.ServerStreamingCall = ServerStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js
+var require_client_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ClientStreamingCall = void 0;
+    var ClientStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.requests = request2;
+        this.headers = headers;
+        this.response = response;
+        this.status = status;
+        this.trailers = trailers;
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * Note that it may still be valid to send more request messages.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            headers,
+            response,
+            status,
+            trailers
+          };
+        });
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+    };
+    exports2.ClientStreamingCall = ClientStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js
+var require_duplex_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DuplexStreamingCall = void 0;
+    var DuplexStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.requests = request2;
+        this.headers = headers;
+        this.responses = response;
+        this.status = status;
+        this.trailers = trailers;
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * Note that it may still be valid to send more request messages.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            headers,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.DuplexStreamingCall = DuplexStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js
+var require_test_transport = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.TestTransport = void 0;
+    var rpc_error_1 = require_rpc_error();
+    var runtime_1 = require_commonjs16();
+    var rpc_output_stream_1 = require_rpc_output_stream();
+    var rpc_options_1 = require_rpc_options();
+    var unary_call_1 = require_unary_call();
+    var server_streaming_call_1 = require_server_streaming_call();
+    var client_streaming_call_1 = require_client_streaming_call();
+    var duplex_streaming_call_1 = require_duplex_streaming_call();
+    var TestTransport = class _TestTransport {
+      /**
+       * Initialize with mock data. Omitted fields have default value.
+       */
+      constructor(data) {
+        this.suppressUncaughtRejections = true;
+        this.headerDelay = 10;
+        this.responseDelay = 50;
+        this.betweenResponseDelay = 10;
+        this.afterResponseDelay = 10;
+        this.data = data !== null && data !== void 0 ? data : {};
+      }
+      /**
+       * Sent message(s) during the last operation.
+       */
+      get sentMessages() {
+        if (this.lastInput instanceof TestInputStream) {
+          return this.lastInput.sent;
+        } else if (typeof this.lastInput == "object") {
+          return [this.lastInput.single];
         }
+        return [];
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      /**
+       * Sending message(s) completed?
+       */
+      get sendComplete() {
+        if (this.lastInput instanceof TestInputStream) {
+          return this.lastInput.completed;
+        } else if (typeof this.lastInput == "object") {
+          return true;
         }
+        return false;
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      // Creates a promise for response headers from the mock data.
+      promiseHeaders() {
+        var _a;
+        const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders;
+        return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers);
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+      // Creates a promise for a single, valid, message from the mock data.
+      promiseSingleResponse(method) {
+        if (this.data.response instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.response);
         }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        let r;
+        if (Array.isArray(this.data.response)) {
+          runtime_1.assert(this.data.response.length > 0);
+          r = this.data.response[0];
+        } else if (this.data.response !== void 0) {
+          r = this.data.response;
         } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+          r = method.O.create();
         }
+        runtime_1.assert(method.O.is(r));
+        return Promise.resolve(r);
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      /**
+       * Pushes response messages from the mock data to the output stream.
+       * If an error response, status or trailers are mocked, the stream is
+       * closed with the respective error.
+       * Otherwise, stream is completed successfully.
+       *
+       * The returned promise resolves when the stream is closed. It should
+       * not reject. If it does, code is broken.
+       */
+      streamResponses(method, stream, abort) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const messages = [];
+          if (this.data.response === void 0) {
+            messages.push(method.O.create());
+          } else if (Array.isArray(this.data.response)) {
+            for (let msg of this.data.response) {
+              runtime_1.assert(method.O.is(msg));
+              messages.push(msg);
+            }
+          } else if (!(this.data.response instanceof rpc_error_1.RpcError)) {
+            runtime_1.assert(method.O.is(this.data.response));
+            messages.push(this.data.response);
+          }
+          try {
+            yield delay(this.responseDelay, abort)(void 0);
+          } catch (error3) {
+            stream.notifyError(error3);
+            return;
+          }
+          if (this.data.response instanceof rpc_error_1.RpcError) {
+            stream.notifyError(this.data.response);
+            return;
+          }
+          for (let msg of messages) {
+            stream.notifyMessage(msg);
+            try {
+              yield delay(this.betweenResponseDelay, abort)(void 0);
+            } catch (error3) {
+              stream.notifyError(error3);
+              return;
+            }
+          }
+          if (this.data.status instanceof rpc_error_1.RpcError) {
+            stream.notifyError(this.data.status);
+            return;
+          }
+          if (this.data.trailers instanceof rpc_error_1.RpcError) {
+            stream.notifyError(this.data.trailers);
+            return;
+          }
+          stream.notifyComplete();
+        });
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+      // Creates a promise for response status from the mock data.
+      promiseStatus() {
+        var _a;
+        const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus;
+        return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status);
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      // Creates a promise for response trailers from the mock data.
+      promiseTrailers() {
+        var _a;
+        const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers;
+        return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers);
+      }
+      maybeSuppressUncaught(...promise) {
+        if (this.suppressUncaughtRejections) {
+          for (let p of promise) {
+            p.catch(() => {
+            });
+          }
         }
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      mergeOptions(options) {
+        return rpc_options_1.mergeRpcOptions({}, options);
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+      unary(method, input, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
+        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = { single: input };
+        return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise);
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        }
+      serverStreaming(method, input, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
+        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = { single: input };
+        return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise);
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
-    }
-    function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      clientStreaming(method, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
+        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = new TestInputStream(this.data, options.abort);
+        return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise);
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+      duplex(method, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
+        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = new TestInputStream(this.data, options.abort);
+        return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise);
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+    };
+    exports2.TestTransport = TestTransport;
+    TestTransport.defaultHeaders = {
+      responseHeader: "test"
+    };
+    TestTransport.defaultStatus = {
+      code: "OK",
+      detail: "all good"
+    };
+    TestTransport.defaultTrailers = {
+      responseTrailer: "test"
+    };
+    function delay(ms, abort) {
+      return (v) => new Promise((resolve3, reject) => {
+        if (abort === null || abort === void 0 ? void 0 : abort.aborted) {
+          reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
         } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+          const id = setTimeout(() => resolve3(v), ms);
+          if (abort) {
+            abort.addEventListener("abort", (ev) => {
+              clearTimeout(id);
+              reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
+            });
+          }
         }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        void 0,
-        // SignedKeyDelegatedUserTenantId, will be added in a future release.
-        void 0,
-        // SignedDelegatedUserObjectId, will be added in future release.
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
-    }
-    function getCanonicalName(accountName, containerName, blobName) {
-      const elements = [`/blob/${accountName}/${containerName}`];
-      if (blobName) {
-        elements.push(`/${blobName}`);
-      }
-      return elements.join("");
+      });
     }
-    function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
-      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
-        throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
-      }
-      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) {
-        throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
-      }
-      if (blobSASSignatureValues.versionId && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
-      }
-      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) {
-        throw RangeError("Must provide 'blobName' when providing 'versionId'.");
+    var TestInputStream = class {
+      constructor(data, abort) {
+        this._completed = false;
+        this._sent = [];
+        this.data = data;
+        this.abort = abort;
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
-        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+      get sent() {
+        return this._sent;
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
+      get completed() {
+        return this._completed;
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
+      send(message) {
+        if (this.data.inputMessage instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.inputMessage);
+        }
+        const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage;
+        return Promise.resolve(void 0).then(() => {
+          this._sent.push(message);
+        }).then(delay(delayMs, this.abort));
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
+      complete() {
+        if (this.data.inputComplete instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.inputComplete);
+        }
+        const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete;
+        return Promise.resolve(void 0).then(() => {
+          this._completed = true;
+        }).then(delay(delayMs, this.abort));
       }
-      if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
-        throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
+    };
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js
+var require_rpc_interceptor = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0;
+    var runtime_1 = require_commonjs16();
+    function stackIntercept(kind, transport, method, options, input) {
+      var _a, _b, _c, _d;
+      if (kind == "unary") {
+        let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt);
+        for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) {
+          const next = tail;
+          tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt);
+        }
+        return tail(method, input, options);
       }
-      if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) {
-        throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
+      if (kind == "serverStreaming") {
+        let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt);
+        for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) {
+          const next = tail;
+          tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt);
+        }
+        return tail(method, input, options);
       }
-      if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
-        throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
+      if (kind == "clientStreaming") {
+        let tail = (mtd, opt) => transport.clientStreaming(mtd, opt);
+        for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) {
+          const next = tail;
+          tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt);
+        }
+        return tail(method, options);
       }
-      if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
-        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      if (kind == "duplex") {
+        let tail = (mtd, opt) => transport.duplex(mtd, opt);
+        for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) {
+          const next = tail;
+          tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt);
+        }
+        return tail(method, options);
       }
-      blobSASSignatureValues.version = version;
-      return blobSASSignatureValues;
+      runtime_1.assertNever(kind);
+    }
+    exports2.stackIntercept = stackIntercept;
+    function stackUnaryInterceptors(transport, method, input, options) {
+      return stackIntercept("unary", transport, method, options, input);
+    }
+    exports2.stackUnaryInterceptors = stackUnaryInterceptors;
+    function stackServerStreamingInterceptors(transport, method, input, options) {
+      return stackIntercept("serverStreaming", transport, method, options, input);
+    }
+    exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors;
+    function stackClientStreamingInterceptors(transport, method, options) {
+      return stackIntercept("clientStreaming", transport, method, options);
+    }
+    exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors;
+    function stackDuplexStreamingInterceptors(transport, method, options) {
+      return stackIntercept("duplex", transport, method, options);
     }
+    exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js
-var require_BlobLeaseClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js
+var require_server_call_context = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobLeaseClient = void 0;
-    var core_util_1 = require_commonjs4();
-    var constants_js_1 = require_constants15();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var BlobLeaseClient = class {
-      _leaseId;
-      _url;
-      _containerOrBlobOperation;
-      _isContainer;
-      /**
-       * Gets the lease Id.
-       *
-       * @readonly
-       */
-      get leaseId() {
-        return this._leaseId;
-      }
-      /**
-       * Gets the url.
-       *
-       * @readonly
-       */
-      get url() {
-        return this._url;
-      }
-      /**
-       * Creates an instance of BlobLeaseClient.
-       * @param client - The client to make the lease operation requests.
-       * @param leaseId - Initial proposed lease id.
-       */
-      constructor(client, leaseId) {
-        const clientContext = client.storageClientContext;
-        this._url = client.url;
-        if (client.name === void 0) {
-          this._isContainer = true;
-          this._containerOrBlobOperation = clientContext.container;
-        } else {
-          this._isContainer = false;
-          this._containerOrBlobOperation = clientContext.blob;
-        }
-        if (!leaseId) {
-          leaseId = (0, core_util_1.randomUUID)();
-        }
-        this._leaseId = leaseId;
+    exports2.ServerCallContextController = void 0;
+    var ServerCallContextController = class {
+      constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) {
+        this._cancelled = false;
+        this._listeners = [];
+        this.method = method;
+        this.headers = headers;
+        this.deadline = deadline;
+        this.trailers = {};
+        this._sendRH = sendResponseHeadersFn;
+        this.status = defaultStatus;
       }
       /**
-       * Establishes and manages a lock on a container for delete operations, or on a blob
-       * for write and delete operations.
-       * The lock duration can be 15 to 60 seconds, or can be infinite.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       * Set the call cancelled.
        *
-       * @param duration - Must be between 15 to 60 seconds, or infinite (-1)
-       * @param options - option to configure lease management operations.
-       * @returns Response data for acquire lease operation.
+       * Invokes all callbacks registered with onCancel() and
+       * sets `cancelled = true`.
        */
-      async acquireLease(duration, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+      notifyCancelled() {
+        if (!this._cancelled) {
+          this._cancelled = true;
+          for (let l of this._listeners) {
+            l();
+          }
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({
-            abortSignal: options.abortSignal,
-            duration,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            proposedLeaseId: this._leaseId,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
       }
       /**
-       * To change the ID of the lease.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param proposedLeaseId - the proposed new lease Id.
-       * @param options - option to configure lease management operations.
-       * @returns Response data for change lease operation.
+       * Send response headers.
        */
-      async changeLease(proposedLeaseId, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          this._leaseId = proposedLeaseId;
-          return response;
-        });
+      sendResponseHeaders(data) {
+        this._sendRH(data);
       }
       /**
-       * To free the lease if it is no longer needed so that another client may
-       * immediately acquire a lease against the container or the blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       * Is the call cancelled?
        *
-       * @param options - option to configure lease management operations.
-       * @returns Response data for release lease operation.
-       */
-      async releaseLease(options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * To renew the lease.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       * When the client closes the connection before the server
+       * is done, the call is cancelled.
        *
-       * @param options - Optional option to configure lease management operations.
-       * @returns Response data for renew lease operation.
+       * If you want to cancel a request on the server, throw a
+       * RpcError with the CANCELLED status code.
        */
-      async renewLease(options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => {
-          return this._containerOrBlobOperation.renewLease(this._leaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          });
-        });
+      get cancelled() {
+        return this._cancelled;
       }
       /**
-       * To end the lease but ensure that another client cannot acquire a new lease
-       * until the current lease period has expired.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param breakPeriod - Break period
-       * @param options - Optional options to configure lease management operations.
-       * @returns Response data for break lease operation.
+       * Add a callback for cancellation.
        */
-      async breakLease(breakPeriod, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => {
-          const operationOptions = {
-            abortSignal: options.abortSignal,
-            breakPeriod,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          };
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions));
-        });
+      onCancel(callback) {
+        const l = this._listeners;
+        l.push(callback);
+        return () => {
+          let i = l.indexOf(callback);
+          if (i >= 0)
+            l.splice(i, 1);
+        };
       }
     };
-    exports2.BlobLeaseClient = BlobLeaseClient;
+    exports2.ServerCallContextController = ServerCallContextController;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js
-var require_RetriableReadableStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) {
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js
+var require_commonjs17 = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RetriableReadableStream = void 0;
-    var abort_controller_1 = require_commonjs11();
-    var node_stream_1 = require("node:stream");
-    var RetriableReadableStream = class extends node_stream_1.Readable {
-      start;
-      offset;
-      end;
-      getter;
-      source;
-      retries = 0;
-      maxRetryRequests;
-      onProgress;
-      options;
-      /**
-       * Creates an instance of RetriableReadableStream.
-       *
-       * @param source - The current ReadableStream returned from getter
-       * @param getter - A method calling downloading request returning
-       *                                      a new ReadableStream from specified offset
-       * @param offset - Offset position in original data source to read
-       * @param count - How much data in original data source to read
-       * @param options -
-       */
-      constructor(source, getter, offset, count, options = {}) {
-        super({ highWaterMark: options.highWaterMark });
-        this.getter = getter;
-        this.source = source;
-        this.start = offset;
-        this.offset = offset;
-        this.end = offset + count - 1;
-        this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0;
-        this.onProgress = options.onProgress;
-        this.options = options;
-        this.setSourceEventHandlers();
+    var service_type_1 = require_service_type();
+    Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() {
+      return service_type_1.ServiceType;
+    } });
+    var reflection_info_1 = require_reflection_info2();
+    Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() {
+      return reflection_info_1.readMethodOptions;
+    } });
+    Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() {
+      return reflection_info_1.readMethodOption;
+    } });
+    Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() {
+      return reflection_info_1.readServiceOption;
+    } });
+    var rpc_error_1 = require_rpc_error();
+    Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() {
+      return rpc_error_1.RpcError;
+    } });
+    var rpc_options_1 = require_rpc_options();
+    Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() {
+      return rpc_options_1.mergeRpcOptions;
+    } });
+    var rpc_output_stream_1 = require_rpc_output_stream();
+    Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() {
+      return rpc_output_stream_1.RpcOutputStreamController;
+    } });
+    var test_transport_1 = require_test_transport();
+    Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() {
+      return test_transport_1.TestTransport;
+    } });
+    var deferred_1 = require_deferred();
+    Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() {
+      return deferred_1.Deferred;
+    } });
+    Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() {
+      return deferred_1.DeferredState;
+    } });
+    var duplex_streaming_call_1 = require_duplex_streaming_call();
+    Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() {
+      return duplex_streaming_call_1.DuplexStreamingCall;
+    } });
+    var client_streaming_call_1 = require_client_streaming_call();
+    Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() {
+      return client_streaming_call_1.ClientStreamingCall;
+    } });
+    var server_streaming_call_1 = require_server_streaming_call();
+    Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() {
+      return server_streaming_call_1.ServerStreamingCall;
+    } });
+    var unary_call_1 = require_unary_call();
+    Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() {
+      return unary_call_1.UnaryCall;
+    } });
+    var rpc_interceptor_1 = require_rpc_interceptor();
+    Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackIntercept;
+    } });
+    Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackDuplexStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackClientStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackServerStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackUnaryInterceptors;
+    } });
+    var server_call_context_1 = require_server_call_context();
+    Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() {
+      return server_call_context_1.ServerCallContextController;
+    } });
+  }
+});
+
+// node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js
+var require_cachescope = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.CacheScope = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var CacheScope$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.entities.v1.CacheScope", [
+          {
+            no: 1,
+            name: "scope",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "permission",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      _read() {
-        this.source.resume();
+      create(value) {
+        const message = { scope: "", permission: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      setSourceEventHandlers() {
-        this.source.on("data", this.sourceDataHandler);
-        this.source.on("end", this.sourceErrorOrEndHandler);
-        this.source.on("error", this.sourceErrorOrEndHandler);
-        this.source.on("aborted", this.sourceAbortedHandler);
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string scope */
+            1:
+              message.scope = reader.string();
+              break;
+            case /* int64 permission */
+            2:
+              message.permission = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      removeSourceEventHandlers() {
-        this.source.removeListener("data", this.sourceDataHandler);
-        this.source.removeListener("end", this.sourceErrorOrEndHandler);
-        this.source.removeListener("error", this.sourceErrorOrEndHandler);
-        this.source.removeListener("aborted", this.sourceAbortedHandler);
+      internalBinaryWrite(message, writer, options) {
+        if (message.scope !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.scope);
+        if (message.permission !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.permission);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      sourceDataHandler = (data) => {
-        if (this.options.doInjectErrorOnce) {
-          this.options.doInjectErrorOnce = void 0;
-          this.source.pause();
-          this.sourceErrorOrEndHandler();
-          this.source.destroy();
-          return;
-        }
-        this.offset += data.length;
-        if (this.onProgress) {
-          this.onProgress({ loadedBytes: this.offset - this.start });
-        }
-        if (!this.push(data)) {
-          this.source.pause();
-        }
-      };
-      sourceAbortedHandler = () => {
-        const abortError = new abort_controller_1.AbortError("The operation was aborted.");
-        this.destroy(abortError);
-      };
-      sourceErrorOrEndHandler = (err) => {
-        if (err && err.name === "AbortError") {
-          this.destroy(err);
-          return;
-        }
-        this.removeSourceEventHandlers();
-        if (this.offset - 1 === this.end) {
-          this.push(null);
-        } else if (this.offset <= this.end) {
-          if (this.retries < this.maxRetryRequests) {
-            this.retries += 1;
-            this.getter(this.offset).then((newSource) => {
-              this.source = newSource;
-              this.setSourceEventHandlers();
-              return;
-            }).catch((error3) => {
-              this.destroy(error3);
-            });
-          } else {
-            this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`));
+    };
+    exports2.CacheScope = new CacheScope$Type();
+  }
+});
+
+// node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js
+var require_cachemetadata = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.CacheMetadata = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var cachescope_1 = require_cachescope();
+    var CacheMetadata$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.entities.v1.CacheMetadata", [
+          {
+            no: 1,
+            name: "repository_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 2, name: "scope", kind: "message", repeat: 1, T: () => cachescope_1.CacheScope }
+        ]);
+      }
+      create(value) {
+        const message = { repositoryId: "0", scope: [] };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 repository_id */
+            1:
+              message.repositoryId = reader.int64().toString();
+              break;
+            case /* repeated github.actions.results.entities.v1.CacheScope scope */
+            2:
+              message.scope.push(cachescope_1.CacheScope.internalBinaryRead(reader, reader.uint32(), options));
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
-        } else {
-          this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`));
         }
-      };
-      _destroy(error3, callback) {
-        this.removeSourceEventHandlers();
-        this.source.destroy();
-        callback(error3 === null ? void 0 : error3);
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.repositoryId !== "0")
+          writer.tag(1, runtime_1.WireType.Varint).int64(message.repositoryId);
+        for (let i = 0; i < message.scope.length; i++)
+          cachescope_1.CacheScope.internalBinaryWrite(message.scope[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.RetriableReadableStream = RetriableReadableStream;
+    exports2.CacheMetadata = new CacheMetadata$Type();
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js
-var require_BlobDownloadResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) {
+// node_modules/@actions/cache/lib/generated/results/api/v1/cache.js
+var require_cache4 = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobDownloadResponse = void 0;
-    var core_util_1 = require_commonjs4();
-    var RetriableReadableStream_js_1 = require_RetriableReadableStream();
-    var BlobDownloadResponse = class {
-      /**
-       * Indicates that the service supports
-       * requests for partial file content.
-       *
-       * @readonly
-       */
-      get acceptRanges() {
-        return this.originalResponse.acceptRanges;
-      }
-      /**
-       * Returns if it was previously specified
-       * for the file.
-       *
-       * @readonly
-       */
-      get cacheControl() {
-        return this.originalResponse.cacheControl;
-      }
-      /**
-       * Returns the value that was specified
-       * for the 'x-ms-content-disposition' header and specifies how to process the
-       * response.
-       *
-       * @readonly
-       */
-      get contentDisposition() {
-        return this.originalResponse.contentDisposition;
-      }
-      /**
-       * Returns the value that was specified
-       * for the Content-Encoding request header.
-       *
-       * @readonly
-       */
-      get contentEncoding() {
-        return this.originalResponse.contentEncoding;
-      }
-      /**
-       * Returns the value that was specified
-       * for the Content-Language request header.
-       *
-       * @readonly
-       */
-      get contentLanguage() {
-        return this.originalResponse.contentLanguage;
-      }
-      /**
-       * The current sequence number for a
-       * page blob. This header is not returned for block blobs or append blobs.
-       *
-       * @readonly
-       */
-      get blobSequenceNumber() {
-        return this.originalResponse.blobSequenceNumber;
-      }
-      /**
-       * The blob's type. Possible values include:
-       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
-       *
-       * @readonly
-       */
-      get blobType() {
-        return this.originalResponse.blobType;
+    exports2.CacheService = exports2.GetCacheEntryDownloadURLResponse = exports2.GetCacheEntryDownloadURLRequest = exports2.FinalizeCacheEntryUploadResponse = exports2.FinalizeCacheEntryUploadRequest = exports2.CreateCacheEntryResponse = exports2.CreateCacheEntryRequest = void 0;
+    var runtime_rpc_1 = require_commonjs17();
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var cachemetadata_1 = require_cachemetadata();
+    var CreateCacheEntryRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateCacheEntryRequest", [
+          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
+          {
+            no: 2,
+            name: "key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "version",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * The number of bytes present in the
-       * response body.
-       *
-       * @readonly
-       */
-      get contentLength() {
-        return this.originalResponse.contentLength;
+      create(value) {
+        const message = { key: "", version: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * If the file has an MD5 hash and the
-       * request is to read the full file, this response header is returned so that
-       * the client can check for message content integrity. If the request is to
-       * read a specified range and the 'x-ms-range-get-content-md5' is set to
-       * true, then the request returns an MD5 hash for the range, as long as the
-       * range size is less than or equal to 4 MB. If neither of these sets of
-       * conditions is true, then no value is returned for the 'Content-MD5'
-       * header.
-       *
-       * @readonly
-       */
-      get contentMD5() {
-        return this.originalResponse.contentMD5;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* github.actions.results.entities.v1.CacheMetadata metadata */
+            1:
+              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
+              break;
+            case /* string key */
+            2:
+              message.key = reader.string();
+              break;
+            case /* string version */
+            3:
+              message.version = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Indicates the range of bytes returned if
-       * the client requested a subset of the file by setting the Range request
-       * header.
-       *
-       * @readonly
-       */
-      get contentRange() {
-        return this.originalResponse.contentRange;
+      internalBinaryWrite(message, writer, options) {
+        if (message.metadata)
+          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.key !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
+        if (message.version !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * The content type specified for the file.
-       * The default content type is 'application/octet-stream'
-       *
-       * @readonly
-       */
-      get contentType() {
-        return this.originalResponse.contentType;
+    };
+    exports2.CreateCacheEntryRequest = new CreateCacheEntryRequest$Type();
+    var CreateCacheEntryResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateCacheEntryResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "message",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * Conclusion time of the last attempted
-       * Copy File operation where this file was the destination file. This value
-       * can specify the time of a completed, aborted, or failed copy attempt.
-       *
-       * @readonly
-       */
-      get copyCompletedOn() {
-        return this.originalResponse.copyCompletedOn;
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "", message: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * String identifier for the last attempted Copy
-       * File operation where this file was the destination file.
-       *
-       * @readonly
-       */
-      get copyId() {
-        return this.originalResponse.copyId;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            case /* string message */
+            3:
+              message.message = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Contains the number of bytes copied and
-       * the total bytes in the source in the last attempted Copy File operation
-       * where this file was the destination file. Can show between 0 and
-       * Content-Length bytes copied.
-       *
-       * @readonly
-       */
-      get copyProgress() {
-        return this.originalResponse.copyProgress;
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        if (message.message !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * URL up to 2KB in length that specifies the
-       * source file used in the last attempted Copy File operation where this file
-       * was the destination file.
-       *
-       * @readonly
-       */
-      get copySource() {
-        return this.originalResponse.copySource;
+    };
+    exports2.CreateCacheEntryResponse = new CreateCacheEntryResponse$Type();
+    var FinalizeCacheEntryUploadRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeCacheEntryUploadRequest", [
+          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
+          {
+            no: 2,
+            name: "key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "size_bytes",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 4,
+            name: "version",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * State of the copy operation
-       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
-       * 'success', 'aborted', 'failed'
-       *
-       * @readonly
-       */
-      get copyStatus() {
-        return this.originalResponse.copyStatus;
+      create(value) {
+        const message = { key: "", sizeBytes: "0", version: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Only appears when
-       * x-ms-copy-status is failed or pending. Describes cause of fatal or
-       * non-fatal copy operation failure.
-       *
-       * @readonly
-       */
-      get copyStatusDescription() {
-        return this.originalResponse.copyStatusDescription;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* github.actions.results.entities.v1.CacheMetadata metadata */
+            1:
+              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
+              break;
+            case /* string key */
+            2:
+              message.key = reader.string();
+              break;
+            case /* int64 size_bytes */
+            3:
+              message.sizeBytes = reader.int64().toString();
+              break;
+            case /* string version */
+            4:
+              message.version = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * When a blob is leased,
-       * specifies whether the lease is of infinite or fixed duration. Possible
-       * values include: 'infinite', 'fixed'.
-       *
-       * @readonly
-       */
-      get leaseDuration() {
-        return this.originalResponse.leaseDuration;
+      internalBinaryWrite(message, writer, options) {
+        if (message.metadata)
+          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.key !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
+        if (message.sizeBytes !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.sizeBytes);
+        if (message.version !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Lease state of the blob. Possible
-       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
-       *
-       * @readonly
-       */
-      get leaseState() {
-        return this.originalResponse.leaseState;
+    };
+    exports2.FinalizeCacheEntryUploadRequest = new FinalizeCacheEntryUploadRequest$Type();
+    var FinalizeCacheEntryUploadResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeCacheEntryUploadResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "entry_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 3,
+            name: "message",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * The current lease status of the
-       * blob. Possible values include: 'locked', 'unlocked'.
-       *
-       * @readonly
-       */
-      get leaseStatus() {
-        return this.originalResponse.leaseStatus;
+      create(value) {
+        const message = { ok: false, entryId: "0", message: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * A UTC date/time value generated by the service that
-       * indicates the time at which the response was initiated.
-       *
-       * @readonly
-       */
-      get date() {
-        return this.originalResponse.date;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 entry_id */
+            2:
+              message.entryId = reader.int64().toString();
+              break;
+            case /* string message */
+            3:
+              message.message = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The number of committed blocks
-       * present in the blob. This header is returned only for append blobs.
-       *
-       * @readonly
-       */
-      get blobCommittedBlockCount() {
-        return this.originalResponse.blobCommittedBlockCount;
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.entryId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.entryId);
+        if (message.message !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * The ETag contains a value that you can use to
-       * perform operations conditionally, in quotes.
-       *
-       * @readonly
-       */
-      get etag() {
-        return this.originalResponse.etag;
+    };
+    exports2.FinalizeCacheEntryUploadResponse = new FinalizeCacheEntryUploadResponse$Type();
+    var GetCacheEntryDownloadURLRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetCacheEntryDownloadURLRequest", [
+          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
+          {
+            no: 2,
+            name: "key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "restore_keys",
+            kind: "scalar",
+            repeat: 2,
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 4,
+            name: "version",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * The number of tags associated with the blob
-       *
-       * @readonly
-       */
-      get tagCount() {
-        return this.originalResponse.tagCount;
+      create(value) {
+        const message = { key: "", restoreKeys: [], version: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The error code.
-       *
-       * @readonly
-       */
-      get errorCode() {
-        return this.originalResponse.errorCode;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* github.actions.results.entities.v1.CacheMetadata metadata */
+            1:
+              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
+              break;
+            case /* string key */
+            2:
+              message.key = reader.string();
+              break;
+            case /* repeated string restore_keys */
+            3:
+              message.restoreKeys.push(reader.string());
+              break;
+            case /* string version */
+            4:
+              message.version = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The value of this header is set to
-       * true if the file data and application metadata are completely encrypted
-       * using the specified algorithm. Otherwise, the value is set to false (when
-       * the file is unencrypted, or if only parts of the file/application metadata
-       * are encrypted).
-       *
-       * @readonly
-       */
-      get isServerEncrypted() {
-        return this.originalResponse.isServerEncrypted;
+      internalBinaryWrite(message, writer, options) {
+        if (message.metadata)
+          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.key !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
+        for (let i = 0; i < message.restoreKeys.length; i++)
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.restoreKeys[i]);
+        if (message.version !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * If the blob has a MD5 hash, and if
-       * request contains range header (Range or x-ms-range), this response header
-       * is returned with the value of the whole blob's MD5 value. This value may
-       * or may not be equal to the value returned in Content-MD5 header, with the
-       * latter calculated from the requested range.
-       *
-       * @readonly
-       */
-      get blobContentMD5() {
-        return this.originalResponse.blobContentMD5;
+    };
+    exports2.GetCacheEntryDownloadURLRequest = new GetCacheEntryDownloadURLRequest$Type();
+    var GetCacheEntryDownloadURLResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetCacheEntryDownloadURLResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_download_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "matched_key",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * Returns the date and time the file was last
-       * modified. Any operation that modifies the file or its properties updates
-       * the last modified time.
-       *
-       * @readonly
-       */
-      get lastModified() {
-        return this.originalResponse.lastModified;
+      create(value) {
+        const message = { ok: false, signedDownloadUrl: "", matchedKey: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Returns the UTC date and time generated by the service that indicates the time at which the blob was
-       * last read or written to.
-       *
-       * @readonly
-       */
-      get lastAccessed() {
-        return this.originalResponse.lastAccessed;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_download_url */
+            2:
+              message.signedDownloadUrl = reader.string();
+              break;
+            case /* string matched_key */
+            3:
+              message.matchedKey = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Returns the date and time the blob was created.
-       *
-       * @readonly
-       */
-      get createdOn() {
-        return this.originalResponse.createdOn;
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedDownloadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedDownloadUrl);
+        if (message.matchedKey !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.matchedKey);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * A name-value pair
-       * to associate with a file storage object.
-       *
-       * @readonly
-       */
-      get metadata() {
-        return this.originalResponse.metadata;
+    };
+    exports2.GetCacheEntryDownloadURLResponse = new GetCacheEntryDownloadURLResponse$Type();
+    exports2.CacheService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.CacheService", [
+      { name: "CreateCacheEntry", options: {}, I: exports2.CreateCacheEntryRequest, O: exports2.CreateCacheEntryResponse },
+      { name: "FinalizeCacheEntryUpload", options: {}, I: exports2.FinalizeCacheEntryUploadRequest, O: exports2.FinalizeCacheEntryUploadResponse },
+      { name: "GetCacheEntryDownloadURL", options: {}, I: exports2.GetCacheEntryDownloadURLRequest, O: exports2.GetCacheEntryDownloadURLResponse }
+    ]);
+  }
+});
+
+// node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js
+var require_cache_twirp_client = __commonJS({
+  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0;
+    var cache_1 = require_cache4();
+    var CacheServiceClientJSON = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateCacheEntry.bind(this);
+        this.FinalizeCacheEntryUpload.bind(this);
+        this.GetCacheEntryDownloadURL.bind(this);
       }
-      /**
-       * This header uniquely identifies the request
-       * that was made and can be used for troubleshooting the request.
-       *
-       * @readonly
-       */
-      get requestId() {
-        return this.originalResponse.requestId;
+      CreateCacheEntry(request2) {
+        const data = cache_1.CreateCacheEntryRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/json", data);
+        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
       }
-      /**
-       * If a client request id header is sent in the request, this header will be present in the
-       * response with the same value.
-       *
-       * @readonly
-       */
-      get clientRequestId() {
-        return this.originalResponse.clientRequestId;
+      FinalizeCacheEntryUpload(request2) {
+        const data = cache_1.FinalizeCacheEntryUploadRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/json", data);
+        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
       }
-      /**
-       * Indicates the version of the Blob service used
-       * to execute the request.
-       *
-       * @readonly
-       */
-      get version() {
-        return this.originalResponse.version;
+      GetCacheEntryDownloadURL(request2) {
+        const data = cache_1.GetCacheEntryDownloadURLRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/json", data);
+        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
       }
-      /**
-       * Indicates the versionId of the downloaded blob version.
-       *
-       * @readonly
-       */
-      get versionId() {
-        return this.originalResponse.versionId;
+    };
+    exports2.CacheServiceClientJSON = CacheServiceClientJSON;
+    var CacheServiceClientProtobuf = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateCacheEntry.bind(this);
+        this.FinalizeCacheEntryUpload.bind(this);
+        this.GetCacheEntryDownloadURL.bind(this);
       }
-      /**
-       * Indicates whether version of this blob is a current version.
-       *
-       * @readonly
-       */
-      get isCurrentVersion() {
-        return this.originalResponse.isCurrentVersion;
+      CreateCacheEntry(request2) {
+        const data = cache_1.CreateCacheEntryRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/protobuf", data);
+        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromBinary(data2));
       }
-      /**
-       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
-       * when the blob was encrypted with a customer-provided key.
-       *
-       * @readonly
-       */
-      get encryptionKeySha256() {
-        return this.originalResponse.encryptionKeySha256;
+      FinalizeCacheEntryUpload(request2) {
+        const data = cache_1.FinalizeCacheEntryUploadRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/protobuf", data);
+        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromBinary(data2));
       }
-      /**
-       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
-       * true, then the request returns a crc64 for the range, as long as the range size is less than
-       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
-       * specified in the same request, it will fail with 400(Bad Request)
-       */
-      get contentCrc64() {
-        return this.originalResponse.contentCrc64;
+      GetCacheEntryDownloadURL(request2) {
+        const data = cache_1.GetCacheEntryDownloadURLRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/protobuf", data);
+        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromBinary(data2));
       }
-      /**
-       * Object Replication Policy Id of the destination blob.
-       *
-       * @readonly
-       */
-      get objectReplicationDestinationPolicyId() {
-        return this.originalResponse.objectReplicationDestinationPolicyId;
+    };
+    exports2.CacheServiceClientProtobuf = CacheServiceClientProtobuf;
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/shared/util.js
+var require_util18 = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.maskSigUrl = maskSigUrl;
+    exports2.maskSecretUrls = maskSecretUrls;
+    var core_1 = require_core();
+    function maskSigUrl(url) {
+      if (!url)
+        return;
+      try {
+        const parsedUrl = new URL(url);
+        const signature = parsedUrl.searchParams.get("sig");
+        if (signature) {
+          (0, core_1.setSecret)(signature);
+          (0, core_1.setSecret)(encodeURIComponent(signature));
+        }
+      } catch (error3) {
+        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
-      /**
-       * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob.
-       *
-       * @readonly
-       */
-      get objectReplicationSourceProperties() {
-        return this.originalResponse.objectReplicationSourceProperties;
+    }
+    function maskSecretUrls(body) {
+      if (typeof body !== "object" || body === null) {
+        (0, core_1.debug)("body is not an object or is null");
+        return;
       }
-      /**
-       * If this blob has been sealed.
-       *
-       * @readonly
-       */
-      get isSealed() {
-        return this.originalResponse.isSealed;
+      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
+        maskSigUrl(body.signed_upload_url);
       }
-      /**
-       * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire.
-       *
-       * @readonly
-       */
-      get immutabilityPolicyExpiresOn() {
-        return this.originalResponse.immutabilityPolicyExpiresOn;
+      if ("signed_download_url" in body && typeof body.signed_download_url === "string") {
+        maskSigUrl(body.signed_download_url);
       }
-      /**
-       * Indicates immutability policy mode.
-       *
-       * @readonly
-       */
-      get immutabilityPolicyMode() {
-        return this.originalResponse.immutabilityPolicyMode;
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js
+var require_cacheTwirpClient = __commonJS({
+  "node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-      /**
-       * Indicates if a legal hold is present on the blob.
-       *
-       * @readonly
-       */
-      get legalHold() {
-        return this.originalResponse.legalHold;
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.internalCacheTwirpClient = internalCacheTwirpClient;
+    var core_1 = require_core();
+    var user_agent_1 = require_user_agent();
+    var errors_1 = require_errors3();
+    var config_1 = require_config();
+    var cacheUtils_1 = require_cacheUtils();
+    var auth_1 = require_auth();
+    var http_client_1 = require_lib();
+    var cache_twirp_client_1 = require_cache_twirp_client();
+    var util_1 = require_util18();
+    var CacheServiceClient = class {
+      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
+        this.maxAttempts = 5;
+        this.baseRetryIntervalMilliseconds = 3e3;
+        this.retryMultiplier = 1.5;
+        const token = (0, cacheUtils_1.getRuntimeToken)();
+        this.baseUrl = (0, config_1.getCacheServiceURL)();
+        if (maxAttempts) {
+          this.maxAttempts = maxAttempts;
+        }
+        if (baseRetryIntervalMilliseconds) {
+          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        }
+        if (retryMultiplier) {
+          this.retryMultiplier = retryMultiplier;
+        }
+        this.httpClient = new http_client_1.HttpClient(userAgent2, [
+          new auth_1.BearerCredentialHandler(token)
+        ]);
+      }
+      // This function satisfies the Rpc interface. It is compatible with the JSON
+      // JSON generated client.
+      request(service, method, contentType, data) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
+          (0, core_1.debug)(`[Request] ${method} ${url}`);
+          const headers = {
+            "Content-Type": contentType
+          };
+          try {
+            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
+              return this.httpClient.post(url, JSON.stringify(data), headers);
+            }));
+            return body;
+          } catch (error3) {
+            throw new Error(`Failed to ${method}: ${error3.message}`);
+          }
+        });
       }
-      /**
-       * The response body as a browser Blob.
-       * Always undefined in node.js.
-       *
-       * @readonly
-       */
-      get contentAsBlob() {
-        return this.originalResponse.blobBody;
+      retryableRequest(operation) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let attempt = 0;
+          let errorMessage = "";
+          let rawBody = "";
+          while (attempt < this.maxAttempts) {
+            let isRetryable = false;
+            try {
+              const response = yield operation();
+              const statusCode = response.message.statusCode;
+              rawBody = yield response.readBody();
+              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
+              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
+              const body = JSON.parse(rawBody);
+              (0, util_1.maskSecretUrls)(body);
+              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
+              if (this.isSuccessStatusCode(statusCode)) {
+                return { response, body };
+              }
+              isRetryable = this.isRetryableHttpStatusCode(statusCode);
+              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
+              if (body.msg) {
+                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
+                  throw new errors_1.UsageError();
+                }
+                errorMessage = `${errorMessage}: ${body.msg}`;
+              }
+              if (statusCode === http_client_1.HttpCodes.TooManyRequests) {
+                const retryAfterHeader = response.message.headers["retry-after"];
+                if (retryAfterHeader) {
+                  const parsedSeconds = parseInt(retryAfterHeader, 10);
+                  if (!isNaN(parsedSeconds) && parsedSeconds > 0) {
+                    (0, core_1.warning)(`You've hit a rate limit, your rate limit will reset in ${parsedSeconds} seconds`);
+                  }
+                }
+                throw new errors_1.RateLimitError(`Rate limited: ${errorMessage}`);
+              }
+            } catch (error3) {
+              if (error3 instanceof SyntaxError) {
+                (0, core_1.debug)(`Raw Body: ${rawBody}`);
+              }
+              if (error3 instanceof errors_1.UsageError) {
+                throw error3;
+              }
+              if (error3 instanceof errors_1.RateLimitError) {
+                throw error3;
+              }
+              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+              }
+              isRetryable = true;
+              errorMessage = error3.message;
+            }
+            if (!isRetryable) {
+              throw new Error(`Received non-retryable error: ${errorMessage}`);
+            }
+            if (attempt + 1 === this.maxAttempts) {
+              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
+            }
+            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
+            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
+            yield this.sleep(retryTimeMilliseconds);
+            attempt++;
+          }
+          throw new Error(`Request failed`);
+        });
       }
-      /**
-       * The response body as a node.js Readable stream.
-       * Always undefined in the browser.
-       *
-       * It will automatically retry when internal read stream unexpected ends.
-       *
-       * @readonly
-       */
-      get readableStreamBody() {
-        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      isSuccessStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        return statusCode >= 200 && statusCode < 300;
       }
-      /**
-       * The HTTP response.
-       */
-      get _response() {
-        return this.originalResponse._response;
+      isRetryableHttpStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        const retryableStatusCodes = [
+          http_client_1.HttpCodes.BadGateway,
+          http_client_1.HttpCodes.GatewayTimeout,
+          http_client_1.HttpCodes.InternalServerError,
+          http_client_1.HttpCodes.ServiceUnavailable
+        ];
+        return retryableStatusCodes.includes(statusCode);
       }
-      originalResponse;
-      blobDownloadStream;
-      /**
-       * Creates an instance of BlobDownloadResponse.
-       *
-       * @param originalResponse -
-       * @param getter -
-       * @param offset -
-       * @param count -
-       * @param options -
-       */
-      constructor(originalResponse, getter, offset, count, options = {}) {
-        this.originalResponse = originalResponse;
-        this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options);
+      sleep(milliseconds) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve3) => setTimeout(resolve3, milliseconds));
+        });
+      }
+      getExponentialRetryTimeMilliseconds(attempt) {
+        if (attempt < 0) {
+          throw new Error("attempt should be a positive integer");
+        }
+        if (attempt === 0) {
+          return this.baseRetryIntervalMilliseconds;
+        }
+        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
+        const maxTime = minTime * this.retryMultiplier;
+        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
     };
-    exports2.BlobDownloadResponse = BlobDownloadResponse;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js
-var require_AvroConstants = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0;
-    exports2.AVRO_SYNC_MARKER_SIZE = 16;
-    exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]);
-    exports2.AVRO_CODEC_KEY = "avro.codec";
-    exports2.AVRO_SCHEMA_KEY = "avro.schema";
+    function internalCacheTwirpClient(options) {
+      const client = new CacheServiceClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
+      return new cache_twirp_client_1.CacheServiceClientJSON(client);
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js
-var require_AvroParser = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) {
+// node_modules/@actions/cache/lib/internal/tar.js
+var require_tar = __commonJS({
+  "node_modules/@actions/cache/lib/internal/tar.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroType = exports2.AvroParser = void 0;
-    var AvroParser = class _AvroParser {
-      /**
-       * Reads a fixed number of bytes from the stream.
-       *
-       * @param stream -
-       * @param length -
-       * @param options -
-       */
-      static async readFixedBytes(stream, length, options = {}) {
-        const bytes = await stream.read(length, { abortSignal: options.abortSignal });
-        if (bytes.length !== length) {
-          throw new Error("Hit stream end.");
-        }
-        return bytes;
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      /**
-       * Reads a single byte from the stream.
-       *
-       * @param stream -
-       * @param options -
-       */
-      static async readByte(stream, options = {}) {
-        const buf = await _AvroParser.readFixedBytes(stream, 1, options);
-        return buf[0];
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-      // int and long are stored in variable-length zig-zag coding.
-      // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt
-      // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types
-      static async readZigZagLong(stream, options = {}) {
-        let zigZagEncoded = 0;
-        let significanceInBit = 0;
-        let byte, haveMoreByte, significanceInFloat;
-        do {
-          byte = await _AvroParser.readByte(stream, options);
-          haveMoreByte = byte & 128;
-          zigZagEncoded |= (byte & 127) << significanceInBit;
-          significanceInBit += 7;
-        } while (haveMoreByte && significanceInBit < 28);
-        if (haveMoreByte) {
-          zigZagEncoded = zigZagEncoded;
-          significanceInFloat = 268435456;
-          do {
-            byte = await _AvroParser.readByte(stream, options);
-            zigZagEncoded += (byte & 127) * significanceInFloat;
-            significanceInFloat *= 128;
-          } while (byte & 128);
-          const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2;
-          if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) {
-            throw new Error("Integer overflow.");
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
           }
-          return res;
         }
-        return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1);
-      }
-      static async readLong(stream, options = {}) {
-        return _AvroParser.readZigZagLong(stream, options);
-      }
-      static async readInt(stream, options = {}) {
-        return _AvroParser.readZigZagLong(stream, options);
-      }
-      static async readNull() {
-        return null;
-      }
-      static async readBoolean(stream, options = {}) {
-        const b = await _AvroParser.readByte(stream, options);
-        if (b === 1) {
-          return true;
-        } else if (b === 0) {
-          return false;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.listTar = listTar;
+    exports2.extractTar = extractTar2;
+    exports2.createTar = createTar;
+    var exec_1 = require_exec();
+    var io6 = __importStar2(require_io());
+    var fs_1 = require("fs");
+    var path4 = __importStar2(require("path"));
+    var utils = __importStar2(require_cacheUtils());
+    var constants_1 = require_constants12();
+    var IS_WINDOWS = process.platform === "win32";
+    function getTarPath() {
+      return __awaiter2(this, void 0, void 0, function* () {
+        switch (process.platform) {
+          case "win32": {
+            const gnuTar = yield utils.getGnuTarPathOnWindows();
+            const systemTar = constants_1.SystemTarPathOnWindows;
+            if (gnuTar) {
+              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
+            } else if ((0, fs_1.existsSync)(systemTar)) {
+              return { path: systemTar, type: constants_1.ArchiveToolType.BSD };
+            }
+            break;
+          }
+          case "darwin": {
+            const gnuTar = yield io6.which("gtar", false);
+            if (gnuTar) {
+              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
+            } else {
+              return {
+                path: yield io6.which("tar", true),
+                type: constants_1.ArchiveToolType.BSD
+              };
+            }
+          }
+          default:
+            break;
+        }
+        return {
+          path: yield io6.which("tar", true),
+          type: constants_1.ArchiveToolType.GNU
+        };
+      });
+    }
+    function getTarArgs(tarPath_1, compressionMethod_1, type_1) {
+      return __awaiter2(this, arguments, void 0, function* (tarPath, compressionMethod, type2, archivePath = "") {
+        const args = [`"${tarPath.path}"`];
+        const cacheFileName = utils.getCacheFileName(compressionMethod);
+        const tarFile = "cache.tar";
+        const workingDirectory = getWorkingDirectory();
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        switch (type2) {
+          case "create":
+            args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename);
+            break;
+          case "extract":
+            args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path4.sep}`, "g"), "/"));
+            break;
+          case "list":
+            args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "-P");
+            break;
+        }
+        if (tarPath.type === constants_1.ArchiveToolType.GNU) {
+          switch (process.platform) {
+            case "win32":
+              args.push("--force-local");
+              break;
+            case "darwin":
+              args.push("--delay-directory-restore");
+              break;
+          }
+        }
+        return args;
+      });
+    }
+    function getCommands(compressionMethod_1, type_1) {
+      return __awaiter2(this, arguments, void 0, function* (compressionMethod, type2, archivePath = "") {
+        let args;
+        const tarPath = yield getTarPath();
+        const tarArgs = yield getTarArgs(tarPath, compressionMethod, type2, archivePath);
+        const compressionArgs = type2 !== "create" ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath) : yield getCompressionProgram(tarPath, compressionMethod);
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        if (BSD_TAR_ZSTD && type2 !== "create") {
+          args = [[...compressionArgs].join(" "), [...tarArgs].join(" ")];
         } else {
-          throw new Error("Byte was not a boolean.");
+          args = [[...tarArgs].join(" "), [...compressionArgs].join(" ")];
         }
-      }
-      static async readFloat(stream, options = {}) {
-        const u8arr = await _AvroParser.readFixedBytes(stream, 4, options);
-        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
-        return view.getFloat32(0, true);
-      }
-      static async readDouble(stream, options = {}) {
-        const u8arr = await _AvroParser.readFixedBytes(stream, 8, options);
-        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
-        return view.getFloat64(0, true);
-      }
-      static async readBytes(stream, options = {}) {
-        const size = await _AvroParser.readLong(stream, options);
-        if (size < 0) {
-          throw new Error("Bytes size was negative.");
+        if (BSD_TAR_ZSTD) {
+          return args;
         }
-        return stream.read(size, { abortSignal: options.abortSignal });
-      }
-      static async readString(stream, options = {}) {
-        const u8arr = await _AvroParser.readBytes(stream, options);
-        const utf8decoder = new TextDecoder();
-        return utf8decoder.decode(u8arr);
-      }
-      static async readMapPair(stream, readItemMethod, options = {}) {
-        const key = await _AvroParser.readString(stream, options);
-        const value = await readItemMethod(stream, options);
-        return { key, value };
+        return [args.join(" ")];
+      });
+    }
+    function getWorkingDirectory() {
+      var _a;
+      return (_a = process.env["GITHUB_WORKSPACE"]) !== null && _a !== void 0 ? _a : process.cwd();
+    }
+    function getDecompressionProgram(tarPath, compressionMethod, archivePath) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        switch (compressionMethod) {
+          case constants_1.CompressionMethod.Zstd:
+            return BSD_TAR_ZSTD ? [
+              "zstd -d --long=30 --force -o",
+              constants_1.TarFilename,
+              archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/")
+            ] : [
+              "--use-compress-program",
+              IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30"
+            ];
+          case constants_1.CompressionMethod.ZstdWithoutLong:
+            return BSD_TAR_ZSTD ? [
+              "zstd -d --force -o",
+              constants_1.TarFilename,
+              archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/")
+            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"];
+          default:
+            return ["-z"];
+        }
+      });
+    }
+    function getCompressionProgram(tarPath, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const cacheFileName = utils.getCacheFileName(compressionMethod);
+        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
+        switch (compressionMethod) {
+          case constants_1.CompressionMethod.Zstd:
+            return BSD_TAR_ZSTD ? [
+              "zstd -T0 --long=30 --force -o",
+              cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"),
+              constants_1.TarFilename
+            ] : [
+              "--use-compress-program",
+              IS_WINDOWS ? '"zstd -T0 --long=30"' : "zstdmt --long=30"
+            ];
+          case constants_1.CompressionMethod.ZstdWithoutLong:
+            return BSD_TAR_ZSTD ? [
+              "zstd -T0 --force -o",
+              cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"),
+              constants_1.TarFilename
+            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"];
+          default:
+            return ["-z"];
+        }
+      });
+    }
+    function execCommands(commands, cwd) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        for (const command of commands) {
+          try {
+            yield (0, exec_1.exec)(command, void 0, {
+              cwd,
+              env: Object.assign(Object.assign({}, process.env), { MSYS: "winsymlinks:nativestrict" })
+            });
+          } catch (error3) {
+            throw new Error(`${command.split(" ")[0]} failed with error: ${error3 === null || error3 === void 0 ? void 0 : error3.message}`);
+          }
+        }
+      });
+    }
+    function listTar(archivePath, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const commands = yield getCommands(compressionMethod, "list", archivePath);
+        yield execCommands(commands);
+      });
+    }
+    function extractTar2(archivePath, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const workingDirectory = getWorkingDirectory();
+        yield io6.mkdirP(workingDirectory);
+        const commands = yield getCommands(compressionMethod, "extract", archivePath);
+        yield execCommands(commands);
+      });
+    }
+    function createTar(archiveFolder, sourceDirectories, compressionMethod) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, fs_1.writeFileSync)(path4.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n"));
+        const commands = yield getCommands(compressionMethod, "create");
+        yield execCommands(commands, archiveFolder);
+      });
+    }
+  }
+});
+
+// node_modules/@actions/cache/lib/cache.js
+var require_cache5 = __commonJS({
+  "node_modules/@actions/cache/lib/cache.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      static async readMap(stream, readItemMethod, options = {}) {
-        const readPairMethod = (s, opts = {}) => {
-          return _AvroParser.readMapPair(s, readItemMethod, opts);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
         };
-        const pairs2 = await _AvroParser.readArray(stream, readPairMethod, options);
-        const dict = {};
-        for (const pair of pairs2) {
-          dict[pair.key] = pair.value;
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
         }
-        return dict;
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-      static async readArray(stream, readItemMethod, options = {}) {
-        const items = [];
-        for (let count = await _AvroParser.readLong(stream, options); count !== 0; count = await _AvroParser.readLong(stream, options)) {
-          if (count < 0) {
-            await _AvroParser.readLong(stream, options);
-            count = -count;
-          }
-          while (count--) {
-            const item = await readItemMethod(stream, options);
-            items.push(item);
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
           }
         }
-        return items;
-      }
-    };
-    exports2.AvroParser = AvroParser;
-    var AvroComplex;
-    (function(AvroComplex2) {
-      AvroComplex2["RECORD"] = "record";
-      AvroComplex2["ENUM"] = "enum";
-      AvroComplex2["ARRAY"] = "array";
-      AvroComplex2["MAP"] = "map";
-      AvroComplex2["UNION"] = "union";
-      AvroComplex2["FIXED"] = "fixed";
-    })(AvroComplex || (AvroComplex = {}));
-    var AvroPrimitive;
-    (function(AvroPrimitive2) {
-      AvroPrimitive2["NULL"] = "null";
-      AvroPrimitive2["BOOLEAN"] = "boolean";
-      AvroPrimitive2["INT"] = "int";
-      AvroPrimitive2["LONG"] = "long";
-      AvroPrimitive2["FLOAT"] = "float";
-      AvroPrimitive2["DOUBLE"] = "double";
-      AvroPrimitive2["BYTES"] = "bytes";
-      AvroPrimitive2["STRING"] = "string";
-    })(AvroPrimitive || (AvroPrimitive = {}));
-    var AvroType = class _AvroType {
-      /**
-       * Determines the AvroType from the Avro Schema.
-       */
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      static fromSchema(schema2) {
-        if (typeof schema2 === "string") {
-          return _AvroType.fromStringSchema(schema2);
-        } else if (Array.isArray(schema2)) {
-          return _AvroType.fromArraySchema(schema2);
-        } else {
-          return _AvroType.fromObjectSchema(schema2);
-        }
-      }
-      static fromStringSchema(schema2) {
-        switch (schema2) {
-          case AvroPrimitive.NULL:
-          case AvroPrimitive.BOOLEAN:
-          case AvroPrimitive.INT:
-          case AvroPrimitive.LONG:
-          case AvroPrimitive.FLOAT:
-          case AvroPrimitive.DOUBLE:
-          case AvroPrimitive.BYTES:
-          case AvroPrimitive.STRING:
-            return new AvroPrimitiveType(schema2);
-          default:
-            throw new Error(`Unexpected Avro type ${schema2}`);
-        }
-      }
-      static fromArraySchema(schema2) {
-        return new AvroUnionType(schema2.map(_AvroType.fromSchema));
-      }
-      static fromObjectSchema(schema2) {
-        const type2 = schema2.type;
-        try {
-          return _AvroType.fromStringSchema(type2);
-        } catch {
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        switch (type2) {
-          case AvroComplex.RECORD:
-            if (schema2.aliases) {
-              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
-            }
-            if (!schema2.name) {
-              throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`);
-            }
-            const fields = {};
-            if (!schema2.fields) {
-              throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`);
-            }
-            for (const field of schema2.fields) {
-              fields[field.name] = _AvroType.fromSchema(field.type);
-            }
-            return new AvroRecordType(fields, schema2.name);
-          case AvroComplex.ENUM:
-            if (schema2.aliases) {
-              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
-            }
-            if (!schema2.symbols) {
-              throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`);
-            }
-            return new AvroEnumType(schema2.symbols);
-          case AvroComplex.MAP:
-            if (!schema2.values) {
-              throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`);
-            }
-            return new AvroMapType(_AvroType.fromSchema(schema2.values));
-          case AvroComplex.ARRAY:
-          // Unused today
-          case AvroComplex.FIXED:
-          // Unused today
-          default:
-            throw new Error(`Unexpected Avro type ${type2} in ${schema2}`);
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-      }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    exports2.AvroType = AvroType;
-    var AvroPrimitiveType = class extends AvroType {
-      _primitive;
-      constructor(primitive) {
-        super();
-        this._primitive = primitive;
-      }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      read(stream, options = {}) {
-        switch (this._primitive) {
-          case AvroPrimitive.NULL:
-            return AvroParser.readNull();
-          case AvroPrimitive.BOOLEAN:
-            return AvroParser.readBoolean(stream, options);
-          case AvroPrimitive.INT:
-            return AvroParser.readInt(stream, options);
-          case AvroPrimitive.LONG:
-            return AvroParser.readLong(stream, options);
-          case AvroPrimitive.FLOAT:
-            return AvroParser.readFloat(stream, options);
-          case AvroPrimitive.DOUBLE:
-            return AvroParser.readDouble(stream, options);
-          case AvroPrimitive.BYTES:
-            return AvroParser.readBytes(stream, options);
-          case AvroPrimitive.STRING:
-            return AvroParser.readString(stream, options);
-          default:
-            throw new Error("Unknown Avro Primitive");
-        }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.FinalizeCacheError = exports2.ReserveCacheError = exports2.ValidationError = void 0;
+    exports2.isFeatureAvailable = isFeatureAvailable;
+    exports2.restoreCache = restoreCache4;
+    exports2.saveCache = saveCache4;
+    var core14 = __importStar2(require_core());
+    var path4 = __importStar2(require("path"));
+    var utils = __importStar2(require_cacheUtils());
+    var cacheHttpClient = __importStar2(require_cacheHttpClient());
+    var cacheTwirpClient = __importStar2(require_cacheTwirpClient());
+    var config_1 = require_config();
+    var tar_1 = require_tar();
+    var http_client_1 = require_lib();
+    var ValidationError = class _ValidationError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "ValidationError";
+        Object.setPrototypeOf(this, _ValidationError.prototype);
       }
     };
-    var AvroEnumType = class extends AvroType {
-      _symbols;
-      constructor(symbols) {
-        super();
-        this._symbols = symbols;
-      }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      async read(stream, options = {}) {
-        const value = await AvroParser.readInt(stream, options);
-        return this._symbols[value];
+    exports2.ValidationError = ValidationError;
+    var ReserveCacheError2 = class _ReserveCacheError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "ReserveCacheError";
+        Object.setPrototypeOf(this, _ReserveCacheError.prototype);
       }
     };
-    var AvroUnionType = class extends AvroType {
-      _types;
-      constructor(types) {
-        super();
-        this._types = types;
-      }
-      async read(stream, options = {}) {
-        const typeIndex = await AvroParser.readInt(stream, options);
-        return this._types[typeIndex].read(stream, options);
+    exports2.ReserveCacheError = ReserveCacheError2;
+    var FinalizeCacheError = class _FinalizeCacheError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "FinalizeCacheError";
+        Object.setPrototypeOf(this, _FinalizeCacheError.prototype);
       }
     };
-    var AvroMapType = class extends AvroType {
-      _itemType;
-      constructor(itemType) {
-        super();
-        this._itemType = itemType;
+    exports2.FinalizeCacheError = FinalizeCacheError;
+    function checkPaths(paths) {
+      if (!paths || paths.length === 0) {
+        throw new ValidationError(`Path Validation Error: At least one directory or file path is required`);
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      read(stream, options = {}) {
-        const readItemMethod = (s, opts) => {
-          return this._itemType.read(s, opts);
-        };
-        return AvroParser.readMap(stream, readItemMethod, options);
+    }
+    function checkKey(key) {
+      if (key.length > 512) {
+        throw new ValidationError(`Key Validation Error: ${key} cannot be larger than 512 characters.`);
       }
-    };
-    var AvroRecordType = class extends AvroType {
-      _name;
-      _fields;
-      constructor(fields, name) {
-        super();
-        this._fields = fields;
-        this._name = name;
+      const regex = /^[^,]*$/;
+      if (!regex.test(key)) {
+        throw new ValidationError(`Key Validation Error: ${key} cannot contain commas.`);
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      async read(stream, options = {}) {
-        const record = {};
-        record["$schema"] = this._name;
-        for (const key in this._fields) {
-          if (Object.prototype.hasOwnProperty.call(this._fields, key)) {
-            record[key] = await this._fields[key].read(stream, options);
+    }
+    function isFeatureAvailable() {
+      const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
+      switch (cacheServiceVersion) {
+        case "v2":
+          return !!process.env["ACTIONS_RESULTS_URL"];
+        case "v1":
+        default:
+          return !!process.env["ACTIONS_CACHE_URL"];
+      }
+    }
+    function restoreCache4(paths_1, primaryKey_1, restoreKeys_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
+        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
+        core14.debug(`Cache service version: ${cacheServiceVersion}`);
+        checkPaths(paths);
+        switch (cacheServiceVersion) {
+          case "v2":
+            return yield restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
+          case "v1":
+          default:
+            return yield restoreCacheV1(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
+        }
+      });
+    }
+    function restoreCacheV1(paths_1, primaryKey_1, restoreKeys_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
+        restoreKeys = restoreKeys || [];
+        const keys = [primaryKey, ...restoreKeys];
+        core14.debug("Resolved Keys:");
+        core14.debug(JSON.stringify(keys));
+        if (keys.length > 10) {
+          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
+        }
+        for (const key of keys) {
+          checkKey(key);
+        }
+        const compressionMethod = yield utils.getCompressionMethod();
+        let archivePath = "";
+        try {
+          const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, {
+            compressionMethod,
+            enableCrossOsArchive
+          });
+          if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) {
+            return void 0;
+          }
+          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
+            core14.info("Lookup only - skipping download");
+            return cacheEntry.cacheKey;
+          }
+          archivePath = path4.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
+          core14.debug(`Archive Path: ${archivePath}`);
+          yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options);
+          if (core14.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
+          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
+          core14.info("Cache restored successfully");
+          return cacheEntry.cacheKey;
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core14.error(`Failed to restore: ${error3.message}`);
+            } else {
+              core14.warning(`Failed to restore: ${error3.message}`);
+            }
+          }
+        } finally {
+          try {
+            yield utils.unlinkFile(archivePath);
+          } catch (error3) {
+            core14.debug(`Failed to delete archive: ${error3}`);
           }
         }
-        return record;
-      }
-    };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js
-var require_utils_common3 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.arraysEqual = arraysEqual;
-    function arraysEqual(a, b) {
-      if (a === b)
-        return true;
-      if (a == null || b == null)
-        return false;
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; ++i) {
-        if (a[i] !== b[i])
-          return false;
-      }
-      return true;
+        return void 0;
+      });
     }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js
-var require_AvroReader = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReader = void 0;
-    var AvroConstants_js_1 = require_AvroConstants();
-    var AvroParser_js_1 = require_AvroParser();
-    var utils_common_js_1 = require_utils_common3();
-    var AvroReader = class {
-      _dataStream;
-      _headerStream;
-      _syncMarker;
-      _metadata;
-      _itemType;
-      _itemsRemainingInBlock;
-      // Remembers where we started if partial data stream was provided.
-      _initialBlockOffset;
-      /// The byte offset within the Avro file (both header and data)
-      /// of the start of the current block.
-      _blockOffset;
-      get blockOffset() {
-        return this._blockOffset;
-      }
-      _objectIndex;
-      get objectIndex() {
-        return this._objectIndex;
-      }
-      _initialized;
-      constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) {
-        this._dataStream = dataStream;
-        this._headerStream = headerStream || dataStream;
-        this._initialized = false;
-        this._blockOffset = currentBlockOffset || 0;
-        this._objectIndex = indexWithinCurrentBlock || 0;
-        this._initialBlockOffset = currentBlockOffset || 0;
-      }
-      async initialize(options = {}) {
-        const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, {
-          abortSignal: options.abortSignal
-        });
-        if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) {
-          throw new Error("Stream is not an Avro file.");
+    function restoreCacheV2(paths_1, primaryKey_1, restoreKeys_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
+        options = Object.assign(Object.assign({}, options), { useAzureSdk: true });
+        restoreKeys = restoreKeys || [];
+        const keys = [primaryKey, ...restoreKeys];
+        core14.debug("Resolved Keys:");
+        core14.debug(JSON.stringify(keys));
+        if (keys.length > 10) {
+          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
         }
-        this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, {
-          abortSignal: options.abortSignal
-        });
-        const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY];
-        if (!(codec === void 0 || codec === null || codec === "null")) {
-          throw new Error("Codecs are not supported");
+        for (const key of keys) {
+          checkKey(key);
         }
-        this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
-          abortSignal: options.abortSignal
-        });
-        const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]);
-        this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2);
-        if (this._blockOffset === 0) {
-          this._blockOffset = this._initialBlockOffset + this._dataStream.position;
+        let archivePath = "";
+        try {
+          const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
+          const compressionMethod = yield utils.getCompressionMethod();
+          const request2 = {
+            key: primaryKey,
+            restoreKeys,
+            version: utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive)
+          };
+          const response = yield twirpClient.GetCacheEntryDownloadURL(request2);
+          if (!response.ok) {
+            core14.debug(`Cache not found for version ${request2.version} of keys: ${keys.join(", ")}`);
+            return void 0;
+          }
+          const isRestoreKeyMatch = request2.key !== response.matchedKey;
+          if (isRestoreKeyMatch) {
+            core14.info(`Cache hit for restore-key: ${response.matchedKey}`);
+          } else {
+            core14.info(`Cache hit for: ${response.matchedKey}`);
+          }
+          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
+            core14.info("Lookup only - skipping download");
+            return response.matchedKey;
+          }
+          archivePath = path4.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
+          core14.debug(`Archive path: ${archivePath}`);
+          core14.debug(`Starting download of archive to: ${archivePath}`);
+          yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options);
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
+          if (core14.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
+          core14.info("Cache restored successfully");
+          return response.matchedKey;
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core14.error(`Failed to restore: ${error3.message}`);
+            } else {
+              core14.warning(`Failed to restore: ${error3.message}`);
+            }
+          }
+        } finally {
+          try {
+            if (archivePath) {
+              yield utils.unlinkFile(archivePath);
+            }
+          } catch (error3) {
+            core14.debug(`Failed to delete archive: ${error3}`);
+          }
+        }
+        return void 0;
+      });
+    }
+    function saveCache4(paths_1, key_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
+        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
+        core14.debug(`Cache service version: ${cacheServiceVersion}`);
+        checkPaths(paths);
+        checkKey(key);
+        switch (cacheServiceVersion) {
+          case "v2":
+            return yield saveCacheV2(paths, key, options, enableCrossOsArchive);
+          case "v1":
+          default:
+            return yield saveCacheV1(paths, key, options, enableCrossOsArchive);
         }
-        this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
-          abortSignal: options.abortSignal
-        });
-        await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
-        this._initialized = true;
-        if (this._objectIndex && this._objectIndex > 0) {
-          for (let i = 0; i < this._objectIndex; i++) {
-            await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal });
-            this._itemsRemainingInBlock--;
+      });
+    }
+    function saveCacheV1(paths_1, key_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
+        var _a, _b, _c, _d, _e;
+        const compressionMethod = yield utils.getCompressionMethod();
+        let cacheId = -1;
+        const cachePaths = yield utils.resolvePaths(paths);
+        core14.debug("Cache Paths:");
+        core14.debug(`${JSON.stringify(cachePaths)}`);
+        if (cachePaths.length === 0) {
+          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
+        }
+        const archiveFolder = yield utils.createTempDirectory();
+        const archivePath = path4.join(archiveFolder, utils.getCacheFileName(compressionMethod));
+        core14.debug(`Archive Path: ${archivePath}`);
+        try {
+          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
+          if (core14.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          const fileSizeLimit = 10 * 1024 * 1024 * 1024;
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core14.debug(`File Size: ${archiveFileSize}`);
+          if (archiveFileSize > fileSizeLimit && !(0, config_1.isGhes)()) {
+            throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`);
+          }
+          core14.debug("Reserving Cache");
+          const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, {
+            compressionMethod,
+            enableCrossOsArchive,
+            cacheSize: archiveFileSize
+          });
+          if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) {
+            cacheId = (_b = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _b === void 0 ? void 0 : _b.cacheId;
+          } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) {
+            throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`);
+          } else {
+            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`);
+          }
+          core14.debug(`Saving Cache (ID: ${cacheId})`);
+          yield cacheHttpClient.saveCache(cacheId, archivePath, "", options);
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else if (typedError.name === ReserveCacheError2.name) {
+            core14.info(`Failed to save: ${typedError.message}`);
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core14.error(`Failed to save: ${typedError.message}`);
+            } else {
+              core14.warning(`Failed to save: ${typedError.message}`);
+            }
+          }
+        } finally {
+          try {
+            yield utils.unlinkFile(archivePath);
+          } catch (error3) {
+            core14.debug(`Failed to delete archive: ${error3}`);
           }
         }
-      }
-      hasNext() {
-        return !this._initialized || this._itemsRemainingInBlock > 0;
-      }
-      async *parseObjects(options = {}) {
-        if (!this._initialized) {
-          await this.initialize(options);
+        return cacheId;
+      });
+    }
+    function saveCacheV2(paths_1, key_1, options_1) {
+      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
+        options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true });
+        const compressionMethod = yield utils.getCompressionMethod();
+        const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
+        let cacheId = -1;
+        const cachePaths = yield utils.resolvePaths(paths);
+        core14.debug("Cache Paths:");
+        core14.debug(`${JSON.stringify(cachePaths)}`);
+        if (cachePaths.length === 0) {
+          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
         }
-        while (this.hasNext()) {
-          const result = await this._itemType.read(this._dataStream, {
-            abortSignal: options.abortSignal
-          });
-          this._itemsRemainingInBlock--;
-          this._objectIndex++;
-          if (this._itemsRemainingInBlock === 0) {
-            const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
-              abortSignal: options.abortSignal
-            });
-            this._blockOffset = this._initialBlockOffset + this._dataStream.position;
-            this._objectIndex = 0;
-            if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) {
-              throw new Error("Stream is not a valid Avro file.");
+        const archiveFolder = yield utils.createTempDirectory();
+        const archivePath = path4.join(archiveFolder, utils.getCacheFileName(compressionMethod));
+        core14.debug(`Archive Path: ${archivePath}`);
+        try {
+          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
+          if (core14.isDebug()) {
+            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+          }
+          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
+          core14.debug(`File Size: ${archiveFileSize}`);
+          options.archiveSizeBytes = archiveFileSize;
+          core14.debug("Reserving Cache");
+          const version = utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive);
+          const request2 = {
+            key,
+            version
+          };
+          let signedUploadUrl;
+          try {
+            const response = yield twirpClient.CreateCacheEntry(request2);
+            if (!response.ok) {
+              if (response.message) {
+                core14.warning(`Cache reservation failed: ${response.message}`);
+              }
+              throw new Error(response.message || "Response was not ok");
             }
-            try {
-              this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
-                abortSignal: options.abortSignal
-              });
-            } catch {
-              this._itemsRemainingInBlock = 0;
+            signedUploadUrl = response.signedUploadUrl;
+          } catch (error3) {
+            core14.debug(`Failed to reserve cache: ${error3}`);
+            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache.`);
+          }
+          core14.debug(`Attempting to upload cache located at: ${archivePath}`);
+          yield cacheHttpClient.saveCache(cacheId, archivePath, signedUploadUrl, options);
+          const finalizeRequest = {
+            key,
+            version,
+            sizeBytes: `${archiveFileSize}`
+          };
+          const finalizeResponse = yield twirpClient.FinalizeCacheEntryUpload(finalizeRequest);
+          core14.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`);
+          if (!finalizeResponse.ok) {
+            if (finalizeResponse.message) {
+              throw new FinalizeCacheError(finalizeResponse.message);
             }
-            if (this._itemsRemainingInBlock > 0) {
-              await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
+            throw new Error(`Unable to finalize cache with key ${key}, another job may be finalizing this cache.`);
+          }
+          cacheId = parseInt(finalizeResponse.entryId);
+        } catch (error3) {
+          const typedError = error3;
+          if (typedError.name === ValidationError.name) {
+            throw error3;
+          } else if (typedError.name === ReserveCacheError2.name) {
+            core14.info(`Failed to save: ${typedError.message}`);
+          } else if (typedError.name === FinalizeCacheError.name) {
+            core14.warning(typedError.message);
+          } else {
+            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
+              core14.error(`Failed to save: ${typedError.message}`);
+            } else {
+              core14.warning(`Failed to save: ${typedError.message}`);
             }
           }
-          yield result;
+        } finally {
+          try {
+            yield utils.unlinkFile(archivePath);
+          } catch (error3) {
+            core14.debug(`Failed to delete archive: ${error3}`);
+          }
         }
-      }
-    };
-    exports2.AvroReader = AvroReader;
+        return cacheId;
+      });
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js
-var require_AvroReadable = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/shared/config.js
+var require_config2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadable = void 0;
-    var AvroReadable = class {
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
     };
-    exports2.AvroReadable = AvroReadable;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js
-var require_AvroReadableFromStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) {
-    "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadableFromStream = void 0;
-    var AvroReadable_js_1 = require_AvroReadable();
-    var abort_controller_1 = require_commonjs11();
-    var buffer_1 = require("buffer");
-    var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted.");
-    var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable {
-      _position;
-      _readable;
-      toUint8Array(data) {
-        if (typeof data === "string") {
-          return buffer_1.Buffer.from(data);
-        }
-        return data;
+    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
+    var os_1 = __importDefault2(require("os"));
+    var core_1 = require_core();
+    function getUploadChunkSize() {
+      return 8 * 1024 * 1024;
+    }
+    exports2.getUploadChunkSize = getUploadChunkSize;
+    function getRuntimeToken() {
+      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
+      if (!token) {
+        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
       }
-      constructor(readable) {
-        super();
-        this._readable = readable;
-        this._position = 0;
+      return token;
+    }
+    exports2.getRuntimeToken = getRuntimeToken;
+    function getResultsServiceUrl() {
+      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
+      if (!resultsUrl) {
+        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
       }
-      get position() {
-        return this._position;
+      return new URL(resultsUrl).origin;
+    }
+    exports2.getResultsServiceUrl = getResultsServiceUrl;
+    function isGhes() {
+      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
+      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
+      const isGitHubHost = hostname === "GITHUB.COM";
+      const isGheHost = hostname.endsWith(".GHE.COM");
+      const isLocalHost = hostname.endsWith(".LOCALHOST");
+      return !isGitHubHost && !isGheHost && !isLocalHost;
+    }
+    exports2.isGhes = isGhes;
+    function getGitHubWorkspaceDir() {
+      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
+      if (!ghWorkspaceDir) {
+        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
       }
-      async read(size, options = {}) {
-        if (options.abortSignal?.aborted) {
-          throw ABORT_ERROR;
-        }
-        if (size < 0) {
-          throw new Error(`size parameter should be positive: ${size}`);
-        }
-        if (size === 0) {
-          return new Uint8Array();
-        }
-        if (!this._readable.readable) {
-          throw new Error("Stream no longer readable.");
+      return ghWorkspaceDir;
+    }
+    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
+    function getConcurrency() {
+      const numCPUs = os_1.default.cpus().length;
+      let concurrencyCap = 32;
+      if (numCPUs > 4) {
+        const concurrency = 16 * numCPUs;
+        concurrencyCap = concurrency > 300 ? 300 : concurrency;
+      }
+      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
+      if (concurrencyOverride) {
+        const concurrency = parseInt(concurrencyOverride);
+        if (isNaN(concurrency) || concurrency < 1) {
+          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
         }
-        const chunk = this._readable.read(size);
-        if (chunk) {
-          this._position += chunk.length;
-          return this.toUint8Array(chunk);
-        } else {
-          return new Promise((resolve3, reject) => {
-            const cleanUp = () => {
-              this._readable.removeListener("readable", readableCallback);
-              this._readable.removeListener("error", rejectCallback);
-              this._readable.removeListener("end", rejectCallback);
-              this._readable.removeListener("close", rejectCallback);
-              if (options.abortSignal) {
-                options.abortSignal.removeEventListener("abort", abortHandler);
-              }
-            };
-            const readableCallback = () => {
-              const callbackChunk = this._readable.read(size);
-              if (callbackChunk) {
-                this._position += callbackChunk.length;
-                cleanUp();
-                resolve3(this.toUint8Array(callbackChunk));
-              }
-            };
-            const rejectCallback = () => {
-              cleanUp();
-              reject();
-            };
-            const abortHandler = () => {
-              cleanUp();
-              reject(ABORT_ERROR);
-            };
-            this._readable.on("readable", readableCallback);
-            this._readable.once("error", rejectCallback);
-            this._readable.once("end", rejectCallback);
-            this._readable.once("close", rejectCallback);
-            if (options.abortSignal) {
-              options.abortSignal.addEventListener("abort", abortHandler);
-            }
-          });
+        if (concurrency < concurrencyCap) {
+          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
+          return concurrency;
         }
+        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
+        return concurrencyCap;
       }
-    };
-    exports2.AvroReadableFromStream = AvroReadableFromStream;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js
-var require_internal_avro = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0;
-    var AvroReader_js_1 = require_AvroReader();
-    Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() {
-      return AvroReader_js_1.AvroReader;
-    } });
-    var AvroReadable_js_1 = require_AvroReadable();
-    Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() {
-      return AvroReadable_js_1.AvroReadable;
-    } });
-    var AvroReadableFromStream_js_1 = require_AvroReadableFromStream();
-    Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() {
-      return AvroReadableFromStream_js_1.AvroReadableFromStream;
-    } });
+      return 5;
+    }
+    exports2.getConcurrency = getConcurrency;
+    function getUploadChunkTimeout() {
+      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
+      if (!timeoutVar) {
+        return 3e5;
+      }
+      const timeout = parseInt(timeoutVar);
+      if (isNaN(timeout)) {
+        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
+      }
+      return timeout;
+    }
+    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
+    function getMaxArtifactListCount() {
+      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
+      const maxCount = parseInt(maxCountVar);
+      if (isNaN(maxCount) || maxCount < 1) {
+        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
+      }
+      return maxCount;
+    }
+    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js
-var require_BlobQuickQueryStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
+var require_timestamp = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobQuickQueryStream = void 0;
-    var node_stream_1 = require("node:stream");
-    var index_js_1 = require_internal_avro();
-    var BlobQuickQueryStream = class extends node_stream_1.Readable {
-      source;
-      avroReader;
-      avroIter;
-      avroPaused = true;
-      onProgress;
-      onError;
-      /**
-       * Creates an instance of BlobQuickQueryStream.
-       *
-       * @param source - The current ReadableStream returned from getter
-       * @param options -
-       */
-      constructor(source, options = {}) {
-        super();
-        this.source = source;
-        this.onProgress = options.onProgress;
-        this.onError = options.onError;
-        this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source));
-        this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal });
-      }
-      _read() {
-        if (this.avroPaused) {
-          this.readInternal().catch((err) => {
-            this.emit("error", err);
-          });
-        }
-      }
-      async readInternal() {
-        this.avroPaused = false;
-        let avroNext;
-        do {
-          avroNext = await this.avroIter.next();
-          if (avroNext.done) {
-            break;
-          }
-          const obj = avroNext.value;
-          const schema2 = obj.$schema;
-          if (typeof schema2 !== "string") {
-            throw Error("Missing schema in avro record.");
-          }
-          switch (schema2) {
-            case "com.microsoft.azure.storage.queryBlobContents.resultData":
-              {
-                const data = obj.data;
-                if (data instanceof Uint8Array === false) {
-                  throw Error("Invalid data in avro result record.");
-                }
-                if (!this.push(Buffer.from(data))) {
-                  this.avroPaused = true;
-                }
-              }
-              break;
-            case "com.microsoft.azure.storage.queryBlobContents.progress":
-              {
-                const bytesScanned = obj.bytesScanned;
-                if (typeof bytesScanned !== "number") {
-                  throw Error("Invalid bytesScanned in avro progress record.");
-                }
-                if (this.onProgress) {
-                  this.onProgress({ loadedBytes: bytesScanned });
-                }
-              }
-              break;
-            case "com.microsoft.azure.storage.queryBlobContents.end":
-              if (this.onProgress) {
-                const totalBytes = obj.totalBytes;
-                if (typeof totalBytes !== "number") {
-                  throw Error("Invalid totalBytes in avro end record.");
-                }
-                this.onProgress({ loadedBytes: totalBytes });
-              }
-              this.push(null);
-              break;
-            case "com.microsoft.azure.storage.queryBlobContents.error":
-              if (this.onError) {
-                const fatal = obj.fatal;
-                if (typeof fatal !== "boolean") {
-                  throw Error("Invalid fatal in avro error record.");
-                }
-                const name = obj.name;
-                if (typeof name !== "string") {
-                  throw Error("Invalid name in avro error record.");
-                }
-                const description = obj.description;
-                if (typeof description !== "string") {
-                  throw Error("Invalid description in avro error record.");
-                }
-                const position = obj.position;
-                if (typeof position !== "number") {
-                  throw Error("Invalid position in avro error record.");
-                }
-                this.onError({
-                  position,
-                  name,
-                  isFatal: fatal,
-                  description
-                });
-              }
-              break;
-            default:
-              throw Error(`Unknown schema ${schema2} in avro progress record.`);
+    exports2.Timestamp = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var runtime_6 = require_commonjs16();
+    var runtime_7 = require_commonjs16();
+    var Timestamp$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Timestamp", [
+          {
+            no: 1,
+            name: "seconds",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 2,
+            name: "nanos",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
           }
-        } while (!avroNext.done && !this.avroPaused);
+        ]);
       }
-    };
-    exports2.BlobQuickQueryStream = BlobQuickQueryStream;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js
-var require_BlobQueryResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobQueryResponse = void 0;
-    var core_util_1 = require_commonjs4();
-    var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream();
-    var BlobQueryResponse = class {
       /**
-       * Indicates that the service supports
-       * requests for partial file content.
-       *
-       * @readonly
+       * Creates a new `Timestamp` for the current time.
        */
-      get acceptRanges() {
-        return this.originalResponse.acceptRanges;
+      now() {
+        const msg = this.create();
+        const ms = Date.now();
+        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
+        msg.nanos = ms % 1e3 * 1e6;
+        return msg;
       }
       /**
-       * Returns if it was previously specified
-       * for the file.
-       *
-       * @readonly
+       * Converts a `Timestamp` to a JavaScript Date.
        */
-      get cacheControl() {
-        return this.originalResponse.cacheControl;
+      toDate(message) {
+        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
       }
       /**
-       * Returns the value that was specified
-       * for the 'x-ms-content-disposition' header and specifies how to process the
-       * response.
-       *
-       * @readonly
+       * Converts a JavaScript Date to a `Timestamp`.
        */
-      get contentDisposition() {
-        return this.originalResponse.contentDisposition;
+      fromDate(date) {
+        const msg = this.create();
+        const ms = date.getTime();
+        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
+        msg.nanos = ms % 1e3 * 1e6;
+        return msg;
       }
       /**
-       * Returns the value that was specified
-       * for the Content-Encoding request header.
-       *
-       * @readonly
+       * In JSON format, the `Timestamp` type is encoded as a string
+       * in the RFC 3339 format.
        */
-      get contentEncoding() {
-        return this.originalResponse.contentEncoding;
+      internalJsonWrite(message, options) {
+        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
+        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
+          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
+        if (message.nanos < 0)
+          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
+        let z = "Z";
+        if (message.nanos > 0) {
+          let nanosStr = (message.nanos + 1e9).toString().substring(1);
+          if (nanosStr.substring(3) === "000000")
+            z = "." + nanosStr.substring(0, 3) + "Z";
+          else if (nanosStr.substring(6) === "000")
+            z = "." + nanosStr.substring(0, 6) + "Z";
+          else
+            z = "." + nanosStr + "Z";
+        }
+        return new Date(ms).toISOString().replace(".000Z", z);
       }
       /**
-       * Returns the value that was specified
-       * for the Content-Language request header.
-       *
-       * @readonly
+       * In JSON format, the `Timestamp` type is encoded as a string
+       * in the RFC 3339 format.
        */
-      get contentLanguage() {
-        return this.originalResponse.contentLanguage;
+      internalJsonRead(json2, options, target) {
+        if (typeof json2 !== "string")
+          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
+        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
+        if (!matches)
+          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
+        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
+        if (Number.isNaN(ms))
+          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
+        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
+          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
+        if (!target)
+          target = this.create();
+        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
+        target.nanos = 0;
+        if (matches[7])
+          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
+        return target;
       }
-      /**
-       * The current sequence number for a
-       * page blob. This header is not returned for block blobs or append blobs.
-       *
-       * @readonly
-       */
-      get blobSequenceNumber() {
-        return this.originalResponse.blobSequenceNumber;
+      create(value) {
+        const message = { seconds: "0", nanos: 0 };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The blob's type. Possible values include:
-       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
-       *
-       * @readonly
-       */
-      get blobType() {
-        return this.originalResponse.blobType;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 seconds */
+            1:
+              message.seconds = reader.int64().toString();
+              break;
+            case /* int32 nanos */
+            2:
+              message.nanos = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The number of bytes present in the
-       * response body.
-       *
-       * @readonly
-       */
-      get contentLength() {
-        return this.originalResponse.contentLength;
+      internalBinaryWrite(message, writer, options) {
+        if (message.seconds !== "0")
+          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
+        if (message.nanos !== 0)
+          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * If the file has an MD5 hash and the
-       * request is to read the full file, this response header is returned so that
-       * the client can check for message content integrity. If the request is to
-       * read a specified range and the 'x-ms-range-get-content-md5' is set to
-       * true, then the request returns an MD5 hash for the range, as long as the
-       * range size is less than or equal to 4 MB. If neither of these sets of
-       * conditions is true, then no value is returned for the 'Content-MD5'
-       * header.
-       *
-       * @readonly
-       */
-      get contentMD5() {
-        return this.originalResponse.contentMD5;
+    };
+    exports2.Timestamp = new Timestamp$Type();
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
+var require_wrappers = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var runtime_6 = require_commonjs16();
+    var runtime_7 = require_commonjs16();
+    var DoubleValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.DoubleValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 1
+            /*ScalarType.DOUBLE*/
+          }
+        ]);
       }
       /**
-       * Indicates the range of bytes returned if
-       * the client requested a subset of the file by setting the Range request
-       * header.
-       *
-       * @readonly
+       * Encode `DoubleValue` to JSON number.
        */
-      get contentRange() {
-        return this.originalResponse.contentRange;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
       }
       /**
-       * The content type specified for the file.
-       * The default content type is 'application/octet-stream'
-       *
-       * @readonly
+       * Decode `DoubleValue` from JSON number.
        */
-      get contentType() {
-        return this.originalResponse.contentType;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
+        return target;
       }
-      /**
-       * Conclusion time of the last attempted
-       * Copy File operation where this file was the destination file. This value
-       * can specify the time of a completed, aborted, or failed copy attempt.
-       *
-       * @readonly
-       */
-      get copyCompletedOn() {
-        return void 0;
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * String identifier for the last attempted Copy
-       * File operation where this file was the destination file.
-       *
-       * @readonly
-       */
-      get copyId() {
-        return this.originalResponse.copyId;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* double value */
+            1:
+              message.value = reader.double();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Contains the number of bytes copied and
-       * the total bytes in the source in the last attempted Copy File operation
-       * where this file was the destination file. Can show between 0 and
-       * Content-Length bytes copied.
-       *
-       * @readonly
-       */
-      get copyProgress() {
-        return this.originalResponse.copyProgress;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.DoubleValue = new DoubleValue$Type();
+    var FloatValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.FloatValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 2
+            /*ScalarType.FLOAT*/
+          }
+        ]);
       }
       /**
-       * URL up to 2KB in length that specifies the
-       * source file used in the last attempted Copy File operation where this file
-       * was the destination file.
-       *
-       * @readonly
+       * Encode `FloatValue` to JSON number.
        */
-      get copySource() {
-        return this.originalResponse.copySource;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
       }
       /**
-       * State of the copy operation
-       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
-       * 'success', 'aborted', 'failed'
-       *
-       * @readonly
+       * Decode `FloatValue` from JSON number.
        */
-      get copyStatus() {
-        return this.originalResponse.copyStatus;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* float value */
+            1:
+              message.value = reader.float();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FloatValue = new FloatValue$Type();
+    var Int64Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Int64Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
       /**
-       * Only appears when
-       * x-ms-copy-status is failed or pending. Describes cause of fatal or
-       * non-fatal copy operation failure.
-       *
-       * @readonly
+       * Encode `Int64Value` to JSON string.
        */
-      get copyStatusDescription() {
-        return this.originalResponse.copyStatusDescription;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
       }
       /**
-       * When a blob is leased,
-       * specifies whether the lease is of infinite or fixed duration. Possible
-       * values include: 'infinite', 'fixed'.
-       *
-       * @readonly
+       * Decode `Int64Value` from JSON string.
        */
-      get leaseDuration() {
-        return this.originalResponse.leaseDuration;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: "0" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 value */
+            1:
+              message.value = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "0")
+          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.Int64Value = new Int64Value$Type();
+    var UInt64Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.UInt64Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 4
+            /*ScalarType.UINT64*/
+          }
+        ]);
       }
       /**
-       * Lease state of the blob. Possible
-       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
-       *
-       * @readonly
+       * Encode `UInt64Value` to JSON string.
        */
-      get leaseState() {
-        return this.originalResponse.leaseState;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
       }
       /**
-       * The current lease status of the
-       * blob. Possible values include: 'locked', 'unlocked'.
-       *
-       * @readonly
+       * Decode `UInt64Value` from JSON string.
        */
-      get leaseStatus() {
-        return this.originalResponse.leaseStatus;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: "0" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* uint64 value */
+            1:
+              message.value = reader.uint64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "0")
+          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.UInt64Value = new UInt64Value$Type();
+    var Int32Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Int32Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
       }
       /**
-       * A UTC date/time value generated by the service that
-       * indicates the time at which the response was initiated.
-       *
-       * @readonly
+       * Encode `Int32Value` to JSON string.
        */
-      get date() {
-        return this.originalResponse.date;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
       }
       /**
-       * The number of committed blocks
-       * present in the blob. This header is returned only for append blobs.
-       *
-       * @readonly
+       * Decode `Int32Value` from JSON string.
        */
-      get blobCommittedBlockCount() {
-        return this.originalResponse.blobCommittedBlockCount;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
+        return target;
       }
-      /**
-       * The ETag contains a value that you can use to
-       * perform operations conditionally, in quotes.
-       *
-       * @readonly
-       */
-      get etag() {
-        return this.originalResponse.etag;
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * The error code.
-       *
-       * @readonly
-       */
-      get errorCode() {
-        return this.originalResponse.errorCode;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int32 value */
+            1:
+              message.value = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * The value of this header is set to
-       * true if the file data and application metadata are completely encrypted
-       * using the specified algorithm. Otherwise, the value is set to false (when
-       * the file is unencrypted, or if only parts of the file/application metadata
-       * are encrypted).
-       *
-       * @readonly
-       */
-      get isServerEncrypted() {
-        return this.originalResponse.isServerEncrypted;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * If the blob has a MD5 hash, and if
-       * request contains range header (Range or x-ms-range), this response header
-       * is returned with the value of the whole blob's MD5 value. This value may
-       * or may not be equal to the value returned in Content-MD5 header, with the
-       * latter calculated from the requested range.
-       *
-       * @readonly
-       */
-      get blobContentMD5() {
-        return this.originalResponse.blobContentMD5;
+    };
+    exports2.Int32Value = new Int32Value$Type();
+    var UInt32Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.UInt32Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 13
+            /*ScalarType.UINT32*/
+          }
+        ]);
       }
       /**
-       * Returns the date and time the file was last
-       * modified. Any operation that modifies the file or its properties updates
-       * the last modified time.
-       *
-       * @readonly
+       * Encode `UInt32Value` to JSON string.
        */
-      get lastModified() {
-        return this.originalResponse.lastModified;
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
       }
       /**
-       * A name-value pair
-       * to associate with a file storage object.
-       *
-       * @readonly
+       * Decode `UInt32Value` from JSON string.
        */
-      get metadata() {
-        return this.originalResponse.metadata;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
+        return target;
       }
-      /**
-       * This header uniquely identifies the request
-       * that was made and can be used for troubleshooting the request.
-       *
-       * @readonly
-       */
-      get requestId() {
-        return this.originalResponse.requestId;
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * If a client request id header is sent in the request, this header will be present in the
-       * response with the same value.
-       *
-       * @readonly
-       */
-      get clientRequestId() {
-        return this.originalResponse.clientRequestId;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* uint32 value */
+            1:
+              message.value = reader.uint32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Indicates the version of the File service used
-       * to execute the request.
-       *
-       * @readonly
-       */
-      get version() {
-        return this.originalResponse.version;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
-       * when the blob was encrypted with a customer-provided key.
-       *
-       * @readonly
-       */
-      get encryptionKeySha256() {
-        return this.originalResponse.encryptionKeySha256;
+    };
+    exports2.UInt32Value = new UInt32Value$Type();
+    var BoolValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.BoolValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          }
+        ]);
       }
       /**
-       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
-       * true, then the request returns a crc64 for the range, as long as the range size is less than
-       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
-       * specified in the same request, it will fail with 400(Bad Request)
+       * Encode `BoolValue` to JSON bool.
        */
-      get contentCrc64() {
-        return this.originalResponse.contentCrc64;
+      internalJsonWrite(message, options) {
+        return message.value;
       }
       /**
-       * The response body as a browser Blob.
-       * Always undefined in node.js.
-       *
-       * @readonly
+       * Decode `BoolValue` from JSON bool.
        */
-      get blobBody() {
-        return void 0;
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
+        return target;
       }
-      /**
-       * The response body as a node.js Readable stream.
-       * Always undefined in the browser.
-       *
-       * It will parse avor data returned by blob query.
-       *
-       * @readonly
-       */
-      get readableStreamBody() {
-        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      create(value) {
+        const message = { value: false };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool value */
+            1:
+              message.value = reader.bool();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== false)
+          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.BoolValue = new BoolValue$Type();
+    var StringValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.StringValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
       /**
-       * The HTTP response.
+       * Encode `StringValue` to JSON string.
        */
-      get _response() {
-        return this.originalResponse._response;
+      internalJsonWrite(message, options) {
+        return message.value;
       }
-      originalResponse;
-      blobDownloadStream;
       /**
-       * Creates an instance of BlobQueryResponse.
-       *
-       * @param originalResponse -
-       * @param options -
+       * Decode `StringValue` from JSON string.
        */
-      constructor(originalResponse, options = {}) {
-        this.originalResponse = originalResponse;
-        this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options);
-      }
-    };
-    exports2.BlobQueryResponse = BlobQueryResponse;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/models.js
-var require_models2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0;
-    exports2.toAccessTier = toAccessTier;
-    exports2.ensureCpkIfSpecified = ensureCpkIfSpecified;
-    exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience;
-    var constants_js_1 = require_constants15();
-    var BlockBlobTier;
-    (function(BlockBlobTier2) {
-      BlockBlobTier2["Hot"] = "Hot";
-      BlockBlobTier2["Cool"] = "Cool";
-      BlockBlobTier2["Cold"] = "Cold";
-      BlockBlobTier2["Archive"] = "Archive";
-    })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {}));
-    var PremiumPageBlobTier;
-    (function(PremiumPageBlobTier2) {
-      PremiumPageBlobTier2["P4"] = "P4";
-      PremiumPageBlobTier2["P6"] = "P6";
-      PremiumPageBlobTier2["P10"] = "P10";
-      PremiumPageBlobTier2["P15"] = "P15";
-      PremiumPageBlobTier2["P20"] = "P20";
-      PremiumPageBlobTier2["P30"] = "P30";
-      PremiumPageBlobTier2["P40"] = "P40";
-      PremiumPageBlobTier2["P50"] = "P50";
-      PremiumPageBlobTier2["P60"] = "P60";
-      PremiumPageBlobTier2["P70"] = "P70";
-      PremiumPageBlobTier2["P80"] = "P80";
-    })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {}));
-    function toAccessTier(tier) {
-      if (tier === void 0) {
-        return void 0;
-      }
-      return tier;
-    }
-    function ensureCpkIfSpecified(cpk, isHttps) {
-      if (cpk && !isHttps) {
-        throw new RangeError("Customer-provided encryption key must be used over HTTPS.");
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
+        return target;
       }
-      if (cpk && !cpk.encryptionAlgorithm) {
-        cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25;
+      create(value) {
+        const message = { value: "" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
       }
-    }
-    var StorageBlobAudience;
-    (function(StorageBlobAudience2) {
-      StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default";
-      StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default";
-    })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {}));
-    function getBlobServiceAccountAudience(storageAccountName) {
-      return `https://${storageAccountName}.blob.core.windows.net/.default`;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js
-var require_PageBlobRangeResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.rangeResponseFromModel = rangeResponseFromModel;
-    function rangeResponseFromModel(response) {
-      const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({
-        offset: x.start,
-        count: x.end - x.start
-      }));
-      const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({
-        offset: x.start,
-        count: x.end - x.start
-      }));
-      return {
-        ...response,
-        pageRange,
-        clearRange,
-        _response: {
-          ...response._response,
-          parsedBody: {
-            pageRange,
-            clearRange
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string value */
+            1:
+              message.value = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/logger.js
-var require_logger2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs2();
-    exports2.logger = (0, logger_1.createClientLogger)("core-lro");
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js
-var require_constants17 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0;
-    exports2.POLL_INTERVAL_IN_MS = 2e3;
-    exports2.terminalStates = ["succeeded", "canceled", "failed"];
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js
-var require_operation = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0;
-    var logger_js_1 = require_logger2();
-    var constants_js_1 = require_constants17();
-    function deserializeState(serializedState) {
-      try {
-        return JSON.parse(serializedState).state;
-      } catch (e) {
-        throw new Error(`Unable to deserialize input state: ${serializedState}`);
-      }
-    }
-    exports2.deserializeState = deserializeState;
-    function setStateError(inputs) {
-      const { state, stateProxy, isOperationError } = inputs;
-      return (error3) => {
-        if (isOperationError(error3)) {
-          stateProxy.setError(state, error3);
-          stateProxy.setFailed(state);
-        }
-        throw error3;
-      };
-    }
-    function appendReadableErrorMessage(currentMessage, innerMessage) {
-      let message = currentMessage;
-      if (message.slice(-1) !== ".") {
-        message = message + ".";
+        return message;
       }
-      return message + " " + innerMessage;
-    }
-    function simplifyError(err) {
-      let message = err.message;
-      let code = err.code;
-      let curErr = err;
-      while (curErr.innererror) {
-        curErr = curErr.innererror;
-        code = curErr.code;
-        message = appendReadableErrorMessage(message, curErr.message);
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "")
+          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      return {
-        code,
-        message
-      };
-    }
-    function processOperationStatus(result) {
-      const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result;
-      switch (status) {
-        case "succeeded": {
-          stateProxy.setSucceeded(state);
-          break;
-        }
-        case "failed": {
-          const err = getError === null || getError === void 0 ? void 0 : getError(response);
-          let postfix = "";
-          if (err) {
-            const { code, message } = simplifyError(err);
-            postfix = `. ${code}. ${message}`;
+    };
+    exports2.StringValue = new StringValue$Type();
+    var BytesValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.BytesValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 12
+            /*ScalarType.BYTES*/
           }
-          const errStr = `The long-running operation has failed${postfix}`;
-          stateProxy.setError(state, new Error(errStr));
-          stateProxy.setFailed(state);
-          logger_js_1.logger.warning(errStr);
-          break;
-        }
-        case "canceled": {
-          stateProxy.setCanceled(state);
-          break;
-        }
+        ]);
       }
-      if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) {
-        stateProxy.setResult(state, buildResult({
-          response,
-          state,
-          processResult
-        }));
+      /**
+       * Encode `BytesValue` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
       }
-    }
-    function buildResult(inputs) {
-      const { processResult, response, state } = inputs;
-      return processResult ? processResult(response, state) : response;
-    }
-    async function initOperation(inputs) {
-      const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs;
-      const { operationLocation, resourceLocation, metadata, response } = await init();
-      if (operationLocation)
-        withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
-      const config = {
-        metadata,
-        operationLocation,
-        resourceLocation
-      };
-      logger_js_1.logger.verbose(`LRO: Operation description:`, config);
-      const state = stateProxy.initState(config);
-      const status = getOperationStatus({ response, state, operationLocation });
-      processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult });
-      return state;
-    }
-    exports2.initOperation = initOperation;
-    async function pollOperationHelper(inputs) {
-      const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs;
-      const response = await poll(operationLocation, options).catch(setStateError({
-        state,
-        stateProxy,
-        isOperationError
-      }));
-      const status = getOperationStatus(response, state);
-      logger_js_1.logger.verbose(`LRO: Status:
-	Polling from: ${state.config.operationLocation}
-	Operation status: ${status}
-	Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`);
-      if (status === "succeeded") {
-        const resourceLocation = getResourceLocation(response, state);
-        if (resourceLocation !== void 0) {
-          return {
-            response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })),
-            status
-          };
-        }
+      /**
+       * Decode `BytesValue` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
+        return target;
       }
-      return { response, status };
-    }
-    async function pollOperation(inputs) {
-      const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs;
-      const { operationLocation } = state.config;
-      if (operationLocation !== void 0) {
-        const { response, status } = await pollOperationHelper({
-          poll,
-          getOperationStatus,
-          state,
-          stateProxy,
-          operationLocation,
-          getResourceLocation,
-          isOperationError,
-          options
-        });
-        processOperationStatus({
-          status,
-          response,
-          state,
-          stateProxy,
-          isDone,
-          processResult,
-          getError,
-          setErrorAsResult
-        });
-        if (!constants_js_1.terminalStates.includes(status)) {
-          const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response);
-          if (intervalInMs)
-            setDelay(intervalInMs);
-          const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state);
-          if (location !== void 0) {
-            const isUpdated = operationLocation !== location;
-            state.config.operationLocation = location;
-            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated);
-          } else
-            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
+      create(value) {
+        const message = { value: new Uint8Array(0) };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bytes value */
+            1:
+              message.value = reader.bytes();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        updateState === null || updateState === void 0 ? void 0 : updateState(state, response);
+        return message;
       }
-    }
-    exports2.pollOperation = pollOperation;
+      internalBinaryWrite(message, writer, options) {
+        if (message.value.length)
+          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.BytesValue = new BytesValue$Type();
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/http/operation.js
-var require_operation2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
+var require_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0;
-    var operation_js_1 = require_operation();
-    var logger_js_1 = require_logger2();
-    function getOperationLocationPollingUrl(inputs) {
-      const { azureAsyncOperation, operationLocation } = inputs;
-      return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation;
-    }
-    function getLocationHeader(rawResponse) {
-      return rawResponse.headers["location"];
-    }
-    function getOperationLocationHeader(rawResponse) {
-      return rawResponse.headers["operation-location"];
-    }
-    function getAzureAsyncOperationHeader(rawResponse) {
-      return rawResponse.headers["azure-asyncoperation"];
-    }
-    function findResourceLocation(inputs) {
-      var _a;
-      const { location, requestMethod, requestPath, resourceLocationConfig } = inputs;
-      switch (requestMethod) {
-        case "PUT": {
-          return requestPath;
-        }
-        case "DELETE": {
-          return void 0;
-        }
-        case "PATCH": {
-          return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath;
-        }
-        default: {
-          return getDefault();
-        }
+    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
+    var runtime_rpc_1 = require_commonjs17();
+    var runtime_1 = require_commonjs16();
+    var runtime_2 = require_commonjs16();
+    var runtime_3 = require_commonjs16();
+    var runtime_4 = require_commonjs16();
+    var runtime_5 = require_commonjs16();
+    var wrappers_1 = require_wrappers();
+    var wrappers_2 = require_wrappers();
+    var timestamp_1 = require_timestamp();
+    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.MigrateArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
+        ]);
       }
-      function getDefault() {
-        switch (resourceLocationConfig) {
-          case "azure-async-operation": {
-            return void 0;
-          }
-          case "original-uri": {
-            return requestPath;
-          }
-          case "location":
-          default: {
-            return location;
+      create(value) {
+        const message = { workflowRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string name */
+            2:
+              message.name = reader.string();
+              break;
+            case /* google.protobuf.Timestamp expires_at */
+            3:
+              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
         }
+        return message;
       }
-    }
-    function inferLroMode(inputs) {
-      const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs;
-      const operationLocation = getOperationLocationHeader(rawResponse);
-      const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse);
-      const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation });
-      const location = getLocationHeader(rawResponse);
-      const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase();
-      if (pollingUrl !== void 0) {
-        return {
-          mode: "OperationLocation",
-          operationLocation: pollingUrl,
-          resourceLocation: findResourceLocation({
-            requestMethod: normalizedRequestMethod,
-            location,
-            requestPath,
-            resourceLocationConfig
-          })
-        };
-      } else if (location !== void 0) {
-        return {
-          mode: "ResourceLocation",
-          operationLocation: location
-        };
-      } else if (normalizedRequestMethod === "PUT" && requestPath) {
-        return {
-          mode: "Body",
-          operationLocation: requestPath
-        };
-      } else {
-        return void 0;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.name !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.expiresAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-    }
-    exports2.inferLroMode = inferLroMode;
-    function transformStatus(inputs) {
-      const { status, statusCode } = inputs;
-      if (typeof status !== "string" && status !== void 0) {
-        throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);
+    };
+    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
+    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.MigrateArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) {
-        case void 0:
-          return toOperationStatus(statusCode);
-        case "succeeded":
-          return "succeeded";
-        case "failed":
-          return "failed";
-        case "running":
-        case "accepted":
-        case "started":
-        case "canceling":
-        case "cancelling":
-          return "running";
-        case "canceled":
-        case "cancelled":
-          return "canceled";
-        default: {
-          logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`);
-          return status;
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
+        return message;
       }
-    }
-    function getStatus(rawResponse) {
-      var _a;
-      const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
-      return transformStatus({ status, statusCode: rawResponse.statusCode });
-    }
-    function getProvisioningState(rawResponse) {
-      var _a, _b;
-      const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
-      const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState;
-      return transformStatus({ status, statusCode: rawResponse.statusCode });
-    }
-    function toOperationStatus(statusCode) {
-      if (statusCode === 202) {
-        return "running";
-      } else if (statusCode < 300) {
-        return "succeeded";
-      } else {
-        return "failed";
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-    }
-    function parseRetryAfter({ rawResponse }) {
-      const retryAfter = rawResponse.headers["retry-after"];
-      if (retryAfter !== void 0) {
-        const retryAfterInSeconds = parseInt(retryAfter);
-        return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3;
+    };
+    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
+    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      return void 0;
-    }
-    exports2.parseRetryAfter = parseRetryAfter;
-    function getErrorFromResponse(response) {
-      const error3 = accessBodyProperty(response, "error");
-      if (!error3) {
-        logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`);
-        return;
+      create(value) {
+        const message = { workflowRunBackendId: "", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      if (!error3.code || !error3.message) {
-        logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`);
-        return;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string name */
+            2:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            3:
+              message.size = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.name !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
+    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      return error3;
-    }
-    exports2.getErrorFromResponse = getErrorFromResponse;
-    function calculatePollingIntervalFromDate(retryAfterDate) {
-      const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime());
-      const retryAfterTime = retryAfterDate.getTime();
-      if (timeNow < retryAfterTime) {
-        return retryAfterTime - timeNow;
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      return void 0;
-    }
-    function getStatusFromInitialResponse(inputs) {
-      const { response, state, operationLocation } = inputs;
-      function helper() {
-        var _a;
-        const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-        switch (mode) {
-          case void 0:
-            return toOperationStatus(response.rawResponse.statusCode);
-          case "Body":
-            return getOperationStatus(response, state);
-          default:
-            return "running";
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
+        return message;
       }
-      const status = helper();
-      return status === "running" && operationLocation === void 0 ? "succeeded" : status;
-    }
-    exports2.getStatusFromInitialResponse = getStatusFromInitialResponse;
-    async function initHttpOperation(inputs) {
-      const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs;
-      return (0, operation_js_1.initOperation)({
-        init: async () => {
-          const response = await lro.sendInitialRequest();
-          const config = inferLroMode({
-            rawResponse: response.rawResponse,
-            requestPath: lro.requestPath,
-            requestMethod: lro.requestMethod,
-            resourceLocationConfig
-          });
-          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
-        },
-        stateProxy,
-        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse,
-        getOperationStatus: getStatusFromInitialResponse,
-        setErrorAsResult
-      });
-    }
-    exports2.initHttpOperation = initHttpOperation;
-    function getOperationLocation({ rawResponse }, state) {
-      var _a;
-      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-      switch (mode) {
-        case "OperationLocation": {
-          return getOperationLocationPollingUrl({
-            operationLocation: getOperationLocationHeader(rawResponse),
-            azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse)
-          });
-        }
-        case "ResourceLocation": {
-          return getLocationHeader(rawResponse);
-        }
-        case "Body":
-        default: {
-          return void 0;
-        }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-    }
-    exports2.getOperationLocation = getOperationLocation;
-    function getOperationStatus({ rawResponse }, state) {
-      var _a;
-      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-      switch (mode) {
-        case "OperationLocation": {
-          return getStatus(rawResponse);
-        }
-        case "ResourceLocation": {
-          return toOperationStatus(rawResponse.statusCode);
-        }
-        case "Body": {
-          return getProvisioningState(rawResponse);
+    };
+    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
+    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
+          {
+            no: 5,
+            name: "version",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            case /* google.protobuf.Timestamp expires_at */
+            4:
+              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
+              break;
+            case /* int32 version */
+            5:
+              message.version = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        default:
-          throw new Error(`Internal error: Unexpected operation mode: ${mode}`);
+        return message;
       }
-    }
-    exports2.getOperationStatus = getOperationStatus;
-    function accessBodyProperty({ flatResponse, rawResponse }, prop) {
-      var _a, _b;
-      return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop];
-    }
-    function getResourceLocation(res, state) {
-      const loc = accessBodyProperty(res, "resourceLocation");
-      if (loc && typeof loc === "string") {
-        state.config.resourceLocation = loc;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.expiresAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.version !== 0)
+          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      return state.config.resourceLocation;
-    }
-    exports2.getResourceLocation = getResourceLocation;
-    function isOperationError(e) {
-      return e.name === "RestError";
-    }
-    exports2.isOperationError = isOperationError;
-    async function pollHttpOperation(inputs) {
-      const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs;
-      return (0, operation_js_1.pollOperation)({
-        state,
-        stateProxy,
-        setDelay,
-        processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse,
-        getError: getErrorFromResponse,
-        updateState,
-        getPollingInterval: parseRetryAfter,
-        getOperationLocation,
-        getOperationStatus,
-        isOperationError,
-        getResourceLocation,
-        options,
-        /**
-         * The expansion here is intentional because `lro` could be an object that
-         * references an inner this, so we need to preserve a reference to it.
-         */
-        poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions),
-        setErrorAsResult
-      });
-    }
-    exports2.pollHttpOperation = pollHttpOperation;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js
-var require_poller = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildCreatePoller = void 0;
-    var operation_js_1 = require_operation();
-    var constants_js_1 = require_constants17();
-    var core_util_1 = require_commonjs4();
-    var createStateProxy = () => ({
-      /**
-       * The state at this point is created to be of type OperationState.
-       * It will be updated later to be of type TState when the
-       * customer-provided callback, `updateState`, is called during polling.
-       */
-      initState: (config) => ({ status: "running", config }),
-      setCanceled: (state) => state.status = "canceled",
-      setError: (state, error3) => state.error = error3,
-      setResult: (state, result) => state.result = result,
-      setRunning: (state) => state.status = "running",
-      setSucceeded: (state) => state.status = "succeeded",
-      setFailed: (state) => state.status = "failed",
-      getError: (state) => state.error,
-      getResult: (state) => state.result,
-      isCanceled: (state) => state.status === "canceled",
-      isFailed: (state) => state.status === "failed",
-      isRunning: (state) => state.status === "running",
-      isSucceeded: (state) => state.status === "succeeded"
-    });
-    function buildCreatePoller(inputs) {
-      const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs;
-      return async ({ init, poll }, options) => {
-        const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {};
-        const stateProxy = createStateProxy();
-        const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => {
-          let called = false;
-          return (operationLocation, isUpdated) => {
-            if (isUpdated)
-              withOperationLocationCallback(operationLocation);
-            else if (!called)
-              withOperationLocationCallback(operationLocation);
-            called = true;
-          };
-        })() : void 0;
-        const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({
-          init,
-          stateProxy,
-          processResult,
-          getOperationStatus: getStatusFromInitialResponse,
-          withOperationLocation,
-          setErrorAsResult: !resolveOnUnsuccessful
-        });
-        let resultPromise;
-        const abortController = new AbortController();
-        const handlers = /* @__PURE__ */ new Map();
-        const handleProgressEvents = async () => handlers.forEach((h) => h(state));
-        const cancelErrMsg = "Operation was canceled";
-        let currentPollIntervalInMs = intervalInMs;
-        const poller = {
-          getOperationState: () => state,
-          getResult: () => state.result,
-          isDone: () => ["succeeded", "failed", "canceled"].includes(state.status),
-          isStopped: () => resultPromise === void 0,
-          stopPolling: () => {
-            abortController.abort();
-          },
-          toString: () => JSON.stringify({
-            state
-          }),
-          onProgress: (callback) => {
-            const s = /* @__PURE__ */ Symbol();
-            handlers.set(s, callback);
-            return () => handlers.delete(s);
+    };
+    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
+    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
           },
-          pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => {
-            const { abortSignal: inputAbortSignal } = pollOptions || {};
-            function abortListener() {
-              abortController.abort();
-            }
-            const abortSignal = abortController.signal;
-            if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
-              abortController.abort();
-            } else if (!abortSignal.aborted) {
-              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
-            }
-            try {
-              if (!poller.isDone()) {
-                await poller.poll({ abortSignal });
-                while (!poller.isDone()) {
-                  await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal });
-                  await poller.poll({ abortSignal });
-                }
-              }
-            } finally {
-              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
-            }
-            if (resolveOnUnsuccessful) {
-              return poller.getResult();
-            } else {
-              switch (state.status) {
-                case "succeeded":
-                  return poller.getResult();
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-                case "notStarted":
-                case "running":
-                  throw new Error(`Polling completed without succeeding or failing`);
-              }
-            }
-          })().finally(() => {
-            resultPromise = void 0;
-          }),
-          async poll(pollOptions) {
-            if (resolveOnUnsuccessful) {
-              if (poller.isDone())
-                return;
-            } else {
-              switch (state.status) {
-                case "succeeded":
-                  return;
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-              }
-            }
-            await (0, operation_js_1.pollOperation)({
-              poll,
-              state,
-              stateProxy,
-              getOperationLocation,
-              isOperationError,
-              withOperationLocation,
-              getPollingInterval,
-              getOperationStatus: getStatusFromPollResponse,
-              getResourceLocation,
-              processResult,
-              getError,
-              updateState,
-              options: pollOptions,
-              setDelay: (pollIntervalInMs) => {
-                currentPollIntervalInMs = pollIntervalInMs;
-              },
-              setErrorAsResult: !resolveOnUnsuccessful
-            });
-            await handleProgressEvents();
-            if (!resolveOnUnsuccessful) {
-              switch (state.status) {
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-              }
-            }
-          }
-        };
-        return poller;
-      };
-    }
-    exports2.buildCreatePoller = buildCreatePoller;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/http/poller.js
-var require_poller2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpPoller = void 0;
-    var operation_js_1 = require_operation2();
-    var poller_js_1 = require_poller();
-    async function createHttpPoller(lro, options) {
-      const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {};
-      return (0, poller_js_1.buildCreatePoller)({
-        getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse,
-        getStatusFromPollResponse: operation_js_1.getOperationStatus,
-        isOperationError: operation_js_1.isOperationError,
-        getOperationLocation: operation_js_1.getOperationLocation,
-        getResourceLocation: operation_js_1.getResourceLocation,
-        getPollingInterval: operation_js_1.parseRetryAfter,
-        getError: operation_js_1.getErrorFromResponse,
-        resolveOnUnsuccessful
-      })({
-        init: async () => {
-          const response = await lro.sendInitialRequest();
-          const config = (0, operation_js_1.inferLroMode)({
-            rawResponse: response.rawResponse,
-            requestPath: lro.requestPath,
-            requestMethod: lro.requestMethod,
-            resourceLocationConfig
-          });
-          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
-        },
-        poll: lro.sendPollRequest
-      }, {
-        intervalInMs,
-        withOperationLocation,
-        restoreFrom,
-        updateState,
-        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse
-      });
-    }
-    exports2.createHttpPoller = createHttpPoller;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js
-var require_operation3 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GenericPollOperation = void 0;
-    var operation_js_1 = require_operation2();
-    var logger_js_1 = require_logger2();
-    var createStateProxy = () => ({
-      initState: (config) => ({ config, isStarted: true }),
-      setCanceled: (state) => state.isCancelled = true,
-      setError: (state, error3) => state.error = error3,
-      setResult: (state, result) => state.result = result,
-      setRunning: (state) => state.isStarted = true,
-      setSucceeded: (state) => state.isCompleted = true,
-      setFailed: () => {
-      },
-      getError: (state) => state.error,
-      getResult: (state) => state.result,
-      isCanceled: (state) => !!state.isCancelled,
-      isFailed: (state) => !!state.error,
-      isRunning: (state) => !!state.isStarted,
-      isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error)
-    });
-    var GenericPollOperation = class {
-      constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) {
-        this.state = state;
-        this.lro = lro;
-        this.setErrorAsResult = setErrorAsResult;
-        this.lroResourceLocationConfig = lroResourceLocationConfig;
-        this.processResult = processResult;
-        this.updateState = updateState;
-        this.isDone = isDone;
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      setPollerConfig(pollerConfig) {
-        this.pollerConfig = pollerConfig;
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      async update(options) {
-        var _a;
-        const stateProxy = createStateProxy();
-        if (!this.state.isStarted) {
-          this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({
-            lro: this.lro,
-            stateProxy,
-            resourceLocationConfig: this.lroResourceLocationConfig,
-            processResult: this.processResult,
-            setErrorAsResult: this.setErrorAsResult
-          }));
-        }
-        const updateState = this.updateState;
-        const isDone = this.isDone;
-        if (!this.state.isCompleted && this.state.error === void 0) {
-          await (0, operation_js_1.pollHttpOperation)({
-            lro: this.lro,
-            state: this.state,
-            stateProxy,
-            processResult: this.processResult,
-            updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0,
-            isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0,
-            options,
-            setDelay: (intervalInMs) => {
-              this.pollerConfig.intervalInMs = intervalInMs;
-            },
-            setErrorAsResult: this.setErrorAsResult
-          });
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state);
-        return this;
-      }
-      async cancel() {
-        logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented");
-        return this;
+        return message;
       }
-      /**
-       * Serializes the Poller operation.
-       */
-      toString() {
-        return JSON.stringify({
-          state: this.state
-        });
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.GenericPollOperation = GenericPollOperation;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js
-var require_poller3 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0;
-    var PollerStoppedError = class _PollerStoppedError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "PollerStoppedError";
-        Object.setPrototypeOf(this, _PollerStoppedError.prototype);
+    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
+    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 4,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
+        ]);
       }
-    };
-    exports2.PollerStoppedError = PollerStoppedError;
-    var PollerCancelledError = class _PollerCancelledError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "PollerCancelledError";
-        Object.setPrototypeOf(this, _PollerCancelledError.prototype);
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            4:
+              message.size = reader.int64().toString();
+              break;
+            case /* google.protobuf.StringValue hash */
+            5:
+              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
+        if (message.hash)
+          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.PollerCancelledError = PollerCancelledError;
-    var Poller = class {
-      /**
-       * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`.
-       *
-       * When writing an implementation of a Poller, this implementation needs to deal with the initialization
-       * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's
-       * operation has already been defined, at least its basic properties. The code below shows how to approach
-       * the definition of the constructor of a new custom poller.
-       *
-       * ```ts
-       * export class MyPoller extends Poller {
-       *   constructor({
-       *     // Anything you might need outside of the basics
-       *   }) {
-       *     let state: MyOperationState = {
-       *       privateProperty: private,
-       *       publicProperty: public,
-       *     };
-       *
-       *     const operation = {
-       *       state,
-       *       update,
-       *       cancel,
-       *       toString
-       *     }
-       *
-       *     // Sending the operation to the parent's constructor.
-       *     super(operation);
-       *
-       *     // You can assign more local properties here.
-       *   }
-       * }
-       * ```
-       *
-       * Inside of this constructor, a new promise is created. This will be used to
-       * tell the user when the poller finishes (see `pollUntilDone()`). The promise's
-       * resolve and reject methods are also used internally to control when to resolve
-       * or reject anyone waiting for the poller to finish.
-       *
-       * The constructor of a custom implementation of a poller is where any serialized version of
-       * a previous poller's operation should be deserialized into the operation sent to the
-       * base constructor. For example:
-       *
-       * ```ts
-       * export class MyPoller extends Poller {
-       *   constructor(
-       *     baseOperation: string | undefined
-       *   ) {
-       *     let state: MyOperationState = {};
-       *     if (baseOperation) {
-       *       state = {
-       *         ...JSON.parse(baseOperation).state,
-       *         ...state
-       *       };
-       *     }
-       *     const operation = {
-       *       state,
-       *       // ...
-       *     }
-       *     super(operation);
-       *   }
-       * }
-       * ```
-       *
-       * @param operation - Must contain the basic properties of `PollOperation`.
-       */
-      constructor(operation) {
-        this.resolveOnUnsuccessful = false;
-        this.stopped = true;
-        this.pollProgressCallbacks = [];
-        this.operation = operation;
-        this.promise = new Promise((resolve3, reject) => {
-          this.resolve = resolve3;
-          this.reject = reject;
-        });
-        this.promise.catch(() => {
-        });
+    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
+    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      /**
-       * Starts a loop that will break only if the poller is done
-       * or if the poller is stopped.
-       */
-      async startPolling(pollOptions = {}) {
-        if (this.stopped) {
-          this.stopped = false;
-        }
-        while (!this.isStopped() && !this.isDone()) {
-          await this.poll(pollOptions);
-          await this.delay();
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
+        return message;
       }
-      /**
-       * pollOnce does one polling, by calling to the update method of the underlying
-       * poll operation to make any relevant change effective.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      async pollOnce(options = {}) {
-        if (!this.isDone()) {
-          this.operation = await this.operation.update({
-            abortSignal: options.abortSignal,
-            fireProgress: this.fireProgress.bind(this)
-          });
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
+    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
+          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* google.protobuf.StringValue name_filter */
+            3:
+              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
+              break;
+            case /* google.protobuf.Int64Value id_filter */
+            4:
+              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        this.processUpdatedState();
+        return message;
       }
-      /**
-       * fireProgress calls the functions passed in via onProgress the method of the poller.
-       *
-       * It loops over all of the callbacks received from onProgress, and executes them, sending them
-       * the current operation state.
-       *
-       * @param state - The current operation state.
-       */
-      fireProgress(state) {
-        for (const callback of this.pollProgressCallbacks) {
-          callback(state);
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.nameFilter)
+          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.idFilter)
+          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
+    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsResponse", [
+          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
+        ]);
+      }
+      create(value) {
+        const message = { artifacts: [] };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
+            1:
+              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        for (let i = 0; i < message.artifacts.length; i++)
+          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
+    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "database_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 4,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 5,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
+          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
+        ]);
       }
-      /**
-       * Invokes the underlying operation's cancel method.
-       */
-      async cancelOnce(options = {}) {
-        this.operation = await this.operation.cancel(options);
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Returns a promise that will resolve once a single polling request finishes.
-       * It does this by calling the update method of the Poller's operation.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      poll(options = {}) {
-        if (!this.pollOncePromise) {
-          this.pollOncePromise = this.pollOnce(options);
-          const clearPollOncePromise = () => {
-            this.pollOncePromise = void 0;
-          };
-          this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject);
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* int64 database_id */
+            3:
+              message.databaseId = reader.int64().toString();
+              break;
+            case /* string name */
+            4:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            5:
+              message.size = reader.int64().toString();
+              break;
+            case /* google.protobuf.Timestamp created_at */
+            6:
+              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
+              break;
+            case /* google.protobuf.StringValue digest */
+            7:
+              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        return this.pollOncePromise;
+        return message;
       }
-      processUpdatedState() {
-        if (this.operation.state.error) {
-          this.stopped = true;
-          if (!this.resolveOnUnsuccessful) {
-            this.reject(this.operation.state.error);
-            throw this.operation.state.error;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.databaseId !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
+        if (message.name !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
+        if (message.createdAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.digest)
+          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
+    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
           }
-        }
-        if (this.operation.state.isCancelled) {
-          this.stopped = true;
-          if (!this.resolveOnUnsuccessful) {
-            const error3 = new PollerCancelledError("Operation was canceled");
-            this.reject(error3);
-            throw error3;
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
         }
-        if (this.isDone() && this.resolve) {
-          this.resolve(this.getResult());
-        }
+        return message;
       }
-      /**
-       * Returns a promise that will resolve once the underlying operation is completed.
-       */
-      async pollUntilDone(pollOptions = {}) {
-        if (this.stopped) {
-          this.startPolling(pollOptions).catch(this.reject);
-        }
-        this.processUpdatedState();
-        return this.promise;
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Invokes the provided callback after each polling is completed,
-       * sending the current state of the poller's operation.
-       *
-       * It returns a method that can be used to stop receiving updates on the given callback function.
-       */
-      onProgress(callback) {
-        this.pollProgressCallbacks.push(callback);
-        return () => {
-          this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback);
-        };
+    };
+    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
+    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
+          {
+            no: 1,
+            name: "signed_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * Returns true if the poller has finished polling.
-       */
-      isDone() {
-        const state = this.operation.state;
-        return Boolean(state.isCompleted || state.isCancelled || state.error);
+      create(value) {
+        const message = { signedUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Stops the poller from continuing to poll.
-       */
-      stopPolling() {
-        if (!this.stopped) {
-          this.stopped = true;
-          if (this.reject) {
-            this.reject(new PollerStoppedError("This poller is already stopped"));
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string signed_url */
+            1:
+              message.signedUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
         }
+        return message;
       }
-      /**
-       * Returns true if the poller is stopped.
-       */
-      isStopped() {
-        return this.stopped;
+      internalBinaryWrite(message, writer, options) {
+        if (message.signedUrl !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
-      /**
-       * Attempts to cancel the underlying operation.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * If it's called again before it finishes, it will throw an error.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      cancelOperation(options = {}) {
-        if (!this.cancelPromise) {
-          this.cancelPromise = this.cancelOnce(options);
-        } else if (options.abortSignal) {
-          throw new Error("A cancel request is currently pending");
-        }
-        return this.cancelPromise;
+    };
+    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
+    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.DeleteArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
       }
-      /**
-       * Returns the state of the operation.
-       *
-       * Even though TState will be the same type inside any of the methods of any extension of the Poller class,
-       * implementations of the pollers can customize what's shared with the public by writing their own
-       * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller
-       * and a public type representing a safe to share subset of the properties of the internal state.
-       * Their definition of getOperationState can then return their public type.
-       *
-       * Example:
-       *
-       * ```ts
-       * // Let's say we have our poller's operation state defined as:
-       * interface MyOperationState extends PollOperationState {
-       *   privateProperty?: string;
-       *   publicProperty?: string;
-       * }
-       *
-       * // To allow us to have a true separation of public and private state, we have to define another interface:
-       * interface PublicState extends PollOperationState {
-       *   publicProperty?: string;
-       * }
-       *
-       * // Then, we define our Poller as follows:
-       * export class MyPoller extends Poller {
-       *   // ... More content is needed here ...
-       *
-       *   public getOperationState(): PublicState {
-       *     const state: PublicState = this.operation.state;
-       *     return {
-       *       // Properties from PollOperationState
-       *       isStarted: state.isStarted,
-       *       isCompleted: state.isCompleted,
-       *       isCancelled: state.isCancelled,
-       *       error: state.error,
-       *       result: state.result,
-       *
-       *       // The only other property needed by PublicState.
-       *       publicProperty: state.publicProperty
-       *     }
-       *   }
-       * }
-       * ```
-       *
-       * You can see this in the tests of this repository, go to the file:
-       * `../test/utils/testPoller.ts`
-       * and look for the getOperationState implementation.
-       */
-      getOperationState() {
-        return this.operation.state;
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
       }
-      /**
-       * Returns the result value of the operation,
-       * regardless of the state of the poller.
-       * It can return undefined or an incomplete form of the final TResult value
-       * depending on the implementation.
-       */
-      getResult() {
-        const state = this.operation.state;
-        return state.result;
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
       }
-      /**
-       * Returns a serialized version of the poller's operation
-       * by invoking the operation's toString method.
-       */
-      toString() {
-        return this.operation.toString();
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.Poller = Poller;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js
-var require_lroEngine = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LroEngine = void 0;
-    var operation_js_1 = require_operation3();
-    var constants_js_1 = require_constants17();
-    var poller_js_1 = require_poller3();
-    var operation_js_2 = require_operation();
-    var LroEngine = class extends poller_js_1.Poller {
-      constructor(lro, options) {
-        const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {};
-        const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {};
-        const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone);
-        super(operation);
-        this.resolveOnUnsuccessful = resolveOnUnsuccessful;
-        this.config = { intervalInMs };
-        operation.setPollerConfig(this.config);
+    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
+    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.DeleteArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
       }
-      /**
-       * The method used by the poller to wait before attempting to update its operation.
-       */
-      delay() {
-        return new Promise((resolve3) => setTimeout(() => resolve3(), this.config.intervalInMs));
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    exports2.LroEngine = LroEngine;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js
-var require_lroEngine2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LroEngine = void 0;
-    var lroEngine_js_1 = require_lroEngine();
-    Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() {
-      return lroEngine_js_1.LroEngine;
-    } });
+    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
+    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
+      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
+      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
+      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
+      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
+      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
+      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
+      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
+    ]);
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js
-var require_pollOperation = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
+var require_artifact_twirp_client = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
+    var artifact_1 = require_artifact();
+    var ArtifactServiceClientJSON = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateArtifact.bind(this);
+        this.FinalizeArtifact.bind(this);
+        this.ListArtifacts.bind(this);
+        this.GetSignedArtifactURL.bind(this);
+        this.DeleteArtifact.bind(this);
+      }
+      CreateArtifact(request2) {
+        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      FinalizeArtifact(request2) {
+        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      ListArtifacts(request2) {
+        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
+        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
+      }
+      GetSignedArtifactURL(request2) {
+        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
+        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      DeleteArtifact(request2) {
+        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+    };
+    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
+    var ArtifactServiceClientProtobuf = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateArtifact.bind(this);
+        this.FinalizeArtifact.bind(this);
+        this.ListArtifacts.bind(this);
+        this.GetSignedArtifactURL.bind(this);
+        this.DeleteArtifact.bind(this);
+      }
+      CreateArtifact(request2) {
+        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
+      }
+      FinalizeArtifact(request2) {
+        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
+      }
+      ListArtifacts(request2) {
+        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
+      }
+      GetSignedArtifactURL(request2) {
+        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
+      }
+      DeleteArtifact(request2) {
+        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
+      }
+    };
+    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/index.js
-var require_commonjs14 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/index.js
+var require_generated = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
     "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
+      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpPoller = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var poller_js_1 = require_poller2();
-    Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() {
-      return poller_js_1.createHttpPoller;
-    } });
-    tslib_1.__exportStar(require_lroEngine2(), exports2);
-    tslib_1.__exportStar(require_poller3(), exports2);
-    tslib_1.__exportStar(require_pollOperation(), exports2);
+    __exportStar2(require_timestamp(), exports2);
+    __exportStar2(require_wrappers(), exports2);
+    __exportStar2(require_artifact(), exports2);
+    __exportStar2(require_artifact_twirp_client(), exports2);
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js
-var require_BlobStartCopyFromUrlPoller = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/retention.js
+var require_retention = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBeginCopyFromUrlPoller = void 0;
-    var core_util_1 = require_commonjs4();
-    var core_lro_1 = require_commonjs14();
-    var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller {
-      intervalInMs;
-      constructor(options) {
-        const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options;
-        let state;
-        if (resumeFrom) {
-          state = JSON.parse(resumeFrom).state;
-        }
-        const operation = makeBlobBeginCopyFromURLPollOperation({
-          ...state,
-          blobClient,
-          copySource,
-          startCopyFromURLOptions
-        });
-        super(operation);
-        if (typeof onProgress === "function") {
-          this.onProgress(onProgress);
-        }
-        this.intervalInMs = intervalInMs;
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      delay() {
-        return (0, core_util_1.delay)(this.intervalInMs);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
+      __setModuleDefault2(result, mod);
+      return result;
     };
-    exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller;
-    var cancel = async function cancel2(options = {}) {
-      const state = this.state;
-      const { copyId } = state;
-      if (state.isCompleted) {
-        return makeBlobBeginCopyFromURLPollOperation(state);
-      }
-      if (!copyId) {
-        state.isCancelled = true;
-        return makeBlobBeginCopyFromURLPollOperation(state);
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getExpiration = void 0;
+    var generated_1 = require_generated();
+    var core14 = __importStar2(require_core());
+    function getExpiration(retentionDays) {
+      if (!retentionDays) {
+        return void 0;
       }
-      await state.blobClient.abortCopyFromURL(copyId, {
-        abortSignal: options.abortSignal
-      });
-      state.isCancelled = true;
-      return makeBlobBeginCopyFromURLPollOperation(state);
-    };
-    var update = async function update2(options = {}) {
-      const state = this.state;
-      const { blobClient, copySource, startCopyFromURLOptions } = state;
-      if (!state.isStarted) {
-        state.isStarted = true;
-        const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions);
-        state.copyId = result.copyId;
-        if (result.copyStatus === "success") {
-          state.result = result;
-          state.isCompleted = true;
-        }
-      } else if (!state.isCompleted) {
-        try {
-          const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal });
-          const { copyStatus, copyProgress } = result;
-          const prevCopyProgress = state.copyProgress;
-          if (copyProgress) {
-            state.copyProgress = copyProgress;
-          }
-          if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") {
-            options.fireProgress(state);
-          } else if (copyStatus === "success") {
-            state.result = result;
-            state.isCompleted = true;
-          } else if (copyStatus === "failed") {
-            state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`);
-            state.isCompleted = true;
-          }
-        } catch (err) {
-          state.error = err;
-          state.isCompleted = true;
-        }
+      const maxRetentionDays = getRetentionDays();
+      if (maxRetentionDays && maxRetentionDays < retentionDays) {
+        core14.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
+        retentionDays = maxRetentionDays;
       }
-      return makeBlobBeginCopyFromURLPollOperation(state);
-    };
-    var toString2 = function toString3() {
-      return JSON.stringify({ state: this.state }, (key, value) => {
-        if (key === "blobClient") {
-          return void 0;
-        }
-        return value;
-      });
-    };
-    function makeBlobBeginCopyFromURLPollOperation(state) {
-      return {
-        state: { ...state },
-        cancel,
-        toString: toString2,
-        update
-      };
+      const expirationDate = /* @__PURE__ */ new Date();
+      expirationDate.setDate(expirationDate.getDate() + retentionDays);
+      return generated_1.Timestamp.fromDate(expirationDate);
     }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/Range.js
-var require_Range = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.rangeToString = rangeToString;
-    function rangeToString(iRange) {
-      if (iRange.offset < 0) {
-        throw new RangeError(`Range.offset cannot be smaller than 0.`);
+    exports2.getExpiration = getExpiration;
+    function getRetentionDays() {
+      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
+      if (!retentionDays) {
+        return void 0;
       }
-      if (iRange.count && iRange.count <= 0) {
-        throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`);
+      const days = parseInt(retentionDays);
+      if (isNaN(days)) {
+        return void 0;
       }
-      return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`;
+      return days;
     }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js
-var require_Batch = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
+var require_path_and_artifact_name_validation = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Batch = void 0;
-    var events_1 = require("events");
-    var BatchStates;
-    (function(BatchStates2) {
-      BatchStates2[BatchStates2["Good"] = 0] = "Good";
-      BatchStates2[BatchStates2["Error"] = 1] = "Error";
-    })(BatchStates || (BatchStates = {}));
-    var Batch = class {
-      /**
-       * Concurrency. Must be lager than 0.
-       */
-      concurrency;
-      /**
-       * Number of active operations under execution.
-       */
-      actives = 0;
-      /**
-       * Number of completed operations under execution.
-       */
-      completed = 0;
-      /**
-       * Offset of next operation to be executed.
-       */
-      offset = 0;
-      /**
-       * Operation array to be executed.
-       */
-      operations = [];
-      /**
-       * States of Batch. When an error happens, state will turn into error.
-       * Batch will stop execute left operations.
-       */
-      state = BatchStates.Good;
-      /**
-       * A private emitter used to pass events inside this class.
-       */
-      emitter;
-      /**
-       * Creates an instance of Batch.
-       * @param concurrency -
-       */
-      constructor(concurrency = 5) {
-        if (concurrency < 1) {
-          throw new RangeError("concurrency must be larger than 0");
-        }
-        this.concurrency = concurrency;
-        this.emitter = new events_1.EventEmitter();
-      }
-      /**
-       * Add a operation into queue.
-       *
-       * @param operation -
-       */
-      addOperation(operation) {
-        this.operations.push(async () => {
-          try {
-            this.actives++;
-            await operation();
-            this.actives--;
-            this.completed++;
-            this.parallelExecute();
-          } catch (error3) {
-            this.emitter.emit("error", error3);
-          }
-        });
+    exports2.validateFilePath = exports2.validateArtifactName = void 0;
+    var core_1 = require_core();
+    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
+      ['"', ' Double quote "'],
+      [":", " Colon :"],
+      ["<", " Less than <"],
+      [">", " Greater than >"],
+      ["|", " Vertical bar |"],
+      ["*", " Asterisk *"],
+      ["?", " Question mark ?"],
+      ["\r", " Carriage return \\r"],
+      ["\n", " Line feed \\n"]
+    ]);
+    var invalidArtifactNameCharacters = new Map([
+      ...invalidArtifactFilePathCharacters,
+      ["\\", " Backslash \\"],
+      ["/", " Forward slash /"]
+    ]);
+    function validateArtifactName(name) {
+      if (!name) {
+        throw new Error(`Provided artifact name input during validation is empty`);
       }
-      /**
-       * Start execute operations in the queue.
-       *
-       */
-      async do() {
-        if (this.operations.length === 0) {
-          return Promise.resolve();
+      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
+        if (name.includes(invalidCharacterKey)) {
+          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
+          
+Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
+          
+These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
         }
-        this.parallelExecute();
-        return new Promise((resolve3, reject) => {
-          this.emitter.on("finish", resolve3);
-          this.emitter.on("error", (error3) => {
-            this.state = BatchStates.Error;
-            reject(error3);
-          });
-        });
       }
-      /**
-       * Get next operation to be executed. Return null when reaching ends.
-       *
-       */
-      nextOperation() {
-        if (this.offset < this.operations.length) {
-          return this.operations[this.offset++];
-        }
-        return null;
+      (0, core_1.info)(`Artifact name is valid!`);
+    }
+    exports2.validateArtifactName = validateArtifactName;
+    function validateFilePath(path4) {
+      if (!path4) {
+        throw new Error(`Provided file path input during validation is empty`);
       }
-      /**
-       * Start execute operations. One one the most important difference between
-       * this method with do() is that do() wraps as an sync method.
-       *
-       */
-      parallelExecute() {
-        if (this.state === BatchStates.Error) {
-          return;
-        }
-        if (this.completed >= this.operations.length) {
-          this.emitter.emit("finish");
-          return;
-        }
-        while (this.actives < this.concurrency) {
-          const operation = this.nextOperation();
-          if (operation) {
-            operation();
-          } else {
-            return;
-          }
+      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
+        if (path4.includes(invalidCharacterKey)) {
+          throw new Error(`The path for one of the files in artifact is not valid: ${path4}. Contains the following character: ${errorMessageForCharacter}
+          
+Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
+          
+The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
+          `);
         }
       }
+    }
+    exports2.validateFilePath = validateFilePath;
+  }
+});
+
+// node_modules/@actions/artifact/package.json
+var require_package3 = __commonJS({
+  "node_modules/@actions/artifact/package.json"(exports2, module2) {
+    module2.exports = {
+      name: "@actions/artifact",
+      version: "5.0.3",
+      preview: true,
+      description: "Actions artifact lib",
+      keywords: [
+        "github",
+        "actions",
+        "artifact"
+      ],
+      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
+      license: "MIT",
+      main: "lib/artifact.js",
+      types: "lib/artifact.d.ts",
+      directories: {
+        lib: "lib",
+        test: "__tests__"
+      },
+      files: [
+        "lib",
+        "!.DS_Store"
+      ],
+      publishConfig: {
+        access: "public"
+      },
+      repository: {
+        type: "git",
+        url: "git+https://github.com/actions/toolkit.git",
+        directory: "packages/artifact"
+      },
+      scripts: {
+        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
+        test: "cd ../../ && npm run test ./packages/artifact",
+        bootstrap: "cd ../../ && npm run bootstrap",
+        "tsc-run": "tsc",
+        tsc: "npm run bootstrap && npm run tsc-run",
+        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
+      },
+      bugs: {
+        url: "https://github.com/actions/toolkit/issues"
+      },
+      dependencies: {
+        "@actions/core": "^2.0.0",
+        "@actions/github": "^6.0.1",
+        "@actions/http-client": "^3.0.2",
+        "@azure/storage-blob": "^12.29.1",
+        "@octokit/core": "^5.2.1",
+        "@octokit/plugin-request-log": "^1.0.4",
+        "@octokit/plugin-retry": "^3.0.9",
+        "@octokit/request": "^8.4.1",
+        "@octokit/request-error": "^5.1.1",
+        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
+        archiver: "^7.0.1",
+        "jwt-decode": "^3.1.2",
+        "unzip-stream": "^0.3.1"
+      },
+      devDependencies: {
+        "@types/archiver": "^5.3.2",
+        "@types/unzip-stream": "^0.3.4",
+        typedoc: "^0.28.13",
+        "typedoc-plugin-markdown": "^3.17.1",
+        typescript: "^5.2.2"
+      },
+      overrides: {
+        "uri-js": "npm:uri-js-replace@^1.0.1",
+        "node-fetch": "^3.3.2"
+      }
     };
-    exports2.Batch = Batch;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js
-var require_utils7 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
+var require_user_agent2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.fsCreateReadStream = exports2.fsStat = void 0;
-    exports2.streamToBuffer = streamToBuffer;
-    exports2.streamToBuffer2 = streamToBuffer2;
-    exports2.streamToBuffer3 = streamToBuffer3;
-    exports2.readStreamToLocalFile = readStreamToLocalFile;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_fs_1 = tslib_1.__importDefault(require("node:fs"));
-    var node_util_1 = tslib_1.__importDefault(require("node:util"));
-    var constants_js_1 = require_constants15();
-    async function streamToBuffer(stream, buffer, offset, end, encoding) {
-      let pos = 0;
-      const count = end - offset;
-      return new Promise((resolve3, reject) => {
-        const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT);
-        stream.on("readable", () => {
-          if (pos >= count) {
-            clearTimeout(timeout);
-            resolve3();
-            return;
-          }
-          let chunk = stream.read();
-          if (!chunk) {
-            return;
-          }
-          if (typeof chunk === "string") {
-            chunk = Buffer.from(chunk, encoding);
-          }
-          const chunkLength = pos + chunk.length > count ? count - pos : chunk.length;
-          buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength);
-          pos += chunkLength;
-        });
-        stream.on("end", () => {
-          clearTimeout(timeout);
-          if (pos < count) {
-            reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`));
-          }
-          resolve3();
-        });
-        stream.on("error", (msg) => {
-          clearTimeout(timeout);
-          reject(msg);
-        });
-      });
-    }
-    async function streamToBuffer2(stream, buffer, encoding) {
-      let pos = 0;
-      const bufferSize = buffer.length;
-      return new Promise((resolve3, reject) => {
-        stream.on("readable", () => {
-          let chunk = stream.read();
-          if (!chunk) {
-            return;
-          }
-          if (typeof chunk === "string") {
-            chunk = Buffer.from(chunk, encoding);
-          }
-          if (pos + chunk.length > bufferSize) {
-            reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`));
-            return;
-          }
-          buffer.fill(chunk, pos, pos + chunk.length);
-          pos += chunk.length;
-        });
-        stream.on("end", () => {
-          resolve3(pos);
-        });
-        stream.on("error", reject);
-      });
-    }
-    async function streamToBuffer3(readableStream, encoding) {
-      return new Promise((resolve3, reject) => {
-        const chunks = [];
-        readableStream.on("data", (data) => {
-          chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data);
-        });
-        readableStream.on("end", () => {
-          resolve3(Buffer.concat(chunks));
-        });
-        readableStream.on("error", reject);
-      });
-    }
-    async function readStreamToLocalFile(rs, file) {
-      return new Promise((resolve3, reject) => {
-        const ws = node_fs_1.default.createWriteStream(file);
-        rs.on("error", (err) => {
-          reject(err);
-        });
-        ws.on("error", (err) => {
-          reject(err);
-        });
-        ws.on("close", resolve3);
-        rs.pipe(ws);
-      });
+    exports2.getUserAgentString = void 0;
+    var packageJson = require_package3();
+    function getUserAgentString() {
+      return `@actions/artifact-${packageJson.version}`;
     }
-    exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat);
-    exports2.fsCreateReadStream = node_fs_1.default.createReadStream;
+    exports2.getUserAgentString = getUserAgentString;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/Clients.js
-var require_Clients = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/shared/errors.js
+var require_errors4 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_auth_1 = require_commonjs7();
-    var core_util_1 = require_commonjs4();
-    var core_util_2 = require_commonjs4();
-    var BlobDownloadResponse_js_1 = require_BlobDownloadResponse();
-    var BlobQueryResponse_js_1 = require_BlobQueryResponse();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var models_js_1 = require_models2();
-    var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse();
-    var Pipeline_js_1 = require_Pipeline();
-    var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller();
-    var Range_js_1 = require_Range();
-    var StorageClient_js_1 = require_StorageClient();
-    var Batch_js_1 = require_Batch();
-    var storage_common_1 = require_commonjs13();
-    var constants_js_1 = require_constants15();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var utils_js_1 = require_utils7();
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
-    var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient {
-      /**
-       * blobContext provided by protocol layer.
-       */
-      blobContext;
-      _name;
-      _containerName;
-      _versionId;
-      _snapshot;
-      /**
-       * The name of the blob.
-       */
-      get name() {
-        return this._name;
-      }
-      /**
-       * The name of the storage container the blob is associated with.
-       */
-      get containerName() {
-        return this._containerName;
-      }
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        options = options || {};
-        let pipeline;
-        let url;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
-            options = blobNameOrOptions;
-          }
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
-            }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
+    var FilesNotFoundError = class extends Error {
+      constructor(files = []) {
+        let message = "No files were found to upload";
+        if (files.length > 0) {
+          message += `: ${files.join(", ")}`;
         }
-        super(url, pipeline);
-        ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl());
-        this.blobContext = this.storageClientContext.blob;
-        this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT);
-        this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID);
+        super(message);
+        this.files = files;
+        this.name = "FilesNotFoundError";
       }
-      /**
-       * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp
-       */
-      withSnapshot(snapshot) {
-        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+    };
+    exports2.FilesNotFoundError = FilesNotFoundError;
+    var InvalidResponseError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "InvalidResponseError";
       }
-      /**
-       * Creates a new BlobClient object pointing to a version of this blob.
-       * Provide "" will remove the versionId and return a Client to the base blob.
-       *
-       * @param versionId - The versionId.
-       * @returns A new BlobClient object pointing to the version of this blob.
-       */
-      withVersion(versionId) {
-        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline);
+    };
+    exports2.InvalidResponseError = InvalidResponseError;
+    var ArtifactNotFoundError = class extends Error {
+      constructor(message = "Artifact not found") {
+        super(message);
+        this.name = "ArtifactNotFoundError";
       }
-      /**
-       * Creates a AppendBlobClient object.
-       *
-       */
-      getAppendBlobClient() {
-        return new AppendBlobClient(this.url, this.pipeline);
+    };
+    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
+    var GHESNotSupportedError = class extends Error {
+      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
+        super(message);
+        this.name = "GHESNotSupportedError";
       }
-      /**
-       * Creates a BlockBlobClient object.
-       *
-       */
-      getBlockBlobClient() {
-        return new BlockBlobClient(this.url, this.pipeline);
+    };
+    exports2.GHESNotSupportedError = GHESNotSupportedError;
+    var NetworkError = class extends Error {
+      constructor(code) {
+        const message = `Unable to make request: ${code}
+If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
+        super(message);
+        this.code = code;
+        this.name = "NetworkError";
       }
-      /**
-       * Creates a PageBlobClient object.
-       *
-       */
-      getPageBlobClient() {
-        return new PageBlobClient(this.url, this.pipeline);
+    };
+    exports2.NetworkError = NetworkError;
+    NetworkError.isNetworkErrorCode = (code) => {
+      if (!code)
+        return false;
+      return [
+        "ECONNRESET",
+        "ENOTFOUND",
+        "ETIMEDOUT",
+        "ECONNREFUSED",
+        "EHOSTUNREACH"
+      ].includes(code);
+    };
+    var UsageError = class extends Error {
+      constructor() {
+        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
+More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
+        super(message);
+        this.name = "UsageError";
       }
-      /**
-       * Reads or downloads a blob from the system, including its metadata and properties.
-       * You can also call Get Blob to read a snapshot.
-       *
-       * * In Node.js, data returns in a Readable stream readableStreamBody
-       * * In browsers, data returns in a promise blobBody
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob
-       *
-       * @param offset - From which position of the blob to download, greater than or equal to 0
-       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
-       * @param options - Optional options to Blob Download operation.
-       *
-       *
-       * Example usage (Node.js):
-       *
-       * ```ts snippet:ReadmeSampleDownloadBlob_Node
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Get blob content from position 0 to the end
-       * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
-       * const downloadBlockBlobResponse = await blobClient.download();
-       * if (downloadBlockBlobResponse.readableStreamBody) {
-       *   const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody);
-       *   console.log(`Downloaded blob content: ${downloaded}`);
-       * }
-       *
-       * async function streamToString(stream: NodeJS.ReadableStream): Promise {
-       *   const result = await new Promise>((resolve, reject) => {
-       *     const chunks: Buffer[] = [];
-       *     stream.on("data", (data) => {
-       *       chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data));
-       *     });
-       *     stream.on("end", () => {
-       *       resolve(Buffer.concat(chunks));
-       *     });
-       *     stream.on("error", reject);
-       *   });
-       *   return result.toString();
-       * }
-       * ```
-       *
-       * Example usage (browser):
-       *
-       * ```ts snippet:ReadmeSampleDownloadBlob_Browser
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Get blob content from position 0 to the end
-       * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
-       * const downloadBlockBlobResponse = await blobClient.download();
-       * const blobBody = await downloadBlockBlobResponse.blobBody;
-       * if (blobBody) {
-       *   const downloaded = await blobBody.text();
-       *   console.log(`Downloaded blob content: ${downloaded}`);
-       * }
-       * ```
-       */
-      async download(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress
-              // for Node.js, progress is reported by RetriableReadableStream
-            },
-            range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
-            rangeGetContentMD5: options.rangeGetContentMD5,
-            rangeGetContentCRC64: options.rangeGetContentCrc64,
-            snapshot: options.snapshot,
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedRes = {
-            ...res,
-            _response: res._response,
-            // _response is made non-enumerable
-            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
-            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
-          };
-          if (!core_util_1.isNodeLike) {
-            return wrappedRes;
-          }
-          if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) {
-            options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS;
-          }
-          if (res.contentLength === void 0) {
-            throw new RangeError(`File download response doesn't contain valid content length header`);
-          }
-          if (!res.etag) {
-            throw new RangeError(`File download response doesn't contain valid etag header`);
-          }
-          return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => {
-            const updatedDownloadOptions = {
-              leaseAccessConditions: options.conditions,
-              modifiedAccessConditions: {
-                ifMatch: options.conditions.ifMatch || res.etag,
-                ifModifiedSince: options.conditions.ifModifiedSince,
-                ifNoneMatch: options.conditions.ifNoneMatch,
-                ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
-                ifTags: options.conditions?.tagConditions
-              },
-              range: (0, Range_js_1.rangeToString)({
-                count: offset + res.contentLength - start,
-                offset: start
-              }),
-              rangeGetContentMD5: options.rangeGetContentMD5,
-              rangeGetContentCRC64: options.rangeGetContentCrc64,
-              snapshot: options.snapshot,
-              cpkInfo: options.customerProvidedKey
-            };
-            return (await this.blobContext.download({
-              abortSignal: options.abortSignal,
-              ...updatedDownloadOptions
-            })).readableStreamBody;
-          }, offset, res.contentLength, {
-            maxRetryRequests: options.maxRetryRequests,
-            onProgress: options.onProgress
-          });
+    };
+    exports2.UsageError = UsageError;
+    UsageError.isUsageErrorMessage = (msg) => {
+      if (!msg)
+        return false;
+      return msg.includes("insufficient usage");
+    };
+  }
+});
+
+// node_modules/jwt-decode/build/jwt-decode.cjs.js
+var require_jwt_decode_cjs = __commonJS({
+  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
+    "use strict";
+    function e(e2) {
+      this.message = e2;
+    }
+    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
+    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
+      var t2 = String(r2).replace(/=+$/, "");
+      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
+      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
+      return c;
+    };
+    function t(e2) {
+      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
+      switch (t2.length % 4) {
+        case 0:
+          break;
+        case 2:
+          t2 += "==";
+          break;
+        case 3:
+          t2 += "=";
+          break;
+        default:
+          throw "Illegal base64url string!";
+      }
+      try {
+        return (function(e3) {
+          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
+            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
+            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
+          })));
+        })(t2);
+      } catch (e3) {
+        return r(t2);
+      }
+    }
+    function n(e2) {
+      this.message = e2;
+    }
+    function o(e2, r2) {
+      if ("string" != typeof e2) throw new n("Invalid token specified");
+      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
+      try {
+        return JSON.parse(t(e2.split(".")[o2]));
+      } catch (e3) {
+        throw new n("Invalid token specified: " + e3.message);
+      }
+    }
+    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
+    var a = o;
+    a.default = o, a.InvalidTokenError = n, module2.exports = a;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/util.js
+var require_util19 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
+    var core14 = __importStar2(require_core());
+    var config_1 = require_config2();
+    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
+    var core_1 = require_core();
+    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
+    function getBackendIdsFromToken() {
+      const token = (0, config_1.getRuntimeToken)();
+      const decoded = (0, jwt_decode_1.default)(token);
+      if (!decoded.scp) {
+        throw InvalidJwtError;
+      }
+      const scpParts = decoded.scp.split(" ");
+      if (scpParts.length === 0) {
+        throw InvalidJwtError;
+      }
+      for (const scopes of scpParts) {
+        const scopeParts = scopes.split(":");
+        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
+          continue;
+        }
+        if (scopeParts.length !== 3) {
+          throw InvalidJwtError;
+        }
+        const ids = {
+          workflowRunBackendId: scopeParts[1],
+          workflowJobRunBackendId: scopeParts[2]
+        };
+        core14.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
+        core14.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
+        return ids;
+      }
+      throw InvalidJwtError;
+    }
+    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
+    function maskSigUrl(url) {
+      if (!url)
+        return;
+      try {
+        const parsedUrl = new URL(url);
+        const signature = parsedUrl.searchParams.get("sig");
+        if (signature) {
+          (0, core_1.setSecret)(signature);
+          (0, core_1.setSecret)(encodeURIComponent(signature));
+        }
+      } catch (error3) {
+        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
+      }
+    }
+    exports2.maskSigUrl = maskSigUrl;
+    function maskSecretUrls(body) {
+      if (typeof body !== "object" || body === null) {
+        (0, core_1.debug)("body is not an object or is null");
+        return;
+      }
+      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
+        maskSigUrl(body.signed_upload_url);
+      }
+      if ("signed_url" in body && typeof body.signed_url === "string") {
+        maskSigUrl(body.signed_url);
+      }
+    }
+    exports2.maskSecretUrls = maskSecretUrls;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
+var require_artifact_twirp_client2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
         });
       }
-      /**
-       * Returns true if the Azure blob resource represented by this client exists; false otherwise.
-       *
-       * NOTE: use this function with care since an existing blob might be deleted by other clients or
-       * applications. Vice versa new blobs might be added by other clients or applications after this
-       * function completes.
-       *
-       * @param options - options to Exists operation.
-       */
-      async exists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => {
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
           try {
-            (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-            await this.getProperties({
-              abortSignal: options.abortSignal,
-              customerProvidedKey: options.customerProvidedKey,
-              conditions: options.conditions,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            return true;
+            step(generator.next(value));
           } catch (e) {
-            if (e.statusCode === 404) {
-              return false;
-            } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) {
-              return true;
-            }
-            throw e;
+            reject(e);
           }
-        });
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.internalArtifactTwirpClient = void 0;
+    var http_client_1 = require_lib();
+    var auth_1 = require_auth();
+    var core_1 = require_core();
+    var generated_1 = require_generated();
+    var config_1 = require_config2();
+    var user_agent_1 = require_user_agent2();
+    var errors_1 = require_errors4();
+    var util_1 = require_util19();
+    var ArtifactHttpClient = class {
+      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
+        this.maxAttempts = 5;
+        this.baseRetryIntervalMilliseconds = 3e3;
+        this.retryMultiplier = 1.5;
+        const token = (0, config_1.getRuntimeToken)();
+        this.baseUrl = (0, config_1.getResultsServiceUrl)();
+        if (maxAttempts) {
+          this.maxAttempts = maxAttempts;
+        }
+        if (baseRetryIntervalMilliseconds) {
+          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        }
+        if (retryMultiplier) {
+          this.retryMultiplier = retryMultiplier;
+        }
+        this.httpClient = new http_client_1.HttpClient(userAgent2, [
+          new auth_1.BearerCredentialHandler(token)
+        ]);
       }
-      /**
-       * Returns all user-defined metadata, standard HTTP properties, and system properties
-       * for the blob. It does not return the content of the blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties
-       *
-       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
-       * they originally contained uppercase characters. This differs from the metadata keys returned by
-       * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which
-       * will retain their original casing.
-       *
-       * @param options - Optional options to Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return {
-            ...res,
-            _response: res._response,
-            // _response is made non-enumerable
-            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
-            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+      // This function satisfies the Rpc interface. It is compatible with the JSON
+      // JSON generated client.
+      request(service, method, contentType, data) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
+          (0, core_1.debug)(`[Request] ${method} ${url}`);
+          const headers = {
+            "Content-Type": contentType
           };
+          try {
+            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
+              return this.httpClient.post(url, JSON.stringify(data), headers);
+            }));
+            return body;
+          } catch (error3) {
+            throw new Error(`Failed to ${method}: ${error3.message}`);
+          }
         });
       }
-      /**
-       * Marks the specified blob or snapshot for deletion. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param options - Optional options to Blob Delete operation.
-       */
-      async delete(options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({
-            abortSignal: options.abortSignal,
-            deleteSnapshots: options.deleteSnapshots,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param options - Optional options to Blob Delete operation.
-       */
-      async deleteIfExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
-          try {
-            const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobNotFound") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+      retryableRequest(operation) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let attempt = 0;
+          let errorMessage = "";
+          let rawBody = "";
+          while (attempt < this.maxAttempts) {
+            let isRetryable = false;
+            try {
+              const response = yield operation();
+              const statusCode = response.message.statusCode;
+              rawBody = yield response.readBody();
+              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
+              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
+              const body = JSON.parse(rawBody);
+              (0, util_1.maskSecretUrls)(body);
+              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
+              if (this.isSuccessStatusCode(statusCode)) {
+                return { response, body };
+              }
+              isRetryable = this.isRetryableHttpStatusCode(statusCode);
+              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
+              if (body.msg) {
+                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
+                  throw new errors_1.UsageError();
+                }
+                errorMessage = `${errorMessage}: ${body.msg}`;
+              }
+            } catch (error3) {
+              if (error3 instanceof SyntaxError) {
+                (0, core_1.debug)(`Raw Body: ${rawBody}`);
+              }
+              if (error3 instanceof errors_1.UsageError) {
+                throw error3;
+              }
+              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+              }
+              isRetryable = true;
+              errorMessage = error3.message;
             }
-            throw e;
+            if (!isRetryable) {
+              throw new Error(`Received non-retryable error: ${errorMessage}`);
+            }
+            if (attempt + 1 === this.maxAttempts) {
+              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
+            }
+            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
+            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
+            yield this.sleep(retryTimeMilliseconds);
+            attempt++;
           }
+          throw new Error(`Request failed`);
         });
       }
-      /**
-       * Restores the contents and metadata of soft deleted blob and any associated
-       * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29
-       * or later.
-       * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob
-       *
-       * @param options - Optional options to Blob Undelete operation.
-       */
-      async undelete(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      isSuccessStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        return statusCode >= 200 && statusCode < 300;
       }
-      /**
-       * Sets system properties on the blob.
-       *
-       * If no value provided, or no value provided for the specified blob HTTP headers,
-       * these blob HTTP headers without a value will be cleared.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param blobHTTPHeaders - If no value provided, or no value provided for
-       *                                                   the specified blob HTTP headers, these blob HTTP
-       *                                                   headers without a value will be cleared.
-       *                                                   A common header to set is `blobContentType`
-       *                                                   enabling the browser to provide functionality
-       *                                                   based on file type.
-       * @param options - Optional options to Blob Set HTTP Headers operation.
-       */
-      async setHTTPHeaders(blobHTTPHeaders, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      isRetryableHttpStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        const retryableStatusCodes = [
+          http_client_1.HttpCodes.BadGateway,
+          http_client_1.HttpCodes.GatewayTimeout,
+          http_client_1.HttpCodes.InternalServerError,
+          http_client_1.HttpCodes.ServiceUnavailable,
+          http_client_1.HttpCodes.TooManyRequests
+        ];
+        return retryableStatusCodes.includes(statusCode);
       }
-      /**
-       * Sets user-defined metadata for the specified blob as one or more name-value pairs.
-       *
-       * If no option provided, or no metadata defined in the parameter, the blob
-       * metadata will be removed.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata
-       *
-       * @param metadata - Replace existing metadata with this value.
-       *                               If no value provided the existing metadata will be removed.
-       * @param options - Optional options to Set Metadata operation.
-       */
-      async setMetadata(metadata, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      sleep(milliseconds) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve3) => setTimeout(resolve3, milliseconds));
         });
       }
-      /**
-       * Sets tags on the underlying blob.
-       * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters.  Tag values must be between 0 and 256 characters.
-       * Valid tag key and value characters include lower and upper case letters, digits (0-9),
-       * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').
-       *
-       * @param tags -
-       * @param options -
-       */
-      async setTags(tags, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions,
-            tags: (0, utils_common_js_1.toBlobTags)(tags)
-          }));
-        });
+      getExponentialRetryTimeMilliseconds(attempt) {
+        if (attempt < 0) {
+          throw new Error("attempt should be a positive integer");
+        }
+        if (attempt === 0) {
+          return this.baseRetryIntervalMilliseconds;
+        }
+        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
+        const maxTime = minTime * this.retryMultiplier;
+        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
+      }
+    };
+    function internalArtifactTwirpClient(options) {
+      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
+      return new generated_1.ArtifactServiceClientJSON(client);
+    }
+    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
+var require_upload_zip_specification = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      /**
-       * Gets the tags associated with the underlying blob.
-       *
-       * @param options -
-       */
-      async getTags(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {}
-          };
-          return wrappedResponse;
-        });
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      /**
-       * Get a {@link BlobLeaseClient} that manages leases on the blob.
-       *
-       * @param proposeLeaseId - Initial proposed lease Id.
-       * @returns A new BlobLeaseClient object for managing leases on the blob.
-       */
-      getBlobLeaseClient(proposeLeaseId) {
-        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
+    var fs3 = __importStar2(require("fs"));
+    var core_1 = require_core();
+    var path_1 = require("path");
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    function validateRootDirectory(rootDirectory) {
+      if (!fs3.existsSync(rootDirectory)) {
+        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
       }
-      /**
-       * Creates a read-only snapshot of a blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob
-       *
-       * @param options - Optional options to the Blob Create Snapshot operation.
-       */
-      async createSnapshot(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (!fs3.statSync(rootDirectory).isDirectory()) {
+        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
       }
-      /**
-       * Asynchronously copies a blob to a destination within the storage account.
-       * This method returns a long running operation poller that allows you to wait
-       * indefinitely until the copy is completed.
-       * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller.
-       * Note that the onProgress callback will not be invoked if the operation completes in the first
-       * request, and attempting to cancel a completed copy will result in an error being thrown.
-       *
-       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
-       * a committed blob in any Azure storage account.
-       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
-       * an Azure file in any Azure storage account.
-       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
-       * operation to copy from another storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
-       *
-       * ```ts snippet:ClientsBeginCopyFromURL
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Example using automatic polling
-       * const automaticCopyPoller = await blobClient.beginCopyFromURL("url");
-       * const automaticResult = await automaticCopyPoller.pollUntilDone();
-       *
-       * // Example using manual polling
-       * const manualCopyPoller = await blobClient.beginCopyFromURL("url");
-       * while (!manualCopyPoller.isDone()) {
-       *   await manualCopyPoller.poll();
-       * }
-       * const manualResult = manualCopyPoller.getResult();
-       *
-       * // Example using progress updates
-       * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", {
-       *   onProgress(state) {
-       *     console.log(`Progress: ${state.copyProgress}`);
-       *   },
-       * });
-       * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone();
-       *
-       * // Example using a changing polling interval (default 15 seconds)
-       * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", {
-       *   intervalInMs: 1000, // poll blob every 1 second for copy progress
-       * });
-       * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone();
-       *
-       * // Example using copy cancellation:
-       * const cancelCopyPoller = await blobClient.beginCopyFromURL("url");
-       * // cancel operation after starting it.
-       * try {
-       *   await cancelCopyPoller.cancelOperation();
-       *   // calls to get the result now throw PollerCancelledError
-       *   cancelCopyPoller.getResult();
-       * } catch (err: any) {
-       *   if (err.name === "PollerCancelledError") {
-       *     console.log("The copy was cancelled.");
-       *   }
-       * }
-       * ```
-       *
-       * @param copySource - url to the source Azure Blob/File.
-       * @param options - Optional options to the Blob Start Copy From URL operation.
-       */
-      async beginCopyFromURL(copySource, options = {}) {
-        const client = {
-          abortCopyFromURL: (...args) => this.abortCopyFromURL(...args),
-          getProperties: (...args) => this.getProperties(...args),
-          startCopyFromURL: (...args) => this.startCopyFromURL(...args)
-        };
-        const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({
-          blobClient: client,
-          copySource,
-          intervalInMs: options.intervalInMs,
-          onProgress: options.onProgress,
-          resumeFrom: options.resumeFrom,
-          startCopyFromURLOptions: options
-        });
-        await poller.poll();
-        return poller;
+      (0, core_1.info)(`Root directory input is valid!`);
+    }
+    exports2.validateRootDirectory = validateRootDirectory;
+    function getUploadZipSpecification(filesToZip, rootDirectory) {
+      const specification = [];
+      rootDirectory = (0, path_1.normalize)(rootDirectory);
+      rootDirectory = (0, path_1.resolve)(rootDirectory);
+      for (let file of filesToZip) {
+        const stats = fs3.lstatSync(file, { throwIfNoEntry: false });
+        if (!stats) {
+          throw new Error(`File ${file} does not exist`);
+        }
+        if (!stats.isDirectory()) {
+          file = (0, path_1.normalize)(file);
+          file = (0, path_1.resolve)(file);
+          if (!file.startsWith(rootDirectory)) {
+            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
+          }
+          const uploadPath = file.replace(rootDirectory, "");
+          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
+          specification.push({
+            sourcePath: file,
+            destinationPath: uploadPath,
+            stats
+          });
+        } else {
+          const directoryPath = file.replace(rootDirectory, "");
+          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
+          specification.push({
+            sourcePath: null,
+            destinationPath: directoryPath,
+            stats
+          });
+        }
       }
-      /**
-       * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero
-       * length and full metadata. Version 2012-02-12 and newer.
-       * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob
-       *
-       * @param copyId - Id of the Copy From URL operation.
-       * @param options - Optional options to the Blob Abort Copy From URL operation.
-       */
-      async abortCopyFromURL(copyId, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return specification;
+    }
+    exports2.getUploadZipSpecification = getUploadZipSpecification;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
+var require_blob_upload = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      /**
-       * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not
-       * return a response until the copy is complete.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url
-       *
-       * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication
-       * @param options -
-       */
-      async syncCopyFromURL(copySource, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, {
-            abortSignal: options.abortSignal,
-            metadata: options.metadata,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            sourceContentMD5: options.sourceContentMD5,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            encryptionScope: options.encryptionScope,
-            copySourceTags: options.copySourceTags,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      /**
-       * Sets the tier on a blob. The operation is allowed on a page blob in a premium
-       * storage account and on a block blob in a blob storage account (locally redundant
-       * storage only). A premium page blob's tier determines the allowed size, IOPS,
-       * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive
-       * storage type. This operation does not update the blob's ETag.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier
-       *
-       * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive.
-       * @param options - Optional options to the Blob Set Tier operation.
-       */
-      async setAccessTier(tier, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            rehydratePriority: options.rehydratePriority,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
         });
       }
-      async downloadToBuffer(param1, param2, param3, param4 = {}) {
-        let buffer;
-        let offset = 0;
-        let count = 0;
-        let options = param4;
-        if (param1 instanceof Buffer) {
-          buffer = param1;
-          offset = param2 || 0;
-          count = typeof param3 === "number" ? param3 : 0;
-        } else {
-          offset = typeof param1 === "number" ? param1 : 0;
-          count = typeof param2 === "number" ? param2 : 0;
-          options = param3 || {};
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        let blockSize = options.blockSize ?? 0;
-        if (blockSize < 0) {
-          throw new RangeError("blockSize option must be >= 0");
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (blockSize === 0) {
-          blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-        if (offset < 0) {
-          throw new RangeError("offset option must be >= 0");
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadZipToBlobStorage = void 0;
+    var storage_blob_1 = require_commonjs15();
+    var config_1 = require_config2();
+    var core14 = __importStar2(require_core());
+    var crypto2 = __importStar2(require("crypto"));
+    var stream = __importStar2(require("stream"));
+    var errors_1 = require_errors4();
+    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        let uploadByteCount = 0;
+        let lastProgressTime = Date.now();
+        const abortController = new AbortController();
+        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve3, reject) => {
+            const timer = setInterval(() => {
+              if (Date.now() - lastProgressTime > interval) {
+                reject(new Error("Upload progress stalled."));
+              }
+            }, interval);
+            abortController.signal.addEventListener("abort", () => {
+              clearInterval(timer);
+              resolve3();
+            });
+          });
+        });
+        const maxConcurrency = (0, config_1.getConcurrency)();
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
+        const blockBlobClient = blobClient.getBlockBlobClient();
+        core14.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
+        const uploadCallback = (progress) => {
+          core14.info(`Uploaded bytes ${progress.loadedBytes}`);
+          uploadByteCount = progress.loadedBytes;
+          lastProgressTime = Date.now();
+        };
+        const options = {
+          blobHTTPHeaders: { blobContentType: "zip" },
+          onProgress: uploadCallback,
+          abortSignal: abortController.signal
+        };
+        let sha256Hash = void 0;
+        const uploadStream = new stream.PassThrough();
+        const hashStream = crypto2.createHash("sha256");
+        zipUploadStream.pipe(uploadStream);
+        zipUploadStream.pipe(hashStream).setEncoding("hex");
+        core14.info("Beginning upload of artifact content to blob storage");
+        try {
+          yield Promise.race([
+            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
+            chunkTimer((0, config_1.getUploadChunkTimeout)())
+          ]);
+        } catch (error3) {
+          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+          }
+          throw error3;
+        } finally {
+          abortController.abort();
         }
-        if (count && count <= 0) {
-          throw new RangeError("count option must be greater than 0");
+        core14.info("Finished uploading artifact content to blob storage!");
+        hashStream.end();
+        sha256Hash = hashStream.read();
+        core14.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
+        if (uploadByteCount === 0) {
+          core14.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
         }
-        if (!options.conditions) {
-          options.conditions = {};
+        return {
+          uploadSize: uploadByteCount,
+          sha256Hash
+        };
+      });
+    }
+    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
+  }
+});
+
+// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
+var require_path = __commonJS({
+  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
+    var isWindows = typeof process === "object" && process && process.platform === "win32";
+    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
+  }
+});
+
+// node_modules/readdir-glob/node_modules/brace-expansion/index.js
+var require_brace_expansion2 = __commonJS({
+  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
+    var balanced = require_balanced_match();
+    module2.exports = expandTop;
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    function numeric(str2) {
+      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
+    }
+    function escapeBraces(str2) {
+      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
+    }
+    function unescapeBraces(str2) {
+      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
+    }
+    function parseCommaParts(str2) {
+      if (!str2)
+        return [""];
+      var parts = [];
+      var m = balanced("{", "}", str2);
+      if (!m)
+        return str2.split(",");
+      var pre = m.pre;
+      var body = m.body;
+      var post = m.post;
+      var p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      var postParts = parseCommaParts(post);
+      if (post.length) {
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
+      }
+      parts.push.apply(parts, p);
+      return parts;
+    }
+    function expandTop(str2) {
+      if (!str2)
+        return [];
+      if (str2.substr(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.substr(2);
+      }
+      return expand2(escapeBraces(str2), true).map(unescapeBraces);
+    }
+    function embrace(str2) {
+      return "{" + str2 + "}";
+    }
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
+    }
+    function lte(i, y) {
+      return i <= y;
+    }
+    function gte6(i, y) {
+      return i >= y;
+    }
+    function expand2(str2, isTop) {
+      var expansions = [];
+      var m = balanced("{", "}", str2);
+      if (!m) return [str2];
+      var pre = m.pre;
+      var post = m.post.length ? expand2(m.post, false) : [""];
+      if (/\$$/.test(m.pre)) {
+        for (var k = 0; k < post.length; k++) {
+          var expansion = pre + "{" + m.body + "}" + post[k];
+          expansions.push(expansion);
         }
-        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
-          if (!count) {
-            const response = await this.getProperties({
-              ...options,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            count = response.contentLength - offset;
-            if (count < 0) {
-              throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
-            }
+      } else {
+        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+        var isSequence = isNumericSequence || isAlphaSequence;
+        var isOptions = m.body.indexOf(",") >= 0;
+        if (!isSequence && !isOptions) {
+          if (m.post.match(/,(?!,).*\}/)) {
+            str2 = m.pre + "{" + m.body + escClose + m.post;
+            return expand2(str2);
           }
-          if (!buffer) {
-            try {
-              buffer = Buffer.alloc(count);
-            } catch (error3) {
-              throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile".	 ${error3.message}`);
+          return [str2];
+        }
+        var n;
+        if (isSequence) {
+          n = m.body.split(/\.\./);
+        } else {
+          n = parseCommaParts(m.body);
+          if (n.length === 1) {
+            n = expand2(n[0], false).map(embrace);
+            if (n.length === 1) {
+              return post.map(function(p) {
+                return m.pre + n[0] + p;
+              });
             }
           }
-          if (buffer.length < count) {
-            throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`);
+        }
+        var N;
+        if (isSequence) {
+          var x = numeric(n[0]);
+          var y = numeric(n[1]);
+          var width = Math.max(n[0].length, n[1].length);
+          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
+          var test = lte;
+          var reverse = y < x;
+          if (reverse) {
+            incr *= -1;
+            test = gte6;
           }
-          let transferProgress = 0;
-          const batch = new Batch_js_1.Batch(options.concurrency);
-          for (let off = offset; off < offset + count; off = off + blockSize) {
-            batch.addOperation(async () => {
-              let chunkEnd = offset + count;
-              if (off + blockSize < chunkEnd) {
-                chunkEnd = off + blockSize;
-              }
-              const response = await this.download(off, chunkEnd - off, {
-                abortSignal: options.abortSignal,
-                conditions: options.conditions,
-                maxRetryRequests: options.maxRetryRequestsPerBlock,
-                customerProvidedKey: options.customerProvidedKey,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              const stream = response.readableStreamBody;
-              await (0, utils_js_1.streamToBuffer)(stream, buffer, off - offset, chunkEnd - offset);
-              transferProgress += chunkEnd - off;
-              if (options.onProgress) {
-                options.onProgress({ loadedBytes: transferProgress });
+          var pad = n.some(isPadded);
+          N = [];
+          for (var i = x; test(i, y); i += incr) {
+            var c;
+            if (isAlphaSequence) {
+              c = String.fromCharCode(i);
+              if (c === "\\")
+                c = "";
+            } else {
+              c = String(i);
+              if (pad) {
+                var need = width - c.length;
+                if (need > 0) {
+                  var z = new Array(need + 1).join("0");
+                  if (i < 0)
+                    c = "-" + z + c.slice(1);
+                  else
+                    c = z + c;
+                }
               }
-            });
-          }
-          await batch.do();
-          return buffer;
-        });
-      }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Downloads an Azure Blob to a local file.
-       * Fails if the the given file path already exits.
-       * Offset and count are optional, pass 0 and undefined respectively to download the entire blob.
-       *
-       * @param filePath -
-       * @param offset - From which position of the block blob to download.
-       * @param count - How much data to be downloaded. Will download to the end when passing undefined.
-       * @param options - Options to Blob download options.
-       * @returns The response data for blob download operation,
-       *                                                 but with readableStreamBody set to undefined since its
-       *                                                 content is already read and written into a local file
-       *                                                 at the specified path.
-       */
-      async downloadToFile(filePath, offset = 0, count, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
-          const response = await this.download(offset, count, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          });
-          if (response.readableStreamBody) {
-            await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath);
+            }
+            N.push(c);
           }
-          response.blobDownloadStream = void 0;
-          return response;
-        });
-      }
-      getBlobAndContainerNamesFromUrl() {
-        let containerName;
-        let blobName;
-        try {
-          const parsedUrl = new URL(this.url);
-          if (parsedUrl.host.split(".")[1] === "blob") {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
-            containerName = pathComponents[1];
-            blobName = pathComponents[3];
-          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?");
-            containerName = pathComponents[2];
-            blobName = pathComponents[4];
-          } else {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
-            containerName = pathComponents[1];
-            blobName = pathComponents[3];
+        } else {
+          N = [];
+          for (var j = 0; j < n.length; j++) {
+            N.push.apply(N, expand2(n[j], false));
           }
-          containerName = decodeURIComponent(containerName);
-          blobName = decodeURIComponent(blobName);
-          blobName = blobName.replace(/\\/g, "/");
-          if (!containerName) {
-            throw new Error("Provided containerName is invalid.");
+        }
+        for (var j = 0; j < N.length; j++) {
+          for (var k = 0; k < post.length; k++) {
+            var expansion = pre + N[j] + post[k];
+            if (!isTop || isSequence || expansion)
+              expansions.push(expansion);
           }
-          return { blobName, containerName };
-        } catch (error3) {
-          throw new Error("Unable to extract blobName and containerName with provided information.");
         }
       }
-      /**
-       * Asynchronously copies a blob to a destination within the storage account.
-       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
-       * a committed blob in any Azure storage account.
-       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
-       * an Azure file in any Azure storage account.
-       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
-       * operation to copy from another storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
-       *
-       * @param copySource - url to the source Azure Blob/File.
-       * @param options - Optional options to the Blob Start Copy From URL operation.
-       */
-      async startCopyFromURL(copySource, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
-          options.conditions = options.conditions || {};
-          options.sourceConditions = options.sourceConditions || {};
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
-              sourceIfTags: options.sourceConditions.tagConditions
-            },
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            rehydratePriority: options.rehydratePriority,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            sealBlob: options.sealBlob,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return expansions;
+    }
+  }
+});
+
+// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
+var require_minimatch2 = __commonJS({
+  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
+    var minimatch = module2.exports = (p, pattern, options = {}) => {
+      assertValidPattern(pattern);
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasUrl(options) {
-        return new Promise((resolve3) => {
-          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
-          }
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            blobName: this._name,
-            snapshotTime: this._snapshot,
-            versionId: this._versionId,
-            ...options
-          }, this.credential).toString();
-          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      return new Minimatch(pattern, options).match(p);
+    };
+    module2.exports = minimatch;
+    var path4 = require_path();
+    minimatch.sep = path4.sep;
+    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+    minimatch.GLOBSTAR = GLOBSTAR;
+    var expand2 = require_brace_expansion2();
+    var plTypes = {
+      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
+      "?": { open: "(?:", close: ")?" },
+      "+": { open: "(?:", close: ")+" },
+      "*": { open: "(?:", close: ")*" },
+      "@": { open: "(?:", close: ")" }
+    };
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var charSet = (s) => s.split("").reduce((set2, c) => {
+      set2[c] = true;
+      return set2;
+    }, {});
+    var reSpecials = charSet("().*{}+?[]^$\\!");
+    var addPatternStartSet = charSet("[.(");
+    var slashSplit = /\/+/;
+    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
+    var ext = (a, b = {}) => {
+      const t = {};
+      Object.keys(a).forEach((k) => t[k] = a[k]);
+      Object.keys(b).forEach((k) => t[k] = b[k]);
+      return t;
+    };
+    minimatch.defaults = (def) => {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return minimatch;
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
-      generateSasStringToSign(options) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+      const orig = minimatch;
+      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
+      m.Minimatch = class Minimatch extends orig.Minimatch {
+        constructor(pattern, options) {
+          super(pattern, ext(def, options));
         }
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          blobName: this._name,
-          snapshotTime: this._snapshot,
-          versionId: this._versionId,
-          ...options
-        }, this.credential).stringToSign;
+      };
+      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
+      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
+      m.defaults = (options) => orig.defaults(ext(def, options));
+      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
+      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
+      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
+      return m;
+    };
+    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
+    var braceExpand = (pattern, options = {}) => {
+      assertValidPattern(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
       }
-      /**
-       *
-       * Generates a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasUrl(options, userDelegationKey) {
-        return new Promise((resolve3) => {
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            blobName: this._name,
-            snapshotTime: this._snapshot,
-            versionId: this._versionId,
-            ...options
-          }, userDelegationKey, this.accountName).toString();
-          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      return expand2(pattern);
+    };
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = (pattern) => {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasStringToSign(options, userDelegationKey) {
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          blobName: this._name,
-          snapshotTime: this._snapshot,
-          versionId: this._versionId,
-          ...options
-        }, userDelegationKey, this.accountName).stringToSign;
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
       }
-      /**
-       * Delete the immutablility policy on the blob.
-       *
-       * @param options - Optional options to delete immutability policy on the blob.
-       */
-      async deleteImmutabilityPolicy(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    };
+    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
+    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
+    minimatch.match = (list, pattern, options = {}) => {
+      const mm = new Minimatch(pattern, options);
+      list = list.filter((f) => mm.match(f));
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
       }
-      /**
-       * Set immutability policy on the blob.
-       *
-       * @param options - Optional options to set immutability policy on the blob.
-       */
-      async setImmutabilityPolicy(immutabilityPolicy, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({
-            immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn,
-            immutabilityPolicyMode: immutabilityPolicy.policyMode,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return list;
+    };
+    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
+    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
+    var Minimatch = class {
+      constructor(pattern, options) {
+        assertValidPattern(pattern);
+        if (!options) options = {};
+        this.options = options;
+        this.set = [];
+        this.pattern = pattern;
+        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          this.pattern = this.pattern.replace(/\\/g, "/");
+        }
+        this.regexp = null;
+        this.negate = false;
+        this.comment = false;
+        this.empty = false;
+        this.partial = !!options.partial;
+        this.make();
       }
-      /**
-       * Set legal hold on the blob.
-       *
-       * @param options - Optional options to set legal hold on the blob.
-       */
-      async setLegalHold(legalHoldEnabled, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, {
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      debug() {
       }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      make() {
+        const pattern = this.pattern;
+        const options = this.options;
+        if (!options.nocomment && pattern.charAt(0) === "#") {
+          this.comment = true;
+          return;
+        }
+        if (!pattern) {
+          this.empty = true;
+          return;
+        }
+        this.parseNegate();
+        let set2 = this.globSet = this.braceExpand();
+        if (options.debug) this.debug = (...args) => console.error(...args);
+        this.debug(this.pattern, set2);
+        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
+        this.debug(this.pattern, set2);
+        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
+        this.debug(this.pattern, set2);
+        set2 = set2.filter((s) => s.indexOf(false) === -1);
+        this.debug(this.pattern, set2);
+        this.set = set2;
       }
-    };
-    exports2.BlobClient = BlobClient;
-    var AppendBlobClient = class _AppendBlobClient extends BlobClient {
-      /**
-       * appendBlobsContext provided by protocol layer.
-       */
-      appendBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+      parseNegate() {
+        if (this.options.nonegate) return;
+        const pattern = this.pattern;
+        let negate = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate = !negate;
+          negateOffset++;
+        }
+        if (negateOffset) this.pattern = pattern.slice(negateOffset);
+        this.negate = negate;
+      }
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial) {
+        var options = this.options;
+        this.debug(
+          "matchOne",
+          { "this": this, file, pattern }
+        );
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) return false;
+          if (p === GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              return true;
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
+            }
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) return true;
+            }
+            return false;
+          }
+          var hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
           } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+            hit = f.match(p);
+            this.debug("pattern match", p, f, hit);
           }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+          if (!hit) return false;
         }
-        super(url, pipeline);
-        this.appendBlobContext = this.storageClientContext.appendBlob;
-      }
-      /**
-       * Creates a new AppendBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
+        }
+        throw new Error("wtf?");
       }
-      /**
-       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param options - Options to the Append Block Create operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsCreateAppendBlob
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * const appendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await appendBlobClient.create();
-       * ```
-       */
-      async create(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      braceExpand() {
+        return braceExpand(this.pattern, this.options);
       }
-      /**
-       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
-       * If the blob with the same name already exists, the content of the existing blob will remain unchanged.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param options -
-       */
-      async createIfNotExists(options = {}) {
-        const conditions = { ifNoneMatch: constants_js_1.ETagAny };
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const res = (0, utils_common_js_1.assertResponse)(await this.create({
-              ...updatedOptions,
-              conditions
-            }));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+      parse(pattern, isSub) {
+        assertValidPattern(pattern);
+        const options = this.options;
+        if (pattern === "**") {
+          if (!options.noglobstar)
+            return GLOBSTAR;
+          else
+            pattern = "*";
+        }
+        if (pattern === "") return "";
+        let re = "";
+        let hasMagic = false;
+        let escaping = false;
+        const patternListStack = [];
+        const negativeLists = [];
+        let stateChar;
+        let inClass = false;
+        let reClassStart = -1;
+        let classStart = -1;
+        let cs;
+        let pl;
+        let sp;
+        let dotTravAllowed = pattern.charAt(0) === ".";
+        let dotFileAllowed = options.dot || dotTravAllowed;
+        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+        const clearStateChar = () => {
+          if (stateChar) {
+            switch (stateChar) {
+              case "*":
+                re += star;
+                hasMagic = true;
+                break;
+              case "?":
+                re += qmark;
+                hasMagic = true;
+                break;
+              default:
+                re += "\\" + stateChar;
+                break;
             }
-            throw e;
+            this.debug("clearStateChar %j %j", stateChar, re);
+            stateChar = false;
           }
-        });
-      }
-      /**
-       * Seals the append blob, making it read only.
-       *
-       * @param options -
-       */
-      async seal(options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({
-            abortSignal: options.abortSignal,
-            appendPositionAccessConditions: options.conditions,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Commits a new block of data to the end of the existing append blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/append-block
-       *
-       * @param body - Data to be appended.
-       * @param contentLength - Length of the body in bytes.
-       * @param options - Options to the Append Block operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsAppendBlock
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * const content = "Hello World!";
-       *
-       * // Create a new append blob and append data to the blob.
-       * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await newAppendBlobClient.create();
-       * await newAppendBlobClient.appendBlock(content, content.length);
-       *
-       * // Append data to an existing append blob.
-       * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await existingAppendBlobClient.appendBlock(content, content.length);
-       * ```
-       */
-      async appendBlock(body, contentLength, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, {
-            abortSignal: options.abortSignal,
-            appendPositionAccessConditions: options.conditions,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob
-       * where the contents are read from a source url.
-       * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url
-       *
-       * @param sourceURL -
-       *                 The url to the blob that will be the source of the copy. A source blob in the same storage account can
-       *                 be authenticated via Shared Key. However, if the source is a blob in another account, the source blob
-       *                 must either be public or must be authenticated via a shared access signature. If the source blob is
-       *                 public, no authentication is required to perform the operation.
-       * @param sourceOffset - Offset in source to be appended
-       * @param count - Number of bytes to be appended as a block
-       * @param options -
-       */
-      async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
-            abortSignal: options.abortSignal,
-            sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }),
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            leaseAccessConditions: options.conditions,
-            appendPositionAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-    };
-    exports2.AppendBlobClient = AppendBlobClient;
-    var BlockBlobClient = class _BlockBlobClient extends BlobClient {
-      /**
-       * blobContext provided by protocol layer.
-       *
-       * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API
-       * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient.
-       */
-      _blobContext;
-      /**
-       * blockBlobContext provided by protocol layer.
-       */
-      blockBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
-            options = blobNameOrOptions;
+        };
+        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
+          this.debug("%s	%s %s %j", pattern, i, re, c);
+          if (escaping) {
+            if (c === "/") {
+              return false;
+            }
+            if (reSpecials[c]) {
+              re += "\\";
+            }
+            re += c;
+            escaping = false;
+            continue;
           }
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+          switch (c) {
+            /* istanbul ignore next */
+            case "/": {
+              return false;
+            }
+            case "\\":
+              if (inClass && pattern.charAt(i + 1) === "-") {
+                re += c;
+                continue;
+              }
+              clearStateChar();
+              escaping = true;
+              continue;
+            // the various stateChar values
+            // for the "extglob" stuff.
+            case "?":
+            case "*":
+            case "+":
+            case "@":
+            case "!":
+              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
+              if (inClass) {
+                this.debug("  in class");
+                if (c === "!" && i === classStart + 1) c = "^";
+                re += c;
+                continue;
+              }
+              this.debug("call clearStateChar %j", stateChar);
+              clearStateChar();
+              stateChar = c;
+              if (options.noext) clearStateChar();
+              continue;
+            case "(": {
+              if (inClass) {
+                re += "(";
+                continue;
+              }
+              if (!stateChar) {
+                re += "\\(";
+                continue;
+              }
+              const plEntry = {
+                type: stateChar,
+                start: i - 1,
+                reStart: re.length,
+                open: plTypes[stateChar].open,
+                close: plTypes[stateChar].close
+              };
+              this.debug(this.pattern, "	", plEntry);
+              patternListStack.push(plEntry);
+              re += plEntry.open;
+              if (plEntry.start === 0 && plEntry.type !== "!") {
+                dotTravAllowed = true;
+                re += subPatternStart(pattern.slice(i + 1));
+              }
+              this.debug("plType %j %j", stateChar, re);
+              stateChar = false;
+              continue;
+            }
+            case ")": {
+              const plEntry = patternListStack[patternListStack.length - 1];
+              if (inClass || !plEntry) {
+                re += "\\)";
+                continue;
+              }
+              patternListStack.pop();
+              clearStateChar();
+              hasMagic = true;
+              pl = plEntry;
+              re += pl.close;
+              if (pl.type === "!") {
+                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
+              }
+              continue;
+            }
+            case "|": {
+              const plEntry = patternListStack[patternListStack.length - 1];
+              if (inClass || !plEntry) {
+                re += "\\|";
+                continue;
+              }
+              clearStateChar();
+              re += "|";
+              if (plEntry.start === 0 && plEntry.type !== "!") {
+                dotTravAllowed = true;
+                re += subPatternStart(pattern.slice(i + 1));
+              }
+              continue;
+            }
+            // these are mostly the same in regexp and glob
+            case "[":
+              clearStateChar();
+              if (inClass) {
+                re += "\\" + c;
+                continue;
+              }
+              inClass = true;
+              classStart = i;
+              reClassStart = re.length;
+              re += c;
+              continue;
+            case "]":
+              if (i === classStart + 1 || !inClass) {
+                re += "\\" + c;
+                continue;
+              }
+              cs = pattern.substring(classStart + 1, i);
+              try {
+                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
+                re += c;
+              } catch (er) {
+                re = re.substring(0, reClassStart) + "(?:$.)";
+              }
+              hasMagic = true;
+              inClass = false;
+              continue;
+            default:
+              clearStateChar();
+              if (reSpecials[c] && !(c === "^" && inClass)) {
+                re += "\\";
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              re += c;
+              break;
+          }
+        }
+        if (inClass) {
+          cs = pattern.slice(classStart + 1);
+          sp = this.parse(cs, SUBPARSE);
+          re = re.substring(0, reClassStart) + "\\[" + sp[0];
+          hasMagic = hasMagic || sp[1];
+        }
+        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
+          let tail;
+          tail = re.slice(pl.reStart + pl.open.length);
+          this.debug("setting tail", re, pl);
+          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
+            if (!$2) {
+              $2 = "\\";
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+            return $1 + $1 + $2 + "|";
+          });
+          this.debug("tail=%j\n   %s", tail, tail, pl, re);
+          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
+          hasMagic = true;
+          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+        }
+        clearStateChar();
+        if (escaping) {
+          re += "\\\\";
+        }
+        const addPatternStart = addPatternStartSet[re.charAt(0)];
+        for (let n = negativeLists.length - 1; n > -1; n--) {
+          const nl = negativeLists[n];
+          const nlBefore = re.slice(0, nl.reStart);
+          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
+          let nlAfter = re.slice(nl.reEnd);
+          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
+          const closeParensBefore = nlBefore.split(")").length;
+          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
+          let cleanAfter = nlAfter;
+          for (let i = 0; i < openParensBefore; i++) {
+            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
           }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+          nlAfter = cleanAfter;
+          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
+          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
         }
-        super(url, pipeline);
-        this.blockBlobContext = this.storageClientContext.blockBlob;
-        this._blobContext = this.storageClientContext.blob;
-      }
-      /**
-       * Creates a new BlockBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a URL to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
-      }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Quick query for a JSON or CSV formatted blob.
-       *
-       * Example usage (Node.js):
-       *
-       * ```ts snippet:ClientsQuery
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * // Query and convert a blob to a string
-       * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage");
-       * if (queryBlockBlobResponse.readableStreamBody) {
-       *   const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody);
-       *   const downloaded = downloadedBuffer.toString();
-       *   console.log(`Query blob content: ${downloaded}`);
-       * }
-       *
-       * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise {
-       *   return new Promise((resolve, reject) => {
-       *     const chunks: Buffer[] = [];
-       *     readableStream.on("data", (data) => {
-       *       chunks.push(data instanceof Buffer ? data : Buffer.from(data));
-       *     });
-       *     readableStream.on("end", () => {
-       *       resolve(Buffer.concat(chunks));
-       *     });
-       *     readableStream.on("error", reject);
-       *   });
-       * }
-       * ```
-       *
-       * @param query -
-       * @param options -
-       */
-      async query(query, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        if (!core_util_1.isNodeLike) {
-          throw new Error("This operation currently is only supported in Node.js.");
+        if (re !== "" && hasMagic) {
+          re = "(?=.)" + re;
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({
-            abortSignal: options.abortSignal,
-            queryRequest: {
-              queryType: "SQL",
-              expression: query,
-              inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration),
-              outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration)
-            },
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return new BlobQueryResponse_js_1.BlobQueryResponse(response, {
-            abortSignal: options.abortSignal,
-            onProgress: options.onProgress,
-            onError: options.onError
+        if (addPatternStart) {
+          re = patternStart() + re;
+        }
+        if (isSub === SUBPARSE) {
+          return [re, hasMagic];
+        }
+        if (options.nocase && !hasMagic) {
+          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
+        }
+        if (!hasMagic) {
+          return globUnescape(pattern);
+        }
+        const flags = options.nocase ? "i" : "";
+        try {
+          return Object.assign(new RegExp("^" + re + "$", flags), {
+            _glob: pattern,
+            _src: re
           });
-        });
-      }
-      /**
-       * Creates a new block blob, or updates the content of an existing block blob.
-       * Updating an existing block blob overwrites any existing metadata on the blob.
-       * Partial updates are not supported; the content of the existing blob is
-       * overwritten with the new content. To perform a partial update of a block blob's,
-       * use {@link stageBlock} and {@link commitBlockList}.
-       *
-       * This is a non-parallel uploading method, please use {@link uploadFile},
-       * {@link uploadStream} or {@link uploadBrowserData} for better performance
-       * with concurrency uploading.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
-       *                               which returns a new Readable stream whose offset is from data source beginning.
-       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
-       *                               string including non non-Base64/Hex-encoded characters.
-       * @param options - Options to the Block Blob Upload operation.
-       * @returns Response data for the Block Blob Upload operation.
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsUpload
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * const content = "Hello world!";
-       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
-       * ```
-       */
-      async upload(body, contentLength, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Creates a new Block Blob where the contents of the blob are read from a given URL.
-       * This API is supported beginning with the 2020-04-08 version. Partial updates
-       * are not supported with Put Blob from URL; the content of an existing blob is overwritten with
-       * the content of the new blob.  To perform partial updates to a block blob’s contents using a
-       * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}.
-       *
-       * @param sourceURL - Specifies the URL of the blob. The value
-       *                           may be a URL of up to 2 KB in length that specifies a blob.
-       *                           The value should be URL-encoded as it would appear
-       *                           in a request URI. The source blob must either be public
-       *                           or must be authenticated via a shared access signature.
-       *                           If the source blob is public, no authentication is required
-       *                           to perform the operation. Here are some examples of source object URLs:
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param options - Optional parameters.
-       */
-      async syncUploadFromURL(sourceURL, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
-            ...options,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
-              sourceIfTags: options.sourceConditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            copySourceTags: options.copySourceTags,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+        } catch (er) {
+          return new RegExp("$.");
+        }
       }
-      /**
-       * Uploads the specified block to the block blob's "staging area" to be later
-       * committed by a call to commitBlockList.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block
-       *
-       * @param blockId - A 64-byte value that is base64-encoded
-       * @param body - Data to upload to the staging area.
-       * @param contentLength - Number of bytes to upload.
-       * @param options - Options to the Block Blob Stage Block operation.
-       * @returns Response data for the Block Blob Stage Block operation.
-       */
-      async stageBlock(blockId, body, contentLength, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      makeRe() {
+        if (this.regexp || this.regexp === false) return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
+        }
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = options.nocase ? "i" : "";
+        let re = set2.map((pattern) => {
+          pattern = pattern.map(
+            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
+          ).reduce((set3, p) => {
+            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
+              set3.push(p);
+            }
+            return set3;
+          }, []);
+          pattern.forEach((p, i) => {
+            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
+              return;
+            }
+            if (i === 0) {
+              if (pattern.length > 1) {
+                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
+              } else {
+                pattern[i] = twoStar;
+              }
+            } else if (i === pattern.length - 1) {
+              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
+            } else {
+              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
+              pattern[i + 1] = GLOBSTAR;
+            }
+          });
+          return pattern.filter((p) => p !== GLOBSTAR).join("/");
+        }).join("|");
+        re = "^(?:" + re + ")$";
+        if (this.negate) re = "^(?!" + re + ").*$";
+        try {
+          this.regexp = new RegExp(re, flags);
+        } catch (ex) {
+          this.regexp = false;
+        }
+        return this.regexp;
       }
-      /**
-       * The Stage Block From URL operation creates a new block to be committed as part
-       * of a blob where the contents are read from a URL.
-       * This API is available starting in version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url
-       *
-       * @param blockId - A 64-byte value that is base64-encoded
-       * @param sourceURL - Specifies the URL of the blob. The value
-       *                           may be a URL of up to 2 KB in length that specifies a blob.
-       *                           The value should be URL-encoded as it would appear
-       *                           in a request URI. The source blob must either be public
-       *                           or must be authenticated via a shared access signature.
-       *                           If the source blob is public, no authentication is required
-       *                           to perform the operation. Here are some examples of source object URLs:
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param offset - From which position of the blob to download, greater than or equal to 0
-       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
-       * @param options - Options to the Block Blob Stage Block From URL operation.
-       * @returns Response data for the Block Blob Stage Block From URL operation.
-       */
-      async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) return false;
+        if (this.empty) return f === "";
+        if (f === "/" && partial) return true;
+        const options = this.options;
+        if (path4.sep !== "/") {
+          f = f.split(path4.sep).join("/");
+        }
+        f = f.split(slashSplit);
+        this.debug(this.pattern, "split", f);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename;
+        for (let i = f.length - 1; i >= 0; i--) {
+          filename = f[i];
+          if (filename) break;
+        }
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = f;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
+          }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) return true;
+            return !this.negate;
+          }
+        }
+        if (options.flipNegate) return false;
+        return this.negate;
       }
-      /**
-       * Writes a blob by specifying the list of block IDs that make up the blob.
-       * In order to be written as part of a blob, a block must have been successfully written
-       * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to
-       * update a blob by uploading only those blocks that have changed, then committing the new and existing
-       * blocks together. Any blocks not specified in the block list and permanently deleted.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list
-       *
-       * @param blocks -  Array of 64-byte value that is base64-encoded
-       * @param options - Options to the Block Blob Commit Block List operation.
-       * @returns Response data for the Block Blob Commit Block List operation.
-       */
-      async commitBlockList(blocks, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      static defaults(def) {
+        return minimatch.defaults(def).Minimatch;
       }
-      /**
-       * Returns the list of blocks that have been uploaded as part of a block blob
-       * using the specified block list filter.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list
-       *
-       * @param listType - Specifies whether to return the list of committed blocks,
-       *                                        the list of uncommitted blocks, or both lists together.
-       * @param options - Options to the Block Blob Get Block List operation.
-       * @returns Response data for the Block Blob Get Block List operation.
-       */
-      async getBlockList(listType, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          if (!res.committedBlocks) {
-            res.committedBlocks = [];
-          }
-          if (!res.uncommittedBlocks) {
-            res.uncommittedBlocks = [];
+    };
+    minimatch.Minimatch = Minimatch;
+  }
+});
+
+// node_modules/readdir-glob/index.js
+var require_readdir_glob = __commonJS({
+  "node_modules/readdir-glob/index.js"(exports2, module2) {
+    module2.exports = readdirGlob;
+    var fs3 = require("fs");
+    var { EventEmitter } = require("events");
+    var { Minimatch } = require_minimatch2();
+    var { resolve: resolve3 } = require("path");
+    function readdir(dir, strict) {
+      return new Promise((resolve4, reject) => {
+        fs3.readdir(dir, { withFileTypes: true }, (err, files) => {
+          if (err) {
+            switch (err.code) {
+              case "ENOTDIR":
+                if (strict) {
+                  reject(err);
+                } else {
+                  resolve4([]);
+                }
+                break;
+              case "ENOTSUP":
+              // Operation not supported
+              case "ENOENT":
+              // No such file or directory
+              case "ENAMETOOLONG":
+              // Filename too long
+              case "UNKNOWN":
+                resolve4([]);
+                break;
+              case "ELOOP":
+              // Too many levels of symbolic links
+              default:
+                reject(err);
+                break;
+            }
+          } else {
+            resolve4(files);
           }
-          return res;
         });
-      }
-      // High level functions
-      /**
-       * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob.
-       *
-       * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
-       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
-       * to commit the block list.
-       *
-       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
-       * `blobContentType`, enabling the browser to provide
-       * functionality based on file type.
-       *
-       * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView
-       * @param options -
-       */
-      async uploadData(data, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => {
-          if (core_util_1.isNodeLike) {
-            let buffer;
-            if (data instanceof Buffer) {
-              buffer = data;
-            } else if (data instanceof ArrayBuffer) {
-              buffer = Buffer.from(data);
-            } else {
-              data = data;
-              buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
+      });
+    }
+    function stat(file, followSymlinks) {
+      return new Promise((resolve4, reject) => {
+        const statFunc = followSymlinks ? fs3.stat : fs3.lstat;
+        statFunc(file, (err, stats) => {
+          if (err) {
+            switch (err.code) {
+              case "ENOENT":
+                if (followSymlinks) {
+                  resolve4(stat(file, false));
+                } else {
+                  resolve4(null);
+                }
+                break;
+              default:
+                resolve4(null);
+                break;
             }
-            return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions);
           } else {
-            const browserBlob = new Blob([data]);
-            return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+            resolve4(stats);
           }
         });
-      }
-      /**
-       * ONLY AVAILABLE IN BROWSERS.
-       *
-       * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob.
-       *
-       * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call
-       * {@link commitBlockList} to commit the block list.
-       *
-       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
-       * `blobContentType`, enabling the browser to provide
-       * functionality based on file type.
-       *
-       * @deprecated Use {@link uploadData} instead.
-       *
-       * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView
-       * @param options - Options to upload browser data.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadBrowserData(browserData, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => {
-          const browserBlob = new Blob([browserData]);
-          return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
-        });
-      }
-      /**
-       *
-       * Uploads data to block blob. Requires a bodyFactory as the data source,
-       * which need to return a {@link HttpRequestBody} object with the offset and size provided.
-       *
-       * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
-       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
-       * to commit the block list.
-       *
-       * @param bodyFactory -
-       * @param size - size of the data to upload.
-       * @param options - Options to Upload to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadSeekableInternal(bodyFactory, size, options = {}) {
-        let blockSize = options.blockSize ?? 0;
-        if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
-          throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
-        }
-        const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
-        if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
-          throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
+      });
+    }
+    async function* exploreWalkAsync(dir, path4, followSymlinks, useStat, shouldSkip, strict) {
+      let files = await readdir(path4 + dir, strict);
+      for (const file of files) {
+        let name = file.name;
+        if (name === void 0) {
+          name = file;
+          useStat = true;
         }
-        if (blockSize === 0) {
-          if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
-            throw new RangeError(`${size} is too larger to upload to a block blob.`);
-          }
-          if (size > maxSingleShotSize) {
-            blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS);
-            if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) {
-              blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
-            }
-          }
+        const filename = dir + "/" + name;
+        const relative = filename.slice(1);
+        const absolute = path4 + "/" + relative;
+        let stats = null;
+        if (useStat || followSymlinks) {
+          stats = await stat(absolute, followSymlinks);
         }
-        if (!options.blobHTTPHeaders) {
-          options.blobHTTPHeaders = {};
+        if (!stats && file.name !== void 0) {
+          stats = file;
         }
-        if (!options.conditions) {
-          options.conditions = {};
+        if (stats === null) {
+          stats = { isDirectory: () => false };
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => {
-          if (size <= maxSingleShotSize) {
-            return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions));
-          }
-          const numBlocks = Math.floor((size - 1) / blockSize) + 1;
-          if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
-            throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`);
-          }
-          const blockList = [];
-          const blockIDPrefix = (0, core_util_2.randomUUID)();
-          let transferProgress = 0;
-          const batch = new Batch_js_1.Batch(options.concurrency);
-          for (let i = 0; i < numBlocks; i++) {
-            batch.addOperation(async () => {
-              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i);
-              const start = blockSize * i;
-              const end = i === numBlocks - 1 ? size : start + blockSize;
-              const contentLength = end - start;
-              blockList.push(blockID);
-              await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, {
-                abortSignal: options.abortSignal,
-                conditions: options.conditions,
-                encryptionScope: options.encryptionScope,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              transferProgress += contentLength;
-              if (options.onProgress) {
-                options.onProgress({
-                  loadedBytes: transferProgress
-                });
-              }
-            });
+        if (stats.isDirectory()) {
+          if (!shouldSkip(relative)) {
+            yield { relative, absolute, stats };
+            yield* exploreWalkAsync(filename, path4, followSymlinks, useStat, shouldSkip, false);
           }
-          await batch.do();
-          return this.commitBlockList(blockList, updatedOptions);
-        });
-      }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Uploads a local file in blocks to a block blob.
-       *
-       * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
-       * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList
-       * to commit the block list.
-       *
-       * @param filePath - Full path of local file
-       * @param options - Options to Upload to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadFile(filePath, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => {
-          const size = (await (0, utils_js_1.fsStat)(filePath)).size;
-          return this.uploadSeekableInternal((offset, count) => {
-            return () => (0, utils_js_1.fsCreateReadStream)(filePath, {
-              autoClose: true,
-              end: count ? offset + count - 1 : Infinity,
-              start: offset
-            });
-          }, size, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          });
-        });
+        } else {
+          yield { relative, absolute, stats };
+        }
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Uploads a Node.js Readable stream into block blob.
-       *
-       * PERFORMANCE IMPROVEMENT TIPS:
-       * * Input stream highWaterMark is better to set a same value with bufferSize
-       *    parameter, which will avoid Buffer.concat() operations.
-       *
-       * @param stream - Node.js Readable stream
-       * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB
-       * @param maxConcurrency -  Max concurrency indicates the max number of buffers that can be allocated,
-       *                                 positive correlation with max uploading concurrency. Default value is 5
-       * @param options - Options to Upload Stream to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadStream(stream, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) {
-        if (!options.blobHTTPHeaders) {
-          options.blobHTTPHeaders = {};
+    }
+    async function* explore(path4, followSymlinks, useStat, shouldSkip) {
+      yield* exploreWalkAsync("", path4, followSymlinks, useStat, shouldSkip, true);
+    }
+    function readOptions(options) {
+      return {
+        pattern: options.pattern,
+        dot: !!options.dot,
+        noglobstar: !!options.noglobstar,
+        matchBase: !!options.matchBase,
+        nocase: !!options.nocase,
+        ignore: options.ignore,
+        skip: options.skip,
+        follow: !!options.follow,
+        stat: !!options.stat,
+        nodir: !!options.nodir,
+        mark: !!options.mark,
+        silent: !!options.silent,
+        absolute: !!options.absolute
+      };
+    }
+    var ReaddirGlob = class extends EventEmitter {
+      constructor(cwd, options, cb) {
+        super();
+        if (typeof options === "function") {
+          cb = options;
+          options = null;
         }
-        if (!options.conditions) {
-          options.conditions = {};
+        this.options = readOptions(options || {});
+        this.matchers = [];
+        if (this.options.pattern) {
+          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
+          this.matchers = matchers.map(
+            (m) => new Minimatch(m, {
+              dot: this.options.dot,
+              noglobstar: this.options.noglobstar,
+              matchBase: this.options.matchBase,
+              nocase: this.options.nocase
+            })
+          );
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => {
-          let blockNum = 0;
-          const blockIDPrefix = (0, core_util_2.randomUUID)();
-          let transferProgress = 0;
-          const blockList = [];
-          const scheduler = new storage_common_1.BufferScheduler(
-            stream,
-            bufferSize,
-            maxConcurrency,
-            async (body, length) => {
-              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum);
-              blockList.push(blockID);
-              blockNum++;
-              await this.stageBlock(blockID, body, length, {
-                customerProvidedKey: options.customerProvidedKey,
-                conditions: options.conditions,
-                encryptionScope: options.encryptionScope,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              transferProgress += length;
-              if (options.onProgress) {
-                options.onProgress({ loadedBytes: transferProgress });
-              }
-            },
-            // concurrency should set a smaller value than maxConcurrency, which is helpful to
-            // reduce the possibility when a outgoing handler waits for stream data, in
-            // this situation, outgoing handlers are blocked.
-            // Outgoing queue shouldn't be empty.
-            Math.ceil(maxConcurrency / 4 * 3)
+        this.ignoreMatchers = [];
+        if (this.options.ignore) {
+          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
+          this.ignoreMatchers = ignorePatterns.map(
+            (ignore) => new Minimatch(ignore, { dot: true })
           );
-          await scheduler.do();
-          return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+        }
+        this.skipMatchers = [];
+        if (this.options.skip) {
+          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
+          this.skipMatchers = skipPatterns.map(
+            (skip) => new Minimatch(skip, { dot: true })
+          );
+        }
+        this.iterator = explore(resolve3(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
+        this.paused = false;
+        this.inactive = false;
+        this.aborted = false;
+        if (cb) {
+          this._matches = [];
+          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
+          this.on("error", (err) => cb(err));
+          this.on("end", () => cb(null, this._matches));
+        }
+        setTimeout(() => this._next(), 0);
       }
-    };
-    exports2.BlockBlobClient = BlockBlobClient;
-    var PageBlobClient = class _PageBlobClient extends BlobClient {
-      /**
-       * pageBlobsContext provided by protocol layer.
-       */
-      pageBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+      _shouldSkipDirectory(relative) {
+        return this.skipMatchers.some((m) => m.match(relative));
+      }
+      _fileMatches(relative, isDirectory) {
+        const file = relative + (isDirectory ? "/" : "");
+        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
+      }
+      _next() {
+        if (!this.paused && !this.aborted) {
+          this.iterator.next().then((obj) => {
+            if (!obj.done) {
+              const isDirectory = obj.value.stats.isDirectory();
+              if (this._fileMatches(obj.value.relative, isDirectory)) {
+                let relative = obj.value.relative;
+                let absolute = obj.value.absolute;
+                if (this.options.mark && isDirectory) {
+                  relative += "/";
+                  absolute += "/";
+                }
+                if (this.options.stat) {
+                  this.emit("match", { relative, absolute, stat: obj.value.stats });
+                } else {
+                  this.emit("match", { relative, absolute });
+                }
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+              this._next(this.iterator);
             } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              this.emit("end");
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
+          }).catch((err) => {
+            this.abort();
+            this.emit("error", err);
+            if (!err.code && !this.options.silent) {
+              console.error(err);
+            }
+          });
         } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+          this.inactive = true;
         }
-        super(url, pipeline);
-        this.pageBlobContext = this.storageClientContext.pageBlob;
       }
-      /**
-       * Creates a new PageBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      abort() {
+        this.aborted = true;
       }
-      /**
-       * Creates a page blob of the specified length. Call uploadPages to upload data
-       * data to a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param size - size of the page blob.
-       * @param options - Options to the Page Blob Create operation.
-       * @returns Response data for the Page Blob Create operation.
-       */
-      async create(size, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            blobSequenceNumber: options.blobSequenceNumber,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      pause() {
+        this.paused = true;
+      }
+      resume() {
+        this.paused = false;
+        if (this.inactive) {
+          this.inactive = false;
+          this._next();
+        }
+      }
+    };
+    function readdirGlob(pattern, options, cb) {
+      return new ReaddirGlob(pattern, options, cb);
+    }
+    readdirGlob.ReaddirGlob = ReaddirGlob;
+  }
+});
+
+// node_modules/async/dist/async.js
+var require_async = __commonJS({
+  "node_modules/async/dist/async.js"(exports2, module2) {
+    (function(global2, factory) {
+      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
+    })(exports2, (function(exports3) {
+      "use strict";
+      function apply(fn, ...args) {
+        return (...callArgs) => fn(...args, ...callArgs);
+      }
+      function initialParams(fn) {
+        return function(...args) {
+          var callback = args.pop();
+          return fn.call(this, args, callback);
+        };
+      }
+      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
+      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
+      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
+      function fallback(fn) {
+        setTimeout(fn, 0);
+      }
+      function wrap(defer) {
+        return (fn, ...args) => defer(() => fn(...args));
+      }
+      var _defer$1;
+      if (hasQueueMicrotask) {
+        _defer$1 = queueMicrotask;
+      } else if (hasSetImmediate) {
+        _defer$1 = setImmediate;
+      } else if (hasNextTick) {
+        _defer$1 = process.nextTick;
+      } else {
+        _defer$1 = fallback;
       }
-      /**
-       * Creates a page blob of the specified length. Call uploadPages to upload data
-       * data to a page blob. If the blob with the same name already exists, the content
-       * of the existing blob will remain unchanged.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param size - size of the page blob.
-       * @param options -
-       */
-      async createIfNotExists(size, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
+      var setImmediate$1 = wrap(_defer$1);
+      function asyncify(func) {
+        if (isAsync(func)) {
+          return function(...args) {
+            const callback = args.pop();
+            const promise = func.apply(this, args);
+            return handlePromise(promise, callback);
+          };
+        }
+        return initialParams(function(args, callback) {
+          var result;
           try {
-            const conditions = { ifNoneMatch: constants_js_1.ETagAny };
-            const res = (0, utils_common_js_1.assertResponse)(await this.create(size, {
-              ...options,
-              conditions,
-              tracingOptions: updatedOptions.tracingOptions
-            }));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
+            result = func.apply(this, args);
           } catch (e) {
-            if (e.details?.errorCode === "BlobAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            }
-            throw e;
+            return callback(e);
+          }
+          if (result && typeof result.then === "function") {
+            return handlePromise(result, callback);
+          } else {
+            callback(null, result);
           }
         });
       }
-      /**
-       * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
-       *
-       * @param body - Data to upload
-       * @param offset - Offset of destination page blob
-       * @param count - Content length of the body, also number of bytes to be uploaded
-       * @param options - Options to the Page Blob Upload Pages operation.
-       * @returns Response data for the Page Blob Upload Pages operation.
-       */
-      async uploadPages(body, offset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            sequenceNumberAccessConditions: options.conditions,
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      function handlePromise(promise, callback) {
+        return promise.then((value) => {
+          invokeCallback(callback, null, value);
+        }, (err) => {
+          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
         });
       }
-      /**
-       * The Upload Pages operation writes a range of pages to a page blob where the
-       * contents are read from a URL.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url
-       *
-       * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication
-       * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob
-       * @param destOffset - Offset of destination page blob
-       * @param count - Number of bytes to be uploaded from source page blob
-       * @param options -
-       */
-      async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), {
-            abortSignal: options.abortSignal,
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            leaseAccessConditions: options.conditions,
-            sequenceNumberAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function invokeCallback(callback, error3, value) {
+        try {
+          callback(error3, value);
+        } catch (err) {
+          setImmediate$1((e) => {
+            throw e;
+          }, err);
+        }
       }
-      /**
-       * Frees the specified pages from the page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
-       *
-       * @param offset - Starting byte position of the pages to clear.
-       * @param count - Number of bytes to clear.
-       * @param options - Options to the Page Blob Clear Pages operation.
-       * @returns Response data for the Page Blob Clear Pages operation.
-       */
-      async clearPages(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            sequenceNumberAccessConditions: options.conditions,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function isAsync(fn) {
+        return fn[Symbol.toStringTag] === "AsyncFunction";
       }
-      /**
-       * Returns the list of valid page ranges for a page blob or snapshot of a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns Response data for the Page Blob Get Ranges operation.
-       */
-      async getPageRanges(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
-        });
+      function isAsyncGenerator(fn) {
+        return fn[Symbol.toStringTag] === "AsyncGenerator";
       }
-      /**
-       * getPageRangesSegment returns a single segment of page ranges starting from the
-       * specified Marker. Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call getPageRangesSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to PageBlob Get Page Ranges Segment operation.
-       */
-      async listPageRangesSegment(offset = 0, count, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function isAsyncIterable(obj) {
+        return typeof obj[Symbol.asyncIterator] === "function";
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel}
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param marker - A string value that identifies the portion of
-       *                          the get of page ranges to be returned with the next getting operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          getting operation did not return all page ranges remaining within the current page.
-       *                          The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of get
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to List Page Ranges operation.
-       */
-      async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
-        let getPageRangeItemSegmentsResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
-            marker = getPageRangeItemSegmentsResponse.continuationToken;
-            yield await getPageRangeItemSegmentsResponse;
-          } while (marker);
-        }
+      function wrapAsync(asyncFn) {
+        if (typeof asyncFn !== "function") throw new Error("expected a function");
+        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to List Page Ranges operation.
-       */
-      async *listPageRangeItems(offset = 0, count, options = {}) {
-        let marker;
-        for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
-          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+      function awaitify(asyncFn, arity) {
+        if (!arity) arity = asyncFn.length;
+        if (!arity) throw new Error("arity is undefined");
+        function awaitable(...args) {
+          if (typeof args[arity - 1] === "function") {
+            return asyncFn.apply(this, args);
+          }
+          return new Promise((resolve3, reject2) => {
+            args[arity - 1] = (err, ...cbArgs) => {
+              if (err) return reject2(err);
+              resolve3(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
+            };
+            asyncFn.apply(this, args);
+          });
         }
+        return awaitable;
       }
-      /**
-       * Returns an async iterable iterator to list of page ranges for a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       *  .byPage() returns an async iterable iterator to list of page ranges for a page blob.
-       *
-       * ```ts snippet:ClientsListPageBlobs
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const pageRange of pageBlobClient.listPageRanges()) {
-       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = pageBlobClient.listPageRanges();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
-       *   for (const pageRange of page.pageRange || []) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listPageRanges(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        const iter = this.listPageRangeItems(offset, count, options);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...options
-            });
-          }
+      function applyEach$1(eachfn) {
+        return function applyEach2(fns, ...callArgs) {
+          const go = awaitify(function(callback) {
+            var that = this;
+            return eachfn(fns, (fn, cb) => {
+              wrapAsync(fn).apply(that, callArgs.concat(cb));
+            }, callback);
+          });
+          return go;
         };
       }
-      /**
-       * Gets the collection of page ranges that differ between a specified snapshot and this page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page blob
-       * @param count - Number of bytes to get ranges diff.
-       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       * @returns Response data for the Page Blob Get Page Range Diff operation.
-       */
-      async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
-          const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            prevsnapshot: prevSnapshot,
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result);
+      function _asyncMap(eachfn, arr, iteratee, callback) {
+        arr = arr || [];
+        var results = [];
+        var counter = 0;
+        var _iteratee = wrapAsync(iteratee);
+        return eachfn(arr, (value, _2, iterCb) => {
+          var index2 = counter++;
+          _iteratee(value, (err, v) => {
+            results[index2] = v;
+            iterCb(err);
+          });
+        }, (err) => {
+          callback(err, results);
         });
       }
-      /**
-       * getPageRangesDiffSegment returns a single segment of page ranges starting from the
-       * specified Marker for difference between previous snapshot and the target page blob.
-       * Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call getPageRangesDiffSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param marker - A string value that identifies the portion of the get to be returned with the next get operation.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options?.abortSignal,
-            leaseAccessConditions: options?.conditions,
-            modifiedAccessConditions: {
-              ...options?.conditions,
-              ifTags: options?.conditions?.tagConditions
-            },
-            prevsnapshot: prevSnapshotOrUrl,
-            range: (0, Range_js_1.rangeToString)({
-              offset,
-              count
-            }),
-            marker,
-            maxPageSize: options?.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function isArrayLike(value) {
+        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel}
-       *
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param marker - A string value that identifies the portion of
-       *                          the get of page ranges to be returned with the next getting operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          getting operation did not return all page ranges remaining within the current page.
-       *                          The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of get
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
-        let getPageRangeItemSegmentsResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
-            marker = getPageRangeItemSegmentsResponse.continuationToken;
-            yield await getPageRangeItemSegmentsResponse;
-          } while (marker);
+      const breakLoop = {};
+      function once(fn) {
+        function wrapper(...args) {
+          if (fn === null) return;
+          var callFn = fn;
+          fn = null;
+          callFn.apply(this, args);
+        }
+        Object.assign(wrapper, fn);
+        return wrapper;
+      }
+      function getIterator(coll) {
+        return coll[Symbol.iterator] && coll[Symbol.iterator]();
+      }
+      function createArrayIterator(coll) {
+        var i = -1;
+        var len = coll.length;
+        return function next() {
+          return ++i < len ? { value: coll[i], key: i } : null;
+        };
+      }
+      function createES2015Iterator(iterator2) {
+        var i = -1;
+        return function next() {
+          var item = iterator2.next();
+          if (item.done)
+            return null;
+          i++;
+          return { value: item.value, key: i };
+        };
+      }
+      function createObjectIterator(obj) {
+        var okeys = obj ? Object.keys(obj) : [];
+        var i = -1;
+        var len = okeys.length;
+        return function next() {
+          var key = okeys[++i];
+          if (key === "__proto__") {
+            return next();
+          }
+          return i < len ? { value: obj[key], key } : null;
+        };
+      }
+      function createIterator(coll) {
+        if (isArrayLike(coll)) {
+          return createArrayIterator(coll);
         }
+        var iterator2 = getIterator(coll);
+        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
-        let marker;
-        for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
-          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+      function onlyOnce(fn) {
+        return function(...args) {
+          if (fn === null) throw new Error("Callback was already called.");
+          var callFn = fn;
+          fn = null;
+          callFn.apply(this, args);
+        };
+      }
+      function asyncEachOfLimit(generator, limit, iteratee, callback) {
+        let done = false;
+        let canceled = false;
+        let awaiting = false;
+        let running = 0;
+        let idx = 0;
+        function replenish() {
+          if (running >= limit || awaiting || done) return;
+          awaiting = true;
+          generator.next().then(({ value, done: iterDone }) => {
+            if (canceled || done) return;
+            awaiting = false;
+            if (iterDone) {
+              done = true;
+              if (running <= 0) {
+                callback(null);
+              }
+              return;
+            }
+            running++;
+            iteratee(value, idx, iterateeCallback);
+            idx++;
+            replenish();
+          }).catch(handleError);
+        }
+        function iterateeCallback(err, result) {
+          running -= 1;
+          if (canceled) return;
+          if (err) return handleError(err);
+          if (err === false) {
+            done = true;
+            canceled = true;
+            return;
+          }
+          if (result === breakLoop || done && running <= 0) {
+            done = true;
+            return callback(null);
+          }
+          replenish();
+        }
+        function handleError(err) {
+          if (canceled) return;
+          awaiting = false;
+          done = true;
+          callback(err);
         }
+        replenish();
       }
-      /**
-       * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       *  .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
-       *
-       * ```ts snippet:ClientsListPageBlobsDiff
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
-       *
-       * const offset = 0;
-       * const count = 1024;
-       * const previousSnapshot = "";
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) {
-       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot);
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const pageRange of page.pageRange || []) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
-        options.conditions = options.conditions || {};
-        const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
-          ...options
-        });
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...options
-            });
+      var eachOfLimit$2 = (limit) => {
+        return (obj, iteratee, callback) => {
+          callback = once(callback);
+          if (limit <= 0) {
+            throw new RangeError("concurrency limit cannot be less than 1");
+          }
+          if (!obj) {
+            return callback(null);
+          }
+          if (isAsyncGenerator(obj)) {
+            return asyncEachOfLimit(obj, limit, iteratee, callback);
+          }
+          if (isAsyncIterable(obj)) {
+            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
+          }
+          var nextElem = createIterator(obj);
+          var done = false;
+          var canceled = false;
+          var running = 0;
+          var looping = false;
+          function iterateeCallback(err, value) {
+            if (canceled) return;
+            running -= 1;
+            if (err) {
+              done = true;
+              callback(err);
+            } else if (err === false) {
+              done = true;
+              canceled = true;
+            } else if (value === breakLoop || done && running <= 0) {
+              done = true;
+              return callback(null);
+            } else if (!looping) {
+              replenish();
+            }
+          }
+          function replenish() {
+            looping = true;
+            while (running < limit && !done) {
+              var elem = nextElem();
+              if (elem === null) {
+                done = true;
+                if (running <= 0) {
+                  callback(null);
+                }
+                return;
+              }
+              running += 1;
+              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
+            }
+            looping = false;
           }
+          replenish();
         };
+      };
+      function eachOfLimit(coll, limit, iteratee, callback) {
+        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
       }
-      /**
-       * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page blob
-       * @param count - Number of bytes to get ranges diff.
-       * @param prevSnapshotUrl - URL of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       * @returns Response data for the Page Blob Get Page Range Diff operation.
-       */
-      async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            prevSnapshotUrl,
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
-        });
+      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
+      function eachOfArrayLike(coll, iteratee, callback) {
+        callback = once(callback);
+        var index2 = 0, completed = 0, { length } = coll, canceled = false;
+        if (length === 0) {
+          callback(null);
+        }
+        function iteratorCallback(err, value) {
+          if (err === false) {
+            canceled = true;
+          }
+          if (canceled === true) return;
+          if (err) {
+            callback(err);
+          } else if (++completed === length || value === breakLoop) {
+            callback(null);
+          }
+        }
+        for (; index2 < length; index2++) {
+          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
+        }
       }
-      /**
-       * Resizes the page blob to the specified size (which must be a multiple of 512).
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param size - Target size
-       * @param options - Options to the Page Blob Resize operation.
-       * @returns Response data for the Page Blob Resize operation.
-       */
-      async resize(size, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function eachOfGeneric(coll, iteratee, callback) {
+        return eachOfLimit$1(coll, Infinity, iteratee, callback);
       }
-      /**
-       * Sets a page blob's sequence number.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number.
-       * @param sequenceNumber - Required if sequenceNumberAction is max or update
-       * @param options - Options to the Page Blob Update Sequence Number operation.
-       * @returns Response data for the Page Blob Update Sequence Number operation.
-       */
-      async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
-            abortSignal: options.abortSignal,
-            blobSequenceNumber: sequenceNumber,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function eachOf(coll, iteratee, callback) {
+        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
+        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
       }
-      /**
-       * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob.
-       * The snapshot is copied such that only the differential changes between the previously
-       * copied snapshot are transferred to the destination.
-       * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual.
-       * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob
-       * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots
-       *
-       * @param copySource - Specifies the name of the source page blob snapshot. For example,
-       *                            https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param options - Options to the Page Blob Copy Incremental operation.
-       * @returns Response data for the Page Blob Copy Incremental operation.
-       */
-      async startCopyIncremental(copySource, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var eachOf$1 = awaitify(eachOf, 3);
+      function map2(coll, iteratee, callback) {
+        return _asyncMap(eachOf$1, coll, iteratee, callback);
       }
-    };
-    exports2.PageBlobClient = PageBlobClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js
-var require_BatchUtils = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getBodyAsText = getBodyAsText;
-    exports2.utf8ByteLength = utf8ByteLength;
-    var utils_js_1 = require_utils7();
-    var constants_js_1 = require_constants15();
-    async function getBodyAsText(batchResponse) {
-      let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES);
-      const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer);
-      buffer = buffer.slice(0, responseLength);
-      return buffer.toString();
-    }
-    function utf8ByteLength(str2) {
-      return Buffer.byteLength(str2);
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js
-var require_BatchResponseParser = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BatchResponseParser = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_http_compat_1 = require_commonjs9();
-    var constants_js_1 = require_constants15();
-    var BatchUtils_js_1 = require_BatchUtils();
-    var log_js_1 = require_log5();
-    var HTTP_HEADER_DELIMITER = ": ";
-    var SPACE_DELIMITER = " ";
-    var NOT_FOUND = -1;
-    var BatchResponseParser = class {
-      batchResponse;
-      responseBatchBoundary;
-      perResponsePrefix;
-      batchResponseEnding;
-      subRequests;
-      constructor(batchResponse, subRequests) {
-        if (!batchResponse || !batchResponse.contentType) {
-          throw new RangeError("batchResponse is malformed or doesn't contain valid content-type.");
-        }
-        if (!subRequests || subRequests.size === 0) {
-          throw new RangeError("Invalid state: subRequests is not provided or size is 0.");
+      var map$1 = awaitify(map2, 3);
+      var applyEach = applyEach$1(map$1);
+      function eachOfSeries(coll, iteratee, callback) {
+        return eachOfLimit$1(coll, 1, iteratee, callback);
+      }
+      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
+      function mapSeries(coll, iteratee, callback) {
+        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var mapSeries$1 = awaitify(mapSeries, 3);
+      var applyEachSeries = applyEach$1(mapSeries$1);
+      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
+      function promiseCallback() {
+        let resolve3, reject2;
+        function callback(err, ...args) {
+          if (err) return reject2(err);
+          resolve3(args.length > 1 ? args : args[0]);
         }
-        this.batchResponse = batchResponse;
-        this.subRequests = subRequests;
-        this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1];
-        this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`;
-        this.batchResponseEnding = `--${this.responseBatchBoundary}--`;
+        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
+          resolve3 = res, reject2 = rej;
+        });
+        return callback;
       }
-      // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response
-      async parseBatchResponse() {
-        if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) {
-          throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`);
+      function auto(tasks, concurrency, callback) {
+        if (typeof concurrency !== "number") {
+          callback = concurrency;
+          concurrency = null;
         }
-        const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse);
-        const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1);
-        const subResponseCount = subResponses.length;
-        if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) {
-          throw new Error("Invalid state: sub responses' count is not equal to sub requests' count.");
+        callback = once(callback || promiseCallback());
+        var numTasks = Object.keys(tasks).length;
+        if (!numTasks) {
+          return callback(null);
         }
-        const deserializedSubResponses = new Array(subResponseCount);
-        let subResponsesSucceededCount = 0;
-        let subResponsesFailedCount = 0;
-        for (let index = 0; index < subResponseCount; index++) {
-          const subResponse = subResponses[index];
-          const deserializedSubResponse = {};
-          deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)());
-          const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`);
-          let subRespHeaderStartFound = false;
-          let subRespHeaderEndFound = false;
-          let subRespFailed = false;
-          let contentId = NOT_FOUND;
-          for (const responseLine of responseLines) {
-            if (!subRespHeaderStartFound) {
-              if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) {
-                contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]);
-              }
-              if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) {
-                subRespHeaderStartFound = true;
-                const tokens = responseLine.split(SPACE_DELIMITER);
-                deserializedSubResponse.status = parseInt(tokens[1]);
-                deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER);
+        if (!concurrency) {
+          concurrency = numTasks;
+        }
+        var results = {};
+        var runningTasks = 0;
+        var canceled = false;
+        var hasError = false;
+        var listeners = /* @__PURE__ */ Object.create(null);
+        var readyTasks = [];
+        var readyToCheck = [];
+        var uncheckedDependencies = {};
+        Object.keys(tasks).forEach((key) => {
+          var task = tasks[key];
+          if (!Array.isArray(task)) {
+            enqueueTask(key, [task]);
+            readyToCheck.push(key);
+            return;
+          }
+          var dependencies = task.slice(0, task.length - 1);
+          var remainingDependencies = dependencies.length;
+          if (remainingDependencies === 0) {
+            enqueueTask(key, task);
+            readyToCheck.push(key);
+            return;
+          }
+          uncheckedDependencies[key] = remainingDependencies;
+          dependencies.forEach((dependencyName) => {
+            if (!tasks[dependencyName]) {
+              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
+            }
+            addListener(dependencyName, () => {
+              remainingDependencies--;
+              if (remainingDependencies === 0) {
+                enqueueTask(key, task);
               }
-              continue;
+            });
+          });
+        });
+        checkForDeadlocks();
+        processQueue();
+        function enqueueTask(key, task) {
+          readyTasks.push(() => runTask(key, task));
+        }
+        function processQueue() {
+          if (canceled) return;
+          if (readyTasks.length === 0 && runningTasks === 0) {
+            return callback(null, results);
+          }
+          while (readyTasks.length && runningTasks < concurrency) {
+            var run = readyTasks.shift();
+            run();
+          }
+        }
+        function addListener(taskName, fn) {
+          var taskListeners = listeners[taskName];
+          if (!taskListeners) {
+            taskListeners = listeners[taskName] = [];
+          }
+          taskListeners.push(fn);
+        }
+        function taskComplete(taskName) {
+          var taskListeners = listeners[taskName] || [];
+          taskListeners.forEach((fn) => fn());
+          processQueue();
+        }
+        function runTask(key, task) {
+          if (hasError) return;
+          var taskCallback = onlyOnce((err, ...result) => {
+            runningTasks--;
+            if (err === false) {
+              canceled = true;
+              return;
             }
-            if (responseLine.trim() === "") {
-              if (!subRespHeaderEndFound) {
-                subRespHeaderEndFound = true;
-              }
-              continue;
+            if (result.length < 2) {
+              [result] = result;
             }
-            if (!subRespHeaderEndFound) {
-              if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) {
-                throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`);
-              }
-              const tokens = responseLine.split(HTTP_HEADER_DELIMITER);
-              deserializedSubResponse.headers.set(tokens[0], tokens[1]);
-              if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) {
-                deserializedSubResponse.errorCode = tokens[1];
-                subRespFailed = true;
-              }
+            if (err) {
+              var safeResults = {};
+              Object.keys(results).forEach((rkey) => {
+                safeResults[rkey] = results[rkey];
+              });
+              safeResults[key] = result;
+              hasError = true;
+              listeners = /* @__PURE__ */ Object.create(null);
+              if (canceled) return;
+              callback(err, safeResults);
             } else {
-              if (!deserializedSubResponse.bodyAsText) {
-                deserializedSubResponse.bodyAsText = "";
-              }
-              deserializedSubResponse.bodyAsText += responseLine;
+              results[key] = result;
+              taskComplete(key);
             }
-          }
-          if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) {
-            deserializedSubResponse._request = this.subRequests.get(contentId);
-            deserializedSubResponses[contentId] = deserializedSubResponse;
-          } else {
-            log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`);
-          }
-          if (subRespFailed) {
-            subResponsesFailedCount++;
+          });
+          runningTasks++;
+          var taskFn = wrapAsync(task[task.length - 1]);
+          if (task.length > 1) {
+            taskFn(results, taskCallback);
           } else {
-            subResponsesSucceededCount++;
+            taskFn(taskCallback);
           }
         }
-        return {
-          subResponses: deserializedSubResponses,
-          subResponsesSucceededCount,
-          subResponsesFailedCount
-        };
-      }
-    };
-    exports2.BatchResponseParser = BatchResponseParser;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js
-var require_Mutex = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Mutex = void 0;
-    var MutexLockStatus;
-    (function(MutexLockStatus2) {
-      MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED";
-      MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED";
-    })(MutexLockStatus || (MutexLockStatus = {}));
-    var Mutex = class {
-      /**
-       * Lock for a specific key. If the lock has been acquired by another customer, then
-       * will wait until getting the lock.
-       *
-       * @param key - lock key
-       */
-      static async lock(key) {
-        return new Promise((resolve3) => {
-          if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) {
-            this.keys[key] = MutexLockStatus.LOCKED;
-            resolve3();
-          } else {
-            this.onUnlockEvent(key, () => {
-              this.keys[key] = MutexLockStatus.LOCKED;
-              resolve3();
+        function checkForDeadlocks() {
+          var currentTask;
+          var counter = 0;
+          while (readyToCheck.length) {
+            currentTask = readyToCheck.pop();
+            counter++;
+            getDependents(currentTask).forEach((dependent) => {
+              if (--uncheckedDependencies[dependent] === 0) {
+                readyToCheck.push(dependent);
+              }
             });
           }
-        });
-      }
-      /**
-       * Unlock a key.
-       *
-       * @param key -
-       */
-      static async unlock(key) {
-        return new Promise((resolve3) => {
-          if (this.keys[key] === MutexLockStatus.LOCKED) {
-            this.emitUnlockEvent(key);
+          if (counter !== numTasks) {
+            throw new Error(
+              "async.auto cannot execute tasks due to a recursive dependency"
+            );
           }
-          delete this.keys[key];
-          resolve3();
-        });
-      }
-      static keys = {};
-      static listeners = {};
-      static onUnlockEvent(key, handler2) {
-        if (this.listeners[key] === void 0) {
-          this.listeners[key] = [handler2];
-        } else {
-          this.listeners[key].push(handler2);
         }
-      }
-      static emitUnlockEvent(key) {
-        if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) {
-          const handler2 = this.listeners[key].shift();
-          setImmediate(() => {
-            handler2.call(this);
+        function getDependents(taskName) {
+          var result = [];
+          Object.keys(tasks).forEach((key) => {
+            const task = tasks[key];
+            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
+              result.push(key);
+            }
           });
+          return result;
         }
+        return callback[PROMISE_SYMBOL];
       }
-    };
-    exports2.Mutex = Mutex;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js
-var require_BlobBatch = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBatch = void 0;
-    var core_util_1 = require_commonjs4();
-    var core_auth_1 = require_commonjs7();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_2 = require_commonjs4();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var Clients_js_1 = require_Clients();
-    var Mutex_js_1 = require_Mutex();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var core_xml_1 = require_commonjs10();
-    var constants_js_1 = require_constants15();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var tracing_js_1 = require_tracing();
-    var core_client_1 = require_commonjs8();
-    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
-    var BlobBatch = class {
-      batchRequest;
-      batch = "batch";
-      batchType;
-      constructor() {
-        this.batchRequest = new InnerBatchRequest();
-      }
-      /**
-       * Get the value of Content-Type for a batch request.
-       * The value must be multipart/mixed with a batch boundary.
-       * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252
-       */
-      getMultiPartContentType() {
-        return this.batchRequest.getMultipartContentType();
+      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
+      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
+      var FN_ARG_SPLIT = /,/;
+      var FN_ARG = /(=.+)?(\s*)$/;
+      function stripComments(string) {
+        let stripped = "";
+        let index2 = 0;
+        let endBlockComment = string.indexOf("*/");
+        while (index2 < string.length) {
+          if (string[index2] === "/" && string[index2 + 1] === "/") {
+            let endIndex = string.indexOf("\n", index2);
+            index2 = endIndex === -1 ? string.length : endIndex;
+          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
+            let endIndex = string.indexOf("*/", index2);
+            if (endIndex !== -1) {
+              index2 = endIndex + 2;
+              endBlockComment = string.indexOf("*/", index2);
+            } else {
+              stripped += string[index2];
+              index2++;
+            }
+          } else {
+            stripped += string[index2];
+            index2++;
+          }
+        }
+        return stripped;
       }
-      /**
-       * Get assembled HTTP request body for sub requests.
-       */
-      getHttpRequestBody() {
-        return this.batchRequest.getHttpRequestBody();
+      function parseParams(func) {
+        const src = stripComments(func.toString());
+        let match = src.match(FN_ARGS);
+        if (!match) {
+          match = src.match(ARROW_FN_ARGS);
+        }
+        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
+        let [, args] = match;
+        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
       }
-      /**
-       * Get sub requests that are added into the batch request.
-       */
-      getSubRequests() {
-        return this.batchRequest.getSubRequests();
+      function autoInject(tasks, callback) {
+        var newTasks = {};
+        Object.keys(tasks).forEach((key) => {
+          var taskFn = tasks[key];
+          var params;
+          var fnIsAsync = isAsync(taskFn);
+          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
+          if (Array.isArray(taskFn)) {
+            params = [...taskFn];
+            taskFn = params.pop();
+            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
+          } else if (hasNoDeps) {
+            newTasks[key] = taskFn;
+          } else {
+            params = parseParams(taskFn);
+            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
+              throw new Error("autoInject task functions require explicit parameters.");
+            }
+            if (!fnIsAsync) params.pop();
+            newTasks[key] = params.concat(newTask);
+          }
+          function newTask(results, taskCb) {
+            var newArgs = params.map((name) => results[name]);
+            newArgs.push(taskCb);
+            wrapAsync(taskFn)(...newArgs);
+          }
+        });
+        return auto(newTasks, callback);
       }
-      async addSubRequestInternal(subRequest, assembleSubRequestFunc) {
-        await Mutex_js_1.Mutex.lock(this.batch);
-        try {
-          this.batchRequest.preAddSubRequest(subRequest);
-          await assembleSubRequestFunc();
-          this.batchRequest.postAddSubRequest(subRequest);
-        } finally {
-          await Mutex_js_1.Mutex.unlock(this.batch);
+      class DLL {
+        constructor() {
+          this.head = this.tail = null;
+          this.length = 0;
         }
-      }
-      setBatchType(batchType) {
-        if (!this.batchType) {
-          this.batchType = batchType;
+        removeLink(node) {
+          if (node.prev) node.prev.next = node.next;
+          else this.head = node.next;
+          if (node.next) node.next.prev = node.prev;
+          else this.tail = node.prev;
+          node.prev = node.next = null;
+          this.length -= 1;
+          return node;
         }
-        if (this.batchType !== batchType) {
-          throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`);
+        empty() {
+          while (this.head) this.shift();
+          return this;
         }
-      }
-      async deleteBlob(urlOrBlobClient, credentialOrOptions, options) {
-        let url;
-        let credential;
-        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) {
-          url = urlOrBlobClient;
-          credential = credentialOrOptions;
-        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
-          url = urlOrBlobClient.url;
-          credential = urlOrBlobClient.credential;
-          options = credentialOrOptions;
-        } else {
-          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+        insertAfter(node, newNode) {
+          newNode.prev = node;
+          newNode.next = node.next;
+          if (node.next) node.next.prev = newNode;
+          else this.tail = newNode;
+          node.next = newNode;
+          this.length += 1;
         }
-        if (!options) {
-          options = {};
+        insertBefore(node, newNode) {
+          newNode.prev = node.prev;
+          newNode.next = node;
+          if (node.prev) node.prev.next = newNode;
+          else this.head = newNode;
+          node.prev = newNode;
+          this.length += 1;
         }
-        return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => {
-          this.setBatchType("delete");
-          await this.addSubRequestInternal({
-            url,
-            credential
-          }, async () => {
-            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).delete(updatedOptions);
-          });
-        });
-      }
-      async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) {
-        let url;
-        let credential;
-        let tier;
-        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) {
-          url = urlOrBlobClient;
-          credential = credentialOrTier;
-          tier = tierOrOptions;
-        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
-          url = urlOrBlobClient.url;
-          credential = urlOrBlobClient.credential;
-          tier = credentialOrTier;
-          options = tierOrOptions;
-        } else {
-          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+        unshift(node) {
+          if (this.head) this.insertBefore(this.head, node);
+          else setInitial(this, node);
         }
-        if (!options) {
-          options = {};
+        push(node) {
+          if (this.tail) this.insertAfter(this.tail, node);
+          else setInitial(this, node);
         }
-        return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => {
-          this.setBatchType("setAccessTier");
-          await this.addSubRequestInternal({
-            url,
-            credential
-          }, async () => {
-            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions);
-          });
-        });
-      }
-    };
-    exports2.BlobBatch = BlobBatch;
-    var InnerBatchRequest = class {
-      operationCount;
-      body;
-      subRequests;
-      boundary;
-      subRequestPrefix;
-      multipartContentType;
-      batchRequestEnding;
-      constructor() {
-        this.operationCount = 0;
-        this.body = "";
-        const tempGuid = (0, core_util_1.randomUUID)();
-        this.boundary = `batch_${tempGuid}`;
-        this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`;
-        this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`;
-        this.batchRequestEnding = `--${this.boundary}--`;
-        this.subRequests = /* @__PURE__ */ new Map();
-      }
-      /**
-       * Create pipeline to assemble sub requests. The idea here is to use existing
-       * credential and serialization/deserialization components, with additional policies to
-       * filter unnecessary headers, assemble sub requests into request's body
-       * and intercept request from going to wire.
-       * @param credential -  Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
-       */
-      createPipeline(credential) {
-        const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)();
-        corePipeline.addPolicy((0, core_client_1.serializationPolicy)({
-          stringifyXML: core_xml_1.stringifyXML,
-          serializerOptions: {
-            xml: {
-              xmlCharKey: "#"
+        shift() {
+          return this.head && this.removeLink(this.head);
+        }
+        pop() {
+          return this.tail && this.removeLink(this.tail);
+        }
+        toArray() {
+          return [...this];
+        }
+        *[Symbol.iterator]() {
+          var cur = this.head;
+          while (cur) {
+            yield cur.data;
+            cur = cur.next;
+          }
+        }
+        remove(testFn) {
+          var curr = this.head;
+          while (curr) {
+            var { next } = curr;
+            if (testFn(curr)) {
+              this.removeLink(curr);
             }
+            curr = next;
           }
-        }), { phase: "Serialize" });
-        corePipeline.addPolicy(batchHeaderFilterPolicy());
-        corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" });
-        if ((0, core_auth_1.isTokenCredential)(credential)) {
-          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-            credential,
-            scopes: constants_js_1.StorageOAuthScopes,
-            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
-          }), { phase: "Sign" });
-        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
-            accountName: credential.accountName,
-            accountKey: credential.accountKey
-          }), { phase: "Sign" });
+          return this;
         }
-        const pipeline = new Pipeline_js_1.Pipeline([]);
-        pipeline._credential = credential;
-        pipeline._corePipeline = corePipeline;
-        return pipeline;
       }
-      appendSubRequestToBody(request2) {
-        this.body += [
-          this.subRequestPrefix,
-          // sub request constant prefix
-          `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`,
-          // sub request's content ID
-          "",
-          // empty line after sub request's content ID
-          `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}`
-          // sub request start line with method
-        ].join(constants_js_1.HTTP_LINE_ENDING);
-        for (const [name, value] of request2.headers) {
-          this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`;
-        }
-        this.body += constants_js_1.HTTP_LINE_ENDING;
+      function setInitial(dll, node) {
+        dll.length = 1;
+        dll.head = dll.tail = node;
       }
-      preAddSubRequest(subRequest) {
-        if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) {
-          throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`);
+      function queue$1(worker, concurrency, payload) {
+        if (concurrency == null) {
+          concurrency = 1;
+        } else if (concurrency === 0) {
+          throw new RangeError("Concurrency must not be zero");
+        }
+        var _worker = wrapAsync(worker);
+        var numRunning = 0;
+        var workersList = [];
+        const events = {
+          error: [],
+          drain: [],
+          saturated: [],
+          unsaturated: [],
+          empty: []
+        };
+        function on(event, handler2) {
+          events[event].push(handler2);
+        }
+        function once2(event, handler2) {
+          const handleAndRemove = (...args) => {
+            off(event, handleAndRemove);
+            handler2(...args);
+          };
+          events[event].push(handleAndRemove);
         }
-        const path4 = (0, utils_common_js_1.getURLPath)(subRequest.url);
-        if (!path4 || path4 === "") {
-          throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`);
+        function off(event, handler2) {
+          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
+          if (!handler2) return events[event] = [];
+          events[event] = events[event].filter((ev) => ev !== handler2);
         }
-      }
-      postAddSubRequest(subRequest) {
-        this.subRequests.set(this.operationCount, subRequest);
-        this.operationCount++;
-      }
-      // Return the http request body with assembling the ending line to the sub request body.
-      getHttpRequestBody() {
-        return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`;
-      }
-      getMultipartContentType() {
-        return this.multipartContentType;
-      }
-      getSubRequests() {
-        return this.subRequests;
-      }
-    };
-    function batchRequestAssemblePolicy(batchRequest) {
-      return {
-        name: "batchRequestAssemblePolicy",
-        async sendRequest(request2) {
-          batchRequest.appendSubRequestToBody(request2);
-          return {
-            request: request2,
-            status: 200,
-            headers: (0, core_rest_pipeline_1.createHttpHeaders)()
-          };
+        function trigger(event, ...args) {
+          events[event].forEach((handler2) => handler2(...args));
         }
-      };
-    }
-    function batchHeaderFilterPolicy() {
-      return {
-        name: "batchHeaderFilterPolicy",
-        async sendRequest(request2, next) {
-          let xMsHeaderName = "";
-          for (const [name] of request2.headers) {
-            if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) {
-              xMsHeaderName = name;
-            }
+        var processingScheduled = false;
+        function _insert(data, insertAtFront, rejectOnError, callback) {
+          if (callback != null && typeof callback !== "function") {
+            throw new Error("task callback must be a function");
           }
-          if (xMsHeaderName !== "") {
-            request2.headers.delete(xMsHeaderName);
+          q.started = true;
+          var res, rej;
+          function promiseCallback2(err, ...args) {
+            if (err) return rejectOnError ? rej(err) : res();
+            if (args.length <= 1) return res(args[0]);
+            res(args);
+          }
+          var item = q._createTaskItem(
+            data,
+            rejectOnError ? promiseCallback2 : callback || promiseCallback2
+          );
+          if (insertAtFront) {
+            q._tasks.unshift(item);
+          } else {
+            q._tasks.push(item);
+          }
+          if (!processingScheduled) {
+            processingScheduled = true;
+            setImmediate$1(() => {
+              processingScheduled = false;
+              q.process();
+            });
+          }
+          if (rejectOnError || !callback) {
+            return new Promise((resolve3, reject2) => {
+              res = resolve3;
+              rej = reject2;
+            });
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js
-var require_BlobBatchClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBatchClient = void 0;
-    var BatchResponseParser_js_1 = require_BatchResponseParser();
-    var BatchUtils_js_1 = require_BatchUtils();
-    var BlobBatch_js_1 = require_BlobBatch();
-    var tracing_js_1 = require_tracing();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageContextClient_js_1 = require_StorageContextClient();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var BlobBatchClient = class {
-      serviceOrContainerContext;
-      constructor(url, credentialOrPipeline, options) {
-        let pipeline;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
-          pipeline = credentialOrPipeline;
-        } else if (!credentialOrPipeline) {
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else {
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
+        function _createCB(tasks) {
+          return function(err, ...args) {
+            numRunning -= 1;
+            for (var i = 0, l = tasks.length; i < l; i++) {
+              var task = tasks[i];
+              var index2 = workersList.indexOf(task);
+              if (index2 === 0) {
+                workersList.shift();
+              } else if (index2 > 0) {
+                workersList.splice(index2, 1);
+              }
+              task.callback(err, ...args);
+              if (err != null) {
+                trigger("error", err, task.data);
+              }
+            }
+            if (numRunning <= q.concurrency - q.buffer) {
+              trigger("unsaturated");
+            }
+            if (q.idle()) {
+              trigger("drain");
+            }
+            q.process();
+          };
         }
-        const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
-        const path4 = (0, utils_common_js_1.getURLPath)(url);
-        if (path4 && path4 !== "/") {
-          this.serviceOrContainerContext = storageClientContext.container;
-        } else {
-          this.serviceOrContainerContext = storageClientContext.service;
+        function _maybeDrain(data) {
+          if (data.length === 0 && q.idle()) {
+            setImmediate$1(() => trigger("drain"));
+            return true;
+          }
+          return false;
         }
+        const eventMethod = (name) => (handler2) => {
+          if (!handler2) {
+            return new Promise((resolve3, reject2) => {
+              once2(name, (err, data) => {
+                if (err) return reject2(err);
+                resolve3(data);
+              });
+            });
+          }
+          off(name);
+          on(name, handler2);
+        };
+        var isProcessing = false;
+        var q = {
+          _tasks: new DLL(),
+          _createTaskItem(data, callback) {
+            return {
+              data,
+              callback
+            };
+          },
+          *[Symbol.iterator]() {
+            yield* q._tasks[Symbol.iterator]();
+          },
+          concurrency,
+          payload,
+          buffer: concurrency / 4,
+          started: false,
+          paused: false,
+          push(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, false, false, callback));
+            }
+            return _insert(data, false, false, callback);
+          },
+          pushAsync(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, false, true, callback));
+            }
+            return _insert(data, false, true, callback);
+          },
+          kill() {
+            off();
+            q._tasks.empty();
+          },
+          unshift(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, true, false, callback));
+            }
+            return _insert(data, true, false, callback);
+          },
+          unshiftAsync(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, true, true, callback));
+            }
+            return _insert(data, true, true, callback);
+          },
+          remove(testFn) {
+            q._tasks.remove(testFn);
+          },
+          process() {
+            if (isProcessing) {
+              return;
+            }
+            isProcessing = true;
+            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
+              var tasks = [], data = [];
+              var l = q._tasks.length;
+              if (q.payload) l = Math.min(l, q.payload);
+              for (var i = 0; i < l; i++) {
+                var node = q._tasks.shift();
+                tasks.push(node);
+                workersList.push(node);
+                data.push(node.data);
+              }
+              numRunning += 1;
+              if (q._tasks.length === 0) {
+                trigger("empty");
+              }
+              if (numRunning === q.concurrency) {
+                trigger("saturated");
+              }
+              var cb = onlyOnce(_createCB(tasks));
+              _worker(data, cb);
+            }
+            isProcessing = false;
+          },
+          length() {
+            return q._tasks.length;
+          },
+          running() {
+            return numRunning;
+          },
+          workersList() {
+            return workersList;
+          },
+          idle() {
+            return q._tasks.length + numRunning === 0;
+          },
+          pause() {
+            q.paused = true;
+          },
+          resume() {
+            if (q.paused === false) {
+              return;
+            }
+            q.paused = false;
+            setImmediate$1(q.process);
+          }
+        };
+        Object.defineProperties(q, {
+          saturated: {
+            writable: false,
+            value: eventMethod("saturated")
+          },
+          unsaturated: {
+            writable: false,
+            value: eventMethod("unsaturated")
+          },
+          empty: {
+            writable: false,
+            value: eventMethod("empty")
+          },
+          drain: {
+            writable: false,
+            value: eventMethod("drain")
+          },
+          error: {
+            writable: false,
+            value: eventMethod("error")
+          }
+        });
+        return q;
       }
-      /**
-       * Creates a {@link BlobBatch}.
-       * A BlobBatch represents an aggregated set of operations on blobs.
-       */
-      createBatch() {
-        return new BlobBatch_js_1.BlobBatch();
+      function cargo$1(worker, payload) {
+        return queue$1(worker, 1, payload);
       }
-      async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) {
-        const batch = new BlobBatch_js_1.BlobBatch();
-        for (const urlOrBlobClient of urlsOrBlobClients) {
-          if (typeof urlOrBlobClient === "string") {
-            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options);
-          } else {
-            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions);
-          }
-        }
-        return this.submitBatch(batch);
+      function cargo(worker, concurrency, payload) {
+        return queue$1(worker, concurrency, payload);
       }
-      async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) {
-        const batch = new BlobBatch_js_1.BlobBatch();
-        for (const urlOrBlobClient of urlsOrBlobClients) {
-          if (typeof urlOrBlobClient === "string") {
-            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options);
+      function reduce(coll, memo, iteratee, callback) {
+        callback = once(callback);
+        var _iteratee = wrapAsync(iteratee);
+        return eachOfSeries$1(coll, (x, i, iterCb) => {
+          _iteratee(memo, x, (err, v) => {
+            memo = v;
+            iterCb(err);
+          });
+        }, (err) => callback(err, memo));
+      }
+      var reduce$1 = awaitify(reduce, 4);
+      function seq2(...functions) {
+        var _functions = functions.map(wrapAsync);
+        return function(...args) {
+          var that = this;
+          var cb = args[args.length - 1];
+          if (typeof cb == "function") {
+            args.pop();
           } else {
-            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions);
+            cb = promiseCallback();
           }
-        }
-        return this.submitBatch(batch);
+          reduce$1(
+            _functions,
+            args,
+            (newargs, fn, iterCb) => {
+              fn.apply(that, newargs.concat((err, ...nextargs) => {
+                iterCb(err, nextargs);
+              }));
+            },
+            (err, results) => cb(err, ...results)
+          );
+          return cb[PROMISE_SYMBOL];
+        };
       }
-      /**
-       * Submit batch request which consists of multiple subrequests.
-       *
-       * Get `blobBatchClient` and other details before running the snippets.
-       * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient`
-       *
-       * Example usage:
-       *
-       * ```ts snippet:BlobBatchClientSubmitBatch
-       * import { DefaultAzureCredential } from "@azure/identity";
-       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
-       *
-       * const account = "";
-       * const credential = new DefaultAzureCredential();
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   credential,
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobBatchClient = containerClient.getBlobBatchClient();
-       *
-       * const batchRequest = new BlobBatch();
-       * await batchRequest.deleteBlob("", credential);
-       * await batchRequest.deleteBlob("", credential, {
-       *   deleteSnapshots: "include",
-       * });
-       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
-       * console.log(batchResp.subResponsesSucceededCount);
-       * ```
-       *
-       * Example using a lease:
-       *
-       * ```ts snippet:BlobBatchClientSubmitBatchWithLease
-       * import { DefaultAzureCredential } from "@azure/identity";
-       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
-       *
-       * const account = "";
-       * const credential = new DefaultAzureCredential();
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   credential,
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobBatchClient = containerClient.getBlobBatchClient();
-       * const blobClient = containerClient.getBlobClient("");
-       *
-       * const batchRequest = new BlobBatch();
-       * await batchRequest.setBlobAccessTier(blobClient, "Cool");
-       * await batchRequest.setBlobAccessTier(blobClient, "Cool", {
-       *   conditions: { leaseId: "" },
-       * });
-       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
-       * console.log(batchResp.subResponsesSucceededCount);
-       * ```
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @param batchRequest - A set of Delete or SetTier operations.
-       * @param options -
-       */
-      async submitBatch(batchRequest, options = {}) {
-        if (!batchRequest || batchRequest.getSubRequests().size === 0) {
-          throw new RangeError("Batch request should contain one or more sub requests.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => {
-          const batchRequestBody = batchRequest.getHttpRequestBody();
-          const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, {
-            ...updatedOptions
-          }));
-          const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests());
-          const responseSummary = await batchResponseParser.parseBatchResponse();
-          const res = {
-            _response: rawBatchResponse._response,
-            contentType: rawBatchResponse.contentType,
-            errorCode: rawBatchResponse.errorCode,
-            requestId: rawBatchResponse.requestId,
-            clientRequestId: rawBatchResponse.clientRequestId,
-            version: rawBatchResponse.version,
-            subResponses: responseSummary.subResponses,
-            subResponsesSucceededCount: responseSummary.subResponsesSucceededCount,
-            subResponsesFailedCount: responseSummary.subResponsesFailedCount
-          };
-          return res;
+      function compose(...args) {
+        return seq2(...args.reverse());
+      }
+      function mapLimit(coll, limit, iteratee, callback) {
+        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var mapLimit$1 = awaitify(mapLimit, 4);
+      function concatLimit(coll, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(coll, limit, (val, iterCb) => {
+          _iteratee(val, (err, ...args) => {
+            if (err) return iterCb(err);
+            return iterCb(err, args);
+          });
+        }, (err, mapResults) => {
+          var result = [];
+          for (var i = 0; i < mapResults.length; i++) {
+            if (mapResults[i]) {
+              result = result.concat(...mapResults[i]);
+            }
+          }
+          return callback(err, result);
         });
       }
-    };
-    exports2.BlobBatchClient = BlobBatchClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js
-var require_ContainerClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var core_auth_1 = require_commonjs7();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var Pipeline_js_1 = require_Pipeline();
-    var StorageClient_js_1 = require_StorageClient();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
-    var Clients_js_1 = require_Clients();
-    var BlobBatchClient_js_1 = require_BlobBatchClient();
-    var ContainerClient = class extends StorageClient_js_1.StorageClient {
-      /**
-       * containerContext provided by protocol layer.
-       */
-      containerContext;
-      _containerName;
-      /**
-       * The name of the container.
-       */
-      get containerName() {
-        return this._containerName;
+      var concatLimit$1 = awaitify(concatLimit, 4);
+      function concat(coll, iteratee, callback) {
+        return concatLimit$1(coll, Infinity, iteratee, callback);
+      }
+      var concat$1 = awaitify(concat, 3);
+      function concatSeries(coll, iteratee, callback) {
+        return concatLimit$1(coll, 1, iteratee, callback);
+      }
+      var concatSeries$1 = awaitify(concatSeries, 3);
+      function constant$1(...args) {
+        return function(...ignoredArgs) {
+          var callback = ignoredArgs.pop();
+          return callback(null, ...args);
+        };
+      }
+      function _createTester(check, getResult) {
+        return (eachfn, arr, _iteratee, cb) => {
+          var testPassed = false;
+          var testResult;
+          const iteratee = wrapAsync(_iteratee);
+          eachfn(arr, (value, _2, callback) => {
+            iteratee(value, (err, result) => {
+              if (err || err === false) return callback(err);
+              if (check(result) && !testResult) {
+                testPassed = true;
+                testResult = getResult(true, value);
+                return callback(null, breakLoop);
+              }
+              callback();
+            });
+          }, (err) => {
+            if (err) return cb(err);
+            cb(null, testPassed ? testResult : getResult(false));
+          });
+        };
       }
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+      function detect(coll, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
+      }
+      var detect$1 = awaitify(detect, 3);
+      function detectLimit(coll, limit, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var detectLimit$1 = awaitify(detectLimit, 4);
+      function detectSeries(coll, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
+      }
+      var detectSeries$1 = awaitify(detectSeries, 3);
+      function consoleFunc(name) {
+        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
+          if (typeof console === "object") {
+            if (err) {
+              if (console.error) {
+                console.error(err);
               }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+            } else if (console[name]) {
+              resultArgs.forEach((x) => console[name](x));
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName parameter");
+        });
+      }
+      var dir = consoleFunc("dir");
+      function doWhilst(iteratee, test, callback) {
+        callback = onlyOnce(callback);
+        var _fn = wrapAsync(iteratee);
+        var _test = wrapAsync(test);
+        var results;
+        function next(err, ...args) {
+          if (err) return callback(err);
+          if (err === false) return;
+          results = args;
+          _test(...args, check);
         }
-        super(url, pipeline);
-        this._containerName = this.getContainerNameFromUrl();
-        this.containerContext = this.storageClientContext.container;
+        function check(err, truth) {
+          if (err) return callback(err);
+          if (err === false) return;
+          if (!truth) return callback(null, ...results);
+          _fn(next);
+        }
+        return check(null, true);
       }
-      /**
-       * Creates a new container under the specified account. If the container with
-       * the same name already exists, the operation fails.
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
-       *
-       * @param options - Options to Container Create operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ContainerClientCreate
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const createContainerResponse = await containerClient.create();
-       * console.log("Container was created successfully", createContainerResponse.requestId);
-       * ```
-       */
-      async create(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions));
-        });
+      var doWhilst$1 = awaitify(doWhilst, 3);
+      function doUntil(iteratee, test, callback) {
+        const _test = wrapAsync(test);
+        return doWhilst$1(iteratee, (...args) => {
+          const cb = args.pop();
+          _test(...args, (err, truth) => cb(err, !truth));
+        }, callback);
       }
-      /**
-       * Creates a new container under the specified account. If the container with
-       * the same name already exists, it is not changed.
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
-       *
-       * @param options -
-       */
-      async createIfNotExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const res = await this.create(updatedOptions);
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "ContainerAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+      function _withoutIndex(iteratee) {
+        return (value, index2, callback) => iteratee(value, callback);
+      }
+      function eachLimit$2(coll, iteratee, callback) {
+        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      }
+      var each = awaitify(eachLimit$2, 3);
+      function eachLimit(coll, limit, iteratee, callback) {
+        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      }
+      var eachLimit$1 = awaitify(eachLimit, 4);
+      function eachSeries(coll, iteratee, callback) {
+        return eachLimit$1(coll, 1, iteratee, callback);
+      }
+      var eachSeries$1 = awaitify(eachSeries, 3);
+      function ensureAsync(fn) {
+        if (isAsync(fn)) return fn;
+        return function(...args) {
+          var callback = args.pop();
+          var sync = true;
+          args.push((...innerArgs) => {
+            if (sync) {
+              setImmediate$1(() => callback(...innerArgs));
             } else {
-              throw e;
+              callback(...innerArgs);
             }
+          });
+          fn.apply(this, args);
+          sync = false;
+        };
+      }
+      function every(coll, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
+      }
+      var every$1 = awaitify(every, 3);
+      function everyLimit(coll, limit, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var everyLimit$1 = awaitify(everyLimit, 4);
+      function everySeries(coll, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var everySeries$1 = awaitify(everySeries, 3);
+      function filterArray(eachfn, arr, iteratee, callback) {
+        var truthValues = new Array(arr.length);
+        eachfn(arr, (x, index2, iterCb) => {
+          iteratee(x, (err, v) => {
+            truthValues[index2] = !!v;
+            iterCb(err);
+          });
+        }, (err) => {
+          if (err) return callback(err);
+          var results = [];
+          for (var i = 0; i < arr.length; i++) {
+            if (truthValues[i]) results.push(arr[i]);
           }
+          callback(null, results);
         });
       }
-      /**
-       * Returns true if the Azure container resource represented by this client exists; false otherwise.
-       *
-       * NOTE: use this function with care since an existing container might be deleted by other clients or
-       * applications. Vice versa new containers with the same name might be added by other clients or
-       * applications after this function completes.
-       *
-       * @param options -
-       */
-      async exists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => {
-          try {
-            await this.getProperties({
-              abortSignal: options.abortSignal,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            return true;
-          } catch (e) {
-            if (e.statusCode === 404) {
-              return false;
+      function filterGeneric(eachfn, coll, iteratee, callback) {
+        var results = [];
+        eachfn(coll, (x, index2, iterCb) => {
+          iteratee(x, (err, v) => {
+            if (err) return iterCb(err);
+            if (v) {
+              results.push({ index: index2, value: x });
             }
-            throw e;
-          }
+            iterCb(err);
+          });
+        }, (err) => {
+          if (err) return callback(err);
+          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
         });
       }
-      /**
-       * Creates a {@link BlobClient}
-       *
-       * @param blobName - A blob name
-       * @returns A new BlobClient object for the given blob name.
-       */
-      getBlobClient(blobName) {
-        return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      function _filter(eachfn, coll, iteratee, callback) {
+        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
+        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
       }
-      /**
-       * Creates an {@link AppendBlobClient}
-       *
-       * @param blobName - An append blob name
-       */
-      getAppendBlobClient(blobName) {
-        return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      function filter(coll, iteratee, callback) {
+        return _filter(eachOf$1, coll, iteratee, callback);
       }
-      /**
-       * Creates a {@link BlockBlobClient}
-       *
-       * @param blobName - A block blob name
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsUpload
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * const content = "Hello world!";
-       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
-       * ```
-       */
-      getBlockBlobClient(blobName) {
-        return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      var filter$1 = awaitify(filter, 3);
+      function filterLimit(coll, limit, iteratee, callback) {
+        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-      /**
-       * Creates a {@link PageBlobClient}
-       *
-       * @param blobName - A page blob name
-       */
-      getPageBlobClient(blobName) {
-        return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      var filterLimit$1 = awaitify(filterLimit, 4);
+      function filterSeries(coll, iteratee, callback) {
+        return _filter(eachOfSeries$1, coll, iteratee, callback);
       }
-      /**
-       * Returns all user-defined metadata and system properties for the specified
-       * container. The data returned does not include the container's list of blobs.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties
-       *
-       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
-       * they originally contained uppercase characters. This differs from the metadata keys returned by
-       * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which
-       * will retain their original casing.
-       *
-       * @param options - Options to Container Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
+      var filterSeries$1 = awaitify(filterSeries, 3);
+      function forever(fn, errback) {
+        var done = onlyOnce(errback);
+        var task = wrapAsync(ensureAsync(fn));
+        function next(err) {
+          if (err) return done(err);
+          if (err === false) return;
+          task(next);
         }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({
-            abortSignal: options.abortSignal,
-            ...options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+        return next();
+      }
+      var forever$1 = awaitify(forever, 2);
+      function groupByLimit(coll, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(coll, limit, (val, iterCb) => {
+          _iteratee(val, (err, key) => {
+            if (err) return iterCb(err);
+            return iterCb(err, { key, val });
+          });
+        }, (err, mapResults) => {
+          var result = {};
+          var { hasOwnProperty } = Object.prototype;
+          for (var i = 0; i < mapResults.length; i++) {
+            if (mapResults[i]) {
+              var { key } = mapResults[i];
+              var { val } = mapResults[i];
+              if (hasOwnProperty.call(result, key)) {
+                result[key].push(val);
+              } else {
+                result[key] = [val];
+              }
+            }
+          }
+          return callback(err, result);
         });
       }
-      /**
-       * Marks the specified container for deletion. The container and any blobs
-       * contained within it are later deleted during garbage collection.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
-       *
-       * @param options - Options to Container Delete operation.
-       */
-      async delete(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      var groupByLimit$1 = awaitify(groupByLimit, 4);
+      function groupBy(coll, iteratee, callback) {
+        return groupByLimit$1(coll, Infinity, iteratee, callback);
+      }
+      function groupBySeries(coll, iteratee, callback) {
+        return groupByLimit$1(coll, 1, iteratee, callback);
+      }
+      var log = consoleFunc("log");
+      function mapValuesLimit(obj, limit, iteratee, callback) {
+        callback = once(callback);
+        var newObj = {};
+        var _iteratee = wrapAsync(iteratee);
+        return eachOfLimit$2(limit)(obj, (val, key, next) => {
+          _iteratee(val, key, (err, result) => {
+            if (err) return next(err);
+            newObj[key] = result;
+            next(err);
+          });
+        }, (err) => callback(err, newObj));
+      }
+      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
+      function mapValues(obj, iteratee, callback) {
+        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
+      }
+      function mapValuesSeries(obj, iteratee, callback) {
+        return mapValuesLimit$1(obj, 1, iteratee, callback);
+      }
+      function memoize(fn, hasher = (v) => v) {
+        var memo = /* @__PURE__ */ Object.create(null);
+        var queues = /* @__PURE__ */ Object.create(null);
+        var _fn = wrapAsync(fn);
+        var memoized = initialParams((args, callback) => {
+          var key = hasher(...args);
+          if (key in memo) {
+            setImmediate$1(() => callback(null, ...memo[key]));
+          } else if (key in queues) {
+            queues[key].push(callback);
+          } else {
+            queues[key] = [callback];
+            _fn(...args, (err, ...resultArgs) => {
+              if (!err) {
+                memo[key] = resultArgs;
+              }
+              var q = queues[key];
+              delete queues[key];
+              for (var i = 0, l = q.length; i < l; i++) {
+                q[i](err, ...resultArgs);
+              }
+            });
+          }
         });
+        memoized.memo = memo;
+        memoized.unmemoized = fn;
+        return memoized;
       }
-      /**
-       * Marks the specified container for deletion if it exists. The container and any blobs
-       * contained within it are later deleted during garbage collection.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
-       *
-       * @param options - Options to Container Delete operation.
-       */
-      async deleteIfExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => {
-          try {
-            const res = await this.delete(updatedOptions);
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "ContainerNotFound") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+      var _defer;
+      if (hasNextTick) {
+        _defer = process.nextTick;
+      } else if (hasSetImmediate) {
+        _defer = setImmediate;
+      } else {
+        _defer = fallback;
+      }
+      var nextTick = wrap(_defer);
+      var _parallel = awaitify((eachfn, tasks, callback) => {
+        var results = isArrayLike(tasks) ? [] : {};
+        eachfn(tasks, (task, key, taskCb) => {
+          wrapAsync(task)((err, ...result) => {
+            if (result.length < 2) {
+              [result] = result;
             }
-            throw e;
+            results[key] = result;
+            taskCb(err);
+          });
+        }, (err) => callback(err, results));
+      }, 3);
+      function parallel(tasks, callback) {
+        return _parallel(eachOf$1, tasks, callback);
+      }
+      function parallelLimit(tasks, limit, callback) {
+        return _parallel(eachOfLimit$2(limit), tasks, callback);
+      }
+      function queue(worker, concurrency) {
+        var _worker = wrapAsync(worker);
+        return queue$1((items, cb) => {
+          _worker(items[0], cb);
+        }, concurrency, 1);
+      }
+      class Heap {
+        constructor() {
+          this.heap = [];
+          this.pushCount = Number.MIN_SAFE_INTEGER;
+        }
+        get length() {
+          return this.heap.length;
+        }
+        empty() {
+          this.heap = [];
+          return this;
+        }
+        percUp(index2) {
+          let p;
+          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
+            let t = this.heap[index2];
+            this.heap[index2] = this.heap[p];
+            this.heap[p] = t;
+            index2 = p;
+          }
+        }
+        percDown(index2) {
+          let l;
+          while ((l = leftChi(index2)) < this.heap.length) {
+            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
+              l = l + 1;
+            }
+            if (smaller(this.heap[index2], this.heap[l])) {
+              break;
+            }
+            let t = this.heap[index2];
+            this.heap[index2] = this.heap[l];
+            this.heap[l] = t;
+            index2 = l;
           }
-        });
-      }
-      /**
-       * Sets one or more user-defined name-value pairs for the specified container.
-       *
-       * If no option provided, or no metadata defined in the parameter, the container
-       * metadata will be removed.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata
-       *
-       * @param metadata - Replace existing metadata with this value.
-       *                            If no value provided the existing metadata will be removed.
-       * @param options - Options to Container Set Metadata operation.
-       */
-      async setMetadata(metadata, options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
         }
-        if (options.conditions.ifUnmodifiedSince) {
-          throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service");
+        push(node) {
+          node.pushCount = ++this.pushCount;
+          this.heap.push(node);
+          this.percUp(this.heap.length - 1);
         }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
-      }
-      /**
-       * Gets the permissions for the specified container. The permissions indicate
-       * whether container data may be accessed publicly.
-       *
-       * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings.
-       * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z".
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl
-       *
-       * @param options - Options to Container Get Access Policy operation.
-       */
-      async getAccessPolicy(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
+        unshift(node) {
+          return this.heap.push(node);
         }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const res = {
-            _response: response._response,
-            blobPublicAccess: response.blobPublicAccess,
-            date: response.date,
-            etag: response.etag,
-            errorCode: response.errorCode,
-            lastModified: response.lastModified,
-            requestId: response.requestId,
-            clientRequestId: response.clientRequestId,
-            signedIdentifiers: [],
-            version: response.version
-          };
-          for (const identifier of response) {
-            let accessPolicy = void 0;
-            if (identifier.accessPolicy) {
-              accessPolicy = {
-                permissions: identifier.accessPolicy.permissions
-              };
-              if (identifier.accessPolicy.expiresOn) {
-                accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn);
-              }
-              if (identifier.accessPolicy.startsOn) {
-                accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn);
-              }
+        shift() {
+          let [top] = this.heap;
+          this.heap[0] = this.heap[this.heap.length - 1];
+          this.heap.pop();
+          this.percDown(0);
+          return top;
+        }
+        toArray() {
+          return [...this];
+        }
+        *[Symbol.iterator]() {
+          for (let i = 0; i < this.heap.length; i++) {
+            yield this.heap[i].data;
+          }
+        }
+        remove(testFn) {
+          let j = 0;
+          for (let i = 0; i < this.heap.length; i++) {
+            if (!testFn(this.heap[i])) {
+              this.heap[j] = this.heap[i];
+              j++;
             }
-            res.signedIdentifiers.push({
-              accessPolicy,
-              id: identifier.id
-            });
           }
-          return res;
-        });
-      }
-      /**
-       * Sets the permissions for the specified container. The permissions indicate
-       * whether blobs in a container may be accessed publicly.
-       *
-       * When you set permissions for a container, the existing permissions are replaced.
-       * If no access or containerAcl provided, the existing container ACL will be
-       * removed.
-       *
-       * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect.
-       * During this interval, a shared access signature that is associated with the stored access policy will
-       * fail with status code 403 (Forbidden), until the access policy becomes active.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl
-       *
-       * @param access - The level of public access to data in the container.
-       * @param containerAcl - Array of elements each having a unique Id and details of the access policy.
-       * @param options - Options to Container Set Access Policy operation.
-       */
-      async setAccessPolicy(access, containerAcl, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => {
-          const acl = [];
-          for (const identifier of containerAcl || []) {
-            acl.push({
-              accessPolicy: {
-                expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "",
-                permissions: identifier.accessPolicy.permissions,
-                startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : ""
-              },
-              id: identifier.id
-            });
+          this.heap.splice(j);
+          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
+            this.percDown(i);
           }
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({
-            abortSignal: options.abortSignal,
-            access,
-            containerAcl: acl,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+          return this;
+        }
       }
-      /**
-       * Get a {@link BlobLeaseClient} that manages leases on the container.
-       *
-       * @param proposeLeaseId - Initial proposed lease Id.
-       * @returns A new BlobLeaseClient object for managing leases on the container.
-       */
-      getBlobLeaseClient(proposeLeaseId) {
-        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      function leftChi(i) {
+        return (i << 1) + 1;
       }
-      /**
-       * Creates a new block blob, or updates the content of an existing block blob.
-       *
-       * Updating an existing block blob overwrites any existing metadata on the blob.
-       * Partial updates are not supported; the content of the existing blob is
-       * overwritten with the new content. To perform a partial update of a block blob's,
-       * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}.
-       *
-       * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile},
-       * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better
-       * performance with concurrency uploading.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param blobName - Name of the block blob to create or update.
-       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
-       *                               which returns a new Readable stream whose offset is from data source beginning.
-       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
-       *                               string including non non-Base64/Hex-encoded characters.
-       * @param options - Options to configure the Block Blob Upload operation.
-       * @returns Block Blob upload response data and the corresponding BlockBlobClient instance.
-       */
-      async uploadBlockBlob(blobName, body, contentLength, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => {
-          const blockBlobClient = this.getBlockBlobClient(blobName);
-          const response = await blockBlobClient.upload(body, contentLength, updatedOptions);
+      function parent(i) {
+        return (i + 1 >> 1) - 1;
+      }
+      function smaller(x, y) {
+        if (x.priority !== y.priority) {
+          return x.priority < y.priority;
+        } else {
+          return x.pushCount < y.pushCount;
+        }
+      }
+      function priorityQueue(worker, concurrency) {
+        var q = queue(worker, concurrency);
+        var {
+          push,
+          pushAsync
+        } = q;
+        q._tasks = new Heap();
+        q._createTaskItem = ({ data, priority }, callback) => {
           return {
-            blockBlobClient,
-            response
+            data,
+            priority,
+            callback
           };
-        });
-      }
-      /**
-       * Marks the specified blob or snapshot for deletion. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param blobName -
-       * @param options - Options to Blob Delete operation.
-       * @returns Block blob deletion response data.
-       */
-      async deleteBlob(blobName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => {
-          let blobClient = this.getBlobClient(blobName);
-          if (options.versionId) {
-            blobClient = blobClient.withVersion(options.versionId);
+        };
+        function createDataItems(tasks, priority) {
+          if (!Array.isArray(tasks)) {
+            return { data: tasks, priority };
           }
-          return blobClient.delete(updatedOptions);
-        });
+          return tasks.map((data) => {
+            return { data, priority };
+          });
+        }
+        q.push = function(data, priority = 0, callback) {
+          return push(createDataItems(data, priority), callback);
+        };
+        q.pushAsync = function(data, priority = 0, callback) {
+          return pushAsync(createDataItems(data, priority), callback);
+        };
+        delete q.unshift;
+        delete q.unshiftAsync;
+        return q;
       }
-      /**
-       * listBlobFlatSegment returns a single segment of blobs starting from the
-       * specified Marker. Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call listBlobsFlatSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
-       *
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to Container List Blob Flat Segment operation.
-       */
-      async listBlobFlatSegment(marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({
-            marker,
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: {
-              ...response._response,
-              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody)
-            },
-            // _response is made non-enumerable
-            segment: {
-              ...response.segment,
-              blobItems: response.segment.blobItems.map((blobItemInternal) => {
-                const blobItem = {
-                  ...blobItemInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
-                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
-                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
-                };
-                return blobItem;
-              })
-            }
-          };
-          return wrappedResponse;
-        });
+      function race(tasks, callback) {
+        callback = once(callback);
+        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
+        if (!tasks.length) return callback();
+        for (var i = 0, l = tasks.length; i < l; i++) {
+          wrapAsync(tasks[i])(callback);
+        }
       }
-      /**
-       * listBlobHierarchySegment returns a single segment of blobs starting from
-       * the specified Marker. Use an empty Marker to start enumeration from the
-       * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment
-       * again (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to Container List Blob Hierarchy Segment operation.
-       */
-      async listBlobHierarchySegment(delimiter, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, {
-            marker,
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: {
-              ...response._response,
-              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody)
-            },
-            // _response is made non-enumerable
-            segment: {
-              ...response.segment,
-              blobItems: response.segment.blobItems.map((blobItemInternal) => {
-                const blobItem = {
-                  ...blobItemInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
-                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
-                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
-                };
-                return blobItem;
-              }),
-              blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => {
-                const blobPrefix = {
-                  ...blobPrefixInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name)
-                };
-                return blobPrefix;
-              })
+      var race$1 = awaitify(race, 2);
+      function reduceRight(array, memo, iteratee, callback) {
+        var reversed = [...array].reverse();
+        return reduce$1(reversed, memo, iteratee, callback);
+      }
+      function reflect(fn) {
+        var _fn = wrapAsync(fn);
+        return initialParams(function reflectOn(args, reflectCallback) {
+          args.push((error3, ...cbArgs) => {
+            let retVal = {};
+            if (error3) {
+              retVal.error = error3;
             }
-          };
-          return wrappedResponse;
+            if (cbArgs.length > 0) {
+              var value = cbArgs;
+              if (cbArgs.length <= 1) {
+                [value] = cbArgs;
+              }
+              retVal.value = value;
+            }
+            reflectCallback(null, retVal);
+          });
+          return _fn.apply(this, args);
         });
       }
-      /**
-       * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse
-       *
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to list blobs operation.
-       */
-      async *listSegments(marker, options = {}) {
-        let listBlobsFlatSegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options);
-            marker = listBlobsFlatSegmentResponse.continuationToken;
-            yield await listBlobsFlatSegmentResponse;
-          } while (marker);
+      function reflectAll(tasks) {
+        var results;
+        if (Array.isArray(tasks)) {
+          results = tasks.map(reflect);
+        } else {
+          results = {};
+          Object.keys(tasks).forEach((key) => {
+            results[key] = reflect.call(this, tasks[key]);
+          });
         }
+        return results;
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link BlobItem} objects
-       *
-       * @param options - Options to list blobs operation.
-       */
-      async *listItems(options = {}) {
-        let marker;
-        for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) {
-          yield* listBlobsFlatSegmentResponse.segment.blobItems;
-        }
+      function reject$2(eachfn, arr, _iteratee, callback) {
+        const iteratee = wrapAsync(_iteratee);
+        return _filter(eachfn, arr, (value, cb) => {
+          iteratee(value, (err, v) => {
+            cb(err, !v);
+          });
+        }, callback);
       }
-      /**
-       * Returns an async iterable iterator to list all the blobs
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * ```ts snippet:ReadmeSampleListBlobs_Multiple
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * const blobs = containerClient.listBlobsFlat();
-       * for await (const blob of blobs) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.listBlobsFlat();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param options - Options to list blobs.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listBlobsFlat(options = {}) {
-        const include = [];
-        if (options.includeCopy) {
-          include.push("copy");
+      function reject(coll, iteratee, callback) {
+        return reject$2(eachOf$1, coll, iteratee, callback);
+      }
+      var reject$1 = awaitify(reject, 3);
+      function rejectLimit(coll, limit, iteratee, callback) {
+        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var rejectLimit$1 = awaitify(rejectLimit, 4);
+      function rejectSeries(coll, iteratee, callback) {
+        return reject$2(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var rejectSeries$1 = awaitify(rejectSeries, 3);
+      function constant(value) {
+        return function() {
+          return value;
+        };
+      }
+      const DEFAULT_TIMES = 5;
+      const DEFAULT_INTERVAL = 0;
+      function retry2(opts, task, callback) {
+        var options = {
+          times: DEFAULT_TIMES,
+          intervalFunc: constant(DEFAULT_INTERVAL)
+        };
+        if (arguments.length < 3 && typeof opts === "function") {
+          callback = task || promiseCallback();
+          task = opts;
+        } else {
+          parseTimes(options, opts);
+          callback = callback || promiseCallback();
         }
-        if (options.includeDeleted) {
-          include.push("deleted");
+        if (typeof task !== "function") {
+          throw new Error("Invalid arguments for async.retry");
         }
-        if (options.includeMetadata) {
-          include.push("metadata");
+        var _task = wrapAsync(task);
+        var attempt = 1;
+        function retryAttempt() {
+          _task((err, ...args) => {
+            if (err === false) return;
+            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
+              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
+            } else {
+              callback(err, ...args);
+            }
+          });
         }
-        if (options.includeSnapshots) {
-          include.push("snapshots");
+        retryAttempt();
+        return callback[PROMISE_SYMBOL];
+      }
+      function parseTimes(acc, t) {
+        if (typeof t === "object") {
+          acc.times = +t.times || DEFAULT_TIMES;
+          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
+          acc.errorFilter = t.errorFilter;
+        } else if (typeof t === "number" || typeof t === "string") {
+          acc.times = +t || DEFAULT_TIMES;
+        } else {
+          throw new Error("Invalid arguments for async.retry");
         }
-        if (options.includeVersions) {
-          include.push("versions");
+      }
+      function retryable(opts, task) {
+        if (!task) {
+          task = opts;
+          opts = null;
         }
-        if (options.includeUncommitedBlobs) {
-          include.push("uncommittedblobs");
+        let arity = opts && opts.arity || task.length;
+        if (isAsync(task)) {
+          arity += 1;
         }
-        if (options.includeTags) {
-          include.push("tags");
+        var _task = wrapAsync(task);
+        return initialParams((args, callback) => {
+          if (args.length < arity - 1 || callback == null) {
+            args.push(callback);
+            callback = promiseCallback();
+          }
+          function taskFn(cb) {
+            _task(...args, cb);
+          }
+          if (opts) retry2(opts, taskFn, callback);
+          else retry2(taskFn, callback);
+          return callback[PROMISE_SYMBOL];
+        });
+      }
+      function series(tasks, callback) {
+        return _parallel(eachOfSeries$1, tasks, callback);
+      }
+      function some(coll, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
+      }
+      var some$1 = awaitify(some, 3);
+      function someLimit(coll, limit, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var someLimit$1 = awaitify(someLimit, 4);
+      function someSeries(coll, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var someSeries$1 = awaitify(someSeries, 3);
+      function sortBy(coll, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return map$1(coll, (x, iterCb) => {
+          _iteratee(x, (err, criteria) => {
+            if (err) return iterCb(err);
+            iterCb(err, { value: x, criteria });
+          });
+        }, (err, results) => {
+          if (err) return callback(err);
+          callback(null, results.sort(comparator).map((v) => v.value));
+        });
+        function comparator(left, right) {
+          var a = left.criteria, b = right.criteria;
+          return a < b ? -1 : a > b ? 1 : 0;
         }
-        if (options.includeDeletedWithVersions) {
-          include.push("deletedwithversions");
+      }
+      var sortBy$1 = awaitify(sortBy, 3);
+      function timeout(asyncFn, milliseconds, info7) {
+        var fn = wrapAsync(asyncFn);
+        return initialParams((args, callback) => {
+          var timedOut = false;
+          var timer;
+          function timeoutCallback() {
+            var name = asyncFn.name || "anonymous";
+            var error3 = new Error('Callback function "' + name + '" timed out.');
+            error3.code = "ETIMEDOUT";
+            if (info7) {
+              error3.info = info7;
+            }
+            timedOut = true;
+            callback(error3);
+          }
+          args.push((...cbArgs) => {
+            if (!timedOut) {
+              callback(...cbArgs);
+              clearTimeout(timer);
+            }
+          });
+          timer = setTimeout(timeoutCallback, milliseconds);
+          fn(...args);
+        });
+      }
+      function range(size) {
+        var result = Array(size);
+        while (size--) {
+          result[size] = size;
         }
-        if (options.includeImmutabilityPolicy) {
-          include.push("immutabilitypolicy");
+        return result;
+      }
+      function timesLimit(count, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(range(count), limit, _iteratee, callback);
+      }
+      function times(n, iteratee, callback) {
+        return timesLimit(n, Infinity, iteratee, callback);
+      }
+      function timesSeries(n, iteratee, callback) {
+        return timesLimit(n, 1, iteratee, callback);
+      }
+      function transform(coll, accumulator, iteratee, callback) {
+        if (arguments.length <= 3 && typeof accumulator === "function") {
+          callback = iteratee;
+          iteratee = accumulator;
+          accumulator = Array.isArray(coll) ? [] : {};
         }
-        if (options.includeLegalHold) {
-          include.push("legalhold");
+        callback = once(callback || promiseCallback());
+        var _iteratee = wrapAsync(iteratee);
+        eachOf$1(coll, (v, k, cb) => {
+          _iteratee(accumulator, v, k, cb);
+        }, (err) => callback(err, accumulator));
+        return callback[PROMISE_SYMBOL];
+      }
+      function tryEach(tasks, callback) {
+        var error3 = null;
+        var result;
+        return eachSeries$1(tasks, (task, taskCb) => {
+          wrapAsync(task)((err, ...args) => {
+            if (err === false) return taskCb(err);
+            if (args.length < 2) {
+              [result] = args;
+            } else {
+              result = args;
+            }
+            error3 = err;
+            taskCb(err ? null : {});
+          });
+        }, () => callback(error3, result));
+      }
+      var tryEach$1 = awaitify(tryEach);
+      function unmemoize(fn) {
+        return (...args) => {
+          return (fn.unmemoized || fn)(...args);
+        };
+      }
+      function whilst(test, iteratee, callback) {
+        callback = onlyOnce(callback);
+        var _fn = wrapAsync(iteratee);
+        var _test = wrapAsync(test);
+        var results = [];
+        function next(err, ...rest) {
+          if (err) return callback(err);
+          results = rest;
+          if (err === false) return;
+          _test(check);
         }
-        if (options.prefix === "") {
-          options.prefix = void 0;
+        function check(err, truth) {
+          if (err) return callback(err);
+          if (err === false) return;
+          if (!truth) return callback(null, ...results);
+          _fn(next);
         }
-        const updatedOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
+        return _test(check);
+      }
+      var whilst$1 = awaitify(whilst, 3);
+      function until(test, iteratee, callback) {
+        const _test = wrapAsync(test);
+        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
+      }
+      function waterfall(tasks, callback) {
+        callback = once(callback);
+        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
+        if (!tasks.length) return callback();
+        var taskIndex = 0;
+        function nextTask(args) {
+          var task = wrapAsync(tasks[taskIndex++]);
+          task(...args, onlyOnce(next));
+        }
+        function next(err, ...args) {
+          if (err === false) return;
+          if (err || taskIndex === tasks.length) {
+            return callback(err, ...args);
+          }
+          nextTask(args);
+        }
+        nextTask([]);
+      }
+      var waterfall$1 = awaitify(waterfall);
+      var index = {
+        apply,
+        applyEach,
+        applyEachSeries,
+        asyncify,
+        auto,
+        autoInject,
+        cargo: cargo$1,
+        cargoQueue: cargo,
+        compose,
+        concat: concat$1,
+        concatLimit: concatLimit$1,
+        concatSeries: concatSeries$1,
+        constant: constant$1,
+        detect: detect$1,
+        detectLimit: detectLimit$1,
+        detectSeries: detectSeries$1,
+        dir,
+        doUntil,
+        doWhilst: doWhilst$1,
+        each,
+        eachLimit: eachLimit$1,
+        eachOf: eachOf$1,
+        eachOfLimit: eachOfLimit$1,
+        eachOfSeries: eachOfSeries$1,
+        eachSeries: eachSeries$1,
+        ensureAsync,
+        every: every$1,
+        everyLimit: everyLimit$1,
+        everySeries: everySeries$1,
+        filter: filter$1,
+        filterLimit: filterLimit$1,
+        filterSeries: filterSeries$1,
+        forever: forever$1,
+        groupBy,
+        groupByLimit: groupByLimit$1,
+        groupBySeries,
+        log,
+        map: map$1,
+        mapLimit: mapLimit$1,
+        mapSeries: mapSeries$1,
+        mapValues,
+        mapValuesLimit: mapValuesLimit$1,
+        mapValuesSeries,
+        memoize,
+        nextTick,
+        parallel,
+        parallelLimit,
+        priorityQueue,
+        queue,
+        race: race$1,
+        reduce: reduce$1,
+        reduceRight,
+        reflect,
+        reflectAll,
+        reject: reject$1,
+        rejectLimit: rejectLimit$1,
+        rejectSeries: rejectSeries$1,
+        retry: retry2,
+        retryable,
+        seq: seq2,
+        series,
+        setImmediate: setImmediate$1,
+        some: some$1,
+        someLimit: someLimit$1,
+        someSeries: someSeries$1,
+        sortBy: sortBy$1,
+        timeout,
+        times,
+        timesLimit,
+        timesSeries,
+        transform,
+        tryEach: tryEach$1,
+        unmemoize,
+        until,
+        waterfall: waterfall$1,
+        whilst: whilst$1,
+        // aliases
+        all: every$1,
+        allLimit: everyLimit$1,
+        allSeries: everySeries$1,
+        any: some$1,
+        anyLimit: someLimit$1,
+        anySeries: someSeries$1,
+        find: detect$1,
+        findLimit: detectLimit$1,
+        findSeries: detectSeries$1,
+        flatMap: concat$1,
+        flatMapLimit: concatLimit$1,
+        flatMapSeries: concatSeries$1,
+        forEach: each,
+        forEachSeries: eachSeries$1,
+        forEachLimit: eachLimit$1,
+        forEachOf: eachOf$1,
+        forEachOfSeries: eachOfSeries$1,
+        forEachOfLimit: eachOfLimit$1,
+        inject: reduce$1,
+        foldl: reduce$1,
+        foldr: reduceRight,
+        select: filter$1,
+        selectLimit: filterLimit$1,
+        selectSeries: filterSeries$1,
+        wrapSync: asyncify,
+        during: whilst$1,
+        doDuring: doWhilst$1
+      };
+      exports3.all = every$1;
+      exports3.allLimit = everyLimit$1;
+      exports3.allSeries = everySeries$1;
+      exports3.any = some$1;
+      exports3.anyLimit = someLimit$1;
+      exports3.anySeries = someSeries$1;
+      exports3.apply = apply;
+      exports3.applyEach = applyEach;
+      exports3.applyEachSeries = applyEachSeries;
+      exports3.asyncify = asyncify;
+      exports3.auto = auto;
+      exports3.autoInject = autoInject;
+      exports3.cargo = cargo$1;
+      exports3.cargoQueue = cargo;
+      exports3.compose = compose;
+      exports3.concat = concat$1;
+      exports3.concatLimit = concatLimit$1;
+      exports3.concatSeries = concatSeries$1;
+      exports3.constant = constant$1;
+      exports3.default = index;
+      exports3.detect = detect$1;
+      exports3.detectLimit = detectLimit$1;
+      exports3.detectSeries = detectSeries$1;
+      exports3.dir = dir;
+      exports3.doDuring = doWhilst$1;
+      exports3.doUntil = doUntil;
+      exports3.doWhilst = doWhilst$1;
+      exports3.during = whilst$1;
+      exports3.each = each;
+      exports3.eachLimit = eachLimit$1;
+      exports3.eachOf = eachOf$1;
+      exports3.eachOfLimit = eachOfLimit$1;
+      exports3.eachOfSeries = eachOfSeries$1;
+      exports3.eachSeries = eachSeries$1;
+      exports3.ensureAsync = ensureAsync;
+      exports3.every = every$1;
+      exports3.everyLimit = everyLimit$1;
+      exports3.everySeries = everySeries$1;
+      exports3.filter = filter$1;
+      exports3.filterLimit = filterLimit$1;
+      exports3.filterSeries = filterSeries$1;
+      exports3.find = detect$1;
+      exports3.findLimit = detectLimit$1;
+      exports3.findSeries = detectSeries$1;
+      exports3.flatMap = concat$1;
+      exports3.flatMapLimit = concatLimit$1;
+      exports3.flatMapSeries = concatSeries$1;
+      exports3.foldl = reduce$1;
+      exports3.foldr = reduceRight;
+      exports3.forEach = each;
+      exports3.forEachLimit = eachLimit$1;
+      exports3.forEachOf = eachOf$1;
+      exports3.forEachOfLimit = eachOfLimit$1;
+      exports3.forEachOfSeries = eachOfSeries$1;
+      exports3.forEachSeries = eachSeries$1;
+      exports3.forever = forever$1;
+      exports3.groupBy = groupBy;
+      exports3.groupByLimit = groupByLimit$1;
+      exports3.groupBySeries = groupBySeries;
+      exports3.inject = reduce$1;
+      exports3.log = log;
+      exports3.map = map$1;
+      exports3.mapLimit = mapLimit$1;
+      exports3.mapSeries = mapSeries$1;
+      exports3.mapValues = mapValues;
+      exports3.mapValuesLimit = mapValuesLimit$1;
+      exports3.mapValuesSeries = mapValuesSeries;
+      exports3.memoize = memoize;
+      exports3.nextTick = nextTick;
+      exports3.parallel = parallel;
+      exports3.parallelLimit = parallelLimit;
+      exports3.priorityQueue = priorityQueue;
+      exports3.queue = queue;
+      exports3.race = race$1;
+      exports3.reduce = reduce$1;
+      exports3.reduceRight = reduceRight;
+      exports3.reflect = reflect;
+      exports3.reflectAll = reflectAll;
+      exports3.reject = reject$1;
+      exports3.rejectLimit = rejectLimit$1;
+      exports3.rejectSeries = rejectSeries$1;
+      exports3.retry = retry2;
+      exports3.retryable = retryable;
+      exports3.select = filter$1;
+      exports3.selectLimit = filterLimit$1;
+      exports3.selectSeries = filterSeries$1;
+      exports3.seq = seq2;
+      exports3.series = series;
+      exports3.setImmediate = setImmediate$1;
+      exports3.some = some$1;
+      exports3.someLimit = someLimit$1;
+      exports3.someSeries = someSeries$1;
+      exports3.sortBy = sortBy$1;
+      exports3.timeout = timeout;
+      exports3.times = times;
+      exports3.timesLimit = timesLimit;
+      exports3.timesSeries = timesSeries;
+      exports3.transform = transform;
+      exports3.tryEach = tryEach$1;
+      exports3.unmemoize = unmemoize;
+      exports3.until = until;
+      exports3.waterfall = waterfall$1;
+      exports3.whilst = whilst$1;
+      exports3.wrapSync = asyncify;
+      Object.defineProperty(exports3, "__esModule", { value: true });
+    }));
+  }
+});
+
+// node_modules/graceful-fs/polyfills.js
+var require_polyfills = __commonJS({
+  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
+    var constants = require("constants");
+    var origCwd = process.cwd;
+    var cwd = null;
+    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
+    process.cwd = function() {
+      if (!cwd)
+        cwd = origCwd.call(process);
+      return cwd;
+    };
+    try {
+      process.cwd();
+    } catch (er) {
+    }
+    if (typeof process.chdir === "function") {
+      chdir = process.chdir;
+      process.chdir = function(d) {
+        cwd = null;
+        chdir.call(process, d);
+      };
+      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
+    }
+    var chdir;
+    module2.exports = patch;
+    function patch(fs3) {
+      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
+        patchLchmod(fs3);
+      }
+      if (!fs3.lutimes) {
+        patchLutimes(fs3);
+      }
+      fs3.chown = chownFix(fs3.chown);
+      fs3.fchown = chownFix(fs3.fchown);
+      fs3.lchown = chownFix(fs3.lchown);
+      fs3.chmod = chmodFix(fs3.chmod);
+      fs3.fchmod = chmodFix(fs3.fchmod);
+      fs3.lchmod = chmodFix(fs3.lchmod);
+      fs3.chownSync = chownFixSync(fs3.chownSync);
+      fs3.fchownSync = chownFixSync(fs3.fchownSync);
+      fs3.lchownSync = chownFixSync(fs3.lchownSync);
+      fs3.chmodSync = chmodFixSync(fs3.chmodSync);
+      fs3.fchmodSync = chmodFixSync(fs3.fchmodSync);
+      fs3.lchmodSync = chmodFixSync(fs3.lchmodSync);
+      fs3.stat = statFix(fs3.stat);
+      fs3.fstat = statFix(fs3.fstat);
+      fs3.lstat = statFix(fs3.lstat);
+      fs3.statSync = statFixSync(fs3.statSync);
+      fs3.fstatSync = statFixSync(fs3.fstatSync);
+      fs3.lstatSync = statFixSync(fs3.lstatSync);
+      if (fs3.chmod && !fs3.lchmod) {
+        fs3.lchmod = function(path4, mode, cb) {
+          if (cb) process.nextTick(cb);
         };
-        const iter = this.listItems(updatedOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listSegments(settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...updatedOptions
+        fs3.lchmodSync = function() {
+        };
+      }
+      if (fs3.chown && !fs3.lchown) {
+        fs3.lchown = function(path4, uid, gid, cb) {
+          if (cb) process.nextTick(cb);
+        };
+        fs3.lchownSync = function() {
+        };
+      }
+      if (platform === "win32") {
+        fs3.rename = typeof fs3.rename !== "function" ? fs3.rename : (function(fs$rename) {
+          function rename(from, to, cb) {
+            var start = Date.now();
+            var backoff = 0;
+            fs$rename(from, to, function CB(er) {
+              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
+                setTimeout(function() {
+                  fs3.stat(to, function(stater, st) {
+                    if (stater && stater.code === "ENOENT")
+                      fs$rename(from, to, CB);
+                    else
+                      cb(er);
+                  });
+                }, backoff);
+                if (backoff < 100)
+                  backoff += 10;
+                return;
+              }
+              if (cb) cb(er);
             });
           }
-        };
+          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
+          return rename;
+        })(fs3.rename);
       }
-      /**
-       * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to list blobs operation.
-       */
-      async *listHierarchySegments(delimiter, marker, options = {}) {
-        let listBlobsHierarchySegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options);
-            marker = listBlobsHierarchySegmentResponse.continuationToken;
-            yield await listBlobsHierarchySegmentResponse;
-          } while (marker);
+      fs3.read = typeof fs3.read !== "function" ? fs3.read : (function(fs$read) {
+        function read(fd, buffer, offset, length, position, callback_) {
+          var callback;
+          if (callback_ && typeof callback_ === "function") {
+            var eagCounter = 0;
+            callback = function(er, _2, __) {
+              if (er && er.code === "EAGAIN" && eagCounter < 10) {
+                eagCounter++;
+                return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
+              }
+              callback_.apply(this, arguments);
+            };
+          }
+          return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
         }
-      }
-      /**
-       * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects.
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param options - Options to list blobs operation.
-       */
-      async *listItemsByHierarchy(delimiter, options = {}) {
-        let marker;
-        for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) {
-          const segment = listBlobsHierarchySegmentResponse.segment;
-          if (segment.blobPrefixes) {
-            for (const prefix of segment.blobPrefixes) {
-              yield {
-                kind: "prefix",
-                ...prefix
-              };
+        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
+        return read;
+      })(fs3.read);
+      fs3.readSync = typeof fs3.readSync !== "function" ? fs3.readSync : /* @__PURE__ */ (function(fs$readSync) {
+        return function(fd, buffer, offset, length, position) {
+          var eagCounter = 0;
+          while (true) {
+            try {
+              return fs$readSync.call(fs3, fd, buffer, offset, length, position);
+            } catch (er) {
+              if (er.code === "EAGAIN" && eagCounter < 10) {
+                eagCounter++;
+                continue;
+              }
+              throw er;
             }
           }
-          for (const blob of segment.blobItems) {
-            yield { kind: "blob", ...blob };
-          }
-        }
-      }
-      /**
-       * Returns an async iterable iterator to list all the blobs by hierarchy.
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages.
-       *
-       * ```ts snippet:ReadmeSampleListBlobsByHierarchy
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * const blobs = containerClient.listBlobsByHierarchy("/");
-       * for await (const blob of blobs) {
-       *   if (blob.kind === "prefix") {
-       *     console.log(`\tBlobPrefix: ${blob.name}`);
-       *   } else {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.listBlobsByHierarchy("/");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   if (value.kind === "prefix") {
-       *     console.log(`\tBlobPrefix: ${value.name}`);
-       *   } else {
-       *     console.log(`\tBlobItem: name - ${value.name}`);
-       *   }
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
-       *   const segment = page.segment;
-       *   if (segment.blobPrefixes) {
-       *     for (const prefix of segment.blobPrefixes) {
-       *       console.log(`\tBlobPrefix: ${prefix.name}`);
-       *     }
-       *   }
-       *   for (const blob of page.segment.blobItems) {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobPrefixes) {
-       *   for (const prefix of response.blobPrefixes) {
-       *     console.log(`\tBlobPrefix: ${prefix.name}`);
-       *   }
-       * }
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient
-       *   .listBlobsByHierarchy("/")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.blobPrefixes) {
-       *   for (const prefix of response.blobPrefixes) {
-       *     console.log(`\tBlobPrefix: ${prefix.name}`);
-       *   }
-       * }
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param options - Options to list blobs operation.
-       */
-      listBlobsByHierarchy(delimiter, options = {}) {
-        if (delimiter === "") {
-          throw new RangeError("delimiter should contain one or more characters");
-        }
-        const include = [];
-        if (options.includeCopy) {
-          include.push("copy");
-        }
-        if (options.includeDeleted) {
-          include.push("deleted");
-        }
-        if (options.includeMetadata) {
-          include.push("metadata");
-        }
-        if (options.includeSnapshots) {
-          include.push("snapshots");
-        }
-        if (options.includeVersions) {
-          include.push("versions");
-        }
-        if (options.includeUncommitedBlobs) {
-          include.push("uncommittedblobs");
-        }
-        if (options.includeTags) {
-          include.push("tags");
-        }
-        if (options.includeDeletedWithVersions) {
-          include.push("deletedwithversions");
-        }
-        if (options.includeImmutabilityPolicy) {
-          include.push("immutabilitypolicy");
-        }
-        if (options.includeLegalHold) {
-          include.push("legalhold");
-        }
-        if (options.prefix === "") {
-          options.prefix = void 0;
-        }
-        const updatedOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
         };
-        const iter = this.listItemsByHierarchy(delimiter, updatedOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          async next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listHierarchySegments(delimiter, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...updatedOptions
-            });
+      })(fs3.readSync);
+      function patchLchmod(fs4) {
+        fs4.lchmod = function(path4, mode, callback) {
+          fs4.open(
+            path4,
+            constants.O_WRONLY | constants.O_SYMLINK,
+            mode,
+            function(err, fd) {
+              if (err) {
+                if (callback) callback(err);
+                return;
+              }
+              fs4.fchmod(fd, mode, function(err2) {
+                fs4.close(fd, function(err22) {
+                  if (callback) callback(err2 || err22);
+                });
+              });
+            }
+          );
+        };
+        fs4.lchmodSync = function(path4, mode) {
+          var fd = fs4.openSync(path4, constants.O_WRONLY | constants.O_SYMLINK, mode);
+          var threw = true;
+          var ret;
+          try {
+            ret = fs4.fchmodSync(fd, mode);
+            threw = false;
+          } finally {
+            if (threw) {
+              try {
+                fs4.closeSync(fd);
+              } catch (er) {
+              }
+            } else {
+              fs4.closeSync(fd);
+            }
           }
+          return ret;
         };
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs in the container whose tags
-       * match a given search expression.
-       *
-       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                        The given expression must evaluate to true for a blob to be returned in the results.
-       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({
-            abortSignal: options.abortSignal,
-            where: tagFilterSqlExpression,
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            blobs: response.blobs.map((blob) => {
-              let tagValue = "";
-              if (blob.tags?.blobTagSet.length === 1) {
-                tagValue = blob.tags.blobTagSet[0].value;
+      function patchLutimes(fs4) {
+        if (constants.hasOwnProperty("O_SYMLINK") && fs4.futimes) {
+          fs4.lutimes = function(path4, at, mt, cb) {
+            fs4.open(path4, constants.O_SYMLINK, function(er, fd) {
+              if (er) {
+                if (cb) cb(er);
+                return;
               }
-              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
-            })
-          };
-          return wrappedResponse;
-        });
-      }
-      /**
-       * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
-        let response;
-        if (!!marker || marker === void 0) {
-          do {
-            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
-            response.blobs = response.blobs || [];
-            marker = response.continuationToken;
-            yield response;
-          } while (marker);
-        }
-      }
-      /**
-       * Returns an AsyncIterableIterator for blobs.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to findBlobsByTagsItems.
-       */
-      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
-        let marker;
-        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
-          yield* segment.blobs;
-        }
-      }
-      /**
-       * Returns an async iterable iterator to find all blobs with specified tag
-       * under the specified container.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * Example using `for await` syntax:
-       *
-       * ```ts snippet:ReadmeSampleFindBlobsByTags
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to find blobs by tags.
-       */
-      findBlobsByTags(tagFilterSqlExpression, options = {}) {
-        const listSegmentOptions = {
-          ...options
-        };
-        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
+              fs4.futimes(fd, at, mt, function(er2) {
+                fs4.close(fd, function(er22) {
+                  if (cb) cb(er2 || er22);
+                });
+              });
             });
+          };
+          fs4.lutimesSync = function(path4, at, mt) {
+            var fd = fs4.openSync(path4, constants.O_SYMLINK);
+            var ret;
+            var threw = true;
+            try {
+              ret = fs4.futimesSync(fd, at, mt);
+              threw = false;
+            } finally {
+              if (threw) {
+                try {
+                  fs4.closeSync(fd);
+                } catch (er) {
+                }
+              } else {
+                fs4.closeSync(fd);
+              }
+            }
+            return ret;
+          };
+        } else if (fs4.futimes) {
+          fs4.lutimes = function(_a, _b, _c, cb) {
+            if (cb) process.nextTick(cb);
+          };
+          fs4.lutimesSync = function() {
+          };
+        }
+      }
+      function chmodFix(orig) {
+        if (!orig) return orig;
+        return function(target, mode, cb) {
+          return orig.call(fs3, target, mode, function(er) {
+            if (chownErOk(er)) er = null;
+            if (cb) cb.apply(this, arguments);
+          });
+        };
+      }
+      function chmodFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, mode) {
+          try {
+            return orig.call(fs3, target, mode);
+          } catch (er) {
+            if (!chownErOk(er)) throw er;
           }
         };
       }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      function chownFix(orig) {
+        if (!orig) return orig;
+        return function(target, uid, gid, cb) {
+          return orig.call(fs3, target, uid, gid, function(er) {
+            if (chownErOk(er)) er = null;
+            if (cb) cb.apply(this, arguments);
+          });
+        };
       }
-      getContainerNameFromUrl() {
-        let containerName;
-        try {
-          const parsedUrl = new URL(this.url);
-          if (parsedUrl.hostname.split(".")[1] === "blob") {
-            containerName = parsedUrl.pathname.split("/")[1];
-          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
-            containerName = parsedUrl.pathname.split("/")[2];
-          } else {
-            containerName = parsedUrl.pathname.split("/")[1];
+      function chownFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, uid, gid) {
+          try {
+            return orig.call(fs3, target, uid, gid);
+          } catch (er) {
+            if (!chownErOk(er)) throw er;
           }
-          containerName = decodeURIComponent(containerName);
-          if (!containerName) {
-            throw new Error("Provided containerName is invalid.");
+        };
+      }
+      function statFix(orig) {
+        if (!orig) return orig;
+        return function(target, options, cb) {
+          if (typeof options === "function") {
+            cb = options;
+            options = null;
           }
-          return containerName;
-        } catch (error3) {
-          throw new Error("Unable to extract containerName with provided information.");
-        }
+          function callback(er, stats) {
+            if (stats) {
+              if (stats.uid < 0) stats.uid += 4294967296;
+              if (stats.gid < 0) stats.gid += 4294967296;
+            }
+            if (cb) cb.apply(this, arguments);
+          }
+          return options ? orig.call(fs3, target, options, callback) : orig.call(fs3, target, callback);
+        };
       }
-      /**
-       * Only available for ContainerClient constructed with a shared key credential.
-       *
-       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasUrl(options) {
-        return new Promise((resolve3) => {
-          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+      function statFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, options) {
+          var stats = options ? orig.call(fs3, target, options) : orig.call(fs3, target);
+          if (stats) {
+            if (stats.uid < 0) stats.uid += 4294967296;
+            if (stats.gid < 0) stats.gid += 4294967296;
           }
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            ...options
-          }, this.credential).toString();
-          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+          return stats;
+        };
       }
-      /**
-       * Only available for ContainerClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
-       * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
-      generateSasStringToSign(options) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+      function chownErOk(er) {
+        if (!er)
+          return true;
+        if (er.code === "ENOSYS")
+          return true;
+        var nonroot = !process.getuid || process.getuid() !== 0;
+        if (nonroot) {
+          if (er.code === "EINVAL" || er.code === "EPERM")
+            return true;
         }
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          ...options
-        }, this.credential).stringToSign;
-      }
-      /**
-       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasUrl(options, userDelegationKey) {
-        return new Promise((resolve3) => {
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            ...options
-          }, userDelegationKey, this.accountName).toString();
-          resolve3((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
-      }
-      /**
-       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
-       * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasStringToSign(options, userDelegationKey) {
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          ...options
-        }, userDelegationKey, this.accountName).stringToSign;
-      }
-      /**
-       * Creates a BlobBatchClient object to conduct batch operations.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @returns A new BlobBatchClient object for this container.
-       */
-      getBlobBatchClient() {
-        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+        return false;
       }
-    };
-    exports2.ContainerClient = ContainerClient;
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js
-var require_AccountSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASPermissions = void 0;
-    var AccountSASPermissions = class _AccountSASPermissions {
-      /**
-       * Parse initializes the AccountSASPermissions fields from a string.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const accountSASPermissions = new _AccountSASPermissions();
-        for (const c of permissions) {
-          switch (c) {
-            case "r":
-              accountSASPermissions.read = true;
-              break;
-            case "w":
-              accountSASPermissions.write = true;
-              break;
-            case "d":
-              accountSASPermissions.delete = true;
-              break;
-            case "x":
-              accountSASPermissions.deleteVersion = true;
-              break;
-            case "l":
-              accountSASPermissions.list = true;
-              break;
-            case "a":
-              accountSASPermissions.add = true;
-              break;
-            case "c":
-              accountSASPermissions.create = true;
-              break;
-            case "u":
-              accountSASPermissions.update = true;
-              break;
-            case "p":
-              accountSASPermissions.process = true;
-              break;
-            case "t":
-              accountSASPermissions.tag = true;
-              break;
-            case "f":
-              accountSASPermissions.filter = true;
-              break;
-            case "i":
-              accountSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              accountSASPermissions.permanentDelete = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission character: ${c}`);
-          }
-        }
-        return accountSASPermissions;
-      }
-      /**
-       * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const accountSASPermissions = new _AccountSASPermissions();
-        if (permissionLike.read) {
-          accountSASPermissions.read = true;
-        }
-        if (permissionLike.write) {
-          accountSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          accountSASPermissions.delete = true;
-        }
-        if (permissionLike.deleteVersion) {
-          accountSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.filter) {
-          accountSASPermissions.filter = true;
-        }
-        if (permissionLike.tag) {
-          accountSASPermissions.tag = true;
-        }
-        if (permissionLike.list) {
-          accountSASPermissions.list = true;
-        }
-        if (permissionLike.add) {
-          accountSASPermissions.add = true;
+// node_modules/graceful-fs/legacy-streams.js
+var require_legacy_streams = __commonJS({
+  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    module2.exports = legacy;
+    function legacy(fs3) {
+      return {
+        ReadStream,
+        WriteStream
+      };
+      function ReadStream(path4, options) {
+        if (!(this instanceof ReadStream)) return new ReadStream(path4, options);
+        Stream.call(this);
+        var self2 = this;
+        this.path = path4;
+        this.fd = null;
+        this.readable = true;
+        this.paused = false;
+        this.flags = "r";
+        this.mode = 438;
+        this.bufferSize = 64 * 1024;
+        options = options || {};
+        var keys = Object.keys(options);
+        for (var index = 0, length = keys.length; index < length; index++) {
+          var key = keys[index];
+          this[key] = options[key];
         }
-        if (permissionLike.create) {
-          accountSASPermissions.create = true;
+        if (this.encoding) this.setEncoding(this.encoding);
+        if (this.start !== void 0) {
+          if ("number" !== typeof this.start) {
+            throw TypeError("start must be a Number");
+          }
+          if (this.end === void 0) {
+            this.end = Infinity;
+          } else if ("number" !== typeof this.end) {
+            throw TypeError("end must be a Number");
+          }
+          if (this.start > this.end) {
+            throw new Error("start must be <= end");
+          }
+          this.pos = this.start;
         }
-        if (permissionLike.update) {
-          accountSASPermissions.update = true;
+        if (this.fd !== null) {
+          process.nextTick(function() {
+            self2._read();
+          });
+          return;
         }
-        if (permissionLike.process) {
-          accountSASPermissions.process = true;
+        fs3.open(this.path, this.flags, this.mode, function(err, fd) {
+          if (err) {
+            self2.emit("error", err);
+            self2.readable = false;
+            return;
+          }
+          self2.fd = fd;
+          self2.emit("open", fd);
+          self2._read();
+        });
+      }
+      function WriteStream(path4, options) {
+        if (!(this instanceof WriteStream)) return new WriteStream(path4, options);
+        Stream.call(this);
+        this.path = path4;
+        this.fd = null;
+        this.writable = true;
+        this.flags = "w";
+        this.encoding = "binary";
+        this.mode = 438;
+        this.bytesWritten = 0;
+        options = options || {};
+        var keys = Object.keys(options);
+        for (var index = 0, length = keys.length; index < length; index++) {
+          var key = keys[index];
+          this[key] = options[key];
         }
-        if (permissionLike.setImmutabilityPolicy) {
-          accountSASPermissions.setImmutabilityPolicy = true;
+        if (this.start !== void 0) {
+          if ("number" !== typeof this.start) {
+            throw TypeError("start must be a Number");
+          }
+          if (this.start < 0) {
+            throw new Error("start must be >= zero");
+          }
+          this.pos = this.start;
         }
-        if (permissionLike.permanentDelete) {
-          accountSASPermissions.permanentDelete = true;
+        this.busy = false;
+        this._queue = [];
+        if (this.fd === null) {
+          this._open = fs3.open;
+          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
+          this.flush();
         }
-        return accountSASPermissions;
       }
-      /**
-       * Permission to read resources and list queues and tables granted.
-       */
-      read = false;
-      /**
-       * Permission to write resources granted.
-       */
-      write = false;
-      /**
-       * Permission to delete blobs and files granted.
-       */
-      delete = false;
-      /**
-       * Permission to delete versions granted.
-       */
-      deleteVersion = false;
-      /**
-       * Permission to list blob containers, blobs, shares, directories, and files granted.
-       */
-      list = false;
-      /**
-       * Permission to add messages, table entities, and append to blobs granted.
-       */
-      add = false;
-      /**
-       * Permission to create blobs and files granted.
-       */
-      create = false;
-      /**
-       * Permissions to update messages and table entities granted.
-       */
-      update = false;
-      /**
-       * Permission to get and delete messages granted.
-       */
-      process = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Permission to filter blobs.
-       */
-      filter = false;
-      /**
-       * Permission to set immutability policy.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Produces the SAS permissions string for an Azure Storage account.
-       * Call this method to set AccountSASSignatureValues Permissions field.
-       *
-       * Using this method will guarantee the resource types are in
-       * an order accepted by the service.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
-       *
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.write) {
-          permissions.push("w");
+    }
+  }
+});
+
+// node_modules/graceful-fs/clone.js
+var require_clone = __commonJS({
+  "node_modules/graceful-fs/clone.js"(exports2, module2) {
+    "use strict";
+    module2.exports = clone;
+    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
+      return obj.__proto__;
+    };
+    function clone(obj) {
+      if (obj === null || typeof obj !== "object")
+        return obj;
+      if (obj instanceof Object)
+        var copy = { __proto__: getPrototypeOf(obj) };
+      else
+        var copy = /* @__PURE__ */ Object.create(null);
+      Object.getOwnPropertyNames(obj).forEach(function(key) {
+        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
+      });
+      return copy;
+    }
+  }
+});
+
+// node_modules/graceful-fs/graceful-fs.js
+var require_graceful_fs = __commonJS({
+  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
+    var fs3 = require("fs");
+    var polyfills = require_polyfills();
+    var legacy = require_legacy_streams();
+    var clone = require_clone();
+    var util = require("util");
+    var gracefulQueue;
+    var previousSymbol;
+    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
+      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
+      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
+    } else {
+      gracefulQueue = "___graceful-fs.queue";
+      previousSymbol = "___graceful-fs.previous";
+    }
+    function noop3() {
+    }
+    function publishQueue(context2, queue2) {
+      Object.defineProperty(context2, gracefulQueue, {
+        get: function() {
+          return queue2;
         }
-        if (this.delete) {
-          permissions.push("d");
+      });
+    }
+    var debug4 = noop3;
+    if (util.debuglog)
+      debug4 = util.debuglog("gfs4");
+    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
+      debug4 = function() {
+        var m = util.format.apply(util, arguments);
+        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
+        console.error(m);
+      };
+    if (!fs3[gracefulQueue]) {
+      queue = global[gracefulQueue] || [];
+      publishQueue(fs3, queue);
+      fs3.close = (function(fs$close) {
+        function close(fd, cb) {
+          return fs$close.call(fs3, fd, function(err) {
+            if (!err) {
+              resetQueue();
+            }
+            if (typeof cb === "function")
+              cb.apply(this, arguments);
+          });
         }
-        if (this.deleteVersion) {
-          permissions.push("x");
+        Object.defineProperty(close, previousSymbol, {
+          value: fs$close
+        });
+        return close;
+      })(fs3.close);
+      fs3.closeSync = (function(fs$closeSync) {
+        function closeSync(fd) {
+          fs$closeSync.apply(fs3, arguments);
+          resetQueue();
         }
-        if (this.filter) {
-          permissions.push("f");
+        Object.defineProperty(closeSync, previousSymbol, {
+          value: fs$closeSync
+        });
+        return closeSync;
+      })(fs3.closeSync);
+      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
+        process.on("exit", function() {
+          debug4(fs3[gracefulQueue]);
+          require("assert").equal(fs3[gracefulQueue].length, 0);
+        });
+      }
+    }
+    var queue;
+    if (!global[gracefulQueue]) {
+      publishQueue(global, fs3[gracefulQueue]);
+    }
+    module2.exports = patch(clone(fs3));
+    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs3.__patched) {
+      module2.exports = patch(fs3);
+      fs3.__patched = true;
+    }
+    function patch(fs4) {
+      polyfills(fs4);
+      fs4.gracefulify = patch;
+      fs4.createReadStream = createReadStream;
+      fs4.createWriteStream = createWriteStream2;
+      var fs$readFile = fs4.readFile;
+      fs4.readFile = readFile;
+      function readFile(path4, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$readFile(path4, options, cb);
+        function go$readFile(path5, options2, cb2, startTime) {
+          return fs$readFile(path5, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$readFile, [path5, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-        if (this.tag) {
-          permissions.push("t");
+      }
+      var fs$writeFile = fs4.writeFile;
+      fs4.writeFile = writeFile;
+      function writeFile(path4, data, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$writeFile(path4, data, options, cb);
+        function go$writeFile(path5, data2, options2, cb2, startTime) {
+          return fs$writeFile(path5, data2, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$writeFile, [path5, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-        if (this.list) {
-          permissions.push("l");
+      }
+      var fs$appendFile = fs4.appendFile;
+      if (fs$appendFile)
+        fs4.appendFile = appendFile;
+      function appendFile(path4, data, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$appendFile(path4, data, options, cb);
+        function go$appendFile(path5, data2, options2, cb2, startTime) {
+          return fs$appendFile(path5, data2, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$appendFile, [path5, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-        if (this.add) {
-          permissions.push("a");
+      }
+      var fs$copyFile = fs4.copyFile;
+      if (fs$copyFile)
+        fs4.copyFile = copyFile;
+      function copyFile(src, dest, flags, cb) {
+        if (typeof flags === "function") {
+          cb = flags;
+          flags = 0;
         }
-        if (this.create) {
-          permissions.push("c");
+        return go$copyFile(src, dest, flags, cb);
+        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
+          return fs$copyFile(src2, dest2, flags2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-        if (this.update) {
-          permissions.push("u");
+      }
+      var fs$readdir = fs4.readdir;
+      fs4.readdir = readdir;
+      var noReaddirOptionVersions = /^v[0-5]\./;
+      function readdir(path4, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path5, options2, cb2, startTime) {
+          return fs$readdir(path5, fs$readdirCallback(
+            path5,
+            options2,
+            cb2,
+            startTime
+          ));
+        } : function go$readdir2(path5, options2, cb2, startTime) {
+          return fs$readdir(path5, options2, fs$readdirCallback(
+            path5,
+            options2,
+            cb2,
+            startTime
+          ));
+        };
+        return go$readdir(path4, options, cb);
+        function fs$readdirCallback(path5, options2, cb2, startTime) {
+          return function(err, files) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([
+                go$readdir,
+                [path5, options2, cb2],
+                err,
+                startTime || Date.now(),
+                Date.now()
+              ]);
+            else {
+              if (files && files.sort)
+                files.sort();
+              if (typeof cb2 === "function")
+                cb2.call(this, err, files);
+            }
+          };
         }
-        if (this.process) {
-          permissions.push("p");
+      }
+      if (process.version.substr(0, 4) === "v0.8") {
+        var legStreams = legacy(fs4);
+        ReadStream = legStreams.ReadStream;
+        WriteStream = legStreams.WriteStream;
+      }
+      var fs$ReadStream = fs4.ReadStream;
+      if (fs$ReadStream) {
+        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
+        ReadStream.prototype.open = ReadStream$open;
+      }
+      var fs$WriteStream = fs4.WriteStream;
+      if (fs$WriteStream) {
+        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
+        WriteStream.prototype.open = WriteStream$open;
+      }
+      Object.defineProperty(fs4, "ReadStream", {
+        get: function() {
+          return ReadStream;
+        },
+        set: function(val) {
+          ReadStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      Object.defineProperty(fs4, "WriteStream", {
+        get: function() {
+          return WriteStream;
+        },
+        set: function(val) {
+          WriteStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      var FileReadStream = ReadStream;
+      Object.defineProperty(fs4, "FileReadStream", {
+        get: function() {
+          return FileReadStream;
+        },
+        set: function(val) {
+          FileReadStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      var FileWriteStream = WriteStream;
+      Object.defineProperty(fs4, "FileWriteStream", {
+        get: function() {
+          return FileWriteStream;
+        },
+        set: function(val) {
+          FileWriteStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      function ReadStream(path4, options) {
+        if (this instanceof ReadStream)
+          return fs$ReadStream.apply(this, arguments), this;
+        else
+          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+      }
+      function ReadStream$open() {
+        var that = this;
+        open(that.path, that.flags, that.mode, function(err, fd) {
+          if (err) {
+            if (that.autoClose)
+              that.destroy();
+            that.emit("error", err);
+          } else {
+            that.fd = fd;
+            that.emit("open", fd);
+            that.read();
+          }
+        });
+      }
+      function WriteStream(path4, options) {
+        if (this instanceof WriteStream)
+          return fs$WriteStream.apply(this, arguments), this;
+        else
+          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      }
+      function WriteStream$open() {
+        var that = this;
+        open(that.path, that.flags, that.mode, function(err, fd) {
+          if (err) {
+            that.destroy();
+            that.emit("error", err);
+          } else {
+            that.fd = fd;
+            that.emit("open", fd);
+          }
+        });
+      }
+      function createReadStream(path4, options) {
+        return new fs4.ReadStream(path4, options);
+      }
+      function createWriteStream2(path4, options) {
+        return new fs4.WriteStream(path4, options);
+      }
+      var fs$open = fs4.open;
+      fs4.open = open;
+      function open(path4, flags, mode, cb) {
+        if (typeof mode === "function")
+          cb = mode, mode = null;
+        return go$open(path4, flags, mode, cb);
+        function go$open(path5, flags2, mode2, cb2, startTime) {
+          return fs$open(path5, flags2, mode2, function(err, fd) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$open, [path5, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
+      }
+      return fs4;
+    }
+    function enqueue(elem) {
+      debug4("ENQUEUE", elem[0].name, elem[1]);
+      fs3[gracefulQueue].push(elem);
+      retry2();
+    }
+    var retryTimer;
+    function resetQueue() {
+      var now = Date.now();
+      for (var i = 0; i < fs3[gracefulQueue].length; ++i) {
+        if (fs3[gracefulQueue][i].length > 2) {
+          fs3[gracefulQueue][i][3] = now;
+          fs3[gracefulQueue][i][4] = now;
         }
-        if (this.permanentDelete) {
-          permissions.push("y");
+      }
+      retry2();
+    }
+    function retry2() {
+      clearTimeout(retryTimer);
+      retryTimer = void 0;
+      if (fs3[gracefulQueue].length === 0)
+        return;
+      var elem = fs3[gracefulQueue].shift();
+      var fn = elem[0];
+      var args = elem[1];
+      var err = elem[2];
+      var startTime = elem[3];
+      var lastTime = elem[4];
+      if (startTime === void 0) {
+        debug4("RETRY", fn.name, args);
+        fn.apply(null, args);
+      } else if (Date.now() - startTime >= 6e4) {
+        debug4("TIMEOUT", fn.name, args);
+        var cb = args.pop();
+        if (typeof cb === "function")
+          cb.call(null, err);
+      } else {
+        var sinceAttempt = Date.now() - lastTime;
+        var sinceStart = Math.max(lastTime - startTime, 1);
+        var desiredDelay = Math.min(sinceStart * 1.2, 100);
+        if (sinceAttempt >= desiredDelay) {
+          debug4("RETRY", fn.name, args);
+          fn.apply(null, args.concat([startTime]));
+        } else {
+          fs3[gracefulQueue].push(elem);
         }
-        return permissions.join("");
       }
-    };
-    exports2.AccountSASPermissions = AccountSASPermissions;
+      if (retryTimer === void 0) {
+        retryTimer = setTimeout(retry2, 0);
+      }
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js
-var require_AccountSASResourceTypes = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) {
+// node_modules/archiver-utils/node_modules/is-stream/index.js
+var require_is_stream = __commonJS({
+  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASResourceTypes = void 0;
-    var AccountSASResourceTypes = class _AccountSASResourceTypes {
-      /**
-       * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid resource type.
-       *
-       * @param resourceTypes -
-       */
-      static parse(resourceTypes) {
-        const accountSASResourceTypes = new _AccountSASResourceTypes();
-        for (const c of resourceTypes) {
-          switch (c) {
-            case "s":
-              accountSASResourceTypes.service = true;
-              break;
-            case "c":
-              accountSASResourceTypes.container = true;
-              break;
-            case "o":
-              accountSASResourceTypes.object = true;
-              break;
-            default:
-              throw new RangeError(`Invalid resource type: ${c}`);
-          }
-        }
-        return accountSASResourceTypes;
-      }
-      /**
-       * Permission to access service level APIs granted.
-       */
-      service = false;
-      /**
-       * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
-       */
-      container = false;
-      /**
-       * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
-       */
-      object = false;
-      /**
-       * Converts the given resource types to a string.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
-       *
-       */
-      toString() {
-        const resourceTypes = [];
-        if (this.service) {
-          resourceTypes.push("s");
-        }
-        if (this.container) {
-          resourceTypes.push("c");
-        }
-        if (this.object) {
-          resourceTypes.push("o");
-        }
-        return resourceTypes.join("");
-      }
-    };
-    exports2.AccountSASResourceTypes = AccountSASResourceTypes;
+    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
+    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
+    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
+    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
+    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
+    module2.exports = isStream;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js
-var require_AccountSASServices = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) {
+// node_modules/process-nextick-args/index.js
+var require_process_nextick_args = __commonJS({
+  "node_modules/process-nextick-args/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASServices = void 0;
-    var AccountSASServices = class _AccountSASServices {
-      /**
-       * Creates an {@link AccountSASServices} from the specified services string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid service.
-       *
-       * @param services -
-       */
-      static parse(services) {
-        const accountSASServices = new _AccountSASServices();
-        for (const c of services) {
-          switch (c) {
-            case "b":
-              accountSASServices.blob = true;
-              break;
-            case "f":
-              accountSASServices.file = true;
-              break;
-            case "q":
-              accountSASServices.queue = true;
-              break;
-            case "t":
-              accountSASServices.table = true;
-              break;
-            default:
-              throw new RangeError(`Invalid service character: ${c}`);
-          }
-        }
-        return accountSASServices;
+    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
+      module2.exports = { nextTick };
+    } else {
+      module2.exports = process;
+    }
+    function nextTick(fn, arg1, arg2, arg3) {
+      if (typeof fn !== "function") {
+        throw new TypeError('"callback" argument must be a function');
       }
-      /**
-       * Permission to access blob resources granted.
-       */
-      blob = false;
-      /**
-       * Permission to access file resources granted.
-       */
-      file = false;
-      /**
-       * Permission to access queue resources granted.
-       */
-      queue = false;
-      /**
-       * Permission to access table resources granted.
-       */
-      table = false;
-      /**
-       * Converts the given services to a string.
-       *
-       */
-      toString() {
-        const services = [];
-        if (this.blob) {
-          services.push("b");
-        }
-        if (this.table) {
-          services.push("t");
-        }
-        if (this.queue) {
-          services.push("q");
-        }
-        if (this.file) {
-          services.push("f");
-        }
-        return services.join("");
+      var len = arguments.length;
+      var args, i;
+      switch (len) {
+        case 0:
+        case 1:
+          return process.nextTick(fn);
+        case 2:
+          return process.nextTick(function afterTickOne() {
+            fn.call(null, arg1);
+          });
+        case 3:
+          return process.nextTick(function afterTickTwo() {
+            fn.call(null, arg1, arg2);
+          });
+        case 4:
+          return process.nextTick(function afterTickThree() {
+            fn.call(null, arg1, arg2, arg3);
+          });
+        default:
+          args = new Array(len - 1);
+          i = 0;
+          while (i < args.length) {
+            args[i++] = arguments[i];
+          }
+          return process.nextTick(function afterTick() {
+            fn.apply(null, args);
+          });
       }
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/isarray/index.js
+var require_isarray = __commonJS({
+  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
+    var toString2 = {}.toString;
+    module2.exports = Array.isArray || function(arr) {
+      return toString2.call(arr) == "[object Array]";
     };
-    exports2.AccountSASServices = AccountSASServices;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js
-var require_AccountSASSignatureValues = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters;
-    exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal;
-    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
-    var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes();
-    var AccountSASServices_js_1 = require_AccountSASServices();
-    var SasIPRange_js_1 = require_SasIPRange();
-    var SASQueryParameters_js_1 = require_SASQueryParameters();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common();
-    function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
-      return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
+var require_stream = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
+    module2.exports = require("stream");
+  }
+});
+
+// node_modules/lazystream/node_modules/safe-buffer/index.js
+var require_safe_buffer = __commonJS({
+  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
+    var buffer = require("buffer");
+    var Buffer2 = buffer.Buffer;
+    function copyProps(src, dst) {
+      for (var key in src) {
+        dst[key] = src[key];
+      }
     }
-    function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
-      const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
-        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
+      module2.exports = buffer;
+    } else {
+      copyProps(buffer, exports2);
+      exports2.Buffer = SafeBuffer;
+    }
+    function SafeBuffer(arg, encodingOrOffset, length) {
+      return Buffer2(arg, encodingOrOffset, length);
+    }
+    copyProps(Buffer2, SafeBuffer);
+    SafeBuffer.from = function(arg, encodingOrOffset, length) {
+      if (typeof arg === "number") {
+        throw new TypeError("Argument must not be a number");
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission.");
+      return Buffer2(arg, encodingOrOffset, length);
+    };
+    SafeBuffer.alloc = function(size, fill, encoding) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission.");
+      var buf = Buffer2(size);
+      if (fill !== void 0) {
+        if (typeof encoding === "string") {
+          buf.fill(fill, encoding);
+        } else {
+          buf.fill(fill);
+        }
+      } else {
+        buf.fill(0);
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission.");
+      return buf;
+    };
+    SafeBuffer.allocUnsafe = function(size) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission.");
+      return Buffer2(size);
+    };
+    SafeBuffer.allocUnsafeSlow = function(size) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
       }
-      if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") {
-        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      return buffer.SlowBuffer(size);
+    };
+  }
+});
+
+// node_modules/core-util-is/lib/util.js
+var require_util20 = __commonJS({
+  "node_modules/core-util-is/lib/util.js"(exports2) {
+    function isArray(arg) {
+      if (Array.isArray) {
+        return Array.isArray(arg);
       }
-      const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString());
-      const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString();
-      const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
-      let stringToSign;
-      if (version >= "2020-12-06") {
-        stringToSign = [
-          sharedKeyCredential.accountName,
-          parsedPermissions,
-          parsedServices,
-          parsedResourceTypes,
-          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
-          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
-          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
-          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
-          version,
-          accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "",
-          ""
-          // Account SAS requires an additional newline character
-        ].join("\n");
-      } else {
-        stringToSign = [
-          sharedKeyCredential.accountName,
-          parsedPermissions,
-          parsedServices,
-          parsedResourceTypes,
-          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
-          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
-          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
-          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
-          version,
-          ""
-          // Account SAS requires an additional newline character
-        ].join("\n");
+      return objectToString(arg) === "[object Array]";
+    }
+    exports2.isArray = isArray;
+    function isBoolean2(arg) {
+      return typeof arg === "boolean";
+    }
+    exports2.isBoolean = isBoolean2;
+    function isNull2(arg) {
+      return arg === null;
+    }
+    exports2.isNull = isNull2;
+    function isNullOrUndefined(arg) {
+      return arg == null;
+    }
+    exports2.isNullOrUndefined = isNullOrUndefined;
+    function isNumber(arg) {
+      return typeof arg === "number";
+    }
+    exports2.isNumber = isNumber;
+    function isString(arg) {
+      return typeof arg === "string";
+    }
+    exports2.isString = isString;
+    function isSymbol(arg) {
+      return typeof arg === "symbol";
+    }
+    exports2.isSymbol = isSymbol;
+    function isUndefined(arg) {
+      return arg === void 0;
+    }
+    exports2.isUndefined = isUndefined;
+    function isRegExp(re) {
+      return objectToString(re) === "[object RegExp]";
+    }
+    exports2.isRegExp = isRegExp;
+    function isObject2(arg) {
+      return typeof arg === "object" && arg !== null;
+    }
+    exports2.isObject = isObject2;
+    function isDate(d) {
+      return objectToString(d) === "[object Date]";
+    }
+    exports2.isDate = isDate;
+    function isError(e) {
+      return objectToString(e) === "[object Error]" || e instanceof Error;
+    }
+    exports2.isError = isError;
+    function isFunction(arg) {
+      return typeof arg === "function";
+    }
+    exports2.isFunction = isFunction;
+    function isPrimitive(arg) {
+      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
+      typeof arg === "undefined";
+    }
+    exports2.isPrimitive = isPrimitive;
+    exports2.isBuffer = require("buffer").Buffer.isBuffer;
+    function objectToString(o) {
+      return Object.prototype.toString.call(o);
+    }
+  }
+});
+
+// node_modules/inherits/inherits_browser.js
+var require_inherits_browser = __commonJS({
+  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
+    if (typeof Object.create === "function") {
+      module2.exports = function inherits(ctor, superCtor) {
+        ctor.super_ = superCtor;
+        ctor.prototype = Object.create(superCtor.prototype, {
+          constructor: {
+            value: ctor,
+            enumerable: false,
+            writable: true,
+            configurable: true
+          }
+        });
+      };
+    } else {
+      module2.exports = function inherits(ctor, superCtor) {
+        ctor.super_ = superCtor;
+        var TempCtor = function() {
+        };
+        TempCtor.prototype = superCtor.prototype;
+        ctor.prototype = new TempCtor();
+        ctor.prototype.constructor = ctor;
+      };
+    }
+  }
+});
+
+// node_modules/inherits/inherits.js
+var require_inherits = __commonJS({
+  "node_modules/inherits/inherits.js"(exports2, module2) {
+    try {
+      util = require("util");
+      if (typeof util.inherits !== "function") throw "";
+      module2.exports = util.inherits;
+    } catch (e) {
+      module2.exports = require_inherits_browser();
+    }
+    var util;
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
+var require_BufferList = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
+    "use strict";
+    function _classCallCheck(instance, Constructor) {
+      if (!(instance instanceof Constructor)) {
+        throw new TypeError("Cannot call a class as a function");
       }
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope),
-        stringToSign
+    }
+    var Buffer2 = require_safe_buffer().Buffer;
+    var util = require("util");
+    function copyBuffer(src, target, offset) {
+      src.copy(target, offset);
+    }
+    module2.exports = (function() {
+      function BufferList() {
+        _classCallCheck(this, BufferList);
+        this.head = null;
+        this.tail = null;
+        this.length = 0;
+      }
+      BufferList.prototype.push = function push(v) {
+        var entry = { data: v, next: null };
+        if (this.length > 0) this.tail.next = entry;
+        else this.head = entry;
+        this.tail = entry;
+        ++this.length;
+      };
+      BufferList.prototype.unshift = function unshift(v) {
+        var entry = { data: v, next: this.head };
+        if (this.length === 0) this.tail = entry;
+        this.head = entry;
+        ++this.length;
+      };
+      BufferList.prototype.shift = function shift() {
+        if (this.length === 0) return;
+        var ret = this.head.data;
+        if (this.length === 1) this.head = this.tail = null;
+        else this.head = this.head.next;
+        --this.length;
+        return ret;
+      };
+      BufferList.prototype.clear = function clear() {
+        this.head = this.tail = null;
+        this.length = 0;
+      };
+      BufferList.prototype.join = function join4(s) {
+        if (this.length === 0) return "";
+        var p = this.head;
+        var ret = "" + p.data;
+        while (p = p.next) {
+          ret += s + p.data;
+        }
+        return ret;
+      };
+      BufferList.prototype.concat = function concat(n) {
+        if (this.length === 0) return Buffer2.alloc(0);
+        var ret = Buffer2.allocUnsafe(n >>> 0);
+        var p = this.head;
+        var i = 0;
+        while (p) {
+          copyBuffer(p.data, ret, i);
+          i += p.data.length;
+          p = p.next;
+        }
+        return ret;
+      };
+      return BufferList;
+    })();
+    if (util && util.inspect && util.inspect.custom) {
+      module2.exports.prototype[util.inspect.custom] = function() {
+        var obj = util.inspect({ length: this.length });
+        return this.constructor.name + " " + obj;
       };
     }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js
-var require_BlobServiceClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) {
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
+var require_destroy = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobServiceClient = void 0;
-    var core_auth_1 = require_commonjs7();
-    var core_rest_pipeline_1 = require_commonjs6();
-    var core_util_1 = require_commonjs4();
-    var Pipeline_js_1 = require_Pipeline();
-    var ContainerClient_js_1 = require_ContainerClient();
-    var utils_common_js_1 = require_utils_common();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var utils_common_js_2 = require_utils_common();
-    var tracing_js_1 = require_tracing();
-    var BlobBatchClient_js_1 = require_BlobBatchClient();
-    var StorageClient_js_1 = require_StorageClient();
-    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
-    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
-    var AccountSASServices_js_1 = require_AccountSASServices();
-    var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient {
-      /**
-       * serviceContext provided by protocol layer.
-       */
-      serviceContext;
-      /**
-       *
-       * Creates an instance of BlobServiceClient from connection string.
-       *
-       * @param connectionString - Account connection string or a SAS connection string of an Azure storage account.
-       *                                  [ Note - Account connection string can only be used in NODE.JS runtime. ]
-       *                                  Account connection string example -
-       *                                  `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net`
-       *                                  SAS connection string example -
-       *                                  `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString`
-       * @param options - Optional. Options to configure the HTTP pipeline.
-       */
-      static fromConnectionString(connectionString, options) {
-        options = options || {};
-        const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString);
-        if (extractedCreds.kind === "AccountConnString") {
-          if (core_util_1.isNodeLike) {
-            const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-            if (!options.proxyOptions) {
-              options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-            }
-            const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            return new _BlobServiceClient(extractedCreds.url, pipeline);
-          } else {
-            throw new Error("Account connection string is only supported in Node.js environment");
+    var pna = require_process_nextick_args();
+    function destroy(err, cb) {
+      var _this = this;
+      var readableDestroyed = this._readableState && this._readableState.destroyed;
+      var writableDestroyed = this._writableState && this._writableState.destroyed;
+      if (readableDestroyed || writableDestroyed) {
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          if (!this._writableState) {
+            pna.nextTick(emitErrorNT, this, err);
+          } else if (!this._writableState.errorEmitted) {
+            this._writableState.errorEmitted = true;
+            pna.nextTick(emitErrorNT, this, err);
           }
-        } else if (extractedCreds.kind === "SASConnString") {
-          const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline);
-        } else {
-          throw new Error("Connection string must be either an Account connection string or a SAS connection string");
         }
+        return this;
       }
-      constructor(url, credentialOrPipeline, options) {
-        let pipeline;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
-          pipeline = credentialOrPipeline;
-        } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) {
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
-        } else {
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+      if (this._readableState) {
+        this._readableState.destroyed = true;
+      }
+      if (this._writableState) {
+        this._writableState.destroyed = true;
+      }
+      this._destroy(err || null, function(err2) {
+        if (!cb && err2) {
+          if (!_this._writableState) {
+            pna.nextTick(emitErrorNT, _this, err2);
+          } else if (!_this._writableState.errorEmitted) {
+            _this._writableState.errorEmitted = true;
+            pna.nextTick(emitErrorNT, _this, err2);
+          }
+        } else if (cb) {
+          cb(err2);
         }
-        super(url, pipeline);
-        this.serviceContext = this.storageClientContext.service;
+      });
+      return this;
+    }
+    function undestroy() {
+      if (this._readableState) {
+        this._readableState.destroyed = false;
+        this._readableState.reading = false;
+        this._readableState.ended = false;
+        this._readableState.endEmitted = false;
       }
-      /**
-       * Creates a {@link ContainerClient} object
-       *
-       * @param containerName - A container name
-       * @returns A new ContainerClient object for the given container name.
-       *
-       * Example usage:
-       *
-       * ```ts snippet:BlobServiceClientGetContainerClient
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerClient = blobServiceClient.getContainerClient("");
-       * ```
-       */
-      getContainerClient(containerName) {
-        return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline);
+      if (this._writableState) {
+        this._writableState.destroyed = false;
+        this._writableState.ended = false;
+        this._writableState.ending = false;
+        this._writableState.finalCalled = false;
+        this._writableState.prefinished = false;
+        this._writableState.finished = false;
+        this._writableState.errorEmitted = false;
       }
-      /**
-       * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       *
-       * @param containerName - Name of the container to create.
-       * @param options - Options to configure Container Create operation.
-       * @returns Container creation response and the corresponding container client.
-       */
-      async createContainer(containerName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(containerName);
-          const containerCreateResponse = await containerClient.create(updatedOptions);
-          return {
-            containerClient,
-            containerCreateResponse
-          };
-        });
+    }
+    function emitErrorNT(self2, err) {
+      self2.emit("error", err);
+    }
+    module2.exports = {
+      destroy,
+      undestroy
+    };
+  }
+});
+
+// node_modules/util-deprecate/node.js
+var require_node2 = __commonJS({
+  "node_modules/util-deprecate/node.js"(exports2, module2) {
+    module2.exports = require("util").deprecate;
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
+var require_stream_writable = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    module2.exports = Writable;
+    function CorkedRequest(state) {
+      var _this = this;
+      this.next = null;
+      this.entry = null;
+      this.finish = function() {
+        onCorkedFinish(_this, state);
+      };
+    }
+    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
+    var Duplex;
+    Writable.WritableState = WritableState;
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    var internalUtil = {
+      deprecate: require_node2()
+    };
+    var Stream = require_stream();
+    var Buffer2 = require_safe_buffer().Buffer;
+    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    };
+    function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk);
+    }
+    function _isUint8Array(obj) {
+      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    }
+    var destroyImpl = require_destroy();
+    util.inherits(Writable, Stream);
+    function nop() {
+    }
+    function WritableState(options, stream) {
+      Duplex = Duplex || require_stream_duplex();
+      options = options || {};
+      var isDuplex = stream instanceof Duplex;
+      this.objectMode = !!options.objectMode;
+      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
+      var hwm = options.highWaterMark;
+      var writableHwm = options.writableHighWaterMark;
+      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+      if (hwm || hwm === 0) this.highWaterMark = hwm;
+      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
+      else this.highWaterMark = defaultHwm;
+      this.highWaterMark = Math.floor(this.highWaterMark);
+      this.finalCalled = false;
+      this.needDrain = false;
+      this.ending = false;
+      this.ended = false;
+      this.finished = false;
+      this.destroyed = false;
+      var noDecode = options.decodeStrings === false;
+      this.decodeStrings = !noDecode;
+      this.defaultEncoding = options.defaultEncoding || "utf8";
+      this.length = 0;
+      this.writing = false;
+      this.corked = 0;
+      this.sync = true;
+      this.bufferProcessing = false;
+      this.onwrite = function(er) {
+        onwrite(stream, er);
+      };
+      this.writecb = null;
+      this.writelen = 0;
+      this.bufferedRequest = null;
+      this.lastBufferedRequest = null;
+      this.pendingcb = 0;
+      this.prefinished = false;
+      this.errorEmitted = false;
+      this.bufferedRequestCount = 0;
+      this.corkedRequestsFree = new CorkedRequest(this);
+    }
+    WritableState.prototype.getBuffer = function getBuffer() {
+      var current = this.bufferedRequest;
+      var out = [];
+      while (current) {
+        out.push(current);
+        current = current.next;
       }
-      /**
-       * Deletes a Blob container.
-       *
-       * @param containerName - Name of the container to delete.
-       * @param options - Options to configure Container Delete operation.
-       * @returns Container deletion response.
-       */
-      async deleteContainer(containerName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(containerName);
-          return containerClient.delete(updatedOptions);
+      return out;
+    };
+    (function() {
+      try {
+        Object.defineProperty(WritableState.prototype, "buffer", {
+          get: internalUtil.deprecate(function() {
+            return this.getBuffer();
+          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
         });
+      } catch (_2) {
       }
-      /**
-       * Restore a previously deleted Blob container.
-       * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container.
-       *
-       * @param deletedContainerName - Name of the previously deleted container.
-       * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container.
-       * @param options - Options to configure Container Restore operation.
-       * @returns Container deletion response.
-       */
-      async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName);
-          const containerContext = containerClient["storageClientContext"].container;
-          const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({
-            deletedContainerName,
-            deletedContainerVersion,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return { containerClient, containerUndeleteResponse };
-        });
+    })();
+    var realHasInstance;
+    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
+      realHasInstance = Function.prototype[Symbol.hasInstance];
+      Object.defineProperty(Writable, Symbol.hasInstance, {
+        value: function(object) {
+          if (realHasInstance.call(this, object)) return true;
+          if (this !== Writable) return false;
+          return object && object._writableState instanceof WritableState;
+        }
+      });
+    } else {
+      realHasInstance = function(object) {
+        return object instanceof this;
+      };
+    }
+    function Writable(options) {
+      Duplex = Duplex || require_stream_duplex();
+      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
+        return new Writable(options);
       }
-      /**
-       * Gets the properties of a storage account’s Blob service, including properties
-       * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
-       *
-       * @param options - Options to the Service Get Properties operation.
-       * @returns Response data for the Service Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      this._writableState = new WritableState(options, this);
+      this.writable = true;
+      if (options) {
+        if (typeof options.write === "function") this._write = options.write;
+        if (typeof options.writev === "function") this._writev = options.writev;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.final === "function") this._final = options.final;
       }
-      /**
-       * Sets properties for a storage account’s Blob service endpoint, including properties
-       * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties
-       *
-       * @param properties -
-       * @param options - Options to the Service Set Properties operation.
-       * @returns Response data for the Service Set Properties operation.
-       */
-      async setProperties(properties, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, {
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      Stream.call(this);
+    }
+    Writable.prototype.pipe = function() {
+      this.emit("error", new Error("Cannot pipe, not readable"));
+    };
+    function writeAfterEnd(stream, cb) {
+      var er = new Error("write after end");
+      stream.emit("error", er);
+      pna.nextTick(cb, er);
+    }
+    function validChunk(stream, state, chunk, cb) {
+      var valid3 = true;
+      var er = false;
+      if (chunk === null) {
+        er = new TypeError("May not write null values to stream");
+      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
+        er = new TypeError("Invalid non-string/buffer chunk");
       }
-      /**
-       * Retrieves statistics related to replication for the Blob service. It is only
-       * available on the secondary location endpoint when read-access geo-redundant
-       * replication is enabled for the storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats
-       *
-       * @param options - Options to the Service Get Statistics operation.
-       * @returns Response data for the Service Get Statistics operation.
-       */
-      async getStatistics(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (er) {
+        stream.emit("error", er);
+        pna.nextTick(cb, er);
+        valid3 = false;
       }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return valid3;
+    }
+    Writable.prototype.write = function(chunk, encoding, cb) {
+      var state = this._writableState;
+      var ret = false;
+      var isBuf = !state.objectMode && _isUint8Array(chunk);
+      if (isBuf && !Buffer2.isBuffer(chunk)) {
+        chunk = _uint8ArrayToBuffer(chunk);
       }
-      /**
-       * Returns a list of the containers under the specified account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2
-       *
-       * @param marker - A string value that identifies the portion of
-       *                        the list of containers to be returned with the next listing operation. The
-       *                        operation returns the continuationToken value within the response body if the
-       *                        listing operation did not return all containers remaining to be listed
-       *                        with the current page. The continuationToken value can be used as the value for
-       *                        the marker parameter in a subsequent call to request the next page of list
-       *                        items. The marker value is opaque to the client.
-       * @param options - Options to the Service List Container Segment operation.
-       * @returns Response data for the Service List Container Segment operation.
-       */
-      async listContainersSegment(marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({
-            abortSignal: options.abortSignal,
-            marker,
-            ...options,
-            include: typeof options.include === "string" ? [options.include] : options.include,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs across all containers whose tags
-       * match a given search expression. Filter blobs searches across all containers within a
-       * storage account but can be scoped within the expression to a single container.
-       *
-       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                        The given expression must evaluate to true for a blob to be returned in the results.
-       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({
-            abortSignal: options.abortSignal,
-            where: tagFilterSqlExpression,
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            blobs: response.blobs.map((blob) => {
-              let tagValue = "";
-              if (blob.tags?.blobTagSet.length === 1) {
-                tagValue = blob.tags.blobTagSet[0].value;
-              }
-              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
-            })
-          };
-          return wrappedResponse;
-        });
+      if (isBuf) encoding = "buffer";
+      else if (!encoding) encoding = state.defaultEncoding;
+      if (typeof cb !== "function") cb = nop;
+      if (state.ended) writeAfterEnd(this, cb);
+      else if (isBuf || validChunk(this, state, chunk, cb)) {
+        state.pendingcb++;
+        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
       }
-      /**
-       * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
-        let response;
-        if (!!marker || marker === void 0) {
-          do {
-            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
-            response.blobs = response.blobs || [];
-            marker = response.continuationToken;
-            yield response;
-          } while (marker);
-        }
+      return ret;
+    };
+    Writable.prototype.cork = function() {
+      var state = this._writableState;
+      state.corked++;
+    };
+    Writable.prototype.uncork = function() {
+      var state = this._writableState;
+      if (state.corked) {
+        state.corked--;
+        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
       }
-      /**
-       * Returns an AsyncIterableIterator for blobs.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to findBlobsByTagsItems.
-       */
-      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
-        let marker;
-        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
-          yield* segment.blobs;
-        }
+    };
+    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
+      if (typeof encoding === "string") encoding = encoding.toLowerCase();
+      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
+      this._writableState.defaultEncoding = encoding;
+      return this;
+    };
+    function decodeChunk(state, chunk, encoding) {
+      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
+        chunk = Buffer2.from(chunk, encoding);
       }
-      /**
-       * Returns an async iterable iterator to find all blobs with specified tag
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
-       *
-       * ```ts snippet:BlobServiceClientFindBlobsByTags
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * // Use for await to iterate the blobs
-       * let i = 1;
-       * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Use iter.next() to iterate the blobs
-       * i = 1;
-       * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Use byPage() to iterate the blobs
-       * i = 1;
-       * for await (const page of blobServiceClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Use paging with a marker
-       * i = 1;
-       * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = blobServiceClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       *
-       * // Prints blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to find blobs by tags.
-       */
-      findBlobsByTags(tagFilterSqlExpression, options = {}) {
-        const listSegmentOptions = {
-          ...options
-        };
-        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
-          }
-        };
+      return chunk;
+    }
+    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._writableState.highWaterMark;
       }
-      /**
-       * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses
-       *
-       * @param marker - A string value that identifies the portion of
-       *                        the list of containers to be returned with the next listing operation. The
-       *                        operation returns the continuationToken value within the response body if the
-       *                        listing operation did not return all containers remaining to be listed
-       *                        with the current page. The continuationToken value can be used as the value for
-       *                        the marker parameter in a subsequent call to request the next page of list
-       *                        items. The marker value is opaque to the client.
-       * @param options - Options to list containers operation.
-       */
-      async *listSegments(marker, options = {}) {
-        let listContainersSegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listContainersSegmentResponse = await this.listContainersSegment(marker, options);
-            listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || [];
-            marker = listContainersSegmentResponse.continuationToken;
-            yield await listContainersSegmentResponse;
-          } while (marker);
+    });
+    function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
+      if (!isBuf) {
+        var newChunk = decodeChunk(state, chunk, encoding);
+        if (chunk !== newChunk) {
+          isBuf = true;
+          encoding = "buffer";
+          chunk = newChunk;
         }
       }
-      /**
-       * Returns an AsyncIterableIterator for Container Items
-       *
-       * @param options - Options to list containers operation.
-       */
-      async *listItems(options = {}) {
-        let marker;
-        for await (const segment of this.listSegments(marker, options)) {
-          yield* segment.containerItems;
+      var len = state.objectMode ? 1 : chunk.length;
+      state.length += len;
+      var ret = state.length < state.highWaterMark;
+      if (!ret) state.needDrain = true;
+      if (state.writing || state.corked) {
+        var last = state.lastBufferedRequest;
+        state.lastBufferedRequest = {
+          chunk,
+          encoding,
+          isBuf,
+          callback: cb,
+          next: null
+        };
+        if (last) {
+          last.next = state.lastBufferedRequest;
+        } else {
+          state.bufferedRequest = state.lastBufferedRequest;
         }
+        state.bufferedRequestCount += 1;
+      } else {
+        doWrite(stream, state, false, len, chunk, encoding, cb);
       }
-      /**
-       * Returns an async iterable iterator to list all the containers
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the containers in pages.
-       *
-       * ```ts snippet:BlobServiceClientListContainers
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * // Use for await to iterate the containers
-       * let i = 1;
-       * for await (const container of blobServiceClient.listContainers()) {
-       *   console.log(`Container ${i++}: ${container.name}`);
-       * }
-       *
-       * // Use iter.next() to iterate the containers
-       * i = 1;
-       * const iter = blobServiceClient.listContainers();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Container ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Use byPage() to iterate the containers
-       * i = 1;
-       * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
-       *   for (const container of page.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       *
-       * // Use paging with a marker
-       * i = 1;
-       * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       *
-       * // Prints 2 container names
-       * if (response.containerItems) {
-       *   for (const container of response.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       *
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = blobServiceClient
-       *   .listContainers()
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       *
-       * // Prints 10 container names
-       * if (response.containerItems) {
-       *   for (const container of response.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param options - Options to list containers.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listContainers(options = {}) {
-        if (options.prefix === "") {
-          options.prefix = void 0;
+      return ret;
+    }
+    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
+      state.writelen = len;
+      state.writecb = cb;
+      state.writing = true;
+      state.sync = true;
+      if (writev) stream._writev(chunk, state.onwrite);
+      else stream._write(chunk, encoding, state.onwrite);
+      state.sync = false;
+    }
+    function onwriteError(stream, state, sync, er, cb) {
+      --state.pendingcb;
+      if (sync) {
+        pna.nextTick(cb, er);
+        pna.nextTick(finishMaybe, stream, state);
+        stream._writableState.errorEmitted = true;
+        stream.emit("error", er);
+      } else {
+        cb(er);
+        stream._writableState.errorEmitted = true;
+        stream.emit("error", er);
+        finishMaybe(stream, state);
+      }
+    }
+    function onwriteStateUpdate(state) {
+      state.writing = false;
+      state.writecb = null;
+      state.length -= state.writelen;
+      state.writelen = 0;
+    }
+    function onwrite(stream, er) {
+      var state = stream._writableState;
+      var sync = state.sync;
+      var cb = state.writecb;
+      onwriteStateUpdate(state);
+      if (er) onwriteError(stream, state, sync, er, cb);
+      else {
+        var finished = needFinish(state);
+        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
+          clearBuffer(stream, state);
         }
-        const include = [];
-        if (options.includeDeleted) {
-          include.push("deleted");
+        if (sync) {
+          asyncWrite(afterWrite, stream, state, finished, cb);
+        } else {
+          afterWrite(stream, state, finished, cb);
         }
-        if (options.includeMetadata) {
-          include.push("metadata");
+      }
+    }
+    function afterWrite(stream, state, finished, cb) {
+      if (!finished) onwriteDrain(stream, state);
+      state.pendingcb--;
+      cb();
+      finishMaybe(stream, state);
+    }
+    function onwriteDrain(stream, state) {
+      if (state.length === 0 && state.needDrain) {
+        state.needDrain = false;
+        stream.emit("drain");
+      }
+    }
+    function clearBuffer(stream, state) {
+      state.bufferProcessing = true;
+      var entry = state.bufferedRequest;
+      if (stream._writev && entry && entry.next) {
+        var l = state.bufferedRequestCount;
+        var buffer = new Array(l);
+        var holder = state.corkedRequestsFree;
+        holder.entry = entry;
+        var count = 0;
+        var allBuffers = true;
+        while (entry) {
+          buffer[count] = entry;
+          if (!entry.isBuf) allBuffers = false;
+          entry = entry.next;
+          count += 1;
         }
-        if (options.includeSystem) {
-          include.push("system");
+        buffer.allBuffers = allBuffers;
+        doWrite(stream, state, true, state.length, buffer, "", holder.finish);
+        state.pendingcb++;
+        state.lastBufferedRequest = null;
+        if (holder.next) {
+          state.corkedRequestsFree = holder.next;
+          holder.next = null;
+        } else {
+          state.corkedRequestsFree = new CorkedRequest(state);
         }
-        const listSegmentOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItems(listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listSegments(settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
+        state.bufferedRequestCount = 0;
+      } else {
+        while (entry) {
+          var chunk = entry.chunk;
+          var encoding = entry.encoding;
+          var cb = entry.callback;
+          var len = state.objectMode ? 1 : chunk.length;
+          doWrite(stream, state, false, len, chunk, encoding, cb);
+          entry = entry.next;
+          state.bufferedRequestCount--;
+          if (state.writing) {
+            break;
           }
-        };
-      }
-      /**
-       * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential).
-       *
-       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
-       * bearer token authentication.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key
-       *
-       * @param startsOn -      The start time for the user delegation SAS. Must be within 7 days of the current time
-       * @param expiresOn -     The end time for the user delegation SAS. Must be within 7 days of the current time
-       */
-      async getUserDelegationKey(startsOn, expiresOn, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({
-            startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false),
-            expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false)
-          }, {
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const userDelegationKey = {
-            signedObjectId: response.signedObjectId,
-            signedTenantId: response.signedTenantId,
-            signedStartsOn: new Date(response.signedStartsOn),
-            signedExpiresOn: new Date(response.signedExpiresOn),
-            signedService: response.signedService,
-            signedVersion: response.signedVersion,
-            value: response.value
-          };
-          const res = {
-            _response: response._response,
-            requestId: response.requestId,
-            clientRequestId: response.clientRequestId,
-            version: response.version,
-            date: response.date,
-            errorCode: response.errorCode,
-            ...userDelegationKey
-          };
-          return res;
-        });
+        }
+        if (entry === null) state.lastBufferedRequest = null;
       }
-      /**
-       * Creates a BlobBatchClient object to conduct batch operations.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @returns A new BlobBatchClient object for this service.
-       */
-      getBlobBatchClient() {
-        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      state.bufferedRequest = entry;
+      state.bufferProcessing = false;
+    }
+    Writable.prototype._write = function(chunk, encoding, cb) {
+      cb(new Error("_write() is not implemented"));
+    };
+    Writable.prototype._writev = null;
+    Writable.prototype.end = function(chunk, encoding, cb) {
+      var state = this._writableState;
+      if (typeof chunk === "function") {
+        cb = chunk;
+        chunk = null;
+        encoding = null;
+      } else if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      /**
-       * Only available for BlobServiceClient constructed with a shared key credential.
-       *
-       * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
-       *
-       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
-       * @param permissions - Specifies the list of permissions to be associated with the SAS.
-       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
-       * @param options - Optional parameters.
-       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
-        }
-        if (expiresOn === void 0) {
-          const now = /* @__PURE__ */ new Date();
-          expiresOn = new Date(now.getTime() + 3600 * 1e3);
-        }
-        const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({
-          permissions,
-          expiresOn,
-          resourceTypes,
-          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
-          ...options
-        }, this.credential).toString();
-        return (0, utils_common_js_1.appendToURLQuery)(this.url, sas);
+      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
+      if (state.corked) {
+        state.corked = 1;
+        this.uncork();
       }
-      /**
-       * Only available for BlobServiceClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
-       *
-       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
-       * @param permissions - Specifies the list of permissions to be associated with the SAS.
-       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
-       * @param options - Optional parameters.
-       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+      if (!state.ending) endWritable(this, state, cb);
+    };
+    function needFinish(state) {
+      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
+    }
+    function callFinal(stream, state) {
+      stream._final(function(err) {
+        state.pendingcb--;
+        if (err) {
+          stream.emit("error", err);
         }
-        if (expiresOn === void 0) {
-          const now = /* @__PURE__ */ new Date();
-          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+        state.prefinished = true;
+        stream.emit("prefinish");
+        finishMaybe(stream, state);
+      });
+    }
+    function prefinish(stream, state) {
+      if (!state.prefinished && !state.finalCalled) {
+        if (typeof stream._final === "function") {
+          state.pendingcb++;
+          state.finalCalled = true;
+          pna.nextTick(callFinal, stream, state);
+        } else {
+          state.prefinished = true;
+          stream.emit("prefinish");
         }
-        return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({
-          permissions,
-          expiresOn,
-          resourceTypes,
-          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
-          ...options
-        }, this.credential).stringToSign;
       }
-    };
-    exports2.BlobServiceClient = BlobServiceClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js
-var require_BatchResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js
-var require_generatedModels = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.KnownEncryptionAlgorithmType = void 0;
-    var KnownEncryptionAlgorithmType;
-    (function(KnownEncryptionAlgorithmType2) {
-      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
-    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/index.js
-var require_commonjs15 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var core_rest_pipeline_1 = require_commonjs6();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return core_rest_pipeline_1.RestError;
-    } });
-    tslib_1.__exportStar(require_BlobServiceClient(), exports2);
-    tslib_1.__exportStar(require_Clients(), exports2);
-    tslib_1.__exportStar(require_ContainerClient(), exports2);
-    tslib_1.__exportStar(require_BlobLeaseClient(), exports2);
-    tslib_1.__exportStar(require_AccountSASPermissions(), exports2);
-    tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2);
-    tslib_1.__exportStar(require_AccountSASServices(), exports2);
-    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
-    Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() {
-      return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters;
-    } });
-    tslib_1.__exportStar(require_BlobBatch(), exports2);
-    tslib_1.__exportStar(require_BlobBatchClient(), exports2);
-    tslib_1.__exportStar(require_BatchResponse(), exports2);
-    tslib_1.__exportStar(require_BlobSASPermissions(), exports2);
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() {
-      return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters;
-    } });
-    tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2);
-    tslib_1.__exportStar(require_ContainerSASPermissions(), exports2);
-    tslib_1.__exportStar(require_AnonymousCredential(), exports2);
-    tslib_1.__exportStar(require_Credential(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2);
-    var models_js_1 = require_models2();
-    Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() {
-      return models_js_1.BlockBlobTier;
-    } });
-    Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() {
-      return models_js_1.PremiumPageBlobTier;
-    } });
-    Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() {
-      return models_js_1.StorageBlobAudience;
-    } });
-    Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() {
-      return models_js_1.getBlobServiceAccountAudience;
-    } });
-    var Pipeline_js_1 = require_Pipeline();
-    Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() {
-      return Pipeline_js_1.Pipeline;
-    } });
-    Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() {
-      return Pipeline_js_1.isPipelineLike;
-    } });
-    Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() {
-      return Pipeline_js_1.newPipeline;
-    } });
-    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
-      return Pipeline_js_1.StorageOAuthScopes;
-    } });
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
-      return RequestPolicy_js_1.BaseRequestPolicy;
-    } });
-    tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_CredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_SASQueryParameters(), exports2);
-    tslib_1.__exportStar(require_generatedModels(), exports2);
-    var log_js_1 = require_log5();
-    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
-      return log_js_1.logger;
-    } });
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/shared/errors.js
-var require_errors3 = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RateLimitError = exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.CacheNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
-    var FilesNotFoundError = class extends Error {
-      constructor(files = []) {
-        let message = "No files were found to upload";
-        if (files.length > 0) {
-          message += `: ${files.join(", ")}`;
+    }
+    function finishMaybe(stream, state) {
+      var need = needFinish(state);
+      if (need) {
+        prefinish(stream, state);
+        if (state.pendingcb === 0) {
+          state.finished = true;
+          stream.emit("finish");
         }
-        super(message);
-        this.files = files;
-        this.name = "FilesNotFoundError";
       }
-    };
-    exports2.FilesNotFoundError = FilesNotFoundError;
-    var InvalidResponseError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "InvalidResponseError";
+      return need;
+    }
+    function endWritable(stream, state, cb) {
+      state.ending = true;
+      finishMaybe(stream, state);
+      if (cb) {
+        if (state.finished) pna.nextTick(cb);
+        else stream.once("finish", cb);
       }
-    };
-    exports2.InvalidResponseError = InvalidResponseError;
-    var CacheNotFoundError = class extends Error {
-      constructor(message = "Cache not found") {
-        super(message);
-        this.name = "CacheNotFoundError";
+      state.ended = true;
+      stream.writable = false;
+    }
+    function onCorkedFinish(corkReq, state, err) {
+      var entry = corkReq.entry;
+      corkReq.entry = null;
+      while (entry) {
+        var cb = entry.callback;
+        state.pendingcb--;
+        cb(err);
+        entry = entry.next;
       }
-    };
-    exports2.CacheNotFoundError = CacheNotFoundError;
-    var GHESNotSupportedError = class extends Error {
-      constructor(message = "@actions/cache v4.1.4+, actions/cache/save@v4+ and actions/cache/restore@v4+ are not currently supported on GHES.") {
-        super(message);
-        this.name = "GHESNotSupportedError";
+      state.corkedRequestsFree.next = corkReq;
+    }
+    Object.defineProperty(Writable.prototype, "destroyed", {
+      get: function() {
+        if (this._writableState === void 0) {
+          return false;
+        }
+        return this._writableState.destroyed;
+      },
+      set: function(value) {
+        if (!this._writableState) {
+          return;
+        }
+        this._writableState.destroyed = value;
       }
+    });
+    Writable.prototype.destroy = destroyImpl.destroy;
+    Writable.prototype._undestroy = destroyImpl.undestroy;
+    Writable.prototype._destroy = function(err, cb) {
+      this.end();
+      cb(err);
     };
-    exports2.GHESNotSupportedError = GHESNotSupportedError;
-    var NetworkError = class extends Error {
-      constructor(code) {
-        const message = `Unable to make request: ${code}
-If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
-        super(message);
-        this.code = code;
-        this.name = "NetworkError";
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
+var require_stream_duplex = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    var objectKeys = Object.keys || function(obj) {
+      var keys2 = [];
+      for (var key in obj) {
+        keys2.push(key);
       }
+      return keys2;
     };
-    exports2.NetworkError = NetworkError;
-    NetworkError.isNetworkErrorCode = (code) => {
-      if (!code)
-        return false;
-      return [
-        "ECONNRESET",
-        "ENOTFOUND",
-        "ETIMEDOUT",
-        "ECONNREFUSED",
-        "EHOSTUNREACH"
-      ].includes(code);
-    };
-    var UsageError = class extends Error {
-      constructor() {
-        const message = `Cache storage quota has been hit. Unable to upload any new cache entries. Usage is recalculated every 6-12 hours.
-More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
-        super(message);
-        this.name = "UsageError";
+    module2.exports = Duplex;
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    var Readable = require_stream_readable();
+    var Writable = require_stream_writable();
+    util.inherits(Duplex, Readable);
+    {
+      keys = objectKeys(Writable.prototype);
+      for (v = 0; v < keys.length; v++) {
+        method = keys[v];
+        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
       }
-    };
-    exports2.UsageError = UsageError;
-    UsageError.isUsageErrorMessage = (msg) => {
-      if (!msg)
-        return false;
-      return msg.includes("insufficient usage");
-    };
-    var RateLimitError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "RateLimitError";
+    }
+    var keys;
+    var method;
+    var v;
+    function Duplex(options) {
+      if (!(this instanceof Duplex)) return new Duplex(options);
+      Readable.call(this, options);
+      Writable.call(this, options);
+      if (options && options.readable === false) this.readable = false;
+      if (options && options.writable === false) this.writable = false;
+      this.allowHalfOpen = true;
+      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
+      this.once("end", onend);
+    }
+    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._writableState.highWaterMark;
+      }
+    });
+    function onend() {
+      if (this.allowHalfOpen || this._writableState.ended) return;
+      pna.nextTick(onEndNT, this);
+    }
+    function onEndNT(self2) {
+      self2.end();
+    }
+    Object.defineProperty(Duplex.prototype, "destroyed", {
+      get: function() {
+        if (this._readableState === void 0 || this._writableState === void 0) {
+          return false;
+        }
+        return this._readableState.destroyed && this._writableState.destroyed;
+      },
+      set: function(value) {
+        if (this._readableState === void 0 || this._writableState === void 0) {
+          return;
+        }
+        this._readableState.destroyed = value;
+        this._writableState.destroyed = value;
       }
+    });
+    Duplex.prototype._destroy = function(err, cb) {
+      this.push(null);
+      this.end();
+      pna.nextTick(cb, err);
     };
-    exports2.RateLimitError = RateLimitError;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/uploadUtils.js
-var require_uploadUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/uploadUtils.js"(exports2) {
+// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
+var require_string_decoder = __commonJS({
+  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    var Buffer2 = require_safe_buffer().Buffer;
+    var isEncoding = Buffer2.isEncoding || function(encoding) {
+      encoding = "" + encoding;
+      switch (encoding && encoding.toLowerCase()) {
+        case "hex":
+        case "utf8":
+        case "utf-8":
+        case "ascii":
+        case "binary":
+        case "base64":
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+        case "raw":
+          return true;
+        default:
+          return false;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+    };
+    function _normalizeEncoding(enc) {
+      if (!enc) return "utf8";
+      var retried;
+      while (true) {
+        switch (enc) {
+          case "utf8":
+          case "utf-8":
+            return "utf8";
+          case "ucs2":
+          case "ucs-2":
+          case "utf16le":
+          case "utf-16le":
+            return "utf16le";
+          case "latin1":
+          case "binary":
+            return "latin1";
+          case "base64":
+          case "ascii":
+          case "hex":
+            return enc;
+          default:
+            if (retried) return;
+            enc = ("" + enc).toLowerCase();
+            retried = true;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UploadProgress = void 0;
-    exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK;
-    var core14 = __importStar2(require_core());
-    var storage_blob_1 = require_commonjs15();
-    var errors_1 = require_errors3();
-    var UploadProgress = class {
-      constructor(contentLength) {
-        this.contentLength = contentLength;
-        this.sentBytes = 0;
-        this.displayedComplete = false;
-        this.startTime = Date.now();
+    }
+    function normalizeEncoding(enc) {
+      var nenc = _normalizeEncoding(enc);
+      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
+      return nenc || enc;
+    }
+    exports2.StringDecoder = StringDecoder;
+    function StringDecoder(encoding) {
+      this.encoding = normalizeEncoding(encoding);
+      var nb;
+      switch (this.encoding) {
+        case "utf16le":
+          this.text = utf16Text;
+          this.end = utf16End;
+          nb = 4;
+          break;
+        case "utf8":
+          this.fillLast = utf8FillLast;
+          nb = 4;
+          break;
+        case "base64":
+          this.text = base64Text;
+          this.end = base64End;
+          nb = 3;
+          break;
+        default:
+          this.write = simpleWrite;
+          this.end = simpleEnd;
+          return;
       }
-      /**
-       * Sets the number of bytes sent
-       *
-       * @param sentBytes the number of bytes sent
-       */
-      setSentBytes(sentBytes) {
-        this.sentBytes = sentBytes;
+      this.lastNeed = 0;
+      this.lastTotal = 0;
+      this.lastChar = Buffer2.allocUnsafe(nb);
+    }
+    StringDecoder.prototype.write = function(buf) {
+      if (buf.length === 0) return "";
+      var r;
+      var i;
+      if (this.lastNeed) {
+        r = this.fillLast(buf);
+        if (r === void 0) return "";
+        i = this.lastNeed;
+        this.lastNeed = 0;
+      } else {
+        i = 0;
       }
-      /**
-       * Returns the total number of bytes transferred.
-       */
-      getTransferredBytes() {
-        return this.sentBytes;
+      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
+      return r || "";
+    };
+    StringDecoder.prototype.end = utf8End;
+    StringDecoder.prototype.text = utf8Text;
+    StringDecoder.prototype.fillLast = function(buf) {
+      if (this.lastNeed <= buf.length) {
+        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
+        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
       }
-      /**
-       * Returns true if the upload is complete.
-       */
-      isDone() {
-        return this.getTransferredBytes() === this.contentLength;
+      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
+      this.lastNeed -= buf.length;
+    };
+    function utf8CheckByte(byte) {
+      if (byte <= 127) return 0;
+      else if (byte >> 5 === 6) return 2;
+      else if (byte >> 4 === 14) return 3;
+      else if (byte >> 3 === 30) return 4;
+      return byte >> 6 === 2 ? -1 : -2;
+    }
+    function utf8CheckIncomplete(self2, buf, i) {
+      var j = buf.length - 1;
+      if (j < i) return 0;
+      var nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) self2.lastNeed = nb - 1;
+        return nb;
       }
-      /**
-       * Prints the current upload stats. Once the upload completes, this will print one
-       * last line and then stop.
-       */
-      display() {
-        if (this.displayedComplete) {
-          return;
-        }
-        const transferredBytes = this.sentBytes;
-        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
-        const elapsedTime = Date.now() - this.startTime;
-        const uploadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
-        core14.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`);
-        if (this.isDone()) {
-          this.displayedComplete = true;
+      if (--j < i || nb === -2) return 0;
+      nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) self2.lastNeed = nb - 2;
+        return nb;
+      }
+      if (--j < i || nb === -2) return 0;
+      nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) {
+          if (nb === 2) nb = 0;
+          else self2.lastNeed = nb - 3;
         }
+        return nb;
       }
-      /**
-       * Returns a function used to handle TransferProgressEvents.
-       */
-      onProgress() {
-        return (progress) => {
-          this.setSentBytes(progress.loadedBytes);
-        };
+      return 0;
+    }
+    function utf8CheckExtraBytes(self2, buf, p) {
+      if ((buf[0] & 192) !== 128) {
+        self2.lastNeed = 0;
+        return "\uFFFD";
       }
-      /**
-       * Starts the timer that displays the stats.
-       *
-       * @param delayInMs the delay between each write
-       */
-      startDisplayTimer(delayInMs = 1e3) {
-        const displayCallback = () => {
-          this.display();
-          if (!this.isDone()) {
-            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+      if (self2.lastNeed > 1 && buf.length > 1) {
+        if ((buf[1] & 192) !== 128) {
+          self2.lastNeed = 1;
+          return "\uFFFD";
+        }
+        if (self2.lastNeed > 2 && buf.length > 2) {
+          if ((buf[2] & 192) !== 128) {
+            self2.lastNeed = 2;
+            return "\uFFFD";
           }
-        };
-        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
-      }
-      /**
-       * Stops the timer that displays the stats. As this typically indicates the upload
-       * is complete, this will display one last line, unless the last line has already
-       * been written.
-       */
-      stopDisplayTimer() {
-        if (this.timeoutHandle) {
-          clearTimeout(this.timeoutHandle);
-          this.timeoutHandle = void 0;
         }
-        this.display();
       }
-    };
-    exports2.UploadProgress = UploadProgress;
-    function uploadCacheArchiveSDK(signedUploadURL, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
-        const blobClient = new storage_blob_1.BlobClient(signedUploadURL);
-        const blockBlobClient = blobClient.getBlockBlobClient();
-        const uploadProgress = new UploadProgress((_a = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a !== void 0 ? _a : 0);
-        const uploadOptions = {
-          blockSize: options === null || options === void 0 ? void 0 : options.uploadChunkSize,
-          concurrency: options === null || options === void 0 ? void 0 : options.uploadConcurrency,
-          // maximum number of parallel transfer workers
-          maxSingleShotSize: 128 * 1024 * 1024,
-          // 128 MiB initial transfer size
-          onProgress: uploadProgress.onProgress()
-        };
-        try {
-          uploadProgress.startDisplayTimer();
-          core14.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`);
-          const response = yield blockBlobClient.uploadFile(archivePath, uploadOptions);
-          if (response._response.status >= 400) {
-            throw new errors_1.InvalidResponseError(`uploadCacheArchiveSDK: upload failed with status code ${response._response.status}`);
+    }
+    function utf8FillLast(buf) {
+      var p = this.lastTotal - this.lastNeed;
+      var r = utf8CheckExtraBytes(this, buf, p);
+      if (r !== void 0) return r;
+      if (this.lastNeed <= buf.length) {
+        buf.copy(this.lastChar, p, 0, this.lastNeed);
+        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      }
+      buf.copy(this.lastChar, p, 0, buf.length);
+      this.lastNeed -= buf.length;
+    }
+    function utf8Text(buf, i) {
+      var total = utf8CheckIncomplete(this, buf, i);
+      if (!this.lastNeed) return buf.toString("utf8", i);
+      this.lastTotal = total;
+      var end = buf.length - (total - this.lastNeed);
+      buf.copy(this.lastChar, 0, end);
+      return buf.toString("utf8", i, end);
+    }
+    function utf8End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) return r + "\uFFFD";
+      return r;
+    }
+    function utf16Text(buf, i) {
+      if ((buf.length - i) % 2 === 0) {
+        var r = buf.toString("utf16le", i);
+        if (r) {
+          var c = r.charCodeAt(r.length - 1);
+          if (c >= 55296 && c <= 56319) {
+            this.lastNeed = 2;
+            this.lastTotal = 4;
+            this.lastChar[0] = buf[buf.length - 2];
+            this.lastChar[1] = buf[buf.length - 1];
+            return r.slice(0, -1);
           }
-          return response;
-        } catch (error3) {
-          core14.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`);
-          throw error3;
-        } finally {
-          uploadProgress.stopDisplayTimer();
         }
-      });
+        return r;
+      }
+      this.lastNeed = 1;
+      this.lastTotal = 2;
+      this.lastChar[0] = buf[buf.length - 1];
+      return buf.toString("utf16le", i, buf.length - 1);
+    }
+    function utf16End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) {
+        var end = this.lastTotal - this.lastNeed;
+        return r + this.lastChar.toString("utf16le", 0, end);
+      }
+      return r;
+    }
+    function base64Text(buf, i) {
+      var n = (buf.length - i) % 3;
+      if (n === 0) return buf.toString("base64", i);
+      this.lastNeed = 3 - n;
+      this.lastTotal = 3;
+      if (n === 1) {
+        this.lastChar[0] = buf[buf.length - 1];
+      } else {
+        this.lastChar[0] = buf[buf.length - 2];
+        this.lastChar[1] = buf[buf.length - 1];
+      }
+      return buf.toString("base64", i, buf.length - n);
+    }
+    function base64End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
+      return r;
+    }
+    function simpleWrite(buf) {
+      return buf.toString(this.encoding);
+    }
+    function simpleEnd(buf) {
+      return buf && buf.length ? this.write(buf) : "";
     }
   }
 });
 
-// node_modules/@actions/cache/lib/internal/requestUtils.js
-var require_requestUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/requestUtils.js"(exports2) {
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
+var require_stream_readable = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
+    var pna = require_process_nextick_args();
+    module2.exports = Readable;
+    var isArray = require_isarray();
+    var Duplex;
+    Readable.ReadableState = ReadableState;
+    var EE = require("events").EventEmitter;
+    var EElistenerCount = function(emitter, type2) {
+      return emitter.listeners(type2).length;
+    };
+    var Stream = require_stream();
+    var Buffer2 = require_safe_buffer().Buffer;
+    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    };
+    function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk);
+    }
+    function _isUint8Array(obj) {
+      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    }
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    var debugUtil = require("util");
+    var debug4 = void 0;
+    if (debugUtil && debugUtil.debuglog) {
+      debug4 = debugUtil.debuglog("stream");
+    } else {
+      debug4 = function() {
       };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+    }
+    var BufferList = require_BufferList();
+    var destroyImpl = require_destroy();
+    var StringDecoder;
+    util.inherits(Readable, Stream);
+    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
+    function prependListener(emitter, event, fn) {
+      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
+      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
+      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
+      else emitter._events[event] = [fn, emitter._events[event]];
+    }
+    function ReadableState(options, stream) {
+      Duplex = Duplex || require_stream_duplex();
+      options = options || {};
+      var isDuplex = stream instanceof Duplex;
+      this.objectMode = !!options.objectMode;
+      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
+      var hwm = options.highWaterMark;
+      var readableHwm = options.readableHighWaterMark;
+      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+      if (hwm || hwm === 0) this.highWaterMark = hwm;
+      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
+      else this.highWaterMark = defaultHwm;
+      this.highWaterMark = Math.floor(this.highWaterMark);
+      this.buffer = new BufferList();
+      this.length = 0;
+      this.pipes = null;
+      this.pipesCount = 0;
+      this.flowing = null;
+      this.ended = false;
+      this.endEmitted = false;
+      this.reading = false;
+      this.sync = true;
+      this.needReadable = false;
+      this.emittedReadable = false;
+      this.readableListening = false;
+      this.resumeScheduled = false;
+      this.destroyed = false;
+      this.defaultEncoding = options.defaultEncoding || "utf8";
+      this.awaitDrain = 0;
+      this.readingMore = false;
+      this.decoder = null;
+      this.encoding = null;
+      if (options.encoding) {
+        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
+        this.decoder = new StringDecoder(options.encoding);
+        this.encoding = options.encoding;
+      }
+    }
+    function Readable(options) {
+      Duplex = Duplex || require_stream_duplex();
+      if (!(this instanceof Readable)) return new Readable(options);
+      this._readableState = new ReadableState(options, this);
+      this.readable = true;
+      if (options) {
+        if (typeof options.read === "function") this._read = options.read;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+      }
+      Stream.call(this);
+    }
+    Object.defineProperty(Readable.prototype, "destroyed", {
+      get: function() {
+        if (this._readableState === void 0) {
+          return false;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+        return this._readableState.destroyed;
+      },
+      set: function(value) {
+        if (!this._readableState) {
+          return;
+        }
+        this._readableState.destroyed = value;
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+    });
+    Readable.prototype.destroy = destroyImpl.destroy;
+    Readable.prototype._undestroy = destroyImpl.undestroy;
+    Readable.prototype._destroy = function(err, cb) {
+      this.push(null);
+      cb(err);
+    };
+    Readable.prototype.push = function(chunk, encoding) {
+      var state = this._readableState;
+      var skipChunkCheck;
+      if (!state.objectMode) {
+        if (typeof chunk === "string") {
+          encoding = encoding || state.defaultEncoding;
+          if (encoding !== state.encoding) {
+            chunk = Buffer2.from(chunk, encoding);
+            encoding = "";
           }
+          skipChunkCheck = true;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+      } else {
+        skipChunkCheck = true;
+      }
+      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
+    };
+    Readable.prototype.unshift = function(chunk) {
+      return readableAddChunk(this, chunk, null, true, false);
+    };
+    function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
+      var state = stream._readableState;
+      if (chunk === null) {
+        state.reading = false;
+        onEofChunk(stream, state);
+      } else {
+        var er;
+        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
+        if (er) {
+          stream.emit("error", er);
+        } else if (state.objectMode || chunk && chunk.length > 0) {
+          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
+            chunk = _uint8ArrayToBuffer(chunk);
           }
+          if (addToFront) {
+            if (state.endEmitted) stream.emit("error", new Error("stream.unshift() after end event"));
+            else addChunk(stream, state, chunk, true);
+          } else if (state.ended) {
+            stream.emit("error", new Error("stream.push() after EOF"));
+          } else {
+            state.reading = false;
+            if (state.decoder && !encoding) {
+              chunk = state.decoder.write(chunk);
+              if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
+              else maybeReadMore(stream, state);
+            } else {
+              addChunk(stream, state, chunk, false);
+            }
+          }
+        } else if (!addToFront) {
+          state.reading = false;
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isSuccessStatusCode = isSuccessStatusCode;
-    exports2.isServerErrorStatusCode = isServerErrorStatusCode;
-    exports2.isRetryableStatusCode = isRetryableStatusCode;
-    exports2.retry = retry2;
-    exports2.retryTypedResponse = retryTypedResponse;
-    exports2.retryHttpClientResponse = retryHttpClientResponse;
-    var core14 = __importStar2(require_core());
-    var http_client_1 = require_lib();
-    var constants_1 = require_constants12();
-    function isSuccessStatusCode(statusCode) {
-      if (!statusCode) {
-        return false;
       }
-      return statusCode >= 200 && statusCode < 300;
+      return needMoreData(state);
     }
-    function isServerErrorStatusCode(statusCode) {
-      if (!statusCode) {
-        return true;
+    function addChunk(stream, state, chunk, addToFront) {
+      if (state.flowing && state.length === 0 && !state.sync) {
+        stream.emit("data", chunk);
+        stream.read(0);
+      } else {
+        state.length += state.objectMode ? 1 : chunk.length;
+        if (addToFront) state.buffer.unshift(chunk);
+        else state.buffer.push(chunk);
+        if (state.needReadable) emitReadable(stream);
       }
-      return statusCode >= 500;
+      maybeReadMore(stream, state);
     }
-    function isRetryableStatusCode(statusCode) {
-      if (!statusCode) {
-        return false;
+    function chunkInvalid(state, chunk) {
+      var er;
+      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
+        er = new TypeError("Invalid non-string/buffer chunk");
       }
-      const retryableStatusCodes = [
-        http_client_1.HttpCodes.BadGateway,
-        http_client_1.HttpCodes.ServiceUnavailable,
-        http_client_1.HttpCodes.GatewayTimeout
-      ];
-      return retryableStatusCodes.includes(statusCode);
+      return er;
     }
-    function sleep(milliseconds) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        return new Promise((resolve3) => setTimeout(resolve3, milliseconds));
-      });
+    function needMoreData(state) {
+      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
     }
-    function retry2(name_1, method_1, getStatusCode_1) {
-      return __awaiter2(this, arguments, void 0, function* (name, method, getStatusCode, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay, onError = void 0) {
-        let errorMessage = "";
-        let attempt = 1;
-        while (attempt <= maxAttempts) {
-          let response = void 0;
-          let statusCode = void 0;
-          let isRetryable = false;
-          try {
-            response = yield method();
-          } catch (error3) {
-            if (onError) {
-              response = onError(error3);
-            }
-            isRetryable = true;
-            errorMessage = error3.message;
-          }
-          if (response) {
-            statusCode = getStatusCode(response);
-            if (!isServerErrorStatusCode(statusCode)) {
-              return response;
-            }
-          }
-          if (statusCode) {
-            isRetryable = isRetryableStatusCode(statusCode);
-            errorMessage = `Cache service responded with ${statusCode}`;
-          }
-          core14.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`);
-          if (!isRetryable) {
-            core14.debug(`${name} - Error is not retryable`);
-            break;
-          }
-          yield sleep(delay);
-          attempt++;
+    Readable.prototype.isPaused = function() {
+      return this._readableState.flowing === false;
+    };
+    Readable.prototype.setEncoding = function(enc) {
+      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
+      this._readableState.decoder = new StringDecoder(enc);
+      this._readableState.encoding = enc;
+      return this;
+    };
+    var MAX_HWM = 8388608;
+    function computeNewHighWaterMark(n) {
+      if (n >= MAX_HWM) {
+        n = MAX_HWM;
+      } else {
+        n--;
+        n |= n >>> 1;
+        n |= n >>> 2;
+        n |= n >>> 4;
+        n |= n >>> 8;
+        n |= n >>> 16;
+        n++;
+      }
+      return n;
+    }
+    function howMuchToRead(n, state) {
+      if (n <= 0 || state.length === 0 && state.ended) return 0;
+      if (state.objectMode) return 1;
+      if (n !== n) {
+        if (state.flowing && state.length) return state.buffer.head.data.length;
+        else return state.length;
+      }
+      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
+      if (n <= state.length) return n;
+      if (!state.ended) {
+        state.needReadable = true;
+        return 0;
+      }
+      return state.length;
+    }
+    Readable.prototype.read = function(n) {
+      debug4("read", n);
+      n = parseInt(n, 10);
+      var state = this._readableState;
+      var nOrig = n;
+      if (n !== 0) state.emittedReadable = false;
+      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
+        debug4("read: emitReadable", state.length, state.ended);
+        if (state.length === 0 && state.ended) endReadable(this);
+        else emitReadable(this);
+        return null;
+      }
+      n = howMuchToRead(n, state);
+      if (n === 0 && state.ended) {
+        if (state.length === 0) endReadable(this);
+        return null;
+      }
+      var doRead = state.needReadable;
+      debug4("need readable", doRead);
+      if (state.length === 0 || state.length - n < state.highWaterMark) {
+        doRead = true;
+        debug4("length less than watermark", doRead);
+      }
+      if (state.ended || state.reading) {
+        doRead = false;
+        debug4("reading or ended", doRead);
+      } else if (doRead) {
+        debug4("do read");
+        state.reading = true;
+        state.sync = true;
+        if (state.length === 0) state.needReadable = true;
+        this._read(state.highWaterMark);
+        state.sync = false;
+        if (!state.reading) n = howMuchToRead(nOrig, state);
+      }
+      var ret;
+      if (n > 0) ret = fromList(n, state);
+      else ret = null;
+      if (ret === null) {
+        state.needReadable = true;
+        n = 0;
+      } else {
+        state.length -= n;
+      }
+      if (state.length === 0) {
+        if (!state.ended) state.needReadable = true;
+        if (nOrig !== n && state.ended) endReadable(this);
+      }
+      if (ret !== null) this.emit("data", ret);
+      return ret;
+    };
+    function onEofChunk(stream, state) {
+      if (state.ended) return;
+      if (state.decoder) {
+        var chunk = state.decoder.end();
+        if (chunk && chunk.length) {
+          state.buffer.push(chunk);
+          state.length += state.objectMode ? 1 : chunk.length;
         }
-        throw Error(`${name} failed: ${errorMessage}`);
-      });
+      }
+      state.ended = true;
+      emitReadable(stream);
     }
-    function retryTypedResponse(name_1, method_1) {
-      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) {
-        return yield retry2(
-          name,
-          method,
-          (response) => response.statusCode,
-          maxAttempts,
-          delay,
-          // If the error object contains the statusCode property, extract it and return
-          // an TypedResponse so it can be processed by the retry logic.
-          (error3) => {
-            if (error3 instanceof http_client_1.HttpClientError) {
-              return {
-                statusCode: error3.statusCode,
-                result: null,
-                headers: {},
-                error: error3
-              };
-            } else {
-              return void 0;
-            }
-          }
-        );
-      });
+    function emitReadable(stream) {
+      var state = stream._readableState;
+      state.needReadable = false;
+      if (!state.emittedReadable) {
+        debug4("emitReadable", state.flowing);
+        state.emittedReadable = true;
+        if (state.sync) pna.nextTick(emitReadable_, stream);
+        else emitReadable_(stream);
+      }
     }
-    function retryHttpClientResponse(name_1, method_1) {
-      return __awaiter2(this, arguments, void 0, function* (name, method, maxAttempts = constants_1.DefaultRetryAttempts, delay = constants_1.DefaultRetryDelay) {
-        return yield retry2(name, method, (response) => response.message.statusCode, maxAttempts, delay);
-      });
+    function emitReadable_(stream) {
+      debug4("emit readable");
+      stream.emit("readable");
+      flow(stream);
     }
-  }
-});
-
-// node_modules/@azure/abort-controller/dist/index.js
-var require_dist4 = __commonJS({
-  "node_modules/@azure/abort-controller/dist/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var listenersMap = /* @__PURE__ */ new WeakMap();
-    var abortedMap = /* @__PURE__ */ new WeakMap();
-    var AbortSignal2 = class _AbortSignal {
-      constructor() {
-        this.onabort = null;
-        listenersMap.set(this, []);
-        abortedMap.set(this, false);
+    function maybeReadMore(stream, state) {
+      if (!state.readingMore) {
+        state.readingMore = true;
+        pna.nextTick(maybeReadMore_, stream, state);
+      }
+    }
+    function maybeReadMore_(stream, state) {
+      var len = state.length;
+      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
+        debug4("maybeReadMore read 0");
+        stream.read(0);
+        if (len === state.length)
+          break;
+        else len = state.length;
+      }
+      state.readingMore = false;
+    }
+    Readable.prototype._read = function(n) {
+      this.emit("error", new Error("_read() is not implemented"));
+    };
+    Readable.prototype.pipe = function(dest, pipeOpts) {
+      var src = this;
+      var state = this._readableState;
+      switch (state.pipesCount) {
+        case 0:
+          state.pipes = dest;
+          break;
+        case 1:
+          state.pipes = [state.pipes, dest];
+          break;
+        default:
+          state.pipes.push(dest);
+          break;
       }
-      /**
-       * Status of whether aborted or not.
-       *
-       * @readonly
-       */
-      get aborted() {
-        if (!abortedMap.has(this)) {
-          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+      state.pipesCount += 1;
+      debug4("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
+      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
+      var endFn = doEnd ? onend : unpipe;
+      if (state.endEmitted) pna.nextTick(endFn);
+      else src.once("end", endFn);
+      dest.on("unpipe", onunpipe);
+      function onunpipe(readable, unpipeInfo) {
+        debug4("onunpipe");
+        if (readable === src) {
+          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
+            unpipeInfo.hasUnpiped = true;
+            cleanup();
+          }
         }
-        return abortedMap.get(this);
       }
-      /**
-       * Creates a new AbortSignal instance that will never be aborted.
-       *
-       * @readonly
-       */
-      static get none() {
-        return new _AbortSignal();
+      function onend() {
+        debug4("onend");
+        dest.end();
       }
-      /**
-       * Added new "abort" event listener, only support "abort" event.
-       *
-       * @param _type - Only support "abort" event
-       * @param listener - The listener to be added
-       */
-      addEventListener(_type, listener) {
-        if (!listenersMap.has(this)) {
-          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+      var ondrain = pipeOnDrain(src);
+      dest.on("drain", ondrain);
+      var cleanedUp = false;
+      function cleanup() {
+        debug4("cleanup");
+        dest.removeListener("close", onclose);
+        dest.removeListener("finish", onfinish);
+        dest.removeListener("drain", ondrain);
+        dest.removeListener("error", onerror);
+        dest.removeListener("unpipe", onunpipe);
+        src.removeListener("end", onend);
+        src.removeListener("end", unpipe);
+        src.removeListener("data", ondata);
+        cleanedUp = true;
+        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      }
+      var increasedAwaitDrain = false;
+      src.on("data", ondata);
+      function ondata(chunk) {
+        debug4("ondata");
+        increasedAwaitDrain = false;
+        var ret = dest.write(chunk);
+        if (false === ret && !increasedAwaitDrain) {
+          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
+            debug4("false write response, pause", state.awaitDrain);
+            state.awaitDrain++;
+            increasedAwaitDrain = true;
+          }
+          src.pause();
         }
-        const listeners = listenersMap.get(this);
-        listeners.push(listener);
       }
-      /**
-       * Remove "abort" event listener, only support "abort" event.
-       *
-       * @param _type - Only support "abort" event
-       * @param listener - The listener to be removed
-       */
-      removeEventListener(_type, listener) {
-        if (!listenersMap.has(this)) {
-          throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+      function onerror(er) {
+        debug4("onerror", er);
+        unpipe();
+        dest.removeListener("error", onerror);
+        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
+      }
+      prependListener(dest, "error", onerror);
+      function onclose() {
+        dest.removeListener("finish", onfinish);
+        unpipe();
+      }
+      dest.once("close", onclose);
+      function onfinish() {
+        debug4("onfinish");
+        dest.removeListener("close", onclose);
+        unpipe();
+      }
+      dest.once("finish", onfinish);
+      function unpipe() {
+        debug4("unpipe");
+        src.unpipe(dest);
+      }
+      dest.emit("pipe", src);
+      if (!state.flowing) {
+        debug4("pipe resume");
+        src.resume();
+      }
+      return dest;
+    };
+    function pipeOnDrain(src) {
+      return function() {
+        var state = src._readableState;
+        debug4("pipeOnDrain", state.awaitDrain);
+        if (state.awaitDrain) state.awaitDrain--;
+        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
+          state.flowing = true;
+          flow(src);
         }
-        const listeners = listenersMap.get(this);
-        const index = listeners.indexOf(listener);
-        if (index > -1) {
-          listeners.splice(index, 1);
+      };
+    }
+    Readable.prototype.unpipe = function(dest) {
+      var state = this._readableState;
+      var unpipeInfo = { hasUnpiped: false };
+      if (state.pipesCount === 0) return this;
+      if (state.pipesCount === 1) {
+        if (dest && dest !== state.pipes) return this;
+        if (!dest) dest = state.pipes;
+        state.pipes = null;
+        state.pipesCount = 0;
+        state.flowing = false;
+        if (dest) dest.emit("unpipe", this, unpipeInfo);
+        return this;
+      }
+      if (!dest) {
+        var dests = state.pipes;
+        var len = state.pipesCount;
+        state.pipes = null;
+        state.pipesCount = 0;
+        state.flowing = false;
+        for (var i = 0; i < len; i++) {
+          dests[i].emit("unpipe", this, { hasUnpiped: false });
         }
+        return this;
       }
-      /**
-       * Dispatches a synthetic event to the AbortSignal.
-       */
-      dispatchEvent(_event) {
-        throw new Error("This is a stub dispatchEvent implementation that should not be used.  It only exists for type-checking purposes.");
+      var index = indexOf(state.pipes, dest);
+      if (index === -1) return this;
+      state.pipes.splice(index, 1);
+      state.pipesCount -= 1;
+      if (state.pipesCount === 1) state.pipes = state.pipes[0];
+      dest.emit("unpipe", this, unpipeInfo);
+      return this;
+    };
+    Readable.prototype.on = function(ev, fn) {
+      var res = Stream.prototype.on.call(this, ev, fn);
+      if (ev === "data") {
+        if (this._readableState.flowing !== false) this.resume();
+      } else if (ev === "readable") {
+        var state = this._readableState;
+        if (!state.endEmitted && !state.readableListening) {
+          state.readableListening = state.needReadable = true;
+          state.emittedReadable = false;
+          if (!state.reading) {
+            pna.nextTick(nReadingNextTick, this);
+          } else if (state.length) {
+            emitReadable(this);
+          }
+        }
       }
+      return res;
     };
-    function abortSignal(signal) {
-      if (signal.aborted) {
-        return;
+    Readable.prototype.addListener = Readable.prototype.on;
+    function nReadingNextTick(self2) {
+      debug4("readable nexttick read 0");
+      self2.read(0);
+    }
+    Readable.prototype.resume = function() {
+      var state = this._readableState;
+      if (!state.flowing) {
+        debug4("resume");
+        state.flowing = true;
+        resume(this, state);
       }
-      if (signal.onabort) {
-        signal.onabort.call(signal);
+      return this;
+    };
+    function resume(stream, state) {
+      if (!state.resumeScheduled) {
+        state.resumeScheduled = true;
+        pna.nextTick(resume_, stream, state);
       }
-      const listeners = listenersMap.get(signal);
-      if (listeners) {
-        listeners.slice().forEach((listener) => {
-          listener.call(signal, { type: "abort" });
-        });
+    }
+    function resume_(stream, state) {
+      if (!state.reading) {
+        debug4("resume read 0");
+        stream.read(0);
       }
-      abortedMap.set(signal, true);
+      state.resumeScheduled = false;
+      state.awaitDrain = 0;
+      stream.emit("resume");
+      flow(stream);
+      if (state.flowing && !state.reading) stream.read(0);
     }
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+    Readable.prototype.pause = function() {
+      debug4("call pause flowing=%j", this._readableState.flowing);
+      if (false !== this._readableState.flowing) {
+        debug4("pause");
+        this._readableState.flowing = false;
+        this.emit("pause");
       }
+      return this;
     };
-    var AbortController2 = class {
-      // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
-      constructor(parentSignals) {
-        this._signal = new AbortSignal2();
-        if (!parentSignals) {
-          return;
+    function flow(stream) {
+      var state = stream._readableState;
+      debug4("flow", state.flowing);
+      while (state.flowing && stream.read() !== null) {
+      }
+    }
+    Readable.prototype.wrap = function(stream) {
+      var _this = this;
+      var state = this._readableState;
+      var paused = false;
+      stream.on("end", function() {
+        debug4("wrapped end");
+        if (state.decoder && !state.ended) {
+          var chunk = state.decoder.end();
+          if (chunk && chunk.length) _this.push(chunk);
         }
-        if (!Array.isArray(parentSignals)) {
-          parentSignals = arguments;
+        _this.push(null);
+      });
+      stream.on("data", function(chunk) {
+        debug4("wrapped data");
+        if (state.decoder) chunk = state.decoder.write(chunk);
+        if (state.objectMode && (chunk === null || chunk === void 0)) return;
+        else if (!state.objectMode && (!chunk || !chunk.length)) return;
+        var ret = _this.push(chunk);
+        if (!ret) {
+          paused = true;
+          stream.pause();
         }
-        for (const parentSignal of parentSignals) {
-          if (parentSignal.aborted) {
-            this.abort();
-          } else {
-            parentSignal.addEventListener("abort", () => {
-              this.abort();
-            });
-          }
+      });
+      for (var i in stream) {
+        if (this[i] === void 0 && typeof stream[i] === "function") {
+          this[i] = /* @__PURE__ */ (function(method) {
+            return function() {
+              return stream[method].apply(stream, arguments);
+            };
+          })(i);
         }
       }
-      /**
-       * The AbortSignal associated with this controller that will signal aborted
-       * when the abort method is called on this controller.
-       *
-       * @readonly
-       */
-      get signal() {
-        return this._signal;
-      }
-      /**
-       * Signal that any operations passed this controller's associated abort signal
-       * to cancel any remaining work and throw an `AbortError`.
-       */
-      abort() {
-        abortSignal(this._signal);
+      for (var n = 0; n < kProxyEvents.length; n++) {
+        stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
       }
-      /**
-       * Creates a new AbortSignal instance that will abort after the provided ms.
-       * @param ms - Elapsed time in milliseconds to trigger an abort.
-       */
-      static timeout(ms) {
-        const signal = new AbortSignal2();
-        const timer = setTimeout(abortSignal, ms, signal);
-        if (typeof timer.unref === "function") {
-          timer.unref();
+      this._read = function(n2) {
+        debug4("wrapped _read", n2);
+        if (paused) {
+          paused = false;
+          stream.resume();
         }
-        return signal;
-      }
+      };
+      return this;
     };
-    exports2.AbortController = AbortController2;
-    exports2.AbortError = AbortError;
-    exports2.AbortSignal = AbortSignal2;
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/downloadUtils.js
-var require_downloadUtils = __commonJS({
-  "node_modules/@actions/cache/lib/internal/downloadUtils.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    Object.defineProperty(Readable.prototype, "readableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._readableState.highWaterMark;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
     });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+    Readable._fromList = fromList;
+    function fromList(n, state) {
+      if (state.length === 0) return null;
+      var ret;
+      if (state.objectMode) ret = state.buffer.shift();
+      else if (!n || n >= state.length) {
+        if (state.decoder) ret = state.buffer.join("");
+        else if (state.buffer.length === 1) ret = state.buffer.head.data;
+        else ret = state.buffer.concat(state.length);
+        state.buffer.clear();
+      } else {
+        ret = fromListPartial(n, state.buffer, state.decoder);
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      return ret;
+    }
+    function fromListPartial(n, list, hasStrings) {
+      var ret;
+      if (n < list.head.data.length) {
+        ret = list.head.data.slice(0, n);
+        list.head.data = list.head.data.slice(n);
+      } else if (n === list.head.data.length) {
+        ret = list.shift();
+      } else {
+        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
+      }
+      return ret;
+    }
+    function copyFromBufferString(n, list) {
+      var p = list.head;
+      var c = 1;
+      var ret = p.data;
+      n -= ret.length;
+      while (p = p.next) {
+        var str2 = p.data;
+        var nb = n > str2.length ? str2.length : n;
+        if (nb === str2.length) ret += str2;
+        else ret += str2.slice(0, n);
+        n -= nb;
+        if (n === 0) {
+          if (nb === str2.length) {
+            ++c;
+            if (p.next) list.head = p.next;
+            else list.head = list.tail = null;
+          } else {
+            list.head = p;
+            p.data = str2.slice(nb);
           }
+          break;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        ++c;
+      }
+      list.length -= c;
+      return ret;
+    }
+    function copyFromBuffer(n, list) {
+      var ret = Buffer2.allocUnsafe(n);
+      var p = list.head;
+      var c = 1;
+      p.data.copy(ret);
+      n -= p.data.length;
+      while (p = p.next) {
+        var buf = p.data;
+        var nb = n > buf.length ? buf.length : n;
+        buf.copy(ret, ret.length - n, 0, nb);
+        n -= nb;
+        if (n === 0) {
+          if (nb === buf.length) {
+            ++c;
+            if (p.next) list.head = p.next;
+            else list.head = list.tail = null;
+          } else {
+            list.head = p;
+            p.data = buf.slice(nb);
           }
+          break;
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DownloadProgress = void 0;
-    exports2.downloadCacheHttpClient = downloadCacheHttpClient;
-    exports2.downloadCacheHttpClientConcurrent = downloadCacheHttpClientConcurrent;
-    exports2.downloadCacheStorageSDK = downloadCacheStorageSDK;
-    var core14 = __importStar2(require_core());
-    var http_client_1 = require_lib();
-    var storage_blob_1 = require_commonjs15();
-    var buffer = __importStar2(require("buffer"));
-    var fs3 = __importStar2(require("fs"));
-    var stream = __importStar2(require("stream"));
-    var util = __importStar2(require("util"));
-    var utils = __importStar2(require_cacheUtils());
-    var constants_1 = require_constants12();
-    var requestUtils_1 = require_requestUtils();
-    var abort_controller_1 = require_dist4();
-    function pipeResponseToStream(response, output) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const pipeline = util.promisify(stream.pipeline);
-        yield pipeline(response.message, output);
-      });
+        ++c;
+      }
+      list.length -= c;
+      return ret;
     }
-    var DownloadProgress = class {
-      constructor(contentLength) {
-        this.contentLength = contentLength;
-        this.segmentIndex = 0;
-        this.segmentSize = 0;
-        this.segmentOffset = 0;
-        this.receivedBytes = 0;
-        this.displayedComplete = false;
-        this.startTime = Date.now();
+    function endReadable(stream) {
+      var state = stream._readableState;
+      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
+      if (!state.endEmitted) {
+        state.ended = true;
+        pna.nextTick(endReadableNT, state, stream);
       }
-      /**
-       * Progress to the next segment. Only call this method when the previous segment
-       * is complete.
-       *
-       * @param segmentSize the length of the next segment
-       */
-      nextSegment(segmentSize) {
-        this.segmentOffset = this.segmentOffset + this.segmentSize;
-        this.segmentIndex = this.segmentIndex + 1;
-        this.segmentSize = segmentSize;
-        this.receivedBytes = 0;
-        core14.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`);
+    }
+    function endReadableNT(state, stream) {
+      if (!state.endEmitted && state.length === 0) {
+        state.endEmitted = true;
+        stream.readable = false;
+        stream.emit("end");
       }
-      /**
-       * Sets the number of bytes received for the current segment.
-       *
-       * @param receivedBytes the number of bytes received
-       */
-      setReceivedBytes(receivedBytes) {
-        this.receivedBytes = receivedBytes;
+    }
+    function indexOf(xs, x) {
+      for (var i = 0, l = xs.length; i < l; i++) {
+        if (xs[i] === x) return i;
       }
-      /**
-       * Returns the total number of bytes transferred.
-       */
-      getTransferredBytes() {
-        return this.segmentOffset + this.receivedBytes;
+      return -1;
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
+var require_stream_transform = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
+    "use strict";
+    module2.exports = Transform;
+    var Duplex = require_stream_duplex();
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    util.inherits(Transform, Duplex);
+    function afterTransform(er, data) {
+      var ts = this._transformState;
+      ts.transforming = false;
+      var cb = ts.writecb;
+      if (!cb) {
+        return this.emit("error", new Error("write callback called multiple times"));
       }
-      /**
-       * Returns true if the download is complete.
-       */
-      isDone() {
-        return this.getTransferredBytes() === this.contentLength;
+      ts.writechunk = null;
+      ts.writecb = null;
+      if (data != null)
+        this.push(data);
+      cb(er);
+      var rs = this._readableState;
+      rs.reading = false;
+      if (rs.needReadable || rs.length < rs.highWaterMark) {
+        this._read(rs.highWaterMark);
       }
-      /**
-       * Prints the current download stats. Once the download completes, this will print one
-       * last line and then stop.
-       */
-      display() {
-        if (this.displayedComplete) {
-          return;
-        }
-        const transferredBytes = this.segmentOffset + this.receivedBytes;
-        const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1);
-        const elapsedTime = Date.now() - this.startTime;
-        const downloadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1);
-        core14.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`);
-        if (this.isDone()) {
-          this.displayedComplete = true;
-        }
+    }
+    function Transform(options) {
+      if (!(this instanceof Transform)) return new Transform(options);
+      Duplex.call(this, options);
+      this._transformState = {
+        afterTransform: afterTransform.bind(this),
+        needTransform: false,
+        transforming: false,
+        writecb: null,
+        writechunk: null,
+        writeencoding: null
+      };
+      this._readableState.needReadable = true;
+      this._readableState.sync = false;
+      if (options) {
+        if (typeof options.transform === "function") this._transform = options.transform;
+        if (typeof options.flush === "function") this._flush = options.flush;
       }
-      /**
-       * Returns a function used to handle TransferProgressEvents.
-       */
-      onProgress() {
-        return (progress) => {
-          this.setReceivedBytes(progress.loadedBytes);
-        };
+      this.on("prefinish", prefinish);
+    }
+    function prefinish() {
+      var _this = this;
+      if (typeof this._flush === "function") {
+        this._flush(function(er, data) {
+          done(_this, er, data);
+        });
+      } else {
+        done(this, null, null);
       }
-      /**
-       * Starts the timer that displays the stats.
-       *
-       * @param delayInMs the delay between each write
-       */
-      startDisplayTimer(delayInMs = 1e3) {
-        const displayCallback = () => {
-          this.display();
-          if (!this.isDone()) {
-            this.timeoutHandle = setTimeout(displayCallback, delayInMs);
-          }
-        };
-        this.timeoutHandle = setTimeout(displayCallback, delayInMs);
+    }
+    Transform.prototype.push = function(chunk, encoding) {
+      this._transformState.needTransform = false;
+      return Duplex.prototype.push.call(this, chunk, encoding);
+    };
+    Transform.prototype._transform = function(chunk, encoding, cb) {
+      throw new Error("_transform() is not implemented");
+    };
+    Transform.prototype._write = function(chunk, encoding, cb) {
+      var ts = this._transformState;
+      ts.writecb = cb;
+      ts.writechunk = chunk;
+      ts.writeencoding = encoding;
+      if (!ts.transforming) {
+        var rs = this._readableState;
+        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
       }
-      /**
-       * Stops the timer that displays the stats. As this typically indicates the download
-       * is complete, this will display one last line, unless the last line has already
-       * been written.
-       */
-      stopDisplayTimer() {
-        if (this.timeoutHandle) {
-          clearTimeout(this.timeoutHandle);
-          this.timeoutHandle = void 0;
-        }
-        this.display();
+    };
+    Transform.prototype._read = function(n) {
+      var ts = this._transformState;
+      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
+        ts.transforming = true;
+        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
+      } else {
+        ts.needTransform = true;
       }
     };
-    exports2.DownloadProgress = DownloadProgress;
-    function downloadCacheHttpClient(archiveLocation, archivePath) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const writeStream = fs3.createWriteStream(archivePath);
-        const httpClient = new http_client_1.HttpClient("actions/cache");
-        const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.get(archiveLocation);
-        }));
-        downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => {
-          downloadResponse.message.destroy();
-          core14.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`);
-        });
-        yield pipeResponseToStream(downloadResponse, writeStream);
-        const contentLengthHeader = downloadResponse.message.headers["content-length"];
-        if (contentLengthHeader) {
-          const expectedLength = parseInt(contentLengthHeader);
-          const actualLength = utils.getArchiveFileSizeInBytes(archivePath);
-          if (actualLength !== expectedLength) {
-            throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`);
-          }
-        } else {
-          core14.debug("Unable to validate download, no Content-Length header");
-        }
+    Transform.prototype._destroy = function(err, cb) {
+      var _this2 = this;
+      Duplex.prototype._destroy.call(this, err, function(err2) {
+        cb(err2);
+        _this2.emit("close");
       });
+    };
+    function done(stream, er, data) {
+      if (er) return stream.emit("error", er);
+      if (data != null)
+        stream.push(data);
+      if (stream._writableState.length) throw new Error("Calling transform done when ws.length != 0");
+      if (stream._transformState.transforming) throw new Error("Calling transform done when still transforming");
+      return stream.push(null);
     }
-    function downloadCacheHttpClientConcurrent(archiveLocation, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
-        const archiveDescriptor = yield fs3.promises.open(archivePath, "w");
-        const httpClient = new http_client_1.HttpClient("actions/cache", void 0, {
-          socketTimeout: options.timeoutInMs,
-          keepAlive: true
-        });
-        try {
-          const res = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCacheMetadata", () => __awaiter2(this, void 0, void 0, function* () {
-            return yield httpClient.request("HEAD", archiveLocation, null, {});
-          }));
-          const lengthHeader = res.message.headers["content-length"];
-          if (lengthHeader === void 0 || lengthHeader === null) {
-            throw new Error("Content-Length not found on blob response");
-          }
-          const length = parseInt(lengthHeader);
-          if (Number.isNaN(length)) {
-            throw new Error(`Could not interpret Content-Length: ${length}`);
-          }
-          const downloads = [];
-          const blockSize = 4 * 1024 * 1024;
-          for (let offset = 0; offset < length; offset += blockSize) {
-            const count = Math.min(blockSize, length - offset);
-            downloads.push({
-              offset,
-              promiseGetter: () => __awaiter2(this, void 0, void 0, function* () {
-                return yield downloadSegmentRetry(httpClient, archiveLocation, offset, count);
-              })
-            });
-          }
-          downloads.reverse();
-          let actives = 0;
-          let bytesDownloaded = 0;
-          const progress = new DownloadProgress(length);
-          progress.startDisplayTimer();
-          const progressFn = progress.onProgress();
-          const activeDownloads = [];
-          let nextDownload;
-          const waitAndWrite = () => __awaiter2(this, void 0, void 0, function* () {
-            const segment = yield Promise.race(Object.values(activeDownloads));
-            yield archiveDescriptor.write(segment.buffer, 0, segment.count, segment.offset);
-            actives--;
-            delete activeDownloads[segment.offset];
-            bytesDownloaded += segment.count;
-            progressFn({ loadedBytes: bytesDownloaded });
-          });
-          while (nextDownload = downloads.pop()) {
-            activeDownloads[nextDownload.offset] = nextDownload.promiseGetter();
-            actives++;
-            if (actives >= ((_a = options.downloadConcurrency) !== null && _a !== void 0 ? _a : 10)) {
-              yield waitAndWrite();
-            }
-          }
-          while (actives > 0) {
-            yield waitAndWrite();
-          }
-        } finally {
-          httpClient.dispose();
-          yield archiveDescriptor.close();
-        }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
+var require_stream_passthrough = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
+    "use strict";
+    module2.exports = PassThrough;
+    var Transform = require_stream_transform();
+    var util = Object.create(require_util20());
+    util.inherits = require_inherits();
+    util.inherits(PassThrough, Transform);
+    function PassThrough(options) {
+      if (!(this instanceof PassThrough)) return new PassThrough(options);
+      Transform.call(this, options);
+    }
+    PassThrough.prototype._transform = function(chunk, encoding, cb) {
+      cb(null, chunk);
+    };
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/readable.js
+var require_readable3 = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
+    var Stream = require("stream");
+    if (process.env.READABLE_STREAM === "disable" && Stream) {
+      module2.exports = Stream;
+      exports2 = module2.exports = Stream.Readable;
+      exports2.Readable = Stream.Readable;
+      exports2.Writable = Stream.Writable;
+      exports2.Duplex = Stream.Duplex;
+      exports2.Transform = Stream.Transform;
+      exports2.PassThrough = Stream.PassThrough;
+      exports2.Stream = Stream;
+    } else {
+      exports2 = module2.exports = require_stream_readable();
+      exports2.Stream = Stream || exports2;
+      exports2.Readable = exports2;
+      exports2.Writable = require_stream_writable();
+      exports2.Duplex = require_stream_duplex();
+      exports2.Transform = require_stream_transform();
+      exports2.PassThrough = require_stream_passthrough();
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/passthrough.js
+var require_passthrough = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
+    module2.exports = require_readable3().PassThrough;
+  }
+});
+
+// node_modules/lazystream/lib/lazystream.js
+var require_lazystream = __commonJS({
+  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
+    var util = require("util");
+    var PassThrough = require_passthrough();
+    module2.exports = {
+      Readable,
+      Writable
+    };
+    util.inherits(Readable, PassThrough);
+    util.inherits(Writable, PassThrough);
+    function beforeFirstCall(instance, method, callback) {
+      instance[method] = function() {
+        delete instance[method];
+        callback.apply(this, arguments);
+        return this[method].apply(this, arguments);
+      };
+    }
+    function Readable(fn, options) {
+      if (!(this instanceof Readable))
+        return new Readable(fn, options);
+      PassThrough.call(this, options);
+      beforeFirstCall(this, "_read", function() {
+        var source = fn.call(this, options);
+        var emit = this.emit.bind(this, "error");
+        source.on("error", emit);
+        source.pipe(this);
       });
+      this.emit("readable");
     }
-    function downloadSegmentRetry(httpClient, archiveLocation, offset, count) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const retries = 5;
-        let failures = 0;
-        while (true) {
-          try {
-            const timeout = 3e4;
-            const result = yield promiseWithTimeout(timeout, downloadSegment(httpClient, archiveLocation, offset, count));
-            if (typeof result === "string") {
-              throw new Error("downloadSegmentRetry failed due to timeout");
-            }
-            return result;
-          } catch (err) {
-            if (failures >= retries) {
-              throw err;
-            }
-            failures++;
-          }
-        }
+    function Writable(fn, options) {
+      if (!(this instanceof Writable))
+        return new Writable(fn, options);
+      PassThrough.call(this, options);
+      beforeFirstCall(this, "_write", function() {
+        var destination = fn.call(this, options);
+        var emit = this.emit.bind(this, "error");
+        destination.on("error", emit);
+        this.pipe(destination);
       });
+      this.emit("writable");
     }
-    function downloadSegment(httpClient, archiveLocation, offset, count) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const partRes = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCachePart", () => __awaiter2(this, void 0, void 0, function* () {
-          return yield httpClient.get(archiveLocation, {
-            Range: `bytes=${offset}-${offset + count - 1}`
-          });
-        }));
-        if (!partRes.readBodyBuffer) {
-          throw new Error("Expected HttpClientResponse to implement readBodyBuffer");
+  }
+});
+
+// node_modules/normalize-path/index.js
+var require_normalize_path = __commonJS({
+  "node_modules/normalize-path/index.js"(exports2, module2) {
+    module2.exports = function(path4, stripTrailing) {
+      if (typeof path4 !== "string") {
+        throw new TypeError("expected path to be a string");
+      }
+      if (path4 === "\\" || path4 === "/") return "/";
+      var len = path4.length;
+      if (len <= 1) return path4;
+      var prefix = "";
+      if (len > 4 && path4[3] === "\\") {
+        var ch = path4[2];
+        if ((ch === "?" || ch === ".") && path4.slice(0, 2) === "\\\\") {
+          path4 = path4.slice(2);
+          prefix = "//";
         }
-        return {
-          offset,
-          count,
-          buffer: yield partRes.readBodyBuffer()
-        };
-      });
+      }
+      var segs = path4.split(/[/\\]+/);
+      if (stripTrailing !== false && segs[segs.length - 1] === "") {
+        segs.pop();
+      }
+      return prefix + segs.join("/");
+    };
+  }
+});
+
+// node_modules/lodash/identity.js
+var require_identity = __commonJS({
+  "node_modules/lodash/identity.js"(exports2, module2) {
+    function identity(value) {
+      return value;
     }
-    function downloadCacheStorageSDK(archiveLocation, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
-        const client = new storage_blob_1.BlockBlobClient(archiveLocation, void 0, {
-          retryOptions: {
-            // Override the timeout used when downloading each 4 MB chunk
-            // The default is 2 min / MB, which is way too slow
-            tryTimeoutInMs: options.timeoutInMs
-          }
-        });
-        const properties = yield client.getProperties();
-        const contentLength = (_a = properties.contentLength) !== null && _a !== void 0 ? _a : -1;
-        if (contentLength < 0) {
-          core14.debug("Unable to determine content length, downloading file with http-client...");
-          yield downloadCacheHttpClient(archiveLocation, archivePath);
-        } else {
-          const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH);
-          const downloadProgress = new DownloadProgress(contentLength);
-          const fd = fs3.openSync(archivePath, "w");
-          try {
-            downloadProgress.startDisplayTimer();
-            const controller = new abort_controller_1.AbortController();
-            const abortSignal = controller.signal;
-            while (!downloadProgress.isDone()) {
-              const segmentStart = downloadProgress.segmentOffset + downloadProgress.segmentSize;
-              const segmentSize = Math.min(maxSegmentSize, contentLength - segmentStart);
-              downloadProgress.nextSegment(segmentSize);
-              const result = yield promiseWithTimeout(options.segmentTimeoutInMs || 36e5, client.downloadToBuffer(segmentStart, segmentSize, {
-                abortSignal,
-                concurrency: options.downloadConcurrency,
-                onProgress: downloadProgress.onProgress()
-              }));
-              if (result === "timeout") {
-                controller.abort();
-                throw new Error("Aborting cache download as the download time exceeded the timeout.");
-              } else if (Buffer.isBuffer(result)) {
-                fs3.writeFileSync(fd, result);
-              }
-            }
-          } finally {
-            downloadProgress.stopDisplayTimer();
-            fs3.closeSync(fd);
-          }
+    module2.exports = identity;
+  }
+});
+
+// node_modules/lodash/_apply.js
+var require_apply = __commonJS({
+  "node_modules/lodash/_apply.js"(exports2, module2) {
+    function apply(func, thisArg, args) {
+      switch (args.length) {
+        case 0:
+          return func.call(thisArg);
+        case 1:
+          return func.call(thisArg, args[0]);
+        case 2:
+          return func.call(thisArg, args[0], args[1]);
+        case 3:
+          return func.call(thisArg, args[0], args[1], args[2]);
+      }
+      return func.apply(thisArg, args);
+    }
+    module2.exports = apply;
+  }
+});
+
+// node_modules/lodash/_overRest.js
+var require_overRest = __commonJS({
+  "node_modules/lodash/_overRest.js"(exports2, module2) {
+    var apply = require_apply();
+    var nativeMax = Math.max;
+    function overRest(func, start, transform) {
+      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
+      return function() {
+        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
+        while (++index < length) {
+          array[index] = args[start + index];
         }
-      });
+        index = -1;
+        var otherArgs = Array(start + 1);
+        while (++index < start) {
+          otherArgs[index] = args[index];
+        }
+        otherArgs[start] = transform(array);
+        return apply(func, this, otherArgs);
+      };
+    }
+    module2.exports = overRest;
+  }
+});
+
+// node_modules/lodash/constant.js
+var require_constant = __commonJS({
+  "node_modules/lodash/constant.js"(exports2, module2) {
+    function constant(value) {
+      return function() {
+        return value;
+      };
     }
-    var promiseWithTimeout = (timeoutMs, promise) => __awaiter2(void 0, void 0, void 0, function* () {
-      let timeoutHandle;
-      const timeoutPromise = new Promise((resolve3) => {
-        timeoutHandle = setTimeout(() => resolve3("timeout"), timeoutMs);
-      });
-      return Promise.race([promise, timeoutPromise]).then((result) => {
-        clearTimeout(timeoutHandle);
-        return result;
-      });
-    });
+    module2.exports = constant;
   }
 });
 
-// node_modules/@actions/cache/lib/options.js
-var require_options = __commonJS({
-  "node_modules/@actions/cache/lib/options.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+// node_modules/lodash/_freeGlobal.js
+var require_freeGlobal = __commonJS({
+  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
+    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
+    module2.exports = freeGlobal;
+  }
+});
+
+// node_modules/lodash/_root.js
+var require_root = __commonJS({
+  "node_modules/lodash/_root.js"(exports2, module2) {
+    var freeGlobal = require_freeGlobal();
+    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
+    var root = freeGlobal || freeSelf || Function("return this")();
+    module2.exports = root;
+  }
+});
+
+// node_modules/lodash/_Symbol.js
+var require_Symbol = __commonJS({
+  "node_modules/lodash/_Symbol.js"(exports2, module2) {
+    var root = require_root();
+    var Symbol2 = root.Symbol;
+    module2.exports = Symbol2;
+  }
+});
+
+// node_modules/lodash/_getRawTag.js
+var require_getRawTag = __commonJS({
+  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var nativeObjectToString = objectProto.toString;
+    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
+    function getRawTag(value) {
+      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
+      try {
+        value[symToStringTag] = void 0;
+        var unmasked = true;
+      } catch (e) {
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUploadOptions = getUploadOptions;
-    exports2.getDownloadOptions = getDownloadOptions;
-    var core14 = __importStar2(require_core());
-    function getUploadOptions(copy) {
-      const result = {
-        useAzureSdk: false,
-        uploadConcurrency: 4,
-        uploadChunkSize: 32 * 1024 * 1024
-      };
-      if (copy) {
-        if (typeof copy.useAzureSdk === "boolean") {
-          result.useAzureSdk = copy.useAzureSdk;
-        }
-        if (typeof copy.uploadConcurrency === "number") {
-          result.uploadConcurrency = copy.uploadConcurrency;
-        }
-        if (typeof copy.uploadChunkSize === "number") {
-          result.uploadChunkSize = copy.uploadChunkSize;
+      var result = nativeObjectToString.call(value);
+      if (unmasked) {
+        if (isOwn) {
+          value[symToStringTag] = tag;
+        } else {
+          delete value[symToStringTag];
         }
       }
-      result.uploadConcurrency = !isNaN(Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) ? Math.min(32, Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) : result.uploadConcurrency;
-      result.uploadChunkSize = !isNaN(Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"])) ? Math.min(128 * 1024 * 1024, Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) * 1024 * 1024) : result.uploadChunkSize;
-      core14.debug(`Use Azure SDK: ${result.useAzureSdk}`);
-      core14.debug(`Upload concurrency: ${result.uploadConcurrency}`);
-      core14.debug(`Upload chunk size: ${result.uploadChunkSize}`);
       return result;
     }
-    function getDownloadOptions(copy) {
-      const result = {
-        useAzureSdk: false,
-        concurrentBlobDownloads: true,
-        downloadConcurrency: 8,
-        timeoutInMs: 3e4,
-        segmentTimeoutInMs: 6e5,
-        lookupOnly: false
-      };
-      if (copy) {
-        if (typeof copy.useAzureSdk === "boolean") {
-          result.useAzureSdk = copy.useAzureSdk;
-        }
-        if (typeof copy.concurrentBlobDownloads === "boolean") {
-          result.concurrentBlobDownloads = copy.concurrentBlobDownloads;
-        }
-        if (typeof copy.downloadConcurrency === "number") {
-          result.downloadConcurrency = copy.downloadConcurrency;
-        }
-        if (typeof copy.timeoutInMs === "number") {
-          result.timeoutInMs = copy.timeoutInMs;
-        }
-        if (typeof copy.segmentTimeoutInMs === "number") {
-          result.segmentTimeoutInMs = copy.segmentTimeoutInMs;
-        }
-        if (typeof copy.lookupOnly === "boolean") {
-          result.lookupOnly = copy.lookupOnly;
-        }
-      }
-      const segmentDownloadTimeoutMins = process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"];
-      if (segmentDownloadTimeoutMins && !isNaN(Number(segmentDownloadTimeoutMins)) && isFinite(Number(segmentDownloadTimeoutMins))) {
-        result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1e3;
-      }
-      core14.debug(`Use Azure SDK: ${result.useAzureSdk}`);
-      core14.debug(`Download concurrency: ${result.downloadConcurrency}`);
-      core14.debug(`Request timeout (ms): ${result.timeoutInMs}`);
-      core14.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`);
-      core14.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`);
-      core14.debug(`Lookup only: ${result.lookupOnly}`);
-      return result;
+    module2.exports = getRawTag;
+  }
+});
+
+// node_modules/lodash/_objectToString.js
+var require_objectToString = __commonJS({
+  "node_modules/lodash/_objectToString.js"(exports2, module2) {
+    var objectProto = Object.prototype;
+    var nativeObjectToString = objectProto.toString;
+    function objectToString(value) {
+      return nativeObjectToString.call(value);
     }
+    module2.exports = objectToString;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/config.js
-var require_config = __commonJS({
-  "node_modules/@actions/cache/lib/internal/config.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isGhes = isGhes;
-    exports2.getCacheServiceVersion = getCacheServiceVersion;
-    exports2.getCacheServiceURL = getCacheServiceURL;
-    function isGhes() {
-      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
-      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
-      const isGitHubHost = hostname === "GITHUB.COM";
-      const isGheHost = hostname.endsWith(".GHE.COM");
-      const isLocalHost = hostname.endsWith(".LOCALHOST");
-      return !isGitHubHost && !isGheHost && !isLocalHost;
+// node_modules/lodash/_baseGetTag.js
+var require_baseGetTag = __commonJS({
+  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var getRawTag = require_getRawTag();
+    var objectToString = require_objectToString();
+    var nullTag = "[object Null]";
+    var undefinedTag = "[object Undefined]";
+    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
+    function baseGetTag(value) {
+      if (value == null) {
+        return value === void 0 ? undefinedTag : nullTag;
+      }
+      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
     }
-    function getCacheServiceVersion() {
-      if (isGhes())
-        return "v1";
-      return process.env["ACTIONS_CACHE_SERVICE_V2"] ? "v2" : "v1";
+    module2.exports = baseGetTag;
+  }
+});
+
+// node_modules/lodash/isObject.js
+var require_isObject = __commonJS({
+  "node_modules/lodash/isObject.js"(exports2, module2) {
+    function isObject2(value) {
+      var type2 = typeof value;
+      return value != null && (type2 == "object" || type2 == "function");
     }
-    function getCacheServiceURL() {
-      const version = getCacheServiceVersion();
-      switch (version) {
-        case "v1":
-          return process.env["ACTIONS_CACHE_URL"] || process.env["ACTIONS_RESULTS_URL"] || "";
-        case "v2":
-          return process.env["ACTIONS_RESULTS_URL"] || "";
-        default:
-          throw new Error(`Unsupported cache service version: ${version}`);
+    module2.exports = isObject2;
+  }
+});
+
+// node_modules/lodash/isFunction.js
+var require_isFunction = __commonJS({
+  "node_modules/lodash/isFunction.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isObject2 = require_isObject();
+    var asyncTag = "[object AsyncFunction]";
+    var funcTag = "[object Function]";
+    var genTag = "[object GeneratorFunction]";
+    var proxyTag = "[object Proxy]";
+    function isFunction(value) {
+      if (!isObject2(value)) {
+        return false;
       }
+      var tag = baseGetTag(value);
+      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
     }
+    module2.exports = isFunction;
   }
 });
 
-// node_modules/@actions/cache/package.json
-var require_package2 = __commonJS({
-  "node_modules/@actions/cache/package.json"(exports2, module2) {
-    module2.exports = {
-      name: "@actions/cache",
-      version: "5.0.5",
-      preview: true,
-      description: "Actions cache lib",
-      keywords: [
-        "github",
-        "actions",
-        "cache"
-      ],
-      homepage: "https://github.com/actions/toolkit/tree/main/packages/cache",
-      license: "MIT",
-      main: "lib/cache.js",
-      types: "lib/cache.d.ts",
-      directories: {
-        lib: "lib",
-        test: "__tests__"
-      },
-      files: [
-        "lib",
-        "!.DS_Store"
-      ],
-      publishConfig: {
-        access: "public"
-      },
-      repository: {
-        type: "git",
-        url: "git+https://github.com/actions/toolkit.git",
-        directory: "packages/cache"
-      },
-      scripts: {
-        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
-        test: 'echo "Error: run tests from root" && exit 1',
-        tsc: "tsc"
-      },
-      bugs: {
-        url: "https://github.com/actions/toolkit/issues"
-      },
-      dependencies: {
-        "@actions/core": "^2.0.0",
-        "@actions/exec": "^2.0.0",
-        "@actions/glob": "^0.5.1",
-        "@protobuf-ts/runtime-rpc": "^2.11.1",
-        "@actions/http-client": "^3.0.2",
-        "@actions/io": "^2.0.0",
-        "@azure/abort-controller": "^1.1.0",
-        "@azure/core-rest-pipeline": "^1.22.0",
-        "@azure/storage-blob": "^12.29.1",
-        semver: "^6.3.1"
-      },
-      devDependencies: {
-        "@types/node": "^24.1.0",
-        "@types/semver": "^6.0.0",
-        "@protobuf-ts/plugin": "^2.9.4",
-        typescript: "^5.2.2"
-      },
-      overrides: {
-        "uri-js": "npm:uri-js-replace@^1.0.1",
-        "node-fetch": "^3.3.2"
-      }
-    };
+// node_modules/lodash/_coreJsData.js
+var require_coreJsData = __commonJS({
+  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
+    var root = require_root();
+    var coreJsData = root["__core-js_shared__"];
+    module2.exports = coreJsData;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/shared/user-agent.js
-var require_user_agent = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/user-agent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentString = getUserAgentString;
-    var packageJson = require_package2();
-    function getUserAgentString() {
-      return `@actions/cache-${packageJson.version}`;
+// node_modules/lodash/_isMasked.js
+var require_isMasked = __commonJS({
+  "node_modules/lodash/_isMasked.js"(exports2, module2) {
+    var coreJsData = require_coreJsData();
+    var maskSrcKey = (function() {
+      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
+      return uid ? "Symbol(src)_1." + uid : "";
+    })();
+    function isMasked(func) {
+      return !!maskSrcKey && maskSrcKey in func;
     }
+    module2.exports = isMasked;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/cacheHttpClient.js
-var require_cacheHttpClient = __commonJS({
-  "node_modules/@actions/cache/lib/internal/cacheHttpClient.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+// node_modules/lodash/_toSource.js
+var require_toSource = __commonJS({
+  "node_modules/lodash/_toSource.js"(exports2, module2) {
+    var funcProto = Function.prototype;
+    var funcToString = funcProto.toString;
+    function toSource(func) {
+      if (func != null) {
+        try {
+          return funcToString.call(func);
+        } catch (e) {
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        try {
+          return func + "";
+        } catch (e) {
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getCacheEntry = getCacheEntry;
-    exports2.downloadCache = downloadCache;
-    exports2.reserveCache = reserveCache;
-    exports2.saveCache = saveCache4;
-    var core14 = __importStar2(require_core());
-    var http_client_1 = require_lib();
-    var auth_1 = require_auth();
-    var fs3 = __importStar2(require("fs"));
-    var url_1 = require("url");
-    var utils = __importStar2(require_cacheUtils());
-    var uploadUtils_1 = require_uploadUtils();
-    var downloadUtils_1 = require_downloadUtils();
-    var options_1 = require_options();
-    var requestUtils_1 = require_requestUtils();
-    var config_1 = require_config();
-    var user_agent_1 = require_user_agent();
-    function getCacheApiUrl(resource) {
-      const baseUrl = (0, config_1.getCacheServiceURL)();
-      if (!baseUrl) {
-        throw new Error("Cache Service Url not found, unable to restore cache.");
       }
-      const url = `${baseUrl}_apis/artifactcache/${resource}`;
-      core14.debug(`Resource Url: ${url}`);
-      return url;
-    }
-    function createAcceptHeader(type2, apiVersion) {
-      return `${type2};api-version=${apiVersion}`;
-    }
-    function getRequestOptions() {
-      const requestOptions = {
-        headers: {
-          Accept: createAcceptHeader("application/json", "6.0-preview.1")
-        }
-      };
-      return requestOptions;
-    }
-    function createHttpClient() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"] || "";
-      const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token);
-      return new http_client_1.HttpClient((0, user_agent_1.getUserAgentString)(), [bearerCredentialHandler], getRequestOptions());
+      return "";
     }
-    function getCacheEntry(keys, paths, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const httpClient = createHttpClient();
-        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
-        const resource = `cache?keys=${encodeURIComponent(keys.join(","))}&version=${version}`;
-        const response = yield (0, requestUtils_1.retryTypedResponse)("getCacheEntry", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.getJson(getCacheApiUrl(resource));
-        }));
-        if (response.statusCode === 204) {
-          if (core14.isDebug()) {
-            yield printCachesListForDiagnostics(keys[0], httpClient, version);
-          }
-          return null;
-        }
-        if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) {
-          throw new Error(`Cache service responded with ${response.statusCode}`);
-        }
-        const cacheResult = response.result;
-        const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation;
-        if (!cacheDownloadUrl) {
-          throw new Error("Cache not found.");
-        }
-        core14.setSecret(cacheDownloadUrl);
-        core14.debug(`Cache Result:`);
-        core14.debug(JSON.stringify(cacheResult));
-        return cacheResult;
-      });
+    module2.exports = toSource;
+  }
+});
+
+// node_modules/lodash/_baseIsNative.js
+var require_baseIsNative = __commonJS({
+  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
+    var isFunction = require_isFunction();
+    var isMasked = require_isMasked();
+    var isObject2 = require_isObject();
+    var toSource = require_toSource();
+    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
+    var reIsHostCtor = /^\[object .+?Constructor\]$/;
+    var funcProto = Function.prototype;
+    var objectProto = Object.prototype;
+    var funcToString = funcProto.toString;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var reIsNative = RegExp(
+      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
+    );
+    function baseIsNative(value) {
+      if (!isObject2(value) || isMasked(value)) {
+        return false;
+      }
+      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
+      return pattern.test(toSource(value));
     }
-    function printCachesListForDiagnostics(key, httpClient, version) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const resource = `caches?key=${encodeURIComponent(key)}`;
-        const response = yield (0, requestUtils_1.retryTypedResponse)("listCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.getJson(getCacheApiUrl(resource));
-        }));
-        if (response.statusCode === 200) {
-          const cacheListResult = response.result;
-          const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount;
-          if (totalCount && totalCount > 0) {
-            core14.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key 
-Other caches with similar key:`);
-            for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) {
-              core14.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`);
-            }
-          }
-        }
-      });
+    module2.exports = baseIsNative;
+  }
+});
+
+// node_modules/lodash/_getValue.js
+var require_getValue = __commonJS({
+  "node_modules/lodash/_getValue.js"(exports2, module2) {
+    function getValue(object, key) {
+      return object == null ? void 0 : object[key];
     }
-    function downloadCache(archiveLocation, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const archiveUrl = new url_1.URL(archiveLocation);
-        const downloadOptions = (0, options_1.getDownloadOptions)(options);
-        if (archiveUrl.hostname.endsWith(".blob.core.windows.net")) {
-          if (downloadOptions.useAzureSdk) {
-            yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions);
-          } else if (downloadOptions.concurrentBlobDownloads) {
-            yield (0, downloadUtils_1.downloadCacheHttpClientConcurrent)(archiveLocation, archivePath, downloadOptions);
-          } else {
-            yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
+    module2.exports = getValue;
+  }
+});
+
+// node_modules/lodash/_getNative.js
+var require_getNative = __commonJS({
+  "node_modules/lodash/_getNative.js"(exports2, module2) {
+    var baseIsNative = require_baseIsNative();
+    var getValue = require_getValue();
+    function getNative(object, key) {
+      var value = getValue(object, key);
+      return baseIsNative(value) ? value : void 0;
+    }
+    module2.exports = getNative;
+  }
+});
+
+// node_modules/lodash/_defineProperty.js
+var require_defineProperty = __commonJS({
+  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var defineProperty = (function() {
+      try {
+        var func = getNative(Object, "defineProperty");
+        func({}, "", {});
+        return func;
+      } catch (e) {
+      }
+    })();
+    module2.exports = defineProperty;
+  }
+});
+
+// node_modules/lodash/_baseSetToString.js
+var require_baseSetToString = __commonJS({
+  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
+    var constant = require_constant();
+    var defineProperty = require_defineProperty();
+    var identity = require_identity();
+    var baseSetToString = !defineProperty ? identity : function(func, string) {
+      return defineProperty(func, "toString", {
+        "configurable": true,
+        "enumerable": false,
+        "value": constant(string),
+        "writable": true
+      });
+    };
+    module2.exports = baseSetToString;
+  }
+});
+
+// node_modules/lodash/_shortOut.js
+var require_shortOut = __commonJS({
+  "node_modules/lodash/_shortOut.js"(exports2, module2) {
+    var HOT_COUNT = 800;
+    var HOT_SPAN = 16;
+    var nativeNow = Date.now;
+    function shortOut(func) {
+      var count = 0, lastCalled = 0;
+      return function() {
+        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
+        lastCalled = stamp;
+        if (remaining > 0) {
+          if (++count >= HOT_COUNT) {
+            return arguments[0];
           }
         } else {
-          yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
+          count = 0;
         }
-      });
+        return func.apply(void 0, arguments);
+      };
     }
-    function reserveCache(key, paths, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const httpClient = createHttpClient();
-        const version = utils.getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
-        const reserveCacheRequest = {
-          key,
-          version,
-          cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize
-        };
-        const response = yield (0, requestUtils_1.retryTypedResponse)("reserveCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.postJson(getCacheApiUrl("caches"), reserveCacheRequest);
-        }));
-        return response;
-      });
+    module2.exports = shortOut;
+  }
+});
+
+// node_modules/lodash/_setToString.js
+var require_setToString = __commonJS({
+  "node_modules/lodash/_setToString.js"(exports2, module2) {
+    var baseSetToString = require_baseSetToString();
+    var shortOut = require_shortOut();
+    var setToString = shortOut(baseSetToString);
+    module2.exports = setToString;
+  }
+});
+
+// node_modules/lodash/_baseRest.js
+var require_baseRest = __commonJS({
+  "node_modules/lodash/_baseRest.js"(exports2, module2) {
+    var identity = require_identity();
+    var overRest = require_overRest();
+    var setToString = require_setToString();
+    function baseRest(func, start) {
+      return setToString(overRest(func, start, identity), func + "");
     }
-    function getContentRange(start, end) {
-      return `bytes ${start}-${end}/*`;
+    module2.exports = baseRest;
+  }
+});
+
+// node_modules/lodash/eq.js
+var require_eq2 = __commonJS({
+  "node_modules/lodash/eq.js"(exports2, module2) {
+    function eq(value, other) {
+      return value === other || value !== value && other !== other;
     }
-    function uploadChunk(httpClient, resourceUrl, openStream, start, end) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        core14.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`);
-        const additionalHeaders = {
-          "Content-Type": "application/octet-stream",
-          "Content-Range": getContentRange(start, end)
-        };
-        const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.sendStream("PATCH", resourceUrl, openStream(), additionalHeaders);
-        }));
-        if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) {
-          throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`);
-        }
-      });
+    module2.exports = eq;
+  }
+});
+
+// node_modules/lodash/isLength.js
+var require_isLength = __commonJS({
+  "node_modules/lodash/isLength.js"(exports2, module2) {
+    var MAX_SAFE_INTEGER = 9007199254740991;
+    function isLength(value) {
+      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
     }
-    function uploadFile(httpClient, cacheId, archivePath, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const fileSize = utils.getArchiveFileSizeInBytes(archivePath);
-        const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
-        const fd = fs3.openSync(archivePath, "r");
-        const uploadOptions = (0, options_1.getUploadOptions)(options);
-        const concurrency = utils.assertDefined("uploadConcurrency", uploadOptions.uploadConcurrency);
-        const maxChunkSize = utils.assertDefined("uploadChunkSize", uploadOptions.uploadChunkSize);
-        const parallelUploads = [...new Array(concurrency).keys()];
-        core14.debug("Awaiting all uploads");
-        let offset = 0;
-        try {
-          yield Promise.all(parallelUploads.map(() => __awaiter2(this, void 0, void 0, function* () {
-            while (offset < fileSize) {
-              const chunkSize = Math.min(fileSize - offset, maxChunkSize);
-              const start = offset;
-              const end = offset + chunkSize - 1;
-              offset += maxChunkSize;
-              yield uploadChunk(httpClient, resourceUrl, () => fs3.createReadStream(archivePath, {
-                fd,
-                start,
-                end,
-                autoClose: false
-              }).on("error", (error3) => {
-                throw new Error(`Cache upload failed because file read failed with ${error3.message}`);
-              }), start, end);
-            }
-          })));
-        } finally {
-          fs3.closeSync(fd);
-        }
-        return;
-      });
+    module2.exports = isLength;
+  }
+});
+
+// node_modules/lodash/isArrayLike.js
+var require_isArrayLike = __commonJS({
+  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
+    var isFunction = require_isFunction();
+    var isLength = require_isLength();
+    function isArrayLike(value) {
+      return value != null && isLength(value.length) && !isFunction(value);
     }
-    function commitCache(httpClient, cacheId, filesize) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const commitCacheRequest = { size: filesize };
-        return yield (0, requestUtils_1.retryTypedResponse)("commitCache", () => __awaiter2(this, void 0, void 0, function* () {
-          return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest);
-        }));
-      });
+    module2.exports = isArrayLike;
+  }
+});
+
+// node_modules/lodash/_isIndex.js
+var require_isIndex = __commonJS({
+  "node_modules/lodash/_isIndex.js"(exports2, module2) {
+    var MAX_SAFE_INTEGER = 9007199254740991;
+    var reIsUint = /^(?:0|[1-9]\d*)$/;
+    function isIndex(value, length) {
+      var type2 = typeof value;
+      length = length == null ? MAX_SAFE_INTEGER : length;
+      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
     }
-    function saveCache4(cacheId, archivePath, signedUploadURL, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const uploadOptions = (0, options_1.getUploadOptions)(options);
-        if (uploadOptions.useAzureSdk) {
-          if (!signedUploadURL) {
-            throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");
-          }
-          yield (0, uploadUtils_1.uploadCacheArchiveSDK)(signedUploadURL, archivePath, options);
-        } else {
-          const httpClient = createHttpClient();
-          core14.debug("Upload cache");
-          yield uploadFile(httpClient, cacheId, archivePath, options);
-          core14.debug("Commiting cache");
-          const cacheSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core14.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
-          const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
-          if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) {
-            throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`);
-          }
-          core14.info("Cache saved successfully");
-        }
-      });
+    module2.exports = isIndex;
+  }
+});
+
+// node_modules/lodash/_isIterateeCall.js
+var require_isIterateeCall = __commonJS({
+  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
+    var eq = require_eq2();
+    var isArrayLike = require_isArrayLike();
+    var isIndex = require_isIndex();
+    var isObject2 = require_isObject();
+    function isIterateeCall(value, index, object) {
+      if (!isObject2(object)) {
+        return false;
+      }
+      var type2 = typeof index;
+      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
+        return eq(object[index], value);
+      }
+      return false;
     }
+    module2.exports = isIterateeCall;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js
-var require_json_typings = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isJsonObject = exports2.typeofJsonValue = void 0;
-    function typeofJsonValue(value) {
-      let t = typeof value;
-      if (t == "object") {
-        if (Array.isArray(value))
-          return "array";
-        if (value === null)
-          return "null";
+// node_modules/lodash/_baseTimes.js
+var require_baseTimes = __commonJS({
+  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
+    function baseTimes(n, iteratee) {
+      var index = -1, result = Array(n);
+      while (++index < n) {
+        result[index] = iteratee(index);
       }
-      return t;
+      return result;
     }
-    exports2.typeofJsonValue = typeofJsonValue;
-    function isJsonObject(value) {
-      return value !== null && typeof value == "object" && !Array.isArray(value);
+    module2.exports = baseTimes;
+  }
+});
+
+// node_modules/lodash/isObjectLike.js
+var require_isObjectLike = __commonJS({
+  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
+    function isObjectLike(value) {
+      return value != null && typeof value == "object";
     }
-    exports2.isJsonObject = isJsonObject;
+    module2.exports = isObjectLike;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js
-var require_base642 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.base64encode = exports2.base64decode = void 0;
-    var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
-    var decTable = [];
-    for (let i = 0; i < encTable.length; i++)
-      decTable[encTable[i].charCodeAt(0)] = i;
-    decTable["-".charCodeAt(0)] = encTable.indexOf("+");
-    decTable["_".charCodeAt(0)] = encTable.indexOf("/");
-    function base64decode(base64Str) {
-      let es = base64Str.length * 3 / 4;
-      if (base64Str[base64Str.length - 2] == "=")
-        es -= 2;
-      else if (base64Str[base64Str.length - 1] == "=")
-        es -= 1;
-      let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0;
-      for (let i = 0; i < base64Str.length; i++) {
-        b = decTable[base64Str.charCodeAt(i)];
-        if (b === void 0) {
-          switch (base64Str[i]) {
-            case "=":
-              groupPos = 0;
-            // reset state when padding found
-            case "\n":
-            case "\r":
-            case "	":
-            case " ":
-              continue;
-            // skip white-space, and padding
-            default:
-              throw Error(`invalid base64 string.`);
-          }
-        }
-        switch (groupPos) {
-          case 0:
-            p = b;
-            groupPos = 1;
-            break;
-          case 1:
-            bytes[bytePos++] = p << 2 | (b & 48) >> 4;
-            p = b;
-            groupPos = 2;
-            break;
-          case 2:
-            bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2;
-            p = b;
-            groupPos = 3;
-            break;
-          case 3:
-            bytes[bytePos++] = (p & 3) << 6 | b;
-            groupPos = 0;
-            break;
-        }
-      }
-      if (groupPos == 1)
-        throw Error(`invalid base64 string.`);
-      return bytes.subarray(0, bytePos);
+// node_modules/lodash/_baseIsArguments.js
+var require_baseIsArguments = __commonJS({
+  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isObjectLike = require_isObjectLike();
+    var argsTag = "[object Arguments]";
+    function baseIsArguments(value) {
+      return isObjectLike(value) && baseGetTag(value) == argsTag;
     }
-    exports2.base64decode = base64decode;
-    function base64encode(bytes) {
-      let base64 = "", groupPos = 0, b, p = 0;
-      for (let i = 0; i < bytes.length; i++) {
-        b = bytes[i];
-        switch (groupPos) {
-          case 0:
-            base64 += encTable[b >> 2];
-            p = (b & 3) << 4;
-            groupPos = 1;
-            break;
-          case 1:
-            base64 += encTable[p | b >> 4];
-            p = (b & 15) << 2;
-            groupPos = 2;
-            break;
-          case 2:
-            base64 += encTable[p | b >> 6];
-            base64 += encTable[b & 63];
-            groupPos = 0;
-            break;
-        }
-      }
-      if (groupPos) {
-        base64 += encTable[p];
-        base64 += "=";
-        if (groupPos == 1)
-          base64 += "=";
-      }
-      return base64;
+    module2.exports = baseIsArguments;
+  }
+});
+
+// node_modules/lodash/isArguments.js
+var require_isArguments = __commonJS({
+  "node_modules/lodash/isArguments.js"(exports2, module2) {
+    var baseIsArguments = require_baseIsArguments();
+    var isObjectLike = require_isObjectLike();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
+    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
+      return arguments;
+    })()) ? baseIsArguments : function(value) {
+      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
+    };
+    module2.exports = isArguments;
+  }
+});
+
+// node_modules/lodash/isArray.js
+var require_isArray = __commonJS({
+  "node_modules/lodash/isArray.js"(exports2, module2) {
+    var isArray = Array.isArray;
+    module2.exports = isArray;
+  }
+});
+
+// node_modules/lodash/stubFalse.js
+var require_stubFalse = __commonJS({
+  "node_modules/lodash/stubFalse.js"(exports2, module2) {
+    function stubFalse() {
+      return false;
+    }
+    module2.exports = stubFalse;
+  }
+});
+
+// node_modules/lodash/isBuffer.js
+var require_isBuffer = __commonJS({
+  "node_modules/lodash/isBuffer.js"(exports2, module2) {
+    var root = require_root();
+    var stubFalse = require_stubFalse();
+    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
+    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
+    var moduleExports = freeModule && freeModule.exports === freeExports;
+    var Buffer2 = moduleExports ? root.Buffer : void 0;
+    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
+    var isBuffer = nativeIsBuffer || stubFalse;
+    module2.exports = isBuffer;
+  }
+});
+
+// node_modules/lodash/_baseIsTypedArray.js
+var require_baseIsTypedArray = __commonJS({
+  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isLength = require_isLength();
+    var isObjectLike = require_isObjectLike();
+    var argsTag = "[object Arguments]";
+    var arrayTag = "[object Array]";
+    var boolTag = "[object Boolean]";
+    var dateTag = "[object Date]";
+    var errorTag = "[object Error]";
+    var funcTag = "[object Function]";
+    var mapTag = "[object Map]";
+    var numberTag = "[object Number]";
+    var objectTag = "[object Object]";
+    var regexpTag = "[object RegExp]";
+    var setTag = "[object Set]";
+    var stringTag = "[object String]";
+    var weakMapTag = "[object WeakMap]";
+    var arrayBufferTag = "[object ArrayBuffer]";
+    var dataViewTag = "[object DataView]";
+    var float32Tag = "[object Float32Array]";
+    var float64Tag = "[object Float64Array]";
+    var int8Tag = "[object Int8Array]";
+    var int16Tag = "[object Int16Array]";
+    var int32Tag = "[object Int32Array]";
+    var uint8Tag = "[object Uint8Array]";
+    var uint8ClampedTag = "[object Uint8ClampedArray]";
+    var uint16Tag = "[object Uint16Array]";
+    var uint32Tag = "[object Uint32Array]";
+    var typedArrayTags = {};
+    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
+    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
+    function baseIsTypedArray(value) {
+      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
     }
-    exports2.base64encode = base64encode;
+    module2.exports = baseIsTypedArray;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js
-var require_protobufjs_utf8 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.utf8read = void 0;
-    var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk);
-    function utf8read(bytes) {
-      if (bytes.length < 1)
-        return "";
-      let pos = 0, parts = [], chunk = [], i = 0, t;
-      let len = bytes.length;
-      while (pos < len) {
-        t = bytes[pos++];
-        if (t < 128)
-          chunk[i++] = t;
-        else if (t > 191 && t < 224)
-          chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63;
-        else if (t > 239 && t < 365) {
-          t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536;
-          chunk[i++] = 55296 + (t >> 10);
-          chunk[i++] = 56320 + (t & 1023);
-        } else
-          chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63;
-        if (i > 8191) {
-          parts.push(fromCharCodes(chunk));
-          i = 0;
-        }
-      }
-      if (parts.length) {
-        if (i)
-          parts.push(fromCharCodes(chunk.slice(0, i)));
-        return parts.join("");
-      }
-      return fromCharCodes(chunk.slice(0, i));
+// node_modules/lodash/_baseUnary.js
+var require_baseUnary = __commonJS({
+  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
+    function baseUnary(func) {
+      return function(value) {
+        return func(value);
+      };
     }
-    exports2.utf8read = utf8read;
+    module2.exports = baseUnary;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js
-var require_binary_format_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
-    var UnknownFieldHandler;
-    (function(UnknownFieldHandler2) {
-      UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
-      UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
-        let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
-        container.push({ no: fieldNo, wireType, data });
-      };
-      UnknownFieldHandler2.onWrite = (typeName, message, writer) => {
-        for (let { no, wireType, data } of UnknownFieldHandler2.list(message))
-          writer.tag(no, wireType).raw(data);
-      };
-      UnknownFieldHandler2.list = (message, fieldNo) => {
-        if (is(message)) {
-          let all = message[UnknownFieldHandler2.symbol];
-          return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all;
+// node_modules/lodash/_nodeUtil.js
+var require_nodeUtil = __commonJS({
+  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
+    var freeGlobal = require_freeGlobal();
+    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
+    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
+    var moduleExports = freeModule && freeModule.exports === freeExports;
+    var freeProcess = moduleExports && freeGlobal.process;
+    var nodeUtil = (function() {
+      try {
+        var types = freeModule && freeModule.require && freeModule.require("util").types;
+        if (types) {
+          return types;
         }
-        return [];
-      };
-      UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0];
-      const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]);
-    })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {}));
-    function mergeBinaryOptions(a, b) {
-      return Object.assign(Object.assign({}, a), b);
-    }
-    exports2.mergeBinaryOptions = mergeBinaryOptions;
-    var WireType;
-    (function(WireType2) {
-      WireType2[WireType2["Varint"] = 0] = "Varint";
-      WireType2[WireType2["Bit64"] = 1] = "Bit64";
-      WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited";
-      WireType2[WireType2["StartGroup"] = 3] = "StartGroup";
-      WireType2[WireType2["EndGroup"] = 4] = "EndGroup";
-      WireType2[WireType2["Bit32"] = 5] = "Bit32";
-    })(WireType = exports2.WireType || (exports2.WireType = {}));
+        return freeProcess && freeProcess.binding && freeProcess.binding("util");
+      } catch (e) {
+      }
+    })();
+    module2.exports = nodeUtil;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js
-var require_goog_varint = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0;
-    function varint64read() {
-      let lowBits = 0;
-      let highBits = 0;
-      for (let shift = 0; shift < 28; shift += 7) {
-        let b = this.buf[this.pos++];
-        lowBits |= (b & 127) << shift;
-        if ((b & 128) == 0) {
-          this.assertBounds();
-          return [lowBits, highBits];
-        }
-      }
-      let middleByte = this.buf[this.pos++];
-      lowBits |= (middleByte & 15) << 28;
-      highBits = (middleByte & 112) >> 4;
-      if ((middleByte & 128) == 0) {
-        this.assertBounds();
-        return [lowBits, highBits];
-      }
-      for (let shift = 3; shift <= 31; shift += 7) {
-        let b = this.buf[this.pos++];
-        highBits |= (b & 127) << shift;
-        if ((b & 128) == 0) {
-          this.assertBounds();
-          return [lowBits, highBits];
-        }
-      }
-      throw new Error("invalid varint");
-    }
-    exports2.varint64read = varint64read;
-    function varint64write(lo, hi, bytes) {
-      for (let i = 0; i < 28; i = i + 7) {
-        const shift = lo >>> i;
-        const hasNext = !(shift >>> 7 == 0 && hi == 0);
-        const byte = (hasNext ? shift | 128 : shift) & 255;
-        bytes.push(byte);
-        if (!hasNext) {
-          return;
-        }
-      }
-      const splitBits = lo >>> 28 & 15 | (hi & 7) << 4;
-      const hasMoreBits = !(hi >> 3 == 0);
-      bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255);
-      if (!hasMoreBits) {
-        return;
-      }
-      for (let i = 3; i < 31; i = i + 7) {
-        const shift = hi >>> i;
-        const hasNext = !(shift >>> 7 == 0);
-        const byte = (hasNext ? shift | 128 : shift) & 255;
-        bytes.push(byte);
-        if (!hasNext) {
-          return;
-        }
-      }
-      bytes.push(hi >>> 31 & 1);
-    }
-    exports2.varint64write = varint64write;
-    var TWO_PWR_32_DBL = (1 << 16) * (1 << 16);
-    function int64fromString(dec) {
-      let minus = dec[0] == "-";
-      if (minus)
-        dec = dec.slice(1);
-      const base = 1e6;
-      let lowBits = 0;
-      let highBits = 0;
-      function add1e6digit(begin, end) {
-        const digit1e6 = Number(dec.slice(begin, end));
-        highBits *= base;
-        lowBits = lowBits * base + digit1e6;
-        if (lowBits >= TWO_PWR_32_DBL) {
-          highBits = highBits + (lowBits / TWO_PWR_32_DBL | 0);
-          lowBits = lowBits % TWO_PWR_32_DBL;
-        }
-      }
-      add1e6digit(-24, -18);
-      add1e6digit(-18, -12);
-      add1e6digit(-12, -6);
-      add1e6digit(-6);
-      return [minus, lowBits, highBits];
-    }
-    exports2.int64fromString = int64fromString;
-    function int64toString(bitsLow, bitsHigh) {
-      if (bitsHigh >>> 0 <= 2097151) {
-        return "" + (TWO_PWR_32_DBL * bitsHigh + (bitsLow >>> 0));
-      }
-      let low = bitsLow & 16777215;
-      let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215;
-      let high = bitsHigh >> 16 & 65535;
-      let digitA = low + mid * 6777216 + high * 6710656;
-      let digitB = mid + high * 8147497;
-      let digitC = high * 2;
-      let base = 1e7;
-      if (digitA >= base) {
-        digitB += Math.floor(digitA / base);
-        digitA %= base;
-      }
-      if (digitB >= base) {
-        digitC += Math.floor(digitB / base);
-        digitB %= base;
-      }
-      function decimalFrom1e7(digit1e7, needLeadingZeros) {
-        let partial = digit1e7 ? String(digit1e7) : "";
-        if (needLeadingZeros) {
-          return "0000000".slice(partial.length) + partial;
-        }
-        return partial;
-      }
-      return decimalFrom1e7(
-        digitC,
-        /*needLeadingZeros=*/
-        0
-      ) + decimalFrom1e7(
-        digitB,
-        /*needLeadingZeros=*/
-        digitC
-      ) + // If the final 1e7 digit didn't need leading zeros, we would have
-      // returned via the trivial code path at the top.
-      decimalFrom1e7(
-        digitA,
-        /*needLeadingZeros=*/
-        1
-      );
-    }
-    exports2.int64toString = int64toString;
-    function varint32write(value, bytes) {
-      if (value >= 0) {
-        while (value > 127) {
-          bytes.push(value & 127 | 128);
-          value = value >>> 7;
-        }
-        bytes.push(value);
-      } else {
-        for (let i = 0; i < 9; i++) {
-          bytes.push(value & 127 | 128);
-          value = value >> 7;
-        }
-        bytes.push(1);
-      }
-    }
-    exports2.varint32write = varint32write;
-    function varint32read() {
-      let b = this.buf[this.pos++];
-      let result = b & 127;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
-      }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 7;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
-      }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 14;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
-      }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 21;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
-      }
-      b = this.buf[this.pos++];
-      result |= (b & 15) << 28;
-      for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++)
-        b = this.buf[this.pos++];
-      if ((b & 128) != 0)
-        throw new Error("invalid varint");
-      this.assertBounds();
-      return result >>> 0;
-    }
-    exports2.varint32read = varint32read;
+// node_modules/lodash/isTypedArray.js
+var require_isTypedArray = __commonJS({
+  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
+    var baseIsTypedArray = require_baseIsTypedArray();
+    var baseUnary = require_baseUnary();
+    var nodeUtil = require_nodeUtil();
+    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
+    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
+    module2.exports = isTypedArray;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js
-var require_pb_long = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0;
-    var goog_varint_1 = require_goog_varint();
-    var BI;
-    function detectBi() {
-      const dv = new DataView(new ArrayBuffer(8));
-      const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function";
-      BI = ok ? {
-        MIN: BigInt("-9223372036854775808"),
-        MAX: BigInt("9223372036854775807"),
-        UMIN: BigInt("0"),
-        UMAX: BigInt("18446744073709551615"),
-        C: BigInt,
-        V: dv
-      } : void 0;
-    }
-    exports2.detectBi = detectBi;
-    detectBi();
-    function assertBi(bi) {
-      if (!bi)
-        throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support");
-    }
-    var RE_DECIMAL_STR = /^-?[0-9]+$/;
-    var TWO_PWR_32_DBL = 4294967296;
-    var HALF_2_PWR_32 = 2147483648;
-    var SharedPbLong = class {
-      /**
-       * Create a new instance with the given bits.
-       */
-      constructor(lo, hi) {
-        this.lo = lo | 0;
-        this.hi = hi | 0;
-      }
-      /**
-       * Is this instance equal to 0?
-       */
-      isZero() {
-        return this.lo == 0 && this.hi == 0;
-      }
-      /**
-       * Convert to a native number.
-       */
-      toNumber() {
-        let result = this.hi * TWO_PWR_32_DBL + (this.lo >>> 0);
-        if (!Number.isSafeInteger(result))
-          throw new Error("cannot convert to safe number");
-        return result;
-      }
-    };
-    var PbULong = class _PbULong extends SharedPbLong {
-      /**
-       * Create instance from a `string`, `number` or `bigint`.
-       */
-      static from(value) {
-        if (BI)
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              if (value == "")
-                throw new Error("string is no integer");
-              value = BI.C(value);
-            case "number":
-              if (value === 0)
-                return this.ZERO;
-              value = BI.C(value);
-            case "bigint":
-              if (!value)
-                return this.ZERO;
-              if (value < BI.UMIN)
-                throw new Error("signed value for ulong");
-              if (value > BI.UMAX)
-                throw new Error("ulong too large");
-              BI.V.setBigUint64(0, value, true);
-              return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
-          }
-        else
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              value = value.trim();
-              if (!RE_DECIMAL_STR.test(value))
-                throw new Error("string is no integer");
-              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
-              if (minus)
-                throw new Error("signed value for ulong");
-              return new _PbULong(lo, hi);
-            case "number":
-              if (value == 0)
-                return this.ZERO;
-              if (!Number.isSafeInteger(value))
-                throw new Error("number is no integer");
-              if (value < 0)
-                throw new Error("signed value for ulong");
-              return new _PbULong(value, value / TWO_PWR_32_DBL);
-          }
-        throw new Error("unknown value " + typeof value);
-      }
-      /**
-       * Convert to decimal string.
-       */
-      toString() {
-        return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi);
-      }
-      /**
-       * Convert to native bigint.
-       */
-      toBigInt() {
-        assertBi(BI);
-        BI.V.setInt32(0, this.lo, true);
-        BI.V.setInt32(4, this.hi, true);
-        return BI.V.getBigUint64(0, true);
-      }
-    };
-    exports2.PbULong = PbULong;
-    PbULong.ZERO = new PbULong(0, 0);
-    var PbLong = class _PbLong extends SharedPbLong {
-      /**
-       * Create instance from a `string`, `number` or `bigint`.
-       */
-      static from(value) {
-        if (BI)
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              if (value == "")
-                throw new Error("string is no integer");
-              value = BI.C(value);
-            case "number":
-              if (value === 0)
-                return this.ZERO;
-              value = BI.C(value);
-            case "bigint":
-              if (!value)
-                return this.ZERO;
-              if (value < BI.MIN)
-                throw new Error("signed long too small");
-              if (value > BI.MAX)
-                throw new Error("signed long too large");
-              BI.V.setBigInt64(0, value, true);
-              return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
-          }
-        else
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              value = value.trim();
-              if (!RE_DECIMAL_STR.test(value))
-                throw new Error("string is no integer");
-              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
-              if (minus) {
-                if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0)
-                  throw new Error("signed long too small");
-              } else if (hi >= HALF_2_PWR_32)
-                throw new Error("signed long too large");
-              let pbl = new _PbLong(lo, hi);
-              return minus ? pbl.negate() : pbl;
-            case "number":
-              if (value == 0)
-                return this.ZERO;
-              if (!Number.isSafeInteger(value))
-                throw new Error("number is no integer");
-              return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL) : new _PbLong(-value, -value / TWO_PWR_32_DBL).negate();
-          }
-        throw new Error("unknown value " + typeof value);
-      }
-      /**
-       * Do we have a minus sign?
-       */
-      isNegative() {
-        return (this.hi & HALF_2_PWR_32) !== 0;
-      }
-      /**
-       * Negate two's complement.
-       * Invert all the bits and add one to the result.
-       */
-      negate() {
-        let hi = ~this.hi, lo = this.lo;
-        if (lo)
-          lo = ~lo + 1;
-        else
-          hi += 1;
-        return new _PbLong(lo, hi);
-      }
-      /**
-       * Convert to decimal string.
-       */
-      toString() {
-        if (BI)
-          return this.toBigInt().toString();
-        if (this.isNegative()) {
-          let n = this.negate();
-          return "-" + goog_varint_1.int64toString(n.lo, n.hi);
+// node_modules/lodash/_arrayLikeKeys.js
+var require_arrayLikeKeys = __commonJS({
+  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
+    var baseTimes = require_baseTimes();
+    var isArguments = require_isArguments();
+    var isArray = require_isArray();
+    var isBuffer = require_isBuffer();
+    var isIndex = require_isIndex();
+    var isTypedArray = require_isTypedArray();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function arrayLikeKeys(value, inherited) {
+      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
+      for (var key in value) {
+        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
+        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
+        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
+        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
+        isIndex(key, length)))) {
+          result.push(key);
         }
-        return goog_varint_1.int64toString(this.lo, this.hi);
-      }
-      /**
-       * Convert to native bigint.
-       */
-      toBigInt() {
-        assertBi(BI);
-        BI.V.setInt32(0, this.lo, true);
-        BI.V.setInt32(4, this.hi, true);
-        return BI.V.getBigInt64(0, true);
       }
-    };
-    exports2.PbLong = PbLong;
-    PbLong.ZERO = new PbLong(0, 0);
+      return result;
+    }
+    module2.exports = arrayLikeKeys;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js
-var require_binary_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BinaryReader = exports2.binaryReadOptions = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var pb_long_1 = require_pb_long();
-    var goog_varint_1 = require_goog_varint();
-    var defaultsRead = {
-      readUnknownField: true,
-      readerFactory: (bytes) => new BinaryReader(bytes)
-    };
-    function binaryReadOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+// node_modules/lodash/_isPrototype.js
+var require_isPrototype = __commonJS({
+  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
+    var objectProto = Object.prototype;
+    function isPrototype(value) {
+      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
+      return value === proto;
     }
-    exports2.binaryReadOptions = binaryReadOptions;
-    var BinaryReader = class {
-      constructor(buf, textDecoder) {
-        this.varint64 = goog_varint_1.varint64read;
-        this.uint32 = goog_varint_1.varint32read;
-        this.buf = buf;
-        this.len = buf.length;
-        this.pos = 0;
-        this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
-        this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", {
-          fatal: true,
-          ignoreBOM: true
-        });
-      }
-      /**
-       * Reads a tag - field number and wire type.
-       */
-      tag() {
-        let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;
-        if (fieldNo <= 0 || wireType < 0 || wireType > 5)
-          throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType);
-        return [fieldNo, wireType];
-      }
-      /**
-       * Skip one element on the wire and return the skipped data.
-       * Supports WireType.StartGroup since v2.0.0-alpha.23.
-       */
-      skip(wireType) {
-        let start = this.pos;
-        switch (wireType) {
-          case binary_format_contract_1.WireType.Varint:
-            while (this.buf[this.pos++] & 128) {
-            }
-            break;
-          case binary_format_contract_1.WireType.Bit64:
-            this.pos += 4;
-          case binary_format_contract_1.WireType.Bit32:
-            this.pos += 4;
-            break;
-          case binary_format_contract_1.WireType.LengthDelimited:
-            let len = this.uint32();
-            this.pos += len;
-            break;
-          case binary_format_contract_1.WireType.StartGroup:
-            let t;
-            while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) {
-              this.skip(t);
-            }
-            break;
-          default:
-            throw new Error("cant skip wire type " + wireType);
+    module2.exports = isPrototype;
+  }
+});
+
+// node_modules/lodash/_nativeKeysIn.js
+var require_nativeKeysIn = __commonJS({
+  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
+    function nativeKeysIn(object) {
+      var result = [];
+      if (object != null) {
+        for (var key in Object(object)) {
+          result.push(key);
         }
-        this.assertBounds();
-        return this.buf.subarray(start, this.pos);
-      }
-      /**
-       * Throws error if position in byte array is out of range.
-       */
-      assertBounds() {
-        if (this.pos > this.len)
-          throw new RangeError("premature EOF");
-      }
-      /**
-       * Read a `int32` field, a signed 32 bit varint.
-       */
-      int32() {
-        return this.uint32() | 0;
-      }
-      /**
-       * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.
-       */
-      sint32() {
-        let zze = this.uint32();
-        return zze >>> 1 ^ -(zze & 1);
-      }
-      /**
-       * Read a `int64` field, a signed 64-bit varint.
-       */
-      int64() {
-        return new pb_long_1.PbLong(...this.varint64());
-      }
-      /**
-       * Read a `uint64` field, an unsigned 64-bit varint.
-       */
-      uint64() {
-        return new pb_long_1.PbULong(...this.varint64());
-      }
-      /**
-       * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.
-       */
-      sint64() {
-        let [lo, hi] = this.varint64();
-        let s = -(lo & 1);
-        lo = (lo >>> 1 | (hi & 1) << 31) ^ s;
-        hi = hi >>> 1 ^ s;
-        return new pb_long_1.PbLong(lo, hi);
-      }
-      /**
-       * Read a `bool` field, a variant.
-       */
-      bool() {
-        let [lo, hi] = this.varint64();
-        return lo !== 0 || hi !== 0;
-      }
-      /**
-       * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.
-       */
-      fixed32() {
-        return this.view.getUint32((this.pos += 4) - 4, true);
       }
-      /**
-       * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.
-       */
-      sfixed32() {
-        return this.view.getInt32((this.pos += 4) - 4, true);
-      }
-      /**
-       * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.
-       */
-      fixed64() {
-        return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32());
-      }
-      /**
-       * Read a `fixed64` field, a signed, fixed-length 64-bit integer.
-       */
-      sfixed64() {
-        return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32());
-      }
-      /**
-       * Read a `float` field, 32-bit floating point number.
-       */
-      float() {
-        return this.view.getFloat32((this.pos += 4) - 4, true);
+      return result;
+    }
+    module2.exports = nativeKeysIn;
+  }
+});
+
+// node_modules/lodash/_baseKeysIn.js
+var require_baseKeysIn = __commonJS({
+  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
+    var isObject2 = require_isObject();
+    var isPrototype = require_isPrototype();
+    var nativeKeysIn = require_nativeKeysIn();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function baseKeysIn(object) {
+      if (!isObject2(object)) {
+        return nativeKeysIn(object);
       }
-      /**
-       * Read a `double` field, a 64-bit floating point number.
-       */
-      double() {
-        return this.view.getFloat64((this.pos += 8) - 8, true);
+      var isProto = isPrototype(object), result = [];
+      for (var key in object) {
+        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
+          result.push(key);
+        }
       }
-      /**
-       * Read a `bytes` field, length-delimited arbitrary data.
-       */
-      bytes() {
-        let len = this.uint32();
-        let start = this.pos;
-        this.pos += len;
-        this.assertBounds();
-        return this.buf.subarray(start, start + len);
+      return result;
+    }
+    module2.exports = baseKeysIn;
+  }
+});
+
+// node_modules/lodash/keysIn.js
+var require_keysIn = __commonJS({
+  "node_modules/lodash/keysIn.js"(exports2, module2) {
+    var arrayLikeKeys = require_arrayLikeKeys();
+    var baseKeysIn = require_baseKeysIn();
+    var isArrayLike = require_isArrayLike();
+    function keysIn(object) {
+      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
+    }
+    module2.exports = keysIn;
+  }
+});
+
+// node_modules/lodash/defaults.js
+var require_defaults = __commonJS({
+  "node_modules/lodash/defaults.js"(exports2, module2) {
+    var baseRest = require_baseRest();
+    var eq = require_eq2();
+    var isIterateeCall = require_isIterateeCall();
+    var keysIn = require_keysIn();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var defaults = baseRest(function(object, sources) {
+      object = Object(object);
+      var index = -1;
+      var length = sources.length;
+      var guard = length > 2 ? sources[2] : void 0;
+      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
+        length = 1;
       }
-      /**
-       * Read a `string` field, length-delimited data converted to UTF-8 text.
-       */
-      string() {
-        return this.textDecoder.decode(this.bytes());
+      while (++index < length) {
+        var source = sources[index];
+        var props = keysIn(source);
+        var propsIndex = -1;
+        var propsLength = props.length;
+        while (++propsIndex < propsLength) {
+          var key = props[propsIndex];
+          var value = object[key];
+          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
+            object[key] = source[key];
+          }
+        }
       }
-    };
-    exports2.BinaryReader = BinaryReader;
+      return object;
+    });
+    module2.exports = defaults;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js
-var require_assert = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) {
+// node_modules/readable-stream/lib/ours/primordials.js
+var require_primordials = __commonJS({
+  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0;
-    function assert(condition, msg) {
-      if (!condition) {
-        throw new Error(msg);
-      }
-    }
-    exports2.assert = assert;
-    function assertNever2(value, msg) {
-      throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value);
-    }
-    exports2.assertNever = assertNever2;
-    var FLOAT32_MAX = 34028234663852886e22;
-    var FLOAT32_MIN = -34028234663852886e22;
-    var UINT32_MAX = 4294967295;
-    var INT32_MAX = 2147483647;
-    var INT32_MIN = -2147483648;
-    function assertInt32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid int 32: " + typeof arg);
-      if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)
-        throw new Error("invalid int 32: " + arg);
-    }
-    exports2.assertInt32 = assertInt32;
-    function assertUInt32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid uint 32: " + typeof arg);
-      if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)
-        throw new Error("invalid uint 32: " + arg);
-    }
-    exports2.assertUInt32 = assertUInt32;
-    function assertFloat32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid float 32: " + typeof arg);
-      if (!Number.isFinite(arg))
-        return;
-      if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)
-        throw new Error("invalid float 32: " + arg);
-    }
-    exports2.assertFloat32 = assertFloat32;
+    module2.exports = {
+      ArrayIsArray(self2) {
+        return Array.isArray(self2);
+      },
+      ArrayPrototypeIncludes(self2, el) {
+        return self2.includes(el);
+      },
+      ArrayPrototypeIndexOf(self2, el) {
+        return self2.indexOf(el);
+      },
+      ArrayPrototypeJoin(self2, sep3) {
+        return self2.join(sep3);
+      },
+      ArrayPrototypeMap(self2, fn) {
+        return self2.map(fn);
+      },
+      ArrayPrototypePop(self2, el) {
+        return self2.pop(el);
+      },
+      ArrayPrototypePush(self2, el) {
+        return self2.push(el);
+      },
+      ArrayPrototypeSlice(self2, start, end) {
+        return self2.slice(start, end);
+      },
+      Error,
+      FunctionPrototypeCall(fn, thisArgs, ...args) {
+        return fn.call(thisArgs, ...args);
+      },
+      FunctionPrototypeSymbolHasInstance(self2, instance) {
+        return Function.prototype[Symbol.hasInstance].call(self2, instance);
+      },
+      MathFloor: Math.floor,
+      Number,
+      NumberIsInteger: Number.isInteger,
+      NumberIsNaN: Number.isNaN,
+      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
+      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
+      NumberParseInt: Number.parseInt,
+      ObjectDefineProperties(self2, props) {
+        return Object.defineProperties(self2, props);
+      },
+      ObjectDefineProperty(self2, name, prop) {
+        return Object.defineProperty(self2, name, prop);
+      },
+      ObjectGetOwnPropertyDescriptor(self2, name) {
+        return Object.getOwnPropertyDescriptor(self2, name);
+      },
+      ObjectKeys(obj) {
+        return Object.keys(obj);
+      },
+      ObjectSetPrototypeOf(target, proto) {
+        return Object.setPrototypeOf(target, proto);
+      },
+      Promise,
+      PromisePrototypeCatch(self2, fn) {
+        return self2.catch(fn);
+      },
+      PromisePrototypeThen(self2, thenFn, catchFn) {
+        return self2.then(thenFn, catchFn);
+      },
+      PromiseReject(err) {
+        return Promise.reject(err);
+      },
+      PromiseResolve(val) {
+        return Promise.resolve(val);
+      },
+      ReflectApply: Reflect.apply,
+      RegExpPrototypeTest(self2, value) {
+        return self2.test(value);
+      },
+      SafeSet: Set,
+      String,
+      StringPrototypeSlice(self2, start, end) {
+        return self2.slice(start, end);
+      },
+      StringPrototypeToLowerCase(self2) {
+        return self2.toLowerCase();
+      },
+      StringPrototypeToUpperCase(self2) {
+        return self2.toUpperCase();
+      },
+      StringPrototypeTrim(self2) {
+        return self2.trim();
+      },
+      Symbol,
+      SymbolFor: Symbol.for,
+      SymbolAsyncIterator: Symbol.asyncIterator,
+      SymbolHasInstance: Symbol.hasInstance,
+      SymbolIterator: Symbol.iterator,
+      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
+      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
+      TypedArrayPrototypeSet(self2, buf, len) {
+        return self2.set(buf, len);
+      },
+      Boolean,
+      Uint8Array
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js
-var require_binary_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) {
+// node_modules/event-target-shim/dist/event-target-shim.js
+var require_event_target_shim = __commonJS({
+  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BinaryWriter = exports2.binaryWriteOptions = void 0;
-    var pb_long_1 = require_pb_long();
-    var goog_varint_1 = require_goog_varint();
-    var assert_1 = require_assert();
-    var defaultsWrite = {
-      writeUnknownFields: true,
-      writerFactory: () => new BinaryWriter()
-    };
-    function binaryWriteOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    var privateData = /* @__PURE__ */ new WeakMap();
+    var wrappers = /* @__PURE__ */ new WeakMap();
+    function pd(event) {
+      const retv = privateData.get(event);
+      console.assert(
+        retv != null,
+        "'this' is expected an Event object, but got",
+        event
+      );
+      return retv;
     }
-    exports2.binaryWriteOptions = binaryWriteOptions;
-    var BinaryWriter = class {
-      constructor(textEncoder) {
-        this.stack = [];
-        this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();
-        this.chunks = [];
-        this.buf = [];
-      }
-      /**
-       * Return all bytes written and reset this writer.
-       */
-      finish() {
-        this.chunks.push(new Uint8Array(this.buf));
-        let len = 0;
-        for (let i = 0; i < this.chunks.length; i++)
-          len += this.chunks[i].length;
-        let bytes = new Uint8Array(len);
-        let offset = 0;
-        for (let i = 0; i < this.chunks.length; i++) {
-          bytes.set(this.chunks[i], offset);
-          offset += this.chunks[i].length;
+    function setCancelFlag(data) {
+      if (data.passiveListener != null) {
+        if (typeof console !== "undefined" && typeof console.error === "function") {
+          console.error(
+            "Unable to preventDefault inside passive event listener invocation.",
+            data.passiveListener
+          );
         }
-        this.chunks = [];
-        return bytes;
+        return;
       }
-      /**
-       * Start a new fork for length-delimited data like a message
-       * or a packed repeated field.
-       *
-       * Must be joined later with `join()`.
-       */
-      fork() {
-        this.stack.push({ chunks: this.chunks, buf: this.buf });
-        this.chunks = [];
-        this.buf = [];
-        return this;
+      if (!data.event.cancelable) {
+        return;
+      }
+      data.canceled = true;
+      if (typeof data.event.preventDefault === "function") {
+        data.event.preventDefault();
+      }
+    }
+    function Event2(eventTarget, event) {
+      privateData.set(this, {
+        eventTarget,
+        event,
+        eventPhase: 2,
+        currentTarget: eventTarget,
+        canceled: false,
+        stopped: false,
+        immediateStopped: false,
+        passiveListener: null,
+        timeStamp: event.timeStamp || Date.now()
+      });
+      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
+      const keys = Object.keys(event);
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        if (!(key in this)) {
+          Object.defineProperty(this, key, defineRedirectDescriptor(key));
+        }
       }
+    }
+    Event2.prototype = {
       /**
-       * Join the last fork. Write its length and bytes, then
-       * return to the previous state.
+       * The type of this event.
+       * @type {string}
        */
-      join() {
-        let chunk = this.finish();
-        let prev = this.stack.pop();
-        if (!prev)
-          throw new Error("invalid state, fork stack empty");
-        this.chunks = prev.chunks;
-        this.buf = prev.buf;
-        this.uint32(chunk.byteLength);
-        return this.raw(chunk);
-      }
+      get type() {
+        return pd(this).event.type;
+      },
       /**
-       * Writes a tag (field number and wire type).
-       *
-       * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.
-       *
-       * Generated code should compute the tag ahead of time and call `uint32()`.
+       * The target of this event.
+       * @type {EventTarget}
        */
-      tag(fieldNo, type2) {
-        return this.uint32((fieldNo << 3 | type2) >>> 0);
-      }
+      get target() {
+        return pd(this).eventTarget;
+      },
       /**
-       * Write a chunk of raw bytes.
+       * The target of this event.
+       * @type {EventTarget}
        */
-      raw(chunk) {
-        if (this.buf.length) {
-          this.chunks.push(new Uint8Array(this.buf));
-          this.buf = [];
-        }
-        this.chunks.push(chunk);
-        return this;
-      }
+      get currentTarget() {
+        return pd(this).currentTarget;
+      },
       /**
-       * Write a `uint32` value, an unsigned 32 bit varint.
+       * @returns {EventTarget[]} The composed path of this event.
        */
-      uint32(value) {
-        assert_1.assertUInt32(value);
-        while (value > 127) {
-          this.buf.push(value & 127 | 128);
-          value = value >>> 7;
+      composedPath() {
+        const currentTarget = pd(this).currentTarget;
+        if (currentTarget == null) {
+          return [];
         }
-        this.buf.push(value);
-        return this;
-      }
-      /**
-       * Write a `int32` value, a signed 32 bit varint.
-       */
-      int32(value) {
-        assert_1.assertInt32(value);
-        goog_varint_1.varint32write(value, this.buf);
-        return this;
-      }
-      /**
-       * Write a `bool` value, a variant.
-       */
-      bool(value) {
-        this.buf.push(value ? 1 : 0);
-        return this;
-      }
+        return [currentTarget];
+      },
       /**
-       * Write a `bytes` value, length-delimited arbitrary data.
+       * Constant of NONE.
+       * @type {number}
        */
-      bytes(value) {
-        this.uint32(value.byteLength);
-        return this.raw(value);
-      }
+      get NONE() {
+        return 0;
+      },
       /**
-       * Write a `string` value, length-delimited data converted to UTF-8 text.
+       * Constant of CAPTURING_PHASE.
+       * @type {number}
        */
-      string(value) {
-        let chunk = this.textEncoder.encode(value);
-        this.uint32(chunk.byteLength);
-        return this.raw(chunk);
-      }
+      get CAPTURING_PHASE() {
+        return 1;
+      },
       /**
-       * Write a `float` value, 32-bit floating point number.
+       * Constant of AT_TARGET.
+       * @type {number}
        */
-      float(value) {
-        assert_1.assertFloat32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setFloat32(0, value, true);
-        return this.raw(chunk);
-      }
+      get AT_TARGET() {
+        return 2;
+      },
       /**
-       * Write a `double` value, a 64-bit floating point number.
+       * Constant of BUBBLING_PHASE.
+       * @type {number}
        */
-      double(value) {
-        let chunk = new Uint8Array(8);
-        new DataView(chunk.buffer).setFloat64(0, value, true);
-        return this.raw(chunk);
-      }
+      get BUBBLING_PHASE() {
+        return 3;
+      },
       /**
-       * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
+       * The target of this event.
+       * @type {number}
        */
-      fixed32(value) {
-        assert_1.assertUInt32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setUint32(0, value, true);
-        return this.raw(chunk);
-      }
+      get eventPhase() {
+        return pd(this).eventPhase;
+      },
       /**
-       * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
+       * Stop event bubbling.
+       * @returns {void}
        */
-      sfixed32(value) {
-        assert_1.assertInt32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setInt32(0, value, true);
-        return this.raw(chunk);
-      }
+      stopPropagation() {
+        const data = pd(this);
+        data.stopped = true;
+        if (typeof data.event.stopPropagation === "function") {
+          data.event.stopPropagation();
+        }
+      },
       /**
-       * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
+       * Stop event bubbling.
+       * @returns {void}
        */
-      sint32(value) {
-        assert_1.assertInt32(value);
-        value = (value << 1 ^ value >> 31) >>> 0;
-        goog_varint_1.varint32write(value, this.buf);
-        return this;
-      }
+      stopImmediatePropagation() {
+        const data = pd(this);
+        data.stopped = true;
+        data.immediateStopped = true;
+        if (typeof data.event.stopImmediatePropagation === "function") {
+          data.event.stopImmediatePropagation();
+        }
+      },
       /**
-       * Write a `fixed64` value, a signed, fixed-length 64-bit integer.
+       * The flag to be bubbling.
+       * @type {boolean}
        */
-      sfixed64(value) {
-        let chunk = new Uint8Array(8);
-        let view = new DataView(chunk.buffer);
-        let long = pb_long_1.PbLong.from(value);
-        view.setInt32(0, long.lo, true);
-        view.setInt32(4, long.hi, true);
-        return this.raw(chunk);
-      }
+      get bubbles() {
+        return Boolean(pd(this).event.bubbles);
+      },
       /**
-       * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.
+       * The flag to be cancelable.
+       * @type {boolean}
        */
-      fixed64(value) {
-        let chunk = new Uint8Array(8);
-        let view = new DataView(chunk.buffer);
-        let long = pb_long_1.PbULong.from(value);
-        view.setInt32(0, long.lo, true);
-        view.setInt32(4, long.hi, true);
-        return this.raw(chunk);
-      }
+      get cancelable() {
+        return Boolean(pd(this).event.cancelable);
+      },
       /**
-       * Write a `int64` value, a signed 64-bit varint.
+       * Cancel this event.
+       * @returns {void}
        */
-      int64(value) {
-        let long = pb_long_1.PbLong.from(value);
-        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
-        return this;
-      }
+      preventDefault() {
+        setCancelFlag(pd(this));
+      },
       /**
-       * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.
+       * The flag to indicate cancellation state.
+       * @type {boolean}
        */
-      sint64(value) {
-        let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign;
-        goog_varint_1.varint64write(lo, hi, this.buf);
-        return this;
-      }
+      get defaultPrevented() {
+        return pd(this).canceled;
+      },
       /**
-       * Write a `uint64` value, an unsigned 64-bit varint.
+       * The flag to be composed.
+       * @type {boolean}
        */
-      uint64(value) {
-        let long = pb_long_1.PbULong.from(value);
-        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
-        return this;
-      }
-    };
-    exports2.BinaryWriter = BinaryWriter;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js
-var require_json_format_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0;
-    var defaultsWrite = {
-      emitDefaultValues: false,
-      enumAsInteger: false,
-      useProtoFieldName: false,
-      prettySpaces: 0
-    };
-    var defaultsRead = {
-      ignoreUnknownFields: false
-    };
-    function jsonReadOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
-    }
-    exports2.jsonReadOptions = jsonReadOptions;
-    function jsonWriteOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
-    }
-    exports2.jsonWriteOptions = jsonWriteOptions;
-    function mergeJsonOptions(a, b) {
-      var _a, _b;
-      let c = Object.assign(Object.assign({}, a), b);
-      c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []];
-      return c;
-    }
-    exports2.mergeJsonOptions = mergeJsonOptions;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js
-var require_message_type_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MESSAGE_TYPE = void 0;
-    exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js
-var require_lower_camel_case = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.lowerCamelCase = void 0;
-    function lowerCamelCase(snakeCase) {
-      let capNext = false;
-      const sb = [];
-      for (let i = 0; i < snakeCase.length; i++) {
-        let next = snakeCase.charAt(i);
-        if (next == "_") {
-          capNext = true;
-        } else if (/\d/.test(next)) {
-          sb.push(next);
-          capNext = true;
-        } else if (capNext) {
-          sb.push(next.toUpperCase());
-          capNext = false;
-        } else if (i == 0) {
-          sb.push(next.toLowerCase());
-        } else {
-          sb.push(next);
-        }
-      }
-      return sb.join("");
-    }
-    exports2.lowerCamelCase = lowerCamelCase;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js
-var require_reflection_info = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0;
-    var lower_camel_case_1 = require_lower_camel_case();
-    var ScalarType;
-    (function(ScalarType2) {
-      ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE";
-      ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT";
-      ScalarType2[ScalarType2["INT64"] = 3] = "INT64";
-      ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64";
-      ScalarType2[ScalarType2["INT32"] = 5] = "INT32";
-      ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64";
-      ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32";
-      ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL";
-      ScalarType2[ScalarType2["STRING"] = 9] = "STRING";
-      ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES";
-      ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32";
-      ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32";
-      ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64";
-      ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32";
-      ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64";
-    })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {}));
-    var LongType;
-    (function(LongType2) {
-      LongType2[LongType2["BIGINT"] = 0] = "BIGINT";
-      LongType2[LongType2["STRING"] = 1] = "STRING";
-      LongType2[LongType2["NUMBER"] = 2] = "NUMBER";
-    })(LongType = exports2.LongType || (exports2.LongType = {}));
-    var RepeatType;
-    (function(RepeatType2) {
-      RepeatType2[RepeatType2["NO"] = 0] = "NO";
-      RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED";
-      RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED";
-    })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {}));
-    function normalizeFieldInfo(field) {
-      var _a, _b, _c, _d;
-      field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name);
-      field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name);
-      field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO;
-      field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message";
-      return field;
-    }
-    exports2.normalizeFieldInfo = normalizeFieldInfo;
-    function readFieldOptions(messageType, fieldName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
-      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
-    }
-    exports2.readFieldOptions = readFieldOptions;
-    function readFieldOption(messageType, fieldName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
-      if (!options) {
-        return void 0;
-      }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
-      }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
-    }
-    exports2.readFieldOption = readFieldOption;
-    function readMessageOption(messageType, extensionName, extensionType) {
-      const options = messageType.options;
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
-      }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
-    }
-    exports2.readMessageOption = readMessageOption;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js
-var require_oneof = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0;
-    function isOneofGroup(any) {
-      if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) {
-        return false;
-      }
-      switch (typeof any.oneofKind) {
-        case "string":
-          if (any[any.oneofKind] === void 0)
-            return false;
-          return Object.keys(any).length == 2;
-        case "undefined":
-          return Object.keys(any).length == 1;
-        default:
-          return false;
-      }
-    }
-    exports2.isOneofGroup = isOneofGroup;
-    function getOneofValue(oneof, kind) {
-      return oneof[kind];
-    }
-    exports2.getOneofValue = getOneofValue;
-    function setOneofValue(oneof, kind, value) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
-      }
-      oneof.oneofKind = kind;
-      if (value !== void 0) {
-        oneof[kind] = value;
-      }
-    }
-    exports2.setOneofValue = setOneofValue;
-    function setUnknownOneofValue(oneof, kind, value) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
-      }
-      oneof.oneofKind = kind;
-      if (value !== void 0 && kind !== void 0) {
-        oneof[kind] = value;
-      }
-    }
-    exports2.setUnknownOneofValue = setUnknownOneofValue;
-    function clearOneofValue(oneof) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
-      }
-      oneof.oneofKind = void 0;
-    }
-    exports2.clearOneofValue = clearOneofValue;
-    function getSelectedOneofValue(oneof) {
-      if (oneof.oneofKind === void 0) {
-        return void 0;
-      }
-      return oneof[oneof.oneofKind];
-    }
-    exports2.getSelectedOneofValue = getSelectedOneofValue;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js
-var require_reflection_type_check = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionTypeCheck = void 0;
-    var reflection_info_1 = require_reflection_info();
-    var oneof_1 = require_oneof();
-    var ReflectionTypeCheck = class {
-      constructor(info7) {
-        var _a;
-        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
-      }
-      prepare() {
-        if (this.data)
-          return;
-        const req = [], known = [], oneofs = [];
-        for (let field of this.fields) {
-          if (field.oneof) {
-            if (!oneofs.includes(field.oneof)) {
-              oneofs.push(field.oneof);
-              req.push(field.oneof);
-              known.push(field.oneof);
-            }
-          } else {
-            known.push(field.localName);
-            switch (field.kind) {
-              case "scalar":
-              case "enum":
-                if (!field.opt || field.repeat)
-                  req.push(field.localName);
-                break;
-              case "message":
-                if (field.repeat)
-                  req.push(field.localName);
-                break;
-              case "map":
-                req.push(field.localName);
-                break;
-            }
-          }
-        }
-        this.data = { req, known, oneofs: Object.values(oneofs) };
-      }
+      get composed() {
+        return Boolean(pd(this).event.composed);
+      },
       /**
-       * Is the argument a valid message as specified by the
-       * reflection information?
-       *
-       * Checks all field types recursively. The `depth`
-       * specifies how deep into the structure the check will be.
-       *
-       * With a depth of 0, only the presence of fields
-       * is checked.
-       *
-       * With a depth of 1 or more, the field types are checked.
-       *
-       * With a depth of 2 or more, the members of map, repeated
-       * and message fields are checked.
-       *
-       * Message fields will be checked recursively with depth - 1.
-       *
-       * The number of map entries / repeated values being checked
-       * is < depth.
+       * The unix time of this event.
+       * @type {number}
        */
-      is(message, depth, allowExcessProperties = false) {
-        if (depth < 0)
-          return true;
-        if (message === null || message === void 0 || typeof message != "object")
-          return false;
-        this.prepare();
-        let keys = Object.keys(message), data = this.data;
-        if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n)))
-          return false;
-        if (!allowExcessProperties) {
-          if (keys.some((k) => !data.known.includes(k)))
-            return false;
-        }
-        if (depth < 1) {
-          return true;
-        }
-        for (const name of data.oneofs) {
-          const group = message[name];
-          if (!oneof_1.isOneofGroup(group))
-            return false;
-          if (group.oneofKind === void 0)
-            continue;
-          const field = this.fields.find((f) => f.localName === group.oneofKind);
-          if (!field)
-            return false;
-          if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth))
-            return false;
-        }
-        for (const field of this.fields) {
-          if (field.oneof !== void 0)
-            continue;
-          if (!this.field(message[field.localName], field, allowExcessProperties, depth))
-            return false;
-        }
-        return true;
-      }
-      field(arg, field, allowExcessProperties, depth) {
-        let repeated = field.repeat;
-        switch (field.kind) {
-          case "scalar":
-            if (arg === void 0)
-              return field.opt;
-            if (repeated)
-              return this.scalars(arg, field.T, depth, field.L);
-            return this.scalar(arg, field.T, field.L);
-          case "enum":
-            if (arg === void 0)
-              return field.opt;
-            if (repeated)
-              return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth);
-            return this.scalar(arg, reflection_info_1.ScalarType.INT32);
-          case "message":
-            if (arg === void 0)
-              return true;
-            if (repeated)
-              return this.messages(arg, field.T(), allowExcessProperties, depth);
-            return this.message(arg, field.T(), allowExcessProperties, depth);
-          case "map":
-            if (typeof arg != "object" || arg === null)
-              return false;
-            if (depth < 2)
-              return true;
-            if (!this.mapKeys(arg, field.K, depth))
-              return false;
-            switch (field.V.kind) {
-              case "scalar":
-                return this.scalars(Object.values(arg), field.V.T, depth, field.V.L);
-              case "enum":
-                return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth);
-              case "message":
-                return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth);
-            }
-            break;
+      get timeStamp() {
+        return pd(this).timeStamp;
+      },
+      /**
+       * The target of this event.
+       * @type {EventTarget}
+       * @deprecated
+       */
+      get srcElement() {
+        return pd(this).eventTarget;
+      },
+      /**
+       * The flag to stop event bubbling.
+       * @type {boolean}
+       * @deprecated
+       */
+      get cancelBubble() {
+        return pd(this).stopped;
+      },
+      set cancelBubble(value) {
+        if (!value) {
+          return;
         }
-        return true;
-      }
-      message(arg, type2, allowExcessProperties, depth) {
-        if (allowExcessProperties) {
-          return type2.isAssignable(arg, depth);
+        const data = pd(this);
+        data.stopped = true;
+        if (typeof data.event.cancelBubble === "boolean") {
+          data.event.cancelBubble = true;
         }
-        return type2.is(arg, depth);
-      }
-      messages(arg, type2, allowExcessProperties, depth) {
-        if (!Array.isArray(arg))
-          return false;
-        if (depth < 2)
-          return true;
-        if (allowExcessProperties) {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!type2.isAssignable(arg[i], depth - 1))
-              return false;
-        } else {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!type2.is(arg[i], depth - 1))
-              return false;
+      },
+      /**
+       * The flag to indicate cancellation state.
+       * @type {boolean}
+       * @deprecated
+       */
+      get returnValue() {
+        return !pd(this).canceled;
+      },
+      set returnValue(value) {
+        if (!value) {
+          setCancelFlag(pd(this));
         }
-        return true;
+      },
+      /**
+       * Initialize this event object. But do nothing under event dispatching.
+       * @param {string} type The event type.
+       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
+       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
+       * @deprecated
+       */
+      initEvent() {
       }
-      scalar(arg, type2, longType) {
-        let argType = typeof arg;
-        switch (type2) {
-          case reflection_info_1.ScalarType.UINT64:
-          case reflection_info_1.ScalarType.FIXED64:
-          case reflection_info_1.ScalarType.INT64:
-          case reflection_info_1.ScalarType.SFIXED64:
-          case reflection_info_1.ScalarType.SINT64:
-            switch (longType) {
-              case reflection_info_1.LongType.BIGINT:
-                return argType == "bigint";
-              case reflection_info_1.LongType.NUMBER:
-                return argType == "number" && !isNaN(arg);
-              default:
-                return argType == "string";
-            }
-          case reflection_info_1.ScalarType.BOOL:
-            return argType == "boolean";
-          case reflection_info_1.ScalarType.STRING:
-            return argType == "string";
-          case reflection_info_1.ScalarType.BYTES:
-            return arg instanceof Uint8Array;
-          case reflection_info_1.ScalarType.DOUBLE:
-          case reflection_info_1.ScalarType.FLOAT:
-            return argType == "number" && !isNaN(arg);
-          default:
-            return argType == "number" && Number.isInteger(arg);
-        }
+    };
+    Object.defineProperty(Event2.prototype, "constructor", {
+      value: Event2,
+      configurable: true,
+      writable: true
+    });
+    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
+      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
+      wrappers.set(window.Event.prototype, Event2);
+    }
+    function defineRedirectDescriptor(key) {
+      return {
+        get() {
+          return pd(this).event[key];
+        },
+        set(value) {
+          pd(this).event[key] = value;
+        },
+        configurable: true,
+        enumerable: true
+      };
+    }
+    function defineCallDescriptor(key) {
+      return {
+        value() {
+          const event = pd(this).event;
+          return event[key].apply(event, arguments);
+        },
+        configurable: true,
+        enumerable: true
+      };
+    }
+    function defineWrapper(BaseEvent, proto) {
+      const keys = Object.keys(proto);
+      if (keys.length === 0) {
+        return BaseEvent;
       }
-      scalars(arg, type2, depth, longType) {
-        if (!Array.isArray(arg))
-          return false;
-        if (depth < 2)
-          return true;
-        if (Array.isArray(arg)) {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!this.scalar(arg[i], type2, longType))
-              return false;
-        }
-        return true;
+      function CustomEvent(eventTarget, event) {
+        BaseEvent.call(this, eventTarget, event);
       }
-      mapKeys(map2, type2, depth) {
-        let keys = Object.keys(map2);
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-          case reflection_info_1.ScalarType.UINT32:
-            return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth);
-          case reflection_info_1.ScalarType.BOOL:
-            return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth);
-          default:
-            return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING);
+      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
+        constructor: { value: CustomEvent, configurable: true, writable: true }
+      });
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        if (!(key in BaseEvent.prototype)) {
+          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
+          const isFunc = typeof descriptor.value === "function";
+          Object.defineProperty(
+            CustomEvent.prototype,
+            key,
+            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
+          );
         }
       }
-    };
-    exports2.ReflectionTypeCheck = ReflectionTypeCheck;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js
-var require_reflection_long_convert = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionLongConvert = void 0;
-    var reflection_info_1 = require_reflection_info();
-    function reflectionLongConvert(long, type2) {
-      switch (type2) {
-        case reflection_info_1.LongType.BIGINT:
-          return long.toBigInt();
-        case reflection_info_1.LongType.NUMBER:
-          return long.toNumber();
-        default:
-          return long.toString();
-      }
+      return CustomEvent;
     }
-    exports2.reflectionLongConvert = reflectionLongConvert;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js
-var require_reflection_json_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionJsonReader = void 0;
-    var json_typings_1 = require_json_typings();
-    var base64_1 = require_base642();
-    var reflection_info_1 = require_reflection_info();
-    var pb_long_1 = require_pb_long();
-    var assert_1 = require_assert();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var ReflectionJsonReader = class {
-      constructor(info7) {
-        this.info = info7;
+    function getWrapper(proto) {
+      if (proto == null || proto === Object.prototype) {
+        return Event2;
       }
-      prepare() {
-        var _a;
-        if (this.fMap === void 0) {
-          this.fMap = {};
-          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
-          for (const field of fieldsInput) {
-            this.fMap[field.name] = field;
-            this.fMap[field.jsonName] = field;
-            this.fMap[field.localName] = field;
-          }
-        }
+      let wrapper = wrappers.get(proto);
+      if (wrapper == null) {
+        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
+        wrappers.set(proto, wrapper);
       }
-      // Cannot parse JSON  for #.
-      assert(condition, fieldName, jsonValue) {
-        if (!condition) {
-          let what = json_typings_1.typeofJsonValue(jsonValue);
-          if (what == "number" || what == "boolean")
-            what = jsonValue.toString();
-          throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`);
-        }
+      return wrapper;
+    }
+    function wrapEvent(eventTarget, event) {
+      const Wrapper = getWrapper(Object.getPrototypeOf(event));
+      return new Wrapper(eventTarget, event);
+    }
+    function isStopped(event) {
+      return pd(event).immediateStopped;
+    }
+    function setEventPhase(event, eventPhase) {
+      pd(event).eventPhase = eventPhase;
+    }
+    function setCurrentTarget(event, currentTarget) {
+      pd(event).currentTarget = currentTarget;
+    }
+    function setPassiveListener(event, passiveListener) {
+      pd(event).passiveListener = passiveListener;
+    }
+    var listenersMap = /* @__PURE__ */ new WeakMap();
+    var CAPTURE = 1;
+    var BUBBLE = 2;
+    var ATTRIBUTE = 3;
+    function isObject2(x) {
+      return x !== null && typeof x === "object";
+    }
+    function getListeners(eventTarget) {
+      const listeners = listenersMap.get(eventTarget);
+      if (listeners == null) {
+        throw new TypeError(
+          "'this' is expected an EventTarget object, but got another value."
+        );
       }
-      /**
-       * Reads a message from canonical JSON format into the target message.
-       *
-       * Repeated fields are appended. Map entries are added, overwriting
-       * existing keys.
-       *
-       * If a message field is already present, it will be merged with the
-       * new data.
-       */
-      read(input, message, options) {
-        this.prepare();
-        const oneofsHandled = [];
-        for (const [jsonKey, jsonValue] of Object.entries(input)) {
-          const field = this.fMap[jsonKey];
-          if (!field) {
-            if (!options.ignoreUnknownFields)
-              throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`);
-            continue;
-          }
-          const localName = field.localName;
-          let target;
-          if (field.oneof) {
-            if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) {
-              continue;
+      return listeners;
+    }
+    function defineEventAttributeDescriptor(eventName) {
+      return {
+        get() {
+          const listeners = getListeners(this);
+          let node = listeners.get(eventName);
+          while (node != null) {
+            if (node.listenerType === ATTRIBUTE) {
+              return node.listener;
             }
-            if (oneofsHandled.includes(field.oneof))
-              throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`);
-            oneofsHandled.push(field.oneof);
-            target = message[field.oneof] = {
-              oneofKind: localName
-            };
-          } else {
-            target = message;
+            node = node.next;
           }
-          if (field.kind == "map") {
-            if (jsonValue === null) {
-              continue;
-            }
-            this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue);
-            const fieldObj = target[localName];
-            for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) {
-              this.assert(jsonObjValue !== null, field.name + " map value", null);
-              let val;
-              switch (field.V.kind) {
-                case "message":
-                  val = field.V.T().internalJsonRead(jsonObjValue, options);
-                  break;
-                case "enum":
-                  val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields);
-                  if (val === false)
-                    continue;
-                  break;
-                case "scalar":
-                  val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name);
-                  break;
-              }
-              this.assert(val !== void 0, field.name + " map value", jsonObjValue);
-              let key = jsonObjKey;
-              if (field.K == reflection_info_1.ScalarType.BOOL)
-                key = key == "true" ? true : key == "false" ? false : key;
-              key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString();
-              fieldObj[key] = val;
-            }
-          } else if (field.repeat) {
-            if (jsonValue === null)
-              continue;
-            this.assert(Array.isArray(jsonValue), field.name, jsonValue);
-            const fieldArr = target[localName];
-            for (const jsonItem of jsonValue) {
-              this.assert(jsonItem !== null, field.name, null);
-              let val;
-              switch (field.kind) {
-                case "message":
-                  val = field.T().internalJsonRead(jsonItem, options);
-                  break;
-                case "enum":
-                  val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields);
-                  if (val === false)
-                    continue;
-                  break;
-                case "scalar":
-                  val = this.scalar(jsonItem, field.T, field.L, field.name);
-                  break;
+          return null;
+        },
+        set(listener) {
+          if (typeof listener !== "function" && !isObject2(listener)) {
+            listener = null;
+          }
+          const listeners = getListeners(this);
+          let prev = null;
+          let node = listeners.get(eventName);
+          while (node != null) {
+            if (node.listenerType === ATTRIBUTE) {
+              if (prev !== null) {
+                prev.next = node.next;
+              } else if (node.next !== null) {
+                listeners.set(eventName, node.next);
+              } else {
+                listeners.delete(eventName);
               }
-              this.assert(val !== void 0, field.name, jsonValue);
-              fieldArr.push(val);
+            } else {
+              prev = node;
             }
-          } else {
-            switch (field.kind) {
-              case "message":
-                if (jsonValue === null && field.T().typeName != "google.protobuf.Value") {
-                  this.assert(field.oneof === void 0, field.name + " (oneof member)", null);
-                  continue;
-                }
-                target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]);
-                break;
-              case "enum":
-                if (jsonValue === null)
-                  continue;
-                let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields);
-                if (val === false)
-                  continue;
-                target[localName] = val;
-                break;
-              case "scalar":
-                if (jsonValue === null)
-                  continue;
-                target[localName] = this.scalar(jsonValue, field.T, field.L, field.name);
-                break;
+            node = node.next;
+          }
+          if (listener !== null) {
+            const newNode = {
+              listener,
+              listenerType: ATTRIBUTE,
+              passive: false,
+              once: false,
+              next: null
+            };
+            if (prev === null) {
+              listeners.set(eventName, newNode);
+            } else {
+              prev.next = newNode;
             }
           }
+        },
+        configurable: true,
+        enumerable: true
+      };
+    }
+    function defineEventAttribute(eventTargetPrototype, eventName) {
+      Object.defineProperty(
+        eventTargetPrototype,
+        `on${eventName}`,
+        defineEventAttributeDescriptor(eventName)
+      );
+    }
+    function defineCustomEventTarget(eventNames) {
+      function CustomEventTarget() {
+        EventTarget2.call(this);
+      }
+      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
+        constructor: {
+          value: CustomEventTarget,
+          configurable: true,
+          writable: true
+        }
+      });
+      for (let i = 0; i < eventNames.length; ++i) {
+        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
+      }
+      return CustomEventTarget;
+    }
+    function EventTarget2() {
+      if (this instanceof EventTarget2) {
+        listenersMap.set(this, /* @__PURE__ */ new Map());
+        return;
+      }
+      if (arguments.length === 1 && Array.isArray(arguments[0])) {
+        return defineCustomEventTarget(arguments[0]);
+      }
+      if (arguments.length > 0) {
+        const types = new Array(arguments.length);
+        for (let i = 0; i < arguments.length; ++i) {
+          types[i] = arguments[i];
         }
+        return defineCustomEventTarget(types);
       }
+      throw new TypeError("Cannot call a class as a function");
+    }
+    EventTarget2.prototype = {
       /**
-       * Returns `false` for unrecognized string representations.
-       *
-       * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`).
+       * Add a given listener to this event target.
+       * @param {string} eventName The event name to add.
+       * @param {Function} listener The listener to add.
+       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
+       * @returns {void}
        */
-      enum(type2, json2, fieldName, ignoreUnknownFields) {
-        if (type2[0] == "google.protobuf.NullValue")
-          assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`);
-        if (json2 === null)
-          return 0;
-        switch (typeof json2) {
-          case "number":
-            assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`);
-            return json2;
-          case "string":
-            let localEnumName = json2;
-            if (type2[2] && json2.substring(0, type2[2].length) === type2[2])
-              localEnumName = json2.substring(type2[2].length);
-            let enumNumber = type2[1][localEnumName];
-            if (typeof enumNumber === "undefined" && ignoreUnknownFields) {
-              return false;
+      addEventListener(eventName, listener, options) {
+        if (listener == null) {
+          return;
+        }
+        if (typeof listener !== "function" && !isObject2(listener)) {
+          throw new TypeError("'listener' should be a function or an object.");
+        }
+        const listeners = getListeners(this);
+        const optionsIsObj = isObject2(options);
+        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
+        const listenerType = capture ? CAPTURE : BUBBLE;
+        const newNode = {
+          listener,
+          listenerType,
+          passive: optionsIsObj && Boolean(options.passive),
+          once: optionsIsObj && Boolean(options.once),
+          next: null
+        };
+        let node = listeners.get(eventName);
+        if (node === void 0) {
+          listeners.set(eventName, newNode);
+          return;
+        }
+        let prev = null;
+        while (node != null) {
+          if (node.listener === listener && node.listenerType === listenerType) {
+            return;
+          }
+          prev = node;
+          node = node.next;
+        }
+        prev.next = newNode;
+      },
+      /**
+       * Remove a given listener from this event target.
+       * @param {string} eventName The event name to remove.
+       * @param {Function} listener The listener to remove.
+       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
+       * @returns {void}
+       */
+      removeEventListener(eventName, listener, options) {
+        if (listener == null) {
+          return;
+        }
+        const listeners = getListeners(this);
+        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
+        const listenerType = capture ? CAPTURE : BUBBLE;
+        let prev = null;
+        let node = listeners.get(eventName);
+        while (node != null) {
+          if (node.listener === listener && node.listenerType === listenerType) {
+            if (prev !== null) {
+              prev.next = node.next;
+            } else if (node.next !== null) {
+              listeners.set(eventName, node.next);
+            } else {
+              listeners.delete(eventName);
             }
-            assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`);
-            return enumNumber;
+            return;
+          }
+          prev = node;
+          node = node.next;
         }
-        assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`);
-      }
-      scalar(json2, type2, longType, fieldName) {
-        let e;
-        try {
-          switch (type2) {
-            // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
-            // Either numbers or strings are accepted. Exponent notation is also accepted.
-            case reflection_info_1.ScalarType.DOUBLE:
-            case reflection_info_1.ScalarType.FLOAT:
-              if (json2 === null)
-                return 0;
-              if (json2 === "NaN")
-                return Number.NaN;
-              if (json2 === "Infinity")
-                return Number.POSITIVE_INFINITY;
-              if (json2 === "-Infinity")
-                return Number.NEGATIVE_INFINITY;
-              if (json2 === "") {
-                e = "empty string";
-                break;
-              }
-              if (typeof json2 == "string" && json2.trim().length !== json2.length) {
-                e = "extra whitespace";
-                break;
-              }
-              if (typeof json2 != "string" && typeof json2 != "number") {
-                break;
-              }
-              let float2 = Number(json2);
-              if (Number.isNaN(float2)) {
-                e = "not a number";
-                break;
-              }
-              if (!Number.isFinite(float2)) {
-                e = "too large or small";
-                break;
-              }
-              if (type2 == reflection_info_1.ScalarType.FLOAT)
-                assert_1.assertFloat32(float2);
-              return float2;
-            // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
-            case reflection_info_1.ScalarType.INT32:
-            case reflection_info_1.ScalarType.FIXED32:
-            case reflection_info_1.ScalarType.SFIXED32:
-            case reflection_info_1.ScalarType.SINT32:
-            case reflection_info_1.ScalarType.UINT32:
-              if (json2 === null)
-                return 0;
-              let int32;
-              if (typeof json2 == "number")
-                int32 = json2;
-              else if (json2 === "")
-                e = "empty string";
-              else if (typeof json2 == "string") {
-                if (json2.trim().length !== json2.length)
-                  e = "extra whitespace";
-                else
-                  int32 = Number(json2);
-              }
-              if (int32 === void 0)
-                break;
-              if (type2 == reflection_info_1.ScalarType.UINT32)
-                assert_1.assertUInt32(int32);
-              else
-                assert_1.assertInt32(int32);
-              return int32;
-            // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.
-            case reflection_info_1.ScalarType.INT64:
-            case reflection_info_1.ScalarType.SFIXED64:
-            case reflection_info_1.ScalarType.SINT64:
-              if (json2 === null)
-                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
-              if (typeof json2 != "number" && typeof json2 != "string")
-                break;
-              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType);
-            case reflection_info_1.ScalarType.FIXED64:
-            case reflection_info_1.ScalarType.UINT64:
-              if (json2 === null)
-                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
-              if (typeof json2 != "number" && typeof json2 != "string")
-                break;
-              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType);
-            // bool:
-            case reflection_info_1.ScalarType.BOOL:
-              if (json2 === null)
-                return false;
-              if (typeof json2 !== "boolean")
-                break;
-              return json2;
-            // string:
-            case reflection_info_1.ScalarType.STRING:
-              if (json2 === null)
-                return "";
-              if (typeof json2 !== "string") {
-                e = "extra whitespace";
-                break;
-              }
-              try {
-                encodeURIComponent(json2);
-              } catch (e2) {
-                e2 = "invalid UTF8";
-                break;
+      },
+      /**
+       * Dispatch a given event.
+       * @param {Event|{type:string}} event The event to dispatch.
+       * @returns {boolean} `false` if canceled.
+       */
+      dispatchEvent(event) {
+        if (event == null || typeof event.type !== "string") {
+          throw new TypeError('"event.type" should be a string.');
+        }
+        const listeners = getListeners(this);
+        const eventName = event.type;
+        let node = listeners.get(eventName);
+        if (node == null) {
+          return true;
+        }
+        const wrappedEvent = wrapEvent(this, event);
+        let prev = null;
+        while (node != null) {
+          if (node.once) {
+            if (prev !== null) {
+              prev.next = node.next;
+            } else if (node.next !== null) {
+              listeners.set(eventName, node.next);
+            } else {
+              listeners.delete(eventName);
+            }
+          } else {
+            prev = node;
+          }
+          setPassiveListener(
+            wrappedEvent,
+            node.passive ? node.listener : null
+          );
+          if (typeof node.listener === "function") {
+            try {
+              node.listener.call(this, wrappedEvent);
+            } catch (err) {
+              if (typeof console !== "undefined" && typeof console.error === "function") {
+                console.error(err);
               }
-              return json2;
-            // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
-            // Either standard or URL-safe base64 encoding with/without paddings are accepted.
-            case reflection_info_1.ScalarType.BYTES:
-              if (json2 === null || json2 === "")
-                return new Uint8Array(0);
-              if (typeof json2 !== "string")
-                break;
-              return base64_1.base64decode(json2);
+            }
+          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
+            node.listener.handleEvent(wrappedEvent);
           }
-        } catch (error3) {
-          e = error3.message;
+          if (isStopped(wrappedEvent)) {
+            break;
+          }
+          node = node.next;
         }
-        this.assert(false, fieldName + (e ? " - " + e : ""), json2);
+        setPassiveListener(wrappedEvent, null);
+        setEventPhase(wrappedEvent, 0);
+        setCurrentTarget(wrappedEvent, null);
+        return !wrappedEvent.defaultPrevented;
       }
     };
-    exports2.ReflectionJsonReader = ReflectionJsonReader;
+    Object.defineProperty(EventTarget2.prototype, "constructor", {
+      value: EventTarget2,
+      configurable: true,
+      writable: true
+    });
+    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
+      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
+    }
+    exports2.defineEventAttribute = defineEventAttribute;
+    exports2.EventTarget = EventTarget2;
+    exports2.default = EventTarget2;
+    module2.exports = EventTarget2;
+    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
+    module2.exports.defineEventAttribute = defineEventAttribute;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js
-var require_reflection_json_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) {
+// node_modules/abort-controller/dist/abort-controller.js
+var require_abort_controller = __commonJS({
+  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionJsonWriter = void 0;
-    var base64_1 = require_base642();
-    var pb_long_1 = require_pb_long();
-    var reflection_info_1 = require_reflection_info();
-    var assert_1 = require_assert();
-    var ReflectionJsonWriter = class {
-      constructor(info7) {
-        var _a;
-        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
-      }
+    var eventTargetShim = require_event_target_shim();
+    var AbortSignal2 = class extends eventTargetShim.EventTarget {
       /**
-       * Converts the message to a JSON object, based on the field descriptors.
+       * AbortSignal cannot be constructed directly.
        */
-      write(message, options) {
-        const json2 = {}, source = message;
-        for (const field of this.fields) {
-          if (!field.oneof) {
-            let jsonValue2 = this.field(field, source[field.localName], options);
-            if (jsonValue2 !== void 0)
-              json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2;
-            continue;
-          }
-          const group = source[field.oneof];
-          if (group.oneofKind !== field.localName)
-            continue;
-          const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options;
-          let jsonValue = this.field(field, group[field.localName], opt);
-          assert_1.assert(jsonValue !== void 0);
-          json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue;
-        }
-        return json2;
-      }
-      field(field, value, options) {
-        let jsonValue = void 0;
-        if (field.kind == "map") {
-          assert_1.assert(typeof value == "object" && value !== null);
-          const jsonObj = {};
-          switch (field.V.kind) {
-            case "scalar":
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                const val = this.scalar(field.V.T, entryValue, field.name, false, true);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-            case "message":
-              const messageType = field.V.T();
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                const val = this.message(messageType, entryValue, field.name, options);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-            case "enum":
-              const enumInfo = field.V.T();
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                assert_1.assert(entryValue === void 0 || typeof entryValue == "number");
-                const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-          }
-          if (options.emitDefaultValues || Object.keys(jsonObj).length > 0)
-            jsonValue = jsonObj;
-        } else if (field.repeat) {
-          assert_1.assert(Array.isArray(value));
-          const jsonArr = [];
-          switch (field.kind) {
-            case "scalar":
-              for (let i = 0; i < value.length; i++) {
-                const val = this.scalar(field.T, value[i], field.name, field.opt, true);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-            case "enum":
-              const enumInfo = field.T();
-              for (let i = 0; i < value.length; i++) {
-                assert_1.assert(value[i] === void 0 || typeof value[i] == "number");
-                const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-            case "message":
-              const messageType = field.T();
-              for (let i = 0; i < value.length; i++) {
-                const val = this.message(messageType, value[i], field.name, options);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-          }
-          if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues)
-            jsonValue = jsonArr;
-        } else {
-          switch (field.kind) {
-            case "scalar":
-              jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues);
-              break;
-            case "enum":
-              jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger);
-              break;
-            case "message":
-              jsonValue = this.message(field.T(), value, field.name, options);
-              break;
-          }
-        }
-        return jsonValue;
+      constructor() {
+        super();
+        throw new TypeError("AbortSignal cannot be constructed directly");
       }
       /**
-       * Returns `null` as the default for google.protobuf.NullValue.
+       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
        */
-      enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) {
-        if (type2[0] == "google.protobuf.NullValue")
-          return !emitDefaultValues && !optional ? void 0 : null;
-        if (value === void 0) {
-          assert_1.assert(optional);
-          return void 0;
-        }
-        if (value === 0 && !emitDefaultValues && !optional)
-          return void 0;
-        assert_1.assert(typeof value == "number");
-        assert_1.assert(Number.isInteger(value));
-        if (enumAsInteger || !type2[1].hasOwnProperty(value))
-          return value;
-        if (type2[2])
-          return type2[2] + type2[1][value];
-        return type2[1][value];
-      }
-      message(type2, value, fieldName, options) {
-        if (value === void 0)
-          return options.emitDefaultValues ? null : void 0;
-        return type2.internalJsonWrite(value, options);
-      }
-      scalar(type2, value, fieldName, optional, emitDefaultValues) {
-        if (value === void 0) {
-          assert_1.assert(optional);
-          return void 0;
-        }
-        const ed = emitDefaultValues || optional;
-        switch (type2) {
-          // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assertInt32(value);
-            return value;
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.UINT32:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assertUInt32(value);
-            return value;
-          // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
-          // Either numbers or strings are accepted. Exponent notation is also accepted.
-          case reflection_info_1.ScalarType.FLOAT:
-            assert_1.assertFloat32(value);
-          case reflection_info_1.ScalarType.DOUBLE:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assert(typeof value == "number");
-            if (Number.isNaN(value))
-              return "NaN";
-            if (value === Number.POSITIVE_INFINITY)
-              return "Infinity";
-            if (value === Number.NEGATIVE_INFINITY)
-              return "-Infinity";
-            return value;
-          // string:
-          case reflection_info_1.ScalarType.STRING:
-            if (value === "")
-              return ed ? "" : void 0;
-            assert_1.assert(typeof value == "string");
-            return value;
-          // bool:
-          case reflection_info_1.ScalarType.BOOL:
-            if (value === false)
-              return ed ? false : void 0;
-            assert_1.assert(typeof value == "boolean");
-            return value;
-          // JSON value will be a decimal string. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.UINT64:
-          case reflection_info_1.ScalarType.FIXED64:
-            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
-            let ulong = pb_long_1.PbULong.from(value);
-            if (ulong.isZero() && !ed)
-              return void 0;
-            return ulong.toString();
-          // JSON value will be a decimal string. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.INT64:
-          case reflection_info_1.ScalarType.SFIXED64:
-          case reflection_info_1.ScalarType.SINT64:
-            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
-            let long = pb_long_1.PbLong.from(value);
-            if (long.isZero() && !ed)
-              return void 0;
-            return long.toString();
-          // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
-          // Either standard or URL-safe base64 encoding with/without paddings are accepted.
-          case reflection_info_1.ScalarType.BYTES:
-            assert_1.assert(value instanceof Uint8Array);
-            if (!value.byteLength)
-              return ed ? "" : void 0;
-            return base64_1.base64encode(value);
+      get aborted() {
+        const aborted = abortedFlags.get(this);
+        if (typeof aborted !== "boolean") {
+          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
         }
+        return aborted;
       }
     };
-    exports2.ReflectionJsonWriter = ReflectionJsonWriter;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js
-var require_reflection_scalar_default = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionScalarDefault = void 0;
-    var reflection_info_1 = require_reflection_info();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var pb_long_1 = require_pb_long();
-    function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) {
-      switch (type2) {
-        case reflection_info_1.ScalarType.BOOL:
-          return false;
-        case reflection_info_1.ScalarType.UINT64:
-        case reflection_info_1.ScalarType.FIXED64:
-          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
-        case reflection_info_1.ScalarType.INT64:
-        case reflection_info_1.ScalarType.SFIXED64:
-        case reflection_info_1.ScalarType.SINT64:
-          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
-        case reflection_info_1.ScalarType.DOUBLE:
-        case reflection_info_1.ScalarType.FLOAT:
-          return 0;
-        case reflection_info_1.ScalarType.BYTES:
-          return new Uint8Array(0);
-        case reflection_info_1.ScalarType.STRING:
-          return "";
-        default:
-          return 0;
+    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
+    function createAbortSignal() {
+      const signal = Object.create(AbortSignal2.prototype);
+      eventTargetShim.EventTarget.call(signal);
+      abortedFlags.set(signal, false);
+      return signal;
+    }
+    function abortSignal(signal) {
+      if (abortedFlags.get(signal) !== false) {
+        return;
       }
+      abortedFlags.set(signal, true);
+      signal.dispatchEvent({ type: "abort" });
     }
-    exports2.reflectionScalarDefault = reflectionScalarDefault;
+    var abortedFlags = /* @__PURE__ */ new WeakMap();
+    Object.defineProperties(AbortSignal2.prototype, {
+      aborted: { enumerable: true }
+    });
+    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
+      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
+        configurable: true,
+        value: "AbortSignal"
+      });
+    }
+    var AbortController2 = class {
+      /**
+       * Initialize this controller.
+       */
+      constructor() {
+        signals.set(this, createAbortSignal());
+      }
+      /**
+       * Returns the `AbortSignal` object associated with this object.
+       */
+      get signal() {
+        return getSignal(this);
+      }
+      /**
+       * Abort and signal to any observers that the associated activity is to be aborted.
+       */
+      abort() {
+        abortSignal(getSignal(this));
+      }
+    };
+    var signals = /* @__PURE__ */ new WeakMap();
+    function getSignal(controller) {
+      const signal = signals.get(controller);
+      if (signal == null) {
+        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
+      }
+      return signal;
+    }
+    Object.defineProperties(AbortController2.prototype, {
+      signal: { enumerable: true },
+      abort: { enumerable: true }
+    });
+    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
+      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
+        configurable: true,
+        value: "AbortController"
+      });
+    }
+    exports2.AbortController = AbortController2;
+    exports2.AbortSignal = AbortSignal2;
+    exports2.default = AbortController2;
+    module2.exports = AbortController2;
+    module2.exports.AbortController = module2.exports["default"] = AbortController2;
+    module2.exports.AbortSignal = AbortSignal2;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js
-var require_reflection_binary_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) {
+// node_modules/readable-stream/lib/ours/util.js
+var require_util21 = __commonJS({
+  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionBinaryReader = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var reflection_info_1 = require_reflection_info();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    var ReflectionBinaryReader = class {
-      constructor(info7) {
-        this.info = info7;
+    var bufferModule = require("buffer");
+    var { kResistStopPropagation, SymbolDispose } = require_primordials();
+    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var AsyncFunction = Object.getPrototypeOf(async function() {
+    }).constructor;
+    var Blob2 = globalThis.Blob || bufferModule.Blob;
+    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
+      return b instanceof Blob2;
+    } : function isBlob2(b) {
+      return false;
+    };
+    var validateAbortSignal = (signal, name) => {
+      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
+        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
       }
-      prepare() {
-        var _a;
-        if (!this.fieldNoToField) {
-          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
-          this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field]));
+    };
+    var validateFunction = (value, name) => {
+      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    };
+    var AggregateError = class extends Error {
+      constructor(errors) {
+        if (!Array.isArray(errors)) {
+          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
         }
+        let message = "";
+        for (let i = 0; i < errors.length; i++) {
+          message += `    ${errors[i].stack}
+`;
+        }
+        super(message);
+        this.name = "AggregateError";
+        this.errors = errors;
       }
-      /**
-       * Reads a message from binary format into the target message.
-       *
-       * Repeated fields are appended. Map entries are added, overwriting
-       * existing keys.
-       *
-       * If a message field is already present, it will be merged with the
-       * new data.
-       */
-      read(reader, message, options, length) {
-        this.prepare();
-        const end = length === void 0 ? reader.len : reader.pos + length;
-        while (reader.pos < end) {
-          const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo);
-          if (!field) {
-            let u = options.readUnknownField;
-            if (u == "throw")
-              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`);
-            let d = reader.skip(wireType);
-            if (u !== false)
-              (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d);
-            continue;
+    };
+    module2.exports = {
+      AggregateError,
+      kEmptyObject: Object.freeze({}),
+      once(callback) {
+        let called = false;
+        return function(...args) {
+          if (called) {
+            return;
           }
-          let target = message, repeated = field.repeat, localName = field.localName;
-          if (field.oneof) {
-            target = target[field.oneof];
-            if (target.oneofKind !== localName)
-              target = message[field.oneof] = {
-                oneofKind: localName
-              };
+          called = true;
+          callback.apply(this, args);
+        };
+      },
+      createDeferredPromise: function() {
+        let resolve3;
+        let reject;
+        const promise = new Promise((res, rej) => {
+          resolve3 = res;
+          reject = rej;
+        });
+        return {
+          promise,
+          resolve: resolve3,
+          reject
+        };
+      },
+      promisify(fn) {
+        return new Promise((resolve3, reject) => {
+          fn((err, ...args) => {
+            if (err) {
+              return reject(err);
+            }
+            return resolve3(...args);
+          });
+        });
+      },
+      debuglog() {
+        return function() {
+        };
+      },
+      format(format, ...args) {
+        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
+          const replacement = args.shift();
+          if (type2 === "f") {
+            return replacement.toFixed(6);
+          } else if (type2 === "j") {
+            return JSON.stringify(replacement);
+          } else if (type2 === "s" && typeof replacement === "object") {
+            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
+            return `${ctor} {}`.trim();
+          } else {
+            return replacement.toString();
           }
-          switch (field.kind) {
-            case "scalar":
-            case "enum":
-              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-              let L = field.kind == "scalar" ? field.L : void 0;
-              if (repeated) {
-                let arr = target[localName];
-                if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) {
-                  let e = reader.uint32() + reader.pos;
-                  while (reader.pos < e)
-                    arr.push(this.scalar(reader, T, L));
-                } else
-                  arr.push(this.scalar(reader, T, L));
-              } else
-                target[localName] = this.scalar(reader, T, L);
-              break;
-            case "message":
-              if (repeated) {
-                let arr = target[localName];
-                let msg = field.T().internalBinaryRead(reader, reader.uint32(), options);
-                arr.push(msg);
-              } else
-                target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]);
-              break;
-            case "map":
-              let [mapKey, mapVal] = this.mapEntry(field, reader, options);
-              target[localName][mapKey] = mapVal;
-              break;
+        });
+      },
+      inspect(value) {
+        switch (typeof value) {
+          case "string":
+            if (value.includes("'")) {
+              if (!value.includes('"')) {
+                return `"${value}"`;
+              } else if (!value.includes("`") && !value.includes("${")) {
+                return `\`${value}\``;
+              }
+            }
+            return `'${value}'`;
+          case "number":
+            if (isNaN(value)) {
+              return "NaN";
+            } else if (Object.is(value, -0)) {
+              return String(value);
+            }
+            return value;
+          case "bigint":
+            return `${String(value)}n`;
+          case "boolean":
+          case "undefined":
+            return String(value);
+          case "object":
+            return "{}";
+        }
+      },
+      types: {
+        isAsyncFunction(fn) {
+          return fn instanceof AsyncFunction;
+        },
+        isArrayBufferView(arr) {
+          return ArrayBuffer.isView(arr);
+        }
+      },
+      isBlob,
+      deprecate(fn, message) {
+        return fn;
+      },
+      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
+        if (signal === void 0) {
+          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
+        }
+        validateAbortSignal(signal, "signal");
+        validateFunction(listener, "listener");
+        let removeEventListener;
+        if (signal.aborted) {
+          queueMicrotask(() => listener());
+        } else {
+          signal.addEventListener("abort", listener, {
+            __proto__: null,
+            once: true,
+            [kResistStopPropagation]: true
+          });
+          removeEventListener = () => {
+            signal.removeEventListener("abort", listener);
+          };
+        }
+        return {
+          __proto__: null,
+          [SymbolDispose]() {
+            var _removeEventListener;
+            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
           }
+        };
+      },
+      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
+        if (signals.length === 1) {
+          return signals[0];
         }
-      }
-      /**
-       * Read a map field, expecting key field = 1, value field = 2
-       */
-      mapEntry(field, reader, options) {
-        let length = reader.uint32();
-        let end = reader.pos + length;
-        let key = void 0;
-        let val = void 0;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case 1:
-              if (field.K == reflection_info_1.ScalarType.BOOL)
-                key = reader.bool().toString();
-              else
-                key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING);
-              break;
-            case 2:
-              switch (field.V.kind) {
-                case "scalar":
-                  val = this.scalar(reader, field.V.T, field.V.L);
-                  break;
-                case "enum":
-                  val = reader.int32();
-                  break;
-                case "message":
-                  val = field.V.T().internalBinaryRead(reader, reader.uint32(), options);
-                  break;
-              }
-              break;
-            default:
-              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`);
+        const ac = new AbortController2();
+        const abort = () => ac.abort();
+        signals.forEach((signal) => {
+          validateAbortSignal(signal, "signals");
+          signal.addEventListener("abort", abort, {
+            once: true
+          });
+        });
+        ac.signal.addEventListener(
+          "abort",
+          () => {
+            signals.forEach((signal) => signal.removeEventListener("abort", abort));
+          },
+          {
+            once: true
           }
+        );
+        return ac.signal;
+      }
+    };
+    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
+  }
+});
+
+// node_modules/readable-stream/lib/ours/errors.js
+var require_errors5 = __commonJS({
+  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
+    "use strict";
+    var { format, inspect, AggregateError: CustomAggregateError } = require_util21();
+    var AggregateError = globalThis.AggregateError || CustomAggregateError;
+    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
+    var kTypes = [
+      "string",
+      "function",
+      "number",
+      "object",
+      // Accept 'Function' and 'Object' as alternative to the lower cased version.
+      "Function",
+      "Object",
+      "boolean",
+      "bigint",
+      "symbol"
+    ];
+    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
+    var nodeInternalPrefix = "__node_internal_";
+    var codes = {};
+    function assert(value, message) {
+      if (!value) {
+        throw new codes.ERR_INTERNAL_ASSERTION(message);
+      }
+    }
+    function addNumericalSeparator(val) {
+      let res = "";
+      let i = val.length;
+      const start = val[0] === "-" ? 1 : 0;
+      for (; i >= start + 4; i -= 3) {
+        res = `_${val.slice(i - 3, i)}${res}`;
+      }
+      return `${val.slice(0, i)}${res}`;
+    }
+    function getMessage(key, msg, args) {
+      if (typeof msg === "function") {
+        assert(
+          msg.length <= args.length,
+          // Default options do not count.
+          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
+        );
+        return msg(...args);
+      }
+      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
+      assert(
+        expectedLength === args.length,
+        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
+      );
+      if (args.length === 0) {
+        return msg;
+      }
+      return format(msg, ...args);
+    }
+    function E(code, message, Base) {
+      if (!Base) {
+        Base = Error;
+      }
+      class NodeError extends Base {
+        constructor(...args) {
+          super(getMessage(code, message, args));
         }
-        if (key === void 0) {
-          let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K);
-          key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw;
+        toString() {
+          return `${this.name} [${code}]: ${this.message}`;
         }
-        if (val === void 0)
-          switch (field.V.kind) {
-            case "scalar":
-              val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L);
-              break;
-            case "enum":
-              val = 0;
-              break;
-            case "message":
-              val = field.V.T().create();
-              break;
-          }
-        return [key, val];
       }
-      scalar(reader, type2, longType) {
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-            return reader.int32();
-          case reflection_info_1.ScalarType.STRING:
-            return reader.string();
-          case reflection_info_1.ScalarType.BOOL:
-            return reader.bool();
-          case reflection_info_1.ScalarType.DOUBLE:
-            return reader.double();
-          case reflection_info_1.ScalarType.FLOAT:
-            return reader.float();
-          case reflection_info_1.ScalarType.INT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType);
-          case reflection_info_1.ScalarType.UINT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType);
-          case reflection_info_1.ScalarType.FIXED64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType);
-          case reflection_info_1.ScalarType.FIXED32:
-            return reader.fixed32();
-          case reflection_info_1.ScalarType.BYTES:
-            return reader.bytes();
-          case reflection_info_1.ScalarType.UINT32:
-            return reader.uint32();
-          case reflection_info_1.ScalarType.SFIXED32:
-            return reader.sfixed32();
-          case reflection_info_1.ScalarType.SFIXED64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType);
-          case reflection_info_1.ScalarType.SINT32:
-            return reader.sint32();
-          case reflection_info_1.ScalarType.SINT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType);
+      Object.defineProperties(NodeError.prototype, {
+        name: {
+          value: Base.name,
+          writable: true,
+          enumerable: false,
+          configurable: true
+        },
+        toString: {
+          value() {
+            return `${this.name} [${code}]: ${this.message}`;
+          },
+          writable: true,
+          enumerable: false,
+          configurable: true
         }
+      });
+      NodeError.prototype.code = code;
+      NodeError.prototype[kIsNodeError] = true;
+      codes[code] = NodeError;
+    }
+    function hideStackFrames(fn) {
+      const hidden = nodeInternalPrefix + fn.name;
+      Object.defineProperty(fn, "name", {
+        value: hidden
+      });
+      return fn;
+    }
+    function aggregateTwoErrors(innerError, outerError) {
+      if (innerError && outerError && innerError !== outerError) {
+        if (Array.isArray(outerError.errors)) {
+          outerError.errors.push(innerError);
+          return outerError;
+        }
+        const err = new AggregateError([outerError, innerError], outerError.message);
+        err.code = outerError.code;
+        return err;
       }
-    };
-    exports2.ReflectionBinaryReader = ReflectionBinaryReader;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js
-var require_reflection_binary_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionBinaryWriter = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var reflection_info_1 = require_reflection_info();
-    var assert_1 = require_assert();
-    var pb_long_1 = require_pb_long();
-    var ReflectionBinaryWriter = class {
-      constructor(info7) {
-        this.info = info7;
-      }
-      prepare() {
-        if (!this.fields) {
-          const fieldsInput = this.info.fields ? this.info.fields.concat() : [];
-          this.fields = fieldsInput.sort((a, b) => a.no - b.no);
+      return innerError || outerError;
+    }
+    var AbortError = class extends Error {
+      constructor(message = "The operation was aborted", options = void 0) {
+        if (options !== void 0 && typeof options !== "object") {
+          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
         }
+        super(message, options);
+        this.code = "ABORT_ERR";
+        this.name = "AbortError";
       }
-      /**
-       * Writes the message to binary format.
-       */
-      write(message, writer, options) {
-        this.prepare();
-        for (const field of this.fields) {
-          let value, emitDefault, repeated = field.repeat, localName = field.localName;
-          if (field.oneof) {
-            const group = message[field.oneof];
-            if (group.oneofKind !== localName)
-              continue;
-            value = group[localName];
-            emitDefault = true;
+    };
+    E("ERR_ASSERTION", "%s", Error);
+    E(
+      "ERR_INVALID_ARG_TYPE",
+      (name, expected, actual) => {
+        assert(typeof name === "string", "'name' must be a string");
+        if (!Array.isArray(expected)) {
+          expected = [expected];
+        }
+        let msg = "The ";
+        if (name.endsWith(" argument")) {
+          msg += `${name} `;
+        } else {
+          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
+        }
+        msg += "must be ";
+        const types = [];
+        const instances = [];
+        const other = [];
+        for (const value of expected) {
+          assert(typeof value === "string", "All expected entries have to be of type string");
+          if (kTypes.includes(value)) {
+            types.push(value.toLowerCase());
+          } else if (classRegExp.test(value)) {
+            instances.push(value);
           } else {
-            value = message[localName];
-            emitDefault = false;
+            assert(value !== "object", 'The value "object" should be written as "Object"');
+            other.push(value);
           }
-          switch (field.kind) {
-            case "scalar":
-            case "enum":
-              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-              if (repeated) {
-                assert_1.assert(Array.isArray(value));
-                if (repeated == reflection_info_1.RepeatType.PACKED)
-                  this.packed(writer, T, field.no, value);
-                else
-                  for (const item of value)
-                    this.scalar(writer, T, field.no, item, true);
-              } else if (value === void 0)
-                assert_1.assert(field.opt);
-              else
-                this.scalar(writer, T, field.no, value, emitDefault || field.opt);
-              break;
-            case "message":
-              if (repeated) {
-                assert_1.assert(Array.isArray(value));
-                for (const item of value)
-                  this.message(writer, options, field.T(), field.no, item);
-              } else {
-                this.message(writer, options, field.T(), field.no, value);
-              }
+        }
+        if (instances.length > 0) {
+          const pos = types.indexOf("object");
+          if (pos !== -1) {
+            types.splice(types, pos, 1);
+            instances.push("Object");
+          }
+        }
+        if (types.length > 0) {
+          switch (types.length) {
+            case 1:
+              msg += `of type ${types[0]}`;
               break;
-            case "map":
-              assert_1.assert(typeof value == "object" && value !== null);
-              for (const [key, val] of Object.entries(value))
-                this.mapEntry(writer, options, field, key, val);
+            case 2:
+              msg += `one of type ${types[0]} or ${types[1]}`;
               break;
+            default: {
+              const last = types.pop();
+              msg += `one of type ${types.join(", ")}, or ${last}`;
+            }
+          }
+          if (instances.length > 0 || other.length > 0) {
+            msg += " or ";
           }
         }
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer);
-      }
-      mapEntry(writer, options, field, key, value) {
-        writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited);
-        writer.fork();
-        let keyValue = key;
-        switch (field.K) {
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.UINT32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-            keyValue = Number.parseInt(key);
-            break;
-          case reflection_info_1.ScalarType.BOOL:
-            assert_1.assert(key == "true" || key == "false");
-            keyValue = key == "true";
-            break;
-        }
-        this.scalar(writer, field.K, 1, keyValue, true);
-        switch (field.V.kind) {
-          case "scalar":
-            this.scalar(writer, field.V.T, 2, value, true);
-            break;
-          case "enum":
-            this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true);
-            break;
-          case "message":
-            this.message(writer, options, field.V.T(), 2, value);
-            break;
-        }
-        writer.join();
-      }
-      message(writer, options, handler2, fieldNo, value) {
-        if (value === void 0)
-          return;
-        handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options);
-        writer.join();
-      }
-      /**
-       * Write a single scalar value.
-       */
-      scalar(writer, type2, fieldNo, value, emitDefault) {
-        let [wireType, method, isDefault] = this.scalarInfo(type2, value);
-        if (!isDefault || emitDefault) {
-          writer.tag(fieldNo, wireType);
-          writer[method](value);
+        if (instances.length > 0) {
+          switch (instances.length) {
+            case 1:
+              msg += `an instance of ${instances[0]}`;
+              break;
+            case 2:
+              msg += `an instance of ${instances[0]} or ${instances[1]}`;
+              break;
+            default: {
+              const last = instances.pop();
+              msg += `an instance of ${instances.join(", ")}, or ${last}`;
+            }
+          }
+          if (other.length > 0) {
+            msg += " or ";
+          }
         }
-      }
-      /**
-       * Write an array of scalar values in packed format.
-       */
-      packed(writer, type2, fieldNo, value) {
-        if (!value.length)
-          return;
-        assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING);
-        writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited);
-        writer.fork();
-        let [, method] = this.scalarInfo(type2);
-        for (let i = 0; i < value.length; i++)
-          writer[method](value[i]);
-        writer.join();
-      }
-      /**
-       * Get information for writing a scalar value.
-       *
-       * Returns tuple:
-       * [0]: appropriate WireType
-       * [1]: name of the appropriate method of IBinaryWriter
-       * [2]: whether the given value is a default value
-       *
-       * If argument `value` is omitted, [2] is always false.
-       */
-      scalarInfo(type2, value) {
-        let t = binary_format_contract_1.WireType.Varint;
-        let m;
-        let i = value === void 0;
-        let d = value === 0;
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-            m = "int32";
-            break;
-          case reflection_info_1.ScalarType.STRING:
-            d = i || !value.length;
-            t = binary_format_contract_1.WireType.LengthDelimited;
-            m = "string";
-            break;
-          case reflection_info_1.ScalarType.BOOL:
-            d = value === false;
-            m = "bool";
-            break;
-          case reflection_info_1.ScalarType.UINT32:
-            m = "uint32";
-            break;
-          case reflection_info_1.ScalarType.DOUBLE:
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "double";
-            break;
-          case reflection_info_1.ScalarType.FLOAT:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "float";
-            break;
-          case reflection_info_1.ScalarType.INT64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            m = "int64";
-            break;
-          case reflection_info_1.ScalarType.UINT64:
-            d = i || pb_long_1.PbULong.from(value).isZero();
-            m = "uint64";
-            break;
-          case reflection_info_1.ScalarType.FIXED64:
-            d = i || pb_long_1.PbULong.from(value).isZero();
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "fixed64";
-            break;
-          case reflection_info_1.ScalarType.BYTES:
-            d = i || !value.byteLength;
-            t = binary_format_contract_1.WireType.LengthDelimited;
-            m = "bytes";
-            break;
-          case reflection_info_1.ScalarType.FIXED32:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "fixed32";
-            break;
-          case reflection_info_1.ScalarType.SFIXED32:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "sfixed32";
-            break;
-          case reflection_info_1.ScalarType.SFIXED64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "sfixed64";
+        switch (other.length) {
+          case 0:
             break;
-          case reflection_info_1.ScalarType.SINT32:
-            m = "sint32";
+          case 1:
+            if (other[0].toLowerCase() !== other[0]) {
+              msg += "an ";
+            }
+            msg += `${other[0]}`;
             break;
-          case reflection_info_1.ScalarType.SINT64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            m = "sint64";
+          case 2:
+            msg += `one of ${other[0]} or ${other[1]}`;
             break;
-        }
-        return [t, m, i || d];
-      }
-    };
-    exports2.ReflectionBinaryWriter = ReflectionBinaryWriter;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js
-var require_reflection_create = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionCreate = void 0;
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    var message_type_contract_1 = require_message_type_contract();
-    function reflectionCreate(type2) {
-      const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 });
-      for (let field of type2.fields) {
-        let name = field.localName;
-        if (field.opt)
-          continue;
-        if (field.oneof)
-          msg[field.oneof] = { oneofKind: void 0 };
-        else if (field.repeat)
-          msg[name] = [];
-        else
-          switch (field.kind) {
-            case "scalar":
-              msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L);
-              break;
-            case "enum":
-              msg[name] = 0;
-              break;
-            case "map":
-              msg[name] = {};
-              break;
-          }
-      }
-      return msg;
-    }
-    exports2.reflectionCreate = reflectionCreate;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js
-var require_reflection_merge_partial = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionMergePartial = void 0;
-    function reflectionMergePartial(info7, target, source) {
-      let fieldValue, input = source, output;
-      for (let field of info7.fields) {
-        let name = field.localName;
-        if (field.oneof) {
-          const group = input[field.oneof];
-          if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) {
-            continue;
+          default: {
+            const last = other.pop();
+            msg += `one of ${other.join(", ")}, or ${last}`;
           }
-          fieldValue = group[name];
-          output = target[field.oneof];
-          output.oneofKind = group.oneofKind;
-          if (fieldValue == void 0) {
-            delete output[name];
-            continue;
+        }
+        if (actual == null) {
+          msg += `. Received ${actual}`;
+        } else if (typeof actual === "function" && actual.name) {
+          msg += `. Received function ${actual.name}`;
+        } else if (typeof actual === "object") {
+          var _actual$constructor;
+          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
+            msg += `. Received an instance of ${actual.constructor.name}`;
+          } else {
+            const inspected = inspect(actual, {
+              depth: -1
+            });
+            msg += `. Received ${inspected}`;
           }
         } else {
-          fieldValue = input[name];
-          output = target;
-          if (fieldValue == void 0) {
-            continue;
+          let inspected = inspect(actual, {
+            colors: false
+          });
+          if (inspected.length > 25) {
+            inspected = `${inspected.slice(0, 25)}...`;
           }
+          msg += `. Received type ${typeof actual} (${inspected})`;
         }
-        if (field.repeat)
-          output[name].length = fieldValue.length;
-        switch (field.kind) {
-          case "scalar":
-          case "enum":
-            if (field.repeat)
-              for (let i = 0; i < fieldValue.length; i++)
-                output[name][i] = fieldValue[i];
-            else
-              output[name] = fieldValue;
+        return msg;
+      },
+      TypeError
+    );
+    E(
+      "ERR_INVALID_ARG_VALUE",
+      (name, value, reason = "is invalid") => {
+        let inspected = inspect(value);
+        if (inspected.length > 128) {
+          inspected = inspected.slice(0, 128) + "...";
+        }
+        const type2 = name.includes(".") ? "property" : "argument";
+        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_INVALID_RETURN_VALUE",
+      (input, name, value) => {
+        var _value$constructor;
+        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
+        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_MISSING_ARGS",
+      (...args) => {
+        assert(args.length > 0, "At least one arg needs to be specified");
+        let msg;
+        const len = args.length;
+        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
+        switch (len) {
+          case 1:
+            msg += `The ${args[0]} argument`;
             break;
-          case "message":
-            let T = field.T();
-            if (field.repeat)
-              for (let i = 0; i < fieldValue.length; i++)
-                output[name][i] = T.create(fieldValue[i]);
-            else if (output[name] === void 0)
-              output[name] = T.create(fieldValue);
-            else
-              T.mergePartial(output[name], fieldValue);
+          case 2:
+            msg += `The ${args[0]} and ${args[1]} arguments`;
             break;
-          case "map":
-            switch (field.V.kind) {
-              case "scalar":
-              case "enum":
-                Object.assign(output[name], fieldValue);
-                break;
-              case "message":
-                let T2 = field.V.T();
-                for (let k of Object.keys(fieldValue))
-                  output[name][k] = T2.create(fieldValue[k]);
-                break;
+          default:
+            {
+              const last = args.pop();
+              msg += `The ${args.join(", ")}, and ${last} arguments`;
             }
             break;
         }
-      }
-    }
-    exports2.reflectionMergePartial = reflectionMergePartial;
+        return `${msg} must be specified`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_OUT_OF_RANGE",
+      (str2, range, input) => {
+        assert(range, 'Missing "range" argument');
+        let received;
+        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
+          received = addNumericalSeparator(String(input));
+        } else if (typeof input === "bigint") {
+          received = String(input);
+          if (input > 2n ** 32n || input < -(2n ** 32n)) {
+            received = addNumericalSeparator(received);
+          }
+          received += "n";
+        } else {
+          received = inspect(input);
+        }
+        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
+      },
+      RangeError
+    );
+    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
+    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
+    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
+    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
+    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
+    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
+    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
+    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
+    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
+    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
+    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
+    module2.exports = {
+      AbortError,
+      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
+      hideStackFrames,
+      codes
+    };
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js
-var require_reflection_equals = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) {
+// node_modules/readable-stream/lib/internal/validators.js
+var require_validators = __commonJS({
+  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionEquals = void 0;
-    var reflection_info_1 = require_reflection_info();
-    function reflectionEquals(info7, a, b) {
-      if (a === b)
-        return true;
-      if (!a || !b)
-        return false;
-      for (let field of info7.fields) {
-        let localName = field.localName;
-        let val_a = field.oneof ? a[field.oneof][localName] : a[localName];
-        let val_b = field.oneof ? b[field.oneof][localName] : b[localName];
-        switch (field.kind) {
-          case "enum":
-          case "scalar":
-            let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-            if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b)))
-              return false;
-            break;
-          case "map":
-            if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b))))
-              return false;
-            break;
-          case "message":
-            let T = field.T();
-            if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b)))
-              return false;
-            break;
+    var {
+      ArrayIsArray,
+      ArrayPrototypeIncludes,
+      ArrayPrototypeJoin,
+      ArrayPrototypeMap,
+      NumberIsInteger,
+      NumberIsNaN,
+      NumberMAX_SAFE_INTEGER,
+      NumberMIN_SAFE_INTEGER,
+      NumberParseInt,
+      ObjectPrototypeHasOwnProperty,
+      RegExpPrototypeExec,
+      String: String2,
+      StringPrototypeToUpperCase,
+      StringPrototypeTrim
+    } = require_primordials();
+    var {
+      hideStackFrames,
+      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
+    } = require_errors5();
+    var { normalizeEncoding } = require_util21();
+    var { isAsyncFunction, isArrayBufferView } = require_util21().types;
+    var signals = {};
+    function isInt32(value) {
+      return value === (value | 0);
+    }
+    function isUint32(value) {
+      return value === value >>> 0;
+    }
+    var octalReg = /^[0-7]+$/;
+    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
+    function parseFileMode(value, name, def) {
+      if (typeof value === "undefined") {
+        value = def;
+      }
+      if (typeof value === "string") {
+        if (RegExpPrototypeExec(octalReg, value) === null) {
+          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
         }
+        value = NumberParseInt(value, 8);
       }
-      return true;
+      validateUint32(value, name);
+      return value;
     }
-    exports2.reflectionEquals = reflectionEquals;
-    var objectValues = Object.values;
-    function primitiveEq(type2, a, b) {
-      if (a === b)
-        return true;
-      if (type2 !== reflection_info_1.ScalarType.BYTES)
-        return false;
-      let ba = a;
-      let bb = b;
-      if (ba.length !== bb.length)
-        return false;
-      for (let i = 0; i < ba.length; i++)
-        if (ba[i] != bb[i])
-          return false;
-      return true;
+    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
+      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+    });
+    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
+      if (typeof value !== "number") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      }
+      if (!NumberIsInteger(value)) {
+        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      }
+      if (value < min || value > max) {
+        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      }
+    });
+    var validateUint32 = hideStackFrames((value, name, positive = false) => {
+      if (typeof value !== "number") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      }
+      if (!NumberIsInteger(value)) {
+        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      }
+      const min = positive ? 1 : 0;
+      const max = 4294967295;
+      if (value < min || value > max) {
+        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      }
+    });
+    function validateString(value, name) {
+      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
     }
-    function repeatedPrimitiveEq(type2, a, b) {
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; i++)
-        if (!primitiveEq(type2, a[i], b[i]))
-          return false;
-      return true;
+    function validateNumber(value, name, min = void 0, max) {
+      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
+        throw new ERR_OUT_OF_RANGE(
+          name,
+          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
+          value
+        );
+      }
     }
-    function repeatedMsgEq(type2, a, b) {
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; i++)
-        if (!type2.equals(a[i], b[i]))
-          return false;
-      return true;
+    var validateOneOf = hideStackFrames((value, name, oneOf) => {
+      if (!ArrayPrototypeIncludes(oneOf, value)) {
+        const allowed = ArrayPrototypeJoin(
+          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
+          ", "
+        );
+        const reason = "must be one of: " + allowed;
+        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      }
+    });
+    function validateBoolean(value, name) {
+      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
     }
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js
-var require_message_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MessageType = void 0;
-    var message_type_contract_1 = require_message_type_contract();
-    var reflection_info_1 = require_reflection_info();
-    var reflection_type_check_1 = require_reflection_type_check();
-    var reflection_json_reader_1 = require_reflection_json_reader();
-    var reflection_json_writer_1 = require_reflection_json_writer();
-    var reflection_binary_reader_1 = require_reflection_binary_reader();
-    var reflection_binary_writer_1 = require_reflection_binary_writer();
-    var reflection_create_1 = require_reflection_create();
-    var reflection_merge_partial_1 = require_reflection_merge_partial();
-    var json_typings_1 = require_json_typings();
-    var json_format_contract_1 = require_json_format_contract();
-    var reflection_equals_1 = require_reflection_equals();
-    var binary_writer_1 = require_binary_writer();
-    var binary_reader_1 = require_binary_reader();
-    var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({}));
-    var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {};
-    var MessageType = class {
-      constructor(name, fields, options) {
-        this.defaultCheckDepth = 16;
-        this.typeName = name;
-        this.fields = fields.map(reflection_info_1.normalizeFieldInfo);
-        this.options = options !== null && options !== void 0 ? options : {};
-        messageTypeDescriptor.value = this;
-        this.messagePrototype = Object.create(null, baseDescriptors);
-        this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this);
-        this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this);
-        this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this);
-        this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this);
-        this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this);
+    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
+      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
+    }
+    var validateObject = hideStackFrames((value, name, options = null) => {
+      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
+      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
+      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
+      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
       }
-      create(value) {
-        let message = reflection_create_1.reflectionCreate(this);
-        if (value !== void 0) {
-          reflection_merge_partial_1.reflectionMergePartial(this, message, value);
+    });
+    var validateDictionary = hideStackFrames((value, name) => {
+      if (value != null && typeof value !== "object" && typeof value !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
+      }
+    });
+    var validateArray = hideStackFrames((value, name, minLength = 0) => {
+      if (!ArrayIsArray(value)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
+      }
+      if (value.length < minLength) {
+        const reason = `must be longer than ${minLength}`;
+        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      }
+    });
+    function validateStringArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        validateString(value[i], `${name}[${i}]`);
+      }
+    }
+    function validateBooleanArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        validateBoolean(value[i], `${name}[${i}]`);
+      }
+    }
+    function validateAbortSignalArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        const signal = value[i];
+        const indexedName = `${name}[${i}]`;
+        if (signal == null) {
+          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
         }
-        return message;
+        validateAbortSignal(signal, indexedName);
       }
-      /**
-       * Clone the message.
-       *
-       * Unknown fields are discarded.
-       */
-      clone(message) {
-        let copy = this.create();
-        reflection_merge_partial_1.reflectionMergePartial(this, copy, message);
-        return copy;
+    }
+    function validateSignalName(signal, name = "signal") {
+      validateString(signal, name);
+      if (signals[signal] === void 0) {
+        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
+          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
+        }
+        throw new ERR_UNKNOWN_SIGNAL(signal);
       }
-      /**
-       * Determines whether two message of the same type have the same field values.
-       * Checks for deep equality, traversing repeated fields, oneof groups, maps
-       * and messages recursively.
-       * Will also return true if both messages are `undefined`.
-       */
-      equals(a, b) {
-        return reflection_equals_1.reflectionEquals(this, a, b);
+    }
+    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
+      if (!isArrayBufferView(buffer)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
       }
-      /**
-       * Is the given value assignable to our message type
-       * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
-       */
-      is(arg, depth = this.defaultCheckDepth) {
-        return this.refTypeCheck.is(arg, depth, false);
+    });
+    function validateEncoding(data, encoding) {
+      const normalizedEncoding = normalizeEncoding(encoding);
+      const length = data.length;
+      if (normalizedEncoding === "hex" && length % 2 !== 0) {
+        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
       }
-      /**
-       * Is the given value assignable to our message type,
-       * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
-       */
-      isAssignable(arg, depth = this.defaultCheckDepth) {
-        return this.refTypeCheck.is(arg, depth, true);
+    }
+    function validatePort(port, name = "Port", allowZero = true) {
+      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
+        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
       }
-      /**
-       * Copy partial data into the target message.
-       */
-      mergePartial(target, source) {
-        reflection_merge_partial_1.reflectionMergePartial(this, target, source);
+      return port | 0;
+    }
+    var validateAbortSignal = hideStackFrames((signal, name) => {
+      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
       }
-      /**
-       * Create a new message from binary format.
-       */
-      fromBinary(data, options) {
-        let opt = binary_reader_1.binaryReadOptions(options);
-        return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt);
+    });
+    var validateFunction = hideStackFrames((value, name) => {
+      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
+    });
+    var validatePlainFunction = hideStackFrames((value, name) => {
+      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
+    });
+    var validateUndefined = hideStackFrames((value, name) => {
+      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
+    });
+    function validateUnion(value, name, union) {
+      if (!ArrayPrototypeIncludes(union, value)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
       }
-      /**
-       * Read a new message from a JSON value.
-       */
-      fromJson(json2, options) {
-        return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options));
+    }
+    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
+    function validateLinkHeaderFormat(value, name) {
+      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
+        throw new ERR_INVALID_ARG_VALUE(
+          name,
+          value,
+          'must be an array or string of format "; rel=preload; as=style"'
+        );
       }
-      /**
-       * Read a new message from a JSON string.
-       * This is equivalent to `T.fromJson(JSON.parse(json))`.
-       */
-      fromJsonString(json2, options) {
-        let value = JSON.parse(json2);
-        return this.fromJson(value, options);
+    }
+    function validateLinkHeaderValue(hints) {
+      if (typeof hints === "string") {
+        validateLinkHeaderFormat(hints, "hints");
+        return hints;
+      } else if (ArrayIsArray(hints)) {
+        const hintsLength = hints.length;
+        let result = "";
+        if (hintsLength === 0) {
+          return result;
+        }
+        for (let i = 0; i < hintsLength; i++) {
+          const link = hints[i];
+          validateLinkHeaderFormat(link, "hints");
+          result += link;
+          if (i !== hintsLength - 1) {
+            result += ", ";
+          }
+        }
+        return result;
       }
-      /**
-       * Write the message to canonical JSON value.
-       */
-      toJson(message, options) {
-        return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options));
+      throw new ERR_INVALID_ARG_VALUE(
+        "hints",
+        hints,
+        'must be an array or string of format "; rel=preload; as=style"'
+      );
+    }
+    module2.exports = {
+      isInt32,
+      isUint32,
+      parseFileMode,
+      validateArray,
+      validateStringArray,
+      validateBooleanArray,
+      validateAbortSignalArray,
+      validateBoolean,
+      validateBuffer,
+      validateDictionary,
+      validateEncoding,
+      validateFunction,
+      validateInt32,
+      validateInteger,
+      validateNumber,
+      validateObject,
+      validateOneOf,
+      validatePlainFunction,
+      validatePort,
+      validateSignalName,
+      validateString,
+      validateUint32,
+      validateUndefined,
+      validateUnion,
+      validateAbortSignal,
+      validateLinkHeaderValue
+    };
+  }
+});
+
+// node_modules/process/index.js
+var require_process = __commonJS({
+  "node_modules/process/index.js"(exports2, module2) {
+    module2.exports = global.process;
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/utils.js
+var require_utils8 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
+    "use strict";
+    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
+    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
+    var kIsErrored = SymbolFor("nodejs.stream.errored");
+    var kIsReadable = SymbolFor("nodejs.stream.readable");
+    var kIsWritable = SymbolFor("nodejs.stream.writable");
+    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
+    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
+    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
+    function isReadableNodeStream(obj, strict = false) {
+      var _obj$_readableState;
+      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
+      (!obj._writableState || obj._readableState));
+    }
+    function isWritableNodeStream(obj) {
+      var _obj$_writableState;
+      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
+    }
+    function isDuplexNodeStream(obj) {
+      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
+    }
+    function isNodeStream(obj) {
+      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
+    }
+    function isReadableStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
+    }
+    function isWritableStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
+    }
+    function isTransformStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
+    }
+    function isWebStream(obj) {
+      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
+    }
+    function isIterable(obj, isAsync) {
+      if (obj == null) return false;
+      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
+      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
+      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
+    }
+    function isDestroyed(stream) {
+      if (!isNodeStream(stream)) return null;
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      const state = wState || rState;
+      return !!(stream.destroyed || stream[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
+    }
+    function isWritableEnded(stream) {
+      if (!isWritableNodeStream(stream)) return null;
+      if (stream.writableEnded === true) return true;
+      const wState = stream._writableState;
+      if (wState !== null && wState !== void 0 && wState.errored) return false;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
+      return wState.ended;
+    }
+    function isWritableFinished(stream, strict) {
+      if (!isWritableNodeStream(stream)) return null;
+      if (stream.writableFinished === true) return true;
+      const wState = stream._writableState;
+      if (wState !== null && wState !== void 0 && wState.errored) return false;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
+      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
+    }
+    function isReadableEnded(stream) {
+      if (!isReadableNodeStream(stream)) return null;
+      if (stream.readableEnded === true) return true;
+      const rState = stream._readableState;
+      if (!rState || rState.errored) return false;
+      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
+      return rState.ended;
+    }
+    function isReadableFinished(stream, strict) {
+      if (!isReadableNodeStream(stream)) return null;
+      const rState = stream._readableState;
+      if (rState !== null && rState !== void 0 && rState.errored) return false;
+      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
+      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
+    }
+    function isReadable(stream) {
+      if (stream && stream[kIsReadable] != null) return stream[kIsReadable];
+      if (typeof (stream === null || stream === void 0 ? void 0 : stream.readable) !== "boolean") return null;
+      if (isDestroyed(stream)) return false;
+      return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);
+    }
+    function isWritable(stream) {
+      if (stream && stream[kIsWritable] != null) return stream[kIsWritable];
+      if (typeof (stream === null || stream === void 0 ? void 0 : stream.writable) !== "boolean") return null;
+      if (isDestroyed(stream)) return false;
+      return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);
+    }
+    function isFinished(stream, opts) {
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      /**
-       * Convert the message to canonical JSON string.
-       * This is equivalent to `JSON.stringify(T.toJson(t))`
-       */
-      toJsonString(message, options) {
-        var _a;
-        let value = this.toJson(message, options);
-        return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);
+      if (isDestroyed(stream)) {
+        return true;
       }
-      /**
-       * Write the message to binary format.
-       */
-      toBinary(message, options) {
-        let opt = binary_writer_1.binaryWriteOptions(options);
-        return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish();
+      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream)) {
+        return false;
       }
-      /**
-       * This is an internal method. If you just want to read a message from
-       * JSON, use `fromJson()` or `fromJsonString()`.
-       *
-       * Reads JSON value and merges the fields into the target
-       * according to protobuf rules. If the target is omitted,
-       * a new instance is created first.
-       */
-      internalJsonRead(json2, options, target) {
-        if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) {
-          let message = target !== null && target !== void 0 ? target : this.create();
-          this.refJsonReader.read(json2, message, options);
-          return message;
-        }
-        throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`);
+      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream)) {
+        return false;
       }
-      /**
-       * This is an internal method. If you just want to write a message
-       * to JSON, use `toJson()` or `toJsonString().
-       *
-       * Writes JSON value and returns it.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.write(message, options);
+      return true;
+    }
+    function isWritableErrored(stream) {
+      var _stream$_writableStat, _stream$_writableStat2;
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      /**
-       * This is an internal method. If you just want to write a message
-       * in binary format, use `toBinary()`.
-       *
-       * Serializes the message in binary format and appends it to the given
-       * writer. Returns passed writer.
-       */
-      internalBinaryWrite(message, writer, options) {
-        this.refBinWriter.write(message, writer, options);
-        return writer;
+      if (stream.writableErrored) {
+        return stream.writableErrored;
       }
-      /**
-       * This is an internal method. If you just want to read a message from
-       * binary data, use `fromBinary()`.
-       *
-       * Reads data from binary format and merges the fields into
-       * the target according to protobuf rules. If the target is
-       * omitted, a new instance is created first.
-       */
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create();
-        this.refBinReader.read(reader, message, options, length);
-        return message;
+      return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
+    }
+    function isReadableErrored(stream) {
+      var _stream$_readableStat, _stream$_readableStat2;
+      if (!isNodeStream(stream)) {
+        return null;
       }
-    };
-    exports2.MessageType = MessageType;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js
-var require_reflection_contains_message_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.containsMessageType = void 0;
-    var message_type_contract_1 = require_message_type_contract();
-    function containsMessageType(msg) {
-      return msg[message_type_contract_1.MESSAGE_TYPE] != null;
+      if (stream.readableErrored) {
+        return stream.readableErrored;
+      }
+      return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
     }
-    exports2.containsMessageType = containsMessageType;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js
-var require_enum_object = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0;
-    function isEnumObject(arg) {
-      if (typeof arg != "object" || arg === null) {
-        return false;
+    function isClosed(stream) {
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      if (!arg.hasOwnProperty(0)) {
-        return false;
+      if (typeof stream.closed === "boolean") {
+        return stream.closed;
       }
-      for (let k of Object.keys(arg)) {
-        let num = parseInt(k);
-        if (!Number.isNaN(num)) {
-          let nam = arg[num];
-          if (nam === void 0)
-            return false;
-          if (arg[nam] !== num)
-            return false;
-        } else {
-          let num2 = arg[k];
-          if (num2 === void 0)
-            return false;
-          if (typeof num2 !== "number")
-            return false;
-          if (arg[num2] === void 0)
-            return false;
-        }
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
+        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
       }
-      return true;
-    }
-    exports2.isEnumObject = isEnumObject;
-    function listEnumValues(enumObject) {
-      if (!isEnumObject(enumObject))
-        throw new Error("not a typescript enum object");
-      let values = [];
-      for (let [name, number] of Object.entries(enumObject))
-        if (typeof number == "number")
-          values.push({ name, number });
-      return values;
+      if (typeof stream._closed === "boolean" && isOutgoingMessage(stream)) {
+        return stream._closed;
+      }
+      return null;
     }
-    exports2.listEnumValues = listEnumValues;
-    function listEnumNames(enumObject) {
-      return listEnumValues(enumObject).map((val) => val.name);
+    function isOutgoingMessage(stream) {
+      return typeof stream._closed === "boolean" && typeof stream._defaultKeepAlive === "boolean" && typeof stream._removedConnection === "boolean" && typeof stream._removedContLen === "boolean";
     }
-    exports2.listEnumNames = listEnumNames;
-    function listEnumNumbers(enumObject) {
-      return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index);
+    function isServerResponse(stream) {
+      return typeof stream._sent100 === "boolean" && isOutgoingMessage(stream);
     }
-    exports2.listEnumNumbers = listEnumNumbers;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/index.js
-var require_commonjs16 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var json_typings_1 = require_json_typings();
-    Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() {
-      return json_typings_1.typeofJsonValue;
-    } });
-    Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() {
-      return json_typings_1.isJsonObject;
-    } });
-    var base64_1 = require_base642();
-    Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() {
-      return base64_1.base64decode;
-    } });
-    Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() {
-      return base64_1.base64encode;
-    } });
-    var protobufjs_utf8_1 = require_protobufjs_utf8();
-    Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() {
-      return protobufjs_utf8_1.utf8read;
-    } });
-    var binary_format_contract_1 = require_binary_format_contract();
-    Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() {
-      return binary_format_contract_1.WireType;
-    } });
-    Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() {
-      return binary_format_contract_1.mergeBinaryOptions;
-    } });
-    Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() {
-      return binary_format_contract_1.UnknownFieldHandler;
-    } });
-    var binary_reader_1 = require_binary_reader();
-    Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() {
-      return binary_reader_1.BinaryReader;
-    } });
-    Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() {
-      return binary_reader_1.binaryReadOptions;
-    } });
-    var binary_writer_1 = require_binary_writer();
-    Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() {
-      return binary_writer_1.BinaryWriter;
-    } });
-    Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() {
-      return binary_writer_1.binaryWriteOptions;
-    } });
-    var pb_long_1 = require_pb_long();
-    Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() {
-      return pb_long_1.PbLong;
-    } });
-    Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() {
-      return pb_long_1.PbULong;
-    } });
-    var json_format_contract_1 = require_json_format_contract();
-    Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.jsonReadOptions;
-    } });
-    Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.jsonWriteOptions;
-    } });
-    Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.mergeJsonOptions;
-    } });
-    var message_type_contract_1 = require_message_type_contract();
-    Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() {
-      return message_type_contract_1.MESSAGE_TYPE;
-    } });
-    var message_type_1 = require_message_type();
-    Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() {
-      return message_type_1.MessageType;
-    } });
-    var reflection_info_1 = require_reflection_info();
-    Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() {
-      return reflection_info_1.ScalarType;
-    } });
-    Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() {
-      return reflection_info_1.LongType;
-    } });
-    Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() {
-      return reflection_info_1.RepeatType;
-    } });
-    Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() {
-      return reflection_info_1.normalizeFieldInfo;
-    } });
-    Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() {
-      return reflection_info_1.readFieldOptions;
-    } });
-    Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() {
-      return reflection_info_1.readFieldOption;
-    } });
-    Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() {
-      return reflection_info_1.readMessageOption;
-    } });
-    var reflection_type_check_1 = require_reflection_type_check();
-    Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() {
-      return reflection_type_check_1.ReflectionTypeCheck;
-    } });
-    var reflection_create_1 = require_reflection_create();
-    Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() {
-      return reflection_create_1.reflectionCreate;
-    } });
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() {
-      return reflection_scalar_default_1.reflectionScalarDefault;
-    } });
-    var reflection_merge_partial_1 = require_reflection_merge_partial();
-    Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() {
-      return reflection_merge_partial_1.reflectionMergePartial;
-    } });
-    var reflection_equals_1 = require_reflection_equals();
-    Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() {
-      return reflection_equals_1.reflectionEquals;
-    } });
-    var reflection_binary_reader_1 = require_reflection_binary_reader();
-    Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() {
-      return reflection_binary_reader_1.ReflectionBinaryReader;
-    } });
-    var reflection_binary_writer_1 = require_reflection_binary_writer();
-    Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() {
-      return reflection_binary_writer_1.ReflectionBinaryWriter;
-    } });
-    var reflection_json_reader_1 = require_reflection_json_reader();
-    Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() {
-      return reflection_json_reader_1.ReflectionJsonReader;
-    } });
-    var reflection_json_writer_1 = require_reflection_json_writer();
-    Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() {
-      return reflection_json_writer_1.ReflectionJsonWriter;
-    } });
-    var reflection_contains_message_type_1 = require_reflection_contains_message_type();
-    Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() {
-      return reflection_contains_message_type_1.containsMessageType;
-    } });
-    var oneof_1 = require_oneof();
-    Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() {
-      return oneof_1.isOneofGroup;
-    } });
-    Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() {
-      return oneof_1.setOneofValue;
-    } });
-    Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() {
-      return oneof_1.getOneofValue;
-    } });
-    Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() {
-      return oneof_1.clearOneofValue;
-    } });
-    Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() {
-      return oneof_1.getSelectedOneofValue;
-    } });
-    var enum_object_1 = require_enum_object();
-    Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() {
-      return enum_object_1.listEnumValues;
-    } });
-    Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() {
-      return enum_object_1.listEnumNames;
-    } });
-    Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() {
-      return enum_object_1.listEnumNumbers;
-    } });
-    Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() {
-      return enum_object_1.isEnumObject;
-    } });
-    var lower_camel_case_1 = require_lower_camel_case();
-    Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() {
-      return lower_camel_case_1.lowerCamelCase;
-    } });
-    var assert_1 = require_assert();
-    Object.defineProperty(exports2, "assert", { enumerable: true, get: function() {
-      return assert_1.assert;
-    } });
-    Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() {
-      return assert_1.assertNever;
-    } });
-    Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() {
-      return assert_1.assertInt32;
-    } });
-    Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() {
-      return assert_1.assertUInt32;
-    } });
-    Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() {
-      return assert_1.assertFloat32;
-    } });
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js
-var require_reflection_info2 = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0;
-    var runtime_1 = require_commonjs16();
-    function normalizeMethodInfo(method, service) {
-      var _a, _b, _c;
-      let m = method;
-      m.service = service;
-      m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name);
-      m.serverStreaming = !!m.serverStreaming;
-      m.clientStreaming = !!m.clientStreaming;
-      m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {};
-      m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0;
-      return m;
+    function isServerRequest(stream) {
+      var _stream$req;
+      return typeof stream._consuming === "boolean" && typeof stream._dumped === "boolean" && ((_stream$req = stream.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
     }
-    exports2.normalizeMethodInfo = normalizeMethodInfo;
-    function readMethodOptions(service, methodName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
-      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    function willEmitClose(stream) {
+      if (!isNodeStream(stream)) return null;
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      const state = wState || rState;
+      return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
     }
-    exports2.readMethodOptions = readMethodOptions;
-    function readMethodOption(service, methodName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
-      if (!options) {
-        return void 0;
-      }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
-      }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    function isDisturbed(stream) {
+      var _stream$kIsDisturbed;
+      return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));
     }
-    exports2.readMethodOption = readMethodOption;
-    function readServiceOption(service, extensionName, extensionType) {
-      const options = service.options;
-      if (!options) {
-        return void 0;
-      }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
-      }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    function isErrored(stream) {
+      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
+      return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
     }
-    exports2.readServiceOption = readServiceOption;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js
-var require_service_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceType = void 0;
-    var reflection_info_1 = require_reflection_info2();
-    var ServiceType = class {
-      constructor(typeName, methods, options) {
-        this.typeName = typeName;
-        this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this));
-        this.options = options !== null && options !== void 0 ? options : {};
-      }
+    module2.exports = {
+      isDestroyed,
+      kIsDestroyed,
+      isDisturbed,
+      kIsDisturbed,
+      isErrored,
+      kIsErrored,
+      isReadable,
+      kIsReadable,
+      kIsClosedPromise,
+      kControllerErrorFunction,
+      kIsWritable,
+      isClosed,
+      isDuplexNodeStream,
+      isFinished,
+      isIterable,
+      isReadableNodeStream,
+      isReadableStream,
+      isReadableEnded,
+      isReadableFinished,
+      isReadableErrored,
+      isNodeStream,
+      isWebStream,
+      isWritable,
+      isWritableNodeStream,
+      isWritableStream,
+      isWritableEnded,
+      isWritableFinished,
+      isWritableErrored,
+      isServerRequest,
+      isServerResponse,
+      willEmitClose,
+      isTransformStream
     };
-    exports2.ServiceType = ServiceType;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js
-var require_rpc_error = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RpcError = void 0;
-    var RpcError = class extends Error {
-      constructor(message, code = "UNKNOWN", meta) {
-        super(message);
-        this.name = "RpcError";
-        Object.setPrototypeOf(this, new.target.prototype);
-        this.code = code;
-        this.meta = meta !== null && meta !== void 0 ? meta : {};
+// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
+var require_end_of_stream = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
+    var process2 = require_process();
+    var { AbortError, codes } = require_errors5();
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
+    var { kEmptyObject, once } = require_util21();
+    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
+    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
+    var {
+      isClosed,
+      isReadable,
+      isReadableNodeStream,
+      isReadableStream,
+      isReadableFinished,
+      isReadableErrored,
+      isWritable,
+      isWritableNodeStream,
+      isWritableStream,
+      isWritableFinished,
+      isWritableErrored,
+      isNodeStream,
+      willEmitClose: _willEmitClose,
+      kIsClosedPromise
+    } = require_utils8();
+    var addAbortListener;
+    function isRequest(stream) {
+      return stream.setHeader && typeof stream.abort === "function";
+    }
+    var nop = () => {
+    };
+    function eos(stream, options, callback) {
+      var _options$readable, _options$writable;
+      if (arguments.length === 2) {
+        callback = options;
+        options = kEmptyObject;
+      } else if (options == null) {
+        options = kEmptyObject;
+      } else {
+        validateObject(options, "options");
       }
-      toString() {
-        const l = [this.name + ": " + this.message];
-        if (this.code) {
-          l.push("");
-          l.push("Code: " + this.code);
+      validateFunction(callback, "callback");
+      validateAbortSignal(options.signal, "options.signal");
+      callback = once(callback);
+      if (isReadableStream(stream) || isWritableStream(stream)) {
+        return eosWeb(stream, options, callback);
+      }
+      if (!isNodeStream(stream)) {
+        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+      }
+      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream);
+      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream);
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      const onlegacyfinish = () => {
+        if (!stream.writable) {
+          onfinish();
         }
-        if (this.serviceName && this.methodName) {
-          l.push("Method: " + this.serviceName + "/" + this.methodName);
+      };
+      let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable;
+      let writableFinished = isWritableFinished(stream, false);
+      const onfinish = () => {
+        writableFinished = true;
+        if (stream.destroyed) {
+          willEmitClose = false;
         }
-        let m = Object.entries(this.meta);
-        if (m.length) {
-          l.push("");
-          l.push("Meta:");
-          for (let [k, v] of m) {
-            l.push(`  ${k}: ${v}`);
-          }
+        if (willEmitClose && (!stream.readable || readable)) {
+          return;
         }
-        return l.join("\n");
+        if (!readable || readableFinished) {
+          callback.call(stream);
+        }
+      };
+      let readableFinished = isReadableFinished(stream, false);
+      const onend = () => {
+        readableFinished = true;
+        if (stream.destroyed) {
+          willEmitClose = false;
+        }
+        if (willEmitClose && (!stream.writable || writable)) {
+          return;
+        }
+        if (!writable || writableFinished) {
+          callback.call(stream);
+        }
+      };
+      const onerror = (err) => {
+        callback.call(stream, err);
+      };
+      let closed = isClosed(stream);
+      const onclose = () => {
+        closed = true;
+        const errored = isWritableErrored(stream) || isReadableErrored(stream);
+        if (errored && typeof errored !== "boolean") {
+          return callback.call(stream, errored);
+        }
+        if (readable && !readableFinished && isReadableNodeStream(stream, true)) {
+          if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
+        }
+        if (writable && !writableFinished) {
+          if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
+        }
+        callback.call(stream);
+      };
+      const onclosed = () => {
+        closed = true;
+        const errored = isWritableErrored(stream) || isReadableErrored(stream);
+        if (errored && typeof errored !== "boolean") {
+          return callback.call(stream, errored);
+        }
+        callback.call(stream);
+      };
+      const onrequest = () => {
+        stream.req.on("finish", onfinish);
+      };
+      if (isRequest(stream)) {
+        stream.on("complete", onfinish);
+        if (!willEmitClose) {
+          stream.on("abort", onclose);
+        }
+        if (stream.req) {
+          onrequest();
+        } else {
+          stream.on("request", onrequest);
+        }
+      } else if (writable && !wState) {
+        stream.on("end", onlegacyfinish);
+        stream.on("close", onlegacyfinish);
       }
-    };
-    exports2.RpcError = RpcError;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js
-var require_rpc_options = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.mergeRpcOptions = void 0;
-    var runtime_1 = require_commonjs16();
-    function mergeRpcOptions(defaults, options) {
-      if (!options)
-        return defaults;
-      let o = {};
-      copy(defaults, o);
-      copy(options, o);
-      for (let key of Object.keys(options)) {
-        let val = options[key];
-        switch (key) {
-          case "jsonOptions":
-            o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions);
-            break;
-          case "binaryOptions":
-            o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions);
-            break;
-          case "meta":
-            o.meta = {};
-            copy(defaults.meta, o.meta);
-            copy(options.meta, o.meta);
-            break;
-          case "interceptors":
-            o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat();
-            break;
+      if (!willEmitClose && typeof stream.aborted === "boolean") {
+        stream.on("aborted", onclose);
+      }
+      stream.on("end", onend);
+      stream.on("finish", onfinish);
+      if (options.error !== false) {
+        stream.on("error", onerror);
+      }
+      stream.on("close", onclose);
+      if (closed) {
+        process2.nextTick(onclose);
+      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
+        if (!willEmitClose) {
+          process2.nextTick(onclosed);
         }
+      } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === false)) {
+        process2.nextTick(onclosed);
+      } else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === false)) {
+        process2.nextTick(onclosed);
+      } else if (rState && stream.req && stream.aborted) {
+        process2.nextTick(onclosed);
       }
-      return o;
-    }
-    exports2.mergeRpcOptions = mergeRpcOptions;
-    function copy(a, into) {
-      if (!a)
-        return;
-      let c = into;
-      for (let [k, v] of Object.entries(a)) {
-        if (v instanceof Date)
-          c[k] = new Date(v.getTime());
-        else if (Array.isArray(v))
-          c[k] = v.concat();
-        else
-          c[k] = v;
+      const cleanup = () => {
+        callback = nop;
+        stream.removeListener("aborted", onclose);
+        stream.removeListener("complete", onfinish);
+        stream.removeListener("abort", onclose);
+        stream.removeListener("request", onrequest);
+        if (stream.req) stream.req.removeListener("finish", onfinish);
+        stream.removeListener("end", onlegacyfinish);
+        stream.removeListener("close", onlegacyfinish);
+        stream.removeListener("finish", onfinish);
+        stream.removeListener("end", onend);
+        stream.removeListener("error", onerror);
+        stream.removeListener("close", onclose);
+      };
+      if (options.signal && !closed) {
+        const abort = () => {
+          const endCallback = callback;
+          cleanup();
+          endCallback.call(
+            stream,
+            new AbortError(void 0, {
+              cause: options.signal.reason
+            })
+          );
+        };
+        if (options.signal.aborted) {
+          process2.nextTick(abort);
+        } else {
+          addAbortListener = addAbortListener || require_util21().addAbortListener;
+          const disposable = addAbortListener(options.signal, abort);
+          const originalCallback = callback;
+          callback = once((...args) => {
+            disposable[SymbolDispose]();
+            originalCallback.apply(stream, args);
+          });
+        }
       }
+      return cleanup;
     }
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js
-var require_deferred = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Deferred = exports2.DeferredState = void 0;
-    var DeferredState;
-    (function(DeferredState2) {
-      DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING";
-      DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED";
-      DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED";
-    })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {}));
-    var Deferred = class {
-      /**
-       * @param preventUnhandledRejectionWarning - prevents the warning
-       * "Unhandled Promise rejection" by adding a noop rejection handler.
-       * Working with calls returned from the runtime-rpc package in an
-       * async function usually means awaiting one call property after
-       * the other. This means that the "status" is not being awaited when
-       * an earlier await for the "headers" is rejected. This causes the
-       * "unhandled promise reject" warning. A more correct behaviour for
-       * calls might be to become aware whether at least one of the
-       * promises is handled and swallow the rejection warning for the
-       * others.
-       */
-      constructor(preventUnhandledRejectionWarning = true) {
-        this._state = DeferredState.PENDING;
-        this._promise = new Promise((resolve3, reject) => {
-          this._resolve = resolve3;
-          this._reject = reject;
-        });
-        if (preventUnhandledRejectionWarning) {
-          this._promise.catch((_2) => {
+    function eosWeb(stream, options, callback) {
+      let isAborted = false;
+      let abort = nop;
+      if (options.signal) {
+        abort = () => {
+          isAborted = true;
+          callback.call(
+            stream,
+            new AbortError(void 0, {
+              cause: options.signal.reason
+            })
+          );
+        };
+        if (options.signal.aborted) {
+          process2.nextTick(abort);
+        } else {
+          addAbortListener = addAbortListener || require_util21().addAbortListener;
+          const disposable = addAbortListener(options.signal, abort);
+          const originalCallback = callback;
+          callback = once((...args) => {
+            disposable[SymbolDispose]();
+            originalCallback.apply(stream, args);
           });
         }
       }
-      /**
-       * Get the current state of the promise.
-       */
-      get state() {
-        return this._state;
-      }
-      /**
-       * Get the deferred promise.
-       */
-      get promise() {
-        return this._promise;
-      }
-      /**
-       * Resolve the promise. Throws if the promise is already resolved or rejected.
-       */
-      resolve(value) {
-        if (this.state !== DeferredState.PENDING)
-          throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`);
-        this._resolve(value);
-        this._state = DeferredState.RESOLVED;
-      }
-      /**
-       * Reject the promise. Throws if the promise is already resolved or rejected.
-       */
-      reject(reason) {
-        if (this.state !== DeferredState.PENDING)
-          throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`);
-        this._reject(reason);
-        this._state = DeferredState.REJECTED;
-      }
-      /**
-       * Resolve the promise. Ignore if not pending.
-       */
-      resolvePending(val) {
-        if (this._state === DeferredState.PENDING)
-          this.resolve(val);
+      const resolverFn = (...args) => {
+        if (!isAborted) {
+          process2.nextTick(() => callback.apply(stream, args));
+        }
+      };
+      PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn);
+      return nop;
+    }
+    function finished(stream, opts) {
+      var _opts;
+      let autoCleanup = false;
+      if (opts === null) {
+        opts = kEmptyObject;
       }
-      /**
-       * Reject the promise. Ignore if not pending.
-       */
-      rejectPending(reason) {
-        if (this._state === DeferredState.PENDING)
-          this.reject(reason);
+      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
+        validateBoolean(opts.cleanup, "cleanup");
+        autoCleanup = opts.cleanup;
       }
-    };
-    exports2.Deferred = Deferred;
+      return new Promise2((resolve3, reject) => {
+        const cleanup = eos(stream, opts, (err) => {
+          if (autoCleanup) {
+            cleanup();
+          }
+          if (err) {
+            reject(err);
+          } else {
+            resolve3();
+          }
+        });
+      });
+    }
+    module2.exports = eos;
+    module2.exports.finished = finished;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js
-var require_rpc_output_stream = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/destroy.js
+var require_destroy2 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RpcOutputStreamController = void 0;
-    var deferred_1 = require_deferred();
-    var runtime_1 = require_commonjs16();
-    var RpcOutputStreamController = class {
-      constructor() {
-        this._lis = {
-          nxt: [],
-          msg: [],
-          err: [],
-          cmp: []
-        };
-        this._closed = false;
-        this._itState = { q: [] };
+    var process2 = require_process();
+    var {
+      aggregateTwoErrors,
+      codes: { ERR_MULTIPLE_CALLBACK },
+      AbortError
+    } = require_errors5();
+    var { Symbol: Symbol2 } = require_primordials();
+    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
+    var kDestroy = Symbol2("kDestroy");
+    var kConstruct = Symbol2("kConstruct");
+    function checkError(err, w, r) {
+      if (err) {
+        err.stack;
+        if (w && !w.errored) {
+          w.errored = err;
+        }
+        if (r && !r.errored) {
+          r.errored = err;
+        }
       }
-      // --- RpcOutputStream callback API
-      onNext(callback) {
-        return this.addLis(callback, this._lis.nxt);
+    }
+    function destroy(err, cb) {
+      const r = this._readableState;
+      const w = this._writableState;
+      const s = w || r;
+      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
+        if (typeof cb === "function") {
+          cb();
+        }
+        return this;
       }
-      onMessage(callback) {
-        return this.addLis(callback, this._lis.msg);
+      checkError(err, w, r);
+      if (w) {
+        w.destroyed = true;
       }
-      onError(callback) {
-        return this.addLis(callback, this._lis.err);
+      if (r) {
+        r.destroyed = true;
       }
-      onComplete(callback) {
-        return this.addLis(callback, this._lis.cmp);
+      if (!s.constructed) {
+        this.once(kDestroy, function(er) {
+          _destroy(this, aggregateTwoErrors(er, err), cb);
+        });
+      } else {
+        _destroy(this, err, cb);
       }
-      addLis(callback, list) {
-        list.push(callback);
-        return () => {
-          let i = list.indexOf(callback);
-          if (i >= 0)
-            list.splice(i, 1);
-        };
+      return this;
+    }
+    function _destroy(self2, err, cb) {
+      let called = false;
+      function onDestroy(err2) {
+        if (called) {
+          return;
+        }
+        called = true;
+        const r = self2._readableState;
+        const w = self2._writableState;
+        checkError(err2, w, r);
+        if (w) {
+          w.closed = true;
+        }
+        if (r) {
+          r.closed = true;
+        }
+        if (typeof cb === "function") {
+          cb(err2);
+        }
+        if (err2) {
+          process2.nextTick(emitErrorCloseNT, self2, err2);
+        } else {
+          process2.nextTick(emitCloseNT, self2);
+        }
       }
-      // remove all listeners
-      clearLis() {
-        for (let l of Object.values(this._lis))
-          l.splice(0, l.length);
+      try {
+        self2._destroy(err || null, onDestroy);
+      } catch (err2) {
+        onDestroy(err2);
       }
-      // --- Controller API
-      /**
-       * Is this stream already closed by a completion or error?
-       */
-      get closed() {
-        return this._closed !== false;
+    }
+    function emitErrorCloseNT(self2, err) {
+      emitErrorNT(self2, err);
+      emitCloseNT(self2);
+    }
+    function emitCloseNT(self2) {
+      const r = self2._readableState;
+      const w = self2._writableState;
+      if (w) {
+        w.closeEmitted = true;
       }
-      /**
-       * Emit message, close with error, or close successfully, but only one
-       * at a time.
-       * Can be used to wrap a stream by using the other stream's `onNext`.
-       */
-      notifyNext(message, error3, complete) {
-        runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time");
-        if (message)
-          this.notifyMessage(message);
-        if (error3)
-          this.notifyError(error3);
-        if (complete)
-          this.notifyComplete();
+      if (r) {
+        r.closeEmitted = true;
       }
-      /**
-       * Emits a new message. Throws if stream is closed.
-       *
-       * Triggers onNext and onMessage callbacks.
-       */
-      notifyMessage(message) {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this.pushIt({ value: message, done: false });
-        this._lis.msg.forEach((l) => l(message));
-        this._lis.nxt.forEach((l) => l(message, void 0, false));
+      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
+        self2.emit("close");
       }
-      /**
-       * Closes the stream with an error. Throws if stream is closed.
-       *
-       * Triggers onNext and onError callbacks.
-       */
-      notifyError(error3) {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this._closed = error3;
-        this.pushIt(error3);
-        this._lis.err.forEach((l) => l(error3));
-        this._lis.nxt.forEach((l) => l(void 0, error3, false));
-        this.clearLis();
+    }
+    function emitErrorNT(self2, err) {
+      const r = self2._readableState;
+      const w = self2._writableState;
+      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
+        return;
+      }
+      if (w) {
+        w.errorEmitted = true;
       }
-      /**
-       * Closes the stream successfully. Throws if stream is closed.
-       *
-       * Triggers onNext and onComplete callbacks.
-       */
-      notifyComplete() {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this._closed = true;
-        this.pushIt({ value: null, done: true });
-        this._lis.cmp.forEach((l) => l());
-        this._lis.nxt.forEach((l) => l(void 0, void 0, true));
-        this.clearLis();
+      if (r) {
+        r.errorEmitted = true;
       }
-      /**
-       * Creates an async iterator (that can be used with `for await {...}`)
-       * to consume the stream.
-       *
-       * Some things to note:
-       * - If an error occurs, the `for await` will throw it.
-       * - If an error occurred before the `for await` was started, `for await`
-       *   will re-throw it.
-       * - If the stream is already complete, the `for await` will be empty.
-       * - If your `for await` consumes slower than the stream produces,
-       *   for example because you are relaying messages in a slow operation,
-       *   messages are queued.
-       */
-      [Symbol.asyncIterator]() {
-        if (this._closed === true)
-          this.pushIt({ value: null, done: true });
-        else if (this._closed !== false)
-          this.pushIt(this._closed);
-        return {
-          next: () => {
-            let state = this._itState;
-            runtime_1.assert(state, "bad state");
-            runtime_1.assert(!state.p, "iterator contract broken");
-            let first = state.q.shift();
-            if (first)
-              return "value" in first ? Promise.resolve(first) : Promise.reject(first);
-            state.p = new deferred_1.Deferred();
-            return state.p.promise;
-          }
-        };
+      self2.emit("error", err);
+    }
+    function undestroy() {
+      const r = this._readableState;
+      const w = this._writableState;
+      if (r) {
+        r.constructed = true;
+        r.closed = false;
+        r.closeEmitted = false;
+        r.destroyed = false;
+        r.errored = null;
+        r.errorEmitted = false;
+        r.reading = false;
+        r.ended = r.readable === false;
+        r.endEmitted = r.readable === false;
       }
-      // "push" a new iterator result.
-      // this either resolves a pending promise, or enqueues the result.
-      pushIt(result) {
-        let state = this._itState;
-        if (state.p) {
-          const p = state.p;
-          runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken");
-          "value" in result ? p.resolve(result) : p.reject(result);
-          delete state.p;
-        } else {
-          state.q.push(result);
-        }
+      if (w) {
+        w.constructed = true;
+        w.destroyed = false;
+        w.closed = false;
+        w.closeEmitted = false;
+        w.errored = null;
+        w.errorEmitted = false;
+        w.finalCalled = false;
+        w.prefinished = false;
+        w.ended = w.writable === false;
+        w.ending = w.writable === false;
+        w.finished = w.writable === false;
       }
-    };
-    exports2.RpcOutputStreamController = RpcOutputStreamController;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js
-var require_unary_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+    }
+    function errorOrDestroy(stream, err, sync) {
+      const r = stream._readableState;
+      const w = stream._writableState;
+      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
+        return this;
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
+        stream.destroy(err);
+      else if (err) {
+        err.stack;
+        if (w && !w.errored) {
+          w.errored = err;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (r && !r.errored) {
+          r.errored = err;
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (sync) {
+          process2.nextTick(emitErrorNT, stream, err);
+        } else {
+          emitErrorNT(stream, err);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UnaryCall = void 0;
-    var UnaryCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.request = request2;
-        this.headers = headers;
-        this.response = response;
-        this.status = status;
-        this.trailers = trailers;
       }
-      /**
-       * If you are only interested in the final outcome of this call,
-       * you can await it to receive a `FinishedUnaryCall`.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+    }
+    function construct(stream, cb) {
+      if (typeof stream._construct !== "function") {
+        return;
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            request: this.request,
-            headers,
-            response,
-            status,
-            trailers
-          };
-        });
+      const r = stream._readableState;
+      const w = stream._writableState;
+      if (r) {
+        r.constructed = false;
       }
-    };
-    exports2.UnaryCall = UnaryCall;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js
-var require_server_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+      if (w) {
+        w.constructed = false;
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      stream.once(kConstruct, cb);
+      if (stream.listenerCount(kConstruct) > 1) {
+        return;
+      }
+      process2.nextTick(constructNT, stream);
+    }
+    function constructNT(stream) {
+      let called = false;
+      function onConstruct(err) {
+        if (called) {
+          errorOrDestroy(stream, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
+          return;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        called = true;
+        const r = stream._readableState;
+        const w = stream._writableState;
+        const s = w || r;
+        if (r) {
+          r.constructed = true;
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (w) {
+          w.constructed = true;
+        }
+        if (s.destroyed) {
+          stream.emit(kDestroy, err);
+        } else if (err) {
+          errorOrDestroy(stream, err, true);
+        } else {
+          process2.nextTick(emitConstructNT, stream);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServerStreamingCall = void 0;
-    var ServerStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.request = request2;
-        this.headers = headers;
-        this.responses = response;
-        this.status = status;
-        this.trailers = trailers;
-      }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * You should first setup some listeners to the `request` to
-       * see the actual messages the server replied with.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            request: this.request,
-            headers,
-            status,
-            trailers
-          };
+      try {
+        stream._construct((err) => {
+          process2.nextTick(onConstruct, err);
         });
+      } catch (err) {
+        process2.nextTick(onConstruct, err);
+      }
+    }
+    function emitConstructNT(stream) {
+      stream.emit(kConstruct);
+    }
+    function isRequest(stream) {
+      return (stream === null || stream === void 0 ? void 0 : stream.setHeader) && typeof stream.abort === "function";
+    }
+    function emitCloseLegacy(stream) {
+      stream.emit("close");
+    }
+    function emitErrorCloseLegacy(stream, err) {
+      stream.emit("error", err);
+      process2.nextTick(emitCloseLegacy, stream);
+    }
+    function destroyer(stream, err) {
+      if (!stream || isDestroyed(stream)) {
+        return;
       }
+      if (!err && !isFinished(stream)) {
+        err = new AbortError();
+      }
+      if (isServerRequest(stream)) {
+        stream.socket = null;
+        stream.destroy(err);
+      } else if (isRequest(stream)) {
+        stream.abort();
+      } else if (isRequest(stream.req)) {
+        stream.req.abort();
+      } else if (typeof stream.destroy === "function") {
+        stream.destroy(err);
+      } else if (typeof stream.close === "function") {
+        stream.close();
+      } else if (err) {
+        process2.nextTick(emitErrorCloseLegacy, stream, err);
+      } else {
+        process2.nextTick(emitCloseLegacy, stream);
+      }
+      if (!stream.destroyed) {
+        stream[kIsDestroyed] = true;
+      }
+    }
+    module2.exports = {
+      construct,
+      destroyer,
+      destroy,
+      undestroy,
+      errorOrDestroy
     };
-    exports2.ServerStreamingCall = ServerStreamingCall;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js
-var require_client_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/legacy.js
+var require_legacy = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
+    var { EventEmitter: EE } = require("events");
+    function Stream(opts) {
+      EE.call(this, opts);
+    }
+    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
+    ObjectSetPrototypeOf(Stream, EE);
+    Stream.prototype.pipe = function(dest, options) {
+      const source = this;
+      function ondata(chunk) {
+        if (dest.writable && dest.write(chunk) === false && source.pause) {
+          source.pause();
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      source.on("data", ondata);
+      function ondrain() {
+        if (source.readable && source.resume) {
+          source.resume();
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ClientStreamingCall = void 0;
-    var ClientStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.requests = request2;
-        this.headers = headers;
-        this.response = response;
-        this.status = status;
-        this.trailers = trailers;
       }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * Note that it may still be valid to send more request messages.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      dest.on("drain", ondrain);
+      if (!dest._isStdio && (!options || options.end !== false)) {
+        source.on("end", onend);
+        source.on("close", onclose);
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            headers,
-            response,
-            status,
-            trailers
-          };
-        });
+      let didOnEnd = false;
+      function onend() {
+        if (didOnEnd) return;
+        didOnEnd = true;
+        dest.end();
+      }
+      function onclose() {
+        if (didOnEnd) return;
+        didOnEnd = true;
+        if (typeof dest.destroy === "function") dest.destroy();
+      }
+      function onerror(er) {
+        cleanup();
+        if (EE.listenerCount(this, "error") === 0) {
+          this.emit("error", er);
+        }
       }
+      prependListener(source, "error", onerror);
+      prependListener(dest, "error", onerror);
+      function cleanup() {
+        source.removeListener("data", ondata);
+        dest.removeListener("drain", ondrain);
+        source.removeListener("end", onend);
+        source.removeListener("close", onclose);
+        source.removeListener("error", onerror);
+        dest.removeListener("error", onerror);
+        source.removeListener("end", cleanup);
+        source.removeListener("close", cleanup);
+        dest.removeListener("close", cleanup);
+      }
+      source.on("end", cleanup);
+      source.on("close", cleanup);
+      dest.on("close", cleanup);
+      dest.emit("pipe", source);
+      return dest;
+    };
+    function prependListener(emitter, event, fn) {
+      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
+      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
+      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
+      else emitter._events[event] = [fn, emitter._events[event]];
+    }
+    module2.exports = {
+      Stream,
+      prependListener
     };
-    exports2.ClientStreamingCall = ClientStreamingCall;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js
-var require_duplex_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
+var require_add_abort_signal = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+    var { SymbolDispose } = require_primordials();
+    var { AbortError, codes } = require_errors5();
+    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
+    var eos = require_end_of_stream();
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
+    var addAbortListener;
+    var validateAbortSignal = (signal, name) => {
+      if (typeof signal !== "object" || !("aborted" in signal)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DuplexStreamingCall = void 0;
-    var DuplexStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.requests = request2;
-        this.headers = headers;
-        this.responses = response;
-        this.status = status;
-        this.trailers = trailers;
+    module2.exports.addAbortSignal = function addAbortSignal(signal, stream) {
+      validateAbortSignal(signal, "signal");
+      if (!isNodeStream(stream) && !isWebStream(stream)) {
+        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
       }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * Note that it may still be valid to send more request messages.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      return module2.exports.addAbortSignalNoValidate(signal, stream);
+    };
+    module2.exports.addAbortSignalNoValidate = function(signal, stream) {
+      if (typeof signal !== "object" || !("aborted" in signal)) {
+        return stream;
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            headers,
-            status,
-            trailers
-          };
-        });
+      const onAbort = isNodeStream(stream) ? () => {
+        stream.destroy(
+          new AbortError(void 0, {
+            cause: signal.reason
+          })
+        );
+      } : () => {
+        stream[kControllerErrorFunction](
+          new AbortError(void 0, {
+            cause: signal.reason
+          })
+        );
+      };
+      if (signal.aborted) {
+        onAbort();
+      } else {
+        addAbortListener = addAbortListener || require_util21().addAbortListener;
+        const disposable = addAbortListener(signal, onAbort);
+        eos(stream, disposable[SymbolDispose]);
       }
+      return stream;
     };
-    exports2.DuplexStreamingCall = DuplexStreamingCall;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js
-var require_test_transport = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/buffer_list.js
+var require_buffer_list = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { inspect } = require_util21();
+    module2.exports = class BufferList {
+      constructor() {
+        this.head = null;
+        this.tail = null;
+        this.length = 0;
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TestTransport = void 0;
-    var rpc_error_1 = require_rpc_error();
-    var runtime_1 = require_commonjs16();
-    var rpc_output_stream_1 = require_rpc_output_stream();
-    var rpc_options_1 = require_rpc_options();
-    var unary_call_1 = require_unary_call();
-    var server_streaming_call_1 = require_server_streaming_call();
-    var client_streaming_call_1 = require_client_streaming_call();
-    var duplex_streaming_call_1 = require_duplex_streaming_call();
-    var TestTransport = class _TestTransport {
-      /**
-       * Initialize with mock data. Omitted fields have default value.
-       */
-      constructor(data) {
-        this.suppressUncaughtRejections = true;
-        this.headerDelay = 10;
-        this.responseDelay = 50;
-        this.betweenResponseDelay = 10;
-        this.afterResponseDelay = 10;
-        this.data = data !== null && data !== void 0 ? data : {};
+      push(v) {
+        const entry = {
+          data: v,
+          next: null
+        };
+        if (this.length > 0) this.tail.next = entry;
+        else this.head = entry;
+        this.tail = entry;
+        ++this.length;
       }
-      /**
-       * Sent message(s) during the last operation.
-       */
-      get sentMessages() {
-        if (this.lastInput instanceof TestInputStream) {
-          return this.lastInput.sent;
-        } else if (typeof this.lastInput == "object") {
-          return [this.lastInput.single];
+      unshift(v) {
+        const entry = {
+          data: v,
+          next: this.head
+        };
+        if (this.length === 0) this.tail = entry;
+        this.head = entry;
+        ++this.length;
+      }
+      shift() {
+        if (this.length === 0) return;
+        const ret = this.head.data;
+        if (this.length === 1) this.head = this.tail = null;
+        else this.head = this.head.next;
+        --this.length;
+        return ret;
+      }
+      clear() {
+        this.head = this.tail = null;
+        this.length = 0;
+      }
+      join(s) {
+        if (this.length === 0) return "";
+        let p = this.head;
+        let ret = "" + p.data;
+        while ((p = p.next) !== null) ret += s + p.data;
+        return ret;
+      }
+      concat(n) {
+        if (this.length === 0) return Buffer2.alloc(0);
+        const ret = Buffer2.allocUnsafe(n >>> 0);
+        let p = this.head;
+        let i = 0;
+        while (p) {
+          TypedArrayPrototypeSet(ret, p.data, i);
+          i += p.data.length;
+          p = p.next;
         }
-        return [];
+        return ret;
       }
-      /**
-       * Sending message(s) completed?
-       */
-      get sendComplete() {
-        if (this.lastInput instanceof TestInputStream) {
-          return this.lastInput.completed;
-        } else if (typeof this.lastInput == "object") {
-          return true;
+      // Consumes a specified amount of bytes or characters from the buffered data.
+      consume(n, hasStrings) {
+        const data = this.head.data;
+        if (n < data.length) {
+          const slice = data.slice(0, n);
+          this.head.data = data.slice(n);
+          return slice;
         }
-        return false;
+        if (n === data.length) {
+          return this.shift();
+        }
+        return hasStrings ? this._getString(n) : this._getBuffer(n);
       }
-      // Creates a promise for response headers from the mock data.
-      promiseHeaders() {
-        var _a;
-        const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders;
-        return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers);
+      first() {
+        return this.head.data;
       }
-      // Creates a promise for a single, valid, message from the mock data.
-      promiseSingleResponse(method) {
-        if (this.data.response instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.response);
-        }
-        let r;
-        if (Array.isArray(this.data.response)) {
-          runtime_1.assert(this.data.response.length > 0);
-          r = this.data.response[0];
-        } else if (this.data.response !== void 0) {
-          r = this.data.response;
-        } else {
-          r = method.O.create();
+      *[SymbolIterator]() {
+        for (let p = this.head; p; p = p.next) {
+          yield p.data;
         }
-        runtime_1.assert(method.O.is(r));
-        return Promise.resolve(r);
       }
-      /**
-       * Pushes response messages from the mock data to the output stream.
-       * If an error response, status or trailers are mocked, the stream is
-       * closed with the respective error.
-       * Otherwise, stream is completed successfully.
-       *
-       * The returned promise resolves when the stream is closed. It should
-       * not reject. If it does, code is broken.
-       */
-      streamResponses(method, stream, abort) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const messages = [];
-          if (this.data.response === void 0) {
-            messages.push(method.O.create());
-          } else if (Array.isArray(this.data.response)) {
-            for (let msg of this.data.response) {
-              runtime_1.assert(method.O.is(msg));
-              messages.push(msg);
+      // Consumes a specified amount of characters from the buffered data.
+      _getString(n) {
+        let ret = "";
+        let p = this.head;
+        let c = 0;
+        do {
+          const str2 = p.data;
+          if (n > str2.length) {
+            ret += str2;
+            n -= str2.length;
+          } else {
+            if (n === str2.length) {
+              ret += str2;
+              ++c;
+              if (p.next) this.head = p.next;
+              else this.head = this.tail = null;
+            } else {
+              ret += StringPrototypeSlice(str2, 0, n);
+              this.head = p;
+              p.data = StringPrototypeSlice(str2, n);
             }
-          } else if (!(this.data.response instanceof rpc_error_1.RpcError)) {
-            runtime_1.assert(method.O.is(this.data.response));
-            messages.push(this.data.response);
-          }
-          try {
-            yield delay(this.responseDelay, abort)(void 0);
-          } catch (error3) {
-            stream.notifyError(error3);
-            return;
-          }
-          if (this.data.response instanceof rpc_error_1.RpcError) {
-            stream.notifyError(this.data.response);
-            return;
+            break;
           }
-          for (let msg of messages) {
-            stream.notifyMessage(msg);
-            try {
-              yield delay(this.betweenResponseDelay, abort)(void 0);
-            } catch (error3) {
-              stream.notifyError(error3);
-              return;
+          ++c;
+        } while ((p = p.next) !== null);
+        this.length -= c;
+        return ret;
+      }
+      // Consumes a specified amount of bytes from the buffered data.
+      _getBuffer(n) {
+        const ret = Buffer2.allocUnsafe(n);
+        const retLen = n;
+        let p = this.head;
+        let c = 0;
+        do {
+          const buf = p.data;
+          if (n > buf.length) {
+            TypedArrayPrototypeSet(ret, buf, retLen - n);
+            n -= buf.length;
+          } else {
+            if (n === buf.length) {
+              TypedArrayPrototypeSet(ret, buf, retLen - n);
+              ++c;
+              if (p.next) this.head = p.next;
+              else this.head = this.tail = null;
+            } else {
+              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
+              this.head = p;
+              p.data = buf.slice(n);
             }
+            break;
           }
-          if (this.data.status instanceof rpc_error_1.RpcError) {
-            stream.notifyError(this.data.status);
-            return;
-          }
-          if (this.data.trailers instanceof rpc_error_1.RpcError) {
-            stream.notifyError(this.data.trailers);
-            return;
-          }
-          stream.notifyComplete();
-        });
+          ++c;
+        } while ((p = p.next) !== null);
+        this.length -= c;
+        return ret;
       }
-      // Creates a promise for response status from the mock data.
-      promiseStatus() {
-        var _a;
-        const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus;
-        return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status);
+      // Make sure the linked list only shows the minimal necessary information.
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
+        return inspect(this, {
+          ...options,
+          // Only inspect one level.
+          depth: 0,
+          // It should not recurse.
+          customInspect: false
+        });
       }
-      // Creates a promise for response trailers from the mock data.
-      promiseTrailers() {
-        var _a;
-        const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers;
-        return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers);
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/state.js
+var require_state3 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
+    "use strict";
+    var { MathFloor, NumberIsInteger } = require_primordials();
+    var { validateInteger } = require_validators();
+    var { ERR_INVALID_ARG_VALUE } = require_errors5().codes;
+    var defaultHighWaterMarkBytes = 16 * 1024;
+    var defaultHighWaterMarkObjectMode = 16;
+    function highWaterMarkFrom(options, isDuplex, duplexKey) {
+      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
+    }
+    function getDefaultHighWaterMark(objectMode) {
+      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
+    }
+    function setDefaultHighWaterMark(objectMode, value) {
+      validateInteger(value, "value", 0);
+      if (objectMode) {
+        defaultHighWaterMarkObjectMode = value;
+      } else {
+        defaultHighWaterMarkBytes = value;
       }
-      maybeSuppressUncaught(...promise) {
-        if (this.suppressUncaughtRejections) {
-          for (let p of promise) {
-            p.catch(() => {
-            });
-          }
+    }
+    function getHighWaterMark(state, options, duplexKey, isDuplex) {
+      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
+      if (hwm != null) {
+        if (!NumberIsInteger(hwm) || hwm < 0) {
+          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
+          throw new ERR_INVALID_ARG_VALUE(name, hwm);
         }
+        return MathFloor(hwm);
       }
-      mergeOptions(options) {
-        return rpc_options_1.mergeRpcOptions({}, options);
-      }
-      unary(method, input, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
-        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = { single: input };
-        return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise);
-      }
-      serverStreaming(method, input, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
-        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = { single: input };
-        return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise);
-      }
-      clientStreaming(method, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
-        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = new TestInputStream(this.data, options.abort);
-        return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise);
-      }
-      duplex(method, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
-        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = new TestInputStream(this.data, options.abort);
-        return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise);
-      }
-    };
-    exports2.TestTransport = TestTransport;
-    TestTransport.defaultHeaders = {
-      responseHeader: "test"
-    };
-    TestTransport.defaultStatus = {
-      code: "OK",
-      detail: "all good"
-    };
-    TestTransport.defaultTrailers = {
-      responseTrailer: "test"
+      return getDefaultHighWaterMark(state.objectMode);
+    }
+    module2.exports = {
+      getHighWaterMark,
+      getDefaultHighWaterMark,
+      setDefaultHighWaterMark
     };
-    function delay(ms, abort) {
-      return (v) => new Promise((resolve3, reject) => {
-        if (abort === null || abort === void 0 ? void 0 : abort.aborted) {
-          reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
-        } else {
-          const id = setTimeout(() => resolve3(v), ms);
-          if (abort) {
-            abort.addEventListener("abort", (ev) => {
-              clearTimeout(id);
-              reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
-            });
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/from.js
+var require_from = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
+    "use strict";
+    var process2 = require_process();
+    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors5().codes;
+    function from(Readable, iterable, opts) {
+      let iterator2;
+      if (typeof iterable === "string" || iterable instanceof Buffer2) {
+        return new Readable({
+          objectMode: true,
+          ...opts,
+          read() {
+            this.push(iterable);
+            this.push(null);
           }
-        }
-      });
-    }
-    var TestInputStream = class {
-      constructor(data, abort) {
-        this._completed = false;
-        this._sent = [];
-        this.data = data;
-        this.abort = abort;
-      }
-      get sent() {
-        return this._sent;
+        });
       }
-      get completed() {
-        return this._completed;
+      let isAsync;
+      if (iterable && iterable[SymbolAsyncIterator]) {
+        isAsync = true;
+        iterator2 = iterable[SymbolAsyncIterator]();
+      } else if (iterable && iterable[SymbolIterator]) {
+        isAsync = false;
+        iterator2 = iterable[SymbolIterator]();
+      } else {
+        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
       }
-      send(message) {
-        if (this.data.inputMessage instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.inputMessage);
+      const readable = new Readable({
+        objectMode: true,
+        highWaterMark: 1,
+        // TODO(ronag): What options should be allowed?
+        ...opts
+      });
+      let reading = false;
+      readable._read = function() {
+        if (!reading) {
+          reading = true;
+          next();
+        }
+      };
+      readable._destroy = function(error3, cb) {
+        PromisePrototypeThen(
+          close(error3),
+          () => process2.nextTick(cb, error3),
+          // nextTick is here in case cb throws
+          (e) => process2.nextTick(cb, e || error3)
+        );
+      };
+      async function close(error3) {
+        const hadError = error3 !== void 0 && error3 !== null;
+        const hasThrow = typeof iterator2.throw === "function";
+        if (hadError && hasThrow) {
+          const { value, done } = await iterator2.throw(error3);
+          await value;
+          if (done) {
+            return;
+          }
+        }
+        if (typeof iterator2.return === "function") {
+          const { value } = await iterator2.return();
+          await value;
         }
-        const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage;
-        return Promise.resolve(void 0).then(() => {
-          this._sent.push(message);
-        }).then(delay(delayMs, this.abort));
       }
-      complete() {
-        if (this.data.inputComplete instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.inputComplete);
+      async function next() {
+        for (; ; ) {
+          try {
+            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
+            if (done) {
+              readable.push(null);
+            } else {
+              const res = value && typeof value.then === "function" ? await value : value;
+              if (res === null) {
+                reading = false;
+                throw new ERR_STREAM_NULL_VALUES();
+              } else if (readable.push(res)) {
+                continue;
+              } else {
+                reading = false;
+              }
+            }
+          } catch (err) {
+            readable.destroy(err);
+          }
+          break;
         }
-        const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete;
-        return Promise.resolve(void 0).then(() => {
-          this._completed = true;
-        }).then(delay(delayMs, this.abort));
       }
-    };
+      return readable;
+    }
+    module2.exports = from;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js
-var require_rpc_interceptor = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0;
-    var runtime_1 = require_commonjs16();
-    function stackIntercept(kind, transport, method, options, input) {
-      var _a, _b, _c, _d;
-      if (kind == "unary") {
-        let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt);
-        for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) {
-          const next = tail;
-          tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt);
-        }
-        return tail(method, input, options);
-      }
-      if (kind == "serverStreaming") {
-        let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt);
-        for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) {
-          const next = tail;
-          tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt);
+// node_modules/readable-stream/lib/internal/streams/readable.js
+var require_readable4 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
+    var process2 = require_process();
+    var {
+      ArrayPrototypeIndexOf,
+      NumberIsInteger,
+      NumberIsNaN,
+      NumberParseInt,
+      ObjectDefineProperties,
+      ObjectKeys,
+      ObjectSetPrototypeOf,
+      Promise: Promise2,
+      SafeSet,
+      SymbolAsyncDispose,
+      SymbolAsyncIterator,
+      Symbol: Symbol2
+    } = require_primordials();
+    module2.exports = Readable;
+    Readable.ReadableState = ReadableState;
+    var { EventEmitter: EE } = require("events");
+    var { Stream, prependListener } = require_legacy();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { addAbortSignal } = require_add_abort_signal();
+    var eos = require_end_of_stream();
+    var debug4 = require_util21().debuglog("stream", (fn) => {
+      debug4 = fn;
+    });
+    var BufferList = require_buffer_list();
+    var destroyImpl = require_destroy2();
+    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var {
+      aggregateTwoErrors,
+      codes: {
+        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+        ERR_METHOD_NOT_IMPLEMENTED,
+        ERR_OUT_OF_RANGE,
+        ERR_STREAM_PUSH_AFTER_EOF,
+        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
+      },
+      AbortError
+    } = require_errors5();
+    var { validateObject } = require_validators();
+    var kPaused = Symbol2("kPaused");
+    var { StringDecoder } = require("string_decoder");
+    var from = require_from();
+    ObjectSetPrototypeOf(Readable.prototype, Stream.prototype);
+    ObjectSetPrototypeOf(Readable, Stream);
+    var nop = () => {
+    };
+    var { errorOrDestroy } = destroyImpl;
+    var kObjectMode = 1 << 0;
+    var kEnded = 1 << 1;
+    var kEndEmitted = 1 << 2;
+    var kReading = 1 << 3;
+    var kConstructed = 1 << 4;
+    var kSync = 1 << 5;
+    var kNeedReadable = 1 << 6;
+    var kEmittedReadable = 1 << 7;
+    var kReadableListening = 1 << 8;
+    var kResumeScheduled = 1 << 9;
+    var kErrorEmitted = 1 << 10;
+    var kEmitClose = 1 << 11;
+    var kAutoDestroy = 1 << 12;
+    var kDestroyed = 1 << 13;
+    var kClosed = 1 << 14;
+    var kCloseEmitted = 1 << 15;
+    var kMultiAwaitDrain = 1 << 16;
+    var kReadingMore = 1 << 17;
+    var kDataEmitted = 1 << 18;
+    function makeBitMapDescriptor(bit) {
+      return {
+        enumerable: false,
+        get() {
+          return (this.state & bit) !== 0;
+        },
+        set(value) {
+          if (value) this.state |= bit;
+          else this.state &= ~bit;
         }
-        return tail(method, input, options);
+      };
+    }
+    ObjectDefineProperties(ReadableState.prototype, {
+      objectMode: makeBitMapDescriptor(kObjectMode),
+      ended: makeBitMapDescriptor(kEnded),
+      endEmitted: makeBitMapDescriptor(kEndEmitted),
+      reading: makeBitMapDescriptor(kReading),
+      // Stream is still being constructed and cannot be
+      // destroyed until construction finished or failed.
+      // Async construction is opt in, therefore we start as
+      // constructed.
+      constructed: makeBitMapDescriptor(kConstructed),
+      // A flag to be able to tell if the event 'readable'/'data' is emitted
+      // immediately, or on a later tick.  We set this to true at first, because
+      // any actions that shouldn't happen until "later" should generally also
+      // not happen before the first read call.
+      sync: makeBitMapDescriptor(kSync),
+      // Whenever we return null, then we set a flag to say
+      // that we're awaiting a 'readable' event emission.
+      needReadable: makeBitMapDescriptor(kNeedReadable),
+      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
+      readableListening: makeBitMapDescriptor(kReadableListening),
+      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
+      // True if the error was already emitted and should not be thrown again.
+      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
+      emitClose: makeBitMapDescriptor(kEmitClose),
+      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
+      // Has it been destroyed.
+      destroyed: makeBitMapDescriptor(kDestroyed),
+      // Indicates whether the stream has finished destroying.
+      closed: makeBitMapDescriptor(kClosed),
+      // True if close has been emitted or would have been emitted
+      // depending on emitClose.
+      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
+      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
+      // If true, a maybeReadMore has been scheduled.
+      readingMore: makeBitMapDescriptor(kReadingMore),
+      dataEmitted: makeBitMapDescriptor(kDataEmitted)
+    });
+    function ReadableState(options, stream, isDuplex) {
+      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
+      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
+      if (options && options.objectMode) this.state |= kObjectMode;
+      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
+      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
+      this.buffer = new BufferList();
+      this.length = 0;
+      this.pipes = [];
+      this.flowing = null;
+      this[kPaused] = null;
+      if (options && options.emitClose === false) this.state &= ~kEmitClose;
+      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
+      this.errored = null;
+      this.defaultEncoding = options && options.defaultEncoding || "utf8";
+      this.awaitDrainWriters = null;
+      this.decoder = null;
+      this.encoding = null;
+      if (options && options.encoding) {
+        this.decoder = new StringDecoder(options.encoding);
+        this.encoding = options.encoding;
       }
-      if (kind == "clientStreaming") {
-        let tail = (mtd, opt) => transport.clientStreaming(mtd, opt);
-        for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) {
-          const next = tail;
-          tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt);
-        }
-        return tail(method, options);
+    }
+    function Readable(options) {
+      if (!(this instanceof Readable)) return new Readable(options);
+      const isDuplex = this instanceof require_duplex();
+      this._readableState = new ReadableState(options, this, isDuplex);
+      if (options) {
+        if (typeof options.read === "function") this._read = options.read;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.construct === "function") this._construct = options.construct;
+        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
       }
-      if (kind == "duplex") {
-        let tail = (mtd, opt) => transport.duplex(mtd, opt);
-        for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) {
-          const next = tail;
-          tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt);
+      Stream.call(this, options);
+      destroyImpl.construct(this, () => {
+        if (this._readableState.needReadable) {
+          maybeReadMore(this, this._readableState);
         }
-        return tail(method, options);
-      }
-      runtime_1.assertNever(kind);
-    }
-    exports2.stackIntercept = stackIntercept;
-    function stackUnaryInterceptors(transport, method, input, options) {
-      return stackIntercept("unary", transport, method, options, input);
-    }
-    exports2.stackUnaryInterceptors = stackUnaryInterceptors;
-    function stackServerStreamingInterceptors(transport, method, input, options) {
-      return stackIntercept("serverStreaming", transport, method, options, input);
-    }
-    exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors;
-    function stackClientStreamingInterceptors(transport, method, options) {
-      return stackIntercept("clientStreaming", transport, method, options);
-    }
-    exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors;
-    function stackDuplexStreamingInterceptors(transport, method, options) {
-      return stackIntercept("duplex", transport, method, options);
+      });
     }
-    exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js
-var require_server_call_context = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServerCallContextController = void 0;
-    var ServerCallContextController = class {
-      constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) {
-        this._cancelled = false;
-        this._listeners = [];
-        this.method = method;
-        this.headers = headers;
-        this.deadline = deadline;
-        this.trailers = {};
-        this._sendRH = sendResponseHeadersFn;
-        this.status = defaultStatus;
+    Readable.prototype.destroy = destroyImpl.destroy;
+    Readable.prototype._undestroy = destroyImpl.undestroy;
+    Readable.prototype._destroy = function(err, cb) {
+      cb(err);
+    };
+    Readable.prototype[EE.captureRejectionSymbol] = function(err) {
+      this.destroy(err);
+    };
+    Readable.prototype[SymbolAsyncDispose] = function() {
+      let error3;
+      if (!this.destroyed) {
+        error3 = this.readableEnded ? null : new AbortError();
+        this.destroy(error3);
       }
-      /**
-       * Set the call cancelled.
-       *
-       * Invokes all callbacks registered with onCancel() and
-       * sets `cancelled = true`.
-       */
-      notifyCancelled() {
-        if (!this._cancelled) {
-          this._cancelled = true;
-          for (let l of this._listeners) {
-            l();
+      return new Promise2((resolve3, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve3(null)));
+    };
+    Readable.prototype.push = function(chunk, encoding) {
+      return readableAddChunk(this, chunk, encoding, false);
+    };
+    Readable.prototype.unshift = function(chunk, encoding) {
+      return readableAddChunk(this, chunk, encoding, true);
+    };
+    function readableAddChunk(stream, chunk, encoding, addToFront) {
+      debug4("readableAddChunk", chunk);
+      const state = stream._readableState;
+      let err;
+      if ((state.state & kObjectMode) === 0) {
+        if (typeof chunk === "string") {
+          encoding = encoding || state.defaultEncoding;
+          if (state.encoding !== encoding) {
+            if (addToFront && state.encoding) {
+              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
+            } else {
+              chunk = Buffer2.from(chunk, encoding);
+              encoding = "";
+            }
           }
+        } else if (chunk instanceof Buffer2) {
+          encoding = "";
+        } else if (Stream._isUint8Array(chunk)) {
+          chunk = Stream._uint8ArrayToBuffer(chunk);
+          encoding = "";
+        } else if (chunk != null) {
+          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
         }
       }
-      /**
-       * Send response headers.
-       */
-      sendResponseHeaders(data) {
-        this._sendRH(data);
+      if (err) {
+        errorOrDestroy(stream, err);
+      } else if (chunk === null) {
+        state.state &= ~kReading;
+        onEofChunk(stream, state);
+      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
+        if (addToFront) {
+          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
+          else if (state.destroyed || state.errored) return false;
+          else addChunk(stream, state, chunk, true);
+        } else if (state.ended) {
+          errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
+        } else if (state.destroyed || state.errored) {
+          return false;
+        } else {
+          state.state &= ~kReading;
+          if (state.decoder && !encoding) {
+            chunk = state.decoder.write(chunk);
+            if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
+            else maybeReadMore(stream, state);
+          } else {
+            addChunk(stream, state, chunk, false);
+          }
+        }
+      } else if (!addToFront) {
+        state.state &= ~kReading;
+        maybeReadMore(stream, state);
       }
-      /**
-       * Is the call cancelled?
-       *
-       * When the client closes the connection before the server
-       * is done, the call is cancelled.
-       *
-       * If you want to cancel a request on the server, throw a
-       * RpcError with the CANCELLED status code.
-       */
-      get cancelled() {
-        return this._cancelled;
+      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
+    }
+    function addChunk(stream, state, chunk, addToFront) {
+      if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount("data") > 0) {
+        if ((state.state & kMultiAwaitDrain) !== 0) {
+          state.awaitDrainWriters.clear();
+        } else {
+          state.awaitDrainWriters = null;
+        }
+        state.dataEmitted = true;
+        stream.emit("data", chunk);
+      } else {
+        state.length += state.objectMode ? 1 : chunk.length;
+        if (addToFront) state.buffer.unshift(chunk);
+        else state.buffer.push(chunk);
+        if ((state.state & kNeedReadable) !== 0) emitReadable(stream);
       }
-      /**
-       * Add a callback for cancellation.
-       */
-      onCancel(callback) {
-        const l = this._listeners;
-        l.push(callback);
-        return () => {
-          let i = l.indexOf(callback);
-          if (i >= 0)
-            l.splice(i, 1);
-        };
+      maybeReadMore(stream, state);
+    }
+    Readable.prototype.isPaused = function() {
+      const state = this._readableState;
+      return state[kPaused] === true || state.flowing === false;
+    };
+    Readable.prototype.setEncoding = function(enc) {
+      const decoder = new StringDecoder(enc);
+      this._readableState.decoder = decoder;
+      this._readableState.encoding = this._readableState.decoder.encoding;
+      const buffer = this._readableState.buffer;
+      let content = "";
+      for (const data of buffer) {
+        content += decoder.write(data);
       }
+      buffer.clear();
+      if (content !== "") buffer.push(content);
+      this._readableState.length = content.length;
+      return this;
     };
-    exports2.ServerCallContextController = ServerCallContextController;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js
-var require_commonjs17 = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var service_type_1 = require_service_type();
-    Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() {
-      return service_type_1.ServiceType;
-    } });
-    var reflection_info_1 = require_reflection_info2();
-    Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() {
-      return reflection_info_1.readMethodOptions;
-    } });
-    Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() {
-      return reflection_info_1.readMethodOption;
-    } });
-    Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() {
-      return reflection_info_1.readServiceOption;
-    } });
-    var rpc_error_1 = require_rpc_error();
-    Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() {
-      return rpc_error_1.RpcError;
-    } });
-    var rpc_options_1 = require_rpc_options();
-    Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() {
-      return rpc_options_1.mergeRpcOptions;
-    } });
-    var rpc_output_stream_1 = require_rpc_output_stream();
-    Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() {
-      return rpc_output_stream_1.RpcOutputStreamController;
-    } });
-    var test_transport_1 = require_test_transport();
-    Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() {
-      return test_transport_1.TestTransport;
-    } });
-    var deferred_1 = require_deferred();
-    Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() {
-      return deferred_1.Deferred;
-    } });
-    Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() {
-      return deferred_1.DeferredState;
-    } });
-    var duplex_streaming_call_1 = require_duplex_streaming_call();
-    Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() {
-      return duplex_streaming_call_1.DuplexStreamingCall;
-    } });
-    var client_streaming_call_1 = require_client_streaming_call();
-    Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() {
-      return client_streaming_call_1.ClientStreamingCall;
-    } });
-    var server_streaming_call_1 = require_server_streaming_call();
-    Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() {
-      return server_streaming_call_1.ServerStreamingCall;
-    } });
-    var unary_call_1 = require_unary_call();
-    Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() {
-      return unary_call_1.UnaryCall;
-    } });
-    var rpc_interceptor_1 = require_rpc_interceptor();
-    Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackIntercept;
-    } });
-    Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackDuplexStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackClientStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackServerStreamingInterceptors;
-    } });
-    Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackUnaryInterceptors;
-    } });
-    var server_call_context_1 = require_server_call_context();
-    Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() {
-      return server_call_context_1.ServerCallContextController;
-    } });
-  }
-});
-
-// node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js
-var require_cachescope = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachescope.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheScope = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var CacheScope$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.entities.v1.CacheScope", [
-          {
-            no: 1,
-            name: "scope",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "permission",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+    var MAX_HWM = 1073741824;
+    function computeNewHighWaterMark(n) {
+      if (n > MAX_HWM) {
+        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
+      } else {
+        n--;
+        n |= n >>> 1;
+        n |= n >>> 2;
+        n |= n >>> 4;
+        n |= n >>> 8;
+        n |= n >>> 16;
+        n++;
       }
-      create(value) {
-        const message = { scope: "", permission: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      return n;
+    }
+    function howMuchToRead(n, state) {
+      if (n <= 0 || state.length === 0 && state.ended) return 0;
+      if ((state.state & kObjectMode) !== 0) return 1;
+      if (NumberIsNaN(n)) {
+        if (state.flowing && state.length) return state.buffer.first().length;
+        return state.length;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string scope */
-            1:
-              message.scope = reader.string();
-              break;
-            case /* int64 permission */
-            2:
-              message.permission = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      if (n <= state.length) return n;
+      return state.ended ? state.length : 0;
+    }
+    Readable.prototype.read = function(n) {
+      debug4("read", n);
+      if (n === void 0) {
+        n = NaN;
+      } else if (!NumberIsInteger(n)) {
+        n = NumberParseInt(n, 10);
+      }
+      const state = this._readableState;
+      const nOrig = n;
+      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
+      if (n !== 0) state.state &= ~kEmittedReadable;
+      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
+        debug4("read: emitReadable", state.length, state.ended);
+        if (state.length === 0 && state.ended) endReadable(this);
+        else emitReadable(this);
+        return null;
+      }
+      n = howMuchToRead(n, state);
+      if (n === 0 && state.ended) {
+        if (state.length === 0) endReadable(this);
+        return null;
+      }
+      let doRead = (state.state & kNeedReadable) !== 0;
+      debug4("need readable", doRead);
+      if (state.length === 0 || state.length - n < state.highWaterMark) {
+        doRead = true;
+        debug4("length less than watermark", doRead);
+      }
+      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
+        doRead = false;
+        debug4("reading, ended or constructing", doRead);
+      } else if (doRead) {
+        debug4("do read");
+        state.state |= kReading | kSync;
+        if (state.length === 0) state.state |= kNeedReadable;
+        try {
+          this._read(state.highWaterMark);
+        } catch (err) {
+          errorOrDestroy(this, err);
         }
-        return message;
+        state.state &= ~kSync;
+        if (!state.reading) n = howMuchToRead(nOrig, state);
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.scope !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.scope);
-        if (message.permission !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.permission);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      let ret;
+      if (n > 0) ret = fromList(n, state);
+      else ret = null;
+      if (ret === null) {
+        state.needReadable = state.length <= state.highWaterMark;
+        n = 0;
+      } else {
+        state.length -= n;
+        if (state.multiAwaitDrain) {
+          state.awaitDrainWriters.clear();
+        } else {
+          state.awaitDrainWriters = null;
+        }
       }
-    };
-    exports2.CacheScope = new CacheScope$Type();
-  }
-});
-
-// node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js
-var require_cachemetadata = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/entities/v1/cachemetadata.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheMetadata = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var cachescope_1 = require_cachescope();
-    var CacheMetadata$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.entities.v1.CacheMetadata", [
-          {
-            no: 1,
-            name: "repository_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 2, name: "scope", kind: "message", repeat: 1, T: () => cachescope_1.CacheScope }
-        ]);
+      if (state.length === 0) {
+        if (!state.ended) state.needReadable = true;
+        if (nOrig !== n && state.ended) endReadable(this);
       }
-      create(value) {
-        const message = { repositoryId: "0", scope: [] };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
+        state.dataEmitted = true;
+        this.emit("data", ret);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 repository_id */
-            1:
-              message.repositoryId = reader.int64().toString();
-              break;
-            case /* repeated github.actions.results.entities.v1.CacheScope scope */
-            2:
-              message.scope.push(cachescope_1.CacheScope.internalBinaryRead(reader, reader.uint32(), options));
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      return ret;
+    };
+    function onEofChunk(stream, state) {
+      debug4("onEofChunk");
+      if (state.ended) return;
+      if (state.decoder) {
+        const chunk = state.decoder.end();
+        if (chunk && chunk.length) {
+          state.buffer.push(chunk);
+          state.length += state.objectMode ? 1 : chunk.length;
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.repositoryId !== "0")
-          writer.tag(1, runtime_1.WireType.Varint).int64(message.repositoryId);
-        for (let i = 0; i < message.scope.length; i++)
-          cachescope_1.CacheScope.internalBinaryWrite(message.scope[i], writer.tag(2, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      state.ended = true;
+      if (state.sync) {
+        emitReadable(stream);
+      } else {
+        state.needReadable = false;
+        state.emittedReadable = true;
+        emitReadable_(stream);
+      }
+    }
+    function emitReadable(stream) {
+      const state = stream._readableState;
+      debug4("emitReadable", state.needReadable, state.emittedReadable);
+      state.needReadable = false;
+      if (!state.emittedReadable) {
+        debug4("emitReadable", state.flowing);
+        state.emittedReadable = true;
+        process2.nextTick(emitReadable_, stream);
+      }
+    }
+    function emitReadable_(stream) {
+      const state = stream._readableState;
+      debug4("emitReadable_", state.destroyed, state.length, state.ended);
+      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
+        stream.emit("readable");
+        state.emittedReadable = false;
+      }
+      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
+      flow(stream);
+    }
+    function maybeReadMore(stream, state) {
+      if (!state.readingMore && state.constructed) {
+        state.readingMore = true;
+        process2.nextTick(maybeReadMore_, stream, state);
+      }
+    }
+    function maybeReadMore_(stream, state) {
+      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
+        const len = state.length;
+        debug4("maybeReadMore read 0");
+        stream.read(0);
+        if (len === state.length)
+          break;
       }
+      state.readingMore = false;
+    }
+    Readable.prototype._read = function(n) {
+      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
     };
-    exports2.CacheMetadata = new CacheMetadata$Type();
-  }
-});
-
-// node_modules/@actions/cache/lib/generated/results/api/v1/cache.js
-var require_cache4 = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheService = exports2.GetCacheEntryDownloadURLResponse = exports2.GetCacheEntryDownloadURLRequest = exports2.FinalizeCacheEntryUploadResponse = exports2.FinalizeCacheEntryUploadRequest = exports2.CreateCacheEntryResponse = exports2.CreateCacheEntryRequest = void 0;
-    var runtime_rpc_1 = require_commonjs17();
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var cachemetadata_1 = require_cachemetadata();
-    var CreateCacheEntryRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateCacheEntryRequest", [
-          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
-          {
-            no: 2,
-            name: "key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "version",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+    Readable.prototype.pipe = function(dest, pipeOpts) {
+      const src = this;
+      const state = this._readableState;
+      if (state.pipes.length === 1) {
+        if (!state.multiAwaitDrain) {
+          state.multiAwaitDrain = true;
+          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
+        }
+      }
+      state.pipes.push(dest);
+      debug4("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
+      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
+      const endFn = doEnd ? onend : unpipe;
+      if (state.endEmitted) process2.nextTick(endFn);
+      else src.once("end", endFn);
+      dest.on("unpipe", onunpipe);
+      function onunpipe(readable, unpipeInfo) {
+        debug4("onunpipe");
+        if (readable === src) {
+          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
+            unpipeInfo.hasUnpiped = true;
+            cleanup();
           }
-        ]);
+        }
       }
-      create(value) {
-        const message = { key: "", version: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      function onend() {
+        debug4("onend");
+        dest.end();
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* github.actions.results.entities.v1.CacheMetadata metadata */
-            1:
-              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
-              break;
-            case /* string key */
-            2:
-              message.key = reader.string();
-              break;
-            case /* string version */
-            3:
-              message.version = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      let ondrain;
+      let cleanedUp = false;
+      function cleanup() {
+        debug4("cleanup");
+        dest.removeListener("close", onclose);
+        dest.removeListener("finish", onfinish);
+        if (ondrain) {
+          dest.removeListener("drain", ondrain);
+        }
+        dest.removeListener("error", onerror);
+        dest.removeListener("unpipe", onunpipe);
+        src.removeListener("end", onend);
+        src.removeListener("end", unpipe);
+        src.removeListener("data", ondata);
+        cleanedUp = true;
+        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      }
+      function pause() {
+        if (!cleanedUp) {
+          if (state.pipes.length === 1 && state.pipes[0] === dest) {
+            debug4("false write response, pause", 0);
+            state.awaitDrainWriters = dest;
+            state.multiAwaitDrain = false;
+          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
+            debug4("false write response, pause", state.awaitDrainWriters.size);
+            state.awaitDrainWriters.add(dest);
           }
+          src.pause();
+        }
+        if (!ondrain) {
+          ondrain = pipeOnDrain(src, dest);
+          dest.on("drain", ondrain);
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.metadata)
-          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.key !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
-        if (message.version !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      src.on("data", ondata);
+      function ondata(chunk) {
+        debug4("ondata");
+        const ret = dest.write(chunk);
+        debug4("dest.write", ret);
+        if (ret === false) {
+          pause();
+        }
       }
-    };
-    exports2.CreateCacheEntryRequest = new CreateCacheEntryRequest$Type();
-    var CreateCacheEntryResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateCacheEntryResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "message",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+      function onerror(er) {
+        debug4("onerror", er);
+        unpipe();
+        dest.removeListener("error", onerror);
+        if (dest.listenerCount("error") === 0) {
+          const s = dest._writableState || dest._readableState;
+          if (s && !s.errorEmitted) {
+            errorOrDestroy(dest, er);
+          } else {
+            dest.emit("error", er);
           }
-        ]);
+        }
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "", message: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      prependListener(dest, "error", onerror);
+      function onclose() {
+        dest.removeListener("finish", onfinish);
+        unpipe();
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            case /* string message */
-            3:
-              message.message = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      dest.once("close", onclose);
+      function onfinish() {
+        debug4("onfinish");
+        dest.removeListener("close", onclose);
+        unpipe();
+      }
+      dest.once("finish", onfinish);
+      function unpipe() {
+        debug4("unpipe");
+        src.unpipe(dest);
+      }
+      dest.emit("pipe", src);
+      if (dest.writableNeedDrain === true) {
+        pause();
+      } else if (!state.flowing) {
+        debug4("pipe resume");
+        src.resume();
+      }
+      return dest;
+    };
+    function pipeOnDrain(src, dest) {
+      return function pipeOnDrainFunctionResult() {
+        const state = src._readableState;
+        if (state.awaitDrainWriters === dest) {
+          debug4("pipeOnDrain", 1);
+          state.awaitDrainWriters = null;
+        } else if (state.multiAwaitDrain) {
+          debug4("pipeOnDrain", state.awaitDrainWriters.size);
+          state.awaitDrainWriters.delete(dest);
+        }
+        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
+          src.resume();
+        }
+      };
+    }
+    Readable.prototype.unpipe = function(dest) {
+      const state = this._readableState;
+      const unpipeInfo = {
+        hasUnpiped: false
+      };
+      if (state.pipes.length === 0) return this;
+      if (!dest) {
+        const dests = state.pipes;
+        state.pipes = [];
+        this.pause();
+        for (let i = 0; i < dests.length; i++)
+          dests[i].emit("unpipe", this, {
+            hasUnpiped: false
+          });
+        return this;
+      }
+      const index = ArrayPrototypeIndexOf(state.pipes, dest);
+      if (index === -1) return this;
+      state.pipes.splice(index, 1);
+      if (state.pipes.length === 0) this.pause();
+      dest.emit("unpipe", this, unpipeInfo);
+      return this;
+    };
+    Readable.prototype.on = function(ev, fn) {
+      const res = Stream.prototype.on.call(this, ev, fn);
+      const state = this._readableState;
+      if (ev === "data") {
+        state.readableListening = this.listenerCount("readable") > 0;
+        if (state.flowing !== false) this.resume();
+      } else if (ev === "readable") {
+        if (!state.endEmitted && !state.readableListening) {
+          state.readableListening = state.needReadable = true;
+          state.flowing = false;
+          state.emittedReadable = false;
+          debug4("on readable", state.length, state.reading);
+          if (state.length) {
+            emitReadable(this);
+          } else if (!state.reading) {
+            process2.nextTick(nReadingNextTick, this);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        if (message.message !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
+      return res;
     };
-    exports2.CreateCacheEntryResponse = new CreateCacheEntryResponse$Type();
-    var FinalizeCacheEntryUploadRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeCacheEntryUploadRequest", [
-          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
-          {
-            no: 2,
-            name: "key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "size_bytes",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 4,
-            name: "version",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+    Readable.prototype.addListener = Readable.prototype.on;
+    Readable.prototype.removeListener = function(ev, fn) {
+      const res = Stream.prototype.removeListener.call(this, ev, fn);
+      if (ev === "readable") {
+        process2.nextTick(updateReadableListening, this);
       }
-      create(value) {
-        const message = { key: "", sizeBytes: "0", version: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      return res;
+    };
+    Readable.prototype.off = Readable.prototype.removeListener;
+    Readable.prototype.removeAllListeners = function(ev) {
+      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
+      if (ev === "readable" || ev === void 0) {
+        process2.nextTick(updateReadableListening, this);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* github.actions.results.entities.v1.CacheMetadata metadata */
-            1:
-              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
-              break;
-            case /* string key */
-            2:
-              message.key = reader.string();
-              break;
-            case /* int64 size_bytes */
-            3:
-              message.sizeBytes = reader.int64().toString();
-              break;
-            case /* string version */
-            4:
-              message.version = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      return res;
+    };
+    function updateReadableListening(self2) {
+      const state = self2._readableState;
+      state.readableListening = self2.listenerCount("readable") > 0;
+      if (state.resumeScheduled && state[kPaused] === false) {
+        state.flowing = true;
+      } else if (self2.listenerCount("data") > 0) {
+        self2.resume();
+      } else if (!state.readableListening) {
+        state.flowing = null;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.metadata)
-          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.key !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
-        if (message.sizeBytes !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.sizeBytes);
-        if (message.version !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+    }
+    function nReadingNextTick(self2) {
+      debug4("readable nexttick read 0");
+      self2.read(0);
+    }
+    Readable.prototype.resume = function() {
+      const state = this._readableState;
+      if (!state.flowing) {
+        debug4("resume");
+        state.flowing = !state.readableListening;
+        resume(this, state);
       }
+      state[kPaused] = false;
+      return this;
     };
-    exports2.FinalizeCacheEntryUploadRequest = new FinalizeCacheEntryUploadRequest$Type();
-    var FinalizeCacheEntryUploadResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeCacheEntryUploadResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "entry_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 3,
-            name: "message",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+    function resume(stream, state) {
+      if (!state.resumeScheduled) {
+        state.resumeScheduled = true;
+        process2.nextTick(resume_, stream, state);
       }
-      create(value) {
-        const message = { ok: false, entryId: "0", message: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+    }
+    function resume_(stream, state) {
+      debug4("resume", state.reading);
+      if (!state.reading) {
+        stream.read(0);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 entry_id */
-            2:
-              message.entryId = reader.int64().toString();
-              break;
-            case /* string message */
-            3:
-              message.message = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      state.resumeScheduled = false;
+      stream.emit("resume");
+      flow(stream);
+      if (state.flowing && !state.reading) stream.read(0);
+    }
+    Readable.prototype.pause = function() {
+      debug4("call pause flowing=%j", this._readableState.flowing);
+      if (this._readableState.flowing !== false) {
+        debug4("pause");
+        this._readableState.flowing = false;
+        this.emit("pause");
+      }
+      this._readableState[kPaused] = true;
+      return this;
+    };
+    function flow(stream) {
+      const state = stream._readableState;
+      debug4("flow", state.flowing);
+      while (state.flowing && stream.read() !== null) ;
+    }
+    Readable.prototype.wrap = function(stream) {
+      let paused = false;
+      stream.on("data", (chunk) => {
+        if (!this.push(chunk) && stream.pause) {
+          paused = true;
+          stream.pause();
+        }
+      });
+      stream.on("end", () => {
+        this.push(null);
+      });
+      stream.on("error", (err) => {
+        errorOrDestroy(this, err);
+      });
+      stream.on("close", () => {
+        this.destroy();
+      });
+      stream.on("destroy", () => {
+        this.destroy();
+      });
+      this._read = () => {
+        if (paused && stream.resume) {
+          paused = false;
+          stream.resume();
+        }
+      };
+      const streamKeys = ObjectKeys(stream);
+      for (let j = 1; j < streamKeys.length; j++) {
+        const i = streamKeys[j];
+        if (this[i] === void 0 && typeof stream[i] === "function") {
+          this[i] = stream[i].bind(stream);
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.entryId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.entryId);
-        if (message.message !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.message);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return this;
+    };
+    Readable.prototype[SymbolAsyncIterator] = function() {
+      return streamToAsyncIterator(this);
+    };
+    Readable.prototype.iterator = function(options) {
+      if (options !== void 0) {
+        validateObject(options, "options");
       }
+      return streamToAsyncIterator(this, options);
     };
-    exports2.FinalizeCacheEntryUploadResponse = new FinalizeCacheEntryUploadResponse$Type();
-    var GetCacheEntryDownloadURLRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetCacheEntryDownloadURLRequest", [
-          { no: 1, name: "metadata", kind: "message", T: () => cachemetadata_1.CacheMetadata },
-          {
-            no: 2,
-            name: "key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "restore_keys",
-            kind: "scalar",
-            repeat: 2,
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 4,
-            name: "version",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+    function streamToAsyncIterator(stream, options) {
+      if (typeof stream.read !== "function") {
+        stream = Readable.wrap(stream, {
+          objectMode: true
+        });
       }
-      create(value) {
-        const message = { key: "", restoreKeys: [], version: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      const iter = createAsyncIterator(stream, options);
+      iter.stream = stream;
+      return iter;
+    }
+    async function* createAsyncIterator(stream, options) {
+      let callback = nop;
+      function next(resolve3) {
+        if (this === stream) {
+          callback();
+          callback = nop;
+        } else {
+          callback = resolve3;
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* github.actions.results.entities.v1.CacheMetadata metadata */
-            1:
-              message.metadata = cachemetadata_1.CacheMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
-              break;
-            case /* string key */
-            2:
-              message.key = reader.string();
-              break;
-            case /* repeated string restore_keys */
-            3:
-              message.restoreKeys.push(reader.string());
-              break;
-            case /* string version */
-            4:
-              message.version = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      stream.on("readable", next);
+      let error3;
+      const cleanup = eos(
+        stream,
+        {
+          writable: false
+        },
+        (err) => {
+          error3 = err ? aggregateTwoErrors(error3, err) : null;
+          callback();
+          callback = nop;
+        }
+      );
+      try {
+        while (true) {
+          const chunk = stream.destroyed ? null : stream.read();
+          if (chunk !== null) {
+            yield chunk;
+          } else if (error3) {
+            throw error3;
+          } else if (error3 === null) {
+            return;
+          } else {
+            await new Promise2(next);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.metadata)
-          cachemetadata_1.CacheMetadata.internalBinaryWrite(message.metadata, writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.key !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.key);
-        for (let i = 0; i < message.restoreKeys.length; i++)
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.restoreKeys[i]);
-        if (message.version !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      } catch (err) {
+        error3 = aggregateTwoErrors(error3, err);
+        throw error3;
+      } finally {
+        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream._readableState.autoDestroy)) {
+          destroyImpl.destroyer(stream, null);
+        } else {
+          stream.off("readable", next);
+          cleanup();
+        }
       }
-    };
-    exports2.GetCacheEntryDownloadURLRequest = new GetCacheEntryDownloadURLRequest$Type();
-    var GetCacheEntryDownloadURLResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetCacheEntryDownloadURLResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_download_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "matched_key",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+    }
+    ObjectDefineProperties(Readable.prototype, {
+      readable: {
+        __proto__: null,
+        get() {
+          const r = this._readableState;
+          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
+        },
+        set(val) {
+          if (this._readableState) {
+            this._readableState.readable = !!val;
           }
-        ]);
-      }
-      create(value) {
-        const message = { ok: false, signedDownloadUrl: "", matchedKey: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_download_url */
-            2:
-              message.signedDownloadUrl = reader.string();
-              break;
-            case /* string matched_key */
-            3:
-              message.matchedKey = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+        }
+      },
+      readableDidRead: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.dataEmitted;
+        }
+      },
+      readableAborted: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
+        }
+      },
+      readableHighWaterMark: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.highWaterMark;
+        }
+      },
+      readableBuffer: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState && this._readableState.buffer;
+        }
+      },
+      readableFlowing: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.flowing;
+        },
+        set: function(state) {
+          if (this._readableState) {
+            this._readableState.flowing = state;
+          }
+        }
+      },
+      readableLength: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState.length;
+        }
+      },
+      readableObjectMode: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.objectMode : false;
+        }
+      },
+      readableEncoding: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.encoding : null;
+        }
+      },
+      errored: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.errored : null;
+        }
+      },
+      closed: {
+        __proto__: null,
+        get() {
+          return this._readableState ? this._readableState.closed : false;
+        }
+      },
+      destroyed: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.destroyed : false;
+        },
+        set(value) {
+          if (!this._readableState) {
+            return;
           }
+          this._readableState.destroyed = value;
+        }
+      },
+      readableEnded: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.endEmitted : false;
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedDownloadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedDownloadUrl);
-        if (message.matchedKey !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.matchedKey);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+    });
+    ObjectDefineProperties(ReadableState.prototype, {
+      // Legacy getter for `pipesCount`.
+      pipesCount: {
+        __proto__: null,
+        get() {
+          return this.pipes.length;
+        }
+      },
+      // Legacy property for `paused`.
+      paused: {
+        __proto__: null,
+        get() {
+          return this[kPaused] !== false;
+        },
+        set(value) {
+          this[kPaused] = !!value;
+        }
       }
-    };
-    exports2.GetCacheEntryDownloadURLResponse = new GetCacheEntryDownloadURLResponse$Type();
-    exports2.CacheService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.CacheService", [
-      { name: "CreateCacheEntry", options: {}, I: exports2.CreateCacheEntryRequest, O: exports2.CreateCacheEntryResponse },
-      { name: "FinalizeCacheEntryUpload", options: {}, I: exports2.FinalizeCacheEntryUploadRequest, O: exports2.FinalizeCacheEntryUploadResponse },
-      { name: "GetCacheEntryDownloadURL", options: {}, I: exports2.GetCacheEntryDownloadURLRequest, O: exports2.GetCacheEntryDownloadURLResponse }
-    ]);
-  }
-});
-
-// node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js
-var require_cache_twirp_client = __commonJS({
-  "node_modules/@actions/cache/lib/generated/results/api/v1/cache.twirp-client.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0;
-    var cache_1 = require_cache4();
-    var CacheServiceClientJSON = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateCacheEntry.bind(this);
-        this.FinalizeCacheEntryUpload.bind(this);
-        this.GetCacheEntryDownloadURL.bind(this);
+    });
+    Readable._fromList = fromList;
+    function fromList(n, state) {
+      if (state.length === 0) return null;
+      let ret;
+      if (state.objectMode) ret = state.buffer.shift();
+      else if (!n || n >= state.length) {
+        if (state.decoder) ret = state.buffer.join("");
+        else if (state.buffer.length === 1) ret = state.buffer.first();
+        else ret = state.buffer.concat(state.length);
+        state.buffer.clear();
+      } else {
+        ret = state.buffer.consume(n, state.decoder);
       }
-      CreateCacheEntry(request2) {
-        const data = cache_1.CreateCacheEntryRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/json", data);
-        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      return ret;
+    }
+    function endReadable(stream) {
+      const state = stream._readableState;
+      debug4("endReadable", state.endEmitted);
+      if (!state.endEmitted) {
+        state.ended = true;
+        process2.nextTick(endReadableNT, state, stream);
       }
-      FinalizeCacheEntryUpload(request2) {
-        const data = cache_1.FinalizeCacheEntryUploadRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/json", data);
-        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+    }
+    function endReadableNT(state, stream) {
+      debug4("endReadableNT", state.endEmitted, state.length);
+      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
+        state.endEmitted = true;
+        stream.emit("end");
+        if (stream.writable && stream.allowHalfOpen === false) {
+          process2.nextTick(endWritableNT, stream);
+        } else if (state.autoDestroy) {
+          const wState = stream._writableState;
+          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
+          // if writable is explicitly set to false.
+          (wState.finished || wState.writable === false);
+          if (autoDestroy) {
+            stream.destroy();
+          }
+        }
       }
-      GetCacheEntryDownloadURL(request2) {
-        const data = cache_1.GetCacheEntryDownloadURLRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/json", data);
-        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+    }
+    function endWritableNT(stream) {
+      const writable = stream.writable && !stream.writableEnded && !stream.destroyed;
+      if (writable) {
+        stream.end();
       }
+    }
+    Readable.from = function(iterable, opts) {
+      return from(Readable, iterable, opts);
     };
-    exports2.CacheServiceClientJSON = CacheServiceClientJSON;
-    var CacheServiceClientProtobuf = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateCacheEntry.bind(this);
-        this.FinalizeCacheEntryUpload.bind(this);
-        this.GetCacheEntryDownloadURL.bind(this);
-      }
-      CreateCacheEntry(request2) {
-        const data = cache_1.CreateCacheEntryRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "CreateCacheEntry", "application/protobuf", data);
-        return promise.then((data2) => cache_1.CreateCacheEntryResponse.fromBinary(data2));
-      }
-      FinalizeCacheEntryUpload(request2) {
-        const data = cache_1.FinalizeCacheEntryUploadRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "FinalizeCacheEntryUpload", "application/protobuf", data);
-        return promise.then((data2) => cache_1.FinalizeCacheEntryUploadResponse.fromBinary(data2));
-      }
-      GetCacheEntryDownloadURL(request2) {
-        const data = cache_1.GetCacheEntryDownloadURLRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.CacheService", "GetCacheEntryDownloadURL", "application/protobuf", data);
-        return promise.then((data2) => cache_1.GetCacheEntryDownloadURLResponse.fromBinary(data2));
-      }
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Readable.fromWeb = function(readableStream, options) {
+      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
+    };
+    Readable.toWeb = function(streamReadable, options) {
+      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
+    };
+    Readable.wrap = function(src, options) {
+      var _ref, _src$readableObjectMo;
+      return new Readable({
+        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
+        ...options,
+        destroy(err, callback) {
+          destroyImpl.destroyer(src, err);
+          callback(err);
+        }
+      }).wrap(src);
     };
-    exports2.CacheServiceClientProtobuf = CacheServiceClientProtobuf;
   }
 });
 
-// node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.maskSigUrl = maskSigUrl;
-    exports2.maskSecretUrls = maskSecretUrls;
-    var core_1 = require_core();
-    function maskSigUrl(url) {
-      if (!url)
-        return;
-      try {
-        const parsedUrl = new URL(url);
-        const signature = parsedUrl.searchParams.get("sig");
-        if (signature) {
-          (0, core_1.setSecret)(signature);
-          (0, core_1.setSecret)(encodeURIComponent(signature));
-        }
-      } catch (error3) {
-        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
-      }
+// node_modules/readable-stream/lib/internal/streams/writable.js
+var require_writable = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
+    var process2 = require_process();
+    var {
+      ArrayPrototypeSlice,
+      Error: Error2,
+      FunctionPrototypeSymbolHasInstance,
+      ObjectDefineProperty,
+      ObjectDefineProperties,
+      ObjectSetPrototypeOf,
+      StringPrototypeToLowerCase,
+      Symbol: Symbol2,
+      SymbolHasInstance
+    } = require_primordials();
+    module2.exports = Writable;
+    Writable.WritableState = WritableState;
+    var { EventEmitter: EE } = require("events");
+    var Stream = require_legacy().Stream;
+    var { Buffer: Buffer2 } = require("buffer");
+    var destroyImpl = require_destroy2();
+    var { addAbortSignal } = require_add_abort_signal();
+    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var {
+      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+      ERR_METHOD_NOT_IMPLEMENTED,
+      ERR_MULTIPLE_CALLBACK,
+      ERR_STREAM_CANNOT_PIPE,
+      ERR_STREAM_DESTROYED,
+      ERR_STREAM_ALREADY_FINISHED,
+      ERR_STREAM_NULL_VALUES,
+      ERR_STREAM_WRITE_AFTER_END,
+      ERR_UNKNOWN_ENCODING
+    } = require_errors5().codes;
+    var { errorOrDestroy } = destroyImpl;
+    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
+    ObjectSetPrototypeOf(Writable, Stream);
+    function nop() {
     }
-    function maskSecretUrls(body) {
-      if (typeof body !== "object" || body === null) {
-        (0, core_1.debug)("body is not an object or is null");
-        return;
-      }
-      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
-        maskSigUrl(body.signed_upload_url);
-      }
-      if ("signed_download_url" in body && typeof body.signed_download_url === "string") {
-        maskSigUrl(body.signed_download_url);
-      }
+    var kOnFinished = Symbol2("kOnFinished");
+    function WritableState(options, stream, isDuplex) {
+      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
+      this.objectMode = !!(options && options.objectMode);
+      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
+      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
+      this.finalCalled = false;
+      this.needDrain = false;
+      this.ending = false;
+      this.ended = false;
+      this.finished = false;
+      this.destroyed = false;
+      const noDecode = !!(options && options.decodeStrings === false);
+      this.decodeStrings = !noDecode;
+      this.defaultEncoding = options && options.defaultEncoding || "utf8";
+      this.length = 0;
+      this.writing = false;
+      this.corked = 0;
+      this.sync = true;
+      this.bufferProcessing = false;
+      this.onwrite = onwrite.bind(void 0, stream);
+      this.writecb = null;
+      this.writelen = 0;
+      this.afterWriteTickInfo = null;
+      resetBuffer(this);
+      this.pendingcb = 0;
+      this.constructed = true;
+      this.prefinished = false;
+      this.errorEmitted = false;
+      this.emitClose = !options || options.emitClose !== false;
+      this.autoDestroy = !options || options.autoDestroy !== false;
+      this.errored = null;
+      this.closed = false;
+      this.closeEmitted = false;
+      this[kOnFinished] = [];
     }
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js
-var require_cacheTwirpClient = __commonJS({
-  "node_modules/@actions/cache/lib/internal/shared/cacheTwirpClient.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+    function resetBuffer(state) {
+      state.buffered = [];
+      state.bufferedIndex = 0;
+      state.allBuffers = true;
+      state.allNoop = true;
+    }
+    WritableState.prototype.getBuffer = function getBuffer() {
+      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
+    };
+    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
+      __proto__: null,
+      get() {
+        return this.buffered.length - this.bufferedIndex;
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+    });
+    function Writable(options) {
+      const isDuplex = this instanceof require_duplex();
+      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
+      this._writableState = new WritableState(options, this, isDuplex);
+      if (options) {
+        if (typeof options.write === "function") this._write = options.write;
+        if (typeof options.writev === "function") this._writev = options.writev;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.final === "function") this._final = options.final;
+        if (typeof options.construct === "function") this._construct = options.construct;
+        if (options.signal) addAbortSignal(options.signal, this);
+      }
+      Stream.call(this, options);
+      destroyImpl.construct(this, () => {
+        const state = this._writableState;
+        if (!state.writing) {
+          clearBuffer(this, state);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
+        finishMaybe(this, state);
       });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.internalCacheTwirpClient = internalCacheTwirpClient;
-    var core_1 = require_core();
-    var user_agent_1 = require_user_agent();
-    var errors_1 = require_errors3();
-    var config_1 = require_config();
-    var cacheUtils_1 = require_cacheUtils();
-    var auth_1 = require_auth();
-    var http_client_1 = require_lib();
-    var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
-    var CacheServiceClient = class {
-      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
-        this.maxAttempts = 5;
-        this.baseRetryIntervalMilliseconds = 3e3;
-        this.retryMultiplier = 1.5;
-        const token = (0, cacheUtils_1.getRuntimeToken)();
-        this.baseUrl = (0, config_1.getCacheServiceURL)();
-        if (maxAttempts) {
-          this.maxAttempts = maxAttempts;
-        }
-        if (baseRetryIntervalMilliseconds) {
-          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
-        }
-        if (retryMultiplier) {
-          this.retryMultiplier = retryMultiplier;
-        }
-        this.httpClient = new http_client_1.HttpClient(userAgent2, [
-          new auth_1.BearerCredentialHandler(token)
-        ]);
-      }
-      // This function satisfies the Rpc interface. It is compatible with the JSON
-      // JSON generated client.
-      request(service, method, contentType, data) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
-          (0, core_1.debug)(`[Request] ${method} ${url}`);
-          const headers = {
-            "Content-Type": contentType
-          };
-          try {
-            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
-              return this.httpClient.post(url, JSON.stringify(data), headers);
-            }));
-            return body;
-          } catch (error3) {
-            throw new Error(`Failed to ${method}: ${error3.message}`);
-          }
-        });
+    }
+    ObjectDefineProperty(Writable, SymbolHasInstance, {
+      __proto__: null,
+      value: function(object) {
+        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
+        if (this !== Writable) return false;
+        return object && object._writableState instanceof WritableState;
       }
-      retryableRequest(operation) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 0;
-          let errorMessage = "";
-          let rawBody = "";
-          while (attempt < this.maxAttempts) {
-            let isRetryable = false;
-            try {
-              const response = yield operation();
-              const statusCode = response.message.statusCode;
-              rawBody = yield response.readBody();
-              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
-              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
-              const body = JSON.parse(rawBody);
-              (0, util_1.maskSecretUrls)(body);
-              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
-              if (this.isSuccessStatusCode(statusCode)) {
-                return { response, body };
-              }
-              isRetryable = this.isRetryableHttpStatusCode(statusCode);
-              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
-              if (body.msg) {
-                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
-                  throw new errors_1.UsageError();
-                }
-                errorMessage = `${errorMessage}: ${body.msg}`;
-              }
-              if (statusCode === http_client_1.HttpCodes.TooManyRequests) {
-                const retryAfterHeader = response.message.headers["retry-after"];
-                if (retryAfterHeader) {
-                  const parsedSeconds = parseInt(retryAfterHeader, 10);
-                  if (!isNaN(parsedSeconds) && parsedSeconds > 0) {
-                    (0, core_1.warning)(`You've hit a rate limit, your rate limit will reset in ${parsedSeconds} seconds`);
-                  }
-                }
-                throw new errors_1.RateLimitError(`Rate limited: ${errorMessage}`);
-              }
-            } catch (error3) {
-              if (error3 instanceof SyntaxError) {
-                (0, core_1.debug)(`Raw Body: ${rawBody}`);
-              }
-              if (error3 instanceof errors_1.UsageError) {
-                throw error3;
-              }
-              if (error3 instanceof errors_1.RateLimitError) {
-                throw error3;
-              }
-              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-              }
-              isRetryable = true;
-              errorMessage = error3.message;
-            }
-            if (!isRetryable) {
-              throw new Error(`Received non-retryable error: ${errorMessage}`);
-            }
-            if (attempt + 1 === this.maxAttempts) {
-              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
-            }
-            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
-            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
-            yield this.sleep(retryTimeMilliseconds);
-            attempt++;
+    });
+    Writable.prototype.pipe = function() {
+      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
+    };
+    function _write(stream, chunk, encoding, cb) {
+      const state = stream._writableState;
+      if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = state.defaultEncoding;
+      } else {
+        if (!encoding) encoding = state.defaultEncoding;
+        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
+        if (typeof cb !== "function") cb = nop;
+      }
+      if (chunk === null) {
+        throw new ERR_STREAM_NULL_VALUES();
+      } else if (!state.objectMode) {
+        if (typeof chunk === "string") {
+          if (state.decodeStrings !== false) {
+            chunk = Buffer2.from(chunk, encoding);
+            encoding = "buffer";
           }
-          throw new Error(`Request failed`);
-        });
+        } else if (chunk instanceof Buffer2) {
+          encoding = "buffer";
+        } else if (Stream._isUint8Array(chunk)) {
+          chunk = Stream._uint8ArrayToBuffer(chunk);
+          encoding = "buffer";
+        } else {
+          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+        }
       }
-      isSuccessStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        return statusCode >= 200 && statusCode < 300;
+      let err;
+      if (state.ending) {
+        err = new ERR_STREAM_WRITE_AFTER_END();
+      } else if (state.destroyed) {
+        err = new ERR_STREAM_DESTROYED("write");
       }
-      isRetryableHttpStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        const retryableStatusCodes = [
-          http_client_1.HttpCodes.BadGateway,
-          http_client_1.HttpCodes.GatewayTimeout,
-          http_client_1.HttpCodes.InternalServerError,
-          http_client_1.HttpCodes.ServiceUnavailable
-        ];
-        return retryableStatusCodes.includes(statusCode);
+      if (err) {
+        process2.nextTick(cb, err);
+        errorOrDestroy(stream, err, true);
+        return err;
       }
-      sleep(milliseconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve3) => setTimeout(resolve3, milliseconds));
-        });
+      state.pendingcb++;
+      return writeOrBuffer(stream, state, chunk, encoding, cb);
+    }
+    Writable.prototype.write = function(chunk, encoding, cb) {
+      return _write(this, chunk, encoding, cb) === true;
+    };
+    Writable.prototype.cork = function() {
+      this._writableState.corked++;
+    };
+    Writable.prototype.uncork = function() {
+      const state = this._writableState;
+      if (state.corked) {
+        state.corked--;
+        if (!state.writing) clearBuffer(this, state);
       }
-      getExponentialRetryTimeMilliseconds(attempt) {
-        if (attempt < 0) {
-          throw new Error("attempt should be a positive integer");
+    };
+    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
+      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
+      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
+      this._writableState.defaultEncoding = encoding;
+      return this;
+    };
+    function writeOrBuffer(stream, state, chunk, encoding, callback) {
+      const len = state.objectMode ? 1 : chunk.length;
+      state.length += len;
+      const ret = state.length < state.highWaterMark;
+      if (!ret) state.needDrain = true;
+      if (state.writing || state.corked || state.errored || !state.constructed) {
+        state.buffered.push({
+          chunk,
+          encoding,
+          callback
+        });
+        if (state.allBuffers && encoding !== "buffer") {
+          state.allBuffers = false;
         }
-        if (attempt === 0) {
-          return this.baseRetryIntervalMilliseconds;
+        if (state.allNoop && callback !== nop) {
+          state.allNoop = false;
         }
-        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
-        const maxTime = minTime * this.retryMultiplier;
-        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
+      } else {
+        state.writelen = len;
+        state.writecb = callback;
+        state.writing = true;
+        state.sync = true;
+        stream._write(chunk, encoding, state.onwrite);
+        state.sync = false;
       }
-    };
-    function internalCacheTwirpClient(options) {
-      const client = new CacheServiceClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
-      return new cache_twirp_client_1.CacheServiceClientJSON(client);
+      return ret && !state.errored && !state.destroyed;
     }
-  }
-});
-
-// node_modules/@actions/cache/lib/internal/tar.js
-var require_tar = __commonJS({
-  "node_modules/@actions/cache/lib/internal/tar.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
+      state.writelen = len;
+      state.writecb = cb;
+      state.writing = true;
+      state.sync = true;
+      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
+      else if (writev) stream._writev(chunk, state.onwrite);
+      else stream._write(chunk, encoding, state.onwrite);
+      state.sync = false;
+    }
+    function onwriteError(stream, state, er, cb) {
+      --state.pendingcb;
+      cb(er);
+      errorBuffer(state);
+      errorOrDestroy(stream, er);
+    }
+    function onwrite(stream, er) {
+      const state = stream._writableState;
+      const sync = state.sync;
+      const cb = state.writecb;
+      if (typeof cb !== "function") {
+        errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK());
+        return;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      state.writing = false;
+      state.writecb = null;
+      state.length -= state.writelen;
+      state.writelen = 0;
+      if (er) {
+        er.stack;
+        if (!state.errored) {
+          state.errored = er;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+        if (stream._readableState && !stream._readableState.errored) {
+          stream._readableState.errored = er;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (sync) {
+          process2.nextTick(onwriteError, stream, state, er, cb);
+        } else {
+          onwriteError(stream, state, er, cb);
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+      } else {
+        if (state.buffered.length > state.bufferedIndex) {
+          clearBuffer(stream, state);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.listTar = listTar;
-    exports2.extractTar = extractTar2;
-    exports2.createTar = createTar;
-    var exec_1 = require_exec();
-    var io6 = __importStar2(require_io());
-    var fs_1 = require("fs");
-    var path4 = __importStar2(require("path"));
-    var utils = __importStar2(require_cacheUtils());
-    var constants_1 = require_constants12();
-    var IS_WINDOWS = process.platform === "win32";
-    function getTarPath() {
-      return __awaiter2(this, void 0, void 0, function* () {
-        switch (process.platform) {
-          case "win32": {
-            const gnuTar = yield utils.getGnuTarPathOnWindows();
-            const systemTar = constants_1.SystemTarPathOnWindows;
-            if (gnuTar) {
-              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
-            } else if ((0, fs_1.existsSync)(systemTar)) {
-              return { path: systemTar, type: constants_1.ArchiveToolType.BSD };
-            }
-            break;
-          }
-          case "darwin": {
-            const gnuTar = yield io6.which("gtar", false);
-            if (gnuTar) {
-              return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
-            } else {
-              return {
-                path: yield io6.which("tar", true),
-                type: constants_1.ArchiveToolType.BSD
-              };
-            }
+        if (sync) {
+          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
+            state.afterWriteTickInfo.count++;
+          } else {
+            state.afterWriteTickInfo = {
+              count: 1,
+              cb,
+              stream,
+              state
+            };
+            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
           }
-          default:
-            break;
+        } else {
+          afterWrite(stream, state, 1, cb);
         }
-        return {
-          path: yield io6.which("tar", true),
-          type: constants_1.ArchiveToolType.GNU
-        };
-      });
+      }
     }
-    function getTarArgs(tarPath_1, compressionMethod_1, type_1) {
-      return __awaiter2(this, arguments, void 0, function* (tarPath, compressionMethod, type2, archivePath = "") {
-        const args = [`"${tarPath.path}"`];
-        const cacheFileName = utils.getCacheFileName(compressionMethod);
-        const tarFile = "cache.tar";
-        const workingDirectory = getWorkingDirectory();
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        switch (type2) {
-          case "create":
-            args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename);
-            break;
-          case "extract":
-            args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path4.sep}`, "g"), "/"));
-            break;
-          case "list":
-            args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/"), "-P");
-            break;
-        }
-        if (tarPath.type === constants_1.ArchiveToolType.GNU) {
-          switch (process.platform) {
-            case "win32":
-              args.push("--force-local");
-              break;
-            case "darwin":
-              args.push("--delay-directory-restore");
-              break;
-          }
-        }
-        return args;
-      });
+    function afterWriteTick({ stream, state, count, cb }) {
+      state.afterWriteTickInfo = null;
+      return afterWrite(stream, state, count, cb);
     }
-    function getCommands(compressionMethod_1, type_1) {
-      return __awaiter2(this, arguments, void 0, function* (compressionMethod, type2, archivePath = "") {
-        let args;
-        const tarPath = yield getTarPath();
-        const tarArgs = yield getTarArgs(tarPath, compressionMethod, type2, archivePath);
-        const compressionArgs = type2 !== "create" ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath) : yield getCompressionProgram(tarPath, compressionMethod);
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        if (BSD_TAR_ZSTD && type2 !== "create") {
-          args = [[...compressionArgs].join(" "), [...tarArgs].join(" ")];
-        } else {
-          args = [[...tarArgs].join(" "), [...compressionArgs].join(" ")];
-        }
-        if (BSD_TAR_ZSTD) {
-          return args;
-        }
-        return [args.join(" ")];
-      });
+    function afterWrite(stream, state, count, cb) {
+      const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain;
+      if (needDrain) {
+        state.needDrain = false;
+        stream.emit("drain");
+      }
+      while (count-- > 0) {
+        state.pendingcb--;
+        cb();
+      }
+      if (state.destroyed) {
+        errorBuffer(state);
+      }
+      finishMaybe(stream, state);
     }
-    function getWorkingDirectory() {
-      var _a;
-      return (_a = process.env["GITHUB_WORKSPACE"]) !== null && _a !== void 0 ? _a : process.cwd();
+    function errorBuffer(state) {
+      if (state.writing) {
+        return;
+      }
+      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
+        var _state$errored;
+        const { chunk, callback } = state.buffered[n];
+        const len = state.objectMode ? 1 : chunk.length;
+        state.length -= len;
+        callback(
+          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
+        );
+      }
+      const onfinishCallbacks = state[kOnFinished].splice(0);
+      for (let i = 0; i < onfinishCallbacks.length; i++) {
+        var _state$errored2;
+        onfinishCallbacks[i](
+          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
+        );
+      }
+      resetBuffer(state);
     }
-    function getDecompressionProgram(tarPath, compressionMethod, archivePath) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        switch (compressionMethod) {
-          case constants_1.CompressionMethod.Zstd:
-            return BSD_TAR_ZSTD ? [
-              "zstd -d --long=30 --force -o",
-              constants_1.TarFilename,
-              archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/")
-            ] : [
-              "--use-compress-program",
-              IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30"
-            ];
-          case constants_1.CompressionMethod.ZstdWithoutLong:
-            return BSD_TAR_ZSTD ? [
-              "zstd -d --force -o",
-              constants_1.TarFilename,
-              archivePath.replace(new RegExp(`\\${path4.sep}`, "g"), "/")
-            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"];
-          default:
-            return ["-z"];
+    function clearBuffer(stream, state) {
+      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
+        return;
+      }
+      const { buffered, bufferedIndex, objectMode } = state;
+      const bufferedLength = buffered.length - bufferedIndex;
+      if (!bufferedLength) {
+        return;
+      }
+      let i = bufferedIndex;
+      state.bufferProcessing = true;
+      if (bufferedLength > 1 && stream._writev) {
+        state.pendingcb -= bufferedLength - 1;
+        const callback = state.allNoop ? nop : (err) => {
+          for (let n = i; n < buffered.length; ++n) {
+            buffered[n].callback(err);
+          }
+        };
+        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
+        chunks.allBuffers = state.allBuffers;
+        doWrite(stream, state, true, state.length, chunks, "", callback);
+        resetBuffer(state);
+      } else {
+        do {
+          const { chunk, encoding, callback } = buffered[i];
+          buffered[i++] = null;
+          const len = objectMode ? 1 : chunk.length;
+          doWrite(stream, state, false, len, chunk, encoding, callback);
+        } while (i < buffered.length && !state.writing);
+        if (i === buffered.length) {
+          resetBuffer(state);
+        } else if (i > 256) {
+          buffered.splice(0, i);
+          state.bufferedIndex = 0;
+        } else {
+          state.bufferedIndex = i;
         }
-      });
+      }
+      state.bufferProcessing = false;
     }
-    function getCompressionProgram(tarPath, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const cacheFileName = utils.getCacheFileName(compressionMethod);
-        const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
-        switch (compressionMethod) {
-          case constants_1.CompressionMethod.Zstd:
-            return BSD_TAR_ZSTD ? [
-              "zstd -T0 --long=30 --force -o",
-              cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"),
-              constants_1.TarFilename
-            ] : [
-              "--use-compress-program",
-              IS_WINDOWS ? '"zstd -T0 --long=30"' : "zstdmt --long=30"
-            ];
-          case constants_1.CompressionMethod.ZstdWithoutLong:
-            return BSD_TAR_ZSTD ? [
-              "zstd -T0 --force -o",
-              cacheFileName.replace(new RegExp(`\\${path4.sep}`, "g"), "/"),
-              constants_1.TarFilename
-            ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"];
-          default:
-            return ["-z"];
+    Writable.prototype._write = function(chunk, encoding, cb) {
+      if (this._writev) {
+        this._writev(
+          [
+            {
+              chunk,
+              encoding
+            }
+          ],
+          cb
+        );
+      } else {
+        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
+      }
+    };
+    Writable.prototype._writev = null;
+    Writable.prototype.end = function(chunk, encoding, cb) {
+      const state = this._writableState;
+      if (typeof chunk === "function") {
+        cb = chunk;
+        chunk = null;
+        encoding = null;
+      } else if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
+      }
+      let err;
+      if (chunk !== null && chunk !== void 0) {
+        const ret = _write(this, chunk, encoding);
+        if (ret instanceof Error2) {
+          err = ret;
         }
-      });
+      }
+      if (state.corked) {
+        state.corked = 1;
+        this.uncork();
+      }
+      if (err) {
+      } else if (!state.errored && !state.ending) {
+        state.ending = true;
+        finishMaybe(this, state, true);
+        state.ended = true;
+      } else if (state.finished) {
+        err = new ERR_STREAM_ALREADY_FINISHED("end");
+      } else if (state.destroyed) {
+        err = new ERR_STREAM_DESTROYED("end");
+      }
+      if (typeof cb === "function") {
+        if (err || state.finished) {
+          process2.nextTick(cb, err);
+        } else {
+          state[kOnFinished].push(cb);
+        }
+      }
+      return this;
+    };
+    function needFinish(state) {
+      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
     }
-    function execCommands(commands, cwd) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        for (const command of commands) {
-          try {
-            yield (0, exec_1.exec)(command, void 0, {
-              cwd,
-              env: Object.assign(Object.assign({}, process.env), { MSYS: "winsymlinks:nativestrict" })
-            });
-          } catch (error3) {
-            throw new Error(`${command.split(" ")[0]} failed with error: ${error3 === null || error3 === void 0 ? void 0 : error3.message}`);
+    function callFinal(stream, state) {
+      let called = false;
+      function onFinish(err) {
+        if (called) {
+          errorOrDestroy(stream, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
+          return;
+        }
+        called = true;
+        state.pendingcb--;
+        if (err) {
+          const onfinishCallbacks = state[kOnFinished].splice(0);
+          for (let i = 0; i < onfinishCallbacks.length; i++) {
+            onfinishCallbacks[i](err);
           }
+          errorOrDestroy(stream, err, state.sync);
+        } else if (needFinish(state)) {
+          state.prefinished = true;
+          stream.emit("prefinish");
+          state.pendingcb++;
+          process2.nextTick(finish, stream, state);
         }
-      });
-    }
-    function listTar(archivePath, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const commands = yield getCommands(compressionMethod, "list", archivePath);
-        yield execCommands(commands);
-      });
+      }
+      state.sync = true;
+      state.pendingcb++;
+      try {
+        stream._final(onFinish);
+      } catch (err) {
+        onFinish(err);
+      }
+      state.sync = false;
     }
-    function extractTar2(archivePath, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const workingDirectory = getWorkingDirectory();
-        yield io6.mkdirP(workingDirectory);
-        const commands = yield getCommands(compressionMethod, "extract", archivePath);
-        yield execCommands(commands);
-      });
+    function prefinish(stream, state) {
+      if (!state.prefinished && !state.finalCalled) {
+        if (typeof stream._final === "function" && !state.destroyed) {
+          state.finalCalled = true;
+          callFinal(stream, state);
+        } else {
+          state.prefinished = true;
+          stream.emit("prefinish");
+        }
+      }
     }
-    function createTar(archiveFolder, sourceDirectories, compressionMethod) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, fs_1.writeFileSync)(path4.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n"));
-        const commands = yield getCommands(compressionMethod, "create");
-        yield execCommands(commands, archiveFolder);
-      });
+    function finishMaybe(stream, state, sync) {
+      if (needFinish(state)) {
+        prefinish(stream, state);
+        if (state.pendingcb === 0) {
+          if (sync) {
+            state.pendingcb++;
+            process2.nextTick(
+              (stream2, state2) => {
+                if (needFinish(state2)) {
+                  finish(stream2, state2);
+                } else {
+                  state2.pendingcb--;
+                }
+              },
+              stream,
+              state
+            );
+          } else if (needFinish(state)) {
+            state.pendingcb++;
+            finish(stream, state);
+          }
+        }
+      }
     }
-  }
-});
-
-// node_modules/@actions/cache/lib/cache.js
-var require_cache5 = __commonJS({
-  "node_modules/@actions/cache/lib/cache.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    function finish(stream, state) {
+      state.pendingcb--;
+      state.finished = true;
+      const onfinishCallbacks = state[kOnFinished].splice(0);
+      for (let i = 0; i < onfinishCallbacks.length; i++) {
+        onfinishCallbacks[i]();
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      stream.emit("finish");
+      if (state.autoDestroy) {
+        const rState = stream._readableState;
+        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
+        // if readable is explicitly set to false.
+        (rState.endEmitted || rState.readable === false);
+        if (autoDestroy) {
+          stream.destroy();
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+    }
+    ObjectDefineProperties(Writable.prototype, {
+      closed: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.closed : false;
+        }
+      },
+      destroyed: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.destroyed : false;
+        },
+        set(value) {
+          if (this._writableState) {
+            this._writableState.destroyed = value;
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+      },
+      writable: {
+        __proto__: null,
+        get() {
+          const w = this._writableState;
+          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
+        },
+        set(val) {
+          if (this._writableState) {
+            this._writableState.writable = !!val;
           }
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+      },
+      writableFinished: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.finished : false;
+        }
+      },
+      writableObjectMode: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.objectMode : false;
+        }
+      },
+      writableBuffer: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.getBuffer();
+        }
+      },
+      writableEnded: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.ending : false;
+        }
+      },
+      writableNeedDrain: {
+        __proto__: null,
+        get() {
+          const wState = this._writableState;
+          if (!wState) return false;
+          return !wState.destroyed && !wState.ending && wState.needDrain;
+        }
+      },
+      writableHighWaterMark: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.highWaterMark;
+        }
+      },
+      writableCorked: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.corked : 0;
+        }
+      },
+      writableLength: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.length;
+        }
+      },
+      errored: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._writableState ? this._writableState.errored : null;
+        }
+      },
+      writableAborted: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.FinalizeCacheError = exports2.ReserveCacheError = exports2.ValidationError = void 0;
-    exports2.isFeatureAvailable = isFeatureAvailable;
-    exports2.restoreCache = restoreCache4;
-    exports2.saveCache = saveCache4;
-    var core14 = __importStar2(require_core());
-    var path4 = __importStar2(require("path"));
-    var utils = __importStar2(require_cacheUtils());
-    var cacheHttpClient = __importStar2(require_cacheHttpClient());
-    var cacheTwirpClient = __importStar2(require_cacheTwirpClient());
-    var config_1 = require_config();
-    var tar_1 = require_tar();
-    var http_client_1 = require_lib();
-    var ValidationError = class _ValidationError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "ValidationError";
-        Object.setPrototypeOf(this, _ValidationError.prototype);
       }
-    };
-    exports2.ValidationError = ValidationError;
-    var ReserveCacheError2 = class _ReserveCacheError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "ReserveCacheError";
-        Object.setPrototypeOf(this, _ReserveCacheError.prototype);
+    });
+    var destroy = destroyImpl.destroy;
+    Writable.prototype.destroy = function(err, cb) {
+      const state = this._writableState;
+      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
+        process2.nextTick(errorBuffer, state);
       }
+      destroy.call(this, err, cb);
+      return this;
     };
-    exports2.ReserveCacheError = ReserveCacheError2;
-    var FinalizeCacheError = class _FinalizeCacheError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "FinalizeCacheError";
-        Object.setPrototypeOf(this, _FinalizeCacheError.prototype);
+    Writable.prototype._undestroy = destroyImpl.undestroy;
+    Writable.prototype._destroy = function(err, cb) {
+      cb(err);
+    };
+    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
+      this.destroy(err);
+    };
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Writable.fromWeb = function(writableStream, options) {
+      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
+    };
+    Writable.toWeb = function(streamWritable) {
+      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/duplexify.js
+var require_duplexify = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
+    var process2 = require_process();
+    var bufferModule = require("buffer");
+    var {
+      isReadable,
+      isWritable,
+      isIterable,
+      isNodeStream,
+      isReadableNodeStream,
+      isWritableNodeStream,
+      isDuplexNodeStream,
+      isReadableStream,
+      isWritableStream
+    } = require_utils8();
+    var eos = require_end_of_stream();
+    var {
+      AbortError,
+      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
+    } = require_errors5();
+    var { destroyer } = require_destroy2();
+    var Duplex = require_duplex();
+    var Readable = require_readable4();
+    var Writable = require_writable();
+    var { createDeferredPromise } = require_util21();
+    var from = require_from();
+    var Blob2 = globalThis.Blob || bufferModule.Blob;
+    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
+      return b instanceof Blob2;
+    } : function isBlob2(b) {
+      return false;
+    };
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var { FunctionPrototypeCall } = require_primordials();
+    var Duplexify = class extends Duplex {
+      constructor(options) {
+        super(options);
+        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
+          this._readableState.readable = false;
+          this._readableState.ended = true;
+          this._readableState.endEmitted = true;
+        }
+        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
+          this._writableState.writable = false;
+          this._writableState.ending = true;
+          this._writableState.ended = true;
+          this._writableState.finished = true;
+        }
       }
     };
-    exports2.FinalizeCacheError = FinalizeCacheError;
-    function checkPaths(paths) {
-      if (!paths || paths.length === 0) {
-        throw new ValidationError(`Path Validation Error: At least one directory or file path is required`);
+    module2.exports = function duplexify(body, name) {
+      if (isDuplexNodeStream(body)) {
+        return body;
       }
-    }
-    function checkKey(key) {
-      if (key.length > 512) {
-        throw new ValidationError(`Key Validation Error: ${key} cannot be larger than 512 characters.`);
+      if (isReadableNodeStream(body)) {
+        return _duplexify({
+          readable: body
+        });
       }
-      const regex = /^[^,]*$/;
-      if (!regex.test(key)) {
-        throw new ValidationError(`Key Validation Error: ${key} cannot contain commas.`);
+      if (isWritableNodeStream(body)) {
+        return _duplexify({
+          writable: body
+        });
       }
-    }
-    function isFeatureAvailable() {
-      const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
-      switch (cacheServiceVersion) {
-        case "v2":
-          return !!process.env["ACTIONS_RESULTS_URL"];
-        case "v1":
-        default:
-          return !!process.env["ACTIONS_CACHE_URL"];
+      if (isNodeStream(body)) {
+        return _duplexify({
+          writable: false,
+          readable: false
+        });
       }
-    }
-    function restoreCache4(paths_1, primaryKey_1, restoreKeys_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
-        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
-        core14.debug(`Cache service version: ${cacheServiceVersion}`);
-        checkPaths(paths);
-        switch (cacheServiceVersion) {
-          case "v2":
-            return yield restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
-          case "v1":
-          default:
-            return yield restoreCacheV1(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
-        }
-      });
-    }
-    function restoreCacheV1(paths_1, primaryKey_1, restoreKeys_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
-        restoreKeys = restoreKeys || [];
-        const keys = [primaryKey, ...restoreKeys];
-        core14.debug("Resolved Keys:");
-        core14.debug(JSON.stringify(keys));
-        if (keys.length > 10) {
-          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
-        }
-        for (const key of keys) {
-          checkKey(key);
-        }
-        const compressionMethod = yield utils.getCompressionMethod();
-        let archivePath = "";
-        try {
-          const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, {
-            compressionMethod,
-            enableCrossOsArchive
+      if (isReadableStream(body)) {
+        return _duplexify({
+          readable: Readable.fromWeb(body)
+        });
+      }
+      if (isWritableStream(body)) {
+        return _duplexify({
+          writable: Writable.fromWeb(body)
+        });
+      }
+      if (typeof body === "function") {
+        const { value, write, final, destroy } = fromAsyncGen(body);
+        if (isIterable(value)) {
+          return from(Duplexify, value, {
+            // TODO (ronag): highWaterMark?
+            objectMode: true,
+            write,
+            final,
+            destroy
           });
-          if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) {
-            return void 0;
-          }
-          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
-            core14.info("Lookup only - skipping download");
-            return cacheEntry.cacheKey;
-          }
-          archivePath = path4.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
-          core14.debug(`Archive Path: ${archivePath}`);
-          yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options);
-          if (core14.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
-          }
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
-          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
-          core14.info("Cache restored successfully");
-          return cacheEntry.cacheKey;
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core14.error(`Failed to restore: ${error3.message}`);
-            } else {
-              core14.warning(`Failed to restore: ${error3.message}`);
-            }
-          }
-        } finally {
-          try {
-            yield utils.unlinkFile(archivePath);
-          } catch (error3) {
-            core14.debug(`Failed to delete archive: ${error3}`);
-          }
-        }
-        return void 0;
-      });
-    }
-    function restoreCacheV2(paths_1, primaryKey_1, restoreKeys_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
-        options = Object.assign(Object.assign({}, options), { useAzureSdk: true });
-        restoreKeys = restoreKeys || [];
-        const keys = [primaryKey, ...restoreKeys];
-        core14.debug("Resolved Keys:");
-        core14.debug(JSON.stringify(keys));
-        if (keys.length > 10) {
-          throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`);
         }
-        for (const key of keys) {
-          checkKey(key);
+        const then2 = value === null || value === void 0 ? void 0 : value.then;
+        if (typeof then2 === "function") {
+          let d;
+          const promise = FunctionPrototypeCall(
+            then2,
+            value,
+            (val) => {
+              if (val != null) {
+                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
+              }
+            },
+            (err) => {
+              destroyer(d, err);
+            }
+          );
+          return d = new Duplexify({
+            // TODO (ronag): highWaterMark?
+            objectMode: true,
+            readable: false,
+            write,
+            final(cb) {
+              final(async () => {
+                try {
+                  await promise;
+                  process2.nextTick(cb, null);
+                } catch (err) {
+                  process2.nextTick(cb, err);
+                }
+              });
+            },
+            destroy
+          });
         }
-        let archivePath = "";
-        try {
-          const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
-          const compressionMethod = yield utils.getCompressionMethod();
-          const request2 = {
-            key: primaryKey,
-            restoreKeys,
-            version: utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive)
-          };
-          const response = yield twirpClient.GetCacheEntryDownloadURL(request2);
-          if (!response.ok) {
-            core14.debug(`Cache not found for version ${request2.version} of keys: ${keys.join(", ")}`);
-            return void 0;
-          }
-          const isRestoreKeyMatch = request2.key !== response.matchedKey;
-          if (isRestoreKeyMatch) {
-            core14.info(`Cache hit for restore-key: ${response.matchedKey}`);
-          } else {
-            core14.info(`Cache hit for: ${response.matchedKey}`);
-          }
-          if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
-            core14.info("Lookup only - skipping download");
-            return response.matchedKey;
-          }
-          archivePath = path4.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
-          core14.debug(`Archive path: ${archivePath}`);
-          core14.debug(`Starting download of archive to: ${archivePath}`);
-          yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options);
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core14.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
-          if (core14.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
-          }
-          yield (0, tar_1.extractTar)(archivePath, compressionMethod);
-          core14.info("Cache restored successfully");
-          return response.matchedKey;
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core14.error(`Failed to restore: ${error3.message}`);
-            } else {
-              core14.warning(`Failed to restore: ${error3.message}`);
+        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
+      }
+      if (isBlob(body)) {
+        return duplexify(body.arrayBuffer());
+      }
+      if (isIterable(body)) {
+        return from(Duplexify, body, {
+          // TODO (ronag): highWaterMark?
+          objectMode: true,
+          writable: false
+        });
+      }
+      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
+        return Duplexify.fromWeb(body);
+      }
+      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
+        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
+        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
+        return _duplexify({
+          readable,
+          writable
+        });
+      }
+      const then = body === null || body === void 0 ? void 0 : body.then;
+      if (typeof then === "function") {
+        let d;
+        FunctionPrototypeCall(
+          then,
+          body,
+          (val) => {
+            if (val != null) {
+              d.push(val);
             }
+            d.push(null);
+          },
+          (err) => {
+            destroyer(d, err);
           }
-        } finally {
-          try {
-            if (archivePath) {
-              yield utils.unlinkFile(archivePath);
-            }
-          } catch (error3) {
-            core14.debug(`Failed to delete archive: ${error3}`);
+        );
+        return d = new Duplexify({
+          objectMode: true,
+          writable: false,
+          read() {
+          }
+        });
+      }
+      throw new ERR_INVALID_ARG_TYPE2(
+        name,
+        [
+          "Blob",
+          "ReadableStream",
+          "WritableStream",
+          "Stream",
+          "Iterable",
+          "AsyncIterable",
+          "Function",
+          "{ readable, writable } pair",
+          "Promise"
+        ],
+        body
+      );
+    };
+    function fromAsyncGen(fn) {
+      let { promise, resolve: resolve3 } = createDeferredPromise();
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      const value = fn(
+        (async function* () {
+          while (true) {
+            const _promise = promise;
+            promise = null;
+            const { chunk, done, cb } = await _promise;
+            process2.nextTick(cb);
+            if (done) return;
+            if (signal.aborted)
+              throw new AbortError(void 0, {
+                cause: signal.reason
+              });
+            ({ promise, resolve: resolve3 } = createDeferredPromise());
+            yield chunk;
           }
+        })(),
+        {
+          signal
         }
-        return void 0;
-      });
-    }
-    function saveCache4(paths_1, key_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
-        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
-        core14.debug(`Cache service version: ${cacheServiceVersion}`);
-        checkPaths(paths);
-        checkKey(key);
-        switch (cacheServiceVersion) {
-          case "v2":
-            return yield saveCacheV2(paths, key, options, enableCrossOsArchive);
-          case "v1":
-          default:
-            return yield saveCacheV1(paths, key, options, enableCrossOsArchive);
+      );
+      return {
+        value,
+        write(chunk, encoding, cb) {
+          const _resolve = resolve3;
+          resolve3 = null;
+          _resolve({
+            chunk,
+            done: false,
+            cb
+          });
+        },
+        final(cb) {
+          const _resolve = resolve3;
+          resolve3 = null;
+          _resolve({
+            done: true,
+            cb
+          });
+        },
+        destroy(err, cb) {
+          ac.abort();
+          cb(err);
         }
-      });
+      };
     }
-    function saveCacheV1(paths_1, key_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
-        var _a, _b, _c, _d, _e;
-        const compressionMethod = yield utils.getCompressionMethod();
-        let cacheId = -1;
-        const cachePaths = yield utils.resolvePaths(paths);
-        core14.debug("Cache Paths:");
-        core14.debug(`${JSON.stringify(cachePaths)}`);
-        if (cachePaths.length === 0) {
-          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
+    function _duplexify(pair) {
+      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable.wrap(pair.readable) : pair.readable;
+      const w = pair.writable;
+      let readable = !!isReadable(r);
+      let writable = !!isWritable(w);
+      let ondrain;
+      let onfinish;
+      let onreadable;
+      let onclose;
+      let d;
+      function onfinished(err) {
+        const cb = onclose;
+        onclose = null;
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          d.destroy(err);
         }
-        const archiveFolder = yield utils.createTempDirectory();
-        const archivePath = path4.join(archiveFolder, utils.getCacheFileName(compressionMethod));
-        core14.debug(`Archive Path: ${archivePath}`);
-        try {
-          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
-          if (core14.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
-          }
-          const fileSizeLimit = 10 * 1024 * 1024 * 1024;
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core14.debug(`File Size: ${archiveFileSize}`);
-          if (archiveFileSize > fileSizeLimit && !(0, config_1.isGhes)()) {
-            throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`);
+      }
+      d = new Duplexify({
+        // TODO (ronag): highWaterMark?
+        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
+        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
+        readable,
+        writable
+      });
+      if (writable) {
+        eos(w, (err) => {
+          writable = false;
+          if (err) {
+            destroyer(r, err);
           }
-          core14.debug("Reserving Cache");
-          const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, {
-            compressionMethod,
-            enableCrossOsArchive,
-            cacheSize: archiveFileSize
-          });
-          if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) {
-            cacheId = (_b = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _b === void 0 ? void 0 : _b.cacheId;
-          } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) {
-            throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`);
+          onfinished(err);
+        });
+        d._write = function(chunk, encoding, callback) {
+          if (w.write(chunk, encoding)) {
+            callback();
           } else {
-            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`);
+            ondrain = callback;
           }
-          core14.debug(`Saving Cache (ID: ${cacheId})`);
-          yield cacheHttpClient.saveCache(cacheId, archivePath, "", options);
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else if (typedError.name === ReserveCacheError2.name) {
-            core14.info(`Failed to save: ${typedError.message}`);
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core14.error(`Failed to save: ${typedError.message}`);
-            } else {
-              core14.warning(`Failed to save: ${typedError.message}`);
-            }
+        };
+        d._final = function(callback) {
+          w.end();
+          onfinish = callback;
+        };
+        w.on("drain", function() {
+          if (ondrain) {
+            const cb = ondrain;
+            ondrain = null;
+            cb();
           }
-        } finally {
-          try {
-            yield utils.unlinkFile(archivePath);
-          } catch (error3) {
-            core14.debug(`Failed to delete archive: ${error3}`);
+        });
+        w.on("finish", function() {
+          if (onfinish) {
+            const cb = onfinish;
+            onfinish = null;
+            cb();
           }
-        }
-        return cacheId;
-      });
-    }
-    function saveCacheV2(paths_1, key_1, options_1) {
-      return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
-        options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true });
-        const compressionMethod = yield utils.getCompressionMethod();
-        const twirpClient = cacheTwirpClient.internalCacheTwirpClient();
-        let cacheId = -1;
-        const cachePaths = yield utils.resolvePaths(paths);
-        core14.debug("Cache Paths:");
-        core14.debug(`${JSON.stringify(cachePaths)}`);
-        if (cachePaths.length === 0) {
-          throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
-        }
-        const archiveFolder = yield utils.createTempDirectory();
-        const archivePath = path4.join(archiveFolder, utils.getCacheFileName(compressionMethod));
-        core14.debug(`Archive Path: ${archivePath}`);
-        try {
-          yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
-          if (core14.isDebug()) {
-            yield (0, tar_1.listTar)(archivePath, compressionMethod);
+        });
+      }
+      if (readable) {
+        eos(r, (err) => {
+          readable = false;
+          if (err) {
+            destroyer(r, err);
           }
-          const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
-          core14.debug(`File Size: ${archiveFileSize}`);
-          options.archiveSizeBytes = archiveFileSize;
-          core14.debug("Reserving Cache");
-          const version = utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive);
-          const request2 = {
-            key,
-            version
-          };
-          let signedUploadUrl;
-          try {
-            const response = yield twirpClient.CreateCacheEntry(request2);
-            if (!response.ok) {
-              if (response.message) {
-                core14.warning(`Cache reservation failed: ${response.message}`);
-              }
-              throw new Error(response.message || "Response was not ok");
-            }
-            signedUploadUrl = response.signedUploadUrl;
-          } catch (error3) {
-            core14.debug(`Failed to reserve cache: ${error3}`);
-            throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache.`);
+          onfinished(err);
+        });
+        r.on("readable", function() {
+          if (onreadable) {
+            const cb = onreadable;
+            onreadable = null;
+            cb();
           }
-          core14.debug(`Attempting to upload cache located at: ${archivePath}`);
-          yield cacheHttpClient.saveCache(cacheId, archivePath, signedUploadUrl, options);
-          const finalizeRequest = {
-            key,
-            version,
-            sizeBytes: `${archiveFileSize}`
-          };
-          const finalizeResponse = yield twirpClient.FinalizeCacheEntryUpload(finalizeRequest);
-          core14.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`);
-          if (!finalizeResponse.ok) {
-            if (finalizeResponse.message) {
-              throw new FinalizeCacheError(finalizeResponse.message);
+        });
+        r.on("end", function() {
+          d.push(null);
+        });
+        d._read = function() {
+          while (true) {
+            const buf = r.read();
+            if (buf === null) {
+              onreadable = d._read;
+              return;
             }
-            throw new Error(`Unable to finalize cache with key ${key}, another job may be finalizing this cache.`);
-          }
-          cacheId = parseInt(finalizeResponse.entryId);
-        } catch (error3) {
-          const typedError = error3;
-          if (typedError.name === ValidationError.name) {
-            throw error3;
-          } else if (typedError.name === ReserveCacheError2.name) {
-            core14.info(`Failed to save: ${typedError.message}`);
-          } else if (typedError.name === FinalizeCacheError.name) {
-            core14.warning(typedError.message);
-          } else {
-            if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) {
-              core14.error(`Failed to save: ${typedError.message}`);
-            } else {
-              core14.warning(`Failed to save: ${typedError.message}`);
+            if (!d.push(buf)) {
+              return;
             }
           }
-        } finally {
-          try {
-            yield utils.unlinkFile(archivePath);
-          } catch (error3) {
-            core14.debug(`Failed to delete archive: ${error3}`);
-          }
+        };
+      }
+      d._destroy = function(err, callback) {
+        if (!err && onclose !== null) {
+          err = new AbortError();
         }
-        return cacheId;
-      });
+        onreadable = null;
+        ondrain = null;
+        onfinish = null;
+        if (onclose === null) {
+          callback(err);
+        } else {
+          onclose = callback;
+          destroyer(w, err);
+          destroyer(r, err);
+        }
+      };
+      return d;
     }
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/config.js
-var require_config2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/duplex.js
+var require_duplex = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
     "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
-    var os_1 = __importDefault2(require("os"));
-    var core_1 = require_core();
-    function getUploadChunkSize() {
-      return 8 * 1024 * 1024;
-    }
-    exports2.getUploadChunkSize = getUploadChunkSize;
-    function getRuntimeToken() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
-      if (!token) {
-        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
-      }
-      return token;
-    }
-    exports2.getRuntimeToken = getRuntimeToken;
-    function getResultsServiceUrl() {
-      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
-      if (!resultsUrl) {
-        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
-      }
-      return new URL(resultsUrl).origin;
-    }
-    exports2.getResultsServiceUrl = getResultsServiceUrl;
-    function isGhes() {
-      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
-      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
-      const isGitHubHost = hostname === "GITHUB.COM";
-      const isGheHost = hostname.endsWith(".GHE.COM");
-      const isLocalHost = hostname.endsWith(".LOCALHOST");
-      return !isGitHubHost && !isGheHost && !isLocalHost;
-    }
-    exports2.isGhes = isGhes;
-    function getGitHubWorkspaceDir() {
-      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
-      if (!ghWorkspaceDir) {
-        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
+    var {
+      ObjectDefineProperties,
+      ObjectGetOwnPropertyDescriptor,
+      ObjectKeys,
+      ObjectSetPrototypeOf
+    } = require_primordials();
+    module2.exports = Duplex;
+    var Readable = require_readable4();
+    var Writable = require_writable();
+    ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype);
+    ObjectSetPrototypeOf(Duplex, Readable);
+    {
+      const keys = ObjectKeys(Writable.prototype);
+      for (let i = 0; i < keys.length; i++) {
+        const method = keys[i];
+        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
       }
-      return ghWorkspaceDir;
     }
-    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
-    function getConcurrency() {
-      const numCPUs = os_1.default.cpus().length;
-      let concurrencyCap = 32;
-      if (numCPUs > 4) {
-        const concurrency = 16 * numCPUs;
-        concurrencyCap = concurrency > 300 ? 300 : concurrency;
-      }
-      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
-      if (concurrencyOverride) {
-        const concurrency = parseInt(concurrencyOverride);
-        if (isNaN(concurrency) || concurrency < 1) {
-          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
+    function Duplex(options) {
+      if (!(this instanceof Duplex)) return new Duplex(options);
+      Readable.call(this, options);
+      Writable.call(this, options);
+      if (options) {
+        this.allowHalfOpen = options.allowHalfOpen !== false;
+        if (options.readable === false) {
+          this._readableState.readable = false;
+          this._readableState.ended = true;
+          this._readableState.endEmitted = true;
         }
-        if (concurrency < concurrencyCap) {
-          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
-          return concurrency;
+        if (options.writable === false) {
+          this._writableState.writable = false;
+          this._writableState.ending = true;
+          this._writableState.ended = true;
+          this._writableState.finished = true;
         }
-        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
-        return concurrencyCap;
+      } else {
+        this.allowHalfOpen = true;
       }
-      return 5;
     }
-    exports2.getConcurrency = getConcurrency;
-    function getUploadChunkTimeout() {
-      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
-      if (!timeoutVar) {
-        return 3e5;
-      }
-      const timeout = parseInt(timeoutVar);
-      if (isNaN(timeout)) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
+    ObjectDefineProperties(Duplex.prototype, {
+      writable: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
+      },
+      writableHighWaterMark: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
+      },
+      writableObjectMode: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
+      },
+      writableBuffer: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
+      },
+      writableLength: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
+      },
+      writableFinished: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
+      },
+      writableCorked: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
+      },
+      writableEnded: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
+      },
+      writableNeedDrain: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
+      },
+      destroyed: {
+        __proto__: null,
+        get() {
+          if (this._readableState === void 0 || this._writableState === void 0) {
+            return false;
+          }
+          return this._readableState.destroyed && this._writableState.destroyed;
+        },
+        set(value) {
+          if (this._readableState && this._writableState) {
+            this._readableState.destroyed = value;
+            this._writableState.destroyed = value;
+          }
+        }
       }
-      return timeout;
+    });
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
     }
-    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
-    function getMaxArtifactListCount() {
-      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
-      const maxCount = parseInt(maxCountVar);
-      if (isNaN(maxCount) || maxCount < 1) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
+    Duplex.fromWeb = function(pair, options) {
+      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
+    };
+    Duplex.toWeb = function(duplex) {
+      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
+    };
+    var duplexify;
+    Duplex.from = function(body) {
+      if (!duplexify) {
+        duplexify = require_duplexify();
       }
-      return maxCount;
-    }
-    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
+      return duplexify(body, "body");
+    };
   }
 });
 
-// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
-var require_timestamp = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/transform.js
+var require_transform = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Timestamp = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var runtime_6 = require_commonjs16();
-    var runtime_7 = require_commonjs16();
-    var Timestamp$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Timestamp", [
-          {
-            no: 1,
-            name: "seconds",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 2,
-            name: "nanos",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
-      }
-      /**
-       * Creates a new `Timestamp` for the current time.
-       */
-      now() {
-        const msg = this.create();
-        const ms = Date.now();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
-      }
-      /**
-       * Converts a `Timestamp` to a JavaScript Date.
-       */
-      toDate(message) {
-        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
+    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
+    module2.exports = Transform;
+    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors5().codes;
+    var Duplex = require_duplex();
+    var { getHighWaterMark } = require_state3();
+    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
+    ObjectSetPrototypeOf(Transform, Duplex);
+    var kCallback = Symbol2("kCallback");
+    function Transform(options) {
+      if (!(this instanceof Transform)) return new Transform(options);
+      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
+      if (readableHighWaterMark === 0) {
+        options = {
+          ...options,
+          highWaterMark: null,
+          readableHighWaterMark,
+          // TODO (ronag): 0 is not optimal since we have
+          // a "bug" where we check needDrain before calling _write and not after.
+          // Refs: https://github.com/nodejs/node/pull/32887
+          // Refs: https://github.com/nodejs/node/pull/35941
+          writableHighWaterMark: options.writableHighWaterMark || 0
+        };
       }
-      /**
-       * Converts a JavaScript Date to a `Timestamp`.
-       */
-      fromDate(date) {
-        const msg = this.create();
-        const ms = date.getTime();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
+      Duplex.call(this, options);
+      this._readableState.sync = false;
+      this[kCallback] = null;
+      if (options) {
+        if (typeof options.transform === "function") this._transform = options.transform;
+        if (typeof options.flush === "function") this._flush = options.flush;
       }
-      /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
-       */
-      internalJsonWrite(message, options) {
-        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (message.nanos < 0)
-          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
-        let z = "Z";
-        if (message.nanos > 0) {
-          let nanosStr = (message.nanos + 1e9).toString().substring(1);
-          if (nanosStr.substring(3) === "000000")
-            z = "." + nanosStr.substring(0, 3) + "Z";
-          else if (nanosStr.substring(6) === "000")
-            z = "." + nanosStr.substring(0, 6) + "Z";
-          else
-            z = "." + nanosStr + "Z";
+      this.on("prefinish", prefinish);
+    }
+    function final(cb) {
+      if (typeof this._flush === "function" && !this.destroyed) {
+        this._flush((er, data) => {
+          if (er) {
+            if (cb) {
+              cb(er);
+            } else {
+              this.destroy(er);
+            }
+            return;
+          }
+          if (data != null) {
+            this.push(data);
+          }
+          this.push(null);
+          if (cb) {
+            cb();
+          }
+        });
+      } else {
+        this.push(null);
+        if (cb) {
+          cb();
         }
-        return new Date(ms).toISOString().replace(".000Z", z);
-      }
-      /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
-       */
-      internalJsonRead(json2, options, target) {
-        if (typeof json2 !== "string")
-          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
-        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
-        if (!matches)
-          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
-        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
-        if (Number.isNaN(ms))
-          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (!target)
-          target = this.create();
-        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
-        target.nanos = 0;
-        if (matches[7])
-          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
-        return target;
       }
-      create(value) {
-        const message = { seconds: "0", nanos: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+    }
+    function prefinish() {
+      if (this._final !== final) {
+        final.call(this);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 seconds */
-            1:
-              message.seconds = reader.int64().toString();
-              break;
-            case /* int32 nanos */
-            2:
-              message.nanos = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+    }
+    Transform.prototype._final = final;
+    Transform.prototype._transform = function(chunk, encoding, callback) {
+      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
+    };
+    Transform.prototype._write = function(chunk, encoding, callback) {
+      const rState = this._readableState;
+      const wState = this._writableState;
+      const length = rState.length;
+      this._transform(chunk, encoding, (err, val) => {
+        if (err) {
+          callback(err);
+          return;
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.seconds !== "0")
-          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
-        if (message.nanos !== 0)
-          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        if (val != null) {
+          this.push(val);
+        }
+        if (wState.ended || // Backwards compat.
+        length === rState.length || // Backwards compat.
+        rState.length < rState.highWaterMark) {
+          callback();
+        } else {
+          this[kCallback] = callback;
+        }
+      });
+    };
+    Transform.prototype._read = function() {
+      if (this[kCallback]) {
+        const callback = this[kCallback];
+        this[kCallback] = null;
+        callback();
       }
     };
-    exports2.Timestamp = new Timestamp$Type();
   }
 });
 
-// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
-var require_wrappers = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/passthrough.js
+var require_passthrough2 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var runtime_6 = require_commonjs16();
-    var runtime_7 = require_commonjs16();
-    var DoubleValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.DoubleValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 1
-            /*ScalarType.DOUBLE*/
-          }
-        ]);
-      }
-      /**
-       * Encode `DoubleValue` to JSON number.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
-      }
-      /**
-       * Decode `DoubleValue` from JSON number.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* double value */
-            1:
-              message.value = reader.double();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
+    var { ObjectSetPrototypeOf } = require_primordials();
+    module2.exports = PassThrough;
+    var Transform = require_transform();
+    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
+    ObjectSetPrototypeOf(PassThrough, Transform);
+    function PassThrough(options) {
+      if (!(this instanceof PassThrough)) return new PassThrough(options);
+      Transform.call(this, options);
+    }
+    PassThrough.prototype._transform = function(chunk, encoding, cb) {
+      cb(null, chunk);
     };
-    exports2.DoubleValue = new DoubleValue$Type();
-    var FloatValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.FloatValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 2
-            /*ScalarType.FLOAT*/
-          }
-        ]);
-      }
-      /**
-       * Encode `FloatValue` to JSON number.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
-      }
-      /**
-       * Decode `FloatValue` from JSON number.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* float value */
-            1:
-              message.value = reader.float();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/pipeline.js
+var require_pipeline4 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
+    var process2 = require_process();
+    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
+    var eos = require_end_of_stream();
+    var { once } = require_util21();
+    var destroyImpl = require_destroy2();
+    var Duplex = require_duplex();
+    var {
+      aggregateTwoErrors,
+      codes: {
+        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+        ERR_INVALID_RETURN_VALUE,
+        ERR_MISSING_ARGS,
+        ERR_STREAM_DESTROYED,
+        ERR_STREAM_PREMATURE_CLOSE
+      },
+      AbortError
+    } = require_errors5();
+    var { validateFunction, validateAbortSignal } = require_validators();
+    var {
+      isIterable,
+      isReadable,
+      isReadableNodeStream,
+      isNodeStream,
+      isTransformStream,
+      isWebStream,
+      isReadableStream,
+      isReadableFinished
+    } = require_utils8();
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var PassThrough;
+    var Readable;
+    var addAbortListener;
+    function destroyer(stream, reading, writing) {
+      let finished = false;
+      stream.on("close", () => {
+        finished = true;
+      });
+      const cleanup = eos(
+        stream,
+        {
+          readable: reading,
+          writable: writing
+        },
+        (err) => {
+          finished = !err;
         }
-        return message;
+      );
+      return {
+        destroy: (err) => {
+          if (finished) return;
+          finished = true;
+          destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED("pipe"));
+        },
+        cleanup
+      };
+    }
+    function popCallback(streams) {
+      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
+      return streams.pop();
+    }
+    function makeAsyncIterable(val) {
+      if (isIterable(val)) {
+        return val;
+      } else if (isReadableNodeStream(val)) {
+        return fromReadable(val);
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
+    }
+    async function* fromReadable(val) {
+      if (!Readable) {
+        Readable = require_readable4();
       }
-    };
-    exports2.FloatValue = new FloatValue$Type();
-    var Int64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+      yield* Readable.prototype[SymbolAsyncIterator].call(val);
+    }
+    async function pumpToNode(iterable, writable, finish, { end }) {
+      let error3;
+      let onresolve = null;
+      const resume = (err) => {
+        if (err) {
+          error3 = err;
+        }
+        if (onresolve) {
+          const callback = onresolve;
+          onresolve = null;
+          callback();
+        }
+      };
+      const wait = () => new Promise2((resolve3, reject) => {
+        if (error3) {
+          reject(error3);
+        } else {
+          onresolve = () => {
+            if (error3) {
+              reject(error3);
+            } else {
+              resolve3();
+            }
+          };
+        }
+      });
+      writable.on("drain", resume);
+      const cleanup = eos(
+        writable,
+        {
+          readable: false
+        },
+        resume
+      );
+      try {
+        if (writable.writableNeedDrain) {
+          await wait();
+        }
+        for await (const chunk of iterable) {
+          if (!writable.write(chunk)) {
+            await wait();
           }
-        ]);
-      }
-      /**
-       * Encode `Int64Value` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
-      }
-      /**
-       * Decode `Int64Value` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
-        return target;
+        }
+        if (end) {
+          writable.end();
+          await wait();
+        }
+        finish();
+      } catch (err) {
+        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
+      } finally {
+        cleanup();
+        writable.off("drain", resume);
       }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+    }
+    async function pumpToWeb(readable, writable, finish, { end }) {
+      if (isTransformStream(writable)) {
+        writable = writable.writable;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 value */
-            1:
-              message.value = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      const writer = writable.getWriter();
+      try {
+        for await (const chunk of readable) {
+          await writer.ready;
+          writer.write(chunk).catch(() => {
+          });
+        }
+        await writer.ready;
+        if (end) {
+          await writer.close();
+        }
+        finish();
+      } catch (err) {
+        try {
+          await writer.abort(err);
+          finish(err);
+        } catch (err2) {
+          finish(err2);
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+    }
+    function pipeline(...streams) {
+      return pipelineImpl(streams, once(popCallback(streams)));
+    }
+    function pipelineImpl(streams, callback, opts) {
+      if (streams.length === 1 && ArrayIsArray(streams[0])) {
+        streams = streams[0];
       }
-    };
-    exports2.Int64Value = new Int64Value$Type();
-    var UInt64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 4
-            /*ScalarType.UINT64*/
-          }
-        ]);
+      if (streams.length < 2) {
+        throw new ERR_MISSING_ARGS("streams");
       }
-      /**
-       * Encode `UInt64Value` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
+      const lastStreamCleanup = [];
+      validateAbortSignal(outerSignal, "options.signal");
+      function abort() {
+        finishImpl(new AbortError());
       }
-      /**
-       * Decode `UInt64Value` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
-        return target;
+      addAbortListener = addAbortListener || require_util21().addAbortListener;
+      let disposable;
+      if (outerSignal) {
+        disposable = addAbortListener(outerSignal, abort);
       }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      let error3;
+      let value;
+      const destroys = [];
+      let finishCount = 0;
+      function finish(err) {
+        finishImpl(err, --finishCount === 0);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint64 value */
-            1:
-              message.value = reader.uint64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      function finishImpl(err, final) {
+        var _disposable;
+        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
+          error3 = err;
+        }
+        if (!error3 && !final) {
+          return;
+        }
+        while (destroys.length) {
+          destroys.shift()(error3);
+        }
+        ;
+        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
+        ac.abort();
+        if (final) {
+          if (!error3) {
+            lastStreamCleanup.forEach((fn) => fn());
           }
+          process2.nextTick(callback, error3, value);
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.UInt64Value = new UInt64Value$Type();
-    var Int32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
+      let ret;
+      for (let i = 0; i < streams.length; i++) {
+        const stream = streams[i];
+        const reading = i < streams.length - 1;
+        const writing = i > 0;
+        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
+        const isLastStream = i === streams.length - 1;
+        if (isNodeStream(stream)) {
+          let onError2 = function(err) {
+            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
+              finish(err);
+            }
+          };
+          var onError = onError2;
+          if (end) {
+            const { destroy, cleanup } = destroyer(stream, reading, writing);
+            destroys.push(destroy);
+            if (isReadable(stream) && isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
           }
-        ]);
-      }
-      /**
-       * Encode `Int32Value` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
-      }
-      /**
-       * Decode `Int32Value` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int32 value */
-            1:
-              message.value = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          stream.on("error", onError2);
+          if (isReadable(stream) && isLastStream) {
+            lastStreamCleanup.push(() => {
+              stream.removeListener("error", onError2);
+            });
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.Int32Value = new Int32Value$Type();
-    var UInt32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 13
-            /*ScalarType.UINT32*/
+        if (i === 0) {
+          if (typeof stream === "function") {
+            ret = stream({
+              signal
+            });
+            if (!isIterable(ret)) {
+              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
+            }
+          } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {
+            ret = stream;
+          } else {
+            ret = Duplex.from(stream);
           }
-        ]);
-      }
-      /**
-       * Encode `UInt32Value` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
-      }
-      /**
-       * Decode `UInt32Value` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
-        return target;
-      }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint32 value */
-            1:
-              message.value = reader.uint32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+        } else if (typeof stream === "function") {
+          if (isTransformStream(ret)) {
+            var _ret;
+            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
+          } else {
+            ret = makeAsyncIterable(ret);
+          }
+          ret = stream(ret, {
+            signal
+          });
+          if (reading) {
+            if (!isIterable(ret, true)) {
+              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
+            }
+          } else {
+            var _ret2;
+            if (!PassThrough) {
+              PassThrough = require_passthrough2();
+            }
+            const pt = new PassThrough({
+              objectMode: true
+            });
+            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
+            if (typeof then === "function") {
+              finishCount++;
+              then.call(
+                ret,
+                (val) => {
+                  value = val;
+                  if (val != null) {
+                    pt.write(val);
+                  }
+                  if (end) {
+                    pt.end();
+                  }
+                  process2.nextTick(finish);
+                },
+                (err) => {
+                  pt.destroy(err);
+                  process2.nextTick(finish, err);
+                }
+              );
+            } else if (isIterable(ret, true)) {
+              finishCount++;
+              pumpToNode(ret, pt, finish, {
+                end
+              });
+            } else if (isReadableStream(ret) || isTransformStream(ret)) {
+              const toRead = ret.readable || ret;
+              finishCount++;
+              pumpToNode(toRead, pt, finish, {
+                end
+              });
+            } else {
+              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
+            }
+            ret = pt;
+            const { destroy, cleanup } = destroyer(ret, false, true);
+            destroys.push(destroy);
+            if (isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
+          }
+        } else if (isNodeStream(stream)) {
+          if (isReadableNodeStream(ret)) {
+            finishCount += 2;
+            const cleanup = pipe(ret, stream, finish, {
+              end
+            });
+            if (isReadable(stream) && isLastStream) {
+              lastStreamCleanup.push(cleanup);
+            }
+          } else if (isTransformStream(ret) || isReadableStream(ret)) {
+            const toRead = ret.readable || ret;
+            finishCount++;
+            pumpToNode(toRead, stream, finish, {
+              end
+            });
+          } else if (isIterable(ret)) {
+            finishCount++;
+            pumpToNode(ret, stream, finish, {
+              end
+            });
+          } else {
+            throw new ERR_INVALID_ARG_TYPE2(
+              "val",
+              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
+              ret
+            );
+          }
+          ret = stream;
+        } else if (isWebStream(stream)) {
+          if (isReadableNodeStream(ret)) {
+            finishCount++;
+            pumpToWeb(makeAsyncIterable(ret), stream, finish, {
+              end
+            });
+          } else if (isReadableStream(ret) || isIterable(ret)) {
+            finishCount++;
+            pumpToWeb(ret, stream, finish, {
+              end
+            });
+          } else if (isTransformStream(ret)) {
+            finishCount++;
+            pumpToWeb(ret.readable, stream, finish, {
+              end
+            });
+          } else {
+            throw new ERR_INVALID_ARG_TYPE2(
+              "val",
+              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
+              ret
+            );
           }
+          ret = stream;
+        } else {
+          ret = Duplex.from(stream);
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.UInt32Value = new UInt32Value$Type();
-    var BoolValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BoolValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          }
-        ]);
-      }
-      /**
-       * Encode `BoolValue` to JSON bool.
-       */
-      internalJsonWrite(message, options) {
-        return message.value;
       }
-      /**
-       * Decode `BoolValue` from JSON bool.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
-        return target;
+      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
+        process2.nextTick(abort);
       }
-      create(value) {
-        const message = { value: false };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      return ret;
+    }
+    function pipe(src, dst, finish, { end }) {
+      let ended = false;
+      dst.on("close", () => {
+        if (!ended) {
+          finish(new ERR_STREAM_PREMATURE_CLOSE());
+        }
+      });
+      src.pipe(dst, {
+        end: false
+      });
+      if (end) {
+        let endFn2 = function() {
+          ended = true;
+          dst.end();
+        };
+        var endFn = endFn2;
+        if (isReadableFinished(src)) {
+          process2.nextTick(endFn2);
+        } else {
+          src.once("end", endFn2);
+        }
+      } else {
+        finish();
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool value */
-            1:
-              message.value = reader.bool();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      eos(
+        src,
+        {
+          readable: true,
+          writable: false
+        },
+        (err) => {
+          const rState = src._readableState;
+          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
+            src.once("end", finish).once("error", finish);
+          } else {
+            finish(err);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== false)
-          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
+      );
+      return eos(
+        dst,
+        {
+          readable: false,
+          writable: true
+        },
+        finish
+      );
+    }
+    module2.exports = {
+      pipelineImpl,
+      pipeline
     };
-    exports2.BoolValue = new BoolValue$Type();
-    var StringValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.StringValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/compose.js
+var require_compose = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
+    "use strict";
+    var { pipeline } = require_pipeline4();
+    var Duplex = require_duplex();
+    var { destroyer } = require_destroy2();
+    var {
+      isNodeStream,
+      isReadable,
+      isWritable,
+      isWebStream,
+      isTransformStream,
+      isWritableStream,
+      isReadableStream
+    } = require_utils8();
+    var {
+      AbortError,
+      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
+    } = require_errors5();
+    var eos = require_end_of_stream();
+    module2.exports = function compose(...streams) {
+      if (streams.length === 0) {
+        throw new ERR_MISSING_ARGS("streams");
       }
-      /**
-       * Encode `StringValue` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return message.value;
+      if (streams.length === 1) {
+        return Duplex.from(streams[0]);
       }
-      /**
-       * Decode `StringValue` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
-        return target;
+      const orgStreams = [...streams];
+      if (typeof streams[0] === "function") {
+        streams[0] = Duplex.from(streams[0]);
       }
-      create(value) {
-        const message = { value: "" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      if (typeof streams[streams.length - 1] === "function") {
+        const idx = streams.length - 1;
+        streams[idx] = Duplex.from(streams[idx]);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string value */
-            1:
-              message.value = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      for (let n = 0; n < streams.length; ++n) {
+        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
+          continue;
+        }
+        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
+          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
+        }
+        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
+          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "")
-          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      let ondrain;
+      let onfinish;
+      let onreadable;
+      let onclose;
+      let d;
+      function onfinished(err) {
+        const cb = onclose;
+        onclose = null;
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          d.destroy(err);
+        } else if (!readable && !writable) {
+          d.destroy();
+        }
       }
-    };
-    exports2.StringValue = new StringValue$Type();
-    var BytesValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BytesValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 12
-            /*ScalarType.BYTES*/
+      const head = streams[0];
+      const tail = pipeline(streams, onfinished);
+      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
+      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
+      d = new Duplex({
+        // TODO (ronag): highWaterMark?
+        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
+        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
+        writable,
+        readable
+      });
+      if (writable) {
+        if (isNodeStream(head)) {
+          d._write = function(chunk, encoding, callback) {
+            if (head.write(chunk, encoding)) {
+              callback();
+            } else {
+              ondrain = callback;
+            }
+          };
+          d._final = function(callback) {
+            head.end();
+            onfinish = callback;
+          };
+          head.on("drain", function() {
+            if (ondrain) {
+              const cb = ondrain;
+              ondrain = null;
+              cb();
+            }
+          });
+        } else if (isWebStream(head)) {
+          const writable2 = isTransformStream(head) ? head.writable : head;
+          const writer = writable2.getWriter();
+          d._write = async function(chunk, encoding, callback) {
+            try {
+              await writer.ready;
+              writer.write(chunk).catch(() => {
+              });
+              callback();
+            } catch (err) {
+              callback(err);
+            }
+          };
+          d._final = async function(callback) {
+            try {
+              await writer.ready;
+              writer.close().catch(() => {
+              });
+              onfinish = callback;
+            } catch (err) {
+              callback(err);
+            }
+          };
+        }
+        const toRead = isTransformStream(tail) ? tail.readable : tail;
+        eos(toRead, () => {
+          if (onfinish) {
+            const cb = onfinish;
+            onfinish = null;
+            cb();
           }
-        ]);
-      }
-      /**
-       * Encode `BytesValue` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
-      }
-      /**
-       * Decode `BytesValue` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
-        return target;
+        });
       }
-      create(value) {
-        const message = { value: new Uint8Array(0) };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      if (readable) {
+        if (isNodeStream(tail)) {
+          tail.on("readable", function() {
+            if (onreadable) {
+              const cb = onreadable;
+              onreadable = null;
+              cb();
+            }
+          });
+          tail.on("end", function() {
+            d.push(null);
+          });
+          d._read = function() {
+            while (true) {
+              const buf = tail.read();
+              if (buf === null) {
+                onreadable = d._read;
+                return;
+              }
+              if (!d.push(buf)) {
+                return;
+              }
+            }
+          };
+        } else if (isWebStream(tail)) {
+          const readable2 = isTransformStream(tail) ? tail.readable : tail;
+          const reader = readable2.getReader();
+          d._read = async function() {
+            while (true) {
+              try {
+                const { value, done } = await reader.read();
+                if (!d.push(value)) {
+                  return;
+                }
+                if (done) {
+                  d.push(null);
+                  return;
+                }
+              } catch {
+                return;
+              }
+            }
+          };
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bytes value */
-            1:
-              message.value = reader.bytes();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      d._destroy = function(err, callback) {
+        if (!err && onclose !== null) {
+          err = new AbortError();
+        }
+        onreadable = null;
+        ondrain = null;
+        onfinish = null;
+        if (onclose === null) {
+          callback(err);
+        } else {
+          onclose = callback;
+          if (isNodeStream(tail)) {
+            destroyer(tail, err);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value.length)
-          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
+      };
+      return d;
     };
-    exports2.BytesValue = new BytesValue$Type();
   }
 });
 
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
-var require_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/operators.js
+var require_operators = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
-    var runtime_rpc_1 = require_commonjs17();
-    var runtime_1 = require_commonjs16();
-    var runtime_2 = require_commonjs16();
-    var runtime_3 = require_commonjs16();
-    var runtime_4 = require_commonjs16();
-    var runtime_5 = require_commonjs16();
-    var wrappers_1 = require_wrappers();
-    var wrappers_2 = require_wrappers();
-    var timestamp_1 = require_timestamp();
-    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
-        ]);
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var {
+      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
+      AbortError
+    } = require_errors5();
+    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
+    var kWeakHandler = require_primordials().Symbol("kWeak");
+    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
+    var { finished } = require_end_of_stream();
+    var staticCompose = require_compose();
+    var { addAbortSignalNoValidate } = require_add_abort_signal();
+    var { isWritable, isNodeStream } = require_utils8();
+    var { deprecate } = require_util21();
+    var {
+      ArrayPrototypePush,
+      Boolean: Boolean2,
+      MathFloor,
+      Number: Number2,
+      NumberIsNaN,
+      Promise: Promise2,
+      PromiseReject,
+      PromiseResolve,
+      PromisePrototypeThen,
+      Symbol: Symbol2
+    } = require_primordials();
+    var kEmpty = Symbol2("kEmpty");
+    var kEof = Symbol2("kEof");
+    function compose(stream, options) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      if (isNodeStream(stream) && !isWritable(stream)) {
+        throw new ERR_INVALID_ARG_VALUE("stream", stream, "must be writable");
+      }
+      const composedStream = staticCompose(this, stream);
+      if (options !== null && options !== void 0 && options.signal) {
+        addAbortSignalNoValidate(options.signal, composedStream);
+      }
+      return composedStream;
+    }
+    function map2(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            3:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      if (options != null) {
+        validateObject(options, "options");
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-    };
-    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
-    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      let concurrency = 1;
+      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
+        concurrency = MathFloor(options.concurrency);
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      let highWaterMark = concurrency - 1;
+      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
+        highWaterMark = MathFloor(options.highWaterMark);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      validateInteger(concurrency, "options.concurrency", 1);
+      validateInteger(highWaterMark, "options.highWaterMark", 0);
+      highWaterMark += concurrency;
+      return async function* map3() {
+        const signal = require_util21().AbortSignalAny(
+          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
+        );
+        const stream = this;
+        const queue = [];
+        const signalOpt = {
+          signal
+        };
+        let next;
+        let resume;
+        let done = false;
+        let cnt = 0;
+        function onCatch() {
+          done = true;
+          afterItemProcessed();
+        }
+        function afterItemProcessed() {
+          cnt -= 1;
+          maybeResume();
+        }
+        function maybeResume() {
+          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
+            resume();
+            resume = null;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
-    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+        async function pump() {
+          try {
+            for await (let val of stream) {
+              if (done) {
+                return;
+              }
+              if (signal.aborted) {
+                throw new AbortError();
+              }
+              try {
+                val = fn(val, signalOpt);
+                if (val === kEmpty) {
+                  continue;
+                }
+                val = PromiseResolve(val);
+              } catch (err) {
+                val = PromiseReject(err);
+              }
+              cnt += 1;
+              PromisePrototypeThen(val, afterItemProcessed, onCatch);
+              queue.push(val);
+              if (next) {
+                next();
+                next = null;
+              }
+              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
+                await new Promise2((resolve3) => {
+                  resume = resolve3;
+                });
+              }
+            }
+            queue.push(kEof);
+          } catch (err) {
+            const val = PromiseReject(err);
+            PromisePrototypeThen(val, afterItemProcessed, onCatch);
+            queue.push(val);
+          } finally {
+            done = true;
+            if (next) {
+              next();
+              next = null;
+            }
           }
-        ]);
+        }
+        pump();
+        try {
+          while (true) {
+            while (queue.length > 0) {
+              const val = await queue[0];
+              if (val === kEof) {
+                return;
+              }
+              if (signal.aborted) {
+                throw new AbortError();
+              }
+              if (val !== kEmpty) {
+                yield val;
+              }
+              queue.shift();
+              maybeResume();
+            }
+            await new Promise2((resolve3) => {
+              next = resolve3;
+            });
+          }
+        } finally {
+          done = true;
+          if (resume) {
+            resume();
+            resume = null;
+          }
+        }
+      }.call(this);
+    }
+    function asIndexedPairs(options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            3:
-              message.size = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      return async function* asIndexedPairs2() {
+        let index = 0;
+        for await (const val of this) {
+          var _options$signal;
+          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
+            throw new AbortError({
+              cause: options.signal.reason
+            });
           }
+          yield [index++, val];
         }
-        return message;
+      }.call(this);
+    }
+    async function some(fn, options = void 0) {
+      for await (const unused of filter.call(this, fn, options)) {
+        return true;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return false;
+    }
+    async function every(fn, options = void 0) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-    };
-    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
-    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+      return !await some.call(
+        this,
+        async (...args) => {
+          return !await fn(...args);
+        },
+        options
+      );
+    }
+    async function find2(fn, options) {
+      for await (const result of filter.call(this, fn, options)) {
+        return result;
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      return void 0;
+    }
+    async function forEach(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      async function forEachFn(value, options2) {
+        await fn(value, options2);
+        return kEmpty;
+      }
+      for await (const unused of map2.call(this, forEachFn, options)) ;
+    }
+    function filter(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      }
+      async function filterFn(value, options2) {
+        if (await fn(value, options2)) {
+          return value;
         }
-        return message;
+        return kEmpty;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return map2.call(this, filterFn, options);
+    }
+    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
+      constructor() {
+        super("reduce");
+        this.message = "Reduce of an empty stream requires an initial value";
       }
     };
-    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
-    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
-          {
-            no: 5,
-            name: "version",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
+    async function reduce(reducer, initialValue, options) {
+      var _options$signal2;
+      if (typeof reducer !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      if (options != null) {
+        validateObject(options, "options");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            4:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            case /* int32 version */
-            5:
-              message.version = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      let hasInitialValue = arguments.length > 1;
+      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
+        const err = new AbortError(void 0, {
+          cause: options.signal.reason
+        });
+        this.once("error", () => {
+        });
+        await finished(this.destroy(err));
+        throw err;
+      }
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      if (options !== null && options !== void 0 && options.signal) {
+        const opts = {
+          once: true,
+          [kWeakHandler]: this,
+          [kResistStopPropagation]: true
+        };
+        options.signal.addEventListener("abort", () => ac.abort(), opts);
+      }
+      let gotAnyItemFromStream = false;
+      try {
+        for await (const value of this) {
+          var _options$signal3;
+          gotAnyItemFromStream = true;
+          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
+            throw new AbortError();
+          }
+          if (!hasInitialValue) {
+            initialValue = value;
+            hasInitialValue = true;
+          } else {
+            initialValue = await reducer(initialValue, value, {
+              signal
+            });
           }
         }
-        return message;
+        if (!gotAnyItemFromStream && !hasInitialValue) {
+          throw new ReduceAwareErrMissingArgs();
+        }
+      } finally {
+        ac.abort();
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.version !== 0)
-          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return initialValue;
+    }
+    async function toArray2(options) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-    };
-    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
-    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      const result = [];
+      for await (const val of this) {
+        var _options$signal4;
+        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
+          throw new AbortError(void 0, {
+            cause: options.signal.reason
+          });
+        }
+        ArrayPrototypePush(result, val);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      return result;
+    }
+    function flatMap(fn, options) {
+      const values = map2.call(this, fn, options);
+      return async function* flatMap2() {
+        for await (const val of values) {
+          yield* val;
         }
-        return message;
+      }.call(this);
+    }
+    function toIntegerOrInfinity(number) {
+      number = Number2(number);
+      if (NumberIsNaN(number)) {
+        return 0;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      if (number < 0) {
+        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
       }
-    };
-    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
-    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 4,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+      return number;
+    }
+    function drop(number, options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            4:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.StringValue hash */
-            5:
-              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      number = toIntegerOrInfinity(number);
+      return async function* drop2() {
+        var _options$signal5;
+        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
+          throw new AbortError();
+        }
+        for await (const val of this) {
+          var _options$signal6;
+          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
+            throw new AbortError();
+          }
+          if (number-- <= 0) {
+            yield val;
           }
         }
-        return message;
+      }.call(this);
+    }
+    function take(number, options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
-        if (message.hash)
-          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
+      number = toIntegerOrInfinity(number);
+      return async function* take2() {
+        var _options$signal7;
+        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
+          throw new AbortError();
+        }
+        for await (const val of this) {
+          var _options$signal8;
+          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
+            throw new AbortError();
+          }
+          if (number-- > 0) {
+            yield val;
+          }
+          if (number <= 0) {
+            return;
+          }
+        }
+      }.call(this);
+    }
+    module2.exports.streamReturningOperators = {
+      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
+      drop,
+      filter,
+      flatMap,
+      map: map2,
+      take,
+      compose
     };
-    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
-    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
+    module2.exports.promiseReturningOperators = {
+      every,
+      forEach,
+      reduce,
+      toArray: toArray2,
+      some,
+      find: find2
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/stream/promises.js
+var require_promises = __commonJS({
+  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
+    "use strict";
+    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
+    var { isIterable, isNodeStream, isWebStream } = require_utils8();
+    var { pipelineImpl: pl } = require_pipeline4();
+    var { finished } = require_end_of_stream();
+    require_stream2();
+    function pipeline(...streams) {
+      return new Promise2((resolve3, reject) => {
+        let signal;
+        let end;
+        const lastArg = streams[streams.length - 1];
+        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
+          const options = ArrayPrototypePop(streams);
+          signal = options.signal;
+          end = options.end;
+        }
+        pl(
+          streams,
+          (err, value) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve3(value);
+            }
           },
           {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+            signal,
+            end
           }
-        ]);
+        );
+      });
+    }
+    module2.exports = {
+      finished,
+      pipeline
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/stream.js
+var require_stream2 = __commonJS({
+  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
+    var { Buffer: Buffer2 } = require("buffer");
+    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
+    var {
+      promisify: { custom: customPromisify }
+    } = require_util21();
+    var { streamReturningOperators, promiseReturningOperators } = require_operators();
+    var {
+      codes: { ERR_ILLEGAL_CONSTRUCTOR }
+    } = require_errors5();
+    var compose = require_compose();
+    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var { pipeline } = require_pipeline4();
+    var { destroyer } = require_destroy2();
+    var eos = require_end_of_stream();
+    var promises = require_promises();
+    var utils = require_utils8();
+    var Stream = module2.exports = require_legacy().Stream;
+    Stream.isDestroyed = utils.isDestroyed;
+    Stream.isDisturbed = utils.isDisturbed;
+    Stream.isErrored = utils.isErrored;
+    Stream.isReadable = utils.isReadable;
+    Stream.isWritable = utils.isWritable;
+    Stream.Readable = require_readable4();
+    for (const key of ObjectKeys(streamReturningOperators)) {
+      let fn2 = function(...args) {
+        if (new.target) {
+          throw ERR_ILLEGAL_CONSTRUCTOR();
+        }
+        return Stream.Readable.from(ReflectApply(op, this, args));
+      };
+      fn = fn2;
+      const op = streamReturningOperators[key];
+      ObjectDefineProperty(fn2, "name", {
+        __proto__: null,
+        value: op.name
+      });
+      ObjectDefineProperty(fn2, "length", {
+        __proto__: null,
+        value: op.length
+      });
+      ObjectDefineProperty(Stream.Readable.prototype, key, {
+        __proto__: null,
+        value: fn2,
+        enumerable: false,
+        configurable: true,
+        writable: true
+      });
+    }
+    var fn;
+    for (const key of ObjectKeys(promiseReturningOperators)) {
+      let fn2 = function(...args) {
+        if (new.target) {
+          throw ERR_ILLEGAL_CONSTRUCTOR();
+        }
+        return ReflectApply(op, this, args);
+      };
+      fn = fn2;
+      const op = promiseReturningOperators[key];
+      ObjectDefineProperty(fn2, "name", {
+        __proto__: null,
+        value: op.name
+      });
+      ObjectDefineProperty(fn2, "length", {
+        __proto__: null,
+        value: op.length
+      });
+      ObjectDefineProperty(Stream.Readable.prototype, key, {
+        __proto__: null,
+        value: fn2,
+        enumerable: false,
+        configurable: true,
+        writable: true
+      });
+    }
+    var fn;
+    Stream.Writable = require_writable();
+    Stream.Duplex = require_duplex();
+    Stream.Transform = require_transform();
+    Stream.PassThrough = require_passthrough2();
+    Stream.pipeline = pipeline;
+    var { addAbortSignal } = require_add_abort_signal();
+    Stream.addAbortSignal = addAbortSignal;
+    Stream.finished = eos;
+    Stream.destroy = destroyer;
+    Stream.compose = compose;
+    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
+    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
+    ObjectDefineProperty(Stream, "promises", {
+      __proto__: null,
+      configurable: true,
+      enumerable: true,
+      get() {
+        return promises;
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+    });
+    ObjectDefineProperty(pipeline, customPromisify, {
+      __proto__: null,
+      enumerable: true,
+      get() {
+        return promises.pipeline;
+      }
+    });
+    ObjectDefineProperty(eos, customPromisify, {
+      __proto__: null,
+      enumerable: true,
+      get() {
+        return promises.finished;
+      }
+    });
+    Stream.Stream = Stream;
+    Stream._isUint8Array = function isUint8Array(value) {
+      return value instanceof Uint8Array;
+    };
+    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/ours/index.js
+var require_ours = __commonJS({
+  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
+    "use strict";
+    var Stream = require("stream");
+    if (Stream && process.env.READABLE_STREAM === "disable") {
+      const promises = Stream.promises;
+      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
+      module2.exports._isUint8Array = Stream._isUint8Array;
+      module2.exports.isDisturbed = Stream.isDisturbed;
+      module2.exports.isErrored = Stream.isErrored;
+      module2.exports.isReadable = Stream.isReadable;
+      module2.exports.Readable = Stream.Readable;
+      module2.exports.Writable = Stream.Writable;
+      module2.exports.Duplex = Stream.Duplex;
+      module2.exports.Transform = Stream.Transform;
+      module2.exports.PassThrough = Stream.PassThrough;
+      module2.exports.addAbortSignal = Stream.addAbortSignal;
+      module2.exports.finished = Stream.finished;
+      module2.exports.destroy = Stream.destroy;
+      module2.exports.pipeline = Stream.pipeline;
+      module2.exports.compose = Stream.compose;
+      Object.defineProperty(Stream, "promises", {
+        configurable: true,
+        enumerable: true,
+        get() {
+          return promises;
+        }
+      });
+      module2.exports.Stream = Stream.Stream;
+    } else {
+      const CustomStream = require_stream2();
+      const promises = require_promises();
+      const originalDestroy = CustomStream.Readable.destroy;
+      module2.exports = CustomStream.Readable;
+      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
+      module2.exports._isUint8Array = CustomStream._isUint8Array;
+      module2.exports.isDisturbed = CustomStream.isDisturbed;
+      module2.exports.isErrored = CustomStream.isErrored;
+      module2.exports.isReadable = CustomStream.isReadable;
+      module2.exports.Readable = CustomStream.Readable;
+      module2.exports.Writable = CustomStream.Writable;
+      module2.exports.Duplex = CustomStream.Duplex;
+      module2.exports.Transform = CustomStream.Transform;
+      module2.exports.PassThrough = CustomStream.PassThrough;
+      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
+      module2.exports.finished = CustomStream.finished;
+      module2.exports.destroy = CustomStream.destroy;
+      module2.exports.destroy = originalDestroy;
+      module2.exports.pipeline = CustomStream.pipeline;
+      module2.exports.compose = CustomStream.compose;
+      Object.defineProperty(CustomStream, "promises", {
+        configurable: true,
+        enumerable: true,
+        get() {
+          return promises;
+        }
+      });
+      module2.exports.Stream = CustomStream.Stream;
+    }
+    module2.exports.default = module2.exports;
+  }
+});
+
+// node_modules/lodash/_arrayPush.js
+var require_arrayPush = __commonJS({
+  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
+    function arrayPush(array, values) {
+      var index = -1, length = values.length, offset = array.length;
+      while (++index < length) {
+        array[offset + index] = values[index];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      return array;
+    }
+    module2.exports = arrayPush;
+  }
+});
+
+// node_modules/lodash/_isFlattenable.js
+var require_isFlattenable = __commonJS({
+  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var isArguments = require_isArguments();
+    var isArray = require_isArray();
+    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
+    function isFlattenable(value) {
+      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
+    }
+    module2.exports = isFlattenable;
+  }
+});
+
+// node_modules/lodash/_baseFlatten.js
+var require_baseFlatten = __commonJS({
+  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
+    var arrayPush = require_arrayPush();
+    var isFlattenable = require_isFlattenable();
+    function baseFlatten(array, depth, predicate, isStrict, result) {
+      var index = -1, length = array.length;
+      predicate || (predicate = isFlattenable);
+      result || (result = []);
+      while (++index < length) {
+        var value = array[index];
+        if (depth > 0 && predicate(value)) {
+          if (depth > 1) {
+            baseFlatten(value, depth - 1, predicate, isStrict, result);
+          } else {
+            arrayPush(result, value);
           }
+        } else if (!isStrict) {
+          result[result.length] = value;
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
-    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
-          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
-        ]);
+      return result;
+    }
+    module2.exports = baseFlatten;
+  }
+});
+
+// node_modules/lodash/flatten.js
+var require_flatten = __commonJS({
+  "node_modules/lodash/flatten.js"(exports2, module2) {
+    var baseFlatten = require_baseFlatten();
+    function flatten(array) {
+      var length = array == null ? 0 : array.length;
+      return length ? baseFlatten(array, 1) : [];
+    }
+    module2.exports = flatten;
+  }
+});
+
+// node_modules/lodash/_nativeCreate.js
+var require_nativeCreate = __commonJS({
+  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var nativeCreate = getNative(Object, "create");
+    module2.exports = nativeCreate;
+  }
+});
+
+// node_modules/lodash/_hashClear.js
+var require_hashClear = __commonJS({
+  "node_modules/lodash/_hashClear.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    function hashClear() {
+      this.__data__ = nativeCreate ? nativeCreate(null) : {};
+      this.size = 0;
+    }
+    module2.exports = hashClear;
+  }
+});
+
+// node_modules/lodash/_hashDelete.js
+var require_hashDelete = __commonJS({
+  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
+    function hashDelete(key) {
+      var result = this.has(key) && delete this.__data__[key];
+      this.size -= result ? 1 : 0;
+      return result;
+    }
+    module2.exports = hashDelete;
+  }
+});
+
+// node_modules/lodash/_hashGet.js
+var require_hashGet = __commonJS({
+  "node_modules/lodash/_hashGet.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function hashGet(key) {
+      var data = this.__data__;
+      if (nativeCreate) {
+        var result = data[key];
+        return result === HASH_UNDEFINED ? void 0 : result;
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      return hasOwnProperty.call(data, key) ? data[key] : void 0;
+    }
+    module2.exports = hashGet;
+  }
+});
+
+// node_modules/lodash/_hashHas.js
+var require_hashHas = __commonJS({
+  "node_modules/lodash/_hashHas.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function hashHas(key) {
+      var data = this.__data__;
+      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
+    }
+    module2.exports = hashHas;
+  }
+});
+
+// node_modules/lodash/_hashSet.js
+var require_hashSet = __commonJS({
+  "node_modules/lodash/_hashSet.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    function hashSet(key, value) {
+      var data = this.__data__;
+      this.size += this.has(key) ? 0 : 1;
+      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
+      return this;
+    }
+    module2.exports = hashSet;
+  }
+});
+
+// node_modules/lodash/_Hash.js
+var require_Hash = __commonJS({
+  "node_modules/lodash/_Hash.js"(exports2, module2) {
+    var hashClear = require_hashClear();
+    var hashDelete = require_hashDelete();
+    var hashGet = require_hashGet();
+    var hashHas = require_hashHas();
+    var hashSet = require_hashSet();
+    function Hash(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* google.protobuf.StringValue name_filter */
-            3:
-              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
-              break;
-            case /* google.protobuf.Int64Value id_filter */
-            4:
-              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+    }
+    Hash.prototype.clear = hashClear;
+    Hash.prototype["delete"] = hashDelete;
+    Hash.prototype.get = hashGet;
+    Hash.prototype.has = hashHas;
+    Hash.prototype.set = hashSet;
+    module2.exports = Hash;
+  }
+});
+
+// node_modules/lodash/_listCacheClear.js
+var require_listCacheClear = __commonJS({
+  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
+    function listCacheClear() {
+      this.__data__ = [];
+      this.size = 0;
+    }
+    module2.exports = listCacheClear;
+  }
+});
+
+// node_modules/lodash/_assocIndexOf.js
+var require_assocIndexOf = __commonJS({
+  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
+    var eq = require_eq2();
+    function assocIndexOf(array, key) {
+      var length = array.length;
+      while (length--) {
+        if (eq(array[length][0], key)) {
+          return length;
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.nameFilter)
-          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.idFilter)
-          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return -1;
+    }
+    module2.exports = assocIndexOf;
+  }
+});
+
+// node_modules/lodash/_listCacheDelete.js
+var require_listCacheDelete = __commonJS({
+  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    var arrayProto = Array.prototype;
+    var splice = arrayProto.splice;
+    function listCacheDelete(key) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      if (index < 0) {
+        return false;
       }
-    };
-    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
-    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse", [
-          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
-        ]);
+      var lastIndex = data.length - 1;
+      if (index == lastIndex) {
+        data.pop();
+      } else {
+        splice.call(data, index, 1);
       }
-      create(value) {
-        const message = { artifacts: [] };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      --this.size;
+      return true;
+    }
+    module2.exports = listCacheDelete;
+  }
+});
+
+// node_modules/lodash/_listCacheGet.js
+var require_listCacheGet = __commonJS({
+  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheGet(key) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      return index < 0 ? void 0 : data[index][1];
+    }
+    module2.exports = listCacheGet;
+  }
+});
+
+// node_modules/lodash/_listCacheHas.js
+var require_listCacheHas = __commonJS({
+  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheHas(key) {
+      return assocIndexOf(this.__data__, key) > -1;
+    }
+    module2.exports = listCacheHas;
+  }
+});
+
+// node_modules/lodash/_listCacheSet.js
+var require_listCacheSet = __commonJS({
+  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheSet(key, value) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      if (index < 0) {
+        ++this.size;
+        data.push([key, value]);
+      } else {
+        data[index][1] = value;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
-            1:
-              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      return this;
+    }
+    module2.exports = listCacheSet;
+  }
+});
+
+// node_modules/lodash/_ListCache.js
+var require_ListCache = __commonJS({
+  "node_modules/lodash/_ListCache.js"(exports2, module2) {
+    var listCacheClear = require_listCacheClear();
+    var listCacheDelete = require_listCacheDelete();
+    var listCacheGet = require_listCacheGet();
+    var listCacheHas = require_listCacheHas();
+    var listCacheSet = require_listCacheSet();
+    function ListCache(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
+      }
+    }
+    ListCache.prototype.clear = listCacheClear;
+    ListCache.prototype["delete"] = listCacheDelete;
+    ListCache.prototype.get = listCacheGet;
+    ListCache.prototype.has = listCacheHas;
+    ListCache.prototype.set = listCacheSet;
+    module2.exports = ListCache;
+  }
+});
+
+// node_modules/lodash/_Map.js
+var require_Map = __commonJS({
+  "node_modules/lodash/_Map.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var root = require_root();
+    var Map2 = getNative(root, "Map");
+    module2.exports = Map2;
+  }
+});
+
+// node_modules/lodash/_mapCacheClear.js
+var require_mapCacheClear = __commonJS({
+  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
+    var Hash = require_Hash();
+    var ListCache = require_ListCache();
+    var Map2 = require_Map();
+    function mapCacheClear() {
+      this.size = 0;
+      this.__data__ = {
+        "hash": new Hash(),
+        "map": new (Map2 || ListCache)(),
+        "string": new Hash()
+      };
+    }
+    module2.exports = mapCacheClear;
+  }
+});
+
+// node_modules/lodash/_isKeyable.js
+var require_isKeyable = __commonJS({
+  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
+    function isKeyable(value) {
+      var type2 = typeof value;
+      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
+    }
+    module2.exports = isKeyable;
+  }
+});
+
+// node_modules/lodash/_getMapData.js
+var require_getMapData = __commonJS({
+  "node_modules/lodash/_getMapData.js"(exports2, module2) {
+    var isKeyable = require_isKeyable();
+    function getMapData(map2, key) {
+      var data = map2.__data__;
+      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
+    }
+    module2.exports = getMapData;
+  }
+});
+
+// node_modules/lodash/_mapCacheDelete.js
+var require_mapCacheDelete = __commonJS({
+  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheDelete(key) {
+      var result = getMapData(this, key)["delete"](key);
+      this.size -= result ? 1 : 0;
+      return result;
+    }
+    module2.exports = mapCacheDelete;
+  }
+});
+
+// node_modules/lodash/_mapCacheGet.js
+var require_mapCacheGet = __commonJS({
+  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheGet(key) {
+      return getMapData(this, key).get(key);
+    }
+    module2.exports = mapCacheGet;
+  }
+});
+
+// node_modules/lodash/_mapCacheHas.js
+var require_mapCacheHas = __commonJS({
+  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheHas(key) {
+      return getMapData(this, key).has(key);
+    }
+    module2.exports = mapCacheHas;
+  }
+});
+
+// node_modules/lodash/_mapCacheSet.js
+var require_mapCacheSet = __commonJS({
+  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheSet(key, value) {
+      var data = getMapData(this, key), size = data.size;
+      data.set(key, value);
+      this.size += data.size == size ? 0 : 1;
+      return this;
+    }
+    module2.exports = mapCacheSet;
+  }
+});
+
+// node_modules/lodash/_MapCache.js
+var require_MapCache = __commonJS({
+  "node_modules/lodash/_MapCache.js"(exports2, module2) {
+    var mapCacheClear = require_mapCacheClear();
+    var mapCacheDelete = require_mapCacheDelete();
+    var mapCacheGet = require_mapCacheGet();
+    var mapCacheHas = require_mapCacheHas();
+    var mapCacheSet = require_mapCacheSet();
+    function MapCache(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      internalBinaryWrite(message, writer, options) {
-        for (let i = 0; i < message.artifacts.length; i++)
-          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+    }
+    MapCache.prototype.clear = mapCacheClear;
+    MapCache.prototype["delete"] = mapCacheDelete;
+    MapCache.prototype.get = mapCacheGet;
+    MapCache.prototype.has = mapCacheHas;
+    MapCache.prototype.set = mapCacheSet;
+    module2.exports = MapCache;
+  }
+});
+
+// node_modules/lodash/_setCacheAdd.js
+var require_setCacheAdd = __commonJS({
+  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    function setCacheAdd(value) {
+      this.__data__.set(value, HASH_UNDEFINED);
+      return this;
+    }
+    module2.exports = setCacheAdd;
+  }
+});
+
+// node_modules/lodash/_setCacheHas.js
+var require_setCacheHas = __commonJS({
+  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
+    function setCacheHas(value) {
+      return this.__data__.has(value);
+    }
+    module2.exports = setCacheHas;
+  }
+});
+
+// node_modules/lodash/_SetCache.js
+var require_SetCache = __commonJS({
+  "node_modules/lodash/_SetCache.js"(exports2, module2) {
+    var MapCache = require_MapCache();
+    var setCacheAdd = require_setCacheAdd();
+    var setCacheHas = require_setCacheHas();
+    function SetCache(values) {
+      var index = -1, length = values == null ? 0 : values.length;
+      this.__data__ = new MapCache();
+      while (++index < length) {
+        this.add(values[index]);
       }
-    };
-    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
-    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "database_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 4,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 5,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
-          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+    }
+    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
+    SetCache.prototype.has = setCacheHas;
+    module2.exports = SetCache;
+  }
+});
+
+// node_modules/lodash/_baseFindIndex.js
+var require_baseFindIndex = __commonJS({
+  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
+    function baseFindIndex(array, predicate, fromIndex, fromRight) {
+      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
+      while (fromRight ? index-- : ++index < length) {
+        if (predicate(array[index], index, array)) {
+          return index;
+        }
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      return -1;
+    }
+    module2.exports = baseFindIndex;
+  }
+});
+
+// node_modules/lodash/_baseIsNaN.js
+var require_baseIsNaN = __commonJS({
+  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
+    function baseIsNaN(value) {
+      return value !== value;
+    }
+    module2.exports = baseIsNaN;
+  }
+});
+
+// node_modules/lodash/_strictIndexOf.js
+var require_strictIndexOf = __commonJS({
+  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
+    function strictIndexOf(array, value, fromIndex) {
+      var index = fromIndex - 1, length = array.length;
+      while (++index < length) {
+        if (array[index] === value) {
+          return index;
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* int64 database_id */
-            3:
-              message.databaseId = reader.int64().toString();
-              break;
-            case /* string name */
-            4:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            5:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.Timestamp created_at */
-            6:
-              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
-              break;
-            case /* google.protobuf.StringValue digest */
-            7:
-              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      return -1;
+    }
+    module2.exports = strictIndexOf;
+  }
+});
+
+// node_modules/lodash/_baseIndexOf.js
+var require_baseIndexOf = __commonJS({
+  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
+    var baseFindIndex = require_baseFindIndex();
+    var baseIsNaN = require_baseIsNaN();
+    var strictIndexOf = require_strictIndexOf();
+    function baseIndexOf(array, value, fromIndex) {
+      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
+    }
+    module2.exports = baseIndexOf;
+  }
+});
+
+// node_modules/lodash/_arrayIncludes.js
+var require_arrayIncludes = __commonJS({
+  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
+    var baseIndexOf = require_baseIndexOf();
+    function arrayIncludes(array, value) {
+      var length = array == null ? 0 : array.length;
+      return !!length && baseIndexOf(array, value, 0) > -1;
+    }
+    module2.exports = arrayIncludes;
+  }
+});
+
+// node_modules/lodash/_arrayIncludesWith.js
+var require_arrayIncludesWith = __commonJS({
+  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
+    function arrayIncludesWith(array, value, comparator) {
+      var index = -1, length = array == null ? 0 : array.length;
+      while (++index < length) {
+        if (comparator(value, array[index])) {
+          return true;
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.databaseId !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
-        if (message.name !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
-        if (message.createdAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.digest)
-          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return false;
+    }
+    module2.exports = arrayIncludesWith;
+  }
+});
+
+// node_modules/lodash/_arrayMap.js
+var require_arrayMap = __commonJS({
+  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
+    function arrayMap(array, iteratee) {
+      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
+      while (++index < length) {
+        result[index] = iteratee(array[index], index, array);
       }
-    };
-    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
-    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      return result;
+    }
+    module2.exports = arrayMap;
+  }
+});
+
+// node_modules/lodash/_cacheHas.js
+var require_cacheHas = __commonJS({
+  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
+    function cacheHas(cache, key) {
+      return cache.has(key);
+    }
+    module2.exports = cacheHas;
+  }
+});
+
+// node_modules/lodash/_baseDifference.js
+var require_baseDifference = __commonJS({
+  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
+    var SetCache = require_SetCache();
+    var arrayIncludes = require_arrayIncludes();
+    var arrayIncludesWith = require_arrayIncludesWith();
+    var arrayMap = require_arrayMap();
+    var baseUnary = require_baseUnary();
+    var cacheHas = require_cacheHas();
+    var LARGE_ARRAY_SIZE = 200;
+    function baseDifference(array, values, iteratee, comparator) {
+      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
+      if (!length) {
+        return result;
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      if (iteratee) {
+        values = arrayMap(values, baseUnary(iteratee));
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      if (comparator) {
+        includes = arrayIncludesWith;
+        isCommon = false;
+      } else if (values.length >= LARGE_ARRAY_SIZE) {
+        includes = cacheHas;
+        isCommon = false;
+        values = new SetCache(values);
+      }
+      outer:
+        while (++index < length) {
+          var value = array[index], computed = iteratee == null ? value : iteratee(value);
+          value = comparator || value !== 0 ? value : 0;
+          if (isCommon && computed === computed) {
+            var valuesIndex = valuesLength;
+            while (valuesIndex--) {
+              if (values[valuesIndex] === computed) {
+                continue outer;
+              }
+            }
+            result.push(value);
+          } else if (!includes(values, computed, comparator)) {
+            result.push(value);
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
+      return result;
+    }
+    module2.exports = baseDifference;
+  }
+});
+
+// node_modules/lodash/isArrayLikeObject.js
+var require_isArrayLikeObject = __commonJS({
+  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
+    var isArrayLike = require_isArrayLike();
+    var isObjectLike = require_isObjectLike();
+    function isArrayLikeObject(value) {
+      return isObjectLike(value) && isArrayLike(value);
+    }
+    module2.exports = isArrayLikeObject;
+  }
+});
+
+// node_modules/lodash/difference.js
+var require_difference = __commonJS({
+  "node_modules/lodash/difference.js"(exports2, module2) {
+    var baseDifference = require_baseDifference();
+    var baseFlatten = require_baseFlatten();
+    var baseRest = require_baseRest();
+    var isArrayLikeObject = require_isArrayLikeObject();
+    var difference = baseRest(function(array, values) {
+      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
+    });
+    module2.exports = difference;
+  }
+});
+
+// node_modules/lodash/_Set.js
+var require_Set = __commonJS({
+  "node_modules/lodash/_Set.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var root = require_root();
+    var Set2 = getNative(root, "Set");
+    module2.exports = Set2;
+  }
+});
+
+// node_modules/lodash/noop.js
+var require_noop = __commonJS({
+  "node_modules/lodash/noop.js"(exports2, module2) {
+    function noop3() {
+    }
+    module2.exports = noop3;
+  }
+});
+
+// node_modules/lodash/_setToArray.js
+var require_setToArray = __commonJS({
+  "node_modules/lodash/_setToArray.js"(exports2, module2) {
+    function setToArray(set2) {
+      var index = -1, result = Array(set2.size);
+      set2.forEach(function(value) {
+        result[++index] = value;
+      });
+      return result;
+    }
+    module2.exports = setToArray;
+  }
+});
+
+// node_modules/lodash/_createSet.js
+var require_createSet = __commonJS({
+  "node_modules/lodash/_createSet.js"(exports2, module2) {
+    var Set2 = require_Set();
+    var noop3 = require_noop();
+    var setToArray = require_setToArray();
+    var INFINITY = 1 / 0;
+    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
+      return new Set2(values);
     };
-    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
-    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
-          {
-            no: 1,
-            name: "signed_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { signedUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string signed_url */
-            1:
-              message.signedUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+    module2.exports = createSet;
+  }
+});
+
+// node_modules/lodash/_baseUniq.js
+var require_baseUniq = __commonJS({
+  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
+    var SetCache = require_SetCache();
+    var arrayIncludes = require_arrayIncludes();
+    var arrayIncludesWith = require_arrayIncludesWith();
+    var cacheHas = require_cacheHas();
+    var createSet = require_createSet();
+    var setToArray = require_setToArray();
+    var LARGE_ARRAY_SIZE = 200;
+    function baseUniq(array, iteratee, comparator) {
+      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
+      if (comparator) {
+        isCommon = false;
+        includes = arrayIncludesWith;
+      } else if (length >= LARGE_ARRAY_SIZE) {
+        var set2 = iteratee ? null : createSet(array);
+        if (set2) {
+          return setToArray(set2);
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.signedUrl !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
-    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        isCommon = false;
+        includes = cacheHas;
+        seen = new SetCache();
+      } else {
+        seen = iteratee ? [] : result;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      outer:
+        while (++index < length) {
+          var value = array[index], computed = iteratee ? iteratee(value) : value;
+          value = comparator || value !== 0 ? value : 0;
+          if (isCommon && computed === computed) {
+            var seenIndex = seen.length;
+            while (seenIndex--) {
+              if (seen[seenIndex] === computed) {
+                continue outer;
+              }
+            }
+            if (iteratee) {
+              seen.push(computed);
+            }
+            result.push(value);
+          } else if (!includes(seen, computed, comparator)) {
+            if (seen !== result) {
+              seen.push(computed);
+            }
+            result.push(value);
           }
         }
-        return message;
+      return result;
+    }
+    module2.exports = baseUniq;
+  }
+});
+
+// node_modules/lodash/union.js
+var require_union = __commonJS({
+  "node_modules/lodash/union.js"(exports2, module2) {
+    var baseFlatten = require_baseFlatten();
+    var baseRest = require_baseRest();
+    var baseUniq = require_baseUniq();
+    var isArrayLikeObject = require_isArrayLikeObject();
+    var union = baseRest(function(arrays) {
+      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
+    });
+    module2.exports = union;
+  }
+});
+
+// node_modules/lodash/_overArg.js
+var require_overArg = __commonJS({
+  "node_modules/lodash/_overArg.js"(exports2, module2) {
+    function overArg(func, transform) {
+      return function(arg) {
+        return func(transform(arg));
+      };
+    }
+    module2.exports = overArg;
+  }
+});
+
+// node_modules/lodash/_getPrototype.js
+var require_getPrototype = __commonJS({
+  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
+    var overArg = require_overArg();
+    var getPrototype = overArg(Object.getPrototypeOf, Object);
+    module2.exports = getPrototype;
+  }
+});
+
+// node_modules/lodash/isPlainObject.js
+var require_isPlainObject = __commonJS({
+  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var getPrototype = require_getPrototype();
+    var isObjectLike = require_isObjectLike();
+    var objectTag = "[object Object]";
+    var funcProto = Function.prototype;
+    var objectProto = Object.prototype;
+    var funcToString = funcProto.toString;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var objectCtorString = funcToString.call(Object);
+    function isPlainObject3(value) {
+      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
+        return false;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      var proto = getPrototype(value);
+      if (proto === null) {
+        return true;
       }
+      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
+      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
+    }
+    module2.exports = isPlainObject3;
+  }
+});
+
+// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
+var require_commonjs18 = __commonJS({
+  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.range = exports2.balanced = void 0;
+    var balanced = (a, b, str2) => {
+      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
+      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
+      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
+      return r && {
+        start: r[0],
+        end: r[1],
+        pre: str2.slice(0, r[0]),
+        body: str2.slice(r[0] + ma.length, r[1]),
+        post: str2.slice(r[1] + mb.length)
+      };
     };
-    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
-    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
-      }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+    exports2.balanced = balanced;
+    var maybeMatch = (reg, str2) => {
+      const m = str2.match(reg);
+      return m ? m[0] : null;
+    };
+    var range = (a, b, str2) => {
+      let begs, beg, left, right = void 0, result;
+      let ai = str2.indexOf(a);
+      let bi = str2.indexOf(b, ai + 1);
+      let i = ai;
+      if (ai >= 0 && bi > 0) {
+        if (a === b) {
+          return [ai, bi];
+        }
+        begs = [];
+        left = str2.length;
+        while (i >= 0 && !result) {
+          if (i === ai) {
+            begs.push(i);
+            ai = str2.indexOf(a, i + 1);
+          } else if (begs.length === 1) {
+            const r = begs.pop();
+            if (r !== void 0)
+              result = [r, bi];
+          } else {
+            beg = begs.pop();
+            if (beg !== void 0 && beg < left) {
+              left = beg;
+              right = bi;
+            }
+            bi = str2.indexOf(b, i + 1);
           }
+          i = ai < bi && ai >= 0 ? ai : bi;
+        }
+        if (begs.length && right !== void 0) {
+          result = [left, right];
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
+      return result;
     };
-    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
-    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
-      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
-      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
-      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
-      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
-      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
-      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
-      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
-    ]);
+    exports2.range = range;
   }
 });
 
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
-var require_artifact_twirp_client = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
+// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
+var require_commonjs19 = __commonJS({
+  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
-    var artifact_1 = require_artifact();
-    var ArtifactServiceClientJSON = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
-      }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
-      }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
-      }
-    };
-    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
-    var ArtifactServiceClientProtobuf = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
+    exports2.EXPANSION_MAX = void 0;
+    exports2.expand = expand2;
+    var balanced_match_1 = require_commonjs18();
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    var escSlashPattern = new RegExp(escSlash, "g");
+    var escOpenPattern = new RegExp(escOpen, "g");
+    var escClosePattern = new RegExp(escClose, "g");
+    var escCommaPattern = new RegExp(escComma, "g");
+    var escPeriodPattern = new RegExp(escPeriod, "g");
+    var slashPattern = /\\\\/g;
+    var openPattern = /\\{/g;
+    var closePattern = /\\}/g;
+    var commaPattern = /\\,/g;
+    var periodPattern = /\\./g;
+    exports2.EXPANSION_MAX = 1e5;
+    function numeric(str2) {
+      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
+    }
+    function escapeBraces(str2) {
+      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
+    }
+    function unescapeBraces(str2) {
+      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
+    }
+    function parseCommaParts(str2) {
+      if (!str2) {
+        return [""];
       }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
+      const parts = [];
+      const m = (0, balanced_match_1.balanced)("{", "}", str2);
+      if (!m) {
+        return str2.split(",");
       }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
+      const { pre, body, post } = m;
+      const p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      const postParts = parseCommaParts(post);
+      if (post.length) {
+        ;
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
       }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
+      parts.push.apply(parts, p);
+      return parts;
+    }
+    function expand2(str2, options = {}) {
+      if (!str2) {
+        return [];
       }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
+      const { max = exports2.EXPANSION_MAX } = options;
+      if (str2.slice(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.slice(2);
       }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
+      return expand_(escapeBraces(str2), max, true).map(unescapeBraces);
+    }
+    function embrace(str2) {
+      return "{" + str2 + "}";
+    }
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
+    }
+    function lte(i, y) {
+      return i <= y;
+    }
+    function gte6(i, y) {
+      return i >= y;
+    }
+    function expand_(str2, max, isTop) {
+      const expansions = [];
+      const m = (0, balanced_match_1.balanced)("{", "}", str2);
+      if (!m)
+        return [str2];
+      const pre = m.pre;
+      const post = m.post.length ? expand_(m.post, max, false) : [""];
+      if (/\$$/.test(m.pre)) {
+        for (let k = 0; k < post.length && k < max; k++) {
+          const expansion = pre + "{" + m.body + "}" + post[k];
+          expansions.push(expansion);
+        }
+      } else {
+        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+        const isSequence = isNumericSequence || isAlphaSequence;
+        const isOptions = m.body.indexOf(",") >= 0;
+        if (!isSequence && !isOptions) {
+          if (m.post.match(/,(?!,).*\}/)) {
+            str2 = m.pre + "{" + m.body + escClose + m.post;
+            return expand_(str2, max, true);
+          }
+          return [str2];
+        }
+        let n;
+        if (isSequence) {
+          n = m.body.split(/\.\./);
+        } else {
+          n = parseCommaParts(m.body);
+          if (n.length === 1 && n[0] !== void 0) {
+            n = expand_(n[0], max, false).map(embrace);
+            if (n.length === 1) {
+              return post.map((p) => m.pre + n[0] + p);
+            }
+          }
+        }
+        let N;
+        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
+          const x = numeric(n[0]);
+          const y = numeric(n[1]);
+          const width = Math.max(n[0].length, n[1].length);
+          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
+          let test = lte;
+          const reverse = y < x;
+          if (reverse) {
+            incr *= -1;
+            test = gte6;
+          }
+          const pad = n.some(isPadded);
+          N = [];
+          for (let i = x; test(i, y); i += incr) {
+            let c;
+            if (isAlphaSequence) {
+              c = String.fromCharCode(i);
+              if (c === "\\") {
+                c = "";
+              }
+            } else {
+              c = String(i);
+              if (pad) {
+                const need = width - c.length;
+                if (need > 0) {
+                  const z = new Array(need + 1).join("0");
+                  if (i < 0) {
+                    c = "-" + z + c.slice(1);
+                  } else {
+                    c = z + c;
+                  }
+                }
+              }
+            }
+            N.push(c);
+          }
+        } else {
+          N = [];
+          for (let j = 0; j < n.length; j++) {
+            N.push.apply(N, expand_(n[j], max, false));
+          }
+        }
+        for (let j = 0; j < N.length; j++) {
+          for (let k = 0; k < post.length && expansions.length < max; k++) {
+            const expansion = pre + N[j] + post[k];
+            if (!isTop || isSequence || expansion) {
+              expansions.push(expansion);
+            }
+          }
+        }
       }
-    };
-    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
+      return expansions;
+    }
   }
 });
 
-// node_modules/@actions/artifact/lib/generated/index.js
-var require_generated = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
+var require_assert_valid_pattern = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
-      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    __exportStar2(require_timestamp(), exports2);
-    __exportStar2(require_wrappers(), exports2);
-    __exportStar2(require_artifact(), exports2);
-    __exportStar2(require_artifact_twirp_client(), exports2);
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/retention.js
-var require_retention = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    exports2.assertValidPattern = void 0;
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = (pattern) => {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getExpiration = void 0;
-    var generated_1 = require_generated();
-    var core14 = __importStar2(require_core());
-    function getExpiration(retentionDays) {
-      if (!retentionDays) {
-        return void 0;
-      }
-      const maxRetentionDays = getRetentionDays();
-      if (maxRetentionDays && maxRetentionDays < retentionDays) {
-        core14.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
-        retentionDays = maxRetentionDays;
-      }
-      const expirationDate = /* @__PURE__ */ new Date();
-      expirationDate.setDate(expirationDate.getDate() + retentionDays);
-      return generated_1.Timestamp.fromDate(expirationDate);
-    }
-    exports2.getExpiration = getExpiration;
-    function getRetentionDays() {
-      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
-      if (!retentionDays) {
-        return void 0;
-      }
-      const days = parseInt(retentionDays);
-      if (isNaN(days)) {
-        return void 0;
-      }
-      return days;
-    }
+    exports2.assertValidPattern = assertValidPattern;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
-var require_path_and_artifact_name_validation = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
+var require_brace_expressions = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.validateFilePath = exports2.validateArtifactName = void 0;
-    var core_1 = require_core();
-    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
-      ['"', ' Double quote "'],
-      [":", " Colon :"],
-      ["<", " Less than <"],
-      [">", " Greater than >"],
-      ["|", " Vertical bar |"],
-      ["*", " Asterisk *"],
-      ["?", " Question mark ?"],
-      ["\r", " Carriage return \\r"],
-      ["\n", " Line feed \\n"]
-    ]);
-    var invalidArtifactNameCharacters = new Map([
-      ...invalidArtifactFilePathCharacters,
-      ["\\", " Backslash \\"],
-      ["/", " Forward slash /"]
-    ]);
-    function validateArtifactName(name) {
-      if (!name) {
-        throw new Error(`Provided artifact name input during validation is empty`);
+    exports2.parseClass = void 0;
+    var posixClasses = {
+      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
+      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
+      "[:ascii:]": ["\\x00-\\x7f", false],
+      "[:blank:]": ["\\p{Zs}\\t", true],
+      "[:cntrl:]": ["\\p{Cc}", true],
+      "[:digit:]": ["\\p{Nd}", true],
+      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
+      "[:lower:]": ["\\p{Ll}", true],
+      "[:print:]": ["\\p{C}", true],
+      "[:punct:]": ["\\p{P}", true],
+      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
+      "[:upper:]": ["\\p{Lu}", true],
+      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
+      "[:xdigit:]": ["A-Fa-f0-9", false]
+    };
+    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
+    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var rangesToString = (ranges) => ranges.join("");
+    var parseClass = (glob2, position) => {
+      const pos = position;
+      if (glob2.charAt(pos) !== "[") {
+        throw new Error("not in a brace expression");
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
-        if (name.includes(invalidCharacterKey)) {
-          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
-          
-These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
+      const ranges = [];
+      const negs = [];
+      let i = pos + 1;
+      let sawStart = false;
+      let uflag = false;
+      let escaping = false;
+      let negate = false;
+      let endPos = pos;
+      let rangeStart = "";
+      WHILE: while (i < glob2.length) {
+        const c = glob2.charAt(i);
+        if ((c === "!" || c === "^") && i === pos + 1) {
+          negate = true;
+          i++;
+          continue;
+        }
+        if (c === "]" && sawStart && !escaping) {
+          endPos = i + 1;
+          break;
+        }
+        sawStart = true;
+        if (c === "\\") {
+          if (!escaping) {
+            escaping = true;
+            i++;
+            continue;
+          }
+        }
+        if (c === "[" && !escaping) {
+          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
+            if (glob2.startsWith(cls, i)) {
+              if (rangeStart) {
+                return ["$.", false, glob2.length - pos, true];
+              }
+              i += cls.length;
+              if (neg)
+                negs.push(unip);
+              else
+                ranges.push(unip);
+              uflag = uflag || u;
+              continue WHILE;
+            }
+          }
+        }
+        escaping = false;
+        if (rangeStart) {
+          if (c > rangeStart) {
+            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
+          } else if (c === rangeStart) {
+            ranges.push(braceEscape(c));
+          }
+          rangeStart = "";
+          i++;
+          continue;
+        }
+        if (glob2.startsWith("-]", i + 1)) {
+          ranges.push(braceEscape(c + "-"));
+          i += 2;
+          continue;
+        }
+        if (glob2.startsWith("-", i + 1)) {
+          rangeStart = c;
+          i += 2;
+          continue;
         }
+        ranges.push(braceEscape(c));
+        i++;
       }
-      (0, core_1.info)(`Artifact name is valid!`);
-    }
-    exports2.validateArtifactName = validateArtifactName;
-    function validateFilePath(path4) {
-      if (!path4) {
-        throw new Error(`Provided file path input during validation is empty`);
+      if (endPos < i) {
+        return ["", false, 0, false];
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
-        if (path4.includes(invalidCharacterKey)) {
-          throw new Error(`The path for one of the files in artifact is not valid: ${path4}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
-          
-The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
-          `);
-        }
+      if (!ranges.length && !negs.length) {
+        return ["$.", false, glob2.length - pos, true];
       }
-    }
-    exports2.validateFilePath = validateFilePath;
-  }
-});
-
-// node_modules/@actions/artifact/package.json
-var require_package3 = __commonJS({
-  "node_modules/@actions/artifact/package.json"(exports2, module2) {
-    module2.exports = {
-      name: "@actions/artifact",
-      version: "5.0.3",
-      preview: true,
-      description: "Actions artifact lib",
-      keywords: [
-        "github",
-        "actions",
-        "artifact"
-      ],
-      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
-      license: "MIT",
-      main: "lib/artifact.js",
-      types: "lib/artifact.d.ts",
-      directories: {
-        lib: "lib",
-        test: "__tests__"
-      },
-      files: [
-        "lib",
-        "!.DS_Store"
-      ],
-      publishConfig: {
-        access: "public"
-      },
-      repository: {
-        type: "git",
-        url: "git+https://github.com/actions/toolkit.git",
-        directory: "packages/artifact"
-      },
-      scripts: {
-        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
-        test: "cd ../../ && npm run test ./packages/artifact",
-        bootstrap: "cd ../../ && npm run bootstrap",
-        "tsc-run": "tsc",
-        tsc: "npm run bootstrap && npm run tsc-run",
-        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
-      },
-      bugs: {
-        url: "https://github.com/actions/toolkit/issues"
-      },
-      dependencies: {
-        "@actions/core": "^2.0.0",
-        "@actions/github": "^6.0.1",
-        "@actions/http-client": "^3.0.2",
-        "@azure/storage-blob": "^12.29.1",
-        "@octokit/core": "^5.2.1",
-        "@octokit/plugin-request-log": "^1.0.4",
-        "@octokit/plugin-retry": "^3.0.9",
-        "@octokit/request": "^8.4.1",
-        "@octokit/request-error": "^5.1.1",
-        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
-        archiver: "^7.0.1",
-        "jwt-decode": "^3.1.2",
-        "unzip-stream": "^0.3.1"
-      },
-      devDependencies: {
-        "@types/archiver": "^5.3.2",
-        "@types/unzip-stream": "^0.3.4",
-        typedoc: "^0.28.13",
-        "typedoc-plugin-markdown": "^3.17.1",
-        typescript: "^5.2.2"
-      },
-      overrides: {
-        "uri-js": "npm:uri-js-replace@^1.0.1",
-        "node-fetch": "^3.3.2"
+      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate) {
+        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
+        return [regexpEscape(r), false, endPos - pos, false];
       }
+      const sranges = "[" + (negate ? "^" : "") + rangesToString(ranges) + "]";
+      const snegs = "[" + (negate ? "" : "^") + rangesToString(negs) + "]";
+      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
+      return [comb, uflag, endPos - pos, true];
     };
+    exports2.parseClass = parseClass;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
-var require_user_agent2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
+var require_unescape = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentString = void 0;
-    var packageJson = require_package3();
-    function getUserAgentString() {
-      return `@actions/artifact-${packageJson.version}`;
-    }
-    exports2.getUserAgentString = getUserAgentString;
+    exports2.unescape = void 0;
+    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
+      if (magicalBraces) {
+        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
+      }
+      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
+    };
+    exports2.unescape = unescape;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/errors.js
-var require_errors4 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
+var require_ast = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
-    var FilesNotFoundError = class extends Error {
-      constructor(files = []) {
-        let message = "No files were found to upload";
-        if (files.length > 0) {
-          message += `: ${files.join(", ")}`;
+    exports2.AST = void 0;
+    var brace_expressions_js_1 = require_brace_expressions();
+    var unescape_js_1 = require_unescape();
+    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
+    var isExtglobType = (c) => types.has(c);
+    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
+    var startNoDot = "(?!\\.)";
+    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
+    var justDots = /* @__PURE__ */ new Set(["..", "."]);
+    var reSpecials = new Set("().*{}+?[]^$\\!");
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var starNoEmpty = qmark + "+?";
+    var AST = class _AST {
+      type;
+      #root;
+      #hasMagic;
+      #uflag = false;
+      #parts = [];
+      #parent;
+      #parentIndex;
+      #negs;
+      #filledNegs = false;
+      #options;
+      #toString;
+      // set to true if it's an extglob with no children
+      // (which really means one child of '')
+      #emptyExt = false;
+      constructor(type2, parent, options = {}) {
+        this.type = type2;
+        if (type2)
+          this.#hasMagic = true;
+        this.#parent = parent;
+        this.#root = this.#parent ? this.#parent.#root : this;
+        this.#options = this.#root === this ? options : this.#root.#options;
+        this.#negs = this.#root === this ? [] : this.#root.#negs;
+        if (type2 === "!" && !this.#root.#filledNegs)
+          this.#negs.push(this);
+        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
+      }
+      get hasMagic() {
+        if (this.#hasMagic !== void 0)
+          return this.#hasMagic;
+        for (const p of this.#parts) {
+          if (typeof p === "string")
+            continue;
+          if (p.type || p.hasMagic)
+            return this.#hasMagic = true;
         }
-        super(message);
-        this.files = files;
-        this.name = "FilesNotFoundError";
+        return this.#hasMagic;
       }
-    };
-    exports2.FilesNotFoundError = FilesNotFoundError;
-    var InvalidResponseError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "InvalidResponseError";
+      // reconstructs the pattern
+      toString() {
+        if (this.#toString !== void 0)
+          return this.#toString;
+        if (!this.type) {
+          return this.#toString = this.#parts.map((p) => String(p)).join("");
+        } else {
+          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
+        }
       }
-    };
-    exports2.InvalidResponseError = InvalidResponseError;
-    var ArtifactNotFoundError = class extends Error {
-      constructor(message = "Artifact not found") {
-        super(message);
-        this.name = "ArtifactNotFoundError";
+      #fillNegs() {
+        if (this !== this.#root)
+          throw new Error("should only call on root");
+        if (this.#filledNegs)
+          return this;
+        this.toString();
+        this.#filledNegs = true;
+        let n;
+        while (n = this.#negs.pop()) {
+          if (n.type !== "!")
+            continue;
+          let p = n;
+          let pp = p.#parent;
+          while (pp) {
+            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
+              for (const part of n.#parts) {
+                if (typeof part === "string") {
+                  throw new Error("string part in extglob AST??");
+                }
+                part.copyIn(pp.#parts[i]);
+              }
+            }
+            p = pp;
+            pp = p.#parent;
+          }
+        }
+        return this;
       }
-    };
-    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
-    var GHESNotSupportedError = class extends Error {
-      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
-        super(message);
-        this.name = "GHESNotSupportedError";
+      push(...parts) {
+        for (const p of parts) {
+          if (p === "")
+            continue;
+          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
+            throw new Error("invalid part: " + p);
+          }
+          this.#parts.push(p);
+        }
       }
-    };
-    exports2.GHESNotSupportedError = GHESNotSupportedError;
-    var NetworkError = class extends Error {
-      constructor(code) {
-        const message = `Unable to make request: ${code}
-If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
-        super(message);
-        this.code = code;
-        this.name = "NetworkError";
+      toJSON() {
+        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
+        if (this.isStart() && !this.type)
+          ret.unshift([]);
+        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
+          ret.push({});
+        }
+        return ret;
       }
-    };
-    exports2.NetworkError = NetworkError;
-    NetworkError.isNetworkErrorCode = (code) => {
-      if (!code)
-        return false;
-      return [
-        "ECONNRESET",
-        "ENOTFOUND",
-        "ETIMEDOUT",
-        "ECONNREFUSED",
-        "EHOSTUNREACH"
-      ].includes(code);
-    };
-    var UsageError = class extends Error {
-      constructor() {
-        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
-More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
-        super(message);
-        this.name = "UsageError";
+      isStart() {
+        if (this.#root === this)
+          return true;
+        if (!this.#parent?.isStart())
+          return false;
+        if (this.#parentIndex === 0)
+          return true;
+        const p = this.#parent;
+        for (let i = 0; i < this.#parentIndex; i++) {
+          const pp = p.#parts[i];
+          if (!(pp instanceof _AST && pp.type === "!")) {
+            return false;
+          }
+        }
+        return true;
       }
-    };
-    exports2.UsageError = UsageError;
-    UsageError.isUsageErrorMessage = (msg) => {
-      if (!msg)
-        return false;
-      return msg.includes("insufficient usage");
-    };
-  }
-});
-
-// node_modules/jwt-decode/build/jwt-decode.cjs.js
-var require_jwt_decode_cjs = __commonJS({
-  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
-    "use strict";
-    function e(e2) {
-      this.message = e2;
-    }
-    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
-    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
-      var t2 = String(r2).replace(/=+$/, "");
-      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
-      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
-      return c;
-    };
-    function t(e2) {
-      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
-      switch (t2.length % 4) {
-        case 0:
-          break;
-        case 2:
-          t2 += "==";
-          break;
-        case 3:
-          t2 += "=";
-          break;
-        default:
-          throw "Illegal base64url string!";
+      isEnd() {
+        if (this.#root === this)
+          return true;
+        if (this.#parent?.type === "!")
+          return true;
+        if (!this.#parent?.isEnd())
+          return false;
+        if (!this.type)
+          return this.#parent?.isEnd();
+        const pl = this.#parent ? this.#parent.#parts.length : 0;
+        return this.#parentIndex === pl - 1;
       }
-      try {
-        return (function(e3) {
-          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
-            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
-            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
-          })));
-        })(t2);
-      } catch (e3) {
-        return r(t2);
+      copyIn(part) {
+        if (typeof part === "string")
+          this.push(part);
+        else
+          this.push(part.clone(this));
       }
-    }
-    function n(e2) {
-      this.message = e2;
-    }
-    function o(e2, r2) {
-      if ("string" != typeof e2) throw new n("Invalid token specified");
-      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
-      try {
-        return JSON.parse(t(e2.split(".")[o2]));
-      } catch (e3) {
-        throw new n("Invalid token specified: " + e3.message);
+      clone(parent) {
+        const c = new _AST(this.type, parent);
+        for (const p of this.#parts) {
+          c.copyIn(p);
+        }
+        return c;
       }
-    }
-    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
-    var a = o;
-    a.default = o, a.InvalidTokenError = n, module2.exports = a;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/util.js
-var require_util18 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      static #parseAST(str2, ast, pos, opt) {
+        let escaping = false;
+        let inBrace = false;
+        let braceStart = -1;
+        let braceNeg = false;
+        if (ast.type === null) {
+          let i2 = pos;
+          let acc2 = "";
+          while (i2 < str2.length) {
+            const c = str2.charAt(i2++);
+            if (escaping || c === "\\") {
+              escaping = !escaping;
+              acc2 += c;
+              continue;
+            }
+            if (inBrace) {
+              if (i2 === braceStart + 1) {
+                if (c === "^" || c === "!") {
+                  braceNeg = true;
+                }
+              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
+                inBrace = false;
+              }
+              acc2 += c;
+              continue;
+            } else if (c === "[") {
+              inBrace = true;
+              braceStart = i2;
+              braceNeg = false;
+              acc2 += c;
+              continue;
+            }
+            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
+              ast.push(acc2);
+              acc2 = "";
+              const ext = new _AST(c, ast);
+              i2 = _AST.#parseAST(str2, ext, i2, opt);
+              ast.push(ext);
+              continue;
+            }
+            acc2 += c;
+          }
+          ast.push(acc2);
+          return i2;
+        }
+        let i = pos + 1;
+        let part = new _AST(null, ast);
+        const parts = [];
+        let acc = "";
+        while (i < str2.length) {
+          const c = str2.charAt(i++);
+          if (escaping || c === "\\") {
+            escaping = !escaping;
+            acc += c;
+            continue;
+          }
+          if (inBrace) {
+            if (i === braceStart + 1) {
+              if (c === "^" || c === "!") {
+                braceNeg = true;
+              }
+            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
+              inBrace = false;
+            }
+            acc += c;
+            continue;
+          } else if (c === "[") {
+            inBrace = true;
+            braceStart = i;
+            braceNeg = false;
+            acc += c;
+            continue;
+          }
+          if (isExtglobType(c) && str2.charAt(i) === "(") {
+            part.push(acc);
+            acc = "";
+            const ext = new _AST(c, part);
+            part.push(ext);
+            i = _AST.#parseAST(str2, ext, i, opt);
+            continue;
+          }
+          if (c === "|") {
+            part.push(acc);
+            acc = "";
+            parts.push(part);
+            part = new _AST(null, ast);
+            continue;
+          }
+          if (c === ")") {
+            if (acc === "" && ast.#parts.length === 0) {
+              ast.#emptyExt = true;
+            }
+            part.push(acc);
+            acc = "";
+            ast.push(...parts, part);
+            return i;
+          }
+          acc += c;
+        }
+        ast.type = null;
+        ast.#hasMagic = void 0;
+        ast.#parts = [str2.substring(pos - 1)];
+        return i;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      static fromGlob(pattern, options = {}) {
+        const ast = new _AST(null, void 0, options);
+        _AST.#parseAST(pattern, ast, 0, options);
+        return ast;
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
-    var core14 = __importStar2(require_core());
-    var config_1 = require_config2();
-    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
-    var core_1 = require_core();
-    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
-    function getBackendIdsFromToken() {
-      const token = (0, config_1.getRuntimeToken)();
-      const decoded = (0, jwt_decode_1.default)(token);
-      if (!decoded.scp) {
-        throw InvalidJwtError;
+      // returns the regular expression if there's magic, or the unescaped
+      // string if not.
+      toMMPattern() {
+        if (this !== this.#root)
+          return this.#root.toMMPattern();
+        const glob2 = this.toString();
+        const [re, body, hasMagic, uflag] = this.toRegExpSource();
+        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
+        if (!anyMagic) {
+          return body;
+        }
+        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
+        return Object.assign(new RegExp(`^${re}$`, flags), {
+          _src: re,
+          _glob: glob2
+        });
       }
-      const scpParts = decoded.scp.split(" ");
-      if (scpParts.length === 0) {
-        throw InvalidJwtError;
+      get options() {
+        return this.#options;
       }
-      for (const scopes of scpParts) {
-        const scopeParts = scopes.split(":");
-        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
-          continue;
+      // returns the string match, the regexp source, whether there's magic
+      // in the regexp (so a regular expression is required) and whether or
+      // not the uflag is needed for the regular expression (for posix classes)
+      // TODO: instead of injecting the start/end at this point, just return
+      // the BODY of the regexp, along with the start/end portions suitable
+      // for binding the start/end in either a joined full-path makeRe context
+      // (where we bind to (^|/), or a standalone matchPart context (where
+      // we bind to ^, and not /).  Otherwise slashes get duped!
+      //
+      // In part-matching mode, the start is:
+      // - if not isStart: nothing
+      // - if traversal possible, but not allowed: ^(?!\.\.?$)
+      // - if dots allowed or not possible: ^
+      // - if dots possible and not allowed: ^(?!\.)
+      // end is:
+      // - if not isEnd(): nothing
+      // - else: $
+      //
+      // In full-path matching mode, we put the slash at the START of the
+      // pattern, so start is:
+      // - if first pattern: same as part-matching mode
+      // - if not isStart(): nothing
+      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
+      // - if dots allowed or not possible: /
+      // - if dots possible and not allowed: /(?!\.)
+      // end is:
+      // - if last pattern, same as part-matching mode
+      // - else nothing
+      //
+      // Always put the (?:$|/) on negated tails, though, because that has to be
+      // there to bind the end of the negated pattern portion, and it's easier to
+      // just stick it in now rather than try to inject it later in the middle of
+      // the pattern.
+      //
+      // We can just always return the same end, and leave it up to the caller
+      // to know whether it's going to be used joined or in parts.
+      // And, if the start is adjusted slightly, can do the same there:
+      // - if not isStart: nothing
+      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
+      // - if dots allowed or not possible: (?:/|^)
+      // - if dots possible and not allowed: (?:/|^)(?!\.)
+      //
+      // But it's better to have a simpler binding without a conditional, for
+      // performance, so probably better to return both start options.
+      //
+      // Then the caller just ignores the end if it's not the first pattern,
+      // and the start always gets applied.
+      //
+      // But that's always going to be $ if it's the ending pattern, or nothing,
+      // so the caller can just attach $ at the end of the pattern when building.
+      //
+      // So the todo is:
+      // - better detect what kind of start is needed
+      // - return both flavors of starting pattern
+      // - attach $ at the end of the pattern when creating the actual RegExp
+      //
+      // Ah, but wait, no, that all only applies to the root when the first pattern
+      // is not an extglob. If the first pattern IS an extglob, then we need all
+      // that dot prevention biz to live in the extglob portions, because eg
+      // +(*|.x*) can match .xy but not .yx.
+      //
+      // So, return the two flavors if it's #root and the first child is not an
+      // AST, otherwise leave it to the child AST to handle it, and there,
+      // use the (?:^|/) style of start binding.
+      //
+      // Even simplified further:
+      // - Since the start for a join is eg /(?!\.) and the start for a part
+      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
+      // or start or whatever) and prepend ^ or / at the Regexp construction.
+      toRegExpSource(allowDot) {
+        const dot = allowDot ?? !!this.#options.dot;
+        if (this.#root === this)
+          this.#fillNegs();
+        if (!this.type) {
+          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
+          const src = this.#parts.map((p) => {
+            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
+            this.#hasMagic = this.#hasMagic || hasMagic;
+            this.#uflag = this.#uflag || uflag;
+            return re;
+          }).join("");
+          let start2 = "";
+          if (this.isStart()) {
+            if (typeof this.#parts[0] === "string") {
+              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
+              if (!dotTravAllowed) {
+                const aps = addPatternStart;
+                const needNoTrav = (
+                  // dots are allowed, and the pattern starts with [ or .
+                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
+                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
+                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
+                );
+                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
+                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
+              }
+            }
+          }
+          let end = "";
+          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
+            end = "(?:$|\\/)";
+          }
+          const final2 = start2 + src + end;
+          return [
+            final2,
+            (0, unescape_js_1.unescape)(src),
+            this.#hasMagic = !!this.#hasMagic,
+            this.#uflag
+          ];
         }
-        if (scopeParts.length !== 3) {
-          throw InvalidJwtError;
+        const repeated = this.type === "*" || this.type === "+";
+        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
+        let body = this.#partsToRegExp(dot);
+        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
+          const s = this.toString();
+          this.#parts = [s];
+          this.type = null;
+          this.#hasMagic = void 0;
+          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
         }
-        const ids = {
-          workflowRunBackendId: scopeParts[1],
-          workflowJobRunBackendId: scopeParts[2]
-        };
-        core14.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
-        core14.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
-        return ids;
-      }
-      throw InvalidJwtError;
-    }
-    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
-    function maskSigUrl(url) {
-      if (!url)
-        return;
-      try {
-        const parsedUrl = new URL(url);
-        const signature = parsedUrl.searchParams.get("sig");
-        if (signature) {
-          (0, core_1.setSecret)(signature);
-          (0, core_1.setSecret)(encodeURIComponent(signature));
+        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
+        if (bodyDotAllowed === body) {
+          bodyDotAllowed = "";
         }
-      } catch (error3) {
-        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
+        if (bodyDotAllowed) {
+          body = `(?:${body})(?:${bodyDotAllowed})*?`;
+        }
+        let final = "";
+        if (this.type === "!" && this.#emptyExt) {
+          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
+        } else {
+          const close = this.type === "!" ? (
+            // !() must match something,but !(x) can match ''
+            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
+          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
+          final = start + body + close;
+        }
+        return [
+          final,
+          (0, unescape_js_1.unescape)(body),
+          this.#hasMagic = !!this.#hasMagic,
+          this.#uflag
+        ];
       }
-    }
-    exports2.maskSigUrl = maskSigUrl;
-    function maskSecretUrls(body) {
-      if (typeof body !== "object" || body === null) {
-        (0, core_1.debug)("body is not an object or is null");
-        return;
+      #partsToRegExp(dot) {
+        return this.#parts.map((p) => {
+          if (typeof p === "string") {
+            throw new Error("string type in extglob ast??");
+          }
+          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
+          this.#uflag = this.#uflag || uflag;
+          return re;
+        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
       }
-      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
-        maskSigUrl(body.signed_upload_url);
+      static #parseGlob(glob2, hasMagic, noEmpty = false) {
+        let escaping = false;
+        let re = "";
+        let uflag = false;
+        for (let i = 0; i < glob2.length; i++) {
+          const c = glob2.charAt(i);
+          if (escaping) {
+            escaping = false;
+            re += (reSpecials.has(c) ? "\\" : "") + c;
+            continue;
+          }
+          if (c === "\\") {
+            if (i === glob2.length - 1) {
+              re += "\\\\";
+            } else {
+              escaping = true;
+            }
+            continue;
+          }
+          if (c === "[") {
+            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
+            if (consumed) {
+              re += src;
+              uflag = uflag || needUflag;
+              i += consumed - 1;
+              hasMagic = hasMagic || magic;
+              continue;
+            }
+          }
+          if (c === "*") {
+            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
+            hasMagic = true;
+            continue;
+          }
+          if (c === "?") {
+            re += qmark;
+            hasMagic = true;
+            continue;
+          }
+          re += regExpEscape(c);
+        }
+        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
       }
-      if ("signed_url" in body && typeof body.signed_url === "string") {
-        maskSigUrl(body.signed_url);
+    };
+    exports2.AST = AST;
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
+var require_escape = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.escape = void 0;
+    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
+      if (magicalBraces) {
+        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
       }
-    }
-    exports2.maskSecretUrls = maskSecretUrls;
+      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
+    };
+    exports2.escape = escape;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
-var require_artifact_twirp_client2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js
+var require_commonjs20 = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
+    var brace_expansion_1 = require_commonjs19();
+    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
+    var ast_js_1 = require_ast();
+    var escape_js_1 = require_escape();
+    var unescape_js_1 = require_unescape();
+    var minimatch = (p, pattern, options = {}) => {
+      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      return new Minimatch(pattern, options).match(p);
+    };
+    exports2.minimatch = minimatch;
+    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
+    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
+    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
+    var starDotExtTestNocase = (ext2) => {
+      ext2 = ext2.toLowerCase();
+      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
+    };
+    var starDotExtTestNocaseDot = (ext2) => {
+      ext2 = ext2.toLowerCase();
+      return (f) => f.toLowerCase().endsWith(ext2);
+    };
+    var starDotStarRE = /^\*+\.\*+$/;
+    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
+    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
+    var dotStarRE = /^\.\*+$/;
+    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
+    var starRE = /^\*+$/;
+    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
+    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
+    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
+    var qmarksTestNocase = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExt([$0]);
+      if (!ext2)
+        return noext;
+      ext2 = ext2.toLowerCase();
+      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
+    };
+    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExtDot([$0]);
+      if (!ext2)
+        return noext;
+      ext2 = ext2.toLowerCase();
+      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
+    };
+    var qmarksTestDot = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExtDot([$0]);
+      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
+    };
+    var qmarksTest = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExt([$0]);
+      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
+    };
+    var qmarksTestNoExt = ([$0]) => {
+      const len = $0.length;
+      return (f) => f.length === len && !f.startsWith(".");
+    };
+    var qmarksTestNoExtDot = ([$0]) => {
+      const len = $0.length;
+      return (f) => f.length === len && f !== "." && f !== "..";
+    };
+    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
+    var path4 = {
+      win32: { sep: "\\" },
+      posix: { sep: "/" }
+    };
+    exports2.sep = defaultPlatform === "win32" ? path4.win32.sep : path4.posix.sep;
+    exports2.minimatch.sep = exports2.sep;
+    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
+    exports2.filter = filter;
+    exports2.minimatch.filter = exports2.filter;
+    var ext = (a, b = {}) => Object.assign({}, a, b);
+    var defaults = (def) => {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return exports2.minimatch;
+      }
+      const orig = exports2.minimatch;
+      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
+      return Object.assign(m, {
+        Minimatch: class Minimatch extends orig.Minimatch {
+          constructor(pattern, options = {}) {
+            super(pattern, ext(def, options));
+          }
+          static defaults(options) {
+            return orig.defaults(ext(def, options)).Minimatch;
+          }
+        },
+        AST: class AST extends orig.AST {
+          /* c8 ignore start */
+          constructor(type2, parent, options = {}) {
+            super(type2, parent, ext(def, options));
+          }
+          /* c8 ignore stop */
+          static fromGlob(pattern, options = {}) {
+            return orig.AST.fromGlob(pattern, ext(def, options));
           }
+        },
+        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
+        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
+        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
+        defaults: (options) => orig.defaults(ext(def, options)),
+        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
+        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
+        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
+        sep: orig.sep,
+        GLOBSTAR: exports2.GLOBSTAR
+      });
+    };
+    exports2.defaults = defaults;
+    exports2.minimatch.defaults = exports2.defaults;
+    var braceExpand = (pattern, options = {}) => {
+      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
+      }
+      return (0, brace_expansion_1.expand)(pattern);
+    };
+    exports2.braceExpand = braceExpand;
+    exports2.minimatch.braceExpand = exports2.braceExpand;
+    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
+    exports2.makeRe = makeRe;
+    exports2.minimatch.makeRe = exports2.makeRe;
+    var match = (list, pattern, options = {}) => {
+      const mm = new Minimatch(pattern, options);
+      list = list.filter((f) => mm.match(f));
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
+      }
+      return list;
+    };
+    exports2.match = match;
+    exports2.minimatch.match = exports2.match;
+    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var Minimatch = class {
+      options;
+      set;
+      pattern;
+      windowsPathsNoEscape;
+      nonegate;
+      negate;
+      comment;
+      empty;
+      preserveMultipleSlashes;
+      partial;
+      globSet;
+      globParts;
+      nocase;
+      isWindows;
+      platform;
+      windowsNoMagicRoot;
+      regexp;
+      constructor(pattern, options = {}) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        options = options || {};
+        this.options = options;
+        this.pattern = pattern;
+        this.platform = options.platform || defaultPlatform;
+        this.isWindows = this.platform === "win32";
+        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          this.pattern = this.pattern.replace(/\\/g, "/");
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
+        this.regexp = null;
+        this.negate = false;
+        this.nonegate = !!options.nonegate;
+        this.comment = false;
+        this.empty = false;
+        this.partial = !!options.partial;
+        this.nocase = !!this.options.nocase;
+        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
+        this.globSet = [];
+        this.globParts = [];
+        this.set = [];
+        this.make();
+      }
+      hasMagic() {
+        if (this.options.magicalBraces && this.set.length > 1) {
+          return true;
+        }
+        for (const pattern of this.set) {
+          for (const part of pattern) {
+            if (typeof part !== "string")
+              return true;
           }
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        return false;
+      }
+      debug(..._2) {
+      }
+      make() {
+        const pattern = this.pattern;
+        const options = this.options;
+        if (!options.nocomment && pattern.charAt(0) === "#") {
+          this.comment = true;
+          return;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.internalArtifactTwirpClient = void 0;
-    var http_client_1 = require_lib();
-    var auth_1 = require_auth();
-    var core_1 = require_core();
-    var generated_1 = require_generated();
-    var config_1 = require_config2();
-    var user_agent_1 = require_user_agent2();
-    var errors_1 = require_errors4();
-    var util_1 = require_util18();
-    var ArtifactHttpClient = class {
-      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
-        this.maxAttempts = 5;
-        this.baseRetryIntervalMilliseconds = 3e3;
-        this.retryMultiplier = 1.5;
-        const token = (0, config_1.getRuntimeToken)();
-        this.baseUrl = (0, config_1.getResultsServiceUrl)();
-        if (maxAttempts) {
-          this.maxAttempts = maxAttempts;
+        if (!pattern) {
+          this.empty = true;
+          return;
         }
-        if (baseRetryIntervalMilliseconds) {
-          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        this.parseNegate();
+        this.globSet = [...new Set(this.braceExpand())];
+        if (options.debug) {
+          this.debug = (...args) => console.error(...args);
         }
-        if (retryMultiplier) {
-          this.retryMultiplier = retryMultiplier;
+        this.debug(this.pattern, this.globSet);
+        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
+        this.globParts = this.preprocess(rawGlobParts);
+        this.debug(this.pattern, this.globParts);
+        let set2 = this.globParts.map((s, _2, __) => {
+          if (this.isWindows && this.windowsNoMagicRoot) {
+            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
+            const isDrive = /^[a-z]:/i.test(s[0]);
+            if (isUNC) {
+              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
+            } else if (isDrive) {
+              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
+            }
+          }
+          return s.map((ss) => this.parse(ss));
+        });
+        this.debug(this.pattern, set2);
+        this.set = set2.filter((s) => s.indexOf(false) === -1);
+        if (this.isWindows) {
+          for (let i = 0; i < this.set.length; i++) {
+            const p = this.set[i];
+            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
+              p[2] = "?";
+            }
+          }
         }
-        this.httpClient = new http_client_1.HttpClient(userAgent2, [
-          new auth_1.BearerCredentialHandler(token)
-        ]);
+        this.debug(this.pattern, this.set);
       }
-      // This function satisfies the Rpc interface. It is compatible with the JSON
-      // JSON generated client.
-      request(service, method, contentType, data) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
-          (0, core_1.debug)(`[Request] ${method} ${url}`);
-          const headers = {
-            "Content-Type": contentType
-          };
-          try {
-            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
-              return this.httpClient.post(url, JSON.stringify(data), headers);
-            }));
-            return body;
-          } catch (error3) {
-            throw new Error(`Failed to ${method}: ${error3.message}`);
+      // various transforms to equivalent pattern sets that are
+      // faster to process in a filesystem walk.  The goal is to
+      // eliminate what we can, and push all ** patterns as far
+      // to the right as possible, even if it increases the number
+      // of patterns that we have to process.
+      preprocess(globParts) {
+        if (this.options.noglobstar) {
+          for (let i = 0; i < globParts.length; i++) {
+            for (let j = 0; j < globParts[i].length; j++) {
+              if (globParts[i][j] === "**") {
+                globParts[i][j] = "*";
+              }
+            }
+          }
+        }
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          globParts = this.firstPhasePreProcess(globParts);
+          globParts = this.secondPhasePreProcess(globParts);
+        } else if (optimizationLevel >= 1) {
+          globParts = this.levelOneOptimize(globParts);
+        } else {
+          globParts = this.adjascentGlobstarOptimize(globParts);
+        }
+        return globParts;
+      }
+      // just get rid of adjascent ** portions
+      adjascentGlobstarOptimize(globParts) {
+        return globParts.map((parts) => {
+          let gs = -1;
+          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+            let i = gs;
+            while (parts[i + 1] === "**") {
+              i++;
+            }
+            if (i !== gs) {
+              parts.splice(gs, i - gs);
+            }
           }
+          return parts;
         });
       }
-      retryableRequest(operation) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 0;
-          let errorMessage = "";
-          let rawBody = "";
-          while (attempt < this.maxAttempts) {
-            let isRetryable = false;
-            try {
-              const response = yield operation();
-              const statusCode = response.message.statusCode;
-              rawBody = yield response.readBody();
-              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
-              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
-              const body = JSON.parse(rawBody);
-              (0, util_1.maskSecretUrls)(body);
-              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
-              if (this.isSuccessStatusCode(statusCode)) {
-                return { response, body };
+      // get rid of adjascent ** and resolve .. portions
+      levelOneOptimize(globParts) {
+        return globParts.map((parts) => {
+          parts = parts.reduce((set2, part) => {
+            const prev = set2[set2.length - 1];
+            if (part === "**" && prev === "**") {
+              return set2;
+            }
+            if (part === "..") {
+              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
+                set2.pop();
+                return set2;
               }
-              isRetryable = this.isRetryableHttpStatusCode(statusCode);
-              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
-              if (body.msg) {
-                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
-                  throw new errors_1.UsageError();
-                }
-                errorMessage = `${errorMessage}: ${body.msg}`;
+            }
+            set2.push(part);
+            return set2;
+          }, []);
+          return parts.length === 0 ? [""] : parts;
+        });
+      }
+      levelTwoFileOptimize(parts) {
+        if (!Array.isArray(parts)) {
+          parts = this.slashSplit(parts);
+        }
+        let didSomething = false;
+        do {
+          didSomething = false;
+          if (!this.preserveMultipleSlashes) {
+            for (let i = 1; i < parts.length - 1; i++) {
+              const p = parts[i];
+              if (i === 1 && p === "" && parts[0] === "")
+                continue;
+              if (p === "." || p === "") {
+                didSomething = true;
+                parts.splice(i, 1);
+                i--;
               }
-            } catch (error3) {
-              if (error3 instanceof SyntaxError) {
-                (0, core_1.debug)(`Raw Body: ${rawBody}`);
+            }
+            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+              didSomething = true;
+              parts.pop();
+            }
+          }
+          let dd = 0;
+          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+            const p = parts[dd - 1];
+            if (p && p !== "." && p !== ".." && p !== "**") {
+              didSomething = true;
+              parts.splice(dd - 1, 2);
+              dd -= 2;
+            }
+          }
+        } while (didSomething);
+        return parts.length === 0 ? [""] : parts;
+      }
+      // First phase: single-pattern processing
+      // 
 is 1 or more portions
+      //  is 1 or more portions
+      // 

is any portion other than ., .., '', or ** + // is . or '' + // + // **/.. is *brutal* for filesystem walking performance, because + // it effectively resets the recursive walk each time it occurs, + // and ** cannot be reduced out by a .. pattern part like a regexp + // or most strings (other than .., ., and '') can be. + // + //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} + //

// -> 
/
+      // 
/

/../ ->

/
+      // **/**/ -> **/
+      //
+      // **/*/ -> */**/ <== not valid because ** doesn't follow
+      // this WOULD be allowed if ** did follow symlinks, or * didn't
+      firstPhasePreProcess(globParts) {
+        let didSomething = false;
+        do {
+          didSomething = false;
+          for (let parts of globParts) {
+            let gs = -1;
+            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+              let gss = gs;
+              while (parts[gss + 1] === "**") {
+                gss++;
               }
-              if (error3 instanceof errors_1.UsageError) {
-                throw error3;
+              if (gss > gs) {
+                parts.splice(gs + 1, gss - gs);
+              }
+              let next = parts[gs + 1];
+              const p = parts[gs + 2];
+              const p2 = parts[gs + 3];
+              if (next !== "..")
+                continue;
+              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
+                continue;
+              }
+              didSomething = true;
+              parts.splice(gs, 1);
+              const other = parts.slice(0);
+              other[gs] = "**";
+              globParts.push(other);
+              gs--;
+            }
+            if (!this.preserveMultipleSlashes) {
+              for (let i = 1; i < parts.length - 1; i++) {
+                const p = parts[i];
+                if (i === 1 && p === "" && parts[0] === "")
+                  continue;
+                if (p === "." || p === "") {
+                  didSomething = true;
+                  parts.splice(i, 1);
+                  i--;
+                }
               }
-              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+                didSomething = true;
+                parts.pop();
               }
-              isRetryable = true;
-              errorMessage = error3.message;
-            }
-            if (!isRetryable) {
-              throw new Error(`Received non-retryable error: ${errorMessage}`);
             }
-            if (attempt + 1 === this.maxAttempts) {
-              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
+            let dd = 0;
+            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+              const p = parts[dd - 1];
+              if (p && p !== "." && p !== ".." && p !== "**") {
+                didSomething = true;
+                const needDot = dd === 1 && parts[dd + 1] === "**";
+                const splin = needDot ? ["."] : [];
+                parts.splice(dd - 1, 2, ...splin);
+                if (parts.length === 0)
+                  parts.push("");
+                dd -= 2;
+              }
             }
-            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
-            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
-            yield this.sleep(retryTimeMilliseconds);
-            attempt++;
           }
-          throw new Error(`Request failed`);
-        });
-      }
-      isSuccessStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        return statusCode >= 200 && statusCode < 300;
-      }
-      isRetryableHttpStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        const retryableStatusCodes = [
-          http_client_1.HttpCodes.BadGateway,
-          http_client_1.HttpCodes.GatewayTimeout,
-          http_client_1.HttpCodes.InternalServerError,
-          http_client_1.HttpCodes.ServiceUnavailable,
-          http_client_1.HttpCodes.TooManyRequests
-        ];
-        return retryableStatusCodes.includes(statusCode);
-      }
-      sleep(milliseconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve3) => setTimeout(resolve3, milliseconds));
-        });
+        } while (didSomething);
+        return globParts;
       }
-      getExponentialRetryTimeMilliseconds(attempt) {
-        if (attempt < 0) {
-          throw new Error("attempt should be a positive integer");
-        }
-        if (attempt === 0) {
-          return this.baseRetryIntervalMilliseconds;
+      // second phase: multi-pattern dedupes
+      // {
/*/,
/

/} ->

/*/
+      // {
/,
/} -> 
/
+      // {
/**/,
/} -> 
/**/
+      //
+      // {
/**/,
/**/

/} ->

/**/
+      // ^-- not valid because ** doens't follow symlinks
+      secondPhasePreProcess(globParts) {
+        for (let i = 0; i < globParts.length - 1; i++) {
+          for (let j = i + 1; j < globParts.length; j++) {
+            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
+            if (matched) {
+              globParts[i] = [];
+              globParts[j] = matched;
+              break;
+            }
+          }
         }
-        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
-        const maxTime = minTime * this.retryMultiplier;
-        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
-      }
-    };
-    function internalArtifactTwirpClient(options) {
-      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
-      return new generated_1.ArtifactServiceClientJSON(client);
-    }
-    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
-var require_upload_zip_specification = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
-    var fs3 = __importStar2(require("fs"));
-    var core_1 = require_core();
-    var path_1 = require("path");
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    function validateRootDirectory(rootDirectory) {
-      if (!fs3.existsSync(rootDirectory)) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
-      }
-      if (!fs3.statSync(rootDirectory).isDirectory()) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
+        return globParts.filter((gs) => gs.length);
       }
-      (0, core_1.info)(`Root directory input is valid!`);
-    }
-    exports2.validateRootDirectory = validateRootDirectory;
-    function getUploadZipSpecification(filesToZip, rootDirectory) {
-      const specification = [];
-      rootDirectory = (0, path_1.normalize)(rootDirectory);
-      rootDirectory = (0, path_1.resolve)(rootDirectory);
-      for (let file of filesToZip) {
-        const stats = fs3.lstatSync(file, { throwIfNoEntry: false });
-        if (!stats) {
-          throw new Error(`File ${file} does not exist`);
-        }
-        if (!stats.isDirectory()) {
-          file = (0, path_1.normalize)(file);
-          file = (0, path_1.resolve)(file);
-          if (!file.startsWith(rootDirectory)) {
-            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
+      partsMatch(a, b, emptyGSMatch = false) {
+        let ai = 0;
+        let bi = 0;
+        let result = [];
+        let which6 = "";
+        while (ai < a.length && bi < b.length) {
+          if (a[ai] === b[bi]) {
+            result.push(which6 === "b" ? b[bi] : a[ai]);
+            ai++;
+            bi++;
+          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
+            result.push(a[ai]);
+            ai++;
+          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
+            result.push(b[bi]);
+            bi++;
+          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
+            if (which6 === "b")
+              return false;
+            which6 = "a";
+            result.push(a[ai]);
+            ai++;
+            bi++;
+          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
+            if (which6 === "a")
+              return false;
+            which6 = "b";
+            result.push(b[bi]);
+            ai++;
+            bi++;
+          } else {
+            return false;
           }
-          const uploadPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
-          specification.push({
-            sourcePath: file,
-            destinationPath: uploadPath,
-            stats
-          });
-        } else {
-          const directoryPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
-          specification.push({
-            sourcePath: null,
-            destinationPath: directoryPath,
-            stats
-          });
         }
+        return a.length === b.length && result;
       }
-      return specification;
-    }
-    exports2.getUploadZipSpecification = getUploadZipSpecification;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
-var require_blob_upload = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      parseNegate() {
+        if (this.nonegate)
+          return;
+        const pattern = this.pattern;
+        let negate = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate = !negate;
+          negateOffset++;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        if (negateOffset)
+          this.pattern = pattern.slice(negateOffset);
+        this.negate = negate;
+      }
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial = false) {
+        const options = this.options;
+        if (this.isWindows) {
+          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
+          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
+          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
+          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
+          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
+          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
+          if (typeof fdi === "number" && typeof pdi === "number") {
+            const [fd, pd] = [file[fdi], pattern[pdi]];
+            if (fd.toLowerCase() === pd.toLowerCase()) {
+              pattern[pdi] = fd;
+              if (pdi > fdi) {
+                pattern = pattern.slice(pdi);
+              } else if (fdi > pdi) {
+                file = file.slice(fdi);
+              }
+            }
           }
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          file = this.levelTwoFileOptimize(file);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadZipToBlobStorage = void 0;
-    var storage_blob_1 = require_commonjs15();
-    var config_1 = require_config2();
-    var core14 = __importStar2(require_core());
-    var crypto2 = __importStar2(require("crypto"));
-    var stream = __importStar2(require("stream"));
-    var errors_1 = require_errors4();
-    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        let uploadByteCount = 0;
-        let lastProgressTime = Date.now();
-        const abortController = new AbortController();
-        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve3, reject) => {
-            const timer = setInterval(() => {
-              if (Date.now() - lastProgressTime > interval) {
-                reject(new Error("Upload progress stalled."));
+        this.debug("matchOne", this, { file, pattern });
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) {
+            return false;
+          }
+          if (p === exports2.GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
+                  return false;
               }
-            }, interval);
-            abortController.signal.addEventListener("abort", () => {
-              clearInterval(timer);
-              resolve3();
-            });
-          });
-        });
-        const maxConcurrency = (0, config_1.getConcurrency)();
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
-        const blockBlobClient = blobClient.getBlockBlobClient();
-        core14.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
-        const uploadCallback = (progress) => {
-          core14.info(`Uploaded bytes ${progress.loadedBytes}`);
-          uploadByteCount = progress.loadedBytes;
-          lastProgressTime = Date.now();
-        };
-        const options = {
-          blobHTTPHeaders: { blobContentType: "zip" },
-          onProgress: uploadCallback,
-          abortSignal: abortController.signal
-        };
-        let sha256Hash = void 0;
-        const uploadStream = new stream.PassThrough();
-        const hashStream = crypto2.createHash("sha256");
-        zipUploadStream.pipe(uploadStream);
-        zipUploadStream.pipe(hashStream).setEncoding("hex");
-        core14.info("Beginning upload of artifact content to blob storage");
-        try {
-          yield Promise.race([
-            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
-            chunkTimer((0, config_1.getUploadChunkTimeout)())
-          ]);
-        } catch (error3) {
-          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+              return true;
+            }
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
+            }
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) {
+                return true;
+              }
+            }
+            return false;
           }
-          throw error3;
-        } finally {
-          abortController.abort();
-        }
-        core14.info("Finished uploading artifact content to blob storage!");
-        hashStream.end();
-        sha256Hash = hashStream.read();
-        core14.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
-        if (uploadByteCount === 0) {
-          core14.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
-        }
-        return {
-          uploadSize: uploadByteCount,
-          sha256Hash
-        };
-      });
-    }
-    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
-var require_path = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
-    var isWindows = typeof process === "object" && process && process.platform === "win32";
-    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
-  }
-});
-
-// node_modules/readdir-glob/node_modules/brace-expansion/index.js
-var require_brace_expansion2 = __commonJS({
-  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
-    var balanced = require_balanced_match();
-    module2.exports = expandTop;
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    function numeric(str2) {
-      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2)
-        return [""];
-      var parts = [];
-      var m = balanced("{", "}", str2);
-      if (!m)
-        return str2.split(",");
-      var pre = m.pre;
-      var body = m.body;
-      var post = m.post;
-      var p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      var postParts = parseCommaParts(post);
-      if (post.length) {
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
-      }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expandTop(str2) {
-      if (!str2)
-        return [];
-      if (str2.substr(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.substr(2);
-      }
-      return expand2(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand2(str2, isTop) {
-      var expansions = [];
-      var m = balanced("{", "}", str2);
-      if (!m) return [str2];
-      var pre = m.pre;
-      var post = m.post.length ? expand2(m.post, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (var k = 0; k < post.length; k++) {
-          var expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
-        }
-      } else {
-        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        var isSequence = isNumericSequence || isAlphaSequence;
-        var isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand2(str2);
+          let hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
+          } else {
+            hit = p.test(f);
+            this.debug("pattern match", p, f, hit);
           }
-          return [str2];
+          if (!hit)
+            return false;
         }
-        var n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
         } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1) {
-            n = expand2(n[0], false).map(embrace);
-            if (n.length === 1) {
-              return post.map(function(p) {
-                return m.pre + n[0] + p;
-              });
-            }
-          }
+          throw new Error("wtf?");
         }
-        var N;
-        if (isSequence) {
-          var x = numeric(n[0]);
-          var y = numeric(n[1]);
-          var width = Math.max(n[0].length, n[1].length);
-          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
-          var test = lte;
-          var reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
-          }
-          var pad = n.some(isPadded);
-          N = [];
-          for (var i = x; test(i, y); i += incr) {
-            var c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\")
-                c = "";
-            } else {
-              c = String(i);
-              if (pad) {
-                var need = width - c.length;
-                if (need > 0) {
-                  var z = new Array(need + 1).join("0");
-                  if (i < 0)
-                    c = "-" + z + c.slice(1);
-                  else
-                    c = z + c;
-                }
+      }
+      braceExpand() {
+        return (0, exports2.braceExpand)(this.pattern, this.options);
+      }
+      parse(pattern) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        const options = this.options;
+        if (pattern === "**")
+          return exports2.GLOBSTAR;
+        if (pattern === "")
+          return "";
+        let m;
+        let fastTest = null;
+        if (m = pattern.match(starRE)) {
+          fastTest = options.dot ? starTestDot : starTest;
+        } else if (m = pattern.match(starDotExtRE)) {
+          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
+        } else if (m = pattern.match(qmarksRE)) {
+          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
+        } else if (m = pattern.match(starDotStarRE)) {
+          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
+        } else if (m = pattern.match(dotStarRE)) {
+          fastTest = dotStarTest;
+        }
+        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
+        if (fastTest && typeof re === "object") {
+          Reflect.defineProperty(re, "test", { value: fastTest });
+        }
+        return re;
+      }
+      makeRe() {
+        if (this.regexp || this.regexp === false)
+          return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
+        }
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = new Set(options.nocase ? ["i"] : []);
+        let re = set2.map((pattern) => {
+          const pp = pattern.map((p) => {
+            if (p instanceof RegExp) {
+              for (const f of p.flags.split(""))
+                flags.add(f);
+            }
+            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
+          });
+          pp.forEach((p, i) => {
+            const next = pp[i + 1];
+            const prev = pp[i - 1];
+            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
+              return;
+            }
+            if (prev === void 0) {
+              if (next !== void 0 && next !== exports2.GLOBSTAR) {
+                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
+              } else {
+                pp[i] = twoStar;
               }
+            } else if (next === void 0) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
+            } else if (next !== exports2.GLOBSTAR) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
+              pp[i + 1] = exports2.GLOBSTAR;
             }
-            N.push(c);
+          });
+          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
+          if (this.partial && filtered.length >= 1) {
+            const prefixes = [];
+            for (let i = 1; i <= filtered.length; i++) {
+              prefixes.push(filtered.slice(0, i).join("/"));
+            }
+            return "(?:" + prefixes.join("|") + ")";
           }
+          return filtered.join("/");
+        }).join("|");
+        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
+        re = "^" + open + re + close + "$";
+        if (this.partial) {
+          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+        }
+        if (this.negate)
+          re = "^(?!" + re + ").+$";
+        try {
+          this.regexp = new RegExp(re, [...flags].join(""));
+        } catch (ex) {
+          this.regexp = false;
+        }
+        return this.regexp;
+      }
+      slashSplit(p) {
+        if (this.preserveMultipleSlashes) {
+          return p.split("/");
+        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
+          return ["", ...p.split(/\/+/)];
         } else {
-          N = [];
-          for (var j = 0; j < n.length; j++) {
-            N.push.apply(N, expand2(n[j], false));
+          return p.split(/\/+/);
+        }
+      }
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) {
+          return false;
+        }
+        if (this.empty) {
+          return f === "";
+        }
+        if (f === "/" && partial) {
+          return true;
+        }
+        const options = this.options;
+        if (this.isWindows) {
+          f = f.split("\\").join("/");
+        }
+        const ff = this.slashSplit(f);
+        this.debug(this.pattern, "split", ff);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename = ff[ff.length - 1];
+        if (!filename) {
+          for (let i = ff.length - 2; !filename && i >= 0; i--) {
+            filename = ff[i];
           }
         }
-        for (var j = 0; j < N.length; j++) {
-          for (var k = 0; k < post.length; k++) {
-            var expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion)
-              expansions.push(expansion);
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = ff;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
+          }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) {
+              return true;
+            }
+            return !this.negate;
           }
         }
+        if (options.flipNegate) {
+          return false;
+        }
+        return this.negate;
       }
-      return expansions;
-    }
+      static defaults(def) {
+        return exports2.minimatch.defaults(def).Minimatch;
+      }
+    };
+    exports2.Minimatch = Minimatch;
+    var ast_js_2 = require_ast();
+    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
+      return ast_js_2.AST;
+    } });
+    var escape_js_2 = require_escape();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return escape_js_2.escape;
+    } });
+    var unescape_js_2 = require_unescape();
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return unescape_js_2.unescape;
+    } });
+    exports2.minimatch.AST = ast_js_1.AST;
+    exports2.minimatch.Minimatch = Minimatch;
+    exports2.minimatch.escape = escape_js_1.escape;
+    exports2.minimatch.unescape = unescape_js_1.unescape;
   }
 });
 
-// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
-var require_minimatch2 = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
-    var minimatch = module2.exports = (p, pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
-      }
-      return new Minimatch(pattern, options).match(p);
-    };
-    module2.exports = minimatch;
-    var path4 = require_path();
-    minimatch.sep = path4.sep;
-    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    minimatch.GLOBSTAR = GLOBSTAR;
-    var expand2 = require_brace_expansion2();
-    var plTypes = {
-      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
-      "?": { open: "(?:", close: ")?" },
-      "+": { open: "(?:", close: ")+" },
-      "*": { open: "(?:", close: ")*" },
-      "@": { open: "(?:", close: ")" }
-    };
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var charSet = (s) => s.split("").reduce((set2, c) => {
-      set2[c] = true;
-      return set2;
-    }, {});
-    var reSpecials = charSet("().*{}+?[]^$\\!");
-    var addPatternStartSet = charSet("[.(");
-    var slashSplit = /\/+/;
-    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
-    var ext = (a, b = {}) => {
-      const t = {};
-      Object.keys(a).forEach((k) => t[k] = a[k]);
-      Object.keys(b).forEach((k) => t[k] = b[k]);
-      return t;
+// node_modules/lru-cache/dist/commonjs/index.js
+var require_commonjs21 = __commonJS({
+  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LRUCache = void 0;
+    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
+    var warned = /* @__PURE__ */ new Set();
+    var PROCESS = typeof process === "object" && !!process ? process : {};
+    var emitWarning = (msg, type2, code, fn) => {
+      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
     };
-    minimatch.defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return minimatch;
-      }
-      const orig = minimatch;
-      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
-      m.Minimatch = class Minimatch extends orig.Minimatch {
-        constructor(pattern, options) {
-          super(pattern, ext(def, options));
+    var AC = globalThis.AbortController;
+    var AS = globalThis.AbortSignal;
+    if (typeof AC === "undefined") {
+      AS = class AbortSignal {
+        onabort;
+        _onabort = [];
+        reason;
+        aborted = false;
+        addEventListener(_2, fn) {
+          this._onabort.push(fn);
         }
       };
-      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
-      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
-      m.defaults = (options) => orig.defaults(ext(def, options));
-      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
-      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
-      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
-      return m;
+      AC = class AbortController {
+        constructor() {
+          warnACPolyfill();
+        }
+        signal = new AS();
+        abort(reason) {
+          if (this.signal.aborted)
+            return;
+          this.signal.reason = reason;
+          this.signal.aborted = true;
+          for (const fn of this.signal._onabort) {
+            fn(reason);
+          }
+          this.signal.onabort?.(reason);
+        }
+      };
+      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
+      const warnACPolyfill = () => {
+        if (!printACPolyfillWarning)
+          return;
+        printACPolyfillWarning = false;
+        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
+      };
+    }
+    var shouldWarn = (code) => !warned.has(code);
+    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
+    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
+    var ZeroArray = class extends Array {
+      constructor(size) {
+        super(size);
+        this.fill(0);
+      }
     };
-    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
-    var braceExpand = (pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
+    var Stack = class _Stack {
+      heap;
+      length;
+      // private constructor
+      static #constructing = false;
+      static create(max) {
+        const HeapCls = getUintArray(max);
+        if (!HeapCls)
+          return [];
+        _Stack.#constructing = true;
+        const s = new _Stack(max, HeapCls);
+        _Stack.#constructing = false;
+        return s;
+      }
+      constructor(max, HeapCls) {
+        if (!_Stack.#constructing) {
+          throw new TypeError("instantiate Stack using Stack.create(n)");
+        }
+        this.heap = new HeapCls(max);
+        this.length = 0;
+      }
+      push(n) {
+        this.heap[this.length++] = n;
+      }
+      pop() {
+        return this.heap[--this.length];
       }
-      return expand2(pattern);
     };
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
+    var LRUCache = class _LRUCache {
+      // options that cannot be changed without disaster
+      #max;
+      #maxSize;
+      #dispose;
+      #onInsert;
+      #disposeAfter;
+      #fetchMethod;
+      #memoMethod;
+      /**
+       * {@link LRUCache.OptionsBase.ttl}
+       */
+      ttl;
+      /**
+       * {@link LRUCache.OptionsBase.ttlResolution}
+       */
+      ttlResolution;
+      /**
+       * {@link LRUCache.OptionsBase.ttlAutopurge}
+       */
+      ttlAutopurge;
+      /**
+       * {@link LRUCache.OptionsBase.updateAgeOnGet}
+       */
+      updateAgeOnGet;
+      /**
+       * {@link LRUCache.OptionsBase.updateAgeOnHas}
+       */
+      updateAgeOnHas;
+      /**
+       * {@link LRUCache.OptionsBase.allowStale}
+       */
+      allowStale;
+      /**
+       * {@link LRUCache.OptionsBase.noDisposeOnSet}
+       */
+      noDisposeOnSet;
+      /**
+       * {@link LRUCache.OptionsBase.noUpdateTTL}
+       */
+      noUpdateTTL;
+      /**
+       * {@link LRUCache.OptionsBase.maxEntrySize}
+       */
+      maxEntrySize;
+      /**
+       * {@link LRUCache.OptionsBase.sizeCalculation}
+       */
+      sizeCalculation;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
+       */
+      noDeleteOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
+       */
+      noDeleteOnStaleGet;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
+       */
+      allowStaleOnFetchAbort;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
+       */
+      allowStaleOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
+       */
+      ignoreFetchAbort;
+      // computed properties
+      #size;
+      #calculatedSize;
+      #keyMap;
+      #keyList;
+      #valList;
+      #next;
+      #prev;
+      #head;
+      #tail;
+      #free;
+      #disposed;
+      #sizes;
+      #starts;
+      #ttls;
+      #hasDispose;
+      #hasFetchMethod;
+      #hasDisposeAfter;
+      #hasOnInsert;
+      /**
+       * Do not call this method unless you need to inspect the
+       * inner workings of the cache.  If anything returned by this
+       * object is modified in any way, strange breakage may occur.
+       *
+       * These fields are private for a reason!
+       *
+       * @internal
+       */
+      static unsafeExposeInternals(c) {
+        return {
+          // properties
+          starts: c.#starts,
+          ttls: c.#ttls,
+          sizes: c.#sizes,
+          keyMap: c.#keyMap,
+          keyList: c.#keyList,
+          valList: c.#valList,
+          next: c.#next,
+          prev: c.#prev,
+          get head() {
+            return c.#head;
+          },
+          get tail() {
+            return c.#tail;
+          },
+          free: c.#free,
+          // methods
+          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
+          backgroundFetch: (k, index, options, context2) => c.#backgroundFetch(k, index, options, context2),
+          moveToTail: (index) => c.#moveToTail(index),
+          indexes: (options) => c.#indexes(options),
+          rindexes: (options) => c.#rindexes(options),
+          isStale: (index) => c.#isStale(index)
+        };
+      }
+      // Protected read-only members
+      /**
+       * {@link LRUCache.OptionsBase.max} (read-only)
+       */
+      get max() {
+        return this.#max;
+      }
+      /**
+       * {@link LRUCache.OptionsBase.maxSize} (read-only)
+       */
+      get maxSize() {
+        return this.#maxSize;
+      }
+      /**
+       * The total computed size of items in the cache (read-only)
+       */
+      get calculatedSize() {
+        return this.#calculatedSize;
+      }
+      /**
+       * The number of items stored in the cache (read-only)
+       */
+      get size() {
+        return this.#size;
       }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
+      /**
+       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
+       */
+      get fetchMethod() {
+        return this.#fetchMethod;
       }
-    };
-    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
-    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
-    minimatch.match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+      get memoMethod() {
+        return this.#memoMethod;
       }
-      return list;
-    };
-    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
-    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
-    var Minimatch = class {
-      constructor(pattern, options) {
-        assertValidPattern(pattern);
-        if (!options) options = {};
-        this.options = options;
-        this.set = [];
-        this.pattern = pattern;
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
-        }
-        this.regexp = null;
-        this.negate = false;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.make();
+      /**
+       * {@link LRUCache.OptionsBase.dispose} (read-only)
+       */
+      get dispose() {
+        return this.#dispose;
       }
-      debug() {
+      /**
+       * {@link LRUCache.OptionsBase.onInsert} (read-only)
+       */
+      get onInsert() {
+        return this.#onInsert;
       }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
+      /**
+       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
+       */
+      get disposeAfter() {
+        return this.#disposeAfter;
+      }
+      constructor(options) {
+        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
+        if (max !== 0 && !isPosInt(max)) {
+          throw new TypeError("max option must be a nonnegative integer");
         }
-        if (!pattern) {
-          this.empty = true;
-          return;
+        const UintArray = max ? getUintArray(max) : Array;
+        if (!UintArray) {
+          throw new Error("invalid max value: " + max);
         }
-        this.parseNegate();
-        let set2 = this.globSet = this.braceExpand();
-        if (options.debug) this.debug = (...args) => console.error(...args);
-        this.debug(this.pattern, set2);
-        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
-        this.debug(this.pattern, set2);
-        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
-        this.debug(this.pattern, set2);
-        set2 = set2.filter((s) => s.indexOf(false) === -1);
-        this.debug(this.pattern, set2);
-        this.set = set2;
-      }
-      parseNegate() {
-        if (this.options.nonegate) return;
-        const pattern = this.pattern;
-        let negate = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate = !negate;
-          negateOffset++;
+        this.#max = max;
+        this.#maxSize = maxSize;
+        this.maxEntrySize = maxEntrySize || this.#maxSize;
+        this.sizeCalculation = sizeCalculation;
+        if (this.sizeCalculation) {
+          if (!this.#maxSize && !this.maxEntrySize) {
+            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
+          }
+          if (typeof this.sizeCalculation !== "function") {
+            throw new TypeError("sizeCalculation set to non-function");
+          }
         }
-        if (negateOffset) this.pattern = pattern.slice(negateOffset);
-        this.negate = negate;
-      }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial) {
-        var options = this.options;
-        this.debug(
-          "matchOne",
-          { "this": this, file, pattern }
-        );
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) return false;
-          if (p === GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) return true;
+        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
+          throw new TypeError("memoMethod must be a function if defined");
+        }
+        this.#memoMethod = memoMethod;
+        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
+          throw new TypeError("fetchMethod must be a function if specified");
+        }
+        this.#fetchMethod = fetchMethod;
+        this.#hasFetchMethod = !!fetchMethod;
+        this.#keyMap = /* @__PURE__ */ new Map();
+        this.#keyList = new Array(max).fill(void 0);
+        this.#valList = new Array(max).fill(void 0);
+        this.#next = new UintArray(max);
+        this.#prev = new UintArray(max);
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free = Stack.create(max);
+        this.#size = 0;
+        this.#calculatedSize = 0;
+        if (typeof dispose === "function") {
+          this.#dispose = dispose;
+        }
+        if (typeof onInsert === "function") {
+          this.#onInsert = onInsert;
+        }
+        if (typeof disposeAfter === "function") {
+          this.#disposeAfter = disposeAfter;
+          this.#disposed = [];
+        } else {
+          this.#disposeAfter = void 0;
+          this.#disposed = void 0;
+        }
+        this.#hasDispose = !!this.#dispose;
+        this.#hasOnInsert = !!this.#onInsert;
+        this.#hasDisposeAfter = !!this.#disposeAfter;
+        this.noDisposeOnSet = !!noDisposeOnSet;
+        this.noUpdateTTL = !!noUpdateTTL;
+        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
+        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
+        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
+        this.ignoreFetchAbort = !!ignoreFetchAbort;
+        if (this.maxEntrySize !== 0) {
+          if (this.#maxSize !== 0) {
+            if (!isPosInt(this.#maxSize)) {
+              throw new TypeError("maxSize must be a positive integer if specified");
             }
-            return false;
           }
-          var hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
-          } else {
-            hit = f.match(p);
-            this.debug("pattern match", p, f, hit);
+          if (!isPosInt(this.maxEntrySize)) {
+            throw new TypeError("maxEntrySize must be a positive integer if specified");
           }
-          if (!hit) return false;
+          this.#initializeSizeTracking();
         }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
+        this.allowStale = !!allowStale;
+        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
+        this.updateAgeOnGet = !!updateAgeOnGet;
+        this.updateAgeOnHas = !!updateAgeOnHas;
+        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
+        this.ttlAutopurge = !!ttlAutopurge;
+        this.ttl = ttl || 0;
+        if (this.ttl) {
+          if (!isPosInt(this.ttl)) {
+            throw new TypeError("ttl must be a positive integer if specified");
+          }
+          this.#initializeTTLTracking();
+        }
+        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
+          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        }
+        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
+          const code = "LRU_CACHE_UNBOUNDED";
+          if (shouldWarn(code)) {
+            warned.add(code);
+            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
+            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
+          }
         }
-        throw new Error("wtf?");
       }
-      braceExpand() {
-        return braceExpand(this.pattern, this.options);
+      /**
+       * Return the number of ms left in the item's TTL. If item is not in cache,
+       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
+       */
+      getRemainingTTL(key) {
+        return this.#keyMap.has(key) ? Infinity : 0;
       }
-      parse(pattern, isSub) {
-        assertValidPattern(pattern);
-        const options = this.options;
-        if (pattern === "**") {
-          if (!options.noglobstar)
-            return GLOBSTAR;
-          else
-            pattern = "*";
-        }
-        if (pattern === "") return "";
-        let re = "";
-        let hasMagic = false;
-        let escaping = false;
-        const patternListStack = [];
-        const negativeLists = [];
-        let stateChar;
-        let inClass = false;
-        let reClassStart = -1;
-        let classStart = -1;
-        let cs;
-        let pl;
-        let sp;
-        let dotTravAllowed = pattern.charAt(0) === ".";
-        let dotFileAllowed = options.dot || dotTravAllowed;
-        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const clearStateChar = () => {
-          if (stateChar) {
-            switch (stateChar) {
-              case "*":
-                re += star;
-                hasMagic = true;
-                break;
-              case "?":
-                re += qmark;
-                hasMagic = true;
-                break;
-              default:
-                re += "\\" + stateChar;
-                break;
+      #initializeTTLTracking() {
+        const ttls = new ZeroArray(this.#max);
+        const starts = new ZeroArray(this.#max);
+        this.#ttls = ttls;
+        this.#starts = starts;
+        this.#setItemTTL = (index, ttl, start = perf.now()) => {
+          starts[index] = ttl !== 0 ? start : 0;
+          ttls[index] = ttl;
+          if (ttl !== 0 && this.ttlAutopurge) {
+            const t = setTimeout(() => {
+              if (this.#isStale(index)) {
+                this.#delete(this.#keyList[index], "expire");
+              }
+            }, ttl + 1);
+            if (t.unref) {
+              t.unref();
             }
-            this.debug("clearStateChar %j %j", stateChar, re);
-            stateChar = false;
           }
         };
-        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
-          this.debug("%s	%s %s %j", pattern, i, re, c);
-          if (escaping) {
-            if (c === "/") {
-              return false;
-            }
-            if (reSpecials[c]) {
-              re += "\\";
-            }
-            re += c;
-            escaping = false;
-            continue;
+        this.#updateItemAge = (index) => {
+          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
+        };
+        this.#statusTTL = (status, index) => {
+          if (ttls[index]) {
+            const ttl = ttls[index];
+            const start = starts[index];
+            if (!ttl || !start)
+              return;
+            status.ttl = ttl;
+            status.start = start;
+            status.now = cachedNow || getNow();
+            const age = status.now - start;
+            status.remainingTTL = ttl - age;
           }
-          switch (c) {
-            /* istanbul ignore next */
-            case "/": {
-              return false;
-            }
-            case "\\":
-              if (inClass && pattern.charAt(i + 1) === "-") {
-                re += c;
-                continue;
-              }
-              clearStateChar();
-              escaping = true;
-              continue;
-            // the various stateChar values
-            // for the "extglob" stuff.
-            case "?":
-            case "*":
-            case "+":
-            case "@":
-            case "!":
-              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
-              if (inClass) {
-                this.debug("  in class");
-                if (c === "!" && i === classStart + 1) c = "^";
-                re += c;
-                continue;
-              }
-              this.debug("call clearStateChar %j", stateChar);
-              clearStateChar();
-              stateChar = c;
-              if (options.noext) clearStateChar();
-              continue;
-            case "(": {
-              if (inClass) {
-                re += "(";
-                continue;
-              }
-              if (!stateChar) {
-                re += "\\(";
-                continue;
-              }
-              const plEntry = {
-                type: stateChar,
-                start: i - 1,
-                reStart: re.length,
-                open: plTypes[stateChar].open,
-                close: plTypes[stateChar].close
-              };
-              this.debug(this.pattern, "	", plEntry);
-              patternListStack.push(plEntry);
-              re += plEntry.open;
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              this.debug("plType %j %j", stateChar, re);
-              stateChar = false;
-              continue;
-            }
-            case ")": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\)";
-                continue;
-              }
-              patternListStack.pop();
-              clearStateChar();
-              hasMagic = true;
-              pl = plEntry;
-              re += pl.close;
-              if (pl.type === "!") {
-                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
-              }
-              continue;
-            }
-            case "|": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\|";
-                continue;
-              }
-              clearStateChar();
-              re += "|";
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              continue;
+        };
+        let cachedNow = 0;
+        const getNow = () => {
+          const n = perf.now();
+          if (this.ttlResolution > 0) {
+            cachedNow = n;
+            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
+            if (t.unref) {
+              t.unref();
             }
-            // these are mostly the same in regexp and glob
-            case "[":
-              clearStateChar();
-              if (inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              inClass = true;
-              classStart = i;
-              reClassStart = re.length;
-              re += c;
-              continue;
-            case "]":
-              if (i === classStart + 1 || !inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              cs = pattern.substring(classStart + 1, i);
-              try {
-                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
-                re += c;
-              } catch (er) {
-                re = re.substring(0, reClassStart) + "(?:$.)";
+          }
+          return n;
+        };
+        this.getRemainingTTL = (key) => {
+          const index = this.#keyMap.get(key);
+          if (index === void 0) {
+            return 0;
+          }
+          const ttl = ttls[index];
+          const start = starts[index];
+          if (!ttl || !start) {
+            return Infinity;
+          }
+          const age = (cachedNow || getNow()) - start;
+          return ttl - age;
+        };
+        this.#isStale = (index) => {
+          const s = starts[index];
+          const t = ttls[index];
+          return !!t && !!s && (cachedNow || getNow()) - s > t;
+        };
+      }
+      // conditionally set private methods related to TTL
+      #updateItemAge = () => {
+      };
+      #statusTTL = () => {
+      };
+      #setItemTTL = () => {
+      };
+      /* c8 ignore stop */
+      #isStale = () => false;
+      #initializeSizeTracking() {
+        const sizes = new ZeroArray(this.#max);
+        this.#calculatedSize = 0;
+        this.#sizes = sizes;
+        this.#removeItemSize = (index) => {
+          this.#calculatedSize -= sizes[index];
+          sizes[index] = 0;
+        };
+        this.#requireSize = (k, v, size, sizeCalculation) => {
+          if (this.#isBackgroundFetch(v)) {
+            return 0;
+          }
+          if (!isPosInt(size)) {
+            if (sizeCalculation) {
+              if (typeof sizeCalculation !== "function") {
+                throw new TypeError("sizeCalculation must be a function");
               }
-              hasMagic = true;
-              inClass = false;
-              continue;
-            default:
-              clearStateChar();
-              if (reSpecials[c] && !(c === "^" && inClass)) {
-                re += "\\";
+              size = sizeCalculation(v, k);
+              if (!isPosInt(size)) {
+                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
               }
-              re += c;
-              break;
+            } else {
+              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
+            }
+          }
+          return size;
+        };
+        this.#addItemSize = (index, size, status) => {
+          sizes[index] = size;
+          if (this.#maxSize) {
+            const maxSize = this.#maxSize - sizes[index];
+            while (this.#calculatedSize > maxSize) {
+              this.#evict(true);
+            }
           }
+          this.#calculatedSize += sizes[index];
+          if (status) {
+            status.entrySize = size;
+            status.totalCalculatedSize = this.#calculatedSize;
+          }
+        };
+      }
+      #removeItemSize = (_i) => {
+      };
+      #addItemSize = (_i, _s, _st) => {
+      };
+      #requireSize = (_k, _v, size, sizeCalculation) => {
+        if (size || sizeCalculation) {
+          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
         }
-        if (inClass) {
-          cs = pattern.slice(classStart + 1);
-          sp = this.parse(cs, SUBPARSE);
-          re = re.substring(0, reClassStart) + "\\[" + sp[0];
-          hasMagic = hasMagic || sp[1];
+        return 0;
+      };
+      *#indexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#tail; true; ) {
+            if (!this.#isValidIndex(i)) {
+              break;
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#head) {
+              break;
+            } else {
+              i = this.#prev[i];
+            }
+          }
         }
-        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
-          let tail;
-          tail = re.slice(pl.reStart + pl.open.length);
-          this.debug("setting tail", re, pl);
-          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
-            if (!$2) {
-              $2 = "\\";
+      }
+      *#rindexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#head; true; ) {
+            if (!this.#isValidIndex(i)) {
+              break;
             }
-            return $1 + $1 + $2 + "|";
-          });
-          this.debug("tail=%j\n   %s", tail, tail, pl, re);
-          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
-          hasMagic = true;
-          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#tail) {
+              break;
+            } else {
+              i = this.#next[i];
+            }
+          }
         }
-        clearStateChar();
-        if (escaping) {
-          re += "\\\\";
+      }
+      #isValidIndex(index) {
+        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
+      }
+      /**
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from most recently used to least recently used.
+       */
+      *entries() {
+        for (const i of this.#indexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
+          }
         }
-        const addPatternStart = addPatternStartSet[re.charAt(0)];
-        for (let n = negativeLists.length - 1; n > -1; n--) {
-          const nl = negativeLists[n];
-          const nlBefore = re.slice(0, nl.reStart);
-          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
-          let nlAfter = re.slice(nl.reEnd);
-          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
-          const closeParensBefore = nlBefore.split(")").length;
-          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
-          let cleanAfter = nlAfter;
-          for (let i = 0; i < openParensBefore; i++) {
-            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
+      }
+      /**
+       * Inverse order version of {@link LRUCache.entries}
+       *
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from least recently used to most recently used.
+       */
+      *rentries() {
+        for (const i of this.#rindexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
           }
-          nlAfter = cleanAfter;
-          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
-          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
         }
-        if (re !== "" && hasMagic) {
-          re = "(?=.)" + re;
+      }
+      /**
+       * Return a generator yielding the keys in the cache,
+       * in order from most recently used to least recently used.
+       */
+      *keys() {
+        for (const i of this.#indexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
+          }
         }
-        if (addPatternStart) {
-          re = patternStart() + re;
+      }
+      /**
+       * Inverse order version of {@link LRUCache.keys}
+       *
+       * Return a generator yielding the keys in the cache,
+       * in order from least recently used to most recently used.
+       */
+      *rkeys() {
+        for (const i of this.#rindexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
+          }
         }
-        if (isSub === SUBPARSE) {
-          return [re, hasMagic];
+      }
+      /**
+       * Return a generator yielding the values in the cache,
+       * in order from most recently used to least recently used.
+       */
+      *values() {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
+          }
         }
-        if (options.nocase && !hasMagic) {
-          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
+      }
+      /**
+       * Inverse order version of {@link LRUCache.values}
+       *
+       * Return a generator yielding the values in the cache,
+       * in order from least recently used to most recently used.
+       */
+      *rvalues() {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
+          }
         }
-        if (!hasMagic) {
-          return globUnescape(pattern);
+      }
+      /**
+       * Iterating over the cache itself yields the same results as
+       * {@link LRUCache.entries}
+       */
+      [Symbol.iterator]() {
+        return this.entries();
+      }
+      /**
+       * A String value that is used in the creation of the default string
+       * description of an object. Called by the built-in method
+       * `Object.prototype.toString`.
+       */
+      [Symbol.toStringTag] = "LRUCache";
+      /**
+       * Find a value for which the supplied fn method returns a truthy value,
+       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
+       */
+      find(fn, getOptions = {}) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          if (fn(value, this.#keyList[i], this)) {
+            return this.get(this.#keyList[i], getOptions);
+          }
         }
-        const flags = options.nocase ? "i" : "";
-        try {
-          return Object.assign(new RegExp("^" + re + "$", flags), {
-            _glob: pattern,
-            _src: re
-          });
-        } catch (er) {
-          return new RegExp("$.");
+      }
+      /**
+       * Call the supplied function on each item in the cache, in order from most
+       * recently used to least recently used.
+       *
+       * `fn` is called as `fn(value, key, cache)`.
+       *
+       * If `thisp` is provided, function will be called in the `this`-context of
+       * the provided object, or the cache if no `thisp` object is provided.
+       *
+       * Does not update age or recenty of use, or iterate over stale values.
+       */
+      forEach(fn, thisp = this) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
         }
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false) return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
+      /**
+       * The same as {@link LRUCache.forEach} but items are iterated over in
+       * reverse order.  (ie, less recently used items are iterated over first.)
+       */
+      rforEach(fn, thisp = this) {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
         }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = options.nocase ? "i" : "";
-        let re = set2.map((pattern) => {
-          pattern = pattern.map(
-            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
-          ).reduce((set3, p) => {
-            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
-              set3.push(p);
-            }
-            return set3;
-          }, []);
-          pattern.forEach((p, i) => {
-            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
-              return;
-            }
-            if (i === 0) {
-              if (pattern.length > 1) {
-                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
-              } else {
-                pattern[i] = twoStar;
-              }
-            } else if (i === pattern.length - 1) {
-              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
-            } else {
-              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
-              pattern[i + 1] = GLOBSTAR;
-            }
-          });
-          return pattern.filter((p) => p !== GLOBSTAR).join("/");
-        }).join("|");
-        re = "^(?:" + re + ")$";
-        if (this.negate) re = "^(?!" + re + ").*$";
-        try {
-          this.regexp = new RegExp(re, flags);
-        } catch (ex) {
-          this.regexp = false;
+      }
+      /**
+       * Delete any stale entries. Returns true if anything was removed,
+       * false otherwise.
+       */
+      purgeStale() {
+        let deleted = false;
+        for (const i of this.#rindexes({ allowStale: true })) {
+          if (this.#isStale(i)) {
+            this.#delete(this.#keyList[i], "expire");
+            deleted = true;
+          }
         }
-        return this.regexp;
+        return deleted;
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) return false;
-        if (this.empty) return f === "";
-        if (f === "/" && partial) return true;
-        const options = this.options;
-        if (path4.sep !== "/") {
-          f = f.split(path4.sep).join("/");
+      /**
+       * Get the extended info about a given entry, to get its value, size, and
+       * TTL info simultaneously. Returns `undefined` if the key is not present.
+       *
+       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
+       * serialization, the `start` value is always the current timestamp, and the
+       * `ttl` is a calculated remaining time to live (negative if expired).
+       *
+       * Always returns stale values, if their info is found in the cache, so be
+       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
+       * if relevant.
+       */
+      info(key) {
+        const i = this.#keyMap.get(key);
+        if (i === void 0)
+          return void 0;
+        const v = this.#valList[i];
+        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+        if (value === void 0)
+          return void 0;
+        const entry = { value };
+        if (this.#ttls && this.#starts) {
+          const ttl = this.#ttls[i];
+          const start = this.#starts[i];
+          if (ttl && start) {
+            const remain = ttl - (perf.now() - start);
+            entry.ttl = remain;
+            entry.start = Date.now();
+          }
         }
-        f = f.split(slashSplit);
-        this.debug(this.pattern, "split", f);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename;
-        for (let i = f.length - 1; i >= 0; i--) {
-          filename = f[i];
-          if (filename) break;
+        if (this.#sizes) {
+          entry.size = this.#sizes[i];
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = f;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
+        return entry;
+      }
+      /**
+       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
+       * passed to {@link LRUCache#load}.
+       *
+       * The `start` fields are calculated relative to a portable `Date.now()`
+       * timestamp, even if `performance.now()` is available.
+       *
+       * Stale entries are always included in the `dump`, even if
+       * {@link LRUCache.OptionsBase.allowStale} is false.
+       *
+       * Note: this returns an actual array, not a generator, so it can be more
+       * easily passed around.
+       */
+      dump() {
+        const arr = [];
+        for (const i of this.#indexes({ allowStale: true })) {
+          const key = this.#keyList[i];
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0 || key === void 0)
+            continue;
+          const entry = { value };
+          if (this.#ttls && this.#starts) {
+            entry.ttl = this.#ttls[i];
+            const age = perf.now() - this.#starts[i];
+            entry.start = Math.floor(Date.now() - age);
           }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) return true;
-            return !this.negate;
+          if (this.#sizes) {
+            entry.size = this.#sizes[i];
           }
+          arr.unshift([key, entry]);
         }
-        if (options.flipNegate) return false;
-        return this.negate;
+        return arr;
       }
-      static defaults(def) {
-        return minimatch.defaults(def).Minimatch;
+      /**
+       * Reset the cache and load in the items in entries in the order listed.
+       *
+       * The shape of the resulting cache may be different if the same options are
+       * not used in both caches.
+       *
+       * The `start` fields are assumed to be calculated relative to a portable
+       * `Date.now()` timestamp, even if `performance.now()` is available.
+       */
+      load(arr) {
+        this.clear();
+        for (const [key, entry] of arr) {
+          if (entry.start) {
+            const age = Date.now() - entry.start;
+            entry.start = perf.now() - age;
+          }
+          this.set(key, entry.value, entry);
+        }
       }
-    };
-    minimatch.Minimatch = Minimatch;
-  }
-});
-
-// node_modules/readdir-glob/index.js
-var require_readdir_glob = __commonJS({
-  "node_modules/readdir-glob/index.js"(exports2, module2) {
-    module2.exports = readdirGlob;
-    var fs3 = require("fs");
-    var { EventEmitter } = require("events");
-    var { Minimatch } = require_minimatch2();
-    var { resolve: resolve3 } = require("path");
-    function readdir(dir, strict) {
-      return new Promise((resolve4, reject) => {
-        fs3.readdir(dir, { withFileTypes: true }, (err, files) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOTDIR":
-                if (strict) {
-                  reject(err);
-                } else {
-                  resolve4([]);
-                }
-                break;
-              case "ENOTSUP":
-              // Operation not supported
-              case "ENOENT":
-              // No such file or directory
-              case "ENAMETOOLONG":
-              // Filename too long
-              case "UNKNOWN":
-                resolve4([]);
-                break;
-              case "ELOOP":
-              // Too many levels of symbolic links
-              default:
-                reject(err);
-                break;
-            }
-          } else {
-            resolve4(files);
+      /**
+       * Add a value to the cache.
+       *
+       * Note: if `undefined` is specified as a value, this is an alias for
+       * {@link LRUCache#delete}
+       *
+       * Fields on the {@link LRUCache.SetOptions} options param will override
+       * their corresponding values in the constructor options for the scope
+       * of this single `set()` operation.
+       *
+       * If `start` is provided, then that will set the effective start
+       * time for the TTL calculation. Note that this must be a previous
+       * value of `performance.now()` if supported, or a previous value of
+       * `Date.now()` if not.
+       *
+       * Options object may also include `size`, which will prevent
+       * calling the `sizeCalculation` function and just use the specified
+       * number if it is a positive integer, and `noDisposeOnSet` which
+       * will prevent calling a `dispose` function in the case of
+       * overwrites.
+       *
+       * If the `size` (or return value of `sizeCalculation`) for a given
+       * entry is greater than `maxEntrySize`, then the item will not be
+       * added to the cache.
+       *
+       * Will update the recency of the entry.
+       *
+       * If the value is `undefined`, then this is an alias for
+       * `cache.delete(key)`. `undefined` is never stored in the cache.
+       */
+      set(k, v, setOptions = {}) {
+        if (v === void 0) {
+          this.delete(k);
+          return this;
+        }
+        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
+        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
+        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
+        if (this.maxEntrySize && size > this.maxEntrySize) {
+          if (status) {
+            status.set = "miss";
+            status.maxEntrySizeExceeded = true;
+          }
+          this.#delete(k, "set");
+          return this;
+        }
+        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
+        if (index === void 0) {
+          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
+          this.#keyList[index] = k;
+          this.#valList[index] = v;
+          this.#keyMap.set(k, index);
+          this.#next[this.#tail] = index;
+          this.#prev[index] = this.#tail;
+          this.#tail = index;
+          this.#size++;
+          this.#addItemSize(index, size, status);
+          if (status)
+            status.set = "add";
+          noUpdateTTL = false;
+          if (this.#hasOnInsert) {
+            this.#onInsert?.(v, k, "add");
           }
-        });
-      });
-    }
-    function stat(file, followSymlinks) {
-      return new Promise((resolve4, reject) => {
-        const statFunc = followSymlinks ? fs3.stat : fs3.lstat;
-        statFunc(file, (err, stats) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOENT":
-                if (followSymlinks) {
-                  resolve4(stat(file, false));
-                } else {
-                  resolve4(null);
+        } else {
+          this.#moveToTail(index);
+          const oldVal = this.#valList[index];
+          if (v !== oldVal) {
+            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
+              oldVal.__abortController.abort(new Error("replaced"));
+              const { __staleWhileFetching: s } = oldVal;
+              if (s !== void 0 && !noDisposeOnSet) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(s, k, "set");
                 }
-                break;
-              default:
-                resolve4(null);
-                break;
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([s, k, "set"]);
+                }
+              }
+            } else if (!noDisposeOnSet) {
+              if (this.#hasDispose) {
+                this.#dispose?.(oldVal, k, "set");
+              }
+              if (this.#hasDisposeAfter) {
+                this.#disposed?.push([oldVal, k, "set"]);
+              }
             }
-          } else {
-            resolve4(stats);
+            this.#removeItemSize(index);
+            this.#addItemSize(index, size, status);
+            this.#valList[index] = v;
+            if (status) {
+              status.set = "replace";
+              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
+              if (oldValue !== void 0)
+                status.oldValue = oldValue;
+            }
+          } else if (status) {
+            status.set = "update";
+          }
+          if (this.#hasOnInsert) {
+            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
           }
-        });
-      });
-    }
-    async function* exploreWalkAsync(dir, path4, followSymlinks, useStat, shouldSkip, strict) {
-      let files = await readdir(path4 + dir, strict);
-      for (const file of files) {
-        let name = file.name;
-        if (name === void 0) {
-          name = file;
-          useStat = true;
-        }
-        const filename = dir + "/" + name;
-        const relative = filename.slice(1);
-        const absolute = path4 + "/" + relative;
-        let stats = null;
-        if (useStat || followSymlinks) {
-          stats = await stat(absolute, followSymlinks);
         }
-        if (!stats && file.name !== void 0) {
-          stats = file;
+        if (ttl !== 0 && !this.#ttls) {
+          this.#initializeTTLTracking();
         }
-        if (stats === null) {
-          stats = { isDirectory: () => false };
+        if (this.#ttls) {
+          if (!noUpdateTTL) {
+            this.#setItemTTL(index, ttl, start);
+          }
+          if (status)
+            this.#statusTTL(status, index);
         }
-        if (stats.isDirectory()) {
-          if (!shouldSkip(relative)) {
-            yield { relative, absolute, stats };
-            yield* exploreWalkAsync(filename, path4, followSymlinks, useStat, shouldSkip, false);
+        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
           }
-        } else {
-          yield { relative, absolute, stats };
         }
+        return this;
       }
-    }
-    async function* explore(path4, followSymlinks, useStat, shouldSkip) {
-      yield* exploreWalkAsync("", path4, followSymlinks, useStat, shouldSkip, true);
-    }
-    function readOptions(options) {
-      return {
-        pattern: options.pattern,
-        dot: !!options.dot,
-        noglobstar: !!options.noglobstar,
-        matchBase: !!options.matchBase,
-        nocase: !!options.nocase,
-        ignore: options.ignore,
-        skip: options.skip,
-        follow: !!options.follow,
-        stat: !!options.stat,
-        nodir: !!options.nodir,
-        mark: !!options.mark,
-        silent: !!options.silent,
-        absolute: !!options.absolute
-      };
-    }
-    var ReaddirGlob = class extends EventEmitter {
-      constructor(cwd, options, cb) {
-        super();
-        if (typeof options === "function") {
-          cb = options;
-          options = null;
-        }
-        this.options = readOptions(options || {});
-        this.matchers = [];
-        if (this.options.pattern) {
-          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
-          this.matchers = matchers.map(
-            (m) => new Minimatch(m, {
-              dot: this.options.dot,
-              noglobstar: this.options.noglobstar,
-              matchBase: this.options.matchBase,
-              nocase: this.options.nocase
-            })
-          );
+      /**
+       * Evict the least recently used item, returning its value or
+       * `undefined` if cache is empty.
+       */
+      pop() {
+        try {
+          while (this.#size) {
+            const val = this.#valList[this.#head];
+            this.#evict(true);
+            if (this.#isBackgroundFetch(val)) {
+              if (val.__staleWhileFetching) {
+                return val.__staleWhileFetching;
+              }
+            } else if (val !== void 0) {
+              return val;
+            }
+          }
+        } finally {
+          if (this.#hasDisposeAfter && this.#disposed) {
+            const dt = this.#disposed;
+            let task;
+            while (task = dt?.shift()) {
+              this.#disposeAfter?.(...task);
+            }
+          }
         }
-        this.ignoreMatchers = [];
-        if (this.options.ignore) {
-          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
-          this.ignoreMatchers = ignorePatterns.map(
-            (ignore) => new Minimatch(ignore, { dot: true })
-          );
+      }
+      #evict(free) {
+        const head = this.#head;
+        const k = this.#keyList[head];
+        const v = this.#valList[head];
+        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
+          v.__abortController.abort(new Error("evicted"));
+        } else if (this.#hasDispose || this.#hasDisposeAfter) {
+          if (this.#hasDispose) {
+            this.#dispose?.(v, k, "evict");
+          }
+          if (this.#hasDisposeAfter) {
+            this.#disposed?.push([v, k, "evict"]);
+          }
         }
-        this.skipMatchers = [];
-        if (this.options.skip) {
-          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
-          this.skipMatchers = skipPatterns.map(
-            (skip) => new Minimatch(skip, { dot: true })
-          );
+        this.#removeItemSize(head);
+        if (free) {
+          this.#keyList[head] = void 0;
+          this.#valList[head] = void 0;
+          this.#free.push(head);
         }
-        this.iterator = explore(resolve3(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
-        this.paused = false;
-        this.inactive = false;
-        this.aborted = false;
-        if (cb) {
-          this._matches = [];
-          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
-          this.on("error", (err) => cb(err));
-          this.on("end", () => cb(null, this._matches));
+        if (this.#size === 1) {
+          this.#head = this.#tail = 0;
+          this.#free.length = 0;
+        } else {
+          this.#head = this.#next[head];
         }
-        setTimeout(() => this._next(), 0);
+        this.#keyMap.delete(k);
+        this.#size--;
+        return head;
       }
-      _shouldSkipDirectory(relative) {
-        return this.skipMatchers.some((m) => m.match(relative));
+      /**
+       * Check if a key is in the cache, without updating the recency of use.
+       * Will return false if the item is stale, even though it is technically
+       * in the cache.
+       *
+       * Check if a key is in the cache, without updating the recency of
+       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
+       * to `true` in either the options or the constructor.
+       *
+       * Will return `false` if the item is stale, even though it is technically in
+       * the cache. The difference can be determined (if it matters) by using a
+       * `status` argument, and inspecting the `has` field.
+       *
+       * Will not update item age unless
+       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
+       */
+      has(k, hasOptions = {}) {
+        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
+            return false;
+          }
+          if (!this.#isStale(index)) {
+            if (updateAgeOnHas) {
+              this.#updateItemAge(index);
+            }
+            if (status) {
+              status.has = "hit";
+              this.#statusTTL(status, index);
+            }
+            return true;
+          } else if (status) {
+            status.has = "stale";
+            this.#statusTTL(status, index);
+          }
+        } else if (status) {
+          status.has = "miss";
+        }
+        return false;
       }
-      _fileMatches(relative, isDirectory) {
-        const file = relative + (isDirectory ? "/" : "");
-        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
+      /**
+       * Like {@link LRUCache#get} but doesn't update recency or delete stale
+       * items.
+       *
+       * Returns `undefined` if the item is stale, unless
+       * {@link LRUCache.OptionsBase.allowStale} is set.
+       */
+      peek(k, peekOptions = {}) {
+        const { allowStale = this.allowStale } = peekOptions;
+        const index = this.#keyMap.get(k);
+        if (index === void 0 || !allowStale && this.#isStale(index)) {
+          return;
+        }
+        const v = this.#valList[index];
+        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
       }
-      _next() {
-        if (!this.paused && !this.aborted) {
-          this.iterator.next().then((obj) => {
-            if (!obj.done) {
-              const isDirectory = obj.value.stats.isDirectory();
-              if (this._fileMatches(obj.value.relative, isDirectory)) {
-                let relative = obj.value.relative;
-                let absolute = obj.value.absolute;
-                if (this.options.mark && isDirectory) {
-                  relative += "/";
-                  absolute += "/";
-                }
-                if (this.options.stat) {
-                  this.emit("match", { relative, absolute, stat: obj.value.stats });
-                } else {
-                  this.emit("match", { relative, absolute });
-                }
+      #backgroundFetch(k, index, options, context2) {
+        const v = index === void 0 ? void 0 : this.#valList[index];
+        if (this.#isBackgroundFetch(v)) {
+          return v;
+        }
+        const ac = new AC();
+        const { signal } = options;
+        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
+          signal: ac.signal
+        });
+        const fetchOpts = {
+          signal: ac.signal,
+          options,
+          context: context2
+        };
+        const cb = (v2, updateCache = false) => {
+          const { aborted } = ac.signal;
+          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
+          if (options.status) {
+            if (aborted && !updateCache) {
+              options.status.fetchAborted = true;
+              options.status.fetchError = ac.signal.reason;
+              if (ignoreAbort)
+                options.status.fetchAbortIgnored = true;
+            } else {
+              options.status.fetchResolved = true;
+            }
+          }
+          if (aborted && !ignoreAbort && !updateCache) {
+            return fetchFail(ac.signal.reason);
+          }
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            if (v2 === void 0) {
+              if (bf2.__staleWhileFetching) {
+                this.#valList[index] = bf2.__staleWhileFetching;
+              } else {
+                this.#delete(k, "fetch");
               }
-              this._next(this.iterator);
             } else {
-              this.emit("end");
+              if (options.status)
+                options.status.fetchUpdated = true;
+              this.set(k, v2, fetchOpts.options);
             }
-          }).catch((err) => {
-            this.abort();
-            this.emit("error", err);
-            if (!err.code && !this.options.silent) {
-              console.error(err);
+          }
+          return v2;
+        };
+        const eb = (er) => {
+          if (options.status) {
+            options.status.fetchRejected = true;
+            options.status.fetchError = er;
+          }
+          return fetchFail(er);
+        };
+        const fetchFail = (er) => {
+          const { aborted } = ac.signal;
+          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
+          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
+          const noDelete = allowStale || options.noDeleteOnFetchRejection;
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            const del = !noDelete || bf2.__staleWhileFetching === void 0;
+            if (del) {
+              this.#delete(k, "fetch");
+            } else if (!allowStaleAborted) {
+              this.#valList[index] = bf2.__staleWhileFetching;
+            }
+          }
+          if (allowStale) {
+            if (options.status && bf2.__staleWhileFetching !== void 0) {
+              options.status.returnedStale = true;
+            }
+            return bf2.__staleWhileFetching;
+          } else if (bf2.__returned === bf2) {
+            throw er;
+          }
+        };
+        const pcall = (res, rej) => {
+          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
+          if (fmp && fmp instanceof Promise) {
+            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
+          }
+          ac.signal.addEventListener("abort", () => {
+            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
+              res(void 0);
+              if (options.allowStaleOnFetchAbort) {
+                res = (v2) => cb(v2, true);
+              }
             }
           });
+        };
+        if (options.status)
+          options.status.fetchDispatched = true;
+        const p = new Promise(pcall).then(cb, eb);
+        const bf = Object.assign(p, {
+          __abortController: ac,
+          __staleWhileFetching: v,
+          __returned: void 0
+        });
+        if (index === void 0) {
+          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
+          index = this.#keyMap.get(k);
         } else {
-          this.inactive = true;
-        }
-      }
-      abort() {
-        this.aborted = true;
-      }
-      pause() {
-        this.paused = true;
-      }
-      resume() {
-        this.paused = false;
-        if (this.inactive) {
-          this.inactive = false;
-          this._next();
+          this.#valList[index] = bf;
         }
+        return bf;
       }
-    };
-    function readdirGlob(pattern, options, cb) {
-      return new ReaddirGlob(pattern, options, cb);
-    }
-    readdirGlob.ReaddirGlob = ReaddirGlob;
-  }
-});
-
-// node_modules/async/dist/async.js
-var require_async = __commonJS({
-  "node_modules/async/dist/async.js"(exports2, module2) {
-    (function(global2, factory) {
-      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
-    })(exports2, (function(exports3) {
-      "use strict";
-      function apply(fn, ...args) {
-        return (...callArgs) => fn(...args, ...callArgs);
-      }
-      function initialParams(fn) {
-        return function(...args) {
-          var callback = args.pop();
-          return fn.call(this, args, callback);
-        };
-      }
-      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
-      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
-      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
-      function fallback(fn) {
-        setTimeout(fn, 0);
-      }
-      function wrap(defer) {
-        return (fn, ...args) => defer(() => fn(...args));
-      }
-      var _defer$1;
-      if (hasQueueMicrotask) {
-        _defer$1 = queueMicrotask;
-      } else if (hasSetImmediate) {
-        _defer$1 = setImmediate;
-      } else if (hasNextTick) {
-        _defer$1 = process.nextTick;
-      } else {
-        _defer$1 = fallback;
+      #isBackgroundFetch(p) {
+        if (!this.#hasFetchMethod)
+          return false;
+        const b = p;
+        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
       }
-      var setImmediate$1 = wrap(_defer$1);
-      function asyncify(func) {
-        if (isAsync(func)) {
-          return function(...args) {
-            const callback = args.pop();
-            const promise = func.apply(this, args);
-            return handlePromise(promise, callback);
-          };
+      async fetch(k, fetchOptions = {}) {
+        const {
+          // get options
+          allowStale = this.allowStale,
+          updateAgeOnGet = this.updateAgeOnGet,
+          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
+          // set options
+          ttl = this.ttl,
+          noDisposeOnSet = this.noDisposeOnSet,
+          size = 0,
+          sizeCalculation = this.sizeCalculation,
+          noUpdateTTL = this.noUpdateTTL,
+          // fetch exclusive options
+          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
+          ignoreFetchAbort = this.ignoreFetchAbort,
+          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
+          context: context2,
+          forceRefresh = false,
+          status,
+          signal
+        } = fetchOptions;
+        if (!this.#hasFetchMethod) {
+          if (status)
+            status.fetch = "get";
+          return this.get(k, {
+            allowStale,
+            updateAgeOnGet,
+            noDeleteOnStaleGet,
+            status
+          });
         }
-        return initialParams(function(args, callback) {
-          var result;
-          try {
-            result = func.apply(this, args);
-          } catch (e) {
-            return callback(e);
+        const options = {
+          allowStale,
+          updateAgeOnGet,
+          noDeleteOnStaleGet,
+          ttl,
+          noDisposeOnSet,
+          size,
+          sizeCalculation,
+          noUpdateTTL,
+          noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection,
+          allowStaleOnFetchAbort,
+          ignoreFetchAbort,
+          status,
+          signal
+        };
+        let index = this.#keyMap.get(k);
+        if (index === void 0) {
+          if (status)
+            status.fetch = "miss";
+          const p = this.#backgroundFetch(k, index, options, context2);
+          return p.__returned = p;
+        } else {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            const stale = allowStale && v.__staleWhileFetching !== void 0;
+            if (status) {
+              status.fetch = "inflight";
+              if (stale)
+                status.returnedStale = true;
+            }
+            return stale ? v.__staleWhileFetching : v.__returned = v;
           }
-          if (result && typeof result.then === "function") {
-            return handlePromise(result, callback);
-          } else {
-            callback(null, result);
+          const isStale = this.#isStale(index);
+          if (!forceRefresh && !isStale) {
+            if (status)
+              status.fetch = "hit";
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            if (status)
+              this.#statusTTL(status, index);
+            return v;
           }
-        });
-      }
-      function handlePromise(promise, callback) {
-        return promise.then((value) => {
-          invokeCallback(callback, null, value);
-        }, (err) => {
-          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
-        });
-      }
-      function invokeCallback(callback, error3, value) {
-        try {
-          callback(error3, value);
-        } catch (err) {
-          setImmediate$1((e) => {
-            throw e;
-          }, err);
-        }
-      }
-      function isAsync(fn) {
-        return fn[Symbol.toStringTag] === "AsyncFunction";
-      }
-      function isAsyncGenerator(fn) {
-        return fn[Symbol.toStringTag] === "AsyncGenerator";
-      }
-      function isAsyncIterable(obj) {
-        return typeof obj[Symbol.asyncIterator] === "function";
-      }
-      function wrapAsync(asyncFn) {
-        if (typeof asyncFn !== "function") throw new Error("expected a function");
-        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
-      }
-      function awaitify(asyncFn, arity) {
-        if (!arity) arity = asyncFn.length;
-        if (!arity) throw new Error("arity is undefined");
-        function awaitable(...args) {
-          if (typeof args[arity - 1] === "function") {
-            return asyncFn.apply(this, args);
+          const p = this.#backgroundFetch(k, index, options, context2);
+          const hasStale = p.__staleWhileFetching !== void 0;
+          const staleVal = hasStale && allowStale;
+          if (status) {
+            status.fetch = isStale ? "stale" : "refresh";
+            if (staleVal && isStale)
+              status.returnedStale = true;
           }
-          return new Promise((resolve3, reject2) => {
-            args[arity - 1] = (err, ...cbArgs) => {
-              if (err) return reject2(err);
-              resolve3(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
-            };
-            asyncFn.apply(this, args);
-          });
+          return staleVal ? p.__staleWhileFetching : p.__returned = p;
         }
-        return awaitable;
       }
-      function applyEach$1(eachfn) {
-        return function applyEach2(fns, ...callArgs) {
-          const go = awaitify(function(callback) {
-            var that = this;
-            return eachfn(fns, (fn, cb) => {
-              wrapAsync(fn).apply(that, callArgs.concat(cb));
-            }, callback);
-          });
-          return go;
-        };
+      async forceFetch(k, fetchOptions = {}) {
+        const v = await this.fetch(k, fetchOptions);
+        if (v === void 0)
+          throw new Error("fetch() returned undefined");
+        return v;
       }
-      function _asyncMap(eachfn, arr, iteratee, callback) {
-        arr = arr || [];
-        var results = [];
-        var counter = 0;
-        var _iteratee = wrapAsync(iteratee);
-        return eachfn(arr, (value, _2, iterCb) => {
-          var index2 = counter++;
-          _iteratee(value, (err, v) => {
-            results[index2] = v;
-            iterCb(err);
-          });
-        }, (err) => {
-          callback(err, results);
+      memo(k, memoOptions = {}) {
+        const memoMethod = this.#memoMethod;
+        if (!memoMethod) {
+          throw new Error("no memoMethod provided to constructor");
+        }
+        const { context: context2, forceRefresh, ...options } = memoOptions;
+        const v = this.get(k, options);
+        if (!forceRefresh && v !== void 0)
+          return v;
+        const vv = memoMethod(k, v, {
+          options,
+          context: context2
         });
+        this.set(k, vv, options);
+        return vv;
       }
-      function isArrayLike(value) {
-        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
-      }
-      const breakLoop = {};
-      function once(fn) {
-        function wrapper(...args) {
-          if (fn === null) return;
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
+      /**
+       * Return a value from the cache. Will update the recency of the cache
+       * entry found.
+       *
+       * If the key is not found, get() will return `undefined`.
+       */
+      get(k, getOptions = {}) {
+        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const value = this.#valList[index];
+          const fetching = this.#isBackgroundFetch(value);
+          if (status)
+            this.#statusTTL(status, index);
+          if (this.#isStale(index)) {
+            if (status)
+              status.get = "stale";
+            if (!fetching) {
+              if (!noDeleteOnStaleGet) {
+                this.#delete(k, "expire");
+              }
+              if (status && allowStale)
+                status.returnedStale = true;
+              return allowStale ? value : void 0;
+            } else {
+              if (status && allowStale && value.__staleWhileFetching !== void 0) {
+                status.returnedStale = true;
+              }
+              return allowStale ? value.__staleWhileFetching : void 0;
+            }
+          } else {
+            if (status)
+              status.get = "hit";
+            if (fetching) {
+              return value.__staleWhileFetching;
+            }
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            return value;
+          }
+        } else if (status) {
+          status.get = "miss";
         }
-        Object.assign(wrapper, fn);
-        return wrapper;
-      }
-      function getIterator(coll) {
-        return coll[Symbol.iterator] && coll[Symbol.iterator]();
-      }
-      function createArrayIterator(coll) {
-        var i = -1;
-        var len = coll.length;
-        return function next() {
-          return ++i < len ? { value: coll[i], key: i } : null;
-        };
       }
-      function createES2015Iterator(iterator2) {
-        var i = -1;
-        return function next() {
-          var item = iterator2.next();
-          if (item.done)
-            return null;
-          i++;
-          return { value: item.value, key: i };
-        };
+      #connect(p, n) {
+        this.#prev[n] = p;
+        this.#next[p] = n;
       }
-      function createObjectIterator(obj) {
-        var okeys = obj ? Object.keys(obj) : [];
-        var i = -1;
-        var len = okeys.length;
-        return function next() {
-          var key = okeys[++i];
-          if (key === "__proto__") {
-            return next();
+      #moveToTail(index) {
+        if (index !== this.#tail) {
+          if (index === this.#head) {
+            this.#head = this.#next[index];
+          } else {
+            this.#connect(this.#prev[index], this.#next[index]);
           }
-          return i < len ? { value: obj[key], key } : null;
-        };
-      }
-      function createIterator(coll) {
-        if (isArrayLike(coll)) {
-          return createArrayIterator(coll);
+          this.#connect(this.#tail, index);
+          this.#tail = index;
         }
-        var iterator2 = getIterator(coll);
-        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
       }
-      function onlyOnce(fn) {
-        return function(...args) {
-          if (fn === null) throw new Error("Callback was already called.");
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
-        };
+      /**
+       * Deletes a key out of the cache.
+       *
+       * Returns true if the key was deleted, false otherwise.
+       */
+      delete(k) {
+        return this.#delete(k, "delete");
       }
-      function asyncEachOfLimit(generator, limit, iteratee, callback) {
-        let done = false;
-        let canceled = false;
-        let awaiting = false;
-        let running = 0;
-        let idx = 0;
-        function replenish() {
-          if (running >= limit || awaiting || done) return;
-          awaiting = true;
-          generator.next().then(({ value, done: iterDone }) => {
-            if (canceled || done) return;
-            awaiting = false;
-            if (iterDone) {
-              done = true;
-              if (running <= 0) {
-                callback(null);
+      #delete(k, reason) {
+        let deleted = false;
+        if (this.#size !== 0) {
+          const index = this.#keyMap.get(k);
+          if (index !== void 0) {
+            deleted = true;
+            if (this.#size === 1) {
+              this.#clear(reason);
+            } else {
+              this.#removeItemSize(index);
+              const v = this.#valList[index];
+              if (this.#isBackgroundFetch(v)) {
+                v.__abortController.abort(new Error("deleted"));
+              } else if (this.#hasDispose || this.#hasDisposeAfter) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(v, k, reason);
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([v, k, reason]);
+                }
               }
-              return;
+              this.#keyMap.delete(k);
+              this.#keyList[index] = void 0;
+              this.#valList[index] = void 0;
+              if (index === this.#tail) {
+                this.#tail = this.#prev[index];
+              } else if (index === this.#head) {
+                this.#head = this.#next[index];
+              } else {
+                const pi = this.#prev[index];
+                this.#next[pi] = this.#next[index];
+                const ni = this.#next[index];
+                this.#prev[ni] = this.#prev[index];
+              }
+              this.#size--;
+              this.#free.push(index);
             }
-            running++;
-            iteratee(value, idx, iterateeCallback);
-            idx++;
-            replenish();
-          }).catch(handleError);
-        }
-        function iterateeCallback(err, result) {
-          running -= 1;
-          if (canceled) return;
-          if (err) return handleError(err);
-          if (err === false) {
-            done = true;
-            canceled = true;
-            return;
-          }
-          if (result === breakLoop || done && running <= 0) {
-            done = true;
-            return callback(null);
           }
-          replenish();
         }
-        function handleError(err) {
-          if (canceled) return;
-          awaiting = false;
-          done = true;
-          callback(err);
+        if (this.#hasDisposeAfter && this.#disposed?.length) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
         }
-        replenish();
+        return deleted;
       }
-      var eachOfLimit$2 = (limit) => {
-        return (obj, iteratee, callback) => {
-          callback = once(callback);
-          if (limit <= 0) {
-            throw new RangeError("concurrency limit cannot be less than 1");
-          }
-          if (!obj) {
-            return callback(null);
-          }
-          if (isAsyncGenerator(obj)) {
-            return asyncEachOfLimit(obj, limit, iteratee, callback);
-          }
-          if (isAsyncIterable(obj)) {
-            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
-          }
-          var nextElem = createIterator(obj);
-          var done = false;
-          var canceled = false;
-          var running = 0;
-          var looping = false;
-          function iterateeCallback(err, value) {
-            if (canceled) return;
-            running -= 1;
-            if (err) {
-              done = true;
-              callback(err);
-            } else if (err === false) {
-              done = true;
-              canceled = true;
-            } else if (value === breakLoop || done && running <= 0) {
-              done = true;
-              return callback(null);
-            } else if (!looping) {
-              replenish();
+      /**
+       * Clear the cache entirely, throwing away all values.
+       */
+      clear() {
+        return this.#clear("delete");
+      }
+      #clear(reason) {
+        for (const index of this.#rindexes({ allowStale: true })) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            v.__abortController.abort(new Error("deleted"));
+          } else {
+            const k = this.#keyList[index];
+            if (this.#hasDispose) {
+              this.#dispose?.(v, k, reason);
             }
-          }
-          function replenish() {
-            looping = true;
-            while (running < limit && !done) {
-              var elem = nextElem();
-              if (elem === null) {
-                done = true;
-                if (running <= 0) {
-                  callback(null);
-                }
-                return;
-              }
-              running += 1;
-              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
+            if (this.#hasDisposeAfter) {
+              this.#disposed?.push([v, k, reason]);
             }
-            looping = false;
           }
-          replenish();
-        };
-      };
-      function eachOfLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
-      }
-      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
-      function eachOfArrayLike(coll, iteratee, callback) {
-        callback = once(callback);
-        var index2 = 0, completed = 0, { length } = coll, canceled = false;
-        if (length === 0) {
-          callback(null);
         }
-        function iteratorCallback(err, value) {
-          if (err === false) {
-            canceled = true;
-          }
-          if (canceled === true) return;
-          if (err) {
-            callback(err);
-          } else if (++completed === length || value === breakLoop) {
-            callback(null);
-          }
+        this.#keyMap.clear();
+        this.#valList.fill(void 0);
+        this.#keyList.fill(void 0);
+        if (this.#ttls && this.#starts) {
+          this.#ttls.fill(0);
+          this.#starts.fill(0);
         }
-        for (; index2 < length; index2++) {
-          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
+        if (this.#sizes) {
+          this.#sizes.fill(0);
+        }
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free.length = 0;
+        this.#calculatedSize = 0;
+        this.#size = 0;
+        if (this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
         }
       }
-      function eachOfGeneric(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, Infinity, iteratee, callback);
+    };
+    exports2.LRUCache = LRUCache;
+  }
+});
+
+// node_modules/minipass/dist/commonjs/index.js
+var require_commonjs22 = __commonJS({
+  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
+    var proc = typeof process === "object" && process ? process : {
+      stdout: null,
+      stderr: null
+    };
+    var node_events_1 = require("node:events");
+    var node_stream_1 = __importDefault2(require("node:stream"));
+    var node_string_decoder_1 = require("node:string_decoder");
+    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
+    exports2.isStream = isStream;
+    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
+    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
+    exports2.isReadable = isReadable;
+    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
+    exports2.isWritable = isWritable;
+    var EOF = /* @__PURE__ */ Symbol("EOF");
+    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
+    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
+    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
+    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
+    var CLOSED = /* @__PURE__ */ Symbol("closed");
+    var READ = /* @__PURE__ */ Symbol("read");
+    var FLUSH = /* @__PURE__ */ Symbol("flush");
+    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
+    var ENCODING = /* @__PURE__ */ Symbol("encoding");
+    var DECODER = /* @__PURE__ */ Symbol("decoder");
+    var FLOWING = /* @__PURE__ */ Symbol("flowing");
+    var PAUSED = /* @__PURE__ */ Symbol("paused");
+    var RESUME = /* @__PURE__ */ Symbol("resume");
+    var BUFFER = /* @__PURE__ */ Symbol("buffer");
+    var PIPES = /* @__PURE__ */ Symbol("pipes");
+    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
+    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
+    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
+    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
+    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
+    var ERROR = /* @__PURE__ */ Symbol("error");
+    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
+    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
+    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
+    var ASYNC = /* @__PURE__ */ Symbol("async");
+    var ABORT = /* @__PURE__ */ Symbol("abort");
+    var ABORTED = /* @__PURE__ */ Symbol("aborted");
+    var SIGNAL = /* @__PURE__ */ Symbol("signal");
+    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
+    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
+    var defer = (fn) => Promise.resolve().then(fn);
+    var nodefer = (fn) => fn();
+    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
+    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
+    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
+    var Pipe = class {
+      src;
+      dest;
+      opts;
+      ondrain;
+      constructor(src, dest, opts) {
+        this.src = src;
+        this.dest = dest;
+        this.opts = opts;
+        this.ondrain = () => src[RESUME]();
+        this.dest.on("drain", this.ondrain);
       }
-      function eachOf(coll, iteratee, callback) {
-        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
-        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
+      unpipe() {
+        this.dest.removeListener("drain", this.ondrain);
       }
-      var eachOf$1 = awaitify(eachOf, 3);
-      function map2(coll, iteratee, callback) {
-        return _asyncMap(eachOf$1, coll, iteratee, callback);
+      // only here for the prototype
+      /* c8 ignore start */
+      proxyErrors(_er) {
       }
-      var map$1 = awaitify(map2, 3);
-      var applyEach = applyEach$1(map$1);
-      function eachOfSeries(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, 1, iteratee, callback);
+      /* c8 ignore stop */
+      end() {
+        this.unpipe();
+        if (this.opts.end)
+          this.dest.end();
       }
-      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
-      function mapSeries(coll, iteratee, callback) {
-        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
+    };
+    var PipeProxyErrors = class extends Pipe {
+      unpipe() {
+        this.src.removeListener("error", this.proxyErrors);
+        super.unpipe();
       }
-      var mapSeries$1 = awaitify(mapSeries, 3);
-      var applyEachSeries = applyEach$1(mapSeries$1);
-      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
-      function promiseCallback() {
-        let resolve3, reject2;
-        function callback(err, ...args) {
-          if (err) return reject2(err);
-          resolve3(args.length > 1 ? args : args[0]);
-        }
-        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
-          resolve3 = res, reject2 = rej;
-        });
-        return callback;
+      constructor(src, dest, opts) {
+        super(src, dest, opts);
+        this.proxyErrors = (er) => dest.emit("error", er);
+        src.on("error", this.proxyErrors);
       }
-      function auto(tasks, concurrency, callback) {
-        if (typeof concurrency !== "number") {
-          callback = concurrency;
-          concurrency = null;
-        }
-        callback = once(callback || promiseCallback());
-        var numTasks = Object.keys(tasks).length;
-        if (!numTasks) {
-          return callback(null);
-        }
-        if (!concurrency) {
-          concurrency = numTasks;
-        }
-        var results = {};
-        var runningTasks = 0;
-        var canceled = false;
-        var hasError = false;
-        var listeners = /* @__PURE__ */ Object.create(null);
-        var readyTasks = [];
-        var readyToCheck = [];
-        var uncheckedDependencies = {};
-        Object.keys(tasks).forEach((key) => {
-          var task = tasks[key];
-          if (!Array.isArray(task)) {
-            enqueueTask(key, [task]);
-            readyToCheck.push(key);
-            return;
-          }
-          var dependencies = task.slice(0, task.length - 1);
-          var remainingDependencies = dependencies.length;
-          if (remainingDependencies === 0) {
-            enqueueTask(key, task);
-            readyToCheck.push(key);
-            return;
-          }
-          uncheckedDependencies[key] = remainingDependencies;
-          dependencies.forEach((dependencyName) => {
-            if (!tasks[dependencyName]) {
-              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
-            }
-            addListener(dependencyName, () => {
-              remainingDependencies--;
-              if (remainingDependencies === 0) {
-                enqueueTask(key, task);
-              }
-            });
-          });
-        });
-        checkForDeadlocks();
-        processQueue();
-        function enqueueTask(key, task) {
-          readyTasks.push(() => runTask(key, task));
+    };
+    var isObjectModeOptions = (o) => !!o.objectMode;
+    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
+    var Minipass = class extends node_events_1.EventEmitter {
+      [FLOWING] = false;
+      [PAUSED] = false;
+      [PIPES] = [];
+      [BUFFER] = [];
+      [OBJECTMODE];
+      [ENCODING];
+      [ASYNC];
+      [DECODER];
+      [EOF] = false;
+      [EMITTED_END] = false;
+      [EMITTING_END] = false;
+      [CLOSED] = false;
+      [EMITTED_ERROR] = null;
+      [BUFFERLENGTH] = 0;
+      [DESTROYED] = false;
+      [SIGNAL];
+      [ABORTED] = false;
+      [DATALISTENERS] = 0;
+      [DISCARDED] = false;
+      /**
+       * true if the stream can be written
+       */
+      writable = true;
+      /**
+       * true if the stream can be read
+       */
+      readable = true;
+      /**
+       * If `RType` is Buffer, then options do not need to be provided.
+       * Otherwise, an options object must be provided to specify either
+       * {@link Minipass.SharedOptions.objectMode} or
+       * {@link Minipass.SharedOptions.encoding}, as appropriate.
+       */
+      constructor(...args) {
+        const options = args[0] || {};
+        super();
+        if (options.objectMode && typeof options.encoding === "string") {
+          throw new TypeError("Encoding and objectMode may not be used together");
         }
-        function processQueue() {
-          if (canceled) return;
-          if (readyTasks.length === 0 && runningTasks === 0) {
-            return callback(null, results);
-          }
-          while (readyTasks.length && runningTasks < concurrency) {
-            var run = readyTasks.shift();
-            run();
-          }
+        if (isObjectModeOptions(options)) {
+          this[OBJECTMODE] = true;
+          this[ENCODING] = null;
+        } else if (isEncodingOptions(options)) {
+          this[ENCODING] = options.encoding;
+          this[OBJECTMODE] = false;
+        } else {
+          this[OBJECTMODE] = false;
+          this[ENCODING] = null;
         }
-        function addListener(taskName, fn) {
-          var taskListeners = listeners[taskName];
-          if (!taskListeners) {
-            taskListeners = listeners[taskName] = [];
-          }
-          taskListeners.push(fn);
+        this[ASYNC] = !!options.async;
+        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
+        if (options && options.debugExposeBuffer === true) {
+          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
         }
-        function taskComplete(taskName) {
-          var taskListeners = listeners[taskName] || [];
-          taskListeners.forEach((fn) => fn());
-          processQueue();
+        if (options && options.debugExposePipes === true) {
+          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
         }
-        function runTask(key, task) {
-          if (hasError) return;
-          var taskCallback = onlyOnce((err, ...result) => {
-            runningTasks--;
-            if (err === false) {
-              canceled = true;
-              return;
-            }
-            if (result.length < 2) {
-              [result] = result;
-            }
-            if (err) {
-              var safeResults = {};
-              Object.keys(results).forEach((rkey) => {
-                safeResults[rkey] = results[rkey];
-              });
-              safeResults[key] = result;
-              hasError = true;
-              listeners = /* @__PURE__ */ Object.create(null);
-              if (canceled) return;
-              callback(err, safeResults);
-            } else {
-              results[key] = result;
-              taskComplete(key);
-            }
-          });
-          runningTasks++;
-          var taskFn = wrapAsync(task[task.length - 1]);
-          if (task.length > 1) {
-            taskFn(results, taskCallback);
+        const { signal } = options;
+        if (signal) {
+          this[SIGNAL] = signal;
+          if (signal.aborted) {
+            this[ABORT]();
           } else {
-            taskFn(taskCallback);
-          }
-        }
-        function checkForDeadlocks() {
-          var currentTask;
-          var counter = 0;
-          while (readyToCheck.length) {
-            currentTask = readyToCheck.pop();
-            counter++;
-            getDependents(currentTask).forEach((dependent) => {
-              if (--uncheckedDependencies[dependent] === 0) {
-                readyToCheck.push(dependent);
-              }
-            });
-          }
-          if (counter !== numTasks) {
-            throw new Error(
-              "async.auto cannot execute tasks due to a recursive dependency"
-            );
+            signal.addEventListener("abort", () => this[ABORT]());
           }
         }
-        function getDependents(taskName) {
-          var result = [];
-          Object.keys(tasks).forEach((key) => {
-            const task = tasks[key];
-            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
-              result.push(key);
-            }
-          });
-          return result;
-        }
-        return callback[PROMISE_SYMBOL];
       }
-      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
-      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
-      var FN_ARG_SPLIT = /,/;
-      var FN_ARG = /(=.+)?(\s*)$/;
-      function stripComments(string) {
-        let stripped = "";
-        let index2 = 0;
-        let endBlockComment = string.indexOf("*/");
-        while (index2 < string.length) {
-          if (string[index2] === "/" && string[index2 + 1] === "/") {
-            let endIndex = string.indexOf("\n", index2);
-            index2 = endIndex === -1 ? string.length : endIndex;
-          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
-            let endIndex = string.indexOf("*/", index2);
-            if (endIndex !== -1) {
-              index2 = endIndex + 2;
-              endBlockComment = string.indexOf("*/", index2);
-            } else {
-              stripped += string[index2];
-              index2++;
-            }
-          } else {
-            stripped += string[index2];
-            index2++;
-          }
-        }
-        return stripped;
+      /**
+       * The amount of data stored in the buffer waiting to be read.
+       *
+       * For Buffer strings, this will be the total byte length.
+       * For string encoding streams, this will be the string character length,
+       * according to JavaScript's `string.length` logic.
+       * For objectMode streams, this is a count of the items waiting to be
+       * emitted.
+       */
+      get bufferLength() {
+        return this[BUFFERLENGTH];
       }
-      function parseParams(func) {
-        const src = stripComments(func.toString());
-        let match = src.match(FN_ARGS);
-        if (!match) {
-          match = src.match(ARROW_FN_ARGS);
-        }
-        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
-        let [, args] = match;
-        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
+      /**
+       * The `BufferEncoding` currently in use, or `null`
+       */
+      get encoding() {
+        return this[ENCODING];
       }
-      function autoInject(tasks, callback) {
-        var newTasks = {};
-        Object.keys(tasks).forEach((key) => {
-          var taskFn = tasks[key];
-          var params;
-          var fnIsAsync = isAsync(taskFn);
-          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
-          if (Array.isArray(taskFn)) {
-            params = [...taskFn];
-            taskFn = params.pop();
-            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
-          } else if (hasNoDeps) {
-            newTasks[key] = taskFn;
-          } else {
-            params = parseParams(taskFn);
-            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
-              throw new Error("autoInject task functions require explicit parameters.");
-            }
-            if (!fnIsAsync) params.pop();
-            newTasks[key] = params.concat(newTask);
-          }
-          function newTask(results, taskCb) {
-            var newArgs = params.map((name) => results[name]);
-            newArgs.push(taskCb);
-            wrapAsync(taskFn)(...newArgs);
-          }
-        });
-        return auto(newTasks, callback);
+      /**
+       * @deprecated - This is a read only property
+       */
+      set encoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
       }
-      class DLL {
-        constructor() {
-          this.head = this.tail = null;
-          this.length = 0;
-        }
-        removeLink(node) {
-          if (node.prev) node.prev.next = node.next;
-          else this.head = node.next;
-          if (node.next) node.next.prev = node.prev;
-          else this.tail = node.prev;
-          node.prev = node.next = null;
-          this.length -= 1;
-          return node;
-        }
-        empty() {
-          while (this.head) this.shift();
-          return this;
+      /**
+       * @deprecated - Encoding may only be set at instantiation time
+       */
+      setEncoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
+      }
+      /**
+       * True if this is an objectMode stream
+       */
+      get objectMode() {
+        return this[OBJECTMODE];
+      }
+      /**
+       * @deprecated - This is a read-only property
+       */
+      set objectMode(_om) {
+        throw new Error("objectMode must be set at instantiation time");
+      }
+      /**
+       * true if this is an async stream
+       */
+      get ["async"]() {
+        return this[ASYNC];
+      }
+      /**
+       * Set to true to make this stream async.
+       *
+       * Once set, it cannot be unset, as this would potentially cause incorrect
+       * behavior.  Ie, a sync stream can be made async, but an async stream
+       * cannot be safely made sync.
+       */
+      set ["async"](a) {
+        this[ASYNC] = this[ASYNC] || !!a;
+      }
+      // drop everything and get out of the flow completely
+      [ABORT]() {
+        this[ABORTED] = true;
+        this.emit("abort", this[SIGNAL]?.reason);
+        this.destroy(this[SIGNAL]?.reason);
+      }
+      /**
+       * True if the stream has been aborted.
+       */
+      get aborted() {
+        return this[ABORTED];
+      }
+      /**
+       * No-op setter. Stream aborted status is set via the AbortSignal provided
+       * in the constructor options.
+       */
+      set aborted(_2) {
+      }
+      write(chunk, encoding, cb) {
+        if (this[ABORTED])
+          return false;
+        if (this[EOF])
+          throw new Error("write after end");
+        if (this[DESTROYED]) {
+          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
+          return true;
         }
-        insertAfter(node, newNode) {
-          newNode.prev = node;
-          newNode.next = node.next;
-          if (node.next) node.next.prev = newNode;
-          else this.tail = newNode;
-          node.next = newNode;
-          this.length += 1;
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
         }
-        insertBefore(node, newNode) {
-          newNode.prev = node.prev;
-          newNode.next = node;
-          if (node.prev) node.prev.next = newNode;
-          else this.head = newNode;
-          node.prev = newNode;
-          this.length += 1;
+        if (!encoding)
+          encoding = "utf8";
+        const fn = this[ASYNC] ? defer : nodefer;
+        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
+          if (isArrayBufferView(chunk)) {
+            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+          } else if (isArrayBufferLike(chunk)) {
+            chunk = Buffer.from(chunk);
+          } else if (typeof chunk !== "string") {
+            throw new Error("Non-contiguous data written to non-objectMode stream");
+          }
         }
-        unshift(node) {
-          if (this.head) this.insertBefore(this.head, node);
-          else setInitial(this, node);
+        if (this[OBJECTMODE]) {
+          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+            this[FLUSH](true);
+          if (this[FLOWING])
+            this.emit("data", chunk);
+          else
+            this[BUFFERPUSH](chunk);
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
         }
-        push(node) {
-          if (this.tail) this.insertAfter(this.tail, node);
-          else setInitial(this, node);
+        if (!chunk.length) {
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
         }
-        shift() {
-          return this.head && this.removeLink(this.head);
+        if (typeof chunk === "string" && // unless it is a string already ready for us to use
+        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
+          chunk = Buffer.from(chunk, encoding);
         }
-        pop() {
-          return this.tail && this.removeLink(this.tail);
+        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
+          chunk = this[DECODER].write(chunk);
         }
-        toArray() {
-          return [...this];
+        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+          this[FLUSH](true);
+        if (this[FLOWING])
+          this.emit("data", chunk);
+        else
+          this[BUFFERPUSH](chunk);
+        if (this[BUFFERLENGTH] !== 0)
+          this.emit("readable");
+        if (cb)
+          fn(cb);
+        return this[FLOWING];
+      }
+      /**
+       * Low-level explicit read method.
+       *
+       * In objectMode, the argument is ignored, and one item is returned if
+       * available.
+       *
+       * `n` is the number of bytes (or in the case of encoding streams,
+       * characters) to consume. If `n` is not provided, then the entire buffer
+       * is returned, or `null` is returned if no data is available.
+       *
+       * If `n` is greater that the amount of data in the internal buffer,
+       * then `null` is returned.
+       */
+      read(n) {
+        if (this[DESTROYED])
+          return null;
+        this[DISCARDED] = false;
+        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
+          this[MAYBE_EMIT_END]();
+          return null;
         }
-        *[Symbol.iterator]() {
-          var cur = this.head;
-          while (cur) {
-            yield cur.data;
-            cur = cur.next;
-          }
+        if (this[OBJECTMODE])
+          n = null;
+        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
+          this[BUFFER] = [
+            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
+          ];
         }
-        remove(testFn) {
-          var curr = this.head;
-          while (curr) {
-            var { next } = curr;
-            if (testFn(curr)) {
-              this.removeLink(curr);
-            }
-            curr = next;
+        const ret = this[READ](n || null, this[BUFFER][0]);
+        this[MAYBE_EMIT_END]();
+        return ret;
+      }
+      [READ](n, chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERSHIFT]();
+        else {
+          const c = chunk;
+          if (n === c.length || n === null)
+            this[BUFFERSHIFT]();
+          else if (typeof c === "string") {
+            this[BUFFER][0] = c.slice(n);
+            chunk = c.slice(0, n);
+            this[BUFFERLENGTH] -= n;
+          } else {
+            this[BUFFER][0] = c.subarray(n);
+            chunk = c.subarray(0, n);
+            this[BUFFERLENGTH] -= n;
           }
-          return this;
         }
+        this.emit("data", chunk);
+        if (!this[BUFFER].length && !this[EOF])
+          this.emit("drain");
+        return chunk;
       }
-      function setInitial(dll, node) {
-        dll.length = 1;
-        dll.head = dll.tail = node;
-      }
-      function queue$1(worker, concurrency, payload) {
-        if (concurrency == null) {
-          concurrency = 1;
-        } else if (concurrency === 0) {
-          throw new RangeError("Concurrency must not be zero");
-        }
-        var _worker = wrapAsync(worker);
-        var numRunning = 0;
-        var workersList = [];
-        const events = {
-          error: [],
-          drain: [],
-          saturated: [],
-          unsaturated: [],
-          empty: []
-        };
-        function on(event, handler2) {
-          events[event].push(handler2);
-        }
-        function once2(event, handler2) {
-          const handleAndRemove = (...args) => {
-            off(event, handleAndRemove);
-            handler2(...args);
-          };
-          events[event].push(handleAndRemove);
+      end(chunk, encoding, cb) {
+        if (typeof chunk === "function") {
+          cb = chunk;
+          chunk = void 0;
         }
-        function off(event, handler2) {
-          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
-          if (!handler2) return events[event] = [];
-          events[event] = events[event].filter((ev) => ev !== handler2);
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
         }
-        function trigger(event, ...args) {
-          events[event].forEach((handler2) => handler2(...args));
+        if (chunk !== void 0)
+          this.write(chunk, encoding);
+        if (cb)
+          this.once("end", cb);
+        this[EOF] = true;
+        this.writable = false;
+        if (this[FLOWING] || !this[PAUSED])
+          this[MAYBE_EMIT_END]();
+        return this;
+      }
+      // don't let the internal resume be overwritten
+      [RESUME]() {
+        if (this[DESTROYED])
+          return;
+        if (!this[DATALISTENERS] && !this[PIPES].length) {
+          this[DISCARDED] = true;
         }
-        var processingScheduled = false;
-        function _insert(data, insertAtFront, rejectOnError, callback) {
-          if (callback != null && typeof callback !== "function") {
-            throw new Error("task callback must be a function");
-          }
-          q.started = true;
-          var res, rej;
-          function promiseCallback2(err, ...args) {
-            if (err) return rejectOnError ? rej(err) : res();
-            if (args.length <= 1) return res(args[0]);
-            res(args);
-          }
-          var item = q._createTaskItem(
-            data,
-            rejectOnError ? promiseCallback2 : callback || promiseCallback2
-          );
-          if (insertAtFront) {
-            q._tasks.unshift(item);
-          } else {
-            q._tasks.push(item);
-          }
-          if (!processingScheduled) {
-            processingScheduled = true;
-            setImmediate$1(() => {
-              processingScheduled = false;
-              q.process();
-            });
-          }
-          if (rejectOnError || !callback) {
-            return new Promise((resolve3, reject2) => {
-              res = resolve3;
-              rej = reject2;
-            });
-          }
+        this[PAUSED] = false;
+        this[FLOWING] = true;
+        this.emit("resume");
+        if (this[BUFFER].length)
+          this[FLUSH]();
+        else if (this[EOF])
+          this[MAYBE_EMIT_END]();
+        else
+          this.emit("drain");
+      }
+      /**
+       * Resume the stream if it is currently in a paused state
+       *
+       * If called when there are no pipe destinations or `data` event listeners,
+       * this will place the stream in a "discarded" state, where all data will
+       * be thrown away. The discarded state is removed if a pipe destination or
+       * data handler is added, if pause() is called, or if any synchronous or
+       * asynchronous iteration is started.
+       */
+      resume() {
+        return this[RESUME]();
+      }
+      /**
+       * Pause the stream
+       */
+      pause() {
+        this[FLOWING] = false;
+        this[PAUSED] = true;
+        this[DISCARDED] = false;
+      }
+      /**
+       * true if the stream has been forcibly destroyed
+       */
+      get destroyed() {
+        return this[DESTROYED];
+      }
+      /**
+       * true if the stream is currently in a flowing state, meaning that
+       * any writes will be immediately emitted.
+       */
+      get flowing() {
+        return this[FLOWING];
+      }
+      /**
+       * true if the stream is currently in a paused state
+       */
+      get paused() {
+        return this[PAUSED];
+      }
+      [BUFFERPUSH](chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] += 1;
+        else
+          this[BUFFERLENGTH] += chunk.length;
+        this[BUFFER].push(chunk);
+      }
+      [BUFFERSHIFT]() {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] -= 1;
+        else
+          this[BUFFERLENGTH] -= this[BUFFER][0].length;
+        return this[BUFFER].shift();
+      }
+      [FLUSH](noDrain = false) {
+        do {
+        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
+        if (!noDrain && !this[BUFFER].length && !this[EOF])
+          this.emit("drain");
+      }
+      [FLUSHCHUNK](chunk) {
+        this.emit("data", chunk);
+        return this[FLOWING];
+      }
+      /**
+       * Pipe all data emitted by this stream into the destination provided.
+       *
+       * Triggers the flow of data.
+       */
+      pipe(dest, opts) {
+        if (this[DESTROYED])
+          return dest;
+        this[DISCARDED] = false;
+        const ended = this[EMITTED_END];
+        opts = opts || {};
+        if (dest === proc.stdout || dest === proc.stderr)
+          opts.end = false;
+        else
+          opts.end = opts.end !== false;
+        opts.proxyErrors = !!opts.proxyErrors;
+        if (ended) {
+          if (opts.end)
+            dest.end();
+        } else {
+          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
+          if (this[ASYNC])
+            defer(() => this[RESUME]());
+          else
+            this[RESUME]();
         }
-        function _createCB(tasks) {
-          return function(err, ...args) {
-            numRunning -= 1;
-            for (var i = 0, l = tasks.length; i < l; i++) {
-              var task = tasks[i];
-              var index2 = workersList.indexOf(task);
-              if (index2 === 0) {
-                workersList.shift();
-              } else if (index2 > 0) {
-                workersList.splice(index2, 1);
-              }
-              task.callback(err, ...args);
-              if (err != null) {
-                trigger("error", err, task.data);
-              }
-            }
-            if (numRunning <= q.concurrency - q.buffer) {
-              trigger("unsaturated");
-            }
-            if (q.idle()) {
-              trigger("drain");
+        return dest;
+      }
+      /**
+       * Fully unhook a piped destination stream.
+       *
+       * If the destination stream was the only consumer of this stream (ie,
+       * there are no other piped destinations or `'data'` event listeners)
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      unpipe(dest) {
+        const p = this[PIPES].find((p2) => p2.dest === dest);
+        if (p) {
+          if (this[PIPES].length === 1) {
+            if (this[FLOWING] && this[DATALISTENERS] === 0) {
+              this[FLOWING] = false;
             }
-            q.process();
-          };
+            this[PIPES] = [];
+          } else
+            this[PIPES].splice(this[PIPES].indexOf(p), 1);
+          p.unpipe();
         }
-        function _maybeDrain(data) {
-          if (data.length === 0 && q.idle()) {
-            setImmediate$1(() => trigger("drain"));
-            return true;
+      }
+      /**
+       * Alias for {@link Minipass#on}
+       */
+      addListener(ev, handler2) {
+        return this.on(ev, handler2);
+      }
+      /**
+       * Mostly identical to `EventEmitter.on`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * - Adding a 'data' event handler will trigger the flow of data
+       *
+       * - Adding a 'readable' event handler when there is data waiting to be read
+       *   will cause 'readable' to be emitted immediately.
+       *
+       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
+       *   already passed will cause the event to be emitted immediately and all
+       *   handlers removed.
+       *
+       * - Adding an 'error' event handler after an error has been emitted will
+       *   cause the event to be re-emitted immediately with the error previously
+       *   raised.
+       */
+      on(ev, handler2) {
+        const ret = super.on(ev, handler2);
+        if (ev === "data") {
+          this[DISCARDED] = false;
+          this[DATALISTENERS]++;
+          if (!this[PIPES].length && !this[FLOWING]) {
+            this[RESUME]();
           }
-          return false;
+        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
+          super.emit("readable");
+        } else if (isEndish(ev) && this[EMITTED_END]) {
+          super.emit(ev);
+          this.removeAllListeners(ev);
+        } else if (ev === "error" && this[EMITTED_ERROR]) {
+          const h = handler2;
+          if (this[ASYNC])
+            defer(() => h.call(this, this[EMITTED_ERROR]));
+          else
+            h.call(this, this[EMITTED_ERROR]);
         }
-        const eventMethod = (name) => (handler2) => {
-          if (!handler2) {
-            return new Promise((resolve3, reject2) => {
-              once2(name, (err, data) => {
-                if (err) return reject2(err);
-                resolve3(data);
-              });
-            });
-          }
-          off(name);
-          on(name, handler2);
-        };
-        var isProcessing = false;
-        var q = {
-          _tasks: new DLL(),
-          _createTaskItem(data, callback) {
-            return {
-              data,
-              callback
-            };
-          },
-          *[Symbol.iterator]() {
-            yield* q._tasks[Symbol.iterator]();
-          },
-          concurrency,
-          payload,
-          buffer: concurrency / 4,
-          started: false,
-          paused: false,
-          push(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, false, callback));
-            }
-            return _insert(data, false, false, callback);
-          },
-          pushAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, true, callback));
-            }
-            return _insert(data, false, true, callback);
-          },
-          kill() {
-            off();
-            q._tasks.empty();
-          },
-          unshift(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, false, callback));
-            }
-            return _insert(data, true, false, callback);
-          },
-          unshiftAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, true, callback));
-            }
-            return _insert(data, true, true, callback);
-          },
-          remove(testFn) {
-            q._tasks.remove(testFn);
-          },
-          process() {
-            if (isProcessing) {
-              return;
-            }
-            isProcessing = true;
-            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
-              var tasks = [], data = [];
-              var l = q._tasks.length;
-              if (q.payload) l = Math.min(l, q.payload);
-              for (var i = 0; i < l; i++) {
-                var node = q._tasks.shift();
-                tasks.push(node);
-                workersList.push(node);
-                data.push(node.data);
-              }
-              numRunning += 1;
-              if (q._tasks.length === 0) {
-                trigger("empty");
-              }
-              if (numRunning === q.concurrency) {
-                trigger("saturated");
-              }
-              var cb = onlyOnce(_createCB(tasks));
-              _worker(data, cb);
-            }
-            isProcessing = false;
-          },
-          length() {
-            return q._tasks.length;
-          },
-          running() {
-            return numRunning;
-          },
-          workersList() {
-            return workersList;
-          },
-          idle() {
-            return q._tasks.length + numRunning === 0;
-          },
-          pause() {
-            q.paused = true;
-          },
-          resume() {
-            if (q.paused === false) {
-              return;
-            }
-            q.paused = false;
-            setImmediate$1(q.process);
-          }
-        };
-        Object.defineProperties(q, {
-          saturated: {
-            writable: false,
-            value: eventMethod("saturated")
-          },
-          unsaturated: {
-            writable: false,
-            value: eventMethod("unsaturated")
-          },
-          empty: {
-            writable: false,
-            value: eventMethod("empty")
-          },
-          drain: {
-            writable: false,
-            value: eventMethod("drain")
-          },
-          error: {
-            writable: false,
-            value: eventMethod("error")
-          }
-        });
-        return q;
-      }
-      function cargo$1(worker, payload) {
-        return queue$1(worker, 1, payload);
+        return ret;
       }
-      function cargo(worker, concurrency, payload) {
-        return queue$1(worker, concurrency, payload);
+      /**
+       * Alias for {@link Minipass#off}
+       */
+      removeListener(ev, handler2) {
+        return this.off(ev, handler2);
       }
-      function reduce(coll, memo, iteratee, callback) {
-        callback = once(callback);
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfSeries$1(coll, (x, i, iterCb) => {
-          _iteratee(memo, x, (err, v) => {
-            memo = v;
-            iterCb(err);
-          });
-        }, (err) => callback(err, memo));
+      /**
+       * Mostly identical to `EventEmitter.off`
+       *
+       * If a 'data' event handler is removed, and it was the last consumer
+       * (ie, there are no pipe destinations or other 'data' event listeners),
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      off(ev, handler2) {
+        const ret = super.off(ev, handler2);
+        if (ev === "data") {
+          this[DATALISTENERS] = this.listeners("data").length;
+          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
+          }
+        }
+        return ret;
       }
-      var reduce$1 = awaitify(reduce, 4);
-      function seq2(...functions) {
-        var _functions = functions.map(wrapAsync);
-        return function(...args) {
-          var that = this;
-          var cb = args[args.length - 1];
-          if (typeof cb == "function") {
-            args.pop();
-          } else {
-            cb = promiseCallback();
+      /**
+       * Mostly identical to `EventEmitter.removeAllListeners`
+       *
+       * If all 'data' event handlers are removed, and they were the last consumer
+       * (ie, there are no pipe destinations), then the flow of data will stop
+       * until there is another consumer or {@link Minipass#resume} is explicitly
+       * called.
+       */
+      removeAllListeners(ev) {
+        const ret = super.removeAllListeners(ev);
+        if (ev === "data" || ev === void 0) {
+          this[DATALISTENERS] = 0;
+          if (!this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
           }
-          reduce$1(
-            _functions,
-            args,
-            (newargs, fn, iterCb) => {
-              fn.apply(that, newargs.concat((err, ...nextargs) => {
-                iterCb(err, nextargs);
-              }));
-            },
-            (err, results) => cb(err, ...results)
-          );
-          return cb[PROMISE_SYMBOL];
-        };
+        }
+        return ret;
       }
-      function compose(...args) {
-        return seq2(...args.reverse());
+      /**
+       * true if the 'end' event has been emitted
+       */
+      get emittedEnd() {
+        return this[EMITTED_END];
       }
-      function mapLimit(coll, limit, iteratee, callback) {
-        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
+      [MAYBE_EMIT_END]() {
+        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
+          this[EMITTING_END] = true;
+          this.emit("end");
+          this.emit("prefinish");
+          this.emit("finish");
+          if (this[CLOSED])
+            this.emit("close");
+          this[EMITTING_END] = false;
+        }
       }
-      var mapLimit$1 = awaitify(mapLimit, 4);
-      function concatLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, ...args) => {
-            if (err) return iterCb(err);
-            return iterCb(err, args);
-          });
-        }, (err, mapResults) => {
-          var result = [];
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              result = result.concat(...mapResults[i]);
+      /**
+       * Mostly identical to `EventEmitter.emit`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * If the stream has been destroyed, and the event is something other
+       * than 'close' or 'error', then `false` is returned and no handlers
+       * are called.
+       *
+       * If the event is 'end', and has already been emitted, then the event
+       * is ignored. If the stream is in a paused or non-flowing state, then
+       * the event will be deferred until data flow resumes. If the stream is
+       * async, then handlers will be called on the next tick rather than
+       * immediately.
+       *
+       * If the event is 'close', and 'end' has not yet been emitted, then
+       * the event will be deferred until after 'end' is emitted.
+       *
+       * If the event is 'error', and an AbortSignal was provided for the stream,
+       * and there are no listeners, then the event is ignored, matching the
+       * behavior of node core streams in the presense of an AbortSignal.
+       *
+       * If the event is 'finish' or 'prefinish', then all listeners will be
+       * removed after emitting the event, to prevent double-firing.
+       */
+      emit(ev, ...args) {
+        const data = args[0];
+        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
+          return false;
+        } else if (ev === "data") {
+          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
+        } else if (ev === "end") {
+          return this[EMITEND]();
+        } else if (ev === "close") {
+          this[CLOSED] = true;
+          if (!this[EMITTED_END] && !this[DESTROYED])
+            return false;
+          const ret2 = super.emit("close");
+          this.removeAllListeners("close");
+          return ret2;
+        } else if (ev === "error") {
+          this[EMITTED_ERROR] = data;
+          super.emit(ERROR, data);
+          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "resume") {
+          const ret2 = super.emit("resume");
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "finish" || ev === "prefinish") {
+          const ret2 = super.emit(ev);
+          this.removeAllListeners(ev);
+          return ret2;
+        }
+        const ret = super.emit(ev, ...args);
+        this[MAYBE_EMIT_END]();
+        return ret;
+      }
+      [EMITDATA](data) {
+        for (const p of this[PIPES]) {
+          if (p.dest.write(data) === false)
+            this.pause();
+        }
+        const ret = this[DISCARDED] ? false : super.emit("data", data);
+        this[MAYBE_EMIT_END]();
+        return ret;
+      }
+      [EMITEND]() {
+        if (this[EMITTED_END])
+          return false;
+        this[EMITTED_END] = true;
+        this.readable = false;
+        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
+      }
+      [EMITEND2]() {
+        if (this[DECODER]) {
+          const data = this[DECODER].end();
+          if (data) {
+            for (const p of this[PIPES]) {
+              p.dest.write(data);
             }
+            if (!this[DISCARDED])
+              super.emit("data", data);
           }
-          return callback(err, result);
+        }
+        for (const p of this[PIPES]) {
+          p.end();
+        }
+        const ret = super.emit("end");
+        this.removeAllListeners("end");
+        return ret;
+      }
+      /**
+       * Return a Promise that resolves to an array of all emitted data once
+       * the stream ends.
+       */
+      async collect() {
+        const buf = Object.assign([], {
+          dataLength: 0
+        });
+        if (!this[OBJECTMODE])
+          buf.dataLength = 0;
+        const p = this.promise();
+        this.on("data", (c) => {
+          buf.push(c);
+          if (!this[OBJECTMODE])
+            buf.dataLength += c.length;
         });
+        await p;
+        return buf;
       }
-      var concatLimit$1 = awaitify(concatLimit, 4);
-      function concat(coll, iteratee, callback) {
-        return concatLimit$1(coll, Infinity, iteratee, callback);
+      /**
+       * Return a Promise that resolves to the concatenation of all emitted data
+       * once the stream ends.
+       *
+       * Not allowed on objectMode streams.
+       */
+      async concat() {
+        if (this[OBJECTMODE]) {
+          throw new Error("cannot concat in objectMode");
+        }
+        const buf = await this.collect();
+        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
       }
-      var concat$1 = awaitify(concat, 3);
-      function concatSeries(coll, iteratee, callback) {
-        return concatLimit$1(coll, 1, iteratee, callback);
+      /**
+       * Return a void Promise that resolves once the stream ends.
+       */
+      async promise() {
+        return new Promise((resolve3, reject) => {
+          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
+          this.on("error", (er) => reject(er));
+          this.on("end", () => resolve3());
+        });
       }
-      var concatSeries$1 = awaitify(concatSeries, 3);
-      function constant$1(...args) {
-        return function(...ignoredArgs) {
-          var callback = ignoredArgs.pop();
-          return callback(null, ...args);
+      /**
+       * Asynchronous `for await of` iteration.
+       *
+       * This will continue emitting all chunks until the stream terminates.
+       */
+      [Symbol.asyncIterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = async () => {
+          this.pause();
+          stopped = true;
+          return { value: void 0, done: true };
         };
-      }
-      function _createTester(check, getResult) {
-        return (eachfn, arr, _iteratee, cb) => {
-          var testPassed = false;
-          var testResult;
-          const iteratee = wrapAsync(_iteratee);
-          eachfn(arr, (value, _2, callback) => {
-            iteratee(value, (err, result) => {
-              if (err || err === false) return callback(err);
-              if (check(result) && !testResult) {
-                testPassed = true;
-                testResult = getResult(true, value);
-                return callback(null, breakLoop);
-              }
-              callback();
-            });
-          }, (err) => {
-            if (err) return cb(err);
-            cb(null, testPassed ? testResult : getResult(false));
+        const next = () => {
+          if (stopped)
+            return stop();
+          const res = this.read();
+          if (res !== null)
+            return Promise.resolve({ done: false, value: res });
+          if (this[EOF])
+            return stop();
+          let resolve3;
+          let reject;
+          const onerr = (er) => {
+            this.off("data", ondata);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            reject(er);
+          };
+          const ondata = (value) => {
+            this.off("error", onerr);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            this.pause();
+            resolve3({ value, done: !!this[EOF] });
+          };
+          const onend = () => {
+            this.off("error", onerr);
+            this.off("data", ondata);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            resolve3({ done: true, value: void 0 });
+          };
+          const ondestroy = () => onerr(new Error("stream destroyed"));
+          return new Promise((res2, rej) => {
+            reject = rej;
+            resolve3 = res2;
+            this.once(DESTROYED, ondestroy);
+            this.once("error", onerr);
+            this.once("end", onend);
+            this.once("data", ondata);
           });
         };
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.asyncIterator]() {
+            return this;
+          }
+        };
       }
-      function detect(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
+      /**
+       * Synchronous `for of` iteration.
+       *
+       * The iteration will terminate when the internal buffer runs out, even
+       * if the stream has not yet terminated.
+       */
+      [Symbol.iterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = () => {
+          this.pause();
+          this.off(ERROR, stop);
+          this.off(DESTROYED, stop);
+          this.off("end", stop);
+          stopped = true;
+          return { done: true, value: void 0 };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const value = this.read();
+          return value === null ? stop() : { done: false, value };
+        };
+        this.once("end", stop);
+        this.once(ERROR, stop);
+        this.once(DESTROYED, stop);
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.iterator]() {
+            return this;
+          }
+        };
       }
-      var detect$1 = awaitify(detect, 3);
-      function detectLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
+      /**
+       * Destroy a stream, preventing it from being used for any further purpose.
+       *
+       * If the stream has a `close()` method, then it will be called on
+       * destruction.
+       *
+       * After destruction, any attempt to write data, read data, or emit most
+       * events will be ignored.
+       *
+       * If an error argument is provided, then it will be emitted in an
+       * 'error' event.
+       */
+      destroy(er) {
+        if (this[DESTROYED]) {
+          if (er)
+            this.emit("error", er);
+          else
+            this.emit(DESTROYED);
+          return this;
+        }
+        this[DESTROYED] = true;
+        this[DISCARDED] = true;
+        this[BUFFER].length = 0;
+        this[BUFFERLENGTH] = 0;
+        const wc = this;
+        if (typeof wc.close === "function" && !this[CLOSED])
+          wc.close();
+        if (er)
+          this.emit("error", er);
+        else
+          this.emit(DESTROYED);
+        return this;
       }
-      var detectLimit$1 = awaitify(detectLimit, 4);
-      function detectSeries(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
+      /**
+       * Alias for {@link isStream}
+       *
+       * Former export location, maintained for backwards compatibility.
+       *
+       * @deprecated
+       */
+      static get isStream() {
+        return exports2.isStream;
       }
-      var detectSeries$1 = awaitify(detectSeries, 3);
-      function consoleFunc(name) {
-        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
-          if (typeof console === "object") {
-            if (err) {
-              if (console.error) {
-                console.error(err);
-              }
-            } else if (console[name]) {
-              resultArgs.forEach((x) => console[name](x));
-            }
-          }
-        });
+    };
+    exports2.Minipass = Minipass;
+  }
+});
+
+// node_modules/path-scurry/dist/commonjs/index.js
+var require_commonjs23 = __commonJS({
+  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      var dir = consoleFunc("dir");
-      function doWhilst(iteratee, test, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results;
-        function next(err, ...args) {
-          if (err) return callback(err);
-          if (err === false) return;
-          results = args;
-          _test(...args, check);
-        }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
-        }
-        return check(null, true);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      var doWhilst$1 = awaitify(doWhilst, 3);
-      function doUntil(iteratee, test, callback) {
-        const _test = wrapAsync(test);
-        return doWhilst$1(iteratee, (...args) => {
-          const cb = args.pop();
-          _test(...args, (err, truth) => cb(err, !truth));
-        }, callback);
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
+    var lru_cache_1 = require_commonjs21();
+    var node_path_1 = require("node:path");
+    var node_url_1 = require("node:url");
+    var fs_1 = require("fs");
+    var actualFS = __importStar2(require("node:fs"));
+    var realpathSync = fs_1.realpathSync.native;
+    var promises_1 = require("node:fs/promises");
+    var minipass_1 = require_commonjs22();
+    var defaultFS = {
+      lstatSync: fs_1.lstatSync,
+      readdir: fs_1.readdir,
+      readdirSync: fs_1.readdirSync,
+      readlinkSync: fs_1.readlinkSync,
+      realpathSync,
+      promises: {
+        lstat: promises_1.lstat,
+        readdir: promises_1.readdir,
+        readlink: promises_1.readlink,
+        realpath: promises_1.realpath
       }
-      function _withoutIndex(iteratee) {
-        return (value, index2, callback) => iteratee(value, callback);
+    };
+    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
+      ...defaultFS,
+      ...fsOption,
+      promises: {
+        ...defaultFS.promises,
+        ...fsOption.promises || {}
       }
-      function eachLimit$2(coll, iteratee, callback) {
-        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+    };
+    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
+    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+    var eitherSep = /[\\\/]/;
+    var UNKNOWN = 0;
+    var IFIFO = 1;
+    var IFCHR = 2;
+    var IFDIR = 4;
+    var IFBLK = 6;
+    var IFREG = 8;
+    var IFLNK = 10;
+    var IFSOCK = 12;
+    var IFMT = 15;
+    var IFMT_UNKNOWN = ~IFMT;
+    var READDIR_CALLED = 16;
+    var LSTAT_CALLED = 32;
+    var ENOTDIR = 64;
+    var ENOENT = 128;
+    var ENOREADLINK = 256;
+    var ENOREALPATH = 512;
+    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
+    var TYPEMASK = 1023;
+    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
+    var normalizeCache = /* @__PURE__ */ new Map();
+    var normalize2 = (s) => {
+      const c = normalizeCache.get(s);
+      if (c)
+        return c;
+      const n = s.normalize("NFKD");
+      normalizeCache.set(s, n);
+      return n;
+    };
+    var normalizeNocaseCache = /* @__PURE__ */ new Map();
+    var normalizeNocase = (s) => {
+      const c = normalizeNocaseCache.get(s);
+      if (c)
+        return c;
+      const n = normalize2(s.toLowerCase());
+      normalizeNocaseCache.set(s, n);
+      return n;
+    };
+    var ResolveCache = class extends lru_cache_1.LRUCache {
+      constructor() {
+        super({ max: 256 });
       }
-      var each = awaitify(eachLimit$2, 3);
-      function eachLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+    };
+    exports2.ResolveCache = ResolveCache;
+    var ChildrenCache = class extends lru_cache_1.LRUCache {
+      constructor(maxSize = 16 * 1024) {
+        super({
+          maxSize,
+          // parent + children
+          sizeCalculation: (a) => a.length + 1
+        });
+      }
+    };
+    exports2.ChildrenCache = ChildrenCache;
+    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
+    var PathBase = class {
+      /**
+       * the basename of this path
+       *
+       * **Important**: *always* test the path name against any test string
+       * usingthe {@link isNamed} method, and not by directly comparing this
+       * string. Otherwise, unicode path strings that the system sees as identical
+       * will not be properly treated as the same path, leading to incorrect
+       * behavior and possible security issues.
+       */
+      name;
+      /**
+       * the Path entry corresponding to the path root.
+       *
+       * @internal
+       */
+      root;
+      /**
+       * All roots found within the current PathScurry family
+       *
+       * @internal
+       */
+      roots;
+      /**
+       * a reference to the parent path, or undefined in the case of root entries
+       *
+       * @internal
+       */
+      parent;
+      /**
+       * boolean indicating whether paths are compared case-insensitively
+       * @internal
+       */
+      nocase;
+      /**
+       * boolean indicating that this path is the current working directory
+       * of the PathScurry collection that contains it.
+       */
+      isCWD = false;
+      // potential default fs override
+      #fs;
+      // Stats fields
+      #dev;
+      get dev() {
+        return this.#dev;
       }
-      var eachLimit$1 = awaitify(eachLimit, 4);
-      function eachSeries(coll, iteratee, callback) {
-        return eachLimit$1(coll, 1, iteratee, callback);
+      #mode;
+      get mode() {
+        return this.#mode;
       }
-      var eachSeries$1 = awaitify(eachSeries, 3);
-      function ensureAsync(fn) {
-        if (isAsync(fn)) return fn;
-        return function(...args) {
-          var callback = args.pop();
-          var sync = true;
-          args.push((...innerArgs) => {
-            if (sync) {
-              setImmediate$1(() => callback(...innerArgs));
-            } else {
-              callback(...innerArgs);
-            }
-          });
-          fn.apply(this, args);
-          sync = false;
-        };
+      #nlink;
+      get nlink() {
+        return this.#nlink;
       }
-      function every(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
+      #uid;
+      get uid() {
+        return this.#uid;
       }
-      var every$1 = awaitify(every, 3);
-      function everyLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      #gid;
+      get gid() {
+        return this.#gid;
       }
-      var everyLimit$1 = awaitify(everyLimit, 4);
-      function everySeries(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
+      #rdev;
+      get rdev() {
+        return this.#rdev;
       }
-      var everySeries$1 = awaitify(everySeries, 3);
-      function filterArray(eachfn, arr, iteratee, callback) {
-        var truthValues = new Array(arr.length);
-        eachfn(arr, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            truthValues[index2] = !!v;
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          var results = [];
-          for (var i = 0; i < arr.length; i++) {
-            if (truthValues[i]) results.push(arr[i]);
-          }
-          callback(null, results);
-        });
+      #blksize;
+      get blksize() {
+        return this.#blksize;
       }
-      function filterGeneric(eachfn, coll, iteratee, callback) {
-        var results = [];
-        eachfn(coll, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            if (err) return iterCb(err);
-            if (v) {
-              results.push({ index: index2, value: x });
-            }
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
-        });
+      #ino;
+      get ino() {
+        return this.#ino;
       }
-      function _filter(eachfn, coll, iteratee, callback) {
-        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
-        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
+      #size;
+      get size() {
+        return this.#size;
       }
-      function filter(coll, iteratee, callback) {
-        return _filter(eachOf$1, coll, iteratee, callback);
+      #blocks;
+      get blocks() {
+        return this.#blocks;
       }
-      var filter$1 = awaitify(filter, 3);
-      function filterLimit(coll, limit, iteratee, callback) {
-        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
+      #atimeMs;
+      get atimeMs() {
+        return this.#atimeMs;
       }
-      var filterLimit$1 = awaitify(filterLimit, 4);
-      function filterSeries(coll, iteratee, callback) {
-        return _filter(eachOfSeries$1, coll, iteratee, callback);
+      #mtimeMs;
+      get mtimeMs() {
+        return this.#mtimeMs;
       }
-      var filterSeries$1 = awaitify(filterSeries, 3);
-      function forever(fn, errback) {
-        var done = onlyOnce(errback);
-        var task = wrapAsync(ensureAsync(fn));
-        function next(err) {
-          if (err) return done(err);
-          if (err === false) return;
-          task(next);
-        }
-        return next();
+      #ctimeMs;
+      get ctimeMs() {
+        return this.#ctimeMs;
       }
-      var forever$1 = awaitify(forever, 2);
-      function groupByLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, key) => {
-            if (err) return iterCb(err);
-            return iterCb(err, { key, val });
-          });
-        }, (err, mapResults) => {
-          var result = {};
-          var { hasOwnProperty } = Object.prototype;
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              var { key } = mapResults[i];
-              var { val } = mapResults[i];
-              if (hasOwnProperty.call(result, key)) {
-                result[key].push(val);
-              } else {
-                result[key] = [val];
-              }
-            }
-          }
-          return callback(err, result);
-        });
+      #birthtimeMs;
+      get birthtimeMs() {
+        return this.#birthtimeMs;
       }
-      var groupByLimit$1 = awaitify(groupByLimit, 4);
-      function groupBy(coll, iteratee, callback) {
-        return groupByLimit$1(coll, Infinity, iteratee, callback);
+      #atime;
+      get atime() {
+        return this.#atime;
       }
-      function groupBySeries(coll, iteratee, callback) {
-        return groupByLimit$1(coll, 1, iteratee, callback);
+      #mtime;
+      get mtime() {
+        return this.#mtime;
       }
-      var log = consoleFunc("log");
-      function mapValuesLimit(obj, limit, iteratee, callback) {
-        callback = once(callback);
-        var newObj = {};
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfLimit$2(limit)(obj, (val, key, next) => {
-          _iteratee(val, key, (err, result) => {
-            if (err) return next(err);
-            newObj[key] = result;
-            next(err);
-          });
-        }, (err) => callback(err, newObj));
+      #ctime;
+      get ctime() {
+        return this.#ctime;
       }
-      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
-      function mapValues(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
+      #birthtime;
+      get birthtime() {
+        return this.#birthtime;
       }
-      function mapValuesSeries(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, 1, iteratee, callback);
+      #matchName;
+      #depth;
+      #fullpath;
+      #fullpathPosix;
+      #relative;
+      #relativePosix;
+      #type;
+      #children;
+      #linkTarget;
+      #realpath;
+      /**
+       * This property is for compatibility with the Dirent class as of
+       * Node v20, where Dirent['parentPath'] refers to the path of the
+       * directory that was passed to readdir. For root entries, it's the path
+       * to the entry itself.
+       */
+      get parentPath() {
+        return (this.parent || this).fullpath();
       }
-      function memoize(fn, hasher = (v) => v) {
-        var memo = /* @__PURE__ */ Object.create(null);
-        var queues = /* @__PURE__ */ Object.create(null);
-        var _fn = wrapAsync(fn);
-        var memoized = initialParams((args, callback) => {
-          var key = hasher(...args);
-          if (key in memo) {
-            setImmediate$1(() => callback(null, ...memo[key]));
-          } else if (key in queues) {
-            queues[key].push(callback);
-          } else {
-            queues[key] = [callback];
-            _fn(...args, (err, ...resultArgs) => {
-              if (!err) {
-                memo[key] = resultArgs;
-              }
-              var q = queues[key];
-              delete queues[key];
-              for (var i = 0, l = q.length; i < l; i++) {
-                q[i](err, ...resultArgs);
-              }
-            });
-          }
-        });
-        memoized.memo = memo;
-        memoized.unmemoized = fn;
-        return memoized;
+      /**
+       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
+       * this property refers to the *parent* path, not the path object itself.
+       *
+       * @deprecated
+       */
+      get path() {
+        return this.parentPath;
       }
-      var _defer;
-      if (hasNextTick) {
-        _defer = process.nextTick;
-      } else if (hasSetImmediate) {
-        _defer = setImmediate;
-      } else {
-        _defer = fallback;
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        this.name = name;
+        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
+        this.#type = type2 & TYPEMASK;
+        this.nocase = nocase;
+        this.roots = roots;
+        this.root = root || this;
+        this.#children = children;
+        this.#fullpath = opts.fullpath;
+        this.#relative = opts.relative;
+        this.#relativePosix = opts.relativePosix;
+        this.parent = opts.parent;
+        if (this.parent) {
+          this.#fs = this.parent.#fs;
+        } else {
+          this.#fs = fsFromOption(opts.fs);
+        }
       }
-      var nextTick = wrap(_defer);
-      var _parallel = awaitify((eachfn, tasks, callback) => {
-        var results = isArrayLike(tasks) ? [] : {};
-        eachfn(tasks, (task, key, taskCb) => {
-          wrapAsync(task)((err, ...result) => {
-            if (result.length < 2) {
-              [result] = result;
-            }
-            results[key] = result;
-            taskCb(err);
-          });
-        }, (err) => callback(err, results));
-      }, 3);
-      function parallel(tasks, callback) {
-        return _parallel(eachOf$1, tasks, callback);
+      /**
+       * Returns the depth of the Path object from its root.
+       *
+       * For example, a path at `/foo/bar` would have a depth of 2.
+       */
+      depth() {
+        if (this.#depth !== void 0)
+          return this.#depth;
+        if (!this.parent)
+          return this.#depth = 0;
+        return this.#depth = this.parent.depth() + 1;
       }
-      function parallelLimit(tasks, limit, callback) {
-        return _parallel(eachOfLimit$2(limit), tasks, callback);
+      /**
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
       }
-      function queue(worker, concurrency) {
-        var _worker = wrapAsync(worker);
-        return queue$1((items, cb) => {
-          _worker(items[0], cb);
-        }, concurrency, 1);
+      /**
+       * Get the Path object referenced by the string path, resolved from this Path
+       */
+      resolve(path4) {
+        if (!path4) {
+          return this;
+        }
+        const rootPath = this.getRootString(path4);
+        const dir = path4.substring(rootPath.length);
+        const dirParts = dir.split(this.splitSep);
+        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
+        return result;
       }
-      class Heap {
-        constructor() {
-          this.heap = [];
-          this.pushCount = Number.MIN_SAFE_INTEGER;
+      #resolveParts(dirParts) {
+        let p = this;
+        for (const part of dirParts) {
+          p = p.child(part);
         }
-        get length() {
-          return this.heap.length;
+        return p;
+      }
+      /**
+       * Returns the cached children Path objects, if still available.  If they
+       * have fallen out of the cache, then returns an empty array, and resets the
+       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
+       * lookup.
+       *
+       * @internal
+       */
+      children() {
+        const cached = this.#children.get(this);
+        if (cached) {
+          return cached;
         }
-        empty() {
-          this.heap = [];
+        const children = Object.assign([], { provisional: 0 });
+        this.#children.set(this, children);
+        this.#type &= ~READDIR_CALLED;
+        return children;
+      }
+      /**
+       * Resolves a path portion and returns or creates the child Path.
+       *
+       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
+       * `'..'`.
+       *
+       * This should not be called directly.  If `pathPart` contains any path
+       * separators, it will lead to unsafe undefined behavior.
+       *
+       * Use `Path.resolve()` instead.
+       *
+       * @internal
+       */
+      child(pathPart, opts) {
+        if (pathPart === "" || pathPart === ".") {
           return this;
         }
-        percUp(index2) {
-          let p;
-          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[p];
-            this.heap[p] = t;
-            index2 = p;
-          }
+        if (pathPart === "..") {
+          return this.parent || this;
         }
-        percDown(index2) {
-          let l;
-          while ((l = leftChi(index2)) < this.heap.length) {
-            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
-              l = l + 1;
-            }
-            if (smaller(this.heap[index2], this.heap[l])) {
-              break;
-            }
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[l];
-            this.heap[l] = t;
-            index2 = l;
+        const children = this.children();
+        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
+        for (const p of children) {
+          if (p.#matchName === name) {
+            return p;
           }
         }
-        push(node) {
-          node.pushCount = ++this.pushCount;
-          this.heap.push(node);
-          this.percUp(this.heap.length - 1);
-        }
-        unshift(node) {
-          return this.heap.push(node);
+        const s = this.parent ? this.sep : "";
+        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
+        const pchild = this.newChild(pathPart, UNKNOWN, {
+          ...opts,
+          parent: this,
+          fullpath
+        });
+        if (!this.canReaddir()) {
+          pchild.#type |= ENOENT;
         }
-        shift() {
-          let [top] = this.heap;
-          this.heap[0] = this.heap[this.heap.length - 1];
-          this.heap.pop();
-          this.percDown(0);
-          return top;
+        children.push(pchild);
+        return pchild;
+      }
+      /**
+       * The relative path from the cwd. If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpath()
+       */
+      relative() {
+        if (this.isCWD)
+          return "";
+        if (this.#relative !== void 0) {
+          return this.#relative;
         }
-        toArray() {
-          return [...this];
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relative = this.name;
         }
-        *[Symbol.iterator]() {
-          for (let i = 0; i < this.heap.length; i++) {
-            yield this.heap[i].data;
-          }
+        const pv = p.relative();
+        return pv + (!pv || !p.parent ? "" : this.sep) + name;
+      }
+      /**
+       * The relative path from the cwd, using / as the path separator.
+       * If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpathPosix()
+       * On posix systems, this is identical to relative().
+       */
+      relativePosix() {
+        if (this.sep === "/")
+          return this.relative();
+        if (this.isCWD)
+          return "";
+        if (this.#relativePosix !== void 0)
+          return this.#relativePosix;
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relativePosix = this.fullpathPosix();
         }
-        remove(testFn) {
-          let j = 0;
-          for (let i = 0; i < this.heap.length; i++) {
-            if (!testFn(this.heap[i])) {
-              this.heap[j] = this.heap[i];
-              j++;
-            }
-          }
-          this.heap.splice(j);
-          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
-            this.percDown(i);
+        const pv = p.relativePosix();
+        return pv + (!pv || !p.parent ? "" : "/") + name;
+      }
+      /**
+       * The fully resolved path string for this Path entry
+       */
+      fullpath() {
+        if (this.#fullpath !== void 0) {
+          return this.#fullpath;
+        }
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#fullpath = this.name;
+        }
+        const pv = p.fullpath();
+        const fp = pv + (!p.parent ? "" : this.sep) + name;
+        return this.#fullpath = fp;
+      }
+      /**
+       * On platforms other than windows, this is identical to fullpath.
+       *
+       * On windows, this is overridden to return the forward-slash form of the
+       * full UNC path.
+       */
+      fullpathPosix() {
+        if (this.#fullpathPosix !== void 0)
+          return this.#fullpathPosix;
+        if (this.sep === "/")
+          return this.#fullpathPosix = this.fullpath();
+        if (!this.parent) {
+          const p2 = this.fullpath().replace(/\\/g, "/");
+          if (/^[a-z]:\//i.test(p2)) {
+            return this.#fullpathPosix = `//?/${p2}`;
+          } else {
+            return this.#fullpathPosix = p2;
           }
-          return this;
         }
+        const p = this.parent;
+        const pfpp = p.fullpathPosix();
+        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
+        return this.#fullpathPosix = fpp;
       }
-      function leftChi(i) {
-        return (i << 1) + 1;
+      /**
+       * Is the Path of an unknown type?
+       *
+       * Note that we might know *something* about it if there has been a previous
+       * filesystem operation, for example that it does not exist, or is not a
+       * link, or whether it has child entries.
+       */
+      isUnknown() {
+        return (this.#type & IFMT) === UNKNOWN;
       }
-      function parent(i) {
-        return (i + 1 >> 1) - 1;
+      isType(type2) {
+        return this[`is${type2}`]();
       }
-      function smaller(x, y) {
-        if (x.priority !== y.priority) {
-          return x.priority < y.priority;
-        } else {
-          return x.pushCount < y.pushCount;
-        }
+      getType() {
+        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
+          /* c8 ignore start */
+          this.isSocket() ? "Socket" : "Unknown"
+        );
       }
-      function priorityQueue(worker, concurrency) {
-        var q = queue(worker, concurrency);
-        var {
-          push,
-          pushAsync
-        } = q;
-        q._tasks = new Heap();
-        q._createTaskItem = ({ data, priority }, callback) => {
-          return {
-            data,
-            priority,
-            callback
-          };
-        };
-        function createDataItems(tasks, priority) {
-          if (!Array.isArray(tasks)) {
-            return { data: tasks, priority };
-          }
-          return tasks.map((data) => {
-            return { data, priority };
-          });
-        }
-        q.push = function(data, priority = 0, callback) {
-          return push(createDataItems(data, priority), callback);
-        };
-        q.pushAsync = function(data, priority = 0, callback) {
-          return pushAsync(createDataItems(data, priority), callback);
-        };
-        delete q.unshift;
-        delete q.unshiftAsync;
-        return q;
+      /**
+       * Is the Path a regular file?
+       */
+      isFile() {
+        return (this.#type & IFMT) === IFREG;
       }
-      function race(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
-        if (!tasks.length) return callback();
-        for (var i = 0, l = tasks.length; i < l; i++) {
-          wrapAsync(tasks[i])(callback);
-        }
+      /**
+       * Is the Path a directory?
+       */
+      isDirectory() {
+        return (this.#type & IFMT) === IFDIR;
       }
-      var race$1 = awaitify(race, 2);
-      function reduceRight(array, memo, iteratee, callback) {
-        var reversed = [...array].reverse();
-        return reduce$1(reversed, memo, iteratee, callback);
+      /**
+       * Is the path a character device?
+       */
+      isCharacterDevice() {
+        return (this.#type & IFMT) === IFCHR;
       }
-      function reflect(fn) {
-        var _fn = wrapAsync(fn);
-        return initialParams(function reflectOn(args, reflectCallback) {
-          args.push((error3, ...cbArgs) => {
-            let retVal = {};
-            if (error3) {
-              retVal.error = error3;
-            }
-            if (cbArgs.length > 0) {
-              var value = cbArgs;
-              if (cbArgs.length <= 1) {
-                [value] = cbArgs;
-              }
-              retVal.value = value;
-            }
-            reflectCallback(null, retVal);
-          });
-          return _fn.apply(this, args);
-        });
+      /**
+       * Is the path a block device?
+       */
+      isBlockDevice() {
+        return (this.#type & IFMT) === IFBLK;
       }
-      function reflectAll(tasks) {
-        var results;
-        if (Array.isArray(tasks)) {
-          results = tasks.map(reflect);
-        } else {
-          results = {};
-          Object.keys(tasks).forEach((key) => {
-            results[key] = reflect.call(this, tasks[key]);
-          });
-        }
-        return results;
+      /**
+       * Is the path a FIFO pipe?
+       */
+      isFIFO() {
+        return (this.#type & IFMT) === IFIFO;
       }
-      function reject$2(eachfn, arr, _iteratee, callback) {
-        const iteratee = wrapAsync(_iteratee);
-        return _filter(eachfn, arr, (value, cb) => {
-          iteratee(value, (err, v) => {
-            cb(err, !v);
-          });
-        }, callback);
+      /**
+       * Is the path a socket?
+       */
+      isSocket() {
+        return (this.#type & IFMT) === IFSOCK;
       }
-      function reject(coll, iteratee, callback) {
-        return reject$2(eachOf$1, coll, iteratee, callback);
+      /**
+       * Is the path a symbolic link?
+       */
+      isSymbolicLink() {
+        return (this.#type & IFLNK) === IFLNK;
       }
-      var reject$1 = awaitify(reject, 3);
-      function rejectLimit(coll, limit, iteratee, callback) {
-        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
+      /**
+       * Return the entry if it has been subject of a successful lstat, or
+       * undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* simply
+       * mean that we haven't called lstat on it.
+       */
+      lstatCached() {
+        return this.#type & LSTAT_CALLED ? this : void 0;
       }
-      var rejectLimit$1 = awaitify(rejectLimit, 4);
-      function rejectSeries(coll, iteratee, callback) {
-        return reject$2(eachOfSeries$1, coll, iteratee, callback);
+      /**
+       * Return the cached link target if the entry has been the subject of a
+       * successful readlink, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readlink() has been called at some point.
+       */
+      readlinkCached() {
+        return this.#linkTarget;
       }
-      var rejectSeries$1 = awaitify(rejectSeries, 3);
-      function constant(value) {
-        return function() {
-          return value;
-        };
+      /**
+       * Returns the cached realpath target if the entry has been the subject
+       * of a successful realpath, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * realpath() has been called at some point.
+       */
+      realpathCached() {
+        return this.#realpath;
       }
-      const DEFAULT_TIMES = 5;
-      const DEFAULT_INTERVAL = 0;
-      function retry2(opts, task, callback) {
-        var options = {
-          times: DEFAULT_TIMES,
-          intervalFunc: constant(DEFAULT_INTERVAL)
-        };
-        if (arguments.length < 3 && typeof opts === "function") {
-          callback = task || promiseCallback();
-          task = opts;
-        } else {
-          parseTimes(options, opts);
-          callback = callback || promiseCallback();
+      /**
+       * Returns the cached child Path entries array if the entry has been the
+       * subject of a successful readdir(), or [] otherwise.
+       *
+       * Does not read the filesystem, so an empty array *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readdir() has been called recently enough to still be valid.
+       */
+      readdirCached() {
+        const children = this.children();
+        return children.slice(0, children.provisional);
+      }
+      /**
+       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
+       * any indication that readlink will definitely fail.
+       *
+       * Returns false if the path is known to not be a symlink, if a previous
+       * readlink failed, or if the entry does not exist.
+       */
+      canReadlink() {
+        if (this.#linkTarget)
+          return true;
+        if (!this.parent)
+          return false;
+        const ifmt = this.#type & IFMT;
+        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      }
+      /**
+       * Return true if readdir has previously been successfully called on this
+       * path, indicating that cachedReaddir() is likely valid.
+       */
+      calledReaddir() {
+        return !!(this.#type & READDIR_CALLED);
+      }
+      /**
+       * Returns true if the path is known to not exist. That is, a previous lstat
+       * or readdir failed to verify its existence when that would have been
+       * expected, or a parent entry was marked either enoent or enotdir.
+       */
+      isENOENT() {
+        return !!(this.#type & ENOENT);
+      }
+      /**
+       * Return true if the path is a match for the given path name.  This handles
+       * case sensitivity and unicode normalization.
+       *
+       * Note: even on case-sensitive systems, it is **not** safe to test the
+       * equality of the `.name` property to determine whether a given pathname
+       * matches, due to unicode normalization mismatches.
+       *
+       * Always use this method instead of testing the `path.name` property
+       * directly.
+       */
+      isNamed(n) {
+        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+      }
+      /**
+       * Return the Path object corresponding to the target of a symbolic link.
+       *
+       * If the Path is not a symbolic link, or if the readlink call fails for any
+       * reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       */
+      async readlink() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
         }
-        if (typeof task !== "function") {
-          throw new Error("Invalid arguments for async.retry");
+        if (!this.canReadlink()) {
+          return void 0;
         }
-        var _task = wrapAsync(task);
-        var attempt = 1;
-        function retryAttempt() {
-          _task((err, ...args) => {
-            if (err === false) return;
-            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
-              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
-            } else {
-              callback(err, ...args);
-            }
-          });
+        if (!this.parent) {
+          return void 0;
         }
-        retryAttempt();
-        return callback[PROMISE_SYMBOL];
-      }
-      function parseTimes(acc, t) {
-        if (typeof t === "object") {
-          acc.times = +t.times || DEFAULT_TIMES;
-          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
-          acc.errorFilter = t.errorFilter;
-        } else if (typeof t === "number" || typeof t === "string") {
-          acc.times = +t || DEFAULT_TIMES;
-        } else {
-          throw new Error("Invalid arguments for async.retry");
+        try {
+          const read = await this.#fs.promises.readlink(this.fullpath());
+          const linkTarget = (await this.parent.realpath())?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
+          }
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
         }
       }
-      function retryable(opts, task) {
-        if (!task) {
-          task = opts;
-          opts = null;
+      /**
+       * Synchronous {@link PathBase.readlink}
+       */
+      readlinkSync() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
         }
-        let arity = opts && opts.arity || task.length;
-        if (isAsync(task)) {
-          arity += 1;
+        if (!this.canReadlink()) {
+          return void 0;
         }
-        var _task = wrapAsync(task);
-        return initialParams((args, callback) => {
-          if (args.length < arity - 1 || callback == null) {
-            args.push(callback);
-            callback = promiseCallback();
-          }
-          function taskFn(cb) {
-            _task(...args, cb);
+        if (!this.parent) {
+          return void 0;
+        }
+        try {
+          const read = this.#fs.readlinkSync(this.fullpath());
+          const linkTarget = this.parent.realpathSync()?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
           }
-          if (opts) retry2(opts, taskFn, callback);
-          else retry2(taskFn, callback);
-          return callback[PROMISE_SYMBOL];
-        });
-      }
-      function series(tasks, callback) {
-        return _parallel(eachOfSeries$1, tasks, callback);
-      }
-      function some(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
-      }
-      var some$1 = awaitify(some, 3);
-      function someLimit(coll, limit, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
-      }
-      var someLimit$1 = awaitify(someLimit, 4);
-      function someSeries(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
+        }
       }
-      var someSeries$1 = awaitify(someSeries, 3);
-      function sortBy(coll, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return map$1(coll, (x, iterCb) => {
-          _iteratee(x, (err, criteria) => {
-            if (err) return iterCb(err);
-            iterCb(err, { value: x, criteria });
-          });
-        }, (err, results) => {
-          if (err) return callback(err);
-          callback(null, results.sort(comparator).map((v) => v.value));
-        });
-        function comparator(left, right) {
-          var a = left.criteria, b = right.criteria;
-          return a < b ? -1 : a > b ? 1 : 0;
+      #readdirSuccess(children) {
+        this.#type |= READDIR_CALLED;
+        for (let p = children.provisional; p < children.length; p++) {
+          const c = children[p];
+          if (c)
+            c.#markENOENT();
         }
       }
-      var sortBy$1 = awaitify(sortBy, 3);
-      function timeout(asyncFn, milliseconds, info7) {
-        var fn = wrapAsync(asyncFn);
-        return initialParams((args, callback) => {
-          var timedOut = false;
-          var timer;
-          function timeoutCallback() {
-            var name = asyncFn.name || "anonymous";
-            var error3 = new Error('Callback function "' + name + '" timed out.');
-            error3.code = "ETIMEDOUT";
-            if (info7) {
-              error3.info = info7;
-            }
-            timedOut = true;
-            callback(error3);
-          }
-          args.push((...cbArgs) => {
-            if (!timedOut) {
-              callback(...cbArgs);
-              clearTimeout(timer);
-            }
-          });
-          timer = setTimeout(timeoutCallback, milliseconds);
-          fn(...args);
-        });
+      #markENOENT() {
+        if (this.#type & ENOENT)
+          return;
+        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
+        this.#markChildrenENOENT();
       }
-      function range(size) {
-        var result = Array(size);
-        while (size--) {
-          result[size] = size;
+      #markChildrenENOENT() {
+        const children = this.children();
+        children.provisional = 0;
+        for (const p of children) {
+          p.#markENOENT();
         }
-        return result;
-      }
-      function timesLimit(count, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(range(count), limit, _iteratee, callback);
       }
-      function times(n, iteratee, callback) {
-        return timesLimit(n, Infinity, iteratee, callback);
+      #markENOREALPATH() {
+        this.#type |= ENOREALPATH;
+        this.#markENOTDIR();
       }
-      function timesSeries(n, iteratee, callback) {
-        return timesLimit(n, 1, iteratee, callback);
+      // save the information when we know the entry is not a dir
+      #markENOTDIR() {
+        if (this.#type & ENOTDIR)
+          return;
+        let t = this.#type;
+        if ((t & IFMT) === IFDIR)
+          t &= IFMT_UNKNOWN;
+        this.#type = t | ENOTDIR;
+        this.#markChildrenENOENT();
       }
-      function transform(coll, accumulator, iteratee, callback) {
-        if (arguments.length <= 3 && typeof accumulator === "function") {
-          callback = iteratee;
-          iteratee = accumulator;
-          accumulator = Array.isArray(coll) ? [] : {};
+      #readdirFail(code = "") {
+        if (code === "ENOTDIR" || code === "EPERM") {
+          this.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
+        } else {
+          this.children().provisional = 0;
         }
-        callback = once(callback || promiseCallback());
-        var _iteratee = wrapAsync(iteratee);
-        eachOf$1(coll, (v, k, cb) => {
-          _iteratee(accumulator, v, k, cb);
-        }, (err) => callback(err, accumulator));
-        return callback[PROMISE_SYMBOL];
-      }
-      function tryEach(tasks, callback) {
-        var error3 = null;
-        var result;
-        return eachSeries$1(tasks, (task, taskCb) => {
-          wrapAsync(task)((err, ...args) => {
-            if (err === false) return taskCb(err);
-            if (args.length < 2) {
-              [result] = args;
-            } else {
-              result = args;
-            }
-            error3 = err;
-            taskCb(err ? null : {});
-          });
-        }, () => callback(error3, result));
       }
-      var tryEach$1 = awaitify(tryEach);
-      function unmemoize(fn) {
-        return (...args) => {
-          return (fn.unmemoized || fn)(...args);
-        };
+      #lstatFail(code = "") {
+        if (code === "ENOTDIR") {
+          const p = this.parent;
+          p.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
+        }
       }
-      function whilst(test, iteratee, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results = [];
-        function next(err, ...rest) {
-          if (err) return callback(err);
-          results = rest;
-          if (err === false) return;
-          _test(check);
+      #readlinkFail(code = "") {
+        let ter = this.#type;
+        ter |= ENOREADLINK;
+        if (code === "ENOENT")
+          ter |= ENOENT;
+        if (code === "EINVAL" || code === "UNKNOWN") {
+          ter &= IFMT_UNKNOWN;
         }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
+        this.#type = ter;
+        if (code === "ENOTDIR" && this.parent) {
+          this.parent.#markENOTDIR();
         }
-        return _test(check);
       }
-      var whilst$1 = awaitify(whilst, 3);
-      function until(test, iteratee, callback) {
-        const _test = wrapAsync(test);
-        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
+      #readdirAddChild(e, c) {
+        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
       }
-      function waterfall(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
-        if (!tasks.length) return callback();
-        var taskIndex = 0;
-        function nextTask(args) {
-          var task = wrapAsync(tasks[taskIndex++]);
-          task(...args, onlyOnce(next));
+      #readdirAddNewChild(e, c) {
+        const type2 = entToType(e);
+        const child = this.newChild(e.name, type2, { parent: this });
+        const ifmt = child.#type & IFMT;
+        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
+          child.#type |= ENOTDIR;
         }
-        function next(err, ...args) {
-          if (err === false) return;
-          if (err || taskIndex === tasks.length) {
-            return callback(err, ...args);
+        c.unshift(child);
+        c.provisional++;
+        return child;
+      }
+      #readdirMaybePromoteChild(e, c) {
+        for (let p = c.provisional; p < c.length; p++) {
+          const pchild = c[p];
+          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
+          if (name !== pchild.#matchName) {
+            continue;
           }
-          nextTask(args);
+          return this.#readdirPromoteChild(e, pchild, p, c);
         }
-        nextTask([]);
       }
-      var waterfall$1 = awaitify(waterfall);
-      var index = {
-        apply,
-        applyEach,
-        applyEachSeries,
-        asyncify,
-        auto,
-        autoInject,
-        cargo: cargo$1,
-        cargoQueue: cargo,
-        compose,
-        concat: concat$1,
-        concatLimit: concatLimit$1,
-        concatSeries: concatSeries$1,
-        constant: constant$1,
-        detect: detect$1,
-        detectLimit: detectLimit$1,
-        detectSeries: detectSeries$1,
-        dir,
-        doUntil,
-        doWhilst: doWhilst$1,
-        each,
-        eachLimit: eachLimit$1,
-        eachOf: eachOf$1,
-        eachOfLimit: eachOfLimit$1,
-        eachOfSeries: eachOfSeries$1,
-        eachSeries: eachSeries$1,
-        ensureAsync,
-        every: every$1,
-        everyLimit: everyLimit$1,
-        everySeries: everySeries$1,
-        filter: filter$1,
-        filterLimit: filterLimit$1,
-        filterSeries: filterSeries$1,
-        forever: forever$1,
-        groupBy,
-        groupByLimit: groupByLimit$1,
-        groupBySeries,
-        log,
-        map: map$1,
-        mapLimit: mapLimit$1,
-        mapSeries: mapSeries$1,
-        mapValues,
-        mapValuesLimit: mapValuesLimit$1,
-        mapValuesSeries,
-        memoize,
-        nextTick,
-        parallel,
-        parallelLimit,
-        priorityQueue,
-        queue,
-        race: race$1,
-        reduce: reduce$1,
-        reduceRight,
-        reflect,
-        reflectAll,
-        reject: reject$1,
-        rejectLimit: rejectLimit$1,
-        rejectSeries: rejectSeries$1,
-        retry: retry2,
-        retryable,
-        seq: seq2,
-        series,
-        setImmediate: setImmediate$1,
-        some: some$1,
-        someLimit: someLimit$1,
-        someSeries: someSeries$1,
-        sortBy: sortBy$1,
-        timeout,
-        times,
-        timesLimit,
-        timesSeries,
-        transform,
-        tryEach: tryEach$1,
-        unmemoize,
-        until,
-        waterfall: waterfall$1,
-        whilst: whilst$1,
-        // aliases
-        all: every$1,
-        allLimit: everyLimit$1,
-        allSeries: everySeries$1,
-        any: some$1,
-        anyLimit: someLimit$1,
-        anySeries: someSeries$1,
-        find: detect$1,
-        findLimit: detectLimit$1,
-        findSeries: detectSeries$1,
-        flatMap: concat$1,
-        flatMapLimit: concatLimit$1,
-        flatMapSeries: concatSeries$1,
-        forEach: each,
-        forEachSeries: eachSeries$1,
-        forEachLimit: eachLimit$1,
-        forEachOf: eachOf$1,
-        forEachOfSeries: eachOfSeries$1,
-        forEachOfLimit: eachOfLimit$1,
-        inject: reduce$1,
-        foldl: reduce$1,
-        foldr: reduceRight,
-        select: filter$1,
-        selectLimit: filterLimit$1,
-        selectSeries: filterSeries$1,
-        wrapSync: asyncify,
-        during: whilst$1,
-        doDuring: doWhilst$1
-      };
-      exports3.all = every$1;
-      exports3.allLimit = everyLimit$1;
-      exports3.allSeries = everySeries$1;
-      exports3.any = some$1;
-      exports3.anyLimit = someLimit$1;
-      exports3.anySeries = someSeries$1;
-      exports3.apply = apply;
-      exports3.applyEach = applyEach;
-      exports3.applyEachSeries = applyEachSeries;
-      exports3.asyncify = asyncify;
-      exports3.auto = auto;
-      exports3.autoInject = autoInject;
-      exports3.cargo = cargo$1;
-      exports3.cargoQueue = cargo;
-      exports3.compose = compose;
-      exports3.concat = concat$1;
-      exports3.concatLimit = concatLimit$1;
-      exports3.concatSeries = concatSeries$1;
-      exports3.constant = constant$1;
-      exports3.default = index;
-      exports3.detect = detect$1;
-      exports3.detectLimit = detectLimit$1;
-      exports3.detectSeries = detectSeries$1;
-      exports3.dir = dir;
-      exports3.doDuring = doWhilst$1;
-      exports3.doUntil = doUntil;
-      exports3.doWhilst = doWhilst$1;
-      exports3.during = whilst$1;
-      exports3.each = each;
-      exports3.eachLimit = eachLimit$1;
-      exports3.eachOf = eachOf$1;
-      exports3.eachOfLimit = eachOfLimit$1;
-      exports3.eachOfSeries = eachOfSeries$1;
-      exports3.eachSeries = eachSeries$1;
-      exports3.ensureAsync = ensureAsync;
-      exports3.every = every$1;
-      exports3.everyLimit = everyLimit$1;
-      exports3.everySeries = everySeries$1;
-      exports3.filter = filter$1;
-      exports3.filterLimit = filterLimit$1;
-      exports3.filterSeries = filterSeries$1;
-      exports3.find = detect$1;
-      exports3.findLimit = detectLimit$1;
-      exports3.findSeries = detectSeries$1;
-      exports3.flatMap = concat$1;
-      exports3.flatMapLimit = concatLimit$1;
-      exports3.flatMapSeries = concatSeries$1;
-      exports3.foldl = reduce$1;
-      exports3.foldr = reduceRight;
-      exports3.forEach = each;
-      exports3.forEachLimit = eachLimit$1;
-      exports3.forEachOf = eachOf$1;
-      exports3.forEachOfLimit = eachOfLimit$1;
-      exports3.forEachOfSeries = eachOfSeries$1;
-      exports3.forEachSeries = eachSeries$1;
-      exports3.forever = forever$1;
-      exports3.groupBy = groupBy;
-      exports3.groupByLimit = groupByLimit$1;
-      exports3.groupBySeries = groupBySeries;
-      exports3.inject = reduce$1;
-      exports3.log = log;
-      exports3.map = map$1;
-      exports3.mapLimit = mapLimit$1;
-      exports3.mapSeries = mapSeries$1;
-      exports3.mapValues = mapValues;
-      exports3.mapValuesLimit = mapValuesLimit$1;
-      exports3.mapValuesSeries = mapValuesSeries;
-      exports3.memoize = memoize;
-      exports3.nextTick = nextTick;
-      exports3.parallel = parallel;
-      exports3.parallelLimit = parallelLimit;
-      exports3.priorityQueue = priorityQueue;
-      exports3.queue = queue;
-      exports3.race = race$1;
-      exports3.reduce = reduce$1;
-      exports3.reduceRight = reduceRight;
-      exports3.reflect = reflect;
-      exports3.reflectAll = reflectAll;
-      exports3.reject = reject$1;
-      exports3.rejectLimit = rejectLimit$1;
-      exports3.rejectSeries = rejectSeries$1;
-      exports3.retry = retry2;
-      exports3.retryable = retryable;
-      exports3.select = filter$1;
-      exports3.selectLimit = filterLimit$1;
-      exports3.selectSeries = filterSeries$1;
-      exports3.seq = seq2;
-      exports3.series = series;
-      exports3.setImmediate = setImmediate$1;
-      exports3.some = some$1;
-      exports3.someLimit = someLimit$1;
-      exports3.someSeries = someSeries$1;
-      exports3.sortBy = sortBy$1;
-      exports3.timeout = timeout;
-      exports3.times = times;
-      exports3.timesLimit = timesLimit;
-      exports3.timesSeries = timesSeries;
-      exports3.transform = transform;
-      exports3.tryEach = tryEach$1;
-      exports3.unmemoize = unmemoize;
-      exports3.until = until;
-      exports3.waterfall = waterfall$1;
-      exports3.whilst = whilst$1;
-      exports3.wrapSync = asyncify;
-      Object.defineProperty(exports3, "__esModule", { value: true });
-    }));
-  }
-});
-
-// node_modules/graceful-fs/polyfills.js
-var require_polyfills = __commonJS({
-  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
-    var constants = require("constants");
-    var origCwd = process.cwd;
-    var cwd = null;
-    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
-    process.cwd = function() {
-      if (!cwd)
-        cwd = origCwd.call(process);
-      return cwd;
-    };
-    try {
-      process.cwd();
-    } catch (er) {
-    }
-    if (typeof process.chdir === "function") {
-      chdir = process.chdir;
-      process.chdir = function(d) {
-        cwd = null;
-        chdir.call(process, d);
-      };
-      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
-    }
-    var chdir;
-    module2.exports = patch;
-    function patch(fs3) {
-      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
-        patchLchmod(fs3);
+      #readdirPromoteChild(e, p, index, c) {
+        const v = p.name;
+        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
+        if (v !== e.name)
+          p.name = e.name;
+        if (index !== c.provisional) {
+          if (index === c.length - 1)
+            c.pop();
+          else
+            c.splice(index, 1);
+          c.unshift(p);
+        }
+        c.provisional++;
+        return p;
       }
-      if (!fs3.lutimes) {
-        patchLutimes(fs3);
+      /**
+       * Call lstat() on this Path, and update all known information that can be
+       * determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat() {
+        if ((this.#type & ENOENT) === 0) {
+          try {
+            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
+          }
+        }
       }
-      fs3.chown = chownFix(fs3.chown);
-      fs3.fchown = chownFix(fs3.fchown);
-      fs3.lchown = chownFix(fs3.lchown);
-      fs3.chmod = chmodFix(fs3.chmod);
-      fs3.fchmod = chmodFix(fs3.fchmod);
-      fs3.lchmod = chmodFix(fs3.lchmod);
-      fs3.chownSync = chownFixSync(fs3.chownSync);
-      fs3.fchownSync = chownFixSync(fs3.fchownSync);
-      fs3.lchownSync = chownFixSync(fs3.lchownSync);
-      fs3.chmodSync = chmodFixSync(fs3.chmodSync);
-      fs3.fchmodSync = chmodFixSync(fs3.fchmodSync);
-      fs3.lchmodSync = chmodFixSync(fs3.lchmodSync);
-      fs3.stat = statFix(fs3.stat);
-      fs3.fstat = statFix(fs3.fstat);
-      fs3.lstat = statFix(fs3.lstat);
-      fs3.statSync = statFixSync(fs3.statSync);
-      fs3.fstatSync = statFixSync(fs3.fstatSync);
-      fs3.lstatSync = statFixSync(fs3.lstatSync);
-      if (fs3.chmod && !fs3.lchmod) {
-        fs3.lchmod = function(path4, mode, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs3.lchmodSync = function() {
-        };
+      /**
+       * synchronous {@link PathBase.lstat}
+       */
+      lstatSync() {
+        if ((this.#type & ENOENT) === 0) {
+          try {
+            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
+          }
+        }
       }
-      if (fs3.chown && !fs3.lchown) {
-        fs3.lchown = function(path4, uid, gid, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs3.lchownSync = function() {
-        };
+      #applyStat(st) {
+        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
+        this.#atime = atime;
+        this.#atimeMs = atimeMs;
+        this.#birthtime = birthtime;
+        this.#birthtimeMs = birthtimeMs;
+        this.#blksize = blksize;
+        this.#blocks = blocks;
+        this.#ctime = ctime;
+        this.#ctimeMs = ctimeMs;
+        this.#dev = dev;
+        this.#gid = gid;
+        this.#ino = ino;
+        this.#mode = mode;
+        this.#mtime = mtime;
+        this.#mtimeMs = mtimeMs;
+        this.#nlink = nlink;
+        this.#rdev = rdev;
+        this.#size = size;
+        this.#uid = uid;
+        const ifmt = entToType(st);
+        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
+        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
+          this.#type |= ENOTDIR;
+        }
       }
-      if (platform === "win32") {
-        fs3.rename = typeof fs3.rename !== "function" ? fs3.rename : (function(fs$rename) {
-          function rename(from, to, cb) {
-            var start = Date.now();
-            var backoff = 0;
-            fs$rename(from, to, function CB(er) {
-              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
-                setTimeout(function() {
-                  fs3.stat(to, function(stater, st) {
-                    if (stater && stater.code === "ENOENT")
-                      fs$rename(from, to, CB);
-                    else
-                      cb(er);
-                  });
-                }, backoff);
-                if (backoff < 100)
-                  backoff += 10;
-                return;
-              }
-              if (cb) cb(er);
-            });
-          }
-          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
-          return rename;
-        })(fs3.rename);
+      #onReaddirCB = [];
+      #readdirCBInFlight = false;
+      #callOnReaddirCB(children) {
+        this.#readdirCBInFlight = false;
+        const cbs = this.#onReaddirCB.slice();
+        this.#onReaddirCB.length = 0;
+        cbs.forEach((cb) => cb(null, children));
       }
-      fs3.read = typeof fs3.read !== "function" ? fs3.read : (function(fs$read) {
-        function read(fd, buffer, offset, length, position, callback_) {
-          var callback;
-          if (callback_ && typeof callback_ === "function") {
-            var eagCounter = 0;
-            callback = function(er, _2, __) {
-              if (er && er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
-              }
-              callback_.apply(this, arguments);
-            };
-          }
-          return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
+      /**
+       * Standard node-style callback interface to get list of directory entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       *
+       * @param cb The callback called with (er, entries).  Note that the `er`
+       * param is somewhat extraneous, as all readdir() errors are handled and
+       * simply result in an empty set of entries being returned.
+       * @param allowZalgo Boolean indicating that immediately known results should
+       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
+       * zalgo at your peril, the dark pony lord is devious and unforgiving.
+       */
+      readdirCB(cb, allowZalgo = false) {
+        if (!this.canReaddir()) {
+          if (allowZalgo)
+            cb(null, []);
+          else
+            queueMicrotask(() => cb(null, []));
+          return;
         }
-        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
-        return read;
-      })(fs3.read);
-      fs3.readSync = typeof fs3.readSync !== "function" ? fs3.readSync : /* @__PURE__ */ (function(fs$readSync) {
-        return function(fd, buffer, offset, length, position) {
-          var eagCounter = 0;
-          while (true) {
-            try {
-              return fs$readSync.call(fs3, fd, buffer, offset, length, position);
-            } catch (er) {
-              if (er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                continue;
-              }
-              throw er;
+        const children = this.children();
+        if (this.calledReaddir()) {
+          const c = children.slice(0, children.provisional);
+          if (allowZalgo)
+            cb(null, c);
+          else
+            queueMicrotask(() => cb(null, c));
+          return;
+        }
+        this.#onReaddirCB.push(cb);
+        if (this.#readdirCBInFlight) {
+          return;
+        }
+        this.#readdirCBInFlight = true;
+        const fullpath = this.fullpath();
+        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
+          if (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
+          } else {
+            for (const e of entries) {
+              this.#readdirAddChild(e, children);
             }
+            this.#readdirSuccess(children);
           }
-        };
-      })(fs3.readSync);
-      function patchLchmod(fs4) {
-        fs4.lchmod = function(path4, mode, callback) {
-          fs4.open(
-            path4,
-            constants.O_WRONLY | constants.O_SYMLINK,
-            mode,
-            function(err, fd) {
-              if (err) {
-                if (callback) callback(err);
-                return;
-              }
-              fs4.fchmod(fd, mode, function(err2) {
-                fs4.close(fd, function(err22) {
-                  if (callback) callback(err2 || err22);
-                });
-              });
-            }
-          );
-        };
-        fs4.lchmodSync = function(path4, mode) {
-          var fd = fs4.openSync(path4, constants.O_WRONLY | constants.O_SYMLINK, mode);
-          var threw = true;
-          var ret;
+          this.#callOnReaddirCB(children.slice(0, children.provisional));
+          return;
+        });
+      }
+      #asyncReaddirInFlight;
+      /**
+       * Return an array of known child entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async readdir() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        if (this.#asyncReaddirInFlight) {
+          await this.#asyncReaddirInFlight;
+        } else {
+          let resolve3 = () => {
+          };
+          this.#asyncReaddirInFlight = new Promise((res) => resolve3 = res);
           try {
-            ret = fs4.fchmodSync(fd, mode);
-            threw = false;
-          } finally {
-            if (threw) {
-              try {
-                fs4.closeSync(fd);
-              } catch (er) {
-              }
-            } else {
-              fs4.closeSync(fd);
+            for (const e of await this.#fs.promises.readdir(fullpath, {
+              withFileTypes: true
+            })) {
+              this.#readdirAddChild(e, children);
             }
+            this.#readdirSuccess(children);
+          } catch (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
           }
-          return ret;
-        };
+          this.#asyncReaddirInFlight = void 0;
+          resolve3();
+        }
+        return children.slice(0, children.provisional);
       }
-      function patchLutimes(fs4) {
-        if (constants.hasOwnProperty("O_SYMLINK") && fs4.futimes) {
-          fs4.lutimes = function(path4, at, mt, cb) {
-            fs4.open(path4, constants.O_SYMLINK, function(er, fd) {
-              if (er) {
-                if (cb) cb(er);
-                return;
-              }
-              fs4.futimes(fd, at, mt, function(er2) {
-                fs4.close(fd, function(er22) {
-                  if (cb) cb(er2 || er22);
-                });
-              });
-            });
-          };
-          fs4.lutimesSync = function(path4, at, mt) {
-            var fd = fs4.openSync(path4, constants.O_SYMLINK);
-            var ret;
-            var threw = true;
-            try {
-              ret = fs4.futimesSync(fd, at, mt);
-              threw = false;
-            } finally {
-              if (threw) {
-                try {
-                  fs4.closeSync(fd);
-                } catch (er) {
-                }
-              } else {
-                fs4.closeSync(fd);
-              }
-            }
-            return ret;
-          };
-        } else if (fs4.futimes) {
-          fs4.lutimes = function(_a, _b, _c, cb) {
-            if (cb) process.nextTick(cb);
-          };
-          fs4.lutimesSync = function() {
-          };
+      /**
+       * synchronous {@link PathBase.readdir}
+       */
+      readdirSync() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        try {
+          for (const e of this.#fs.readdirSync(fullpath, {
+            withFileTypes: true
+          })) {
+            this.#readdirAddChild(e, children);
+          }
+          this.#readdirSuccess(children);
+        } catch (er) {
+          this.#readdirFail(er.code);
+          children.provisional = 0;
         }
+        return children.slice(0, children.provisional);
       }
-      function chmodFix(orig) {
-        if (!orig) return orig;
-        return function(target, mode, cb) {
-          return orig.call(fs3, target, mode, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
-          });
-        };
+      canReaddir() {
+        if (this.#type & ENOCHILD)
+          return false;
+        const ifmt = IFMT & this.#type;
+        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
+          return false;
+        }
+        return true;
       }
-      function chmodFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, mode) {
-          try {
-            return orig.call(fs3, target, mode);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
+      shouldWalk(dirs, walkFilter) {
+        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
+      }
+      /**
+       * Return the Path object corresponding to path as resolved
+       * by realpath(3).
+       *
+       * If the realpath call fails for any reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       * On success, returns a Path object.
+       */
+      async realpath() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = await this.#fs.promises.realpath(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
+        }
+      }
+      /**
+       * Synchronous {@link realpath}
+       */
+      realpathSync() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = this.#fs.realpathSync(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
+        }
+      }
+      /**
+       * Internal method to mark this Path object as the scurry cwd,
+       * called by {@link PathScurry#chdir}
+       *
+       * @internal
+       */
+      [setAsCwd](oldCwd) {
+        if (oldCwd === this)
+          return;
+        oldCwd.isCWD = false;
+        this.isCWD = true;
+        const changed = /* @__PURE__ */ new Set([]);
+        let rp = [];
+        let p = this;
+        while (p && p.parent) {
+          changed.add(p);
+          p.#relative = rp.join(this.sep);
+          p.#relativePosix = rp.join("/");
+          p = p.parent;
+          rp.push("..");
+        }
+        p = oldCwd;
+        while (p && p.parent && !changed.has(p)) {
+          p.#relative = void 0;
+          p.#relativePosix = void 0;
+          p = p.parent;
+        }
+      }
+    };
+    exports2.PathBase = PathBase;
+    var PathWin32 = class _PathWin32 extends PathBase {
+      /**
+       * Separator for generating path strings.
+       */
+      sep = "\\";
+      /**
+       * Separator for parsing path strings.
+       */
+      splitSep = eitherSep;
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
+      }
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      }
+      /**
+       * @internal
+       */
+      getRootString(path4) {
+        return node_path_1.win32.parse(path4).root;
+      }
+      /**
+       * @internal
+       */
+      getRoot(rootPath) {
+        rootPath = uncToDrive(rootPath.toUpperCase());
+        if (rootPath === this.root.name) {
+          return this.root;
+        }
+        for (const [compare2, root] of Object.entries(this.roots)) {
+          if (this.sameRoot(rootPath, compare2)) {
+            return this.roots[rootPath] = root;
           }
-        };
+        }
+        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
       }
-      function chownFix(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid, cb) {
-          return orig.call(fs3, target, uid, gid, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
+      /**
+       * @internal
+       */
+      sameRoot(rootPath, compare2 = this.root.name) {
+        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+        return rootPath === compare2;
+      }
+    };
+    exports2.PathWin32 = PathWin32;
+    var PathPosix = class _PathPosix extends PathBase {
+      /**
+       * separator for parsing path strings
+       */
+      splitSep = "/";
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
+      }
+      /**
+       * @internal
+       */
+      getRootString(path4) {
+        return path4.startsWith("/") ? "/" : "";
+      }
+      /**
+       * @internal
+       */
+      getRoot(_rootPath) {
+        return this.root;
+      }
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      }
+    };
+    exports2.PathPosix = PathPosix;
+    var PathScurryBase = class {
+      /**
+       * The root Path entry for the current working directory of this Scurry
+       */
+      root;
+      /**
+       * The string path for the root of this Scurry's current working directory
+       */
+      rootPath;
+      /**
+       * A collection of all roots encountered, referenced by rootPath
+       */
+      roots;
+      /**
+       * The Path entry corresponding to this PathScurry's current working directory.
+       */
+      cwd;
+      #resolveCache;
+      #resolvePosixCache;
+      #children;
+      /**
+       * Perform path comparisons case-insensitively.
+       *
+       * Defaults true on Darwin and Windows systems, false elsewhere.
+       */
+      nocase;
+      #fs;
+      /**
+       * This class should not be instantiated directly.
+       *
+       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
+       *
+       * @internal
+       */
+      constructor(cwd = process.cwd(), pathImpl, sep3, { nocase, childrenCacheSize = 16 * 1024, fs: fs3 = defaultFS } = {}) {
+        this.#fs = fsFromOption(fs3);
+        if (cwd instanceof URL || cwd.startsWith("file://")) {
+          cwd = (0, node_url_1.fileURLToPath)(cwd);
+        }
+        const cwdPath = pathImpl.resolve(cwd);
+        this.roots = /* @__PURE__ */ Object.create(null);
+        this.rootPath = this.parseRootPath(cwdPath);
+        this.#resolveCache = new ResolveCache();
+        this.#resolvePosixCache = new ResolveCache();
+        this.#children = new ChildrenCache(childrenCacheSize);
+        const split = cwdPath.substring(this.rootPath.length).split(sep3);
+        if (split.length === 1 && !split[0]) {
+          split.pop();
+        }
+        if (nocase === void 0) {
+          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
+        }
+        this.nocase = nocase;
+        this.root = this.newRoot(this.#fs);
+        this.roots[this.rootPath] = this.root;
+        let prev = this.root;
+        let len = split.length - 1;
+        const joinSep = pathImpl.sep;
+        let abs = this.rootPath;
+        let sawFirst = false;
+        for (const part of split) {
+          const l = len--;
+          prev = prev.child(part, {
+            relative: new Array(l).fill("..").join(joinSep),
+            relativePosix: new Array(l).fill("..").join("/"),
+            fullpath: abs += (sawFirst ? "" : joinSep) + part
           });
-        };
+          sawFirst = true;
+        }
+        this.cwd = prev;
       }
-      function chownFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid) {
-          try {
-            return orig.call(fs3, target, uid, gid);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
+      /**
+       * Get the depth of a provided path, string, or the cwd
+       */
+      depth(path4 = this.cwd) {
+        if (typeof path4 === "string") {
+          path4 = this.cwd.resolve(path4);
+        }
+        return path4.depth();
+      }
+      /**
+       * Return the cache of child entries.  Exposed so subclasses can create
+       * child Path objects in a platform-specific way.
+       *
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
+      }
+      /**
+       * Resolve one or more path strings to a resolved string
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolve(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
           }
-        };
+        }
+        const cached = this.#resolveCache.get(r);
+        if (cached !== void 0) {
+          return cached;
+        }
+        const result = this.cwd.resolve(r).fullpath();
+        this.#resolveCache.set(r, result);
+        return result;
+      }
+      /**
+       * Resolve one or more path strings to a resolved string, returning
+       * the posix path.  Identical to .resolve() on posix systems, but on
+       * windows will return a forward-slash separated UNC path.
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolvePosix(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
+          }
+        }
+        const cached = this.#resolvePosixCache.get(r);
+        if (cached !== void 0) {
+          return cached;
+        }
+        const result = this.cwd.resolve(r).fullpathPosix();
+        this.#resolvePosixCache.set(r, result);
+        return result;
+      }
+      /**
+       * find the relative path from the cwd to the supplied path string or entry
+       */
+      relative(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return entry.relative();
+      }
+      /**
+       * find the relative path from the cwd to the supplied path string or
+       * entry, using / as the path delimiter, even on Windows.
+       */
+      relativePosix(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return entry.relativePosix();
       }
-      function statFix(orig) {
-        if (!orig) return orig;
-        return function(target, options, cb) {
-          if (typeof options === "function") {
-            cb = options;
-            options = null;
-          }
-          function callback(er, stats) {
-            if (stats) {
-              if (stats.uid < 0) stats.uid += 4294967296;
-              if (stats.gid < 0) stats.gid += 4294967296;
-            }
-            if (cb) cb.apply(this, arguments);
-          }
-          return options ? orig.call(fs3, target, options, callback) : orig.call(fs3, target, callback);
-        };
+      /**
+       * Return the basename for the provided string or Path object
+       */
+      basename(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return entry.name;
       }
-      function statFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, options) {
-          var stats = options ? orig.call(fs3, target, options) : orig.call(fs3, target);
-          if (stats) {
-            if (stats.uid < 0) stats.uid += 4294967296;
-            if (stats.gid < 0) stats.gid += 4294967296;
-          }
-          return stats;
-        };
+      /**
+       * Return the dirname for the provided string or Path object
+       */
+      dirname(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return (entry.parent || entry).fullpath();
       }
-      function chownErOk(er) {
-        if (!er)
-          return true;
-        if (er.code === "ENOSYS")
-          return true;
-        var nonroot = !process.getuid || process.getuid() !== 0;
-        if (nonroot) {
-          if (er.code === "EINVAL" || er.code === "EPERM")
-            return true;
+      async readdir(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else {
+          const p = await entry.readdir();
+          return withFileTypes ? p : p.map((e) => e.name);
         }
-        return false;
       }
-    }
-  }
-});
-
-// node_modules/graceful-fs/legacy-streams.js
-var require_legacy_streams = __commonJS({
-  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    module2.exports = legacy;
-    function legacy(fs3) {
-      return {
-        ReadStream,
-        WriteStream
-      };
-      function ReadStream(path4, options) {
-        if (!(this instanceof ReadStream)) return new ReadStream(path4, options);
-        Stream.call(this);
-        var self2 = this;
-        this.path = path4;
-        this.fd = null;
-        this.readable = true;
-        this.paused = false;
-        this.flags = "r";
-        this.mode = 438;
-        this.bufferSize = 64 * 1024;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
+      readdirSync(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        if (this.encoding) this.setEncoding(this.encoding);
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.end === void 0) {
-            this.end = Infinity;
-          } else if ("number" !== typeof this.end) {
-            throw TypeError("end must be a Number");
-          }
-          if (this.start > this.end) {
-            throw new Error("start must be <= end");
-          }
-          this.pos = this.start;
+        const { withFileTypes = true } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else if (withFileTypes) {
+          return entry.readdirSync();
+        } else {
+          return entry.readdirSync().map((e) => e.name);
         }
-        if (this.fd !== null) {
-          process.nextTick(function() {
-            self2._read();
-          });
-          return;
+      }
+      /**
+       * Call lstat() on the string or Path object, and update all known
+       * information that can be determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        fs3.open(this.path, this.flags, this.mode, function(err, fd) {
-          if (err) {
-            self2.emit("error", err);
-            self2.readable = false;
-            return;
-          }
-          self2.fd = fd;
-          self2.emit("open", fd);
-          self2._read();
-        });
+        return entry.lstat();
       }
-      function WriteStream(path4, options) {
-        if (!(this instanceof WriteStream)) return new WriteStream(path4, options);
-        Stream.call(this);
-        this.path = path4;
-        this.fd = null;
-        this.writable = true;
-        this.flags = "w";
-        this.encoding = "binary";
-        this.mode = 438;
-        this.bytesWritten = 0;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
+      /**
+       * synchronous {@link PathScurryBase.lstat}
+       */
+      lstatSync(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.start < 0) {
-            throw new Error("start must be >= zero");
-          }
-          this.pos = this.start;
+        return entry.lstatSync();
+      }
+      async readlink(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        this.busy = false;
-        this._queue = [];
-        if (this.fd === null) {
-          this._open = fs3.open;
-          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
-          this.flush();
+        const e = await entry.readlink();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      readlinkSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
+        const e = entry.readlinkSync();
+        return withFileTypes ? e : e?.fullpath();
       }
-    }
-  }
-});
-
-// node_modules/graceful-fs/clone.js
-var require_clone = __commonJS({
-  "node_modules/graceful-fs/clone.js"(exports2, module2) {
-    "use strict";
-    module2.exports = clone;
-    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
-      return obj.__proto__;
-    };
-    function clone(obj) {
-      if (obj === null || typeof obj !== "object")
-        return obj;
-      if (obj instanceof Object)
-        var copy = { __proto__: getPrototypeOf(obj) };
-      else
-        var copy = /* @__PURE__ */ Object.create(null);
-      Object.getOwnPropertyNames(obj).forEach(function(key) {
-        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
-      });
-      return copy;
-    }
-  }
-});
-
-// node_modules/graceful-fs/graceful-fs.js
-var require_graceful_fs = __commonJS({
-  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
-    var fs3 = require("fs");
-    var polyfills = require_polyfills();
-    var legacy = require_legacy_streams();
-    var clone = require_clone();
-    var util = require("util");
-    var gracefulQueue;
-    var previousSymbol;
-    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
-      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
-      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
-    } else {
-      gracefulQueue = "___graceful-fs.queue";
-      previousSymbol = "___graceful-fs.previous";
-    }
-    function noop3() {
-    }
-    function publishQueue(context2, queue2) {
-      Object.defineProperty(context2, gracefulQueue, {
-        get: function() {
-          return queue2;
+      async realpath(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-      });
-    }
-    var debug4 = noop3;
-    if (util.debuglog)
-      debug4 = util.debuglog("gfs4");
-    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
-      debug4 = function() {
-        var m = util.format.apply(util, arguments);
-        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
-        console.error(m);
-      };
-    if (!fs3[gracefulQueue]) {
-      queue = global[gracefulQueue] || [];
-      publishQueue(fs3, queue);
-      fs3.close = (function(fs$close) {
-        function close(fd, cb) {
-          return fs$close.call(fs3, fd, function(err) {
-            if (!err) {
-              resetQueue();
-            }
-            if (typeof cb === "function")
-              cb.apply(this, arguments);
-          });
+        const e = await entry.realpath();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      realpathSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        Object.defineProperty(close, previousSymbol, {
-          value: fs$close
-        });
-        return close;
-      })(fs3.close);
-      fs3.closeSync = (function(fs$closeSync) {
-        function closeSync(fd) {
-          fs$closeSync.apply(fs3, arguments);
-          resetQueue();
+        const e = entry.realpathSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async walk(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        Object.defineProperty(closeSync, previousSymbol, {
-          value: fs$closeSync
-        });
-        return closeSync;
-      })(fs3.closeSync);
-      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
-        process.on("exit", function() {
-          debug4(fs3[gracefulQueue]);
-          require("assert").equal(fs3[gracefulQueue].length, 0);
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set();
+        const walk = (dir, cb) => {
+          dirs.add(dir);
+          dir.readdirCB((er, entries) => {
+            if (er) {
+              return cb(er);
+            }
+            let len = entries.length;
+            if (!len)
+              return cb();
+            const next = () => {
+              if (--len === 0) {
+                cb();
+              }
+            };
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                results.push(withFileTypes ? e : e.fullpath());
+              }
+              if (follow && e.isSymbolicLink()) {
+                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
+              } else {
+                if (e.shouldWalk(dirs, walkFilter)) {
+                  walk(e, next);
+                } else {
+                  next();
+                }
+              }
+            }
+          }, true);
+        };
+        const start = entry;
+        return new Promise((res, rej) => {
+          walk(start, (er) => {
+            if (er)
+              return rej(er);
+            res(results);
+          });
         });
       }
-    }
-    var queue;
-    if (!global[gracefulQueue]) {
-      publishQueue(global, fs3[gracefulQueue]);
-    }
-    module2.exports = patch(clone(fs3));
-    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs3.__patched) {
-      module2.exports = patch(fs3);
-      fs3.__patched = true;
-    }
-    function patch(fs4) {
-      polyfills(fs4);
-      fs4.gracefulify = patch;
-      fs4.createReadStream = createReadStream;
-      fs4.createWriteStream = createWriteStream2;
-      var fs$readFile = fs4.readFile;
-      fs4.readFile = readFile;
-      function readFile(path4, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$readFile(path4, options, cb);
-        function go$readFile(path5, options2, cb2, startTime) {
-          return fs$readFile(path5, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$readFile, [path5, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
+      walkSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              results.push(withFileTypes ? e : e.fullpath());
             }
-          });
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
+            }
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
+            }
+          }
         }
+        return results;
       }
-      var fs$writeFile = fs4.writeFile;
-      fs4.writeFile = writeFile;
-      function writeFile(path4, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$writeFile(path4, data, options, cb);
-        function go$writeFile(path5, data2, options2, cb2, startTime) {
-          return fs$writeFile(path5, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$writeFile, [path5, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
+      /**
+       * Support for `for await`
+       *
+       * Alias for {@link PathScurryBase.iterate}
+       *
+       * Note: As of Node 19, this is very slow, compared to other methods of
+       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
+       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
+       */
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+      iterate(entry = this.cwd, options = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          options = entry;
+          entry = this.cwd;
         }
+        return this.stream(entry, options)[Symbol.asyncIterator]();
       }
-      var fs$appendFile = fs4.appendFile;
-      if (fs$appendFile)
-        fs4.appendFile = appendFile;
-      function appendFile(path4, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$appendFile(path4, data, options, cb);
-        function go$appendFile(path5, data2, options2, cb2, startTime) {
-          return fs$appendFile(path5, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$appendFile, [path5, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
+      /**
+       * Iterating over a PathScurry performs a synchronous walk.
+       *
+       * Alias for {@link PathScurryBase.iterateSync}
+       */
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      *iterateSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        if (!filter || filter(entry)) {
+          yield withFileTypes ? entry : entry.fullpath();
+        }
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              yield withFileTypes ? e : e.fullpath();
             }
-          });
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
+            }
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
+            }
+          }
         }
       }
-      var fs$copyFile = fs4.copyFile;
-      if (fs$copyFile)
-        fs4.copyFile = copyFile;
-      function copyFile(src, dest, flags, cb) {
-        if (typeof flags === "function") {
-          cb = flags;
-          flags = 0;
+      stream(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        return go$copyFile(src, dest, flags, cb);
-        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
-          return fs$copyFile(src2, dest2, flags2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
         }
-      }
-      var fs$readdir = fs4.readdir;
-      fs4.readdir = readdir;
-      var noReaddirOptionVersions = /^v[0-5]\./;
-      function readdir(path4, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path5, options2, cb2, startTime) {
-          return fs$readdir(path5, fs$readdirCallback(
-            path5,
-            options2,
-            cb2,
-            startTime
-          ));
-        } : function go$readdir2(path5, options2, cb2, startTime) {
-          return fs$readdir(path5, options2, fs$readdirCallback(
-            path5,
-            options2,
-            cb2,
-            startTime
-          ));
-        };
-        return go$readdir(path4, options, cb);
-        function fs$readdirCallback(path5, options2, cb2, startTime) {
-          return function(err, files) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([
-                go$readdir,
-                [path5, options2, cb2],
-                err,
-                startTime || Date.now(),
-                Date.now()
-              ]);
-            else {
-              if (files && files.sort)
-                files.sort();
-              if (typeof cb2 === "function")
-                cb2.call(this, err, files);
+        const dirs = /* @__PURE__ */ new Set();
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
             }
-          };
-        }
-      }
-      if (process.version.substr(0, 4) === "v0.8") {
-        var legStreams = legacy(fs4);
-        ReadStream = legStreams.ReadStream;
-        WriteStream = legStreams.WriteStream;
-      }
-      var fs$ReadStream = fs4.ReadStream;
-      if (fs$ReadStream) {
-        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
-        ReadStream.prototype.open = ReadStream$open;
+            processing++;
+            dirs.add(dir);
+            const onReaddir = (er, entries, didRealpaths = false) => {
+              if (er)
+                return results.emit("error", er);
+              if (follow && !didRealpaths) {
+                const promises = [];
+                for (const e of entries) {
+                  if (e.isSymbolicLink()) {
+                    promises.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
+                  }
+                }
+                if (promises.length) {
+                  Promise.all(promises).then(() => onReaddir(null, entries, true));
+                  return;
+                }
+              }
+              for (const e of entries) {
+                if (e && (!filter || filter(e))) {
+                  if (!results.write(withFileTypes ? e : e.fullpath())) {
+                    paused = true;
+                  }
+                }
+              }
+              processing--;
+              for (const e of entries) {
+                const r = e.realpathCached() || e;
+                if (r.shouldWalk(dirs, walkFilter)) {
+                  queue.push(r);
+                }
+              }
+              if (paused && !results.flowing) {
+                results.once("drain", process2);
+              } else if (!sync) {
+                process2();
+              }
+            };
+            let sync = true;
+            dir.readdirCB(onReaddir, true);
+            sync = false;
+          }
+        };
+        process2();
+        return results;
       }
-      var fs$WriteStream = fs4.WriteStream;
-      if (fs$WriteStream) {
-        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
-        WriteStream.prototype.open = WriteStream$open;
+      streamSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        const dirs = /* @__PURE__ */ new Set();
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
+        }
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
+            }
+            processing++;
+            dirs.add(dir);
+            const entries = dir.readdirSync();
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                if (!results.write(withFileTypes ? e : e.fullpath())) {
+                  paused = true;
+                }
+              }
+            }
+            processing--;
+            for (const e of entries) {
+              let r = e;
+              if (e.isSymbolicLink()) {
+                if (!(follow && (r = e.realpathSync())))
+                  continue;
+                if (r.isUnknown())
+                  r.lstatSync();
+              }
+              if (r.shouldWalk(dirs, walkFilter)) {
+                queue.push(r);
+              }
+            }
+          }
+          if (paused && !results.flowing)
+            results.once("drain", process2);
+        };
+        process2();
+        return results;
       }
-      Object.defineProperty(fs4, "ReadStream", {
-        get: function() {
-          return ReadStream;
-        },
-        set: function(val) {
-          ReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      Object.defineProperty(fs4, "WriteStream", {
-        get: function() {
-          return WriteStream;
-        },
-        set: function(val) {
-          WriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileReadStream = ReadStream;
-      Object.defineProperty(fs4, "FileReadStream", {
-        get: function() {
-          return FileReadStream;
-        },
-        set: function(val) {
-          FileReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileWriteStream = WriteStream;
-      Object.defineProperty(fs4, "FileWriteStream", {
-        get: function() {
-          return FileWriteStream;
-        },
-        set: function(val) {
-          FileWriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      function ReadStream(path4, options) {
-        if (this instanceof ReadStream)
-          return fs$ReadStream.apply(this, arguments), this;
-        else
-          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+      chdir(path4 = this.cwd) {
+        const oldCwd = this.cwd;
+        this.cwd = typeof path4 === "string" ? this.cwd.resolve(path4) : path4;
+        this.cwd[setAsCwd](oldCwd);
       }
-      function ReadStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            if (that.autoClose)
-              that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
-            that.read();
-          }
-        });
+    };
+    exports2.PathScurryBase = PathScurryBase;
+    var PathScurryWin32 = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "\\";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
+        this.nocase = nocase;
+        for (let p = this.cwd; p; p = p.parent) {
+          p.nocase = this.nocase;
+        }
       }
-      function WriteStream(path4, options) {
-        if (this instanceof WriteStream)
-          return fs$WriteStream.apply(this, arguments), this;
-        else
-          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      /**
+       * @internal
+       */
+      parseRootPath(dir) {
+        return node_path_1.win32.parse(dir).root.toUpperCase();
       }
-      function WriteStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
-          }
-        });
+      /**
+       * @internal
+       */
+      newRoot(fs3) {
+        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
       }
-      function createReadStream(path4, options) {
-        return new fs4.ReadStream(path4, options);
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
       }
-      function createWriteStream2(path4, options) {
-        return new fs4.WriteStream(path4, options);
+    };
+    exports2.PathScurryWin32 = PathScurryWin32;
+    var PathScurryPosix = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = false } = opts;
+        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
+        this.nocase = nocase;
       }
-      var fs$open = fs4.open;
-      fs4.open = open;
-      function open(path4, flags, mode, cb) {
-        if (typeof mode === "function")
-          cb = mode, mode = null;
-        return go$open(path4, flags, mode, cb);
-        function go$open(path5, flags2, mode2, cb2, startTime) {
-          return fs$open(path5, flags2, mode2, function(err, fd) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$open, [path5, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      /**
+       * @internal
+       */
+      parseRootPath(_dir) {
+        return "/";
       }
-      return fs4;
-    }
-    function enqueue(elem) {
-      debug4("ENQUEUE", elem[0].name, elem[1]);
-      fs3[gracefulQueue].push(elem);
-      retry2();
-    }
-    var retryTimer;
-    function resetQueue() {
-      var now = Date.now();
-      for (var i = 0; i < fs3[gracefulQueue].length; ++i) {
-        if (fs3[gracefulQueue][i].length > 2) {
-          fs3[gracefulQueue][i][3] = now;
-          fs3[gracefulQueue][i][4] = now;
-        }
+      /**
+       * @internal
+       */
+      newRoot(fs3) {
+        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
       }
-      retry2();
-    }
-    function retry2() {
-      clearTimeout(retryTimer);
-      retryTimer = void 0;
-      if (fs3[gracefulQueue].length === 0)
-        return;
-      var elem = fs3[gracefulQueue].shift();
-      var fn = elem[0];
-      var args = elem[1];
-      var err = elem[2];
-      var startTime = elem[3];
-      var lastTime = elem[4];
-      if (startTime === void 0) {
-        debug4("RETRY", fn.name, args);
-        fn.apply(null, args);
-      } else if (Date.now() - startTime >= 6e4) {
-        debug4("TIMEOUT", fn.name, args);
-        var cb = args.pop();
-        if (typeof cb === "function")
-          cb.call(null, err);
-      } else {
-        var sinceAttempt = Date.now() - lastTime;
-        var sinceStart = Math.max(lastTime - startTime, 1);
-        var desiredDelay = Math.min(sinceStart * 1.2, 100);
-        if (sinceAttempt >= desiredDelay) {
-          debug4("RETRY", fn.name, args);
-          fn.apply(null, args.concat([startTime]));
-        } else {
-          fs3[gracefulQueue].push(elem);
-        }
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/");
       }
-      if (retryTimer === void 0) {
-        retryTimer = setTimeout(retry2, 0);
+    };
+    exports2.PathScurryPosix = PathScurryPosix;
+    var PathScurryDarwin = class extends PathScurryPosix {
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, { ...opts, nocase });
       }
-    }
-  }
-});
-
-// node_modules/archiver-utils/node_modules/is-stream/index.js
-var require_is_stream = __commonJS({
-  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
-    "use strict";
-    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
-    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
-    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
-    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
-    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
-    module2.exports = isStream;
+    };
+    exports2.PathScurryDarwin = PathScurryDarwin;
+    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
+    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
   }
 });
 
-// node_modules/process-nextick-args/index.js
-var require_process_nextick_args = __commonJS({
-  "node_modules/process-nextick-args/index.js"(exports2, module2) {
+// node_modules/glob/dist/commonjs/pattern.js
+var require_pattern = __commonJS({
+  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
     "use strict";
-    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
-      module2.exports = { nextTick };
-    } else {
-      module2.exports = process;
-    }
-    function nextTick(fn, arg1, arg2, arg3) {
-      if (typeof fn !== "function") {
-        throw new TypeError('"callback" argument must be a function');
-      }
-      var len = arguments.length;
-      var args, i;
-      switch (len) {
-        case 0:
-        case 1:
-          return process.nextTick(fn);
-        case 2:
-          return process.nextTick(function afterTickOne() {
-            fn.call(null, arg1);
-          });
-        case 3:
-          return process.nextTick(function afterTickTwo() {
-            fn.call(null, arg1, arg2);
-          });
-        case 4:
-          return process.nextTick(function afterTickThree() {
-            fn.call(null, arg1, arg2, arg3);
-          });
-        default:
-          args = new Array(len - 1);
-          i = 0;
-          while (i < args.length) {
-            args[i++] = arguments[i];
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Pattern = void 0;
+    var minimatch_1 = require_commonjs20();
+    var isPatternList = (pl) => pl.length >= 1;
+    var isGlobList = (gl) => gl.length >= 1;
+    var Pattern = class _Pattern {
+      #patternList;
+      #globList;
+      #index;
+      length;
+      #platform;
+      #rest;
+      #globString;
+      #isDrive;
+      #isUNC;
+      #isAbsolute;
+      #followGlobstar = true;
+      constructor(patternList, globList, index, platform) {
+        if (!isPatternList(patternList)) {
+          throw new TypeError("empty pattern list");
+        }
+        if (!isGlobList(globList)) {
+          throw new TypeError("empty glob list");
+        }
+        if (globList.length !== patternList.length) {
+          throw new TypeError("mismatched pattern list and glob list lengths");
+        }
+        this.length = patternList.length;
+        if (index < 0 || index >= this.length) {
+          throw new TypeError("index out of range");
+        }
+        this.#patternList = patternList;
+        this.#globList = globList;
+        this.#index = index;
+        this.#platform = platform;
+        if (this.#index === 0) {
+          if (this.isUNC()) {
+            const [p0, p1, p2, p3, ...prest] = this.#patternList;
+            const [g0, g1, g2, g3, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = [p0, p1, p2, p3, ""].join("/");
+            const g = [g0, g1, g2, g3, ""].join("/");
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
+          } else if (this.isDrive() || this.isAbsolute()) {
+            const [p1, ...prest] = this.#patternList;
+            const [g1, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = p1 + "/";
+            const g = g1 + "/";
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
           }
-          return process.nextTick(function afterTick() {
-            fn.apply(null, args);
-          });
+        }
       }
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/isarray/index.js
-var require_isarray = __commonJS({
-  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
-    var toString2 = {}.toString;
-    module2.exports = Array.isArray || function(arr) {
-      return toString2.call(arr) == "[object Array]";
-    };
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
-var require_stream = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
-    module2.exports = require("stream");
-  }
-});
-
-// node_modules/lazystream/node_modules/safe-buffer/index.js
-var require_safe_buffer = __commonJS({
-  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
-    var buffer = require("buffer");
-    var Buffer2 = buffer.Buffer;
-    function copyProps(src, dst) {
-      for (var key in src) {
-        dst[key] = src[key];
+      /**
+       * The first entry in the parsed list of patterns
+       */
+      pattern() {
+        return this.#patternList[this.#index];
       }
-    }
-    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
-      module2.exports = buffer;
-    } else {
-      copyProps(buffer, exports2);
-      exports2.Buffer = SafeBuffer;
-    }
-    function SafeBuffer(arg, encodingOrOffset, length) {
-      return Buffer2(arg, encodingOrOffset, length);
-    }
-    copyProps(Buffer2, SafeBuffer);
-    SafeBuffer.from = function(arg, encodingOrOffset, length) {
-      if (typeof arg === "number") {
-        throw new TypeError("Argument must not be a number");
+      /**
+       * true of if pattern() returns a string
+       */
+      isString() {
+        return typeof this.#patternList[this.#index] === "string";
       }
-      return Buffer2(arg, encodingOrOffset, length);
-    };
-    SafeBuffer.alloc = function(size, fill, encoding) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      /**
+       * true of if pattern() returns GLOBSTAR
+       */
+      isGlobstar() {
+        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
       }
-      var buf = Buffer2(size);
-      if (fill !== void 0) {
-        if (typeof encoding === "string") {
-          buf.fill(fill, encoding);
-        } else {
-          buf.fill(fill);
-        }
-      } else {
-        buf.fill(0);
+      /**
+       * true if pattern() returns a regexp
+       */
+      isRegExp() {
+        return this.#patternList[this.#index] instanceof RegExp;
       }
-      return buf;
-    };
-    SafeBuffer.allocUnsafe = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      /**
+       * The /-joined set of glob parts that make up this pattern
+       */
+      globString() {
+        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
       }
-      return Buffer2(size);
-    };
-    SafeBuffer.allocUnsafeSlow = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      /**
+       * true if there are more pattern parts after this one
+       */
+      hasMore() {
+        return this.length > this.#index + 1;
       }
-      return buffer.SlowBuffer(size);
-    };
-  }
-});
-
-// node_modules/core-util-is/lib/util.js
-var require_util19 = __commonJS({
-  "node_modules/core-util-is/lib/util.js"(exports2) {
-    function isArray(arg) {
-      if (Array.isArray) {
-        return Array.isArray(arg);
+      /**
+       * The rest of the pattern after this part, or null if this is the end
+       */
+      rest() {
+        if (this.#rest !== void 0)
+          return this.#rest;
+        if (!this.hasMore())
+          return this.#rest = null;
+        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
+        this.#rest.#isAbsolute = this.#isAbsolute;
+        this.#rest.#isUNC = this.#isUNC;
+        this.#rest.#isDrive = this.#isDrive;
+        return this.#rest;
       }
-      return objectToString(arg) === "[object Array]";
-    }
-    exports2.isArray = isArray;
-    function isBoolean2(arg) {
-      return typeof arg === "boolean";
-    }
-    exports2.isBoolean = isBoolean2;
-    function isNull2(arg) {
-      return arg === null;
-    }
-    exports2.isNull = isNull2;
-    function isNullOrUndefined(arg) {
-      return arg == null;
-    }
-    exports2.isNullOrUndefined = isNullOrUndefined;
-    function isNumber(arg) {
-      return typeof arg === "number";
-    }
-    exports2.isNumber = isNumber;
-    function isString(arg) {
-      return typeof arg === "string";
-    }
-    exports2.isString = isString;
-    function isSymbol(arg) {
-      return typeof arg === "symbol";
-    }
-    exports2.isSymbol = isSymbol;
-    function isUndefined(arg) {
-      return arg === void 0;
-    }
-    exports2.isUndefined = isUndefined;
-    function isRegExp(re) {
-      return objectToString(re) === "[object RegExp]";
-    }
-    exports2.isRegExp = isRegExp;
-    function isObject2(arg) {
-      return typeof arg === "object" && arg !== null;
-    }
-    exports2.isObject = isObject2;
-    function isDate(d) {
-      return objectToString(d) === "[object Date]";
-    }
-    exports2.isDate = isDate;
-    function isError(e) {
-      return objectToString(e) === "[object Error]" || e instanceof Error;
-    }
-    exports2.isError = isError;
-    function isFunction(arg) {
-      return typeof arg === "function";
-    }
-    exports2.isFunction = isFunction;
-    function isPrimitive(arg) {
-      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
-      typeof arg === "undefined";
-    }
-    exports2.isPrimitive = isPrimitive;
-    exports2.isBuffer = require("buffer").Buffer.isBuffer;
-    function objectToString(o) {
-      return Object.prototype.toString.call(o);
-    }
-  }
-});
-
-// node_modules/inherits/inherits_browser.js
-var require_inherits_browser = __commonJS({
-  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
-    if (typeof Object.create === "function") {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        ctor.prototype = Object.create(superCtor.prototype, {
-          constructor: {
-            value: ctor,
-            enumerable: false,
-            writable: true,
-            configurable: true
-          }
-        });
-      };
-    } else {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        var TempCtor = function() {
-        };
-        TempCtor.prototype = superCtor.prototype;
-        ctor.prototype = new TempCtor();
-        ctor.prototype.constructor = ctor;
-      };
-    }
-  }
-});
-
-// node_modules/inherits/inherits.js
-var require_inherits = __commonJS({
-  "node_modules/inherits/inherits.js"(exports2, module2) {
-    try {
-      util = require("util");
-      if (typeof util.inherits !== "function") throw "";
-      module2.exports = util.inherits;
-    } catch (e) {
-      module2.exports = require_inherits_browser();
-    }
-    var util;
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
-var require_BufferList = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
-    "use strict";
-    function _classCallCheck(instance, Constructor) {
-      if (!(instance instanceof Constructor)) {
-        throw new TypeError("Cannot call a class as a function");
+      /**
+       * true if the pattern represents a //unc/path/ on windows
+       */
+      isUNC() {
+        const pl = this.#patternList;
+        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
       }
-    }
-    var Buffer2 = require_safe_buffer().Buffer;
-    var util = require("util");
-    function copyBuffer(src, target, offset) {
-      src.copy(target, offset);
-    }
-    module2.exports = (function() {
-      function BufferList() {
-        _classCallCheck(this, BufferList);
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
+      // pattern like C:/...
+      // split = ['C:', ...]
+      // XXX: would be nice to handle patterns like `c:*` to test the cwd
+      // in c: for *, but I don't know of a way to even figure out what that
+      // cwd is without actually chdir'ing into it?
+      /**
+       * True if the pattern starts with a drive letter on Windows
+       */
+      isDrive() {
+        const pl = this.#patternList;
+        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
       }
-      BufferList.prototype.push = function push(v) {
-        var entry = { data: v, next: null };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
-      };
-      BufferList.prototype.unshift = function unshift(v) {
-        var entry = { data: v, next: this.head };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
-      };
-      BufferList.prototype.shift = function shift() {
-        if (this.length === 0) return;
-        var ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
-      };
-      BufferList.prototype.clear = function clear() {
-        this.head = this.tail = null;
-        this.length = 0;
-      };
-      BufferList.prototype.join = function join4(s) {
-        if (this.length === 0) return "";
-        var p = this.head;
-        var ret = "" + p.data;
-        while (p = p.next) {
-          ret += s + p.data;
-        }
-        return ret;
-      };
-      BufferList.prototype.concat = function concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        var ret = Buffer2.allocUnsafe(n >>> 0);
-        var p = this.head;
-        var i = 0;
-        while (p) {
-          copyBuffer(p.data, ret, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
-      };
-      return BufferList;
-    })();
-    if (util && util.inspect && util.inspect.custom) {
-      module2.exports.prototype[util.inspect.custom] = function() {
-        var obj = util.inspect({ length: this.length });
-        return this.constructor.name + " " + obj;
-      };
-    }
+      // pattern = '/' or '/...' or '/x/...'
+      // split = ['', ''] or ['', ...] or ['', 'x', ...]
+      // Drive and UNC both considered absolute on windows
+      /**
+       * True if the pattern is rooted on an absolute path
+       */
+      isAbsolute() {
+        const pl = this.#patternList;
+        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
+      }
+      /**
+       * consume the root of the pattern, and return it
+       */
+      root() {
+        const p = this.#patternList[0];
+        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
+      }
+      /**
+       * Check to see if the current globstar pattern is allowed to follow
+       * a symbolic link.
+       */
+      checkFollowGlobstar() {
+        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
+      }
+      /**
+       * Mark that the current globstar pattern is following a symbolic link
+       */
+      markFollowGlobstar() {
+        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
+          return false;
+        this.#followGlobstar = false;
+        return true;
+      }
+    };
+    exports2.Pattern = Pattern;
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
+// node_modules/glob/dist/commonjs/ignore.js
+var require_ignore = __commonJS({
+  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
     "use strict";
-    var pna = require_process_nextick_args();
-    function destroy(err, cb) {
-      var _this = this;
-      var readableDestroyed = this._readableState && this._readableState.destroyed;
-      var writableDestroyed = this._writableState && this._writableState.destroyed;
-      if (readableDestroyed || writableDestroyed) {
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          if (!this._writableState) {
-            pna.nextTick(emitErrorNT, this, err);
-          } else if (!this._writableState.errorEmitted) {
-            this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, this, err);
-          }
-        }
-        return this;
-      }
-      if (this._readableState) {
-        this._readableState.destroyed = true;
-      }
-      if (this._writableState) {
-        this._writableState.destroyed = true;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Ignore = void 0;
+    var minimatch_1 = require_commonjs20();
+    var pattern_js_1 = require_pattern();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Ignore = class {
+      relative;
+      relativeChildren;
+      absolute;
+      absoluteChildren;
+      platform;
+      mmopts;
+      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
+        this.relative = [];
+        this.absolute = [];
+        this.relativeChildren = [];
+        this.absoluteChildren = [];
+        this.platform = platform;
+        this.mmopts = {
+          dot: true,
+          nobrace,
+          nocase,
+          noext,
+          noglobstar,
+          optimizationLevel: 2,
+          platform,
+          nocomment: true,
+          nonegate: true
+        };
+        for (const ign of ignored)
+          this.add(ign);
       }
-      this._destroy(err || null, function(err2) {
-        if (!cb && err2) {
-          if (!_this._writableState) {
-            pna.nextTick(emitErrorNT, _this, err2);
-          } else if (!_this._writableState.errorEmitted) {
-            _this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, _this, err2);
+      add(ign) {
+        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
+        for (let i = 0; i < mm.set.length; i++) {
+          const parsed = mm.set[i];
+          const globParts = mm.globParts[i];
+          if (!parsed || !globParts) {
+            throw new Error("invalid pattern object");
+          }
+          while (parsed[0] === "." && globParts[0] === ".") {
+            parsed.shift();
+            globParts.shift();
+          }
+          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
+          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
+          const children = globParts[globParts.length - 1] === "**";
+          const absolute = p.isAbsolute();
+          if (absolute)
+            this.absolute.push(m);
+          else
+            this.relative.push(m);
+          if (children) {
+            if (absolute)
+              this.absoluteChildren.push(m);
+            else
+              this.relativeChildren.push(m);
           }
-        } else if (cb) {
-          cb(err2);
         }
-      });
-      return this;
-    }
-    function undestroy() {
-      if (this._readableState) {
-        this._readableState.destroyed = false;
-        this._readableState.reading = false;
-        this._readableState.ended = false;
-        this._readableState.endEmitted = false;
       }
-      if (this._writableState) {
-        this._writableState.destroyed = false;
-        this._writableState.ended = false;
-        this._writableState.ending = false;
-        this._writableState.finalCalled = false;
-        this._writableState.prefinished = false;
-        this._writableState.finished = false;
-        this._writableState.errorEmitted = false;
+      ignored(p) {
+        const fullpath = p.fullpath();
+        const fullpaths = `${fullpath}/`;
+        const relative = p.relative() || ".";
+        const relatives = `${relative}/`;
+        for (const m of this.relative) {
+          if (m.match(relative) || m.match(relatives))
+            return true;
+        }
+        for (const m of this.absolute) {
+          if (m.match(fullpath) || m.match(fullpaths))
+            return true;
+        }
+        return false;
+      }
+      childrenIgnored(p) {
+        const fullpath = p.fullpath() + "/";
+        const relative = (p.relative() || ".") + "/";
+        for (const m of this.relativeChildren) {
+          if (m.match(relative))
+            return true;
+        }
+        for (const m of this.absoluteChildren) {
+          if (m.match(fullpath))
+            return true;
+        }
+        return false;
       }
-    }
-    function emitErrorNT(self2, err) {
-      self2.emit("error", err);
-    }
-    module2.exports = {
-      destroy,
-      undestroy
     };
+    exports2.Ignore = Ignore;
   }
 });
 
-// node_modules/util-deprecate/node.js
-var require_node2 = __commonJS({
-  "node_modules/util-deprecate/node.js"(exports2, module2) {
-    module2.exports = require("util").deprecate;
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
-var require_stream_writable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
+// node_modules/glob/dist/commonjs/processor.js
+var require_processor = __commonJS({
+  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
     "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Writable;
-    function CorkedRequest(state) {
-      var _this = this;
-      this.next = null;
-      this.entry = null;
-      this.finish = function() {
-        onCorkedFinish(_this, state);
-      };
-    }
-    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
-    var Duplex;
-    Writable.WritableState = WritableState;
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var internalUtil = {
-      deprecate: require_node2()
-    };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
-    };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var destroyImpl = require_destroy();
-    util.inherits(Writable, Stream);
-    function nop() {
-    }
-    function WritableState(options, stream) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
-      var hwm = options.highWaterMark;
-      var writableHwm = options.writableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      var noDecode = options.decodeStrings === false;
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = function(er) {
-        onwrite(stream, er);
-      };
-      this.writecb = null;
-      this.writelen = 0;
-      this.bufferedRequest = null;
-      this.lastBufferedRequest = null;
-      this.pendingcb = 0;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.bufferedRequestCount = 0;
-      this.corkedRequestsFree = new CorkedRequest(this);
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      var current = this.bufferedRequest;
-      var out = [];
-      while (current) {
-        out.push(current);
-        current = current.next;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
+    var minimatch_1 = require_commonjs20();
+    var HasWalkedCache = class _HasWalkedCache {
+      store;
+      constructor(store = /* @__PURE__ */ new Map()) {
+        this.store = store;
       }
-      return out;
-    };
-    (function() {
-      try {
-        Object.defineProperty(WritableState.prototype, "buffer", {
-          get: internalUtil.deprecate(function() {
-            return this.getBuffer();
-          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
-        });
-      } catch (_2) {
+      copy() {
+        return new _HasWalkedCache(new Map(this.store));
       }
-    })();
-    var realHasInstance;
-    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
-      realHasInstance = Function.prototype[Symbol.hasInstance];
-      Object.defineProperty(Writable, Symbol.hasInstance, {
-        value: function(object) {
-          if (realHasInstance.call(this, object)) return true;
-          if (this !== Writable) return false;
-          return object && object._writableState instanceof WritableState;
-        }
-      });
-    } else {
-      realHasInstance = function(object) {
-        return object instanceof this;
-      };
-    }
-    function Writable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
-        return new Writable(options);
+      hasWalked(target, pattern) {
+        return this.store.get(target.fullpath())?.has(pattern.globString());
       }
-      this._writableState = new WritableState(options, this);
-      this.writable = true;
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
+      storeWalked(target, pattern) {
+        const fullpath = target.fullpath();
+        const cached = this.store.get(fullpath);
+        if (cached)
+          cached.add(pattern.globString());
+        else
+          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
       }
-      Stream.call(this);
-    }
-    Writable.prototype.pipe = function() {
-      this.emit("error", new Error("Cannot pipe, not readable"));
     };
-    function writeAfterEnd(stream, cb) {
-      var er = new Error("write after end");
-      stream.emit("error", er);
-      pna.nextTick(cb, er);
-    }
-    function validChunk(stream, state, chunk, cb) {
-      var valid3 = true;
-      var er = false;
-      if (chunk === null) {
-        er = new TypeError("May not write null values to stream");
-      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+    exports2.HasWalkedCache = HasWalkedCache;
+    var MatchRecord = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, absolute, ifDir) {
+        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
+        const current = this.store.get(target);
+        this.store.set(target, current === void 0 ? n : n & current);
       }
-      if (er) {
-        stream.emit("error", er);
-        pna.nextTick(cb, er);
-        valid3 = false;
+      // match, absolute, ifdir
+      entries() {
+        return [...this.store.entries()].map(([path4, n]) => [
+          path4,
+          !!(n & 2),
+          !!(n & 1)
+        ]);
       }
-      return valid3;
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      var ret = false;
-      var isBuf = !state.objectMode && _isUint8Array(chunk);
-      if (isBuf && !Buffer2.isBuffer(chunk)) {
-        chunk = _uint8ArrayToBuffer(chunk);
+    };
+    exports2.MatchRecord = MatchRecord;
+    var SubWalks = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, pattern) {
+        if (!target.canReaddir()) {
+          return;
+        }
+        const subs = this.store.get(target);
+        if (subs) {
+          if (!subs.find((p) => p.globString() === pattern.globString())) {
+            subs.push(pattern);
+          }
+        } else
+          this.store.set(target, [pattern]);
       }
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
+      get(target) {
+        const subs = this.store.get(target);
+        if (!subs) {
+          throw new Error("attempting to walk unknown path");
+        }
+        return subs;
       }
-      if (isBuf) encoding = "buffer";
-      else if (!encoding) encoding = state.defaultEncoding;
-      if (typeof cb !== "function") cb = nop;
-      if (state.ended) writeAfterEnd(this, cb);
-      else if (isBuf || validChunk(this, state, chunk, cb)) {
-        state.pendingcb++;
-        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
+      entries() {
+        return this.keys().map((k) => [k, this.store.get(k)]);
       }
-      return ret;
-    };
-    Writable.prototype.cork = function() {
-      var state = this._writableState;
-      state.corked++;
-    };
-    Writable.prototype.uncork = function() {
-      var state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
+      keys() {
+        return [...this.store.keys()].filter((t) => t.canReaddir());
       }
     };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = encoding.toLowerCase();
-      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function decodeChunk(state, chunk, encoding) {
-      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
-        chunk = Buffer2.from(chunk, encoding);
+    exports2.SubWalks = SubWalks;
+    var Processor = class _Processor {
+      hasWalkedCache;
+      matches = new MatchRecord();
+      subwalks = new SubWalks();
+      patterns;
+      follow;
+      dot;
+      opts;
+      constructor(opts, hasWalkedCache) {
+        this.opts = opts;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
       }
-      return chunk;
-    }
-    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+      processPatterns(target, patterns) {
+        this.patterns = patterns;
+        const processingSet = patterns.map((p) => [target, p]);
+        for (let [t, pattern] of processingSet) {
+          this.hasWalkedCache.storeWalked(t, pattern);
+          const root = pattern.root();
+          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
+          if (root) {
+            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
+            const rest2 = pattern.rest();
+            if (!rest2) {
+              this.matches.add(t, true, false);
+              continue;
+            } else {
+              pattern = rest2;
+            }
+          }
+          if (t.isENOENT())
+            continue;
+          let p;
+          let rest;
+          let changed = false;
+          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
+            const c = t.resolve(p);
+            t = c;
+            pattern = rest;
+            changed = true;
+          }
+          p = pattern.pattern();
+          rest = pattern.rest();
+          if (changed) {
+            if (this.hasWalkedCache.hasWalked(t, pattern))
+              continue;
+            this.hasWalkedCache.storeWalked(t, pattern);
+          }
+          if (typeof p === "string") {
+            const ifDir = p === ".." || p === "" || p === ".";
+            this.matches.add(t.resolve(p), absolute, ifDir);
+            continue;
+          } else if (p === minimatch_1.GLOBSTAR) {
+            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
+              this.subwalks.add(t, pattern);
+            }
+            const rp = rest?.pattern();
+            const rrest = rest?.rest();
+            if (!rest || (rp === "" || rp === ".") && !rrest) {
+              this.matches.add(t, absolute, rp === "" || rp === ".");
+            } else {
+              if (rp === "..") {
+                const tp = t.parent || t;
+                if (!rrest)
+                  this.matches.add(tp, absolute, true);
+                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
+                  this.subwalks.add(tp, rrest);
+                }
+              }
+            }
+          } else if (p instanceof RegExp) {
+            this.subwalks.add(t, pattern);
+          }
+        }
+        return this;
       }
-    });
-    function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
-      if (!isBuf) {
-        var newChunk = decodeChunk(state, chunk, encoding);
-        if (chunk !== newChunk) {
-          isBuf = true;
-          encoding = "buffer";
-          chunk = newChunk;
+      subwalkTargets() {
+        return this.subwalks.keys();
+      }
+      child() {
+        return new _Processor(this.opts, this.hasWalkedCache);
+      }
+      // return a new Processor containing the subwalks for each
+      // child entry, and a set of matches, and
+      // a hasWalkedCache that's a copy of this one
+      // then we're going to call
+      filterEntries(parent, entries) {
+        const patterns = this.subwalks.get(parent);
+        const results = this.child();
+        for (const e of entries) {
+          for (const pattern of patterns) {
+            const absolute = pattern.isAbsolute();
+            const p = pattern.pattern();
+            const rest = pattern.rest();
+            if (p === minimatch_1.GLOBSTAR) {
+              results.testGlobstar(e, pattern, rest, absolute);
+            } else if (p instanceof RegExp) {
+              results.testRegExp(e, p, rest, absolute);
+            } else {
+              results.testString(e, p, rest, absolute);
+            }
+          }
         }
+        return results;
       }
-      var len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      var ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked) {
-        var last = state.lastBufferedRequest;
-        state.lastBufferedRequest = {
-          chunk,
-          encoding,
-          isBuf,
-          callback: cb,
-          next: null
-        };
-        if (last) {
-          last.next = state.lastBufferedRequest;
+      testGlobstar(e, pattern, rest, absolute) {
+        if (this.dot || !e.name.startsWith(".")) {
+          if (!pattern.hasMore()) {
+            this.matches.add(e, absolute, false);
+          }
+          if (e.canReaddir()) {
+            if (this.follow || !e.isSymbolicLink()) {
+              this.subwalks.add(e, pattern);
+            } else if (e.isSymbolicLink()) {
+              if (rest && pattern.checkFollowGlobstar()) {
+                this.subwalks.add(e, rest);
+              } else if (pattern.markFollowGlobstar()) {
+                this.subwalks.add(e, pattern);
+              }
+            }
+          }
+        }
+        if (rest) {
+          const rp = rest.pattern();
+          if (typeof rp === "string" && // dots and empty were handled already
+          rp !== ".." && rp !== "" && rp !== ".") {
+            this.testString(e, rp, rest.rest(), absolute);
+          } else if (rp === "..") {
+            const ep = e.parent || e;
+            this.subwalks.add(ep, rest);
+          } else if (rp instanceof RegExp) {
+            this.testRegExp(e, rp, rest.rest(), absolute);
+          }
+        }
+      }
+      testRegExp(e, p, rest, absolute) {
+        if (!p.test(e.name))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
         } else {
-          state.bufferedRequest = state.lastBufferedRequest;
+          this.subwalks.add(e, rest);
         }
-        state.bufferedRequestCount += 1;
-      } else {
-        doWrite(stream, state, false, len, chunk, encoding, cb);
       }
-      return ret;
-    }
-    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (writev) stream._writev(chunk, state.onwrite);
-      else stream._write(chunk, encoding, state.onwrite);
-      state.sync = false;
-    }
-    function onwriteError(stream, state, sync, er, cb) {
-      --state.pendingcb;
-      if (sync) {
-        pna.nextTick(cb, er);
-        pna.nextTick(finishMaybe, stream, state);
-        stream._writableState.errorEmitted = true;
-        stream.emit("error", er);
-      } else {
-        cb(er);
-        stream._writableState.errorEmitted = true;
-        stream.emit("error", er);
-        finishMaybe(stream, state);
+      testString(e, p, rest, absolute) {
+        if (!e.isNamed(p))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
+        }
       }
-    }
-    function onwriteStateUpdate(state) {
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
-    }
-    function onwrite(stream, er) {
-      var state = stream._writableState;
-      var sync = state.sync;
-      var cb = state.writecb;
-      onwriteStateUpdate(state);
-      if (er) onwriteError(stream, state, sync, er, cb);
-      else {
-        var finished = needFinish(state);
-        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
-          clearBuffer(stream, state);
+    };
+    exports2.Processor = Processor;
+  }
+});
+
+// node_modules/glob/dist/commonjs/walker.js
+var require_walker = __commonJS({
+  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
+    var minipass_1 = require_commonjs22();
+    var ignore_js_1 = require_ignore();
+    var processor_js_1 = require_processor();
+    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
+    var GlobUtil = class {
+      path;
+      patterns;
+      opts;
+      seen = /* @__PURE__ */ new Set();
+      paused = false;
+      aborted = false;
+      #onResume = [];
+      #ignore;
+      #sep;
+      signal;
+      maxDepth;
+      includeChildMatches;
+      constructor(patterns, path4, opts) {
+        this.patterns = patterns;
+        this.path = path4;
+        this.opts = opts;
+        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        if (opts.ignore || !this.includeChildMatches) {
+          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
+          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
+            const m = "cannot ignore child matches, ignore lacks add() method.";
+            throw new Error(m);
+          }
         }
-        if (sync) {
-          asyncWrite(afterWrite, stream, state, finished, cb);
-        } else {
-          afterWrite(stream, state, finished, cb);
+        this.maxDepth = opts.maxDepth || Infinity;
+        if (opts.signal) {
+          this.signal = opts.signal;
+          this.signal.addEventListener("abort", () => {
+            this.#onResume.length = 0;
+          });
         }
       }
-    }
-    function afterWrite(stream, state, finished, cb) {
-      if (!finished) onwriteDrain(stream, state);
-      state.pendingcb--;
-      cb();
-      finishMaybe(stream, state);
-    }
-    function onwriteDrain(stream, state) {
-      if (state.length === 0 && state.needDrain) {
-        state.needDrain = false;
-        stream.emit("drain");
+      #ignored(path4) {
+        return this.seen.has(path4) || !!this.#ignore?.ignored?.(path4);
       }
-    }
-    function clearBuffer(stream, state) {
-      state.bufferProcessing = true;
-      var entry = state.bufferedRequest;
-      if (stream._writev && entry && entry.next) {
-        var l = state.bufferedRequestCount;
-        var buffer = new Array(l);
-        var holder = state.corkedRequestsFree;
-        holder.entry = entry;
-        var count = 0;
-        var allBuffers = true;
-        while (entry) {
-          buffer[count] = entry;
-          if (!entry.isBuf) allBuffers = false;
-          entry = entry.next;
-          count += 1;
+      #childrenIgnored(path4) {
+        return !!this.#ignore?.childrenIgnored?.(path4);
+      }
+      // backpressure mechanism
+      pause() {
+        this.paused = true;
+      }
+      resume() {
+        if (this.signal?.aborted)
+          return;
+        this.paused = false;
+        let fn = void 0;
+        while (!this.paused && (fn = this.#onResume.shift())) {
+          fn();
         }
-        buffer.allBuffers = allBuffers;
-        doWrite(stream, state, true, state.length, buffer, "", holder.finish);
-        state.pendingcb++;
-        state.lastBufferedRequest = null;
-        if (holder.next) {
-          state.corkedRequestsFree = holder.next;
-          holder.next = null;
+      }
+      onResume(fn) {
+        if (this.signal?.aborted)
+          return;
+        if (!this.paused) {
+          fn();
         } else {
-          state.corkedRequestsFree = new CorkedRequest(state);
+          this.#onResume.push(fn);
         }
-        state.bufferedRequestCount = 0;
-      } else {
-        while (entry) {
-          var chunk = entry.chunk;
-          var encoding = entry.encoding;
-          var cb = entry.callback;
-          var len = state.objectMode ? 1 : chunk.length;
-          doWrite(stream, state, false, len, chunk, encoding, cb);
-          entry = entry.next;
-          state.bufferedRequestCount--;
-          if (state.writing) {
-            break;
+      }
+      // do the requisite realpath/stat checking, and return the path
+      // to add or undefined to filter it out.
+      async matchCheck(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || await e.realpath();
+          if (!rpc)
+            return void 0;
+          e = rpc;
+        }
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? await e.lstat() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = await s.realpath();
+          if (target && (target.isUnknown() || this.opts.stat)) {
+            await target.lstat();
           }
         }
-        if (entry === null) state.lastBufferedRequest = null;
+        return this.matchCheckTest(s, ifDir);
       }
-      state.bufferedRequest = entry;
-      state.bufferProcessing = false;
-    }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      cb(new Error("_write() is not implemented"));
-    };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
+      matchCheckTest(e, ifDir) {
+        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
       }
-      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
+      matchCheckSync(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || e.realpathSync();
+          if (!rpc)
+            return void 0;
+          e = rpc;
+        }
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? e.lstatSync() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = s.realpathSync();
+          if (target && (target?.isUnknown() || this.opts.stat)) {
+            target.lstatSync();
+          }
+        }
+        return this.matchCheckTest(s, ifDir);
       }
-      if (!state.ending) endWritable(this, state, cb);
-    };
-    function needFinish(state) {
-      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
-    }
-    function callFinal(stream, state) {
-      stream._final(function(err) {
-        state.pendingcb--;
-        if (err) {
-          stream.emit("error", err);
+      matchFinish(e, absolute) {
+        if (this.#ignored(e))
+          return;
+        if (!this.includeChildMatches && this.#ignore?.add) {
+          const ign = `${e.relativePosix()}/**`;
+          this.#ignore.add(ign);
         }
-        state.prefinished = true;
-        stream.emit("prefinish");
-        finishMaybe(stream, state);
-      });
-    }
-    function prefinish(stream, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream._final === "function") {
-          state.pendingcb++;
-          state.finalCalled = true;
-          pna.nextTick(callFinal, stream, state);
+        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
+        this.seen.add(e);
+        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
+        if (this.opts.withFileTypes) {
+          this.matchEmit(e);
+        } else if (abs) {
+          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
+          this.matchEmit(abs2 + mark);
         } else {
-          state.prefinished = true;
-          stream.emit("prefinish");
+          const rel = this.opts.posix ? e.relativePosix() : e.relative();
+          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
+          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
         }
       }
-    }
-    function finishMaybe(stream, state) {
-      var need = needFinish(state);
-      if (need) {
-        prefinish(stream, state);
-        if (state.pendingcb === 0) {
-          state.finished = true;
-          stream.emit("finish");
-        }
+      async match(e, absolute, ifDir) {
+        const p = await this.matchCheck(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
       }
-      return need;
-    }
-    function endWritable(stream, state, cb) {
-      state.ending = true;
-      finishMaybe(stream, state);
-      if (cb) {
-        if (state.finished) pna.nextTick(cb);
-        else stream.once("finish", cb);
+      matchSync(e, absolute, ifDir) {
+        const p = this.matchCheckSync(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
       }
-      state.ended = true;
-      stream.writable = false;
-    }
-    function onCorkedFinish(corkReq, state, err) {
-      var entry = corkReq.entry;
-      corkReq.entry = null;
-      while (entry) {
-        var cb = entry.callback;
-        state.pendingcb--;
-        cb(err);
-        entry = entry.next;
+      walkCB(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
       }
-      state.corkedRequestsFree.next = corkReq;
-    }
-    Object.defineProperty(Writable.prototype, "destroyed", {
-      get: function() {
-        if (this._writableState === void 0) {
-          return false;
-        }
-        return this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._writableState) {
+      walkCB2(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
           return;
         }
-        this._writableState.destroyed = value;
-      }
-    });
-    Writable.prototype.destroy = destroyImpl.destroy;
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      this.end();
-      cb(err);
-    };
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
-var require_stream_duplex = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    var objectKeys = Object.keys || function(obj) {
-      var keys2 = [];
-      for (var key in obj) {
-        keys2.push(key);
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
+        }
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const childrenCached = t.readdirCached();
+          if (t.calledReaddir())
+            this.walkCB3(t, childrenCached, processor, next);
+          else {
+            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
+          }
+        }
+        next();
       }
-      return keys2;
-    };
-    module2.exports = Duplex;
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var Readable = require_stream_readable();
-    var Writable = require_stream_writable();
-    util.inherits(Duplex, Readable);
-    {
-      keys = objectKeys(Writable.prototype);
-      for (v = 0; v < keys.length; v++) {
-        method = keys[v];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
+      walkCB3(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
+        }
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2(target2, patterns, processor.child(), next);
+        }
+        next();
       }
-    }
-    var keys;
-    var method;
-    var v;
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable.call(this, options);
-      Writable.call(this, options);
-      if (options && options.readable === false) this.readable = false;
-      if (options && options.writable === false) this.writable = false;
-      this.allowHalfOpen = true;
-      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
-      this.once("end", onend);
-    }
-    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+      walkCBSync(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
       }
-    });
-    function onend() {
-      if (this.allowHalfOpen || this._writableState.ended) return;
-      pna.nextTick(onEndNT, this);
-    }
-    function onEndNT(self2) {
-      self2.end();
-    }
-    Object.defineProperty(Duplex.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return false;
-        }
-        return this._readableState.destroyed && this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (this._readableState === void 0 || this._writableState === void 0) {
+      walkCB2Sync(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
           return;
         }
-        this._readableState.destroyed = value;
-        this._writableState.destroyed = value;
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
+        }
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const children = t.readdirSync();
+          this.walkCB3Sync(t, children, processor, next);
+        }
+        next();
       }
-    });
-    Duplex.prototype._destroy = function(err, cb) {
-      this.push(null);
-      this.end();
-      pna.nextTick(cb, err);
-    };
-  }
-});
-
-// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
-var require_string_decoder = __commonJS({
-  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
-    "use strict";
-    var Buffer2 = require_safe_buffer().Buffer;
-    var isEncoding = Buffer2.isEncoding || function(encoding) {
-      encoding = "" + encoding;
-      switch (encoding && encoding.toLowerCase()) {
-        case "hex":
-        case "utf8":
-        case "utf-8":
-        case "ascii":
-        case "binary":
-        case "base64":
-        case "ucs2":
-        case "ucs-2":
-        case "utf16le":
-        case "utf-16le":
-        case "raw":
-          return true;
-        default:
-          return false;
+      walkCB3Sync(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
+        }
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2Sync(target2, patterns, processor.child(), next);
+        }
+        next();
       }
     };
-    function _normalizeEncoding(enc) {
-      if (!enc) return "utf8";
-      var retried;
-      while (true) {
-        switch (enc) {
-          case "utf8":
-          case "utf-8":
-            return "utf8";
-          case "ucs2":
-          case "ucs-2":
-          case "utf16le":
-          case "utf-16le":
-            return "utf16le";
-          case "latin1":
-          case "binary":
-            return "latin1";
-          case "base64":
-          case "ascii":
-          case "hex":
-            return enc;
-          default:
-            if (retried) return;
-            enc = ("" + enc).toLowerCase();
-            retried = true;
-        }
+    exports2.GlobUtil = GlobUtil;
+    var GlobWalker = class extends GlobUtil {
+      matches = /* @__PURE__ */ new Set();
+      constructor(patterns, path4, opts) {
+        super(patterns, path4, opts);
       }
-    }
-    function normalizeEncoding(enc) {
-      var nenc = _normalizeEncoding(enc);
-      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
-      return nenc || enc;
-    }
-    exports2.StringDecoder = StringDecoder;
-    function StringDecoder(encoding) {
-      this.encoding = normalizeEncoding(encoding);
-      var nb;
-      switch (this.encoding) {
-        case "utf16le":
-          this.text = utf16Text;
-          this.end = utf16End;
-          nb = 4;
-          break;
-        case "utf8":
-          this.fillLast = utf8FillLast;
-          nb = 4;
-          break;
-        case "base64":
-          this.text = base64Text;
-          this.end = base64End;
-          nb = 3;
-          break;
-        default:
-          this.write = simpleWrite;
-          this.end = simpleEnd;
-          return;
+      matchEmit(e) {
+        this.matches.add(e);
       }
-      this.lastNeed = 0;
-      this.lastTotal = 0;
-      this.lastChar = Buffer2.allocUnsafe(nb);
-    }
-    StringDecoder.prototype.write = function(buf) {
-      if (buf.length === 0) return "";
-      var r;
-      var i;
-      if (this.lastNeed) {
-        r = this.fillLast(buf);
-        if (r === void 0) return "";
-        i = this.lastNeed;
-        this.lastNeed = 0;
-      } else {
-        i = 0;
+      async walk() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          await this.path.lstat();
+        }
+        await new Promise((res, rej) => {
+          this.walkCB(this.path, this.patterns, () => {
+            if (this.signal?.aborted) {
+              rej(this.signal.reason);
+            } else {
+              res(this.matches);
+            }
+          });
+        });
+        return this.matches;
       }
-      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
-      return r || "";
-    };
-    StringDecoder.prototype.end = utf8End;
-    StringDecoder.prototype.text = utf8Text;
-    StringDecoder.prototype.fillLast = function(buf) {
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      walkSync() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
+        }
+        this.walkCBSync(this.path, this.patterns, () => {
+          if (this.signal?.aborted)
+            throw this.signal.reason;
+        });
+        return this.matches;
       }
-      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
-      this.lastNeed -= buf.length;
     };
-    function utf8CheckByte(byte) {
-      if (byte <= 127) return 0;
-      else if (byte >> 5 === 6) return 2;
-      else if (byte >> 4 === 14) return 3;
-      else if (byte >> 3 === 30) return 4;
-      return byte >> 6 === 2 ? -1 : -2;
-    }
-    function utf8CheckIncomplete(self2, buf, i) {
-      var j = buf.length - 1;
-      if (j < i) return 0;
-      var nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 1;
-        return nb;
+    exports2.GlobWalker = GlobWalker;
+    var GlobStream = class extends GlobUtil {
+      results;
+      constructor(patterns, path4, opts) {
+        super(patterns, path4, opts);
+        this.results = new minipass_1.Minipass({
+          signal: this.signal,
+          objectMode: true
+        });
+        this.results.on("drain", () => this.resume());
+        this.results.on("resume", () => this.resume());
       }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 2;
-        return nb;
+      matchEmit(e) {
+        this.results.write(e);
+        if (!this.results.flowing)
+          this.pause();
       }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) {
-          if (nb === 2) nb = 0;
-          else self2.lastNeed = nb - 3;
+      stream() {
+        const target = this.path;
+        if (target.isUnknown()) {
+          target.lstat().then(() => {
+            this.walkCB(target, this.patterns, () => this.results.end());
+          });
+        } else {
+          this.walkCB(target, this.patterns, () => this.results.end());
         }
-        return nb;
+        return this.results;
       }
-      return 0;
-    }
-    function utf8CheckExtraBytes(self2, buf, p) {
-      if ((buf[0] & 192) !== 128) {
-        self2.lastNeed = 0;
-        return "\uFFFD";
+      streamSync() {
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
+        }
+        this.walkCBSync(this.path, this.patterns, () => this.results.end());
+        return this.results;
       }
-      if (self2.lastNeed > 1 && buf.length > 1) {
-        if ((buf[1] & 192) !== 128) {
-          self2.lastNeed = 1;
-          return "\uFFFD";
+    };
+    exports2.GlobStream = GlobStream;
+  }
+});
+
+// node_modules/glob/dist/commonjs/glob.js
+var require_glob2 = __commonJS({
+  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Glob = void 0;
+    var minimatch_1 = require_commonjs20();
+    var node_url_1 = require("node:url");
+    var path_scurry_1 = require_commonjs23();
+    var pattern_js_1 = require_pattern();
+    var walker_js_1 = require_walker();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Glob = class {
+      absolute;
+      cwd;
+      root;
+      dot;
+      dotRelative;
+      follow;
+      ignore;
+      magicalBraces;
+      mark;
+      matchBase;
+      maxDepth;
+      nobrace;
+      nocase;
+      nodir;
+      noext;
+      noglobstar;
+      pattern;
+      platform;
+      realpath;
+      scurry;
+      stat;
+      signal;
+      windowsPathsNoEscape;
+      withFileTypes;
+      includeChildMatches;
+      /**
+       * The options provided to the constructor.
+       */
+      opts;
+      /**
+       * An array of parsed immutable {@link Pattern} objects.
+       */
+      patterns;
+      /**
+       * All options are stored as properties on the `Glob` object.
+       *
+       * See {@link GlobOptions} for full options descriptions.
+       *
+       * Note that a previous `Glob` object can be passed as the
+       * `GlobOptions` to another `Glob` instantiation to re-use settings
+       * and caches with a new pattern.
+       *
+       * Traversal functions can be called multiple times to run the walk
+       * again.
+       */
+      constructor(pattern, opts) {
+        if (!opts)
+          throw new TypeError("glob options required");
+        this.withFileTypes = !!opts.withFileTypes;
+        this.signal = opts.signal;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.dotRelative = !!opts.dotRelative;
+        this.nodir = !!opts.nodir;
+        this.mark = !!opts.mark;
+        if (!opts.cwd) {
+          this.cwd = "";
+        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
+          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
         }
-        if (self2.lastNeed > 2 && buf.length > 2) {
-          if ((buf[2] & 192) !== 128) {
-            self2.lastNeed = 2;
-            return "\uFFFD";
+        this.cwd = opts.cwd || "";
+        this.root = opts.root;
+        this.magicalBraces = !!opts.magicalBraces;
+        this.nobrace = !!opts.nobrace;
+        this.noext = !!opts.noext;
+        this.realpath = !!opts.realpath;
+        this.absolute = opts.absolute;
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        this.noglobstar = !!opts.noglobstar;
+        this.matchBase = !!opts.matchBase;
+        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
+        this.stat = !!opts.stat;
+        this.ignore = opts.ignore;
+        if (this.withFileTypes && this.absolute !== void 0) {
+          throw new Error("cannot set absolute and withFileTypes:true");
+        }
+        if (typeof pattern === "string") {
+          pattern = [pattern];
+        }
+        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
+        }
+        if (this.matchBase) {
+          if (opts.noglobstar) {
+            throw new TypeError("base matching requires globstar");
           }
+          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
         }
-      }
-    }
-    function utf8FillLast(buf) {
-      var p = this.lastTotal - this.lastNeed;
-      var r = utf8CheckExtraBytes(this, buf, p);
-      if (r !== void 0) return r;
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, p, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
-      }
-      buf.copy(this.lastChar, p, 0, buf.length);
-      this.lastNeed -= buf.length;
-    }
-    function utf8Text(buf, i) {
-      var total = utf8CheckIncomplete(this, buf, i);
-      if (!this.lastNeed) return buf.toString("utf8", i);
-      this.lastTotal = total;
-      var end = buf.length - (total - this.lastNeed);
-      buf.copy(this.lastChar, 0, end);
-      return buf.toString("utf8", i, end);
-    }
-    function utf8End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + "\uFFFD";
-      return r;
-    }
-    function utf16Text(buf, i) {
-      if ((buf.length - i) % 2 === 0) {
-        var r = buf.toString("utf16le", i);
-        if (r) {
-          var c = r.charCodeAt(r.length - 1);
-          if (c >= 55296 && c <= 56319) {
-            this.lastNeed = 2;
-            this.lastTotal = 4;
-            this.lastChar[0] = buf[buf.length - 2];
-            this.lastChar[1] = buf[buf.length - 1];
-            return r.slice(0, -1);
+        this.pattern = pattern;
+        this.platform = opts.platform || defaultPlatform;
+        this.opts = { ...opts, platform: this.platform };
+        if (opts.scurry) {
+          this.scurry = opts.scurry;
+          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
+            throw new Error("nocase option contradicts provided scurry option");
           }
+        } else {
+          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
+          this.scurry = new Scurry(this.cwd, {
+            nocase: opts.nocase,
+            fs: opts.fs
+          });
         }
-        return r;
+        this.nocase = this.scurry.nocase;
+        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
+        const mmo = {
+          // default nocase based on platform
+          ...opts,
+          dot: this.dot,
+          matchBase: this.matchBase,
+          nobrace: this.nobrace,
+          nocase: this.nocase,
+          nocaseMagicOnly,
+          nocomment: true,
+          noext: this.noext,
+          nonegate: true,
+          optimizationLevel: 2,
+          platform: this.platform,
+          windowsPathsNoEscape: this.windowsPathsNoEscape,
+          debug: !!this.opts.debug
+        };
+        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
+        const [matchSet, globParts] = mms.reduce((set2, m) => {
+          set2[0].push(...m.set);
+          set2[1].push(...m.globParts);
+          return set2;
+        }, [[], []]);
+        this.patterns = matchSet.map((set2, i) => {
+          const g = globParts[i];
+          if (!g)
+            throw new Error("invalid pattern object");
+          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
+        });
       }
-      this.lastNeed = 1;
-      this.lastTotal = 2;
-      this.lastChar[0] = buf[buf.length - 1];
-      return buf.toString("utf16le", i, buf.length - 1);
-    }
-    function utf16End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) {
-        var end = this.lastTotal - this.lastNeed;
-        return r + this.lastChar.toString("utf16le", 0, end);
+      async walk() {
+        return [
+          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walk()
+        ];
       }
-      return r;
-    }
-    function base64Text(buf, i) {
-      var n = (buf.length - i) % 3;
-      if (n === 0) return buf.toString("base64", i);
-      this.lastNeed = 3 - n;
-      this.lastTotal = 3;
-      if (n === 1) {
-        this.lastChar[0] = buf[buf.length - 1];
-      } else {
-        this.lastChar[0] = buf[buf.length - 2];
-        this.lastChar[1] = buf[buf.length - 1];
+      walkSync() {
+        return [
+          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walkSync()
+        ];
       }
-      return buf.toString("base64", i, buf.length - n);
-    }
-    function base64End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
-      return r;
-    }
-    function simpleWrite(buf) {
-      return buf.toString(this.encoding);
-    }
-    function simpleEnd(buf) {
-      return buf && buf.length ? this.write(buf) : "";
-    }
+      stream() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).stream();
+      }
+      streamSync() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).streamSync();
+      }
+      /**
+       * Default sync iteration function. Returns a Generator that
+       * iterates over the results.
+       */
+      iterateSync() {
+        return this.streamSync()[Symbol.iterator]();
+      }
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      /**
+       * Default async iteration function. Returns an AsyncGenerator that
+       * iterates over the results.
+       */
+      iterate() {
+        return this.stream()[Symbol.asyncIterator]();
+      }
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+    };
+    exports2.Glob = Glob;
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
-var require_stream_readable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
+// node_modules/glob/dist/commonjs/has-magic.js
+var require_has_magic = __commonJS({
+  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
     "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Readable;
-    var isArray = require_isarray();
-    var Duplex;
-    Readable.ReadableState = ReadableState;
-    var EE = require("events").EventEmitter;
-    var EElistenerCount = function(emitter, type2) {
-      return emitter.listeners(type2).length;
-    };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
-    };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    var debugUtil = require("util");
-    var debug4 = void 0;
-    if (debugUtil && debugUtil.debuglog) {
-      debug4 = debugUtil.debuglog("stream");
-    } else {
-      debug4 = function() {
-      };
-    }
-    var BufferList = require_BufferList();
-    var destroyImpl = require_destroy();
-    var StringDecoder;
-    util.inherits(Readable, Stream);
-    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
-    function ReadableState(options, stream) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
-      var hwm = options.highWaterMark;
-      var readableHwm = options.readableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = null;
-      this.pipesCount = 0;
-      this.flowing = null;
-      this.ended = false;
-      this.endEmitted = false;
-      this.reading = false;
-      this.sync = true;
-      this.needReadable = false;
-      this.emittedReadable = false;
-      this.readableListening = false;
-      this.resumeScheduled = false;
-      this.destroyed = false;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.awaitDrain = 0;
-      this.readingMore = false;
-      this.decoder = null;
-      this.encoding = null;
-      if (options.encoding) {
-        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hasMagic = void 0;
+    var minimatch_1 = require_commonjs20();
+    var hasMagic = (pattern, options = {}) => {
+      if (!Array.isArray(pattern)) {
+        pattern = [pattern];
+      }
+      for (const p of pattern) {
+        if (new minimatch_1.Minimatch(p, options).hasMagic())
+          return true;
       }
+      return false;
+    };
+    exports2.hasMagic = hasMagic;
+  }
+});
+
+// node_modules/glob/dist/commonjs/index.js
+var require_commonjs24 = __commonJS({
+  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
+    exports2.globStreamSync = globStreamSync;
+    exports2.globStream = globStream;
+    exports2.globSync = globSync;
+    exports2.globIterateSync = globIterateSync;
+    exports2.globIterate = globIterate;
+    var minimatch_1 = require_commonjs20();
+    var glob_js_1 = require_glob2();
+    var has_magic_js_1 = require_has_magic();
+    var minimatch_2 = require_commonjs20();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return minimatch_2.escape;
+    } });
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return minimatch_2.unescape;
+    } });
+    var glob_js_2 = require_glob2();
+    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
+      return glob_js_2.Glob;
+    } });
+    var has_magic_js_2 = require_has_magic();
+    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
+      return has_magic_js_2.hasMagic;
+    } });
+    var ignore_js_1 = require_ignore();
+    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
+      return ignore_js_1.Ignore;
+    } });
+    function globStreamSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).streamSync();
     }
-    function Readable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!(this instanceof Readable)) return new Readable(options);
-      this._readableState = new ReadableState(options, this);
-      this.readable = true;
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-      }
-      Stream.call(this);
+    function globStream(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).stream();
     }
-    Object.defineProperty(Readable.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0) {
-          return false;
-        }
-        return this._readableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._readableState) {
-          return;
-        }
-        this._readableState.destroyed = value;
-      }
+    function globSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walkSync();
+    }
+    async function glob_(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walk();
+    }
+    function globIterateSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterateSync();
+    }
+    function globIterate(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterate();
+    }
+    exports2.streamSync = globStreamSync;
+    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
+    exports2.iterateSync = globIterateSync;
+    exports2.iterate = Object.assign(globIterate, {
+      sync: globIterateSync
     });
-    Readable.prototype.destroy = destroyImpl.destroy;
-    Readable.prototype._undestroy = destroyImpl.undestroy;
-    Readable.prototype._destroy = function(err, cb) {
-      this.push(null);
-      cb(err);
-    };
-    Readable.prototype.push = function(chunk, encoding) {
-      var state = this._readableState;
-      var skipChunkCheck;
-      if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (encoding !== state.encoding) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "";
-          }
-          skipChunkCheck = true;
+    exports2.sync = Object.assign(globSync, {
+      stream: globStreamSync,
+      iterate: globIterateSync
+    });
+    exports2.glob = Object.assign(glob_, {
+      glob: glob_,
+      globSync,
+      sync: exports2.sync,
+      globStream,
+      stream: exports2.stream,
+      globStreamSync,
+      streamSync: exports2.streamSync,
+      globIterate,
+      iterate: exports2.iterate,
+      globIterateSync,
+      iterateSync: exports2.iterateSync,
+      Glob: glob_js_1.Glob,
+      hasMagic: has_magic_js_1.hasMagic,
+      escape: minimatch_1.escape,
+      unescape: minimatch_1.unescape
+    });
+    exports2.glob.glob = exports2.glob;
+  }
+});
+
+// node_modules/archiver-utils/file.js
+var require_file4 = __commonJS({
+  "node_modules/archiver-utils/file.js"(exports2, module2) {
+    var fs3 = require_graceful_fs();
+    var path4 = require("path");
+    var flatten = require_flatten();
+    var difference = require_difference();
+    var union = require_union();
+    var isPlainObject3 = require_isPlainObject();
+    var glob2 = require_commonjs24();
+    var file = module2.exports = {};
+    var pathSeparatorRe = /[\/\\]/g;
+    var processPatterns = function(patterns, fn) {
+      var result = [];
+      flatten(patterns).forEach(function(pattern) {
+        var exclusion = pattern.indexOf("!") === 0;
+        if (exclusion) {
+          pattern = pattern.slice(1);
         }
-      } else {
-        skipChunkCheck = true;
-      }
-      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
+        var matches = fn(pattern);
+        if (exclusion) {
+          result = difference(result, matches);
+        } else {
+          result = union(result, matches);
+        }
+      });
+      return result;
     };
-    Readable.prototype.unshift = function(chunk) {
-      return readableAddChunk(this, chunk, null, true, false);
+    file.exists = function() {
+      var filepath = path4.join.apply(path4, arguments);
+      return fs3.existsSync(filepath);
     };
-    function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
-      var state = stream._readableState;
-      if (chunk === null) {
-        state.reading = false;
-        onEofChunk(stream, state);
-      } else {
-        var er;
-        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
-        if (er) {
-          stream.emit("error", er);
-        } else if (state.objectMode || chunk && chunk.length > 0) {
-          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
-            chunk = _uint8ArrayToBuffer(chunk);
-          }
-          if (addToFront) {
-            if (state.endEmitted) stream.emit("error", new Error("stream.unshift() after end event"));
-            else addChunk(stream, state, chunk, true);
-          } else if (state.ended) {
-            stream.emit("error", new Error("stream.push() after EOF"));
-          } else {
-            state.reading = false;
-            if (state.decoder && !encoding) {
-              chunk = state.decoder.write(chunk);
-              if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
-              else maybeReadMore(stream, state);
+    file.expand = function(...args) {
+      var options = isPlainObject3(args[0]) ? args.shift() : {};
+      var patterns = Array.isArray(args[0]) ? args[0] : args;
+      if (patterns.length === 0) {
+        return [];
+      }
+      var matches = processPatterns(patterns, function(pattern) {
+        return glob2.sync(pattern, options);
+      });
+      if (options.filter) {
+        matches = matches.filter(function(filepath) {
+          filepath = path4.join(options.cwd || "", filepath);
+          try {
+            if (typeof options.filter === "function") {
+              return options.filter(filepath);
             } else {
-              addChunk(stream, state, chunk, false);
+              return fs3.statSync(filepath)[options.filter]();
             }
+          } catch (e) {
+            return false;
           }
-        } else if (!addToFront) {
-          state.reading = false;
-        }
-      }
-      return needMoreData(state);
-    }
-    function addChunk(stream, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync) {
-        stream.emit("data", chunk);
-        stream.read(0);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if (state.needReadable) emitReadable(stream);
+        });
       }
-      maybeReadMore(stream, state);
-    }
-    function chunkInvalid(state, chunk) {
-      var er;
-      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+      return matches;
+    };
+    file.expandMapping = function(patterns, destBase, options) {
+      options = Object.assign({
+        rename: function(destBase2, destPath) {
+          return path4.join(destBase2 || "", destPath);
+        }
+      }, options);
+      var files = [];
+      var fileByDest = {};
+      file.expand(options, patterns).forEach(function(src) {
+        var destPath = src;
+        if (options.flatten) {
+          destPath = path4.basename(destPath);
+        }
+        if (options.ext) {
+          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+        }
+        var dest = options.rename(destBase, destPath, options);
+        if (options.cwd) {
+          src = path4.join(options.cwd, src);
+        }
+        dest = dest.replace(pathSeparatorRe, "/");
+        src = src.replace(pathSeparatorRe, "/");
+        if (fileByDest[dest]) {
+          fileByDest[dest].src.push(src);
+        } else {
+          files.push({
+            src: [src],
+            dest
+          });
+          fileByDest[dest] = files[files.length - 1];
+        }
+      });
+      return files;
+    };
+    file.normalizeFilesArray = function(data) {
+      var files = [];
+      data.forEach(function(obj) {
+        var prop;
+        if ("src" in obj || "dest" in obj) {
+          files.push(obj);
+        }
+      });
+      if (files.length === 0) {
+        return [];
       }
-      return er;
-    }
-    function needMoreData(state) {
-      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
-    }
-    Readable.prototype.isPaused = function() {
-      return this._readableState.flowing === false;
+      files = _(files).chain().forEach(function(obj) {
+        if (!("src" in obj) || !obj.src) {
+          return;
+        }
+        if (Array.isArray(obj.src)) {
+          obj.src = flatten(obj.src);
+        } else {
+          obj.src = [obj.src];
+        }
+      }).map(function(obj) {
+        var expandOptions = Object.assign({}, obj);
+        delete expandOptions.src;
+        delete expandOptions.dest;
+        if (obj.expand) {
+          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
+            var result2 = Object.assign({}, obj);
+            result2.orig = Object.assign({}, obj);
+            result2.src = mapObj.src;
+            result2.dest = mapObj.dest;
+            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
+              delete result2[prop];
+            });
+            return result2;
+          });
+        }
+        var result = Object.assign({}, obj);
+        result.orig = Object.assign({}, obj);
+        if ("src" in result) {
+          Object.defineProperty(result, "src", {
+            enumerable: true,
+            get: function fn() {
+              var src;
+              if (!("result" in fn)) {
+                src = obj.src;
+                src = Array.isArray(src) ? flatten(src) : [src];
+                fn.result = file.expand(expandOptions, src);
+              }
+              return fn.result;
+            }
+          });
+        }
+        if ("dest" in result) {
+          result.dest = obj.dest;
+        }
+        return result;
+      }).flatten().value();
+      return files;
     };
-    Readable.prototype.setEncoding = function(enc) {
-      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-      this._readableState.decoder = new StringDecoder(enc);
-      this._readableState.encoding = enc;
-      return this;
+  }
+});
+
+// node_modules/archiver-utils/index.js
+var require_archiver_utils = __commonJS({
+  "node_modules/archiver-utils/index.js"(exports2, module2) {
+    var fs3 = require_graceful_fs();
+    var path4 = require("path");
+    var isStream = require_is_stream();
+    var lazystream = require_lazystream();
+    var normalizePath = require_normalize_path();
+    var defaults = require_defaults();
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var utils = module2.exports = {};
+    utils.file = require_file4();
+    utils.collectStream = function(source, callback) {
+      var collection = [];
+      var size = 0;
+      source.on("error", callback);
+      source.on("data", function(chunk) {
+        collection.push(chunk);
+        size += chunk.length;
+      });
+      source.on("end", function() {
+        var buf = Buffer.alloc(size);
+        var offset = 0;
+        collection.forEach(function(data) {
+          data.copy(buf, offset);
+          offset += data.length;
+        });
+        callback(null, buf);
+      });
     };
-    var MAX_HWM = 8388608;
-    function computeNewHighWaterMark(n) {
-      if (n >= MAX_HWM) {
-        n = MAX_HWM;
+    utils.dateify = function(dateish) {
+      dateish = dateish || /* @__PURE__ */ new Date();
+      if (dateish instanceof Date) {
+        dateish = dateish;
+      } else if (typeof dateish === "string") {
+        dateish = new Date(dateish);
       } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+        dateish = /* @__PURE__ */ new Date();
       }
-      return n;
-    }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if (state.objectMode) return 1;
-      if (n !== n) {
-        if (state.flowing && state.length) return state.buffer.head.data.length;
-        else return state.length;
+      return dateish;
+    };
+    utils.defaults = function(object, source, guard) {
+      var args = arguments;
+      args[0] = args[0] || {};
+      return defaults(...args);
+    };
+    utils.isStream = function(source) {
+      return isStream(source);
+    };
+    utils.lazyReadStream = function(filepath) {
+      return new lazystream.Readable(function() {
+        return fs3.createReadStream(filepath);
+      });
+    };
+    utils.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (utils.isStream(source)) {
+        return source.pipe(new PassThrough());
       }
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n <= state.length) return n;
-      if (!state.ended) {
-        state.needReadable = true;
-        return 0;
+      return source;
+    };
+    utils.sanitizePath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+    };
+    utils.trailingSlashIt = function(str2) {
+      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
+    };
+    utils.unixifyPath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "");
+    };
+    utils.walkdir = function(dirpath, base, callback) {
+      var results = [];
+      if (typeof base === "function") {
+        callback = base;
+        base = dirpath;
       }
-      return state.length;
+      fs3.readdir(dirpath, function(err, list) {
+        var i = 0;
+        var file;
+        var filepath;
+        if (err) {
+          return callback(err);
+        }
+        (function next() {
+          file = list[i++];
+          if (!file) {
+            return callback(null, results);
+          }
+          filepath = path4.join(dirpath, file);
+          fs3.stat(filepath, function(err2, stats) {
+            results.push({
+              path: filepath,
+              relative: path4.relative(base, filepath).replace(/\\/g, "/"),
+              stats
+            });
+            if (stats && stats.isDirectory()) {
+              utils.walkdir(filepath, base, function(err3, res) {
+                if (err3) {
+                  return callback(err3);
+                }
+                res.forEach(function(dirEntry) {
+                  results.push(dirEntry);
+                });
+                next();
+              });
+            } else {
+              next();
+            }
+          });
+        })();
+      });
+    };
+  }
+});
+
+// node_modules/archiver/lib/error.js
+var require_error3 = __commonJS({
+  "node_modules/archiver/lib/error.js"(exports2, module2) {
+    var util = require("util");
+    var ERROR_CODES = {
+      "ABORTED": "archive was aborted",
+      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
+      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
+      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
+      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
+      "FINALIZING": "archive already finalizing",
+      "QUEUECLOSED": "queue closed",
+      "NOENDMETHOD": "no suitable finalize/end method defined by module",
+      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
+      "FORMATSET": "archive format already set",
+      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
+      "MODULESET": "module already set",
+      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
+      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
+      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
+      "ENTRYNOTSUPPORTED": "entry not supported"
+    };
+    function ArchiverError(code, data) {
+      Error.captureStackTrace(this, this.constructor);
+      this.message = ERROR_CODES[code] || code;
+      this.code = code;
+      this.data = data;
     }
-    Readable.prototype.read = function(n) {
-      debug4("read", n);
-      n = parseInt(n, 10);
-      var state = this._readableState;
-      var nOrig = n;
-      if (n !== 0) state.emittedReadable = false;
-      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
-        debug4("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
-      }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
-      }
-      var doRead = state.needReadable;
-      debug4("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug4("length less than watermark", doRead);
-      }
-      if (state.ended || state.reading) {
-        doRead = false;
-        debug4("reading or ended", doRead);
-      } else if (doRead) {
-        debug4("do read");
-        state.reading = true;
-        state.sync = true;
-        if (state.length === 0) state.needReadable = true;
-        this._read(state.highWaterMark);
-        state.sync = false;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
+    util.inherits(ArchiverError, Error);
+    exports2 = module2.exports = ArchiverError;
+  }
+});
+
+// node_modules/archiver/lib/core.js
+var require_core2 = __commonJS({
+  "node_modules/archiver/lib/core.js"(exports2, module2) {
+    var fs3 = require("fs");
+    var glob2 = require_readdir_glob();
+    var async = require_async();
+    var path4 = require("path");
+    var util = require_archiver_utils();
+    var inherits = require("util").inherits;
+    var ArchiverError = require_error3();
+    var Transform = require_ours().Transform;
+    var win32 = process.platform === "win32";
+    var Archiver = function(format, options) {
+      if (!(this instanceof Archiver)) {
+        return new Archiver(format, options);
       }
-      var ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = true;
-        n = 0;
-      } else {
-        state.length -= n;
+      if (typeof format !== "string") {
+        options = format;
+        format = "zip";
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
+      options = this.options = util.defaults(options, {
+        highWaterMark: 1024 * 1024,
+        statConcurrency: 4
+      });
+      Transform.call(this, options);
+      this._format = false;
+      this._module = false;
+      this._pending = 0;
+      this._pointer = 0;
+      this._entriesCount = 0;
+      this._entriesProcessedCount = 0;
+      this._fsEntriesTotalBytes = 0;
+      this._fsEntriesProcessedBytes = 0;
+      this._queue = async.queue(this._onQueueTask.bind(this), 1);
+      this._queue.drain(this._onQueueDrain.bind(this));
+      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
+      this._statQueue.drain(this._onQueueDrain.bind(this));
+      this._state = {
+        aborted: false,
+        finalize: false,
+        finalizing: false,
+        finalized: false,
+        modulePiped: false
+      };
+      this._streams = [];
+    };
+    inherits(Archiver, Transform);
+    Archiver.prototype._abort = function() {
+      this._state.aborted = true;
+      this._queue.kill();
+      this._statQueue.kill();
+      if (this._queue.idle()) {
+        this._shutdown();
       }
-      if (ret !== null) this.emit("data", ret);
-      return ret;
     };
-    function onEofChunk(stream, state) {
-      if (state.ended) return;
-      if (state.decoder) {
-        var chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
+    Archiver.prototype._append = function(filepath, data) {
+      data = data || {};
+      var task = {
+        source: null,
+        filepath
+      };
+      if (!data.name) {
+        data.name = filepath;
+      }
+      data.sourcePath = filepath;
+      task.data = data;
+      this._entriesCount++;
+      if (data.stats && data.stats instanceof fs3.Stats) {
+        task = this._updateQueueTaskWithStats(task, data.stats);
+        if (task) {
+          if (data.stats.size) {
+            this._fsEntriesTotalBytes += data.stats.size;
+          }
+          this._queue.push(task);
         }
+      } else {
+        this._statQueue.push(task);
       }
-      state.ended = true;
-      emitReadable(stream);
-    }
-    function emitReadable(stream) {
-      var state = stream._readableState;
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug4("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        if (state.sync) pna.nextTick(emitReadable_, stream);
-        else emitReadable_(stream);
+    };
+    Archiver.prototype._finalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
       }
-    }
-    function emitReadable_(stream) {
-      debug4("emit readable");
-      stream.emit("readable");
-      flow(stream);
-    }
-    function maybeReadMore(stream, state) {
-      if (!state.readingMore) {
-        state.readingMore = true;
-        pna.nextTick(maybeReadMore_, stream, state);
+      this._state.finalizing = true;
+      this._moduleFinalize();
+      this._state.finalizing = false;
+      this._state.finalized = true;
+    };
+    Archiver.prototype._maybeFinalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return false;
       }
-    }
-    function maybeReadMore_(stream, state) {
-      var len = state.length;
-      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
-        debug4("maybeReadMore read 0");
-        stream.read(0);
-        if (len === state.length)
-          break;
-        else len = state.length;
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+        return true;
       }
-      state.readingMore = false;
-    }
-    Readable.prototype._read = function(n) {
-      this.emit("error", new Error("_read() is not implemented"));
+      return false;
     };
-    Readable.prototype.pipe = function(dest, pipeOpts) {
-      var src = this;
-      var state = this._readableState;
-      switch (state.pipesCount) {
-        case 0:
-          state.pipes = dest;
-          break;
-        case 1:
-          state.pipes = [state.pipes, dest];
-          break;
-        default:
-          state.pipes.push(dest);
-          break;
+    Archiver.prototype._moduleAppend = function(source, data, callback) {
+      if (this._state.aborted) {
+        callback();
+        return;
       }
-      state.pipesCount += 1;
-      debug4("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
-      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
-      var endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) pna.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug4("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
+      this._module.append(source, data, function(err) {
+        this._task = null;
+        if (this._state.aborted) {
+          this._shutdown();
+          return;
+        }
+        if (err) {
+          this.emit("error", err);
+          setImmediate(callback);
+          return;
         }
+        this.emit("entry", data);
+        this._entriesProcessedCount++;
+        if (data.stats && data.stats.size) {
+          this._fsEntriesProcessedBytes += data.stats.size;
+        }
+        this.emit("progress", {
+          entries: {
+            total: this._entriesCount,
+            processed: this._entriesProcessedCount
+          },
+          fs: {
+            totalBytes: this._fsEntriesTotalBytes,
+            processedBytes: this._fsEntriesProcessedBytes
+          }
+        });
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._moduleFinalize = function() {
+      if (typeof this._module.finalize === "function") {
+        this._module.finalize();
+      } else if (typeof this._module.end === "function") {
+        this._module.end();
+      } else {
+        this.emit("error", new ArchiverError("NOENDMETHOD"));
       }
-      function onend() {
-        debug4("onend");
-        dest.end();
+    };
+    Archiver.prototype._modulePipe = function() {
+      this._module.on("error", this._onModuleError.bind(this));
+      this._module.pipe(this);
+      this._state.modulePiped = true;
+    };
+    Archiver.prototype._moduleSupports = function(key) {
+      if (!this._module.supports || !this._module.supports[key]) {
+        return false;
       }
-      var ondrain = pipeOnDrain(src);
-      dest.on("drain", ondrain);
-      var cleanedUp = false;
-      function cleanup() {
-        debug4("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        dest.removeListener("drain", ondrain);
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      return this._module.supports[key];
+    };
+    Archiver.prototype._moduleUnpipe = function() {
+      this._module.unpipe(this);
+      this._state.modulePiped = false;
+    };
+    Archiver.prototype._normalizeEntryData = function(data, stats) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        date: null,
+        mode: null,
+        prefix: null,
+        sourcePath: null,
+        stats: false
+      });
+      if (stats && data.stats === false) {
+        data.stats = stats;
       }
-      var increasedAwaitDrain = false;
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug4("ondata");
-        increasedAwaitDrain = false;
-        var ret = dest.write(chunk);
-        if (false === ret && !increasedAwaitDrain) {
-          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
-            debug4("false write response, pause", state.awaitDrain);
-            state.awaitDrain++;
-            increasedAwaitDrain = true;
-          }
-          src.pause();
+      var isDir = data.type === "directory";
+      if (data.name) {
+        if (typeof data.prefix === "string" && "" !== data.prefix) {
+          data.name = data.prefix + "/" + data.name;
+          data.prefix = null;
+        }
+        data.name = util.sanitizePath(data.name);
+        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
         }
       }
-      function onerror(er) {
-        debug4("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
-      }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
+      if (typeof data.mode === "number") {
+        if (win32) {
+          data.mode &= 511;
+        } else {
+          data.mode &= 4095;
+        }
+      } else if (data.stats && data.mode === null) {
+        if (win32) {
+          data.mode = data.stats.mode & 511;
+        } else {
+          data.mode = data.stats.mode & 4095;
+        }
+        if (win32 && isDir) {
+          data.mode = 493;
+        }
+      } else if (data.mode === null) {
+        data.mode = isDir ? 493 : 420;
       }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug4("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
+      if (data.stats && data.date === null) {
+        data.date = data.stats.mtime;
+      } else {
+        data.date = util.dateify(data.date);
       }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug4("unpipe");
-        src.unpipe(dest);
+      return data;
+    };
+    Archiver.prototype._onModuleError = function(err) {
+      this.emit("error", err);
+    };
+    Archiver.prototype._onQueueDrain = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
       }
-      dest.emit("pipe", src);
-      if (!state.flowing) {
-        debug4("pipe resume");
-        src.resume();
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
       }
-      return dest;
     };
-    function pipeOnDrain(src) {
-      return function() {
-        var state = src._readableState;
-        debug4("pipeOnDrain", state.awaitDrain);
-        if (state.awaitDrain) state.awaitDrain--;
-        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
-          state.flowing = true;
-          flow(src);
+    Archiver.prototype._onQueueTask = function(task, callback) {
+      var fullCallback = () => {
+        if (task.data.callback) {
+          task.data.callback();
         }
+        callback();
       };
-    }
-    Readable.prototype.unpipe = function(dest) {
-      var state = this._readableState;
-      var unpipeInfo = { hasUnpiped: false };
-      if (state.pipesCount === 0) return this;
-      if (state.pipesCount === 1) {
-        if (dest && dest !== state.pipes) return this;
-        if (!dest) dest = state.pipes;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        if (dest) dest.emit("unpipe", this, unpipeInfo);
-        return this;
-      }
-      if (!dest) {
-        var dests = state.pipes;
-        var len = state.pipesCount;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        for (var i = 0; i < len; i++) {
-          dests[i].emit("unpipe", this, { hasUnpiped: false });
-        }
-        return this;
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        fullCallback();
+        return;
       }
-      var index = indexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      state.pipesCount -= 1;
-      if (state.pipesCount === 1) state.pipes = state.pipes[0];
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
+      this._task = task;
+      this._moduleAppend(task.source, task.data, fullCallback);
     };
-    Readable.prototype.on = function(ev, fn) {
-      var res = Stream.prototype.on.call(this, ev, fn);
-      if (ev === "data") {
-        if (this._readableState.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        var state = this._readableState;
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.emittedReadable = false;
-          if (!state.reading) {
-            pna.nextTick(nReadingNextTick, this);
-          } else if (state.length) {
-            emitReadable(this);
+    Archiver.prototype._onStatQueueTask = function(task, callback) {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        callback();
+        return;
+      }
+      fs3.lstat(task.filepath, function(err, stats) {
+        if (this._state.aborted) {
+          setImmediate(callback);
+          return;
+        }
+        if (err) {
+          this._entriesCount--;
+          this.emit("warning", err);
+          setImmediate(callback);
+          return;
+        }
+        task = this._updateQueueTaskWithStats(task, stats);
+        if (task) {
+          if (stats.size) {
+            this._fsEntriesTotalBytes += stats.size;
           }
+          this._queue.push(task);
         }
-      }
-      return res;
+        setImmediate(callback);
+      }.bind(this));
     };
-    Readable.prototype.addListener = Readable.prototype.on;
-    function nReadingNextTick(self2) {
-      debug4("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable.prototype.resume = function() {
-      var state = this._readableState;
-      if (!state.flowing) {
-        debug4("resume");
-        state.flowing = true;
-        resume(this, state);
-      }
-      return this;
+    Archiver.prototype._shutdown = function() {
+      this._moduleUnpipe();
+      this.end();
     };
-    function resume(stream, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        pna.nextTick(resume_, stream, state);
-      }
-    }
-    function resume_(stream, state) {
-      if (!state.reading) {
-        debug4("resume read 0");
-        stream.read(0);
-      }
-      state.resumeScheduled = false;
-      state.awaitDrain = 0;
-      stream.emit("resume");
-      flow(stream);
-      if (state.flowing && !state.reading) stream.read(0);
-    }
-    Readable.prototype.pause = function() {
-      debug4("call pause flowing=%j", this._readableState.flowing);
-      if (false !== this._readableState.flowing) {
-        debug4("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+    Archiver.prototype._transform = function(chunk, encoding, callback) {
+      if (chunk) {
+        this._pointer += chunk.length;
       }
-      return this;
+      callback(null, chunk);
     };
-    function flow(stream) {
-      var state = stream._readableState;
-      debug4("flow", state.flowing);
-      while (state.flowing && stream.read() !== null) {
-      }
-    }
-    Readable.prototype.wrap = function(stream) {
-      var _this = this;
-      var state = this._readableState;
-      var paused = false;
-      stream.on("end", function() {
-        debug4("wrapped end");
-        if (state.decoder && !state.ended) {
-          var chunk = state.decoder.end();
-          if (chunk && chunk.length) _this.push(chunk);
-        }
-        _this.push(null);
-      });
-      stream.on("data", function(chunk) {
-        debug4("wrapped data");
-        if (state.decoder) chunk = state.decoder.write(chunk);
-        if (state.objectMode && (chunk === null || chunk === void 0)) return;
-        else if (!state.objectMode && (!chunk || !chunk.length)) return;
-        var ret = _this.push(chunk);
-        if (!ret) {
-          paused = true;
-          stream.pause();
-        }
-      });
-      for (var i in stream) {
-        if (this[i] === void 0 && typeof stream[i] === "function") {
-          this[i] = /* @__PURE__ */ (function(method) {
-            return function() {
-              return stream[method].apply(stream, arguments);
-            };
-          })(i);
+    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
+      if (stats.isFile()) {
+        task.data.type = "file";
+        task.data.sourceType = "stream";
+        task.source = util.lazyReadStream(task.filepath);
+      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
+        task.data.name = util.trailingSlashIt(task.data.name);
+        task.data.type = "directory";
+        task.data.sourcePath = util.trailingSlashIt(task.filepath);
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
+        var linkPath = fs3.readlinkSync(task.filepath);
+        var dirName = path4.dirname(task.filepath);
+        task.data.type = "symlink";
+        task.data.linkname = path4.relative(dirName, path4.resolve(dirName, linkPath));
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else {
+        if (stats.isDirectory()) {
+          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
+        } else if (stats.isSymbolicLink()) {
+          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
+        } else {
+          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
         }
+        return null;
       }
-      for (var n = 0; n < kProxyEvents.length; n++) {
-        stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
+      task.data = this._normalizeEntryData(task.data, stats);
+      return task;
+    };
+    Archiver.prototype.abort = function() {
+      if (this._state.aborted || this._state.finalized) {
+        return this;
       }
-      this._read = function(n2) {
-        debug4("wrapped _read", n2);
-        if (paused) {
-          paused = false;
-          stream.resume();
-        }
-      };
+      this._abort();
       return this;
     };
-    Object.defineProperty(Readable.prototype, "readableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._readableState.highWaterMark;
+    Archiver.prototype.append = function(source, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-    });
-    Readable._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      var ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.head.data;
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
-      } else {
-        ret = fromListPartial(n, state.buffer, state.decoder);
+      data = this._normalizeEntryData(data);
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
+        return this;
       }
-      return ret;
-    }
-    function fromListPartial(n, list, hasStrings) {
-      var ret;
-      if (n < list.head.data.length) {
-        ret = list.head.data.slice(0, n);
-        list.head.data = list.head.data.slice(n);
-      } else if (n === list.head.data.length) {
-        ret = list.shift();
+      if (data.type === "directory" && !this._moduleSupports("directory")) {
+        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
+        return this;
+      }
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        data.sourceType = "buffer";
+      } else if (util.isStream(source)) {
+        data.sourceType = "stream";
       } else {
-        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
+        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
+        return this;
       }
-      return ret;
-    }
-    function copyFromBufferString(n, list) {
-      var p = list.head;
-      var c = 1;
-      var ret = p.data;
-      n -= ret.length;
-      while (p = p.next) {
-        var str2 = p.data;
-        var nb = n > str2.length ? str2.length : n;
-        if (nb === str2.length) ret += str2;
-        else ret += str2.slice(0, n);
-        n -= nb;
-        if (n === 0) {
-          if (nb === str2.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = str2.slice(nb);
-          }
-          break;
-        }
-        ++c;
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source
+      });
+      return this;
+    };
+    Archiver.prototype.directory = function(dirpath, destpath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      list.length -= c;
-      return ret;
-    }
-    function copyFromBuffer(n, list) {
-      var ret = Buffer2.allocUnsafe(n);
-      var p = list.head;
-      var c = 1;
-      p.data.copy(ret);
-      n -= p.data.length;
-      while (p = p.next) {
-        var buf = p.data;
-        var nb = n > buf.length ? buf.length : n;
-        buf.copy(ret, ret.length - n, 0, nb);
-        n -= nb;
-        if (n === 0) {
-          if (nb === buf.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = buf.slice(nb);
-          }
-          break;
-        }
-        ++c;
+      if (typeof dirpath !== "string" || dirpath.length === 0) {
+        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
+        return this;
       }
-      list.length -= c;
-      return ret;
-    }
-    function endReadable(stream) {
-      var state = stream._readableState;
-      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
-      if (!state.endEmitted) {
-        state.ended = true;
-        pna.nextTick(endReadableNT, state, stream);
+      this._pending++;
+      if (destpath === false) {
+        destpath = "";
+      } else if (typeof destpath !== "string") {
+        destpath = dirpath;
       }
-    }
-    function endReadableNT(state, stream) {
-      if (!state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream.readable = false;
-        stream.emit("end");
+      var dataFunction = false;
+      if (typeof data === "function") {
+        dataFunction = data;
+        data = {};
+      } else if (typeof data !== "object") {
+        data = {};
       }
-    }
-    function indexOf(xs, x) {
-      for (var i = 0, l = xs.length; i < l; i++) {
-        if (xs[i] === x) return i;
+      var globOptions = {
+        stat: true,
+        dot: true
+      };
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-      return -1;
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
-var require_stream_transform = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
-    "use strict";
-    module2.exports = Transform;
-    var Duplex = require_stream_duplex();
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    util.inherits(Transform, Duplex);
-    function afterTransform(er, data) {
-      var ts = this._transformState;
-      ts.transforming = false;
-      var cb = ts.writecb;
-      if (!cb) {
-        return this.emit("error", new Error("write callback called multiple times"));
+      function onGlobError(err) {
+        this.emit("error", err);
       }
-      ts.writechunk = null;
-      ts.writecb = null;
-      if (data != null)
-        this.push(data);
-      cb(er);
-      var rs = this._readableState;
-      rs.reading = false;
-      if (rs.needReadable || rs.length < rs.highWaterMark) {
-        this._read(rs.highWaterMark);
+      function onGlobMatch(match) {
+        globber.pause();
+        var ignoreMatch = false;
+        var entryData = Object.assign({}, data);
+        entryData.name = match.relative;
+        entryData.prefix = destpath;
+        entryData.stats = match.stat;
+        entryData.callback = globber.resume.bind(globber);
+        try {
+          if (dataFunction) {
+            entryData = dataFunction(entryData);
+            if (entryData === false) {
+              ignoreMatch = true;
+            } else if (typeof entryData !== "object") {
+              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
+            }
+          }
+        } catch (e) {
+          this.emit("error", e);
+          return;
+        }
+        if (ignoreMatch) {
+          globber.resume();
+          return;
+        }
+        this._append(match.absolute, entryData);
       }
-    }
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      Duplex.call(this, options);
-      this._transformState = {
-        afterTransform: afterTransform.bind(this),
-        needTransform: false,
-        transforming: false,
-        writecb: null,
-        writechunk: null,
-        writeencoding: null
-      };
-      this._readableState.needReadable = true;
-      this._readableState.sync = false;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
+      var globber = glob2(dirpath, globOptions);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.file = function(filepath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      this.on("prefinish", prefinish);
-    }
-    function prefinish() {
-      var _this = this;
-      if (typeof this._flush === "function") {
-        this._flush(function(er, data) {
-          done(_this, er, data);
-        });
-      } else {
-        done(this, null, null);
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
+        return this;
       }
-    }
-    Transform.prototype.push = function(chunk, encoding) {
-      this._transformState.needTransform = false;
-      return Duplex.prototype.push.call(this, chunk, encoding);
-    };
-    Transform.prototype._transform = function(chunk, encoding, cb) {
-      throw new Error("_transform() is not implemented");
+      this._append(filepath, data);
+      return this;
     };
-    Transform.prototype._write = function(chunk, encoding, cb) {
-      var ts = this._transformState;
-      ts.writecb = cb;
-      ts.writechunk = chunk;
-      ts.writeencoding = encoding;
-      if (!ts.transforming) {
-        var rs = this._readableState;
-        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
+    Archiver.prototype.glob = function(pattern, options, data) {
+      this._pending++;
+      options = util.defaults(options, {
+        stat: true,
+        pattern
+      });
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-    };
-    Transform.prototype._read = function(n) {
-      var ts = this._transformState;
-      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
-        ts.transforming = true;
-        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
-      } else {
-        ts.needTransform = true;
+      function onGlobError(err) {
+        this.emit("error", err);
+      }
+      function onGlobMatch(match) {
+        globber.pause();
+        var entryData = Object.assign({}, data);
+        entryData.callback = globber.resume.bind(globber);
+        entryData.stats = match.stat;
+        entryData.name = match.relative;
+        this._append(match.absolute, entryData);
       }
+      var globber = glob2(options.cwd || ".", options);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
     };
-    Transform.prototype._destroy = function(err, cb) {
-      var _this2 = this;
-      Duplex.prototype._destroy.call(this, err, function(err2) {
-        cb(err2);
-        _this2.emit("close");
+    Archiver.prototype.finalize = function() {
+      if (this._state.aborted) {
+        var abortedError = new ArchiverError("ABORTED");
+        this.emit("error", abortedError);
+        return Promise.reject(abortedError);
+      }
+      if (this._state.finalize) {
+        var finalizingError = new ArchiverError("FINALIZING");
+        this.emit("error", finalizingError);
+        return Promise.reject(finalizingError);
+      }
+      this._state.finalize = true;
+      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+      }
+      var self2 = this;
+      return new Promise(function(resolve3, reject) {
+        var errored;
+        self2._module.on("end", function() {
+          if (!errored) {
+            resolve3();
+          }
+        });
+        self2._module.on("error", function(err) {
+          errored = true;
+          reject(err);
+        });
       });
     };
-    function done(stream, er, data) {
-      if (er) return stream.emit("error", er);
-      if (data != null)
-        stream.push(data);
-      if (stream._writableState.length) throw new Error("Calling transform done when ws.length != 0");
-      if (stream._transformState.transforming) throw new Error("Calling transform done when still transforming");
-      return stream.push(null);
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
-var require_stream_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
-    "use strict";
-    module2.exports = PassThrough;
-    var Transform = require_stream_transform();
-    var util = Object.create(require_util19());
-    util.inherits = require_inherits();
-    util.inherits(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
+    Archiver.prototype.setFormat = function(format) {
+      if (this._format) {
+        this.emit("error", new ArchiverError("FORMATSET"));
+        return this;
+      }
+      this._format = format;
+      return this;
     };
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/readable.js
-var require_readable3 = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
-    var Stream = require("stream");
-    if (process.env.READABLE_STREAM === "disable" && Stream) {
-      module2.exports = Stream;
-      exports2 = module2.exports = Stream.Readable;
-      exports2.Readable = Stream.Readable;
-      exports2.Writable = Stream.Writable;
-      exports2.Duplex = Stream.Duplex;
-      exports2.Transform = Stream.Transform;
-      exports2.PassThrough = Stream.PassThrough;
-      exports2.Stream = Stream;
-    } else {
-      exports2 = module2.exports = require_stream_readable();
-      exports2.Stream = Stream || exports2;
-      exports2.Readable = exports2;
-      exports2.Writable = require_stream_writable();
-      exports2.Duplex = require_stream_duplex();
-      exports2.Transform = require_stream_transform();
-      exports2.PassThrough = require_stream_passthrough();
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/passthrough.js
-var require_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
-    module2.exports = require_readable3().PassThrough;
-  }
-});
-
-// node_modules/lazystream/lib/lazystream.js
-var require_lazystream = __commonJS({
-  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
-    var util = require("util");
-    var PassThrough = require_passthrough();
-    module2.exports = {
-      Readable,
-      Writable
+    Archiver.prototype.setModule = function(module3) {
+      if (this._state.aborted) {
+        this.emit("error", new ArchiverError("ABORTED"));
+        return this;
+      }
+      if (this._state.module) {
+        this.emit("error", new ArchiverError("MODULESET"));
+        return this;
+      }
+      this._module = module3;
+      this._modulePipe();
+      return this;
     };
-    util.inherits(Readable, PassThrough);
-    util.inherits(Writable, PassThrough);
-    function beforeFirstCall(instance, method, callback) {
-      instance[method] = function() {
-        delete instance[method];
-        callback.apply(this, arguments);
-        return this[method].apply(this, arguments);
-      };
-    }
-    function Readable(fn, options) {
-      if (!(this instanceof Readable))
-        return new Readable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_read", function() {
-        var source = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        source.on("error", emit);
-        source.pipe(this);
-      });
-      this.emit("readable");
-    }
-    function Writable(fn, options) {
-      if (!(this instanceof Writable))
-        return new Writable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_write", function() {
-        var destination = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        destination.on("error", emit);
-        this.pipe(destination);
-      });
-      this.emit("writable");
-    }
-  }
-});
-
-// node_modules/normalize-path/index.js
-var require_normalize_path = __commonJS({
-  "node_modules/normalize-path/index.js"(exports2, module2) {
-    module2.exports = function(path4, stripTrailing) {
-      if (typeof path4 !== "string") {
-        throw new TypeError("expected path to be a string");
+    Archiver.prototype.symlink = function(filepath, target, mode) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      if (path4 === "\\" || path4 === "/") return "/";
-      var len = path4.length;
-      if (len <= 1) return path4;
-      var prefix = "";
-      if (len > 4 && path4[3] === "\\") {
-        var ch = path4[2];
-        if ((ch === "?" || ch === ".") && path4.slice(0, 2) === "\\\\") {
-          path4 = path4.slice(2);
-          prefix = "//";
-        }
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
+        return this;
       }
-      var segs = path4.split(/[/\\]+/);
-      if (stripTrailing !== false && segs[segs.length - 1] === "") {
-        segs.pop();
+      if (typeof target !== "string" || target.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
+        return this;
+      }
+      if (!this._moduleSupports("symlink")) {
+        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
+        return this;
+      }
+      var data = {};
+      data.type = "symlink";
+      data.name = filepath.replace(/\\/g, "/");
+      data.linkname = target.replace(/\\/g, "/");
+      data.sourceType = "buffer";
+      if (typeof mode === "number") {
+        data.mode = mode;
       }
-      return prefix + segs.join("/");
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source: Buffer.concat([])
+      });
+      return this;
+    };
+    Archiver.prototype.pointer = function() {
+      return this._pointer;
+    };
+    Archiver.prototype.use = function(plugin) {
+      this._streams.push(plugin);
+      return this;
     };
+    module2.exports = Archiver;
   }
 });
 
-// node_modules/lodash/identity.js
-var require_identity = __commonJS({
-  "node_modules/lodash/identity.js"(exports2, module2) {
-    function identity(value) {
-      return value;
-    }
-    module2.exports = identity;
+// node_modules/compress-commons/lib/archivers/archive-entry.js
+var require_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
+    var ArchiveEntry = module2.exports = function() {
+    };
+    ArchiveEntry.prototype.getName = function() {
+    };
+    ArchiveEntry.prototype.getSize = function() {
+    };
+    ArchiveEntry.prototype.getLastModifiedDate = function() {
+    };
+    ArchiveEntry.prototype.isDirectory = function() {
+    };
   }
 });
 
-// node_modules/lodash/_apply.js
-var require_apply = __commonJS({
-  "node_modules/lodash/_apply.js"(exports2, module2) {
-    function apply(func, thisArg, args) {
-      switch (args.length) {
-        case 0:
-          return func.call(thisArg);
-        case 1:
-          return func.call(thisArg, args[0]);
-        case 2:
-          return func.call(thisArg, args[0], args[1]);
-        case 3:
-          return func.call(thisArg, args[0], args[1], args[2]);
+// node_modules/compress-commons/lib/archivers/zip/util.js
+var require_util22 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
+    var util = module2.exports = {};
+    util.dateToDos = function(d, forceLocalTime) {
+      forceLocalTime = forceLocalTime || false;
+      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
+      if (year < 1980) {
+        return 2162688;
+      } else if (year >= 2044) {
+        return 2141175677;
       }
-      return func.apply(thisArg, args);
-    }
-    module2.exports = apply;
-  }
-});
-
-// node_modules/lodash/_overRest.js
-var require_overRest = __commonJS({
-  "node_modules/lodash/_overRest.js"(exports2, module2) {
-    var apply = require_apply();
-    var nativeMax = Math.max;
-    function overRest(func, start, transform) {
-      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
-      return function() {
-        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
-        while (++index < length) {
-          array[index] = args[start + index];
-        }
-        index = -1;
-        var otherArgs = Array(start + 1);
-        while (++index < start) {
-          otherArgs[index] = args[index];
-        }
-        otherArgs[start] = transform(array);
-        return apply(func, this, otherArgs);
-      };
-    }
-    module2.exports = overRest;
-  }
-});
-
-// node_modules/lodash/constant.js
-var require_constant = __commonJS({
-  "node_modules/lodash/constant.js"(exports2, module2) {
-    function constant(value) {
-      return function() {
-        return value;
+      var val = {
+        year,
+        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
+        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
+        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
+        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
+        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
       };
-    }
-    module2.exports = constant;
+      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
+    };
+    util.dosToDate = function(dos) {
+      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
+    };
+    util.fromDosTime = function(buf) {
+      return util.dosToDate(buf.readUInt32LE(0));
+    };
+    util.getEightBytes = function(v) {
+      var buf = Buffer.alloc(8);
+      buf.writeUInt32LE(v % 4294967296, 0);
+      buf.writeUInt32LE(v / 4294967296 | 0, 4);
+      return buf;
+    };
+    util.getShortBytes = function(v) {
+      var buf = Buffer.alloc(2);
+      buf.writeUInt16LE((v & 65535) >>> 0, 0);
+      return buf;
+    };
+    util.getShortBytesValue = function(buf, offset) {
+      return buf.readUInt16LE(offset);
+    };
+    util.getLongBytes = function(v) {
+      var buf = Buffer.alloc(4);
+      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
+      return buf;
+    };
+    util.getLongBytesValue = function(buf, offset) {
+      return buf.readUInt32LE(offset);
+    };
+    util.toDosTime = function(d) {
+      return util.getLongBytes(util.dateToDos(d));
+    };
   }
 });
 
-// node_modules/lodash/_freeGlobal.js
-var require_freeGlobal = __commonJS({
-  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
-    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
-    module2.exports = freeGlobal;
+// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
+var require_general_purpose_bit = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
+    var zipUtil = require_util22();
+    var DATA_DESCRIPTOR_FLAG = 1 << 3;
+    var ENCRYPTION_FLAG = 1 << 0;
+    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
+    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
+    var STRONG_ENCRYPTION_FLAG = 1 << 6;
+    var UFT8_NAMES_FLAG = 1 << 11;
+    var GeneralPurposeBit = module2.exports = function() {
+      if (!(this instanceof GeneralPurposeBit)) {
+        return new GeneralPurposeBit();
+      }
+      this.descriptor = false;
+      this.encryption = false;
+      this.utf8 = false;
+      this.numberOfShannonFanoTrees = 0;
+      this.strongEncryption = false;
+      this.slidingDictionarySize = 0;
+      return this;
+    };
+    GeneralPurposeBit.prototype.encode = function() {
+      return zipUtil.getShortBytes(
+        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
+      );
+    };
+    GeneralPurposeBit.prototype.parse = function(buf, offset) {
+      var flag = zipUtil.getShortBytesValue(buf, offset);
+      var gbp = new GeneralPurposeBit();
+      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
+      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
+      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
+      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
+      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
+      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
+      return gbp;
+    };
+    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
+      this.numberOfShannonFanoTrees = n;
+    };
+    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
+      return this.numberOfShannonFanoTrees;
+    };
+    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
+      this.slidingDictionarySize = n;
+    };
+    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
+      return this.slidingDictionarySize;
+    };
+    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
+      this.descriptor = b;
+    };
+    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
+      return this.descriptor;
+    };
+    GeneralPurposeBit.prototype.useEncryption = function(b) {
+      this.encryption = b;
+    };
+    GeneralPurposeBit.prototype.usesEncryption = function() {
+      return this.encryption;
+    };
+    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
+      this.strongEncryption = b;
+    };
+    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
+      return this.strongEncryption;
+    };
+    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
+      this.utf8 = b;
+    };
+    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
+      return this.utf8;
+    };
   }
 });
 
-// node_modules/lodash/_root.js
-var require_root = __commonJS({
-  "node_modules/lodash/_root.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
-    var root = freeGlobal || freeSelf || Function("return this")();
-    module2.exports = root;
+// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
+var require_unix_stat = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
+    module2.exports = {
+      /**
+       * Bits used for permissions (and sticky bit)
+       */
+      PERM_MASK: 4095,
+      // 07777
+      /**
+       * Bits used to indicate the filesystem object type.
+       */
+      FILE_TYPE_FLAG: 61440,
+      // 0170000
+      /**
+       * Indicates symbolic links.
+       */
+      LINK_FLAG: 40960,
+      // 0120000
+      /**
+       * Indicates plain files.
+       */
+      FILE_FLAG: 32768,
+      // 0100000
+      /**
+       * Indicates directories.
+       */
+      DIR_FLAG: 16384,
+      // 040000
+      // ----------------------------------------------------------
+      // somewhat arbitrary choices that are quite common for shared
+      // installations
+      // -----------------------------------------------------------
+      /**
+       * Default permissions for symbolic links.
+       */
+      DEFAULT_LINK_PERM: 511,
+      // 0777
+      /**
+       * Default permissions for directories.
+       */
+      DEFAULT_DIR_PERM: 493,
+      // 0755
+      /**
+       * Default permissions for plain files.
+       */
+      DEFAULT_FILE_PERM: 420
+      // 0644
+    };
   }
 });
 
-// node_modules/lodash/_Symbol.js
-var require_Symbol = __commonJS({
-  "node_modules/lodash/_Symbol.js"(exports2, module2) {
-    var root = require_root();
-    var Symbol2 = root.Symbol;
-    module2.exports = Symbol2;
+// node_modules/compress-commons/lib/archivers/zip/constants.js
+var require_constants18 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
+    module2.exports = {
+      WORD: 4,
+      DWORD: 8,
+      EMPTY: Buffer.alloc(0),
+      SHORT: 2,
+      SHORT_MASK: 65535,
+      SHORT_SHIFT: 16,
+      SHORT_ZERO: Buffer.from(Array(2)),
+      LONG: 4,
+      LONG_ZERO: Buffer.from(Array(4)),
+      MIN_VERSION_INITIAL: 10,
+      MIN_VERSION_DATA_DESCRIPTOR: 20,
+      MIN_VERSION_ZIP64: 45,
+      VERSION_MADEBY: 45,
+      METHOD_STORED: 0,
+      METHOD_DEFLATED: 8,
+      PLATFORM_UNIX: 3,
+      PLATFORM_FAT: 0,
+      SIG_LFH: 67324752,
+      SIG_DD: 134695760,
+      SIG_CFH: 33639248,
+      SIG_EOCD: 101010256,
+      SIG_ZIP64_EOCD: 101075792,
+      SIG_ZIP64_EOCD_LOC: 117853008,
+      ZIP64_MAGIC_SHORT: 65535,
+      ZIP64_MAGIC: 4294967295,
+      ZIP64_EXTRA_ID: 1,
+      ZLIB_NO_COMPRESSION: 0,
+      ZLIB_BEST_SPEED: 1,
+      ZLIB_BEST_COMPRESSION: 9,
+      ZLIB_DEFAULT_COMPRESSION: -1,
+      MODE_MASK: 4095,
+      DEFAULT_FILE_MODE: 33188,
+      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
+      DEFAULT_DIR_MODE: 16877,
+      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
+      EXT_FILE_ATTR_DIR: 1106051088,
+      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
+      EXT_FILE_ATTR_FILE: 2175008800,
+      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
+      // Unix file types
+      S_IFMT: 61440,
+      // 0170000 type of file mask
+      S_IFIFO: 4096,
+      // 010000 named pipe (fifo)
+      S_IFCHR: 8192,
+      // 020000 character special
+      S_IFDIR: 16384,
+      // 040000 directory
+      S_IFBLK: 24576,
+      // 060000 block special
+      S_IFREG: 32768,
+      // 0100000 regular
+      S_IFLNK: 40960,
+      // 0120000 symbolic link
+      S_IFSOCK: 49152,
+      // 0140000 socket
+      // DOS file type flags
+      S_DOS_A: 32,
+      // 040 Archive
+      S_DOS_D: 16,
+      // 020 Directory
+      S_DOS_V: 8,
+      // 010 Volume
+      S_DOS_S: 4,
+      // 04 System
+      S_DOS_H: 2,
+      // 02 Hidden
+      S_DOS_R: 1
+      // 01 Read Only
+    };
   }
 });
 
-// node_modules/lodash/_getRawTag.js
-var require_getRawTag = __commonJS({
-  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var nativeObjectToString = objectProto.toString;
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function getRawTag(value) {
-      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
-      try {
-        value[symToStringTag] = void 0;
-        var unmasked = true;
-      } catch (e) {
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
+var require_zip_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var normalizePath = require_normalize_path();
+    var ArchiveEntry = require_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var UnixStat = require_unix_stat();
+    var constants = require_constants18();
+    var zipUtil = require_util22();
+    var ZipArchiveEntry = module2.exports = function(name) {
+      if (!(this instanceof ZipArchiveEntry)) {
+        return new ZipArchiveEntry(name);
       }
-      var result = nativeObjectToString.call(value);
-      if (unmasked) {
-        if (isOwn) {
-          value[symToStringTag] = tag;
-        } else {
-          delete value[symToStringTag];
-        }
+      ArchiveEntry.call(this);
+      this.platform = constants.PLATFORM_FAT;
+      this.method = -1;
+      this.name = null;
+      this.size = 0;
+      this.csize = 0;
+      this.gpb = new GeneralPurposeBit();
+      this.crc = 0;
+      this.time = -1;
+      this.minver = constants.MIN_VERSION_INITIAL;
+      this.mode = -1;
+      this.extra = null;
+      this.exattr = 0;
+      this.inattr = 0;
+      this.comment = null;
+      if (name) {
+        this.setName(name);
+      }
+    };
+    inherits(ZipArchiveEntry, ArchiveEntry);
+    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getComment = function() {
+      return this.comment !== null ? this.comment : "";
+    };
+    ZipArchiveEntry.prototype.getCompressedSize = function() {
+      return this.csize;
+    };
+    ZipArchiveEntry.prototype.getCrc = function() {
+      return this.crc;
+    };
+    ZipArchiveEntry.prototype.getExternalAttributes = function() {
+      return this.exattr;
+    };
+    ZipArchiveEntry.prototype.getExtra = function() {
+      return this.extra !== null ? this.extra : constants.EMPTY;
+    };
+    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
+      return this.gpb;
+    };
+    ZipArchiveEntry.prototype.getInternalAttributes = function() {
+      return this.inattr;
+    };
+    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
+      return this.getTime();
+    };
+    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getMethod = function() {
+      return this.method;
+    };
+    ZipArchiveEntry.prototype.getName = function() {
+      return this.name;
+    };
+    ZipArchiveEntry.prototype.getPlatform = function() {
+      return this.platform;
+    };
+    ZipArchiveEntry.prototype.getSize = function() {
+      return this.size;
+    };
+    ZipArchiveEntry.prototype.getTime = function() {
+      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
+    };
+    ZipArchiveEntry.prototype.getTimeDos = function() {
+      return this.time !== -1 ? this.time : 0;
+    };
+    ZipArchiveEntry.prototype.getUnixMode = function() {
+      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
+    };
+    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
+      return this.minver;
+    };
+    ZipArchiveEntry.prototype.setComment = function(comment) {
+      if (Buffer.byteLength(comment) !== comment.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      }
+      this.comment = comment;
+    };
+    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry compressed size");
+      }
+      this.csize = size;
+    };
+    ZipArchiveEntry.prototype.setCrc = function(crc) {
+      if (crc < 0) {
+        throw new Error("invalid entry crc32");
+      }
+      this.crc = crc;
+    };
+    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
+      this.exattr = attr >>> 0;
+    };
+    ZipArchiveEntry.prototype.setExtra = function(extra) {
+      this.extra = extra;
+    };
+    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
+      if (!(gpb instanceof GeneralPurposeBit)) {
+        throw new Error("invalid entry GeneralPurposeBit");
+      }
+      this.gpb = gpb;
+    };
+    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
+      this.inattr = attr;
+    };
+    ZipArchiveEntry.prototype.setMethod = function(method) {
+      if (method < 0) {
+        throw new Error("invalid entry compression method");
+      }
+      this.method = method;
+    };
+    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
+      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+      if (prependSlash) {
+        name = `/${name}`;
+      }
+      if (Buffer.byteLength(name) !== name.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      }
+      this.name = name;
+    };
+    ZipArchiveEntry.prototype.setPlatform = function(platform) {
+      this.platform = platform;
+    };
+    ZipArchiveEntry.prototype.setSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry size");
       }
-      return result;
-    }
-    module2.exports = getRawTag;
-  }
-});
-
-// node_modules/lodash/_objectToString.js
-var require_objectToString = __commonJS({
-  "node_modules/lodash/_objectToString.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    var nativeObjectToString = objectProto.toString;
-    function objectToString(value) {
-      return nativeObjectToString.call(value);
-    }
-    module2.exports = objectToString;
-  }
-});
-
-// node_modules/lodash/_baseGetTag.js
-var require_baseGetTag = __commonJS({
-  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var getRawTag = require_getRawTag();
-    var objectToString = require_objectToString();
-    var nullTag = "[object Null]";
-    var undefinedTag = "[object Undefined]";
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function baseGetTag(value) {
-      if (value == null) {
-        return value === void 0 ? undefinedTag : nullTag;
+      this.size = size;
+    };
+    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
+      if (!(time instanceof Date)) {
+        throw new Error("invalid entry time");
       }
-      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
-    }
-    module2.exports = baseGetTag;
+      this.time = zipUtil.dateToDos(time, forceLocalTime);
+    };
+    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
+      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
+      var extattr = 0;
+      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
+      this.setExternalAttributes(extattr);
+      this.mode = mode & constants.MODE_MASK;
+      this.platform = constants.PLATFORM_UNIX;
+    };
+    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
+      this.minver = minver;
+    };
+    ZipArchiveEntry.prototype.isDirectory = function() {
+      return this.getName().slice(-1) === "/";
+    };
+    ZipArchiveEntry.prototype.isUnixSymlink = function() {
+      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
+    };
+    ZipArchiveEntry.prototype.isZip64 = function() {
+      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
+    };
   }
 });
 
-// node_modules/lodash/isObject.js
-var require_isObject = __commonJS({
-  "node_modules/lodash/isObject.js"(exports2, module2) {
-    function isObject2(value) {
-      var type2 = typeof value;
-      return value != null && (type2 == "object" || type2 == "function");
-    }
-    module2.exports = isObject2;
+// node_modules/compress-commons/node_modules/is-stream/index.js
+var require_is_stream2 = __commonJS({
+  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+    "use strict";
+    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
+    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
+    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
+    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
+    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
+    module2.exports = isStream;
   }
 });
 
-// node_modules/lodash/isFunction.js
-var require_isFunction = __commonJS({
-  "node_modules/lodash/isFunction.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObject2 = require_isObject();
-    var asyncTag = "[object AsyncFunction]";
-    var funcTag = "[object Function]";
-    var genTag = "[object GeneratorFunction]";
-    var proxyTag = "[object Proxy]";
-    function isFunction(value) {
-      if (!isObject2(value)) {
-        return false;
+// node_modules/compress-commons/lib/util/index.js
+var require_util23 = __commonJS({
+  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var isStream = require_is_stream2();
+    var util = module2.exports = {};
+    util.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (isStream(source) && !source._readableState) {
+        var normalized = new PassThrough();
+        source.pipe(normalized);
+        return normalized;
       }
-      var tag = baseGetTag(value);
-      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
-    }
-    module2.exports = isFunction;
-  }
-});
-
-// node_modules/lodash/_coreJsData.js
-var require_coreJsData = __commonJS({
-  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
-    var root = require_root();
-    var coreJsData = root["__core-js_shared__"];
-    module2.exports = coreJsData;
+      return source;
+    };
   }
 });
 
-// node_modules/lodash/_isMasked.js
-var require_isMasked = __commonJS({
-  "node_modules/lodash/_isMasked.js"(exports2, module2) {
-    var coreJsData = require_coreJsData();
-    var maskSrcKey = (function() {
-      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
-      return uid ? "Symbol(src)_1." + uid : "";
-    })();
-    function isMasked(func) {
-      return !!maskSrcKey && maskSrcKey in func;
-    }
-    module2.exports = isMasked;
+// node_modules/compress-commons/lib/archivers/archive-output-stream.js
+var require_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var isStream = require_is_stream2();
+    var Transform = require_ours().Transform;
+    var ArchiveEntry = require_archive_entry();
+    var util = require_util23();
+    var ArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ArchiveOutputStream)) {
+        return new ArchiveOutputStream(options);
+      }
+      Transform.call(this, options);
+      this.offset = 0;
+      this._archive = {
+        finish: false,
+        finished: false,
+        processing: false
+      };
+    };
+    inherits(ArchiveOutputStream, Transform);
+    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
+      if (err) {
+        this.emit("error", err);
+      }
+    };
+    ArchiveOutputStream.prototype._finish = function(ae) {
+    };
+    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+    };
+    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
+      source = source || null;
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
+      }
+      if (!(ae instanceof ArchiveEntry)) {
+        callback(new Error("not a valid instance of ArchiveEntry"));
+        return;
+      }
+      if (this._archive.finish || this._archive.finished) {
+        callback(new Error("unacceptable entry after finish"));
+        return;
+      }
+      if (this._archive.processing) {
+        callback(new Error("already processing an entry"));
+        return;
+      }
+      this._archive.processing = true;
+      this._normalizeEntry(ae);
+      this._entry = ae;
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        this._appendBuffer(ae, source, callback);
+      } else if (isStream(source)) {
+        this._appendStream(ae, source, callback);
+      } else {
+        this._archive.processing = false;
+        callback(new Error("input source must be valid Stream or Buffer instance"));
+        return;
+      }
+      return this;
+    };
+    ArchiveOutputStream.prototype.finish = function() {
+      if (this._archive.processing) {
+        this._archive.finish = true;
+        return;
+      }
+      this._finish();
+    };
+    ArchiveOutputStream.prototype.getBytesWritten = function() {
+      return this.offset;
+    };
+    ArchiveOutputStream.prototype.write = function(chunk, cb) {
+      if (chunk) {
+        this.offset += chunk.length;
+      }
+      return Transform.prototype.write.call(this, chunk, cb);
+    };
   }
 });
 
-// node_modules/lodash/_toSource.js
-var require_toSource = __commonJS({
-  "node_modules/lodash/_toSource.js"(exports2, module2) {
-    var funcProto = Function.prototype;
-    var funcToString = funcProto.toString;
-    function toSource(func) {
-      if (func != null) {
-        try {
-          return funcToString.call(func);
-        } catch (e) {
+// node_modules/crc-32/crc32.js
+var require_crc32 = __commonJS({
+  "node_modules/crc-32/crc32.js"(exports2) {
+    var CRC32;
+    (function(factory) {
+      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
+        if ("object" === typeof exports2) {
+          factory(exports2);
+        } else if ("function" === typeof define && define.amd) {
+          define(function() {
+            var module3 = {};
+            factory(module3);
+            return module3;
+          });
+        } else {
+          factory(CRC32 = {});
         }
-        try {
-          return func + "";
-        } catch (e) {
+      } else {
+        factory(CRC32 = {});
+      }
+    })(function(CRC322) {
+      CRC322.version = "1.2.2";
+      function signed_crc_table() {
+        var c = 0, table = new Array(256);
+        for (var n = 0; n != 256; ++n) {
+          c = n;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          table[n] = c;
         }
+        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
       }
-      return "";
-    }
-    module2.exports = toSource;
-  }
-});
-
-// node_modules/lodash/_baseIsNative.js
-var require_baseIsNative = __commonJS({
-  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isMasked = require_isMasked();
-    var isObject2 = require_isObject();
-    var toSource = require_toSource();
-    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
-    var reIsHostCtor = /^\[object .+?Constructor\]$/;
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var reIsNative = RegExp(
-      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
-    );
-    function baseIsNative(value) {
-      if (!isObject2(value) || isMasked(value)) {
-        return false;
+      var T0 = signed_crc_table();
+      function slice_by_16_tables(T) {
+        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
+        for (n = 0; n != 256; ++n) table[n] = T[n];
+        for (n = 0; n != 256; ++n) {
+          v = T[n];
+          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
+        }
+        var out = [];
+        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
+        return out;
       }
-      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
-      return pattern.test(toSource(value));
-    }
-    module2.exports = baseIsNative;
-  }
-});
-
-// node_modules/lodash/_getValue.js
-var require_getValue = __commonJS({
-  "node_modules/lodash/_getValue.js"(exports2, module2) {
-    function getValue(object, key) {
-      return object == null ? void 0 : object[key];
-    }
-    module2.exports = getValue;
-  }
-});
-
-// node_modules/lodash/_getNative.js
-var require_getNative = __commonJS({
-  "node_modules/lodash/_getNative.js"(exports2, module2) {
-    var baseIsNative = require_baseIsNative();
-    var getValue = require_getValue();
-    function getNative(object, key) {
-      var value = getValue(object, key);
-      return baseIsNative(value) ? value : void 0;
-    }
-    module2.exports = getNative;
-  }
-});
-
-// node_modules/lodash/_defineProperty.js
-var require_defineProperty = __commonJS({
-  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var defineProperty = (function() {
-      try {
-        var func = getNative(Object, "defineProperty");
-        func({}, "", {});
-        return func;
-      } catch (e) {
+      var TT = slice_by_16_tables(T0);
+      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
+      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
+      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
+      function crc32_bstr(bstr, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
+        return ~C;
       }
-    })();
-    module2.exports = defineProperty;
-  }
-});
-
-// node_modules/lodash/_baseSetToString.js
-var require_baseSetToString = __commonJS({
-  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
-    var constant = require_constant();
-    var defineProperty = require_defineProperty();
-    var identity = require_identity();
-    var baseSetToString = !defineProperty ? identity : function(func, string) {
-      return defineProperty(func, "toString", {
-        "configurable": true,
-        "enumerable": false,
-        "value": constant(string),
-        "writable": true
-      });
-    };
-    module2.exports = baseSetToString;
-  }
-});
-
-// node_modules/lodash/_shortOut.js
-var require_shortOut = __commonJS({
-  "node_modules/lodash/_shortOut.js"(exports2, module2) {
-    var HOT_COUNT = 800;
-    var HOT_SPAN = 16;
-    var nativeNow = Date.now;
-    function shortOut(func) {
-      var count = 0, lastCalled = 0;
-      return function() {
-        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
-        lastCalled = stamp;
-        if (remaining > 0) {
-          if (++count >= HOT_COUNT) {
-            return arguments[0];
+      function crc32_buf(B, seed) {
+        var C = seed ^ -1, L = B.length - 15, i = 0;
+        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
+        L += 15;
+        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
+        return ~C;
+      }
+      function crc32_str(str2, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
+          c = str2.charCodeAt(i++);
+          if (c < 128) {
+            C = C >>> 8 ^ T0[(C ^ c) & 255];
+          } else if (c < 2048) {
+            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
+          } else if (c >= 55296 && c < 57344) {
+            c = (c & 1023) + 64;
+            d = str2.charCodeAt(i++) & 1023;
+            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
+          } else {
+            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
           }
-        } else {
-          count = 0;
         }
-        return func.apply(void 0, arguments);
-      };
-    }
-    module2.exports = shortOut;
-  }
-});
-
-// node_modules/lodash/_setToString.js
-var require_setToString = __commonJS({
-  "node_modules/lodash/_setToString.js"(exports2, module2) {
-    var baseSetToString = require_baseSetToString();
-    var shortOut = require_shortOut();
-    var setToString = shortOut(baseSetToString);
-    module2.exports = setToString;
-  }
-});
-
-// node_modules/lodash/_baseRest.js
-var require_baseRest = __commonJS({
-  "node_modules/lodash/_baseRest.js"(exports2, module2) {
-    var identity = require_identity();
-    var overRest = require_overRest();
-    var setToString = require_setToString();
-    function baseRest(func, start) {
-      return setToString(overRest(func, start, identity), func + "");
-    }
-    module2.exports = baseRest;
-  }
-});
-
-// node_modules/lodash/eq.js
-var require_eq2 = __commonJS({
-  "node_modules/lodash/eq.js"(exports2, module2) {
-    function eq(value, other) {
-      return value === other || value !== value && other !== other;
-    }
-    module2.exports = eq;
-  }
-});
-
-// node_modules/lodash/isLength.js
-var require_isLength = __commonJS({
-  "node_modules/lodash/isLength.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    function isLength(value) {
-      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
-    }
-    module2.exports = isLength;
-  }
-});
-
-// node_modules/lodash/isArrayLike.js
-var require_isArrayLike = __commonJS({
-  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isLength = require_isLength();
-    function isArrayLike(value) {
-      return value != null && isLength(value.length) && !isFunction(value);
-    }
-    module2.exports = isArrayLike;
-  }
-});
-
-// node_modules/lodash/_isIndex.js
-var require_isIndex = __commonJS({
-  "node_modules/lodash/_isIndex.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    var reIsUint = /^(?:0|[1-9]\d*)$/;
-    function isIndex(value, length) {
-      var type2 = typeof value;
-      length = length == null ? MAX_SAFE_INTEGER : length;
-      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
-    }
-    module2.exports = isIndex;
+        return ~C;
+      }
+      CRC322.table = T0;
+      CRC322.bstr = crc32_bstr;
+      CRC322.buf = crc32_buf;
+      CRC322.str = crc32_str;
+    });
   }
 });
 
-// node_modules/lodash/_isIterateeCall.js
-var require_isIterateeCall = __commonJS({
-  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
-    var eq = require_eq2();
-    var isArrayLike = require_isArrayLike();
-    var isIndex = require_isIndex();
-    var isObject2 = require_isObject();
-    function isIterateeCall(value, index, object) {
-      if (!isObject2(object)) {
-        return false;
+// node_modules/crc32-stream/lib/crc32-stream.js
+var require_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require_ours();
+    var crc32 = require_crc32();
+    var CRC32Stream = class extends Transform {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
       }
-      var type2 = typeof index;
-      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
-        return eq(object[index], value);
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
+        }
+        callback(null, chunk);
       }
-      return false;
-    }
-    module2.exports = isIterateeCall;
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
+      }
+      hex() {
+        return this.digest("hex").toUpperCase();
+      }
+      size() {
+        return this.rawSize;
+      }
+    };
+    module2.exports = CRC32Stream;
   }
 });
 
-// node_modules/lodash/_baseTimes.js
-var require_baseTimes = __commonJS({
-  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
-    function baseTimes(n, iteratee) {
-      var index = -1, result = Array(n);
-      while (++index < n) {
-        result[index] = iteratee(index);
+// node_modules/crc32-stream/lib/deflate-crc32-stream.js
+var require_deflate_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
+    "use strict";
+    var { DeflateRaw } = require("zlib");
+    var crc32 = require_crc32();
+    var DeflateCRC32Stream = class extends DeflateRaw {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
+        this.compressedSize = 0;
       }
-      return result;
-    }
-    module2.exports = baseTimes;
+      push(chunk, encoding) {
+        if (chunk) {
+          this.compressedSize += chunk.length;
+        }
+        return super.push(chunk, encoding);
+      }
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
+        }
+        super._transform(chunk, encoding, callback);
+      }
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
+      }
+      hex() {
+        return this.digest("hex").toUpperCase();
+      }
+      size(compressed = false) {
+        if (compressed) {
+          return this.compressedSize;
+        } else {
+          return this.rawSize;
+        }
+      }
+    };
+    module2.exports = DeflateCRC32Stream;
   }
 });
 
-// node_modules/lodash/isObjectLike.js
-var require_isObjectLike = __commonJS({
-  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
-    function isObjectLike(value) {
-      return value != null && typeof value == "object";
-    }
-    module2.exports = isObjectLike;
+// node_modules/crc32-stream/lib/index.js
+var require_lib3 = __commonJS({
+  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      CRC32Stream: require_crc32_stream(),
+      DeflateCRC32Stream: require_deflate_crc32_stream()
+    };
   }
 });
 
-// node_modules/lodash/_baseIsArguments.js
-var require_baseIsArguments = __commonJS({
-  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    function baseIsArguments(value) {
-      return isObjectLike(value) && baseGetTag(value) == argsTag;
-    }
-    module2.exports = baseIsArguments;
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
+var require_zip_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var crc32 = require_crc32();
+    var { CRC32Stream } = require_lib3();
+    var { DeflateCRC32Stream } = require_lib3();
+    var ArchiveOutputStream = require_archive_output_stream();
+    var ZipArchiveEntry = require_zip_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var constants = require_constants18();
+    var util = require_util23();
+    var zipUtil = require_util22();
+    var ZipArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ZipArchiveOutputStream)) {
+        return new ZipArchiveOutputStream(options);
+      }
+      options = this.options = this._defaults(options);
+      ArchiveOutputStream.call(this, options);
+      this._entry = null;
+      this._entries = [];
+      this._archive = {
+        centralLength: 0,
+        centralOffset: 0,
+        comment: "",
+        finish: false,
+        finished: false,
+        processing: false,
+        forceZip64: options.forceZip64,
+        forceLocalTime: options.forceLocalTime
+      };
+    };
+    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
+    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
+      this._entries.push(ae);
+      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
+        this._writeDataDescriptor(ae);
+      }
+      this._archive.processing = false;
+      this._entry = null;
+      if (this._archive.finish && !this._archive.finished) {
+        this._finish();
+      }
+    };
+    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
+      if (source.length === 0) {
+        ae.setMethod(constants.METHOD_STORED);
+      }
+      var method = ae.getMethod();
+      if (method === constants.METHOD_STORED) {
+        ae.setSize(source.length);
+        ae.setCompressedSize(source.length);
+        ae.setCrc(crc32.buf(source) >>> 0);
+      }
+      this._writeLocalFileHeader(ae);
+      if (method === constants.METHOD_STORED) {
+        this.write(source);
+        this._afterAppend(ae);
+        callback(null, ae);
+        return;
+      } else if (method === constants.METHOD_DEFLATED) {
+        this._smartStream(ae, callback).end(source);
+        return;
+      } else {
+        callback(new Error("compression method " + method + " not implemented"));
+        return;
+      }
+    };
+    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
+      ae.getGeneralPurposeBit().useDataDescriptor(true);
+      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      this._writeLocalFileHeader(ae);
+      var smart = this._smartStream(ae, callback);
+      source.once("error", function(err) {
+        smart.emit("error", err);
+        smart.end();
+      });
+      source.pipe(smart);
+    };
+    ZipArchiveOutputStream.prototype._defaults = function(o) {
+      if (typeof o !== "object") {
+        o = {};
+      }
+      if (typeof o.zlib !== "object") {
+        o.zlib = {};
+      }
+      if (typeof o.zlib.level !== "number") {
+        o.zlib.level = constants.ZLIB_BEST_SPEED;
+      }
+      o.forceZip64 = !!o.forceZip64;
+      o.forceLocalTime = !!o.forceLocalTime;
+      return o;
+    };
+    ZipArchiveOutputStream.prototype._finish = function() {
+      this._archive.centralOffset = this.offset;
+      this._entries.forEach(function(ae) {
+        this._writeCentralFileHeader(ae);
+      }.bind(this));
+      this._archive.centralLength = this.offset - this._archive.centralOffset;
+      if (this.isZip64()) {
+        this._writeCentralDirectoryZip64();
+      }
+      this._writeCentralDirectoryEnd();
+      this._archive.processing = false;
+      this._archive.finish = true;
+      this._archive.finished = true;
+      this.end();
+    };
+    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+      if (ae.getMethod() === -1) {
+        ae.setMethod(constants.METHOD_DEFLATED);
+      }
+      if (ae.getMethod() === constants.METHOD_DEFLATED) {
+        ae.getGeneralPurposeBit().useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      }
+      if (ae.getTime() === -1) {
+        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+      }
+      ae._offsets = {
+        file: 0,
+        data: 0,
+        contents: 0
+      };
+    };
+    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
+      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
+      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
+      var error3 = null;
+      function handleStuff() {
+        var digest = process2.digest().readUInt32BE(0);
+        ae.setCrc(digest);
+        ae.setSize(process2.size());
+        ae.setCompressedSize(process2.size(true));
+        this._afterAppend(ae);
+        callback(error3, ae);
+      }
+      process2.once("end", handleStuff.bind(this));
+      process2.once("error", function(err) {
+        error3 = err;
+      });
+      process2.pipe(this, { end: false });
+      return process2;
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
+      var records = this._entries.length;
+      var size = this._archive.centralLength;
+      var offset = this._archive.centralOffset;
+      if (this.isZip64()) {
+        records = constants.ZIP64_MAGIC_SHORT;
+        size = constants.ZIP64_MAGIC;
+        offset = constants.ZIP64_MAGIC;
+      }
+      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
+      this.write(constants.SHORT_ZERO);
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getLongBytes(size));
+      this.write(zipUtil.getLongBytes(offset));
+      var comment = this.getComment();
+      var commentLength = Buffer.byteLength(comment);
+      this.write(zipUtil.getShortBytes(commentLength));
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
+      this.write(zipUtil.getEightBytes(44));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(constants.LONG_ZERO);
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._archive.centralLength));
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
+      this.write(zipUtil.getLongBytes(1));
+    };
+    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var fileOffset = ae._offsets.file;
+      var size = ae.getSize();
+      var compressedSize = ae.getCompressedSize();
+      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
+        size = constants.ZIP64_MAGIC;
+        compressedSize = constants.ZIP64_MAGIC;
+        fileOffset = constants.ZIP64_MAGIC;
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+        var extraBuf = Buffer.concat([
+          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
+          zipUtil.getShortBytes(24),
+          zipUtil.getEightBytes(ae.getSize()),
+          zipUtil.getEightBytes(ae.getCompressedSize()),
+          zipUtil.getEightBytes(ae._offsets.file)
+        ], 28);
+        ae.setExtra(extraBuf);
+      }
+      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
+      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      this.write(zipUtil.getLongBytes(compressedSize));
+      this.write(zipUtil.getLongBytes(size));
+      var name = ae.getName();
+      var comment = ae.getComment();
+      var extra = ae.getCentralDirectoryExtra();
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+        comment = Buffer.from(comment);
+      }
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(zipUtil.getShortBytes(comment.length));
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
+      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
+      this.write(zipUtil.getLongBytes(fileOffset));
+      this.write(name);
+      this.write(extra);
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
+      this.write(zipUtil.getLongBytes(constants.SIG_DD));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      if (ae.isZip64()) {
+        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getEightBytes(ae.getSize()));
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
+      }
+    };
+    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var name = ae.getName();
+      var extra = ae.getLocalFileDataExtra();
+      if (ae.isZip64()) {
+        gpb.useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+      }
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+      }
+      ae._offsets.file = this.offset;
+      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      ae._offsets.data = this.offset;
+      if (gpb.usesDataDescriptor()) {
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCrc()));
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
+      }
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(name);
+      this.write(extra);
+      ae._offsets.contents = this.offset;
+    };
+    ZipArchiveOutputStream.prototype.getComment = function(comment) {
+      return this._archive.comment !== null ? this._archive.comment : "";
+    };
+    ZipArchiveOutputStream.prototype.isZip64 = function() {
+      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
+    };
+    ZipArchiveOutputStream.prototype.setComment = function(comment) {
+      this._archive.comment = comment;
+    };
   }
 });
 
-// node_modules/lodash/isArguments.js
-var require_isArguments = __commonJS({
-  "node_modules/lodash/isArguments.js"(exports2, module2) {
-    var baseIsArguments = require_baseIsArguments();
-    var isObjectLike = require_isObjectLike();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
-    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
-      return arguments;
-    })()) ? baseIsArguments : function(value) {
-      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
+// node_modules/compress-commons/lib/compress-commons.js
+var require_compress_commons = __commonJS({
+  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
+    module2.exports = {
+      ArchiveEntry: require_archive_entry(),
+      ZipArchiveEntry: require_zip_archive_entry(),
+      ArchiveOutputStream: require_archive_output_stream(),
+      ZipArchiveOutputStream: require_zip_archive_output_stream()
     };
-    module2.exports = isArguments;
   }
 });
 
-// node_modules/lodash/isArray.js
-var require_isArray = __commonJS({
-  "node_modules/lodash/isArray.js"(exports2, module2) {
-    var isArray = Array.isArray;
-    module2.exports = isArray;
+// node_modules/zip-stream/index.js
+var require_zip_stream = __commonJS({
+  "node_modules/zip-stream/index.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
+    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
+    var util = require_archiver_utils();
+    var ZipStream = module2.exports = function(options) {
+      if (!(this instanceof ZipStream)) {
+        return new ZipStream(options);
+      }
+      options = this.options = options || {};
+      options.zlib = options.zlib || {};
+      ZipArchiveOutputStream.call(this, options);
+      if (typeof options.level === "number" && options.level >= 0) {
+        options.zlib.level = options.level;
+        delete options.level;
+      }
+      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
+        options.store = true;
+      }
+      options.namePrependSlash = options.namePrependSlash || false;
+      if (options.comment && options.comment.length > 0) {
+        this.setComment(options.comment);
+      }
+    };
+    inherits(ZipStream, ZipArchiveOutputStream);
+    ZipStream.prototype._normalizeFileData = function(data) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        namePrependSlash: this.options.namePrependSlash,
+        linkname: null,
+        date: null,
+        mode: null,
+        store: this.options.store,
+        comment: ""
+      });
+      var isDir = data.type === "directory";
+      var isSymlink = data.type === "symlink";
+      if (data.name) {
+        data.name = util.sanitizePath(data.name);
+        if (!isSymlink && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
+        }
+      }
+      if (isDir || isSymlink) {
+        data.store = true;
+      }
+      data.date = util.dateify(data.date);
+      return data;
+    };
+    ZipStream.prototype.entry = function(source, data, callback) {
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
+      }
+      data = this._normalizeFileData(data);
+      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
+        callback(new Error(data.type + " entries not currently supported"));
+        return;
+      }
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        callback(new Error("entry name must be a non-empty string value"));
+        return;
+      }
+      if (data.type === "symlink" && typeof data.linkname !== "string") {
+        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
+        return;
+      }
+      var entry = new ZipArchiveEntry(data.name);
+      entry.setTime(data.date, this.options.forceLocalTime);
+      if (data.namePrependSlash) {
+        entry.setName(data.name, true);
+      }
+      if (data.store) {
+        entry.setMethod(0);
+      }
+      if (data.comment.length > 0) {
+        entry.setComment(data.comment);
+      }
+      if (data.type === "symlink" && typeof data.mode !== "number") {
+        data.mode = 40960;
+      }
+      if (typeof data.mode === "number") {
+        if (data.type === "symlink") {
+          data.mode |= 40960;
+        }
+        entry.setUnixMode(data.mode);
+      }
+      if (data.type === "symlink" && typeof data.linkname === "string") {
+        source = Buffer.from(data.linkname);
+      }
+      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
+    };
+    ZipStream.prototype.finalize = function() {
+      this.finish();
+    };
   }
 });
 
-// node_modules/lodash/stubFalse.js
-var require_stubFalse = __commonJS({
-  "node_modules/lodash/stubFalse.js"(exports2, module2) {
-    function stubFalse() {
-      return false;
-    }
-    module2.exports = stubFalse;
+// node_modules/archiver/lib/plugins/zip.js
+var require_zip = __commonJS({
+  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
+    var engine = require_zip_stream();
+    var util = require_archiver_utils();
+    var Zip = function(options) {
+      if (!(this instanceof Zip)) {
+        return new Zip(options);
+      }
+      options = this.options = util.defaults(options, {
+        comment: "",
+        forceUTC: false,
+        namePrependSlash: false,
+        store: false
+      });
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = new engine(options);
+    };
+    Zip.prototype.append = function(source, data, callback) {
+      this.engine.entry(source, data, callback);
+    };
+    Zip.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Zip.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Zip.prototype.pipe = function() {
+      return this.engine.pipe.apply(this.engine, arguments);
+    };
+    Zip.prototype.unpipe = function() {
+      return this.engine.unpipe.apply(this.engine, arguments);
+    };
+    module2.exports = Zip;
   }
 });
 
-// node_modules/lodash/isBuffer.js
-var require_isBuffer = __commonJS({
-  "node_modules/lodash/isBuffer.js"(exports2, module2) {
-    var root = require_root();
-    var stubFalse = require_stubFalse();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var Buffer2 = moduleExports ? root.Buffer : void 0;
-    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
-    var isBuffer = nativeIsBuffer || stubFalse;
-    module2.exports = isBuffer;
+// node_modules/queue-tick/queue-microtask.js
+var require_queue_microtask = __commonJS({
+  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
+    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
   }
 });
 
-// node_modules/lodash/_baseIsTypedArray.js
-var require_baseIsTypedArray = __commonJS({
-  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isLength = require_isLength();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    var arrayTag = "[object Array]";
-    var boolTag = "[object Boolean]";
-    var dateTag = "[object Date]";
-    var errorTag = "[object Error]";
-    var funcTag = "[object Function]";
-    var mapTag = "[object Map]";
-    var numberTag = "[object Number]";
-    var objectTag = "[object Object]";
-    var regexpTag = "[object RegExp]";
-    var setTag = "[object Set]";
-    var stringTag = "[object String]";
-    var weakMapTag = "[object WeakMap]";
-    var arrayBufferTag = "[object ArrayBuffer]";
-    var dataViewTag = "[object DataView]";
-    var float32Tag = "[object Float32Array]";
-    var float64Tag = "[object Float64Array]";
-    var int8Tag = "[object Int8Array]";
-    var int16Tag = "[object Int16Array]";
-    var int32Tag = "[object Int32Array]";
-    var uint8Tag = "[object Uint8Array]";
-    var uint8ClampedTag = "[object Uint8ClampedArray]";
-    var uint16Tag = "[object Uint16Array]";
-    var uint32Tag = "[object Uint32Array]";
-    var typedArrayTags = {};
-    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
-    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
-    function baseIsTypedArray(value) {
-      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
-    }
-    module2.exports = baseIsTypedArray;
+// node_modules/queue-tick/process-next-tick.js
+var require_process_next_tick = __commonJS({
+  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
+    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
   }
 });
 
-// node_modules/lodash/_baseUnary.js
-var require_baseUnary = __commonJS({
-  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
-    function baseUnary(func) {
-      return function(value) {
-        return func(value);
-      };
-    }
-    module2.exports = baseUnary;
+// node_modules/fast-fifo/fixed-size.js
+var require_fixed_size = __commonJS({
+  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
+    module2.exports = class FixedFIFO {
+      constructor(hwm) {
+        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
+        this.buffer = new Array(hwm);
+        this.mask = hwm - 1;
+        this.top = 0;
+        this.btm = 0;
+        this.next = null;
+      }
+      clear() {
+        this.top = this.btm = 0;
+        this.next = null;
+        this.buffer.fill(void 0);
+      }
+      push(data) {
+        if (this.buffer[this.top] !== void 0) return false;
+        this.buffer[this.top] = data;
+        this.top = this.top + 1 & this.mask;
+        return true;
+      }
+      shift() {
+        const last = this.buffer[this.btm];
+        if (last === void 0) return void 0;
+        this.buffer[this.btm] = void 0;
+        this.btm = this.btm + 1 & this.mask;
+        return last;
+      }
+      peek() {
+        return this.buffer[this.btm];
+      }
+      isEmpty() {
+        return this.buffer[this.btm] === void 0;
+      }
+    };
   }
 });
 
-// node_modules/lodash/_nodeUtil.js
-var require_nodeUtil = __commonJS({
-  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var freeProcess = moduleExports && freeGlobal.process;
-    var nodeUtil = (function() {
-      try {
-        var types = freeModule && freeModule.require && freeModule.require("util").types;
-        if (types) {
-          return types;
+// node_modules/fast-fifo/index.js
+var require_fast_fifo = __commonJS({
+  "node_modules/fast-fifo/index.js"(exports2, module2) {
+    var FixedFIFO = require_fixed_size();
+    module2.exports = class FastFIFO {
+      constructor(hwm) {
+        this.hwm = hwm || 16;
+        this.head = new FixedFIFO(this.hwm);
+        this.tail = this.head;
+        this.length = 0;
+      }
+      clear() {
+        this.head = this.tail;
+        this.head.clear();
+        this.length = 0;
+      }
+      push(val) {
+        this.length++;
+        if (!this.head.push(val)) {
+          const prev = this.head;
+          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
+          this.head.push(val);
         }
-        return freeProcess && freeProcess.binding && freeProcess.binding("util");
-      } catch (e) {
       }
-    })();
-    module2.exports = nodeUtil;
-  }
-});
-
-// node_modules/lodash/isTypedArray.js
-var require_isTypedArray = __commonJS({
-  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
-    var baseIsTypedArray = require_baseIsTypedArray();
-    var baseUnary = require_baseUnary();
-    var nodeUtil = require_nodeUtil();
-    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
-    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
-    module2.exports = isTypedArray;
+      shift() {
+        if (this.length !== 0) this.length--;
+        const val = this.tail.shift();
+        if (val === void 0 && this.tail.next) {
+          const next = this.tail.next;
+          this.tail.next = null;
+          this.tail = next;
+          return this.tail.shift();
+        }
+        return val;
+      }
+      peek() {
+        const val = this.tail.peek();
+        if (val === void 0 && this.tail.next) return this.tail.next.peek();
+        return val;
+      }
+      isEmpty() {
+        return this.length === 0;
+      }
+    };
   }
 });
 
-// node_modules/lodash/_arrayLikeKeys.js
-var require_arrayLikeKeys = __commonJS({
-  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
-    var baseTimes = require_baseTimes();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var isBuffer = require_isBuffer();
-    var isIndex = require_isIndex();
-    var isTypedArray = require_isTypedArray();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function arrayLikeKeys(value, inherited) {
-      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
-      for (var key in value) {
-        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
-        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
-        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
-        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
-        isIndex(key, length)))) {
-          result.push(key);
-        }
-      }
-      return result;
+// node_modules/b4a/index.js
+var require_b4a = __commonJS({
+  "node_modules/b4a/index.js"(exports2, module2) {
+    function isBuffer(value) {
+      return Buffer.isBuffer(value) || value instanceof Uint8Array;
     }
-    module2.exports = arrayLikeKeys;
+    function isEncoding(encoding) {
+      return Buffer.isEncoding(encoding);
+    }
+    function alloc(size, fill2, encoding) {
+      return Buffer.alloc(size, fill2, encoding);
+    }
+    function allocUnsafe(size) {
+      return Buffer.allocUnsafe(size);
+    }
+    function allocUnsafeSlow(size) {
+      return Buffer.allocUnsafeSlow(size);
+    }
+    function byteLength(string, encoding) {
+      return Buffer.byteLength(string, encoding);
+    }
+    function compare2(a, b) {
+      return Buffer.compare(a, b);
+    }
+    function concat(buffers, totalLength) {
+      return Buffer.concat(buffers, totalLength);
+    }
+    function copy(source, target, targetStart, start, end) {
+      return toBuffer(source).copy(target, targetStart, start, end);
+    }
+    function equals(a, b) {
+      return toBuffer(a).equals(b);
+    }
+    function fill(buffer, value, offset, end, encoding) {
+      return toBuffer(buffer).fill(value, offset, end, encoding);
+    }
+    function from(value, encodingOrOffset, length) {
+      return Buffer.from(value, encodingOrOffset, length);
+    }
+    function includes(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).includes(value, byteOffset, encoding);
+    }
+    function indexOf(buffer, value, byfeOffset, encoding) {
+      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
+    }
+    function lastIndexOf(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
+    }
+    function swap16(buffer) {
+      return toBuffer(buffer).swap16();
+    }
+    function swap32(buffer) {
+      return toBuffer(buffer).swap32();
+    }
+    function swap64(buffer) {
+      return toBuffer(buffer).swap64();
+    }
+    function toBuffer(buffer) {
+      if (Buffer.isBuffer(buffer)) return buffer;
+      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function toString2(buffer, encoding, start, end) {
+      return toBuffer(buffer).toString(encoding, start, end);
+    }
+    function write(buffer, string, offset, length, encoding) {
+      return toBuffer(buffer).write(string, offset, length, encoding);
+    }
+    function writeDoubleLE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleLE(value, offset);
+    }
+    function writeFloatLE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatLE(value, offset);
+    }
+    function writeUInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32LE(value, offset);
+    }
+    function writeInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32LE(value, offset);
+    }
+    function readDoubleLE(buffer, offset) {
+      return toBuffer(buffer).readDoubleLE(offset);
+    }
+    function readFloatLE(buffer, offset) {
+      return toBuffer(buffer).readFloatLE(offset);
+    }
+    function readUInt32LE(buffer, offset) {
+      return toBuffer(buffer).readUInt32LE(offset);
+    }
+    function readInt32LE(buffer, offset) {
+      return toBuffer(buffer).readInt32LE(offset);
+    }
+    function writeDoubleBE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleBE(value, offset);
+    }
+    function writeFloatBE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatBE(value, offset);
+    }
+    function writeUInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32BE(value, offset);
+    }
+    function writeInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32BE(value, offset);
+    }
+    function readDoubleBE(buffer, offset) {
+      return toBuffer(buffer).readDoubleBE(offset);
+    }
+    function readFloatBE(buffer, offset) {
+      return toBuffer(buffer).readFloatBE(offset);
+    }
+    function readUInt32BE(buffer, offset) {
+      return toBuffer(buffer).readUInt32BE(offset);
+    }
+    function readInt32BE(buffer, offset) {
+      return toBuffer(buffer).readInt32BE(offset);
+    }
+    module2.exports = {
+      isBuffer,
+      isEncoding,
+      alloc,
+      allocUnsafe,
+      allocUnsafeSlow,
+      byteLength,
+      compare: compare2,
+      concat,
+      copy,
+      equals,
+      fill,
+      from,
+      includes,
+      indexOf,
+      lastIndexOf,
+      swap16,
+      swap32,
+      swap64,
+      toBuffer,
+      toString: toString2,
+      write,
+      writeDoubleLE,
+      writeFloatLE,
+      writeUInt32LE,
+      writeInt32LE,
+      readDoubleLE,
+      readFloatLE,
+      readUInt32LE,
+      readInt32LE,
+      writeDoubleBE,
+      writeFloatBE,
+      writeUInt32BE,
+      writeInt32BE,
+      readDoubleBE,
+      readFloatBE,
+      readUInt32BE,
+      readInt32BE
+    };
   }
 });
 
-// node_modules/lodash/_isPrototype.js
-var require_isPrototype = __commonJS({
-  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    function isPrototype(value) {
-      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
-      return value === proto;
-    }
-    module2.exports = isPrototype;
+// node_modules/text-decoder/lib/pass-through-decoder.js
+var require_pass_through_decoder = __commonJS({
+  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class PassThroughDecoder {
+      constructor(encoding) {
+        this.encoding = encoding;
+      }
+      get remaining() {
+        return 0;
+      }
+      decode(tail) {
+        return b4a.toString(tail, this.encoding);
+      }
+      flush() {
+        return "";
+      }
+    };
   }
 });
 
-// node_modules/lodash/_nativeKeysIn.js
-var require_nativeKeysIn = __commonJS({
-  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
-    function nativeKeysIn(object) {
-      var result = [];
-      if (object != null) {
-        for (var key in Object(object)) {
-          result.push(key);
+// node_modules/text-decoder/lib/utf8-decoder.js
+var require_utf8_decoder = __commonJS({
+  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class UTF8Decoder {
+      constructor() {
+        this.codePoint = 0;
+        this.bytesSeen = 0;
+        this.bytesNeeded = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
+      }
+      get remaining() {
+        return this.bytesSeen;
+      }
+      decode(data) {
+        if (this.bytesNeeded === 0) {
+          let isBoundary = true;
+          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
+            isBoundary = data[i] <= 127;
+          }
+          if (isBoundary) return b4a.toString(data, "utf8");
+        }
+        let result = "";
+        for (let i = 0, n = data.byteLength; i < n; i++) {
+          const byte = data[i];
+          if (this.bytesNeeded === 0) {
+            if (byte <= 127) {
+              result += String.fromCharCode(byte);
+            } else {
+              this.bytesSeen = 1;
+              if (byte >= 194 && byte <= 223) {
+                this.bytesNeeded = 2;
+                this.codePoint = byte & 31;
+              } else if (byte >= 224 && byte <= 239) {
+                if (byte === 224) this.lowerBoundary = 160;
+                else if (byte === 237) this.upperBoundary = 159;
+                this.bytesNeeded = 3;
+                this.codePoint = byte & 15;
+              } else if (byte >= 240 && byte <= 244) {
+                if (byte === 240) this.lowerBoundary = 144;
+                if (byte === 244) this.upperBoundary = 143;
+                this.bytesNeeded = 4;
+                this.codePoint = byte & 7;
+              } else {
+                result += "\uFFFD";
+              }
+            }
+            continue;
+          }
+          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
+            this.codePoint = 0;
+            this.bytesNeeded = 0;
+            this.bytesSeen = 0;
+            this.lowerBoundary = 128;
+            this.upperBoundary = 191;
+            result += "\uFFFD";
+            continue;
+          }
+          this.lowerBoundary = 128;
+          this.upperBoundary = 191;
+          this.codePoint = this.codePoint << 6 | byte & 63;
+          this.bytesSeen++;
+          if (this.bytesSeen !== this.bytesNeeded) continue;
+          result += String.fromCodePoint(this.codePoint);
+          this.codePoint = 0;
+          this.bytesNeeded = 0;
+          this.bytesSeen = 0;
         }
+        return result;
+      }
+      flush() {
+        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
+        this.codePoint = 0;
+        this.bytesNeeded = 0;
+        this.bytesSeen = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
+        return result;
       }
-      return result;
-    }
-    module2.exports = nativeKeysIn;
+    };
   }
 });
 
-// node_modules/lodash/_baseKeysIn.js
-var require_baseKeysIn = __commonJS({
-  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
-    var isObject2 = require_isObject();
-    var isPrototype = require_isPrototype();
-    var nativeKeysIn = require_nativeKeysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function baseKeysIn(object) {
-      if (!isObject2(object)) {
-        return nativeKeysIn(object);
-      }
-      var isProto = isPrototype(object), result = [];
-      for (var key in object) {
-        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
-          result.push(key);
+// node_modules/text-decoder/index.js
+var require_text_decoder = __commonJS({
+  "node_modules/text-decoder/index.js"(exports2, module2) {
+    var PassThroughDecoder = require_pass_through_decoder();
+    var UTF8Decoder = require_utf8_decoder();
+    module2.exports = class TextDecoder {
+      constructor(encoding = "utf8") {
+        this.encoding = normalizeEncoding(encoding);
+        switch (this.encoding) {
+          case "utf8":
+            this.decoder = new UTF8Decoder();
+            break;
+          case "utf16le":
+          case "base64":
+            throw new Error("Unsupported encoding: " + this.encoding);
+          default:
+            this.decoder = new PassThroughDecoder(this.encoding);
         }
       }
-      return result;
-    }
-    module2.exports = baseKeysIn;
-  }
-});
-
-// node_modules/lodash/keysIn.js
-var require_keysIn = __commonJS({
-  "node_modules/lodash/keysIn.js"(exports2, module2) {
-    var arrayLikeKeys = require_arrayLikeKeys();
-    var baseKeysIn = require_baseKeysIn();
-    var isArrayLike = require_isArrayLike();
-    function keysIn(object) {
-      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
+      get remaining() {
+        return this.decoder.remaining;
+      }
+      push(data) {
+        if (typeof data === "string") return data;
+        return this.decoder.decode(data);
+      }
+      // For Node.js compatibility
+      write(data) {
+        return this.push(data);
+      }
+      end(data) {
+        let result = "";
+        if (data) result = this.push(data);
+        result += this.decoder.flush();
+        return result;
+      }
+    };
+    function normalizeEncoding(encoding) {
+      encoding = encoding.toLowerCase();
+      switch (encoding) {
+        case "utf8":
+        case "utf-8":
+          return "utf8";
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+          return "utf16le";
+        case "latin1":
+        case "binary":
+          return "latin1";
+        case "base64":
+        case "ascii":
+        case "hex":
+          return encoding;
+        default:
+          throw new Error("Unknown encoding: " + encoding);
+      }
     }
-    module2.exports = keysIn;
   }
 });
 
-// node_modules/lodash/defaults.js
-var require_defaults = __commonJS({
-  "node_modules/lodash/defaults.js"(exports2, module2) {
-    var baseRest = require_baseRest();
-    var eq = require_eq2();
-    var isIterateeCall = require_isIterateeCall();
-    var keysIn = require_keysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var defaults = baseRest(function(object, sources) {
-      object = Object(object);
-      var index = -1;
-      var length = sources.length;
-      var guard = length > 2 ? sources[2] : void 0;
-      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
-        length = 1;
+// node_modules/streamx/index.js
+var require_streamx = __commonJS({
+  "node_modules/streamx/index.js"(exports2, module2) {
+    var { EventEmitter } = require("events");
+    var STREAM_DESTROYED = new Error("Stream was destroyed");
+    var PREMATURE_CLOSE = new Error("Premature close");
+    var queueTick = require_process_next_tick();
+    var FIFO = require_fast_fifo();
+    var TextDecoder2 = require_text_decoder();
+    var MAX = (1 << 29) - 1;
+    var OPENING = 1;
+    var PREDESTROYING = 2;
+    var DESTROYING = 4;
+    var DESTROYED = 8;
+    var NOT_OPENING = MAX ^ OPENING;
+    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
+    var READ_ACTIVE = 1 << 4;
+    var READ_UPDATING = 2 << 4;
+    var READ_PRIMARY = 4 << 4;
+    var READ_QUEUED = 8 << 4;
+    var READ_RESUMED = 16 << 4;
+    var READ_PIPE_DRAINED = 32 << 4;
+    var READ_ENDING = 64 << 4;
+    var READ_EMIT_DATA = 128 << 4;
+    var READ_EMIT_READABLE = 256 << 4;
+    var READ_EMITTED_READABLE = 512 << 4;
+    var READ_DONE = 1024 << 4;
+    var READ_NEXT_TICK = 2048 << 4;
+    var READ_NEEDS_PUSH = 4096 << 4;
+    var READ_READ_AHEAD = 8192 << 4;
+    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
+    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
+    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
+    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
+    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
+    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
+    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
+    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
+    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
+    var READ_PAUSED = MAX ^ READ_RESUMED;
+    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
+    var READ_NOT_ENDING = MAX ^ READ_ENDING;
+    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
+    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
+    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
+    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
+    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
+    var WRITE_ACTIVE = 1 << 18;
+    var WRITE_UPDATING = 2 << 18;
+    var WRITE_PRIMARY = 4 << 18;
+    var WRITE_QUEUED = 8 << 18;
+    var WRITE_UNDRAINED = 16 << 18;
+    var WRITE_DONE = 32 << 18;
+    var WRITE_EMIT_DRAIN = 64 << 18;
+    var WRITE_NEXT_TICK = 128 << 18;
+    var WRITE_WRITING = 256 << 18;
+    var WRITE_FINISHING = 512 << 18;
+    var WRITE_CORKED = 1024 << 18;
+    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
+    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
+    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
+    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
+    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
+    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
+    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
+    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
+    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
+    var NOT_ACTIVE = MAX ^ ACTIVE;
+    var DONE = READ_DONE | WRITE_DONE;
+    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
+    var OPEN_STATUS = DESTROY_STATUS | OPENING;
+    var AUTO_DESTROY = DESTROY_STATUS | DONE;
+    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
+    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
+    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
+    var IS_OPENING = OPEN_STATUS | TICKING;
+    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
+    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
+    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
+    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
+    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
+    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
+    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
+    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
+    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
+    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
+    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
+    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
+    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
+    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
+    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
+    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
+    var WritableState = class {
+      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
+        this.stream = stream;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark;
+        this.buffered = 0;
+        this.error = null;
+        this.pipeline = null;
+        this.drains = null;
+        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
+        this.map = mapWritable || map2;
+        this.afterWrite = afterWrite.bind(this);
+        this.afterUpdateNextTick = updateWriteNT.bind(this);
       }
-      while (++index < length) {
-        var source = sources[index];
-        var props = keysIn(source);
-        var propsIndex = -1;
-        var propsLength = props.length;
-        while (++propsIndex < propsLength) {
-          var key = props[propsIndex];
-          var value = object[key];
-          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
-            object[key] = source[key];
+      get ended() {
+        return (this.stream._duplexState & WRITE_DONE) !== 0;
+      }
+      push(data) {
+        if (this.map !== null) data = this.map(data);
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        if (this.buffered < this.highWaterMark) {
+          this.stream._duplexState |= WRITE_QUEUED;
+          return true;
+        }
+        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
+        return false;
+      }
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
+        return data;
+      }
+      end(data) {
+        if (typeof data === "function") this.stream.once("finish", data);
+        else if (data !== void 0 && data !== null) this.push(data);
+        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
+      }
+      autoBatch(data, cb) {
+        const buffer = [];
+        const stream = this.stream;
+        buffer.push(data);
+        while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
+          buffer.push(stream._writableState.shift());
+        }
+        if ((stream._duplexState & OPEN_STATUS) !== 0) return cb(null);
+        stream._writev(buffer, cb);
+      }
+      update() {
+        const stream = this.stream;
+        stream._duplexState |= WRITE_UPDATING;
+        do {
+          while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
+            const data = this.shift();
+            stream._duplexState |= WRITE_ACTIVE_AND_WRITING;
+            stream._write(data, this.afterWrite);
+          }
+          if ((stream._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream._duplexState &= WRITE_NOT_UPDATING;
+      }
+      updateNonPrimary() {
+        const stream = this.stream;
+        if ((stream._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
+          stream._duplexState = (stream._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
+          stream._final(afterFinal.bind(this));
+          return;
+        }
+        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream._duplexState |= ACTIVE;
+            stream._destroy(afterDestroy.bind(this));
           }
+          return;
+        }
+        if ((stream._duplexState & IS_OPENING) === OPENING) {
+          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
+          stream._open(afterOpen.bind(this));
         }
       }
-      return object;
-    });
-    module2.exports = defaults;
-  }
-});
-
-// node_modules/readable-stream/lib/ours/primordials.js
-var require_primordials = __commonJS({
-  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      ArrayIsArray(self2) {
-        return Array.isArray(self2);
-      },
-      ArrayPrototypeIncludes(self2, el) {
-        return self2.includes(el);
-      },
-      ArrayPrototypeIndexOf(self2, el) {
-        return self2.indexOf(el);
-      },
-      ArrayPrototypeJoin(self2, sep3) {
-        return self2.join(sep3);
-      },
-      ArrayPrototypeMap(self2, fn) {
-        return self2.map(fn);
-      },
-      ArrayPrototypePop(self2, el) {
-        return self2.pop(el);
-      },
-      ArrayPrototypePush(self2, el) {
-        return self2.push(el);
-      },
-      ArrayPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      Error,
-      FunctionPrototypeCall(fn, thisArgs, ...args) {
-        return fn.call(thisArgs, ...args);
-      },
-      FunctionPrototypeSymbolHasInstance(self2, instance) {
-        return Function.prototype[Symbol.hasInstance].call(self2, instance);
-      },
-      MathFloor: Math.floor,
-      Number,
-      NumberIsInteger: Number.isInteger,
-      NumberIsNaN: Number.isNaN,
-      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
-      NumberParseInt: Number.parseInt,
-      ObjectDefineProperties(self2, props) {
-        return Object.defineProperties(self2, props);
-      },
-      ObjectDefineProperty(self2, name, prop) {
-        return Object.defineProperty(self2, name, prop);
-      },
-      ObjectGetOwnPropertyDescriptor(self2, name) {
-        return Object.getOwnPropertyDescriptor(self2, name);
-      },
-      ObjectKeys(obj) {
-        return Object.keys(obj);
-      },
-      ObjectSetPrototypeOf(target, proto) {
-        return Object.setPrototypeOf(target, proto);
-      },
-      Promise,
-      PromisePrototypeCatch(self2, fn) {
-        return self2.catch(fn);
-      },
-      PromisePrototypeThen(self2, thenFn, catchFn) {
-        return self2.then(thenFn, catchFn);
-      },
-      PromiseReject(err) {
-        return Promise.reject(err);
-      },
-      PromiseResolve(val) {
-        return Promise.resolve(val);
-      },
-      ReflectApply: Reflect.apply,
-      RegExpPrototypeTest(self2, value) {
-        return self2.test(value);
-      },
-      SafeSet: Set,
-      String,
-      StringPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      StringPrototypeToLowerCase(self2) {
-        return self2.toLowerCase();
-      },
-      StringPrototypeToUpperCase(self2) {
-        return self2.toUpperCase();
-      },
-      StringPrototypeTrim(self2) {
-        return self2.trim();
-      },
-      Symbol,
-      SymbolFor: Symbol.for,
-      SymbolAsyncIterator: Symbol.asyncIterator,
-      SymbolHasInstance: Symbol.hasInstance,
-      SymbolIterator: Symbol.iterator,
-      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
-      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
-      TypedArrayPrototypeSet(self2, buf, len) {
-        return self2.set(buf, len);
-      },
-      Boolean,
-      Uint8Array
+      continueUpdate() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        return true;
+      }
+      updateCallback() {
+        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= WRITE_NEXT_TICK;
+        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      }
     };
-  }
-});
-
-// node_modules/event-target-shim/dist/event-target-shim.js
-var require_event_target_shim = __commonJS({
-  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var privateData = /* @__PURE__ */ new WeakMap();
-    var wrappers = /* @__PURE__ */ new WeakMap();
-    function pd(event) {
-      const retv = privateData.get(event);
-      console.assert(
-        retv != null,
-        "'this' is expected an Event object, but got",
-        event
-      );
-      return retv;
-    }
-    function setCancelFlag(data) {
-      if (data.passiveListener != null) {
-        if (typeof console !== "undefined" && typeof console.error === "function") {
-          console.error(
-            "Unable to preventDefault inside passive event listener invocation.",
-            data.passiveListener
-          );
-        }
-        return;
+    var ReadableState = class {
+      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
+        this.stream = stream;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
+        this.buffered = 0;
+        this.readAhead = highWaterMark > 0;
+        this.error = null;
+        this.pipeline = null;
+        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
+        this.map = mapReadable || map2;
+        this.pipeTo = null;
+        this.afterRead = afterRead.bind(this);
+        this.afterUpdateNextTick = updateReadNT.bind(this);
       }
-      if (!data.event.cancelable) {
-        return;
+      get ended() {
+        return (this.stream._duplexState & READ_DONE) !== 0;
       }
-      data.canceled = true;
-      if (typeof data.event.preventDefault === "function") {
-        data.event.preventDefault();
+      pipe(pipeTo, cb) {
+        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
+        if (typeof cb !== "function") cb = null;
+        this.stream._duplexState |= READ_PIPE_DRAINED;
+        this.pipeTo = pipeTo;
+        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
+        if (cb) this.stream.on("error", noop3);
+        if (isStreamx(pipeTo)) {
+          pipeTo._writableState.pipeline = this.pipeline;
+          if (cb) pipeTo.on("error", noop3);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+        } else {
+          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
+          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
+          pipeTo.on("error", onerror);
+          pipeTo.on("close", onclose);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+        }
+        pipeTo.on("drain", afterDrain.bind(this));
+        this.stream.emit("piping", pipeTo);
+        pipeTo.emit("pipe", this.stream);
       }
-    }
-    function Event2(eventTarget, event) {
-      privateData.set(this, {
-        eventTarget,
-        event,
-        eventPhase: 2,
-        currentTarget: eventTarget,
-        canceled: false,
-        stopped: false,
-        immediateStopped: false,
-        passiveListener: null,
-        timeStamp: event.timeStamp || Date.now()
-      });
-      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
-      const keys = Object.keys(event);
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in this)) {
-          Object.defineProperty(this, key, defineRedirectDescriptor(key));
+      push(data) {
+        const stream = this.stream;
+        if (data === null) {
+          this.highWaterMark = 0;
+          stream._duplexState = (stream._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
+          return false;
+        }
+        if (this.map !== null) {
+          data = this.map(data);
+          if (data === null) {
+            stream._duplexState &= READ_PUSHED;
+            return this.buffered < this.highWaterMark;
+          }
         }
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        stream._duplexState = (stream._duplexState | READ_QUEUED) & READ_PUSHED;
+        return this.buffered < this.highWaterMark;
       }
-    }
-    Event2.prototype = {
-      /**
-       * The type of this event.
-       * @type {string}
-       */
-      get type() {
-        return pd(this).event.type;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get target() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get currentTarget() {
-        return pd(this).currentTarget;
-      },
-      /**
-       * @returns {EventTarget[]} The composed path of this event.
-       */
-      composedPath() {
-        const currentTarget = pd(this).currentTarget;
-        if (currentTarget == null) {
-          return [];
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
+        return data;
+      }
+      unshift(data) {
+        const pending = [this.map !== null ? this.map(data) : data];
+        while (this.buffered > 0) pending.push(this.shift());
+        for (let i = 0; i < pending.length - 1; i++) {
+          const data2 = pending[i];
+          this.buffered += this.byteLength(data2);
+          this.queue.push(data2);
         }
-        return [currentTarget];
-      },
-      /**
-       * Constant of NONE.
-       * @type {number}
-       */
-      get NONE() {
-        return 0;
-      },
-      /**
-       * Constant of CAPTURING_PHASE.
-       * @type {number}
-       */
-      get CAPTURING_PHASE() {
-        return 1;
-      },
-      /**
-       * Constant of AT_TARGET.
-       * @type {number}
-       */
-      get AT_TARGET() {
-        return 2;
-      },
-      /**
-       * Constant of BUBBLING_PHASE.
-       * @type {number}
-       */
-      get BUBBLING_PHASE() {
-        return 3;
-      },
-      /**
-       * The target of this event.
-       * @type {number}
-       */
-      get eventPhase() {
-        return pd(this).eventPhase;
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopPropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.stopPropagation === "function") {
-          data.event.stopPropagation();
+        this.push(pending[pending.length - 1]);
+      }
+      read() {
+        const stream = this.stream;
+        if ((stream._duplexState & READ_STATUS) === READ_QUEUED) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
+          return data;
         }
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopImmediatePropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        data.immediateStopped = true;
-        if (typeof data.event.stopImmediatePropagation === "function") {
-          data.event.stopImmediatePropagation();
+        if (this.readAhead === false) {
+          stream._duplexState |= READ_READ_AHEAD;
+          this.updateNextTick();
         }
-      },
-      /**
-       * The flag to be bubbling.
-       * @type {boolean}
-       */
-      get bubbles() {
-        return Boolean(pd(this).event.bubbles);
-      },
-      /**
-       * The flag to be cancelable.
-       * @type {boolean}
-       */
-      get cancelable() {
-        return Boolean(pd(this).event.cancelable);
-      },
-      /**
-       * Cancel this event.
-       * @returns {void}
-       */
-      preventDefault() {
-        setCancelFlag(pd(this));
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       */
-      get defaultPrevented() {
-        return pd(this).canceled;
-      },
-      /**
-       * The flag to be composed.
-       * @type {boolean}
-       */
-      get composed() {
-        return Boolean(pd(this).event.composed);
-      },
-      /**
-       * The unix time of this event.
-       * @type {number}
-       */
-      get timeStamp() {
-        return pd(this).timeStamp;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       * @deprecated
-       */
-      get srcElement() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The flag to stop event bubbling.
-       * @type {boolean}
-       * @deprecated
-       */
-      get cancelBubble() {
-        return pd(this).stopped;
-      },
-      set cancelBubble(value) {
-        if (!value) {
-          return;
+        return null;
+      }
+      drain() {
+        const stream = this.stream;
+        while ((stream._duplexState & READ_STATUS) === READ_QUEUED && (stream._duplexState & READ_FLOWING) !== 0) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
         }
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.cancelBubble === "boolean") {
-          data.event.cancelBubble = true;
+      }
+      update() {
+        const stream = this.stream;
+        stream._duplexState |= READ_UPDATING;
+        do {
+          this.drain();
+          while (this.buffered < this.highWaterMark && (stream._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
+            stream._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
+            stream._read(this.afterRead);
+            this.drain();
+          }
+          if ((stream._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
+            stream._duplexState |= READ_EMITTED_READABLE;
+            stream.emit("readable");
+          }
+          if ((stream._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream._duplexState &= READ_NOT_UPDATING;
+      }
+      updateNonPrimary() {
+        const stream = this.stream;
+        if ((stream._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
+          stream._duplexState = (stream._duplexState | READ_DONE) & READ_NOT_ENDING;
+          stream.emit("end");
+          if ((stream._duplexState & AUTO_DESTROY) === DONE) stream._duplexState |= DESTROYING;
+          if (this.pipeTo !== null) this.pipeTo.end();
         }
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       * @deprecated
-       */
-      get returnValue() {
-        return !pd(this).canceled;
-      },
-      set returnValue(value) {
-        if (!value) {
-          setCancelFlag(pd(this));
+        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream._duplexState |= ACTIVE;
+            stream._destroy(afterDestroy.bind(this));
+          }
+          return;
         }
-      },
-      /**
-       * Initialize this event object. But do nothing under event dispatching.
-       * @param {string} type The event type.
-       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
-       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
-       * @deprecated
-       */
-      initEvent() {
+        if ((stream._duplexState & IS_OPENING) === OPENING) {
+          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
+          stream._open(afterOpen.bind(this));
+        }
+      }
+      continueUpdate() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        return true;
+      }
+      updateCallback() {
+        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= READ_NEXT_TICK;
+        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
       }
     };
-    Object.defineProperty(Event2.prototype, "constructor", {
-      value: Event2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
-      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
-      wrappers.set(window.Event.prototype, Event2);
-    }
-    function defineRedirectDescriptor(key) {
-      return {
-        get() {
-          return pd(this).event[key];
-        },
-        set(value) {
-          pd(this).event[key] = value;
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineCallDescriptor(key) {
-      return {
-        value() {
-          const event = pd(this).event;
-          return event[key].apply(event, arguments);
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineWrapper(BaseEvent, proto) {
-      const keys = Object.keys(proto);
-      if (keys.length === 0) {
-        return BaseEvent;
+    var TransformState = class {
+      constructor(stream) {
+        this.data = null;
+        this.afterTransform = afterTransform.bind(stream);
+        this.afterFinal = null;
       }
-      function CustomEvent(eventTarget, event) {
-        BaseEvent.call(this, eventTarget, event);
+    };
+    var Pipeline = class {
+      constructor(src, dst, cb) {
+        this.from = src;
+        this.to = dst;
+        this.afterPipe = cb;
+        this.error = null;
+        this.pipeToFinished = false;
       }
-      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
-        constructor: { value: CustomEvent, configurable: true, writable: true }
-      });
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in BaseEvent.prototype)) {
-          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
-          const isFunc = typeof descriptor.value === "function";
-          Object.defineProperty(
-            CustomEvent.prototype,
-            key,
-            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
-          );
+      finished() {
+        this.pipeToFinished = true;
+      }
+      done(stream, err) {
+        if (err) this.error = err;
+        if (stream === this.to) {
+          this.to = null;
+          if (this.from !== null) {
+            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
+              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+            }
+            return;
+          }
+        }
+        if (stream === this.from) {
+          this.from = null;
+          if (this.to !== null) {
+            if ((stream._duplexState & READ_DONE) === 0) {
+              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
+            }
+            return;
+          }
         }
+        if (this.afterPipe !== null) this.afterPipe(this.error);
+        this.to = this.from = this.afterPipe = null;
       }
-      return CustomEvent;
+    };
+    function afterDrain() {
+      this.stream._duplexState |= READ_PIPE_DRAINED;
+      this.updateCallback();
     }
-    function getWrapper(proto) {
-      if (proto == null || proto === Object.prototype) {
-        return Event2;
+    function afterFinal(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      if ((stream._duplexState & DESTROY_STATUS) === 0) {
+        stream._duplexState |= WRITE_DONE;
+        stream.emit("finish");
       }
-      let wrapper = wrappers.get(proto);
-      if (wrapper == null) {
-        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
-        wrappers.set(proto, wrapper);
+      if ((stream._duplexState & AUTO_DESTROY) === DONE) {
+        stream._duplexState |= DESTROYING;
       }
-      return wrapper;
-    }
-    function wrapEvent(eventTarget, event) {
-      const Wrapper = getWrapper(Object.getPrototypeOf(event));
-      return new Wrapper(eventTarget, event);
-    }
-    function isStopped(event) {
-      return pd(event).immediateStopped;
-    }
-    function setEventPhase(event, eventPhase) {
-      pd(event).eventPhase = eventPhase;
-    }
-    function setCurrentTarget(event, currentTarget) {
-      pd(event).currentTarget = currentTarget;
-    }
-    function setPassiveListener(event, passiveListener) {
-      pd(event).passiveListener = passiveListener;
+      stream._duplexState &= WRITE_NOT_ACTIVE;
+      if ((stream._duplexState & WRITE_UPDATING) === 0) this.update();
+      else this.updateNextTick();
     }
-    var listenersMap = /* @__PURE__ */ new WeakMap();
-    var CAPTURE = 1;
-    var BUBBLE = 2;
-    var ATTRIBUTE = 3;
-    function isObject2(x) {
-      return x !== null && typeof x === "object";
+    function afterDestroy(err) {
+      const stream = this.stream;
+      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
+      if (err) stream.emit("error", err);
+      stream._duplexState |= DESTROYED;
+      stream.emit("close");
+      const rs = stream._readableState;
+      const ws = stream._writableState;
+      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream, err);
+      if (ws !== null) {
+        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
+        if (ws.pipeline !== null) ws.pipeline.done(stream, err);
+      }
     }
-    function getListeners(eventTarget) {
-      const listeners = listenersMap.get(eventTarget);
-      if (listeners == null) {
-        throw new TypeError(
-          "'this' is expected an EventTarget object, but got another value."
-        );
+    function afterWrite(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      stream._duplexState &= WRITE_NOT_ACTIVE;
+      if (this.drains !== null) tickDrains(this.drains);
+      if ((stream._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
+        stream._duplexState &= WRITE_DRAINED;
+        if ((stream._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
+          stream.emit("drain");
+        }
       }
-      return listeners;
+      this.updateCallback();
     }
-    function defineEventAttributeDescriptor(eventName) {
-      return {
-        get() {
-          const listeners = getListeners(this);
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              return node.listener;
-            }
-            node = node.next;
-          }
-          return null;
-        },
-        set(listener) {
-          if (typeof listener !== "function" && !isObject2(listener)) {
-            listener = null;
-          }
-          const listeners = getListeners(this);
-          let prev = null;
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              if (prev !== null) {
-                prev.next = node.next;
-              } else if (node.next !== null) {
-                listeners.set(eventName, node.next);
-              } else {
-                listeners.delete(eventName);
-              }
-            } else {
-              prev = node;
-            }
-            node = node.next;
-          }
-          if (listener !== null) {
-            const newNode = {
-              listener,
-              listenerType: ATTRIBUTE,
-              passive: false,
-              once: false,
-              next: null
-            };
-            if (prev === null) {
-              listeners.set(eventName, newNode);
-            } else {
-              prev.next = newNode;
-            }
-          }
-        },
-        configurable: true,
-        enumerable: true
-      };
+    function afterRead(err) {
+      if (err) this.stream.destroy(err);
+      this.stream._duplexState &= READ_NOT_ACTIVE;
+      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
+      this.updateCallback();
     }
-    function defineEventAttribute(eventTargetPrototype, eventName) {
-      Object.defineProperty(
-        eventTargetPrototype,
-        `on${eventName}`,
-        defineEventAttributeDescriptor(eventName)
-      );
+    function updateReadNT() {
+      if ((this.stream._duplexState & READ_UPDATING) === 0) {
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        this.update();
+      }
     }
-    function defineCustomEventTarget(eventNames) {
-      function CustomEventTarget() {
-        EventTarget2.call(this);
+    function updateWriteNT() {
+      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        this.update();
       }
-      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
-        constructor: {
-          value: CustomEventTarget,
-          configurable: true,
-          writable: true
+    }
+    function tickDrains(drains) {
+      for (let i = 0; i < drains.length; i++) {
+        if (--drains[i].writes === 0) {
+          drains.shift().resolve(true);
+          i--;
         }
-      });
-      for (let i = 0; i < eventNames.length; ++i) {
-        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
       }
-      return CustomEventTarget;
     }
-    function EventTarget2() {
-      if (this instanceof EventTarget2) {
-        listenersMap.set(this, /* @__PURE__ */ new Map());
-        return;
+    function afterOpen(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      if ((stream._duplexState & DESTROYING) === 0) {
+        if ((stream._duplexState & READ_PRIMARY_STATUS) === 0) stream._duplexState |= READ_PRIMARY;
+        if ((stream._duplexState & WRITE_PRIMARY_STATUS) === 0) stream._duplexState |= WRITE_PRIMARY;
+        stream.emit("open");
       }
-      if (arguments.length === 1 && Array.isArray(arguments[0])) {
-        return defineCustomEventTarget(arguments[0]);
+      stream._duplexState &= NOT_ACTIVE;
+      if (stream._writableState !== null) {
+        stream._writableState.updateCallback();
       }
-      if (arguments.length > 0) {
-        const types = new Array(arguments.length);
-        for (let i = 0; i < arguments.length; ++i) {
-          types[i] = arguments[i];
-        }
-        return defineCustomEventTarget(types);
+      if (stream._readableState !== null) {
+        stream._readableState.updateCallback();
       }
-      throw new TypeError("Cannot call a class as a function");
     }
-    EventTarget2.prototype = {
-      /**
-       * Add a given listener to this event target.
-       * @param {string} eventName The event name to add.
-       * @param {Function} listener The listener to add.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      addEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
+    function afterTransform(err, data) {
+      if (data !== void 0 && data !== null) this.push(data);
+      this._writableState.afterWrite(err);
+    }
+    function newListener(name) {
+      if (this._readableState !== null) {
+        if (name === "data") {
+          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
+          this._readableState.updateNextTick();
         }
-        if (typeof listener !== "function" && !isObject2(listener)) {
-          throw new TypeError("'listener' should be a function or an object.");
+        if (name === "readable") {
+          this._duplexState |= READ_EMIT_READABLE;
+          this._readableState.updateNextTick();
         }
-        const listeners = getListeners(this);
-        const optionsIsObj = isObject2(options);
-        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        const newNode = {
-          listener,
-          listenerType,
-          passive: optionsIsObj && Boolean(options.passive),
-          once: optionsIsObj && Boolean(options.once),
-          next: null
-        };
-        let node = listeners.get(eventName);
-        if (node === void 0) {
-          listeners.set(eventName, newNode);
-          return;
+      }
+      if (this._writableState !== null) {
+        if (name === "drain") {
+          this._duplexState |= WRITE_EMIT_DRAIN;
+          this._writableState.updateNextTick();
         }
-        let prev = null;
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            return;
+      }
+    }
+    var Stream = class extends EventEmitter {
+      constructor(opts) {
+        super();
+        this._duplexState = 0;
+        this._readableState = null;
+        this._writableState = null;
+        if (opts) {
+          if (opts.open) this._open = opts.open;
+          if (opts.destroy) this._destroy = opts.destroy;
+          if (opts.predestroy) this._predestroy = opts.predestroy;
+          if (opts.signal) {
+            opts.signal.addEventListener("abort", abort.bind(this));
           }
-          prev = node;
-          node = node.next;
-        }
-        prev.next = newNode;
-      },
-      /**
-       * Remove a given listener from this event target.
-       * @param {string} eventName The event name to remove.
-       * @param {Function} listener The listener to remove.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      removeEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
         }
-        const listeners = getListeners(this);
-        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        let prev = null;
-        let node = listeners.get(eventName);
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-            return;
+        this.on("newListener", newListener);
+      }
+      _open(cb) {
+        cb(null);
+      }
+      _destroy(cb) {
+        cb(null);
+      }
+      _predestroy() {
+      }
+      get readable() {
+        return this._readableState !== null ? true : void 0;
+      }
+      get writable() {
+        return this._writableState !== null ? true : void 0;
+      }
+      get destroyed() {
+        return (this._duplexState & DESTROYED) !== 0;
+      }
+      get destroying() {
+        return (this._duplexState & DESTROY_STATUS) !== 0;
+      }
+      destroy(err) {
+        if ((this._duplexState & DESTROY_STATUS) === 0) {
+          if (!err) err = STREAM_DESTROYED;
+          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
+          if (this._readableState !== null) {
+            this._readableState.highWaterMark = 0;
+            this._readableState.error = err;
           }
-          prev = node;
-          node = node.next;
+          if (this._writableState !== null) {
+            this._writableState.highWaterMark = 0;
+            this._writableState.error = err;
+          }
+          this._duplexState |= PREDESTROYING;
+          this._predestroy();
+          this._duplexState &= NOT_PREDESTROYING;
+          if (this._readableState !== null) this._readableState.updateNextTick();
+          if (this._writableState !== null) this._writableState.updateNextTick();
         }
-      },
-      /**
-       * Dispatch a given event.
-       * @param {Event|{type:string}} event The event to dispatch.
-       * @returns {boolean} `false` if canceled.
-       */
-      dispatchEvent(event) {
-        if (event == null || typeof event.type !== "string") {
-          throw new TypeError('"event.type" should be a string.');
+      }
+    };
+    var Readable = class _Readable extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
+        this._readableState = new ReadableState(this, opts);
+        if (opts) {
+          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
+          if (opts.read) this._read = opts.read;
+          if (opts.eagerOpen) this._readableState.updateNextTick();
+          if (opts.encoding) this.setEncoding(opts.encoding);
         }
-        const listeners = getListeners(this);
-        const eventName = event.type;
-        let node = listeners.get(eventName);
-        if (node == null) {
-          return true;
+      }
+      setEncoding(encoding) {
+        const dec = new TextDecoder2(encoding);
+        const map2 = this._readableState.map || echo;
+        this._readableState.map = mapOrSkip;
+        return this;
+        function mapOrSkip(data) {
+          const next = dec.push(data);
+          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
         }
-        const wrappedEvent = wrapEvent(this, event);
-        let prev = null;
-        while (node != null) {
-          if (node.once) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-          } else {
-            prev = node;
+      }
+      _read(cb) {
+        cb(null);
+      }
+      pipe(dest, cb) {
+        this._readableState.updateNextTick();
+        this._readableState.pipe(dest, cb);
+        return dest;
+      }
+      read() {
+        this._readableState.updateNextTick();
+        return this._readableState.read();
+      }
+      push(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.push(data);
+      }
+      unshift(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.unshift(data);
+      }
+      resume() {
+        this._duplexState |= READ_RESUMED_READ_AHEAD;
+        this._readableState.updateNextTick();
+        return this;
+      }
+      pause() {
+        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
+        return this;
+      }
+      static _fromAsyncIterator(ite, opts) {
+        let destroy;
+        const rs = new _Readable({
+          ...opts,
+          read(cb) {
+            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
+          },
+          predestroy() {
+            destroy = ite.return();
+          },
+          destroy(cb) {
+            if (!destroy) return cb(null);
+            destroy.then(cb.bind(null, null)).catch(cb);
           }
-          setPassiveListener(
-            wrappedEvent,
-            node.passive ? node.listener : null
-          );
-          if (typeof node.listener === "function") {
-            try {
-              node.listener.call(this, wrappedEvent);
-            } catch (err) {
-              if (typeof console !== "undefined" && typeof console.error === "function") {
-                console.error(err);
-              }
-            }
-          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
-            node.listener.handleEvent(wrappedEvent);
+        });
+        return rs;
+        function push(data) {
+          if (data.done) rs.push(null);
+          else rs.push(data.value);
+        }
+      }
+      static from(data, opts) {
+        if (isReadStreamx(data)) return data;
+        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
+        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
+        let i = 0;
+        return new _Readable({
+          ...opts,
+          read(cb) {
+            this.push(i === data.length ? null : data[i++]);
+            cb(null);
           }
-          if (isStopped(wrappedEvent)) {
-            break;
+        });
+      }
+      static isBackpressured(rs) {
+        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
+      }
+      static isPaused(rs) {
+        return (rs._duplexState & READ_RESUMED) === 0;
+      }
+      [asyncIterator]() {
+        const stream = this;
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("readable", onreadable);
+        this.on("close", onclose);
+        return {
+          [asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(function(resolve3, reject) {
+              promiseResolve = resolve3;
+              promiseReject = reject;
+              const data = stream.read();
+              if (data !== null) ondata(data);
+              else if ((stream._duplexState & DESTROYED) !== 0) ondata(null);
+            });
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
           }
-          node = node.next;
+        };
+        function onreadable() {
+          if (promiseResolve !== null) ondata(stream.read());
+        }
+        function onclose() {
+          if (promiseResolve !== null) ondata(null);
+        }
+        function ondata(data) {
+          if (promiseReject === null) return;
+          if (error3) promiseReject(error3);
+          else if (data === null && (stream._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
+          else promiseResolve({ value: data, done: data === null });
+          promiseReject = promiseResolve = null;
+        }
+        function destroy(err) {
+          stream.destroy(err);
+          return new Promise((resolve3, reject) => {
+            if (stream._duplexState & DESTROYED) return resolve3({ value: void 0, done: true });
+            stream.once("close", function() {
+              if (err) reject(err);
+              else resolve3({ value: void 0, done: true });
+            });
+          });
         }
-        setPassiveListener(wrappedEvent, null);
-        setEventPhase(wrappedEvent, 0);
-        setCurrentTarget(wrappedEvent, null);
-        return !wrappedEvent.defaultPrevented;
       }
     };
-    Object.defineProperty(EventTarget2.prototype, "constructor", {
-      value: EventTarget2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
-      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
-    }
-    exports2.defineEventAttribute = defineEventAttribute;
-    exports2.EventTarget = EventTarget2;
-    exports2.default = EventTarget2;
-    module2.exports = EventTarget2;
-    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
-    module2.exports.defineEventAttribute = defineEventAttribute;
-  }
-});
-
-// node_modules/abort-controller/dist/abort-controller.js
-var require_abort_controller = __commonJS({
-  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var eventTargetShim = require_event_target_shim();
-    var AbortSignal2 = class extends eventTargetShim.EventTarget {
-      /**
-       * AbortSignal cannot be constructed directly.
-       */
-      constructor() {
-        super();
-        throw new TypeError("AbortSignal cannot be constructed directly");
+    var Writable = class extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | READ_DONE;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
+          if (opts.eagerOpen) this._writableState.updateNextTick();
+        }
       }
-      /**
-       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
-       */
-      get aborted() {
-        const aborted = abortedFlags.get(this);
-        if (typeof aborted !== "boolean") {
-          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
+      cork() {
+        this._duplexState |= WRITE_CORKED;
+      }
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
+      }
+      _writev(batch, cb) {
+        cb(null);
+      }
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
+      }
+      _final(cb) {
+        cb(null);
+      }
+      static isBackpressured(ws) {
+        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
+      }
+      static drained(ws) {
+        if (ws.destroyed) return Promise.resolve(false);
+        const state = ws._writableState;
+        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
+        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
+        if (writes === 0) return Promise.resolve(true);
+        if (state.drains === null) state.drains = [];
+        return new Promise((resolve3) => {
+          state.drains.push({ writes, resolve: resolve3 });
+        });
+      }
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
+      }
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
+      }
+    };
+    var Duplex = class extends Readable {
+      // and Writable
+      constructor(opts) {
+        super(opts);
+        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
         }
-        return aborted;
       }
-    };
-    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
-    function createAbortSignal() {
-      const signal = Object.create(AbortSignal2.prototype);
-      eventTargetShim.EventTarget.call(signal);
-      abortedFlags.set(signal, false);
-      return signal;
-    }
-    function abortSignal(signal) {
-      if (abortedFlags.get(signal) !== false) {
-        return;
+      cork() {
+        this._duplexState |= WRITE_CORKED;
+      }
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
+      }
+      _writev(batch, cb) {
+        cb(null);
+      }
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
+      }
+      _final(cb) {
+        cb(null);
+      }
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
+      }
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
+      }
+    };
+    var Transform = class extends Duplex {
+      constructor(opts) {
+        super(opts);
+        this._transformState = new TransformState(this);
+        if (opts) {
+          if (opts.transform) this._transform = opts.transform;
+          if (opts.flush) this._flush = opts.flush;
+        }
+      }
+      _write(data, cb) {
+        if (this._readableState.buffered >= this._readableState.highWaterMark) {
+          this._transformState.data = data;
+        } else {
+          this._transform(data, this._transformState.afterTransform);
+        }
+      }
+      _read(cb) {
+        if (this._transformState.data !== null) {
+          const data = this._transformState.data;
+          this._transformState.data = null;
+          cb(null);
+          this._transform(data, this._transformState.afterTransform);
+        } else {
+          cb(null);
+        }
+      }
+      destroy(err) {
+        super.destroy(err);
+        if (this._transformState.data !== null) {
+          this._transformState.data = null;
+          this._transformState.afterTransform();
+        }
+      }
+      _transform(data, cb) {
+        cb(null, data);
+      }
+      _flush(cb) {
+        cb(null);
       }
-      abortedFlags.set(signal, true);
-      signal.dispatchEvent({ type: "abort" });
+      _final(cb) {
+        this._transformState.afterFinal = cb;
+        this._flush(transformAfterFlush.bind(this));
+      }
+    };
+    var PassThrough = class extends Transform {
+    };
+    function transformAfterFlush(err, data) {
+      const cb = this._transformState.afterFinal;
+      if (err) return cb(err);
+      if (data !== null && data !== void 0) this.push(data);
+      this.push(null);
+      cb(null);
     }
-    var abortedFlags = /* @__PURE__ */ new WeakMap();
-    Object.defineProperties(AbortSignal2.prototype, {
-      aborted: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortSignal"
+    function pipelinePromise(...streams) {
+      return new Promise((resolve3, reject) => {
+        return pipeline(...streams, (err) => {
+          if (err) return reject(err);
+          resolve3();
+        });
       });
     }
-    var AbortController2 = class {
-      /**
-       * Initialize this controller.
-       */
-      constructor() {
-        signals.set(this, createAbortSignal());
+    function pipeline(stream, ...streams) {
+      const all = Array.isArray(stream) ? [...stream, ...streams] : [stream, ...streams];
+      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
+      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
+      let src = all[0];
+      let dest = null;
+      let error3 = null;
+      for (let i = 1; i < all.length; i++) {
+        dest = all[i];
+        if (isStreamx(src)) {
+          src.pipe(dest, onerror);
+        } else {
+          errorHandle(src, true, i > 1, onerror);
+          src.pipe(dest);
+        }
+        src = dest;
       }
-      /**
-       * Returns the `AbortSignal` object associated with this object.
-       */
-      get signal() {
-        return getSignal(this);
+      if (done) {
+        let fin = false;
+        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
+        dest.on("error", (err) => {
+          if (error3 === null) error3 = err;
+        });
+        dest.on("finish", () => {
+          fin = true;
+          if (!autoDestroy) done(error3);
+        });
+        if (autoDestroy) {
+          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
+        }
       }
-      /**
-       * Abort and signal to any observers that the associated activity is to be aborted.
-       */
-      abort() {
-        abortSignal(getSignal(this));
+      return dest;
+      function errorHandle(s, rd, wr, onerror2) {
+        s.on("error", onerror2);
+        s.on("close", onclose);
+        function onclose() {
+          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
+          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
+        }
       }
-    };
-    var signals = /* @__PURE__ */ new WeakMap();
-    function getSignal(controller) {
-      const signal = signals.get(controller);
-      if (signal == null) {
-        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
+      function onerror(err) {
+        if (!err || error3) return;
+        error3 = err;
+        for (const s of all) {
+          s.destroy(err);
+        }
       }
-      return signal;
     }
-    Object.defineProperties(AbortController2.prototype, {
-      signal: { enumerable: true },
-      abort: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortController"
-      });
+    function echo(s) {
+      return s;
     }
-    exports2.AbortController = AbortController2;
-    exports2.AbortSignal = AbortSignal2;
-    exports2.default = AbortController2;
-    module2.exports = AbortController2;
-    module2.exports.AbortController = module2.exports["default"] = AbortController2;
-    module2.exports.AbortSignal = AbortSignal2;
+    function isStream(stream) {
+      return !!stream._readableState || !!stream._writableState;
+    }
+    function isStreamx(stream) {
+      return typeof stream._duplexState === "number" && isStream(stream);
+    }
+    function isEnded(stream) {
+      return !!stream._readableState && stream._readableState.ended;
+    }
+    function isFinished(stream) {
+      return !!stream._writableState && stream._writableState.ended;
+    }
+    function getStreamError(stream, opts = {}) {
+      const err = stream._readableState && stream._readableState.error || stream._writableState && stream._writableState.error;
+      return !opts.all && err === STREAM_DESTROYED ? null : err;
+    }
+    function isReadStreamx(stream) {
+      return isStreamx(stream) && stream.readable;
+    }
+    function isTypedArray(data) {
+      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
+    }
+    function defaultByteLength(data) {
+      return isTypedArray(data) ? data.byteLength : 1024;
+    }
+    function noop3() {
+    }
+    function abort() {
+      this.destroy(new Error("Stream aborted."));
+    }
+    function isWritev(s) {
+      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
+    }
+    module2.exports = {
+      pipeline,
+      pipelinePromise,
+      isStream,
+      isStreamx,
+      isEnded,
+      isFinished,
+      getStreamError,
+      Stream,
+      Writable,
+      Readable,
+      Duplex,
+      Transform,
+      // Export PassThrough for compatibility with Node.js core's stream module
+      PassThrough
+    };
   }
 });
 
-// node_modules/readable-stream/lib/ours/util.js
-var require_util20 = __commonJS({
-  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
-    "use strict";
-    var bufferModule = require("buffer");
-    var { kResistStopPropagation, SymbolDispose } = require_primordials();
-    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var AsyncFunction = Object.getPrototypeOf(async function() {
-    }).constructor;
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
+// node_modules/tar-stream/headers.js
+var require_headers3 = __commonJS({
+  "node_modules/tar-stream/headers.js"(exports2) {
+    var b4a = require_b4a();
+    var ZEROS = "0000000000000000000";
+    var SEVENS = "7777777777777777777";
+    var ZERO_OFFSET = "0".charCodeAt(0);
+    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
+    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
+    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
+    var GNU_VER = b4a.from([32, 0]);
+    var MASK = 4095;
+    var MAGIC_OFFSET = 257;
+    var VERSION_OFFSET = 263;
+    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
+      return decodeStr(buf, 0, buf.length, encoding);
     };
-    var validateAbortSignal = (signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
+    exports2.encodePax = function encodePax(opts) {
+      let result = "";
+      if (opts.name) result += addLength(" path=" + opts.name + "\n");
+      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
+      const pax = opts.pax;
+      if (pax) {
+        for (const key in pax) {
+          result += addLength(" " + key + "=" + pax[key] + "\n");
+        }
       }
+      return b4a.from(result);
     };
-    var validateFunction = (value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    exports2.decodePax = function decodePax(buf) {
+      const result = {};
+      while (buf.length) {
+        let i = 0;
+        while (i < buf.length && buf[i] !== 32) i++;
+        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
+        if (!len) return result;
+        const b = b4a.toString(buf.subarray(i + 1, len - 1));
+        const keyIndex = b.indexOf("=");
+        if (keyIndex === -1) return result;
+        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
+        buf = buf.subarray(len);
+      }
+      return result;
     };
-    var AggregateError = class extends Error {
-      constructor(errors) {
-        if (!Array.isArray(errors)) {
-          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
-        }
-        let message = "";
-        for (let i = 0; i < errors.length; i++) {
-          message += `    ${errors[i].stack}
-`;
-        }
-        super(message);
-        this.name = "AggregateError";
-        this.errors = errors;
+    exports2.encode = function encode(opts) {
+      const buf = b4a.alloc(512);
+      let name = opts.name;
+      let prefix = "";
+      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
+      if (b4a.byteLength(name) !== name.length) return null;
+      while (b4a.byteLength(name) > 100) {
+        const i = name.indexOf("/");
+        if (i === -1) return null;
+        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
+        name = name.slice(i + 1);
       }
+      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
+      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
+      b4a.write(buf, name);
+      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
+      b4a.write(buf, encodeOct(opts.uid, 6), 108);
+      b4a.write(buf, encodeOct(opts.gid, 6), 116);
+      encodeSize(opts.size, buf, 124);
+      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
+      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
+      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
+      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
+      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
+      if (opts.uname) b4a.write(buf, opts.uname, 265);
+      if (opts.gname) b4a.write(buf, opts.gname, 297);
+      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
+      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
+      if (prefix) b4a.write(buf, prefix, 345);
+      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
+      return buf;
     };
-    module2.exports = {
-      AggregateError,
-      kEmptyObject: Object.freeze({}),
-      once(callback) {
-        let called = false;
-        return function(...args) {
-          if (called) {
-            return;
-          }
-          called = true;
-          callback.apply(this, args);
-        };
-      },
-      createDeferredPromise: function() {
-        let resolve3;
-        let reject;
-        const promise = new Promise((res, rej) => {
-          resolve3 = res;
-          reject = rej;
-        });
-        return {
-          promise,
-          resolve: resolve3,
-          reject
-        };
-      },
-      promisify(fn) {
-        return new Promise((resolve3, reject) => {
-          fn((err, ...args) => {
-            if (err) {
-              return reject(err);
-            }
-            return resolve3(...args);
-          });
-        });
-      },
-      debuglog() {
-        return function() {
-        };
-      },
-      format(format, ...args) {
-        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
-          const replacement = args.shift();
-          if (type2 === "f") {
-            return replacement.toFixed(6);
-          } else if (type2 === "j") {
-            return JSON.stringify(replacement);
-          } else if (type2 === "s" && typeof replacement === "object") {
-            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
-            return `${ctor} {}`.trim();
-          } else {
-            return replacement.toString();
-          }
-        });
-      },
-      inspect(value) {
-        switch (typeof value) {
-          case "string":
-            if (value.includes("'")) {
-              if (!value.includes('"')) {
-                return `"${value}"`;
-              } else if (!value.includes("`") && !value.includes("${")) {
-                return `\`${value}\``;
-              }
-            }
-            return `'${value}'`;
-          case "number":
-            if (isNaN(value)) {
-              return "NaN";
-            } else if (Object.is(value, -0)) {
-              return String(value);
-            }
-            return value;
-          case "bigint":
-            return `${String(value)}n`;
-          case "boolean":
-          case "undefined":
-            return String(value);
-          case "object":
-            return "{}";
-        }
-      },
-      types: {
-        isAsyncFunction(fn) {
-          return fn instanceof AsyncFunction;
-        },
-        isArrayBufferView(arr) {
-          return ArrayBuffer.isView(arr);
-        }
-      },
-      isBlob,
-      deprecate(fn, message) {
-        return fn;
-      },
-      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
-        if (signal === void 0) {
-          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
-        }
-        validateAbortSignal(signal, "signal");
-        validateFunction(listener, "listener");
-        let removeEventListener;
-        if (signal.aborted) {
-          queueMicrotask(() => listener());
-        } else {
-          signal.addEventListener("abort", listener, {
-            __proto__: null,
-            once: true,
-            [kResistStopPropagation]: true
-          });
-          removeEventListener = () => {
-            signal.removeEventListener("abort", listener);
-          };
-        }
-        return {
-          __proto__: null,
-          [SymbolDispose]() {
-            var _removeEventListener;
-            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
-          }
-        };
-      },
-      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
-        if (signals.length === 1) {
-          return signals[0];
+    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
+      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
+      let name = decodeStr(buf, 0, 100, filenameEncoding);
+      const mode = decodeOct(buf, 100, 8);
+      const uid = decodeOct(buf, 108, 8);
+      const gid = decodeOct(buf, 116, 8);
+      const size = decodeOct(buf, 124, 12);
+      const mtime = decodeOct(buf, 136, 12);
+      const type2 = toType(typeflag);
+      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
+      const uname = decodeStr(buf, 265, 32);
+      const gname = decodeStr(buf, 297, 32);
+      const devmajor = decodeOct(buf, 329, 8);
+      const devminor = decodeOct(buf, 337, 8);
+      const c = cksum(buf);
+      if (c === 8 * 32) return null;
+      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
+      if (isUSTAR(buf)) {
+        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
+      } else if (isGNU(buf)) {
+      } else {
+        if (!allowUnknownFormat) {
+          throw new Error("Invalid tar header: unknown format.");
         }
-        const ac = new AbortController2();
-        const abort = () => ac.abort();
-        signals.forEach((signal) => {
-          validateAbortSignal(signal, "signals");
-          signal.addEventListener("abort", abort, {
-            once: true
-          });
-        });
-        ac.signal.addEventListener(
-          "abort",
-          () => {
-            signals.forEach((signal) => signal.removeEventListener("abort", abort));
-          },
-          {
-            once: true
-          }
-        );
-        return ac.signal;
       }
-    };
-    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
-  }
-});
-
-// node_modules/readable-stream/lib/ours/errors.js
-var require_errors5 = __commonJS({
-  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
-    "use strict";
-    var { format, inspect, AggregateError: CustomAggregateError } = require_util20();
-    var AggregateError = globalThis.AggregateError || CustomAggregateError;
-    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
-    var kTypes = [
-      "string",
-      "function",
-      "number",
-      "object",
-      // Accept 'Function' and 'Object' as alternative to the lower cased version.
-      "Function",
-      "Object",
-      "boolean",
-      "bigint",
-      "symbol"
-    ];
-    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
-    var nodeInternalPrefix = "__node_internal_";
-    var codes = {};
-    function assert(value, message) {
-      if (!value) {
-        throw new codes.ERR_INTERNAL_ASSERTION(message);
+      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
+      return {
+        name,
+        mode,
+        uid,
+        gid,
+        size,
+        mtime: new Date(1e3 * mtime),
+        type: type2,
+        linkname,
+        uname,
+        gname,
+        devmajor,
+        devminor,
+        pax: null
+      };
+    };
+    function isUSTAR(buf) {
+      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
+    }
+    function isGNU(buf) {
+      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
+    }
+    function clamp(index, len, defaultValue) {
+      if (typeof index !== "number") return defaultValue;
+      index = ~~index;
+      if (index >= len) return len;
+      if (index >= 0) return index;
+      index += len;
+      if (index >= 0) return index;
+      return 0;
+    }
+    function toType(flag) {
+      switch (flag) {
+        case 0:
+          return "file";
+        case 1:
+          return "link";
+        case 2:
+          return "symlink";
+        case 3:
+          return "character-device";
+        case 4:
+          return "block-device";
+        case 5:
+          return "directory";
+        case 6:
+          return "fifo";
+        case 7:
+          return "contiguous-file";
+        case 72:
+          return "pax-header";
+        case 55:
+          return "pax-global-header";
+        case 27:
+          return "gnu-long-link-path";
+        case 28:
+        case 30:
+          return "gnu-long-path";
+      }
+      return null;
+    }
+    function toTypeflag(flag) {
+      switch (flag) {
+        case "file":
+          return 0;
+        case "link":
+          return 1;
+        case "symlink":
+          return 2;
+        case "character-device":
+          return 3;
+        case "block-device":
+          return 4;
+        case "directory":
+          return 5;
+        case "fifo":
+          return 6;
+        case "contiguous-file":
+          return 7;
+        case "pax-header":
+          return 72;
+      }
+      return 0;
+    }
+    function indexOf(block, num, offset, end) {
+      for (; offset < end; offset++) {
+        if (block[offset] === num) return offset;
       }
+      return end;
     }
-    function addNumericalSeparator(val) {
-      let res = "";
-      let i = val.length;
-      const start = val[0] === "-" ? 1 : 0;
-      for (; i >= start + 4; i -= 3) {
-        res = `_${val.slice(i - 3, i)}${res}`;
+    function cksum(block) {
+      let sum = 8 * 32;
+      for (let i = 0; i < 148; i++) sum += block[i];
+      for (let j = 156; j < 512; j++) sum += block[j];
+      return sum;
+    }
+    function encodeOct(val, n) {
+      val = val.toString(8);
+      if (val.length > n) return SEVENS.slice(0, n) + " ";
+      return ZEROS.slice(0, n - val.length) + val + " ";
+    }
+    function encodeSizeBin(num, buf, off) {
+      buf[off] = 128;
+      for (let i = 11; i > 0; i--) {
+        buf[off + i] = num & 255;
+        num = Math.floor(num / 256);
       }
-      return `${val.slice(0, i)}${res}`;
     }
-    function getMessage(key, msg, args) {
-      if (typeof msg === "function") {
-        assert(
-          msg.length <= args.length,
-          // Default options do not count.
-          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
-        );
-        return msg(...args);
+    function encodeSize(num, buf, off) {
+      if (num.toString(8).length > 11) {
+        encodeSizeBin(num, buf, off);
+      } else {
+        b4a.write(buf, encodeOct(num, 11), off);
       }
-      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
-      assert(
-        expectedLength === args.length,
-        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
-      );
-      if (args.length === 0) {
-        return msg;
+    }
+    function parse256(buf) {
+      let positive;
+      if (buf[0] === 128) positive = true;
+      else if (buf[0] === 255) positive = false;
+      else return null;
+      const tuple = [];
+      let i;
+      for (i = buf.length - 1; i > 0; i--) {
+        const byte = buf[i];
+        if (positive) tuple.push(byte);
+        else tuple.push(255 - byte);
       }
-      return format(msg, ...args);
+      let sum = 0;
+      const l = tuple.length;
+      for (i = 0; i < l; i++) {
+        sum += tuple[i] * Math.pow(256, i);
+      }
+      return positive ? sum : -1 * sum;
     }
-    function E(code, message, Base) {
-      if (!Base) {
-        Base = Error;
+    function decodeOct(val, offset, length) {
+      val = val.subarray(offset, offset + length);
+      offset = 0;
+      if (val[offset] & 128) {
+        return parse256(val);
+      } else {
+        while (offset < val.length && val[offset] === 32) offset++;
+        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
+        while (offset < end && val[offset] === 0) offset++;
+        if (end === offset) return 0;
+        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
       }
-      class NodeError extends Base {
-        constructor(...args) {
-          super(getMessage(code, message, args));
+    }
+    function decodeStr(val, offset, length, encoding) {
+      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
+    }
+    function addLength(str2) {
+      const len = b4a.byteLength(str2);
+      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
+      if (len + digits >= Math.pow(10, digits)) digits++;
+      return len + digits + str2;
+    }
+  }
+});
+
+// node_modules/tar-stream/extract.js
+var require_extract = __commonJS({
+  "node_modules/tar-stream/extract.js"(exports2, module2) {
+    var { Writable, Readable, getStreamError } = require_streamx();
+    var FIFO = require_fast_fifo();
+    var b4a = require_b4a();
+    var headers = require_headers3();
+    var EMPTY = b4a.alloc(0);
+    var BufferList = class {
+      constructor() {
+        this.buffered = 0;
+        this.shifted = 0;
+        this.queue = new FIFO();
+        this._offset = 0;
+      }
+      push(buffer) {
+        this.buffered += buffer.byteLength;
+        this.queue.push(buffer);
+      }
+      shiftFirst(size) {
+        return this._buffered === 0 ? null : this._next(size);
+      }
+      shift(size) {
+        if (size > this.buffered) return null;
+        if (size === 0) return EMPTY;
+        let chunk = this._next(size);
+        if (size === chunk.byteLength) return chunk;
+        const chunks = [chunk];
+        while ((size -= chunk.byteLength) > 0) {
+          chunk = this._next(size);
+          chunks.push(chunk);
         }
-        toString() {
-          return `${this.name} [${code}]: ${this.message}`;
+        return b4a.concat(chunks);
+      }
+      _next(size) {
+        const buf = this.queue.peek();
+        const rem = buf.byteLength - this._offset;
+        if (size >= rem) {
+          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
+          this.queue.shift();
+          this._offset = 0;
+          this.buffered -= rem;
+          this.shifted += rem;
+          return sub;
         }
+        this.buffered -= size;
+        this.shifted += size;
+        return buf.subarray(this._offset, this._offset += size);
       }
-      Object.defineProperties(NodeError.prototype, {
-        name: {
-          value: Base.name,
-          writable: true,
-          enumerable: false,
-          configurable: true
-        },
-        toString: {
-          value() {
-            return `${this.name} [${code}]: ${this.message}`;
-          },
-          writable: true,
-          enumerable: false,
-          configurable: true
+    };
+    var Source = class extends Readable {
+      constructor(self2, header, offset) {
+        super();
+        this.header = header;
+        this.offset = offset;
+        this._parent = self2;
+      }
+      _read(cb) {
+        if (this.header.size === 0) {
+          this.push(null);
         }
-      });
-      NodeError.prototype.code = code;
-      NodeError.prototype[kIsNodeError] = true;
-      codes[code] = NodeError;
-    }
-    function hideStackFrames(fn) {
-      const hidden = nodeInternalPrefix + fn.name;
-      Object.defineProperty(fn, "name", {
-        value: hidden
-      });
-      return fn;
-    }
-    function aggregateTwoErrors(innerError, outerError) {
-      if (innerError && outerError && innerError !== outerError) {
-        if (Array.isArray(outerError.errors)) {
-          outerError.errors.push(innerError);
-          return outerError;
+        if (this._parent._stream === this) {
+          this._parent._update();
         }
-        const err = new AggregateError([outerError, innerError], outerError.message);
-        err.code = outerError.code;
-        return err;
+        cb(null);
       }
-      return innerError || outerError;
-    }
-    var AbortError = class extends Error {
-      constructor(message = "The operation was aborted", options = void 0) {
-        if (options !== void 0 && typeof options !== "object") {
-          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
+      _predestroy() {
+        this._parent.destroy(getStreamError(this));
+      }
+      _detach() {
+        if (this._parent._stream === this) {
+          this._parent._stream = null;
+          this._parent._missing = overflow(this.header.size);
+          this._parent._update();
         }
-        super(message, options);
-        this.code = "ABORT_ERR";
-        this.name = "AbortError";
+      }
+      _destroy(cb) {
+        this._detach();
+        cb(null);
       }
     };
-    E("ERR_ASSERTION", "%s", Error);
-    E(
-      "ERR_INVALID_ARG_TYPE",
-      (name, expected, actual) => {
-        assert(typeof name === "string", "'name' must be a string");
-        if (!Array.isArray(expected)) {
-          expected = [expected];
+    var Extract = class extends Writable {
+      constructor(opts) {
+        super(opts);
+        if (!opts) opts = {};
+        this._buffer = new BufferList();
+        this._offset = 0;
+        this._header = null;
+        this._stream = null;
+        this._missing = 0;
+        this._longHeader = false;
+        this._callback = noop3;
+        this._locked = false;
+        this._finished = false;
+        this._pax = null;
+        this._paxGlobal = null;
+        this._gnuLongPath = null;
+        this._gnuLongLinkPath = null;
+        this._filenameEncoding = opts.filenameEncoding || "utf-8";
+        this._allowUnknownFormat = !!opts.allowUnknownFormat;
+        this._unlockBound = this._unlock.bind(this);
+      }
+      _unlock(err) {
+        this._locked = false;
+        if (err) {
+          this.destroy(err);
+          this._continueWrite(err);
+          return;
         }
-        let msg = "The ";
-        if (name.endsWith(" argument")) {
-          msg += `${name} `;
-        } else {
-          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
+        this._update();
+      }
+      _consumeHeader() {
+        if (this._locked) return false;
+        this._offset = this._buffer.shifted;
+        try {
+          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
         }
-        msg += "must be ";
-        const types = [];
-        const instances = [];
-        const other = [];
-        for (const value of expected) {
-          assert(typeof value === "string", "All expected entries have to be of type string");
-          if (kTypes.includes(value)) {
-            types.push(value.toLowerCase());
-          } else if (classRegExp.test(value)) {
-            instances.push(value);
-          } else {
-            assert(value !== "object", 'The value "object" should be written as "Object"');
-            other.push(value);
-          }
+        if (!this._header) return true;
+        switch (this._header.type) {
+          case "gnu-long-path":
+          case "gnu-long-link-path":
+          case "pax-global-header":
+          case "pax-header":
+            this._longHeader = true;
+            this._missing = this._header.size;
+            return true;
         }
-        if (instances.length > 0) {
-          const pos = types.indexOf("object");
-          if (pos !== -1) {
-            types.splice(types, pos, 1);
-            instances.push("Object");
-          }
+        this._locked = true;
+        this._applyLongHeaders();
+        if (this._header.size === 0 || this._header.type === "directory") {
+          this.emit("entry", this._header, this._createStream(), this._unlockBound);
+          return true;
         }
-        if (types.length > 0) {
-          switch (types.length) {
-            case 1:
-              msg += `of type ${types[0]}`;
-              break;
-            case 2:
-              msg += `one of type ${types[0]} or ${types[1]}`;
-              break;
-            default: {
-              const last = types.pop();
-              msg += `one of type ${types.join(", ")}, or ${last}`;
-            }
-          }
-          if (instances.length > 0 || other.length > 0) {
-            msg += " or ";
-          }
+        this._stream = this._createStream();
+        this._missing = this._header.size;
+        this.emit("entry", this._header, this._stream, this._unlockBound);
+        return true;
+      }
+      _applyLongHeaders() {
+        if (this._gnuLongPath) {
+          this._header.name = this._gnuLongPath;
+          this._gnuLongPath = null;
         }
-        if (instances.length > 0) {
-          switch (instances.length) {
-            case 1:
-              msg += `an instance of ${instances[0]}`;
-              break;
-            case 2:
-              msg += `an instance of ${instances[0]} or ${instances[1]}`;
-              break;
-            default: {
-              const last = instances.pop();
-              msg += `an instance of ${instances.join(", ")}, or ${last}`;
-            }
-          }
-          if (other.length > 0) {
-            msg += " or ";
-          }
+        if (this._gnuLongLinkPath) {
+          this._header.linkname = this._gnuLongLinkPath;
+          this._gnuLongLinkPath = null;
         }
-        switch (other.length) {
-          case 0:
+        if (this._pax) {
+          if (this._pax.path) this._header.name = this._pax.path;
+          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
+          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
+          this._header.pax = this._pax;
+          this._pax = null;
+        }
+      }
+      _decodeLongHeader(buf) {
+        switch (this._header.type) {
+          case "gnu-long-path":
+            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
             break;
-          case 1:
-            if (other[0].toLowerCase() !== other[0]) {
-              msg += "an ";
-            }
-            msg += `${other[0]}`;
+          case "gnu-long-link-path":
+            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
             break;
-          case 2:
-            msg += `one of ${other[0]} or ${other[1]}`;
+          case "pax-global-header":
+            this._paxGlobal = headers.decodePax(buf);
             break;
-          default: {
-            const last = other.pop();
-            msg += `one of ${other.join(", ")}, or ${last}`;
+          case "pax-header":
+            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
+            break;
+        }
+      }
+      _consumeLongHeader() {
+        this._longHeader = false;
+        this._missing = overflow(this._header.size);
+        const buf = this._buffer.shift(this._header.size);
+        try {
+          this._decodeLongHeader(buf);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
+        }
+        return true;
+      }
+      _consumeStream() {
+        const buf = this._buffer.shiftFirst(this._missing);
+        if (buf === null) return false;
+        this._missing -= buf.byteLength;
+        const drained = this._stream.push(buf);
+        if (this._missing === 0) {
+          this._stream.push(null);
+          if (drained) this._stream._detach();
+          return drained && this._locked === false;
+        }
+        return drained;
+      }
+      _createStream() {
+        return new Source(this, this._header, this._offset);
+      }
+      _update() {
+        while (this._buffer.buffered > 0 && !this.destroying) {
+          if (this._missing > 0) {
+            if (this._stream !== null) {
+              if (this._consumeStream() === false) return;
+              continue;
+            }
+            if (this._longHeader === true) {
+              if (this._missing > this._buffer.buffered) break;
+              if (this._consumeLongHeader() === false) return false;
+              continue;
+            }
+            const ignore = this._buffer.shiftFirst(this._missing);
+            if (ignore !== null) this._missing -= ignore.byteLength;
+            continue;
+          }
+          if (this._buffer.buffered < 512) break;
+          if (this._stream !== null || this._consumeHeader() === false) return;
+        }
+        this._continueWrite(null);
+      }
+      _continueWrite(err) {
+        const cb = this._callback;
+        this._callback = noop3;
+        cb(err);
+      }
+      _write(data, cb) {
+        this._callback = cb;
+        this._buffer.push(data);
+        this._update();
+      }
+      _final(cb) {
+        this._finished = this._missing === 0 && this._buffer.buffered === 0;
+        cb(this._finished ? null : new Error("Unexpected end of data"));
+      }
+      _predestroy() {
+        this._continueWrite(null);
+      }
+      _destroy(cb) {
+        if (this._stream) this._stream.destroy(getStreamError(this));
+        cb(null);
+      }
+      [Symbol.asyncIterator]() {
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        let entryStream = null;
+        let entryCallback = null;
+        const extract2 = this;
+        this.on("entry", onentry);
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("close", onclose);
+        return {
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(onnext);
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
           }
+        };
+        function consumeCallback(err) {
+          if (!entryCallback) return;
+          const cb = entryCallback;
+          entryCallback = null;
+          cb(err);
         }
-        if (actual == null) {
-          msg += `. Received ${actual}`;
-        } else if (typeof actual === "function" && actual.name) {
-          msg += `. Received function ${actual.name}`;
-        } else if (typeof actual === "object") {
-          var _actual$constructor;
-          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
-            msg += `. Received an instance of ${actual.constructor.name}`;
-          } else {
-            const inspected = inspect(actual, {
-              depth: -1
-            });
-            msg += `. Received ${inspected}`;
+        function onnext(resolve3, reject) {
+          if (error3) {
+            return reject(error3);
           }
-        } else {
-          let inspected = inspect(actual, {
-            colors: false
-          });
-          if (inspected.length > 25) {
-            inspected = `${inspected.slice(0, 25)}...`;
+          if (entryStream) {
+            resolve3({ value: entryStream, done: false });
+            entryStream = null;
+            return;
+          }
+          promiseResolve = resolve3;
+          promiseReject = reject;
+          consumeCallback(null);
+          if (extract2._finished && promiseResolve) {
+            promiseResolve({ value: void 0, done: true });
+            promiseResolve = promiseReject = null;
           }
-          msg += `. Received type ${typeof actual} (${inspected})`;
         }
-        return msg;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_ARG_VALUE",
-      (name, value, reason = "is invalid") => {
-        let inspected = inspect(value);
-        if (inspected.length > 128) {
-          inspected = inspected.slice(0, 128) + "...";
+        function onentry(header, stream, callback) {
+          entryCallback = callback;
+          stream.on("error", noop3);
+          if (promiseResolve) {
+            promiseResolve({ value: stream, done: false });
+            promiseResolve = promiseReject = null;
+          } else {
+            entryStream = stream;
+          }
         }
-        const type2 = name.includes(".") ? "property" : "argument";
-        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_RETURN_VALUE",
-      (input, name, value) => {
-        var _value$constructor;
-        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
-        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_MISSING_ARGS",
-      (...args) => {
-        assert(args.length > 0, "At least one arg needs to be specified");
-        let msg;
-        const len = args.length;
-        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
-        switch (len) {
-          case 1:
-            msg += `The ${args[0]} argument`;
-            break;
-          case 2:
-            msg += `The ${args[0]} and ${args[1]} arguments`;
-            break;
-          default:
-            {
-              const last = args.pop();
-              msg += `The ${args.join(", ")}, and ${last} arguments`;
-            }
-            break;
+        function onclose() {
+          consumeCallback(error3);
+          if (!promiseResolve) return;
+          if (error3) promiseReject(error3);
+          else promiseResolve({ value: void 0, done: true });
+          promiseResolve = promiseReject = null;
         }
-        return `${msg} must be specified`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_OUT_OF_RANGE",
-      (str2, range, input) => {
-        assert(range, 'Missing "range" argument');
-        let received;
-        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
-          received = addNumericalSeparator(String(input));
-        } else if (typeof input === "bigint") {
-          received = String(input);
-          if (input > 2n ** 32n || input < -(2n ** 32n)) {
-            received = addNumericalSeparator(received);
-          }
-          received += "n";
-        } else {
-          received = inspect(input);
+        function destroy(err) {
+          extract2.destroy(err);
+          consumeCallback(err);
+          return new Promise((resolve3, reject) => {
+            if (extract2.destroyed) return resolve3({ value: void 0, done: true });
+            extract2.once("close", function() {
+              if (err) reject(err);
+              else resolve3({ value: void 0, done: true });
+            });
+          });
         }
-        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
-      },
-      RangeError
-    );
-    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
-    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
-    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
-    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
-    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
-    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
-    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
-    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
-    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
-    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
-    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
-    module2.exports = {
-      AbortError,
-      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
-      hideStackFrames,
-      codes
+      }
+    };
+    module2.exports = function extract2(opts) {
+      return new Extract(opts);
     };
+    function noop3() {
+    }
+    function overflow(size) {
+      size &= 511;
+      return size && 512 - size;
+    }
   }
 });
 
-// node_modules/readable-stream/lib/internal/validators.js
-var require_validators = __commonJS({
-  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
-    "use strict";
-    var {
-      ArrayIsArray,
-      ArrayPrototypeIncludes,
-      ArrayPrototypeJoin,
-      ArrayPrototypeMap,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberMAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER,
-      NumberParseInt,
-      ObjectPrototypeHasOwnProperty,
-      RegExpPrototypeExec,
-      String: String2,
-      StringPrototypeToUpperCase,
-      StringPrototypeTrim
-    } = require_primordials();
-    var {
-      hideStackFrames,
-      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
-    } = require_errors5();
-    var { normalizeEncoding } = require_util20();
-    var { isAsyncFunction, isArrayBufferView } = require_util20().types;
-    var signals = {};
-    function isInt32(value) {
-      return value === (value | 0);
-    }
-    function isUint32(value) {
-      return value === value >>> 0;
+// node_modules/tar-stream/constants.js
+var require_constants19 = __commonJS({
+  "node_modules/tar-stream/constants.js"(exports2, module2) {
+    var constants = {
+      // just for envs without fs
+      S_IFMT: 61440,
+      S_IFDIR: 16384,
+      S_IFCHR: 8192,
+      S_IFBLK: 24576,
+      S_IFIFO: 4096,
+      S_IFLNK: 40960
+    };
+    try {
+      module2.exports = require("fs").constants || constants;
+    } catch {
+      module2.exports = constants;
     }
-    var octalReg = /^[0-7]+$/;
-    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
-    function parseFileMode(value, name, def) {
-      if (typeof value === "undefined") {
-        value = def;
+  }
+});
+
+// node_modules/tar-stream/pack.js
+var require_pack = __commonJS({
+  "node_modules/tar-stream/pack.js"(exports2, module2) {
+    var { Readable, Writable, getStreamError } = require_streamx();
+    var b4a = require_b4a();
+    var constants = require_constants19();
+    var headers = require_headers3();
+    var DMODE = 493;
+    var FMODE = 420;
+    var END_OF_TAR = b4a.alloc(1024);
+    var Sink = class extends Writable {
+      constructor(pack, header, callback) {
+        super({ mapWritable, eagerOpen: true });
+        this.written = 0;
+        this.header = header;
+        this._callback = callback;
+        this._linkname = null;
+        this._isLinkname = header.type === "symlink" && !header.linkname;
+        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
+        this._finished = false;
+        this._pack = pack;
+        this._openCallback = null;
+        if (this._pack._stream === null) this._pack._stream = this;
+        else this._pack._pending.push(this);
       }
-      if (typeof value === "string") {
-        if (RegExpPrototypeExec(octalReg, value) === null) {
-          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
-        }
-        value = NumberParseInt(value, 8);
+      _open(cb) {
+        this._openCallback = cb;
+        if (this._pack._stream === this) this._continueOpen();
       }
-      validateUint32(value, name);
-      return value;
-    }
-    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
-      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
-    });
-    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      _continuePack(err) {
+        if (this._callback === null) return;
+        const callback = this._callback;
+        this._callback = null;
+        callback(err);
       }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      _continueOpen() {
+        if (this._pack._stream === null) this._pack._stream = this;
+        const cb = this._openCallback;
+        this._openCallback = null;
+        if (cb === null) return;
+        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
+        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
+        this._pack._stream = this;
+        if (!this._isLinkname) {
+          this._pack._encode(this.header);
+        }
+        if (this._isVoid) {
+          this._finish();
+          this._continuePack(null);
+        }
+        cb(null);
       }
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      _write(data, cb) {
+        if (this._isLinkname) {
+          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
+          return cb(null);
+        }
+        if (this._isVoid) {
+          if (data.byteLength > 0) {
+            return cb(new Error("No body allowed for this entry"));
+          }
+          return cb();
+        }
+        this.written += data.byteLength;
+        if (this._pack.push(data)) return cb();
+        this._pack._drain = cb;
       }
-    });
-    var validateUint32 = hideStackFrames((value, name, positive = false) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      _finish() {
+        if (this._finished) return;
+        this._finished = true;
+        if (this._isLinkname) {
+          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
+          this._pack._encode(this.header);
+        }
+        overflow(this._pack, this.header.size);
+        this._pack._done(this);
       }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      _final(cb) {
+        if (this.written !== this.header.size) {
+          return cb(new Error("Size mismatch"));
+        }
+        this._finish();
+        cb(null);
       }
-      const min = positive ? 1 : 0;
-      const max = 4294967295;
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      _getError() {
+        return getStreamError(this) || new Error("tar entry destroyed");
       }
-    });
-    function validateString(value, name) {
-      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
-    }
-    function validateNumber(value, name, min = void 0, max) {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
-        throw new ERR_OUT_OF_RANGE(
-          name,
-          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
-          value
-        );
+      _predestroy() {
+        this._pack.destroy(this._getError());
       }
-    }
-    var validateOneOf = hideStackFrames((value, name, oneOf) => {
-      if (!ArrayPrototypeIncludes(oneOf, value)) {
-        const allowed = ArrayPrototypeJoin(
-          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
-          ", "
-        );
-        const reason = "must be one of: " + allowed;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      _destroy(cb) {
+        this._pack._done(this);
+        this._continuePack(this._finished ? null : this._getError());
+        cb();
       }
-    });
-    function validateBoolean(value, name) {
-      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
-    }
-    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
-      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
-    }
-    var validateObject = hideStackFrames((value, name, options = null) => {
-      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
-      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
-      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
-      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
+    };
+    var Pack = class extends Readable {
+      constructor(opts) {
+        super(opts);
+        this._drain = noop3;
+        this._finalized = false;
+        this._finalizing = false;
+        this._pending = [];
+        this._stream = null;
       }
-    });
-    var validateDictionary = hideStackFrames((value, name) => {
-      if (value != null && typeof value !== "object" && typeof value !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
+      entry(header, buffer, callback) {
+        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
+        if (typeof buffer === "function") {
+          callback = buffer;
+          buffer = null;
+        }
+        if (!callback) callback = noop3;
+        if (!header.size || header.type === "symlink") header.size = 0;
+        if (!header.type) header.type = modeToType(header.mode);
+        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
+        if (!header.uid) header.uid = 0;
+        if (!header.gid) header.gid = 0;
+        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
+        if (typeof buffer === "string") buffer = b4a.from(buffer);
+        const sink = new Sink(this, header, callback);
+        if (b4a.isBuffer(buffer)) {
+          header.size = buffer.byteLength;
+          sink.write(buffer);
+          sink.end();
+          return sink;
+        }
+        if (sink._isVoid) {
+          return sink;
+        }
+        return sink;
       }
-    });
-    var validateArray = hideStackFrames((value, name, minLength = 0) => {
-      if (!ArrayIsArray(value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
+      finalize() {
+        if (this._stream || this._pending.length > 0) {
+          this._finalizing = true;
+          return;
+        }
+        if (this._finalized) return;
+        this._finalized = true;
+        this.push(END_OF_TAR);
+        this.push(null);
       }
-      if (value.length < minLength) {
-        const reason = `must be longer than ${minLength}`;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      _done(stream) {
+        if (stream !== this._stream) return;
+        this._stream = null;
+        if (this._finalizing) this.finalize();
+        if (this._pending.length) this._pending.shift()._continueOpen();
       }
-    });
-    function validateStringArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateString(value[i], `${name}[${i}]`);
+      _encode(header) {
+        if (!header.pax) {
+          const buf = headers.encode(header);
+          if (buf) {
+            this.push(buf);
+            return;
+          }
+        }
+        this._encodePax(header);
       }
-    }
-    function validateBooleanArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateBoolean(value[i], `${name}[${i}]`);
+      _encodePax(header) {
+        const paxHeader = headers.encodePax({
+          name: header.name,
+          linkname: header.linkname,
+          pax: header.pax
+        });
+        const newHeader = {
+          name: "PaxHeader",
+          mode: header.mode,
+          uid: header.uid,
+          gid: header.gid,
+          size: paxHeader.byteLength,
+          mtime: header.mtime,
+          type: "pax-header",
+          linkname: header.linkname && "PaxHeader",
+          uname: header.uname,
+          gname: header.gname,
+          devmajor: header.devmajor,
+          devminor: header.devminor
+        };
+        this.push(headers.encode(newHeader));
+        this.push(paxHeader);
+        overflow(this, paxHeader.byteLength);
+        newHeader.size = header.size;
+        newHeader.type = header.type;
+        this.push(headers.encode(newHeader));
       }
-    }
-    function validateAbortSignalArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        const signal = value[i];
-        const indexedName = `${name}[${i}]`;
-        if (signal == null) {
-          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
-        }
-        validateAbortSignal(signal, indexedName);
+      _doDrain() {
+        const drain = this._drain;
+        this._drain = noop3;
+        drain();
       }
-    }
-    function validateSignalName(signal, name = "signal") {
-      validateString(signal, name);
-      if (signals[signal] === void 0) {
-        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
-          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
+      _predestroy() {
+        const err = getStreamError(this);
+        if (this._stream) this._stream.destroy(err);
+        while (this._pending.length) {
+          const stream = this._pending.shift();
+          stream.destroy(err);
+          stream._continueOpen();
         }
-        throw new ERR_UNKNOWN_SIGNAL(signal);
+        this._doDrain();
+      }
+      _read(cb) {
+        this._doDrain();
+        cb();
+      }
+    };
+    module2.exports = function pack(opts) {
+      return new Pack(opts);
+    };
+    function modeToType(mode) {
+      switch (mode & constants.S_IFMT) {
+        case constants.S_IFBLK:
+          return "block-device";
+        case constants.S_IFCHR:
+          return "character-device";
+        case constants.S_IFDIR:
+          return "directory";
+        case constants.S_IFIFO:
+          return "fifo";
+        case constants.S_IFLNK:
+          return "symlink";
       }
+      return "file";
     }
-    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
-      if (!isArrayBufferView(buffer)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
-      }
-    });
-    function validateEncoding(data, encoding) {
-      const normalizedEncoding = normalizeEncoding(encoding);
-      const length = data.length;
-      if (normalizedEncoding === "hex" && length % 2 !== 0) {
-        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
-      }
+    function noop3() {
     }
-    function validatePort(port, name = "Port", allowZero = true) {
-      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
-        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
-      }
-      return port | 0;
+    function overflow(self2, size) {
+      size &= 511;
+      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
     }
-    var validateAbortSignal = hideStackFrames((signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+    function mapWritable(buf) {
+      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
+    }
+  }
+});
+
+// node_modules/tar-stream/index.js
+var require_tar_stream = __commonJS({
+  "node_modules/tar-stream/index.js"(exports2) {
+    exports2.extract = require_extract();
+    exports2.pack = require_pack();
+  }
+});
+
+// node_modules/archiver/lib/plugins/tar.js
+var require_tar2 = __commonJS({
+  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
+    var zlib = require("zlib");
+    var engine = require_tar_stream();
+    var util = require_archiver_utils();
+    var Tar = function(options) {
+      if (!(this instanceof Tar)) {
+        return new Tar(options);
       }
-    });
-    var validateFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validatePlainFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validateUndefined = hideStackFrames((value, name) => {
-      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
-    });
-    function validateUnion(value, name, union) {
-      if (!ArrayPrototypeIncludes(union, value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
+      options = this.options = util.defaults(options, {
+        gzip: false
+      });
+      if (typeof options.gzipOptions !== "object") {
+        options.gzipOptions = {};
       }
-    }
-    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
-    function validateLinkHeaderFormat(value, name) {
-      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
-        throw new ERR_INVALID_ARG_VALUE(
-          name,
-          value,
-          'must be an array or string of format "; rel=preload; as=style"'
-        );
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = engine.pack(options);
+      this.compressor = false;
+      if (options.gzip) {
+        this.compressor = zlib.createGzip(options.gzipOptions);
+        this.compressor.on("error", this._onCompressorError.bind(this));
       }
-    }
-    function validateLinkHeaderValue(hints) {
-      if (typeof hints === "string") {
-        validateLinkHeaderFormat(hints, "hints");
-        return hints;
-      } else if (ArrayIsArray(hints)) {
-        const hintsLength = hints.length;
-        let result = "";
-        if (hintsLength === 0) {
-          return result;
-        }
-        for (let i = 0; i < hintsLength; i++) {
-          const link = hints[i];
-          validateLinkHeaderFormat(link, "hints");
-          result += link;
-          if (i !== hintsLength - 1) {
-            result += ", ";
-          }
+    };
+    Tar.prototype._onCompressorError = function(err) {
+      this.engine.emit("error", err);
+    };
+    Tar.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.mtime = data.date;
+      function append(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
         }
-        return result;
+        self2.engine.entry(data, sourceBuffer, function(err2) {
+          callback(err2, data);
+        });
+      }
+      if (data.sourceType === "buffer") {
+        append(null, source);
+      } else if (data.sourceType === "stream" && data.stats) {
+        data.size = data.stats.size;
+        var entry = self2.engine.entry(data, function(err) {
+          callback(err, data);
+        });
+        source.pipe(entry);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, append);
       }
-      throw new ERR_INVALID_ARG_VALUE(
-        "hints",
-        hints,
-        'must be an array or string of format "; rel=preload; as=style"'
-      );
-    }
-    module2.exports = {
-      isInt32,
-      isUint32,
-      parseFileMode,
-      validateArray,
-      validateStringArray,
-      validateBooleanArray,
-      validateAbortSignalArray,
-      validateBoolean,
-      validateBuffer,
-      validateDictionary,
-      validateEncoding,
-      validateFunction,
-      validateInt32,
-      validateInteger,
-      validateNumber,
-      validateObject,
-      validateOneOf,
-      validatePlainFunction,
-      validatePort,
-      validateSignalName,
-      validateString,
-      validateUint32,
-      validateUndefined,
-      validateUnion,
-      validateAbortSignal,
-      validateLinkHeaderValue
     };
+    Tar.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Tar.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Tar.prototype.pipe = function(destination, options) {
+      if (this.compressor) {
+        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
+      } else {
+        return this.engine.pipe.apply(this.engine, arguments);
+      }
+    };
+    Tar.prototype.unpipe = function() {
+      if (this.compressor) {
+        return this.compressor.unpipe.apply(this.compressor, arguments);
+      } else {
+        return this.engine.unpipe.apply(this.engine, arguments);
+      }
+    };
+    module2.exports = Tar;
   }
 });
 
-// node_modules/process/index.js
-var require_process = __commonJS({
-  "node_modules/process/index.js"(exports2, module2) {
-    module2.exports = global.process;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/utils.js
-var require_utils8 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
+// node_modules/buffer-crc32/dist/index.cjs
+var require_dist5 = __commonJS({
+  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
     "use strict";
-    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
-    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
-    var kIsErrored = SymbolFor("nodejs.stream.errored");
-    var kIsReadable = SymbolFor("nodejs.stream.readable");
-    var kIsWritable = SymbolFor("nodejs.stream.writable");
-    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
-    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
-    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
-    function isReadableNodeStream(obj, strict = false) {
-      var _obj$_readableState;
-      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
-      (!obj._writableState || obj._readableState));
-    }
-    function isWritableNodeStream(obj) {
-      var _obj$_writableState;
-      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
-    }
-    function isDuplexNodeStream(obj) {
-      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
-    }
-    function isNodeStream(obj) {
-      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
-    }
-    function isReadableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
-    }
-    function isWritableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
-    }
-    function isTransformStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
-    }
-    function isWebStream(obj) {
-      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
-    }
-    function isIterable(obj, isAsync) {
-      if (obj == null) return false;
-      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
-      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
-      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
-    }
-    function isDestroyed(stream) {
-      if (!isNodeStream(stream)) return null;
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const state = wState || rState;
-      return !!(stream.destroyed || stream[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
-    }
-    function isWritableEnded(stream) {
-      if (!isWritableNodeStream(stream)) return null;
-      if (stream.writableEnded === true) return true;
-      const wState = stream._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
-      return wState.ended;
-    }
-    function isWritableFinished(stream, strict) {
-      if (!isWritableNodeStream(stream)) return null;
-      if (stream.writableFinished === true) return true;
-      const wState = stream._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
-      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
-    }
-    function isReadableEnded(stream) {
-      if (!isReadableNodeStream(stream)) return null;
-      if (stream.readableEnded === true) return true;
-      const rState = stream._readableState;
-      if (!rState || rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
-      return rState.ended;
-    }
-    function isReadableFinished(stream, strict) {
-      if (!isReadableNodeStream(stream)) return null;
-      const rState = stream._readableState;
-      if (rState !== null && rState !== void 0 && rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
-      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
-    }
-    function isReadable(stream) {
-      if (stream && stream[kIsReadable] != null) return stream[kIsReadable];
-      if (typeof (stream === null || stream === void 0 ? void 0 : stream.readable) !== "boolean") return null;
-      if (isDestroyed(stream)) return false;
-      return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);
-    }
-    function isWritable(stream) {
-      if (stream && stream[kIsWritable] != null) return stream[kIsWritable];
-      if (typeof (stream === null || stream === void 0 ? void 0 : stream.writable) !== "boolean") return null;
-      if (isDestroyed(stream)) return false;
-      return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);
+    function getDefaultExportFromCjs(x) {
+      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
     }
-    function isFinished(stream, opts) {
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (isDestroyed(stream)) {
-        return true;
-      }
-      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream)) {
-        return false;
+    var CRC_TABLE = new Int32Array([
+      0,
+      1996959894,
+      3993919788,
+      2567524794,
+      124634137,
+      1886057615,
+      3915621685,
+      2657392035,
+      249268274,
+      2044508324,
+      3772115230,
+      2547177864,
+      162941995,
+      2125561021,
+      3887607047,
+      2428444049,
+      498536548,
+      1789927666,
+      4089016648,
+      2227061214,
+      450548861,
+      1843258603,
+      4107580753,
+      2211677639,
+      325883990,
+      1684777152,
+      4251122042,
+      2321926636,
+      335633487,
+      1661365465,
+      4195302755,
+      2366115317,
+      997073096,
+      1281953886,
+      3579855332,
+      2724688242,
+      1006888145,
+      1258607687,
+      3524101629,
+      2768942443,
+      901097722,
+      1119000684,
+      3686517206,
+      2898065728,
+      853044451,
+      1172266101,
+      3705015759,
+      2882616665,
+      651767980,
+      1373503546,
+      3369554304,
+      3218104598,
+      565507253,
+      1454621731,
+      3485111705,
+      3099436303,
+      671266974,
+      1594198024,
+      3322730930,
+      2970347812,
+      795835527,
+      1483230225,
+      3244367275,
+      3060149565,
+      1994146192,
+      31158534,
+      2563907772,
+      4023717930,
+      1907459465,
+      112637215,
+      2680153253,
+      3904427059,
+      2013776290,
+      251722036,
+      2517215374,
+      3775830040,
+      2137656763,
+      141376813,
+      2439277719,
+      3865271297,
+      1802195444,
+      476864866,
+      2238001368,
+      4066508878,
+      1812370925,
+      453092731,
+      2181625025,
+      4111451223,
+      1706088902,
+      314042704,
+      2344532202,
+      4240017532,
+      1658658271,
+      366619977,
+      2362670323,
+      4224994405,
+      1303535960,
+      984961486,
+      2747007092,
+      3569037538,
+      1256170817,
+      1037604311,
+      2765210733,
+      3554079995,
+      1131014506,
+      879679996,
+      2909243462,
+      3663771856,
+      1141124467,
+      855842277,
+      2852801631,
+      3708648649,
+      1342533948,
+      654459306,
+      3188396048,
+      3373015174,
+      1466479909,
+      544179635,
+      3110523913,
+      3462522015,
+      1591671054,
+      702138776,
+      2966460450,
+      3352799412,
+      1504918807,
+      783551873,
+      3082640443,
+      3233442989,
+      3988292384,
+      2596254646,
+      62317068,
+      1957810842,
+      3939845945,
+      2647816111,
+      81470997,
+      1943803523,
+      3814918930,
+      2489596804,
+      225274430,
+      2053790376,
+      3826175755,
+      2466906013,
+      167816743,
+      2097651377,
+      4027552580,
+      2265490386,
+      503444072,
+      1762050814,
+      4150417245,
+      2154129355,
+      426522225,
+      1852507879,
+      4275313526,
+      2312317920,
+      282753626,
+      1742555852,
+      4189708143,
+      2394877945,
+      397917763,
+      1622183637,
+      3604390888,
+      2714866558,
+      953729732,
+      1340076626,
+      3518719985,
+      2797360999,
+      1068828381,
+      1219638859,
+      3624741850,
+      2936675148,
+      906185462,
+      1090812512,
+      3747672003,
+      2825379669,
+      829329135,
+      1181335161,
+      3412177804,
+      3160834842,
+      628085408,
+      1382605366,
+      3423369109,
+      3138078467,
+      570562233,
+      1426400815,
+      3317316542,
+      2998733608,
+      733239954,
+      1555261956,
+      3268935591,
+      3050360625,
+      752459403,
+      1541320221,
+      2607071920,
+      3965973030,
+      1969922972,
+      40735498,
+      2617837225,
+      3943577151,
+      1913087877,
+      83908371,
+      2512341634,
+      3803740692,
+      2075208622,
+      213261112,
+      2463272603,
+      3855990285,
+      2094854071,
+      198958881,
+      2262029012,
+      4057260610,
+      1759359992,
+      534414190,
+      2176718541,
+      4139329115,
+      1873836001,
+      414664567,
+      2282248934,
+      4279200368,
+      1711684554,
+      285281116,
+      2405801727,
+      4167216745,
+      1634467795,
+      376229701,
+      2685067896,
+      3608007406,
+      1308918612,
+      956543938,
+      2808555105,
+      3495958263,
+      1231636301,
+      1047427035,
+      2932959818,
+      3654703836,
+      1088359270,
+      936918e3,
+      2847714899,
+      3736837829,
+      1202900863,
+      817233897,
+      3183342108,
+      3401237130,
+      1404277552,
+      615818150,
+      3134207493,
+      3453421203,
+      1423857449,
+      601450431,
+      3009837614,
+      3294710456,
+      1567103746,
+      711928724,
+      3020668471,
+      3272380065,
+      1510334235,
+      755167117
+    ]);
+    function ensureBuffer(input) {
+      if (Buffer.isBuffer(input)) {
+        return input;
       }
-      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream)) {
-        return false;
+      if (typeof input === "number") {
+        return Buffer.alloc(input);
+      } else if (typeof input === "string") {
+        return Buffer.from(input);
+      } else {
+        throw new Error("input must be buffer, number, or string, received " + typeof input);
       }
-      return true;
     }
-    function isWritableErrored(stream) {
-      var _stream$_writableStat, _stream$_writableStat2;
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (stream.writableErrored) {
-        return stream.writableErrored;
-      }
-      return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
+    function bufferizeInt(num) {
+      const tmp = ensureBuffer(4);
+      tmp.writeInt32BE(num, 0);
+      return tmp;
     }
-    function isReadableErrored(stream) {
-      var _stream$_readableStat, _stream$_readableStat2;
-      if (!isNodeStream(stream)) {
-        return null;
+    function _crc32(buf, previous) {
+      buf = ensureBuffer(buf);
+      if (Buffer.isBuffer(previous)) {
+        previous = previous.readUInt32BE(0);
       }
-      if (stream.readableErrored) {
-        return stream.readableErrored;
+      let crc = ~~previous ^ -1;
+      for (var n = 0; n < buf.length; n++) {
+        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
       }
-      return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
+      return crc ^ -1;
     }
-    function isClosed(stream) {
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (typeof stream.closed === "boolean") {
-        return stream.closed;
+    function crc32() {
+      return bufferizeInt(_crc32.apply(null, arguments));
+    }
+    crc32.signed = function() {
+      return _crc32.apply(null, arguments);
+    };
+    crc32.unsigned = function() {
+      return _crc32.apply(null, arguments) >>> 0;
+    };
+    var bufferCrc32 = crc32;
+    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
+    module2.exports = index;
+  }
+});
+
+// node_modules/archiver/lib/plugins/json.js
+var require_json = __commonJS({
+  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var Transform = require_ours().Transform;
+    var crc32 = require_dist5();
+    var util = require_archiver_utils();
+    var Json = function(options) {
+      if (!(this instanceof Json)) {
+        return new Json(options);
       }
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
-        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
+      options = this.options = util.defaults(options, {});
+      Transform.call(this, options);
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.files = [];
+    };
+    inherits(Json, Transform);
+    Json.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    Json.prototype._writeStringified = function() {
+      var fileString = JSON.stringify(this.files);
+      this.write(fileString);
+    };
+    Json.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.crc32 = 0;
+      function onend(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
+        }
+        data.size = sourceBuffer.length || 0;
+        data.crc32 = crc32.unsigned(sourceBuffer);
+        self2.files.push(data);
+        callback(null, data);
       }
-      if (typeof stream._closed === "boolean" && isOutgoingMessage(stream)) {
-        return stream._closed;
+      if (data.sourceType === "buffer") {
+        onend(null, source);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, onend);
       }
-      return null;
-    }
-    function isOutgoingMessage(stream) {
-      return typeof stream._closed === "boolean" && typeof stream._defaultKeepAlive === "boolean" && typeof stream._removedConnection === "boolean" && typeof stream._removedContLen === "boolean";
-    }
-    function isServerResponse(stream) {
-      return typeof stream._sent100 === "boolean" && isOutgoingMessage(stream);
-    }
-    function isServerRequest(stream) {
-      var _stream$req;
-      return typeof stream._consuming === "boolean" && typeof stream._dumped === "boolean" && ((_stream$req = stream.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
-    }
-    function willEmitClose(stream) {
-      if (!isNodeStream(stream)) return null;
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const state = wState || rState;
-      return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
-    }
-    function isDisturbed(stream) {
-      var _stream$kIsDisturbed;
-      return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));
-    }
-    function isErrored(stream) {
-      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
-      return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
-    }
-    module2.exports = {
-      isDestroyed,
-      kIsDestroyed,
-      isDisturbed,
-      kIsDisturbed,
-      isErrored,
-      kIsErrored,
-      isReadable,
-      kIsReadable,
-      kIsClosedPromise,
-      kControllerErrorFunction,
-      kIsWritable,
-      isClosed,
-      isDuplexNodeStream,
-      isFinished,
-      isIterable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableEnded,
-      isReadableFinished,
-      isReadableErrored,
-      isNodeStream,
-      isWebStream,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableEnded,
-      isWritableFinished,
-      isWritableErrored,
-      isServerRequest,
-      isServerResponse,
-      willEmitClose,
-      isTransformStream
     };
+    Json.prototype.finalize = function() {
+      this._writeStringified();
+      this.end();
+    };
+    module2.exports = Json;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
-var require_end_of_stream = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
-    var process2 = require_process();
-    var { AbortError, codes } = require_errors5();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
-    var { kEmptyObject, once } = require_util20();
-    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
-    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
-    var {
-      isClosed,
-      isReadable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableFinished,
-      isReadableErrored,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableFinished,
-      isWritableErrored,
-      isNodeStream,
-      willEmitClose: _willEmitClose,
-      kIsClosedPromise
-    } = require_utils8();
-    var addAbortListener;
-    function isRequest(stream) {
-      return stream.setHeader && typeof stream.abort === "function";
-    }
-    var nop = () => {
+// node_modules/archiver/index.js
+var require_archiver = __commonJS({
+  "node_modules/archiver/index.js"(exports2, module2) {
+    var Archiver = require_core2();
+    var formats = {};
+    var vending = function(format, options) {
+      return vending.create(format, options);
     };
-    function eos(stream, options, callback) {
-      var _options$readable, _options$writable;
-      if (arguments.length === 2) {
-        callback = options;
-        options = kEmptyObject;
-      } else if (options == null) {
-        options = kEmptyObject;
+    vending.create = function(format, options) {
+      if (formats[format]) {
+        var instance = new Archiver(format, options);
+        instance.setFormat(format);
+        instance.setModule(new formats[format](options));
+        return instance;
       } else {
-        validateObject(options, "options");
-      }
-      validateFunction(callback, "callback");
-      validateAbortSignal(options.signal, "options.signal");
-      callback = once(callback);
-      if (isReadableStream(stream) || isWritableStream(stream)) {
-        return eosWeb(stream, options, callback);
+        throw new Error("create(" + format + "): format not registered");
       }
-      if (!isNodeStream(stream)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+    };
+    vending.registerFormat = function(format, module3) {
+      if (formats[format]) {
+        throw new Error("register(" + format + "): format already registered");
       }
-      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream);
-      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream);
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const onlegacyfinish = () => {
-        if (!stream.writable) {
-          onfinish();
-        }
-      };
-      let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable;
-      let writableFinished = isWritableFinished(stream, false);
-      const onfinish = () => {
-        writableFinished = true;
-        if (stream.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream.readable || readable)) {
-          return;
-        }
-        if (!readable || readableFinished) {
-          callback.call(stream);
-        }
-      };
-      let readableFinished = isReadableFinished(stream, false);
-      const onend = () => {
-        readableFinished = true;
-        if (stream.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream.writable || writable)) {
-          return;
-        }
-        if (!writable || writableFinished) {
-          callback.call(stream);
-        }
-      };
-      const onerror = (err) => {
-        callback.call(stream, err);
-      };
-      let closed = isClosed(stream);
-      const onclose = () => {
-        closed = true;
-        const errored = isWritableErrored(stream) || isReadableErrored(stream);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream, errored);
-        }
-        if (readable && !readableFinished && isReadableNodeStream(stream, true)) {
-          if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        if (writable && !writableFinished) {
-          if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        callback.call(stream);
-      };
-      const onclosed = () => {
-        closed = true;
-        const errored = isWritableErrored(stream) || isReadableErrored(stream);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream, errored);
-        }
-        callback.call(stream);
-      };
-      const onrequest = () => {
-        stream.req.on("finish", onfinish);
-      };
-      if (isRequest(stream)) {
-        stream.on("complete", onfinish);
-        if (!willEmitClose) {
-          stream.on("abort", onclose);
-        }
-        if (stream.req) {
-          onrequest();
-        } else {
-          stream.on("request", onrequest);
-        }
-      } else if (writable && !wState) {
-        stream.on("end", onlegacyfinish);
-        stream.on("close", onlegacyfinish);
+      if (typeof module3 !== "function") {
+        throw new Error("register(" + format + "): format module invalid");
       }
-      if (!willEmitClose && typeof stream.aborted === "boolean") {
-        stream.on("aborted", onclose);
+      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
+        throw new Error("register(" + format + "): format module missing methods");
       }
-      stream.on("end", onend);
-      stream.on("finish", onfinish);
-      if (options.error !== false) {
-        stream.on("error", onerror);
+      formats[format] = module3;
+    };
+    vending.isRegisteredFormat = function(format) {
+      if (formats[format]) {
+        return true;
       }
-      stream.on("close", onclose);
-      if (closed) {
-        process2.nextTick(onclose);
-      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
-        if (!willEmitClose) {
-          process2.nextTick(onclosed);
-        }
-      } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === false)) {
-        process2.nextTick(onclosed);
-      } else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === false)) {
-        process2.nextTick(onclosed);
-      } else if (rState && stream.req && stream.aborted) {
-        process2.nextTick(onclosed);
+      return false;
+    };
+    vending.registerFormat("zip", require_zip());
+    vending.registerFormat("tar", require_tar2());
+    vending.registerFormat("json", require_json());
+    module2.exports = vending;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/zip.js
+var require_zip2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      const cleanup = () => {
-        callback = nop;
-        stream.removeListener("aborted", onclose);
-        stream.removeListener("complete", onfinish);
-        stream.removeListener("abort", onclose);
-        stream.removeListener("request", onrequest);
-        if (stream.req) stream.req.removeListener("finish", onfinish);
-        stream.removeListener("end", onlegacyfinish);
-        stream.removeListener("close", onlegacyfinish);
-        stream.removeListener("finish", onfinish);
-        stream.removeListener("end", onend);
-        stream.removeListener("error", onerror);
-        stream.removeListener("close", onclose);
-      };
-      if (options.signal && !closed) {
-        const abort = () => {
-          const endCallback = callback;
-          cleanup();
-          endCallback.call(
-            stream,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util20().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream, args);
-          });
-        }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      return cleanup;
-    }
-    function eosWeb(stream, options, callback) {
-      let isAborted = false;
-      let abort = nop;
-      if (options.signal) {
-        abort = () => {
-          isAborted = true;
-          callback.call(
-            stream,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util20().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream, args);
-          });
-        }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
+        });
       }
-      const resolverFn = (...args) => {
-        if (!isAborted) {
-          process2.nextTick(() => callback.apply(stream, args));
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      };
-      PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn);
-      return nop;
-    }
-    function finished(stream, opts) {
-      var _opts;
-      let autoCleanup = false;
-      if (opts === null) {
-        opts = kEmptyObject;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
+    var stream = __importStar2(require("stream"));
+    var promises_1 = require("fs/promises");
+    var archiver2 = __importStar2(require_archiver());
+    var core14 = __importStar2(require_core());
+    var config_1 = require_config2();
+    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
+    var ZipUploadStream = class extends stream.Transform {
+      constructor(bufferSize) {
+        super({
+          highWaterMark: bufferSize
+        });
       }
-      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
-        validateBoolean(opts.cleanup, "cleanup");
-        autoCleanup = opts.cleanup;
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      _transform(chunk, enc, cb) {
+        cb(null, chunk);
       }
-      return new Promise2((resolve3, reject) => {
-        const cleanup = eos(stream, opts, (err) => {
-          if (autoCleanup) {
-            cleanup();
-          }
-          if (err) {
-            reject(err);
+    };
+    exports2.ZipUploadStream = ZipUploadStream;
+    function createZipUploadStream(uploadSpecification_1) {
+      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
+        core14.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
+        const zip = archiver2.create("zip", {
+          highWaterMark: (0, config_1.getUploadChunkSize)(),
+          zlib: { level: compressionLevel }
+        });
+        zip.on("error", zipErrorCallback);
+        zip.on("warning", zipWarningCallback);
+        zip.on("finish", zipFinishCallback);
+        zip.on("end", zipEndCallback);
+        for (const file of uploadSpecification) {
+          if (file.sourcePath !== null) {
+            let sourcePath = file.sourcePath;
+            if (file.stats.isSymbolicLink()) {
+              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
+            }
+            zip.file(sourcePath, {
+              name: file.destinationPath
+            });
           } else {
-            resolve3();
+            zip.append("", { name: file.destinationPath });
           }
-        });
+        }
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const zipUploadStream = new ZipUploadStream(bufferSize);
+        core14.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
+        core14.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
+        zip.pipe(zipUploadStream);
+        zip.finalize();
+        return zipUploadStream;
       });
     }
-    module2.exports = eos;
-    module2.exports.finished = finished;
+    exports2.createZipUploadStream = createZipUploadStream;
+    var zipErrorCallback = (error3) => {
+      core14.error("An error has occurred while creating the zip file for upload");
+      core14.info(error3);
+      throw new Error("An error has occurred during zip creation for the artifact");
+    };
+    var zipWarningCallback = (error3) => {
+      if (error3.code === "ENOENT") {
+        core14.warning("ENOENT warning during artifact zip creation. No such file or directory");
+        core14.info(error3);
+      } else {
+        core14.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
+        core14.info(error3);
+      }
+    };
+    var zipFinishCallback = () => {
+      core14.debug("Zip stream for upload has finished.");
+    };
+    var zipEndCallback = () => {
+      core14.debug("Zip stream for upload has ended.");
+    };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
+// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
+var require_upload_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
     "use strict";
-    var process2 = require_process();
-    var {
-      aggregateTwoErrors,
-      codes: { ERR_MULTIPLE_CALLBACK },
-      AbortError
-    } = require_errors5();
-    var { Symbol: Symbol2 } = require_primordials();
-    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
-    var kDestroy = Symbol2("kDestroy");
-    var kConstruct = Symbol2("kConstruct");
-    function checkError(err, w, r) {
-      if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
-        }
-        if (r && !r.errored) {
-          r.errored = err;
-        }
-      }
-    }
-    function destroy(err, cb) {
-      const r = this._readableState;
-      const w = this._writableState;
-      const s = w || r;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        if (typeof cb === "function") {
-          cb();
-        }
-        return this;
-      }
-      checkError(err, w, r);
-      if (w) {
-        w.destroyed = true;
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      if (r) {
-        r.destroyed = true;
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      if (!s.constructed) {
-        this.once(kDestroy, function(er) {
-          _destroy(this, aggregateTwoErrors(er, err), cb);
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve3) {
+          resolve3(value);
         });
-      } else {
-        _destroy(this, err, cb);
       }
-      return this;
-    }
-    function _destroy(self2, err, cb) {
-      let called = false;
-      function onDestroy(err2) {
-        if (called) {
-          return;
+      return new (P || (P = Promise))(function(resolve3, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        called = true;
-        const r = self2._readableState;
-        const w = self2._writableState;
-        checkError(err2, w, r);
-        if (w) {
-          w.closed = true;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (r) {
-          r.closed = true;
+        function step(result) {
+          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-        if (typeof cb === "function") {
-          cb(err2);
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadArtifact = void 0;
+    var core14 = __importStar2(require_core());
+    var retention_1 = require_retention();
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    var artifact_twirp_client_1 = require_artifact_twirp_client2();
+    var upload_zip_specification_1 = require_upload_zip_specification();
+    var util_1 = require_util19();
+    var blob_upload_1 = require_blob_upload();
+    var zip_1 = require_zip2();
+    var generated_1 = require_generated();
+    var errors_1 = require_errors4();
+    function uploadArtifact(name, files, rootDirectory, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
+        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
+        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
+        if (zipSpecification.length === 0) {
+          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
         }
-        if (err2) {
-          process2.nextTick(emitErrorCloseNT, self2, err2);
-        } else {
-          process2.nextTick(emitCloseNT, self2);
+        const backendIds = (0, util_1.getBackendIdsFromToken)();
+        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
+        const createArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          version: 4
+        };
+        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
+        if (expiresAt) {
+          createArtifactReq.expiresAt = expiresAt;
         }
-      }
-      try {
-        self2._destroy(err || null, onDestroy);
-      } catch (err2) {
-        onDestroy(err2);
-      }
-    }
-    function emitErrorCloseNT(self2, err) {
-      emitErrorNT(self2, err);
-      emitCloseNT(self2);
-    }
-    function emitCloseNT(self2) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w) {
-        w.closeEmitted = true;
-      }
-      if (r) {
-        r.closeEmitted = true;
-      }
-      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
-        self2.emit("close");
-      }
-    }
-    function emitErrorNT(self2, err) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
-        return;
-      }
-      if (w) {
-        w.errorEmitted = true;
-      }
-      if (r) {
-        r.errorEmitted = true;
-      }
-      self2.emit("error", err);
-    }
-    function undestroy() {
-      const r = this._readableState;
-      const w = this._writableState;
-      if (r) {
-        r.constructed = true;
-        r.closed = false;
-        r.closeEmitted = false;
-        r.destroyed = false;
-        r.errored = null;
-        r.errorEmitted = false;
-        r.reading = false;
-        r.ended = r.readable === false;
-        r.endEmitted = r.readable === false;
-      }
-      if (w) {
-        w.constructed = true;
-        w.destroyed = false;
-        w.closed = false;
-        w.closeEmitted = false;
-        w.errored = null;
-        w.errorEmitted = false;
-        w.finalCalled = false;
-        w.prefinished = false;
-        w.ended = w.writable === false;
-        w.ending = w.writable === false;
-        w.finished = w.writable === false;
-      }
-    }
-    function errorOrDestroy(stream, err, sync) {
-      const r = stream._readableState;
-      const w = stream._writableState;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        return this;
-      }
-      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
-        stream.destroy(err);
-      else if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
+        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
+        if (!createArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
         }
-        if (r && !r.errored) {
-          r.errored = err;
+        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
+        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
+        const finalizeArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
+        };
+        if (uploadResult.sha256Hash) {
+          finalizeArtifactReq.hash = generated_1.StringValue.create({
+            value: `sha256:${uploadResult.sha256Hash}`
+          });
         }
-        if (sync) {
-          process2.nextTick(emitErrorNT, stream, err);
-        } else {
-          emitErrorNT(stream, err);
+        core14.info(`Finalizing artifact upload`);
+        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
+        if (!finalizeArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
         }
-      }
+        const artifactId = BigInt(finalizeArtifactResp.artifactId);
+        core14.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
+        return {
+          size: uploadResult.uploadSize,
+          digest: uploadResult.sha256Hash,
+          id: Number(artifactId)
+        };
+      });
     }
-    function construct(stream, cb) {
-      if (typeof stream._construct !== "function") {
-        return;
-      }
-      const r = stream._readableState;
-      const w = stream._writableState;
-      if (r) {
-        r.constructed = false;
-      }
-      if (w) {
-        w.constructed = false;
+    exports2.uploadArtifact = uploadArtifact;
+  }
+});
+
+// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
+var require_context2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Context = void 0;
+    var fs_1 = require("fs");
+    var os_1 = require("os");
+    var Context = class {
+      /**
+       * Hydrate the context from the environment
+       */
+      constructor() {
+        var _a, _b, _c;
+        this.payload = {};
+        if (process.env.GITHUB_EVENT_PATH) {
+          if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) {
+            this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" }));
+          } else {
+            const path4 = process.env.GITHUB_EVENT_PATH;
+            process.stdout.write(`GITHUB_EVENT_PATH ${path4} does not exist${os_1.EOL}`);
+          }
+        }
+        this.eventName = process.env.GITHUB_EVENT_NAME;
+        this.sha = process.env.GITHUB_SHA;
+        this.ref = process.env.GITHUB_REF;
+        this.workflow = process.env.GITHUB_WORKFLOW;
+        this.action = process.env.GITHUB_ACTION;
+        this.actor = process.env.GITHUB_ACTOR;
+        this.job = process.env.GITHUB_JOB;
+        this.runAttempt = parseInt(process.env.GITHUB_RUN_ATTEMPT, 10);
+        this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);
+        this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);
+        this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;
+        this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;
+        this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;
       }
-      stream.once(kConstruct, cb);
-      if (stream.listenerCount(kConstruct) > 1) {
-        return;
+      get issue() {
+        const payload = this.payload;
+        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
       }
-      process2.nextTick(constructNT, stream);
-    }
-    function constructNT(stream) {
-      let called = false;
-      function onConstruct(err) {
-        if (called) {
-          errorOrDestroy(stream, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
-          return;
-        }
-        called = true;
-        const r = stream._readableState;
-        const w = stream._writableState;
-        const s = w || r;
-        if (r) {
-          r.constructed = true;
-        }
-        if (w) {
-          w.constructed = true;
+      get repo() {
+        if (process.env.GITHUB_REPOSITORY) {
+          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
+          return { owner, repo };
         }
-        if (s.destroyed) {
-          stream.emit(kDestroy, err);
-        } else if (err) {
-          errorOrDestroy(stream, err, true);
-        } else {
-          process2.nextTick(emitConstructNT, stream);
+        if (this.payload.repository) {
+          return {
+            owner: this.payload.repository.owner.login,
+            repo: this.payload.repository.name
+          };
         }
+        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
       }
-      try {
-        stream._construct((err) => {
-          process2.nextTick(onConstruct, err);
-        });
-      } catch (err) {
-        process2.nextTick(onConstruct, err);
-      }
-    }
-    function emitConstructNT(stream) {
-      stream.emit(kConstruct);
-    }
-    function isRequest(stream) {
-      return (stream === null || stream === void 0 ? void 0 : stream.setHeader) && typeof stream.abort === "function";
-    }
-    function emitCloseLegacy(stream) {
-      stream.emit("close");
-    }
-    function emitErrorCloseLegacy(stream, err) {
-      stream.emit("error", err);
-      process2.nextTick(emitCloseLegacy, stream);
-    }
-    function destroyer(stream, err) {
-      if (!stream || isDestroyed(stream)) {
-        return;
-      }
-      if (!err && !isFinished(stream)) {
-        err = new AbortError();
-      }
-      if (isServerRequest(stream)) {
-        stream.socket = null;
-        stream.destroy(err);
-      } else if (isRequest(stream)) {
-        stream.abort();
-      } else if (isRequest(stream.req)) {
-        stream.req.abort();
-      } else if (typeof stream.destroy === "function") {
-        stream.destroy(err);
-      } else if (typeof stream.close === "function") {
-        stream.close();
-      } else if (err) {
-        process2.nextTick(emitErrorCloseLegacy, stream, err);
-      } else {
-        process2.nextTick(emitCloseLegacy, stream);
-      }
-      if (!stream.destroyed) {
-        stream[kIsDestroyed] = true;
-      }
-    }
-    module2.exports = {
-      construct,
-      destroyer,
-      destroy,
-      undestroy,
-      errorOrDestroy
     };
+    exports2.Context = Context;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/legacy.js
-var require_legacy = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
+// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
+var require_proxy2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
     "use strict";
-    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
-    var { EventEmitter: EE } = require("events");
-    function Stream(opts) {
-      EE.call(this, opts);
-    }
-    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
-    ObjectSetPrototypeOf(Stream, EE);
-    Stream.prototype.pipe = function(dest, options) {
-      const source = this;
-      function ondata(chunk) {
-        if (dest.writable && dest.write(chunk) === false && source.pause) {
-          source.pause();
-        }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.checkBypass = exports2.getProxyUrl = void 0;
+    function getProxyUrl(reqUrl) {
+      const usingSsl = reqUrl.protocol === "https:";
+      if (checkBypass(reqUrl)) {
+        return void 0;
       }
-      source.on("data", ondata);
-      function ondrain() {
-        if (source.readable && source.resume) {
-          source.resume();
+      const proxyVar = (() => {
+        if (usingSsl) {
+          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+        } else {
+          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+        }
+      })();
+      if (proxyVar) {
+        try {
+          return new DecodedURL(proxyVar);
+        } catch (_a) {
+          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
+            return new DecodedURL(`http://${proxyVar}`);
         }
+      } else {
+        return void 0;
       }
-      dest.on("drain", ondrain);
-      if (!dest._isStdio && (!options || options.end !== false)) {
-        source.on("end", onend);
-        source.on("close", onclose);
+    }
+    exports2.getProxyUrl = getProxyUrl;
+    function checkBypass(reqUrl) {
+      if (!reqUrl.hostname) {
+        return false;
       }
-      let didOnEnd = false;
-      function onend() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        dest.end();
+      const reqHost = reqUrl.hostname;
+      if (isLoopbackAddress(reqHost)) {
+        return true;
       }
-      function onclose() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        if (typeof dest.destroy === "function") dest.destroy();
+      const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || "";
+      if (!noProxy) {
+        return false;
       }
-      function onerror(er) {
-        cleanup();
-        if (EE.listenerCount(this, "error") === 0) {
-          this.emit("error", er);
+      let reqPort;
+      if (reqUrl.port) {
+        reqPort = Number(reqUrl.port);
+      } else if (reqUrl.protocol === "http:") {
+        reqPort = 80;
+      } else if (reqUrl.protocol === "https:") {
+        reqPort = 443;
+      }
+      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
+      if (typeof reqPort === "number") {
+        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
+      }
+      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
+        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
+          return true;
         }
       }
-      prependListener(source, "error", onerror);
-      prependListener(dest, "error", onerror);
-      function cleanup() {
-        source.removeListener("data", ondata);
-        dest.removeListener("drain", ondrain);
-        source.removeListener("end", onend);
-        source.removeListener("close", onclose);
-        source.removeListener("error", onerror);
-        dest.removeListener("error", onerror);
-        source.removeListener("end", cleanup);
-        source.removeListener("close", cleanup);
-        dest.removeListener("close", cleanup);
+      return false;
+    }
+    exports2.checkBypass = checkBypass;
+    function isLoopbackAddress(host) {
+      const hostLower = host.toLowerCase();
+      return hostLower === "localhost" || hostLower.startsWith("127.") || hostLower.startsWith("[::1]") || hostLower.startsWith("[0:0:0:0:0:0:0:1]");
+    }
+    var DecodedURL = class extends URL {
+      constructor(url, base) {
+        super(url, base);
+        this._decodedUsername = decodeURIComponent(super.username);
+        this._decodedPassword = decodeURIComponent(super.password);
+      }
+      get username() {
+        return this._decodedUsername;
+      }
+      get password() {
+        return this._decodedPassword;
       }
-      source.on("end", cleanup);
-      source.on("close", cleanup);
-      dest.on("close", cleanup);
-      dest.emit("pipe", source);
-      return dest;
     };
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
+  }
+});
+
+// node_modules/undici/lib/core/symbols.js
+var require_symbols11 = __commonJS({
+  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
-      Stream,
-      prependListener
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kDestroy: /* @__PURE__ */ Symbol("destroy"),
+      kDispatch: /* @__PURE__ */ Symbol("dispatch"),
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kWriting: /* @__PURE__ */ Symbol("writing"),
+      kResuming: /* @__PURE__ */ Symbol("resuming"),
+      kQueue: /* @__PURE__ */ Symbol("queue"),
+      kConnect: /* @__PURE__ */ Symbol("connect"),
+      kConnecting: /* @__PURE__ */ Symbol("connecting"),
+      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
+      kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
+      kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
+      kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
+      kKeepAliveTimeoutValue: /* @__PURE__ */ Symbol("keep alive timeout"),
+      kKeepAlive: /* @__PURE__ */ Symbol("keep alive"),
+      kHeadersTimeout: /* @__PURE__ */ Symbol("headers timeout"),
+      kBodyTimeout: /* @__PURE__ */ Symbol("body timeout"),
+      kServerName: /* @__PURE__ */ Symbol("server name"),
+      kLocalAddress: /* @__PURE__ */ Symbol("local address"),
+      kHost: /* @__PURE__ */ Symbol("host"),
+      kNoRef: /* @__PURE__ */ Symbol("no ref"),
+      kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kRunning: /* @__PURE__ */ Symbol("running"),
+      kBlocking: /* @__PURE__ */ Symbol("blocking"),
+      kPending: /* @__PURE__ */ Symbol("pending"),
+      kSize: /* @__PURE__ */ Symbol("size"),
+      kBusy: /* @__PURE__ */ Symbol("busy"),
+      kQueued: /* @__PURE__ */ Symbol("queued"),
+      kFree: /* @__PURE__ */ Symbol("free"),
+      kConnected: /* @__PURE__ */ Symbol("connected"),
+      kClosed: /* @__PURE__ */ Symbol("closed"),
+      kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
+      kReset: /* @__PURE__ */ Symbol("reset"),
+      kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
+      kRunningIdx: /* @__PURE__ */ Symbol("running index"),
+      kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
+      kError: /* @__PURE__ */ Symbol("error"),
+      kClients: /* @__PURE__ */ Symbol("clients"),
+      kClient: /* @__PURE__ */ Symbol("client"),
+      kParser: /* @__PURE__ */ Symbol("parser"),
+      kOnDestroyed: /* @__PURE__ */ Symbol("destroy callbacks"),
+      kPipelining: /* @__PURE__ */ Symbol("pipelining"),
+      kSocket: /* @__PURE__ */ Symbol("socket"),
+      kHostHeader: /* @__PURE__ */ Symbol("host header"),
+      kConnector: /* @__PURE__ */ Symbol("connector"),
+      kStrictContentLength: /* @__PURE__ */ Symbol("strict content length"),
+      kMaxRedirections: /* @__PURE__ */ Symbol("maxRedirections"),
+      kMaxRequests: /* @__PURE__ */ Symbol("maxRequestsPerClient"),
+      kProxy: /* @__PURE__ */ Symbol("proxy agent options"),
+      kCounter: /* @__PURE__ */ Symbol("socket request counter"),
+      kInterceptors: /* @__PURE__ */ Symbol("dispatch interceptors"),
+      kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
+      kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
+      kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
+      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
+      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
+      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
+      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
+      kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
+      kConstruct: /* @__PURE__ */ Symbol("constructable")
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
-var require_add_abort_signal = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
+// node_modules/undici/lib/core/errors.js
+var require_errors6 = __commonJS({
+  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
-    var { SymbolDispose } = require_primordials();
-    var { AbortError, codes } = require_errors5();
-    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
-    var eos = require_end_of_stream();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
-    var addAbortListener;
-    var validateAbortSignal = (signal, name) => {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+    var UndiciError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "UndiciError";
+        this.code = "UND_ERR";
       }
     };
-    module2.exports.addAbortSignal = function addAbortSignal(signal, stream) {
-      validateAbortSignal(signal, "signal");
-      if (!isNodeStream(stream) && !isWebStream(stream)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ConnectTimeoutError);
+        this.name = "ConnectTimeoutError";
+        this.message = message || "Connect Timeout Error";
+        this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
-      return module2.exports.addAbortSignalNoValidate(signal, stream);
     };
-    module2.exports.addAbortSignalNoValidate = function(signal, stream) {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        return stream;
+    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersTimeoutError);
+        this.name = "HeadersTimeoutError";
+        this.message = message || "Headers Timeout Error";
+        this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
-      const onAbort = isNodeStream(stream) ? () => {
-        stream.destroy(
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      } : () => {
-        stream[kControllerErrorFunction](
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      };
-      if (signal.aborted) {
-        onAbort();
-      } else {
-        addAbortListener = addAbortListener || require_util20().addAbortListener;
-        const disposable = addAbortListener(signal, onAbort);
-        eos(stream, disposable[SymbolDispose]);
+    };
+    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersOverflowError);
+        this.name = "HeadersOverflowError";
+        this.message = message || "Headers Overflow Error";
+        this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
-      return stream;
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/buffer_list.js
-var require_buffer_list = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
-    "use strict";
-    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { inspect } = require_util20();
-    module2.exports = class BufferList {
-      constructor() {
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
+    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _BodyTimeoutError);
+        this.name = "BodyTimeoutError";
+        this.message = message || "Body Timeout Error";
+        this.code = "UND_ERR_BODY_TIMEOUT";
       }
-      push(v) {
-        const entry = {
-          data: v,
-          next: null
-        };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
+    };
+    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+      constructor(message, statusCode, headers, body) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseStatusCodeError);
+        this.name = "ResponseStatusCodeError";
+        this.message = message || "Response Status Code Error";
+        this.code = "UND_ERR_RESPONSE_STATUS_CODE";
+        this.body = body;
+        this.status = statusCode;
+        this.statusCode = statusCode;
+        this.headers = headers;
       }
-      unshift(v) {
-        const entry = {
-          data: v,
-          next: this.head
-        };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
+    };
+    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidArgumentError);
+        this.name = "InvalidArgumentError";
+        this.message = message || "Invalid Argument Error";
+        this.code = "UND_ERR_INVALID_ARG";
       }
-      shift() {
-        if (this.length === 0) return;
-        const ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
+    };
+    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidReturnValueError);
+        this.name = "InvalidReturnValueError";
+        this.message = message || "Invalid Return Value Error";
+        this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
-      clear() {
-        this.head = this.tail = null;
-        this.length = 0;
+    };
+    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestAbortedError);
+        this.name = "AbortError";
+        this.message = message || "Request aborted";
+        this.code = "UND_ERR_ABORTED";
       }
-      join(s) {
-        if (this.length === 0) return "";
-        let p = this.head;
-        let ret = "" + p.data;
-        while ((p = p.next) !== null) ret += s + p.data;
-        return ret;
+    };
+    var InformationalError = class _InformationalError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InformationalError);
+        this.name = "InformationalError";
+        this.message = message || "Request information";
+        this.code = "UND_ERR_INFO";
       }
-      concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        const ret = Buffer2.allocUnsafe(n >>> 0);
-        let p = this.head;
-        let i = 0;
-        while (p) {
-          TypedArrayPrototypeSet(ret, p.data, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
+    };
+    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
+        this.name = "RequestContentLengthMismatchError";
+        this.message = message || "Request body length does not match content-length header";
+        this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
-      // Consumes a specified amount of bytes or characters from the buffered data.
-      consume(n, hasStrings) {
-        const data = this.head.data;
-        if (n < data.length) {
-          const slice = data.slice(0, n);
-          this.head.data = data.slice(n);
-          return slice;
-        }
-        if (n === data.length) {
-          return this.shift();
-        }
-        return hasStrings ? this._getString(n) : this._getBuffer(n);
+    };
+    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
+        this.name = "ResponseContentLengthMismatchError";
+        this.message = message || "Response body length does not match content-length header";
+        this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
-      first() {
-        return this.head.data;
+    };
+    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientDestroyedError);
+        this.name = "ClientDestroyedError";
+        this.message = message || "The client is destroyed";
+        this.code = "UND_ERR_DESTROYED";
       }
-      *[SymbolIterator]() {
-        for (let p = this.head; p; p = p.next) {
-          yield p.data;
-        }
+    };
+    var ClientClosedError = class _ClientClosedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientClosedError);
+        this.name = "ClientClosedError";
+        this.message = message || "The client is closed";
+        this.code = "UND_ERR_CLOSED";
       }
-      // Consumes a specified amount of characters from the buffered data.
-      _getString(n) {
-        let ret = "";
-        let p = this.head;
-        let c = 0;
-        do {
-          const str2 = p.data;
-          if (n > str2.length) {
-            ret += str2;
-            n -= str2.length;
-          } else {
-            if (n === str2.length) {
-              ret += str2;
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              ret += StringPrototypeSlice(str2, 0, n);
-              this.head = p;
-              p.data = StringPrototypeSlice(str2, n);
-            }
-            break;
-          }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+    };
+    var SocketError = class _SocketError extends UndiciError {
+      constructor(message, socket) {
+        super(message);
+        Error.captureStackTrace(this, _SocketError);
+        this.name = "SocketError";
+        this.message = message || "Socket error";
+        this.code = "UND_ERR_SOCKET";
+        this.socket = socket;
       }
-      // Consumes a specified amount of bytes from the buffered data.
-      _getBuffer(n) {
-        const ret = Buffer2.allocUnsafe(n);
-        const retLen = n;
-        let p = this.head;
-        let c = 0;
-        do {
-          const buf = p.data;
-          if (n > buf.length) {
-            TypedArrayPrototypeSet(ret, buf, retLen - n);
-            n -= buf.length;
-          } else {
-            if (n === buf.length) {
-              TypedArrayPrototypeSet(ret, buf, retLen - n);
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
-              this.head = p;
-              p.data = buf.slice(n);
-            }
-            break;
-          }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+    };
+    var NotSupportedError = class _NotSupportedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _NotSupportedError);
+        this.name = "NotSupportedError";
+        this.message = message || "Not supported error";
+        this.code = "UND_ERR_NOT_SUPPORTED";
       }
-      // Make sure the linked list only shows the minimal necessary information.
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
-        return inspect(this, {
-          ...options,
-          // Only inspect one level.
-          depth: 0,
-          // It should not recurse.
-          customInspect: false
-        });
+    };
+    var BalancedPoolMissingUpstreamError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, NotSupportedError);
+        this.name = "MissingUpstreamError";
+        this.message = message || "No upstream has been added to the BalancedPool";
+        this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
+      }
+    };
+    var HTTPParserError = class _HTTPParserError extends Error {
+      constructor(message, code, data) {
+        super(message);
+        Error.captureStackTrace(this, _HTTPParserError);
+        this.name = "HTTPParserError";
+        this.code = code ? `HPE_${code}` : void 0;
+        this.data = data ? data.toString() : void 0;
+      }
+    };
+    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
+        this.name = "ResponseExceededMaxSizeError";
+        this.message = message || "Response content exceeded max size";
+        this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
+      }
+    };
+    var RequestRetryError = class _RequestRetryError extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        Error.captureStackTrace(this, _RequestRetryError);
+        this.name = "RequestRetryError";
+        this.message = message || "Request retry error";
+        this.code = "UND_ERR_REQ_RETRY";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
       }
     };
+    module2.exports = {
+      HTTPParserError,
+      UndiciError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      BodyTimeoutError,
+      RequestContentLengthMismatchError,
+      ConnectTimeoutError,
+      ResponseStatusCodeError,
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError,
+      ClientDestroyedError,
+      ClientClosedError,
+      InformationalError,
+      SocketError,
+      NotSupportedError,
+      ResponseContentLengthMismatchError,
+      BalancedPoolMissingUpstreamError,
+      ResponseExceededMaxSizeError,
+      RequestRetryError
+    };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/state.js
-var require_state3 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
+// node_modules/undici/lib/core/constants.js
+var require_constants20 = __commonJS({
+  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
-    var { MathFloor, NumberIsInteger } = require_primordials();
-    var { validateInteger } = require_validators();
-    var { ERR_INVALID_ARG_VALUE } = require_errors5().codes;
-    var defaultHighWaterMarkBytes = 16 * 1024;
-    var defaultHighWaterMarkObjectMode = 16;
-    function highWaterMarkFrom(options, isDuplex, duplexKey) {
-      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
-    }
-    function getDefaultHighWaterMark(objectMode) {
-      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
-    }
-    function setDefaultHighWaterMark(objectMode, value) {
-      validateInteger(value, "value", 0);
-      if (objectMode) {
-        defaultHighWaterMarkObjectMode = value;
-      } else {
-        defaultHighWaterMarkBytes = value;
-      }
-    }
-    function getHighWaterMark(state, options, duplexKey, isDuplex) {
-      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
-      if (hwm != null) {
-        if (!NumberIsInteger(hwm) || hwm < 0) {
-          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
-          throw new ERR_INVALID_ARG_VALUE(name, hwm);
-        }
-        return MathFloor(hwm);
-      }
-      return getDefaultHighWaterMark(state.objectMode);
+    var headerNameLowerCasedRecord = {};
+    var wellknownHeaderNames = [
+      "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 i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = wellknownHeaderNames[i];
+      const lowerCasedKey = key.toLowerCase();
+      headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey;
     }
+    Object.setPrototypeOf(headerNameLowerCasedRecord, null);
     module2.exports = {
-      getHighWaterMark,
-      getDefaultHighWaterMark,
-      setDefaultHighWaterMark
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/from.js
-var require_from = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
+// node_modules/undici/lib/core/util.js
+var require_util24 = __commonJS({
+  "node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var process2 = require_process();
-    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors5().codes;
-    function from(Readable, iterable, opts) {
-      let iterator2;
-      if (typeof iterable === "string" || iterable instanceof Buffer2) {
-        return new Readable({
-          objectMode: true,
-          ...opts,
-          read() {
-            this.push(iterable);
-            this.push(null);
-          }
-        });
+    var assert = require("assert");
+    var { kDestroyed, kBodyUsed } = require_symbols11();
+    var { IncomingMessage } = require("http");
+    var stream = require("stream");
+    var net = require("net");
+    var { InvalidArgumentError } = require_errors6();
+    var { Blob: Blob2 } = require("buffer");
+    var nodeUtil = require("util");
+    var { stringify } = require("querystring");
+    var { headerNameLowerCasedRecord } = require_constants20();
+    var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    function nop() {
+    }
+    function isStream(obj) {
+      return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
+    }
+    function isBlobLike(object) {
+      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+    }
+    function buildURL(url, queryParams) {
+      if (url.includes("?") || url.includes("#")) {
+        throw new Error('Query params cannot be passed when url already contains "?" or "#".');
       }
-      let isAsync;
-      if (iterable && iterable[SymbolAsyncIterator]) {
-        isAsync = true;
-        iterator2 = iterable[SymbolAsyncIterator]();
-      } else if (iterable && iterable[SymbolIterator]) {
-        isAsync = false;
-        iterator2 = iterable[SymbolIterator]();
-      } else {
-        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
+      const stringified = stringify(queryParams);
+      if (stringified) {
+        url += "?" + stringified;
       }
-      const readable = new Readable({
-        objectMode: true,
-        highWaterMark: 1,
-        // TODO(ronag): What options should be allowed?
-        ...opts
-      });
-      let reading = false;
-      readable._read = function() {
-        if (!reading) {
-          reading = true;
-          next();
+      return url;
+    }
+    function parseURL(url) {
+      if (typeof url === "string") {
+        url = new URL(url);
+        if (!/^https?:/.test(url.origin || url.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
-      };
-      readable._destroy = function(error3, cb) {
-        PromisePrototypeThen(
-          close(error3),
-          () => process2.nextTick(cb, error3),
-          // nextTick is here in case cb throws
-          (e) => process2.nextTick(cb, e || error3)
-        );
-      };
-      async function close(error3) {
-        const hadError = error3 !== void 0 && error3 !== null;
-        const hasThrow = typeof iterator2.throw === "function";
-        if (hadError && hasThrow) {
-          const { value, done } = await iterator2.throw(error3);
-          await value;
-          if (done) {
-            return;
-          }
+        return url;
+      }
+      if (!url || typeof url !== "object") {
+        throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
+      }
+      if (!/^https?:/.test(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+      }
+      if (!(url instanceof URL)) {
+        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+          throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
-        if (typeof iterator2.return === "function") {
-          const { value } = await iterator2.return();
-          await value;
+        if (url.path != null && typeof url.path !== "string") {
+          throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.");
         }
-      }
-      async function next() {
-        for (; ; ) {
-          try {
-            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
-            if (done) {
-              readable.push(null);
-            } else {
-              const res = value && typeof value.then === "function" ? await value : value;
-              if (res === null) {
-                reading = false;
-                throw new ERR_STREAM_NULL_VALUES();
-              } else if (readable.push(res)) {
-                continue;
-              } else {
-                reading = false;
-              }
-            }
-          } catch (err) {
-            readable.destroy(err);
-          }
-          break;
+        if (url.pathname != null && typeof url.pathname !== "string") {
+          throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.");
+        }
+        if (url.hostname != null && typeof url.hostname !== "string") {
+          throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.");
         }
+        if (url.origin != null && typeof url.origin !== "string") {
+          throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
+        }
+        const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
+        let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
+        let path4 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
+        if (origin.endsWith("/")) {
+          origin = origin.substring(0, origin.length - 1);
+        }
+        if (path4 && !path4.startsWith("/")) {
+          path4 = `/${path4}`;
+        }
+        url = new URL(origin + path4);
       }
-      return readable;
+      return url;
     }
-    module2.exports = from;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/readable.js
-var require_readable4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeIndexOf,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberParseInt,
-      ObjectDefineProperties,
-      ObjectKeys,
-      ObjectSetPrototypeOf,
-      Promise: Promise2,
-      SafeSet,
-      SymbolAsyncDispose,
-      SymbolAsyncIterator,
-      Symbol: Symbol2
-    } = require_primordials();
-    module2.exports = Readable;
-    Readable.ReadableState = ReadableState;
-    var { EventEmitter: EE } = require("events");
-    var { Stream, prependListener } = require_legacy();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { addAbortSignal } = require_add_abort_signal();
-    var eos = require_end_of_stream();
-    var debug4 = require_util20().debuglog("stream", (fn) => {
-      debug4 = fn;
-    });
-    var BufferList = require_buffer_list();
-    var destroyImpl = require_destroy2();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_METHOD_NOT_IMPLEMENTED,
-        ERR_OUT_OF_RANGE,
-        ERR_STREAM_PUSH_AFTER_EOF,
-        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
-      },
-      AbortError
-    } = require_errors5();
-    var { validateObject } = require_validators();
-    var kPaused = Symbol2("kPaused");
-    var { StringDecoder } = require("string_decoder");
-    var from = require_from();
-    ObjectSetPrototypeOf(Readable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Readable, Stream);
-    var nop = () => {
-    };
-    var { errorOrDestroy } = destroyImpl;
-    var kObjectMode = 1 << 0;
-    var kEnded = 1 << 1;
-    var kEndEmitted = 1 << 2;
-    var kReading = 1 << 3;
-    var kConstructed = 1 << 4;
-    var kSync = 1 << 5;
-    var kNeedReadable = 1 << 6;
-    var kEmittedReadable = 1 << 7;
-    var kReadableListening = 1 << 8;
-    var kResumeScheduled = 1 << 9;
-    var kErrorEmitted = 1 << 10;
-    var kEmitClose = 1 << 11;
-    var kAutoDestroy = 1 << 12;
-    var kDestroyed = 1 << 13;
-    var kClosed = 1 << 14;
-    var kCloseEmitted = 1 << 15;
-    var kMultiAwaitDrain = 1 << 16;
-    var kReadingMore = 1 << 17;
-    var kDataEmitted = 1 << 18;
-    function makeBitMapDescriptor(bit) {
-      return {
-        enumerable: false,
-        get() {
-          return (this.state & bit) !== 0;
-        },
-        set(value) {
-          if (value) this.state |= bit;
-          else this.state &= ~bit;
-        }
-      };
+    function parseOrigin(url) {
+      url = parseURL(url);
+      if (url.pathname !== "/" || url.search || url.hash) {
+        throw new InvalidArgumentError("invalid url");
+      }
+      return url;
     }
-    ObjectDefineProperties(ReadableState.prototype, {
-      objectMode: makeBitMapDescriptor(kObjectMode),
-      ended: makeBitMapDescriptor(kEnded),
-      endEmitted: makeBitMapDescriptor(kEndEmitted),
-      reading: makeBitMapDescriptor(kReading),
-      // Stream is still being constructed and cannot be
-      // destroyed until construction finished or failed.
-      // Async construction is opt in, therefore we start as
-      // constructed.
-      constructed: makeBitMapDescriptor(kConstructed),
-      // A flag to be able to tell if the event 'readable'/'data' is emitted
-      // immediately, or on a later tick.  We set this to true at first, because
-      // any actions that shouldn't happen until "later" should generally also
-      // not happen before the first read call.
-      sync: makeBitMapDescriptor(kSync),
-      // Whenever we return null, then we set a flag to say
-      // that we're awaiting a 'readable' event emission.
-      needReadable: makeBitMapDescriptor(kNeedReadable),
-      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
-      readableListening: makeBitMapDescriptor(kReadableListening),
-      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
-      // True if the error was already emitted and should not be thrown again.
-      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
-      emitClose: makeBitMapDescriptor(kEmitClose),
-      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
-      // Has it been destroyed.
-      destroyed: makeBitMapDescriptor(kDestroyed),
-      // Indicates whether the stream has finished destroying.
-      closed: makeBitMapDescriptor(kClosed),
-      // True if close has been emitted or would have been emitted
-      // depending on emitClose.
-      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
-      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
-      // If true, a maybeReadMore has been scheduled.
-      readingMore: makeBitMapDescriptor(kReadingMore),
-      dataEmitted: makeBitMapDescriptor(kDataEmitted)
-    });
-    function ReadableState(options, stream, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
-      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
-      if (options && options.objectMode) this.state |= kObjectMode;
-      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
-      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = [];
-      this.flowing = null;
-      this[kPaused] = null;
-      if (options && options.emitClose === false) this.state &= ~kEmitClose;
-      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
-      this.errored = null;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.awaitDrainWriters = null;
-      this.decoder = null;
-      this.encoding = null;
-      if (options && options.encoding) {
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
+    function getHostname(host) {
+      if (host[0] === "[") {
+        const idx2 = host.indexOf("]");
+        assert(idx2 !== -1);
+        return host.substring(1, idx2);
       }
+      const idx = host.indexOf(":");
+      if (idx === -1) return host;
+      return host.substring(0, idx);
     }
-    function Readable(options) {
-      if (!(this instanceof Readable)) return new Readable(options);
-      const isDuplex = this instanceof require_duplex();
-      this._readableState = new ReadableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
+    function getServerName(host) {
+      if (!host) {
+        return null;
+      }
+      assert.strictEqual(typeof host, "string");
+      const servername = getHostname(host);
+      if (net.isIP(servername)) {
+        return "";
+      }
+      return servername;
+    }
+    function deepClone(obj) {
+      return JSON.parse(JSON.stringify(obj));
+    }
+    function isAsyncIterable(obj) {
+      return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
+    }
+    function isIterable(obj) {
+      return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
+    }
+    function bodyLength(body) {
+      if (body == null) {
+        return 0;
+      } else if (isStream(body)) {
+        const state = body._readableState;
+        return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null;
+      } else if (isBlobLike(body)) {
+        return body.size != null ? body.size : null;
+      } else if (isBuffer(body)) {
+        return body.byteLength;
       }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        if (this._readableState.needReadable) {
-          maybeReadMore(this, this._readableState);
-        }
-      });
+      return null;
     }
-    Readable.prototype.destroy = destroyImpl.destroy;
-    Readable.prototype._undestroy = destroyImpl.undestroy;
-    Readable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Readable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    Readable.prototype[SymbolAsyncDispose] = function() {
-      let error3;
-      if (!this.destroyed) {
-        error3 = this.readableEnded ? null : new AbortError();
-        this.destroy(error3);
+    function isDestroyed(stream2) {
+      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
+    }
+    function isReadableAborted(stream2) {
+      const state = stream2 && stream2._readableState;
+      return isDestroyed(stream2) && state && !state.endEmitted;
+    }
+    function destroy(stream2, err) {
+      if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
+        return;
       }
-      return new Promise2((resolve3, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve3(null)));
-    };
-    Readable.prototype.push = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, false);
-    };
-    Readable.prototype.unshift = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, true);
-    };
-    function readableAddChunk(stream, chunk, encoding, addToFront) {
-      debug4("readableAddChunk", chunk);
-      const state = stream._readableState;
-      let err;
-      if ((state.state & kObjectMode) === 0) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (state.encoding !== encoding) {
-            if (addToFront && state.encoding) {
-              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
-            } else {
-              chunk = Buffer2.from(chunk, encoding);
-              encoding = "";
-            }
-          }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "";
-        } else if (chunk != null) {
-          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+      if (typeof stream2.destroy === "function") {
+        if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) {
+          stream2.socket = null;
         }
+        stream2.destroy(err);
+      } else if (err) {
+        process.nextTick((stream3, err2) => {
+          stream3.emit("error", err2);
+        }, stream2, err);
       }
-      if (err) {
-        errorOrDestroy(stream, err);
-      } else if (chunk === null) {
-        state.state &= ~kReading;
-        onEofChunk(stream, state);
-      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
-        if (addToFront) {
-          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
-          else if (state.destroyed || state.errored) return false;
-          else addChunk(stream, state, chunk, true);
-        } else if (state.ended) {
-          errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
-        } else if (state.destroyed || state.errored) {
-          return false;
-        } else {
-          state.state &= ~kReading;
-          if (state.decoder && !encoding) {
-            chunk = state.decoder.write(chunk);
-            if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
-            else maybeReadMore(stream, state);
+      if (stream2.destroyed !== true) {
+        stream2[kDestroyed] = true;
+      }
+    }
+    var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/;
+    function parseKeepAliveTimeout(val) {
+      const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR);
+      return m ? parseInt(m[1], 10) * 1e3 : null;
+    }
+    function headerNameToString(value) {
+      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+    }
+    function parseHeaders(headers, obj = {}) {
+      if (!Array.isArray(headers)) return headers;
+      for (let i = 0; i < headers.length; i += 2) {
+        const key = headers[i].toString().toLowerCase();
+        let val = obj[key];
+        if (!val) {
+          if (Array.isArray(headers[i + 1])) {
+            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
           } else {
-            addChunk(stream, state, chunk, false);
+            obj[key] = headers[i + 1].toString("utf8");
           }
+        } else {
+          if (!Array.isArray(val)) {
+            val = [val];
+            obj[key] = val;
+          }
+          val.push(headers[i + 1].toString("utf8"));
         }
-      } else if (!addToFront) {
-        state.state &= ~kReading;
-        maybeReadMore(stream, state);
       }
-      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
+      if ("content-length" in obj && "content-disposition" in obj) {
+        obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1");
+      }
+      return obj;
     }
-    function addChunk(stream, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount("data") > 0) {
-        if ((state.state & kMultiAwaitDrain) !== 0) {
-          state.awaitDrainWriters.clear();
+    function parseRawHeaders(headers) {
+      const ret = [];
+      let hasContentLength = false;
+      let contentDispositionIdx = -1;
+      for (let n = 0; n < headers.length; n += 2) {
+        const key = headers[n + 0].toString();
+        const val = headers[n + 1].toString("utf8");
+        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
+          ret.push(key, val);
+          hasContentLength = true;
+        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = ret.push(key, val) - 1;
         } else {
-          state.awaitDrainWriters = null;
+          ret.push(key, val);
         }
-        state.dataEmitted = true;
-        stream.emit("data", chunk);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if ((state.state & kNeedReadable) !== 0) emitReadable(stream);
-      }
-      maybeReadMore(stream, state);
-    }
-    Readable.prototype.isPaused = function() {
-      const state = this._readableState;
-      return state[kPaused] === true || state.flowing === false;
-    };
-    Readable.prototype.setEncoding = function(enc) {
-      const decoder = new StringDecoder(enc);
-      this._readableState.decoder = decoder;
-      this._readableState.encoding = this._readableState.decoder.encoding;
-      const buffer = this._readableState.buffer;
-      let content = "";
-      for (const data of buffer) {
-        content += decoder.write(data);
       }
-      buffer.clear();
-      if (content !== "") buffer.push(content);
-      this._readableState.length = content.length;
-      return this;
-    };
-    var MAX_HWM = 1073741824;
-    function computeNewHighWaterMark(n) {
-      if (n > MAX_HWM) {
-        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
-      } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+      if (hasContentLength && contentDispositionIdx !== -1) {
+        ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
       }
-      return n;
+      return ret;
     }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if ((state.state & kObjectMode) !== 0) return 1;
-      if (NumberIsNaN(n)) {
-        if (state.flowing && state.length) return state.buffer.first().length;
-        return state.length;
-      }
-      if (n <= state.length) return n;
-      return state.ended ? state.length : 0;
+    function isBuffer(buffer) {
+      return buffer instanceof Uint8Array || Buffer.isBuffer(buffer);
     }
-    Readable.prototype.read = function(n) {
-      debug4("read", n);
-      if (n === void 0) {
-        n = NaN;
-      } else if (!NumberIsInteger(n)) {
-        n = NumberParseInt(n, 10);
+    function validateHandler(handler2, method, upgrade) {
+      if (!handler2 || typeof handler2 !== "object") {
+        throw new InvalidArgumentError("handler must be an object");
       }
-      const state = this._readableState;
-      const nOrig = n;
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n !== 0) state.state &= ~kEmittedReadable;
-      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
-        debug4("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
+      if (typeof handler2.onConnect !== "function") {
+        throw new InvalidArgumentError("invalid onConnect method");
       }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
+      if (typeof handler2.onError !== "function") {
+        throw new InvalidArgumentError("invalid onError method");
       }
-      let doRead = (state.state & kNeedReadable) !== 0;
-      debug4("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug4("length less than watermark", doRead);
+      if (typeof handler2.onBodySent !== "function" && handler2.onBodySent !== void 0) {
+        throw new InvalidArgumentError("invalid onBodySent method");
       }
-      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
-        doRead = false;
-        debug4("reading, ended or constructing", doRead);
-      } else if (doRead) {
-        debug4("do read");
-        state.state |= kReading | kSync;
-        if (state.length === 0) state.state |= kNeedReadable;
-        try {
-          this._read(state.highWaterMark);
-        } catch (err) {
-          errorOrDestroy(this, err);
+      if (upgrade || method === "CONNECT") {
+        if (typeof handler2.onUpgrade !== "function") {
+          throw new InvalidArgumentError("invalid onUpgrade method");
         }
-        state.state &= ~kSync;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
-      }
-      let ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = state.length <= state.highWaterMark;
-        n = 0;
       } else {
-        state.length -= n;
-        if (state.multiAwaitDrain) {
-          state.awaitDrainWriters.clear();
-        } else {
-          state.awaitDrainWriters = null;
+        if (typeof handler2.onHeaders !== "function") {
+          throw new InvalidArgumentError("invalid onHeaders method");
+        }
+        if (typeof handler2.onData !== "function") {
+          throw new InvalidArgumentError("invalid onData method");
+        }
+        if (typeof handler2.onComplete !== "function") {
+          throw new InvalidArgumentError("invalid onComplete method");
         }
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
+    }
+    function isDisturbed(body) {
+      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+    }
+    function isErrored(body) {
+      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
+        nodeUtil.inspect(body)
+      )));
+    }
+    function isReadable(body) {
+      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
+        nodeUtil.inspect(body)
+      )));
+    }
+    function getSocketInfo(socket) {
+      return {
+        localAddress: socket.localAddress,
+        localPort: socket.localPort,
+        remoteAddress: socket.remoteAddress,
+        remotePort: socket.remotePort,
+        remoteFamily: socket.remoteFamily,
+        timeout: socket.timeout,
+        bytesWritten: socket.bytesWritten,
+        bytesRead: socket.bytesRead
+      };
+    }
+    async function* convertIterableToBuffer(iterable) {
+      for await (const chunk of iterable) {
+        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
       }
-      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
-        state.dataEmitted = true;
-        this.emit("data", ret);
+    }
+    var ReadableStream2;
+    function ReadableStreamFrom(iterable) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      return ret;
-    };
-    function onEofChunk(stream, state) {
-      debug4("onEofChunk");
-      if (state.ended) return;
-      if (state.decoder) {
-        const chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
-        }
+      if (ReadableStream2.from) {
+        return ReadableStream2.from(convertIterableToBuffer(iterable));
       }
-      state.ended = true;
-      if (state.sync) {
-        emitReadable(stream);
+      let iterator2;
+      return new ReadableStream2(
+        {
+          async start() {
+            iterator2 = iterable[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { done, value } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
+              controller.enqueue(new Uint8Array(buf));
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          }
+        },
+        0
+      );
+    }
+    function isFormDataLike(object) {
+      return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
+    }
+    function throwIfAborted(signal) {
+      if (!signal) {
+        return;
+      }
+      if (typeof signal.throwIfAborted === "function") {
+        signal.throwIfAborted();
       } else {
-        state.needReadable = false;
-        state.emittedReadable = true;
-        emitReadable_(stream);
+        if (signal.aborted) {
+          const err = new Error("The operation was aborted");
+          err.name = "AbortError";
+          throw err;
+        }
       }
     }
-    function emitReadable(stream) {
-      const state = stream._readableState;
-      debug4("emitReadable", state.needReadable, state.emittedReadable);
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug4("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        process2.nextTick(emitReadable_, stream);
+    function addAbortListener(signal, listener) {
+      if ("addEventListener" in signal) {
+        signal.addEventListener("abort", listener, { once: true });
+        return () => signal.removeEventListener("abort", listener);
       }
+      signal.addListener("abort", listener);
+      return () => signal.removeListener("abort", listener);
     }
-    function emitReadable_(stream) {
-      const state = stream._readableState;
-      debug4("emitReadable_", state.destroyed, state.length, state.ended);
-      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
-        stream.emit("readable");
-        state.emittedReadable = false;
+    var hasToWellFormed = !!String.prototype.toWellFormed;
+    function toUSVString(val) {
+      if (hasToWellFormed) {
+        return `${val}`.toWellFormed();
+      } else if (nodeUtil.toUSVString) {
+        return nodeUtil.toUSVString(val);
       }
-      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
-      flow(stream);
+      return `${val}`;
     }
-    function maybeReadMore(stream, state) {
-      if (!state.readingMore && state.constructed) {
-        state.readingMore = true;
-        process2.nextTick(maybeReadMore_, stream, state);
-      }
+    function parseRangeHeader(range) {
+      if (range == null || range === "") return { start: 0, end: null, size: null };
+      const m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null;
+      return m ? {
+        start: parseInt(m[1]),
+        end: m[2] ? parseInt(m[2]) : null,
+        size: m[3] ? parseInt(m[3]) : null
+      } : null;
     }
-    function maybeReadMore_(stream, state) {
-      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
-        const len = state.length;
-        debug4("maybeReadMore read 0");
-        stream.read(0);
-        if (len === state.length)
-          break;
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
+    module2.exports = {
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isReadableAborted,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
+      isStream,
+      isIterable,
+      isAsyncIterable,
+      isDestroyed,
+      headerNameToString,
+      parseRawHeaders,
+      parseHeaders,
+      parseKeepAliveTimeout,
+      destroy,
+      bodyLength,
+      deepClone,
+      ReadableStreamFrom,
+      isBuffer,
+      validateHandler,
+      getSocketInfo,
+      isFormDataLike,
+      buildURL,
+      throwIfAborted,
+      addAbortListener,
+      parseRangeHeader,
+      nodeMajor,
+      nodeMinor,
+      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+    };
+  }
+});
+
+// node_modules/undici/lib/timers.js
+var require_timers3 = __commonJS({
+  "node_modules/undici/lib/timers.js"(exports2, module2) {
+    "use strict";
+    var fastNow = Date.now();
+    var fastNowTimeout;
+    var fastTimers = [];
+    function onTimeout() {
+      fastNow = Date.now();
+      let len = fastTimers.length;
+      let idx = 0;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer.state === 0) {
+          timer.state = fastNow + timer.delay;
+        } else if (timer.state > 0 && fastNow >= timer.state) {
+          timer.state = -1;
+          timer.callback(timer.opaque);
+        }
+        if (timer.state === -1) {
+          timer.state = -2;
+          if (idx !== len - 1) {
+            fastTimers[idx] = fastTimers.pop();
+          } else {
+            fastTimers.pop();
+          }
+          len -= 1;
+        } else {
+          idx += 1;
+        }
+      }
+      if (fastTimers.length > 0) {
+        refreshTimeout();
       }
-      state.readingMore = false;
     }
-    Readable.prototype._read = function(n) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
-    };
-    Readable.prototype.pipe = function(dest, pipeOpts) {
-      const src = this;
-      const state = this._readableState;
-      if (state.pipes.length === 1) {
-        if (!state.multiAwaitDrain) {
-          state.multiAwaitDrain = true;
-          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
+    function refreshTimeout() {
+      if (fastNowTimeout && fastNowTimeout.refresh) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTimeout, 1e3);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
         }
       }
-      state.pipes.push(dest);
-      debug4("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
-      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
-      const endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) process2.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug4("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
+    }
+    var Timeout = class {
+      constructor(callback, delay, opaque) {
+        this.callback = callback;
+        this.delay = delay;
+        this.opaque = opaque;
+        this.state = -2;
+        this.refresh();
+      }
+      refresh() {
+        if (this.state === -2) {
+          fastTimers.push(this);
+          if (!fastNowTimeout || fastTimers.length === 1) {
+            refreshTimeout();
           }
         }
+        this.state = 0;
       }
-      function onend() {
-        debug4("onend");
-        dest.end();
+      clear() {
+        this.state = -1;
       }
-      let ondrain;
-      let cleanedUp = false;
-      function cleanup() {
-        debug4("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        if (ondrain) {
-          dest.removeListener("drain", ondrain);
+    };
+    module2.exports = {
+      setTimeout(callback, delay, opaque) {
+        return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);
+      },
+      clearTimeout(timeout) {
+        if (timeout instanceof Timeout) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
         }
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
       }
-      function pause() {
-        if (!cleanedUp) {
-          if (state.pipes.length === 1 && state.pipes[0] === dest) {
-            debug4("false write response, pause", 0);
-            state.awaitDrainWriters = dest;
-            state.multiAwaitDrain = false;
-          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
-            debug4("false write response, pause", state.awaitDrainWriters.size);
-            state.awaitDrainWriters.add(dest);
-          }
-          src.pause();
-        }
-        if (!ondrain) {
-          ondrain = pipeOnDrain(src, dest);
-          dest.on("drain", ondrain);
-        }
+    };
+  }
+});
+
+// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
+var require_sbmh = __commonJS({
+  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    function SBMH(needle) {
+      if (typeof needle === "string") {
+        needle = Buffer.from(needle);
       }
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug4("ondata");
-        const ret = dest.write(chunk);
-        debug4("dest.write", ret);
-        if (ret === false) {
-          pause();
-        }
+      if (!Buffer.isBuffer(needle)) {
+        throw new TypeError("The needle has to be a String or a Buffer.");
       }
-      function onerror(er) {
-        debug4("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (dest.listenerCount("error") === 0) {
-          const s = dest._writableState || dest._readableState;
-          if (s && !s.errorEmitted) {
-            errorOrDestroy(dest, er);
-          } else {
-            dest.emit("error", er);
-          }
-        }
+      const needleLength = needle.length;
+      if (needleLength === 0) {
+        throw new Error("The needle cannot be an empty String/Buffer.");
       }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
+      if (needleLength > 256) {
+        throw new Error("The needle cannot have a length bigger than 256.");
       }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug4("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
+      this.maxMatches = Infinity;
+      this.matches = 0;
+      this._occ = new Array(256).fill(needleLength);
+      this._lookbehind_size = 0;
+      this._needle = needle;
+      this._bufpos = 0;
+      this._lookbehind = Buffer.alloc(needleLength);
+      for (var i = 0; i < needleLength - 1; ++i) {
+        this._occ[needle[i]] = needleLength - 1 - i;
       }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug4("unpipe");
-        src.unpipe(dest);
+    }
+    inherits(SBMH, EventEmitter);
+    SBMH.prototype.reset = function() {
+      this._lookbehind_size = 0;
+      this.matches = 0;
+      this._bufpos = 0;
+    };
+    SBMH.prototype.push = function(chunk, pos) {
+      if (!Buffer.isBuffer(chunk)) {
+        chunk = Buffer.from(chunk, "binary");
       }
-      dest.emit("pipe", src);
-      if (dest.writableNeedDrain === true) {
-        pause();
-      } else if (!state.flowing) {
-        debug4("pipe resume");
-        src.resume();
+      const chlen = chunk.length;
+      this._bufpos = pos || 0;
+      let r;
+      while (r !== chlen && this.matches < this.maxMatches) {
+        r = this._sbmh_feed(chunk);
       }
-      return dest;
+      return r;
     };
-    function pipeOnDrain(src, dest) {
-      return function pipeOnDrainFunctionResult() {
-        const state = src._readableState;
-        if (state.awaitDrainWriters === dest) {
-          debug4("pipeOnDrain", 1);
-          state.awaitDrainWriters = null;
-        } else if (state.multiAwaitDrain) {
-          debug4("pipeOnDrain", state.awaitDrainWriters.size);
-          state.awaitDrainWriters.delete(dest);
+    SBMH.prototype._sbmh_feed = function(data) {
+      const len = data.length;
+      const needle = this._needle;
+      const needleLength = needle.length;
+      const lastNeedleChar = needle[needleLength - 1];
+      let pos = -this._lookbehind_size;
+      let ch;
+      if (pos < 0) {
+        while (pos < 0 && pos <= len - needleLength) {
+          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
+          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
+            this._lookbehind_size = 0;
+            ++this.matches;
+            this.emit("info", true);
+            return this._bufpos = pos + needleLength;
+          }
+          pos += this._occ[ch];
         }
-        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
-          src.resume();
+        if (pos < 0) {
+          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
+            ++pos;
+          }
         }
-      };
-    }
-    Readable.prototype.unpipe = function(dest) {
-      const state = this._readableState;
-      const unpipeInfo = {
-        hasUnpiped: false
-      };
-      if (state.pipes.length === 0) return this;
-      if (!dest) {
-        const dests = state.pipes;
-        state.pipes = [];
-        this.pause();
-        for (let i = 0; i < dests.length; i++)
-          dests[i].emit("unpipe", this, {
-            hasUnpiped: false
-          });
-        return this;
-      }
-      const index = ArrayPrototypeIndexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      if (state.pipes.length === 0) this.pause();
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
-    };
-    Readable.prototype.on = function(ev, fn) {
-      const res = Stream.prototype.on.call(this, ev, fn);
-      const state = this._readableState;
-      if (ev === "data") {
-        state.readableListening = this.listenerCount("readable") > 0;
-        if (state.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.flowing = false;
-          state.emittedReadable = false;
-          debug4("on readable", state.length, state.reading);
-          if (state.length) {
-            emitReadable(this);
-          } else if (!state.reading) {
-            process2.nextTick(nReadingNextTick, this);
+        if (pos >= 0) {
+          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
+          this._lookbehind_size = 0;
+        } else {
+          const bytesToCutOff = this._lookbehind_size + pos;
+          if (bytesToCutOff > 0) {
+            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
           }
+          this._lookbehind.copy(
+            this._lookbehind,
+            0,
+            bytesToCutOff,
+            this._lookbehind_size - bytesToCutOff
+          );
+          this._lookbehind_size -= bytesToCutOff;
+          data.copy(this._lookbehind, this._lookbehind_size);
+          this._lookbehind_size += len;
+          this._bufpos = len;
+          return len;
         }
       }
-      return res;
-    };
-    Readable.prototype.addListener = Readable.prototype.on;
-    Readable.prototype.removeListener = function(ev, fn) {
-      const res = Stream.prototype.removeListener.call(this, ev, fn);
-      if (ev === "readable") {
-        process2.nextTick(updateReadableListening, this);
+      pos += (pos >= 0) * this._bufpos;
+      if (data.indexOf(needle, pos) !== -1) {
+        pos = data.indexOf(needle, pos);
+        ++this.matches;
+        if (pos > 0) {
+          this.emit("info", true, data, this._bufpos, pos);
+        } else {
+          this.emit("info", true);
+        }
+        return this._bufpos = pos + needleLength;
+      } else {
+        pos = len - needleLength;
       }
-      return res;
-    };
-    Readable.prototype.off = Readable.prototype.removeListener;
-    Readable.prototype.removeAllListeners = function(ev) {
-      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
-      if (ev === "readable" || ev === void 0) {
-        process2.nextTick(updateReadableListening, this);
+      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
+        data.subarray(pos, pos + len - pos),
+        needle.subarray(0, len - pos)
+      ) !== 0)) {
+        ++pos;
       }
-      return res;
-    };
-    function updateReadableListening(self2) {
-      const state = self2._readableState;
-      state.readableListening = self2.listenerCount("readable") > 0;
-      if (state.resumeScheduled && state[kPaused] === false) {
-        state.flowing = true;
-      } else if (self2.listenerCount("data") > 0) {
-        self2.resume();
-      } else if (!state.readableListening) {
-        state.flowing = null;
+      if (pos < len) {
+        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
+        this._lookbehind_size = len - pos;
       }
-    }
-    function nReadingNextTick(self2) {
-      debug4("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable.prototype.resume = function() {
-      const state = this._readableState;
-      if (!state.flowing) {
-        debug4("resume");
-        state.flowing = !state.readableListening;
-        resume(this, state);
+      if (pos > 0) {
+        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
       }
-      state[kPaused] = false;
-      return this;
+      this._bufpos = len;
+      return len;
     };
-    function resume(stream, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        process2.nextTick(resume_, stream, state);
+    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
+      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
+    };
+    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
+      for (var i = 0; i < len; ++i) {
+        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+          return false;
+        }
       }
+      return true;
+    };
+    module2.exports = SBMH;
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
+var require_PartStream = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
+    "use strict";
+    var inherits = require("node:util").inherits;
+    var ReadableStream2 = require("node:stream").Readable;
+    function PartStream(opts) {
+      ReadableStream2.call(this, opts);
     }
-    function resume_(stream, state) {
-      debug4("resume", state.reading);
-      if (!state.reading) {
-        stream.read(0);
+    inherits(PartStream, ReadableStream2);
+    PartStream.prototype._read = function(n) {
+    };
+    module2.exports = PartStream;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/getLimit.js
+var require_getLimit = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function getLimit(limits, name, defaultLimit) {
+      if (!limits || limits[name] === void 0 || limits[name] === null) {
+        return defaultLimit;
       }
-      state.resumeScheduled = false;
-      stream.emit("resume");
-      flow(stream);
-      if (state.flowing && !state.reading) stream.read(0);
-    }
-    Readable.prototype.pause = function() {
-      debug4("call pause flowing=%j", this._readableState.flowing);
-      if (this._readableState.flowing !== false) {
-        debug4("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
+        throw new TypeError("Limit " + name + " is not a valid number");
       }
-      this._readableState[kPaused] = true;
-      return this;
+      return limits[name];
     };
-    function flow(stream) {
-      const state = stream._readableState;
-      debug4("flow", state.flowing);
-      while (state.flowing && stream.read() !== null) ;
-    }
-    Readable.prototype.wrap = function(stream) {
-      let paused = false;
-      stream.on("data", (chunk) => {
-        if (!this.push(chunk) && stream.pause) {
-          paused = true;
-          stream.pause();
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
+var require_HeaderParser = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    var getLimit = require_getLimit();
+    var StreamSearch = require_sbmh();
+    var B_DCRLF = Buffer.from("\r\n\r\n");
+    var RE_CRLF = /\r\n/g;
+    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
+    function HeaderParser(cfg) {
+      EventEmitter.call(this);
+      cfg = cfg || {};
+      const self2 = this;
+      this.nread = 0;
+      this.maxed = false;
+      this.npairs = 0;
+      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
+      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
+      this.buffer = "";
+      this.header = {};
+      this.finished = false;
+      this.ss = new StreamSearch(B_DCRLF);
+      this.ss.on("info", function(isMatch, data, start, end) {
+        if (data && !self2.maxed) {
+          if (self2.nread + end - start >= self2.maxHeaderSize) {
+            end = self2.maxHeaderSize - self2.nread + start;
+            self2.nread = self2.maxHeaderSize;
+            self2.maxed = true;
+          } else {
+            self2.nread += end - start;
+          }
+          self2.buffer += data.toString("binary", start, end);
+        }
+        if (isMatch) {
+          self2._finish();
         }
       });
-      stream.on("end", () => {
-        this.push(null);
-      });
-      stream.on("error", (err) => {
-        errorOrDestroy(this, err);
-      });
-      stream.on("close", () => {
-        this.destroy();
-      });
-      stream.on("destroy", () => {
-        this.destroy();
-      });
-      this._read = () => {
-        if (paused && stream.resume) {
-          paused = false;
-          stream.resume();
+    }
+    inherits(HeaderParser, EventEmitter);
+    HeaderParser.prototype.push = function(data) {
+      const r = this.ss.push(data);
+      if (this.finished) {
+        return r;
+      }
+    };
+    HeaderParser.prototype.reset = function() {
+      this.finished = false;
+      this.buffer = "";
+      this.header = {};
+      this.ss.reset();
+    };
+    HeaderParser.prototype._finish = function() {
+      if (this.buffer) {
+        this._parseHeader();
+      }
+      this.ss.matches = this.ss.maxMatches;
+      const header = this.header;
+      this.header = {};
+      this.buffer = "";
+      this.finished = true;
+      this.nread = this.npairs = 0;
+      this.maxed = false;
+      this.emit("header", header);
+    };
+    HeaderParser.prototype._parseHeader = function() {
+      if (this.npairs === this.maxHeaderPairs) {
+        return;
+      }
+      const lines = this.buffer.split(RE_CRLF);
+      const len = lines.length;
+      let m, h;
+      for (var i = 0; i < len; ++i) {
+        if (lines[i].length === 0) {
+          continue;
         }
-      };
-      const streamKeys = ObjectKeys(stream);
-      for (let j = 1; j < streamKeys.length; j++) {
-        const i = streamKeys[j];
-        if (this[i] === void 0 && typeof stream[i] === "function") {
-          this[i] = stream[i].bind(stream);
+        if (lines[i][0] === "	" || lines[i][0] === " ") {
+          if (h) {
+            this.header[h][this.header[h].length - 1] += lines[i];
+            continue;
+          }
+        }
+        const posColon = lines[i].indexOf(":");
+        if (posColon === -1 || posColon === 0) {
+          return;
+        }
+        m = RE_HDR.exec(lines[i]);
+        h = m[1].toLowerCase();
+        this.header[h] = this.header[h] || [];
+        this.header[h].push(m[2] || "");
+        if (++this.npairs === this.maxHeaderPairs) {
+          break;
         }
       }
-      return this;
     };
-    Readable.prototype[SymbolAsyncIterator] = function() {
-      return streamToAsyncIterator(this);
+    module2.exports = HeaderParser;
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
+var require_Dicer = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+    "use strict";
+    var WritableStream = require("node:stream").Writable;
+    var inherits = require("node:util").inherits;
+    var StreamSearch = require_sbmh();
+    var PartStream = require_PartStream();
+    var HeaderParser = require_HeaderParser();
+    var DASH = 45;
+    var B_ONEDASH = Buffer.from("-");
+    var B_CRLF = Buffer.from("\r\n");
+    var EMPTY_FN = function() {
     };
-    Readable.prototype.iterator = function(options) {
-      if (options !== void 0) {
-        validateObject(options, "options");
+    function Dicer(cfg) {
+      if (!(this instanceof Dicer)) {
+        return new Dicer(cfg);
       }
-      return streamToAsyncIterator(this, options);
-    };
-    function streamToAsyncIterator(stream, options) {
-      if (typeof stream.read !== "function") {
-        stream = Readable.wrap(stream, {
-          objectMode: true
-        });
+      WritableStream.call(this, cfg);
+      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
+        throw new TypeError("Boundary required");
       }
-      const iter = createAsyncIterator(stream, options);
-      iter.stream = stream;
-      return iter;
+      if (typeof cfg.boundary === "string") {
+        this.setBoundary(cfg.boundary);
+      } else {
+        this._bparser = void 0;
+      }
+      this._headerFirst = cfg.headerFirst;
+      this._dashes = 0;
+      this._parts = 0;
+      this._finished = false;
+      this._realFinish = false;
+      this._isPreamble = true;
+      this._justMatched = false;
+      this._firstWrite = true;
+      this._inHeader = true;
+      this._part = void 0;
+      this._cb = void 0;
+      this._ignoreData = false;
+      this._partOpts = { highWaterMark: cfg.partHwm };
+      this._pause = false;
+      const self2 = this;
+      this._hparser = new HeaderParser(cfg);
+      this._hparser.on("header", function(header) {
+        self2._inHeader = false;
+        self2._part.emit("header", header);
+      });
     }
-    async function* createAsyncIterator(stream, options) {
-      let callback = nop;
-      function next(resolve3) {
-        if (this === stream) {
-          callback();
-          callback = nop;
-        } else {
-          callback = resolve3;
+    inherits(Dicer, WritableStream);
+    Dicer.prototype.emit = function(ev) {
+      if (ev === "finish" && !this._realFinish) {
+        if (!this._finished) {
+          const self2 = this;
+          process.nextTick(function() {
+            self2.emit("error", new Error("Unexpected end of multipart data"));
+            if (self2._part && !self2._ignoreData) {
+              const type2 = self2._isPreamble ? "Preamble" : "Part";
+              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
+              self2._part.push(null);
+              process.nextTick(function() {
+                self2._realFinish = true;
+                self2.emit("finish");
+                self2._realFinish = false;
+              });
+              return;
+            }
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
+          });
         }
+      } else {
+        WritableStream.prototype.emit.apply(this, arguments);
       }
-      stream.on("readable", next);
-      let error3;
-      const cleanup = eos(
-        stream,
-        {
-          writable: false
-        },
-        (err) => {
-          error3 = err ? aggregateTwoErrors(error3, err) : null;
-          callback();
-          callback = nop;
-        }
-      );
-      try {
-        while (true) {
-          const chunk = stream.destroyed ? null : stream.read();
-          if (chunk !== null) {
-            yield chunk;
-          } else if (error3) {
-            throw error3;
-          } else if (error3 === null) {
-            return;
+    };
+    Dicer.prototype._write = function(data, encoding, cb) {
+      if (!this._hparser && !this._bparser) {
+        return cb();
+      }
+      if (this._headerFirst && this._isPreamble) {
+        if (!this._part) {
+          this._part = new PartStream(this._partOpts);
+          if (this.listenerCount("preamble") !== 0) {
+            this.emit("preamble", this._part);
           } else {
-            await new Promise2(next);
+            this._ignore();
           }
         }
-      } catch (err) {
-        error3 = aggregateTwoErrors(error3, err);
-        throw error3;
-      } finally {
-        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream._readableState.autoDestroy)) {
-          destroyImpl.destroyer(stream, null);
+        const r = this._hparser.push(data);
+        if (!this._inHeader && r !== void 0 && r < data.length) {
+          data = data.slice(r);
         } else {
-          stream.off("readable", next);
-          cleanup();
+          return cb();
         }
       }
-    }
-    ObjectDefineProperties(Readable.prototype, {
-      readable: {
-        __proto__: null,
-        get() {
-          const r = this._readableState;
-          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
-        },
-        set(val) {
-          if (this._readableState) {
-            this._readableState.readable = !!val;
+      if (this._firstWrite) {
+        this._bparser.push(B_CRLF);
+        this._firstWrite = false;
+      }
+      this._bparser.push(data);
+      if (this._pause) {
+        this._cb = cb;
+      } else {
+        cb();
+      }
+    };
+    Dicer.prototype.reset = function() {
+      this._part = void 0;
+      this._bparser = void 0;
+      this._hparser = void 0;
+    };
+    Dicer.prototype.setBoundary = function(boundary) {
+      const self2 = this;
+      this._bparser = new StreamSearch("\r\n--" + boundary);
+      this._bparser.on("info", function(isMatch, data, start, end) {
+        self2._oninfo(isMatch, data, start, end);
+      });
+    };
+    Dicer.prototype._ignore = function() {
+      if (this._part && !this._ignoreData) {
+        this._ignoreData = true;
+        this._part.on("error", EMPTY_FN);
+        this._part.resume();
+      }
+    };
+    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
+      let buf;
+      const self2 = this;
+      let i = 0;
+      let r;
+      let shouldWriteMore = true;
+      if (!this._part && this._justMatched && data) {
+        while (this._dashes < 2 && start + i < end) {
+          if (data[start + i] === DASH) {
+            ++i;
+            ++this._dashes;
+          } else {
+            if (this._dashes) {
+              buf = B_ONEDASH;
+            }
+            this._dashes = 0;
+            break;
           }
         }
-      },
-      readableDidRead: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.dataEmitted;
+        if (this._dashes === 2) {
+          if (start + i < end && this.listenerCount("trailer") !== 0) {
+            this.emit("trailer", data.slice(start + i, end));
+          }
+          this.reset();
+          this._finished = true;
+          if (self2._parts === 0) {
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
+          }
         }
-      },
-      readableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
+        if (this._dashes) {
+          return;
         }
-      },
-      readableHighWaterMark: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.highWaterMark;
+      }
+      if (this._justMatched) {
+        this._justMatched = false;
+      }
+      if (!this._part) {
+        this._part = new PartStream(this._partOpts);
+        this._part._read = function(n) {
+          self2._unpause();
+        };
+        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
+          this.emit("preamble", this._part);
+        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
+          this.emit("part", this._part);
+        } else {
+          this._ignore();
         }
-      },
-      readableBuffer: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState && this._readableState.buffer;
+        if (!this._isPreamble) {
+          this._inHeader = true;
         }
-      },
-      readableFlowing: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.flowing;
-        },
-        set: function(state) {
-          if (this._readableState) {
-            this._readableState.flowing = state;
+      }
+      if (data && start < end && !this._ignoreData) {
+        if (this._isPreamble || !this._inHeader) {
+          if (buf) {
+            shouldWriteMore = this._part.push(buf);
+          }
+          shouldWriteMore = this._part.push(data.slice(start, end));
+          if (!shouldWriteMore) {
+            this._pause = true;
+          }
+        } else if (!this._isPreamble && this._inHeader) {
+          if (buf) {
+            this._hparser.push(buf);
+          }
+          r = this._hparser.push(data.slice(start, end));
+          if (!this._inHeader && r !== void 0 && r < end) {
+            this._oninfo(false, data, start + r, end);
           }
         }
-      },
-      readableLength: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState.length;
+      }
+      if (isMatch) {
+        this._hparser.reset();
+        if (this._isPreamble) {
+          this._isPreamble = false;
+        } else {
+          if (start !== end) {
+            ++this._parts;
+            this._part.on("end", function() {
+              if (--self2._parts === 0) {
+                if (self2._finished) {
+                  self2._realFinish = true;
+                  self2.emit("finish");
+                  self2._realFinish = false;
+                } else {
+                  self2._unpause();
+                }
+              }
+            });
+          }
         }
-      },
-      readableObjectMode: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.objectMode : false;
+        this._part.push(null);
+        this._part = void 0;
+        this._ignoreData = false;
+        this._justMatched = true;
+        this._dashes = 0;
+      }
+    };
+    Dicer.prototype._unpause = function() {
+      if (!this._pause) {
+        return;
+      }
+      this._pause = false;
+      if (this._cb) {
+        const cb = this._cb;
+        this._cb = void 0;
+        cb();
+      }
+    };
+    module2.exports = Dicer;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/decodeText.js
+var require_decodeText = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
+    "use strict";
+    var utf8Decoder = new TextDecoder("utf-8");
+    var textDecoders = /* @__PURE__ */ new Map([
+      ["utf-8", utf8Decoder],
+      ["utf8", utf8Decoder]
+    ]);
+    function getDecoder(charset) {
+      let lc;
+      while (true) {
+        switch (charset) {
+          case "utf-8":
+          case "utf8":
+            return decoders.utf8;
+          case "latin1":
+          case "ascii":
+          // TODO: Make these a separate, strict decoder?
+          case "us-ascii":
+          case "iso-8859-1":
+          case "iso8859-1":
+          case "iso88591":
+          case "iso_8859-1":
+          case "windows-1252":
+          case "iso_8859-1:1987":
+          case "cp1252":
+          case "x-cp1252":
+            return decoders.latin1;
+          case "utf16le":
+          case "utf-16le":
+          case "ucs2":
+          case "ucs-2":
+            return decoders.utf16le;
+          case "base64":
+            return decoders.base64;
+          default:
+            if (lc === void 0) {
+              lc = true;
+              charset = charset.toLowerCase();
+              continue;
+            }
+            return decoders.other.bind(charset);
         }
-      },
-      readableEncoding: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.encoding : null;
+      }
+    }
+    var decoders = {
+      utf8: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.errored : null;
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
+        return data.utf8Slice(0, data.length);
       },
-      closed: {
-        __proto__: null,
-        get() {
-          return this._readableState ? this._readableState.closed : false;
+      latin1: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          return data;
         }
+        return data.latin1Slice(0, data.length);
       },
-      destroyed: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.destroyed : false;
-        },
-        set(value) {
-          if (!this._readableState) {
-            return;
-          }
-          this._readableState.destroyed = value;
+      utf16le: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
+        return data.ucs2Slice(0, data.length);
       },
-      readableEnded: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.endEmitted : false;
+      base64: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      }
-    });
-    ObjectDefineProperties(ReadableState.prototype, {
-      // Legacy getter for `pipesCount`.
-      pipesCount: {
-        __proto__: null,
-        get() {
-          return this.pipes.length;
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
+        return data.base64Slice(0, data.length);
       },
-      // Legacy property for `paused`.
-      paused: {
-        __proto__: null,
-        get() {
-          return this[kPaused] !== false;
-        },
-        set(value) {
-          this[kPaused] = !!value;
+      other: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      }
-    });
-    Readable._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      let ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.first();
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
-      } else {
-        ret = state.buffer.consume(n, state.decoder);
-      }
-      return ret;
-    }
-    function endReadable(stream) {
-      const state = stream._readableState;
-      debug4("endReadable", state.endEmitted);
-      if (!state.endEmitted) {
-        state.ended = true;
-        process2.nextTick(endReadableNT, state, stream);
-      }
-    }
-    function endReadableNT(state, stream) {
-      debug4("endReadableNT", state.endEmitted, state.length);
-      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream.emit("end");
-        if (stream.writable && stream.allowHalfOpen === false) {
-          process2.nextTick(endWritableNT, stream);
-        } else if (state.autoDestroy) {
-          const wState = stream._writableState;
-          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
-          // if writable is explicitly set to false.
-          (wState.finished || wState.writable === false);
-          if (autoDestroy) {
-            stream.destroy();
-          }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
-      }
-    }
-    function endWritableNT(stream) {
-      const writable = stream.writable && !stream.writableEnded && !stream.destroyed;
-      if (writable) {
-        stream.end();
-      }
-    }
-    Readable.from = function(iterable, opts) {
-      return from(Readable, iterable, opts);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Readable.fromWeb = function(readableStream, options) {
-      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
-    };
-    Readable.toWeb = function(streamReadable, options) {
-      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
-    };
-    Readable.wrap = function(src, options) {
-      var _ref, _src$readableObjectMo;
-      return new Readable({
-        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
-        ...options,
-        destroy(err, callback) {
-          destroyImpl.destroyer(src, err);
-          callback(err);
+        if (textDecoders.has(exports2.toString())) {
+          try {
+            return textDecoders.get(exports2).decode(data);
+          } catch {
+          }
         }
-      }).wrap(src);
+        return typeof data === "string" ? data : data.toString();
+      }
     };
+    function decodeText(text, sourceEncoding, destEncoding) {
+      if (text) {
+        return getDecoder(destEncoding)(text, sourceEncoding);
+      }
+      return text;
+    }
+    module2.exports = decodeText;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/writable.js
-var require_writable = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeSlice,
-      Error: Error2,
-      FunctionPrototypeSymbolHasInstance,
-      ObjectDefineProperty,
-      ObjectDefineProperties,
-      ObjectSetPrototypeOf,
-      StringPrototypeToLowerCase,
-      Symbol: Symbol2,
-      SymbolHasInstance
-    } = require_primordials();
-    module2.exports = Writable;
-    Writable.WritableState = WritableState;
-    var { EventEmitter: EE } = require("events");
-    var Stream = require_legacy().Stream;
-    var { Buffer: Buffer2 } = require("buffer");
-    var destroyImpl = require_destroy2();
-    var { addAbortSignal } = require_add_abort_signal();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-      ERR_METHOD_NOT_IMPLEMENTED,
-      ERR_MULTIPLE_CALLBACK,
-      ERR_STREAM_CANNOT_PIPE,
-      ERR_STREAM_DESTROYED,
-      ERR_STREAM_ALREADY_FINISHED,
-      ERR_STREAM_NULL_VALUES,
-      ERR_STREAM_WRITE_AFTER_END,
-      ERR_UNKNOWN_ENCODING
-    } = require_errors5().codes;
-    var { errorOrDestroy } = destroyImpl;
-    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Writable, Stream);
-    function nop() {
-    }
-    var kOnFinished = Symbol2("kOnFinished");
-    function WritableState(options, stream, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
-      this.objectMode = !!(options && options.objectMode);
-      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
-      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      const noDecode = !!(options && options.decodeStrings === false);
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = onwrite.bind(void 0, stream);
-      this.writecb = null;
-      this.writelen = 0;
-      this.afterWriteTickInfo = null;
-      resetBuffer(this);
-      this.pendingcb = 0;
-      this.constructed = true;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.emitClose = !options || options.emitClose !== false;
-      this.autoDestroy = !options || options.autoDestroy !== false;
-      this.errored = null;
-      this.closed = false;
-      this.closeEmitted = false;
-      this[kOnFinished] = [];
-    }
-    function resetBuffer(state) {
-      state.buffered = [];
-      state.bufferedIndex = 0;
-      state.allBuffers = true;
-      state.allNoop = true;
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
+// node_modules/@fastify/busboy/lib/utils/parseParams.js
+var require_parseParams = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+    "use strict";
+    var decodeText = require_decodeText();
+    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
+    var EncodedLookup = {
+      "%00": "\0",
+      "%01": "",
+      "%02": "",
+      "%03": "",
+      "%04": "",
+      "%05": "",
+      "%06": "",
+      "%07": "\x07",
+      "%08": "\b",
+      "%09": "	",
+      "%0a": "\n",
+      "%0A": "\n",
+      "%0b": "\v",
+      "%0B": "\v",
+      "%0c": "\f",
+      "%0C": "\f",
+      "%0d": "\r",
+      "%0D": "\r",
+      "%0e": "",
+      "%0E": "",
+      "%0f": "",
+      "%0F": "",
+      "%10": "",
+      "%11": "",
+      "%12": "",
+      "%13": "",
+      "%14": "",
+      "%15": "",
+      "%16": "",
+      "%17": "",
+      "%18": "",
+      "%19": "",
+      "%1a": "",
+      "%1A": "",
+      "%1b": "\x1B",
+      "%1B": "\x1B",
+      "%1c": "",
+      "%1C": "",
+      "%1d": "",
+      "%1D": "",
+      "%1e": "",
+      "%1E": "",
+      "%1f": "",
+      "%1F": "",
+      "%20": " ",
+      "%21": "!",
+      "%22": '"',
+      "%23": "#",
+      "%24": "$",
+      "%25": "%",
+      "%26": "&",
+      "%27": "'",
+      "%28": "(",
+      "%29": ")",
+      "%2a": "*",
+      "%2A": "*",
+      "%2b": "+",
+      "%2B": "+",
+      "%2c": ",",
+      "%2C": ",",
+      "%2d": "-",
+      "%2D": "-",
+      "%2e": ".",
+      "%2E": ".",
+      "%2f": "/",
+      "%2F": "/",
+      "%30": "0",
+      "%31": "1",
+      "%32": "2",
+      "%33": "3",
+      "%34": "4",
+      "%35": "5",
+      "%36": "6",
+      "%37": "7",
+      "%38": "8",
+      "%39": "9",
+      "%3a": ":",
+      "%3A": ":",
+      "%3b": ";",
+      "%3B": ";",
+      "%3c": "<",
+      "%3C": "<",
+      "%3d": "=",
+      "%3D": "=",
+      "%3e": ">",
+      "%3E": ">",
+      "%3f": "?",
+      "%3F": "?",
+      "%40": "@",
+      "%41": "A",
+      "%42": "B",
+      "%43": "C",
+      "%44": "D",
+      "%45": "E",
+      "%46": "F",
+      "%47": "G",
+      "%48": "H",
+      "%49": "I",
+      "%4a": "J",
+      "%4A": "J",
+      "%4b": "K",
+      "%4B": "K",
+      "%4c": "L",
+      "%4C": "L",
+      "%4d": "M",
+      "%4D": "M",
+      "%4e": "N",
+      "%4E": "N",
+      "%4f": "O",
+      "%4F": "O",
+      "%50": "P",
+      "%51": "Q",
+      "%52": "R",
+      "%53": "S",
+      "%54": "T",
+      "%55": "U",
+      "%56": "V",
+      "%57": "W",
+      "%58": "X",
+      "%59": "Y",
+      "%5a": "Z",
+      "%5A": "Z",
+      "%5b": "[",
+      "%5B": "[",
+      "%5c": "\\",
+      "%5C": "\\",
+      "%5d": "]",
+      "%5D": "]",
+      "%5e": "^",
+      "%5E": "^",
+      "%5f": "_",
+      "%5F": "_",
+      "%60": "`",
+      "%61": "a",
+      "%62": "b",
+      "%63": "c",
+      "%64": "d",
+      "%65": "e",
+      "%66": "f",
+      "%67": "g",
+      "%68": "h",
+      "%69": "i",
+      "%6a": "j",
+      "%6A": "j",
+      "%6b": "k",
+      "%6B": "k",
+      "%6c": "l",
+      "%6C": "l",
+      "%6d": "m",
+      "%6D": "m",
+      "%6e": "n",
+      "%6E": "n",
+      "%6f": "o",
+      "%6F": "o",
+      "%70": "p",
+      "%71": "q",
+      "%72": "r",
+      "%73": "s",
+      "%74": "t",
+      "%75": "u",
+      "%76": "v",
+      "%77": "w",
+      "%78": "x",
+      "%79": "y",
+      "%7a": "z",
+      "%7A": "z",
+      "%7b": "{",
+      "%7B": "{",
+      "%7c": "|",
+      "%7C": "|",
+      "%7d": "}",
+      "%7D": "}",
+      "%7e": "~",
+      "%7E": "~",
+      "%7f": "\x7F",
+      "%7F": "\x7F",
+      "%80": "\x80",
+      "%81": "\x81",
+      "%82": "\x82",
+      "%83": "\x83",
+      "%84": "\x84",
+      "%85": "\x85",
+      "%86": "\x86",
+      "%87": "\x87",
+      "%88": "\x88",
+      "%89": "\x89",
+      "%8a": "\x8A",
+      "%8A": "\x8A",
+      "%8b": "\x8B",
+      "%8B": "\x8B",
+      "%8c": "\x8C",
+      "%8C": "\x8C",
+      "%8d": "\x8D",
+      "%8D": "\x8D",
+      "%8e": "\x8E",
+      "%8E": "\x8E",
+      "%8f": "\x8F",
+      "%8F": "\x8F",
+      "%90": "\x90",
+      "%91": "\x91",
+      "%92": "\x92",
+      "%93": "\x93",
+      "%94": "\x94",
+      "%95": "\x95",
+      "%96": "\x96",
+      "%97": "\x97",
+      "%98": "\x98",
+      "%99": "\x99",
+      "%9a": "\x9A",
+      "%9A": "\x9A",
+      "%9b": "\x9B",
+      "%9B": "\x9B",
+      "%9c": "\x9C",
+      "%9C": "\x9C",
+      "%9d": "\x9D",
+      "%9D": "\x9D",
+      "%9e": "\x9E",
+      "%9E": "\x9E",
+      "%9f": "\x9F",
+      "%9F": "\x9F",
+      "%a0": "\xA0",
+      "%A0": "\xA0",
+      "%a1": "\xA1",
+      "%A1": "\xA1",
+      "%a2": "\xA2",
+      "%A2": "\xA2",
+      "%a3": "\xA3",
+      "%A3": "\xA3",
+      "%a4": "\xA4",
+      "%A4": "\xA4",
+      "%a5": "\xA5",
+      "%A5": "\xA5",
+      "%a6": "\xA6",
+      "%A6": "\xA6",
+      "%a7": "\xA7",
+      "%A7": "\xA7",
+      "%a8": "\xA8",
+      "%A8": "\xA8",
+      "%a9": "\xA9",
+      "%A9": "\xA9",
+      "%aa": "\xAA",
+      "%Aa": "\xAA",
+      "%aA": "\xAA",
+      "%AA": "\xAA",
+      "%ab": "\xAB",
+      "%Ab": "\xAB",
+      "%aB": "\xAB",
+      "%AB": "\xAB",
+      "%ac": "\xAC",
+      "%Ac": "\xAC",
+      "%aC": "\xAC",
+      "%AC": "\xAC",
+      "%ad": "\xAD",
+      "%Ad": "\xAD",
+      "%aD": "\xAD",
+      "%AD": "\xAD",
+      "%ae": "\xAE",
+      "%Ae": "\xAE",
+      "%aE": "\xAE",
+      "%AE": "\xAE",
+      "%af": "\xAF",
+      "%Af": "\xAF",
+      "%aF": "\xAF",
+      "%AF": "\xAF",
+      "%b0": "\xB0",
+      "%B0": "\xB0",
+      "%b1": "\xB1",
+      "%B1": "\xB1",
+      "%b2": "\xB2",
+      "%B2": "\xB2",
+      "%b3": "\xB3",
+      "%B3": "\xB3",
+      "%b4": "\xB4",
+      "%B4": "\xB4",
+      "%b5": "\xB5",
+      "%B5": "\xB5",
+      "%b6": "\xB6",
+      "%B6": "\xB6",
+      "%b7": "\xB7",
+      "%B7": "\xB7",
+      "%b8": "\xB8",
+      "%B8": "\xB8",
+      "%b9": "\xB9",
+      "%B9": "\xB9",
+      "%ba": "\xBA",
+      "%Ba": "\xBA",
+      "%bA": "\xBA",
+      "%BA": "\xBA",
+      "%bb": "\xBB",
+      "%Bb": "\xBB",
+      "%bB": "\xBB",
+      "%BB": "\xBB",
+      "%bc": "\xBC",
+      "%Bc": "\xBC",
+      "%bC": "\xBC",
+      "%BC": "\xBC",
+      "%bd": "\xBD",
+      "%Bd": "\xBD",
+      "%bD": "\xBD",
+      "%BD": "\xBD",
+      "%be": "\xBE",
+      "%Be": "\xBE",
+      "%bE": "\xBE",
+      "%BE": "\xBE",
+      "%bf": "\xBF",
+      "%Bf": "\xBF",
+      "%bF": "\xBF",
+      "%BF": "\xBF",
+      "%c0": "\xC0",
+      "%C0": "\xC0",
+      "%c1": "\xC1",
+      "%C1": "\xC1",
+      "%c2": "\xC2",
+      "%C2": "\xC2",
+      "%c3": "\xC3",
+      "%C3": "\xC3",
+      "%c4": "\xC4",
+      "%C4": "\xC4",
+      "%c5": "\xC5",
+      "%C5": "\xC5",
+      "%c6": "\xC6",
+      "%C6": "\xC6",
+      "%c7": "\xC7",
+      "%C7": "\xC7",
+      "%c8": "\xC8",
+      "%C8": "\xC8",
+      "%c9": "\xC9",
+      "%C9": "\xC9",
+      "%ca": "\xCA",
+      "%Ca": "\xCA",
+      "%cA": "\xCA",
+      "%CA": "\xCA",
+      "%cb": "\xCB",
+      "%Cb": "\xCB",
+      "%cB": "\xCB",
+      "%CB": "\xCB",
+      "%cc": "\xCC",
+      "%Cc": "\xCC",
+      "%cC": "\xCC",
+      "%CC": "\xCC",
+      "%cd": "\xCD",
+      "%Cd": "\xCD",
+      "%cD": "\xCD",
+      "%CD": "\xCD",
+      "%ce": "\xCE",
+      "%Ce": "\xCE",
+      "%cE": "\xCE",
+      "%CE": "\xCE",
+      "%cf": "\xCF",
+      "%Cf": "\xCF",
+      "%cF": "\xCF",
+      "%CF": "\xCF",
+      "%d0": "\xD0",
+      "%D0": "\xD0",
+      "%d1": "\xD1",
+      "%D1": "\xD1",
+      "%d2": "\xD2",
+      "%D2": "\xD2",
+      "%d3": "\xD3",
+      "%D3": "\xD3",
+      "%d4": "\xD4",
+      "%D4": "\xD4",
+      "%d5": "\xD5",
+      "%D5": "\xD5",
+      "%d6": "\xD6",
+      "%D6": "\xD6",
+      "%d7": "\xD7",
+      "%D7": "\xD7",
+      "%d8": "\xD8",
+      "%D8": "\xD8",
+      "%d9": "\xD9",
+      "%D9": "\xD9",
+      "%da": "\xDA",
+      "%Da": "\xDA",
+      "%dA": "\xDA",
+      "%DA": "\xDA",
+      "%db": "\xDB",
+      "%Db": "\xDB",
+      "%dB": "\xDB",
+      "%DB": "\xDB",
+      "%dc": "\xDC",
+      "%Dc": "\xDC",
+      "%dC": "\xDC",
+      "%DC": "\xDC",
+      "%dd": "\xDD",
+      "%Dd": "\xDD",
+      "%dD": "\xDD",
+      "%DD": "\xDD",
+      "%de": "\xDE",
+      "%De": "\xDE",
+      "%dE": "\xDE",
+      "%DE": "\xDE",
+      "%df": "\xDF",
+      "%Df": "\xDF",
+      "%dF": "\xDF",
+      "%DF": "\xDF",
+      "%e0": "\xE0",
+      "%E0": "\xE0",
+      "%e1": "\xE1",
+      "%E1": "\xE1",
+      "%e2": "\xE2",
+      "%E2": "\xE2",
+      "%e3": "\xE3",
+      "%E3": "\xE3",
+      "%e4": "\xE4",
+      "%E4": "\xE4",
+      "%e5": "\xE5",
+      "%E5": "\xE5",
+      "%e6": "\xE6",
+      "%E6": "\xE6",
+      "%e7": "\xE7",
+      "%E7": "\xE7",
+      "%e8": "\xE8",
+      "%E8": "\xE8",
+      "%e9": "\xE9",
+      "%E9": "\xE9",
+      "%ea": "\xEA",
+      "%Ea": "\xEA",
+      "%eA": "\xEA",
+      "%EA": "\xEA",
+      "%eb": "\xEB",
+      "%Eb": "\xEB",
+      "%eB": "\xEB",
+      "%EB": "\xEB",
+      "%ec": "\xEC",
+      "%Ec": "\xEC",
+      "%eC": "\xEC",
+      "%EC": "\xEC",
+      "%ed": "\xED",
+      "%Ed": "\xED",
+      "%eD": "\xED",
+      "%ED": "\xED",
+      "%ee": "\xEE",
+      "%Ee": "\xEE",
+      "%eE": "\xEE",
+      "%EE": "\xEE",
+      "%ef": "\xEF",
+      "%Ef": "\xEF",
+      "%eF": "\xEF",
+      "%EF": "\xEF",
+      "%f0": "\xF0",
+      "%F0": "\xF0",
+      "%f1": "\xF1",
+      "%F1": "\xF1",
+      "%f2": "\xF2",
+      "%F2": "\xF2",
+      "%f3": "\xF3",
+      "%F3": "\xF3",
+      "%f4": "\xF4",
+      "%F4": "\xF4",
+      "%f5": "\xF5",
+      "%F5": "\xF5",
+      "%f6": "\xF6",
+      "%F6": "\xF6",
+      "%f7": "\xF7",
+      "%F7": "\xF7",
+      "%f8": "\xF8",
+      "%F8": "\xF8",
+      "%f9": "\xF9",
+      "%F9": "\xF9",
+      "%fa": "\xFA",
+      "%Fa": "\xFA",
+      "%fA": "\xFA",
+      "%FA": "\xFA",
+      "%fb": "\xFB",
+      "%Fb": "\xFB",
+      "%fB": "\xFB",
+      "%FB": "\xFB",
+      "%fc": "\xFC",
+      "%Fc": "\xFC",
+      "%fC": "\xFC",
+      "%FC": "\xFC",
+      "%fd": "\xFD",
+      "%Fd": "\xFD",
+      "%fD": "\xFD",
+      "%FD": "\xFD",
+      "%fe": "\xFE",
+      "%Fe": "\xFE",
+      "%fE": "\xFE",
+      "%FE": "\xFE",
+      "%ff": "\xFF",
+      "%Ff": "\xFF",
+      "%fF": "\xFF",
+      "%FF": "\xFF"
     };
-    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
-      __proto__: null,
-      get() {
-        return this.buffered.length - this.bufferedIndex;
-      }
-    });
-    function Writable(options) {
-      const isDuplex = this instanceof require_duplex();
-      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
-      this._writableState = new WritableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal) addAbortSignal(options.signal, this);
-      }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        const state = this._writableState;
-        if (!state.writing) {
-          clearBuffer(this, state);
-        }
-        finishMaybe(this, state);
-      });
+    function encodedReplacer(match) {
+      return EncodedLookup[match];
     }
-    ObjectDefineProperty(Writable, SymbolHasInstance, {
-      __proto__: null,
-      value: function(object) {
-        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
-        if (this !== Writable) return false;
-        return object && object._writableState instanceof WritableState;
-      }
-    });
-    Writable.prototype.pipe = function() {
-      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
-    };
-    function _write(stream, chunk, encoding, cb) {
-      const state = stream._writableState;
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = state.defaultEncoding;
-      } else {
-        if (!encoding) encoding = state.defaultEncoding;
-        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-        if (typeof cb !== "function") cb = nop;
-      }
-      if (chunk === null) {
-        throw new ERR_STREAM_NULL_VALUES();
-      } else if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          if (state.decodeStrings !== false) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "buffer";
+    var STATE_KEY = 0;
+    var STATE_VALUE = 1;
+    var STATE_CHARSET = 2;
+    var STATE_LANG = 3;
+    function parseParams(str2) {
+      const res = [];
+      let state = STATE_KEY;
+      let charset = "";
+      let inquote = false;
+      let escaping = false;
+      let p = 0;
+      let tmp = "";
+      const len = str2.length;
+      for (var i = 0; i < len; ++i) {
+        const char = str2[i];
+        if (char === "\\" && inquote) {
+          if (escaping) {
+            escaping = false;
+          } else {
+            escaping = true;
+            continue;
           }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "buffer";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "buffer";
-        } else {
-          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
-        }
-      }
-      let err;
-      if (state.ending) {
-        err = new ERR_STREAM_WRITE_AFTER_END();
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("write");
-      }
-      if (err) {
-        process2.nextTick(cb, err);
-        errorOrDestroy(stream, err, true);
-        return err;
-      }
-      state.pendingcb++;
-      return writeOrBuffer(stream, state, chunk, encoding, cb);
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      return _write(this, chunk, encoding, cb) === true;
-    };
-    Writable.prototype.cork = function() {
-      this._writableState.corked++;
-    };
-    Writable.prototype.uncork = function() {
-      const state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing) clearBuffer(this, state);
-      }
-    };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
-      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function writeOrBuffer(stream, state, chunk, encoding, callback) {
-      const len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      const ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked || state.errored || !state.constructed) {
-        state.buffered.push({
-          chunk,
-          encoding,
-          callback
-        });
-        if (state.allBuffers && encoding !== "buffer") {
-          state.allBuffers = false;
-        }
-        if (state.allNoop && callback !== nop) {
-          state.allNoop = false;
-        }
-      } else {
-        state.writelen = len;
-        state.writecb = callback;
-        state.writing = true;
-        state.sync = true;
-        stream._write(chunk, encoding, state.onwrite);
-        state.sync = false;
-      }
-      return ret && !state.errored && !state.destroyed;
-    }
-    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
-      else if (writev) stream._writev(chunk, state.onwrite);
-      else stream._write(chunk, encoding, state.onwrite);
-      state.sync = false;
-    }
-    function onwriteError(stream, state, er, cb) {
-      --state.pendingcb;
-      cb(er);
-      errorBuffer(state);
-      errorOrDestroy(stream, er);
-    }
-    function onwrite(stream, er) {
-      const state = stream._writableState;
-      const sync = state.sync;
-      const cb = state.writecb;
-      if (typeof cb !== "function") {
-        errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK());
-        return;
-      }
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
-      if (er) {
-        er.stack;
-        if (!state.errored) {
-          state.errored = er;
-        }
-        if (stream._readableState && !stream._readableState.errored) {
-          stream._readableState.errored = er;
-        }
-        if (sync) {
-          process2.nextTick(onwriteError, stream, state, er, cb);
-        } else {
-          onwriteError(stream, state, er, cb);
-        }
-      } else {
-        if (state.buffered.length > state.bufferedIndex) {
-          clearBuffer(stream, state);
-        }
-        if (sync) {
-          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
-            state.afterWriteTickInfo.count++;
+        } else if (char === '"') {
+          if (!escaping) {
+            if (inquote) {
+              inquote = false;
+              state = STATE_KEY;
+            } else {
+              inquote = true;
+            }
+            continue;
           } else {
-            state.afterWriteTickInfo = {
-              count: 1,
-              cb,
-              stream,
-              state
-            };
-            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
+            escaping = false;
           }
         } else {
-          afterWrite(stream, state, 1, cb);
-        }
-      }
-    }
-    function afterWriteTick({ stream, state, count, cb }) {
-      state.afterWriteTickInfo = null;
-      return afterWrite(stream, state, count, cb);
-    }
-    function afterWrite(stream, state, count, cb) {
-      const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain;
-      if (needDrain) {
-        state.needDrain = false;
-        stream.emit("drain");
-      }
-      while (count-- > 0) {
-        state.pendingcb--;
-        cb();
-      }
-      if (state.destroyed) {
-        errorBuffer(state);
-      }
-      finishMaybe(stream, state);
-    }
-    function errorBuffer(state) {
-      if (state.writing) {
-        return;
-      }
-      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
-        var _state$errored;
-        const { chunk, callback } = state.buffered[n];
-        const len = state.objectMode ? 1 : chunk.length;
-        state.length -= len;
-        callback(
-          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
-        );
-      }
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        var _state$errored2;
-        onfinishCallbacks[i](
-          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
-        );
-      }
-      resetBuffer(state);
-    }
-    function clearBuffer(stream, state) {
-      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
-        return;
-      }
-      const { buffered, bufferedIndex, objectMode } = state;
-      const bufferedLength = buffered.length - bufferedIndex;
-      if (!bufferedLength) {
-        return;
-      }
-      let i = bufferedIndex;
-      state.bufferProcessing = true;
-      if (bufferedLength > 1 && stream._writev) {
-        state.pendingcb -= bufferedLength - 1;
-        const callback = state.allNoop ? nop : (err) => {
-          for (let n = i; n < buffered.length; ++n) {
-            buffered[n].callback(err);
+          if (escaping && inquote) {
+            tmp += "\\";
           }
-        };
-        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
-        chunks.allBuffers = state.allBuffers;
-        doWrite(stream, state, true, state.length, chunks, "", callback);
-        resetBuffer(state);
-      } else {
-        do {
-          const { chunk, encoding, callback } = buffered[i];
-          buffered[i++] = null;
-          const len = objectMode ? 1 : chunk.length;
-          doWrite(stream, state, false, len, chunk, encoding, callback);
-        } while (i < buffered.length && !state.writing);
-        if (i === buffered.length) {
-          resetBuffer(state);
-        } else if (i > 256) {
-          buffered.splice(0, i);
-          state.bufferedIndex = 0;
-        } else {
-          state.bufferedIndex = i;
-        }
-      }
-      state.bufferProcessing = false;
-    }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      if (this._writev) {
-        this._writev(
-          [
-            {
-              chunk,
-              encoding
+          escaping = false;
+          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
+            if (state === STATE_CHARSET) {
+              state = STATE_LANG;
+              charset = tmp.substring(1);
+            } else {
+              state = STATE_VALUE;
             }
-          ],
-          cb
-        );
-      } else {
-        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
-      }
-    };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      const state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      let err;
-      if (chunk !== null && chunk !== void 0) {
-        const ret = _write(this, chunk, encoding);
-        if (ret instanceof Error2) {
-          err = ret;
-        }
-      }
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
-      }
-      if (err) {
-      } else if (!state.errored && !state.ending) {
-        state.ending = true;
-        finishMaybe(this, state, true);
-        state.ended = true;
-      } else if (state.finished) {
-        err = new ERR_STREAM_ALREADY_FINISHED("end");
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("end");
-      }
-      if (typeof cb === "function") {
-        if (err || state.finished) {
-          process2.nextTick(cb, err);
-        } else {
-          state[kOnFinished].push(cb);
-        }
-      }
-      return this;
-    };
-    function needFinish(state) {
-      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
-    }
-    function callFinal(stream, state) {
-      let called = false;
-      function onFinish(err) {
-        if (called) {
-          errorOrDestroy(stream, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
-          return;
-        }
-        called = true;
-        state.pendingcb--;
-        if (err) {
-          const onfinishCallbacks = state[kOnFinished].splice(0);
-          for (let i = 0; i < onfinishCallbacks.length; i++) {
-            onfinishCallbacks[i](err);
-          }
-          errorOrDestroy(stream, err, state.sync);
-        } else if (needFinish(state)) {
-          state.prefinished = true;
-          stream.emit("prefinish");
-          state.pendingcb++;
-          process2.nextTick(finish, stream, state);
-        }
-      }
-      state.sync = true;
-      state.pendingcb++;
-      try {
-        stream._final(onFinish);
-      } catch (err) {
-        onFinish(err);
-      }
-      state.sync = false;
-    }
-    function prefinish(stream, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream._final === "function" && !state.destroyed) {
-          state.finalCalled = true;
-          callFinal(stream, state);
-        } else {
-          state.prefinished = true;
-          stream.emit("prefinish");
-        }
-      }
-    }
-    function finishMaybe(stream, state, sync) {
-      if (needFinish(state)) {
-        prefinish(stream, state);
-        if (state.pendingcb === 0) {
-          if (sync) {
-            state.pendingcb++;
-            process2.nextTick(
-              (stream2, state2) => {
-                if (needFinish(state2)) {
-                  finish(stream2, state2);
-                } else {
-                  state2.pendingcb--;
-                }
-              },
-              stream,
-              state
-            );
-          } else if (needFinish(state)) {
-            state.pendingcb++;
-            finish(stream, state);
+            tmp = "";
+            continue;
+          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
+            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
+            res[p] = [tmp, void 0];
+            tmp = "";
+            continue;
+          } else if (!inquote && char === ";") {
+            state = STATE_KEY;
+            if (charset) {
+              if (tmp.length) {
+                tmp = decodeText(
+                  tmp.replace(RE_ENCODED, encodedReplacer),
+                  "binary",
+                  charset
+                );
+              }
+              charset = "";
+            } else if (tmp.length) {
+              tmp = decodeText(tmp, "binary", "utf8");
+            }
+            if (res[p] === void 0) {
+              res[p] = tmp;
+            } else {
+              res[p][1] = tmp;
+            }
+            tmp = "";
+            ++p;
+            continue;
+          } else if (!inquote && (char === " " || char === "	")) {
+            continue;
           }
         }
+        tmp += char;
       }
-    }
-    function finish(stream, state) {
-      state.pendingcb--;
-      state.finished = true;
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        onfinishCallbacks[i]();
+      if (charset && tmp.length) {
+        tmp = decodeText(
+          tmp.replace(RE_ENCODED, encodedReplacer),
+          "binary",
+          charset
+        );
+      } else if (tmp) {
+        tmp = decodeText(tmp, "binary", "utf8");
       }
-      stream.emit("finish");
-      if (state.autoDestroy) {
-        const rState = stream._readableState;
-        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
-        // if readable is explicitly set to false.
-        (rState.endEmitted || rState.readable === false);
-        if (autoDestroy) {
-          stream.destroy();
+      if (res[p] === void 0) {
+        if (tmp) {
+          res[p] = tmp;
         }
+      } else {
+        res[p][1] = tmp;
       }
+      return res;
     }
-    ObjectDefineProperties(Writable.prototype, {
-      closed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.closed : false;
-        }
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.destroyed : false;
-        },
-        set(value) {
-          if (this._writableState) {
-            this._writableState.destroyed = value;
-          }
-        }
-      },
-      writable: {
-        __proto__: null,
-        get() {
-          const w = this._writableState;
-          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
-        },
-        set(val) {
-          if (this._writableState) {
-            this._writableState.writable = !!val;
-          }
-        }
-      },
-      writableFinished: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.finished : false;
-        }
-      },
-      writableObjectMode: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.objectMode : false;
-        }
-      },
-      writableBuffer: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.getBuffer();
-        }
-      },
-      writableEnded: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.ending : false;
-        }
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        get() {
-          const wState = this._writableState;
-          if (!wState) return false;
-          return !wState.destroyed && !wState.ending && wState.needDrain;
-        }
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.highWaterMark;
-        }
-      },
-      writableCorked: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.corked : 0;
-        }
-      },
-      writableLength: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.length;
-        }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._writableState ? this._writableState.errored : null;
-        }
-      },
-      writableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
-        }
+    module2.exports = parseParams;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/basename.js
+var require_basename = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function basename2(path4) {
+      if (typeof path4 !== "string") {
+        return "";
       }
-    });
-    var destroy = destroyImpl.destroy;
-    Writable.prototype.destroy = function(err, cb) {
-      const state = this._writableState;
-      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
-        process2.nextTick(errorBuffer, state);
+      for (var i = path4.length - 1; i >= 0; --i) {
+        switch (path4.charCodeAt(i)) {
+          case 47:
+          // '/'
+          case 92:
+            path4 = path4.slice(i + 1);
+            return path4 === ".." || path4 === "." ? "" : path4;
+        }
       }
-      destroy.call(this, err, cb);
-      return this;
-    };
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Writable.fromWeb = function(writableStream, options) {
-      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
-    };
-    Writable.toWeb = function(streamWritable) {
-      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
+      return path4 === ".." || path4 === "." ? "" : path4;
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/duplexify.js
-var require_duplexify = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
-    var process2 = require_process();
-    var bufferModule = require("buffer");
-    var {
-      isReadable,
-      isWritable,
-      isIterable,
-      isNodeStream,
-      isReadableNodeStream,
-      isWritableNodeStream,
-      isDuplexNodeStream,
-      isReadableStream,
-      isWritableStream
-    } = require_utils8();
-    var eos = require_end_of_stream();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
-    } = require_errors5();
-    var { destroyer } = require_destroy2();
-    var Duplex = require_duplex();
-    var Readable = require_readable4();
-    var Writable = require_writable();
-    var { createDeferredPromise } = require_util20();
-    var from = require_from();
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
-    };
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var { FunctionPrototypeCall } = require_primordials();
-    var Duplexify = class extends Duplex {
-      constructor(options) {
-        super(options);
-        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
-        }
-        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
+// node_modules/@fastify/busboy/lib/types/multipart.js
+var require_multipart2 = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+    "use strict";
+    var { Readable } = require("node:stream");
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var parseParams = require_parseParams();
+    var decodeText = require_decodeText();
+    var basename2 = require_basename();
+    var getLimit = require_getLimit();
+    var RE_BOUNDARY = /^boundary$/i;
+    var RE_FIELD = /^form-data$/i;
+    var RE_CHARSET = /^charset$/i;
+    var RE_FILENAME = /^filename$/i;
+    var RE_NAME = /^name$/i;
+    Multipart.detect = /^multipart\/form-data/i;
+    function Multipart(boy, cfg) {
+      let i;
+      let len;
+      const self2 = this;
+      let boundary;
+      const limits = cfg.limits;
+      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
+      const parsedConType = cfg.parsedConType || [];
+      const defCharset = cfg.defCharset || "utf8";
+      const preservePath = cfg.preservePath;
+      const fileOpts = { highWaterMark: cfg.fileHwm };
+      for (i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
+          boundary = parsedConType[i][1];
+          break;
         }
       }
-    };
-    module2.exports = function duplexify(body, name) {
-      if (isDuplexNodeStream(body)) {
-        return body;
-      }
-      if (isReadableNodeStream(body)) {
-        return _duplexify({
-          readable: body
-        });
-      }
-      if (isWritableNodeStream(body)) {
-        return _duplexify({
-          writable: body
-        });
-      }
-      if (isNodeStream(body)) {
-        return _duplexify({
-          writable: false,
-          readable: false
-        });
-      }
-      if (isReadableStream(body)) {
-        return _duplexify({
-          readable: Readable.fromWeb(body)
-        });
-      }
-      if (isWritableStream(body)) {
-        return _duplexify({
-          writable: Writable.fromWeb(body)
-        });
-      }
-      if (typeof body === "function") {
-        const { value, write, final, destroy } = fromAsyncGen(body);
-        if (isIterable(value)) {
-          return from(Duplexify, value, {
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            write,
-            final,
-            destroy
-          });
-        }
-        const then2 = value === null || value === void 0 ? void 0 : value.then;
-        if (typeof then2 === "function") {
-          let d;
-          const promise = FunctionPrototypeCall(
-            then2,
-            value,
-            (val) => {
-              if (val != null) {
-                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
-              }
-            },
-            (err) => {
-              destroyer(d, err);
-            }
-          );
-          return d = new Duplexify({
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            readable: false,
-            write,
-            final(cb) {
-              final(async () => {
-                try {
-                  await promise;
-                  process2.nextTick(cb, null);
-                } catch (err) {
-                  process2.nextTick(cb, err);
-                }
-              });
-            },
-            destroy
-          });
+      function checkFinished() {
+        if (nends === 0 && finished && !boy._done) {
+          finished = false;
+          self2.end();
         }
-        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
-      }
-      if (isBlob(body)) {
-        return duplexify(body.arrayBuffer());
-      }
-      if (isIterable(body)) {
-        return from(Duplexify, body, {
-          // TODO (ronag): highWaterMark?
-          objectMode: true,
-          writable: false
-        });
-      }
-      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
-        return Duplexify.fromWeb(body);
-      }
-      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
-        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
-        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
-        return _duplexify({
-          readable,
-          writable
-        });
       }
-      const then = body === null || body === void 0 ? void 0 : body.then;
-      if (typeof then === "function") {
-        let d;
-        FunctionPrototypeCall(
-          then,
-          body,
-          (val) => {
-            if (val != null) {
-              d.push(val);
-            }
-            d.push(null);
-          },
-          (err) => {
-            destroyer(d, err);
-          }
-        );
-        return d = new Duplexify({
-          objectMode: true,
-          writable: false,
-          read() {
-          }
-        });
+      if (typeof boundary !== "string") {
+        throw new Error("Multipart: Boundary not found");
       }
-      throw new ERR_INVALID_ARG_TYPE2(
-        name,
-        [
-          "Blob",
-          "ReadableStream",
-          "WritableStream",
-          "Stream",
-          "Iterable",
-          "AsyncIterable",
-          "Function",
-          "{ readable, writable } pair",
-          "Promise"
-        ],
-        body
-      );
-    };
-    function fromAsyncGen(fn) {
-      let { promise, resolve: resolve3 } = createDeferredPromise();
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const value = fn(
-        (async function* () {
-          while (true) {
-            const _promise = promise;
-            promise = null;
-            const { chunk, done, cb } = await _promise;
-            process2.nextTick(cb);
-            if (done) return;
-            if (signal.aborted)
-              throw new AbortError(void 0, {
-                cause: signal.reason
-              });
-            ({ promise, resolve: resolve3 } = createDeferredPromise());
-            yield chunk;
-          }
-        })(),
-        {
-          signal
+      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
+      const filesLimit = getLimit(limits, "files", Infinity);
+      const fieldsLimit = getLimit(limits, "fields", Infinity);
+      const partsLimit = getLimit(limits, "parts", Infinity);
+      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
+      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
+      let nfiles = 0;
+      let nfields = 0;
+      let nends = 0;
+      let curFile;
+      let curField;
+      let finished = false;
+      this._needDrain = false;
+      this._pause = false;
+      this._cb = void 0;
+      this._nparts = 0;
+      this._boy = boy;
+      const parserCfg = {
+        boundary,
+        maxHeaderPairs: headerPairsLimit,
+        maxHeaderSize: headerSizeLimit,
+        partHwm: fileOpts.highWaterMark,
+        highWaterMark: cfg.highWaterMark
+      };
+      this.parser = new Dicer(parserCfg);
+      this.parser.on("drain", function() {
+        self2._needDrain = false;
+        if (self2._cb && !self2._pause) {
+          const cb = self2._cb;
+          self2._cb = void 0;
+          cb();
         }
-      );
-      return {
-        value,
-        write(chunk, encoding, cb) {
-          const _resolve = resolve3;
-          resolve3 = null;
-          _resolve({
-            chunk,
-            done: false,
-            cb
-          });
-        },
-        final(cb) {
-          const _resolve = resolve3;
-          resolve3 = null;
-          _resolve({
-            done: true,
-            cb
-          });
-        },
-        destroy(err, cb) {
-          ac.abort();
-          cb(err);
+      }).on("part", function onPart(part) {
+        if (++self2._nparts > partsLimit) {
+          self2.parser.removeListener("part", onPart);
+          self2.parser.on("part", skipPart);
+          boy.hitPartsLimit = true;
+          boy.emit("partsLimit");
+          return skipPart(part);
         }
-      };
-    }
-    function _duplexify(pair) {
-      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable.wrap(pair.readable) : pair.readable;
-      const w = pair.writable;
-      let readable = !!isReadable(r);
-      let writable = !!isWritable(w);
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
+        if (curField) {
+          const field = curField;
+          field.emit("end");
+          field.removeAllListeners("end");
         }
-      }
-      d = new Duplexify({
-        // TODO (ronag): highWaterMark?
-        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
-        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
-        readable,
-        writable
-      });
-      if (writable) {
-        eos(w, (err) => {
-          writable = false;
-          if (err) {
-            destroyer(r, err);
-          }
-          onfinished(err);
-        });
-        d._write = function(chunk, encoding, callback) {
-          if (w.write(chunk, encoding)) {
-            callback();
-          } else {
-            ondrain = callback;
+        part.on("header", function(header) {
+          let contype;
+          let fieldname;
+          let parsed;
+          let charset;
+          let encoding;
+          let filename;
+          let nsize = 0;
+          if (header["content-type"]) {
+            parsed = parseParams(header["content-type"][0]);
+            if (parsed[0]) {
+              contype = parsed[0].toLowerCase();
+              for (i = 0, len = parsed.length; i < len; ++i) {
+                if (RE_CHARSET.test(parsed[i][0])) {
+                  charset = parsed[i][1].toLowerCase();
+                  break;
+                }
+              }
+            }
           }
-        };
-        d._final = function(callback) {
-          w.end();
-          onfinish = callback;
-        };
-        w.on("drain", function() {
-          if (ondrain) {
-            const cb = ondrain;
-            ondrain = null;
-            cb();
+          if (contype === void 0) {
+            contype = "text/plain";
           }
-        });
-        w.on("finish", function() {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
+          if (charset === void 0) {
+            charset = defCharset;
           }
-        });
-      }
-      if (readable) {
-        eos(r, (err) => {
-          readable = false;
-          if (err) {
-            destroyer(r, err);
+          if (header["content-disposition"]) {
+            parsed = parseParams(header["content-disposition"][0]);
+            if (!RE_FIELD.test(parsed[0])) {
+              return skipPart(part);
+            }
+            for (i = 0, len = parsed.length; i < len; ++i) {
+              if (RE_NAME.test(parsed[i][0])) {
+                fieldname = parsed[i][1];
+              } else if (RE_FILENAME.test(parsed[i][0])) {
+                filename = parsed[i][1];
+                if (!preservePath) {
+                  filename = basename2(filename);
+                }
+              }
+            }
+          } else {
+            return skipPart(part);
           }
-          onfinished(err);
-        });
-        r.on("readable", function() {
-          if (onreadable) {
-            const cb = onreadable;
-            onreadable = null;
-            cb();
+          if (header["content-transfer-encoding"]) {
+            encoding = header["content-transfer-encoding"][0].toLowerCase();
+          } else {
+            encoding = "7bit";
           }
-        });
-        r.on("end", function() {
-          d.push(null);
-        });
-        d._read = function() {
-          while (true) {
-            const buf = r.read();
-            if (buf === null) {
-              onreadable = d._read;
-              return;
+          let onData, onEnd;
+          if (isPartAFile(fieldname, contype, filename)) {
+            if (nfiles === filesLimit) {
+              if (!boy.hitFilesLimit) {
+                boy.hitFilesLimit = true;
+                boy.emit("filesLimit");
+              }
+              return skipPart(part);
             }
-            if (!d.push(buf)) {
+            ++nfiles;
+            if (boy.listenerCount("file") === 0) {
+              self2.parser._ignore();
               return;
             }
+            ++nends;
+            const file = new FileStream(fileOpts);
+            curFile = file;
+            file.on("end", function() {
+              --nends;
+              self2._pause = false;
+              checkFinished();
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            });
+            file._read = function(n) {
+              if (!self2._pause) {
+                return;
+              }
+              self2._pause = false;
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            };
+            boy.emit("file", fieldname, file, filename, encoding, contype);
+            onData = function(data) {
+              if ((nsize += data.length) > fileSizeLimit) {
+                const extralen = fileSizeLimit - nsize + data.length;
+                if (extralen > 0) {
+                  file.push(data.slice(0, extralen));
+                }
+                file.truncated = true;
+                file.bytesRead = fileSizeLimit;
+                part.removeAllListeners("data");
+                file.emit("limit");
+                return;
+              } else if (!file.push(data)) {
+                self2._pause = true;
+              }
+              file.bytesRead = nsize;
+            };
+            onEnd = function() {
+              curFile = void 0;
+              file.push(null);
+            };
+          } else {
+            if (nfields === fieldsLimit) {
+              if (!boy.hitFieldsLimit) {
+                boy.hitFieldsLimit = true;
+                boy.emit("fieldsLimit");
+              }
+              return skipPart(part);
+            }
+            ++nfields;
+            ++nends;
+            let buffer = "";
+            let truncated = false;
+            curField = part;
+            onData = function(data) {
+              if ((nsize += data.length) > fieldSizeLimit) {
+                const extralen = fieldSizeLimit - (nsize - data.length);
+                buffer += data.toString("binary", 0, extralen);
+                truncated = true;
+                part.removeAllListeners("data");
+              } else {
+                buffer += data.toString("binary");
+              }
+            };
+            onEnd = function() {
+              curField = void 0;
+              if (buffer.length) {
+                buffer = decodeText(buffer, "binary", charset);
+              }
+              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
+              --nends;
+              checkFinished();
+            };
           }
-        };
-      }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          destroyer(w, err);
-          destroyer(r, err);
-        }
-      };
-      return d;
-    }
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/duplex.js
-var require_duplex = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
-    "use strict";
-    var {
-      ObjectDefineProperties,
-      ObjectGetOwnPropertyDescriptor,
-      ObjectKeys,
-      ObjectSetPrototypeOf
-    } = require_primordials();
-    module2.exports = Duplex;
-    var Readable = require_readable4();
-    var Writable = require_writable();
-    ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype);
-    ObjectSetPrototypeOf(Duplex, Readable);
-    {
-      const keys = ObjectKeys(Writable.prototype);
-      for (let i = 0; i < keys.length; i++) {
-        const method = keys[i];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
-      }
+          part._readableState.sync = false;
+          part.on("data", onData);
+          part.on("end", onEnd);
+        }).on("error", function(err) {
+          if (curFile) {
+            curFile.emit("error", err);
+          }
+        });
+      }).on("error", function(err) {
+        boy.emit("error", err);
+      }).on("finish", function() {
+        finished = true;
+        checkFinished();
+      });
     }
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable.call(this, options);
-      Writable.call(this, options);
-      if (options) {
-        this.allowHalfOpen = options.allowHalfOpen !== false;
-        if (options.readable === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
-        }
-        if (options.writable === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
-        }
+    Multipart.prototype.write = function(chunk, cb) {
+      const r = this.parser.write(chunk);
+      if (r && !this._pause) {
+        cb();
       } else {
-        this.allowHalfOpen = true;
-      }
-    }
-    ObjectDefineProperties(Duplex.prototype, {
-      writable: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
-      },
-      writableObjectMode: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
-      },
-      writableBuffer: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
-      },
-      writableLength: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
-      },
-      writableFinished: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
-      },
-      writableCorked: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
-      },
-      writableEnded: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          if (this._readableState === void 0 || this._writableState === void 0) {
-            return false;
-          }
-          return this._readableState.destroyed && this._writableState.destroyed;
-        },
-        set(value) {
-          if (this._readableState && this._writableState) {
-            this._readableState.destroyed = value;
-            this._writableState.destroyed = value;
-          }
-        }
+        this._needDrain = !r;
+        this._cb = cb;
       }
-    });
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Duplex.fromWeb = function(pair, options) {
-      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
-    };
-    Duplex.toWeb = function(duplex) {
-      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
     };
-    var duplexify;
-    Duplex.from = function(body) {
-      if (!duplexify) {
-        duplexify = require_duplexify();
+    Multipart.prototype.end = function() {
+      const self2 = this;
+      if (self2.parser.writable) {
+        self2.parser.end();
+      } else if (!self2._boy._done) {
+        process.nextTick(function() {
+          self2._boy._done = true;
+          self2._boy.emit("finish");
+        });
       }
-      return duplexify(body, "body");
     };
+    function skipPart(part) {
+      part.resume();
+    }
+    function FileStream(opts) {
+      Readable.call(this, opts);
+      this.bytesRead = 0;
+      this.truncated = false;
+    }
+    inherits(FileStream, Readable);
+    FileStream.prototype._read = function(n) {
+    };
+    module2.exports = Multipart;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/transform.js
-var require_transform = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/utils/Decoder.js
+var require_Decoder = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
     "use strict";
-    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
-    module2.exports = Transform;
-    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors5().codes;
-    var Duplex = require_duplex();
-    var { getHighWaterMark } = require_state3();
-    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
-    ObjectSetPrototypeOf(Transform, Duplex);
-    var kCallback = Symbol2("kCallback");
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
-      if (readableHighWaterMark === 0) {
-        options = {
-          ...options,
-          highWaterMark: null,
-          readableHighWaterMark,
-          // TODO (ronag): 0 is not optimal since we have
-          // a "bug" where we check needDrain before calling _write and not after.
-          // Refs: https://github.com/nodejs/node/pull/32887
-          // Refs: https://github.com/nodejs/node/pull/35941
-          writableHighWaterMark: options.writableHighWaterMark || 0
-        };
-      }
-      Duplex.call(this, options);
-      this._readableState.sync = false;
-      this[kCallback] = null;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
-      }
-      this.on("prefinish", prefinish);
+    var RE_PLUS = /\+/g;
+    var HEX = [
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ];
+    function Decoder() {
+      this.buffer = void 0;
     }
-    function final(cb) {
-      if (typeof this._flush === "function" && !this.destroyed) {
-        this._flush((er, data) => {
-          if (er) {
-            if (cb) {
-              cb(er);
-            } else {
-              this.destroy(er);
+    Decoder.prototype.write = function(str2) {
+      str2 = str2.replace(RE_PLUS, " ");
+      let res = "";
+      let i = 0;
+      let p = 0;
+      const len = str2.length;
+      for (; i < len; ++i) {
+        if (this.buffer !== void 0) {
+          if (!HEX[str2.charCodeAt(i)]) {
+            res += "%" + this.buffer;
+            this.buffer = void 0;
+            --i;
+          } else {
+            this.buffer += str2[i];
+            ++p;
+            if (this.buffer.length === 2) {
+              res += String.fromCharCode(parseInt(this.buffer, 16));
+              this.buffer = void 0;
             }
-            return;
           }
-          if (data != null) {
-            this.push(data);
-          }
-          this.push(null);
-          if (cb) {
-            cb();
+        } else if (str2[i] === "%") {
+          if (i > p) {
+            res += str2.substring(p, i);
+            p = i;
           }
-        });
-      } else {
-        this.push(null);
-        if (cb) {
-          cb();
+          this.buffer = "";
+          ++p;
         }
       }
-    }
-    function prefinish() {
-      if (this._final !== final) {
-        final.call(this);
+      if (p < len && this.buffer === void 0) {
+        res += str2.substring(p);
       }
-    }
-    Transform.prototype._final = final;
-    Transform.prototype._transform = function(chunk, encoding, callback) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
-    };
-    Transform.prototype._write = function(chunk, encoding, callback) {
-      const rState = this._readableState;
-      const wState = this._writableState;
-      const length = rState.length;
-      this._transform(chunk, encoding, (err, val) => {
-        if (err) {
-          callback(err);
-          return;
-        }
-        if (val != null) {
-          this.push(val);
-        }
-        if (wState.ended || // Backwards compat.
-        length === rState.length || // Backwards compat.
-        rState.length < rState.highWaterMark) {
-          callback();
-        } else {
-          this[kCallback] = callback;
-        }
-      });
+      return res;
     };
-    Transform.prototype._read = function() {
-      if (this[kCallback]) {
-        const callback = this[kCallback];
-        this[kCallback] = null;
-        callback();
-      }
+    Decoder.prototype.reset = function() {
+      this.buffer = void 0;
     };
+    module2.exports = Decoder;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/passthrough.js
-var require_passthrough2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/types/urlencoded.js
+var require_urlencoded = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
     "use strict";
-    var { ObjectSetPrototypeOf } = require_primordials();
-    module2.exports = PassThrough;
-    var Transform = require_transform();
-    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
-    ObjectSetPrototypeOf(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/pipeline.js
-var require_pipeline4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
-    var process2 = require_process();
-    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
-    var eos = require_end_of_stream();
-    var { once } = require_util20();
-    var destroyImpl = require_destroy2();
-    var Duplex = require_duplex();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_INVALID_RETURN_VALUE,
-        ERR_MISSING_ARGS,
-        ERR_STREAM_DESTROYED,
-        ERR_STREAM_PREMATURE_CLOSE
-      },
-      AbortError
-    } = require_errors5();
-    var { validateFunction, validateAbortSignal } = require_validators();
-    var {
-      isIterable,
-      isReadable,
-      isReadableNodeStream,
-      isNodeStream,
-      isTransformStream,
-      isWebStream,
-      isReadableStream,
-      isReadableFinished
-    } = require_utils8();
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var PassThrough;
-    var Readable;
-    var addAbortListener;
-    function destroyer(stream, reading, writing) {
-      let finished = false;
-      stream.on("close", () => {
-        finished = true;
-      });
-      const cleanup = eos(
-        stream,
-        {
-          readable: reading,
-          writable: writing
-        },
-        (err) => {
-          finished = !err;
-        }
-      );
-      return {
-        destroy: (err) => {
-          if (finished) return;
-          finished = true;
-          destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED("pipe"));
-        },
-        cleanup
-      };
-    }
-    function popCallback(streams) {
-      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
-      return streams.pop();
-    }
-    function makeAsyncIterable(val) {
-      if (isIterable(val)) {
-        return val;
-      } else if (isReadableNodeStream(val)) {
-        return fromReadable(val);
-      }
-      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
-    }
-    async function* fromReadable(val) {
-      if (!Readable) {
-        Readable = require_readable4();
-      }
-      yield* Readable.prototype[SymbolAsyncIterator].call(val);
-    }
-    async function pumpToNode(iterable, writable, finish, { end }) {
-      let error3;
-      let onresolve = null;
-      const resume = (err) => {
-        if (err) {
-          error3 = err;
-        }
-        if (onresolve) {
-          const callback = onresolve;
-          onresolve = null;
-          callback();
-        }
-      };
-      const wait = () => new Promise2((resolve3, reject) => {
-        if (error3) {
-          reject(error3);
-        } else {
-          onresolve = () => {
-            if (error3) {
-              reject(error3);
-            } else {
-              resolve3();
-            }
-          };
-        }
-      });
-      writable.on("drain", resume);
-      const cleanup = eos(
-        writable,
-        {
-          readable: false
-        },
-        resume
-      );
-      try {
-        if (writable.writableNeedDrain) {
-          await wait();
-        }
-        for await (const chunk of iterable) {
-          if (!writable.write(chunk)) {
-            await wait();
-          }
-        }
-        if (end) {
-          writable.end();
-          await wait();
+    var Decoder = require_Decoder();
+    var decodeText = require_decodeText();
+    var getLimit = require_getLimit();
+    var RE_CHARSET = /^charset$/i;
+    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
+    function UrlEncoded(boy, cfg) {
+      const limits = cfg.limits;
+      const parsedConType = cfg.parsedConType;
+      this.boy = boy;
+      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
+      this.fieldsLimit = getLimit(limits, "fields", Infinity);
+      let charset;
+      for (var i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
+          charset = parsedConType[i][1].toLowerCase();
+          break;
         }
-        finish();
-      } catch (err) {
-        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
-      } finally {
-        cleanup();
-        writable.off("drain", resume);
-      }
-    }
-    async function pumpToWeb(readable, writable, finish, { end }) {
-      if (isTransformStream(writable)) {
-        writable = writable.writable;
       }
-      const writer = writable.getWriter();
-      try {
-        for await (const chunk of readable) {
-          await writer.ready;
-          writer.write(chunk).catch(() => {
-          });
-        }
-        await writer.ready;
-        if (end) {
-          await writer.close();
-        }
-        finish();
-      } catch (err) {
-        try {
-          await writer.abort(err);
-          finish(err);
-        } catch (err2) {
-          finish(err2);
-        }
+      if (charset === void 0) {
+        charset = cfg.defCharset || "utf8";
       }
+      this.decoder = new Decoder();
+      this.charset = charset;
+      this._fields = 0;
+      this._state = "key";
+      this._checkingBytes = true;
+      this._bytesKey = 0;
+      this._bytesVal = 0;
+      this._key = "";
+      this._val = "";
+      this._keyTrunc = false;
+      this._valTrunc = false;
+      this._hitLimit = false;
     }
-    function pipeline(...streams) {
-      return pipelineImpl(streams, once(popCallback(streams)));
-    }
-    function pipelineImpl(streams, callback, opts) {
-      if (streams.length === 1 && ArrayIsArray(streams[0])) {
-        streams = streams[0];
-      }
-      if (streams.length < 2) {
-        throw new ERR_MISSING_ARGS("streams");
-      }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
-      const lastStreamCleanup = [];
-      validateAbortSignal(outerSignal, "options.signal");
-      function abort() {
-        finishImpl(new AbortError());
-      }
-      addAbortListener = addAbortListener || require_util20().addAbortListener;
-      let disposable;
-      if (outerSignal) {
-        disposable = addAbortListener(outerSignal, abort);
-      }
-      let error3;
-      let value;
-      const destroys = [];
-      let finishCount = 0;
-      function finish(err) {
-        finishImpl(err, --finishCount === 0);
-      }
-      function finishImpl(err, final) {
-        var _disposable;
-        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
-          error3 = err;
-        }
-        if (!error3 && !final) {
-          return;
-        }
-        while (destroys.length) {
-          destroys.shift()(error3);
-        }
-        ;
-        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
-        ac.abort();
-        if (final) {
-          if (!error3) {
-            lastStreamCleanup.forEach((fn) => fn());
-          }
-          process2.nextTick(callback, error3, value);
+    UrlEncoded.prototype.write = function(data, cb) {
+      if (this._fields === this.fieldsLimit) {
+        if (!this.boy.hitFieldsLimit) {
+          this.boy.hitFieldsLimit = true;
+          this.boy.emit("fieldsLimit");
         }
+        return cb();
       }
-      let ret;
-      for (let i = 0; i < streams.length; i++) {
-        const stream = streams[i];
-        const reading = i < streams.length - 1;
-        const writing = i > 0;
-        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
-        const isLastStream = i === streams.length - 1;
-        if (isNodeStream(stream)) {
-          let onError2 = function(err) {
-            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
-              finish(err);
+      let idxeq;
+      let idxamp;
+      let i;
+      let p = 0;
+      const len = data.length;
+      while (p < len) {
+        if (this._state === "key") {
+          idxeq = idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
             }
-          };
-          var onError = onError2;
-          if (end) {
-            const { destroy, cleanup } = destroyer(stream, reading, writing);
-            destroys.push(destroy);
-            if (isReadable(stream) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
+            if (data[i] === 61) {
+              idxeq = i;
+              break;
+            } else if (data[i] === 38) {
+              idxamp = i;
+              break;
             }
-          }
-          stream.on("error", onError2);
-          if (isReadable(stream) && isLastStream) {
-            lastStreamCleanup.push(() => {
-              stream.removeListener("error", onError2);
-            });
-          }
-        }
-        if (i === 0) {
-          if (typeof stream === "function") {
-            ret = stream({
-              signal
-            });
-            if (!isIterable(ret)) {
-              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
+            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesKey;
             }
-          } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {
-            ret = stream;
-          } else {
-            ret = Duplex.from(stream);
-          }
-        } else if (typeof stream === "function") {
-          if (isTransformStream(ret)) {
-            var _ret;
-            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
-          } else {
-            ret = makeAsyncIterable(ret);
           }
-          ret = stream(ret, {
-            signal
-          });
-          if (reading) {
-            if (!isIterable(ret, true)) {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
-            }
-          } else {
-            var _ret2;
-            if (!PassThrough) {
-              PassThrough = require_passthrough2();
+          if (idxeq !== void 0) {
+            if (idxeq > p) {
+              this._key += this.decoder.write(data.toString("binary", p, idxeq));
             }
-            const pt = new PassThrough({
-              objectMode: true
-            });
-            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
-            if (typeof then === "function") {
-              finishCount++;
-              then.call(
-                ret,
-                (val) => {
-                  value = val;
-                  if (val != null) {
-                    pt.write(val);
-                  }
-                  if (end) {
-                    pt.end();
-                  }
-                  process2.nextTick(finish);
-                },
-                (err) => {
-                  pt.destroy(err);
-                  process2.nextTick(finish, err);
-                }
-              );
-            } else if (isIterable(ret, true)) {
-              finishCount++;
-              pumpToNode(ret, pt, finish, {
-                end
-              });
-            } else if (isReadableStream(ret) || isTransformStream(ret)) {
-              const toRead = ret.readable || ret;
-              finishCount++;
-              pumpToNode(toRead, pt, finish, {
-                end
-              });
+            this._state = "val";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._val = "";
+            this._bytesVal = 0;
+            this._valTrunc = false;
+            this.decoder.reset();
+            p = idxeq + 1;
+          } else if (idxamp !== void 0) {
+            ++this._fields;
+            let key;
+            const keyTrunc = this._keyTrunc;
+            if (idxamp > p) {
+              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
             } else {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
+              key = this._key;
+            }
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            if (key.length) {
+              this.boy.emit(
+                "field",
+                decodeText(key, "binary", this.charset),
+                "",
+                keyTrunc,
+                false
+              );
             }
-            ret = pt;
-            const { destroy, cleanup } = destroyer(ret, false, true);
-            destroys.push(destroy);
-            if (isLastStream) {
-              lastStreamCleanup.push(cleanup);
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
             }
-          }
-        } else if (isNodeStream(stream)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount += 2;
-            const cleanup = pipe(ret, stream, finish, {
-              end
-            });
-            if (isReadable(stream) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._key += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
+              this._checkingBytes = false;
+              this._keyTrunc = true;
             }
-          } else if (isTransformStream(ret) || isReadableStream(ret)) {
-            const toRead = ret.readable || ret;
-            finishCount++;
-            pumpToNode(toRead, stream, finish, {
-              end
-            });
-          } else if (isIterable(ret)) {
-            finishCount++;
-            pumpToNode(ret, stream, finish, {
-              end
-            });
           } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
-            );
+            if (p < len) {
+              this._key += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
           }
-          ret = stream;
-        } else if (isWebStream(stream)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount++;
-            pumpToWeb(makeAsyncIterable(ret), stream, finish, {
-              end
-            });
-          } else if (isReadableStream(ret) || isIterable(ret)) {
-            finishCount++;
-            pumpToWeb(ret, stream, finish, {
-              end
-            });
-          } else if (isTransformStream(ret)) {
-            finishCount++;
-            pumpToWeb(ret.readable, stream, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
+        } else {
+          idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
+            }
+            if (data[i] === 38) {
+              idxamp = i;
+              break;
+            }
+            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesVal;
+            }
+          }
+          if (idxamp !== void 0) {
+            ++this._fields;
+            if (idxamp > p) {
+              this._val += this.decoder.write(data.toString("binary", p, idxamp));
+            }
+            this.boy.emit(
+              "field",
+              decodeText(this._key, "binary", this.charset),
+              decodeText(this._val, "binary", this.charset),
+              this._keyTrunc,
+              this._valTrunc
             );
+            this._state = "key";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._val += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
+              this._checkingBytes = false;
+              this._valTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._val += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
           }
-          ret = stream;
-        } else {
-          ret = Duplex.from(stream);
         }
       }
-      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
-        process2.nextTick(abort);
+      cb();
+    };
+    UrlEncoded.prototype.end = function() {
+      if (this.boy._done) {
+        return;
       }
-      return ret;
-    }
-    function pipe(src, dst, finish, { end }) {
-      let ended = false;
-      dst.on("close", () => {
-        if (!ended) {
-          finish(new ERR_STREAM_PREMATURE_CLOSE());
-        }
-      });
-      src.pipe(dst, {
-        end: false
-      });
-      if (end) {
-        let endFn2 = function() {
-          ended = true;
-          dst.end();
-        };
-        var endFn = endFn2;
-        if (isReadableFinished(src)) {
-          process2.nextTick(endFn2);
-        } else {
-          src.once("end", endFn2);
-        }
-      } else {
-        finish();
+      if (this._state === "key" && this._key.length > 0) {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          "",
+          this._keyTrunc,
+          false
+        );
+      } else if (this._state === "val") {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          decodeText(this._val, "binary", this.charset),
+          this._keyTrunc,
+          this._valTrunc
+        );
       }
-      eos(
-        src,
-        {
-          readable: true,
-          writable: false
-        },
-        (err) => {
-          const rState = src._readableState;
-          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
-            src.once("end", finish).once("error", finish);
-          } else {
-            finish(err);
-          }
-        }
-      );
-      return eos(
-        dst,
-        {
-          readable: false,
-          writable: true
-        },
-        finish
-      );
-    }
-    module2.exports = {
-      pipelineImpl,
-      pipeline
+      this.boy._done = true;
+      this.boy.emit("finish");
     };
+    module2.exports = UrlEncoded;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/compose.js
-var require_compose = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/main.js
+var require_main = __commonJS({
+  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
     "use strict";
-    var { pipeline } = require_pipeline4();
-    var Duplex = require_duplex();
-    var { destroyer } = require_destroy2();
-    var {
-      isNodeStream,
-      isReadable,
-      isWritable,
-      isWebStream,
-      isTransformStream,
-      isWritableStream,
-      isReadableStream
-    } = require_utils8();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
-    } = require_errors5();
-    var eos = require_end_of_stream();
-    module2.exports = function compose(...streams) {
-      if (streams.length === 0) {
-        throw new ERR_MISSING_ARGS("streams");
+    var WritableStream = require("node:stream").Writable;
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var MultipartParser = require_multipart2();
+    var UrlencodedParser = require_urlencoded();
+    var parseParams = require_parseParams();
+    function Busboy(opts) {
+      if (!(this instanceof Busboy)) {
+        return new Busboy(opts);
       }
-      if (streams.length === 1) {
-        return Duplex.from(streams[0]);
+      if (typeof opts !== "object") {
+        throw new TypeError("Busboy expected an options-Object.");
       }
-      const orgStreams = [...streams];
-      if (typeof streams[0] === "function") {
-        streams[0] = Duplex.from(streams[0]);
+      if (typeof opts.headers !== "object") {
+        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
       }
-      if (typeof streams[streams.length - 1] === "function") {
-        const idx = streams.length - 1;
-        streams[idx] = Duplex.from(streams[idx]);
+      if (typeof opts.headers["content-type"] !== "string") {
+        throw new TypeError("Missing Content-Type-header.");
       }
-      for (let n = 0; n < streams.length; ++n) {
-        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
-          continue;
-        }
-        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
-        }
-        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
+      const {
+        headers,
+        ...streamOptions
+      } = opts;
+      this.opts = {
+        autoDestroy: false,
+        ...streamOptions
+      };
+      WritableStream.call(this, this.opts);
+      this._done = false;
+      this._parser = this.getParserByHeaders(headers);
+      this._finished = false;
+    }
+    inherits(Busboy, WritableStream);
+    Busboy.prototype.emit = function(ev) {
+      if (ev === "finish") {
+        if (!this._done) {
+          this._parser?.end();
+          return;
+        } else if (this._finished) {
+          return;
         }
+        this._finished = true;
       }
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
-        } else if (!readable && !writable) {
-          d.destroy();
-        }
+      WritableStream.prototype.emit.apply(this, arguments);
+    };
+    Busboy.prototype.getParserByHeaders = function(headers) {
+      const parsed = parseParams(headers["content-type"]);
+      const cfg = {
+        defCharset: this.opts.defCharset,
+        fileHwm: this.opts.fileHwm,
+        headers,
+        highWaterMark: this.opts.highWaterMark,
+        isPartAFile: this.opts.isPartAFile,
+        limits: this.opts.limits,
+        parsedConType: parsed,
+        preservePath: this.opts.preservePath
+      };
+      if (MultipartParser.detect.test(parsed[0])) {
+        return new MultipartParser(this, cfg);
       }
-      const head = streams[0];
-      const tail = pipeline(streams, onfinished);
-      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
-      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
-      d = new Duplex({
-        // TODO (ronag): highWaterMark?
-        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
-        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
-        writable,
-        readable
-      });
-      if (writable) {
-        if (isNodeStream(head)) {
-          d._write = function(chunk, encoding, callback) {
-            if (head.write(chunk, encoding)) {
-              callback();
-            } else {
-              ondrain = callback;
-            }
-          };
-          d._final = function(callback) {
-            head.end();
-            onfinish = callback;
-          };
-          head.on("drain", function() {
-            if (ondrain) {
-              const cb = ondrain;
-              ondrain = null;
-              cb();
-            }
-          });
-        } else if (isWebStream(head)) {
-          const writable2 = isTransformStream(head) ? head.writable : head;
-          const writer = writable2.getWriter();
-          d._write = async function(chunk, encoding, callback) {
-            try {
-              await writer.ready;
-              writer.write(chunk).catch(() => {
-              });
-              callback();
-            } catch (err) {
-              callback(err);
-            }
-          };
-          d._final = async function(callback) {
-            try {
-              await writer.ready;
-              writer.close().catch(() => {
-              });
-              onfinish = callback;
-            } catch (err) {
-              callback(err);
-            }
-          };
-        }
-        const toRead = isTransformStream(tail) ? tail.readable : tail;
-        eos(toRead, () => {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
-          }
-        });
+      if (UrlencodedParser.detect.test(parsed[0])) {
+        return new UrlencodedParser(this, cfg);
+      }
+      throw new Error("Unsupported Content-Type.");
+    };
+    Busboy.prototype._write = function(chunk, encoding, cb) {
+      this._parser.write(chunk, cb);
+    };
+    module2.exports = Busboy;
+    module2.exports.default = Busboy;
+    module2.exports.Busboy = Busboy;
+    module2.exports.Dicer = Dicer;
+  }
+});
+
+// node_modules/undici/lib/fetch/constants.js
+var require_constants21 = __commonJS({
+  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
+    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = [101, 204, 205, 304];
+    var redirectStatus = [301, 302, 303, 307, 308];
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = [
+      "1",
+      "7",
+      "9",
+      "11",
+      "13",
+      "15",
+      "17",
+      "19",
+      "20",
+      "21",
+      "22",
+      "23",
+      "25",
+      "37",
+      "42",
+      "43",
+      "53",
+      "69",
+      "77",
+      "79",
+      "87",
+      "95",
+      "101",
+      "102",
+      "103",
+      "104",
+      "109",
+      "110",
+      "111",
+      "113",
+      "115",
+      "117",
+      "119",
+      "123",
+      "135",
+      "137",
+      "139",
+      "143",
+      "161",
+      "179",
+      "389",
+      "427",
+      "465",
+      "512",
+      "513",
+      "514",
+      "515",
+      "526",
+      "530",
+      "531",
+      "532",
+      "540",
+      "548",
+      "554",
+      "556",
+      "563",
+      "587",
+      "601",
+      "636",
+      "989",
+      "990",
+      "993",
+      "995",
+      "1719",
+      "1720",
+      "1723",
+      "2049",
+      "3659",
+      "4045",
+      "5060",
+      "5061",
+      "6000",
+      "6566",
+      "6665",
+      "6666",
+      "6667",
+      "6668",
+      "6669",
+      "6697",
+      "10080"
+    ];
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = [
+      "",
+      "no-referrer",
+      "no-referrer-when-downgrade",
+      "same-origin",
+      "origin",
+      "strict-origin",
+      "origin-when-cross-origin",
+      "strict-origin-when-cross-origin",
+      "unsafe-url"
+    ];
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = ["follow", "manual", "error"];
+    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
+    var requestCredentials = ["omit", "same-origin", "include"];
+    var requestCache = [
+      "default",
+      "no-store",
+      "reload",
+      "no-cache",
+      "force-cache",
+      "only-if-cached"
+    ];
+    var requestBodyHeader = [
+      "content-encoding",
+      "content-language",
+      "content-location",
+      "content-type",
+      // See https://github.com/nodejs/undici/issues/2021
+      // 'Content-Length' is a forbidden header name, which is typically
+      // removed in the Headers implementation. However, undici doesn't
+      // filter out headers, so we add it here.
+      "content-length"
+    ];
+    var requestDuplex = [
+      "half"
+    ];
+    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = [
+      "audio",
+      "audioworklet",
+      "font",
+      "image",
+      "manifest",
+      "paintworklet",
+      "script",
+      "style",
+      "track",
+      "video",
+      "xslt",
+      ""
+    ];
+    var subresourceSet = new Set(subresource);
+    var DOMException2 = globalThis.DOMException ?? (() => {
+      try {
+        atob("~");
+      } catch (err) {
+        return Object.getPrototypeOf(err).constructor;
       }
-      if (readable) {
-        if (isNodeStream(tail)) {
-          tail.on("readable", function() {
-            if (onreadable) {
-              const cb = onreadable;
-              onreadable = null;
-              cb();
-            }
-          });
-          tail.on("end", function() {
-            d.push(null);
-          });
-          d._read = function() {
-            while (true) {
-              const buf = tail.read();
-              if (buf === null) {
-                onreadable = d._read;
-                return;
-              }
-              if (!d.push(buf)) {
-                return;
-              }
-            }
-          };
-        } else if (isWebStream(tail)) {
-          const readable2 = isTransformStream(tail) ? tail.readable : tail;
-          const reader = readable2.getReader();
-          d._read = async function() {
-            while (true) {
-              try {
-                const { value, done } = await reader.read();
-                if (!d.push(value)) {
-                  return;
-                }
-                if (done) {
-                  d.push(null);
-                  return;
-                }
-              } catch {
-                return;
-              }
-            }
-          };
-        }
+    })();
+    var channel;
+    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
+    // structuredClone was added in v17.0.0, but fetch supports v16.8
+    function structuredClone2(value, options = void 0) {
+      if (arguments.length === 0) {
+        throw new TypeError("missing argument");
       }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          if (isNodeStream(tail)) {
-            destroyer(tail, err);
-          }
-        }
-      };
-      return d;
+      if (!channel) {
+        channel = new MessageChannel();
+      }
+      channel.port1.unref();
+      channel.port2.unref();
+      channel.port1.postMessage(value, options?.transfer);
+      return receiveMessageOnPort(channel.port2).message;
+    };
+    module2.exports = {
+      DOMException: DOMException2,
+      structuredClone,
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/operators.js
-var require_operators = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/global.js
+var require_global5 = __commonJS({
+  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
     "use strict";
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var {
-      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
-      AbortError
-    } = require_errors5();
-    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
-    var kWeakHandler = require_primordials().Symbol("kWeak");
-    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
-    var { finished } = require_end_of_stream();
-    var staticCompose = require_compose();
-    var { addAbortSignalNoValidate } = require_add_abort_signal();
-    var { isWritable, isNodeStream } = require_utils8();
-    var { deprecate } = require_util20();
-    var {
-      ArrayPrototypePush,
-      Boolean: Boolean2,
-      MathFloor,
-      Number: Number2,
-      NumberIsNaN,
-      Promise: Promise2,
-      PromiseReject,
-      PromiseResolve,
-      PromisePrototypeThen,
-      Symbol: Symbol2
-    } = require_primordials();
-    var kEmpty = Symbol2("kEmpty");
-    var kEof = Symbol2("kEof");
-    function compose(stream, options) {
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      if (isNodeStream(stream) && !isWritable(stream)) {
-        throw new ERR_INVALID_ARG_VALUE("stream", stream, "must be writable");
-      }
-      const composedStream = staticCompose(this, stream);
-      if (options !== null && options !== void 0 && options.signal) {
-        addAbortSignalNoValidate(options.signal, composedStream);
-      }
-      return composedStream;
-    }
-    function map2(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      let concurrency = 1;
-      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
-        concurrency = MathFloor(options.concurrency);
-      }
-      let highWaterMark = concurrency - 1;
-      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
-        highWaterMark = MathFloor(options.highWaterMark);
-      }
-      validateInteger(concurrency, "options.concurrency", 1);
-      validateInteger(highWaterMark, "options.highWaterMark", 0);
-      highWaterMark += concurrency;
-      return async function* map3() {
-        const signal = require_util20().AbortSignalAny(
-          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
-        );
-        const stream = this;
-        const queue = [];
-        const signalOpt = {
-          signal
-        };
-        let next;
-        let resume;
-        let done = false;
-        let cnt = 0;
-        function onCatch() {
-          done = true;
-          afterItemProcessed();
-        }
-        function afterItemProcessed() {
-          cnt -= 1;
-          maybeResume();
-        }
-        function maybeResume() {
-          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
-            resume();
-            resume = null;
-          }
-        }
-        async function pump() {
-          try {
-            for await (let val of stream) {
-              if (done) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              try {
-                val = fn(val, signalOpt);
-                if (val === kEmpty) {
-                  continue;
-                }
-                val = PromiseResolve(val);
-              } catch (err) {
-                val = PromiseReject(err);
-              }
-              cnt += 1;
-              PromisePrototypeThen(val, afterItemProcessed, onCatch);
-              queue.push(val);
-              if (next) {
-                next();
-                next = null;
-              }
-              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
-                await new Promise2((resolve3) => {
-                  resume = resolve3;
-                });
-              }
-            }
-            queue.push(kEof);
-          } catch (err) {
-            const val = PromiseReject(err);
-            PromisePrototypeThen(val, afterItemProcessed, onCatch);
-            queue.push(val);
-          } finally {
-            done = true;
-            if (next) {
-              next();
-              next = null;
-            }
-          }
-        }
-        pump();
-        try {
-          while (true) {
-            while (queue.length > 0) {
-              const val = await queue[0];
-              if (val === kEof) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              if (val !== kEmpty) {
-                yield val;
-              }
-              queue.shift();
-              maybeResume();
-            }
-            await new Promise2((resolve3) => {
-              next = resolve3;
-            });
-          }
-        } finally {
-          done = true;
-          if (resume) {
-            resume();
-            resume = null;
-          }
-        }
-      }.call(this);
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    function asIndexedPairs(options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
       }
-      return async function* asIndexedPairs2() {
-        let index = 0;
-        for await (const val of this) {
-          var _options$signal;
-          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
-            throw new AbortError({
-              cause: options.signal.reason
-            });
-          }
-          yield [index++, val];
-        }
-      }.call(this);
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
     }
-    async function some(fn, options = void 0) {
-      for await (const unused of filter.call(this, fn, options)) {
-        return true;
-      }
-      return false;
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/util.js
+var require_util25 = __commonJS({
+  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants21();
+    var { getGlobalOrigin } = require_global5();
+    var { performance: performance2 } = require("perf_hooks");
+    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util24();
+    var assert = require("assert");
+    var { isUint8Array } = require("util/types");
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
+    } catch {
     }
-    async function every(fn, options = void 0) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      return !await some.call(
-        this,
-        async (...args) => {
-          return !await fn(...args);
-        },
-        options
-      );
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
     }
-    async function find2(fn, options) {
-      for await (const result of filter.call(this, fn, options)) {
-        return result;
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
       }
-      return void 0;
-    }
-    async function forEach(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      let location = response.headersList.get("location");
+      if (location !== null && isValidHeaderValue(location)) {
+        location = new URL(location, responseURL(response));
       }
-      async function forEachFn(value, options2) {
-        await fn(value, options2);
-        return kEmpty;
+      if (location && !location.hash) {
+        location.hash = requestFragment;
       }
-      for await (const unused of map2.call(this, forEachFn, options)) ;
+      return location;
     }
-    function filter(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      async function filterFn(value, options2) {
-        if (await fn(value, options2)) {
-          return value;
-        }
-        return kEmpty;
-      }
-      return map2.call(this, filterFn, options);
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
     }
-    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
-      constructor() {
-        super("reduce");
-        this.message = "Reduce of an empty stream requires an initial value";
-      }
-    };
-    async function reduce(reducer, initialValue, options) {
-      var _options$signal2;
-      if (typeof reducer !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
-      }
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      let hasInitialValue = arguments.length > 1;
-      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
-        const err = new AbortError(void 0, {
-          cause: options.signal.reason
-        });
-        this.once("error", () => {
-        });
-        await finished(this.destroy(err));
-        throw err;
-      }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      if (options !== null && options !== void 0 && options.signal) {
-        const opts = {
-          once: true,
-          [kWeakHandler]: this,
-          [kResistStopPropagation]: true
-        };
-        options.signal.addEventListener("abort", () => ac.abort(), opts);
+    function requestBadPort(request2) {
+      const url = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
+        return "blocked";
       }
-      let gotAnyItemFromStream = false;
-      try {
-        for await (const value of this) {
-          var _options$signal3;
-          gotAnyItemFromStream = true;
-          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
-            throw new AbortError();
-          }
-          if (!hasInitialValue) {
-            initialValue = value;
-            hasInitialValue = true;
-          } else {
-            initialValue = await reducer(initialValue, value, {
-              signal
-            });
-          }
-        }
-        if (!gotAnyItemFromStream && !hasInitialValue) {
-          throw new ReduceAwareErrMissingArgs();
+      return "allowed";
+    }
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
         }
-      } finally {
-        ac.abort();
       }
-      return initialValue;
+      return true;
     }
-    async function toArray2(options) {
-      if (options != null) {
-        validateObject(options, "options");
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+    }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
       }
-      const result = [];
-      for await (const val of this) {
-        var _options$signal4;
-        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
-          throw new AbortError(void 0, {
-            cause: options.signal.reason
-          });
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
         }
-        ArrayPrototypePush(result, val);
       }
-      return result;
+      return true;
     }
-    function flatMap(fn, options) {
-      const values = map2.call(this, fn, options);
-      return async function* flatMap2() {
-        for await (const val of values) {
-          yield* val;
-        }
-      }.call(this);
+    function isValidHeaderName(potentialValue) {
+      return isValidHTTPToken(potentialValue);
     }
-    function toIntegerOrInfinity(number) {
-      number = Number2(number);
-      if (NumberIsNaN(number)) {
-        return 0;
+    function isValidHeaderValue(potentialValue) {
+      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
+        return false;
       }
-      if (number < 0) {
-        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
+      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
+        return false;
       }
-      return number;
+      return true;
     }
-    function drop(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      number = toIntegerOrInfinity(number);
-      return async function* drop2() {
-        var _options$signal5;
-        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal6;
-          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
-            throw new AbortError();
-          }
-          if (number-- <= 0) {
-            yield val;
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
           }
         }
-      }.call(this);
-    }
-    function take(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
       }
-      number = toIntegerOrInfinity(number);
-      return async function* take2() {
-        var _options$signal7;
-        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal8;
-          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
-            throw new AbortError();
-          }
-          if (number-- > 0) {
-            yield val;
-          }
-          if (number <= 0) {
-            return;
-          }
-        }
-      }.call(this);
     }
-    module2.exports.streamReturningOperators = {
-      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
-      drop,
-      filter,
-      flatMap,
-      map: map2,
-      take,
-      compose
-    };
-    module2.exports.promiseReturningOperators = {
-      every,
-      forEach,
-      reduce,
-      toArray: toArray2,
-      some,
-      find: find2
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/stream/promises.js
-var require_promises = __commonJS({
-  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
-    "use strict";
-    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
-    var { isIterable, isNodeStream, isWebStream } = require_utils8();
-    var { pipelineImpl: pl } = require_pipeline4();
-    var { finished } = require_end_of_stream();
-    require_stream2();
-    function pipeline(...streams) {
-      return new Promise2((resolve3, reject) => {
-        let signal;
-        let end;
-        const lastArg = streams[streams.length - 1];
-        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
-          const options = ArrayPrototypePop(streams);
-          signal = options.signal;
-          end = options.end;
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
         }
-        pl(
-          streams,
-          (err, value) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve3(value);
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
             }
-          },
-          {
-            signal,
-            end
-          }
-        );
-      });
-    }
-    module2.exports = {
-      finished,
-      pipeline
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/stream.js
-var require_stream2 = __commonJS({
-  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
-    var {
-      promisify: { custom: customPromisify }
-    } = require_util20();
-    var { streamReturningOperators, promiseReturningOperators } = require_operators();
-    var {
-      codes: { ERR_ILLEGAL_CONSTRUCTOR }
-    } = require_errors5();
-    var compose = require_compose();
-    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var { pipeline } = require_pipeline4();
-    var { destroyer } = require_destroy2();
-    var eos = require_end_of_stream();
-    var promises = require_promises();
-    var utils = require_utils8();
-    var Stream = module2.exports = require_legacy().Stream;
-    Stream.isDestroyed = utils.isDestroyed;
-    Stream.isDisturbed = utils.isDisturbed;
-    Stream.isErrored = utils.isErrored;
-    Stream.isReadable = utils.isReadable;
-    Stream.isWritable = utils.isWritable;
-    Stream.Readable = require_readable4();
-    for (const key of ObjectKeys(streamReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
         }
-        return Stream.Readable.from(ReflectApply(op, this, args));
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
+        }
+      }
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return performance2.now();
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
       };
-      fn = fn2;
-      const op = streamReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
     }
-    var fn;
-    for (const key of ObjectKeys(promiseReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
-        }
-        return ReflectApply(op, this, args);
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
       };
-      fn = fn2;
-      const op = promiseReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
     }
-    var fn;
-    Stream.Writable = require_writable();
-    Stream.Duplex = require_duplex();
-    Stream.Transform = require_transform();
-    Stream.PassThrough = require_passthrough2();
-    Stream.pipeline = pipeline;
-    var { addAbortSignal } = require_add_abort_signal();
-    Stream.addAbortSignal = addAbortSignal;
-    Stream.finished = eos;
-    Stream.destroy = destroyer;
-    Stream.compose = compose;
-    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
-    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
-    ObjectDefineProperty(Stream, "promises", {
-      __proto__: null,
-      configurable: true,
-      enumerable: true,
-      get() {
-        return promises;
-      }
-    });
-    ObjectDefineProperty(pipeline, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises.pipeline;
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
+      };
+    }
+    function determineRequestsReferrer(request2) {
+      const policy = request2.referrerPolicy;
+      assert(policy);
+      let referrerSource = null;
+      if (request2.referrer === "client") {
+        const globalOrigin = getGlobalOrigin();
+        if (!globalOrigin || globalOrigin.origin === "null") {
+          return "no-referrer";
+        }
+        referrerSource = new URL(globalOrigin);
+      } else if (request2.referrer instanceof URL) {
+        referrerSource = request2.referrer;
       }
-    });
-    ObjectDefineProperty(eos, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises.finished;
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
       }
-    });
-    Stream.Stream = Stream;
-    Stream._isUint8Array = function isUint8Array(value) {
-      return value instanceof Uint8Array;
-    };
-    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/ours/index.js
-var require_ours = __commonJS({
-  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
-    "use strict";
-    var Stream = require("stream");
-    if (Stream && process.env.READABLE_STREAM === "disable") {
-      const promises = Stream.promises;
-      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = Stream._isUint8Array;
-      module2.exports.isDisturbed = Stream.isDisturbed;
-      module2.exports.isErrored = Stream.isErrored;
-      module2.exports.isReadable = Stream.isReadable;
-      module2.exports.Readable = Stream.Readable;
-      module2.exports.Writable = Stream.Writable;
-      module2.exports.Duplex = Stream.Duplex;
-      module2.exports.Transform = Stream.Transform;
-      module2.exports.PassThrough = Stream.PassThrough;
-      module2.exports.addAbortSignal = Stream.addAbortSignal;
-      module2.exports.finished = Stream.finished;
-      module2.exports.destroy = Stream.destroy;
-      module2.exports.pipeline = Stream.pipeline;
-      module2.exports.compose = Stream.compose;
-      Object.defineProperty(Stream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises;
-        }
-      });
-      module2.exports.Stream = Stream.Stream;
-    } else {
-      const CustomStream = require_stream2();
-      const promises = require_promises();
-      const originalDestroy = CustomStream.Readable.destroy;
-      module2.exports = CustomStream.Readable;
-      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = CustomStream._isUint8Array;
-      module2.exports.isDisturbed = CustomStream.isDisturbed;
-      module2.exports.isErrored = CustomStream.isErrored;
-      module2.exports.isReadable = CustomStream.isReadable;
-      module2.exports.Readable = CustomStream.Readable;
-      module2.exports.Writable = CustomStream.Writable;
-      module2.exports.Duplex = CustomStream.Duplex;
-      module2.exports.Transform = CustomStream.Transform;
-      module2.exports.PassThrough = CustomStream.PassThrough;
-      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
-      module2.exports.finished = CustomStream.finished;
-      module2.exports.destroy = CustomStream.destroy;
-      module2.exports.destroy = originalDestroy;
-      module2.exports.pipeline = CustomStream.pipeline;
-      module2.exports.compose = CustomStream.compose;
-      Object.defineProperty(CustomStream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises;
+      const areSameOrigin = sameOrigin(request2, referrerURL);
+      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
+      switch (policy) {
+        case "origin":
+          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
+        case "unsafe-url":
+          return referrerURL;
+        case "same-origin":
+          return areSameOrigin ? referrerOrigin : "no-referrer";
+        case "origin-when-cross-origin":
+          return areSameOrigin ? referrerURL : referrerOrigin;
+        case "strict-origin-when-cross-origin": {
+          const currentURL = requestCurrentURL(request2);
+          if (sameOrigin(referrerURL, currentURL)) {
+            return referrerURL;
+          }
+          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
+            return "no-referrer";
+          }
+          return referrerOrigin;
         }
-      });
-      module2.exports.Stream = CustomStream.Stream;
-    }
-    module2.exports.default = module2.exports;
-  }
-});
-
-// node_modules/lodash/_arrayPush.js
-var require_arrayPush = __commonJS({
-  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
-    function arrayPush(array, values) {
-      var index = -1, length = values.length, offset = array.length;
-      while (++index < length) {
-        array[offset + index] = values[index];
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
       }
-      return array;
     }
-    module2.exports = arrayPush;
-  }
-});
-
-// node_modules/lodash/_isFlattenable.js
-var require_isFlattenable = __commonJS({
-  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
-    function isFlattenable(value) {
-      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
+    function stripURLForReferrer(url, originOnly) {
+      assert(url instanceof URL);
+      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
+        return "no-referrer";
+      }
+      url.username = "";
+      url.password = "";
+      url.hash = "";
+      if (originOnly) {
+        url.pathname = "";
+        url.search = "";
+      }
+      return url;
     }
-    module2.exports = isFlattenable;
-  }
-});
-
-// node_modules/lodash/_baseFlatten.js
-var require_baseFlatten = __commonJS({
-  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
-    var arrayPush = require_arrayPush();
-    var isFlattenable = require_isFlattenable();
-    function baseFlatten(array, depth, predicate, isStrict, result) {
-      var index = -1, length = array.length;
-      predicate || (predicate = isFlattenable);
-      result || (result = []);
-      while (++index < length) {
-        var value = array[index];
-        if (depth > 0 && predicate(value)) {
-          if (depth > 1) {
-            baseFlatten(value, depth - 1, predicate, isStrict, result);
+    function isURLPotentiallyTrustworthy(url) {
+      if (!(url instanceof URL)) {
+        return false;
+      }
+      if (url.href === "about:blank" || url.href === "about:srcdoc") {
+        return true;
+      }
+      if (url.protocol === "data:") return true;
+      if (url.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url.origin);
+      function isOriginPotentiallyTrustworthy(origin) {
+        if (origin == null || origin === "null") return false;
+        const originAsURL = new URL(origin);
+        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
+          return true;
+        }
+        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
+          return true;
+        }
+        return false;
+      }
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto2 === void 0) {
+        return true;
+      }
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
+      }
+      if (parsedMetadata.length === 0) {
+        return true;
+      }
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
           } else {
-            arrayPush(result, value);
+            actualValue = actualValue.slice(0, -1);
           }
-        } else if (!isStrict) {
-          result[result.length] = value;
+        }
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
         }
       }
-      return result;
-    }
-    module2.exports = baseFlatten;
-  }
-});
-
-// node_modules/lodash/flatten.js
-var require_flatten = __commonJS({
-  "node_modules/lodash/flatten.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    function flatten(array) {
-      var length = array == null ? 0 : array.length;
-      return length ? baseFlatten(array, 1) : [];
-    }
-    module2.exports = flatten;
-  }
-});
-
-// node_modules/lodash/_nativeCreate.js
-var require_nativeCreate = __commonJS({
-  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var nativeCreate = getNative(Object, "create");
-    module2.exports = nativeCreate;
-  }
-});
-
-// node_modules/lodash/_hashClear.js
-var require_hashClear = __commonJS({
-  "node_modules/lodash/_hashClear.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    function hashClear() {
-      this.__data__ = nativeCreate ? nativeCreate(null) : {};
-      this.size = 0;
+      return false;
     }
-    module2.exports = hashClear;
-  }
-});
-
-// node_modules/lodash/_hashDelete.js
-var require_hashDelete = __commonJS({
-  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
-    function hashDelete(key) {
-      var result = this.has(key) && delete this.__data__[key];
-      this.size -= result ? 1 : 0;
+    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
+    function parseMetadata(metadata) {
+      const result = [];
+      let empty = true;
+      for (const token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
+          continue;
+        }
+        const algorithm = parsedToken.groups.algo.toLowerCase();
+        if (supportedHashes.includes(algorithm)) {
+          result.push(parsedToken.groups);
+        }
+      }
+      if (empty === true) {
+        return "no metadata";
+      }
       return result;
     }
-    module2.exports = hashDelete;
-  }
-});
-
-// node_modules/lodash/_hashGet.js
-var require_hashGet = __commonJS({
-  "node_modules/lodash/_hashGet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashGet(key) {
-      var data = this.__data__;
-      if (nativeCreate) {
-        var result = data[key];
-        return result === HASH_UNDEFINED ? void 0 : result;
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
       }
-      return hasOwnProperty.call(data, key) ? data[key] : void 0;
-    }
-    module2.exports = hashGet;
-  }
-});
-
-// node_modules/lodash/_hashHas.js
-var require_hashHas = __commonJS({
-  "node_modules/lodash/_hashHas.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashHas(key) {
-      var data = this.__data__;
-      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
-    }
-    module2.exports = hashHas;
-  }
-});
-
-// node_modules/lodash/_hashSet.js
-var require_hashSet = __commonJS({
-  "node_modules/lodash/_hashSet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function hashSet(key, value) {
-      var data = this.__data__;
-      this.size += this.has(key) ? 0 : 1;
-      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
-      return this;
-    }
-    module2.exports = hashSet;
-  }
-});
-
-// node_modules/lodash/_Hash.js
-var require_Hash = __commonJS({
-  "node_modules/lodash/_Hash.js"(exports2, module2) {
-    var hashClear = require_hashClear();
-    var hashDelete = require_hashDelete();
-    var hashGet = require_hashGet();
-    var hashHas = require_hashHas();
-    var hashSet = require_hashSet();
-    function Hash(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+      for (let i = 1; i < metadataList.length; ++i) {
+        const metadata = metadataList[i];
+        if (metadata.algo[3] === "5") {
+          algorithm = "sha512";
+          break;
+        } else if (algorithm[3] === "3") {
+          continue;
+        } else if (metadata.algo[3] === "3") {
+          algorithm = "sha384";
+        }
       }
+      return algorithm;
     }
-    Hash.prototype.clear = hashClear;
-    Hash.prototype["delete"] = hashDelete;
-    Hash.prototype.get = hashGet;
-    Hash.prototype.has = hashHas;
-    Hash.prototype.set = hashSet;
-    module2.exports = Hash;
-  }
-});
-
-// node_modules/lodash/_listCacheClear.js
-var require_listCacheClear = __commonJS({
-  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
-    function listCacheClear() {
-      this.__data__ = [];
-      this.size = 0;
-    }
-    module2.exports = listCacheClear;
-  }
-});
-
-// node_modules/lodash/_assocIndexOf.js
-var require_assocIndexOf = __commonJS({
-  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
-    var eq = require_eq2();
-    function assocIndexOf(array, key) {
-      var length = array.length;
-      while (length--) {
-        if (eq(array[length][0], key)) {
-          return length;
+    function filterMetadataListByAlgorithm(metadataList, algorithm) {
+      if (metadataList.length === 1) {
+        return metadataList;
+      }
+      let pos = 0;
+      for (let i = 0; i < metadataList.length; ++i) {
+        if (metadataList[i].algo === algorithm) {
+          metadataList[pos++] = metadataList[i];
         }
       }
-      return -1;
+      metadataList.length = pos;
+      return metadataList;
     }
-    module2.exports = assocIndexOf;
-  }
-});
-
-// node_modules/lodash/_listCacheDelete.js
-var require_listCacheDelete = __commonJS({
-  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    var arrayProto = Array.prototype;
-    var splice = arrayProto.splice;
-    function listCacheDelete(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
         return false;
       }
-      var lastIndex = data.length - 1;
-      if (index == lastIndex) {
-        data.pop();
-      } else {
-        splice.call(data, index, 1);
+      for (let i = 0; i < actualValue.length; ++i) {
+        if (actualValue[i] !== expectedValue[i]) {
+          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
+            continue;
+          }
+          return false;
+        }
       }
-      --this.size;
       return true;
     }
-    module2.exports = listCacheDelete;
-  }
-});
-
-// node_modules/lodash/_listCacheGet.js
-var require_listCacheGet = __commonJS({
-  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheGet(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      return index < 0 ? void 0 : data[index][1];
-    }
-    module2.exports = listCacheGet;
-  }
-});
-
-// node_modules/lodash/_listCacheHas.js
-var require_listCacheHas = __commonJS({
-  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheHas(key) {
-      return assocIndexOf(this.__data__, key) > -1;
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
     }
-    module2.exports = listCacheHas;
-  }
-});
-
-// node_modules/lodash/_listCacheSet.js
-var require_listCacheSet = __commonJS({
-  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheSet(key, value) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
-        ++this.size;
-        data.push([key, value]);
-      } else {
-        data[index][1] = value;
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
       }
-      return this;
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
+      }
+      return false;
     }
-    module2.exports = listCacheSet;
-  }
-});
-
-// node_modules/lodash/_ListCache.js
-var require_ListCache = __commonJS({
-  "node_modules/lodash/_ListCache.js"(exports2, module2) {
-    var listCacheClear = require_listCacheClear();
-    var listCacheDelete = require_listCacheDelete();
-    var listCacheGet = require_listCacheGet();
-    var listCacheHas = require_listCacheHas();
-    var listCacheSet = require_listCacheSet();
-    function ListCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve3, reject) => {
+        res = resolve3;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    var normalizeMethodRecord = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    Object.setPrototypeOf(normalizeMethodRecord, null);
+    function normalizeMethod(method) {
+      return normalizeMethodRecord[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
       }
+      assert(typeof result === "string");
+      return result;
     }
-    ListCache.prototype.clear = listCacheClear;
-    ListCache.prototype["delete"] = listCacheDelete;
-    ListCache.prototype.get = listCacheGet;
-    ListCache.prototype.has = listCacheHas;
-    ListCache.prototype.set = listCacheSet;
-    module2.exports = ListCache;
-  }
-});
-
-// node_modules/lodash/_Map.js
-var require_Map = __commonJS({
-  "node_modules/lodash/_Map.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Map2 = getNative(root, "Map");
-    module2.exports = Map2;
-  }
-});
-
-// node_modules/lodash/_mapCacheClear.js
-var require_mapCacheClear = __commonJS({
-  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
-    var Hash = require_Hash();
-    var ListCache = require_ListCache();
-    var Map2 = require_Map();
-    function mapCacheClear() {
-      this.size = 0;
-      this.__data__ = {
-        "hash": new Hash(),
-        "map": new (Map2 || ListCache)(),
-        "string": new Hash()
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function makeIterator(iterator2, name, kind) {
+      const object = {
+        index: 0,
+        kind,
+        target: iterator2
+      };
+      const i = {
+        next() {
+          if (Object.getPrototypeOf(this) !== i) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const { index, kind: kind2, target } = object;
+          const values = target();
+          const len = values.length;
+          if (index >= len) {
+            return { value: void 0, done: true };
+          }
+          const pair = values[index];
+          object.index = index + 1;
+          return iteratorResult(pair, kind2);
+        },
+        // The class string of an iterator prototype object for a given interface is the
+        // result of concatenating the identifier of the interface and the string " Iterator".
+        [Symbol.toStringTag]: `${name} Iterator`
       };
+      Object.setPrototypeOf(i, esIteratorPrototype);
+      return Object.setPrototypeOf({}, i);
     }
-    module2.exports = mapCacheClear;
-  }
-});
-
-// node_modules/lodash/_isKeyable.js
-var require_isKeyable = __commonJS({
-  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
-    function isKeyable(value) {
-      var type2 = typeof value;
-      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
+    function iteratorResult(pair, kind) {
+      let result;
+      switch (kind) {
+        case "key": {
+          result = pair[0];
+          break;
+        }
+        case "value": {
+          result = pair[1];
+          break;
+        }
+        case "key+value": {
+          result = pair;
+          break;
+        }
+      }
+      return { value: result, done: false };
     }
-    module2.exports = isKeyable;
-  }
-});
-
-// node_modules/lodash/_getMapData.js
-var require_getMapData = __commonJS({
-  "node_modules/lodash/_getMapData.js"(exports2, module2) {
-    var isKeyable = require_isKeyable();
-    function getMapData(map2, key) {
-      var data = map2.__data__;
-      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        const result = await readAllBytes(reader);
+        successSteps(result);
+      } catch (e) {
+        errorSteps(e);
+      }
     }
-    module2.exports = getMapData;
-  }
-});
-
-// node_modules/lodash/_mapCacheDelete.js
-var require_mapCacheDelete = __commonJS({
-  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheDelete(key) {
-      var result = getMapData(this, key)["delete"](key);
-      this.size -= result ? 1 : 0;
-      return result;
+    var ReadableStream2 = globalThis.ReadableStream;
+    function isReadableStreamLike(stream) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
     }
-    module2.exports = mapCacheDelete;
-  }
-});
-
-// node_modules/lodash/_mapCacheGet.js
-var require_mapCacheGet = __commonJS({
-  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheGet(key) {
-      return getMapData(this, key).get(key);
+    var MAXIMUM_ARGUMENT_LENGTH = 65535;
+    function isomorphicDecode(input) {
+      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
+        return String.fromCharCode(...input);
+      }
+      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed")) {
+          throw err;
+        }
+      }
     }
-    module2.exports = mapCacheGet;
-  }
-});
-
-// node_modules/lodash/_mapCacheHas.js
-var require_mapCacheHas = __commonJS({
-  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheHas(key) {
-      return getMapData(this, key).has(key);
+    function isomorphicEncode(input) {
+      for (let i = 0; i < input.length; i++) {
+        assert(input.charCodeAt(i) <= 255);
+      }
+      return input;
     }
-    module2.exports = mapCacheHas;
-  }
-});
-
-// node_modules/lodash/_mapCacheSet.js
-var require_mapCacheSet = __commonJS({
-  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheSet(key, value) {
-      var data = getMapData(this, key), size = data.size;
-      data.set(key, value);
-      this.size += data.size == size ? 0 : 1;
-      return this;
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
+        }
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
+        }
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
     }
-    module2.exports = mapCacheSet;
-  }
-});
-
-// node_modules/lodash/_MapCache.js
-var require_MapCache = __commonJS({
-  "node_modules/lodash/_MapCache.js"(exports2, module2) {
-    var mapCacheClear = require_mapCacheClear();
-    var mapCacheDelete = require_mapCacheDelete();
-    var mapCacheGet = require_mapCacheGet();
-    var mapCacheHas = require_mapCacheHas();
-    var mapCacheSet = require_mapCacheSet();
-    function MapCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    function urlIsLocal(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url) {
+      if (typeof url === "string") {
+        return url.startsWith("https:");
       }
+      return url.protocol === "https:";
     }
-    MapCache.prototype.clear = mapCacheClear;
-    MapCache.prototype["delete"] = mapCacheDelete;
-    MapCache.prototype.get = mapCacheGet;
-    MapCache.prototype.has = mapCacheHas;
-    MapCache.prototype.set = mapCacheSet;
-    module2.exports = MapCache;
-  }
-});
-
-// node_modules/lodash/_setCacheAdd.js
-var require_setCacheAdd = __commonJS({
-  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function setCacheAdd(value) {
-      this.__data__.set(value, HASH_UNDEFINED);
-      return this;
+    function urlIsHttpHttpsScheme(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "http:" || protocol === "https:";
     }
-    module2.exports = setCacheAdd;
+    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      toUSVString,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      hasOwn,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      isomorphicDecode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      normalizeMethodRecord,
+      parseMetadata
+    };
   }
 });
 
-// node_modules/lodash/_setCacheHas.js
-var require_setCacheHas = __commonJS({
-  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
-    function setCacheHas(value) {
-      return this.__data__.has(value);
-    }
-    module2.exports = setCacheHas;
+// node_modules/undici/lib/fetch/symbols.js
+var require_symbols12 = __commonJS({
+  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kGuard: /* @__PURE__ */ Symbol("guard"),
+      kRealm: /* @__PURE__ */ Symbol("realm")
+    };
   }
 });
 
-// node_modules/lodash/_SetCache.js
-var require_SetCache = __commonJS({
-  "node_modules/lodash/_SetCache.js"(exports2, module2) {
-    var MapCache = require_MapCache();
-    var setCacheAdd = require_setCacheAdd();
-    var setCacheHas = require_setCacheHas();
-    function SetCache(values) {
-      var index = -1, length = values == null ? 0 : values.length;
-      this.__data__ = new MapCache();
-      while (++index < length) {
-        this.add(values[index]);
+// node_modules/undici/lib/fetch/webidl.js
+var require_webidl3 = __commonJS({
+  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types } = require("util");
+    var { hasOwn, toUSVString } = require_util25();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts = void 0) {
+      if (opts?.strict !== false && !(V instanceof I)) {
+        throw new TypeError("Illegal invocation");
+      } else {
+        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+      }
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          ...ctx
+        });
+      }
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
+      });
+    };
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
+          }
+          return "Object";
+        }
+      }
+    };
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
+        }
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
+      }
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
+      }
+      if (opts.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${V} to an integer.`
+          });
+        }
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
+        }
+        return x;
+      }
+      if (!Number.isNaN(x) && opts.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
+      }
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
+      }
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
+      }
+      return r;
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
+          });
+        }
+        const method = V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: "Object is not an iterator."
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
+          }
+          seq2.push(converter(value));
+        }
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Record",
+            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
+          });
+        }
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = Object.keys(O);
+          for (const key of keys2) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
+          }
+          return result;
+        }
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
+          }
+        }
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, opts = {}) => {
+        if (opts.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: i.name,
+            message: `Expected ${V} to be an instance of ${i.name}.`
+          });
+        }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: "Dictionary",
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
+          });
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value = value ?? defaultValue;
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V);
+      };
+    };
+    webidl.converters.DOMString = function(V, opts = {}) {
+      if (V === null && opts.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw new TypeError("Could not convert argument of type symbol to string.");
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V) {
+      const x = webidl.converters.DOMString(V);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
+      }
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed");
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${V}`,
+          argument: `${V}`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${T.name}`,
+          argument: `${V}`,
+          types: [T.name]
+        });
+      }
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: "DataView",
+          message: "Object is not a DataView."
+        });
+      }
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, opts = {}) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, opts);
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor);
       }
-    }
-    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
-    SetCache.prototype.has = setCacheHas;
-    module2.exports = SetCache;
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, opts);
+      }
+      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
   }
 });
 
-// node_modules/lodash/_baseFindIndex.js
-var require_baseFindIndex = __commonJS({
-  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
-    function baseFindIndex(array, predicate, fromIndex, fromRight) {
-      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
-      while (fromRight ? index-- : ++index < length) {
-        if (predicate(array[index], index, array)) {
-          return index;
+// node_modules/undici/lib/fetch/dataURL.js
+var require_dataURL = __commonJS({
+  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
+    var assert = require("assert");
+    var { atob: atob2 } = require("buffer");
+    var { isomorphicDecode } = require_util25();
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
+    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      return -1;
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
+      }
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
     }
-    module2.exports = baseFindIndex;
-  }
-});
-
-// node_modules/lodash/_baseIsNaN.js
-var require_baseIsNaN = __commonJS({
-  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
-    function baseIsNaN(value) {
-      return value !== value;
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
     }
-    module2.exports = baseIsNaN;
-  }
-});
-
-// node_modules/lodash/_strictIndexOf.js
-var require_strictIndexOf = __commonJS({
-  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
-    function strictIndexOf(array, value, fromIndex) {
-      var index = fromIndex - 1, length = array.length;
-      while (++index < length) {
-        if (array[index] === value) {
-          return index;
-        }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
       }
-      return -1;
+      return result;
     }
-    module2.exports = strictIndexOf;
-  }
-});
-
-// node_modules/lodash/_baseIndexOf.js
-var require_baseIndexOf = __commonJS({
-  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
-    var baseFindIndex = require_baseFindIndex();
-    var baseIsNaN = require_baseIsNaN();
-    var strictIndexOf = require_strictIndexOf();
-    function baseIndexOf(array, value, fromIndex) {
-      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
     }
-    module2.exports = baseIndexOf;
-  }
-});
-
-// node_modules/lodash/_arrayIncludes.js
-var require_arrayIncludes = __commonJS({
-  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
-    var baseIndexOf = require_baseIndexOf();
-    function arrayIncludes(array, value) {
-      var length = array == null ? 0 : array.length;
-      return !!length && baseIndexOf(array, value, 0) > -1;
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
     }
-    module2.exports = arrayIncludes;
-  }
-});
-
-// node_modules/lodash/_arrayIncludesWith.js
-var require_arrayIncludesWith = __commonJS({
-  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
-    function arrayIncludesWith(array, value, comparator) {
-      var index = -1, length = array == null ? 0 : array.length;
-      while (++index < length) {
-        if (comparator(value, array[index])) {
-          return true;
+    function percentDecode(input) {
+      const output = [];
+      for (let i = 0; i < input.length; i++) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output.push(byte);
+        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
+          output.push(37);
+        } else {
+          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
+          const bytePoint = Number.parseInt(nextTwoBytes, 16);
+          output.push(bytePoint);
+          i += 2;
         }
       }
-      return false;
+      return Uint8Array.from(output);
     }
-    module2.exports = arrayIncludesWith;
-  }
-});
-
-// node_modules/lodash/_arrayMap.js
-var require_arrayMap = __commonJS({
-  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
-    function arrayMap(array, iteratee) {
-      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
-      while (++index < length) {
-        result[index] = iteratee(array[index], index, array);
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
       }
-      return result;
-    }
-    module2.exports = arrayMap;
-  }
-});
-
-// node_modules/lodash/_cacheHas.js
-var require_cacheHas = __commonJS({
-  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
-    function cacheHas(cache, key) {
-      return cache.has(key);
+      if (position.position > input.length) {
+        return "failure";
+      }
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
+      }
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
+          }
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+        } else {
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
+          }
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
     }
-    module2.exports = cacheHas;
-  }
-});
-
-// node_modules/lodash/_baseDifference.js
-var require_baseDifference = __commonJS({
-  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var arrayMap = require_arrayMap();
-    var baseUnary = require_baseUnary();
-    var cacheHas = require_cacheHas();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseDifference(array, values, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
-      if (!length) {
-        return result;
+    function forgivingBase64(data) {
+      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
+      if (data.length % 4 === 0) {
+        data = data.replace(/=?=$/, "");
       }
-      if (iteratee) {
-        values = arrayMap(values, baseUnary(iteratee));
+      if (data.length % 4 === 1) {
+        return "failure";
       }
-      if (comparator) {
-        includes = arrayIncludesWith;
-        isCommon = false;
-      } else if (values.length >= LARGE_ARRAY_SIZE) {
-        includes = cacheHas;
-        isCommon = false;
-        values = new SetCache(values);
+      if (/[^+/0-9A-Za-z]/.test(data)) {
+        return "failure";
       }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee == null ? value : iteratee(value);
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var valuesIndex = valuesLength;
-            while (valuesIndex--) {
-              if (values[valuesIndex] === computed) {
-                continue outer;
-              }
-            }
-            result.push(value);
-          } else if (!includes(values, computed, comparator)) {
-            result.push(value);
+      const binary2 = atob2(data);
+      const bytes = new Uint8Array(binary2.length);
+      for (let byte = 0; byte < binary2.length; byte++) {
+        bytes[byte] = binary2.charCodeAt(byte);
+      }
+      return bytes;
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
           }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
         }
-      return result;
-    }
-    module2.exports = baseDifference;
-  }
-});
-
-// node_modules/lodash/isArrayLikeObject.js
-var require_isArrayLikeObject = __commonJS({
-  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
-    var isArrayLike = require_isArrayLike();
-    var isObjectLike = require_isObjectLike();
-    function isArrayLikeObject(value) {
-      return isObjectLike(value) && isArrayLike(value);
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
     }
-    module2.exports = isArrayLikeObject;
-  }
-});
-
-// node_modules/lodash/difference.js
-var require_difference = __commonJS({
-  "node_modules/lodash/difference.js"(exports2, module2) {
-    var baseDifference = require_baseDifference();
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var difference = baseRest(function(array, values) {
-      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
-    });
-    module2.exports = difference;
-  }
-});
-
-// node_modules/lodash/_Set.js
-var require_Set = __commonJS({
-  "node_modules/lodash/_Set.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Set2 = getNative(root, "Set");
-    module2.exports = Set2;
-  }
-});
-
-// node_modules/lodash/noop.js
-var require_noop = __commonJS({
-  "node_modules/lodash/noop.js"(exports2, module2) {
-    function noop3() {
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
     }
-    module2.exports = noop3;
-  }
-});
-
-// node_modules/lodash/_setToArray.js
-var require_setToArray = __commonJS({
-  "node_modules/lodash/_setToArray.js"(exports2, module2) {
-    function setToArray(set2) {
-      var index = -1, result = Array(set2.size);
-      set2.forEach(function(value) {
-        result[++index] = value;
-      });
-      return result;
+    function isHTTPWhiteSpace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === " ";
     }
-    module2.exports = setToArray;
-  }
-});
-
-// node_modules/lodash/_createSet.js
-var require_createSet = __commonJS({
-  "node_modules/lodash/_createSet.js"(exports2, module2) {
-    var Set2 = require_Set();
-    var noop3 = require_noop();
-    var setToArray = require_setToArray();
-    var INFINITY = 1 / 0;
-    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
-      return new Set2(values);
-    };
-    module2.exports = createSet;
-  }
-});
-
-// node_modules/lodash/_baseUniq.js
-var require_baseUniq = __commonJS({
-  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var cacheHas = require_cacheHas();
-    var createSet = require_createSet();
-    var setToArray = require_setToArray();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseUniq(array, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
-      if (comparator) {
-        isCommon = false;
-        includes = arrayIncludesWith;
-      } else if (length >= LARGE_ARRAY_SIZE) {
-        var set2 = iteratee ? null : createSet(array);
-        if (set2) {
-          return setToArray(set2);
-        }
-        isCommon = false;
-        includes = cacheHas;
-        seen = new SetCache();
-      } else {
-        seen = iteratee ? [] : result;
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
       }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee ? iteratee(value) : value;
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var seenIndex = seen.length;
-            while (seenIndex--) {
-              if (seen[seenIndex] === computed) {
-                continue outer;
-              }
-            }
-            if (iteratee) {
-              seen.push(computed);
-            }
-            result.push(value);
-          } else if (!includes(seen, computed, comparator)) {
-            if (seen !== result) {
-              seen.push(computed);
-            }
-            result.push(value);
-          }
-        }
-      return result;
+      if (trailing) {
+        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      }
+      return str2.slice(lead, trail + 1);
     }
-    module2.exports = baseUniq;
-  }
-});
-
-// node_modules/lodash/union.js
-var require_union = __commonJS({
-  "node_modules/lodash/union.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var baseUniq = require_baseUniq();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var union = baseRest(function(arrays) {
-      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
-    });
-    module2.exports = union;
-  }
-});
-
-// node_modules/lodash/_overArg.js
-var require_overArg = __commonJS({
-  "node_modules/lodash/_overArg.js"(exports2, module2) {
-    function overArg(func, transform) {
-      return function(arg) {
-        return func(transform(arg));
-      };
+    function isASCIIWhitespace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
     }
-    module2.exports = overArg;
-  }
-});
-
-// node_modules/lodash/_getPrototype.js
-var require_getPrototype = __commonJS({
-  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
-    var overArg = require_overArg();
-    var getPrototype = overArg(Object.getPrototypeOf, Object);
-    module2.exports = getPrototype;
-  }
-});
-
-// node_modules/lodash/isPlainObject.js
-var require_isPlainObject = __commonJS({
-  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var getPrototype = require_getPrototype();
-    var isObjectLike = require_isObjectLike();
-    var objectTag = "[object Object]";
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var objectCtorString = funcToString.call(Object);
-    function isPlainObject3(value) {
-      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
-        return false;
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
       }
-      var proto = getPrototype(value);
-      if (proto === null) {
-        return true;
+      if (trailing) {
+        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
       }
-      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
-      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
+      return str2.slice(lead, trail + 1);
     }
-    module2.exports = isPlainObject3;
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType
+    };
   }
 });
 
-// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
-var require_commonjs18 = __commonJS({
-  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/file.js
+var require_file5 = __commonJS({
+  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.range = exports2.balanced = void 0;
-    var balanced = (a, b, str2) => {
-      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
-      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
-      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
-      return r && {
-        start: r[0],
-        end: r[1],
-        pre: str2.slice(0, r[0]),
-        body: str2.slice(r[0] + ma.length, r[1]),
-        post: str2.slice(r[1] + mb.length)
-      };
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { types } = require("util");
+    var { kState } = require_symbols12();
+    var { isBlobLike } = require_util25();
+    var { webidl } = require_webidl3();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var { kEnumerableProperty } = require_util24();
+    var encoder = new TextEncoder();
+    var File2 = class _File extends Blob2 {
+      constructor(fileBits, fileName, options = {}) {
+        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
+        fileBits = webidl.converters["sequence"](fileBits);
+        fileName = webidl.converters.USVString(fileName);
+        options = webidl.converters.FilePropertyBag(options);
+        const n = fileName;
+        let t = options.type;
+        let d;
+        substep: {
+          if (t) {
+            t = parseMIMEType(t);
+            if (t === "failure") {
+              t = "";
+              break substep;
+            }
+            t = serializeAMimeType(t).toLowerCase();
+          }
+          d = options.lastModified;
+        }
+        super(processBlobParts(fileBits, options), { type: t });
+        this[kState] = {
+          name: n,
+          lastModified: d,
+          type: t
+        };
+      }
+      get name() {
+        webidl.brandCheck(this, _File);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _File);
+        return this[kState].lastModified;
+      }
+      get type() {
+        webidl.brandCheck(this, _File);
+        return this[kState].type;
+      }
     };
-    exports2.balanced = balanced;
-    var maybeMatch = (reg, str2) => {
-      const m = str2.match(reg);
-      return m ? m[0] : null;
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
+      }
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
+      }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
+      }
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
+      }
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
+      }
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
+      }
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
+      }
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
+      }
+      get [Symbol.toStringTag]() {
+        return "File";
+      }
     };
-    var range = (a, b, str2) => {
-      let begs, beg, left, right = void 0, result;
-      let ai = str2.indexOf(a);
-      let bi = str2.indexOf(b, ai + 1);
-      let i = ai;
-      if (ai >= 0 && bi > 0) {
-        if (a === b) {
-          return [ai, bi];
+    Object.defineProperties(File2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "File",
+        configurable: true
+      },
+      name: kEnumerableProperty,
+      lastModified: kEnumerableProperty
+    });
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    webidl.converters.BlobPart = function(V, opts) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
         }
-        begs = [];
-        left = str2.length;
-        while (i >= 0 && !result) {
-          if (i === ai) {
-            begs.push(i);
-            ai = str2.indexOf(a, i + 1);
-          } else if (begs.length === 1) {
-            const r = begs.pop();
-            if (r !== void 0)
-              result = [r, bi];
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V, opts);
+        }
+      }
+      return webidl.converters.USVString(V, opts);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.BlobPart
+    );
+    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
+      {
+        key: "lastModified",
+        converter: webidl.converters["long long"],
+        get defaultValue() {
+          return Date.now();
+        }
+      },
+      {
+        key: "type",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "endings",
+        converter: (value) => {
+          value = webidl.converters.DOMString(value);
+          value = value.toLowerCase();
+          if (value !== "native") {
+            value = "transparent";
+          }
+          return value;
+        },
+        defaultValue: "transparent"
+      }
+    ]);
+    function processBlobParts(parts, options) {
+      const bytes = [];
+      for (const element of parts) {
+        if (typeof element === "string") {
+          let s = element;
+          if (options.endings === "native") {
+            s = convertLineEndingsNative(s);
+          }
+          bytes.push(encoder.encode(s));
+        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
+          if (!element.buffer) {
+            bytes.push(new Uint8Array(element));
           } else {
-            beg = begs.pop();
-            if (beg !== void 0 && beg < left) {
-              left = beg;
-              right = bi;
-            }
-            bi = str2.indexOf(b, i + 1);
+            bytes.push(
+              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
+            );
           }
-          i = ai < bi && ai >= 0 ? ai : bi;
-        }
-        if (begs.length && right !== void 0) {
-          result = [left, right];
+        } else if (isBlobLike(element)) {
+          bytes.push(element);
         }
       }
-      return result;
-    };
-    exports2.range = range;
+      return bytes;
+    }
+    function convertLineEndingsNative(s) {
+      let nativeLineEnding = "\n";
+      if (process.platform === "win32") {
+        nativeLineEnding = "\r\n";
+      }
+      return s.replace(/\r?\n/g, nativeLineEnding);
+    }
+    function isFileLike(object) {
+      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { File: File2, FileLike, isFileLike };
   }
 });
 
-// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
-var require_commonjs19 = __commonJS({
-  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/formdata.js
+var require_formdata3 = __commonJS({
+  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.expand = expand2;
-    var balanced_match_1 = require_commonjs18();
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    var escSlashPattern = new RegExp(escSlash, "g");
-    var escOpenPattern = new RegExp(escOpen, "g");
-    var escClosePattern = new RegExp(escClose, "g");
-    var escCommaPattern = new RegExp(escComma, "g");
-    var escPeriodPattern = new RegExp(escPeriod, "g");
-    var slashPattern = /\\\\/g;
-    var openPattern = /\\{/g;
-    var closePattern = /\\}/g;
-    var commaPattern = /\\,/g;
-    var periodPattern = /\\./g;
-    function numeric(str2) {
-      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2) {
-        return [""];
+    var { isBlobLike, toUSVString, makeIterator } = require_util25();
+    var { kState } = require_symbols12();
+    var { File: UndiciFile, FileLike, isFileLike } = require_file5();
+    var { webidl } = require_webidl3();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var File2 = NativeFile ?? UndiciFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
       }
-      const parts = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m) {
-        return str2.split(",");
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
       }
-      const { pre, body, post } = m;
-      const p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      const postParts = parseCommaParts(post);
-      if (post.length) {
-        ;
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
+        name = webidl.converters.USVString(name);
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
       }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expand2(str2) {
-      if (!str2) {
-        return [];
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
+        name = webidl.converters.USVString(name);
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
       }
-      if (str2.slice(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.slice(2);
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
+        name = webidl.converters.USVString(name);
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
       }
-      return expand_(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand_(str2, isTop) {
-      const expansions = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m)
-        return [str2];
-      const pre = m.pre;
-      const post = m.post.length ? expand_(m.post, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (let k = 0; k < post.length; k++) {
-          const expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
-        }
-      } else {
-        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        const isSequence = isNumericSequence || isAlphaSequence;
-        const isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand_(str2);
-          }
-          return [str2];
-        }
-        let n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1 && n[0] !== void 0) {
-            n = expand_(n[0], false).map(embrace);
-            if (n.length === 1) {
-              return post.map((p) => m.pre + n[0] + p);
-            }
-          }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
+        name = webidl.converters.USVString(name);
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
         }
-        let N;
-        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
-          const x = numeric(n[0]);
-          const y = numeric(n[1]);
-          const width = Math.max(n[0].length, n[1].length);
-          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
-          let test = lte;
-          const reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
-          }
-          const pad = n.some(isPadded);
-          N = [];
-          for (let i = x; test(i, y); i += incr) {
-            let c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\") {
-                c = "";
-              }
-            } else {
-              c = String(i);
-              if (pad) {
-                const need = width - c.length;
-                if (need > 0) {
-                  const z = new Array(need + 1).join("0");
-                  if (i < 0) {
-                    c = "-" + z + c.slice(1);
-                  } else {
-                    c = z + c;
-                  }
-                }
-              }
-            }
-            N.push(c);
-          }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
         } else {
-          N = [];
-          for (let j = 0; j < n.length; j++) {
-            N.push.apply(N, expand_(n[j], false));
-          }
-        }
-        for (let j = 0; j < N.length; j++) {
-          for (let k = 0; k < post.length; k++) {
-            const expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion) {
-              expansions.push(expansion);
-            }
-          }
+          this[kState].push(entry);
         }
       }
-      return expansions;
-    }
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
-var require_assert_valid_pattern = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertValidPattern = void 0;
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
+      entries() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key+value"
+        );
       }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
+      keys() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key"
+        );
+      }
+      values() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "value"
+        );
+      }
+      /**
+       * @param {(value: string, key: string, self: FormData) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
       }
     };
-    exports2.assertValidPattern = assertValidPattern;
+    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
+    Object.defineProperties(FormData2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      name = Buffer.from(name).toString("utf8");
+      if (typeof value === "string") {
+        value = Buffer.from(value).toString("utf8");
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2 };
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
-var require_brace_expressions = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
+// node_modules/undici/lib/fetch/body.js
+var require_body3 = __commonJS({
+  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseClass = void 0;
-    var posixClasses = {
-      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
-      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
-      "[:ascii:]": ["\\x00-\\x7f", false],
-      "[:blank:]": ["\\p{Zs}\\t", true],
-      "[:cntrl:]": ["\\p{Cc}", true],
-      "[:digit:]": ["\\p{Nd}", true],
-      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
-      "[:lower:]": ["\\p{Ll}", true],
-      "[:print:]": ["\\p{C}", true],
-      "[:punct:]": ["\\p{P}", true],
-      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
-      "[:upper:]": ["\\p{Lu}", true],
-      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
-      "[:xdigit:]": ["A-Fa-f0-9", false]
-    };
-    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
-    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var rangesToString = (ranges) => ranges.join("");
-    var parseClass = (glob2, position) => {
-      const pos = position;
-      if (glob2.charAt(pos) !== "[") {
-        throw new Error("not in a brace expression");
+    var Busboy = require_main();
+    var util = require_util24();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody
+    } = require_util25();
+    var { FormData: FormData2 } = require_formdata3();
+    var { kState } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2, structuredClone } = require_constants21();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { isErrored } = require_util24();
+    var { isUint8Array, isArrayBuffer } = require("util/types");
+    var { File: UndiciFile } = require_file5();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var ReadableStream2 = globalThis.ReadableStream;
+    var File2 = NativeFile ?? UndiciFile;
+    var textEncoder = new TextEncoder();
+    var textDecoder = new TextDecoder();
+    function extractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      const ranges = [];
-      const negs = [];
-      let i = pos + 1;
-      let sawStart = false;
-      let uflag = false;
-      let escaping = false;
-      let negate = false;
-      let endPos = pos;
-      let rangeStart = "";
-      WHILE: while (i < glob2.length) {
-        const c = glob2.charAt(i);
-        if ((c === "!" || c === "^") && i === pos + 1) {
-          negate = true;
-          i++;
-          continue;
-        }
-        if (c === "]" && sawStart && !escaping) {
-          endPos = i + 1;
-          break;
-        }
-        sawStart = true;
-        if (c === "\\") {
-          if (!escaping) {
-            escaping = true;
-            i++;
-            continue;
-          }
-        }
-        if (c === "[" && !escaping) {
-          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
-            if (glob2.startsWith(cls, i)) {
-              if (rangeStart) {
-                return ["$.", false, glob2.length - pos, true];
-              }
-              i += cls.length;
-              if (neg)
-                negs.push(unip);
-              else
-                ranges.push(unip);
-              uflag = uflag || u;
-              continue WHILE;
+      let stream = null;
+      if (object instanceof ReadableStream2) {
+        stream = object;
+      } else if (isBlobLike(object)) {
+        stream = object.stream();
+      } else {
+        stream = new ReadableStream2({
+          async pull(controller) {
+            controller.enqueue(
+              typeof source === "string" ? textEncoder.encode(source) : source
+            );
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: void 0
+        });
+      }
+      assert(isReadableStreamLike(stream));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
             }
           }
         }
-        escaping = false;
-        if (rangeStart) {
-          if (c > rangeStart) {
-            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
-          } else if (c === rangeStart) {
-            ranges.push(braceEscape(c));
+        const chunk = textEncoder.encode(`--${boundary}--`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
           }
-          rangeStart = "";
-          i++;
-          continue;
+        };
+        type2 = "multipart/form-data; boundary=" + boundary;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
         }
-        if (glob2.startsWith("-]", i + 1)) {
-          ranges.push(braceEscape(c + "-"));
-          i += 2;
-          continue;
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
         }
-        if (glob2.startsWith("-", i + 1)) {
-          rangeStart = c;
-          i += 2;
-          continue;
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
         }
-        ranges.push(braceEscape(c));
-        i++;
-      }
-      if (endPos < i) {
-        return ["", false, 0, false];
-      }
-      if (!ranges.length && !negs.length) {
-        return ["$.", false, glob2.length - pos, true];
+        stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
       }
-      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate) {
-        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
-        return [regexpEscape(r), false, endPos - pos, false];
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
       }
-      const sranges = "[" + (negate ? "^" : "") + rangesToString(ranges) + "]";
-      const snegs = "[" + (negate ? "" : "^") + rangesToString(negs) + "]";
-      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
-      return [comb, uflag, endPos - pos, true];
-    };
-    exports2.parseClass = parseClass;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
-var require_unescape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = void 0;
-    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
+      if (action != null) {
+        let iterator2;
+        stream = new ReadableStream2({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              if (!isErrored(stream)) {
+                controller.enqueue(new Uint8Array(value));
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: void 0
+        });
       }
-      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
-    };
-    exports2.unescape = unescape;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
-var require_ast = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AST = void 0;
-    var brace_expressions_js_1 = require_brace_expressions();
-    var unescape_js_1 = require_unescape();
-    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
-    var isExtglobType = (c) => types.has(c);
-    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
-    var startNoDot = "(?!\\.)";
-    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
-    var justDots = /* @__PURE__ */ new Set(["..", "."]);
-    var reSpecials = new Set("().*{}+?[]^$\\!");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var starNoEmpty = qmark + "+?";
-    var AST = class _AST {
-      type;
-      #root;
-      #hasMagic;
-      #uflag = false;
-      #parts = [];
-      #parent;
-      #parentIndex;
-      #negs;
-      #filledNegs = false;
-      #options;
-      #toString;
-      // set to true if it's an extglob with no children
-      // (which really means one child of '')
-      #emptyExt = false;
-      constructor(type2, parent, options = {}) {
-        this.type = type2;
-        if (type2)
-          this.#hasMagic = true;
-        this.#parent = parent;
-        this.#root = this.#parent ? this.#parent.#root : this;
-        this.#options = this.#root === this ? options : this.#root.#options;
-        this.#negs = this.#root === this ? [] : this.#root.#negs;
-        if (type2 === "!" && !this.#root.#filledNegs)
-          this.#negs.push(this);
-        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
+      const body = { stream, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      get hasMagic() {
-        if (this.#hasMagic !== void 0)
-          return this.#hasMagic;
-        for (const p of this.#parts) {
-          if (typeof p === "string")
-            continue;
-          if (p.type || p.hasMagic)
-            return this.#hasMagic = true;
-        }
-        return this.#hasMagic;
+      if (object instanceof ReadableStream2) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
       }
-      // reconstructs the pattern
-      toString() {
-        if (this.#toString !== void 0)
-          return this.#toString;
-        if (!this.type) {
-          return this.#toString = this.#parts.map((p) => String(p)).join("");
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(body) {
+      const [out1, out2] = body.stream.tee();
+      const out2Clone = structuredClone(out2, { transfer: [out2] });
+      const [, finalClone] = out2Clone.tee();
+      body.stream = out1;
+      return {
+        stream: finalClone,
+        length: body.length,
+        source: body.source
+      };
+    }
+    async function* consumeBody(body) {
+      if (body) {
+        if (isUint8Array(body)) {
+          yield body;
         } else {
-          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
+          const stream = body.stream;
+          if (util.isDisturbed(stream)) {
+            throw new TypeError("The body has already been consumed.");
+          }
+          if (stream.locked) {
+            throw new TypeError("The stream is locked.");
+          }
+          stream[kBodyUsed] = true;
+          yield* stream;
         }
       }
-      #fillNegs() {
-        if (this !== this.#root)
-          throw new Error("should only call on root");
-        if (this.#filledNegs)
-          return this;
-        this.toString();
-        this.#filledNegs = true;
-        let n;
-        while (n = this.#negs.pop()) {
-          if (n.type !== "!")
-            continue;
-          let p = n;
-          let pp = p.#parent;
-          while (pp) {
-            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
-              for (const part of n.#parts) {
-                if (typeof part === "string") {
-                  throw new Error("string part in extglob AST??");
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException2("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return specConsumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === "failure") {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return specConsumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return specConsumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return specConsumeBody(this, parseJSONFromBytes, instance);
+        },
+        async formData() {
+          webidl.brandCheck(this, instance);
+          throwIfAborted(this[kState]);
+          const contentType = this.headers.get("Content-Type");
+          if (/multipart\/form-data/.test(contentType)) {
+            const headers = {};
+            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
+            const responseFormData = new FormData2();
+            let busboy;
+            try {
+              busboy = new Busboy({
+                headers,
+                preservePath: true
+              });
+            } catch (err) {
+              throw new DOMException2(`${err}`, "AbortError");
+            }
+            busboy.on("field", (name, value) => {
+              responseFormData.append(name, value);
+            });
+            busboy.on("file", (name, value, filename, encoding, mimeType) => {
+              const chunks = [];
+              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
+                let base64chunk = "";
+                value.on("data", (chunk) => {
+                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
+                  const end = base64chunk.length - base64chunk.length % 4;
+                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
+                  base64chunk = base64chunk.slice(end);
+                });
+                value.on("end", () => {
+                  chunks.push(Buffer.from(base64chunk, "base64"));
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              } else {
+                value.on("data", (chunk) => {
+                  chunks.push(chunk);
+                });
+                value.on("end", () => {
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              }
+            });
+            const busboyResolve = new Promise((resolve3, reject) => {
+              busboy.on("finish", resolve3);
+              busboy.on("error", (err) => reject(new TypeError(err)));
+            });
+            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
+            busboy.end();
+            await busboyResolve;
+            return responseFormData;
+          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
+            let entries;
+            try {
+              let text = "";
+              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
+              for await (const chunk of consumeBody(this[kState].body)) {
+                if (!isUint8Array(chunk)) {
+                  throw new TypeError("Expected Uint8Array chunk");
                 }
-                part.copyIn(pp.#parts[i]);
+                text += streamingDecoder.decode(chunk, { stream: true });
               }
+              text += streamingDecoder.decode();
+              entries = new URLSearchParams(text);
+            } catch (err) {
+              throw Object.assign(new TypeError(), { cause: err });
             }
-            p = pp;
-            pp = p.#parent;
-          }
-        }
-        return this;
-      }
-      push(...parts) {
-        for (const p of parts) {
-          if (p === "")
-            continue;
-          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
-            throw new Error("invalid part: " + p);
+            const formData = new FormData2();
+            for (const [name, value] of entries) {
+              formData.append(name, value);
+            }
+            return formData;
+          } else {
+            await Promise.resolve();
+            throwIfAborted(this[kState]);
+            throw webidl.errors.exception({
+              header: `${instance.name}.formData`,
+              message: "Could not parse content as FormData."
+            });
           }
-          this.#parts.push(p);
         }
+      };
+      return methods;
+    }
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function specConsumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      throwIfAborted(object[kState]);
+      if (bodyUnusable(object[kState].body)) {
+        throw new TypeError("Body is unusable");
       }
-      toJSON() {
-        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
-        if (this.isStart() && !this.type)
-          ret.unshift([]);
-        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
-          ret.push({});
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
         }
-        return ret;
+      };
+      if (object[kState].body == null) {
+        successSteps(new Uint8Array());
+        return promise.promise;
       }
-      isStart() {
-        if (this.#root === this)
-          return true;
-        if (!this.#parent?.isStart())
-          return false;
-        if (this.#parentIndex === 0)
-          return true;
-        const p = this.#parent;
-        for (let i = 0; i < this.#parentIndex; i++) {
-          const pp = p.#parts[i];
-          if (!(pp instanceof _AST && pp.type === "!")) {
-            return false;
-          }
-        }
-        return true;
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(body) {
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
       }
-      isEnd() {
-        if (this.#root === this)
-          return true;
-        if (this.#parent?.type === "!")
-          return true;
-        if (!this.#parent?.isEnd())
-          return false;
-        if (!this.type)
-          return this.#parent?.isEnd();
-        const pl = this.#parent ? this.#parent.#parts.length : 0;
-        return this.#parentIndex === pl - 1;
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
       }
-      copyIn(part) {
-        if (typeof part === "string")
-          this.push(part);
-        else
-          this.push(part.clone(this));
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(object) {
+      const { headersList } = object[kState];
+      const contentType = headersList.get("content-type");
+      if (contentType === null) {
+        return "failure";
       }
-      clone(parent) {
-        const c = new _AST(this.type, parent);
-        for (const p of this.#parts) {
-          c.copyIn(p);
+      return parseMIMEType(contentType);
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody
+    };
+  }
+});
+
+// node_modules/undici/lib/core/request.js
+var require_request5 = __commonJS({
+  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+    "use strict";
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors6();
+    var assert = require("assert");
+    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols11();
+    var util = require_util24();
+    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var channels = {};
+    var extractBody;
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.create = diagnosticsChannel.channel("undici:request:create");
+      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
+      channels.headers = diagnosticsChannel.channel("undici:request:headers");
+      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
+      channels.error = diagnosticsChannel.channel("undici:request:error");
+    } catch {
+      channels.create = { hasSubscribers: false };
+      channels.bodySent = { hasSubscribers: false };
+      channels.headers = { hasSubscribers: false };
+      channels.trailers = { hasSubscribers: false };
+      channels.error = { hasSubscribers: false };
+    }
+    var Request = class _Request {
+      constructor(origin, {
+        path: path4,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue
+      }, handler2) {
+        if (typeof path4 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path4[0] !== "/" && !(path4.startsWith("http://") || path4.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.exec(path4) !== null) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        return c;
-      }
-      static #parseAST(str2, ast, pos, opt) {
-        let escaping = false;
-        let inBrace = false;
-        let braceStart = -1;
-        let braceNeg = false;
-        if (ast.type === null) {
-          let i2 = pos;
-          let acc2 = "";
-          while (i2 < str2.length) {
-            const c = str2.charAt(i2++);
-            if (escaping || c === "\\") {
-              escaping = !escaping;
-              acc2 += c;
-              continue;
-            }
-            if (inBrace) {
-              if (i2 === braceStart + 1) {
-                if (c === "^" || c === "!") {
-                  braceNeg = true;
-                }
-              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
-                inBrace = false;
-              }
-              acc2 += c;
-              continue;
-            } else if (c === "[") {
-              inBrace = true;
-              braceStart = i2;
-              braceNeg = false;
-              acc2 += c;
-              continue;
-            }
-            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
-              ast.push(acc2);
-              acc2 = "";
-              const ext = new _AST(c, ast);
-              i2 = _AST.#parseAST(str2, ext, i2, opt);
-              ast.push(ext);
-              continue;
-            }
-            acc2 += c;
-          }
-          ast.push(acc2);
-          return i2;
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (tokenRegExp.exec(method) === null) {
+          throw new InvalidArgumentError("invalid request method");
         }
-        let i = pos + 1;
-        let part = new _AST(null, ast);
-        const parts = [];
-        let acc = "";
-        while (i < str2.length) {
-          const c = str2.charAt(i++);
-          if (escaping || c === "\\") {
-            escaping = !escaping;
-            acc += c;
-            continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
+        }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
+        }
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
+        }
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
+        }
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
+        }
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (util.isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              util.destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-          if (inBrace) {
-            if (i === braceStart + 1) {
-              if (c === "^" || c === "!") {
-                braceNeg = true;
-              }
-            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
-              inBrace = false;
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
             }
-            acc += c;
-            continue;
-          } else if (c === "[") {
-            inBrace = true;
-            braceStart = i;
-            braceNeg = false;
-            acc += c;
-            continue;
-          }
-          if (isExtglobType(c) && str2.charAt(i) === "(") {
-            part.push(acc);
-            acc = "";
-            const ext = new _AST(c, part);
-            part.push(ext);
-            i = _AST.#parseAST(str2, ext, i, opt);
-            continue;
-          }
-          if (c === "|") {
-            part.push(acc);
-            acc = "";
-            parts.push(part);
-            part = new _AST(null, ast);
-            continue;
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (util.isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? util.buildURL(path4, query) : path4;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = "";
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-          if (c === ")") {
-            if (acc === "" && ast.#parts.length === 0) {
-              ast.#emptyExt = true;
-            }
-            part.push(acc);
-            acc = "";
-            ast.push(...parts, part);
-            return i;
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          acc += c;
-        }
-        ast.type = null;
-        ast.#hasMagic = void 0;
-        ast.#parts = [str2.substring(pos - 1)];
-        return i;
-      }
-      static fromGlob(pattern, options = {}) {
-        const ast = new _AST(null, void 0, options);
-        _AST.#parseAST(pattern, ast, 0, options);
-        return ast;
-      }
-      // returns the regular expression if there's magic, or the unescaped
-      // string if not.
-      toMMPattern() {
-        if (this !== this.#root)
-          return this.#root.toMMPattern();
-        const glob2 = this.toString();
-        const [re, body, hasMagic, uflag] = this.toRegExpSource();
-        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
-        if (!anyMagic) {
-          return body;
-        }
-        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
-        return Object.assign(new RegExp(`^${re}$`, flags), {
-          _src: re,
-          _glob: glob2
-        });
-      }
-      get options() {
-        return this.#options;
-      }
-      // returns the string match, the regexp source, whether there's magic
-      // in the regexp (so a regular expression is required) and whether or
-      // not the uflag is needed for the regular expression (for posix classes)
-      // TODO: instead of injecting the start/end at this point, just return
-      // the BODY of the regexp, along with the start/end portions suitable
-      // for binding the start/end in either a joined full-path makeRe context
-      // (where we bind to (^|/), or a standalone matchPart context (where
-      // we bind to ^, and not /).  Otherwise slashes get duped!
-      //
-      // In part-matching mode, the start is:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: ^(?!\.\.?$)
-      // - if dots allowed or not possible: ^
-      // - if dots possible and not allowed: ^(?!\.)
-      // end is:
-      // - if not isEnd(): nothing
-      // - else: $
-      //
-      // In full-path matching mode, we put the slash at the START of the
-      // pattern, so start is:
-      // - if first pattern: same as part-matching mode
-      // - if not isStart(): nothing
-      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
-      // - if dots allowed or not possible: /
-      // - if dots possible and not allowed: /(?!\.)
-      // end is:
-      // - if last pattern, same as part-matching mode
-      // - else nothing
-      //
-      // Always put the (?:$|/) on negated tails, though, because that has to be
-      // there to bind the end of the negated pattern portion, and it's easier to
-      // just stick it in now rather than try to inject it later in the middle of
-      // the pattern.
-      //
-      // We can just always return the same end, and leave it up to the caller
-      // to know whether it's going to be used joined or in parts.
-      // And, if the start is adjusted slightly, can do the same there:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
-      // - if dots allowed or not possible: (?:/|^)
-      // - if dots possible and not allowed: (?:/|^)(?!\.)
-      //
-      // But it's better to have a simpler binding without a conditional, for
-      // performance, so probably better to return both start options.
-      //
-      // Then the caller just ignores the end if it's not the first pattern,
-      // and the start always gets applied.
-      //
-      // But that's always going to be $ if it's the ending pattern, or nothing,
-      // so the caller can just attach $ at the end of the pattern when building.
-      //
-      // So the todo is:
-      // - better detect what kind of start is needed
-      // - return both flavors of starting pattern
-      // - attach $ at the end of the pattern when creating the actual RegExp
-      //
-      // Ah, but wait, no, that all only applies to the root when the first pattern
-      // is not an extglob. If the first pattern IS an extglob, then we need all
-      // that dot prevention biz to live in the extglob portions, because eg
-      // +(*|.x*) can match .xy but not .yx.
-      //
-      // So, return the two flavors if it's #root and the first child is not an
-      // AST, otherwise leave it to the child AST to handle it, and there,
-      // use the (?:^|/) style of start binding.
-      //
-      // Even simplified further:
-      // - Since the start for a join is eg /(?!\.) and the start for a part
-      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
-      // or start or whatever) and prepend ^ or / at the Regexp construction.
-      toRegExpSource(allowDot) {
-        const dot = allowDot ?? !!this.#options.dot;
-        if (this.#root === this)
-          this.#fillNegs();
-        if (!this.type) {
-          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
-          const src = this.#parts.map((p) => {
-            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
-            this.#hasMagic = this.#hasMagic || hasMagic;
-            this.#uflag = this.#uflag || uflag;
-            return re;
-          }).join("");
-          let start2 = "";
-          if (this.isStart()) {
-            if (typeof this.#parts[0] === "string") {
-              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
-              if (!dotTravAllowed) {
-                const aps = addPatternStart;
-                const needNoTrav = (
-                  // dots are allowed, and the pattern starts with [ or .
-                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
-                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
-                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
-                );
-                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
-                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
-              }
-            }
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(this, key, headers[key]);
           }
-          let end = "";
-          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
-            end = "(?:$|\\/)";
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        if (util.isFormDataLike(this.body)) {
+          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
+            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
           }
-          const final2 = start2 + src + end;
-          return [
-            final2,
-            (0, unescape_js_1.unescape)(src),
-            this.#hasMagic = !!this.#hasMagic,
-            this.#uflag
-          ];
+          if (!extractBody) {
+            extractBody = require_body3().extractBody;
+          }
+          const [bodyStream, contentType] = extractBody(body);
+          if (this.contentType == null) {
+            this.contentType = contentType;
+            this.headers += `content-type: ${contentType}\r
+`;
+          }
+          this.body = bodyStream.stream;
+          this.contentLength = bodyStream.length;
+        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
+          this.contentType = body.type;
+          this.headers += `content-type: ${body.type}\r
+`;
         }
-        const repeated = this.type === "*" || this.type === "+";
-        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
-        let body = this.#partsToRegExp(dot);
-        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
-          const s = this.toString();
-          this.#parts = [s];
-          this.type = null;
-          this.#hasMagic = void 0;
-          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
+        util.validateHandler(handler2, method, upgrade);
+        this.servername = util.getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
-        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
-        if (bodyDotAllowed === body) {
-          bodyDotAllowed = "";
+      }
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
         }
-        if (bodyDotAllowed) {
-          body = `(?:${body})(?:${bodyDotAllowed})*?`;
+      }
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-        let final = "";
-        if (this.type === "!" && this.#emptyExt) {
-          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
+          }
+        }
+      }
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          const close = this.type === "!" ? (
-            // !() must match something,but !(x) can match ''
-            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
-          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
-          final = start + body + close;
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        return [
-          final,
-          (0, unescape_js_1.unescape)(body),
-          this.#hasMagic = !!this.#hasMagic,
-          this.#uflag
-        ];
       }
-      #partsToRegExp(dot) {
-        return this.#parts.map((p) => {
-          if (typeof p === "string") {
-            throw new Error("string type in extglob ast??");
-          }
-          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
-          this.#uflag = this.#uflag || uflag;
-          return re;
-        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        }
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
+        }
       }
-      static #parseGlob(glob2, hasMagic, noEmpty = false) {
-        let escaping = false;
-        let re = "";
-        let uflag = false;
-        for (let i = 0; i < glob2.length; i++) {
-          const c = glob2.charAt(i);
-          if (escaping) {
-            escaping = false;
-            re += (reSpecials.has(c) ? "\\" : "") + c;
-            continue;
-          }
-          if (c === "\\") {
-            if (i === glob2.length - 1) {
-              re += "\\\\";
-            } else {
-              escaping = true;
-            }
-            continue;
-          }
-          if (c === "[") {
-            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
-            if (consumed) {
-              re += src;
-              uflag = uflag || needUflag;
-              i += consumed - 1;
-              hasMagic = hasMagic || magic;
-              continue;
-            }
-          }
-          if (c === "*") {
-            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
-            hasMagic = true;
-            continue;
-          }
-          if (c === "?") {
-            re += qmark;
-            hasMagic = true;
-            continue;
-          }
-          re += regExpEscape(c);
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
       }
-    };
-    exports2.AST = AST;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
-var require_escape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escape = void 0;
-    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
       }
-      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
-    };
-    exports2.escape = escape;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js
-var require_commonjs20 = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
-    var brace_expansion_1 = require_commonjs19();
-    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
-    var ast_js_1 = require_ast();
-    var escape_js_1 = require_escape();
-    var unescape_js_1 = require_unescape();
-    var minimatch = (p, pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
+        }
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
+        }
       }
-      return new Minimatch(pattern, options).match(p);
-    };
-    exports2.minimatch = minimatch;
-    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
-    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
-    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
-    var starDotExtTestNocase = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
-    };
-    var starDotExtTestNocaseDot = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => f.toLowerCase().endsWith(ext2);
-    };
-    var starDotStarRE = /^\*+\.\*+$/;
-    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
-    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
-    var dotStarRE = /^\.\*+$/;
-    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
-    var starRE = /^\*+$/;
-    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
-    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
-    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
-    var qmarksTestNocase = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTest = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTestNoExt = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && !f.startsWith(".");
-    };
-    var qmarksTestNoExtDot = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && f !== "." && f !== "..";
-    };
-    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
-    var path4 = {
-      win32: { sep: "\\" },
-      posix: { sep: "/" }
-    };
-    exports2.sep = defaultPlatform === "win32" ? path4.win32.sep : path4.posix.sep;
-    exports2.minimatch.sep = exports2.sep;
-    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
-    exports2.filter = filter;
-    exports2.minimatch.filter = exports2.filter;
-    var ext = (a, b = {}) => Object.assign({}, a, b);
-    var defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return exports2.minimatch;
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
+        }
+        if (this.aborted) {
+          return;
+        }
+        this.aborted = true;
+        return this[kHandler].onError(error3);
       }
-      const orig = exports2.minimatch;
-      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
-      return Object.assign(m, {
-        Minimatch: class Minimatch extends orig.Minimatch {
-          constructor(pattern, options = {}) {
-            super(pattern, ext(def, options));
-          }
-          static defaults(options) {
-            return orig.defaults(ext(def, options)).Minimatch;
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
+        }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
+        }
+      }
+      // TODO: adjust to support H2
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
+      }
+      static [kHTTP1BuildRequest](origin, opts, handler2) {
+        return new _Request(origin, opts, handler2);
+      }
+      static [kHTTP2BuildRequest](origin, opts, handler2) {
+        const headers = opts.headers;
+        opts = { ...opts, headers: null };
+        const request2 = new _Request(origin, opts, handler2);
+        request2.headers = {};
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-        },
-        AST: class AST extends orig.AST {
-          /* c8 ignore start */
-          constructor(type2, parent, options = {}) {
-            super(type2, parent, ext(def, options));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(request2, headers[i], headers[i + 1], true);
           }
-          /* c8 ignore stop */
-          static fromGlob(pattern, options = {}) {
-            return orig.AST.fromGlob(pattern, ext(def, options));
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(request2, key, headers[key], true);
           }
-        },
-        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
-        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
-        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
-        defaults: (options) => orig.defaults(ext(def, options)),
-        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
-        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
-        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
-        sep: orig.sep,
-        GLOBSTAR: exports2.GLOBSTAR
-      });
-    };
-    exports2.defaults = defaults;
-    exports2.minimatch.defaults = exports2.defaults;
-    var braceExpand = (pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        return request2;
       }
-      return (0, brace_expansion_1.expand)(pattern);
-    };
-    exports2.braceExpand = braceExpand;
-    exports2.minimatch.braceExpand = exports2.braceExpand;
-    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
-    exports2.makeRe = makeRe;
-    exports2.minimatch.makeRe = exports2.makeRe;
-    var match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+      static [kHTTP2CopyHeaders](raw) {
+        const rawHeaders = raw.split("\r\n");
+        const headers = {};
+        for (const header of rawHeaders) {
+          const [key, value] = header.split(": ");
+          if (value == null || value.length === 0) continue;
+          if (headers[key]) headers[key] += `,${value}`;
+          else headers[key] = value;
+        }
+        return headers;
       }
-      return list;
     };
-    exports2.match = match;
-    exports2.minimatch.match = exports2.match;
-    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var Minimatch = class {
-      options;
-      set;
-      pattern;
-      windowsPathsNoEscape;
-      nonegate;
-      negate;
-      comment;
-      empty;
-      preserveMultipleSlashes;
-      partial;
-      globSet;
-      globParts;
-      nocase;
-      isWindows;
-      platform;
-      windowsNoMagicRoot;
-      regexp;
-      constructor(pattern, options = {}) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        options = options || {};
-        this.options = options;
-        this.pattern = pattern;
-        this.platform = options.platform || defaultPlatform;
-        this.isWindows = this.platform === "win32";
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
+    function processHeaderValue(key, val, skipAppend) {
+      if (val && typeof val === "object") {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      val = val != null ? `${val}` : "";
+      if (headerCharRegex.exec(val) !== null) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      return skipAppend ? val : `${key}: ${val}\r
+`;
+    }
+    function processHeader(request2, key, val, skipAppend = false) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
+      }
+      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
+        if (headerCharRegex.exec(val) !== null) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
-        this.regexp = null;
-        this.negate = false;
-        this.nonegate = !!options.nonegate;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.nocase = !!this.options.nocase;
-        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
-        this.globSet = [];
-        this.globParts = [];
-        this.set = [];
-        this.make();
+        request2.host = val;
+      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
+        }
+      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
+        request2.contentType = val;
+        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+        else request2.headers += processHeaderValue(key, val);
+      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
+        throw new InvalidArgumentError("invalid transfer-encoding header");
+      } else if (key.length === 10 && key.toLowerCase() === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
+        } else if (value === "close") {
+          request2.reset = true;
+        }
+      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
+        throw new InvalidArgumentError("invalid keep-alive header");
+      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
+        throw new InvalidArgumentError("invalid upgrade header");
+      } else if (key.length === 6 && key.toLowerCase() === "expect") {
+        throw new NotSupportedError("expect header not supported");
+      } else if (tokenRegExp.exec(key) === null) {
+        throw new InvalidArgumentError("invalid header key");
+      } else {
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (skipAppend) {
+              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
+              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
+            } else {
+              request2.headers += processHeaderValue(key, val[i]);
+            }
+          }
+        } else {
+          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+          else request2.headers += processHeaderValue(key, val);
+        }
+      }
+    }
+    module2.exports = Request;
+  }
+});
+
+// node_modules/undici/lib/dispatcher.js
+var require_dispatcher3 = __commonJS({
+  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      hasMagic() {
-        if (this.options.magicalBraces && this.set.length > 1) {
-          return true;
-        }
-        for (const pattern of this.set) {
-          for (const part of pattern) {
-            if (typeof part !== "string")
-              return true;
+      close() {
+        throw new Error("not implemented");
+      }
+      destroy() {
+        throw new Error("not implemented");
+      }
+    };
+    module2.exports = Dispatcher;
+  }
+});
+
+// node_modules/undici/lib/dispatcher-base.js
+var require_dispatcher_base3 = __commonJS({
+  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher3();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors6();
+    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols11();
+    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
+    var kClosed = /* @__PURE__ */ Symbol("closed");
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
+      }
+      get destroyed() {
+        return this[kDestroyed];
+      }
+      get closed() {
+        return this[kClosed];
+      }
+      get interceptors() {
+        return this[kInterceptors];
+      }
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
+            }
           }
         }
-        return false;
-      }
-      debug(..._2) {
+        this[kInterceptors] = newInterceptors;
       }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve3, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve3(data);
+            });
+          });
         }
-        if (!pattern) {
-          this.empty = true;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
         }
-        this.parseNegate();
-        this.globSet = [...new Set(this.braceExpand())];
-        if (options.debug) {
-          this.debug = (...args) => console.error(...args);
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
         }
-        this.debug(this.pattern, this.globSet);
-        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
-        this.globParts = this.preprocess(rawGlobParts);
-        this.debug(this.pattern, this.globParts);
-        let set2 = this.globParts.map((s, _2, __) => {
-          if (this.isWindows && this.windowsNoMagicRoot) {
-            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
-            const isDrive = /^[a-z]:/i.test(s[0]);
-            if (isUNC) {
-              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
-            } else if (isDrive) {
-              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
-            }
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
           }
-          return s.map((ss) => this.parse(ss));
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
         });
-        this.debug(this.pattern, set2);
-        this.set = set2.filter((s) => s.indexOf(false) === -1);
-        if (this.isWindows) {
-          for (let i = 0; i < this.set.length; i++) {
-            const p = this.set[i];
-            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
-              p[2] = "?";
-            }
-          }
-        }
-        this.debug(this.pattern, this.set);
       }
-      // various transforms to equivalent pattern sets that are
-      // faster to process in a filesystem walk.  The goal is to
-      // eliminate what we can, and push all ** patterns as far
-      // to the right as possible, even if it increases the number
-      // of patterns that we have to process.
-      preprocess(globParts) {
-        if (this.options.noglobstar) {
-          for (let i = 0; i < globParts.length; i++) {
-            for (let j = 0; j < globParts[i].length; j++) {
-              if (globParts[i][j] === "**") {
-                globParts[i][j] = "*";
-              }
-            }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve3, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve3(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
           }
+          return;
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          globParts = this.firstPhasePreProcess(globParts);
-          globParts = this.secondPhasePreProcess(globParts);
-        } else if (optimizationLevel >= 1) {
-          globParts = this.levelOneOptimize(globParts);
-        } else {
-          globParts = this.adjascentGlobstarOptimize(globParts);
+        if (!err) {
+          err = new ClientDestroyedError();
         }
-        return globParts;
-      }
-      // just get rid of adjascent ** portions
-      adjascentGlobstarOptimize(globParts) {
-        return globParts.map((parts) => {
-          let gs = -1;
-          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-            let i = gs;
-            while (parts[i + 1] === "**") {
-              i++;
-            }
-            if (i !== gs) {
-              parts.splice(gs, i - gs);
-            }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
           }
-          return parts;
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
         });
       }
-      // get rid of adjascent ** and resolve .. portions
-      levelOneOptimize(globParts) {
-        return globParts.map((parts) => {
-          parts = parts.reduce((set2, part) => {
-            const prev = set2[set2.length - 1];
-            if (part === "**" && prev === "**") {
-              return set2;
-            }
-            if (part === "..") {
-              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
-                set2.pop();
-                return set2;
-              }
-            }
-            set2.push(part);
-            return set2;
-          }, []);
-          return parts.length === 0 ? [""] : parts;
-        });
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
+        }
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
+        }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
       }
-      levelTwoFileOptimize(parts) {
-        if (!Array.isArray(parts)) {
-          parts = this.slashSplit(parts);
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
         }
-        let didSomething = false;
-        do {
-          didSomething = false;
-          if (!this.preserveMultipleSlashes) {
-            for (let i = 1; i < parts.length - 1; i++) {
-              const p = parts[i];
-              if (i === 1 && p === "" && parts[0] === "")
-                continue;
-              if (p === "." || p === "") {
-                didSomething = true;
-                parts.splice(i, 1);
-                i--;
-              }
-            }
-            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-              didSomething = true;
-              parts.pop();
-            }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
           }
-          let dd = 0;
-          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-            const p = parts[dd - 1];
-            if (p && p !== "." && p !== ".." && p !== "**") {
-              didSomething = true;
-              parts.splice(dd - 1, 2);
-              dd -= 2;
-            }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
           }
-        } while (didSomething);
-        return parts.length === 0 ? [""] : parts;
-      }
-      // First phase: single-pattern processing
-      // 
 is 1 or more portions
-      //  is 1 or more portions
-      // 

is any portion other than ., .., '', or ** - // is . or '' - // - // **/.. is *brutal* for filesystem walking performance, because - // it effectively resets the recursive walk each time it occurs, - // and ** cannot be reduced out by a .. pattern part like a regexp - // or most strings (other than .., ., and '') can be. - // - //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} - //

// -> 
/
-      // 
/

/../ ->

/
-      // **/**/ -> **/
-      //
-      // **/*/ -> */**/ <== not valid because ** doesn't follow
-      // this WOULD be allowed if ** did follow symlinks, or * didn't
-      firstPhasePreProcess(globParts) {
-        let didSomething = false;
-        do {
-          didSomething = false;
-          for (let parts of globParts) {
-            let gs = -1;
-            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-              let gss = gs;
-              while (parts[gss + 1] === "**") {
-                gss++;
-              }
-              if (gss > gs) {
-                parts.splice(gs + 1, gss - gs);
-              }
-              let next = parts[gs + 1];
-              const p = parts[gs + 2];
-              const p2 = parts[gs + 3];
-              if (next !== "..")
-                continue;
-              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
-                continue;
-              }
-              didSomething = true;
-              parts.splice(gs, 1);
-              const other = parts.slice(0);
-              other[gs] = "**";
-              globParts.push(other);
-              gs--;
-            }
-            if (!this.preserveMultipleSlashes) {
-              for (let i = 1; i < parts.length - 1; i++) {
-                const p = parts[i];
-                if (i === 1 && p === "" && parts[0] === "")
-                  continue;
-                if (p === "." || p === "") {
-                  didSomething = true;
-                  parts.splice(i, 1);
-                  i--;
-                }
-              }
-              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-                didSomething = true;
-                parts.pop();
-              }
-            }
-            let dd = 0;
-            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-              const p = parts[dd - 1];
-              if (p && p !== "." && p !== ".." && p !== "**") {
-                didSomething = true;
-                const needDot = dd === 1 && parts[dd + 1] === "**";
-                const splin = needDot ? ["."] : [];
-                parts.splice(dd - 1, 2, ...splin);
-                if (parts.length === 0)
-                  parts.push("");
-                dd -= 2;
-              }
-            }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
           }
-        } while (didSomething);
-        return globParts;
-      }
-      // second phase: multi-pattern dedupes
-      // {
/*/,
/

/} ->

/*/
-      // {
/,
/} -> 
/
-      // {
/**/,
/} -> 
/**/
-      //
-      // {
/**/,
/**/

/} ->

/**/
-      // ^-- not valid because ** doens't follow symlinks
-      secondPhasePreProcess(globParts) {
-        for (let i = 0; i < globParts.length - 1; i++) {
-          for (let j = i + 1; j < globParts.length; j++) {
-            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
-            if (matched) {
-              globParts[i] = [];
-              globParts[j] = matched;
-              break;
-            }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
           }
+          handler2.onError(err);
+          return false;
         }
-        return globParts.filter((gs) => gs.length);
       }
-      partsMatch(a, b, emptyGSMatch = false) {
-        let ai = 0;
-        let bi = 0;
-        let result = [];
-        let which6 = "";
-        while (ai < a.length && bi < b.length) {
-          if (a[ai] === b[bi]) {
-            result.push(which6 === "b" ? b[bi] : a[ai]);
-            ai++;
-            bi++;
-          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
-            result.push(a[ai]);
-            ai++;
-          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
-            result.push(b[bi]);
-            bi++;
-          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
-            if (which6 === "b")
-              return false;
-            which6 = "a";
-            result.push(a[ai]);
-            ai++;
-            bi++;
-          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
-            if (which6 === "a")
-              return false;
-            which6 = "b";
-            result.push(b[bi]);
-            ai++;
-            bi++;
-          } else {
-            return false;
+    };
+    module2.exports = DispatcherBase;
+  }
+});
+
+// node_modules/undici/lib/core/connect.js
+var require_connect3 = __commonJS({
+  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+    "use strict";
+    var net = require("net");
+    var assert = require("assert");
+    var util = require_util24();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors6();
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
+        }
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-        return a.length === b.length && result;
-      }
-      parseNegate() {
-        if (this.nonegate)
-          return;
-        const pattern = this.pattern;
-        let negate = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate = !negate;
-          negateOffset++;
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        if (negateOffset)
-          this.pattern = pattern.slice(negateOffset);
-        this.negate = negate;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
+          }
+          this._sessionCache.set(sessionKey, session);
+        }
+      };
+    }
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial = false) {
-        const options = this.options;
-        if (this.isWindows) {
-          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
-          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
-          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
-          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
-          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
-          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
-          if (typeof fdi === "number" && typeof pdi === "number") {
-            const [fd, pd] = [file[fdi], pattern[pdi]];
-            if (fd.toLowerCase() === pd.toLowerCase()) {
-              pattern[pdi] = fd;
-              if (pdi > fdi) {
-                pattern = pattern.slice(pdi);
-              } else if (fdi > pdi) {
-                file = file.slice(fdi);
-              }
-            }
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          const session = sessionCache.get(sessionKey) || null;
+          assert(sessionKey);
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port: port || 443,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port: port || 80,
+            host: hostname
+          });
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          file = this.levelTwoFileOptimize(file);
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-        this.debug("matchOne", this, { file, pattern });
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) {
-            return false;
+        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
           }
-          if (p === exports2.GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
-                  return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) {
-                return true;
-              }
-            }
-            return false;
+        }).on("error", function(err) {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          let hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
+        });
+        return socket;
+      };
+    }
+    function setupTimeout(onConnectTimeout2, timeout) {
+      if (!timeout) {
+        return () => {
+        };
+      }
+      let s1 = null;
+      let s2 = null;
+      const timeoutId = setTimeout(() => {
+        s1 = setImmediate(() => {
+          if (process.platform === "win32") {
+            s2 = setImmediate(() => onConnectTimeout2());
           } else {
-            hit = p.test(f);
-            this.debug("pattern match", p, f, hit);
+            onConnectTimeout2();
           }
-          if (!hit)
-            return false;
+        });
+      }, timeout);
+      return () => {
+        clearTimeout(timeoutId);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    }
+    function onConnectTimeout(socket) {
+      util.destroy(socket, new ConnectTimeoutError());
+    }
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/undici/lib/llhttp/utils.js
+var require_utils9 = __commonJS({
+  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
-        } else {
-          throw new Error("wtf?");
+      });
+      return res;
+    }
+    exports2.enumToMap = enumToMap;
+  }
+});
+
+// node_modules/undici/lib/llhttp/constants.js
+var require_constants22 = __commonJS({
+  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils9();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.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
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
+    };
+  }
+});
+
+// node_modules/undici/lib/handler/RedirectHandler.js
+var require_RedirectHandler = __commonJS({
+  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+    "use strict";
+    var util = require_util24();
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { InvalidArgumentError } = require_errors6();
+    var EE = require("events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
+          }
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
+          }
+        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
         }
       }
-      braceExpand() {
-        return (0, exports2.braceExpand)(this.pattern, this.options);
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      parse(pattern) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        const options = this.options;
-        if (pattern === "**")
-          return exports2.GLOBSTAR;
-        if (pattern === "")
-          return "";
-        let m;
-        let fastTest = null;
-        if (m = pattern.match(starRE)) {
-          fastTest = options.dot ? starTestDot : starTest;
-        } else if (m = pattern.match(starDotExtRE)) {
-          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
-        } else if (m = pattern.match(qmarksRE)) {
-          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
-        } else if (m = pattern.match(starDotStarRE)) {
-          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
-        } else if (m = pattern.match(dotStarRE)) {
-          fastTest = dotStarTest;
-        }
-        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
-        if (fastTest && typeof re === "object") {
-          Reflect.defineProperty(re, "test", { value: fastTest });
-        }
-        return re;
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false)
-          return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
+      onError(error3) {
+        this.handler.onError(error3);
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
         }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = new Set(options.nocase ? ["i"] : []);
-        let re = set2.map((pattern) => {
-          const pp = pattern.map((p) => {
-            if (p instanceof RegExp) {
-              for (const f of p.flags.split(""))
-                flags.add(f);
-            }
-            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
-          });
-          pp.forEach((p, i) => {
-            const next = pp[i + 1];
-            const prev = pp[i - 1];
-            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
-              return;
-            }
-            if (prev === void 0) {
-              if (next !== void 0 && next !== exports2.GLOBSTAR) {
-                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
-              } else {
-                pp[i] = twoStar;
-              }
-            } else if (next === void 0) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
-            } else if (next !== exports2.GLOBSTAR) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
-              pp[i + 1] = exports2.GLOBSTAR;
-            }
-          });
-          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
-          if (this.partial && filtered.length >= 1) {
-            const prefixes = [];
-            for (let i = 1; i <= filtered.length; i++) {
-              prefixes.push(filtered.slice(0, i).join("/"));
-            }
-            return "(?:" + prefixes.join("|") + ")";
-          }
-          return filtered.join("/");
-        }).join("|");
-        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
-        re = "^" + open + re + close + "$";
-        if (this.partial) {
-          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
         }
-        if (this.negate)
-          re = "^(?!" + re + ").+$";
-        try {
-          this.regexp = new RegExp(re, [...flags].join(""));
-        } catch (ex) {
-          this.regexp = false;
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path4 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path4;
+        this.opts.origin = origin;
+        this.opts.maxRedirections = 0;
+        this.opts.query = null;
+        if (statusCode === 303 && this.opts.method !== "HEAD") {
+          this.opts.method = "GET";
+          this.opts.body = null;
         }
-        return this.regexp;
       }
-      slashSplit(p) {
-        if (this.preserveMultipleSlashes) {
-          return p.split("/");
-        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
-          return ["", ...p.split(/\/+/)];
+      onData(chunk) {
+        if (this.location) {
         } else {
-          return p.split(/\/+/);
+          return this.handler.onData(chunk);
         }
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) {
-          return false;
-        }
-        if (this.empty) {
-          return f === "";
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
         }
-        if (f === "/" && partial) {
-          return true;
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
         }
-        const options = this.options;
-        if (this.isWindows) {
-          f = f.split("\\").join("/");
+      }
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
+      }
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].toString().toLowerCase() === "location") {
+          return headers[i + 1];
         }
-        const ff = this.slashSplit(f);
-        this.debug(this.pattern, "split", ff);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename = ff[ff.length - 1];
-        if (!filename) {
-          for (let i = ff.length - 2; !filename && i >= 0; i--) {
-            filename = ff[i];
+      }
+    }
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
+      }
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
+      }
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+      }
+      return false;
+    }
+    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
+      const ret = [];
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
+            ret.push(headers[i], headers[i + 1]);
           }
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = ff;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) {
-              return true;
-            }
-            return !this.negate;
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
         }
-        if (options.flipNegate) {
-          return false;
-        }
-        return this.negate;
-      }
-      static defaults(def) {
-        return exports2.minimatch.defaults(def).Minimatch;
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-    };
-    exports2.Minimatch = Minimatch;
-    var ast_js_2 = require_ast();
-    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
-      return ast_js_2.AST;
-    } });
-    var escape_js_2 = require_escape();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return escape_js_2.escape;
-    } });
-    var unescape_js_2 = require_unescape();
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return unescape_js_2.unescape;
-    } });
-    exports2.minimatch.AST = ast_js_1.AST;
-    exports2.minimatch.Minimatch = Minimatch;
-    exports2.minimatch.escape = escape_js_1.escape;
-    exports2.minimatch.unescape = unescape_js_1.unescape;
+      return ret;
+    }
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/lru-cache/dist/commonjs/index.js
-var require_commonjs21 = __commonJS({
-  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/interceptor/redirectInterceptor.js
+var require_redirectInterceptor = __commonJS({
+  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LRUCache = void 0;
-    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
-    var warned = /* @__PURE__ */ new Set();
-    var PROCESS = typeof process === "object" && !!process ? process : {};
-    var emitWarning = (msg, type2, code, fn) => {
-      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
-    };
-    var AC = globalThis.AbortController;
-    var AS = globalThis.AbortSignal;
-    if (typeof AC === "undefined") {
-      AS = class AbortSignal {
-        onabort;
-        _onabort = [];
-        reason;
-        aborted = false;
-        addEventListener(_2, fn) {
-          this._onabort.push(fn);
-        }
-      };
-      AC = class AbortController {
-        constructor() {
-          warnACPolyfill();
-        }
-        signal = new AS();
-        abort(reason) {
-          if (this.signal.aborted)
-            return;
-          this.signal.reason = reason;
-          this.signal.aborted = true;
-          for (const fn of this.signal._onabort) {
-            fn(reason);
+    var RedirectHandler = require_RedirectHandler();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
           }
-          this.signal.onabort?.(reason);
-        }
-      };
-      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
-      const warnACPolyfill = () => {
-        if (!printACPolyfillWarning)
-          return;
-        printACPolyfillWarning = false;
-        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
+        };
       };
     }
-    var shouldWarn = (code) => !warned.has(code);
-    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
-    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
-    var ZeroArray = class extends Array {
-      constructor(size) {
-        super(size);
-        this.fill(0);
-      }
-    };
-    var Stack = class _Stack {
-      heap;
-      length;
-      // private constructor
-      static #constructing = false;
-      static create(max) {
-        const HeapCls = getUintArray(max);
-        if (!HeapCls)
-          return [];
-        _Stack.#constructing = true;
-        const s = new _Stack(max, HeapCls);
-        _Stack.#constructing = false;
-        return s;
-      }
-      constructor(max, HeapCls) {
-        if (!_Stack.#constructing) {
-          throw new TypeError("instantiate Stack using Stack.create(n)");
-        }
-        this.heap = new HeapCls(max);
-        this.length = 0;
-      }
-      push(n) {
-        this.heap[this.length++] = n;
-      }
-      pop() {
-        return this.heap[--this.length];
-      }
-    };
-    var LRUCache = class _LRUCache {
-      // options that cannot be changed without disaster
-      #max;
-      #maxSize;
-      #dispose;
-      #onInsert;
-      #disposeAfter;
-      #fetchMethod;
-      #memoMethod;
-      /**
-       * {@link LRUCache.OptionsBase.ttl}
-       */
-      ttl;
-      /**
-       * {@link LRUCache.OptionsBase.ttlResolution}
-       */
-      ttlResolution;
-      /**
-       * {@link LRUCache.OptionsBase.ttlAutopurge}
-       */
-      ttlAutopurge;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnGet}
-       */
-      updateAgeOnGet;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnHas}
-       */
-      updateAgeOnHas;
-      /**
-       * {@link LRUCache.OptionsBase.allowStale}
-       */
-      allowStale;
-      /**
-       * {@link LRUCache.OptionsBase.noDisposeOnSet}
-       */
-      noDisposeOnSet;
-      /**
-       * {@link LRUCache.OptionsBase.noUpdateTTL}
-       */
-      noUpdateTTL;
-      /**
-       * {@link LRUCache.OptionsBase.maxEntrySize}
-       */
-      maxEntrySize;
-      /**
-       * {@link LRUCache.OptionsBase.sizeCalculation}
-       */
-      sizeCalculation;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
-       */
-      noDeleteOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
-       */
-      noDeleteOnStaleGet;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
-       */
-      allowStaleOnFetchAbort;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
-       */
-      allowStaleOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
-       */
-      ignoreFetchAbort;
-      // computed properties
-      #size;
-      #calculatedSize;
-      #keyMap;
-      #keyList;
-      #valList;
-      #next;
-      #prev;
-      #head;
-      #tail;
-      #free;
-      #disposed;
-      #sizes;
-      #starts;
-      #ttls;
-      #hasDispose;
-      #hasFetchMethod;
-      #hasDisposeAfter;
-      #hasOnInsert;
-      /**
-       * Do not call this method unless you need to inspect the
-       * inner workings of the cache.  If anything returned by this
-       * object is modified in any way, strange breakage may occur.
-       *
-       * These fields are private for a reason!
-       *
-       * @internal
-       */
-      static unsafeExposeInternals(c) {
-        return {
-          // properties
-          starts: c.#starts,
-          ttls: c.#ttls,
-          sizes: c.#sizes,
-          keyMap: c.#keyMap,
-          keyList: c.#keyList,
-          valList: c.#valList,
-          next: c.#next,
-          prev: c.#prev,
-          get head() {
-            return c.#head;
-          },
-          get tail() {
-            return c.#tail;
-          },
-          free: c.#free,
-          // methods
-          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
-          backgroundFetch: (k, index, options, context2) => c.#backgroundFetch(k, index, options, context2),
-          moveToTail: (index) => c.#moveToTail(index),
-          indexes: (options) => c.#indexes(options),
-          rindexes: (options) => c.#rindexes(options),
-          isStale: (index) => c.#isStale(index)
-        };
-      }
-      // Protected read-only members
-      /**
-       * {@link LRUCache.OptionsBase.max} (read-only)
-       */
-      get max() {
-        return this.#max;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.maxSize} (read-only)
-       */
-      get maxSize() {
-        return this.#maxSize;
-      }
-      /**
-       * The total computed size of items in the cache (read-only)
-       */
-      get calculatedSize() {
-        return this.#calculatedSize;
-      }
-      /**
-       * The number of items stored in the cache (read-only)
-       */
-      get size() {
-        return this.#size;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
-       */
-      get fetchMethod() {
-        return this.#fetchMethod;
-      }
-      get memoMethod() {
-        return this.#memoMethod;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.dispose} (read-only)
-       */
-      get dispose() {
-        return this.#dispose;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.onInsert} (read-only)
-       */
-      get onInsert() {
-        return this.#onInsert;
+    module2.exports = createRedirectInterceptor;
+  }
+});
+
+// node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQDscBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxweHyAhIyUoP0BBREVGR0hJSktMTU9QUVJT3gNXWVtcXWBiZWZnaGlqa2xtb3BxcnN0dXZ3eHl6e3x9foABggGFAYYBhwGJAYsBjAGNAY4BjwGQAZEBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAZkCpAKwAv4C/gILIAEiBCACRw3zAUHdASEQDP8DCyABIhAgAkcN3QFBwwEhEAz+AwsgASIBIAJHDZABQfcAIRAM/QMLIAEiASACRw2GAUHvACEQDPwDCyABIgEgAkcNf0HqACEQDPsDCyABIgEgAkcNe0HoACEQDPoDCyABIgEgAkcNeEHmACEQDPkDCyABIgEgAkcNGkEYIRAM+AMLIAEiASACRw0UQRIhEAz3AwsgASIBIAJHDVlBxQAhEAz2AwsgASIBIAJHDUpBPyEQDPUDCyABIgEgAkcNSEE8IRAM9AMLIAEiASACRw1BQTEhEAzzAwsgAC0ALkEBRg3rAwyHAgsgACABIgEgAhDAgICAAEEBRw3mASAAQgA3AyAM5wELIAAgASIBIAIQtICAgAAiEA3nASABIQEM9QILAkAgASIBIAJHDQBBBiEQDPADCyAAIAFBAWoiASACELuAgIAAIhAN6AEgASEBDDELIABCADcDIEESIRAM1QMLIAEiECACRw0rQR0hEAztAwsCQCABIgEgAkYNACABQQFqIQFBECEQDNQDC0EHIRAM7AMLIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN5QFBCCEQDOsDCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEUIRAM0gMLQQkhEAzqAwsgASEBIAApAyBQDeQBIAEhAQzyAgsCQCABIgEgAkcNAEELIRAM6QMLIAAgAUEBaiIBIAIQtoCAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3mASABIQEMDQsgACABIgEgAhC6gICAACIQDecBIAEhAQzwAgsCQCABIgEgAkcNAEEPIRAM5QMLIAEtAAAiEEE7Rg0IIBBBDUcN6AEgAUEBaiEBDO8CCyAAIAEiASACELqAgIAAIhAN6AEgASEBDPICCwNAAkAgAS0AAEHwtYCAAGotAAAiEEEBRg0AIBBBAkcN6wEgACgCBCEQIABBADYCBCAAIBAgAUEBaiIBELmAgIAAIhAN6gEgASEBDPQCCyABQQFqIgEgAkcNAAtBEiEQDOIDCyAAIAEiASACELqAgIAAIhAN6QEgASEBDAoLIAEiASACRw0GQRshEAzgAwsCQCABIgEgAkcNAEEWIRAM4AMLIABBioCAgAA2AgggACABNgIEIAAgASACELiAgIAAIhAN6gEgASEBQSAhEAzGAwsCQCABIgEgAkYNAANAAkAgAS0AAEHwt4CAAGotAAAiEEECRg0AAkAgEEF/ag4E5QHsAQDrAewBCyABQQFqIQFBCCEQDMgDCyABQQFqIgEgAkcNAAtBFSEQDN8DC0EVIRAM3gMLA0ACQCABLQAAQfC5gIAAai0AACIQQQJGDQAgEEF/ag4E3gHsAeAB6wHsAQsgAUEBaiIBIAJHDQALQRghEAzdAwsCQCABIgEgAkYNACAAQYuAgIAANgIIIAAgATYCBCABIQFBByEQDMQDC0EZIRAM3AMLIAFBAWohAQwCCwJAIAEiFCACRw0AQRohEAzbAwsgFCEBAkAgFC0AAEFzag4U3QLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gIA7gILQQAhECAAQQA2AhwgAEGvi4CAADYCECAAQQI2AgwgACAUQQFqNgIUDNoDCwJAIAEtAAAiEEE7Rg0AIBBBDUcN6AEgAUEBaiEBDOUCCyABQQFqIQELQSIhEAy/AwsCQCABIhAgAkcNAEEcIRAM2AMLQgAhESAQIQEgEC0AAEFQag435wHmAQECAwQFBgcIAAAAAAAAAAkKCwwNDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxAREhMUAAtBHiEQDL0DC0ICIREM5QELQgMhEQzkAQtCBCERDOMBC0IFIREM4gELQgYhEQzhAQtCByERDOABC0IIIREM3wELQgkhEQzeAQtCCiERDN0BC0ILIREM3AELQgwhEQzbAQtCDSERDNoBC0IOIREM2QELQg8hEQzYAQtCCiERDNcBC0ILIREM1gELQgwhEQzVAQtCDSERDNQBC0IOIREM0wELQg8hEQzSAQtCACERAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQLQAAQVBqDjflAeQBAAECAwQFBgfmAeYB5gHmAeYB5gHmAQgJCgsMDeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gEODxAREhPmAQtCAiERDOQBC0IDIREM4wELQgQhEQziAQtCBSERDOEBC0IGIREM4AELQgchEQzfAQtCCCERDN4BC0IJIREM3QELQgohEQzcAQtCCyERDNsBC0IMIREM2gELQg0hEQzZAQtCDiERDNgBC0IPIREM1wELQgohEQzWAQtCCyERDNUBC0IMIREM1AELQg0hEQzTAQtCDiERDNIBC0IPIREM0QELIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN0gFBHyEQDMADCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEkIRAMpwMLQSAhEAy/AwsgACABIhAgAhC+gICAAEF/ag4FtgEAxQIB0QHSAQtBESEQDKQDCyAAQQE6AC8gECEBDLsDCyABIgEgAkcN0gFBJCEQDLsDCyABIg0gAkcNHkHGACEQDLoDCyAAIAEiASACELKAgIAAIhAN1AEgASEBDLUBCyABIhAgAkcNJkHQACEQDLgDCwJAIAEiASACRw0AQSghEAy4AwsgAEEANgIEIABBjICAgAA2AgggACABIAEQsYCAgAAiEA3TASABIQEM2AELAkAgASIQIAJHDQBBKSEQDLcDCyAQLQAAIgFBIEYNFCABQQlHDdMBIBBBAWohAQwVCwJAIAEiASACRg0AIAFBAWohAQwXC0EqIRAMtQMLAkAgASIQIAJHDQBBKyEQDLUDCwJAIBAtAAAiAUEJRg0AIAFBIEcN1QELIAAtACxBCEYN0wEgECEBDJEDCwJAIAEiASACRw0AQSwhEAy0AwsgAS0AAEEKRw3VASABQQFqIQEMyQILIAEiDiACRw3VAUEvIRAMsgMLA0ACQCABLQAAIhBBIEYNAAJAIBBBdmoOBADcAdwBANoBCyABIQEM4AELIAFBAWoiASACRw0AC0ExIRAMsQMLQTIhECABIhQgAkYNsAMgAiAUayAAKAIAIgFqIRUgFCABa0EDaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfC7gIAAai0AAEcNAQJAIAFBA0cNAEEGIQEMlgMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLEDCyAAQQA2AgAgFCEBDNkBC0EzIRAgASIUIAJGDa8DIAIgFGsgACgCACIBaiEVIBQgAWtBCGohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUH0u4CAAGotAABHDQECQCABQQhHDQBBBSEBDJUDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAywAwsgAEEANgIAIBQhAQzYAQtBNCEQIAEiFCACRg2uAyACIBRrIAAoAgAiAWohFSAUIAFrQQVqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw0BAkAgAUEFRw0AQQchAQyUAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMrwMLIABBADYCACAUIQEM1wELAkAgASIBIAJGDQADQAJAIAEtAABBgL6AgABqLQAAIhBBAUYNACAQQQJGDQogASEBDN0BCyABQQFqIgEgAkcNAAtBMCEQDK4DC0EwIRAMrQMLAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AIBBBdmoOBNkB2gHaAdkB2gELIAFBAWoiASACRw0AC0E4IRAMrQMLQTghEAysAwsDQAJAIAEtAAAiEEEgRg0AIBBBCUcNAwsgAUEBaiIBIAJHDQALQTwhEAyrAwsDQAJAIAEtAAAiEEEgRg0AAkACQCAQQXZqDgTaAQEB2gEACyAQQSxGDdsBCyABIQEMBAsgAUEBaiIBIAJHDQALQT8hEAyqAwsgASEBDNsBC0HAACEQIAEiFCACRg2oAyACIBRrIAAoAgAiAWohFiAUIAFrQQZqIRcCQANAIBQtAABBIHIgAUGAwICAAGotAABHDQEgAUEGRg2OAyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAypAwsgAEEANgIAIBQhAQtBNiEQDI4DCwJAIAEiDyACRw0AQcEAIRAMpwMLIABBjICAgAA2AgggACAPNgIEIA8hASAALQAsQX9qDgTNAdUB1wHZAYcDCyABQQFqIQEMzAELAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgciAQIBBBv39qQf8BcUEaSRtB/wFxIhBBCUYNACAQQSBGDQACQAJAAkACQCAQQZ1/ag4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIRAMkQMLIAFBAWohAUEyIRAMkAMLIAFBAWohAUEzIRAMjwMLIAEhAQzQAQsgAUEBaiIBIAJHDQALQTUhEAylAwtBNSEQDKQDCwJAIAEiASACRg0AA0ACQCABLQAAQYC8gIAAai0AAEEBRg0AIAEhAQzTAQsgAUEBaiIBIAJHDQALQT0hEAykAwtBPSEQDKMDCyAAIAEiASACELCAgIAAIhAN1gEgASEBDAELIBBBAWohAQtBPCEQDIcDCwJAIAEiASACRw0AQcIAIRAMoAMLAkADQAJAIAEtAABBd2oOGAAC/gL+AoQD/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4CAP4CCyABQQFqIgEgAkcNAAtBwgAhEAygAwsgAUEBaiEBIAAtAC1BAXFFDb0BIAEhAQtBLCEQDIUDCyABIgEgAkcN0wFBxAAhEAydAwsDQAJAIAEtAABBkMCAgABqLQAAQQFGDQAgASEBDLcCCyABQQFqIgEgAkcNAAtBxQAhEAycAwsgDS0AACIQQSBGDbMBIBBBOkcNgQMgACgCBCEBIABBADYCBCAAIAEgDRCvgICAACIBDdABIA1BAWohAQyzAgtBxwAhECABIg0gAkYNmgMgAiANayAAKAIAIgFqIRYgDSABa0EFaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGQwoCAAGotAABHDYADIAFBBUYN9AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmgMLQcgAIRAgASINIAJGDZkDIAIgDWsgACgCACIBaiEWIA0gAWtBCWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBlsKAgABqLQAARw3/AgJAIAFBCUcNAEECIQEM9QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJkDCwJAIAEiDSACRw0AQckAIRAMmQMLAkACQCANLQAAIgFBIHIgASABQb9/akH/AXFBGkkbQf8BcUGSf2oOBwCAA4ADgAOAA4ADAYADCyANQQFqIQFBPiEQDIADCyANQQFqIQFBPyEQDP8CC0HKACEQIAEiDSACRg2XAyACIA1rIAAoAgAiAWohFiANIAFrQQFqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaDCgIAAai0AAEcN/QIgAUEBRg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyXAwtBywAhECABIg0gAkYNlgMgAiANayAAKAIAIgFqIRYgDSABa0EOaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGiwoCAAGotAABHDfwCIAFBDkYN8AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlgMLQcwAIRAgASINIAJGDZUDIAIgDWsgACgCACIBaiEWIA0gAWtBD2ohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBwMKAgABqLQAARw37AgJAIAFBD0cNAEEDIQEM8QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJUDC0HNACEQIAEiDSACRg2UAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcN+gICQCABQQVHDQBBBCEBDPACCyABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyUAwsCQCABIg0gAkcNAEHOACEQDJQDCwJAAkACQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZ1/ag4TAP0C/QL9Av0C/QL9Av0C/QL9Av0C/QL9AgH9Av0C/QICA/0CCyANQQFqIQFBwQAhEAz9AgsgDUEBaiEBQcIAIRAM/AILIA1BAWohAUHDACEQDPsCCyANQQFqIQFBxAAhEAz6AgsCQCABIgEgAkYNACAAQY2AgIAANgIIIAAgATYCBCABIQFBxQAhEAz6AgtBzwAhEAySAwsgECEBAkACQCAQLQAAQXZqDgQBqAKoAgCoAgsgEEEBaiEBC0EnIRAM+AILAkAgASIBIAJHDQBB0QAhEAyRAwsCQCABLQAAQSBGDQAgASEBDI0BCyABQQFqIQEgAC0ALUEBcUUNxwEgASEBDIwBCyABIhcgAkcNyAFB0gAhEAyPAwtB0wAhECABIhQgAkYNjgMgAiAUayAAKAIAIgFqIRYgFCABa0EBaiEXA0AgFC0AACABQdbCgIAAai0AAEcNzAEgAUEBRg3HASABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAyOAwsCQCABIgEgAkcNAEHVACEQDI4DCyABLQAAQQpHDcwBIAFBAWohAQzHAQsCQCABIgEgAkcNAEHWACEQDI0DCwJAAkAgAS0AAEF2ag4EAM0BzQEBzQELIAFBAWohAQzHAQsgAUEBaiEBQcoAIRAM8wILIAAgASIBIAIQroCAgAAiEA3LASABIQFBzQAhEAzyAgsgAC0AKUEiRg2FAwymAgsCQCABIgEgAkcNAEHbACEQDIoDC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgAS0AAEFQag4K1AHTAQABAgMEBQYI1QELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMzAELQQkhEEEBIRRBACEXQQAhFgzLAQsCQCABIgEgAkcNAEHdACEQDIkDCyABLQAAQS5HDcwBIAFBAWohAQymAgsgASIBIAJHDcwBQd8AIRAMhwMLAkAgASIBIAJGDQAgAEGOgICAADYCCCAAIAE2AgQgASEBQdAAIRAM7gILQeAAIRAMhgMLQeEAIRAgASIBIAJGDYUDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHiwoCAAGotAABHDc0BIBRBA0YNzAEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhQMLQeIAIRAgASIBIAJGDYQDIAIgAWsgACgCACIUaiEWIAEgFGtBAmohFwNAIAEtAAAgFEHmwoCAAGotAABHDcwBIBRBAkYNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhAMLQeMAIRAgASIBIAJGDYMDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHpwoCAAGotAABHDcsBIBRBA0YNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMgwMLAkAgASIBIAJHDQBB5QAhEAyDAwsgACABQQFqIgEgAhCogICAACIQDc0BIAEhAUHWACEQDOkCCwJAIAEiASACRg0AA0ACQCABLQAAIhBBIEYNAAJAAkACQCAQQbh/ag4LAAHPAc8BzwHPAc8BzwHPAc8BAs8BCyABQQFqIQFB0gAhEAztAgsgAUEBaiEBQdMAIRAM7AILIAFBAWohAUHUACEQDOsCCyABQQFqIgEgAkcNAAtB5AAhEAyCAwtB5AAhEAyBAwsDQAJAIAEtAABB8MKAgABqLQAAIhBBAUYNACAQQX5qDgPPAdAB0QHSAQsgAUEBaiIBIAJHDQALQeYAIRAMgAMLAkAgASIBIAJGDQAgAUEBaiEBDAMLQecAIRAM/wILA0ACQCABLQAAQfDEgIAAai0AACIQQQFGDQACQCAQQX5qDgTSAdMB1AEA1QELIAEhAUHXACEQDOcCCyABQQFqIgEgAkcNAAtB6AAhEAz+AgsCQCABIgEgAkcNAEHpACEQDP4CCwJAIAEtAAAiEEF2ag4augHVAdUBvAHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHKAdUB1QEA0wELIAFBAWohAQtBBiEQDOMCCwNAAkAgAS0AAEHwxoCAAGotAABBAUYNACABIQEMngILIAFBAWoiASACRw0AC0HqACEQDPsCCwJAIAEiASACRg0AIAFBAWohAQwDC0HrACEQDPoCCwJAIAEiASACRw0AQewAIRAM+gILIAFBAWohAQwBCwJAIAEiASACRw0AQe0AIRAM+QILIAFBAWohAQtBBCEQDN4CCwJAIAEiFCACRw0AQe4AIRAM9wILIBQhAQJAAkACQCAULQAAQfDIgIAAai0AAEF/ag4H1AHVAdYBAJwCAQLXAQsgFEEBaiEBDAoLIBRBAWohAQzNAQtBACEQIABBADYCHCAAQZuSgIAANgIQIABBBzYCDCAAIBRBAWo2AhQM9gILAkADQAJAIAEtAABB8MiAgABqLQAAIhBBBEYNAAJAAkAgEEF/ag4H0gHTAdQB2QEABAHZAQsgASEBQdoAIRAM4AILIAFBAWohAUHcACEQDN8CCyABQQFqIgEgAkcNAAtB7wAhEAz2AgsgAUEBaiEBDMsBCwJAIAEiFCACRw0AQfAAIRAM9QILIBQtAABBL0cN1AEgFEEBaiEBDAYLAkAgASIUIAJHDQBB8QAhEAz0AgsCQCAULQAAIgFBL0cNACAUQQFqIQFB3QAhEAzbAgsgAUF2aiIEQRZLDdMBQQEgBHRBiYCAAnFFDdMBDMoCCwJAIAEiASACRg0AIAFBAWohAUHeACEQDNoCC0HyACEQDPICCwJAIAEiFCACRw0AQfQAIRAM8gILIBQhAQJAIBQtAABB8MyAgABqLQAAQX9qDgPJApQCANQBC0HhACEQDNgCCwJAIAEiFCACRg0AA0ACQCAULQAAQfDKgIAAai0AACIBQQNGDQACQCABQX9qDgLLAgDVAQsgFCEBQd8AIRAM2gILIBRBAWoiFCACRw0AC0HzACEQDPECC0HzACEQDPACCwJAIAEiASACRg0AIABBj4CAgAA2AgggACABNgIEIAEhAUHgACEQDNcCC0H1ACEQDO8CCwJAIAEiASACRw0AQfYAIRAM7wILIABBj4CAgAA2AgggACABNgIEIAEhAQtBAyEQDNQCCwNAIAEtAABBIEcNwwIgAUEBaiIBIAJHDQALQfcAIRAM7AILAkAgASIBIAJHDQBB+AAhEAzsAgsgAS0AAEEgRw3OASABQQFqIQEM7wELIAAgASIBIAIQrICAgAAiEA3OASABIQEMjgILAkAgASIEIAJHDQBB+gAhEAzqAgsgBC0AAEHMAEcN0QEgBEEBaiEBQRMhEAzPAQsCQCABIgQgAkcNAEH7ACEQDOkCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRADQCAELQAAIAFB8M6AgABqLQAARw3QASABQQVGDc4BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQfsAIRAM6AILAkAgASIEIAJHDQBB/AAhEAzoAgsCQAJAIAQtAABBvX9qDgwA0QHRAdEB0QHRAdEB0QHRAdEB0QEB0QELIARBAWohAUHmACEQDM8CCyAEQQFqIQFB5wAhEAzOAgsCQCABIgQgAkcNAEH9ACEQDOcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDc8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH9ACEQDOcCCyAAQQA2AgAgEEEBaiEBQRAhEAzMAQsCQCABIgQgAkcNAEH+ACEQDOYCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUH2zoCAAGotAABHDc4BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH+ACEQDOYCCyAAQQA2AgAgEEEBaiEBQRYhEAzLAQsCQCABIgQgAkcNAEH/ACEQDOUCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUH8zoCAAGotAABHDc0BIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH/ACEQDOUCCyAAQQA2AgAgEEEBaiEBQQUhEAzKAQsCQCABIgQgAkcNAEGAASEQDOQCCyAELQAAQdkARw3LASAEQQFqIQFBCCEQDMkBCwJAIAEiBCACRw0AQYEBIRAM4wILAkACQCAELQAAQbJ/ag4DAMwBAcwBCyAEQQFqIQFB6wAhEAzKAgsgBEEBaiEBQewAIRAMyQILAkAgASIEIAJHDQBBggEhEAziAgsCQAJAIAQtAABBuH9qDggAywHLAcsBywHLAcsBAcsBCyAEQQFqIQFB6gAhEAzJAgsgBEEBaiEBQe0AIRAMyAILAkAgASIEIAJHDQBBgwEhEAzhAgsgAiAEayAAKAIAIgFqIRAgBCABa0ECaiEUAkADQCAELQAAIAFBgM+AgABqLQAARw3JASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBA2AgBBgwEhEAzhAgtBACEQIABBADYCACAUQQFqIQEMxgELAkAgASIEIAJHDQBBhAEhEAzgAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBg8+AgABqLQAARw3IASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhAEhEAzgAgsgAEEANgIAIBBBAWohAUEjIRAMxQELAkAgASIEIAJHDQBBhQEhEAzfAgsCQAJAIAQtAABBtH9qDggAyAHIAcgByAHIAcgBAcgBCyAEQQFqIQFB7wAhEAzGAgsgBEEBaiEBQfAAIRAMxQILAkAgASIEIAJHDQBBhgEhEAzeAgsgBC0AAEHFAEcNxQEgBEEBaiEBDIMCCwJAIAEiBCACRw0AQYcBIRAM3QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQYjPgIAAai0AAEcNxQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYcBIRAM3QILIABBADYCACAQQQFqIQFBLSEQDMIBCwJAIAEiBCACRw0AQYgBIRAM3AILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNxAEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYgBIRAM3AILIABBADYCACAQQQFqIQFBKSEQDMEBCwJAIAEiASACRw0AQYkBIRAM2wILQQEhECABLQAAQd8ARw3AASABQQFqIQEMgQILAkAgASIEIAJHDQBBigEhEAzaAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQA0AgBC0AACABQYzPgIAAai0AAEcNwQEgAUEBRg2vAiABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGKASEQDNkCCwJAIAEiBCACRw0AQYsBIRAM2QILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQY7PgIAAai0AAEcNwQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYsBIRAM2QILIABBADYCACAQQQFqIQFBAiEQDL4BCwJAIAEiBCACRw0AQYwBIRAM2AILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNwAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYwBIRAM2AILIABBADYCACAQQQFqIQFBHyEQDL0BCwJAIAEiBCACRw0AQY0BIRAM1wILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNvwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY0BIRAM1wILIABBADYCACAQQQFqIQFBCSEQDLwBCwJAIAEiBCACRw0AQY4BIRAM1gILAkACQCAELQAAQbd/ag4HAL8BvwG/Ab8BvwEBvwELIARBAWohAUH4ACEQDL0CCyAEQQFqIQFB+QAhEAy8AgsCQCABIgQgAkcNAEGPASEQDNUCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGRz4CAAGotAABHDb0BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGPASEQDNUCCyAAQQA2AgAgEEEBaiEBQRghEAy6AQsCQCABIgQgAkcNAEGQASEQDNQCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUGXz4CAAGotAABHDbwBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGQASEQDNQCCyAAQQA2AgAgEEEBaiEBQRchEAy5AQsCQCABIgQgAkcNAEGRASEQDNMCCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUGaz4CAAGotAABHDbsBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGRASEQDNMCCyAAQQA2AgAgEEEBaiEBQRUhEAy4AQsCQCABIgQgAkcNAEGSASEQDNICCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGhz4CAAGotAABHDboBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGSASEQDNICCyAAQQA2AgAgEEEBaiEBQR4hEAy3AQsCQCABIgQgAkcNAEGTASEQDNECCyAELQAAQcwARw24ASAEQQFqIQFBCiEQDLYBCwJAIAQgAkcNAEGUASEQDNACCwJAAkAgBC0AAEG/f2oODwC5AbkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AQG5AQsgBEEBaiEBQf4AIRAMtwILIARBAWohAUH/ACEQDLYCCwJAIAQgAkcNAEGVASEQDM8CCwJAAkAgBC0AAEG/f2oOAwC4AQG4AQsgBEEBaiEBQf0AIRAMtgILIARBAWohBEGAASEQDLUCCwJAIAQgAkcNAEGWASEQDM4CCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUGnz4CAAGotAABHDbYBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGWASEQDM4CCyAAQQA2AgAgEEEBaiEBQQshEAyzAQsCQCAEIAJHDQBBlwEhEAzNAgsCQAJAAkACQCAELQAAQVNqDiMAuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AQG4AbgBuAG4AbgBArgBuAG4AQO4AQsgBEEBaiEBQfsAIRAMtgILIARBAWohAUH8ACEQDLUCCyAEQQFqIQRBgQEhEAy0AgsgBEEBaiEEQYIBIRAMswILAkAgBCACRw0AQZgBIRAMzAILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQanPgIAAai0AAEcNtAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZgBIRAMzAILIABBADYCACAQQQFqIQFBGSEQDLEBCwJAIAQgAkcNAEGZASEQDMsCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGuz4CAAGotAABHDbMBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGZASEQDMsCCyAAQQA2AgAgEEEBaiEBQQYhEAywAQsCQCAEIAJHDQBBmgEhEAzKAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBtM+AgABqLQAARw2yASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmgEhEAzKAgsgAEEANgIAIBBBAWohAUEcIRAMrwELAkAgBCACRw0AQZsBIRAMyQILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbbPgIAAai0AAEcNsQEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZsBIRAMyQILIABBADYCACAQQQFqIQFBJyEQDK4BCwJAIAQgAkcNAEGcASEQDMgCCwJAAkAgBC0AAEGsf2oOAgABsQELIARBAWohBEGGASEQDK8CCyAEQQFqIQRBhwEhEAyuAgsCQCAEIAJHDQBBnQEhEAzHAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBuM+AgABqLQAARw2vASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBnQEhEAzHAgsgAEEANgIAIBBBAWohAUEmIRAMrAELAkAgBCACRw0AQZ4BIRAMxgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbrPgIAAai0AAEcNrgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ4BIRAMxgILIABBADYCACAQQQFqIQFBAyEQDKsBCwJAIAQgAkcNAEGfASEQDMUCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDa0BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGfASEQDMUCCyAAQQA2AgAgEEEBaiEBQQwhEAyqAQsCQCAEIAJHDQBBoAEhEAzEAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBvM+AgABqLQAARw2sASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBoAEhEAzEAgsgAEEANgIAIBBBAWohAUENIRAMqQELAkAgBCACRw0AQaEBIRAMwwILAkACQCAELQAAQbp/ag4LAKwBrAGsAawBrAGsAawBrAGsAQGsAQsgBEEBaiEEQYsBIRAMqgILIARBAWohBEGMASEQDKkCCwJAIAQgAkcNAEGiASEQDMICCyAELQAAQdAARw2pASAEQQFqIQQM6QELAkAgBCACRw0AQaMBIRAMwQILAkACQCAELQAAQbd/ag4HAaoBqgGqAaoBqgEAqgELIARBAWohBEGOASEQDKgCCyAEQQFqIQFBIiEQDKYBCwJAIAQgAkcNAEGkASEQDMACCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHAz4CAAGotAABHDagBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGkASEQDMACCyAAQQA2AgAgEEEBaiEBQR0hEAylAQsCQCAEIAJHDQBBpQEhEAy/AgsCQAJAIAQtAABBrn9qDgMAqAEBqAELIARBAWohBEGQASEQDKYCCyAEQQFqIQFBBCEQDKQBCwJAIAQgAkcNAEGmASEQDL4CCwJAAkACQAJAAkAgBC0AAEG/f2oOFQCqAaoBqgGqAaoBqgGqAaoBqgGqAQGqAaoBAqoBqgEDqgGqAQSqAQsgBEEBaiEEQYgBIRAMqAILIARBAWohBEGJASEQDKcCCyAEQQFqIQRBigEhEAymAgsgBEEBaiEEQY8BIRAMpQILIARBAWohBEGRASEQDKQCCwJAIAQgAkcNAEGnASEQDL0CCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDaUBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGnASEQDL0CCyAAQQA2AgAgEEEBaiEBQREhEAyiAQsCQCAEIAJHDQBBqAEhEAy8AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBws+AgABqLQAARw2kASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqAEhEAy8AgsgAEEANgIAIBBBAWohAUEsIRAMoQELAkAgBCACRw0AQakBIRAMuwILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQcXPgIAAai0AAEcNowEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQakBIRAMuwILIABBADYCACAQQQFqIQFBKyEQDKABCwJAIAQgAkcNAEGqASEQDLoCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHKz4CAAGotAABHDaIBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGqASEQDLoCCyAAQQA2AgAgEEEBaiEBQRQhEAyfAQsCQCAEIAJHDQBBqwEhEAy5AgsCQAJAAkACQCAELQAAQb5/ag4PAAECpAGkAaQBpAGkAaQBpAGkAaQBpAGkAQOkAQsgBEEBaiEEQZMBIRAMogILIARBAWohBEGUASEQDKECCyAEQQFqIQRBlQEhEAygAgsgBEEBaiEEQZYBIRAMnwILAkAgBCACRw0AQawBIRAMuAILIAQtAABBxQBHDZ8BIARBAWohBAzgAQsCQCAEIAJHDQBBrQEhEAy3AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBzc+AgABqLQAARw2fASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrQEhEAy3AgsgAEEANgIAIBBBAWohAUEOIRAMnAELAkAgBCACRw0AQa4BIRAMtgILIAQtAABB0ABHDZ0BIARBAWohAUElIRAMmwELAkAgBCACRw0AQa8BIRAMtQILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNnQEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQa8BIRAMtQILIABBADYCACAQQQFqIQFBKiEQDJoBCwJAIAQgAkcNAEGwASEQDLQCCwJAAkAgBC0AAEGrf2oOCwCdAZ0BnQGdAZ0BnQGdAZ0BnQEBnQELIARBAWohBEGaASEQDJsCCyAEQQFqIQRBmwEhEAyaAgsCQCAEIAJHDQBBsQEhEAyzAgsCQAJAIAQtAABBv39qDhQAnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBAZwBCyAEQQFqIQRBmQEhEAyaAgsgBEEBaiEEQZwBIRAMmQILAkAgBCACRw0AQbIBIRAMsgILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQdnPgIAAai0AAEcNmgEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbIBIRAMsgILIABBADYCACAQQQFqIQFBISEQDJcBCwJAIAQgAkcNAEGzASEQDLECCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUHdz4CAAGotAABHDZkBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGzASEQDLECCyAAQQA2AgAgEEEBaiEBQRohEAyWAQsCQCAEIAJHDQBBtAEhEAywAgsCQAJAAkAgBC0AAEG7f2oOEQCaAZoBmgGaAZoBmgGaAZoBmgEBmgGaAZoBmgGaAQKaAQsgBEEBaiEEQZ0BIRAMmAILIARBAWohBEGeASEQDJcCCyAEQQFqIQRBnwEhEAyWAgsCQCAEIAJHDQBBtQEhEAyvAgsgAiAEayAAKAIAIgFqIRQgBCABa0EFaiEQAkADQCAELQAAIAFB5M+AgABqLQAARw2XASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtQEhEAyvAgsgAEEANgIAIBBBAWohAUEoIRAMlAELAkAgBCACRw0AQbYBIRAMrgILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQerPgIAAai0AAEcNlgEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbYBIRAMrgILIABBADYCACAQQQFqIQFBByEQDJMBCwJAIAQgAkcNAEG3ASEQDK0CCwJAAkAgBC0AAEG7f2oODgCWAZYBlgGWAZYBlgGWAZYBlgGWAZYBlgEBlgELIARBAWohBEGhASEQDJQCCyAEQQFqIQRBogEhEAyTAgsCQCAEIAJHDQBBuAEhEAysAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB7c+AgABqLQAARw2UASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuAEhEAysAgsgAEEANgIAIBBBAWohAUESIRAMkQELAkAgBCACRw0AQbkBIRAMqwILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNkwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbkBIRAMqwILIABBADYCACAQQQFqIQFBICEQDJABCwJAIAQgAkcNAEG6ASEQDKoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHyz4CAAGotAABHDZIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG6ASEQDKoCCyAAQQA2AgAgEEEBaiEBQQ8hEAyPAQsCQCAEIAJHDQBBuwEhEAypAgsCQAJAIAQtAABBt39qDgcAkgGSAZIBkgGSAQGSAQsgBEEBaiEEQaUBIRAMkAILIARBAWohBEGmASEQDI8CCwJAIAQgAkcNAEG8ASEQDKgCCyACIARrIAAoAgAiAWohFCAEIAFrQQdqIRACQANAIAQtAAAgAUH0z4CAAGotAABHDZABIAFBB0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG8ASEQDKgCCyAAQQA2AgAgEEEBaiEBQRshEAyNAQsCQCAEIAJHDQBBvQEhEAynAgsCQAJAAkAgBC0AAEG+f2oOEgCRAZEBkQGRAZEBkQGRAZEBkQEBkQGRAZEBkQGRAZEBApEBCyAEQQFqIQRBpAEhEAyPAgsgBEEBaiEEQacBIRAMjgILIARBAWohBEGoASEQDI0CCwJAIAQgAkcNAEG+ASEQDKYCCyAELQAAQc4ARw2NASAEQQFqIQQMzwELAkAgBCACRw0AQb8BIRAMpQILAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBC0AAEG/f2oOFQABAgOcAQQFBpwBnAGcAQcICQoLnAEMDQ4PnAELIARBAWohAUHoACEQDJoCCyAEQQFqIQFB6QAhEAyZAgsgBEEBaiEBQe4AIRAMmAILIARBAWohAUHyACEQDJcCCyAEQQFqIQFB8wAhEAyWAgsgBEEBaiEBQfYAIRAMlQILIARBAWohAUH3ACEQDJQCCyAEQQFqIQFB+gAhEAyTAgsgBEEBaiEEQYMBIRAMkgILIARBAWohBEGEASEQDJECCyAEQQFqIQRBhQEhEAyQAgsgBEEBaiEEQZIBIRAMjwILIARBAWohBEGYASEQDI4CCyAEQQFqIQRBoAEhEAyNAgsgBEEBaiEEQaMBIRAMjAILIARBAWohBEGqASEQDIsCCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEGrASEQDIsCC0HAASEQDKMCCyAAIAUgAhCqgICAACIBDYsBIAUhAQxcCwJAIAYgAkYNACAGQQFqIQUMjQELQcIBIRAMoQILA0ACQCAQLQAAQXZqDgSMAQAAjwEACyAQQQFqIhAgAkcNAAtBwwEhEAygAgsCQCAHIAJGDQAgAEGRgICAADYCCCAAIAc2AgQgByEBQQEhEAyHAgtBxAEhEAyfAgsCQCAHIAJHDQBBxQEhEAyfAgsCQAJAIActAABBdmoOBAHOAc4BAM4BCyAHQQFqIQYMjQELIAdBAWohBQyJAQsCQCAHIAJHDQBBxgEhEAyeAgsCQAJAIActAABBdmoOFwGPAY8BAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAQCPAQsgB0EBaiEHC0GwASEQDIQCCwJAIAggAkcNAEHIASEQDJ0CCyAILQAAQSBHDY0BIABBADsBMiAIQQFqIQFBswEhEAyDAgsgASEXAkADQCAXIgcgAkYNASAHLQAAQVBqQf8BcSIQQQpPDcwBAkAgAC8BMiIUQZkzSw0AIAAgFEEKbCIUOwEyIBBB//8DcyAUQf7/A3FJDQAgB0EBaiEXIAAgFCAQaiIQOwEyIBBB//8DcUHoB0kNAQsLQQAhECAAQQA2AhwgAEHBiYCAADYCECAAQQ02AgwgACAHQQFqNgIUDJwCC0HHASEQDJsCCyAAIAggAhCugICAACIQRQ3KASAQQRVHDYwBIABByAE2AhwgACAINgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAyaAgsCQCAJIAJHDQBBzAEhEAyaAgtBACEUQQEhF0EBIRZBACEQAkACQAJAAkACQAJAAkACQAJAIAktAABBUGoOCpYBlQEAAQIDBAUGCJcBC0ECIRAMBgtBAyEQDAULQQQhEAwEC0EFIRAMAwtBBiEQDAILQQchEAwBC0EIIRALQQAhF0EAIRZBACEUDI4BC0EJIRBBASEUQQAhF0EAIRYMjQELAkAgCiACRw0AQc4BIRAMmQILIAotAABBLkcNjgEgCkEBaiEJDMoBCyALIAJHDY4BQdABIRAMlwILAkAgCyACRg0AIABBjoCAgAA2AgggACALNgIEQbcBIRAM/gELQdEBIRAMlgILAkAgBCACRw0AQdIBIRAMlgILIAIgBGsgACgCACIQaiEUIAQgEGtBBGohCwNAIAQtAAAgEEH8z4CAAGotAABHDY4BIBBBBEYN6QEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB0gEhEAyVAgsgACAMIAIQrICAgAAiAQ2NASAMIQEMuAELAkAgBCACRw0AQdQBIRAMlAILIAIgBGsgACgCACIQaiEUIAQgEGtBAWohDANAIAQtAAAgEEGB0ICAAGotAABHDY8BIBBBAUYNjgEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB1AEhEAyTAgsCQCAEIAJHDQBB1gEhEAyTAgsgAiAEayAAKAIAIhBqIRQgBCAQa0ECaiELA0AgBC0AACAQQYPQgIAAai0AAEcNjgEgEEECRg2QASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHWASEQDJICCwJAIAQgAkcNAEHXASEQDJICCwJAAkAgBC0AAEG7f2oOEACPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAY8BCyAEQQFqIQRBuwEhEAz5AQsgBEEBaiEEQbwBIRAM+AELAkAgBCACRw0AQdgBIRAMkQILIAQtAABByABHDYwBIARBAWohBAzEAQsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBvgEhEAz3AQtB2QEhEAyPAgsCQCAEIAJHDQBB2gEhEAyPAgsgBC0AAEHIAEYNwwEgAEEBOgAoDLkBCyAAQQI6AC8gACAEIAIQpoCAgAAiEA2NAUHCASEQDPQBCyAALQAoQX9qDgK3AbkBuAELA0ACQCAELQAAQXZqDgQAjgGOAQCOAQsgBEEBaiIEIAJHDQALQd0BIRAMiwILIABBADoALyAALQAtQQRxRQ2EAgsgAEEAOgAvIABBAToANCABIQEMjAELIBBBFUYN2gEgAEEANgIcIAAgATYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMiAILAkAgACAQIAIQtICAgAAiBA0AIBAhAQyBAgsCQCAEQRVHDQAgAEEDNgIcIAAgEDYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMiAILIABBADYCHCAAIBA2AhQgAEGnjoCAADYCECAAQRI2AgxBACEQDIcCCyAQQRVGDdYBIABBADYCHCAAIAE2AhQgAEHajYCAADYCECAAQRQ2AgxBACEQDIYCCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNjQEgAEEHNgIcIAAgEDYCFCAAIBQ2AgxBACEQDIUCCyAAIAAvATBBgAFyOwEwIAEhAQtBKiEQDOoBCyAQQRVGDdEBIABBADYCHCAAIAE2AhQgAEGDjICAADYCECAAQRM2AgxBACEQDIICCyAQQRVGDc8BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDIECCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyNAQsgAEEMNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDIACCyAQQRVGDcwBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDP8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyMAQsgAEENNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDP4BCyAQQRVGDckBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDP0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyLAQsgAEEONgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPwBCyAAQQA2AhwgACABNgIUIABBwJWAgAA2AhAgAEECNgIMQQAhEAz7AQsgEEEVRg3FASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhEAz6AQsgAEEQNgIcIAAgATYCFCAAIBA2AgxBACEQDPkBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQzxAQsgAEERNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPgBCyAQQRVGDcEBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPcBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyIAQsgAEETNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPYBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQztAQsgAEEUNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPUBCyAQQRVGDb0BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDPQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyGAQsgAEEWNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQt4CAgAAiBA0AIAFBAWohAQzpAQsgAEEXNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPIBCyAAQQA2AhwgACABNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzxAQtCASERCyAQQQFqIQECQCAAKQMgIhJC//////////8PVg0AIAAgEkIEhiARhDcDICABIQEMhAELIABBADYCHCAAIAE2AhQgAEGtiYCAADYCECAAQQw2AgxBACEQDO8BCyAAQQA2AhwgACAQNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzuAQsgACgCBCEXIABBADYCBCAQIBGnaiIWIQEgACAXIBAgFiAUGyIQELWAgIAAIhRFDXMgAEEFNgIcIAAgEDYCFCAAIBQ2AgxBACEQDO0BCyAAQQA2AhwgACAQNgIUIABBqpyAgAA2AhAgAEEPNgIMQQAhEAzsAQsgACAQIAIQtICAgAAiAQ0BIBAhAQtBDiEQDNEBCwJAIAFBFUcNACAAQQI2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAzqAQsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAM6QELIAFBAWohEAJAIAAvATAiAUGAAXFFDQACQCAAIBAgAhC7gICAACIBDQAgECEBDHALIAFBFUcNugEgAEEFNgIcIAAgEDYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAM6QELAkAgAUGgBHFBoARHDQAgAC0ALUECcQ0AIABBADYCHCAAIBA2AhQgAEGWk4CAADYCECAAQQQ2AgxBACEQDOkBCyAAIBAgAhC9gICAABogECEBAkACQAJAAkACQCAAIBAgAhCzgICAAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIABBAToALgsgACAALwEwQcAAcjsBMCAQIQELQSYhEAzRAQsgAEEjNgIcIAAgEDYCFCAAQaWWgIAANgIQIABBFTYCDEEAIRAM6QELIABBADYCHCAAIBA2AhQgAEHVi4CAADYCECAAQRE2AgxBACEQDOgBCyAALQAtQQFxRQ0BQcMBIRAMzgELAkAgDSACRg0AA0ACQCANLQAAQSBGDQAgDSEBDMQBCyANQQFqIg0gAkcNAAtBJSEQDOcBC0ElIRAM5gELIAAoAgQhBCAAQQA2AgQgACAEIA0Qr4CAgAAiBEUNrQEgAEEmNgIcIAAgBDYCDCAAIA1BAWo2AhRBACEQDOUBCyAQQRVGDasBIABBADYCHCAAIAE2AhQgAEH9jYCAADYCECAAQR02AgxBACEQDOQBCyAAQSc2AhwgACABNgIUIAAgEDYCDEEAIRAM4wELIBAhAUEBIRQCQAJAAkACQAJAAkACQCAALQAsQX5qDgcGBQUDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhFAwBC0EEIRQLIABBAToALCAAIAAvATAgFHI7ATALIBAhAQtBKyEQDMoBCyAAQQA2AhwgACAQNgIUIABBq5KAgAA2AhAgAEELNgIMQQAhEAziAQsgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDEEAIRAM4QELIABBADoALCAQIQEMvQELIBAhAUEBIRQCQAJAAkACQAJAIAAtACxBe2oOBAMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0EpIRAMxQELIABBADYCHCAAIAE2AhQgAEHwlICAADYCECAAQQM2AgxBACEQDN0BCwJAIA4tAABBDUcNACAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA5BAWohAQx1CyAAQSw2AhwgACABNgIMIAAgDkEBajYCFEEAIRAM3QELIAAtAC1BAXFFDQFBxAEhEAzDAQsCQCAOIAJHDQBBLSEQDNwBCwJAAkADQAJAIA4tAABBdmoOBAIAAAMACyAOQQFqIg4gAkcNAAtBLSEQDN0BCyAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA4hAQx0CyAAQSw2AhwgACAONgIUIAAgATYCDEEAIRAM3AELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHMLIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzbAQsgACgCBCEEIABBADYCBCAAIAQgDhCxgICAACIEDaABIA4hAQzOAQsgEEEsRw0BIAFBAWohEEEBIQECQAJAAkACQAJAIAAtACxBe2oOBAMBAgQACyAQIQEMBAtBAiEBDAELQQQhAQsgAEEBOgAsIAAgAC8BMCABcjsBMCAQIQEMAQsgACAALwEwQQhyOwEwIBAhAQtBOSEQDL8BCyAAQQA6ACwgASEBC0E0IRAMvQELIAAgAC8BMEEgcjsBMCABIQEMAgsgACgCBCEEIABBADYCBAJAIAAgBCABELGAgIAAIgQNACABIQEMxwELIABBNzYCHCAAIAE2AhQgACAENgIMQQAhEAzUAQsgAEEIOgAsIAEhAQtBMCEQDLkBCwJAIAAtAChBAUYNACABIQEMBAsgAC0ALUEIcUUNkwEgASEBDAMLIAAtADBBIHENlAFBxQEhEAy3AQsCQCAPIAJGDQACQANAAkAgDy0AAEFQaiIBQf8BcUEKSQ0AIA8hAUE1IRAMugELIAApAyAiEUKZs+bMmbPmzBlWDQEgACARQgp+IhE3AyAgESABrUL/AYMiEkJ/hVYNASAAIBEgEnw3AyAgD0EBaiIPIAJHDQALQTkhEAzRAQsgACgCBCECIABBADYCBCAAIAIgD0EBaiIEELGAgIAAIgINlQEgBCEBDMMBC0E5IRAMzwELAkAgAC8BMCIBQQhxRQ0AIAAtAChBAUcNACAALQAtQQhxRQ2QAQsgACABQff7A3FBgARyOwEwIA8hAQtBNyEQDLQBCyAAIAAvATBBEHI7ATAMqwELIBBBFUYNiwEgAEEANgIcIAAgATYCFCAAQfCOgIAANgIQIABBHDYCDEEAIRAMywELIABBwwA2AhwgACABNgIMIAAgDUEBajYCFEEAIRAMygELAkAgAS0AAEE6Rw0AIAAoAgQhECAAQQA2AgQCQCAAIBAgARCvgICAACIQDQAgAUEBaiEBDGMLIABBwwA2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMygELIABBADYCHCAAIAE2AhQgAEGxkYCAADYCECAAQQo2AgxBACEQDMkBCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhEAzIAQsgAEEANgIACyAAQYASOwEqIAAgF0EBaiIBIAIQqICAgAAiEA0BIAEhAQtBxwAhEAysAQsgEEEVRw2DASAAQdEANgIcIAAgATYCFCAAQeOXgIAANgIQIABBFTYCDEEAIRAMxAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDF4LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMwwELIABBADYCHCAAIBQ2AhQgAEHBqICAADYCECAAQQc2AgwgAEEANgIAQQAhEAzCAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAzBAQtBACEQIABBADYCHCAAIAE2AhQgAEGAkYCAADYCECAAQQk2AgwMwAELIBBBFUYNfSAAQQA2AhwgACABNgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAy/AQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgAUEBaiEBAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBAJAIAAgECABEK2AgIAAIhANACABIQEMXAsgAEHYADYCHCAAIAE2AhQgACAQNgIMQQAhEAy+AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMrQELIABB2QA2AhwgACABNgIUIAAgBDYCDEEAIRAMvQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKsBCyAAQdoANgIcIAAgATYCFCAAIAQ2AgxBACEQDLwBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQypAQsgAEHcADYCHCAAIAE2AhQgACAENgIMQQAhEAy7AQsCQCABLQAAQVBqIhBB/wFxQQpPDQAgACAQOgAqIAFBAWohAUHPACEQDKIBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQynAQsgAEHeADYCHCAAIAE2AhQgACAENgIMQQAhEAy6AQsgAEEANgIAIBdBAWohAQJAIAAtAClBI08NACABIQEMWQsgAEEANgIcIAAgATYCFCAAQdOJgIAANgIQIABBCDYCDEEAIRAMuQELIABBADYCAAtBACEQIABBADYCHCAAIAE2AhQgAEGQs4CAADYCECAAQQg2AgwMtwELIABBADYCACAXQQFqIQECQCAALQApQSFHDQAgASEBDFYLIABBADYCHCAAIAE2AhQgAEGbioCAADYCECAAQQg2AgxBACEQDLYBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKSIQQV1qQQtPDQAgASEBDFULAkAgEEEGSw0AQQEgEHRBygBxRQ0AIAEhAQxVC0EAIRAgAEEANgIcIAAgATYCFCAAQfeJgIAANgIQIABBCDYCDAy1AQsgEEEVRg1xIABBADYCHCAAIAE2AhQgAEG5jYCAADYCECAAQRo2AgxBACEQDLQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxUCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLMBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
+  }
+});
+
+// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCrLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC0kBAXsgAEEQav0MAAAAAAAAAAAAAAAAAAAAACIB/QsDACAAIAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+  }
+});
+
+// node_modules/undici/lib/client.js
+var require_client3 = __commonJS({
+  "node_modules/undici/lib/client.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var net = require("net");
+    var http = require("http");
+    var { pipeline } = require("stream");
+    var util = require_util24();
+    var timers = require_timers3();
+    var Request = require_request5();
+    var DispatcherBase = require_dispatcher_base3();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      InvalidArgumentError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError,
+      ClientDestroyedError
+    } = require_errors6();
+    var buildConnector = require_connect3();
+    var {
+      kUrl,
+      kReset,
+      kServerName,
+      kClient,
+      kBusy,
+      kParser,
+      kConnect,
+      kBlocking,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kHTTPConnVersion,
+      // HTTP2
+      kHost,
+      kHTTP2Session,
+      kHTTP2SessionState,
+      kHTTP2BuildRequest,
+      kHTTP2CopyHeaders,
+      kHTTP1BuildRequest
+    } = require_symbols11();
+    var http2;
+    try {
+      http2 = require("http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
       }
+    } = http2;
+    var h2ExperimentalWarned = false;
+    var FastBuffer = Buffer[Symbol.species];
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var channels = {};
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
+      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
+      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
+      channels.connected = diagnosticsChannel.channel("undici:client:connected");
+    } catch {
+      channels.sendHeaders = { hasSubscribers: false };
+      channels.beforeConnect = { hasSubscribers: false };
+      channels.connectError = { hasSubscribers: false };
+      channels.connected = { hasSubscribers: false };
+    }
+    var Client = class extends DispatcherBase {
       /**
-       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
+       *
+       * @param {string|URL} url
+       * @param {import('../types/client').Client.Options} options
        */
-      get disposeAfter() {
-        return this.#disposeAfter;
-      }
-      constructor(options) {
-        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
-        if (max !== 0 && !isPosInt(max)) {
-          throw new TypeError("max option must be a nonnegative integer");
+      constructor(url, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        allowH2,
+        maxConcurrentStreams
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
         }
-        const UintArray = max ? getUintArray(max) : Array;
-        if (!UintArray) {
-          throw new Error("invalid max value: " + max);
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        this.#max = max;
-        this.#maxSize = maxSize;
-        this.maxEntrySize = maxEntrySize || this.#maxSize;
-        this.sizeCalculation = sizeCalculation;
-        if (this.sizeCalculation) {
-          if (!this.#maxSize && !this.maxEntrySize) {
-            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
-          }
-          if (typeof this.sizeCalculation !== "function") {
-            throw new TypeError("sizeCalculation set to non-function");
-          }
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
-          throw new TypeError("memoMethod must be a function if defined");
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        this.#memoMethod = memoMethod;
-        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
-          throw new TypeError("fetchMethod must be a function if specified");
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-        this.#fetchMethod = fetchMethod;
-        this.#hasFetchMethod = !!fetchMethod;
-        this.#keyMap = /* @__PURE__ */ new Map();
-        this.#keyList = new Array(max).fill(void 0);
-        this.#valList = new Array(max).fill(void 0);
-        this.#next = new UintArray(max);
-        this.#prev = new UintArray(max);
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free = Stack.create(max);
-        this.#size = 0;
-        this.#calculatedSize = 0;
-        if (typeof dispose === "function") {
-          this.#dispose = dispose;
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
         }
-        if (typeof onInsert === "function") {
-          this.#onInsert = onInsert;
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
         }
-        if (typeof disposeAfter === "function") {
-          this.#disposeAfter = disposeAfter;
-          this.#disposed = [];
-        } else {
-          this.#disposeAfter = void 0;
-          this.#disposed = void 0;
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
         }
-        this.#hasDispose = !!this.#dispose;
-        this.#hasOnInsert = !!this.#onInsert;
-        this.#hasDisposeAfter = !!this.#disposeAfter;
-        this.noDisposeOnSet = !!noDisposeOnSet;
-        this.noUpdateTTL = !!noUpdateTTL;
-        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
-        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
-        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
-        this.ignoreFetchAbort = !!ignoreFetchAbort;
-        if (this.maxEntrySize !== 0) {
-          if (this.#maxSize !== 0) {
-            if (!isPosInt(this.#maxSize)) {
-              throw new TypeError("maxSize must be a positive integer if specified");
-            }
-          }
-          if (!isPosInt(this.maxEntrySize)) {
-            throw new TypeError("maxEntrySize must be a positive integer if specified");
-          }
-          this.#initializeSizeTracking();
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
         }
-        this.allowStale = !!allowStale;
-        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
-        this.updateAgeOnGet = !!updateAgeOnGet;
-        this.updateAgeOnHas = !!updateAgeOnHas;
-        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
-        this.ttlAutopurge = !!ttlAutopurge;
-        this.ttl = ttl || 0;
-        if (this.ttl) {
-          if (!isPosInt(this.ttl)) {
-            throw new TypeError("ttl must be a positive integer if specified");
-          }
-          this.#initializeTTLTracking();
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
         }
-        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
-          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
         }
-        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
-          const code = "LRU_CACHE_UNBOUNDED";
-          if (shouldWarn(code)) {
-            warned.add(code);
-            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
-            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
-          }
+        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        }
+        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        }
+        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+        }
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        }
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        }
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        }
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        }
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
         }
+        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        this[kUrl] = util.parseOrigin(url);
+        this[kConnector] = connect2;
+        this[kSocket] = null;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kHTTPConnVersion] = "h1";
+        this[kHTTP2Session] = null;
+        this[kHTTP2SessionState] = !allowH2 ? null : {
+          // streams: null, // Fixed queue of streams - For future support of `push`
+          openStreams: 0,
+          // Keep track of them to decide wether or not unref the session
+          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
+          // Max peerConcurrentStreams for a Node h2 server
+        };
+        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
       }
-      /**
-       * Return the number of ms left in the item's TTL. If item is not in cache,
-       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
-       */
-      getRemainingTTL(key) {
-        return this.#keyMap.has(key) ? Infinity : 0;
+      get pipelining() {
+        return this[kPipelining];
       }
-      #initializeTTLTracking() {
-        const ttls = new ZeroArray(this.#max);
-        const starts = new ZeroArray(this.#max);
-        this.#ttls = ttls;
-        this.#starts = starts;
-        this.#setItemTTL = (index, ttl, start = perf.now()) => {
-          starts[index] = ttl !== 0 ? start : 0;
-          ttls[index] = ttl;
-          if (ttl !== 0 && this.ttlAutopurge) {
-            const t = setTimeout(() => {
-              if (this.#isStale(index)) {
-                this.#delete(this.#keyList[index], "expire");
-              }
-            }, ttl + 1);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-        };
-        this.#updateItemAge = (index) => {
-          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
-        };
-        this.#statusTTL = (status, index) => {
-          if (ttls[index]) {
-            const ttl = ttls[index];
-            const start = starts[index];
-            if (!ttl || !start)
-              return;
-            status.ttl = ttl;
-            status.start = start;
-            status.now = cachedNow || getNow();
-            const age = status.now - start;
-            status.remainingTTL = ttl - age;
-          }
-        };
-        let cachedNow = 0;
-        const getNow = () => {
-          const n = perf.now();
-          if (this.ttlResolution > 0) {
-            cachedNow = n;
-            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-          return n;
-        };
-        this.getRemainingTTL = (key) => {
-          const index = this.#keyMap.get(key);
-          if (index === void 0) {
-            return 0;
-          }
-          const ttl = ttls[index];
-          const start = starts[index];
-          if (!ttl || !start) {
-            return Infinity;
-          }
-          const age = (cachedNow || getNow()) - start;
-          return ttl - age;
-        };
-        this.#isStale = (index) => {
-          const s = starts[index];
-          const t = ttls[index];
-          return !!t && !!s && (cachedNow || getNow()) - s > t;
-        };
+      set pipelining(value) {
+        this[kPipelining] = value;
+        resume(this, true);
       }
-      // conditionally set private methods related to TTL
-      #updateItemAge = () => {
-      };
-      #statusTTL = () => {
-      };
-      #setItemTTL = () => {
-      };
-      /* c8 ignore stop */
-      #isStale = () => false;
-      #initializeSizeTracking() {
-        const sizes = new ZeroArray(this.#max);
-        this.#calculatedSize = 0;
-        this.#sizes = sizes;
-        this.#removeItemSize = (index) => {
-          this.#calculatedSize -= sizes[index];
-          sizes[index] = 0;
-        };
-        this.#requireSize = (k, v, size, sizeCalculation) => {
-          if (this.#isBackgroundFetch(v)) {
-            return 0;
-          }
-          if (!isPosInt(size)) {
-            if (sizeCalculation) {
-              if (typeof sizeCalculation !== "function") {
-                throw new TypeError("sizeCalculation must be a function");
-              }
-              size = sizeCalculation(v, k);
-              if (!isPosInt(size)) {
-                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
-              }
-            } else {
-              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
-            }
-          }
-          return size;
-        };
-        this.#addItemSize = (index, size, status) => {
-          sizes[index] = size;
-          if (this.#maxSize) {
-            const maxSize = this.#maxSize - sizes[index];
-            while (this.#calculatedSize > maxSize) {
-              this.#evict(true);
-            }
-          }
-          this.#calculatedSize += sizes[index];
-          if (status) {
-            status.entrySize = size;
-            status.totalCalculatedSize = this.#calculatedSize;
-          }
-        };
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      #removeItemSize = (_i) => {
-      };
-      #addItemSize = (_i, _s, _st) => {
-      };
-      #requireSize = (_k, _v, size, sizeCalculation) => {
-        if (size || sizeCalculation) {
-          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
-        }
-        return 0;
-      };
-      *#indexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#tail; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#head) {
-              break;
-            } else {
-              i = this.#prev[i];
-            }
-          }
-        }
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      *#rindexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#head; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#tail) {
-              break;
-            } else {
-              i = this.#next[i];
-            }
-          }
-        }
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-      #isValidIndex(index) {
-        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
+      get [kConnected]() {
+        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      }
+      get [kBusy]() {
+        const socket = this[kSocket];
+        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
       }
-      /**
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from most recently used to least recently used.
-       */
-      *entries() {
-        for (const i of this.#indexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
-        }
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
       }
-      /**
-       * Inverse order version of {@link LRUCache.entries}
-       *
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from least recently used to most recently used.
-       */
-      *rentries() {
-        for (const i of this.#rindexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          process.nextTick(resume, this);
+        } else {
+          resume(this, true);
         }
-      }
-      /**
-       * Return a generator yielding the keys in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *keys() {
-        for (const i of this.#indexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-      /**
-       * Inverse order version of {@link LRUCache.keys}
-       *
-       * Return a generator yielding the keys in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rkeys() {
-        for (const i of this.#rindexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
+      async [kClose]() {
+        return new Promise((resolve3) => {
+          if (!this[kSize]) {
+            resolve3(null);
+          } else {
+            this[kClosedResolve] = resolve3;
           }
-        }
+        });
       }
-      /**
-       * Return a generator yielding the values in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *values() {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
+      async [kDestroy](err) {
+        return new Promise((resolve3) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            errorRequest2(this, request2, err);
           }
-        }
-      }
-      /**
-       * Inverse order version of {@link LRUCache.values}
-       *
-       * Return a generator yielding the values in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rvalues() {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
+            }
+            resolve3();
+          };
+          if (this[kHTTP2Session] != null) {
+            util.destroy(this[kHTTP2Session], err);
+            this[kHTTP2Session] = null;
+            this[kHTTP2SessionState] = null;
           }
-        }
-      }
-      /**
-       * Iterating over the cache itself yields the same results as
-       * {@link LRUCache.entries}
-       */
-      [Symbol.iterator]() {
-        return this.entries();
-      }
-      /**
-       * A String value that is used in the creation of the default string
-       * description of an object. Called by the built-in method
-       * `Object.prototype.toString`.
-       */
-      [Symbol.toStringTag] = "LRUCache";
-      /**
-       * Find a value for which the supplied fn method returns a truthy value,
-       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
-       */
-      find(fn, getOptions = {}) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          if (fn(value, this.#keyList[i], this)) {
-            return this.get(this.#keyList[i], getOptions);
+          if (!this[kSocket]) {
+            queueMicrotask(callback);
+          } else {
+            util.destroy(this[kSocket].on("close", callback), err);
           }
-        }
+          resume(this);
+        });
       }
-      /**
-       * Call the supplied function on each item in the cache, in order from most
-       * recently used to least recently used.
-       *
-       * `fn` is called as `fn(value, key, cache)`.
-       *
-       * If `thisp` is provided, function will be called in the `this`-context of
-       * the provided object, or the cache if no `thisp` object is provided.
-       *
-       * Does not update age or recenty of use, or iterate over stale values.
-       */
-      forEach(fn, thisp = this) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
-        }
+    };
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      onError(this[kClient], err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+      if (id === 0) {
+        this[kSocket][kError] = err;
+        onError(this[kClient], err);
       }
-      /**
-       * The same as {@link LRUCache.forEach} but items are iterated over in
-       * reverse order.  (ie, less recently used items are iterated over first.)
-       */
-      rforEach(fn, thisp = this) {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
+    }
+    function onHttp2SessionEnd() {
+      util.destroy(this, new SocketError("other side closed"));
+      util.destroy(this[kSocket], new SocketError("other side closed"));
+    }
+    function onHTTP2GoAway(code) {
+      const client = this[kClient];
+      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
+      client[kSocket] = null;
+      client[kHTTP2Session] = null;
+      if (client.destroyed) {
+        assert(this[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(this, request2, err);
         }
+      } else if (client[kRunning] > 0) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
       }
-      /**
-       * Delete any stale entries. Returns true if anything was removed,
-       * false otherwise.
-       */
-      purgeStale() {
-        let deleted = false;
-        for (const i of this.#rindexes({ allowStale: true })) {
-          if (this.#isStale(i)) {
-            this.#delete(this.#keyList[i], "expire");
-            deleted = true;
-          }
-        }
-        return deleted;
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit(
+        "disconnect",
+        client[kUrl],
+        [client],
+        err
+      );
+      resume(client);
+    }
+    var constants = require_constants22();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var EMPTY_BUF = Buffer.alloc(0);
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm3() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm3(), "base64"));
+      } catch (e) {
+        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm3(), "base64"));
       }
-      /**
-       * Get the extended info about a given entry, to get its value, size, and
-       * TTL info simultaneously. Returns `undefined` if the key is not present.
-       *
-       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
-       * serialization, the `start` value is always the current timestamp, and the
-       * `ttl` is a calculated remaining time to live (negative if expired).
-       *
-       * Always returns stale values, if their info is found in the cache, so be
-       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
-       * if relevant.
-       */
-      info(key) {
-        const i = this.#keyMap.get(key);
-        if (i === void 0)
-          return void 0;
-        const v = this.#valList[i];
-        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-        if (value === void 0)
-          return void 0;
-        const entry = { value };
-        if (this.#ttls && this.#starts) {
-          const ttl = this.#ttls[i];
-          const start = this.#starts[i];
-          if (ttl && start) {
-            const remain = ttl - (perf.now() - start);
-            entry.ttl = remain;
-            entry.start = Date.now();
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageComplete() || 0;
           }
+          /* eslint-enable camelcase */
         }
-        if (this.#sizes) {
-          entry.size = this.#sizes[i];
-        }
-        return entry;
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var TIMEOUT_HEADERS = 1;
+    var TIMEOUT_BODY = 2;
+    var TIMEOUT_IDLE = 3;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
       }
-      /**
-       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
-       * passed to {@link LRUCache#load}.
-       *
-       * The `start` fields are calculated relative to a portable `Date.now()`
-       * timestamp, even if `performance.now()` is available.
-       *
-       * Stale entries are always included in the `dump`, even if
-       * {@link LRUCache.OptionsBase.allowStale} is false.
-       *
-       * Note: this returns an actual array, not a generator, so it can be more
-       * easily passed around.
-       */
-      dump() {
-        const arr = [];
-        for (const i of this.#indexes({ allowStale: true })) {
-          const key = this.#keyList[i];
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0 || key === void 0)
-            continue;
-          const entry = { value };
-          if (this.#ttls && this.#starts) {
-            entry.ttl = this.#ttls[i];
-            const age = perf.now() - this.#starts[i];
-            entry.start = Math.floor(Date.now() - age);
-          }
-          if (this.#sizes) {
-            entry.size = this.#sizes[i];
+      setTimeout(value, type2) {
+        this.timeoutType = type2;
+        if (value !== this.timeoutValue) {
+          timers.clearTimeout(this.timeout);
+          if (value) {
+            this.timeout = timers.setTimeout(onParserTimeout, value, this);
+            if (this.timeout.unref) {
+              this.timeout.unref();
+            }
+          } else {
+            this.timeout = null;
           }
-          arr.unshift([key, entry]);
-        }
-        return arr;
-      }
-      /**
-       * Reset the cache and load in the items in entries in the order listed.
-       *
-       * The shape of the resulting cache may be different if the same options are
-       * not used in both caches.
-       *
-       * The `start` fields are assumed to be calculated relative to a portable
-       * `Date.now()` timestamp, even if `performance.now()` is available.
-       */
-      load(arr) {
-        this.clear();
-        for (const [key, entry] of arr) {
-          if (entry.start) {
-            const age = Date.now() - entry.start;
-            entry.start = perf.now() - age;
+          this.timeoutValue = value;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-          this.set(key, entry.value, entry);
         }
       }
-      /**
-       * Add a value to the cache.
-       *
-       * Note: if `undefined` is specified as a value, this is an alias for
-       * {@link LRUCache#delete}
-       *
-       * Fields on the {@link LRUCache.SetOptions} options param will override
-       * their corresponding values in the constructor options for the scope
-       * of this single `set()` operation.
-       *
-       * If `start` is provided, then that will set the effective start
-       * time for the TTL calculation. Note that this must be a previous
-       * value of `performance.now()` if supported, or a previous value of
-       * `Date.now()` if not.
-       *
-       * Options object may also include `size`, which will prevent
-       * calling the `sizeCalculation` function and just use the specified
-       * number if it is a positive integer, and `noDisposeOnSet` which
-       * will prevent calling a `dispose` function in the case of
-       * overwrites.
-       *
-       * If the `size` (or return value of `sizeCalculation`) for a given
-       * entry is greater than `maxEntrySize`, then the item will not be
-       * added to the cache.
-       *
-       * Will update the recency of the entry.
-       *
-       * If the value is `undefined`, then this is an alias for
-       * `cache.delete(key)`. `undefined` is never stored in the cache.
-       */
-      set(k, v, setOptions = {}) {
-        if (v === void 0) {
-          this.delete(k);
-          return this;
-        }
-        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
-        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
-        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
-        if (this.maxEntrySize && size > this.maxEntrySize) {
-          if (status) {
-            status.set = "miss";
-            status.maxEntrySizeExceeded = true;
-          }
-          this.#delete(k, "set");
-          return this;
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
         }
-        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
-        if (index === void 0) {
-          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
-          this.#keyList[index] = k;
-          this.#valList[index] = v;
-          this.#keyMap.set(k, index);
-          this.#next[this.#tail] = index;
-          this.#prev[index] = this.#tail;
-          this.#tail = index;
-          this.#size++;
-          this.#addItemSize(index, size, status);
-          if (status)
-            status.set = "add";
-          noUpdateTTL = false;
-          if (this.#hasOnInsert) {
-            this.#onInsert?.(v, k, "add");
-          }
-        } else {
-          this.#moveToTail(index);
-          const oldVal = this.#valList[index];
-          if (v !== oldVal) {
-            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
-              oldVal.__abortController.abort(new Error("replaced"));
-              const { __staleWhileFetching: s } = oldVal;
-              if (s !== void 0 && !noDisposeOnSet) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(s, k, "set");
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([s, k, "set"]);
-                }
-              }
-            } else if (!noDisposeOnSet) {
-              if (this.#hasDispose) {
-                this.#dispose?.(oldVal, k, "set");
-              }
-              if (this.#hasDisposeAfter) {
-                this.#disposed?.push([oldVal, k, "set"]);
-              }
-            }
-            this.#removeItemSize(index);
-            this.#addItemSize(index, size, status);
-            this.#valList[index] = v;
-            if (status) {
-              status.set = "replace";
-              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
-              if (oldValue !== void 0)
-                status.oldValue = oldValue;
-            }
-          } else if (status) {
-            status.set = "update";
-          }
-          if (this.#hasOnInsert) {
-            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
         }
-        if (ttl !== 0 && !this.#ttls) {
-          this.#initializeTTLTracking();
-        }
-        if (this.#ttls) {
-          if (!noUpdateTTL) {
-            this.#setItemTTL(index, ttl, start);
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
+      }
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
           }
-          if (status)
-            this.#statusTTL(status, index);
+          this.execute(chunk);
         }
-        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+      }
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
           }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
         }
-        return this;
-      }
-      /**
-       * Evict the least recently used item, returning its value or
-       * `undefined` if cache is empty.
-       */
-      pop() {
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
         try {
-          while (this.#size) {
-            const val = this.#valList[this.#head];
-            this.#evict(true);
-            if (this.#isBackgroundFetch(val)) {
-              if (val.__staleWhileFetching) {
-                return val.__staleWhileFetching;
-              }
-            } else if (val !== void 0) {
-              return val;
-            }
+          let ret;
+          try {
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
+          } catch (err) {
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
           }
-        } finally {
-          if (this.#hasDisposeAfter && this.#disposed) {
-            const dt = this.#disposed;
-            let task;
-            while (task = dt?.shift()) {
-              this.#disposeAfter?.(...task);
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
             }
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
           }
+        } catch (err) {
+          util.destroy(socket, err);
         }
       }
-      #evict(free) {
-        const head = this.#head;
-        const k = this.#keyList[head];
-        const v = this.#valList[head];
-        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
-          v.__abortController.abort(new Error("evicted"));
-        } else if (this.#hasDispose || this.#hasDisposeAfter) {
-          if (this.#hasDispose) {
-            this.#dispose?.(v, k, "evict");
-          }
-          if (this.#hasDisposeAfter) {
-            this.#disposed?.push([v, k, "evict"]);
-          }
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
+      }
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        this.#removeItemSize(head);
-        if (free) {
-          this.#keyList[head] = void 0;
-          this.#valList[head] = void 0;
-          this.#free.push(head);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        if (this.#size === 1) {
-          this.#head = this.#tail = 0;
-          this.#free.length = 0;
+      }
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
         } else {
-          this.#head = this.#next[head];
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
-        this.#keyMap.delete(k);
-        this.#size--;
-        return head;
+        this.trackHeader(buf.length);
       }
-      /**
-       * Check if a key is in the cache, without updating the recency of use.
-       * Will return false if the item is stale, even though it is technically
-       * in the cache.
-       *
-       * Check if a key is in the cache, without updating the recency of
-       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
-       * to `true` in either the options or the constructor.
-       *
-       * Will return `false` if the item is stale, even though it is technically in
-       * the cache. The difference can be determined (if it matters) by using a
-       * `status` argument, and inspecting the `has` field.
-       *
-       * Will not update item age unless
-       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
-       */
-      has(k, hasOptions = {}) {
-        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
-            return false;
-          }
-          if (!this.#isStale(index)) {
-            if (updateAgeOnHas) {
-              this.#updateItemAge(index);
-            }
-            if (status) {
-              status.has = "hit";
-              this.#statusTTL(status, index);
-            }
-            return true;
-          } else if (status) {
-            status.has = "stale";
-            this.#statusTTL(status, index);
-          }
-        } else if (status) {
-          status.has = "miss";
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
-        return false;
-      }
-      /**
-       * Like {@link LRUCache#get} but doesn't update recency or delete stale
-       * items.
-       *
-       * Returns `undefined` if the item is stale, unless
-       * {@link LRUCache.OptionsBase.allowStale} is set.
-       */
-      peek(k, peekOptions = {}) {
-        const { allowStale = this.allowStale } = peekOptions;
-        const index = this.#keyMap.get(k);
-        if (index === void 0 || !allowStale && this.#isStale(index)) {
-          return;
+        const key = this.headers[len - 2];
+        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
+          this.keepAlive += buf.toString();
+        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
+          this.connection += buf.toString();
+        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
+          this.contentLength += buf.toString();
         }
-        const v = this.#valList[index];
-        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+        this.trackHeader(buf.length);
       }
-      #backgroundFetch(k, index, options, context2) {
-        const v = index === void 0 ? void 0 : this.#valList[index];
-        if (this.#isBackgroundFetch(v)) {
-          return v;
-        }
-        const ac = new AC();
-        const { signal } = options;
-        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
-          signal: ac.signal
-        });
-        const fetchOpts = {
-          signal: ac.signal,
-          options,
-          context: context2
-        };
-        const cb = (v2, updateCache = false) => {
-          const { aborted } = ac.signal;
-          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
-          if (options.status) {
-            if (aborted && !updateCache) {
-              options.status.fetchAborted = true;
-              options.status.fetchError = ac.signal.reason;
-              if (ignoreAbort)
-                options.status.fetchAbortIgnored = true;
-            } else {
-              options.status.fetchResolved = true;
-            }
-          }
-          if (aborted && !ignoreAbort && !updateCache) {
-            return fetchFail(ac.signal.reason);
-          }
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            if (v2 === void 0) {
-              if (bf2.__staleWhileFetching) {
-                this.#valList[index] = bf2.__staleWhileFetching;
-              } else {
-                this.#delete(k, "fetch");
-              }
-            } else {
-              if (options.status)
-                options.status.fetchUpdated = true;
-              this.set(k, v2, fetchOpts.options);
-            }
-          }
-          return v2;
-        };
-        const eb = (er) => {
-          if (options.status) {
-            options.status.fetchRejected = true;
-            options.status.fetchError = er;
-          }
-          return fetchFail(er);
-        };
-        const fetchFail = (er) => {
-          const { aborted } = ac.signal;
-          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
-          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
-          const noDelete = allowStale || options.noDeleteOnFetchRejection;
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            const del = !noDelete || bf2.__staleWhileFetching === void 0;
-            if (del) {
-              this.#delete(k, "fetch");
-            } else if (!allowStaleAborted) {
-              this.#valList[index] = bf2.__staleWhileFetching;
-            }
-          }
-          if (allowStale) {
-            if (options.status && bf2.__staleWhileFetching !== void 0) {
-              options.status.returnedStale = true;
-            }
-            return bf2.__staleWhileFetching;
-          } else if (bf2.__returned === bf2) {
-            throw er;
-          }
-        };
-        const pcall = (res, rej) => {
-          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
-          if (fmp && fmp instanceof Promise) {
-            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
-          }
-          ac.signal.addEventListener("abort", () => {
-            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
-              res(void 0);
-              if (options.allowStaleOnFetchAbort) {
-                res = (v2) => cb(v2, true);
-              }
-            }
-          });
-        };
-        if (options.status)
-          options.status.fetchDispatched = true;
-        const p = new Promise(pcall).then(cb, eb);
-        const bf = Object.assign(p, {
-          __abortController: ac,
-          __staleWhileFetching: v,
-          __returned: void 0
-        });
-        if (index === void 0) {
-          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
-          index = this.#keyMap.get(k);
-        } else {
-          this.#valList[index] = bf;
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
         }
-        return bf;
       }
-      #isBackgroundFetch(p) {
-        if (!this.#hasFetchMethod)
-          return false;
-        const b = p;
-        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(!socket.destroyed);
+        assert(socket === client[kSocket]);
+        assert(!this.paused);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
+        client[kSocket] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+        resume(client);
       }
-      async fetch(k, fetchOptions = {}) {
-        const {
-          // get options
-          allowStale = this.allowStale,
-          updateAgeOnGet = this.updateAgeOnGet,
-          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
-          // set options
-          ttl = this.ttl,
-          noDisposeOnSet = this.noDisposeOnSet,
-          size = 0,
-          sizeCalculation = this.sizeCalculation,
-          noUpdateTTL = this.noUpdateTTL,
-          // fetch exclusive options
-          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
-          ignoreFetchAbort = this.ignoreFetchAbort,
-          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
-          context: context2,
-          forceRefresh = false,
-          status,
-          signal
-        } = fetchOptions;
-        if (!this.#hasFetchMethod) {
-          if (status)
-            status.fetch = "get";
-          return this.get(k, {
-            allowStale,
-            updateAgeOnGet,
-            noDeleteOnStaleGet,
-            status
-          });
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        const options = {
-          allowStale,
-          updateAgeOnGet,
-          noDeleteOnStaleGet,
-          ttl,
-          noDisposeOnSet,
-          size,
-          sizeCalculation,
-          noUpdateTTL,
-          noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection,
-          allowStaleOnFetchAbort,
-          ignoreFetchAbort,
-          status,
-          signal
-        };
-        let index = this.#keyMap.get(k);
-        if (index === void 0) {
-          if (status)
-            status.fetch = "miss";
-          const p = this.#backgroundFetch(k, index, options, context2);
-          return p.__returned = p;
-        } else {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            const stale = allowStale && v.__staleWhileFetching !== void 0;
-            if (status) {
-              status.fetch = "inflight";
-              if (stale)
-                status.returnedStale = true;
-            }
-            return stale ? v.__staleWhileFetching : v.__returned = v;
-          }
-          const isStale = this.#isStale(index);
-          if (!forceRefresh && !isStale) {
-            if (status)
-              status.fetch = "hit";
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            if (status)
-              this.#statusTTL(status, index);
-            return v;
-          }
-          const p = this.#backgroundFetch(k, index, options, context2);
-          const hasStale = p.__staleWhileFetching !== void 0;
-          const staleVal = hasStale && allowStale;
-          if (status) {
-            status.fetch = isStale ? "stale" : "refresh";
-            if (staleVal && isStale)
-              status.returnedStale = true;
-          }
-          return staleVal ? p.__staleWhileFetching : p.__returned = p;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-      }
-      async forceFetch(k, fetchOptions = {}) {
-        const v = await this.fetch(k, fetchOptions);
-        if (v === void 0)
-          throw new Error("fetch() returned undefined");
-        return v;
-      }
-      memo(k, memoOptions = {}) {
-        const memoMethod = this.#memoMethod;
-        if (!memoMethod) {
-          throw new Error("no memoMethod provided to constructor");
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
         }
-        const { context: context2, forceRefresh, ...options } = memoOptions;
-        const v = this.get(k, options);
-        if (!forceRefresh && v !== void 0)
-          return v;
-        const vv = memoMethod(k, v, {
-          options,
-          context: context2
-        });
-        this.set(k, vv, options);
-        return vv;
-      }
-      /**
-       * Return a value from the cache. Will update the recency of the cache
-       * entry found.
-       *
-       * If the key is not found, get() will return `undefined`.
-       */
-      get(k, getOptions = {}) {
-        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const value = this.#valList[index];
-          const fetching = this.#isBackgroundFetch(value);
-          if (status)
-            this.#statusTTL(status, index);
-          if (this.#isStale(index)) {
-            if (status)
-              status.get = "stale";
-            if (!fetching) {
-              if (!noDeleteOnStaleGet) {
-                this.#delete(k, "expire");
-              }
-              if (status && allowStale)
-                status.returnedStale = true;
-              return allowStale ? value : void 0;
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
+        }
+        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
+            );
+            if (timeout <= 0) {
+              socket[kReset] = true;
             } else {
-              if (status && allowStale && value.__staleWhileFetching !== void 0) {
-                status.returnedStale = true;
-              }
-              return allowStale ? value.__staleWhileFetching : void 0;
+              client[kKeepAliveTimeoutValue] = timeout;
             }
           } else {
-            if (status)
-              status.get = "hit";
-            if (fetching) {
-              return value.__staleWhileFetching;
-            }
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            return value;
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
           }
-        } else if (status) {
-          status.get = "miss";
+        } else {
+          socket[kReset] = true;
         }
-      }
-      #connect(p, n) {
-        this.#prev[n] = p;
-        this.#next[p] = n;
-      }
-      #moveToTail(index) {
-        if (index !== this.#tail) {
-          if (index === this.#head) {
-            this.#head = this.#next[index];
-          } else {
-            this.#connect(this.#prev[index], this.#next[index]);
-          }
-          this.#connect(this.#tail, index);
-          this.#tail = index;
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
         }
+        if (request2.method === "HEAD") {
+          return 1;
+        }
+        if (statusCode < 200) {
+          return 1;
+        }
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          resume(client);
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
       }
-      /**
-       * Deletes a key out of the cache.
-       *
-       * Returns true if the key was deleted, false otherwise.
-       */
-      delete(k) {
-        return this.#delete(k, "delete");
-      }
-      #delete(k, reason) {
-        let deleted = false;
-        if (this.#size !== 0) {
-          const index = this.#keyMap.get(k);
-          if (index !== void 0) {
-            deleted = true;
-            if (this.#size === 1) {
-              this.#clear(reason);
-            } else {
-              this.#removeItemSize(index);
-              const v = this.#valList[index];
-              if (this.#isBackgroundFetch(v)) {
-                v.__abortController.abort(new Error("deleted"));
-              } else if (this.#hasDispose || this.#hasDisposeAfter) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(v, k, reason);
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([v, k, reason]);
-                }
-              }
-              this.#keyMap.delete(k);
-              this.#keyList[index] = void 0;
-              this.#valList[index] = void 0;
-              if (index === this.#tail) {
-                this.#tail = this.#prev[index];
-              } else if (index === this.#head) {
-                this.#head = this.#next[index];
-              } else {
-                const pi = this.#prev[index];
-                this.#next[pi] = this.#next[index];
-                const ni = this.#next[index];
-                this.#prev[ni] = this.#prev[index];
-              }
-              this.#size--;
-              this.#free.push(index);
-            }
-          }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (this.#hasDisposeAfter && this.#disposed?.length) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
         }
-        return deleted;
-      }
-      /**
-       * Clear the cache entirely, throwing away all values.
-       */
-      clear() {
-        return this.#clear("delete");
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
+        }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
+        }
       }
-      #clear(reason) {
-        for (const index of this.#rindexes({ allowStale: true })) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            v.__abortController.abort(new Error("deleted"));
-          } else {
-            const k = this.#keyList[index];
-            if (this.#hasDispose) {
-              this.#dispose?.(v, k, reason);
-            }
-            if (this.#hasDisposeAfter) {
-              this.#disposed?.push([v, k, reason]);
-            }
-          }
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
         }
-        this.#keyMap.clear();
-        this.#valList.fill(void 0);
-        this.#keyList.fill(void 0);
-        if (this.#ttls && this.#starts) {
-          this.#ttls.fill(0);
-          this.#starts.fill(0);
+        if (upgrade) {
+          return;
         }
-        if (this.#sizes) {
-          this.#sizes.fill(0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(statusCode >= 100);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
         }
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free.length = 0;
-        this.#calculatedSize = 0;
-        this.#size = 0;
-        if (this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
-          }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert.strictEqual(client[kRunning], 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] === 1) {
+          setImmediate(resume, client);
+        } else {
+          resume(client);
         }
       }
     };
-    exports2.LRUCache = LRUCache;
-  }
-});
-
-// node_modules/minipass/dist/commonjs/index.js
-var require_commonjs22 = __commonJS({
-  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
-    var proc = typeof process === "object" && process ? process : {
-      stdout: null,
-      stderr: null
-    };
-    var node_events_1 = require("node:events");
-    var node_stream_1 = __importDefault2(require("node:stream"));
-    var node_string_decoder_1 = require("node:string_decoder");
-    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
-    exports2.isStream = isStream;
-    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
-    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
-    exports2.isReadable = isReadable;
-    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
-    exports2.isWritable = isWritable;
-    var EOF = /* @__PURE__ */ Symbol("EOF");
-    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
-    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
-    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
-    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
-    var CLOSED = /* @__PURE__ */ Symbol("closed");
-    var READ = /* @__PURE__ */ Symbol("read");
-    var FLUSH = /* @__PURE__ */ Symbol("flush");
-    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
-    var ENCODING = /* @__PURE__ */ Symbol("encoding");
-    var DECODER = /* @__PURE__ */ Symbol("decoder");
-    var FLOWING = /* @__PURE__ */ Symbol("flowing");
-    var PAUSED = /* @__PURE__ */ Symbol("paused");
-    var RESUME = /* @__PURE__ */ Symbol("resume");
-    var BUFFER = /* @__PURE__ */ Symbol("buffer");
-    var PIPES = /* @__PURE__ */ Symbol("pipes");
-    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
-    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
-    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
-    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
-    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
-    var ERROR = /* @__PURE__ */ Symbol("error");
-    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
-    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
-    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
-    var ASYNC = /* @__PURE__ */ Symbol("async");
-    var ABORT = /* @__PURE__ */ Symbol("abort");
-    var ABORTED = /* @__PURE__ */ Symbol("aborted");
-    var SIGNAL = /* @__PURE__ */ Symbol("signal");
-    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
-    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
-    var defer = (fn) => Promise.resolve().then(fn);
-    var nodefer = (fn) => fn();
-    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
-    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
-    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
-    var Pipe = class {
-      src;
-      dest;
-      opts;
-      ondrain;
-      constructor(src, dest, opts) {
-        this.src = src;
-        this.dest = dest;
-        this.opts = opts;
-        this.ondrain = () => src[RESUME]();
-        this.dest.on("drain", this.ondrain);
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client } = parser;
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!parser.paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!parser.paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_IDLE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-      unpipe() {
-        this.dest.removeListener("drain", this.ondrain);
+    }
+    function onSocketReadable() {
+      const { [kParser]: parser } = this;
+      if (parser) {
+        parser.readMore();
       }
-      // only here for the prototype
-      /* c8 ignore start */
-      proxyErrors(_er) {
+    }
+    function onSocketError(err) {
+      const { [kClient]: client, [kParser]: parser } = this;
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
       }
-      /* c8 ignore stop */
-      end() {
-        this.unpipe();
-        if (this.opts.end)
-          this.dest.end();
+      this[kError] = err;
+      onError(this[kClient], err);
+    }
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
+        }
+        assert(client[kSize] === 0);
       }
-    };
-    var PipeProxyErrors = class extends Pipe {
-      unpipe() {
-        this.src.removeListener("error", this.proxyErrors);
-        super.unpipe();
+    }
+    function onSocketEnd() {
+      const { [kParser]: parser, [kClient]: client } = this;
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
       }
-      constructor(src, dest, opts) {
-        super(src, dest, opts);
-        this.proxyErrors = (er) => dest.emit("error", er);
-        src.on("error", this.proxyErrors);
+      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+    }
+    function onSocketClose() {
+      const { [kClient]: client, [kParser]: parser } = this;
+      if (client[kHTTPConnVersion] === "h1" && parser) {
+        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+        }
+        this[kParser].destroy();
+        this[kParser] = null;
       }
-    };
-    var isObjectModeOptions = (o) => !!o.objectMode;
-    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
-    var Minipass = class extends node_events_1.EventEmitter {
-      [FLOWING] = false;
-      [PAUSED] = false;
-      [PIPES] = [];
-      [BUFFER] = [];
-      [OBJECTMODE];
-      [ENCODING];
-      [ASYNC];
-      [DECODER];
-      [EOF] = false;
-      [EMITTED_END] = false;
-      [EMITTING_END] = false;
-      [CLOSED] = false;
-      [EMITTED_ERROR] = null;
-      [BUFFERLENGTH] = 0;
-      [DESTROYED] = false;
-      [SIGNAL];
-      [ABORTED] = false;
-      [DATALISTENERS] = 0;
-      [DISCARDED] = false;
-      /**
-       * true if the stream can be written
-       */
-      writable = true;
-      /**
-       * true if the stream can be read
-       */
-      readable = true;
-      /**
-       * If `RType` is Buffer, then options do not need to be provided.
-       * Otherwise, an options object must be provided to specify either
-       * {@link Minipass.SharedOptions.objectMode} or
-       * {@link Minipass.SharedOptions.encoding}, as appropriate.
-       */
-      constructor(...args) {
-        const options = args[0] || {};
-        super();
-        if (options.objectMode && typeof options.encoding === "string") {
-          throw new TypeError("Encoding and objectMode may not be used together");
+      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+      client[kSocket] = null;
+      if (client.destroyed) {
+        assert(client[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
+        }
+      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
+      }
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      resume(client);
+    }
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kSocket]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
+      }
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
+      }
+      try {
+        const socket = await new Promise((resolve3, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve3(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", () => {
+          }), new ClientDestroyedError());
+          return;
+        }
+        client[kConnecting] = false;
+        assert(socket);
+        const isH2 = socket.alpnProtocol === "h2";
+        if (isH2) {
+          if (!h2ExperimentalWarned) {
+            h2ExperimentalWarned = true;
+            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+              code: "UNDICI-H2"
+            });
+          }
+          const session = http2.connect(client[kUrl], {
+            createConnection: () => socket,
+            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          });
+          client[kHTTPConnVersion] = "h2";
+          session[kClient] = client;
+          session[kSocket] = socket;
+          session.on("error", onHttp2SessionError);
+          session.on("frameError", onHttp2FrameError);
+          session.on("end", onHttp2SessionEnd);
+          session.on("goaway", onHTTP2GoAway);
+          session.on("close", onSocketClose);
+          session.unref();
+          client[kHTTP2Session] = session;
+          socket[kHTTP2Session] = session;
+        } else {
+          if (!llhttpInstance) {
+            llhttpInstance = await llhttpPromise;
+            llhttpPromise = null;
+          }
+          socket[kNoRef] = false;
+          socket[kWriting] = false;
+          socket[kReset] = false;
+          socket[kBlocking] = false;
+          socket[kParser] = new Parser(client, socket, llhttpInstance);
+        }
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
+        client[kSocket] = socket;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-        if (isObjectModeOptions(options)) {
-          this[OBJECTMODE] = true;
-          this[ENCODING] = null;
-        } else if (isEncodingOptions(options)) {
-          this[ENCODING] = options.encoding;
-          this[OBJECTMODE] = false;
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
+        }
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
+        }
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            errorRequest2(client, request2, err);
+          }
         } else {
-          this[OBJECTMODE] = false;
-          this[ENCODING] = null;
+          onError(client, err);
         }
-        this[ASYNC] = !!options.async;
-        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
-        if (options && options.debugExposeBuffer === true) {
-          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
+        client.emit("connectionError", client[kUrl], [client], err);
+      }
+      resume(client);
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
+      }
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
+      }
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        if (options && options.debugExposePipes === true) {
-          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-        const { signal } = options;
-        if (signal) {
-          this[SIGNAL] = signal;
-          if (signal.aborted) {
-            this[ABORT]();
+        const socket = client[kSocket];
+        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
+          if (client[kSize] === 0) {
+            if (!socket[kNoRef] && socket.unref) {
+              socket.unref();
+              socket[kNoRef] = true;
+            }
+          } else if (socket[kNoRef] && socket.ref) {
+            socket.ref();
+            socket[kNoRef] = false;
+          }
+          if (client[kSize] === 0) {
+            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
+              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+            }
+          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+              const request3 = client[kQueue][client[kRunningIdx]];
+              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
+              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            }
+          }
+        }
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            process.nextTick(emitDrain, client);
           } else {
-            signal.addEventListener("abort", () => this[ABORT]());
+            emitDrain(client);
+          }
+          continue;
+        }
+        if (client[kPending] === 0) {
+          return;
+        }
+        if (client[kRunning] >= (client[kPipelining] || 1)) {
+          return;
+        }
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
+          }
+          client[kServerName] = request2.servername;
+          if (socket && socket.servername !== request2.servername) {
+            util.destroy(socket, new InformationalError("servername changed"));
+            return;
           }
         }
+        if (client[kConnecting]) {
+          return;
+        }
+        if (!socket && !client[kHTTP2Session]) {
+          connect(client);
+          return;
+        }
+        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+          return;
+        }
+        if (client[kRunning] > 0 && !request2.idempotent) {
+          return;
+        }
+        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+          return;
+        }
+        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
+          return;
+        }
+        if (!request2.aborted && write(client, request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
+        }
       }
-      /**
-       * The amount of data stored in the buffer waiting to be read.
-       *
-       * For Buffer strings, this will be the total byte length.
-       * For string encoding streams, this will be the string character length,
-       * according to JavaScript's `string.length` logic.
-       * For objectMode streams, this is a count of the items waiting to be
-       * emitted.
-       */
-      get bufferLength() {
-        return this[BUFFERLENGTH];
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function write(client, request2) {
+      if (client[kHTTPConnVersion] === "h2") {
+        writeH2(client, client[kHTTP2Session], request2);
+        return;
       }
-      /**
-       * The `BufferEncoding` currently in use, or `null`
-       */
-      get encoding() {
-        return this[ENCODING];
+      const { body, method, path: path4, host, upgrade, headers, blocking, reset } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      /**
-       * @deprecated - This is a read only property
-       */
-      set encoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
+      const bodyLength = util.bodyLength(body);
+      let contentLength = bodyLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
       }
-      /**
-       * @deprecated - Encoding may only be set at instantiation time
-       */
-      setEncoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
       }
-      /**
-       * True if this is an objectMode stream
-       */
-      get objectMode() {
-        return this[OBJECTMODE];
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      /**
-       * @deprecated - This is a read-only property
-       */
-      set objectMode(_om) {
-        throw new Error("objectMode must be set at instantiation time");
+      const socket = client[kSocket];
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
+          }
+          errorRequest2(client, request2, err || new RequestAbortedError());
+          util.destroy(socket, new InformationalError("aborted"));
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
       }
-      /**
-       * true if this is an async stream
-       */
-      get ["async"]() {
-        return this[ASYNC];
+      if (request2.aborted) {
+        return false;
       }
-      /**
-       * Set to true to make this stream async.
-       *
-       * Once set, it cannot be unset, as this would potentially cause incorrect
-       * behavior.  Ie, a sync stream can be made async, but an async stream
-       * cannot be safely made sync.
-       */
-      set ["async"](a) {
-        this[ASYNC] = this[ASYNC] || !!a;
+      if (method === "HEAD") {
+        socket[kReset] = true;
       }
-      // drop everything and get out of the flow completely
-      [ABORT]() {
-        this[ABORTED] = true;
-        this.emit("abort", this[SIGNAL]?.reason);
-        this.destroy(this[SIGNAL]?.reason);
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
       }
-      /**
-       * True if the stream has been aborted.
-       */
-      get aborted() {
-        return this[ABORTED];
+      if (reset != null) {
+        socket[kReset] = reset;
       }
-      /**
-       * No-op setter. Stream aborted status is set via the AbortSignal provided
-       * in the constructor options.
-       */
-      set aborted(_2) {
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
       }
-      write(chunk, encoding, cb) {
-        if (this[ABORTED])
-          return false;
-        if (this[EOF])
-          throw new Error("write after end");
-        if (this[DESTROYED]) {
-          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
-          return true;
-        }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
-        }
-        if (!encoding)
-          encoding = "utf8";
-        const fn = this[ASYNC] ? defer : nodefer;
-        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
-          if (isArrayBufferView(chunk)) {
-            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
-          } else if (isArrayBufferLike(chunk)) {
-            chunk = Buffer.from(chunk);
-          } else if (typeof chunk !== "string") {
-            throw new Error("Non-contiguous data written to non-objectMode stream");
-          }
-        }
-        if (this[OBJECTMODE]) {
-          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-            this[FLUSH](true);
-          if (this[FLOWING])
-            this.emit("data", chunk);
-          else
-            this[BUFFERPUSH](chunk);
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (!chunk.length) {
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (typeof chunk === "string" && // unless it is a string already ready for us to use
-        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
-          chunk = Buffer.from(chunk, encoding);
-        }
-        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
-          chunk = this[DECODER].write(chunk);
-        }
-        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-          this[FLUSH](true);
-        if (this[FLOWING])
-          this.emit("data", chunk);
-        else
-          this[BUFFERPUSH](chunk);
-        if (this[BUFFERLENGTH] !== 0)
-          this.emit("readable");
-        if (cb)
-          fn(cb);
-        return this[FLOWING];
+      if (blocking) {
+        socket[kBlocking] = true;
       }
-      /**
-       * Low-level explicit read method.
-       *
-       * In objectMode, the argument is ignored, and one item is returned if
-       * available.
-       *
-       * `n` is the number of bytes (or in the case of encoding streams,
-       * characters) to consume. If `n` is not provided, then the entire buffer
-       * is returned, or `null` is returned if no data is available.
-       *
-       * If `n` is greater that the amount of data in the internal buffer,
-       * then `null` is returned.
-       */
-      read(n) {
-        if (this[DESTROYED])
-          return null;
-        this[DISCARDED] = false;
-        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
-          this[MAYBE_EMIT_END]();
-          return null;
-        }
-        if (this[OBJECTMODE])
-          n = null;
-        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
-          this[BUFFER] = [
-            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
-          ];
-        }
-        const ret = this[READ](n || null, this[BUFFER][0]);
-        this[MAYBE_EMIT_END]();
-        return ret;
+      let header = `${method} ${path4} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
+      } else {
+        header += client[kHostHeader];
       }
-      [READ](n, chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERSHIFT]();
-        else {
-          const c = chunk;
-          if (n === c.length || n === null)
-            this[BUFFERSHIFT]();
-          else if (typeof c === "string") {
-            this[BUFFER][0] = c.slice(n);
-            chunk = c.slice(0, n);
-            this[BUFFERLENGTH] -= n;
-          } else {
-            this[BUFFER][0] = c.subarray(n);
-            chunk = c.subarray(0, n);
-            this[BUFFERLENGTH] -= n;
-          }
-        }
-        this.emit("data", chunk);
-        if (!this[BUFFER].length && !this[EOF])
-          this.emit("drain");
-        return chunk;
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
       }
-      end(chunk, encoding, cb) {
-        if (typeof chunk === "function") {
-          cb = chunk;
-          chunk = void 0;
+      if (headers) {
+        header += headers;
+      }
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        if (contentLength === 0) {
+          socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+        } else {
+          assert(contentLength === null, "no body must not have content length");
+          socket.write(`${header}\r
+`, "latin1");
         }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
+        request2.onRequestSent();
+      } else if (util.isBuffer(body)) {
+        assert(contentLength === body.byteLength, "buffer body must have content length");
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(body);
+        socket.uncork();
+        request2.onBodySent(body);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
-        if (chunk !== void 0)
-          this.write(chunk, encoding);
-        if (cb)
-          this.once("end", cb);
-        this[EOF] = true;
-        this.writable = false;
-        if (this[FLOWING] || !this[PAUSED])
-          this[MAYBE_EMIT_END]();
-        return this;
-      }
-      // don't let the internal resume be overwritten
-      [RESUME]() {
-        if (this[DESTROYED])
-          return;
-        if (!this[DATALISTENERS] && !this[PIPES].length) {
-          this[DISCARDED] = true;
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
+        } else {
+          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
         }
-        this[PAUSED] = false;
-        this[FLOWING] = true;
-        this.emit("resume");
-        if (this[BUFFER].length)
-          this[FLUSH]();
-        else if (this[EOF])
-          this[MAYBE_EMIT_END]();
-        else
-          this.emit("drain");
-      }
-      /**
-       * Resume the stream if it is currently in a paused state
-       *
-       * If called when there are no pipe destinations or `data` event listeners,
-       * this will place the stream in a "discarded" state, where all data will
-       * be thrown away. The discarded state is removed if a pipe destination or
-       * data handler is added, if pause() is called, or if any synchronous or
-       * asynchronous iteration is started.
-       */
-      resume() {
-        return this[RESUME]();
-      }
-      /**
-       * Pause the stream
-       */
-      pause() {
-        this[FLOWING] = false;
-        this[PAUSED] = true;
-        this[DISCARDED] = false;
+      } else if (util.isStream(body)) {
+        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else if (util.isIterable(body)) {
+        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else {
+        assert(false);
       }
-      /**
-       * true if the stream has been forcibly destroyed
-       */
-      get destroyed() {
-        return this[DESTROYED];
+      return true;
+    }
+    function writeH2(client, session, request2) {
+      const { body, method, path: path4, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let headers;
+      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
+      else headers = reqHeaders;
+      if (upgrade) {
+        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      /**
-       * true if the stream is currently in a flowing state, meaning that
-       * any writes will be immediately emitted.
-       */
-      get flowing() {
-        return this[FLOWING];
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
+          }
+          errorRequest2(client, request2, err || new RequestAbortedError());
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
       }
-      /**
-       * true if the stream is currently in a paused state
-       */
-      get paused() {
-        return this[PAUSED];
+      if (request2.aborted) {
+        return false;
       }
-      [BUFFERPUSH](chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] += 1;
-        else
-          this[BUFFERLENGTH] += chunk.length;
-        this[BUFFER].push(chunk);
+      let stream;
+      const h2State = client[kHTTP2SessionState];
+      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
+      headers[HTTP2_HEADER_METHOD] = method;
+      if (method === "CONNECT") {
+        session.ref();
+        stream = session.request(headers, { endStream: false, signal });
+        if (stream.id && !stream.pending) {
+          request2.onUpgrade(null, null, stream);
+          ++h2State.openStreams;
+        } else {
+          stream.once("ready", () => {
+            request2.onUpgrade(null, null, stream);
+            ++h2State.openStreams;
+          });
+        }
+        stream.once("close", () => {
+          h2State.openStreams -= 1;
+          if (h2State.openStreams === 0) session.unref();
+        });
+        return true;
       }
-      [BUFFERSHIFT]() {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] -= 1;
-        else
-          this[BUFFERLENGTH] -= this[BUFFER][0].length;
-        return this[BUFFER].shift();
+      headers[HTTP2_HEADER_PATH] = path4;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      [FLUSH](noDrain = false) {
-        do {
-        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
-        if (!noDrain && !this[BUFFER].length && !this[EOF])
-          this.emit("drain");
+      let contentLength = util.bodyLength(body);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      [FLUSHCHUNK](chunk) {
-        this.emit("data", chunk);
-        return this[FLOWING];
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      /**
-       * Pipe all data emitted by this stream into the destination provided.
-       *
-       * Triggers the flow of data.
-       */
-      pipe(dest, opts) {
-        if (this[DESTROYED])
-          return dest;
-        this[DISCARDED] = false;
-        const ended = this[EMITTED_END];
-        opts = opts || {};
-        if (dest === proc.stdout || dest === proc.stderr)
-          opts.end = false;
-        else
-          opts.end = opts.end !== false;
-        opts.proxyErrors = !!opts.proxyErrors;
-        if (ended) {
-          if (opts.end)
-            dest.end();
-        } else {
-          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
-          if (this[ASYNC])
-            defer(() => this[RESUME]());
-          else
-            this[RESUME]();
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        return dest;
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      /**
-       * Fully unhook a piped destination stream.
-       *
-       * If the destination stream was the only consumer of this stream (ie,
-       * there are no other piped destinations or `'data'` event listeners)
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      unpipe(dest) {
-        const p = this[PIPES].find((p2) => p2.dest === dest);
-        if (p) {
-          if (this[PIPES].length === 1) {
-            if (this[FLOWING] && this[DATALISTENERS] === 0) {
-              this[FLOWING] = false;
-            }
-            this[PIPES] = [];
-          } else
-            this[PIPES].splice(this[PIPES].indexOf(p), 1);
-          p.unpipe();
-        }
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      /**
-       * Alias for {@link Minipass#on}
-       */
-      addListener(ev, handler2) {
-        return this.on(ev, handler2);
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD";
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      /**
-       * Mostly identical to `EventEmitter.on`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * - Adding a 'data' event handler will trigger the flow of data
-       *
-       * - Adding a 'readable' event handler when there is data waiting to be read
-       *   will cause 'readable' to be emitted immediately.
-       *
-       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
-       *   already passed will cause the event to be emitted immediately and all
-       *   handlers removed.
-       *
-       * - Adding an 'error' event handler after an error has been emitted will
-       *   cause the event to be re-emitted immediately with the error previously
-       *   raised.
-       */
-      on(ev, handler2) {
-        const ret = super.on(ev, handler2);
-        if (ev === "data") {
-          this[DISCARDED] = false;
-          this[DATALISTENERS]++;
-          if (!this[PIPES].length && !this[FLOWING]) {
-            this[RESUME]();
+      ++h2State.openStreams;
+      stream.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
+          stream.pause();
+        }
+      });
+      stream.once("end", () => {
+        request2.onComplete([]);
+      });
+      stream.on("data", (chunk) => {
+        if (request2.onData(chunk) === false) {
+          stream.pause();
+        }
+      });
+      stream.once("close", () => {
+        h2State.openStreams -= 1;
+        if (h2State.openStreams === 0) {
+          session.unref();
+        }
+      });
+      stream.once("error", function(err) {
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream, err);
+        }
+      });
+      stream.once("frameError", (type2, code) => {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        errorRequest2(client, request2, err);
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream, err);
+        }
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body) {
+          request2.onRequestSent();
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          stream.cork();
+          stream.write(body);
+          stream.uncork();
+          stream.end();
+          request2.onBodySent(body);
+          request2.onRequestSent();
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable({
+              client,
+              request: request2,
+              contentLength,
+              h2stream: stream,
+              expectsPayload,
+              body: body.stream(),
+              socket: client[kSocket],
+              header: ""
+            });
+          } else {
+            writeBlob({
+              body,
+              client,
+              request: request2,
+              contentLength,
+              expectsPayload,
+              h2stream: stream,
+              header: "",
+              socket: client[kSocket]
+            });
           }
-        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
-          super.emit("readable");
-        } else if (isEndish(ev) && this[EMITTED_END]) {
-          super.emit(ev);
-          this.removeAllListeners(ev);
-        } else if (ev === "error" && this[EMITTED_ERROR]) {
-          const h = handler2;
-          if (this[ASYNC])
-            defer(() => h.call(this, this[EMITTED_ERROR]));
-          else
-            h.call(this, this[EMITTED_ERROR]);
+        } else if (util.isStream(body)) {
+          writeStream({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            socket: client[kSocket],
+            h2stream: stream,
+            header: ""
+          });
+        } else if (util.isIterable(body)) {
+          writeIterable({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            header: "",
+            h2stream: stream,
+            socket: client[kSocket]
+          });
+        } else {
+          assert(false);
         }
-        return ret;
       }
-      /**
-       * Alias for {@link Minipass#off}
-       */
-      removeListener(ev, handler2) {
-        return this.off(ev, handler2);
+    }
+    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      if (client[kHTTPConnVersion] === "h2") {
+        let onPipeData = function(chunk) {
+          request2.onBodySent(chunk);
+        };
+        const pipe = pipeline(
+          body,
+          h2stream,
+          (err) => {
+            if (err) {
+              util.destroy(body, err);
+              util.destroy(h2stream, err);
+            } else {
+              request2.onRequestSent();
+            }
+          }
+        );
+        pipe.on("data", onPipeData);
+        pipe.once("end", () => {
+          pipe.removeListener("data", onPipeData);
+          util.destroy(pipe);
+        });
+        return;
       }
-      /**
-       * Mostly identical to `EventEmitter.off`
-       *
-       * If a 'data' event handler is removed, and it was the last consumer
-       * (ie, there are no pipe destinations or other 'data' event listeners),
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      off(ev, handler2) {
-        const ret = super.off(ev, handler2);
-        if (ev === "data") {
-          this[DATALISTENERS] = this.listeners("data").length;
-          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
+      let finished = false;
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
           }
+        } catch (err) {
+          util.destroy(this, err);
         }
-        return ret;
-      }
-      /**
-       * Mostly identical to `EventEmitter.removeAllListeners`
-       *
-       * If all 'data' event handlers are removed, and they were the last consumer
-       * (ie, there are no pipe destinations), then the flow of data will stop
-       * until there is another consumer or {@link Minipass#resume} is explicitly
-       * called.
-       */
-      removeAllListeners(ev) {
-        const ret = super.removeAllListeners(ev);
-        if (ev === "data" || ev === void 0) {
-          this[DATALISTENERS] = 0;
-          if (!this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onAbort = function() {
+        if (finished) {
+          return;
+        }
+        const err = new RequestAbortedError();
+        queueMicrotask(() => onFinished(err));
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
           }
         }
-        return ret;
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
+        }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
+      if (body.resume) {
+        body.resume();
       }
-      /**
-       * true if the 'end' event has been emitted
-       */
-      get emittedEnd() {
-        return this[EMITTED_END];
+      socket.on("drain", onDrain).on("error", onFinished);
+    }
+    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength === body.size, "blob body must have content length");
+      const isH2 = client[kHTTPConnVersion] === "h2";
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        if (isH2) {
+          h2stream.cork();
+          h2stream.write(buffer);
+          h2stream.uncork();
+        } else {
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(buffer);
+          socket.uncork();
+        }
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        resume(client);
+      } catch (err) {
+        util.destroy(isH2 ? h2stream : socket, err);
       }
-      [MAYBE_EMIT_END]() {
-        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
-          this[EMITTING_END] = true;
-          this.emit("end");
-          this.emit("prefinish");
-          this.emit("finish");
-          if (this[CLOSED])
-            this.emit("close");
-          this[EMITTING_END] = false;
+    }
+    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
         }
       }
-      /**
-       * Mostly identical to `EventEmitter.emit`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * If the stream has been destroyed, and the event is something other
-       * than 'close' or 'error', then `false` is returned and no handlers
-       * are called.
-       *
-       * If the event is 'end', and has already been emitted, then the event
-       * is ignored. If the stream is in a paused or non-flowing state, then
-       * the event will be deferred until data flow resumes. If the stream is
-       * async, then handlers will be called on the next tick rather than
-       * immediately.
-       *
-       * If the event is 'close', and 'end' has not yet been emitted, then
-       * the event will be deferred until after 'end' is emitted.
-       *
-       * If the event is 'error', and an AbortSignal was provided for the stream,
-       * and there are no listeners, then the event is ignored, matching the
-       * behavior of node core streams in the presense of an AbortSignal.
-       *
-       * If the event is 'finish' or 'prefinish', then all listeners will be
-       * removed after emitting the event, to prevent double-firing.
-       */
-      emit(ev, ...args) {
-        const data = args[0];
-        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
-          return false;
-        } else if (ev === "data") {
-          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
-        } else if (ev === "end") {
-          return this[EMITEND]();
-        } else if (ev === "close") {
-          this[CLOSED] = true;
-          if (!this[EMITTED_END] && !this[DESTROYED])
-            return false;
-          const ret2 = super.emit("close");
-          this.removeAllListeners("close");
-          return ret2;
-        } else if (ev === "error") {
-          this[EMITTED_ERROR] = data;
-          super.emit(ERROR, data);
-          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "resume") {
-          const ret2 = super.emit("resume");
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "finish" || ev === "prefinish") {
-          const ret2 = super.emit(ev);
-          this.removeAllListeners(ev);
-          return ret2;
+      const waitForDrain = () => new Promise((resolve3, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve3;
+        }
+      });
+      if (client[kHTTPConnVersion] === "h2") {
+        h2stream.on("close", onDrain).on("drain", onDrain);
+        try {
+          for await (const chunk of body) {
+            if (socket[kError]) {
+              throw socket[kError];
+            }
+            const res = h2stream.write(chunk);
+            request2.onBodySent(chunk);
+            if (!res) {
+              await waitForDrain();
+            }
+          }
+        } catch (err) {
+          h2stream.destroy(err);
+        } finally {
+          request2.onRequestSent();
+          h2stream.end();
+          h2stream.off("close", onDrain).off("drain", onDrain);
         }
-        const ret = super.emit(ev, ...args);
-        this[MAYBE_EMIT_END]();
-        return ret;
+        return;
       }
-      [EMITDATA](data) {
-        for (const p of this[PIPES]) {
-          if (p.dest.write(data) === false)
-            this.pause();
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
         }
-        const ret = this[DISCARDED] ? false : super.emit("data", data);
-        this[MAYBE_EMIT_END]();
-        return ret;
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      [EMITEND]() {
-        if (this[EMITTED_END])
-          return false;
-        this[EMITTED_END] = true;
-        this.readable = false;
-        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
+    }
+    var AsyncWriter = class {
+      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        socket[kWriting] = true;
       }
-      [EMITEND2]() {
-        if (this[DECODER]) {
-          const data = this[DECODER].end();
-          if (data) {
-            for (const p of this[PIPES]) {
-              p.dest.write(data);
-            }
-            if (!this[DISCARDED])
-              super.emit("data", data);
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
+        }
+        if (socket.destroyed) {
+          return false;
+        }
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
+        }
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        for (const p of this[PIPES]) {
-          p.end();
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
+          } else {
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          }
+        }
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
+        }
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
+            }
+          }
         }
-        const ret = super.emit("end");
-        this.removeAllListeners("end");
         return ret;
       }
-      /**
-       * Return a Promise that resolves to an array of all emitted data once
-       * the stream ends.
-       */
-      async collect() {
-        const buf = Object.assign([], {
-          dataLength: 0
-        });
-        if (!this[OBJECTMODE])
-          buf.dataLength = 0;
-        const p = this.promise();
-        this.on("data", (c) => {
-          buf.push(c);
-          if (!this[OBJECTMODE])
-            buf.dataLength += c.length;
-        });
-        await p;
-        return buf;
-      }
-      /**
-       * Return a Promise that resolves to the concatenation of all emitted data
-       * once the stream ends.
-       *
-       * Not allowed on objectMode streams.
-       */
-      async concat() {
-        if (this[OBJECTMODE]) {
-          throw new Error("cannot concat in objectMode");
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        const buf = await this.collect();
-        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
-      }
-      /**
-       * Return a void Promise that resolves once the stream ends.
-       */
-      async promise() {
-        return new Promise((resolve3, reject) => {
-          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
-          this.on("error", (er) => reject(er));
-          this.on("end", () => resolve3());
-        });
-      }
-      /**
-       * Asynchronous `for await of` iteration.
-       *
-       * This will continue emitting all chunks until the stream terminates.
-       */
-      [Symbol.asyncIterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = async () => {
-          this.pause();
-          stopped = true;
-          return { value: void 0, done: true };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const res = this.read();
-          if (res !== null)
-            return Promise.resolve({ done: false, value: res });
-          if (this[EOF])
-            return stop();
-          let resolve3;
-          let reject;
-          const onerr = (er) => {
-            this.off("data", ondata);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            reject(er);
-          };
-          const ondata = (value) => {
-            this.off("error", onerr);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            this.pause();
-            resolve3({ value, done: !!this[EOF] });
-          };
-          const onend = () => {
-            this.off("error", onerr);
-            this.off("data", ondata);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            resolve3({ done: true, value: void 0 });
-          };
-          const ondestroy = () => onerr(new Error("stream destroyed"));
-          return new Promise((res2, rej) => {
-            reject = rej;
-            resolve3 = res2;
-            this.once(DESTROYED, ondestroy);
-            this.once("error", onerr);
-            this.once("end", onend);
-            this.once("data", ondata);
-          });
-        };
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.asyncIterator]() {
-            return this;
+        if (socket.destroyed) {
+          return;
+        }
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            socket.write(`${header}\r
+`, "latin1");
           }
-        };
-      }
-      /**
-       * Synchronous `for of` iteration.
-       *
-       * The iteration will terminate when the internal buffer runs out, even
-       * if the stream has not yet terminated.
-       */
-      [Symbol.iterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = () => {
-          this.pause();
-          this.off(ERROR, stop);
-          this.off(DESTROYED, stop);
-          this.off("end", stop);
-          stopped = true;
-          return { done: true, value: void 0 };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const value = this.read();
-          return value === null ? stop() : { done: false, value };
-        };
-        this.once("end", stop);
-        this.once(ERROR, stop);
-        this.once(DESTROYED, stop);
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.iterator]() {
-            return this;
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
+        }
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
           }
-        };
-      }
-      /**
-       * Destroy a stream, preventing it from being used for any further purpose.
-       *
-       * If the stream has a `close()` method, then it will be called on
-       * destruction.
-       *
-       * After destruction, any attempt to write data, read data, or emit most
-       * events will be ignored.
-       *
-       * If an error argument is provided, then it will be emitted in an
-       * 'error' event.
-       */
-      destroy(er) {
-        if (this[DESTROYED]) {
-          if (er)
-            this.emit("error", er);
-          else
-            this.emit(DESTROYED);
-          return this;
         }
-        this[DESTROYED] = true;
-        this[DISCARDED] = true;
-        this[BUFFER].length = 0;
-        this[BUFFERLENGTH] = 0;
-        const wc = this;
-        if (typeof wc.close === "function" && !this[CLOSED])
-          wc.close();
-        if (er)
-          this.emit("error", er);
-        else
-          this.emit(DESTROYED);
-        return this;
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
+        }
+        resume(client);
       }
-      /**
-       * Alias for {@link isStream}
-       *
-       * Former export location, maintained for backwards compatibility.
-       *
-       * @deprecated
-       */
-      static get isStream() {
-        return exports2.isStream;
+      destroy(err) {
+        const { socket, client } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          util.destroy(socket, err);
+        }
       }
     };
-    exports2.Minipass = Minipass;
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
+    module2.exports = Client;
   }
 });
 
-// node_modules/path-scurry/dist/commonjs/index.js
-var require_commonjs23 = __commonJS({
-  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/node/fixed-queue.js
+var require_fixed_queue3 = __commonJS({
+  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
-    var lru_cache_1 = require_commonjs21();
-    var node_path_1 = require("node:path");
-    var node_url_1 = require("node:url");
-    var fs_1 = require("fs");
-    var actualFS = __importStar2(require("node:fs"));
-    var realpathSync = fs_1.realpathSync.native;
-    var promises_1 = require("node:fs/promises");
-    var minipass_1 = require_commonjs22();
-    var defaultFS = {
-      lstatSync: fs_1.lstatSync,
-      readdir: fs_1.readdir,
-      readdirSync: fs_1.readdirSync,
-      readlinkSync: fs_1.readlinkSync,
-      realpathSync,
-      promises: {
-        lstat: promises_1.lstat,
-        readdir: promises_1.readdir,
-        readlink: promises_1.readlink,
-        realpath: promises_1.realpath
-      }
-    };
-    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
-      ...defaultFS,
-      ...fsOption,
-      promises: {
-        ...defaultFS.promises,
-        ...fsOption.promises || {}
-      }
-    };
-    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
-    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-    var eitherSep = /[\\\/]/;
-    var UNKNOWN = 0;
-    var IFIFO = 1;
-    var IFCHR = 2;
-    var IFDIR = 4;
-    var IFBLK = 6;
-    var IFREG = 8;
-    var IFLNK = 10;
-    var IFSOCK = 12;
-    var IFMT = 15;
-    var IFMT_UNKNOWN = ~IFMT;
-    var READDIR_CALLED = 16;
-    var LSTAT_CALLED = 32;
-    var ENOTDIR = 64;
-    var ENOENT = 128;
-    var ENOREADLINK = 256;
-    var ENOREALPATH = 512;
-    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
-    var TYPEMASK = 1023;
-    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
-    var normalizeCache = /* @__PURE__ */ new Map();
-    var normalize2 = (s) => {
-      const c = normalizeCache.get(s);
-      if (c)
-        return c;
-      const n = s.normalize("NFKD");
-      normalizeCache.set(s, n);
-      return n;
-    };
-    var normalizeNocaseCache = /* @__PURE__ */ new Map();
-    var normalizeNocase = (s) => {
-      const c = normalizeNocaseCache.get(s);
-      if (c)
-        return c;
-      const n = normalize2(s.toLowerCase());
-      normalizeNocaseCache.set(s, n);
-      return n;
-    };
-    var ResolveCache = class extends lru_cache_1.LRUCache {
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
       constructor() {
-        super({ max: 256 });
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-    };
-    exports2.ResolveCache = ResolveCache;
-    var ChildrenCache = class extends lru_cache_1.LRUCache {
-      constructor(maxSize = 16 * 1024) {
-        super({
-          maxSize,
-          // parent + children
-          sizeCalculation: (a) => a.length + 1
-        });
+      isEmpty() {
+        return this.top === this.bottom;
       }
-    };
-    exports2.ChildrenCache = ChildrenCache;
-    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
-    var PathBase = class {
-      /**
-       * the basename of this path
-       *
-       * **Important**: *always* test the path name against any test string
-       * usingthe {@link isNamed} method, and not by directly comparing this
-       * string. Otherwise, unicode path strings that the system sees as identical
-       * will not be properly treated as the same path, leading to incorrect
-       * behavior and possible security issues.
-       */
-      name;
-      /**
-       * the Path entry corresponding to the path root.
-       *
-       * @internal
-       */
-      root;
-      /**
-       * All roots found within the current PathScurry family
-       *
-       * @internal
-       */
-      roots;
-      /**
-       * a reference to the parent path, or undefined in the case of root entries
-       *
-       * @internal
-       */
-      parent;
-      /**
-       * boolean indicating whether paths are compared case-insensitively
-       * @internal
-       */
-      nocase;
-      /**
-       * boolean indicating that this path is the current working directory
-       * of the PathScurry collection that contains it.
-       */
-      isCWD = false;
-      // potential default fs override
-      #fs;
-      // Stats fields
-      #dev;
-      get dev() {
-        return this.#dev;
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      #mode;
-      get mode() {
-        return this.#mode;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      #nlink;
-      get nlink() {
-        return this.#nlink;
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
       }
-      #uid;
-      get uid() {
-        return this.#uid;
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
       }
-      #gid;
-      get gid() {
-        return this.#gid;
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      #rdev;
-      get rdev() {
-        return this.#rdev;
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      #blksize;
-      get blksize() {
-        return this.#blksize;
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
+        }
+        return next;
       }
-      #ino;
-      get ino() {
-        return this.#ino;
+    };
+  }
+});
+
+// node_modules/undici/lib/pool-stats.js
+var require_pool_stats3 = __commonJS({
+  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols11();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      #size;
-      get size() {
-        return this.#size;
+      get connected() {
+        return this[kPool][kConnected];
       }
-      #blocks;
-      get blocks() {
-        return this.#blocks;
+      get free() {
+        return this[kPool][kFree];
       }
-      #atimeMs;
-      get atimeMs() {
-        return this.#atimeMs;
+      get pending() {
+        return this[kPool][kPending];
       }
-      #mtimeMs;
-      get mtimeMs() {
-        return this.#mtimeMs;
+      get queued() {
+        return this[kPool][kQueued];
       }
-      #ctimeMs;
-      get ctimeMs() {
-        return this.#ctimeMs;
+      get running() {
+        return this[kPool][kRunning];
       }
-      #birthtimeMs;
-      get birthtimeMs() {
-        return this.#birthtimeMs;
+      get size() {
+        return this[kPool][kSize];
       }
-      #atime;
-      get atime() {
-        return this.#atime;
+    };
+    module2.exports = PoolStats;
+  }
+});
+
+// node_modules/undici/lib/pool-base.js
+var require_pool_base3 = __commonJS({
+  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base3();
+    var FixedQueue = require_fixed_queue3();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols11();
+    var PoolStats = require_pool_stats3();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
+      constructor() {
+        super();
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
+            }
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
+          }
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
+          }
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+          }
+        };
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      #mtime;
-      get mtime() {
-        return this.#mtime;
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      #ctime;
-      get ctime() {
-        return this.#ctime;
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      #birthtime;
-      get birthtime() {
-        return this.#birthtime;
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-      #matchName;
-      #depth;
-      #fullpath;
-      #fullpathPosix;
-      #relative;
-      #relativePosix;
-      #type;
-      #children;
-      #linkTarget;
-      #realpath;
-      /**
-       * This property is for compatibility with the Dirent class as of
-       * Node v20, where Dirent['parentPath'] refers to the path of the
-       * directory that was passed to readdir. For root entries, it's the path
-       * to the entry itself.
-       */
-      get parentPath() {
-        return (this.parent || this).fullpath();
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
+        }
+        return ret;
       }
-      /**
-       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
-       * this property refers to the *parent* path, not the path object itself.
-       *
-       * @deprecated
-       */
-      get path() {
-        return this.parentPath;
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
+        }
+        return ret;
       }
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        this.name = name;
-        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
-        this.#type = type2 & TYPEMASK;
-        this.nocase = nocase;
-        this.roots = roots;
-        this.root = root || this;
-        this.#children = children;
-        this.#fullpath = opts.fullpath;
-        this.#relative = opts.relative;
-        this.#relativePosix = opts.relativePosix;
-        this.parent = opts.parent;
-        if (this.parent) {
-          this.#fs = this.parent.#fs;
-        } else {
-          this.#fs = fsFromOption(opts.fs);
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      /**
-       * Returns the depth of the Path object from its root.
-       *
-       * For example, a path at `/foo/bar` would have a depth of 2.
-       */
-      depth() {
-        if (this.#depth !== void 0)
-          return this.#depth;
-        if (!this.parent)
-          return this.#depth = 0;
-        return this.#depth = this.parent.depth() + 1;
+      get stats() {
+        return this[kStats];
       }
-      /**
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          return Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          return new Promise((resolve3) => {
+            this[kClosedResolve] = resolve3;
+          });
+        }
       }
-      /**
-       * Get the Path object referenced by the string path, resolved from this Path
-       */
-      resolve(path4) {
-        if (!path4) {
-          return this;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        const rootPath = this.getRootString(path4);
-        const dir = path4.substring(rootPath.length);
-        const dirParts = dir.split(this.splitSep);
-        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
-        return result;
+        return Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      #resolveParts(dirParts) {
-        let p = this;
-        for (const part of dirParts) {
-          p = p.child(part);
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
         }
-        return p;
+        return !this[kNeedDrain];
       }
-      /**
-       * Returns the cached children Path objects, if still available.  If they
-       * have fallen out of the cache, then returns an empty array, and resets the
-       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
-       * lookup.
-       *
-       * @internal
-       */
-      children() {
-        const cached = this.#children.get(this);
-        if (cached) {
-          return cached;
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          process.nextTick(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
+            }
+          });
         }
-        const children = Object.assign([], { provisional: 0 });
-        this.#children.set(this, children);
-        this.#type &= ~READDIR_CALLED;
-        return children;
+        return this;
       }
-      /**
-       * Resolves a path portion and returns or creates the child Path.
-       *
-       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
-       * `'..'`.
-       *
-       * This should not be called directly.  If `pathPart` contains any path
-       * separators, it will lead to unsafe undefined behavior.
-       *
-       * Use `Path.resolve()` instead.
-       *
-       * @internal
-       */
-      child(pathPart, opts) {
-        if (pathPart === "" || pathPart === ".") {
-          return this;
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
+          }
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      }
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/undici/lib/pool.js
+var require_pool3 = __commonJS({
+  "node_modules/undici/lib/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Client = require_client3();
+    var {
+      InvalidArgumentError
+    } = require_errors6();
+    var util = require_util24();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var buildConnector = require_connect3();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
         }
-        if (pathPart === "..") {
-          return this.parent || this;
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        const children = this.children();
-        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
-        for (const p of children) {
-          if (p.#matchName === name) {
-            return p;
-          }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        const s = this.parent ? this.sep : "";
-        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
-        const pchild = this.newChild(pathPart, UNKNOWN, {
-          ...opts,
-          parent: this,
-          fullpath
-        });
-        if (!this.canReaddir()) {
-          pchild.#type |= ENOENT;
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
         }
-        children.push(pchild);
-        return pchild;
+        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
+          }
+        });
       }
-      /**
-       * The relative path from the cwd. If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpath()
-       */
-      relative() {
-        if (this.isCWD)
-          return "";
-        if (this.#relative !== void 0) {
-          return this.#relative;
+      [kGetDispatcher]() {
+        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
+        if (dispatcher) {
+          return dispatcher;
         }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relative = this.name;
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
         }
-        const pv = p.relative();
-        return pv + (!pv || !p.parent ? "" : this.sep) + name;
+        return dispatcher;
       }
-      /**
-       * The relative path from the cwd, using / as the path separator.
-       * If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpathPosix()
-       * On posix systems, this is identical to relative().
-       */
-      relativePosix() {
-        if (this.sep === "/")
-          return this.relative();
-        if (this.isCWD)
-          return "";
-        if (this.#relativePosix !== void 0)
-          return this.#relativePosix;
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relativePosix = this.fullpathPosix();
+    };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/undici/lib/balanced-pool.js
+var require_balanced_pool3 = __commonJS({
+  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors6();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Pool = require_pool3();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var { parseOrigin } = require_util24();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (b === 0) return a;
+      return getGreatestCommonDivisor(b, a % b);
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
         }
-        const pv = p.relativePosix();
-        return pv + (!pv || !p.parent ? "" : "/") + name;
-      }
-      /**
-       * The fully resolved path string for this Path entry
-       */
-      fullpath() {
-        if (this.#fullpath !== void 0) {
-          return this.#fullpath;
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#fullpath = this.name;
+        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
         }
-        const pv = p.fullpath();
-        const fp = pv + (!p.parent ? "" : this.sep) + name;
-        return this.#fullpath = fp;
+        this._updateBalancedPoolStats();
       }
-      /**
-       * On platforms other than windows, this is identical to fullpath.
-       *
-       * On windows, this is overridden to return the forward-slash form of the
-       * full UNC path.
-       */
-      fullpathPosix() {
-        if (this.#fullpathPosix !== void 0)
-          return this.#fullpathPosix;
-        if (this.sep === "/")
-          return this.#fullpathPosix = this.fullpath();
-        if (!this.parent) {
-          const p2 = this.fullpath().replace(/\\/g, "/");
-          if (/^[a-z]:\//i.test(p2)) {
-            return this.#fullpathPosix = `//?/${p2}`;
-          } else {
-            return this.#fullpathPosix = p2;
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
+        }
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
           }
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
         }
-        const p = this.parent;
-        const pfpp = p.fullpathPosix();
-        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
-        return this.#fullpathPosix = fpp;
-      }
-      /**
-       * Is the Path of an unknown type?
-       *
-       * Note that we might know *something* about it if there has been a previous
-       * filesystem operation, for example that it does not exist, or is not a
-       * link, or whether it has child entries.
-       */
-      isUnknown() {
-        return (this.#type & IFMT) === UNKNOWN;
-      }
-      isType(type2) {
-        return this[`is${type2}`]();
-      }
-      getType() {
-        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
-          /* c8 ignore start */
-          this.isSocket() ? "Socket" : "Unknown"
-        );
-      }
-      /**
-       * Is the Path a regular file?
-       */
-      isFile() {
-        return (this.#type & IFMT) === IFREG;
-      }
-      /**
-       * Is the Path a directory?
-       */
-      isDirectory() {
-        return (this.#type & IFMT) === IFDIR;
-      }
-      /**
-       * Is the path a character device?
-       */
-      isCharacterDevice() {
-        return (this.#type & IFMT) === IFCHR;
-      }
-      /**
-       * Is the path a block device?
-       */
-      isBlockDevice() {
-        return (this.#type & IFMT) === IFBLK;
-      }
-      /**
-       * Is the path a FIFO pipe?
-       */
-      isFIFO() {
-        return (this.#type & IFMT) === IFIFO;
-      }
-      /**
-       * Is the path a socket?
-       */
-      isSocket() {
-        return (this.#type & IFMT) === IFSOCK;
+        this._updateBalancedPoolStats();
+        return this;
       }
-      /**
-       * Is the path a symbolic link?
-       */
-      isSymbolicLink() {
-        return (this.#type & IFLNK) === IFLNK;
+      _updateBalancedPoolStats() {
+        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
       }
-      /**
-       * Return the entry if it has been subject of a successful lstat, or
-       * undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* simply
-       * mean that we haven't called lstat on it.
-       */
-      lstatCached() {
-        return this.#type & LSTAT_CALLED ? this : void 0;
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
+        }
+        return this;
       }
-      /**
-       * Return the cached link target if the entry has been the subject of a
-       * successful readlink, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readlink() has been called at some point.
-       */
-      readlinkCached() {
-        return this.#linkTarget;
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
       }
-      /**
-       * Returns the cached realpath target if the entry has been the subject
-       * of a successful realpath, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * realpath() has been called at some point.
-       */
-      realpathCached() {
-        return this.#realpath;
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
+        }
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
+          return;
+        }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
+          return;
+        }
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
+          }
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
+            }
+          }
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
+          }
+        }
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
       }
-      /**
-       * Returns the cached child Path entries array if the entry has been the
-       * subject of a successful readdir(), or [] otherwise.
-       *
-       * Does not read the filesystem, so an empty array *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readdir() has been called recently enough to still be valid.
-       */
-      readdirCached() {
-        const children = this.children();
-        return children.slice(0, children.provisional);
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/undici/lib/compat/dispatcher-weakref.js
+var require_dispatcher_weakref3 = __commonJS({
+  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols11();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      /**
-       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
-       * any indication that readlink will definitely fail.
-       *
-       * Returns false if the path is known to not be a symlink, if a previous
-       * readlink failed, or if the entry does not exist.
-       */
-      canReadlink() {
-        if (this.#linkTarget)
-          return true;
-        if (!this.parent)
-          return false;
-        const ifmt = this.#type & IFMT;
-        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      /**
-       * Return true if readdir has previously been successfully called on this
-       * path, indicating that cachedReaddir() is likely valid.
-       */
-      calledReaddir() {
-        return !!(this.#type & READDIR_CALLED);
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      /**
-       * Returns true if the path is known to not exist. That is, a previous lstat
-       * or readdir failed to verify its existence when that would have been
-       * expected, or a parent entry was marked either enoent or enotdir.
-       */
-      isENOENT() {
-        return !!(this.#type & ENOENT);
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
+            }
+          });
+        }
       }
-      /**
-       * Return true if the path is a match for the given path name.  This handles
-       * case sensitivity and unicode normalization.
-       *
-       * Note: even on case-sensitive systems, it is **not** safe to test the
-       * equality of the `.name` property to determine whether a given pathname
-       * matches, due to unicode normalization mismatches.
-       *
-       * Always use this method instead of testing the `path.name` property
-       * directly.
-       */
-      isNamed(n) {
-        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE) {
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
       }
-      /**
-       * Return the Path object corresponding to the target of a symbolic link.
-       *
-       * If the Path is not a symbolic link, or if the readlink call fails for any
-       * reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       */
-      async readlink() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
+      return {
+        WeakRef: global.WeakRef || CompatWeakRef,
+        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
+      };
+    };
+  }
+});
+
+// node_modules/undici/lib/agent.js
+var require_agent3 = __commonJS({
+  "node_modules/undici/lib/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors6();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols11();
+    var DispatcherBase = require_dispatcher_base3();
+    var Pool = require_pool3();
+    var Client = require_client3();
+    var util = require_util24();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        if (!this.canReadlink()) {
-          return void 0;
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (!this.parent) {
-          return void 0;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        try {
-          const read = await this.#fs.promises.readlink(this.fullpath());
-          const linkTarget = (await this.parent.realpath())?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
-          }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
+        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kFinalizer] = new FinalizationRegistry2(
+          /* istanbul ignore next: gc is undeterministic */
+          (key) => {
+            const ref = this[kClients].get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this[kClients].delete(key);
+            }
+          }
+        );
+        const agent = this;
+        this[kOnDrain] = (origin, targets) => {
+          agent.emit("drain", origin, [agent, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          agent.emit("connect", origin, [agent, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          agent.emit("disconnect", origin, [agent, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          agent.emit("connectionError", origin, [agent, ...targets], err);
+        };
       }
-      /**
-       * Synchronous {@link PathBase.readlink}
-       */
-      readlinkSync() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
+      get [kRunning]() {
+        let ret = 0;
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            ret += client[kRunning];
+          }
         }
-        if (!this.canReadlink()) {
-          return void 0;
+        return ret;
+      }
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
         }
-        if (!this.parent) {
-          return void 0;
+        const ref = this[kClients].get(key);
+        let dispatcher = ref ? ref.deref() : null;
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, new WeakRef2(dispatcher));
+          this[kFinalizer].register(dispatcher, key);
         }
-        try {
-          const read = this.#fs.readlinkSync(this.fullpath());
-          const linkTarget = this.parent.realpathSync()?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
+        return dispatcher.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        const closePromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            closePromises.push(client.close());
           }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
         }
+        await Promise.all(closePromises);
       }
-      #readdirSuccess(children) {
-        this.#type |= READDIR_CALLED;
-        for (let p = children.provisional; p < children.length; p++) {
-          const c = children[p];
-          if (c)
-            c.#markENOENT();
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            destroyPromises.push(client.destroy(err));
+          }
         }
+        await Promise.all(destroyPromises);
       }
-      #markENOENT() {
-        if (this.#type & ENOENT)
-          return;
-        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
-        this.#markChildrenENOENT();
+    };
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/undici/lib/api/readable.js
+var require_readable5 = __commonJS({
+  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { Readable } = require("stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors6();
+    var util = require_util24();
+    var { ReadableStreamFrom, toUSVString } = require_util24();
+    var Blob2;
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("abort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var noop3 = () => {
+    };
+    module2.exports = class BodyReadable extends Readable {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kReading] = false;
       }
-      #markChildrenENOENT() {
-        const children = this.children();
-        children.provisional = 0;
-        for (const p of children) {
-          p.#markENOENT();
+      destroy(err) {
+        if (this.destroyed) {
+          return this;
         }
-      }
-      #markENOREALPATH() {
-        this.#type |= ENOREALPATH;
-        this.#markENOTDIR();
-      }
-      // save the information when we know the entry is not a dir
-      #markENOTDIR() {
-        if (this.#type & ENOTDIR)
-          return;
-        let t = this.#type;
-        if ((t & IFMT) === IFDIR)
-          t &= IFMT_UNKNOWN;
-        this.#type = t | ENOTDIR;
-        this.#markChildrenENOENT();
-      }
-      #readdirFail(code = "") {
-        if (code === "ENOTDIR" || code === "EPERM") {
-          this.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
-        } else {
-          this.children().provisional = 0;
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
         }
+        return super.destroy(err);
       }
-      #lstatFail(code = "") {
-        if (code === "ENOTDIR") {
-          const p = this.parent;
-          p.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
+      emit(ev, ...args) {
+        if (ev === "data") {
+          this._readableState.dataEmitted = true;
+        } else if (ev === "error") {
+          this._readableState.errorEmitted = true;
         }
+        return super.emit(ev, ...args);
       }
-      #readlinkFail(code = "") {
-        let ter = this.#type;
-        ter |= ENOREADLINK;
-        if (code === "ENOENT")
-          ter |= ENOENT;
-        if (code === "EINVAL" || code === "UNKNOWN") {
-          ter &= IFMT_UNKNOWN;
-        }
-        this.#type = ter;
-        if (code === "ENOTDIR" && this.parent) {
-          this.parent.#markENOTDIR();
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
+        return super.on(ev, ...args);
       }
-      #readdirAddChild(e, c) {
-        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      #readdirAddNewChild(e, c) {
-        const type2 = entToType(e);
-        const child = this.newChild(e.name, type2, { parent: this });
-        const ifmt = child.#type & IFMT;
-        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
-          child.#type |= ENOTDIR;
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        c.unshift(child);
-        c.provisional++;
-        return child;
+        return ret;
       }
-      #readdirMaybePromoteChild(e, c) {
-        for (let p = c.provisional; p < c.length; p++) {
-          const pchild = c[p];
-          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
-          if (name !== pchild.#matchName) {
-            continue;
-          }
-          return this.#readdirPromoteChild(e, pchild, p, c);
-        }
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      #readdirPromoteChild(e, p, index, c) {
-        const v = p.name;
-        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
-        if (v !== e.name)
-          p.name = e.name;
-        if (index !== c.provisional) {
-          if (index === c.length - 1)
-            c.pop();
-          else
-            c.splice(index, 1);
-          c.unshift(p);
+      push(chunk) {
+        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
         }
-        c.provisional++;
-        return p;
+        return super.push(chunk);
       }
-      /**
-       * Call lstat() on this Path, and update all known information that can be
-       * determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      /**
-       * synchronous {@link PathBase.lstat}
-       */
-      lstatSync() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      #applyStat(st) {
-        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
-        this.#atime = atime;
-        this.#atimeMs = atimeMs;
-        this.#birthtime = birthtime;
-        this.#birthtimeMs = birthtimeMs;
-        this.#blksize = blksize;
-        this.#blocks = blocks;
-        this.#ctime = ctime;
-        this.#ctimeMs = ctimeMs;
-        this.#dev = dev;
-        this.#gid = gid;
-        this.#ino = ino;
-        this.#mode = mode;
-        this.#mtime = mtime;
-        this.#mtimeMs = mtimeMs;
-        this.#nlink = nlink;
-        this.#rdev = rdev;
-        this.#size = size;
-        this.#uid = uid;
-        const ifmt = entToType(st);
-        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
-        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
-          this.#type |= ENOTDIR;
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      #onReaddirCB = [];
-      #readdirCBInFlight = false;
-      #callOnReaddirCB(children) {
-        this.#readdirCBInFlight = false;
-        const cbs = this.#onReaddirCB.slice();
-        this.#onReaddirCB.length = 0;
-        cbs.forEach((cb) => cb(null, children));
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      /**
-       * Standard node-style callback interface to get list of directory entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       *
-       * @param cb The callback called with (er, entries).  Note that the `er`
-       * param is somewhat extraneous, as all readdir() errors are handled and
-       * simply result in an empty set of entries being returned.
-       * @param allowZalgo Boolean indicating that immediately known results should
-       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
-       * zalgo at your peril, the dark pony lord is devious and unforgiving.
-       */
-      readdirCB(cb, allowZalgo = false) {
-        if (!this.canReaddir()) {
-          if (allowZalgo)
-            cb(null, []);
-          else
-            queueMicrotask(() => cb(null, []));
-          return;
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          const c = children.slice(0, children.provisional);
-          if (allowZalgo)
-            cb(null, c);
-          else
-            queueMicrotask(() => cb(null, c));
-          return;
-        }
-        this.#onReaddirCB.push(cb);
-        if (this.#readdirCBInFlight) {
-          return;
-        }
-        this.#readdirCBInFlight = true;
-        const fullpath = this.fullpath();
-        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
-          if (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
-          } else {
-            for (const e of entries) {
-              this.#readdirAddChild(e, children);
-            }
-            this.#readdirSuccess(children);
-          }
-          this.#callOnReaddirCB(children.slice(0, children.provisional));
-          return;
-        });
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      #asyncReaddirInFlight;
-      /**
-       * Return an array of known child entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async readdir() {
-        if (!this.canReaddir()) {
-          return [];
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
+          }
         }
-        const fullpath = this.fullpath();
-        if (this.#asyncReaddirInFlight) {
-          await this.#asyncReaddirInFlight;
-        } else {
-          let resolve3 = () => {
-          };
-          this.#asyncReaddirInFlight = new Promise((res) => resolve3 = res);
+        return this[kBody];
+      }
+      dump(opts) {
+        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
+        const signal = opts && opts.signal;
+        if (signal) {
           try {
-            for (const e of await this.#fs.promises.readdir(fullpath, {
-              withFileTypes: true
-            })) {
-              this.#readdirAddChild(e, children);
+            if (typeof signal !== "object" || !("aborted" in signal)) {
+              throw new InvalidArgumentError("signal must be an AbortSignal");
             }
-            this.#readdirSuccess(children);
-          } catch (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
+            util.throwIfAborted(signal);
+          } catch (err) {
+            return Promise.reject(err);
           }
-          this.#asyncReaddirInFlight = void 0;
-          resolve3();
-        }
-        return children.slice(0, children.provisional);
-      }
-      /**
-       * synchronous {@link PathBase.readdir}
-       */
-      readdirSync() {
-        if (!this.canReaddir()) {
-          return [];
         }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+        if (this.closed) {
+          return Promise.resolve(null);
         }
-        const fullpath = this.fullpath();
-        try {
-          for (const e of this.#fs.readdirSync(fullpath, {
-            withFileTypes: true
-          })) {
-            this.#readdirAddChild(e, children);
+        return new Promise((resolve3, reject) => {
+          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
+            this.destroy();
+          }) : noop3;
+          this.on("close", function() {
+            signalListenerCleanup();
+            if (signal && signal.aborted) {
+              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+            } else {
+              resolve3(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      if (isUnusable(stream)) {
+        throw new TypeError("unusable");
+      }
+      assert(!stream[kConsume]);
+      return new Promise((resolve3, reject) => {
+        stream[kConsume] = {
+          type: type2,
+          stream,
+          resolve: resolve3,
+          reject,
+          length: 0,
+          body: []
+        };
+        stream.on("error", function(err) {
+          consumeFinish(this[kConsume], err);
+        }).on("close", function() {
+          if (this[kConsume].body !== null) {
+            consumeFinish(this[kConsume], new RequestAbortedError());
           }
-          this.#readdirSuccess(children);
-        } catch (er) {
-          this.#readdirFail(er.code);
-          children.provisional = 0;
-        }
-        return children.slice(0, children.provisional);
+        });
+        process.nextTick(consumeStart, stream[kConsume]);
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
       }
-      canReaddir() {
-        if (this.#type & ENOCHILD)
-          return false;
-        const ifmt = IFMT & this.#type;
-        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
-          return false;
-        }
-        return true;
+      const { _readableState: state } = consume2.stream;
+      for (const chunk of state.buffer) {
+        consumePush(consume2, chunk);
       }
-      shouldWalk(dirs, walkFilter) {
-        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
       }
-      /**
-       * Return the Path object corresponding to path as resolved
-       * by realpath(3).
-       *
-       * If the realpath call fails for any reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       * On success, returns a Path object.
-       */
-      async realpath() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = await this.#fs.promises.realpath(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
-        }
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-      /**
-       * Synchronous {@link realpath}
-       */
-      realpathSync() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = this.#fs.realpathSync(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve3, stream, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve3(toUSVString(Buffer.concat(body)));
+        } else if (type2 === "json") {
+          resolve3(JSON.parse(Buffer.concat(body)));
+        } else if (type2 === "arrayBuffer") {
+          const dst = new Uint8Array(length);
+          let pos = 0;
+          for (const buf of body) {
+            dst.set(buf, pos);
+            pos += buf.byteLength;
+          }
+          resolve3(dst.buffer);
+        } else if (type2 === "blob") {
+          if (!Blob2) {
+            Blob2 = require("buffer").Blob;
+          }
+          resolve3(new Blob2(body, { type: stream[kContentType] }));
         }
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      /**
-       * Internal method to mark this Path object as the scurry cwd,
-       * called by {@link PathScurry#chdir}
-       *
-       * @internal
-       */
-      [setAsCwd](oldCwd) {
-        if (oldCwd === this)
-          return;
-        oldCwd.isCWD = false;
-        this.isCWD = true;
-        const changed = /* @__PURE__ */ new Set([]);
-        let rp = [];
-        let p = this;
-        while (p && p.parent) {
-          changed.add(p);
-          p.#relative = rp.join(this.sep);
-          p.#relativePosix = rp.join("/");
-          p = p.parent;
-          rp.push("..");
-        }
-        p = oldCwd;
-        while (p && p.parent && !changed.has(p)) {
-          p.#relative = void 0;
-          p.#relativePosix = void 0;
-          p = p.parent;
-        }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-    };
-    exports2.PathBase = PathBase;
-    var PathWin32 = class _PathWin32 extends PathBase {
-      /**
-       * Separator for generating path strings.
-       */
-      sep = "\\";
-      /**
-       * Separator for parsing path strings.
-       */
-      splitSep = eitherSep;
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+  }
+});
+
+// node_modules/undici/lib/api/util.js
+var require_util26 = __commonJS({
+  "node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors6();
+    var { toUSVString } = require_util24();
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let limit = 0;
+      for await (const chunk of body) {
+        chunks.push(chunk);
+        limit += chunk.length;
+        if (limit > 128 * 1024) {
+          chunks = null;
+          break;
+        }
       }
-      /**
-       * @internal
-       */
-      getRootString(path4) {
-        return node_path_1.win32.parse(path4).root;
+      if (statusCode === 204 || !contentType || !chunks) {
+        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+        return;
       }
-      /**
-       * @internal
-       */
-      getRoot(rootPath) {
-        rootPath = uncToDrive(rootPath.toUpperCase());
-        if (rootPath === this.root.name) {
-          return this.root;
+      try {
+        if (contentType.startsWith("application/json")) {
+          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
         }
-        for (const [compare2, root] of Object.entries(this.roots)) {
-          if (this.sameRoot(rootPath, compare2)) {
-            return this.roots[rootPath] = root;
-          }
+        if (contentType.startsWith("text/")) {
+          const payload = toUSVString(Buffer.concat(chunks));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
         }
-        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
+      } catch (err) {
       }
-      /**
-       * @internal
-       */
-      sameRoot(rootPath, compare2 = this.root.name) {
-        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-        return rootPath === compare2;
+      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+    }
+    module2.exports = { getResolveErrorBodyCallback };
+  }
+});
+
+// node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal3 = __commonJS({
+  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util24();
+    var { RequestAbortedError } = require_errors6();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort();
+      } else {
+        self2.onError(new RequestAbortedError());
       }
-    };
-    exports2.PathWin32 = PathWin32;
-    var PathPosix = class _PathPosix extends PathBase {
-      /**
-       * separator for parsing path strings
-       */
-      splitSep = "/";
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
+    }
+    function addSignal(self2, signal) {
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      /**
-       * @internal
-       */
-      getRootString(path4) {
-        return path4.startsWith("/") ? "/" : "";
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      /**
-       * @internal
-       */
-      getRoot(_rootPath) {
-        return this.root;
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
     };
-    exports2.PathPosix = PathPosix;
-    var PathScurryBase = class {
-      /**
-       * The root Path entry for the current working directory of this Scurry
-       */
-      root;
-      /**
-       * The string path for the root of this Scurry's current working directory
-       */
-      rootPath;
-      /**
-       * A collection of all roots encountered, referenced by rootPath
-       */
-      roots;
-      /**
-       * The Path entry corresponding to this PathScurry's current working directory.
-       */
-      cwd;
-      #resolveCache;
-      #resolvePosixCache;
-      #children;
-      /**
-       * Perform path comparisons case-insensitively.
-       *
-       * Defaults true on Darwin and Windows systems, false elsewhere.
-       */
-      nocase;
-      #fs;
-      /**
-       * This class should not be instantiated directly.
-       *
-       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
-       *
-       * @internal
-       */
-      constructor(cwd = process.cwd(), pathImpl, sep3, { nocase, childrenCacheSize = 16 * 1024, fs: fs3 = defaultFS } = {}) {
-        this.#fs = fsFromOption(fs3);
-        if (cwd instanceof URL || cwd.startsWith("file://")) {
-          cwd = (0, node_url_1.fileURLToPath)(cwd);
-        }
-        const cwdPath = pathImpl.resolve(cwd);
-        this.roots = /* @__PURE__ */ Object.create(null);
-        this.rootPath = this.parseRootPath(cwdPath);
-        this.#resolveCache = new ResolveCache();
-        this.#resolvePosixCache = new ResolveCache();
-        this.#children = new ChildrenCache(childrenCacheSize);
-        const split = cwdPath.substring(this.rootPath.length).split(sep3);
-        if (split.length === 1 && !split[0]) {
-          split.pop();
+  }
+});
+
+// node_modules/undici/lib/api/api-request.js
+var require_api_request3 = __commonJS({
+  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var Readable = require_readable5();
+    var {
+      InvalidArgumentError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { getResolveErrorBodyCallback } = require_util26();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (nocase === void 0) {
-          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        this.nocase = nocase;
-        this.root = this.newRoot(this.#fs);
-        this.roots[this.rootPath] = this.root;
-        let prev = this.root;
-        let len = split.length - 1;
-        const joinSep = pathImpl.sep;
-        let abs = this.rootPath;
-        let sawFirst = false;
-        for (const part of split) {
-          const l = len--;
-          prev = prev.child(part, {
-            relative: new Array(l).fill("..").join(joinSep),
-            relativePosix: new Array(l).fill("..").join("/"),
-            fullpath: abs += (sawFirst ? "" : joinSep) + part
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
           });
-          sawFirst = true;
         }
-        this.cwd = prev;
+        addSignal(this, signal);
       }
-      /**
-       * Get the depth of a provided path, string, or the cwd
-       */
-      depth(path4 = this.cwd) {
-        if (typeof path4 === "string") {
-          path4 = this.cwd.resolve(path4);
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        return path4.depth();
-      }
-      /**
-       * Return the cache of child entries.  Exposed so subclasses can create
-       * child Path objects in a platform-specific way.
-       *
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
+        this.abort = abort;
+        this.context = context2;
       }
-      /**
-       * Resolve one or more path strings to a resolved string
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolve(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
           }
+          return;
         }
-        const cached = this.#resolveCache.get(r);
-        if (cached !== void 0) {
-          return cached;
-        }
-        const result = this.cwd.resolve(r).fullpath();
-        this.#resolveCache.set(r, result);
-        return result;
-      }
-      /**
-       * Resolve one or more path strings to a resolved string, returning
-       * the posix path.  Identical to .resolve() on posix systems, but on
-       * windows will return a forward-slash separated UNC path.
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolvePosix(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const body = new Readable({ resume, abort, contentType, highWaterMark });
+        this.callback = null;
+        this.res = body;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body,
+              context: context2
+            });
           }
         }
-        const cached = this.#resolvePosixCache.get(r);
-        if (cached !== void 0) {
-          return cached;
-        }
-        const result = this.cwd.resolve(r).fullpathPosix();
-        this.#resolvePosixCache.set(r, result);
-        return result;
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or entry
-       */
-      relative(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.relative();
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or
-       * entry, using / as the path delimiter, even on Windows.
-       */
-      relativePosix(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.relativePosix();
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        util.parseHeaders(trailers, this.trailers);
+        res.push(null);
       }
-      /**
-       * Return the basename for the provided string or Path object
-       */
-      basename(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        return entry.name;
-      }
-      /**
-       * Return the dirname for the provided string or Path object
-       */
-      dirname(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        return (entry.parent || entry).fullpath();
-      }
-      async readdir(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        const { withFileTypes } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else {
-          const p = await entry.readdir();
-          return withFileTypes ? p : p.map((e) => e.name);
+      }
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve3, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve3(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      readdirSync(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+    }
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/undici/lib/api/api-stream.js
+var require_api_stream3 = __commonJS({
+  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var { finished, PassThrough } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { getResolveErrorBodyCallback } = require_util26();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        const { withFileTypes = true } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else if (withFileTypes) {
-          return entry.readdirSync();
-        } else {
-          return entry.readdirSync().map((e) => e.name);
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      }
-      /**
-       * Call lstat() on the string or Path object, and update all known
-       * information that can be determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        return entry.lstat();
+        addSignal(this, signal);
       }
-      /**
-       * synchronous {@link PathScurryBase.lstat}
-       */
-      lstatSync(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        return entry.lstatSync();
+        this.abort = abort;
+        this.context = context2;
       }
-      async readlink(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
+          return;
         }
-        const e = await entry.readlink();
-        return withFileTypes ? e : e?.fullpath();
-      }
-      readlinkSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
+          this.callback = null;
+          this.runInAsyncScope(
+            getResolveErrorBodyCallback,
+            null,
+            { callback, body: res, contentType, statusCode, statusMessage, headers }
+          );
+        } else {
+          if (factory === null) {
+            return;
+          }
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
+          });
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
+          }
+          finished(res, { readable: false }, (err) => {
+            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
+            this.res = null;
+            if (err || !res2.readable) {
+              util.destroy(res2, err);
+            }
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
+            }
+          });
         }
-        const e = entry.readlinkSync();
-        return withFileTypes ? e : e?.fullpath();
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
+        return needDrain !== true;
       }
-      async realpath(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.realpath();
-        return withFileTypes ? e : e?.fullpath();
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
       }
-      realpathSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
+          return;
         }
-        const e = entry.realpathSync();
-        return withFileTypes ? e : e?.fullpath();
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
       }
-      async walk(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        const dirs = /* @__PURE__ */ new Set();
-        const walk = (dir, cb) => {
-          dirs.add(dir);
-          dir.readdirCB((er, entries) => {
-            if (er) {
-              return cb(er);
-            }
-            let len = entries.length;
-            if (!len)
-              return cb();
-            const next = () => {
-              if (--len === 0) {
-                cb();
-              }
-            };
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                results.push(withFileTypes ? e : e.fullpath());
-              }
-              if (follow && e.isSymbolicLink()) {
-                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
-              } else {
-                if (e.shouldWalk(dirs, walkFilter)) {
-                  walk(e, next);
-                } else {
-                  next();
-                }
-              }
-            }
-          }, true);
-        };
-        const start = entry;
-        return new Promise((res, rej) => {
-          walk(start, (er) => {
-            if (er)
-              return rej(er);
-            res(results);
+      }
+    };
+    function stream(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve3, reject) => {
+          stream.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve3(data);
           });
         });
       }
-      walkSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              results.push(withFileTypes ? e : e.fullpath());
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        return results;
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * Support for `for await`
-       *
-       * Alias for {@link PathScurryBase.iterate}
-       *
-       * Note: As of Node 19, this is very slow, compared to other methods of
-       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
-       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
-       */
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    }
+    module2.exports = stream;
+  }
+});
+
+// node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline3 = __commonJS({
+  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable,
+      Duplex,
+      PassThrough
+    } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors6();
+    var util = require_util24();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
       }
-      iterate(entry = this.cwd, options = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          options = entry;
-          entry = this.cwd;
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
         }
-        return this.stream(entry, options)[Symbol.asyncIterator]();
       }
-      /**
-       * Iterating over a PathScurry performs a synchronous walk.
-       *
-       * Alias for {@link PathScurryBase.iterateSync}
-       */
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
       }
-      *iterateSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        if (!filter || filter(entry)) {
-          yield withFileTypes ? entry : entry.fullpath();
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              yield withFileTypes ? e : e.fullpath();
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
+    };
+    var PipelineResponse = class extends Readable {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
+      }
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
+        callback(err);
       }
-      stream(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
         }
-        const dirs = /* @__PURE__ */ new Set();
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const onReaddir = (er, entries, didRealpaths = false) => {
-              if (er)
-                return results.emit("error", er);
-              if (follow && !didRealpaths) {
-                const promises = [];
-                for (const e of entries) {
-                  if (e.isSymbolicLink()) {
-                    promises.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
-                  }
-                }
-                if (promises.length) {
-                  Promise.all(promises).then(() => onReaddir(null, entries, true));
-                  return;
-                }
-              }
-              for (const e of entries) {
-                if (e && (!filter || filter(e))) {
-                  if (!results.write(withFileTypes ? e : e.fullpath())) {
-                    paused = true;
-                  }
-                }
-              }
-              processing--;
-              for (const e of entries) {
-                const r = e.realpathCached() || e;
-                if (r.shouldWalk(dirs, walkFilter)) {
-                  queue.push(r);
-                }
-              }
-              if (paused && !results.flowing) {
-                results.once("drain", process2);
-              } else if (!sync) {
-                process2();
-              }
-            };
-            let sync = true;
-            dir.readdirCB(onReaddir, true);
-            sync = false;
-          }
-        };
-        process2();
-        return results;
-      }
-      streamSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+        const { signal, method, opaque, onInfo, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        const dirs = /* @__PURE__ */ new Set();
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
         }
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const entries = dir.readdirSync();
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                if (!results.write(withFileTypes ? e : e.fullpath())) {
-                  paused = true;
-                }
-              }
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body && body.resume) {
+              body.resume();
             }
-            processing--;
-            for (const e of entries) {
-              let r = e;
-              if (e.isSymbolicLink()) {
-                if (!(follow && (r = e.realpathSync())))
-                  continue;
-                if (r.isUnknown())
-                  r.lstatSync();
-              }
-              if (r.shouldWalk(dirs, walkFilter)) {
-                queue.push(r);
-              }
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
             }
-          }
-          if (paused && !results.flowing)
-            results.once("drain", process2);
-        };
-        process2();
-        return results;
-      }
-      chdir(path4 = this.cwd) {
-        const oldCwd = this.cwd;
-        this.cwd = typeof path4 === "string" ? this.cwd.resolve(path4) : path4;
-        this.cwd[setAsCwd](oldCwd);
-      }
-    };
-    exports2.PathScurryBase = PathScurryBase;
-    var PathScurryWin32 = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "\\";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
-        this.nocase = nocase;
-        for (let p = this.cwd; p; p = p.parent) {
-          p.nocase = this.nocase;
-        }
-      }
-      /**
-       * @internal
-       */
-      parseRootPath(dir) {
-        return node_path_1.win32.parse(dir).root.toUpperCase();
-      }
-      /**
-       * @internal
-       */
-      newRoot(fs3) {
-        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
+            }
+            if (abort && err) {
+              abort();
+            }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
+          }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
       }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        assert(!res, "pipeline cannot be retried");
+        if (ret.destroyed) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = context2;
       }
-    };
-    exports2.PathScurryWin32 = PathScurryWin32;
-    var PathScurryPosix = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = false } = opts;
-        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
-        this.nocase = nocase;
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
+          }
+          return;
+        }
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
+        }
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
+          }
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
+          }
+        });
+        this.body = body;
       }
-      /**
-       * @internal
-       */
-      parseRootPath(_dir) {
-        return "/";
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      /**
-       * @internal
-       */
-      newRoot(fs3) {
-        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
       }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/");
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
       }
     };
-    exports2.PathScurryPosix = PathScurryPosix;
-    var PathScurryDarwin = class extends PathScurryPosix {
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, { ...opts, nocase });
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
       }
-    };
-    exports2.PathScurryDarwin = PathScurryDarwin;
-    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
-    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
+    }
+    module2.exports = pipeline;
   }
 });
 
-// node_modules/glob/dist/commonjs/pattern.js
-var require_pattern = __commonJS({
-  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
+// node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade3 = __commonJS({
+  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pattern = void 0;
-    var minimatch_1 = require_commonjs20();
-    var isPatternList = (pl) => pl.length >= 1;
-    var isGlobList = (gl) => gl.length >= 1;
-    var Pattern = class _Pattern {
-      #patternList;
-      #globList;
-      #index;
-      length;
-      #platform;
-      #rest;
-      #globString;
-      #isDrive;
-      #isUNC;
-      #isAbsolute;
-      #followGlobstar = true;
-      constructor(patternList, globList, index, platform) {
-        if (!isPatternList(patternList)) {
-          throw new TypeError("empty pattern list");
-        }
-        if (!isGlobList(globList)) {
-          throw new TypeError("empty glob list");
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors6();
+    var { AsyncResource } = require("async_hooks");
+    var util = require_util24();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (globList.length !== patternList.length) {
-          throw new TypeError("mismatched pattern list and glob list lengths");
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        this.length = patternList.length;
-        if (index < 0 || index >= this.length) {
-          throw new TypeError("index out of range");
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        this.#patternList = patternList;
-        this.#globList = globList;
-        this.#index = index;
-        this.#platform = platform;
-        if (this.#index === 0) {
-          if (this.isUNC()) {
-            const [p0, p1, p2, p3, ...prest] = this.#patternList;
-            const [g0, g1, g2, g3, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = [p0, p1, p2, p3, ""].join("/");
-            const g = [g0, g1, g2, g3, ""].join("/");
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
-          } else if (this.isDrive() || this.isAbsolute()) {
-            const [p1, ...prest] = this.#patternList;
-            const [g1, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = p1 + "/";
-            const g = g1 + "/";
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
-          }
+        super("UNDICI_UPGRADE");
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.abort = null;
+        this.context = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
+        this.abort = abort;
+        this.context = null;
       }
-      /**
-       * The first entry in the parsed list of patterns
-       */
-      pattern() {
-        return this.#patternList[this.#index];
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
       }
-      /**
-       * true of if pattern() returns a string
-       */
-      isString() {
-        return typeof this.#patternList[this.#index] === "string";
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        assert.strictEqual(statusCode, 101);
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
       }
-      /**
-       * true of if pattern() returns GLOBSTAR
-       */
-      isGlobstar() {
-        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      /**
-       * true if pattern() returns a regexp
-       */
-      isRegExp() {
-        return this.#patternList[this.#index] instanceof RegExp;
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve3, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve3(data);
+          });
+        });
       }
-      /**
-       * The /-joined set of glob parts that make up this pattern
-       */
-      globString() {
-        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
+      try {
+        const upgradeHandler = new UpgradeHandler(opts, callback);
+        this.dispatch({
+          ...opts,
+          method: opts.method || "GET",
+          upgrade: opts.protocol || "Websocket"
+        }, upgradeHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * true if there are more pattern parts after this one
-       */
-      hasMore() {
-        return this.length > this.#index + 1;
+    }
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/undici/lib/api/api-connect.js
+var require_api_connect3 = __commonJS({
+  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors6();
+    var util = require_util24();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      /**
-       * The rest of the pattern after this part, or null if this is the end
-       */
-      rest() {
-        if (this.#rest !== void 0)
-          return this.#rest;
-        if (!this.hasMore())
-          return this.#rest = null;
-        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
-        this.#rest.#isAbsolute = this.#isAbsolute;
-        this.#rest.#isUNC = this.#isUNC;
-        this.#rest.#isDrive = this.#isDrive;
-        return this.#rest;
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = context2;
       }
-      /**
-       * true if the pattern represents a //unc/path/ on windows
-       */
-      isUNC() {
-        const pl = this.#patternList;
-        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      // pattern like C:/...
-      // split = ['C:', ...]
-      // XXX: would be nice to handle patterns like `c:*` to test the cwd
-      // in c: for *, but I don't know of a way to even figure out what that
-      // cwd is without actually chdir'ing into it?
-      /**
-       * True if the pattern starts with a drive letter on Windows
-       */
-      isDrive() {
-        const pl = this.#patternList;
-        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        }
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
       }
-      // pattern = '/' or '/...' or '/x/...'
-      // split = ['', ''] or ['', ...] or ['', 'x', ...]
-      // Drive and UNC both considered absolute on windows
-      /**
-       * True if the pattern is rooted on an absolute path
-       */
-      isAbsolute() {
-        const pl = this.#patternList;
-        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      /**
-       * consume the root of the pattern, and return it
-       */
-      root() {
-        const p = this.#patternList[0];
-        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve3, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve3(data);
+          });
+        });
       }
-      /**
-       * Check to see if the current globstar pattern is allowed to follow
-       * a symbolic link.
-       */
-      checkFollowGlobstar() {
-        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * Mark that the current globstar pattern is following a symbolic link
-       */
-      markFollowGlobstar() {
-        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
-          return false;
-        this.#followGlobstar = false;
-        return true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/undici/lib/api/index.js
+var require_api3 = __commonJS({
+  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request3();
+    module2.exports.stream = require_api_stream3();
+    module2.exports.pipeline = require_api_pipeline3();
+    module2.exports.upgrade = require_api_upgrade3();
+    module2.exports.connect = require_api_connect3();
+  }
+});
+
+// node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors6();
+    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _MockNotMatchedError);
+        this.name = "MockNotMatchedError";
+        this.message = message || "The request does not match any registered mock dispatches";
+        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
       }
     };
-    exports2.Pattern = Pattern;
+    module2.exports = {
+      MockNotMatchedError
+    };
   }
 });
 
-// node_modules/glob/dist/commonjs/ignore.js
-var require_ignore = __commonJS({
-  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+// node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Ignore = void 0;
-    var minimatch_1 = require_commonjs20();
-    var pattern_js_1 = require_pattern();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Ignore = class {
-      relative;
-      relativeChildren;
-      absolute;
-      absoluteChildren;
-      platform;
-      mmopts;
-      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
-        this.relative = [];
-        this.absolute = [];
-        this.relativeChildren = [];
-        this.absoluteChildren = [];
-        this.platform = platform;
-        this.mmopts = {
-          dot: true,
-          nobrace,
-          nocase,
-          noext,
-          noglobstar,
-          optimizationLevel: 2,
-          platform,
-          nocomment: true,
-          nonegate: true
-        };
-        for (const ign of ignored)
-          this.add(ign);
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols3();
+    var { buildURL, nop } = require_util24();
+    var { STATUS_CODES } = require("http");
+    var {
+      types: {
+        isPromise
       }
-      add(ign) {
-        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
-        for (let i = 0; i < mm.set.length; i++) {
-          const parsed = mm.set[i];
-          const globParts = mm.globParts[i];
-          if (!parsed || !globParts) {
-            throw new Error("invalid pattern object");
-          }
-          while (parsed[0] === "." && globParts[0] === ".") {
-            parsed.shift();
-            globParts.shift();
-          }
-          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
-          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
-          const children = globParts[globParts.length - 1] === "**";
-          const absolute = p.isAbsolute();
-          if (absolute)
-            this.absolute.push(m);
-          else
-            this.relative.push(m);
-          if (children) {
-            if (absolute)
-              this.absoluteChildren.push(m);
-            else
-              this.relativeChildren.push(m);
+    } = require("util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
+      }
+      if (match instanceof RegExp) {
+        return match.test(value);
+      }
+      if (typeof match === "function") {
+        return match(value) === true;
+      }
+      return false;
+    }
+    function lowerCaseEntries(headers) {
+      return Object.fromEntries(
+        Object.entries(headers).map(([headerName, headerValue]) => {
+          return [headerName.toLocaleLowerCase(), headerValue];
+        })
+      );
+    }
+    function getHeaderByName(headers, key) {
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
+            return headers[i + 1];
           }
         }
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
+      } else {
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      ignored(p) {
-        const fullpath = p.fullpath();
-        const fullpaths = `${fullpath}/`;
-        const relative = p.relative() || ".";
-        const relatives = `${relative}/`;
-        for (const m of this.relative) {
-          if (m.match(relative) || m.match(relatives))
-            return true;
-        }
-        for (const m of this.absolute) {
-          if (m.match(fullpath) || m.match(fullpaths))
-            return true;
+    }
+    function buildHeadersFromArray(headers) {
+      const clone = headers.slice();
+      const entries = [];
+      for (let index = 0; index < clone.length; index += 2) {
+        entries.push([clone[index], clone[index + 1]]);
+      }
+      return Object.fromEntries(entries);
+    }
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
         }
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+      }
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
+      }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      childrenIgnored(p) {
-        const fullpath = p.fullpath() + "/";
-        const relative = (p.relative() || ".") + "/";
-        for (const m of this.relativeChildren) {
-          if (m.match(relative))
-            return true;
-        }
-        for (const m of this.absoluteChildren) {
-          if (m.match(fullpath))
-            return true;
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        return false;
       }
-    };
-    exports2.Ignore = Ignore;
-  }
-});
-
-// node_modules/glob/dist/commonjs/processor.js
-var require_processor = __commonJS({
-  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
-    var minimatch_1 = require_commonjs20();
-    var HasWalkedCache = class _HasWalkedCache {
-      store;
-      constructor(store = /* @__PURE__ */ new Map()) {
-        this.store = store;
+      return true;
+    }
+    function safeUrl(path4) {
+      if (typeof path4 !== "string") {
+        return path4;
       }
-      copy() {
-        return new _HasWalkedCache(new Map(this.store));
+      const pathSegments = path4.split("?");
+      if (pathSegments.length !== 2) {
+        return path4;
       }
-      hasWalked(target, pattern) {
-        return this.store.get(target.fullpath())?.has(pattern.globString());
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path4, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path4);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      storeWalked(target, pattern) {
-        const fullpath = target.fullpath();
-        const cached = this.store.get(fullpath);
-        if (cached)
-          cached.add(pattern.globString());
-        else
-          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
+    }
+    function getMockDispatch(mockDispatches, key) {
+      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
+      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path4 }) => matchValue(safeUrl(path4), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-    };
-    exports2.HasWalkedCache = HasWalkedCache;
-    var MatchRecord = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, absolute, ifDir) {
-        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
-        const current = this.store.get(target);
-        this.store.set(target, current === void 0 ? n : n & current);
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
       }
-      // match, absolute, ifdir
-      entries() {
-        return [...this.store.entries()].map(([path4, n]) => [
-          path4,
-          !!(n & 2),
-          !!(n & 1)
-        ]);
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
       }
-    };
-    exports2.MatchRecord = MatchRecord;
-    var SubWalks = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, pattern) {
-        if (!target.canReaddir()) {
-          return;
-        }
-        const subs = this.store.get(target);
-        if (subs) {
-          if (!subs.find((p) => p.globString() === pattern.globString())) {
-            subs.push(pattern);
-          }
-        } else
-          this.store.set(target, [pattern]);
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
       }
-      get(target) {
-        const subs = this.store.get(target);
-        if (!subs) {
-          throw new Error("attempting to walk unknown path");
+      return matchedMockDispatches[0];
+    }
+    function addMockDispatch(mockDispatches, key, data) {
+      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
+      const replyData = typeof data === "function" ? { callback: data } : { ...data };
+      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
+      mockDispatches.push(newMockDispatch);
+      return newMockDispatch;
+    }
+    function deleteMockDispatch(mockDispatches, key) {
+      const index = mockDispatches.findIndex((dispatch) => {
+        if (!dispatch.consumed) {
+          return false;
         }
-        return subs;
+        return matchKey(dispatch, key);
+      });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
-      entries() {
-        return this.keys().map((k) => [k, this.store.get(k)]);
+    }
+    function buildKey(opts) {
+      const { path: path4, method, body, headers, query } = opts;
+      return {
+        path: path4,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
+        ...keyValuePairs,
+        Buffer.from(`${key}`),
+        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
+      ], []);
+    }
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      keys() {
-        return [...this.store.keys()].filter((t) => t.canReaddir());
+      return Buffer.concat(buffers).toString("utf8");
+    }
+    function mockDispatch(opts, handler2) {
+      const key = buildKey(opts);
+      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
+      mockDispatch2.timesInvoked++;
+      if (mockDispatch2.data.callback) {
+        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
       }
-    };
-    exports2.SubWalks = SubWalks;
-    var Processor = class _Processor {
-      hasWalkedCache;
-      matches = new MatchRecord();
-      subwalks = new SubWalks();
-      patterns;
-      follow;
-      dot;
-      opts;
-      constructor(opts, hasWalkedCache) {
-        this.opts = opts;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      processPatterns(target, patterns) {
-        this.patterns = patterns;
-        const processingSet = patterns.map((p) => [target, p]);
-        for (let [t, pattern] of processingSet) {
-          this.hasWalkedCache.storeWalked(t, pattern);
-          const root = pattern.root();
-          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
-          if (root) {
-            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
-            const rest2 = pattern.rest();
-            if (!rest2) {
-              this.matches.add(t, true, false);
-              continue;
-            } else {
-              pattern = rest2;
-            }
-          }
-          if (t.isENOENT())
-            continue;
-          let p;
-          let rest;
-          let changed = false;
-          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
-            const c = t.resolve(p);
-            t = c;
-            pattern = rest;
-            changed = true;
-          }
-          p = pattern.pattern();
-          rest = pattern.rest();
-          if (changed) {
-            if (this.hasWalkedCache.hasWalked(t, pattern))
-              continue;
-            this.hasWalkedCache.storeWalked(t, pattern);
-          }
-          if (typeof p === "string") {
-            const ifDir = p === ".." || p === "" || p === ".";
-            this.matches.add(t.resolve(p), absolute, ifDir);
-            continue;
-          } else if (p === minimatch_1.GLOBSTAR) {
-            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
-              this.subwalks.add(t, pattern);
-            }
-            const rp = rest?.pattern();
-            const rrest = rest?.rest();
-            if (!rest || (rp === "" || rp === ".") && !rrest) {
-              this.matches.add(t, absolute, rp === "" || rp === ".");
-            } else {
-              if (rp === "..") {
-                const tp = t.parent || t;
-                if (!rrest)
-                  this.matches.add(tp, absolute, true);
-                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
-                  this.subwalks.add(tp, rrest);
-                }
+      if (typeof delay === "number" && delay > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
+        }
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.abort = nop;
+        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData(Buffer.from(responseData));
+        handler2.onComplete(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
+      }
+      function resume() {
+      }
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
+          try {
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
+              }
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
               }
+            } else {
+              throw error3;
             }
-          } else if (p instanceof RegExp) {
-            this.subwalks.add(t, pattern);
           }
+        } else {
+          originalDispatch.call(this, opts, handler2);
+        }
+      };
+    }
+    function checkNetConnect(netConnect, origin) {
+      const url = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
+        return true;
+      }
+      return false;
+    }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
+      }
+    }
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols3();
+    var { InvalidArgumentError } = require_errors6();
+    var { buildURL } = require_util24();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
+      }
+      /**
+       * Delay a reply by a set amount in ms.
+       */
+      delay(waitInMs) {
+        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
+          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
         }
+        this[kMockDispatch].delay = waitInMs;
         return this;
       }
-      subwalkTargets() {
-        return this.subwalks.keys();
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      child() {
-        return new _Processor(this.opts, this.hasWalkedCache);
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+        }
+        this[kMockDispatch].times = repeatTimes;
+        return this;
       }
-      // return a new Processor containing the subwalks for each
-      // child entry, and a set of matches, and
-      // a hasWalkedCache that's a copy of this one
-      // then we're going to call
-      filterEntries(parent, entries) {
-        const patterns = this.subwalks.get(parent);
-        const results = this.child();
-        for (const e of entries) {
-          for (const pattern of patterns) {
-            const absolute = pattern.isAbsolute();
-            const p = pattern.pattern();
-            const rest = pattern.rest();
-            if (p === minimatch_1.GLOBSTAR) {
-              results.testGlobstar(e, pattern, rest, absolute);
-            } else if (p instanceof RegExp) {
-              results.testRegExp(e, p, rest, absolute);
-            } else {
-              results.testString(e, p, rest, absolute);
-            }
+    };
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
+        }
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
+        }
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
+        }
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
+          } else {
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
           }
         }
-        return results;
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
+        }
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      testGlobstar(e, pattern, rest, absolute) {
-        if (this.dot || !e.name.startsWith(".")) {
-          if (!pattern.hasMore()) {
-            this.matches.add(e, absolute, false);
-          }
-          if (e.canReaddir()) {
-            if (this.follow || !e.isSymbolicLink()) {
-              this.subwalks.add(e, pattern);
-            } else if (e.isSymbolicLink()) {
-              if (rest && pattern.checkFollowGlobstar()) {
-                this.subwalks.add(e, rest);
-              } else if (pattern.markFollowGlobstar()) {
-                this.subwalks.add(e, pattern);
-              }
+      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
+        const responseData = getResponseData2(data);
+        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
+        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
+        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
+        return { statusCode, data, headers, trailers };
+      }
+      validateReplyParameters(statusCode, data, responseOptions) {
+        if (typeof statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
+        }
+        if (typeof data === "undefined") {
+          throw new InvalidArgumentError("data must be defined");
+        }
+        if (typeof responseOptions !== "object") {
+          throw new InvalidArgumentError("responseOptions must be an object");
+        }
+      }
+      /**
+       * Mock an undici request with a defined reply.
+       */
+      reply(replyData) {
+        if (typeof replyData === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyData(opts);
+            if (typeof resolvedData !== "object") {
+              throw new InvalidArgumentError("reply options callback must return an object");
             }
-          }
+            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
+            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            return {
+              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
         }
-        if (rest) {
-          const rp = rest.pattern();
-          if (typeof rp === "string" && // dots and empty were handled already
-          rp !== ".." && rp !== "" && rp !== ".") {
-            this.testString(e, rp, rest.rest(), absolute);
-          } else if (rp === "..") {
-            const ep = e.parent || e;
-            this.subwalks.add(ep, rest);
-          } else if (rp instanceof RegExp) {
-            this.testRegExp(e, rp, rest.rest(), absolute);
-          }
+        const [statusCode, data = "", responseOptions = {}] = [...arguments];
+        this.validateReplyParameters(statusCode, data, responseOptions);
+        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
+      }
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
         }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
-      testRegExp(e, p, rest, absolute) {
-        if (!p.test(e.name))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
+      /**
+       * Set default reply headers on the interceptor for subsequent replies
+       */
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
         }
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-      testString(e, p, rest, absolute) {
-        if (!e.isNamed(p))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
+      /**
+       * Set default reply trailers on the interceptor for subsequent replies
+       */
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
         }
+        this[kDefaultTrailers] = trailers;
+        return this;
+      }
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
     };
-    exports2.Processor = Processor;
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/glob/dist/commonjs/walker.js
-var require_walker = __commonJS({
-  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+// node_modules/undici/lib/mock/mock-client.js
+var require_mock_client3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
-    var minipass_1 = require_commonjs22();
-    var ignore_js_1 = require_ignore();
-    var processor_js_1 = require_processor();
-    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
-    var GlobUtil = class {
-      path;
-      patterns;
-      opts;
-      seen = /* @__PURE__ */ new Set();
-      paused = false;
-      aborted = false;
-      #onResume = [];
-      #ignore;
-      #sep;
-      signal;
-      maxDepth;
-      includeChildMatches;
-      constructor(patterns, path4, opts) {
-        this.patterns = patterns;
-        this.path = path4;
-        this.opts = opts;
-        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        if (opts.ignore || !this.includeChildMatches) {
-          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
-          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
-            const m = "cannot ignore child matches, ignore lacks add() method.";
-            throw new Error(m);
-          }
-        }
-        this.maxDepth = opts.maxDepth || Infinity;
-        if (opts.signal) {
-          this.signal = opts.signal;
-          this.signal.addEventListener("abort", () => {
-            this.#onResume.length = 0;
-          });
+    var { promisify } = require("util");
+    var Client = require_client3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors6();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      #ignored(path4) {
-        return this.seen.has(path4) || !!this.#ignore?.ignored?.(path4);
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      #childrenIgnored(path4) {
-        return !!this.#ignore?.childrenIgnored?.(path4);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      // backpressure mechanism
-      pause() {
-        this.paused = true;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      resume() {
-        if (this.signal?.aborted)
-          return;
-        this.paused = false;
-        let fn = void 0;
-        while (!this.paused && (fn = this.#onResume.shift())) {
-          fn();
+    };
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("util");
+    var Pool = require_pool3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors6();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      onResume(fn) {
-        if (this.signal?.aborted)
-          return;
-        if (!this.paused) {
-          fn();
-        } else {
-          this.#onResume.push(fn);
-        }
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      // do the requisite realpath/stat checking, and return the path
-      // to add or undefined to filter it out.
-      async matchCheck(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || await e.realpath();
-          if (!rpc)
-            return void 0;
-          e = rpc;
-        }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? await e.lstat() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = await s.realpath();
-          if (target && (target.isUnknown() || this.opts.stat)) {
-            await target.lstat();
-          }
-        }
-        return this.matchCheckTest(s, ifDir);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      matchCheckTest(e, ifDir) {
-        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      matchCheckSync(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || e.realpathSync();
-          if (!rpc)
-            return void 0;
-          e = rpc;
-        }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? e.lstatSync() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = s.realpathSync();
-          if (target && (target?.isUnknown() || this.opts.stat)) {
-            target.lstatSync();
+    };
+    module2.exports = MockPool;
+  }
+});
+
+// node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer3 = __commonJS({
+  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+    "use strict";
+    var singulars = {
+      pronoun: "it",
+      is: "is",
+      was: "was",
+      this: "this"
+    };
+    var plurals = {
+      pronoun: "they",
+      is: "are",
+      was: "were",
+      this: "these"
+    };
+    module2.exports = class Pluralizer {
+      constructor(singular, plural) {
+        this.singular = singular;
+        this.plural = plural;
+      }
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
+      }
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter3 = __commonJS({
+  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("stream");
+    var { Console } = require("console");
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
           }
-        }
-        return this.matchCheckTest(s, ifDir);
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
+          }
+        });
       }
-      matchFinish(e, absolute) {
-        if (this.#ignored(e))
-          return;
-        if (!this.includeChildMatches && this.#ignore?.add) {
-          const ign = `${e.relativePosix()}/**`;
-          this.#ignore.add(ign);
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path4, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path4,
+            "Status code": statusCode,
+            Persistent: persist ? "\u2705" : "\u274C",
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
+      }
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols11();
+    var Agent = require_agent3();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols3();
+    var MockClient = require_mock_client3();
+    var MockPool = require_mock_pool3();
+    var { matchValue, buildMockOptions } = require_mock_utils3();
+    var { InvalidArgumentError, UndiciError } = require_errors6();
+    var Dispatcher = require_dispatcher3();
+    var Pluralizer = require_pluralizer3();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter3();
+    var FakeWeakRef = class {
+      constructor(value) {
+        this.value = value;
+      }
+      deref() {
+        return this.value;
+      }
+    };
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
-        this.seen.add(e);
-        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
-        if (this.opts.withFileTypes) {
-          this.matchEmit(e);
-        } else if (abs) {
-          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
-          this.matchEmit(abs2 + mark);
-        } else {
-          const rel = this.opts.posix ? e.relativePosix() : e.relative();
-          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
-          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
+        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
+      }
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
+        return dispatcher;
       }
-      async match(e, absolute, ifDir) {
-        const p = await this.matchCheck(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
       }
-      matchSync(e, absolute, ifDir) {
-        const p = this.matchCheckSync(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
       }
-      walkCB(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      deactivate() {
+        this[kIsMockActive] = false;
       }
-      walkCB2(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
-          }
-          tasks++;
-          const childrenCached = t.readdirCached();
-          if (t.calledReaddir())
-            this.walkCB3(t, childrenCached, processor, next);
-          else {
-            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
-          }
-        }
-        next();
+      activate() {
+        this[kIsMockActive] = true;
       }
-      walkCB3(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2(target2, patterns, processor.child(), next);
+      enableNetConnect(matcher) {
+        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
+          if (Array.isArray(this[kNetConnect])) {
+            this[kNetConnect].push(matcher);
+          } else {
+            this[kNetConnect] = [matcher];
+          }
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        next();
       }
-      walkCBSync(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      walkCB2Sync(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
-          return;
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
+      }
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      }
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const ref = this[kClients].get(origin);
+        if (ref) {
+          return ref.deref();
         }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
         }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
+        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
+          const nonExplicitDispatcher = nonExplicitRef.deref();
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
-          tasks++;
-          const children = t.readdirSync();
-          this.walkCB3Sync(t, children, processor, next);
         }
-        next();
       }
-      walkCB3Sync(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2Sync(target2, patterns, processor.child(), next);
+      [kGetNetConnect]() {
+        return this[kNetConnect];
+      }
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      }
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
+          return;
         }
-        next();
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    exports2.GlobUtil = GlobUtil;
-    var GlobWalker = class extends GlobUtil {
-      matches = /* @__PURE__ */ new Set();
-      constructor(patterns, path4, opts) {
-        super(patterns, path4, opts);
+    module2.exports = MockAgent;
+  }
+});
+
+// node_modules/undici/lib/proxy-agent.js
+var require_proxy_agent3 = __commonJS({
+  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols11();
+    var { URL: URL2 } = require("url");
+    var Agent = require_agent3();
+    var Pool = require_pool3();
+    var DispatcherBase = require_dispatcher_base3();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors6();
+    var buildConnector = require_connect3();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function buildProxyOptions(opts) {
+      if (typeof opts === "string") {
+        opts = { uri: opts };
       }
-      matchEmit(e) {
-        this.matches.add(e);
+      if (!opts || !opts.uri) {
+        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
       }
-      async walk() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          await this.path.lstat();
+      return {
+        uri: opts.uri,
+        protocol: opts.protocol || "https"
+      };
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super(opts);
+        this[kProxy] = buildProxyOptions(opts);
+        this[kAgent] = new Agent(opts);
+        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        if (typeof opts === "string") {
+          opts = { uri: opts };
         }
-        await new Promise((res, rej) => {
-          this.walkCB(this.path, this.patterns, () => {
-            if (this.signal?.aborted) {
-              rej(this.signal.reason);
-            } else {
-              res(this.matches);
+        if (!opts || !opts.uri) {
+          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+        }
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
+        }
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        const resolvedUrl = new URL2(opts.uri);
+        const { origin, port, host, username, password } = resolvedUrl;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
+        }
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        this[kClient] = clientFactory(resolvedUrl, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          connect: async (opts2, callback) => {
+            let requestedHost = opts2.host;
+            if (!opts2.port) {
+              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
             }
-          });
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedHost,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host
+                }
+              });
+              if (statusCode !== 200) {
+                socket.on("error", () => {
+                }).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              callback(err);
+            }
+          }
         });
-        return this.matches;
       }
-      walkSync() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => {
-          if (this.signal?.aborted)
-            throw this.signal.reason;
-        });
-        return this.matches;
+      dispatch(opts, handler2) {
+        const { host } = new URL2(opts.origin);
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers: {
+              ...headers,
+              host
+            }
+          },
+          handler2
+        );
       }
-    };
-    exports2.GlobWalker = GlobWalker;
-    var GlobStream = class extends GlobUtil {
-      results;
-      constructor(patterns, path4, opts) {
-        super(patterns, path4, opts);
-        this.results = new minipass_1.Minipass({
-          signal: this.signal,
-          objectMode: true
-        });
-        this.results.on("drain", () => this.resume());
-        this.results.on("resume", () => this.resume());
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      matchEmit(e) {
-        this.results.write(e);
-        if (!this.results.flowing)
-          this.pause();
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-      stream() {
-        const target = this.path;
-        if (target.isUnknown()) {
-          target.lstat().then(() => {
-            this.walkCB(target, this.patterns, () => this.results.end());
-          });
-        } else {
-          this.walkCB(target, this.patterns, () => this.results.end());
+    };
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
         }
-        return this.results;
+        return headersPair;
       }
-      streamSync() {
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => this.results.end());
-        return this.results;
+      return headers;
+    }
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
       }
-    };
-    exports2.GlobStream = GlobStream;
+    }
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/glob/dist/commonjs/glob.js
-var require_glob2 = __commonJS({
-  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Glob = void 0;
-    var minimatch_1 = require_commonjs20();
-    var node_url_1 = require("node:url");
-    var path_scurry_1 = require_commonjs23();
-    var pattern_js_1 = require_pattern();
-    var walker_js_1 = require_walker();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Glob = class {
-      absolute;
-      cwd;
-      root;
-      dot;
-      dotRelative;
-      follow;
-      ignore;
-      magicalBraces;
-      mark;
-      matchBase;
-      maxDepth;
-      nobrace;
-      nocase;
-      nodir;
-      noext;
-      noglobstar;
-      pattern;
-      platform;
-      realpath;
-      scurry;
-      stat;
-      signal;
-      windowsPathsNoEscape;
-      withFileTypes;
-      includeChildMatches;
-      /**
-       * The options provided to the constructor.
-       */
-      opts;
-      /**
-       * An array of parsed immutable {@link Pattern} objects.
-       */
-      patterns;
-      /**
-       * All options are stored as properties on the `Glob` object.
-       *
-       * See {@link GlobOptions} for full options descriptions.
-       *
-       * Note that a previous `Glob` object can be passed as the
-       * `GlobOptions` to another `Glob` instantiation to re-use settings
-       * and caches with a new pattern.
-       *
-       * Traversal functions can be called multiple times to run the walk
-       * again.
-       */
-      constructor(pattern, opts) {
-        if (!opts)
-          throw new TypeError("glob options required");
-        this.withFileTypes = !!opts.withFileTypes;
-        this.signal = opts.signal;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.dotRelative = !!opts.dotRelative;
-        this.nodir = !!opts.nodir;
-        this.mark = !!opts.mark;
-        if (!opts.cwd) {
-          this.cwd = "";
-        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
-          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
+// node_modules/undici/lib/handler/RetryHandler.js
+var require_RetryHandler = __commonJS({
+  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
+    var assert = require("assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols11();
+    var { RequestRetryError } = require_errors6();
+    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util24();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      const diff = new Date(retryAfter).getTime() - current;
+      return diff;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = dispatchOpts;
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          timeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "ECONNRESET",
+            "ECONNREFUSED",
+            "ENOTFOUND",
+            "ENETDOWN",
+            "ENETUNREACH",
+            "EHOSTDOWN",
+            "EHOSTUNREACH",
+            "EPIPE"
+          ]
+        };
+        this.retryCount = 0;
+        this.start = 0;
+        this.end = null;
+        this.etag = null;
+        this.resume = null;
+        this.handler.onConnect((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
+          }
+        });
+      }
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
-        this.cwd = opts.cwd || "";
-        this.root = opts.root;
-        this.magicalBraces = !!opts.magicalBraces;
-        this.nobrace = !!opts.nobrace;
-        this.noext = !!opts.noext;
-        this.realpath = !!opts.realpath;
-        this.absolute = opts.absolute;
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        this.noglobstar = !!opts.noglobstar;
-        this.matchBase = !!opts.matchBase;
-        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
-        this.stat = !!opts.stat;
-        this.ignore = opts.ignore;
-        if (this.withFileTypes && this.absolute !== void 0) {
-          throw new Error("cannot set absolute and withFileTypes:true");
+      }
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
-        if (typeof pattern === "string") {
-          pattern = [pattern];
+      }
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
         }
-        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      }
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          timeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        let { counter, currentTimeout } = state;
+        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
+        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
+        }
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
+        }
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
+        }
+        if (counter > maxRetries) {
+          cb(err);
+          return;
+        }
+        let retryAfterHeader = headers != null && headers["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
+        state.currentTimeout = retryTimeout;
+        setTimeout(() => cb(null), retryTimeout);
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          this.abort(
+            new RequestRetryError("Request failed", statusCode, {
+              headers,
+              count: this.retryCount
+            })
+          );
+          return false;
         }
-        if (this.matchBase) {
-          if (opts.noglobstar) {
-            throw new TypeError("base matching requires globstar");
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206) {
+            return true;
           }
-          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
         }
-        this.pattern = pattern;
-        this.platform = opts.platform || defaultPlatform;
-        this.opts = { ...opts, platform: this.platform };
-        if (opts.scurry) {
-          this.scurry = opts.scurry;
-          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
-            throw new Error("nocase option contradicts provided scurry option");
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
+            }
+            const { start, size, end = size } = range;
+            assert(
+              start != null && Number.isFinite(start) && this.start !== start,
+              "content-range mismatch"
+            );
+            assert(Number.isFinite(start));
+            assert(
+              end != null && Number.isFinite(end) && this.end !== end,
+              "invalid content-length"
+            );
+            this.start = start;
+            this.end = end;
           }
-        } else {
-          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
-          this.scurry = new Scurry(this.cwd, {
-            nocase: opts.nocase,
-            fs: opts.fs
-          });
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) : null;
+          }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
         }
-        this.nocase = this.scurry.nocase;
-        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
-        const mmo = {
-          // default nocase based on platform
-          ...opts,
-          dot: this.dot,
-          matchBase: this.matchBase,
-          nobrace: this.nobrace,
-          nocase: this.nocase,
-          nocaseMagicOnly,
-          nocomment: true,
-          noext: this.noext,
-          nonegate: true,
-          optimizationLevel: 2,
-          platform: this.platform,
-          windowsPathsNoEscape: this.windowsPathsNoEscape,
-          debug: !!this.opts.debug
-        };
-        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
-        const [matchSet, globParts] = mms.reduce((set2, m) => {
-          set2[0].push(...m.set);
-          set2[1].push(...m.globParts);
-          return set2;
-        }, [[], []]);
-        this.patterns = matchSet.map((set2, i) => {
-          const g = globParts[i];
-          if (!g)
-            throw new Error("invalid pattern object");
-          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          count: this.retryCount
         });
+        this.abort(err);
+        return false;
       }
-      async walk() {
-        return [
-          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walk()
-        ];
-      }
-      walkSync() {
-        return [
-          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walkSync()
-        ];
-      }
-      stream() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).stream();
-      }
-      streamSync() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).streamSync();
-      }
-      /**
-       * Default sync iteration function. Returns a Generator that
-       * iterates over the results.
-       */
-      iterateSync() {
-        return this.streamSync()[Symbol.iterator]();
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      /**
-       * Default async iteration function. Returns an AsyncGenerator that
-       * iterates over the results.
-       */
-      iterate() {
-        return this.stream()[Symbol.asyncIterator]();
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
+          },
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
+          }
+          if (this.start !== 0) {
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                range: `bytes=${this.start}-${this.end ?? ""}`
+              }
+            };
+          }
+          try {
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
+          }
+        }
       }
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/undici/lib/global.js
+var require_global6 = __commonJS({
+  "node_modules/undici/lib/global.js"(exports2, module2) {
+    "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors6();
+    var Agent = require_agent3();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
+    }
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
     };
-    exports2.Glob = Glob;
   }
 });
 
-// node_modules/glob/dist/commonjs/has-magic.js
-var require_has_magic = __commonJS({
-  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+// node_modules/undici/lib/handler/DecoratorHandler.js
+var require_DecoratorHandler = __commonJS({
+  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hasMagic = void 0;
-    var minimatch_1 = require_commonjs20();
-    var hasMagic = (pattern, options = {}) => {
-      if (!Array.isArray(pattern)) {
-        pattern = [pattern];
+    module2.exports = class DecoratorHandler {
+      constructor(handler2) {
+        this.handler = handler2;
       }
-      for (const p of pattern) {
-        if (new minimatch_1.Minimatch(p, options).hasMagic())
-          return true;
+      onConnect(...args) {
+        return this.handler.onConnect(...args);
+      }
+      onError(...args) {
+        return this.handler.onError(...args);
+      }
+      onUpgrade(...args) {
+        return this.handler.onUpgrade(...args);
+      }
+      onHeaders(...args) {
+        return this.handler.onHeaders(...args);
+      }
+      onData(...args) {
+        return this.handler.onData(...args);
+      }
+      onComplete(...args) {
+        return this.handler.onComplete(...args);
+      }
+      onBodySent(...args) {
+        return this.handler.onBodySent(...args);
       }
-      return false;
     };
-    exports2.hasMagic = hasMagic;
   }
 });
 
-// node_modules/glob/dist/commonjs/index.js
-var require_commonjs24 = __commonJS({
-  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/headers.js
+var require_headers4 = __commonJS({
+  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
-    exports2.globStreamSync = globStreamSync;
-    exports2.globStream = globStream;
-    exports2.globSync = globSync;
-    exports2.globIterateSync = globIterateSync;
-    exports2.globIterate = globIterate;
-    var minimatch_1 = require_commonjs20();
-    var glob_js_1 = require_glob2();
-    var has_magic_js_1 = require_has_magic();
-    var minimatch_2 = require_commonjs20();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return minimatch_2.escape;
-    } });
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return minimatch_2.unescape;
-    } });
-    var glob_js_2 = require_glob2();
-    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
-      return glob_js_2.Glob;
-    } });
-    var has_magic_js_2 = require_has_magic();
-    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
-      return has_magic_js_2.hasMagic;
-    } });
-    var ignore_js_1 = require_ignore();
-    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
-      return ignore_js_1.Ignore;
-    } });
-    function globStreamSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).streamSync();
-    }
-    function globStream(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).stream();
-    }
-    function globSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walkSync();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var { kGuard } = require_symbols12();
+    var { kEnumerableProperty } = require_util24();
+    var {
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util25();
+    var util = require("util");
+    var { webidl } = require_webidl3();
+    var assert = require("assert");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
     }
-    async function glob_(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walk();
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
+      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
     }
-    function globIterateSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterateSync();
+    function fill(headers, object) {
+      if (Array.isArray(object)) {
+        for (let i = 0; i < object.length; ++i) {
+          const header = object[i];
+          if (header.length !== 2) {
+            throw webidl.errors.exception({
+              header: "Headers constructor",
+              message: `expected name/value pair to be length 2, found ${header.length}.`
+            });
+          }
+          appendHeader(headers, header[0], header[1]);
+        }
+      } else if (typeof object === "object" && object !== null) {
+        const keys = Object.keys(object);
+        for (let i = 0; i < keys.length; ++i) {
+          appendHeader(headers, keys[i], object[keys[i]]);
+        }
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
+      }
     }
-    function globIterate(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterate();
+    function appendHeader(headers, name, value) {
+      value = headerValueNormalize(value);
+      if (!isValidHeaderName(name)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value: name,
+          type: "header name"
+        });
+      } else if (!isValidHeaderValue(value)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value,
+          type: "header value"
+        });
+      }
+      if (headers[kGuard] === "immutable") {
+        throw new TypeError("immutable");
+      } else if (headers[kGuard] === "request-no-cors") {
+      }
+      return headers[kHeadersList].append(name, value);
     }
-    exports2.streamSync = globStreamSync;
-    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
-    exports2.iterateSync = globIterateSync;
-    exports2.iterate = Object.assign(globIterate, {
-      sync: globIterateSync
-    });
-    exports2.sync = Object.assign(globSync, {
-      stream: globStreamSync,
-      iterate: globIterateSync
-    });
-    exports2.glob = Object.assign(glob_, {
-      glob: glob_,
-      globSync,
-      sync: exports2.sync,
-      globStream,
-      stream: exports2.stream,
-      globStreamSync,
-      streamSync: exports2.streamSync,
-      globIterate,
-      iterate: exports2.iterate,
-      globIterateSync,
-      iterateSync: exports2.iterateSync,
-      Glob: glob_js_1.Glob,
-      hasMagic: has_magic_js_1.hasMagic,
-      escape: minimatch_1.escape,
-      unescape: minimatch_1.unescape
-    });
-    exports2.glob.glob = exports2.glob;
-  }
-});
-
-// node_modules/archiver-utils/file.js
-var require_file4 = __commonJS({
-  "node_modules/archiver-utils/file.js"(exports2, module2) {
-    var fs3 = require_graceful_fs();
-    var path4 = require("path");
-    var flatten = require_flatten();
-    var difference = require_difference();
-    var union = require_union();
-    var isPlainObject3 = require_isPlainObject();
-    var glob2 = require_commonjs24();
-    var file = module2.exports = {};
-    var pathSeparatorRe = /[\/\\]/g;
-    var processPatterns = function(patterns, fn) {
-      var result = [];
-      flatten(patterns).forEach(function(pattern) {
-        var exclusion = pattern.indexOf("!") === 0;
-        if (exclusion) {
-          pattern = pattern.slice(1);
+    var HeadersList = class _HeadersList {
+      /** @type {[string, string][]|null} */
+      cookies = null;
+      constructor(init) {
+        if (init instanceof _HeadersList) {
+          this[kHeadersMap] = new Map(init[kHeadersMap]);
+          this[kHeadersSortedMap] = init[kHeadersSortedMap];
+          this.cookies = init.cookies === null ? null : [...init.cookies];
+        } else {
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
         }
-        var matches = fn(pattern);
-        if (exclusion) {
-          result = difference(result, matches);
+      }
+      // https://fetch.spec.whatwg.org/#header-list-contains
+      contains(name) {
+        name = name.toLowerCase();
+        return this[kHeadersMap].has(name);
+      }
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-append
+      append(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
+          });
         } else {
-          result = union(result, matches);
+          this[kHeadersMap].set(lowercaseName, { name, value });
+        }
+        if (lowercaseName === "set-cookie") {
+          this.cookies ??= [];
+          this.cookies.push(value);
+        }
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-set
+      set(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
+        }
+        this[kHeadersMap].set(lowercaseName, { name, value });
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-delete
+      delete(name) {
+        this[kHeadersSortedMap] = null;
+        name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
+        }
+        this[kHeadersMap].delete(name);
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-get
+      get(name) {
+        const value = this[kHeadersMap].get(name.toLowerCase());
+        return value === void 0 ? null : value.value;
+      }
+      *[Symbol.iterator]() {
+        for (const [name, { value }] of this[kHeadersMap]) {
+          yield [name, value];
         }
-      });
-      return result;
-    };
-    file.exists = function() {
-      var filepath = path4.join.apply(path4, arguments);
-      return fs3.existsSync(filepath);
-    };
-    file.expand = function(...args) {
-      var options = isPlainObject3(args[0]) ? args.shift() : {};
-      var patterns = Array.isArray(args[0]) ? args[0] : args;
-      if (patterns.length === 0) {
-        return [];
       }
-      var matches = processPatterns(patterns, function(pattern) {
-        return glob2.sync(pattern, options);
-      });
-      if (options.filter) {
-        matches = matches.filter(function(filepath) {
-          filepath = path4.join(options.cwd || "", filepath);
-          try {
-            if (typeof options.filter === "function") {
-              return options.filter(filepath);
-            } else {
-              return fs3.statSync(filepath)[options.filter]();
-            }
-          } catch (e) {
-            return false;
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-        });
+        }
+        return headers;
       }
-      return matches;
     };
-    file.expandMapping = function(patterns, destBase, options) {
-      options = Object.assign({
-        rename: function(destBase2, destPath) {
-          return path4.join(destBase2 || "", destPath);
-        }
-      }, options);
-      var files = [];
-      var fileByDest = {};
-      file.expand(options, patterns).forEach(function(src) {
-        var destPath = src;
-        if (options.flatten) {
-          destPath = path4.basename(destPath);
-        }
-        if (options.ext) {
-          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+    var Headers = class _Headers {
+      constructor(init = void 0) {
+        if (init === kConstruct) {
+          return;
         }
-        var dest = options.rename(destBase, destPath, options);
-        if (options.cwd) {
-          src = path4.join(options.cwd, src);
+        this[kHeadersList] = new HeadersList();
+        this[kGuard] = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init);
+          fill(this, init);
         }
-        dest = dest.replace(pathSeparatorRe, "/");
-        src = src.replace(pathSeparatorRe, "/");
-        if (fileByDest[dest]) {
-          fileByDest[dest].src.push(src);
-        } else {
-          files.push({
-            src: [src],
-            dest
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
           });
-          fileByDest[dest] = files[files.length - 1];
         }
-      });
-      return files;
-    };
-    file.normalizeFilesArray = function(data) {
-      var files = [];
-      data.forEach(function(obj) {
-        var prop;
-        if ("src" in obj || "dest" in obj) {
-          files.push(obj);
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
         }
-      });
-      if (files.length === 0) {
-        return [];
-      }
-      files = _(files).chain().forEach(function(obj) {
-        if (!("src" in obj) || !obj.src) {
+        if (!this[kHeadersList].contains(name)) {
           return;
         }
-        if (Array.isArray(obj.src)) {
-          obj.src = flatten(obj.src);
-        } else {
-          obj.src = [obj.src];
+        this[kHeadersList].delete(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.get",
+            value: name,
+            type: "header name"
+          });
         }
-      }).map(function(obj) {
-        var expandOptions = Object.assign({}, obj);
-        delete expandOptions.src;
-        delete expandOptions.dest;
-        if (obj.expand) {
-          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
-            var result2 = Object.assign({}, obj);
-            result2.orig = Object.assign({}, obj);
-            result2.src = mapObj.src;
-            result2.dest = mapObj.dest;
-            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
-              delete result2[prop];
-            });
-            return result2;
+        return this[kHeadersList].get(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.has",
+            value: name,
+            type: "header name"
           });
         }
-        var result = Object.assign({}, obj);
-        result.orig = Object.assign({}, obj);
-        if ("src" in result) {
-          Object.defineProperty(result, "src", {
-            enumerable: true,
-            get: function fn() {
-              var src;
-              if (!("result" in fn)) {
-                src = obj.src;
-                src = Array.isArray(src) ? flatten(src) : [src];
-                fn.result = file.expand(expandOptions, src);
-              }
-              return fn.result;
-            }
+        return this[kHeadersList].contains(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value: name,
+            type: "header name"
+          });
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value,
+            type: "header value"
           });
         }
-        if ("dest" in result) {
-          result.dest = obj.dest;
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
         }
-        return result;
-      }).flatten().value();
-      return files;
-    };
-  }
-});
-
-// node_modules/archiver-utils/index.js
-var require_archiver_utils = __commonJS({
-  "node_modules/archiver-utils/index.js"(exports2, module2) {
-    var fs3 = require_graceful_fs();
-    var path4 = require("path");
-    var isStream = require_is_stream();
-    var lazystream = require_lazystream();
-    var normalizePath = require_normalize_path();
-    var defaults = require_defaults();
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var utils = module2.exports = {};
-    utils.file = require_file4();
-    utils.collectStream = function(source, callback) {
-      var collection = [];
-      var size = 0;
-      source.on("error", callback);
-      source.on("data", function(chunk) {
-        collection.push(chunk);
-        size += chunk.length;
-      });
-      source.on("end", function() {
-        var buf = Buffer.alloc(size);
-        var offset = 0;
-        collection.forEach(function(data) {
-          data.copy(buf, offset);
-          offset += data.length;
-        });
-        callback(null, buf);
-      });
-    };
-    utils.dateify = function(dateish) {
-      dateish = dateish || /* @__PURE__ */ new Date();
-      if (dateish instanceof Date) {
-        dateish = dateish;
-      } else if (typeof dateish === "string") {
-        dateish = new Date(dateish);
-      } else {
-        dateish = /* @__PURE__ */ new Date();
-      }
-      return dateish;
-    };
-    utils.defaults = function(object, source, guard) {
-      var args = arguments;
-      args[0] = args[0] || {};
-      return defaults(...args);
-    };
-    utils.isStream = function(source) {
-      return isStream(source);
-    };
-    utils.lazyReadStream = function(filepath) {
-      return new lazystream.Readable(function() {
-        return fs3.createReadStream(filepath);
-      });
-    };
-    utils.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (utils.isStream(source)) {
-        return source.pipe(new PassThrough());
+        this[kHeadersList].set(name, value);
       }
-      return source;
-    };
-    utils.sanitizePath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-    };
-    utils.trailingSlashIt = function(str2) {
-      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
-    };
-    utils.unixifyPath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "");
-    };
-    utils.walkdir = function(dirpath, base, callback) {
-      var results = [];
-      if (typeof base === "function") {
-        callback = base;
-        base = dirpath;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this[kHeadersList].cookies;
+        if (list) {
+          return [...list];
+        }
+        return [];
       }
-      fs3.readdir(dirpath, function(err, list) {
-        var i = 0;
-        var file;
-        var filepath;
-        if (err) {
-          return callback(err);
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this[kHeadersList][kHeadersSortedMap]) {
+          return this[kHeadersList][kHeadersSortedMap];
         }
-        (function next() {
-          file = list[i++];
-          if (!file) {
-            return callback(null, results);
-          }
-          filepath = path4.join(dirpath, file);
-          fs3.stat(filepath, function(err2, stats) {
-            results.push({
-              path: filepath,
-              relative: path4.relative(base, filepath).replace(/\\/g, "/"),
-              stats
-            });
-            if (stats && stats.isDirectory()) {
-              utils.walkdir(filepath, base, function(err3, res) {
-                if (err3) {
-                  return callback(err3);
-                }
-                res.forEach(function(dirEntry) {
-                  results.push(dirEntry);
-                });
-                next();
-              });
-            } else {
-              next();
+        const headers = [];
+        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
+        const cookies = this[kHeadersList].cookies;
+        for (let i = 0; i < names.length; ++i) {
+          const [name, value] = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
             }
-          });
-        })();
-      });
-    };
-  }
-});
-
-// node_modules/archiver/lib/error.js
-var require_error3 = __commonJS({
-  "node_modules/archiver/lib/error.js"(exports2, module2) {
-    var util = require("util");
-    var ERROR_CODES = {
-      "ABORTED": "archive was aborted",
-      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
-      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
-      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
-      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
-      "FINALIZING": "archive already finalizing",
-      "QUEUECLOSED": "queue closed",
-      "NOENDMETHOD": "no suitable finalize/end method defined by module",
-      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
-      "FORMATSET": "archive format already set",
-      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
-      "MODULESET": "module already set",
-      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
-      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
-      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
-      "ENTRYNOTSUPPORTED": "entry not supported"
-    };
-    function ArchiverError(code, data) {
-      Error.captureStackTrace(this, this.constructor);
-      this.message = ERROR_CODES[code] || code;
-      this.code = code;
-      this.data = data;
-    }
-    util.inherits(ArchiverError, Error);
-    exports2 = module2.exports = ArchiverError;
-  }
-});
-
-// node_modules/archiver/lib/core.js
-var require_core2 = __commonJS({
-  "node_modules/archiver/lib/core.js"(exports2, module2) {
-    var fs3 = require("fs");
-    var glob2 = require_readdir_glob();
-    var async = require_async();
-    var path4 = require("path");
-    var util = require_archiver_utils();
-    var inherits = require("util").inherits;
-    var ArchiverError = require_error3();
-    var Transform = require_ours().Transform;
-    var win32 = process.platform === "win32";
-    var Archiver = function(format, options) {
-      if (!(this instanceof Archiver)) {
-        return new Archiver(format, options);
-      }
-      if (typeof format !== "string") {
-        options = format;
-        format = "zip";
-      }
-      options = this.options = util.defaults(options, {
-        highWaterMark: 1024 * 1024,
-        statConcurrency: 4
-      });
-      Transform.call(this, options);
-      this._format = false;
-      this._module = false;
-      this._pending = 0;
-      this._pointer = 0;
-      this._entriesCount = 0;
-      this._entriesProcessedCount = 0;
-      this._fsEntriesTotalBytes = 0;
-      this._fsEntriesProcessedBytes = 0;
-      this._queue = async.queue(this._onQueueTask.bind(this), 1);
-      this._queue.drain(this._onQueueDrain.bind(this));
-      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
-      this._statQueue.drain(this._onQueueDrain.bind(this));
-      this._state = {
-        aborted: false,
-        finalize: false,
-        finalizing: false,
-        finalized: false,
-        modulePiped: false
-      };
-      this._streams = [];
-    };
-    inherits(Archiver, Transform);
-    Archiver.prototype._abort = function() {
-      this._state.aborted = true;
-      this._queue.kill();
-      this._statQueue.kill();
-      if (this._queue.idle()) {
-        this._shutdown();
+          } else {
+            assert(value !== null);
+            headers.push([name, value]);
+          }
+        }
+        this[kHeadersList][kHeadersSortedMap] = headers;
+        return headers;
       }
-    };
-    Archiver.prototype._append = function(filepath, data) {
-      data = data || {};
-      var task = {
-        source: null,
-        filepath
-      };
-      if (!data.name) {
-        data.name = filepath;
+      keys() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key"
+        );
       }
-      data.sourcePath = filepath;
-      task.data = data;
-      this._entriesCount++;
-      if (data.stats && data.stats instanceof fs3.Stats) {
-        task = this._updateQueueTaskWithStats(task, data.stats);
-        if (task) {
-          if (data.stats.size) {
-            this._fsEntriesTotalBytes += data.stats.size;
-          }
-          this._queue.push(task);
+      values() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "value"
+          );
         }
-      } else {
-        this._statQueue.push(task);
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "value"
+        );
       }
-    };
-    Archiver.prototype._finalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      entries() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key+value"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key+value"
+        );
       }
-      this._state.finalizing = true;
-      this._moduleFinalize();
-      this._state.finalizing = false;
-      this._state.finalized = true;
-    };
-    Archiver.prototype._maybeFinalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return false;
+      /**
+       * @param {(value: string, key: string, self: Headers) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
-        return true;
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
+        webidl.brandCheck(this, _Headers);
+        return this[kHeadersList];
       }
-      return false;
     };
-    Archiver.prototype._moduleAppend = function(source, data, callback) {
-      if (this._state.aborted) {
-        callback();
-        return;
+    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      keys: kEnumerableProperty,
+      values: kEnumerableProperty,
+      entries: kEnumerableProperty,
+      forEach: kEnumerableProperty,
+      [Symbol.iterator]: { enumerable: false },
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-      this._module.append(source, data, function(err) {
-        this._task = null;
-        if (this._state.aborted) {
-          this._shutdown();
-          return;
-        }
-        if (err) {
-          this.emit("error", err);
-          setImmediate(callback);
-          return;
-        }
-        this.emit("entry", data);
-        this._entriesProcessedCount++;
-        if (data.stats && data.stats.size) {
-          this._fsEntriesProcessedBytes += data.stats.size;
+    });
+    webidl.converters.HeadersInit = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (V[Symbol.iterator]) {
+          return webidl.converters["sequence>"](V);
         }
-        this.emit("progress", {
-          entries: {
-            total: this._entriesCount,
-            processed: this._entriesProcessedCount
-          },
-          fs: {
-            totalBytes: this._fsEntriesTotalBytes,
-            processedBytes: this._fsEntriesProcessedBytes
-          }
-        });
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._moduleFinalize = function() {
-      if (typeof this._module.finalize === "function") {
-        this._module.finalize();
-      } else if (typeof this._module.end === "function") {
-        this._module.end();
-      } else {
-        this.emit("error", new ArchiverError("NOENDMETHOD"));
+        return webidl.converters["record"](V);
       }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
     };
-    Archiver.prototype._modulePipe = function() {
-      this._module.on("error", this._onModuleError.bind(this));
-      this._module.pipe(this);
-      this._state.modulePiped = true;
+    module2.exports = {
+      fill,
+      Headers,
+      HeadersList
     };
-    Archiver.prototype._moduleSupports = function(key) {
-      if (!this._module.supports || !this._module.supports[key]) {
-        return false;
+  }
+});
+
+// node_modules/undici/lib/fetch/response.js
+var require_response4 = __commonJS({
+  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+    "use strict";
+    var { Headers, HeadersList, fill } = require_headers4();
+    var { extractBody, cloneBody, mixinBody } = require_body3();
+    var util = require_util24();
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode
+    } = require_util25();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      DOMException: DOMException2
+    } = require_constants21();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { FormData: FormData2 } = require_formdata3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { types } = require("util");
+    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kState] = makeNetworkError();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        return responseObject;
       }
-      return this._module.supports[key];
-    };
-    Archiver.prototype._moduleUnpipe = function() {
-      this._module.unpipe(this);
-      this._state.modulePiped = false;
-    };
-    Archiver.prototype._normalizeEntryData = function(data, stats) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        date: null,
-        mode: null,
-        prefix: null,
-        sourcePath: null,
-        stats: false
-      });
-      if (stats && data.stats === false) {
-        data.stats = stats;
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
+        }
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "response";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
       }
-      var isDir = data.type === "directory";
-      if (data.name) {
-        if (typeof data.prefix === "string" && "" !== data.prefix) {
-          data.name = data.prefix + "/" + data.name;
-          data.prefix = null;
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        const relevantRealm = { settingsObject: {} };
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, getGlobalOrigin());
+        } catch (err) {
+          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
+            cause: err
+          });
         }
-        data.name = util.sanitizePath(data.name);
-        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError("Invalid status code " + status);
         }
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value);
+        return responseObject;
       }
-      if (typeof data.mode === "number") {
-        if (win32) {
-          data.mode &= 511;
-        } else {
-          data.mode &= 4095;
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
         }
-      } else if (data.stats && data.mode === null) {
-        if (win32) {
-          data.mode = data.stats.mode & 511;
-        } else {
-          data.mode = data.stats.mode & 4095;
+        init = webidl.converters.ResponseInit(init);
+        this[kRealm] = { settingsObject: {} };
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kGuard] = "response";
+        this[kHeaders][kHeadersList] = this[kState].headersList;
+        this[kHeaders][kRealm] = this[kRealm];
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
-        if (win32 && isDir) {
-          data.mode = 493;
+        initializeResponse(this, init, bodyWithType);
+      }
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
+      }
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url = urlList[urlList.length - 1] ?? null;
+        if (url === null) {
+          return "";
         }
-      } else if (data.mode === null) {
-        data.mode = isDir ? 493 : 420;
+        return URLSerializer(url, true);
       }
-      if (data.stats && data.date === null) {
-        data.date = data.stats.mtime;
-      } else {
-        data.date = util.dateify(data.date);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      return data;
-    };
-    Archiver.prototype._onModuleError = function(err) {
-      this.emit("error", err);
-    };
-    Archiver.prototype._onQueueDrain = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-    };
-    Archiver.prototype._onQueueTask = function(task, callback) {
-      var fullCallback = () => {
-        if (task.data.callback) {
-          task.data.callback();
-        }
-        callback();
-      };
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        fullCallback();
-        return;
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      this._task = task;
-      this._moduleAppend(task.source, task.data, fullCallback);
-    };
-    Archiver.prototype._onStatQueueTask = function(task, callback) {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        callback();
-        return;
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-      fs3.lstat(task.filepath, function(err, stats) {
-        if (this._state.aborted) {
-          setImmediate(callback);
-          return;
-        }
-        if (err) {
-          this._entriesCount--;
-          this.emit("warning", err);
-          setImmediate(callback);
-          return;
-        }
-        task = this._updateQueueTaskWithStats(task, stats);
-        if (task) {
-          if (stats.size) {
-            this._fsEntriesTotalBytes += stats.size;
-          }
-          this._queue.push(task);
-        }
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._shutdown = function() {
-      this._moduleUnpipe();
-      this.end();
-    };
-    Archiver.prototype._transform = function(chunk, encoding, callback) {
-      if (chunk) {
-        this._pointer += chunk.length;
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      callback(null, chunk);
-    };
-    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
-      if (stats.isFile()) {
-        task.data.type = "file";
-        task.data.sourceType = "stream";
-        task.source = util.lazyReadStream(task.filepath);
-      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
-        task.data.name = util.trailingSlashIt(task.data.name);
-        task.data.type = "directory";
-        task.data.sourcePath = util.trailingSlashIt(task.filepath);
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
-        var linkPath = fs3.readlinkSync(task.filepath);
-        var dirName = path4.dirname(task.filepath);
-        task.data.type = "symlink";
-        task.data.linkname = path4.relative(dirName, path4.resolve(dirName, linkPath));
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else {
-        if (stats.isDirectory()) {
-          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
-        } else if (stats.isSymbolicLink()) {
-          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
-        } else {
-          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
-        }
-        return null;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      task.data = this._normalizeEntryData(task.data, stats);
-      return task;
-    };
-    Archiver.prototype.abort = function() {
-      if (this._state.aborted || this._state.finalized) {
-        return this;
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (this.bodyUsed || this.body && this.body.locked) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
+        }
+        const clonedResponse = cloneResponse(this[kState]);
+        const clonedResponseObject = new _Response();
+        clonedResponseObject[kState] = clonedResponse;
+        clonedResponseObject[kRealm] = this[kRealm];
+        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
+        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        return clonedResponseObject;
       }
-      this._abort();
-      return this;
     };
-    Archiver.prototype.append = function(source, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
-      }
-      data = this._normalizeEntryData(data);
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
-        return this;
+    mixinBody(Response);
+    Object.defineProperties(Response.prototype, {
+      type: kEnumerableProperty,
+      url: kEnumerableProperty,
+      status: kEnumerableProperty,
+      ok: kEnumerableProperty,
+      redirected: kEnumerableProperty,
+      statusText: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Response",
+        configurable: true
       }
-      if (data.type === "directory" && !this._moduleSupports("directory")) {
-        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
-        return this;
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        data.sourceType = "buffer";
-      } else if (util.isStream(source)) {
-        data.sourceType = "stream";
-      } else {
-        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
-        return this;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(response.body);
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source
+      return newResponse;
+    }
+    function makeResponse(init) {
+      return {
+        aborted: false,
+        rangeRequested: false,
+        timingAllowPassed: false,
+        requestIncludesCredentials: false,
+        type: "default",
+        status: 200,
+        timingInfo: null,
+        cacheState: "",
+        statusText: "",
+        ...init,
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
+        urlList: init.urlList ? [...init.urlList] : []
+      };
+    }
+    function makeNetworkError(reason) {
+      const isError = isErrorLike(reason);
+      return makeResponse({
+        type: "error",
+        status: 0,
+        error: isError ? reason : new Error(reason ? String(reason) : reason),
+        aborted: reason && reason.name === "AbortError"
       });
-      return this;
-    };
-    Archiver.prototype.directory = function(dirpath, destpath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    function makeFilteredResponse(response, state) {
+      state = {
+        internalResponse: response,
+        ...state
+      };
+      return new Proxy(response, {
+        get(target, p) {
+          return p in state ? state[p] : target[p];
+        },
+        set(target, p, value) {
+          assert(!(p in state));
+          target[p] = value;
+          return true;
+        }
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
+      } else {
+        assert(false);
       }
-      if (typeof dirpath !== "string" || dirpath.length === 0) {
-        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
-        return this;
+    }
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+    }
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      this._pending++;
-      if (destpath === false) {
-        destpath = "";
-      } else if (typeof destpath !== "string") {
-        destpath = dirpath;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      var dataFunction = false;
-      if (typeof data === "function") {
-        dataFunction = data;
-        data = {};
-      } else if (typeof data !== "object") {
-        data = {};
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      var globOptions = {
-        stat: true,
-        dot: true
-      };
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var ignoreMatch = false;
-        var entryData = Object.assign({}, data);
-        entryData.name = match.relative;
-        entryData.prefix = destpath;
-        entryData.stats = match.stat;
-        entryData.callback = globber.resume.bind(globber);
-        try {
-          if (dataFunction) {
-            entryData = dataFunction(entryData);
-            if (entryData === false) {
-              ignoreMatch = true;
-            } else if (typeof entryData !== "object") {
-              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
-            }
-          }
-        } catch (e) {
-          this.emit("error", e);
-          return;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: "Invalid response status code " + response.status
+          });
         }
-        if (ignoreMatch) {
-          globber.resume();
-          return;
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
+          response[kState].headersList.append("content-type", body.type);
         }
-        this._append(match.absolute, entryData);
       }
-      var globber = glob2(dirpath, globOptions);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
-    };
-    Archiver.prototype.file = function(filepath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream2
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
-        return this;
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, { strict: false });
       }
-      this._append(filepath, data);
-      return this;
-    };
-    Archiver.prototype.glob = function(pattern, options, data) {
-      this._pending++;
-      options = util.defaults(options, {
-        stat: true,
-        pattern
-      });
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
+        return webidl.converters.BufferSource(V);
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, { strict: false });
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var entryData = Object.assign({}, data);
-        entryData.callback = globber.resume.bind(globber);
-        entryData.stats = match.stat;
-        entryData.name = match.relative;
-        this._append(match.absolute, entryData);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V);
       }
-      var globber = glob2(options.cwd || ".", options);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
+      return webidl.converters.DOMString(V);
     };
-    Archiver.prototype.finalize = function() {
-      if (this._state.aborted) {
-        var abortedError = new ArchiverError("ABORTED");
-        this.emit("error", abortedError);
-        return Promise.reject(abortedError);
+    webidl.converters.BodyInit = function(V) {
+      if (V instanceof ReadableStream2) {
+        return webidl.converters.ReadableStream(V);
       }
-      if (this._state.finalize) {
-        var finalizingError = new ArchiverError("FINALIZING");
-        this.emit("error", finalizingError);
-        return Promise.reject(finalizingError);
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      this._state.finalize = true;
-      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      return webidl.converters.XMLHttpRequestBodyInit(V);
+    };
+    webidl.converters.ResponseInit = webidl.dictionaryConverter([
+      {
+        key: "status",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: 200
+      },
+      {
+        key: "statusText",
+        converter: webidl.converters.ByteString,
+        defaultValue: ""
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
       }
-      var self2 = this;
-      return new Promise(function(resolve3, reject) {
-        var errored;
-        self2._module.on("end", function() {
-          if (!errored) {
-            resolve3();
+    ]);
+    module2.exports = {
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/request.js
+var require_request6 = __commonJS({
+  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+    "use strict";
+    var { extractBody, mixinBody, cloneBody } = require_body3();
+    var { Headers, fill: fillHeaders, HeadersList } = require_headers4();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var util = require_util24();
+    var {
+      isValidHTTPToken,
+      sameOrigin,
+      normalizeMethod,
+      makePolicyContainer,
+      normalizeMethodRecord
+    } = require_util25();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants21();
+    var { kEnumerableProperty } = util;
+    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
+    var TransformStream2 = globalThis.TransformStream;
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        if (input === kConstruct) {
+          return;
+        }
+        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
+        input = webidl.converters.RequestInfo(input);
+        init = webidl.converters.RequestInit(init);
+        this[kRealm] = {
+          settingsObject: {
+            baseUrl: getGlobalOrigin(),
+            get origin() {
+              return this.baseUrl?.origin;
+            },
+            policyContainer: makePolicyContainer()
           }
+        };
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = this[kRealm].settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } catch (err) {
+            throw new TypeError("Failed to parse URL from " + input, { cause: err });
+          }
+          if (parsedURL.username || parsedURL.password) {
+            throw new TypeError(
+              "Request cannot be constructed from a URL that includes credentials: " + input
+            );
+          }
+          request2 = makeRequest({ urlList: [parsedURL] });
+          fallbackMode = "cors";
+        } else {
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
+        }
+        const origin = this[kRealm].settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
+        }
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
+        }
+        if ("window" in init) {
+          window2 = "no-window";
+        }
+        request2 = makeRequest({
+          // URL request’s URL.
+          // undici implementation note: this is set as the first item in request's urlList in makeRequest
+          // method request’s method.
+          method: request2.method,
+          // header list A copy of request’s header list.
+          // undici implementation note: headersList is cloned in makeRequest
+          headersList: request2.headersList,
+          // unsafe-request flag Set.
+          unsafeRequest: request2.unsafeRequest,
+          // client This’s relevant settings object.
+          client: this[kRealm].settingsObject,
+          // window window.
+          window: window2,
+          // priority request’s priority.
+          priority: request2.priority,
+          // origin request’s origin. The propagation of the origin is only significant for navigation requests
+          // being handled by a service worker. In this scenario a request can have an origin that is different
+          // from the current client.
+          origin: request2.origin,
+          // referrer request’s referrer.
+          referrer: request2.referrer,
+          // referrer policy request’s referrer policy.
+          referrerPolicy: request2.referrerPolicy,
+          // mode request’s mode.
+          mode: request2.mode,
+          // credentials mode request’s credentials mode.
+          credentials: request2.credentials,
+          // cache mode request’s cache mode.
+          cache: request2.cache,
+          // redirect mode request’s redirect mode.
+          redirect: request2.redirect,
+          // integrity metadata request’s integrity metadata.
+          integrity: request2.integrity,
+          // keepalive request’s keepalive.
+          keepalive: request2.keepalive,
+          // reload-navigation flag request’s reload-navigation flag.
+          reloadNavigation: request2.reloadNavigation,
+          // history-navigation flag request’s history-navigation flag.
+          historyNavigation: request2.historyNavigation,
+          // URL list A clone of request’s URL list.
+          urlList: [...request2.urlList]
         });
-        self2._module.on("error", function(err) {
-          errored = true;
-          reject(err);
-        });
-      });
-    };
-    Archiver.prototype.setFormat = function(format) {
-      if (this._format) {
-        this.emit("error", new ArchiverError("FORMATSET"));
-        return this;
+        const initHasKey = Object.keys(init).length !== 0;
+        if (initHasKey) {
+          if (request2.mode === "navigate") {
+            request2.mode = "same-origin";
+          }
+          request2.reloadNavigation = false;
+          request2.historyNavigation = false;
+          request2.origin = "client";
+          request2.referrer = "client";
+          request2.referrerPolicy = "";
+          request2.url = request2.urlList[request2.urlList.length - 1];
+          request2.urlList = [request2.url];
+        }
+        if (init.referrer !== void 0) {
+          const referrer = init.referrer;
+          if (referrer === "") {
+            request2.referrer = "no-referrer";
+          } else {
+            let parsedReferrer;
+            try {
+              parsedReferrer = new URL(referrer, baseUrl);
+            } catch (err) {
+              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
+            }
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
+              request2.referrer = "client";
+            } else {
+              request2.referrer = parsedReferrer;
+            }
+          }
+        }
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
+        }
+        let mode;
+        if (init.mode !== void 0) {
+          mode = init.mode;
+        } else {
+          mode = fallbackMode;
+        }
+        if (mode === "navigate") {
+          throw webidl.errors.exception({
+            header: "Request constructor",
+            message: "invalid request mode navigate."
+          });
+        }
+        if (mode != null) {
+          request2.mode = mode;
+        }
+        if (init.credentials !== void 0) {
+          request2.credentials = init.credentials;
+        }
+        if (init.cache !== void 0) {
+          request2.cache = init.cache;
+        }
+        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
+          throw new TypeError(
+            "'only-if-cached' can be set only with 'same-origin' mode"
+          );
+        }
+        if (init.redirect !== void 0) {
+          request2.redirect = init.redirect;
+        }
+        if (init.integrity != null) {
+          request2.integrity = String(init.integrity);
+        }
+        if (init.keepalive !== void 0) {
+          request2.keepalive = Boolean(init.keepalive);
+        }
+        if (init.method !== void 0) {
+          let method = init.method;
+          if (!isValidHTTPToken(method)) {
+            throw new TypeError(`'${method}' is not a valid HTTP method.`);
+          }
+          if (forbiddenMethodsSet.has(method.toUpperCase())) {
+            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          }
+          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
+          request2.method = method;
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        this[kSignal][kRealm] = this[kRealm];
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            throw new TypeError(
+              "Failed to construct 'Request': member signal is not of type AbortSignal."
+            );
+          }
+          if (signal.aborted) {
+            ac.abort(signal.reason);
+          } else {
+            this[kAbortController] = ac;
+            const acRef = new WeakRef(ac);
+            const abort = function() {
+              const ac2 = acRef.deref();
+              if (ac2 !== void 0) {
+                ac2.abort(this.reason);
+              }
+            };
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort });
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kHeadersList] = request2.headersList;
+        this[kHeaders][kGuard] = "request";
+        this[kHeaders][kRealm] = this[kRealm];
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          this[kHeaders][kGuard] = "request-no-cors";
+        }
+        if (initHasKey) {
+          const headersList = this[kHeaders][kHeadersList];
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const [key, val] of headers) {
+              headersList.append(key, val);
+            }
+            headersList.cookies = headers.cookies;
+          } else {
+            fillHeaders(this[kHeaders], headers);
+          }
+        }
+        const inputBody = input instanceof _Request ? input[kState].body : null;
+        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
+          throw new TypeError("Request with GET/HEAD method cannot have body.");
+        }
+        let initBody = null;
+        if (init.body != null) {
+          const [extractedBody, contentType] = extractBody(
+            init.body,
+            request2.keepalive
+          );
+          initBody = extractedBody;
+          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
+            this[kHeaders].append("content-type", contentType);
+          }
+        }
+        const inputOrInitBody = initBody ?? inputBody;
+        if (inputOrInitBody != null && inputOrInitBody.source == null) {
+          if (initBody != null && init.duplex == null) {
+            throw new TypeError("RequestInit: duplex option is required when sending a body.");
+          }
+          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
+            throw new TypeError(
+              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
+            );
+          }
+          request2.useCORSPreflightFlag = true;
+        }
+        let finalBody = inputOrInitBody;
+        if (initBody == null && inputBody != null) {
+          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          if (!TransformStream2) {
+            TransformStream2 = require("stream/web").TransformStream;
+          }
+          const identityTransform = new TransformStream2();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
+        }
+        this[kState].body = finalBody;
+      }
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      this._format = format;
-      return this;
-    };
-    Archiver.prototype.setModule = function(module3) {
-      if (this._state.aborted) {
-        this.emit("error", new ArchiverError("ABORTED"));
-        return this;
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
       }
-      if (this._state.module) {
-        this.emit("error", new ArchiverError("MODULESET"));
-        return this;
+      // Returns a Headers object consisting of the headers associated with request.
+      // Note that headers added in the network layer by the user agent will not
+      // be accounted for in this object, e.g., the "Host" header.
+      get headers() {
+        webidl.brandCheck(this, _Request);
+        return this[kHeaders];
       }
-      this._module = module3;
-      this._modulePipe();
-      return this;
-    };
-    Archiver.prototype.symlink = function(filepath, target, mode) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
-        return this;
+      // Returns the referrer of request. Its value can be a same-origin URL if
+      // explicitly set in init, the empty string to indicate no referrer, and
+      // "about:client" when defaulting to the global’s default. This is used
+      // during fetching to determine the value of the `Referer` header of the
+      // request being made.
+      get referrer() {
+        webidl.brandCheck(this, _Request);
+        if (this[kState].referrer === "no-referrer") {
+          return "";
+        }
+        if (this[kState].referrer === "client") {
+          return "about:client";
+        }
+        return this[kState].referrer.toString();
       }
-      if (typeof target !== "string" || target.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
-        return this;
+      // Returns the referrer policy associated with request.
+      // This is used during fetching to compute the value of the request’s
+      // referrer.
+      get referrerPolicy() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].referrerPolicy;
       }
-      if (!this._moduleSupports("symlink")) {
-        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
-        return this;
+      // Returns the mode associated with request, which is a string indicating
+      // whether the request will use CORS, or will be restricted to same-origin
+      // URLs.
+      get mode() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].mode;
       }
-      var data = {};
-      data.type = "symlink";
-      data.name = filepath.replace(/\\/g, "/");
-      data.linkname = target.replace(/\\/g, "/");
-      data.sourceType = "buffer";
-      if (typeof mode === "number") {
-        data.mode = mode;
+      // Returns the credentials mode associated with request,
+      // which is a string indicating whether credentials will be sent with the
+      // request always, never, or only when sent to a same-origin URL.
+      get credentials() {
+        return this[kState].credentials;
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source: Buffer.concat([])
-      });
-      return this;
-    };
-    Archiver.prototype.pointer = function() {
-      return this._pointer;
-    };
-    Archiver.prototype.use = function(plugin) {
-      this._streams.push(plugin);
-      return this;
-    };
-    module2.exports = Archiver;
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-entry.js
-var require_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
-    var ArchiveEntry = module2.exports = function() {
-    };
-    ArchiveEntry.prototype.getName = function() {
-    };
-    ArchiveEntry.prototype.getSize = function() {
-    };
-    ArchiveEntry.prototype.getLastModifiedDate = function() {
-    };
-    ArchiveEntry.prototype.isDirectory = function() {
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/util.js
-var require_util21 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
-    var util = module2.exports = {};
-    util.dateToDos = function(d, forceLocalTime) {
-      forceLocalTime = forceLocalTime || false;
-      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
-      if (year < 1980) {
-        return 2162688;
-      } else if (year >= 2044) {
-        return 2141175677;
+      // Returns the cache mode associated with request,
+      // which is a string indicating how the request will
+      // interact with the browser’s cache when fetching.
+      get cache() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].cache;
       }
-      var val = {
-        year,
-        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
-        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
-        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
-        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
-        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
-      };
-      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
-    };
-    util.dosToDate = function(dos) {
-      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
-    };
-    util.fromDosTime = function(buf) {
-      return util.dosToDate(buf.readUInt32LE(0));
-    };
-    util.getEightBytes = function(v) {
-      var buf = Buffer.alloc(8);
-      buf.writeUInt32LE(v % 4294967296, 0);
-      buf.writeUInt32LE(v / 4294967296 | 0, 4);
-      return buf;
-    };
-    util.getShortBytes = function(v) {
-      var buf = Buffer.alloc(2);
-      buf.writeUInt16LE((v & 65535) >>> 0, 0);
-      return buf;
-    };
-    util.getShortBytesValue = function(buf, offset) {
-      return buf.readUInt16LE(offset);
-    };
-    util.getLongBytes = function(v) {
-      var buf = Buffer.alloc(4);
-      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
-      return buf;
-    };
-    util.getLongBytesValue = function(buf, offset) {
-      return buf.readUInt32LE(offset);
-    };
-    util.toDosTime = function(d) {
-      return util.getLongBytes(util.dateToDos(d));
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
-var require_general_purpose_bit = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
-    var zipUtil = require_util21();
-    var DATA_DESCRIPTOR_FLAG = 1 << 3;
-    var ENCRYPTION_FLAG = 1 << 0;
-    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
-    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
-    var STRONG_ENCRYPTION_FLAG = 1 << 6;
-    var UFT8_NAMES_FLAG = 1 << 11;
-    var GeneralPurposeBit = module2.exports = function() {
-      if (!(this instanceof GeneralPurposeBit)) {
-        return new GeneralPurposeBit();
+      // Returns the redirect mode associated with request,
+      // which is a string indicating how redirects for the
+      // request will be handled during fetching. A request
+      // will follow redirects by default.
+      get redirect() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].redirect;
       }
-      this.descriptor = false;
-      this.encryption = false;
-      this.utf8 = false;
-      this.numberOfShannonFanoTrees = 0;
-      this.strongEncryption = false;
-      this.slidingDictionarySize = 0;
-      return this;
-    };
-    GeneralPurposeBit.prototype.encode = function() {
-      return zipUtil.getShortBytes(
-        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
-      );
-    };
-    GeneralPurposeBit.prototype.parse = function(buf, offset) {
-      var flag = zipUtil.getShortBytesValue(buf, offset);
-      var gbp = new GeneralPurposeBit();
-      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
-      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
-      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
-      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
-      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
-      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
-      return gbp;
-    };
-    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
-      this.numberOfShannonFanoTrees = n;
-    };
-    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
-      return this.numberOfShannonFanoTrees;
-    };
-    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
-      this.slidingDictionarySize = n;
-    };
-    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
-      return this.slidingDictionarySize;
-    };
-    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
-      this.descriptor = b;
-    };
-    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
-      return this.descriptor;
-    };
-    GeneralPurposeBit.prototype.useEncryption = function(b) {
-      this.encryption = b;
-    };
-    GeneralPurposeBit.prototype.usesEncryption = function() {
-      return this.encryption;
-    };
-    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
-      this.strongEncryption = b;
-    };
-    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
-      return this.strongEncryption;
-    };
-    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
-      this.utf8 = b;
-    };
-    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
-      return this.utf8;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
-var require_unix_stat = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
-    module2.exports = {
-      /**
-       * Bits used for permissions (and sticky bit)
-       */
-      PERM_MASK: 4095,
-      // 07777
-      /**
-       * Bits used to indicate the filesystem object type.
-       */
-      FILE_TYPE_FLAG: 61440,
-      // 0170000
-      /**
-       * Indicates symbolic links.
-       */
-      LINK_FLAG: 40960,
-      // 0120000
-      /**
-       * Indicates plain files.
-       */
-      FILE_FLAG: 32768,
-      // 0100000
-      /**
-       * Indicates directories.
-       */
-      DIR_FLAG: 16384,
-      // 040000
-      // ----------------------------------------------------------
-      // somewhat arbitrary choices that are quite common for shared
-      // installations
-      // -----------------------------------------------------------
-      /**
-       * Default permissions for symbolic links.
-       */
-      DEFAULT_LINK_PERM: 511,
-      // 0777
-      /**
-       * Default permissions for directories.
-       */
-      DEFAULT_DIR_PERM: 493,
-      // 0755
-      /**
-       * Default permissions for plain files.
-       */
-      DEFAULT_FILE_PERM: 420
-      // 0644
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/constants.js
-var require_constants18 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
-    module2.exports = {
-      WORD: 4,
-      DWORD: 8,
-      EMPTY: Buffer.alloc(0),
-      SHORT: 2,
-      SHORT_MASK: 65535,
-      SHORT_SHIFT: 16,
-      SHORT_ZERO: Buffer.from(Array(2)),
-      LONG: 4,
-      LONG_ZERO: Buffer.from(Array(4)),
-      MIN_VERSION_INITIAL: 10,
-      MIN_VERSION_DATA_DESCRIPTOR: 20,
-      MIN_VERSION_ZIP64: 45,
-      VERSION_MADEBY: 45,
-      METHOD_STORED: 0,
-      METHOD_DEFLATED: 8,
-      PLATFORM_UNIX: 3,
-      PLATFORM_FAT: 0,
-      SIG_LFH: 67324752,
-      SIG_DD: 134695760,
-      SIG_CFH: 33639248,
-      SIG_EOCD: 101010256,
-      SIG_ZIP64_EOCD: 101075792,
-      SIG_ZIP64_EOCD_LOC: 117853008,
-      ZIP64_MAGIC_SHORT: 65535,
-      ZIP64_MAGIC: 4294967295,
-      ZIP64_EXTRA_ID: 1,
-      ZLIB_NO_COMPRESSION: 0,
-      ZLIB_BEST_SPEED: 1,
-      ZLIB_BEST_COMPRESSION: 9,
-      ZLIB_DEFAULT_COMPRESSION: -1,
-      MODE_MASK: 4095,
-      DEFAULT_FILE_MODE: 33188,
-      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-      DEFAULT_DIR_MODE: 16877,
-      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
-      EXT_FILE_ATTR_DIR: 1106051088,
-      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
-      EXT_FILE_ATTR_FILE: 2175008800,
-      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
-      // Unix file types
-      S_IFMT: 61440,
-      // 0170000 type of file mask
-      S_IFIFO: 4096,
-      // 010000 named pipe (fifo)
-      S_IFCHR: 8192,
-      // 020000 character special
-      S_IFDIR: 16384,
-      // 040000 directory
-      S_IFBLK: 24576,
-      // 060000 block special
-      S_IFREG: 32768,
-      // 0100000 regular
-      S_IFLNK: 40960,
-      // 0120000 symbolic link
-      S_IFSOCK: 49152,
-      // 0140000 socket
-      // DOS file type flags
-      S_DOS_A: 32,
-      // 040 Archive
-      S_DOS_D: 16,
-      // 020 Directory
-      S_DOS_V: 8,
-      // 010 Volume
-      S_DOS_S: 4,
-      // 04 System
-      S_DOS_H: 2,
-      // 02 Hidden
-      S_DOS_R: 1
-      // 01 Read Only
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
-var require_zip_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var normalizePath = require_normalize_path();
-    var ArchiveEntry = require_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var UnixStat = require_unix_stat();
-    var constants = require_constants18();
-    var zipUtil = require_util21();
-    var ZipArchiveEntry = module2.exports = function(name) {
-      if (!(this instanceof ZipArchiveEntry)) {
-        return new ZipArchiveEntry(name);
+      // Returns request’s subresource integrity metadata, which is a
+      // cryptographic hash of the resource being fetched. Its value
+      // consists of multiple hashes separated by whitespace. [SRI]
+      get integrity() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].integrity;
       }
-      ArchiveEntry.call(this);
-      this.platform = constants.PLATFORM_FAT;
-      this.method = -1;
-      this.name = null;
-      this.size = 0;
-      this.csize = 0;
-      this.gpb = new GeneralPurposeBit();
-      this.crc = 0;
-      this.time = -1;
-      this.minver = constants.MIN_VERSION_INITIAL;
-      this.mode = -1;
-      this.extra = null;
-      this.exattr = 0;
-      this.inattr = 0;
-      this.comment = null;
-      if (name) {
-        this.setName(name);
+      // Returns a boolean indicating whether or not request can outlive the
+      // global in which it was created.
+      get keepalive() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].keepalive;
       }
-    };
-    inherits(ZipArchiveEntry, ArchiveEntry);
-    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getComment = function() {
-      return this.comment !== null ? this.comment : "";
-    };
-    ZipArchiveEntry.prototype.getCompressedSize = function() {
-      return this.csize;
-    };
-    ZipArchiveEntry.prototype.getCrc = function() {
-      return this.crc;
-    };
-    ZipArchiveEntry.prototype.getExternalAttributes = function() {
-      return this.exattr;
-    };
-    ZipArchiveEntry.prototype.getExtra = function() {
-      return this.extra !== null ? this.extra : constants.EMPTY;
-    };
-    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
-      return this.gpb;
-    };
-    ZipArchiveEntry.prototype.getInternalAttributes = function() {
-      return this.inattr;
-    };
-    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
-      return this.getTime();
-    };
-    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getMethod = function() {
-      return this.method;
-    };
-    ZipArchiveEntry.prototype.getName = function() {
-      return this.name;
-    };
-    ZipArchiveEntry.prototype.getPlatform = function() {
-      return this.platform;
-    };
-    ZipArchiveEntry.prototype.getSize = function() {
-      return this.size;
-    };
-    ZipArchiveEntry.prototype.getTime = function() {
-      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
-    };
-    ZipArchiveEntry.prototype.getTimeDos = function() {
-      return this.time !== -1 ? this.time : 0;
-    };
-    ZipArchiveEntry.prototype.getUnixMode = function() {
-      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
-    };
-    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
-      return this.minver;
-    };
-    ZipArchiveEntry.prototype.setComment = function(comment) {
-      if (Buffer.byteLength(comment) !== comment.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      this.comment = comment;
-    };
-    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry compressed size");
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-foward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
+      }
+      // Returns the signal associated with request, which is an AbortSignal
+      // object indicating whether or not request has been aborted, and its
+      // abort event handler.
+      get signal() {
+        webidl.brandCheck(this, _Request);
+        return this[kSignal];
+      }
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      this.csize = size;
-    };
-    ZipArchiveEntry.prototype.setCrc = function(crc) {
-      if (crc < 0) {
-        throw new Error("invalid entry crc32");
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      this.crc = crc;
-    };
-    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
-      this.exattr = attr >>> 0;
-    };
-    ZipArchiveEntry.prototype.setExtra = function(extra) {
-      this.extra = extra;
-    };
-    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
-      if (!(gpb instanceof GeneralPurposeBit)) {
-        throw new Error("invalid entry GeneralPurposeBit");
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-      this.gpb = gpb;
-    };
-    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
-      this.inattr = attr;
-    };
-    ZipArchiveEntry.prototype.setMethod = function(method) {
-      if (method < 0) {
-        throw new Error("invalid entry compression method");
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (this.bodyUsed || this.body?.locked) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const clonedRequestObject = new _Request(kConstruct);
+        clonedRequestObject[kState] = clonedRequest;
+        clonedRequestObject[kRealm] = this[kRealm];
+        clonedRequestObject[kHeaders] = new Headers(kConstruct);
+        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
+        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          util.addAbortListener(
+            this.signal,
+            () => {
+              ac.abort(this.signal.reason);
+            }
+          );
+        }
+        clonedRequestObject[kSignal] = ac.signal;
+        return clonedRequestObject;
       }
-      this.method = method;
     };
-    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
-      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-      if (prependSlash) {
-        name = `/${name}`;
+    mixinBody(Request);
+    function makeRequest(init) {
+      const request2 = {
+        method: "GET",
+        localURLsOnly: false,
+        unsafeRequest: false,
+        body: null,
+        client: null,
+        reservedClient: null,
+        replacesClientId: "",
+        window: "client",
+        keepalive: false,
+        serviceWorkers: "all",
+        initiator: "",
+        destination: "",
+        priority: null,
+        origin: "client",
+        policyContainer: "client",
+        referrer: "client",
+        referrerPolicy: "",
+        mode: "no-cors",
+        useCORSPreflightFlag: false,
+        credentials: "same-origin",
+        useCredentials: false,
+        cache: "default",
+        redirect: "follow",
+        integrity: "",
+        cryptoGraphicsNonceMetadata: "",
+        parserMetadata: "",
+        reloadNavigation: false,
+        historyNavigation: false,
+        userActivation: false,
+        taintedOrigin: false,
+        redirectCount: 0,
+        responseTainting: "basic",
+        preventNoCacheCacheControlHeaderModification: false,
+        done: false,
+        timingAllowFailed: false,
+        ...init,
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+      request2.url = request2.urlList[0];
+      return request2;
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(request2.body);
       }
-      if (Buffer.byteLength(name) !== name.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      return newRequest;
+    }
+    Object.defineProperties(Request.prototype, {
+      method: kEnumerableProperty,
+      url: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      signal: kEnumerableProperty,
+      duplex: kEnumerableProperty,
+      destination: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      isHistoryNavigation: kEnumerableProperty,
+      isReloadNavigation: kEnumerableProperty,
+      keepalive: kEnumerableProperty,
+      integrity: kEnumerableProperty,
+      cache: kEnumerableProperty,
+      credentials: kEnumerableProperty,
+      attribute: kEnumerableProperty,
+      referrerPolicy: kEnumerableProperty,
+      referrer: kEnumerableProperty,
+      mode: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Request",
+        configurable: true
       }
-      this.name = name;
-    };
-    ZipArchiveEntry.prototype.setPlatform = function(platform) {
-      this.platform = platform;
-    };
-    ZipArchiveEntry.prototype.setSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry size");
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      this.size = size;
-    };
-    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
-      if (!(time instanceof Date)) {
-        throw new Error("invalid entry time");
+      if (V instanceof Request) {
+        return webidl.converters.Request(V);
       }
-      this.time = zipUtil.dateToDos(time, forceLocalTime);
-    };
-    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
-      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
-      var extattr = 0;
-      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
-      this.setExternalAttributes(extattr);
-      this.mode = mode & constants.MODE_MASK;
-      this.platform = constants.PLATFORM_UNIX;
-    };
-    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
-      this.minver = minver;
-    };
-    ZipArchiveEntry.prototype.isDirectory = function() {
-      return this.getName().slice(-1) === "/";
-    };
-    ZipArchiveEntry.prototype.isUnixSymlink = function() {
-      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
-    };
-    ZipArchiveEntry.prototype.isZip64 = function() {
-      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
+      return webidl.converters.USVString(V);
     };
+    webidl.converters.AbortSignal = webidl.interfaceConverter(
+      AbortSignal
+    );
+    webidl.converters.RequestInit = webidl.dictionaryConverter([
+      {
+        key: "method",
+        converter: webidl.converters.ByteString
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      },
+      {
+        key: "body",
+        converter: webidl.nullableConverter(
+          webidl.converters.BodyInit
+        )
+      },
+      {
+        key: "referrer",
+        converter: webidl.converters.USVString
+      },
+      {
+        key: "referrerPolicy",
+        converter: webidl.converters.DOMString,
+        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
+        allowedValues: referrerPolicy
+      },
+      {
+        key: "mode",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#concept-request-mode
+        allowedValues: requestMode
+      },
+      {
+        key: "credentials",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcredentials
+        allowedValues: requestCredentials
+      },
+      {
+        key: "cache",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcache
+        allowedValues: requestCache
+      },
+      {
+        key: "redirect",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestredirect
+        allowedValues: requestRedirect
+      },
+      {
+        key: "integrity",
+        converter: webidl.converters.DOMString
+      },
+      {
+        key: "keepalive",
+        converter: webidl.converters.boolean
+      },
+      {
+        key: "signal",
+        converter: webidl.nullableConverter(
+          (signal) => webidl.converters.AbortSignal(
+            signal,
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
+      }
+    ]);
+    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/compress-commons/node_modules/is-stream/index.js
-var require_is_stream2 = __commonJS({
-  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/index.js
+var require_fetch3 = __commonJS({
+  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
     "use strict";
-    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
-    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
-    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
-    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
-    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
-    module2.exports = isStream;
-  }
-});
-
-// node_modules/compress-commons/lib/util/index.js
-var require_util22 = __commonJS({
-  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var isStream = require_is_stream2();
-    var util = module2.exports = {};
-    util.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (isStream(source) && !source._readableState) {
-        var normalized = new PassThrough();
-        source.pipe(normalized);
-        return normalized;
+    var {
+      Response,
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse
+    } = require_response4();
+    var { Headers } = require_headers4();
+    var { Request, makeRequest } = require_request6();
+    var zlib = require("zlib");
+    var {
+      bytesMatch,
+      makePolicyContainer,
+      clonePolicyContainer,
+      requestBadPort,
+      TAOCheck,
+      appendRequestOriginHeader,
+      responseLocationURL,
+      requestCurrentURL,
+      setRequestReferrerPolicyOnRedirect,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      createOpaqueTimingInfo,
+      appendFetchMetadata,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      determineRequestsReferrer,
+      coarsenedSharedCurrentTime,
+      createDeferredPromise,
+      isBlobLike,
+      sameOrigin,
+      isCancelled,
+      isAborted,
+      isErrorLike,
+      fullyReadBody,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlIsHttpHttpsScheme,
+      urlHasHttpsScheme
+    } = require_util25();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var assert = require("assert");
+    var { safelyExtractBody } = require_body3();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet,
+      DOMException: DOMException2
+    } = require_constants21();
+    var { kHeadersList } = require_symbols11();
+    var EE = require("events");
+    var { Readable, pipeline } = require("stream");
+    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util24();
+    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
+    var { TransformStream: TransformStream2 } = require("stream/web");
+    var { getGlobalDispatcher } = require_global6();
+    var { webidl } = require_webidl3();
+    var { STATUS_CODES } = require("http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var resolveObjectURL;
+    var ReadableStream2 = globalThis.ReadableStream;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
+        this.setMaxListeners(21);
+      }
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
+      }
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException2("The operation was aborted.", "AbortError");
+        }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      return source;
     };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-output-stream.js
-var require_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var isStream = require_is_stream2();
-    var Transform = require_ours().Transform;
-    var ArchiveEntry = require_archive_entry();
-    var util = require_util22();
-    var ArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ArchiveOutputStream)) {
-        return new ArchiveOutputStream(options);
+    function fetch(input, init = {}) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
+      const p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      Transform.call(this, options);
-      this.offset = 0;
-      this._archive = {
-        finish: false,
-        finished: false,
-        processing: false
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
+      }
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
+      }
+      let responseObject = null;
+      const relevantRealm = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+        }
+      );
+      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return Promise.resolve();
+        }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return Promise.resolve();
+        }
+        if (response.type === "error") {
+          p.reject(
+            Object.assign(new TypeError("fetch failed"), { cause: response.error })
+          );
+          return Promise.resolve();
+        }
+        responseObject = new Response();
+        responseObject[kState] = response;
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = response.headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        p.resolve(responseObject);
       };
-    };
-    inherits(ArchiveOutputStream, Transform);
-    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
-      if (err) {
-        this.emit("error", err);
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
+        return;
       }
-    };
-    ArchiveOutputStream.prototype._finish = function(ae) {
-    };
-    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-    };
-    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
-    };
-    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
-      source = source || null;
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+      if (!response.urlList?.length) {
+        return;
       }
-      if (!(ae instanceof ArchiveEntry)) {
-        callback(new Error("not a valid instance of ArchiveEntry"));
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
         return;
       }
-      if (this._archive.finish || this._archive.finished) {
-        callback(new Error("unacceptable entry after finish"));
+      if (timingInfo === null) {
         return;
       }
-      if (this._archive.processing) {
-        callback(new Error("already processing an entry"));
-        return;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
+    }
+    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
+      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
+        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+      }
+    }
+    function abortFetch(p, request2, responseObject, error3) {
+      if (!error3) {
+        error3 = new DOMException2("The operation was aborted.", "AbortError");
       }
-      this._archive.processing = true;
-      this._normalizeEntry(ae);
-      this._entry = ae;
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        this._appendBuffer(ae, source, callback);
-      } else if (isStream(source)) {
-        this._appendStream(ae, source, callback);
-      } else {
-        this._archive.processing = false;
-        callback(new Error("input source must be valid Stream or Buffer instance"));
-        return;
+      p.reject(error3);
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return this;
-    };
-    ArchiveOutputStream.prototype.finish = function() {
-      if (this._archive.processing) {
-        this._archive.finish = true;
+      if (responseObject == null) {
         return;
       }
-      this._finish();
-    };
-    ArchiveOutputStream.prototype.getBytesWritten = function() {
-      return this.offset;
-    };
-    ArchiveOutputStream.prototype.write = function(chunk, cb) {
-      if (chunk) {
-        this.offset += chunk.length;
-      }
-      return Transform.prototype.write.call(this, chunk, cb);
-    };
-  }
-});
-
-// node_modules/crc-32/crc32.js
-var require_crc32 = __commonJS({
-  "node_modules/crc-32/crc32.js"(exports2) {
-    var CRC32;
-    (function(factory) {
-      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
-        if ("object" === typeof exports2) {
-          factory(exports2);
-        } else if ("function" === typeof define && define.amd) {
-          define(function() {
-            var module3 = {};
-            factory(module3);
-            return module3;
-          });
-        } else {
-          factory(CRC32 = {});
-        }
-      } else {
-        factory(CRC32 = {});
-      }
-    })(function(CRC322) {
-      CRC322.version = "1.2.2";
-      function signed_crc_table() {
-        var c = 0, table = new Array(256);
-        for (var n = 0; n != 256; ++n) {
-          c = n;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          table[n] = c;
-        }
-        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      var T0 = signed_crc_table();
-      function slice_by_16_tables(T) {
-        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
-        for (n = 0; n != 256; ++n) table[n] = T[n];
-        for (n = 0; n != 256; ++n) {
-          v = T[n];
-          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
-        }
-        var out = [];
-        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
-        return out;
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher
+      // undici
+    }) {
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      var TT = slice_by_16_tables(T0);
-      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
-      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
-      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
-      function crc32_bstr(bstr, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
-        return ~C;
+      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currenTime
+      });
+      const fetchParams = {
+        controller: new Fetch(dispatcher),
+        request: request2,
+        timingInfo,
+        processRequestBodyChunkLength,
+        processRequestEndOfBody,
+        processResponse,
+        processResponseConsumeBody,
+        processResponseEndOfBody,
+        taskDestination,
+        crossOriginIsolatedCapability
+      };
+      assert(!request2.body || request2.body.stream);
+      if (request2.window === "client") {
+        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
-      function crc32_buf(B, seed) {
-        var C = seed ^ -1, L = B.length - 15, i = 0;
-        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
-        L += 15;
-        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
-        return ~C;
+      if (request2.origin === "client") {
+        request2.origin = request2.client?.origin;
       }
-      function crc32_str(str2, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
-          c = str2.charCodeAt(i++);
-          if (c < 128) {
-            C = C >>> 8 ^ T0[(C ^ c) & 255];
-          } else if (c < 2048) {
-            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          } else if (c >= 55296 && c < 57344) {
-            c = (c & 1023) + 64;
-            d = str2.charCodeAt(i++) & 1023;
-            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
-          } else {
-            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          }
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        return ~C;
       }
-      CRC322.table = T0;
-      CRC322.bstr = crc32_bstr;
-      CRC322.buf = crc32_buf;
-      CRC322.str = crc32_str;
-    });
-  }
-});
-
-// node_modules/crc32-stream/lib/crc32-stream.js
-var require_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require_ours();
-    var crc32 = require_crc32();
-    var CRC32Stream = class extends Transform {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
+      if (!request2.headersList.contains("accept")) {
+        const value = "*/*";
+        request2.headersList.append("accept", value);
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
-        }
-        callback(null, chunk);
+      if (!request2.headersList.contains("accept-language")) {
+        request2.headersList.append("accept-language", "*");
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      if (request2.priority === null) {
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (subresourceSet.has(request2.destination)) {
       }
-      size() {
-        return this.rawSize;
+      mainFetch(fetchParams).catch((err) => {
+        fetchParams.controller.terminate(err);
+      });
+      return fetchParams.controller;
+    }
+    async function mainFetch(fetchParams, recursive = false) {
+      const request2 = fetchParams.request;
+      let response = null;
+      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
+        response = makeNetworkError("local URLs only");
       }
-    };
-    module2.exports = CRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/deflate-crc32-stream.js
-var require_deflate_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { DeflateRaw } = require("zlib");
-    var crc32 = require_crc32();
-    var DeflateCRC32Stream = class extends DeflateRaw {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
-        this.compressedSize = 0;
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
       }
-      push(chunk, encoding) {
-        if (chunk) {
-          this.compressedSize += chunk.length;
-        }
-        return super.push(chunk, encoding);
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
-        }
-        super._transform(chunk, encoding, callback);
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      if (response === null) {
+        response = await (async () => {
+          const currentURL = requestCurrentURL(request2);
+          if (
+            // - request’s current URL’s origin is same origin with request’s origin,
+            //   and request’s response tainting is "basic"
+            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
+            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
+            (request2.mode === "navigate" || request2.mode === "websocket")
+          ) {
+            request2.responseTainting = "basic";
+            return await schemeFetch(fetchParams);
+          }
+          if (request2.mode === "same-origin") {
+            return makeNetworkError('request mode cannot be "same-origin"');
+          }
+          if (request2.mode === "no-cors") {
+            if (request2.redirect !== "follow") {
+              return makeNetworkError(
+                'redirect mode cannot be "follow" for "no-cors" request'
+              );
+            }
+            request2.responseTainting = "opaque";
+            return await schemeFetch(fetchParams);
+          }
+          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
+            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          }
+          request2.responseTainting = "cors";
+          return await httpFetch(fetchParams);
+        })();
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (recursive) {
+        return response;
       }
-      size(compressed = false) {
-        if (compressed) {
-          return this.compressedSize;
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
+        }
+        if (request2.responseTainting === "basic") {
+          response = filterResponse(response, "basic");
+        } else if (request2.responseTainting === "cors") {
+          response = filterResponse(response, "cors");
+        } else if (request2.responseTainting === "opaque") {
+          response = filterResponse(response, "opaque");
         } else {
-          return this.rawSize;
+          assert(false);
         }
       }
-    };
-    module2.exports = DeflateCRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/index.js
-var require_lib3 = __commonJS({
-  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      CRC32Stream: require_crc32_stream(),
-      DeflateCRC32Stream: require_deflate_crc32_stream()
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
-var require_zip_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var crc32 = require_crc32();
-    var { CRC32Stream } = require_lib3();
-    var { DeflateCRC32Stream } = require_lib3();
-    var ArchiveOutputStream = require_archive_output_stream();
-    var ZipArchiveEntry = require_zip_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var constants = require_constants18();
-    var util = require_util22();
-    var zipUtil = require_util21();
-    var ZipArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ZipArchiveOutputStream)) {
-        return new ZipArchiveOutputStream(options);
-      }
-      options = this.options = this._defaults(options);
-      ArchiveOutputStream.call(this, options);
-      this._entry = null;
-      this._entries = [];
-      this._archive = {
-        centralLength: 0,
-        centralOffset: 0,
-        comment: "",
-        finish: false,
-        finished: false,
-        processing: false,
-        forceZip64: options.forceZip64,
-        forceLocalTime: options.forceLocalTime
-      };
-    };
-    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
-    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
-      this._entries.push(ae);
-      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
-        this._writeDataDescriptor(ae);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      this._archive.processing = false;
-      this._entry = null;
-      if (this._archive.finish && !this._archive.finished) {
-        this._finish();
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
       }
-    };
-    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
-      if (source.length === 0) {
-        ae.setMethod(constants.METHOD_STORED);
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+        response = internalResponse = makeNetworkError();
       }
-      var method = ae.getMethod();
-      if (method === constants.METHOD_STORED) {
-        ae.setSize(source.length);
-        ae.setCompressedSize(source.length);
-        ae.setCrc(crc32.buf(source) >>> 0);
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
       }
-      this._writeLocalFileHeader(ae);
-      if (method === constants.METHOD_STORED) {
-        this.write(source);
-        this._afterAppend(ae);
-        callback(null, ae);
-        return;
-      } else if (method === constants.METHOD_DEFLATED) {
-        this._smartStream(ae, callback).end(source);
-        return;
+      if (request2.integrity) {
+        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
+        if (request2.responseTainting === "opaque" || response.body == null) {
+          processBodyError(response.error);
+          return;
+        }
+        const processBody = (bytes) => {
+          if (!bytesMatch(bytes, request2.integrity)) {
+            processBodyError("integrity mismatch");
+            return;
+          }
+          response.body = safelyExtractBody(bytes)[0];
+          fetchFinale(fetchParams, response);
+        };
+        await fullyReadBody(response.body, processBody, processBodyError);
       } else {
-        callback(new Error("compression method " + method + " not implemented"));
-        return;
-      }
-    };
-    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
-      ae.getGeneralPurposeBit().useDataDescriptor(true);
-      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
-      this._writeLocalFileHeader(ae);
-      var smart = this._smartStream(ae, callback);
-      source.once("error", function(err) {
-        smart.emit("error", err);
-        smart.end();
-      });
-      source.pipe(smart);
-    };
-    ZipArchiveOutputStream.prototype._defaults = function(o) {
-      if (typeof o !== "object") {
-        o = {};
-      }
-      if (typeof o.zlib !== "object") {
-        o.zlib = {};
-      }
-      if (typeof o.zlib.level !== "number") {
-        o.zlib.level = constants.ZLIB_BEST_SPEED;
+        fetchFinale(fetchParams, response);
       }
-      o.forceZip64 = !!o.forceZip64;
-      o.forceLocalTime = !!o.forceLocalTime;
-      return o;
-    };
-    ZipArchiveOutputStream.prototype._finish = function() {
-      this._archive.centralOffset = this.offset;
-      this._entries.forEach(function(ae) {
-        this._writeCentralFileHeader(ae);
-      }.bind(this));
-      this._archive.centralLength = this.offset - this._archive.centralOffset;
-      if (this.isZip64()) {
-        this._writeCentralDirectoryZip64();
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
       }
-      this._writeCentralDirectoryEnd();
-      this._archive.processing = false;
-      this._archive.finish = true;
-      this._archive.finished = true;
-      this.end();
-    };
-    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-      if (ae.getMethod() === -1) {
-        ae.setMethod(constants.METHOD_DEFLATED);
+      const { request: request2 } = fetchParams;
+      const { protocol: scheme } = requestCurrentURL(request2);
+      switch (scheme) {
+        case "about:": {
+          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+        }
+        case "blob:": {
+          if (!resolveObjectURL) {
+            resolveObjectURL = require("buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const bodyWithType = safelyExtractBody(blobURLEntryObject);
+          const body = bodyWithType[0];
+          const length = isomorphicEncode(`${body.length}`);
+          const type2 = bodyWithType[1] ?? "";
+          const response = makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-length", { name: "Content-Length", value: length }],
+              ["content-type", { name: "Content-Type", value: type2 }]
+            ]
+          });
+          response.body = body;
+          return Promise.resolve(response);
+        }
+        case "data:": {
+          const currentURL = requestCurrentURL(request2);
+          const dataURLStruct = dataURLProcessor(currentURL);
+          if (dataURLStruct === "failure") {
+            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+          }
+          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
+          return Promise.resolve(makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-type", { name: "Content-Type", value: mimeType }]
+            ],
+            body: safelyExtractBody(dataURLStruct.body)[0]
+          }));
+        }
+        case "file:": {
+          return Promise.resolve(makeNetworkError("not implemented... yet..."));
+        }
+        case "http:":
+        case "https:": {
+          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        }
+        default: {
+          return Promise.resolve(makeNetworkError("unknown scheme"));
+        }
       }
-      if (ae.getMethod() === constants.METHOD_DEFLATED) {
-        ae.getGeneralPurposeBit().useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
       }
-      if (ae.getTime() === -1) {
-        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+    }
+    function fetchFinale(fetchParams, response) {
+      if (response.type === "error") {
+        response.urlList = [fetchParams.request.urlList[0]];
+        response.timingInfo = createOpaqueTimingInfo({
+          startTime: fetchParams.timingInfo.startTime
+        });
       }
-      ae._offsets = {
-        file: 0,
-        data: 0,
-        contents: 0
+      const processResponseEndOfBody = () => {
+        fetchParams.request.done = true;
+        if (fetchParams.processResponseEndOfBody != null) {
+          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        }
       };
-    };
-    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
-      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
-      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
-      var error3 = null;
-      function handleStuff() {
-        var digest = process2.digest().readUInt32BE(0);
-        ae.setCrc(digest);
-        ae.setSize(process2.size());
-        ae.setCompressedSize(process2.size(true));
-        this._afterAppend(ae);
-        callback(error3, ae);
-      }
-      process2.once("end", handleStuff.bind(this));
-      process2.once("error", function(err) {
-        error3 = err;
-      });
-      process2.pipe(this, { end: false });
-      return process2;
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
-      var records = this._entries.length;
-      var size = this._archive.centralLength;
-      var offset = this._archive.centralOffset;
-      if (this.isZip64()) {
-        records = constants.ZIP64_MAGIC_SHORT;
-        size = constants.ZIP64_MAGIC;
-        offset = constants.ZIP64_MAGIC;
-      }
-      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
-      this.write(constants.SHORT_ZERO);
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getLongBytes(size));
-      this.write(zipUtil.getLongBytes(offset));
-      var comment = this.getComment();
-      var commentLength = Buffer.byteLength(comment);
-      this.write(zipUtil.getShortBytes(commentLength));
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
-      this.write(zipUtil.getEightBytes(44));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(constants.LONG_ZERO);
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._archive.centralLength));
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
-      this.write(zipUtil.getLongBytes(1));
-    };
-    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var fileOffset = ae._offsets.file;
-      var size = ae.getSize();
-      var compressedSize = ae.getCompressedSize();
-      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
-        size = constants.ZIP64_MAGIC;
-        compressedSize = constants.ZIP64_MAGIC;
-        fileOffset = constants.ZIP64_MAGIC;
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
-        var extraBuf = Buffer.concat([
-          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
-          zipUtil.getShortBytes(24),
-          zipUtil.getEightBytes(ae.getSize()),
-          zipUtil.getEightBytes(ae.getCompressedSize()),
-          zipUtil.getEightBytes(ae._offsets.file)
-        ], 28);
-        ae.setExtra(extraBuf);
-      }
-      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
-      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      this.write(zipUtil.getLongBytes(compressedSize));
-      this.write(zipUtil.getLongBytes(size));
-      var name = ae.getName();
-      var comment = ae.getComment();
-      var extra = ae.getCentralDirectoryExtra();
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
-        comment = Buffer.from(comment);
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => fetchParams.processResponse(response));
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(zipUtil.getShortBytes(comment.length));
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
-      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
-      this.write(zipUtil.getLongBytes(fileOffset));
-      this.write(name);
-      this.write(extra);
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
-      this.write(zipUtil.getLongBytes(constants.SIG_DD));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      if (ae.isZip64()) {
-        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getEightBytes(ae.getSize()));
+      if (response.body == null) {
+        processResponseEndOfBody();
       } else {
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+        const identityTransformAlgorithm = (chunk, controller) => {
+          controller.enqueue(chunk);
+        };
+        const transformStream = new TransformStream2({
+          start() {
+          },
+          transform: identityTransformAlgorithm,
+          flush: processResponseEndOfBody
+        }, {
+          size() {
+            return 1;
+          }
+        }, {
+          size() {
+            return 1;
+          }
+        });
+        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
       }
-    };
-    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var name = ae.getName();
-      var extra = ae.getLocalFileDataExtra();
-      if (ae.isZip64()) {
-        gpb.useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+      if (fetchParams.processResponseConsumeBody != null) {
+        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
+        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
+        if (response.body == null) {
+          queueMicrotask(() => processBody(null));
+        } else {
+          return fullyReadBody(response.body, processBody, processBodyError);
+        }
+        return Promise.resolve();
       }
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      ae._offsets.file = this.offset;
-      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      ae._offsets.data = this.offset;
-      if (gpb.usesDataDescriptor()) {
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
-      } else {
-        this.write(zipUtil.getLongBytes(ae.getCrc()));
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
+        }
+        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
+        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
+          return makeNetworkError("cors failure");
+        }
+        if (TAOCheck(request2, response) === "failure") {
+          request2.timingAllowFailed = true;
+        }
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(name);
-      this.write(extra);
-      ae._offsets.contents = this.offset;
-    };
-    ZipArchiveOutputStream.prototype.getComment = function(comment) {
-      return this._archive.comment !== null ? this._archive.comment : "";
-    };
-    ZipArchiveOutputStream.prototype.isZip64 = function() {
-      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
-    };
-    ZipArchiveOutputStream.prototype.setComment = function(comment) {
-      this._archive.comment = comment;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/compress-commons.js
-var require_compress_commons = __commonJS({
-  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
-    module2.exports = {
-      ArchiveEntry: require_archive_entry(),
-      ZipArchiveEntry: require_zip_archive_entry(),
-      ArchiveOutputStream: require_archive_output_stream(),
-      ZipArchiveOutputStream: require_zip_archive_output_stream()
-    };
-  }
-});
-
-// node_modules/zip-stream/index.js
-var require_zip_stream = __commonJS({
-  "node_modules/zip-stream/index.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
-    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
-    var util = require_archiver_utils();
-    var ZipStream = module2.exports = function(options) {
-      if (!(this instanceof ZipStream)) {
-        return new ZipStream(options);
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      options = this.options = options || {};
-      options.zlib = options.zlib || {};
-      ZipArchiveOutputStream.call(this, options);
-      if (typeof options.level === "number" && options.level >= 0) {
-        options.zlib.level = options.level;
-        delete options.level;
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy();
+        }
+        if (request2.redirect === "error") {
+          response = makeNetworkError("unexpected redirect");
+        } else if (request2.redirect === "manual") {
+          response = actualResponse;
+        } else if (request2.redirect === "follow") {
+          response = await httpRedirectFetch(fetchParams, response);
+        } else {
+          assert(false);
+        }
       }
-      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
-        options.store = true;
+      response.timingInfo = timingInfo;
+      return response;
+    }
+    function httpRedirectFetch(fetchParams, response) {
+      const request2 = fetchParams.request;
+      const actualResponse = response.internalResponse ? response.internalResponse : response;
+      let locationURL;
+      try {
+        locationURL = responseLocationURL(
+          actualResponse,
+          requestCurrentURL(request2).hash
+        );
+        if (locationURL == null) {
+          return response;
+        }
+      } catch (err) {
+        return Promise.resolve(makeNetworkError(err));
       }
-      options.namePrependSlash = options.namePrependSlash || false;
-      if (options.comment && options.comment.length > 0) {
-        this.setComment(options.comment);
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
       }
-    };
-    inherits(ZipStream, ZipArchiveOutputStream);
-    ZipStream.prototype._normalizeFileData = function(data) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        namePrependSlash: this.options.namePrependSlash,
-        linkname: null,
-        date: null,
-        mode: null,
-        store: this.options.store,
-        comment: ""
-      });
-      var isDir = data.type === "directory";
-      var isSymlink = data.type === "symlink";
-      if (data.name) {
-        data.name = util.sanitizePath(data.name);
-        if (!isSymlink && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
-        }
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
       }
-      if (isDir || isSymlink) {
-        data.store = true;
+      request2.redirectCount += 1;
+      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
+        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
       }
-      data.date = util.dateify(data.date);
-      return data;
-    };
-    ZipStream.prototype.entry = function(source, data, callback) {
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
       }
-      data = this._normalizeFileData(data);
-      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
-        callback(new Error(data.type + " entries not currently supported"));
-        return;
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
       }
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        callback(new Error("entry name must be a non-empty string value"));
-        return;
+      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
+        request2.method = "GET";
+        request2.body = null;
+        for (const headerName of requestBodyHeader) {
+          request2.headersList.delete(headerName);
+        }
       }
-      if (data.type === "symlink" && typeof data.linkname !== "string") {
-        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
-        return;
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization");
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie");
+        request2.headersList.delete("host");
       }
-      var entry = new ZipArchiveEntry(data.name);
-      entry.setTime(data.date, this.options.forceLocalTime);
-      if (data.namePrependSlash) {
-        entry.setName(data.name, true);
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
       }
-      if (data.store) {
-        entry.setMethod(0);
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
       }
-      if (data.comment.length > 0) {
-        entry.setComment(data.comment);
+      request2.urlList.push(locationURL);
+      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
+      return mainFetch(fetchParams, true);
+    }
+    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
+      const request2 = fetchParams.request;
+      let httpFetchParams = null;
+      let httpRequest = null;
+      let response = null;
+      const httpCache = null;
+      const revalidatingFlag = false;
+      if (request2.window === "no-window" && request2.redirect === "error") {
+        httpFetchParams = fetchParams;
+        httpRequest = request2;
+      } else {
+        httpRequest = makeRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      if (data.type === "symlink" && typeof data.mode !== "number") {
-        data.mode = 40960;
+      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
+      const contentLength = httpRequest.body ? httpRequest.body.length : null;
+      let contentLengthHeaderValue = null;
+      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
+        contentLengthHeaderValue = "0";
       }
-      if (typeof data.mode === "number") {
-        if (data.type === "symlink") {
-          data.mode |= 40960;
-        }
-        entry.setUnixMode(data.mode);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      if (data.type === "symlink" && typeof data.linkname === "string") {
-        source = Buffer.from(data.linkname);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
       }
-      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
-    };
-    ZipStream.prototype.finalize = function() {
-      this.finish();
-    };
-  }
-});
-
-// node_modules/archiver/lib/plugins/zip.js
-var require_zip = __commonJS({
-  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
-    var engine = require_zip_stream();
-    var util = require_archiver_utils();
-    var Zip = function(options) {
-      if (!(this instanceof Zip)) {
-        return new Zip(options);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      options = this.options = util.defaults(options, {
-        comment: "",
-        forceUTC: false,
-        namePrependSlash: false,
-        store: false
-      });
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = new engine(options);
-    };
-    Zip.prototype.append = function(source, data, callback) {
-      this.engine.entry(source, data, callback);
-    };
-    Zip.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Zip.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Zip.prototype.pipe = function() {
-      return this.engine.pipe.apply(this.engine, arguments);
-    };
-    Zip.prototype.unpipe = function() {
-      return this.engine.unpipe.apply(this.engine, arguments);
-    };
-    module2.exports = Zip;
-  }
-});
-
-// node_modules/queue-tick/queue-microtask.js
-var require_queue_microtask = __commonJS({
-  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
-    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
-  }
-});
-
-// node_modules/queue-tick/process-next-tick.js
-var require_process_next_tick = __commonJS({
-  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
-    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
-  }
-});
-
-// node_modules/fast-fifo/fixed-size.js
-var require_fixed_size = __commonJS({
-  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
-    module2.exports = class FixedFIFO {
-      constructor(hwm) {
-        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
-        this.buffer = new Array(hwm);
-        this.mask = hwm - 1;
-        this.top = 0;
-        this.btm = 0;
-        this.next = null;
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+      }
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent")) {
+        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
       }
-      clear() {
-        this.top = this.btm = 0;
-        this.next = null;
-        this.buffer.fill(void 0);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+        httpRequest.cache = "no-store";
       }
-      push(data) {
-        if (this.buffer[this.top] !== void 0) return false;
-        this.buffer[this.top] = data;
-        this.top = this.top + 1 & this.mask;
-        return true;
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
+        httpRequest.headersList.append("cache-control", "max-age=0");
       }
-      shift() {
-        const last = this.buffer[this.btm];
-        if (last === void 0) return void 0;
-        this.buffer[this.btm] = void 0;
-        this.btm = this.btm + 1 & this.mask;
-        return last;
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma")) {
+          httpRequest.headersList.append("pragma", "no-cache");
+        }
+        if (!httpRequest.headersList.contains("cache-control")) {
+          httpRequest.headersList.append("cache-control", "no-cache");
+        }
       }
-      peek() {
-        return this.buffer[this.btm];
+      if (httpRequest.headersList.contains("range")) {
+        httpRequest.headersList.append("accept-encoding", "identity");
       }
-      isEmpty() {
-        return this.buffer[this.btm] === void 0;
+      if (!httpRequest.headersList.contains("accept-encoding")) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+        } else {
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+        }
       }
-    };
-  }
-});
-
-// node_modules/fast-fifo/index.js
-var require_fast_fifo = __commonJS({
-  "node_modules/fast-fifo/index.js"(exports2, module2) {
-    var FixedFIFO = require_fixed_size();
-    module2.exports = class FastFIFO {
-      constructor(hwm) {
-        this.hwm = hwm || 16;
-        this.head = new FixedFIFO(this.hwm);
-        this.tail = this.head;
-        this.length = 0;
+      httpRequest.headersList.delete("host");
+      if (includeCredentials) {
       }
-      clear() {
-        this.head = this.tail;
-        this.head.clear();
-        this.length = 0;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      push(val) {
-        this.length++;
-        if (!this.head.push(val)) {
-          const prev = this.head;
-          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
-          this.head.push(val);
+      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.mode === "only-if-cached") {
+          return makeNetworkError("only if cached");
+        }
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
+        }
+        if (revalidatingFlag && forwardResponse.status === 304) {
+        }
+        if (response == null) {
+          response = forwardResponse;
         }
       }
-      shift() {
-        if (this.length !== 0) this.length--;
-        const val = this.tail.shift();
-        if (val === void 0 && this.tail.next) {
-          const next = this.tail.next;
-          this.tail.next = null;
-          this.tail = next;
-          return this.tail.shift();
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range")) {
+        response.rangeRequested = true;
+      }
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-        return val;
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        return makeNetworkError("proxy authentication required");
       }
-      peek() {
-        const val = this.tail.peek();
-        if (val === void 0 && this.tail.next) return this.tail.next.peek();
-        return val;
+      if (
+        // response’s status is 421
+        response.status === 421 && // isNewConnectionFetch is false
+        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
+        (request2.body == null || request2.body.source != null)
+      ) {
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        fetchParams.controller.connection.destroy();
+        response = await httpNetworkOrCacheFetch(
+          fetchParams,
+          isAuthenticationFetch,
+          true
+        );
       }
-      isEmpty() {
-        return this.length === 0;
+      if (isAuthenticationFetch) {
       }
-    };
-  }
-});
-
-// node_modules/b4a/index.js
-var require_b4a = __commonJS({
-  "node_modules/b4a/index.js"(exports2, module2) {
-    function isBuffer(value) {
-      return Buffer.isBuffer(value) || value instanceof Uint8Array;
-    }
-    function isEncoding(encoding) {
-      return Buffer.isEncoding(encoding);
-    }
-    function alloc(size, fill2, encoding) {
-      return Buffer.alloc(size, fill2, encoding);
-    }
-    function allocUnsafe(size) {
-      return Buffer.allocUnsafe(size);
-    }
-    function allocUnsafeSlow(size) {
-      return Buffer.allocUnsafeSlow(size);
-    }
-    function byteLength(string, encoding) {
-      return Buffer.byteLength(string, encoding);
-    }
-    function compare2(a, b) {
-      return Buffer.compare(a, b);
-    }
-    function concat(buffers, totalLength) {
-      return Buffer.concat(buffers, totalLength);
-    }
-    function copy(source, target, targetStart, start, end) {
-      return toBuffer(source).copy(target, targetStart, start, end);
-    }
-    function equals(a, b) {
-      return toBuffer(a).equals(b);
-    }
-    function fill(buffer, value, offset, end, encoding) {
-      return toBuffer(buffer).fill(value, offset, end, encoding);
-    }
-    function from(value, encodingOrOffset, length) {
-      return Buffer.from(value, encodingOrOffset, length);
-    }
-    function includes(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).includes(value, byteOffset, encoding);
-    }
-    function indexOf(buffer, value, byfeOffset, encoding) {
-      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
-    }
-    function lastIndexOf(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
-    }
-    function swap16(buffer) {
-      return toBuffer(buffer).swap16();
-    }
-    function swap32(buffer) {
-      return toBuffer(buffer).swap32();
-    }
-    function swap64(buffer) {
-      return toBuffer(buffer).swap64();
-    }
-    function toBuffer(buffer) {
-      if (Buffer.isBuffer(buffer)) return buffer;
-      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
-    }
-    function toString2(buffer, encoding, start, end) {
-      return toBuffer(buffer).toString(encoding, start, end);
-    }
-    function write(buffer, string, offset, length, encoding) {
-      return toBuffer(buffer).write(string, offset, length, encoding);
-    }
-    function writeDoubleLE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleLE(value, offset);
-    }
-    function writeFloatLE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatLE(value, offset);
-    }
-    function writeUInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32LE(value, offset);
-    }
-    function writeInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32LE(value, offset);
-    }
-    function readDoubleLE(buffer, offset) {
-      return toBuffer(buffer).readDoubleLE(offset);
-    }
-    function readFloatLE(buffer, offset) {
-      return toBuffer(buffer).readFloatLE(offset);
-    }
-    function readUInt32LE(buffer, offset) {
-      return toBuffer(buffer).readUInt32LE(offset);
-    }
-    function readInt32LE(buffer, offset) {
-      return toBuffer(buffer).readInt32LE(offset);
-    }
-    function writeDoubleBE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleBE(value, offset);
-    }
-    function writeFloatBE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatBE(value, offset);
-    }
-    function writeUInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32BE(value, offset);
-    }
-    function writeInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32BE(value, offset);
-    }
-    function readDoubleBE(buffer, offset) {
-      return toBuffer(buffer).readDoubleBE(offset);
-    }
-    function readFloatBE(buffer, offset) {
-      return toBuffer(buffer).readFloatBE(offset);
-    }
-    function readUInt32BE(buffer, offset) {
-      return toBuffer(buffer).readUInt32BE(offset);
+      return response;
     }
-    function readInt32BE(buffer, offset) {
-      return toBuffer(buffer).readInt32BE(offset);
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+          }
+        }
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
+      }
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
+      }
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
+      }
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
+        }
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
+        }
+        return makeNetworkError(err);
+      }
+      const pullAlgorithm = () => {
+        fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        fetchParams.controller.abort(reason);
+      };
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      const stream = new ReadableStream2(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          }
+        },
+        {
+          highWaterMark: 0,
+          size() {
+            return 1;
+          }
+        }
+      );
+      response.body = { stream };
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          if (isErrored(stream)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (!fetchParams.controller.controller.desiredSize) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      async function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve3, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              if (connection.destroyed) {
+                abort(new DOMException2("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+            },
+            onHeaders(status, headersList, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let codings = [];
+              let location = "";
+              const headers = new Headers();
+              if (Array.isArray(headersList)) {
+                for (let n = 0; n < headersList.length; n += 2) {
+                  const key = headersList[n + 0].toString("latin1");
+                  const val = headersList[n + 1].toString("latin1");
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim());
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              } else {
+                const keys = Object.keys(headersList);
+                for (const key of keys) {
+                  const val = headersList[key];
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              }
+              this.body = new Readable({ read: resume });
+              const decoders = [];
+              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                for (const coding of codings) {
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(zlib.createInflate());
+                  } else if (coding === "br") {
+                    decoders.push(zlib.createBrotliDecompress());
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              resolve3({
+                status,
+                statusText,
+                headersList: headers[kHeadersList],
+                body: decoders.length ? pipeline(this.body, ...decoders, () => {
+                }) : this.body.on("error", () => {
+                })
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, headersList, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headers = new Headers();
+              for (let n = 0; n < headersList.length; n += 2) {
+                const key = headersList[n + 0].toString("latin1");
+                const val = headersList[n + 1].toString("latin1");
+                headers[kHeadersList].append(key, val);
+              }
+              resolve3({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList: headers[kHeadersList],
+                socket
+              });
+              return true;
+            }
+          }
+        ));
+      }
     }
     module2.exports = {
-      isBuffer,
-      isEncoding,
-      alloc,
-      allocUnsafe,
-      allocUnsafeSlow,
-      byteLength,
-      compare: compare2,
-      concat,
-      copy,
-      equals,
-      fill,
-      from,
-      includes,
-      indexOf,
-      lastIndexOf,
-      swap16,
-      swap32,
-      swap64,
-      toBuffer,
-      toString: toString2,
-      write,
-      writeDoubleLE,
-      writeFloatLE,
-      writeUInt32LE,
-      writeInt32LE,
-      readDoubleLE,
-      readFloatLE,
-      readUInt32LE,
-      readInt32LE,
-      writeDoubleBE,
-      writeFloatBE,
-      writeUInt32BE,
-      writeInt32BE,
-      readDoubleBE,
-      readFloatBE,
-      readUInt32BE,
-      readInt32BE
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
   }
 });
 
-// node_modules/text-decoder/lib/pass-through-decoder.js
-var require_pass_through_decoder = __commonJS({
-  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class PassThroughDecoder {
-      constructor(encoding) {
-        this.encoding = encoding;
-      }
-      get remaining() {
-        return 0;
-      }
-      decode(tail) {
-        return b4a.toString(tail, this.encoding);
-      }
-      flush() {
-        return "";
-      }
+// node_modules/undici/lib/fileapi/symbols.js
+var require_symbols13 = __commonJS({
+  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/text-decoder/lib/utf8-decoder.js
-var require_utf8_decoder = __commonJS({
-  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class UTF8Decoder {
-      constructor() {
-        this.codePoint = 0;
-        this.bytesSeen = 0;
-        this.bytesNeeded = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
+// node_modules/undici/lib/fileapi/progressevent.js
+var require_progressevent3 = __commonJS({
+  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get remaining() {
-        return this.bytesSeen;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      decode(data) {
-        if (this.bytesNeeded === 0) {
-          let isBoundary = true;
-          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
-            isBoundary = data[i] <= 127;
-          }
-          if (isBoundary) return b4a.toString(data, "utf8");
-        }
-        let result = "";
-        for (let i = 0, n = data.byteLength; i < n; i++) {
-          const byte = data[i];
-          if (this.bytesNeeded === 0) {
-            if (byte <= 127) {
-              result += String.fromCharCode(byte);
-            } else {
-              this.bytesSeen = 1;
-              if (byte >= 194 && byte <= 223) {
-                this.bytesNeeded = 2;
-                this.codePoint = byte & 31;
-              } else if (byte >= 224 && byte <= 239) {
-                if (byte === 224) this.lowerBoundary = 160;
-                else if (byte === 237) this.upperBoundary = 159;
-                this.bytesNeeded = 3;
-                this.codePoint = byte & 15;
-              } else if (byte >= 240 && byte <= 244) {
-                if (byte === 240) this.lowerBoundary = 144;
-                if (byte === 244) this.upperBoundary = 143;
-                this.bytesNeeded = 4;
-                this.codePoint = byte & 7;
-              } else {
-                result += "\uFFFD";
-              }
-            }
-            continue;
-          }
-          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
-            this.codePoint = 0;
-            this.bytesNeeded = 0;
-            this.bytesSeen = 0;
-            this.lowerBoundary = 128;
-            this.upperBoundary = 191;
-            result += "\uFFFD";
-            continue;
-          }
-          this.lowerBoundary = 128;
-          this.upperBoundary = 191;
-          this.codePoint = this.codePoint << 6 | byte & 63;
-          this.bytesSeen++;
-          if (this.bytesSeen !== this.bytesNeeded) continue;
-          result += String.fromCodePoint(this.codePoint);
-          this.codePoint = 0;
-          this.bytesNeeded = 0;
-          this.bytesSeen = 0;
-        }
-        return result;
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      flush() {
-        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
-        this.codePoint = 0;
-        this.bytesNeeded = 0;
-        this.bytesSeen = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
-        return result;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
+      }
+    };
+    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
+      {
+        key: "lengthComputable",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "loaded",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: 0
+      },
+      {
+        key: "total",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: 0
+      },
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: false
       }
+    ]);
+    module2.exports = {
+      ProgressEvent
     };
   }
 });
 
-// node_modules/text-decoder/index.js
-var require_text_decoder = __commonJS({
-  "node_modules/text-decoder/index.js"(exports2, module2) {
-    var PassThroughDecoder = require_pass_through_decoder();
-    var UTF8Decoder = require_utf8_decoder();
-    module2.exports = class TextDecoder {
-      constructor(encoding = "utf8") {
-        this.encoding = normalizeEncoding(encoding);
-        switch (this.encoding) {
-          case "utf8":
-            this.decoder = new UTF8Decoder();
-            break;
-          case "utf16le":
-          case "base64":
-            throw new Error("Unsupported encoding: " + this.encoding);
-          default:
-            this.decoder = new PassThroughDecoder(this.encoding);
-        }
-      }
-      get remaining() {
-        return this.decoder.remaining;
-      }
-      push(data) {
-        if (typeof data === "string") return data;
-        return this.decoder.decode(data);
-      }
-      // For Node.js compatibility
-      write(data) {
-        return this.push(data);
-      }
-      end(data) {
-        let result = "";
-        if (data) result = this.push(data);
-        result += this.decoder.flush();
-        return result;
+// node_modules/undici/lib/fileapi/encoding.js
+var require_encoding3 = __commonJS({
+  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-    };
-    function normalizeEncoding(encoding) {
-      encoding = encoding.toLowerCase();
-      switch (encoding) {
-        case "utf8":
+      switch (label.trim().toLowerCase()) {
+        case "unicode-1-1-utf-8":
+        case "unicode11utf8":
+        case "unicode20utf8":
         case "utf-8":
-          return "utf8";
-        case "ucs2":
+        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 "utf16le":
+        case "unicode":
+        case "unicodefeff":
+        case "utf-16":
         case "utf-16le":
-          return "utf16le";
-        case "latin1":
-        case "binary":
-          return "latin1";
-        case "base64":
-        case "ascii":
-        case "hex":
-          return encoding;
+          return "UTF-16LE";
+        case "x-user-defined":
+          return "x-user-defined";
         default:
-          throw new Error("Unknown encoding: " + encoding);
+          return "failure";
       }
     }
+    module2.exports = {
+      getEncoding
+    };
   }
 });
 
-// node_modules/streamx/index.js
-var require_streamx = __commonJS({
-  "node_modules/streamx/index.js"(exports2, module2) {
-    var { EventEmitter } = require("events");
-    var STREAM_DESTROYED = new Error("Stream was destroyed");
-    var PREMATURE_CLOSE = new Error("Premature close");
-    var queueTick = require_process_next_tick();
-    var FIFO = require_fast_fifo();
-    var TextDecoder2 = require_text_decoder();
-    var MAX = (1 << 29) - 1;
-    var OPENING = 1;
-    var PREDESTROYING = 2;
-    var DESTROYING = 4;
-    var DESTROYED = 8;
-    var NOT_OPENING = MAX ^ OPENING;
-    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
-    var READ_ACTIVE = 1 << 4;
-    var READ_UPDATING = 2 << 4;
-    var READ_PRIMARY = 4 << 4;
-    var READ_QUEUED = 8 << 4;
-    var READ_RESUMED = 16 << 4;
-    var READ_PIPE_DRAINED = 32 << 4;
-    var READ_ENDING = 64 << 4;
-    var READ_EMIT_DATA = 128 << 4;
-    var READ_EMIT_READABLE = 256 << 4;
-    var READ_EMITTED_READABLE = 512 << 4;
-    var READ_DONE = 1024 << 4;
-    var READ_NEXT_TICK = 2048 << 4;
-    var READ_NEEDS_PUSH = 4096 << 4;
-    var READ_READ_AHEAD = 8192 << 4;
-    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
-    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
-    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
-    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
-    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
-    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
-    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
-    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
-    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
-    var READ_PAUSED = MAX ^ READ_RESUMED;
-    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
-    var READ_NOT_ENDING = MAX ^ READ_ENDING;
-    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
-    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
-    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
-    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
-    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
-    var WRITE_ACTIVE = 1 << 18;
-    var WRITE_UPDATING = 2 << 18;
-    var WRITE_PRIMARY = 4 << 18;
-    var WRITE_QUEUED = 8 << 18;
-    var WRITE_UNDRAINED = 16 << 18;
-    var WRITE_DONE = 32 << 18;
-    var WRITE_EMIT_DRAIN = 64 << 18;
-    var WRITE_NEXT_TICK = 128 << 18;
-    var WRITE_WRITING = 256 << 18;
-    var WRITE_FINISHING = 512 << 18;
-    var WRITE_CORKED = 1024 << 18;
-    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
-    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
-    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
-    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
-    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
-    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
-    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
-    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
-    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
-    var NOT_ACTIVE = MAX ^ ACTIVE;
-    var DONE = READ_DONE | WRITE_DONE;
-    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
-    var OPEN_STATUS = DESTROY_STATUS | OPENING;
-    var AUTO_DESTROY = DESTROY_STATUS | DONE;
-    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
-    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
-    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
-    var IS_OPENING = OPEN_STATUS | TICKING;
-    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
-    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
-    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
-    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
-    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
-    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
-    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
-    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
-    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
-    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
-    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
-    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
-    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
-    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
-    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
-    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
-    var WritableState = class {
-      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
-        this.stream = stream;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark;
-        this.buffered = 0;
-        this.error = null;
-        this.pipeline = null;
-        this.drains = null;
-        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
-        this.map = mapWritable || map2;
-        this.afterWrite = afterWrite.bind(this);
-        this.afterUpdateNextTick = updateWriteNT.bind(this);
-      }
-      get ended() {
-        return (this.stream._duplexState & WRITE_DONE) !== 0;
-      }
-      push(data) {
-        if (this.map !== null) data = this.map(data);
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        if (this.buffered < this.highWaterMark) {
-          this.stream._duplexState |= WRITE_QUEUED;
-          return true;
-        }
-        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
-        return false;
-      }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
-        return data;
-      }
-      end(data) {
-        if (typeof data === "function") this.stream.once("finish", data);
-        else if (data !== void 0 && data !== null) this.push(data);
-        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
-      }
-      autoBatch(data, cb) {
-        const buffer = [];
-        const stream = this.stream;
-        buffer.push(data);
-        while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
-          buffer.push(stream._writableState.shift());
-        }
-        if ((stream._duplexState & OPEN_STATUS) !== 0) return cb(null);
-        stream._writev(buffer, cb);
-      }
-      update() {
-        const stream = this.stream;
-        stream._duplexState |= WRITE_UPDATING;
-        do {
-          while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
-            const data = this.shift();
-            stream._duplexState |= WRITE_ACTIVE_AND_WRITING;
-            stream._write(data, this.afterWrite);
-          }
-          if ((stream._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream._duplexState &= WRITE_NOT_UPDATING;
-      }
-      updateNonPrimary() {
-        const stream = this.stream;
-        if ((stream._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
-          stream._duplexState = (stream._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
-          stream._final(afterFinal.bind(this));
-          return;
-        }
-        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream._duplexState |= ACTIVE;
-            stream._destroy(afterDestroy.bind(this));
-          }
-          return;
-        }
-        if ((stream._duplexState & IS_OPENING) === OPENING) {
-          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
-          stream._open(afterOpen.bind(this));
-        }
-      }
-      continueUpdate() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        return true;
-      }
-      updateCallback() {
-        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
-        else this.updateNextTick();
-      }
-      updateNextTick() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= WRITE_NEXT_TICK;
-        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
-      }
+// node_modules/undici/lib/fileapi/util.js
+var require_util27 = __commonJS({
+  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+    "use strict";
+    var {
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols13();
+    var { ProgressEvent } = require_progressevent3();
+    var { getEncoding } = require_encoding3();
+    var { DOMException: DOMException2 } = require_constants21();
+    var { serializeAMimeType, parseMIMEType } = require_dataURL();
+    var { types } = require("util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
     };
-    var ReadableState = class {
-      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
-        this.stream = stream;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
-        this.buffered = 0;
-        this.readAhead = highWaterMark > 0;
-        this.error = null;
-        this.pipeline = null;
-        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
-        this.map = mapReadable || map2;
-        this.pipeTo = null;
-        this.afterRead = afterRead.bind(this);
-        this.afterUpdateNextTick = updateReadNT.bind(this);
-      }
-      get ended() {
-        return (this.stream._duplexState & READ_DONE) !== 0;
-      }
-      pipe(pipeTo, cb) {
-        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
-        if (typeof cb !== "function") cb = null;
-        this.stream._duplexState |= READ_PIPE_DRAINED;
-        this.pipeTo = pipeTo;
-        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
-        if (cb) this.stream.on("error", noop3);
-        if (isStreamx(pipeTo)) {
-          pipeTo._writableState.pipeline = this.pipeline;
-          if (cb) pipeTo.on("error", noop3);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
-        } else {
-          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
-          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
-          pipeTo.on("error", onerror);
-          pipeTo.on("close", onclose);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
-        }
-        pipeTo.on("drain", afterDrain.bind(this));
-        this.stream.emit("piping", pipeTo);
-        pipeTo.emit("pipe", this.stream);
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException2("Invalid state", "InvalidStateError");
       }
-      push(data) {
-        const stream = this.stream;
-        if (data === null) {
-          this.highWaterMark = 0;
-          stream._duplexState = (stream._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
-          return false;
-        }
-        if (this.map !== null) {
-          data = this.map(data);
-          if (data === null) {
-            stream._duplexState &= READ_PUSHED;
-            return this.buffered < this.highWaterMark;
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream = blob.stream();
+      const reader = stream.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
+          try {
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
+            }
+            isFirstChunk = false;
+            if (!done && types.isUint8Array(value)) {
+              bytes.push(value);
+              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
+                fr[kLastProgressEventFired] = Date.now();
+                queueMicrotask(() => {
+                  fireAProgressEvent("progress", fr);
+                });
+              }
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
+              }
+            });
+            break;
           }
         }
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        stream._duplexState = (stream._duplexState | READ_QUEUED) & READ_PUSHED;
-        return this.buffered < this.highWaterMark;
-      }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
-        return data;
-      }
-      unshift(data) {
-        const pending = [this.map !== null ? this.map(data) : data];
-        while (this.buffered > 0) pending.push(this.shift());
-        for (let i = 0; i < pending.length - 1; i++) {
-          const data2 = pending[i];
-          this.buffered += this.byteLength(data2);
-          this.queue.push(data2);
-        }
-        this.push(pending[pending.length - 1]);
-      }
-      read() {
-        const stream = this.stream;
-        if ((stream._duplexState & READ_STATUS) === READ_QUEUED) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
-          return data;
-        }
-        if (this.readAhead === false) {
-          stream._duplexState |= READ_READ_AHEAD;
-          this.updateNextTick();
-        }
-        return null;
-      }
-      drain() {
-        const stream = this.stream;
-        while ((stream._duplexState & READ_STATUS) === READ_QUEUED && (stream._duplexState & READ_FLOWING) !== 0) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
-        }
-      }
-      update() {
-        const stream = this.stream;
-        stream._duplexState |= READ_UPDATING;
-        do {
-          this.drain();
-          while (this.buffered < this.highWaterMark && (stream._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
-            stream._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
-            stream._read(this.afterRead);
-            this.drain();
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-          if ((stream._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
-            stream._duplexState |= READ_EMITTED_READABLE;
-            stream.emit("readable");
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
-          if ((stream._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream._duplexState &= READ_NOT_UPDATING;
-      }
-      updateNonPrimary() {
-        const stream = this.stream;
-        if ((stream._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
-          stream._duplexState = (stream._duplexState | READ_DONE) & READ_NOT_ENDING;
-          stream.emit("end");
-          if ((stream._duplexState & AUTO_DESTROY) === DONE) stream._duplexState |= DESTROYING;
-          if (this.pipeTo !== null) this.pipeTo.end();
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream._duplexState |= ACTIVE;
-            stream._destroy(afterDestroy.bind(this));
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          return;
-        }
-        if ((stream._duplexState & IS_OPENING) === OPENING) {
-          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
-          stream._open(afterOpen.bind(this));
-        }
-      }
-      continueUpdate() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        return true;
-      }
-      updateCallback() {
-        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
-        else this.updateNextTick();
-      }
-      updateNextTick() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= READ_NEXT_TICK;
-        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
-      }
-    };
-    var TransformState = class {
-      constructor(stream) {
-        this.data = null;
-        this.afterTransform = afterTransform.bind(stream);
-        this.afterFinal = null;
-      }
-    };
-    var Pipeline = class {
-      constructor(src, dst, cb) {
-        this.from = src;
-        this.to = dst;
-        this.afterPipe = cb;
-        this.error = null;
-        this.pipeToFinished = false;
-      }
-      finished() {
-        this.pipeToFinished = true;
-      }
-      done(stream, err) {
-        if (err) this.error = err;
-        if (stream === this.to) {
-          this.to = null;
-          if (this.from !== null) {
-            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
-              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
             }
-            return;
           }
+          if (encoding === "failure") {
+            encoding = "UTF-8";
+          }
+          return decode(bytes, encoding);
         }
-        if (stream === this.from) {
-          this.from = null;
-          if (this.to !== null) {
-            if ((stream._duplexState & READ_DONE) === 0) {
-              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
-            }
-            return;
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
+        }
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
           }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        if (this.afterPipe !== null) this.afterPipe(this.error);
-        this.to = this.from = this.afterPipe = null;
-      }
-    };
-    function afterDrain() {
-      this.stream._duplexState |= READ_PIPE_DRAINED;
-      this.updateCallback();
-    }
-    function afterFinal(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      if ((stream._duplexState & DESTROY_STATUS) === 0) {
-        stream._duplexState |= WRITE_DONE;
-        stream.emit("finish");
       }
-      if ((stream._duplexState & AUTO_DESTROY) === DONE) {
-        stream._duplexState |= DESTROYING;
-      }
-      stream._duplexState &= WRITE_NOT_ACTIVE;
-      if ((stream._duplexState & WRITE_UPDATING) === 0) this.update();
-      else this.updateNextTick();
     }
-    function afterDestroy(err) {
-      const stream = this.stream;
-      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
-      if (err) stream.emit("error", err);
-      stream._duplexState |= DESTROYED;
-      stream.emit("close");
-      const rs = stream._readableState;
-      const ws = stream._writableState;
-      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream, err);
-      if (ws !== null) {
-        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
-        if (ws.pipeline !== null) ws.pipeline.done(stream, err);
+    function decode(ioQueue, encoding) {
+      const bytes = combineByteSequences(ioQueue);
+      const BOMEncoding = BOMSniffing(bytes);
+      let slice = 0;
+      if (BOMEncoding !== null) {
+        encoding = BOMEncoding;
+        slice = BOMEncoding === "UTF-8" ? 3 : 2;
       }
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    function afterWrite(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      stream._duplexState &= WRITE_NOT_ACTIVE;
-      if (this.drains !== null) tickDrains(this.drains);
-      if ((stream._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
-        stream._duplexState &= WRITE_DRAINED;
-        if ((stream._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
-          stream.emit("drain");
-        }
+    function BOMSniffing(ioQueue) {
+      const [a, b, c] = ioQueue;
+      if (a === 239 && b === 187 && c === 191) {
+        return "UTF-8";
+      } else if (a === 254 && b === 255) {
+        return "UTF-16BE";
+      } else if (a === 255 && b === 254) {
+        return "UTF-16LE";
       }
-      this.updateCallback();
-    }
-    function afterRead(err) {
-      if (err) this.stream.destroy(err);
-      this.stream._duplexState &= READ_NOT_ACTIVE;
-      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
-      this.updateCallback();
+      return null;
     }
-    function updateReadNT() {
-      if ((this.stream._duplexState & READ_UPDATING) === 0) {
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        this.update();
-      }
+    function combineByteSequences(sequences) {
+      const size = sequences.reduce((a, b) => {
+        return a + b.byteLength;
+      }, 0);
+      let offset = 0;
+      return sequences.reduce((a, b) => {
+        a.set(b, offset);
+        offset += b.byteLength;
+        return a;
+      }, new Uint8Array(size));
     }
-    function updateWriteNT() {
-      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        this.update();
+    module2.exports = {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    };
+  }
+});
+
+// node_modules/undici/lib/fileapi/filereader.js
+var require_filereader3 = __commonJS({
+  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+    "use strict";
+    var {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util27();
+    var {
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols13();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
+        super();
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-    }
-    function tickDrains(drains) {
-      for (let i = 0; i < drains.length; i++) {
-        if (--drains[i].writes === 0) {
-          drains.shift().resolve(true);
-          i--;
-        }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
       }
-    }
-    function afterOpen(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      if ((stream._duplexState & DESTROYING) === 0) {
-        if ((stream._duplexState & READ_PRIMARY_STATUS) === 0) stream._duplexState |= READ_PRIMARY;
-        if ((stream._duplexState & WRITE_PRIMARY_STATUS) === 0) stream._duplexState |= WRITE_PRIMARY;
-        stream.emit("open");
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
       }
-      stream._duplexState &= NOT_ACTIVE;
-      if (stream._writableState !== null) {
-        stream._writableState.updateCallback();
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsDataText
+       * @param {import('buffer').Blob} blob
+       * @param {string?} encoding
+       */
+      readAsText(blob, encoding = void 0) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding);
+        }
+        readOperation(this, blob, "Text", encoding);
       }
-      if (stream._readableState !== null) {
-        stream._readableState.updateCallback();
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
       }
-    }
-    function afterTransform(err, data) {
-      if (data !== void 0 && data !== null) this.push(data);
-      this._writableState.afterWrite(err);
-    }
-    function newListener(name) {
-      if (this._readableState !== null) {
-        if (name === "data") {
-          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
-          this._readableState.updateNextTick();
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
+          return;
         }
-        if (name === "readable") {
-          this._duplexState |= READ_EMIT_READABLE;
-          this._readableState.updateNextTick();
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
         }
-      }
-      if (this._writableState !== null) {
-        if (name === "drain") {
-          this._duplexState |= WRITE_EMIT_DRAIN;
-          this._writableState.updateNextTick();
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
         }
       }
-    }
-    var Stream = class extends EventEmitter {
-      constructor(opts) {
-        super();
-        this._duplexState = 0;
-        this._readableState = null;
-        this._writableState = null;
-        if (opts) {
-          if (opts.open) this._open = opts.open;
-          if (opts.destroy) this._destroy = opts.destroy;
-          if (opts.predestroy) this._predestroy = opts.predestroy;
-          if (opts.signal) {
-            opts.signal.addEventListener("abort", abort.bind(this));
-          }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
+       */
+      get readyState() {
+        webidl.brandCheck(this, _FileReader);
+        switch (this[kState]) {
+          case "empty":
+            return this.EMPTY;
+          case "loading":
+            return this.LOADING;
+          case "done":
+            return this.DONE;
         }
-        this.on("newListener", newListener);
       }
-      _open(cb) {
-        cb(null);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
       }
-      _destroy(cb) {
-        cb(null);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
       }
-      _predestroy() {
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
       }
-      get readable() {
-        return this._readableState !== null ? true : void 0;
+      set onloadend(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadend) {
+          this.removeEventListener("loadend", this[kEvents].loadend);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].loadend = fn;
+          this.addEventListener("loadend", fn);
+        } else {
+          this[kEvents].loadend = null;
+        }
       }
-      get writable() {
-        return this._writableState !== null ? true : void 0;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      get destroyed() {
-        return (this._duplexState & DESTROYED) !== 0;
+      set onerror(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].error) {
+          this.removeEventListener("error", this[kEvents].error);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
+        }
       }
-      get destroying() {
-        return (this._duplexState & DESTROY_STATUS) !== 0;
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      destroy(err) {
-        if ((this._duplexState & DESTROY_STATUS) === 0) {
-          if (!err) err = STREAM_DESTROYED;
-          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
-          if (this._readableState !== null) {
-            this._readableState.highWaterMark = 0;
-            this._readableState.error = err;
-          }
-          if (this._writableState !== null) {
-            this._writableState.highWaterMark = 0;
-            this._writableState.error = err;
-          }
-          this._duplexState |= PREDESTROYING;
-          this._predestroy();
-          this._duplexState &= NOT_PREDESTROYING;
-          if (this._readableState !== null) this._readableState.updateNextTick();
-          if (this._writableState !== null) this._writableState.updateNextTick();
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      }
-    };
-    var Readable = class _Readable extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
-        this._readableState = new ReadableState(this, opts);
-        if (opts) {
-          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
-          if (opts.read) this._read = opts.read;
-          if (opts.eagerOpen) this._readableState.updateNextTick();
-          if (opts.encoding) this.setEncoding(opts.encoding);
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
       }
-      setEncoding(encoding) {
-        const dec = new TextDecoder2(encoding);
-        const map2 = this._readableState.map || echo;
-        this._readableState.map = mapOrSkip;
-        return this;
-        function mapOrSkip(data) {
-          const next = dec.push(data);
-          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+      get onprogress() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].progress;
+      }
+      set onprogress(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].progress) {
+          this.removeEventListener("progress", this[kEvents].progress);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
       }
-      _read(cb) {
-        cb(null);
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      pipe(dest, cb) {
-        this._readableState.updateNextTick();
-        this._readableState.pipe(dest, cb);
-        return dest;
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
+        }
       }
-      read() {
-        this._readableState.updateNextTick();
-        return this._readableState.read();
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      push(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.push(data);
+      set onabort(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].abort) {
+          this.removeEventListener("abort", this[kEvents].abort);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].abort = fn;
+          this.addEventListener("abort", fn);
+        } else {
+          this[kEvents].abort = null;
+        }
       }
-      unshift(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.unshift(data);
+    };
+    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
+    FileReader.LOADING = FileReader.prototype.LOADING = 1;
+    FileReader.DONE = FileReader.prototype.DONE = 2;
+    Object.defineProperties(FileReader.prototype, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors,
+      readAsArrayBuffer: kEnumerableProperty,
+      readAsBinaryString: kEnumerableProperty,
+      readAsText: kEnumerableProperty,
+      readAsDataURL: kEnumerableProperty,
+      abort: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      result: kEnumerableProperty,
+      error: kEnumerableProperty,
+      onloadstart: kEnumerableProperty,
+      onprogress: kEnumerableProperty,
+      onload: kEnumerableProperty,
+      onabort: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onloadend: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FileReader",
+        writable: false,
+        enumerable: false,
+        configurable: true
       }
-      resume() {
-        this._duplexState |= READ_RESUMED_READ_AHEAD;
-        this._readableState.updateNextTick();
-        return this;
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
+    module2.exports = {
+      FileReader
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/symbols.js
+var require_symbols14 = __commonJS({
+  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols11().kConstruct
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/util.js
+var require_util28 = __commonJS({
+  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { URLSerializer } = require_dataURL();
+    var { isValidHeaderName } = require_util25();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
+    }
+    function fieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (!value.length) {
+          continue;
+        } else if (!isValidHeaderName(value)) {
+          continue;
+        }
+        values.push(value);
+      }
+      return values;
+    }
+    module2.exports = {
+      urlEquals,
+      fieldValues
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/cache.js
+var require_cache6 = __commonJS({
+  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { urlEquals, fieldValues: getFieldValues } = require_util28();
+    var { kEnumerableProperty, isDisturbed } = require_util24();
+    var { kHeadersList } = require_symbols11();
+    var { webidl } = require_webidl3();
+    var { Response, cloneResponse } = require_response4();
+    var { Request } = require_request6();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { fetching } = require_fetch3();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util25();
+    var assert = require("assert");
+    var { getGlobalDispatcher } = require_global6();
+    var Cache = class _Cache {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
+       * @type {requestResponseList}
+       */
+      #relevantRequestResponseList;
+      constructor() {
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
+        }
+        this.#relevantRequestResponseList = arguments[1];
       }
-      pause() {
-        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
-        return this;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        const p = await this.matchAll(request2, options);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
       }
-      static _fromAsyncIterator(ite, opts) {
-        let destroy;
-        const rs = new _Readable({
-          ...opts,
-          read(cb) {
-            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
-          },
-          predestroy() {
-            destroy = ite.return();
-          },
-          destroy(cb) {
-            if (!destroy) return cb(null);
-            destroy.then(cb.bind(null, null)).catch(cb);
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-        });
-        return rs;
-        function push(data) {
-          if (data.done) rs.push(null);
-          else rs.push(data.value);
         }
-      }
-      static from(data, opts) {
-        if (isReadStreamx(data)) return data;
-        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
-        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
-        let i = 0;
-        return new _Readable({
-          ...opts,
-          read(cb) {
-            this.push(i === data.length ? null : data[i++]);
-            cb(null);
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
           }
-        });
-      }
-      static isBackpressured(rs) {
-        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
+          }
+        }
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = new Response(response.body?.source ?? null);
+          const body = responseObject[kState].body;
+          responseObject[kState] = response;
+          responseObject[kState].body = body;
+          responseObject[kHeaders][kHeadersList] = response.headersList;
+          responseObject[kHeaders][kGuard] = "immutable";
+          responseList.push(responseObject);
+        }
+        return Object.freeze(responseList);
       }
-      static isPaused(rs) {
-        return (rs._duplexState & READ_RESUMED) === 0;
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
+        request2 = webidl.converters.RequestInfo(request2);
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
       }
-      [asyncIterator]() {
-        const stream = this;
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("readable", onreadable);
-        this.on("close", onclose);
-        return {
-          [asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(function(resolve3, reject) {
-              promiseResolve = resolve3;
-              promiseReject = reject;
-              const data = stream.read();
-              if (data !== null) ondata(data);
-              else if ((stream._duplexState & DESTROYED) !== 0) ondata(null);
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
+        requests = webidl.converters["sequence"](requests);
+        const responsePromises = [];
+        const requestList = [];
+        for (const request2 of requests) {
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme when method is not GET."
             });
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
           }
-        };
-        function onreadable() {
-          if (promiseResolve !== null) ondata(stream.read());
         }
-        function onclose() {
-          if (promiseResolve !== null) ondata(null);
-        }
-        function ondata(data) {
-          if (promiseReject === null) return;
-          if (error3) promiseReject(error3);
-          else if (data === null && (stream._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
-          else promiseResolve({ value: data, done: data === null });
-          promiseReject = promiseResolve = null;
-        }
-        function destroy(err) {
-          stream.destroy(err);
-          return new Promise((resolve3, reject) => {
-            if (stream._duplexState & DESTROYED) return resolve3({ value: void 0, done: true });
-            stream.once("close", function() {
-              if (err) reject(err);
-              else resolve3({ value: void 0, done: true });
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme."
             });
-          });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            dispatcher: getGlobalDispatcher(),
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
         }
-      }
-    };
-    var Writable = class extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | READ_DONE;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
-          if (opts.eagerOpen) this._writableState.updateNextTick();
+        const p = Promise.all(responsePromises);
+        const responses = await p;
+        const operations = [];
+        let index = 0;
+        for (const response of responses) {
+          const operation = {
+            type: "put",
+            // 7.3.2
+            request: requestList[index],
+            // 7.3.3
+            response
+            // 7.3.4
+          };
+          operations.push(operation);
+          index++;
         }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      static isBackpressured(ws) {
-        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
-      }
-      static drained(ws) {
-        if (ws.destroyed) return Promise.resolve(false);
-        const state = ws._writableState;
-        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
-        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
-        if (writes === 0) return Promise.resolve(true);
-        if (state.drains === null) state.drains = [];
-        return new Promise((resolve3) => {
-          state.drains.push({ writes, resolve: resolve3 });
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(void 0);
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
         });
+        return cacheJobPromise.promise;
       }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
-      }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
-      }
-    };
-    var Duplex = class extends Readable {
-      // and Writable
-      constructor(opts) {
-        super(opts);
-        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
+        request2 = webidl.converters.RequestInfo(request2);
+        response = webidl.converters.Response(response);
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
         }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
-      }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
-      }
-    };
-    var Transform = class extends Duplex {
-      constructor(opts) {
-        super(opts);
-        this._transformState = new TransformState(this);
-        if (opts) {
-          if (opts.transform) this._transform = opts.transform;
-          if (opts.flush) this._flush = opts.flush;
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Expected an http/s scheme when method is not GET"
+          });
         }
-      }
-      _write(data, cb) {
-        if (this._readableState.buffered >= this._readableState.highWaterMark) {
-          this._transformState.data = data;
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Got 206 status"
+          });
+        }
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: "Cache.put",
+                message: "Got * vary field value"
+              });
+            }
+          }
+        }
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Response body is locked or disturbed"
+          });
+        }
+        const clonedResponse = cloneResponse(innerResponse);
+        const bodyReadPromise = createDeferredPromise();
+        if (innerResponse.body != null) {
+          const stream = innerResponse.body.stream;
+          const reader = stream.getReader();
+          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
         } else {
-          this._transform(data, this._transformState.afterTransform);
+          bodyReadPromise.resolve(void 0);
+        }
+        const operations = [];
+        const operation = {
+          type: "put",
+          // 14.
+          request: innerRequest,
+          // 15.
+          response: clonedResponse
+          // 16.
+        };
+        operations.push(operation);
+        const bytes = await bodyReadPromise.promise;
+        if (clonedResponse.body != null) {
+          clonedResponse.body.source = bytes;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
         }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve();
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
+        });
+        return cacheJobPromise.promise;
       }
-      _read(cb) {
-        if (this._transformState.data !== null) {
-          const data = this._transformState.data;
-          this._transformState.data = null;
-          cb(null);
-          this._transform(data, this._transformState.afterTransform);
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
+          }
         } else {
-          cb(null);
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      destroy(err) {
-        super.destroy(err);
-        if (this._transformState.data !== null) {
-          this._transformState.data = null;
-          this._transformState.afterTransform();
+        const operations = [];
+        const operation = {
+          type: "delete",
+          request: r,
+          options
+        };
+        operations.push(operation);
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        let requestResponses;
+        try {
+          requestResponses = this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
         }
-      }
-      _transform(data, cb) {
-        cb(null, data);
-      }
-      _flush(cb) {
-        cb(null);
-      }
-      _final(cb) {
-        this._transformState.afterFinal = cb;
-        this._flush(transformAfterFlush.bind(this));
-      }
-    };
-    var PassThrough = class extends Transform {
-    };
-    function transformAfterFlush(err, data) {
-      const cb = this._transformState.afterFinal;
-      if (err) return cb(err);
-      if (data !== null && data !== void 0) this.push(data);
-      this.push(null);
-      cb(null);
-    }
-    function pipelinePromise(...streams) {
-      return new Promise((resolve3, reject) => {
-        return pipeline(...streams, (err) => {
-          if (err) return reject(err);
-          resolve3();
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
         });
-      });
-    }
-    function pipeline(stream, ...streams) {
-      const all = Array.isArray(stream) ? [...stream, ...streams] : [stream, ...streams];
-      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
-      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
-      let src = all[0];
-      let dest = null;
-      let error3 = null;
-      for (let i = 1; i < all.length; i++) {
-        dest = all[i];
-        if (isStreamx(src)) {
-          src.pipe(dest, onerror);
+        return cacheJobPromise.promise;
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {readonly Request[]}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
+          }
+        }
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          errorHandle(src, true, i > 1, onerror);
-          src.pipe(dest);
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
+          }
         }
-        src = dest;
-      }
-      if (done) {
-        let fin = false;
-        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
-        dest.on("error", (err) => {
-          if (error3 === null) error3 = err;
-        });
-        dest.on("finish", () => {
-          fin = true;
-          if (!autoDestroy) done(error3);
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = new Request("https://a");
+            requestObject[kState] = request3;
+            requestObject[kHeaders][kHeadersList] = request3.headersList;
+            requestObject[kHeaders][kGuard] = "immutable";
+            requestObject[kRealm] = request3.client;
+            requestList.push(requestObject);
+          }
+          promise.resolve(Object.freeze(requestList));
         });
-        if (autoDestroy) {
-          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
-        }
+        return promise.promise;
       }
-      return dest;
-      function errorHandle(s, rd, wr, onerror2) {
-        s.on("error", onerror2);
-        s.on("close", onclose);
-        function onclose() {
-          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
-          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
+       * @param {CacheBatchOperation[]} operations
+       * @returns {requestResponseList}
+       */
+      #batchCacheOperations(operations) {
+        const cache = this.#relevantRequestResponseList;
+        const backupCache = [...cache];
+        const addedItems = [];
+        const resultList = [];
+        try {
+          for (const operation of operations) {
+            if (operation.type !== "delete" && operation.type !== "put") {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: 'operation type does not match "delete" or "put"'
+              });
+            }
+            if (operation.type === "delete" && operation.response != null) {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: "delete operation should not have an associated response"
+              });
+            }
+            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
+              throw new DOMException("???", "InvalidStateError");
+            }
+            let requestResponses;
+            if (operation.type === "delete") {
+              requestResponses = this.#queryCache(operation.request, operation.options);
+              if (requestResponses.length === 0) {
+                return [];
+              }
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+            } else if (operation.type === "put") {
+              if (operation.response == null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "put operation should have an associated response"
+                });
+              }
+              const r = operation.request;
+              if (!urlIsHttpHttpsScheme(r.url)) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "expected http or https scheme"
+                });
+              }
+              if (r.method !== "GET") {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "not get method"
+                });
+              }
+              if (operation.options != null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "options must not be defined"
+                });
+              }
+              requestResponses = this.#queryCache(operation.request);
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+              cache.push([operation.request, operation.response]);
+              addedItems.push([operation.request, operation.response]);
+            }
+            resultList.push([operation.request, operation.response]);
+          }
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
         }
       }
-      function onerror(err) {
-        if (!err || error3) return;
-        error3 = err;
-        for (const s of all) {
-          s.destroy(err);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#query-cache
+       * @param {any} requestQuery
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @param {requestResponseList} targetStorage
+       * @returns {requestResponseList}
+       */
+      #queryCache(requestQuery, options, targetStorage) {
+        const resultList = [];
+        const storage = targetStorage ?? this.#relevantRequestResponseList;
+        for (const requestResponse of storage) {
+          const [cachedRequest, cachedResponse] = requestResponse;
+          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
+            resultList.push(requestResponse);
+          }
         }
+        return resultList;
       }
-    }
-    function echo(s) {
-      return s;
-    }
-    function isStream(stream) {
-      return !!stream._readableState || !!stream._writableState;
-    }
-    function isStreamx(stream) {
-      return typeof stream._duplexState === "number" && isStream(stream);
-    }
-    function isEnded(stream) {
-      return !!stream._readableState && stream._readableState.ended;
-    }
-    function isFinished(stream) {
-      return !!stream._writableState && stream._writableState.ended;
-    }
-    function getStreamError(stream, opts = {}) {
-      const err = stream._readableState && stream._readableState.error || stream._writableState && stream._writableState.error;
-      return !opts.all && err === STREAM_DESTROYED ? null : err;
-    }
-    function isReadStreamx(stream) {
-      return isStreamx(stream) && stream.readable;
-    }
-    function isTypedArray(data) {
-      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
-    }
-    function defaultByteLength(data) {
-      return isTypedArray(data) ? data.byteLength : 1024;
-    }
-    function noop3() {
-    }
-    function abort() {
-      this.destroy(new Error("Stream aborted."));
-    }
-    function isWritev(s) {
-      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
-    }
-    module2.exports = {
-      pipeline,
-      pipelinePromise,
-      isStream,
-      isStreamx,
-      isEnded,
-      isFinished,
-      getStreamError,
-      Stream,
-      Writable,
-      Readable,
-      Duplex,
-      Transform,
-      // Export PassThrough for compatibility with Node.js core's stream module
-      PassThrough
-    };
-  }
-});
-
-// node_modules/tar-stream/headers.js
-var require_headers3 = __commonJS({
-  "node_modules/tar-stream/headers.js"(exports2) {
-    var b4a = require_b4a();
-    var ZEROS = "0000000000000000000";
-    var SEVENS = "7777777777777777777";
-    var ZERO_OFFSET = "0".charCodeAt(0);
-    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
-    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
-    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
-    var GNU_VER = b4a.from([32, 0]);
-    var MASK = 4095;
-    var MAGIC_OFFSET = 257;
-    var VERSION_OFFSET = 263;
-    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
-      return decodeStr(buf, 0, buf.length, encoding);
-    };
-    exports2.encodePax = function encodePax(opts) {
-      let result = "";
-      if (opts.name) result += addLength(" path=" + opts.name + "\n");
-      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
-      const pax = opts.pax;
-      if (pax) {
-        for (const key in pax) {
-          result += addLength(" " + key + "=" + pax[key] + "\n");
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
+       * @param {any} requestQuery
+       * @param {any} request
+       * @param {any | null} response
+       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
+       * @returns {boolean}
+       */
+      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
+        const queryURL = new URL(requestQuery.url);
+        const cachedURL = new URL(request2.url);
+        if (options?.ignoreSearch) {
+          cachedURL.search = "";
+          queryURL.search = "";
         }
-      }
-      return b4a.from(result);
-    };
-    exports2.decodePax = function decodePax(buf) {
-      const result = {};
-      while (buf.length) {
-        let i = 0;
-        while (i < buf.length && buf[i] !== 32) i++;
-        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
-        if (!len) return result;
-        const b = b4a.toString(buf.subarray(i + 1, len - 1));
-        const keyIndex = b.indexOf("=");
-        if (keyIndex === -1) return result;
-        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
-        buf = buf.subarray(len);
-      }
-      return result;
-    };
-    exports2.encode = function encode(opts) {
-      const buf = b4a.alloc(512);
-      let name = opts.name;
-      let prefix = "";
-      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
-      if (b4a.byteLength(name) !== name.length) return null;
-      while (b4a.byteLength(name) > 100) {
-        const i = name.indexOf("/");
-        if (i === -1) return null;
-        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
-        name = name.slice(i + 1);
-      }
-      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
-      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
-      b4a.write(buf, name);
-      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
-      b4a.write(buf, encodeOct(opts.uid, 6), 108);
-      b4a.write(buf, encodeOct(opts.gid, 6), 116);
-      encodeSize(opts.size, buf, 124);
-      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
-      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
-      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
-      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
-      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
-      if (opts.uname) b4a.write(buf, opts.uname, 265);
-      if (opts.gname) b4a.write(buf, opts.gname, 297);
-      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
-      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
-      if (prefix) b4a.write(buf, prefix, 345);
-      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
-      return buf;
-    };
-    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
-      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
-      let name = decodeStr(buf, 0, 100, filenameEncoding);
-      const mode = decodeOct(buf, 100, 8);
-      const uid = decodeOct(buf, 108, 8);
-      const gid = decodeOct(buf, 116, 8);
-      const size = decodeOct(buf, 124, 12);
-      const mtime = decodeOct(buf, 136, 12);
-      const type2 = toType(typeflag);
-      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
-      const uname = decodeStr(buf, 265, 32);
-      const gname = decodeStr(buf, 297, 32);
-      const devmajor = decodeOct(buf, 329, 8);
-      const devminor = decodeOct(buf, 337, 8);
-      const c = cksum(buf);
-      if (c === 8 * 32) return null;
-      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
-      if (isUSTAR(buf)) {
-        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
-      } else if (isGNU(buf)) {
-      } else {
-        if (!allowUnknownFormat) {
-          throw new Error("Invalid tar header: unknown format.");
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
+        }
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
+        }
+        const fieldValues = getFieldValues(response.headersList.get("vary"));
+        for (const fieldValue of fieldValues) {
+          if (fieldValue === "*") {
+            return false;
+          }
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
+          }
         }
+        return true;
       }
-      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
-      return {
-        name,
-        mode,
-        uid,
-        gid,
-        size,
-        mtime: new Date(1e3 * mtime),
-        type: type2,
-        linkname,
-        uname,
-        gname,
-        devmajor,
-        devminor,
-        pax: null
-      };
     };
-    function isUSTAR(buf) {
-      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
-    }
-    function isGNU(buf) {
-      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
-    }
-    function clamp(index, len, defaultValue) {
-      if (typeof index !== "number") return defaultValue;
-      index = ~~index;
-      if (index >= len) return len;
-      if (index >= 0) return index;
-      index += len;
-      if (index >= 0) return index;
-      return 0;
-    }
-    function toType(flag) {
-      switch (flag) {
-        case 0:
-          return "file";
-        case 1:
-          return "link";
-        case 2:
-          return "symlink";
-        case 3:
-          return "character-device";
-        case 4:
-          return "block-device";
-        case 5:
-          return "directory";
-        case 6:
-          return "fifo";
-        case 7:
-          return "contiguous-file";
-        case 72:
-          return "pax-header";
-        case 55:
-          return "pax-global-header";
-        case 27:
-          return "gnu-long-link-path";
-        case 28:
-        case 30:
-          return "gnu-long-path";
-      }
-      return null;
-    }
-    function toTypeflag(flag) {
-      switch (flag) {
-        case "file":
-          return 0;
-        case "link":
-          return 1;
-        case "symlink":
-          return 2;
-        case "character-device":
-          return 3;
-        case "block-device":
-          return 4;
-        case "directory":
-          return 5;
-        case "fifo":
-          return 6;
-        case "contiguous-file":
-          return 7;
-        case "pax-header":
-          return 72;
-      }
-      return 0;
-    }
-    function indexOf(block, num, offset, end) {
-      for (; offset < end; offset++) {
-        if (block[offset] === num) return offset;
-      }
-      return end;
-    }
-    function cksum(block) {
-      let sum = 8 * 32;
-      for (let i = 0; i < 148; i++) sum += block[i];
-      for (let j = 156; j < 512; j++) sum += block[j];
-      return sum;
-    }
-    function encodeOct(val, n) {
-      val = val.toString(8);
-      if (val.length > n) return SEVENS.slice(0, n) + " ";
-      return ZEROS.slice(0, n - val.length) + val + " ";
-    }
-    function encodeSizeBin(num, buf, off) {
-      buf[off] = 128;
-      for (let i = 11; i > 0; i--) {
-        buf[off + i] = num & 255;
-        num = Math.floor(num / 256);
-      }
-    }
-    function encodeSize(num, buf, off) {
-      if (num.toString(8).length > 11) {
-        encodeSizeBin(num, buf, off);
-      } else {
-        b4a.write(buf, encodeOct(num, 11), off);
-      }
-    }
-    function parse256(buf) {
-      let positive;
-      if (buf[0] === 128) positive = true;
-      else if (buf[0] === 255) positive = false;
-      else return null;
-      const tuple = [];
-      let i;
-      for (i = buf.length - 1; i > 0; i--) {
-        const byte = buf[i];
-        if (positive) tuple.push(byte);
-        else tuple.push(255 - byte);
-      }
-      let sum = 0;
-      const l = tuple.length;
-      for (i = 0; i < l; i++) {
-        sum += tuple[i] * Math.pow(256, i);
+    Object.defineProperties(Cache.prototype, {
+      [Symbol.toStringTag]: {
+        value: "Cache",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      matchAll: kEnumerableProperty,
+      add: kEnumerableProperty,
+      addAll: kEnumerableProperty,
+      put: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    var cacheQueryOptionConverters = [
+      {
+        key: "ignoreSearch",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "ignoreMethod",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "ignoreVary",
+        converter: webidl.converters.boolean,
+        defaultValue: false
       }
-      return positive ? sum : -1 * sum;
-    }
-    function decodeOct(val, offset, length) {
-      val = val.subarray(offset, offset + length);
-      offset = 0;
-      if (val[offset] & 128) {
-        return parse256(val);
-      } else {
-        while (offset < val.length && val[offset] === 32) offset++;
-        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
-        while (offset < end && val[offset] === 0) offset++;
-        if (end === offset) return 0;
-        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-    }
-    function decodeStr(val, offset, length, encoding) {
-      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
-    }
-    function addLength(str2) {
-      const len = b4a.byteLength(str2);
-      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
-      if (len + digits >= Math.pow(10, digits)) digits++;
-      return len + digits + str2;
-    }
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
   }
 });
 
-// node_modules/tar-stream/extract.js
-var require_extract = __commonJS({
-  "node_modules/tar-stream/extract.js"(exports2, module2) {
-    var { Writable, Readable, getStreamError } = require_streamx();
-    var FIFO = require_fast_fifo();
-    var b4a = require_b4a();
-    var headers = require_headers3();
-    var EMPTY = b4a.alloc(0);
-    var BufferList = class {
+// node_modules/undici/lib/cache/cachestorage.js
+var require_cachestorage3 = __commonJS({
+  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { Cache } = require_cache6();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map this.buffered) return null;
-        if (size === 0) return EMPTY;
-        let chunk = this._next(size);
-        if (size === chunk.byteLength) return chunk;
-        const chunks = [chunk];
-        while ((size -= chunk.byteLength) > 0) {
-          chunk = this._next(size);
-          chunks.push(chunk);
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
         }
-        return b4a.concat(chunks);
       }
-      _next(size) {
-        const buf = this.queue.peek();
-        const rem = buf.byteLength - this._offset;
-        if (size >= rem) {
-          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
-          this.queue.shift();
-          this._offset = 0;
-          this.buffered -= rem;
-          this.shifted += rem;
-          return sub;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
+        } else {
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        this.buffered -= size;
-        this.shifted += size;
-        return buf.subarray(this._offset, this._offset += size);
       }
-    };
-    var Source = class extends Readable {
-      constructor(self2, header, offset) {
-        super();
-        this.header = header;
-        this.offset = offset;
-        this._parent = self2;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.has(cacheName);
       }
-      _read(cb) {
-        if (this.header.size === 0) {
-          this.push(null);
-        }
-        if (this._parent._stream === this) {
-          this._parent._update();
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
-        cb(null);
-      }
-      _predestroy() {
-        this._parent.destroy(getStreamError(this));
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      _detach() {
-        if (this._parent._stream === this) {
-          this._parent._stream = null;
-          this._parent._missing = overflow(this.header.size);
-          this._parent._update();
-        }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.delete(cacheName);
       }
-      _destroy(cb) {
-        this._detach();
-        cb(null);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {string[]}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
       }
     };
-    var Extract = class extends Writable {
-      constructor(opts) {
-        super(opts);
-        if (!opts) opts = {};
-        this._buffer = new BufferList();
-        this._offset = 0;
-        this._header = null;
-        this._stream = null;
-        this._missing = 0;
-        this._longHeader = false;
-        this._callback = noop3;
-        this._locked = false;
-        this._finished = false;
-        this._pax = null;
-        this._paxGlobal = null;
-        this._gnuLongPath = null;
-        this._gnuLongLinkPath = null;
-        this._filenameEncoding = opts.filenameEncoding || "utf-8";
-        this._allowUnknownFormat = !!opts.allowUnknownFormat;
-        this._unlockBound = this._unlock.bind(this);
-      }
-      _unlock(err) {
-        this._locked = false;
-        if (err) {
-          this.destroy(err);
-          this._continueWrite(err);
-          return;
-        }
-        this._update();
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/constants.js
+var require_constants23 = __commonJS({
+  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/util.js
+var require_util29 = __commonJS({
+  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      if (value.length === 0) {
+        return false;
       }
-      _consumeHeader() {
-        if (this._locked) return false;
-        this._offset = this._buffer.shifted;
-        try {
-          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
-        } catch (err) {
-          this._continueWrite(err);
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
           return false;
         }
-        if (!this._header) return true;
-        switch (this._header.type) {
-          case "gnu-long-path":
-          case "gnu-long-link-path":
-          case "pax-global-header":
-          case "pax-header":
-            this._longHeader = true;
-            this._missing = this._header.size;
-            return true;
-        }
-        this._locked = true;
-        this._applyLongHeaders();
-        if (this._header.size === 0 || this._header.type === "directory") {
-          this.emit("entry", this._header, this._createStream(), this._unlockBound);
-          return true;
-        }
-        this._stream = this._createStream();
-        this._missing = this._header.size;
-        this.emit("entry", this._header, this._stream, this._unlockBound);
-        return true;
       }
-      _applyLongHeaders() {
-        if (this._gnuLongPath) {
-          this._header.name = this._gnuLongPath;
-          this._gnuLongPath = null;
-        }
-        if (this._gnuLongLinkPath) {
-          this._header.linkname = this._gnuLongLinkPath;
-          this._gnuLongLinkPath = null;
-        }
-        if (this._pax) {
-          if (this._pax.path) this._header.name = this._pax.path;
-          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
-          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
-          this._header.pax = this._pax;
-          this._pax = null;
+    }
+    function validateCookieName(name) {
+      for (const char of name) {
+        const code = char.charCodeAt(0);
+        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+          throw new Error("Invalid cookie name");
         }
       }
-      _decodeLongHeader(buf) {
-        switch (this._header.type) {
-          case "gnu-long-path":
-            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "gnu-long-link-path":
-            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "pax-global-header":
-            this._paxGlobal = headers.decodePax(buf);
-            break;
-          case "pax-header":
-            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
-            break;
+    }
+    function validateCookieValue(value) {
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || // exclude CTLs (0-31)
+        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
+          throw new Error("Invalid header value");
         }
       }
-      _consumeLongHeader() {
-        this._longHeader = false;
-        this._missing = overflow(this._header.size);
-        const buf = this._buffer.shift(this._header.size);
-        try {
-          this._decodeLongHeader(buf);
-        } catch (err) {
-          this._continueWrite(err);
-          return false;
+    }
+    function validateCookiePath(path4) {
+      for (const char of path4) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || char === ";") {
+          throw new Error("Invalid cookie path");
         }
-        return true;
       }
-      _consumeStream() {
-        const buf = this._buffer.shiftFirst(this._missing);
-        if (buf === null) return false;
-        this._missing -= buf.byteLength;
-        const drained = this._stream.push(buf);
-        if (this._missing === 0) {
-          this._stream.push(null);
-          if (drained) this._stream._detach();
-          return drained && this._locked === false;
-        }
-        return drained;
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      _createStream() {
-        return new Source(this, this._header, this._offset);
+    }
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
       }
-      _update() {
-        while (this._buffer.buffered > 0 && !this.destroying) {
-          if (this._missing > 0) {
-            if (this._stream !== null) {
-              if (this._consumeStream() === false) return;
-              continue;
-            }
-            if (this._longHeader === true) {
-              if (this._missing > this._buffer.buffered) break;
-              if (this._consumeLongHeader() === false) return false;
-              continue;
-            }
-            const ignore = this._buffer.shiftFirst(this._missing);
-            if (ignore !== null) this._missing -= ignore.byteLength;
-            continue;
-          }
-          if (this._buffer.buffered < 512) break;
-          if (this._stream !== null || this._consumeHeader() === false) return;
-        }
-        this._continueWrite(null);
+      const days = [
+        "Sun",
+        "Mon",
+        "Tue",
+        "Wed",
+        "Thu",
+        "Fri",
+        "Sat"
+      ];
+      const months = [
+        "Jan",
+        "Feb",
+        "Mar",
+        "Apr",
+        "May",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Oct",
+        "Nov",
+        "Dec"
+      ];
+      const dayName = days[date.getUTCDay()];
+      const day = date.getUTCDate().toString().padStart(2, "0");
+      const month = months[date.getUTCMonth()];
+      const year = date.getUTCFullYear();
+      const hour = date.getUTCHours().toString().padStart(2, "0");
+      const minute = date.getUTCMinutes().toString().padStart(2, "0");
+      const second = date.getUTCSeconds().toString().padStart(2, "0");
+      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
+    }
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
       }
-      _continueWrite(err) {
-        const cb = this._callback;
-        this._callback = noop3;
-        cb(err);
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      _write(data, cb) {
-        this._callback = cb;
-        this._buffer.push(data);
-        this._update();
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      _final(cb) {
-        this._finished = this._missing === 0 && this._buffer.buffered === 0;
-        cb(this._finished ? null : new Error("Unexpected end of data"));
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      _predestroy() {
-        this._continueWrite(null);
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      _destroy(cb) {
-        if (this._stream) this._stream.destroy(getStreamError(this));
-        cb(null);
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      [Symbol.asyncIterator]() {
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        let entryStream = null;
-        let entryCallback = null;
-        const extract2 = this;
-        this.on("entry", onentry);
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("close", onclose);
-        return {
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(onnext);
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
-          }
-        };
-        function consumeCallback(err) {
-          if (!entryCallback) return;
-          const cb = entryCallback;
-          entryCallback = null;
-          cb(err);
-        }
-        function onnext(resolve3, reject) {
-          if (error3) {
-            return reject(error3);
-          }
-          if (entryStream) {
-            resolve3({ value: entryStream, done: false });
-            entryStream = null;
-            return;
-          }
-          promiseResolve = resolve3;
-          promiseReject = reject;
-          consumeCallback(null);
-          if (extract2._finished && promiseResolve) {
-            promiseResolve({ value: void 0, done: true });
-            promiseResolve = promiseReject = null;
-          }
-        }
-        function onentry(header, stream, callback) {
-          entryCallback = callback;
-          stream.on("error", noop3);
-          if (promiseResolve) {
-            promiseResolve({ value: stream, done: false });
-            promiseResolve = promiseReject = null;
-          } else {
-            entryStream = stream;
-          }
-        }
-        function onclose() {
-          consumeCallback(error3);
-          if (!promiseResolve) return;
-          if (error3) promiseReject(error3);
-          else promiseResolve({ value: void 0, done: true });
-          promiseResolve = promiseReject = null;
-        }
-        function destroy(err) {
-          extract2.destroy(err);
-          consumeCallback(err);
-          return new Promise((resolve3, reject) => {
-            if (extract2.destroyed) return resolve3({ value: void 0, done: true });
-            extract2.once("close", function() {
-              if (err) reject(err);
-              else resolve3({ value: void 0, done: true });
-            });
-          });
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
+      }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
+      }
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
+      }
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
+      }
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
+      }
+      for (const part of cookie.unparsed) {
+        if (!part.includes("=")) {
+          throw new Error("Invalid unparsed");
         }
+        const [key, ...value] = part.split("=");
+        out.push(`${key.trim()}=${value.join("=")}`);
       }
-    };
-    module2.exports = function extract2(opts) {
-      return new Extract(opts);
-    };
-    function noop3() {
-    }
-    function overflow(size) {
-      size &= 511;
-      return size && 512 - size;
+      return out.join("; ");
     }
-  }
-});
-
-// node_modules/tar-stream/constants.js
-var require_constants19 = __commonJS({
-  "node_modules/tar-stream/constants.js"(exports2, module2) {
-    var constants = {
-      // just for envs without fs
-      S_IFMT: 61440,
-      S_IFDIR: 16384,
-      S_IFCHR: 8192,
-      S_IFBLK: 24576,
-      S_IFIFO: 4096,
-      S_IFLNK: 40960
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
     };
-    try {
-      module2.exports = require("fs").constants || constants;
-    } catch {
-      module2.exports = constants;
-    }
   }
 });
 
-// node_modules/tar-stream/pack.js
-var require_pack = __commonJS({
-  "node_modules/tar-stream/pack.js"(exports2, module2) {
-    var { Readable, Writable, getStreamError } = require_streamx();
-    var b4a = require_b4a();
-    var constants = require_constants19();
-    var headers = require_headers3();
-    var DMODE = 493;
-    var FMODE = 420;
-    var END_OF_TAR = b4a.alloc(1024);
-    var Sink = class extends Writable {
-      constructor(pack, header, callback) {
-        super({ mapWritable, eagerOpen: true });
-        this.written = 0;
-        this.header = header;
-        this._callback = callback;
-        this._linkname = null;
-        this._isLinkname = header.type === "symlink" && !header.linkname;
-        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
-        this._finished = false;
-        this._pack = pack;
-        this._openCallback = null;
-        if (this._pack._stream === null) this._pack._stream = this;
-        else this._pack._pending.push(this);
-      }
-      _open(cb) {
-        this._openCallback = cb;
-        if (this._pack._stream === this) this._continueOpen();
-      }
-      _continuePack(err) {
-        if (this._callback === null) return;
-        const callback = this._callback;
-        this._callback = null;
-        callback(err);
-      }
-      _continueOpen() {
-        if (this._pack._stream === null) this._pack._stream = this;
-        const cb = this._openCallback;
-        this._openCallback = null;
-        if (cb === null) return;
-        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
-        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
-        this._pack._stream = this;
-        if (!this._isLinkname) {
-          this._pack._encode(this.header);
-        }
-        if (this._isVoid) {
-          this._finish();
-          this._continuePack(null);
-        }
-        cb(null);
+// node_modules/undici/lib/cookies/parse.js
+var require_parse4 = __commonJS({
+  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants23();
+    var { isCTLExcludingHtab } = require_util29();
+    var { collectASequenceOfCodePointsFast } = require_dataURL();
+    var assert = require("assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      _write(data, cb) {
-        if (this._isLinkname) {
-          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
-          return cb(null);
-        }
-        if (this._isVoid) {
-          if (data.byteLength > 0) {
-            return cb(new Error("No body allowed for this entry"));
-          }
-          return cb();
-        }
-        this.written += data.byteLength;
-        if (this._pack.push(data)) return cb();
-        this._pack._drain = cb;
+      let nameValuePair = "";
+      let unparsedAttributes = "";
+      let name = "";
+      let value = "";
+      if (header.includes(";")) {
+        const position = { position: 0 };
+        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
+        unparsedAttributes = header.slice(position.position);
+      } else {
+        nameValuePair = header;
       }
-      _finish() {
-        if (this._finished) return;
-        this._finished = true;
-        if (this._isLinkname) {
-          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
-          this._pack._encode(this.header);
-        }
-        overflow(this._pack, this.header.size);
-        this._pack._done(this);
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
+        );
+        value = nameValuePair.slice(position.position + 1);
       }
-      _final(cb) {
-        if (this.written !== this.header.size) {
-          return cb(new Error("Size mismatch"));
-        }
-        this._finish();
-        cb(null);
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      _getError() {
-        return getStreamError(this) || new Error("tar entry destroyed");
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
+      };
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      _predestroy() {
-        this._pack.destroy(this._getError());
+      assert(unparsedAttributes[0] === ";");
+      unparsedAttributes = unparsedAttributes.slice(1);
+      let cookieAv = "";
+      if (unparsedAttributes.includes(";")) {
+        cookieAv = collectASequenceOfCodePointsFast(
+          ";",
+          unparsedAttributes,
+          { position: 0 }
+        );
+        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
+      } else {
+        cookieAv = unparsedAttributes;
+        unparsedAttributes = "";
       }
-      _destroy(cb) {
-        this._pack._done(this);
-        this._continuePack(this._finished ? null : this._getError());
-        cb();
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-    };
-    var Pack = class extends Readable {
-      constructor(opts) {
-        super(opts);
-        this._drain = noop3;
-        this._finalized = false;
-        this._finalizing = false;
-        this._pending = [];
-        this._stream = null;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      entry(header, buffer, callback) {
-        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
-        if (typeof buffer === "function") {
-          callback = buffer;
-          buffer = null;
+      const attributeNameLowercase = attributeName.toLowerCase();
+      if (attributeNameLowercase === "expires") {
+        const expiryTime = new Date(attributeValue);
+        cookieAttributeList.expires = expiryTime;
+      } else if (attributeNameLowercase === "max-age") {
+        const charCode = attributeValue.charCodeAt(0);
+        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-        if (!callback) callback = noop3;
-        if (!header.size || header.type === "symlink") header.size = 0;
-        if (!header.type) header.type = modeToType(header.mode);
-        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
-        if (!header.uid) header.uid = 0;
-        if (!header.gid) header.gid = 0;
-        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
-        if (typeof buffer === "string") buffer = b4a.from(buffer);
-        const sink = new Sink(this, header, callback);
-        if (b4a.isBuffer(buffer)) {
-          header.size = buffer.byteLength;
-          sink.write(buffer);
-          sink.end();
-          return sink;
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-        if (sink._isVoid) {
-          return sink;
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
         }
-        return sink;
-      }
-      finalize() {
-        if (this._stream || this._pending.length > 0) {
-          this._finalizing = true;
-          return;
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
+        } else {
+          cookiePath = attributeValue;
         }
-        if (this._finalized) return;
-        this._finalized = true;
-        this.push(END_OF_TAR);
-        this.push(null);
+        cookieAttributeList.path = cookiePath;
+      } else if (attributeNameLowercase === "secure") {
+        cookieAttributeList.secure = true;
+      } else if (attributeNameLowercase === "httponly") {
+        cookieAttributeList.httpOnly = true;
+      } else if (attributeNameLowercase === "samesite") {
+        let enforcement = "Default";
+        const attributeValueLowercase = attributeValue.toLowerCase();
+        if (attributeValueLowercase.includes("none")) {
+          enforcement = "None";
+        }
+        if (attributeValueLowercase.includes("strict")) {
+          enforcement = "Strict";
+        }
+        if (attributeValueLowercase.includes("lax")) {
+          enforcement = "Lax";
+        }
+        cookieAttributeList.sameSite = enforcement;
+      } else {
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
       }
-      _done(stream) {
-        if (stream !== this._stream) return;
-        this._stream = null;
-        if (this._finalizing) this.finalize();
-        if (this._pending.length) this._pending.shift()._continueOpen();
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+    }
+    module2.exports = {
+      parseSetCookie,
+      parseUnparsedAttributes
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/index.js
+var require_cookies3 = __commonJS({
+  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+    "use strict";
+    var { parseSetCookie } = require_parse4();
+    var { stringify } = require_util29();
+    var { webidl } = require_webidl3();
+    var { Headers } = require_headers4();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
       }
-      _encode(header) {
-        if (!header.pax) {
-          const buf = headers.encode(header);
-          if (buf) {
-            this.push(buf);
-            return;
-          }
-        }
-        this._encodePax(header);
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
       }
-      _encodePax(header) {
-        const paxHeader = headers.encodePax({
-          name: header.name,
-          linkname: header.linkname,
-          pax: header.pax
-        });
-        const newHeader = {
-          name: "PaxHeader",
-          mode: header.mode,
-          uid: header.uid,
-          gid: header.gid,
-          size: paxHeader.byteLength,
-          mtime: header.mtime,
-          type: "pax-header",
-          linkname: header.linkname && "PaxHeader",
-          uname: header.uname,
-          gname: header.gname,
-          devmajor: header.devmajor,
-          devminor: header.devminor
-        };
-        this.push(headers.encode(newHeader));
-        this.push(paxHeader);
-        overflow(this, paxHeader.byteLength);
-        newHeader.size = header.size;
-        newHeader.type = header.type;
-        this.push(headers.encode(newHeader));
+      return out;
+    }
+    function deleteCookie(headers, name, attributes) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      name = webidl.converters.DOMString(name);
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
+    }
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
       }
-      _doDrain() {
-        const drain = this._drain;
-        this._drain = noop3;
-        drain();
+      return cookies.map((pair) => parseSetCookie(pair));
+    }
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", stringify(cookie));
       }
-      _predestroy() {
-        const err = getStreamError(this);
-        if (this._stream) this._stream.destroy(err);
-        while (this._pending.length) {
-          const stream = this._pending.shift();
-          stream.destroy(err);
-          stream._continueOpen();
-        }
-        this._doDrain();
+    }
+    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: null
       }
-      _read(cb) {
-        this._doDrain();
-        cb();
+    ]);
+    webidl.converters.Cookie = webidl.dictionaryConverter([
+      {
+        converter: webidl.converters.DOMString,
+        key: "name"
+      },
+      {
+        converter: webidl.converters.DOMString,
+        key: "value"
+      },
+      {
+        converter: webidl.nullableConverter((value) => {
+          if (typeof value === "number") {
+            return webidl.converters["unsigned long long"](value);
+          }
+          return new Date(value);
+        }),
+        key: "expires",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters["long long"]),
+        key: "maxAge",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "secure",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "httpOnly",
+        defaultValue: null
+      },
+      {
+        converter: webidl.converters.USVString,
+        key: "sameSite",
+        allowedValues: ["Strict", "Lax", "None"]
+      },
+      {
+        converter: webidl.sequenceConverter(webidl.converters.DOMString),
+        key: "unparsed",
+        defaultValue: []
       }
+    ]);
+    module2.exports = {
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
-    module2.exports = function pack(opts) {
-      return new Pack(opts);
+  }
+});
+
+// node_modules/undici/lib/websocket/constants.js
+var require_constants24 = __commonJS({
+  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
+    "use strict";
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    module2.exports = {
+      uid,
+      staticPropertyDescriptors,
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer
     };
-    function modeToType(mode) {
-      switch (mode & constants.S_IFMT) {
-        case constants.S_IFBLK:
-          return "block-device";
-        case constants.S_IFCHR:
-          return "character-device";
-        case constants.S_IFDIR:
-          return "directory";
-        case constants.S_IFIFO:
-          return "fifo";
-        case constants.S_IFLNK:
-          return "symlink";
-      }
-      return "file";
-    }
-    function noop3() {
-    }
-    function overflow(self2, size) {
-      size &= 511;
-      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
-    }
-    function mapWritable(buf) {
-      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
-    }
   }
 });
 
-// node_modules/tar-stream/index.js
-var require_tar_stream = __commonJS({
-  "node_modules/tar-stream/index.js"(exports2) {
-    exports2.extract = require_extract();
-    exports2.pack = require_pack();
+// node_modules/undici/lib/websocket/symbols.js
+var require_symbols15 = __commonJS({
+  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
   }
 });
 
-// node_modules/archiver/lib/plugins/tar.js
-var require_tar2 = __commonJS({
-  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
-    var zlib = require("zlib");
-    var engine = require_tar_stream();
-    var util = require_archiver_utils();
-    var Tar = function(options) {
-      if (!(this instanceof Tar)) {
-        return new Tar(options);
+// node_modules/undici/lib/websocket/events.js
+var require_events3 = __commonJS({
+  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util24();
+    var { MessagePort } = require("worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
       }
-      options = this.options = util.defaults(options, {
-        gzip: false
-      });
-      if (typeof options.gzipOptions !== "object") {
-        options.gzipOptions = {};
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = engine.pack(options);
-      this.compressor = false;
-      if (options.gzip) {
-        this.compressor = zlib.createGzip(options.gzipOptions);
-        this.compressor.on("error", this._onCompressorError.bind(this));
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-    };
-    Tar.prototype._onCompressorError = function(err) {
-      this.engine.emit("error", err);
-    };
-    Tar.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.mtime = data.date;
-      function append(err, sourceBuffer) {
-        if (err) {
-          callback(err);
-          return;
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
+      }
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
+      }
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
         }
-        self2.engine.entry(data, sourceBuffer, function(err2) {
-          callback(err2, data);
-        });
+        return this.#eventInit.ports;
       }
-      if (data.sourceType === "buffer") {
-        append(null, source);
-      } else if (data.sourceType === "stream" && data.stats) {
-        data.size = data.stats.size;
-        var entry = self2.engine.entry(data, function(err) {
-          callback(err, data);
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
         });
-        source.pipe(entry);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, append);
       }
     };
-    Tar.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Tar.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Tar.prototype.pipe = function(destination, options) {
-      if (this.compressor) {
-        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
-      } else {
-        return this.engine.pipe.apply(this.engine, arguments);
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
+      }
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
+      }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
+      }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
       }
     };
-    Tar.prototype.unpipe = function() {
-      if (this.compressor) {
-        return this.compressor.unpipe.apply(this.compressor, arguments);
-      } else {
-        return this.engine.unpipe.apply(this.engine, arguments);
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        super(type2, eventInitDict);
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
+      }
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
+      }
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
+      }
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
+      }
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
+      }
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
       }
     };
-    module2.exports = Tar;
-  }
-});
-
-// node_modules/buffer-crc32/dist/index.cjs
-var require_dist5 = __commonJS({
-  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
-    "use strict";
-    function getDefaultExportFromCjs(x) {
-      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
-    }
-    var CRC_TABLE = new Int32Array([
-      0,
-      1996959894,
-      3993919788,
-      2567524794,
-      124634137,
-      1886057615,
-      3915621685,
-      2657392035,
-      249268274,
-      2044508324,
-      3772115230,
-      2547177864,
-      162941995,
-      2125561021,
-      3887607047,
-      2428444049,
-      498536548,
-      1789927666,
-      4089016648,
-      2227061214,
-      450548861,
-      1843258603,
-      4107580753,
-      2211677639,
-      325883990,
-      1684777152,
-      4251122042,
-      2321926636,
-      335633487,
-      1661365465,
-      4195302755,
-      2366115317,
-      997073096,
-      1281953886,
-      3579855332,
-      2724688242,
-      1006888145,
-      1258607687,
-      3524101629,
-      2768942443,
-      901097722,
-      1119000684,
-      3686517206,
-      2898065728,
-      853044451,
-      1172266101,
-      3705015759,
-      2882616665,
-      651767980,
-      1373503546,
-      3369554304,
-      3218104598,
-      565507253,
-      1454621731,
-      3485111705,
-      3099436303,
-      671266974,
-      1594198024,
-      3322730930,
-      2970347812,
-      795835527,
-      1483230225,
-      3244367275,
-      3060149565,
-      1994146192,
-      31158534,
-      2563907772,
-      4023717930,
-      1907459465,
-      112637215,
-      2680153253,
-      3904427059,
-      2013776290,
-      251722036,
-      2517215374,
-      3775830040,
-      2137656763,
-      141376813,
-      2439277719,
-      3865271297,
-      1802195444,
-      476864866,
-      2238001368,
-      4066508878,
-      1812370925,
-      453092731,
-      2181625025,
-      4111451223,
-      1706088902,
-      314042704,
-      2344532202,
-      4240017532,
-      1658658271,
-      366619977,
-      2362670323,
-      4224994405,
-      1303535960,
-      984961486,
-      2747007092,
-      3569037538,
-      1256170817,
-      1037604311,
-      2765210733,
-      3554079995,
-      1131014506,
-      879679996,
-      2909243462,
-      3663771856,
-      1141124467,
-      855842277,
-      2852801631,
-      3708648649,
-      1342533948,
-      654459306,
-      3188396048,
-      3373015174,
-      1466479909,
-      544179635,
-      3110523913,
-      3462522015,
-      1591671054,
-      702138776,
-      2966460450,
-      3352799412,
-      1504918807,
-      783551873,
-      3082640443,
-      3233442989,
-      3988292384,
-      2596254646,
-      62317068,
-      1957810842,
-      3939845945,
-      2647816111,
-      81470997,
-      1943803523,
-      3814918930,
-      2489596804,
-      225274430,
-      2053790376,
-      3826175755,
-      2466906013,
-      167816743,
-      2097651377,
-      4027552580,
-      2265490386,
-      503444072,
-      1762050814,
-      4150417245,
-      2154129355,
-      426522225,
-      1852507879,
-      4275313526,
-      2312317920,
-      282753626,
-      1742555852,
-      4189708143,
-      2394877945,
-      397917763,
-      1622183637,
-      3604390888,
-      2714866558,
-      953729732,
-      1340076626,
-      3518719985,
-      2797360999,
-      1068828381,
-      1219638859,
-      3624741850,
-      2936675148,
-      906185462,
-      1090812512,
-      3747672003,
-      2825379669,
-      829329135,
-      1181335161,
-      3412177804,
-      3160834842,
-      628085408,
-      1382605366,
-      3423369109,
-      3138078467,
-      570562233,
-      1426400815,
-      3317316542,
-      2998733608,
-      733239954,
-      1555261956,
-      3268935591,
-      3050360625,
-      752459403,
-      1541320221,
-      2607071920,
-      3965973030,
-      1969922972,
-      40735498,
-      2617837225,
-      3943577151,
-      1913087877,
-      83908371,
-      2512341634,
-      3803740692,
-      2075208622,
-      213261112,
-      2463272603,
-      3855990285,
-      2094854071,
-      198958881,
-      2262029012,
-      4057260610,
-      1759359992,
-      534414190,
-      2176718541,
-      4139329115,
-      1873836001,
-      414664567,
-      2282248934,
-      4279200368,
-      1711684554,
-      285281116,
-      2405801727,
-      4167216745,
-      1634467795,
-      376229701,
-      2685067896,
-      3608007406,
-      1308918612,
-      956543938,
-      2808555105,
-      3495958263,
-      1231636301,
-      1047427035,
-      2932959818,
-      3654703836,
-      1088359270,
-      936918e3,
-      2847714899,
-      3736837829,
-      1202900863,
-      817233897,
-      3183342108,
-      3401237130,
-      1404277552,
-      615818150,
-      3134207493,
-      3453421203,
-      1423857449,
-      601450431,
-      3009837614,
-      3294710456,
-      1567103746,
-      711928724,
-      3020668471,
-      3272380065,
-      1510334235,
-      755167117
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
+      },
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
+      },
+      reason: kEnumerableProperty,
+      code: kEnumerableProperty,
+      wasClean: kEnumerableProperty
+    });
+    Object.defineProperties(ErrorEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "ErrorEvent",
+        configurable: true
+      },
+      message: kEnumerableProperty,
+      filename: kEnumerableProperty,
+      lineno: kEnumerableProperty,
+      colno: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.MessagePort
+    );
+    var eventInit = [
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      }
+    ];
+    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "data",
+        converter: webidl.converters.any,
+        defaultValue: null
+      },
+      {
+        key: "origin",
+        converter: webidl.converters.USVString,
+        defaultValue: ""
+      },
+      {
+        key: "lastEventId",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "source",
+        // Node doesn't implement WindowProxy or ServiceWorker, so the only
+        // valid value for source is a MessagePort.
+        converter: webidl.nullableConverter(webidl.converters.MessagePort),
+        defaultValue: null
+      },
+      {
+        key: "ports",
+        converter: webidl.converters["sequence"],
+        get defaultValue() {
+          return [];
+        }
+      }
     ]);
-    function ensureBuffer(input) {
-      if (Buffer.isBuffer(input)) {
-        return input;
+    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "wasClean",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "code",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: 0
+      },
+      {
+        key: "reason",
+        converter: webidl.converters.USVString,
+        defaultValue: ""
       }
-      if (typeof input === "number") {
-        return Buffer.alloc(input);
-      } else if (typeof input === "string") {
-        return Buffer.from(input);
-      } else {
-        throw new Error("input must be buffer, number, or string, received " + typeof input);
+    ]);
+    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "message",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "filename",
+        converter: webidl.converters.USVString,
+        defaultValue: ""
+      },
+      {
+        key: "lineno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: 0
+      },
+      {
+        key: "colno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: 0
+      },
+      {
+        key: "error",
+        converter: webidl.converters.any
       }
+    ]);
+    module2.exports = {
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent
+    };
+  }
+});
+
+// node_modules/undici/lib/websocket/util.js
+var require_util30 = __commonJS({
+  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols15();
+    var { states, opcodes } = require_constants24();
+    var { MessageEvent, ErrorEvent } = require_events3();
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
     }
-    function bufferizeInt(num) {
-      const tmp = ensureBuffer(4);
-      tmp.writeInt32BE(num, 0);
-      return tmp;
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
     }
-    function _crc32(buf, previous) {
-      buf = ensureBuffer(buf);
-      if (Buffer.isBuffer(previous)) {
-        previous = previous.readUInt32BE(0);
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
+      const event = new eventConstructor(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      let crc = ~~previous ^ -1;
-      for (var n = 0; n < buf.length; n++) {
-        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
+          return;
+        }
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
+        } else {
+          dataForEvent = new Uint8Array(data).buffer;
+        }
       }
-      return crc ^ -1;
+      fireEvent("message", ws, MessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
     }
-    function crc32() {
-      return bufferizeInt(_crc32.apply(null, arguments));
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
+      }
+      for (const char of protocol) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
+        code === 9) {
+          return false;
+        }
+      }
+      return true;
     }
-    crc32.signed = function() {
-      return _crc32.apply(null, arguments);
-    };
-    crc32.unsigned = function() {
-      return _crc32.apply(null, arguments) >>> 0;
+    function isValidStatusCode(code) {
+      if (code >= 1e3 && code < 1015) {
+        return code !== 1004 && // reserved
+        code !== 1005 && // "MUST NOT be set as a status code"
+        code !== 1006;
+      }
+      return code >= 3e3 && code <= 4999;
+    }
+    function failWebsocketConnection(ws, reason) {
+      const { [kController]: controller, [kResponse]: response } = ws;
+      controller.abort();
+      if (response?.socket && !response.socket.destroyed) {
+        response.socket.destroy();
+      }
+      if (reason) {
+        fireEvent("error", ws, ErrorEvent, {
+          error: new Error(reason)
+        });
+      }
+    }
+    module2.exports = {
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived
     };
-    var bufferCrc32 = crc32;
-    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
-    module2.exports = index;
   }
 });
 
-// node_modules/archiver/lib/plugins/json.js
-var require_json = __commonJS({
-  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var Transform = require_ours().Transform;
-    var crc32 = require_dist5();
-    var util = require_archiver_utils();
-    var Json = function(options) {
-      if (!(this instanceof Json)) {
-        return new Json(options);
+// node_modules/undici/lib/websocket/connection.js
+var require_connection3 = __commonJS({
+  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+    "use strict";
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { uid, states } = require_constants24();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose
+    } = require_symbols15();
+    var { fireEvent, failWebsocketConnection } = require_util30();
+    var { CloseEvent } = require_events3();
+    var { makeRequest } = require_request6();
+    var { fetching } = require_fetch3();
+    var { Headers } = require_headers4();
+    var { getGlobalDispatcher } = require_global6();
+    var { kHeadersList } = require_symbols11();
+    var channels = {};
+    channels.open = diagnosticsChannel.channel("undici:websocket:open");
+    channels.close = diagnosticsChannel.channel("undici:websocket:close");
+    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
+      const requestURL = url;
+      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = new Headers(options.headers)[kHeadersList];
+        request2.headersList = headersList;
       }
-      options = this.options = util.defaults(options, {});
-      Transform.call(this, options);
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.files = [];
+      const keyValue = crypto2.randomBytes(16).toString("base64");
+      request2.headersList.append("sec-websocket-key", keyValue);
+      request2.headersList.append("sec-websocket-version", "13");
+      for (const protocol of protocols) {
+        request2.headersList.append("sec-websocket-protocol", protocol);
+      }
+      const permessageDeflate = "";
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
+            return;
+          }
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
+          }
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
+          }
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
+          }
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
+          }
+          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
+          if (secExtension !== null && secExtension !== permessageDeflate) {
+            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
+            return;
+          }
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+            return;
+          }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response);
+        }
+      });
+      return controller;
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
+      }
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kSentClose]) {
+        code = 1006;
+      }
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, CloseEvent, {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
+        });
+      }
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection
     };
-    inherits(Json, Transform);
-    Json.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
+  }
+});
+
+// node_modules/undici/lib/websocket/frame.js
+var require_frame3 = __commonJS({
+  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants24();
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+        this.maskKey = crypto2.randomBytes(4);
+      }
+      createFrame(opcode) {
+        const bodyLength = this.frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
+        }
+        const buffer = Buffer.allocUnsafe(bodyLength + offset);
+        buffer[0] = buffer[1] = 0;
+        buffer[0] |= 128;
+        buffer[0] = (buffer[0] & 240) + opcode;
+        buffer[offset - 4] = this.maskKey[0];
+        buffer[offset - 3] = this.maskKey[1];
+        buffer[offset - 2] = this.maskKey[2];
+        buffer[offset - 1] = this.maskKey[3];
+        buffer[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer[2] = buffer[3] = 0;
+          buffer.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer[1] |= 128;
+        for (let i = 0; i < bodyLength; i++) {
+          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        }
+        return buffer;
+      }
     };
-    Json.prototype._writeStringified = function() {
-      var fileString = JSON.stringify(this.files);
-      this.write(fileString);
+    module2.exports = {
+      WebsocketFrameSend
     };
-    Json.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.crc32 = 0;
-      function onend(err, sourceBuffer) {
-        if (err) {
-          callback(err);
-          return;
+  }
+});
+
+// node_modules/undici/lib/websocket/receiver.js
+var require_receiver3 = __commonJS({
+  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
+    "use strict";
+    var { Writable } = require("stream");
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { parserStates, opcodes, states, emptyBuffer } = require_constants24();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols15();
+    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util30();
+    var { WebsocketFrameSend } = require_frame3();
+    var channels = {};
+    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
+    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      constructor(ws) {
+        super();
+        this.ws = ws;
+      }
+      /**
+       * @param {Buffer} chunk
+       * @param {() => void} callback
+       */
+      _write(chunk, _2, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        this.run(callback);
+      }
+      /**
+       * Runs whenever a new chunk is received.
+       * Callback is called whenever there are no more chunks buffering,
+       * or not enough bytes are buffered to parse.
+       */
+      run(callback) {
+        while (true) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.fin = (buffer[0] & 128) !== 0;
+            this.#info.opcode = buffer[0] & 15;
+            this.#info.originalOpcode ??= this.#info.opcode;
+            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
+            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            const payloadLength = buffer[1] & 127;
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (this.#info.fragmented && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
+              return;
+            } else if (this.#info.opcode === opcodes.CLOSE) {
+              if (payloadLength === 1) {
+                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+                return;
+              }
+              const body = this.consume(payloadLength);
+              this.#info.closeInfo = this.parseCloseBody(false, body);
+              if (!this.ws[kSentClose]) {
+                const body2 = Buffer.allocUnsafe(2);
+                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+                const closeFrame = new WebsocketFrameSend(body2);
+                this.ws[kResponse].socket.write(
+                  closeFrame.createFrame(opcodes.CLOSE),
+                  (err) => {
+                    if (!err) {
+                      this.ws[kSentClose] = true;
+                    }
+                  }
+                );
+              }
+              this.ws[kReadyState] = states.CLOSING;
+              this.ws[kReceivedClose] = true;
+              this.end();
+              return;
+            } else if (this.#info.opcode === opcodes.PING) {
+              const body = this.consume(payloadLength);
+              if (!this.ws[kReceivedClose]) {
+                const frame = new WebsocketFrameSend(body);
+                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+                if (channels.ping.hasSubscribers) {
+                  channels.ping.publish({
+                    payload: body
+                  });
+                }
+              }
+              this.#state = parserStates.INFO;
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            } else if (this.#info.opcode === opcodes.PONG) {
+              const body = this.consume(payloadLength);
+              if (channels.pong.hasSubscribers) {
+                channels.pong.publish({
+                  payload: body
+                });
+              }
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            }
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            } else if (this.#byteOffset >= this.#info.payloadLength) {
+              const body = this.consume(this.#info.payloadLength);
+              this.#fragments.push(body);
+              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
+                const fullMessage = Buffer.concat(this.#fragments);
+                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
+                this.#info = {};
+                this.#fragments.length = 0;
+              }
+              this.#state = parserStates.INFO;
+            }
+          }
+          if (this.#byteOffset > 0) {
+            continue;
+          } else {
+            callback();
+            break;
+          }
         }
-        data.size = sourceBuffer.length || 0;
-        data.crc32 = crc32.unsigned(sourceBuffer);
-        self2.files.push(data);
-        callback(null, data);
-      }
-      if (data.sourceType === "buffer") {
-        onend(null, source);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, onend);
-      }
-    };
-    Json.prototype.finalize = function() {
-      this._writeStringified();
-      this.end();
-    };
-    module2.exports = Json;
-  }
-});
-
-// node_modules/archiver/index.js
-var require_archiver = __commonJS({
-  "node_modules/archiver/index.js"(exports2, module2) {
-    var Archiver = require_core2();
-    var formats = {};
-    var vending = function(format, options) {
-      return vending.create(format, options);
-    };
-    vending.create = function(format, options) {
-      if (formats[format]) {
-        var instance = new Archiver(format, options);
-        instance.setFormat(format);
-        instance.setModule(new formats[format](options));
-        return instance;
-      } else {
-        throw new Error("create(" + format + "): format not registered");
       }
-    };
-    vending.registerFormat = function(format, module3) {
-      if (formats[format]) {
-        throw new Error("register(" + format + "): format already registered");
+      /**
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer|null}
+       */
+      consume(n) {
+        if (n > this.#byteOffset) {
+          return null;
+        } else if (n === 0) {
+          return emptyBuffer;
+        }
+        if (this.#buffers[0].length === n) {
+          this.#byteOffset -= this.#buffers[0].length;
+          return this.#buffers.shift();
+        }
+        const buffer = Buffer.allocUnsafe(n);
+        let offset = 0;
+        while (offset !== n) {
+          const next = this.#buffers[0];
+          const { length } = next;
+          if (length + offset === n) {
+            buffer.set(this.#buffers.shift(), offset);
+            break;
+          } else if (length + offset > n) {
+            buffer.set(next.subarray(0, n - offset), offset);
+            this.#buffers[0] = next.subarray(n - offset);
+            break;
+          } else {
+            buffer.set(this.#buffers.shift(), offset);
+            offset += next.length;
+          }
+        }
+        this.#byteOffset -= n;
+        return buffer;
       }
-      if (typeof module3 !== "function") {
-        throw new Error("register(" + format + "): format module invalid");
+      parseCloseBody(onlyCode, data) {
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
+        }
+        if (onlyCode) {
+          if (!isValidStatusCode(code)) {
+            return null;
+          }
+          return { code };
+        }
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
+        }
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return null;
+        }
+        try {
+          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+        } catch {
+          return null;
+        }
+        return { code, reason };
       }
-      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
-        throw new Error("register(" + format + "): format module missing methods");
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
-      formats[format] = module3;
     };
-    vending.isRegisteredFormat = function(format) {
-      if (formats[format]) {
-        return true;
-      }
-      return false;
+    module2.exports = {
+      ByteParser
     };
-    vending.registerFormat("zip", require_zip());
-    vending.registerFormat("tar", require_tar2());
-    vending.registerFormat("json", require_json());
-    module2.exports = vending;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/upload/zip.js
-var require_zip2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
+// node_modules/undici/lib/websocket/websocket.js
+var require_websocket3 = __commonJS({
+  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2 } = require_constants21();
+    var { URLSerializer } = require_dataURL();
+    var { getGlobalOrigin } = require_global5();
+    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants24();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols15();
+    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util30();
+    var { establishWebSocketConnection } = require_connection3();
+    var { WebsocketFrameSend } = require_frame3();
+    var { ByteParser } = require_receiver3();
+    var { kEnumerableProperty, isBlobLike } = require_util24();
+    var { getGlobalDispatcher } = require_global6();
+    var { types } = require("util");
+    var experimentalWarned = false;
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
+      };
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url, protocols = []) {
+        super();
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
+            code: "UNDICI-WS"
+          });
+        }
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
+        url = webidl.converters.USVString(url);
+        protocols = options.protocols;
+        const baseURL = getGlobalOrigin();
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, baseURL);
+        } catch (e) {
+          throw new DOMException2(e, "SyntaxError");
+        }
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
+        }
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException2(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
+        }
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException2("Got fragment", "SyntaxError");
+        }
+        if (typeof protocols === "string") {
+          protocols = [protocols];
+        }
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          this,
+          (response) => this.#onConnectionEstablished(response),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kBinaryType] = "blob";
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
+       * @param {number|undefined} code
+       * @param {string|undefined} reason
+       */
+      close(code = void 0, reason = void 0) {
+        webidl.brandCheck(this, _WebSocket);
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason);
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException2("invalid code", "InvalidAccessError");
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException2(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
           }
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
+        } else if (!isEstablished(this)) {
+          failWebsocketConnection(this, "Connection was closed before it was established.");
+          this[kReadyState] = _WebSocket.CLOSING;
+        } else if (!isClosing(this)) {
+          const frame = new WebsocketFrameSend();
+          if (code !== void 0 && reason === void 0) {
+            frame.frameData = Buffer.allocUnsafe(2);
+            frame.frameData.writeUInt16BE(code, 0);
+          } else if (code !== void 0 && reason !== void 0) {
+            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+            frame.frameData.writeUInt16BE(code, 0);
+            frame.frameData.write(reason, 2, "utf-8");
+          } else {
+            frame.frameData = emptyBuffer;
+          }
+          const socket = this[kResponse].socket;
+          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
+            if (!err) {
+              this[kSentClose] = true;
+            }
+          });
+          this[kReadyState] = states.CLOSING;
+        } else {
+          this[kReadyState] = _WebSocket.CLOSING;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
-    var stream = __importStar2(require("stream"));
-    var promises_1 = require("fs/promises");
-    var archiver2 = __importStar2(require_archiver());
-    var core14 = __importStar2(require_core());
-    var config_1 = require_config2();
-    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
-    var ZipUploadStream = class extends stream.Transform {
-      constructor(bufferSize) {
-        super({
-          highWaterMark: bufferSize
-        });
-      }
-      // eslint-disable-next-line @typescript-eslint/no-explicit-any
-      _transform(chunk, enc, cb) {
-        cb(null, chunk);
       }
-    };
-    exports2.ZipUploadStream = ZipUploadStream;
-    function createZipUploadStream(uploadSpecification_1) {
-      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
-        core14.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
-        const zip = archiver2.create("zip", {
-          highWaterMark: (0, config_1.getUploadChunkSize)(),
-          zlib: { level: compressionLevel }
-        });
-        zip.on("error", zipErrorCallback);
-        zip.on("warning", zipWarningCallback);
-        zip.on("finish", zipFinishCallback);
-        zip.on("end", zipEndCallback);
-        for (const file of uploadSpecification) {
-          if (file.sourcePath !== null) {
-            let sourcePath = file.sourcePath;
-            if (file.stats.isSymbolicLink()) {
-              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
-            }
-            zip.file(sourcePath, {
-              name: file.destinationPath
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
+        data = webidl.converters.WebSocketSendData(data);
+        if (this[kReadyState] === _WebSocket.CONNECTING) {
+          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
+          return;
+        }
+        const socket = this[kResponse].socket;
+        if (typeof data === "string") {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.TEXT);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (types.isArrayBuffer(data)) {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (ArrayBuffer.isView(data)) {
+          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
+          const frame = new WebsocketFrameSend(ab);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += ab.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= ab.byteLength;
+          });
+        } else if (isBlobLike(data)) {
+          const frame = new WebsocketFrameSend();
+          data.arrayBuffer().then((ab) => {
+            const value = Buffer.from(ab);
+            frame.frameData = value;
+            const buffer = frame.createFrame(opcodes.BINARY);
+            this.#bufferedAmount += value.byteLength;
+            socket.write(buffer, () => {
+              this.#bufferedAmount -= value.byteLength;
             });
-          } else {
-            zip.append("", { name: file.destinationPath });
-          }
+          });
         }
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const zipUploadStream = new ZipUploadStream(bufferSize);
-        core14.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
-        core14.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
-        zip.pipe(zipUploadStream);
-        zip.finalize();
-        return zipUploadStream;
-      });
-    }
-    exports2.createZipUploadStream = createZipUploadStream;
-    var zipErrorCallback = (error3) => {
-      core14.error("An error has occurred while creating the zip file for upload");
-      core14.info(error3);
-      throw new Error("An error has occurred during zip creation for the artifact");
-    };
-    var zipWarningCallback = (error3) => {
-      if (error3.code === "ENOENT") {
-        core14.warning("ENOENT warning during artifact zip creation. No such file or directory");
-        core14.info(error3);
-      } else {
-        core14.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
-        core14.info(error3);
       }
-    };
-    var zipFinishCallback = () => {
-      core14.debug("Zip stream for upload has finished.");
-    };
-    var zipEndCallback = () => {
-      core14.debug("Zip stream for upload has ended.");
-    };
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
-var require_upload_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
+      }
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve3) {
-          resolve3(value);
-        });
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      return new (P || (P = Promise))(function(resolve3, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
+      }
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
+      }
+      set onopen(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
         }
-        function step(result) {
-          result.done ? resolve3(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
+      }
+      set onerror(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadArtifact = void 0;
-    var core14 = __importStar2(require_core());
-    var retention_1 = require_retention();
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var upload_zip_specification_1 = require_upload_zip_specification();
-    var util_1 = require_util18();
-    var blob_upload_1 = require_blob_upload();
-    var zip_1 = require_zip2();
-    var generated_1 = require_generated();
-    var errors_1 = require_errors4();
-    function uploadArtifact(name, files, rootDirectory, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
-        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
-        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
-        if (zipSpecification.length === 0) {
-          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
         }
-        const backendIds = (0, util_1.getBackendIdsFromToken)();
-        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
-        const createArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          version: 4
-        };
-        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
-        if (expiresAt) {
-          createArtifactReq.expiresAt = expiresAt;
+      }
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
+      }
+      set onclose(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.close) {
+          this.removeEventListener("close", this.#events.close);
         }
-        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
-        if (!createArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
         }
-        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
-        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
-        const finalizeArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
-        };
-        if (uploadResult.sha256Hash) {
-          finalizeArtifactReq.hash = generated_1.StringValue.create({
-            value: `sha256:${uploadResult.sha256Hash}`
-          });
+      }
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
+      }
+      set onmessage(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
         }
-        core14.info(`Finalizing artifact upload`);
-        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
-        if (!finalizeArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
         }
-        const artifactId = BigInt(finalizeArtifactResp.artifactId);
-        core14.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
-        return {
-          size: uploadResult.uploadSize,
-          digest: uploadResult.sha256Hash,
-          id: Number(artifactId)
-        };
-      });
-    }
-    exports2.uploadArtifact = uploadArtifact;
-  }
-});
-
-// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
-var require_context2 = __commonJS({
-  "node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Context = void 0;
-    var fs_1 = require("fs");
-    var os_1 = require("os");
-    var Context = class {
+      }
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
+      }
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
+      }
       /**
-       * Hydrate the context from the environment
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
        */
-      constructor() {
-        var _a, _b, _c;
-        this.payload = {};
-        if (process.env.GITHUB_EVENT_PATH) {
-          if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) {
-            this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" }));
-          } else {
-            const path4 = process.env.GITHUB_EVENT_PATH;
-            process.stdout.write(`GITHUB_EVENT_PATH ${path4} does not exist${os_1.EOL}`);
-          }
+      #onConnectionEstablished(response) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this);
+        parser.on("drain", function onParserDrain() {
+          this.ws[kResponse].socket.resume();
+        });
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
         }
-        this.eventName = process.env.GITHUB_EVENT_NAME;
-        this.sha = process.env.GITHUB_SHA;
-        this.ref = process.env.GITHUB_REF;
-        this.workflow = process.env.GITHUB_WORKFLOW;
-        this.action = process.env.GITHUB_ACTION;
-        this.actor = process.env.GITHUB_ACTOR;
-        this.job = process.env.GITHUB_JOB;
-        this.runAttempt = parseInt(process.env.GITHUB_RUN_ATTEMPT, 10);
-        this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);
-        this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);
-        this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;
-        this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;
-        this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
-      get issue() {
-        const payload = this.payload;
-        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
+    };
+    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
+    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
+    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
+    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
+    Object.defineProperties(WebSocket.prototype, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors,
+      url: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      bufferedAmount: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onclose: kEnumerableProperty,
+      close: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      binaryType: kEnumerableProperty,
+      send: kEnumerableProperty,
+      extensions: kEnumerableProperty,
+      protocol: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
+        configurable: true
       }
-      get repo() {
-        if (process.env.GITHUB_REPOSITORY) {
-          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
-          return { owner, repo };
+    });
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
+    });
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
+    );
+    webidl.converters["DOMString or sequence"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
+      }
+      return webidl.converters.DOMString(V);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+      {
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        get defaultValue() {
+          return [];
         }
-        if (this.payload.repository) {
-          return {
-            owner: this.payload.repository.owner.login,
-            repo: this.payload.repository.name
-          };
+      },
+      {
+        key: "dispatcher",
+        converter: (V) => V,
+        get defaultValue() {
+          return getGlobalDispatcher();
         }
-        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
+      },
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
+      }
+      return { protocols: webidl.converters["DOMString or sequence"](V) };
+    };
+    webidl.converters.WebSocketSendData = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
+        }
+      }
+      return webidl.converters.USVString(V);
+    };
+    module2.exports = {
+      WebSocket
     };
-    exports2.Context = Context;
   }
 });
 
-// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
-var require_proxy2 = __commonJS({
-  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
+// node_modules/undici/index.js
+var require_undici3 = __commonJS({
+  "node_modules/undici/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.checkBypass = exports2.getProxyUrl = void 0;
-    function getProxyUrl(reqUrl) {
-      const usingSsl = reqUrl.protocol === "https:";
-      if (checkBypass(reqUrl)) {
-        return void 0;
-      }
-      const proxyVar = (() => {
-        if (usingSsl) {
-          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+    var Client = require_client3();
+    var Dispatcher = require_dispatcher3();
+    var errors = require_errors6();
+    var Pool = require_pool3();
+    var BalancedPool = require_balanced_pool3();
+    var Agent = require_agent3();
+    var util = require_util24();
+    var { InvalidArgumentError } = errors;
+    var api = require_api3();
+    var buildConnector = require_connect3();
+    var MockClient = require_mock_client3();
+    var MockAgent = require_mock_agent3();
+    var MockPool = require_mock_pool3();
+    var mockErrors = require_mock_errors3();
+    var ProxyAgent = require_proxy_agent3();
+    var RetryHandler = require_RetryHandler();
+    var { getGlobalDispatcher, setGlobalDispatcher } = require_global6();
+    var DecoratorHandler = require_DecoratorHandler();
+    var RedirectHandler = require_RedirectHandler();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var hasCrypto;
+    try {
+      require("crypto");
+      hasCrypto = true;
+    } catch {
+      hasCrypto = false;
+    }
+    Object.assign(Dispatcher.prototype, api);
+    module2.exports.Dispatcher = Dispatcher;
+    module2.exports.Client = Client;
+    module2.exports.Pool = Pool;
+    module2.exports.BalancedPool = BalancedPool;
+    module2.exports.Agent = Agent;
+    module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.RetryHandler = RetryHandler;
+    module2.exports.DecoratorHandler = DecoratorHandler;
+    module2.exports.RedirectHandler = RedirectHandler;
+    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.buildConnector = buildConnector;
+    module2.exports.errors = errors;
+    function makeDispatcher(fn) {
+      return (url, opts, handler2) => {
+        if (typeof opts === "function") {
+          handler2 = opts;
+          opts = null;
+        }
+        if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) {
+          throw new InvalidArgumentError("invalid url");
+        }
+        if (opts != null && typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (opts && opts.path != null) {
+          if (typeof opts.path !== "string") {
+            throw new InvalidArgumentError("invalid opts.path");
+          }
+          let path4 = opts.path;
+          if (!opts.path.startsWith("/")) {
+            path4 = `/${path4}`;
+          }
+          url = new URL(util.parseOrigin(url).origin + path4);
         } else {
-          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+          if (!opts) {
+            opts = typeof url === "object" ? url : {};
+          }
+          url = util.parseURL(url);
         }
-      })();
-      if (proxyVar) {
-        try {
-          return new DecodedURL(proxyVar);
-        } catch (_a) {
-          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
-            return new DecodedURL(`http://${proxyVar}`);
+        const { agent, dispatcher = getGlobalDispatcher() } = opts;
+        if (agent) {
+          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
         }
-      } else {
-        return void 0;
-      }
+        return fn.call(dispatcher, {
+          ...opts,
+          origin: url.origin,
+          path: url.search ? `${url.pathname}${url.search}` : url.pathname,
+          method: opts.method || (opts.body ? "PUT" : "GET")
+        }, handler2);
+      };
     }
-    exports2.getProxyUrl = getProxyUrl;
-    function checkBypass(reqUrl) {
-      if (!reqUrl.hostname) {
-        return false;
-      }
-      const reqHost = reqUrl.hostname;
-      if (isLoopbackAddress(reqHost)) {
-        return true;
-      }
-      const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || "";
-      if (!noProxy) {
-        return false;
-      }
-      let reqPort;
-      if (reqUrl.port) {
-        reqPort = Number(reqUrl.port);
-      } else if (reqUrl.protocol === "http:") {
-        reqPort = 80;
-      } else if (reqUrl.protocol === "https:") {
-        reqPort = 443;
-      }
-      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
-      if (typeof reqPort === "number") {
-        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
-      }
-      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
-        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
-          return true;
+    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
+    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
+    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
+      let fetchImpl = null;
+      module2.exports.fetch = async function fetch(resource) {
+        if (!fetchImpl) {
+          fetchImpl = require_fetch3().fetch;
         }
-      }
-      return false;
+        try {
+          return await fetchImpl(...arguments);
+        } catch (err) {
+          if (typeof err === "object") {
+            Error.captureStackTrace(err, this);
+          }
+          throw err;
+        }
+      };
+      module2.exports.Headers = require_headers4().Headers;
+      module2.exports.Response = require_response4().Response;
+      module2.exports.Request = require_request6().Request;
+      module2.exports.FormData = require_formdata3().FormData;
+      module2.exports.File = require_file5().File;
+      module2.exports.FileReader = require_filereader3().FileReader;
+      const { setGlobalOrigin, getGlobalOrigin } = require_global5();
+      module2.exports.setGlobalOrigin = setGlobalOrigin;
+      module2.exports.getGlobalOrigin = getGlobalOrigin;
+      const { CacheStorage } = require_cachestorage3();
+      const { kConstruct } = require_symbols14();
+      module2.exports.caches = new CacheStorage(kConstruct);
     }
-    exports2.checkBypass = checkBypass;
-    function isLoopbackAddress(host) {
-      const hostLower = host.toLowerCase();
-      return hostLower === "localhost" || hostLower.startsWith("127.") || hostLower.startsWith("[::1]") || hostLower.startsWith("[0:0:0:0:0:0:0:1]");
+    if (util.nodeMajor >= 16) {
+      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies3();
+      module2.exports.deleteCookie = deleteCookie;
+      module2.exports.getCookies = getCookies;
+      module2.exports.getSetCookies = getSetCookies;
+      module2.exports.setCookie = setCookie;
+      const { parseMIMEType, serializeAMimeType } = require_dataURL();
+      module2.exports.parseMIMEType = parseMIMEType;
+      module2.exports.serializeAMimeType = serializeAMimeType;
     }
-    var DecodedURL = class extends URL {
-      constructor(url, base) {
-        super(url, base);
-        this._decodedUsername = decodeURIComponent(super.username);
-        this._decodedPassword = decodeURIComponent(super.password);
-      }
-      get username() {
-        return this._decodedUsername;
-      }
-      get password() {
-        return this._decodedPassword;
-      }
-    };
+    if (util.nodeMajor >= 18 && hasCrypto) {
+      const { WebSocket } = require_websocket3();
+      module2.exports.WebSocket = WebSocket;
+    }
+    module2.exports.request = makeDispatcher(api.request);
+    module2.exports.stream = makeDispatcher(api.stream);
+    module2.exports.pipeline = makeDispatcher(api.pipeline);
+    module2.exports.connect = makeDispatcher(api.connect);
+    module2.exports.upgrade = makeDispatcher(api.upgrade);
+    module2.exports.MockClient = MockClient;
+    module2.exports.MockPool = MockPool;
+    module2.exports.MockAgent = MockAgent;
+    module2.exports.mockErrors = mockErrors;
   }
 });
 
@@ -125615,7 +143868,7 @@ var require_lib4 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy2());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -126171,7 +144424,7 @@ var require_lib4 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js
-var require_utils9 = __commonJS({
+var require_utils10 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -126231,7 +144484,7 @@ var require_utils9 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getApiBaseUrl = exports2.getProxyFetch = exports2.getProxyAgentDispatcher = exports2.getProxyAgent = exports2.getAuthString = void 0;
     var httpClient = __importStar2(require_lib4());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     function getAuthString(token, options) {
       if (!token && !options.auth) {
         throw new Error("Parameter token or opts.auth is required");
@@ -130077,7 +148330,7 @@ var require_dist_node10 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js
-var require_utils10 = __commonJS({
+var require_utils11 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -130110,7 +148363,7 @@ var require_utils10 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokitOptions = exports2.GitHub = exports2.defaults = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var Utils = __importStar2(require_utils9());
+    var Utils = __importStar2(require_utils10());
     var core_1 = require_dist_node8();
     var plugin_rest_endpoint_methods_1 = require_dist_node9();
     var plugin_paginate_rest_1 = require_dist_node10();
@@ -130170,7 +148423,7 @@ var require_github2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokit = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     exports2.context = new Context.Context();
     function getOctokit(token, options, ...additionalPlugins) {
       const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
@@ -132129,7 +150382,7 @@ var require_download_artifact = __commonJS({
     var config_1 = require_config2();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var errors_1 = require_errors4();
     var scrubQueryParameters = (url) => {
       const parsed = new URL(url);
@@ -132511,10 +150764,10 @@ var require_get_artifact = __commonJS({
     var github_1 = require_github2();
     var plugin_retry_1 = require_dist_node12();
     var core14 = __importStar2(require_core());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var retry_options_1 = require_retry_options();
     var plugin_request_log_1 = require_dist_node11();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var user_agent_1 = require_user_agent2();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
@@ -132635,11 +150888,11 @@ var require_delete_artifact = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent2();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var generated_1 = require_generated();
     var get_artifact_1 = require_get_artifact();
     var errors_1 = require_errors4();
@@ -132741,11 +150994,11 @@ var require_list_artifacts = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent2();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var config_1 = require_config2();
     var generated_1 = require_generated();
     var maximumArtifactCount = (0, config_1.getMaxArtifactListCount)();
@@ -132862,7 +151115,7 @@ var require_list_artifacts = __commonJS({
 });
 
 // node_modules/@actions/artifact/lib/internal/client.js
-var require_client3 = __commonJS({
+var require_client4 = __commonJS({
   "node_modules/@actions/artifact/lib/internal/client.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -133049,17 +151302,17 @@ var require_artifact2 = __commonJS({
       for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var client_1 = require_client3();
+    var client_1 = require_client4();
     __exportStar2(require_interfaces2(), exports2);
     __exportStar2(require_errors4(), exports2);
-    __exportStar2(require_client3(), exports2);
+    __exportStar2(require_client4(), exports2);
     var client = new client_1.DefaultArtifactClient();
     exports2.default = client;
   }
 });
 
 // node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js
-var require_utils11 = __commonJS({
+var require_utils12 = __commonJS({
   "node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -133124,7 +151377,7 @@ var require_command2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.issue = exports2.issueCommand = void 0;
     var os2 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueCommand(command, properties, message) {
       const cmd = new Command(command, properties, message);
       process.stdout.write(cmd.toString() + os2.EOL);
@@ -133212,7 +151465,7 @@ var require_file_command2 = __commonJS({
     var crypto2 = __importStar2(require("crypto"));
     var fs3 = __importStar2(require("fs"));
     var os2 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueFileCommand(command, message) {
       const filePath = process.env[`GITHUB_${command}`];
       if (!filePath) {
@@ -133387,7 +151640,7 @@ var require_lib5 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy3());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -135680,7 +153933,7 @@ var require_core3 = __commonJS({
     exports2.platform = exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = exports2.markdownSummary = exports2.summary = exports2.getIDToken = exports2.getState = exports2.saveState = exports2.group = exports2.endGroup = exports2.startGroup = exports2.info = exports2.notice = exports2.warning = exports2.error = exports2.debug = exports2.isDebug = exports2.setFailed = exports2.setCommandEcho = exports2.setOutput = exports2.getBooleanInput = exports2.getMultilineInput = exports2.getInput = exports2.addPath = exports2.setSecret = exports2.exportVariable = exports2.ExitCode = void 0;
     var command_1 = require_command2();
     var file_command_1 = require_file_command2();
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     var os2 = __importStar2(require("os"));
     var path4 = __importStar2(require("path"));
     var oidc_utils_1 = require_oidc_utils2();
@@ -136753,7 +155006,7 @@ var require_crc64 = __commonJS({
 });
 
 // node_modules/@actions/artifact-legacy/lib/internal/utils.js
-var require_utils12 = __commonJS({
+var require_utils13 = __commonJS({
   "node_modules/@actions/artifact-legacy/lib/internal/utils.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -137063,7 +155316,7 @@ var require_http_manager = __commonJS({
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.HttpManager = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var HttpManager = class {
       constructor(clientCount, userAgent2) {
         if (clientCount < 1) {
@@ -137318,7 +155571,7 @@ var require_requestUtils2 = __commonJS({
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.retryHttpClientRequest = exports2.retry = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var core14 = __importStar2(require_core3());
     var config_variables_1 = require_config_variables();
     function retry2(name, operation, customErrorMessages, maxAttempts) {
@@ -137439,7 +155692,7 @@ var require_upload_http_client = __commonJS({
     var core14 = __importStar2(require_core3());
     var tmp = __importStar2(require_tmp_promise());
     var stream = __importStar2(require("stream"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var config_variables_1 = require_config_variables();
     var util_1 = require("util");
     var url_1 = require("url");
@@ -137830,7 +156083,7 @@ var require_download_http_client = __commonJS({
     var fs3 = __importStar2(require("fs"));
     var core14 = __importStar2(require_core3());
     var zlib = __importStar2(require("zlib"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var url_1 = require("url");
     var status_reporter_1 = require_status_reporter();
     var perf_hooks_1 = require("perf_hooks");
@@ -138173,7 +156426,7 @@ var require_artifact_client = __commonJS({
     var core14 = __importStar2(require_core3());
     var upload_specification_1 = require_upload_specification();
     var upload_http_client_1 = require_upload_http_client();
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation2();
     var download_http_client_1 = require_download_http_client();
     var download_specification_1 = require_download_specification();
@@ -143449,10 +161702,12 @@ async function runWrapper() {
 void runWrapper();
 /*! Bundled license information:
 
+undici/lib/web/fetch/body.js:
 undici/lib/web/fetch/body.js:
 undici/lib/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
+undici/lib/web/websocket/frame.js:
 undici/lib/web/websocket/frame.js:
 undici/lib/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
diff --git a/lib/start-proxy-action.js b/lib/start-proxy-action.js
index 75e746feed..2cd120784e 100644
--- a/lib/start-proxy-action.js
+++ b/lib/start-proxy-action.js
@@ -1337,14 +1337,14 @@ var require_util = __commonJS({
         }
         const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
         let origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
-        let path2 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
+        let path3 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
         if (origin[origin.length - 1] === "/") {
           origin = origin.slice(0, origin.length - 1);
         }
-        if (path2 && path2[0] !== "/") {
-          path2 = `/${path2}`;
+        if (path3 && path3[0] !== "/") {
+          path3 = `/${path3}`;
         }
-        return new URL(`${origin}${path2}`);
+        return new URL(`${origin}${path3}`);
       }
       if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
         throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
@@ -1795,39 +1795,39 @@ var require_diagnostics = __commonJS({
       });
       diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
         const {
-          request: { method, path: path2, origin }
+          request: { method, path: path3, origin }
         } = evt;
-        debuglog("sending request to %s %s/%s", method, origin, path2);
+        debuglog("sending request to %s %s/%s", method, origin, path3);
       });
       diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
         const {
-          request: { method, path: path2, origin },
+          request: { method, path: path3, origin },
           response: { statusCode }
         } = evt;
         debuglog(
           "received response to %s %s/%s - HTTP %d",
           method,
           origin,
-          path2,
+          path3,
           statusCode
         );
       });
       diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
         const {
-          request: { method, path: path2, origin }
+          request: { method, path: path3, origin }
         } = evt;
-        debuglog("trailers received from %s %s/%s", method, origin, path2);
+        debuglog("trailers received from %s %s/%s", method, origin, path3);
       });
       diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
         const {
-          request: { method, path: path2, origin },
+          request: { method, path: path3, origin },
           error: error3
         } = evt;
         debuglog(
           "request to %s %s/%s errored - %s",
           method,
           origin,
-          path2,
+          path3,
           error3.message
         );
       });
@@ -1876,9 +1876,9 @@ var require_diagnostics = __commonJS({
         });
         diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
           const {
-            request: { method, path: path2, origin }
+            request: { method, path: path3, origin }
           } = evt;
-          debuglog("sending request to %s %s/%s", method, origin, path2);
+          debuglog("sending request to %s %s/%s", method, origin, path3);
         });
       }
       diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => {
@@ -1941,7 +1941,7 @@ var require_request = __commonJS({
     var kHandler = /* @__PURE__ */ Symbol("handler");
     var Request = class {
       constructor(origin, {
-        path: path2,
+        path: path3,
         method,
         body,
         headers,
@@ -1956,11 +1956,11 @@ var require_request = __commonJS({
         expectContinue,
         servername
       }, handler2) {
-        if (typeof path2 !== "string") {
+        if (typeof path3 !== "string") {
           throw new InvalidArgumentError("path must be a string");
-        } else if (path2[0] !== "/" && !(path2.startsWith("http://") || path2.startsWith("https://")) && method !== "CONNECT") {
+        } else if (path3[0] !== "/" && !(path3.startsWith("http://") || path3.startsWith("https://")) && method !== "CONNECT") {
           throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.test(path2)) {
+        } else if (invalidPathRegex.test(path3)) {
           throw new InvalidArgumentError("invalid request path");
         }
         if (typeof method !== "string") {
@@ -2023,7 +2023,7 @@ var require_request = __commonJS({
         this.completed = false;
         this.aborted = false;
         this.upgrade = upgrade || null;
-        this.path = query ? buildURL(path2, query) : path2;
+        this.path = query ? buildURL(path3, query) : path3;
         this.origin = origin;
         this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
         this.blocking = blocking == null ? false : blocking;
@@ -6536,7 +6536,7 @@ var require_client_h1 = __commonJS({
       return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
     }
     function writeH1(client, request2) {
-      const { method, path: path2, host, upgrade, blocking, reset } = request2;
+      const { method, path: path3, host, upgrade, blocking, reset } = request2;
       let { body, headers, contentLength } = request2;
       const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
       if (util.isFormDataLike(body)) {
@@ -6602,7 +6602,7 @@ var require_client_h1 = __commonJS({
       if (blocking) {
         socket[kBlocking] = true;
       }
-      let header = `${method} ${path2} HTTP/1.1\r
+      let header = `${method} ${path3} HTTP/1.1\r
 `;
       if (typeof host === "string") {
         header += `host: ${host}\r
@@ -7128,7 +7128,7 @@ var require_client_h2 = __commonJS({
     }
     function writeH2(client, request2) {
       const session = client[kHTTP2Session];
-      const { method, path: path2, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      const { method, path: path3, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
       let { body } = request2;
       if (upgrade) {
         util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
@@ -7195,7 +7195,7 @@ var require_client_h2 = __commonJS({
         });
         return true;
       }
-      headers[HTTP2_HEADER_PATH] = path2;
+      headers[HTTP2_HEADER_PATH] = path3;
       headers[HTTP2_HEADER_SCHEME] = "https";
       const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
       if (body && typeof body.read === "function") {
@@ -7548,9 +7548,9 @@ var require_redirect_handler = __commonJS({
           return this.handler.onHeaders(statusCode, headers, resume, statusText);
         }
         const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
-        const path2 = search ? `${pathname}${search}` : pathname;
+        const path3 = search ? `${pathname}${search}` : pathname;
         this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path2;
+        this.opts.path = path3;
         this.opts.origin = origin;
         this.opts.maxRedirections = 0;
         this.opts.query = null;
@@ -8784,10 +8784,10 @@ var require_proxy_agent = __commonJS({
         };
         const {
           origin,
-          path: path2 = "/",
+          path: path3 = "/",
           headers = {}
         } = opts;
-        opts.path = origin + path2;
+        opts.path = origin + path3;
         if (!("host" in headers) && !("Host" in headers)) {
           const { host } = new URL2(origin);
           headers.host = host;
@@ -10708,20 +10708,20 @@ var require_mock_utils = __commonJS({
       }
       return true;
     }
-    function safeUrl(path2) {
-      if (typeof path2 !== "string") {
-        return path2;
+    function safeUrl(path3) {
+      if (typeof path3 !== "string") {
+        return path3;
       }
-      const pathSegments = path2.split("?");
+      const pathSegments = path3.split("?");
       if (pathSegments.length !== 2) {
-        return path2;
+        return path3;
       }
       const qp = new URLSearchParams(pathSegments.pop());
       qp.sort();
       return [...pathSegments, qp.toString()].join("?");
     }
-    function matchKey(mockDispatch2, { path: path2, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path2);
+    function matchKey(mockDispatch2, { path: path3, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path3);
       const methodMatch = matchValue(mockDispatch2.method, method);
       const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
       const headersMatch = matchHeaders(mockDispatch2, headers);
@@ -10743,7 +10743,7 @@ var require_mock_utils = __commonJS({
     function getMockDispatch(mockDispatches, key) {
       const basePath = key.query ? buildURL(key.path, key.query) : key.path;
       const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
-      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path2 }) => matchValue(safeUrl(path2), resolvedPath));
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path3 }) => matchValue(safeUrl(path3), resolvedPath));
       if (matchedMockDispatches.length === 0) {
         throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
@@ -10781,9 +10781,9 @@ var require_mock_utils = __commonJS({
       }
     }
     function buildKey(opts) {
-      const { path: path2, method, body, headers, query } = opts;
+      const { path: path3, method, body, headers, query } = opts;
       return {
-        path: path2,
+        path: path3,
         method,
         body,
         headers,
@@ -11246,10 +11246,10 @@ var require_pending_interceptors_formatter = __commonJS({
       }
       format(pendingInterceptors) {
         const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path2, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+          ({ method, path: path3, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
             Method: method,
             Origin: origin,
-            Path: path2,
+            Path: path3,
             "Status code": statusCode,
             Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
             Invocations: timesInvoked,
@@ -16130,9 +16130,9 @@ var require_util6 = __commonJS({
         }
       }
     }
-    function validateCookiePath(path2) {
-      for (let i = 0; i < path2.length; ++i) {
-        const code = path2.charCodeAt(i);
+    function validateCookiePath(path3) {
+      for (let i = 0; i < path3.length; ++i) {
+        const code = path3.charCodeAt(i);
         if (code < 32 || // exclude CTLs (0-31)
         code === 127 || // DEL
         code === 59) {
@@ -18726,11 +18726,11 @@ var require_undici = __commonJS({
           if (typeof opts.path !== "string") {
             throw new InvalidArgumentError("invalid opts.path");
           }
-          let path2 = opts.path;
+          let path3 = opts.path;
           if (!opts.path.startsWith("/")) {
-            path2 = `/${path2}`;
+            path3 = `/${path3}`;
           }
-          url = new URL(util.parseOrigin(url).origin + path2);
+          url = new URL(util.parseOrigin(url).origin + path3);
         } else {
           if (!opts) {
             opts = typeof url === "object" ? url : {};
@@ -20033,7 +20033,7 @@ var require_path_utils = __commonJS({
     exports2.toPosixPath = toPosixPath;
     exports2.toWin32Path = toWin32Path;
     exports2.toPlatformPath = toPlatformPath;
-    var path2 = __importStar2(require("path"));
+    var path3 = __importStar2(require("path"));
     function toPosixPath(pth) {
       return pth.replace(/[\\]/g, "/");
     }
@@ -20041,7 +20041,7 @@ var require_path_utils = __commonJS({
       return pth.replace(/[/]/g, "\\");
     }
     function toPlatformPath(pth) {
-      return pth.replace(/[/\\]/g, path2.sep);
+      return pth.replace(/[/\\]/g, path3.sep);
     }
   }
 });
@@ -20124,7 +20124,7 @@ var require_io_util = __commonJS({
     exports2.tryGetExecutablePath = tryGetExecutablePath;
     exports2.getCmdPath = getCmdPath;
     var fs = __importStar2(require("fs"));
-    var path2 = __importStar2(require("path"));
+    var path3 = __importStar2(require("path"));
     _a = fs.promises, exports2.chmod = _a.chmod, exports2.copyFile = _a.copyFile, exports2.lstat = _a.lstat, exports2.mkdir = _a.mkdir, exports2.open = _a.open, exports2.readdir = _a.readdir, exports2.rename = _a.rename, exports2.rm = _a.rm, exports2.rmdir = _a.rmdir, exports2.stat = _a.stat, exports2.symlink = _a.symlink, exports2.unlink = _a.unlink;
     exports2.IS_WINDOWS = process.platform === "win32";
     function readlink(fsPath) {
@@ -20179,7 +20179,7 @@ var require_io_util = __commonJS({
         }
         if (stats && stats.isFile()) {
           if (exports2.IS_WINDOWS) {
-            const upperExt = path2.extname(filePath).toUpperCase();
+            const upperExt = path3.extname(filePath).toUpperCase();
             if (extensions.some((validExt) => validExt.toUpperCase() === upperExt)) {
               return filePath;
             }
@@ -20203,11 +20203,11 @@ var require_io_util = __commonJS({
           if (stats && stats.isFile()) {
             if (exports2.IS_WINDOWS) {
               try {
-                const directory = path2.dirname(filePath);
-                const upperName = path2.basename(filePath).toUpperCase();
+                const directory = path3.dirname(filePath);
+                const upperName = path3.basename(filePath).toUpperCase();
                 for (const actualName of yield (0, exports2.readdir)(directory)) {
                   if (upperName === actualName.toUpperCase()) {
-                    filePath = path2.join(directory, actualName);
+                    filePath = path3.join(directory, actualName);
                     break;
                   }
                 }
@@ -20319,7 +20319,7 @@ var require_io = __commonJS({
     exports2.which = which4;
     exports2.findInPath = findInPath;
     var assert_1 = require("assert");
-    var path2 = __importStar2(require("path"));
+    var path3 = __importStar2(require("path"));
     var ioUtil = __importStar2(require_io_util());
     function cp(source_1, dest_1) {
       return __awaiter2(this, arguments, void 0, function* (source, dest, options = {}) {
@@ -20328,7 +20328,7 @@ var require_io = __commonJS({
         if (destStat && destStat.isFile() && !force) {
           return;
         }
-        const newDest = destStat && destStat.isDirectory() && copySourceDirectory ? path2.join(dest, path2.basename(source)) : dest;
+        const newDest = destStat && destStat.isDirectory() && copySourceDirectory ? path3.join(dest, path3.basename(source)) : dest;
         if (!(yield ioUtil.exists(source))) {
           throw new Error(`no such file or directory: ${source}`);
         }
@@ -20340,7 +20340,7 @@ var require_io = __commonJS({
             yield cpDirRecursive(source, newDest, 0, force);
           }
         } else {
-          if (path2.relative(source, newDest) === "") {
+          if (path3.relative(source, newDest) === "") {
             throw new Error(`'${newDest}' and '${source}' are the same file`);
           }
           yield copyFile2(source, newDest, force);
@@ -20352,7 +20352,7 @@ var require_io = __commonJS({
         if (yield ioUtil.exists(dest)) {
           let destExists = true;
           if (yield ioUtil.isDirectory(dest)) {
-            dest = path2.join(dest, path2.basename(source));
+            dest = path3.join(dest, path3.basename(source));
             destExists = yield ioUtil.exists(dest);
           }
           if (destExists) {
@@ -20363,7 +20363,7 @@ var require_io = __commonJS({
             }
           }
         }
-        yield mkdirP(path2.dirname(dest));
+        yield mkdirP(path3.dirname(dest));
         yield ioUtil.rename(source, dest);
       });
     }
@@ -20422,7 +20422,7 @@ var require_io = __commonJS({
         }
         const extensions = [];
         if (ioUtil.IS_WINDOWS && process.env["PATHEXT"]) {
-          for (const extension of process.env["PATHEXT"].split(path2.delimiter)) {
+          for (const extension of process.env["PATHEXT"].split(path3.delimiter)) {
             if (extension) {
               extensions.push(extension);
             }
@@ -20435,12 +20435,12 @@ var require_io = __commonJS({
           }
           return [];
         }
-        if (tool.includes(path2.sep)) {
+        if (tool.includes(path3.sep)) {
           return [];
         }
         const directories = [];
         if (process.env.PATH) {
-          for (const p of process.env.PATH.split(path2.delimiter)) {
+          for (const p of process.env.PATH.split(path3.delimiter)) {
             if (p) {
               directories.push(p);
             }
@@ -20448,7 +20448,7 @@ var require_io = __commonJS({
         }
         const matches = [];
         for (const directory of directories) {
-          const filePath = yield ioUtil.tryGetExecutablePath(path2.join(directory, tool), extensions);
+          const filePath = yield ioUtil.tryGetExecutablePath(path3.join(directory, tool), extensions);
           if (filePath) {
             matches.push(filePath);
           }
@@ -20578,7 +20578,7 @@ var require_toolrunner = __commonJS({
     var os2 = __importStar2(require("os"));
     var events = __importStar2(require("events"));
     var child = __importStar2(require("child_process"));
-    var path2 = __importStar2(require("path"));
+    var path3 = __importStar2(require("path"));
     var io4 = __importStar2(require_io());
     var ioUtil = __importStar2(require_io_util());
     var timers_1 = require("timers");
@@ -20793,7 +20793,7 @@ var require_toolrunner = __commonJS({
       exec() {
         return __awaiter2(this, void 0, void 0, function* () {
           if (!ioUtil.isRooted(this.toolPath) && (this.toolPath.includes("/") || IS_WINDOWS && this.toolPath.includes("\\"))) {
-            this.toolPath = path2.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath);
+            this.toolPath = path3.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath);
           }
           this.toolPath = yield io4.which(this.toolPath, true);
           return new Promise((resolve2, reject) => __awaiter2(this, void 0, void 0, function* () {
@@ -21329,7 +21329,7 @@ var require_core = __commonJS({
     exports2.getBooleanInput = getBooleanInput;
     exports2.setOutput = setOutput2;
     exports2.setCommandEcho = setCommandEcho;
-    exports2.setFailed = setFailed2;
+    exports2.setFailed = setFailed3;
     exports2.isDebug = isDebug2;
     exports2.debug = debug5;
     exports2.error = error3;
@@ -21346,7 +21346,7 @@ var require_core = __commonJS({
     var file_command_1 = require_file_command();
     var utils_1 = require_utils();
     var os2 = __importStar2(require("os"));
-    var path2 = __importStar2(require("path"));
+    var path3 = __importStar2(require("path"));
     var oidc_utils_1 = require_oidc_utils();
     var ExitCode;
     (function(ExitCode2) {
@@ -21372,7 +21372,7 @@ var require_core = __commonJS({
       } else {
         (0, command_1.issueCommand)("add-path", {}, inputPath);
       }
-      process.env["PATH"] = `${inputPath}${path2.delimiter}${process.env["PATH"]}`;
+      process.env["PATH"] = `${inputPath}${path3.delimiter}${process.env["PATH"]}`;
     }
     function getInput2(name, options) {
       const val = process.env[`INPUT_${name.replace(/ /g, "_").toUpperCase()}`] || "";
@@ -21413,7 +21413,7 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);
     function setCommandEcho(enabled) {
       (0, command_1.issue)("echo", enabled ? "on" : "off");
     }
-    function setFailed2(message) {
+    function setFailed3(message) {
       process.exitCode = ExitCode.Failure;
       error3(message);
     }
@@ -21490,7176 +21490,6645 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);
   }
 });
 
-// node_modules/semver/internal/constants.js
-var require_constants6 = __commonJS({
-  "node_modules/semver/internal/constants.js"(exports2, module2) {
-    "use strict";
-    var SEMVER_SPEC_VERSION = "2.0.0";
-    var MAX_LENGTH = 256;
-    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
-    9007199254740991;
-    var MAX_SAFE_COMPONENT_LENGTH = 16;
-    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
-    var RELEASE_TYPES = [
-      "major",
-      "premajor",
-      "minor",
-      "preminor",
-      "patch",
-      "prepatch",
-      "prerelease"
-    ];
+// node_modules/node-forge/lib/forge.js
+var require_forge = __commonJS({
+  "node_modules/node-forge/lib/forge.js"(exports2, module2) {
     module2.exports = {
-      MAX_LENGTH,
-      MAX_SAFE_COMPONENT_LENGTH,
-      MAX_SAFE_BUILD_LENGTH,
-      MAX_SAFE_INTEGER,
-      RELEASE_TYPES,
-      SEMVER_SPEC_VERSION,
-      FLAG_INCLUDE_PRERELEASE: 1,
-      FLAG_LOOSE: 2
-    };
-  }
-});
-
-// node_modules/semver/internal/debug.js
-var require_debug = __commonJS({
-  "node_modules/semver/internal/debug.js"(exports2, module2) {
-    "use strict";
-    var debug5 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
-    };
-    module2.exports = debug5;
-  }
-});
-
-// node_modules/semver/internal/re.js
-var require_re = __commonJS({
-  "node_modules/semver/internal/re.js"(exports2, module2) {
-    "use strict";
-    var {
-      MAX_SAFE_COMPONENT_LENGTH,
-      MAX_SAFE_BUILD_LENGTH,
-      MAX_LENGTH
-    } = require_constants6();
-    var debug5 = require_debug();
-    exports2 = module2.exports = {};
-    var re = exports2.re = [];
-    var safeRe = exports2.safeRe = [];
-    var src = exports2.src = [];
-    var safeSrc = exports2.safeSrc = [];
-    var t = exports2.t = {};
-    var R = 0;
-    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
-    var safeRegexReplacements = [
-      ["\\s", 1],
-      ["\\d", MAX_LENGTH],
-      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
-    ];
-    var makeSafeRegex = (value) => {
-      for (const [token, max] of safeRegexReplacements) {
-        value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
-      }
-      return value;
-    };
-    var createToken = (name, value, isGlobal) => {
-      const safe = makeSafeRegex(value);
-      const index = R++;
-      debug5(name, index, value);
-      t[name] = index;
-      src[index] = value;
-      safeSrc[index] = safe;
-      re[index] = new RegExp(value, isGlobal ? "g" : void 0);
-      safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
-    };
-    createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
-    createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
-    createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
-    createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
-    createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
-    createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
-    createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
-    createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
-    createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
-    createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
-    createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
-    createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
-    createToken("FULL", `^${src[t.FULLPLAIN]}$`);
-    createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
-    createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
-    createToken("GTLT", "((?:<|>)?=?)");
-    createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
-    createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
-    createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
-    createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
-    createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
-    createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
-    createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
-    createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
-    createToken("COERCERTL", src[t.COERCE], true);
-    createToken("COERCERTLFULL", src[t.COERCEFULL], true);
-    createToken("LONETILDE", "(?:~>?)");
-    createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
-    exports2.tildeTrimReplace = "$1~";
-    createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
-    createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("LONECARET", "(?:\\^)");
-    createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
-    exports2.caretTrimReplace = "$1^";
-    createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
-    createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
-    createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
-    createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
-    exports2.comparatorTrimReplace = "$1$2$3";
-    createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
-    createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
-    createToken("STAR", "(<|>)?=?\\s*\\*");
-    createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
-    createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
-  }
-});
-
-// node_modules/semver/internal/parse-options.js
-var require_parse_options = __commonJS({
-  "node_modules/semver/internal/parse-options.js"(exports2, module2) {
-    "use strict";
-    var looseOption = Object.freeze({ loose: true });
-    var emptyOpts = Object.freeze({});
-    var parseOptions = (options) => {
-      if (!options) {
-        return emptyOpts;
-      }
-      if (typeof options !== "object") {
-        return looseOption;
+      // default options
+      options: {
+        usePureJavaScript: false
       }
-      return options;
     };
-    module2.exports = parseOptions;
   }
 });
 
-// node_modules/semver/internal/identifiers.js
-var require_identifiers = __commonJS({
-  "node_modules/semver/internal/identifiers.js"(exports2, module2) {
-    "use strict";
-    var numeric = /^[0-9]+$/;
-    var compareIdentifiers = (a, b) => {
-      if (typeof a === "number" && typeof b === "number") {
-        return a === b ? 0 : a < b ? -1 : 1;
+// node_modules/node-forge/lib/baseN.js
+var require_baseN = __commonJS({
+  "node_modules/node-forge/lib/baseN.js"(exports2, module2) {
+    var api = {};
+    module2.exports = api;
+    var _reverseAlphabets = {};
+    api.encode = function(input, alphabet, maxline) {
+      if (typeof alphabet !== "string") {
+        throw new TypeError('"alphabet" must be a string.');
       }
-      const anum = numeric.test(a);
-      const bnum = numeric.test(b);
-      if (anum && bnum) {
-        a = +a;
-        b = +b;
+      if (maxline !== void 0 && typeof maxline !== "number") {
+        throw new TypeError('"maxline" must be a number.');
       }
-      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
-    };
-    var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
-    module2.exports = {
-      compareIdentifiers,
-      rcompareIdentifiers
-    };
-  }
-});
-
-// node_modules/semver/classes/semver.js
-var require_semver = __commonJS({
-  "node_modules/semver/classes/semver.js"(exports2, module2) {
-    "use strict";
-    var debug5 = require_debug();
-    var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants6();
-    var { safeRe: re, t } = require_re();
-    var parseOptions = require_parse_options();
-    var { compareIdentifiers } = require_identifiers();
-    var SemVer = class _SemVer {
-      constructor(version, options) {
-        options = parseOptions(options);
-        if (version instanceof _SemVer) {
-          if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
-            return version;
-          } else {
-            version = version.version;
+      var output = "";
+      if (!(input instanceof Uint8Array)) {
+        output = _encodeWithByteBuffer(input, alphabet);
+      } else {
+        var i = 0;
+        var base = alphabet.length;
+        var first = alphabet.charAt(0);
+        var digits = [0];
+        for (i = 0; i < input.length; ++i) {
+          for (var j = 0, carry = input[i]; j < digits.length; ++j) {
+            carry += digits[j] << 8;
+            digits[j] = carry % base;
+            carry = carry / base | 0;
+          }
+          while (carry > 0) {
+            digits.push(carry % base);
+            carry = carry / base | 0;
           }
-        } else if (typeof version !== "string") {
-          throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);
-        }
-        if (version.length > MAX_LENGTH) {
-          throw new TypeError(
-            `version is longer than ${MAX_LENGTH} characters`
-          );
-        }
-        debug5("SemVer", version, options);
-        this.options = options;
-        this.loose = !!options.loose;
-        this.includePrerelease = !!options.includePrerelease;
-        const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
-        if (!m) {
-          throw new TypeError(`Invalid Version: ${version}`);
-        }
-        this.raw = version;
-        this.major = +m[1];
-        this.minor = +m[2];
-        this.patch = +m[3];
-        if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
-          throw new TypeError("Invalid major version");
-        }
-        if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
-          throw new TypeError("Invalid minor version");
         }
-        if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
-          throw new TypeError("Invalid patch version");
+        for (i = 0; input[i] === 0 && i < input.length - 1; ++i) {
+          output += first;
         }
-        if (!m[4]) {
-          this.prerelease = [];
-        } else {
-          this.prerelease = m[4].split(".").map((id) => {
-            if (/^[0-9]+$/.test(id)) {
-              const num = +id;
-              if (num >= 0 && num < MAX_SAFE_INTEGER) {
-                return num;
-              }
-            }
-            return id;
-          });
+        for (i = digits.length - 1; i >= 0; --i) {
+          output += alphabet[digits[i]];
         }
-        this.build = m[5] ? m[5].split(".") : [];
-        this.format();
       }
-      format() {
-        this.version = `${this.major}.${this.minor}.${this.patch}`;
-        if (this.prerelease.length) {
-          this.version += `-${this.prerelease.join(".")}`;
-        }
-        return this.version;
+      if (maxline) {
+        var regex = new RegExp(".{1," + maxline + "}", "g");
+        output = output.match(regex).join("\r\n");
       }
-      toString() {
-        return this.version;
+      return output;
+    };
+    api.decode = function(input, alphabet) {
+      if (typeof input !== "string") {
+        throw new TypeError('"input" must be a string.');
       }
-      compare(other) {
-        debug5("SemVer.compare", this.version, this.options, other);
-        if (!(other instanceof _SemVer)) {
-          if (typeof other === "string" && other === this.version) {
-            return 0;
-          }
-          other = new _SemVer(other, this.options);
-        }
-        if (other.version === this.version) {
-          return 0;
-        }
-        return this.compareMain(other) || this.comparePre(other);
+      if (typeof alphabet !== "string") {
+        throw new TypeError('"alphabet" must be a string.');
       }
-      compareMain(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
-        }
-        if (this.major < other.major) {
-          return -1;
-        }
-        if (this.major > other.major) {
-          return 1;
-        }
-        if (this.minor < other.minor) {
-          return -1;
+      var table = _reverseAlphabets[alphabet];
+      if (!table) {
+        table = _reverseAlphabets[alphabet] = [];
+        for (var i = 0; i < alphabet.length; ++i) {
+          table[alphabet.charCodeAt(i)] = i;
         }
-        if (this.minor > other.minor) {
-          return 1;
+      }
+      input = input.replace(/\s/g, "");
+      var base = alphabet.length;
+      var first = alphabet.charAt(0);
+      var bytes = [0];
+      for (var i = 0; i < input.length; i++) {
+        var value = table[input.charCodeAt(i)];
+        if (value === void 0) {
+          return;
         }
-        if (this.patch < other.patch) {
-          return -1;
+        for (var j = 0, carry = value; j < bytes.length; ++j) {
+          carry += bytes[j] * base;
+          bytes[j] = carry & 255;
+          carry >>= 8;
         }
-        if (this.patch > other.patch) {
-          return 1;
+        while (carry > 0) {
+          bytes.push(carry & 255);
+          carry >>= 8;
         }
-        return 0;
       }
-      comparePre(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
+      for (var k = 0; input[k] === first && k < input.length - 1; ++k) {
+        bytes.push(0);
+      }
+      if (typeof Buffer !== "undefined") {
+        return Buffer.from(bytes.reverse());
+      }
+      return new Uint8Array(bytes.reverse());
+    };
+    function _encodeWithByteBuffer(input, alphabet) {
+      var i = 0;
+      var base = alphabet.length;
+      var first = alphabet.charAt(0);
+      var digits = [0];
+      for (i = 0; i < input.length(); ++i) {
+        for (var j = 0, carry = input.at(i); j < digits.length; ++j) {
+          carry += digits[j] << 8;
+          digits[j] = carry % base;
+          carry = carry / base | 0;
         }
-        if (this.prerelease.length && !other.prerelease.length) {
-          return -1;
-        } else if (!this.prerelease.length && other.prerelease.length) {
-          return 1;
-        } else if (!this.prerelease.length && !other.prerelease.length) {
-          return 0;
+        while (carry > 0) {
+          digits.push(carry % base);
+          carry = carry / base | 0;
         }
-        let i = 0;
-        do {
-          const a = this.prerelease[i];
-          const b = other.prerelease[i];
-          debug5("prerelease compare", i, a, b);
-          if (a === void 0 && b === void 0) {
-            return 0;
-          } else if (b === void 0) {
-            return 1;
-          } else if (a === void 0) {
-            return -1;
-          } else if (a === b) {
-            continue;
-          } else {
-            return compareIdentifiers(a, b);
-          }
-        } while (++i);
       }
-      compareBuild(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
+      var output = "";
+      for (i = 0; input.at(i) === 0 && i < input.length() - 1; ++i) {
+        output += first;
+      }
+      for (i = digits.length - 1; i >= 0; --i) {
+        output += alphabet[digits[i]];
+      }
+      return output;
+    }
+  }
+});
+
+// node_modules/node-forge/lib/util.js
+var require_util9 = __commonJS({
+  "node_modules/node-forge/lib/util.js"(exports2, module2) {
+    var forge = require_forge();
+    var baseN = require_baseN();
+    var util = module2.exports = forge.util = forge.util || {};
+    (function() {
+      if (typeof process !== "undefined" && process.nextTick && !process.browser) {
+        util.nextTick = process.nextTick;
+        if (typeof setImmediate === "function") {
+          util.setImmediate = setImmediate;
+        } else {
+          util.setImmediate = util.nextTick;
         }
-        let i = 0;
-        do {
-          const a = this.build[i];
-          const b = other.build[i];
-          debug5("build compare", i, a, b);
-          if (a === void 0 && b === void 0) {
-            return 0;
-          } else if (b === void 0) {
-            return 1;
-          } else if (a === void 0) {
-            return -1;
-          } else if (a === b) {
-            continue;
-          } else {
-            return compareIdentifiers(a, b);
-          }
-        } while (++i);
+        return;
       }
-      // preminor will bump the version up to the next minor release, and immediately
-      // down to pre-release. premajor and prepatch work the same way.
-      inc(release2, identifier, identifierBase) {
-        if (release2.startsWith("pre")) {
-          if (!identifier && identifierBase === false) {
-            throw new Error("invalid increment argument: identifier is empty");
+      if (typeof setImmediate === "function") {
+        util.setImmediate = function() {
+          return setImmediate.apply(void 0, arguments);
+        };
+        util.nextTick = function(callback) {
+          return setImmediate(callback);
+        };
+        return;
+      }
+      util.setImmediate = function(callback) {
+        setTimeout(callback, 0);
+      };
+      if (typeof window !== "undefined" && typeof window.postMessage === "function") {
+        let handler3 = function(event) {
+          if (event.source === window && event.data === msg) {
+            event.stopPropagation();
+            var copy = callbacks.slice();
+            callbacks.length = 0;
+            copy.forEach(function(callback) {
+              callback();
+            });
           }
-          if (identifier) {
-            const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
-            if (!match || match[1] !== identifier) {
-              throw new Error(`invalid identifier: ${identifier}`);
+        };
+        var handler2 = handler3;
+        var msg = "forge.setImmediate";
+        var callbacks = [];
+        util.setImmediate = function(callback) {
+          callbacks.push(callback);
+          if (callbacks.length === 1) {
+            window.postMessage(msg, "*");
+          }
+        };
+        window.addEventListener("message", handler3, true);
+      }
+      if (typeof MutationObserver !== "undefined") {
+        var now = Date.now();
+        var attr = true;
+        var div = document.createElement("div");
+        var callbacks = [];
+        new MutationObserver(function() {
+          var copy = callbacks.slice();
+          callbacks.length = 0;
+          copy.forEach(function(callback) {
+            callback();
+          });
+        }).observe(div, { attributes: true });
+        var oldSetImmediate = util.setImmediate;
+        util.setImmediate = function(callback) {
+          if (Date.now() - now > 15) {
+            now = Date.now();
+            oldSetImmediate(callback);
+          } else {
+            callbacks.push(callback);
+            if (callbacks.length === 1) {
+              div.setAttribute("a", attr = !attr);
             }
           }
-        }
-        switch (release2) {
-          case "premajor":
-            this.prerelease.length = 0;
-            this.patch = 0;
-            this.minor = 0;
-            this.major++;
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "preminor":
-            this.prerelease.length = 0;
-            this.patch = 0;
-            this.minor++;
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "prepatch":
-            this.prerelease.length = 0;
-            this.inc("patch", identifier, identifierBase);
-            this.inc("pre", identifier, identifierBase);
-            break;
-          // If the input is a non-prerelease version, this acts the same as
-          // prepatch.
-          case "prerelease":
-            if (this.prerelease.length === 0) {
-              this.inc("patch", identifier, identifierBase);
-            }
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "release":
-            if (this.prerelease.length === 0) {
-              throw new Error(`version ${this.raw} is not a prerelease`);
-            }
-            this.prerelease.length = 0;
-            break;
-          case "major":
-            if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
-              this.major++;
-            }
-            this.minor = 0;
-            this.patch = 0;
-            this.prerelease = [];
-            break;
-          case "minor":
-            if (this.patch !== 0 || this.prerelease.length === 0) {
-              this.minor++;
-            }
-            this.patch = 0;
-            this.prerelease = [];
-            break;
-          case "patch":
-            if (this.prerelease.length === 0) {
-              this.patch++;
-            }
-            this.prerelease = [];
-            break;
-          // This probably shouldn't be used publicly.
-          // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
-          case "pre": {
-            const base = Number(identifierBase) ? 1 : 0;
-            if (this.prerelease.length === 0) {
-              this.prerelease = [base];
-            } else {
-              let i = this.prerelease.length;
-              while (--i >= 0) {
-                if (typeof this.prerelease[i] === "number") {
-                  this.prerelease[i]++;
-                  i = -2;
-                }
-              }
-              if (i === -1) {
-                if (identifier === this.prerelease.join(".") && identifierBase === false) {
-                  throw new Error("invalid increment argument: identifier already exists");
-                }
-                this.prerelease.push(base);
-              }
-            }
-            if (identifier) {
-              let prerelease = [identifier, base];
-              if (identifierBase === false) {
-                prerelease = [identifier];
-              }
-              if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
-                if (isNaN(this.prerelease[1])) {
-                  this.prerelease = prerelease;
-                }
-              } else {
-                this.prerelease = prerelease;
-              }
+        };
+      }
+      util.nextTick = util.setImmediate;
+    })();
+    util.isNodejs = typeof process !== "undefined" && process.versions && process.versions.node;
+    util.globalScope = (function() {
+      if (util.isNodejs) {
+        return global;
+      }
+      return typeof self === "undefined" ? window : self;
+    })();
+    util.isArray = Array.isArray || function(x) {
+      return Object.prototype.toString.call(x) === "[object Array]";
+    };
+    util.isArrayBuffer = function(x) {
+      return typeof ArrayBuffer !== "undefined" && x instanceof ArrayBuffer;
+    };
+    util.isArrayBufferView = function(x) {
+      return x && util.isArrayBuffer(x.buffer) && x.byteLength !== void 0;
+    };
+    function _checkBitsParam(n) {
+      if (!(n === 8 || n === 16 || n === 24 || n === 32)) {
+        throw new Error("Only 8, 16, 24, or 32 bits supported: " + n);
+      }
+    }
+    util.ByteBuffer = ByteStringBuffer;
+    function ByteStringBuffer(b) {
+      this.data = "";
+      this.read = 0;
+      if (typeof b === "string") {
+        this.data = b;
+      } else if (util.isArrayBuffer(b) || util.isArrayBufferView(b)) {
+        if (typeof Buffer !== "undefined" && b instanceof Buffer) {
+          this.data = b.toString("binary");
+        } else {
+          var arr = new Uint8Array(b);
+          try {
+            this.data = String.fromCharCode.apply(null, arr);
+          } catch (e) {
+            for (var i = 0; i < arr.length; ++i) {
+              this.putByte(arr[i]);
             }
-            break;
           }
-          default:
-            throw new Error(`invalid increment argument: ${release2}`);
-        }
-        this.raw = this.format();
-        if (this.build.length) {
-          this.raw += `+${this.build.join(".")}`;
         }
-        return this;
+      } else if (b instanceof ByteStringBuffer || typeof b === "object" && typeof b.data === "string" && typeof b.read === "number") {
+        this.data = b.data;
+        this.read = b.read;
       }
-    };
-    module2.exports = SemVer;
-  }
-});
-
-// node_modules/semver/functions/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/semver/functions/parse.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var parse2 = (version, options, throwErrors = false) => {
-      if (version instanceof SemVer) {
-        return version;
+      this._constructedStringLength = 0;
+    }
+    util.ByteStringBuffer = ByteStringBuffer;
+    var _MAX_CONSTRUCTED_STRING_LENGTH = 4096;
+    util.ByteStringBuffer.prototype._optimizeConstructedString = function(x) {
+      this._constructedStringLength += x;
+      if (this._constructedStringLength > _MAX_CONSTRUCTED_STRING_LENGTH) {
+        this.data.substr(0, 1);
+        this._constructedStringLength = 0;
       }
-      try {
-        return new SemVer(version, options);
-      } catch (er) {
-        if (!throwErrors) {
-          return null;
+    };
+    util.ByteStringBuffer.prototype.length = function() {
+      return this.data.length - this.read;
+    };
+    util.ByteStringBuffer.prototype.isEmpty = function() {
+      return this.length() <= 0;
+    };
+    util.ByteStringBuffer.prototype.putByte = function(b) {
+      return this.putBytes(String.fromCharCode(b));
+    };
+    util.ByteStringBuffer.prototype.fillWithByte = function(b, n) {
+      b = String.fromCharCode(b);
+      var d = this.data;
+      while (n > 0) {
+        if (n & 1) {
+          d += b;
+        }
+        n >>>= 1;
+        if (n > 0) {
+          b += b;
         }
-        throw er;
       }
+      this.data = d;
+      this._optimizeConstructedString(n);
+      return this;
     };
-    module2.exports = parse2;
-  }
-});
-
-// node_modules/semver/functions/valid.js
-var require_valid = __commonJS({
-  "node_modules/semver/functions/valid.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse2();
-    var valid2 = (version, options) => {
-      const v = parse2(version, options);
-      return v ? v.version : null;
+    util.ByteStringBuffer.prototype.putBytes = function(bytes) {
+      this.data += bytes;
+      this._optimizeConstructedString(bytes.length);
+      return this;
     };
-    module2.exports = valid2;
-  }
-});
-
-// node_modules/semver/functions/clean.js
-var require_clean = __commonJS({
-  "node_modules/semver/functions/clean.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse2();
-    var clean = (version, options) => {
-      const s = parse2(version.trim().replace(/^[=v]+/, ""), options);
-      return s ? s.version : null;
+    util.ByteStringBuffer.prototype.putString = function(str2) {
+      return this.putBytes(util.encodeUtf8(str2));
     };
-    module2.exports = clean;
-  }
-});
-
-// node_modules/semver/functions/inc.js
-var require_inc = __commonJS({
-  "node_modules/semver/functions/inc.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var inc = (version, release2, options, identifier, identifierBase) => {
-      if (typeof options === "string") {
-        identifierBase = identifier;
-        identifier = options;
-        options = void 0;
+    util.ByteStringBuffer.prototype.putInt16 = function(i) {
+      return this.putBytes(
+        String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255)
+      );
+    };
+    util.ByteStringBuffer.prototype.putInt24 = function(i) {
+      return this.putBytes(
+        String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255)
+      );
+    };
+    util.ByteStringBuffer.prototype.putInt32 = function(i) {
+      return this.putBytes(
+        String.fromCharCode(i >> 24 & 255) + String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255)
+      );
+    };
+    util.ByteStringBuffer.prototype.putInt16Le = function(i) {
+      return this.putBytes(
+        String.fromCharCode(i & 255) + String.fromCharCode(i >> 8 & 255)
+      );
+    };
+    util.ByteStringBuffer.prototype.putInt24Le = function(i) {
+      return this.putBytes(
+        String.fromCharCode(i & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i >> 16 & 255)
+      );
+    };
+    util.ByteStringBuffer.prototype.putInt32Le = function(i) {
+      return this.putBytes(
+        String.fromCharCode(i & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 24 & 255)
+      );
+    };
+    util.ByteStringBuffer.prototype.putInt = function(i, n) {
+      _checkBitsParam(n);
+      var bytes = "";
+      do {
+        n -= 8;
+        bytes += String.fromCharCode(i >> n & 255);
+      } while (n > 0);
+      return this.putBytes(bytes);
+    };
+    util.ByteStringBuffer.prototype.putSignedInt = function(i, n) {
+      if (i < 0) {
+        i += 2 << n - 1;
       }
-      try {
-        return new SemVer(
-          version instanceof SemVer ? version.version : version,
-          options
-        ).inc(release2, identifier, identifierBase).version;
-      } catch (er) {
-        return null;
+      return this.putInt(i, n);
+    };
+    util.ByteStringBuffer.prototype.putBuffer = function(buffer) {
+      return this.putBytes(buffer.getBytes());
+    };
+    util.ByteStringBuffer.prototype.getByte = function() {
+      return this.data.charCodeAt(this.read++);
+    };
+    util.ByteStringBuffer.prototype.getInt16 = function() {
+      var rval = this.data.charCodeAt(this.read) << 8 ^ this.data.charCodeAt(this.read + 1);
+      this.read += 2;
+      return rval;
+    };
+    util.ByteStringBuffer.prototype.getInt24 = function() {
+      var rval = this.data.charCodeAt(this.read) << 16 ^ this.data.charCodeAt(this.read + 1) << 8 ^ this.data.charCodeAt(this.read + 2);
+      this.read += 3;
+      return rval;
+    };
+    util.ByteStringBuffer.prototype.getInt32 = function() {
+      var rval = this.data.charCodeAt(this.read) << 24 ^ this.data.charCodeAt(this.read + 1) << 16 ^ this.data.charCodeAt(this.read + 2) << 8 ^ this.data.charCodeAt(this.read + 3);
+      this.read += 4;
+      return rval;
+    };
+    util.ByteStringBuffer.prototype.getInt16Le = function() {
+      var rval = this.data.charCodeAt(this.read) ^ this.data.charCodeAt(this.read + 1) << 8;
+      this.read += 2;
+      return rval;
+    };
+    util.ByteStringBuffer.prototype.getInt24Le = function() {
+      var rval = this.data.charCodeAt(this.read) ^ this.data.charCodeAt(this.read + 1) << 8 ^ this.data.charCodeAt(this.read + 2) << 16;
+      this.read += 3;
+      return rval;
+    };
+    util.ByteStringBuffer.prototype.getInt32Le = function() {
+      var rval = this.data.charCodeAt(this.read) ^ this.data.charCodeAt(this.read + 1) << 8 ^ this.data.charCodeAt(this.read + 2) << 16 ^ this.data.charCodeAt(this.read + 3) << 24;
+      this.read += 4;
+      return rval;
+    };
+    util.ByteStringBuffer.prototype.getInt = function(n) {
+      _checkBitsParam(n);
+      var rval = 0;
+      do {
+        rval = (rval << 8) + this.data.charCodeAt(this.read++);
+        n -= 8;
+      } while (n > 0);
+      return rval;
+    };
+    util.ByteStringBuffer.prototype.getSignedInt = function(n) {
+      var x = this.getInt(n);
+      var max = 2 << n - 2;
+      if (x >= max) {
+        x -= max << 1;
       }
+      return x;
     };
-    module2.exports = inc;
-  }
-});
-
-// node_modules/semver/functions/diff.js
-var require_diff = __commonJS({
-  "node_modules/semver/functions/diff.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse2();
-    var diff = (version1, version2) => {
-      const v1 = parse2(version1, null, true);
-      const v2 = parse2(version2, null, true);
-      const comparison = v1.compare(v2);
-      if (comparison === 0) {
-        return null;
+    util.ByteStringBuffer.prototype.getBytes = function(count) {
+      var rval;
+      if (count) {
+        count = Math.min(this.length(), count);
+        rval = this.data.slice(this.read, this.read + count);
+        this.read += count;
+      } else if (count === 0) {
+        rval = "";
+      } else {
+        rval = this.read === 0 ? this.data : this.data.slice(this.read);
+        this.clear();
       }
-      const v1Higher = comparison > 0;
-      const highVersion = v1Higher ? v1 : v2;
-      const lowVersion = v1Higher ? v2 : v1;
-      const highHasPre = !!highVersion.prerelease.length;
-      const lowHasPre = !!lowVersion.prerelease.length;
-      if (lowHasPre && !highHasPre) {
-        if (!lowVersion.patch && !lowVersion.minor) {
-          return "major";
+      return rval;
+    };
+    util.ByteStringBuffer.prototype.bytes = function(count) {
+      return typeof count === "undefined" ? this.data.slice(this.read) : this.data.slice(this.read, this.read + count);
+    };
+    util.ByteStringBuffer.prototype.at = function(i) {
+      return this.data.charCodeAt(this.read + i);
+    };
+    util.ByteStringBuffer.prototype.setAt = function(i, b) {
+      this.data = this.data.substr(0, this.read + i) + String.fromCharCode(b) + this.data.substr(this.read + i + 1);
+      return this;
+    };
+    util.ByteStringBuffer.prototype.last = function() {
+      return this.data.charCodeAt(this.data.length - 1);
+    };
+    util.ByteStringBuffer.prototype.copy = function() {
+      var c = util.createBuffer(this.data);
+      c.read = this.read;
+      return c;
+    };
+    util.ByteStringBuffer.prototype.compact = function() {
+      if (this.read > 0) {
+        this.data = this.data.slice(this.read);
+        this.read = 0;
+      }
+      return this;
+    };
+    util.ByteStringBuffer.prototype.clear = function() {
+      this.data = "";
+      this.read = 0;
+      return this;
+    };
+    util.ByteStringBuffer.prototype.truncate = function(count) {
+      var len = Math.max(0, this.length() - count);
+      this.data = this.data.substr(this.read, len);
+      this.read = 0;
+      return this;
+    };
+    util.ByteStringBuffer.prototype.toHex = function() {
+      var rval = "";
+      for (var i = this.read; i < this.data.length; ++i) {
+        var b = this.data.charCodeAt(i);
+        if (b < 16) {
+          rval += "0";
         }
-        if (lowVersion.compareMain(highVersion) === 0) {
-          if (lowVersion.minor && !lowVersion.patch) {
-            return "minor";
-          }
-          return "patch";
+        rval += b.toString(16);
+      }
+      return rval;
+    };
+    util.ByteStringBuffer.prototype.toString = function() {
+      return util.decodeUtf8(this.bytes());
+    };
+    function DataBuffer(b, options) {
+      options = options || {};
+      this.read = options.readOffset || 0;
+      this.growSize = options.growSize || 1024;
+      var isArrayBuffer = util.isArrayBuffer(b);
+      var isArrayBufferView = util.isArrayBufferView(b);
+      if (isArrayBuffer || isArrayBufferView) {
+        if (isArrayBuffer) {
+          this.data = new DataView(b);
+        } else {
+          this.data = new DataView(b.buffer, b.byteOffset, b.byteLength);
         }
+        this.write = "writeOffset" in options ? options.writeOffset : this.data.byteLength;
+        return;
       }
-      const prefix = highHasPre ? "pre" : "";
-      if (v1.major !== v2.major) {
-        return prefix + "major";
+      this.data = new DataView(new ArrayBuffer(0));
+      this.write = 0;
+      if (b !== null && b !== void 0) {
+        this.putBytes(b);
       }
-      if (v1.minor !== v2.minor) {
-        return prefix + "minor";
+      if ("writeOffset" in options) {
+        this.write = options.writeOffset;
       }
-      if (v1.patch !== v2.patch) {
-        return prefix + "patch";
+    }
+    util.DataBuffer = DataBuffer;
+    util.DataBuffer.prototype.length = function() {
+      return this.write - this.read;
+    };
+    util.DataBuffer.prototype.isEmpty = function() {
+      return this.length() <= 0;
+    };
+    util.DataBuffer.prototype.accommodate = function(amount, growSize) {
+      if (this.length() >= amount) {
+        return this;
       }
-      return "prerelease";
+      growSize = Math.max(growSize || this.growSize, amount);
+      var src = new Uint8Array(
+        this.data.buffer,
+        this.data.byteOffset,
+        this.data.byteLength
+      );
+      var dst = new Uint8Array(this.length() + growSize);
+      dst.set(src);
+      this.data = new DataView(dst.buffer);
+      return this;
     };
-    module2.exports = diff;
-  }
-});
-
-// node_modules/semver/functions/major.js
-var require_major = __commonJS({
-  "node_modules/semver/functions/major.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var major = (a, loose) => new SemVer(a, loose).major;
-    module2.exports = major;
-  }
-});
-
-// node_modules/semver/functions/minor.js
-var require_minor = __commonJS({
-  "node_modules/semver/functions/minor.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var minor = (a, loose) => new SemVer(a, loose).minor;
-    module2.exports = minor;
-  }
-});
-
-// node_modules/semver/functions/patch.js
-var require_patch = __commonJS({
-  "node_modules/semver/functions/patch.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var patch = (a, loose) => new SemVer(a, loose).patch;
-    module2.exports = patch;
-  }
-});
-
-// node_modules/semver/functions/prerelease.js
-var require_prerelease = __commonJS({
-  "node_modules/semver/functions/prerelease.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse2();
-    var prerelease = (version, options) => {
-      const parsed = parse2(version, options);
-      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
+    util.DataBuffer.prototype.putByte = function(b) {
+      this.accommodate(1);
+      this.data.setUint8(this.write++, b);
+      return this;
     };
-    module2.exports = prerelease;
-  }
-});
-
-// node_modules/semver/functions/compare.js
-var require_compare = __commonJS({
-  "node_modules/semver/functions/compare.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
-    module2.exports = compare;
-  }
-});
-
-// node_modules/semver/functions/rcompare.js
-var require_rcompare = __commonJS({
-  "node_modules/semver/functions/rcompare.js"(exports2, module2) {
-    "use strict";
-    var compare = require_compare();
-    var rcompare = (a, b, loose) => compare(b, a, loose);
-    module2.exports = rcompare;
-  }
-});
-
-// node_modules/semver/functions/compare-loose.js
-var require_compare_loose = __commonJS({
-  "node_modules/semver/functions/compare-loose.js"(exports2, module2) {
-    "use strict";
-    var compare = require_compare();
-    var compareLoose = (a, b) => compare(a, b, true);
-    module2.exports = compareLoose;
-  }
-});
-
-// node_modules/semver/functions/compare-build.js
-var require_compare_build = __commonJS({
-  "node_modules/semver/functions/compare-build.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var compareBuild = (a, b, loose) => {
-      const versionA = new SemVer(a, loose);
-      const versionB = new SemVer(b, loose);
-      return versionA.compare(versionB) || versionA.compareBuild(versionB);
-    };
-    module2.exports = compareBuild;
-  }
-});
-
-// node_modules/semver/functions/sort.js
-var require_sort = __commonJS({
-  "node_modules/semver/functions/sort.js"(exports2, module2) {
-    "use strict";
-    var compareBuild = require_compare_build();
-    var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
-    module2.exports = sort;
-  }
-});
-
-// node_modules/semver/functions/rsort.js
-var require_rsort = __commonJS({
-  "node_modules/semver/functions/rsort.js"(exports2, module2) {
-    "use strict";
-    var compareBuild = require_compare_build();
-    var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
-    module2.exports = rsort;
-  }
-});
-
-// node_modules/semver/functions/gt.js
-var require_gt = __commonJS({
-  "node_modules/semver/functions/gt.js"(exports2, module2) {
-    "use strict";
-    var compare = require_compare();
-    var gt = (a, b, loose) => compare(a, b, loose) > 0;
-    module2.exports = gt;
-  }
-});
-
-// node_modules/semver/functions/lt.js
-var require_lt = __commonJS({
-  "node_modules/semver/functions/lt.js"(exports2, module2) {
-    "use strict";
-    var compare = require_compare();
-    var lt = (a, b, loose) => compare(a, b, loose) < 0;
-    module2.exports = lt;
-  }
-});
-
-// node_modules/semver/functions/eq.js
-var require_eq = __commonJS({
-  "node_modules/semver/functions/eq.js"(exports2, module2) {
-    "use strict";
-    var compare = require_compare();
-    var eq = (a, b, loose) => compare(a, b, loose) === 0;
-    module2.exports = eq;
-  }
-});
-
-// node_modules/semver/functions/neq.js
-var require_neq = __commonJS({
-  "node_modules/semver/functions/neq.js"(exports2, module2) {
-    "use strict";
-    var compare = require_compare();
-    var neq = (a, b, loose) => compare(a, b, loose) !== 0;
-    module2.exports = neq;
-  }
-});
-
-// node_modules/semver/functions/gte.js
-var require_gte = __commonJS({
-  "node_modules/semver/functions/gte.js"(exports2, module2) {
-    "use strict";
-    var compare = require_compare();
-    var gte4 = (a, b, loose) => compare(a, b, loose) >= 0;
-    module2.exports = gte4;
-  }
-});
-
-// node_modules/semver/functions/lte.js
-var require_lte = __commonJS({
-  "node_modules/semver/functions/lte.js"(exports2, module2) {
-    "use strict";
-    var compare = require_compare();
-    var lte = (a, b, loose) => compare(a, b, loose) <= 0;
-    module2.exports = lte;
-  }
-});
-
-// node_modules/semver/functions/cmp.js
-var require_cmp = __commonJS({
-  "node_modules/semver/functions/cmp.js"(exports2, module2) {
-    "use strict";
-    var eq = require_eq();
-    var neq = require_neq();
-    var gt = require_gt();
-    var gte4 = require_gte();
-    var lt = require_lt();
-    var lte = require_lte();
-    var cmp = (a, op, b, loose) => {
-      switch (op) {
-        case "===":
-          if (typeof a === "object") {
-            a = a.version;
-          }
-          if (typeof b === "object") {
-            b = b.version;
-          }
-          return a === b;
-        case "!==":
-          if (typeof a === "object") {
-            a = a.version;
-          }
-          if (typeof b === "object") {
-            b = b.version;
-          }
-          return a !== b;
-        case "":
-        case "=":
-        case "==":
-          return eq(a, b, loose);
-        case "!=":
-          return neq(a, b, loose);
-        case ">":
-          return gt(a, b, loose);
-        case ">=":
-          return gte4(a, b, loose);
-        case "<":
-          return lt(a, b, loose);
-        case "<=":
-          return lte(a, b, loose);
-        default:
-          throw new TypeError(`Invalid operator: ${op}`);
-      }
-    };
-    module2.exports = cmp;
-  }
-});
-
-// node_modules/semver/functions/coerce.js
-var require_coerce = __commonJS({
-  "node_modules/semver/functions/coerce.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var parse2 = require_parse2();
-    var { safeRe: re, t } = require_re();
-    var coerce2 = (version, options) => {
-      if (version instanceof SemVer) {
-        return version;
-      }
-      if (typeof version === "number") {
-        version = String(version);
-      }
-      if (typeof version !== "string") {
-        return null;
-      }
-      options = options || {};
-      let match = null;
-      if (!options.rtl) {
-        match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
-      } else {
-        const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
-        let next;
-        while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
-          if (!match || next.index + next[0].length !== match.index + match[0].length) {
-            match = next;
-          }
-          coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
-        }
-        coerceRtlRegex.lastIndex = -1;
-      }
-      if (match === null) {
-        return null;
+    util.DataBuffer.prototype.fillWithByte = function(b, n) {
+      this.accommodate(n);
+      for (var i = 0; i < n; ++i) {
+        this.data.setUint8(b);
       }
-      const major = match[2];
-      const minor = match[3] || "0";
-      const patch = match[4] || "0";
-      const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
-      const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
-      return parse2(`${major}.${minor}.${patch}${prerelease}${build}`, options);
+      return this;
     };
-    module2.exports = coerce2;
-  }
-});
-
-// node_modules/semver/internal/lrucache.js
-var require_lrucache = __commonJS({
-  "node_modules/semver/internal/lrucache.js"(exports2, module2) {
-    "use strict";
-    var LRUCache = class {
-      constructor() {
-        this.max = 1e3;
-        this.map = /* @__PURE__ */ new Map();
-      }
-      get(key) {
-        const value = this.map.get(key);
-        if (value === void 0) {
-          return void 0;
-        } else {
-          this.map.delete(key);
-          this.map.set(key, value);
-          return value;
-        }
-      }
-      delete(key) {
-        return this.map.delete(key);
-      }
-      set(key, value) {
-        const deleted = this.delete(key);
-        if (!deleted && value !== void 0) {
-          if (this.map.size >= this.max) {
-            const firstKey = this.map.keys().next().value;
-            this.delete(firstKey);
-          }
-          this.map.set(key, value);
-        }
+    util.DataBuffer.prototype.putBytes = function(bytes, encoding) {
+      if (util.isArrayBufferView(bytes)) {
+        var src = new Uint8Array(bytes.buffer, bytes.byteOffset, bytes.byteLength);
+        var len = src.byteLength - src.byteOffset;
+        this.accommodate(len);
+        var dst = new Uint8Array(this.data.buffer, this.write);
+        dst.set(src);
+        this.write += len;
         return this;
       }
-    };
-    module2.exports = LRUCache;
-  }
-});
-
-// node_modules/semver/classes/range.js
-var require_range = __commonJS({
-  "node_modules/semver/classes/range.js"(exports2, module2) {
-    "use strict";
-    var SPACE_CHARACTERS = /\s+/g;
-    var Range2 = class _Range {
-      constructor(range, options) {
-        options = parseOptions(options);
-        if (range instanceof _Range) {
-          if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
-            return range;
-          } else {
-            return new _Range(range.raw, options);
-          }
-        }
-        if (range instanceof Comparator) {
-          this.raw = range.value;
-          this.set = [[range]];
-          this.formatted = void 0;
-          return this;
-        }
-        this.options = options;
-        this.loose = !!options.loose;
-        this.includePrerelease = !!options.includePrerelease;
-        this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
-        this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
-        if (!this.set.length) {
-          throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
-        }
-        if (this.set.length > 1) {
-          const first = this.set[0];
-          this.set = this.set.filter((c) => !isNullSet(c[0]));
-          if (this.set.length === 0) {
-            this.set = [first];
-          } else if (this.set.length > 1) {
-            for (const c of this.set) {
-              if (c.length === 1 && isAny(c[0])) {
-                this.set = [c];
-                break;
-              }
-            }
-          }
-        }
-        this.formatted = void 0;
-      }
-      get range() {
-        if (this.formatted === void 0) {
-          this.formatted = "";
-          for (let i = 0; i < this.set.length; i++) {
-            if (i > 0) {
-              this.formatted += "||";
-            }
-            const comps = this.set[i];
-            for (let k = 0; k < comps.length; k++) {
-              if (k > 0) {
-                this.formatted += " ";
-              }
-              this.formatted += comps[k].toString().trim();
-            }
-          }
-        }
-        return this.formatted;
+      if (util.isArrayBuffer(bytes)) {
+        var src = new Uint8Array(bytes);
+        this.accommodate(src.byteLength);
+        var dst = new Uint8Array(this.data.buffer);
+        dst.set(src, this.write);
+        this.write += src.byteLength;
+        return this;
       }
-      format() {
-        return this.range;
+      if (bytes instanceof util.DataBuffer || typeof bytes === "object" && typeof bytes.read === "number" && typeof bytes.write === "number" && util.isArrayBufferView(bytes.data)) {
+        var src = new Uint8Array(bytes.data.byteLength, bytes.read, bytes.length());
+        this.accommodate(src.byteLength);
+        var dst = new Uint8Array(bytes.data.byteLength, this.write);
+        dst.set(src);
+        this.write += src.byteLength;
+        return this;
       }
-      toString() {
-        return this.range;
+      if (bytes instanceof util.ByteStringBuffer) {
+        bytes = bytes.data;
+        encoding = "binary";
       }
-      parseRange(range) {
-        const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
-        const memoKey = memoOpts + ":" + range;
-        const cached = cache.get(memoKey);
-        if (cached) {
-          return cached;
-        }
-        const loose = this.options.loose;
-        const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
-        range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
-        debug5("hyphen replace", range);
-        range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
-        debug5("comparator trim", range);
-        range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
-        debug5("tilde trim", range);
-        range = range.replace(re[t.CARETTRIM], caretTrimReplace);
-        debug5("caret trim", range);
-        let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
-        if (loose) {
-          rangeList = rangeList.filter((comp) => {
-            debug5("loose invalid filter", comp, this.options);
-            return !!comp.match(re[t.COMPARATORLOOSE]);
-          });
-        }
-        debug5("range list", rangeList);
-        const rangeMap = /* @__PURE__ */ new Map();
-        const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
-        for (const comp of comparators) {
-          if (isNullSet(comp)) {
-            return [comp];
-          }
-          rangeMap.set(comp.value, comp);
-        }
-        if (rangeMap.size > 1 && rangeMap.has("")) {
-          rangeMap.delete("");
+      encoding = encoding || "binary";
+      if (typeof bytes === "string") {
+        var view;
+        if (encoding === "hex") {
+          this.accommodate(Math.ceil(bytes.length / 2));
+          view = new Uint8Array(this.data.buffer, this.write);
+          this.write += util.binary.hex.decode(bytes, view, this.write);
+          return this;
         }
-        const result = [...rangeMap.values()];
-        cache.set(memoKey, result);
-        return result;
-      }
-      intersects(range, options) {
-        if (!(range instanceof _Range)) {
-          throw new TypeError("a Range is required");
+        if (encoding === "base64") {
+          this.accommodate(Math.ceil(bytes.length / 4) * 3);
+          view = new Uint8Array(this.data.buffer, this.write);
+          this.write += util.binary.base64.decode(bytes, view, this.write);
+          return this;
         }
-        return this.set.some((thisComparators) => {
-          return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
-            return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
-              return rangeComparators.every((rangeComparator) => {
-                return thisComparator.intersects(rangeComparator, options);
-              });
-            });
-          });
-        });
-      }
-      // if ANY of the sets match ALL of its comparators, then pass
-      test(version) {
-        if (!version) {
-          return false;
+        if (encoding === "utf8") {
+          bytes = util.encodeUtf8(bytes);
+          encoding = "binary";
         }
-        if (typeof version === "string") {
-          try {
-            version = new SemVer(version, this.options);
-          } catch (er) {
-            return false;
-          }
+        if (encoding === "binary" || encoding === "raw") {
+          this.accommodate(bytes.length);
+          view = new Uint8Array(this.data.buffer, this.write);
+          this.write += util.binary.raw.decode(view);
+          return this;
         }
-        for (let i = 0; i < this.set.length; i++) {
-          if (testSet(this.set[i], version, this.options)) {
-            return true;
-          }
+        if (encoding === "utf16") {
+          this.accommodate(bytes.length * 2);
+          view = new Uint16Array(this.data.buffer, this.write);
+          this.write += util.text.utf16.encode(view);
+          return this;
         }
-        return false;
-      }
-    };
-    module2.exports = Range2;
-    var LRU = require_lrucache();
-    var cache = new LRU();
-    var parseOptions = require_parse_options();
-    var Comparator = require_comparator();
-    var debug5 = require_debug();
-    var SemVer = require_semver();
-    var {
-      safeRe: re,
-      t,
-      comparatorTrimReplace,
-      tildeTrimReplace,
-      caretTrimReplace
-    } = require_re();
-    var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants6();
-    var isNullSet = (c) => c.value === "<0.0.0-0";
-    var isAny = (c) => c.value === "";
-    var isSatisfiable = (comparators, options) => {
-      let result = true;
-      const remainingComparators = comparators.slice();
-      let testComparator = remainingComparators.pop();
-      while (result && remainingComparators.length) {
-        result = remainingComparators.every((otherComparator) => {
-          return testComparator.intersects(otherComparator, options);
-        });
-        testComparator = remainingComparators.pop();
+        throw new Error("Invalid encoding: " + encoding);
       }
-      return result;
+      throw Error("Invalid parameter: " + bytes);
     };
-    var parseComparator = (comp, options) => {
-      comp = comp.replace(re[t.BUILD], "");
-      debug5("comp", comp, options);
-      comp = replaceCarets(comp, options);
-      debug5("caret", comp);
-      comp = replaceTildes(comp, options);
-      debug5("tildes", comp);
-      comp = replaceXRanges(comp, options);
-      debug5("xrange", comp);
-      comp = replaceStars(comp, options);
-      debug5("stars", comp);
-      return comp;
+    util.DataBuffer.prototype.putBuffer = function(buffer) {
+      this.putBytes(buffer);
+      buffer.clear();
+      return this;
     };
-    var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
-    var replaceTildes = (comp, options) => {
-      return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
+    util.DataBuffer.prototype.putString = function(str2) {
+      return this.putBytes(str2, "utf16");
     };
-    var replaceTilde = (comp, options) => {
-      const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
-      return comp.replace(r, (_, M, m, p, pr) => {
-        debug5("tilde", comp, _, M, m, p, pr);
-        let ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
-        } else if (isX(p)) {
-          ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
-        } else if (pr) {
-          debug5("replaceTilde pr", pr);
-          ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
-        } else {
-          ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
-        }
-        debug5("tilde return", ret);
-        return ret;
-      });
+    util.DataBuffer.prototype.putInt16 = function(i) {
+      this.accommodate(2);
+      this.data.setInt16(this.write, i);
+      this.write += 2;
+      return this;
     };
-    var replaceCarets = (comp, options) => {
-      return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
+    util.DataBuffer.prototype.putInt24 = function(i) {
+      this.accommodate(3);
+      this.data.setInt16(this.write, i >> 8 & 65535);
+      this.data.setInt8(this.write, i >> 16 & 255);
+      this.write += 3;
+      return this;
     };
-    var replaceCaret = (comp, options) => {
-      debug5("caret", comp, options);
-      const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
-      const z = options.includePrerelease ? "-0" : "";
-      return comp.replace(r, (_, M, m, p, pr) => {
-        debug5("caret", comp, _, M, m, p, pr);
-        let ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
-        } else if (isX(p)) {
-          if (M === "0") {
-            ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
-          } else {
-            ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
-          }
-        } else if (pr) {
-          debug5("replaceCaret pr", pr);
-          if (M === "0") {
-            if (m === "0") {
-              ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
-            } else {
-              ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
-            }
-          } else {
-            ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
-          }
-        } else {
-          debug5("no pr");
-          if (M === "0") {
-            if (m === "0") {
-              ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
-            } else {
-              ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
-            }
-          } else {
-            ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
-          }
-        }
-        debug5("caret return", ret);
-        return ret;
-      });
+    util.DataBuffer.prototype.putInt32 = function(i) {
+      this.accommodate(4);
+      this.data.setInt32(this.write, i);
+      this.write += 4;
+      return this;
     };
-    var replaceXRanges = (comp, options) => {
-      debug5("replaceXRanges", comp, options);
-      return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
+    util.DataBuffer.prototype.putInt16Le = function(i) {
+      this.accommodate(2);
+      this.data.setInt16(this.write, i, true);
+      this.write += 2;
+      return this;
     };
-    var replaceXRange = (comp, options) => {
-      comp = comp.trim();
-      const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
-      return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
-        debug5("xRange", comp, ret, gtlt, M, m, p, pr);
-        const xM = isX(M);
-        const xm = xM || isX(m);
-        const xp = xm || isX(p);
-        const anyX = xp;
-        if (gtlt === "=" && anyX) {
-          gtlt = "";
-        }
-        pr = options.includePrerelease ? "-0" : "";
-        if (xM) {
-          if (gtlt === ">" || gtlt === "<") {
-            ret = "<0.0.0-0";
-          } else {
-            ret = "*";
-          }
-        } else if (gtlt && anyX) {
-          if (xm) {
-            m = 0;
-          }
-          p = 0;
-          if (gtlt === ">") {
-            gtlt = ">=";
-            if (xm) {
-              M = +M + 1;
-              m = 0;
-              p = 0;
-            } else {
-              m = +m + 1;
-              p = 0;
-            }
-          } else if (gtlt === "<=") {
-            gtlt = "<";
-            if (xm) {
-              M = +M + 1;
-            } else {
-              m = +m + 1;
-            }
-          }
-          if (gtlt === "<") {
-            pr = "-0";
-          }
-          ret = `${gtlt + M}.${m}.${p}${pr}`;
-        } else if (xm) {
-          ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
-        } else if (xp) {
-          ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
-        }
-        debug5("xRange return", ret);
-        return ret;
-      });
+    util.DataBuffer.prototype.putInt24Le = function(i) {
+      this.accommodate(3);
+      this.data.setInt8(this.write, i >> 16 & 255);
+      this.data.setInt16(this.write, i >> 8 & 65535, true);
+      this.write += 3;
+      return this;
     };
-    var replaceStars = (comp, options) => {
-      debug5("replaceStars", comp, options);
-      return comp.trim().replace(re[t.STAR], "");
+    util.DataBuffer.prototype.putInt32Le = function(i) {
+      this.accommodate(4);
+      this.data.setInt32(this.write, i, true);
+      this.write += 4;
+      return this;
     };
-    var replaceGTE0 = (comp, options) => {
-      debug5("replaceGTE0", comp, options);
-      return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
+    util.DataBuffer.prototype.putInt = function(i, n) {
+      _checkBitsParam(n);
+      this.accommodate(n / 8);
+      do {
+        n -= 8;
+        this.data.setInt8(this.write++, i >> n & 255);
+      } while (n > 0);
+      return this;
     };
-    var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
-      if (isX(fM)) {
-        from = "";
-      } else if (isX(fm)) {
-        from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
-      } else if (isX(fp)) {
-        from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
-      } else if (fpr) {
-        from = `>=${from}`;
-      } else {
-        from = `>=${from}${incPr ? "-0" : ""}`;
+    util.DataBuffer.prototype.putSignedInt = function(i, n) {
+      _checkBitsParam(n);
+      this.accommodate(n / 8);
+      if (i < 0) {
+        i += 2 << n - 1;
       }
-      if (isX(tM)) {
-        to = "";
-      } else if (isX(tm)) {
-        to = `<${+tM + 1}.0.0-0`;
-      } else if (isX(tp)) {
-        to = `<${tM}.${+tm + 1}.0-0`;
-      } else if (tpr) {
-        to = `<=${tM}.${tm}.${tp}-${tpr}`;
-      } else if (incPr) {
-        to = `<${tM}.${tm}.${+tp + 1}-0`;
+      return this.putInt(i, n);
+    };
+    util.DataBuffer.prototype.getByte = function() {
+      return this.data.getInt8(this.read++);
+    };
+    util.DataBuffer.prototype.getInt16 = function() {
+      var rval = this.data.getInt16(this.read);
+      this.read += 2;
+      return rval;
+    };
+    util.DataBuffer.prototype.getInt24 = function() {
+      var rval = this.data.getInt16(this.read) << 8 ^ this.data.getInt8(this.read + 2);
+      this.read += 3;
+      return rval;
+    };
+    util.DataBuffer.prototype.getInt32 = function() {
+      var rval = this.data.getInt32(this.read);
+      this.read += 4;
+      return rval;
+    };
+    util.DataBuffer.prototype.getInt16Le = function() {
+      var rval = this.data.getInt16(this.read, true);
+      this.read += 2;
+      return rval;
+    };
+    util.DataBuffer.prototype.getInt24Le = function() {
+      var rval = this.data.getInt8(this.read) ^ this.data.getInt16(this.read + 1, true) << 8;
+      this.read += 3;
+      return rval;
+    };
+    util.DataBuffer.prototype.getInt32Le = function() {
+      var rval = this.data.getInt32(this.read, true);
+      this.read += 4;
+      return rval;
+    };
+    util.DataBuffer.prototype.getInt = function(n) {
+      _checkBitsParam(n);
+      var rval = 0;
+      do {
+        rval = (rval << 8) + this.data.getInt8(this.read++);
+        n -= 8;
+      } while (n > 0);
+      return rval;
+    };
+    util.DataBuffer.prototype.getSignedInt = function(n) {
+      var x = this.getInt(n);
+      var max = 2 << n - 2;
+      if (x >= max) {
+        x -= max << 1;
+      }
+      return x;
+    };
+    util.DataBuffer.prototype.getBytes = function(count) {
+      var rval;
+      if (count) {
+        count = Math.min(this.length(), count);
+        rval = this.data.slice(this.read, this.read + count);
+        this.read += count;
+      } else if (count === 0) {
+        rval = "";
       } else {
-        to = `<=${to}`;
+        rval = this.read === 0 ? this.data : this.data.slice(this.read);
+        this.clear();
       }
-      return `${from} ${to}`.trim();
+      return rval;
     };
-    var testSet = (set2, version, options) => {
-      for (let i = 0; i < set2.length; i++) {
-        if (!set2[i].test(version)) {
-          return false;
-        }
+    util.DataBuffer.prototype.bytes = function(count) {
+      return typeof count === "undefined" ? this.data.slice(this.read) : this.data.slice(this.read, this.read + count);
+    };
+    util.DataBuffer.prototype.at = function(i) {
+      return this.data.getUint8(this.read + i);
+    };
+    util.DataBuffer.prototype.setAt = function(i, b) {
+      this.data.setUint8(i, b);
+      return this;
+    };
+    util.DataBuffer.prototype.last = function() {
+      return this.data.getUint8(this.write - 1);
+    };
+    util.DataBuffer.prototype.copy = function() {
+      return new util.DataBuffer(this);
+    };
+    util.DataBuffer.prototype.compact = function() {
+      if (this.read > 0) {
+        var src = new Uint8Array(this.data.buffer, this.read);
+        var dst = new Uint8Array(src.byteLength);
+        dst.set(src);
+        this.data = new DataView(dst);
+        this.write -= this.read;
+        this.read = 0;
       }
-      if (version.prerelease.length && !options.includePrerelease) {
-        for (let i = 0; i < set2.length; i++) {
-          debug5(set2[i].semver);
-          if (set2[i].semver === Comparator.ANY) {
-            continue;
-          }
-          if (set2[i].semver.prerelease.length > 0) {
-            const allowed = set2[i].semver;
-            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
-              return true;
-            }
-          }
+      return this;
+    };
+    util.DataBuffer.prototype.clear = function() {
+      this.data = new DataView(new ArrayBuffer(0));
+      this.read = this.write = 0;
+      return this;
+    };
+    util.DataBuffer.prototype.truncate = function(count) {
+      this.write = Math.max(0, this.length() - count);
+      this.read = Math.min(this.read, this.write);
+      return this;
+    };
+    util.DataBuffer.prototype.toHex = function() {
+      var rval = "";
+      for (var i = this.read; i < this.data.byteLength; ++i) {
+        var b = this.data.getUint8(i);
+        if (b < 16) {
+          rval += "0";
         }
-        return false;
+        rval += b.toString(16);
       }
-      return true;
+      return rval;
     };
-  }
-});
-
-// node_modules/semver/classes/comparator.js
-var require_comparator = __commonJS({
-  "node_modules/semver/classes/comparator.js"(exports2, module2) {
-    "use strict";
-    var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
-    var Comparator = class _Comparator {
-      static get ANY() {
-        return ANY;
+    util.DataBuffer.prototype.toString = function(encoding) {
+      var view = new Uint8Array(this.data, this.read, this.length());
+      encoding = encoding || "utf8";
+      if (encoding === "binary" || encoding === "raw") {
+        return util.binary.raw.encode(view);
       }
-      constructor(comp, options) {
-        options = parseOptions(options);
-        if (comp instanceof _Comparator) {
-          if (comp.loose === !!options.loose) {
-            return comp;
-          } else {
-            comp = comp.value;
-          }
-        }
-        comp = comp.trim().split(/\s+/).join(" ");
-        debug5("comparator", comp, options);
-        this.options = options;
-        this.loose = !!options.loose;
-        this.parse(comp);
-        if (this.semver === ANY) {
-          this.value = "";
-        } else {
-          this.value = this.operator + this.semver.version;
-        }
-        debug5("comp", this);
+      if (encoding === "hex") {
+        return util.binary.hex.encode(view);
       }
-      parse(comp) {
-        const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
-        const m = comp.match(r);
-        if (!m) {
-          throw new TypeError(`Invalid comparator: ${comp}`);
-        }
-        this.operator = m[1] !== void 0 ? m[1] : "";
-        if (this.operator === "=") {
-          this.operator = "";
-        }
-        if (!m[2]) {
-          this.semver = ANY;
-        } else {
-          this.semver = new SemVer(m[2], this.options.loose);
-        }
+      if (encoding === "base64") {
+        return util.binary.base64.encode(view);
       }
-      toString() {
-        return this.value;
+      if (encoding === "utf8") {
+        return util.text.utf8.decode(view);
       }
-      test(version) {
-        debug5("Comparator.test", version, this.options.loose);
-        if (this.semver === ANY || version === ANY) {
-          return true;
-        }
-        if (typeof version === "string") {
-          try {
-            version = new SemVer(version, this.options);
-          } catch (er) {
-            return false;
-          }
-        }
-        return cmp(version, this.operator, this.semver, this.options);
+      if (encoding === "utf16") {
+        return util.text.utf16.decode(view);
       }
-      intersects(comp, options) {
-        if (!(comp instanceof _Comparator)) {
-          throw new TypeError("a Comparator is required");
-        }
-        if (this.operator === "") {
-          if (this.value === "") {
-            return true;
-          }
-          return new Range2(comp.value, options).test(this.value);
-        } else if (comp.operator === "") {
-          if (comp.value === "") {
-            return true;
-          }
-          return new Range2(this.value, options).test(comp.semver);
-        }
-        options = parseOptions(options);
-        if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
-          return false;
-        }
-        if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
-          return false;
-        }
-        if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
-          return true;
-        }
-        if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
-          return true;
-        }
-        if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
-          return true;
-        }
-        if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
-          return true;
+      throw new Error("Invalid encoding: " + encoding);
+    };
+    util.createBuffer = function(input, encoding) {
+      encoding = encoding || "raw";
+      if (input !== void 0 && encoding === "utf8") {
+        input = util.encodeUtf8(input);
+      }
+      return new util.ByteBuffer(input);
+    };
+    util.fillString = function(c, n) {
+      var s = "";
+      while (n > 0) {
+        if (n & 1) {
+          s += c;
         }
-        if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
-          return true;
+        n >>>= 1;
+        if (n > 0) {
+          c += c;
         }
-        return false;
       }
+      return s;
     };
-    module2.exports = Comparator;
-    var parseOptions = require_parse_options();
-    var { safeRe: re, t } = require_re();
-    var cmp = require_cmp();
-    var debug5 = require_debug();
-    var SemVer = require_semver();
-    var Range2 = require_range();
-  }
-});
-
-// node_modules/semver/functions/satisfies.js
-var require_satisfies = __commonJS({
-  "node_modules/semver/functions/satisfies.js"(exports2, module2) {
-    "use strict";
-    var Range2 = require_range();
-    var satisfies2 = (version, range, options) => {
-      try {
-        range = new Range2(range, options);
-      } catch (er) {
-        return false;
+    util.xorBytes = function(s1, s2, n) {
+      var s3 = "";
+      var b = "";
+      var t = "";
+      var i = 0;
+      var c = 0;
+      for (; n > 0; --n, ++i) {
+        b = s1.charCodeAt(i) ^ s2.charCodeAt(i);
+        if (c >= 10) {
+          s3 += t;
+          t = "";
+          c = 0;
+        }
+        t += String.fromCharCode(b);
+        ++c;
       }
-      return range.test(version);
+      s3 += t;
+      return s3;
     };
-    module2.exports = satisfies2;
-  }
-});
-
-// node_modules/semver/ranges/to-comparators.js
-var require_to_comparators = __commonJS({
-  "node_modules/semver/ranges/to-comparators.js"(exports2, module2) {
-    "use strict";
-    var Range2 = require_range();
-    var toComparators = (range, options) => new Range2(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
-    module2.exports = toComparators;
-  }
-});
-
-// node_modules/semver/ranges/max-satisfying.js
-var require_max_satisfying = __commonJS({
-  "node_modules/semver/ranges/max-satisfying.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var maxSatisfying = (versions, range, options) => {
-      let max = null;
-      let maxSV = null;
-      let rangeObj = null;
-      try {
-        rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
+    util.hexToBytes = function(hex) {
+      var rval = "";
+      var i = 0;
+      if (hex.length & true) {
+        i = 1;
+        rval += String.fromCharCode(parseInt(hex[0], 16));
       }
-      versions.forEach((v) => {
-        if (rangeObj.test(v)) {
-          if (!max || maxSV.compare(v) === -1) {
-            max = v;
-            maxSV = new SemVer(max, options);
-          }
-        }
-      });
-      return max;
+      for (; i < hex.length; i += 2) {
+        rval += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
+      }
+      return rval;
     };
-    module2.exports = maxSatisfying;
-  }
-});
-
-// node_modules/semver/ranges/min-satisfying.js
-var require_min_satisfying = __commonJS({
-  "node_modules/semver/ranges/min-satisfying.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var minSatisfying = (versions, range, options) => {
-      let min = null;
-      let minSV = null;
-      let rangeObj = null;
-      try {
-        rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
-      }
-      versions.forEach((v) => {
-        if (rangeObj.test(v)) {
-          if (!min || minSV.compare(v) === 1) {
-            min = v;
-            minSV = new SemVer(min, options);
-          }
-        }
-      });
-      return min;
+    util.bytesToHex = function(bytes) {
+      return util.createBuffer(bytes).toHex();
     };
-    module2.exports = minSatisfying;
-  }
-});
-
-// node_modules/semver/ranges/min-version.js
-var require_min_version = __commonJS({
-  "node_modules/semver/ranges/min-version.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var gt = require_gt();
-    var minVersion = (range, loose) => {
-      range = new Range2(range, loose);
-      let minver = new SemVer("0.0.0");
-      if (range.test(minver)) {
-        return minver;
-      }
-      minver = new SemVer("0.0.0-0");
-      if (range.test(minver)) {
-        return minver;
+    util.int32ToBytes = function(i) {
+      return String.fromCharCode(i >> 24 & 255) + String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255);
+    };
+    var _base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
+    var _base64Idx = [
+      /*43 -43 = 0*/
+      /*'+',  1,  2,  3,'/' */
+      62,
+      -1,
+      -1,
+      -1,
+      63,
+      /*'0','1','2','3','4','5','6','7','8','9' */
+      52,
+      53,
+      54,
+      55,
+      56,
+      57,
+      58,
+      59,
+      60,
+      61,
+      /*15, 16, 17,'=', 19, 20, 21 */
+      -1,
+      -1,
+      -1,
+      64,
+      -1,
+      -1,
+      -1,
+      /*65 - 43 = 22*/
+      /*'A','B','C','D','E','F','G','H','I','J','K','L','M', */
+      0,
+      1,
+      2,
+      3,
+      4,
+      5,
+      6,
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      /*'N','O','P','Q','R','S','T','U','V','W','X','Y','Z' */
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      /*91 - 43 = 48 */
+      /*48, 49, 50, 51, 52, 53 */
+      -1,
+      -1,
+      -1,
+      -1,
+      -1,
+      -1,
+      /*97 - 43 = 54*/
+      /*'a','b','c','d','e','f','g','h','i','j','k','l','m' */
+      26,
+      27,
+      28,
+      29,
+      30,
+      31,
+      32,
+      33,
+      34,
+      35,
+      36,
+      37,
+      38,
+      /*'n','o','p','q','r','s','t','u','v','w','x','y','z' */
+      39,
+      40,
+      41,
+      42,
+      43,
+      44,
+      45,
+      46,
+      47,
+      48,
+      49,
+      50,
+      51
+    ];
+    var _base58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
+    util.encode64 = function(input, maxline) {
+      var line = "";
+      var output = "";
+      var chr1, chr2, chr3;
+      var i = 0;
+      while (i < input.length) {
+        chr1 = input.charCodeAt(i++);
+        chr2 = input.charCodeAt(i++);
+        chr3 = input.charCodeAt(i++);
+        line += _base64.charAt(chr1 >> 2);
+        line += _base64.charAt((chr1 & 3) << 4 | chr2 >> 4);
+        if (isNaN(chr2)) {
+          line += "==";
+        } else {
+          line += _base64.charAt((chr2 & 15) << 2 | chr3 >> 6);
+          line += isNaN(chr3) ? "=" : _base64.charAt(chr3 & 63);
+        }
+        if (maxline && line.length > maxline) {
+          output += line.substr(0, maxline) + "\r\n";
+          line = line.substr(maxline);
+        }
       }
-      minver = null;
-      for (let i = 0; i < range.set.length; ++i) {
-        const comparators = range.set[i];
-        let setMin = null;
-        comparators.forEach((comparator) => {
-          const compver = new SemVer(comparator.semver.version);
-          switch (comparator.operator) {
-            case ">":
-              if (compver.prerelease.length === 0) {
-                compver.patch++;
-              } else {
-                compver.prerelease.push(0);
-              }
-              compver.raw = compver.format();
-            /* fallthrough */
-            case "":
-            case ">=":
-              if (!setMin || gt(compver, setMin)) {
-                setMin = compver;
-              }
-              break;
-            case "<":
-            case "<=":
-              break;
-            /* istanbul ignore next */
-            default:
-              throw new Error(`Unexpected operation: ${comparator.operator}`);
+      output += line;
+      return output;
+    };
+    util.decode64 = function(input) {
+      input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
+      var output = "";
+      var enc1, enc2, enc3, enc4;
+      var i = 0;
+      while (i < input.length) {
+        enc1 = _base64Idx[input.charCodeAt(i++) - 43];
+        enc2 = _base64Idx[input.charCodeAt(i++) - 43];
+        enc3 = _base64Idx[input.charCodeAt(i++) - 43];
+        enc4 = _base64Idx[input.charCodeAt(i++) - 43];
+        output += String.fromCharCode(enc1 << 2 | enc2 >> 4);
+        if (enc3 !== 64) {
+          output += String.fromCharCode((enc2 & 15) << 4 | enc3 >> 2);
+          if (enc4 !== 64) {
+            output += String.fromCharCode((enc3 & 3) << 6 | enc4);
           }
-        });
-        if (setMin && (!minver || gt(minver, setMin))) {
-          minver = setMin;
         }
       }
-      if (minver && range.test(minver)) {
-        return minver;
+      return output;
+    };
+    util.encodeUtf8 = function(str2) {
+      return unescape(encodeURIComponent(str2));
+    };
+    util.decodeUtf8 = function(str2) {
+      return decodeURIComponent(escape(str2));
+    };
+    util.binary = {
+      raw: {},
+      hex: {},
+      base64: {},
+      base58: {},
+      baseN: {
+        encode: baseN.encode,
+        decode: baseN.decode
       }
-      return null;
     };
-    module2.exports = minVersion;
-  }
-});
-
-// node_modules/semver/ranges/valid.js
-var require_valid2 = __commonJS({
-  "node_modules/semver/ranges/valid.js"(exports2, module2) {
-    "use strict";
-    var Range2 = require_range();
-    var validRange = (range, options) => {
-      try {
-        return new Range2(range, options).range || "*";
-      } catch (er) {
-        return null;
+    util.binary.raw.encode = function(bytes) {
+      return String.fromCharCode.apply(null, bytes);
+    };
+    util.binary.raw.decode = function(str2, output, offset) {
+      var out = output;
+      if (!out) {
+        out = new Uint8Array(str2.length);
+      }
+      offset = offset || 0;
+      var j = offset;
+      for (var i = 0; i < str2.length; ++i) {
+        out[j++] = str2.charCodeAt(i);
       }
+      return output ? j - offset : out;
     };
-    module2.exports = validRange;
-  }
-});
-
-// node_modules/semver/ranges/outside.js
-var require_outside = __commonJS({
-  "node_modules/semver/ranges/outside.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var Comparator = require_comparator();
-    var { ANY } = Comparator;
-    var Range2 = require_range();
-    var satisfies2 = require_satisfies();
-    var gt = require_gt();
-    var lt = require_lt();
-    var lte = require_lte();
-    var gte4 = require_gte();
-    var outside = (version, range, hilo, options) => {
-      version = new SemVer(version, options);
-      range = new Range2(range, options);
-      let gtfn, ltefn, ltfn, comp, ecomp;
-      switch (hilo) {
-        case ">":
-          gtfn = gt;
-          ltefn = lte;
-          ltfn = lt;
-          comp = ">";
-          ecomp = ">=";
-          break;
-        case "<":
-          gtfn = lt;
-          ltefn = gte4;
-          ltfn = gt;
-          comp = "<";
-          ecomp = "<=";
-          break;
-        default:
-          throw new TypeError('Must provide a hilo val of "<" or ">"');
+    util.binary.hex.encode = util.bytesToHex;
+    util.binary.hex.decode = function(hex, output, offset) {
+      var out = output;
+      if (!out) {
+        out = new Uint8Array(Math.ceil(hex.length / 2));
       }
-      if (satisfies2(version, range, options)) {
-        return false;
+      offset = offset || 0;
+      var i = 0, j = offset;
+      if (hex.length & 1) {
+        i = 1;
+        out[j++] = parseInt(hex[0], 16);
       }
-      for (let i = 0; i < range.set.length; ++i) {
-        const comparators = range.set[i];
-        let high = null;
-        let low = null;
-        comparators.forEach((comparator) => {
-          if (comparator.semver === ANY) {
-            comparator = new Comparator(">=0.0.0");
-          }
-          high = high || comparator;
-          low = low || comparator;
-          if (gtfn(comparator.semver, high.semver, options)) {
-            high = comparator;
-          } else if (ltfn(comparator.semver, low.semver, options)) {
-            low = comparator;
-          }
-        });
-        if (high.operator === comp || high.operator === ecomp) {
-          return false;
-        }
-        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
-          return false;
-        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
-          return false;
-        }
+      for (; i < hex.length; i += 2) {
+        out[j++] = parseInt(hex.substr(i, 2), 16);
       }
-      return true;
-    };
-    module2.exports = outside;
-  }
-});
-
-// node_modules/semver/ranges/gtr.js
-var require_gtr = __commonJS({
-  "node_modules/semver/ranges/gtr.js"(exports2, module2) {
-    "use strict";
-    var outside = require_outside();
-    var gtr = (version, range, options) => outside(version, range, ">", options);
-    module2.exports = gtr;
-  }
-});
-
-// node_modules/semver/ranges/ltr.js
-var require_ltr = __commonJS({
-  "node_modules/semver/ranges/ltr.js"(exports2, module2) {
-    "use strict";
-    var outside = require_outside();
-    var ltr = (version, range, options) => outside(version, range, "<", options);
-    module2.exports = ltr;
-  }
-});
-
-// node_modules/semver/ranges/intersects.js
-var require_intersects = __commonJS({
-  "node_modules/semver/ranges/intersects.js"(exports2, module2) {
-    "use strict";
-    var Range2 = require_range();
-    var intersects = (r1, r2, options) => {
-      r1 = new Range2(r1, options);
-      r2 = new Range2(r2, options);
-      return r1.intersects(r2, options);
+      return output ? j - offset : out;
     };
-    module2.exports = intersects;
-  }
-});
-
-// node_modules/semver/ranges/simplify.js
-var require_simplify = __commonJS({
-  "node_modules/semver/ranges/simplify.js"(exports2, module2) {
-    "use strict";
-    var satisfies2 = require_satisfies();
-    var compare = require_compare();
-    module2.exports = (versions, range, options) => {
-      const set2 = [];
-      let first = null;
-      let prev = null;
-      const v = versions.sort((a, b) => compare(a, b, options));
-      for (const version of v) {
-        const included = satisfies2(version, range, options);
-        if (included) {
-          prev = version;
-          if (!first) {
-            first = version;
-          }
+    util.binary.base64.encode = function(input, maxline) {
+      var line = "";
+      var output = "";
+      var chr1, chr2, chr3;
+      var i = 0;
+      while (i < input.byteLength) {
+        chr1 = input[i++];
+        chr2 = input[i++];
+        chr3 = input[i++];
+        line += _base64.charAt(chr1 >> 2);
+        line += _base64.charAt((chr1 & 3) << 4 | chr2 >> 4);
+        if (isNaN(chr2)) {
+          line += "==";
         } else {
-          if (prev) {
-            set2.push([first, prev]);
-          }
-          prev = null;
-          first = null;
+          line += _base64.charAt((chr2 & 15) << 2 | chr3 >> 6);
+          line += isNaN(chr3) ? "=" : _base64.charAt(chr3 & 63);
         }
-      }
-      if (first) {
-        set2.push([first, null]);
-      }
-      const ranges = [];
-      for (const [min, max] of set2) {
-        if (min === max) {
-          ranges.push(min);
-        } else if (!max && min === v[0]) {
-          ranges.push("*");
-        } else if (!max) {
-          ranges.push(`>=${min}`);
-        } else if (min === v[0]) {
-          ranges.push(`<=${max}`);
-        } else {
-          ranges.push(`${min} - ${max}`);
+        if (maxline && line.length > maxline) {
+          output += line.substr(0, maxline) + "\r\n";
+          line = line.substr(maxline);
         }
       }
-      const simplified = ranges.join(" || ");
-      const original = typeof range.raw === "string" ? range.raw : String(range);
-      return simplified.length < original.length ? simplified : range;
+      output += line;
+      return output;
     };
-  }
-});
-
-// node_modules/semver/ranges/subset.js
-var require_subset = __commonJS({
-  "node_modules/semver/ranges/subset.js"(exports2, module2) {
-    "use strict";
-    var Range2 = require_range();
-    var Comparator = require_comparator();
-    var { ANY } = Comparator;
-    var satisfies2 = require_satisfies();
-    var compare = require_compare();
-    var subset = (sub, dom, options = {}) => {
-      if (sub === dom) {
-        return true;
+    util.binary.base64.decode = function(input, output, offset) {
+      var out = output;
+      if (!out) {
+        out = new Uint8Array(Math.ceil(input.length / 4) * 3);
       }
-      sub = new Range2(sub, options);
-      dom = new Range2(dom, options);
-      let sawNonNull = false;
-      OUTER: for (const simpleSub of sub.set) {
-        for (const simpleDom of dom.set) {
-          const isSub = simpleSubset(simpleSub, simpleDom, options);
-          sawNonNull = sawNonNull || isSub !== null;
-          if (isSub) {
-            continue OUTER;
+      input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
+      offset = offset || 0;
+      var enc1, enc2, enc3, enc4;
+      var i = 0, j = offset;
+      while (i < input.length) {
+        enc1 = _base64Idx[input.charCodeAt(i++) - 43];
+        enc2 = _base64Idx[input.charCodeAt(i++) - 43];
+        enc3 = _base64Idx[input.charCodeAt(i++) - 43];
+        enc4 = _base64Idx[input.charCodeAt(i++) - 43];
+        out[j++] = enc1 << 2 | enc2 >> 4;
+        if (enc3 !== 64) {
+          out[j++] = (enc2 & 15) << 4 | enc3 >> 2;
+          if (enc4 !== 64) {
+            out[j++] = (enc3 & 3) << 6 | enc4;
           }
         }
-        if (sawNonNull) {
-          return false;
-        }
       }
-      return true;
+      return output ? j - offset : out.subarray(0, j);
     };
-    var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
-    var minimumVersion = [new Comparator(">=0.0.0")];
-    var simpleSubset = (sub, dom, options) => {
-      if (sub === dom) {
-        return true;
+    util.binary.base58.encode = function(input, maxline) {
+      return util.binary.baseN.encode(input, _base58, maxline);
+    };
+    util.binary.base58.decode = function(input, maxline) {
+      return util.binary.baseN.decode(input, _base58, maxline);
+    };
+    util.text = {
+      utf8: {},
+      utf16: {}
+    };
+    util.text.utf8.encode = function(str2, output, offset) {
+      str2 = util.encodeUtf8(str2);
+      var out = output;
+      if (!out) {
+        out = new Uint8Array(str2.length);
       }
-      if (sub.length === 1 && sub[0].semver === ANY) {
-        if (dom.length === 1 && dom[0].semver === ANY) {
-          return true;
-        } else if (options.includePrerelease) {
-          sub = minimumVersionWithPreRelease;
-        } else {
-          sub = minimumVersion;
-        }
+      offset = offset || 0;
+      var j = offset;
+      for (var i = 0; i < str2.length; ++i) {
+        out[j++] = str2.charCodeAt(i);
       }
-      if (dom.length === 1 && dom[0].semver === ANY) {
-        if (options.includePrerelease) {
-          return true;
-        } else {
-          dom = minimumVersion;
+      return output ? j - offset : out;
+    };
+    util.text.utf8.decode = function(bytes) {
+      return util.decodeUtf8(String.fromCharCode.apply(null, bytes));
+    };
+    util.text.utf16.encode = function(str2, output, offset) {
+      var out = output;
+      if (!out) {
+        out = new Uint8Array(str2.length * 2);
+      }
+      var view = new Uint16Array(out.buffer);
+      offset = offset || 0;
+      var j = offset;
+      var k = offset;
+      for (var i = 0; i < str2.length; ++i) {
+        view[k++] = str2.charCodeAt(i);
+        j += 2;
+      }
+      return output ? j - offset : out;
+    };
+    util.text.utf16.decode = function(bytes) {
+      return String.fromCharCode.apply(null, new Uint16Array(bytes.buffer));
+    };
+    util.deflate = function(api, bytes, raw) {
+      bytes = util.decode64(api.deflate(util.encode64(bytes)).rval);
+      if (raw) {
+        var start = 2;
+        var flg = bytes.charCodeAt(1);
+        if (flg & 32) {
+          start = 6;
         }
+        bytes = bytes.substring(start, bytes.length - 4);
       }
-      const eqSet = /* @__PURE__ */ new Set();
-      let gt, lt;
-      for (const c of sub) {
-        if (c.operator === ">" || c.operator === ">=") {
-          gt = higherGT(gt, c, options);
-        } else if (c.operator === "<" || c.operator === "<=") {
-          lt = lowerLT(lt, c, options);
+      return bytes;
+    };
+    util.inflate = function(api, bytes, raw) {
+      var rval = api.inflate(util.encode64(bytes)).rval;
+      return rval === null ? null : util.decode64(rval);
+    };
+    var _setStorageObject = function(api, id, obj) {
+      if (!api) {
+        throw new Error("WebStorage not available.");
+      }
+      var rval;
+      if (obj === null) {
+        rval = api.removeItem(id);
+      } else {
+        obj = util.encode64(JSON.stringify(obj));
+        rval = api.setItem(id, obj);
+      }
+      if (typeof rval !== "undefined" && rval.rval !== true) {
+        var error3 = new Error(rval.error.message);
+        error3.id = rval.error.id;
+        error3.name = rval.error.name;
+        throw error3;
+      }
+    };
+    var _getStorageObject = function(api, id) {
+      if (!api) {
+        throw new Error("WebStorage not available.");
+      }
+      var rval = api.getItem(id);
+      if (api.init) {
+        if (rval.rval === null) {
+          if (rval.error) {
+            var error3 = new Error(rval.error.message);
+            error3.id = rval.error.id;
+            error3.name = rval.error.name;
+            throw error3;
+          }
+          rval = null;
         } else {
-          eqSet.add(c.semver);
+          rval = rval.rval;
         }
       }
-      if (eqSet.size > 1) {
-        return null;
+      if (rval !== null) {
+        rval = JSON.parse(util.decode64(rval));
       }
-      let gtltComp;
-      if (gt && lt) {
-        gtltComp = compare(gt.semver, lt.semver, options);
-        if (gtltComp > 0) {
-          return null;
-        } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
-          return null;
-        }
+      return rval;
+    };
+    var _setItem = function(api, id, key, data) {
+      var obj = _getStorageObject(api, id);
+      if (obj === null) {
+        obj = {};
       }
-      for (const eq of eqSet) {
-        if (gt && !satisfies2(eq, String(gt), options)) {
-          return null;
-        }
-        if (lt && !satisfies2(eq, String(lt), options)) {
-          return null;
+      obj[key] = data;
+      _setStorageObject(api, id, obj);
+    };
+    var _getItem = function(api, id, key) {
+      var rval = _getStorageObject(api, id);
+      if (rval !== null) {
+        rval = key in rval ? rval[key] : null;
+      }
+      return rval;
+    };
+    var _removeItem = function(api, id, key) {
+      var obj = _getStorageObject(api, id);
+      if (obj !== null && key in obj) {
+        delete obj[key];
+        var empty = true;
+        for (var prop in obj) {
+          empty = false;
+          break;
         }
-        for (const c of dom) {
-          if (!satisfies2(eq, String(c), options)) {
-            return false;
-          }
+        if (empty) {
+          obj = null;
         }
-        return true;
+        _setStorageObject(api, id, obj);
       }
-      let higher, lower;
-      let hasDomLT, hasDomGT;
-      let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
-      let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
-      if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
-        needDomLTPre = false;
+    };
+    var _clearItems = function(api, id) {
+      _setStorageObject(api, id, null);
+    };
+    var _callStorageFunction = function(func, args, location) {
+      var rval = null;
+      if (typeof location === "undefined") {
+        location = ["web", "flash"];
       }
-      for (const c of dom) {
-        hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
-        hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
-        if (gt) {
-          if (needDomGTPre) {
-            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
-              needDomGTPre = false;
-            }
-          }
-          if (c.operator === ">" || c.operator === ">=") {
-            higher = higherGT(gt, c, options);
-            if (higher === c && higher !== gt) {
-              return false;
-            }
-          } else if (gt.operator === ">=" && !satisfies2(gt.semver, String(c), options)) {
-            return false;
-          }
-        }
-        if (lt) {
-          if (needDomLTPre) {
-            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
-              needDomLTPre = false;
+      var type2;
+      var done = false;
+      var exception2 = null;
+      for (var idx in location) {
+        type2 = location[idx];
+        try {
+          if (type2 === "flash" || type2 === "both") {
+            if (args[0] === null) {
+              throw new Error("Flash local storage not available.");
             }
+            rval = func.apply(this, args);
+            done = type2 === "flash";
           }
-          if (c.operator === "<" || c.operator === "<=") {
-            lower = lowerLT(lt, c, options);
-            if (lower === c && lower !== lt) {
-              return false;
-            }
-          } else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
-            return false;
+          if (type2 === "web" || type2 === "both") {
+            args[0] = localStorage;
+            rval = func.apply(this, args);
+            done = true;
           }
+        } catch (ex) {
+          exception2 = ex;
         }
-        if (!c.operator && (lt || gt) && gtltComp !== 0) {
-          return false;
+        if (done) {
+          break;
         }
       }
-      if (gt && hasDomLT && !lt && gtltComp !== 0) {
-        return false;
-      }
-      if (lt && hasDomGT && !gt && gtltComp !== 0) {
-        return false;
+      if (!done) {
+        throw exception2;
       }
-      if (needDomGTPre || needDomLTPre) {
-        return false;
+      return rval;
+    };
+    util.setItem = function(api, id, key, data, location) {
+      _callStorageFunction(_setItem, arguments, location);
+    };
+    util.getItem = function(api, id, key, location) {
+      return _callStorageFunction(_getItem, arguments, location);
+    };
+    util.removeItem = function(api, id, key, location) {
+      _callStorageFunction(_removeItem, arguments, location);
+    };
+    util.clearItems = function(api, id, location) {
+      _callStorageFunction(_clearItems, arguments, location);
+    };
+    util.isEmpty = function(obj) {
+      for (var prop in obj) {
+        if (obj.hasOwnProperty(prop)) {
+          return false;
+        }
       }
       return true;
     };
-    var higherGT = (a, b, options) => {
-      if (!a) {
-        return b;
+    util.format = function(format) {
+      var re = /%./g;
+      var match;
+      var part;
+      var argi = 0;
+      var parts = [];
+      var last = 0;
+      while (match = re.exec(format)) {
+        part = format.substring(last, re.lastIndex - 2);
+        if (part.length > 0) {
+          parts.push(part);
+        }
+        last = re.lastIndex;
+        var code = match[0][1];
+        switch (code) {
+          case "s":
+          case "o":
+            if (argi < arguments.length) {
+              parts.push(arguments[argi++ + 1]);
+            } else {
+              parts.push("");
+            }
+            break;
+          // FIXME: do proper formatting for numbers, etc
+          //case 'f':
+          //case 'd':
+          case "%":
+            parts.push("%");
+            break;
+          default:
+            parts.push("<%" + code + "?>");
+        }
       }
-      const comp = compare(a.semver, b.semver, options);
-      return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
+      parts.push(format.substring(last));
+      return parts.join("");
     };
-    var lowerLT = (a, b, options) => {
-      if (!a) {
-        return b;
+    util.formatNumber = function(number, decimals, dec_point, thousands_sep) {
+      var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
+      var d = dec_point === void 0 ? "," : dec_point;
+      var t = thousands_sep === void 0 ? "." : thousands_sep, s = n < 0 ? "-" : "";
+      var i = parseInt(n = Math.abs(+n || 0).toFixed(c), 10) + "";
+      var j = i.length > 3 ? i.length % 3 : 0;
+      return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
+    };
+    util.formatSize = function(size) {
+      if (size >= 1073741824) {
+        size = util.formatNumber(size / 1073741824, 2, ".", "") + " GiB";
+      } else if (size >= 1048576) {
+        size = util.formatNumber(size / 1048576, 2, ".", "") + " MiB";
+      } else if (size >= 1024) {
+        size = util.formatNumber(size / 1024, 0) + " KiB";
+      } else {
+        size = util.formatNumber(size, 0) + " bytes";
       }
-      const comp = compare(a.semver, b.semver, options);
-      return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
+      return size;
     };
-    module2.exports = subset;
-  }
-});
-
-// node_modules/semver/index.js
-var require_semver2 = __commonJS({
-  "node_modules/semver/index.js"(exports2, module2) {
-    "use strict";
-    var internalRe = require_re();
-    var constants = require_constants6();
-    var SemVer = require_semver();
-    var identifiers = require_identifiers();
-    var parse2 = require_parse2();
-    var valid2 = require_valid();
-    var clean = require_clean();
-    var inc = require_inc();
-    var diff = require_diff();
-    var major = require_major();
-    var minor = require_minor();
-    var patch = require_patch();
-    var prerelease = require_prerelease();
-    var compare = require_compare();
-    var rcompare = require_rcompare();
-    var compareLoose = require_compare_loose();
-    var compareBuild = require_compare_build();
-    var sort = require_sort();
-    var rsort = require_rsort();
-    var gt = require_gt();
-    var lt = require_lt();
-    var eq = require_eq();
-    var neq = require_neq();
-    var gte4 = require_gte();
-    var lte = require_lte();
-    var cmp = require_cmp();
-    var coerce2 = require_coerce();
-    var Comparator = require_comparator();
-    var Range2 = require_range();
-    var satisfies2 = require_satisfies();
-    var toComparators = require_to_comparators();
-    var maxSatisfying = require_max_satisfying();
-    var minSatisfying = require_min_satisfying();
-    var minVersion = require_min_version();
-    var validRange = require_valid2();
-    var outside = require_outside();
-    var gtr = require_gtr();
-    var ltr = require_ltr();
-    var intersects = require_intersects();
-    var simplifyRange = require_simplify();
-    var subset = require_subset();
-    module2.exports = {
-      parse: parse2,
-      valid: valid2,
-      clean,
-      inc,
-      diff,
-      major,
-      minor,
-      patch,
-      prerelease,
-      compare,
-      rcompare,
-      compareLoose,
-      compareBuild,
-      sort,
-      rsort,
-      gt,
-      lt,
-      eq,
-      neq,
-      gte: gte4,
-      lte,
-      cmp,
-      coerce: coerce2,
-      Comparator,
-      Range: Range2,
-      satisfies: satisfies2,
-      toComparators,
-      maxSatisfying,
-      minSatisfying,
-      minVersion,
-      validRange,
-      outside,
-      gtr,
-      ltr,
-      intersects,
-      simplifyRange,
-      subset,
-      SemVer,
-      re: internalRe.re,
-      src: internalRe.src,
-      tokens: internalRe.t,
-      SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
-      RELEASE_TYPES: constants.RELEASE_TYPES,
-      compareIdentifiers: identifiers.compareIdentifiers,
-      rcompareIdentifiers: identifiers.rcompareIdentifiers
+    util.bytesFromIP = function(ip) {
+      if (ip.indexOf(".") !== -1) {
+        return util.bytesFromIPv4(ip);
+      }
+      if (ip.indexOf(":") !== -1) {
+        return util.bytesFromIPv6(ip);
+      }
+      return null;
     };
-  }
-});
-
-// node_modules/@actions/tool-cache/lib/manifest.js
-var require_manifest = __commonJS({
-  "node_modules/@actions/tool-cache/lib/manifest.js"(exports2, module2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    util.bytesFromIPv4 = function(ip) {
+      ip = ip.split(".");
+      if (ip.length !== 4) {
+        return null;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      var b = util.createBuffer();
+      for (var i = 0; i < ip.length; ++i) {
+        var num = parseInt(ip[i], 10);
+        if (isNaN(num)) {
+          return null;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+        b.putByte(num);
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+      return b.getBytes();
+    };
+    util.bytesFromIPv6 = function(ip) {
+      var blanks = 0;
+      ip = ip.split(":").filter(function(e) {
+        if (e.length === 0) ++blanks;
+        return true;
+      });
+      var zeros = (8 - ip.length + blanks) * 2;
+      var b = util.createBuffer();
+      for (var i = 0; i < 8; ++i) {
+        if (!ip[i] || ip[i].length === 0) {
+          b.fillWithByte(0, zeros);
+          zeros = 0;
+          continue;
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        var bytes = util.hexToBytes(ip[i]);
+        if (bytes.length < 2) {
+          b.putByte(0);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
+        b.putBytes(bytes);
+      }
+      return b.getBytes();
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2._findMatch = _findMatch;
-    exports2._getOsVersion = _getOsVersion;
-    exports2._readLinuxVersionFile = _readLinuxVersionFile;
-    var semver6 = __importStar2(require_semver2());
-    var core_1 = require_core();
-    var os2 = require("os");
-    var cp = require("child_process");
-    var fs = require("fs");
-    function _findMatch(versionSpec, stable, candidates, archFilter) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const platFilter = os2.platform();
-        let result;
-        let match;
-        let file;
-        for (const candidate of candidates) {
-          const version = candidate.version;
-          (0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
-          if (semver6.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
-            file = candidate.files.find((item) => {
-              (0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
-              let chk = item.arch === archFilter && item.platform === platFilter;
-              if (chk && item.platform_version) {
-                const osVersion = module2.exports._getOsVersion();
-                if (osVersion === item.platform_version) {
-                  chk = true;
-                } else {
-                  chk = semver6.satisfies(osVersion, item.platform_version);
-                }
-              }
-              return chk;
-            });
-            if (file) {
-              (0, core_1.debug)(`matched ${candidate.version}`);
-              match = candidate;
-              break;
+    util.bytesToIP = function(bytes) {
+      if (bytes.length === 4) {
+        return util.bytesToIPv4(bytes);
+      }
+      if (bytes.length === 16) {
+        return util.bytesToIPv6(bytes);
+      }
+      return null;
+    };
+    util.bytesToIPv4 = function(bytes) {
+      if (bytes.length !== 4) {
+        return null;
+      }
+      var ip = [];
+      for (var i = 0; i < bytes.length; ++i) {
+        ip.push(bytes.charCodeAt(i));
+      }
+      return ip.join(".");
+    };
+    util.bytesToIPv6 = function(bytes) {
+      if (bytes.length !== 16) {
+        return null;
+      }
+      var ip = [];
+      var zeroGroups = [];
+      var zeroMaxGroup = 0;
+      for (var i = 0; i < bytes.length; i += 2) {
+        var hex = util.bytesToHex(bytes[i] + bytes[i + 1]);
+        while (hex[0] === "0" && hex !== "0") {
+          hex = hex.substr(1);
+        }
+        if (hex === "0") {
+          var last = zeroGroups[zeroGroups.length - 1];
+          var idx = ip.length;
+          if (!last || idx !== last.end + 1) {
+            zeroGroups.push({ start: idx, end: idx });
+          } else {
+            last.end = idx;
+            if (last.end - last.start > zeroGroups[zeroMaxGroup].end - zeroGroups[zeroMaxGroup].start) {
+              zeroMaxGroup = zeroGroups.length - 1;
             }
           }
         }
-        if (match && file) {
-          result = Object.assign({}, match);
-          result.files = [file];
-        }
-        return result;
-      });
-    }
-    function _getOsVersion() {
-      const plat = os2.platform();
-      let version = "";
-      if (plat === "darwin") {
-        version = cp.execSync("sw_vers -productVersion").toString();
-      } else if (plat === "linux") {
-        const lsbContents = module2.exports._readLinuxVersionFile();
-        if (lsbContents) {
-          const lines = lsbContents.split("\n");
-          for (const line of lines) {
-            const parts = line.split("=");
-            if (parts.length === 2 && (parts[0].trim() === "VERSION_ID" || parts[0].trim() === "DISTRIB_RELEASE")) {
-              version = parts[1].trim().replace(/^"/, "").replace(/"$/, "");
-              break;
-            }
+        ip.push(hex);
+      }
+      if (zeroGroups.length > 0) {
+        var group = zeroGroups[zeroMaxGroup];
+        if (group.end - group.start > 0) {
+          ip.splice(group.start, group.end - group.start + 1, "");
+          if (group.start === 0) {
+            ip.unshift("");
+          }
+          if (group.end === 7) {
+            ip.push("");
           }
         }
       }
-      return version;
-    }
-    function _readLinuxVersionFile() {
-      const lsbReleaseFile = "/etc/lsb-release";
-      const osReleaseFile = "/etc/os-release";
-      let contents = "";
-      if (fs.existsSync(lsbReleaseFile)) {
-        contents = fs.readFileSync(lsbReleaseFile).toString();
-      } else if (fs.existsSync(osReleaseFile)) {
-        contents = fs.readFileSync(osReleaseFile).toString();
+      return ip.join(":");
+    };
+    util.estimateCores = function(options, callback) {
+      if (typeof options === "function") {
+        callback = options;
+        options = {};
       }
-      return contents;
-    }
-  }
-});
-
-// node_modules/@actions/tool-cache/lib/retry-helper.js
-var require_retry_helper = __commonJS({
-  "node_modules/@actions/tool-cache/lib/retry-helper.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      options = options || {};
+      if ("cores" in util && !options.update) {
+        return callback(null, util.cores);
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      if (typeof navigator !== "undefined" && "hardwareConcurrency" in navigator && navigator.hardwareConcurrency > 0) {
+        util.cores = navigator.hardwareConcurrency;
+        return callback(null, util.cores);
+      }
+      if (typeof Worker === "undefined") {
+        util.cores = 1;
+        return callback(null, util.cores);
+      }
+      if (typeof Blob === "undefined") {
+        util.cores = 2;
+        return callback(null, util.cores);
+      }
+      var blobUrl = URL.createObjectURL(new Blob([
+        "(",
+        function() {
+          self.addEventListener("message", function(e) {
+            var st = Date.now();
+            var et = st + 4;
+            while (Date.now() < et) ;
+            self.postMessage({ st, et });
+          });
+        }.toString(),
+        ")()"
+      ], { type: "application/javascript" }));
+      sample([], 5, 16);
+      function sample(max, samples, numWorkers) {
+        if (samples === 0) {
+          var avg = Math.floor(max.reduce(function(avg2, x) {
+            return avg2 + x;
+          }, 0) / max.length);
+          util.cores = Math.max(1, avg);
+          URL.revokeObjectURL(blobUrl);
+          return callback(null, util.cores);
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
+        map2(numWorkers, function(err, results) {
+          max.push(reduce(numWorkers, results));
+          sample(max, samples - 1, numWorkers);
         });
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      function map2(numWorkers, callback2) {
+        var workers = [];
+        var results = [];
+        for (var i = 0; i < numWorkers; ++i) {
+          var worker = new Worker(blobUrl);
+          worker.addEventListener("message", function(e) {
+            results.push(e.data);
+            if (results.length === numWorkers) {
+              for (var i2 = 0; i2 < numWorkers; ++i2) {
+                workers[i2].terminate();
+              }
+              callback2(null, results);
+            }
+          });
+          workers.push(worker);
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        for (var i = 0; i < numWorkers; ++i) {
+          workers[i].postMessage(i);
+        }
+      }
+      function reduce(numWorkers, results) {
+        var overlaps = [];
+        for (var n = 0; n < numWorkers; ++n) {
+          var r1 = results[n];
+          var overlap = overlaps[n] = [];
+          for (var i = 0; i < numWorkers; ++i) {
+            if (n === i) {
+              continue;
+            }
+            var r2 = results[i];
+            if (r1.st > r2.st && r1.st < r2.et || r2.st > r1.st && r2.st < r1.et) {
+              overlap.push(i);
+            }
           }
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        return overlaps.reduce(function(max, overlap2) {
+          return Math.max(max, overlap2.length);
+        }, 0);
+      }
+    };
+  }
+});
+
+// node_modules/node-forge/lib/cipher.js
+var require_cipher = __commonJS({
+  "node_modules/node-forge/lib/cipher.js"(exports2, module2) {
+    var forge = require_forge();
+    require_util9();
+    module2.exports = forge.cipher = forge.cipher || {};
+    forge.cipher.algorithms = forge.cipher.algorithms || {};
+    forge.cipher.createCipher = function(algorithm, key) {
+      var api = algorithm;
+      if (typeof api === "string") {
+        api = forge.cipher.getAlgorithm(api);
+        if (api) {
+          api = api();
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      }
+      if (!api) {
+        throw new Error("Unsupported algorithm: " + algorithm);
+      }
+      return new forge.cipher.BlockCipher({
+        algorithm: api,
+        key,
+        decrypt: false
       });
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RetryHelper = void 0;
-    var core12 = __importStar2(require_core());
-    var RetryHelper = class {
-      constructor(maxAttempts, minSeconds, maxSeconds) {
-        if (maxAttempts < 1) {
-          throw new Error("max attempts should be greater than or equal to 1");
-        }
-        this.maxAttempts = maxAttempts;
-        this.minSeconds = Math.floor(minSeconds);
-        this.maxSeconds = Math.floor(maxSeconds);
-        if (this.minSeconds > this.maxSeconds) {
-          throw new Error("min seconds should be less than or equal to max seconds");
+    forge.cipher.createDecipher = function(algorithm, key) {
+      var api = algorithm;
+      if (typeof api === "string") {
+        api = forge.cipher.getAlgorithm(api);
+        if (api) {
+          api = api();
         }
       }
-      execute(action, isRetryable) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 1;
-          while (attempt < this.maxAttempts) {
-            try {
-              return yield action();
-            } catch (err) {
-              if (isRetryable && !isRetryable(err)) {
-                throw err;
-              }
-              core12.info(err.message);
-            }
-            const seconds = this.getSleepAmount();
-            core12.info(`Waiting ${seconds} seconds before trying again`);
-            yield this.sleep(seconds);
-            attempt++;
-          }
-          return yield action();
-        });
+      if (!api) {
+        throw new Error("Unsupported algorithm: " + algorithm);
       }
-      getSleepAmount() {
-        return Math.floor(Math.random() * (this.maxSeconds - this.minSeconds + 1)) + this.minSeconds;
+      return new forge.cipher.BlockCipher({
+        algorithm: api,
+        key,
+        decrypt: true
+      });
+    };
+    forge.cipher.registerAlgorithm = function(name, algorithm) {
+      name = name.toUpperCase();
+      forge.cipher.algorithms[name] = algorithm;
+    };
+    forge.cipher.getAlgorithm = function(name) {
+      name = name.toUpperCase();
+      if (name in forge.cipher.algorithms) {
+        return forge.cipher.algorithms[name];
       }
-      sleep(seconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve2) => setTimeout(resolve2, seconds * 1e3));
-        });
+      return null;
+    };
+    var BlockCipher = forge.cipher.BlockCipher = function(options) {
+      this.algorithm = options.algorithm;
+      this.mode = this.algorithm.mode;
+      this.blockSize = this.mode.blockSize;
+      this._finish = false;
+      this._input = null;
+      this.output = null;
+      this._op = options.decrypt ? this.mode.decrypt : this.mode.encrypt;
+      this._decrypt = options.decrypt;
+      this.algorithm.initialize(options);
+    };
+    BlockCipher.prototype.start = function(options) {
+      options = options || {};
+      var opts = {};
+      for (var key in options) {
+        opts[key] = options[key];
       }
+      opts.decrypt = this._decrypt;
+      this._finish = false;
+      this._input = forge.util.createBuffer();
+      this.output = options.output || forge.util.createBuffer();
+      this.mode.start(opts);
     };
-    exports2.RetryHelper = RetryHelper;
-  }
-});
-
-// node_modules/@actions/tool-cache/lib/tool-cache.js
-var require_tool_cache = __commonJS({
-  "node_modules/@actions/tool-cache/lib/tool-cache.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    BlockCipher.prototype.update = function(input) {
+      if (input) {
+        this._input.putBuffer(input);
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
+      while (!this._op.call(this.mode, this._input, this.output, this._finish) && !this._finish) {
+      }
+      this._input.compact();
+    };
+    BlockCipher.prototype.finish = function(pad) {
+      if (pad && (this.mode.name === "ECB" || this.mode.name === "CBC")) {
+        this.mode.pad = function(input) {
+          return pad(this.blockSize, input, false);
+        };
+        this.mode.unpad = function(output) {
+          return pad(this.blockSize, output, true);
         };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      var options = {};
+      options.decrypt = this._decrypt;
+      options.overflow = this._input.length() % this.blockSize;
+      if (!this._decrypt && this.mode.pad) {
+        if (!this.mode.pad(this._input, options)) {
+          return false;
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+      }
+      this._finish = true;
+      this.update();
+      if (this._decrypt && this.mode.unpad) {
+        if (!this.mode.unpad(this.output, options)) {
+          return false;
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      if (this.mode.afterFinish) {
+        if (!this.mode.afterFinish(this.output, options)) {
+          return false;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
+      }
+      return true;
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HTTPError = void 0;
-    exports2.downloadTool = downloadTool2;
-    exports2.extract7z = extract7z;
-    exports2.extractTar = extractTar2;
-    exports2.extractXar = extractXar;
-    exports2.extractZip = extractZip;
-    exports2.cacheDir = cacheDir2;
-    exports2.cacheFile = cacheFile;
-    exports2.find = find2;
-    exports2.findAllVersions = findAllVersions;
-    exports2.getManifestFromRepo = getManifestFromRepo;
-    exports2.findFromManifest = findFromManifest;
-    exports2.isExplicitVersion = isExplicitVersion;
-    exports2.evaluateVersions = evaluateVersions;
-    var core12 = __importStar2(require_core());
-    var io4 = __importStar2(require_io());
-    var crypto2 = __importStar2(require("crypto"));
-    var fs = __importStar2(require("fs"));
-    var mm = __importStar2(require_manifest());
-    var os2 = __importStar2(require("os"));
-    var path2 = __importStar2(require("path"));
-    var httpm = __importStar2(require_lib());
-    var semver6 = __importStar2(require_semver2());
-    var stream = __importStar2(require("stream"));
-    var util = __importStar2(require("util"));
-    var assert_1 = require("assert");
-    var exec_1 = require_exec();
-    var retry_helper_1 = require_retry_helper();
-    var HTTPError2 = class extends Error {
-      constructor(httpStatusCode) {
-        super(`Unexpected HTTP response: ${httpStatusCode}`);
-        this.httpStatusCode = httpStatusCode;
-        Object.setPrototypeOf(this, new.target.prototype);
+  }
+});
+
+// node_modules/node-forge/lib/cipherModes.js
+var require_cipherModes = __commonJS({
+  "node_modules/node-forge/lib/cipherModes.js"(exports2, module2) {
+    var forge = require_forge();
+    require_util9();
+    forge.cipher = forge.cipher || {};
+    var modes = module2.exports = forge.cipher.modes = forge.cipher.modes || {};
+    modes.ecb = function(options) {
+      options = options || {};
+      this.name = "ECB";
+      this.cipher = options.cipher;
+      this.blockSize = options.blockSize || 16;
+      this._ints = this.blockSize / 4;
+      this._inBlock = new Array(this._ints);
+      this._outBlock = new Array(this._ints);
+    };
+    modes.ecb.prototype.start = function(options) {
+    };
+    modes.ecb.prototype.encrypt = function(input, output, finish) {
+      if (input.length() < this.blockSize && !(finish && input.length() > 0)) {
+        return true;
+      }
+      for (var i = 0; i < this._ints; ++i) {
+        this._inBlock[i] = input.getInt32();
+      }
+      this.cipher.encrypt(this._inBlock, this._outBlock);
+      for (var i = 0; i < this._ints; ++i) {
+        output.putInt32(this._outBlock[i]);
       }
     };
-    exports2.HTTPError = HTTPError2;
-    var IS_WINDOWS = process.platform === "win32";
-    var IS_MAC = process.platform === "darwin";
-    var userAgent2 = "actions/tool-cache";
-    function downloadTool2(url, dest, auth2, headers) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        dest = dest || path2.join(_getTempDirectory(), crypto2.randomUUID());
-        yield io4.mkdirP(path2.dirname(dest));
-        core12.debug(`Downloading ${url}`);
-        core12.debug(`Destination ${dest}`);
-        const maxAttempts = 3;
-        const minSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS", 10);
-        const maxSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS", 20);
-        const retryHelper = new retry_helper_1.RetryHelper(maxAttempts, minSeconds, maxSeconds);
-        return yield retryHelper.execute(() => __awaiter2(this, void 0, void 0, function* () {
-          return yield downloadToolAttempt(url, dest || "", auth2, headers);
-        }), (err) => {
-          if (err instanceof HTTPError2 && err.httpStatusCode) {
-            if (err.httpStatusCode < 500 && err.httpStatusCode !== 408 && err.httpStatusCode !== 429) {
-              return false;
-            }
-          }
-          return true;
-        });
-      });
-    }
-    function downloadToolAttempt(url, dest, auth2, headers) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        if (fs.existsSync(dest)) {
-          throw new Error(`Destination file path ${dest} already exists`);
-        }
-        const http = new httpm.HttpClient(userAgent2, [], {
-          allowRetries: false
-        });
-        if (auth2) {
-          core12.debug("set auth");
-          if (headers === void 0) {
-            headers = {};
-          }
-          headers.authorization = auth2;
+    modes.ecb.prototype.decrypt = function(input, output, finish) {
+      if (input.length() < this.blockSize && !(finish && input.length() > 0)) {
+        return true;
+      }
+      for (var i = 0; i < this._ints; ++i) {
+        this._inBlock[i] = input.getInt32();
+      }
+      this.cipher.decrypt(this._inBlock, this._outBlock);
+      for (var i = 0; i < this._ints; ++i) {
+        output.putInt32(this._outBlock[i]);
+      }
+    };
+    modes.ecb.prototype.pad = function(input, options) {
+      var padding = input.length() === this.blockSize ? this.blockSize : this.blockSize - input.length();
+      input.fillWithByte(padding, padding);
+      return true;
+    };
+    modes.ecb.prototype.unpad = function(output, options) {
+      if (options.overflow > 0) {
+        return false;
+      }
+      var len = output.length();
+      var count = output.at(len - 1);
+      if (count > this.blockSize << 2) {
+        return false;
+      }
+      output.truncate(count);
+      return true;
+    };
+    modes.cbc = function(options) {
+      options = options || {};
+      this.name = "CBC";
+      this.cipher = options.cipher;
+      this.blockSize = options.blockSize || 16;
+      this._ints = this.blockSize / 4;
+      this._inBlock = new Array(this._ints);
+      this._outBlock = new Array(this._ints);
+    };
+    modes.cbc.prototype.start = function(options) {
+      if (options.iv === null) {
+        if (!this._prev) {
+          throw new Error("Invalid IV parameter.");
         }
-        const response = yield http.get(url, headers);
-        if (response.message.statusCode !== 200) {
-          const err = new HTTPError2(response.message.statusCode);
-          core12.debug(`Failed to download from "${url}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`);
-          throw err;
+        this._iv = this._prev.slice(0);
+      } else if (!("iv" in options)) {
+        throw new Error("Invalid IV parameter.");
+      } else {
+        this._iv = transformIV(options.iv, this.blockSize);
+        this._prev = this._iv.slice(0);
+      }
+    };
+    modes.cbc.prototype.encrypt = function(input, output, finish) {
+      if (input.length() < this.blockSize && !(finish && input.length() > 0)) {
+        return true;
+      }
+      for (var i = 0; i < this._ints; ++i) {
+        this._inBlock[i] = this._prev[i] ^ input.getInt32();
+      }
+      this.cipher.encrypt(this._inBlock, this._outBlock);
+      for (var i = 0; i < this._ints; ++i) {
+        output.putInt32(this._outBlock[i]);
+      }
+      this._prev = this._outBlock;
+    };
+    modes.cbc.prototype.decrypt = function(input, output, finish) {
+      if (input.length() < this.blockSize && !(finish && input.length() > 0)) {
+        return true;
+      }
+      for (var i = 0; i < this._ints; ++i) {
+        this._inBlock[i] = input.getInt32();
+      }
+      this.cipher.decrypt(this._inBlock, this._outBlock);
+      for (var i = 0; i < this._ints; ++i) {
+        output.putInt32(this._prev[i] ^ this._outBlock[i]);
+      }
+      this._prev = this._inBlock.slice(0);
+    };
+    modes.cbc.prototype.pad = function(input, options) {
+      var padding = input.length() === this.blockSize ? this.blockSize : this.blockSize - input.length();
+      input.fillWithByte(padding, padding);
+      return true;
+    };
+    modes.cbc.prototype.unpad = function(output, options) {
+      if (options.overflow > 0) {
+        return false;
+      }
+      var len = output.length();
+      var count = output.at(len - 1);
+      if (count > this.blockSize << 2) {
+        return false;
+      }
+      output.truncate(count);
+      return true;
+    };
+    modes.cfb = function(options) {
+      options = options || {};
+      this.name = "CFB";
+      this.cipher = options.cipher;
+      this.blockSize = options.blockSize || 16;
+      this._ints = this.blockSize / 4;
+      this._inBlock = null;
+      this._outBlock = new Array(this._ints);
+      this._partialBlock = new Array(this._ints);
+      this._partialOutput = forge.util.createBuffer();
+      this._partialBytes = 0;
+    };
+    modes.cfb.prototype.start = function(options) {
+      if (!("iv" in options)) {
+        throw new Error("Invalid IV parameter.");
+      }
+      this._iv = transformIV(options.iv, this.blockSize);
+      this._inBlock = this._iv.slice(0);
+      this._partialBytes = 0;
+    };
+    modes.cfb.prototype.encrypt = function(input, output, finish) {
+      var inputLength = input.length();
+      if (inputLength === 0) {
+        return true;
+      }
+      this.cipher.encrypt(this._inBlock, this._outBlock);
+      if (this._partialBytes === 0 && inputLength >= this.blockSize) {
+        for (var i = 0; i < this._ints; ++i) {
+          this._inBlock[i] = input.getInt32() ^ this._outBlock[i];
+          output.putInt32(this._inBlock[i]);
         }
-        const pipeline = util.promisify(stream.pipeline);
-        const responseMessageFactory = _getGlobal("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY", () => response.message);
-        const readStream = responseMessageFactory();
-        let succeeded = false;
-        try {
-          yield pipeline(readStream, fs.createWriteStream(dest));
-          core12.debug("download complete");
-          succeeded = true;
-          return dest;
-        } finally {
-          if (!succeeded) {
-            core12.debug("download failed");
-            try {
-              yield io4.rmRF(dest);
-            } catch (err) {
-              core12.debug(`Failed to delete '${dest}'. ${err.message}`);
-            }
-          }
+        return;
+      }
+      var partialBytes = (this.blockSize - inputLength) % this.blockSize;
+      if (partialBytes > 0) {
+        partialBytes = this.blockSize - partialBytes;
+      }
+      this._partialOutput.clear();
+      for (var i = 0; i < this._ints; ++i) {
+        this._partialBlock[i] = input.getInt32() ^ this._outBlock[i];
+        this._partialOutput.putInt32(this._partialBlock[i]);
+      }
+      if (partialBytes > 0) {
+        input.read -= this.blockSize;
+      } else {
+        for (var i = 0; i < this._ints; ++i) {
+          this._inBlock[i] = this._partialBlock[i];
         }
-      });
-    }
-    function extract7z(file, dest, _7zPath) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, assert_1.ok)(IS_WINDOWS, "extract7z() not supported on current OS");
-        (0, assert_1.ok)(file, 'parameter "file" is required');
-        dest = yield _createExtractFolder(dest);
-        const originalCwd = process.cwd();
-        process.chdir(dest);
-        if (_7zPath) {
-          try {
-            const logLevel = core12.isDebug() ? "-bb1" : "-bb0";
-            const args = [
-              "x",
-              // eXtract files with full paths
-              logLevel,
-              // -bb[0-3] : set output log level
-              "-bd",
-              // disable progress indicator
-              "-sccUTF-8",
-              // set charset for for console input/output
-              file
-            ];
-            const options = {
-              silent: true
-            };
-            yield (0, exec_1.exec)(`"${_7zPath}"`, args, options);
-          } finally {
-            process.chdir(originalCwd);
-          }
-        } else {
-          const escapedScript = path2.join(__dirname, "..", "scripts", "Invoke-7zdec.ps1").replace(/'/g, "''").replace(/"|\n|\r/g, "");
-          const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, "");
-          const escapedTarget = dest.replace(/'/g, "''").replace(/"|\n|\r/g, "");
-          const command = `& '${escapedScript}' -Source '${escapedFile}' -Target '${escapedTarget}'`;
-          const args = [
-            "-NoLogo",
-            "-Sta",
-            "-NoProfile",
-            "-NonInteractive",
-            "-ExecutionPolicy",
-            "Unrestricted",
-            "-Command",
-            command
-          ];
-          const options = {
-            silent: true
-          };
-          try {
-            const powershellPath = yield io4.which("powershell", true);
-            yield (0, exec_1.exec)(`"${powershellPath}"`, args, options);
-          } finally {
-            process.chdir(originalCwd);
-          }
+      }
+      if (this._partialBytes > 0) {
+        this._partialOutput.getBytes(this._partialBytes);
+      }
+      if (partialBytes > 0 && !finish) {
+        output.putBytes(this._partialOutput.getBytes(
+          partialBytes - this._partialBytes
+        ));
+        this._partialBytes = partialBytes;
+        return true;
+      }
+      output.putBytes(this._partialOutput.getBytes(
+        inputLength - this._partialBytes
+      ));
+      this._partialBytes = 0;
+    };
+    modes.cfb.prototype.decrypt = function(input, output, finish) {
+      var inputLength = input.length();
+      if (inputLength === 0) {
+        return true;
+      }
+      this.cipher.encrypt(this._inBlock, this._outBlock);
+      if (this._partialBytes === 0 && inputLength >= this.blockSize) {
+        for (var i = 0; i < this._ints; ++i) {
+          this._inBlock[i] = input.getInt32();
+          output.putInt32(this._inBlock[i] ^ this._outBlock[i]);
         }
-        return dest;
-      });
-    }
-    function extractTar2(file_1, dest_1) {
-      return __awaiter2(this, arguments, void 0, function* (file, dest, flags = "xz") {
-        if (!file) {
-          throw new Error("parameter 'file' is required");
+        return;
+      }
+      var partialBytes = (this.blockSize - inputLength) % this.blockSize;
+      if (partialBytes > 0) {
+        partialBytes = this.blockSize - partialBytes;
+      }
+      this._partialOutput.clear();
+      for (var i = 0; i < this._ints; ++i) {
+        this._partialBlock[i] = input.getInt32();
+        this._partialOutput.putInt32(this._partialBlock[i] ^ this._outBlock[i]);
+      }
+      if (partialBytes > 0) {
+        input.read -= this.blockSize;
+      } else {
+        for (var i = 0; i < this._ints; ++i) {
+          this._inBlock[i] = this._partialBlock[i];
         }
-        dest = yield _createExtractFolder(dest);
-        core12.debug("Checking tar --version");
-        let versionOutput = "";
-        yield (0, exec_1.exec)("tar --version", [], {
-          ignoreReturnCode: true,
-          silent: true,
-          listeners: {
-            stdout: (data) => versionOutput += data.toString(),
-            stderr: (data) => versionOutput += data.toString()
-          }
-        });
-        core12.debug(versionOutput.trim());
-        const isGnuTar = versionOutput.toUpperCase().includes("GNU TAR");
-        let args;
-        if (flags instanceof Array) {
-          args = flags;
-        } else {
-          args = [flags];
+      }
+      if (this._partialBytes > 0) {
+        this._partialOutput.getBytes(this._partialBytes);
+      }
+      if (partialBytes > 0 && !finish) {
+        output.putBytes(this._partialOutput.getBytes(
+          partialBytes - this._partialBytes
+        ));
+        this._partialBytes = partialBytes;
+        return true;
+      }
+      output.putBytes(this._partialOutput.getBytes(
+        inputLength - this._partialBytes
+      ));
+      this._partialBytes = 0;
+    };
+    modes.ofb = function(options) {
+      options = options || {};
+      this.name = "OFB";
+      this.cipher = options.cipher;
+      this.blockSize = options.blockSize || 16;
+      this._ints = this.blockSize / 4;
+      this._inBlock = null;
+      this._outBlock = new Array(this._ints);
+      this._partialOutput = forge.util.createBuffer();
+      this._partialBytes = 0;
+    };
+    modes.ofb.prototype.start = function(options) {
+      if (!("iv" in options)) {
+        throw new Error("Invalid IV parameter.");
+      }
+      this._iv = transformIV(options.iv, this.blockSize);
+      this._inBlock = this._iv.slice(0);
+      this._partialBytes = 0;
+    };
+    modes.ofb.prototype.encrypt = function(input, output, finish) {
+      var inputLength = input.length();
+      if (input.length() === 0) {
+        return true;
+      }
+      this.cipher.encrypt(this._inBlock, this._outBlock);
+      if (this._partialBytes === 0 && inputLength >= this.blockSize) {
+        for (var i = 0; i < this._ints; ++i) {
+          output.putInt32(input.getInt32() ^ this._outBlock[i]);
+          this._inBlock[i] = this._outBlock[i];
         }
-        if (core12.isDebug() && !flags.includes("v")) {
-          args.push("-v");
+        return;
+      }
+      var partialBytes = (this.blockSize - inputLength) % this.blockSize;
+      if (partialBytes > 0) {
+        partialBytes = this.blockSize - partialBytes;
+      }
+      this._partialOutput.clear();
+      for (var i = 0; i < this._ints; ++i) {
+        this._partialOutput.putInt32(input.getInt32() ^ this._outBlock[i]);
+      }
+      if (partialBytes > 0) {
+        input.read -= this.blockSize;
+      } else {
+        for (var i = 0; i < this._ints; ++i) {
+          this._inBlock[i] = this._outBlock[i];
         }
-        let destArg = dest;
-        let fileArg = file;
-        if (IS_WINDOWS && isGnuTar) {
-          args.push("--force-local");
-          destArg = dest.replace(/\\/g, "/");
-          fileArg = file.replace(/\\/g, "/");
+      }
+      if (this._partialBytes > 0) {
+        this._partialOutput.getBytes(this._partialBytes);
+      }
+      if (partialBytes > 0 && !finish) {
+        output.putBytes(this._partialOutput.getBytes(
+          partialBytes - this._partialBytes
+        ));
+        this._partialBytes = partialBytes;
+        return true;
+      }
+      output.putBytes(this._partialOutput.getBytes(
+        inputLength - this._partialBytes
+      ));
+      this._partialBytes = 0;
+    };
+    modes.ofb.prototype.decrypt = modes.ofb.prototype.encrypt;
+    modes.ctr = function(options) {
+      options = options || {};
+      this.name = "CTR";
+      this.cipher = options.cipher;
+      this.blockSize = options.blockSize || 16;
+      this._ints = this.blockSize / 4;
+      this._inBlock = null;
+      this._outBlock = new Array(this._ints);
+      this._partialOutput = forge.util.createBuffer();
+      this._partialBytes = 0;
+    };
+    modes.ctr.prototype.start = function(options) {
+      if (!("iv" in options)) {
+        throw new Error("Invalid IV parameter.");
+      }
+      this._iv = transformIV(options.iv, this.blockSize);
+      this._inBlock = this._iv.slice(0);
+      this._partialBytes = 0;
+    };
+    modes.ctr.prototype.encrypt = function(input, output, finish) {
+      var inputLength = input.length();
+      if (inputLength === 0) {
+        return true;
+      }
+      this.cipher.encrypt(this._inBlock, this._outBlock);
+      if (this._partialBytes === 0 && inputLength >= this.blockSize) {
+        for (var i = 0; i < this._ints; ++i) {
+          output.putInt32(input.getInt32() ^ this._outBlock[i]);
         }
-        if (isGnuTar) {
-          args.push("--warning=no-unknown-keyword");
-          args.push("--overwrite");
+      } else {
+        var partialBytes = (this.blockSize - inputLength) % this.blockSize;
+        if (partialBytes > 0) {
+          partialBytes = this.blockSize - partialBytes;
         }
-        args.push("-C", destArg, "-f", fileArg);
-        yield (0, exec_1.exec)(`tar`, args);
-        return dest;
-      });
-    }
-    function extractXar(file_1, dest_1) {
-      return __awaiter2(this, arguments, void 0, function* (file, dest, flags = []) {
-        (0, assert_1.ok)(IS_MAC, "extractXar() not supported on current OS");
-        (0, assert_1.ok)(file, 'parameter "file" is required');
-        dest = yield _createExtractFolder(dest);
-        let args;
-        if (flags instanceof Array) {
-          args = flags;
-        } else {
-          args = [flags];
+        this._partialOutput.clear();
+        for (var i = 0; i < this._ints; ++i) {
+          this._partialOutput.putInt32(input.getInt32() ^ this._outBlock[i]);
         }
-        args.push("-x", "-C", dest, "-f", file);
-        if (core12.isDebug()) {
-          args.push("-v");
+        if (partialBytes > 0) {
+          input.read -= this.blockSize;
         }
-        const xarPath = yield io4.which("xar", true);
-        yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args));
-        return dest;
-      });
-    }
-    function extractZip(file, dest) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        if (!file) {
-          throw new Error("parameter 'file' is required");
+        if (this._partialBytes > 0) {
+          this._partialOutput.getBytes(this._partialBytes);
         }
-        dest = yield _createExtractFolder(dest);
-        if (IS_WINDOWS) {
-          yield extractZipWin(file, dest);
-        } else {
-          yield extractZipNix(file, dest);
+        if (partialBytes > 0 && !finish) {
+          output.putBytes(this._partialOutput.getBytes(
+            partialBytes - this._partialBytes
+          ));
+          this._partialBytes = partialBytes;
+          return true;
         }
-        return dest;
-      });
-    }
-    function extractZipWin(file, dest) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, "");
-        const escapedDest = dest.replace(/'/g, "''").replace(/"|\n|\r/g, "");
-        const pwshPath = yield io4.which("pwsh", false);
-        if (pwshPath) {
-          const pwshCommand = [
-            `$ErrorActionPreference = 'Stop' ;`,
-            `try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;`,
-            `try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`,
-            `catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force } else { throw $_ } } ;`
-          ].join(" ");
-          const args = [
-            "-NoLogo",
-            "-NoProfile",
-            "-NonInteractive",
-            "-ExecutionPolicy",
-            "Unrestricted",
-            "-Command",
-            pwshCommand
-          ];
-          core12.debug(`Using pwsh at path: ${pwshPath}`);
-          yield (0, exec_1.exec)(`"${pwshPath}"`, args);
-        } else {
-          const powershellCommand = [
-            `$ErrorActionPreference = 'Stop' ;`,
-            `try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`,
-            `if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force }`,
-            `else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`
-          ].join(" ");
-          const args = [
-            "-NoLogo",
-            "-Sta",
-            "-NoProfile",
-            "-NonInteractive",
-            "-ExecutionPolicy",
-            "Unrestricted",
-            "-Command",
-            powershellCommand
-          ];
-          const powershellPath = yield io4.which("powershell", true);
-          core12.debug(`Using powershell at path: ${powershellPath}`);
-          yield (0, exec_1.exec)(`"${powershellPath}"`, args);
-        }
-      });
-    }
-    function extractZipNix(file, dest) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const unzipPath = yield io4.which("unzip", true);
-        const args = [file];
-        if (!core12.isDebug()) {
-          args.unshift("-q");
-        }
-        args.unshift("-o");
-        yield (0, exec_1.exec)(`"${unzipPath}"`, args, { cwd: dest });
-      });
-    }
-    function cacheDir2(sourceDir, tool, version, arch) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        version = semver6.clean(version) || version;
-        arch = arch || os2.arch();
-        core12.debug(`Caching tool ${tool} ${version} ${arch}`);
-        core12.debug(`source dir: ${sourceDir}`);
-        if (!fs.statSync(sourceDir).isDirectory()) {
-          throw new Error("sourceDir is not a directory");
-        }
-        const destPath = yield _createToolPath(tool, version, arch);
-        for (const itemName of fs.readdirSync(sourceDir)) {
-          const s = path2.join(sourceDir, itemName);
-          yield io4.cp(s, destPath, { recursive: true });
-        }
-        _completeToolPath(tool, version, arch);
-        return destPath;
-      });
-    }
-    function cacheFile(sourceFile, targetFile, tool, version, arch) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        version = semver6.clean(version) || version;
-        arch = arch || os2.arch();
-        core12.debug(`Caching tool ${tool} ${version} ${arch}`);
-        core12.debug(`source file: ${sourceFile}`);
-        if (!fs.statSync(sourceFile).isFile()) {
-          throw new Error("sourceFile is not a file");
-        }
-        const destFolder = yield _createToolPath(tool, version, arch);
-        const destPath = path2.join(destFolder, targetFile);
-        core12.debug(`destination file ${destPath}`);
-        yield io4.cp(sourceFile, destPath);
-        _completeToolPath(tool, version, arch);
-        return destFolder;
-      });
-    }
-    function find2(toolName, versionSpec, arch) {
-      if (!toolName) {
-        throw new Error("toolName parameter is required");
+        output.putBytes(this._partialOutput.getBytes(
+          inputLength - this._partialBytes
+        ));
+        this._partialBytes = 0;
       }
-      if (!versionSpec) {
-        throw new Error("versionSpec parameter is required");
+      inc32(this._inBlock);
+    };
+    modes.ctr.prototype.decrypt = modes.ctr.prototype.encrypt;
+    modes.gcm = function(options) {
+      options = options || {};
+      this.name = "GCM";
+      this.cipher = options.cipher;
+      this.blockSize = options.blockSize || 16;
+      this._ints = this.blockSize / 4;
+      this._inBlock = new Array(this._ints);
+      this._outBlock = new Array(this._ints);
+      this._partialOutput = forge.util.createBuffer();
+      this._partialBytes = 0;
+      this._R = 3774873600;
+    };
+    modes.gcm.prototype.start = function(options) {
+      if (!("iv" in options)) {
+        throw new Error("Invalid IV parameter.");
       }
-      arch = arch || os2.arch();
-      if (!isExplicitVersion(versionSpec)) {
-        const localVersions = findAllVersions(toolName, arch);
-        const match = evaluateVersions(localVersions, versionSpec);
-        versionSpec = match;
+      var iv = forge.util.createBuffer(options.iv);
+      this._cipherLength = 0;
+      var additionalData;
+      if ("additionalData" in options) {
+        additionalData = forge.util.createBuffer(options.additionalData);
+      } else {
+        additionalData = forge.util.createBuffer();
       }
-      let toolPath = "";
-      if (versionSpec) {
-        versionSpec = semver6.clean(versionSpec) || "";
-        const cachePath = path2.join(_getCacheDirectory(), toolName, versionSpec, arch);
-        core12.debug(`checking cache: ${cachePath}`);
-        if (fs.existsSync(cachePath) && fs.existsSync(`${cachePath}.complete`)) {
-          core12.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch}`);
-          toolPath = cachePath;
-        } else {
-          core12.debug("not found");
-        }
+      if ("tagLength" in options) {
+        this._tagLength = options.tagLength;
+      } else {
+        this._tagLength = 128;
       }
-      return toolPath;
-    }
-    function findAllVersions(toolName, arch) {
-      const versions = [];
-      arch = arch || os2.arch();
-      const toolPath = path2.join(_getCacheDirectory(), toolName);
-      if (fs.existsSync(toolPath)) {
-        const children = fs.readdirSync(toolPath);
-        for (const child of children) {
-          if (isExplicitVersion(child)) {
-            const fullPath = path2.join(toolPath, child, arch || "");
-            if (fs.existsSync(fullPath) && fs.existsSync(`${fullPath}.complete`)) {
-              versions.push(child);
-            }
-          }
+      this._tag = null;
+      if (options.decrypt) {
+        this._tag = forge.util.createBuffer(options.tag).getBytes();
+        if (this._tag.length !== this._tagLength / 8) {
+          throw new Error("Authentication tag does not match tag length.");
         }
       }
-      return versions;
-    }
-    function getManifestFromRepo(owner_1, repo_1, auth_1) {
-      return __awaiter2(this, arguments, void 0, function* (owner, repo, auth2, branch = "master") {
-        let releases = [];
-        const treeUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}`;
-        const http = new httpm.HttpClient("tool-cache");
-        const headers = {};
-        if (auth2) {
-          core12.debug("set auth");
-          headers.authorization = auth2;
-        }
-        const response = yield http.getJson(treeUrl, headers);
-        if (!response.result) {
-          return releases;
-        }
-        let manifestUrl = "";
-        for (const item of response.result.tree) {
-          if (item.path === "versions-manifest.json") {
-            manifestUrl = item.url;
-            break;
-          }
-        }
-        headers["accept"] = "application/vnd.github.VERSION.raw";
-        let versionsRaw = yield (yield http.get(manifestUrl, headers)).readBody();
-        if (versionsRaw) {
-          versionsRaw = versionsRaw.replace(/^\uFEFF/, "");
-          try {
-            releases = JSON.parse(versionsRaw);
-          } catch (_a) {
-            core12.debug("Invalid json");
-          }
-        }
-        return releases;
-      });
-    }
-    function findFromManifest(versionSpec_1, stable_1, manifest_1) {
-      return __awaiter2(this, arguments, void 0, function* (versionSpec, stable, manifest, archFilter = os2.arch()) {
-        const match = yield mm._findMatch(versionSpec, stable, manifest, archFilter);
-        return match;
-      });
-    }
-    function _createExtractFolder(dest) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        if (!dest) {
-          dest = path2.join(_getTempDirectory(), crypto2.randomUUID());
-        }
-        yield io4.mkdirP(dest);
-        return dest;
-      });
-    }
-    function _createToolPath(tool, version, arch) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        const folderPath = path2.join(_getCacheDirectory(), tool, semver6.clean(version) || version, arch || "");
-        core12.debug(`destination ${folderPath}`);
-        const markerPath = `${folderPath}.complete`;
-        yield io4.rmRF(folderPath);
-        yield io4.rmRF(markerPath);
-        yield io4.mkdirP(folderPath);
-        return folderPath;
-      });
-    }
-    function _completeToolPath(tool, version, arch) {
-      const folderPath = path2.join(_getCacheDirectory(), tool, semver6.clean(version) || version, arch || "");
-      const markerPath = `${folderPath}.complete`;
-      fs.writeFileSync(markerPath, "");
-      core12.debug("finished caching tool");
-    }
-    function isExplicitVersion(versionSpec) {
-      const c = semver6.clean(versionSpec) || "";
-      core12.debug(`isExplicit: ${c}`);
-      const valid2 = semver6.valid(c) != null;
-      core12.debug(`explicit? ${valid2}`);
-      return valid2;
-    }
-    function evaluateVersions(versions, versionSpec) {
-      let version = "";
-      core12.debug(`evaluating ${versions.length} versions`);
-      versions = versions.sort((a, b) => {
-        if (semver6.gt(a, b)) {
-          return 1;
-        }
-        return -1;
-      });
-      for (let i = versions.length - 1; i >= 0; i--) {
-        const potential = versions[i];
-        const satisfied = semver6.satisfies(potential, versionSpec);
-        if (satisfied) {
-          version = potential;
-          break;
+      this._hashBlock = new Array(this._ints);
+      this.tag = null;
+      this._hashSubkey = new Array(this._ints);
+      this.cipher.encrypt([0, 0, 0, 0], this._hashSubkey);
+      this.componentBits = 4;
+      this._m = this.generateHashTable(this._hashSubkey, this.componentBits);
+      var ivLength = iv.length();
+      if (ivLength === 12) {
+        this._j0 = [iv.getInt32(), iv.getInt32(), iv.getInt32(), 1];
+      } else {
+        this._j0 = [0, 0, 0, 0];
+        while (iv.length() > 0) {
+          this._j0 = this.ghash(
+            this._hashSubkey,
+            this._j0,
+            [iv.getInt32(), iv.getInt32(), iv.getInt32(), iv.getInt32()]
+          );
         }
+        this._j0 = this.ghash(
+          this._hashSubkey,
+          this._j0,
+          [0, 0].concat(from64To32(ivLength * 8))
+        );
       }
-      if (version) {
-        core12.debug(`matched: ${version}`);
-      } else {
-        core12.debug("match not found");
+      this._inBlock = this._j0.slice(0);
+      inc32(this._inBlock);
+      this._partialBytes = 0;
+      additionalData = forge.util.createBuffer(additionalData);
+      this._aDataLength = from64To32(additionalData.length() * 8);
+      var overflow = additionalData.length() % this.blockSize;
+      if (overflow) {
+        additionalData.fillWithByte(0, this.blockSize - overflow);
       }
-      return version;
-    }
-    function _getCacheDirectory() {
-      const cacheDirectory = process.env["RUNNER_TOOL_CACHE"] || "";
-      (0, assert_1.ok)(cacheDirectory, "Expected RUNNER_TOOL_CACHE to be defined");
-      return cacheDirectory;
-    }
-    function _getTempDirectory() {
-      const tempDirectory = process.env["RUNNER_TEMP"] || "";
-      (0, assert_1.ok)(tempDirectory, "Expected RUNNER_TEMP to be defined");
-      return tempDirectory;
-    }
-    function _getGlobal(key, defaultValue) {
-      const value = global[key];
-      return value !== void 0 ? value : defaultValue;
-    }
-    function _unique(values) {
-      return Array.from(new Set(values));
-    }
-  }
-});
-
-// node_modules/node-forge/lib/forge.js
-var require_forge = __commonJS({
-  "node_modules/node-forge/lib/forge.js"(exports2, module2) {
-    module2.exports = {
-      // default options
-      options: {
-        usePureJavaScript: false
+      this._s = [0, 0, 0, 0];
+      while (additionalData.length() > 0) {
+        this._s = this.ghash(this._hashSubkey, this._s, [
+          additionalData.getInt32(),
+          additionalData.getInt32(),
+          additionalData.getInt32(),
+          additionalData.getInt32()
+        ]);
       }
     };
-  }
-});
-
-// node_modules/node-forge/lib/baseN.js
-var require_baseN = __commonJS({
-  "node_modules/node-forge/lib/baseN.js"(exports2, module2) {
-    var api = {};
-    module2.exports = api;
-    var _reverseAlphabets = {};
-    api.encode = function(input, alphabet, maxline) {
-      if (typeof alphabet !== "string") {
-        throw new TypeError('"alphabet" must be a string.');
-      }
-      if (maxline !== void 0 && typeof maxline !== "number") {
-        throw new TypeError('"maxline" must be a number.');
+    modes.gcm.prototype.encrypt = function(input, output, finish) {
+      var inputLength = input.length();
+      if (inputLength === 0) {
+        return true;
       }
-      var output = "";
-      if (!(input instanceof Uint8Array)) {
-        output = _encodeWithByteBuffer(input, alphabet);
+      this.cipher.encrypt(this._inBlock, this._outBlock);
+      if (this._partialBytes === 0 && inputLength >= this.blockSize) {
+        for (var i = 0; i < this._ints; ++i) {
+          output.putInt32(this._outBlock[i] ^= input.getInt32());
+        }
+        this._cipherLength += this.blockSize;
       } else {
-        var i = 0;
-        var base = alphabet.length;
-        var first = alphabet.charAt(0);
-        var digits = [0];
-        for (i = 0; i < input.length; ++i) {
-          for (var j = 0, carry = input[i]; j < digits.length; ++j) {
-            carry += digits[j] << 8;
-            digits[j] = carry % base;
-            carry = carry / base | 0;
+        var partialBytes = (this.blockSize - inputLength) % this.blockSize;
+        if (partialBytes > 0) {
+          partialBytes = this.blockSize - partialBytes;
+        }
+        this._partialOutput.clear();
+        for (var i = 0; i < this._ints; ++i) {
+          this._partialOutput.putInt32(input.getInt32() ^ this._outBlock[i]);
+        }
+        if (partialBytes <= 0 || finish) {
+          if (finish) {
+            var overflow = inputLength % this.blockSize;
+            this._cipherLength += overflow;
+            this._partialOutput.truncate(this.blockSize - overflow);
+          } else {
+            this._cipherLength += this.blockSize;
           }
-          while (carry > 0) {
-            digits.push(carry % base);
-            carry = carry / base | 0;
+          for (var i = 0; i < this._ints; ++i) {
+            this._outBlock[i] = this._partialOutput.getInt32();
           }
+          this._partialOutput.read -= this.blockSize;
         }
-        for (i = 0; input[i] === 0 && i < input.length - 1; ++i) {
-          output += first;
+        if (this._partialBytes > 0) {
+          this._partialOutput.getBytes(this._partialBytes);
         }
-        for (i = digits.length - 1; i >= 0; --i) {
-          output += alphabet[digits[i]];
+        if (partialBytes > 0 && !finish) {
+          input.read -= this.blockSize;
+          output.putBytes(this._partialOutput.getBytes(
+            partialBytes - this._partialBytes
+          ));
+          this._partialBytes = partialBytes;
+          return true;
         }
+        output.putBytes(this._partialOutput.getBytes(
+          inputLength - this._partialBytes
+        ));
+        this._partialBytes = 0;
       }
-      if (maxline) {
-        var regex = new RegExp(".{1," + maxline + "}", "g");
-        output = output.match(regex).join("\r\n");
-      }
-      return output;
+      this._s = this.ghash(this._hashSubkey, this._s, this._outBlock);
+      inc32(this._inBlock);
     };
-    api.decode = function(input, alphabet) {
-      if (typeof input !== "string") {
-        throw new TypeError('"input" must be a string.');
+    modes.gcm.prototype.decrypt = function(input, output, finish) {
+      var inputLength = input.length();
+      if (inputLength < this.blockSize && !(finish && inputLength > 0)) {
+        return true;
       }
-      if (typeof alphabet !== "string") {
-        throw new TypeError('"alphabet" must be a string.');
+      this.cipher.encrypt(this._inBlock, this._outBlock);
+      inc32(this._inBlock);
+      this._hashBlock[0] = input.getInt32();
+      this._hashBlock[1] = input.getInt32();
+      this._hashBlock[2] = input.getInt32();
+      this._hashBlock[3] = input.getInt32();
+      this._s = this.ghash(this._hashSubkey, this._s, this._hashBlock);
+      for (var i = 0; i < this._ints; ++i) {
+        output.putInt32(this._outBlock[i] ^ this._hashBlock[i]);
       }
-      var table = _reverseAlphabets[alphabet];
-      if (!table) {
-        table = _reverseAlphabets[alphabet] = [];
-        for (var i = 0; i < alphabet.length; ++i) {
-          table[alphabet.charCodeAt(i)] = i;
-        }
+      if (inputLength < this.blockSize) {
+        this._cipherLength += inputLength % this.blockSize;
+      } else {
+        this._cipherLength += this.blockSize;
       }
-      input = input.replace(/\s/g, "");
-      var base = alphabet.length;
-      var first = alphabet.charAt(0);
-      var bytes = [0];
-      for (var i = 0; i < input.length; i++) {
-        var value = table[input.charCodeAt(i)];
-        if (value === void 0) {
-          return;
-        }
-        for (var j = 0, carry = value; j < bytes.length; ++j) {
-          carry += bytes[j] * base;
-          bytes[j] = carry & 255;
-          carry >>= 8;
-        }
-        while (carry > 0) {
-          bytes.push(carry & 255);
-          carry >>= 8;
-        }
+    };
+    modes.gcm.prototype.afterFinish = function(output, options) {
+      var rval = true;
+      if (options.decrypt && options.overflow) {
+        output.truncate(this.blockSize - options.overflow);
       }
-      for (var k = 0; input[k] === first && k < input.length - 1; ++k) {
-        bytes.push(0);
+      this.tag = forge.util.createBuffer();
+      var lengths = this._aDataLength.concat(from64To32(this._cipherLength * 8));
+      this._s = this.ghash(this._hashSubkey, this._s, lengths);
+      var tag = [];
+      this.cipher.encrypt(this._j0, tag);
+      for (var i = 0; i < this._ints; ++i) {
+        this.tag.putInt32(this._s[i] ^ tag[i]);
       }
-      if (typeof Buffer !== "undefined") {
-        return Buffer.from(bytes.reverse());
+      this.tag.truncate(this.tag.length() % (this._tagLength / 8));
+      if (options.decrypt && this.tag.bytes() !== this._tag) {
+        rval = false;
       }
-      return new Uint8Array(bytes.reverse());
+      return rval;
     };
-    function _encodeWithByteBuffer(input, alphabet) {
-      var i = 0;
-      var base = alphabet.length;
-      var first = alphabet.charAt(0);
-      var digits = [0];
-      for (i = 0; i < input.length(); ++i) {
-        for (var j = 0, carry = input.at(i); j < digits.length; ++j) {
-          carry += digits[j] << 8;
-          digits[j] = carry % base;
-          carry = carry / base | 0;
-        }
-        while (carry > 0) {
-          digits.push(carry % base);
-          carry = carry / base | 0;
+    modes.gcm.prototype.multiply = function(x, y) {
+      var z_i = [0, 0, 0, 0];
+      var v_i = y.slice(0);
+      for (var i = 0; i < 128; ++i) {
+        var x_i = x[i / 32 | 0] & 1 << 31 - i % 32;
+        if (x_i) {
+          z_i[0] ^= v_i[0];
+          z_i[1] ^= v_i[1];
+          z_i[2] ^= v_i[2];
+          z_i[3] ^= v_i[3];
         }
+        this.pow(v_i, v_i);
       }
-      var output = "";
-      for (i = 0; input.at(i) === 0 && i < input.length() - 1; ++i) {
-        output += first;
+      return z_i;
+    };
+    modes.gcm.prototype.pow = function(x, out) {
+      var lsb = x[3] & 1;
+      for (var i = 3; i > 0; --i) {
+        out[i] = x[i] >>> 1 | (x[i - 1] & 1) << 31;
       }
-      for (i = digits.length - 1; i >= 0; --i) {
-        output += alphabet[digits[i]];
+      out[0] = x[0] >>> 1;
+      if (lsb) {
+        out[0] ^= this._R;
       }
-      return output;
-    }
-  }
-});
-
-// node_modules/node-forge/lib/util.js
-var require_util9 = __commonJS({
-  "node_modules/node-forge/lib/util.js"(exports2, module2) {
-    var forge = require_forge();
-    var baseN = require_baseN();
-    var util = module2.exports = forge.util = forge.util || {};
-    (function() {
-      if (typeof process !== "undefined" && process.nextTick && !process.browser) {
-        util.nextTick = process.nextTick;
-        if (typeof setImmediate === "function") {
-          util.setImmediate = setImmediate;
-        } else {
-          util.setImmediate = util.nextTick;
-        }
-        return;
+    };
+    modes.gcm.prototype.tableMultiply = function(x) {
+      var z = [0, 0, 0, 0];
+      for (var i = 0; i < 32; ++i) {
+        var idx = i / 8 | 0;
+        var x_i = x[idx] >>> (7 - i % 8) * 4 & 15;
+        var ah = this._m[i][x_i];
+        z[0] ^= ah[0];
+        z[1] ^= ah[1];
+        z[2] ^= ah[2];
+        z[3] ^= ah[3];
       }
-      if (typeof setImmediate === "function") {
-        util.setImmediate = function() {
-          return setImmediate.apply(void 0, arguments);
-        };
-        util.nextTick = function(callback) {
-          return setImmediate(callback);
-        };
-        return;
-      }
-      util.setImmediate = function(callback) {
-        setTimeout(callback, 0);
-      };
-      if (typeof window !== "undefined" && typeof window.postMessage === "function") {
-        let handler3 = function(event) {
-          if (event.source === window && event.data === msg) {
-            event.stopPropagation();
-            var copy = callbacks.slice();
-            callbacks.length = 0;
-            copy.forEach(function(callback) {
-              callback();
-            });
-          }
-        };
-        var handler2 = handler3;
-        var msg = "forge.setImmediate";
-        var callbacks = [];
-        util.setImmediate = function(callback) {
-          callbacks.push(callback);
-          if (callbacks.length === 1) {
-            window.postMessage(msg, "*");
-          }
-        };
-        window.addEventListener("message", handler3, true);
-      }
-      if (typeof MutationObserver !== "undefined") {
-        var now = Date.now();
-        var attr = true;
-        var div = document.createElement("div");
-        var callbacks = [];
-        new MutationObserver(function() {
-          var copy = callbacks.slice();
-          callbacks.length = 0;
-          copy.forEach(function(callback) {
-            callback();
-          });
-        }).observe(div, { attributes: true });
-        var oldSetImmediate = util.setImmediate;
-        util.setImmediate = function(callback) {
-          if (Date.now() - now > 15) {
-            now = Date.now();
-            oldSetImmediate(callback);
-          } else {
-            callbacks.push(callback);
-            if (callbacks.length === 1) {
-              div.setAttribute("a", attr = !attr);
-            }
-          }
-        };
-      }
-      util.nextTick = util.setImmediate;
-    })();
-    util.isNodejs = typeof process !== "undefined" && process.versions && process.versions.node;
-    util.globalScope = (function() {
-      if (util.isNodejs) {
-        return global;
-      }
-      return typeof self === "undefined" ? window : self;
-    })();
-    util.isArray = Array.isArray || function(x) {
-      return Object.prototype.toString.call(x) === "[object Array]";
+      return z;
     };
-    util.isArrayBuffer = function(x) {
-      return typeof ArrayBuffer !== "undefined" && x instanceof ArrayBuffer;
+    modes.gcm.prototype.ghash = function(h, y, x) {
+      y[0] ^= x[0];
+      y[1] ^= x[1];
+      y[2] ^= x[2];
+      y[3] ^= x[3];
+      return this.tableMultiply(y);
     };
-    util.isArrayBufferView = function(x) {
-      return x && util.isArrayBuffer(x.buffer) && x.byteLength !== void 0;
+    modes.gcm.prototype.generateHashTable = function(h, bits) {
+      var multiplier = 8 / bits;
+      var perInt = 4 * multiplier;
+      var size = 16 * multiplier;
+      var m = new Array(size);
+      for (var i = 0; i < size; ++i) {
+        var tmp = [0, 0, 0, 0];
+        var idx = i / perInt | 0;
+        var shft = (perInt - 1 - i % perInt) * bits;
+        tmp[idx] = 1 << bits - 1 << shft;
+        m[i] = this.generateSubHashTable(this.multiply(tmp, h), bits);
+      }
+      return m;
     };
-    function _checkBitsParam(n) {
-      if (!(n === 8 || n === 16 || n === 24 || n === 32)) {
-        throw new Error("Only 8, 16, 24, or 32 bits supported: " + n);
+    modes.gcm.prototype.generateSubHashTable = function(mid, bits) {
+      var size = 1 << bits;
+      var half = size >>> 1;
+      var m = new Array(size);
+      m[half] = mid.slice(0);
+      var i = half >>> 1;
+      while (i > 0) {
+        this.pow(m[2 * i], m[i] = []);
+        i >>= 1;
       }
-    }
-    util.ByteBuffer = ByteStringBuffer;
-    function ByteStringBuffer(b) {
-      this.data = "";
-      this.read = 0;
-      if (typeof b === "string") {
-        this.data = b;
-      } else if (util.isArrayBuffer(b) || util.isArrayBufferView(b)) {
-        if (typeof Buffer !== "undefined" && b instanceof Buffer) {
-          this.data = b.toString("binary");
-        } else {
-          var arr = new Uint8Array(b);
-          try {
-            this.data = String.fromCharCode.apply(null, arr);
-          } catch (e) {
-            for (var i = 0; i < arr.length; ++i) {
-              this.putByte(arr[i]);
-            }
-          }
+      i = 2;
+      while (i < half) {
+        for (var j = 1; j < i; ++j) {
+          var m_i = m[i];
+          var m_j = m[j];
+          m[i + j] = [
+            m_i[0] ^ m_j[0],
+            m_i[1] ^ m_j[1],
+            m_i[2] ^ m_j[2],
+            m_i[3] ^ m_j[3]
+          ];
         }
-      } else if (b instanceof ByteStringBuffer || typeof b === "object" && typeof b.data === "string" && typeof b.read === "number") {
-        this.data = b.data;
-        this.read = b.read;
+        i *= 2;
       }
-      this._constructedStringLength = 0;
-    }
-    util.ByteStringBuffer = ByteStringBuffer;
-    var _MAX_CONSTRUCTED_STRING_LENGTH = 4096;
-    util.ByteStringBuffer.prototype._optimizeConstructedString = function(x) {
-      this._constructedStringLength += x;
-      if (this._constructedStringLength > _MAX_CONSTRUCTED_STRING_LENGTH) {
-        this.data.substr(0, 1);
-        this._constructedStringLength = 0;
+      m[0] = [0, 0, 0, 0];
+      for (i = half + 1; i < size; ++i) {
+        var c = m[i ^ half];
+        m[i] = [mid[0] ^ c[0], mid[1] ^ c[1], mid[2] ^ c[2], mid[3] ^ c[3]];
       }
+      return m;
     };
-    util.ByteStringBuffer.prototype.length = function() {
-      return this.data.length - this.read;
-    };
-    util.ByteStringBuffer.prototype.isEmpty = function() {
-      return this.length() <= 0;
-    };
-    util.ByteStringBuffer.prototype.putByte = function(b) {
-      return this.putBytes(String.fromCharCode(b));
-    };
-    util.ByteStringBuffer.prototype.fillWithByte = function(b, n) {
-      b = String.fromCharCode(b);
-      var d = this.data;
-      while (n > 0) {
-        if (n & 1) {
-          d += b;
-        }
-        n >>>= 1;
-        if (n > 0) {
-          b += b;
-        }
+    function transformIV(iv, blockSize) {
+      if (typeof iv === "string") {
+        iv = forge.util.createBuffer(iv);
       }
-      this.data = d;
-      this._optimizeConstructedString(n);
-      return this;
-    };
-    util.ByteStringBuffer.prototype.putBytes = function(bytes) {
-      this.data += bytes;
-      this._optimizeConstructedString(bytes.length);
-      return this;
-    };
-    util.ByteStringBuffer.prototype.putString = function(str2) {
-      return this.putBytes(util.encodeUtf8(str2));
-    };
-    util.ByteStringBuffer.prototype.putInt16 = function(i) {
-      return this.putBytes(
-        String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255)
-      );
-    };
-    util.ByteStringBuffer.prototype.putInt24 = function(i) {
-      return this.putBytes(
-        String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255)
-      );
-    };
-    util.ByteStringBuffer.prototype.putInt32 = function(i) {
-      return this.putBytes(
-        String.fromCharCode(i >> 24 & 255) + String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255)
-      );
-    };
-    util.ByteStringBuffer.prototype.putInt16Le = function(i) {
-      return this.putBytes(
-        String.fromCharCode(i & 255) + String.fromCharCode(i >> 8 & 255)
-      );
-    };
-    util.ByteStringBuffer.prototype.putInt24Le = function(i) {
-      return this.putBytes(
-        String.fromCharCode(i & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i >> 16 & 255)
-      );
-    };
-    util.ByteStringBuffer.prototype.putInt32Le = function(i) {
-      return this.putBytes(
-        String.fromCharCode(i & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 24 & 255)
-      );
-    };
-    util.ByteStringBuffer.prototype.putInt = function(i, n) {
-      _checkBitsParam(n);
-      var bytes = "";
-      do {
-        n -= 8;
-        bytes += String.fromCharCode(i >> n & 255);
-      } while (n > 0);
-      return this.putBytes(bytes);
-    };
-    util.ByteStringBuffer.prototype.putSignedInt = function(i, n) {
-      if (i < 0) {
-        i += 2 << n - 1;
+      if (forge.util.isArray(iv) && iv.length > 4) {
+        var tmp = iv;
+        iv = forge.util.createBuffer();
+        for (var i = 0; i < tmp.length; ++i) {
+          iv.putByte(tmp[i]);
+        }
       }
-      return this.putInt(i, n);
-    };
-    util.ByteStringBuffer.prototype.putBuffer = function(buffer) {
-      return this.putBytes(buffer.getBytes());
-    };
-    util.ByteStringBuffer.prototype.getByte = function() {
-      return this.data.charCodeAt(this.read++);
-    };
-    util.ByteStringBuffer.prototype.getInt16 = function() {
-      var rval = this.data.charCodeAt(this.read) << 8 ^ this.data.charCodeAt(this.read + 1);
-      this.read += 2;
-      return rval;
-    };
-    util.ByteStringBuffer.prototype.getInt24 = function() {
-      var rval = this.data.charCodeAt(this.read) << 16 ^ this.data.charCodeAt(this.read + 1) << 8 ^ this.data.charCodeAt(this.read + 2);
-      this.read += 3;
-      return rval;
-    };
-    util.ByteStringBuffer.prototype.getInt32 = function() {
-      var rval = this.data.charCodeAt(this.read) << 24 ^ this.data.charCodeAt(this.read + 1) << 16 ^ this.data.charCodeAt(this.read + 2) << 8 ^ this.data.charCodeAt(this.read + 3);
-      this.read += 4;
-      return rval;
-    };
-    util.ByteStringBuffer.prototype.getInt16Le = function() {
-      var rval = this.data.charCodeAt(this.read) ^ this.data.charCodeAt(this.read + 1) << 8;
-      this.read += 2;
-      return rval;
-    };
-    util.ByteStringBuffer.prototype.getInt24Le = function() {
-      var rval = this.data.charCodeAt(this.read) ^ this.data.charCodeAt(this.read + 1) << 8 ^ this.data.charCodeAt(this.read + 2) << 16;
-      this.read += 3;
-      return rval;
-    };
-    util.ByteStringBuffer.prototype.getInt32Le = function() {
-      var rval = this.data.charCodeAt(this.read) ^ this.data.charCodeAt(this.read + 1) << 8 ^ this.data.charCodeAt(this.read + 2) << 16 ^ this.data.charCodeAt(this.read + 3) << 24;
-      this.read += 4;
-      return rval;
-    };
-    util.ByteStringBuffer.prototype.getInt = function(n) {
-      _checkBitsParam(n);
-      var rval = 0;
-      do {
-        rval = (rval << 8) + this.data.charCodeAt(this.read++);
-        n -= 8;
-      } while (n > 0);
-      return rval;
-    };
-    util.ByteStringBuffer.prototype.getSignedInt = function(n) {
-      var x = this.getInt(n);
-      var max = 2 << n - 2;
-      if (x >= max) {
-        x -= max << 1;
+      if (iv.length() < blockSize) {
+        throw new Error(
+          "Invalid IV length; got " + iv.length() + " bytes and expected " + blockSize + " bytes."
+        );
       }
-      return x;
-    };
-    util.ByteStringBuffer.prototype.getBytes = function(count) {
-      var rval;
-      if (count) {
-        count = Math.min(this.length(), count);
-        rval = this.data.slice(this.read, this.read + count);
-        this.read += count;
-      } else if (count === 0) {
-        rval = "";
-      } else {
-        rval = this.read === 0 ? this.data : this.data.slice(this.read);
-        this.clear();
+      if (!forge.util.isArray(iv)) {
+        var ints = [];
+        var blocks = blockSize / 4;
+        for (var i = 0; i < blocks; ++i) {
+          ints.push(iv.getInt32());
+        }
+        iv = ints;
       }
-      return rval;
-    };
-    util.ByteStringBuffer.prototype.bytes = function(count) {
-      return typeof count === "undefined" ? this.data.slice(this.read) : this.data.slice(this.read, this.read + count);
-    };
-    util.ByteStringBuffer.prototype.at = function(i) {
-      return this.data.charCodeAt(this.read + i);
+      return iv;
+    }
+    function inc32(block) {
+      block[block.length - 1] = block[block.length - 1] + 1 & 4294967295;
+    }
+    function from64To32(num) {
+      return [num / 4294967296 | 0, num & 4294967295];
+    }
+  }
+});
+
+// node_modules/node-forge/lib/aes.js
+var require_aes = __commonJS({
+  "node_modules/node-forge/lib/aes.js"(exports2, module2) {
+    var forge = require_forge();
+    require_cipher();
+    require_cipherModes();
+    require_util9();
+    module2.exports = forge.aes = forge.aes || {};
+    forge.aes.startEncrypting = function(key, iv, output, mode) {
+      var cipher = _createCipher({
+        key,
+        output,
+        decrypt: false,
+        mode
+      });
+      cipher.start(iv);
+      return cipher;
     };
-    util.ByteStringBuffer.prototype.setAt = function(i, b) {
-      this.data = this.data.substr(0, this.read + i) + String.fromCharCode(b) + this.data.substr(this.read + i + 1);
-      return this;
+    forge.aes.createEncryptionCipher = function(key, mode) {
+      return _createCipher({
+        key,
+        output: null,
+        decrypt: false,
+        mode
+      });
     };
-    util.ByteStringBuffer.prototype.last = function() {
-      return this.data.charCodeAt(this.data.length - 1);
+    forge.aes.startDecrypting = function(key, iv, output, mode) {
+      var cipher = _createCipher({
+        key,
+        output,
+        decrypt: true,
+        mode
+      });
+      cipher.start(iv);
+      return cipher;
     };
-    util.ByteStringBuffer.prototype.copy = function() {
-      var c = util.createBuffer(this.data);
-      c.read = this.read;
-      return c;
+    forge.aes.createDecryptionCipher = function(key, mode) {
+      return _createCipher({
+        key,
+        output: null,
+        decrypt: true,
+        mode
+      });
     };
-    util.ByteStringBuffer.prototype.compact = function() {
-      if (this.read > 0) {
-        this.data = this.data.slice(this.read);
-        this.read = 0;
+    forge.aes.Algorithm = function(name, mode) {
+      if (!init) {
+        initialize();
       }
-      return this;
-    };
-    util.ByteStringBuffer.prototype.clear = function() {
-      this.data = "";
-      this.read = 0;
-      return this;
-    };
-    util.ByteStringBuffer.prototype.truncate = function(count) {
-      var len = Math.max(0, this.length() - count);
-      this.data = this.data.substr(this.read, len);
-      this.read = 0;
-      return this;
-    };
-    util.ByteStringBuffer.prototype.toHex = function() {
-      var rval = "";
-      for (var i = this.read; i < this.data.length; ++i) {
-        var b = this.data.charCodeAt(i);
-        if (b < 16) {
-          rval += "0";
+      var self2 = this;
+      self2.name = name;
+      self2.mode = new mode({
+        blockSize: 16,
+        cipher: {
+          encrypt: function(inBlock, outBlock) {
+            return _updateBlock(self2._w, inBlock, outBlock, false);
+          },
+          decrypt: function(inBlock, outBlock) {
+            return _updateBlock(self2._w, inBlock, outBlock, true);
+          }
         }
-        rval += b.toString(16);
-      }
-      return rval;
-    };
-    util.ByteStringBuffer.prototype.toString = function() {
-      return util.decodeUtf8(this.bytes());
+      });
+      self2._init = false;
     };
-    function DataBuffer(b, options) {
-      options = options || {};
-      this.read = options.readOffset || 0;
-      this.growSize = options.growSize || 1024;
-      var isArrayBuffer = util.isArrayBuffer(b);
-      var isArrayBufferView = util.isArrayBufferView(b);
-      if (isArrayBuffer || isArrayBufferView) {
-        if (isArrayBuffer) {
-          this.data = new DataView(b);
-        } else {
-          this.data = new DataView(b.buffer, b.byteOffset, b.byteLength);
-        }
-        this.write = "writeOffset" in options ? options.writeOffset : this.data.byteLength;
+    forge.aes.Algorithm.prototype.initialize = function(options) {
+      if (this._init) {
         return;
       }
-      this.data = new DataView(new ArrayBuffer(0));
-      this.write = 0;
-      if (b !== null && b !== void 0) {
-        this.putBytes(b);
+      var key = options.key;
+      var tmp;
+      if (typeof key === "string" && (key.length === 16 || key.length === 24 || key.length === 32)) {
+        key = forge.util.createBuffer(key);
+      } else if (forge.util.isArray(key) && (key.length === 16 || key.length === 24 || key.length === 32)) {
+        tmp = key;
+        key = forge.util.createBuffer();
+        for (var i = 0; i < tmp.length; ++i) {
+          key.putByte(tmp[i]);
+        }
       }
-      if ("writeOffset" in options) {
-        this.write = options.writeOffset;
+      if (!forge.util.isArray(key)) {
+        tmp = key;
+        key = [];
+        var len = tmp.length();
+        if (len === 16 || len === 24 || len === 32) {
+          len = len >>> 2;
+          for (var i = 0; i < len; ++i) {
+            key.push(tmp.getInt32());
+          }
+        }
       }
-    }
-    util.DataBuffer = DataBuffer;
-    util.DataBuffer.prototype.length = function() {
-      return this.write - this.read;
-    };
-    util.DataBuffer.prototype.isEmpty = function() {
-      return this.length() <= 0;
-    };
-    util.DataBuffer.prototype.accommodate = function(amount, growSize) {
-      if (this.length() >= amount) {
-        return this;
+      if (!forge.util.isArray(key) || !(key.length === 4 || key.length === 6 || key.length === 8)) {
+        throw new Error("Invalid key parameter.");
       }
-      growSize = Math.max(growSize || this.growSize, amount);
-      var src = new Uint8Array(
-        this.data.buffer,
-        this.data.byteOffset,
-        this.data.byteLength
-      );
-      var dst = new Uint8Array(this.length() + growSize);
-      dst.set(src);
-      this.data = new DataView(dst.buffer);
-      return this;
-    };
-    util.DataBuffer.prototype.putByte = function(b) {
-      this.accommodate(1);
-      this.data.setUint8(this.write++, b);
-      return this;
+      var mode = this.mode.name;
+      var encryptOp = ["CFB", "OFB", "CTR", "GCM"].indexOf(mode) !== -1;
+      this._w = _expandKey(key, options.decrypt && !encryptOp);
+      this._init = true;
     };
-    util.DataBuffer.prototype.fillWithByte = function(b, n) {
-      this.accommodate(n);
-      for (var i = 0; i < n; ++i) {
-        this.data.setUint8(b);
+    forge.aes._expandKey = function(key, decrypt) {
+      if (!init) {
+        initialize();
       }
-      return this;
+      return _expandKey(key, decrypt);
     };
-    util.DataBuffer.prototype.putBytes = function(bytes, encoding) {
-      if (util.isArrayBufferView(bytes)) {
-        var src = new Uint8Array(bytes.buffer, bytes.byteOffset, bytes.byteLength);
-        var len = src.byteLength - src.byteOffset;
-        this.accommodate(len);
-        var dst = new Uint8Array(this.data.buffer, this.write);
-        dst.set(src);
-        this.write += len;
-        return this;
-      }
-      if (util.isArrayBuffer(bytes)) {
-        var src = new Uint8Array(bytes);
-        this.accommodate(src.byteLength);
-        var dst = new Uint8Array(this.data.buffer);
-        dst.set(src, this.write);
-        this.write += src.byteLength;
-        return this;
-      }
-      if (bytes instanceof util.DataBuffer || typeof bytes === "object" && typeof bytes.read === "number" && typeof bytes.write === "number" && util.isArrayBufferView(bytes.data)) {
-        var src = new Uint8Array(bytes.data.byteLength, bytes.read, bytes.length());
-        this.accommodate(src.byteLength);
-        var dst = new Uint8Array(bytes.data.byteLength, this.write);
-        dst.set(src);
-        this.write += src.byteLength;
-        return this;
+    forge.aes._updateBlock = _updateBlock;
+    registerAlgorithm("AES-ECB", forge.cipher.modes.ecb);
+    registerAlgorithm("AES-CBC", forge.cipher.modes.cbc);
+    registerAlgorithm("AES-CFB", forge.cipher.modes.cfb);
+    registerAlgorithm("AES-OFB", forge.cipher.modes.ofb);
+    registerAlgorithm("AES-CTR", forge.cipher.modes.ctr);
+    registerAlgorithm("AES-GCM", forge.cipher.modes.gcm);
+    function registerAlgorithm(name, mode) {
+      var factory = function() {
+        return new forge.aes.Algorithm(name, mode);
+      };
+      forge.cipher.registerAlgorithm(name, factory);
+    }
+    var init = false;
+    var Nb = 4;
+    var sbox;
+    var isbox;
+    var rcon;
+    var mix;
+    var imix;
+    function initialize() {
+      init = true;
+      rcon = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54];
+      var xtime = new Array(256);
+      for (var i = 0; i < 128; ++i) {
+        xtime[i] = i << 1;
+        xtime[i + 128] = i + 128 << 1 ^ 283;
       }
-      if (bytes instanceof util.ByteStringBuffer) {
-        bytes = bytes.data;
-        encoding = "binary";
+      sbox = new Array(256);
+      isbox = new Array(256);
+      mix = new Array(4);
+      imix = new Array(4);
+      for (var i = 0; i < 4; ++i) {
+        mix[i] = new Array(256);
+        imix[i] = new Array(256);
       }
-      encoding = encoding || "binary";
-      if (typeof bytes === "string") {
-        var view;
-        if (encoding === "hex") {
-          this.accommodate(Math.ceil(bytes.length / 2));
-          view = new Uint8Array(this.data.buffer, this.write);
-          this.write += util.binary.hex.decode(bytes, view, this.write);
-          return this;
-        }
-        if (encoding === "base64") {
-          this.accommodate(Math.ceil(bytes.length / 4) * 3);
-          view = new Uint8Array(this.data.buffer, this.write);
-          this.write += util.binary.base64.decode(bytes, view, this.write);
-          return this;
+      var e = 0, ei = 0, e2, e4, e8, sx, sx2, me, ime;
+      for (var i = 0; i < 256; ++i) {
+        sx = ei ^ ei << 1 ^ ei << 2 ^ ei << 3 ^ ei << 4;
+        sx = sx >> 8 ^ sx & 255 ^ 99;
+        sbox[e] = sx;
+        isbox[sx] = e;
+        sx2 = xtime[sx];
+        e2 = xtime[e];
+        e4 = xtime[e2];
+        e8 = xtime[e4];
+        me = sx2 << 24 ^ // 2
+        sx << 16 ^ // 1
+        sx << 8 ^ // 1
+        (sx ^ sx2);
+        ime = (e2 ^ e4 ^ e8) << 24 ^ // E (14)
+        (e ^ e8) << 16 ^ // 9
+        (e ^ e4 ^ e8) << 8 ^ // D (13)
+        (e ^ e2 ^ e8);
+        for (var n = 0; n < 4; ++n) {
+          mix[n][e] = me;
+          imix[n][sx] = ime;
+          me = me << 24 | me >>> 8;
+          ime = ime << 24 | ime >>> 8;
         }
-        if (encoding === "utf8") {
-          bytes = util.encodeUtf8(bytes);
-          encoding = "binary";
+        if (e === 0) {
+          e = ei = 1;
+        } else {
+          e = e2 ^ xtime[xtime[xtime[e2 ^ e8]]];
+          ei ^= xtime[xtime[ei]];
         }
-        if (encoding === "binary" || encoding === "raw") {
-          this.accommodate(bytes.length);
-          view = new Uint8Array(this.data.buffer, this.write);
-          this.write += util.binary.raw.decode(view);
-          return this;
+      }
+    }
+    function _expandKey(key, decrypt) {
+      var w = key.slice(0);
+      var temp, iNk = 1;
+      var Nk = w.length;
+      var Nr1 = Nk + 6 + 1;
+      var end = Nb * Nr1;
+      for (var i = Nk; i < end; ++i) {
+        temp = w[i - 1];
+        if (i % Nk === 0) {
+          temp = sbox[temp >>> 16 & 255] << 24 ^ sbox[temp >>> 8 & 255] << 16 ^ sbox[temp & 255] << 8 ^ sbox[temp >>> 24] ^ rcon[iNk] << 24;
+          iNk++;
+        } else if (Nk > 6 && i % Nk === 4) {
+          temp = sbox[temp >>> 24] << 24 ^ sbox[temp >>> 16 & 255] << 16 ^ sbox[temp >>> 8 & 255] << 8 ^ sbox[temp & 255];
         }
-        if (encoding === "utf16") {
-          this.accommodate(bytes.length * 2);
-          view = new Uint16Array(this.data.buffer, this.write);
-          this.write += util.text.utf16.encode(view);
-          return this;
+        w[i] = w[i - Nk] ^ temp;
+      }
+      if (decrypt) {
+        var tmp;
+        var m0 = imix[0];
+        var m1 = imix[1];
+        var m2 = imix[2];
+        var m3 = imix[3];
+        var wnew = w.slice(0);
+        end = w.length;
+        for (var i = 0, wi = end - Nb; i < end; i += Nb, wi -= Nb) {
+          if (i === 0 || i === end - Nb) {
+            wnew[i] = w[wi];
+            wnew[i + 1] = w[wi + 3];
+            wnew[i + 2] = w[wi + 2];
+            wnew[i + 3] = w[wi + 1];
+          } else {
+            for (var n = 0; n < Nb; ++n) {
+              tmp = w[wi + n];
+              wnew[i + (3 & -n)] = m0[sbox[tmp >>> 24]] ^ m1[sbox[tmp >>> 16 & 255]] ^ m2[sbox[tmp >>> 8 & 255]] ^ m3[sbox[tmp & 255]];
+            }
+          }
         }
-        throw new Error("Invalid encoding: " + encoding);
+        w = wnew;
       }
-      throw Error("Invalid parameter: " + bytes);
-    };
-    util.DataBuffer.prototype.putBuffer = function(buffer) {
-      this.putBytes(buffer);
-      buffer.clear();
-      return this;
-    };
-    util.DataBuffer.prototype.putString = function(str2) {
-      return this.putBytes(str2, "utf16");
-    };
-    util.DataBuffer.prototype.putInt16 = function(i) {
-      this.accommodate(2);
-      this.data.setInt16(this.write, i);
-      this.write += 2;
-      return this;
-    };
-    util.DataBuffer.prototype.putInt24 = function(i) {
-      this.accommodate(3);
-      this.data.setInt16(this.write, i >> 8 & 65535);
-      this.data.setInt8(this.write, i >> 16 & 255);
-      this.write += 3;
-      return this;
-    };
-    util.DataBuffer.prototype.putInt32 = function(i) {
-      this.accommodate(4);
-      this.data.setInt32(this.write, i);
-      this.write += 4;
-      return this;
-    };
-    util.DataBuffer.prototype.putInt16Le = function(i) {
-      this.accommodate(2);
-      this.data.setInt16(this.write, i, true);
-      this.write += 2;
-      return this;
-    };
-    util.DataBuffer.prototype.putInt24Le = function(i) {
-      this.accommodate(3);
-      this.data.setInt8(this.write, i >> 16 & 255);
-      this.data.setInt16(this.write, i >> 8 & 65535, true);
-      this.write += 3;
-      return this;
-    };
-    util.DataBuffer.prototype.putInt32Le = function(i) {
-      this.accommodate(4);
-      this.data.setInt32(this.write, i, true);
-      this.write += 4;
-      return this;
-    };
-    util.DataBuffer.prototype.putInt = function(i, n) {
-      _checkBitsParam(n);
-      this.accommodate(n / 8);
-      do {
-        n -= 8;
-        this.data.setInt8(this.write++, i >> n & 255);
-      } while (n > 0);
-      return this;
-    };
-    util.DataBuffer.prototype.putSignedInt = function(i, n) {
-      _checkBitsParam(n);
-      this.accommodate(n / 8);
-      if (i < 0) {
-        i += 2 << n - 1;
+      return w;
+    }
+    function _updateBlock(w, input, output, decrypt) {
+      var Nr = w.length / 4 - 1;
+      var m0, m1, m2, m3, sub;
+      if (decrypt) {
+        m0 = imix[0];
+        m1 = imix[1];
+        m2 = imix[2];
+        m3 = imix[3];
+        sub = isbox;
+      } else {
+        m0 = mix[0];
+        m1 = mix[1];
+        m2 = mix[2];
+        m3 = mix[3];
+        sub = sbox;
       }
-      return this.putInt(i, n);
-    };
-    util.DataBuffer.prototype.getByte = function() {
-      return this.data.getInt8(this.read++);
-    };
-    util.DataBuffer.prototype.getInt16 = function() {
-      var rval = this.data.getInt16(this.read);
-      this.read += 2;
-      return rval;
-    };
-    util.DataBuffer.prototype.getInt24 = function() {
-      var rval = this.data.getInt16(this.read) << 8 ^ this.data.getInt8(this.read + 2);
-      this.read += 3;
-      return rval;
-    };
-    util.DataBuffer.prototype.getInt32 = function() {
-      var rval = this.data.getInt32(this.read);
-      this.read += 4;
-      return rval;
-    };
-    util.DataBuffer.prototype.getInt16Le = function() {
-      var rval = this.data.getInt16(this.read, true);
-      this.read += 2;
-      return rval;
-    };
-    util.DataBuffer.prototype.getInt24Le = function() {
-      var rval = this.data.getInt8(this.read) ^ this.data.getInt16(this.read + 1, true) << 8;
-      this.read += 3;
-      return rval;
-    };
-    util.DataBuffer.prototype.getInt32Le = function() {
-      var rval = this.data.getInt32(this.read, true);
-      this.read += 4;
-      return rval;
-    };
-    util.DataBuffer.prototype.getInt = function(n) {
-      _checkBitsParam(n);
-      var rval = 0;
-      do {
-        rval = (rval << 8) + this.data.getInt8(this.read++);
-        n -= 8;
-      } while (n > 0);
-      return rval;
-    };
-    util.DataBuffer.prototype.getSignedInt = function(n) {
-      var x = this.getInt(n);
-      var max = 2 << n - 2;
-      if (x >= max) {
-        x -= max << 1;
+      var a, b, c, d, a2, b2, c2;
+      a = input[0] ^ w[0];
+      b = input[decrypt ? 3 : 1] ^ w[1];
+      c = input[2] ^ w[2];
+      d = input[decrypt ? 1 : 3] ^ w[3];
+      var i = 3;
+      for (var round = 1; round < Nr; ++round) {
+        a2 = m0[a >>> 24] ^ m1[b >>> 16 & 255] ^ m2[c >>> 8 & 255] ^ m3[d & 255] ^ w[++i];
+        b2 = m0[b >>> 24] ^ m1[c >>> 16 & 255] ^ m2[d >>> 8 & 255] ^ m3[a & 255] ^ w[++i];
+        c2 = m0[c >>> 24] ^ m1[d >>> 16 & 255] ^ m2[a >>> 8 & 255] ^ m3[b & 255] ^ w[++i];
+        d = m0[d >>> 24] ^ m1[a >>> 16 & 255] ^ m2[b >>> 8 & 255] ^ m3[c & 255] ^ w[++i];
+        a = a2;
+        b = b2;
+        c = c2;
       }
-      return x;
-    };
-    util.DataBuffer.prototype.getBytes = function(count) {
-      var rval;
-      if (count) {
-        count = Math.min(this.length(), count);
-        rval = this.data.slice(this.read, this.read + count);
-        this.read += count;
-      } else if (count === 0) {
-        rval = "";
+      output[0] = sub[a >>> 24] << 24 ^ sub[b >>> 16 & 255] << 16 ^ sub[c >>> 8 & 255] << 8 ^ sub[d & 255] ^ w[++i];
+      output[decrypt ? 3 : 1] = sub[b >>> 24] << 24 ^ sub[c >>> 16 & 255] << 16 ^ sub[d >>> 8 & 255] << 8 ^ sub[a & 255] ^ w[++i];
+      output[2] = sub[c >>> 24] << 24 ^ sub[d >>> 16 & 255] << 16 ^ sub[a >>> 8 & 255] << 8 ^ sub[b & 255] ^ w[++i];
+      output[decrypt ? 1 : 3] = sub[d >>> 24] << 24 ^ sub[a >>> 16 & 255] << 16 ^ sub[b >>> 8 & 255] << 8 ^ sub[c & 255] ^ w[++i];
+    }
+    function _createCipher(options) {
+      options = options || {};
+      var mode = (options.mode || "CBC").toUpperCase();
+      var algorithm = "AES-" + mode;
+      var cipher;
+      if (options.decrypt) {
+        cipher = forge.cipher.createDecipher(algorithm, options.key);
       } else {
-        rval = this.read === 0 ? this.data : this.data.slice(this.read);
-        this.clear();
+        cipher = forge.cipher.createCipher(algorithm, options.key);
       }
-      return rval;
-    };
-    util.DataBuffer.prototype.bytes = function(count) {
-      return typeof count === "undefined" ? this.data.slice(this.read) : this.data.slice(this.read, this.read + count);
+      var start = cipher.start;
+      cipher.start = function(iv, options2) {
+        var output = null;
+        if (options2 instanceof forge.util.ByteBuffer) {
+          output = options2;
+          options2 = {};
+        }
+        options2 = options2 || {};
+        options2.output = output;
+        options2.iv = iv;
+        start.call(cipher, options2);
+      };
+      return cipher;
+    }
+  }
+});
+
+// node_modules/node-forge/lib/oids.js
+var require_oids = __commonJS({
+  "node_modules/node-forge/lib/oids.js"(exports2, module2) {
+    var forge = require_forge();
+    forge.pki = forge.pki || {};
+    var oids = module2.exports = forge.pki.oids = forge.oids = forge.oids || {};
+    function _IN(id, name) {
+      oids[id] = name;
+      oids[name] = id;
+    }
+    function _I_(id, name) {
+      oids[id] = name;
+    }
+    _IN("1.2.840.113549.1.1.1", "rsaEncryption");
+    _IN("1.2.840.113549.1.1.4", "md5WithRSAEncryption");
+    _IN("1.2.840.113549.1.1.5", "sha1WithRSAEncryption");
+    _IN("1.2.840.113549.1.1.7", "RSAES-OAEP");
+    _IN("1.2.840.113549.1.1.8", "mgf1");
+    _IN("1.2.840.113549.1.1.9", "pSpecified");
+    _IN("1.2.840.113549.1.1.10", "RSASSA-PSS");
+    _IN("1.2.840.113549.1.1.11", "sha256WithRSAEncryption");
+    _IN("1.2.840.113549.1.1.12", "sha384WithRSAEncryption");
+    _IN("1.2.840.113549.1.1.13", "sha512WithRSAEncryption");
+    _IN("1.3.101.112", "EdDSA25519");
+    _IN("1.2.840.10040.4.3", "dsa-with-sha1");
+    _IN("1.3.14.3.2.7", "desCBC");
+    _IN("1.3.14.3.2.26", "sha1");
+    _IN("1.3.14.3.2.29", "sha1WithRSASignature");
+    _IN("2.16.840.1.101.3.4.2.1", "sha256");
+    _IN("2.16.840.1.101.3.4.2.2", "sha384");
+    _IN("2.16.840.1.101.3.4.2.3", "sha512");
+    _IN("2.16.840.1.101.3.4.2.4", "sha224");
+    _IN("2.16.840.1.101.3.4.2.5", "sha512-224");
+    _IN("2.16.840.1.101.3.4.2.6", "sha512-256");
+    _IN("1.2.840.113549.2.2", "md2");
+    _IN("1.2.840.113549.2.5", "md5");
+    _IN("1.2.840.113549.1.7.1", "data");
+    _IN("1.2.840.113549.1.7.2", "signedData");
+    _IN("1.2.840.113549.1.7.3", "envelopedData");
+    _IN("1.2.840.113549.1.7.4", "signedAndEnvelopedData");
+    _IN("1.2.840.113549.1.7.5", "digestedData");
+    _IN("1.2.840.113549.1.7.6", "encryptedData");
+    _IN("1.2.840.113549.1.9.1", "emailAddress");
+    _IN("1.2.840.113549.1.9.2", "unstructuredName");
+    _IN("1.2.840.113549.1.9.3", "contentType");
+    _IN("1.2.840.113549.1.9.4", "messageDigest");
+    _IN("1.2.840.113549.1.9.5", "signingTime");
+    _IN("1.2.840.113549.1.9.6", "counterSignature");
+    _IN("1.2.840.113549.1.9.7", "challengePassword");
+    _IN("1.2.840.113549.1.9.8", "unstructuredAddress");
+    _IN("1.2.840.113549.1.9.14", "extensionRequest");
+    _IN("1.2.840.113549.1.9.20", "friendlyName");
+    _IN("1.2.840.113549.1.9.21", "localKeyId");
+    _IN("1.2.840.113549.1.9.22.1", "x509Certificate");
+    _IN("1.2.840.113549.1.12.10.1.1", "keyBag");
+    _IN("1.2.840.113549.1.12.10.1.2", "pkcs8ShroudedKeyBag");
+    _IN("1.2.840.113549.1.12.10.1.3", "certBag");
+    _IN("1.2.840.113549.1.12.10.1.4", "crlBag");
+    _IN("1.2.840.113549.1.12.10.1.5", "secretBag");
+    _IN("1.2.840.113549.1.12.10.1.6", "safeContentsBag");
+    _IN("1.2.840.113549.1.5.13", "pkcs5PBES2");
+    _IN("1.2.840.113549.1.5.12", "pkcs5PBKDF2");
+    _IN("1.2.840.113549.1.12.1.1", "pbeWithSHAAnd128BitRC4");
+    _IN("1.2.840.113549.1.12.1.2", "pbeWithSHAAnd40BitRC4");
+    _IN("1.2.840.113549.1.12.1.3", "pbeWithSHAAnd3-KeyTripleDES-CBC");
+    _IN("1.2.840.113549.1.12.1.4", "pbeWithSHAAnd2-KeyTripleDES-CBC");
+    _IN("1.2.840.113549.1.12.1.5", "pbeWithSHAAnd128BitRC2-CBC");
+    _IN("1.2.840.113549.1.12.1.6", "pbewithSHAAnd40BitRC2-CBC");
+    _IN("1.2.840.113549.2.7", "hmacWithSHA1");
+    _IN("1.2.840.113549.2.8", "hmacWithSHA224");
+    _IN("1.2.840.113549.2.9", "hmacWithSHA256");
+    _IN("1.2.840.113549.2.10", "hmacWithSHA384");
+    _IN("1.2.840.113549.2.11", "hmacWithSHA512");
+    _IN("1.2.840.113549.3.7", "des-EDE3-CBC");
+    _IN("2.16.840.1.101.3.4.1.2", "aes128-CBC");
+    _IN("2.16.840.1.101.3.4.1.22", "aes192-CBC");
+    _IN("2.16.840.1.101.3.4.1.42", "aes256-CBC");
+    _IN("2.5.4.3", "commonName");
+    _IN("2.5.4.4", "surname");
+    _IN("2.5.4.5", "serialNumber");
+    _IN("2.5.4.6", "countryName");
+    _IN("2.5.4.7", "localityName");
+    _IN("2.5.4.8", "stateOrProvinceName");
+    _IN("2.5.4.9", "streetAddress");
+    _IN("2.5.4.10", "organizationName");
+    _IN("2.5.4.11", "organizationalUnitName");
+    _IN("2.5.4.12", "title");
+    _IN("2.5.4.13", "description");
+    _IN("2.5.4.15", "businessCategory");
+    _IN("2.5.4.17", "postalCode");
+    _IN("2.5.4.42", "givenName");
+    _IN("1.3.6.1.4.1.311.60.2.1.2", "jurisdictionOfIncorporationStateOrProvinceName");
+    _IN("1.3.6.1.4.1.311.60.2.1.3", "jurisdictionOfIncorporationCountryName");
+    _IN("2.16.840.1.113730.1.1", "nsCertType");
+    _IN("2.16.840.1.113730.1.13", "nsComment");
+    _I_("2.5.29.1", "authorityKeyIdentifier");
+    _I_("2.5.29.2", "keyAttributes");
+    _I_("2.5.29.3", "certificatePolicies");
+    _I_("2.5.29.4", "keyUsageRestriction");
+    _I_("2.5.29.5", "policyMapping");
+    _I_("2.5.29.6", "subtreesConstraint");
+    _I_("2.5.29.7", "subjectAltName");
+    _I_("2.5.29.8", "issuerAltName");
+    _I_("2.5.29.9", "subjectDirectoryAttributes");
+    _I_("2.5.29.10", "basicConstraints");
+    _I_("2.5.29.11", "nameConstraints");
+    _I_("2.5.29.12", "policyConstraints");
+    _I_("2.5.29.13", "basicConstraints");
+    _IN("2.5.29.14", "subjectKeyIdentifier");
+    _IN("2.5.29.15", "keyUsage");
+    _I_("2.5.29.16", "privateKeyUsagePeriod");
+    _IN("2.5.29.17", "subjectAltName");
+    _IN("2.5.29.18", "issuerAltName");
+    _IN("2.5.29.19", "basicConstraints");
+    _I_("2.5.29.20", "cRLNumber");
+    _I_("2.5.29.21", "cRLReason");
+    _I_("2.5.29.22", "expirationDate");
+    _I_("2.5.29.23", "instructionCode");
+    _I_("2.5.29.24", "invalidityDate");
+    _I_("2.5.29.25", "cRLDistributionPoints");
+    _I_("2.5.29.26", "issuingDistributionPoint");
+    _I_("2.5.29.27", "deltaCRLIndicator");
+    _I_("2.5.29.28", "issuingDistributionPoint");
+    _I_("2.5.29.29", "certificateIssuer");
+    _I_("2.5.29.30", "nameConstraints");
+    _IN("2.5.29.31", "cRLDistributionPoints");
+    _IN("2.5.29.32", "certificatePolicies");
+    _I_("2.5.29.33", "policyMappings");
+    _I_("2.5.29.34", "policyConstraints");
+    _IN("2.5.29.35", "authorityKeyIdentifier");
+    _I_("2.5.29.36", "policyConstraints");
+    _IN("2.5.29.37", "extKeyUsage");
+    _I_("2.5.29.46", "freshestCRL");
+    _I_("2.5.29.54", "inhibitAnyPolicy");
+    _IN("1.3.6.1.4.1.11129.2.4.2", "timestampList");
+    _IN("1.3.6.1.5.5.7.1.1", "authorityInfoAccess");
+    _IN("1.3.6.1.5.5.7.3.1", "serverAuth");
+    _IN("1.3.6.1.5.5.7.3.2", "clientAuth");
+    _IN("1.3.6.1.5.5.7.3.3", "codeSigning");
+    _IN("1.3.6.1.5.5.7.3.4", "emailProtection");
+    _IN("1.3.6.1.5.5.7.3.8", "timeStamping");
+  }
+});
+
+// node_modules/node-forge/lib/asn1.js
+var require_asn1 = __commonJS({
+  "node_modules/node-forge/lib/asn1.js"(exports2, module2) {
+    var forge = require_forge();
+    require_util9();
+    require_oids();
+    var asn1 = module2.exports = forge.asn1 = forge.asn1 || {};
+    asn1.Class = {
+      UNIVERSAL: 0,
+      APPLICATION: 64,
+      CONTEXT_SPECIFIC: 128,
+      PRIVATE: 192
     };
-    util.DataBuffer.prototype.at = function(i) {
-      return this.data.getUint8(this.read + i);
+    asn1.Type = {
+      NONE: 0,
+      BOOLEAN: 1,
+      INTEGER: 2,
+      BITSTRING: 3,
+      OCTETSTRING: 4,
+      NULL: 5,
+      OID: 6,
+      ODESC: 7,
+      EXTERNAL: 8,
+      REAL: 9,
+      ENUMERATED: 10,
+      EMBEDDED: 11,
+      UTF8: 12,
+      ROID: 13,
+      SEQUENCE: 16,
+      SET: 17,
+      PRINTABLESTRING: 19,
+      IA5STRING: 22,
+      UTCTIME: 23,
+      GENERALIZEDTIME: 24,
+      BMPSTRING: 30
     };
-    util.DataBuffer.prototype.setAt = function(i, b) {
-      this.data.setUint8(i, b);
-      return this;
-    };
-    util.DataBuffer.prototype.last = function() {
-      return this.data.getUint8(this.write - 1);
-    };
-    util.DataBuffer.prototype.copy = function() {
-      return new util.DataBuffer(this);
-    };
-    util.DataBuffer.prototype.compact = function() {
-      if (this.read > 0) {
-        var src = new Uint8Array(this.data.buffer, this.read);
-        var dst = new Uint8Array(src.byteLength);
-        dst.set(src);
-        this.data = new DataView(dst);
-        this.write -= this.read;
-        this.read = 0;
-      }
-      return this;
-    };
-    util.DataBuffer.prototype.clear = function() {
-      this.data = new DataView(new ArrayBuffer(0));
-      this.read = this.write = 0;
-      return this;
-    };
-    util.DataBuffer.prototype.truncate = function(count) {
-      this.write = Math.max(0, this.length() - count);
-      this.read = Math.min(this.read, this.write);
-      return this;
-    };
-    util.DataBuffer.prototype.toHex = function() {
-      var rval = "";
-      for (var i = this.read; i < this.data.byteLength; ++i) {
-        var b = this.data.getUint8(i);
-        if (b < 16) {
-          rval += "0";
+    asn1.maxDepth = 256;
+    asn1.create = function(tagClass, type2, constructed, value, options) {
+      if (forge.util.isArray(value)) {
+        var tmp = [];
+        for (var i = 0; i < value.length; ++i) {
+          if (value[i] !== void 0) {
+            tmp.push(value[i]);
+          }
         }
-        rval += b.toString(16);
-      }
-      return rval;
-    };
-    util.DataBuffer.prototype.toString = function(encoding) {
-      var view = new Uint8Array(this.data, this.read, this.length());
-      encoding = encoding || "utf8";
-      if (encoding === "binary" || encoding === "raw") {
-        return util.binary.raw.encode(view);
-      }
-      if (encoding === "hex") {
-        return util.binary.hex.encode(view);
-      }
-      if (encoding === "base64") {
-        return util.binary.base64.encode(view);
-      }
-      if (encoding === "utf8") {
-        return util.text.utf8.decode(view);
-      }
-      if (encoding === "utf16") {
-        return util.text.utf16.decode(view);
-      }
-      throw new Error("Invalid encoding: " + encoding);
-    };
-    util.createBuffer = function(input, encoding) {
-      encoding = encoding || "raw";
-      if (input !== void 0 && encoding === "utf8") {
-        input = util.encodeUtf8(input);
+        value = tmp;
       }
-      return new util.ByteBuffer(input);
-    };
-    util.fillString = function(c, n) {
-      var s = "";
-      while (n > 0) {
-        if (n & 1) {
-          s += c;
-        }
-        n >>>= 1;
-        if (n > 0) {
-          c += c;
-        }
+      var obj = {
+        tagClass,
+        type: type2,
+        constructed,
+        composed: constructed || forge.util.isArray(value),
+        value
+      };
+      if (options && "bitStringContents" in options) {
+        obj.bitStringContents = options.bitStringContents;
+        obj.original = asn1.copy(obj);
       }
-      return s;
+      return obj;
     };
-    util.xorBytes = function(s1, s2, n) {
-      var s3 = "";
-      var b = "";
-      var t = "";
-      var i = 0;
-      var c = 0;
-      for (; n > 0; --n, ++i) {
-        b = s1.charCodeAt(i) ^ s2.charCodeAt(i);
-        if (c >= 10) {
-          s3 += t;
-          t = "";
-          c = 0;
+    asn1.copy = function(obj, options) {
+      var copy;
+      if (forge.util.isArray(obj)) {
+        copy = [];
+        for (var i = 0; i < obj.length; ++i) {
+          copy.push(asn1.copy(obj[i], options));
         }
-        t += String.fromCharCode(b);
-        ++c;
+        return copy;
       }
-      s3 += t;
-      return s3;
-    };
-    util.hexToBytes = function(hex) {
-      var rval = "";
-      var i = 0;
-      if (hex.length & true) {
-        i = 1;
-        rval += String.fromCharCode(parseInt(hex[0], 16));
+      if (typeof obj === "string") {
+        return obj;
       }
-      for (; i < hex.length; i += 2) {
-        rval += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
+      copy = {
+        tagClass: obj.tagClass,
+        type: obj.type,
+        constructed: obj.constructed,
+        composed: obj.composed,
+        value: asn1.copy(obj.value, options)
+      };
+      if (options && !options.excludeBitStringContents) {
+        copy.bitStringContents = obj.bitStringContents;
       }
-      return rval;
-    };
-    util.bytesToHex = function(bytes) {
-      return util.createBuffer(bytes).toHex();
-    };
-    util.int32ToBytes = function(i) {
-      return String.fromCharCode(i >> 24 & 255) + String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255);
+      return copy;
     };
-    var _base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
-    var _base64Idx = [
-      /*43 -43 = 0*/
-      /*'+',  1,  2,  3,'/' */
-      62,
-      -1,
-      -1,
-      -1,
-      63,
-      /*'0','1','2','3','4','5','6','7','8','9' */
-      52,
-      53,
-      54,
-      55,
-      56,
-      57,
-      58,
-      59,
-      60,
-      61,
-      /*15, 16, 17,'=', 19, 20, 21 */
-      -1,
-      -1,
-      -1,
-      64,
-      -1,
-      -1,
-      -1,
-      /*65 - 43 = 22*/
-      /*'A','B','C','D','E','F','G','H','I','J','K','L','M', */
-      0,
-      1,
-      2,
-      3,
-      4,
-      5,
-      6,
-      7,
-      8,
-      9,
-      10,
-      11,
-      12,
-      /*'N','O','P','Q','R','S','T','U','V','W','X','Y','Z' */
-      13,
-      14,
-      15,
-      16,
-      17,
-      18,
-      19,
-      20,
-      21,
-      22,
-      23,
-      24,
-      25,
-      /*91 - 43 = 48 */
-      /*48, 49, 50, 51, 52, 53 */
-      -1,
-      -1,
-      -1,
-      -1,
-      -1,
-      -1,
-      /*97 - 43 = 54*/
-      /*'a','b','c','d','e','f','g','h','i','j','k','l','m' */
-      26,
-      27,
-      28,
-      29,
-      30,
-      31,
-      32,
-      33,
-      34,
-      35,
-      36,
-      37,
-      38,
-      /*'n','o','p','q','r','s','t','u','v','w','x','y','z' */
-      39,
-      40,
-      41,
-      42,
-      43,
-      44,
-      45,
-      46,
-      47,
-      48,
-      49,
-      50,
-      51
-    ];
-    var _base58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
-    util.encode64 = function(input, maxline) {
-      var line = "";
-      var output = "";
-      var chr1, chr2, chr3;
-      var i = 0;
-      while (i < input.length) {
-        chr1 = input.charCodeAt(i++);
-        chr2 = input.charCodeAt(i++);
-        chr3 = input.charCodeAt(i++);
-        line += _base64.charAt(chr1 >> 2);
-        line += _base64.charAt((chr1 & 3) << 4 | chr2 >> 4);
-        if (isNaN(chr2)) {
-          line += "==";
-        } else {
-          line += _base64.charAt((chr2 & 15) << 2 | chr3 >> 6);
-          line += isNaN(chr3) ? "=" : _base64.charAt(chr3 & 63);
+    asn1.equals = function(obj1, obj2, options) {
+      if (forge.util.isArray(obj1)) {
+        if (!forge.util.isArray(obj2)) {
+          return false;
         }
-        if (maxline && line.length > maxline) {
-          output += line.substr(0, maxline) + "\r\n";
-          line = line.substr(maxline);
+        if (obj1.length !== obj2.length) {
+          return false;
         }
-      }
-      output += line;
-      return output;
-    };
-    util.decode64 = function(input) {
-      input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
-      var output = "";
-      var enc1, enc2, enc3, enc4;
-      var i = 0;
-      while (i < input.length) {
-        enc1 = _base64Idx[input.charCodeAt(i++) - 43];
-        enc2 = _base64Idx[input.charCodeAt(i++) - 43];
-        enc3 = _base64Idx[input.charCodeAt(i++) - 43];
-        enc4 = _base64Idx[input.charCodeAt(i++) - 43];
-        output += String.fromCharCode(enc1 << 2 | enc2 >> 4);
-        if (enc3 !== 64) {
-          output += String.fromCharCode((enc2 & 15) << 4 | enc3 >> 2);
-          if (enc4 !== 64) {
-            output += String.fromCharCode((enc3 & 3) << 6 | enc4);
+        for (var i = 0; i < obj1.length; ++i) {
+          if (!asn1.equals(obj1[i], obj2[i])) {
+            return false;
           }
         }
+        return true;
       }
-      return output;
-    };
-    util.encodeUtf8 = function(str2) {
-      return unescape(encodeURIComponent(str2));
-    };
-    util.decodeUtf8 = function(str2) {
-      return decodeURIComponent(escape(str2));
-    };
-    util.binary = {
-      raw: {},
-      hex: {},
-      base64: {},
-      base58: {},
-      baseN: {
-        encode: baseN.encode,
-        decode: baseN.decode
+      if (typeof obj1 !== typeof obj2) {
+        return false;
       }
-    };
-    util.binary.raw.encode = function(bytes) {
-      return String.fromCharCode.apply(null, bytes);
-    };
-    util.binary.raw.decode = function(str2, output, offset) {
-      var out = output;
-      if (!out) {
-        out = new Uint8Array(str2.length);
+      if (typeof obj1 === "string") {
+        return obj1 === obj2;
       }
-      offset = offset || 0;
-      var j = offset;
-      for (var i = 0; i < str2.length; ++i) {
-        out[j++] = str2.charCodeAt(i);
+      var equal = obj1.tagClass === obj2.tagClass && obj1.type === obj2.type && obj1.constructed === obj2.constructed && obj1.composed === obj2.composed && asn1.equals(obj1.value, obj2.value);
+      if (options && options.includeBitStringContents) {
+        equal = equal && obj1.bitStringContents === obj2.bitStringContents;
       }
-      return output ? j - offset : out;
+      return equal;
     };
-    util.binary.hex.encode = util.bytesToHex;
-    util.binary.hex.decode = function(hex, output, offset) {
-      var out = output;
-      if (!out) {
-        out = new Uint8Array(Math.ceil(hex.length / 2));
-      }
-      offset = offset || 0;
-      var i = 0, j = offset;
-      if (hex.length & 1) {
-        i = 1;
-        out[j++] = parseInt(hex[0], 16);
+    asn1.getBerValueLength = function(b) {
+      var b2 = b.getByte();
+      if (b2 === 128) {
+        return void 0;
       }
-      for (; i < hex.length; i += 2) {
-        out[j++] = parseInt(hex.substr(i, 2), 16);
+      var length;
+      var longForm = b2 & 128;
+      if (!longForm) {
+        length = b2;
+      } else {
+        length = b.getInt((b2 & 127) << 3);
       }
-      return output ? j - offset : out;
+      return length;
     };
-    util.binary.base64.encode = function(input, maxline) {
-      var line = "";
-      var output = "";
-      var chr1, chr2, chr3;
-      var i = 0;
-      while (i < input.byteLength) {
-        chr1 = input[i++];
-        chr2 = input[i++];
-        chr3 = input[i++];
-        line += _base64.charAt(chr1 >> 2);
-        line += _base64.charAt((chr1 & 3) << 4 | chr2 >> 4);
-        if (isNaN(chr2)) {
-          line += "==";
-        } else {
-          line += _base64.charAt((chr2 & 15) << 2 | chr3 >> 6);
-          line += isNaN(chr3) ? "=" : _base64.charAt(chr3 & 63);
-        }
-        if (maxline && line.length > maxline) {
-          output += line.substr(0, maxline) + "\r\n";
-          line = line.substr(maxline);
-        }
+    function _checkBufferLength(bytes, remaining, n) {
+      if (n > remaining) {
+        var error3 = new Error("Too few bytes to parse DER.");
+        error3.available = bytes.length();
+        error3.remaining = remaining;
+        error3.requested = n;
+        throw error3;
       }
-      output += line;
-      return output;
-    };
-    util.binary.base64.decode = function(input, output, offset) {
-      var out = output;
-      if (!out) {
-        out = new Uint8Array(Math.ceil(input.length / 4) * 3);
+    }
+    var _getValueLength = function(bytes, remaining) {
+      var b2 = bytes.getByte();
+      remaining--;
+      if (b2 === 128) {
+        return void 0;
       }
-      input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
-      offset = offset || 0;
-      var enc1, enc2, enc3, enc4;
-      var i = 0, j = offset;
-      while (i < input.length) {
-        enc1 = _base64Idx[input.charCodeAt(i++) - 43];
-        enc2 = _base64Idx[input.charCodeAt(i++) - 43];
-        enc3 = _base64Idx[input.charCodeAt(i++) - 43];
-        enc4 = _base64Idx[input.charCodeAt(i++) - 43];
-        out[j++] = enc1 << 2 | enc2 >> 4;
-        if (enc3 !== 64) {
-          out[j++] = (enc2 & 15) << 4 | enc3 >> 2;
-          if (enc4 !== 64) {
-            out[j++] = (enc3 & 3) << 6 | enc4;
-          }
-        }
+      var length;
+      var longForm = b2 & 128;
+      if (!longForm) {
+        length = b2;
+      } else {
+        var longFormBytes = b2 & 127;
+        _checkBufferLength(bytes, remaining, longFormBytes);
+        length = bytes.getInt(longFormBytes << 3);
       }
-      return output ? j - offset : out.subarray(0, j);
-    };
-    util.binary.base58.encode = function(input, maxline) {
-      return util.binary.baseN.encode(input, _base58, maxline);
-    };
-    util.binary.base58.decode = function(input, maxline) {
-      return util.binary.baseN.decode(input, _base58, maxline);
-    };
-    util.text = {
-      utf8: {},
-      utf16: {}
+      if (length < 0) {
+        throw new Error("Negative length: " + length);
+      }
+      return length;
     };
-    util.text.utf8.encode = function(str2, output, offset) {
-      str2 = util.encodeUtf8(str2);
-      var out = output;
-      if (!out) {
-        out = new Uint8Array(str2.length);
+    asn1.fromDer = function(bytes, options) {
+      if (options === void 0) {
+        options = {
+          strict: true,
+          parseAllBytes: true,
+          decodeBitStrings: true
+        };
       }
-      offset = offset || 0;
-      var j = offset;
-      for (var i = 0; i < str2.length; ++i) {
-        out[j++] = str2.charCodeAt(i);
+      if (typeof options === "boolean") {
+        options = {
+          strict: options,
+          parseAllBytes: true,
+          decodeBitStrings: true
+        };
       }
-      return output ? j - offset : out;
-    };
-    util.text.utf8.decode = function(bytes) {
-      return util.decodeUtf8(String.fromCharCode.apply(null, bytes));
-    };
-    util.text.utf16.encode = function(str2, output, offset) {
-      var out = output;
-      if (!out) {
-        out = new Uint8Array(str2.length * 2);
+      if (!("strict" in options)) {
+        options.strict = true;
       }
-      var view = new Uint16Array(out.buffer);
-      offset = offset || 0;
-      var j = offset;
-      var k = offset;
-      for (var i = 0; i < str2.length; ++i) {
-        view[k++] = str2.charCodeAt(i);
-        j += 2;
+      if (!("parseAllBytes" in options)) {
+        options.parseAllBytes = true;
       }
-      return output ? j - offset : out;
-    };
-    util.text.utf16.decode = function(bytes) {
-      return String.fromCharCode.apply(null, new Uint16Array(bytes.buffer));
-    };
-    util.deflate = function(api, bytes, raw) {
-      bytes = util.decode64(api.deflate(util.encode64(bytes)).rval);
-      if (raw) {
-        var start = 2;
-        var flg = bytes.charCodeAt(1);
-        if (flg & 32) {
-          start = 6;
-        }
-        bytes = bytes.substring(start, bytes.length - 4);
+      if (!("decodeBitStrings" in options)) {
+        options.decodeBitStrings = true;
       }
-      return bytes;
-    };
-    util.inflate = function(api, bytes, raw) {
-      var rval = api.inflate(util.encode64(bytes)).rval;
-      return rval === null ? null : util.decode64(rval);
-    };
-    var _setStorageObject = function(api, id, obj) {
-      if (!api) {
-        throw new Error("WebStorage not available.");
+      if (!("maxDepth" in options)) {
+        options.maxDepth = asn1.maxDepth;
       }
-      var rval;
-      if (obj === null) {
-        rval = api.removeItem(id);
-      } else {
-        obj = util.encode64(JSON.stringify(obj));
-        rval = api.setItem(id, obj);
+      if (typeof bytes === "string") {
+        bytes = forge.util.createBuffer(bytes);
       }
-      if (typeof rval !== "undefined" && rval.rval !== true) {
-        var error3 = new Error(rval.error.message);
-        error3.id = rval.error.id;
-        error3.name = rval.error.name;
+      var byteCount = bytes.length();
+      var value = _fromDer(bytes, bytes.length(), 0, options);
+      if (options.parseAllBytes && bytes.length() !== 0) {
+        var error3 = new Error("Unparsed DER bytes remain after ASN.1 parsing.");
+        error3.byteCount = byteCount;
+        error3.remaining = bytes.length();
         throw error3;
       }
+      return value;
     };
-    var _getStorageObject = function(api, id) {
-      if (!api) {
-        throw new Error("WebStorage not available.");
+    function _fromDer(bytes, remaining, depth, options) {
+      if (depth >= options.maxDepth) {
+        throw new Error("ASN.1 parsing error: Max depth exceeded.");
       }
-      var rval = api.getItem(id);
-      if (api.init) {
-        if (rval.rval === null) {
-          if (rval.error) {
-            var error3 = new Error(rval.error.message);
-            error3.id = rval.error.id;
-            error3.name = rval.error.name;
-            throw error3;
+      var start;
+      _checkBufferLength(bytes, remaining, 2);
+      var b1 = bytes.getByte();
+      remaining--;
+      var tagClass = b1 & 192;
+      var type2 = b1 & 31;
+      start = bytes.length();
+      var length = _getValueLength(bytes, remaining);
+      remaining -= start - bytes.length();
+      if (length !== void 0 && length > remaining) {
+        if (options.strict) {
+          var error3 = new Error("Too few bytes to read ASN.1 value.");
+          error3.available = bytes.length();
+          error3.remaining = remaining;
+          error3.requested = length;
+          throw error3;
+        }
+        length = remaining;
+      }
+      var value;
+      var bitStringContents;
+      var constructed = (b1 & 32) === 32;
+      if (constructed) {
+        value = [];
+        if (length === void 0) {
+          for (; ; ) {
+            _checkBufferLength(bytes, remaining, 2);
+            if (bytes.bytes(2) === String.fromCharCode(0, 0)) {
+              bytes.getBytes(2);
+              remaining -= 2;
+              break;
+            }
+            start = bytes.length();
+            value.push(_fromDer(bytes, remaining, depth + 1, options));
+            remaining -= start - bytes.length();
           }
-          rval = null;
         } else {
-          rval = rval.rval;
+          while (length > 0) {
+            start = bytes.length();
+            value.push(_fromDer(bytes, length, depth + 1, options));
+            remaining -= start - bytes.length();
+            length -= start - bytes.length();
+          }
         }
       }
-      if (rval !== null) {
-        rval = JSON.parse(util.decode64(rval));
-      }
-      return rval;
-    };
-    var _setItem = function(api, id, key, data) {
-      var obj = _getStorageObject(api, id);
-      if (obj === null) {
-        obj = {};
-      }
-      obj[key] = data;
-      _setStorageObject(api, id, obj);
-    };
-    var _getItem = function(api, id, key) {
-      var rval = _getStorageObject(api, id);
-      if (rval !== null) {
-        rval = key in rval ? rval[key] : null;
+      if (value === void 0 && tagClass === asn1.Class.UNIVERSAL && type2 === asn1.Type.BITSTRING) {
+        bitStringContents = bytes.bytes(length);
       }
-      return rval;
-    };
-    var _removeItem = function(api, id, key) {
-      var obj = _getStorageObject(api, id);
-      if (obj !== null && key in obj) {
-        delete obj[key];
-        var empty = true;
-        for (var prop in obj) {
-          empty = false;
-          break;
+      if (value === void 0 && options.decodeBitStrings && tagClass === asn1.Class.UNIVERSAL && // FIXME: OCTET STRINGs not yet supported here
+      // .. other parts of forge expect to decode OCTET STRINGs manually
+      type2 === asn1.Type.BITSTRING && length > 1) {
+        var savedRead = bytes.read;
+        var savedRemaining = remaining;
+        var unused = 0;
+        if (type2 === asn1.Type.BITSTRING) {
+          _checkBufferLength(bytes, remaining, 1);
+          unused = bytes.getByte();
+          remaining--;
         }
-        if (empty) {
-          obj = null;
+        if (unused === 0) {
+          try {
+            start = bytes.length();
+            var subOptions = {
+              // enforce strict mode to avoid parsing ASN.1 from plain data
+              strict: true,
+              decodeBitStrings: true
+            };
+            var composed = _fromDer(bytes, remaining, depth + 1, subOptions);
+            var used = start - bytes.length();
+            remaining -= used;
+            if (type2 == asn1.Type.BITSTRING) {
+              used++;
+            }
+            var tc = composed.tagClass;
+            if (used === length && (tc === asn1.Class.UNIVERSAL || tc === asn1.Class.CONTEXT_SPECIFIC)) {
+              value = [composed];
+            }
+          } catch (ex) {
+          }
+        }
+        if (value === void 0) {
+          bytes.read = savedRead;
+          remaining = savedRemaining;
         }
-        _setStorageObject(api, id, obj);
-      }
-    };
-    var _clearItems = function(api, id) {
-      _setStorageObject(api, id, null);
-    };
-    var _callStorageFunction = function(func, args, location) {
-      var rval = null;
-      if (typeof location === "undefined") {
-        location = ["web", "flash"];
       }
-      var type2;
-      var done = false;
-      var exception2 = null;
-      for (var idx in location) {
-        type2 = location[idx];
-        try {
-          if (type2 === "flash" || type2 === "both") {
-            if (args[0] === null) {
-              throw new Error("Flash local storage not available.");
-            }
-            rval = func.apply(this, args);
-            done = type2 === "flash";
+      if (value === void 0) {
+        if (length === void 0) {
+          if (options.strict) {
+            throw new Error("Non-constructed ASN.1 object of indefinite length.");
           }
-          if (type2 === "web" || type2 === "both") {
-            args[0] = localStorage;
-            rval = func.apply(this, args);
-            done = true;
+          length = remaining;
+        }
+        if (type2 === asn1.Type.BMPSTRING) {
+          value = "";
+          for (; length > 0; length -= 2) {
+            _checkBufferLength(bytes, remaining, 2);
+            value += String.fromCharCode(bytes.getInt16());
+            remaining -= 2;
           }
-        } catch (ex) {
-          exception2 = ex;
+        } else {
+          value = bytes.getBytes(length);
+          remaining -= length;
         }
-        if (done) {
-          break;
+      }
+      var asn1Options = bitStringContents === void 0 ? null : {
+        bitStringContents
+      };
+      return asn1.create(tagClass, type2, constructed, value, asn1Options);
+    }
+    asn1.toDer = function(obj) {
+      var bytes = forge.util.createBuffer();
+      var b1 = obj.tagClass | obj.type;
+      var value = forge.util.createBuffer();
+      var useBitStringContents = false;
+      if ("bitStringContents" in obj) {
+        useBitStringContents = true;
+        if (obj.original) {
+          useBitStringContents = asn1.equals(obj, obj.original);
         }
       }
-      if (!done) {
-        throw exception2;
+      if (useBitStringContents) {
+        value.putBytes(obj.bitStringContents);
+      } else if (obj.composed) {
+        if (obj.constructed) {
+          b1 |= 32;
+        } else {
+          value.putByte(0);
+        }
+        for (var i = 0; i < obj.value.length; ++i) {
+          if (obj.value[i] !== void 0) {
+            value.putBuffer(asn1.toDer(obj.value[i]));
+          }
+        }
+      } else {
+        if (obj.type === asn1.Type.BMPSTRING) {
+          for (var i = 0; i < obj.value.length; ++i) {
+            value.putInt16(obj.value.charCodeAt(i));
+          }
+        } else {
+          if (obj.type === asn1.Type.INTEGER && obj.value.length > 1 && // leading 0x00 for positive integer
+          (obj.value.charCodeAt(0) === 0 && (obj.value.charCodeAt(1) & 128) === 0 || // leading 0xFF for negative integer
+          obj.value.charCodeAt(0) === 255 && (obj.value.charCodeAt(1) & 128) === 128)) {
+            value.putBytes(obj.value.substr(1));
+          } else {
+            value.putBytes(obj.value);
+          }
+        }
       }
-      return rval;
-    };
-    util.setItem = function(api, id, key, data, location) {
-      _callStorageFunction(_setItem, arguments, location);
-    };
-    util.getItem = function(api, id, key, location) {
-      return _callStorageFunction(_getItem, arguments, location);
-    };
-    util.removeItem = function(api, id, key, location) {
-      _callStorageFunction(_removeItem, arguments, location);
-    };
-    util.clearItems = function(api, id, location) {
-      _callStorageFunction(_clearItems, arguments, location);
-    };
-    util.isEmpty = function(obj) {
-      for (var prop in obj) {
-        if (obj.hasOwnProperty(prop)) {
-          return false;
+      bytes.putByte(b1);
+      if (value.length() <= 127) {
+        bytes.putByte(value.length() & 127);
+      } else {
+        var len = value.length();
+        var lenBytes = "";
+        do {
+          lenBytes += String.fromCharCode(len & 255);
+          len = len >>> 8;
+        } while (len > 0);
+        bytes.putByte(lenBytes.length | 128);
+        for (var i = lenBytes.length - 1; i >= 0; --i) {
+          bytes.putByte(lenBytes.charCodeAt(i));
         }
       }
-      return true;
+      bytes.putBuffer(value);
+      return bytes;
     };
-    util.format = function(format) {
-      var re = /%./g;
-      var match;
-      var part;
-      var argi = 0;
-      var parts = [];
-      var last = 0;
-      while (match = re.exec(format)) {
-        part = format.substring(last, re.lastIndex - 2);
-        if (part.length > 0) {
-          parts.push(part);
+    asn1.oidToDer = function(oid) {
+      var values = oid.split(".");
+      var bytes = forge.util.createBuffer();
+      bytes.putByte(40 * parseInt(values[0], 10) + parseInt(values[1], 10));
+      var last, valueBytes, value, b;
+      for (var i = 2; i < values.length; ++i) {
+        last = true;
+        valueBytes = [];
+        value = parseInt(values[i], 10);
+        if (value > 4294967295) {
+          throw new Error("OID value too large; max is 32-bits.");
         }
-        last = re.lastIndex;
-        var code = match[0][1];
-        switch (code) {
-          case "s":
-          case "o":
-            if (argi < arguments.length) {
-              parts.push(arguments[argi++ + 1]);
-            } else {
-              parts.push("");
-            }
-            break;
-          // FIXME: do proper formatting for numbers, etc
-          //case 'f':
-          //case 'd':
-          case "%":
-            parts.push("%");
-            break;
-          default:
-            parts.push("<%" + code + "?>");
+        do {
+          b = value & 127;
+          value = value >>> 7;
+          if (!last) {
+            b |= 128;
+          }
+          valueBytes.push(b);
+          last = false;
+        } while (value > 0);
+        for (var n = valueBytes.length - 1; n >= 0; --n) {
+          bytes.putByte(valueBytes[n]);
         }
       }
-      parts.push(format.substring(last));
-      return parts.join("");
-    };
-    util.formatNumber = function(number, decimals, dec_point, thousands_sep) {
-      var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
-      var d = dec_point === void 0 ? "," : dec_point;
-      var t = thousands_sep === void 0 ? "." : thousands_sep, s = n < 0 ? "-" : "";
-      var i = parseInt(n = Math.abs(+n || 0).toFixed(c), 10) + "";
-      var j = i.length > 3 ? i.length % 3 : 0;
-      return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
+      return bytes;
     };
-    util.formatSize = function(size) {
-      if (size >= 1073741824) {
-        size = util.formatNumber(size / 1073741824, 2, ".", "") + " GiB";
-      } else if (size >= 1048576) {
-        size = util.formatNumber(size / 1048576, 2, ".", "") + " MiB";
-      } else if (size >= 1024) {
-        size = util.formatNumber(size / 1024, 0) + " KiB";
-      } else {
-        size = util.formatNumber(size, 0) + " bytes";
+    asn1.derToOid = function(bytes) {
+      var oid;
+      if (typeof bytes === "string") {
+        bytes = forge.util.createBuffer(bytes);
       }
-      return size;
+      var b = bytes.getByte();
+      oid = Math.floor(b / 40) + "." + b % 40;
+      var value = 0;
+      while (bytes.length() > 0) {
+        if (value > 70368744177663) {
+          throw new Error("OID value too large; max is 53-bits.");
+        }
+        b = bytes.getByte();
+        value = value * 128;
+        if (b & 128) {
+          value += b & 127;
+        } else {
+          oid += "." + (value + b);
+          value = 0;
+        }
+      }
+      return oid;
     };
-    util.bytesFromIP = function(ip) {
-      if (ip.indexOf(".") !== -1) {
-        return util.bytesFromIPv4(ip);
+    asn1.utcTimeToDate = function(utc) {
+      var date = /* @__PURE__ */ new Date();
+      var year = parseInt(utc.substr(0, 2), 10);
+      year = year >= 50 ? 1900 + year : 2e3 + year;
+      var MM = parseInt(utc.substr(2, 2), 10) - 1;
+      var DD = parseInt(utc.substr(4, 2), 10);
+      var hh = parseInt(utc.substr(6, 2), 10);
+      var mm = parseInt(utc.substr(8, 2), 10);
+      var ss = 0;
+      if (utc.length > 11) {
+        var c = utc.charAt(10);
+        var end = 10;
+        if (c !== "+" && c !== "-") {
+          ss = parseInt(utc.substr(10, 2), 10);
+          end += 2;
+        }
       }
-      if (ip.indexOf(":") !== -1) {
-        return util.bytesFromIPv6(ip);
+      date.setUTCFullYear(year, MM, DD);
+      date.setUTCHours(hh, mm, ss, 0);
+      if (end) {
+        c = utc.charAt(end);
+        if (c === "+" || c === "-") {
+          var hhoffset = parseInt(utc.substr(end + 1, 2), 10);
+          var mmoffset = parseInt(utc.substr(end + 4, 2), 10);
+          var offset = hhoffset * 60 + mmoffset;
+          offset *= 6e4;
+          if (c === "+") {
+            date.setTime(+date - offset);
+          } else {
+            date.setTime(+date + offset);
+          }
+        }
       }
-      return null;
+      return date;
     };
-    util.bytesFromIPv4 = function(ip) {
-      ip = ip.split(".");
-      if (ip.length !== 4) {
-        return null;
+    asn1.generalizedTimeToDate = function(gentime) {
+      var date = /* @__PURE__ */ new Date();
+      var YYYY = parseInt(gentime.substr(0, 4), 10);
+      var MM = parseInt(gentime.substr(4, 2), 10) - 1;
+      var DD = parseInt(gentime.substr(6, 2), 10);
+      var hh = parseInt(gentime.substr(8, 2), 10);
+      var mm = parseInt(gentime.substr(10, 2), 10);
+      var ss = parseInt(gentime.substr(12, 2), 10);
+      var fff = 0;
+      var offset = 0;
+      var isUTC = false;
+      if (gentime.charAt(gentime.length - 1) === "Z") {
+        isUTC = true;
       }
-      var b = util.createBuffer();
-      for (var i = 0; i < ip.length; ++i) {
-        var num = parseInt(ip[i], 10);
-        if (isNaN(num)) {
-          return null;
+      var end = gentime.length - 5, c = gentime.charAt(end);
+      if (c === "+" || c === "-") {
+        var hhoffset = parseInt(gentime.substr(end + 1, 2), 10);
+        var mmoffset = parseInt(gentime.substr(end + 4, 2), 10);
+        offset = hhoffset * 60 + mmoffset;
+        offset *= 6e4;
+        if (c === "+") {
+          offset *= -1;
         }
-        b.putByte(num);
+        isUTC = true;
       }
-      return b.getBytes();
+      if (gentime.charAt(14) === ".") {
+        fff = parseFloat(gentime.substr(14), 10) * 1e3;
+      }
+      if (isUTC) {
+        date.setUTCFullYear(YYYY, MM, DD);
+        date.setUTCHours(hh, mm, ss, fff);
+        date.setTime(+date + offset);
+      } else {
+        date.setFullYear(YYYY, MM, DD);
+        date.setHours(hh, mm, ss, fff);
+      }
+      return date;
     };
-    util.bytesFromIPv6 = function(ip) {
-      var blanks = 0;
-      ip = ip.split(":").filter(function(e) {
-        if (e.length === 0) ++blanks;
-        return true;
-      });
-      var zeros = (8 - ip.length + blanks) * 2;
-      var b = util.createBuffer();
-      for (var i = 0; i < 8; ++i) {
-        if (!ip[i] || ip[i].length === 0) {
-          b.fillWithByte(0, zeros);
-          zeros = 0;
-          continue;
-        }
-        var bytes = util.hexToBytes(ip[i]);
-        if (bytes.length < 2) {
-          b.putByte(0);
+    asn1.dateToUtcTime = function(date) {
+      if (typeof date === "string") {
+        return date;
+      }
+      var rval = "";
+      var format = [];
+      format.push(("" + date.getUTCFullYear()).substr(2));
+      format.push("" + (date.getUTCMonth() + 1));
+      format.push("" + date.getUTCDate());
+      format.push("" + date.getUTCHours());
+      format.push("" + date.getUTCMinutes());
+      format.push("" + date.getUTCSeconds());
+      for (var i = 0; i < format.length; ++i) {
+        if (format[i].length < 2) {
+          rval += "0";
         }
-        b.putBytes(bytes);
+        rval += format[i];
       }
-      return b.getBytes();
+      rval += "Z";
+      return rval;
     };
-    util.bytesToIP = function(bytes) {
-      if (bytes.length === 4) {
-        return util.bytesToIPv4(bytes);
+    asn1.dateToGeneralizedTime = function(date) {
+      if (typeof date === "string") {
+        return date;
       }
-      if (bytes.length === 16) {
-        return util.bytesToIPv6(bytes);
+      var rval = "";
+      var format = [];
+      format.push("" + date.getUTCFullYear());
+      format.push("" + (date.getUTCMonth() + 1));
+      format.push("" + date.getUTCDate());
+      format.push("" + date.getUTCHours());
+      format.push("" + date.getUTCMinutes());
+      format.push("" + date.getUTCSeconds());
+      for (var i = 0; i < format.length; ++i) {
+        if (format[i].length < 2) {
+          rval += "0";
+        }
+        rval += format[i];
       }
-      return null;
+      rval += "Z";
+      return rval;
     };
-    util.bytesToIPv4 = function(bytes) {
-      if (bytes.length !== 4) {
-        return null;
+    asn1.integerToDer = function(x) {
+      var rval = forge.util.createBuffer();
+      if (x >= -128 && x < 128) {
+        return rval.putSignedInt(x, 8);
       }
-      var ip = [];
-      for (var i = 0; i < bytes.length; ++i) {
-        ip.push(bytes.charCodeAt(i));
+      if (x >= -32768 && x < 32768) {
+        return rval.putSignedInt(x, 16);
       }
-      return ip.join(".");
-    };
-    util.bytesToIPv6 = function(bytes) {
-      if (bytes.length !== 16) {
-        return null;
+      if (x >= -8388608 && x < 8388608) {
+        return rval.putSignedInt(x, 24);
       }
-      var ip = [];
-      var zeroGroups = [];
-      var zeroMaxGroup = 0;
-      for (var i = 0; i < bytes.length; i += 2) {
-        var hex = util.bytesToHex(bytes[i] + bytes[i + 1]);
-        while (hex[0] === "0" && hex !== "0") {
-          hex = hex.substr(1);
-        }
-        if (hex === "0") {
-          var last = zeroGroups[zeroGroups.length - 1];
-          var idx = ip.length;
-          if (!last || idx !== last.end + 1) {
-            zeroGroups.push({ start: idx, end: idx });
-          } else {
-            last.end = idx;
-            if (last.end - last.start > zeroGroups[zeroMaxGroup].end - zeroGroups[zeroMaxGroup].start) {
-              zeroMaxGroup = zeroGroups.length - 1;
-            }
-          }
-        }
-        ip.push(hex);
+      if (x >= -2147483648 && x < 2147483648) {
+        return rval.putSignedInt(x, 32);
       }
-      if (zeroGroups.length > 0) {
-        var group = zeroGroups[zeroMaxGroup];
-        if (group.end - group.start > 0) {
-          ip.splice(group.start, group.end - group.start + 1, "");
-          if (group.start === 0) {
-            ip.unshift("");
+      var error3 = new Error("Integer too large; max is 32-bits.");
+      error3.integer = x;
+      throw error3;
+    };
+    asn1.derToInteger = function(bytes) {
+      if (typeof bytes === "string") {
+        bytes = forge.util.createBuffer(bytes);
+      }
+      var n = bytes.length() * 8;
+      if (n > 32) {
+        throw new Error("Integer too large; max is 32-bits.");
+      }
+      return bytes.getSignedInt(n);
+    };
+    asn1.validate = function(obj, v, capture, errors) {
+      var rval = false;
+      if ((obj.tagClass === v.tagClass || typeof v.tagClass === "undefined") && (obj.type === v.type || typeof v.type === "undefined")) {
+        if (obj.constructed === v.constructed || typeof v.constructed === "undefined") {
+          rval = true;
+          if (v.value && forge.util.isArray(v.value)) {
+            var j = 0;
+            for (var i = 0; rval && i < v.value.length; ++i) {
+              var schemaItem = v.value[i];
+              rval = !!schemaItem.optional;
+              var objChild = obj.value[j];
+              if (!objChild) {
+                if (!schemaItem.optional) {
+                  rval = false;
+                  if (errors) {
+                    errors.push("[" + v.name + '] Missing required element. Expected tag class "' + schemaItem.tagClass + '", type "' + schemaItem.type + '"');
+                  }
+                }
+                continue;
+              }
+              var schemaHasTag = typeof schemaItem.tagClass !== "undefined" && typeof schemaItem.type !== "undefined";
+              if (schemaHasTag && (objChild.tagClass !== schemaItem.tagClass || objChild.type !== schemaItem.type)) {
+                if (schemaItem.optional) {
+                  rval = true;
+                  continue;
+                } else {
+                  rval = false;
+                  if (errors) {
+                    errors.push("[" + v.name + "] Tag mismatch. Expected (" + schemaItem.tagClass + "," + schemaItem.type + "), got (" + objChild.tagClass + "," + objChild.type + ")");
+                  }
+                  break;
+                }
+              }
+              var childRval = asn1.validate(objChild, schemaItem, capture, errors);
+              if (childRval) {
+                ++j;
+                rval = true;
+              } else if (schemaItem.optional) {
+                rval = true;
+              } else {
+                rval = false;
+                break;
+              }
+            }
           }
-          if (group.end === 7) {
-            ip.push("");
+          if (rval && capture) {
+            if (v.capture) {
+              capture[v.capture] = obj.value;
+            }
+            if (v.captureAsn1) {
+              capture[v.captureAsn1] = obj;
+            }
+            if (v.captureBitStringContents && "bitStringContents" in obj) {
+              capture[v.captureBitStringContents] = obj.bitStringContents;
+            }
+            if (v.captureBitStringValue && "bitStringContents" in obj) {
+              var value;
+              if (obj.bitStringContents.length < 2) {
+                capture[v.captureBitStringValue] = "";
+              } else {
+                var unused = obj.bitStringContents.charCodeAt(0);
+                if (unused !== 0) {
+                  throw new Error(
+                    "captureBitStringValue only supported for zero unused bits"
+                  );
+                }
+                capture[v.captureBitStringValue] = obj.bitStringContents.slice(1);
+              }
+            }
           }
+        } else if (errors) {
+          errors.push(
+            "[" + v.name + '] Expected constructed "' + v.constructed + '", got "' + obj.constructed + '"'
+          );
+        }
+      } else if (errors) {
+        if (obj.tagClass !== v.tagClass) {
+          errors.push(
+            "[" + v.name + '] Expected tag class "' + v.tagClass + '", got "' + obj.tagClass + '"'
+          );
+        }
+        if (obj.type !== v.type) {
+          errors.push(
+            "[" + v.name + '] Expected type "' + v.type + '", got "' + obj.type + '"'
+          );
         }
       }
-      return ip.join(":");
+      return rval;
     };
-    util.estimateCores = function(options, callback) {
-      if (typeof options === "function") {
-        callback = options;
-        options = {};
-      }
-      options = options || {};
-      if ("cores" in util && !options.update) {
-        return callback(null, util.cores);
-      }
-      if (typeof navigator !== "undefined" && "hardwareConcurrency" in navigator && navigator.hardwareConcurrency > 0) {
-        util.cores = navigator.hardwareConcurrency;
-        return callback(null, util.cores);
+    var _nonLatinRegex = /[^\\u0000-\\u00ff]/;
+    asn1.prettyPrint = function(obj, level, indentation) {
+      var rval = "";
+      level = level || 0;
+      indentation = indentation || 2;
+      if (level > 0) {
+        rval += "\n";
       }
-      if (typeof Worker === "undefined") {
-        util.cores = 1;
-        return callback(null, util.cores);
+      var indent = "";
+      for (var i = 0; i < level * indentation; ++i) {
+        indent += " ";
       }
-      if (typeof Blob === "undefined") {
-        util.cores = 2;
-        return callback(null, util.cores);
+      rval += indent + "Tag: ";
+      switch (obj.tagClass) {
+        case asn1.Class.UNIVERSAL:
+          rval += "Universal:";
+          break;
+        case asn1.Class.APPLICATION:
+          rval += "Application:";
+          break;
+        case asn1.Class.CONTEXT_SPECIFIC:
+          rval += "Context-Specific:";
+          break;
+        case asn1.Class.PRIVATE:
+          rval += "Private:";
+          break;
       }
-      var blobUrl = URL.createObjectURL(new Blob([
-        "(",
-        function() {
-          self.addEventListener("message", function(e) {
-            var st = Date.now();
-            var et = st + 4;
-            while (Date.now() < et) ;
-            self.postMessage({ st, et });
-          });
-        }.toString(),
-        ")()"
-      ], { type: "application/javascript" }));
-      sample([], 5, 16);
-      function sample(max, samples, numWorkers) {
-        if (samples === 0) {
-          var avg = Math.floor(max.reduce(function(avg2, x) {
-            return avg2 + x;
-          }, 0) / max.length);
-          util.cores = Math.max(1, avg);
-          URL.revokeObjectURL(blobUrl);
-          return callback(null, util.cores);
+      if (obj.tagClass === asn1.Class.UNIVERSAL) {
+        rval += obj.type;
+        switch (obj.type) {
+          case asn1.Type.NONE:
+            rval += " (None)";
+            break;
+          case asn1.Type.BOOLEAN:
+            rval += " (Boolean)";
+            break;
+          case asn1.Type.INTEGER:
+            rval += " (Integer)";
+            break;
+          case asn1.Type.BITSTRING:
+            rval += " (Bit string)";
+            break;
+          case asn1.Type.OCTETSTRING:
+            rval += " (Octet string)";
+            break;
+          case asn1.Type.NULL:
+            rval += " (Null)";
+            break;
+          case asn1.Type.OID:
+            rval += " (Object Identifier)";
+            break;
+          case asn1.Type.ODESC:
+            rval += " (Object Descriptor)";
+            break;
+          case asn1.Type.EXTERNAL:
+            rval += " (External or Instance of)";
+            break;
+          case asn1.Type.REAL:
+            rval += " (Real)";
+            break;
+          case asn1.Type.ENUMERATED:
+            rval += " (Enumerated)";
+            break;
+          case asn1.Type.EMBEDDED:
+            rval += " (Embedded PDV)";
+            break;
+          case asn1.Type.UTF8:
+            rval += " (UTF8)";
+            break;
+          case asn1.Type.ROID:
+            rval += " (Relative Object Identifier)";
+            break;
+          case asn1.Type.SEQUENCE:
+            rval += " (Sequence)";
+            break;
+          case asn1.Type.SET:
+            rval += " (Set)";
+            break;
+          case asn1.Type.PRINTABLESTRING:
+            rval += " (Printable String)";
+            break;
+          case asn1.Type.IA5String:
+            rval += " (IA5String (ASCII))";
+            break;
+          case asn1.Type.UTCTIME:
+            rval += " (UTC time)";
+            break;
+          case asn1.Type.GENERALIZEDTIME:
+            rval += " (Generalized time)";
+            break;
+          case asn1.Type.BMPSTRING:
+            rval += " (BMP String)";
+            break;
         }
-        map2(numWorkers, function(err, results) {
-          max.push(reduce(numWorkers, results));
-          sample(max, samples - 1, numWorkers);
-        });
+      } else {
+        rval += obj.type;
       }
-      function map2(numWorkers, callback2) {
-        var workers = [];
-        var results = [];
-        for (var i = 0; i < numWorkers; ++i) {
-          var worker = new Worker(blobUrl);
-          worker.addEventListener("message", function(e) {
-            results.push(e.data);
-            if (results.length === numWorkers) {
-              for (var i2 = 0; i2 < numWorkers; ++i2) {
-                workers[i2].terminate();
-              }
-              callback2(null, results);
+      rval += "\n";
+      rval += indent + "Constructed: " + obj.constructed + "\n";
+      if (obj.composed) {
+        var subvalues = 0;
+        var sub = "";
+        for (var i = 0; i < obj.value.length; ++i) {
+          if (obj.value[i] !== void 0) {
+            subvalues += 1;
+            sub += asn1.prettyPrint(obj.value[i], level + 1, indentation);
+            if (i + 1 < obj.value.length) {
+              sub += ",";
             }
-          });
-          workers.push(worker);
+          }
         }
-        for (var i = 0; i < numWorkers; ++i) {
-          workers[i].postMessage(i);
+        rval += indent + "Sub values: " + subvalues + sub;
+      } else {
+        rval += indent + "Value: ";
+        if (obj.type === asn1.Type.OID) {
+          var oid = asn1.derToOid(obj.value);
+          rval += oid;
+          if (forge.pki && forge.pki.oids) {
+            if (oid in forge.pki.oids) {
+              rval += " (" + forge.pki.oids[oid] + ") ";
+            }
+          }
         }
-      }
-      function reduce(numWorkers, results) {
-        var overlaps = [];
-        for (var n = 0; n < numWorkers; ++n) {
-          var r1 = results[n];
-          var overlap = overlaps[n] = [];
-          for (var i = 0; i < numWorkers; ++i) {
-            if (n === i) {
-              continue;
+        if (obj.type === asn1.Type.INTEGER) {
+          try {
+            rval += asn1.derToInteger(obj.value);
+          } catch (ex) {
+            rval += "0x" + forge.util.bytesToHex(obj.value);
+          }
+        } else if (obj.type === asn1.Type.BITSTRING) {
+          if (obj.value.length > 1) {
+            rval += "0x" + forge.util.bytesToHex(obj.value.slice(1));
+          } else {
+            rval += "(none)";
+          }
+          if (obj.value.length > 0) {
+            var unused = obj.value.charCodeAt(0);
+            if (unused == 1) {
+              rval += " (1 unused bit shown)";
+            } else if (unused > 1) {
+              rval += " (" + unused + " unused bits shown)";
             }
-            var r2 = results[i];
-            if (r1.st > r2.st && r1.st < r2.et || r2.st > r1.st && r2.st < r1.et) {
-              overlap.push(i);
+          }
+        } else if (obj.type === asn1.Type.OCTETSTRING) {
+          if (!_nonLatinRegex.test(obj.value)) {
+            rval += "(" + obj.value + ") ";
+          }
+          rval += "0x" + forge.util.bytesToHex(obj.value);
+        } else if (obj.type === asn1.Type.UTF8) {
+          try {
+            rval += forge.util.decodeUtf8(obj.value);
+          } catch (e) {
+            if (e.message === "URI malformed") {
+              rval += "0x" + forge.util.bytesToHex(obj.value) + " (malformed UTF8)";
+            } else {
+              throw e;
             }
           }
+        } else if (obj.type === asn1.Type.PRINTABLESTRING || obj.type === asn1.Type.IA5String) {
+          rval += obj.value;
+        } else if (_nonLatinRegex.test(obj.value)) {
+          rval += "0x" + forge.util.bytesToHex(obj.value);
+        } else if (obj.value.length === 0) {
+          rval += "[null]";
+        } else {
+          rval += obj.value;
         }
-        return overlaps.reduce(function(max, overlap2) {
-          return Math.max(max, overlap2.length);
-        }, 0);
       }
+      return rval;
     };
   }
 });
 
-// node_modules/node-forge/lib/cipher.js
-var require_cipher = __commonJS({
-  "node_modules/node-forge/lib/cipher.js"(exports2, module2) {
+// node_modules/node-forge/lib/md.js
+var require_md = __commonJS({
+  "node_modules/node-forge/lib/md.js"(exports2, module2) {
     var forge = require_forge();
-    require_util9();
-    module2.exports = forge.cipher = forge.cipher || {};
-    forge.cipher.algorithms = forge.cipher.algorithms || {};
-    forge.cipher.createCipher = function(algorithm, key) {
-      var api = algorithm;
-      if (typeof api === "string") {
-        api = forge.cipher.getAlgorithm(api);
-        if (api) {
-          api = api();
-        }
-      }
-      if (!api) {
-        throw new Error("Unsupported algorithm: " + algorithm);
-      }
-      return new forge.cipher.BlockCipher({
-        algorithm: api,
-        key,
-        decrypt: false
-      });
-    };
-    forge.cipher.createDecipher = function(algorithm, key) {
-      var api = algorithm;
-      if (typeof api === "string") {
-        api = forge.cipher.getAlgorithm(api);
-        if (api) {
-          api = api();
-        }
-      }
-      if (!api) {
-        throw new Error("Unsupported algorithm: " + algorithm);
-      }
-      return new forge.cipher.BlockCipher({
-        algorithm: api,
-        key,
-        decrypt: true
-      });
-    };
-    forge.cipher.registerAlgorithm = function(name, algorithm) {
-      name = name.toUpperCase();
-      forge.cipher.algorithms[name] = algorithm;
-    };
-    forge.cipher.getAlgorithm = function(name) {
-      name = name.toUpperCase();
-      if (name in forge.cipher.algorithms) {
-        return forge.cipher.algorithms[name];
-      }
-      return null;
-    };
-    var BlockCipher = forge.cipher.BlockCipher = function(options) {
-      this.algorithm = options.algorithm;
-      this.mode = this.algorithm.mode;
-      this.blockSize = this.mode.blockSize;
-      this._finish = false;
-      this._input = null;
-      this.output = null;
-      this._op = options.decrypt ? this.mode.decrypt : this.mode.encrypt;
-      this._decrypt = options.decrypt;
-      this.algorithm.initialize(options);
-    };
-    BlockCipher.prototype.start = function(options) {
-      options = options || {};
-      var opts = {};
-      for (var key in options) {
-        opts[key] = options[key];
-      }
-      opts.decrypt = this._decrypt;
-      this._finish = false;
-      this._input = forge.util.createBuffer();
-      this.output = options.output || forge.util.createBuffer();
-      this.mode.start(opts);
-    };
-    BlockCipher.prototype.update = function(input) {
-      if (input) {
-        this._input.putBuffer(input);
-      }
-      while (!this._op.call(this.mode, this._input, this.output, this._finish) && !this._finish) {
-      }
-      this._input.compact();
-    };
-    BlockCipher.prototype.finish = function(pad) {
-      if (pad && (this.mode.name === "ECB" || this.mode.name === "CBC")) {
-        this.mode.pad = function(input) {
-          return pad(this.blockSize, input, false);
-        };
-        this.mode.unpad = function(output) {
-          return pad(this.blockSize, output, true);
-        };
-      }
-      var options = {};
-      options.decrypt = this._decrypt;
-      options.overflow = this._input.length() % this.blockSize;
-      if (!this._decrypt && this.mode.pad) {
-        if (!this.mode.pad(this._input, options)) {
-          return false;
-        }
-      }
-      this._finish = true;
-      this.update();
-      if (this._decrypt && this.mode.unpad) {
-        if (!this.mode.unpad(this.output, options)) {
-          return false;
-        }
-      }
-      if (this.mode.afterFinish) {
-        if (!this.mode.afterFinish(this.output, options)) {
-          return false;
-        }
-      }
-      return true;
-    };
+    module2.exports = forge.md = forge.md || {};
+    forge.md.algorithms = forge.md.algorithms || {};
   }
 });
 
-// node_modules/node-forge/lib/cipherModes.js
-var require_cipherModes = __commonJS({
-  "node_modules/node-forge/lib/cipherModes.js"(exports2, module2) {
+// node_modules/node-forge/lib/hmac.js
+var require_hmac = __commonJS({
+  "node_modules/node-forge/lib/hmac.js"(exports2, module2) {
     var forge = require_forge();
+    require_md();
     require_util9();
-    forge.cipher = forge.cipher || {};
-    var modes = module2.exports = forge.cipher.modes = forge.cipher.modes || {};
-    modes.ecb = function(options) {
-      options = options || {};
-      this.name = "ECB";
-      this.cipher = options.cipher;
-      this.blockSize = options.blockSize || 16;
-      this._ints = this.blockSize / 4;
-      this._inBlock = new Array(this._ints);
-      this._outBlock = new Array(this._ints);
-    };
-    modes.ecb.prototype.start = function(options) {
-    };
-    modes.ecb.prototype.encrypt = function(input, output, finish) {
-      if (input.length() < this.blockSize && !(finish && input.length() > 0)) {
-        return true;
-      }
-      for (var i = 0; i < this._ints; ++i) {
-        this._inBlock[i] = input.getInt32();
-      }
-      this.cipher.encrypt(this._inBlock, this._outBlock);
-      for (var i = 0; i < this._ints; ++i) {
-        output.putInt32(this._outBlock[i]);
-      }
-    };
-    modes.ecb.prototype.decrypt = function(input, output, finish) {
-      if (input.length() < this.blockSize && !(finish && input.length() > 0)) {
-        return true;
-      }
-      for (var i = 0; i < this._ints; ++i) {
-        this._inBlock[i] = input.getInt32();
-      }
-      this.cipher.decrypt(this._inBlock, this._outBlock);
-      for (var i = 0; i < this._ints; ++i) {
-        output.putInt32(this._outBlock[i]);
-      }
-    };
-    modes.ecb.prototype.pad = function(input, options) {
-      var padding = input.length() === this.blockSize ? this.blockSize : this.blockSize - input.length();
-      input.fillWithByte(padding, padding);
-      return true;
-    };
-    modes.ecb.prototype.unpad = function(output, options) {
-      if (options.overflow > 0) {
-        return false;
-      }
-      var len = output.length();
-      var count = output.at(len - 1);
-      if (count > this.blockSize << 2) {
-        return false;
-      }
-      output.truncate(count);
-      return true;
-    };
-    modes.cbc = function(options) {
-      options = options || {};
-      this.name = "CBC";
-      this.cipher = options.cipher;
-      this.blockSize = options.blockSize || 16;
-      this._ints = this.blockSize / 4;
-      this._inBlock = new Array(this._ints);
-      this._outBlock = new Array(this._ints);
-    };
-    modes.cbc.prototype.start = function(options) {
-      if (options.iv === null) {
-        if (!this._prev) {
-          throw new Error("Invalid IV parameter.");
+    var hmac = module2.exports = forge.hmac = forge.hmac || {};
+    hmac.create = function() {
+      var _key = null;
+      var _md = null;
+      var _ipadding = null;
+      var _opadding = null;
+      var ctx = {};
+      ctx.start = function(md, key) {
+        if (md !== null) {
+          if (typeof md === "string") {
+            md = md.toLowerCase();
+            if (md in forge.md.algorithms) {
+              _md = forge.md.algorithms[md].create();
+            } else {
+              throw new Error('Unknown hash algorithm "' + md + '"');
+            }
+          } else {
+            _md = md;
+          }
         }
-        this._iv = this._prev.slice(0);
-      } else if (!("iv" in options)) {
-        throw new Error("Invalid IV parameter.");
-      } else {
-        this._iv = transformIV(options.iv, this.blockSize);
-        this._prev = this._iv.slice(0);
-      }
-    };
-    modes.cbc.prototype.encrypt = function(input, output, finish) {
-      if (input.length() < this.blockSize && !(finish && input.length() > 0)) {
-        return true;
-      }
-      for (var i = 0; i < this._ints; ++i) {
-        this._inBlock[i] = this._prev[i] ^ input.getInt32();
-      }
-      this.cipher.encrypt(this._inBlock, this._outBlock);
-      for (var i = 0; i < this._ints; ++i) {
-        output.putInt32(this._outBlock[i]);
-      }
-      this._prev = this._outBlock;
+        if (key === null) {
+          key = _key;
+        } else {
+          if (typeof key === "string") {
+            key = forge.util.createBuffer(key);
+          } else if (forge.util.isArray(key)) {
+            var tmp = key;
+            key = forge.util.createBuffer();
+            for (var i = 0; i < tmp.length; ++i) {
+              key.putByte(tmp[i]);
+            }
+          }
+          var keylen = key.length();
+          if (keylen > _md.blockLength) {
+            _md.start();
+            _md.update(key.bytes());
+            key = _md.digest();
+          }
+          _ipadding = forge.util.createBuffer();
+          _opadding = forge.util.createBuffer();
+          keylen = key.length();
+          for (var i = 0; i < keylen; ++i) {
+            var tmp = key.at(i);
+            _ipadding.putByte(54 ^ tmp);
+            _opadding.putByte(92 ^ tmp);
+          }
+          if (keylen < _md.blockLength) {
+            var tmp = _md.blockLength - keylen;
+            for (var i = 0; i < tmp; ++i) {
+              _ipadding.putByte(54);
+              _opadding.putByte(92);
+            }
+          }
+          _key = key;
+          _ipadding = _ipadding.bytes();
+          _opadding = _opadding.bytes();
+        }
+        _md.start();
+        _md.update(_ipadding);
+      };
+      ctx.update = function(bytes) {
+        _md.update(bytes);
+      };
+      ctx.getMac = function() {
+        var inner = _md.digest().bytes();
+        _md.start();
+        _md.update(_opadding);
+        _md.update(inner);
+        return _md.digest();
+      };
+      ctx.digest = ctx.getMac;
+      return ctx;
     };
-    modes.cbc.prototype.decrypt = function(input, output, finish) {
-      if (input.length() < this.blockSize && !(finish && input.length() > 0)) {
-        return true;
-      }
-      for (var i = 0; i < this._ints; ++i) {
-        this._inBlock[i] = input.getInt32();
-      }
-      this.cipher.decrypt(this._inBlock, this._outBlock);
-      for (var i = 0; i < this._ints; ++i) {
-        output.putInt32(this._prev[i] ^ this._outBlock[i]);
+  }
+});
+
+// node_modules/node-forge/lib/md5.js
+var require_md5 = __commonJS({
+  "node_modules/node-forge/lib/md5.js"(exports2, module2) {
+    var forge = require_forge();
+    require_md();
+    require_util9();
+    var md5 = module2.exports = forge.md5 = forge.md5 || {};
+    forge.md.md5 = forge.md.algorithms.md5 = md5;
+    md5.create = function() {
+      if (!_initialized) {
+        _init();
       }
-      this._prev = this._inBlock.slice(0);
-    };
-    modes.cbc.prototype.pad = function(input, options) {
-      var padding = input.length() === this.blockSize ? this.blockSize : this.blockSize - input.length();
-      input.fillWithByte(padding, padding);
-      return true;
+      var _state = null;
+      var _input = forge.util.createBuffer();
+      var _w = new Array(16);
+      var md = {
+        algorithm: "md5",
+        blockLength: 64,
+        digestLength: 16,
+        // 56-bit length of message so far (does not including padding)
+        messageLength: 0,
+        // true message length
+        fullMessageLength: null,
+        // size of message length in bytes
+        messageLengthSize: 8
+      };
+      md.start = function() {
+        md.messageLength = 0;
+        md.fullMessageLength = md.messageLength64 = [];
+        var int32s = md.messageLengthSize / 4;
+        for (var i = 0; i < int32s; ++i) {
+          md.fullMessageLength.push(0);
+        }
+        _input = forge.util.createBuffer();
+        _state = {
+          h0: 1732584193,
+          h1: 4023233417,
+          h2: 2562383102,
+          h3: 271733878
+        };
+        return md;
+      };
+      md.start();
+      md.update = function(msg, encoding) {
+        if (encoding === "utf8") {
+          msg = forge.util.encodeUtf8(msg);
+        }
+        var len = msg.length;
+        md.messageLength += len;
+        len = [len / 4294967296 >>> 0, len >>> 0];
+        for (var i = md.fullMessageLength.length - 1; i >= 0; --i) {
+          md.fullMessageLength[i] += len[1];
+          len[1] = len[0] + (md.fullMessageLength[i] / 4294967296 >>> 0);
+          md.fullMessageLength[i] = md.fullMessageLength[i] >>> 0;
+          len[0] = len[1] / 4294967296 >>> 0;
+        }
+        _input.putBytes(msg);
+        _update(_state, _w, _input);
+        if (_input.read > 2048 || _input.length() === 0) {
+          _input.compact();
+        }
+        return md;
+      };
+      md.digest = function() {
+        var finalBlock = forge.util.createBuffer();
+        finalBlock.putBytes(_input.bytes());
+        var remaining = md.fullMessageLength[md.fullMessageLength.length - 1] + md.messageLengthSize;
+        var overflow = remaining & md.blockLength - 1;
+        finalBlock.putBytes(_padding.substr(0, md.blockLength - overflow));
+        var bits, carry = 0;
+        for (var i = md.fullMessageLength.length - 1; i >= 0; --i) {
+          bits = md.fullMessageLength[i] * 8 + carry;
+          carry = bits / 4294967296 >>> 0;
+          finalBlock.putInt32Le(bits >>> 0);
+        }
+        var s2 = {
+          h0: _state.h0,
+          h1: _state.h1,
+          h2: _state.h2,
+          h3: _state.h3
+        };
+        _update(s2, _w, finalBlock);
+        var rval = forge.util.createBuffer();
+        rval.putInt32Le(s2.h0);
+        rval.putInt32Le(s2.h1);
+        rval.putInt32Le(s2.h2);
+        rval.putInt32Le(s2.h3);
+        return rval;
+      };
+      return md;
     };
-    modes.cbc.prototype.unpad = function(output, options) {
-      if (options.overflow > 0) {
-        return false;
+    var _padding = null;
+    var _g = null;
+    var _r = null;
+    var _k = null;
+    var _initialized = false;
+    function _init() {
+      _padding = String.fromCharCode(128);
+      _padding += forge.util.fillString(String.fromCharCode(0), 64);
+      _g = [
+        0,
+        1,
+        2,
+        3,
+        4,
+        5,
+        6,
+        7,
+        8,
+        9,
+        10,
+        11,
+        12,
+        13,
+        14,
+        15,
+        1,
+        6,
+        11,
+        0,
+        5,
+        10,
+        15,
+        4,
+        9,
+        14,
+        3,
+        8,
+        13,
+        2,
+        7,
+        12,
+        5,
+        8,
+        11,
+        14,
+        1,
+        4,
+        7,
+        10,
+        13,
+        0,
+        3,
+        6,
+        9,
+        12,
+        15,
+        2,
+        0,
+        7,
+        14,
+        5,
+        12,
+        3,
+        10,
+        1,
+        8,
+        15,
+        6,
+        13,
+        4,
+        11,
+        2,
+        9
+      ];
+      _r = [
+        7,
+        12,
+        17,
+        22,
+        7,
+        12,
+        17,
+        22,
+        7,
+        12,
+        17,
+        22,
+        7,
+        12,
+        17,
+        22,
+        5,
+        9,
+        14,
+        20,
+        5,
+        9,
+        14,
+        20,
+        5,
+        9,
+        14,
+        20,
+        5,
+        9,
+        14,
+        20,
+        4,
+        11,
+        16,
+        23,
+        4,
+        11,
+        16,
+        23,
+        4,
+        11,
+        16,
+        23,
+        4,
+        11,
+        16,
+        23,
+        6,
+        10,
+        15,
+        21,
+        6,
+        10,
+        15,
+        21,
+        6,
+        10,
+        15,
+        21,
+        6,
+        10,
+        15,
+        21
+      ];
+      _k = new Array(64);
+      for (var i = 0; i < 64; ++i) {
+        _k[i] = Math.floor(Math.abs(Math.sin(i + 1)) * 4294967296);
       }
-      var len = output.length();
-      var count = output.at(len - 1);
-      if (count > this.blockSize << 2) {
-        return false;
+      _initialized = true;
+    }
+    function _update(s, w, bytes) {
+      var t, a, b, c, d, f, r, i;
+      var len = bytes.length();
+      while (len >= 64) {
+        a = s.h0;
+        b = s.h1;
+        c = s.h2;
+        d = s.h3;
+        for (i = 0; i < 16; ++i) {
+          w[i] = bytes.getInt32Le();
+          f = d ^ b & (c ^ d);
+          t = a + f + _k[i] + w[i];
+          r = _r[i];
+          a = d;
+          d = c;
+          c = b;
+          b += t << r | t >>> 32 - r;
+        }
+        for (; i < 32; ++i) {
+          f = c ^ d & (b ^ c);
+          t = a + f + _k[i] + w[_g[i]];
+          r = _r[i];
+          a = d;
+          d = c;
+          c = b;
+          b += t << r | t >>> 32 - r;
+        }
+        for (; i < 48; ++i) {
+          f = b ^ c ^ d;
+          t = a + f + _k[i] + w[_g[i]];
+          r = _r[i];
+          a = d;
+          d = c;
+          c = b;
+          b += t << r | t >>> 32 - r;
+        }
+        for (; i < 64; ++i) {
+          f = c ^ (b | ~d);
+          t = a + f + _k[i] + w[_g[i]];
+          r = _r[i];
+          a = d;
+          d = c;
+          c = b;
+          b += t << r | t >>> 32 - r;
+        }
+        s.h0 = s.h0 + a | 0;
+        s.h1 = s.h1 + b | 0;
+        s.h2 = s.h2 + c | 0;
+        s.h3 = s.h3 + d | 0;
+        len -= 64;
       }
-      output.truncate(count);
-      return true;
-    };
-    modes.cfb = function(options) {
+    }
+  }
+});
+
+// node_modules/node-forge/lib/pem.js
+var require_pem = __commonJS({
+  "node_modules/node-forge/lib/pem.js"(exports2, module2) {
+    var forge = require_forge();
+    require_util9();
+    var pem = module2.exports = forge.pem = forge.pem || {};
+    pem.encode = function(msg, options) {
       options = options || {};
-      this.name = "CFB";
-      this.cipher = options.cipher;
-      this.blockSize = options.blockSize || 16;
-      this._ints = this.blockSize / 4;
-      this._inBlock = null;
-      this._outBlock = new Array(this._ints);
-      this._partialBlock = new Array(this._ints);
-      this._partialOutput = forge.util.createBuffer();
-      this._partialBytes = 0;
-    };
-    modes.cfb.prototype.start = function(options) {
-      if (!("iv" in options)) {
-        throw new Error("Invalid IV parameter.");
+      var rval = "-----BEGIN " + msg.type + "-----\r\n";
+      var header;
+      if (msg.procType) {
+        header = {
+          name: "Proc-Type",
+          values: [String(msg.procType.version), msg.procType.type]
+        };
+        rval += foldHeader(header);
       }
-      this._iv = transformIV(options.iv, this.blockSize);
-      this._inBlock = this._iv.slice(0);
-      this._partialBytes = 0;
-    };
-    modes.cfb.prototype.encrypt = function(input, output, finish) {
-      var inputLength = input.length();
-      if (inputLength === 0) {
-        return true;
+      if (msg.contentDomain) {
+        header = { name: "Content-Domain", values: [msg.contentDomain] };
+        rval += foldHeader(header);
       }
-      this.cipher.encrypt(this._inBlock, this._outBlock);
-      if (this._partialBytes === 0 && inputLength >= this.blockSize) {
-        for (var i = 0; i < this._ints; ++i) {
-          this._inBlock[i] = input.getInt32() ^ this._outBlock[i];
-          output.putInt32(this._inBlock[i]);
+      if (msg.dekInfo) {
+        header = { name: "DEK-Info", values: [msg.dekInfo.algorithm] };
+        if (msg.dekInfo.parameters) {
+          header.values.push(msg.dekInfo.parameters);
         }
-        return;
+        rval += foldHeader(header);
       }
-      var partialBytes = (this.blockSize - inputLength) % this.blockSize;
-      if (partialBytes > 0) {
-        partialBytes = this.blockSize - partialBytes;
+      if (msg.headers) {
+        for (var i = 0; i < msg.headers.length; ++i) {
+          rval += foldHeader(msg.headers[i]);
+        }
       }
-      this._partialOutput.clear();
-      for (var i = 0; i < this._ints; ++i) {
-        this._partialBlock[i] = input.getInt32() ^ this._outBlock[i];
-        this._partialOutput.putInt32(this._partialBlock[i]);
+      if (msg.procType) {
+        rval += "\r\n";
       }
-      if (partialBytes > 0) {
-        input.read -= this.blockSize;
-      } else {
-        for (var i = 0; i < this._ints; ++i) {
-          this._inBlock[i] = this._partialBlock[i];
-        }
-      }
-      if (this._partialBytes > 0) {
-        this._partialOutput.getBytes(this._partialBytes);
-      }
-      if (partialBytes > 0 && !finish) {
-        output.putBytes(this._partialOutput.getBytes(
-          partialBytes - this._partialBytes
-        ));
-        this._partialBytes = partialBytes;
-        return true;
-      }
-      output.putBytes(this._partialOutput.getBytes(
-        inputLength - this._partialBytes
-      ));
-      this._partialBytes = 0;
+      rval += forge.util.encode64(msg.body, options.maxline || 64) + "\r\n";
+      rval += "-----END " + msg.type + "-----\r\n";
+      return rval;
     };
-    modes.cfb.prototype.decrypt = function(input, output, finish) {
-      var inputLength = input.length();
-      if (inputLength === 0) {
-        return true;
-      }
-      this.cipher.encrypt(this._inBlock, this._outBlock);
-      if (this._partialBytes === 0 && inputLength >= this.blockSize) {
-        for (var i = 0; i < this._ints; ++i) {
-          this._inBlock[i] = input.getInt32();
-          output.putInt32(this._inBlock[i] ^ this._outBlock[i]);
+    pem.decode = function(str2) {
+      var rval = [];
+      var rMessage = /\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g;
+      var rHeader = /([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/;
+      var rCRLF = /\r?\n/;
+      var match;
+      while (true) {
+        match = rMessage.exec(str2);
+        if (!match) {
+          break;
+        }
+        var type2 = match[1];
+        if (type2 === "NEW CERTIFICATE REQUEST") {
+          type2 = "CERTIFICATE REQUEST";
+        }
+        var msg = {
+          type: type2,
+          procType: null,
+          contentDomain: null,
+          dekInfo: null,
+          headers: [],
+          body: forge.util.decode64(match[3])
+        };
+        rval.push(msg);
+        if (!match[2]) {
+          continue;
+        }
+        var lines = match[2].split(rCRLF);
+        var li = 0;
+        while (match && li < lines.length) {
+          var line = lines[li].replace(/\s+$/, "");
+          for (var nl = li + 1; nl < lines.length; ++nl) {
+            var next = lines[nl];
+            if (!/\s/.test(next[0])) {
+              break;
+            }
+            line += next;
+            li = nl;
+          }
+          match = line.match(rHeader);
+          if (match) {
+            var header = { name: match[1], values: [] };
+            var values = match[2].split(",");
+            for (var vi = 0; vi < values.length; ++vi) {
+              header.values.push(ltrim(values[vi]));
+            }
+            if (!msg.procType) {
+              if (header.name !== "Proc-Type") {
+                throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');
+              } else if (header.values.length !== 2) {
+                throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');
+              }
+              msg.procType = { version: values[0], type: values[1] };
+            } else if (!msg.contentDomain && header.name === "Content-Domain") {
+              msg.contentDomain = values[0] || "";
+            } else if (!msg.dekInfo && header.name === "DEK-Info") {
+              if (header.values.length === 0) {
+                throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');
+              }
+              msg.dekInfo = { algorithm: values[0], parameters: values[1] || null };
+            } else {
+              msg.headers.push(header);
+            }
+          }
+          ++li;
+        }
+        if (msg.procType === "ENCRYPTED" && !msg.dekInfo) {
+          throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".');
         }
-        return;
       }
-      var partialBytes = (this.blockSize - inputLength) % this.blockSize;
-      if (partialBytes > 0) {
-        partialBytes = this.blockSize - partialBytes;
+      if (rval.length === 0) {
+        throw new Error("Invalid PEM formatted message.");
       }
-      this._partialOutput.clear();
-      for (var i = 0; i < this._ints; ++i) {
-        this._partialBlock[i] = input.getInt32();
-        this._partialOutput.putInt32(this._partialBlock[i] ^ this._outBlock[i]);
+      return rval;
+    };
+    function foldHeader(header) {
+      var rval = header.name + ": ";
+      var values = [];
+      var insertSpace = function(match, $1) {
+        return " " + $1;
+      };
+      for (var i = 0; i < header.values.length; ++i) {
+        values.push(header.values[i].replace(/^(\S+\r\n)/, insertSpace));
       }
-      if (partialBytes > 0) {
-        input.read -= this.blockSize;
-      } else {
-        for (var i = 0; i < this._ints; ++i) {
-          this._inBlock[i] = this._partialBlock[i];
+      rval += values.join(",") + "\r\n";
+      var length = 0;
+      var candidate = -1;
+      for (var i = 0; i < rval.length; ++i, ++length) {
+        if (length > 65 && candidate !== -1) {
+          var insert = rval[candidate];
+          if (insert === ",") {
+            ++candidate;
+            rval = rval.substr(0, candidate) + "\r\n " + rval.substr(candidate);
+          } else {
+            rval = rval.substr(0, candidate) + "\r\n" + insert + rval.substr(candidate + 1);
+          }
+          length = i - candidate - 1;
+          candidate = -1;
+          ++i;
+        } else if (rval[i] === " " || rval[i] === "	" || rval[i] === ",") {
+          candidate = i;
         }
       }
-      if (this._partialBytes > 0) {
-        this._partialOutput.getBytes(this._partialBytes);
-      }
-      if (partialBytes > 0 && !finish) {
-        output.putBytes(this._partialOutput.getBytes(
-          partialBytes - this._partialBytes
-        ));
-        this._partialBytes = partialBytes;
-        return true;
-      }
-      output.putBytes(this._partialOutput.getBytes(
-        inputLength - this._partialBytes
-      ));
-      this._partialBytes = 0;
+      return rval;
+    }
+    function ltrim(str2) {
+      return str2.replace(/^\s+/, "");
+    }
+  }
+});
+
+// node_modules/node-forge/lib/des.js
+var require_des = __commonJS({
+  "node_modules/node-forge/lib/des.js"(exports2, module2) {
+    var forge = require_forge();
+    require_cipher();
+    require_cipherModes();
+    require_util9();
+    module2.exports = forge.des = forge.des || {};
+    forge.des.startEncrypting = function(key, iv, output, mode) {
+      var cipher = _createCipher({
+        key,
+        output,
+        decrypt: false,
+        mode: mode || (iv === null ? "ECB" : "CBC")
+      });
+      cipher.start(iv);
+      return cipher;
     };
-    modes.ofb = function(options) {
-      options = options || {};
-      this.name = "OFB";
-      this.cipher = options.cipher;
-      this.blockSize = options.blockSize || 16;
-      this._ints = this.blockSize / 4;
-      this._inBlock = null;
-      this._outBlock = new Array(this._ints);
-      this._partialOutput = forge.util.createBuffer();
-      this._partialBytes = 0;
+    forge.des.createEncryptionCipher = function(key, mode) {
+      return _createCipher({
+        key,
+        output: null,
+        decrypt: false,
+        mode
+      });
     };
-    modes.ofb.prototype.start = function(options) {
-      if (!("iv" in options)) {
-        throw new Error("Invalid IV parameter.");
-      }
-      this._iv = transformIV(options.iv, this.blockSize);
-      this._inBlock = this._iv.slice(0);
-      this._partialBytes = 0;
+    forge.des.startDecrypting = function(key, iv, output, mode) {
+      var cipher = _createCipher({
+        key,
+        output,
+        decrypt: true,
+        mode: mode || (iv === null ? "ECB" : "CBC")
+      });
+      cipher.start(iv);
+      return cipher;
     };
-    modes.ofb.prototype.encrypt = function(input, output, finish) {
-      var inputLength = input.length();
-      if (input.length() === 0) {
-        return true;
-      }
-      this.cipher.encrypt(this._inBlock, this._outBlock);
-      if (this._partialBytes === 0 && inputLength >= this.blockSize) {
-        for (var i = 0; i < this._ints; ++i) {
-          output.putInt32(input.getInt32() ^ this._outBlock[i]);
-          this._inBlock[i] = this._outBlock[i];
+    forge.des.createDecryptionCipher = function(key, mode) {
+      return _createCipher({
+        key,
+        output: null,
+        decrypt: true,
+        mode
+      });
+    };
+    forge.des.Algorithm = function(name, mode) {
+      var self2 = this;
+      self2.name = name;
+      self2.mode = new mode({
+        blockSize: 8,
+        cipher: {
+          encrypt: function(inBlock, outBlock) {
+            return _updateBlock(self2._keys, inBlock, outBlock, false);
+          },
+          decrypt: function(inBlock, outBlock) {
+            return _updateBlock(self2._keys, inBlock, outBlock, true);
+          }
         }
+      });
+      self2._init = false;
+    };
+    forge.des.Algorithm.prototype.initialize = function(options) {
+      if (this._init) {
         return;
       }
-      var partialBytes = (this.blockSize - inputLength) % this.blockSize;
-      if (partialBytes > 0) {
-        partialBytes = this.blockSize - partialBytes;
-      }
-      this._partialOutput.clear();
-      for (var i = 0; i < this._ints; ++i) {
-        this._partialOutput.putInt32(input.getInt32() ^ this._outBlock[i]);
+      var key = forge.util.createBuffer(options.key);
+      if (this.name.indexOf("3DES") === 0) {
+        if (key.length() !== 24) {
+          throw new Error("Invalid Triple-DES key size: " + key.length() * 8);
+        }
       }
-      if (partialBytes > 0) {
-        input.read -= this.blockSize;
-      } else {
-        for (var i = 0; i < this._ints; ++i) {
-          this._inBlock[i] = this._outBlock[i];
+      this._keys = _createKeys(key);
+      this._init = true;
+    };
+    registerAlgorithm("DES-ECB", forge.cipher.modes.ecb);
+    registerAlgorithm("DES-CBC", forge.cipher.modes.cbc);
+    registerAlgorithm("DES-CFB", forge.cipher.modes.cfb);
+    registerAlgorithm("DES-OFB", forge.cipher.modes.ofb);
+    registerAlgorithm("DES-CTR", forge.cipher.modes.ctr);
+    registerAlgorithm("3DES-ECB", forge.cipher.modes.ecb);
+    registerAlgorithm("3DES-CBC", forge.cipher.modes.cbc);
+    registerAlgorithm("3DES-CFB", forge.cipher.modes.cfb);
+    registerAlgorithm("3DES-OFB", forge.cipher.modes.ofb);
+    registerAlgorithm("3DES-CTR", forge.cipher.modes.ctr);
+    function registerAlgorithm(name, mode) {
+      var factory = function() {
+        return new forge.des.Algorithm(name, mode);
+      };
+      forge.cipher.registerAlgorithm(name, factory);
+    }
+    var spfunction1 = [16843776, 0, 65536, 16843780, 16842756, 66564, 4, 65536, 1024, 16843776, 16843780, 1024, 16778244, 16842756, 16777216, 4, 1028, 16778240, 16778240, 66560, 66560, 16842752, 16842752, 16778244, 65540, 16777220, 16777220, 65540, 0, 1028, 66564, 16777216, 65536, 16843780, 4, 16842752, 16843776, 16777216, 16777216, 1024, 16842756, 65536, 66560, 16777220, 1024, 4, 16778244, 66564, 16843780, 65540, 16842752, 16778244, 16777220, 1028, 66564, 16843776, 1028, 16778240, 16778240, 0, 65540, 66560, 0, 16842756];
+    var spfunction2 = [-2146402272, -2147450880, 32768, 1081376, 1048576, 32, -2146435040, -2147450848, -2147483616, -2146402272, -2146402304, -2147483648, -2147450880, 1048576, 32, -2146435040, 1081344, 1048608, -2147450848, 0, -2147483648, 32768, 1081376, -2146435072, 1048608, -2147483616, 0, 1081344, 32800, -2146402304, -2146435072, 32800, 0, 1081376, -2146435040, 1048576, -2147450848, -2146435072, -2146402304, 32768, -2146435072, -2147450880, 32, -2146402272, 1081376, 32, 32768, -2147483648, 32800, -2146402304, 1048576, -2147483616, 1048608, -2147450848, -2147483616, 1048608, 1081344, 0, -2147450880, 32800, -2147483648, -2146435040, -2146402272, 1081344];
+    var spfunction3 = [520, 134349312, 0, 134348808, 134218240, 0, 131592, 134218240, 131080, 134217736, 134217736, 131072, 134349320, 131080, 134348800, 520, 134217728, 8, 134349312, 512, 131584, 134348800, 134348808, 131592, 134218248, 131584, 131072, 134218248, 8, 134349320, 512, 134217728, 134349312, 134217728, 131080, 520, 131072, 134349312, 134218240, 0, 512, 131080, 134349320, 134218240, 134217736, 512, 0, 134348808, 134218248, 131072, 134217728, 134349320, 8, 131592, 131584, 134217736, 134348800, 134218248, 520, 134348800, 131592, 8, 134348808, 131584];
+    var spfunction4 = [8396801, 8321, 8321, 128, 8396928, 8388737, 8388609, 8193, 0, 8396800, 8396800, 8396929, 129, 0, 8388736, 8388609, 1, 8192, 8388608, 8396801, 128, 8388608, 8193, 8320, 8388737, 1, 8320, 8388736, 8192, 8396928, 8396929, 129, 8388736, 8388609, 8396800, 8396929, 129, 0, 0, 8396800, 8320, 8388736, 8388737, 1, 8396801, 8321, 8321, 128, 8396929, 129, 1, 8192, 8388609, 8193, 8396928, 8388737, 8193, 8320, 8388608, 8396801, 128, 8388608, 8192, 8396928];
+    var spfunction5 = [256, 34078976, 34078720, 1107296512, 524288, 256, 1073741824, 34078720, 1074266368, 524288, 33554688, 1074266368, 1107296512, 1107820544, 524544, 1073741824, 33554432, 1074266112, 1074266112, 0, 1073742080, 1107820800, 1107820800, 33554688, 1107820544, 1073742080, 0, 1107296256, 34078976, 33554432, 1107296256, 524544, 524288, 1107296512, 256, 33554432, 1073741824, 34078720, 1107296512, 1074266368, 33554688, 1073741824, 1107820544, 34078976, 1074266368, 256, 33554432, 1107820544, 1107820800, 524544, 1107296256, 1107820800, 34078720, 0, 1074266112, 1107296256, 524544, 33554688, 1073742080, 524288, 0, 1074266112, 34078976, 1073742080];
+    var spfunction6 = [536870928, 541065216, 16384, 541081616, 541065216, 16, 541081616, 4194304, 536887296, 4210704, 4194304, 536870928, 4194320, 536887296, 536870912, 16400, 0, 4194320, 536887312, 16384, 4210688, 536887312, 16, 541065232, 541065232, 0, 4210704, 541081600, 16400, 4210688, 541081600, 536870912, 536887296, 16, 541065232, 4210688, 541081616, 4194304, 16400, 536870928, 4194304, 536887296, 536870912, 16400, 536870928, 541081616, 4210688, 541065216, 4210704, 541081600, 0, 541065232, 16, 16384, 541065216, 4210704, 16384, 4194320, 536887312, 0, 541081600, 536870912, 4194320, 536887312];
+    var spfunction7 = [2097152, 69206018, 67110914, 0, 2048, 67110914, 2099202, 69208064, 69208066, 2097152, 0, 67108866, 2, 67108864, 69206018, 2050, 67110912, 2099202, 2097154, 67110912, 67108866, 69206016, 69208064, 2097154, 69206016, 2048, 2050, 69208066, 2099200, 2, 67108864, 2099200, 67108864, 2099200, 2097152, 67110914, 67110914, 69206018, 69206018, 2, 2097154, 67108864, 67110912, 2097152, 69208064, 2050, 2099202, 69208064, 2050, 67108866, 69208066, 69206016, 2099200, 0, 2, 69208066, 0, 2099202, 69206016, 2048, 67108866, 67110912, 2048, 2097154];
+    var spfunction8 = [268439616, 4096, 262144, 268701760, 268435456, 268439616, 64, 268435456, 262208, 268697600, 268701760, 266240, 268701696, 266304, 4096, 64, 268697600, 268435520, 268439552, 4160, 266240, 262208, 268697664, 268701696, 4160, 0, 0, 268697664, 268435520, 268439552, 266304, 262144, 266304, 262144, 268701696, 4096, 64, 268697664, 4096, 266304, 268439552, 64, 268435520, 268697600, 268697664, 268435456, 262144, 268439616, 0, 268701760, 262208, 268435520, 268697600, 268439552, 268439616, 0, 268701760, 266240, 266240, 4160, 4160, 262208, 268435456, 268701696];
+    function _createKeys(key) {
+      var pc2bytes0 = [0, 4, 536870912, 536870916, 65536, 65540, 536936448, 536936452, 512, 516, 536871424, 536871428, 66048, 66052, 536936960, 536936964], pc2bytes1 = [0, 1, 1048576, 1048577, 67108864, 67108865, 68157440, 68157441, 256, 257, 1048832, 1048833, 67109120, 67109121, 68157696, 68157697], pc2bytes2 = [0, 8, 2048, 2056, 16777216, 16777224, 16779264, 16779272, 0, 8, 2048, 2056, 16777216, 16777224, 16779264, 16779272], pc2bytes3 = [0, 2097152, 134217728, 136314880, 8192, 2105344, 134225920, 136323072, 131072, 2228224, 134348800, 136445952, 139264, 2236416, 134356992, 136454144], pc2bytes4 = [0, 262144, 16, 262160, 0, 262144, 16, 262160, 4096, 266240, 4112, 266256, 4096, 266240, 4112, 266256], pc2bytes5 = [0, 1024, 32, 1056, 0, 1024, 32, 1056, 33554432, 33555456, 33554464, 33555488, 33554432, 33555456, 33554464, 33555488], pc2bytes6 = [0, 268435456, 524288, 268959744, 2, 268435458, 524290, 268959746, 0, 268435456, 524288, 268959744, 2, 268435458, 524290, 268959746], pc2bytes7 = [0, 65536, 2048, 67584, 536870912, 536936448, 536872960, 536938496, 131072, 196608, 133120, 198656, 537001984, 537067520, 537004032, 537069568], pc2bytes8 = [0, 262144, 0, 262144, 2, 262146, 2, 262146, 33554432, 33816576, 33554432, 33816576, 33554434, 33816578, 33554434, 33816578], pc2bytes9 = [0, 268435456, 8, 268435464, 0, 268435456, 8, 268435464, 1024, 268436480, 1032, 268436488, 1024, 268436480, 1032, 268436488], pc2bytes10 = [0, 32, 0, 32, 1048576, 1048608, 1048576, 1048608, 8192, 8224, 8192, 8224, 1056768, 1056800, 1056768, 1056800], pc2bytes11 = [0, 16777216, 512, 16777728, 2097152, 18874368, 2097664, 18874880, 67108864, 83886080, 67109376, 83886592, 69206016, 85983232, 69206528, 85983744], pc2bytes12 = [0, 4096, 134217728, 134221824, 524288, 528384, 134742016, 134746112, 16, 4112, 134217744, 134221840, 524304, 528400, 134742032, 134746128], pc2bytes13 = [0, 4, 256, 260, 0, 4, 256, 260, 1, 5, 257, 261, 1, 5, 257, 261];
+      var iterations = key.length() > 8 ? 3 : 1;
+      var keys = [];
+      var shifts = [0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0];
+      var n = 0, tmp;
+      for (var j = 0; j < iterations; j++) {
+        var left = key.getInt32();
+        var right = key.getInt32();
+        tmp = (left >>> 4 ^ right) & 252645135;
+        right ^= tmp;
+        left ^= tmp << 4;
+        tmp = (right >>> -16 ^ left) & 65535;
+        left ^= tmp;
+        right ^= tmp << -16;
+        tmp = (left >>> 2 ^ right) & 858993459;
+        right ^= tmp;
+        left ^= tmp << 2;
+        tmp = (right >>> -16 ^ left) & 65535;
+        left ^= tmp;
+        right ^= tmp << -16;
+        tmp = (left >>> 1 ^ right) & 1431655765;
+        right ^= tmp;
+        left ^= tmp << 1;
+        tmp = (right >>> 8 ^ left) & 16711935;
+        left ^= tmp;
+        right ^= tmp << 8;
+        tmp = (left >>> 1 ^ right) & 1431655765;
+        right ^= tmp;
+        left ^= tmp << 1;
+        tmp = left << 8 | right >>> 20 & 240;
+        left = right << 24 | right << 8 & 16711680 | right >>> 8 & 65280 | right >>> 24 & 240;
+        right = tmp;
+        for (var i = 0; i < shifts.length; ++i) {
+          if (shifts[i]) {
+            left = left << 2 | left >>> 26;
+            right = right << 2 | right >>> 26;
+          } else {
+            left = left << 1 | left >>> 27;
+            right = right << 1 | right >>> 27;
+          }
+          left &= -15;
+          right &= -15;
+          var lefttmp = pc2bytes0[left >>> 28] | pc2bytes1[left >>> 24 & 15] | pc2bytes2[left >>> 20 & 15] | pc2bytes3[left >>> 16 & 15] | pc2bytes4[left >>> 12 & 15] | pc2bytes5[left >>> 8 & 15] | pc2bytes6[left >>> 4 & 15];
+          var righttmp = pc2bytes7[right >>> 28] | pc2bytes8[right >>> 24 & 15] | pc2bytes9[right >>> 20 & 15] | pc2bytes10[right >>> 16 & 15] | pc2bytes11[right >>> 12 & 15] | pc2bytes12[right >>> 8 & 15] | pc2bytes13[right >>> 4 & 15];
+          tmp = (righttmp >>> 16 ^ lefttmp) & 65535;
+          keys[n++] = lefttmp ^ tmp;
+          keys[n++] = righttmp ^ tmp << 16;
         }
       }
-      if (this._partialBytes > 0) {
-        this._partialOutput.getBytes(this._partialBytes);
+      return keys;
+    }
+    function _updateBlock(keys, input, output, decrypt) {
+      var iterations = keys.length === 32 ? 3 : 9;
+      var looping;
+      if (iterations === 3) {
+        looping = decrypt ? [30, -2, -2] : [0, 32, 2];
+      } else {
+        looping = decrypt ? [94, 62, -2, 32, 64, 2, 30, -2, -2] : [0, 32, 2, 62, 30, -2, 64, 96, 2];
       }
-      if (partialBytes > 0 && !finish) {
-        output.putBytes(this._partialOutput.getBytes(
-          partialBytes - this._partialBytes
-        ));
-        this._partialBytes = partialBytes;
-        return true;
+      var tmp;
+      var left = input[0];
+      var right = input[1];
+      tmp = (left >>> 4 ^ right) & 252645135;
+      right ^= tmp;
+      left ^= tmp << 4;
+      tmp = (left >>> 16 ^ right) & 65535;
+      right ^= tmp;
+      left ^= tmp << 16;
+      tmp = (right >>> 2 ^ left) & 858993459;
+      left ^= tmp;
+      right ^= tmp << 2;
+      tmp = (right >>> 8 ^ left) & 16711935;
+      left ^= tmp;
+      right ^= tmp << 8;
+      tmp = (left >>> 1 ^ right) & 1431655765;
+      right ^= tmp;
+      left ^= tmp << 1;
+      left = left << 1 | left >>> 31;
+      right = right << 1 | right >>> 31;
+      for (var j = 0; j < iterations; j += 3) {
+        var endloop = looping[j + 1];
+        var loopinc = looping[j + 2];
+        for (var i = looping[j]; i != endloop; i += loopinc) {
+          var right1 = right ^ keys[i];
+          var right2 = (right >>> 4 | right << 28) ^ keys[i + 1];
+          tmp = left;
+          left = right;
+          right = tmp ^ (spfunction2[right1 >>> 24 & 63] | spfunction4[right1 >>> 16 & 63] | spfunction6[right1 >>> 8 & 63] | spfunction8[right1 & 63] | spfunction1[right2 >>> 24 & 63] | spfunction3[right2 >>> 16 & 63] | spfunction5[right2 >>> 8 & 63] | spfunction7[right2 & 63]);
+        }
+        tmp = left;
+        left = right;
+        right = tmp;
       }
-      output.putBytes(this._partialOutput.getBytes(
-        inputLength - this._partialBytes
-      ));
-      this._partialBytes = 0;
-    };
-    modes.ofb.prototype.decrypt = modes.ofb.prototype.encrypt;
-    modes.ctr = function(options) {
+      left = left >>> 1 | left << 31;
+      right = right >>> 1 | right << 31;
+      tmp = (left >>> 1 ^ right) & 1431655765;
+      right ^= tmp;
+      left ^= tmp << 1;
+      tmp = (right >>> 8 ^ left) & 16711935;
+      left ^= tmp;
+      right ^= tmp << 8;
+      tmp = (right >>> 2 ^ left) & 858993459;
+      left ^= tmp;
+      right ^= tmp << 2;
+      tmp = (left >>> 16 ^ right) & 65535;
+      right ^= tmp;
+      left ^= tmp << 16;
+      tmp = (left >>> 4 ^ right) & 252645135;
+      right ^= tmp;
+      left ^= tmp << 4;
+      output[0] = left;
+      output[1] = right;
+    }
+    function _createCipher(options) {
       options = options || {};
-      this.name = "CTR";
-      this.cipher = options.cipher;
-      this.blockSize = options.blockSize || 16;
-      this._ints = this.blockSize / 4;
-      this._inBlock = null;
-      this._outBlock = new Array(this._ints);
-      this._partialOutput = forge.util.createBuffer();
-      this._partialBytes = 0;
-    };
-    modes.ctr.prototype.start = function(options) {
-      if (!("iv" in options)) {
-        throw new Error("Invalid IV parameter.");
-      }
-      this._iv = transformIV(options.iv, this.blockSize);
-      this._inBlock = this._iv.slice(0);
-      this._partialBytes = 0;
-    };
-    modes.ctr.prototype.encrypt = function(input, output, finish) {
-      var inputLength = input.length();
-      if (inputLength === 0) {
-        return true;
+      var mode = (options.mode || "CBC").toUpperCase();
+      var algorithm = "DES-" + mode;
+      var cipher;
+      if (options.decrypt) {
+        cipher = forge.cipher.createDecipher(algorithm, options.key);
+      } else {
+        cipher = forge.cipher.createCipher(algorithm, options.key);
       }
-      this.cipher.encrypt(this._inBlock, this._outBlock);
-      if (this._partialBytes === 0 && inputLength >= this.blockSize) {
-        for (var i = 0; i < this._ints; ++i) {
-          output.putInt32(input.getInt32() ^ this._outBlock[i]);
+      var start = cipher.start;
+      cipher.start = function(iv, options2) {
+        var output = null;
+        if (options2 instanceof forge.util.ByteBuffer) {
+          output = options2;
+          options2 = {};
         }
-      } else {
-        var partialBytes = (this.blockSize - inputLength) % this.blockSize;
-        if (partialBytes > 0) {
-          partialBytes = this.blockSize - partialBytes;
+        options2 = options2 || {};
+        options2.output = output;
+        options2.iv = iv;
+        start.call(cipher, options2);
+      };
+      return cipher;
+    }
+  }
+});
+
+// node_modules/node-forge/lib/pbkdf2.js
+var require_pbkdf2 = __commonJS({
+  "node_modules/node-forge/lib/pbkdf2.js"(exports2, module2) {
+    var forge = require_forge();
+    require_hmac();
+    require_md();
+    require_util9();
+    var pkcs5 = forge.pkcs5 = forge.pkcs5 || {};
+    var crypto2;
+    if (forge.util.isNodejs && !forge.options.usePureJavaScript) {
+      crypto2 = require("crypto");
+    }
+    module2.exports = forge.pbkdf2 = pkcs5.pbkdf2 = function(p, s, c, dkLen, md, callback) {
+      if (typeof md === "function") {
+        callback = md;
+        md = null;
+      }
+      if (forge.util.isNodejs && !forge.options.usePureJavaScript && crypto2.pbkdf2 && (md === null || typeof md !== "object") && (crypto2.pbkdf2Sync.length > 4 || (!md || md === "sha1"))) {
+        if (typeof md !== "string") {
+          md = "sha1";
         }
-        this._partialOutput.clear();
-        for (var i = 0; i < this._ints; ++i) {
-          this._partialOutput.putInt32(input.getInt32() ^ this._outBlock[i]);
+        p = Buffer.from(p, "binary");
+        s = Buffer.from(s, "binary");
+        if (!callback) {
+          if (crypto2.pbkdf2Sync.length === 4) {
+            return crypto2.pbkdf2Sync(p, s, c, dkLen).toString("binary");
+          }
+          return crypto2.pbkdf2Sync(p, s, c, dkLen, md).toString("binary");
         }
-        if (partialBytes > 0) {
-          input.read -= this.blockSize;
+        if (crypto2.pbkdf2Sync.length === 4) {
+          return crypto2.pbkdf2(p, s, c, dkLen, function(err2, key) {
+            if (err2) {
+              return callback(err2);
+            }
+            callback(null, key.toString("binary"));
+          });
         }
-        if (this._partialBytes > 0) {
-          this._partialOutput.getBytes(this._partialBytes);
-        }
-        if (partialBytes > 0 && !finish) {
-          output.putBytes(this._partialOutput.getBytes(
-            partialBytes - this._partialBytes
-          ));
-          this._partialBytes = partialBytes;
-          return true;
-        }
-        output.putBytes(this._partialOutput.getBytes(
-          inputLength - this._partialBytes
-        ));
-        this._partialBytes = 0;
-      }
-      inc32(this._inBlock);
-    };
-    modes.ctr.prototype.decrypt = modes.ctr.prototype.encrypt;
-    modes.gcm = function(options) {
-      options = options || {};
-      this.name = "GCM";
-      this.cipher = options.cipher;
-      this.blockSize = options.blockSize || 16;
-      this._ints = this.blockSize / 4;
-      this._inBlock = new Array(this._ints);
-      this._outBlock = new Array(this._ints);
-      this._partialOutput = forge.util.createBuffer();
-      this._partialBytes = 0;
-      this._R = 3774873600;
-    };
-    modes.gcm.prototype.start = function(options) {
-      if (!("iv" in options)) {
-        throw new Error("Invalid IV parameter.");
-      }
-      var iv = forge.util.createBuffer(options.iv);
-      this._cipherLength = 0;
-      var additionalData;
-      if ("additionalData" in options) {
-        additionalData = forge.util.createBuffer(options.additionalData);
-      } else {
-        additionalData = forge.util.createBuffer();
+        return crypto2.pbkdf2(p, s, c, dkLen, md, function(err2, key) {
+          if (err2) {
+            return callback(err2);
+          }
+          callback(null, key.toString("binary"));
+        });
       }
-      if ("tagLength" in options) {
-        this._tagLength = options.tagLength;
-      } else {
-        this._tagLength = 128;
+      if (typeof md === "undefined" || md === null) {
+        md = "sha1";
       }
-      this._tag = null;
-      if (options.decrypt) {
-        this._tag = forge.util.createBuffer(options.tag).getBytes();
-        if (this._tag.length !== this._tagLength / 8) {
-          throw new Error("Authentication tag does not match tag length.");
+      if (typeof md === "string") {
+        if (!(md in forge.md.algorithms)) {
+          throw new Error("Unknown hash algorithm: " + md);
         }
+        md = forge.md[md].create();
       }
-      this._hashBlock = new Array(this._ints);
-      this.tag = null;
-      this._hashSubkey = new Array(this._ints);
-      this.cipher.encrypt([0, 0, 0, 0], this._hashSubkey);
-      this.componentBits = 4;
-      this._m = this.generateHashTable(this._hashSubkey, this.componentBits);
-      var ivLength = iv.length();
-      if (ivLength === 12) {
-        this._j0 = [iv.getInt32(), iv.getInt32(), iv.getInt32(), 1];
-      } else {
-        this._j0 = [0, 0, 0, 0];
-        while (iv.length() > 0) {
-          this._j0 = this.ghash(
-            this._hashSubkey,
-            this._j0,
-            [iv.getInt32(), iv.getInt32(), iv.getInt32(), iv.getInt32()]
-          );
+      var hLen = md.digestLength;
+      if (dkLen > 4294967295 * hLen) {
+        var err = new Error("Derived key is too long.");
+        if (callback) {
+          return callback(err);
         }
-        this._j0 = this.ghash(
-          this._hashSubkey,
-          this._j0,
-          [0, 0].concat(from64To32(ivLength * 8))
-        );
-      }
-      this._inBlock = this._j0.slice(0);
-      inc32(this._inBlock);
-      this._partialBytes = 0;
-      additionalData = forge.util.createBuffer(additionalData);
-      this._aDataLength = from64To32(additionalData.length() * 8);
-      var overflow = additionalData.length() % this.blockSize;
-      if (overflow) {
-        additionalData.fillWithByte(0, this.blockSize - overflow);
-      }
-      this._s = [0, 0, 0, 0];
-      while (additionalData.length() > 0) {
-        this._s = this.ghash(this._hashSubkey, this._s, [
-          additionalData.getInt32(),
-          additionalData.getInt32(),
-          additionalData.getInt32(),
-          additionalData.getInt32()
-        ]);
-      }
-    };
-    modes.gcm.prototype.encrypt = function(input, output, finish) {
-      var inputLength = input.length();
-      if (inputLength === 0) {
-        return true;
+        throw err;
       }
-      this.cipher.encrypt(this._inBlock, this._outBlock);
-      if (this._partialBytes === 0 && inputLength >= this.blockSize) {
-        for (var i = 0; i < this._ints; ++i) {
-          output.putInt32(this._outBlock[i] ^= input.getInt32());
-        }
-        this._cipherLength += this.blockSize;
-      } else {
-        var partialBytes = (this.blockSize - inputLength) % this.blockSize;
-        if (partialBytes > 0) {
-          partialBytes = this.blockSize - partialBytes;
-        }
-        this._partialOutput.clear();
-        for (var i = 0; i < this._ints; ++i) {
-          this._partialOutput.putInt32(input.getInt32() ^ this._outBlock[i]);
-        }
-        if (partialBytes <= 0 || finish) {
-          if (finish) {
-            var overflow = inputLength % this.blockSize;
-            this._cipherLength += overflow;
-            this._partialOutput.truncate(this.blockSize - overflow);
-          } else {
-            this._cipherLength += this.blockSize;
-          }
-          for (var i = 0; i < this._ints; ++i) {
-            this._outBlock[i] = this._partialOutput.getInt32();
+      var len = Math.ceil(dkLen / hLen);
+      var r = dkLen - (len - 1) * hLen;
+      var prf = forge.hmac.create();
+      prf.start(md, p);
+      var dk = "";
+      var xor, u_c, u_c1;
+      if (!callback) {
+        for (var i = 1; i <= len; ++i) {
+          prf.start(null, null);
+          prf.update(s);
+          prf.update(forge.util.int32ToBytes(i));
+          xor = u_c1 = prf.digest().getBytes();
+          for (var j = 2; j <= c; ++j) {
+            prf.start(null, null);
+            prf.update(u_c1);
+            u_c = prf.digest().getBytes();
+            xor = forge.util.xorBytes(xor, u_c, hLen);
+            u_c1 = u_c;
           }
-          this._partialOutput.read -= this.blockSize;
-        }
-        if (this._partialBytes > 0) {
-          this._partialOutput.getBytes(this._partialBytes);
-        }
-        if (partialBytes > 0 && !finish) {
-          input.read -= this.blockSize;
-          output.putBytes(this._partialOutput.getBytes(
-            partialBytes - this._partialBytes
-          ));
-          this._partialBytes = partialBytes;
-          return true;
+          dk += i < len ? xor : xor.substr(0, r);
         }
-        output.putBytes(this._partialOutput.getBytes(
-          inputLength - this._partialBytes
-        ));
-        this._partialBytes = 0;
-      }
-      this._s = this.ghash(this._hashSubkey, this._s, this._outBlock);
-      inc32(this._inBlock);
-    };
-    modes.gcm.prototype.decrypt = function(input, output, finish) {
-      var inputLength = input.length();
-      if (inputLength < this.blockSize && !(finish && inputLength > 0)) {
-        return true;
-      }
-      this.cipher.encrypt(this._inBlock, this._outBlock);
-      inc32(this._inBlock);
-      this._hashBlock[0] = input.getInt32();
-      this._hashBlock[1] = input.getInt32();
-      this._hashBlock[2] = input.getInt32();
-      this._hashBlock[3] = input.getInt32();
-      this._s = this.ghash(this._hashSubkey, this._s, this._hashBlock);
-      for (var i = 0; i < this._ints; ++i) {
-        output.putInt32(this._outBlock[i] ^ this._hashBlock[i]);
-      }
-      if (inputLength < this.blockSize) {
-        this._cipherLength += inputLength % this.blockSize;
-      } else {
-        this._cipherLength += this.blockSize;
-      }
-    };
-    modes.gcm.prototype.afterFinish = function(output, options) {
-      var rval = true;
-      if (options.decrypt && options.overflow) {
-        output.truncate(this.blockSize - options.overflow);
-      }
-      this.tag = forge.util.createBuffer();
-      var lengths = this._aDataLength.concat(from64To32(this._cipherLength * 8));
-      this._s = this.ghash(this._hashSubkey, this._s, lengths);
-      var tag = [];
-      this.cipher.encrypt(this._j0, tag);
-      for (var i = 0; i < this._ints; ++i) {
-        this.tag.putInt32(this._s[i] ^ tag[i]);
-      }
-      this.tag.truncate(this.tag.length() % (this._tagLength / 8));
-      if (options.decrypt && this.tag.bytes() !== this._tag) {
-        rval = false;
+        return dk;
       }
-      return rval;
-    };
-    modes.gcm.prototype.multiply = function(x, y) {
-      var z_i = [0, 0, 0, 0];
-      var v_i = y.slice(0);
-      for (var i = 0; i < 128; ++i) {
-        var x_i = x[i / 32 | 0] & 1 << 31 - i % 32;
-        if (x_i) {
-          z_i[0] ^= v_i[0];
-          z_i[1] ^= v_i[1];
-          z_i[2] ^= v_i[2];
-          z_i[3] ^= v_i[3];
+      var i = 1, j;
+      function outer() {
+        if (i > len) {
+          return callback(null, dk);
         }
-        this.pow(v_i, v_i);
-      }
-      return z_i;
-    };
-    modes.gcm.prototype.pow = function(x, out) {
-      var lsb = x[3] & 1;
-      for (var i = 3; i > 0; --i) {
-        out[i] = x[i] >>> 1 | (x[i - 1] & 1) << 31;
-      }
-      out[0] = x[0] >>> 1;
-      if (lsb) {
-        out[0] ^= this._R;
-      }
-    };
-    modes.gcm.prototype.tableMultiply = function(x) {
-      var z = [0, 0, 0, 0];
-      for (var i = 0; i < 32; ++i) {
-        var idx = i / 8 | 0;
-        var x_i = x[idx] >>> (7 - i % 8) * 4 & 15;
-        var ah = this._m[i][x_i];
-        z[0] ^= ah[0];
-        z[1] ^= ah[1];
-        z[2] ^= ah[2];
-        z[3] ^= ah[3];
-      }
-      return z;
-    };
-    modes.gcm.prototype.ghash = function(h, y, x) {
-      y[0] ^= x[0];
-      y[1] ^= x[1];
-      y[2] ^= x[2];
-      y[3] ^= x[3];
-      return this.tableMultiply(y);
-    };
-    modes.gcm.prototype.generateHashTable = function(h, bits) {
-      var multiplier = 8 / bits;
-      var perInt = 4 * multiplier;
-      var size = 16 * multiplier;
-      var m = new Array(size);
-      for (var i = 0; i < size; ++i) {
-        var tmp = [0, 0, 0, 0];
-        var idx = i / perInt | 0;
-        var shft = (perInt - 1 - i % perInt) * bits;
-        tmp[idx] = 1 << bits - 1 << shft;
-        m[i] = this.generateSubHashTable(this.multiply(tmp, h), bits);
-      }
-      return m;
-    };
-    modes.gcm.prototype.generateSubHashTable = function(mid, bits) {
-      var size = 1 << bits;
-      var half = size >>> 1;
-      var m = new Array(size);
-      m[half] = mid.slice(0);
-      var i = half >>> 1;
-      while (i > 0) {
-        this.pow(m[2 * i], m[i] = []);
-        i >>= 1;
+        prf.start(null, null);
+        prf.update(s);
+        prf.update(forge.util.int32ToBytes(i));
+        xor = u_c1 = prf.digest().getBytes();
+        j = 2;
+        inner();
       }
-      i = 2;
-      while (i < half) {
-        for (var j = 1; j < i; ++j) {
-          var m_i = m[i];
-          var m_j = m[j];
-          m[i + j] = [
-            m_i[0] ^ m_j[0],
-            m_i[1] ^ m_j[1],
-            m_i[2] ^ m_j[2],
-            m_i[3] ^ m_j[3]
-          ];
+      function inner() {
+        if (j <= c) {
+          prf.start(null, null);
+          prf.update(u_c1);
+          u_c = prf.digest().getBytes();
+          xor = forge.util.xorBytes(xor, u_c, hLen);
+          u_c1 = u_c;
+          ++j;
+          return forge.util.setImmediate(inner);
         }
-        i *= 2;
-      }
-      m[0] = [0, 0, 0, 0];
-      for (i = half + 1; i < size; ++i) {
-        var c = m[i ^ half];
-        m[i] = [mid[0] ^ c[0], mid[1] ^ c[1], mid[2] ^ c[2], mid[3] ^ c[3]];
+        dk += i < len ? xor : xor.substr(0, r);
+        ++i;
+        outer();
       }
-      return m;
+      outer();
     };
-    function transformIV(iv, blockSize) {
-      if (typeof iv === "string") {
-        iv = forge.util.createBuffer(iv);
-      }
-      if (forge.util.isArray(iv) && iv.length > 4) {
-        var tmp = iv;
-        iv = forge.util.createBuffer();
-        for (var i = 0; i < tmp.length; ++i) {
-          iv.putByte(tmp[i]);
-        }
-      }
-      if (iv.length() < blockSize) {
-        throw new Error(
-          "Invalid IV length; got " + iv.length() + " bytes and expected " + blockSize + " bytes."
-        );
-      }
-      if (!forge.util.isArray(iv)) {
-        var ints = [];
-        var blocks = blockSize / 4;
-        for (var i = 0; i < blocks; ++i) {
-          ints.push(iv.getInt32());
-        }
-        iv = ints;
-      }
-      return iv;
-    }
-    function inc32(block) {
-      block[block.length - 1] = block[block.length - 1] + 1 & 4294967295;
-    }
-    function from64To32(num) {
-      return [num / 4294967296 | 0, num & 4294967295];
-    }
   }
 });
 
-// node_modules/node-forge/lib/aes.js
-var require_aes = __commonJS({
-  "node_modules/node-forge/lib/aes.js"(exports2, module2) {
+// node_modules/node-forge/lib/sha256.js
+var require_sha256 = __commonJS({
+  "node_modules/node-forge/lib/sha256.js"(exports2, module2) {
     var forge = require_forge();
-    require_cipher();
-    require_cipherModes();
+    require_md();
     require_util9();
-    module2.exports = forge.aes = forge.aes || {};
-    forge.aes.startEncrypting = function(key, iv, output, mode) {
-      var cipher = _createCipher({
-        key,
-        output,
-        decrypt: false,
-        mode
-      });
-      cipher.start(iv);
-      return cipher;
-    };
-    forge.aes.createEncryptionCipher = function(key, mode) {
-      return _createCipher({
-        key,
-        output: null,
-        decrypt: false,
-        mode
-      });
-    };
-    forge.aes.startDecrypting = function(key, iv, output, mode) {
-      var cipher = _createCipher({
-        key,
-        output,
-        decrypt: true,
-        mode
-      });
-      cipher.start(iv);
-      return cipher;
-    };
-    forge.aes.createDecryptionCipher = function(key, mode) {
-      return _createCipher({
-        key,
-        output: null,
-        decrypt: true,
-        mode
-      });
-    };
-    forge.aes.Algorithm = function(name, mode) {
-      if (!init) {
-        initialize();
+    var sha256 = module2.exports = forge.sha256 = forge.sha256 || {};
+    forge.md.sha256 = forge.md.algorithms.sha256 = sha256;
+    sha256.create = function() {
+      if (!_initialized) {
+        _init();
       }
-      var self2 = this;
-      self2.name = name;
-      self2.mode = new mode({
-        blockSize: 16,
-        cipher: {
-          encrypt: function(inBlock, outBlock) {
-            return _updateBlock(self2._w, inBlock, outBlock, false);
-          },
-          decrypt: function(inBlock, outBlock) {
-            return _updateBlock(self2._w, inBlock, outBlock, true);
-          }
+      var _state = null;
+      var _input = forge.util.createBuffer();
+      var _w = new Array(64);
+      var md = {
+        algorithm: "sha256",
+        blockLength: 64,
+        digestLength: 32,
+        // 56-bit length of message so far (does not including padding)
+        messageLength: 0,
+        // true message length
+        fullMessageLength: null,
+        // size of message length in bytes
+        messageLengthSize: 8
+      };
+      md.start = function() {
+        md.messageLength = 0;
+        md.fullMessageLength = md.messageLength64 = [];
+        var int32s = md.messageLengthSize / 4;
+        for (var i = 0; i < int32s; ++i) {
+          md.fullMessageLength.push(0);
         }
-      });
-      self2._init = false;
-    };
-    forge.aes.Algorithm.prototype.initialize = function(options) {
-      if (this._init) {
-        return;
-      }
-      var key = options.key;
-      var tmp;
-      if (typeof key === "string" && (key.length === 16 || key.length === 24 || key.length === 32)) {
-        key = forge.util.createBuffer(key);
-      } else if (forge.util.isArray(key) && (key.length === 16 || key.length === 24 || key.length === 32)) {
-        tmp = key;
-        key = forge.util.createBuffer();
-        for (var i = 0; i < tmp.length; ++i) {
-          key.putByte(tmp[i]);
+        _input = forge.util.createBuffer();
+        _state = {
+          h0: 1779033703,
+          h1: 3144134277,
+          h2: 1013904242,
+          h3: 2773480762,
+          h4: 1359893119,
+          h5: 2600822924,
+          h6: 528734635,
+          h7: 1541459225
+        };
+        return md;
+      };
+      md.start();
+      md.update = function(msg, encoding) {
+        if (encoding === "utf8") {
+          msg = forge.util.encodeUtf8(msg);
         }
-      }
-      if (!forge.util.isArray(key)) {
-        tmp = key;
-        key = [];
-        var len = tmp.length();
-        if (len === 16 || len === 24 || len === 32) {
-          len = len >>> 2;
-          for (var i = 0; i < len; ++i) {
-            key.push(tmp.getInt32());
-          }
+        var len = msg.length;
+        md.messageLength += len;
+        len = [len / 4294967296 >>> 0, len >>> 0];
+        for (var i = md.fullMessageLength.length - 1; i >= 0; --i) {
+          md.fullMessageLength[i] += len[1];
+          len[1] = len[0] + (md.fullMessageLength[i] / 4294967296 >>> 0);
+          md.fullMessageLength[i] = md.fullMessageLength[i] >>> 0;
+          len[0] = len[1] / 4294967296 >>> 0;
         }
-      }
-      if (!forge.util.isArray(key) || !(key.length === 4 || key.length === 6 || key.length === 8)) {
-        throw new Error("Invalid key parameter.");
-      }
-      var mode = this.mode.name;
-      var encryptOp = ["CFB", "OFB", "CTR", "GCM"].indexOf(mode) !== -1;
-      this._w = _expandKey(key, options.decrypt && !encryptOp);
-      this._init = true;
-    };
-    forge.aes._expandKey = function(key, decrypt) {
-      if (!init) {
-        initialize();
-      }
-      return _expandKey(key, decrypt);
-    };
-    forge.aes._updateBlock = _updateBlock;
-    registerAlgorithm("AES-ECB", forge.cipher.modes.ecb);
-    registerAlgorithm("AES-CBC", forge.cipher.modes.cbc);
-    registerAlgorithm("AES-CFB", forge.cipher.modes.cfb);
-    registerAlgorithm("AES-OFB", forge.cipher.modes.ofb);
-    registerAlgorithm("AES-CTR", forge.cipher.modes.ctr);
-    registerAlgorithm("AES-GCM", forge.cipher.modes.gcm);
-    function registerAlgorithm(name, mode) {
-      var factory = function() {
-        return new forge.aes.Algorithm(name, mode);
+        _input.putBytes(msg);
+        _update(_state, _w, _input);
+        if (_input.read > 2048 || _input.length() === 0) {
+          _input.compact();
+        }
+        return md;
       };
-      forge.cipher.registerAlgorithm(name, factory);
+      md.digest = function() {
+        var finalBlock = forge.util.createBuffer();
+        finalBlock.putBytes(_input.bytes());
+        var remaining = md.fullMessageLength[md.fullMessageLength.length - 1] + md.messageLengthSize;
+        var overflow = remaining & md.blockLength - 1;
+        finalBlock.putBytes(_padding.substr(0, md.blockLength - overflow));
+        var next, carry;
+        var bits = md.fullMessageLength[0] * 8;
+        for (var i = 0; i < md.fullMessageLength.length - 1; ++i) {
+          next = md.fullMessageLength[i + 1] * 8;
+          carry = next / 4294967296 >>> 0;
+          bits += carry;
+          finalBlock.putInt32(bits >>> 0);
+          bits = next >>> 0;
+        }
+        finalBlock.putInt32(bits);
+        var s2 = {
+          h0: _state.h0,
+          h1: _state.h1,
+          h2: _state.h2,
+          h3: _state.h3,
+          h4: _state.h4,
+          h5: _state.h5,
+          h6: _state.h6,
+          h7: _state.h7
+        };
+        _update(s2, _w, finalBlock);
+        var rval = forge.util.createBuffer();
+        rval.putInt32(s2.h0);
+        rval.putInt32(s2.h1);
+        rval.putInt32(s2.h2);
+        rval.putInt32(s2.h3);
+        rval.putInt32(s2.h4);
+        rval.putInt32(s2.h5);
+        rval.putInt32(s2.h6);
+        rval.putInt32(s2.h7);
+        return rval;
+      };
+      return md;
+    };
+    var _padding = null;
+    var _initialized = false;
+    var _k = null;
+    function _init() {
+      _padding = String.fromCharCode(128);
+      _padding += forge.util.fillString(String.fromCharCode(0), 64);
+      _k = [
+        1116352408,
+        1899447441,
+        3049323471,
+        3921009573,
+        961987163,
+        1508970993,
+        2453635748,
+        2870763221,
+        3624381080,
+        310598401,
+        607225278,
+        1426881987,
+        1925078388,
+        2162078206,
+        2614888103,
+        3248222580,
+        3835390401,
+        4022224774,
+        264347078,
+        604807628,
+        770255983,
+        1249150122,
+        1555081692,
+        1996064986,
+        2554220882,
+        2821834349,
+        2952996808,
+        3210313671,
+        3336571891,
+        3584528711,
+        113926993,
+        338241895,
+        666307205,
+        773529912,
+        1294757372,
+        1396182291,
+        1695183700,
+        1986661051,
+        2177026350,
+        2456956037,
+        2730485921,
+        2820302411,
+        3259730800,
+        3345764771,
+        3516065817,
+        3600352804,
+        4094571909,
+        275423344,
+        430227734,
+        506948616,
+        659060556,
+        883997877,
+        958139571,
+        1322822218,
+        1537002063,
+        1747873779,
+        1955562222,
+        2024104815,
+        2227730452,
+        2361852424,
+        2428436474,
+        2756734187,
+        3204031479,
+        3329325298
+      ];
+      _initialized = true;
     }
-    var init = false;
-    var Nb = 4;
-    var sbox;
-    var isbox;
-    var rcon;
-    var mix;
-    var imix;
-    function initialize() {
-      init = true;
-      rcon = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54];
-      var xtime = new Array(256);
-      for (var i = 0; i < 128; ++i) {
-        xtime[i] = i << 1;
-        xtime[i + 128] = i + 128 << 1 ^ 283;
+    function _update(s, w, bytes) {
+      var t1, t2, s0, s1, ch, maj, i, a, b, c, d, e, f, g, h;
+      var len = bytes.length();
+      while (len >= 64) {
+        for (i = 0; i < 16; ++i) {
+          w[i] = bytes.getInt32();
+        }
+        for (; i < 64; ++i) {
+          t1 = w[i - 2];
+          t1 = (t1 >>> 17 | t1 << 15) ^ (t1 >>> 19 | t1 << 13) ^ t1 >>> 10;
+          t2 = w[i - 15];
+          t2 = (t2 >>> 7 | t2 << 25) ^ (t2 >>> 18 | t2 << 14) ^ t2 >>> 3;
+          w[i] = t1 + w[i - 7] + t2 + w[i - 16] | 0;
+        }
+        a = s.h0;
+        b = s.h1;
+        c = s.h2;
+        d = s.h3;
+        e = s.h4;
+        f = s.h5;
+        g = s.h6;
+        h = s.h7;
+        for (i = 0; i < 64; ++i) {
+          s1 = (e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7);
+          ch = g ^ e & (f ^ g);
+          s0 = (a >>> 2 | a << 30) ^ (a >>> 13 | a << 19) ^ (a >>> 22 | a << 10);
+          maj = a & b | c & (a ^ b);
+          t1 = h + s1 + ch + _k[i] + w[i];
+          t2 = s0 + maj;
+          h = g;
+          g = f;
+          f = e;
+          e = d + t1 >>> 0;
+          d = c;
+          c = b;
+          b = a;
+          a = t1 + t2 >>> 0;
+        }
+        s.h0 = s.h0 + a | 0;
+        s.h1 = s.h1 + b | 0;
+        s.h2 = s.h2 + c | 0;
+        s.h3 = s.h3 + d | 0;
+        s.h4 = s.h4 + e | 0;
+        s.h5 = s.h5 + f | 0;
+        s.h6 = s.h6 + g | 0;
+        s.h7 = s.h7 + h | 0;
+        len -= 64;
       }
-      sbox = new Array(256);
-      isbox = new Array(256);
-      mix = new Array(4);
-      imix = new Array(4);
-      for (var i = 0; i < 4; ++i) {
-        mix[i] = new Array(256);
-        imix[i] = new Array(256);
+    }
+  }
+});
+
+// node_modules/node-forge/lib/prng.js
+var require_prng = __commonJS({
+  "node_modules/node-forge/lib/prng.js"(exports2, module2) {
+    var forge = require_forge();
+    require_util9();
+    var _crypto = null;
+    if (forge.util.isNodejs && !forge.options.usePureJavaScript && !process.versions["node-webkit"]) {
+      _crypto = require("crypto");
+    }
+    var prng = module2.exports = forge.prng = forge.prng || {};
+    prng.create = function(plugin) {
+      var ctx = {
+        plugin,
+        key: null,
+        seed: null,
+        time: null,
+        // number of reseeds so far
+        reseeds: 0,
+        // amount of data generated so far
+        generated: 0,
+        // no initial key bytes
+        keyBytes: ""
+      };
+      var md = plugin.md;
+      var pools = new Array(32);
+      for (var i = 0; i < 32; ++i) {
+        pools[i] = md.create();
       }
-      var e = 0, ei = 0, e2, e4, e8, sx, sx2, me, ime;
-      for (var i = 0; i < 256; ++i) {
-        sx = ei ^ ei << 1 ^ ei << 2 ^ ei << 3 ^ ei << 4;
-        sx = sx >> 8 ^ sx & 255 ^ 99;
-        sbox[e] = sx;
-        isbox[sx] = e;
-        sx2 = xtime[sx];
-        e2 = xtime[e];
-        e4 = xtime[e2];
-        e8 = xtime[e4];
-        me = sx2 << 24 ^ // 2
-        sx << 16 ^ // 1
-        sx << 8 ^ // 1
-        (sx ^ sx2);
-        ime = (e2 ^ e4 ^ e8) << 24 ^ // E (14)
-        (e ^ e8) << 16 ^ // 9
-        (e ^ e4 ^ e8) << 8 ^ // D (13)
-        (e ^ e2 ^ e8);
-        for (var n = 0; n < 4; ++n) {
-          mix[n][e] = me;
-          imix[n][sx] = ime;
-          me = me << 24 | me >>> 8;
-          ime = ime << 24 | ime >>> 8;
+      ctx.pools = pools;
+      ctx.pool = 0;
+      ctx.generate = function(count, callback) {
+        if (!callback) {
+          return ctx.generateSync(count);
         }
-        if (e === 0) {
-          e = ei = 1;
-        } else {
-          e = e2 ^ xtime[xtime[xtime[e2 ^ e8]]];
-          ei ^= xtime[xtime[ei]];
+        var cipher = ctx.plugin.cipher;
+        var increment = ctx.plugin.increment;
+        var formatKey = ctx.plugin.formatKey;
+        var formatSeed = ctx.plugin.formatSeed;
+        var b = forge.util.createBuffer();
+        ctx.key = null;
+        generate();
+        function generate(err) {
+          if (err) {
+            return callback(err);
+          }
+          if (b.length() >= count) {
+            return callback(null, b.getBytes(count));
+          }
+          if (ctx.generated > 1048575) {
+            ctx.key = null;
+          }
+          if (ctx.key === null) {
+            return forge.util.nextTick(function() {
+              _reseed(generate);
+            });
+          }
+          var bytes = cipher(ctx.key, ctx.seed);
+          ctx.generated += bytes.length;
+          b.putBytes(bytes);
+          ctx.key = formatKey(cipher(ctx.key, increment(ctx.seed)));
+          ctx.seed = formatSeed(cipher(ctx.key, ctx.seed));
+          forge.util.setImmediate(generate);
+        }
+      };
+      ctx.generateSync = function(count) {
+        var cipher = ctx.plugin.cipher;
+        var increment = ctx.plugin.increment;
+        var formatKey = ctx.plugin.formatKey;
+        var formatSeed = ctx.plugin.formatSeed;
+        ctx.key = null;
+        var b = forge.util.createBuffer();
+        while (b.length() < count) {
+          if (ctx.generated > 1048575) {
+            ctx.key = null;
+          }
+          if (ctx.key === null) {
+            _reseedSync();
+          }
+          var bytes = cipher(ctx.key, ctx.seed);
+          ctx.generated += bytes.length;
+          b.putBytes(bytes);
+          ctx.key = formatKey(cipher(ctx.key, increment(ctx.seed)));
+          ctx.seed = formatSeed(cipher(ctx.key, ctx.seed));
+        }
+        return b.getBytes(count);
+      };
+      function _reseed(callback) {
+        if (ctx.pools[0].messageLength >= 32) {
+          _seed();
+          return callback();
         }
+        var needed = 32 - ctx.pools[0].messageLength << 5;
+        ctx.seedFile(needed, function(err, bytes) {
+          if (err) {
+            return callback(err);
+          }
+          ctx.collect(bytes);
+          _seed();
+          callback();
+        });
       }
-    }
-    function _expandKey(key, decrypt) {
-      var w = key.slice(0);
-      var temp, iNk = 1;
-      var Nk = w.length;
-      var Nr1 = Nk + 6 + 1;
-      var end = Nb * Nr1;
-      for (var i = Nk; i < end; ++i) {
-        temp = w[i - 1];
-        if (i % Nk === 0) {
-          temp = sbox[temp >>> 16 & 255] << 24 ^ sbox[temp >>> 8 & 255] << 16 ^ sbox[temp & 255] << 8 ^ sbox[temp >>> 24] ^ rcon[iNk] << 24;
-          iNk++;
-        } else if (Nk > 6 && i % Nk === 4) {
-          temp = sbox[temp >>> 24] << 24 ^ sbox[temp >>> 16 & 255] << 16 ^ sbox[temp >>> 8 & 255] << 8 ^ sbox[temp & 255];
+      function _reseedSync() {
+        if (ctx.pools[0].messageLength >= 32) {
+          return _seed();
         }
-        w[i] = w[i - Nk] ^ temp;
+        var needed = 32 - ctx.pools[0].messageLength << 5;
+        ctx.collect(ctx.seedFileSync(needed));
+        _seed();
       }
-      if (decrypt) {
-        var tmp;
-        var m0 = imix[0];
-        var m1 = imix[1];
-        var m2 = imix[2];
-        var m3 = imix[3];
-        var wnew = w.slice(0);
-        end = w.length;
-        for (var i = 0, wi = end - Nb; i < end; i += Nb, wi -= Nb) {
-          if (i === 0 || i === end - Nb) {
-            wnew[i] = w[wi];
-            wnew[i + 1] = w[wi + 3];
-            wnew[i + 2] = w[wi + 2];
-            wnew[i + 3] = w[wi + 1];
-          } else {
-            for (var n = 0; n < Nb; ++n) {
-              tmp = w[wi + n];
-              wnew[i + (3 & -n)] = m0[sbox[tmp >>> 24]] ^ m1[sbox[tmp >>> 16 & 255]] ^ m2[sbox[tmp >>> 8 & 255]] ^ m3[sbox[tmp & 255]];
-            }
+      function _seed() {
+        ctx.reseeds = ctx.reseeds === 4294967295 ? 0 : ctx.reseeds + 1;
+        var md2 = ctx.plugin.md.create();
+        md2.update(ctx.keyBytes);
+        var _2powK = 1;
+        for (var k = 0; k < 32; ++k) {
+          if (ctx.reseeds % _2powK === 0) {
+            md2.update(ctx.pools[k].digest().getBytes());
+            ctx.pools[k].start();
           }
+          _2powK = _2powK << 1;
         }
-        w = wnew;
-      }
-      return w;
-    }
-    function _updateBlock(w, input, output, decrypt) {
-      var Nr = w.length / 4 - 1;
-      var m0, m1, m2, m3, sub;
-      if (decrypt) {
-        m0 = imix[0];
-        m1 = imix[1];
-        m2 = imix[2];
-        m3 = imix[3];
-        sub = isbox;
-      } else {
-        m0 = mix[0];
-        m1 = mix[1];
-        m2 = mix[2];
-        m3 = mix[3];
-        sub = sbox;
+        ctx.keyBytes = md2.digest().getBytes();
+        md2.start();
+        md2.update(ctx.keyBytes);
+        var seedBytes = md2.digest().getBytes();
+        ctx.key = ctx.plugin.formatKey(ctx.keyBytes);
+        ctx.seed = ctx.plugin.formatSeed(seedBytes);
+        ctx.generated = 0;
       }
-      var a, b, c, d, a2, b2, c2;
-      a = input[0] ^ w[0];
-      b = input[decrypt ? 3 : 1] ^ w[1];
-      c = input[2] ^ w[2];
-      d = input[decrypt ? 1 : 3] ^ w[3];
-      var i = 3;
-      for (var round = 1; round < Nr; ++round) {
-        a2 = m0[a >>> 24] ^ m1[b >>> 16 & 255] ^ m2[c >>> 8 & 255] ^ m3[d & 255] ^ w[++i];
-        b2 = m0[b >>> 24] ^ m1[c >>> 16 & 255] ^ m2[d >>> 8 & 255] ^ m3[a & 255] ^ w[++i];
-        c2 = m0[c >>> 24] ^ m1[d >>> 16 & 255] ^ m2[a >>> 8 & 255] ^ m3[b & 255] ^ w[++i];
-        d = m0[d >>> 24] ^ m1[a >>> 16 & 255] ^ m2[b >>> 8 & 255] ^ m3[c & 255] ^ w[++i];
-        a = a2;
-        b = b2;
-        c = c2;
+      function defaultSeedFile(needed) {
+        var getRandomValues = null;
+        var globalScope = forge.util.globalScope;
+        var _crypto2 = globalScope.crypto || globalScope.msCrypto;
+        if (_crypto2 && _crypto2.getRandomValues) {
+          getRandomValues = function(arr) {
+            return _crypto2.getRandomValues(arr);
+          };
+        }
+        var b = forge.util.createBuffer();
+        if (getRandomValues) {
+          while (b.length() < needed) {
+            var count = Math.max(1, Math.min(needed - b.length(), 65536) / 4);
+            var entropy = new Uint32Array(Math.floor(count));
+            try {
+              getRandomValues(entropy);
+              for (var i2 = 0; i2 < entropy.length; ++i2) {
+                b.putInt32(entropy[i2]);
+              }
+            } catch (e) {
+              if (!(typeof QuotaExceededError !== "undefined" && e instanceof QuotaExceededError)) {
+                throw e;
+              }
+            }
+          }
+        }
+        if (b.length() < needed) {
+          var hi, lo, next;
+          var seed = Math.floor(Math.random() * 65536);
+          while (b.length() < needed) {
+            lo = 16807 * (seed & 65535);
+            hi = 16807 * (seed >> 16);
+            lo += (hi & 32767) << 16;
+            lo += hi >> 15;
+            lo = (lo & 2147483647) + (lo >> 31);
+            seed = lo & 4294967295;
+            for (var i2 = 0; i2 < 3; ++i2) {
+              next = seed >>> (i2 << 3);
+              next ^= Math.floor(Math.random() * 256);
+              b.putByte(next & 255);
+            }
+          }
+        }
+        return b.getBytes(needed);
       }
-      output[0] = sub[a >>> 24] << 24 ^ sub[b >>> 16 & 255] << 16 ^ sub[c >>> 8 & 255] << 8 ^ sub[d & 255] ^ w[++i];
-      output[decrypt ? 3 : 1] = sub[b >>> 24] << 24 ^ sub[c >>> 16 & 255] << 16 ^ sub[d >>> 8 & 255] << 8 ^ sub[a & 255] ^ w[++i];
-      output[2] = sub[c >>> 24] << 24 ^ sub[d >>> 16 & 255] << 16 ^ sub[a >>> 8 & 255] << 8 ^ sub[b & 255] ^ w[++i];
-      output[decrypt ? 1 : 3] = sub[d >>> 24] << 24 ^ sub[a >>> 16 & 255] << 16 ^ sub[b >>> 8 & 255] << 8 ^ sub[c & 255] ^ w[++i];
-    }
-    function _createCipher(options) {
-      options = options || {};
-      var mode = (options.mode || "CBC").toUpperCase();
-      var algorithm = "AES-" + mode;
-      var cipher;
-      if (options.decrypt) {
-        cipher = forge.cipher.createDecipher(algorithm, options.key);
+      if (_crypto) {
+        ctx.seedFile = function(needed, callback) {
+          _crypto.randomBytes(needed, function(err, bytes) {
+            if (err) {
+              return callback(err);
+            }
+            callback(null, bytes.toString());
+          });
+        };
+        ctx.seedFileSync = function(needed) {
+          return _crypto.randomBytes(needed).toString();
+        };
       } else {
-        cipher = forge.cipher.createCipher(algorithm, options.key);
+        ctx.seedFile = function(needed, callback) {
+          try {
+            callback(null, defaultSeedFile(needed));
+          } catch (e) {
+            callback(e);
+          }
+        };
+        ctx.seedFileSync = defaultSeedFile;
       }
-      var start = cipher.start;
-      cipher.start = function(iv, options2) {
-        var output = null;
-        if (options2 instanceof forge.util.ByteBuffer) {
-          output = options2;
-          options2 = {};
+      ctx.collect = function(bytes) {
+        var count = bytes.length;
+        for (var i2 = 0; i2 < count; ++i2) {
+          ctx.pools[ctx.pool].update(bytes.substr(i2, 1));
+          ctx.pool = ctx.pool === 31 ? 0 : ctx.pool + 1;
         }
-        options2 = options2 || {};
-        options2.output = output;
-        options2.iv = iv;
-        start.call(cipher, options2);
       };
-      return cipher;
-    }
-  }
-});
-
-// node_modules/node-forge/lib/oids.js
-var require_oids = __commonJS({
-  "node_modules/node-forge/lib/oids.js"(exports2, module2) {
-    var forge = require_forge();
-    forge.pki = forge.pki || {};
-    var oids = module2.exports = forge.pki.oids = forge.oids = forge.oids || {};
-    function _IN(id, name) {
-      oids[id] = name;
-      oids[name] = id;
-    }
-    function _I_(id, name) {
-      oids[id] = name;
-    }
-    _IN("1.2.840.113549.1.1.1", "rsaEncryption");
-    _IN("1.2.840.113549.1.1.4", "md5WithRSAEncryption");
-    _IN("1.2.840.113549.1.1.5", "sha1WithRSAEncryption");
-    _IN("1.2.840.113549.1.1.7", "RSAES-OAEP");
-    _IN("1.2.840.113549.1.1.8", "mgf1");
-    _IN("1.2.840.113549.1.1.9", "pSpecified");
-    _IN("1.2.840.113549.1.1.10", "RSASSA-PSS");
-    _IN("1.2.840.113549.1.1.11", "sha256WithRSAEncryption");
-    _IN("1.2.840.113549.1.1.12", "sha384WithRSAEncryption");
-    _IN("1.2.840.113549.1.1.13", "sha512WithRSAEncryption");
-    _IN("1.3.101.112", "EdDSA25519");
-    _IN("1.2.840.10040.4.3", "dsa-with-sha1");
-    _IN("1.3.14.3.2.7", "desCBC");
-    _IN("1.3.14.3.2.26", "sha1");
-    _IN("1.3.14.3.2.29", "sha1WithRSASignature");
-    _IN("2.16.840.1.101.3.4.2.1", "sha256");
-    _IN("2.16.840.1.101.3.4.2.2", "sha384");
-    _IN("2.16.840.1.101.3.4.2.3", "sha512");
-    _IN("2.16.840.1.101.3.4.2.4", "sha224");
-    _IN("2.16.840.1.101.3.4.2.5", "sha512-224");
-    _IN("2.16.840.1.101.3.4.2.6", "sha512-256");
-    _IN("1.2.840.113549.2.2", "md2");
-    _IN("1.2.840.113549.2.5", "md5");
-    _IN("1.2.840.113549.1.7.1", "data");
-    _IN("1.2.840.113549.1.7.2", "signedData");
-    _IN("1.2.840.113549.1.7.3", "envelopedData");
-    _IN("1.2.840.113549.1.7.4", "signedAndEnvelopedData");
-    _IN("1.2.840.113549.1.7.5", "digestedData");
-    _IN("1.2.840.113549.1.7.6", "encryptedData");
-    _IN("1.2.840.113549.1.9.1", "emailAddress");
-    _IN("1.2.840.113549.1.9.2", "unstructuredName");
-    _IN("1.2.840.113549.1.9.3", "contentType");
-    _IN("1.2.840.113549.1.9.4", "messageDigest");
-    _IN("1.2.840.113549.1.9.5", "signingTime");
-    _IN("1.2.840.113549.1.9.6", "counterSignature");
-    _IN("1.2.840.113549.1.9.7", "challengePassword");
-    _IN("1.2.840.113549.1.9.8", "unstructuredAddress");
-    _IN("1.2.840.113549.1.9.14", "extensionRequest");
-    _IN("1.2.840.113549.1.9.20", "friendlyName");
-    _IN("1.2.840.113549.1.9.21", "localKeyId");
-    _IN("1.2.840.113549.1.9.22.1", "x509Certificate");
-    _IN("1.2.840.113549.1.12.10.1.1", "keyBag");
-    _IN("1.2.840.113549.1.12.10.1.2", "pkcs8ShroudedKeyBag");
-    _IN("1.2.840.113549.1.12.10.1.3", "certBag");
-    _IN("1.2.840.113549.1.12.10.1.4", "crlBag");
-    _IN("1.2.840.113549.1.12.10.1.5", "secretBag");
-    _IN("1.2.840.113549.1.12.10.1.6", "safeContentsBag");
-    _IN("1.2.840.113549.1.5.13", "pkcs5PBES2");
-    _IN("1.2.840.113549.1.5.12", "pkcs5PBKDF2");
-    _IN("1.2.840.113549.1.12.1.1", "pbeWithSHAAnd128BitRC4");
-    _IN("1.2.840.113549.1.12.1.2", "pbeWithSHAAnd40BitRC4");
-    _IN("1.2.840.113549.1.12.1.3", "pbeWithSHAAnd3-KeyTripleDES-CBC");
-    _IN("1.2.840.113549.1.12.1.4", "pbeWithSHAAnd2-KeyTripleDES-CBC");
-    _IN("1.2.840.113549.1.12.1.5", "pbeWithSHAAnd128BitRC2-CBC");
-    _IN("1.2.840.113549.1.12.1.6", "pbewithSHAAnd40BitRC2-CBC");
-    _IN("1.2.840.113549.2.7", "hmacWithSHA1");
-    _IN("1.2.840.113549.2.8", "hmacWithSHA224");
-    _IN("1.2.840.113549.2.9", "hmacWithSHA256");
-    _IN("1.2.840.113549.2.10", "hmacWithSHA384");
-    _IN("1.2.840.113549.2.11", "hmacWithSHA512");
-    _IN("1.2.840.113549.3.7", "des-EDE3-CBC");
-    _IN("2.16.840.1.101.3.4.1.2", "aes128-CBC");
-    _IN("2.16.840.1.101.3.4.1.22", "aes192-CBC");
-    _IN("2.16.840.1.101.3.4.1.42", "aes256-CBC");
-    _IN("2.5.4.3", "commonName");
-    _IN("2.5.4.4", "surname");
-    _IN("2.5.4.5", "serialNumber");
-    _IN("2.5.4.6", "countryName");
-    _IN("2.5.4.7", "localityName");
-    _IN("2.5.4.8", "stateOrProvinceName");
-    _IN("2.5.4.9", "streetAddress");
-    _IN("2.5.4.10", "organizationName");
-    _IN("2.5.4.11", "organizationalUnitName");
-    _IN("2.5.4.12", "title");
-    _IN("2.5.4.13", "description");
-    _IN("2.5.4.15", "businessCategory");
-    _IN("2.5.4.17", "postalCode");
-    _IN("2.5.4.42", "givenName");
-    _IN("1.3.6.1.4.1.311.60.2.1.2", "jurisdictionOfIncorporationStateOrProvinceName");
-    _IN("1.3.6.1.4.1.311.60.2.1.3", "jurisdictionOfIncorporationCountryName");
-    _IN("2.16.840.1.113730.1.1", "nsCertType");
-    _IN("2.16.840.1.113730.1.13", "nsComment");
-    _I_("2.5.29.1", "authorityKeyIdentifier");
-    _I_("2.5.29.2", "keyAttributes");
-    _I_("2.5.29.3", "certificatePolicies");
-    _I_("2.5.29.4", "keyUsageRestriction");
-    _I_("2.5.29.5", "policyMapping");
-    _I_("2.5.29.6", "subtreesConstraint");
-    _I_("2.5.29.7", "subjectAltName");
-    _I_("2.5.29.8", "issuerAltName");
-    _I_("2.5.29.9", "subjectDirectoryAttributes");
-    _I_("2.5.29.10", "basicConstraints");
-    _I_("2.5.29.11", "nameConstraints");
-    _I_("2.5.29.12", "policyConstraints");
-    _I_("2.5.29.13", "basicConstraints");
-    _IN("2.5.29.14", "subjectKeyIdentifier");
-    _IN("2.5.29.15", "keyUsage");
-    _I_("2.5.29.16", "privateKeyUsagePeriod");
-    _IN("2.5.29.17", "subjectAltName");
-    _IN("2.5.29.18", "issuerAltName");
-    _IN("2.5.29.19", "basicConstraints");
-    _I_("2.5.29.20", "cRLNumber");
-    _I_("2.5.29.21", "cRLReason");
-    _I_("2.5.29.22", "expirationDate");
-    _I_("2.5.29.23", "instructionCode");
-    _I_("2.5.29.24", "invalidityDate");
-    _I_("2.5.29.25", "cRLDistributionPoints");
-    _I_("2.5.29.26", "issuingDistributionPoint");
-    _I_("2.5.29.27", "deltaCRLIndicator");
-    _I_("2.5.29.28", "issuingDistributionPoint");
-    _I_("2.5.29.29", "certificateIssuer");
-    _I_("2.5.29.30", "nameConstraints");
-    _IN("2.5.29.31", "cRLDistributionPoints");
-    _IN("2.5.29.32", "certificatePolicies");
-    _I_("2.5.29.33", "policyMappings");
-    _I_("2.5.29.34", "policyConstraints");
-    _IN("2.5.29.35", "authorityKeyIdentifier");
-    _I_("2.5.29.36", "policyConstraints");
-    _IN("2.5.29.37", "extKeyUsage");
-    _I_("2.5.29.46", "freshestCRL");
-    _I_("2.5.29.54", "inhibitAnyPolicy");
-    _IN("1.3.6.1.4.1.11129.2.4.2", "timestampList");
-    _IN("1.3.6.1.5.5.7.1.1", "authorityInfoAccess");
-    _IN("1.3.6.1.5.5.7.3.1", "serverAuth");
-    _IN("1.3.6.1.5.5.7.3.2", "clientAuth");
-    _IN("1.3.6.1.5.5.7.3.3", "codeSigning");
-    _IN("1.3.6.1.5.5.7.3.4", "emailProtection");
-    _IN("1.3.6.1.5.5.7.3.8", "timeStamping");
-  }
-});
-
-// node_modules/node-forge/lib/asn1.js
-var require_asn1 = __commonJS({
-  "node_modules/node-forge/lib/asn1.js"(exports2, module2) {
-    var forge = require_forge();
-    require_util9();
-    require_oids();
-    var asn1 = module2.exports = forge.asn1 = forge.asn1 || {};
-    asn1.Class = {
-      UNIVERSAL: 0,
-      APPLICATION: 64,
-      CONTEXT_SPECIFIC: 128,
-      PRIVATE: 192
-    };
-    asn1.Type = {
-      NONE: 0,
-      BOOLEAN: 1,
-      INTEGER: 2,
-      BITSTRING: 3,
-      OCTETSTRING: 4,
-      NULL: 5,
-      OID: 6,
-      ODESC: 7,
-      EXTERNAL: 8,
-      REAL: 9,
-      ENUMERATED: 10,
-      EMBEDDED: 11,
-      UTF8: 12,
-      ROID: 13,
-      SEQUENCE: 16,
-      SET: 17,
-      PRINTABLESTRING: 19,
-      IA5STRING: 22,
-      UTCTIME: 23,
-      GENERALIZEDTIME: 24,
-      BMPSTRING: 30
-    };
-    asn1.maxDepth = 256;
-    asn1.create = function(tagClass, type2, constructed, value, options) {
-      if (forge.util.isArray(value)) {
-        var tmp = [];
-        for (var i = 0; i < value.length; ++i) {
-          if (value[i] !== void 0) {
-            tmp.push(value[i]);
-          }
+      ctx.collectInt = function(i2, n) {
+        var bytes = "";
+        for (var x = 0; x < n; x += 8) {
+          bytes += String.fromCharCode(i2 >> x & 255);
         }
-        value = tmp;
-      }
-      var obj = {
-        tagClass,
-        type: type2,
-        constructed,
-        composed: constructed || forge.util.isArray(value),
-        value
+        ctx.collect(bytes);
       };
-      if (options && "bitStringContents" in options) {
-        obj.bitStringContents = options.bitStringContents;
-        obj.original = asn1.copy(obj);
-      }
-      return obj;
-    };
-    asn1.copy = function(obj, options) {
-      var copy;
-      if (forge.util.isArray(obj)) {
-        copy = [];
-        for (var i = 0; i < obj.length; ++i) {
-          copy.push(asn1.copy(obj[i], options));
+      ctx.registerWorker = function(worker) {
+        if (worker === self) {
+          ctx.seedFile = function(needed, callback) {
+            function listener2(e) {
+              var data = e.data;
+              if (data.forge && data.forge.prng) {
+                self.removeEventListener("message", listener2);
+                callback(data.forge.prng.err, data.forge.prng.bytes);
+              }
+            }
+            self.addEventListener("message", listener2);
+            self.postMessage({ forge: { prng: { needed } } });
+          };
+        } else {
+          var listener = function(e) {
+            var data = e.data;
+            if (data.forge && data.forge.prng) {
+              ctx.seedFile(data.forge.prng.needed, function(err, bytes) {
+                worker.postMessage({ forge: { prng: { err, bytes } } });
+              });
+            }
+          };
+          worker.addEventListener("message", listener);
         }
-        return copy;
-      }
-      if (typeof obj === "string") {
-        return obj;
-      }
-      copy = {
-        tagClass: obj.tagClass,
-        type: obj.type,
-        constructed: obj.constructed,
-        composed: obj.composed,
-        value: asn1.copy(obj.value, options)
       };
-      if (options && !options.excludeBitStringContents) {
-        copy.bitStringContents = obj.bitStringContents;
-      }
-      return copy;
-    };
-    asn1.equals = function(obj1, obj2, options) {
-      if (forge.util.isArray(obj1)) {
-        if (!forge.util.isArray(obj2)) {
-          return false;
-        }
-        if (obj1.length !== obj2.length) {
-          return false;
-        }
-        for (var i = 0; i < obj1.length; ++i) {
-          if (!asn1.equals(obj1[i], obj2[i])) {
-            return false;
-          }
-        }
-        return true;
-      }
-      if (typeof obj1 !== typeof obj2) {
-        return false;
-      }
-      if (typeof obj1 === "string") {
-        return obj1 === obj2;
-      }
-      var equal = obj1.tagClass === obj2.tagClass && obj1.type === obj2.type && obj1.constructed === obj2.constructed && obj1.composed === obj2.composed && asn1.equals(obj1.value, obj2.value);
-      if (options && options.includeBitStringContents) {
-        equal = equal && obj1.bitStringContents === obj2.bitStringContents;
-      }
-      return equal;
-    };
-    asn1.getBerValueLength = function(b) {
-      var b2 = b.getByte();
-      if (b2 === 128) {
-        return void 0;
-      }
-      var length;
-      var longForm = b2 & 128;
-      if (!longForm) {
-        length = b2;
-      } else {
-        length = b.getInt((b2 & 127) << 3);
-      }
-      return length;
+      return ctx;
     };
-    function _checkBufferLength(bytes, remaining, n) {
-      if (n > remaining) {
-        var error3 = new Error("Too few bytes to parse DER.");
-        error3.available = bytes.length();
-        error3.remaining = remaining;
-        error3.requested = n;
-        throw error3;
-      }
-    }
-    var _getValueLength = function(bytes, remaining) {
-      var b2 = bytes.getByte();
-      remaining--;
-      if (b2 === 128) {
-        return void 0;
-      }
-      var length;
-      var longForm = b2 & 128;
-      if (!longForm) {
-        length = b2;
-      } else {
-        var longFormBytes = b2 & 127;
-        _checkBufferLength(bytes, remaining, longFormBytes);
-        length = bytes.getInt(longFormBytes << 3);
-      }
-      if (length < 0) {
-        throw new Error("Negative length: " + length);
+  }
+});
+
+// node_modules/node-forge/lib/random.js
+var require_random = __commonJS({
+  "node_modules/node-forge/lib/random.js"(exports2, module2) {
+    var forge = require_forge();
+    require_aes();
+    require_sha256();
+    require_prng();
+    require_util9();
+    (function() {
+      if (forge.random && forge.random.getBytes) {
+        module2.exports = forge.random;
+        return;
       }
-      return length;
-    };
-    asn1.fromDer = function(bytes, options) {
-      if (options === void 0) {
-        options = {
-          strict: true,
-          parseAllBytes: true,
-          decodeBitStrings: true
+      (function(jQuery2) {
+        var prng_aes = {};
+        var _prng_aes_output = new Array(4);
+        var _prng_aes_buffer = forge.util.createBuffer();
+        prng_aes.formatKey = function(key2) {
+          var tmp = forge.util.createBuffer(key2);
+          key2 = new Array(4);
+          key2[0] = tmp.getInt32();
+          key2[1] = tmp.getInt32();
+          key2[2] = tmp.getInt32();
+          key2[3] = tmp.getInt32();
+          return forge.aes._expandKey(key2, false);
         };
-      }
-      if (typeof options === "boolean") {
-        options = {
-          strict: options,
-          parseAllBytes: true,
-          decodeBitStrings: true
+        prng_aes.formatSeed = function(seed) {
+          var tmp = forge.util.createBuffer(seed);
+          seed = new Array(4);
+          seed[0] = tmp.getInt32();
+          seed[1] = tmp.getInt32();
+          seed[2] = tmp.getInt32();
+          seed[3] = tmp.getInt32();
+          return seed;
         };
-      }
-      if (!("strict" in options)) {
-        options.strict = true;
-      }
-      if (!("parseAllBytes" in options)) {
-        options.parseAllBytes = true;
-      }
-      if (!("decodeBitStrings" in options)) {
-        options.decodeBitStrings = true;
-      }
-      if (!("maxDepth" in options)) {
-        options.maxDepth = asn1.maxDepth;
-      }
-      if (typeof bytes === "string") {
-        bytes = forge.util.createBuffer(bytes);
-      }
-      var byteCount = bytes.length();
-      var value = _fromDer(bytes, bytes.length(), 0, options);
-      if (options.parseAllBytes && bytes.length() !== 0) {
-        var error3 = new Error("Unparsed DER bytes remain after ASN.1 parsing.");
-        error3.byteCount = byteCount;
-        error3.remaining = bytes.length();
-        throw error3;
-      }
-      return value;
-    };
-    function _fromDer(bytes, remaining, depth, options) {
-      if (depth >= options.maxDepth) {
-        throw new Error("ASN.1 parsing error: Max depth exceeded.");
-      }
-      var start;
-      _checkBufferLength(bytes, remaining, 2);
-      var b1 = bytes.getByte();
-      remaining--;
-      var tagClass = b1 & 192;
-      var type2 = b1 & 31;
-      start = bytes.length();
-      var length = _getValueLength(bytes, remaining);
-      remaining -= start - bytes.length();
-      if (length !== void 0 && length > remaining) {
-        if (options.strict) {
-          var error3 = new Error("Too few bytes to read ASN.1 value.");
-          error3.available = bytes.length();
-          error3.remaining = remaining;
-          error3.requested = length;
-          throw error3;
+        prng_aes.cipher = function(key2, seed) {
+          forge.aes._updateBlock(key2, seed, _prng_aes_output, false);
+          _prng_aes_buffer.putInt32(_prng_aes_output[0]);
+          _prng_aes_buffer.putInt32(_prng_aes_output[1]);
+          _prng_aes_buffer.putInt32(_prng_aes_output[2]);
+          _prng_aes_buffer.putInt32(_prng_aes_output[3]);
+          return _prng_aes_buffer.getBytes();
+        };
+        prng_aes.increment = function(seed) {
+          ++seed[3];
+          return seed;
+        };
+        prng_aes.md = forge.md.sha256;
+        function spawnPrng() {
+          var ctx = forge.prng.create(prng_aes);
+          ctx.getBytes = function(count, callback) {
+            return ctx.generate(count, callback);
+          };
+          ctx.getBytesSync = function(count) {
+            return ctx.generate(count);
+          };
+          return ctx;
         }
-        length = remaining;
-      }
-      var value;
-      var bitStringContents;
-      var constructed = (b1 & 32) === 32;
-      if (constructed) {
-        value = [];
-        if (length === void 0) {
-          for (; ; ) {
-            _checkBufferLength(bytes, remaining, 2);
-            if (bytes.bytes(2) === String.fromCharCode(0, 0)) {
-              bytes.getBytes(2);
-              remaining -= 2;
-              break;
+        var _ctx = spawnPrng();
+        var getRandomValues = null;
+        var globalScope = forge.util.globalScope;
+        var _crypto = globalScope.crypto || globalScope.msCrypto;
+        if (_crypto && _crypto.getRandomValues) {
+          getRandomValues = function(arr) {
+            return _crypto.getRandomValues(arr);
+          };
+        }
+        if (forge.options.usePureJavaScript || !forge.util.isNodejs && !getRandomValues) {
+          if (typeof window === "undefined" || window.document === void 0) {
+          }
+          _ctx.collectInt(+/* @__PURE__ */ new Date(), 32);
+          if (typeof navigator !== "undefined") {
+            var _navBytes = "";
+            for (var key in navigator) {
+              try {
+                if (typeof navigator[key] == "string") {
+                  _navBytes += navigator[key];
+                }
+              } catch (e) {
+              }
             }
-            start = bytes.length();
-            value.push(_fromDer(bytes, remaining, depth + 1, options));
-            remaining -= start - bytes.length();
+            _ctx.collect(_navBytes);
+            _navBytes = null;
           }
-        } else {
-          while (length > 0) {
-            start = bytes.length();
-            value.push(_fromDer(bytes, length, depth + 1, options));
-            remaining -= start - bytes.length();
-            length -= start - bytes.length();
+          if (jQuery2) {
+            jQuery2().mousemove(function(e) {
+              _ctx.collectInt(e.clientX, 16);
+              _ctx.collectInt(e.clientY, 16);
+            });
+            jQuery2().keypress(function(e) {
+              _ctx.collectInt(e.charCode, 8);
+            });
           }
         }
-      }
-      if (value === void 0 && tagClass === asn1.Class.UNIVERSAL && type2 === asn1.Type.BITSTRING) {
-        bitStringContents = bytes.bytes(length);
-      }
-      if (value === void 0 && options.decodeBitStrings && tagClass === asn1.Class.UNIVERSAL && // FIXME: OCTET STRINGs not yet supported here
-      // .. other parts of forge expect to decode OCTET STRINGs manually
-      type2 === asn1.Type.BITSTRING && length > 1) {
-        var savedRead = bytes.read;
-        var savedRemaining = remaining;
-        var unused = 0;
-        if (type2 === asn1.Type.BITSTRING) {
-          _checkBufferLength(bytes, remaining, 1);
-          unused = bytes.getByte();
-          remaining--;
-        }
-        if (unused === 0) {
-          try {
-            start = bytes.length();
-            var subOptions = {
-              // enforce strict mode to avoid parsing ASN.1 from plain data
-              strict: true,
-              decodeBitStrings: true
-            };
-            var composed = _fromDer(bytes, remaining, depth + 1, subOptions);
-            var used = start - bytes.length();
-            remaining -= used;
-            if (type2 == asn1.Type.BITSTRING) {
-              used++;
-            }
-            var tc = composed.tagClass;
-            if (used === length && (tc === asn1.Class.UNIVERSAL || tc === asn1.Class.CONTEXT_SPECIFIC)) {
-              value = [composed];
-            }
-          } catch (ex) {
-          }
-        }
-        if (value === void 0) {
-          bytes.read = savedRead;
-          remaining = savedRemaining;
+        if (!forge.random) {
+          forge.random = _ctx;
+        } else {
+          for (var key in _ctx) {
+            forge.random[key] = _ctx[key];
+          }
         }
+        forge.random.createInstance = spawnPrng;
+        module2.exports = forge.random;
+      })(typeof jQuery !== "undefined" ? jQuery : null);
+    })();
+  }
+});
+
+// node_modules/node-forge/lib/rc2.js
+var require_rc2 = __commonJS({
+  "node_modules/node-forge/lib/rc2.js"(exports2, module2) {
+    var forge = require_forge();
+    require_util9();
+    var piTable = [
+      217,
+      120,
+      249,
+      196,
+      25,
+      221,
+      181,
+      237,
+      40,
+      233,
+      253,
+      121,
+      74,
+      160,
+      216,
+      157,
+      198,
+      126,
+      55,
+      131,
+      43,
+      118,
+      83,
+      142,
+      98,
+      76,
+      100,
+      136,
+      68,
+      139,
+      251,
+      162,
+      23,
+      154,
+      89,
+      245,
+      135,
+      179,
+      79,
+      19,
+      97,
+      69,
+      109,
+      141,
+      9,
+      129,
+      125,
+      50,
+      189,
+      143,
+      64,
+      235,
+      134,
+      183,
+      123,
+      11,
+      240,
+      149,
+      33,
+      34,
+      92,
+      107,
+      78,
+      130,
+      84,
+      214,
+      101,
+      147,
+      206,
+      96,
+      178,
+      28,
+      115,
+      86,
+      192,
+      20,
+      167,
+      140,
+      241,
+      220,
+      18,
+      117,
+      202,
+      31,
+      59,
+      190,
+      228,
+      209,
+      66,
+      61,
+      212,
+      48,
+      163,
+      60,
+      182,
+      38,
+      111,
+      191,
+      14,
+      218,
+      70,
+      105,
+      7,
+      87,
+      39,
+      242,
+      29,
+      155,
+      188,
+      148,
+      67,
+      3,
+      248,
+      17,
+      199,
+      246,
+      144,
+      239,
+      62,
+      231,
+      6,
+      195,
+      213,
+      47,
+      200,
+      102,
+      30,
+      215,
+      8,
+      232,
+      234,
+      222,
+      128,
+      82,
+      238,
+      247,
+      132,
+      170,
+      114,
+      172,
+      53,
+      77,
+      106,
+      42,
+      150,
+      26,
+      210,
+      113,
+      90,
+      21,
+      73,
+      116,
+      75,
+      159,
+      208,
+      94,
+      4,
+      24,
+      164,
+      236,
+      194,
+      224,
+      65,
+      110,
+      15,
+      81,
+      203,
+      204,
+      36,
+      145,
+      175,
+      80,
+      161,
+      244,
+      112,
+      57,
+      153,
+      124,
+      58,
+      133,
+      35,
+      184,
+      180,
+      122,
+      252,
+      2,
+      54,
+      91,
+      37,
+      85,
+      151,
+      49,
+      45,
+      93,
+      250,
+      152,
+      227,
+      138,
+      146,
+      174,
+      5,
+      223,
+      41,
+      16,
+      103,
+      108,
+      186,
+      201,
+      211,
+      0,
+      230,
+      207,
+      225,
+      158,
+      168,
+      44,
+      99,
+      22,
+      1,
+      63,
+      88,
+      226,
+      137,
+      169,
+      13,
+      56,
+      52,
+      27,
+      171,
+      51,
+      255,
+      176,
+      187,
+      72,
+      12,
+      95,
+      185,
+      177,
+      205,
+      46,
+      197,
+      243,
+      219,
+      71,
+      229,
+      165,
+      156,
+      119,
+      10,
+      166,
+      32,
+      104,
+      254,
+      127,
+      193,
+      173
+    ];
+    var s = [1, 2, 3, 5];
+    var rol = function(word, bits) {
+      return word << bits & 65535 | (word & 65535) >> 16 - bits;
+    };
+    var ror = function(word, bits) {
+      return (word & 65535) >> bits | word << 16 - bits & 65535;
+    };
+    module2.exports = forge.rc2 = forge.rc2 || {};
+    forge.rc2.expandKey = function(key, effKeyBits) {
+      if (typeof key === "string") {
+        key = forge.util.createBuffer(key);
       }
-      if (value === void 0) {
-        if (length === void 0) {
-          if (options.strict) {
-            throw new Error("Non-constructed ASN.1 object of indefinite length.");
-          }
-          length = remaining;
-        }
-        if (type2 === asn1.Type.BMPSTRING) {
-          value = "";
-          for (; length > 0; length -= 2) {
-            _checkBufferLength(bytes, remaining, 2);
-            value += String.fromCharCode(bytes.getInt16());
-            remaining -= 2;
-          }
-        } else {
-          value = bytes.getBytes(length);
-          remaining -= length;
-        }
+      effKeyBits = effKeyBits || 128;
+      var L = key;
+      var T = key.length();
+      var T1 = effKeyBits;
+      var T8 = Math.ceil(T1 / 8);
+      var TM = 255 >> (T1 & 7);
+      var i;
+      for (i = T; i < 128; i++) {
+        L.putByte(piTable[L.at(i - 1) + L.at(i - T) & 255]);
       }
-      var asn1Options = bitStringContents === void 0 ? null : {
-        bitStringContents
-      };
-      return asn1.create(tagClass, type2, constructed, value, asn1Options);
-    }
-    asn1.toDer = function(obj) {
-      var bytes = forge.util.createBuffer();
-      var b1 = obj.tagClass | obj.type;
-      var value = forge.util.createBuffer();
-      var useBitStringContents = false;
-      if ("bitStringContents" in obj) {
-        useBitStringContents = true;
-        if (obj.original) {
-          useBitStringContents = asn1.equals(obj, obj.original);
-        }
+      L.setAt(128 - T8, piTable[L.at(128 - T8) & TM]);
+      for (i = 127 - T8; i >= 0; i--) {
+        L.setAt(i, piTable[L.at(i + 1) ^ L.at(i + T8)]);
       }
-      if (useBitStringContents) {
-        value.putBytes(obj.bitStringContents);
-      } else if (obj.composed) {
-        if (obj.constructed) {
-          b1 |= 32;
-        } else {
-          value.putByte(0);
-        }
-        for (var i = 0; i < obj.value.length; ++i) {
-          if (obj.value[i] !== void 0) {
-            value.putBuffer(asn1.toDer(obj.value[i]));
+      return L;
+    };
+    var createCipher = function(key, bits, encrypt) {
+      var _finish = false, _input = null, _output = null, _iv = null;
+      var mixRound, mashRound;
+      var i, j, K = [];
+      key = forge.rc2.expandKey(key, bits);
+      for (i = 0; i < 64; i++) {
+        K.push(key.getInt16Le());
+      }
+      if (encrypt) {
+        mixRound = function(R) {
+          for (i = 0; i < 4; i++) {
+            R[i] += K[j] + (R[(i + 3) % 4] & R[(i + 2) % 4]) + (~R[(i + 3) % 4] & R[(i + 1) % 4]);
+            R[i] = rol(R[i], s[i]);
+            j++;
           }
-        }
+        };
+        mashRound = function(R) {
+          for (i = 0; i < 4; i++) {
+            R[i] += K[R[(i + 3) % 4] & 63];
+          }
+        };
       } else {
-        if (obj.type === asn1.Type.BMPSTRING) {
-          for (var i = 0; i < obj.value.length; ++i) {
-            value.putInt16(obj.value.charCodeAt(i));
+        mixRound = function(R) {
+          for (i = 3; i >= 0; i--) {
+            R[i] = ror(R[i], s[i]);
+            R[i] -= K[j] + (R[(i + 3) % 4] & R[(i + 2) % 4]) + (~R[(i + 3) % 4] & R[(i + 1) % 4]);
+            j--;
           }
-        } else {
-          if (obj.type === asn1.Type.INTEGER && obj.value.length > 1 && // leading 0x00 for positive integer
-          (obj.value.charCodeAt(0) === 0 && (obj.value.charCodeAt(1) & 128) === 0 || // leading 0xFF for negative integer
-          obj.value.charCodeAt(0) === 255 && (obj.value.charCodeAt(1) & 128) === 128)) {
-            value.putBytes(obj.value.substr(1));
-          } else {
-            value.putBytes(obj.value);
+        };
+        mashRound = function(R) {
+          for (i = 3; i >= 0; i--) {
+            R[i] -= K[R[(i + 3) % 4] & 63];
           }
-        }
-      }
-      bytes.putByte(b1);
-      if (value.length() <= 127) {
-        bytes.putByte(value.length() & 127);
-      } else {
-        var len = value.length();
-        var lenBytes = "";
-        do {
-          lenBytes += String.fromCharCode(len & 255);
-          len = len >>> 8;
-        } while (len > 0);
-        bytes.putByte(lenBytes.length | 128);
-        for (var i = lenBytes.length - 1; i >= 0; --i) {
-          bytes.putByte(lenBytes.charCodeAt(i));
-        }
+        };
       }
-      bytes.putBuffer(value);
-      return bytes;
-    };
-    asn1.oidToDer = function(oid) {
-      var values = oid.split(".");
-      var bytes = forge.util.createBuffer();
-      bytes.putByte(40 * parseInt(values[0], 10) + parseInt(values[1], 10));
-      var last, valueBytes, value, b;
-      for (var i = 2; i < values.length; ++i) {
-        last = true;
-        valueBytes = [];
-        value = parseInt(values[i], 10);
-        if (value > 4294967295) {
-          throw new Error("OID value too large; max is 32-bits.");
-        }
-        do {
-          b = value & 127;
-          value = value >>> 7;
-          if (!last) {
-            b |= 128;
+      var runPlan = function(plan) {
+        var R = [];
+        for (i = 0; i < 4; i++) {
+          var val = _input.getInt16Le();
+          if (_iv !== null) {
+            if (encrypt) {
+              val ^= _iv.getInt16Le();
+            } else {
+              _iv.putInt16Le(val);
+            }
           }
-          valueBytes.push(b);
-          last = false;
-        } while (value > 0);
-        for (var n = valueBytes.length - 1; n >= 0; --n) {
-          bytes.putByte(valueBytes[n]);
-        }
-      }
-      return bytes;
-    };
-    asn1.derToOid = function(bytes) {
-      var oid;
-      if (typeof bytes === "string") {
-        bytes = forge.util.createBuffer(bytes);
-      }
-      var b = bytes.getByte();
-      oid = Math.floor(b / 40) + "." + b % 40;
-      var value = 0;
-      while (bytes.length() > 0) {
-        if (value > 70368744177663) {
-          throw new Error("OID value too large; max is 53-bits.");
+          R.push(val & 65535);
         }
-        b = bytes.getByte();
-        value = value * 128;
-        if (b & 128) {
-          value += b & 127;
-        } else {
-          oid += "." + (value + b);
-          value = 0;
+        j = encrypt ? 0 : 63;
+        for (var ptr = 0; ptr < plan.length; ptr++) {
+          for (var ctr = 0; ctr < plan[ptr][0]; ctr++) {
+            plan[ptr][1](R);
+          }
         }
-      }
-      return oid;
-    };
-    asn1.utcTimeToDate = function(utc) {
-      var date = /* @__PURE__ */ new Date();
-      var year = parseInt(utc.substr(0, 2), 10);
-      year = year >= 50 ? 1900 + year : 2e3 + year;
-      var MM = parseInt(utc.substr(2, 2), 10) - 1;
-      var DD = parseInt(utc.substr(4, 2), 10);
-      var hh = parseInt(utc.substr(6, 2), 10);
-      var mm = parseInt(utc.substr(8, 2), 10);
-      var ss = 0;
-      if (utc.length > 11) {
-        var c = utc.charAt(10);
-        var end = 10;
-        if (c !== "+" && c !== "-") {
-          ss = parseInt(utc.substr(10, 2), 10);
-          end += 2;
+        for (i = 0; i < 4; i++) {
+          if (_iv !== null) {
+            if (encrypt) {
+              _iv.putInt16Le(R[i]);
+            } else {
+              R[i] ^= _iv.getInt16Le();
+            }
+          }
+          _output.putInt16Le(R[i]);
         }
-      }
-      date.setUTCFullYear(year, MM, DD);
-      date.setUTCHours(hh, mm, ss, 0);
-      if (end) {
-        c = utc.charAt(end);
-        if (c === "+" || c === "-") {
-          var hhoffset = parseInt(utc.substr(end + 1, 2), 10);
-          var mmoffset = parseInt(utc.substr(end + 4, 2), 10);
-          var offset = hhoffset * 60 + mmoffset;
-          offset *= 6e4;
-          if (c === "+") {
-            date.setTime(+date - offset);
-          } else {
-            date.setTime(+date + offset);
+      };
+      var cipher = null;
+      cipher = {
+        /**
+         * Starts or restarts the encryption or decryption process, whichever
+         * was previously configured.
+         *
+         * To use the cipher in CBC mode, iv may be given either as a string
+         * of bytes, or as a byte buffer.  For ECB mode, give null as iv.
+         *
+         * @param iv the initialization vector to use, null for ECB mode.
+         * @param output the output the buffer to write to, null to create one.
+         */
+        start: function(iv, output) {
+          if (iv) {
+            if (typeof iv === "string") {
+              iv = forge.util.createBuffer(iv);
+            }
+          }
+          _finish = false;
+          _input = forge.util.createBuffer();
+          _output = output || new forge.util.createBuffer();
+          _iv = iv;
+          cipher.output = _output;
+        },
+        /**
+         * Updates the next block.
+         *
+         * @param input the buffer to read from.
+         */
+        update: function(input) {
+          if (!_finish) {
+            _input.putBuffer(input);
+          }
+          while (_input.length() >= 8) {
+            runPlan([
+              [5, mixRound],
+              [1, mashRound],
+              [6, mixRound],
+              [1, mashRound],
+              [5, mixRound]
+            ]);
+          }
+        },
+        /**
+         * Finishes encrypting or decrypting.
+         *
+         * @param pad a padding function to use, null for PKCS#7 padding,
+         *           signature(blockSize, buffer, decrypt).
+         *
+         * @return true if successful, false on error.
+         */
+        finish: function(pad) {
+          var rval = true;
+          if (encrypt) {
+            if (pad) {
+              rval = pad(8, _input, !encrypt);
+            } else {
+              var padding = _input.length() === 8 ? 8 : 8 - _input.length();
+              _input.fillWithByte(padding, padding);
+            }
+          }
+          if (rval) {
+            _finish = true;
+            cipher.update();
+          }
+          if (!encrypt) {
+            rval = _input.length() === 0;
+            if (rval) {
+              if (pad) {
+                rval = pad(8, _output, !encrypt);
+              } else {
+                var len = _output.length();
+                var count = _output.at(len - 1);
+                if (count > len) {
+                  rval = false;
+                } else {
+                  _output.truncate(count);
+                }
+              }
+            }
           }
+          return rval;
         }
-      }
-      return date;
+      };
+      return cipher;
     };
-    asn1.generalizedTimeToDate = function(gentime) {
-      var date = /* @__PURE__ */ new Date();
-      var YYYY = parseInt(gentime.substr(0, 4), 10);
-      var MM = parseInt(gentime.substr(4, 2), 10) - 1;
-      var DD = parseInt(gentime.substr(6, 2), 10);
-      var hh = parseInt(gentime.substr(8, 2), 10);
-      var mm = parseInt(gentime.substr(10, 2), 10);
-      var ss = parseInt(gentime.substr(12, 2), 10);
-      var fff = 0;
-      var offset = 0;
-      var isUTC = false;
-      if (gentime.charAt(gentime.length - 1) === "Z") {
-        isUTC = true;
-      }
-      var end = gentime.length - 5, c = gentime.charAt(end);
-      if (c === "+" || c === "-") {
-        var hhoffset = parseInt(gentime.substr(end + 1, 2), 10);
-        var mmoffset = parseInt(gentime.substr(end + 4, 2), 10);
-        offset = hhoffset * 60 + mmoffset;
-        offset *= 6e4;
-        if (c === "+") {
-          offset *= -1;
-        }
-        isUTC = true;
-      }
-      if (gentime.charAt(14) === ".") {
-        fff = parseFloat(gentime.substr(14), 10) * 1e3;
-      }
-      if (isUTC) {
-        date.setUTCFullYear(YYYY, MM, DD);
-        date.setUTCHours(hh, mm, ss, fff);
-        date.setTime(+date + offset);
-      } else {
-        date.setFullYear(YYYY, MM, DD);
-        date.setHours(hh, mm, ss, fff);
-      }
-      return date;
+    forge.rc2.startEncrypting = function(key, iv, output) {
+      var cipher = forge.rc2.createEncryptionCipher(key, 128);
+      cipher.start(iv, output);
+      return cipher;
     };
-    asn1.dateToUtcTime = function(date) {
-      if (typeof date === "string") {
-        return date;
-      }
-      var rval = "";
-      var format = [];
-      format.push(("" + date.getUTCFullYear()).substr(2));
-      format.push("" + (date.getUTCMonth() + 1));
-      format.push("" + date.getUTCDate());
-      format.push("" + date.getUTCHours());
-      format.push("" + date.getUTCMinutes());
-      format.push("" + date.getUTCSeconds());
-      for (var i = 0; i < format.length; ++i) {
-        if (format[i].length < 2) {
-          rval += "0";
-        }
-        rval += format[i];
-      }
-      rval += "Z";
-      return rval;
+    forge.rc2.createEncryptionCipher = function(key, bits) {
+      return createCipher(key, bits, true);
     };
-    asn1.dateToGeneralizedTime = function(date) {
-      if (typeof date === "string") {
-        return date;
-      }
-      var rval = "";
-      var format = [];
-      format.push("" + date.getUTCFullYear());
-      format.push("" + (date.getUTCMonth() + 1));
-      format.push("" + date.getUTCDate());
-      format.push("" + date.getUTCHours());
-      format.push("" + date.getUTCMinutes());
-      format.push("" + date.getUTCSeconds());
-      for (var i = 0; i < format.length; ++i) {
-        if (format[i].length < 2) {
-          rval += "0";
-        }
-        rval += format[i];
-      }
-      rval += "Z";
-      return rval;
+    forge.rc2.startDecrypting = function(key, iv, output) {
+      var cipher = forge.rc2.createDecryptionCipher(key, 128);
+      cipher.start(iv, output);
+      return cipher;
     };
-    asn1.integerToDer = function(x) {
-      var rval = forge.util.createBuffer();
-      if (x >= -128 && x < 128) {
-        return rval.putSignedInt(x, 8);
+    forge.rc2.createDecryptionCipher = function(key, bits) {
+      return createCipher(key, bits, false);
+    };
+  }
+});
+
+// node_modules/node-forge/lib/jsbn.js
+var require_jsbn = __commonJS({
+  "node_modules/node-forge/lib/jsbn.js"(exports2, module2) {
+    var forge = require_forge();
+    module2.exports = forge.jsbn = forge.jsbn || {};
+    var dbits;
+    var canary = 244837814094590;
+    var j_lm = (canary & 16777215) == 15715070;
+    function BigInteger(a, b, c) {
+      this.data = [];
+      if (a != null)
+        if ("number" == typeof a) this.fromNumber(a, b, c);
+        else if (b == null && "string" != typeof a) this.fromString(a, 256);
+        else this.fromString(a, b);
+    }
+    forge.jsbn.BigInteger = BigInteger;
+    function nbi() {
+      return new BigInteger(null);
+    }
+    function am1(i, x, w, j, c, n) {
+      while (--n >= 0) {
+        var v = x * this.data[i++] + w.data[j] + c;
+        c = Math.floor(v / 67108864);
+        w.data[j++] = v & 67108863;
       }
-      if (x >= -32768 && x < 32768) {
-        return rval.putSignedInt(x, 16);
+      return c;
+    }
+    function am2(i, x, w, j, c, n) {
+      var xl = x & 32767, xh = x >> 15;
+      while (--n >= 0) {
+        var l = this.data[i] & 32767;
+        var h = this.data[i++] >> 15;
+        var m = xh * l + h * xl;
+        l = xl * l + ((m & 32767) << 15) + w.data[j] + (c & 1073741823);
+        c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);
+        w.data[j++] = l & 1073741823;
       }
-      if (x >= -8388608 && x < 8388608) {
-        return rval.putSignedInt(x, 24);
+      return c;
+    }
+    function am3(i, x, w, j, c, n) {
+      var xl = x & 16383, xh = x >> 14;
+      while (--n >= 0) {
+        var l = this.data[i] & 16383;
+        var h = this.data[i++] >> 14;
+        var m = xh * l + h * xl;
+        l = xl * l + ((m & 16383) << 14) + w.data[j] + c;
+        c = (l >> 28) + (m >> 14) + xh * h;
+        w.data[j++] = l & 268435455;
       }
-      if (x >= -2147483648 && x < 2147483648) {
-        return rval.putSignedInt(x, 32);
+      return c;
+    }
+    if (typeof navigator === "undefined") {
+      BigInteger.prototype.am = am3;
+      dbits = 28;
+    } else if (j_lm && navigator.appName == "Microsoft Internet Explorer") {
+      BigInteger.prototype.am = am2;
+      dbits = 30;
+    } else if (j_lm && navigator.appName != "Netscape") {
+      BigInteger.prototype.am = am1;
+      dbits = 26;
+    } else {
+      BigInteger.prototype.am = am3;
+      dbits = 28;
+    }
+    BigInteger.prototype.DB = dbits;
+    BigInteger.prototype.DM = (1 << dbits) - 1;
+    BigInteger.prototype.DV = 1 << dbits;
+    var BI_FP = 52;
+    BigInteger.prototype.FV = Math.pow(2, BI_FP);
+    BigInteger.prototype.F1 = BI_FP - dbits;
+    BigInteger.prototype.F2 = 2 * dbits - BI_FP;
+    var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
+    var BI_RC = new Array();
+    var rr;
+    var vv;
+    rr = "0".charCodeAt(0);
+    for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
+    rr = "a".charCodeAt(0);
+    for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
+    rr = "A".charCodeAt(0);
+    for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
+    function int2char(n) {
+      return BI_RM.charAt(n);
+    }
+    function intAt(s, i) {
+      var c = BI_RC[s.charCodeAt(i)];
+      return c == null ? -1 : c;
+    }
+    function bnpCopyTo(r) {
+      for (var i = this.t - 1; i >= 0; --i) r.data[i] = this.data[i];
+      r.t = this.t;
+      r.s = this.s;
+    }
+    function bnpFromInt(x) {
+      this.t = 1;
+      this.s = x < 0 ? -1 : 0;
+      if (x > 0) this.data[0] = x;
+      else if (x < -1) this.data[0] = x + this.DV;
+      else this.t = 0;
+    }
+    function nbv(i) {
+      var r = nbi();
+      r.fromInt(i);
+      return r;
+    }
+    function bnpFromString(s, b) {
+      var k;
+      if (b == 16) k = 4;
+      else if (b == 8) k = 3;
+      else if (b == 256) k = 8;
+      else if (b == 2) k = 1;
+      else if (b == 32) k = 5;
+      else if (b == 4) k = 2;
+      else {
+        this.fromRadix(s, b);
+        return;
       }
-      var error3 = new Error("Integer too large; max is 32-bits.");
-      error3.integer = x;
-      throw error3;
-    };
-    asn1.derToInteger = function(bytes) {
-      if (typeof bytes === "string") {
-        bytes = forge.util.createBuffer(bytes);
+      this.t = 0;
+      this.s = 0;
+      var i = s.length, mi = false, sh = 0;
+      while (--i >= 0) {
+        var x = k == 8 ? s[i] & 255 : intAt(s, i);
+        if (x < 0) {
+          if (s.charAt(i) == "-") mi = true;
+          continue;
+        }
+        mi = false;
+        if (sh == 0)
+          this.data[this.t++] = x;
+        else if (sh + k > this.DB) {
+          this.data[this.t - 1] |= (x & (1 << this.DB - sh) - 1) << sh;
+          this.data[this.t++] = x >> this.DB - sh;
+        } else
+          this.data[this.t - 1] |= x << sh;
+        sh += k;
+        if (sh >= this.DB) sh -= this.DB;
       }
-      var n = bytes.length() * 8;
-      if (n > 32) {
-        throw new Error("Integer too large; max is 32-bits.");
+      if (k == 8 && (s[0] & 128) != 0) {
+        this.s = -1;
+        if (sh > 0) this.data[this.t - 1] |= (1 << this.DB - sh) - 1 << sh;
       }
-      return bytes.getSignedInt(n);
-    };
-    asn1.validate = function(obj, v, capture, errors) {
-      var rval = false;
-      if ((obj.tagClass === v.tagClass || typeof v.tagClass === "undefined") && (obj.type === v.type || typeof v.type === "undefined")) {
-        if (obj.constructed === v.constructed || typeof v.constructed === "undefined") {
-          rval = true;
-          if (v.value && forge.util.isArray(v.value)) {
-            var j = 0;
-            for (var i = 0; rval && i < v.value.length; ++i) {
-              var schemaItem = v.value[i];
-              rval = !!schemaItem.optional;
-              var objChild = obj.value[j];
-              if (!objChild) {
-                if (!schemaItem.optional) {
-                  rval = false;
-                  if (errors) {
-                    errors.push("[" + v.name + '] Missing required element. Expected tag class "' + schemaItem.tagClass + '", type "' + schemaItem.type + '"');
-                  }
-                }
-                continue;
-              }
-              var schemaHasTag = typeof schemaItem.tagClass !== "undefined" && typeof schemaItem.type !== "undefined";
-              if (schemaHasTag && (objChild.tagClass !== schemaItem.tagClass || objChild.type !== schemaItem.type)) {
-                if (schemaItem.optional) {
-                  rval = true;
-                  continue;
-                } else {
-                  rval = false;
-                  if (errors) {
-                    errors.push("[" + v.name + "] Tag mismatch. Expected (" + schemaItem.tagClass + "," + schemaItem.type + "), got (" + objChild.tagClass + "," + objChild.type + ")");
-                  }
-                  break;
-                }
-              }
-              var childRval = asn1.validate(objChild, schemaItem, capture, errors);
-              if (childRval) {
-                ++j;
-                rval = true;
-              } else if (schemaItem.optional) {
-                rval = true;
-              } else {
-                rval = false;
-                break;
-              }
-            }
-          }
-          if (rval && capture) {
-            if (v.capture) {
-              capture[v.capture] = obj.value;
-            }
-            if (v.captureAsn1) {
-              capture[v.captureAsn1] = obj;
-            }
-            if (v.captureBitStringContents && "bitStringContents" in obj) {
-              capture[v.captureBitStringContents] = obj.bitStringContents;
-            }
-            if (v.captureBitStringValue && "bitStringContents" in obj) {
-              var value;
-              if (obj.bitStringContents.length < 2) {
-                capture[v.captureBitStringValue] = "";
-              } else {
-                var unused = obj.bitStringContents.charCodeAt(0);
-                if (unused !== 0) {
-                  throw new Error(
-                    "captureBitStringValue only supported for zero unused bits"
-                  );
-                }
-                capture[v.captureBitStringValue] = obj.bitStringContents.slice(1);
-              }
+      this.clamp();
+      if (mi) BigInteger.ZERO.subTo(this, this);
+    }
+    function bnpClamp() {
+      var c = this.s & this.DM;
+      while (this.t > 0 && this.data[this.t - 1] == c) --this.t;
+    }
+    function bnToString(b) {
+      if (this.s < 0) return "-" + this.negate().toString(b);
+      var k;
+      if (b == 16) k = 4;
+      else if (b == 8) k = 3;
+      else if (b == 2) k = 1;
+      else if (b == 32) k = 5;
+      else if (b == 4) k = 2;
+      else return this.toRadix(b);
+      var km = (1 << k) - 1, d, m = false, r = "", i = this.t;
+      var p = this.DB - i * this.DB % k;
+      if (i-- > 0) {
+        if (p < this.DB && (d = this.data[i] >> p) > 0) {
+          m = true;
+          r = int2char(d);
+        }
+        while (i >= 0) {
+          if (p < k) {
+            d = (this.data[i] & (1 << p) - 1) << k - p;
+            d |= this.data[--i] >> (p += this.DB - k);
+          } else {
+            d = this.data[i] >> (p -= k) & km;
+            if (p <= 0) {
+              p += this.DB;
+              --i;
             }
           }
-        } else if (errors) {
-          errors.push(
-            "[" + v.name + '] Expected constructed "' + v.constructed + '", got "' + obj.constructed + '"'
-          );
-        }
-      } else if (errors) {
-        if (obj.tagClass !== v.tagClass) {
-          errors.push(
-            "[" + v.name + '] Expected tag class "' + v.tagClass + '", got "' + obj.tagClass + '"'
-          );
-        }
-        if (obj.type !== v.type) {
-          errors.push(
-            "[" + v.name + '] Expected type "' + v.type + '", got "' + obj.type + '"'
-          );
+          if (d > 0) m = true;
+          if (m) r += int2char(d);
         }
       }
-      return rval;
-    };
-    var _nonLatinRegex = /[^\\u0000-\\u00ff]/;
-    asn1.prettyPrint = function(obj, level, indentation) {
-      var rval = "";
-      level = level || 0;
-      indentation = indentation || 2;
-      if (level > 0) {
-        rval += "\n";
+      return m ? r : "0";
+    }
+    function bnNegate() {
+      var r = nbi();
+      BigInteger.ZERO.subTo(this, r);
+      return r;
+    }
+    function bnAbs() {
+      return this.s < 0 ? this.negate() : this;
+    }
+    function bnCompareTo(a) {
+      var r = this.s - a.s;
+      if (r != 0) return r;
+      var i = this.t;
+      r = i - a.t;
+      if (r != 0) return this.s < 0 ? -r : r;
+      while (--i >= 0) if ((r = this.data[i] - a.data[i]) != 0) return r;
+      return 0;
+    }
+    function nbits(x) {
+      var r = 1, t;
+      if ((t = x >>> 16) != 0) {
+        x = t;
+        r += 16;
       }
-      var indent = "";
-      for (var i = 0; i < level * indentation; ++i) {
-        indent += " ";
+      if ((t = x >> 8) != 0) {
+        x = t;
+        r += 8;
       }
-      rval += indent + "Tag: ";
-      switch (obj.tagClass) {
-        case asn1.Class.UNIVERSAL:
-          rval += "Universal:";
-          break;
-        case asn1.Class.APPLICATION:
-          rval += "Application:";
-          break;
-        case asn1.Class.CONTEXT_SPECIFIC:
-          rval += "Context-Specific:";
-          break;
-        case asn1.Class.PRIVATE:
-          rval += "Private:";
-          break;
+      if ((t = x >> 4) != 0) {
+        x = t;
+        r += 4;
       }
-      if (obj.tagClass === asn1.Class.UNIVERSAL) {
-        rval += obj.type;
-        switch (obj.type) {
-          case asn1.Type.NONE:
-            rval += " (None)";
-            break;
-          case asn1.Type.BOOLEAN:
-            rval += " (Boolean)";
-            break;
-          case asn1.Type.INTEGER:
-            rval += " (Integer)";
-            break;
-          case asn1.Type.BITSTRING:
-            rval += " (Bit string)";
-            break;
-          case asn1.Type.OCTETSTRING:
-            rval += " (Octet string)";
-            break;
-          case asn1.Type.NULL:
-            rval += " (Null)";
-            break;
-          case asn1.Type.OID:
-            rval += " (Object Identifier)";
-            break;
-          case asn1.Type.ODESC:
-            rval += " (Object Descriptor)";
-            break;
-          case asn1.Type.EXTERNAL:
-            rval += " (External or Instance of)";
-            break;
-          case asn1.Type.REAL:
-            rval += " (Real)";
-            break;
-          case asn1.Type.ENUMERATED:
-            rval += " (Enumerated)";
-            break;
-          case asn1.Type.EMBEDDED:
-            rval += " (Embedded PDV)";
-            break;
-          case asn1.Type.UTF8:
-            rval += " (UTF8)";
-            break;
-          case asn1.Type.ROID:
-            rval += " (Relative Object Identifier)";
-            break;
-          case asn1.Type.SEQUENCE:
-            rval += " (Sequence)";
-            break;
-          case asn1.Type.SET:
-            rval += " (Set)";
-            break;
-          case asn1.Type.PRINTABLESTRING:
-            rval += " (Printable String)";
-            break;
-          case asn1.Type.IA5String:
-            rval += " (IA5String (ASCII))";
-            break;
-          case asn1.Type.UTCTIME:
-            rval += " (UTC time)";
-            break;
-          case asn1.Type.GENERALIZEDTIME:
-            rval += " (Generalized time)";
-            break;
-          case asn1.Type.BMPSTRING:
-            rval += " (BMP String)";
-            break;
+      if ((t = x >> 2) != 0) {
+        x = t;
+        r += 2;
+      }
+      if ((t = x >> 1) != 0) {
+        x = t;
+        r += 1;
+      }
+      return r;
+    }
+    function bnBitLength() {
+      if (this.t <= 0) return 0;
+      return this.DB * (this.t - 1) + nbits(this.data[this.t - 1] ^ this.s & this.DM);
+    }
+    function bnpDLShiftTo(n, r) {
+      var i;
+      for (i = this.t - 1; i >= 0; --i) r.data[i + n] = this.data[i];
+      for (i = n - 1; i >= 0; --i) r.data[i] = 0;
+      r.t = this.t + n;
+      r.s = this.s;
+    }
+    function bnpDRShiftTo(n, r) {
+      for (var i = n; i < this.t; ++i) r.data[i - n] = this.data[i];
+      r.t = Math.max(this.t - n, 0);
+      r.s = this.s;
+    }
+    function bnpLShiftTo(n, r) {
+      var bs = n % this.DB;
+      var cbs = this.DB - bs;
+      var bm = (1 << cbs) - 1;
+      var ds = Math.floor(n / this.DB), c = this.s << bs & this.DM, i;
+      for (i = this.t - 1; i >= 0; --i) {
+        r.data[i + ds + 1] = this.data[i] >> cbs | c;
+        c = (this.data[i] & bm) << bs;
+      }
+      for (i = ds - 1; i >= 0; --i) r.data[i] = 0;
+      r.data[ds] = c;
+      r.t = this.t + ds + 1;
+      r.s = this.s;
+      r.clamp();
+    }
+    function bnpRShiftTo(n, r) {
+      r.s = this.s;
+      var ds = Math.floor(n / this.DB);
+      if (ds >= this.t) {
+        r.t = 0;
+        return;
+      }
+      var bs = n % this.DB;
+      var cbs = this.DB - bs;
+      var bm = (1 << bs) - 1;
+      r.data[0] = this.data[ds] >> bs;
+      for (var i = ds + 1; i < this.t; ++i) {
+        r.data[i - ds - 1] |= (this.data[i] & bm) << cbs;
+        r.data[i - ds] = this.data[i] >> bs;
+      }
+      if (bs > 0) r.data[this.t - ds - 1] |= (this.s & bm) << cbs;
+      r.t = this.t - ds;
+      r.clamp();
+    }
+    function bnpSubTo(a, r) {
+      var i = 0, c = 0, m = Math.min(a.t, this.t);
+      while (i < m) {
+        c += this.data[i] - a.data[i];
+        r.data[i++] = c & this.DM;
+        c >>= this.DB;
+      }
+      if (a.t < this.t) {
+        c -= a.s;
+        while (i < this.t) {
+          c += this.data[i];
+          r.data[i++] = c & this.DM;
+          c >>= this.DB;
         }
+        c += this.s;
       } else {
-        rval += obj.type;
+        c += this.s;
+        while (i < a.t) {
+          c -= a.data[i];
+          r.data[i++] = c & this.DM;
+          c >>= this.DB;
+        }
+        c -= a.s;
       }
-      rval += "\n";
-      rval += indent + "Constructed: " + obj.constructed + "\n";
-      if (obj.composed) {
-        var subvalues = 0;
-        var sub = "";
-        for (var i = 0; i < obj.value.length; ++i) {
-          if (obj.value[i] !== void 0) {
-            subvalues += 1;
-            sub += asn1.prettyPrint(obj.value[i], level + 1, indentation);
-            if (i + 1 < obj.value.length) {
-              sub += ",";
-            }
-          }
+      r.s = c < 0 ? -1 : 0;
+      if (c < -1) r.data[i++] = this.DV + c;
+      else if (c > 0) r.data[i++] = c;
+      r.t = i;
+      r.clamp();
+    }
+    function bnpMultiplyTo(a, r) {
+      var x = this.abs(), y = a.abs();
+      var i = x.t;
+      r.t = i + y.t;
+      while (--i >= 0) r.data[i] = 0;
+      for (i = 0; i < y.t; ++i) r.data[i + x.t] = x.am(0, y.data[i], r, i, 0, x.t);
+      r.s = 0;
+      r.clamp();
+      if (this.s != a.s) BigInteger.ZERO.subTo(r, r);
+    }
+    function bnpSquareTo(r) {
+      var x = this.abs();
+      var i = r.t = 2 * x.t;
+      while (--i >= 0) r.data[i] = 0;
+      for (i = 0; i < x.t - 1; ++i) {
+        var c = x.am(i, x.data[i], r, 2 * i, 0, 1);
+        if ((r.data[i + x.t] += x.am(i + 1, 2 * x.data[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
+          r.data[i + x.t] -= x.DV;
+          r.data[i + x.t + 1] = 1;
         }
-        rval += indent + "Sub values: " + subvalues + sub;
+      }
+      if (r.t > 0) r.data[r.t - 1] += x.am(i, x.data[i], r, 2 * i, 0, 1);
+      r.s = 0;
+      r.clamp();
+    }
+    function bnpDivRemTo(m, q, r) {
+      var pm = m.abs();
+      if (pm.t <= 0) return;
+      var pt = this.abs();
+      if (pt.t < pm.t) {
+        if (q != null) q.fromInt(0);
+        if (r != null) this.copyTo(r);
+        return;
+      }
+      if (r == null) r = nbi();
+      var y = nbi(), ts = this.s, ms = m.s;
+      var nsh = this.DB - nbits(pm.data[pm.t - 1]);
+      if (nsh > 0) {
+        pm.lShiftTo(nsh, y);
+        pt.lShiftTo(nsh, r);
       } else {
-        rval += indent + "Value: ";
-        if (obj.type === asn1.Type.OID) {
-          var oid = asn1.derToOid(obj.value);
-          rval += oid;
-          if (forge.pki && forge.pki.oids) {
-            if (oid in forge.pki.oids) {
-              rval += " (" + forge.pki.oids[oid] + ") ";
-            }
-          }
-        }
-        if (obj.type === asn1.Type.INTEGER) {
-          try {
-            rval += asn1.derToInteger(obj.value);
-          } catch (ex) {
-            rval += "0x" + forge.util.bytesToHex(obj.value);
-          }
-        } else if (obj.type === asn1.Type.BITSTRING) {
-          if (obj.value.length > 1) {
-            rval += "0x" + forge.util.bytesToHex(obj.value.slice(1));
-          } else {
-            rval += "(none)";
-          }
-          if (obj.value.length > 0) {
-            var unused = obj.value.charCodeAt(0);
-            if (unused == 1) {
-              rval += " (1 unused bit shown)";
-            } else if (unused > 1) {
-              rval += " (" + unused + " unused bits shown)";
-            }
-          }
-        } else if (obj.type === asn1.Type.OCTETSTRING) {
-          if (!_nonLatinRegex.test(obj.value)) {
-            rval += "(" + obj.value + ") ";
-          }
-          rval += "0x" + forge.util.bytesToHex(obj.value);
-        } else if (obj.type === asn1.Type.UTF8) {
-          try {
-            rval += forge.util.decodeUtf8(obj.value);
-          } catch (e) {
-            if (e.message === "URI malformed") {
-              rval += "0x" + forge.util.bytesToHex(obj.value) + " (malformed UTF8)";
-            } else {
-              throw e;
-            }
-          }
-        } else if (obj.type === asn1.Type.PRINTABLESTRING || obj.type === asn1.Type.IA5String) {
-          rval += obj.value;
-        } else if (_nonLatinRegex.test(obj.value)) {
-          rval += "0x" + forge.util.bytesToHex(obj.value);
-        } else if (obj.value.length === 0) {
-          rval += "[null]";
-        } else {
-          rval += obj.value;
+        pm.copyTo(y);
+        pt.copyTo(r);
+      }
+      var ys = y.t;
+      var y0 = y.data[ys - 1];
+      if (y0 == 0) return;
+      var yt = y0 * (1 << this.F1) + (ys > 1 ? y.data[ys - 2] >> this.F2 : 0);
+      var d1 = this.FV / yt, d2 = (1 << this.F1) / yt, e = 1 << this.F2;
+      var i = r.t, j = i - ys, t = q == null ? nbi() : q;
+      y.dlShiftTo(j, t);
+      if (r.compareTo(t) >= 0) {
+        r.data[r.t++] = 1;
+        r.subTo(t, r);
+      }
+      BigInteger.ONE.dlShiftTo(ys, t);
+      t.subTo(y, y);
+      while (y.t < ys) y.data[y.t++] = 0;
+      while (--j >= 0) {
+        var qd = r.data[--i] == y0 ? this.DM : Math.floor(r.data[i] * d1 + (r.data[i - 1] + e) * d2);
+        if ((r.data[i] += y.am(0, qd, r, j, 0, ys)) < qd) {
+          y.dlShiftTo(j, t);
+          r.subTo(t, r);
+          while (r.data[i] < --qd) r.subTo(t, r);
         }
       }
-      return rval;
-    };
-  }
-});
-
-// node_modules/node-forge/lib/md.js
-var require_md = __commonJS({
-  "node_modules/node-forge/lib/md.js"(exports2, module2) {
-    var forge = require_forge();
-    module2.exports = forge.md = forge.md || {};
-    forge.md.algorithms = forge.md.algorithms || {};
-  }
-});
-
-// node_modules/node-forge/lib/hmac.js
-var require_hmac = __commonJS({
-  "node_modules/node-forge/lib/hmac.js"(exports2, module2) {
-    var forge = require_forge();
-    require_md();
-    require_util9();
-    var hmac = module2.exports = forge.hmac = forge.hmac || {};
-    hmac.create = function() {
-      var _key = null;
-      var _md = null;
-      var _ipadding = null;
-      var _opadding = null;
-      var ctx = {};
-      ctx.start = function(md, key) {
-        if (md !== null) {
-          if (typeof md === "string") {
-            md = md.toLowerCase();
-            if (md in forge.md.algorithms) {
-              _md = forge.md.algorithms[md].create();
-            } else {
-              throw new Error('Unknown hash algorithm "' + md + '"');
-            }
-          } else {
-            _md = md;
-          }
+      if (q != null) {
+        r.drShiftTo(ys, q);
+        if (ts != ms) BigInteger.ZERO.subTo(q, q);
+      }
+      r.t = ys;
+      r.clamp();
+      if (nsh > 0) r.rShiftTo(nsh, r);
+      if (ts < 0) BigInteger.ZERO.subTo(r, r);
+    }
+    function bnMod(a) {
+      var r = nbi();
+      this.abs().divRemTo(a, null, r);
+      if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);
+      return r;
+    }
+    function Classic(m) {
+      this.m = m;
+    }
+    function cConvert(x) {
+      if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
+      else return x;
+    }
+    function cRevert(x) {
+      return x;
+    }
+    function cReduce(x) {
+      x.divRemTo(this.m, null, x);
+    }
+    function cMulTo(x, y, r) {
+      x.multiplyTo(y, r);
+      this.reduce(r);
+    }
+    function cSqrTo(x, r) {
+      x.squareTo(r);
+      this.reduce(r);
+    }
+    Classic.prototype.convert = cConvert;
+    Classic.prototype.revert = cRevert;
+    Classic.prototype.reduce = cReduce;
+    Classic.prototype.mulTo = cMulTo;
+    Classic.prototype.sqrTo = cSqrTo;
+    function bnpInvDigit() {
+      if (this.t < 1) return 0;
+      var x = this.data[0];
+      if ((x & 1) == 0) return 0;
+      var y = x & 3;
+      y = y * (2 - (x & 15) * y) & 15;
+      y = y * (2 - (x & 255) * y) & 255;
+      y = y * (2 - ((x & 65535) * y & 65535)) & 65535;
+      y = y * (2 - x * y % this.DV) % this.DV;
+      return y > 0 ? this.DV - y : -y;
+    }
+    function Montgomery(m) {
+      this.m = m;
+      this.mp = m.invDigit();
+      this.mpl = this.mp & 32767;
+      this.mph = this.mp >> 15;
+      this.um = (1 << m.DB - 15) - 1;
+      this.mt2 = 2 * m.t;
+    }
+    function montConvert(x) {
+      var r = nbi();
+      x.abs().dlShiftTo(this.m.t, r);
+      r.divRemTo(this.m, null, r);
+      if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);
+      return r;
+    }
+    function montRevert(x) {
+      var r = nbi();
+      x.copyTo(r);
+      this.reduce(r);
+      return r;
+    }
+    function montReduce(x) {
+      while (x.t <= this.mt2)
+        x.data[x.t++] = 0;
+      for (var i = 0; i < this.m.t; ++i) {
+        var j = x.data[i] & 32767;
+        var u0 = j * this.mpl + ((j * this.mph + (x.data[i] >> 15) * this.mpl & this.um) << 15) & x.DM;
+        j = i + this.m.t;
+        x.data[j] += this.m.am(0, u0, x, i, 0, this.m.t);
+        while (x.data[j] >= x.DV) {
+          x.data[j] -= x.DV;
+          x.data[++j]++;
         }
-        if (key === null) {
-          key = _key;
-        } else {
-          if (typeof key === "string") {
-            key = forge.util.createBuffer(key);
-          } else if (forge.util.isArray(key)) {
-            var tmp = key;
-            key = forge.util.createBuffer();
-            for (var i = 0; i < tmp.length; ++i) {
-              key.putByte(tmp[i]);
-            }
-          }
-          var keylen = key.length();
-          if (keylen > _md.blockLength) {
-            _md.start();
-            _md.update(key.bytes());
-            key = _md.digest();
-          }
-          _ipadding = forge.util.createBuffer();
-          _opadding = forge.util.createBuffer();
-          keylen = key.length();
-          for (var i = 0; i < keylen; ++i) {
-            var tmp = key.at(i);
-            _ipadding.putByte(54 ^ tmp);
-            _opadding.putByte(92 ^ tmp);
-          }
-          if (keylen < _md.blockLength) {
-            var tmp = _md.blockLength - keylen;
-            for (var i = 0; i < tmp; ++i) {
-              _ipadding.putByte(54);
-              _opadding.putByte(92);
-            }
-          }
-          _key = key;
-          _ipadding = _ipadding.bytes();
-          _opadding = _opadding.bytes();
+      }
+      x.clamp();
+      x.drShiftTo(this.m.t, x);
+      if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);
+    }
+    function montSqrTo(x, r) {
+      x.squareTo(r);
+      this.reduce(r);
+    }
+    function montMulTo(x, y, r) {
+      x.multiplyTo(y, r);
+      this.reduce(r);
+    }
+    Montgomery.prototype.convert = montConvert;
+    Montgomery.prototype.revert = montRevert;
+    Montgomery.prototype.reduce = montReduce;
+    Montgomery.prototype.mulTo = montMulTo;
+    Montgomery.prototype.sqrTo = montSqrTo;
+    function bnpIsEven() {
+      return (this.t > 0 ? this.data[0] & 1 : this.s) == 0;
+    }
+    function bnpExp(e, z) {
+      if (e > 4294967295 || e < 1) return BigInteger.ONE;
+      var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e) - 1;
+      g.copyTo(r);
+      while (--i >= 0) {
+        z.sqrTo(r, r2);
+        if ((e & 1 << i) > 0) z.mulTo(r2, g, r);
+        else {
+          var t = r;
+          r = r2;
+          r2 = t;
         }
-        _md.start();
-        _md.update(_ipadding);
-      };
-      ctx.update = function(bytes) {
-        _md.update(bytes);
-      };
-      ctx.getMac = function() {
-        var inner = _md.digest().bytes();
-        _md.start();
-        _md.update(_opadding);
-        _md.update(inner);
-        return _md.digest();
-      };
-      ctx.digest = ctx.getMac;
-      return ctx;
-    };
-  }
-});
-
-// node_modules/node-forge/lib/md5.js
-var require_md5 = __commonJS({
-  "node_modules/node-forge/lib/md5.js"(exports2, module2) {
-    var forge = require_forge();
-    require_md();
-    require_util9();
-    var md5 = module2.exports = forge.md5 = forge.md5 || {};
-    forge.md.md5 = forge.md.algorithms.md5 = md5;
-    md5.create = function() {
-      if (!_initialized) {
-        _init();
       }
-      var _state = null;
-      var _input = forge.util.createBuffer();
-      var _w = new Array(16);
-      var md = {
-        algorithm: "md5",
-        blockLength: 64,
-        digestLength: 16,
-        // 56-bit length of message so far (does not including padding)
-        messageLength: 0,
-        // true message length
-        fullMessageLength: null,
-        // size of message length in bytes
-        messageLengthSize: 8
-      };
-      md.start = function() {
-        md.messageLength = 0;
-        md.fullMessageLength = md.messageLength64 = [];
-        var int32s = md.messageLengthSize / 4;
-        for (var i = 0; i < int32s; ++i) {
-          md.fullMessageLength.push(0);
-        }
-        _input = forge.util.createBuffer();
-        _state = {
-          h0: 1732584193,
-          h1: 4023233417,
-          h2: 2562383102,
-          h3: 271733878
-        };
-        return md;
-      };
-      md.start();
-      md.update = function(msg, encoding) {
-        if (encoding === "utf8") {
-          msg = forge.util.encodeUtf8(msg);
-        }
-        var len = msg.length;
-        md.messageLength += len;
-        len = [len / 4294967296 >>> 0, len >>> 0];
-        for (var i = md.fullMessageLength.length - 1; i >= 0; --i) {
-          md.fullMessageLength[i] += len[1];
-          len[1] = len[0] + (md.fullMessageLength[i] / 4294967296 >>> 0);
-          md.fullMessageLength[i] = md.fullMessageLength[i] >>> 0;
-          len[0] = len[1] / 4294967296 >>> 0;
-        }
-        _input.putBytes(msg);
-        _update(_state, _w, _input);
-        if (_input.read > 2048 || _input.length() === 0) {
-          _input.compact();
-        }
-        return md;
-      };
-      md.digest = function() {
-        var finalBlock = forge.util.createBuffer();
-        finalBlock.putBytes(_input.bytes());
-        var remaining = md.fullMessageLength[md.fullMessageLength.length - 1] + md.messageLengthSize;
-        var overflow = remaining & md.blockLength - 1;
-        finalBlock.putBytes(_padding.substr(0, md.blockLength - overflow));
-        var bits, carry = 0;
-        for (var i = md.fullMessageLength.length - 1; i >= 0; --i) {
-          bits = md.fullMessageLength[i] * 8 + carry;
-          carry = bits / 4294967296 >>> 0;
-          finalBlock.putInt32Le(bits >>> 0);
-        }
-        var s2 = {
-          h0: _state.h0,
-          h1: _state.h1,
-          h2: _state.h2,
-          h3: _state.h3
-        };
-        _update(s2, _w, finalBlock);
-        var rval = forge.util.createBuffer();
-        rval.putInt32Le(s2.h0);
-        rval.putInt32Le(s2.h1);
-        rval.putInt32Le(s2.h2);
-        rval.putInt32Le(s2.h3);
-        return rval;
-      };
-      return md;
-    };
-    var _padding = null;
-    var _g = null;
-    var _r = null;
-    var _k = null;
-    var _initialized = false;
-    function _init() {
-      _padding = String.fromCharCode(128);
-      _padding += forge.util.fillString(String.fromCharCode(0), 64);
-      _g = [
-        0,
-        1,
-        2,
-        3,
-        4,
-        5,
-        6,
-        7,
-        8,
-        9,
-        10,
-        11,
-        12,
-        13,
-        14,
-        15,
-        1,
-        6,
-        11,
-        0,
-        5,
-        10,
-        15,
-        4,
-        9,
-        14,
-        3,
-        8,
-        13,
-        2,
-        7,
-        12,
-        5,
-        8,
-        11,
-        14,
-        1,
-        4,
-        7,
-        10,
-        13,
-        0,
-        3,
-        6,
-        9,
-        12,
-        15,
-        2,
-        0,
-        7,
-        14,
-        5,
-        12,
-        3,
-        10,
-        1,
-        8,
-        15,
-        6,
-        13,
-        4,
-        11,
-        2,
-        9
-      ];
-      _r = [
-        7,
-        12,
-        17,
-        22,
-        7,
-        12,
-        17,
-        22,
-        7,
-        12,
-        17,
-        22,
-        7,
-        12,
-        17,
-        22,
-        5,
-        9,
-        14,
-        20,
-        5,
-        9,
-        14,
-        20,
-        5,
-        9,
-        14,
-        20,
-        5,
-        9,
-        14,
-        20,
-        4,
-        11,
-        16,
-        23,
-        4,
-        11,
-        16,
-        23,
-        4,
-        11,
-        16,
-        23,
-        4,
-        11,
-        16,
-        23,
-        6,
-        10,
-        15,
-        21,
-        6,
-        10,
-        15,
-        21,
-        6,
-        10,
-        15,
-        21,
-        6,
-        10,
-        15,
-        21
-      ];
-      _k = new Array(64);
-      for (var i = 0; i < 64; ++i) {
-        _k[i] = Math.floor(Math.abs(Math.sin(i + 1)) * 4294967296);
-      }
-      _initialized = true;
+      return z.revert(r);
     }
-    function _update(s, w, bytes) {
-      var t, a, b, c, d, f, r, i;
-      var len = bytes.length();
-      while (len >= 64) {
-        a = s.h0;
-        b = s.h1;
-        c = s.h2;
-        d = s.h3;
-        for (i = 0; i < 16; ++i) {
-          w[i] = bytes.getInt32Le();
-          f = d ^ b & (c ^ d);
-          t = a + f + _k[i] + w[i];
-          r = _r[i];
-          a = d;
-          d = c;
-          c = b;
-          b += t << r | t >>> 32 - r;
-        }
-        for (; i < 32; ++i) {
-          f = c ^ d & (b ^ c);
-          t = a + f + _k[i] + w[_g[i]];
-          r = _r[i];
-          a = d;
-          d = c;
-          c = b;
-          b += t << r | t >>> 32 - r;
-        }
-        for (; i < 48; ++i) {
-          f = b ^ c ^ d;
-          t = a + f + _k[i] + w[_g[i]];
-          r = _r[i];
-          a = d;
-          d = c;
-          c = b;
-          b += t << r | t >>> 32 - r;
-        }
-        for (; i < 64; ++i) {
-          f = c ^ (b | ~d);
-          t = a + f + _k[i] + w[_g[i]];
-          r = _r[i];
-          a = d;
-          d = c;
-          c = b;
-          b += t << r | t >>> 32 - r;
-        }
-        s.h0 = s.h0 + a | 0;
-        s.h1 = s.h1 + b | 0;
-        s.h2 = s.h2 + c | 0;
-        s.h3 = s.h3 + d | 0;
-        len -= 64;
-      }
+    function bnModPowInt(e, m) {
+      var z;
+      if (e < 256 || m.isEven()) z = new Classic(m);
+      else z = new Montgomery(m);
+      return this.exp(e, z);
     }
-  }
-});
-
-// node_modules/node-forge/lib/pem.js
-var require_pem = __commonJS({
-  "node_modules/node-forge/lib/pem.js"(exports2, module2) {
-    var forge = require_forge();
-    require_util9();
-    var pem = module2.exports = forge.pem = forge.pem || {};
-    pem.encode = function(msg, options) {
-      options = options || {};
-      var rval = "-----BEGIN " + msg.type + "-----\r\n";
-      var header;
-      if (msg.procType) {
-        header = {
-          name: "Proc-Type",
-          values: [String(msg.procType.version), msg.procType.type]
-        };
-        rval += foldHeader(header);
-      }
-      if (msg.contentDomain) {
-        header = { name: "Content-Domain", values: [msg.contentDomain] };
-        rval += foldHeader(header);
+    BigInteger.prototype.copyTo = bnpCopyTo;
+    BigInteger.prototype.fromInt = bnpFromInt;
+    BigInteger.prototype.fromString = bnpFromString;
+    BigInteger.prototype.clamp = bnpClamp;
+    BigInteger.prototype.dlShiftTo = bnpDLShiftTo;
+    BigInteger.prototype.drShiftTo = bnpDRShiftTo;
+    BigInteger.prototype.lShiftTo = bnpLShiftTo;
+    BigInteger.prototype.rShiftTo = bnpRShiftTo;
+    BigInteger.prototype.subTo = bnpSubTo;
+    BigInteger.prototype.multiplyTo = bnpMultiplyTo;
+    BigInteger.prototype.squareTo = bnpSquareTo;
+    BigInteger.prototype.divRemTo = bnpDivRemTo;
+    BigInteger.prototype.invDigit = bnpInvDigit;
+    BigInteger.prototype.isEven = bnpIsEven;
+    BigInteger.prototype.exp = bnpExp;
+    BigInteger.prototype.toString = bnToString;
+    BigInteger.prototype.negate = bnNegate;
+    BigInteger.prototype.abs = bnAbs;
+    BigInteger.prototype.compareTo = bnCompareTo;
+    BigInteger.prototype.bitLength = bnBitLength;
+    BigInteger.prototype.mod = bnMod;
+    BigInteger.prototype.modPowInt = bnModPowInt;
+    BigInteger.ZERO = nbv(0);
+    BigInteger.ONE = nbv(1);
+    function bnClone() {
+      var r = nbi();
+      this.copyTo(r);
+      return r;
+    }
+    function bnIntValue() {
+      if (this.s < 0) {
+        if (this.t == 1) return this.data[0] - this.DV;
+        else if (this.t == 0) return -1;
+      } else if (this.t == 1) return this.data[0];
+      else if (this.t == 0) return 0;
+      return (this.data[1] & (1 << 32 - this.DB) - 1) << this.DB | this.data[0];
+    }
+    function bnByteValue() {
+      return this.t == 0 ? this.s : this.data[0] << 24 >> 24;
+    }
+    function bnShortValue() {
+      return this.t == 0 ? this.s : this.data[0] << 16 >> 16;
+    }
+    function bnpChunkSize(r) {
+      return Math.floor(Math.LN2 * this.DB / Math.log(r));
+    }
+    function bnSigNum() {
+      if (this.s < 0) return -1;
+      else if (this.t <= 0 || this.t == 1 && this.data[0] <= 0) return 0;
+      else return 1;
+    }
+    function bnpToRadix(b) {
+      if (b == null) b = 10;
+      if (this.signum() == 0 || b < 2 || b > 36) return "0";
+      var cs = this.chunkSize(b);
+      var a = Math.pow(b, cs);
+      var d = nbv(a), y = nbi(), z = nbi(), r = "";
+      this.divRemTo(d, y, z);
+      while (y.signum() > 0) {
+        r = (a + z.intValue()).toString(b).substr(1) + r;
+        y.divRemTo(d, y, z);
       }
-      if (msg.dekInfo) {
-        header = { name: "DEK-Info", values: [msg.dekInfo.algorithm] };
-        if (msg.dekInfo.parameters) {
-          header.values.push(msg.dekInfo.parameters);
+      return z.intValue().toString(b) + r;
+    }
+    function bnpFromRadix(s, b) {
+      this.fromInt(0);
+      if (b == null) b = 10;
+      var cs = this.chunkSize(b);
+      var d = Math.pow(b, cs), mi = false, j = 0, w = 0;
+      for (var i = 0; i < s.length; ++i) {
+        var x = intAt(s, i);
+        if (x < 0) {
+          if (s.charAt(i) == "-" && this.signum() == 0) mi = true;
+          continue;
         }
-        rval += foldHeader(header);
-      }
-      if (msg.headers) {
-        for (var i = 0; i < msg.headers.length; ++i) {
-          rval += foldHeader(msg.headers[i]);
+        w = b * w + x;
+        if (++j >= cs) {
+          this.dMultiply(d);
+          this.dAddOffset(w, 0);
+          j = 0;
+          w = 0;
         }
       }
-      if (msg.procType) {
-        rval += "\r\n";
+      if (j > 0) {
+        this.dMultiply(Math.pow(b, j));
+        this.dAddOffset(w, 0);
       }
-      rval += forge.util.encode64(msg.body, options.maxline || 64) + "\r\n";
-      rval += "-----END " + msg.type + "-----\r\n";
-      return rval;
-    };
-    pem.decode = function(str2) {
-      var rval = [];
-      var rMessage = /\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g;
-      var rHeader = /([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/;
-      var rCRLF = /\r?\n/;
-      var match;
-      while (true) {
-        match = rMessage.exec(str2);
-        if (!match) {
-          break;
-        }
-        var type2 = match[1];
-        if (type2 === "NEW CERTIFICATE REQUEST") {
-          type2 = "CERTIFICATE REQUEST";
-        }
-        var msg = {
-          type: type2,
-          procType: null,
-          contentDomain: null,
-          dekInfo: null,
-          headers: [],
-          body: forge.util.decode64(match[3])
-        };
-        rval.push(msg);
-        if (!match[2]) {
-          continue;
-        }
-        var lines = match[2].split(rCRLF);
-        var li = 0;
-        while (match && li < lines.length) {
-          var line = lines[li].replace(/\s+$/, "");
-          for (var nl = li + 1; nl < lines.length; ++nl) {
-            var next = lines[nl];
-            if (!/\s/.test(next[0])) {
-              break;
-            }
-            line += next;
-            li = nl;
+      if (mi) BigInteger.ZERO.subTo(this, this);
+    }
+    function bnpFromNumber(a, b, c) {
+      if ("number" == typeof b) {
+        if (a < 2) this.fromInt(1);
+        else {
+          this.fromNumber(a, c);
+          if (!this.testBit(a - 1))
+            this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this);
+          if (this.isEven()) this.dAddOffset(1, 0);
+          while (!this.isProbablePrime(b)) {
+            this.dAddOffset(2, 0);
+            if (this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);
           }
-          match = line.match(rHeader);
-          if (match) {
-            var header = { name: match[1], values: [] };
-            var values = match[2].split(",");
-            for (var vi = 0; vi < values.length; ++vi) {
-              header.values.push(ltrim(values[vi]));
-            }
-            if (!msg.procType) {
-              if (header.name !== "Proc-Type") {
-                throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');
-              } else if (header.values.length !== 2) {
-                throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');
-              }
-              msg.procType = { version: values[0], type: values[1] };
-            } else if (!msg.contentDomain && header.name === "Content-Domain") {
-              msg.contentDomain = values[0] || "";
-            } else if (!msg.dekInfo && header.name === "DEK-Info") {
-              if (header.values.length === 0) {
-                throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');
-              }
-              msg.dekInfo = { algorithm: values[0], parameters: values[1] || null };
-            } else {
-              msg.headers.push(header);
+        }
+      } else {
+        var x = new Array(), t = a & 7;
+        x.length = (a >> 3) + 1;
+        b.nextBytes(x);
+        if (t > 0) x[0] &= (1 << t) - 1;
+        else x[0] = 0;
+        this.fromString(x, 256);
+      }
+    }
+    function bnToByteArray() {
+      var i = this.t, r = new Array();
+      r[0] = this.s;
+      var p = this.DB - i * this.DB % 8, d, k = 0;
+      if (i-- > 0) {
+        if (p < this.DB && (d = this.data[i] >> p) != (this.s & this.DM) >> p)
+          r[k++] = d | this.s << this.DB - p;
+        while (i >= 0) {
+          if (p < 8) {
+            d = (this.data[i] & (1 << p) - 1) << 8 - p;
+            d |= this.data[--i] >> (p += this.DB - 8);
+          } else {
+            d = this.data[i] >> (p -= 8) & 255;
+            if (p <= 0) {
+              p += this.DB;
+              --i;
             }
           }
-          ++li;
-        }
-        if (msg.procType === "ENCRYPTED" && !msg.dekInfo) {
-          throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".');
+          if ((d & 128) != 0) d |= -256;
+          if (k == 0 && (this.s & 128) != (d & 128)) ++k;
+          if (k > 0 || d != this.s) r[k++] = d;
         }
       }
-      if (rval.length === 0) {
-        throw new Error("Invalid PEM formatted message.");
-      }
-      return rval;
-    };
-    function foldHeader(header) {
-      var rval = header.name + ": ";
-      var values = [];
-      var insertSpace = function(match, $1) {
-        return " " + $1;
-      };
-      for (var i = 0; i < header.values.length; ++i) {
-        values.push(header.values[i].replace(/^(\S+\r\n)/, insertSpace));
-      }
-      rval += values.join(",") + "\r\n";
-      var length = 0;
-      var candidate = -1;
-      for (var i = 0; i < rval.length; ++i, ++length) {
-        if (length > 65 && candidate !== -1) {
-          var insert = rval[candidate];
-          if (insert === ",") {
-            ++candidate;
-            rval = rval.substr(0, candidate) + "\r\n " + rval.substr(candidate);
-          } else {
-            rval = rval.substr(0, candidate) + "\r\n" + insert + rval.substr(candidate + 1);
-          }
-          length = i - candidate - 1;
-          candidate = -1;
-          ++i;
-        } else if (rval[i] === " " || rval[i] === "	" || rval[i] === ",") {
-          candidate = i;
-        }
-      }
-      return rval;
+      return r;
     }
-    function ltrim(str2) {
-      return str2.replace(/^\s+/, "");
+    function bnEquals(a) {
+      return this.compareTo(a) == 0;
     }
-  }
-});
-
-// node_modules/node-forge/lib/des.js
-var require_des = __commonJS({
-  "node_modules/node-forge/lib/des.js"(exports2, module2) {
-    var forge = require_forge();
-    require_cipher();
-    require_cipherModes();
-    require_util9();
-    module2.exports = forge.des = forge.des || {};
-    forge.des.startEncrypting = function(key, iv, output, mode) {
-      var cipher = _createCipher({
-        key,
-        output,
-        decrypt: false,
-        mode: mode || (iv === null ? "ECB" : "CBC")
-      });
-      cipher.start(iv);
-      return cipher;
-    };
-    forge.des.createEncryptionCipher = function(key, mode) {
-      return _createCipher({
-        key,
-        output: null,
-        decrypt: false,
-        mode
-      });
-    };
-    forge.des.startDecrypting = function(key, iv, output, mode) {
-      var cipher = _createCipher({
-        key,
-        output,
-        decrypt: true,
-        mode: mode || (iv === null ? "ECB" : "CBC")
-      });
-      cipher.start(iv);
-      return cipher;
-    };
-    forge.des.createDecryptionCipher = function(key, mode) {
-      return _createCipher({
-        key,
-        output: null,
-        decrypt: true,
-        mode
-      });
-    };
-    forge.des.Algorithm = function(name, mode) {
-      var self2 = this;
-      self2.name = name;
-      self2.mode = new mode({
-        blockSize: 8,
-        cipher: {
-          encrypt: function(inBlock, outBlock) {
-            return _updateBlock(self2._keys, inBlock, outBlock, false);
-          },
-          decrypt: function(inBlock, outBlock) {
-            return _updateBlock(self2._keys, inBlock, outBlock, true);
-          }
-        }
-      });
-      self2._init = false;
-    };
-    forge.des.Algorithm.prototype.initialize = function(options) {
-      if (this._init) {
-        return;
-      }
-      var key = forge.util.createBuffer(options.key);
-      if (this.name.indexOf("3DES") === 0) {
-        if (key.length() !== 24) {
-          throw new Error("Invalid Triple-DES key size: " + key.length() * 8);
-        }
-      }
-      this._keys = _createKeys(key);
-      this._init = true;
-    };
-    registerAlgorithm("DES-ECB", forge.cipher.modes.ecb);
-    registerAlgorithm("DES-CBC", forge.cipher.modes.cbc);
-    registerAlgorithm("DES-CFB", forge.cipher.modes.cfb);
-    registerAlgorithm("DES-OFB", forge.cipher.modes.ofb);
-    registerAlgorithm("DES-CTR", forge.cipher.modes.ctr);
-    registerAlgorithm("3DES-ECB", forge.cipher.modes.ecb);
-    registerAlgorithm("3DES-CBC", forge.cipher.modes.cbc);
-    registerAlgorithm("3DES-CFB", forge.cipher.modes.cfb);
-    registerAlgorithm("3DES-OFB", forge.cipher.modes.ofb);
-    registerAlgorithm("3DES-CTR", forge.cipher.modes.ctr);
-    function registerAlgorithm(name, mode) {
-      var factory = function() {
-        return new forge.des.Algorithm(name, mode);
-      };
-      forge.cipher.registerAlgorithm(name, factory);
+    function bnMin(a) {
+      return this.compareTo(a) < 0 ? this : a;
     }
-    var spfunction1 = [16843776, 0, 65536, 16843780, 16842756, 66564, 4, 65536, 1024, 16843776, 16843780, 1024, 16778244, 16842756, 16777216, 4, 1028, 16778240, 16778240, 66560, 66560, 16842752, 16842752, 16778244, 65540, 16777220, 16777220, 65540, 0, 1028, 66564, 16777216, 65536, 16843780, 4, 16842752, 16843776, 16777216, 16777216, 1024, 16842756, 65536, 66560, 16777220, 1024, 4, 16778244, 66564, 16843780, 65540, 16842752, 16778244, 16777220, 1028, 66564, 16843776, 1028, 16778240, 16778240, 0, 65540, 66560, 0, 16842756];
-    var spfunction2 = [-2146402272, -2147450880, 32768, 1081376, 1048576, 32, -2146435040, -2147450848, -2147483616, -2146402272, -2146402304, -2147483648, -2147450880, 1048576, 32, -2146435040, 1081344, 1048608, -2147450848, 0, -2147483648, 32768, 1081376, -2146435072, 1048608, -2147483616, 0, 1081344, 32800, -2146402304, -2146435072, 32800, 0, 1081376, -2146435040, 1048576, -2147450848, -2146435072, -2146402304, 32768, -2146435072, -2147450880, 32, -2146402272, 1081376, 32, 32768, -2147483648, 32800, -2146402304, 1048576, -2147483616, 1048608, -2147450848, -2147483616, 1048608, 1081344, 0, -2147450880, 32800, -2147483648, -2146435040, -2146402272, 1081344];
-    var spfunction3 = [520, 134349312, 0, 134348808, 134218240, 0, 131592, 134218240, 131080, 134217736, 134217736, 131072, 134349320, 131080, 134348800, 520, 134217728, 8, 134349312, 512, 131584, 134348800, 134348808, 131592, 134218248, 131584, 131072, 134218248, 8, 134349320, 512, 134217728, 134349312, 134217728, 131080, 520, 131072, 134349312, 134218240, 0, 512, 131080, 134349320, 134218240, 134217736, 512, 0, 134348808, 134218248, 131072, 134217728, 134349320, 8, 131592, 131584, 134217736, 134348800, 134218248, 520, 134348800, 131592, 8, 134348808, 131584];
-    var spfunction4 = [8396801, 8321, 8321, 128, 8396928, 8388737, 8388609, 8193, 0, 8396800, 8396800, 8396929, 129, 0, 8388736, 8388609, 1, 8192, 8388608, 8396801, 128, 8388608, 8193, 8320, 8388737, 1, 8320, 8388736, 8192, 8396928, 8396929, 129, 8388736, 8388609, 8396800, 8396929, 129, 0, 0, 8396800, 8320, 8388736, 8388737, 1, 8396801, 8321, 8321, 128, 8396929, 129, 1, 8192, 8388609, 8193, 8396928, 8388737, 8193, 8320, 8388608, 8396801, 128, 8388608, 8192, 8396928];
-    var spfunction5 = [256, 34078976, 34078720, 1107296512, 524288, 256, 1073741824, 34078720, 1074266368, 524288, 33554688, 1074266368, 1107296512, 1107820544, 524544, 1073741824, 33554432, 1074266112, 1074266112, 0, 1073742080, 1107820800, 1107820800, 33554688, 1107820544, 1073742080, 0, 1107296256, 34078976, 33554432, 1107296256, 524544, 524288, 1107296512, 256, 33554432, 1073741824, 34078720, 1107296512, 1074266368, 33554688, 1073741824, 1107820544, 34078976, 1074266368, 256, 33554432, 1107820544, 1107820800, 524544, 1107296256, 1107820800, 34078720, 0, 1074266112, 1107296256, 524544, 33554688, 1073742080, 524288, 0, 1074266112, 34078976, 1073742080];
-    var spfunction6 = [536870928, 541065216, 16384, 541081616, 541065216, 16, 541081616, 4194304, 536887296, 4210704, 4194304, 536870928, 4194320, 536887296, 536870912, 16400, 0, 4194320, 536887312, 16384, 4210688, 536887312, 16, 541065232, 541065232, 0, 4210704, 541081600, 16400, 4210688, 541081600, 536870912, 536887296, 16, 541065232, 4210688, 541081616, 4194304, 16400, 536870928, 4194304, 536887296, 536870912, 16400, 536870928, 541081616, 4210688, 541065216, 4210704, 541081600, 0, 541065232, 16, 16384, 541065216, 4210704, 16384, 4194320, 536887312, 0, 541081600, 536870912, 4194320, 536887312];
-    var spfunction7 = [2097152, 69206018, 67110914, 0, 2048, 67110914, 2099202, 69208064, 69208066, 2097152, 0, 67108866, 2, 67108864, 69206018, 2050, 67110912, 2099202, 2097154, 67110912, 67108866, 69206016, 69208064, 2097154, 69206016, 2048, 2050, 69208066, 2099200, 2, 67108864, 2099200, 67108864, 2099200, 2097152, 67110914, 67110914, 69206018, 69206018, 2, 2097154, 67108864, 67110912, 2097152, 69208064, 2050, 2099202, 69208064, 2050, 67108866, 69208066, 69206016, 2099200, 0, 2, 69208066, 0, 2099202, 69206016, 2048, 67108866, 67110912, 2048, 2097154];
-    var spfunction8 = [268439616, 4096, 262144, 268701760, 268435456, 268439616, 64, 268435456, 262208, 268697600, 268701760, 266240, 268701696, 266304, 4096, 64, 268697600, 268435520, 268439552, 4160, 266240, 262208, 268697664, 268701696, 4160, 0, 0, 268697664, 268435520, 268439552, 266304, 262144, 266304, 262144, 268701696, 4096, 64, 268697664, 4096, 266304, 268439552, 64, 268435520, 268697600, 268697664, 268435456, 262144, 268439616, 0, 268701760, 262208, 268435520, 268697600, 268439552, 268439616, 0, 268701760, 266240, 266240, 4160, 4160, 262208, 268435456, 268701696];
-    function _createKeys(key) {
-      var pc2bytes0 = [0, 4, 536870912, 536870916, 65536, 65540, 536936448, 536936452, 512, 516, 536871424, 536871428, 66048, 66052, 536936960, 536936964], pc2bytes1 = [0, 1, 1048576, 1048577, 67108864, 67108865, 68157440, 68157441, 256, 257, 1048832, 1048833, 67109120, 67109121, 68157696, 68157697], pc2bytes2 = [0, 8, 2048, 2056, 16777216, 16777224, 16779264, 16779272, 0, 8, 2048, 2056, 16777216, 16777224, 16779264, 16779272], pc2bytes3 = [0, 2097152, 134217728, 136314880, 8192, 2105344, 134225920, 136323072, 131072, 2228224, 134348800, 136445952, 139264, 2236416, 134356992, 136454144], pc2bytes4 = [0, 262144, 16, 262160, 0, 262144, 16, 262160, 4096, 266240, 4112, 266256, 4096, 266240, 4112, 266256], pc2bytes5 = [0, 1024, 32, 1056, 0, 1024, 32, 1056, 33554432, 33555456, 33554464, 33555488, 33554432, 33555456, 33554464, 33555488], pc2bytes6 = [0, 268435456, 524288, 268959744, 2, 268435458, 524290, 268959746, 0, 268435456, 524288, 268959744, 2, 268435458, 524290, 268959746], pc2bytes7 = [0, 65536, 2048, 67584, 536870912, 536936448, 536872960, 536938496, 131072, 196608, 133120, 198656, 537001984, 537067520, 537004032, 537069568], pc2bytes8 = [0, 262144, 0, 262144, 2, 262146, 2, 262146, 33554432, 33816576, 33554432, 33816576, 33554434, 33816578, 33554434, 33816578], pc2bytes9 = [0, 268435456, 8, 268435464, 0, 268435456, 8, 268435464, 1024, 268436480, 1032, 268436488, 1024, 268436480, 1032, 268436488], pc2bytes10 = [0, 32, 0, 32, 1048576, 1048608, 1048576, 1048608, 8192, 8224, 8192, 8224, 1056768, 1056800, 1056768, 1056800], pc2bytes11 = [0, 16777216, 512, 16777728, 2097152, 18874368, 2097664, 18874880, 67108864, 83886080, 67109376, 83886592, 69206016, 85983232, 69206528, 85983744], pc2bytes12 = [0, 4096, 134217728, 134221824, 524288, 528384, 134742016, 134746112, 16, 4112, 134217744, 134221840, 524304, 528400, 134742032, 134746128], pc2bytes13 = [0, 4, 256, 260, 0, 4, 256, 260, 1, 5, 257, 261, 1, 5, 257, 261];
-      var iterations = key.length() > 8 ? 3 : 1;
-      var keys = [];
-      var shifts = [0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0];
-      var n = 0, tmp;
-      for (var j = 0; j < iterations; j++) {
-        var left = key.getInt32();
-        var right = key.getInt32();
-        tmp = (left >>> 4 ^ right) & 252645135;
-        right ^= tmp;
-        left ^= tmp << 4;
-        tmp = (right >>> -16 ^ left) & 65535;
-        left ^= tmp;
-        right ^= tmp << -16;
-        tmp = (left >>> 2 ^ right) & 858993459;
-        right ^= tmp;
-        left ^= tmp << 2;
-        tmp = (right >>> -16 ^ left) & 65535;
-        left ^= tmp;
-        right ^= tmp << -16;
-        tmp = (left >>> 1 ^ right) & 1431655765;
-        right ^= tmp;
-        left ^= tmp << 1;
-        tmp = (right >>> 8 ^ left) & 16711935;
-        left ^= tmp;
-        right ^= tmp << 8;
-        tmp = (left >>> 1 ^ right) & 1431655765;
-        right ^= tmp;
-        left ^= tmp << 1;
-        tmp = left << 8 | right >>> 20 & 240;
-        left = right << 24 | right << 8 & 16711680 | right >>> 8 & 65280 | right >>> 24 & 240;
-        right = tmp;
-        for (var i = 0; i < shifts.length; ++i) {
-          if (shifts[i]) {
-            left = left << 2 | left >>> 26;
-            right = right << 2 | right >>> 26;
-          } else {
-            left = left << 1 | left >>> 27;
-            right = right << 1 | right >>> 27;
-          }
-          left &= -15;
-          right &= -15;
-          var lefttmp = pc2bytes0[left >>> 28] | pc2bytes1[left >>> 24 & 15] | pc2bytes2[left >>> 20 & 15] | pc2bytes3[left >>> 16 & 15] | pc2bytes4[left >>> 12 & 15] | pc2bytes5[left >>> 8 & 15] | pc2bytes6[left >>> 4 & 15];
-          var righttmp = pc2bytes7[right >>> 28] | pc2bytes8[right >>> 24 & 15] | pc2bytes9[right >>> 20 & 15] | pc2bytes10[right >>> 16 & 15] | pc2bytes11[right >>> 12 & 15] | pc2bytes12[right >>> 8 & 15] | pc2bytes13[right >>> 4 & 15];
-          tmp = (righttmp >>> 16 ^ lefttmp) & 65535;
-          keys[n++] = lefttmp ^ tmp;
-          keys[n++] = righttmp ^ tmp << 16;
-        }
-      }
-      return keys;
+    function bnMax(a) {
+      return this.compareTo(a) > 0 ? this : a;
     }
-    function _updateBlock(keys, input, output, decrypt) {
-      var iterations = keys.length === 32 ? 3 : 9;
-      var looping;
-      if (iterations === 3) {
-        looping = decrypt ? [30, -2, -2] : [0, 32, 2];
+    function bnpBitwiseTo(a, op, r) {
+      var i, f, m = Math.min(a.t, this.t);
+      for (i = 0; i < m; ++i) r.data[i] = op(this.data[i], a.data[i]);
+      if (a.t < this.t) {
+        f = a.s & this.DM;
+        for (i = m; i < this.t; ++i) r.data[i] = op(this.data[i], f);
+        r.t = this.t;
       } else {
-        looping = decrypt ? [94, 62, -2, 32, 64, 2, 30, -2, -2] : [0, 32, 2, 62, 30, -2, 64, 96, 2];
-      }
-      var tmp;
-      var left = input[0];
-      var right = input[1];
-      tmp = (left >>> 4 ^ right) & 252645135;
-      right ^= tmp;
-      left ^= tmp << 4;
-      tmp = (left >>> 16 ^ right) & 65535;
-      right ^= tmp;
-      left ^= tmp << 16;
-      tmp = (right >>> 2 ^ left) & 858993459;
-      left ^= tmp;
-      right ^= tmp << 2;
-      tmp = (right >>> 8 ^ left) & 16711935;
-      left ^= tmp;
-      right ^= tmp << 8;
-      tmp = (left >>> 1 ^ right) & 1431655765;
-      right ^= tmp;
-      left ^= tmp << 1;
-      left = left << 1 | left >>> 31;
-      right = right << 1 | right >>> 31;
-      for (var j = 0; j < iterations; j += 3) {
-        var endloop = looping[j + 1];
-        var loopinc = looping[j + 2];
-        for (var i = looping[j]; i != endloop; i += loopinc) {
-          var right1 = right ^ keys[i];
-          var right2 = (right >>> 4 | right << 28) ^ keys[i + 1];
-          tmp = left;
-          left = right;
-          right = tmp ^ (spfunction2[right1 >>> 24 & 63] | spfunction4[right1 >>> 16 & 63] | spfunction6[right1 >>> 8 & 63] | spfunction8[right1 & 63] | spfunction1[right2 >>> 24 & 63] | spfunction3[right2 >>> 16 & 63] | spfunction5[right2 >>> 8 & 63] | spfunction7[right2 & 63]);
-        }
-        tmp = left;
-        left = right;
-        right = tmp;
+        f = this.s & this.DM;
+        for (i = m; i < a.t; ++i) r.data[i] = op(f, a.data[i]);
+        r.t = a.t;
       }
-      left = left >>> 1 | left << 31;
-      right = right >>> 1 | right << 31;
-      tmp = (left >>> 1 ^ right) & 1431655765;
-      right ^= tmp;
-      left ^= tmp << 1;
-      tmp = (right >>> 8 ^ left) & 16711935;
-      left ^= tmp;
-      right ^= tmp << 8;
-      tmp = (right >>> 2 ^ left) & 858993459;
-      left ^= tmp;
-      right ^= tmp << 2;
-      tmp = (left >>> 16 ^ right) & 65535;
-      right ^= tmp;
-      left ^= tmp << 16;
-      tmp = (left >>> 4 ^ right) & 252645135;
-      right ^= tmp;
-      left ^= tmp << 4;
-      output[0] = left;
-      output[1] = right;
+      r.s = op(this.s, a.s);
+      r.clamp();
     }
-    function _createCipher(options) {
-      options = options || {};
-      var mode = (options.mode || "CBC").toUpperCase();
-      var algorithm = "DES-" + mode;
-      var cipher;
-      if (options.decrypt) {
-        cipher = forge.cipher.createDecipher(algorithm, options.key);
-      } else {
-        cipher = forge.cipher.createCipher(algorithm, options.key);
-      }
-      var start = cipher.start;
-      cipher.start = function(iv, options2) {
-        var output = null;
-        if (options2 instanceof forge.util.ByteBuffer) {
-          output = options2;
-          options2 = {};
-        }
-        options2 = options2 || {};
-        options2.output = output;
-        options2.iv = iv;
-        start.call(cipher, options2);
-      };
-      return cipher;
+    function op_and(x, y) {
+      return x & y;
     }
-  }
-});
-
-// node_modules/node-forge/lib/pbkdf2.js
-var require_pbkdf2 = __commonJS({
-  "node_modules/node-forge/lib/pbkdf2.js"(exports2, module2) {
-    var forge = require_forge();
-    require_hmac();
-    require_md();
-    require_util9();
-    var pkcs5 = forge.pkcs5 = forge.pkcs5 || {};
-    var crypto2;
-    if (forge.util.isNodejs && !forge.options.usePureJavaScript) {
-      crypto2 = require("crypto");
+    function bnAnd(a) {
+      var r = nbi();
+      this.bitwiseTo(a, op_and, r);
+      return r;
     }
-    module2.exports = forge.pbkdf2 = pkcs5.pbkdf2 = function(p, s, c, dkLen, md, callback) {
-      if (typeof md === "function") {
-        callback = md;
-        md = null;
+    function op_or(x, y) {
+      return x | y;
+    }
+    function bnOr(a) {
+      var r = nbi();
+      this.bitwiseTo(a, op_or, r);
+      return r;
+    }
+    function op_xor(x, y) {
+      return x ^ y;
+    }
+    function bnXor(a) {
+      var r = nbi();
+      this.bitwiseTo(a, op_xor, r);
+      return r;
+    }
+    function op_andnot(x, y) {
+      return x & ~y;
+    }
+    function bnAndNot(a) {
+      var r = nbi();
+      this.bitwiseTo(a, op_andnot, r);
+      return r;
+    }
+    function bnNot() {
+      var r = nbi();
+      for (var i = 0; i < this.t; ++i) r.data[i] = this.DM & ~this.data[i];
+      r.t = this.t;
+      r.s = ~this.s;
+      return r;
+    }
+    function bnShiftLeft(n) {
+      var r = nbi();
+      if (n < 0) this.rShiftTo(-n, r);
+      else this.lShiftTo(n, r);
+      return r;
+    }
+    function bnShiftRight(n) {
+      var r = nbi();
+      if (n < 0) this.lShiftTo(-n, r);
+      else this.rShiftTo(n, r);
+      return r;
+    }
+    function lbit(x) {
+      if (x == 0) return -1;
+      var r = 0;
+      if ((x & 65535) == 0) {
+        x >>= 16;
+        r += 16;
       }
-      if (forge.util.isNodejs && !forge.options.usePureJavaScript && crypto2.pbkdf2 && (md === null || typeof md !== "object") && (crypto2.pbkdf2Sync.length > 4 || (!md || md === "sha1"))) {
-        if (typeof md !== "string") {
-          md = "sha1";
-        }
-        p = Buffer.from(p, "binary");
-        s = Buffer.from(s, "binary");
-        if (!callback) {
-          if (crypto2.pbkdf2Sync.length === 4) {
-            return crypto2.pbkdf2Sync(p, s, c, dkLen).toString("binary");
-          }
-          return crypto2.pbkdf2Sync(p, s, c, dkLen, md).toString("binary");
-        }
-        if (crypto2.pbkdf2Sync.length === 4) {
-          return crypto2.pbkdf2(p, s, c, dkLen, function(err2, key) {
-            if (err2) {
-              return callback(err2);
-            }
-            callback(null, key.toString("binary"));
-          });
-        }
-        return crypto2.pbkdf2(p, s, c, dkLen, md, function(err2, key) {
-          if (err2) {
-            return callback(err2);
-          }
-          callback(null, key.toString("binary"));
-        });
+      if ((x & 255) == 0) {
+        x >>= 8;
+        r += 8;
       }
-      if (typeof md === "undefined" || md === null) {
-        md = "sha1";
+      if ((x & 15) == 0) {
+        x >>= 4;
+        r += 4;
       }
-      if (typeof md === "string") {
-        if (!(md in forge.md.algorithms)) {
-          throw new Error("Unknown hash algorithm: " + md);
-        }
-        md = forge.md[md].create();
+      if ((x & 3) == 0) {
+        x >>= 2;
+        r += 2;
       }
-      var hLen = md.digestLength;
-      if (dkLen > 4294967295 * hLen) {
-        var err = new Error("Derived key is too long.");
-        if (callback) {
-          return callback(err);
-        }
-        throw err;
+      if ((x & 1) == 0) ++r;
+      return r;
+    }
+    function bnGetLowestSetBit() {
+      for (var i = 0; i < this.t; ++i)
+        if (this.data[i] != 0) return i * this.DB + lbit(this.data[i]);
+      if (this.s < 0) return this.t * this.DB;
+      return -1;
+    }
+    function cbit(x) {
+      var r = 0;
+      while (x != 0) {
+        x &= x - 1;
+        ++r;
       }
-      var len = Math.ceil(dkLen / hLen);
-      var r = dkLen - (len - 1) * hLen;
-      var prf = forge.hmac.create();
-      prf.start(md, p);
-      var dk = "";
-      var xor, u_c, u_c1;
-      if (!callback) {
-        for (var i = 1; i <= len; ++i) {
-          prf.start(null, null);
-          prf.update(s);
-          prf.update(forge.util.int32ToBytes(i));
-          xor = u_c1 = prf.digest().getBytes();
-          for (var j = 2; j <= c; ++j) {
-            prf.start(null, null);
-            prf.update(u_c1);
-            u_c = prf.digest().getBytes();
-            xor = forge.util.xorBytes(xor, u_c, hLen);
-            u_c1 = u_c;
-          }
-          dk += i < len ? xor : xor.substr(0, r);
-        }
-        return dk;
+      return r;
+    }
+    function bnBitCount() {
+      var r = 0, x = this.s & this.DM;
+      for (var i = 0; i < this.t; ++i) r += cbit(this.data[i] ^ x);
+      return r;
+    }
+    function bnTestBit(n) {
+      var j = Math.floor(n / this.DB);
+      if (j >= this.t) return this.s != 0;
+      return (this.data[j] & 1 << n % this.DB) != 0;
+    }
+    function bnpChangeBit(n, op) {
+      var r = BigInteger.ONE.shiftLeft(n);
+      this.bitwiseTo(r, op, r);
+      return r;
+    }
+    function bnSetBit(n) {
+      return this.changeBit(n, op_or);
+    }
+    function bnClearBit(n) {
+      return this.changeBit(n, op_andnot);
+    }
+    function bnFlipBit(n) {
+      return this.changeBit(n, op_xor);
+    }
+    function bnpAddTo(a, r) {
+      var i = 0, c = 0, m = Math.min(a.t, this.t);
+      while (i < m) {
+        c += this.data[i] + a.data[i];
+        r.data[i++] = c & this.DM;
+        c >>= this.DB;
       }
-      var i = 1, j;
-      function outer() {
-        if (i > len) {
-          return callback(null, dk);
+      if (a.t < this.t) {
+        c += a.s;
+        while (i < this.t) {
+          c += this.data[i];
+          r.data[i++] = c & this.DM;
+          c >>= this.DB;
         }
-        prf.start(null, null);
-        prf.update(s);
-        prf.update(forge.util.int32ToBytes(i));
-        xor = u_c1 = prf.digest().getBytes();
-        j = 2;
-        inner();
-      }
-      function inner() {
-        if (j <= c) {
-          prf.start(null, null);
-          prf.update(u_c1);
-          u_c = prf.digest().getBytes();
-          xor = forge.util.xorBytes(xor, u_c, hLen);
-          u_c1 = u_c;
-          ++j;
-          return forge.util.setImmediate(inner);
+        c += this.s;
+      } else {
+        c += this.s;
+        while (i < a.t) {
+          c += a.data[i];
+          r.data[i++] = c & this.DM;
+          c >>= this.DB;
         }
-        dk += i < len ? xor : xor.substr(0, r);
-        ++i;
-        outer();
+        c += a.s;
       }
-      outer();
-    };
+      r.s = c < 0 ? -1 : 0;
+      if (c > 0) r.data[i++] = c;
+      else if (c < -1) r.data[i++] = this.DV + c;
+      r.t = i;
+      r.clamp();
+    }
+    function bnAdd(a) {
+      var r = nbi();
+      this.addTo(a, r);
+      return r;
+    }
+    function bnSubtract(a) {
+      var r = nbi();
+      this.subTo(a, r);
+      return r;
+    }
+    function bnMultiply(a) {
+      var r = nbi();
+      this.multiplyTo(a, r);
+      return r;
+    }
+    function bnDivide(a) {
+      var r = nbi();
+      this.divRemTo(a, r, null);
+      return r;
+    }
+    function bnRemainder(a) {
+      var r = nbi();
+      this.divRemTo(a, null, r);
+      return r;
+    }
+    function bnDivideAndRemainder(a) {
+      var q = nbi(), r = nbi();
+      this.divRemTo(a, q, r);
+      return new Array(q, r);
+    }
+    function bnpDMultiply(n) {
+      this.data[this.t] = this.am(0, n - 1, this, 0, 0, this.t);
+      ++this.t;
+      this.clamp();
+    }
+    function bnpDAddOffset(n, w) {
+      if (n == 0) return;
+      while (this.t <= w) this.data[this.t++] = 0;
+      this.data[w] += n;
+      while (this.data[w] >= this.DV) {
+        this.data[w] -= this.DV;
+        if (++w >= this.t) this.data[this.t++] = 0;
+        ++this.data[w];
+      }
+    }
+    function NullExp() {
+    }
+    function nNop(x) {
+      return x;
+    }
+    function nMulTo(x, y, r) {
+      x.multiplyTo(y, r);
+    }
+    function nSqrTo(x, r) {
+      x.squareTo(r);
+    }
+    NullExp.prototype.convert = nNop;
+    NullExp.prototype.revert = nNop;
+    NullExp.prototype.mulTo = nMulTo;
+    NullExp.prototype.sqrTo = nSqrTo;
+    function bnPow(e) {
+      return this.exp(e, new NullExp());
+    }
+    function bnpMultiplyLowerTo(a, n, r) {
+      var i = Math.min(this.t + a.t, n);
+      r.s = 0;
+      r.t = i;
+      while (i > 0) r.data[--i] = 0;
+      var j;
+      for (j = r.t - this.t; i < j; ++i) r.data[i + this.t] = this.am(0, a.data[i], r, i, 0, this.t);
+      for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a.data[i], r, i, 0, n - i);
+      r.clamp();
+    }
+    function bnpMultiplyUpperTo(a, n, r) {
+      --n;
+      var i = r.t = this.t + a.t - n;
+      r.s = 0;
+      while (--i >= 0) r.data[i] = 0;
+      for (i = Math.max(n - this.t, 0); i < a.t; ++i)
+        r.data[this.t + i - n] = this.am(n - i, a.data[i], r, 0, 0, this.t + i - n);
+      r.clamp();
+      r.drShiftTo(1, r);
+    }
+    function Barrett(m) {
+      this.r2 = nbi();
+      this.q3 = nbi();
+      BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);
+      this.mu = this.r2.divide(m);
+      this.m = m;
+    }
+    function barrettConvert(x) {
+      if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m);
+      else if (x.compareTo(this.m) < 0) return x;
+      else {
+        var r = nbi();
+        x.copyTo(r);
+        this.reduce(r);
+        return r;
+      }
+    }
+    function barrettRevert(x) {
+      return x;
+    }
+    function barrettReduce(x) {
+      x.drShiftTo(this.m.t - 1, this.r2);
+      if (x.t > this.m.t + 1) {
+        x.t = this.m.t + 1;
+        x.clamp();
+      }
+      this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);
+      this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);
+      while (x.compareTo(this.r2) < 0) x.dAddOffset(1, this.m.t + 1);
+      x.subTo(this.r2, x);
+      while (x.compareTo(this.m) >= 0) x.subTo(this.m, x);
+    }
+    function barrettSqrTo(x, r) {
+      x.squareTo(r);
+      this.reduce(r);
+    }
+    function barrettMulTo(x, y, r) {
+      x.multiplyTo(y, r);
+      this.reduce(r);
+    }
+    Barrett.prototype.convert = barrettConvert;
+    Barrett.prototype.revert = barrettRevert;
+    Barrett.prototype.reduce = barrettReduce;
+    Barrett.prototype.mulTo = barrettMulTo;
+    Barrett.prototype.sqrTo = barrettSqrTo;
+    function bnModPow(e, m) {
+      var i = e.bitLength(), k, r = nbv(1), z;
+      if (i <= 0) return r;
+      else if (i < 18) k = 1;
+      else if (i < 48) k = 3;
+      else if (i < 144) k = 4;
+      else if (i < 768) k = 5;
+      else k = 6;
+      if (i < 8)
+        z = new Classic(m);
+      else if (m.isEven())
+        z = new Barrett(m);
+      else
+        z = new Montgomery(m);
+      var g = new Array(), n = 3, k1 = k - 1, km = (1 << k) - 1;
+      g[1] = z.convert(this);
+      if (k > 1) {
+        var g2 = nbi();
+        z.sqrTo(g[1], g2);
+        while (n <= km) {
+          g[n] = nbi();
+          z.mulTo(g2, g[n - 2], g[n]);
+          n += 2;
+        }
+      }
+      var j = e.t - 1, w, is1 = true, r2 = nbi(), t;
+      i = nbits(e.data[j]) - 1;
+      while (j >= 0) {
+        if (i >= k1) w = e.data[j] >> i - k1 & km;
+        else {
+          w = (e.data[j] & (1 << i + 1) - 1) << k1 - i;
+          if (j > 0) w |= e.data[j - 1] >> this.DB + i - k1;
+        }
+        n = k;
+        while ((w & 1) == 0) {
+          w >>= 1;
+          --n;
+        }
+        if ((i -= n) < 0) {
+          i += this.DB;
+          --j;
+        }
+        if (is1) {
+          g[w].copyTo(r);
+          is1 = false;
+        } else {
+          while (n > 1) {
+            z.sqrTo(r, r2);
+            z.sqrTo(r2, r);
+            n -= 2;
+          }
+          if (n > 0) z.sqrTo(r, r2);
+          else {
+            t = r;
+            r = r2;
+            r2 = t;
+          }
+          z.mulTo(r2, g[w], r);
+        }
+        while (j >= 0 && (e.data[j] & 1 << i) == 0) {
+          z.sqrTo(r, r2);
+          t = r;
+          r = r2;
+          r2 = t;
+          if (--i < 0) {
+            i = this.DB - 1;
+            --j;
+          }
+        }
+      }
+      return z.revert(r);
+    }
+    function bnGCD(a) {
+      var x = this.s < 0 ? this.negate() : this.clone();
+      var y = a.s < 0 ? a.negate() : a.clone();
+      if (x.compareTo(y) < 0) {
+        var t = x;
+        x = y;
+        y = t;
+      }
+      var i = x.getLowestSetBit(), g = y.getLowestSetBit();
+      if (g < 0) return x;
+      if (i < g) g = i;
+      if (g > 0) {
+        x.rShiftTo(g, x);
+        y.rShiftTo(g, y);
+      }
+      while (x.signum() > 0) {
+        if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x);
+        if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y);
+        if (x.compareTo(y) >= 0) {
+          x.subTo(y, x);
+          x.rShiftTo(1, x);
+        } else {
+          y.subTo(x, y);
+          y.rShiftTo(1, y);
+        }
+      }
+      if (g > 0) y.lShiftTo(g, y);
+      return y;
+    }
+    function bnpModInt(n) {
+      if (n <= 0) return 0;
+      var d = this.DV % n, r = this.s < 0 ? n - 1 : 0;
+      if (this.t > 0)
+        if (d == 0) r = this.data[0] % n;
+        else for (var i = this.t - 1; i >= 0; --i) r = (d * r + this.data[i]) % n;
+      return r;
+    }
+    function bnModInverse(m) {
+      var ac = m.isEven();
+      if (this.isEven() && ac || m.signum() == 0) return BigInteger.ZERO;
+      var u = m.clone(), v = this.clone();
+      var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1);
+      while (u.signum() != 0) {
+        while (u.isEven()) {
+          u.rShiftTo(1, u);
+          if (ac) {
+            if (!a.isEven() || !b.isEven()) {
+              a.addTo(this, a);
+              b.subTo(m, b);
+            }
+            a.rShiftTo(1, a);
+          } else if (!b.isEven()) b.subTo(m, b);
+          b.rShiftTo(1, b);
+        }
+        while (v.isEven()) {
+          v.rShiftTo(1, v);
+          if (ac) {
+            if (!c.isEven() || !d.isEven()) {
+              c.addTo(this, c);
+              d.subTo(m, d);
+            }
+            c.rShiftTo(1, c);
+          } else if (!d.isEven()) d.subTo(m, d);
+          d.rShiftTo(1, d);
+        }
+        if (u.compareTo(v) >= 0) {
+          u.subTo(v, u);
+          if (ac) a.subTo(c, a);
+          b.subTo(d, b);
+        } else {
+          v.subTo(u, v);
+          if (ac) c.subTo(a, c);
+          d.subTo(b, d);
+        }
+      }
+      if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO;
+      if (d.compareTo(m) >= 0) return d.subtract(m);
+      if (d.signum() < 0) d.addTo(m, d);
+      else return d;
+      if (d.signum() < 0) return d.add(m);
+      else return d;
+    }
+    var lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509];
+    var lplim = (1 << 26) / lowprimes[lowprimes.length - 1];
+    function bnIsProbablePrime(t) {
+      var i, x = this.abs();
+      if (x.t == 1 && x.data[0] <= lowprimes[lowprimes.length - 1]) {
+        for (i = 0; i < lowprimes.length; ++i)
+          if (x.data[0] == lowprimes[i]) return true;
+        return false;
+      }
+      if (x.isEven()) return false;
+      i = 1;
+      while (i < lowprimes.length) {
+        var m = lowprimes[i], j = i + 1;
+        while (j < lowprimes.length && m < lplim) m *= lowprimes[j++];
+        m = x.modInt(m);
+        while (i < j) if (m % lowprimes[i++] == 0) return false;
+      }
+      return x.millerRabin(t);
+    }
+    function bnpMillerRabin(t) {
+      var n1 = this.subtract(BigInteger.ONE);
+      var k = n1.getLowestSetBit();
+      if (k <= 0) return false;
+      var r = n1.shiftRight(k);
+      var prng = bnGetPrng();
+      var a;
+      for (var i = 0; i < t; ++i) {
+        do {
+          a = new BigInteger(this.bitLength(), prng);
+        } while (a.compareTo(BigInteger.ONE) <= 0 || a.compareTo(n1) >= 0);
+        var y = a.modPow(r, this);
+        if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
+          var j = 1;
+          while (j++ < k && y.compareTo(n1) != 0) {
+            y = y.modPowInt(2, this);
+            if (y.compareTo(BigInteger.ONE) == 0) return false;
+          }
+          if (y.compareTo(n1) != 0) return false;
+        }
+      }
+      return true;
+    }
+    function bnGetPrng() {
+      return {
+        // x is an array to fill with bytes
+        nextBytes: function(x) {
+          for (var i = 0; i < x.length; ++i) {
+            x[i] = Math.floor(Math.random() * 256);
+          }
+        }
+      };
+    }
+    BigInteger.prototype.chunkSize = bnpChunkSize;
+    BigInteger.prototype.toRadix = bnpToRadix;
+    BigInteger.prototype.fromRadix = bnpFromRadix;
+    BigInteger.prototype.fromNumber = bnpFromNumber;
+    BigInteger.prototype.bitwiseTo = bnpBitwiseTo;
+    BigInteger.prototype.changeBit = bnpChangeBit;
+    BigInteger.prototype.addTo = bnpAddTo;
+    BigInteger.prototype.dMultiply = bnpDMultiply;
+    BigInteger.prototype.dAddOffset = bnpDAddOffset;
+    BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;
+    BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;
+    BigInteger.prototype.modInt = bnpModInt;
+    BigInteger.prototype.millerRabin = bnpMillerRabin;
+    BigInteger.prototype.clone = bnClone;
+    BigInteger.prototype.intValue = bnIntValue;
+    BigInteger.prototype.byteValue = bnByteValue;
+    BigInteger.prototype.shortValue = bnShortValue;
+    BigInteger.prototype.signum = bnSigNum;
+    BigInteger.prototype.toByteArray = bnToByteArray;
+    BigInteger.prototype.equals = bnEquals;
+    BigInteger.prototype.min = bnMin;
+    BigInteger.prototype.max = bnMax;
+    BigInteger.prototype.and = bnAnd;
+    BigInteger.prototype.or = bnOr;
+    BigInteger.prototype.xor = bnXor;
+    BigInteger.prototype.andNot = bnAndNot;
+    BigInteger.prototype.not = bnNot;
+    BigInteger.prototype.shiftLeft = bnShiftLeft;
+    BigInteger.prototype.shiftRight = bnShiftRight;
+    BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;
+    BigInteger.prototype.bitCount = bnBitCount;
+    BigInteger.prototype.testBit = bnTestBit;
+    BigInteger.prototype.setBit = bnSetBit;
+    BigInteger.prototype.clearBit = bnClearBit;
+    BigInteger.prototype.flipBit = bnFlipBit;
+    BigInteger.prototype.add = bnAdd;
+    BigInteger.prototype.subtract = bnSubtract;
+    BigInteger.prototype.multiply = bnMultiply;
+    BigInteger.prototype.divide = bnDivide;
+    BigInteger.prototype.remainder = bnRemainder;
+    BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder;
+    BigInteger.prototype.modPow = bnModPow;
+    BigInteger.prototype.modInverse = bnModInverse;
+    BigInteger.prototype.pow = bnPow;
+    BigInteger.prototype.gcd = bnGCD;
+    BigInteger.prototype.isProbablePrime = bnIsProbablePrime;
   }
 });
 
-// node_modules/node-forge/lib/sha256.js
-var require_sha256 = __commonJS({
-  "node_modules/node-forge/lib/sha256.js"(exports2, module2) {
+// node_modules/node-forge/lib/sha1.js
+var require_sha1 = __commonJS({
+  "node_modules/node-forge/lib/sha1.js"(exports2, module2) {
     var forge = require_forge();
     require_md();
     require_util9();
-    var sha256 = module2.exports = forge.sha256 = forge.sha256 || {};
-    forge.md.sha256 = forge.md.algorithms.sha256 = sha256;
-    sha256.create = function() {
+    var sha1 = module2.exports = forge.sha1 = forge.sha1 || {};
+    forge.md.sha1 = forge.md.algorithms.sha1 = sha1;
+    sha1.create = function() {
       if (!_initialized) {
         _init();
       }
       var _state = null;
       var _input = forge.util.createBuffer();
-      var _w = new Array(64);
+      var _w = new Array(80);
       var md = {
-        algorithm: "sha256",
+        algorithm: "sha1",
         blockLength: 64,
-        digestLength: 32,
+        digestLength: 20,
         // 56-bit length of message so far (does not including padding)
         messageLength: 0,
         // true message length
@@ -28676,14 +28145,11 @@ var require_sha256 = __commonJS({
         }
         _input = forge.util.createBuffer();
         _state = {
-          h0: 1779033703,
-          h1: 3144134277,
-          h2: 1013904242,
-          h3: 2773480762,
-          h4: 1359893119,
-          h5: 2600822924,
-          h6: 528734635,
-          h7: 1541459225
+          h0: 1732584193,
+          h1: 4023233417,
+          h2: 2562383102,
+          h3: 271733878,
+          h4: 3285377520
         };
         return md;
       };
@@ -28729,10 +28195,7 @@ var require_sha256 = __commonJS({
           h1: _state.h1,
           h2: _state.h2,
           h3: _state.h3,
-          h4: _state.h4,
-          h5: _state.h5,
-          h6: _state.h6,
-          h7: _state.h7
+          h4: _state.h4
         };
         _update(s2, _w, finalBlock);
         var rval = forge.util.createBuffer();
@@ -28741,6392 +28204,4273 @@ var require_sha256 = __commonJS({
         rval.putInt32(s2.h2);
         rval.putInt32(s2.h3);
         rval.putInt32(s2.h4);
-        rval.putInt32(s2.h5);
-        rval.putInt32(s2.h6);
-        rval.putInt32(s2.h7);
         return rval;
       };
       return md;
     };
     var _padding = null;
     var _initialized = false;
-    var _k = null;
     function _init() {
       _padding = String.fromCharCode(128);
       _padding += forge.util.fillString(String.fromCharCode(0), 64);
-      _k = [
-        1116352408,
-        1899447441,
-        3049323471,
-        3921009573,
-        961987163,
-        1508970993,
-        2453635748,
-        2870763221,
-        3624381080,
-        310598401,
-        607225278,
-        1426881987,
-        1925078388,
-        2162078206,
-        2614888103,
-        3248222580,
-        3835390401,
-        4022224774,
-        264347078,
-        604807628,
-        770255983,
-        1249150122,
-        1555081692,
-        1996064986,
-        2554220882,
-        2821834349,
-        2952996808,
-        3210313671,
-        3336571891,
-        3584528711,
-        113926993,
-        338241895,
-        666307205,
-        773529912,
-        1294757372,
-        1396182291,
-        1695183700,
-        1986661051,
-        2177026350,
-        2456956037,
-        2730485921,
-        2820302411,
-        3259730800,
-        3345764771,
-        3516065817,
-        3600352804,
-        4094571909,
-        275423344,
-        430227734,
-        506948616,
-        659060556,
-        883997877,
-        958139571,
-        1322822218,
-        1537002063,
-        1747873779,
-        1955562222,
-        2024104815,
-        2227730452,
-        2361852424,
-        2428436474,
-        2756734187,
-        3204031479,
-        3329325298
-      ];
       _initialized = true;
     }
     function _update(s, w, bytes) {
-      var t1, t2, s0, s1, ch, maj, i, a, b, c, d, e, f, g, h;
+      var t, a, b, c, d, e, f, i;
       var len = bytes.length();
       while (len >= 64) {
-        for (i = 0; i < 16; ++i) {
-          w[i] = bytes.getInt32();
-        }
-        for (; i < 64; ++i) {
-          t1 = w[i - 2];
-          t1 = (t1 >>> 17 | t1 << 15) ^ (t1 >>> 19 | t1 << 13) ^ t1 >>> 10;
-          t2 = w[i - 15];
-          t2 = (t2 >>> 7 | t2 << 25) ^ (t2 >>> 18 | t2 << 14) ^ t2 >>> 3;
-          w[i] = t1 + w[i - 7] + t2 + w[i - 16] | 0;
-        }
         a = s.h0;
         b = s.h1;
         c = s.h2;
         d = s.h3;
         e = s.h4;
-        f = s.h5;
-        g = s.h6;
-        h = s.h7;
-        for (i = 0; i < 64; ++i) {
-          s1 = (e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7);
-          ch = g ^ e & (f ^ g);
-          s0 = (a >>> 2 | a << 30) ^ (a >>> 13 | a << 19) ^ (a >>> 22 | a << 10);
-          maj = a & b | c & (a ^ b);
-          t1 = h + s1 + ch + _k[i] + w[i];
-          t2 = s0 + maj;
-          h = g;
-          g = f;
-          f = e;
-          e = d + t1 >>> 0;
+        for (i = 0; i < 16; ++i) {
+          t = bytes.getInt32();
+          w[i] = t;
+          f = d ^ b & (c ^ d);
+          t = (a << 5 | a >>> 27) + f + e + 1518500249 + t;
+          e = d;
           d = c;
-          c = b;
+          c = (b << 30 | b >>> 2) >>> 0;
           b = a;
-          a = t1 + t2 >>> 0;
+          a = t;
+        }
+        for (; i < 20; ++i) {
+          t = w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16];
+          t = t << 1 | t >>> 31;
+          w[i] = t;
+          f = d ^ b & (c ^ d);
+          t = (a << 5 | a >>> 27) + f + e + 1518500249 + t;
+          e = d;
+          d = c;
+          c = (b << 30 | b >>> 2) >>> 0;
+          b = a;
+          a = t;
+        }
+        for (; i < 32; ++i) {
+          t = w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16];
+          t = t << 1 | t >>> 31;
+          w[i] = t;
+          f = b ^ c ^ d;
+          t = (a << 5 | a >>> 27) + f + e + 1859775393 + t;
+          e = d;
+          d = c;
+          c = (b << 30 | b >>> 2) >>> 0;
+          b = a;
+          a = t;
+        }
+        for (; i < 40; ++i) {
+          t = w[i - 6] ^ w[i - 16] ^ w[i - 28] ^ w[i - 32];
+          t = t << 2 | t >>> 30;
+          w[i] = t;
+          f = b ^ c ^ d;
+          t = (a << 5 | a >>> 27) + f + e + 1859775393 + t;
+          e = d;
+          d = c;
+          c = (b << 30 | b >>> 2) >>> 0;
+          b = a;
+          a = t;
+        }
+        for (; i < 60; ++i) {
+          t = w[i - 6] ^ w[i - 16] ^ w[i - 28] ^ w[i - 32];
+          t = t << 2 | t >>> 30;
+          w[i] = t;
+          f = b & c | d & (b ^ c);
+          t = (a << 5 | a >>> 27) + f + e + 2400959708 + t;
+          e = d;
+          d = c;
+          c = (b << 30 | b >>> 2) >>> 0;
+          b = a;
+          a = t;
+        }
+        for (; i < 80; ++i) {
+          t = w[i - 6] ^ w[i - 16] ^ w[i - 28] ^ w[i - 32];
+          t = t << 2 | t >>> 30;
+          w[i] = t;
+          f = b ^ c ^ d;
+          t = (a << 5 | a >>> 27) + f + e + 3395469782 + t;
+          e = d;
+          d = c;
+          c = (b << 30 | b >>> 2) >>> 0;
+          b = a;
+          a = t;
         }
         s.h0 = s.h0 + a | 0;
         s.h1 = s.h1 + b | 0;
         s.h2 = s.h2 + c | 0;
         s.h3 = s.h3 + d | 0;
         s.h4 = s.h4 + e | 0;
-        s.h5 = s.h5 + f | 0;
-        s.h6 = s.h6 + g | 0;
-        s.h7 = s.h7 + h | 0;
         len -= 64;
       }
     }
   }
 });
 
-// node_modules/node-forge/lib/prng.js
-var require_prng = __commonJS({
-  "node_modules/node-forge/lib/prng.js"(exports2, module2) {
+// node_modules/node-forge/lib/pkcs1.js
+var require_pkcs1 = __commonJS({
+  "node_modules/node-forge/lib/pkcs1.js"(exports2, module2) {
     var forge = require_forge();
     require_util9();
-    var _crypto = null;
-    if (forge.util.isNodejs && !forge.options.usePureJavaScript && !process.versions["node-webkit"]) {
-      _crypto = require("crypto");
+    require_random();
+    require_sha1();
+    var pkcs1 = module2.exports = forge.pkcs1 = forge.pkcs1 || {};
+    pkcs1.encode_rsa_oaep = function(key, message, options) {
+      var label;
+      var seed;
+      var md;
+      var mgf1Md;
+      if (typeof options === "string") {
+        label = options;
+        seed = arguments[3] || void 0;
+        md = arguments[4] || void 0;
+      } else if (options) {
+        label = options.label || void 0;
+        seed = options.seed || void 0;
+        md = options.md || void 0;
+        if (options.mgf1 && options.mgf1.md) {
+          mgf1Md = options.mgf1.md;
+        }
+      }
+      if (!md) {
+        md = forge.md.sha1.create();
+      } else {
+        md.start();
+      }
+      if (!mgf1Md) {
+        mgf1Md = md;
+      }
+      var keyLength = Math.ceil(key.n.bitLength() / 8);
+      var maxLength = keyLength - 2 * md.digestLength - 2;
+      if (message.length > maxLength) {
+        var error3 = new Error("RSAES-OAEP input message length is too long.");
+        error3.length = message.length;
+        error3.maxLength = maxLength;
+        throw error3;
+      }
+      if (!label) {
+        label = "";
+      }
+      md.update(label, "raw");
+      var lHash = md.digest();
+      var PS = "";
+      var PS_length = maxLength - message.length;
+      for (var i = 0; i < PS_length; i++) {
+        PS += "\0";
+      }
+      var DB = lHash.getBytes() + PS + "" + message;
+      if (!seed) {
+        seed = forge.random.getBytes(md.digestLength);
+      } else if (seed.length !== md.digestLength) {
+        var error3 = new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");
+        error3.seedLength = seed.length;
+        error3.digestLength = md.digestLength;
+        throw error3;
+      }
+      var dbMask = rsa_mgf1(seed, keyLength - md.digestLength - 1, mgf1Md);
+      var maskedDB = forge.util.xorBytes(DB, dbMask, DB.length);
+      var seedMask = rsa_mgf1(maskedDB, md.digestLength, mgf1Md);
+      var maskedSeed = forge.util.xorBytes(seed, seedMask, seed.length);
+      return "\0" + maskedSeed + maskedDB;
+    };
+    pkcs1.decode_rsa_oaep = function(key, em, options) {
+      var label;
+      var md;
+      var mgf1Md;
+      if (typeof options === "string") {
+        label = options;
+        md = arguments[3] || void 0;
+      } else if (options) {
+        label = options.label || void 0;
+        md = options.md || void 0;
+        if (options.mgf1 && options.mgf1.md) {
+          mgf1Md = options.mgf1.md;
+        }
+      }
+      var keyLength = Math.ceil(key.n.bitLength() / 8);
+      if (em.length !== keyLength) {
+        var error3 = new Error("RSAES-OAEP encoded message length is invalid.");
+        error3.length = em.length;
+        error3.expectedLength = keyLength;
+        throw error3;
+      }
+      if (md === void 0) {
+        md = forge.md.sha1.create();
+      } else {
+        md.start();
+      }
+      if (!mgf1Md) {
+        mgf1Md = md;
+      }
+      if (keyLength < 2 * md.digestLength + 2) {
+        throw new Error("RSAES-OAEP key is too short for the hash function.");
+      }
+      if (!label) {
+        label = "";
+      }
+      md.update(label, "raw");
+      var lHash = md.digest().getBytes();
+      var y = em.charAt(0);
+      var maskedSeed = em.substring(1, md.digestLength + 1);
+      var maskedDB = em.substring(1 + md.digestLength);
+      var seedMask = rsa_mgf1(maskedDB, md.digestLength, mgf1Md);
+      var seed = forge.util.xorBytes(maskedSeed, seedMask, maskedSeed.length);
+      var dbMask = rsa_mgf1(seed, keyLength - md.digestLength - 1, mgf1Md);
+      var db = forge.util.xorBytes(maskedDB, dbMask, maskedDB.length);
+      var lHashPrime = db.substring(0, md.digestLength);
+      var error3 = y !== "\0";
+      for (var i = 0; i < md.digestLength; ++i) {
+        error3 |= lHash.charAt(i) !== lHashPrime.charAt(i);
+      }
+      var in_ps = 1;
+      var index = md.digestLength;
+      for (var j = md.digestLength; j < db.length; j++) {
+        var code = db.charCodeAt(j);
+        var is_0 = code & 1 ^ 1;
+        var error_mask = in_ps ? 65534 : 0;
+        error3 |= code & error_mask;
+        in_ps = in_ps & is_0;
+        index += in_ps;
+      }
+      if (error3 || db.charCodeAt(index) !== 1) {
+        throw new Error("Invalid RSAES-OAEP padding.");
+      }
+      return db.substring(index + 1);
+    };
+    function rsa_mgf1(seed, maskLength, hash) {
+      if (!hash) {
+        hash = forge.md.sha1.create();
+      }
+      var t = "";
+      var count = Math.ceil(maskLength / hash.digestLength);
+      for (var i = 0; i < count; ++i) {
+        var c = String.fromCharCode(
+          i >> 24 & 255,
+          i >> 16 & 255,
+          i >> 8 & 255,
+          i & 255
+        );
+        hash.start();
+        hash.update(seed + c);
+        t += hash.digest().getBytes();
+      }
+      return t.substring(0, maskLength);
     }
-    var prng = module2.exports = forge.prng = forge.prng || {};
-    prng.create = function(plugin) {
-      var ctx = {
-        plugin,
-        key: null,
-        seed: null,
-        time: null,
-        // number of reseeds so far
-        reseeds: 0,
-        // amount of data generated so far
-        generated: 0,
-        // no initial key bytes
-        keyBytes: ""
-      };
-      var md = plugin.md;
-      var pools = new Array(32);
-      for (var i = 0; i < 32; ++i) {
-        pools[i] = md.create();
+  }
+});
+
+// node_modules/node-forge/lib/prime.js
+var require_prime = __commonJS({
+  "node_modules/node-forge/lib/prime.js"(exports2, module2) {
+    var forge = require_forge();
+    require_util9();
+    require_jsbn();
+    require_random();
+    (function() {
+      if (forge.prime) {
+        module2.exports = forge.prime;
+        return;
       }
-      ctx.pools = pools;
-      ctx.pool = 0;
-      ctx.generate = function(count, callback) {
-        if (!callback) {
-          return ctx.generateSync(count);
+      var prime = module2.exports = forge.prime = forge.prime || {};
+      var BigInteger = forge.jsbn.BigInteger;
+      var GCD_30_DELTA = [6, 4, 2, 4, 2, 4, 6, 2];
+      var THIRTY = new BigInteger(null);
+      THIRTY.fromInt(30);
+      var op_or = function(x, y) {
+        return x | y;
+      };
+      prime.generateProbablePrime = function(bits, options, callback) {
+        if (typeof options === "function") {
+          callback = options;
+          options = {};
         }
-        var cipher = ctx.plugin.cipher;
-        var increment = ctx.plugin.increment;
-        var formatKey = ctx.plugin.formatKey;
-        var formatSeed = ctx.plugin.formatSeed;
-        var b = forge.util.createBuffer();
-        ctx.key = null;
-        generate();
-        function generate(err) {
-          if (err) {
-            return callback(err);
-          }
-          if (b.length() >= count) {
-            return callback(null, b.getBytes(count));
-          }
-          if (ctx.generated > 1048575) {
-            ctx.key = null;
-          }
-          if (ctx.key === null) {
-            return forge.util.nextTick(function() {
-              _reseed(generate);
-            });
-          }
-          var bytes = cipher(ctx.key, ctx.seed);
-          ctx.generated += bytes.length;
-          b.putBytes(bytes);
-          ctx.key = formatKey(cipher(ctx.key, increment(ctx.seed)));
-          ctx.seed = formatSeed(cipher(ctx.key, ctx.seed));
-          forge.util.setImmediate(generate);
+        options = options || {};
+        var algorithm = options.algorithm || "PRIMEINC";
+        if (typeof algorithm === "string") {
+          algorithm = { name: algorithm };
         }
-      };
-      ctx.generateSync = function(count) {
-        var cipher = ctx.plugin.cipher;
-        var increment = ctx.plugin.increment;
-        var formatKey = ctx.plugin.formatKey;
-        var formatSeed = ctx.plugin.formatSeed;
-        ctx.key = null;
-        var b = forge.util.createBuffer();
-        while (b.length() < count) {
-          if (ctx.generated > 1048575) {
-            ctx.key = null;
-          }
-          if (ctx.key === null) {
-            _reseedSync();
+        algorithm.options = algorithm.options || {};
+        var prng = options.prng || forge.random;
+        var rng = {
+          // x is an array to fill with bytes
+          nextBytes: function(x) {
+            var b = prng.getBytesSync(x.length);
+            for (var i = 0; i < x.length; ++i) {
+              x[i] = b.charCodeAt(i);
+            }
           }
-          var bytes = cipher(ctx.key, ctx.seed);
-          ctx.generated += bytes.length;
-          b.putBytes(bytes);
-          ctx.key = formatKey(cipher(ctx.key, increment(ctx.seed)));
-          ctx.seed = formatSeed(cipher(ctx.key, ctx.seed));
+        };
+        if (algorithm.name === "PRIMEINC") {
+          return primeincFindPrime(bits, rng, algorithm.options, callback);
         }
-        return b.getBytes(count);
+        throw new Error("Invalid prime generation algorithm: " + algorithm.name);
       };
-      function _reseed(callback) {
-        if (ctx.pools[0].messageLength >= 32) {
-          _seed();
-          return callback();
+      function primeincFindPrime(bits, rng, options, callback) {
+        if ("workers" in options) {
+          return primeincFindPrimeWithWorkers(bits, rng, options, callback);
         }
-        var needed = 32 - ctx.pools[0].messageLength << 5;
-        ctx.seedFile(needed, function(err, bytes) {
-          if (err) {
-            return callback(err);
-          }
-          ctx.collect(bytes);
-          _seed();
-          callback();
-        });
+        return primeincFindPrimeWithoutWorkers(bits, rng, options, callback);
       }
-      function _reseedSync() {
-        if (ctx.pools[0].messageLength >= 32) {
-          return _seed();
+      function primeincFindPrimeWithoutWorkers(bits, rng, options, callback) {
+        var num = generateRandom(bits, rng);
+        var deltaIdx = 0;
+        var mrTests = getMillerRabinTests(num.bitLength());
+        if ("millerRabinTests" in options) {
+          mrTests = options.millerRabinTests;
         }
-        var needed = 32 - ctx.pools[0].messageLength << 5;
-        ctx.collect(ctx.seedFileSync(needed));
-        _seed();
+        var maxBlockTime = 10;
+        if ("maxBlockTime" in options) {
+          maxBlockTime = options.maxBlockTime;
+        }
+        _primeinc(num, bits, rng, deltaIdx, mrTests, maxBlockTime, callback);
       }
-      function _seed() {
-        ctx.reseeds = ctx.reseeds === 4294967295 ? 0 : ctx.reseeds + 1;
-        var md2 = ctx.plugin.md.create();
-        md2.update(ctx.keyBytes);
-        var _2powK = 1;
-        for (var k = 0; k < 32; ++k) {
-          if (ctx.reseeds % _2powK === 0) {
-            md2.update(ctx.pools[k].digest().getBytes());
-            ctx.pools[k].start();
+      function _primeinc(num, bits, rng, deltaIdx, mrTests, maxBlockTime, callback) {
+        var start = +/* @__PURE__ */ new Date();
+        do {
+          if (num.bitLength() > bits) {
+            num = generateRandom(bits, rng);
           }
-          _2powK = _2powK << 1;
-        }
-        ctx.keyBytes = md2.digest().getBytes();
-        md2.start();
-        md2.update(ctx.keyBytes);
-        var seedBytes = md2.digest().getBytes();
-        ctx.key = ctx.plugin.formatKey(ctx.keyBytes);
-        ctx.seed = ctx.plugin.formatSeed(seedBytes);
-        ctx.generated = 0;
+          if (num.isProbablePrime(mrTests)) {
+            return callback(null, num);
+          }
+          num.dAddOffset(GCD_30_DELTA[deltaIdx++ % 8], 0);
+        } while (maxBlockTime < 0 || +/* @__PURE__ */ new Date() - start < maxBlockTime);
+        forge.util.setImmediate(function() {
+          _primeinc(num, bits, rng, deltaIdx, mrTests, maxBlockTime, callback);
+        });
       }
-      function defaultSeedFile(needed) {
-        var getRandomValues = null;
-        var globalScope = forge.util.globalScope;
-        var _crypto2 = globalScope.crypto || globalScope.msCrypto;
-        if (_crypto2 && _crypto2.getRandomValues) {
-          getRandomValues = function(arr) {
-            return _crypto2.getRandomValues(arr);
-          };
+      function primeincFindPrimeWithWorkers(bits, rng, options, callback) {
+        if (typeof Worker === "undefined") {
+          return primeincFindPrimeWithoutWorkers(bits, rng, options, callback);
         }
-        var b = forge.util.createBuffer();
-        if (getRandomValues) {
-          while (b.length() < needed) {
-            var count = Math.max(1, Math.min(needed - b.length(), 65536) / 4);
-            var entropy = new Uint32Array(Math.floor(count));
-            try {
-              getRandomValues(entropy);
-              for (var i2 = 0; i2 < entropy.length; ++i2) {
-                b.putInt32(entropy[i2]);
-              }
-            } catch (e) {
-              if (!(typeof QuotaExceededError !== "undefined" && e instanceof QuotaExceededError)) {
-                throw e;
-              }
+        var num = generateRandom(bits, rng);
+        var numWorkers = options.workers;
+        var workLoad = options.workLoad || 100;
+        var range = workLoad * 30 / 8;
+        var workerScript = options.workerScript || "forge/prime.worker.js";
+        if (numWorkers === -1) {
+          return forge.util.estimateCores(function(err, cores) {
+            if (err) {
+              cores = 2;
             }
-          }
+            numWorkers = cores - 1;
+            generate();
+          });
         }
-        if (b.length() < needed) {
-          var hi, lo, next;
-          var seed = Math.floor(Math.random() * 65536);
-          while (b.length() < needed) {
-            lo = 16807 * (seed & 65535);
-            hi = 16807 * (seed >> 16);
-            lo += (hi & 32767) << 16;
-            lo += hi >> 15;
-            lo = (lo & 2147483647) + (lo >> 31);
-            seed = lo & 4294967295;
-            for (var i2 = 0; i2 < 3; ++i2) {
-              next = seed >>> (i2 << 3);
-              next ^= Math.floor(Math.random() * 256);
-              b.putByte(next & 255);
+        generate();
+        function generate() {
+          numWorkers = Math.max(1, numWorkers);
+          var workers = [];
+          for (var i = 0; i < numWorkers; ++i) {
+            workers[i] = new Worker(workerScript);
+          }
+          var running = numWorkers;
+          for (var i = 0; i < numWorkers; ++i) {
+            workers[i].addEventListener("message", workerMessage);
+          }
+          var found = false;
+          function workerMessage(e) {
+            if (found) {
+              return;
+            }
+            --running;
+            var data = e.data;
+            if (data.found) {
+              for (var i2 = 0; i2 < workers.length; ++i2) {
+                workers[i2].terminate();
+              }
+              found = true;
+              return callback(null, new BigInteger(data.prime, 16));
+            }
+            if (num.bitLength() > bits) {
+              num = generateRandom(bits, rng);
             }
+            var hex = num.toString(16);
+            e.target.postMessage({
+              hex,
+              workLoad
+            });
+            num.dAddOffset(range, 0);
           }
         }
-        return b.getBytes(needed);
       }
-      if (_crypto) {
-        ctx.seedFile = function(needed, callback) {
-          _crypto.randomBytes(needed, function(err, bytes) {
-            if (err) {
-              return callback(err);
-            }
-            callback(null, bytes.toString());
-          });
-        };
-        ctx.seedFileSync = function(needed) {
-          return _crypto.randomBytes(needed).toString();
-        };
-      } else {
-        ctx.seedFile = function(needed, callback) {
-          try {
-            callback(null, defaultSeedFile(needed));
-          } catch (e) {
-            callback(e);
-          }
-        };
-        ctx.seedFileSync = defaultSeedFile;
-      }
-      ctx.collect = function(bytes) {
-        var count = bytes.length;
-        for (var i2 = 0; i2 < count; ++i2) {
-          ctx.pools[ctx.pool].update(bytes.substr(i2, 1));
-          ctx.pool = ctx.pool === 31 ? 0 : ctx.pool + 1;
-        }
-      };
-      ctx.collectInt = function(i2, n) {
-        var bytes = "";
-        for (var x = 0; x < n; x += 8) {
-          bytes += String.fromCharCode(i2 >> x & 255);
-        }
-        ctx.collect(bytes);
-      };
-      ctx.registerWorker = function(worker) {
-        if (worker === self) {
-          ctx.seedFile = function(needed, callback) {
-            function listener2(e) {
-              var data = e.data;
-              if (data.forge && data.forge.prng) {
-                self.removeEventListener("message", listener2);
-                callback(data.forge.prng.err, data.forge.prng.bytes);
-              }
-            }
-            self.addEventListener("message", listener2);
-            self.postMessage({ forge: { prng: { needed } } });
-          };
-        } else {
-          var listener = function(e) {
-            var data = e.data;
-            if (data.forge && data.forge.prng) {
-              ctx.seedFile(data.forge.prng.needed, function(err, bytes) {
-                worker.postMessage({ forge: { prng: { err, bytes } } });
-              });
-            }
-          };
-          worker.addEventListener("message", listener);
+      function generateRandom(bits, rng) {
+        var num = new BigInteger(bits, rng);
+        var bits1 = bits - 1;
+        if (!num.testBit(bits1)) {
+          num.bitwiseTo(BigInteger.ONE.shiftLeft(bits1), op_or, num);
         }
-      };
-      return ctx;
-    };
-  }
-});
-
-// node_modules/node-forge/lib/random.js
-var require_random = __commonJS({
-  "node_modules/node-forge/lib/random.js"(exports2, module2) {
-    var forge = require_forge();
-    require_aes();
-    require_sha256();
-    require_prng();
-    require_util9();
-    (function() {
-      if (forge.random && forge.random.getBytes) {
-        module2.exports = forge.random;
-        return;
+        num.dAddOffset(31 - num.mod(THIRTY).byteValue(), 0);
+        return num;
+      }
+      function getMillerRabinTests(bits) {
+        if (bits <= 100) return 27;
+        if (bits <= 150) return 18;
+        if (bits <= 200) return 15;
+        if (bits <= 250) return 12;
+        if (bits <= 300) return 9;
+        if (bits <= 350) return 8;
+        if (bits <= 400) return 7;
+        if (bits <= 500) return 6;
+        if (bits <= 600) return 5;
+        if (bits <= 800) return 4;
+        if (bits <= 1250) return 3;
+        return 2;
       }
-      (function(jQuery2) {
-        var prng_aes = {};
-        var _prng_aes_output = new Array(4);
-        var _prng_aes_buffer = forge.util.createBuffer();
-        prng_aes.formatKey = function(key2) {
-          var tmp = forge.util.createBuffer(key2);
-          key2 = new Array(4);
-          key2[0] = tmp.getInt32();
-          key2[1] = tmp.getInt32();
-          key2[2] = tmp.getInt32();
-          key2[3] = tmp.getInt32();
-          return forge.aes._expandKey(key2, false);
-        };
-        prng_aes.formatSeed = function(seed) {
-          var tmp = forge.util.createBuffer(seed);
-          seed = new Array(4);
-          seed[0] = tmp.getInt32();
-          seed[1] = tmp.getInt32();
-          seed[2] = tmp.getInt32();
-          seed[3] = tmp.getInt32();
-          return seed;
-        };
-        prng_aes.cipher = function(key2, seed) {
-          forge.aes._updateBlock(key2, seed, _prng_aes_output, false);
-          _prng_aes_buffer.putInt32(_prng_aes_output[0]);
-          _prng_aes_buffer.putInt32(_prng_aes_output[1]);
-          _prng_aes_buffer.putInt32(_prng_aes_output[2]);
-          _prng_aes_buffer.putInt32(_prng_aes_output[3]);
-          return _prng_aes_buffer.getBytes();
-        };
-        prng_aes.increment = function(seed) {
-          ++seed[3];
-          return seed;
-        };
-        prng_aes.md = forge.md.sha256;
-        function spawnPrng() {
-          var ctx = forge.prng.create(prng_aes);
-          ctx.getBytes = function(count, callback) {
-            return ctx.generate(count, callback);
-          };
-          ctx.getBytesSync = function(count) {
-            return ctx.generate(count);
-          };
-          return ctx;
-        }
-        var _ctx = spawnPrng();
-        var getRandomValues = null;
-        var globalScope = forge.util.globalScope;
-        var _crypto = globalScope.crypto || globalScope.msCrypto;
-        if (_crypto && _crypto.getRandomValues) {
-          getRandomValues = function(arr) {
-            return _crypto.getRandomValues(arr);
-          };
-        }
-        if (forge.options.usePureJavaScript || !forge.util.isNodejs && !getRandomValues) {
-          if (typeof window === "undefined" || window.document === void 0) {
-          }
-          _ctx.collectInt(+/* @__PURE__ */ new Date(), 32);
-          if (typeof navigator !== "undefined") {
-            var _navBytes = "";
-            for (var key in navigator) {
-              try {
-                if (typeof navigator[key] == "string") {
-                  _navBytes += navigator[key];
-                }
-              } catch (e) {
-              }
-            }
-            _ctx.collect(_navBytes);
-            _navBytes = null;
-          }
-          if (jQuery2) {
-            jQuery2().mousemove(function(e) {
-              _ctx.collectInt(e.clientX, 16);
-              _ctx.collectInt(e.clientY, 16);
-            });
-            jQuery2().keypress(function(e) {
-              _ctx.collectInt(e.charCode, 8);
-            });
-          }
-        }
-        if (!forge.random) {
-          forge.random = _ctx;
-        } else {
-          for (var key in _ctx) {
-            forge.random[key] = _ctx[key];
-          }
-        }
-        forge.random.createInstance = spawnPrng;
-        module2.exports = forge.random;
-      })(typeof jQuery !== "undefined" ? jQuery : null);
     })();
   }
 });
 
-// node_modules/node-forge/lib/rc2.js
-var require_rc2 = __commonJS({
-  "node_modules/node-forge/lib/rc2.js"(exports2, module2) {
+// node_modules/node-forge/lib/rsa.js
+var require_rsa = __commonJS({
+  "node_modules/node-forge/lib/rsa.js"(exports2, module2) {
     var forge = require_forge();
+    require_asn1();
+    require_jsbn();
+    require_oids();
+    require_pkcs1();
+    require_prime();
+    require_random();
     require_util9();
-    var piTable = [
-      217,
-      120,
-      249,
-      196,
-      25,
-      221,
-      181,
-      237,
-      40,
-      233,
-      253,
-      121,
-      74,
-      160,
-      216,
-      157,
-      198,
-      126,
-      55,
-      131,
-      43,
-      118,
-      83,
-      142,
-      98,
-      76,
-      100,
-      136,
-      68,
-      139,
-      251,
-      162,
-      23,
-      154,
-      89,
-      245,
-      135,
-      179,
-      79,
-      19,
-      97,
-      69,
-      109,
-      141,
-      9,
-      129,
-      125,
-      50,
-      189,
-      143,
-      64,
-      235,
-      134,
-      183,
-      123,
-      11,
-      240,
-      149,
-      33,
-      34,
-      92,
-      107,
-      78,
-      130,
-      84,
-      214,
-      101,
-      147,
-      206,
-      96,
-      178,
-      28,
-      115,
-      86,
-      192,
-      20,
-      167,
-      140,
-      241,
-      220,
-      18,
-      117,
-      202,
-      31,
-      59,
-      190,
-      228,
-      209,
-      66,
-      61,
-      212,
-      48,
-      163,
-      60,
-      182,
-      38,
-      111,
-      191,
-      14,
-      218,
-      70,
-      105,
-      7,
-      87,
-      39,
-      242,
-      29,
-      155,
-      188,
-      148,
-      67,
-      3,
-      248,
-      17,
-      199,
-      246,
-      144,
-      239,
-      62,
-      231,
-      6,
-      195,
-      213,
-      47,
-      200,
-      102,
-      30,
-      215,
-      8,
-      232,
-      234,
-      222,
-      128,
-      82,
-      238,
-      247,
-      132,
-      170,
-      114,
-      172,
-      53,
-      77,
-      106,
-      42,
-      150,
-      26,
-      210,
-      113,
-      90,
-      21,
-      73,
-      116,
-      75,
-      159,
-      208,
-      94,
-      4,
-      24,
-      164,
-      236,
-      194,
-      224,
-      65,
-      110,
-      15,
-      81,
-      203,
-      204,
-      36,
-      145,
-      175,
-      80,
-      161,
-      244,
-      112,
-      57,
-      153,
-      124,
-      58,
-      133,
-      35,
-      184,
-      180,
-      122,
-      252,
-      2,
-      54,
-      91,
-      37,
-      85,
-      151,
-      49,
-      45,
-      93,
-      250,
-      152,
-      227,
-      138,
-      146,
-      174,
-      5,
-      223,
-      41,
-      16,
-      103,
-      108,
-      186,
-      201,
-      211,
-      0,
-      230,
-      207,
-      225,
-      158,
-      168,
-      44,
-      99,
-      22,
-      1,
-      63,
-      88,
-      226,
-      137,
-      169,
-      13,
-      56,
-      52,
-      27,
-      171,
-      51,
-      255,
-      176,
-      187,
-      72,
-      12,
-      95,
-      185,
-      177,
-      205,
-      46,
-      197,
-      243,
-      219,
-      71,
-      229,
-      165,
-      156,
-      119,
-      10,
-      166,
-      32,
-      104,
-      254,
-      127,
-      193,
-      173
-    ];
-    var s = [1, 2, 3, 5];
-    var rol = function(word, bits) {
-      return word << bits & 65535 | (word & 65535) >> 16 - bits;
-    };
-    var ror = function(word, bits) {
-      return (word & 65535) >> bits | word << 16 - bits & 65535;
+    if (typeof BigInteger === "undefined") {
+      BigInteger = forge.jsbn.BigInteger;
+    }
+    var BigInteger;
+    var _crypto = forge.util.isNodejs ? require("crypto") : null;
+    var asn1 = forge.asn1;
+    var util = forge.util;
+    forge.pki = forge.pki || {};
+    module2.exports = forge.pki.rsa = forge.rsa = forge.rsa || {};
+    var pki2 = forge.pki;
+    var GCD_30_DELTA = [6, 4, 2, 4, 2, 4, 6, 2];
+    var privateKeyValidator = {
+      // PrivateKeyInfo
+      name: "PrivateKeyInfo",
+      tagClass: asn1.Class.UNIVERSAL,
+      type: asn1.Type.SEQUENCE,
+      constructed: true,
+      value: [{
+        // Version (INTEGER)
+        name: "PrivateKeyInfo.version",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "privateKeyVersion"
+      }, {
+        // privateKeyAlgorithm
+        name: "PrivateKeyInfo.privateKeyAlgorithm",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.SEQUENCE,
+        constructed: true,
+        value: [{
+          name: "AlgorithmIdentifier.algorithm",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.OID,
+          constructed: false,
+          capture: "privateKeyOid"
+        }]
+      }, {
+        // PrivateKey
+        name: "PrivateKeyInfo",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.OCTETSTRING,
+        constructed: false,
+        capture: "privateKey"
+      }]
     };
-    module2.exports = forge.rc2 = forge.rc2 || {};
-    forge.rc2.expandKey = function(key, effKeyBits) {
-      if (typeof key === "string") {
-        key = forge.util.createBuffer(key);
-      }
-      effKeyBits = effKeyBits || 128;
-      var L = key;
-      var T = key.length();
-      var T1 = effKeyBits;
-      var T8 = Math.ceil(T1 / 8);
-      var TM = 255 >> (T1 & 7);
-      var i;
-      for (i = T; i < 128; i++) {
-        L.putByte(piTable[L.at(i - 1) + L.at(i - T) & 255]);
-      }
-      L.setAt(128 - T8, piTable[L.at(128 - T8) & TM]);
-      for (i = 127 - T8; i >= 0; i--) {
-        L.setAt(i, piTable[L.at(i + 1) ^ L.at(i + T8)]);
+    var rsaPrivateKeyValidator = {
+      // RSAPrivateKey
+      name: "RSAPrivateKey",
+      tagClass: asn1.Class.UNIVERSAL,
+      type: asn1.Type.SEQUENCE,
+      constructed: true,
+      value: [{
+        // Version (INTEGER)
+        name: "RSAPrivateKey.version",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "privateKeyVersion"
+      }, {
+        // modulus (n)
+        name: "RSAPrivateKey.modulus",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "privateKeyModulus"
+      }, {
+        // publicExponent (e)
+        name: "RSAPrivateKey.publicExponent",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "privateKeyPublicExponent"
+      }, {
+        // privateExponent (d)
+        name: "RSAPrivateKey.privateExponent",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "privateKeyPrivateExponent"
+      }, {
+        // prime1 (p)
+        name: "RSAPrivateKey.prime1",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "privateKeyPrime1"
+      }, {
+        // prime2 (q)
+        name: "RSAPrivateKey.prime2",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "privateKeyPrime2"
+      }, {
+        // exponent1 (d mod (p-1))
+        name: "RSAPrivateKey.exponent1",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "privateKeyExponent1"
+      }, {
+        // exponent2 (d mod (q-1))
+        name: "RSAPrivateKey.exponent2",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "privateKeyExponent2"
+      }, {
+        // coefficient ((inverse of q) mod p)
+        name: "RSAPrivateKey.coefficient",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "privateKeyCoefficient"
+      }]
+    };
+    var rsaPublicKeyValidator = {
+      // RSAPublicKey
+      name: "RSAPublicKey",
+      tagClass: asn1.Class.UNIVERSAL,
+      type: asn1.Type.SEQUENCE,
+      constructed: true,
+      value: [{
+        // modulus (n)
+        name: "RSAPublicKey.modulus",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "publicKeyModulus"
+      }, {
+        // publicExponent (e)
+        name: "RSAPublicKey.exponent",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "publicKeyExponent"
+      }]
+    };
+    var publicKeyValidator = forge.pki.rsa.publicKeyValidator = {
+      name: "SubjectPublicKeyInfo",
+      tagClass: asn1.Class.UNIVERSAL,
+      type: asn1.Type.SEQUENCE,
+      constructed: true,
+      captureAsn1: "subjectPublicKeyInfo",
+      value: [{
+        name: "SubjectPublicKeyInfo.AlgorithmIdentifier",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.SEQUENCE,
+        constructed: true,
+        value: [{
+          name: "AlgorithmIdentifier.algorithm",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.OID,
+          constructed: false,
+          capture: "publicKeyOid"
+        }]
+      }, {
+        // subjectPublicKey
+        name: "SubjectPublicKeyInfo.subjectPublicKey",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.BITSTRING,
+        constructed: false,
+        value: [{
+          // RSAPublicKey
+          name: "SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.SEQUENCE,
+          constructed: true,
+          optional: true,
+          captureAsn1: "rsaPublicKey"
+        }]
+      }]
+    };
+    var digestInfoValidator = {
+      name: "DigestInfo",
+      tagClass: asn1.Class.UNIVERSAL,
+      type: asn1.Type.SEQUENCE,
+      constructed: true,
+      value: [{
+        name: "DigestInfo.DigestAlgorithm",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.SEQUENCE,
+        constructed: true,
+        value: [{
+          name: "DigestInfo.DigestAlgorithm.algorithmIdentifier",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.OID,
+          constructed: false,
+          capture: "algorithmIdentifier"
+        }, {
+          // NULL parameters
+          name: "DigestInfo.DigestAlgorithm.parameters",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.NULL,
+          // captured only to check existence for md2 and md5
+          capture: "parameters",
+          optional: true,
+          constructed: false
+        }]
+      }, {
+        // digest
+        name: "DigestInfo.digest",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.OCTETSTRING,
+        constructed: false,
+        capture: "digest"
+      }]
+    };
+    var emsaPkcs1v15encode = function(md) {
+      var oid;
+      if (md.algorithm in pki2.oids) {
+        oid = pki2.oids[md.algorithm];
+      } else {
+        var error3 = new Error("Unknown message digest algorithm.");
+        error3.algorithm = md.algorithm;
+        throw error3;
       }
-      return L;
+      var oidBytes = asn1.oidToDer(oid).getBytes();
+      var digestInfo = asn1.create(
+        asn1.Class.UNIVERSAL,
+        asn1.Type.SEQUENCE,
+        true,
+        []
+      );
+      var digestAlgorithm = asn1.create(
+        asn1.Class.UNIVERSAL,
+        asn1.Type.SEQUENCE,
+        true,
+        []
+      );
+      digestAlgorithm.value.push(asn1.create(
+        asn1.Class.UNIVERSAL,
+        asn1.Type.OID,
+        false,
+        oidBytes
+      ));
+      digestAlgorithm.value.push(asn1.create(
+        asn1.Class.UNIVERSAL,
+        asn1.Type.NULL,
+        false,
+        ""
+      ));
+      var digest = asn1.create(
+        asn1.Class.UNIVERSAL,
+        asn1.Type.OCTETSTRING,
+        false,
+        md.digest().getBytes()
+      );
+      digestInfo.value.push(digestAlgorithm);
+      digestInfo.value.push(digest);
+      return asn1.toDer(digestInfo).getBytes();
     };
-    var createCipher = function(key, bits, encrypt) {
-      var _finish = false, _input = null, _output = null, _iv = null;
-      var mixRound, mashRound;
-      var i, j, K = [];
-      key = forge.rc2.expandKey(key, bits);
-      for (i = 0; i < 64; i++) {
-        K.push(key.getInt16Le());
+    var _modPow = function(x, key, pub) {
+      if (pub) {
+        return x.modPow(key.e, key.n);
       }
-      if (encrypt) {
-        mixRound = function(R) {
-          for (i = 0; i < 4; i++) {
-            R[i] += K[j] + (R[(i + 3) % 4] & R[(i + 2) % 4]) + (~R[(i + 3) % 4] & R[(i + 1) % 4]);
-            R[i] = rol(R[i], s[i]);
-            j++;
-          }
-        };
-        mashRound = function(R) {
-          for (i = 0; i < 4; i++) {
-            R[i] += K[R[(i + 3) % 4] & 63];
-          }
-        };
+      if (!key.p || !key.q) {
+        return x.modPow(key.d, key.n);
+      }
+      if (!key.dP) {
+        key.dP = key.d.mod(key.p.subtract(BigInteger.ONE));
+      }
+      if (!key.dQ) {
+        key.dQ = key.d.mod(key.q.subtract(BigInteger.ONE));
+      }
+      if (!key.qInv) {
+        key.qInv = key.q.modInverse(key.p);
+      }
+      var r;
+      do {
+        r = new BigInteger(
+          forge.util.bytesToHex(forge.random.getBytes(key.n.bitLength() / 8)),
+          16
+        );
+      } while (r.compareTo(key.n) >= 0 || !r.gcd(key.n).equals(BigInteger.ONE));
+      x = x.multiply(r.modPow(key.e, key.n)).mod(key.n);
+      var xp = x.mod(key.p).modPow(key.dP, key.p);
+      var xq = x.mod(key.q).modPow(key.dQ, key.q);
+      while (xp.compareTo(xq) < 0) {
+        xp = xp.add(key.p);
+      }
+      var y = xp.subtract(xq).multiply(key.qInv).mod(key.p).multiply(key.q).add(xq);
+      y = y.multiply(r.modInverse(key.n)).mod(key.n);
+      return y;
+    };
+    pki2.rsa.encrypt = function(m, key, bt) {
+      var pub = bt;
+      var eb;
+      var k = Math.ceil(key.n.bitLength() / 8);
+      if (bt !== false && bt !== true) {
+        pub = bt === 2;
+        eb = _encodePkcs1_v1_5(m, key, bt);
       } else {
-        mixRound = function(R) {
-          for (i = 3; i >= 0; i--) {
-            R[i] = ror(R[i], s[i]);
-            R[i] -= K[j] + (R[(i + 3) % 4] & R[(i + 2) % 4]) + (~R[(i + 3) % 4] & R[(i + 1) % 4]);
-            j--;
-          }
-        };
-        mashRound = function(R) {
-          for (i = 3; i >= 0; i--) {
-            R[i] -= K[R[(i + 3) % 4] & 63];
+        eb = forge.util.createBuffer();
+        eb.putBytes(m);
+      }
+      var x = new BigInteger(eb.toHex(), 16);
+      var y = _modPow(x, key, pub);
+      var yhex = y.toString(16);
+      var ed = forge.util.createBuffer();
+      var zeros = k - Math.ceil(yhex.length / 2);
+      while (zeros > 0) {
+        ed.putByte(0);
+        --zeros;
+      }
+      ed.putBytes(forge.util.hexToBytes(yhex));
+      return ed.getBytes();
+    };
+    pki2.rsa.decrypt = function(ed, key, pub, ml) {
+      var k = Math.ceil(key.n.bitLength() / 8);
+      if (ed.length !== k) {
+        var error3 = new Error("Encrypted message length is invalid.");
+        error3.length = ed.length;
+        error3.expected = k;
+        throw error3;
+      }
+      var y = new BigInteger(forge.util.createBuffer(ed).toHex(), 16);
+      if (y.compareTo(key.n) >= 0) {
+        throw new Error("Encrypted message is invalid.");
+      }
+      var x = _modPow(y, key, pub);
+      var xhex = x.toString(16);
+      var eb = forge.util.createBuffer();
+      var zeros = k - Math.ceil(xhex.length / 2);
+      while (zeros > 0) {
+        eb.putByte(0);
+        --zeros;
+      }
+      eb.putBytes(forge.util.hexToBytes(xhex));
+      if (ml !== false) {
+        return _decodePkcs1_v1_5(eb.getBytes(), key, pub);
+      }
+      return eb.getBytes();
+    };
+    pki2.rsa.createKeyPairGenerationState = function(bits, e, options) {
+      if (typeof bits === "string") {
+        bits = parseInt(bits, 10);
+      }
+      bits = bits || 2048;
+      options = options || {};
+      var prng = options.prng || forge.random;
+      var rng = {
+        // x is an array to fill with bytes
+        nextBytes: function(x) {
+          var b = prng.getBytesSync(x.length);
+          for (var i = 0; i < x.length; ++i) {
+            x[i] = b.charCodeAt(i);
           }
+        }
+      };
+      var algorithm = options.algorithm || "PRIMEINC";
+      var rval;
+      if (algorithm === "PRIMEINC") {
+        rval = {
+          algorithm,
+          state: 0,
+          bits,
+          rng,
+          eInt: e || 65537,
+          e: new BigInteger(null),
+          p: null,
+          q: null,
+          qBits: bits >> 1,
+          pBits: bits - (bits >> 1),
+          pqState: 0,
+          num: null,
+          keys: null
         };
+        rval.e.fromInt(rval.eInt);
+      } else {
+        throw new Error("Invalid key generation algorithm: " + algorithm);
       }
-      var runPlan = function(plan) {
-        var R = [];
-        for (i = 0; i < 4; i++) {
-          var val = _input.getInt16Le();
-          if (_iv !== null) {
-            if (encrypt) {
-              val ^= _iv.getInt16Le();
+      return rval;
+    };
+    pki2.rsa.stepKeyPairGenerationState = function(state, n) {
+      if (!("algorithm" in state)) {
+        state.algorithm = "PRIMEINC";
+      }
+      var THIRTY = new BigInteger(null);
+      THIRTY.fromInt(30);
+      var deltaIdx = 0;
+      var op_or = function(x, y) {
+        return x | y;
+      };
+      var t1 = +/* @__PURE__ */ new Date();
+      var t2;
+      var total = 0;
+      while (state.keys === null && (n <= 0 || total < n)) {
+        if (state.state === 0) {
+          var bits = state.p === null ? state.pBits : state.qBits;
+          var bits1 = bits - 1;
+          if (state.pqState === 0) {
+            state.num = new BigInteger(bits, state.rng);
+            if (!state.num.testBit(bits1)) {
+              state.num.bitwiseTo(
+                BigInteger.ONE.shiftLeft(bits1),
+                op_or,
+                state.num
+              );
+            }
+            state.num.dAddOffset(31 - state.num.mod(THIRTY).byteValue(), 0);
+            deltaIdx = 0;
+            ++state.pqState;
+          } else if (state.pqState === 1) {
+            if (state.num.bitLength() > bits) {
+              state.pqState = 0;
+            } else if (state.num.isProbablePrime(
+              _getMillerRabinTests(state.num.bitLength())
+            )) {
+              ++state.pqState;
             } else {
-              _iv.putInt16Le(val);
+              state.num.dAddOffset(GCD_30_DELTA[deltaIdx++ % 8], 0);
             }
-          }
-          R.push(val & 65535);
-        }
-        j = encrypt ? 0 : 63;
-        for (var ptr = 0; ptr < plan.length; ptr++) {
-          for (var ctr = 0; ctr < plan[ptr][0]; ctr++) {
-            plan[ptr][1](R);
-          }
-        }
-        for (i = 0; i < 4; i++) {
-          if (_iv !== null) {
-            if (encrypt) {
-              _iv.putInt16Le(R[i]);
+          } else if (state.pqState === 2) {
+            state.pqState = state.num.subtract(BigInteger.ONE).gcd(state.e).compareTo(BigInteger.ONE) === 0 ? 3 : 0;
+          } else if (state.pqState === 3) {
+            state.pqState = 0;
+            if (state.p === null) {
+              state.p = state.num;
             } else {
-              R[i] ^= _iv.getInt16Le();
+              state.q = state.num;
             }
-          }
-          _output.putInt16Le(R[i]);
-        }
-      };
-      var cipher = null;
-      cipher = {
-        /**
-         * Starts or restarts the encryption or decryption process, whichever
-         * was previously configured.
-         *
-         * To use the cipher in CBC mode, iv may be given either as a string
-         * of bytes, or as a byte buffer.  For ECB mode, give null as iv.
-         *
-         * @param iv the initialization vector to use, null for ECB mode.
-         * @param output the output the buffer to write to, null to create one.
-         */
-        start: function(iv, output) {
-          if (iv) {
-            if (typeof iv === "string") {
-              iv = forge.util.createBuffer(iv);
+            if (state.p !== null && state.q !== null) {
+              ++state.state;
             }
+            state.num = null;
           }
-          _finish = false;
-          _input = forge.util.createBuffer();
-          _output = output || new forge.util.createBuffer();
-          _iv = iv;
-          cipher.output = _output;
-        },
-        /**
-         * Updates the next block.
-         *
-         * @param input the buffer to read from.
-         */
-        update: function(input) {
-          if (!_finish) {
-            _input.putBuffer(input);
-          }
-          while (_input.length() >= 8) {
-            runPlan([
-              [5, mixRound],
-              [1, mashRound],
-              [6, mixRound],
-              [1, mashRound],
-              [5, mixRound]
-            ]);
+        } else if (state.state === 1) {
+          if (state.p.compareTo(state.q) < 0) {
+            state.num = state.p;
+            state.p = state.q;
+            state.q = state.num;
           }
-        },
-        /**
-         * Finishes encrypting or decrypting.
-         *
-         * @param pad a padding function to use, null for PKCS#7 padding,
-         *           signature(blockSize, buffer, decrypt).
-         *
-         * @return true if successful, false on error.
-         */
-        finish: function(pad) {
-          var rval = true;
-          if (encrypt) {
-            if (pad) {
-              rval = pad(8, _input, !encrypt);
-            } else {
-              var padding = _input.length() === 8 ? 8 : 8 - _input.length();
-              _input.fillWithByte(padding, padding);
-            }
+          ++state.state;
+        } else if (state.state === 2) {
+          state.p1 = state.p.subtract(BigInteger.ONE);
+          state.q1 = state.q.subtract(BigInteger.ONE);
+          state.phi = state.p1.multiply(state.q1);
+          ++state.state;
+        } else if (state.state === 3) {
+          if (state.phi.gcd(state.e).compareTo(BigInteger.ONE) === 0) {
+            ++state.state;
+          } else {
+            state.p = null;
+            state.q = null;
+            state.state = 0;
           }
-          if (rval) {
-            _finish = true;
-            cipher.update();
+        } else if (state.state === 4) {
+          state.n = state.p.multiply(state.q);
+          if (state.n.bitLength() === state.bits) {
+            ++state.state;
+          } else {
+            state.q = null;
+            state.state = 0;
           }
-          if (!encrypt) {
-            rval = _input.length() === 0;
-            if (rval) {
-              if (pad) {
-                rval = pad(8, _output, !encrypt);
-              } else {
-                var len = _output.length();
-                var count = _output.at(len - 1);
-                if (count > len) {
-                  rval = false;
-                } else {
-                  _output.truncate(count);
-                }
-              }
-            }
-          }
-          return rval;
+        } else if (state.state === 5) {
+          var d = state.e.modInverse(state.phi);
+          state.keys = {
+            privateKey: pki2.rsa.setPrivateKey(
+              state.n,
+              state.e,
+              d,
+              state.p,
+              state.q,
+              d.mod(state.p1),
+              d.mod(state.q1),
+              state.q.modInverse(state.p)
+            ),
+            publicKey: pki2.rsa.setPublicKey(state.n, state.e)
+          };
         }
-      };
-      return cipher;
-    };
-    forge.rc2.startEncrypting = function(key, iv, output) {
-      var cipher = forge.rc2.createEncryptionCipher(key, 128);
-      cipher.start(iv, output);
-      return cipher;
-    };
-    forge.rc2.createEncryptionCipher = function(key, bits) {
-      return createCipher(key, bits, true);
-    };
-    forge.rc2.startDecrypting = function(key, iv, output) {
-      var cipher = forge.rc2.createDecryptionCipher(key, 128);
-      cipher.start(iv, output);
-      return cipher;
-    };
-    forge.rc2.createDecryptionCipher = function(key, bits) {
-      return createCipher(key, bits, false);
-    };
-  }
-});
-
-// node_modules/node-forge/lib/jsbn.js
-var require_jsbn = __commonJS({
-  "node_modules/node-forge/lib/jsbn.js"(exports2, module2) {
-    var forge = require_forge();
-    module2.exports = forge.jsbn = forge.jsbn || {};
-    var dbits;
-    var canary = 244837814094590;
-    var j_lm = (canary & 16777215) == 15715070;
-    function BigInteger(a, b, c) {
-      this.data = [];
-      if (a != null)
-        if ("number" == typeof a) this.fromNumber(a, b, c);
-        else if (b == null && "string" != typeof a) this.fromString(a, 256);
-        else this.fromString(a, b);
-    }
-    forge.jsbn.BigInteger = BigInteger;
-    function nbi() {
-      return new BigInteger(null);
-    }
-    function am1(i, x, w, j, c, n) {
-      while (--n >= 0) {
-        var v = x * this.data[i++] + w.data[j] + c;
-        c = Math.floor(v / 67108864);
-        w.data[j++] = v & 67108863;
-      }
-      return c;
-    }
-    function am2(i, x, w, j, c, n) {
-      var xl = x & 32767, xh = x >> 15;
-      while (--n >= 0) {
-        var l = this.data[i] & 32767;
-        var h = this.data[i++] >> 15;
-        var m = xh * l + h * xl;
-        l = xl * l + ((m & 32767) << 15) + w.data[j] + (c & 1073741823);
-        c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);
-        w.data[j++] = l & 1073741823;
-      }
-      return c;
-    }
-    function am3(i, x, w, j, c, n) {
-      var xl = x & 16383, xh = x >> 14;
-      while (--n >= 0) {
-        var l = this.data[i] & 16383;
-        var h = this.data[i++] >> 14;
-        var m = xh * l + h * xl;
-        l = xl * l + ((m & 16383) << 14) + w.data[j] + c;
-        c = (l >> 28) + (m >> 14) + xh * h;
-        w.data[j++] = l & 268435455;
-      }
-      return c;
-    }
-    if (typeof navigator === "undefined") {
-      BigInteger.prototype.am = am3;
-      dbits = 28;
-    } else if (j_lm && navigator.appName == "Microsoft Internet Explorer") {
-      BigInteger.prototype.am = am2;
-      dbits = 30;
-    } else if (j_lm && navigator.appName != "Netscape") {
-      BigInteger.prototype.am = am1;
-      dbits = 26;
-    } else {
-      BigInteger.prototype.am = am3;
-      dbits = 28;
-    }
-    BigInteger.prototype.DB = dbits;
-    BigInteger.prototype.DM = (1 << dbits) - 1;
-    BigInteger.prototype.DV = 1 << dbits;
-    var BI_FP = 52;
-    BigInteger.prototype.FV = Math.pow(2, BI_FP);
-    BigInteger.prototype.F1 = BI_FP - dbits;
-    BigInteger.prototype.F2 = 2 * dbits - BI_FP;
-    var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
-    var BI_RC = new Array();
-    var rr;
-    var vv;
-    rr = "0".charCodeAt(0);
-    for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
-    rr = "a".charCodeAt(0);
-    for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
-    rr = "A".charCodeAt(0);
-    for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
-    function int2char(n) {
-      return BI_RM.charAt(n);
-    }
-    function intAt(s, i) {
-      var c = BI_RC[s.charCodeAt(i)];
-      return c == null ? -1 : c;
-    }
-    function bnpCopyTo(r) {
-      for (var i = this.t - 1; i >= 0; --i) r.data[i] = this.data[i];
-      r.t = this.t;
-      r.s = this.s;
-    }
-    function bnpFromInt(x) {
-      this.t = 1;
-      this.s = x < 0 ? -1 : 0;
-      if (x > 0) this.data[0] = x;
-      else if (x < -1) this.data[0] = x + this.DV;
-      else this.t = 0;
-    }
-    function nbv(i) {
-      var r = nbi();
-      r.fromInt(i);
-      return r;
-    }
-    function bnpFromString(s, b) {
-      var k;
-      if (b == 16) k = 4;
-      else if (b == 8) k = 3;
-      else if (b == 256) k = 8;
-      else if (b == 2) k = 1;
-      else if (b == 32) k = 5;
-      else if (b == 4) k = 2;
-      else {
-        this.fromRadix(s, b);
-        return;
+        t2 = +/* @__PURE__ */ new Date();
+        total += t2 - t1;
+        t1 = t2;
       }
-      this.t = 0;
-      this.s = 0;
-      var i = s.length, mi = false, sh = 0;
-      while (--i >= 0) {
-        var x = k == 8 ? s[i] & 255 : intAt(s, i);
-        if (x < 0) {
-          if (s.charAt(i) == "-") mi = true;
-          continue;
+      return state.keys !== null;
+    };
+    pki2.rsa.generateKeyPair = function(bits, e, options, callback) {
+      if (arguments.length === 1) {
+        if (typeof bits === "object") {
+          options = bits;
+          bits = void 0;
+        } else if (typeof bits === "function") {
+          callback = bits;
+          bits = void 0;
         }
-        mi = false;
-        if (sh == 0)
-          this.data[this.t++] = x;
-        else if (sh + k > this.DB) {
-          this.data[this.t - 1] |= (x & (1 << this.DB - sh) - 1) << sh;
-          this.data[this.t++] = x >> this.DB - sh;
-        } else
-          this.data[this.t - 1] |= x << sh;
-        sh += k;
-        if (sh >= this.DB) sh -= this.DB;
-      }
-      if (k == 8 && (s[0] & 128) != 0) {
-        this.s = -1;
-        if (sh > 0) this.data[this.t - 1] |= (1 << this.DB - sh) - 1 << sh;
-      }
-      this.clamp();
-      if (mi) BigInteger.ZERO.subTo(this, this);
-    }
-    function bnpClamp() {
-      var c = this.s & this.DM;
-      while (this.t > 0 && this.data[this.t - 1] == c) --this.t;
-    }
-    function bnToString(b) {
-      if (this.s < 0) return "-" + this.negate().toString(b);
-      var k;
-      if (b == 16) k = 4;
-      else if (b == 8) k = 3;
-      else if (b == 2) k = 1;
-      else if (b == 32) k = 5;
-      else if (b == 4) k = 2;
-      else return this.toRadix(b);
-      var km = (1 << k) - 1, d, m = false, r = "", i = this.t;
-      var p = this.DB - i * this.DB % k;
-      if (i-- > 0) {
-        if (p < this.DB && (d = this.data[i] >> p) > 0) {
-          m = true;
-          r = int2char(d);
+      } else if (arguments.length === 2) {
+        if (typeof bits === "number") {
+          if (typeof e === "function") {
+            callback = e;
+            e = void 0;
+          } else if (typeof e !== "number") {
+            options = e;
+            e = void 0;
+          }
+        } else {
+          options = bits;
+          callback = e;
+          bits = void 0;
+          e = void 0;
         }
-        while (i >= 0) {
-          if (p < k) {
-            d = (this.data[i] & (1 << p) - 1) << k - p;
-            d |= this.data[--i] >> (p += this.DB - k);
-          } else {
-            d = this.data[i] >> (p -= k) & km;
-            if (p <= 0) {
-              p += this.DB;
-              --i;
-            }
+      } else if (arguments.length === 3) {
+        if (typeof e === "number") {
+          if (typeof options === "function") {
+            callback = options;
+            options = void 0;
           }
-          if (d > 0) m = true;
-          if (m) r += int2char(d);
+        } else {
+          callback = options;
+          options = e;
+          e = void 0;
         }
       }
-      return m ? r : "0";
-    }
-    function bnNegate() {
-      var r = nbi();
-      BigInteger.ZERO.subTo(this, r);
-      return r;
-    }
-    function bnAbs() {
-      return this.s < 0 ? this.negate() : this;
-    }
-    function bnCompareTo(a) {
-      var r = this.s - a.s;
-      if (r != 0) return r;
-      var i = this.t;
-      r = i - a.t;
-      if (r != 0) return this.s < 0 ? -r : r;
-      while (--i >= 0) if ((r = this.data[i] - a.data[i]) != 0) return r;
-      return 0;
-    }
-    function nbits(x) {
-      var r = 1, t;
-      if ((t = x >>> 16) != 0) {
-        x = t;
-        r += 16;
-      }
-      if ((t = x >> 8) != 0) {
-        x = t;
-        r += 8;
-      }
-      if ((t = x >> 4) != 0) {
-        x = t;
-        r += 4;
-      }
-      if ((t = x >> 2) != 0) {
-        x = t;
-        r += 2;
-      }
-      if ((t = x >> 1) != 0) {
-        x = t;
-        r += 1;
-      }
-      return r;
-    }
-    function bnBitLength() {
-      if (this.t <= 0) return 0;
-      return this.DB * (this.t - 1) + nbits(this.data[this.t - 1] ^ this.s & this.DM);
-    }
-    function bnpDLShiftTo(n, r) {
-      var i;
-      for (i = this.t - 1; i >= 0; --i) r.data[i + n] = this.data[i];
-      for (i = n - 1; i >= 0; --i) r.data[i] = 0;
-      r.t = this.t + n;
-      r.s = this.s;
-    }
-    function bnpDRShiftTo(n, r) {
-      for (var i = n; i < this.t; ++i) r.data[i - n] = this.data[i];
-      r.t = Math.max(this.t - n, 0);
-      r.s = this.s;
-    }
-    function bnpLShiftTo(n, r) {
-      var bs = n % this.DB;
-      var cbs = this.DB - bs;
-      var bm = (1 << cbs) - 1;
-      var ds = Math.floor(n / this.DB), c = this.s << bs & this.DM, i;
-      for (i = this.t - 1; i >= 0; --i) {
-        r.data[i + ds + 1] = this.data[i] >> cbs | c;
-        c = (this.data[i] & bm) << bs;
+      options = options || {};
+      if (bits === void 0) {
+        bits = options.bits || 2048;
       }
-      for (i = ds - 1; i >= 0; --i) r.data[i] = 0;
-      r.data[ds] = c;
-      r.t = this.t + ds + 1;
-      r.s = this.s;
-      r.clamp();
-    }
-    function bnpRShiftTo(n, r) {
-      r.s = this.s;
-      var ds = Math.floor(n / this.DB);
-      if (ds >= this.t) {
-        r.t = 0;
-        return;
+      if (e === void 0) {
+        e = options.e || 65537;
       }
-      var bs = n % this.DB;
-      var cbs = this.DB - bs;
-      var bm = (1 << bs) - 1;
-      r.data[0] = this.data[ds] >> bs;
-      for (var i = ds + 1; i < this.t; ++i) {
-        r.data[i - ds - 1] |= (this.data[i] & bm) << cbs;
-        r.data[i - ds] = this.data[i] >> bs;
+      if (!forge.options.usePureJavaScript && !options.prng && bits >= 256 && bits <= 16384 && (e === 65537 || e === 3)) {
+        if (callback) {
+          if (_detectNodeCrypto("generateKeyPair")) {
+            return _crypto.generateKeyPair("rsa", {
+              modulusLength: bits,
+              publicExponent: e,
+              publicKeyEncoding: {
+                type: "spki",
+                format: "pem"
+              },
+              privateKeyEncoding: {
+                type: "pkcs8",
+                format: "pem"
+              }
+            }, function(err, pub, priv) {
+              if (err) {
+                return callback(err);
+              }
+              callback(null, {
+                privateKey: pki2.privateKeyFromPem(priv),
+                publicKey: pki2.publicKeyFromPem(pub)
+              });
+            });
+          }
+          if (_detectSubtleCrypto("generateKey") && _detectSubtleCrypto("exportKey")) {
+            return util.globalScope.crypto.subtle.generateKey({
+              name: "RSASSA-PKCS1-v1_5",
+              modulusLength: bits,
+              publicExponent: _intToUint8Array(e),
+              hash: { name: "SHA-256" }
+            }, true, ["sign", "verify"]).then(function(pair) {
+              return util.globalScope.crypto.subtle.exportKey(
+                "pkcs8",
+                pair.privateKey
+              );
+            }).then(void 0, function(err) {
+              callback(err);
+            }).then(function(pkcs8) {
+              if (pkcs8) {
+                var privateKey = pki2.privateKeyFromAsn1(
+                  asn1.fromDer(forge.util.createBuffer(pkcs8))
+                );
+                callback(null, {
+                  privateKey,
+                  publicKey: pki2.setRsaPublicKey(privateKey.n, privateKey.e)
+                });
+              }
+            });
+          }
+          if (_detectSubtleMsCrypto("generateKey") && _detectSubtleMsCrypto("exportKey")) {
+            var genOp = util.globalScope.msCrypto.subtle.generateKey({
+              name: "RSASSA-PKCS1-v1_5",
+              modulusLength: bits,
+              publicExponent: _intToUint8Array(e),
+              hash: { name: "SHA-256" }
+            }, true, ["sign", "verify"]);
+            genOp.oncomplete = function(e2) {
+              var pair = e2.target.result;
+              var exportOp = util.globalScope.msCrypto.subtle.exportKey(
+                "pkcs8",
+                pair.privateKey
+              );
+              exportOp.oncomplete = function(e3) {
+                var pkcs8 = e3.target.result;
+                var privateKey = pki2.privateKeyFromAsn1(
+                  asn1.fromDer(forge.util.createBuffer(pkcs8))
+                );
+                callback(null, {
+                  privateKey,
+                  publicKey: pki2.setRsaPublicKey(privateKey.n, privateKey.e)
+                });
+              };
+              exportOp.onerror = function(err) {
+                callback(err);
+              };
+            };
+            genOp.onerror = function(err) {
+              callback(err);
+            };
+            return;
+          }
+        } else {
+          if (_detectNodeCrypto("generateKeyPairSync")) {
+            var keypair = _crypto.generateKeyPairSync("rsa", {
+              modulusLength: bits,
+              publicExponent: e,
+              publicKeyEncoding: {
+                type: "spki",
+                format: "pem"
+              },
+              privateKeyEncoding: {
+                type: "pkcs8",
+                format: "pem"
+              }
+            });
+            return {
+              privateKey: pki2.privateKeyFromPem(keypair.privateKey),
+              publicKey: pki2.publicKeyFromPem(keypair.publicKey)
+            };
+          }
+        }
       }
-      if (bs > 0) r.data[this.t - ds - 1] |= (this.s & bm) << cbs;
-      r.t = this.t - ds;
-      r.clamp();
-    }
-    function bnpSubTo(a, r) {
-      var i = 0, c = 0, m = Math.min(a.t, this.t);
-      while (i < m) {
-        c += this.data[i] - a.data[i];
-        r.data[i++] = c & this.DM;
-        c >>= this.DB;
+      var state = pki2.rsa.createKeyPairGenerationState(bits, e, options);
+      if (!callback) {
+        pki2.rsa.stepKeyPairGenerationState(state, 0);
+        return state.keys;
       }
-      if (a.t < this.t) {
-        c -= a.s;
-        while (i < this.t) {
-          c += this.data[i];
-          r.data[i++] = c & this.DM;
-          c >>= this.DB;
+      _generateKeyPair(state, options, callback);
+    };
+    pki2.setRsaPublicKey = pki2.rsa.setPublicKey = function(n, e) {
+      var key = {
+        n,
+        e
+      };
+      key.encrypt = function(data, scheme, schemeOptions) {
+        if (typeof scheme === "string") {
+          scheme = scheme.toUpperCase();
+        } else if (scheme === void 0) {
+          scheme = "RSAES-PKCS1-V1_5";
         }
-        c += this.s;
-      } else {
-        c += this.s;
-        while (i < a.t) {
-          c -= a.data[i];
-          r.data[i++] = c & this.DM;
-          c >>= this.DB;
+        if (scheme === "RSAES-PKCS1-V1_5") {
+          scheme = {
+            encode: function(m, key2, pub) {
+              return _encodePkcs1_v1_5(m, key2, 2).getBytes();
+            }
+          };
+        } else if (scheme === "RSA-OAEP" || scheme === "RSAES-OAEP") {
+          scheme = {
+            encode: function(m, key2) {
+              return forge.pkcs1.encode_rsa_oaep(key2, m, schemeOptions);
+            }
+          };
+        } else if (["RAW", "NONE", "NULL", null].indexOf(scheme) !== -1) {
+          scheme = { encode: function(e3) {
+            return e3;
+          } };
+        } else if (typeof scheme === "string") {
+          throw new Error('Unsupported encryption scheme: "' + scheme + '".');
         }
-        c -= a.s;
+        var e2 = scheme.encode(data, key, true);
+        return pki2.rsa.encrypt(e2, key, true);
+      };
+      key.verify = function(digest, signature, scheme, options) {
+        if (typeof scheme === "string") {
+          scheme = scheme.toUpperCase();
+        } else if (scheme === void 0) {
+          scheme = "RSASSA-PKCS1-V1_5";
+        }
+        if (options === void 0) {
+          options = {
+            _parseAllDigestBytes: true
+          };
+        }
+        if (!("_parseAllDigestBytes" in options)) {
+          options._parseAllDigestBytes = true;
+        }
+        if (scheme === "RSASSA-PKCS1-V1_5") {
+          scheme = {
+            verify: function(digest2, d2) {
+              d2 = _decodePkcs1_v1_5(d2, key, true);
+              var obj = asn1.fromDer(d2, {
+                parseAllBytes: options._parseAllDigestBytes
+              });
+              var capture = {};
+              var errors = [];
+              if (!asn1.validate(obj, digestInfoValidator, capture, errors)) {
+                var error3 = new Error(
+                  "ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value."
+                );
+                error3.errors = errors;
+                throw error3;
+              }
+              var oid = asn1.derToOid(capture.algorithmIdentifier);
+              if (!(oid === forge.oids.md2 || oid === forge.oids.md5 || oid === forge.oids.sha1 || oid === forge.oids.sha224 || oid === forge.oids.sha256 || oid === forge.oids.sha384 || oid === forge.oids.sha512 || oid === forge.oids["sha512-224"] || oid === forge.oids["sha512-256"])) {
+                var error3 = new Error(
+                  "Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier."
+                );
+                error3.oid = oid;
+                throw error3;
+              }
+              if (oid === forge.oids.md2 || oid === forge.oids.md5) {
+                if (!("parameters" in capture)) {
+                  throw new Error(
+                    "ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifier NULL parameters."
+                  );
+                }
+              }
+              return digest2 === capture.digest;
+            }
+          };
+        } else if (scheme === "NONE" || scheme === "NULL" || scheme === null) {
+          scheme = {
+            verify: function(digest2, d2) {
+              d2 = _decodePkcs1_v1_5(d2, key, true);
+              return digest2 === d2;
+            }
+          };
+        }
+        var d = pki2.rsa.decrypt(signature, key, true, false);
+        return scheme.verify(digest, d, key.n.bitLength());
+      };
+      return key;
+    };
+    pki2.setRsaPrivateKey = pki2.rsa.setPrivateKey = function(n, e, d, p, q, dP, dQ, qInv) {
+      var key = {
+        n,
+        e,
+        d,
+        p,
+        q,
+        dP,
+        dQ,
+        qInv
+      };
+      key.decrypt = function(data, scheme, schemeOptions) {
+        if (typeof scheme === "string") {
+          scheme = scheme.toUpperCase();
+        } else if (scheme === void 0) {
+          scheme = "RSAES-PKCS1-V1_5";
+        }
+        var d2 = pki2.rsa.decrypt(data, key, false, false);
+        if (scheme === "RSAES-PKCS1-V1_5") {
+          scheme = { decode: _decodePkcs1_v1_5 };
+        } else if (scheme === "RSA-OAEP" || scheme === "RSAES-OAEP") {
+          scheme = {
+            decode: function(d3, key2) {
+              return forge.pkcs1.decode_rsa_oaep(key2, d3, schemeOptions);
+            }
+          };
+        } else if (["RAW", "NONE", "NULL", null].indexOf(scheme) !== -1) {
+          scheme = { decode: function(d3) {
+            return d3;
+          } };
+        } else {
+          throw new Error('Unsupported encryption scheme: "' + scheme + '".');
+        }
+        return scheme.decode(d2, key, false);
+      };
+      key.sign = function(md, scheme) {
+        var bt = false;
+        if (typeof scheme === "string") {
+          scheme = scheme.toUpperCase();
+        }
+        if (scheme === void 0 || scheme === "RSASSA-PKCS1-V1_5") {
+          scheme = { encode: emsaPkcs1v15encode };
+          bt = 1;
+        } else if (scheme === "NONE" || scheme === "NULL" || scheme === null) {
+          scheme = { encode: function() {
+            return md;
+          } };
+          bt = 1;
+        }
+        var d2 = scheme.encode(md, key.n.bitLength());
+        return pki2.rsa.encrypt(d2, key, bt);
+      };
+      return key;
+    };
+    pki2.wrapRsaPrivateKey = function(rsaKey) {
+      return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+        // version (0)
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.INTEGER,
+          false,
+          asn1.integerToDer(0).getBytes()
+        ),
+        // privateKeyAlgorithm
+        asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+          asn1.create(
+            asn1.Class.UNIVERSAL,
+            asn1.Type.OID,
+            false,
+            asn1.oidToDer(pki2.oids.rsaEncryption).getBytes()
+          ),
+          asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")
+        ]),
+        // PrivateKey
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.OCTETSTRING,
+          false,
+          asn1.toDer(rsaKey).getBytes()
+        )
+      ]);
+    };
+    pki2.privateKeyFromAsn1 = function(obj) {
+      var capture = {};
+      var errors = [];
+      if (asn1.validate(obj, privateKeyValidator, capture, errors)) {
+        obj = asn1.fromDer(forge.util.createBuffer(capture.privateKey));
       }
-      r.s = c < 0 ? -1 : 0;
-      if (c < -1) r.data[i++] = this.DV + c;
-      else if (c > 0) r.data[i++] = c;
-      r.t = i;
-      r.clamp();
-    }
-    function bnpMultiplyTo(a, r) {
-      var x = this.abs(), y = a.abs();
-      var i = x.t;
-      r.t = i + y.t;
-      while (--i >= 0) r.data[i] = 0;
-      for (i = 0; i < y.t; ++i) r.data[i + x.t] = x.am(0, y.data[i], r, i, 0, x.t);
-      r.s = 0;
-      r.clamp();
-      if (this.s != a.s) BigInteger.ZERO.subTo(r, r);
-    }
-    function bnpSquareTo(r) {
-      var x = this.abs();
-      var i = r.t = 2 * x.t;
-      while (--i >= 0) r.data[i] = 0;
-      for (i = 0; i < x.t - 1; ++i) {
-        var c = x.am(i, x.data[i], r, 2 * i, 0, 1);
-        if ((r.data[i + x.t] += x.am(i + 1, 2 * x.data[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
-          r.data[i + x.t] -= x.DV;
-          r.data[i + x.t + 1] = 1;
+      capture = {};
+      errors = [];
+      if (!asn1.validate(obj, rsaPrivateKeyValidator, capture, errors)) {
+        var error3 = new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");
+        error3.errors = errors;
+        throw error3;
+      }
+      var n, e, d, p, q, dP, dQ, qInv;
+      n = forge.util.createBuffer(capture.privateKeyModulus).toHex();
+      e = forge.util.createBuffer(capture.privateKeyPublicExponent).toHex();
+      d = forge.util.createBuffer(capture.privateKeyPrivateExponent).toHex();
+      p = forge.util.createBuffer(capture.privateKeyPrime1).toHex();
+      q = forge.util.createBuffer(capture.privateKeyPrime2).toHex();
+      dP = forge.util.createBuffer(capture.privateKeyExponent1).toHex();
+      dQ = forge.util.createBuffer(capture.privateKeyExponent2).toHex();
+      qInv = forge.util.createBuffer(capture.privateKeyCoefficient).toHex();
+      return pki2.setRsaPrivateKey(
+        new BigInteger(n, 16),
+        new BigInteger(e, 16),
+        new BigInteger(d, 16),
+        new BigInteger(p, 16),
+        new BigInteger(q, 16),
+        new BigInteger(dP, 16),
+        new BigInteger(dQ, 16),
+        new BigInteger(qInv, 16)
+      );
+    };
+    pki2.privateKeyToAsn1 = pki2.privateKeyToRSAPrivateKey = function(key) {
+      return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+        // version (0 = only 2 primes, 1 multiple primes)
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.INTEGER,
+          false,
+          asn1.integerToDer(0).getBytes()
+        ),
+        // modulus (n)
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.INTEGER,
+          false,
+          _bnToBytes(key.n)
+        ),
+        // publicExponent (e)
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.INTEGER,
+          false,
+          _bnToBytes(key.e)
+        ),
+        // privateExponent (d)
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.INTEGER,
+          false,
+          _bnToBytes(key.d)
+        ),
+        // privateKeyPrime1 (p)
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.INTEGER,
+          false,
+          _bnToBytes(key.p)
+        ),
+        // privateKeyPrime2 (q)
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.INTEGER,
+          false,
+          _bnToBytes(key.q)
+        ),
+        // privateKeyExponent1 (dP)
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.INTEGER,
+          false,
+          _bnToBytes(key.dP)
+        ),
+        // privateKeyExponent2 (dQ)
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.INTEGER,
+          false,
+          _bnToBytes(key.dQ)
+        ),
+        // coefficient (qInv)
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.INTEGER,
+          false,
+          _bnToBytes(key.qInv)
+        )
+      ]);
+    };
+    pki2.publicKeyFromAsn1 = function(obj) {
+      var capture = {};
+      var errors = [];
+      if (asn1.validate(obj, publicKeyValidator, capture, errors)) {
+        var oid = asn1.derToOid(capture.publicKeyOid);
+        if (oid !== pki2.oids.rsaEncryption) {
+          var error3 = new Error("Cannot read public key. Unknown OID.");
+          error3.oid = oid;
+          throw error3;
         }
+        obj = capture.rsaPublicKey;
       }
-      if (r.t > 0) r.data[r.t - 1] += x.am(i, x.data[i], r, 2 * i, 0, 1);
-      r.s = 0;
-      r.clamp();
-    }
-    function bnpDivRemTo(m, q, r) {
-      var pm = m.abs();
-      if (pm.t <= 0) return;
-      var pt = this.abs();
-      if (pt.t < pm.t) {
-        if (q != null) q.fromInt(0);
-        if (r != null) this.copyTo(r);
-        return;
+      errors = [];
+      if (!asn1.validate(obj, rsaPublicKeyValidator, capture, errors)) {
+        var error3 = new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");
+        error3.errors = errors;
+        throw error3;
       }
-      if (r == null) r = nbi();
-      var y = nbi(), ts = this.s, ms = m.s;
-      var nsh = this.DB - nbits(pm.data[pm.t - 1]);
-      if (nsh > 0) {
-        pm.lShiftTo(nsh, y);
-        pt.lShiftTo(nsh, r);
+      var n = forge.util.createBuffer(capture.publicKeyModulus).toHex();
+      var e = forge.util.createBuffer(capture.publicKeyExponent).toHex();
+      return pki2.setRsaPublicKey(
+        new BigInteger(n, 16),
+        new BigInteger(e, 16)
+      );
+    };
+    pki2.publicKeyToAsn1 = pki2.publicKeyToSubjectPublicKeyInfo = function(key) {
+      return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+        // AlgorithmIdentifier
+        asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+          // algorithm
+          asn1.create(
+            asn1.Class.UNIVERSAL,
+            asn1.Type.OID,
+            false,
+            asn1.oidToDer(pki2.oids.rsaEncryption).getBytes()
+          ),
+          // parameters (null)
+          asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")
+        ]),
+        // subjectPublicKey
+        asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, [
+          pki2.publicKeyToRSAPublicKey(key)
+        ])
+      ]);
+    };
+    pki2.publicKeyToRSAPublicKey = function(key) {
+      return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+        // modulus (n)
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.INTEGER,
+          false,
+          _bnToBytes(key.n)
+        ),
+        // publicExponent (e)
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.INTEGER,
+          false,
+          _bnToBytes(key.e)
+        )
+      ]);
+    };
+    function _encodePkcs1_v1_5(m, key, bt) {
+      var eb = forge.util.createBuffer();
+      var k = Math.ceil(key.n.bitLength() / 8);
+      if (m.length > k - 11) {
+        var error3 = new Error("Message is too long for PKCS#1 v1.5 padding.");
+        error3.length = m.length;
+        error3.max = k - 11;
+        throw error3;
+      }
+      eb.putByte(0);
+      eb.putByte(bt);
+      var padNum = k - 3 - m.length;
+      var padByte;
+      if (bt === 0 || bt === 1) {
+        padByte = bt === 0 ? 0 : 255;
+        for (var i = 0; i < padNum; ++i) {
+          eb.putByte(padByte);
+        }
       } else {
-        pm.copyTo(y);
-        pt.copyTo(r);
+        while (padNum > 0) {
+          var numZeros = 0;
+          var padBytes = forge.random.getBytes(padNum);
+          for (var i = 0; i < padNum; ++i) {
+            padByte = padBytes.charCodeAt(i);
+            if (padByte === 0) {
+              ++numZeros;
+            } else {
+              eb.putByte(padByte);
+            }
+          }
+          padNum = numZeros;
+        }
       }
-      var ys = y.t;
-      var y0 = y.data[ys - 1];
-      if (y0 == 0) return;
-      var yt = y0 * (1 << this.F1) + (ys > 1 ? y.data[ys - 2] >> this.F2 : 0);
-      var d1 = this.FV / yt, d2 = (1 << this.F1) / yt, e = 1 << this.F2;
-      var i = r.t, j = i - ys, t = q == null ? nbi() : q;
-      y.dlShiftTo(j, t);
-      if (r.compareTo(t) >= 0) {
-        r.data[r.t++] = 1;
-        r.subTo(t, r);
+      eb.putByte(0);
+      eb.putBytes(m);
+      return eb;
+    }
+    function _decodePkcs1_v1_5(em, key, pub, ml) {
+      var k = Math.ceil(key.n.bitLength() / 8);
+      var eb = forge.util.createBuffer(em);
+      var first = eb.getByte();
+      var bt = eb.getByte();
+      if (first !== 0 || pub && bt !== 0 && bt !== 1 || !pub && bt != 2 || pub && bt === 0 && typeof ml === "undefined") {
+        throw new Error("Encryption block is invalid.");
       }
-      BigInteger.ONE.dlShiftTo(ys, t);
-      t.subTo(y, y);
-      while (y.t < ys) y.data[y.t++] = 0;
-      while (--j >= 0) {
-        var qd = r.data[--i] == y0 ? this.DM : Math.floor(r.data[i] * d1 + (r.data[i - 1] + e) * d2);
-        if ((r.data[i] += y.am(0, qd, r, j, 0, ys)) < qd) {
-          y.dlShiftTo(j, t);
-          r.subTo(t, r);
-          while (r.data[i] < --qd) r.subTo(t, r);
+      var padNum = 0;
+      if (bt === 0) {
+        padNum = k - 3 - ml;
+        for (var i = 0; i < padNum; ++i) {
+          if (eb.getByte() !== 0) {
+            throw new Error("Encryption block is invalid.");
+          }
+        }
+      } else if (bt === 1) {
+        padNum = 0;
+        while (eb.length() > 1) {
+          if (eb.getByte() !== 255) {
+            --eb.read;
+            break;
+          }
+          ++padNum;
+        }
+      } else if (bt === 2) {
+        padNum = 0;
+        while (eb.length() > 1) {
+          if (eb.getByte() === 0) {
+            --eb.read;
+            break;
+          }
+          ++padNum;
         }
       }
-      if (q != null) {
-        r.drShiftTo(ys, q);
-        if (ts != ms) BigInteger.ZERO.subTo(q, q);
+      var zero = eb.getByte();
+      if (zero !== 0 || padNum !== k - 3 - eb.length()) {
+        throw new Error("Encryption block is invalid.");
       }
-      r.t = ys;
-      r.clamp();
-      if (nsh > 0) r.rShiftTo(nsh, r);
-      if (ts < 0) BigInteger.ZERO.subTo(r, r);
-    }
-    function bnMod(a) {
-      var r = nbi();
-      this.abs().divRemTo(a, null, r);
-      if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);
-      return r;
-    }
-    function Classic(m) {
-      this.m = m;
-    }
-    function cConvert(x) {
-      if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
-      else return x;
-    }
-    function cRevert(x) {
-      return x;
-    }
-    function cReduce(x) {
-      x.divRemTo(this.m, null, x);
-    }
-    function cMulTo(x, y, r) {
-      x.multiplyTo(y, r);
-      this.reduce(r);
-    }
-    function cSqrTo(x, r) {
-      x.squareTo(r);
-      this.reduce(r);
-    }
-    Classic.prototype.convert = cConvert;
-    Classic.prototype.revert = cRevert;
-    Classic.prototype.reduce = cReduce;
-    Classic.prototype.mulTo = cMulTo;
-    Classic.prototype.sqrTo = cSqrTo;
-    function bnpInvDigit() {
-      if (this.t < 1) return 0;
-      var x = this.data[0];
-      if ((x & 1) == 0) return 0;
-      var y = x & 3;
-      y = y * (2 - (x & 15) * y) & 15;
-      y = y * (2 - (x & 255) * y) & 255;
-      y = y * (2 - ((x & 65535) * y & 65535)) & 65535;
-      y = y * (2 - x * y % this.DV) % this.DV;
-      return y > 0 ? this.DV - y : -y;
-    }
-    function Montgomery(m) {
-      this.m = m;
-      this.mp = m.invDigit();
-      this.mpl = this.mp & 32767;
-      this.mph = this.mp >> 15;
-      this.um = (1 << m.DB - 15) - 1;
-      this.mt2 = 2 * m.t;
-    }
-    function montConvert(x) {
-      var r = nbi();
-      x.abs().dlShiftTo(this.m.t, r);
-      r.divRemTo(this.m, null, r);
-      if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);
-      return r;
-    }
-    function montRevert(x) {
-      var r = nbi();
-      x.copyTo(r);
-      this.reduce(r);
-      return r;
+      return eb.getBytes();
     }
-    function montReduce(x) {
-      while (x.t <= this.mt2)
-        x.data[x.t++] = 0;
-      for (var i = 0; i < this.m.t; ++i) {
-        var j = x.data[i] & 32767;
-        var u0 = j * this.mpl + ((j * this.mph + (x.data[i] >> 15) * this.mpl & this.um) << 15) & x.DM;
-        j = i + this.m.t;
-        x.data[j] += this.m.am(0, u0, x, i, 0, this.m.t);
-        while (x.data[j] >= x.DV) {
-          x.data[j] -= x.DV;
-          x.data[++j]++;
-        }
+    function _generateKeyPair(state, options, callback) {
+      if (typeof options === "function") {
+        callback = options;
+        options = {};
       }
-      x.clamp();
-      x.drShiftTo(this.m.t, x);
-      if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);
-    }
-    function montSqrTo(x, r) {
-      x.squareTo(r);
-      this.reduce(r);
-    }
-    function montMulTo(x, y, r) {
-      x.multiplyTo(y, r);
-      this.reduce(r);
-    }
-    Montgomery.prototype.convert = montConvert;
-    Montgomery.prototype.revert = montRevert;
-    Montgomery.prototype.reduce = montReduce;
-    Montgomery.prototype.mulTo = montMulTo;
-    Montgomery.prototype.sqrTo = montSqrTo;
-    function bnpIsEven() {
-      return (this.t > 0 ? this.data[0] & 1 : this.s) == 0;
-    }
-    function bnpExp(e, z) {
-      if (e > 4294967295 || e < 1) return BigInteger.ONE;
-      var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e) - 1;
-      g.copyTo(r);
-      while (--i >= 0) {
-        z.sqrTo(r, r2);
-        if ((e & 1 << i) > 0) z.mulTo(r2, g, r);
-        else {
-          var t = r;
-          r = r2;
-          r2 = t;
+      options = options || {};
+      var opts = {
+        algorithm: {
+          name: options.algorithm || "PRIMEINC",
+          options: {
+            workers: options.workers || 2,
+            workLoad: options.workLoad || 100,
+            workerScript: options.workerScript
+          }
         }
+      };
+      if ("prng" in options) {
+        opts.prng = options.prng;
       }
-      return z.revert(r);
-    }
-    function bnModPowInt(e, m) {
-      var z;
-      if (e < 256 || m.isEven()) z = new Classic(m);
-      else z = new Montgomery(m);
-      return this.exp(e, z);
-    }
-    BigInteger.prototype.copyTo = bnpCopyTo;
-    BigInteger.prototype.fromInt = bnpFromInt;
-    BigInteger.prototype.fromString = bnpFromString;
-    BigInteger.prototype.clamp = bnpClamp;
-    BigInteger.prototype.dlShiftTo = bnpDLShiftTo;
-    BigInteger.prototype.drShiftTo = bnpDRShiftTo;
-    BigInteger.prototype.lShiftTo = bnpLShiftTo;
-    BigInteger.prototype.rShiftTo = bnpRShiftTo;
-    BigInteger.prototype.subTo = bnpSubTo;
-    BigInteger.prototype.multiplyTo = bnpMultiplyTo;
-    BigInteger.prototype.squareTo = bnpSquareTo;
-    BigInteger.prototype.divRemTo = bnpDivRemTo;
-    BigInteger.prototype.invDigit = bnpInvDigit;
-    BigInteger.prototype.isEven = bnpIsEven;
-    BigInteger.prototype.exp = bnpExp;
-    BigInteger.prototype.toString = bnToString;
-    BigInteger.prototype.negate = bnNegate;
-    BigInteger.prototype.abs = bnAbs;
-    BigInteger.prototype.compareTo = bnCompareTo;
-    BigInteger.prototype.bitLength = bnBitLength;
-    BigInteger.prototype.mod = bnMod;
-    BigInteger.prototype.modPowInt = bnModPowInt;
-    BigInteger.ZERO = nbv(0);
-    BigInteger.ONE = nbv(1);
-    function bnClone() {
-      var r = nbi();
-      this.copyTo(r);
-      return r;
-    }
-    function bnIntValue() {
-      if (this.s < 0) {
-        if (this.t == 1) return this.data[0] - this.DV;
-        else if (this.t == 0) return -1;
-      } else if (this.t == 1) return this.data[0];
-      else if (this.t == 0) return 0;
-      return (this.data[1] & (1 << 32 - this.DB) - 1) << this.DB | this.data[0];
-    }
-    function bnByteValue() {
-      return this.t == 0 ? this.s : this.data[0] << 24 >> 24;
-    }
-    function bnShortValue() {
-      return this.t == 0 ? this.s : this.data[0] << 16 >> 16;
-    }
-    function bnpChunkSize(r) {
-      return Math.floor(Math.LN2 * this.DB / Math.log(r));
-    }
-    function bnSigNum() {
-      if (this.s < 0) return -1;
-      else if (this.t <= 0 || this.t == 1 && this.data[0] <= 0) return 0;
-      else return 1;
-    }
-    function bnpToRadix(b) {
-      if (b == null) b = 10;
-      if (this.signum() == 0 || b < 2 || b > 36) return "0";
-      var cs = this.chunkSize(b);
-      var a = Math.pow(b, cs);
-      var d = nbv(a), y = nbi(), z = nbi(), r = "";
-      this.divRemTo(d, y, z);
-      while (y.signum() > 0) {
-        r = (a + z.intValue()).toString(b).substr(1) + r;
-        y.divRemTo(d, y, z);
+      generate();
+      function generate() {
+        getPrime(state.pBits, function(err, num) {
+          if (err) {
+            return callback(err);
+          }
+          state.p = num;
+          if (state.q !== null) {
+            return finish(err, state.q);
+          }
+          getPrime(state.qBits, finish);
+        });
       }
-      return z.intValue().toString(b) + r;
-    }
-    function bnpFromRadix(s, b) {
-      this.fromInt(0);
-      if (b == null) b = 10;
-      var cs = this.chunkSize(b);
-      var d = Math.pow(b, cs), mi = false, j = 0, w = 0;
-      for (var i = 0; i < s.length; ++i) {
-        var x = intAt(s, i);
-        if (x < 0) {
-          if (s.charAt(i) == "-" && this.signum() == 0) mi = true;
-          continue;
+      function getPrime(bits, callback2) {
+        forge.prime.generateProbablePrime(bits, opts, callback2);
+      }
+      function finish(err, num) {
+        if (err) {
+          return callback(err);
         }
-        w = b * w + x;
-        if (++j >= cs) {
-          this.dMultiply(d);
-          this.dAddOffset(w, 0);
-          j = 0;
-          w = 0;
+        state.q = num;
+        if (state.p.compareTo(state.q) < 0) {
+          var tmp = state.p;
+          state.p = state.q;
+          state.q = tmp;
         }
-      }
-      if (j > 0) {
-        this.dMultiply(Math.pow(b, j));
-        this.dAddOffset(w, 0);
-      }
-      if (mi) BigInteger.ZERO.subTo(this, this);
-    }
-    function bnpFromNumber(a, b, c) {
-      if ("number" == typeof b) {
-        if (a < 2) this.fromInt(1);
-        else {
-          this.fromNumber(a, c);
-          if (!this.testBit(a - 1))
-            this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this);
-          if (this.isEven()) this.dAddOffset(1, 0);
-          while (!this.isProbablePrime(b)) {
-            this.dAddOffset(2, 0);
-            if (this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);
-          }
+        if (state.p.subtract(BigInteger.ONE).gcd(state.e).compareTo(BigInteger.ONE) !== 0) {
+          state.p = null;
+          generate();
+          return;
         }
-      } else {
-        var x = new Array(), t = a & 7;
-        x.length = (a >> 3) + 1;
-        b.nextBytes(x);
-        if (t > 0) x[0] &= (1 << t) - 1;
-        else x[0] = 0;
-        this.fromString(x, 256);
-      }
-    }
-    function bnToByteArray() {
-      var i = this.t, r = new Array();
-      r[0] = this.s;
-      var p = this.DB - i * this.DB % 8, d, k = 0;
-      if (i-- > 0) {
-        if (p < this.DB && (d = this.data[i] >> p) != (this.s & this.DM) >> p)
-          r[k++] = d | this.s << this.DB - p;
-        while (i >= 0) {
-          if (p < 8) {
-            d = (this.data[i] & (1 << p) - 1) << 8 - p;
-            d |= this.data[--i] >> (p += this.DB - 8);
-          } else {
-            d = this.data[i] >> (p -= 8) & 255;
-            if (p <= 0) {
-              p += this.DB;
-              --i;
-            }
-          }
-          if ((d & 128) != 0) d |= -256;
-          if (k == 0 && (this.s & 128) != (d & 128)) ++k;
-          if (k > 0 || d != this.s) r[k++] = d;
+        if (state.q.subtract(BigInteger.ONE).gcd(state.e).compareTo(BigInteger.ONE) !== 0) {
+          state.q = null;
+          getPrime(state.qBits, finish);
+          return;
         }
-      }
-      return r;
-    }
-    function bnEquals(a) {
-      return this.compareTo(a) == 0;
-    }
-    function bnMin(a) {
-      return this.compareTo(a) < 0 ? this : a;
-    }
-    function bnMax(a) {
-      return this.compareTo(a) > 0 ? this : a;
-    }
-    function bnpBitwiseTo(a, op, r) {
-      var i, f, m = Math.min(a.t, this.t);
-      for (i = 0; i < m; ++i) r.data[i] = op(this.data[i], a.data[i]);
-      if (a.t < this.t) {
-        f = a.s & this.DM;
-        for (i = m; i < this.t; ++i) r.data[i] = op(this.data[i], f);
-        r.t = this.t;
-      } else {
-        f = this.s & this.DM;
-        for (i = m; i < a.t; ++i) r.data[i] = op(f, a.data[i]);
-        r.t = a.t;
-      }
-      r.s = op(this.s, a.s);
-      r.clamp();
-    }
-    function op_and(x, y) {
-      return x & y;
-    }
-    function bnAnd(a) {
-      var r = nbi();
-      this.bitwiseTo(a, op_and, r);
-      return r;
-    }
-    function op_or(x, y) {
-      return x | y;
-    }
-    function bnOr(a) {
-      var r = nbi();
-      this.bitwiseTo(a, op_or, r);
-      return r;
-    }
-    function op_xor(x, y) {
-      return x ^ y;
-    }
-    function bnXor(a) {
-      var r = nbi();
-      this.bitwiseTo(a, op_xor, r);
-      return r;
-    }
-    function op_andnot(x, y) {
-      return x & ~y;
-    }
-    function bnAndNot(a) {
-      var r = nbi();
-      this.bitwiseTo(a, op_andnot, r);
-      return r;
-    }
-    function bnNot() {
-      var r = nbi();
-      for (var i = 0; i < this.t; ++i) r.data[i] = this.DM & ~this.data[i];
-      r.t = this.t;
-      r.s = ~this.s;
-      return r;
-    }
-    function bnShiftLeft(n) {
-      var r = nbi();
-      if (n < 0) this.rShiftTo(-n, r);
-      else this.lShiftTo(n, r);
-      return r;
-    }
-    function bnShiftRight(n) {
-      var r = nbi();
-      if (n < 0) this.lShiftTo(-n, r);
-      else this.rShiftTo(n, r);
-      return r;
-    }
-    function lbit(x) {
-      if (x == 0) return -1;
-      var r = 0;
-      if ((x & 65535) == 0) {
-        x >>= 16;
-        r += 16;
-      }
-      if ((x & 255) == 0) {
-        x >>= 8;
-        r += 8;
-      }
-      if ((x & 15) == 0) {
-        x >>= 4;
-        r += 4;
-      }
-      if ((x & 3) == 0) {
-        x >>= 2;
-        r += 2;
-      }
-      if ((x & 1) == 0) ++r;
-      return r;
-    }
-    function bnGetLowestSetBit() {
-      for (var i = 0; i < this.t; ++i)
-        if (this.data[i] != 0) return i * this.DB + lbit(this.data[i]);
-      if (this.s < 0) return this.t * this.DB;
-      return -1;
-    }
-    function cbit(x) {
-      var r = 0;
-      while (x != 0) {
-        x &= x - 1;
-        ++r;
-      }
-      return r;
-    }
-    function bnBitCount() {
-      var r = 0, x = this.s & this.DM;
-      for (var i = 0; i < this.t; ++i) r += cbit(this.data[i] ^ x);
-      return r;
-    }
-    function bnTestBit(n) {
-      var j = Math.floor(n / this.DB);
-      if (j >= this.t) return this.s != 0;
-      return (this.data[j] & 1 << n % this.DB) != 0;
-    }
-    function bnpChangeBit(n, op) {
-      var r = BigInteger.ONE.shiftLeft(n);
-      this.bitwiseTo(r, op, r);
-      return r;
-    }
-    function bnSetBit(n) {
-      return this.changeBit(n, op_or);
-    }
-    function bnClearBit(n) {
-      return this.changeBit(n, op_andnot);
-    }
-    function bnFlipBit(n) {
-      return this.changeBit(n, op_xor);
-    }
-    function bnpAddTo(a, r) {
-      var i = 0, c = 0, m = Math.min(a.t, this.t);
-      while (i < m) {
-        c += this.data[i] + a.data[i];
-        r.data[i++] = c & this.DM;
-        c >>= this.DB;
-      }
-      if (a.t < this.t) {
-        c += a.s;
-        while (i < this.t) {
-          c += this.data[i];
-          r.data[i++] = c & this.DM;
-          c >>= this.DB;
+        state.p1 = state.p.subtract(BigInteger.ONE);
+        state.q1 = state.q.subtract(BigInteger.ONE);
+        state.phi = state.p1.multiply(state.q1);
+        if (state.phi.gcd(state.e).compareTo(BigInteger.ONE) !== 0) {
+          state.p = state.q = null;
+          generate();
+          return;
         }
-        c += this.s;
-      } else {
-        c += this.s;
-        while (i < a.t) {
-          c += a.data[i];
-          r.data[i++] = c & this.DM;
-          c >>= this.DB;
+        state.n = state.p.multiply(state.q);
+        if (state.n.bitLength() !== state.bits) {
+          state.q = null;
+          getPrime(state.qBits, finish);
+          return;
         }
-        c += a.s;
+        var d = state.e.modInverse(state.phi);
+        state.keys = {
+          privateKey: pki2.rsa.setPrivateKey(
+            state.n,
+            state.e,
+            d,
+            state.p,
+            state.q,
+            d.mod(state.p1),
+            d.mod(state.q1),
+            state.q.modInverse(state.p)
+          ),
+          publicKey: pki2.rsa.setPublicKey(state.n, state.e)
+        };
+        callback(null, state.keys);
       }
-      r.s = c < 0 ? -1 : 0;
-      if (c > 0) r.data[i++] = c;
-      else if (c < -1) r.data[i++] = this.DV + c;
-      r.t = i;
-      r.clamp();
     }
-    function bnAdd(a) {
-      var r = nbi();
-      this.addTo(a, r);
-      return r;
-    }
-    function bnSubtract(a) {
-      var r = nbi();
-      this.subTo(a, r);
-      return r;
-    }
-    function bnMultiply(a) {
-      var r = nbi();
-      this.multiplyTo(a, r);
-      return r;
+    function _bnToBytes(b) {
+      var hex = b.toString(16);
+      if (hex[0] >= "8") {
+        hex = "00" + hex;
+      }
+      var bytes = forge.util.hexToBytes(hex);
+      if (bytes.length > 1 && // leading 0x00 for positive integer
+      (bytes.charCodeAt(0) === 0 && (bytes.charCodeAt(1) & 128) === 0 || // leading 0xFF for negative integer
+      bytes.charCodeAt(0) === 255 && (bytes.charCodeAt(1) & 128) === 128)) {
+        return bytes.substr(1);
+      }
+      return bytes;
     }
-    function bnDivide(a) {
-      var r = nbi();
-      this.divRemTo(a, r, null);
-      return r;
+    function _getMillerRabinTests(bits) {
+      if (bits <= 100) return 27;
+      if (bits <= 150) return 18;
+      if (bits <= 200) return 15;
+      if (bits <= 250) return 12;
+      if (bits <= 300) return 9;
+      if (bits <= 350) return 8;
+      if (bits <= 400) return 7;
+      if (bits <= 500) return 6;
+      if (bits <= 600) return 5;
+      if (bits <= 800) return 4;
+      if (bits <= 1250) return 3;
+      return 2;
     }
-    function bnRemainder(a) {
-      var r = nbi();
-      this.divRemTo(a, null, r);
-      return r;
+    function _detectNodeCrypto(fn) {
+      return forge.util.isNodejs && typeof _crypto[fn] === "function";
     }
-    function bnDivideAndRemainder(a) {
-      var q = nbi(), r = nbi();
-      this.divRemTo(a, q, r);
-      return new Array(q, r);
+    function _detectSubtleCrypto(fn) {
+      return typeof util.globalScope !== "undefined" && typeof util.globalScope.crypto === "object" && typeof util.globalScope.crypto.subtle === "object" && typeof util.globalScope.crypto.subtle[fn] === "function";
     }
-    function bnpDMultiply(n) {
-      this.data[this.t] = this.am(0, n - 1, this, 0, 0, this.t);
-      ++this.t;
-      this.clamp();
+    function _detectSubtleMsCrypto(fn) {
+      return typeof util.globalScope !== "undefined" && typeof util.globalScope.msCrypto === "object" && typeof util.globalScope.msCrypto.subtle === "object" && typeof util.globalScope.msCrypto.subtle[fn] === "function";
     }
-    function bnpDAddOffset(n, w) {
-      if (n == 0) return;
-      while (this.t <= w) this.data[this.t++] = 0;
-      this.data[w] += n;
-      while (this.data[w] >= this.DV) {
-        this.data[w] -= this.DV;
-        if (++w >= this.t) this.data[this.t++] = 0;
-        ++this.data[w];
+    function _intToUint8Array(x) {
+      var bytes = forge.util.hexToBytes(x.toString(16));
+      var buffer = new Uint8Array(bytes.length);
+      for (var i = 0; i < bytes.length; ++i) {
+        buffer[i] = bytes.charCodeAt(i);
       }
+      return buffer;
     }
-    function NullExp() {
+  }
+});
+
+// node_modules/node-forge/lib/pbe.js
+var require_pbe = __commonJS({
+  "node_modules/node-forge/lib/pbe.js"(exports2, module2) {
+    var forge = require_forge();
+    require_aes();
+    require_asn1();
+    require_des();
+    require_md();
+    require_oids();
+    require_pbkdf2();
+    require_pem();
+    require_random();
+    require_rc2();
+    require_rsa();
+    require_util9();
+    if (typeof BigInteger === "undefined") {
+      BigInteger = forge.jsbn.BigInteger;
     }
-    function nNop(x) {
-      return x;
-    }
-    function nMulTo(x, y, r) {
-      x.multiplyTo(y, r);
-    }
-    function nSqrTo(x, r) {
-      x.squareTo(r);
-    }
-    NullExp.prototype.convert = nNop;
-    NullExp.prototype.revert = nNop;
-    NullExp.prototype.mulTo = nMulTo;
-    NullExp.prototype.sqrTo = nSqrTo;
-    function bnPow(e) {
-      return this.exp(e, new NullExp());
-    }
-    function bnpMultiplyLowerTo(a, n, r) {
-      var i = Math.min(this.t + a.t, n);
-      r.s = 0;
-      r.t = i;
-      while (i > 0) r.data[--i] = 0;
-      var j;
-      for (j = r.t - this.t; i < j; ++i) r.data[i + this.t] = this.am(0, a.data[i], r, i, 0, this.t);
-      for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a.data[i], r, i, 0, n - i);
-      r.clamp();
-    }
-    function bnpMultiplyUpperTo(a, n, r) {
-      --n;
-      var i = r.t = this.t + a.t - n;
-      r.s = 0;
-      while (--i >= 0) r.data[i] = 0;
-      for (i = Math.max(n - this.t, 0); i < a.t; ++i)
-        r.data[this.t + i - n] = this.am(n - i, a.data[i], r, 0, 0, this.t + i - n);
-      r.clamp();
-      r.drShiftTo(1, r);
-    }
-    function Barrett(m) {
-      this.r2 = nbi();
-      this.q3 = nbi();
-      BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);
-      this.mu = this.r2.divide(m);
-      this.m = m;
-    }
-    function barrettConvert(x) {
-      if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m);
-      else if (x.compareTo(this.m) < 0) return x;
-      else {
-        var r = nbi();
-        x.copyTo(r);
-        this.reduce(r);
-        return r;
-      }
-    }
-    function barrettRevert(x) {
-      return x;
-    }
-    function barrettReduce(x) {
-      x.drShiftTo(this.m.t - 1, this.r2);
-      if (x.t > this.m.t + 1) {
-        x.t = this.m.t + 1;
-        x.clamp();
-      }
-      this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);
-      this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);
-      while (x.compareTo(this.r2) < 0) x.dAddOffset(1, this.m.t + 1);
-      x.subTo(this.r2, x);
-      while (x.compareTo(this.m) >= 0) x.subTo(this.m, x);
-    }
-    function barrettSqrTo(x, r) {
-      x.squareTo(r);
-      this.reduce(r);
-    }
-    function barrettMulTo(x, y, r) {
-      x.multiplyTo(y, r);
-      this.reduce(r);
-    }
-    Barrett.prototype.convert = barrettConvert;
-    Barrett.prototype.revert = barrettRevert;
-    Barrett.prototype.reduce = barrettReduce;
-    Barrett.prototype.mulTo = barrettMulTo;
-    Barrett.prototype.sqrTo = barrettSqrTo;
-    function bnModPow(e, m) {
-      var i = e.bitLength(), k, r = nbv(1), z;
-      if (i <= 0) return r;
-      else if (i < 18) k = 1;
-      else if (i < 48) k = 3;
-      else if (i < 144) k = 4;
-      else if (i < 768) k = 5;
-      else k = 6;
-      if (i < 8)
-        z = new Classic(m);
-      else if (m.isEven())
-        z = new Barrett(m);
-      else
-        z = new Montgomery(m);
-      var g = new Array(), n = 3, k1 = k - 1, km = (1 << k) - 1;
-      g[1] = z.convert(this);
-      if (k > 1) {
-        var g2 = nbi();
-        z.sqrTo(g[1], g2);
-        while (n <= km) {
-          g[n] = nbi();
-          z.mulTo(g2, g[n - 2], g[n]);
-          n += 2;
+    var BigInteger;
+    var asn1 = forge.asn1;
+    var pki2 = forge.pki = forge.pki || {};
+    module2.exports = pki2.pbe = forge.pbe = forge.pbe || {};
+    var oids = pki2.oids;
+    var encryptedPrivateKeyValidator = {
+      name: "EncryptedPrivateKeyInfo",
+      tagClass: asn1.Class.UNIVERSAL,
+      type: asn1.Type.SEQUENCE,
+      constructed: true,
+      value: [{
+        name: "EncryptedPrivateKeyInfo.encryptionAlgorithm",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.SEQUENCE,
+        constructed: true,
+        value: [{
+          name: "AlgorithmIdentifier.algorithm",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.OID,
+          constructed: false,
+          capture: "encryptionOid"
+        }, {
+          name: "AlgorithmIdentifier.parameters",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.SEQUENCE,
+          constructed: true,
+          captureAsn1: "encryptionParams"
+        }]
+      }, {
+        // encryptedData
+        name: "EncryptedPrivateKeyInfo.encryptedData",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.OCTETSTRING,
+        constructed: false,
+        capture: "encryptedData"
+      }]
+    };
+    var PBES2AlgorithmsValidator = {
+      name: "PBES2Algorithms",
+      tagClass: asn1.Class.UNIVERSAL,
+      type: asn1.Type.SEQUENCE,
+      constructed: true,
+      value: [{
+        name: "PBES2Algorithms.keyDerivationFunc",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.SEQUENCE,
+        constructed: true,
+        value: [{
+          name: "PBES2Algorithms.keyDerivationFunc.oid",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.OID,
+          constructed: false,
+          capture: "kdfOid"
+        }, {
+          name: "PBES2Algorithms.params",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.SEQUENCE,
+          constructed: true,
+          value: [{
+            name: "PBES2Algorithms.params.salt",
+            tagClass: asn1.Class.UNIVERSAL,
+            type: asn1.Type.OCTETSTRING,
+            constructed: false,
+            capture: "kdfSalt"
+          }, {
+            name: "PBES2Algorithms.params.iterationCount",
+            tagClass: asn1.Class.UNIVERSAL,
+            type: asn1.Type.INTEGER,
+            constructed: false,
+            capture: "kdfIterationCount"
+          }, {
+            name: "PBES2Algorithms.params.keyLength",
+            tagClass: asn1.Class.UNIVERSAL,
+            type: asn1.Type.INTEGER,
+            constructed: false,
+            optional: true,
+            capture: "keyLength"
+          }, {
+            // prf
+            name: "PBES2Algorithms.params.prf",
+            tagClass: asn1.Class.UNIVERSAL,
+            type: asn1.Type.SEQUENCE,
+            constructed: true,
+            optional: true,
+            value: [{
+              name: "PBES2Algorithms.params.prf.algorithm",
+              tagClass: asn1.Class.UNIVERSAL,
+              type: asn1.Type.OID,
+              constructed: false,
+              capture: "prfOid"
+            }]
+          }]
+        }]
+      }, {
+        name: "PBES2Algorithms.encryptionScheme",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.SEQUENCE,
+        constructed: true,
+        value: [{
+          name: "PBES2Algorithms.encryptionScheme.oid",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.OID,
+          constructed: false,
+          capture: "encOid"
+        }, {
+          name: "PBES2Algorithms.encryptionScheme.iv",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.OCTETSTRING,
+          constructed: false,
+          capture: "encIv"
+        }]
+      }]
+    };
+    var pkcs12PbeParamsValidator = {
+      name: "pkcs-12PbeParams",
+      tagClass: asn1.Class.UNIVERSAL,
+      type: asn1.Type.SEQUENCE,
+      constructed: true,
+      value: [{
+        name: "pkcs-12PbeParams.salt",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.OCTETSTRING,
+        constructed: false,
+        capture: "salt"
+      }, {
+        name: "pkcs-12PbeParams.iterations",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "iterations"
+      }]
+    };
+    pki2.encryptPrivateKeyInfo = function(obj, password, options) {
+      options = options || {};
+      options.saltSize = options.saltSize || 8;
+      options.count = options.count || 2048;
+      options.algorithm = options.algorithm || "aes128";
+      options.prfAlgorithm = options.prfAlgorithm || "sha1";
+      var salt = forge.random.getBytesSync(options.saltSize);
+      var count = options.count;
+      var countBytes = asn1.integerToDer(count);
+      var dkLen;
+      var encryptionAlgorithm;
+      var encryptedData;
+      if (options.algorithm.indexOf("aes") === 0 || options.algorithm === "des") {
+        var ivLen, encOid, cipherFn;
+        switch (options.algorithm) {
+          case "aes128":
+            dkLen = 16;
+            ivLen = 16;
+            encOid = oids["aes128-CBC"];
+            cipherFn = forge.aes.createEncryptionCipher;
+            break;
+          case "aes192":
+            dkLen = 24;
+            ivLen = 16;
+            encOid = oids["aes192-CBC"];
+            cipherFn = forge.aes.createEncryptionCipher;
+            break;
+          case "aes256":
+            dkLen = 32;
+            ivLen = 16;
+            encOid = oids["aes256-CBC"];
+            cipherFn = forge.aes.createEncryptionCipher;
+            break;
+          case "des":
+            dkLen = 8;
+            ivLen = 8;
+            encOid = oids["desCBC"];
+            cipherFn = forge.des.createEncryptionCipher;
+            break;
+          default:
+            var error3 = new Error("Cannot encrypt private key. Unknown encryption algorithm.");
+            error3.algorithm = options.algorithm;
+            throw error3;
         }
+        var prfAlgorithm = "hmacWith" + options.prfAlgorithm.toUpperCase();
+        var md = prfAlgorithmToMessageDigest(prfAlgorithm);
+        var dk = forge.pkcs5.pbkdf2(password, salt, count, dkLen, md);
+        var iv = forge.random.getBytesSync(ivLen);
+        var cipher = cipherFn(dk);
+        cipher.start(iv);
+        cipher.update(asn1.toDer(obj));
+        cipher.finish();
+        encryptedData = cipher.output.getBytes();
+        var params = createPbkdf2Params(salt, countBytes, dkLen, prfAlgorithm);
+        encryptionAlgorithm = asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.SEQUENCE,
+          true,
+          [
+            asn1.create(
+              asn1.Class.UNIVERSAL,
+              asn1.Type.OID,
+              false,
+              asn1.oidToDer(oids["pkcs5PBES2"]).getBytes()
+            ),
+            asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+              // keyDerivationFunc
+              asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+                asn1.create(
+                  asn1.Class.UNIVERSAL,
+                  asn1.Type.OID,
+                  false,
+                  asn1.oidToDer(oids["pkcs5PBKDF2"]).getBytes()
+                ),
+                // PBKDF2-params
+                params
+              ]),
+              // encryptionScheme
+              asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+                asn1.create(
+                  asn1.Class.UNIVERSAL,
+                  asn1.Type.OID,
+                  false,
+                  asn1.oidToDer(encOid).getBytes()
+                ),
+                // iv
+                asn1.create(
+                  asn1.Class.UNIVERSAL,
+                  asn1.Type.OCTETSTRING,
+                  false,
+                  iv
+                )
+              ])
+            ])
+          ]
+        );
+      } else if (options.algorithm === "3des") {
+        dkLen = 24;
+        var saltBytes = new forge.util.ByteBuffer(salt);
+        var dk = pki2.pbe.generatePkcs12Key(password, saltBytes, 1, count, dkLen);
+        var iv = pki2.pbe.generatePkcs12Key(password, saltBytes, 2, count, dkLen);
+        var cipher = forge.des.createEncryptionCipher(dk);
+        cipher.start(iv);
+        cipher.update(asn1.toDer(obj));
+        cipher.finish();
+        encryptedData = cipher.output.getBytes();
+        encryptionAlgorithm = asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.SEQUENCE,
+          true,
+          [
+            asn1.create(
+              asn1.Class.UNIVERSAL,
+              asn1.Type.OID,
+              false,
+              asn1.oidToDer(oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()
+            ),
+            // pkcs-12PbeParams
+            asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+              // salt
+              asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, salt),
+              // iteration count
+              asn1.create(
+                asn1.Class.UNIVERSAL,
+                asn1.Type.INTEGER,
+                false,
+                countBytes.getBytes()
+              )
+            ])
+          ]
+        );
+      } else {
+        var error3 = new Error("Cannot encrypt private key. Unknown encryption algorithm.");
+        error3.algorithm = options.algorithm;
+        throw error3;
       }
-      var j = e.t - 1, w, is1 = true, r2 = nbi(), t;
-      i = nbits(e.data[j]) - 1;
-      while (j >= 0) {
-        if (i >= k1) w = e.data[j] >> i - k1 & km;
-        else {
-          w = (e.data[j] & (1 << i + 1) - 1) << k1 - i;
-          if (j > 0) w |= e.data[j - 1] >> this.DB + i - k1;
-        }
-        n = k;
-        while ((w & 1) == 0) {
-          w >>= 1;
-          --n;
-        }
-        if ((i -= n) < 0) {
-          i += this.DB;
-          --j;
-        }
-        if (is1) {
-          g[w].copyTo(r);
-          is1 = false;
-        } else {
-          while (n > 1) {
-            z.sqrTo(r, r2);
-            z.sqrTo(r2, r);
-            n -= 2;
-          }
-          if (n > 0) z.sqrTo(r, r2);
-          else {
-            t = r;
-            r = r2;
-            r2 = t;
-          }
-          z.mulTo(r2, g[w], r);
-        }
-        while (j >= 0 && (e.data[j] & 1 << i) == 0) {
-          z.sqrTo(r, r2);
-          t = r;
-          r = r2;
-          r2 = t;
-          if (--i < 0) {
-            i = this.DB - 1;
-            --j;
-          }
-        }
+      var rval = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+        // encryptionAlgorithm
+        encryptionAlgorithm,
+        // encryptedData
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.OCTETSTRING,
+          false,
+          encryptedData
+        )
+      ]);
+      return rval;
+    };
+    pki2.decryptPrivateKeyInfo = function(obj, password) {
+      var rval = null;
+      var capture = {};
+      var errors = [];
+      if (!asn1.validate(obj, encryptedPrivateKeyValidator, capture, errors)) {
+        var error3 = new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");
+        error3.errors = errors;
+        throw error3;
       }
-      return z.revert(r);
-    }
-    function bnGCD(a) {
-      var x = this.s < 0 ? this.negate() : this.clone();
-      var y = a.s < 0 ? a.negate() : a.clone();
-      if (x.compareTo(y) < 0) {
-        var t = x;
-        x = y;
-        y = t;
+      var oid = asn1.derToOid(capture.encryptionOid);
+      var cipher = pki2.pbe.getCipher(oid, capture.encryptionParams, password);
+      var encrypted = forge.util.createBuffer(capture.encryptedData);
+      cipher.update(encrypted);
+      if (cipher.finish()) {
+        rval = asn1.fromDer(cipher.output);
       }
-      var i = x.getLowestSetBit(), g = y.getLowestSetBit();
-      if (g < 0) return x;
-      if (i < g) g = i;
-      if (g > 0) {
-        x.rShiftTo(g, x);
-        y.rShiftTo(g, y);
+      return rval;
+    };
+    pki2.encryptedPrivateKeyToPem = function(epki, maxline) {
+      var msg = {
+        type: "ENCRYPTED PRIVATE KEY",
+        body: asn1.toDer(epki).getBytes()
+      };
+      return forge.pem.encode(msg, { maxline });
+    };
+    pki2.encryptedPrivateKeyFromPem = function(pem) {
+      var msg = forge.pem.decode(pem)[0];
+      if (msg.type !== "ENCRYPTED PRIVATE KEY") {
+        var error3 = new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');
+        error3.headerType = msg.type;
+        throw error3;
       }
-      while (x.signum() > 0) {
-        if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x);
-        if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y);
-        if (x.compareTo(y) >= 0) {
-          x.subTo(y, x);
-          x.rShiftTo(1, x);
-        } else {
-          y.subTo(x, y);
-          y.rShiftTo(1, y);
-        }
+      if (msg.procType && msg.procType.type === "ENCRYPTED") {
+        throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");
       }
-      if (g > 0) y.lShiftTo(g, y);
-      return y;
-    }
-    function bnpModInt(n) {
-      if (n <= 0) return 0;
-      var d = this.DV % n, r = this.s < 0 ? n - 1 : 0;
-      if (this.t > 0)
-        if (d == 0) r = this.data[0] % n;
-        else for (var i = this.t - 1; i >= 0; --i) r = (d * r + this.data[i]) % n;
-      return r;
-    }
-    function bnModInverse(m) {
-      var ac = m.isEven();
-      if (this.isEven() && ac || m.signum() == 0) return BigInteger.ZERO;
-      var u = m.clone(), v = this.clone();
-      var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1);
-      while (u.signum() != 0) {
-        while (u.isEven()) {
-          u.rShiftTo(1, u);
-          if (ac) {
-            if (!a.isEven() || !b.isEven()) {
-              a.addTo(this, a);
-              b.subTo(m, b);
-            }
-            a.rShiftTo(1, a);
-          } else if (!b.isEven()) b.subTo(m, b);
-          b.rShiftTo(1, b);
-        }
-        while (v.isEven()) {
-          v.rShiftTo(1, v);
-          if (ac) {
-            if (!c.isEven() || !d.isEven()) {
-              c.addTo(this, c);
-              d.subTo(m, d);
-            }
-            c.rShiftTo(1, c);
-          } else if (!d.isEven()) d.subTo(m, d);
-          d.rShiftTo(1, d);
+      return asn1.fromDer(msg.body);
+    };
+    pki2.encryptRsaPrivateKey = function(rsaKey, password, options) {
+      options = options || {};
+      if (!options.legacy) {
+        var rval = pki2.wrapRsaPrivateKey(pki2.privateKeyToAsn1(rsaKey));
+        rval = pki2.encryptPrivateKeyInfo(rval, password, options);
+        return pki2.encryptedPrivateKeyToPem(rval);
+      }
+      var algorithm;
+      var iv;
+      var dkLen;
+      var cipherFn;
+      switch (options.algorithm) {
+        case "aes128":
+          algorithm = "AES-128-CBC";
+          dkLen = 16;
+          iv = forge.random.getBytesSync(16);
+          cipherFn = forge.aes.createEncryptionCipher;
+          break;
+        case "aes192":
+          algorithm = "AES-192-CBC";
+          dkLen = 24;
+          iv = forge.random.getBytesSync(16);
+          cipherFn = forge.aes.createEncryptionCipher;
+          break;
+        case "aes256":
+          algorithm = "AES-256-CBC";
+          dkLen = 32;
+          iv = forge.random.getBytesSync(16);
+          cipherFn = forge.aes.createEncryptionCipher;
+          break;
+        case "3des":
+          algorithm = "DES-EDE3-CBC";
+          dkLen = 24;
+          iv = forge.random.getBytesSync(8);
+          cipherFn = forge.des.createEncryptionCipher;
+          break;
+        case "des":
+          algorithm = "DES-CBC";
+          dkLen = 8;
+          iv = forge.random.getBytesSync(8);
+          cipherFn = forge.des.createEncryptionCipher;
+          break;
+        default:
+          var error3 = new Error('Could not encrypt RSA private key; unsupported encryption algorithm "' + options.algorithm + '".');
+          error3.algorithm = options.algorithm;
+          throw error3;
+      }
+      var dk = forge.pbe.opensslDeriveBytes(password, iv.substr(0, 8), dkLen);
+      var cipher = cipherFn(dk);
+      cipher.start(iv);
+      cipher.update(asn1.toDer(pki2.privateKeyToAsn1(rsaKey)));
+      cipher.finish();
+      var msg = {
+        type: "RSA PRIVATE KEY",
+        procType: {
+          version: "4",
+          type: "ENCRYPTED"
+        },
+        dekInfo: {
+          algorithm,
+          parameters: forge.util.bytesToHex(iv).toUpperCase()
+        },
+        body: cipher.output.getBytes()
+      };
+      return forge.pem.encode(msg);
+    };
+    pki2.decryptRsaPrivateKey = function(pem, password) {
+      var rval = null;
+      var msg = forge.pem.decode(pem)[0];
+      if (msg.type !== "ENCRYPTED PRIVATE KEY" && msg.type !== "PRIVATE KEY" && msg.type !== "RSA PRIVATE KEY") {
+        var error3 = new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');
+        error3.headerType = error3;
+        throw error3;
+      }
+      if (msg.procType && msg.procType.type === "ENCRYPTED") {
+        var dkLen;
+        var cipherFn;
+        switch (msg.dekInfo.algorithm) {
+          case "DES-CBC":
+            dkLen = 8;
+            cipherFn = forge.des.createDecryptionCipher;
+            break;
+          case "DES-EDE3-CBC":
+            dkLen = 24;
+            cipherFn = forge.des.createDecryptionCipher;
+            break;
+          case "AES-128-CBC":
+            dkLen = 16;
+            cipherFn = forge.aes.createDecryptionCipher;
+            break;
+          case "AES-192-CBC":
+            dkLen = 24;
+            cipherFn = forge.aes.createDecryptionCipher;
+            break;
+          case "AES-256-CBC":
+            dkLen = 32;
+            cipherFn = forge.aes.createDecryptionCipher;
+            break;
+          case "RC2-40-CBC":
+            dkLen = 5;
+            cipherFn = function(key) {
+              return forge.rc2.createDecryptionCipher(key, 40);
+            };
+            break;
+          case "RC2-64-CBC":
+            dkLen = 8;
+            cipherFn = function(key) {
+              return forge.rc2.createDecryptionCipher(key, 64);
+            };
+            break;
+          case "RC2-128-CBC":
+            dkLen = 16;
+            cipherFn = function(key) {
+              return forge.rc2.createDecryptionCipher(key, 128);
+            };
+            break;
+          default:
+            var error3 = new Error('Could not decrypt private key; unsupported encryption algorithm "' + msg.dekInfo.algorithm + '".');
+            error3.algorithm = msg.dekInfo.algorithm;
+            throw error3;
         }
-        if (u.compareTo(v) >= 0) {
-          u.subTo(v, u);
-          if (ac) a.subTo(c, a);
-          b.subTo(d, b);
+        var iv = forge.util.hexToBytes(msg.dekInfo.parameters);
+        var dk = forge.pbe.opensslDeriveBytes(password, iv.substr(0, 8), dkLen);
+        var cipher = cipherFn(dk);
+        cipher.start(iv);
+        cipher.update(forge.util.createBuffer(msg.body));
+        if (cipher.finish()) {
+          rval = cipher.output.getBytes();
         } else {
-          v.subTo(u, v);
-          if (ac) c.subTo(a, c);
-          d.subTo(b, d);
+          return rval;
         }
+      } else {
+        rval = msg.body;
       }
-      if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO;
-      if (d.compareTo(m) >= 0) return d.subtract(m);
-      if (d.signum() < 0) d.addTo(m, d);
-      else return d;
-      if (d.signum() < 0) return d.add(m);
-      else return d;
-    }
-    var lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509];
-    var lplim = (1 << 26) / lowprimes[lowprimes.length - 1];
-    function bnIsProbablePrime(t) {
-      var i, x = this.abs();
-      if (x.t == 1 && x.data[0] <= lowprimes[lowprimes.length - 1]) {
-        for (i = 0; i < lowprimes.length; ++i)
-          if (x.data[0] == lowprimes[i]) return true;
-        return false;
+      if (msg.type === "ENCRYPTED PRIVATE KEY") {
+        rval = pki2.decryptPrivateKeyInfo(asn1.fromDer(rval), password);
+      } else {
+        rval = asn1.fromDer(rval);
       }
-      if (x.isEven()) return false;
-      i = 1;
-      while (i < lowprimes.length) {
-        var m = lowprimes[i], j = i + 1;
-        while (j < lowprimes.length && m < lplim) m *= lowprimes[j++];
-        m = x.modInt(m);
-        while (i < j) if (m % lowprimes[i++] == 0) return false;
+      if (rval !== null) {
+        rval = pki2.privateKeyFromAsn1(rval);
       }
-      return x.millerRabin(t);
-    }
-    function bnpMillerRabin(t) {
-      var n1 = this.subtract(BigInteger.ONE);
-      var k = n1.getLowestSetBit();
-      if (k <= 0) return false;
-      var r = n1.shiftRight(k);
-      var prng = bnGetPrng();
-      var a;
-      for (var i = 0; i < t; ++i) {
-        do {
-          a = new BigInteger(this.bitLength(), prng);
-        } while (a.compareTo(BigInteger.ONE) <= 0 || a.compareTo(n1) >= 0);
-        var y = a.modPow(r, this);
-        if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
-          var j = 1;
-          while (j++ < k && y.compareTo(n1) != 0) {
-            y = y.modPowInt(2, this);
-            if (y.compareTo(BigInteger.ONE) == 0) return false;
-          }
-          if (y.compareTo(n1) != 0) return false;
+      return rval;
+    };
+    pki2.pbe.generatePkcs12Key = function(password, salt, id, iter, n, md) {
+      var j, l;
+      if (typeof md === "undefined" || md === null) {
+        if (!("sha1" in forge.md)) {
+          throw new Error('"sha1" hash algorithm unavailable.');
         }
+        md = forge.md.sha1.create();
       }
-      return true;
-    }
-    function bnGetPrng() {
-      return {
-        // x is an array to fill with bytes
-        nextBytes: function(x) {
-          for (var i = 0; i < x.length; ++i) {
-            x[i] = Math.floor(Math.random() * 256);
-          }
+      var u = md.digestLength;
+      var v = md.blockLength;
+      var result = new forge.util.ByteBuffer();
+      var passBuf = new forge.util.ByteBuffer();
+      if (password !== null && password !== void 0) {
+        for (l = 0; l < password.length; l++) {
+          passBuf.putInt16(password.charCodeAt(l));
         }
-      };
-    }
-    BigInteger.prototype.chunkSize = bnpChunkSize;
-    BigInteger.prototype.toRadix = bnpToRadix;
-    BigInteger.prototype.fromRadix = bnpFromRadix;
-    BigInteger.prototype.fromNumber = bnpFromNumber;
-    BigInteger.prototype.bitwiseTo = bnpBitwiseTo;
-    BigInteger.prototype.changeBit = bnpChangeBit;
-    BigInteger.prototype.addTo = bnpAddTo;
-    BigInteger.prototype.dMultiply = bnpDMultiply;
-    BigInteger.prototype.dAddOffset = bnpDAddOffset;
-    BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;
-    BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;
-    BigInteger.prototype.modInt = bnpModInt;
-    BigInteger.prototype.millerRabin = bnpMillerRabin;
-    BigInteger.prototype.clone = bnClone;
-    BigInteger.prototype.intValue = bnIntValue;
-    BigInteger.prototype.byteValue = bnByteValue;
-    BigInteger.prototype.shortValue = bnShortValue;
-    BigInteger.prototype.signum = bnSigNum;
-    BigInteger.prototype.toByteArray = bnToByteArray;
-    BigInteger.prototype.equals = bnEquals;
-    BigInteger.prototype.min = bnMin;
-    BigInteger.prototype.max = bnMax;
-    BigInteger.prototype.and = bnAnd;
-    BigInteger.prototype.or = bnOr;
-    BigInteger.prototype.xor = bnXor;
-    BigInteger.prototype.andNot = bnAndNot;
-    BigInteger.prototype.not = bnNot;
-    BigInteger.prototype.shiftLeft = bnShiftLeft;
-    BigInteger.prototype.shiftRight = bnShiftRight;
-    BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;
-    BigInteger.prototype.bitCount = bnBitCount;
-    BigInteger.prototype.testBit = bnTestBit;
-    BigInteger.prototype.setBit = bnSetBit;
-    BigInteger.prototype.clearBit = bnClearBit;
-    BigInteger.prototype.flipBit = bnFlipBit;
-    BigInteger.prototype.add = bnAdd;
-    BigInteger.prototype.subtract = bnSubtract;
-    BigInteger.prototype.multiply = bnMultiply;
-    BigInteger.prototype.divide = bnDivide;
-    BigInteger.prototype.remainder = bnRemainder;
-    BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder;
-    BigInteger.prototype.modPow = bnModPow;
-    BigInteger.prototype.modInverse = bnModInverse;
-    BigInteger.prototype.pow = bnPow;
-    BigInteger.prototype.gcd = bnGCD;
-    BigInteger.prototype.isProbablePrime = bnIsProbablePrime;
-  }
-});
-
-// node_modules/node-forge/lib/sha1.js
-var require_sha1 = __commonJS({
-  "node_modules/node-forge/lib/sha1.js"(exports2, module2) {
-    var forge = require_forge();
-    require_md();
-    require_util9();
-    var sha1 = module2.exports = forge.sha1 = forge.sha1 || {};
-    forge.md.sha1 = forge.md.algorithms.sha1 = sha1;
-    sha1.create = function() {
-      if (!_initialized) {
-        _init();
+        passBuf.putInt16(0);
       }
-      var _state = null;
-      var _input = forge.util.createBuffer();
-      var _w = new Array(80);
-      var md = {
-        algorithm: "sha1",
-        blockLength: 64,
-        digestLength: 20,
-        // 56-bit length of message so far (does not including padding)
-        messageLength: 0,
-        // true message length
-        fullMessageLength: null,
-        // size of message length in bytes
-        messageLengthSize: 8
-      };
-      md.start = function() {
-        md.messageLength = 0;
-        md.fullMessageLength = md.messageLength64 = [];
-        var int32s = md.messageLengthSize / 4;
-        for (var i = 0; i < int32s; ++i) {
-          md.fullMessageLength.push(0);
-        }
-        _input = forge.util.createBuffer();
-        _state = {
-          h0: 1732584193,
-          h1: 4023233417,
-          h2: 2562383102,
-          h3: 271733878,
-          h4: 3285377520
-        };
-        return md;
-      };
-      md.start();
-      md.update = function(msg, encoding) {
-        if (encoding === "utf8") {
-          msg = forge.util.encodeUtf8(msg);
-        }
-        var len = msg.length;
-        md.messageLength += len;
-        len = [len / 4294967296 >>> 0, len >>> 0];
-        for (var i = md.fullMessageLength.length - 1; i >= 0; --i) {
-          md.fullMessageLength[i] += len[1];
-          len[1] = len[0] + (md.fullMessageLength[i] / 4294967296 >>> 0);
-          md.fullMessageLength[i] = md.fullMessageLength[i] >>> 0;
-          len[0] = len[1] / 4294967296 >>> 0;
-        }
-        _input.putBytes(msg);
-        _update(_state, _w, _input);
-        if (_input.read > 2048 || _input.length() === 0) {
-          _input.compact();
-        }
-        return md;
-      };
-      md.digest = function() {
-        var finalBlock = forge.util.createBuffer();
-        finalBlock.putBytes(_input.bytes());
-        var remaining = md.fullMessageLength[md.fullMessageLength.length - 1] + md.messageLengthSize;
-        var overflow = remaining & md.blockLength - 1;
-        finalBlock.putBytes(_padding.substr(0, md.blockLength - overflow));
-        var next, carry;
-        var bits = md.fullMessageLength[0] * 8;
-        for (var i = 0; i < md.fullMessageLength.length - 1; ++i) {
-          next = md.fullMessageLength[i + 1] * 8;
-          carry = next / 4294967296 >>> 0;
-          bits += carry;
-          finalBlock.putInt32(bits >>> 0);
-          bits = next >>> 0;
-        }
-        finalBlock.putInt32(bits);
-        var s2 = {
-          h0: _state.h0,
-          h1: _state.h1,
-          h2: _state.h2,
-          h3: _state.h3,
-          h4: _state.h4
-        };
-        _update(s2, _w, finalBlock);
-        var rval = forge.util.createBuffer();
-        rval.putInt32(s2.h0);
-        rval.putInt32(s2.h1);
-        rval.putInt32(s2.h2);
-        rval.putInt32(s2.h3);
-        rval.putInt32(s2.h4);
-        return rval;
-      };
-      return md;
-    };
-    var _padding = null;
-    var _initialized = false;
-    function _init() {
-      _padding = String.fromCharCode(128);
-      _padding += forge.util.fillString(String.fromCharCode(0), 64);
-      _initialized = true;
-    }
-    function _update(s, w, bytes) {
-      var t, a, b, c, d, e, f, i;
-      var len = bytes.length();
-      while (len >= 64) {
-        a = s.h0;
-        b = s.h1;
-        c = s.h2;
-        d = s.h3;
-        e = s.h4;
-        for (i = 0; i < 16; ++i) {
-          t = bytes.getInt32();
-          w[i] = t;
-          f = d ^ b & (c ^ d);
-          t = (a << 5 | a >>> 27) + f + e + 1518500249 + t;
-          e = d;
-          d = c;
-          c = (b << 30 | b >>> 2) >>> 0;
-          b = a;
-          a = t;
-        }
-        for (; i < 20; ++i) {
-          t = w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16];
-          t = t << 1 | t >>> 31;
-          w[i] = t;
-          f = d ^ b & (c ^ d);
-          t = (a << 5 | a >>> 27) + f + e + 1518500249 + t;
-          e = d;
-          d = c;
-          c = (b << 30 | b >>> 2) >>> 0;
-          b = a;
-          a = t;
-        }
-        for (; i < 32; ++i) {
-          t = w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16];
-          t = t << 1 | t >>> 31;
-          w[i] = t;
-          f = b ^ c ^ d;
-          t = (a << 5 | a >>> 27) + f + e + 1859775393 + t;
-          e = d;
-          d = c;
-          c = (b << 30 | b >>> 2) >>> 0;
-          b = a;
-          a = t;
-        }
-        for (; i < 40; ++i) {
-          t = w[i - 6] ^ w[i - 16] ^ w[i - 28] ^ w[i - 32];
-          t = t << 2 | t >>> 30;
-          w[i] = t;
-          f = b ^ c ^ d;
-          t = (a << 5 | a >>> 27) + f + e + 1859775393 + t;
-          e = d;
-          d = c;
-          c = (b << 30 | b >>> 2) >>> 0;
-          b = a;
-          a = t;
+      var p = passBuf.length();
+      var s = salt.length();
+      var D = new forge.util.ByteBuffer();
+      D.fillWithByte(id, v);
+      var Slen = v * Math.ceil(s / v);
+      var S = new forge.util.ByteBuffer();
+      for (l = 0; l < Slen; l++) {
+        S.putByte(salt.at(l % s));
+      }
+      var Plen = v * Math.ceil(p / v);
+      var P = new forge.util.ByteBuffer();
+      for (l = 0; l < Plen; l++) {
+        P.putByte(passBuf.at(l % p));
+      }
+      var I = S;
+      I.putBuffer(P);
+      var c = Math.ceil(n / u);
+      for (var i = 1; i <= c; i++) {
+        var buf = new forge.util.ByteBuffer();
+        buf.putBytes(D.bytes());
+        buf.putBytes(I.bytes());
+        for (var round = 0; round < iter; round++) {
+          md.start();
+          md.update(buf.getBytes());
+          buf = md.digest();
         }
-        for (; i < 60; ++i) {
-          t = w[i - 6] ^ w[i - 16] ^ w[i - 28] ^ w[i - 32];
-          t = t << 2 | t >>> 30;
-          w[i] = t;
-          f = b & c | d & (b ^ c);
-          t = (a << 5 | a >>> 27) + f + e + 2400959708 + t;
-          e = d;
-          d = c;
-          c = (b << 30 | b >>> 2) >>> 0;
-          b = a;
-          a = t;
+        var B = new forge.util.ByteBuffer();
+        for (l = 0; l < v; l++) {
+          B.putByte(buf.at(l % u));
         }
-        for (; i < 80; ++i) {
-          t = w[i - 6] ^ w[i - 16] ^ w[i - 28] ^ w[i - 32];
-          t = t << 2 | t >>> 30;
-          w[i] = t;
-          f = b ^ c ^ d;
-          t = (a << 5 | a >>> 27) + f + e + 3395469782 + t;
-          e = d;
-          d = c;
-          c = (b << 30 | b >>> 2) >>> 0;
-          b = a;
-          a = t;
+        var k = Math.ceil(s / v) + Math.ceil(p / v);
+        var Inew = new forge.util.ByteBuffer();
+        for (j = 0; j < k; j++) {
+          var chunk = new forge.util.ByteBuffer(I.getBytes(v));
+          var x = 511;
+          for (l = B.length() - 1; l >= 0; l--) {
+            x = x >> 8;
+            x += B.at(l) + chunk.at(l);
+            chunk.setAt(l, x & 255);
+          }
+          Inew.putBuffer(chunk);
         }
-        s.h0 = s.h0 + a | 0;
-        s.h1 = s.h1 + b | 0;
-        s.h2 = s.h2 + c | 0;
-        s.h3 = s.h3 + d | 0;
-        s.h4 = s.h4 + e | 0;
-        len -= 64;
+        I = Inew;
+        result.putBuffer(buf);
       }
-    }
-  }
-});
-
-// node_modules/node-forge/lib/pkcs1.js
-var require_pkcs1 = __commonJS({
-  "node_modules/node-forge/lib/pkcs1.js"(exports2, module2) {
-    var forge = require_forge();
-    require_util9();
-    require_random();
-    require_sha1();
-    var pkcs1 = module2.exports = forge.pkcs1 = forge.pkcs1 || {};
-    pkcs1.encode_rsa_oaep = function(key, message, options) {
-      var label;
-      var seed;
-      var md;
-      var mgf1Md;
-      if (typeof options === "string") {
-        label = options;
-        seed = arguments[3] || void 0;
-        md = arguments[4] || void 0;
-      } else if (options) {
-        label = options.label || void 0;
-        seed = options.seed || void 0;
-        md = options.md || void 0;
-        if (options.mgf1 && options.mgf1.md) {
-          mgf1Md = options.mgf1.md;
-        }
-      }
-      if (!md) {
-        md = forge.md.sha1.create();
-      } else {
-        md.start();
-      }
-      if (!mgf1Md) {
-        mgf1Md = md;
+      result.truncate(result.length() - n);
+      return result;
+    };
+    pki2.pbe.getCipher = function(oid, params, password) {
+      switch (oid) {
+        case pki2.oids["pkcs5PBES2"]:
+          return pki2.pbe.getCipherForPBES2(oid, params, password);
+        case pki2.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:
+        case pki2.oids["pbewithSHAAnd40BitRC2-CBC"]:
+          return pki2.pbe.getCipherForPKCS12PBE(oid, params, password);
+        default:
+          var error3 = new Error("Cannot read encrypted PBE data block. Unsupported OID.");
+          error3.oid = oid;
+          error3.supportedOids = [
+            "pkcs5PBES2",
+            "pbeWithSHAAnd3-KeyTripleDES-CBC",
+            "pbewithSHAAnd40BitRC2-CBC"
+          ];
+          throw error3;
       }
-      var keyLength = Math.ceil(key.n.bitLength() / 8);
-      var maxLength = keyLength - 2 * md.digestLength - 2;
-      if (message.length > maxLength) {
-        var error3 = new Error("RSAES-OAEP input message length is too long.");
-        error3.length = message.length;
-        error3.maxLength = maxLength;
+    };
+    pki2.pbe.getCipherForPBES2 = function(oid, params, password) {
+      var capture = {};
+      var errors = [];
+      if (!asn1.validate(params, PBES2AlgorithmsValidator, capture, errors)) {
+        var error3 = new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");
+        error3.errors = errors;
         throw error3;
       }
-      if (!label) {
-        label = "";
-      }
-      md.update(label, "raw");
-      var lHash = md.digest();
-      var PS = "";
-      var PS_length = maxLength - message.length;
-      for (var i = 0; i < PS_length; i++) {
-        PS += "\0";
-      }
-      var DB = lHash.getBytes() + PS + "" + message;
-      if (!seed) {
-        seed = forge.random.getBytes(md.digestLength);
-      } else if (seed.length !== md.digestLength) {
-        var error3 = new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");
-        error3.seedLength = seed.length;
-        error3.digestLength = md.digestLength;
+      oid = asn1.derToOid(capture.kdfOid);
+      if (oid !== pki2.oids["pkcs5PBKDF2"]) {
+        var error3 = new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");
+        error3.oid = oid;
+        error3.supportedOids = ["pkcs5PBKDF2"];
         throw error3;
       }
-      var dbMask = rsa_mgf1(seed, keyLength - md.digestLength - 1, mgf1Md);
-      var maskedDB = forge.util.xorBytes(DB, dbMask, DB.length);
-      var seedMask = rsa_mgf1(maskedDB, md.digestLength, mgf1Md);
-      var maskedSeed = forge.util.xorBytes(seed, seedMask, seed.length);
-      return "\0" + maskedSeed + maskedDB;
-    };
-    pkcs1.decode_rsa_oaep = function(key, em, options) {
-      var label;
-      var md;
-      var mgf1Md;
-      if (typeof options === "string") {
-        label = options;
-        md = arguments[3] || void 0;
-      } else if (options) {
-        label = options.label || void 0;
-        md = options.md || void 0;
-        if (options.mgf1 && options.mgf1.md) {
-          mgf1Md = options.mgf1.md;
-        }
-      }
-      var keyLength = Math.ceil(key.n.bitLength() / 8);
-      if (em.length !== keyLength) {
-        var error3 = new Error("RSAES-OAEP encoded message length is invalid.");
-        error3.length = em.length;
-        error3.expectedLength = keyLength;
+      oid = asn1.derToOid(capture.encOid);
+      if (oid !== pki2.oids["aes128-CBC"] && oid !== pki2.oids["aes192-CBC"] && oid !== pki2.oids["aes256-CBC"] && oid !== pki2.oids["des-EDE3-CBC"] && oid !== pki2.oids["desCBC"]) {
+        var error3 = new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");
+        error3.oid = oid;
+        error3.supportedOids = [
+          "aes128-CBC",
+          "aes192-CBC",
+          "aes256-CBC",
+          "des-EDE3-CBC",
+          "desCBC"
+        ];
         throw error3;
       }
-      if (md === void 0) {
-        md = forge.md.sha1.create();
-      } else {
-        md.start();
-      }
-      if (!mgf1Md) {
-        mgf1Md = md;
+      var salt = capture.kdfSalt;
+      var count = forge.util.createBuffer(capture.kdfIterationCount);
+      count = count.getInt(count.length() << 3);
+      var dkLen;
+      var cipherFn;
+      switch (pki2.oids[oid]) {
+        case "aes128-CBC":
+          dkLen = 16;
+          cipherFn = forge.aes.createDecryptionCipher;
+          break;
+        case "aes192-CBC":
+          dkLen = 24;
+          cipherFn = forge.aes.createDecryptionCipher;
+          break;
+        case "aes256-CBC":
+          dkLen = 32;
+          cipherFn = forge.aes.createDecryptionCipher;
+          break;
+        case "des-EDE3-CBC":
+          dkLen = 24;
+          cipherFn = forge.des.createDecryptionCipher;
+          break;
+        case "desCBC":
+          dkLen = 8;
+          cipherFn = forge.des.createDecryptionCipher;
+          break;
       }
-      if (keyLength < 2 * md.digestLength + 2) {
-        throw new Error("RSAES-OAEP key is too short for the hash function.");
+      var md = prfOidToMessageDigest(capture.prfOid);
+      var dk = forge.pkcs5.pbkdf2(password, salt, count, dkLen, md);
+      var iv = capture.encIv;
+      var cipher = cipherFn(dk);
+      cipher.start(iv);
+      return cipher;
+    };
+    pki2.pbe.getCipherForPKCS12PBE = function(oid, params, password) {
+      var capture = {};
+      var errors = [];
+      if (!asn1.validate(params, pkcs12PbeParamsValidator, capture, errors)) {
+        var error3 = new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");
+        error3.errors = errors;
+        throw error3;
       }
-      if (!label) {
-        label = "";
+      var salt = forge.util.createBuffer(capture.salt);
+      var count = forge.util.createBuffer(capture.iterations);
+      count = count.getInt(count.length() << 3);
+      var dkLen, dIvLen, cipherFn;
+      switch (oid) {
+        case pki2.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:
+          dkLen = 24;
+          dIvLen = 8;
+          cipherFn = forge.des.startDecrypting;
+          break;
+        case pki2.oids["pbewithSHAAnd40BitRC2-CBC"]:
+          dkLen = 5;
+          dIvLen = 8;
+          cipherFn = function(key2, iv2) {
+            var cipher = forge.rc2.createDecryptionCipher(key2, 40);
+            cipher.start(iv2, null);
+            return cipher;
+          };
+          break;
+        default:
+          var error3 = new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");
+          error3.oid = oid;
+          throw error3;
       }
-      md.update(label, "raw");
-      var lHash = md.digest().getBytes();
-      var y = em.charAt(0);
-      var maskedSeed = em.substring(1, md.digestLength + 1);
-      var maskedDB = em.substring(1 + md.digestLength);
-      var seedMask = rsa_mgf1(maskedDB, md.digestLength, mgf1Md);
-      var seed = forge.util.xorBytes(maskedSeed, seedMask, maskedSeed.length);
-      var dbMask = rsa_mgf1(seed, keyLength - md.digestLength - 1, mgf1Md);
-      var db = forge.util.xorBytes(maskedDB, dbMask, maskedDB.length);
-      var lHashPrime = db.substring(0, md.digestLength);
-      var error3 = y !== "\0";
-      for (var i = 0; i < md.digestLength; ++i) {
-        error3 |= lHash.charAt(i) !== lHashPrime.charAt(i);
+      var md = prfOidToMessageDigest(capture.prfOid);
+      var key = pki2.pbe.generatePkcs12Key(password, salt, 1, count, dkLen, md);
+      md.start();
+      var iv = pki2.pbe.generatePkcs12Key(password, salt, 2, count, dIvLen, md);
+      return cipherFn(key, iv);
+    };
+    pki2.pbe.opensslDeriveBytes = function(password, salt, dkLen, md) {
+      if (typeof md === "undefined" || md === null) {
+        if (!("md5" in forge.md)) {
+          throw new Error('"md5" hash algorithm unavailable.');
+        }
+        md = forge.md.md5.create();
       }
-      var in_ps = 1;
-      var index = md.digestLength;
-      for (var j = md.digestLength; j < db.length; j++) {
-        var code = db.charCodeAt(j);
-        var is_0 = code & 1 ^ 1;
-        var error_mask = in_ps ? 65534 : 0;
-        error3 |= code & error_mask;
-        in_ps = in_ps & is_0;
-        index += in_ps;
+      if (salt === null) {
+        salt = "";
       }
-      if (error3 || db.charCodeAt(index) !== 1) {
-        throw new Error("Invalid RSAES-OAEP padding.");
+      var digests = [hash(md, password + salt)];
+      for (var length = 16, i = 1; length < dkLen; ++i, length += 16) {
+        digests.push(hash(md, digests[i - 1] + password + salt));
       }
-      return db.substring(index + 1);
+      return digests.join("").substr(0, dkLen);
     };
-    function rsa_mgf1(seed, maskLength, hash) {
-      if (!hash) {
-        hash = forge.md.sha1.create();
-      }
-      var t = "";
-      var count = Math.ceil(maskLength / hash.digestLength);
-      for (var i = 0; i < count; ++i) {
-        var c = String.fromCharCode(
-          i >> 24 & 255,
-          i >> 16 & 255,
-          i >> 8 & 255,
-          i & 255
-        );
-        hash.start();
-        hash.update(seed + c);
-        t += hash.digest().getBytes();
-      }
-      return t.substring(0, maskLength);
+    function hash(md, bytes) {
+      return md.start().update(bytes).digest().getBytes();
     }
-  }
-});
-
-// node_modules/node-forge/lib/prime.js
-var require_prime = __commonJS({
-  "node_modules/node-forge/lib/prime.js"(exports2, module2) {
-    var forge = require_forge();
-    require_util9();
-    require_jsbn();
-    require_random();
-    (function() {
-      if (forge.prime) {
-        module2.exports = forge.prime;
-        return;
-      }
-      var prime = module2.exports = forge.prime = forge.prime || {};
-      var BigInteger = forge.jsbn.BigInteger;
-      var GCD_30_DELTA = [6, 4, 2, 4, 2, 4, 6, 2];
-      var THIRTY = new BigInteger(null);
-      THIRTY.fromInt(30);
-      var op_or = function(x, y) {
-        return x | y;
-      };
-      prime.generateProbablePrime = function(bits, options, callback) {
-        if (typeof options === "function") {
-          callback = options;
-          options = {};
-        }
-        options = options || {};
-        var algorithm = options.algorithm || "PRIMEINC";
-        if (typeof algorithm === "string") {
-          algorithm = { name: algorithm };
-        }
-        algorithm.options = algorithm.options || {};
-        var prng = options.prng || forge.random;
-        var rng = {
-          // x is an array to fill with bytes
-          nextBytes: function(x) {
-            var b = prng.getBytesSync(x.length);
-            for (var i = 0; i < x.length; ++i) {
-              x[i] = b.charCodeAt(i);
-            }
-          }
-        };
-        if (algorithm.name === "PRIMEINC") {
-          return primeincFindPrime(bits, rng, algorithm.options, callback);
-        }
-        throw new Error("Invalid prime generation algorithm: " + algorithm.name);
-      };
-      function primeincFindPrime(bits, rng, options, callback) {
-        if ("workers" in options) {
-          return primeincFindPrimeWithWorkers(bits, rng, options, callback);
-        }
-        return primeincFindPrimeWithoutWorkers(bits, rng, options, callback);
-      }
-      function primeincFindPrimeWithoutWorkers(bits, rng, options, callback) {
-        var num = generateRandom(bits, rng);
-        var deltaIdx = 0;
-        var mrTests = getMillerRabinTests(num.bitLength());
-        if ("millerRabinTests" in options) {
-          mrTests = options.millerRabinTests;
-        }
-        var maxBlockTime = 10;
-        if ("maxBlockTime" in options) {
-          maxBlockTime = options.maxBlockTime;
+    function prfOidToMessageDigest(prfOid) {
+      var prfAlgorithm;
+      if (!prfOid) {
+        prfAlgorithm = "hmacWithSHA1";
+      } else {
+        prfAlgorithm = pki2.oids[asn1.derToOid(prfOid)];
+        if (!prfAlgorithm) {
+          var error3 = new Error("Unsupported PRF OID.");
+          error3.oid = prfOid;
+          error3.supported = [
+            "hmacWithSHA1",
+            "hmacWithSHA224",
+            "hmacWithSHA256",
+            "hmacWithSHA384",
+            "hmacWithSHA512"
+          ];
+          throw error3;
         }
-        _primeinc(num, bits, rng, deltaIdx, mrTests, maxBlockTime, callback);
-      }
-      function _primeinc(num, bits, rng, deltaIdx, mrTests, maxBlockTime, callback) {
-        var start = +/* @__PURE__ */ new Date();
-        do {
-          if (num.bitLength() > bits) {
-            num = generateRandom(bits, rng);
-          }
-          if (num.isProbablePrime(mrTests)) {
-            return callback(null, num);
-          }
-          num.dAddOffset(GCD_30_DELTA[deltaIdx++ % 8], 0);
-        } while (maxBlockTime < 0 || +/* @__PURE__ */ new Date() - start < maxBlockTime);
-        forge.util.setImmediate(function() {
-          _primeinc(num, bits, rng, deltaIdx, mrTests, maxBlockTime, callback);
-        });
       }
-      function primeincFindPrimeWithWorkers(bits, rng, options, callback) {
-        if (typeof Worker === "undefined") {
-          return primeincFindPrimeWithoutWorkers(bits, rng, options, callback);
-        }
-        var num = generateRandom(bits, rng);
-        var numWorkers = options.workers;
-        var workLoad = options.workLoad || 100;
-        var range = workLoad * 30 / 8;
-        var workerScript = options.workerScript || "forge/prime.worker.js";
-        if (numWorkers === -1) {
-          return forge.util.estimateCores(function(err, cores) {
-            if (err) {
-              cores = 2;
-            }
-            numWorkers = cores - 1;
-            generate();
-          });
-        }
-        generate();
-        function generate() {
-          numWorkers = Math.max(1, numWorkers);
-          var workers = [];
-          for (var i = 0; i < numWorkers; ++i) {
-            workers[i] = new Worker(workerScript);
-          }
-          var running = numWorkers;
-          for (var i = 0; i < numWorkers; ++i) {
-            workers[i].addEventListener("message", workerMessage);
-          }
-          var found = false;
-          function workerMessage(e) {
-            if (found) {
-              return;
-            }
-            --running;
-            var data = e.data;
-            if (data.found) {
-              for (var i2 = 0; i2 < workers.length; ++i2) {
-                workers[i2].terminate();
-              }
-              found = true;
-              return callback(null, new BigInteger(data.prime, 16));
-            }
-            if (num.bitLength() > bits) {
-              num = generateRandom(bits, rng);
-            }
-            var hex = num.toString(16);
-            e.target.postMessage({
-              hex,
-              workLoad
-            });
-            num.dAddOffset(range, 0);
-          }
-        }
+      return prfAlgorithmToMessageDigest(prfAlgorithm);
+    }
+    function prfAlgorithmToMessageDigest(prfAlgorithm) {
+      var factory = forge.md;
+      switch (prfAlgorithm) {
+        case "hmacWithSHA224":
+          factory = forge.md.sha512;
+        case "hmacWithSHA1":
+        case "hmacWithSHA256":
+        case "hmacWithSHA384":
+        case "hmacWithSHA512":
+          prfAlgorithm = prfAlgorithm.substr(8).toLowerCase();
+          break;
+        default:
+          var error3 = new Error("Unsupported PRF algorithm.");
+          error3.algorithm = prfAlgorithm;
+          error3.supported = [
+            "hmacWithSHA1",
+            "hmacWithSHA224",
+            "hmacWithSHA256",
+            "hmacWithSHA384",
+            "hmacWithSHA512"
+          ];
+          throw error3;
       }
-      function generateRandom(bits, rng) {
-        var num = new BigInteger(bits, rng);
-        var bits1 = bits - 1;
-        if (!num.testBit(bits1)) {
-          num.bitwiseTo(BigInteger.ONE.shiftLeft(bits1), op_or, num);
-        }
-        num.dAddOffset(31 - num.mod(THIRTY).byteValue(), 0);
-        return num;
+      if (!factory || !(prfAlgorithm in factory)) {
+        throw new Error("Unknown hash algorithm: " + prfAlgorithm);
       }
-      function getMillerRabinTests(bits) {
-        if (bits <= 100) return 27;
-        if (bits <= 150) return 18;
-        if (bits <= 200) return 15;
-        if (bits <= 250) return 12;
-        if (bits <= 300) return 9;
-        if (bits <= 350) return 8;
-        if (bits <= 400) return 7;
-        if (bits <= 500) return 6;
-        if (bits <= 600) return 5;
-        if (bits <= 800) return 4;
-        if (bits <= 1250) return 3;
-        return 2;
+      return factory[prfAlgorithm].create();
+    }
+    function createPbkdf2Params(salt, countBytes, dkLen, prfAlgorithm) {
+      var params = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+        // salt
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.OCTETSTRING,
+          false,
+          salt
+        ),
+        // iteration count
+        asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.INTEGER,
+          false,
+          countBytes.getBytes()
+        )
+      ]);
+      if (prfAlgorithm !== "hmacWithSHA1") {
+        params.value.push(
+          // key length
+          asn1.create(
+            asn1.Class.UNIVERSAL,
+            asn1.Type.INTEGER,
+            false,
+            forge.util.hexToBytes(dkLen.toString(16))
+          ),
+          // AlgorithmIdentifier
+          asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+            // algorithm
+            asn1.create(
+              asn1.Class.UNIVERSAL,
+              asn1.Type.OID,
+              false,
+              asn1.oidToDer(pki2.oids[prfAlgorithm]).getBytes()
+            ),
+            // parameters (null)
+            asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")
+          ])
+        );
       }
-    })();
+      return params;
+    }
   }
 });
 
-// node_modules/node-forge/lib/rsa.js
-var require_rsa = __commonJS({
-  "node_modules/node-forge/lib/rsa.js"(exports2, module2) {
+// node_modules/node-forge/lib/pkcs7asn1.js
+var require_pkcs7asn1 = __commonJS({
+  "node_modules/node-forge/lib/pkcs7asn1.js"(exports2, module2) {
     var forge = require_forge();
     require_asn1();
-    require_jsbn();
-    require_oids();
-    require_pkcs1();
-    require_prime();
-    require_random();
     require_util9();
-    if (typeof BigInteger === "undefined") {
-      BigInteger = forge.jsbn.BigInteger;
-    }
-    var BigInteger;
-    var _crypto = forge.util.isNodejs ? require("crypto") : null;
     var asn1 = forge.asn1;
-    var util = forge.util;
-    forge.pki = forge.pki || {};
-    module2.exports = forge.pki.rsa = forge.rsa = forge.rsa || {};
-    var pki2 = forge.pki;
-    var GCD_30_DELTA = [6, 4, 2, 4, 2, 4, 6, 2];
-    var privateKeyValidator = {
-      // PrivateKeyInfo
-      name: "PrivateKeyInfo",
+    var p7v = module2.exports = forge.pkcs7asn1 = forge.pkcs7asn1 || {};
+    forge.pkcs7 = forge.pkcs7 || {};
+    forge.pkcs7.asn1 = p7v;
+    var contentInfoValidator = {
+      name: "ContentInfo",
       tagClass: asn1.Class.UNIVERSAL,
       type: asn1.Type.SEQUENCE,
       constructed: true,
       value: [{
-        // Version (INTEGER)
-        name: "PrivateKeyInfo.version",
+        name: "ContentInfo.ContentType",
         tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
+        type: asn1.Type.OID,
         constructed: false,
-        capture: "privateKeyVersion"
+        capture: "contentType"
       }, {
-        // privateKeyAlgorithm
-        name: "PrivateKeyInfo.privateKeyAlgorithm",
+        name: "ContentInfo.content",
+        tagClass: asn1.Class.CONTEXT_SPECIFIC,
+        type: 0,
+        constructed: true,
+        optional: true,
+        captureAsn1: "content"
+      }]
+    };
+    p7v.contentInfoValidator = contentInfoValidator;
+    var encryptedContentInfoValidator = {
+      name: "EncryptedContentInfo",
+      tagClass: asn1.Class.UNIVERSAL,
+      type: asn1.Type.SEQUENCE,
+      constructed: true,
+      value: [{
+        name: "EncryptedContentInfo.contentType",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.OID,
+        constructed: false,
+        capture: "contentType"
+      }, {
+        name: "EncryptedContentInfo.contentEncryptionAlgorithm",
         tagClass: asn1.Class.UNIVERSAL,
         type: asn1.Type.SEQUENCE,
         constructed: true,
         value: [{
-          name: "AlgorithmIdentifier.algorithm",
+          name: "EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",
           tagClass: asn1.Class.UNIVERSAL,
           type: asn1.Type.OID,
           constructed: false,
-          capture: "privateKeyOid"
+          capture: "encAlgorithm"
+        }, {
+          name: "EncryptedContentInfo.contentEncryptionAlgorithm.parameter",
+          tagClass: asn1.Class.UNIVERSAL,
+          captureAsn1: "encParameter"
         }]
       }, {
-        // PrivateKey
-        name: "PrivateKeyInfo",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.OCTETSTRING,
-        constructed: false,
-        capture: "privateKey"
+        name: "EncryptedContentInfo.encryptedContent",
+        tagClass: asn1.Class.CONTEXT_SPECIFIC,
+        type: 0,
+        /* The PKCS#7 structure output by OpenSSL somewhat differs from what
+         * other implementations do generate.
+         *
+         * OpenSSL generates a structure like this:
+         * SEQUENCE {
+         *    ...
+         *    [0]
+         *       26 DA 67 D2 17 9C 45 3C B1 2A A8 59 2F 29 33 38
+         *       C3 C3 DF 86 71 74 7A 19 9F 40 D0 29 BE 85 90 45
+         *       ...
+         * }
+         *
+         * Whereas other implementations (and this PKCS#7 module) generate:
+         * SEQUENCE {
+         *    ...
+         *    [0] {
+         *       OCTET STRING
+         *          26 DA 67 D2 17 9C 45 3C B1 2A A8 59 2F 29 33 38
+         *          C3 C3 DF 86 71 74 7A 19 9F 40 D0 29 BE 85 90 45
+         *          ...
+         *    }
+         * }
+         *
+         * In order to support both, we just capture the context specific
+         * field here.  The OCTET STRING bit is removed below.
+         */
+        capture: "encryptedContent",
+        captureAsn1: "encryptedContentAsn1"
       }]
     };
-    var rsaPrivateKeyValidator = {
-      // RSAPrivateKey
-      name: "RSAPrivateKey",
+    p7v.envelopedDataValidator = {
+      name: "EnvelopedData",
       tagClass: asn1.Class.UNIVERSAL,
       type: asn1.Type.SEQUENCE,
       constructed: true,
       value: [{
-        // Version (INTEGER)
-        name: "RSAPrivateKey.version",
+        name: "EnvelopedData.Version",
         tagClass: asn1.Class.UNIVERSAL,
         type: asn1.Type.INTEGER,
         constructed: false,
-        capture: "privateKeyVersion"
+        capture: "version"
       }, {
-        // modulus (n)
-        name: "RSAPrivateKey.modulus",
+        name: "EnvelopedData.RecipientInfos",
         tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
-        constructed: false,
-        capture: "privateKeyModulus"
-      }, {
-        // publicExponent (e)
-        name: "RSAPrivateKey.publicExponent",
+        type: asn1.Type.SET,
+        constructed: true,
+        captureAsn1: "recipientInfos"
+      }].concat(encryptedContentInfoValidator)
+    };
+    p7v.encryptedDataValidator = {
+      name: "EncryptedData",
+      tagClass: asn1.Class.UNIVERSAL,
+      type: asn1.Type.SEQUENCE,
+      constructed: true,
+      value: [{
+        name: "EncryptedData.Version",
         tagClass: asn1.Class.UNIVERSAL,
         type: asn1.Type.INTEGER,
         constructed: false,
-        capture: "privateKeyPublicExponent"
-      }, {
-        // privateExponent (d)
-        name: "RSAPrivateKey.privateExponent",
+        capture: "version"
+      }].concat(encryptedContentInfoValidator)
+    };
+    var signerValidator = {
+      name: "SignerInfo",
+      tagClass: asn1.Class.UNIVERSAL,
+      type: asn1.Type.SEQUENCE,
+      constructed: true,
+      value: [{
+        name: "SignerInfo.version",
         tagClass: asn1.Class.UNIVERSAL,
         type: asn1.Type.INTEGER,
-        constructed: false,
-        capture: "privateKeyPrivateExponent"
+        constructed: false
       }, {
-        // prime1 (p)
-        name: "RSAPrivateKey.prime1",
+        name: "SignerInfo.issuerAndSerialNumber",
         tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
-        constructed: false,
-        capture: "privateKeyPrime1"
+        type: asn1.Type.SEQUENCE,
+        constructed: true,
+        value: [{
+          name: "SignerInfo.issuerAndSerialNumber.issuer",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.SEQUENCE,
+          constructed: true,
+          captureAsn1: "issuer"
+        }, {
+          name: "SignerInfo.issuerAndSerialNumber.serialNumber",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.INTEGER,
+          constructed: false,
+          capture: "serial"
+        }]
       }, {
-        // prime2 (q)
-        name: "RSAPrivateKey.prime2",
+        name: "SignerInfo.digestAlgorithm",
         tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
-        constructed: false,
-        capture: "privateKeyPrime2"
+        type: asn1.Type.SEQUENCE,
+        constructed: true,
+        value: [{
+          name: "SignerInfo.digestAlgorithm.algorithm",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.OID,
+          constructed: false,
+          capture: "digestAlgorithm"
+        }, {
+          name: "SignerInfo.digestAlgorithm.parameter",
+          tagClass: asn1.Class.UNIVERSAL,
+          constructed: false,
+          captureAsn1: "digestParameter",
+          optional: true
+        }]
       }, {
-        // exponent1 (d mod (p-1))
-        name: "RSAPrivateKey.exponent1",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
-        constructed: false,
-        capture: "privateKeyExponent1"
+        name: "SignerInfo.authenticatedAttributes",
+        tagClass: asn1.Class.CONTEXT_SPECIFIC,
+        type: 0,
+        constructed: true,
+        optional: true,
+        capture: "authenticatedAttributes"
       }, {
-        // exponent2 (d mod (q-1))
-        name: "RSAPrivateKey.exponent2",
+        name: "SignerInfo.digestEncryptionAlgorithm",
         tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
-        constructed: false,
-        capture: "privateKeyExponent2"
+        type: asn1.Type.SEQUENCE,
+        constructed: true,
+        capture: "signatureAlgorithm"
       }, {
-        // coefficient ((inverse of q) mod p)
-        name: "RSAPrivateKey.coefficient",
+        name: "SignerInfo.encryptedDigest",
         tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
+        type: asn1.Type.OCTETSTRING,
         constructed: false,
-        capture: "privateKeyCoefficient"
+        capture: "signature"
+      }, {
+        name: "SignerInfo.unauthenticatedAttributes",
+        tagClass: asn1.Class.CONTEXT_SPECIFIC,
+        type: 1,
+        constructed: true,
+        optional: true,
+        capture: "unauthenticatedAttributes"
       }]
     };
-    var rsaPublicKeyValidator = {
-      // RSAPublicKey
-      name: "RSAPublicKey",
+    p7v.signedDataValidator = {
+      name: "SignedData",
       tagClass: asn1.Class.UNIVERSAL,
       type: asn1.Type.SEQUENCE,
       constructed: true,
-      value: [{
-        // modulus (n)
-        name: "RSAPublicKey.modulus",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
-        constructed: false,
-        capture: "publicKeyModulus"
-      }, {
-        // publicExponent (e)
-        name: "RSAPublicKey.exponent",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
-        constructed: false,
-        capture: "publicKeyExponent"
-      }]
+      value: [
+        {
+          name: "SignedData.Version",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.INTEGER,
+          constructed: false,
+          capture: "version"
+        },
+        {
+          name: "SignedData.DigestAlgorithms",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.SET,
+          constructed: true,
+          captureAsn1: "digestAlgorithms"
+        },
+        contentInfoValidator,
+        {
+          name: "SignedData.Certificates",
+          tagClass: asn1.Class.CONTEXT_SPECIFIC,
+          type: 0,
+          optional: true,
+          captureAsn1: "certificates"
+        },
+        {
+          name: "SignedData.CertificateRevocationLists",
+          tagClass: asn1.Class.CONTEXT_SPECIFIC,
+          type: 1,
+          optional: true,
+          captureAsn1: "crls"
+        },
+        {
+          name: "SignedData.SignerInfos",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.SET,
+          capture: "signerInfos",
+          optional: true,
+          value: [signerValidator]
+        }
+      ]
     };
-    var publicKeyValidator = forge.pki.rsa.publicKeyValidator = {
-      name: "SubjectPublicKeyInfo",
+    p7v.recipientInfoValidator = {
+      name: "RecipientInfo",
       tagClass: asn1.Class.UNIVERSAL,
       type: asn1.Type.SEQUENCE,
       constructed: true,
-      captureAsn1: "subjectPublicKeyInfo",
       value: [{
-        name: "SubjectPublicKeyInfo.AlgorithmIdentifier",
+        name: "RecipientInfo.version",
         tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.SEQUENCE,
-        constructed: true,
-        value: [{
-          name: "AlgorithmIdentifier.algorithm",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.OID,
-          constructed: false,
-          capture: "publicKeyOid"
-        }]
+        type: asn1.Type.INTEGER,
+        constructed: false,
+        capture: "version"
       }, {
-        // subjectPublicKey
-        name: "SubjectPublicKeyInfo.subjectPublicKey",
+        name: "RecipientInfo.issuerAndSerial",
         tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.BITSTRING,
-        constructed: false,
+        type: asn1.Type.SEQUENCE,
+        constructed: true,
         value: [{
-          // RSAPublicKey
-          name: "SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",
+          name: "RecipientInfo.issuerAndSerial.issuer",
           tagClass: asn1.Class.UNIVERSAL,
           type: asn1.Type.SEQUENCE,
           constructed: true,
-          optional: true,
-          captureAsn1: "rsaPublicKey"
+          captureAsn1: "issuer"
+        }, {
+          name: "RecipientInfo.issuerAndSerial.serialNumber",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.INTEGER,
+          constructed: false,
+          capture: "serial"
         }]
-      }]
-    };
-    var digestInfoValidator = {
-      name: "DigestInfo",
-      tagClass: asn1.Class.UNIVERSAL,
-      type: asn1.Type.SEQUENCE,
-      constructed: true,
-      value: [{
-        name: "DigestInfo.DigestAlgorithm",
+      }, {
+        name: "RecipientInfo.keyEncryptionAlgorithm",
         tagClass: asn1.Class.UNIVERSAL,
         type: asn1.Type.SEQUENCE,
         constructed: true,
         value: [{
-          name: "DigestInfo.DigestAlgorithm.algorithmIdentifier",
+          name: "RecipientInfo.keyEncryptionAlgorithm.algorithm",
           tagClass: asn1.Class.UNIVERSAL,
           type: asn1.Type.OID,
           constructed: false,
-          capture: "algorithmIdentifier"
+          capture: "encAlgorithm"
         }, {
-          // NULL parameters
-          name: "DigestInfo.DigestAlgorithm.parameters",
+          name: "RecipientInfo.keyEncryptionAlgorithm.parameter",
           tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.NULL,
-          // captured only to check existence for md2 and md5
-          capture: "parameters",
-          optional: true,
-          constructed: false
+          constructed: false,
+          captureAsn1: "encParameter",
+          optional: true
         }]
       }, {
-        // digest
-        name: "DigestInfo.digest",
+        name: "RecipientInfo.encryptedKey",
         tagClass: asn1.Class.UNIVERSAL,
         type: asn1.Type.OCTETSTRING,
         constructed: false,
-        capture: "digest"
+        capture: "encKey"
       }]
     };
-    var emsaPkcs1v15encode = function(md) {
-      var oid;
-      if (md.algorithm in pki2.oids) {
-        oid = pki2.oids[md.algorithm];
-      } else {
-        var error3 = new Error("Unknown message digest algorithm.");
-        error3.algorithm = md.algorithm;
-        throw error3;
-      }
-      var oidBytes = asn1.oidToDer(oid).getBytes();
-      var digestInfo = asn1.create(
-        asn1.Class.UNIVERSAL,
-        asn1.Type.SEQUENCE,
-        true,
-        []
-      );
-      var digestAlgorithm = asn1.create(
-        asn1.Class.UNIVERSAL,
-        asn1.Type.SEQUENCE,
-        true,
-        []
-      );
-      digestAlgorithm.value.push(asn1.create(
-        asn1.Class.UNIVERSAL,
-        asn1.Type.OID,
-        false,
-        oidBytes
-      ));
-      digestAlgorithm.value.push(asn1.create(
-        asn1.Class.UNIVERSAL,
-        asn1.Type.NULL,
-        false,
-        ""
-      ));
-      var digest = asn1.create(
-        asn1.Class.UNIVERSAL,
-        asn1.Type.OCTETSTRING,
-        false,
-        md.digest().getBytes()
-      );
-      digestInfo.value.push(digestAlgorithm);
-      digestInfo.value.push(digest);
-      return asn1.toDer(digestInfo).getBytes();
+  }
+});
+
+// node_modules/node-forge/lib/mgf1.js
+var require_mgf1 = __commonJS({
+  "node_modules/node-forge/lib/mgf1.js"(exports2, module2) {
+    var forge = require_forge();
+    require_util9();
+    forge.mgf = forge.mgf || {};
+    var mgf1 = module2.exports = forge.mgf.mgf1 = forge.mgf1 = forge.mgf1 || {};
+    mgf1.create = function(md) {
+      var mgf = {
+        /**
+         * Generate mask of specified length.
+         *
+         * @param {String} seed The seed for mask generation.
+         * @param maskLen Number of bytes to generate.
+         * @return {String} The generated mask.
+         */
+        generate: function(seed, maskLen) {
+          var t = new forge.util.ByteBuffer();
+          var len = Math.ceil(maskLen / md.digestLength);
+          for (var i = 0; i < len; i++) {
+            var c = new forge.util.ByteBuffer();
+            c.putInt32(i);
+            md.start();
+            md.update(seed + c.getBytes());
+            t.putBuffer(md.digest());
+          }
+          t.truncate(t.length() - maskLen);
+          return t.getBytes();
+        }
+      };
+      return mgf;
     };
-    var _modPow = function(x, key, pub) {
-      if (pub) {
-        return x.modPow(key.e, key.n);
-      }
-      if (!key.p || !key.q) {
-        return x.modPow(key.d, key.n);
-      }
-      if (!key.dP) {
-        key.dP = key.d.mod(key.p.subtract(BigInteger.ONE));
-      }
-      if (!key.dQ) {
-        key.dQ = key.d.mod(key.q.subtract(BigInteger.ONE));
-      }
-      if (!key.qInv) {
-        key.qInv = key.q.modInverse(key.p);
+  }
+});
+
+// node_modules/node-forge/lib/mgf.js
+var require_mgf = __commonJS({
+  "node_modules/node-forge/lib/mgf.js"(exports2, module2) {
+    var forge = require_forge();
+    require_mgf1();
+    module2.exports = forge.mgf = forge.mgf || {};
+    forge.mgf.mgf1 = forge.mgf1;
+  }
+});
+
+// node_modules/node-forge/lib/pss.js
+var require_pss = __commonJS({
+  "node_modules/node-forge/lib/pss.js"(exports2, module2) {
+    var forge = require_forge();
+    require_random();
+    require_util9();
+    var pss = module2.exports = forge.pss = forge.pss || {};
+    pss.create = function(options) {
+      if (arguments.length === 3) {
+        options = {
+          md: arguments[0],
+          mgf: arguments[1],
+          saltLength: arguments[2]
+        };
       }
-      var r;
-      do {
-        r = new BigInteger(
-          forge.util.bytesToHex(forge.random.getBytes(key.n.bitLength() / 8)),
-          16
-        );
-      } while (r.compareTo(key.n) >= 0 || !r.gcd(key.n).equals(BigInteger.ONE));
-      x = x.multiply(r.modPow(key.e, key.n)).mod(key.n);
-      var xp = x.mod(key.p).modPow(key.dP, key.p);
-      var xq = x.mod(key.q).modPow(key.dQ, key.q);
-      while (xp.compareTo(xq) < 0) {
-        xp = xp.add(key.p);
+      var hash = options.md;
+      var mgf = options.mgf;
+      var hLen = hash.digestLength;
+      var salt_ = options.salt || null;
+      if (typeof salt_ === "string") {
+        salt_ = forge.util.createBuffer(salt_);
       }
-      var y = xp.subtract(xq).multiply(key.qInv).mod(key.p).multiply(key.q).add(xq);
-      y = y.multiply(r.modInverse(key.n)).mod(key.n);
-      return y;
-    };
-    pki2.rsa.encrypt = function(m, key, bt) {
-      var pub = bt;
-      var eb;
-      var k = Math.ceil(key.n.bitLength() / 8);
-      if (bt !== false && bt !== true) {
-        pub = bt === 2;
-        eb = _encodePkcs1_v1_5(m, key, bt);
+      var sLen;
+      if ("saltLength" in options) {
+        sLen = options.saltLength;
+      } else if (salt_ !== null) {
+        sLen = salt_.length();
       } else {
-        eb = forge.util.createBuffer();
-        eb.putBytes(m);
+        throw new Error("Salt length not specified or specific salt not given.");
       }
-      var x = new BigInteger(eb.toHex(), 16);
-      var y = _modPow(x, key, pub);
-      var yhex = y.toString(16);
-      var ed = forge.util.createBuffer();
-      var zeros = k - Math.ceil(yhex.length / 2);
-      while (zeros > 0) {
-        ed.putByte(0);
-        --zeros;
+      if (salt_ !== null && salt_.length() !== sLen) {
+        throw new Error("Given salt length does not match length of given salt.");
       }
-      ed.putBytes(forge.util.hexToBytes(yhex));
-      return ed.getBytes();
-    };
-    pki2.rsa.decrypt = function(ed, key, pub, ml) {
-      var k = Math.ceil(key.n.bitLength() / 8);
-      if (ed.length !== k) {
-        var error3 = new Error("Encrypted message length is invalid.");
-        error3.length = ed.length;
-        error3.expected = k;
-        throw error3;
-      }
-      var y = new BigInteger(forge.util.createBuffer(ed).toHex(), 16);
-      if (y.compareTo(key.n) >= 0) {
-        throw new Error("Encrypted message is invalid.");
-      }
-      var x = _modPow(y, key, pub);
-      var xhex = x.toString(16);
-      var eb = forge.util.createBuffer();
-      var zeros = k - Math.ceil(xhex.length / 2);
-      while (zeros > 0) {
-        eb.putByte(0);
-        --zeros;
-      }
-      eb.putBytes(forge.util.hexToBytes(xhex));
-      if (ml !== false) {
-        return _decodePkcs1_v1_5(eb.getBytes(), key, pub);
-      }
-      return eb.getBytes();
-    };
-    pki2.rsa.createKeyPairGenerationState = function(bits, e, options) {
-      if (typeof bits === "string") {
-        bits = parseInt(bits, 10);
-      }
-      bits = bits || 2048;
-      options = options || {};
       var prng = options.prng || forge.random;
-      var rng = {
-        // x is an array to fill with bytes
-        nextBytes: function(x) {
-          var b = prng.getBytesSync(x.length);
-          for (var i = 0; i < x.length; ++i) {
-            x[i] = b.charCodeAt(i);
-          }
-        }
-      };
-      var algorithm = options.algorithm || "PRIMEINC";
-      var rval;
-      if (algorithm === "PRIMEINC") {
-        rval = {
-          algorithm,
-          state: 0,
-          bits,
-          rng,
-          eInt: e || 65537,
-          e: new BigInteger(null),
-          p: null,
-          q: null,
-          qBits: bits >> 1,
-          pBits: bits - (bits >> 1),
-          pqState: 0,
-          num: null,
-          keys: null
-        };
-        rval.e.fromInt(rval.eInt);
-      } else {
-        throw new Error("Invalid key generation algorithm: " + algorithm);
-      }
-      return rval;
-    };
-    pki2.rsa.stepKeyPairGenerationState = function(state, n) {
-      if (!("algorithm" in state)) {
-        state.algorithm = "PRIMEINC";
-      }
-      var THIRTY = new BigInteger(null);
-      THIRTY.fromInt(30);
-      var deltaIdx = 0;
-      var op_or = function(x, y) {
-        return x | y;
-      };
-      var t1 = +/* @__PURE__ */ new Date();
-      var t2;
-      var total = 0;
-      while (state.keys === null && (n <= 0 || total < n)) {
-        if (state.state === 0) {
-          var bits = state.p === null ? state.pBits : state.qBits;
-          var bits1 = bits - 1;
-          if (state.pqState === 0) {
-            state.num = new BigInteger(bits, state.rng);
-            if (!state.num.testBit(bits1)) {
-              state.num.bitwiseTo(
-                BigInteger.ONE.shiftLeft(bits1),
-                op_or,
-                state.num
-              );
-            }
-            state.num.dAddOffset(31 - state.num.mod(THIRTY).byteValue(), 0);
-            deltaIdx = 0;
-            ++state.pqState;
-          } else if (state.pqState === 1) {
-            if (state.num.bitLength() > bits) {
-              state.pqState = 0;
-            } else if (state.num.isProbablePrime(
-              _getMillerRabinTests(state.num.bitLength())
-            )) {
-              ++state.pqState;
-            } else {
-              state.num.dAddOffset(GCD_30_DELTA[deltaIdx++ % 8], 0);
-            }
-          } else if (state.pqState === 2) {
-            state.pqState = state.num.subtract(BigInteger.ONE).gcd(state.e).compareTo(BigInteger.ONE) === 0 ? 3 : 0;
-          } else if (state.pqState === 3) {
-            state.pqState = 0;
-            if (state.p === null) {
-              state.p = state.num;
-            } else {
-              state.q = state.num;
-            }
-            if (state.p !== null && state.q !== null) {
-              ++state.state;
-            }
-            state.num = null;
-          }
-        } else if (state.state === 1) {
-          if (state.p.compareTo(state.q) < 0) {
-            state.num = state.p;
-            state.p = state.q;
-            state.q = state.num;
-          }
-          ++state.state;
-        } else if (state.state === 2) {
-          state.p1 = state.p.subtract(BigInteger.ONE);
-          state.q1 = state.q.subtract(BigInteger.ONE);
-          state.phi = state.p1.multiply(state.q1);
-          ++state.state;
-        } else if (state.state === 3) {
-          if (state.phi.gcd(state.e).compareTo(BigInteger.ONE) === 0) {
-            ++state.state;
-          } else {
-            state.p = null;
-            state.q = null;
-            state.state = 0;
-          }
-        } else if (state.state === 4) {
-          state.n = state.p.multiply(state.q);
-          if (state.n.bitLength() === state.bits) {
-            ++state.state;
-          } else {
-            state.q = null;
-            state.state = 0;
-          }
-        } else if (state.state === 5) {
-          var d = state.e.modInverse(state.phi);
-          state.keys = {
-            privateKey: pki2.rsa.setPrivateKey(
-              state.n,
-              state.e,
-              d,
-              state.p,
-              state.q,
-              d.mod(state.p1),
-              d.mod(state.q1),
-              state.q.modInverse(state.p)
-            ),
-            publicKey: pki2.rsa.setPublicKey(state.n, state.e)
-          };
-        }
-        t2 = +/* @__PURE__ */ new Date();
-        total += t2 - t1;
-        t1 = t2;
-      }
-      return state.keys !== null;
-    };
-    pki2.rsa.generateKeyPair = function(bits, e, options, callback) {
-      if (arguments.length === 1) {
-        if (typeof bits === "object") {
-          options = bits;
-          bits = void 0;
-        } else if (typeof bits === "function") {
-          callback = bits;
-          bits = void 0;
-        }
-      } else if (arguments.length === 2) {
-        if (typeof bits === "number") {
-          if (typeof e === "function") {
-            callback = e;
-            e = void 0;
-          } else if (typeof e !== "number") {
-            options = e;
-            e = void 0;
-          }
-        } else {
-          options = bits;
-          callback = e;
-          bits = void 0;
-          e = void 0;
+      var pssobj = {};
+      pssobj.encode = function(md, modBits) {
+        var i;
+        var emBits = modBits - 1;
+        var emLen = Math.ceil(emBits / 8);
+        var mHash = md.digest().getBytes();
+        if (emLen < hLen + sLen + 2) {
+          throw new Error("Message is too long to encrypt.");
         }
-      } else if (arguments.length === 3) {
-        if (typeof e === "number") {
-          if (typeof options === "function") {
-            callback = options;
-            options = void 0;
-          }
+        var salt;
+        if (salt_ === null) {
+          salt = prng.getBytesSync(sLen);
         } else {
-          callback = options;
-          options = e;
-          e = void 0;
+          salt = salt_.bytes();
         }
-      }
-      options = options || {};
-      if (bits === void 0) {
-        bits = options.bits || 2048;
-      }
-      if (e === void 0) {
-        e = options.e || 65537;
-      }
-      if (!forge.options.usePureJavaScript && !options.prng && bits >= 256 && bits <= 16384 && (e === 65537 || e === 3)) {
-        if (callback) {
-          if (_detectNodeCrypto("generateKeyPair")) {
-            return _crypto.generateKeyPair("rsa", {
-              modulusLength: bits,
-              publicExponent: e,
-              publicKeyEncoding: {
-                type: "spki",
-                format: "pem"
-              },
-              privateKeyEncoding: {
-                type: "pkcs8",
-                format: "pem"
-              }
-            }, function(err, pub, priv) {
-              if (err) {
-                return callback(err);
-              }
-              callback(null, {
-                privateKey: pki2.privateKeyFromPem(priv),
-                publicKey: pki2.publicKeyFromPem(pub)
-              });
-            });
-          }
-          if (_detectSubtleCrypto("generateKey") && _detectSubtleCrypto("exportKey")) {
-            return util.globalScope.crypto.subtle.generateKey({
-              name: "RSASSA-PKCS1-v1_5",
-              modulusLength: bits,
-              publicExponent: _intToUint8Array(e),
-              hash: { name: "SHA-256" }
-            }, true, ["sign", "verify"]).then(function(pair) {
-              return util.globalScope.crypto.subtle.exportKey(
-                "pkcs8",
-                pair.privateKey
-              );
-            }).then(void 0, function(err) {
-              callback(err);
-            }).then(function(pkcs8) {
-              if (pkcs8) {
-                var privateKey = pki2.privateKeyFromAsn1(
-                  asn1.fromDer(forge.util.createBuffer(pkcs8))
-                );
-                callback(null, {
-                  privateKey,
-                  publicKey: pki2.setRsaPublicKey(privateKey.n, privateKey.e)
-                });
-              }
-            });
-          }
-          if (_detectSubtleMsCrypto("generateKey") && _detectSubtleMsCrypto("exportKey")) {
-            var genOp = util.globalScope.msCrypto.subtle.generateKey({
-              name: "RSASSA-PKCS1-v1_5",
-              modulusLength: bits,
-              publicExponent: _intToUint8Array(e),
-              hash: { name: "SHA-256" }
-            }, true, ["sign", "verify"]);
-            genOp.oncomplete = function(e2) {
-              var pair = e2.target.result;
-              var exportOp = util.globalScope.msCrypto.subtle.exportKey(
-                "pkcs8",
-                pair.privateKey
-              );
-              exportOp.oncomplete = function(e3) {
-                var pkcs8 = e3.target.result;
-                var privateKey = pki2.privateKeyFromAsn1(
-                  asn1.fromDer(forge.util.createBuffer(pkcs8))
-                );
-                callback(null, {
-                  privateKey,
-                  publicKey: pki2.setRsaPublicKey(privateKey.n, privateKey.e)
-                });
-              };
-              exportOp.onerror = function(err) {
-                callback(err);
-              };
-            };
-            genOp.onerror = function(err) {
-              callback(err);
-            };
-            return;
-          }
-        } else {
-          if (_detectNodeCrypto("generateKeyPairSync")) {
-            var keypair = _crypto.generateKeyPairSync("rsa", {
-              modulusLength: bits,
-              publicExponent: e,
-              publicKeyEncoding: {
-                type: "spki",
-                format: "pem"
-              },
-              privateKeyEncoding: {
-                type: "pkcs8",
-                format: "pem"
-              }
-            });
-            return {
-              privateKey: pki2.privateKeyFromPem(keypair.privateKey),
-              publicKey: pki2.publicKeyFromPem(keypair.publicKey)
-            };
-          }
+        var m_ = new forge.util.ByteBuffer();
+        m_.fillWithByte(0, 8);
+        m_.putBytes(mHash);
+        m_.putBytes(salt);
+        hash.start();
+        hash.update(m_.getBytes());
+        var h = hash.digest().getBytes();
+        var ps = new forge.util.ByteBuffer();
+        ps.fillWithByte(0, emLen - sLen - hLen - 2);
+        ps.putByte(1);
+        ps.putBytes(salt);
+        var db = ps.getBytes();
+        var maskLen = emLen - hLen - 1;
+        var dbMask = mgf.generate(h, maskLen);
+        var maskedDB = "";
+        for (i = 0; i < maskLen; i++) {
+          maskedDB += String.fromCharCode(db.charCodeAt(i) ^ dbMask.charCodeAt(i));
         }
-      }
-      var state = pki2.rsa.createKeyPairGenerationState(bits, e, options);
-      if (!callback) {
-        pki2.rsa.stepKeyPairGenerationState(state, 0);
-        return state.keys;
-      }
-      _generateKeyPair(state, options, callback);
-    };
-    pki2.setRsaPublicKey = pki2.rsa.setPublicKey = function(n, e) {
-      var key = {
-        n,
-        e
+        var mask = 65280 >> 8 * emLen - emBits & 255;
+        maskedDB = String.fromCharCode(maskedDB.charCodeAt(0) & ~mask) + maskedDB.substr(1);
+        return maskedDB + h + String.fromCharCode(188);
       };
-      key.encrypt = function(data, scheme, schemeOptions) {
-        if (typeof scheme === "string") {
-          scheme = scheme.toUpperCase();
-        } else if (scheme === void 0) {
-          scheme = "RSAES-PKCS1-V1_5";
+      pssobj.verify = function(mHash, em, modBits) {
+        var i;
+        var emBits = modBits - 1;
+        var emLen = Math.ceil(emBits / 8);
+        em = em.substr(-emLen);
+        if (emLen < hLen + sLen + 2) {
+          throw new Error("Inconsistent parameters to PSS signature verification.");
         }
-        if (scheme === "RSAES-PKCS1-V1_5") {
-          scheme = {
-            encode: function(m, key2, pub) {
-              return _encodePkcs1_v1_5(m, key2, 2).getBytes();
-            }
-          };
-        } else if (scheme === "RSA-OAEP" || scheme === "RSAES-OAEP") {
-          scheme = {
-            encode: function(m, key2) {
-              return forge.pkcs1.encode_rsa_oaep(key2, m, schemeOptions);
-            }
-          };
-        } else if (["RAW", "NONE", "NULL", null].indexOf(scheme) !== -1) {
-          scheme = { encode: function(e3) {
-            return e3;
-          } };
-        } else if (typeof scheme === "string") {
-          throw new Error('Unsupported encryption scheme: "' + scheme + '".');
+        if (em.charCodeAt(emLen - 1) !== 188) {
+          throw new Error("Encoded message does not end in 0xBC.");
         }
-        var e2 = scheme.encode(data, key, true);
-        return pki2.rsa.encrypt(e2, key, true);
-      };
-      key.verify = function(digest, signature, scheme, options) {
-        if (typeof scheme === "string") {
-          scheme = scheme.toUpperCase();
-        } else if (scheme === void 0) {
-          scheme = "RSASSA-PKCS1-V1_5";
+        var maskLen = emLen - hLen - 1;
+        var maskedDB = em.substr(0, maskLen);
+        var h = em.substr(maskLen, hLen);
+        var mask = 65280 >> 8 * emLen - emBits & 255;
+        if ((maskedDB.charCodeAt(0) & mask) !== 0) {
+          throw new Error("Bits beyond keysize not zero as expected.");
         }
-        if (options === void 0) {
-          options = {
-            _parseAllDigestBytes: true
-          };
+        var dbMask = mgf.generate(h, maskLen);
+        var db = "";
+        for (i = 0; i < maskLen; i++) {
+          db += String.fromCharCode(maskedDB.charCodeAt(i) ^ dbMask.charCodeAt(i));
         }
-        if (!("_parseAllDigestBytes" in options)) {
-          options._parseAllDigestBytes = true;
+        db = String.fromCharCode(db.charCodeAt(0) & ~mask) + db.substr(1);
+        var checkLen = emLen - hLen - sLen - 2;
+        for (i = 0; i < checkLen; i++) {
+          if (db.charCodeAt(i) !== 0) {
+            throw new Error("Leftmost octets not zero as expected");
+          }
         }
-        if (scheme === "RSASSA-PKCS1-V1_5") {
-          scheme = {
-            verify: function(digest2, d2) {
-              d2 = _decodePkcs1_v1_5(d2, key, true);
-              var obj = asn1.fromDer(d2, {
-                parseAllBytes: options._parseAllDigestBytes
-              });
-              var capture = {};
-              var errors = [];
-              if (!asn1.validate(obj, digestInfoValidator, capture, errors)) {
-                var error3 = new Error(
-                  "ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value."
-                );
-                error3.errors = errors;
-                throw error3;
-              }
-              var oid = asn1.derToOid(capture.algorithmIdentifier);
-              if (!(oid === forge.oids.md2 || oid === forge.oids.md5 || oid === forge.oids.sha1 || oid === forge.oids.sha224 || oid === forge.oids.sha256 || oid === forge.oids.sha384 || oid === forge.oids.sha512 || oid === forge.oids["sha512-224"] || oid === forge.oids["sha512-256"])) {
-                var error3 = new Error(
-                  "Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier."
-                );
-                error3.oid = oid;
-                throw error3;
-              }
-              if (oid === forge.oids.md2 || oid === forge.oids.md5) {
-                if (!("parameters" in capture)) {
-                  throw new Error(
-                    "ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifier NULL parameters."
-                  );
-                }
-              }
-              return digest2 === capture.digest;
-            }
-          };
-        } else if (scheme === "NONE" || scheme === "NULL" || scheme === null) {
-          scheme = {
-            verify: function(digest2, d2) {
-              d2 = _decodePkcs1_v1_5(d2, key, true);
-              return digest2 === d2;
-            }
-          };
+        if (db.charCodeAt(checkLen) !== 1) {
+          throw new Error("Inconsistent PSS signature, 0x01 marker not found");
         }
-        var d = pki2.rsa.decrypt(signature, key, true, false);
-        return scheme.verify(digest, d, key.n.bitLength());
+        var salt = db.substr(-sLen);
+        var m_ = new forge.util.ByteBuffer();
+        m_.fillWithByte(0, 8);
+        m_.putBytes(mHash);
+        m_.putBytes(salt);
+        hash.start();
+        hash.update(m_.getBytes());
+        var h_ = hash.digest().getBytes();
+        return h === h_;
       };
-      return key;
+      return pssobj;
     };
-    pki2.setRsaPrivateKey = pki2.rsa.setPrivateKey = function(n, e, d, p, q, dP, dQ, qInv) {
-      var key = {
-        n,
-        e,
-        d,
-        p,
-        q,
-        dP,
-        dQ,
-        qInv
-      };
-      key.decrypt = function(data, scheme, schemeOptions) {
-        if (typeof scheme === "string") {
-          scheme = scheme.toUpperCase();
-        } else if (scheme === void 0) {
-          scheme = "RSAES-PKCS1-V1_5";
-        }
-        var d2 = pki2.rsa.decrypt(data, key, false, false);
-        if (scheme === "RSAES-PKCS1-V1_5") {
-          scheme = { decode: _decodePkcs1_v1_5 };
-        } else if (scheme === "RSA-OAEP" || scheme === "RSAES-OAEP") {
-          scheme = {
-            decode: function(d3, key2) {
-              return forge.pkcs1.decode_rsa_oaep(key2, d3, schemeOptions);
-            }
-          };
-        } else if (["RAW", "NONE", "NULL", null].indexOf(scheme) !== -1) {
-          scheme = { decode: function(d3) {
-            return d3;
-          } };
-        } else {
-          throw new Error('Unsupported encryption scheme: "' + scheme + '".');
-        }
-        return scheme.decode(d2, key, false);
-      };
-      key.sign = function(md, scheme) {
-        var bt = false;
-        if (typeof scheme === "string") {
-          scheme = scheme.toUpperCase();
-        }
-        if (scheme === void 0 || scheme === "RSASSA-PKCS1-V1_5") {
-          scheme = { encode: emsaPkcs1v15encode };
-          bt = 1;
-        } else if (scheme === "NONE" || scheme === "NULL" || scheme === null) {
-          scheme = { encode: function() {
-            return md;
-          } };
-          bt = 1;
-        }
-        var d2 = scheme.encode(md, key.n.bitLength());
-        return pki2.rsa.encrypt(d2, key, bt);
-      };
-      return key;
-    };
-    pki2.wrapRsaPrivateKey = function(rsaKey) {
-      return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-        // version (0)
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.INTEGER,
-          false,
-          asn1.integerToDer(0).getBytes()
-        ),
-        // privateKeyAlgorithm
-        asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-          asn1.create(
-            asn1.Class.UNIVERSAL,
-            asn1.Type.OID,
-            false,
-            asn1.oidToDer(pki2.oids.rsaEncryption).getBytes()
-          ),
-          asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")
-        ]),
-        // PrivateKey
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.OCTETSTRING,
-          false,
-          asn1.toDer(rsaKey).getBytes()
-        )
-      ]);
-    };
-    pki2.privateKeyFromAsn1 = function(obj) {
-      var capture = {};
-      var errors = [];
-      if (asn1.validate(obj, privateKeyValidator, capture, errors)) {
-        obj = asn1.fromDer(forge.util.createBuffer(capture.privateKey));
-      }
-      capture = {};
-      errors = [];
-      if (!asn1.validate(obj, rsaPrivateKeyValidator, capture, errors)) {
-        var error3 = new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");
-        error3.errors = errors;
-        throw error3;
-      }
-      var n, e, d, p, q, dP, dQ, qInv;
-      n = forge.util.createBuffer(capture.privateKeyModulus).toHex();
-      e = forge.util.createBuffer(capture.privateKeyPublicExponent).toHex();
-      d = forge.util.createBuffer(capture.privateKeyPrivateExponent).toHex();
-      p = forge.util.createBuffer(capture.privateKeyPrime1).toHex();
-      q = forge.util.createBuffer(capture.privateKeyPrime2).toHex();
-      dP = forge.util.createBuffer(capture.privateKeyExponent1).toHex();
-      dQ = forge.util.createBuffer(capture.privateKeyExponent2).toHex();
-      qInv = forge.util.createBuffer(capture.privateKeyCoefficient).toHex();
-      return pki2.setRsaPrivateKey(
-        new BigInteger(n, 16),
-        new BigInteger(e, 16),
-        new BigInteger(d, 16),
-        new BigInteger(p, 16),
-        new BigInteger(q, 16),
-        new BigInteger(dP, 16),
-        new BigInteger(dQ, 16),
-        new BigInteger(qInv, 16)
-      );
-    };
-    pki2.privateKeyToAsn1 = pki2.privateKeyToRSAPrivateKey = function(key) {
-      return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-        // version (0 = only 2 primes, 1 multiple primes)
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.INTEGER,
-          false,
-          asn1.integerToDer(0).getBytes()
-        ),
-        // modulus (n)
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.INTEGER,
-          false,
-          _bnToBytes(key.n)
-        ),
-        // publicExponent (e)
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.INTEGER,
-          false,
-          _bnToBytes(key.e)
-        ),
-        // privateExponent (d)
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.INTEGER,
-          false,
-          _bnToBytes(key.d)
-        ),
-        // privateKeyPrime1 (p)
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.INTEGER,
-          false,
-          _bnToBytes(key.p)
-        ),
-        // privateKeyPrime2 (q)
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.INTEGER,
-          false,
-          _bnToBytes(key.q)
-        ),
-        // privateKeyExponent1 (dP)
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.INTEGER,
-          false,
-          _bnToBytes(key.dP)
-        ),
-        // privateKeyExponent2 (dQ)
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.INTEGER,
-          false,
-          _bnToBytes(key.dQ)
-        ),
-        // coefficient (qInv)
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.INTEGER,
-          false,
-          _bnToBytes(key.qInv)
-        )
-      ]);
-    };
-    pki2.publicKeyFromAsn1 = function(obj) {
-      var capture = {};
-      var errors = [];
-      if (asn1.validate(obj, publicKeyValidator, capture, errors)) {
-        var oid = asn1.derToOid(capture.publicKeyOid);
-        if (oid !== pki2.oids.rsaEncryption) {
-          var error3 = new Error("Cannot read public key. Unknown OID.");
-          error3.oid = oid;
-          throw error3;
-        }
-        obj = capture.rsaPublicKey;
-      }
-      errors = [];
-      if (!asn1.validate(obj, rsaPublicKeyValidator, capture, errors)) {
-        var error3 = new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");
-        error3.errors = errors;
-        throw error3;
-      }
-      var n = forge.util.createBuffer(capture.publicKeyModulus).toHex();
-      var e = forge.util.createBuffer(capture.publicKeyExponent).toHex();
-      return pki2.setRsaPublicKey(
-        new BigInteger(n, 16),
-        new BigInteger(e, 16)
-      );
-    };
-    pki2.publicKeyToAsn1 = pki2.publicKeyToSubjectPublicKeyInfo = function(key) {
-      return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-        // AlgorithmIdentifier
-        asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-          // algorithm
-          asn1.create(
-            asn1.Class.UNIVERSAL,
-            asn1.Type.OID,
-            false,
-            asn1.oidToDer(pki2.oids.rsaEncryption).getBytes()
-          ),
-          // parameters (null)
-          asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")
-        ]),
-        // subjectPublicKey
-        asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, [
-          pki2.publicKeyToRSAPublicKey(key)
-        ])
-      ]);
-    };
-    pki2.publicKeyToRSAPublicKey = function(key) {
-      return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-        // modulus (n)
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.INTEGER,
-          false,
-          _bnToBytes(key.n)
-        ),
-        // publicExponent (e)
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.INTEGER,
-          false,
-          _bnToBytes(key.e)
-        )
-      ]);
-    };
-    function _encodePkcs1_v1_5(m, key, bt) {
-      var eb = forge.util.createBuffer();
-      var k = Math.ceil(key.n.bitLength() / 8);
-      if (m.length > k - 11) {
-        var error3 = new Error("Message is too long for PKCS#1 v1.5 padding.");
-        error3.length = m.length;
-        error3.max = k - 11;
-        throw error3;
-      }
-      eb.putByte(0);
-      eb.putByte(bt);
-      var padNum = k - 3 - m.length;
-      var padByte;
-      if (bt === 0 || bt === 1) {
-        padByte = bt === 0 ? 0 : 255;
-        for (var i = 0; i < padNum; ++i) {
-          eb.putByte(padByte);
-        }
-      } else {
-        while (padNum > 0) {
-          var numZeros = 0;
-          var padBytes = forge.random.getBytes(padNum);
-          for (var i = 0; i < padNum; ++i) {
-            padByte = padBytes.charCodeAt(i);
-            if (padByte === 0) {
-              ++numZeros;
-            } else {
-              eb.putByte(padByte);
-            }
-          }
-          padNum = numZeros;
-        }
-      }
-      eb.putByte(0);
-      eb.putBytes(m);
-      return eb;
-    }
-    function _decodePkcs1_v1_5(em, key, pub, ml) {
-      var k = Math.ceil(key.n.bitLength() / 8);
-      var eb = forge.util.createBuffer(em);
-      var first = eb.getByte();
-      var bt = eb.getByte();
-      if (first !== 0 || pub && bt !== 0 && bt !== 1 || !pub && bt != 2 || pub && bt === 0 && typeof ml === "undefined") {
-        throw new Error("Encryption block is invalid.");
-      }
-      var padNum = 0;
-      if (bt === 0) {
-        padNum = k - 3 - ml;
-        for (var i = 0; i < padNum; ++i) {
-          if (eb.getByte() !== 0) {
-            throw new Error("Encryption block is invalid.");
-          }
-        }
-      } else if (bt === 1) {
-        padNum = 0;
-        while (eb.length() > 1) {
-          if (eb.getByte() !== 255) {
-            --eb.read;
-            break;
-          }
-          ++padNum;
-        }
-      } else if (bt === 2) {
-        padNum = 0;
-        while (eb.length() > 1) {
-          if (eb.getByte() === 0) {
-            --eb.read;
-            break;
-          }
-          ++padNum;
-        }
-      }
-      var zero = eb.getByte();
-      if (zero !== 0 || padNum !== k - 3 - eb.length()) {
-        throw new Error("Encryption block is invalid.");
-      }
-      return eb.getBytes();
-    }
-    function _generateKeyPair(state, options, callback) {
-      if (typeof options === "function") {
-        callback = options;
-        options = {};
-      }
-      options = options || {};
-      var opts = {
-        algorithm: {
-          name: options.algorithm || "PRIMEINC",
-          options: {
-            workers: options.workers || 2,
-            workLoad: options.workLoad || 100,
-            workerScript: options.workerScript
-          }
-        }
-      };
-      if ("prng" in options) {
-        opts.prng = options.prng;
-      }
-      generate();
-      function generate() {
-        getPrime(state.pBits, function(err, num) {
-          if (err) {
-            return callback(err);
-          }
-          state.p = num;
-          if (state.q !== null) {
-            return finish(err, state.q);
-          }
-          getPrime(state.qBits, finish);
-        });
-      }
-      function getPrime(bits, callback2) {
-        forge.prime.generateProbablePrime(bits, opts, callback2);
-      }
-      function finish(err, num) {
-        if (err) {
-          return callback(err);
-        }
-        state.q = num;
-        if (state.p.compareTo(state.q) < 0) {
-          var tmp = state.p;
-          state.p = state.q;
-          state.q = tmp;
-        }
-        if (state.p.subtract(BigInteger.ONE).gcd(state.e).compareTo(BigInteger.ONE) !== 0) {
-          state.p = null;
-          generate();
-          return;
-        }
-        if (state.q.subtract(BigInteger.ONE).gcd(state.e).compareTo(BigInteger.ONE) !== 0) {
-          state.q = null;
-          getPrime(state.qBits, finish);
-          return;
-        }
-        state.p1 = state.p.subtract(BigInteger.ONE);
-        state.q1 = state.q.subtract(BigInteger.ONE);
-        state.phi = state.p1.multiply(state.q1);
-        if (state.phi.gcd(state.e).compareTo(BigInteger.ONE) !== 0) {
-          state.p = state.q = null;
-          generate();
-          return;
-        }
-        state.n = state.p.multiply(state.q);
-        if (state.n.bitLength() !== state.bits) {
-          state.q = null;
-          getPrime(state.qBits, finish);
-          return;
-        }
-        var d = state.e.modInverse(state.phi);
-        state.keys = {
-          privateKey: pki2.rsa.setPrivateKey(
-            state.n,
-            state.e,
-            d,
-            state.p,
-            state.q,
-            d.mod(state.p1),
-            d.mod(state.q1),
-            state.q.modInverse(state.p)
-          ),
-          publicKey: pki2.rsa.setPublicKey(state.n, state.e)
-        };
-        callback(null, state.keys);
-      }
-    }
-    function _bnToBytes(b) {
-      var hex = b.toString(16);
-      if (hex[0] >= "8") {
-        hex = "00" + hex;
-      }
-      var bytes = forge.util.hexToBytes(hex);
-      if (bytes.length > 1 && // leading 0x00 for positive integer
-      (bytes.charCodeAt(0) === 0 && (bytes.charCodeAt(1) & 128) === 0 || // leading 0xFF for negative integer
-      bytes.charCodeAt(0) === 255 && (bytes.charCodeAt(1) & 128) === 128)) {
-        return bytes.substr(1);
-      }
-      return bytes;
-    }
-    function _getMillerRabinTests(bits) {
-      if (bits <= 100) return 27;
-      if (bits <= 150) return 18;
-      if (bits <= 200) return 15;
-      if (bits <= 250) return 12;
-      if (bits <= 300) return 9;
-      if (bits <= 350) return 8;
-      if (bits <= 400) return 7;
-      if (bits <= 500) return 6;
-      if (bits <= 600) return 5;
-      if (bits <= 800) return 4;
-      if (bits <= 1250) return 3;
-      return 2;
-    }
-    function _detectNodeCrypto(fn) {
-      return forge.util.isNodejs && typeof _crypto[fn] === "function";
-    }
-    function _detectSubtleCrypto(fn) {
-      return typeof util.globalScope !== "undefined" && typeof util.globalScope.crypto === "object" && typeof util.globalScope.crypto.subtle === "object" && typeof util.globalScope.crypto.subtle[fn] === "function";
-    }
-    function _detectSubtleMsCrypto(fn) {
-      return typeof util.globalScope !== "undefined" && typeof util.globalScope.msCrypto === "object" && typeof util.globalScope.msCrypto.subtle === "object" && typeof util.globalScope.msCrypto.subtle[fn] === "function";
-    }
-    function _intToUint8Array(x) {
-      var bytes = forge.util.hexToBytes(x.toString(16));
-      var buffer = new Uint8Array(bytes.length);
-      for (var i = 0; i < bytes.length; ++i) {
-        buffer[i] = bytes.charCodeAt(i);
-      }
-      return buffer;
-    }
   }
 });
 
-// node_modules/node-forge/lib/pbe.js
-var require_pbe = __commonJS({
-  "node_modules/node-forge/lib/pbe.js"(exports2, module2) {
+// node_modules/node-forge/lib/x509.js
+var require_x509 = __commonJS({
+  "node_modules/node-forge/lib/x509.js"(exports2, module2) {
     var forge = require_forge();
     require_aes();
     require_asn1();
     require_des();
     require_md();
+    require_mgf();
     require_oids();
-    require_pbkdf2();
     require_pem();
-    require_random();
-    require_rc2();
+    require_pss();
     require_rsa();
     require_util9();
-    if (typeof BigInteger === "undefined") {
-      BigInteger = forge.jsbn.BigInteger;
-    }
-    var BigInteger;
     var asn1 = forge.asn1;
-    var pki2 = forge.pki = forge.pki || {};
-    module2.exports = pki2.pbe = forge.pbe = forge.pbe || {};
+    var pki2 = module2.exports = forge.pki = forge.pki || {};
     var oids = pki2.oids;
-    var encryptedPrivateKeyValidator = {
-      name: "EncryptedPrivateKeyInfo",
-      tagClass: asn1.Class.UNIVERSAL,
-      type: asn1.Type.SEQUENCE,
-      constructed: true,
-      value: [{
-        name: "EncryptedPrivateKeyInfo.encryptionAlgorithm",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.SEQUENCE,
-        constructed: true,
-        value: [{
-          name: "AlgorithmIdentifier.algorithm",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.OID,
-          constructed: false,
-          capture: "encryptionOid"
-        }, {
-          name: "AlgorithmIdentifier.parameters",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.SEQUENCE,
-          constructed: true,
-          captureAsn1: "encryptionParams"
-        }]
-      }, {
-        // encryptedData
-        name: "EncryptedPrivateKeyInfo.encryptedData",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.OCTETSTRING,
-        constructed: false,
-        capture: "encryptedData"
-      }]
-    };
-    var PBES2AlgorithmsValidator = {
-      name: "PBES2Algorithms",
+    var _shortNames = {};
+    _shortNames["CN"] = oids["commonName"];
+    _shortNames["commonName"] = "CN";
+    _shortNames["C"] = oids["countryName"];
+    _shortNames["countryName"] = "C";
+    _shortNames["L"] = oids["localityName"];
+    _shortNames["localityName"] = "L";
+    _shortNames["ST"] = oids["stateOrProvinceName"];
+    _shortNames["stateOrProvinceName"] = "ST";
+    _shortNames["O"] = oids["organizationName"];
+    _shortNames["organizationName"] = "O";
+    _shortNames["OU"] = oids["organizationalUnitName"];
+    _shortNames["organizationalUnitName"] = "OU";
+    _shortNames["E"] = oids["emailAddress"];
+    _shortNames["emailAddress"] = "E";
+    var publicKeyValidator = forge.pki.rsa.publicKeyValidator;
+    var x509CertificateValidator = {
+      name: "Certificate",
       tagClass: asn1.Class.UNIVERSAL,
       type: asn1.Type.SEQUENCE,
       constructed: true,
       value: [{
-        name: "PBES2Algorithms.keyDerivationFunc",
+        name: "Certificate.TBSCertificate",
         tagClass: asn1.Class.UNIVERSAL,
         type: asn1.Type.SEQUENCE,
         constructed: true,
-        value: [{
-          name: "PBES2Algorithms.keyDerivationFunc.oid",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.OID,
-          constructed: false,
-          capture: "kdfOid"
-        }, {
-          name: "PBES2Algorithms.params",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.SEQUENCE,
-          constructed: true,
-          value: [{
-            name: "PBES2Algorithms.params.salt",
-            tagClass: asn1.Class.UNIVERSAL,
-            type: asn1.Type.OCTETSTRING,
-            constructed: false,
-            capture: "kdfSalt"
-          }, {
-            name: "PBES2Algorithms.params.iterationCount",
+        captureAsn1: "tbsCertificate",
+        value: [
+          {
+            name: "Certificate.TBSCertificate.version",
+            tagClass: asn1.Class.CONTEXT_SPECIFIC,
+            type: 0,
+            constructed: true,
+            optional: true,
+            value: [{
+              name: "Certificate.TBSCertificate.version.integer",
+              tagClass: asn1.Class.UNIVERSAL,
+              type: asn1.Type.INTEGER,
+              constructed: false,
+              capture: "certVersion"
+            }]
+          },
+          {
+            name: "Certificate.TBSCertificate.serialNumber",
             tagClass: asn1.Class.UNIVERSAL,
             type: asn1.Type.INTEGER,
             constructed: false,
-            capture: "kdfIterationCount"
-          }, {
-            name: "PBES2Algorithms.params.keyLength",
+            capture: "certSerialNumber"
+          },
+          {
+            name: "Certificate.TBSCertificate.signature",
             tagClass: asn1.Class.UNIVERSAL,
-            type: asn1.Type.INTEGER,
-            constructed: false,
-            optional: true,
-            capture: "keyLength"
-          }, {
-            // prf
-            name: "PBES2Algorithms.params.prf",
+            type: asn1.Type.SEQUENCE,
+            constructed: true,
+            value: [{
+              name: "Certificate.TBSCertificate.signature.algorithm",
+              tagClass: asn1.Class.UNIVERSAL,
+              type: asn1.Type.OID,
+              constructed: false,
+              capture: "certinfoSignatureOid"
+            }, {
+              name: "Certificate.TBSCertificate.signature.parameters",
+              tagClass: asn1.Class.UNIVERSAL,
+              optional: true,
+              captureAsn1: "certinfoSignatureParams"
+            }]
+          },
+          {
+            name: "Certificate.TBSCertificate.issuer",
+            tagClass: asn1.Class.UNIVERSAL,
+            type: asn1.Type.SEQUENCE,
+            constructed: true,
+            captureAsn1: "certIssuer"
+          },
+          {
+            name: "Certificate.TBSCertificate.validity",
+            tagClass: asn1.Class.UNIVERSAL,
+            type: asn1.Type.SEQUENCE,
+            constructed: true,
+            // Note: UTC and generalized times may both appear so the capture
+            // names are based on their detected order, the names used below
+            // are only for the common case, which validity time really means
+            // "notBefore" and which means "notAfter" will be determined by order
+            value: [{
+              // notBefore (Time) (UTC time case)
+              name: "Certificate.TBSCertificate.validity.notBefore (utc)",
+              tagClass: asn1.Class.UNIVERSAL,
+              type: asn1.Type.UTCTIME,
+              constructed: false,
+              optional: true,
+              capture: "certValidity1UTCTime"
+            }, {
+              // notBefore (Time) (generalized time case)
+              name: "Certificate.TBSCertificate.validity.notBefore (generalized)",
+              tagClass: asn1.Class.UNIVERSAL,
+              type: asn1.Type.GENERALIZEDTIME,
+              constructed: false,
+              optional: true,
+              capture: "certValidity2GeneralizedTime"
+            }, {
+              // notAfter (Time) (only UTC time is supported)
+              name: "Certificate.TBSCertificate.validity.notAfter (utc)",
+              tagClass: asn1.Class.UNIVERSAL,
+              type: asn1.Type.UTCTIME,
+              constructed: false,
+              optional: true,
+              capture: "certValidity3UTCTime"
+            }, {
+              // notAfter (Time) (only UTC time is supported)
+              name: "Certificate.TBSCertificate.validity.notAfter (generalized)",
+              tagClass: asn1.Class.UNIVERSAL,
+              type: asn1.Type.GENERALIZEDTIME,
+              constructed: false,
+              optional: true,
+              capture: "certValidity4GeneralizedTime"
+            }]
+          },
+          {
+            // Name (subject) (RDNSequence)
+            name: "Certificate.TBSCertificate.subject",
             tagClass: asn1.Class.UNIVERSAL,
             type: asn1.Type.SEQUENCE,
             constructed: true,
+            captureAsn1: "certSubject"
+          },
+          // SubjectPublicKeyInfo
+          publicKeyValidator,
+          {
+            // issuerUniqueID (optional)
+            name: "Certificate.TBSCertificate.issuerUniqueID",
+            tagClass: asn1.Class.CONTEXT_SPECIFIC,
+            type: 1,
+            constructed: true,
             optional: true,
             value: [{
-              name: "PBES2Algorithms.params.prf.algorithm",
+              name: "Certificate.TBSCertificate.issuerUniqueID.id",
               tagClass: asn1.Class.UNIVERSAL,
-              type: asn1.Type.OID,
+              type: asn1.Type.BITSTRING,
               constructed: false,
-              capture: "prfOid"
+              // TODO: support arbitrary bit length ids
+              captureBitStringValue: "certIssuerUniqueId"
             }]
-          }]
-        }]
+          },
+          {
+            // subjectUniqueID (optional)
+            name: "Certificate.TBSCertificate.subjectUniqueID",
+            tagClass: asn1.Class.CONTEXT_SPECIFIC,
+            type: 2,
+            constructed: true,
+            optional: true,
+            value: [{
+              name: "Certificate.TBSCertificate.subjectUniqueID.id",
+              tagClass: asn1.Class.UNIVERSAL,
+              type: asn1.Type.BITSTRING,
+              constructed: false,
+              // TODO: support arbitrary bit length ids
+              captureBitStringValue: "certSubjectUniqueId"
+            }]
+          },
+          {
+            // Extensions (optional)
+            name: "Certificate.TBSCertificate.extensions",
+            tagClass: asn1.Class.CONTEXT_SPECIFIC,
+            type: 3,
+            constructed: true,
+            captureAsn1: "certExtensions",
+            optional: true
+          }
+        ]
       }, {
-        name: "PBES2Algorithms.encryptionScheme",
+        // AlgorithmIdentifier (signature algorithm)
+        name: "Certificate.signatureAlgorithm",
         tagClass: asn1.Class.UNIVERSAL,
         type: asn1.Type.SEQUENCE,
         constructed: true,
         value: [{
-          name: "PBES2Algorithms.encryptionScheme.oid",
+          // algorithm
+          name: "Certificate.signatureAlgorithm.algorithm",
           tagClass: asn1.Class.UNIVERSAL,
           type: asn1.Type.OID,
           constructed: false,
-          capture: "encOid"
+          capture: "certSignatureOid"
         }, {
-          name: "PBES2Algorithms.encryptionScheme.iv",
+          name: "Certificate.TBSCertificate.signature.parameters",
           tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.OCTETSTRING,
-          constructed: false,
-          capture: "encIv"
+          optional: true,
+          captureAsn1: "certSignatureParams"
         }]
+      }, {
+        // SignatureValue
+        name: "Certificate.signatureValue",
+        tagClass: asn1.Class.UNIVERSAL,
+        type: asn1.Type.BITSTRING,
+        constructed: false,
+        captureBitStringValue: "certSignature"
       }]
     };
-    var pkcs12PbeParamsValidator = {
-      name: "pkcs-12PbeParams",
+    var rsassaPssParameterValidator = {
+      name: "rsapss",
       tagClass: asn1.Class.UNIVERSAL,
       type: asn1.Type.SEQUENCE,
       constructed: true,
       value: [{
-        name: "pkcs-12PbeParams.salt",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.OCTETSTRING,
-        constructed: false,
-        capture: "salt"
+        name: "rsapss.hashAlgorithm",
+        tagClass: asn1.Class.CONTEXT_SPECIFIC,
+        type: 0,
+        constructed: true,
+        value: [{
+          name: "rsapss.hashAlgorithm.AlgorithmIdentifier",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Class.SEQUENCE,
+          constructed: true,
+          optional: true,
+          value: [{
+            name: "rsapss.hashAlgorithm.AlgorithmIdentifier.algorithm",
+            tagClass: asn1.Class.UNIVERSAL,
+            type: asn1.Type.OID,
+            constructed: false,
+            capture: "hashOid"
+            /* parameter block omitted, for SHA1 NULL anyhow. */
+          }]
+        }]
       }, {
-        name: "pkcs-12PbeParams.iterations",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
-        constructed: false,
-        capture: "iterations"
+        name: "rsapss.maskGenAlgorithm",
+        tagClass: asn1.Class.CONTEXT_SPECIFIC,
+        type: 1,
+        constructed: true,
+        value: [{
+          name: "rsapss.maskGenAlgorithm.AlgorithmIdentifier",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Class.SEQUENCE,
+          constructed: true,
+          optional: true,
+          value: [{
+            name: "rsapss.maskGenAlgorithm.AlgorithmIdentifier.algorithm",
+            tagClass: asn1.Class.UNIVERSAL,
+            type: asn1.Type.OID,
+            constructed: false,
+            capture: "maskGenOid"
+          }, {
+            name: "rsapss.maskGenAlgorithm.AlgorithmIdentifier.params",
+            tagClass: asn1.Class.UNIVERSAL,
+            type: asn1.Type.SEQUENCE,
+            constructed: true,
+            value: [{
+              name: "rsapss.maskGenAlgorithm.AlgorithmIdentifier.params.algorithm",
+              tagClass: asn1.Class.UNIVERSAL,
+              type: asn1.Type.OID,
+              constructed: false,
+              capture: "maskGenHashOid"
+              /* parameter block omitted, for SHA1 NULL anyhow. */
+            }]
+          }]
+        }]
+      }, {
+        name: "rsapss.saltLength",
+        tagClass: asn1.Class.CONTEXT_SPECIFIC,
+        type: 2,
+        optional: true,
+        value: [{
+          name: "rsapss.saltLength.saltLength",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Class.INTEGER,
+          constructed: false,
+          capture: "saltLength"
+        }]
+      }, {
+        name: "rsapss.trailerField",
+        tagClass: asn1.Class.CONTEXT_SPECIFIC,
+        type: 3,
+        optional: true,
+        value: [{
+          name: "rsapss.trailer.trailer",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Class.INTEGER,
+          constructed: false,
+          capture: "trailer"
+        }]
       }]
     };
-    pki2.encryptPrivateKeyInfo = function(obj, password, options) {
-      options = options || {};
-      options.saltSize = options.saltSize || 8;
-      options.count = options.count || 2048;
-      options.algorithm = options.algorithm || "aes128";
-      options.prfAlgorithm = options.prfAlgorithm || "sha1";
-      var salt = forge.random.getBytesSync(options.saltSize);
-      var count = options.count;
-      var countBytes = asn1.integerToDer(count);
-      var dkLen;
-      var encryptionAlgorithm;
-      var encryptedData;
-      if (options.algorithm.indexOf("aes") === 0 || options.algorithm === "des") {
-        var ivLen, encOid, cipherFn;
-        switch (options.algorithm) {
-          case "aes128":
-            dkLen = 16;
-            ivLen = 16;
-            encOid = oids["aes128-CBC"];
-            cipherFn = forge.aes.createEncryptionCipher;
-            break;
-          case "aes192":
-            dkLen = 24;
-            ivLen = 16;
-            encOid = oids["aes192-CBC"];
-            cipherFn = forge.aes.createEncryptionCipher;
-            break;
-          case "aes256":
-            dkLen = 32;
-            ivLen = 16;
-            encOid = oids["aes256-CBC"];
-            cipherFn = forge.aes.createEncryptionCipher;
-            break;
-          case "des":
-            dkLen = 8;
-            ivLen = 8;
-            encOid = oids["desCBC"];
-            cipherFn = forge.des.createEncryptionCipher;
-            break;
-          default:
-            var error3 = new Error("Cannot encrypt private key. Unknown encryption algorithm.");
-            error3.algorithm = options.algorithm;
-            throw error3;
+    var certificationRequestInfoValidator = {
+      name: "CertificationRequestInfo",
+      tagClass: asn1.Class.UNIVERSAL,
+      type: asn1.Type.SEQUENCE,
+      constructed: true,
+      captureAsn1: "certificationRequestInfo",
+      value: [
+        {
+          name: "CertificationRequestInfo.integer",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.INTEGER,
+          constructed: false,
+          capture: "certificationRequestInfoVersion"
+        },
+        {
+          // Name (subject) (RDNSequence)
+          name: "CertificationRequestInfo.subject",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.SEQUENCE,
+          constructed: true,
+          captureAsn1: "certificationRequestInfoSubject"
+        },
+        // SubjectPublicKeyInfo
+        publicKeyValidator,
+        {
+          name: "CertificationRequestInfo.attributes",
+          tagClass: asn1.Class.CONTEXT_SPECIFIC,
+          type: 0,
+          constructed: true,
+          optional: true,
+          capture: "certificationRequestInfoAttributes",
+          value: [{
+            name: "CertificationRequestInfo.attributes",
+            tagClass: asn1.Class.UNIVERSAL,
+            type: asn1.Type.SEQUENCE,
+            constructed: true,
+            value: [{
+              name: "CertificationRequestInfo.attributes.type",
+              tagClass: asn1.Class.UNIVERSAL,
+              type: asn1.Type.OID,
+              constructed: false
+            }, {
+              name: "CertificationRequestInfo.attributes.value",
+              tagClass: asn1.Class.UNIVERSAL,
+              type: asn1.Type.SET,
+              constructed: true
+            }]
+          }]
+        }
+      ]
+    };
+    var certificationRequestValidator = {
+      name: "CertificationRequest",
+      tagClass: asn1.Class.UNIVERSAL,
+      type: asn1.Type.SEQUENCE,
+      constructed: true,
+      captureAsn1: "csr",
+      value: [
+        certificationRequestInfoValidator,
+        {
+          // AlgorithmIdentifier (signature algorithm)
+          name: "CertificationRequest.signatureAlgorithm",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.SEQUENCE,
+          constructed: true,
+          value: [{
+            // algorithm
+            name: "CertificationRequest.signatureAlgorithm.algorithm",
+            tagClass: asn1.Class.UNIVERSAL,
+            type: asn1.Type.OID,
+            constructed: false,
+            capture: "csrSignatureOid"
+          }, {
+            name: "CertificationRequest.signatureAlgorithm.parameters",
+            tagClass: asn1.Class.UNIVERSAL,
+            optional: true,
+            captureAsn1: "csrSignatureParams"
+          }]
+        },
+        {
+          // signature
+          name: "CertificationRequest.signature",
+          tagClass: asn1.Class.UNIVERSAL,
+          type: asn1.Type.BITSTRING,
+          constructed: false,
+          captureBitStringValue: "csrSignature"
+        }
+      ]
+    };
+    pki2.RDNAttributesAsArray = function(rdn, md) {
+      var rval = [];
+      var set2, attr, obj;
+      for (var si = 0; si < rdn.value.length; ++si) {
+        set2 = rdn.value[si];
+        for (var i = 0; i < set2.value.length; ++i) {
+          obj = {};
+          attr = set2.value[i];
+          obj.type = asn1.derToOid(attr.value[0].value);
+          obj.value = attr.value[1].value;
+          obj.valueTagClass = attr.value[1].type;
+          if (obj.type in oids) {
+            obj.name = oids[obj.type];
+            if (obj.name in _shortNames) {
+              obj.shortName = _shortNames[obj.name];
+            }
+          }
+          if (md) {
+            md.update(obj.type);
+            md.update(obj.value);
+          }
+          rval.push(obj);
         }
-        var prfAlgorithm = "hmacWith" + options.prfAlgorithm.toUpperCase();
-        var md = prfAlgorithmToMessageDigest(prfAlgorithm);
-        var dk = forge.pkcs5.pbkdf2(password, salt, count, dkLen, md);
-        var iv = forge.random.getBytesSync(ivLen);
-        var cipher = cipherFn(dk);
-        cipher.start(iv);
-        cipher.update(asn1.toDer(obj));
-        cipher.finish();
-        encryptedData = cipher.output.getBytes();
-        var params = createPbkdf2Params(salt, countBytes, dkLen, prfAlgorithm);
-        encryptionAlgorithm = asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.SEQUENCE,
-          true,
-          [
-            asn1.create(
-              asn1.Class.UNIVERSAL,
-              asn1.Type.OID,
-              false,
-              asn1.oidToDer(oids["pkcs5PBES2"]).getBytes()
-            ),
-            asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-              // keyDerivationFunc
-              asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-                asn1.create(
-                  asn1.Class.UNIVERSAL,
-                  asn1.Type.OID,
-                  false,
-                  asn1.oidToDer(oids["pkcs5PBKDF2"]).getBytes()
-                ),
-                // PBKDF2-params
-                params
-              ]),
-              // encryptionScheme
-              asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-                asn1.create(
-                  asn1.Class.UNIVERSAL,
-                  asn1.Type.OID,
-                  false,
-                  asn1.oidToDer(encOid).getBytes()
-                ),
-                // iv
-                asn1.create(
-                  asn1.Class.UNIVERSAL,
-                  asn1.Type.OCTETSTRING,
-                  false,
-                  iv
-                )
-              ])
-            ])
-          ]
-        );
-      } else if (options.algorithm === "3des") {
-        dkLen = 24;
-        var saltBytes = new forge.util.ByteBuffer(salt);
-        var dk = pki2.pbe.generatePkcs12Key(password, saltBytes, 1, count, dkLen);
-        var iv = pki2.pbe.generatePkcs12Key(password, saltBytes, 2, count, dkLen);
-        var cipher = forge.des.createEncryptionCipher(dk);
-        cipher.start(iv);
-        cipher.update(asn1.toDer(obj));
-        cipher.finish();
-        encryptedData = cipher.output.getBytes();
-        encryptionAlgorithm = asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.SEQUENCE,
-          true,
-          [
-            asn1.create(
-              asn1.Class.UNIVERSAL,
-              asn1.Type.OID,
-              false,
-              asn1.oidToDer(oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()
-            ),
-            // pkcs-12PbeParams
-            asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-              // salt
-              asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, salt),
-              // iteration count
-              asn1.create(
-                asn1.Class.UNIVERSAL,
-                asn1.Type.INTEGER,
-                false,
-                countBytes.getBytes()
-              )
-            ])
-          ]
-        );
-      } else {
-        var error3 = new Error("Cannot encrypt private key. Unknown encryption algorithm.");
-        error3.algorithm = options.algorithm;
-        throw error3;
       }
-      var rval = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-        // encryptionAlgorithm
-        encryptionAlgorithm,
-        // encryptedData
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.OCTETSTRING,
-          false,
-          encryptedData
-        )
-      ]);
       return rval;
     };
-    pki2.decryptPrivateKeyInfo = function(obj, password) {
-      var rval = null;
-      var capture = {};
-      var errors = [];
-      if (!asn1.validate(obj, encryptedPrivateKeyValidator, capture, errors)) {
-        var error3 = new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");
-        error3.errors = errors;
-        throw error3;
-      }
-      var oid = asn1.derToOid(capture.encryptionOid);
-      var cipher = pki2.pbe.getCipher(oid, capture.encryptionParams, password);
-      var encrypted = forge.util.createBuffer(capture.encryptedData);
-      cipher.update(encrypted);
-      if (cipher.finish()) {
-        rval = asn1.fromDer(cipher.output);
+    pki2.CRIAttributesAsArray = function(attributes) {
+      var rval = [];
+      for (var si = 0; si < attributes.length; ++si) {
+        var seq2 = attributes[si];
+        var type2 = asn1.derToOid(seq2.value[0].value);
+        var values = seq2.value[1].value;
+        for (var vi = 0; vi < values.length; ++vi) {
+          var obj = {};
+          obj.type = type2;
+          obj.value = values[vi].value;
+          obj.valueTagClass = values[vi].type;
+          if (obj.type in oids) {
+            obj.name = oids[obj.type];
+            if (obj.name in _shortNames) {
+              obj.shortName = _shortNames[obj.name];
+            }
+          }
+          if (obj.type === oids.extensionRequest) {
+            obj.extensions = [];
+            for (var ei = 0; ei < obj.value.length; ++ei) {
+              obj.extensions.push(pki2.certificateExtensionFromAsn1(obj.value[ei]));
+            }
+          }
+          rval.push(obj);
+        }
       }
       return rval;
     };
-    pki2.encryptedPrivateKeyToPem = function(epki, maxline) {
+    function _getAttribute(obj, options) {
+      if (typeof options === "string") {
+        options = { shortName: options };
+      }
+      var rval = null;
+      var attr;
+      for (var i = 0; rval === null && i < obj.attributes.length; ++i) {
+        attr = obj.attributes[i];
+        if (options.type && options.type === attr.type) {
+          rval = attr;
+        } else if (options.name && options.name === attr.name) {
+          rval = attr;
+        } else if (options.shortName && options.shortName === attr.shortName) {
+          rval = attr;
+        }
+      }
+      return rval;
+    }
+    var _readSignatureParameters = function(oid, obj, fillDefaults) {
+      var params = {};
+      if (oid !== oids["RSASSA-PSS"]) {
+        return params;
+      }
+      if (fillDefaults) {
+        params = {
+          hash: {
+            algorithmOid: oids["sha1"]
+          },
+          mgf: {
+            algorithmOid: oids["mgf1"],
+            hash: {
+              algorithmOid: oids["sha1"]
+            }
+          },
+          saltLength: 20
+        };
+      }
+      var capture = {};
+      var errors = [];
+      if (!asn1.validate(obj, rsassaPssParameterValidator, capture, errors)) {
+        var error3 = new Error("Cannot read RSASSA-PSS parameter block.");
+        error3.errors = errors;
+        throw error3;
+      }
+      if (capture.hashOid !== void 0) {
+        params.hash = params.hash || {};
+        params.hash.algorithmOid = asn1.derToOid(capture.hashOid);
+      }
+      if (capture.maskGenOid !== void 0) {
+        params.mgf = params.mgf || {};
+        params.mgf.algorithmOid = asn1.derToOid(capture.maskGenOid);
+        params.mgf.hash = params.mgf.hash || {};
+        params.mgf.hash.algorithmOid = asn1.derToOid(capture.maskGenHashOid);
+      }
+      if (capture.saltLength !== void 0) {
+        params.saltLength = capture.saltLength.charCodeAt(0);
+      }
+      return params;
+    };
+    var _createSignatureDigest = function(options) {
+      switch (oids[options.signatureOid]) {
+        case "sha1WithRSAEncryption":
+        // deprecated alias
+        case "sha1WithRSASignature":
+          return forge.md.sha1.create();
+        case "md5WithRSAEncryption":
+          return forge.md.md5.create();
+        case "sha256WithRSAEncryption":
+          return forge.md.sha256.create();
+        case "sha384WithRSAEncryption":
+          return forge.md.sha384.create();
+        case "sha512WithRSAEncryption":
+          return forge.md.sha512.create();
+        case "RSASSA-PSS":
+          return forge.md.sha256.create();
+        default:
+          var error3 = new Error(
+            "Could not compute " + options.type + " digest. Unknown signature OID."
+          );
+          error3.signatureOid = options.signatureOid;
+          throw error3;
+      }
+    };
+    var _verifySignature = function(options) {
+      var cert = options.certificate;
+      var scheme;
+      switch (cert.signatureOid) {
+        case oids.sha1WithRSAEncryption:
+        // deprecated alias
+        case oids.sha1WithRSASignature:
+          break;
+        case oids["RSASSA-PSS"]:
+          var hash, mgf;
+          hash = oids[cert.signatureParameters.mgf.hash.algorithmOid];
+          if (hash === void 0 || forge.md[hash] === void 0) {
+            var error3 = new Error("Unsupported MGF hash function.");
+            error3.oid = cert.signatureParameters.mgf.hash.algorithmOid;
+            error3.name = hash;
+            throw error3;
+          }
+          mgf = oids[cert.signatureParameters.mgf.algorithmOid];
+          if (mgf === void 0 || forge.mgf[mgf] === void 0) {
+            var error3 = new Error("Unsupported MGF function.");
+            error3.oid = cert.signatureParameters.mgf.algorithmOid;
+            error3.name = mgf;
+            throw error3;
+          }
+          mgf = forge.mgf[mgf].create(forge.md[hash].create());
+          hash = oids[cert.signatureParameters.hash.algorithmOid];
+          if (hash === void 0 || forge.md[hash] === void 0) {
+            var error3 = new Error("Unsupported RSASSA-PSS hash function.");
+            error3.oid = cert.signatureParameters.hash.algorithmOid;
+            error3.name = hash;
+            throw error3;
+          }
+          scheme = forge.pss.create(
+            forge.md[hash].create(),
+            mgf,
+            cert.signatureParameters.saltLength
+          );
+          break;
+      }
+      return cert.publicKey.verify(
+        options.md.digest().getBytes(),
+        options.signature,
+        scheme
+      );
+    };
+    pki2.certificateFromPem = function(pem, computeHash, strict) {
+      var msg = forge.pem.decode(pem)[0];
+      if (msg.type !== "CERTIFICATE" && msg.type !== "X509 CERTIFICATE" && msg.type !== "TRUSTED CERTIFICATE") {
+        var error3 = new Error(
+          'Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".'
+        );
+        error3.headerType = msg.type;
+        throw error3;
+      }
+      if (msg.procType && msg.procType.type === "ENCRYPTED") {
+        throw new Error(
+          "Could not convert certificate from PEM; PEM is encrypted."
+        );
+      }
+      var obj = asn1.fromDer(msg.body, strict);
+      return pki2.certificateFromAsn1(obj, computeHash);
+    };
+    pki2.certificateToPem = function(cert, maxline) {
       var msg = {
-        type: "ENCRYPTED PRIVATE KEY",
-        body: asn1.toDer(epki).getBytes()
+        type: "CERTIFICATE",
+        body: asn1.toDer(pki2.certificateToAsn1(cert)).getBytes()
       };
       return forge.pem.encode(msg, { maxline });
     };
-    pki2.encryptedPrivateKeyFromPem = function(pem) {
+    pki2.publicKeyFromPem = function(pem) {
       var msg = forge.pem.decode(pem)[0];
-      if (msg.type !== "ENCRYPTED PRIVATE KEY") {
-        var error3 = new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');
+      if (msg.type !== "PUBLIC KEY" && msg.type !== "RSA PUBLIC KEY") {
+        var error3 = new Error('Could not convert public key from PEM; PEM header type is not "PUBLIC KEY" or "RSA PUBLIC KEY".');
         error3.headerType = msg.type;
         throw error3;
       }
       if (msg.procType && msg.procType.type === "ENCRYPTED") {
-        throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");
+        throw new Error("Could not convert public key from PEM; PEM is encrypted.");
       }
-      return asn1.fromDer(msg.body);
+      var obj = asn1.fromDer(msg.body);
+      return pki2.publicKeyFromAsn1(obj);
     };
-    pki2.encryptRsaPrivateKey = function(rsaKey, password, options) {
+    pki2.publicKeyToPem = function(key, maxline) {
+      var msg = {
+        type: "PUBLIC KEY",
+        body: asn1.toDer(pki2.publicKeyToAsn1(key)).getBytes()
+      };
+      return forge.pem.encode(msg, { maxline });
+    };
+    pki2.publicKeyToRSAPublicKeyPem = function(key, maxline) {
+      var msg = {
+        type: "RSA PUBLIC KEY",
+        body: asn1.toDer(pki2.publicKeyToRSAPublicKey(key)).getBytes()
+      };
+      return forge.pem.encode(msg, { maxline });
+    };
+    pki2.getPublicKeyFingerprint = function(key, options) {
       options = options || {};
-      if (!options.legacy) {
-        var rval = pki2.wrapRsaPrivateKey(pki2.privateKeyToAsn1(rsaKey));
-        rval = pki2.encryptPrivateKeyInfo(rval, password, options);
-        return pki2.encryptedPrivateKeyToPem(rval);
-      }
-      var algorithm;
-      var iv;
-      var dkLen;
-      var cipherFn;
-      switch (options.algorithm) {
-        case "aes128":
-          algorithm = "AES-128-CBC";
-          dkLen = 16;
-          iv = forge.random.getBytesSync(16);
-          cipherFn = forge.aes.createEncryptionCipher;
-          break;
-        case "aes192":
-          algorithm = "AES-192-CBC";
-          dkLen = 24;
-          iv = forge.random.getBytesSync(16);
-          cipherFn = forge.aes.createEncryptionCipher;
-          break;
-        case "aes256":
-          algorithm = "AES-256-CBC";
-          dkLen = 32;
-          iv = forge.random.getBytesSync(16);
-          cipherFn = forge.aes.createEncryptionCipher;
-          break;
-        case "3des":
-          algorithm = "DES-EDE3-CBC";
-          dkLen = 24;
-          iv = forge.random.getBytesSync(8);
-          cipherFn = forge.des.createEncryptionCipher;
+      var md = options.md || forge.md.sha1.create();
+      var type2 = options.type || "RSAPublicKey";
+      var bytes;
+      switch (type2) {
+        case "RSAPublicKey":
+          bytes = asn1.toDer(pki2.publicKeyToRSAPublicKey(key)).getBytes();
           break;
-        case "des":
-          algorithm = "DES-CBC";
-          dkLen = 8;
-          iv = forge.random.getBytesSync(8);
-          cipherFn = forge.des.createEncryptionCipher;
+        case "SubjectPublicKeyInfo":
+          bytes = asn1.toDer(pki2.publicKeyToAsn1(key)).getBytes();
           break;
         default:
-          var error3 = new Error('Could not encrypt RSA private key; unsupported encryption algorithm "' + options.algorithm + '".');
-          error3.algorithm = options.algorithm;
-          throw error3;
+          throw new Error('Unknown fingerprint type "' + options.type + '".');
       }
-      var dk = forge.pbe.opensslDeriveBytes(password, iv.substr(0, 8), dkLen);
-      var cipher = cipherFn(dk);
-      cipher.start(iv);
-      cipher.update(asn1.toDer(pki2.privateKeyToAsn1(rsaKey)));
-      cipher.finish();
-      var msg = {
-        type: "RSA PRIVATE KEY",
-        procType: {
-          version: "4",
-          type: "ENCRYPTED"
-        },
-        dekInfo: {
-          algorithm,
-          parameters: forge.util.bytesToHex(iv).toUpperCase()
-        },
-        body: cipher.output.getBytes()
-      };
-      return forge.pem.encode(msg);
+      md.start();
+      md.update(bytes);
+      var digest = md.digest();
+      if (options.encoding === "hex") {
+        var hex = digest.toHex();
+        if (options.delimiter) {
+          return hex.match(/.{2}/g).join(options.delimiter);
+        }
+        return hex;
+      } else if (options.encoding === "binary") {
+        return digest.getBytes();
+      } else if (options.encoding) {
+        throw new Error('Unknown encoding "' + options.encoding + '".');
+      }
+      return digest;
     };
-    pki2.decryptRsaPrivateKey = function(pem, password) {
-      var rval = null;
+    pki2.certificationRequestFromPem = function(pem, computeHash, strict) {
       var msg = forge.pem.decode(pem)[0];
-      if (msg.type !== "ENCRYPTED PRIVATE KEY" && msg.type !== "PRIVATE KEY" && msg.type !== "RSA PRIVATE KEY") {
-        var error3 = new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');
-        error3.headerType = error3;
+      if (msg.type !== "CERTIFICATE REQUEST") {
+        var error3 = new Error('Could not convert certification request from PEM; PEM header type is not "CERTIFICATE REQUEST".');
+        error3.headerType = msg.type;
         throw error3;
       }
       if (msg.procType && msg.procType.type === "ENCRYPTED") {
-        var dkLen;
-        var cipherFn;
-        switch (msg.dekInfo.algorithm) {
-          case "DES-CBC":
-            dkLen = 8;
-            cipherFn = forge.des.createDecryptionCipher;
-            break;
-          case "DES-EDE3-CBC":
-            dkLen = 24;
-            cipherFn = forge.des.createDecryptionCipher;
-            break;
-          case "AES-128-CBC":
-            dkLen = 16;
-            cipherFn = forge.aes.createDecryptionCipher;
-            break;
-          case "AES-192-CBC":
-            dkLen = 24;
-            cipherFn = forge.aes.createDecryptionCipher;
-            break;
-          case "AES-256-CBC":
-            dkLen = 32;
-            cipherFn = forge.aes.createDecryptionCipher;
-            break;
-          case "RC2-40-CBC":
-            dkLen = 5;
-            cipherFn = function(key) {
-              return forge.rc2.createDecryptionCipher(key, 40);
-            };
-            break;
-          case "RC2-64-CBC":
-            dkLen = 8;
-            cipherFn = function(key) {
-              return forge.rc2.createDecryptionCipher(key, 64);
-            };
-            break;
-          case "RC2-128-CBC":
-            dkLen = 16;
-            cipherFn = function(key) {
-              return forge.rc2.createDecryptionCipher(key, 128);
-            };
-            break;
-          default:
-            var error3 = new Error('Could not decrypt private key; unsupported encryption algorithm "' + msg.dekInfo.algorithm + '".');
-            error3.algorithm = msg.dekInfo.algorithm;
-            throw error3;
-        }
-        var iv = forge.util.hexToBytes(msg.dekInfo.parameters);
-        var dk = forge.pbe.opensslDeriveBytes(password, iv.substr(0, 8), dkLen);
-        var cipher = cipherFn(dk);
-        cipher.start(iv);
-        cipher.update(forge.util.createBuffer(msg.body));
-        if (cipher.finish()) {
-          rval = cipher.output.getBytes();
-        } else {
-          return rval;
-        }
-      } else {
-        rval = msg.body;
-      }
-      if (msg.type === "ENCRYPTED PRIVATE KEY") {
-        rval = pki2.decryptPrivateKeyInfo(asn1.fromDer(rval), password);
-      } else {
-        rval = asn1.fromDer(rval);
-      }
-      if (rval !== null) {
-        rval = pki2.privateKeyFromAsn1(rval);
+        throw new Error("Could not convert certification request from PEM; PEM is encrypted.");
       }
-      return rval;
+      var obj = asn1.fromDer(msg.body, strict);
+      return pki2.certificationRequestFromAsn1(obj, computeHash);
     };
-    pki2.pbe.generatePkcs12Key = function(password, salt, id, iter, n, md) {
-      var j, l;
-      if (typeof md === "undefined" || md === null) {
-        if (!("sha1" in forge.md)) {
-          throw new Error('"sha1" hash algorithm unavailable.');
+    pki2.certificationRequestToPem = function(csr, maxline) {
+      var msg = {
+        type: "CERTIFICATE REQUEST",
+        body: asn1.toDer(pki2.certificationRequestToAsn1(csr)).getBytes()
+      };
+      return forge.pem.encode(msg, { maxline });
+    };
+    pki2.createCertificate = function() {
+      var cert = {};
+      cert.version = 2;
+      cert.serialNumber = "00";
+      cert.signatureOid = null;
+      cert.signature = null;
+      cert.siginfo = {};
+      cert.siginfo.algorithmOid = null;
+      cert.validity = {};
+      cert.validity.notBefore = /* @__PURE__ */ new Date();
+      cert.validity.notAfter = /* @__PURE__ */ new Date();
+      cert.issuer = {};
+      cert.issuer.getField = function(sn) {
+        return _getAttribute(cert.issuer, sn);
+      };
+      cert.issuer.addField = function(attr) {
+        _fillMissingFields([attr]);
+        cert.issuer.attributes.push(attr);
+      };
+      cert.issuer.attributes = [];
+      cert.issuer.hash = null;
+      cert.subject = {};
+      cert.subject.getField = function(sn) {
+        return _getAttribute(cert.subject, sn);
+      };
+      cert.subject.addField = function(attr) {
+        _fillMissingFields([attr]);
+        cert.subject.attributes.push(attr);
+      };
+      cert.subject.attributes = [];
+      cert.subject.hash = null;
+      cert.extensions = [];
+      cert.publicKey = null;
+      cert.md = null;
+      cert.setSubject = function(attrs, uniqueId) {
+        _fillMissingFields(attrs);
+        cert.subject.attributes = attrs;
+        delete cert.subject.uniqueId;
+        if (uniqueId) {
+          cert.subject.uniqueId = uniqueId;
         }
-        md = forge.md.sha1.create();
-      }
-      var u = md.digestLength;
-      var v = md.blockLength;
-      var result = new forge.util.ByteBuffer();
-      var passBuf = new forge.util.ByteBuffer();
-      if (password !== null && password !== void 0) {
-        for (l = 0; l < password.length; l++) {
-          passBuf.putInt16(password.charCodeAt(l));
+        cert.subject.hash = null;
+      };
+      cert.setIssuer = function(attrs, uniqueId) {
+        _fillMissingFields(attrs);
+        cert.issuer.attributes = attrs;
+        delete cert.issuer.uniqueId;
+        if (uniqueId) {
+          cert.issuer.uniqueId = uniqueId;
         }
-        passBuf.putInt16(0);
-      }
-      var p = passBuf.length();
-      var s = salt.length();
-      var D = new forge.util.ByteBuffer();
-      D.fillWithByte(id, v);
-      var Slen = v * Math.ceil(s / v);
-      var S = new forge.util.ByteBuffer();
-      for (l = 0; l < Slen; l++) {
-        S.putByte(salt.at(l % s));
-      }
-      var Plen = v * Math.ceil(p / v);
-      var P = new forge.util.ByteBuffer();
-      for (l = 0; l < Plen; l++) {
-        P.putByte(passBuf.at(l % p));
-      }
-      var I = S;
-      I.putBuffer(P);
-      var c = Math.ceil(n / u);
-      for (var i = 1; i <= c; i++) {
-        var buf = new forge.util.ByteBuffer();
-        buf.putBytes(D.bytes());
-        buf.putBytes(I.bytes());
-        for (var round = 0; round < iter; round++) {
-          md.start();
-          md.update(buf.getBytes());
-          buf = md.digest();
+        cert.issuer.hash = null;
+      };
+      cert.setExtensions = function(exts) {
+        for (var i = 0; i < exts.length; ++i) {
+          _fillMissingExtensionFields(exts[i], { cert });
         }
-        var B = new forge.util.ByteBuffer();
-        for (l = 0; l < v; l++) {
-          B.putByte(buf.at(l % u));
+        cert.extensions = exts;
+      };
+      cert.getExtension = function(options) {
+        if (typeof options === "string") {
+          options = { name: options };
         }
-        var k = Math.ceil(s / v) + Math.ceil(p / v);
-        var Inew = new forge.util.ByteBuffer();
-        for (j = 0; j < k; j++) {
-          var chunk = new forge.util.ByteBuffer(I.getBytes(v));
-          var x = 511;
-          for (l = B.length() - 1; l >= 0; l--) {
-            x = x >> 8;
-            x += B.at(l) + chunk.at(l);
-            chunk.setAt(l, x & 255);
+        var rval = null;
+        var ext;
+        for (var i = 0; rval === null && i < cert.extensions.length; ++i) {
+          ext = cert.extensions[i];
+          if (options.id && ext.id === options.id) {
+            rval = ext;
+          } else if (options.name && ext.name === options.name) {
+            rval = ext;
           }
-          Inew.putBuffer(chunk);
         }
-        I = Inew;
-        result.putBuffer(buf);
-      }
-      result.truncate(result.length() - n);
-      return result;
-    };
-    pki2.pbe.getCipher = function(oid, params, password) {
-      switch (oid) {
-        case pki2.oids["pkcs5PBES2"]:
-          return pki2.pbe.getCipherForPBES2(oid, params, password);
-        case pki2.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:
-        case pki2.oids["pbewithSHAAnd40BitRC2-CBC"]:
-          return pki2.pbe.getCipherForPKCS12PBE(oid, params, password);
-        default:
-          var error3 = new Error("Cannot read encrypted PBE data block. Unsupported OID.");
-          error3.oid = oid;
-          error3.supportedOids = [
-            "pkcs5PBES2",
-            "pbeWithSHAAnd3-KeyTripleDES-CBC",
-            "pbewithSHAAnd40BitRC2-CBC"
-          ];
+        return rval;
+      };
+      cert.sign = function(key, md) {
+        cert.md = md || forge.md.sha1.create();
+        var algorithmOid = oids[cert.md.algorithm + "WithRSAEncryption"];
+        if (!algorithmOid) {
+          var error3 = new Error("Could not compute certificate digest. Unknown message digest algorithm OID.");
+          error3.algorithm = cert.md.algorithm;
           throw error3;
-      }
+        }
+        cert.signatureOid = cert.siginfo.algorithmOid = algorithmOid;
+        cert.tbsCertificate = pki2.getTBSCertificate(cert);
+        var bytes = asn1.toDer(cert.tbsCertificate);
+        cert.md.update(bytes.getBytes());
+        cert.signature = key.sign(cert.md);
+      };
+      cert.verify = function(child) {
+        var rval = false;
+        if (!cert.issued(child)) {
+          var issuer = child.issuer;
+          var subject = cert.subject;
+          var error3 = new Error(
+            "The parent certificate did not issue the given child certificate; the child certificate's issuer does not match the parent's subject."
+          );
+          error3.expectedIssuer = subject.attributes;
+          error3.actualIssuer = issuer.attributes;
+          throw error3;
+        }
+        var md = child.md;
+        if (md === null) {
+          md = _createSignatureDigest({
+            signatureOid: child.signatureOid,
+            type: "certificate"
+          });
+          var tbsCertificate = child.tbsCertificate || pki2.getTBSCertificate(child);
+          var bytes = asn1.toDer(tbsCertificate);
+          md.update(bytes.getBytes());
+        }
+        if (md !== null) {
+          rval = _verifySignature({
+            certificate: cert,
+            md,
+            signature: child.signature
+          });
+        }
+        return rval;
+      };
+      cert.isIssuer = function(parent) {
+        var rval = false;
+        var i = cert.issuer;
+        var s = parent.subject;
+        if (i.hash && s.hash) {
+          rval = i.hash === s.hash;
+        } else if (i.attributes.length === s.attributes.length) {
+          rval = true;
+          var iattr, sattr;
+          for (var n = 0; rval && n < i.attributes.length; ++n) {
+            iattr = i.attributes[n];
+            sattr = s.attributes[n];
+            if (iattr.type !== sattr.type || iattr.value !== sattr.value) {
+              rval = false;
+            }
+          }
+        }
+        return rval;
+      };
+      cert.issued = function(child) {
+        return child.isIssuer(cert);
+      };
+      cert.generateSubjectKeyIdentifier = function() {
+        return pki2.getPublicKeyFingerprint(cert.publicKey, { type: "RSAPublicKey" });
+      };
+      cert.verifySubjectKeyIdentifier = function() {
+        var oid = oids["subjectKeyIdentifier"];
+        for (var i = 0; i < cert.extensions.length; ++i) {
+          var ext = cert.extensions[i];
+          if (ext.id === oid) {
+            var ski = cert.generateSubjectKeyIdentifier().getBytes();
+            return forge.util.hexToBytes(ext.subjectKeyIdentifier) === ski;
+          }
+        }
+        return false;
+      };
+      return cert;
     };
-    pki2.pbe.getCipherForPBES2 = function(oid, params, password) {
+    pki2.certificateFromAsn1 = function(obj, computeHash) {
       var capture = {};
       var errors = [];
-      if (!asn1.validate(params, PBES2AlgorithmsValidator, capture, errors)) {
-        var error3 = new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");
+      if (!asn1.validate(obj, x509CertificateValidator, capture, errors)) {
+        var error3 = new Error("Cannot read X.509 certificate. ASN.1 object is not an X509v3 Certificate.");
         error3.errors = errors;
         throw error3;
       }
-      oid = asn1.derToOid(capture.kdfOid);
-      if (oid !== pki2.oids["pkcs5PBKDF2"]) {
-        var error3 = new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");
-        error3.oid = oid;
-        error3.supportedOids = ["pkcs5PBKDF2"];
-        throw error3;
+      var oid = asn1.derToOid(capture.publicKeyOid);
+      if (oid !== pki2.oids.rsaEncryption) {
+        throw new Error("Cannot read public key. OID is not RSA.");
       }
-      oid = asn1.derToOid(capture.encOid);
-      if (oid !== pki2.oids["aes128-CBC"] && oid !== pki2.oids["aes192-CBC"] && oid !== pki2.oids["aes256-CBC"] && oid !== pki2.oids["des-EDE3-CBC"] && oid !== pki2.oids["desCBC"]) {
-        var error3 = new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");
-        error3.oid = oid;
-        error3.supportedOids = [
-          "aes128-CBC",
-          "aes192-CBC",
-          "aes256-CBC",
-          "des-EDE3-CBC",
-          "desCBC"
-        ];
-        throw error3;
+      var cert = pki2.createCertificate();
+      cert.version = capture.certVersion ? capture.certVersion.charCodeAt(0) : 0;
+      var serial = forge.util.createBuffer(capture.certSerialNumber);
+      cert.serialNumber = serial.toHex();
+      cert.signatureOid = forge.asn1.derToOid(capture.certSignatureOid);
+      cert.signatureParameters = _readSignatureParameters(
+        cert.signatureOid,
+        capture.certSignatureParams,
+        true
+      );
+      cert.siginfo.algorithmOid = forge.asn1.derToOid(capture.certinfoSignatureOid);
+      cert.siginfo.parameters = _readSignatureParameters(
+        cert.siginfo.algorithmOid,
+        capture.certinfoSignatureParams,
+        false
+      );
+      cert.signature = capture.certSignature;
+      var validity = [];
+      if (capture.certValidity1UTCTime !== void 0) {
+        validity.push(asn1.utcTimeToDate(capture.certValidity1UTCTime));
       }
-      var salt = capture.kdfSalt;
-      var count = forge.util.createBuffer(capture.kdfIterationCount);
-      count = count.getInt(count.length() << 3);
-      var dkLen;
-      var cipherFn;
-      switch (pki2.oids[oid]) {
-        case "aes128-CBC":
-          dkLen = 16;
-          cipherFn = forge.aes.createDecryptionCipher;
-          break;
-        case "aes192-CBC":
-          dkLen = 24;
-          cipherFn = forge.aes.createDecryptionCipher;
-          break;
-        case "aes256-CBC":
-          dkLen = 32;
-          cipherFn = forge.aes.createDecryptionCipher;
-          break;
-        case "des-EDE3-CBC":
-          dkLen = 24;
-          cipherFn = forge.des.createDecryptionCipher;
-          break;
-        case "desCBC":
-          dkLen = 8;
-          cipherFn = forge.des.createDecryptionCipher;
-          break;
+      if (capture.certValidity2GeneralizedTime !== void 0) {
+        validity.push(asn1.generalizedTimeToDate(
+          capture.certValidity2GeneralizedTime
+        ));
       }
-      var md = prfOidToMessageDigest(capture.prfOid);
-      var dk = forge.pkcs5.pbkdf2(password, salt, count, dkLen, md);
-      var iv = capture.encIv;
-      var cipher = cipherFn(dk);
-      cipher.start(iv);
-      return cipher;
-    };
-    pki2.pbe.getCipherForPKCS12PBE = function(oid, params, password) {
-      var capture = {};
-      var errors = [];
-      if (!asn1.validate(params, pkcs12PbeParamsValidator, capture, errors)) {
-        var error3 = new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");
-        error3.errors = errors;
-        throw error3;
+      if (capture.certValidity3UTCTime !== void 0) {
+        validity.push(asn1.utcTimeToDate(capture.certValidity3UTCTime));
       }
-      var salt = forge.util.createBuffer(capture.salt);
-      var count = forge.util.createBuffer(capture.iterations);
-      count = count.getInt(count.length() << 3);
-      var dkLen, dIvLen, cipherFn;
-      switch (oid) {
-        case pki2.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:
-          dkLen = 24;
-          dIvLen = 8;
-          cipherFn = forge.des.startDecrypting;
-          break;
-        case pki2.oids["pbewithSHAAnd40BitRC2-CBC"]:
-          dkLen = 5;
-          dIvLen = 8;
-          cipherFn = function(key2, iv2) {
-            var cipher = forge.rc2.createDecryptionCipher(key2, 40);
-            cipher.start(iv2, null);
-            return cipher;
-          };
-          break;
-        default:
-          var error3 = new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");
-          error3.oid = oid;
-          throw error3;
+      if (capture.certValidity4GeneralizedTime !== void 0) {
+        validity.push(asn1.generalizedTimeToDate(
+          capture.certValidity4GeneralizedTime
+        ));
       }
-      var md = prfOidToMessageDigest(capture.prfOid);
-      var key = pki2.pbe.generatePkcs12Key(password, salt, 1, count, dkLen, md);
-      md.start();
-      var iv = pki2.pbe.generatePkcs12Key(password, salt, 2, count, dIvLen, md);
-      return cipherFn(key, iv);
-    };
-    pki2.pbe.opensslDeriveBytes = function(password, salt, dkLen, md) {
-      if (typeof md === "undefined" || md === null) {
-        if (!("md5" in forge.md)) {
-          throw new Error('"md5" hash algorithm unavailable.');
-        }
-        md = forge.md.md5.create();
+      if (validity.length > 2) {
+        throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");
       }
-      if (salt === null) {
-        salt = "";
+      if (validity.length < 2) {
+        throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");
       }
-      var digests = [hash(md, password + salt)];
-      for (var length = 16, i = 1; length < dkLen; ++i, length += 16) {
-        digests.push(hash(md, digests[i - 1] + password + salt));
+      cert.validity.notBefore = validity[0];
+      cert.validity.notAfter = validity[1];
+      cert.tbsCertificate = capture.tbsCertificate;
+      if (computeHash) {
+        cert.md = _createSignatureDigest({
+          signatureOid: cert.signatureOid,
+          type: "certificate"
+        });
+        var bytes = asn1.toDer(cert.tbsCertificate);
+        cert.md.update(bytes.getBytes());
       }
-      return digests.join("").substr(0, dkLen);
+      var imd = forge.md.sha1.create();
+      var ibytes = asn1.toDer(capture.certIssuer);
+      imd.update(ibytes.getBytes());
+      cert.issuer.getField = function(sn) {
+        return _getAttribute(cert.issuer, sn);
+      };
+      cert.issuer.addField = function(attr) {
+        _fillMissingFields([attr]);
+        cert.issuer.attributes.push(attr);
+      };
+      cert.issuer.attributes = pki2.RDNAttributesAsArray(capture.certIssuer);
+      if (capture.certIssuerUniqueId) {
+        cert.issuer.uniqueId = capture.certIssuerUniqueId;
+      }
+      cert.issuer.hash = imd.digest().toHex();
+      var smd = forge.md.sha1.create();
+      var sbytes = asn1.toDer(capture.certSubject);
+      smd.update(sbytes.getBytes());
+      cert.subject.getField = function(sn) {
+        return _getAttribute(cert.subject, sn);
+      };
+      cert.subject.addField = function(attr) {
+        _fillMissingFields([attr]);
+        cert.subject.attributes.push(attr);
+      };
+      cert.subject.attributes = pki2.RDNAttributesAsArray(capture.certSubject);
+      if (capture.certSubjectUniqueId) {
+        cert.subject.uniqueId = capture.certSubjectUniqueId;
+      }
+      cert.subject.hash = smd.digest().toHex();
+      if (capture.certExtensions) {
+        cert.extensions = pki2.certificateExtensionsFromAsn1(capture.certExtensions);
+      } else {
+        cert.extensions = [];
+      }
+      cert.publicKey = pki2.publicKeyFromAsn1(capture.subjectPublicKeyInfo);
+      return cert;
     };
-    function hash(md, bytes) {
-      return md.start().update(bytes).digest().getBytes();
-    }
-    function prfOidToMessageDigest(prfOid) {
-      var prfAlgorithm;
-      if (!prfOid) {
-        prfAlgorithm = "hmacWithSHA1";
+    pki2.certificateExtensionsFromAsn1 = function(exts) {
+      var rval = [];
+      for (var i = 0; i < exts.value.length; ++i) {
+        var extseq = exts.value[i];
+        for (var ei = 0; ei < extseq.value.length; ++ei) {
+          rval.push(pki2.certificateExtensionFromAsn1(extseq.value[ei]));
+        }
+      }
+      return rval;
+    };
+    pki2.certificateExtensionFromAsn1 = function(ext) {
+      var e = {};
+      e.id = asn1.derToOid(ext.value[0].value);
+      e.critical = false;
+      if (ext.value[1].type === asn1.Type.BOOLEAN) {
+        e.critical = ext.value[1].value.charCodeAt(0) !== 0;
+        e.value = ext.value[2].value;
       } else {
-        prfAlgorithm = pki2.oids[asn1.derToOid(prfOid)];
-        if (!prfAlgorithm) {
-          var error3 = new Error("Unsupported PRF OID.");
-          error3.oid = prfOid;
-          error3.supported = [
-            "hmacWithSHA1",
-            "hmacWithSHA224",
-            "hmacWithSHA256",
-            "hmacWithSHA384",
-            "hmacWithSHA512"
-          ];
-          throw error3;
+        e.value = ext.value[1].value;
+      }
+      if (e.id in oids) {
+        e.name = oids[e.id];
+        if (e.name === "keyUsage") {
+          var ev = asn1.fromDer(e.value);
+          var b2 = 0;
+          var b3 = 0;
+          if (ev.value.length > 1) {
+            b2 = ev.value.charCodeAt(1);
+            b3 = ev.value.length > 2 ? ev.value.charCodeAt(2) : 0;
+          }
+          e.digitalSignature = (b2 & 128) === 128;
+          e.nonRepudiation = (b2 & 64) === 64;
+          e.keyEncipherment = (b2 & 32) === 32;
+          e.dataEncipherment = (b2 & 16) === 16;
+          e.keyAgreement = (b2 & 8) === 8;
+          e.keyCertSign = (b2 & 4) === 4;
+          e.cRLSign = (b2 & 2) === 2;
+          e.encipherOnly = (b2 & 1) === 1;
+          e.decipherOnly = (b3 & 128) === 128;
+        } else if (e.name === "basicConstraints") {
+          var ev = asn1.fromDer(e.value);
+          if (ev.value.length > 0 && ev.value[0].type === asn1.Type.BOOLEAN) {
+            e.cA = ev.value[0].value.charCodeAt(0) !== 0;
+          } else {
+            e.cA = false;
+          }
+          var value = null;
+          if (ev.value.length > 0 && ev.value[0].type === asn1.Type.INTEGER) {
+            value = ev.value[0].value;
+          } else if (ev.value.length > 1) {
+            value = ev.value[1].value;
+          }
+          if (value !== null) {
+            e.pathLenConstraint = asn1.derToInteger(value);
+          }
+        } else if (e.name === "extKeyUsage") {
+          var ev = asn1.fromDer(e.value);
+          for (var vi = 0; vi < ev.value.length; ++vi) {
+            var oid = asn1.derToOid(ev.value[vi].value);
+            if (oid in oids) {
+              e[oids[oid]] = true;
+            } else {
+              e[oid] = true;
+            }
+          }
+        } else if (e.name === "nsCertType") {
+          var ev = asn1.fromDer(e.value);
+          var b2 = 0;
+          if (ev.value.length > 1) {
+            b2 = ev.value.charCodeAt(1);
+          }
+          e.client = (b2 & 128) === 128;
+          e.server = (b2 & 64) === 64;
+          e.email = (b2 & 32) === 32;
+          e.objsign = (b2 & 16) === 16;
+          e.reserved = (b2 & 8) === 8;
+          e.sslCA = (b2 & 4) === 4;
+          e.emailCA = (b2 & 2) === 2;
+          e.objCA = (b2 & 1) === 1;
+        } else if (e.name === "subjectAltName" || e.name === "issuerAltName") {
+          e.altNames = [];
+          var gn;
+          var ev = asn1.fromDer(e.value);
+          for (var n = 0; n < ev.value.length; ++n) {
+            gn = ev.value[n];
+            var altName = {
+              type: gn.type,
+              value: gn.value
+            };
+            e.altNames.push(altName);
+            switch (gn.type) {
+              // rfc822Name
+              case 1:
+              // dNSName
+              case 2:
+              // uniformResourceIdentifier (URI)
+              case 6:
+                break;
+              // IPAddress
+              case 7:
+                altName.ip = forge.util.bytesToIP(gn.value);
+                break;
+              // registeredID
+              case 8:
+                altName.oid = asn1.derToOid(gn.value);
+                break;
+              default:
+            }
+          }
+        } else if (e.name === "subjectKeyIdentifier") {
+          var ev = asn1.fromDer(e.value);
+          e.subjectKeyIdentifier = forge.util.bytesToHex(ev.value);
         }
       }
-      return prfAlgorithmToMessageDigest(prfAlgorithm);
-    }
-    function prfAlgorithmToMessageDigest(prfAlgorithm) {
-      var factory = forge.md;
-      switch (prfAlgorithm) {
-        case "hmacWithSHA224":
-          factory = forge.md.sha512;
-        case "hmacWithSHA1":
-        case "hmacWithSHA256":
-        case "hmacWithSHA384":
-        case "hmacWithSHA512":
-          prfAlgorithm = prfAlgorithm.substr(8).toLowerCase();
-          break;
-        default:
-          var error3 = new Error("Unsupported PRF algorithm.");
-          error3.algorithm = prfAlgorithm;
-          error3.supported = [
-            "hmacWithSHA1",
-            "hmacWithSHA224",
-            "hmacWithSHA256",
-            "hmacWithSHA384",
-            "hmacWithSHA512"
-          ];
-          throw error3;
+      return e;
+    };
+    pki2.certificationRequestFromAsn1 = function(obj, computeHash) {
+      var capture = {};
+      var errors = [];
+      if (!asn1.validate(obj, certificationRequestValidator, capture, errors)) {
+        var error3 = new Error("Cannot read PKCS#10 certificate request. ASN.1 object is not a PKCS#10 CertificationRequest.");
+        error3.errors = errors;
+        throw error3;
       }
-      if (!factory || !(prfAlgorithm in factory)) {
-        throw new Error("Unknown hash algorithm: " + prfAlgorithm);
+      var oid = asn1.derToOid(capture.publicKeyOid);
+      if (oid !== pki2.oids.rsaEncryption) {
+        throw new Error("Cannot read public key. OID is not RSA.");
       }
-      return factory[prfAlgorithm].create();
-    }
-    function createPbkdf2Params(salt, countBytes, dkLen, prfAlgorithm) {
-      var params = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-        // salt
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.OCTETSTRING,
-          false,
-          salt
-        ),
-        // iteration count
-        asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.INTEGER,
-          false,
-          countBytes.getBytes()
-        )
-      ]);
-      if (prfAlgorithm !== "hmacWithSHA1") {
-        params.value.push(
-          // key length
-          asn1.create(
-            asn1.Class.UNIVERSAL,
-            asn1.Type.INTEGER,
-            false,
-            forge.util.hexToBytes(dkLen.toString(16))
-          ),
-          // AlgorithmIdentifier
-          asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-            // algorithm
-            asn1.create(
-              asn1.Class.UNIVERSAL,
-              asn1.Type.OID,
-              false,
-              asn1.oidToDer(pki2.oids[prfAlgorithm]).getBytes()
-            ),
-            // parameters (null)
-            asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")
-          ])
-        );
+      var csr = pki2.createCertificationRequest();
+      csr.version = capture.csrVersion ? capture.csrVersion.charCodeAt(0) : 0;
+      csr.signatureOid = forge.asn1.derToOid(capture.csrSignatureOid);
+      csr.signatureParameters = _readSignatureParameters(
+        csr.signatureOid,
+        capture.csrSignatureParams,
+        true
+      );
+      csr.siginfo.algorithmOid = forge.asn1.derToOid(capture.csrSignatureOid);
+      csr.siginfo.parameters = _readSignatureParameters(
+        csr.siginfo.algorithmOid,
+        capture.csrSignatureParams,
+        false
+      );
+      csr.signature = capture.csrSignature;
+      csr.certificationRequestInfo = capture.certificationRequestInfo;
+      if (computeHash) {
+        csr.md = _createSignatureDigest({
+          signatureOid: csr.signatureOid,
+          type: "certification request"
+        });
+        var bytes = asn1.toDer(csr.certificationRequestInfo);
+        csr.md.update(bytes.getBytes());
       }
-      return params;
-    }
-  }
-});
-
-// node_modules/node-forge/lib/pkcs7asn1.js
-var require_pkcs7asn1 = __commonJS({
-  "node_modules/node-forge/lib/pkcs7asn1.js"(exports2, module2) {
-    var forge = require_forge();
-    require_asn1();
-    require_util9();
-    var asn1 = forge.asn1;
-    var p7v = module2.exports = forge.pkcs7asn1 = forge.pkcs7asn1 || {};
-    forge.pkcs7 = forge.pkcs7 || {};
-    forge.pkcs7.asn1 = p7v;
-    var contentInfoValidator = {
-      name: "ContentInfo",
-      tagClass: asn1.Class.UNIVERSAL,
-      type: asn1.Type.SEQUENCE,
-      constructed: true,
-      value: [{
-        name: "ContentInfo.ContentType",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.OID,
-        constructed: false,
-        capture: "contentType"
-      }, {
-        name: "ContentInfo.content",
-        tagClass: asn1.Class.CONTEXT_SPECIFIC,
-        type: 0,
-        constructed: true,
-        optional: true,
-        captureAsn1: "content"
-      }]
-    };
-    p7v.contentInfoValidator = contentInfoValidator;
-    var encryptedContentInfoValidator = {
-      name: "EncryptedContentInfo",
-      tagClass: asn1.Class.UNIVERSAL,
-      type: asn1.Type.SEQUENCE,
-      constructed: true,
-      value: [{
-        name: "EncryptedContentInfo.contentType",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.OID,
-        constructed: false,
-        capture: "contentType"
-      }, {
-        name: "EncryptedContentInfo.contentEncryptionAlgorithm",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.SEQUENCE,
-        constructed: true,
-        value: [{
-          name: "EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.OID,
-          constructed: false,
-          capture: "encAlgorithm"
-        }, {
-          name: "EncryptedContentInfo.contentEncryptionAlgorithm.parameter",
-          tagClass: asn1.Class.UNIVERSAL,
-          captureAsn1: "encParameter"
-        }]
-      }, {
-        name: "EncryptedContentInfo.encryptedContent",
-        tagClass: asn1.Class.CONTEXT_SPECIFIC,
-        type: 0,
-        /* The PKCS#7 structure output by OpenSSL somewhat differs from what
-         * other implementations do generate.
-         *
-         * OpenSSL generates a structure like this:
-         * SEQUENCE {
-         *    ...
-         *    [0]
-         *       26 DA 67 D2 17 9C 45 3C B1 2A A8 59 2F 29 33 38
-         *       C3 C3 DF 86 71 74 7A 19 9F 40 D0 29 BE 85 90 45
-         *       ...
-         * }
-         *
-         * Whereas other implementations (and this PKCS#7 module) generate:
-         * SEQUENCE {
-         *    ...
-         *    [0] {
-         *       OCTET STRING
-         *          26 DA 67 D2 17 9C 45 3C B1 2A A8 59 2F 29 33 38
-         *          C3 C3 DF 86 71 74 7A 19 9F 40 D0 29 BE 85 90 45
-         *          ...
-         *    }
-         * }
-         *
-         * In order to support both, we just capture the context specific
-         * field here.  The OCTET STRING bit is removed below.
-         */
-        capture: "encryptedContent",
-        captureAsn1: "encryptedContentAsn1"
-      }]
-    };
-    p7v.envelopedDataValidator = {
-      name: "EnvelopedData",
-      tagClass: asn1.Class.UNIVERSAL,
-      type: asn1.Type.SEQUENCE,
-      constructed: true,
-      value: [{
-        name: "EnvelopedData.Version",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
-        constructed: false,
-        capture: "version"
-      }, {
-        name: "EnvelopedData.RecipientInfos",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.SET,
-        constructed: true,
-        captureAsn1: "recipientInfos"
-      }].concat(encryptedContentInfoValidator)
-    };
-    p7v.encryptedDataValidator = {
-      name: "EncryptedData",
-      tagClass: asn1.Class.UNIVERSAL,
-      type: asn1.Type.SEQUENCE,
-      constructed: true,
-      value: [{
-        name: "EncryptedData.Version",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
-        constructed: false,
-        capture: "version"
-      }].concat(encryptedContentInfoValidator)
-    };
-    var signerValidator = {
-      name: "SignerInfo",
-      tagClass: asn1.Class.UNIVERSAL,
-      type: asn1.Type.SEQUENCE,
-      constructed: true,
-      value: [{
-        name: "SignerInfo.version",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
-        constructed: false
-      }, {
-        name: "SignerInfo.issuerAndSerialNumber",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.SEQUENCE,
-        constructed: true,
-        value: [{
-          name: "SignerInfo.issuerAndSerialNumber.issuer",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.SEQUENCE,
-          constructed: true,
-          captureAsn1: "issuer"
-        }, {
-          name: "SignerInfo.issuerAndSerialNumber.serialNumber",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.INTEGER,
-          constructed: false,
-          capture: "serial"
-        }]
-      }, {
-        name: "SignerInfo.digestAlgorithm",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.SEQUENCE,
-        constructed: true,
-        value: [{
-          name: "SignerInfo.digestAlgorithm.algorithm",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.OID,
-          constructed: false,
-          capture: "digestAlgorithm"
-        }, {
-          name: "SignerInfo.digestAlgorithm.parameter",
-          tagClass: asn1.Class.UNIVERSAL,
-          constructed: false,
-          captureAsn1: "digestParameter",
-          optional: true
-        }]
-      }, {
-        name: "SignerInfo.authenticatedAttributes",
-        tagClass: asn1.Class.CONTEXT_SPECIFIC,
-        type: 0,
-        constructed: true,
-        optional: true,
-        capture: "authenticatedAttributes"
-      }, {
-        name: "SignerInfo.digestEncryptionAlgorithm",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.SEQUENCE,
-        constructed: true,
-        capture: "signatureAlgorithm"
-      }, {
-        name: "SignerInfo.encryptedDigest",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.OCTETSTRING,
-        constructed: false,
-        capture: "signature"
-      }, {
-        name: "SignerInfo.unauthenticatedAttributes",
-        tagClass: asn1.Class.CONTEXT_SPECIFIC,
-        type: 1,
-        constructed: true,
-        optional: true,
-        capture: "unauthenticatedAttributes"
-      }]
-    };
-    p7v.signedDataValidator = {
-      name: "SignedData",
-      tagClass: asn1.Class.UNIVERSAL,
-      type: asn1.Type.SEQUENCE,
-      constructed: true,
-      value: [
-        {
-          name: "SignedData.Version",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.INTEGER,
-          constructed: false,
-          capture: "version"
-        },
-        {
-          name: "SignedData.DigestAlgorithms",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.SET,
-          constructed: true,
-          captureAsn1: "digestAlgorithms"
-        },
-        contentInfoValidator,
-        {
-          name: "SignedData.Certificates",
-          tagClass: asn1.Class.CONTEXT_SPECIFIC,
-          type: 0,
-          optional: true,
-          captureAsn1: "certificates"
-        },
-        {
-          name: "SignedData.CertificateRevocationLists",
-          tagClass: asn1.Class.CONTEXT_SPECIFIC,
-          type: 1,
-          optional: true,
-          captureAsn1: "crls"
-        },
-        {
-          name: "SignedData.SignerInfos",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.SET,
-          capture: "signerInfos",
-          optional: true,
-          value: [signerValidator]
-        }
-      ]
-    };
-    p7v.recipientInfoValidator = {
-      name: "RecipientInfo",
-      tagClass: asn1.Class.UNIVERSAL,
-      type: asn1.Type.SEQUENCE,
-      constructed: true,
-      value: [{
-        name: "RecipientInfo.version",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.INTEGER,
-        constructed: false,
-        capture: "version"
-      }, {
-        name: "RecipientInfo.issuerAndSerial",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.SEQUENCE,
-        constructed: true,
-        value: [{
-          name: "RecipientInfo.issuerAndSerial.issuer",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.SEQUENCE,
-          constructed: true,
-          captureAsn1: "issuer"
-        }, {
-          name: "RecipientInfo.issuerAndSerial.serialNumber",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.INTEGER,
-          constructed: false,
-          capture: "serial"
-        }]
-      }, {
-        name: "RecipientInfo.keyEncryptionAlgorithm",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.SEQUENCE,
-        constructed: true,
-        value: [{
-          name: "RecipientInfo.keyEncryptionAlgorithm.algorithm",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.OID,
-          constructed: false,
-          capture: "encAlgorithm"
-        }, {
-          name: "RecipientInfo.keyEncryptionAlgorithm.parameter",
-          tagClass: asn1.Class.UNIVERSAL,
-          constructed: false,
-          captureAsn1: "encParameter",
-          optional: true
-        }]
-      }, {
-        name: "RecipientInfo.encryptedKey",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.OCTETSTRING,
-        constructed: false,
-        capture: "encKey"
-      }]
-    };
-  }
-});
-
-// node_modules/node-forge/lib/mgf1.js
-var require_mgf1 = __commonJS({
-  "node_modules/node-forge/lib/mgf1.js"(exports2, module2) {
-    var forge = require_forge();
-    require_util9();
-    forge.mgf = forge.mgf || {};
-    var mgf1 = module2.exports = forge.mgf.mgf1 = forge.mgf1 = forge.mgf1 || {};
-    mgf1.create = function(md) {
-      var mgf = {
-        /**
-         * Generate mask of specified length.
-         *
-         * @param {String} seed The seed for mask generation.
-         * @param maskLen Number of bytes to generate.
-         * @return {String} The generated mask.
-         */
-        generate: function(seed, maskLen) {
-          var t = new forge.util.ByteBuffer();
-          var len = Math.ceil(maskLen / md.digestLength);
-          for (var i = 0; i < len; i++) {
-            var c = new forge.util.ByteBuffer();
-            c.putInt32(i);
-            md.start();
-            md.update(seed + c.getBytes());
-            t.putBuffer(md.digest());
-          }
-          t.truncate(t.length() - maskLen);
-          return t.getBytes();
-        }
+      var smd = forge.md.sha1.create();
+      csr.subject.getField = function(sn) {
+        return _getAttribute(csr.subject, sn);
       };
-      return mgf;
+      csr.subject.addField = function(attr) {
+        _fillMissingFields([attr]);
+        csr.subject.attributes.push(attr);
+      };
+      csr.subject.attributes = pki2.RDNAttributesAsArray(
+        capture.certificationRequestInfoSubject,
+        smd
+      );
+      csr.subject.hash = smd.digest().toHex();
+      csr.publicKey = pki2.publicKeyFromAsn1(capture.subjectPublicKeyInfo);
+      csr.getAttribute = function(sn) {
+        return _getAttribute(csr, sn);
+      };
+      csr.addAttribute = function(attr) {
+        _fillMissingFields([attr]);
+        csr.attributes.push(attr);
+      };
+      csr.attributes = pki2.CRIAttributesAsArray(
+        capture.certificationRequestInfoAttributes || []
+      );
+      return csr;
     };
-  }
-});
-
-// node_modules/node-forge/lib/mgf.js
-var require_mgf = __commonJS({
-  "node_modules/node-forge/lib/mgf.js"(exports2, module2) {
-    var forge = require_forge();
-    require_mgf1();
-    module2.exports = forge.mgf = forge.mgf || {};
-    forge.mgf.mgf1 = forge.mgf1;
-  }
-});
-
-// node_modules/node-forge/lib/pss.js
-var require_pss = __commonJS({
-  "node_modules/node-forge/lib/pss.js"(exports2, module2) {
-    var forge = require_forge();
-    require_random();
-    require_util9();
-    var pss = module2.exports = forge.pss = forge.pss || {};
-    pss.create = function(options) {
-      if (arguments.length === 3) {
-        options = {
-          md: arguments[0],
-          mgf: arguments[1],
-          saltLength: arguments[2]
-        };
-      }
-      var hash = options.md;
-      var mgf = options.mgf;
-      var hLen = hash.digestLength;
-      var salt_ = options.salt || null;
-      if (typeof salt_ === "string") {
-        salt_ = forge.util.createBuffer(salt_);
-      }
-      var sLen;
-      if ("saltLength" in options) {
-        sLen = options.saltLength;
-      } else if (salt_ !== null) {
-        sLen = salt_.length();
-      } else {
-        throw new Error("Salt length not specified or specific salt not given.");
-      }
-      if (salt_ !== null && salt_.length() !== sLen) {
-        throw new Error("Given salt length does not match length of given salt.");
-      }
-      var prng = options.prng || forge.random;
-      var pssobj = {};
-      pssobj.encode = function(md, modBits) {
-        var i;
-        var emBits = modBits - 1;
-        var emLen = Math.ceil(emBits / 8);
-        var mHash = md.digest().getBytes();
-        if (emLen < hLen + sLen + 2) {
-          throw new Error("Message is too long to encrypt.");
+    pki2.createCertificationRequest = function() {
+      var csr = {};
+      csr.version = 0;
+      csr.signatureOid = null;
+      csr.signature = null;
+      csr.siginfo = {};
+      csr.siginfo.algorithmOid = null;
+      csr.subject = {};
+      csr.subject.getField = function(sn) {
+        return _getAttribute(csr.subject, sn);
+      };
+      csr.subject.addField = function(attr) {
+        _fillMissingFields([attr]);
+        csr.subject.attributes.push(attr);
+      };
+      csr.subject.attributes = [];
+      csr.subject.hash = null;
+      csr.publicKey = null;
+      csr.attributes = [];
+      csr.getAttribute = function(sn) {
+        return _getAttribute(csr, sn);
+      };
+      csr.addAttribute = function(attr) {
+        _fillMissingFields([attr]);
+        csr.attributes.push(attr);
+      };
+      csr.md = null;
+      csr.setSubject = function(attrs) {
+        _fillMissingFields(attrs);
+        csr.subject.attributes = attrs;
+        csr.subject.hash = null;
+      };
+      csr.setAttributes = function(attrs) {
+        _fillMissingFields(attrs);
+        csr.attributes = attrs;
+      };
+      csr.sign = function(key, md) {
+        csr.md = md || forge.md.sha1.create();
+        var algorithmOid = oids[csr.md.algorithm + "WithRSAEncryption"];
+        if (!algorithmOid) {
+          var error3 = new Error("Could not compute certification request digest. Unknown message digest algorithm OID.");
+          error3.algorithm = csr.md.algorithm;
+          throw error3;
         }
-        var salt;
-        if (salt_ === null) {
-          salt = prng.getBytesSync(sLen);
-        } else {
-          salt = salt_.bytes();
+        csr.signatureOid = csr.siginfo.algorithmOid = algorithmOid;
+        csr.certificationRequestInfo = pki2.getCertificationRequestInfo(csr);
+        var bytes = asn1.toDer(csr.certificationRequestInfo);
+        csr.md.update(bytes.getBytes());
+        csr.signature = key.sign(csr.md);
+      };
+      csr.verify = function() {
+        var rval = false;
+        var md = csr.md;
+        if (md === null) {
+          md = _createSignatureDigest({
+            signatureOid: csr.signatureOid,
+            type: "certification request"
+          });
+          var cri = csr.certificationRequestInfo || pki2.getCertificationRequestInfo(csr);
+          var bytes = asn1.toDer(cri);
+          md.update(bytes.getBytes());
         }
-        var m_ = new forge.util.ByteBuffer();
-        m_.fillWithByte(0, 8);
-        m_.putBytes(mHash);
-        m_.putBytes(salt);
-        hash.start();
-        hash.update(m_.getBytes());
-        var h = hash.digest().getBytes();
-        var ps = new forge.util.ByteBuffer();
-        ps.fillWithByte(0, emLen - sLen - hLen - 2);
-        ps.putByte(1);
-        ps.putBytes(salt);
-        var db = ps.getBytes();
-        var maskLen = emLen - hLen - 1;
-        var dbMask = mgf.generate(h, maskLen);
-        var maskedDB = "";
-        for (i = 0; i < maskLen; i++) {
-          maskedDB += String.fromCharCode(db.charCodeAt(i) ^ dbMask.charCodeAt(i));
+        if (md !== null) {
+          rval = _verifySignature({
+            certificate: csr,
+            md,
+            signature: csr.signature
+          });
         }
-        var mask = 65280 >> 8 * emLen - emBits & 255;
-        maskedDB = String.fromCharCode(maskedDB.charCodeAt(0) & ~mask) + maskedDB.substr(1);
-        return maskedDB + h + String.fromCharCode(188);
+        return rval;
       };
-      pssobj.verify = function(mHash, em, modBits) {
-        var i;
-        var emBits = modBits - 1;
-        var emLen = Math.ceil(emBits / 8);
-        em = em.substr(-emLen);
-        if (emLen < hLen + sLen + 2) {
-          throw new Error("Inconsistent parameters to PSS signature verification.");
-        }
-        if (em.charCodeAt(emLen - 1) !== 188) {
-          throw new Error("Encoded message does not end in 0xBC.");
-        }
-        var maskLen = emLen - hLen - 1;
-        var maskedDB = em.substr(0, maskLen);
-        var h = em.substr(maskLen, hLen);
-        var mask = 65280 >> 8 * emLen - emBits & 255;
-        if ((maskedDB.charCodeAt(0) & mask) !== 0) {
-          throw new Error("Bits beyond keysize not zero as expected.");
-        }
-        var dbMask = mgf.generate(h, maskLen);
-        var db = "";
-        for (i = 0; i < maskLen; i++) {
-          db += String.fromCharCode(maskedDB.charCodeAt(i) ^ dbMask.charCodeAt(i));
-        }
-        db = String.fromCharCode(db.charCodeAt(0) & ~mask) + db.substr(1);
-        var checkLen = emLen - hLen - sLen - 2;
-        for (i = 0; i < checkLen; i++) {
-          if (db.charCodeAt(i) !== 0) {
-            throw new Error("Leftmost octets not zero as expected");
+      return csr;
+    };
+    function _dnToAsn1(obj) {
+      var rval = asn1.create(
+        asn1.Class.UNIVERSAL,
+        asn1.Type.SEQUENCE,
+        true,
+        []
+      );
+      var attr, set2;
+      var attrs = obj.attributes;
+      for (var i = 0; i < attrs.length; ++i) {
+        attr = attrs[i];
+        var value = attr.value;
+        var valueTagClass = asn1.Type.PRINTABLESTRING;
+        if ("valueTagClass" in attr) {
+          valueTagClass = attr.valueTagClass;
+          if (valueTagClass === asn1.Type.UTF8) {
+            value = forge.util.encodeUtf8(value);
           }
         }
-        if (db.charCodeAt(checkLen) !== 1) {
-          throw new Error("Inconsistent PSS signature, 0x01 marker not found");
+        set2 = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, [
+          asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
+            // AttributeType
+            asn1.create(
+              asn1.Class.UNIVERSAL,
+              asn1.Type.OID,
+              false,
+              asn1.oidToDer(attr.type).getBytes()
+            ),
+            // AttributeValue
+            asn1.create(asn1.Class.UNIVERSAL, valueTagClass, false, value)
+          ])
+        ]);
+        rval.value.push(set2);
+      }
+      return rval;
+    }
+    function _fillMissingFields(attrs) {
+      var attr;
+      for (var i = 0; i < attrs.length; ++i) {
+        attr = attrs[i];
+        if (typeof attr.name === "undefined") {
+          if (attr.type && attr.type in pki2.oids) {
+            attr.name = pki2.oids[attr.type];
+          } else if (attr.shortName && attr.shortName in _shortNames) {
+            attr.name = pki2.oids[_shortNames[attr.shortName]];
+          }
         }
-        var salt = db.substr(-sLen);
-        var m_ = new forge.util.ByteBuffer();
-        m_.fillWithByte(0, 8);
-        m_.putBytes(mHash);
-        m_.putBytes(salt);
-        hash.start();
-        hash.update(m_.getBytes());
-        var h_ = hash.digest().getBytes();
-        return h === h_;
-      };
-      return pssobj;
-    };
-  }
-});
-
-// node_modules/node-forge/lib/x509.js
-var require_x509 = __commonJS({
-  "node_modules/node-forge/lib/x509.js"(exports2, module2) {
-    var forge = require_forge();
-    require_aes();
-    require_asn1();
-    require_des();
-    require_md();
-    require_mgf();
-    require_oids();
-    require_pem();
-    require_pss();
-    require_rsa();
-    require_util9();
-    var asn1 = forge.asn1;
-    var pki2 = module2.exports = forge.pki = forge.pki || {};
-    var oids = pki2.oids;
-    var _shortNames = {};
-    _shortNames["CN"] = oids["commonName"];
-    _shortNames["commonName"] = "CN";
-    _shortNames["C"] = oids["countryName"];
-    _shortNames["countryName"] = "C";
-    _shortNames["L"] = oids["localityName"];
-    _shortNames["localityName"] = "L";
-    _shortNames["ST"] = oids["stateOrProvinceName"];
-    _shortNames["stateOrProvinceName"] = "ST";
-    _shortNames["O"] = oids["organizationName"];
-    _shortNames["organizationName"] = "O";
-    _shortNames["OU"] = oids["organizationalUnitName"];
-    _shortNames["organizationalUnitName"] = "OU";
-    _shortNames["E"] = oids["emailAddress"];
-    _shortNames["emailAddress"] = "E";
-    var publicKeyValidator = forge.pki.rsa.publicKeyValidator;
-    var x509CertificateValidator = {
-      name: "Certificate",
-      tagClass: asn1.Class.UNIVERSAL,
-      type: asn1.Type.SEQUENCE,
-      constructed: true,
-      value: [{
-        name: "Certificate.TBSCertificate",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.SEQUENCE,
-        constructed: true,
-        captureAsn1: "tbsCertificate",
-        value: [
-          {
-            name: "Certificate.TBSCertificate.version",
-            tagClass: asn1.Class.CONTEXT_SPECIFIC,
-            type: 0,
-            constructed: true,
-            optional: true,
-            value: [{
-              name: "Certificate.TBSCertificate.version.integer",
-              tagClass: asn1.Class.UNIVERSAL,
-              type: asn1.Type.INTEGER,
-              constructed: false,
-              capture: "certVersion"
-            }]
-          },
-          {
-            name: "Certificate.TBSCertificate.serialNumber",
-            tagClass: asn1.Class.UNIVERSAL,
-            type: asn1.Type.INTEGER,
-            constructed: false,
-            capture: "certSerialNumber"
-          },
-          {
-            name: "Certificate.TBSCertificate.signature",
-            tagClass: asn1.Class.UNIVERSAL,
-            type: asn1.Type.SEQUENCE,
-            constructed: true,
-            value: [{
-              name: "Certificate.TBSCertificate.signature.algorithm",
-              tagClass: asn1.Class.UNIVERSAL,
-              type: asn1.Type.OID,
-              constructed: false,
-              capture: "certinfoSignatureOid"
-            }, {
-              name: "Certificate.TBSCertificate.signature.parameters",
-              tagClass: asn1.Class.UNIVERSAL,
-              optional: true,
-              captureAsn1: "certinfoSignatureParams"
-            }]
-          },
-          {
-            name: "Certificate.TBSCertificate.issuer",
-            tagClass: asn1.Class.UNIVERSAL,
-            type: asn1.Type.SEQUENCE,
-            constructed: true,
-            captureAsn1: "certIssuer"
-          },
-          {
-            name: "Certificate.TBSCertificate.validity",
-            tagClass: asn1.Class.UNIVERSAL,
-            type: asn1.Type.SEQUENCE,
-            constructed: true,
-            // Note: UTC and generalized times may both appear so the capture
-            // names are based on their detected order, the names used below
-            // are only for the common case, which validity time really means
-            // "notBefore" and which means "notAfter" will be determined by order
-            value: [{
-              // notBefore (Time) (UTC time case)
-              name: "Certificate.TBSCertificate.validity.notBefore (utc)",
-              tagClass: asn1.Class.UNIVERSAL,
-              type: asn1.Type.UTCTIME,
-              constructed: false,
-              optional: true,
-              capture: "certValidity1UTCTime"
-            }, {
-              // notBefore (Time) (generalized time case)
-              name: "Certificate.TBSCertificate.validity.notBefore (generalized)",
-              tagClass: asn1.Class.UNIVERSAL,
-              type: asn1.Type.GENERALIZEDTIME,
-              constructed: false,
-              optional: true,
-              capture: "certValidity2GeneralizedTime"
-            }, {
-              // notAfter (Time) (only UTC time is supported)
-              name: "Certificate.TBSCertificate.validity.notAfter (utc)",
-              tagClass: asn1.Class.UNIVERSAL,
-              type: asn1.Type.UTCTIME,
-              constructed: false,
-              optional: true,
-              capture: "certValidity3UTCTime"
-            }, {
-              // notAfter (Time) (only UTC time is supported)
-              name: "Certificate.TBSCertificate.validity.notAfter (generalized)",
-              tagClass: asn1.Class.UNIVERSAL,
-              type: asn1.Type.GENERALIZEDTIME,
-              constructed: false,
-              optional: true,
-              capture: "certValidity4GeneralizedTime"
-            }]
-          },
-          {
-            // Name (subject) (RDNSequence)
-            name: "Certificate.TBSCertificate.subject",
-            tagClass: asn1.Class.UNIVERSAL,
-            type: asn1.Type.SEQUENCE,
-            constructed: true,
-            captureAsn1: "certSubject"
-          },
-          // SubjectPublicKeyInfo
-          publicKeyValidator,
-          {
-            // issuerUniqueID (optional)
-            name: "Certificate.TBSCertificate.issuerUniqueID",
-            tagClass: asn1.Class.CONTEXT_SPECIFIC,
-            type: 1,
-            constructed: true,
-            optional: true,
-            value: [{
-              name: "Certificate.TBSCertificate.issuerUniqueID.id",
-              tagClass: asn1.Class.UNIVERSAL,
-              type: asn1.Type.BITSTRING,
-              constructed: false,
-              // TODO: support arbitrary bit length ids
-              captureBitStringValue: "certIssuerUniqueId"
-            }]
-          },
-          {
-            // subjectUniqueID (optional)
-            name: "Certificate.TBSCertificate.subjectUniqueID",
-            tagClass: asn1.Class.CONTEXT_SPECIFIC,
-            type: 2,
-            constructed: true,
-            optional: true,
-            value: [{
-              name: "Certificate.TBSCertificate.subjectUniqueID.id",
-              tagClass: asn1.Class.UNIVERSAL,
-              type: asn1.Type.BITSTRING,
-              constructed: false,
-              // TODO: support arbitrary bit length ids
-              captureBitStringValue: "certSubjectUniqueId"
-            }]
-          },
-          {
-            // Extensions (optional)
-            name: "Certificate.TBSCertificate.extensions",
-            tagClass: asn1.Class.CONTEXT_SPECIFIC,
-            type: 3,
-            constructed: true,
-            captureAsn1: "certExtensions",
-            optional: true
+        if (typeof attr.type === "undefined") {
+          if (attr.name && attr.name in pki2.oids) {
+            attr.type = pki2.oids[attr.name];
+          } else {
+            var error3 = new Error("Attribute type not specified.");
+            error3.attribute = attr;
+            throw error3;
           }
-        ]
-      }, {
-        // AlgorithmIdentifier (signature algorithm)
-        name: "Certificate.signatureAlgorithm",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.SEQUENCE,
-        constructed: true,
-        value: [{
-          // algorithm
-          name: "Certificate.signatureAlgorithm.algorithm",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.OID,
-          constructed: false,
-          capture: "certSignatureOid"
-        }, {
-          name: "Certificate.TBSCertificate.signature.parameters",
-          tagClass: asn1.Class.UNIVERSAL,
-          optional: true,
-          captureAsn1: "certSignatureParams"
-        }]
-      }, {
-        // SignatureValue
-        name: "Certificate.signatureValue",
-        tagClass: asn1.Class.UNIVERSAL,
-        type: asn1.Type.BITSTRING,
-        constructed: false,
-        captureBitStringValue: "certSignature"
-      }]
-    };
-    var rsassaPssParameterValidator = {
-      name: "rsapss",
-      tagClass: asn1.Class.UNIVERSAL,
-      type: asn1.Type.SEQUENCE,
-      constructed: true,
-      value: [{
-        name: "rsapss.hashAlgorithm",
-        tagClass: asn1.Class.CONTEXT_SPECIFIC,
-        type: 0,
-        constructed: true,
-        value: [{
-          name: "rsapss.hashAlgorithm.AlgorithmIdentifier",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Class.SEQUENCE,
-          constructed: true,
-          optional: true,
-          value: [{
-            name: "rsapss.hashAlgorithm.AlgorithmIdentifier.algorithm",
-            tagClass: asn1.Class.UNIVERSAL,
-            type: asn1.Type.OID,
-            constructed: false,
-            capture: "hashOid"
-            /* parameter block omitted, for SHA1 NULL anyhow. */
-          }]
-        }]
-      }, {
-        name: "rsapss.maskGenAlgorithm",
-        tagClass: asn1.Class.CONTEXT_SPECIFIC,
-        type: 1,
-        constructed: true,
-        value: [{
-          name: "rsapss.maskGenAlgorithm.AlgorithmIdentifier",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Class.SEQUENCE,
-          constructed: true,
-          optional: true,
-          value: [{
-            name: "rsapss.maskGenAlgorithm.AlgorithmIdentifier.algorithm",
-            tagClass: asn1.Class.UNIVERSAL,
-            type: asn1.Type.OID,
-            constructed: false,
-            capture: "maskGenOid"
-          }, {
-            name: "rsapss.maskGenAlgorithm.AlgorithmIdentifier.params",
-            tagClass: asn1.Class.UNIVERSAL,
-            type: asn1.Type.SEQUENCE,
-            constructed: true,
-            value: [{
-              name: "rsapss.maskGenAlgorithm.AlgorithmIdentifier.params.algorithm",
-              tagClass: asn1.Class.UNIVERSAL,
-              type: asn1.Type.OID,
-              constructed: false,
-              capture: "maskGenHashOid"
-              /* parameter block omitted, for SHA1 NULL anyhow. */
-            }]
-          }]
-        }]
-      }, {
-        name: "rsapss.saltLength",
-        tagClass: asn1.Class.CONTEXT_SPECIFIC,
-        type: 2,
-        optional: true,
-        value: [{
-          name: "rsapss.saltLength.saltLength",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Class.INTEGER,
-          constructed: false,
-          capture: "saltLength"
-        }]
-      }, {
-        name: "rsapss.trailerField",
-        tagClass: asn1.Class.CONTEXT_SPECIFIC,
-        type: 3,
-        optional: true,
-        value: [{
-          name: "rsapss.trailer.trailer",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Class.INTEGER,
-          constructed: false,
-          capture: "trailer"
-        }]
-      }]
-    };
-    var certificationRequestInfoValidator = {
-      name: "CertificationRequestInfo",
-      tagClass: asn1.Class.UNIVERSAL,
-      type: asn1.Type.SEQUENCE,
-      constructed: true,
-      captureAsn1: "certificationRequestInfo",
-      value: [
-        {
-          name: "CertificationRequestInfo.integer",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.INTEGER,
-          constructed: false,
-          capture: "certificationRequestInfoVersion"
-        },
-        {
-          // Name (subject) (RDNSequence)
-          name: "CertificationRequestInfo.subject",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.SEQUENCE,
-          constructed: true,
-          captureAsn1: "certificationRequestInfoSubject"
-        },
-        // SubjectPublicKeyInfo
-        publicKeyValidator,
-        {
-          name: "CertificationRequestInfo.attributes",
-          tagClass: asn1.Class.CONTEXT_SPECIFIC,
-          type: 0,
-          constructed: true,
-          optional: true,
-          capture: "certificationRequestInfoAttributes",
-          value: [{
-            name: "CertificationRequestInfo.attributes",
-            tagClass: asn1.Class.UNIVERSAL,
-            type: asn1.Type.SEQUENCE,
-            constructed: true,
-            value: [{
-              name: "CertificationRequestInfo.attributes.type",
-              tagClass: asn1.Class.UNIVERSAL,
-              type: asn1.Type.OID,
-              constructed: false
-            }, {
-              name: "CertificationRequestInfo.attributes.value",
-              tagClass: asn1.Class.UNIVERSAL,
-              type: asn1.Type.SET,
-              constructed: true
-            }]
-          }]
         }
-      ]
-    };
-    var certificationRequestValidator = {
-      name: "CertificationRequest",
-      tagClass: asn1.Class.UNIVERSAL,
-      type: asn1.Type.SEQUENCE,
-      constructed: true,
-      captureAsn1: "csr",
-      value: [
-        certificationRequestInfoValidator,
-        {
-          // AlgorithmIdentifier (signature algorithm)
-          name: "CertificationRequest.signatureAlgorithm",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.SEQUENCE,
-          constructed: true,
-          value: [{
-            // algorithm
-            name: "CertificationRequest.signatureAlgorithm.algorithm",
-            tagClass: asn1.Class.UNIVERSAL,
-            type: asn1.Type.OID,
-            constructed: false,
-            capture: "csrSignatureOid"
-          }, {
-            name: "CertificationRequest.signatureAlgorithm.parameters",
-            tagClass: asn1.Class.UNIVERSAL,
-            optional: true,
-            captureAsn1: "csrSignatureParams"
-          }]
-        },
-        {
-          // signature
-          name: "CertificationRequest.signature",
-          tagClass: asn1.Class.UNIVERSAL,
-          type: asn1.Type.BITSTRING,
-          constructed: false,
-          captureBitStringValue: "csrSignature"
+        if (typeof attr.shortName === "undefined") {
+          if (attr.name && attr.name in _shortNames) {
+            attr.shortName = _shortNames[attr.name];
+          }
         }
-      ]
-    };
-    pki2.RDNAttributesAsArray = function(rdn, md) {
-      var rval = [];
-      var set2, attr, obj;
-      for (var si = 0; si < rdn.value.length; ++si) {
-        set2 = rdn.value[si];
-        for (var i = 0; i < set2.value.length; ++i) {
-          obj = {};
-          attr = set2.value[i];
-          obj.type = asn1.derToOid(attr.value[0].value);
-          obj.value = attr.value[1].value;
-          obj.valueTagClass = attr.value[1].type;
-          if (obj.type in oids) {
-            obj.name = oids[obj.type];
-            if (obj.name in _shortNames) {
-              obj.shortName = _shortNames[obj.name];
+        if (attr.type === oids.extensionRequest) {
+          attr.valueConstructed = true;
+          attr.valueTagClass = asn1.Type.SEQUENCE;
+          if (!attr.value && attr.extensions) {
+            attr.value = [];
+            for (var ei = 0; ei < attr.extensions.length; ++ei) {
+              attr.value.push(pki2.certificateExtensionToAsn1(
+                _fillMissingExtensionFields(attr.extensions[ei])
+              ));
             }
           }
-          if (md) {
-            md.update(obj.type);
-            md.update(obj.value);
-          }
-          rval.push(obj);
+        }
+        if (typeof attr.value === "undefined") {
+          var error3 = new Error("Attribute value not specified.");
+          error3.attribute = attr;
+          throw error3;
         }
       }
-      return rval;
-    };
-    pki2.CRIAttributesAsArray = function(attributes) {
-      var rval = [];
-      for (var si = 0; si < attributes.length; ++si) {
-        var seq2 = attributes[si];
-        var type2 = asn1.derToOid(seq2.value[0].value);
-        var values = seq2.value[1].value;
-        for (var vi = 0; vi < values.length; ++vi) {
-          var obj = {};
-          obj.type = type2;
-          obj.value = values[vi].value;
-          obj.valueTagClass = values[vi].type;
-          if (obj.type in oids) {
-            obj.name = oids[obj.type];
-            if (obj.name in _shortNames) {
-              obj.shortName = _shortNames[obj.name];
-            }
-          }
-          if (obj.type === oids.extensionRequest) {
-            obj.extensions = [];
-            for (var ei = 0; ei < obj.value.length; ++ei) {
-              obj.extensions.push(pki2.certificateExtensionFromAsn1(obj.value[ei]));
-            }
-          }
-          rval.push(obj);
-        }
-      }
-      return rval;
-    };
-    function _getAttribute(obj, options) {
-      if (typeof options === "string") {
-        options = { shortName: options };
-      }
-      var rval = null;
-      var attr;
-      for (var i = 0; rval === null && i < obj.attributes.length; ++i) {
-        attr = obj.attributes[i];
-        if (options.type && options.type === attr.type) {
-          rval = attr;
-        } else if (options.name && options.name === attr.name) {
-          rval = attr;
-        } else if (options.shortName && options.shortName === attr.shortName) {
-          rval = attr;
-        }
-      }
-      return rval;
     }
-    var _readSignatureParameters = function(oid, obj, fillDefaults) {
-      var params = {};
-      if (oid !== oids["RSASSA-PSS"]) {
-        return params;
-      }
-      if (fillDefaults) {
-        params = {
-          hash: {
-            algorithmOid: oids["sha1"]
-          },
-          mgf: {
-            algorithmOid: oids["mgf1"],
-            hash: {
-              algorithmOid: oids["sha1"]
-            }
-          },
-          saltLength: 20
-        };
-      }
-      var capture = {};
-      var errors = [];
-      if (!asn1.validate(obj, rsassaPssParameterValidator, capture, errors)) {
-        var error3 = new Error("Cannot read RSASSA-PSS parameter block.");
-        error3.errors = errors;
-        throw error3;
-      }
-      if (capture.hashOid !== void 0) {
-        params.hash = params.hash || {};
-        params.hash.algorithmOid = asn1.derToOid(capture.hashOid);
-      }
-      if (capture.maskGenOid !== void 0) {
-        params.mgf = params.mgf || {};
-        params.mgf.algorithmOid = asn1.derToOid(capture.maskGenOid);
-        params.mgf.hash = params.mgf.hash || {};
-        params.mgf.hash.algorithmOid = asn1.derToOid(capture.maskGenHashOid);
-      }
-      if (capture.saltLength !== void 0) {
-        params.saltLength = capture.saltLength.charCodeAt(0);
-      }
-      return params;
-    };
-    var _createSignatureDigest = function(options) {
-      switch (oids[options.signatureOid]) {
-        case "sha1WithRSAEncryption":
-        // deprecated alias
-        case "sha1WithRSASignature":
-          return forge.md.sha1.create();
-        case "md5WithRSAEncryption":
-          return forge.md.md5.create();
-        case "sha256WithRSAEncryption":
-          return forge.md.sha256.create();
-        case "sha384WithRSAEncryption":
-          return forge.md.sha384.create();
-        case "sha512WithRSAEncryption":
-          return forge.md.sha512.create();
-        case "RSASSA-PSS":
-          return forge.md.sha256.create();
-        default:
-          var error3 = new Error(
-            "Could not compute " + options.type + " digest. Unknown signature OID."
-          );
-          error3.signatureOid = options.signatureOid;
-          throw error3;
-      }
-    };
-    var _verifySignature = function(options) {
-      var cert = options.certificate;
-      var scheme;
-      switch (cert.signatureOid) {
-        case oids.sha1WithRSAEncryption:
-        // deprecated alias
-        case oids.sha1WithRSASignature:
-          break;
-        case oids["RSASSA-PSS"]:
-          var hash, mgf;
-          hash = oids[cert.signatureParameters.mgf.hash.algorithmOid];
-          if (hash === void 0 || forge.md[hash] === void 0) {
-            var error3 = new Error("Unsupported MGF hash function.");
-            error3.oid = cert.signatureParameters.mgf.hash.algorithmOid;
-            error3.name = hash;
-            throw error3;
-          }
-          mgf = oids[cert.signatureParameters.mgf.algorithmOid];
-          if (mgf === void 0 || forge.mgf[mgf] === void 0) {
-            var error3 = new Error("Unsupported MGF function.");
-            error3.oid = cert.signatureParameters.mgf.algorithmOid;
-            error3.name = mgf;
-            throw error3;
-          }
-          mgf = forge.mgf[mgf].create(forge.md[hash].create());
-          hash = oids[cert.signatureParameters.hash.algorithmOid];
-          if (hash === void 0 || forge.md[hash] === void 0) {
-            var error3 = new Error("Unsupported RSASSA-PSS hash function.");
-            error3.oid = cert.signatureParameters.hash.algorithmOid;
-            error3.name = hash;
-            throw error3;
-          }
-          scheme = forge.pss.create(
-            forge.md[hash].create(),
-            mgf,
-            cert.signatureParameters.saltLength
-          );
-          break;
-      }
-      return cert.publicKey.verify(
-        options.md.digest().getBytes(),
-        options.signature,
-        scheme
-      );
-    };
-    pki2.certificateFromPem = function(pem, computeHash, strict) {
-      var msg = forge.pem.decode(pem)[0];
-      if (msg.type !== "CERTIFICATE" && msg.type !== "X509 CERTIFICATE" && msg.type !== "TRUSTED CERTIFICATE") {
-        var error3 = new Error(
-          'Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".'
-        );
-        error3.headerType = msg.type;
-        throw error3;
-      }
-      if (msg.procType && msg.procType.type === "ENCRYPTED") {
-        throw new Error(
-          "Could not convert certificate from PEM; PEM is encrypted."
-        );
-      }
-      var obj = asn1.fromDer(msg.body, strict);
-      return pki2.certificateFromAsn1(obj, computeHash);
-    };
-    pki2.certificateToPem = function(cert, maxline) {
-      var msg = {
-        type: "CERTIFICATE",
-        body: asn1.toDer(pki2.certificateToAsn1(cert)).getBytes()
-      };
-      return forge.pem.encode(msg, { maxline });
-    };
-    pki2.publicKeyFromPem = function(pem) {
-      var msg = forge.pem.decode(pem)[0];
-      if (msg.type !== "PUBLIC KEY" && msg.type !== "RSA PUBLIC KEY") {
-        var error3 = new Error('Could not convert public key from PEM; PEM header type is not "PUBLIC KEY" or "RSA PUBLIC KEY".');
-        error3.headerType = msg.type;
-        throw error3;
-      }
-      if (msg.procType && msg.procType.type === "ENCRYPTED") {
-        throw new Error("Could not convert public key from PEM; PEM is encrypted.");
-      }
-      var obj = asn1.fromDer(msg.body);
-      return pki2.publicKeyFromAsn1(obj);
-    };
-    pki2.publicKeyToPem = function(key, maxline) {
-      var msg = {
-        type: "PUBLIC KEY",
-        body: asn1.toDer(pki2.publicKeyToAsn1(key)).getBytes()
-      };
-      return forge.pem.encode(msg, { maxline });
-    };
-    pki2.publicKeyToRSAPublicKeyPem = function(key, maxline) {
-      var msg = {
-        type: "RSA PUBLIC KEY",
-        body: asn1.toDer(pki2.publicKeyToRSAPublicKey(key)).getBytes()
-      };
-      return forge.pem.encode(msg, { maxline });
-    };
-    pki2.getPublicKeyFingerprint = function(key, options) {
+    function _fillMissingExtensionFields(e, options) {
       options = options || {};
-      var md = options.md || forge.md.sha1.create();
-      var type2 = options.type || "RSAPublicKey";
-      var bytes;
-      switch (type2) {
-        case "RSAPublicKey":
-          bytes = asn1.toDer(pki2.publicKeyToRSAPublicKey(key)).getBytes();
-          break;
-        case "SubjectPublicKeyInfo":
-          bytes = asn1.toDer(pki2.publicKeyToAsn1(key)).getBytes();
-          break;
-        default:
-          throw new Error('Unknown fingerprint type "' + options.type + '".');
-      }
-      md.start();
-      md.update(bytes);
-      var digest = md.digest();
-      if (options.encoding === "hex") {
-        var hex = digest.toHex();
-        if (options.delimiter) {
-          return hex.match(/.{2}/g).join(options.delimiter);
+      if (typeof e.name === "undefined") {
+        if (e.id && e.id in pki2.oids) {
+          e.name = pki2.oids[e.id];
         }
-        return hex;
-      } else if (options.encoding === "binary") {
-        return digest.getBytes();
-      } else if (options.encoding) {
-        throw new Error('Unknown encoding "' + options.encoding + '".');
       }
-      return digest;
-    };
-    pki2.certificationRequestFromPem = function(pem, computeHash, strict) {
-      var msg = forge.pem.decode(pem)[0];
-      if (msg.type !== "CERTIFICATE REQUEST") {
-        var error3 = new Error('Could not convert certification request from PEM; PEM header type is not "CERTIFICATE REQUEST".');
-        error3.headerType = msg.type;
-        throw error3;
+      if (typeof e.id === "undefined") {
+        if (e.name && e.name in pki2.oids) {
+          e.id = pki2.oids[e.name];
+        } else {
+          var error3 = new Error("Extension ID not specified.");
+          error3.extension = e;
+          throw error3;
+        }
       }
-      if (msg.procType && msg.procType.type === "ENCRYPTED") {
-        throw new Error("Could not convert certification request from PEM; PEM is encrypted.");
+      if (typeof e.value !== "undefined") {
+        return e;
       }
-      var obj = asn1.fromDer(msg.body, strict);
-      return pki2.certificationRequestFromAsn1(obj, computeHash);
-    };
-    pki2.certificationRequestToPem = function(csr, maxline) {
-      var msg = {
-        type: "CERTIFICATE REQUEST",
-        body: asn1.toDer(pki2.certificationRequestToAsn1(csr)).getBytes()
-      };
-      return forge.pem.encode(msg, { maxline });
-    };
-    pki2.createCertificate = function() {
-      var cert = {};
-      cert.version = 2;
-      cert.serialNumber = "00";
-      cert.signatureOid = null;
-      cert.signature = null;
-      cert.siginfo = {};
-      cert.siginfo.algorithmOid = null;
-      cert.validity = {};
-      cert.validity.notBefore = /* @__PURE__ */ new Date();
-      cert.validity.notAfter = /* @__PURE__ */ new Date();
-      cert.issuer = {};
-      cert.issuer.getField = function(sn) {
-        return _getAttribute(cert.issuer, sn);
-      };
-      cert.issuer.addField = function(attr) {
-        _fillMissingFields([attr]);
-        cert.issuer.attributes.push(attr);
-      };
-      cert.issuer.attributes = [];
-      cert.issuer.hash = null;
-      cert.subject = {};
-      cert.subject.getField = function(sn) {
-        return _getAttribute(cert.subject, sn);
-      };
-      cert.subject.addField = function(attr) {
-        _fillMissingFields([attr]);
-        cert.subject.attributes.push(attr);
-      };
-      cert.subject.attributes = [];
-      cert.subject.hash = null;
-      cert.extensions = [];
-      cert.publicKey = null;
-      cert.md = null;
-      cert.setSubject = function(attrs, uniqueId) {
-        _fillMissingFields(attrs);
-        cert.subject.attributes = attrs;
-        delete cert.subject.uniqueId;
-        if (uniqueId) {
-          cert.subject.uniqueId = uniqueId;
+      if (e.name === "keyUsage") {
+        var unused = 0;
+        var b2 = 0;
+        var b3 = 0;
+        if (e.digitalSignature) {
+          b2 |= 128;
+          unused = 7;
         }
-        cert.subject.hash = null;
-      };
-      cert.setIssuer = function(attrs, uniqueId) {
-        _fillMissingFields(attrs);
-        cert.issuer.attributes = attrs;
-        delete cert.issuer.uniqueId;
-        if (uniqueId) {
-          cert.issuer.uniqueId = uniqueId;
+        if (e.nonRepudiation) {
+          b2 |= 64;
+          unused = 6;
         }
-        cert.issuer.hash = null;
-      };
-      cert.setExtensions = function(exts) {
-        for (var i = 0; i < exts.length; ++i) {
-          _fillMissingExtensionFields(exts[i], { cert });
+        if (e.keyEncipherment) {
+          b2 |= 32;
+          unused = 5;
         }
-        cert.extensions = exts;
-      };
-      cert.getExtension = function(options) {
-        if (typeof options === "string") {
-          options = { name: options };
+        if (e.dataEncipherment) {
+          b2 |= 16;
+          unused = 4;
         }
-        var rval = null;
-        var ext;
-        for (var i = 0; rval === null && i < cert.extensions.length; ++i) {
-          ext = cert.extensions[i];
-          if (options.id && ext.id === options.id) {
-            rval = ext;
-          } else if (options.name && ext.name === options.name) {
-            rval = ext;
-          }
+        if (e.keyAgreement) {
+          b2 |= 8;
+          unused = 3;
         }
-        return rval;
-      };
-      cert.sign = function(key, md) {
-        cert.md = md || forge.md.sha1.create();
-        var algorithmOid = oids[cert.md.algorithm + "WithRSAEncryption"];
-        if (!algorithmOid) {
-          var error3 = new Error("Could not compute certificate digest. Unknown message digest algorithm OID.");
-          error3.algorithm = cert.md.algorithm;
-          throw error3;
+        if (e.keyCertSign) {
+          b2 |= 4;
+          unused = 2;
         }
-        cert.signatureOid = cert.siginfo.algorithmOid = algorithmOid;
-        cert.tbsCertificate = pki2.getTBSCertificate(cert);
-        var bytes = asn1.toDer(cert.tbsCertificate);
-        cert.md.update(bytes.getBytes());
-        cert.signature = key.sign(cert.md);
-      };
-      cert.verify = function(child) {
-        var rval = false;
-        if (!cert.issued(child)) {
-          var issuer = child.issuer;
-          var subject = cert.subject;
-          var error3 = new Error(
-            "The parent certificate did not issue the given child certificate; the child certificate's issuer does not match the parent's subject."
-          );
-          error3.expectedIssuer = subject.attributes;
-          error3.actualIssuer = issuer.attributes;
-          throw error3;
+        if (e.cRLSign) {
+          b2 |= 2;
+          unused = 1;
         }
-        var md = child.md;
-        if (md === null) {
-          md = _createSignatureDigest({
-            signatureOid: child.signatureOid,
-            type: "certificate"
-          });
-          var tbsCertificate = child.tbsCertificate || pki2.getTBSCertificate(child);
-          var bytes = asn1.toDer(tbsCertificate);
-          md.update(bytes.getBytes());
+        if (e.encipherOnly) {
+          b2 |= 1;
+          unused = 0;
         }
-        if (md !== null) {
-          rval = _verifySignature({
-            certificate: cert,
-            md,
-            signature: child.signature
-          });
+        if (e.decipherOnly) {
+          b3 |= 128;
+          unused = 7;
         }
-        return rval;
-      };
-      cert.isIssuer = function(parent) {
-        var rval = false;
-        var i = cert.issuer;
-        var s = parent.subject;
-        if (i.hash && s.hash) {
-          rval = i.hash === s.hash;
-        } else if (i.attributes.length === s.attributes.length) {
-          rval = true;
-          var iattr, sattr;
-          for (var n = 0; rval && n < i.attributes.length; ++n) {
-            iattr = i.attributes[n];
-            sattr = s.attributes[n];
-            if (iattr.type !== sattr.type || iattr.value !== sattr.value) {
-              rval = false;
-            }
-          }
+        var value = String.fromCharCode(unused);
+        if (b3 !== 0) {
+          value += String.fromCharCode(b2) + String.fromCharCode(b3);
+        } else if (b2 !== 0) {
+          value += String.fromCharCode(b2);
         }
-        return rval;
-      };
-      cert.issued = function(child) {
-        return child.isIssuer(cert);
-      };
-      cert.generateSubjectKeyIdentifier = function() {
-        return pki2.getPublicKeyFingerprint(cert.publicKey, { type: "RSAPublicKey" });
-      };
-      cert.verifySubjectKeyIdentifier = function() {
-        var oid = oids["subjectKeyIdentifier"];
-        for (var i = 0; i < cert.extensions.length; ++i) {
-          var ext = cert.extensions[i];
-          if (ext.id === oid) {
-            var ski = cert.generateSubjectKeyIdentifier().getBytes();
-            return forge.util.hexToBytes(ext.subjectKeyIdentifier) === ski;
+        e.value = asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.BITSTRING,
+          false,
+          value
+        );
+      } else if (e.name === "basicConstraints") {
+        e.value = asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.SEQUENCE,
+          true,
+          []
+        );
+        if (e.cA) {
+          e.value.value.push(asn1.create(
+            asn1.Class.UNIVERSAL,
+            asn1.Type.BOOLEAN,
+            false,
+            String.fromCharCode(255)
+          ));
+        }
+        if ("pathLenConstraint" in e) {
+          e.value.value.push(asn1.create(
+            asn1.Class.UNIVERSAL,
+            asn1.Type.INTEGER,
+            false,
+            asn1.integerToDer(e.pathLenConstraint).getBytes()
+          ));
+        }
+      } else if (e.name === "extKeyUsage") {
+        e.value = asn1.create(
+          asn1.Class.UNIVERSAL,
+          asn1.Type.SEQUENCE,
+          true,
+          []
+        );
+        var seq2 = e.value.value;
+        for (var key in e) {
+          if (e[key] !== true) {
+            continue;
+          }
+          if (key in oids) {
+            seq2.push(asn1.create(
+              asn1.Class.UNIVERSAL,
+              asn1.Type.OID,
+              false,
+              asn1.oidToDer(oids[key]).getBytes()
+            ));
+          } else if (key.indexOf(".") !== -1) {
+            seq2.push(asn1.create(
+              asn1.Class.UNIVERSAL,
+              asn1.Type.OID,
+              false,
+              asn1.oidToDer(key).getBytes()
+            ));
           }
         }
-        return false;
-      };
-      return cert;
-    };
-    pki2.certificateFromAsn1 = function(obj, computeHash) {
-      var capture = {};
-      var errors = [];
-      if (!asn1.validate(obj, x509CertificateValidator, capture, errors)) {
-        var error3 = new Error("Cannot read X.509 certificate. ASN.1 object is not an X509v3 Certificate.");
-        error3.errors = errors;
-        throw error3;
-      }
-      var oid = asn1.derToOid(capture.publicKeyOid);
-      if (oid !== pki2.oids.rsaEncryption) {
-        throw new Error("Cannot read public key. OID is not RSA.");
-      }
-      var cert = pki2.createCertificate();
-      cert.version = capture.certVersion ? capture.certVersion.charCodeAt(0) : 0;
-      var serial = forge.util.createBuffer(capture.certSerialNumber);
-      cert.serialNumber = serial.toHex();
-      cert.signatureOid = forge.asn1.derToOid(capture.certSignatureOid);
-      cert.signatureParameters = _readSignatureParameters(
-        cert.signatureOid,
-        capture.certSignatureParams,
-        true
-      );
-      cert.siginfo.algorithmOid = forge.asn1.derToOid(capture.certinfoSignatureOid);
-      cert.siginfo.parameters = _readSignatureParameters(
-        cert.siginfo.algorithmOid,
-        capture.certinfoSignatureParams,
-        false
-      );
-      cert.signature = capture.certSignature;
-      var validity = [];
-      if (capture.certValidity1UTCTime !== void 0) {
-        validity.push(asn1.utcTimeToDate(capture.certValidity1UTCTime));
-      }
-      if (capture.certValidity2GeneralizedTime !== void 0) {
-        validity.push(asn1.generalizedTimeToDate(
-          capture.certValidity2GeneralizedTime
-        ));
-      }
-      if (capture.certValidity3UTCTime !== void 0) {
-        validity.push(asn1.utcTimeToDate(capture.certValidity3UTCTime));
-      }
-      if (capture.certValidity4GeneralizedTime !== void 0) {
-        validity.push(asn1.generalizedTimeToDate(
-          capture.certValidity4GeneralizedTime
-        ));
-      }
-      if (validity.length > 2) {
-        throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");
-      }
-      if (validity.length < 2) {
-        throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");
-      }
-      cert.validity.notBefore = validity[0];
-      cert.validity.notAfter = validity[1];
-      cert.tbsCertificate = capture.tbsCertificate;
-      if (computeHash) {
-        cert.md = _createSignatureDigest({
-          signatureOid: cert.signatureOid,
-          type: "certificate"
-        });
-        var bytes = asn1.toDer(cert.tbsCertificate);
-        cert.md.update(bytes.getBytes());
-      }
-      var imd = forge.md.sha1.create();
-      var ibytes = asn1.toDer(capture.certIssuer);
-      imd.update(ibytes.getBytes());
-      cert.issuer.getField = function(sn) {
-        return _getAttribute(cert.issuer, sn);
-      };
-      cert.issuer.addField = function(attr) {
-        _fillMissingFields([attr]);
-        cert.issuer.attributes.push(attr);
-      };
-      cert.issuer.attributes = pki2.RDNAttributesAsArray(capture.certIssuer);
-      if (capture.certIssuerUniqueId) {
-        cert.issuer.uniqueId = capture.certIssuerUniqueId;
-      }
-      cert.issuer.hash = imd.digest().toHex();
-      var smd = forge.md.sha1.create();
-      var sbytes = asn1.toDer(capture.certSubject);
-      smd.update(sbytes.getBytes());
-      cert.subject.getField = function(sn) {
-        return _getAttribute(cert.subject, sn);
-      };
-      cert.subject.addField = function(attr) {
-        _fillMissingFields([attr]);
-        cert.subject.attributes.push(attr);
-      };
-      cert.subject.attributes = pki2.RDNAttributesAsArray(capture.certSubject);
-      if (capture.certSubjectUniqueId) {
-        cert.subject.uniqueId = capture.certSubjectUniqueId;
-      }
-      cert.subject.hash = smd.digest().toHex();
-      if (capture.certExtensions) {
-        cert.extensions = pki2.certificateExtensionsFromAsn1(capture.certExtensions);
-      } else {
-        cert.extensions = [];
-      }
-      cert.publicKey = pki2.publicKeyFromAsn1(capture.subjectPublicKeyInfo);
-      return cert;
-    };
-    pki2.certificateExtensionsFromAsn1 = function(exts) {
-      var rval = [];
-      for (var i = 0; i < exts.value.length; ++i) {
-        var extseq = exts.value[i];
-        for (var ei = 0; ei < extseq.value.length; ++ei) {
-          rval.push(pki2.certificateExtensionFromAsn1(extseq.value[ei]));
-        }
-      }
-      return rval;
-    };
-    pki2.certificateExtensionFromAsn1 = function(ext) {
-      var e = {};
-      e.id = asn1.derToOid(ext.value[0].value);
-      e.critical = false;
-      if (ext.value[1].type === asn1.Type.BOOLEAN) {
-        e.critical = ext.value[1].value.charCodeAt(0) !== 0;
-        e.value = ext.value[2].value;
-      } else {
-        e.value = ext.value[1].value;
-      }
-      if (e.id in oids) {
-        e.name = oids[e.id];
-        if (e.name === "keyUsage") {
-          var ev = asn1.fromDer(e.value);
-          var b2 = 0;
-          var b3 = 0;
-          if (ev.value.length > 1) {
-            b2 = ev.value.charCodeAt(1);
-            b3 = ev.value.length > 2 ? ev.value.charCodeAt(2) : 0;
-          }
-          e.digitalSignature = (b2 & 128) === 128;
-          e.nonRepudiation = (b2 & 64) === 64;
-          e.keyEncipherment = (b2 & 32) === 32;
-          e.dataEncipherment = (b2 & 16) === 16;
-          e.keyAgreement = (b2 & 8) === 8;
-          e.keyCertSign = (b2 & 4) === 4;
-          e.cRLSign = (b2 & 2) === 2;
-          e.encipherOnly = (b2 & 1) === 1;
-          e.decipherOnly = (b3 & 128) === 128;
-        } else if (e.name === "basicConstraints") {
-          var ev = asn1.fromDer(e.value);
-          if (ev.value.length > 0 && ev.value[0].type === asn1.Type.BOOLEAN) {
-            e.cA = ev.value[0].value.charCodeAt(0) !== 0;
-          } else {
-            e.cA = false;
-          }
-          var value = null;
-          if (ev.value.length > 0 && ev.value[0].type === asn1.Type.INTEGER) {
-            value = ev.value[0].value;
-          } else if (ev.value.length > 1) {
-            value = ev.value[1].value;
-          }
-          if (value !== null) {
-            e.pathLenConstraint = asn1.derToInteger(value);
-          }
-        } else if (e.name === "extKeyUsage") {
-          var ev = asn1.fromDer(e.value);
-          for (var vi = 0; vi < ev.value.length; ++vi) {
-            var oid = asn1.derToOid(ev.value[vi].value);
-            if (oid in oids) {
-              e[oids[oid]] = true;
-            } else {
-              e[oid] = true;
-            }
-          }
-        } else if (e.name === "nsCertType") {
-          var ev = asn1.fromDer(e.value);
-          var b2 = 0;
-          if (ev.value.length > 1) {
-            b2 = ev.value.charCodeAt(1);
-          }
-          e.client = (b2 & 128) === 128;
-          e.server = (b2 & 64) === 64;
-          e.email = (b2 & 32) === 32;
-          e.objsign = (b2 & 16) === 16;
-          e.reserved = (b2 & 8) === 8;
-          e.sslCA = (b2 & 4) === 4;
-          e.emailCA = (b2 & 2) === 2;
-          e.objCA = (b2 & 1) === 1;
-        } else if (e.name === "subjectAltName" || e.name === "issuerAltName") {
-          e.altNames = [];
-          var gn;
-          var ev = asn1.fromDer(e.value);
-          for (var n = 0; n < ev.value.length; ++n) {
-            gn = ev.value[n];
-            var altName = {
-              type: gn.type,
-              value: gn.value
-            };
-            e.altNames.push(altName);
-            switch (gn.type) {
-              // rfc822Name
-              case 1:
-              // dNSName
-              case 2:
-              // uniformResourceIdentifier (URI)
-              case 6:
-                break;
-              // IPAddress
-              case 7:
-                altName.ip = forge.util.bytesToIP(gn.value);
-                break;
-              // registeredID
-              case 8:
-                altName.oid = asn1.derToOid(gn.value);
-                break;
-              default:
-            }
-          }
-        } else if (e.name === "subjectKeyIdentifier") {
-          var ev = asn1.fromDer(e.value);
-          e.subjectKeyIdentifier = forge.util.bytesToHex(ev.value);
-        }
-      }
-      return e;
-    };
-    pki2.certificationRequestFromAsn1 = function(obj, computeHash) {
-      var capture = {};
-      var errors = [];
-      if (!asn1.validate(obj, certificationRequestValidator, capture, errors)) {
-        var error3 = new Error("Cannot read PKCS#10 certificate request. ASN.1 object is not a PKCS#10 CertificationRequest.");
-        error3.errors = errors;
-        throw error3;
-      }
-      var oid = asn1.derToOid(capture.publicKeyOid);
-      if (oid !== pki2.oids.rsaEncryption) {
-        throw new Error("Cannot read public key. OID is not RSA.");
-      }
-      var csr = pki2.createCertificationRequest();
-      csr.version = capture.csrVersion ? capture.csrVersion.charCodeAt(0) : 0;
-      csr.signatureOid = forge.asn1.derToOid(capture.csrSignatureOid);
-      csr.signatureParameters = _readSignatureParameters(
-        csr.signatureOid,
-        capture.csrSignatureParams,
-        true
-      );
-      csr.siginfo.algorithmOid = forge.asn1.derToOid(capture.csrSignatureOid);
-      csr.siginfo.parameters = _readSignatureParameters(
-        csr.siginfo.algorithmOid,
-        capture.csrSignatureParams,
-        false
-      );
-      csr.signature = capture.csrSignature;
-      csr.certificationRequestInfo = capture.certificationRequestInfo;
-      if (computeHash) {
-        csr.md = _createSignatureDigest({
-          signatureOid: csr.signatureOid,
-          type: "certification request"
-        });
-        var bytes = asn1.toDer(csr.certificationRequestInfo);
-        csr.md.update(bytes.getBytes());
-      }
-      var smd = forge.md.sha1.create();
-      csr.subject.getField = function(sn) {
-        return _getAttribute(csr.subject, sn);
-      };
-      csr.subject.addField = function(attr) {
-        _fillMissingFields([attr]);
-        csr.subject.attributes.push(attr);
-      };
-      csr.subject.attributes = pki2.RDNAttributesAsArray(
-        capture.certificationRequestInfoSubject,
-        smd
-      );
-      csr.subject.hash = smd.digest().toHex();
-      csr.publicKey = pki2.publicKeyFromAsn1(capture.subjectPublicKeyInfo);
-      csr.getAttribute = function(sn) {
-        return _getAttribute(csr, sn);
-      };
-      csr.addAttribute = function(attr) {
-        _fillMissingFields([attr]);
-        csr.attributes.push(attr);
-      };
-      csr.attributes = pki2.CRIAttributesAsArray(
-        capture.certificationRequestInfoAttributes || []
-      );
-      return csr;
-    };
-    pki2.createCertificationRequest = function() {
-      var csr = {};
-      csr.version = 0;
-      csr.signatureOid = null;
-      csr.signature = null;
-      csr.siginfo = {};
-      csr.siginfo.algorithmOid = null;
-      csr.subject = {};
-      csr.subject.getField = function(sn) {
-        return _getAttribute(csr.subject, sn);
-      };
-      csr.subject.addField = function(attr) {
-        _fillMissingFields([attr]);
-        csr.subject.attributes.push(attr);
-      };
-      csr.subject.attributes = [];
-      csr.subject.hash = null;
-      csr.publicKey = null;
-      csr.attributes = [];
-      csr.getAttribute = function(sn) {
-        return _getAttribute(csr, sn);
-      };
-      csr.addAttribute = function(attr) {
-        _fillMissingFields([attr]);
-        csr.attributes.push(attr);
-      };
-      csr.md = null;
-      csr.setSubject = function(attrs) {
-        _fillMissingFields(attrs);
-        csr.subject.attributes = attrs;
-        csr.subject.hash = null;
-      };
-      csr.setAttributes = function(attrs) {
-        _fillMissingFields(attrs);
-        csr.attributes = attrs;
-      };
-      csr.sign = function(key, md) {
-        csr.md = md || forge.md.sha1.create();
-        var algorithmOid = oids[csr.md.algorithm + "WithRSAEncryption"];
-        if (!algorithmOid) {
-          var error3 = new Error("Could not compute certification request digest. Unknown message digest algorithm OID.");
-          error3.algorithm = csr.md.algorithm;
-          throw error3;
-        }
-        csr.signatureOid = csr.siginfo.algorithmOid = algorithmOid;
-        csr.certificationRequestInfo = pki2.getCertificationRequestInfo(csr);
-        var bytes = asn1.toDer(csr.certificationRequestInfo);
-        csr.md.update(bytes.getBytes());
-        csr.signature = key.sign(csr.md);
-      };
-      csr.verify = function() {
-        var rval = false;
-        var md = csr.md;
-        if (md === null) {
-          md = _createSignatureDigest({
-            signatureOid: csr.signatureOid,
-            type: "certification request"
-          });
-          var cri = csr.certificationRequestInfo || pki2.getCertificationRequestInfo(csr);
-          var bytes = asn1.toDer(cri);
-          md.update(bytes.getBytes());
-        }
-        if (md !== null) {
-          rval = _verifySignature({
-            certificate: csr,
-            md,
-            signature: csr.signature
-          });
-        }
-        return rval;
-      };
-      return csr;
-    };
-    function _dnToAsn1(obj) {
-      var rval = asn1.create(
-        asn1.Class.UNIVERSAL,
-        asn1.Type.SEQUENCE,
-        true,
-        []
-      );
-      var attr, set2;
-      var attrs = obj.attributes;
-      for (var i = 0; i < attrs.length; ++i) {
-        attr = attrs[i];
-        var value = attr.value;
-        var valueTagClass = asn1.Type.PRINTABLESTRING;
-        if ("valueTagClass" in attr) {
-          valueTagClass = attr.valueTagClass;
-          if (valueTagClass === asn1.Type.UTF8) {
-            value = forge.util.encodeUtf8(value);
-          }
-        }
-        set2 = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, [
-          asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
-            // AttributeType
-            asn1.create(
-              asn1.Class.UNIVERSAL,
-              asn1.Type.OID,
-              false,
-              asn1.oidToDer(attr.type).getBytes()
-            ),
-            // AttributeValue
-            asn1.create(asn1.Class.UNIVERSAL, valueTagClass, false, value)
-          ])
-        ]);
-        rval.value.push(set2);
-      }
-      return rval;
-    }
-    function _fillMissingFields(attrs) {
-      var attr;
-      for (var i = 0; i < attrs.length; ++i) {
-        attr = attrs[i];
-        if (typeof attr.name === "undefined") {
-          if (attr.type && attr.type in pki2.oids) {
-            attr.name = pki2.oids[attr.type];
-          } else if (attr.shortName && attr.shortName in _shortNames) {
-            attr.name = pki2.oids[_shortNames[attr.shortName]];
-          }
-        }
-        if (typeof attr.type === "undefined") {
-          if (attr.name && attr.name in pki2.oids) {
-            attr.type = pki2.oids[attr.name];
-          } else {
-            var error3 = new Error("Attribute type not specified.");
-            error3.attribute = attr;
-            throw error3;
-          }
-        }
-        if (typeof attr.shortName === "undefined") {
-          if (attr.name && attr.name in _shortNames) {
-            attr.shortName = _shortNames[attr.name];
-          }
-        }
-        if (attr.type === oids.extensionRequest) {
-          attr.valueConstructed = true;
-          attr.valueTagClass = asn1.Type.SEQUENCE;
-          if (!attr.value && attr.extensions) {
-            attr.value = [];
-            for (var ei = 0; ei < attr.extensions.length; ++ei) {
-              attr.value.push(pki2.certificateExtensionToAsn1(
-                _fillMissingExtensionFields(attr.extensions[ei])
-              ));
-            }
-          }
-        }
-        if (typeof attr.value === "undefined") {
-          var error3 = new Error("Attribute value not specified.");
-          error3.attribute = attr;
-          throw error3;
-        }
-      }
-    }
-    function _fillMissingExtensionFields(e, options) {
-      options = options || {};
-      if (typeof e.name === "undefined") {
-        if (e.id && e.id in pki2.oids) {
-          e.name = pki2.oids[e.id];
-        }
-      }
-      if (typeof e.id === "undefined") {
-        if (e.name && e.name in pki2.oids) {
-          e.id = pki2.oids[e.name];
-        } else {
-          var error3 = new Error("Extension ID not specified.");
-          error3.extension = e;
-          throw error3;
-        }
-      }
-      if (typeof e.value !== "undefined") {
-        return e;
-      }
-      if (e.name === "keyUsage") {
+      } else if (e.name === "nsCertType") {
         var unused = 0;
         var b2 = 0;
-        var b3 = 0;
-        if (e.digitalSignature) {
+        if (e.client) {
           b2 |= 128;
           unused = 7;
         }
-        if (e.nonRepudiation) {
+        if (e.server) {
           b2 |= 64;
           unused = 6;
         }
-        if (e.keyEncipherment) {
+        if (e.email) {
           b2 |= 32;
           unused = 5;
         }
-        if (e.dataEncipherment) {
+        if (e.objsign) {
           b2 |= 16;
           unused = 4;
         }
-        if (e.keyAgreement) {
+        if (e.reserved) {
           b2 |= 8;
           unused = 3;
         }
-        if (e.keyCertSign) {
+        if (e.sslCA) {
           b2 |= 4;
           unused = 2;
         }
-        if (e.cRLSign) {
+        if (e.emailCA) {
           b2 |= 2;
           unused = 1;
         }
-        if (e.encipherOnly) {
+        if (e.objCA) {
           b2 |= 1;
           unused = 0;
         }
-        if (e.decipherOnly) {
-          b3 |= 128;
-          unused = 7;
-        }
         var value = String.fromCharCode(unused);
-        if (b3 !== 0) {
-          value += String.fromCharCode(b2) + String.fromCharCode(b3);
-        } else if (b2 !== 0) {
+        if (b2 !== 0) {
           value += String.fromCharCode(b2);
         }
         e.value = asn1.create(
@@ -35135,129 +32479,33 @@ var require_x509 = __commonJS({
           false,
           value
         );
-      } else if (e.name === "basicConstraints") {
-        e.value = asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.SEQUENCE,
-          true,
-          []
-        );
-        if (e.cA) {
+      } else if (e.name === "subjectAltName" || e.name === "issuerAltName") {
+        e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
+        var altName;
+        for (var n = 0; n < e.altNames.length; ++n) {
+          altName = e.altNames[n];
+          var value = altName.value;
+          if (altName.type === 7 && altName.ip) {
+            value = forge.util.bytesFromIP(altName.ip);
+            if (value === null) {
+              var error3 = new Error(
+                'Extension "ip" value is not a valid IPv4 or IPv6 address.'
+              );
+              error3.extension = e;
+              throw error3;
+            }
+          } else if (altName.type === 8) {
+            if (altName.oid) {
+              value = asn1.oidToDer(asn1.oidToDer(altName.oid));
+            } else {
+              value = asn1.oidToDer(value);
+            }
+          }
           e.value.value.push(asn1.create(
-            asn1.Class.UNIVERSAL,
-            asn1.Type.BOOLEAN,
+            asn1.Class.CONTEXT_SPECIFIC,
+            altName.type,
             false,
-            String.fromCharCode(255)
-          ));
-        }
-        if ("pathLenConstraint" in e) {
-          e.value.value.push(asn1.create(
-            asn1.Class.UNIVERSAL,
-            asn1.Type.INTEGER,
-            false,
-            asn1.integerToDer(e.pathLenConstraint).getBytes()
-          ));
-        }
-      } else if (e.name === "extKeyUsage") {
-        e.value = asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.SEQUENCE,
-          true,
-          []
-        );
-        var seq2 = e.value.value;
-        for (var key in e) {
-          if (e[key] !== true) {
-            continue;
-          }
-          if (key in oids) {
-            seq2.push(asn1.create(
-              asn1.Class.UNIVERSAL,
-              asn1.Type.OID,
-              false,
-              asn1.oidToDer(oids[key]).getBytes()
-            ));
-          } else if (key.indexOf(".") !== -1) {
-            seq2.push(asn1.create(
-              asn1.Class.UNIVERSAL,
-              asn1.Type.OID,
-              false,
-              asn1.oidToDer(key).getBytes()
-            ));
-          }
-        }
-      } else if (e.name === "nsCertType") {
-        var unused = 0;
-        var b2 = 0;
-        if (e.client) {
-          b2 |= 128;
-          unused = 7;
-        }
-        if (e.server) {
-          b2 |= 64;
-          unused = 6;
-        }
-        if (e.email) {
-          b2 |= 32;
-          unused = 5;
-        }
-        if (e.objsign) {
-          b2 |= 16;
-          unused = 4;
-        }
-        if (e.reserved) {
-          b2 |= 8;
-          unused = 3;
-        }
-        if (e.sslCA) {
-          b2 |= 4;
-          unused = 2;
-        }
-        if (e.emailCA) {
-          b2 |= 2;
-          unused = 1;
-        }
-        if (e.objCA) {
-          b2 |= 1;
-          unused = 0;
-        }
-        var value = String.fromCharCode(unused);
-        if (b2 !== 0) {
-          value += String.fromCharCode(b2);
-        }
-        e.value = asn1.create(
-          asn1.Class.UNIVERSAL,
-          asn1.Type.BITSTRING,
-          false,
-          value
-        );
-      } else if (e.name === "subjectAltName" || e.name === "issuerAltName") {
-        e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
-        var altName;
-        for (var n = 0; n < e.altNames.length; ++n) {
-          altName = e.altNames[n];
-          var value = altName.value;
-          if (altName.type === 7 && altName.ip) {
-            value = forge.util.bytesFromIP(altName.ip);
-            if (value === null) {
-              var error3 = new Error(
-                'Extension "ip" value is not a valid IPv4 or IPv6 address.'
-              );
-              error3.extension = e;
-              throw error3;
-            }
-          } else if (altName.type === 8) {
-            if (altName.oid) {
-              value = asn1.oidToDer(asn1.oidToDer(altName.oid));
-            } else {
-              value = asn1.oidToDer(value);
-            }
-          }
-          e.value.value.push(asn1.create(
-            asn1.Class.CONTEXT_SPECIFIC,
-            altName.type,
-            false,
-            value
+            value
           ));
         }
       } else if (e.name === "nsComment" && options.cert) {
@@ -42045,8 +39293,8 @@ var require_context = __commonJS({
           if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) {
             this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" }));
           } else {
-            const path2 = process.env.GITHUB_EVENT_PATH;
-            process.stdout.write(`GITHUB_EVENT_PATH ${path2} does not exist${os_1.EOL}`);
+            const path3 = process.env.GITHUB_EVENT_PATH;
+            process.stdout.write(`GITHUB_EVENT_PATH ${path3} does not exist${os_1.EOL}`);
           }
         }
         this.eventName = process.env.GITHUB_EVENT_NAME;
@@ -42085,9 +39333,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -42098,7 +39346,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -42111,6 +39358,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -42123,6 +39371,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -42144,67 +39394,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -42213,129 +39486,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT");
+    var AbortError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+        this.message = message || "The operation was aborted";
+        this.code = "UND_ERR_ABORT";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
+    };
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         this.name = "InformationalError";
         this.message = message || "Request information";
         this.code = "UND_ERR_INFO";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInformationalError] === true;
+      }
+      [kInformationalError] = true;
     };
-    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -42343,8 +39685,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE");
+    var ResponseError = class extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        this.name = "ResponseError";
+        this.message = message || "Response error";
+        this.code = "UND_ERR_RESPONSE";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseError] === true;
+      }
+      [kResponseError] = true;
+    };
+    var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS");
+    var SecureProxyConnectionError = class extends UndiciError {
+      constructor(cause, message, options) {
+        super(message, { cause, ...options ?? {} });
+        this.name = "SecureProxyConnectionError";
+        this.message = message || "Secure Proxy Connection failed";
+        this.code = "UND_ERR_PRX_TLS";
+        this.cause = cause;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSecureProxyConnectionError] === true;
+      }
+      [kSecureProxyConnectionError] = true;
     };
     module2.exports = {
+      AbortError,
       HTTPParserError,
       UndiciError,
       HeadersTimeoutError,
@@ -42364,14 +39741,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
+var require_constants6 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -42484,28 +39863,212 @@ var require_constants7 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              node.middle = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.code < code) {
+            if (node.left !== null) {
+              node = node.left;
+            } else {
+              node.left = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.right !== null) {
+            node = node.right;
+          } else {
+            node.right = new _TstNode(key, value, index);
+            break;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    var TernarySearchTree = class {
+      /** @type {TstNode | null} */
+      node = null;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * */
+      insert(key, value) {
+        if (this.node === null) {
+          this.node = new TstNode(key, value, 0);
+        } else {
+          this.node.add(key, value);
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {any}
+       */
+      lookup(key) {
+        return this.node?.search(key)?.value ?? null;
+      }
+    };
+    var tree = new TernarySearchTree();
+    for (let i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]];
+      tree.insert(key, key);
+    }
+    module2.exports = {
+      TernarySearchTree,
+      tree
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/core/util.js
 var require_util10 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream = require("node:stream");
+    var net = require("node:net");
+    var { Blob: Blob2 } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var { stringify } = require("node:querystring");
+    var { EventEmitter: EE } = require("node:events");
     var { InvalidArgumentError } = require_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
-    var { headerNameLowerCasedRecord } = require_constants7();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      if (object === null) {
+        return false;
+      } else if (object instanceof Blob2) {
+        return true;
+      } else if (typeof object !== "object") {
+        return false;
+      } else {
+        const sTag = object[Symbol.toStringTag];
+        return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function");
+      }
     }
     function buildURL(url, queryParams) {
       if (url.includes("?") || url.includes("#")) {
@@ -42517,10 +40080,17 @@ var require_util10 = __commonJS({
       }
       return url;
     }
+    function isValidPort(port) {
+      const value = parseInt(port, 10);
+      return value === Number(port) && value >= 0 && value <= 65535;
+    }
+    function isHttpOrHttpsPrefixed(value) {
+      return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
+    }
     function parseURL(url) {
       if (typeof url === "string") {
         url = new URL(url);
-        if (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -42528,11 +40098,8 @@ var require_util10 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -42547,16 +40114,22 @@ var require_util10 = __commonJS({
         if (url.origin != null && typeof url.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
-        let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
-        let path2 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        let origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
+        let path3 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path2 && !path2.startsWith("/")) {
-          path2 = `/${path2}`;
+        if (path3 && path3[0] !== "/") {
+          path3 = `/${path3}`;
         }
-        url = new URL(origin + path2);
+        return new URL(`${origin}${path3}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -42581,7 +40154,7 @@ var require_util10 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -42610,12 +40183,8 @@ var require_util10 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream2) {
-      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
-    }
-    function isReadableAborted(stream2) {
-      const state = stream2 && stream2._readableState;
-      return isDestroyed(stream2) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body));
     }
     function destroy(stream2, err) {
       if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
@@ -42627,9 +40196,9 @@ var require_util10 = __commonJS({
         }
         stream2.destroy(err);
       } else if (err) {
-        process.nextTick((stream3, err2) => {
-          stream3.emit("error", err2);
-        }, stream2, err);
+        queueMicrotask(() => {
+          stream2.emit("error", err);
+        });
       }
       if (stream2.destroyed !== true) {
         stream2[kDestroyed] = true;
@@ -42641,25 +40210,29 @@ var require_util10 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        if (val) {
+          if (typeof val === "string") {
             val = [val];
             obj[key] = val;
           }
           val.push(headers[i + 1].toString("utf8"));
+        } else {
+          const headersValue = headers[i + 1];
+          if (typeof headersValue === "string") {
+            obj[key] = headersValue;
+          } else {
+            obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -42668,20 +40241,26 @@ var require_util10 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      const len = headers.length;
+      const ret = new Array(len);
       let hasContentLength = false;
       let contentDispositionIdx = -1;
+      let key;
+      let val;
+      let kLen = 0;
       for (let n = 0; n < headers.length; n += 2) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        key = headers[n];
+        val = headers[n + 1];
+        typeof key !== "string" && (key = key.toString());
+        typeof val !== "string" && (val = val.toString("utf8"));
+        kLen = key.length;
+        if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) {
           hasContentLength = true;
-        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -42721,17 +40300,13 @@ var require_util10 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -42745,21 +40320,9 @@ var require_util10 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -42769,37 +40332,26 @@ var require_util10 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          type: "bytes"
+        }
       );
     }
     function isFormDataLike(object) {
       return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
     }
-    function throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -42808,14 +40360,52 @@ var require_util10 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.toUSVString(val);
+      return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val);
+    }
+    function isUSVString(val) {
+      return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`;
+    }
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
+      }
+    }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
+        }
       }
-      return `${val}`;
+      return true;
+    }
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    function isValidHeaderValue(characters) {
+      return !headerCharRegex.test(characters);
     }
     function parseRangeHeader(range) {
       if (range == null || range === "") return { start: 0, end: null, size: null };
@@ -42826,8 +40416,49 @@ var require_util10 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
     var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
     kEnumerableProperty.enumerable = true;
+    var normalizedMethodRecordsBase = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    var normalizedMethodRecords = {
+      ...normalizedMethodRecordsBase,
+      patch: "patch",
+      PATCH: "PATCH"
+    };
+    Object.setPrototypeOf(normalizedMethodRecordsBase, null);
+    Object.setPrototypeOf(normalizedMethodRecords, null);
     module2.exports = {
       kEnumerableProperty,
       nop,
@@ -42835,7 +40466,7 @@ var require_util10 = __commonJS({
       isErrored,
       isReadable,
       toUSVString,
-      isReadableAborted,
+      isUSVString,
       isBlobLike,
       parseOrigin,
       parseURL,
@@ -42845,6 +40476,10 @@ var require_util10 = __commonJS({
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -42857,3378 +40492,1830 @@ var require_util10 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
-    };
-  }
-});
-
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
-    "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
-    }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
-          );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
-      }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
-    }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
-    module2.exports = PartStream;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    var diagnosticsChannel = require("node:diagnostics_channel");
+    var util = require("node:util");
+    var undiciDebugLog = util.debuglog("undici");
+    var fetchDebuglog = util.debuglog("fetch");
+    var websocketDebuglog = util.debuglog("websocket");
+    var isClientSet = false;
+    var channels = {
+      // Client
+      beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
+      connected: diagnosticsChannel.channel("undici:client:connected"),
+      connectError: diagnosticsChannel.channel("undici:client:connectError"),
+      sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
+      // Request
+      create: diagnosticsChannel.channel("undici:request:create"),
+      bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
+      headers: diagnosticsChannel.channel("undici:request:headers"),
+      trailers: diagnosticsChannel.channel("undici:request:trailers"),
+      error: diagnosticsChannel.channel("undici:request:error"),
+      // WebSocket
+      open: diagnosticsChannel.channel("undici:websocket:open"),
+      close: diagnosticsChannel.channel("undici:websocket:close"),
+      socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
+      ping: diagnosticsChannel.channel("undici:websocket:ping"),
+      pong: diagnosticsChannel.channel("undici:websocket:pong")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
-        }
-        if (isMatch) {
-          self2._finish();
-        }
+    if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
+      const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog;
+      diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connecting to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
       });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
-        }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
-        }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
-        }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
-        }
+      diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connected to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host },
+          error: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path3);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path3,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path3);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path3,
+          error3.message
+        );
+      });
+      isClientSet = true;
+    }
+    if (websocketDebuglog.enabled) {
+      if (!isClientSet) {
+        const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog;
+        diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connecting to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connected to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host },
+            error: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path3, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path3);
+        });
       }
+      diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => {
+        const {
+          address: { address, port }
+        } = evt;
+        websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : "");
+      });
+      diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => {
+        const { websocket, code, reason } = evt;
+        websocketDebuglog(
+          "closed connection to %s - %s %s",
+          websocket.url,
+          code,
+          reason
+        );
+      });
+      diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => {
+        websocketDebuglog("connection errored - %s", err.message);
+      });
+      diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => {
+        websocketDebuglog("ping received");
+      });
+      diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => {
+        websocketDebuglog("pong received");
+      });
+    }
+    module2.exports = {
+      channels
     };
-    module2.exports = HeaderParser;
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
-        }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
-          }
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util10();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path3,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path3 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path3[0] !== "/" && !(path3.startsWith("http://") || path3.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path3)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
-        } else {
-          return cb();
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
+          throw new InvalidArgumentError("invalid request method");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
-          }
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
-          }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        if (this._dashes) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-      }
-      if (this._justMatched) {
-        this._justMatched = false;
-      }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path3, query) : path3;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
           }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
-        } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
           }
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
+          }
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
+        } else {
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      }
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    function processHeader(request2, key, val) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path2) {
-      if (typeof path2 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path2.length - 1; i >= 0; --i) {
-        switch (path2.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path2 = path2.slice(i + 1);
-            return path2 === ".." || path2 === "." ? "" : path2;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path2 === ".." || path2 === "." ? "" : path2;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        request2.host = val;
+      } else if (request2.contentLength === null && headerName === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } else if (request2.contentType === null && headerName === "content-type") {
+        request2.contentType = val;
+        request2.headers.push(key, val);
+      } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
+        throw new InvalidArgumentError(`invalid ${headerName} header`);
+      } else if (headerName === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
         }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      compose(...args) {
+        const interceptors = Array.isArray(args[0]) ? args[0] : args;
+        let dispatch = this.dispatch.bind(this);
+        for (const interceptor of interceptors) {
+          if (interceptor == null) {
+            continue;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve2, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve2(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
+        });
       }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve2, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve2(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
+        }
+        if (!err) {
+          err = new ClientDestroyedError();
+        }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
+        }
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
+        }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
+      }
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
+        }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
+          }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
+          }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
+          }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
+          }
+          handler2.onError(err);
+          return false;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer");
+    var fastTimers = [];
+    var NOT_IN_LIST = -2;
+    var TO_BE_CLEARED = -1;
+    var PENDING = 0;
+    var ACTIVE = 1;
+    function onTick() {
+      fastNow += TICK_MS;
+      let idx = 0;
+      let len = fastTimers.length;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer._state === PENDING) {
+          timer._idleStart = fastNow - TICK_MS;
+          timer._state = ACTIVE;
+        } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
+          timer._state = TO_BE_CLEARED;
+          timer._idleStart = -1;
+          timer._onTimeout(timer._timerArg);
+        }
+        if (timer._state === TO_BE_CLEARED) {
+          timer._state = NOT_IN_LIST;
+          if (--len !== 0) {
+            fastTimers[idx] = fastTimers[len];
+          }
+        } else {
+          ++idx;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
-    function getGlobalOrigin() {
-      return globalThis[globalOrigin];
     }
-    function setGlobalOrigin(newOrigin) {
-      if (newOrigin === void 0) {
-        Object.defineProperty(globalThis, globalOrigin, {
-          value: void 0,
-          writable: true,
-          enumerable: false,
-          configurable: false
-        });
-        return;
+    var FastTimer = class {
+      [kFastTimer] = true;
+      /**
+       * The state of the timer, which can be one of the following:
+       * - NOT_IN_LIST (-2)
+       * - TO_BE_CLEARED (-1)
+       * - PENDING (0)
+       * - ACTIVE (1)
+       *
+       * @type {-2|-1|0|1}
+       * @private
+       */
+      _state = NOT_IN_LIST;
+      /**
+       * The number of milliseconds to wait before calling the callback.
+       *
+       * @type {number}
+       * @private
+       */
+      _idleTimeout = -1;
+      /**
+       * The time in milliseconds when the timer was started. This value is used to
+       * calculate when the timer should expire.
+       *
+       * @type {number}
+       * @default -1
+       * @private
+       */
+      _idleStart = -1;
+      /**
+       * The function to be executed when the timer expires.
+       * @type {Function}
+       * @private
+       */
+      _onTimeout;
+      /**
+       * The argument to be passed to the callback when the timer expires.
+       *
+       * @type {*}
+       * @private
+       */
+      _timerArg;
+      /**
+       * @constructor
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should wait
+       * before the specified function or code is executed.
+       * @param {*} arg
+       */
+      constructor(callback, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * Sets the timer's start time to the current time, and reschedules the timer
+       * to call its callback at the previously specified duration adjusted to the
+       * current time.
+       * Using this on a timer that has already called its callback will reactivate
+       * the timer.
+       *
+       * @returns {void}
+       */
+      refresh() {
+        if (this._state === NOT_IN_LIST) {
+          fastTimers.push(this);
+        }
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
+        }
+        this._state = PENDING;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * The setTimeout() method sets a timer which executes a function once the
+       * timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {NodeJS.Timeout|FastTimer}
+       */
+      setTimeout(callback, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated Timer previously created
+       * by calling setTimeout.
+       *
+       * @param {NodeJS.Timeout|FastTimer} timeout
+       */
+      clearTimeout(timeout) {
+        if (timeout[kFastTimer]) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
+      },
+      /**
+       * The setFastTimeout() method sets a fastTimer which executes a function once
+       * the timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {FastTimer}
+       */
+      setFastTimeout(callback, delay2, arg) {
+        return new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated FastTimer previously
+       * created by calling setFastTimeout.
+       *
+       * @param {FastTimer} timeout
+       */
+      clearFastTimeout(timeout) {
+        timeout.clear();
+      },
+      /**
+       * The now method returns the value of the internal fast timer clock.
+       *
+       * @returns {number}
+       */
+      now() {
+        return fastNow;
+      },
+      /**
+       * Trigger the onTick function to process the fastTimers array.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       * @param {number} [delay=0] The delay in milliseconds to add to the now value.
+       */
+      tick(delay2 = 0) {
+        fastNow += delay2 - RESOLUTION_MS + 1;
+        onTick();
+        onTick();
+      },
+      /**
+       * Reset FastTimers.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      reset() {
+        fastNow = 0;
+        fastTimers.length = 0;
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = null;
+      },
+      /**
+       * Exporting for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      kFastTimer
     };
   }
 });
 
-// node_modules/undici/lib/fetch/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance2 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util10();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
-    } catch {
-    }
-    function responseURL(response) {
-      const urlList = response.urlList;
-      const length = urlList.length;
-      return length === 0 ? null : urlList[length - 1].toString();
-    }
-    function responseLocationURL(response, requestFragment) {
-      if (!redirectStatusSet.has(response.status)) {
-        return null;
-      }
-      let location = response.headersList.get("location");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
-        return "blocked";
-      }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util10();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    function isValidReasonPhrase(statusText) {
-      for (let i = 0; i < statusText.length; ++i) {
-        const c = statusText.charCodeAt(i);
-        if (!(c === 9 || // HTAB
-        c >= 32 && c <= 126 || // SP / VCHAR
-        c >= 128 && c <= 255)) {
-          return false;
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
         }
-      }
-      return true;
-    }
-    function isTokenCharCode(c) {
-      switch (c) {
-        case 34:
-        case 40:
-        case 41:
-        case 44:
-        case 47:
-        case 58:
-        case 59:
-        case 60:
-        case 61:
-        case 62:
-        case 63:
-        case 64:
-        case 91:
-        case 92:
-        case 93:
-        case 123:
-        case 125:
-          return false;
-        default:
-          return c >= 33 && c <= 126;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      if (policy !== "") {
-        request2.referrerPolicy = policy;
-      }
-    }
-    function crossOriginResourcePolicyCheck() {
-      return "allowed";
-    }
-    function corsCheck() {
-      return "success";
-    }
-    function TAOCheck() {
-      return "success";
-    }
-    function appendFetchMetadata(httpRequest) {
-      let header = null;
-      header = httpRequest.mode;
-      httpRequest.headersList.set("sec-fetch-mode", header);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
         }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
+          }
+          this._sessionCache.set(sessionKey, session);
         }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance2.now();
-    }
-    function createOpaqueTimingInfo(timingInfo) {
-      return {
-        startTime: timingInfo.startTime ?? 0,
-        redirectStartTime: 0,
-        redirectEndTime: 0,
-        postRedirectStartTime: timingInfo.startTime ?? 0,
-        finalServiceWorkerStartTime: 0,
-        finalNetworkResponseStartTime: 0,
-        finalNetworkRequestStartTime: 0,
-        endTime: 0,
-        encodedBodySize: 0,
-        decodedBodySize: 0,
-        finalConnectionTimingInfo: null
-      };
-    }
-    function makePolicyContainer() {
-      return {
-        referrerPolicy: "strict-origin-when-cross-origin"
-      };
-    }
-    function clonePolicyContainer(policyContainer) {
-      return {
-        referrerPolicy: policyContainer.referrerPolicy
       };
     }
-    function determineRequestsReferrer(request2) {
-      const policy = request2.referrerPolicy;
-      assert(policy);
-      let referrerSource = null;
-      if (request2.referrer === "client") {
-        const globalOrigin = getGlobalOrigin();
-        if (!globalOrigin || globalOrigin.origin === "null") {
-          return "no-referrer";
-        }
-        referrerSource = new URL(globalOrigin);
-      } else if (request2.referrer instanceof URL) {
-        referrerSource = request2.referrer;
-      }
-      let referrerURL = stripURLForReferrer(referrerSource);
-      const referrerOrigin = stripURLForReferrer(referrerSource, true);
-      if (referrerURL.toString().length > 4096) {
-        referrerURL = referrerOrigin;
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
       }
-      const areSameOrigin = sameOrigin(request2, referrerURL);
-      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
-      switch (policy) {
-        case "origin":
-          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
-        case "unsafe-url":
-          return referrerURL;
-        case "same-origin":
-          return areSameOrigin ? referrerOrigin : "no-referrer";
-        case "origin-when-cross-origin":
-          return areSameOrigin ? referrerURL : referrerOrigin;
-        case "strict-origin-when-cross-origin": {
-          const currentURL = requestCurrentURL(request2);
-          if (sameOrigin(referrerURL, currentURL)) {
-            return referrerURL;
-          }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("node:tls");
           }
-          return referrerOrigin;
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          assert(sessionKey);
+          const session = customSession || sessionCache.get(sessionKey) || null;
+          port = port || 443;
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          port = port || 80;
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port,
+            host: hostname
+          });
         }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url, originOnly) {
-      assert(url instanceof URL);
-      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url.username = "";
-      url.password = "";
-      url.hash = "";
-      if (originOnly) {
-        url.pathname = "";
-        url.search = "";
-      }
-      return url;
-    }
-    function isURLPotentiallyTrustworthy(url) {
-      if (!(url instanceof URL)) {
-        return false;
-      }
-      if (url.href === "about:blank" || url.href === "about:srcdoc") {
-        return true;
-      }
-      if (url.protocol === "data:") return true;
-      if (url.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-        return false;
-      }
-    }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto2 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
-      }
-      const strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
-        if (actualValue[actualValue.length - 1] === "=") {
-          if (actualValue[actualValue.length - 2] === "=") {
-            actualValue = actualValue.slice(0, -2);
-          } else {
-            actualValue = actualValue.slice(0, -1);
+        const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port });
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
           }
-        }
-        if (compareBase64Mixed(actualValue, expectedValue)) {
-          return true;
-        }
-      }
-      return false;
-    }
-    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
-    function parseMetadata(metadata) {
-      const result = [];
-      let empty = true;
-      for (const token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
-          continue;
-        }
-        const algorithm = parsedToken.groups.algo.toLowerCase();
-        if (supportedHashes.includes(algorithm)) {
-          result.push(parsedToken.groups);
-        }
-      }
-      if (empty === true) {
-        return "no metadata";
-      }
-      return result;
-    }
-    function getStrongestMetadata(metadataList) {
-      let algorithm = metadataList[0].algo;
-      if (algorithm[3] === "5") {
-        return algorithm;
-      }
-      for (let i = 1; i < metadataList.length; ++i) {
-        const metadata = metadataList[i];
-        if (metadata.algo[3] === "5") {
-          algorithm = "sha512";
-          break;
-        } else if (algorithm[3] === "3") {
-          continue;
-        } else if (metadata.algo[3] === "3") {
-          algorithm = "sha384";
-        }
-      }
-      return algorithm;
-    }
-    function filterMetadataListByAlgorithm(metadataList, algorithm) {
-      if (metadataList.length === 1) {
-        return metadataList;
-      }
-      let pos = 0;
-      for (let i = 0; i < metadataList.length; ++i) {
-        if (metadataList[i].algo === algorithm) {
-          metadataList[pos++] = metadataList[i];
-        }
-      }
-      metadataList.length = pos;
-      return metadataList;
-    }
-    function compareBase64Mixed(actualValue, expectedValue) {
-      if (actualValue.length !== expectedValue.length) {
-        return false;
-      }
-      for (let i = 0; i < actualValue.length; ++i) {
-        if (actualValue[i] !== expectedValue[i]) {
-          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
-            continue;
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          return false;
-        }
-      }
-      return true;
-    }
-    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
-    }
-    function sameOrigin(A, B) {
-      if (A.origin === B.origin && A.origin === "null") {
-        return true;
-      }
-      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
-        return true;
-      }
-      return false;
-    }
-    function createDeferredPromise() {
-      let res;
-      let rej;
-      const promise = new Promise((resolve2, reject) => {
-        res = resolve2;
-        rej = reject;
-      });
-      return { promise, resolve: res, reject: rej };
-    }
-    function isAborted(fetchParams) {
-      return fetchParams.controller.state === "aborted";
-    }
-    function isCancelled(fetchParams) {
-      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
+        });
+        return socket;
+      };
     }
-    function serializeJavascriptValueToJSONString(value) {
-      const result = JSON.stringify(value);
-      if (result === void 0) {
-        throw new TypeError("Value is not JSON serializable");
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      assert(typeof result === "string");
-      return result;
-    }
-    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
-          }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
-          }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+      let s1 = null;
+      let s2 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+        clearImmediate(s2);
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
+    } : (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
+      let s1 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          onConnectTimeout(socketWeakRef.deref(), opts);
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+      };
+    };
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
         return;
       }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
-      }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
-      }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
-      }
-      return input;
-    }
-    async function readAllBytes(reader) {
-      const bytes = [];
-      let byteLength = 0;
-      while (true) {
-        const { done, value: chunk } = await reader.read();
-        if (done) {
-          return Buffer.concat(bytes, byteLength);
-        }
-        if (!isUint8Array(chunk)) {
-          throw new TypeError("Received non-Uint8Array chunk");
-        }
-        bytes.push(chunk);
-        byteLength += chunk.length;
-      }
-    }
-    function urlIsLocal(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
-    }
-    function urlHasHttpsScheme(url) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return url.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url) {
-      assert("protocol" in url);
-      const protocol = url.protocol;
-      return protocol === "http:" || protocol === "https:";
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    module2.exports = buildConnector;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
-    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
+        }
+      });
+      return res;
+    }
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util11();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
-    };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
-      });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
-      });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
-      } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
-      }
-    };
-    webidl.argumentLengthCheck = function({ length }, min, ctx) {
-      if (length < min) {
-        throw webidl.errors.exception({
-          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
-          ...ctx
-        });
-      }
-    };
-    webidl.illegalConstructor = function() {
-      throw webidl.errors.exception({
-        header: "TypeError",
-        message: "Illegal constructor"
-      });
-    };
-    webidl.util.Type = function(V) {
-      switch (typeof V) {
-        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": {
-          if (V === null) {
-            return "Null";
-          }
-          return "Object";
-        }
-      }
-    };
-    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
-      let upperBound;
-      let lowerBound;
-      if (bitLength === 64) {
-        upperBound = Math.pow(2, 53) - 1;
-        if (signedness === "unsigned") {
-          lowerBound = 0;
-        } else {
-          lowerBound = Math.pow(-2, 53) + 1;
-        }
-      } else if (signedness === "unsigned") {
-        lowerBound = 0;
-        upperBound = Math.pow(2, bitLength) - 1;
-      } else {
-        lowerBound = Math.pow(-2, bitLength) - 1;
-        upperBound = Math.pow(2, bitLength - 1) - 1;
-      }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
-      }
-      if (opts.enforceRange === true) {
-        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Could not convert ${V} to an integer.`
-          });
-        }
-        x = webidl.util.IntegerPart(x);
-        if (x < lowerBound || x > upperBound) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
-          });
-        }
-        return x;
-      }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
-        }
-        return x;
-      }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
-      }
-      x = webidl.util.IntegerPart(x);
-      x = x % Math.pow(2, bitLength);
-      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
-        return x - Math.pow(2, bitLength);
-      }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
-      }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
-        }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
-        }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
-          }
-          seq2.push(converter(value));
-        }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
-        }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
-          }
-          return result;
-        }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
-          }
-        }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
-        }
-        return V;
-      };
-    };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
-        }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
-          }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
-          }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
-            }
-            dict[key] = value;
-          }
-        }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
-        }
-        return converter(V);
-      };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
-      }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
-      }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      for (let index = 0; index < x.length; index++) {
-        if (x.charCodeAt(index) > 255) {
-          throw new TypeError(
-            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
-          );
-        }
-      }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
       }
-      return V;
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
     };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
-      }
-      return V;
+    exports2.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
     };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
-      }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
-      }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
+    }
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
     };
   }
 });
 
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util11();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
-      }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
-        }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
-      }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
-      }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
-      }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
+    "use strict";
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    "use strict";
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEVDF8LQZIBIQMgASAERg2aAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGhzwBqLQAARw1dIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAybAgsgAkEANgIAIAZBAWohAUEeDF4LIAEgBEYEQEGTASEDDJoCCyABLQAAQcwARw1bIAFBAWohAUEKDF0LIAEgBEYEQEGUASEDDJkCCwJAAkAgAS0AAEHBAGsODwBcXFxcXFxcXFxcXFxcAVwLIAFBAWohAUH+ACEDDIACCyABQQFqIQFB/wAhAwz/AQsgASAERgRAQZUBIQMMmAILAkACQCABLQAAQcEAaw4DAFsBWwsgAUEBaiEBQf0AIQMM/wELIAFBAWohAUGAASEDDP4BC0GWASEDIAEgBEYNlgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBp88Aai0AAEcNWSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlwILIAJBADYCACAGQQFqIQFBCwxaCyABIARGBEBBlwEhAwyWAgsCQAJAAkACQCABLQAAQS1rDiMAW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1sBW1tbW1sCW1tbA1sLIAFBAWohAUH7ACEDDP8BCyABQQFqIQFB/AAhAwz+AQsgAUEBaiEBQYEBIQMM/QELIAFBAWohAUGCASEDDPwBC0GYASEDIAEgBEYNlAIgAigCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABBqc8Aai0AAEcNVyAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlQILIAJBADYCACAGQQFqIQFBGQxYC0GZASEDIAEgBEYNkwIgAigCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBrs8Aai0AAEcNViAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlAILIAJBADYCACAGQQFqIQFBBgxXC0GaASEDIAEgBEYNkgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBtM8Aai0AAEcNVSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkwILIAJBADYCACAGQQFqIQFBHAxWC0GbASEDIAEgBEYNkQIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBts8Aai0AAEcNVCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkgILIAJBADYCACAGQQFqIQFBJwxVCyABIARGBEBBnAEhAwyRAgsCQAJAIAEtAABB1ABrDgIAAVQLIAFBAWohAUGGASEDDPgBCyABQQFqIQFBhwEhAwz3AQtBnQEhAyABIARGDY8CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjPAGotAABHDVIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADJACCyACQQA2AgAgBkEBaiEBQSYMUwtBngEhAyABIARGDY4CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbrPAGotAABHDVEgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI8CCyACQQA2AgAgBkEBaiEBQQMMUgtBnwEhAyABIARGDY0CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDVAgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI4CCyACQQA2AgAgBkEBaiEBQQwMUQtBoAEhAyABIARGDYwCIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQbzPAGotAABHDU8gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI0CCyACQQA2AgAgBkEBaiEBQQ0MUAsgASAERgRAQaEBIQMMjAILAkACQCABLQAAQcYAaw4LAE9PT09PT09PTwFPCyABQQFqIQFBiwEhAwzzAQsgAUEBaiEBQYwBIQMM8gELIAEgBEYEQEGiASEDDIsCCyABLQAAQdAARw1MIAFBAWohAQxGCyABIARGBEBBowEhAwyKAgsCQAJAIAEtAABByQBrDgcBTU1NTU0ATQsgAUEBaiEBQY4BIQMM8QELIAFBAWohAUEiDE0LQaQBIQMgASAERg2IAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHAzwBqLQAARw1LIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyJAgsgAkEANgIAIAZBAWohAUEdDEwLIAEgBEYEQEGlASEDDIgCCwJAAkAgAS0AAEHSAGsOAwBLAUsLIAFBAWohAUGQASEDDO8BCyABQQFqIQFBBAxLCyABIARGBEBBpgEhAwyHAgsCQAJAAkACQAJAIAEtAABBwQBrDhUATU1NTU1NTU1NTQFNTQJNTQNNTQRNCyABQQFqIQFBiAEhAwzxAQsgAUEBaiEBQYkBIQMM8AELIAFBAWohAUGKASEDDO8BCyABQQFqIQFBjwEhAwzuAQsgAUEBaiEBQZEBIQMM7QELQacBIQMgASAERg2FAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHtzwBqLQAARw1IIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyGAgsgAkEANgIAIAZBAWohAUERDEkLQagBIQMgASAERg2EAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHCzwBqLQAARw1HIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyFAgsgAkEANgIAIAZBAWohAUEsDEgLQakBIQMgASAERg2DAiACKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHFzwBqLQAARw1GIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyEAgsgAkEANgIAIAZBAWohAUErDEcLQaoBIQMgASAERg2CAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHKzwBqLQAARw1FIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyDAgsgAkEANgIAIAZBAWohAUEUDEYLIAEgBEYEQEGrASEDDIICCwJAAkACQAJAIAEtAABBwgBrDg8AAQJHR0dHR0dHR0dHRwNHCyABQQFqIQFBkwEhAwzrAQsgAUEBaiEBQZQBIQMM6gELIAFBAWohAUGVASEDDOkBCyABQQFqIQFBlgEhAwzoAQsgASAERgRAQawBIQMMgQILIAEtAABBxQBHDUIgAUEBaiEBDD0LQa0BIQMgASAERg3/ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHNzwBqLQAARw1CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyAAgsgAkEANgIAIAZBAWohAUEODEMLIAEgBEYEQEGuASEDDP8BCyABLQAAQdAARw1AIAFBAWohAUElDEILQa8BIQMgASAERg39ASACKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEHQzwBqLQAARw1AIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz+AQsgAkEANgIAIAZBAWohAUEqDEELIAEgBEYEQEGwASEDDP0BCwJAAkAgAS0AAEHVAGsOCwBAQEBAQEBAQEABQAsgAUEBaiEBQZoBIQMM5AELIAFBAWohAUGbASEDDOMBCyABIARGBEBBsQEhAwz8AQsCQAJAIAEtAABBwQBrDhQAPz8/Pz8/Pz8/Pz8/Pz8/Pz8/AT8LIAFBAWohAUGZASEDDOMBCyABQQFqIQFBnAEhAwziAQtBsgEhAyABIARGDfoBIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQdnPAGotAABHDT0gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPsBCyACQQA2AgAgBkEBaiEBQSEMPgtBswEhAyABIARGDfkBIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQd3PAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPoBCyACQQA2AgAgBkEBaiEBQRoMPQsgASAERgRAQbQBIQMM+QELAkACQAJAIAEtAABBxQBrDhEAPT09PT09PT09AT09PT09Aj0LIAFBAWohAUGdASEDDOEBCyABQQFqIQFBngEhAwzgAQsgAUEBaiEBQZ8BIQMM3wELQbUBIQMgASAERg33ASACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHkzwBqLQAARw06IABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz4AQsgAkEANgIAIAZBAWohAUEoDDsLQbYBIQMgASAERg32ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHqzwBqLQAARw05IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz3AQsgAkEANgIAIAZBAWohAUEHDDoLIAEgBEYEQEG3ASEDDPYBCwJAAkAgAS0AAEHFAGsODgA5OTk5OTk5OTk5OTkBOQsgAUEBaiEBQaEBIQMM3QELIAFBAWohAUGiASEDDNwBC0G4ASEDIAEgBEYN9AEgAigCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB7c8Aai0AAEcNNyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9QELIAJBADYCACAGQQFqIQFBEgw4C0G5ASEDIAEgBEYN8wEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8M8Aai0AAEcNNiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9AELIAJBADYCACAGQQFqIQFBIAw3C0G6ASEDIAEgBEYN8gEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8s8Aai0AAEcNNSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8wELIAJBADYCACAGQQFqIQFBDww2CyABIARGBEBBuwEhAwzyAQsCQAJAIAEtAABByQBrDgcANTU1NTUBNQsgAUEBaiEBQaUBIQMM2QELIAFBAWohAUGmASEDDNgBC0G8ASEDIAEgBEYN8AEgAigCACIAIAQgAWtqIQUgASAAa0EHaiEGAkADQCABLQAAIABB9M8Aai0AAEcNMyAAQQdGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8QELIAJBADYCACAGQQFqIQFBGww0CyABIARGBEBBvQEhAwzwAQsCQAJAAkAgAS0AAEHCAGsOEgA0NDQ0NDQ0NDQBNDQ0NDQ0AjQLIAFBAWohAUGkASEDDNgBCyABQQFqIQFBpwEhAwzXAQsgAUEBaiEBQagBIQMM1gELIAEgBEYEQEG+ASEDDO8BCyABLQAAQc4ARw0wIAFBAWohAQwsCyABIARGBEBBvwEhAwzuAQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQcEAaw4VAAECAz8EBQY/Pz8HCAkKCz8MDQ4PPwsgAUEBaiEBQegAIQMM4wELIAFBAWohAUHpACEDDOIBCyABQQFqIQFB7gAhAwzhAQsgAUEBaiEBQfIAIQMM4AELIAFBAWohAUHzACEDDN8BCyABQQFqIQFB9gAhAwzeAQsgAUEBaiEBQfcAIQMM3QELIAFBAWohAUH6ACEDDNwBCyABQQFqIQFBgwEhAwzbAQsgAUEBaiEBQYQBIQMM2gELIAFBAWohAUGFASEDDNkBCyABQQFqIQFBkgEhAwzYAQsgAUEBaiEBQZgBIQMM1wELIAFBAWohAUGgASEDDNYBCyABQQFqIQFBowEhAwzVAQsgAUEBaiEBQaoBIQMM1AELIAEgBEcEQCACQRA2AgggAiABNgIEQasBIQMM1AELQcABIQMM7AELQQAhAAJAIAIoAjgiA0UNACADKAI0IgNFDQAgAiADEQAAIQALIABFDV4gAEEVRw0HIAJB0QA2AhwgAiABNgIUIAJBsBc2AhAgAkEVNgIMQQAhAwzrAQsgAUEBaiABIARHDQgaQcIBIQMM6gELA0ACQCABLQAAQQprDgQIAAALAAsgBCABQQFqIgFHDQALQcMBIQMM6QELIAEgBEcEQCACQRE2AgggAiABNgIEQQEhAwzQAQtBxAEhAwzoAQsgASAERgRAQcUBIQMM6AELAkACQCABLQAAQQprDgQBKCgAKAsgAUEBagwJCyABQQFqDAULIAEgBEYEQEHGASEDDOcBCwJAAkAgAS0AAEEKaw4XAQsLAQsLCwsLCwsLCwsLCwsLCwsLCwALCyABQQFqIQELQbABIQMMzQELIAEgBEYEQEHIASEDDOYBCyABLQAAQSBHDQkgAkEAOwEyIAFBAWohAUGzASEDDMwBCwNAIAEhAAJAIAEgBEcEQCABLQAAQTBrQf8BcSIDQQpJDQEMJwtBxwEhAwzmAQsCQCACLwEyIgFBmTNLDQAgAiABQQpsIgU7ATIgBUH+/wNxIANB//8Dc0sNACAAQQFqIQEgAiADIAVqIgM7ATIgA0H//wNxQegHSQ0BCwtBACEDIAJBADYCHCACQcEJNgIQIAJBDTYCDCACIABBAWo2AhQM5AELIAJBADYCHCACIAE2AhQgAkHwDDYCECACQRs2AgxBACEDDOMBCyACKAIEIQAgAkEANgIEIAIgACABECYiAA0BIAFBAWoLIQFBrQEhAwzIAQsgAkHBATYCHCACIAA2AgwgAiABQQFqNgIUQQAhAwzgAQsgAigCBCEAIAJBADYCBCACIAAgARAmIgANASABQQFqCyEBQa4BIQMMxQELIAJBwgE2AhwgAiAANgIMIAIgAUEBajYCFEEAIQMM3QELIAJBADYCHCACIAE2AhQgAkGXCzYCECACQQ02AgxBACEDDNwBCyACQQA2AhwgAiABNgIUIAJB4xA2AhAgAkEJNgIMQQAhAwzbAQsgAkECOgAoDKwBC0EAIQMgAkEANgIcIAJBrws2AhAgAkECNgIMIAIgAUEBajYCFAzZAQtBAiEDDL8BC0ENIQMMvgELQSYhAwy9AQtBFSEDDLwBC0EWIQMMuwELQRghAwy6AQtBHCEDDLkBC0EdIQMMuAELQSAhAwy3AQtBISEDDLYBC0EjIQMMtQELQcYAIQMMtAELQS4hAwyzAQtBPSEDDLIBC0HLACEDDLEBC0HOACEDDLABC0HYACEDDK8BC0HZACEDDK4BC0HbACEDDK0BC0HxACEDDKwBC0H0ACEDDKsBC0GNASEDDKoBC0GXASEDDKkBC0GpASEDDKgBC0GvASEDDKcBC0GxASEDDKYBCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB8Rs2AhAgAkEGNgIMDL0BCyACQQA2AgAgBkEBaiEBQSQLOgApIAIoAgQhACACQQA2AgQgAiAAIAEQJyIARQRAQeUAIQMMowELIAJB+QA2AhwgAiABNgIUIAIgADYCDEEAIQMMuwELIABBFUcEQCACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwy7AQsgAkH4ADYCHCACIAE2AhQgAkHKGDYCECACQRU2AgxBACEDDLoBCyACQQA2AhwgAiABNgIUIAJBjhs2AhAgAkEGNgIMQQAhAwy5AQsgAkEANgIcIAIgATYCFCACQf4RNgIQIAJBBzYCDEEAIQMMuAELIAJBADYCHCACIAE2AhQgAkGMHDYCECACQQc2AgxBACEDDLcBCyACQQA2AhwgAiABNgIUIAJBww82AhAgAkEHNgIMQQAhAwy2AQsgAkEANgIcIAIgATYCFCACQcMPNgIQIAJBBzYCDEEAIQMMtQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var corsSafeListedMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "POST"]
+    );
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = (
+      /** @type {const} */
+      [101, 204, 205, 304]
+    );
+    var redirectStatus = (
+      /** @type {const} */
+      [301, 302, 303, 307, 308]
+    );
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = (
+      /** @type {const} */
+      [
+        "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"
+      ]
+    );
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = (
+      /** @type {const} */
+      [
+        "",
+        "no-referrer",
+        "no-referrer-when-downgrade",
+        "same-origin",
+        "origin",
+        "strict-origin",
+        "origin-when-cross-origin",
+        "strict-origin-when-cross-origin",
+        "unsafe-url"
+      ]
+    );
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = (
+      /** @type {const} */
+      ["follow", "manual", "error"]
+    );
+    var safeMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "OPTIONS", "TRACE"]
+    );
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = (
+      /** @type {const} */
+      ["navigate", "same-origin", "no-cors", "cors"]
+    );
+    var requestCredentials = (
+      /** @type {const} */
+      ["omit", "same-origin", "include"]
+    );
+    var requestCache = (
+      /** @type {const} */
+      [
+        "default",
+        "no-store",
+        "reload",
+        "no-cache",
+        "force-cache",
+        "only-if-cached"
+      ]
+    );
+    var requestBodyHeader = (
+      /** @type {const} */
+      [
+        "content-encoding",
+        "content-language",
+        "content-location",
+        "content-type",
+        // See https://github.com/nodejs/undici/issues/2021
+        // 'Content-Length' is a forbidden header name, which is typically
+        // removed in the Headers implementation. However, undici doesn't
+        // filter out headers, so we add it here.
+        "content-length"
+      ]
+    );
+    var requestDuplex = (
+      /** @type {const} */
+      [
+        "half"
+      ]
+    );
+    var forbiddenMethods = (
+      /** @type {const} */
+      ["CONNECT", "TRACE", "TRACK"]
+    );
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = (
+      /** @type {const} */
+      [
+        "audio",
+        "audioworklet",
+        "font",
+        "image",
+        "manifest",
+        "paintworklet",
+        "script",
+        "style",
+        "track",
+        "video",
+        "xslt",
+        ""
+      ]
+    );
+    var subresourceSet = new Set(subresource);
+    module2.exports = {
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
+      }
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
+    }
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
       }
       const href = url.href;
       const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
     }
     function collectASequenceOfCodePoints(condition, input, position) {
       let result = "";
@@ -46252,22 +42339,31 @@ var require_dataURL = __commonJS({
       const bytes = encoder.encode(input);
       return percentDecode(bytes);
     }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
     function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
+      const length = input.length;
+      const output = new Uint8Array(length);
+      let j = 0;
+      for (let i = 0; i < length; ++i) {
         const byte = input[i];
         if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
+          output[j++] = byte;
+        } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) {
+          output[j++] = 37;
         } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
+          output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]);
           i += 2;
         }
       }
-      return Uint8Array.from(output);
+      return length === j ? output : output.subarray(0, j);
     }
     function parseMIMEType(input) {
       input = removeHTTPWhitespace(input, true, true);
@@ -46352,22 +42448,24 @@ var require_dataURL = __commonJS({
       return mimeType;
     }
     function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
+          }
+        }
       }
-      if (data.length % 4 === 1) {
+      if (dataLength % 4 === 1) {
         return "failure";
       }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
         return "failure";
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
-      }
-      return bytes;
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
     }
     function collectAnHTTPQuotedString(input, position, extractValue) {
       const positionStart = position.position;
@@ -46420,32 +42518,79 @@ var require_dataURL = __commonJS({
       return serialization;
     }
     function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
+      return char === 13 || char === 10 || char === 9 || char === 32;
     }
     function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
-      }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
-      }
-      return str2.slice(lead, trail + 1);
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
     }
     function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
     }
     function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
       let lead = 0;
       let trail = str2.length - 1;
       if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
       }
       if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
+    }
+    function isomorphicDecode(input) {
+      const length = input.length;
+      if ((2 << 15) - 1 > length) {
+        return String.fromCharCode.apply(null, input);
+      }
+      let result = "";
+      let i = 0;
+      let addition = (2 << 15) - 1;
+      while (i < length) {
+        if (i + addition > length) {
+          addition = length - i;
+        }
+        result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
+      }
+      return result;
+    }
+    function minimizeSupportedMimeType(mimeType) {
+      switch (mimeType.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";
+      }
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
       }
-      return str2.slice(lead, trail + 1);
+      if (mimeType.subtype.endsWith("+xml")) {
+        return "application/xml";
+      }
+      return "";
     }
     module2.exports = {
       dataURLProcessor,
@@ -46455,1983 +42600,2105 @@ var require_dataURL = __commonJS({
       stringPercentDecode,
       parseMIMEType,
       collectAnHTTPQuotedString,
-      serializeAMimeType
+      serializeAMimeType,
+      removeChars,
+      removeHTTPWhitespace,
+      minimizeSupportedMimeType,
+      HTTP_TOKEN_CODEPOINTS,
+      isomorphicDecode
     };
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util11();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util10();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
-          }
-          d = options.lastModified;
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util10();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts) {
+      if (opts?.strict !== false) {
+        if (!(V instanceof I)) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      } else {
+        if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
         }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
       }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          header: ctx
+        });
       }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
+      });
+    };
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
+          }
+          return "Object";
+        }
       }
     };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
-        };
-      }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
-      }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+    webidl.util.markAsUncloneable = markAsUncloneable || (() => {
+    });
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
+        }
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      if (opts?.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
+          });
+        }
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
+        }
+        return x;
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
       }
     };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        let index = 0;
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} is not iterable.`
+          });
         }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
         }
-      }
-      return webidl.converters.USVString(V, opts);
+        return seq2;
+      };
     };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O, prefix, argument) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} ("${webidl.util.Type(O)}") is not an Object.`
+          });
         }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
+          for (const key of keys2) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
           }
-          return value;
-        },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+          return result;
+        }
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
         }
-      }
-      return bytes;
-    }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
-      }
-      return s.replace(/\r?\n/g, nativeLineEnding);
-    }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
-    }
-    module2.exports = { File: File2, FileLike, isFileLike };
-  }
-});
-
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
-    "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util11();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, prefix, argument, opts) => {
+        if (opts?.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.`
           });
         }
-        this[kState] = [];
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary, prefix, argument) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
+          });
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!Object.hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = Object.hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value ??= defaultValue();
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value, prefix, `${argument}.${key}`);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V, prefix, argument) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V, prefix, argument);
+      };
+    };
+    webidl.converters.DOMString = function(V, prefix, argument, opts) {
+      if (V === null && opts?.legacyNullToEmptyString) {
+        return "";
       }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
+      if (typeof V === "symbol") {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${argument} is a symbol, which cannot be converted to a DOMString.`
+        });
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V, prefix, argument) {
+      const x = webidl.converters.DOMString(V, prefix, argument);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
           throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
           );
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
       }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, prefix, argument, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${argument} ("${webidl.util.Stringify(V)}")`,
+          types: ["ArrayBuffer"]
+        });
       }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
-        }
-        return this[kState][idx].value;
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      if (V.resizable || V.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
       }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${name} ("${webidl.util.Stringify(V)}")`,
+          types: [T.name]
+        });
       }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
-        }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
-        } else {
-          this[kState].push(entry);
-        }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
       }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
+      return V;
+    };
+    webidl.converters.DataView = function(V, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${name} is not a DataView.`
+        });
       }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
       }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
       }
+      return V;
     };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
+    webidl.converters.BufferSource = function(V, prefix, name, opts) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false });
       }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
-        }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
-        }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false });
       }
-      return { name, value };
-    }
-    module2.exports = { FormData: FormData2 };
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false });
+      }
+      throw webidl.errors.conversionFailed({
+        prefix,
+        argument: `${name} ("${webidl.util.Stringify(V)}")`,
+        types: ["BufferSource"]
+      });
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
   }
 });
 
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
     "use strict";
-    var Busboy = require_main();
-    var util = require_util10();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util11();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
+    var { Transform } = require("node:stream");
+    var zlib = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance2 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util10();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants8();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util10();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
+    var supportedHashes = [];
+    var crypto2;
     try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
     } catch {
-      random = (max) => Math.floor(Math.random(max));
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      let stream = null;
-      if (object instanceof ReadableStream2) {
-        stream = object;
-      } else if (isBlobLike(object)) {
-        stream = object.stream();
-      } else {
-        stream = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
       }
-      assert(isReadableStreamLike(stream));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
-      } else if (isArrayBuffer(object)) {
-        source = new Uint8Array(object.slice());
-      } else if (ArrayBuffer.isView(object)) {
-        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
-      } else if (util.isFormDataLike(object)) {
-        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
-        const prefix = `--${boundary}\r
-Content-Disposition: form-data`;
-        const escape2 = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
-        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
-        const blobParts = [];
-        const rn = new Uint8Array([13, 10]);
-        length = 0;
-        let hasUnknownSizeValue = false;
-        for (const [name, value] of object) {
-          if (typeof value === "string") {
-            const chunk2 = textEncoder.encode(prefix + `; name="${escape2(normalizeLinefeeds(name))}"\r
-\r
-${normalizeLinefeeds(value)}\r
-`);
-            blobParts.push(chunk2);
-            length += chunk2.byteLength;
-          } else {
-            const chunk2 = textEncoder.encode(`${prefix}; name="${escape2(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape2(value.name)}"` : "") + `\r
-Content-Type: ${value.type || "application/octet-stream"}\r
-\r
-`);
-            blobParts.push(chunk2, value, rn);
-            if (typeof value.size === "number") {
-              length += chunk2.byteLength + value.size + rn.byteLength;
-            } else {
-              hasUnknownSizeValue = true;
-            }
-          }
-        }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
+      let location = response.headersList.get("location", true);
+      if (location !== null && isValidHeaderValue(location)) {
+        if (!isValidEncodedURL(location)) {
+          location = normalizeBinaryStringToUtf8(location);
         }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
+        location = new URL(location, responseURL(response));
+      }
+      if (location && !location.hash) {
+        location.hash = requestFragment;
+      }
+      return location;
+    }
+    function isValidEncodedURL(url) {
+      for (let i = 0; i < url.length; ++i) {
+        const code = url.charCodeAt(i);
+        if (code > 126 || // Non-US-ASCII + DEL
+        code < 32) {
+          return false;
         }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
+      }
+      return true;
+    }
+    function normalizeBinaryStringToUtf8(value) {
+      return Buffer.from(value, "binary").toString("utf8");
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
+        return "blocked";
+      }
+      return "allowed";
+    }
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
         }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
+      }
+      return true;
+    }
+    var isValidHeaderName = isValidHTTPToken;
+    function isValidHeaderValue(potentialValue) {
+      return (potentialValue[0] === "	" || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === "	" || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
+    }
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
+          }
         }
-        stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
       }
-      if (action != null) {
-        let iterator2;
-        stream = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream)) {
-                controller.enqueue(new Uint8Array(value));
-              }
+    }
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header, true);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (serializedOrigin === "client" || serializedOrigin === void 0) {
+        return;
+      }
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        request2.headersList.append("origin", serializedOrigin, true);
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
             }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
+        }
+        request2.headersList.append("origin", serializedOrigin, true);
       }
-      const body = { stream, source, length };
-      return [body, type2];
     }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+    function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
+      if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
+        return {
+          domainLookupStartTime: defaultStartTime,
+          domainLookupEndTime: defaultStartTime,
+          connectionStartTime: defaultStartTime,
+          connectionEndTime: defaultStartTime,
+          secureConnectionStartTime: defaultStartTime,
+          ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
+        };
       }
-      return extractBody(object, keepalive);
+      return {
+        domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
+        domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
+        connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
+        connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
+        secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
+        ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
+      };
     }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return coarsenTime(performance2.now(), crossOriginIsolatedCapability);
+    }
+    function createOpaqueTimingInfo(timingInfo) {
       return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
       };
     }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream = body.stream;
-          if (util.isDisturbed(stream)) {
-            throw new TypeError("The body has already been consumed.");
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
+      };
+    }
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
+      };
+    }
+    function determineRequestsReferrer(request2) {
+      const policy = request2.referrerPolicy;
+      assert(policy);
+      let referrerSource = null;
+      if (request2.referrer === "client") {
+        const globalOrigin = getGlobalOrigin();
+        if (!globalOrigin || globalOrigin.origin === "null") {
+          return "no-referrer";
+        }
+        referrerSource = new URL(globalOrigin);
+      } else if (request2.referrer instanceof URL) {
+        referrerSource = request2.referrer;
+      }
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
+      }
+      const areSameOrigin = sameOrigin(request2, referrerURL);
+      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
+      switch (policy) {
+        case "origin":
+          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
+        case "unsafe-url":
+          return referrerURL;
+        case "same-origin":
+          return areSameOrigin ? referrerOrigin : "no-referrer";
+        case "origin-when-cross-origin":
+          return areSameOrigin ? referrerURL : referrerOrigin;
+        case "strict-origin-when-cross-origin": {
+          const currentURL = requestCurrentURL(request2);
+          if (sameOrigin(referrerURL, currentURL)) {
+            return referrerURL;
           }
-          if (stream.locked) {
-            throw new TypeError("The stream is locked.");
+          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
+            return "no-referrer";
           }
-          stream[kBodyUsed] = true;
-          yield* stream;
+          return referrerOrigin;
         }
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
       }
     }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+    function stripURLForReferrer(url, originOnly) {
+      assert(url instanceof URL);
+      url = new URL(url);
+      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
+        return "no-referrer";
+      }
+      url.username = "";
+      url.password = "";
+      url.hash = "";
+      if (originOnly) {
+        url.pathname = "";
+        url.search = "";
       }
+      return url;
     }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve2, reject) => {
-              busboy.on("finish", resolve2);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
-            }
-            return formData;
+    function isURLPotentiallyTrustworthy(url) {
+      if (!(url instanceof URL)) {
+        return false;
+      }
+      if (url.href === "about:blank" || url.href === "about:srcdoc") {
+        return true;
+      }
+      if (url.protocol === "data:") return true;
+      if (url.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url.origin);
+      function isOriginPotentiallyTrustworthy(origin) {
+        if (origin == null || origin === "null") return false;
+        const originAsURL = new URL(origin);
+        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
+          return true;
+        }
+        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
+          return true;
+        }
+        return false;
+      }
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto2 === void 0) {
+        return true;
+      }
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
+      }
+      if (parsedMetadata.length === 0) {
+        return true;
+      }
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
           } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
+            actualValue = actualValue.slice(0, -1);
           }
         }
-      };
-      return methods;
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
+        }
+      }
+      return false;
     }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
+    function parseMetadata(metadata) {
+      const result = [];
+      let empty = true;
+      for (const token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
+          continue;
+        }
+        const algorithm = parsedToken.groups.algo.toLowerCase();
+        if (supportedHashes.includes(algorithm)) {
+          result.push(parsedToken.groups);
+        }
+      }
+      if (empty === true) {
+        return "no metadata";
+      }
+      return result;
     }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
+      for (let i = 1; i < metadataList.length; ++i) {
+        const metadata = metadataList[i];
+        if (metadata.algo[3] === "5") {
+          algorithm = "sha512";
+          break;
+        } else if (algorithm[3] === "3") {
+          continue;
+        } else if (metadata.algo[3] === "3") {
+          algorithm = "sha384";
         }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
+      return algorithm;
     }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    function filterMetadataListByAlgorithm(metadataList, algorithm) {
+      if (metadataList.length === 1) {
+        return metadataList;
+      }
+      let pos = 0;
+      for (let i = 0; i < metadataList.length; ++i) {
+        if (metadataList[i].algo === algorithm) {
+          metadataList[pos++] = metadataList[i];
+        }
+      }
+      metadataList.length = pos;
+      return metadataList;
     }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
+        return false;
       }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+      for (let i = 0; i < actualValue.length; ++i) {
+        if (actualValue[i] !== expectedValue[i]) {
+          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
+            continue;
+          }
+          return false;
+        }
       }
-      const output = textDecoder.decode(buffer);
-      return output;
+      return true;
     }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
     }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
+      }
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
       }
-      return parseMIMEType(contentType);
+      return false;
     }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
-    };
-  }
-});
-
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
-    "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util10();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve2, reject) => {
+        res = resolve2;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
     }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path2,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path2 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path2[0] !== "/" && !(path2.startsWith("http://") || path2.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path2) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
         }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
             };
-            this.body.on("end", this.endHandler);
           }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
-            }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
           };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path2, query) : path2;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
           }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
           }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
           }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
         }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
         }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream) {
+      return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+        controller.byobRequest?.respond(0);
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
+          throw err;
         }
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
+    }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
+    function isomorphicEncode(input) {
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
+      return input;
+    }
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
         }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
         }
+        bytes.push(chunk);
+        byteLength += chunk.length;
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
-        }
+    }
+    function urlIsLocal(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url) {
+      return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    function simpleRangeHeaderValue(value, allowWhitespace) {
+      const data = value;
+      if (!data.startsWith("bytes")) {
+        return "failure";
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
-        }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
-        }
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
       }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
-        }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
       }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
       }
-      onComplete(trailers) {
-        this.onFinally();
-        assert(!this.aborted);
-        this.completed = true;
-        if (channels.trailers.hasSubscribers) {
-          channels.trailers.publish({ request: this, trailers });
-        }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
-        }
+      const rangeStart = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
       }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
-        }
-        if (this.aborted) {
-          return;
-        }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
       }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
-        }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
-        }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
+      const rangeEnd = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
+      if (position.position < data.length) {
+        return "failure";
+      }
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
       }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+      return { rangeStartValue, rangeEndValue };
+    }
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
+    }
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
+      }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
+          this._inflateStream = (chunk[0] & 15) === 8 ? zlib.createInflate(this.#zlibOptions) : zlib.createInflateRaw(this.#zlibOptions);
+          this._inflateStream.on("data", this.push.bind(this));
+          this._inflateStream.on("end", () => this.push(null));
+          this._inflateStream.on("error", (err) => this.destroy(err));
         }
-        return request2;
+        this._inflateStream.write(chunk, encoding, callback);
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
         }
-        return headers;
+        callback();
       }
     };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
     }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
-        }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
+      }
+      for (const value of values) {
+        const temporaryMimeType = parseMIMEType(value);
+        if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
+          continue;
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+        mimeType = temporaryMimeType;
+        if (mimeType.essence !== essence) {
+          charset = null;
+          if (mimeType.parameters.has("charset")) {
+            charset = mimeType.parameters.get("charset");
+          }
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
+      }
+      if (mimeType == null) {
+        return "failure";
+      }
+      return mimeType;
+    }
+    function gettingDecodingSplitting(value) {
+      const input = value;
+      const position = { position: 0 };
+      const values = [];
+      let temporaryValue = "";
+      while (position.position < input.length) {
+        temporaryValue += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== ",",
+          input,
+          position
+        );
+        if (position.position < input.length) {
+          if (input.charCodeAt(position.position) === 34) {
+            temporaryValue += collectAnHTTPQuotedString(
+              input,
+              position
+            );
+            if (position.position < input.length) {
+              continue;
             }
+          } else {
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
         }
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
       }
+      return values;
     }
-    module2.exports = Request;
+    function getDecodeSplit(name, list) {
+      const value = list.get(name, true);
+      if (value === null) {
+        return null;
+      }
+      return gettingDecodingSplitting(value);
+    }
+    var textDecoder = new TextDecoder();
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
+      }
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
+      }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      isValidEncodedURL,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      iteratorMixin,
+      createIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
+    };
   }
 });
 
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
-      }
-      close() {
-        throw new Error("not implemented");
-      }
-      destroy() {
-        throw new Error("not implemented");
-      }
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
     };
-    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
-    var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
-      constructor() {
-        super();
-        this[kDestroyed] = false;
-        this[kOnDestroyed] = null;
-        this[kClosed] = false;
-        this[kOnClosed] = [];
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
       }
-      get destroyed() {
-        return this[kDestroyed];
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
       }
-      get closed() {
-        return this[kClosed];
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
       }
-      get interceptors() {
-        return this[kInterceptors];
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
       }
-      set interceptors(newInterceptors) {
-        if (newInterceptors) {
-          for (let i = newInterceptors.length - 1; i >= 0; i--) {
-            const interceptor = this[kInterceptors][i];
-            if (typeof interceptor !== "function") {
-              throw new InvalidArgumentError("interceptor must be an function");
-            }
-          }
-        }
-        this[kInterceptors] = newInterceptors;
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
       }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve2, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve2(data);
-            });
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
+      }
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
+      }
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
+      }
+      get [Symbol.toStringTag]() {
+        return "File";
+      }
+    };
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util11();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util10();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
           });
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
-          return;
-        }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        this[kState] = [];
+      }
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.append";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
         }
-        this[kClosed] = true;
-        this[kOnClosed].push(callback);
-        const onClosed = () => {
-          const callbacks = this[kOnClosed];
-          this[kOnClosed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
-          }
-        };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
       }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      }
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.get";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
         }
-        if (callback === void 0) {
-          return new Promise((resolve2, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve2(data);
-            });
-          });
+        return this[kState][idx].value;
+      }
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.getAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.set";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
+        } else {
+          this[kState].push(entry);
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        const state = this[kState].reduce((a, b) => {
+          if (a[b.name]) {
+            if (Array.isArray(a[b.name])) {
+              a[b.name].push(b.value);
+            } else {
+              a[b.name] = [a[b.name], b.value];
+            }
           } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
-        }
-        if (!err) {
-          err = new ClientDestroyedError();
-        }
-        this[kDestroyed] = true;
-        this[kOnDestroyed] = this[kOnDestroyed] || [];
-        this[kOnDestroyed].push(callback);
-        const onDestroyed = () => {
-          const callbacks = this[kOnDestroyed];
-          this[kOnDestroyed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
+            a[b.name] = b.value;
           }
-        };
-        this[kDestroy](err).then(() => {
-          queueMicrotask(onDestroyed);
-        });
+          return a;
+        }, { __proto__: null });
+        options.depth ??= depth;
+        options.colors ??= true;
+        const output = nodeUtil.formatWithOptions(options, state);
+        return `FormData ${output.slice(output.indexOf("]") + 2)}`;
       }
-      [kInterceptedDispatch](opts, handler2) {
-        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
-          this[kInterceptedDispatch] = this[kDispatch];
-          return this[kDispatch](opts, handler2);
-        }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
-        }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+    };
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+    });
+    function makeEntry(name, value, filename) {
+      if (typeof value === "string") {
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
         }
-        try {
-          if (!opts || typeof opts !== "object") {
-            throw new InvalidArgumentError("opts must be an object.");
-          }
-          if (this[kDestroyed] || this[kOnDestroyed]) {
-            throw new ClientDestroyedError();
-          }
-          if (this[kClosed]) {
-            throw new ClientClosedError();
-          }
-          return this[kInterceptedDispatch](opts, handler2);
-        } catch (err) {
-          if (typeof handler2.onError !== "function") {
-            throw new InvalidArgumentError("invalid onError method");
-          }
-          handler2.onError(err);
-          return false;
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
         }
       }
-    };
-    module2.exports = DispatcherBase;
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
-    var util = require_util10();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._sessionRegistry = new global.FinalizationRegistry((key) => {
-            if (this._sessionCache.size < this._maxCachedSessions) {
-              return;
-            }
-            const ref = this._sessionCache.get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this._sessionCache.delete(key);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util10();
+    var { utf8DecodeBytes } = require_util11();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
         }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
           }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
           }
-          this._sessionCache.set(sessionKey, session);
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
-      }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
           }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...options,
-            servername,
-            session,
-            localAddress,
-            // TODO(HTTP/2): Add support for h2c
-            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
-            socket: httpSocket,
-            // upgrade socket connection
-            port: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
+          value = new File2([body], filename, { type: contentType });
         } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
-          });
+          value = utf8DecodeBytes(Buffer.from(body));
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
           }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
           }
-        });
-        return socket;
-      };
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
     }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
       }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
-          }
-        });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
     }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
     }
-    module2.exports = buildConnector;
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
   }
 });
 
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
+    var util = require_util10();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util11();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { Blob: Blob2 } = require("node:buffer");
+    var assert = require("node:assert");
+    var { isErrored, isDisturbed } = require("node:stream");
+    var { isArrayBuffer } = require("node:util/types");
+    var { serializeAMimeType } = require_data_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var textEncoder = new TextEncoder();
+    function noop3() {
+    }
+    var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
+    var streamRegistry;
+    if (hasFinalizationRegistry) {
+      streamRegistry = new FinalizationRegistry((weakRef) => {
+        const stream = weakRef.deref();
+        if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) {
+          stream.cancel("Response object has been garbage collected").catch(noop3);
         }
       });
-      return res;
     }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
-    var TYPE;
-    (function(TYPE2) {
-      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
-      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
-      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
-    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
-    var FLAGS;
-    (function(FLAGS2) {
-      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
-      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
-      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
-      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
-      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
-      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
-      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
-      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
-      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
-    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
-    var LENIENT_FLAGS;
-    (function(LENIENT_FLAGS2) {
-      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
-    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
-    var METHODS;
-    (function(METHODS2) {
-      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
-      METHODS2[METHODS2["GET"] = 1] = "GET";
-      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
-      METHODS2[METHODS2["POST"] = 3] = "POST";
-      METHODS2[METHODS2["PUT"] = 4] = "PUT";
-      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
-      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
-      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
-      METHODS2[METHODS2["COPY"] = 8] = "COPY";
-      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
-      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
-      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
-      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
-      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
-      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
-      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
-      METHODS2[METHODS2["BIND"] = 16] = "BIND";
-      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
-      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
-      METHODS2[METHODS2["ACL"] = 19] = "ACL";
-      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
-      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
-      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
-      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
-      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
-      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
-      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
-      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
-      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
-      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
-      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
-      METHODS2[METHODS2["LINK"] = 31] = "LINK";
-      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
-      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
-      METHODS2[METHODS2["PRI"] = 34] = "PRI";
-      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
-      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
-      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
-      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
-      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
-      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
-      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
-      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
-      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
-      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
-      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
-    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
-    exports2.METHODS_HTTP = [
-      METHODS.DELETE,
-      METHODS.GET,
-      METHODS.HEAD,
-      METHODS.POST,
-      METHODS.PUT,
-      METHODS.CONNECT,
-      METHODS.OPTIONS,
-      METHODS.TRACE,
-      METHODS.COPY,
-      METHODS.LOCK,
-      METHODS.MKCOL,
-      METHODS.MOVE,
-      METHODS.PROPFIND,
-      METHODS.PROPPATCH,
-      METHODS.SEARCH,
-      METHODS.UNLOCK,
-      METHODS.BIND,
-      METHODS.REBIND,
-      METHODS.UNBIND,
-      METHODS.ACL,
-      METHODS.REPORT,
-      METHODS.MKACTIVITY,
-      METHODS.CHECKOUT,
-      METHODS.MERGE,
-      METHODS["M-SEARCH"],
-      METHODS.NOTIFY,
-      METHODS.SUBSCRIBE,
-      METHODS.UNSUBSCRIBE,
-      METHODS.PATCH,
-      METHODS.PURGE,
-      METHODS.MKCALENDAR,
-      METHODS.LINK,
-      METHODS.UNLINK,
-      METHODS.PRI,
-      // TODO(indutny): should we allow it with HTTP?
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_ICE = [
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_RTSP = [
-      METHODS.OPTIONS,
-      METHODS.DESCRIBE,
-      METHODS.ANNOUNCE,
-      METHODS.SETUP,
-      METHODS.PLAY,
-      METHODS.PAUSE,
-      METHODS.TEARDOWN,
-      METHODS.GET_PARAMETER,
-      METHODS.SET_PARAMETER,
-      METHODS.REDIRECT,
-      METHODS.RECORD,
-      METHODS.FLUSH,
-      // For AirPlay
-      METHODS.GET,
-      METHODS.POST
-    ];
-    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
-    exports2.H_METHOD_MAP = {};
-    Object.keys(exports2.METHOD_MAP).forEach((key) => {
-      if (/^H/.test(key)) {
-        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
-      }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
-    }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.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
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
-    }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
-      }
-    }
-    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
-    exports2.MAJOR = exports2.NUM_MAP;
-    exports2.MINOR = exports2.MAJOR;
-    var HEADER_STATE;
-    (function(HEADER_STATE2) {
-      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
-      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
-      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
-    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
-    exports2.SPECIAL_HEADERS = {
-      "connection": HEADER_STATE.CONNECTION,
-      "content-length": HEADER_STATE.CONTENT_LENGTH,
-      "proxy-connection": HEADER_STATE.CONNECTION,
-      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
-      "upgrade": HEADER_STATE.UPGRADE
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
-    "use strict";
-    var util = require_util10();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
-      }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+    function extractBody(object, keepalive = false) {
+      let stream = null;
+      if (object instanceof ReadableStream) {
+        stream = object;
+      } else if (isBlobLike(object)) {
+        stream = object.stream();
+      } else {
+        stream = new ReadableStream({
+          async pull(controller) {
+            const buffer = typeof source === "string" ? textEncoder.encode(source) : source;
+            if (buffer.byteLength) {
+              controller.enqueue(buffer);
+            }
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: "bytes"
+        });
       }
-    };
-    var RedirectHandler = class {
-      constructor(dispatch, maxRedirections, opts, handler2) {
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
-        }
-        util.validateHandler(handler2, opts.method, opts.upgrade);
-        this.dispatch = dispatch;
-        this.location = null;
-        this.abort = null;
-        this.opts = { ...opts, maxRedirections: 0 };
-        this.maxRedirections = maxRedirections;
-        this.handler = handler2;
-        this.history = [];
-        if (util.isStream(this.opts.body)) {
-          if (util.bodyLength(this.opts.body) === 0) {
-            this.opts.body.on("data", function() {
-              assert(false);
-            });
-          }
-          if (typeof this.opts.body.readableDidRead !== "boolean") {
-            this.opts.body[kBodyUsed] = false;
-            EE.prototype.on.call(this.opts.body, "data", function() {
-              this[kBodyUsed] = true;
-            });
+      assert(isReadableStreamLike(stream));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape2 = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape2(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape2(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape2(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
+            }
           }
-        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
-        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
-        }
-      }
-      onConnect(abort) {
-        this.abort = abort;
-        this.handler.onConnect(abort, { history: this.history });
-      }
-      onUpgrade(statusCode, headers, socket) {
-        this.handler.onUpgrade(statusCode, headers, socket);
-      }
-      onError(error3) {
-        this.handler.onError(error3);
-      }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
-        }
-        if (!this.location) {
-          return this.handler.onHeaders(statusCode, headers, resume, statusText);
         }
-        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
-        const path2 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path2;
-        this.opts.origin = origin;
-        this.opts.maxRedirections = 0;
-        this.opts.query = null;
-        if (statusCode === 303 && this.opts.method !== "HEAD") {
-          this.opts.method = "GET";
-          this.opts.body = null;
+        const chunk = textEncoder.encode(`--${boundary}--\r
+`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
         }
-      }
-      onData(chunk) {
-        if (this.location) {
-        } else {
-          return this.handler.onData(chunk);
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
         }
-      }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
-        } else {
-          this.handler.onComplete(trailers);
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
         }
-      }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
         }
+        stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
       }
-    };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
       }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
-          return headers[i + 1];
-        }
+      if (action != null) {
+        let iterator2;
+        stream = new ReadableStream({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+                controller.byobRequest?.respond(0);
+              });
+            } else {
+              if (!isErrored(stream)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
       }
+      const body = { stream, source, length };
+      return [body, type2];
     }
-    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
-      if (header.length === 4) {
-        return util.headerNameToString(header) === "host";
-      }
-      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
-        return true;
-      }
-      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
-        const name = util.headerNameToString(header);
-        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
       }
-      return false;
+      return extractBody(object, keepalive);
     }
-    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
-      const ret = [];
-      if (Array.isArray(headers)) {
-        for (let i = 0; i < headers.length; i += 2) {
-          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
-            ret.push(headers[i], headers[i + 1]);
-          }
-        }
-      } else if (headers && typeof headers === "object") {
-        for (const key of Object.keys(headers)) {
-          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
-            ret.push(key, headers[key]);
-          }
-        }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
       }
-      return ret;
     }
-    module2.exports = RedirectHandler;
-  }
-});
-
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
-    "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
-      return (dispatch) => {
-        return function Intercept(opts, handler2) {
-          const { maxRedirections = defaultMaxRedirections } = opts;
-          if (!maxRedirections) {
-            return dispatch(opts, handler2);
-          }
-          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
-          opts = { ...opts, maxRedirections: 0 };
-          return dispatch(opts, redirectHandler);
-        };
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  for (const [name, value2] of entries) {
+                    fd.append(name, value2);
+                  }
+                  return fd;
+                }
+              }
+            }
+            throw new TypeError(
+              'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
+            );
+          }, instance);
+        },
+        bytes() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes);
+          }, instance);
+        }
       };
+      return methods;
     }
-    module2.exports = createRedirectInterceptor;
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQDscBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxweHyAhIyUoP0BBREVGR0hJSktMTU9QUVJT3gNXWVtcXWBiZWZnaGlqa2xtb3BxcnN0dXZ3eHl6e3x9foABggGFAYYBhwGJAYsBjAGNAY4BjwGQAZEBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAZkCpAKwAv4C/gILIAEiBCACRw3zAUHdASEQDP8DCyABIhAgAkcN3QFBwwEhEAz+AwsgASIBIAJHDZABQfcAIRAM/QMLIAEiASACRw2GAUHvACEQDPwDCyABIgEgAkcNf0HqACEQDPsDCyABIgEgAkcNe0HoACEQDPoDCyABIgEgAkcNeEHmACEQDPkDCyABIgEgAkcNGkEYIRAM+AMLIAEiASACRw0UQRIhEAz3AwsgASIBIAJHDVlBxQAhEAz2AwsgASIBIAJHDUpBPyEQDPUDCyABIgEgAkcNSEE8IRAM9AMLIAEiASACRw1BQTEhEAzzAwsgAC0ALkEBRg3rAwyHAgsgACABIgEgAhDAgICAAEEBRw3mASAAQgA3AyAM5wELIAAgASIBIAIQtICAgAAiEA3nASABIQEM9QILAkAgASIBIAJHDQBBBiEQDPADCyAAIAFBAWoiASACELuAgIAAIhAN6AEgASEBDDELIABCADcDIEESIRAM1QMLIAEiECACRw0rQR0hEAztAwsCQCABIgEgAkYNACABQQFqIQFBECEQDNQDC0EHIRAM7AMLIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN5QFBCCEQDOsDCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEUIRAM0gMLQQkhEAzqAwsgASEBIAApAyBQDeQBIAEhAQzyAgsCQCABIgEgAkcNAEELIRAM6QMLIAAgAUEBaiIBIAIQtoCAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3mASABIQEMDQsgACABIgEgAhC6gICAACIQDecBIAEhAQzwAgsCQCABIgEgAkcNAEEPIRAM5QMLIAEtAAAiEEE7Rg0IIBBBDUcN6AEgAUEBaiEBDO8CCyAAIAEiASACELqAgIAAIhAN6AEgASEBDPICCwNAAkAgAS0AAEHwtYCAAGotAAAiEEEBRg0AIBBBAkcN6wEgACgCBCEQIABBADYCBCAAIBAgAUEBaiIBELmAgIAAIhAN6gEgASEBDPQCCyABQQFqIgEgAkcNAAtBEiEQDOIDCyAAIAEiASACELqAgIAAIhAN6QEgASEBDAoLIAEiASACRw0GQRshEAzgAwsCQCABIgEgAkcNAEEWIRAM4AMLIABBioCAgAA2AgggACABNgIEIAAgASACELiAgIAAIhAN6gEgASEBQSAhEAzGAwsCQCABIgEgAkYNAANAAkAgAS0AAEHwt4CAAGotAAAiEEECRg0AAkAgEEF/ag4E5QHsAQDrAewBCyABQQFqIQFBCCEQDMgDCyABQQFqIgEgAkcNAAtBFSEQDN8DC0EVIRAM3gMLA0ACQCABLQAAQfC5gIAAai0AACIQQQJGDQAgEEF/ag4E3gHsAeAB6wHsAQsgAUEBaiIBIAJHDQALQRghEAzdAwsCQCABIgEgAkYNACAAQYuAgIAANgIIIAAgATYCBCABIQFBByEQDMQDC0EZIRAM3AMLIAFBAWohAQwCCwJAIAEiFCACRw0AQRohEAzbAwsgFCEBAkAgFC0AAEFzag4U3QLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gIA7gILQQAhECAAQQA2AhwgAEGvi4CAADYCECAAQQI2AgwgACAUQQFqNgIUDNoDCwJAIAEtAAAiEEE7Rg0AIBBBDUcN6AEgAUEBaiEBDOUCCyABQQFqIQELQSIhEAy/AwsCQCABIhAgAkcNAEEcIRAM2AMLQgAhESAQIQEgEC0AAEFQag435wHmAQECAwQFBgcIAAAAAAAAAAkKCwwNDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxAREhMUAAtBHiEQDL0DC0ICIREM5QELQgMhEQzkAQtCBCERDOMBC0IFIREM4gELQgYhEQzhAQtCByERDOABC0IIIREM3wELQgkhEQzeAQtCCiERDN0BC0ILIREM3AELQgwhEQzbAQtCDSERDNoBC0IOIREM2QELQg8hEQzYAQtCCiERDNcBC0ILIREM1gELQgwhEQzVAQtCDSERDNQBC0IOIREM0wELQg8hEQzSAQtCACERAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQLQAAQVBqDjflAeQBAAECAwQFBgfmAeYB5gHmAeYB5gHmAQgJCgsMDeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gEODxAREhPmAQtCAiERDOQBC0IDIREM4wELQgQhEQziAQtCBSERDOEBC0IGIREM4AELQgchEQzfAQtCCCERDN4BC0IJIREM3QELQgohEQzcAQtCCyERDNsBC0IMIREM2gELQg0hEQzZAQtCDiERDNgBC0IPIREM1wELQgohEQzWAQtCCyERDNUBC0IMIREM1AELQg0hEQzTAQtCDiERDNIBC0IPIREM0QELIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN0gFBHyEQDMADCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEkIRAMpwMLQSAhEAy/AwsgACABIhAgAhC+gICAAEF/ag4FtgEAxQIB0QHSAQtBESEQDKQDCyAAQQE6AC8gECEBDLsDCyABIgEgAkcN0gFBJCEQDLsDCyABIg0gAkcNHkHGACEQDLoDCyAAIAEiASACELKAgIAAIhAN1AEgASEBDLUBCyABIhAgAkcNJkHQACEQDLgDCwJAIAEiASACRw0AQSghEAy4AwsgAEEANgIEIABBjICAgAA2AgggACABIAEQsYCAgAAiEA3TASABIQEM2AELAkAgASIQIAJHDQBBKSEQDLcDCyAQLQAAIgFBIEYNFCABQQlHDdMBIBBBAWohAQwVCwJAIAEiASACRg0AIAFBAWohAQwXC0EqIRAMtQMLAkAgASIQIAJHDQBBKyEQDLUDCwJAIBAtAAAiAUEJRg0AIAFBIEcN1QELIAAtACxBCEYN0wEgECEBDJEDCwJAIAEiASACRw0AQSwhEAy0AwsgAS0AAEEKRw3VASABQQFqIQEMyQILIAEiDiACRw3VAUEvIRAMsgMLA0ACQCABLQAAIhBBIEYNAAJAIBBBdmoOBADcAdwBANoBCyABIQEM4AELIAFBAWoiASACRw0AC0ExIRAMsQMLQTIhECABIhQgAkYNsAMgAiAUayAAKAIAIgFqIRUgFCABa0EDaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfC7gIAAai0AAEcNAQJAIAFBA0cNAEEGIQEMlgMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLEDCyAAQQA2AgAgFCEBDNkBC0EzIRAgASIUIAJGDa8DIAIgFGsgACgCACIBaiEVIBQgAWtBCGohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUH0u4CAAGotAABHDQECQCABQQhHDQBBBSEBDJUDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAywAwsgAEEANgIAIBQhAQzYAQtBNCEQIAEiFCACRg2uAyACIBRrIAAoAgAiAWohFSAUIAFrQQVqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw0BAkAgAUEFRw0AQQchAQyUAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMrwMLIABBADYCACAUIQEM1wELAkAgASIBIAJGDQADQAJAIAEtAABBgL6AgABqLQAAIhBBAUYNACAQQQJGDQogASEBDN0BCyABQQFqIgEgAkcNAAtBMCEQDK4DC0EwIRAMrQMLAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AIBBBdmoOBNkB2gHaAdkB2gELIAFBAWoiASACRw0AC0E4IRAMrQMLQTghEAysAwsDQAJAIAEtAAAiEEEgRg0AIBBBCUcNAwsgAUEBaiIBIAJHDQALQTwhEAyrAwsDQAJAIAEtAAAiEEEgRg0AAkACQCAQQXZqDgTaAQEB2gEACyAQQSxGDdsBCyABIQEMBAsgAUEBaiIBIAJHDQALQT8hEAyqAwsgASEBDNsBC0HAACEQIAEiFCACRg2oAyACIBRrIAAoAgAiAWohFiAUIAFrQQZqIRcCQANAIBQtAABBIHIgAUGAwICAAGotAABHDQEgAUEGRg2OAyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAypAwsgAEEANgIAIBQhAQtBNiEQDI4DCwJAIAEiDyACRw0AQcEAIRAMpwMLIABBjICAgAA2AgggACAPNgIEIA8hASAALQAsQX9qDgTNAdUB1wHZAYcDCyABQQFqIQEMzAELAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgciAQIBBBv39qQf8BcUEaSRtB/wFxIhBBCUYNACAQQSBGDQACQAJAAkACQCAQQZ1/ag4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIRAMkQMLIAFBAWohAUEyIRAMkAMLIAFBAWohAUEzIRAMjwMLIAEhAQzQAQsgAUEBaiIBIAJHDQALQTUhEAylAwtBNSEQDKQDCwJAIAEiASACRg0AA0ACQCABLQAAQYC8gIAAai0AAEEBRg0AIAEhAQzTAQsgAUEBaiIBIAJHDQALQT0hEAykAwtBPSEQDKMDCyAAIAEiASACELCAgIAAIhAN1gEgASEBDAELIBBBAWohAQtBPCEQDIcDCwJAIAEiASACRw0AQcIAIRAMoAMLAkADQAJAIAEtAABBd2oOGAAC/gL+AoQD/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4CAP4CCyABQQFqIgEgAkcNAAtBwgAhEAygAwsgAUEBaiEBIAAtAC1BAXFFDb0BIAEhAQtBLCEQDIUDCyABIgEgAkcN0wFBxAAhEAydAwsDQAJAIAEtAABBkMCAgABqLQAAQQFGDQAgASEBDLcCCyABQQFqIgEgAkcNAAtBxQAhEAycAwsgDS0AACIQQSBGDbMBIBBBOkcNgQMgACgCBCEBIABBADYCBCAAIAEgDRCvgICAACIBDdABIA1BAWohAQyzAgtBxwAhECABIg0gAkYNmgMgAiANayAAKAIAIgFqIRYgDSABa0EFaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGQwoCAAGotAABHDYADIAFBBUYN9AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmgMLQcgAIRAgASINIAJGDZkDIAIgDWsgACgCACIBaiEWIA0gAWtBCWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBlsKAgABqLQAARw3/AgJAIAFBCUcNAEECIQEM9QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJkDCwJAIAEiDSACRw0AQckAIRAMmQMLAkACQCANLQAAIgFBIHIgASABQb9/akH/AXFBGkkbQf8BcUGSf2oOBwCAA4ADgAOAA4ADAYADCyANQQFqIQFBPiEQDIADCyANQQFqIQFBPyEQDP8CC0HKACEQIAEiDSACRg2XAyACIA1rIAAoAgAiAWohFiANIAFrQQFqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaDCgIAAai0AAEcN/QIgAUEBRg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyXAwtBywAhECABIg0gAkYNlgMgAiANayAAKAIAIgFqIRYgDSABa0EOaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGiwoCAAGotAABHDfwCIAFBDkYN8AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlgMLQcwAIRAgASINIAJGDZUDIAIgDWsgACgCACIBaiEWIA0gAWtBD2ohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBwMKAgABqLQAARw37AgJAIAFBD0cNAEEDIQEM8QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJUDC0HNACEQIAEiDSACRg2UAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcN+gICQCABQQVHDQBBBCEBDPACCyABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyUAwsCQCABIg0gAkcNAEHOACEQDJQDCwJAAkACQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZ1/ag4TAP0C/QL9Av0C/QL9Av0C/QL9Av0C/QL9AgH9Av0C/QICA/0CCyANQQFqIQFBwQAhEAz9AgsgDUEBaiEBQcIAIRAM/AILIA1BAWohAUHDACEQDPsCCyANQQFqIQFBxAAhEAz6AgsCQCABIgEgAkYNACAAQY2AgIAANgIIIAAgATYCBCABIQFBxQAhEAz6AgtBzwAhEAySAwsgECEBAkACQCAQLQAAQXZqDgQBqAKoAgCoAgsgEEEBaiEBC0EnIRAM+AILAkAgASIBIAJHDQBB0QAhEAyRAwsCQCABLQAAQSBGDQAgASEBDI0BCyABQQFqIQEgAC0ALUEBcUUNxwEgASEBDIwBCyABIhcgAkcNyAFB0gAhEAyPAwtB0wAhECABIhQgAkYNjgMgAiAUayAAKAIAIgFqIRYgFCABa0EBaiEXA0AgFC0AACABQdbCgIAAai0AAEcNzAEgAUEBRg3HASABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAyOAwsCQCABIgEgAkcNAEHVACEQDI4DCyABLQAAQQpHDcwBIAFBAWohAQzHAQsCQCABIgEgAkcNAEHWACEQDI0DCwJAAkAgAS0AAEF2ag4EAM0BzQEBzQELIAFBAWohAQzHAQsgAUEBaiEBQcoAIRAM8wILIAAgASIBIAIQroCAgAAiEA3LASABIQFBzQAhEAzyAgsgAC0AKUEiRg2FAwymAgsCQCABIgEgAkcNAEHbACEQDIoDC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgAS0AAEFQag4K1AHTAQABAgMEBQYI1QELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMzAELQQkhEEEBIRRBACEXQQAhFgzLAQsCQCABIgEgAkcNAEHdACEQDIkDCyABLQAAQS5HDcwBIAFBAWohAQymAgsgASIBIAJHDcwBQd8AIRAMhwMLAkAgASIBIAJGDQAgAEGOgICAADYCCCAAIAE2AgQgASEBQdAAIRAM7gILQeAAIRAMhgMLQeEAIRAgASIBIAJGDYUDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHiwoCAAGotAABHDc0BIBRBA0YNzAEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhQMLQeIAIRAgASIBIAJGDYQDIAIgAWsgACgCACIUaiEWIAEgFGtBAmohFwNAIAEtAAAgFEHmwoCAAGotAABHDcwBIBRBAkYNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhAMLQeMAIRAgASIBIAJGDYMDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHpwoCAAGotAABHDcsBIBRBA0YNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMgwMLAkAgASIBIAJHDQBB5QAhEAyDAwsgACABQQFqIgEgAhCogICAACIQDc0BIAEhAUHWACEQDOkCCwJAIAEiASACRg0AA0ACQCABLQAAIhBBIEYNAAJAAkACQCAQQbh/ag4LAAHPAc8BzwHPAc8BzwHPAc8BAs8BCyABQQFqIQFB0gAhEAztAgsgAUEBaiEBQdMAIRAM7AILIAFBAWohAUHUACEQDOsCCyABQQFqIgEgAkcNAAtB5AAhEAyCAwtB5AAhEAyBAwsDQAJAIAEtAABB8MKAgABqLQAAIhBBAUYNACAQQX5qDgPPAdAB0QHSAQsgAUEBaiIBIAJHDQALQeYAIRAMgAMLAkAgASIBIAJGDQAgAUEBaiEBDAMLQecAIRAM/wILA0ACQCABLQAAQfDEgIAAai0AACIQQQFGDQACQCAQQX5qDgTSAdMB1AEA1QELIAEhAUHXACEQDOcCCyABQQFqIgEgAkcNAAtB6AAhEAz+AgsCQCABIgEgAkcNAEHpACEQDP4CCwJAIAEtAAAiEEF2ag4augHVAdUBvAHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHKAdUB1QEA0wELIAFBAWohAQtBBiEQDOMCCwNAAkAgAS0AAEHwxoCAAGotAABBAUYNACABIQEMngILIAFBAWoiASACRw0AC0HqACEQDPsCCwJAIAEiASACRg0AIAFBAWohAQwDC0HrACEQDPoCCwJAIAEiASACRw0AQewAIRAM+gILIAFBAWohAQwBCwJAIAEiASACRw0AQe0AIRAM+QILIAFBAWohAQtBBCEQDN4CCwJAIAEiFCACRw0AQe4AIRAM9wILIBQhAQJAAkACQCAULQAAQfDIgIAAai0AAEF/ag4H1AHVAdYBAJwCAQLXAQsgFEEBaiEBDAoLIBRBAWohAQzNAQtBACEQIABBADYCHCAAQZuSgIAANgIQIABBBzYCDCAAIBRBAWo2AhQM9gILAkADQAJAIAEtAABB8MiAgABqLQAAIhBBBEYNAAJAAkAgEEF/ag4H0gHTAdQB2QEABAHZAQsgASEBQdoAIRAM4AILIAFBAWohAUHcACEQDN8CCyABQQFqIgEgAkcNAAtB7wAhEAz2AgsgAUEBaiEBDMsBCwJAIAEiFCACRw0AQfAAIRAM9QILIBQtAABBL0cN1AEgFEEBaiEBDAYLAkAgASIUIAJHDQBB8QAhEAz0AgsCQCAULQAAIgFBL0cNACAUQQFqIQFB3QAhEAzbAgsgAUF2aiIEQRZLDdMBQQEgBHRBiYCAAnFFDdMBDMoCCwJAIAEiASACRg0AIAFBAWohAUHeACEQDNoCC0HyACEQDPICCwJAIAEiFCACRw0AQfQAIRAM8gILIBQhAQJAIBQtAABB8MyAgABqLQAAQX9qDgPJApQCANQBC0HhACEQDNgCCwJAIAEiFCACRg0AA0ACQCAULQAAQfDKgIAAai0AACIBQQNGDQACQCABQX9qDgLLAgDVAQsgFCEBQd8AIRAM2gILIBRBAWoiFCACRw0AC0HzACEQDPECC0HzACEQDPACCwJAIAEiASACRg0AIABBj4CAgAA2AgggACABNgIEIAEhAUHgACEQDNcCC0H1ACEQDO8CCwJAIAEiASACRw0AQfYAIRAM7wILIABBj4CAgAA2AgggACABNgIEIAEhAQtBAyEQDNQCCwNAIAEtAABBIEcNwwIgAUEBaiIBIAJHDQALQfcAIRAM7AILAkAgASIBIAJHDQBB+AAhEAzsAgsgAS0AAEEgRw3OASABQQFqIQEM7wELIAAgASIBIAIQrICAgAAiEA3OASABIQEMjgILAkAgASIEIAJHDQBB+gAhEAzqAgsgBC0AAEHMAEcN0QEgBEEBaiEBQRMhEAzPAQsCQCABIgQgAkcNAEH7ACEQDOkCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRADQCAELQAAIAFB8M6AgABqLQAARw3QASABQQVGDc4BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQfsAIRAM6AILAkAgASIEIAJHDQBB/AAhEAzoAgsCQAJAIAQtAABBvX9qDgwA0QHRAdEB0QHRAdEB0QHRAdEB0QEB0QELIARBAWohAUHmACEQDM8CCyAEQQFqIQFB5wAhEAzOAgsCQCABIgQgAkcNAEH9ACEQDOcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDc8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH9ACEQDOcCCyAAQQA2AgAgEEEBaiEBQRAhEAzMAQsCQCABIgQgAkcNAEH+ACEQDOYCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUH2zoCAAGotAABHDc4BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH+ACEQDOYCCyAAQQA2AgAgEEEBaiEBQRYhEAzLAQsCQCABIgQgAkcNAEH/ACEQDOUCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUH8zoCAAGotAABHDc0BIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH/ACEQDOUCCyAAQQA2AgAgEEEBaiEBQQUhEAzKAQsCQCABIgQgAkcNAEGAASEQDOQCCyAELQAAQdkARw3LASAEQQFqIQFBCCEQDMkBCwJAIAEiBCACRw0AQYEBIRAM4wILAkACQCAELQAAQbJ/ag4DAMwBAcwBCyAEQQFqIQFB6wAhEAzKAgsgBEEBaiEBQewAIRAMyQILAkAgASIEIAJHDQBBggEhEAziAgsCQAJAIAQtAABBuH9qDggAywHLAcsBywHLAcsBAcsBCyAEQQFqIQFB6gAhEAzJAgsgBEEBaiEBQe0AIRAMyAILAkAgASIEIAJHDQBBgwEhEAzhAgsgAiAEayAAKAIAIgFqIRAgBCABa0ECaiEUAkADQCAELQAAIAFBgM+AgABqLQAARw3JASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBA2AgBBgwEhEAzhAgtBACEQIABBADYCACAUQQFqIQEMxgELAkAgASIEIAJHDQBBhAEhEAzgAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBg8+AgABqLQAARw3IASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhAEhEAzgAgsgAEEANgIAIBBBAWohAUEjIRAMxQELAkAgASIEIAJHDQBBhQEhEAzfAgsCQAJAIAQtAABBtH9qDggAyAHIAcgByAHIAcgBAcgBCyAEQQFqIQFB7wAhEAzGAgsgBEEBaiEBQfAAIRAMxQILAkAgASIEIAJHDQBBhgEhEAzeAgsgBC0AAEHFAEcNxQEgBEEBaiEBDIMCCwJAIAEiBCACRw0AQYcBIRAM3QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQYjPgIAAai0AAEcNxQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYcBIRAM3QILIABBADYCACAQQQFqIQFBLSEQDMIBCwJAIAEiBCACRw0AQYgBIRAM3AILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNxAEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYgBIRAM3AILIABBADYCACAQQQFqIQFBKSEQDMEBCwJAIAEiASACRw0AQYkBIRAM2wILQQEhECABLQAAQd8ARw3AASABQQFqIQEMgQILAkAgASIEIAJHDQBBigEhEAzaAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQA0AgBC0AACABQYzPgIAAai0AAEcNwQEgAUEBRg2vAiABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGKASEQDNkCCwJAIAEiBCACRw0AQYsBIRAM2QILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQY7PgIAAai0AAEcNwQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYsBIRAM2QILIABBADYCACAQQQFqIQFBAiEQDL4BCwJAIAEiBCACRw0AQYwBIRAM2AILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNwAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYwBIRAM2AILIABBADYCACAQQQFqIQFBHyEQDL0BCwJAIAEiBCACRw0AQY0BIRAM1wILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNvwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY0BIRAM1wILIABBADYCACAQQQFqIQFBCSEQDLwBCwJAIAEiBCACRw0AQY4BIRAM1gILAkACQCAELQAAQbd/ag4HAL8BvwG/Ab8BvwEBvwELIARBAWohAUH4ACEQDL0CCyAEQQFqIQFB+QAhEAy8AgsCQCABIgQgAkcNAEGPASEQDNUCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGRz4CAAGotAABHDb0BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGPASEQDNUCCyAAQQA2AgAgEEEBaiEBQRghEAy6AQsCQCABIgQgAkcNAEGQASEQDNQCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUGXz4CAAGotAABHDbwBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGQASEQDNQCCyAAQQA2AgAgEEEBaiEBQRchEAy5AQsCQCABIgQgAkcNAEGRASEQDNMCCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUGaz4CAAGotAABHDbsBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGRASEQDNMCCyAAQQA2AgAgEEEBaiEBQRUhEAy4AQsCQCABIgQgAkcNAEGSASEQDNICCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGhz4CAAGotAABHDboBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGSASEQDNICCyAAQQA2AgAgEEEBaiEBQR4hEAy3AQsCQCABIgQgAkcNAEGTASEQDNECCyAELQAAQcwARw24ASAEQQFqIQFBCiEQDLYBCwJAIAQgAkcNAEGUASEQDNACCwJAAkAgBC0AAEG/f2oODwC5AbkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AQG5AQsgBEEBaiEBQf4AIRAMtwILIARBAWohAUH/ACEQDLYCCwJAIAQgAkcNAEGVASEQDM8CCwJAAkAgBC0AAEG/f2oOAwC4AQG4AQsgBEEBaiEBQf0AIRAMtgILIARBAWohBEGAASEQDLUCCwJAIAQgAkcNAEGWASEQDM4CCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUGnz4CAAGotAABHDbYBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGWASEQDM4CCyAAQQA2AgAgEEEBaiEBQQshEAyzAQsCQCAEIAJHDQBBlwEhEAzNAgsCQAJAAkACQCAELQAAQVNqDiMAuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AQG4AbgBuAG4AbgBArgBuAG4AQO4AQsgBEEBaiEBQfsAIRAMtgILIARBAWohAUH8ACEQDLUCCyAEQQFqIQRBgQEhEAy0AgsgBEEBaiEEQYIBIRAMswILAkAgBCACRw0AQZgBIRAMzAILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQanPgIAAai0AAEcNtAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZgBIRAMzAILIABBADYCACAQQQFqIQFBGSEQDLEBCwJAIAQgAkcNAEGZASEQDMsCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGuz4CAAGotAABHDbMBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGZASEQDMsCCyAAQQA2AgAgEEEBaiEBQQYhEAywAQsCQCAEIAJHDQBBmgEhEAzKAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBtM+AgABqLQAARw2yASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmgEhEAzKAgsgAEEANgIAIBBBAWohAUEcIRAMrwELAkAgBCACRw0AQZsBIRAMyQILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbbPgIAAai0AAEcNsQEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZsBIRAMyQILIABBADYCACAQQQFqIQFBJyEQDK4BCwJAIAQgAkcNAEGcASEQDMgCCwJAAkAgBC0AAEGsf2oOAgABsQELIARBAWohBEGGASEQDK8CCyAEQQFqIQRBhwEhEAyuAgsCQCAEIAJHDQBBnQEhEAzHAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBuM+AgABqLQAARw2vASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBnQEhEAzHAgsgAEEANgIAIBBBAWohAUEmIRAMrAELAkAgBCACRw0AQZ4BIRAMxgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbrPgIAAai0AAEcNrgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ4BIRAMxgILIABBADYCACAQQQFqIQFBAyEQDKsBCwJAIAQgAkcNAEGfASEQDMUCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDa0BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGfASEQDMUCCyAAQQA2AgAgEEEBaiEBQQwhEAyqAQsCQCAEIAJHDQBBoAEhEAzEAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBvM+AgABqLQAARw2sASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBoAEhEAzEAgsgAEEANgIAIBBBAWohAUENIRAMqQELAkAgBCACRw0AQaEBIRAMwwILAkACQCAELQAAQbp/ag4LAKwBrAGsAawBrAGsAawBrAGsAQGsAQsgBEEBaiEEQYsBIRAMqgILIARBAWohBEGMASEQDKkCCwJAIAQgAkcNAEGiASEQDMICCyAELQAAQdAARw2pASAEQQFqIQQM6QELAkAgBCACRw0AQaMBIRAMwQILAkACQCAELQAAQbd/ag4HAaoBqgGqAaoBqgEAqgELIARBAWohBEGOASEQDKgCCyAEQQFqIQFBIiEQDKYBCwJAIAQgAkcNAEGkASEQDMACCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHAz4CAAGotAABHDagBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGkASEQDMACCyAAQQA2AgAgEEEBaiEBQR0hEAylAQsCQCAEIAJHDQBBpQEhEAy/AgsCQAJAIAQtAABBrn9qDgMAqAEBqAELIARBAWohBEGQASEQDKYCCyAEQQFqIQFBBCEQDKQBCwJAIAQgAkcNAEGmASEQDL4CCwJAAkACQAJAAkAgBC0AAEG/f2oOFQCqAaoBqgGqAaoBqgGqAaoBqgGqAQGqAaoBAqoBqgEDqgGqAQSqAQsgBEEBaiEEQYgBIRAMqAILIARBAWohBEGJASEQDKcCCyAEQQFqIQRBigEhEAymAgsgBEEBaiEEQY8BIRAMpQILIARBAWohBEGRASEQDKQCCwJAIAQgAkcNAEGnASEQDL0CCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDaUBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGnASEQDL0CCyAAQQA2AgAgEEEBaiEBQREhEAyiAQsCQCAEIAJHDQBBqAEhEAy8AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBws+AgABqLQAARw2kASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqAEhEAy8AgsgAEEANgIAIBBBAWohAUEsIRAMoQELAkAgBCACRw0AQakBIRAMuwILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQcXPgIAAai0AAEcNowEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQakBIRAMuwILIABBADYCACAQQQFqIQFBKyEQDKABCwJAIAQgAkcNAEGqASEQDLoCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHKz4CAAGotAABHDaIBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGqASEQDLoCCyAAQQA2AgAgEEEBaiEBQRQhEAyfAQsCQCAEIAJHDQBBqwEhEAy5AgsCQAJAAkACQCAELQAAQb5/ag4PAAECpAGkAaQBpAGkAaQBpAGkAaQBpAGkAQOkAQsgBEEBaiEEQZMBIRAMogILIARBAWohBEGUASEQDKECCyAEQQFqIQRBlQEhEAygAgsgBEEBaiEEQZYBIRAMnwILAkAgBCACRw0AQawBIRAMuAILIAQtAABBxQBHDZ8BIARBAWohBAzgAQsCQCAEIAJHDQBBrQEhEAy3AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBzc+AgABqLQAARw2fASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrQEhEAy3AgsgAEEANgIAIBBBAWohAUEOIRAMnAELAkAgBCACRw0AQa4BIRAMtgILIAQtAABB0ABHDZ0BIARBAWohAUElIRAMmwELAkAgBCACRw0AQa8BIRAMtQILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNnQEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQa8BIRAMtQILIABBADYCACAQQQFqIQFBKiEQDJoBCwJAIAQgAkcNAEGwASEQDLQCCwJAAkAgBC0AAEGrf2oOCwCdAZ0BnQGdAZ0BnQGdAZ0BnQEBnQELIARBAWohBEGaASEQDJsCCyAEQQFqIQRBmwEhEAyaAgsCQCAEIAJHDQBBsQEhEAyzAgsCQAJAIAQtAABBv39qDhQAnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBAZwBCyAEQQFqIQRBmQEhEAyaAgsgBEEBaiEEQZwBIRAMmQILAkAgBCACRw0AQbIBIRAMsgILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQdnPgIAAai0AAEcNmgEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbIBIRAMsgILIABBADYCACAQQQFqIQFBISEQDJcBCwJAIAQgAkcNAEGzASEQDLECCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUHdz4CAAGotAABHDZkBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGzASEQDLECCyAAQQA2AgAgEEEBaiEBQRohEAyWAQsCQCAEIAJHDQBBtAEhEAywAgsCQAJAAkAgBC0AAEG7f2oOEQCaAZoBmgGaAZoBmgGaAZoBmgEBmgGaAZoBmgGaAQKaAQsgBEEBaiEEQZ0BIRAMmAILIARBAWohBEGeASEQDJcCCyAEQQFqIQRBnwEhEAyWAgsCQCAEIAJHDQBBtQEhEAyvAgsgAiAEayAAKAIAIgFqIRQgBCABa0EFaiEQAkADQCAELQAAIAFB5M+AgABqLQAARw2XASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtQEhEAyvAgsgAEEANgIAIBBBAWohAUEoIRAMlAELAkAgBCACRw0AQbYBIRAMrgILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQerPgIAAai0AAEcNlgEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbYBIRAMrgILIABBADYCACAQQQFqIQFBByEQDJMBCwJAIAQgAkcNAEG3ASEQDK0CCwJAAkAgBC0AAEG7f2oODgCWAZYBlgGWAZYBlgGWAZYBlgGWAZYBlgEBlgELIARBAWohBEGhASEQDJQCCyAEQQFqIQRBogEhEAyTAgsCQCAEIAJHDQBBuAEhEAysAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB7c+AgABqLQAARw2UASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuAEhEAysAgsgAEEANgIAIBBBAWohAUESIRAMkQELAkAgBCACRw0AQbkBIRAMqwILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNkwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbkBIRAMqwILIABBADYCACAQQQFqIQFBICEQDJABCwJAIAQgAkcNAEG6ASEQDKoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHyz4CAAGotAABHDZIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG6ASEQDKoCCyAAQQA2AgAgEEEBaiEBQQ8hEAyPAQsCQCAEIAJHDQBBuwEhEAypAgsCQAJAIAQtAABBt39qDgcAkgGSAZIBkgGSAQGSAQsgBEEBaiEEQaUBIRAMkAILIARBAWohBEGmASEQDI8CCwJAIAQgAkcNAEG8ASEQDKgCCyACIARrIAAoAgAiAWohFCAEIAFrQQdqIRACQANAIAQtAAAgAUH0z4CAAGotAABHDZABIAFBB0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG8ASEQDKgCCyAAQQA2AgAgEEEBaiEBQRshEAyNAQsCQCAEIAJHDQBBvQEhEAynAgsCQAJAAkAgBC0AAEG+f2oOEgCRAZEBkQGRAZEBkQGRAZEBkQEBkQGRAZEBkQGRAZEBApEBCyAEQQFqIQRBpAEhEAyPAgsgBEEBaiEEQacBIRAMjgILIARBAWohBEGoASEQDI0CCwJAIAQgAkcNAEG+ASEQDKYCCyAELQAAQc4ARw2NASAEQQFqIQQMzwELAkAgBCACRw0AQb8BIRAMpQILAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBC0AAEG/f2oOFQABAgOcAQQFBpwBnAGcAQcICQoLnAEMDQ4PnAELIARBAWohAUHoACEQDJoCCyAEQQFqIQFB6QAhEAyZAgsgBEEBaiEBQe4AIRAMmAILIARBAWohAUHyACEQDJcCCyAEQQFqIQFB8wAhEAyWAgsgBEEBaiEBQfYAIRAMlQILIARBAWohAUH3ACEQDJQCCyAEQQFqIQFB+gAhEAyTAgsgBEEBaiEEQYMBIRAMkgILIARBAWohBEGEASEQDJECCyAEQQFqIQRBhQEhEAyQAgsgBEEBaiEEQZIBIRAMjwILIARBAWohBEGYASEQDI4CCyAEQQFqIQRBoAEhEAyNAgsgBEEBaiEEQaMBIRAMjAILIARBAWohBEGqASEQDIsCCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEGrASEQDIsCC0HAASEQDKMCCyAAIAUgAhCqgICAACIBDYsBIAUhAQxcCwJAIAYgAkYNACAGQQFqIQUMjQELQcIBIRAMoQILA0ACQCAQLQAAQXZqDgSMAQAAjwEACyAQQQFqIhAgAkcNAAtBwwEhEAygAgsCQCAHIAJGDQAgAEGRgICAADYCCCAAIAc2AgQgByEBQQEhEAyHAgtBxAEhEAyfAgsCQCAHIAJHDQBBxQEhEAyfAgsCQAJAIActAABBdmoOBAHOAc4BAM4BCyAHQQFqIQYMjQELIAdBAWohBQyJAQsCQCAHIAJHDQBBxgEhEAyeAgsCQAJAIActAABBdmoOFwGPAY8BAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAQCPAQsgB0EBaiEHC0GwASEQDIQCCwJAIAggAkcNAEHIASEQDJ0CCyAILQAAQSBHDY0BIABBADsBMiAIQQFqIQFBswEhEAyDAgsgASEXAkADQCAXIgcgAkYNASAHLQAAQVBqQf8BcSIQQQpPDcwBAkAgAC8BMiIUQZkzSw0AIAAgFEEKbCIUOwEyIBBB//8DcyAUQf7/A3FJDQAgB0EBaiEXIAAgFCAQaiIQOwEyIBBB//8DcUHoB0kNAQsLQQAhECAAQQA2AhwgAEHBiYCAADYCECAAQQ02AgwgACAHQQFqNgIUDJwCC0HHASEQDJsCCyAAIAggAhCugICAACIQRQ3KASAQQRVHDYwBIABByAE2AhwgACAINgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAyaAgsCQCAJIAJHDQBBzAEhEAyaAgtBACEUQQEhF0EBIRZBACEQAkACQAJAAkACQAJAAkACQAJAIAktAABBUGoOCpYBlQEAAQIDBAUGCJcBC0ECIRAMBgtBAyEQDAULQQQhEAwEC0EFIRAMAwtBBiEQDAILQQchEAwBC0EIIRALQQAhF0EAIRZBACEUDI4BC0EJIRBBASEUQQAhF0EAIRYMjQELAkAgCiACRw0AQc4BIRAMmQILIAotAABBLkcNjgEgCkEBaiEJDMoBCyALIAJHDY4BQdABIRAMlwILAkAgCyACRg0AIABBjoCAgAA2AgggACALNgIEQbcBIRAM/gELQdEBIRAMlgILAkAgBCACRw0AQdIBIRAMlgILIAIgBGsgACgCACIQaiEUIAQgEGtBBGohCwNAIAQtAAAgEEH8z4CAAGotAABHDY4BIBBBBEYN6QEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB0gEhEAyVAgsgACAMIAIQrICAgAAiAQ2NASAMIQEMuAELAkAgBCACRw0AQdQBIRAMlAILIAIgBGsgACgCACIQaiEUIAQgEGtBAWohDANAIAQtAAAgEEGB0ICAAGotAABHDY8BIBBBAUYNjgEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB1AEhEAyTAgsCQCAEIAJHDQBB1gEhEAyTAgsgAiAEayAAKAIAIhBqIRQgBCAQa0ECaiELA0AgBC0AACAQQYPQgIAAai0AAEcNjgEgEEECRg2QASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHWASEQDJICCwJAIAQgAkcNAEHXASEQDJICCwJAAkAgBC0AAEG7f2oOEACPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAY8BCyAEQQFqIQRBuwEhEAz5AQsgBEEBaiEEQbwBIRAM+AELAkAgBCACRw0AQdgBIRAMkQILIAQtAABByABHDYwBIARBAWohBAzEAQsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBvgEhEAz3AQtB2QEhEAyPAgsCQCAEIAJHDQBB2gEhEAyPAgsgBC0AAEHIAEYNwwEgAEEBOgAoDLkBCyAAQQI6AC8gACAEIAIQpoCAgAAiEA2NAUHCASEQDPQBCyAALQAoQX9qDgK3AbkBuAELA0ACQCAELQAAQXZqDgQAjgGOAQCOAQsgBEEBaiIEIAJHDQALQd0BIRAMiwILIABBADoALyAALQAtQQRxRQ2EAgsgAEEAOgAvIABBAToANCABIQEMjAELIBBBFUYN2gEgAEEANgIcIAAgATYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMiAILAkAgACAQIAIQtICAgAAiBA0AIBAhAQyBAgsCQCAEQRVHDQAgAEEDNgIcIAAgEDYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMiAILIABBADYCHCAAIBA2AhQgAEGnjoCAADYCECAAQRI2AgxBACEQDIcCCyAQQRVGDdYBIABBADYCHCAAIAE2AhQgAEHajYCAADYCECAAQRQ2AgxBACEQDIYCCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNjQEgAEEHNgIcIAAgEDYCFCAAIBQ2AgxBACEQDIUCCyAAIAAvATBBgAFyOwEwIAEhAQtBKiEQDOoBCyAQQRVGDdEBIABBADYCHCAAIAE2AhQgAEGDjICAADYCECAAQRM2AgxBACEQDIICCyAQQRVGDc8BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDIECCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyNAQsgAEEMNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDIACCyAQQRVGDcwBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDP8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyMAQsgAEENNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDP4BCyAQQRVGDckBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDP0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyLAQsgAEEONgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPwBCyAAQQA2AhwgACABNgIUIABBwJWAgAA2AhAgAEECNgIMQQAhEAz7AQsgEEEVRg3FASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhEAz6AQsgAEEQNgIcIAAgATYCFCAAIBA2AgxBACEQDPkBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQzxAQsgAEERNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPgBCyAQQRVGDcEBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPcBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyIAQsgAEETNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPYBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQztAQsgAEEUNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPUBCyAQQRVGDb0BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDPQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyGAQsgAEEWNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQt4CAgAAiBA0AIAFBAWohAQzpAQsgAEEXNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPIBCyAAQQA2AhwgACABNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzxAQtCASERCyAQQQFqIQECQCAAKQMgIhJC//////////8PVg0AIAAgEkIEhiARhDcDICABIQEMhAELIABBADYCHCAAIAE2AhQgAEGtiYCAADYCECAAQQw2AgxBACEQDO8BCyAAQQA2AhwgACAQNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzuAQsgACgCBCEXIABBADYCBCAQIBGnaiIWIQEgACAXIBAgFiAUGyIQELWAgIAAIhRFDXMgAEEFNgIcIAAgEDYCFCAAIBQ2AgxBACEQDO0BCyAAQQA2AhwgACAQNgIUIABBqpyAgAA2AhAgAEEPNgIMQQAhEAzsAQsgACAQIAIQtICAgAAiAQ0BIBAhAQtBDiEQDNEBCwJAIAFBFUcNACAAQQI2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAzqAQsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAM6QELIAFBAWohEAJAIAAvATAiAUGAAXFFDQACQCAAIBAgAhC7gICAACIBDQAgECEBDHALIAFBFUcNugEgAEEFNgIcIAAgEDYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAM6QELAkAgAUGgBHFBoARHDQAgAC0ALUECcQ0AIABBADYCHCAAIBA2AhQgAEGWk4CAADYCECAAQQQ2AgxBACEQDOkBCyAAIBAgAhC9gICAABogECEBAkACQAJAAkACQCAAIBAgAhCzgICAAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIABBAToALgsgACAALwEwQcAAcjsBMCAQIQELQSYhEAzRAQsgAEEjNgIcIAAgEDYCFCAAQaWWgIAANgIQIABBFTYCDEEAIRAM6QELIABBADYCHCAAIBA2AhQgAEHVi4CAADYCECAAQRE2AgxBACEQDOgBCyAALQAtQQFxRQ0BQcMBIRAMzgELAkAgDSACRg0AA0ACQCANLQAAQSBGDQAgDSEBDMQBCyANQQFqIg0gAkcNAAtBJSEQDOcBC0ElIRAM5gELIAAoAgQhBCAAQQA2AgQgACAEIA0Qr4CAgAAiBEUNrQEgAEEmNgIcIAAgBDYCDCAAIA1BAWo2AhRBACEQDOUBCyAQQRVGDasBIABBADYCHCAAIAE2AhQgAEH9jYCAADYCECAAQR02AgxBACEQDOQBCyAAQSc2AhwgACABNgIUIAAgEDYCDEEAIRAM4wELIBAhAUEBIRQCQAJAAkACQAJAAkACQCAALQAsQX5qDgcGBQUDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhFAwBC0EEIRQLIABBAToALCAAIAAvATAgFHI7ATALIBAhAQtBKyEQDMoBCyAAQQA2AhwgACAQNgIUIABBq5KAgAA2AhAgAEELNgIMQQAhEAziAQsgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDEEAIRAM4QELIABBADoALCAQIQEMvQELIBAhAUEBIRQCQAJAAkACQAJAIAAtACxBe2oOBAMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0EpIRAMxQELIABBADYCHCAAIAE2AhQgAEHwlICAADYCECAAQQM2AgxBACEQDN0BCwJAIA4tAABBDUcNACAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA5BAWohAQx1CyAAQSw2AhwgACABNgIMIAAgDkEBajYCFEEAIRAM3QELIAAtAC1BAXFFDQFBxAEhEAzDAQsCQCAOIAJHDQBBLSEQDNwBCwJAAkADQAJAIA4tAABBdmoOBAIAAAMACyAOQQFqIg4gAkcNAAtBLSEQDN0BCyAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA4hAQx0CyAAQSw2AhwgACAONgIUIAAgATYCDEEAIRAM3AELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHMLIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzbAQsgACgCBCEEIABBADYCBCAAIAQgDhCxgICAACIEDaABIA4hAQzOAQsgEEEsRw0BIAFBAWohEEEBIQECQAJAAkACQAJAIAAtACxBe2oOBAMBAgQACyAQIQEMBAtBAiEBDAELQQQhAQsgAEEBOgAsIAAgAC8BMCABcjsBMCAQIQEMAQsgACAALwEwQQhyOwEwIBAhAQtBOSEQDL8BCyAAQQA6ACwgASEBC0E0IRAMvQELIAAgAC8BMEEgcjsBMCABIQEMAgsgACgCBCEEIABBADYCBAJAIAAgBCABELGAgIAAIgQNACABIQEMxwELIABBNzYCHCAAIAE2AhQgACAENgIMQQAhEAzUAQsgAEEIOgAsIAEhAQtBMCEQDLkBCwJAIAAtAChBAUYNACABIQEMBAsgAC0ALUEIcUUNkwEgASEBDAMLIAAtADBBIHENlAFBxQEhEAy3AQsCQCAPIAJGDQACQANAAkAgDy0AAEFQaiIBQf8BcUEKSQ0AIA8hAUE1IRAMugELIAApAyAiEUKZs+bMmbPmzBlWDQEgACARQgp+IhE3AyAgESABrUL/AYMiEkJ/hVYNASAAIBEgEnw3AyAgD0EBaiIPIAJHDQALQTkhEAzRAQsgACgCBCECIABBADYCBCAAIAIgD0EBaiIEELGAgIAAIgINlQEgBCEBDMMBC0E5IRAMzwELAkAgAC8BMCIBQQhxRQ0AIAAtAChBAUcNACAALQAtQQhxRQ2QAQsgACABQff7A3FBgARyOwEwIA8hAQtBNyEQDLQBCyAAIAAvATBBEHI7ATAMqwELIBBBFUYNiwEgAEEANgIcIAAgATYCFCAAQfCOgIAANgIQIABBHDYCDEEAIRAMywELIABBwwA2AhwgACABNgIMIAAgDUEBajYCFEEAIRAMygELAkAgAS0AAEE6Rw0AIAAoAgQhECAAQQA2AgQCQCAAIBAgARCvgICAACIQDQAgAUEBaiEBDGMLIABBwwA2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMygELIABBADYCHCAAIAE2AhQgAEGxkYCAADYCECAAQQo2AgxBACEQDMkBCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhEAzIAQsgAEEANgIACyAAQYASOwEqIAAgF0EBaiIBIAIQqICAgAAiEA0BIAEhAQtBxwAhEAysAQsgEEEVRw2DASAAQdEANgIcIAAgATYCFCAAQeOXgIAANgIQIABBFTYCDEEAIRAMxAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDF4LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMwwELIABBADYCHCAAIBQ2AhQgAEHBqICAADYCECAAQQc2AgwgAEEANgIAQQAhEAzCAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAzBAQtBACEQIABBADYCHCAAIAE2AhQgAEGAkYCAADYCECAAQQk2AgwMwAELIBBBFUYNfSAAQQA2AhwgACABNgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAy/AQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgAUEBaiEBAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBAJAIAAgECABEK2AgIAAIhANACABIQEMXAsgAEHYADYCHCAAIAE2AhQgACAQNgIMQQAhEAy+AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMrQELIABB2QA2AhwgACABNgIUIAAgBDYCDEEAIRAMvQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKsBCyAAQdoANgIcIAAgATYCFCAAIAQ2AgxBACEQDLwBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQypAQsgAEHcADYCHCAAIAE2AhQgACAENgIMQQAhEAy7AQsCQCABLQAAQVBqIhBB/wFxQQpPDQAgACAQOgAqIAFBAWohAUHPACEQDKIBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQynAQsgAEHeADYCHCAAIAE2AhQgACAENgIMQQAhEAy6AQsgAEEANgIAIBdBAWohAQJAIAAtAClBI08NACABIQEMWQsgAEEANgIcIAAgATYCFCAAQdOJgIAANgIQIABBCDYCDEEAIRAMuQELIABBADYCAAtBACEQIABBADYCHCAAIAE2AhQgAEGQs4CAADYCECAAQQg2AgwMtwELIABBADYCACAXQQFqIQECQCAALQApQSFHDQAgASEBDFYLIABBADYCHCAAIAE2AhQgAEGbioCAADYCECAAQQg2AgxBACEQDLYBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKSIQQV1qQQtPDQAgASEBDFULAkAgEEEGSw0AQQEgEHRBygBxRQ0AIAEhAQxVC0EAIRAgAEEANgIcIAAgATYCFCAAQfeJgIAANgIQIABBCDYCDAy1AQsgEEEVRg1xIABBADYCHCAAIAE2AhQgAEG5jYCAADYCECAAQRo2AgxBACEQDLQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxUCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLMBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function consumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      if (bodyUnusable(object)) {
+        throw new TypeError("Body is unusable: Body has already been read");
+      }
+      throwIfAborted(object[kState]);
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
     var util = require_util10();
+    var { channels } = require_diagnostics2();
     var timers = require_timers2();
-    var Request = require_request3();
-    var DispatcherBase = require_dispatcher_base2();
     var {
       RequestContentLengthMismatchError,
       ResponseContentLengthMismatchError,
-      InvalidArgumentError,
       RequestAbortedError,
       HeadersTimeoutError,
       HeadersOverflowError,
@@ -48439,28 +44706,19 @@ var require_client2 = __commonJS({
       InformationalError,
       BodyTimeoutError,
       HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
+      ResponseExceededMaxSizeError
     } = require_errors2();
-    var buildConnector = require_connect2();
     var {
       kUrl,
       kReset,
-      kServerName,
       kClient,
-      kBusy,
       kParser,
-      kConnect,
       kBlocking,
-      kResuming,
       kRunning,
       kPending,
       kSize,
       kWriting,
       kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
       kNoRef,
       kKeepAliveDefaultTimeout,
       kHostHeader,
@@ -48476,340 +44734,26 @@ var require_client2 = __commonJS({
       kHeadersTimeout,
       kBodyTimeout,
       kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
       kMaxRequests,
       kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
       kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
+      kOnError,
+      kResume,
+      kHTTPContext
     } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("http2");
-    } catch {
-      http2 = { constants: {} };
-    }
-    var {
-      constants: {
-        HTTP2_HEADER_AUTHORITY,
-        HTTP2_HEADER_METHOD,
-        HTTP2_HEADER_PATH,
-        HTTP2_HEADER_SCHEME,
-        HTTP2_HEADER_CONTENT_LENGTH,
-        HTTP2_HEADER_EXPECT,
-        HTTP2_HEADER_STATUS
-      }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
-        super();
-        if (keepAlive !== void 0) {
-          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
-        }
-        if (socketTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (requestTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (idleTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
-        }
-        if (maxKeepAliveTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
-        }
-        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
-          throw new InvalidArgumentError("invalid maxHeaderSize");
-        }
-        if (socketPath != null && typeof socketPath !== "string") {
-          throw new InvalidArgumentError("invalid socketPath");
-        }
-        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
-          throw new InvalidArgumentError("invalid connectTimeout");
-        }
-        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeout");
-        }
-        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
-        }
-        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
-        }
-        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
-        }
-        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
-        }
-        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
-        }
-        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
-          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
-        }
-        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
-          throw new InvalidArgumentError("localAddress must be valid string IP address");
-        }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
-        }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
-        }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
-        }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
-        }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
-          });
-        }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
-      }
-      get pipelining() {
-        return this[kPipelining];
-      }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
-      }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
-      }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
-      }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
-      }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
-      }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
-      }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
-      }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
-        } else {
-          resume(this, true);
-        }
-        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
-        }
-        return this[kNeedDrain] < 2;
-      }
-      async [kClose]() {
-        return new Promise((resolve2) => {
-          if (!this[kSize]) {
-            resolve2(null);
-          } else {
-            this[kClosedResolve] = resolve2;
-          }
-        });
-      }
-      async [kDestroy](err) {
-        return new Promise((resolve2) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
-          }
-          const callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
-            }
-            resolve2();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
-          }
-          resume(this);
-        });
-      }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
-    }
-    var constants = require_constants9();
-    var createRedirectInterceptor = require_redirectInterceptor();
+    var constants = require_constants7();
     var EMPTY_BUF = Buffer.alloc(0);
+    var FastBuffer = Buffer[Symbol.species];
+    var addListener = util.addListener;
+    var removeAllListeners = util.removeAllListeners;
+    var extractBody;
     async function lazyllhttp() {
       const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
       let mod;
       try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
       } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
       }
       return await WebAssembly.instantiate(mod, {
         env: {
@@ -48818,35 +44762,35 @@ var require_client2 = __commonJS({
             return 0;
           },
           wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
+            assert(currentParser.ptr === p);
             const start = at - currentBufferPtr + currentBufferRef.byteOffset;
             return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
           },
           wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
+            assert(currentParser.ptr === p);
             return currentParser.onMessageBegin() || 0;
           },
           wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
+            assert(currentParser.ptr === p);
             const start = at - currentBufferPtr + currentBufferRef.byteOffset;
             return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
           },
           wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
+            assert(currentParser.ptr === p);
             const start = at - currentBufferPtr + currentBufferRef.byteOffset;
             return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
           },
           wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
+            assert(currentParser.ptr === p);
             return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
           },
           wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
+            assert(currentParser.ptr === p);
             const start = at - currentBufferPtr + currentBufferRef.byteOffset;
             return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
           },
           wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
+            assert(currentParser.ptr === p);
             return currentParser.onMessageComplete() || 0;
           }
           /* eslint-enable camelcase */
@@ -48860,9 +44804,11 @@ var require_client2 = __commonJS({
     var currentBufferRef = null;
     var currentBufferSize = 0;
     var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
+    var USE_NATIVE_TIMER = 0;
+    var USE_FAST_TIMER = 1;
+    var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
+    var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
+    var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
     var Parser = class {
       constructor(client, socket, { exports: exports3 }) {
         assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
@@ -48888,24 +44834,27 @@ var require_client2 = __commonJS({
         this.connection = "";
         this.maxResponseSize = client[kMaxResponseSize];
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
+      setTimeout(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
               this.timeout.unref();
             }
-          } else {
-            this.timeout = null;
           }
-          this.timeoutValue = value;
+          this.timeoutValue = delay2;
         } else if (this.timeout) {
           if (this.timeout.refresh) {
             this.timeout.refresh();
           }
         }
+        this.timeoutType = type2;
       }
       resume() {
         if (this.socket.destroyed || !this.paused) {
@@ -48982,7 +44931,7 @@ var require_client2 = __commonJS({
         assert(currentParser == null);
         this.llhttp.llhttp_free(this.ptr);
         this.ptr = null;
-        timers.clearTimeout(this.timeout);
+        this.timeout && timers.clearTimeout(this.timeout);
         this.timeout = null;
         this.timeoutValue = null;
         this.timeoutType = null;
@@ -49000,6 +44949,7 @@ var require_client2 = __commonJS({
         if (!request2) {
           return -1;
         }
+        request2.onResponseStarted();
       }
       onHeaderField(buf) {
         const len = this.headers.length;
@@ -49019,11 +44969,14 @@ var require_client2 = __commonJS({
           this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
         const key = this.headers[len - 2];
-        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
+        if (key.length === 10) {
+          const headerName = util.bufferToLowerCasedHeaderName(key);
+          if (headerName === "keep-alive") {
+            this.keepAlive += buf.toString();
+          } else if (headerName === "connection") {
+            this.connection += buf.toString();
+          }
+        } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") {
           this.contentLength += buf.toString();
         }
         this.trackHeader(buf.length);
@@ -49037,16 +44990,16 @@ var require_client2 = __commonJS({
       onUpgrade(head) {
         const { upgrade, client, socket, headers, statusCode } = this;
         assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
+        assert(client[kSocket] === socket);
         assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
         assert(!this.paused);
+        assert((headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
         assert(request2.upgrade || request2.method === "CONNECT");
         this.statusCode = null;
         this.statusText = "";
         this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
         this.headers = [];
         this.headersSize = 0;
         socket.unshift(head);
@@ -49054,8 +45007,9 @@ var require_client2 = __commonJS({
         socket[kParser] = null;
         socket[kClient] = null;
         socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
+        removeAllListeners(socket);
         client[kSocket] = null;
+        client[kHTTPContext] = null;
         client[kQueue][client[kRunningIdx]++] = null;
         client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
         try {
@@ -49063,7 +45017,7 @@ var require_client2 = __commonJS({
         } catch (err) {
           util.destroy(socket, err);
         }
-        resume(client);
+        client[kResume]();
       }
       onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
         const { client, socket, headers, statusText } = this;
@@ -49084,7 +45038,7 @@ var require_client2 = __commonJS({
           util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
           return -1;
         }
-        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
+        assert(this.timeoutType === TIMEOUT_HEADERS);
         this.statusCode = statusCode;
         this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
         request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
@@ -49106,7 +45060,7 @@ var require_client2 = __commonJS({
           this.upgrade = true;
           return 2;
         }
-        assert(this.headers.length % 2 === 0);
+        assert((this.headers.length & 1) === 0);
         this.headers = [];
         this.headersSize = 0;
         if (this.shouldKeepAlive && client[kPipelining]) {
@@ -49139,7 +45093,7 @@ var require_client2 = __commonJS({
         }
         if (socket[kBlocking]) {
           socket[kBlocking] = false;
-          resume(client);
+          client[kResume]();
         }
         return pause ? constants.ERROR.PAUSED : 0;
       }
@@ -49150,7 +45104,7 @@ var require_client2 = __commonJS({
         }
         const request2 = client[kQueue][client[kRunningIdx]];
         assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
+        assert(this.timeoutType === TIMEOUT_BODY);
         if (this.timeout) {
           if (this.timeout.refresh) {
             this.timeout.refresh();
@@ -49174,16 +45128,16 @@ var require_client2 = __commonJS({
         if (upgrade) {
           return;
         }
+        assert(statusCode >= 100);
+        assert((this.headers.length & 1) === 0);
         const request2 = client[kQueue][client[kRunningIdx]];
         assert(request2);
-        assert(statusCode >= 100);
         this.statusCode = null;
         this.statusText = "";
         this.bytesRead = 0;
         this.contentLength = "";
         this.keepAlive = "";
         this.connection = "";
-        assert(this.headers.length % 2 === 0);
         this.headers = [];
         this.headersSize = 0;
         if (statusCode < 200) {
@@ -49196,7 +45150,7 @@ var require_client2 = __commonJS({
         request2.onComplete(headers);
         client[kQueue][client[kRunningIdx]++] = null;
         if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
+          assert(client[kRunning] === 0);
           util.destroy(socket, new InformationalError("reset"));
           return constants.ERROR.PAUSED;
         } else if (!shouldKeepAlive) {
@@ -49205,352 +45159,186 @@ var require_client2 = __commonJS({
         } else if (socket[kReset] && client[kRunning] === 0) {
           util.destroy(socket, new InformationalError("reset"));
           return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
+        } else if (client[kPipelining] == null || client[kPipelining] === 1) {
+          setImmediate(() => client[kResume]());
         } else {
-          resume(client);
+          client[kResume]();
         }
       }
     };
     function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
+      const { socket, timeoutType, client, paused } = parser.deref();
       if (timeoutType === TIMEOUT_HEADERS) {
         if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
+          assert(!paused, "cannot be paused while waiting for headers");
           util.destroy(socket, new HeadersTimeoutError());
         }
       } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
+        if (!paused) {
           util.destroy(socket, new BodyTimeoutError());
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
+      } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
         assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
         util.destroy(socket, new InformationalError("socket idle timeout"));
       }
     }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
       }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
+      socket[kNoRef] = false;
+      socket[kWriting] = false;
+      socket[kReset] = false;
+      socket[kBlocking] = false;
+      socket[kParser] = new Parser(client, socket, llhttpInstance);
+      addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        const parser = this[kParser];
         if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
           parser.onMessageComplete();
           return;
         }
-      }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
         }
-        assert(client[kSize] === 0);
-      }
-    }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
+      });
+      addListener(socket, "end", function() {
+        const parser = this[kParser];
         if (parser.statusCode && !parser.shouldKeepAlive) {
           parser.onMessageComplete();
           return;
         }
-      }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
-    }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      addListener(socket, "close", function() {
+        const client2 = this[kClient];
+        const parser = this[kParser];
+        if (parser) {
+          if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+            parser.onMessageComplete();
+          }
+          this[kParser].destroy();
+          this[kParser] = null;
         }
-        this[kParser].destroy();
-        this[kParser] = null;
-      }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client2[kSocket] = null;
+        client2[kHTTPContext] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+          const request2 = client2[kQueue][client2[kRunningIdx]];
+          client2[kQueue][client2[kRunningIdx]++] = null;
+          util.errorRequest(client2, request2, err);
         }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
-      }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
-      }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
-      }
-      try {
-        const socket = await new Promise((resolve2, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve2(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
-          return;
-        }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
-          }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
-          });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+        client2[kPendingIdx] = client2[kRunningIdx];
+        assert(client2[kRunning] === 0);
+        client2.emit("disconnect", client2[kUrl], [client2], err);
+        client2[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h1",
+        defaultPipelining: 1,
+        write(...args) {
+          return writeH1(client, ...args);
+        },
+        resume() {
+          resumeH1(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
-          });
-        }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
-          return;
-        }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
-          });
-        }
-        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
-          assert(client[kRunning] === 0);
-          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
-            const request2 = client[kQueue][client[kPendingIdx]++];
-            errorRequest2(client, request2, err);
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy(request2) {
+          if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+            return true;
           }
-        } else {
-          onError(client, err);
-        }
-        client.emit("connectionError", client[kUrl], [client], err);
-      }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
-      }
-      client[kResuming] = 2;
-      _resume(client, sync);
-      client[kResuming] = 0;
-      if (client[kRunningIdx] > 256) {
-        client[kQueue].splice(0, client[kRunningIdx]);
-        client[kPendingIdx] -= client[kRunningIdx];
-        client[kRunningIdx] = 0;
-      }
-    }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
-        }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
-        }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+          if (request2) {
+            if (client[kRunning] > 0 && !request2.idempotent) {
+              return true;
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) {
+              return true;
             }
           }
+          return false;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+      };
+    }
+    function resumeH1(client) {
+      const socket = client[kSocket];
+      if (socket && !socket.destroyed) {
+        if (client[kSize] === 0) {
+          if (!socket[kNoRef] && socket.unref) {
+            socket.unref();
+            socket[kNoRef] = true;
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
-          return;
-        }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        } else if (socket[kNoRef] && socket.ref) {
+          socket.ref();
+          socket[kNoRef] = false;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (client[kSize] === 0) {
+          if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
+            socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+          if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+            const request2 = client[kQueue][client[kRunningIdx]];
+            const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];
+            socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
           }
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
-        }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
-        }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
-          return;
-        }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
-        }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
-        }
       }
     }
     function shouldSendContentLength(method) {
       return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
     }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
+    function writeH1(client, request2) {
+      const { method, path: path3, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
       }
-      const { body, method, path: path2, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
       if (body && typeof body.read === "function") {
         body.read(0);
       }
       const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
+      contentLength = bodyLength ?? contentLength;
       if (contentLength === null) {
         contentLength = request2.contentLength;
       }
@@ -49559,22 +45347,24 @@ var require_client2 = __commonJS({
       }
       if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
         if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
           return false;
         }
         process.emitWarning(new RequestContentLengthMismatchError());
       }
       const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
       try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
-        });
+        request2.onConnect(abort);
       } catch (err) {
-        errorRequest2(client, request2, err);
+        util.errorRequest(client, request2, err);
       }
       if (request2.aborted) {
         return false;
@@ -49594,7 +45384,7 @@ var require_client2 = __commonJS({
       if (blocking) {
         socket[kBlocking] = true;
       }
-      let header = `${method} ${path2} HTTP/1.1\r
+      let header = `${method} ${path3} HTTP/1.1\r
 `;
       if (typeof host === "string") {
         header += `host: ${host}\r
@@ -49611,257 +45401,47 @@ upgrade: ${upgrade}\r
       } else {
         header += "connection: close\r\n";
       }
-      if (headers) {
-        header += headers;
+      if (Array.isArray(headers)) {
+        for (let n = 0; n < headers.length; n += 2) {
+          const key = headers[n + 0];
+          const val = headers[n + 1];
+          if (Array.isArray(val)) {
+            for (let i = 0; i < val.length; i++) {
+              header += `${key}: ${val[i]}\r
+`;
+            }
+          } else {
+            header += `${key}: ${val}\r
+`;
+          }
+        }
       }
       if (channels.sendHeaders.hasSubscribers) {
         channels.sendHeaders.publish({ request: request2, headers: header, socket });
       }
       if (!body || bodyLength === 0) {
-        if (contentLength === 0) {
-          socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-        } else {
-          assert(contentLength === null, "no body must not have content length");
-          socket.write(`${header}\r
-`, "latin1");
-        }
-        request2.onRequestSent();
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
       } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
       } else if (util.isBlobLike(body)) {
         if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
         } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
         }
       } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
       } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
       } else {
         assert(false);
       }
       return true;
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path2, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
-      }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
-      }
-      if (request2.aborted) {
-        return false;
-      }
-      let stream;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream = session.request(headers, { endStream: false, signal });
-        if (stream.id && !stream.pending) {
-          request2.onUpgrade(null, null, stream);
-          ++h2State.openStreams;
-        } else {
-          stream.once("ready", () => {
-            request2.onUpgrade(null, null, stream);
-            ++h2State.openStreams;
-          });
-        }
-        stream.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
-      }
-      headers[HTTP2_HEADER_PATH] = path2;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
-      }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
-      }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
-      }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
-      }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream = session.request(headers, { endStream: shouldEndStream, signal });
-        stream.once("continue", writeBodyH2);
-      } else {
-        stream = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
-      }
-      ++h2State.openStreams;
-      stream.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
-          stream.pause();
-        }
-      });
-      stream.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream.pause();
-        }
-      });
-      stream.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
-        }
-      });
-      stream.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
-        }
-      });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream.cork();
-          stream.write(body);
-          stream.uncork();
-          stream.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream,
-              header: "",
-              socket: client[kSocket]
-            });
-          }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
-        }
-      }
-    }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
       assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
-      }
       let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
       const onData = function(chunk) {
         if (finished) {
           return;
@@ -49882,12 +45462,14 @@ upgrade: ${upgrade}\r
           body.resume();
         }
       };
-      const onAbort = function() {
-        if (finished) {
-          return;
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
         }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
       };
       const onFinished = function(err) {
         if (finished) {
@@ -49896,7 +45478,7 @@ upgrade: ${upgrade}\r
         finished = true;
         assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
         socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
         if (!err) {
           try {
             writer.end();
@@ -49911,43 +45493,75 @@ upgrade: ${upgrade}\r
           util.destroy(body);
         }
       };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
       if (body.resume) {
         body.resume();
       }
       socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
+      }
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      }
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
       assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
       try {
         if (contentLength != null && contentLength !== body.size) {
           throw new RequestContentLengthMismatchError();
         }
         const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
 \r
 `, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
+        socket.write(buffer);
+        socket.uncork();
         request2.onBodySent(buffer);
         request2.onRequestSent();
-        if (!expectsPayload) {
+        if (!expectsPayload && request2.reset !== false) {
           socket[kReset] = true;
         }
-        resume(client);
+        client[kResume]();
       } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+        abort(err);
       }
     }
-    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
       assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
       let callback = null;
       function onDrain() {
@@ -49965,30 +45579,8 @@ upgrade: ${upgrade}\r
           callback = resolve2;
         }
       });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
-      }
       socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
       try {
         for await (const chunk of body) {
           if (socket[kError]) {
@@ -50006,7 +45598,7 @@ upgrade: ${upgrade}\r
       }
     }
     var AsyncWriter = class {
-      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
+      constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) {
         this.socket = socket;
         this.request = request2;
         this.contentLength = contentLength;
@@ -50014,6 +45606,7 @@ upgrade: ${upgrade}\r
         this.bytesWritten = 0;
         this.expectsPayload = expectsPayload;
         this.header = header;
+        this.abort = abort;
         socket[kWriting] = true;
       }
       write(chunk) {
@@ -50036,7 +45629,7 @@ upgrade: ${upgrade}\r
         }
         socket.cork();
         if (bytesWritten === 0) {
-          if (!expectsPayload) {
+          if (!expectsPayload && request2.reset !== false) {
             socket[kReset] = true;
           }
           if (contentLength === null) {
@@ -50100,10503 +45693,13651 @@ ${len.toString(16)}\r
             socket[kParser].timeout.refresh();
           }
         }
-        resume(client);
+        client[kResume]();
       }
       destroy(err) {
-        const { socket, client } = this;
+        const { socket, client, abort } = this;
         socket[kWriting] = false;
         if (err) {
           assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
+          abort(err);
         }
       }
     };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
-      }
-    }
-    module2.exports = Client;
+    module2.exports = connectH1;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
     "use strict";
-    var kSize = 2048;
-    var kMask = kSize - 1;
-    var FixedCircularBuffer = class {
-      constructor() {
-        this.bottom = 0;
-        this.top = 0;
-        this.list = new Array(kSize);
-        this.next = null;
-      }
-      isEmpty() {
-        return this.top === this.bottom;
-      }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
-      }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
-      }
-      shift() {
-        const nextItem = this.list[this.bottom];
-        if (nextItem === void 0)
-          return null;
-        this.list[this.bottom] = void 0;
-        this.bottom = this.bottom + 1 & kMask;
-        return nextItem;
-      }
-    };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
-      }
-      isEmpty() {
-        return this.head.isEmpty();
-      }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
-        }
-        this.head.push(data);
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
+    var util = require_util10();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ Symbol("open streams");
+    var extractBody;
+    var h2ExperimentalWarned = false;
+    var http2;
+    try {
+      http2 = require("node:http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
       }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
+    } = http2;
+    function parseH2Headers(headers) {
+      const result = [];
+      for (const [name, value] of Object.entries(headers)) {
+        if (Array.isArray(value)) {
+          for (const subvalue of value) {
+            result.push(Buffer.from(name), Buffer.from(subvalue));
+          }
+        } else {
+          result.push(Buffer.from(name), Buffer.from(value));
         }
-        return next;
-      }
-    };
-  }
-});
-
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
       }
-      get connected() {
-        return this[kPool][kConnected];
+      return result;
+    }
+    async function connectH2(client, socket) {
+      client[kSocket] = socket;
+      if (!h2ExperimentalWarned) {
+        h2ExperimentalWarned = true;
+        process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+          code: "UNDICI-H2"
+        });
       }
-      get free() {
-        return this[kPool][kFree];
+      const session = http2.connect(client[kUrl], {
+        createConnection: () => socket,
+        peerMaxConcurrentStreams: client[kMaxConcurrentStreams]
+      });
+      session[kOpenStreams] = 0;
+      session[kClient] = client;
+      session[kSocket] = socket;
+      util.addListener(session, "error", onHttp2SessionError);
+      util.addListener(session, "frameError", onHttp2FrameError);
+      util.addListener(session, "end", onHttp2SessionEnd);
+      util.addListener(session, "goaway", onHTTP2GoAway);
+      util.addListener(session, "close", function() {
+        const { [kClient]: client2 } = this;
+        const { [kSocket]: socket2 } = client2;
+        const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2));
+        client2[kHTTP2Session] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        }
+      });
+      session.unref();
+      client[kHTTP2Session] = session;
+      socket[kHTTP2Session] = session;
+      util.addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      util.addListener(socket, "end", function() {
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      util.addListener(socket, "close", function() {
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client[kSocket] = null;
+        if (this[kHTTP2Session] != null) {
+          this[kHTTP2Session].destroy(err);
+        }
+        client[kPendingIdx] = client[kRunningIdx];
+        assert(client[kRunning] === 0);
+        client.emit("disconnect", client[kUrl], [client], err);
+        client[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h2",
+        defaultPipelining: Infinity,
+        write(...args) {
+          return writeH2(client, ...args);
+        },
+        resume() {
+          resumeH2(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy() {
+          return false;
+        }
+      };
+    }
+    function resumeH2(client) {
+      const socket = client[kSocket];
+      if (socket?.destroyed === false) {
+        if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {
+          socket.unref();
+          client[kHTTP2Session].unref();
+        } else {
+          socket.ref();
+          client[kHTTP2Session].ref();
+        }
       }
-      get pending() {
-        return this[kPool][kPending];
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
       }
-      get queued() {
-        return this[kPool][kQueued];
+    }
+    function onHttp2SessionEnd() {
+      const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket]));
+      this.destroy(err);
+      util.destroy(this[kSocket], err);
+    }
+    function onHTTP2GoAway(code) {
+      const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this));
+      const client = this[kClient];
+      client[kSocket] = null;
+      client[kHTTPContext] = null;
+      if (this[kHTTP2Session] != null) {
+        this[kHTTP2Session].destroy(err);
+        this[kHTTP2Session] = null;
       }
-      get running() {
-        return this[kPool][kRunning];
+      util.destroy(this[kSocket], err);
+      if (client[kRunningIdx] < client[kQueue].length) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        util.errorRequest(client, request2, err);
+        client[kPendingIdx] = client[kRunningIdx];
       }
-      get size() {
-        return this[kPool][kSize];
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      client[kResume]();
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH2(client, request2) {
+      const session = client[kHTTP2Session];
+      const { method, path: path3, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-    };
-    module2.exports = PoolStats;
-  }
-});
-
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
-    "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ Symbol("stats");
-    var PoolBase = class extends DispatcherBase {
-      constructor() {
-        super();
-        this[kQueue] = new FixedQueue();
-        this[kClients] = [];
-        this[kQueued] = 0;
-        const pool = this;
-        this[kOnDrain] = function onDrain(origin, targets) {
-          const queue = pool[kQueue];
-          let needDrain = false;
-          while (!needDrain) {
-            const item = queue.shift();
-            if (!item) {
-              break;
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
             }
-            pool[kQueued]--;
-            needDrain = !this.dispatch(item.opts, item.handler);
-          }
-          this[kNeedDrain] = needDrain;
-          if (!this[kNeedDrain] && pool[kNeedDrain]) {
-            pool[kNeedDrain] = false;
-            pool.emit("drain", origin, [pool, ...targets]);
-          }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
-        };
-        this[kOnConnect] = (origin, targets) => {
-          pool.emit("connect", origin, [pool, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          pool.emit("disconnect", origin, [pool, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          pool.emit("connectionError", origin, [pool, ...targets], err);
-        };
-        this[kStats] = new PoolStats(this);
-      }
-      get [kBusy]() {
-        return this[kNeedDrain];
-      }
-      get [kConnected]() {
-        return this[kClients].filter((client) => client[kConnected]).length;
-      }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
-      }
-      get [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
+        } else {
+          headers[key] = val;
         }
-        return ret;
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      let stream;
+      const { hostname, port } = client[kUrl];
+      headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
+      headers[HTTP2_HEADER_METHOD] = method;
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
         }
-        return ret;
-      }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream != null) {
+          util.destroy(stream, err);
         }
-        return ret;
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      get stats() {
-        return this[kStats];
+      if (request2.aborted) {
+        return false;
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
+      if (method === "CONNECT") {
+        session.ref();
+        stream = session.request(headers, { endStream: false, signal });
+        if (stream.id && !stream.pending) {
+          request2.onUpgrade(null, null, stream);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
         } else {
-          return new Promise((resolve2) => {
-            this[kClosedResolve] = resolve2;
+          stream.once("ready", () => {
+            request2.onUpgrade(null, null, stream);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
           });
         }
+        stream.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
+        });
+        return true;
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
-        }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
+      headers[HTTP2_HEADER_PATH] = path3;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      [kDispatch](opts, handler2) {
-        const dispatcher = this[kGetDispatcher]();
-        if (!dispatcher) {
-          this[kNeedDrain] = true;
-          this[kQueue].push({ opts, handler: handler2 });
-          this[kQueued]++;
-        } else if (!dispatcher.dispatch(opts, handler2)) {
-          dispatcher[kNeedDrain] = true;
-          this[kNeedDrain] = !this[kGetDispatcher]();
-        }
-        return !this[kNeedDrain];
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      [kAddClient](client) {
-        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-        this[kClients].push(client);
-        if (this[kNeedDrain]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        return this;
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      [kRemoveClient](client) {
-        client.close(() => {
-          const idx = this[kClients].indexOf(client);
-          if (idx !== -1) {
-            this[kClients].splice(idx, 1);
-          }
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      }
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
         });
-        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+        writeBodyH2();
       }
-    };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
-    "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util10();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
-    }
-    var Pool = class extends PoolBase {
-      constructor(origin, {
-        connections,
-        factory = defaultFactory,
-        connect,
-        connectTimeout,
-        tls,
-        maxCachedSessions,
-        socketPath,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        allowH2,
-        ...options
-      } = {}) {
-        super();
-        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
-          throw new InvalidArgumentError("invalid connections");
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
+      ++session[kOpenStreams];
+      stream.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        request2.onResponseStarted();
+        if (request2.aborted) {
+          const err = new RequestAbortedError();
+          util.errorRequest(client, request2, err);
+          util.destroy(stream, err);
+          return;
         }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) {
+          stream.pause();
         }
-        if (typeof connect !== "function") {
-          connect = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
+        stream.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream.pause();
           }
         });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
+      });
+      stream.once("end", () => {
+        if (stream.state?.state == null || stream.state.state < 6) {
+          request2.onComplete([]);
         }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
+      });
+      stream.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream.once("error", function(err) {
+        abort(err);
+      });
+      stream.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
         }
-        return dispatcher;
       }
-    };
-    module2.exports = Pool;
-  }
-});
-
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
-    "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util10();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
     }
-    var BalancedPool = class extends PoolBase {
-      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
-        super();
-        this[kOptions] = opts;
-        this[kIndex] = -1;
-        this[kCurrentWeight] = 0;
-        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
-        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
-        if (!Array.isArray(upstreams)) {
-          upstreams = [upstreams];
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
         }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
-        this._updateBalancedPoolStats();
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      addUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
-          return this;
-        }
-        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
-        this[kAddClient](pool);
-        pool.on("connect", () => {
-          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
-        });
-        pool.on("connectionError", () => {
-          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-          this._updateBalancedPoolStats();
-        });
-        pool.on("disconnect", (...args) => {
-          const err = args[2];
-          if (err && err.code === "UND_ERR_SOCKET") {
-            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-            this._updateBalancedPoolStats();
+    }
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
           }
-        });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
         }
-        this._updateBalancedPoolStats();
-        return this;
-      }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      removeUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
-        if (pool) {
-          this[kRemoveClient](pool);
+    }
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return this;
-      }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
-      }
-      [kGetDispatcher]() {
-        if (this[kClients].length === 0) {
-          throw new BalancedPoolMissingUpstreamError();
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
-        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
-        if (!dispatcher) {
-          return;
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      }
+    }
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
         }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
+      }
+      const waitForDrain = () => new Promise((resolve2, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve2;
         }
-        let counter = 0;
-        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
-        while (counter++ < this[kClients].length) {
-          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
-          const pool = this[kClients][this[kIndex]];
-          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
-            maxWeightIndex = this[kIndex];
-          }
-          if (this[kIndex] === 0) {
-            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
-            if (this[kCurrentWeight] <= 0) {
-              this[kCurrentWeight] = this[kMaxWeightPerServer];
-            }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
           }
-          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
-            return pool;
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
           }
         }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
       }
-    };
-    module2.exports = BalancedPool;
+    }
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    var util = require_util10();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
       }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
       }
     };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
-      }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        this.redirectionLimitReached = false;
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
+          }
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
+          }
+        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
         }
       }
-    };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
-    };
-  }
-});
-
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
-    "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
-    var util = require_util10();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    function defaultFactory(origin, opts) {
-      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
-    }
-    var Agent = class extends DispatcherBase {
-      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
-        super();
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
+      }
+      onError(error3) {
+        this.handler.onError(error3);
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
+          if (this.request) {
+            this.request.abort(new Error("max redirects"));
+          }
+          this.redirectionLimitReached = true;
+          this.abort(new Error("max redirects"));
+          return;
         }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
         }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
         }
-        if (connect && typeof connect !== "function") {
-          connect = { ...connect };
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path3 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path3;
+        this.opts.origin = origin;
+        this.opts.maxRedirections = 0;
+        this.opts.query = null;
+        if (statusCode === 303 && this.opts.method !== "HEAD") {
+          this.opts.method = "GET";
+          this.opts.body = null;
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
-        );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
         }
-        return ret;
       }
-      [kDispatch](opts, handler2) {
-        let key;
-        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
-          key = String(opts.origin);
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
         } else {
-          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
+          this.handler.onComplete(trailers);
         }
-        return dispatcher.dispatch(opts, handler2);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
         }
-        await Promise.all(closePromises);
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
+      }
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
+          return headers[i + 1];
+        }
+      }
+    }
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
+      }
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
+      }
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+      }
+      return false;
+    }
+    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
+      const ret = [];
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
+            ret.push(headers[i], headers[i + 1]);
           }
         }
-        await Promise.all(destroyPromises);
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
+          }
+        }
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-    };
-    module2.exports = Agent;
+      return ret;
+    }
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
+    var RedirectHandler = require_redirect_handler2();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
+          }
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
+        };
+      };
+    }
+    module2.exports = createRedirectInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
     var util = require_util10();
-    var { ReadableStreamFrom, toUSVString } = require_util10();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    var {
+      kUrl,
+      kServerName,
+      kClient,
+      kBusy,
+      kConnect,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
+    } = require_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
     var noop3 = () => {
     };
-    module2.exports = class BodyReadable extends Readable {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        highWaterMark = 64 * 1024
-        // Same as nodejs fs streams.
-      }) {
-        super({
-          autoDestroy: true,
-          read: resume,
-          highWaterMark
-        });
-        this._readableState.dataEmitted = false;
-        this[kAbort] = abort;
-        this[kConsume] = null;
-        this[kBody] = null;
-        this[kContentType] = contentType;
-        this[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
+    function getPipelining(client) {
+      return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
+    }
+    var Client = class extends DispatcherBase {
+      /**
+       *
+       * @param {string|URL} url
+       * @param {import('../../types/client.js').Client.Options} options
+       */
+      constructor(url, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        maxConcurrentStreams,
+        allowH2
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
         }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        if (err) {
-          this[kAbort]();
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        return super.emit(ev, ...args);
-      }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-        return super.on(ev, ...args);
-      }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
-      }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
         }
-        return ret;
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
+        }
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
+        }
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
+        }
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        }
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        }
+        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        }
+        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        }
+        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+        }
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        }
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        }
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        }
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
+        }
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
+        }
+        if (interceptors?.Client && Array.isArray(interceptors.Client)) {
+          this[kInterceptors] = interceptors.Client;
+          if (!deprecatedInterceptorWarned) {
+            deprecatedInterceptorWarned = true;
+            process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", {
+              code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"
+            });
+          }
+        } else {
+          this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })];
+        }
+        this[kUrl] = util.parseOrigin(url);
+        this[kConnector] = connect2;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
+        this[kHTTPContext] = null;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
+        this[kResume] = (sync) => resume(this, sync);
+        this[kOnError] = (err) => onError(this, err);
       }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
+      get pipelining() {
+        return this[kPipelining];
       }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
-        }
-        return super.push(chunk);
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      // https://fetch.spec.whatwg.org/#dom-body-text
-      async text() {
-        return consume(this, "text");
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      // https://fetch.spec.whatwg.org/#dom-body-json
-      async json() {
-        return consume(this, "json");
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      // https://fetch.spec.whatwg.org/#dom-body-blob
-      async blob() {
-        return consume(this, "blob");
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
+      get [kConnected]() {
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
+      get [kBusy]() {
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
       }
-      // https://fetch.spec.whatwg.org/#dom-body-body
-      get body() {
-        if (!this[kBody]) {
-          this[kBody] = ReadableStreamFrom(this);
-          if (this[kConsume]) {
-            this[kBody].getReader();
-            assert(this[kBody].locked);
-          }
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = new Request(origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          queueMicrotask(() => resume(this));
+        } else {
+          this[kResume](true);
         }
-        return this[kBody];
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
+        }
+        return this[kNeedDrain] < 2;
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
+      async [kClose]() {
+        return new Promise((resolve2) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve2;
+          } else {
+            resolve2(null);
           }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve2, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve2(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
+        });
+      }
+      async [kDestroy](err) {
+        return new Promise((resolve2) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(this, request2, err);
+          }
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
             }
-          }).resume();
+            resolve2(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
+          } else {
+            queueMicrotask(callback);
+          }
+          this[kResume]();
         });
       }
     };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream, type2) {
-      if (isUnusable(stream)) {
-        throw new TypeError("unusable");
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          util.errorRequest(client, request2, err);
+        }
+        assert(client[kSize] === 0);
       }
-      assert(!stream[kConsume]);
-      return new Promise((resolve2, reject) => {
-        stream[kConsume] = {
-          type: type2,
-          stream,
-          resolve: resolve2,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
-          }
-        });
-        process.nextTick(consumeStart, stream[kConsume]);
-      });
     }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kHTTPContext]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            version: client[kHTTPContext]?.version,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
         });
       }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
-      }
-    }
-    function consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve2, stream, length } = consume2;
       try {
-        if (type2 === "text") {
-          resolve2(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve2(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
-          }
-          resolve2(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
-          }
-          resolve2(new Blob2(body, { type: stream[kContentType] }));
-        }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream.destroy(err);
-      }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
+        const socket = await new Promise((resolve2, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve2(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
+        }
+        assert(socket);
+        try {
+          client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket);
+        } catch (err) {
+          socket.destroy().on("error", noop3);
+          throw err;
+        }
+        client[kConnecting] = false;
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
+        }
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
+        }
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
+        }
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            util.errorRequest(client, request2, err);
+          }
+        } else {
+          onError(client, err);
+        }
+        client.emit("connectionError", client[kUrl], [client], err);
+      }
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
         return;
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
+      }
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
+        }
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
+        }
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
+        }
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
+          } else {
+            emitDrain(client);
+          }
+          continue;
+        }
+        if (client[kPending] === 0) {
+          return;
+        }
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
+        }
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
+          }
+          client[kServerName] = request2.servername;
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
+        }
+        if (client[kConnecting]) {
+          return;
+        }
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
+        }
+        if (client[kHTTPContext].destroyed) {
+          return;
+        }
+        if (client[kHTTPContext].busy(request2)) {
+          return;
+        }
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
+        }
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
     }
+    module2.exports = Client;
   }
 });
 
-// node_modules/undici/lib/api/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util10();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
-        }
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
+    "use strict";
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
+      constructor() {
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
+      }
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
+      }
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
+      }
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
+      }
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
         }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
+        this.head.push(data);
+      }
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
-      } catch (err) {
+        return next;
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
+    };
   }
 });
 
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util10();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      get connected() {
+        return this[kPool][kConnected];
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      get free() {
+        return this[kPool][kFree];
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      get pending() {
+        return this[kPool][kPending];
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
-      } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+      get queued() {
+        return this[kPool][kQueued];
+      }
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
     };
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var Readable = require_readable2();
-    var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util10();
-    var { getResolveErrorBodyCallback } = require_util12();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
+      constructor() {
+        super();
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
+            }
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
-          throw err;
+        };
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
+      }
+      get [kBusy]() {
+        return this[kNeedDrain];
+      }
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
+      }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+      }
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
-        addSignal(this, signal);
+        return ret;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
-        this.abort = abort;
-        this.context = context2;
+        return ret;
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      get stats() {
+        return this[kStats];
+      }
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve2) => {
+            this[kClosedResolve] = resolve2;
+          });
         }
-        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-        const contentType = parsedHeaders["content-type"];
-        const body = new Readable({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
+      }
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
           }
+          item.handler.onError(err);
         }
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
-      }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
         }
-        if (res) {
-          this.res = null;
+        return !this[kNeedDrain];
+      }
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
           queueMicrotask(() => {
-            util.destroy(res, err);
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
+            }
           });
         }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
+        return this;
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve2, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve2(data);
-          });
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
+          }
         });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
   }
 });
 
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
     "use strict";
-    var { finished, PassThrough } = require("stream");
     var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
     } = require_errors2();
     var util = require_util10();
-    var { getResolveErrorBodyCallback } = require_util12();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
+        }
+        this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
           }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+        });
+      }
+      [kGetDispatcher]() {
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
           }
-          throw err;
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+          return dispatcher;
         }
-        addSignal(this, signal);
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+    };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors2();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util10();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
+      }
+      return a;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
         }
-        this.abort = abort;
-        this.context = context2;
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
         }
-        this.factory = null;
-        let res;
-        if (this.throwOnError && statusCode >= 400) {
-          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-          const contentType = parsedHeaders["content-type"];
-          res = new PassThrough();
-          this.callback = null;
-          this.runInAsyncScope(
-            getResolveErrorBodyCallback,
-            null,
-            { callback, body: res, contentType, statusCode, statusMessage, headers }
-          );
-        } else {
-          if (factory === null) {
-            return;
-          }
-          res = this.runInAsyncScope(factory, null, {
-            statusCode,
-            headers,
-            opaque,
-            context: context2
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
           }
-          finished(res, { readable: false }, (err) => {
-            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
-            this.res = null;
-            if (err || !res2.readable) {
-              util.destroy(res2, err);
-            }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
-            }
-          });
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
         }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
+        this._updateBalancedPoolStats();
+        return this;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
         }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
+        this[kGreatestCommonDivisor] = result;
       }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
         }
+        return this;
       }
-    };
-    function stream(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve2, reject) => {
-          stream.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve2(data);
-          });
-        });
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
       }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
+          return;
+        }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
+          return;
+        }
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
+          }
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
+            }
+          }
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
+          }
+        }
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
       }
-    }
-    module2.exports = stream;
+    };
+    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
     "use strict";
-    var {
-      Readable,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
+    var { InvalidArgumentError } = require_errors2();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
     var util = require_util10();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
-      }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-      }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
-      }
-    };
-    var PipelineResponse = class extends Readable {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
-      }
-      _read() {
-        this[kResume]();
-      }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        callback(err);
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
+        }
+        this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kOnDrain] = (origin, targets) => {
+          this.emit("drain", origin, [this, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          this.emit("connect", origin, [this, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          this.emit("disconnect", origin, [this, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          this.emit("connectionError", origin, [this, ...targets], err);
+        };
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
         }
-        if (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        return ret;
+      }
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
         }
-        const { signal, method, opaque, onInfo, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        let dispatcher = this[kClients].get(key);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, dispatcher);
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        return dispatcher.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        this[kClients].clear();
+        await Promise.all(closePromises);
+      }
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const client of this[kClients].values()) {
+          destroyPromises.push(client.destroy(err));
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        this[kClients].clear();
+        await Promise.all(destroyPromises);
       }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+    };
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var noop3 = () => {
+    };
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
+      }
+      return new Pool(origin, opts);
+    }
+    var Http1ProxyWrapper = class extends DispatcherBase {
+      #client;
+      constructor(proxyUrl, { headers = {}, connect, factory }) {
+        super();
+        if (!proxyUrl) {
+          throw new InvalidArgumentError("Proxy URL is mandatory");
+        }
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
         }
-        this.abort = abort;
-        this.context = context2;
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
+      [kDispatch](opts, handler2) {
+        const onHeaders = handler2.onHeaders;
+        handler2.onHeaders = function(statusCode, data, resume) {
+          if (statusCode === 407) {
+            if (typeof handler2.onError === "function") {
+              handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
+            }
+            return;
           }
-          return;
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path3 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path3;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
+      }
+      async [kClose]() {
+        return this.#client.close();
+      }
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
+      }
+    };
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super();
+        if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) {
+          throw new InvalidArgumentError("Proxy uri is mandatory");
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
+        const { proxyTunnel = true } = opts;
+        const url = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url;
+        this[kProxy] = { uri: href, protocol };
+        this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        this[kTunnelProxy] = proxyTunnel;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
+        }
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        const agentFactory = opts.factory || defaultAgentFactory;
+        const factory = (origin2, options) => {
+          const { protocol: protocol2 } = new URL2(origin2);
+          if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
+            return new Http1ProxyWrapper(this[kProxy].uri, {
+              headers: this[kProxyHeaders],
+              connect,
+              factory: agentFactory
+            });
           }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+          return agentFactory(origin2, options);
+        };
+        this[kClient] = clientFactory(url, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          factory,
+          connect: async (opts2, callback) => {
+            let requestedPath = opts2.host;
+            if (!opts2.port) {
+              requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedPath,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host: opts2.host
+                },
+                servername: this[kProxyTls]?.servername || proxyHostname
+              });
+              if (statusCode !== 200) {
+                socket.on("error", noop3).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+                callback(new SecureProxyConnectionError(err));
+              } else {
+                callback(err);
+              }
+            }
           }
         });
-        this.body = body;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      dispatch(opts, handler2) {
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        if (headers && !("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(opts.origin);
+          headers.host = host;
+        }
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      /**
+       * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts
+       * @returns {URL}
+       */
+      #getUrl(opts) {
+        if (typeof opts === "string") {
+          return new URL2(opts);
+        } else if (opts instanceof URL2) {
+          return opts;
+        } else {
+          return new URL2(opts.uri);
+        }
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
+      }
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
     };
-    function pipeline(opts, handler2) {
-      try {
-        const pipelineHandler = new PipelineHandler(opts, handler2);
-        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
-        return pipelineHandler.ret;
-      } catch (err) {
-        return new PassThrough().destroy(err);
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
+        }
+        return headersPair;
+      }
+      return headers;
+    }
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
       }
     }
-    module2.exports = pipeline;
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
-    var util = require_util10();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
+        super();
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
+        this[kNoProxyAgent] = new Agent(agentOpts);
+        const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
+        if (HTTP_PROXY) {
+          this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY });
+        } else {
+          this[kHttpProxyAgent] = this[kNoProxyAgent];
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
+        if (HTTPS_PROXY) {
+          this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY });
+        } else {
+          this[kHttpsProxyAgent] = this[kHttpProxyAgent];
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        this.#parseNoProxy();
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      [kDispatch](opts, handler2) {
+        const url = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url);
+        return agent.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
+        }
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
-        this.abort = abort;
-        this.context = null;
       }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
+        }
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
+        }
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
+      #getProxyAgentForUrl(url) {
+        let { protocol, host: hostname, port } = url;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
+        }
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
+        }
+        return this[kHttpProxyAgent];
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
+        }
+        if (this.#noProxyEntries.length === 0) {
+          return true;
+        }
+        if (this.#noProxyValue === "*") {
+          return false;
+        }
+        for (let i = 0; i < this.#noProxyEntries.length; i++) {
+          const entry = this.#noProxyEntries[i];
+          if (entry.port && entry.port !== port) {
+            continue;
+          }
+          if (!/^[.*]/.test(entry.hostname)) {
+            if (hostname === entry.hostname) {
+              return false;
+            }
+          } else {
+            if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
+              return false;
+            }
+          }
         }
+        return true;
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve2, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve2(data);
+      #parseNoProxy() {
+        const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
+        const noProxySplit = noProxyValue.split(/[,\s]/);
+        const noProxyEntries = [];
+        for (let i = 0; i < noProxySplit.length; i++) {
+          const entry = noProxySplit[i];
+          if (!entry) {
+            continue;
+          }
+          const parsed = entry.match(/^(.+):(\d+)$/);
+          noProxyEntries.push({
+            hostname: (parsed ? parsed[1] : entry).toLowerCase(),
+            port: parsed ? Number.parseInt(parsed[2], 10) : 0
           });
-        });
+        }
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
       }
-      try {
-        const upgradeHandler = new UpgradeHandler(opts, callback);
-        this.dispatch({
-          ...opts,
-          method: opts.method || "GET",
-          upgrade: opts.protocol || "Websocket"
-        }, upgradeHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return this.#noProxyValue !== this.#noProxyEnv;
       }
-    }
-    module2.exports = upgrade;
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
   }
 });
 
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
     "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util10();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
-      }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
-      }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        removeSignal(this);
-        this.callback = null;
-        let headers = rawHeaders;
-        if (headers != null) {
-          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        }
-        this.runInAsyncScope(callback, null, null, {
-          statusCode,
-          headers,
-          socket,
-          opaque,
-          context: context2
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util10();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      return new Date(retryAfter).getTime() - current;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          minTimeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "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((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
+          }
         });
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve2, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve2(data);
-          });
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
+        }
+      }
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
+        }
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      }
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          minTimeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        const { counter } = state;
+        if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
+        }
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
+        }
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
+        }
+        if (counter > maxRetries) {
+          cb(err);
+          return;
+        }
+        let retryAfterHeader = headers?.["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
+        setTimeout(() => cb(null), retryTimeout);
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          if (this.retryOpts.statusCodes.includes(statusCode) === false) {
+            return this.handler.onHeaders(
+              statusCode,
+              rawHeaders,
+              resume,
+              statusMessage
+            );
+          } else {
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
+          }
+        }
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
+            this.abort(
+              new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size - 1 } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
+        }
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
+            }
+            const { start, size, end = size - 1 } = range;
+            assert(
+              start != null && Number.isFinite(start),
+              "content-range mismatch"
+            );
+            assert(end != null && Number.isFinite(end), "invalid content-length");
+            this.start = start;
+            this.end = end;
+          }
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
+          }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          if (this.etag != null && this.etag.startsWith("W/")) {
+            this.etag = null;
+          }
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
+        }
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          data: { count: this.retryCount }
         });
+        this.abort(err);
+        return false;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
+      }
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
+      }
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        if (this.retryCount - this.retryCountCheckpoint > 0) {
+          this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
+        } else {
+          this.retryCount += 1;
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
+          },
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
+          }
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
+            }
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
+          }
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
+          }
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
+    };
+    module2.exports = RetryHandler;
   }
 });
 
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
     "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
+      }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
+      }
+      close() {
+        return this.#agent.close();
+      }
+      destroy() {
+        return this.#agent.destroy();
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
+    module2.exports = RetryAgent;
   }
 });
 
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
     "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
+    var assert = require("node:assert");
+    var { Readable } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
+    var util = require_util10();
+    var { ReadableStreamFrom } = require_util10();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util10();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    var BodyReadable = class extends Readable {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        contentLength,
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kContentLength] = contentLength;
+        this[kReading] = false;
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
+        }
+        return super.destroy(err);
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
+        }
       }
-      return false;
-    }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
-      );
-    }
-    function getHeaderByName(headers, key) {
-      if (Array.isArray(headers)) {
-        for (let i = 0; i < headers.length; i += 2) {
-          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
-            return headers[i + 1];
-          }
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
-      } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        return super.on(ev, ...args);
       }
-    }
-    function buildHeadersFromArray(headers) {
-      const clone = headers.slice();
-      const entries = [];
-      for (let index = 0; index < clone.length; index += 2) {
-        entries.push([clone[index], clone[index + 1]]);
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      return Object.fromEntries(entries);
-    }
-    function matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
-      }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+        return ret;
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
+      push(chunk) {
+        if (this[kConsume] && chunk !== null) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
         }
+        return super.push(chunk);
       }
-      return true;
-    }
-    function safeUrl(path2) {
-      if (typeof path2 !== "string") {
-        return path2;
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      const pathSegments = path2.split("?");
-      if (pathSegments.length !== 2) {
-        return path2;
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
-    }
-    function matchKey(mockDispatch2, { path: path2, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path2);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
-    }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-    }
-    function getMockDispatch(mockDispatches, key) {
-      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
-      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
-      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path2 }) => matchValue(safeUrl(path2), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      return matchedMockDispatches[0];
-    }
-    function addMockDispatch(mockDispatches, key, data) {
-      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
-      const replyData = typeof data === "function" ? { callback: data } : { ...data };
-      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
-      mockDispatches.push(newMockDispatch);
-      return newMockDispatch;
-    }
-    function deleteMockDispatch(mockDispatches, key) {
-      const index = mockDispatches.findIndex((dispatch) => {
-        if (!dispatch.consumed) {
-          return false;
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
+          }
         }
-        return matchKey(dispatch, key);
-      });
-      if (index !== -1) {
-        mockDispatches.splice(index, 1);
+        return this[kBody];
+      }
+      async dump(opts) {
+        let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024;
+        const signal = opts?.signal;
+        if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
+          throw new InvalidArgumentError("signal must be an AbortSignal");
+        }
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
+        }
+        return await new Promise((resolve2, reject) => {
+          if (this[kContentLength] > limit) {
+            this.destroy(new AbortError());
+          }
+          const onAbort = () => {
+            this.destroy(signal.reason ?? new AbortError());
+          };
+          signal?.addEventListener("abort", onAbort);
+          this.on("close", function() {
+            signal?.removeEventListener("abort", onAbort);
+            if (signal?.aborted) {
+              reject(signal.reason ?? new AbortError());
+            } else {
+              resolve2(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
       }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
     }
-    function buildKey(opts) {
-      const { path: path2, method, body, headers, query } = opts;
-      return {
-        path: path2,
-        method,
-        body,
-        headers,
-        query
-      };
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
     }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
+    async function consume(stream, type2) {
+      assert(!stream[kConsume]);
+      return new Promise((resolve2, reject) => {
+        if (isUnusable(stream)) {
+          const rState = stream._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
+          } else {
+            reject(rState.errored ?? new TypeError("unusable"));
+          }
+        } else {
+          queueMicrotask(() => {
+            stream[kConsume] = {
+              type: type2,
+              stream,
+              resolve: resolve2,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream[kConsume]);
+          });
+        }
+      });
     }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
+      }
+      const { _readableState: state } = consume2.stream;
+      if (state.bufferIndex) {
+        const start = state.bufferIndex;
+        const end = state.buffer.length;
+        for (let n = start; n < end; n++) {
+          consumePush(consume2, state.buffer[n]);
+        }
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
+        }
+      }
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
+      }
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
+      }
     }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+    function chunksDecode(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return "";
       }
-      return Buffer.concat(buffers).toString("utf8");
+      const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
+      const bufferLength = buffer.length;
+      const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
+      return buffer.utf8Slice(start, bufferLength);
     }
-    function mockDispatch(opts, handler2) {
-      const key = buildKey(opts);
-      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
-      mockDispatch2.timesInvoked++;
-      if (mockDispatch2.data.callback) {
-        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      if (chunks.length === 1) {
+        return new Uint8Array(chunks[0]);
       }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
+      const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
+      let offset = 0;
+      for (let i = 0; i < chunks.length; ++i) {
+        const chunk = chunks[i];
+        buffer.set(chunk, offset);
+        offset += chunk.length;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
+      return buffer;
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve2, stream, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve2(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve2(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve2(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve2(new Blob(body, { type: stream[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve2(chunksConcat(body, length));
         }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
-      }
-      function resume() {
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      return true;
     }
-    function buildMockDispatch() {
-      const agent = this[kMockAgent];
-      const origin = this[kOrigin];
-      const originalDispatch = this[kOriginalDispatch];
-      return function dispatch(opts, handler2) {
-        if (agent.isMockActive) {
-          try {
-            mockDispatch.call(this, opts, handler2);
-          } catch (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
-              }
-              if (checkNetConnect(netConnect, origin)) {
-                originalDispatch.call(this, opts, handler2);
-              } else {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
-            }
-          }
-        } else {
-          originalDispatch.call(this, opts, handler2);
-        }
-      };
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
     }
-    function checkNetConnect(netConnect, origin) {
-      const url = new URL(origin);
-      if (netConnect === true) {
-        return true;
-      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
-        return true;
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-      return false;
-    }
-    function buildMockOptions(opts) {
-      if (opts) {
-        const { agent, ...mockOptions } = opts;
-        return mockOptions;
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
     }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
-    };
+    module2.exports = { Readable: BodyReadable, chunksDecode };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
-    "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util10();
-    var MockScope = class {
-      constructor(mockDispatch) {
-        this[kMockDispatch] = mockDispatch;
-      }
-      /**
-       * Delay a reply by a set amount in ms.
-       */
-      delay(waitInMs) {
-        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
-          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
+          }
         }
-        this[kMockDispatch].delay = waitInMs;
-        return this;
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      /**
-       * For a defined reply, never mark as consumed.
-       */
-      persist() {
-        this[kMockDispatch].persist = true;
-        return this;
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
       }
-      /**
-       * Allow one to define a reply for a set amount of matching requests.
-       */
-      times(repeatTimes) {
-        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
-          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+      const stackTraceLimit = Error.stackTraceLimit;
+      Error.stackTraceLimit = 0;
+      let payload;
+      try {
+        if (isContentTypeApplicationJson(contentType)) {
+          payload = JSON.parse(chunksDecode(chunks, length));
+        } else if (isContentTypeText(contentType)) {
+          payload = chunksDecode(chunks, length);
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
+      queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)));
+    }
+    var isContentTypeApplicationJson = (contentType) => {
+      return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n";
     };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+    var isContentTypeText = (contentType) => {
+      return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t";
+    };
+    module2.exports = {
+      getResolveErrorBodyCallback,
+      isContentTypeApplicationJson,
+      isContentTypeText
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util10();
+    var { getResolveErrorBodyCallback } = require_util12();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
           } else {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
           }
         }
-        if (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
-        }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
-        const responseData = getResponseData2(data);
-        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
-        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
-        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
-        return { statusCode, data, headers, trailers };
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
+          return;
         }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        if (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        this.callback = null;
+        this.res = res;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body: res, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body: res,
+              context: context2
+            });
+          }
         }
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      onData(chunk) {
+        return this.res.push(chunk);
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
       }
-      /**
-       * Set default reply headers on the interceptor for subsequent replies
-       */
-      defaultReplyHeaders(headers) {
-        if (typeof headers === "undefined") {
-          throw new InvalidArgumentError("headers must be defined");
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        this[kDefaultHeaders] = headers;
-        return this;
-      }
-      /**
-       * Set default reply trailers on the interceptor for subsequent replies
-       */
-      defaultReplyTrailers(trailers) {
-        if (typeof trailers === "undefined") {
-          throw new InvalidArgumentError("trailers must be defined");
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
+        }
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
-        this[kDefaultTrailers] = trailers;
-        return this;
-      }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
       }
     };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
   }
 });
 
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util10();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      removeSignal(self2);
+    }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
+      }
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
     };
-    module2.exports = MockClient;
   }
 });
 
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
+    var util = require_util10();
+    var { getResolveErrorBodyCallback } = require_util12();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
+        }
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
+          return;
+        }
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
+          this.callback = null;
+          this.runInAsyncScope(
+            getResolveErrorBodyCallback,
+            null,
+            { callback, body: res, contentType, statusCode, statusMessage, headers }
+          );
+        } else {
+          if (factory === null) {
+            return;
+          }
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
+          });
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
+          }
+          finished(res, { readable: false }, (err) => {
+            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
+            this.res = null;
+            if (err || !res2.readable) {
+              util.destroy(res2, err);
+            }
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
+            }
+          });
+        }
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
+        return needDrain !== true;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
-    "use strict";
-    var singulars = {
-      pronoun: "it",
-      is: "is",
-      was: "was",
-      this: "this"
-    };
-    var plurals = {
-      pronoun: "they",
-      is: "are",
-      was: "were",
-      this: "these"
-    };
-    module2.exports = class Pluralizer {
-      constructor(singular, plural) {
-        this.singular = singular;
-        this.plural = plural;
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
+          return;
+        }
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
+    function stream(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          stream.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve2(data);
+          });
         });
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path2, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path2,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-    };
+    }
+    module2.exports = stream;
   }
 });
 
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
     "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
     var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
-      }
-      deref() {
-        return this.value;
+      Readable,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util10();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
-        }
-        return dispatcher;
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
       }
-      dispatch(opts, handler2) {
-        this.get(opts.origin);
-        return this[kAgent].dispatch(opts, handler2);
+    };
+    var PipelineResponse = class extends Readable {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
       }
-      async close() {
-        await this[kAgent].close();
-        this[kClients].clear();
+      _read() {
+        this[kResume]();
       }
-      deactivate() {
-        this[kIsMockActive] = false;
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        callback(err);
       }
-      activate() {
-        this[kIsMockActive] = true;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
+        }
+        const { signal, method, opaque, onInfo, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
+        }
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
+            }
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
+            }
+            if (abort && err) {
+              abort();
+            }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
+          }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
       }
-      enableNetConnect(matcher) {
-        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
-          if (Array.isArray(this[kNetConnect])) {
-            this[kNetConnect].push(matcher);
-          } else {
-            this[kNetConnect] = [matcher];
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-        } else if (typeof matcher === "undefined") {
-          this[kNetConnect] = true;
-        } else {
-          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
+          return;
+        }
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
+        }
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
         }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
+          }
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
+          }
+        });
+        this.body = body;
       }
-      disableNetConnect() {
-        this[kNetConnect] = false;
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      // This is required to bypass issues caused by using global symbols - see:
-      // https://github.com/nodejs/undici/issues/1447
-      get isMockActive() {
-        return this[kIsMockActive];
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util10();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
+        super("UNDICI_UPGRADE");
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.abort = null;
+        this.context = null;
+        addSignal(this, signal);
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = null;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
       }
-      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
-        const pending = this.pendingInterceptors();
-        if (pending.length === 0) {
-          return;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
-        throw new UndiciError(`
-${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
-
-${pendingInterceptorsFormatter.format(pending)}
-`.trim());
       }
     };
-    module2.exports = MockAgent;
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(data);
+          });
+        });
+      }
+      try {
+        const upgradeHandler = new UpgradeHandler(opts, callback);
+        this.dispatch({
+          ...opts,
+          method: opts.method || "GET",
+          upgrade: opts.protocol || "Websocket"
+        }, upgradeHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = upgrade;
   }
 });
 
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
     "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
-    }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
-      }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-      }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var util = require_util10();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        if (opts.auth && opts.token) {
-          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
-        } else if (opts.auth) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
-        } else if (opts.token) {
-          this[kProxyHeaders]["proxy-authorization"] = opts.token;
-        } else if (username && password) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        const connect = buildConnector({ ...opts.proxyTls });
-        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).destroy();
-                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
-              }
-              if (opts2.protocol !== "https:") {
-                callback(null, socket);
-                return;
-              }
-              let servername;
-              if (this[kRequestTls]) {
-                servername = this[kRequestTls].servername;
-              } else {
-                servername = opts2.servername;
-              }
-              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
-            } catch (err) {
-              callback(err);
-            }
-          }
-        });
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        }
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
     };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
-        }
-        return headersPair;
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(data);
+          });
+        });
       }
-      return headers;
-    }
-    function throwIfProxyAuthIsSent(headers) {
-      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
-      if (existProxyAuth) {
-        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    module2.exports = ProxyAgent;
+    module2.exports = connect;
   }
 });
 
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util10();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    var RetryHandler = class _RetryHandler {
-      constructor(opts, handlers) {
-        const { retryOptions, ...dispatchOpts } = opts;
-        const {
-          // Retry scoped
-          retry: retryFn,
-          maxRetries,
-          maxTimeout,
-          minTimeout,
-          timeoutFactor,
-          // Response scoped
-          methods,
-          errorCodes,
-          retryAfter,
-          statusCodes
-        } = retryOptions ?? {};
-        this.dispatch = handlers.dispatch;
-        this.handler = handlers.handler;
-        this.opts = dispatchOpts;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: minTimeout ?? 500,
-          // .5s
-          timeoutFactor: timeoutFactor ?? 2,
-          maxRetries: maxRetries ?? 5,
-          // What errors we should retry
-          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
-          // Indicates which errors to retry
-          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
-          // List of errors to retry
-          errorCodes: errorCodes ?? [
-            "ECONNRESET",
-            "ECONNREFUSED",
-            "ENOTFOUND",
-            "ENETDOWN",
-            "ENETUNREACH",
-            "EHOSTDOWN",
-            "EHOSTUNREACH",
-            "EPIPE"
-          ]
-        };
-        this.retryCount = 0;
-        this.start = 0;
-        this.end = null;
-        this.etag = null;
-        this.resume = null;
-        this.handler.onConnect((reason) => {
-          this.aborted = true;
-          if (this.abort) {
-            this.abort(reason);
-          } else {
-            this.reason = reason;
-          }
-        });
-      }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
-      }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
-        }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
-        } else {
-          this.abort = abort;
-        }
-      }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
-      }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
-          return;
-        }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          return;
-        }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
-        }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
-        }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
-        }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
-      }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
-        }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          const { start, size, end = size } = contentRange;
-          assert(this.start === start, "content-range mismatch");
-          assert(this.end == null || this.end === end, "content-range mismatch");
-          this.resume = resume;
-          return true;
-        }
-        if (this.end == null) {
-          if (statusCode === 206) {
-            const range = parseRangeHeader(headers["content-range"]);
-            if (range == null) {
-              return this.handler.onHeaders(
-                statusCode,
-                rawHeaders,
-                resume,
-                statusMessage
-              );
-            }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== end,
-              "invalid content-length"
-            );
-            this.start = start;
-            this.end = end;
-          }
-          if (this.end == null) {
-            const contentLength = headers["content-length"];
-            this.end = contentLength != null ? Number(contentLength) : null;
-          }
-          assert(Number.isFinite(this.start));
-          assert(
-            this.end == null || Number.isFinite(this.end),
-            "invalid content-length"
-          );
-          this.resume = resume;
-          this.etag = headers.etag != null ? headers.etag : null;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
-        });
-        this.abort(err);
-        return false;
-      }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
-      }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
-      }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
-        }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            opts: { retryOptions: this.retryOpts, ...this.opts }
-          },
-          onRetry.bind(this)
-        );
-        function onRetry(err2) {
-          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
-            return this.handler.onError(err2);
-          }
-          if (this.start !== 0) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
-        }
-      }
-    };
-    module2.exports = RetryHandler;
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
   }
 });
 
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
     "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
+    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _MockNotMatchedError);
+        this.name = "MockNotMatchedError";
+        this.message = message || "The request does not match any registered mock dispatches";
+        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
-    function getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
-    }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
+      }
+      [kMockNotMatchedError] = true;
+    };
     module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
+      MockNotMatchedError
     };
   }
 });
 
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
     "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
-      }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
-      }
-      onError(...args) {
-        return this.handler.onError(...args);
-      }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
-      }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
-      }
-      onData(...args) {
-        return this.handler.onData(...args);
-      }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
-      }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
-      }
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
     "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util10();
+    var { MockNotMatchedError } = require_mock_errors2();
     var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util11();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
-    function isHTTPWhiteSpaceCharCode(code) {
-      return code === 10 || code === 13 || code === 9 || code === 32;
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util10();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
+      }
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
+      }
+      if (match instanceof RegExp) {
+        return match.test(value);
+      }
+      if (typeof match === "function") {
+        return match(value) === true;
+      }
+      return false;
     }
-    function headerValueNormalize(potentialValue) {
-      let i = 0;
-      let j = potentialValue.length;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
-      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
+    function lowerCaseEntries(headers) {
+      return Object.fromEntries(
+        Object.entries(headers).map(([headerName, headerValue]) => {
+          return [headerName.toLocaleLowerCase(), headerValue];
+        })
+      );
     }
-    function fill(headers, object) {
-      if (Array.isArray(object)) {
-        for (let i = 0; i < object.length; ++i) {
-          const header = object[i];
-          if (header.length !== 2) {
-            throw webidl.errors.exception({
-              header: "Headers constructor",
-              message: `expected name/value pair to be length 2, found ${header.length}.`
-            });
+    function getHeaderByName(headers, key) {
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
+            return headers[i + 1];
           }
-          appendHeader(headers, header[0], header[1]);
-        }
-      } else if (typeof object === "object" && object !== null) {
-        const keys = Object.keys(object);
-        for (let i = 0; i < keys.length; ++i) {
-          appendHeader(headers, keys[i], object[keys[i]]);
         }
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        throw webidl.errors.conversionFailed({
-          prefix: "Headers constructor",
-          argument: "Argument 1",
-          types: ["sequence>", "record"]
-        });
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
     }
-    function appendHeader(headers, name, value) {
-      value = headerValueNormalize(value);
-      if (!isValidHeaderName(name)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value: name,
-          type: "header name"
-        });
-      } else if (!isValidHeaderValue(value)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value,
-          type: "header value"
-        });
-      }
-      if (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+    function buildHeadersFromArray(headers) {
+      const clone = headers.slice();
+      const entries = [];
+      for (let index = 0; index < clone.length; index += 2) {
+        entries.push([clone[index], clone[index + 1]]);
       }
-      return headers[kHeadersList].append(name, value);
+      return Object.fromEntries(entries);
     }
-    var HeadersList = class _HeadersList {
-      /** @type {[string, string][]|null} */
-      cookies = null;
-      constructor(init) {
-        if (init instanceof _HeadersList) {
-          this[kHeadersMap] = new Map(init[kHeadersMap]);
-          this[kHeadersSortedMap] = init[kHeadersSortedMap];
-          this.cookies = init.cookies === null ? null : [...init.cookies];
-        } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
         }
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
+        return false;
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        if (exists) {
-          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
-          this[kHeadersMap].set(lowercaseName, {
-            name: exists.name,
-            value: `${exists.value}${delimiter}${value}`
-          });
-        } else {
-          this[kHeadersMap].set(lowercaseName, { name, value });
-        }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
-        }
-        this[kHeadersMap].set(lowercaseName, { name, value });
+      return true;
+    }
+    function safeUrl(path3) {
+      if (typeof path3 !== "string") {
+        return path3;
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
-        }
-        this[kHeadersMap].delete(name);
+      const pathSegments = path3.split("?");
+      if (pathSegments.length !== 2) {
+        return path3;
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path3, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path3);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
-        }
+    }
+    function getMockDispatch(mockDispatches, key) {
+      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
+      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path3 }) => matchValue(safeUrl(path3), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
-        }
-        return headers;
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
-        }
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
+      return matchedMockDispatches[0];
+    }
+    function addMockDispatch(mockDispatches, key, data) {
+      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
+      const replyData = typeof data === "function" ? { callback: data } : { ...data };
+      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
+      mockDispatches.push(newMockDispatch);
+      return newMockDispatch;
+    }
+    function deleteMockDispatch(mockDispatches, key) {
+      const index = mockDispatches.findIndex((dispatch) => {
+        if (!dispatch.consumed) {
+          return false;
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+        return matchKey(dispatch, key);
+      });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
+      }
+    }
+    function buildKey(opts) {
+      const { path: path3, method, body, headers, query } = opts;
+      return {
+        path: path3,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
+          }
+        } else {
+          result.push(name, Buffer.from(`${value}`));
         }
-        if (!this[kHeadersList].contains(name)) {
+      }
+      return result;
+    }
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
+      }
+      return Buffer.concat(buffers).toString("utf8");
+    }
+    function mockDispatch(opts, handler2) {
+      const key = buildKey(opts);
+      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
+      mockDispatch2.timesInvoked++;
+      if (mockDispatch2.data.callback) {
+        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+      }
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
+      }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
           return;
         }
-        this[kHeadersList].delete(name);
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      function resume() {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
+          try {
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
+              }
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
+            }
+          }
+        } else {
+          originalDispatch.call(this, opts, handler2);
         }
-        return this[kHeadersList].contains(name);
+      };
+    }
+    function checkNetConnect(netConnect, origin) {
+      const url = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
+        return true;
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      return false;
+    }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
+      }
+    }
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util10();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
+      }
+      /**
+       * Delay a reply by a set amount in ms.
+       */
+      delay(waitInMs) {
+        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
+          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
         }
-        this[kHeadersList].set(name, value);
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
+      }
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
         }
-        return [];
+        this[kMockDispatch].times = repeatTimes;
+        return this;
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+    };
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
-            }
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
+        }
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
+        }
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
           } else {
-            assert(value !== null);
-            headers.push([name, value]);
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
           }
         }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
         }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
+      createMockScopeDispatchData({ statusCode, data, responseOptions }) {
+        const responseData = getResponseData2(data);
+        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
+        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
+        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
+        return { statusCode, data, headers, trailers };
       }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
+        }
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
+          throw new InvalidArgumentError("responseOptions must be an object");
         }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
       }
       /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
+       * Mock an undici request with a defined reply.
        */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
+              throw new InvalidArgumentError("reply options callback must return an object");
+            }
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
+            return {
+              ...this.createMockScopeDispatchData(replyParameters2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
         }
+        const replyParameters = {
+          statusCode: replyOptionsCallbackOrStatusCode,
+          data: arguments[1] === void 0 ? "" : arguments[1],
+          responseOptions: arguments[2] === void 0 ? {} : arguments[2]
+        };
+        this.validateReplyParameters(replyParameters);
+        const dispatchData = this.createMockScopeDispatchData(replyParameters);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
       }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
+        }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
+      /**
+       * Set default reply headers on the interceptor for subsequent replies
+       */
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
+        }
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
+      /**
+       * Set default reply trailers on the interceptor for subsequent replies
+       */
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
         }
-        return webidl.converters["record"](V);
+        this[kDefaultTrailers] = trailers;
+        return this;
+      }
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
-    };
-    module2.exports = {
-      fill,
-      Headers,
-      HeadersList
     };
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util10();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util11();
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants8();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url = webidl.converters.USVString(url);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        initializeResponse(this, init, bodyWithType);
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      // Returns response’s type, e.g., "cors".
-      get type() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].type;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      // Returns response’s URL, if it has one; otherwise the empty string.
-      get url() {
-        webidl.brandCheck(this, _Response);
-        const urlList = this[kState].urlList;
-        const url = urlList[urlList.length - 1] ?? null;
-        if (url === null) {
-          return "";
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      }
+    };
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        return URLSerializer(url, true);
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      // Returns whether response was obtained through a redirect.
-      get redirected() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].urlList.length > 1;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      // Returns response’s status.
-      get status() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      // Returns whether response’s status is an ok status.
-      get ok() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status >= 200 && this[kState].status <= 299;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      // Returns response’s status message.
-      get statusText() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].statusText;
+    };
+    module2.exports = MockPool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+    "use strict";
+    var singulars = {
+      pronoun: "it",
+      is: "is",
+      was: "was",
+      this: "this"
+    };
+    var plurals = {
+      pronoun: "they",
+      is: "are",
+      was: "were",
+      this: "these"
+    };
+    module2.exports = class Pluralizer {
+      constructor(singular, plural) {
+        this.singular = singular;
+        this.plural = plural;
       }
-      // Returns response’s headers as Headers.
-      get headers() {
-        webidl.brandCheck(this, _Response);
-        return this[kHeaders];
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var { Console } = require("node:console");
+    var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
+    var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
+          }
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
+          }
+        });
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path3, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path3,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-    };
-    mixinBody(Response);
-    Object.defineProperties(Response.prototype, {
-      type: kEnumerableProperty,
-      url: kEnumerableProperty,
-      status: kEnumerableProperty,
-      ok: kEnumerableProperty,
-      redirected: kEnumerableProperty,
-      statusText: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Response",
-        configurable: true
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
+        }
+        return dispatcher;
       }
-    });
-    Object.defineProperties(Response, {
-      json: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      error: kEnumerableProperty
-    });
-    function cloneResponse(response) {
-      if (response.internalResponse) {
-        return filterResponse(
-          cloneResponse(response.internalResponse),
-          response.type
-        );
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
       }
-      const newResponse = makeResponse({ ...response, body: null });
-      if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
       }
-      return newResponse;
-    }
-    function makeResponse(init) {
-      return {
-        aborted: false,
-        rangeRequested: false,
-        timingAllowPassed: false,
-        requestIncludesCredentials: false,
-        type: "default",
-        status: 200,
-        timingInfo: null,
-        cacheState: "",
-        statusText: "",
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
-      };
-    }
-    function makeNetworkError(reason) {
-      const isError = isErrorLike(reason);
-      return makeResponse({
-        type: "error",
-        status: 0,
-        error: isError ? reason : new Error(reason ? String(reason) : reason),
-        aborted: reason && reason.name === "AbortError"
-      });
-    }
-    function makeFilteredResponse(response, state) {
-      state = {
-        internalResponse: response,
-        ...state
-      };
-      return new Proxy(response, {
-        get(target, p) {
-          return p in state ? state[p] : target[p];
-        },
-        set(target, p, value) {
-          assert(!(p in state));
-          target[p] = value;
-          return true;
-        }
-      });
-    }
-    function filterResponse(response, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "opaqueredirect") {
-        return makeFilteredResponse(response, {
-          type: "opaqueredirect",
-          status: 0,
-          statusText: "",
-          headersList: [],
-          body: null
-        });
-      } else {
-        assert(false);
+      deactivate() {
+        this[kIsMockActive] = false;
       }
-    }
-    function makeAppropriateNetworkError(fetchParams, err = null) {
-      assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
+      activate() {
+        this[kIsMockActive] = true;
       }
-      if ("statusText" in init && init.statusText != null) {
-        if (!isValidReasonPhrase(String(init.statusText))) {
-          throw new TypeError("Invalid statusText");
+      enableNetConnect(matcher) {
+        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
+          if (Array.isArray(this[kNetConnect])) {
+            this[kNetConnect].push(matcher);
+          } else {
+            this[kNetConnect] = [matcher];
+          }
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
       }
-      if ("status" in init && init.status != null) {
-        response[kState].status = init.status;
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      if ("statusText" in init && init.statusText != null) {
-        response[kState].statusText = init.statusText;
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const client = this[kClients].get(origin);
+        if (client) {
+          return client;
         }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
+        }
+        for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
+          }
+        }
+      }
+      [kGetNetConnect]() {
+        return this[kNetConnect];
+      }
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      }
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
+          return;
         }
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
+    };
+    module2.exports = MockAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
+    "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors2();
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
+    "use strict";
+    module2.exports = class DecoratorHandler {
+      #handler;
+      constructor(handler2) {
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
+        }
+        this.#handler = handler2;
       }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
       }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
+      onHeaders(...args) {
+        return this.#handler.onHeaders?.(...args);
       }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    webidl.converters.ResponseInit = webidl.dictionaryConverter([
-      {
-        key: "status",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 200
-      },
-      {
-        key: "statusText",
-        converter: webidl.converters.ByteString,
-        defaultValue: ""
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
+      onData(...args) {
+        return this.#handler.onData?.(...args);
+      }
+      onComplete(...args) {
+        return this.#handler.onComplete?.(...args);
+      }
+      onBodySent(...args) {
+        return this.#handler.onBodySent?.(...args);
       }
-    ]);
-    module2.exports = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util10();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util11();
-    var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants8();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
+    var RedirectHandler = require_redirect_handler2();
+    module2.exports = (opts) => {
+      const globalMaxRedirections = opts?.maxRedirections;
+      return (dispatch) => {
+        return function redirectInterceptor(opts2, handler2) {
+          const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2;
+          if (!maxRedirections) {
+            return dispatch(opts2, handler2);
           }
+          const redirectHandler = new RedirectHandler(
+            dispatch,
+            maxRedirections,
+            opts2,
+            handler2
+          );
+          return dispatch(baseOpts, redirectHandler);
         };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
-          try {
-            parsedURL = new URL(input, baseUrl);
-          } catch (err) {
-            throw new TypeError("Failed to parse URL from " + input, { cause: err });
-          }
-          if (parsedURL.username || parsedURL.password) {
-            throw new TypeError(
-              "Request cannot be constructed from a URL that includes credentials: " + input
-            );
-          }
-          request2 = makeRequest({ urlList: [parsedURL] });
-          fallbackMode = "cors";
-        } else {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util10();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    var DumpHandler = class extends DecoratorHandler {
+      #maxSize = 1024 * 1024;
+      #abort = null;
+      #dumped = false;
+      #aborted = false;
+      #size = 0;
+      #reason = null;
+      #handler = null;
+      constructor({ maxSize }, handler2) {
+        super(handler2);
+        if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
+          throw new InvalidArgumentError("maxSize must be a number greater than 0");
         }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
+      }
+      onConnect(abort) {
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
+      }
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
+      }
+      // TODO: will require adjustment after new hooks are out
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = util.parseHeaders(rawHeaders);
+        const contentLength = headers["content-length"];
+        if (contentLength != null && contentLength > this.#maxSize) {
+          throw new RequestAbortedError(
+            `Response size (${contentLength}) larger than maxSize (${this.#maxSize})`
+          );
         }
-        if ("window" in init) {
-          window2 = "no-window";
+        if (this.#aborted) {
+          return true;
         }
-        request2 = makeRequest({
-          // URL request’s URL.
-          // undici implementation note: this is set as the first item in request's urlList in makeRequest
-          // method request’s method.
-          method: request2.method,
-          // header list A copy of request’s header list.
-          // undici implementation note: headersList is cloned in makeRequest
-          headersList: request2.headersList,
-          // unsafe-request flag Set.
-          unsafeRequest: request2.unsafeRequest,
-          // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // priority request’s priority.
-          priority: request2.priority,
-          // origin request’s origin. The propagation of the origin is only significant for navigation requests
-          // being handled by a service worker. In this scenario a request can have an origin that is different
-          // from the current client.
-          origin: request2.origin,
-          // referrer request’s referrer.
-          referrer: request2.referrer,
-          // referrer policy request’s referrer policy.
-          referrerPolicy: request2.referrerPolicy,
-          // mode request’s mode.
-          mode: request2.mode,
-          // credentials mode request’s credentials mode.
-          credentials: request2.credentials,
-          // cache mode request’s cache mode.
-          cache: request2.cache,
-          // redirect mode request’s redirect mode.
-          redirect: request2.redirect,
-          // integrity metadata request’s integrity metadata.
-          integrity: request2.integrity,
-          // keepalive request’s keepalive.
-          keepalive: request2.keepalive,
-          // reload-navigation flag request’s reload-navigation flag.
-          reloadNavigation: request2.reloadNavigation,
-          // history-navigation flag request’s history-navigation flag.
-          historyNavigation: request2.historyNavigation,
-          // URL list A clone of request’s URL list.
-          urlList: [...request2.urlList]
-        });
-        const initHasKey = Object.keys(init).length !== 0;
-        if (initHasKey) {
-          if (request2.mode === "navigate") {
-            request2.mode = "same-origin";
-          }
-          request2.reloadNavigation = false;
-          request2.historyNavigation = false;
-          request2.origin = "client";
-          request2.referrer = "client";
-          request2.referrerPolicy = "";
-          request2.url = request2.urlList[request2.urlList.length - 1];
-          request2.urlList = [request2.url];
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
+        );
+      }
+      onError(err) {
+        if (this.#dumped) {
+          return;
         }
-        if (init.referrer !== void 0) {
-          const referrer = init.referrer;
-          if (referrer === "") {
-            request2.referrer = "no-referrer";
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
+      }
+      onData(chunk) {
+        this.#size = this.#size + chunk.length;
+        if (this.#size >= this.#maxSize) {
+          this.#dumped = true;
+          if (this.#aborted) {
+            this.#handler.onError(this.#reason);
           } else {
-            let parsedReferrer;
-            try {
-              parsedReferrer = new URL(referrer, baseUrl);
-            } catch (err) {
-              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
-            }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
-            }
+            this.#handler.onComplete([]);
           }
         }
-        if (init.referrerPolicy !== void 0) {
-          request2.referrerPolicy = init.referrerPolicy;
-        }
-        let mode;
-        if (init.mode !== void 0) {
-          mode = init.mode;
-        } else {
-          mode = fallbackMode;
-        }
-        if (mode === "navigate") {
-          throw webidl.errors.exception({
-            header: "Request constructor",
-            message: "invalid request mode navigate."
-          });
-        }
-        if (mode != null) {
-          request2.mode = mode;
-        }
-        if (init.credentials !== void 0) {
-          request2.credentials = init.credentials;
+        return true;
+      }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        if (init.cache !== void 0) {
-          request2.cache = init.cache;
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
         }
-        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
-          throw new TypeError(
-            "'only-if-cached' can be set only with 'same-origin' mode"
+        this.#handler.onComplete(trailers);
+      }
+    };
+    function createDumpInterceptor({ maxSize: defaultMaxSize } = {
+      maxSize: 1024 * 1024
+    }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { dumpMaxSize = defaultMaxSize } = opts;
+          const dumpHandler = new DumpHandler(
+            { maxSize: dumpMaxSize },
+            handler2
           );
+          return dispatch(opts, dumpHandler);
+        };
+      };
+    }
+    module2.exports = createDumpInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
+    "use strict";
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    var maxInt = Math.pow(2, 31) - 1;
+    var DNSInstance = class {
+      #maxTTL = 0;
+      #maxItems = 0;
+      #records = /* @__PURE__ */ new Map();
+      dualStack = true;
+      affinity = null;
+      lookup = null;
+      pick = null;
+      constructor(opts) {
+        this.#maxTTL = opts.maxTTL;
+        this.#maxItems = opts.maxItems;
+        this.dualStack = opts.dualStack;
+        this.affinity = opts.affinity;
+        this.lookup = opts.lookup ?? this.#defaultLookup;
+        this.pick = opts.pick ?? this.#defaultPick;
+      }
+      get full() {
+        return this.#records.size === this.#maxItems;
+      }
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
         }
-        if (init.redirect !== void 0) {
-          request2.redirect = init.redirect;
-        }
-        if (init.integrity != null) {
-          request2.integrity = String(init.integrity);
-        }
-        if (init.keepalive !== void 0) {
-          request2.keepalive = Boolean(init.keepalive);
-        }
-        if (init.method !== void 0) {
-          let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            throw new TypeError(
-              "Failed to construct 'Request': member signal is not of type AbortSignal."
+        const newOpts = {
+          affinity: this.affinity,
+          dualStack: this.dualStack,
+          lookup: this.lookup,
+          pick: this.pick,
+          ...opts.dns,
+          maxTTL: this.#maxTTL,
+          maxItems: this.#maxItems
+        };
+        if (ips == null) {
+          this.lookup(origin, newOpts, (err, addresses) => {
+            if (err || addresses == null || addresses.length === 0) {
+              cb(err ?? new InformationalError("No DNS entries found"));
+              return;
+            }
+            this.setRecords(origin, addresses);
+            const records = this.#records.get(origin.hostname);
+            const ip = this.pick(
+              origin,
+              records,
+              newOpts.affinity
+            );
+            let port;
+            if (typeof ip.port === "number") {
+              port = `:${ip.port}`;
+            } else if (origin.port !== "") {
+              port = `:${origin.port}`;
+            } else {
+              port = "";
+            }
+            cb(
+              null,
+              `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
             );
+          });
+        } else {
+          const ip = this.pick(
+            origin,
+            ips,
+            newOpts.affinity
+          );
+          if (ip == null) {
+            this.#records.delete(origin.hostname);
+            this.runLookup(origin, opts, cb);
+            return;
           }
-          if (signal.aborted) {
-            ac.abort(signal.reason);
+          let port;
+          if (typeof ip.port === "number") {
+            port = `:${ip.port}`;
+          } else if (origin.port !== "") {
+            port = `:${origin.port}`;
           } else {
-            this[kAbortController] = ac;
-            const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
-              }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
+            port = "";
           }
+          cb(
+            null,
+            `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+          );
         }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+      }
+      #defaultLookup(origin, opts, cb) {
+        lookup(
+          origin.hostname,
+          {
+            all: true,
+            family: this.dualStack === false ? this.affinity : 0,
+            order: "ipv4first"
+          },
+          (err, addresses) => {
+            if (err) {
+              return cb(err);
+            }
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
           }
-          this[kHeaders][kGuard] = "request-no-cors";
-        }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
+        );
+      }
+      #defaultPick(origin, hostnameRecords, affinity) {
+        let ip = null;
+        const { records, offset } = hostnameRecords;
+        let family;
+        if (this.dualStack) {
+          if (affinity == null) {
+            if (offset == null || offset === maxInt) {
+              hostnameRecords.offset = 0;
+              affinity = 4;
+            } else {
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
             }
-            headersList.cookies = headers.cookies;
+          }
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
           } else {
-            fillHeaders(this[kHeaders], headers);
+            family = records[affinity === 4 ? 6 : 4];
           }
+        } else {
+          family = records[affinity];
         }
-        const inputBody = input instanceof _Request ? input[kState].body : null;
-        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
-          throw new TypeError("Request with GET/HEAD method cannot have body.");
+        if (family == null || family.ips.length === 0) {
+          return ip;
         }
-        let initBody = null;
-        if (init.body != null) {
-          const [extractedBody, contentType] = extractBody(
-            init.body,
-            request2.keepalive
-          );
-          initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
-          }
+        if (family.offset == null || family.offset === maxInt) {
+          family.offset = 0;
+        } else {
+          family.offset++;
         }
-        const inputOrInitBody = initBody ?? inputBody;
-        if (inputOrInitBody != null && inputOrInitBody.source == null) {
-          if (initBody != null && init.duplex == null) {
-            throw new TypeError("RequestInit: duplex option is required when sending a body.");
-          }
-          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
-            throw new TypeError(
-              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
-            );
-          }
-          request2.useCORSPreflightFlag = true;
+        const position = family.offset % family.ips.length;
+        ip = family.ips[position] ?? null;
+        if (ip == null) {
+          return ip;
         }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
-          }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+        if (Date.now() - ip.timestamp > ip.ttl) {
+          family.ips.splice(position, 1);
+          return this.pick(origin, hostnameRecords, affinity);
+        }
+        return ip;
+      }
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
           }
-          const identityTransform = new TransformStream2();
-          inputBody.stream.pipeThrough(identityTransform);
-          finalBody = {
-            source: inputBody.source,
-            length: inputBody.length,
-            stream: identityTransform.readable
-          };
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
         }
-        this[kState].body = finalBody;
+        this.#records.set(origin.hostname, records);
       }
-      // Returns request’s HTTP method, which is "GET" by default.
-      get method() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].method;
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      // Returns the URL of request as a string.
-      get url() {
-        webidl.brandCheck(this, _Request);
-        return URLSerializer(this[kState].url);
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
       }
-      // Returns a Headers object consisting of the headers associated with request.
-      // Note that headers added in the network layer by the user agent will not
-      // be accounted for in this object, e.g., the "Host" header.
-      get headers() {
-        webidl.brandCheck(this, _Request);
-        return this[kHeaders];
-      }
-      // Returns the kind of resource requested by request, e.g., "document"
-      // or "script".
-      get destination() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].destination;
-      }
-      // Returns the referrer of request. Its value can be a same-origin URL if
-      // explicitly set in init, the empty string to indicate no referrer, and
-      // "about:client" when defaulting to the global’s default. This is used
-      // during fetching to determine the value of the `Referer` header of the
-      // request being made.
-      get referrer() {
-        webidl.brandCheck(this, _Request);
-        if (this[kState].referrer === "no-referrer") {
-          return "";
-        }
-        if (this[kState].referrer === "client") {
-          return "about:client";
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
-        return this[kState].referrer.toString();
-      }
-      // Returns the referrer policy associated with request.
-      // This is used during fetching to compute the value of the request’s
-      // referrer.
-      get referrerPolicy() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].referrerPolicy;
-      }
-      // Returns the mode associated with request, which is a string indicating
-      // whether the request will use CORS, or will be restricted to same-origin
-      // URLs.
-      get mode() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].mode;
-      }
-      // Returns the credentials mode associated with request,
-      // which is a string indicating whether credentials will be sent with the
-      // request always, never, or only when sent to a same-origin URL.
-      get credentials() {
-        return this[kState].credentials;
-      }
-      // Returns the cache mode associated with request,
-      // which is a string indicating how the request will
-      // interact with the browser’s cache when fetching.
-      get cache() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].cache;
-      }
-      // Returns the redirect mode associated with request,
-      // which is a string indicating how redirects for the
-      // request will be handled during fetching. A request
-      // will follow redirects by default.
-      get redirect() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].redirect;
-      }
-      // Returns request’s subresource integrity metadata, which is a
-      // cryptographic hash of the resource being fetched. Its value
-      // consists of multiple hashes separated by whitespace. [SRI]
-      get integrity() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].integrity;
       }
-      // Returns a boolean indicating whether or not request can outlive the
-      // global in which it was created.
-      get keepalive() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].keepalive;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      // Returns a boolean indicating whether or not request is for a reload
-      // navigation.
-      get isReloadNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].reloadNavigation;
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
       }
-      // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
-      get isHistoryNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].historyNavigation;
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-      // Returns the signal associated with request, which is an AbortSignal
-      // object indicating whether or not request has been aborted, and its
-      // abort event handler.
-      get signal() {
-        webidl.brandCheck(this, _Request);
-        return this[kSignal];
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      get body() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].body ? this[kState].body.stream : null;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Request);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      get duplex() {
-        webidl.brandCheck(this, _Request);
-        return "half";
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
+      } else {
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      // Returns a clone of request.
-      clone() {
-        webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
-        }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
             }
-          );
-        }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
-      }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
       };
-      request2.url = request2.urlList[0];
-      return request2;
-    }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
-      }
-      return newRequest;
-    }
-    Object.defineProperties(Request.prototype, {
-      method: kEnumerableProperty,
-      url: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      signal: kEnumerableProperty,
-      duplex: kEnumerableProperty,
-      destination: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      isHistoryNavigation: kEnumerableProperty,
-      isReloadNavigation: kEnumerableProperty,
-      keepalive: kEnumerableProperty,
-      integrity: kEnumerableProperty,
-      cache: kEnumerableProperty,
-      credentials: kEnumerableProperty,
-      attribute: kEnumerableProperty,
-      referrerPolicy: kEnumerableProperty,
-      referrer: kEnumerableProperty,
-      mode: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Request",
-        configurable: true
-      }
-    });
-    webidl.converters.Request = webidl.interfaceConverter(
-      Request
-    );
-    webidl.converters.RequestInfo = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
-      }
-      return webidl.converters.USVString(V);
     };
-    webidl.converters.AbortSignal = webidl.interfaceConverter(
-      AbortSignal
-    );
-    webidl.converters.RequestInit = webidl.dictionaryConverter([
-      {
-        key: "method",
-        converter: webidl.converters.ByteString
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      },
-      {
-        key: "body",
-        converter: webidl.nullableConverter(
-          webidl.converters.BodyInit
-        )
-      },
-      {
-        key: "referrer",
-        converter: webidl.converters.USVString
-      },
-      {
-        key: "referrerPolicy",
-        converter: webidl.converters.DOMString,
-        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
-        allowedValues: referrerPolicy
-      },
-      {
-        key: "mode",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#concept-request-mode
-        allowedValues: requestMode
-      },
-      {
-        key: "credentials",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcredentials
-        allowedValues: requestCredentials
-      },
-      {
-        key: "cache",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcache
-        allowedValues: requestCache
-      },
-      {
-        key: "redirect",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestredirect
-        allowedValues: requestRedirect
-      },
-      {
-        key: "integrity",
-        converter: webidl.converters.DOMString
-      },
-      {
-        key: "keepalive",
-        converter: webidl.converters.boolean
-      },
-      {
-        key: "signal",
-        converter: webidl.nullableConverter(
-          (signal) => webidl.converters.AbortSignal(
-            signal,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util10();
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib = require("zlib");
-    var {
-      bytesMatch,
-      makePolicyContainer,
-      clonePolicyContainer,
-      requestBadPort,
-      TAOCheck,
-      appendRequestOriginHeader,
-      responseLocationURL,
-      requestCurrentURL,
-      setRequestReferrerPolicyOnRedirect,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      createOpaqueTimingInfo,
-      appendFetchMetadata,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      determineRequestsReferrer,
-      coarsenedSharedCurrentTime,
-      createDeferredPromise,
-      isBlobLike,
-      sameOrigin,
-      isCancelled,
-      isAborted,
-      isErrorLike,
-      fullyReadBody,
-      readableStreamClose,
-      isomorphicEncode,
-      urlIsLocal,
-      urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
     } = require_util11();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants8();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util10();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
-        super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
-      }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
-          return;
-        }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
-      }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
+    }
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
+      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
+    }
+    function fill(headers, object) {
+      if (Array.isArray(object)) {
+        for (let i = 0; i < object.length; ++i) {
+          const header = object[i];
+          if (header.length !== 2) {
+            throw webidl.errors.exception({
+              header: "Headers constructor",
+              message: `expected name/value pair to be length 2, found ${header.length}.`
+            });
+          }
+          appendHeader(headers, header[0], header[1]);
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      } else if (typeof object === "object" && object !== null) {
+        const keys = Object.keys(object);
+        for (let i = 0; i < keys.length; ++i) {
+          appendHeader(headers, keys[i], object[keys[i]]);
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
-      }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+    }
+    function appendHeader(headers, name, value) {
+      value = headerValueNormalize(value);
+      if (!isValidHeaderName(name)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value: name,
+          type: "header name"
+        });
+      } else if (!isValidHeaderValue(value)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value,
+          type: "header value"
+        });
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      if (getHeadersGuard(headers) === "immutable") {
+        throw new TypeError("immutable");
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
-        }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
-        }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
-        }
-        if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
-        }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
+      return getHeadersList(headers).append(name, value, false);
     }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
+    function compareHeaderName(a, b) {
+      return a[0] < b[0] ? -1 : 1;
+    }
+    var HeadersList = class _HeadersList {
+      /** @type {[string, string][]|null} */
+      cookies = null;
+      constructor(init) {
+        if (init instanceof _HeadersList) {
+          this[kHeadersMap] = new Map(init[kHeadersMap]);
+          this[kHeadersSortedMap] = init[kHeadersSortedMap];
+          this.cookies = init.cookies === null ? null : [...init.cookies];
+        } else {
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
+        }
       }
-      if (!response.urlList?.length) {
-        return;
-      }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
-      }
-      if (timingInfo === null) {
-        return;
-      }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
-      }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
-    }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
-      }
-    }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
-      }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
-          }
-          throw err;
-        });
-      }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
-          }
-          throw err;
-        });
-      }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      const fetchParams = {
-        controller: new Fetch(dispatcher),
-        request: request2,
-        timingInfo,
-        processRequestBodyChunkLength,
-        processRequestEndOfBody,
-        processResponse,
-        processResponseConsumeBody,
-        processResponseEndOfBody,
-        taskDestination,
-        crossOriginIsolatedCapability
-      };
-      assert(!request2.body || request2.body.stream);
-      if (request2.window === "client") {
-        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
+      /**
+       * @see https://fetch.spec.whatwg.org/#header-list-contains
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      contains(name, isLowerCase) {
+        return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase());
       }
-      if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      if (request2.policyContainer === "client") {
-        if (request2.client != null) {
-          request2.policyContainer = clonePolicyContainer(
-            request2.client.policyContainer
-          );
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-append
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      append(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
+          });
         } else {
-          request2.policyContainer = makePolicyContainer();
+          this[kHeadersMap].set(lowercaseName, { name, value });
+        }
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      if (request2.priority === null) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-set
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      set(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
+        }
+        this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      if (subresourceSet.has(request2.destination)) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        if (!isLowerCase) name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
+        }
+        this[kHeadersMap].delete(name);
       }
-      mainFetch(fetchParams).catch((err) => {
-        fetchParams.controller.terminate(err);
-      });
-      return fetchParams.controller;
-    }
-    async function mainFetch(fetchParams, recursive = false) {
-      const request2 = fetchParams.request;
-      let response = null;
-      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
-        response = makeNetworkError("local URLs only");
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-get
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       * @returns {string | null}
+       */
+      get(name, isLowerCase) {
+        return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
       }
-      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
-      if (requestBadPort(request2) === "blocked") {
-        response = makeNetworkError("bad port");
+      *[Symbol.iterator]() {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+          yield [name, value];
+        }
       }
-      if (request2.referrerPolicy === "") {
-        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
+          }
+        }
+        return headers;
       }
-      if (request2.referrer !== "no-referrer") {
-        request2.referrer = determineRequestsReferrer(request2);
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      if (response === null) {
-        response = await (async () => {
-          const currentURL = requestCurrentURL(request2);
-          if (
-            // - request’s current URL’s origin is same origin with request’s origin,
-            //   and request’s response tainting is "basic"
-            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
-            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
-            (request2.mode === "navigate" || request2.mode === "websocket")
-          ) {
-            request2.responseTainting = "basic";
-            return await schemeFetch(fetchParams);
+      get entriesList() {
+        const headers = [];
+        if (this[kHeadersMap].size !== 0) {
+          for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) {
+            if (lowerName === "set-cookie") {
+              for (const cookie of this.cookies) {
+                headers.push([name, cookie]);
+              }
+            } else {
+              headers.push([name, value]);
+            }
           }
-          if (request2.mode === "same-origin") {
-            return makeNetworkError('request mode cannot be "same-origin"');
+        }
+        return headers;
+      }
+      // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set
+      toSortedArray() {
+        const size = this[kHeadersMap].size;
+        const array = new Array(size);
+        if (size <= 32) {
+          if (size === 0) {
+            return array;
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+          const iterator2 = this[kHeadersMap][Symbol.iterator]();
+          const firstValue = iterator2.next().value;
+          array[0] = [firstValue[0], firstValue[1].value];
+          assert(firstValue[1].value !== null);
+          for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) {
+            value = iterator2.next().value;
+            x = array[i] = [value[0], value[1].value];
+            assert(x[1] !== null);
+            left = 0;
+            right = i;
+            while (left < right) {
+              pivot = left + (right - left >> 1);
+              if (array[pivot][0] <= x[0]) {
+                left = pivot + 1;
+              } else {
+                right = pivot;
+              }
+            }
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
           }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          if (!iterator2.next().done) {
+            throw new TypeError("Unreachable");
           }
-          request2.responseTainting = "cors";
-          return await httpFetch(fetchParams);
-        })();
-      }
-      if (recursive) {
-        return response;
-      }
-      if (response.status !== 0 && !response.internalResponse) {
-        if (request2.responseTainting === "cors") {
-        }
-        if (request2.responseTainting === "basic") {
-          response = filterResponse(response, "basic");
-        } else if (request2.responseTainting === "cors") {
-          response = filterResponse(response, "cors");
-        } else if (request2.responseTainting === "opaque") {
-          response = filterResponse(response, "opaque");
+          return array;
         } else {
-          assert(false);
+          let i = 0;
+          for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+            array[i++] = [name, value];
+            assert(value !== null);
+          }
+          return array.sort(compareHeaderName);
         }
       }
-      let internalResponse = response.status === 0 ? response : response.internalResponse;
-      if (internalResponse.urlList.length === 0) {
-        internalResponse.urlList.push(...request2.urlList);
-      }
-      if (!request2.timingAllowFailed) {
-        response.timingAllowPassed = true;
-      }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
-        response = internalResponse = makeNetworkError();
+    };
+    var Headers = class _Headers {
+      #guard;
+      #headersList;
+      constructor(init = void 0) {
+        webidl.util.markAsUncloneable(this);
+        if (init === kConstruct) {
+          return;
+        }
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
+          fill(this, init);
+        }
       }
-      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
-        internalResponse.body = null;
-        fetchParams.controller.dump = true;
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        return appendHeader(this, name, value);
       }
-      if (request2.integrity) {
-        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
-        if (request2.responseTainting === "opaque" || response.body == null) {
-          processBodyError(response.error);
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
+          });
+        }
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        if (!this.#headersList.contains(name, false)) {
           return;
         }
-        const processBody = (bytes) => {
-          if (!bytesMatch(bytes, request2.integrity)) {
-            processBodyError("integrity mismatch");
-            return;
-          }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+        this.#headersList.delete(name, false);
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
+        }
+        return this.#headersList.get(name, false);
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
-          }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
-          }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
+        return this.#headersList.contains(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value,
+            type: "header value"
           });
-          response.body = body;
-          return Promise.resolve(response);
         }
-        case "data:": {
-          const currentURL = requestCurrentURL(request2);
-          const dataURLStruct = dataURLProcessor(currentURL);
-          if (dataURLStruct === "failure") {
-            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
-          }
-          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
-          return Promise.resolve(makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-type", { name: "Content-Type", value: mimeType }]
-            ],
-            body: safelyExtractBody(dataURLStruct.body)[0]
-          }));
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        case "file:": {
-          return Promise.resolve(makeNetworkError("not implemented... yet..."));
+        this.#headersList.set(name, value, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        case "http:":
-        case "https:": {
-          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
+        }
+        for (let i = 0; i < names.length; ++i) {
+          const { 0: name, 1: value } = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
+            }
+          } else {
+            headers.push([name, value]);
+          }
         }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+      static getHeadersList(o) {
+        return o.#headersList;
       }
-      if (fetchParams.processResponseConsumeBody != null) {
-        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
-        } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
-        }
-        return Promise.resolve();
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+    };
+    var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers;
+    Reflect.deleteProperty(Headers, "getHeadersGuard");
+    Reflect.deleteProperty(Headers, "setHeadersGuard");
+    Reflect.deleteProperty(Headers, "getHeadersList");
+    Reflect.deleteProperty(Headers, "setHeadersList");
+    iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1);
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-      if (response === null) {
-        if (request2.redirect === "follow") {
-          request2.serviceWorkers = "none";
-        }
-        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
-        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
-          return makeNetworkError("cors failure");
+    });
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object") {
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
         }
-        if (TAOCheck(request2, response) === "failure") {
-          request2.timingAllowFailed = true;
+        if (typeof iterator2 === "function") {
+          return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V));
         }
+        return webidl.converters["record"](V, prefix, argument);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
+    };
+    module2.exports = {
+      fill,
+      // for test.
+      compareHeaderName,
+      Headers,
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
+    "use strict";
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
+    var util = require_util10();
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util11();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { types } = require("node:util");
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
+        return responseObject;
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        if (request2.redirect === "error") {
-          response = makeNetworkError("unexpected redirect");
-        } else if (request2.redirect === "manual") {
-          response = actualResponse;
-        } else if (request2.redirect === "follow") {
-          response = await httpRedirectFetch(fetchParams, response);
-        } else {
-          assert(false);
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
         }
-      }
-      response.timingInfo = timingInfo;
-      return response;
-    }
-    function httpRedirectFetch(fetchParams, response) {
-      const request2 = fetchParams.request;
-      const actualResponse = response.internalResponse ? response.internalResponse : response;
-      let locationURL;
-      try {
-        locationURL = responseLocationURL(
-          actualResponse,
-          requestCurrentURL(request2).hash
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
         );
-        if (locationURL == null) {
-          return response;
-        }
-      } catch (err) {
-        return Promise.resolve(makeNetworkError(err));
-      }
-      if (!urlIsHttpHttpsScheme(locationURL)) {
-        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
-      }
-      if (request2.redirectCount === 20) {
-        return Promise.resolve(makeNetworkError("redirect count exceeded"));
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
       }
-      request2.redirectCount += 1;
-      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
-        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
+        }
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
+        }
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
-        return Promise.resolve(makeNetworkError(
-          'URL cannot contain credentials for request mode "cors"'
-        ));
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
+        }
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
+        }
+        initializeResponse(this, init, bodyWithType);
       }
-      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
-        return Promise.resolve(makeNetworkError());
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
-        request2.method = "GET";
-        request2.body = null;
-        for (const headerName of requestBodyHeader) {
-          request2.headersList.delete(headerName);
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url = urlList[urlList.length - 1] ?? null;
+        if (url === null) {
+          return "";
         }
+        return URLSerializer(url, true);
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      if (request2.body != null) {
-        assert(request2.body.source != null);
-        request2.body = safelyExtractBody(request2.body.source)[0];
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      const timingInfo = fetchParams.timingInfo;
-      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
-      if (timingInfo.redirectStartTime === 0) {
-        timingInfo.redirectStartTime = timingInfo.startTime;
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      request2.urlList.push(locationURL);
-      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
-      return mainFetch(fetchParams, true);
-    }
-    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
-      const request2 = fetchParams.request;
-      let httpFetchParams = null;
-      let httpRequest = null;
-      let response = null;
-      const httpCache = null;
-      const revalidatingFlag = false;
-      if (request2.window === "no-window" && request2.redirect === "error") {
-        httpFetchParams = fetchParams;
-        httpRequest = request2;
-      } else {
-        httpRequest = makeRequest(request2);
-        httpFetchParams = { ...fetchParams };
-        httpFetchParams.request = httpRequest;
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
-      const contentLength = httpRequest.body ? httpRequest.body.length : null;
-      let contentLengthHeaderValue = null;
-      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
-        contentLengthHeaderValue = "0";
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (bodyUnusable(this)) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
+        }
+        const clonedResponse = cloneResponse(this[kState]);
+        if (hasFinalizationRegistry && this[kState].body?.stream) {
+          streamRegistry.register(this, new WeakRef(this[kState].body.stream));
+        }
+        return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders]));
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+    };
+    mixinBody(Response);
+    Object.defineProperties(Response.prototype, {
+      type: kEnumerableProperty,
+      url: kEnumerableProperty,
+      status: kEnumerableProperty,
+      ok: kEnumerableProperty,
+      redirected: kEnumerableProperty,
+      statusText: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Response",
+        configurable: true
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
+      return newResponse;
+    }
+    function makeResponse(init) {
+      return {
+        aborted: false,
+        rangeRequested: false,
+        timingAllowPassed: false,
+        requestIncludesCredentials: false,
+        type: "default",
+        status: 200,
+        timingInfo: null,
+        cacheState: "",
+        statusText: "",
+        ...init,
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
+      };
+    }
+    function makeNetworkError(reason) {
+      const isError = isErrorLike(reason);
+      return makeResponse({
+        type: "error",
+        status: 0,
+        error: isError ? reason : new Error(reason ? String(reason) : reason),
+        aborted: reason && reason.name === "AbortError"
+      });
+    }
+    function isNetworkError(response) {
+      return (
+        // A network error is a response whose type is "error",
+        response.type === "error" && // status is 0
+        response.status === 0
+      );
+    }
+    function makeFilteredResponse(response, state) {
+      state = {
+        internalResponse: response,
+        ...state
+      };
+      return new Proxy(response, {
+        get(target, p) {
+          return p in state ? state[p] : target[p];
+        },
+        set(target, p, value) {
+          assert(!(p in state));
+          target[p] = value;
+          return true;
         }
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
+      } else {
+        assert(false);
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+    }
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
+    }
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
         }
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
-      }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
-      }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      response.requestIncludesCredentials = includeCredentials;
-      if (response.status === 407) {
-        if (request2.window === "no-window") {
-          return makeNetworkError();
-        }
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
         }
-        return makeNetworkError("proxy authentication required");
-      }
-      if (
-        // response’s status is 421
-        response.status === 421 && // isNewConnectionFetch is false
-        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
-        (request2.body == null || request2.body.source != null)
-      ) {
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
         }
-        fetchParams.controller.connection.destroy();
-        response = await httpNetworkOrCacheFetch(
-          fetchParams,
-          isAuthenticationFetch,
-          true
-        );
       }
-      if (isAuthenticationFetch) {
+    }
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
       }
       return response;
     }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
-      };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
-      } else {
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      let requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-      const stream = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
-        }
-      );
-      response.body = { stream };
-      fetchParams.controller.on("terminated", onAborted);
-      fetchParams.controller.resume = async () => {
-        while (true) {
-          let bytes;
-          let isFailure;
-          try {
-            const { done, value } = await fetchParams.controller.next();
-            if (isAborted(fetchParams)) {
-              break;
-            }
-            bytes = done ? void 0 : value;
-          } catch (err) {
-            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
-              bytes = void 0;
-            } else {
-              bytes = err;
-              isFailure = true;
-            }
-          }
-          if (bytes === void 0) {
-            readableStreamClose(fetchParams.controller.controller);
-            finalizeResponse(fetchParams, response);
-            return;
-          }
-          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
-          if (isFailure) {
-            fetchParams.controller.terminate(bytes);
-            return;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
-        }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
-        } else {
-          if (isReadable(stream)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
-        }
-        fetchParams.controller.connection.destroy();
+      return webidl.converters.DOMString(V, prefix, name);
+    };
+    webidl.converters.BodyInit = function(V, prefix, argument) {
+      if (V instanceof ReadableStream) {
+        return webidl.converters.ReadableStream(V, prefix, argument);
       }
-      return response;
-      async function dispatch({ body }) {
-        const url = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve2, reject) => agent.dispatch(
-          {
-            path: url.pathname + url.search,
-            origin: url.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib.createGunzip({
-                      // Be less strict when decoding compressed responses, since sometimes
-                      // servers send slightly invalid responses that are still accepted
-                      // by common browsers.
-                      // Always using Z_SYNC_FLUSH is what cURL does.
-                      flush: zlib.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve2({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve2({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-    }
-    module2.exports = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
     };
-  }
-});
-
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
-    "use strict";
+    webidl.converters.ResponseInit = webidl.dictionaryConverter([
+      {
+        key: "status",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 200
+      },
+      {
+        key: "statusText",
+        converter: webidl.converters.ByteString,
+        defaultValue: () => ""
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      }
+    ]);
     module2.exports = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
     "use strict";
-    var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
-      constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
-        super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
+            }
+          });
+        }
+      }
+      unregister(key) {
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
-      },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
-      },
-      {
-        key: "bubbles",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "cancelable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "composed",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) {
+        process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
       }
-    ]);
-    module2.exports = {
-      ProgressEvent
+      return { WeakRef, FinalizationRegistry };
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    function getEncoding(label) {
-      if (!label) {
-        return "failure";
-      }
-      switch (label.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";
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util10();
+    var nodeUtil = require("node:util");
+    var {
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util11();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var dependentControllerMap = /* @__PURE__ */ new WeakMap();
+    function buildAbort(acRef) {
+      return abort;
+      function abort() {
+        const ac = acRef.deref();
+        if (ac !== void 0) {
+          requestFinalizer.unregister(abort);
+          this.removeEventListener("abort", abort);
+          ac.abort(this.reason);
+          const controllerList = dependentControllerMap.get(ac.signal);
+          if (controllerList !== void 0) {
+            if (controllerList.size !== 0) {
+              for (const ref of controllerList) {
+                const ctrl = ref.deref();
+                if (ctrl !== void 0) {
+                  ctrl.abort(this.reason);
+                }
+              }
+              controllerList.clear();
+            }
+            dependentControllerMap.delete(ac.signal);
+          }
+        }
       }
     }
-    module2.exports = {
-      getEncoding
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants8();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream = blob.stream();
-      const reader = stream.getReader();
-      const bytes = [];
-      let chunkPromise = reader.read();
-      let isFirstChunk = true;
-      (async () => {
-        while (!fr[kAborted]) {
+    var patchMethodWarning = false;
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (input === kConstruct) {
+          return;
+        }
+        const prefix = "Request constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        input = webidl.converters.RequestInfo(input, prefix, "input");
+        init = webidl.converters.RequestInit(init, prefix, "init");
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
+          let parsedURL;
           try {
-            const { done, value } = await chunkPromise;
-            if (isFirstChunk && !fr[kAborted]) {
-              queueMicrotask(() => {
-                fireAProgressEvent("loadstart", fr);
-              });
-            }
-            isFirstChunk = false;
-            if (!done && types.isUint8Array(value)) {
-              bytes.push(value);
-              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
-                fr[kLastProgressEventFired] = Date.now();
-                queueMicrotask(() => {
-                  fireAProgressEvent("progress", fr);
-                });
-              }
-              chunkPromise = reader.read();
-            } else if (done) {
-              queueMicrotask(() => {
-                fr[kState] = "done";
-                try {
-                  const result = packageData(bytes, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              fireAProgressEvent("error", fr);
-              if (fr[kState] !== "loading") {
-                fireAProgressEvent("loadend", fr);
-              }
-            });
-            break;
+            parsedURL = new URL(input, baseUrl);
+          } catch (err) {
+            throw new TypeError("Failed to parse URL from " + input, { cause: err });
           }
-        }
-      })();
-    }
-    function fireAProgressEvent(e, reader) {
-      const event = new ProgressEvent(e, {
-        bubbles: false,
-        cancelable: false
-      });
-      reader.dispatchEvent(event);
-    }
-    function packageData(bytes, type2, mimeType, encodingName) {
-      switch (type2) {
-        case "DataURL": {
-          let dataURL = "data:";
-          const parsed = parseMIMEType(mimeType || "application/octet-stream");
-          if (parsed !== "failure") {
-            dataURL += serializeAMimeType(parsed);
+          if (parsedURL.username || parsedURL.password) {
+            throw new TypeError(
+              "Request cannot be constructed from a URL that includes credentials: " + input
+            );
           }
-          dataURL += ";base64,";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            dataURL += btoa2(decoder.write(chunk));
+          request2 = makeRequest({ urlList: [parsedURL] });
+          fallbackMode = "cors";
+        } else {
+          this[kDispatcher] = init.dispatcher || input[kDispatcher];
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
+        }
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
+        }
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
+        }
+        if ("window" in init) {
+          window2 = "no-window";
+        }
+        request2 = makeRequest({
+          // URL request’s URL.
+          // undici implementation note: this is set as the first item in request's urlList in makeRequest
+          // method request’s method.
+          method: request2.method,
+          // header list A copy of request’s header list.
+          // undici implementation note: headersList is cloned in makeRequest
+          headersList: request2.headersList,
+          // unsafe-request flag Set.
+          unsafeRequest: request2.unsafeRequest,
+          // client This’s relevant settings object.
+          client: environmentSettingsObject.settingsObject,
+          // window window.
+          window: window2,
+          // priority request’s priority.
+          priority: request2.priority,
+          // origin request’s origin. The propagation of the origin is only significant for navigation requests
+          // being handled by a service worker. In this scenario a request can have an origin that is different
+          // from the current client.
+          origin: request2.origin,
+          // referrer request’s referrer.
+          referrer: request2.referrer,
+          // referrer policy request’s referrer policy.
+          referrerPolicy: request2.referrerPolicy,
+          // mode request’s mode.
+          mode: request2.mode,
+          // credentials mode request’s credentials mode.
+          credentials: request2.credentials,
+          // cache mode request’s cache mode.
+          cache: request2.cache,
+          // redirect mode request’s redirect mode.
+          redirect: request2.redirect,
+          // integrity metadata request’s integrity metadata.
+          integrity: request2.integrity,
+          // keepalive request’s keepalive.
+          keepalive: request2.keepalive,
+          // reload-navigation flag request’s reload-navigation flag.
+          reloadNavigation: request2.reloadNavigation,
+          // history-navigation flag request’s history-navigation flag.
+          historyNavigation: request2.historyNavigation,
+          // URL list A clone of request’s URL list.
+          urlList: [...request2.urlList]
+        });
+        const initHasKey = Object.keys(init).length !== 0;
+        if (initHasKey) {
+          if (request2.mode === "navigate") {
+            request2.mode = "same-origin";
           }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
+          request2.reloadNavigation = false;
+          request2.historyNavigation = false;
+          request2.origin = "client";
+          request2.referrer = "client";
+          request2.referrerPolicy = "";
+          request2.url = request2.urlList[request2.urlList.length - 1];
+          request2.urlList = [request2.url];
         }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
+        if (init.referrer !== void 0) {
+          const referrer = init.referrer;
+          if (referrer === "") {
+            request2.referrer = "no-referrer";
+          } else {
+            let parsedReferrer;
+            try {
+              parsedReferrer = new URL(referrer, baseUrl);
+            } catch (err) {
+              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
+            }
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
+              request2.referrer = "client";
+            } else {
+              request2.referrer = parsedReferrer;
+            }
           }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.parameters.get("charset"));
+        }
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
+        }
+        let mode;
+        if (init.mode !== void 0) {
+          mode = init.mode;
+        } else {
+          mode = fallbackMode;
+        }
+        if (mode === "navigate") {
+          throw webidl.errors.exception({
+            header: "Request constructor",
+            message: "invalid request mode navigate."
+          });
+        }
+        if (mode != null) {
+          request2.mode = mode;
+        }
+        if (init.credentials !== void 0) {
+          request2.credentials = init.credentials;
+        }
+        if (init.cache !== void 0) {
+          request2.cache = init.cache;
+        }
+        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
+          throw new TypeError(
+            "'only-if-cached' can be set only with 'same-origin' mode"
+          );
+        }
+        if (init.redirect !== void 0) {
+          request2.redirect = init.redirect;
+        }
+        if (init.integrity != null) {
+          request2.integrity = String(init.integrity);
+        }
+        if (init.keepalive !== void 0) {
+          request2.keepalive = Boolean(init.keepalive);
+        }
+        if (init.method !== void 0) {
+          let method = init.method;
+          const mayBeNormalized = normalizedMethodRecords[method];
+          if (mayBeNormalized !== void 0) {
+            request2.method = mayBeNormalized;
+          } else {
+            if (!isValidHTTPToken(method)) {
+              throw new TypeError(`'${method}' is not a valid HTTP method.`);
+            }
+            const upperCase = method.toUpperCase();
+            if (forbiddenMethodsSet.has(upperCase)) {
+              throw new TypeError(`'${method}' HTTP method is unsupported.`);
             }
+            method = normalizedMethodRecordsBase[upperCase] ?? method;
+            request2.method = method;
           }
-          if (encoding === "failure") {
-            encoding = "UTF-8";
+          if (!patchMethodWarning && request2.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"
+            });
+            patchMethodWarning = true;
           }
-          return decode(bytes, encoding);
         }
-        case "ArrayBuffer": {
-          const sequence = combineByteSequences(bytes);
-          return sequence.buffer;
+        if (init.signal !== void 0) {
+          signal = init.signal;
         }
-        case "BinaryString": {
-          let binaryString = "";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            binaryString += decoder.write(chunk);
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            throw new TypeError(
+              "Failed to construct 'Request': member signal is not of type AbortSignal."
+            );
+          }
+          if (signal.aborted) {
+            ac.abort(signal.reason);
+          } else {
+            this[kAbortController] = ac;
+            const acRef = new WeakRef(ac);
+            const abort = buildAbort(acRef);
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort }, abort);
           }
-          binaryString += decoder.end();
-          return binaryString;
-        }
-      }
-    }
-    function decode(ioQueue, encoding) {
-      const bytes = combineByteSequences(ioQueue);
-      const BOMEncoding = BOMSniffing(bytes);
-      let slice = 0;
-      if (BOMEncoding !== null) {
-        encoding = BOMEncoding;
-        slice = BOMEncoding === "UTF-8" ? 3 : 2;
-      }
-      const sliced = bytes.slice(slice);
-      return new TextDecoder(encoding).decode(sliced);
-    }
-    function BOMSniffing(ioQueue) {
-      const [a, b, c] = ioQueue;
-      if (a === 239 && b === 187 && c === 191) {
-        return "UTF-8";
-      } else if (a === 254 && b === 255) {
-        return "UTF-16BE";
-      } else if (a === 255 && b === 254) {
-        return "UTF-16LE";
-      }
-      return null;
-    }
-    function combineByteSequences(sequences) {
-      const size = sequences.reduce((a, b) => {
-        return a + b.byteLength;
-      }, 0);
-      let offset = 0;
-      return sequences.reduce((a, b) => {
-        a.set(b, offset);
-        offset += b.byteLength;
-        return a;
-      }, new Uint8Array(size));
-    }
-    module2.exports = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
-    "use strict";
-    var {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
-    } = require_util13();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util10();
-    var FileReader = class _FileReader extends EventTarget {
-      constructor() {
-        super();
-        this[kState] = "empty";
-        this[kResult] = null;
-        this[kError] = null;
-        this[kEvents] = {
-          loadend: null,
-          error: null,
-          abort: null,
-          load: null,
-          progress: null,
-          loadstart: null
-        };
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
-       * @param {import('buffer').Blob} blob
-       */
-      readAsArrayBuffer(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsDataText
-       * @param {import('buffer').Blob} blob
-       * @param {string?} encoding
-       */
-      readAsText(blob, encoding = void 0) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
         }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
-          return;
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersList(this[kHeaders], request2.headersList);
+        setHeadersGuard(this[kHeaders], "request");
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          setHeadersGuard(this[kHeaders], "request-no-cors");
         }
-        if (this[kState] === "loading") {
-          this[kState] = "done";
-          this[kResult] = null;
+        if (initHasKey) {
+          const headersList = getHeadersList(this[kHeaders]);
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
+            }
+            headersList.cookies = headers.cookies;
+          } else {
+            fillHeaders(this[kHeaders], headers);
+          }
         }
-        this[kAborted] = true;
-        fireAProgressEvent("abort", this);
-        if (this[kState] !== "loading") {
-          fireAProgressEvent("loadend", this);
+        const inputBody = input instanceof _Request ? input[kState].body : null;
+        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
+          throw new TypeError("Request with GET/HEAD method cannot have body.");
         }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
-       */
-      get readyState() {
-        webidl.brandCheck(this, _FileReader);
-        switch (this[kState]) {
-          case "empty":
-            return this.EMPTY;
-          case "loading":
-            return this.LOADING;
-          case "done":
-            return this.DONE;
+        let initBody = null;
+        if (init.body != null) {
+          const [extractedBody, contentType] = extractBody(
+            init.body,
+            request2.keepalive
+          );
+          initBody = extractedBody;
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
+            this[kHeaders].append("content-type", contentType);
+          }
+        }
+        const inputOrInitBody = initBody ?? inputBody;
+        if (inputOrInitBody != null && inputOrInitBody.source == null) {
+          if (initBody != null && init.duplex == null) {
+            throw new TypeError("RequestInit: duplex option is required when sending a body.");
+          }
+          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
+            throw new TypeError(
+              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
+            );
+          }
+          request2.useCORSPreflightFlag = true;
+        }
+        let finalBody = inputOrInitBody;
+        if (initBody == null && inputBody != null) {
+          if (bodyUnusable(input)) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          const identityTransform = new TransformStream();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
         }
+        this[kState].body = finalBody;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
-       */
-      get result() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kResult];
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
-       */
-      get error() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kError];
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
       }
-      get onloadend() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadend;
+      // Returns a Headers object consisting of the headers associated with request.
+      // Note that headers added in the network layer by the user agent will not
+      // be accounted for in this object, e.g., the "Host" header.
+      get headers() {
+        webidl.brandCheck(this, _Request);
+        return this[kHeaders];
       }
-      set onloadend(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadend) {
-          this.removeEventListener("loadend", this[kEvents].loadend);
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
+      }
+      // Returns the referrer of request. Its value can be a same-origin URL if
+      // explicitly set in init, the empty string to indicate no referrer, and
+      // "about:client" when defaulting to the global’s default. This is used
+      // during fetching to determine the value of the `Referer` header of the
+      // request being made.
+      get referrer() {
+        webidl.brandCheck(this, _Request);
+        if (this[kState].referrer === "no-referrer") {
+          return "";
         }
-        if (typeof fn === "function") {
-          this[kEvents].loadend = fn;
-          this.addEventListener("loadend", fn);
-        } else {
-          this[kEvents].loadend = null;
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      get onerror() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].error;
+      // Returns the referrer policy associated with request.
+      // This is used during fetching to compute the value of the request’s
+      // referrer.
+      get referrerPolicy() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].referrerPolicy;
       }
-      set onerror(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].error) {
-          this.removeEventListener("error", this[kEvents].error);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this[kEvents].error = null;
-        }
+      // Returns the mode associated with request, which is a string indicating
+      // whether the request will use CORS, or will be restricted to same-origin
+      // URLs.
+      get mode() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].mode;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      // Returns the credentials mode associated with request,
+      // which is a string indicating whether credentials will be sent with the
+      // request always, never, or only when sent to a same-origin URL.
+      get credentials() {
+        return this[kState].credentials;
       }
-      set onloadstart(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadstart) {
-          this.removeEventListener("loadstart", this[kEvents].loadstart);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadstart = fn;
-          this.addEventListener("loadstart", fn);
-        } else {
-          this[kEvents].loadstart = null;
-        }
+      // Returns the cache mode associated with request,
+      // which is a string indicating how the request will
+      // interact with the browser’s cache when fetching.
+      get cache() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].cache;
       }
-      get onprogress() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].progress;
+      // Returns the redirect mode associated with request,
+      // which is a string indicating how redirects for the
+      // request will be handled during fetching. A request
+      // will follow redirects by default.
+      get redirect() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].redirect;
       }
-      set onprogress(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].progress) {
-          this.removeEventListener("progress", this[kEvents].progress);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].progress = fn;
-          this.addEventListener("progress", fn);
-        } else {
-          this[kEvents].progress = null;
-        }
+      // Returns request’s subresource integrity metadata, which is a
+      // cryptographic hash of the resource being fetched. Its value
+      // consists of multiple hashes separated by whitespace. [SRI]
+      get integrity() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].integrity;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      // Returns a boolean indicating whether or not request can outlive the
+      // global in which it was created.
+      get keepalive() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].keepalive;
       }
-      set onload(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].load) {
-          this.removeEventListener("load", this[kEvents].load);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].load = fn;
-          this.addEventListener("load", fn);
-        } else {
-          this[kEvents].load = null;
-        }
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-forward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
       }
-      set onabort(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].abort) {
-          this.removeEventListener("abort", this[kEvents].abort);
+      // Returns the signal associated with request, which is an AbortSignal
+      // object indicating whether or not request has been aborted, and its
+      // abort event handler.
+      get signal() {
+        webidl.brandCheck(this, _Request);
+        return this[kSignal];
+      }
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
+      }
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      }
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
+      }
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (bodyUnusable(this)) {
+          throw new TypeError("unusable");
         }
-        if (typeof fn === "function") {
-          this[kEvents].abort = fn;
-          this.addEventListener("abort", fn);
+        const clonedRequest = cloneRequest(this[kState]);
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
         } else {
-          this[kEvents].abort = null;
+          let list = dependentControllerMap.get(this.signal);
+          if (list === void 0) {
+            list = /* @__PURE__ */ new Set();
+            dependentControllerMap.set(this.signal, list);
+          }
+          const acRef = new WeakRef(ac);
+          list.add(acRef);
+          util.addAbortListener(
+            ac.signal,
+            buildAbort(acRef)
+          );
         }
+        return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]));
       }
-    };
-    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
-    FileReader.LOADING = FileReader.prototype.LOADING = 1;
-    FileReader.DONE = FileReader.prototype.DONE = 2;
-    Object.defineProperties(FileReader.prototype, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors,
-      readAsArrayBuffer: kEnumerableProperty,
-      readAsBinaryString: kEnumerableProperty,
-      readAsText: kEnumerableProperty,
-      readAsDataURL: kEnumerableProperty,
-      abort: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      result: kEnumerableProperty,
-      error: kEnumerableProperty,
-      onloadstart: kEnumerableProperty,
-      onprogress: kEnumerableProperty,
-      onload: kEnumerableProperty,
-      onabort: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onloadend: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "FileReader",
-        writable: false,
-        enumerable: false,
-        configurable: true
-      }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kConstruct: require_symbols6().kConstruct
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
-    "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util11();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
         }
-        values.push(value);
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
-      return values;
+    };
+    mixinBody(Request);
+    function makeRequest(init) {
+      return {
+        method: init.method ?? "GET",
+        localURLsOnly: init.localURLsOnly ?? false,
+        unsafeRequest: init.unsafeRequest ?? false,
+        body: init.body ?? null,
+        client: init.client ?? null,
+        reservedClient: init.reservedClient ?? null,
+        replacesClientId: init.replacesClientId ?? "",
+        window: init.window ?? "client",
+        keepalive: init.keepalive ?? false,
+        serviceWorkers: init.serviceWorkers ?? "all",
+        initiator: init.initiator ?? "",
+        destination: init.destination ?? "",
+        priority: init.priority ?? null,
+        origin: init.origin ?? "client",
+        policyContainer: init.policyContainer ?? "client",
+        referrer: init.referrer ?? "client",
+        referrerPolicy: init.referrerPolicy ?? "",
+        mode: init.mode ?? "no-cors",
+        useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
+        credentials: init.credentials ?? "same-origin",
+        useCredentials: init.useCredentials ?? false,
+        cache: init.cache ?? "default",
+        redirect: init.redirect ?? "follow",
+        integrity: init.integrity ?? "",
+        cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "",
+        parserMetadata: init.parserMetadata ?? "",
+        reloadNavigation: init.reloadNavigation ?? false,
+        historyNavigation: init.historyNavigation ?? false,
+        userActivation: init.userActivation ?? false,
+        taintedOrigin: init.taintedOrigin ?? false,
+        redirectCount: init.redirectCount ?? 0,
+        responseTainting: init.responseTainting ?? "basic",
+        preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
+        done: init.done ?? false,
+        timingAllowFailed: init.timingAllowFailed ?? false,
+        urlList: init.urlList,
+        url: init.urlList[0],
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
     }
-    module2.exports = {
-      urlEquals,
-      fieldValues
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(newRequest, request2.body);
+      }
+      return newRequest;
+    }
+    function fromInnerRequest(innerRequest, signal, guard) {
+      const request2 = new Request(kConstruct);
+      request2[kState] = innerRequest;
+      request2[kSignal] = signal;
+      request2[kHeaders] = new Headers(kConstruct);
+      setHeadersList(request2[kHeaders], innerRequest.headersList);
+      setHeadersGuard(request2[kHeaders], guard);
+      return request2;
+    }
+    Object.defineProperties(Request.prototype, {
+      method: kEnumerableProperty,
+      url: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      signal: kEnumerableProperty,
+      duplex: kEnumerableProperty,
+      destination: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      isHistoryNavigation: kEnumerableProperty,
+      isReloadNavigation: kEnumerableProperty,
+      keepalive: kEnumerableProperty,
+      integrity: kEnumerableProperty,
+      cache: kEnumerableProperty,
+      credentials: kEnumerableProperty,
+      attribute: kEnumerableProperty,
+      referrerPolicy: kEnumerableProperty,
+      referrer: kEnumerableProperty,
+      mode: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Request",
+        configurable: true
+      }
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, argument);
+      }
+      if (V instanceof Request) {
+        return webidl.converters.Request(V, prefix, argument);
+      }
+      return webidl.converters.USVString(V, prefix, argument);
     };
+    webidl.converters.AbortSignal = webidl.interfaceConverter(
+      AbortSignal
+    );
+    webidl.converters.RequestInit = webidl.dictionaryConverter([
+      {
+        key: "method",
+        converter: webidl.converters.ByteString
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      },
+      {
+        key: "body",
+        converter: webidl.nullableConverter(
+          webidl.converters.BodyInit
+        )
+      },
+      {
+        key: "referrer",
+        converter: webidl.converters.USVString
+      },
+      {
+        key: "referrerPolicy",
+        converter: webidl.converters.DOMString,
+        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
+        allowedValues: referrerPolicy
+      },
+      {
+        key: "mode",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#concept-request-mode
+        allowedValues: requestMode
+      },
+      {
+        key: "credentials",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcredentials
+        allowedValues: requestCredentials
+      },
+      {
+        key: "cache",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcache
+        allowedValues: requestCache
+      },
+      {
+        key: "redirect",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestredirect
+        allowedValues: requestRedirect
+      },
+      {
+        key: "integrity",
+        converter: webidl.converters.DOMString
+      },
+      {
+        key: "keepalive",
+        converter: webidl.converters.boolean
+      },
+      {
+        key: "signal",
+        converter: webidl.nullableConverter(
+          (signal) => webidl.converters.AbortSignal(
+            signal,
+            "RequestInit",
+            "signal",
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
+      }
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util14();
-    var { kEnumerableProperty, isDisturbed } = require_util10();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util11();
-    var assert = require("assert");
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib = require("node:zlib");
+    var {
+      bytesMatch,
+      makePolicyContainer,
+      clonePolicyContainer,
+      requestBadPort,
+      TAOCheck,
+      appendRequestOriginHeader,
+      responseLocationURL,
+      requestCurrentURL,
+      setRequestReferrerPolicyOnRedirect,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      createOpaqueTimingInfo,
+      appendFetchMetadata,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      determineRequestsReferrer,
+      coarsenedSharedCurrentTime,
+      createDeferredPromise,
+      isBlobLike,
+      sameOrigin,
+      isCancelled,
+      isAborted,
+      isErrorLike,
+      fullyReadBody,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlIsHttpHttpsScheme,
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
+    } = require_util11();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util10();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
     var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { webidl } = require_webidl2();
+    var { STATUS_CODES } = require("node:http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
+    var resolveObjectURL;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
+      terminate(reason) {
+        if (this.state !== "ongoing") {
           return;
         }
-        return p[0];
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
-            }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
-          }
-        }
-        const responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
-          }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
-          }
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
-        return Object.freeze(responseList);
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
+    };
+    function handleFetchDone(response) {
+      finalizeAndReportTiming(response, "fetch");
+    }
+    function fetch(input, init = void 0) {
+      webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
+      let p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
-          }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
-          }
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
+      }
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
+      }
+      let responseObject = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
-          }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
-            }
-          }));
-          responsePromises.push(responsePromise.promise);
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        const p = Promise.all(responsePromises);
-        const responses = await p;
-        const operations = [];
-        let index = 0;
-        for (const response of responses) {
-          const operation = {
-            type: "put",
-            // 7.3.2
-            request: requestList[index],
-            // 7.3.3
-            response
-            // 7.3.4
-          };
-          operations.push(operation);
-          index++;
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return;
         }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
+        if (response.type === "error") {
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(void 0);
-          } else {
-            cacheJobPromise.reject(errorData);
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
+      };
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: requestObject[kDispatcher]
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
+        return;
+      }
+      if (!response.urlList?.length) {
+        return;
+      }
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
+      }
+      if (timingInfo === null) {
+        return;
+      }
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
+    }
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
+      }
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
-        return cacheJobPromise.promise;
       }
-      async put(request2, response) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
-        let innerRequest = null;
-        if (request2 instanceof Request) {
-          innerRequest = request2[kState];
-        } else {
-          innerRequest = new Request(request2)[kState];
-        }
-        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Got 206 status"
-          });
-        }
-        if (innerResponse.headersList.contains("vary")) {
-          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
-          for (const fieldValue of fieldValues) {
-            if (fieldValue === "*") {
-              throw webidl.errors.exception({
-                header: "Cache.put",
-                message: "Got * vary field value"
-              });
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
-        }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        const clonedResponse = cloneResponse(innerResponse);
-        const bodyReadPromise = createDeferredPromise();
-        if (innerResponse.body != null) {
-          const stream = innerResponse.body.stream;
-          const reader = stream.getReader();
-          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+          throw err;
+        });
+      }
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher = getGlobalDispatcher()
+      // undici
+    }) {
+      assert(dispatcher);
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
+      }
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currentTime
+      });
+      const fetchParams = {
+        controller: new Fetch(dispatcher),
+        request: request2,
+        timingInfo,
+        processRequestBodyChunkLength,
+        processRequestEndOfBody,
+        processResponse,
+        processResponseConsumeBody,
+        processResponseEndOfBody,
+        taskDestination,
+        crossOriginIsolatedCapability
+      };
+      assert(!request2.body || request2.body.stream);
+      if (request2.window === "client") {
+        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
+      }
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
+      }
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
         } else {
-          bodyReadPromise.resolve(void 0);
-        }
-        const operations = [];
-        const operation = {
-          type: "put",
-          // 14.
-          request: innerRequest,
-          // 15.
-          response: clonedResponse
-          // 16.
-        };
-        operations.push(operation);
-        const bytes = await bodyReadPromise.promise;
-        if (clonedResponse.body != null) {
-          clonedResponse.body.source = bytes;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
+          request2.policyContainer = makePolicyContainer();
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 instanceof Request) {
-          r = request2[kState];
-          if (r.method !== "GET" && !options.ignoreMethod) {
-            return false;
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
+      }
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
+      }
+      if (request2.priority === null) {
+      }
+      if (subresourceSet.has(request2.destination)) {
+      }
+      mainFetch(fetchParams).catch((err) => {
+        fetchParams.controller.terminate(err);
+      });
+      return fetchParams.controller;
+    }
+    async function mainFetch(fetchParams, recursive = false) {
+      const request2 = fetchParams.request;
+      let response = null;
+      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
+        response = makeNetworkError("local URLs only");
+      }
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
+      }
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
+      }
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
+      }
+      if (response === null) {
+        response = await (async () => {
+          const currentURL = requestCurrentURL(request2);
+          if (
+            // - request’s current URL’s origin is same origin with request’s origin,
+            //   and request’s response tainting is "basic"
+            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
+            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
+            (request2.mode === "navigate" || request2.mode === "websocket")
+          ) {
+            request2.responseTainting = "basic";
+            return await schemeFetch(fetchParams);
+          }
+          if (request2.mode === "same-origin") {
+            return makeNetworkError('request mode cannot be "same-origin"');
+          }
+          if (request2.mode === "no-cors") {
+            if (request2.redirect !== "follow") {
+              return makeNetworkError(
+                'redirect mode cannot be "follow" for "no-cors" request'
+              );
+            }
+            request2.responseTainting = "opaque";
+            return await schemeFetch(fetchParams);
+          }
+          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
+            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
           }
+          request2.responseTainting = "cors";
+          return await httpFetch(fetchParams);
+        })();
+      }
+      if (recursive) {
+        return response;
+      }
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
+        }
+        if (request2.responseTainting === "basic") {
+          response = filterResponse(response, "basic");
+        } else if (request2.responseTainting === "cors") {
+          response = filterResponse(response, "cors");
+        } else if (request2.responseTainting === "opaque") {
+          response = filterResponse(response, "opaque");
         } else {
-          assert(typeof request2 === "string");
-          r = new Request(request2)[kState];
+          assert(false);
         }
-        const operations = [];
-        const operation = {
-          type: "delete",
-          request: r,
-          options
-        };
-        operations.push(operation);
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        let requestResponses;
-        try {
-          requestResponses = this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
+      }
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
+      }
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
+      }
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) {
+        response = internalResponse = makeNetworkError();
+      }
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
+      }
+      if (request2.integrity) {
+        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
+        if (request2.responseTainting === "opaque" || response.body == null) {
+          processBodyError(response.error);
+          return;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(!!requestResponses?.length);
-          } else {
-            cacheJobPromise.reject(errorData);
+        const processBody = (bytes) => {
+          if (!bytesMatch(bytes, request2.integrity)) {
+            processBodyError("integrity mismatch");
+            return;
           }
-        });
-        return cacheJobPromise.promise;
+          response.body = safelyExtractBody(bytes)[0];
+          fetchFinale(fetchParams, response);
+        };
+        await fullyReadBody(response.body, processBody, processBodyError);
+      } else {
+        fetchFinale(fetchParams, response);
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
-            }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
-          }
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      }
+      const { request: request2 } = fetchParams;
+      const { protocol: scheme } = requestCurrentURL(request2);
+      switch (scheme) {
+        case "about:": {
+          return Promise.resolve(makeNetworkError("about scheme is not supported"));
         }
-        const promise = createDeferredPromise();
-        const requests = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            requests.push(requestResponse[0]);
+        case "blob:": {
+          if (!resolveObjectURL) {
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            requests.push(requestResponse[0]);
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
           }
-        }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
           }
-          promise.resolve(Object.freeze(requestList));
-        });
-        return promise.promise;
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
-       */
-      #batchCacheOperations(operations) {
-        const cache = this.#relevantRequestResponseList;
-        const backupCache = [...cache];
-        const addedItems = [];
-        const resultList = [];
-        try {
-          for (const operation of operations) {
-            if (operation.type !== "delete" && operation.type !== "put") {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: 'operation type does not match "delete" or "put"'
-              });
-            }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
-            }
-            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = blob.type;
+          if (!request2.headersList.contains("range", true)) {
+            const bodyWithType = extractBody(blob);
+            response.statusText = "OK";
+            response.body = bodyWithType[0];
+            response.headersList.set("content-length", serializedFullLength, true);
+            response.headersList.set("content-type", type2, true);
+          } else {
+            response.rangeRequested = true;
+            const rangeHeader = request2.headersList.get("range", true);
+            const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
+            if (rangeValue === "failure") {
+              return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
             }
-            let requestResponses;
-            if (operation.type === "delete") {
-              requestResponses = this.#queryCache(operation.request, operation.options);
-              if (requestResponses.length === 0) {
-                return [];
-              }
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-            } else if (operation.type === "put") {
-              if (operation.response == null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "put operation should have an associated response"
-                });
-              }
-              const r = operation.request;
-              if (!urlIsHttpHttpsScheme(r.url)) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "expected http or https scheme"
-                });
-              }
-              if (r.method !== "GET") {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "not get method"
-                });
-              }
-              if (operation.options != null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "options must not be defined"
-                });
+            let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
+            if (rangeStart === null) {
+              rangeStart = fullLength - rangeEnd;
+              rangeEnd = rangeStart + rangeEnd - 1;
+            } else {
+              if (rangeStart >= fullLength) {
+                return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
               }
-              requestResponses = this.#queryCache(operation.request);
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
+              if (rangeEnd === null || rangeEnd >= fullLength) {
+                rangeEnd = fullLength - 1;
               }
-              cache.push([operation.request, operation.response]);
-              addedItems.push([operation.request, operation.response]);
             }
-            resultList.push([operation.request, operation.response]);
+            const slicedBlob = blob.slice(rangeStart, rangeEnd, type2);
+            const slicedBodyWithType = extractBody(slicedBlob);
+            response.body = slicedBodyWithType[0];
+            const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
+            const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
+            response.status = 206;
+            response.statusText = "Partial Content";
+            response.headersList.set("content-length", serializedSlicedLength, true);
+            response.headersList.set("content-type", type2, true);
+            response.headersList.set("content-range", contentRange, true);
           }
-          return resultList;
-        } catch (e) {
-          this.#relevantRequestResponseList.length = 0;
-          this.#relevantRequestResponseList = backupCache;
-          throw e;
+          return Promise.resolve(response);
         }
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#query-cache
-       * @param {any} requestQuery
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @param {requestResponseList} targetStorage
-       * @returns {requestResponseList}
-       */
-      #queryCache(requestQuery, options, targetStorage) {
-        const resultList = [];
-        const storage = targetStorage ?? this.#relevantRequestResponseList;
-        for (const requestResponse of storage) {
-          const [cachedRequest, cachedResponse] = requestResponse;
-          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
-            resultList.push(requestResponse);
+        case "data:": {
+          const currentURL = requestCurrentURL(request2);
+          const dataURLStruct = dataURLProcessor(currentURL);
+          if (dataURLStruct === "failure") {
+            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
           }
+          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
+          return Promise.resolve(makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-type", { name: "Content-Type", value: mimeType }]
+            ],
+            body: safelyExtractBody(dataURLStruct.body)[0]
+          }));
         }
-        return resultList;
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
-       * @param {any} requestQuery
-       * @param {any} request
-       * @param {any | null} response
-       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
-       * @returns {boolean}
-       */
-      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
-        const queryURL = new URL(requestQuery.url);
-        const cachedURL = new URL(request2.url);
-        if (options?.ignoreSearch) {
-          cachedURL.search = "";
-          queryURL.search = "";
+        case "file:": {
+          return Promise.resolve(makeNetworkError("not implemented... yet..."));
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        case "http:":
+        case "https:": {
+          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        default: {
+          return Promise.resolve(makeNetworkError("unknown scheme"));
         }
-        const fieldValues = getFieldValues(response.headersList.get("vary"));
-        for (const fieldValue of fieldValues) {
-          if (fieldValue === "*") {
-            return false;
+      }
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
+      }
+    }
+    function fetchFinale(fetchParams, response) {
+      let timingInfo = fetchParams.timingInfo;
+      const processResponseEndOfBody = () => {
+        const unsafeEndTime = Date.now();
+        if (fetchParams.request.destination === "document") {
+          fetchParams.controller.fullTimingInfo = timingInfo;
+        }
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          const requestValue = request2.headersList.get(fieldValue);
-          const queryValue = requestQuery.headersList.get(fieldValue);
-          if (requestValue !== queryValue) {
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-        }
-        return true;
+          let responseStatus = 0;
+          if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
+            responseStatus = response.status;
+            const mimeType = extractMimeType(response.headersList);
+            if (mimeType !== "failure") {
+              bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
+            }
+          }
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
+          }
+        };
+        const processResponseEndOfBodyTask = () => {
+          fetchParams.request.done = true;
+          if (fetchParams.processResponseEndOfBody != null) {
+            queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+          }
+          if (fetchParams.request.initiatorType != null) {
+            fetchParams.controller.reportTimingSteps();
+          }
+        };
+        queueMicrotask(() => processResponseEndOfBodyTask());
+      };
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
+        });
       }
-    };
-    Object.defineProperties(Cache.prototype, {
-      [Symbol.toStringTag]: {
-        value: "Cache",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      matchAll: kEnumerableProperty,
-      add: kEnumerableProperty,
-      addAll: kEnumerableProperty,
-      put: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    var cacheQueryOptionConverters = [
-      {
-        key: "ignoreSearch",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreMethod",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreVary",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-    ];
-    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
-    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
-      ...cacheQueryOptionConverters,
-      {
-        key: "cacheName",
-        converter: webidl.converters.DOMString
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util10();
-    var CacheStorage = class _CacheStorage {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
+      response.timingInfo = timingInfo;
+      return response;
+    }
+    function httpRedirectFetch(fetchParams, response) {
+      const request2 = fetchParams.request;
+      const actualResponse = response.internalResponse ? response.internalResponse : response;
+      let locationURL;
+      try {
+        locationURL = responseLocationURL(
+          actualResponse,
+          requestCurrentURL(request2).hash
+        );
+        if (locationURL == null) {
+          return response;
         }
-        const cache = [];
-        this.#caches.set(cacheName, cache);
-        return new Cache(kConstruct, cache);
+      } catch (err) {
+        return Promise.resolve(makeNetworkError(err));
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async delete(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
       }
-    };
-    Object.defineProperties(CacheStorage.prototype, {
-      [Symbol.toStringTag]: {
-        value: "CacheStorage",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      has: kEnumerableProperty,
-      open: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    module2.exports = {
-      CacheStorage
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
-    module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
-    "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
+      request2.redirectCount += 1;
+      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
+        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
       }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
-        }
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
       }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
+        request2.method = "GET";
+        request2.body = null;
+        for (const headerName of requestBodyHeader) {
+          request2.headersList.delete(headerName);
         }
       }
-    }
-    function validateCookiePath(path2) {
-      for (const char of path2) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
-        }
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization", true);
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
       }
-    }
-    function validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
       }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
       }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
+      request2.urlList.push(locationURL);
+      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
+      return mainFetch(fetchParams, true);
     }
-    function validateCookieMaxAge(maxAge) {
-      if (maxAge < 0) {
-        throw new Error("Invalid cookie max-age");
+    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
+      const request2 = fetchParams.request;
+      let httpFetchParams = null;
+      let httpRequest = null;
+      let response = null;
+      const httpCache = null;
+      const revalidatingFlag = false;
+      if (request2.window === "no-window" && request2.redirect === "error") {
+        httpFetchParams = fetchParams;
+        httpRequest = request2;
+      } else {
+        httpRequest = cloneRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-    }
-    function stringify(cookie) {
-      if (cookie.name.length === 0) {
-        return null;
+      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
+      const contentLength = httpRequest.body ? httpRequest.body.length : null;
+      let contentLengthHeaderValue = null;
+      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
+        contentLengthHeaderValue = "0";
       }
-      validateCookieName(cookie.name);
-      validateCookieValue(cookie.value);
-      const out = [`${cookie.name}=${cookie.value}`];
-      if (cookie.name.startsWith("__Secure-")) {
-        cookie.secure = true;
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      if (cookie.name.startsWith("__Host-")) {
-        cookie.secure = true;
-        cookie.domain = null;
-        cookie.path = "/";
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      if (cookie.secure) {
-        out.push("Secure");
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      if (cookie.httpOnly) {
-        out.push("HttpOnly");
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      if (typeof cookie.maxAge === "number") {
-        validateCookieMaxAge(cookie.maxAge);
-        out.push(`Max-Age=${cookie.maxAge}`);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      if (cookie.domain) {
-        validateCookieDomain(cookie.domain);
-        out.push(`Domain=${cookie.domain}`);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
+        httpRequest.cache = "no-store";
       }
-      if (cookie.path) {
-        validateCookiePath(cookie.path);
-        out.push(`Path=${cookie.path}`);
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
+        httpRequest.headersList.append("cache-control", "max-age=0", true);
       }
-      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
-        out.push(`Expires=${toIMFDate(cookie.expires)}`);
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
+        }
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
+        }
       }
-      if (cookie.sameSite) {
-        out.push(`SameSite=${cookie.sameSite}`);
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      for (const part of cookie.unparsed) {
-        if (!part.includes("=")) {
-          throw new Error("Invalid unparsed");
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
+        } else {
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
-        const [key, ...value] = part.split("=");
-        out.push(`${key.trim()}=${value.join("=")}`);
       }
-      return out.join("; ");
-    }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/parse.js
-var require_parse3 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
-    "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants10();
-    var { isCTLExcludingHtab } = require_util15();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } else {
-        nameValuePair = header;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      if (!nameValuePair.includes("=")) {
-        value = nameValuePair;
-      } else {
-        const position = { position: 0 };
-        name = collectASequenceOfCodePointsFast(
-          "=",
-          nameValuePair,
-          position
-        );
-        value = nameValuePair.slice(position.position + 1);
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
       }
-      name = name.trim();
-      value = value.trim();
-      if (name.length + value.length > maxNameValuePairSize) {
-        return null;
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
+        }
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
+        }
+        if (revalidatingFlag && forwardResponse.status === 304) {
+        }
+        if (response == null) {
+          response = forwardResponse;
+        }
       }
-      return {
-        name,
-        value,
-        ...parseUnparsedAttributes(unparsedAttributes)
-      };
-    }
-    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
-      if (unparsedAttributes.length === 0) {
-        return cookieAttributeList;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      assert(unparsedAttributes[0] === ";");
-      unparsedAttributes = unparsedAttributes.slice(1);
-      let cookieAv = "";
-      if (unparsedAttributes.includes(";")) {
-        cookieAv = collectASequenceOfCodePointsFast(
-          ";",
-          unparsedAttributes,
-          { position: 0 }
-        );
-        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
-      } else {
-        cookieAv = unparsedAttributes;
-        unparsedAttributes = "";
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
+        }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        return makeNetworkError("proxy authentication required");
       }
-      let attributeName = "";
-      let attributeValue = "";
-      if (cookieAv.includes("=")) {
-        const position = { position: 0 };
-        attributeName = collectASequenceOfCodePointsFast(
-          "=",
-          cookieAv,
-          position
+      if (
+        // response’s status is 421
+        response.status === 421 && // isNewConnectionFetch is false
+        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
+        (request2.body == null || request2.body.source != null)
+      ) {
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        fetchParams.controller.connection.destroy();
+        response = await httpNetworkOrCacheFetch(
+          fetchParams,
+          isAuthenticationFetch,
+          true
         );
-        attributeValue = cookieAv.slice(position.position + 1);
-      } else {
-        attributeName = cookieAv;
       }
-      attributeName = attributeName.trim();
-      attributeValue = attributeValue.trim();
-      if (attributeValue.length > maxAttributeValueSize) {
-        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+      if (isAuthenticationFetch) {
       }
-      const attributeNameLowercase = attributeName.toLowerCase();
-      if (attributeNameLowercase === "expires") {
-        const expiryTime = new Date(attributeValue);
-        cookieAttributeList.expires = expiryTime;
-      } else if (attributeNameLowercase === "max-age") {
-        const charCode = attributeValue.charCodeAt(0);
-        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+      return response;
+    }
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err, abort = true) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
+          }
         }
-        if (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
+      }
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
+      }
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
+      }
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        return makeNetworkError(err);
+      }
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        cookieAttributeList.path = cookiePath;
-      } else if (attributeNameLowercase === "secure") {
-        cookieAttributeList.secure = true;
-      } else if (attributeNameLowercase === "httponly") {
-        cookieAttributeList.httpOnly = true;
-      } else if (attributeNameLowercase === "samesite") {
-        let enforcement = "Default";
-        const attributeValueLowercase = attributeValue.toLowerCase();
-        if (attributeValueLowercase.includes("none")) {
-          enforcement = "None";
+      };
+      const stream = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+      );
+      response.body = { stream, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
+          if (isErrored(stream)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve2, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable({ read: resume });
+              const decoders = [];
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib.createBrotliDecompress({
+                      flush: zlib.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve2({
+                status,
+                statusText,
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              if (fetchParams.controller.onAborted) {
+                fetchParams.controller.off("terminated", fetchParams.controller.onAborted);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, rawHeaders, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              resolve2({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
+            }
+          }
+        ));
       }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
     }
     module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
   }
 });
 
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { parseSetCookie } = require_parse3();
-    var { stringify } = require_util15();
     var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      if (!cookie) {
-        return out;
-      }
-      for (const piece of cookie.split(";")) {
-        const [name, ...value] = piece.split("=");
-        out[name.trim()] = value.join("=");
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      return out;
-    }
-    function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookies = headers.getSetCookie();
-      if (!cookies) {
-        return [];
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      return cookies.map((pair) => parseSetCookie(pair));
-    }
-    function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-    }
-    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
-    ]);
-    webidl.converters.Cookie = webidl.dictionaryConverter([
-      {
-        converter: webidl.converters.DOMString,
-        key: "name"
-      },
-      {
-        converter: webidl.converters.DOMString,
-        key: "value"
-      },
-      {
-        converter: webidl.nullableConverter((value) => {
-          if (typeof value === "number") {
-            return webidl.converters["unsigned long long"](value);
-          }
-          return new Date(value);
-        }),
-        key: "expires",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters["long long"]),
-        key: "maxAge",
-        defaultValue: null
-      },
+    };
+    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
       {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
+        key: "lengthComputable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
+        key: "loaded",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
       },
       {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "secure",
-        defaultValue: null
+        key: "total",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
       },
       {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "httpOnly",
-        defaultValue: null
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
-        converter: webidl.converters.USVString,
-        key: "sameSite",
-        allowedValues: ["Strict", "Lax", "None"]
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
-        converter: webidl.sequenceConverter(webidl.converters.DOMString),
-        key: "unparsed",
-        defaultValue: []
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
     ]);
     module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
+      ProgressEvent
     };
   }
 });
 
-// node_modules/undici/lib/websocket/constants.js
-var require_constants11 = __commonJS({
-  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
     "use strict";
-    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    var states = {
-      CONNECTING: 0,
-      OPEN: 1,
-      CLOSING: 2,
-      CLOSED: 3
-    };
-    var opcodes = {
-      CONTINUATION: 0,
-      TEXT: 1,
-      BINARY: 2,
-      CLOSE: 8,
-      PING: 9,
-      PONG: 10
-    };
-    var maxUnsigned16Bit = 2 ** 16 - 1;
-    var parserStates = {
-      INFO: 0,
-      PAYLOADLENGTH_16: 2,
-      PAYLOADLENGTH_64: 3,
-      READ_DATA: 4
-    };
-    var emptyBuffer = Buffer.allocUnsafe(0);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
+      }
+      switch (label.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";
+      }
+    }
+    module2.exports = {
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
+    var {
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream = blob.stream();
+      const reader = stream.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
+          try {
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
+            }
+            isFirstChunk = false;
+            if (!done && types.isUint8Array(value)) {
+              bytes.push(value);
+              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
+                fr[kLastProgressEventFired] = Date.now();
+                queueMicrotask(() => {
+                  fireAProgressEvent("progress", fr);
+                });
+              }
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
+              }
+            });
+            break;
+          }
+        }
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
+          }
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
+          }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
+        }
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
+          }
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
+          }
+          if (encoding === "failure") {
+            encoding = "UTF-8";
+          }
+          return decode(bytes, encoding);
+        }
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
+        }
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
+        }
+      }
+    }
+    function decode(ioQueue, encoding) {
+      const bytes = combineByteSequences(ioQueue);
+      const BOMEncoding = BOMSniffing(bytes);
+      let slice = 0;
+      if (BOMEncoding !== null) {
+        encoding = BOMEncoding;
+        slice = BOMEncoding === "UTF-8" ? 3 : 2;
+      }
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
+    }
+    function BOMSniffing(ioQueue) {
+      const [a, b, c] = ioQueue;
+      if (a === 239 && b === 187 && c === 191) {
+        return "UTF-8";
+      } else if (a === 254 && b === 255) {
+        return "UTF-16BE";
+      } else if (a === 255 && b === 254) {
+        return "UTF-16LE";
+      }
+      return null;
+    }
+    function combineByteSequences(sequences) {
+      const size = sequences.reduce((a, b) => {
+        return a + b.byteLength;
+      }, 0);
+      let offset = 0;
+      return sequences.reduce((a, b) => {
+        a.set(b, offset);
+        offset += b.byteLength;
+        return a;
+      }, new Uint8Array(size));
+    }
     module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
     };
   }
 });
 
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
+    var {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util13();
+    var {
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
     var { kEnumerableProperty } = require_util10();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
+        super();
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      get data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsDataText
+       * @param {import('buffer').Blob} blob
+       * @param {string?} encoding
+       */
+      readAsText(blob, encoding = void 0) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
+        }
+        readOperation(this, blob, "Text", encoding);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
+          return;
+        }
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
         }
-        return this.#eventInit.ports;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
+       */
+      get readyState() {
+        webidl.brandCheck(this, _FileReader);
+        switch (this[kState]) {
+          case "empty":
+            return this.EMPTY;
+          case "loading":
+            return this.LOADING;
+          case "done":
+            return this.DONE;
+        }
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
       }
-      get wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
       }
-      get reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      set onloadend(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadend) {
+          this.removeEventListener("loadend", this[kEvents].loadend);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].loadend = fn;
+          this.addEventListener("loadend", fn);
+        } else {
+          this[kEvents].loadend = null;
+        }
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      get message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      set onerror(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].error) {
+          this.removeEventListener("error", this[kEvents].error);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
+        }
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      get lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
+        }
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      get onprogress() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].progress;
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      set onprogress(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].progress) {
+          this.removeEventListener("progress", this[kEvents].progress);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
+        }
       }
-    };
-    Object.defineProperties(MessageEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "MessageEvent",
-        configurable: true
-      },
-      data: kEnumerableProperty,
-      origin: kEnumerableProperty,
-      lastEventId: kEnumerableProperty,
-      source: kEnumerableProperty,
-      ports: kEnumerableProperty,
-      initMessageEvent: kEnumerableProperty
-    });
-    Object.defineProperties(CloseEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "CloseEvent",
-        configurable: true
-      },
-      reason: kEnumerableProperty,
-      code: kEnumerableProperty,
-      wasClean: kEnumerableProperty
-    });
-    Object.defineProperties(ErrorEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "ErrorEvent",
-        configurable: true
-      },
-      message: kEnumerableProperty,
-      filename: kEnumerableProperty,
-      lineno: kEnumerableProperty,
-      colno: kEnumerableProperty,
-      error: kEnumerableProperty
-    });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
-    );
-    var eventInit = [
-      {
-        key: "bubbles",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "cancelable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "composed",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-    ];
-    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "data",
-        converter: webidl.converters.any,
-        defaultValue: null
-      },
-      {
-        key: "origin",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
-      {
-        key: "lastEventId",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "source",
-        // Node doesn't implement WindowProxy or ServiceWorker, so the only
-        // valid value for source is a MessagePort.
-        converter: webidl.nullableConverter(webidl.converters.MessagePort),
-        defaultValue: null
-      },
-      {
-        key: "ports",
-        converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
         }
       }
-    ]);
-    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "wasClean",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "code",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 0
-      },
-      {
-        key: "reason",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
-      {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
-      },
-      {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
-      },
-      {
-        key: "error",
-        converter: webidl.converters.any
+      set onabort(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].abort) {
+          this.removeEventListener("abort", this[kEvents].abort);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].abort = fn;
+          this.addEventListener("abort", fn);
+        } else {
+          this[kEvents].abort = null;
+        }
       }
-    ]);
+    };
+    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
+    FileReader.LOADING = FileReader.prototype.LOADING = 1;
+    FileReader.DONE = FileReader.prototype.DONE = 2;
+    Object.defineProperties(FileReader.prototype, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors,
+      readAsArrayBuffer: kEnumerableProperty,
+      readAsBinaryString: kEnumerableProperty,
+      readAsText: kEnumerableProperty,
+      readAsDataURL: kEnumerableProperty,
+      abort: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      result: kEnumerableProperty,
+      error: kEnumerableProperty,
+      onloadstart: kEnumerableProperty,
+      onprogress: kEnumerableProperty,
+      onload: kEnumerableProperty,
+      onabort: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onloadend: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FileReader",
+        writable: false,
+        enumerable: false,
+        configurable: true
+      }
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
     module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
+      FileReader
     };
   }
 });
 
-// node_modules/undici/lib/websocket/util.js
-var require_util16 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
     "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants11();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    function isEstablished(ws) {
-      return ws[kReadyState] === states.OPEN;
-    }
-    function isClosing(ws) {
-      return ws[kReadyState] === states.CLOSING;
-    }
-    function isClosed(ws) {
-      return ws[kReadyState] === states.CLOSED;
-    }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
-      }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util11();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
-      }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+    function getFieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (isValidHeaderName(value)) {
+          values.push(value);
         }
       }
-      return true;
-    }
-    function isValidStatusCode(code) {
-      if (code >= 1e3 && code < 1015) {
-        return code !== 1004 && // reserved
-        code !== 1005 && // "MUST NOT be set as a status code"
-        code !== 1006;
-      }
-      return code >= 3e3 && code <= 4999;
-    }
-    function failWebsocketConnection(ws, reason) {
-      const { [kController]: controller, [kResponse]: response } = ws;
-      controller.abort();
-      if (response?.socket && !response.socket.destroyed) {
-        response.socket.destroy();
-      }
-      if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
-        });
-      }
+      return values;
     }
     module2.exports = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      urlEquals,
+      getFieldValues
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants11();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util16();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util14();
+    var { kEnumerableProperty, isDisturbed } = require_util10();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
     var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
-      const requestURL = url;
-      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto2.randomBytes(16).toString("base64");
-      request2.headersList.append("sec-websocket-key", keyValue);
-      request2.headersList.append("sec-websocket-version", "13");
-      for (const protocol of protocols) {
-        request2.headersList.append("sec-websocket-protocol", protocol);
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util11();
+    var assert = require("node:assert");
+    var Cache = class _Cache {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
+       * @type {requestResponseList}
+       */
+      #relevantRequestResponseList;
+      constructor() {
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
+        }
+        webidl.util.markAsUncloneable(this);
+        this.#relevantRequestResponseList = arguments[1];
       }
-      const permessageDeflate = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
-            return;
-          }
-          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
-            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
-            return;
-          }
-          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
-            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
-            return;
-          }
-          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
-          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
-          if (secWSAccept !== digest) {
-            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
-            return;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.match";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        const p = this.#internalMatchAll(request2, options, 1);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
+      }
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.matchAll";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        return this.#internalMatchAll(request2, options);
+      }
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.add";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
+      }
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const responsePromises = [];
+        const requestList = [];
+        for (let request2 of requests) {
+          if (request2 === void 0) {
+            throw webidl.errors.conversionFailed({
+              prefix,
+              argument: "Argument 1",
+              types: ["undefined is not allowed"]
+            });
           }
-          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
+          request2 = webidl.converters.RequestInfo(request2);
+          if (typeof request2 === "string") {
+            continue;
           }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme when method is not GET."
+            });
           }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
+        }
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme."
             });
           }
-          onEstablish(response);
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
         }
-      });
-      return controller;
-    }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
-      }
-    }
-    function onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
-      });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
+        const p = Promise.all(responsePromises);
+        const responses = await p;
+        const operations = [];
+        let index = 0;
+        for (const response of responses) {
+          const operation = {
+            type: "put",
+            // 7.3.2
+            request: requestList[index],
+            // 7.3.3
+            response
+            // 7.3.4
+          };
+          operations.push(operation);
+          index++;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(void 0);
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
-    }
-    module2.exports = {
-      establishWebSocketConnection
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
-    "use strict";
-    var { maxUnsigned16Bit } = require_constants11();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
-      /**
-       * @param {Buffer|undefined} data
-       */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.frameData?.byteLength ?? 0;
-        let payloadLength = bodyLength;
-        let offset = 6;
-        if (bodyLength > maxUnsigned16Bit) {
-          offset += 8;
-          payloadLength = 127;
-        } else if (bodyLength > 125) {
-          offset += 2;
-          payloadLength = 126;
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.put";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        response = webidl.converters.Response(response, prefix, "response");
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
         }
-        const buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Expected an http/s scheme when method is not GET"
+          });
+        }
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Got 206 status"
+          });
         }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: "Got * vary field value"
+              });
+            }
+          }
         }
-        return buffer;
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Response body is locked or disturbed"
+          });
+        }
+        const clonedResponse = cloneResponse(innerResponse);
+        const bodyReadPromise = createDeferredPromise();
+        if (innerResponse.body != null) {
+          const stream = innerResponse.body.stream;
+          const reader = stream.getReader();
+          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+        } else {
+          bodyReadPromise.resolve(void 0);
+        }
+        const operations = [];
+        const operation = {
+          type: "put",
+          // 14.
+          request: innerRequest,
+          // 15.
+          response: clonedResponse
+          // 16.
+        };
+        operations.push(operation);
+        const bytes = await bodyReadPromise.promise;
+        if (clonedResponse.body != null) {
+          clonedResponse.body.source = bytes;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve();
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
+        });
+        return cacheJobPromise.promise;
       }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants11();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util16();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
+          }
+        } else {
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
+        }
+        const operations = [];
+        const operation = {
+          type: "delete",
+          request: r,
+          options
+        };
+        operations.push(operation);
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        let requestResponses;
+        try {
+          requestResponses = this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
+        });
+        return cacheJobPromise.promise;
       }
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {Promise}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
+          }
+        }
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
+          }
+        }
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
+            requestList.push(requestObject);
+          }
+          promise.resolve(Object.freeze(requestList));
+        });
+        return promise.promise;
       }
       /**
-       * Runs whenever a new chunk is received.
-       * Callback is called whenever there are no more chunks buffering,
-       * or not enough bytes are buffered to parse.
+       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
+       * @param {CacheBatchOperation[]} operations
+       * @returns {requestResponseList}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
+      #batchCacheOperations(operations) {
+        const cache = this.#relevantRequestResponseList;
+        const backupCache = [...cache];
+        const addedItems = [];
+        const resultList = [];
+        try {
+          for (const operation of operations) {
+            if (operation.type !== "delete" && operation.type !== "put") {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: 'operation type does not match "delete" or "put"'
+              });
             }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
+            if (operation.type === "delete" && operation.response != null) {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: "delete operation should not have an associated response"
+              });
             }
-            const payloadLength = buffer[1] & 127;
-            if (payloadLength <= 125) {
-              this.#info.payloadLength = payloadLength;
-              this.#state = parserStates.READ_DATA;
-            } else if (payloadLength === 126) {
-              this.#state = parserStates.PAYLOADLENGTH_16;
-            } else if (payloadLength === 127) {
-              this.#state = parserStates.PAYLOADLENGTH_64;
+            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
+              throw new DOMException("???", "InvalidStateError");
             }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
-                return;
+            let requestResponses;
+            if (operation.type === "delete") {
+              requestResponses = this.#queryCache(operation.request, operation.options);
+              if (requestResponses.length === 0) {
+                return [];
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
               }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
-              return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            } else if (operation.type === "put") {
+              if (operation.response == null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "put operation should have an associated response"
+                });
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
+              const r = operation.request;
+              if (!urlIsHttpHttpsScheme(r.url)) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "expected http or https scheme"
+                });
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
+              if (r.method !== "GET") {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "not get method"
                 });
               }
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
+              if (operation.options != null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "options must not be defined"
+                });
               }
+              requestResponses = this.#queryCache(operation.request);
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+              cache.push([operation.request, operation.response]);
+              addedItems.push([operation.request, operation.response]);
             }
-          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.payloadLength = buffer.readUInt16BE(0);
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
-            if (this.#byteOffset < 8) {
-              return callback();
-            }
-            const buffer = this.consume(8);
-            const upper = buffer.readUInt32BE(0);
-            if (upper > 2 ** 31 - 1) {
-              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
-              return;
-            }
-            const lower = buffer.readUInt32BE(4);
-            this.#info.payloadLength = (upper << 8) + lower;
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.READ_DATA) {
-            if (this.#byteOffset < this.#info.payloadLength) {
-              return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
-              }
-              this.#state = parserStates.INFO;
-            }
+            resultList.push([operation.request, operation.response]);
           }
-          if (this.#byteOffset > 0) {
-            continue;
-          } else {
-            callback();
-            break;
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#query-cache
+       * @param {any} requestQuery
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @param {requestResponseList} targetStorage
+       * @returns {requestResponseList}
+       */
+      #queryCache(requestQuery, options, targetStorage) {
+        const resultList = [];
+        const storage = targetStorage ?? this.#relevantRequestResponseList;
+        for (const requestResponse of storage) {
+          const [cachedRequest, cachedResponse] = requestResponse;
+          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
+            resultList.push(requestResponse);
           }
         }
+        return resultList;
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
+       * @param {any} requestQuery
+       * @param {any} request
+       * @param {any | null} response
+       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
+       * @returns {boolean}
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
+        const queryURL = new URL(requestQuery.url);
+        const cachedURL = new URL(request2.url);
+        if (options?.ignoreSearch) {
+          cachedURL.search = "";
+          queryURL.search = "";
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
         }
-        const buffer = Buffer.allocUnsafe(n);
-        let offset = 0;
-        while (offset !== n) {
-          const next = this.#buffers[0];
-          const { length } = next;
-          if (length + offset === n) {
-            buffer.set(this.#buffers.shift(), offset);
-            break;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
-            break;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
+        }
+        const fieldValues = getFieldValues(response.headersList.get("vary"));
+        for (const fieldValue of fieldValues) {
+          if (fieldValue === "*") {
+            return false;
+          }
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
         }
-        this.#byteOffset -= n;
-        return buffer;
+        return true;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
+      #internalMatchAll(request2, options, maxResponses = Infinity) {
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
+          }
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = fromInnerResponse(response, "immutable");
+          responseList.push(responseObject.clone());
+          if (responseList.length >= maxResponses) {
+            break;
+          }
         }
-        return { code, reason };
-      }
-      get closingInfo() {
-        return this.#info.closeInfo;
+        return Object.freeze(responseList);
       }
     };
+    Object.defineProperties(Cache.prototype, {
+      [Symbol.toStringTag]: {
+        value: "Cache",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      matchAll: kEnumerableProperty,
+      add: kEnumerableProperty,
+      addAll: kEnumerableProperty,
+      put: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    var cacheQueryOptionConverters = [
+      {
+        key: "ignoreSearch",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreMethod",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreVary",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      }
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
+      }
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
     module2.exports = {
-      ByteParser
+      Cache
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
     "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants8();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants11();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util16();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util10();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
-    var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
-      #events = {
-        open: null,
-        error: null,
-        close: null,
-        message: null
-      };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+    var { kEnumerableProperty } = require_util10();
+    var CacheStorage = class _CacheStorage {
       /**
-       * @param {string} url
-       * @param {string|string[]} protocols
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
-        let urlRecord;
-        try {
-          urlRecord = new URL(url, baseURL);
-        } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
-        }
-        if (urlRecord.protocol === "http:") {
-          urlRecord.protocol = "ws:";
-        } else if (urlRecord.protocol === "https:") {
-          urlRecord.protocol = "wss:";
-        }
-        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
-        }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+      #caches = /* @__PURE__ */ new Map();
+      constructor() {
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        webidl.util.markAsUncloneable(this);
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
-       */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
-          }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
-          }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          const frame = new WebsocketFrameSend();
-          if (code !== void 0 && reason === void 0) {
-            frame.frameData = Buffer.allocUnsafe(2);
-            frame.frameData.writeUInt16BE(code, 0);
-          } else if (code !== void 0 && reason !== void 0) {
-            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
-            frame.frameData.writeUInt16BE(code, 0);
-            frame.frameData.write(reason, 2, "utf-8");
-          } else {
-            frame.frameData = emptyBuffer;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
-            }
-          });
-          this[kReadyState] = states.CLOSING;
         } else {
-          this[kReadyState] = _WebSocket.CLOSING;
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
-        }
-      }
-      get readyState() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kReadyState];
-      }
-      get bufferedAmount() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#bufferedAmount;
-      }
-      get url() {
-        webidl.brandCheck(this, _WebSocket);
-        return URLSerializer(this[kWebSocketURL]);
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.has(cacheName);
       }
-      get extensions() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#extensions;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.open";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
+        }
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      get protocol() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#protocol;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.delete(cacheName);
       }
-      get onopen() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.open;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {Promise}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
       }
-      set onopen(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.open) {
-          this.removeEventListener("open", this.#events.open);
-        }
-        if (typeof fn === "function") {
-          this.#events.open = fn;
-          this.addEventListener("open", fn);
-        } else {
-          this.#events.open = null;
+    };
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      for (let i = 0; i < value.length; ++i) {
+        const code = value.charCodeAt(i);
+        if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
+          return true;
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.error;
+      return false;
+    }
+    function validateCookieName(name) {
+      for (let i = 0; i < name.length; ++i) {
+        const code = name.charCodeAt(i);
+        if (code < 33 || // exclude CTLs (0-31), SP and HT
+        code > 126 || // exclude non-ascii and DEL
+        code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 60 || // <
+        code === 62 || // >
+        code === 64 || // @
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 58 || // :
+        code === 92 || // \
+        code === 47 || // /
+        code === 91 || // [
+        code === 93 || // ]
+        code === 63 || // ?
+        code === 61 || // =
+        code === 123 || // {
+        code === 125) {
+          throw new Error("Invalid cookie name");
+        }
       }
-      set onerror(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.error) {
-          this.removeEventListener("error", this.#events.error);
+    }
+    function validateCookieValue(value) {
+      let len = value.length;
+      let i = 0;
+      if (value[0] === '"') {
+        if (len === 1 || value[len - 1] !== '"') {
+          throw new Error("Invalid cookie value");
         }
-        if (typeof fn === "function") {
-          this.#events.error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this.#events.error = null;
+        --len;
+        ++i;
+      }
+      while (i < len) {
+        const code = value.charCodeAt(i++);
+        if (code < 33 || // exclude CTLs (0-31)
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
         }
       }
-      get onclose() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.close;
+    }
+    function validateCookiePath(path3) {
+      for (let i = 0; i < path3.length; ++i) {
+        const code = path3.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      set onclose(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.close) {
-          this.removeEventListener("close", this.#events.close);
-        }
-        if (typeof fn === "function") {
-          this.#events.close = fn;
-          this.addEventListener("close", fn);
-        } else {
-          this.#events.close = null;
-        }
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      get onmessage() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.message;
+    }
+    var IMFDays = [
+      "Sun",
+      "Mon",
+      "Tue",
+      "Wed",
+      "Thu",
+      "Fri",
+      "Sat"
+    ];
+    var IMFMonths = [
+      "Jan",
+      "Feb",
+      "Mar",
+      "Apr",
+      "May",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Oct",
+      "Nov",
+      "Dec"
+    ];
+    var IMFPaddedNumbers = Array(61).fill(0).map((_, i) => i.toString().padStart(2, "0"));
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
       }
-      set onmessage(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.message) {
-          this.removeEventListener("message", this.#events.message);
-        }
-        if (typeof fn === "function") {
-          this.#events.message = fn;
-          this.addEventListener("message", fn);
-        } else {
-          this.#events.message = null;
-        }
+      return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`;
+    }
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
-        } else {
-          this[kBinaryType] = type2;
-        }
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-    };
-    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
-    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
-    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
-    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
-    Object.defineProperties(WebSocket.prototype, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors,
-      url: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      bufferedAmount: kEnumerableProperty,
-      onopen: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onclose: kEnumerableProperty,
-      close: kEnumerableProperty,
-      onmessage: kEnumerableProperty,
-      binaryType: kEnumerableProperty,
-      send: kEnumerableProperty,
-      extensions: kEnumerableProperty,
-      protocol: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "WebSocket",
-        writable: false,
-        enumerable: false,
-        configurable: true
+      if (cookie.secure) {
+        out.push("Secure");
       }
-    });
-    Object.defineProperties(WebSocket, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors
-    });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
-      {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
-      },
-      {
-        key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-    ]);
-    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
-        return webidl.converters.WebSocketInit(V);
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      return { protocols: webidl.converters["DOMString or sequence"](V) };
-    };
-    webidl.converters.WebSocketSendData = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
+      }
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
+      }
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
+      }
+      for (const part of cookie.unparsed) {
+        if (!part.includes("=")) {
+          throw new Error("Invalid unparsed");
         }
+        const [key, ...value] = part.split("=");
+        out.push(`${key.trim()}=${value.join("=")}`);
       }
-      return webidl.converters.USVString(V);
-    };
+      return out.join("; ");
+    }
     module2.exports = {
-      WebSocket
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
     };
   }
 });
 
-// node_modules/undici/index.js
-var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
     "use strict";
-    var Client = require_client2();
-    var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
-    var Pool = require_pool2();
-    var BalancedPool = require_balanced_pool2();
-    var Agent = require_agent2();
-    var util = require_util10();
-    var { InvalidArgumentError } = errors;
-    var api = require_api2();
-    var buildConnector = require_connect2();
-    var MockClient = require_mock_client2();
-    var MockAgent = require_mock_agent2();
-    var MockPool = require_mock_pool2();
-    var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
-    var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util15();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
+      }
+      let nameValuePair = "";
+      let unparsedAttributes = "";
+      let name = "";
+      let value = "";
+      if (header.includes(";")) {
+        const position = { position: 0 };
+        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
+        unparsedAttributes = header.slice(position.position);
+      } else {
+        nameValuePair = header;
+      }
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
+        );
+        value = nameValuePair.slice(position.position + 1);
+      }
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
+      }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
+      };
     }
-    Object.assign(Dispatcher.prototype, api);
-    module2.exports.Dispatcher = Dispatcher;
-    module2.exports.Client = Client;
-    module2.exports.Pool = Pool;
-    module2.exports.BalancedPool = BalancedPool;
-    module2.exports.Agent = Agent;
-    module2.exports.ProxyAgent = ProxyAgent;
-    module2.exports.RetryHandler = RetryHandler;
-    module2.exports.DecoratorHandler = DecoratorHandler;
-    module2.exports.RedirectHandler = RedirectHandler;
-    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
-    module2.exports.buildConnector = buildConnector;
-    module2.exports.errors = errors;
-    function makeDispatcher(fn) {
-      return (url, opts, handler2) => {
-        if (typeof opts === "function") {
-          handler2 = opts;
-          opts = null;
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
+      }
+      assert(unparsedAttributes[0] === ";");
+      unparsedAttributes = unparsedAttributes.slice(1);
+      let cookieAv = "";
+      if (unparsedAttributes.includes(";")) {
+        cookieAv = collectASequenceOfCodePointsFast(
+          ";",
+          unparsedAttributes,
+          { position: 0 }
+        );
+        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
+      } else {
+        cookieAv = unparsedAttributes;
+        unparsedAttributes = "";
+      }
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
+      }
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+      }
+      const attributeNameLowercase = attributeName.toLowerCase();
+      if (attributeNameLowercase === "expires") {
+        const expiryTime = new Date(attributeValue);
+        cookieAttributeList.expires = expiryTime;
+      } else if (attributeNameLowercase === "max-age") {
+        const charCode = attributeValue.charCodeAt(0);
+        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-        if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) {
-          throw new InvalidArgumentError("invalid url");
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-        if (opts != null && typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
         }
-        if (opts && opts.path != null) {
-          if (typeof opts.path !== "string") {
-            throw new InvalidArgumentError("invalid opts.path");
-          }
-          let path2 = opts.path;
-          if (!opts.path.startsWith("/")) {
-            path2 = `/${path2}`;
-          }
-          url = new URL(util.parseOrigin(url).origin + path2);
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
         } else {
-          if (!opts) {
-            opts = typeof url === "object" ? url : {};
-          }
-          url = util.parseURL(url);
+          cookiePath = attributeValue;
         }
-        const { agent, dispatcher = getGlobalDispatcher() } = opts;
-        if (agent) {
-          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
+        cookieAttributeList.path = cookiePath;
+      } else if (attributeNameLowercase === "secure") {
+        cookieAttributeList.secure = true;
+      } else if (attributeNameLowercase === "httponly") {
+        cookieAttributeList.httpOnly = true;
+      } else if (attributeNameLowercase === "samesite") {
+        let enforcement = "Default";
+        const attributeValueLowercase = attributeValue.toLowerCase();
+        if (attributeValueLowercase.includes("none")) {
+          enforcement = "None";
         }
-        return fn.call(dispatcher, {
-          ...opts,
-          origin: url.origin,
-          path: url.search ? `${url.pathname}${url.search}` : url.pathname,
-          method: opts.method || (opts.body ? "PUT" : "GET")
-        }, handler2);
-      };
-    }
-    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
-    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
+        if (attributeValueLowercase.includes("strict")) {
+          enforcement = "Strict";
         }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+        if (attributeValueLowercase.includes("lax")) {
+          enforcement = "Lax";
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
+        cookieAttributeList.sameSite = enforcement;
+      } else {
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
+      }
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
     }
-    module2.exports.request = makeDispatcher(api.request);
-    module2.exports.stream = makeDispatcher(api.stream);
-    module2.exports.pipeline = makeDispatcher(api.pipeline);
-    module2.exports.connect = makeDispatcher(api.connect);
-    module2.exports.upgrade = makeDispatcher(api.upgrade);
-    module2.exports.MockClient = MockClient;
-    module2.exports.MockPool = MockPool;
-    module2.exports.MockAgent = MockAgent;
-    module2.exports.mockErrors = mockErrors;
+    module2.exports = {
+      parseSetCookie,
+      parseUnparsedAttributes
+    };
   }
 });
 
-// node_modules/@actions/github/lib/internal/utils.js
-var require_utils4 = __commonJS({
-  "node_modules/@actions/github/lib/internal/utils.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util15();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      return out;
+    }
+    function deleteCookie(headers, name, attributes) {
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
       });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getAuthString = getAuthString;
-    exports2.getProxyAgent = getProxyAgent;
-    exports2.getProxyAgentDispatcher = getProxyAgentDispatcher;
-    exports2.getProxyFetch = getProxyFetch;
-    exports2.getApiBaseUrl = getApiBaseUrl;
-    var httpClient = __importStar2(require_lib());
-    var undici_1 = require_undici2();
-    function getAuthString(token, options) {
-      if (!token && !options.auth) {
-        throw new Error("Parameter token or opts.auth is required");
-      } else if (token && options.auth) {
-        throw new Error("Parameters token and opts.auth may not both be specified");
-      }
-      return typeof options.auth === "string" ? options.auth : `token ${token}`;
     }
-    function getProxyAgent(destinationUrl) {
-      const hc = new httpClient.HttpClient();
-      return hc.getAgent(destinationUrl);
-    }
-    function getProxyAgentDispatcher(destinationUrl) {
-      const hc = new httpClient.HttpClient();
-      return hc.getAgentDispatcher(destinationUrl);
-    }
-    function getProxyFetch(destinationUrl) {
-      const httpDispatcher = getProxyAgentDispatcher(destinationUrl);
-      const proxyFetch = (url, opts) => __awaiter2(this, void 0, void 0, function* () {
-        return (0, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher }));
-      });
-      return proxyFetch;
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
+      }
+      return cookies.map((pair) => parseSetCookie(pair));
     }
-    function getApiBaseUrl() {
-      return process.env["GITHUB_API_URL"] || "https://api.github.com";
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
     }
+    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      }
+    ]);
+    webidl.converters.Cookie = webidl.dictionaryConverter([
+      {
+        converter: webidl.converters.DOMString,
+        key: "name"
+      },
+      {
+        converter: webidl.converters.DOMString,
+        key: "value"
+      },
+      {
+        converter: webidl.nullableConverter((value) => {
+          if (typeof value === "number") {
+            return webidl.converters["unsigned long long"](value);
+          }
+          return new Date(value);
+        }),
+        key: "expires",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters["long long"]),
+        key: "maxAge",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "secure",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "httpOnly",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.converters.USVString,
+        key: "sameSite",
+        allowedValues: ["Strict", "Lax", "None"]
+      },
+      {
+        converter: webidl.sequenceConverter(webidl.converters.DOMString),
+        key: "unparsed",
+        defaultValue: () => new Array(0)
+      }
+    ]);
+    module2.exports = {
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
+    };
   }
 });
 
-// node_modules/@octokit/core/node_modules/universal-user-agent/index.js
-function getUserAgent() {
-  if (typeof navigator === "object" && "userAgent" in navigator) {
-    return navigator.userAgent;
-  }
-  if (typeof process === "object" && process.version !== void 0) {
-    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
-  }
-  return "";
-}
-var init_universal_user_agent = __esm({
-  "node_modules/@octokit/core/node_modules/universal-user-agent/index.js"() {
-  }
-});
-
-// node_modules/before-after-hook/lib/register.js
-function register(state, name, method, options) {
-  if (typeof method !== "function") {
-    throw new Error("method for before hook must be a function");
-  }
-  if (!options) {
-    options = {};
-  }
-  if (Array.isArray(name)) {
-    return name.reverse().reduce((callback, name2) => {
-      return register.bind(null, state, name2, callback, options);
-    }, method)();
-  }
-  return Promise.resolve().then(() => {
-    if (!state.registry[name]) {
-      return method(options);
-    }
-    return state.registry[name].reduce((method2, registered) => {
-      return registered.hook.bind(null, method2, options);
-    }, method)();
-  });
-}
-var init_register = __esm({
-  "node_modules/before-after-hook/lib/register.js"() {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util10();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
+      }
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
+      }
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
+      }
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
+      }
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
+      }
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
+        }
+        return this.#eventInit.ports;
+      }
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, init);
+        messageEvent.#eventInit = init;
+        messageEvent.#eventInit.data ??= null;
+        messageEvent.#eventInit.origin ??= "";
+        messageEvent.#eventInit.lastEventId ??= "";
+        messageEvent.#eventInit.source ??= null;
+        messageEvent.#eventInit.ports ??= [];
+        return messageEvent;
+      }
+    };
+    var { createFastMessageEvent } = MessageEvent;
+    delete MessageEvent.createFastMessageEvent;
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
+      }
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
+      }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
+      }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
+      }
+    };
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
+      }
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
+      }
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
+      }
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
+      }
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
+      }
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
+      }
+    };
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
+      },
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
+      },
+      reason: kEnumerableProperty,
+      code: kEnumerableProperty,
+      wasClean: kEnumerableProperty
+    });
+    Object.defineProperties(ErrorEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "ErrorEvent",
+        configurable: true
+      },
+      message: kEnumerableProperty,
+      filename: kEnumerableProperty,
+      lineno: kEnumerableProperty,
+      colno: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.MessagePort
+    );
+    var eventInit = [
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      }
+    ];
+    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "data",
+        converter: webidl.converters.any,
+        defaultValue: () => null
+      },
+      {
+        key: "origin",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lastEventId",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "source",
+        // Node doesn't implement WindowProxy or ServiceWorker, so the only
+        // valid value for source is a MessagePort.
+        converter: webidl.nullableConverter(webidl.converters.MessagePort),
+        defaultValue: () => null
+      },
+      {
+        key: "ports",
+        converter: webidl.converters["sequence"],
+        defaultValue: () => new Array(0)
+      }
+    ]);
+    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "wasClean",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "code",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 0
+      },
+      {
+        key: "reason",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      }
+    ]);
+    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "message",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "filename",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lineno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "colno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "error",
+        converter: webidl.converters.any
+      }
+    ]);
+    module2.exports = {
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
+    };
   }
 });
 
-// node_modules/before-after-hook/lib/add.js
-function addHook(state, kind, name, hook2) {
-  const orig = hook2;
-  if (!state.registry[name]) {
-    state.registry[name] = [];
-  }
-  if (kind === "before") {
-    hook2 = (method, options) => {
-      return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options));
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
+    "use strict";
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
     };
-  }
-  if (kind === "after") {
-    hook2 = (method, options) => {
-      let result;
-      return Promise.resolve().then(method.bind(null, options)).then((result_) => {
-        result = result_;
-        return orig(result, options);
-      }).then(() => {
-        return result;
-      });
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
     };
-  }
-  if (kind === "error") {
-    hook2 = (method, options) => {
-      return Promise.resolve().then(method.bind(null, options)).catch((error3) => {
-        return orig(error3, options);
-      });
+    var sentCloseFrameState = {
+      NOT_SENT: 0,
+      PROCESSING: 1,
+      SENT: 2
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    var sendHints = {
+      string: 1,
+      typedArray: 2,
+      arrayBuffer: 3,
+      blob: 4
+    };
+    module2.exports = {
+      uid,
+      sentCloseFrameState,
+      staticPropertyDescriptors,
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
     };
-  }
-  state.registry[name].push({
-    hook: hook2,
-    orig
-  });
-}
-var init_add = __esm({
-  "node_modules/before-after-hook/lib/add.js"() {
   }
 });
 
-// node_modules/before-after-hook/lib/remove.js
-function removeHook(state, name, method) {
-  if (!state.registry[name]) {
-    return;
-  }
-  const index = state.registry[name].map((registered) => {
-    return registered.orig;
-  }).indexOf(method);
-  if (index === -1) {
-    return;
-  }
-  state.registry[name].splice(index, 1);
-}
-var init_remove = __esm({
-  "node_modules/before-after-hook/lib/remove.js"() {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
   }
 });
 
-// node_modules/before-after-hook/index.js
-function bindApi(hook2, state, name) {
-  const removeHookRef = bindable(removeHook, null).apply(
-    null,
-    name ? [state, name] : [state]
-  );
-  hook2.api = { remove: removeHookRef };
-  hook2.remove = removeHookRef;
-  ["before", "error", "after", "wrap"].forEach((kind) => {
-    const args = name ? [state, kind, name] : [state, kind];
-    hook2[kind] = hook2.api[kind] = bindable(addHook, null).apply(null, args);
-  });
-}
-function Singular() {
-  const singularHookName = /* @__PURE__ */ Symbol("Singular");
-  const singularHookState = {
-    registry: {}
-  };
-  const singularHook = register.bind(null, singularHookState, singularHookName);
-  bindApi(singularHook, singularHookState, singularHookName);
-  return singularHook;
-}
-function Collection() {
-  const state = {
-    registry: {}
-  };
-  const hook2 = register.bind(null, state);
-  bindApi(hook2, state);
-  return hook2;
-}
-var bind, bindable, before_after_hook_default;
-var init_before_after_hook = __esm({
-  "node_modules/before-after-hook/index.js"() {
-    init_register();
-    init_add();
-    init_remove();
-    bind = Function.bind;
-    bindable = bind.bind(bind);
-    before_after_hook_default = { Singular, Collection };
-  }
-});
-
-// node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js
-function getUserAgent2() {
-  if (typeof navigator === "object" && "userAgent" in navigator) {
-    return navigator.userAgent;
-  }
-  if (typeof process === "object" && process.version !== void 0) {
-    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
-  }
-  return "";
-}
-var init_universal_user_agent2 = __esm({
-  "node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js"() {
-  }
-});
-
-// node_modules/@octokit/endpoint/dist-bundle/index.js
-function lowercaseKeys(object) {
-  if (!object) {
-    return {};
-  }
-  return Object.keys(object).reduce((newObj, key) => {
-    newObj[key.toLowerCase()] = object[key];
-    return newObj;
-  }, {});
-}
-function isPlainObject(value) {
-  if (typeof value !== "object" || value === null) return false;
-  if (Object.prototype.toString.call(value) !== "[object Object]") return false;
-  const proto = Object.getPrototypeOf(value);
-  if (proto === null) return true;
-  const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
-  return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
-}
-function mergeDeep(defaults, options) {
-  const result = Object.assign({}, defaults);
-  Object.keys(options).forEach((key) => {
-    if (isPlainObject(options[key])) {
-      if (!(key in defaults)) Object.assign(result, { [key]: options[key] });
-      else result[key] = mergeDeep(defaults[key], options[key]);
-    } else {
-      Object.assign(result, { [key]: options[key] });
-    }
-  });
-  return result;
-}
-function removeUndefinedProperties(obj) {
-  for (const key in obj) {
-    if (obj[key] === void 0) {
-      delete obj[key];
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
     }
-  }
-  return obj;
-}
-function merge(defaults, route, options) {
-  if (typeof route === "string") {
-    let [method, url] = route.split(" ");
-    options = Object.assign(url ? { method, url } : { url: method }, options);
-  } else {
-    options = Object.assign({}, route);
-  }
-  options.headers = lowercaseKeys(options.headers);
-  removeUndefinedProperties(options);
-  removeUndefinedProperties(options.headers);
-  const mergedOptions = mergeDeep(defaults || {}, options);
-  if (options.url === "/graphql") {
-    if (defaults && defaults.mediaType.previews?.length) {
-      mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
-        (preview) => !mergedOptions.mediaType.previews.includes(preview)
-      ).concat(mergedOptions.mediaType.previews);
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
     }
-    mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
-  }
-  return mergedOptions;
-}
-function addQueryParameters(url, parameters) {
-  const separator = /\?/.test(url) ? "&" : "?";
-  const names = Object.keys(parameters);
-  if (names.length === 0) {
-    return url;
-  }
-  return url + separator + names.map((name) => {
-    if (name === "q") {
-      return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
     }
-    return `${name}=${encodeURIComponent(parameters[name])}`;
-  }).join("&");
-}
-function removeNonChars(variableName) {
-  return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []);
-}
-function omit(object, keysToOmit) {
-  const result = { __proto__: null };
-  for (const key of Object.keys(object)) {
-    if (keysToOmit.indexOf(key) === -1) {
-      result[key] = object[key];
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
     }
-  }
-  return result;
-}
-function encodeReserved(str2) {
-  return str2.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
-    if (!/%[0-9A-Fa-f]/.test(part)) {
-      part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
     }
-    return part;
-  }).join("");
-}
-function encodeUnreserved(str2) {
-  return encodeURIComponent(str2).replace(/[!'()*]/g, function(c) {
-    return "%" + c.charCodeAt(0).toString(16).toUpperCase();
-  });
-}
-function encodeValue(operator, value, key) {
-  value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
-  if (key) {
-    return encodeUnreserved(key) + "=" + value;
-  } else {
-    return value;
-  }
-}
-function isDefined(value) {
-  return value !== void 0 && value !== null;
-}
-function isKeyOperator(operator) {
-  return operator === ";" || operator === "&" || operator === "?";
-}
-function getValues(context2, operator, key, modifier) {
-  var value = context2[key], result = [];
-  if (isDefined(value) && value !== "") {
-    if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
-      value = value.toString();
-      if (modifier && modifier !== "*") {
-        value = value.substring(0, parseInt(modifier, 10));
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      result.push(
-        encodeValue(operator, value, isKeyOperator(operator) ? key : "")
-      );
-    } else {
-      if (modifier === "*") {
-        if (Array.isArray(value)) {
-          value.filter(isDefined).forEach(function(value2) {
-            result.push(
-              encodeValue(operator, value2, isKeyOperator(operator) ? key : "")
-            );
-          });
-        } else {
-          Object.keys(value).forEach(function(k) {
-            if (isDefined(value[k])) {
-              result.push(encodeValue(operator, value[k], k));
-            }
-          });
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
+          return;
         }
-      } else {
-        const tmp = [];
-        if (Array.isArray(value)) {
-          value.filter(isDefined).forEach(function(value2) {
-            tmp.push(encodeValue(operator, value2));
-          });
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          Object.keys(value).forEach(function(k) {
-            if (isDefined(value[k])) {
-              tmp.push(encodeUnreserved(k));
-              tmp.push(encodeValue(operator, value[k].toString()));
-            }
-          });
-        }
-        if (isKeyOperator(operator)) {
-          result.push(encodeUnreserved(key) + "=" + tmp.join(","));
-        } else if (tmp.length !== 0) {
-          result.push(tmp.join(","));
+          dataForEvent = toArrayBuffer(data);
         }
       }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
     }
-  } else {
-    if (operator === ";") {
-      if (isDefined(value)) {
-        result.push(encodeUnreserved(key));
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-    } else if (value === "" && (operator === "&" || operator === "?")) {
-      result.push(encodeUnreserved(key) + "=");
-    } else if (value === "") {
-      result.push("");
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
     }
-  }
-  return result;
-}
-function parseUrl(template) {
-  return {
-    expand: expand.bind(null, template)
-  };
-}
-function expand(template, context2) {
-  var operators = ["+", "#", ".", "/", ";", "?", "&"];
-  template = template.replace(
-    /\{([^\{\}]+)\}|([^\{\}]+)/g,
-    function(_, expression, literal) {
-      if (expression) {
-        let operator = "";
-        const values = [];
-        if (operators.indexOf(expression.charAt(0)) !== -1) {
-          operator = expression.charAt(0);
-          expression = expression.substr(1);
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < protocol.length; ++i) {
+        const code = protocol.charCodeAt(i);
+        if (code < 33 || // CTL, contains SP (0x20) and HT (0x09)
+        code > 126 || code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 44 || // ,
+        code === 47 || // /
+        code === 58 || // :
+        code === 59 || // ;
+        code === 60 || // <
+        code === 61 || // =
+        code === 62 || // >
+        code === 63 || // ?
+        code === 64 || // @
+        code === 91 || // [
+        code === 92 || // \
+        code === 93 || // ]
+        code === 123 || // {
+        code === 125) {
+          return false;
         }
-        expression.split(/,/g).forEach(function(variable) {
-          var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
-          values.push(getValues(context2, operator, tmp[1], tmp[2] || tmp[3]));
+      }
+      return true;
+    }
+    function isValidStatusCode(code) {
+      if (code >= 1e3 && code < 1015) {
+        return code !== 1004 && // reserved
+        code !== 1005 && // "MUST NOT be set as a status code"
+        code !== 1006;
+      }
+      return code >= 3e3 && code <= 4999;
+    }
+    function failWebsocketConnection(ws, reason) {
+      const { [kController]: controller, [kResponse]: response } = ws;
+      controller.abort();
+      if (response?.socket && !response.socket.destroyed) {
+        response.socket.destroy();
+      }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
         });
-        if (operator && operator !== "+") {
-          var separator = ",";
-          if (operator === "?") {
-            separator = "&";
-          } else if (operator !== "#") {
-            separator = operator;
-          }
-          return (values.length !== 0 ? operator : "") + values.join(separator);
-        } else {
-          return values.join(",");
-        }
-      } else {
-        return encodeReserved(literal);
       }
     }
-  );
-  if (template === "/") {
-    return template;
-  } else {
-    return template.replace(/\/$/, "");
-  }
-}
-function parse(options) {
-  let method = options.method.toUpperCase();
-  let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
-  let headers = Object.assign({}, options.headers);
-  let body;
-  let parameters = omit(options, [
-    "method",
-    "baseUrl",
-    "url",
-    "headers",
-    "request",
-    "mediaType"
-  ]);
-  const urlVariableNames = extractUrlVariableNames(url);
-  url = parseUrl(url).expand(parameters);
-  if (!/^http/.test(url)) {
-    url = options.baseUrl + url;
-  }
-  const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
-  const remainingParameters = omit(parameters, omittedParameters);
-  const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
-  if (!isBinaryRequest) {
-    if (options.mediaType.format) {
-      headers.accept = headers.accept.split(/,/).map(
-        (format) => format.replace(
-          /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
-          `application/vnd$1$2.${options.mediaType.format}`
-        )
-      ).join(",");
+    function isControlFrame(opcode) {
+      return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
     }
-    if (url.endsWith("/graphql")) {
-      if (options.mediaType.previews?.length) {
-        const previewsFromAcceptHeader = headers.accept.match(/(? {
-          const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
-          return `application/vnd.github.${preview}-preview${format}`;
-        }).join(",");
+    function isContinuationFrame(opcode) {
+      return opcode === opcodes.CONTINUATION;
+    }
+    function isTextBinaryFrame(opcode) {
+      return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
+    }
+    function isValidOpcode(opcode) {
+      return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
+    }
+    function parseExtensions(extensions) {
+      const position = { position: 0 };
+      const extensionList = /* @__PURE__ */ new Map();
+      while (position.position < extensions.length) {
+        const pair = collectASequenceOfCodePointsFast(";", extensions, position);
+        const [name, value = ""] = pair.split("=");
+        extensionList.set(
+          removeHTTPWhitespace(name, true, false),
+          removeHTTPWhitespace(value, false, true)
+        );
+        position.position++;
       }
+      return extensionList;
     }
-  }
-  if (["GET", "HEAD"].includes(method)) {
-    url = addQueryParameters(url, remainingParameters);
-  } else {
-    if ("data" in remainingParameters) {
-      body = remainingParameters.data;
-    } else {
-      if (Object.keys(remainingParameters).length) {
-        body = remainingParameters;
+    function isValidClientWindowBits(value) {
+      for (let i = 0; i < value.length; i++) {
+        const byte = value.charCodeAt(i);
+        if (byte < 48 || byte > 57) {
+          return false;
+        }
       }
+      return true;
     }
-  }
-  if (!headers["content-type"] && typeof body !== "undefined") {
-    headers["content-type"] = "application/json; charset=utf-8";
-  }
-  if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
-    body = "";
-  }
-  return Object.assign(
-    { method, url, headers },
-    typeof body !== "undefined" ? { body } : null,
-    options.request ? { request: options.request } : null
-  );
-}
-function endpointWithDefaults(defaults, route, options) {
-  return parse(merge(defaults, route, options));
-}
-function withDefaults(oldDefaults, newDefaults) {
-  const DEFAULTS2 = merge(oldDefaults, newDefaults);
-  const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);
-  return Object.assign(endpoint2, {
-    DEFAULTS: DEFAULTS2,
-    defaults: withDefaults.bind(null, DEFAULTS2),
-    merge: merge.bind(null, DEFAULTS2),
-    parse
-  });
-}
-var VERSION, userAgent, DEFAULTS, urlVariableRegex, endpoint;
-var init_dist_bundle = __esm({
-  "node_modules/@octokit/endpoint/dist-bundle/index.js"() {
-    init_universal_user_agent2();
-    VERSION = "0.0.0-development";
-    userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent2()}`;
-    DEFAULTS = {
-      method: "GET",
-      baseUrl: "https://api.github.com",
-      headers: {
-        accept: "application/vnd.github.v3+json",
-        "user-agent": userAgent
-      },
-      mediaType: {
-        format: ""
+    var hasIntl = typeof process.versions.icu === "string";
+    var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0;
+    var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) {
+      if (isUtf8(buffer)) {
+        return buffer.toString("utf-8");
       }
+      throw new TypeError("Invalid utf-8 received.");
+    };
+    module2.exports = {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
-    urlVariableRegex = /\{[^{}}]+\}/g;
-    endpoint = withDefaults(null, DEFAULTS);
-  }
-});
-
-// node_modules/@octokit/request/node_modules/universal-user-agent/index.js
-function getUserAgent3() {
-  if (typeof navigator === "object" && "userAgent" in navigator) {
-    return navigator.userAgent;
-  }
-  if (typeof process === "object" && process.version !== void 0) {
-    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
-  }
-  return "";
-}
-var init_universal_user_agent3 = __esm({
-  "node_modules/@octokit/request/node_modules/universal-user-agent/index.js"() {
   }
 });
 
-// node_modules/fast-content-type-parse/index.js
-var require_fast_content_type_parse = __commonJS({
-  "node_modules/fast-content-type-parse/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var NullObject = function NullObject2() {
-    };
-    NullObject.prototype = /* @__PURE__ */ Object.create(null);
-    var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;
-    var quotedPairRE = /\\([\v\u0020-\u00ff])/gu;
-    var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;
-    var defaultContentType = { type: "", parameters: new NullObject() };
-    Object.freeze(defaultContentType.parameters);
-    Object.freeze(defaultContentType);
-    function parse2(header) {
-      if (typeof header !== "string") {
-        throw new TypeError("argument header is required and must be a string");
-      }
-      let index = header.indexOf(";");
-      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
-      if (mediaTypeRE.test(type2) === false) {
-        throw new TypeError("invalid media type");
-      }
-      const result = {
-        type: type2.toLowerCase(),
-        parameters: new NullObject()
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
+        }
       };
-      if (index === -1) {
-        return result;
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      let key;
-      let match;
-      let value;
-      paramRE.lastIndex = index;
-      while (match = paramRE.exec(header)) {
-        if (match.index !== index) {
-          throw new TypeError("invalid parameter format");
+      return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]];
+    }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+      }
+      createFrame(opcode) {
+        const frameData = this.frameData;
+        const maskKey = generateMask();
+        const bodyLength = frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
         }
-        index += match[0].length;
-        key = match[1].toLowerCase();
-        value = match[2];
-        if (value[0] === '"') {
-          value = value.slice(1, value.length - 1);
-          quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
+        const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
+        buffer2[0] = buffer2[1] = 0;
+        buffer2[0] |= 128;
+        buffer2[0] = (buffer2[0] & 240) + opcode;
+        buffer2[offset - 4] = maskKey[0];
+        buffer2[offset - 3] = maskKey[1];
+        buffer2[offset - 2] = maskKey[2];
+        buffer2[offset - 1] = maskKey[3];
+        buffer2[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer2.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer2[2] = buffer2[3] = 0;
+          buffer2.writeUIntBE(bodyLength, 4, 6);
         }
-        result.parameters[key] = value;
-      }
-      if (index !== header.length) {
-        throw new TypeError("invalid parameter format");
+        buffer2[1] |= 128;
+        for (let i = 0; i < bodyLength; ++i) {
+          buffer2[offset + i] = frameData[i] ^ maskKey[i & 3];
+        }
+        return buffer2;
       }
-      return result;
+    };
+    module2.exports = {
+      WebsocketFrameSend
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
+    "use strict";
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util16();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
+    var { fetching } = require_fetch2();
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util11();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
     }
-    function safeParse2(header) {
-      if (typeof header !== "string") {
-        return defaultContentType;
-      }
-      let index = header.indexOf(";");
-      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
-      if (mediaTypeRE.test(type2) === false) {
-        return defaultContentType;
+    function establishWebSocketConnection(url, protocols, client, ws, onEstablish, options) {
+      const requestURL = url;
+      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        client,
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = getHeadersList(new Headers(options.headers));
+        request2.headersList = headersList;
       }
-      const result = {
-        type: type2.toLowerCase(),
-        parameters: new NullObject()
-      };
-      if (index === -1) {
-        return result;
+      const keyValue = crypto2.randomBytes(16).toString("base64");
+      request2.headersList.append("sec-websocket-key", keyValue);
+      request2.headersList.append("sec-websocket-version", "13");
+      for (const protocol of protocols) {
+        request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      let key;
-      let match;
-      let value;
-      paramRE.lastIndex = index;
-      while (match = paramRE.exec(header)) {
-        if (match.index !== index) {
-          return defaultContentType;
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher,
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
+            return;
+          }
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
+          }
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
+          }
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
+          }
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
+          }
+          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
+          let extensions;
+          if (secExtension !== null) {
+            extensions = parseExtensions(secExtension);
+            if (!extensions.has("permessage-deflate")) {
+              failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match.");
+              return;
+            }
+          }
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null) {
+            const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList);
+            if (!requestProtocols.includes(secProtocol)) {
+              failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+              return;
+            }
+          }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response, extensions);
         }
-        index += match[0].length;
-        key = match[1].toLowerCase();
-        value = match[2];
-        if (value[0] === '"') {
-          value = value.slice(1, value.length - 1);
-          quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
+      });
+      return controller;
+    }
+    function closeWebSocketConnection(ws, code, reason, reasonByteLength) {
+      if (isClosing(ws) || isClosed(ws)) {
+      } else if (!isEstablished(ws)) {
+        failWebsocketConnection(ws, "Connection was closed before it was established.");
+        ws[kReadyState] = states.CLOSING;
+      } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) {
+        ws[kSentClose] = sentCloseFrameState.PROCESSING;
+        const frame = new WebsocketFrameSend();
+        if (code !== void 0 && reason === void 0) {
+          frame.frameData = Buffer.allocUnsafe(2);
+          frame.frameData.writeUInt16BE(code, 0);
+        } else if (code !== void 0 && reason !== void 0) {
+          frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+          frame.frameData.writeUInt16BE(code, 0);
+          frame.frameData.write(reason, 2, "utf-8");
+        } else {
+          frame.frameData = emptyBuffer;
         }
-        result.parameters[key] = value;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      if (index !== header.length) {
-        return defaultContentType;
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
       }
-      return result;
     }
-    module2.exports.default = { parse: parse2, safeParse: safeParse2 };
-    module2.exports.parse = parse2;
-    module2.exports.safeParse = safeParse2;
-    module2.exports.defaultContentType = defaultContentType;
+    function onSocketClose() {
+      const { ws } = this;
+      const { [kResponse]: response } = ws;
+      response.socket.off("data", onSocketData);
+      response.socket.off("close", onSocketClose);
+      response.socket.off("error", onSocketError);
+      const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result && !result.error) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kReceivedClose]) {
+        code = 1006;
+      }
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
+        });
+      }
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
   }
 });
 
-// node_modules/@octokit/request-error/dist-src/index.js
-var RequestError;
-var init_dist_src = __esm({
-  "node_modules/@octokit/request-error/dist-src/index.js"() {
-    RequestError = class extends Error {
-      name;
-      /**
-       * http status code
-       */
-      status;
-      /**
-       * Request options that lead to the error.
-       */
-      request;
-      /**
-       * Response object if a response was received
-       */
-      response;
-      constructor(message, statusCode, options) {
-        super(message, { cause: options.cause });
-        this.name = "HttpError";
-        this.status = Number.parseInt(statusCode);
-        if (Number.isNaN(this.status)) {
-          this.status = 0;
-        }
-        if ("response" in options) {
-          this.response = options.response;
-        }
-        const requestCopy = Object.assign({}, options.request);
-        if (options.request.headers.authorization) {
-          requestCopy.headers = Object.assign({}, options.request.headers, {
-            authorization: options.request.headers.authorization.replace(
-              /(? {
+            this.#inflate[kBuffer].push(data);
+            this.#inflate[kLength] += data.length;
+          });
+          this.#inflate.on("error", (err) => {
+            this.#inflate = null;
+            callback(err);
           });
         }
-        requestCopy.url = requestCopy.url.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]").replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
-        this.request = requestCopy;
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
+        }
+        this.#inflate.flush(() => {
+          const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
+          this.#inflate[kBuffer].length = 0;
+          this.#inflate[kLength] = 0;
+          callback(null, full);
+        });
       }
     };
+    module2.exports = { PerMessageDeflate };
   }
 });
 
-// node_modules/@octokit/request/dist-bundle/index.js
-function isPlainObject2(value) {
-  if (typeof value !== "object" || value === null) return false;
-  if (Object.prototype.toString.call(value) !== "[object Object]") return false;
-  const proto = Object.getPrototypeOf(value);
-  if (proto === null) return true;
-  const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
-  return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
-}
-async function fetchWrapper(requestOptions) {
-  const fetch = requestOptions.request?.fetch || globalThis.fetch;
-  if (!fetch) {
-    throw new Error(
-      "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing"
-    );
-  }
-  const log = requestOptions.request?.log || console;
-  const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;
-  const body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSON.stringify(requestOptions.body) : requestOptions.body;
-  const requestHeaders = Object.fromEntries(
-    Object.entries(requestOptions.headers).map(([name, value]) => [
-      name,
-      String(value)
-    ])
-  );
-  let fetchResponse;
-  try {
-    fetchResponse = await fetch(requestOptions.url, {
-      method: requestOptions.method,
-      body,
-      redirect: requestOptions.request?.redirect,
-      headers: requestHeaders,
-      signal: requestOptions.request?.signal,
-      // duplex must be set if request.body is ReadableStream or Async Iterables.
-      // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
-      ...requestOptions.body && { duplex: "half" }
-    });
-  } catch (error3) {
-    let message = "Unknown Error";
-    if (error3 instanceof Error) {
-      if (error3.name === "AbortError") {
-        error3.status = 500;
-        throw error3;
-      }
-      message = error3.message;
-      if (error3.name === "TypeError" && "cause" in error3) {
-        if (error3.cause instanceof Error) {
-          message = error3.cause.message;
-        } else if (typeof error3.cause === "string") {
-          message = error3.cause;
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
+    "use strict";
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util16();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #loop = false;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      /** @type {Map} */
+      #extensions;
+      constructor(ws, extensions) {
+        super();
+        this.ws = ws;
+        this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
+        if (this.#extensions.has("permessage-deflate")) {
+          this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
         }
       }
-    }
-    const requestError = new RequestError(message, 500, {
-      request: requestOptions
-    });
-    requestError.cause = error3;
-    throw requestError;
-  }
-  const status = fetchResponse.status;
-  const url = fetchResponse.url;
-  const responseHeaders = {};
-  for (const [key, value] of fetchResponse.headers) {
-    responseHeaders[key] = value;
-  }
-  const octokitResponse = {
-    url,
-    status,
-    headers: responseHeaders,
-    data: ""
-  };
-  if ("deprecation" in responseHeaders) {
-    const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/);
-    const deprecationLink = matches && matches.pop();
-    log.warn(
-      `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
-    );
-  }
-  if (status === 204 || status === 205) {
-    return octokitResponse;
-  }
-  if (requestOptions.method === "HEAD") {
-    if (status < 400) {
-      return octokitResponse;
-    }
-    throw new RequestError(fetchResponse.statusText, status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
-  }
-  if (status === 304) {
-    octokitResponse.data = await getResponseData(fetchResponse);
-    throw new RequestError("Not modified", status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
-  }
-  if (status >= 400) {
-    octokitResponse.data = await getResponseData(fetchResponse);
-    throw new RequestError(toErrorMessage(octokitResponse.data), status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
-  }
-  octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;
-  return octokitResponse;
-}
-async function getResponseData(response) {
-  const contentType = response.headers.get("content-type");
-  if (!contentType) {
-    return response.text().catch(noop);
-  }
-  const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType);
-  if (isJSONResponse(mimetype)) {
-    let text = "";
-    try {
-      text = await response.text();
-      return JSON.parse(text);
-    } catch (err) {
-      return text;
-    }
-  } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
-    return response.text().catch(noop);
-  } else {
-    return response.arrayBuffer().catch(
-      /* v8 ignore next -- @preserve */
-      () => new ArrayBuffer(0)
-    );
-  }
-}
-function isJSONResponse(mimetype) {
-  return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
-}
-function toErrorMessage(data) {
-  if (typeof data === "string") {
-    return data;
-  }
-  if (data instanceof ArrayBuffer) {
-    return "Unknown error";
-  }
-  if ("message" in data) {
-    const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
-    return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
-  }
-  return `Unknown error: ${JSON.stringify(data)}`;
-}
-function withDefaults2(oldEndpoint, newDefaults) {
-  const endpoint2 = oldEndpoint.defaults(newDefaults);
-  const newApi = function(route, parameters) {
-    const endpointOptions = endpoint2.merge(route, parameters);
-    if (!endpointOptions.request || !endpointOptions.request.hook) {
-      return fetchWrapper(endpoint2.parse(endpointOptions));
-    }
-    const request2 = (route2, parameters2) => {
-      return fetchWrapper(
-        endpoint2.parse(endpoint2.merge(route2, parameters2))
-      );
-    };
-    Object.assign(request2, {
-      endpoint: endpoint2,
-      defaults: withDefaults2.bind(null, endpoint2)
-    });
-    return endpointOptions.request.hook(request2, endpointOptions);
-  };
-  return Object.assign(newApi, {
-    endpoint: endpoint2,
-    defaults: withDefaults2.bind(null, endpoint2)
-  });
-}
-var import_fast_content_type_parse, VERSION2, defaults_default, noop, request;
-var init_dist_bundle2 = __esm({
-  "node_modules/@octokit/request/dist-bundle/index.js"() {
-    init_dist_bundle();
-    init_universal_user_agent3();
-    import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1);
-    init_dist_src();
-    VERSION2 = "10.0.7";
-    defaults_default = {
-      headers: {
-        "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent3()}`
+      /**
+       * @param {Buffer} chunk
+       * @param {() => void} callback
+       */
+      _write(chunk, _, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        this.#loop = true;
+        this.run(callback);
       }
-    };
-    noop = () => "";
-    request = withDefaults2(endpoint, defaults_default);
-  }
-});
-
-// node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js
-function getUserAgent4() {
-  if (typeof navigator === "object" && "userAgent" in navigator) {
-    return navigator.userAgent;
-  }
-  if (typeof process === "object" && process.version !== void 0) {
-    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
-  }
-  return "";
-}
-var init_universal_user_agent4 = __esm({
-  "node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js"() {
-  }
-});
-
-// node_modules/@octokit/graphql/dist-bundle/index.js
-function _buildMessageForResponseErrors(data) {
-  return `Request failed due to following response errors:
-` + data.errors.map((e) => ` - ${e.message}`).join("\n");
-}
-function graphql(request2, query, options) {
-  if (options) {
-    if (typeof query === "string" && "query" in options) {
-      return Promise.reject(
-        new Error(`[@octokit/graphql] "query" cannot be used as variable name`)
-      );
-    }
-    for (const key in options) {
-      if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;
-      return Promise.reject(
-        new Error(
-          `[@octokit/graphql] "${key}" cannot be used as variable name`
-        )
-      );
-    }
-  }
-  const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
-  const requestOptions = Object.keys(
-    parsedOptions
-  ).reduce((result, key) => {
-    if (NON_VARIABLE_OPTIONS.includes(key)) {
-      result[key] = parsedOptions[key];
-      return result;
-    }
-    if (!result.variables) {
-      result.variables = {};
-    }
-    result.variables[key] = parsedOptions[key];
-    return result;
-  }, {});
-  const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;
-  if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
-    requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
-  }
-  return request2(requestOptions).then((response) => {
-    if (response.data.errors) {
-      const headers = {};
-      for (const key of Object.keys(response.headers)) {
-        headers[key] = response.headers[key];
+      /**
+       * Runs whenever a new chunk is received.
+       * Callback is called whenever there are no more chunks buffering,
+       * or not enough bytes are buffered to parse.
+       */
+      run(callback) {
+        while (this.#loop) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            const fin = (buffer[0] & 128) !== 0;
+            const opcode = buffer[0] & 15;
+            const masked = (buffer[1] & 128) === 128;
+            const fragmented = !fin && opcode !== opcodes.CONTINUATION;
+            const payloadLength = buffer[1] & 127;
+            const rsv1 = buffer[0] & 64;
+            const rsv2 = buffer[0] & 32;
+            const rsv3 = buffer[0] & 16;
+            if (!isValidOpcode(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid opcode received");
+              return callback();
+            }
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
+            }
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.message.length);
+                    return;
+                  }
+                  this.#fragments.push(data);
+                  if (!this.#info.fin) {
+                    this.#state = parserStates.INFO;
+                    this.#loop = true;
+                    this.run(callback);
+                    return;
+                  }
+                  websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments));
+                  this.#loop = true;
+                  this.#state = parserStates.INFO;
+                  this.#fragments.length = 0;
+                  this.run(callback);
+                });
+                this.#loop = false;
+                break;
+              }
+            }
+          }
+        }
       }
-      throw new GraphqlResponseError(
-        requestOptions,
-        headers,
-        response.data
-      );
-    }
-    return response.data.data;
-  });
-}
-function withDefaults3(request2, newDefaults) {
-  const newRequest = request2.defaults(newDefaults);
-  const newApi = (query, options) => {
-    return graphql(newRequest, query, options);
-  };
-  return Object.assign(newApi, {
-    defaults: withDefaults3.bind(null, newRequest),
-    endpoint: newRequest.endpoint
-  });
-}
-function withCustomRequest(customRequest) {
-  return withDefaults3(customRequest, {
-    method: "POST",
-    url: "/graphql"
-  });
-}
-var VERSION3, GraphqlResponseError, NON_VARIABLE_OPTIONS, FORBIDDEN_VARIABLE_OPTIONS, GHES_V3_SUFFIX_REGEX, graphql2;
-var init_dist_bundle3 = __esm({
-  "node_modules/@octokit/graphql/dist-bundle/index.js"() {
-    init_dist_bundle2();
-    init_universal_user_agent4();
-    VERSION3 = "0.0.0-development";
-    GraphqlResponseError = class extends Error {
-      constructor(request2, headers, response) {
-        super(_buildMessageForResponseErrors(response));
-        this.request = request2;
-        this.headers = headers;
-        this.response = response;
-        this.errors = response.errors;
-        this.data = response.data;
-        if (Error.captureStackTrace) {
-          Error.captureStackTrace(this, this.constructor);
+      /**
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
+       */
+      consume(n) {
+        if (n > this.#byteOffset) {
+          throw new Error("Called consume() before buffers satiated.");
+        } else if (n === 0) {
+          return emptyBuffer;
+        }
+        if (this.#buffers[0].length === n) {
+          this.#byteOffset -= this.#buffers[0].length;
+          return this.#buffers.shift();
+        }
+        const buffer = Buffer.allocUnsafe(n);
+        let offset = 0;
+        while (offset !== n) {
+          const next = this.#buffers[0];
+          const { length } = next;
+          if (length + offset === n) {
+            buffer.set(this.#buffers.shift(), offset);
+            break;
+          } else if (length + offset > n) {
+            buffer.set(next.subarray(0, n - offset), offset);
+            this.#buffers[0] = next.subarray(n - offset);
+            break;
+          } else {
+            buffer.set(this.#buffers.shift(), offset);
+            offset += next.length;
+          }
         }
+        this.#byteOffset -= n;
+        return buffer;
       }
-      name = "GraphqlResponseError";
-      errors;
-      data;
-    };
-    NON_VARIABLE_OPTIONS = [
-      "method",
-      "baseUrl",
-      "url",
-      "headers",
-      "request",
-      "query",
-      "mediaType",
-      "operationName"
-    ];
-    FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
-    GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
-    graphql2 = withDefaults3(request, {
-      headers: {
-        "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent4()}`
-      },
-      method: "POST",
-      url: "/graphql"
-    });
-  }
-});
-
-// node_modules/@octokit/auth-token/dist-bundle/index.js
-async function auth(token) {
-  const isApp = isJWT(token);
-  const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
-  const isUserToServer = token.startsWith("ghu_");
-  const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
-  return {
-    type: "token",
-    token,
-    tokenType
-  };
-}
-function withAuthorizationPrefix(token) {
-  if (token.split(/\./).length === 3) {
-    return `bearer ${token}`;
-  }
-  return `token ${token}`;
-}
-async function hook(token, request2, route, parameters) {
-  const endpoint2 = request2.endpoint.merge(
-    route,
-    parameters
-  );
-  endpoint2.headers.authorization = withAuthorizationPrefix(token);
-  return request2(endpoint2);
-}
-var b64url, sep, jwtRE, isJWT, createTokenAuth;
-var init_dist_bundle4 = __esm({
-  "node_modules/@octokit/auth-token/dist-bundle/index.js"() {
-    b64url = "(?:[a-zA-Z0-9_-]+)";
-    sep = "\\.";
-    jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`);
-    isJWT = jwtRE.test.bind(jwtRE);
-    createTokenAuth = function createTokenAuth2(token) {
-      if (!token) {
-        throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
+        }
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
+        }
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
+        }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
+        }
+        return { code, reason, error: false };
       }
-      if (typeof token !== "string") {
-        throw new Error(
-          "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
-        );
+      /**
+       * Parses control frames.
+       * @param {Buffer} body
+       */
+      parseControlFrame(body) {
+        const { opcode, payloadLength } = this.#info;
+        if (opcode === opcodes.CLOSE) {
+          if (payloadLength === 1) {
+            failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+            return false;
+          }
+          this.#info.closeInfo = this.parseCloseBody(body);
+          if (this.#info.closeInfo.error) {
+            const { code, reason } = this.#info.closeInfo;
+            closeWebSocketConnection(this.ws, code, reason, reason.length);
+            failWebsocketConnection(this.ws, reason);
+            return false;
+          }
+          if (this.ws[kSentClose] !== sentCloseFrameState.SENT) {
+            let body2 = emptyBuffer;
+            if (this.#info.closeInfo.code) {
+              body2 = Buffer.allocUnsafe(2);
+              body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+            }
+            const closeFrame = new WebsocketFrameSend(body2);
+            this.ws[kResponse].socket.write(
+              closeFrame.createFrame(opcodes.CLOSE),
+              (err) => {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
+            }
+          }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
+        }
+        return true;
       }
-      token = token.replace(/^(token|bearer) +/i, "");
-      return Object.assign(auth.bind(null, token), {
-        hook: hook.bind(null, token)
-      });
+      get closingInfo() {
+        return this.#info.closeInfo;
+      }
+    };
+    module2.exports = {
+      ByteParser
     };
   }
 });
 
-// node_modules/@octokit/core/dist-src/version.js
-var VERSION4;
-var init_version = __esm({
-  "node_modules/@octokit/core/dist-src/version.js"() {
-    VERSION4 = "7.0.6";
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
+    "use strict";
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    var FastBuffer = Buffer[Symbol.species];
+    var SendQueue = class {
+      /**
+       * @type {FixedQueue}
+       */
+      #queue = new FixedQueue();
+      /**
+       * @type {boolean}
+       */
+      #running = false;
+      /** @type {import('node:net').Socket} */
+      #socket;
+      constructor(socket) {
+        this.#socket = socket;
+      }
+      add(item, cb, hint) {
+        if (hint !== sendHints.blob) {
+          const frame = createFrame(item, hint);
+          if (!this.#running) {
+            this.#socket.write(frame, cb);
+          } else {
+            const node2 = {
+              promise: null,
+              callback: cb,
+              frame
+            };
+            this.#queue.push(node2);
+          }
+          return;
+        }
+        const node = {
+          promise: item.arrayBuffer().then((ab) => {
+            node.promise = null;
+            node.frame = createFrame(ab, hint);
+          }),
+          callback: cb,
+          frame: null
+        };
+        this.#queue.push(node);
+        if (!this.#running) {
+          this.#run();
+        }
+      }
+      async #run() {
+        this.#running = true;
+        const queue = this.#queue;
+        while (!queue.isEmpty()) {
+          const node = queue.shift();
+          if (node.promise !== null) {
+            await node.promise;
+          }
+          this.#socket.write(node.frame, node.callback);
+          node.callback = node.frame = null;
+        }
+        this.#running = false;
+      }
+    };
+    function createFrame(data, hint) {
+      return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY);
+    }
+    function toBuffer(data, hint) {
+      switch (hint) {
+        case sendHints.string:
+          return Buffer.from(data);
+        case sendHints.arrayBuffer:
+        case sendHints.blob:
+          return new FastBuffer(data);
+        case sendHints.typedArray:
+          return new FastBuffer(data.buffer, data.byteOffset, data.byteLength);
+      }
+    }
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/@octokit/core/dist-src/index.js
-var dist_src_exports = {};
-__export(dist_src_exports, {
-  Octokit: () => Octokit
-});
-function createLogger(logger = {}) {
-  if (typeof logger.debug !== "function") {
-    logger.debug = noop2;
-  }
-  if (typeof logger.info !== "function") {
-    logger.info = noop2;
-  }
-  if (typeof logger.warn !== "function") {
-    logger.warn = consoleWarn;
-  }
-  if (typeof logger.error !== "function") {
-    logger.error = consoleError;
-  }
-  return logger;
-}
-var noop2, consoleWarn, consoleError, userAgentTrail, Octokit;
-var init_dist_src2 = __esm({
-  "node_modules/@octokit/core/dist-src/index.js"() {
-    init_universal_user_agent();
-    init_before_after_hook();
-    init_dist_bundle2();
-    init_dist_bundle3();
-    init_dist_bundle4();
-    init_version();
-    noop2 = () => {
-    };
-    consoleWarn = console.warn.bind(console);
-    consoleError = console.error.bind(console);
-    userAgentTrail = `octokit-core.js/${VERSION4} ${getUserAgent()}`;
-    Octokit = class {
-      static VERSION = VERSION4;
-      static defaults(defaults) {
-        const OctokitWithDefaults = class extends this {
-          constructor(...args) {
-            const options = args[0] || {};
-            if (typeof defaults === "function") {
-              super(defaults(options));
-              return;
-            }
-            super(
-              Object.assign(
-                {},
-                defaults,
-                options,
-                options.userAgent && defaults.userAgent ? {
-                  userAgent: `${options.userAgent} ${defaults.userAgent}`
-                } : null
-              )
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util11();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util16();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util10();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
+      };
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url, protocols = []) {
+        super();
+        webidl.util.markAsUncloneable(this);
+        const prefix = "WebSocket constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options");
+        url = webidl.converters.USVString(url, prefix, "url");
+        protocols = options.protocols;
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, baseURL);
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
+        }
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
+        }
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
+        }
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
+        }
+        if (typeof protocols === "string") {
+          protocols = [protocols];
+        }
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        const client = environmentSettingsObject.settingsObject;
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          client,
+          this,
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
+        this[kBinaryType] = "blob";
+      }
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
+       * @param {number|undefined} code
+       * @param {string|undefined} reason
+       */
+      close(code = void 0, reason = void 0) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.close";
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason, prefix, "reason");
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException("invalid code", "InvalidAccessError");
+          }
+        }
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
             );
           }
-        };
-        return OctokitWithDefaults;
+        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
-      static plugins = [];
       /**
-       * Attach a plugin (or many) to your Octokit instance.
-       *
-       * @example
-       * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
        */
-      static plugin(...newPlugins) {
-        const currentPlugins = this.plugins;
-        const NewOctokit = class extends this {
-          static plugins = currentPlugins.concat(
-            newPlugins.filter((plugin) => !currentPlugins.includes(plugin))
-          );
-        };
-        return NewOctokit;
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.send";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        data = webidl.converters.WebSocketSendData(data, prefix, "data");
+        if (isConnecting(this)) {
+          throw new DOMException("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
+          return;
+        }
+        if (typeof data === "string") {
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
+        } else if (types.isArrayBuffer(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
+        } else if (ArrayBuffer.isView(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
+        } else if (isBlobLike(data)) {
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
+        }
       }
-      constructor(options = {}) {
-        const hook2 = new before_after_hook_default.Collection();
-        const requestDefaults = {
-          baseUrl: request.endpoint.DEFAULTS.baseUrl,
-          headers: {},
-          request: Object.assign({}, options.request, {
-            // @ts-ignore internal usage only, no need to type
-            hook: hook2.bind(null, "request")
-          }),
-          mediaType: {
-            previews: [],
-            format: ""
-          }
-        };
-        requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
-        if (options.baseUrl) {
-          requestDefaults.baseUrl = options.baseUrl;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
+      }
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
+      }
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
+      }
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
+      }
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
+      }
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
+      }
+      set onopen(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
         }
-        if (options.previews) {
-          requestDefaults.mediaType.previews = options.previews;
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
         }
-        if (options.timeZone) {
-          requestDefaults.headers["time-zone"] = options.timeZone;
+      }
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
+      }
+      set onerror(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
         }
-        this.request = request.defaults(requestDefaults);
-        this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
-        this.log = createLogger(options.log);
-        this.hook = hook2;
-        if (!options.authStrategy) {
-          if (!options.auth) {
-            this.auth = async () => ({
-              type: "unauthenticated"
-            });
-          } else {
-            const auth2 = createTokenAuth(options.auth);
-            hook2.wrap("request", auth2.hook);
-            this.auth = auth2;
-          }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
         } else {
-          const { authStrategy, ...otherOptions } = options;
-          const auth2 = authStrategy(
-            Object.assign(
-              {
-                request: this.request,
-                log: this.log,
-                // we pass the current octokit instance as well as its constructor options
-                // to allow for authentication strategies that return a new octokit instance
-                // that shares the same internal state as the current one. The original
-                // requirement for this was the "event-octokit" authentication strategy
-                // of https://github.com/probot/octokit-auth-probot.
-                octokit: this,
-                octokitOptions: otherOptions
-              },
-              options.auth
-            )
-          );
-          hook2.wrap("request", auth2.hook);
-          this.auth = auth2;
+          this.#events.error = null;
         }
-        const classConstructor = this.constructor;
-        for (let i = 0; i < classConstructor.plugins.length; ++i) {
-          Object.assign(this, classConstructor.plugins[i](this, options));
+      }
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
+      }
+      set onclose(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.close) {
+          this.removeEventListener("close", this.#events.close);
+        }
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
         }
       }
-      // assigned during constructor
-      request;
-      graphql;
-      log;
-      hook;
-      // TODO: type `octokit.auth` based on passed options.authStrategy
-      auth;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
+      }
+      set onmessage(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
+        }
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
+        }
+      }
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
+      }
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
+      }
+      /**
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
+       */
+      #onConnectionEstablished(response, parsedExtensions) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this, parsedExtensions);
+        parser.on("drain", onParserDrain);
+        parser.on("error", onParserError.bind(this));
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this.#sendQueue = new SendQueue(response.socket);
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
+        }
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
+      }
     };
-  }
-});
-
-// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
-var VERSION5;
-var init_version2 = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js"() {
-    VERSION5 = "17.0.0";
-  }
-});
-
-// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js
-var Endpoints, endpoints_default;
-var init_endpoints = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js"() {
-    Endpoints = {
-      actions: {
-        addCustomLabelsToSelfHostedRunnerForOrg: [
-          "POST /orgs/{org}/actions/runners/{runner_id}/labels"
-        ],
-        addCustomLabelsToSelfHostedRunnerForRepo: [
-          "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
-        ],
-        addRepoAccessToSelfHostedRunnerGroupInOrg: [
-          "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"
-        ],
-        addSelectedRepoToOrgSecret: [
-          "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
-        ],
-        addSelectedRepoToOrgVariable: [
-          "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
-        ],
-        approveWorkflowRun: [
-          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"
-        ],
-        cancelWorkflowRun: [
-          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"
-        ],
-        createEnvironmentVariable: [
-          "POST /repos/{owner}/{repo}/environments/{environment_name}/variables"
-        ],
-        createHostedRunnerForOrg: ["POST /orgs/{org}/actions/hosted-runners"],
-        createOrUpdateEnvironmentSecret: [
-          "PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
-        ],
-        createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"],
-        createOrUpdateRepoSecret: [
-          "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"
-        ],
-        createOrgVariable: ["POST /orgs/{org}/actions/variables"],
-        createRegistrationTokenForOrg: [
-          "POST /orgs/{org}/actions/runners/registration-token"
-        ],
-        createRegistrationTokenForRepo: [
-          "POST /repos/{owner}/{repo}/actions/runners/registration-token"
-        ],
-        createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"],
-        createRemoveTokenForRepo: [
-          "POST /repos/{owner}/{repo}/actions/runners/remove-token"
-        ],
-        createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"],
-        createWorkflowDispatch: [
-          "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"
-        ],
-        deleteActionsCacheById: [
-          "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"
-        ],
-        deleteActionsCacheByKey: [
-          "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"
-        ],
-        deleteArtifact: [
-          "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"
-        ],
-        deleteCustomImageFromOrg: [
-          "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"
-        ],
-        deleteCustomImageVersionFromOrg: [
-          "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"
-        ],
-        deleteEnvironmentSecret: [
-          "DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
-        ],
-        deleteEnvironmentVariable: [
-          "DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
-        ],
-        deleteHostedRunnerForOrg: [
-          "DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
-        ],
-        deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"],
-        deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"],
-        deleteRepoSecret: [
-          "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"
-        ],
-        deleteRepoVariable: [
-          "DELETE /repos/{owner}/{repo}/actions/variables/{name}"
-        ],
-        deleteSelfHostedRunnerFromOrg: [
-          "DELETE /orgs/{org}/actions/runners/{runner_id}"
-        ],
-        deleteSelfHostedRunnerFromRepo: [
-          "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"
-        ],
-        deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],
-        deleteWorkflowRunLogs: [
-          "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
-        ],
-        disableSelectedRepositoryGithubActionsOrganization: [
-          "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"
-        ],
-        disableWorkflow: [
-          "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"
-        ],
-        downloadArtifact: [
-          "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"
-        ],
-        downloadJobLogsForWorkflowRun: [
-          "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"
-        ],
-        downloadWorkflowRunAttemptLogs: [
-          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"
-        ],
-        downloadWorkflowRunLogs: [
-          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
-        ],
-        enableSelectedRepositoryGithubActionsOrganization: [
-          "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"
-        ],
-        enableWorkflow: [
-          "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"
-        ],
-        forceCancelWorkflowRun: [
-          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"
-        ],
-        generateRunnerJitconfigForOrg: [
-          "POST /orgs/{org}/actions/runners/generate-jitconfig"
-        ],
-        generateRunnerJitconfigForRepo: [
-          "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"
-        ],
-        getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"],
-        getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"],
-        getActionsCacheUsageByRepoForOrg: [
-          "GET /orgs/{org}/actions/cache/usage-by-repository"
-        ],
-        getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"],
-        getAllowedActionsOrganization: [
-          "GET /orgs/{org}/actions/permissions/selected-actions"
-        ],
-        getAllowedActionsRepository: [
-          "GET /repos/{owner}/{repo}/actions/permissions/selected-actions"
-        ],
-        getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],
-        getCustomImageForOrg: [
-          "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"
-        ],
-        getCustomImageVersionForOrg: [
-          "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"
-        ],
-        getCustomOidcSubClaimForRepo: [
-          "GET /repos/{owner}/{repo}/actions/oidc/customization/sub"
-        ],
-        getEnvironmentPublicKey: [
-          "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"
-        ],
-        getEnvironmentSecret: [
-          "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
-        ],
-        getEnvironmentVariable: [
-          "GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
-        ],
-        getGithubActionsDefaultWorkflowPermissionsOrganization: [
-          "GET /orgs/{org}/actions/permissions/workflow"
-        ],
-        getGithubActionsDefaultWorkflowPermissionsRepository: [
-          "GET /repos/{owner}/{repo}/actions/permissions/workflow"
-        ],
-        getGithubActionsPermissionsOrganization: [
-          "GET /orgs/{org}/actions/permissions"
-        ],
-        getGithubActionsPermissionsRepository: [
-          "GET /repos/{owner}/{repo}/actions/permissions"
-        ],
-        getHostedRunnerForOrg: [
-          "GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
-        ],
-        getHostedRunnersGithubOwnedImagesForOrg: [
-          "GET /orgs/{org}/actions/hosted-runners/images/github-owned"
-        ],
-        getHostedRunnersLimitsForOrg: [
-          "GET /orgs/{org}/actions/hosted-runners/limits"
-        ],
-        getHostedRunnersMachineSpecsForOrg: [
-          "GET /orgs/{org}/actions/hosted-runners/machine-sizes"
-        ],
-        getHostedRunnersPartnerImagesForOrg: [
-          "GET /orgs/{org}/actions/hosted-runners/images/partner"
-        ],
-        getHostedRunnersPlatformsForOrg: [
-          "GET /orgs/{org}/actions/hosted-runners/platforms"
-        ],
-        getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],
-        getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"],
-        getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"],
-        getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"],
-        getPendingDeploymentsForRun: [
-          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
-        ],
-        getRepoPermissions: [
-          "GET /repos/{owner}/{repo}/actions/permissions",
-          {},
-          { renamed: ["actions", "getGithubActionsPermissionsRepository"] }
-        ],
-        getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"],
-        getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],
-        getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"],
-        getReviewsForRun: [
-          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"
-        ],
-        getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"],
-        getSelfHostedRunnerForRepo: [
-          "GET /repos/{owner}/{repo}/actions/runners/{runner_id}"
-        ],
-        getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],
-        getWorkflowAccessToRepository: [
-          "GET /repos/{owner}/{repo}/actions/permissions/access"
-        ],
-        getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],
-        getWorkflowRunAttempt: [
-          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"
-        ],
-        getWorkflowRunUsage: [
-          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"
-        ],
-        getWorkflowUsage: [
-          "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"
-        ],
-        listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"],
-        listCustomImageVersionsForOrg: [
-          "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions"
-        ],
-        listCustomImagesForOrg: [
-          "GET /orgs/{org}/actions/hosted-runners/images/custom"
-        ],
-        listEnvironmentSecrets: [
-          "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"
-        ],
-        listEnvironmentVariables: [
-          "GET /repos/{owner}/{repo}/environments/{environment_name}/variables"
-        ],
-        listGithubHostedRunnersInGroupForOrg: [
-          "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"
-        ],
-        listHostedRunnersForOrg: ["GET /orgs/{org}/actions/hosted-runners"],
-        listJobsForWorkflowRun: [
-          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"
-        ],
-        listJobsForWorkflowRunAttempt: [
-          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"
-        ],
-        listLabelsForSelfHostedRunnerForOrg: [
-          "GET /orgs/{org}/actions/runners/{runner_id}/labels"
-        ],
-        listLabelsForSelfHostedRunnerForRepo: [
-          "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
-        ],
-        listOrgSecrets: ["GET /orgs/{org}/actions/secrets"],
-        listOrgVariables: ["GET /orgs/{org}/actions/variables"],
-        listRepoOrganizationSecrets: [
-          "GET /repos/{owner}/{repo}/actions/organization-secrets"
-        ],
-        listRepoOrganizationVariables: [
-          "GET /repos/{owner}/{repo}/actions/organization-variables"
-        ],
-        listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"],
-        listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"],
-        listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"],
-        listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"],
-        listRunnerApplicationsForRepo: [
-          "GET /repos/{owner}/{repo}/actions/runners/downloads"
-        ],
-        listSelectedReposForOrgSecret: [
-          "GET /orgs/{org}/actions/secrets/{secret_name}/repositories"
-        ],
-        listSelectedReposForOrgVariable: [
-          "GET /orgs/{org}/actions/variables/{name}/repositories"
-        ],
-        listSelectedRepositoriesEnabledGithubActionsOrganization: [
-          "GET /orgs/{org}/actions/permissions/repositories"
-        ],
-        listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"],
-        listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"],
-        listWorkflowRunArtifacts: [
-          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"
-        ],
-        listWorkflowRuns: [
-          "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"
-        ],
-        listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"],
-        reRunJobForWorkflowRun: [
-          "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"
-        ],
-        reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],
-        reRunWorkflowFailedJobs: [
-          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"
-        ],
-        removeAllCustomLabelsFromSelfHostedRunnerForOrg: [
-          "DELETE /orgs/{org}/actions/runners/{runner_id}/labels"
-        ],
-        removeAllCustomLabelsFromSelfHostedRunnerForRepo: [
-          "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
-        ],
-        removeCustomLabelFromSelfHostedRunnerForOrg: [
-          "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"
-        ],
-        removeCustomLabelFromSelfHostedRunnerForRepo: [
-          "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"
-        ],
-        removeSelectedRepoFromOrgSecret: [
-          "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
-        ],
-        removeSelectedRepoFromOrgVariable: [
-          "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
-        ],
-        reviewCustomGatesForRun: [
-          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"
-        ],
-        reviewPendingDeploymentsForRun: [
-          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
-        ],
-        setAllowedActionsOrganization: [
-          "PUT /orgs/{org}/actions/permissions/selected-actions"
-        ],
-        setAllowedActionsRepository: [
-          "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"
-        ],
-        setCustomLabelsForSelfHostedRunnerForOrg: [
-          "PUT /orgs/{org}/actions/runners/{runner_id}/labels"
-        ],
-        setCustomLabelsForSelfHostedRunnerForRepo: [
-          "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
-        ],
-        setCustomOidcSubClaimForRepo: [
-          "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"
-        ],
-        setGithubActionsDefaultWorkflowPermissionsOrganization: [
-          "PUT /orgs/{org}/actions/permissions/workflow"
-        ],
-        setGithubActionsDefaultWorkflowPermissionsRepository: [
-          "PUT /repos/{owner}/{repo}/actions/permissions/workflow"
-        ],
-        setGithubActionsPermissionsOrganization: [
-          "PUT /orgs/{org}/actions/permissions"
-        ],
-        setGithubActionsPermissionsRepository: [
-          "PUT /repos/{owner}/{repo}/actions/permissions"
-        ],
-        setSelectedReposForOrgSecret: [
-          "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"
-        ],
-        setSelectedReposForOrgVariable: [
-          "PUT /orgs/{org}/actions/variables/{name}/repositories"
-        ],
-        setSelectedRepositoriesEnabledGithubActionsOrganization: [
-          "PUT /orgs/{org}/actions/permissions/repositories"
-        ],
-        setWorkflowAccessToRepository: [
-          "PUT /repos/{owner}/{repo}/actions/permissions/access"
-        ],
-        updateEnvironmentVariable: [
-          "PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
-        ],
-        updateHostedRunnerForOrg: [
-          "PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
-        ],
-        updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"],
-        updateRepoVariable: [
-          "PATCH /repos/{owner}/{repo}/actions/variables/{name}"
-        ]
-      },
-      activity: {
-        checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"],
-        deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"],
-        deleteThreadSubscription: [
-          "DELETE /notifications/threads/{thread_id}/subscription"
-        ],
-        getFeeds: ["GET /feeds"],
-        getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"],
-        getThread: ["GET /notifications/threads/{thread_id}"],
-        getThreadSubscriptionForAuthenticatedUser: [
-          "GET /notifications/threads/{thread_id}/subscription"
-        ],
-        listEventsForAuthenticatedUser: ["GET /users/{username}/events"],
-        listNotificationsForAuthenticatedUser: ["GET /notifications"],
-        listOrgEventsForAuthenticatedUser: [
-          "GET /users/{username}/events/orgs/{org}"
-        ],
-        listPublicEvents: ["GET /events"],
-        listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"],
-        listPublicEventsForUser: ["GET /users/{username}/events/public"],
-        listPublicOrgEvents: ["GET /orgs/{org}/events"],
-        listReceivedEventsForUser: ["GET /users/{username}/received_events"],
-        listReceivedPublicEventsForUser: [
-          "GET /users/{username}/received_events/public"
-        ],
-        listRepoEvents: ["GET /repos/{owner}/{repo}/events"],
-        listRepoNotificationsForAuthenticatedUser: [
-          "GET /repos/{owner}/{repo}/notifications"
-        ],
-        listReposStarredByAuthenticatedUser: ["GET /user/starred"],
-        listReposStarredByUser: ["GET /users/{username}/starred"],
-        listReposWatchedByUser: ["GET /users/{username}/subscriptions"],
-        listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"],
-        listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"],
-        listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"],
-        markNotificationsAsRead: ["PUT /notifications"],
-        markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"],
-        markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"],
-        markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"],
-        setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"],
-        setThreadSubscription: [
-          "PUT /notifications/threads/{thread_id}/subscription"
-        ],
-        starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"],
-        unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"]
+    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
+    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
+    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
+    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
+    Object.defineProperties(WebSocket.prototype, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors,
+      url: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      bufferedAmount: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onclose: kEnumerableProperty,
+      close: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      binaryType: kEnumerableProperty,
+      send: kEnumerableProperty,
+      extensions: kEnumerableProperty,
+      protocol: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
+        configurable: true
+      }
+    });
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
+    });
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
+    );
+    webidl.converters["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
+      }
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+      {
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
-      apps: {
-        addRepoToInstallation: [
-          "PUT /user/installations/{installation_id}/repositories/{repository_id}",
-          {},
-          { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] }
-        ],
-        addRepoToInstallationForAuthenticatedUser: [
-          "PUT /user/installations/{installation_id}/repositories/{repository_id}"
-        ],
-        checkToken: ["POST /applications/{client_id}/token"],
-        createFromManifest: ["POST /app-manifests/{code}/conversions"],
-        createInstallationAccessToken: [
-          "POST /app/installations/{installation_id}/access_tokens"
-        ],
-        deleteAuthorization: ["DELETE /applications/{client_id}/grant"],
-        deleteInstallation: ["DELETE /app/installations/{installation_id}"],
-        deleteToken: ["DELETE /applications/{client_id}/token"],
-        getAuthenticated: ["GET /app"],
-        getBySlug: ["GET /apps/{app_slug}"],
-        getInstallation: ["GET /app/installations/{installation_id}"],
-        getOrgInstallation: ["GET /orgs/{org}/installation"],
-        getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"],
-        getSubscriptionPlanForAccount: [
-          "GET /marketplace_listing/accounts/{account_id}"
-        ],
-        getSubscriptionPlanForAccountStubbed: [
-          "GET /marketplace_listing/stubbed/accounts/{account_id}"
-        ],
-        getUserInstallation: ["GET /users/{username}/installation"],
-        getWebhookConfigForApp: ["GET /app/hook/config"],
-        getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"],
-        listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"],
-        listAccountsForPlanStubbed: [
-          "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"
-        ],
-        listInstallationReposForAuthenticatedUser: [
-          "GET /user/installations/{installation_id}/repositories"
-        ],
-        listInstallationRequestsForAuthenticatedApp: [
-          "GET /app/installation-requests"
-        ],
-        listInstallations: ["GET /app/installations"],
-        listInstallationsForAuthenticatedUser: ["GET /user/installations"],
-        listPlans: ["GET /marketplace_listing/plans"],
-        listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"],
-        listReposAccessibleToInstallation: ["GET /installation/repositories"],
-        listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"],
-        listSubscriptionsForAuthenticatedUserStubbed: [
-          "GET /user/marketplace_purchases/stubbed"
-        ],
-        listWebhookDeliveries: ["GET /app/hook/deliveries"],
-        redeliverWebhookDelivery: [
-          "POST /app/hook/deliveries/{delivery_id}/attempts"
-        ],
-        removeRepoFromInstallation: [
-          "DELETE /user/installations/{installation_id}/repositories/{repository_id}",
-          {},
-          { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] }
-        ],
-        removeRepoFromInstallationForAuthenticatedUser: [
-          "DELETE /user/installations/{installation_id}/repositories/{repository_id}"
-        ],
-        resetToken: ["PATCH /applications/{client_id}/token"],
-        revokeInstallationAccessToken: ["DELETE /installation/token"],
-        scopeToken: ["POST /applications/{client_id}/token/scoped"],
-        suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"],
-        unsuspendInstallation: [
-          "DELETE /app/installations/{installation_id}/suspended"
-        ],
-        updateWebhookConfigForApp: ["PATCH /app/hook/config"]
+      {
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      billing: {
-        getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"],
-        getGithubActionsBillingUser: [
-          "GET /users/{username}/settings/billing/actions"
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+      }
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
+      }
+      return { protocols: webidl.converters["DOMString or sequence"](V) };
+    };
+    webidl.converters.WebSocketSendData = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
+        }
+      }
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
+    }
+    function onParserError(err) {
+      let message;
+      let code;
+      if (err instanceof CloseEvent) {
+        message = err.reason;
+        code = err.code;
+      } else {
+        message = err.message;
+      }
+      fireEvent("error", this, () => new ErrorEvent("error", { error: err, message }));
+      closeWebSocketConnection(this, code);
+    }
+    module2.exports = {
+      WebSocket
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util17 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
+    "use strict";
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
+    }
+    function isASCIINumber(value) {
+      if (value.length === 0) return false;
+      for (let i = 0; i < value.length; i++) {
+        if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false;
+      }
+      return true;
+    }
+    function delay2(ms) {
+      return new Promise((resolve2) => {
+        setTimeout(resolve2, ms).unref();
+      });
+    }
+    module2.exports = {
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util17();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
+      /**
+       * @type {eventSourceSettings}
+       */
+      state = null;
+      /**
+       * Leading byte-order-mark check.
+       * @type {boolean}
+       */
+      checkBOM = true;
+      /**
+       * @type {boolean}
+       */
+      crlfCheck = false;
+      /**
+       * @type {boolean}
+       */
+      eventEndCheck = false;
+      /**
+       * @type {Buffer}
+       */
+      buffer = null;
+      pos = 0;
+      event = {
+        data: void 0,
+        event: void 0,
+        id: void 0,
+        retry: void 0
+      };
+      /**
+       * @param {object} options
+       * @param {eventSourceSettings} options.eventSourceSettings
+       * @param {Function} [options.push]
+       */
+      constructor(options = {}) {
+        options.readableObjectMode = true;
+        super(options);
+        this.state = options.eventSourceSettings || {};
+        if (options.push) {
+          this.push = options.push;
+        }
+      }
+      /**
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
+       */
+      _transform(chunk, _encoding, callback) {
+        if (chunk.length === 0) {
+          callback();
+          return;
+        }
+        if (this.buffer) {
+          this.buffer = Buffer.concat([this.buffer, chunk]);
+        } else {
+          this.buffer = chunk;
+        }
+        if (this.checkBOM) {
+          switch (this.buffer.length) {
+            case 1:
+              if (this.buffer[0] === BOM[0]) {
+                callback();
+                return;
+              }
+              this.checkBOM = false;
+              callback();
+              return;
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
+              }
+              this.checkBOM = false;
+              break;
+            case 3:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = Buffer.alloc(0);
+                this.checkBOM = false;
+                callback();
+                return;
+              }
+              this.checkBOM = false;
+              break;
+            default:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = this.buffer.subarray(3);
+              }
+              this.checkBOM = false;
+              break;
+          }
+        }
+        while (this.pos < this.buffer.length) {
+          if (this.eventEndCheck) {
+            if (this.crlfCheck) {
+              if (this.buffer[this.pos] === LF) {
+                this.buffer = this.buffer.subarray(this.pos + 1);
+                this.pos = 0;
+                this.crlfCheck = false;
+                continue;
+              }
+              this.crlfCheck = false;
+            }
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
+              }
+              this.buffer = this.buffer.subarray(this.pos + 1);
+              this.pos = 0;
+              if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) {
+                this.processEvent(this.event);
+              }
+              this.clearEvent();
+              continue;
+            }
+            this.eventEndCheck = false;
+            continue;
+          }
+          if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+            if (this.buffer[this.pos] === CR) {
+              this.crlfCheck = true;
+            }
+            this.parseLine(this.buffer.subarray(0, this.pos), this.event);
+            this.buffer = this.buffer.subarray(this.pos + 1);
+            this.pos = 0;
+            this.eventEndCheck = true;
+            continue;
+          }
+          this.pos++;
+        }
+        callback();
+      }
+      /**
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
+       */
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
+        }
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
+        }
+        let field = "";
+        let value = "";
+        if (colonPosition !== -1) {
+          field = line.subarray(0, colonPosition).toString("utf8");
+          let valueStart = colonPosition + 1;
+          if (line[valueStart] === SPACE) {
+            ++valueStart;
+          }
+          value = line.subarray(valueStart).toString("utf8");
+        } else {
+          field = line.toString("utf8");
+          value = "";
+        }
+        switch (field) {
+          case "data":
+            if (event[field] === void 0) {
+              event[field] = value;
+            } else {
+              event[field] += `
+${value}`;
+            }
+            break;
+          case "retry":
+            if (isASCIINumber(value)) {
+              event[field] = value;
+            }
+            break;
+          case "id":
+            if (isValidLastEventId(value)) {
+              event[field] = value;
+            }
+            break;
+          case "event":
+            if (value.length > 0) {
+              event[field] = value;
+            }
+            break;
+        }
+      }
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
+        }
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
+        }
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
+        }
+      }
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
+      }
+    };
+    module2.exports = {
+      EventSourceStream
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
+    "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
+    var { webidl } = require_webidl2();
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util17();
+    var { kEnumerableProperty } = require_util10();
+    var { environmentSettingsObject } = require_util11();
+    var experimentalWarned = false;
+    var defaultReconnectionTime = 3e3;
+    var CONNECTING = 0;
+    var OPEN = 1;
+    var CLOSED = 2;
+    var ANONYMOUS = "anonymous";
+    var USE_CREDENTIALS = "use-credentials";
+    var EventSource = class _EventSource extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        message: null
+      };
+      #url = null;
+      #withCredentials = false;
+      #readyState = CONNECTING;
+      #request = null;
+      #controller = null;
+      #dispatcher;
+      /**
+       * @type {import('./eventsource-stream').eventSourceSettings}
+       */
+      #state;
+      /**
+       * Creates a new EventSource object.
+       * @param {string} url
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
+       */
+      constructor(url, eventSourceInitDict = {}) {
+        super();
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
+          });
+        }
+        url = webidl.converters.USVString(url, prefix, "url");
+        eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
+        this.#dispatcher = eventSourceInitDict.dispatcher;
+        this.#state = {
+          lastEventId: "",
+          reconnectionTime: defaultReconnectionTime
+        };
+        const settings = environmentSettingsObject;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
+        }
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
+        }
+        const initRequest = {
+          redirect: "follow",
+          keepalive: true,
+          // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
+          mode: "cors",
+          credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
+          referrer: "no-referrer"
+        };
+        initRequest.client = environmentSettingsObject.settingsObject;
+        initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
+        initRequest.cache = "no-store";
+        initRequest.initiator = "other";
+        initRequest.urlList = [new URL(this.#url)];
+        this.#request = makeRequest(initRequest);
+        this.#connect();
+      }
+      /**
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
+       */
+      get readyState() {
+        return this.#readyState;
+      }
+      /**
+       * Returns the URL providing the event stream.
+       * @readonly
+       * @returns {string}
+       */
+      get url() {
+        return this.#url;
+      }
+      /**
+       * Returns a boolean indicating whether the EventSource object was
+       * instantiated with CORS credentials set (true), or not (false, the default).
+       */
+      get withCredentials() {
+        return this.#withCredentials;
+      }
+      #connect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        const fetchParams = {
+          request: this.#request,
+          dispatcher: this.#dispatcher
+        };
+        const processEventSourceEndOfBody = (response) => {
+          if (isNetworkError(response)) {
+            this.dispatchEvent(new Event("error"));
+            this.close();
+          }
+          this.#reconnect();
+        };
+        fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
+        fetchParams.processResponse = (response) => {
+          if (isNetworkError(response)) {
+            if (response.aborted) {
+              this.close();
+              this.dispatchEvent(new Event("error"));
+              return;
+            } else {
+              this.#reconnect();
+              return;
+            }
+          }
+          const contentType = response.headersList.get("content-type", true);
+          const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
+          const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
+          if (response.status !== 200 || contentTypeValid === false) {
+            this.close();
+            this.dispatchEvent(new Event("error"));
+            return;
+          }
+          this.#readyState = OPEN;
+          this.dispatchEvent(new Event("open"));
+          this.#state.origin = response.urlList[response.urlList.length - 1].origin;
+          const eventSourceStream = new EventSourceStream({
+            eventSourceSettings: this.#state,
+            push: (event) => {
+              this.dispatchEvent(createFastMessageEvent(
+                event.type,
+                event.options
+              ));
+            }
+          });
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
+      }
+      /**
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
+       */
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(this.#state.reconnectionTime);
+        if (this.#readyState !== CONNECTING) return;
+        if (this.#state.lastEventId.length) {
+          this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
+        }
+        this.#connect();
+      }
+      /**
+       * Closes the connection, if any, and sets the readyState attribute to
+       * CLOSED.
+       */
+      close() {
+        webidl.brandCheck(this, _EventSource);
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CLOSED;
+        this.#controller.abort();
+        this.#request = null;
+      }
+      get onopen() {
+        return this.#events.open;
+      }
+      set onopen(fn) {
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
+        }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
+        }
+      }
+      get onmessage() {
+        return this.#events.message;
+      }
+      set onmessage(fn) {
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
+        }
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
+        }
+      }
+      get onerror() {
+        return this.#events.error;
+      }
+      set onerror(fn) {
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
+        }
+      }
+    };
+    var constantsPropertyDescriptors = {
+      CONNECTING: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CONNECTING,
+        writable: false
+      },
+      OPEN: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: OPEN,
+        writable: false
+      },
+      CLOSED: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CLOSED,
+        writable: false
+      }
+    };
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
+      close: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
+    });
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
+      {
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "dispatcher",
+        // undici only
+        converter: webidl.converters.any
+      }
+    ]);
+    module2.exports = {
+      EventSource,
+      defaultReconnectionTime
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/index.js
+var require_undici2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
+    "use strict";
+    var Client = require_client2();
+    var Dispatcher = require_dispatcher2();
+    var Pool = require_pool2();
+    var BalancedPool = require_balanced_pool2();
+    var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
+    var util = require_util10();
+    var { InvalidArgumentError } = errors;
+    var api = require_api2();
+    var buildConnector = require_connect2();
+    var MockClient = require_mock_client2();
+    var MockAgent = require_mock_agent2();
+    var MockPool = require_mock_pool2();
+    var mockErrors = require_mock_errors2();
+    var RetryHandler = require_retry_handler2();
+    var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    Object.assign(Dispatcher.prototype, api);
+    module2.exports.Dispatcher = Dispatcher;
+    module2.exports.Client = Client;
+    module2.exports.Pool = Pool;
+    module2.exports.BalancedPool = BalancedPool;
+    module2.exports.Agent = Agent;
+    module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
+    module2.exports.RetryAgent = RetryAgent;
+    module2.exports.RetryHandler = RetryHandler;
+    module2.exports.DecoratorHandler = DecoratorHandler;
+    module2.exports.RedirectHandler = RedirectHandler;
+    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.interceptors = {
+      redirect: require_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
+    module2.exports.buildConnector = buildConnector;
+    module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
+    function makeDispatcher(fn) {
+      return (url, opts, handler2) => {
+        if (typeof opts === "function") {
+          handler2 = opts;
+          opts = null;
+        }
+        if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) {
+          throw new InvalidArgumentError("invalid url");
+        }
+        if (opts != null && typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (opts && opts.path != null) {
+          if (typeof opts.path !== "string") {
+            throw new InvalidArgumentError("invalid opts.path");
+          }
+          let path3 = opts.path;
+          if (!opts.path.startsWith("/")) {
+            path3 = `/${path3}`;
+          }
+          url = new URL(util.parseOrigin(url).origin + path3);
+        } else {
+          if (!opts) {
+            opts = typeof url === "object" ? url : {};
+          }
+          url = util.parseURL(url);
+        }
+        const { agent, dispatcher = getGlobalDispatcher() } = opts;
+        if (agent) {
+          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
+        }
+        return fn.call(dispatcher, {
+          ...opts,
+          origin: url.origin,
+          path: url.search ? `${url.pathname}${url.search}` : url.pathname,
+          method: opts.method || (opts.body ? "PUT" : "GET")
+        }, handler2);
+      };
+    }
+    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
+    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
+    var fetchImpl = require_fetch2().fetch;
+    module2.exports.fetch = async function fetch(init, options = void 0) {
+      try {
+        return await fetchImpl(init, options);
+      } catch (err) {
+        if (err && typeof err === "object") {
+          Error.captureStackTrace(err);
+        }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().WebSocket;
+    module2.exports.CloseEvent = CloseEvent;
+    module2.exports.ErrorEvent = ErrorEvent;
+    module2.exports.MessageEvent = MessageEvent;
+    module2.exports.request = makeDispatcher(api.request);
+    module2.exports.stream = makeDispatcher(api.stream);
+    module2.exports.pipeline = makeDispatcher(api.pipeline);
+    module2.exports.connect = makeDispatcher(api.connect);
+    module2.exports.upgrade = makeDispatcher(api.upgrade);
+    module2.exports.MockClient = MockClient;
+    module2.exports.MockPool = MockPool;
+    module2.exports.MockAgent = MockAgent;
+    module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
+  }
+});
+
+// node_modules/@actions/github/lib/internal/utils.js
+var require_utils4 = __commonJS({
+  "node_modules/@actions/github/lib/internal/utils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getAuthString = getAuthString;
+    exports2.getProxyAgent = getProxyAgent;
+    exports2.getProxyAgentDispatcher = getProxyAgentDispatcher;
+    exports2.getProxyFetch = getProxyFetch;
+    exports2.getApiBaseUrl = getApiBaseUrl;
+    var httpClient = __importStar2(require_lib());
+    var undici_1 = require_undici2();
+    function getAuthString(token, options) {
+      if (!token && !options.auth) {
+        throw new Error("Parameter token or opts.auth is required");
+      } else if (token && options.auth) {
+        throw new Error("Parameters token and opts.auth may not both be specified");
+      }
+      return typeof options.auth === "string" ? options.auth : `token ${token}`;
+    }
+    function getProxyAgent(destinationUrl) {
+      const hc = new httpClient.HttpClient();
+      return hc.getAgent(destinationUrl);
+    }
+    function getProxyAgentDispatcher(destinationUrl) {
+      const hc = new httpClient.HttpClient();
+      return hc.getAgentDispatcher(destinationUrl);
+    }
+    function getProxyFetch(destinationUrl) {
+      const httpDispatcher = getProxyAgentDispatcher(destinationUrl);
+      const proxyFetch = (url, opts) => __awaiter2(this, void 0, void 0, function* () {
+        return (0, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher }));
+      });
+      return proxyFetch;
+    }
+    function getApiBaseUrl() {
+      return process.env["GITHUB_API_URL"] || "https://api.github.com";
+    }
+  }
+});
+
+// node_modules/@octokit/core/node_modules/universal-user-agent/index.js
+function getUserAgent() {
+  if (typeof navigator === "object" && "userAgent" in navigator) {
+    return navigator.userAgent;
+  }
+  if (typeof process === "object" && process.version !== void 0) {
+    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
+  }
+  return "";
+}
+var init_universal_user_agent = __esm({
+  "node_modules/@octokit/core/node_modules/universal-user-agent/index.js"() {
+  }
+});
+
+// node_modules/before-after-hook/lib/register.js
+function register(state, name, method, options) {
+  if (typeof method !== "function") {
+    throw new Error("method for before hook must be a function");
+  }
+  if (!options) {
+    options = {};
+  }
+  if (Array.isArray(name)) {
+    return name.reverse().reduce((callback, name2) => {
+      return register.bind(null, state, name2, callback, options);
+    }, method)();
+  }
+  return Promise.resolve().then(() => {
+    if (!state.registry[name]) {
+      return method(options);
+    }
+    return state.registry[name].reduce((method2, registered) => {
+      return registered.hook.bind(null, method2, options);
+    }, method)();
+  });
+}
+var init_register = __esm({
+  "node_modules/before-after-hook/lib/register.js"() {
+  }
+});
+
+// node_modules/before-after-hook/lib/add.js
+function addHook(state, kind, name, hook2) {
+  const orig = hook2;
+  if (!state.registry[name]) {
+    state.registry[name] = [];
+  }
+  if (kind === "before") {
+    hook2 = (method, options) => {
+      return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options));
+    };
+  }
+  if (kind === "after") {
+    hook2 = (method, options) => {
+      let result;
+      return Promise.resolve().then(method.bind(null, options)).then((result_) => {
+        result = result_;
+        return orig(result, options);
+      }).then(() => {
+        return result;
+      });
+    };
+  }
+  if (kind === "error") {
+    hook2 = (method, options) => {
+      return Promise.resolve().then(method.bind(null, options)).catch((error3) => {
+        return orig(error3, options);
+      });
+    };
+  }
+  state.registry[name].push({
+    hook: hook2,
+    orig
+  });
+}
+var init_add = __esm({
+  "node_modules/before-after-hook/lib/add.js"() {
+  }
+});
+
+// node_modules/before-after-hook/lib/remove.js
+function removeHook(state, name, method) {
+  if (!state.registry[name]) {
+    return;
+  }
+  const index = state.registry[name].map((registered) => {
+    return registered.orig;
+  }).indexOf(method);
+  if (index === -1) {
+    return;
+  }
+  state.registry[name].splice(index, 1);
+}
+var init_remove = __esm({
+  "node_modules/before-after-hook/lib/remove.js"() {
+  }
+});
+
+// node_modules/before-after-hook/index.js
+function bindApi(hook2, state, name) {
+  const removeHookRef = bindable(removeHook, null).apply(
+    null,
+    name ? [state, name] : [state]
+  );
+  hook2.api = { remove: removeHookRef };
+  hook2.remove = removeHookRef;
+  ["before", "error", "after", "wrap"].forEach((kind) => {
+    const args = name ? [state, kind, name] : [state, kind];
+    hook2[kind] = hook2.api[kind] = bindable(addHook, null).apply(null, args);
+  });
+}
+function Singular() {
+  const singularHookName = /* @__PURE__ */ Symbol("Singular");
+  const singularHookState = {
+    registry: {}
+  };
+  const singularHook = register.bind(null, singularHookState, singularHookName);
+  bindApi(singularHook, singularHookState, singularHookName);
+  return singularHook;
+}
+function Collection() {
+  const state = {
+    registry: {}
+  };
+  const hook2 = register.bind(null, state);
+  bindApi(hook2, state);
+  return hook2;
+}
+var bind, bindable, before_after_hook_default;
+var init_before_after_hook = __esm({
+  "node_modules/before-after-hook/index.js"() {
+    init_register();
+    init_add();
+    init_remove();
+    bind = Function.bind;
+    bindable = bind.bind(bind);
+    before_after_hook_default = { Singular, Collection };
+  }
+});
+
+// node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js
+function getUserAgent2() {
+  if (typeof navigator === "object" && "userAgent" in navigator) {
+    return navigator.userAgent;
+  }
+  if (typeof process === "object" && process.version !== void 0) {
+    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
+  }
+  return "";
+}
+var init_universal_user_agent2 = __esm({
+  "node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js"() {
+  }
+});
+
+// node_modules/@octokit/endpoint/dist-bundle/index.js
+function lowercaseKeys(object) {
+  if (!object) {
+    return {};
+  }
+  return Object.keys(object).reduce((newObj, key) => {
+    newObj[key.toLowerCase()] = object[key];
+    return newObj;
+  }, {});
+}
+function isPlainObject(value) {
+  if (typeof value !== "object" || value === null) return false;
+  if (Object.prototype.toString.call(value) !== "[object Object]") return false;
+  const proto = Object.getPrototypeOf(value);
+  if (proto === null) return true;
+  const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
+  return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
+}
+function mergeDeep(defaults, options) {
+  const result = Object.assign({}, defaults);
+  Object.keys(options).forEach((key) => {
+    if (isPlainObject(options[key])) {
+      if (!(key in defaults)) Object.assign(result, { [key]: options[key] });
+      else result[key] = mergeDeep(defaults[key], options[key]);
+    } else {
+      Object.assign(result, { [key]: options[key] });
+    }
+  });
+  return result;
+}
+function removeUndefinedProperties(obj) {
+  for (const key in obj) {
+    if (obj[key] === void 0) {
+      delete obj[key];
+    }
+  }
+  return obj;
+}
+function merge(defaults, route, options) {
+  if (typeof route === "string") {
+    let [method, url] = route.split(" ");
+    options = Object.assign(url ? { method, url } : { url: method }, options);
+  } else {
+    options = Object.assign({}, route);
+  }
+  options.headers = lowercaseKeys(options.headers);
+  removeUndefinedProperties(options);
+  removeUndefinedProperties(options.headers);
+  const mergedOptions = mergeDeep(defaults || {}, options);
+  if (options.url === "/graphql") {
+    if (defaults && defaults.mediaType.previews?.length) {
+      mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
+        (preview) => !mergedOptions.mediaType.previews.includes(preview)
+      ).concat(mergedOptions.mediaType.previews);
+    }
+    mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
+  }
+  return mergedOptions;
+}
+function addQueryParameters(url, parameters) {
+  const separator = /\?/.test(url) ? "&" : "?";
+  const names = Object.keys(parameters);
+  if (names.length === 0) {
+    return url;
+  }
+  return url + separator + names.map((name) => {
+    if (name === "q") {
+      return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
+    }
+    return `${name}=${encodeURIComponent(parameters[name])}`;
+  }).join("&");
+}
+function removeNonChars(variableName) {
+  return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []);
+}
+function omit(object, keysToOmit) {
+  const result = { __proto__: null };
+  for (const key of Object.keys(object)) {
+    if (keysToOmit.indexOf(key) === -1) {
+      result[key] = object[key];
+    }
+  }
+  return result;
+}
+function encodeReserved(str2) {
+  return str2.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
+    if (!/%[0-9A-Fa-f]/.test(part)) {
+      part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
+    }
+    return part;
+  }).join("");
+}
+function encodeUnreserved(str2) {
+  return encodeURIComponent(str2).replace(/[!'()*]/g, function(c) {
+    return "%" + c.charCodeAt(0).toString(16).toUpperCase();
+  });
+}
+function encodeValue(operator, value, key) {
+  value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
+  if (key) {
+    return encodeUnreserved(key) + "=" + value;
+  } else {
+    return value;
+  }
+}
+function isDefined(value) {
+  return value !== void 0 && value !== null;
+}
+function isKeyOperator(operator) {
+  return operator === ";" || operator === "&" || operator === "?";
+}
+function getValues(context2, operator, key, modifier) {
+  var value = context2[key], result = [];
+  if (isDefined(value) && value !== "") {
+    if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
+      value = value.toString();
+      if (modifier && modifier !== "*") {
+        value = value.substring(0, parseInt(modifier, 10));
+      }
+      result.push(
+        encodeValue(operator, value, isKeyOperator(operator) ? key : "")
+      );
+    } else {
+      if (modifier === "*") {
+        if (Array.isArray(value)) {
+          value.filter(isDefined).forEach(function(value2) {
+            result.push(
+              encodeValue(operator, value2, isKeyOperator(operator) ? key : "")
+            );
+          });
+        } else {
+          Object.keys(value).forEach(function(k) {
+            if (isDefined(value[k])) {
+              result.push(encodeValue(operator, value[k], k));
+            }
+          });
+        }
+      } else {
+        const tmp = [];
+        if (Array.isArray(value)) {
+          value.filter(isDefined).forEach(function(value2) {
+            tmp.push(encodeValue(operator, value2));
+          });
+        } else {
+          Object.keys(value).forEach(function(k) {
+            if (isDefined(value[k])) {
+              tmp.push(encodeUnreserved(k));
+              tmp.push(encodeValue(operator, value[k].toString()));
+            }
+          });
+        }
+        if (isKeyOperator(operator)) {
+          result.push(encodeUnreserved(key) + "=" + tmp.join(","));
+        } else if (tmp.length !== 0) {
+          result.push(tmp.join(","));
+        }
+      }
+    }
+  } else {
+    if (operator === ";") {
+      if (isDefined(value)) {
+        result.push(encodeUnreserved(key));
+      }
+    } else if (value === "" && (operator === "&" || operator === "?")) {
+      result.push(encodeUnreserved(key) + "=");
+    } else if (value === "") {
+      result.push("");
+    }
+  }
+  return result;
+}
+function parseUrl(template) {
+  return {
+    expand: expand.bind(null, template)
+  };
+}
+function expand(template, context2) {
+  var operators = ["+", "#", ".", "/", ";", "?", "&"];
+  template = template.replace(
+    /\{([^\{\}]+)\}|([^\{\}]+)/g,
+    function(_, expression, literal) {
+      if (expression) {
+        let operator = "";
+        const values = [];
+        if (operators.indexOf(expression.charAt(0)) !== -1) {
+          operator = expression.charAt(0);
+          expression = expression.substr(1);
+        }
+        expression.split(/,/g).forEach(function(variable) {
+          var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
+          values.push(getValues(context2, operator, tmp[1], tmp[2] || tmp[3]));
+        });
+        if (operator && operator !== "+") {
+          var separator = ",";
+          if (operator === "?") {
+            separator = "&";
+          } else if (operator !== "#") {
+            separator = operator;
+          }
+          return (values.length !== 0 ? operator : "") + values.join(separator);
+        } else {
+          return values.join(",");
+        }
+      } else {
+        return encodeReserved(literal);
+      }
+    }
+  );
+  if (template === "/") {
+    return template;
+  } else {
+    return template.replace(/\/$/, "");
+  }
+}
+function parse(options) {
+  let method = options.method.toUpperCase();
+  let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
+  let headers = Object.assign({}, options.headers);
+  let body;
+  let parameters = omit(options, [
+    "method",
+    "baseUrl",
+    "url",
+    "headers",
+    "request",
+    "mediaType"
+  ]);
+  const urlVariableNames = extractUrlVariableNames(url);
+  url = parseUrl(url).expand(parameters);
+  if (!/^http/.test(url)) {
+    url = options.baseUrl + url;
+  }
+  const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
+  const remainingParameters = omit(parameters, omittedParameters);
+  const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
+  if (!isBinaryRequest) {
+    if (options.mediaType.format) {
+      headers.accept = headers.accept.split(/,/).map(
+        (format) => format.replace(
+          /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
+          `application/vnd$1$2.${options.mediaType.format}`
+        )
+      ).join(",");
+    }
+    if (url.endsWith("/graphql")) {
+      if (options.mediaType.previews?.length) {
+        const previewsFromAcceptHeader = headers.accept.match(/(? {
+          const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
+          return `application/vnd.github.${preview}-preview${format}`;
+        }).join(",");
+      }
+    }
+  }
+  if (["GET", "HEAD"].includes(method)) {
+    url = addQueryParameters(url, remainingParameters);
+  } else {
+    if ("data" in remainingParameters) {
+      body = remainingParameters.data;
+    } else {
+      if (Object.keys(remainingParameters).length) {
+        body = remainingParameters;
+      }
+    }
+  }
+  if (!headers["content-type"] && typeof body !== "undefined") {
+    headers["content-type"] = "application/json; charset=utf-8";
+  }
+  if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
+    body = "";
+  }
+  return Object.assign(
+    { method, url, headers },
+    typeof body !== "undefined" ? { body } : null,
+    options.request ? { request: options.request } : null
+  );
+}
+function endpointWithDefaults(defaults, route, options) {
+  return parse(merge(defaults, route, options));
+}
+function withDefaults(oldDefaults, newDefaults) {
+  const DEFAULTS2 = merge(oldDefaults, newDefaults);
+  const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);
+  return Object.assign(endpoint2, {
+    DEFAULTS: DEFAULTS2,
+    defaults: withDefaults.bind(null, DEFAULTS2),
+    merge: merge.bind(null, DEFAULTS2),
+    parse
+  });
+}
+var VERSION, userAgent, DEFAULTS, urlVariableRegex, endpoint;
+var init_dist_bundle = __esm({
+  "node_modules/@octokit/endpoint/dist-bundle/index.js"() {
+    init_universal_user_agent2();
+    VERSION = "0.0.0-development";
+    userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent2()}`;
+    DEFAULTS = {
+      method: "GET",
+      baseUrl: "https://api.github.com",
+      headers: {
+        accept: "application/vnd.github.v3+json",
+        "user-agent": userAgent
+      },
+      mediaType: {
+        format: ""
+      }
+    };
+    urlVariableRegex = /\{[^{}}]+\}/g;
+    endpoint = withDefaults(null, DEFAULTS);
+  }
+});
+
+// node_modules/@octokit/request/node_modules/universal-user-agent/index.js
+function getUserAgent3() {
+  if (typeof navigator === "object" && "userAgent" in navigator) {
+    return navigator.userAgent;
+  }
+  if (typeof process === "object" && process.version !== void 0) {
+    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
+  }
+  return "";
+}
+var init_universal_user_agent3 = __esm({
+  "node_modules/@octokit/request/node_modules/universal-user-agent/index.js"() {
+  }
+});
+
+// node_modules/fast-content-type-parse/index.js
+var require_fast_content_type_parse = __commonJS({
+  "node_modules/fast-content-type-parse/index.js"(exports2, module2) {
+    "use strict";
+    var NullObject = function NullObject2() {
+    };
+    NullObject.prototype = /* @__PURE__ */ Object.create(null);
+    var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;
+    var quotedPairRE = /\\([\v\u0020-\u00ff])/gu;
+    var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;
+    var defaultContentType = { type: "", parameters: new NullObject() };
+    Object.freeze(defaultContentType.parameters);
+    Object.freeze(defaultContentType);
+    function parse2(header) {
+      if (typeof header !== "string") {
+        throw new TypeError("argument header is required and must be a string");
+      }
+      let index = header.indexOf(";");
+      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
+      if (mediaTypeRE.test(type2) === false) {
+        throw new TypeError("invalid media type");
+      }
+      const result = {
+        type: type2.toLowerCase(),
+        parameters: new NullObject()
+      };
+      if (index === -1) {
+        return result;
+      }
+      let key;
+      let match;
+      let value;
+      paramRE.lastIndex = index;
+      while (match = paramRE.exec(header)) {
+        if (match.index !== index) {
+          throw new TypeError("invalid parameter format");
+        }
+        index += match[0].length;
+        key = match[1].toLowerCase();
+        value = match[2];
+        if (value[0] === '"') {
+          value = value.slice(1, value.length - 1);
+          quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
+        }
+        result.parameters[key] = value;
+      }
+      if (index !== header.length) {
+        throw new TypeError("invalid parameter format");
+      }
+      return result;
+    }
+    function safeParse2(header) {
+      if (typeof header !== "string") {
+        return defaultContentType;
+      }
+      let index = header.indexOf(";");
+      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
+      if (mediaTypeRE.test(type2) === false) {
+        return defaultContentType;
+      }
+      const result = {
+        type: type2.toLowerCase(),
+        parameters: new NullObject()
+      };
+      if (index === -1) {
+        return result;
+      }
+      let key;
+      let match;
+      let value;
+      paramRE.lastIndex = index;
+      while (match = paramRE.exec(header)) {
+        if (match.index !== index) {
+          return defaultContentType;
+        }
+        index += match[0].length;
+        key = match[1].toLowerCase();
+        value = match[2];
+        if (value[0] === '"') {
+          value = value.slice(1, value.length - 1);
+          quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
+        }
+        result.parameters[key] = value;
+      }
+      if (index !== header.length) {
+        return defaultContentType;
+      }
+      return result;
+    }
+    module2.exports.default = { parse: parse2, safeParse: safeParse2 };
+    module2.exports.parse = parse2;
+    module2.exports.safeParse = safeParse2;
+    module2.exports.defaultContentType = defaultContentType;
+  }
+});
+
+// node_modules/@octokit/request-error/dist-src/index.js
+var RequestError;
+var init_dist_src = __esm({
+  "node_modules/@octokit/request-error/dist-src/index.js"() {
+    RequestError = class extends Error {
+      name;
+      /**
+       * http status code
+       */
+      status;
+      /**
+       * Request options that lead to the error.
+       */
+      request;
+      /**
+       * Response object if a response was received
+       */
+      response;
+      constructor(message, statusCode, options) {
+        super(message, { cause: options.cause });
+        this.name = "HttpError";
+        this.status = Number.parseInt(statusCode);
+        if (Number.isNaN(this.status)) {
+          this.status = 0;
+        }
+        if ("response" in options) {
+          this.response = options.response;
+        }
+        const requestCopy = Object.assign({}, options.request);
+        if (options.request.headers.authorization) {
+          requestCopy.headers = Object.assign({}, options.request.headers, {
+            authorization: options.request.headers.authorization.replace(
+              /(? [
+      name,
+      String(value)
+    ])
+  );
+  let fetchResponse;
+  try {
+    fetchResponse = await fetch(requestOptions.url, {
+      method: requestOptions.method,
+      body,
+      redirect: requestOptions.request?.redirect,
+      headers: requestHeaders,
+      signal: requestOptions.request?.signal,
+      // duplex must be set if request.body is ReadableStream or Async Iterables.
+      // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
+      ...requestOptions.body && { duplex: "half" }
+    });
+  } catch (error3) {
+    let message = "Unknown Error";
+    if (error3 instanceof Error) {
+      if (error3.name === "AbortError") {
+        error3.status = 500;
+        throw error3;
+      }
+      message = error3.message;
+      if (error3.name === "TypeError" && "cause" in error3) {
+        if (error3.cause instanceof Error) {
+          message = error3.cause.message;
+        } else if (typeof error3.cause === "string") {
+          message = error3.cause;
+        }
+      }
+    }
+    const requestError = new RequestError(message, 500, {
+      request: requestOptions
+    });
+    requestError.cause = error3;
+    throw requestError;
+  }
+  const status = fetchResponse.status;
+  const url = fetchResponse.url;
+  const responseHeaders = {};
+  for (const [key, value] of fetchResponse.headers) {
+    responseHeaders[key] = value;
+  }
+  const octokitResponse = {
+    url,
+    status,
+    headers: responseHeaders,
+    data: ""
+  };
+  if ("deprecation" in responseHeaders) {
+    const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/);
+    const deprecationLink = matches && matches.pop();
+    log.warn(
+      `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
+    );
+  }
+  if (status === 204 || status === 205) {
+    return octokitResponse;
+  }
+  if (requestOptions.method === "HEAD") {
+    if (status < 400) {
+      return octokitResponse;
+    }
+    throw new RequestError(fetchResponse.statusText, status, {
+      response: octokitResponse,
+      request: requestOptions
+    });
+  }
+  if (status === 304) {
+    octokitResponse.data = await getResponseData(fetchResponse);
+    throw new RequestError("Not modified", status, {
+      response: octokitResponse,
+      request: requestOptions
+    });
+  }
+  if (status >= 400) {
+    octokitResponse.data = await getResponseData(fetchResponse);
+    throw new RequestError(toErrorMessage(octokitResponse.data), status, {
+      response: octokitResponse,
+      request: requestOptions
+    });
+  }
+  octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;
+  return octokitResponse;
+}
+async function getResponseData(response) {
+  const contentType = response.headers.get("content-type");
+  if (!contentType) {
+    return response.text().catch(noop);
+  }
+  const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType);
+  if (isJSONResponse(mimetype)) {
+    let text = "";
+    try {
+      text = await response.text();
+      return JSON.parse(text);
+    } catch (err) {
+      return text;
+    }
+  } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
+    return response.text().catch(noop);
+  } else {
+    return response.arrayBuffer().catch(
+      /* v8 ignore next -- @preserve */
+      () => new ArrayBuffer(0)
+    );
+  }
+}
+function isJSONResponse(mimetype) {
+  return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
+}
+function toErrorMessage(data) {
+  if (typeof data === "string") {
+    return data;
+  }
+  if (data instanceof ArrayBuffer) {
+    return "Unknown error";
+  }
+  if ("message" in data) {
+    const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
+    return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
+  }
+  return `Unknown error: ${JSON.stringify(data)}`;
+}
+function withDefaults2(oldEndpoint, newDefaults) {
+  const endpoint2 = oldEndpoint.defaults(newDefaults);
+  const newApi = function(route, parameters) {
+    const endpointOptions = endpoint2.merge(route, parameters);
+    if (!endpointOptions.request || !endpointOptions.request.hook) {
+      return fetchWrapper(endpoint2.parse(endpointOptions));
+    }
+    const request2 = (route2, parameters2) => {
+      return fetchWrapper(
+        endpoint2.parse(endpoint2.merge(route2, parameters2))
+      );
+    };
+    Object.assign(request2, {
+      endpoint: endpoint2,
+      defaults: withDefaults2.bind(null, endpoint2)
+    });
+    return endpointOptions.request.hook(request2, endpointOptions);
+  };
+  return Object.assign(newApi, {
+    endpoint: endpoint2,
+    defaults: withDefaults2.bind(null, endpoint2)
+  });
+}
+var import_fast_content_type_parse, VERSION2, defaults_default, noop, request;
+var init_dist_bundle2 = __esm({
+  "node_modules/@octokit/request/dist-bundle/index.js"() {
+    init_dist_bundle();
+    init_universal_user_agent3();
+    import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1);
+    init_dist_src();
+    VERSION2 = "10.0.7";
+    defaults_default = {
+      headers: {
+        "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent3()}`
+      }
+    };
+    noop = () => "";
+    request = withDefaults2(endpoint, defaults_default);
+  }
+});
+
+// node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js
+function getUserAgent4() {
+  if (typeof navigator === "object" && "userAgent" in navigator) {
+    return navigator.userAgent;
+  }
+  if (typeof process === "object" && process.version !== void 0) {
+    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
+  }
+  return "";
+}
+var init_universal_user_agent4 = __esm({
+  "node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js"() {
+  }
+});
+
+// node_modules/@octokit/graphql/dist-bundle/index.js
+function _buildMessageForResponseErrors(data) {
+  return `Request failed due to following response errors:
+` + data.errors.map((e) => ` - ${e.message}`).join("\n");
+}
+function graphql(request2, query, options) {
+  if (options) {
+    if (typeof query === "string" && "query" in options) {
+      return Promise.reject(
+        new Error(`[@octokit/graphql] "query" cannot be used as variable name`)
+      );
+    }
+    for (const key in options) {
+      if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;
+      return Promise.reject(
+        new Error(
+          `[@octokit/graphql] "${key}" cannot be used as variable name`
+        )
+      );
+    }
+  }
+  const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
+  const requestOptions = Object.keys(
+    parsedOptions
+  ).reduce((result, key) => {
+    if (NON_VARIABLE_OPTIONS.includes(key)) {
+      result[key] = parsedOptions[key];
+      return result;
+    }
+    if (!result.variables) {
+      result.variables = {};
+    }
+    result.variables[key] = parsedOptions[key];
+    return result;
+  }, {});
+  const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;
+  if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
+    requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
+  }
+  return request2(requestOptions).then((response) => {
+    if (response.data.errors) {
+      const headers = {};
+      for (const key of Object.keys(response.headers)) {
+        headers[key] = response.headers[key];
+      }
+      throw new GraphqlResponseError(
+        requestOptions,
+        headers,
+        response.data
+      );
+    }
+    return response.data.data;
+  });
+}
+function withDefaults3(request2, newDefaults) {
+  const newRequest = request2.defaults(newDefaults);
+  const newApi = (query, options) => {
+    return graphql(newRequest, query, options);
+  };
+  return Object.assign(newApi, {
+    defaults: withDefaults3.bind(null, newRequest),
+    endpoint: newRequest.endpoint
+  });
+}
+function withCustomRequest(customRequest) {
+  return withDefaults3(customRequest, {
+    method: "POST",
+    url: "/graphql"
+  });
+}
+var VERSION3, GraphqlResponseError, NON_VARIABLE_OPTIONS, FORBIDDEN_VARIABLE_OPTIONS, GHES_V3_SUFFIX_REGEX, graphql2;
+var init_dist_bundle3 = __esm({
+  "node_modules/@octokit/graphql/dist-bundle/index.js"() {
+    init_dist_bundle2();
+    init_universal_user_agent4();
+    VERSION3 = "0.0.0-development";
+    GraphqlResponseError = class extends Error {
+      constructor(request2, headers, response) {
+        super(_buildMessageForResponseErrors(response));
+        this.request = request2;
+        this.headers = headers;
+        this.response = response;
+        this.errors = response.errors;
+        this.data = response.data;
+        if (Error.captureStackTrace) {
+          Error.captureStackTrace(this, this.constructor);
+        }
+      }
+      name = "GraphqlResponseError";
+      errors;
+      data;
+    };
+    NON_VARIABLE_OPTIONS = [
+      "method",
+      "baseUrl",
+      "url",
+      "headers",
+      "request",
+      "query",
+      "mediaType",
+      "operationName"
+    ];
+    FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
+    GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
+    graphql2 = withDefaults3(request, {
+      headers: {
+        "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent4()}`
+      },
+      method: "POST",
+      url: "/graphql"
+    });
+  }
+});
+
+// node_modules/@octokit/auth-token/dist-bundle/index.js
+async function auth(token) {
+  const isApp = isJWT(token);
+  const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
+  const isUserToServer = token.startsWith("ghu_");
+  const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
+  return {
+    type: "token",
+    token,
+    tokenType
+  };
+}
+function withAuthorizationPrefix(token) {
+  if (token.split(/\./).length === 3) {
+    return `bearer ${token}`;
+  }
+  return `token ${token}`;
+}
+async function hook(token, request2, route, parameters) {
+  const endpoint2 = request2.endpoint.merge(
+    route,
+    parameters
+  );
+  endpoint2.headers.authorization = withAuthorizationPrefix(token);
+  return request2(endpoint2);
+}
+var b64url, sep, jwtRE, isJWT, createTokenAuth;
+var init_dist_bundle4 = __esm({
+  "node_modules/@octokit/auth-token/dist-bundle/index.js"() {
+    b64url = "(?:[a-zA-Z0-9_-]+)";
+    sep = "\\.";
+    jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`);
+    isJWT = jwtRE.test.bind(jwtRE);
+    createTokenAuth = function createTokenAuth2(token) {
+      if (!token) {
+        throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
+      }
+      if (typeof token !== "string") {
+        throw new Error(
+          "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
+        );
+      }
+      token = token.replace(/^(token|bearer) +/i, "");
+      return Object.assign(auth.bind(null, token), {
+        hook: hook.bind(null, token)
+      });
+    };
+  }
+});
+
+// node_modules/@octokit/core/dist-src/version.js
+var VERSION4;
+var init_version = __esm({
+  "node_modules/@octokit/core/dist-src/version.js"() {
+    VERSION4 = "7.0.6";
+  }
+});
+
+// node_modules/@octokit/core/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+  Octokit: () => Octokit
+});
+function createLogger(logger = {}) {
+  if (typeof logger.debug !== "function") {
+    logger.debug = noop2;
+  }
+  if (typeof logger.info !== "function") {
+    logger.info = noop2;
+  }
+  if (typeof logger.warn !== "function") {
+    logger.warn = consoleWarn;
+  }
+  if (typeof logger.error !== "function") {
+    logger.error = consoleError;
+  }
+  return logger;
+}
+var noop2, consoleWarn, consoleError, userAgentTrail, Octokit;
+var init_dist_src2 = __esm({
+  "node_modules/@octokit/core/dist-src/index.js"() {
+    init_universal_user_agent();
+    init_before_after_hook();
+    init_dist_bundle2();
+    init_dist_bundle3();
+    init_dist_bundle4();
+    init_version();
+    noop2 = () => {
+    };
+    consoleWarn = console.warn.bind(console);
+    consoleError = console.error.bind(console);
+    userAgentTrail = `octokit-core.js/${VERSION4} ${getUserAgent()}`;
+    Octokit = class {
+      static VERSION = VERSION4;
+      static defaults(defaults) {
+        const OctokitWithDefaults = class extends this {
+          constructor(...args) {
+            const options = args[0] || {};
+            if (typeof defaults === "function") {
+              super(defaults(options));
+              return;
+            }
+            super(
+              Object.assign(
+                {},
+                defaults,
+                options,
+                options.userAgent && defaults.userAgent ? {
+                  userAgent: `${options.userAgent} ${defaults.userAgent}`
+                } : null
+              )
+            );
+          }
+        };
+        return OctokitWithDefaults;
+      }
+      static plugins = [];
+      /**
+       * Attach a plugin (or many) to your Octokit instance.
+       *
+       * @example
+       * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
+       */
+      static plugin(...newPlugins) {
+        const currentPlugins = this.plugins;
+        const NewOctokit = class extends this {
+          static plugins = currentPlugins.concat(
+            newPlugins.filter((plugin) => !currentPlugins.includes(plugin))
+          );
+        };
+        return NewOctokit;
+      }
+      constructor(options = {}) {
+        const hook2 = new before_after_hook_default.Collection();
+        const requestDefaults = {
+          baseUrl: request.endpoint.DEFAULTS.baseUrl,
+          headers: {},
+          request: Object.assign({}, options.request, {
+            // @ts-ignore internal usage only, no need to type
+            hook: hook2.bind(null, "request")
+          }),
+          mediaType: {
+            previews: [],
+            format: ""
+          }
+        };
+        requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
+        if (options.baseUrl) {
+          requestDefaults.baseUrl = options.baseUrl;
+        }
+        if (options.previews) {
+          requestDefaults.mediaType.previews = options.previews;
+        }
+        if (options.timeZone) {
+          requestDefaults.headers["time-zone"] = options.timeZone;
+        }
+        this.request = request.defaults(requestDefaults);
+        this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
+        this.log = createLogger(options.log);
+        this.hook = hook2;
+        if (!options.authStrategy) {
+          if (!options.auth) {
+            this.auth = async () => ({
+              type: "unauthenticated"
+            });
+          } else {
+            const auth2 = createTokenAuth(options.auth);
+            hook2.wrap("request", auth2.hook);
+            this.auth = auth2;
+          }
+        } else {
+          const { authStrategy, ...otherOptions } = options;
+          const auth2 = authStrategy(
+            Object.assign(
+              {
+                request: this.request,
+                log: this.log,
+                // we pass the current octokit instance as well as its constructor options
+                // to allow for authentication strategies that return a new octokit instance
+                // that shares the same internal state as the current one. The original
+                // requirement for this was the "event-octokit" authentication strategy
+                // of https://github.com/probot/octokit-auth-probot.
+                octokit: this,
+                octokitOptions: otherOptions
+              },
+              options.auth
+            )
+          );
+          hook2.wrap("request", auth2.hook);
+          this.auth = auth2;
+        }
+        const classConstructor = this.constructor;
+        for (let i = 0; i < classConstructor.plugins.length; ++i) {
+          Object.assign(this, classConstructor.plugins[i](this, options));
+        }
+      }
+      // assigned during constructor
+      request;
+      graphql;
+      log;
+      hook;
+      // TODO: type `octokit.auth` based on passed options.authStrategy
+      auth;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
+var VERSION5;
+var init_version2 = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js"() {
+    VERSION5 = "17.0.0";
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js
+var Endpoints, endpoints_default;
+var init_endpoints = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js"() {
+    Endpoints = {
+      actions: {
+        addCustomLabelsToSelfHostedRunnerForOrg: [
+          "POST /orgs/{org}/actions/runners/{runner_id}/labels"
+        ],
+        addCustomLabelsToSelfHostedRunnerForRepo: [
+          "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+        ],
+        addRepoAccessToSelfHostedRunnerGroupInOrg: [
+          "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"
+        ],
+        addSelectedRepoToOrgSecret: [
+          "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
+        ],
+        addSelectedRepoToOrgVariable: [
+          "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
+        ],
+        approveWorkflowRun: [
+          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"
+        ],
+        cancelWorkflowRun: [
+          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"
+        ],
+        createEnvironmentVariable: [
+          "POST /repos/{owner}/{repo}/environments/{environment_name}/variables"
+        ],
+        createHostedRunnerForOrg: ["POST /orgs/{org}/actions/hosted-runners"],
+        createOrUpdateEnvironmentSecret: [
+          "PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
+        ],
+        createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"],
+        createOrUpdateRepoSecret: [
+          "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"
+        ],
+        createOrgVariable: ["POST /orgs/{org}/actions/variables"],
+        createRegistrationTokenForOrg: [
+          "POST /orgs/{org}/actions/runners/registration-token"
+        ],
+        createRegistrationTokenForRepo: [
+          "POST /repos/{owner}/{repo}/actions/runners/registration-token"
+        ],
+        createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"],
+        createRemoveTokenForRepo: [
+          "POST /repos/{owner}/{repo}/actions/runners/remove-token"
+        ],
+        createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"],
+        createWorkflowDispatch: [
+          "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"
+        ],
+        deleteActionsCacheById: [
+          "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"
+        ],
+        deleteActionsCacheByKey: [
+          "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"
+        ],
+        deleteArtifact: [
+          "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"
+        ],
+        deleteCustomImageFromOrg: [
+          "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"
+        ],
+        deleteCustomImageVersionFromOrg: [
+          "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"
+        ],
+        deleteEnvironmentSecret: [
+          "DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
+        ],
+        deleteEnvironmentVariable: [
+          "DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
+        ],
+        deleteHostedRunnerForOrg: [
+          "DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
+        ],
+        deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"],
+        deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"],
+        deleteRepoSecret: [
+          "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"
+        ],
+        deleteRepoVariable: [
+          "DELETE /repos/{owner}/{repo}/actions/variables/{name}"
+        ],
+        deleteSelfHostedRunnerFromOrg: [
+          "DELETE /orgs/{org}/actions/runners/{runner_id}"
+        ],
+        deleteSelfHostedRunnerFromRepo: [
+          "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"
+        ],
+        deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],
+        deleteWorkflowRunLogs: [
+          "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
+        ],
+        disableSelectedRepositoryGithubActionsOrganization: [
+          "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"
+        ],
+        disableWorkflow: [
+          "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"
+        ],
+        downloadArtifact: [
+          "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"
+        ],
+        downloadJobLogsForWorkflowRun: [
+          "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"
+        ],
+        downloadWorkflowRunAttemptLogs: [
+          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"
+        ],
+        downloadWorkflowRunLogs: [
+          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
+        ],
+        enableSelectedRepositoryGithubActionsOrganization: [
+          "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"
+        ],
+        enableWorkflow: [
+          "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"
+        ],
+        forceCancelWorkflowRun: [
+          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"
+        ],
+        generateRunnerJitconfigForOrg: [
+          "POST /orgs/{org}/actions/runners/generate-jitconfig"
+        ],
+        generateRunnerJitconfigForRepo: [
+          "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"
+        ],
+        getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"],
+        getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"],
+        getActionsCacheUsageByRepoForOrg: [
+          "GET /orgs/{org}/actions/cache/usage-by-repository"
+        ],
+        getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"],
+        getAllowedActionsOrganization: [
+          "GET /orgs/{org}/actions/permissions/selected-actions"
+        ],
+        getAllowedActionsRepository: [
+          "GET /repos/{owner}/{repo}/actions/permissions/selected-actions"
+        ],
+        getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],
+        getCustomImageForOrg: [
+          "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"
+        ],
+        getCustomImageVersionForOrg: [
+          "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"
+        ],
+        getCustomOidcSubClaimForRepo: [
+          "GET /repos/{owner}/{repo}/actions/oidc/customization/sub"
+        ],
+        getEnvironmentPublicKey: [
+          "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"
+        ],
+        getEnvironmentSecret: [
+          "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
+        ],
+        getEnvironmentVariable: [
+          "GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
+        ],
+        getGithubActionsDefaultWorkflowPermissionsOrganization: [
+          "GET /orgs/{org}/actions/permissions/workflow"
+        ],
+        getGithubActionsDefaultWorkflowPermissionsRepository: [
+          "GET /repos/{owner}/{repo}/actions/permissions/workflow"
+        ],
+        getGithubActionsPermissionsOrganization: [
+          "GET /orgs/{org}/actions/permissions"
+        ],
+        getGithubActionsPermissionsRepository: [
+          "GET /repos/{owner}/{repo}/actions/permissions"
+        ],
+        getHostedRunnerForOrg: [
+          "GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
+        ],
+        getHostedRunnersGithubOwnedImagesForOrg: [
+          "GET /orgs/{org}/actions/hosted-runners/images/github-owned"
+        ],
+        getHostedRunnersLimitsForOrg: [
+          "GET /orgs/{org}/actions/hosted-runners/limits"
+        ],
+        getHostedRunnersMachineSpecsForOrg: [
+          "GET /orgs/{org}/actions/hosted-runners/machine-sizes"
+        ],
+        getHostedRunnersPartnerImagesForOrg: [
+          "GET /orgs/{org}/actions/hosted-runners/images/partner"
+        ],
+        getHostedRunnersPlatformsForOrg: [
+          "GET /orgs/{org}/actions/hosted-runners/platforms"
+        ],
+        getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],
+        getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"],
+        getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"],
+        getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"],
+        getPendingDeploymentsForRun: [
+          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
+        ],
+        getRepoPermissions: [
+          "GET /repos/{owner}/{repo}/actions/permissions",
+          {},
+          { renamed: ["actions", "getGithubActionsPermissionsRepository"] }
+        ],
+        getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"],
+        getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],
+        getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"],
+        getReviewsForRun: [
+          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"
+        ],
+        getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"],
+        getSelfHostedRunnerForRepo: [
+          "GET /repos/{owner}/{repo}/actions/runners/{runner_id}"
+        ],
+        getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],
+        getWorkflowAccessToRepository: [
+          "GET /repos/{owner}/{repo}/actions/permissions/access"
+        ],
+        getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],
+        getWorkflowRunAttempt: [
+          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"
+        ],
+        getWorkflowRunUsage: [
+          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"
+        ],
+        getWorkflowUsage: [
+          "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"
+        ],
+        listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"],
+        listCustomImageVersionsForOrg: [
+          "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions"
+        ],
+        listCustomImagesForOrg: [
+          "GET /orgs/{org}/actions/hosted-runners/images/custom"
+        ],
+        listEnvironmentSecrets: [
+          "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"
+        ],
+        listEnvironmentVariables: [
+          "GET /repos/{owner}/{repo}/environments/{environment_name}/variables"
+        ],
+        listGithubHostedRunnersInGroupForOrg: [
+          "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"
+        ],
+        listHostedRunnersForOrg: ["GET /orgs/{org}/actions/hosted-runners"],
+        listJobsForWorkflowRun: [
+          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"
+        ],
+        listJobsForWorkflowRunAttempt: [
+          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"
+        ],
+        listLabelsForSelfHostedRunnerForOrg: [
+          "GET /orgs/{org}/actions/runners/{runner_id}/labels"
+        ],
+        listLabelsForSelfHostedRunnerForRepo: [
+          "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+        ],
+        listOrgSecrets: ["GET /orgs/{org}/actions/secrets"],
+        listOrgVariables: ["GET /orgs/{org}/actions/variables"],
+        listRepoOrganizationSecrets: [
+          "GET /repos/{owner}/{repo}/actions/organization-secrets"
+        ],
+        listRepoOrganizationVariables: [
+          "GET /repos/{owner}/{repo}/actions/organization-variables"
+        ],
+        listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"],
+        listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"],
+        listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"],
+        listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"],
+        listRunnerApplicationsForRepo: [
+          "GET /repos/{owner}/{repo}/actions/runners/downloads"
+        ],
+        listSelectedReposForOrgSecret: [
+          "GET /orgs/{org}/actions/secrets/{secret_name}/repositories"
+        ],
+        listSelectedReposForOrgVariable: [
+          "GET /orgs/{org}/actions/variables/{name}/repositories"
+        ],
+        listSelectedRepositoriesEnabledGithubActionsOrganization: [
+          "GET /orgs/{org}/actions/permissions/repositories"
+        ],
+        listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"],
+        listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"],
+        listWorkflowRunArtifacts: [
+          "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"
+        ],
+        listWorkflowRuns: [
+          "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"
+        ],
+        listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"],
+        reRunJobForWorkflowRun: [
+          "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"
+        ],
+        reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],
+        reRunWorkflowFailedJobs: [
+          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"
+        ],
+        removeAllCustomLabelsFromSelfHostedRunnerForOrg: [
+          "DELETE /orgs/{org}/actions/runners/{runner_id}/labels"
+        ],
+        removeAllCustomLabelsFromSelfHostedRunnerForRepo: [
+          "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+        ],
+        removeCustomLabelFromSelfHostedRunnerForOrg: [
+          "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"
+        ],
+        removeCustomLabelFromSelfHostedRunnerForRepo: [
+          "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"
+        ],
+        removeSelectedRepoFromOrgSecret: [
+          "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
+        ],
+        removeSelectedRepoFromOrgVariable: [
+          "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
+        ],
+        reviewCustomGatesForRun: [
+          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"
+        ],
+        reviewPendingDeploymentsForRun: [
+          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
+        ],
+        setAllowedActionsOrganization: [
+          "PUT /orgs/{org}/actions/permissions/selected-actions"
+        ],
+        setAllowedActionsRepository: [
+          "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"
+        ],
+        setCustomLabelsForSelfHostedRunnerForOrg: [
+          "PUT /orgs/{org}/actions/runners/{runner_id}/labels"
+        ],
+        setCustomLabelsForSelfHostedRunnerForRepo: [
+          "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+        ],
+        setCustomOidcSubClaimForRepo: [
+          "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"
+        ],
+        setGithubActionsDefaultWorkflowPermissionsOrganization: [
+          "PUT /orgs/{org}/actions/permissions/workflow"
+        ],
+        setGithubActionsDefaultWorkflowPermissionsRepository: [
+          "PUT /repos/{owner}/{repo}/actions/permissions/workflow"
+        ],
+        setGithubActionsPermissionsOrganization: [
+          "PUT /orgs/{org}/actions/permissions"
+        ],
+        setGithubActionsPermissionsRepository: [
+          "PUT /repos/{owner}/{repo}/actions/permissions"
+        ],
+        setSelectedReposForOrgSecret: [
+          "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"
+        ],
+        setSelectedReposForOrgVariable: [
+          "PUT /orgs/{org}/actions/variables/{name}/repositories"
+        ],
+        setSelectedRepositoriesEnabledGithubActionsOrganization: [
+          "PUT /orgs/{org}/actions/permissions/repositories"
+        ],
+        setWorkflowAccessToRepository: [
+          "PUT /repos/{owner}/{repo}/actions/permissions/access"
+        ],
+        updateEnvironmentVariable: [
+          "PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
+        ],
+        updateHostedRunnerForOrg: [
+          "PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
+        ],
+        updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"],
+        updateRepoVariable: [
+          "PATCH /repos/{owner}/{repo}/actions/variables/{name}"
+        ]
+      },
+      activity: {
+        checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"],
+        deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"],
+        deleteThreadSubscription: [
+          "DELETE /notifications/threads/{thread_id}/subscription"
+        ],
+        getFeeds: ["GET /feeds"],
+        getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"],
+        getThread: ["GET /notifications/threads/{thread_id}"],
+        getThreadSubscriptionForAuthenticatedUser: [
+          "GET /notifications/threads/{thread_id}/subscription"
+        ],
+        listEventsForAuthenticatedUser: ["GET /users/{username}/events"],
+        listNotificationsForAuthenticatedUser: ["GET /notifications"],
+        listOrgEventsForAuthenticatedUser: [
+          "GET /users/{username}/events/orgs/{org}"
+        ],
+        listPublicEvents: ["GET /events"],
+        listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"],
+        listPublicEventsForUser: ["GET /users/{username}/events/public"],
+        listPublicOrgEvents: ["GET /orgs/{org}/events"],
+        listReceivedEventsForUser: ["GET /users/{username}/received_events"],
+        listReceivedPublicEventsForUser: [
+          "GET /users/{username}/received_events/public"
+        ],
+        listRepoEvents: ["GET /repos/{owner}/{repo}/events"],
+        listRepoNotificationsForAuthenticatedUser: [
+          "GET /repos/{owner}/{repo}/notifications"
+        ],
+        listReposStarredByAuthenticatedUser: ["GET /user/starred"],
+        listReposStarredByUser: ["GET /users/{username}/starred"],
+        listReposWatchedByUser: ["GET /users/{username}/subscriptions"],
+        listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"],
+        listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"],
+        listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"],
+        markNotificationsAsRead: ["PUT /notifications"],
+        markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"],
+        markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"],
+        markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"],
+        setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"],
+        setThreadSubscription: [
+          "PUT /notifications/threads/{thread_id}/subscription"
+        ],
+        starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"],
+        unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"]
+      },
+      apps: {
+        addRepoToInstallation: [
+          "PUT /user/installations/{installation_id}/repositories/{repository_id}",
+          {},
+          { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] }
+        ],
+        addRepoToInstallationForAuthenticatedUser: [
+          "PUT /user/installations/{installation_id}/repositories/{repository_id}"
+        ],
+        checkToken: ["POST /applications/{client_id}/token"],
+        createFromManifest: ["POST /app-manifests/{code}/conversions"],
+        createInstallationAccessToken: [
+          "POST /app/installations/{installation_id}/access_tokens"
+        ],
+        deleteAuthorization: ["DELETE /applications/{client_id}/grant"],
+        deleteInstallation: ["DELETE /app/installations/{installation_id}"],
+        deleteToken: ["DELETE /applications/{client_id}/token"],
+        getAuthenticated: ["GET /app"],
+        getBySlug: ["GET /apps/{app_slug}"],
+        getInstallation: ["GET /app/installations/{installation_id}"],
+        getOrgInstallation: ["GET /orgs/{org}/installation"],
+        getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"],
+        getSubscriptionPlanForAccount: [
+          "GET /marketplace_listing/accounts/{account_id}"
+        ],
+        getSubscriptionPlanForAccountStubbed: [
+          "GET /marketplace_listing/stubbed/accounts/{account_id}"
+        ],
+        getUserInstallation: ["GET /users/{username}/installation"],
+        getWebhookConfigForApp: ["GET /app/hook/config"],
+        getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"],
+        listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"],
+        listAccountsForPlanStubbed: [
+          "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"
+        ],
+        listInstallationReposForAuthenticatedUser: [
+          "GET /user/installations/{installation_id}/repositories"
+        ],
+        listInstallationRequestsForAuthenticatedApp: [
+          "GET /app/installation-requests"
+        ],
+        listInstallations: ["GET /app/installations"],
+        listInstallationsForAuthenticatedUser: ["GET /user/installations"],
+        listPlans: ["GET /marketplace_listing/plans"],
+        listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"],
+        listReposAccessibleToInstallation: ["GET /installation/repositories"],
+        listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"],
+        listSubscriptionsForAuthenticatedUserStubbed: [
+          "GET /user/marketplace_purchases/stubbed"
+        ],
+        listWebhookDeliveries: ["GET /app/hook/deliveries"],
+        redeliverWebhookDelivery: [
+          "POST /app/hook/deliveries/{delivery_id}/attempts"
+        ],
+        removeRepoFromInstallation: [
+          "DELETE /user/installations/{installation_id}/repositories/{repository_id}",
+          {},
+          { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] }
+        ],
+        removeRepoFromInstallationForAuthenticatedUser: [
+          "DELETE /user/installations/{installation_id}/repositories/{repository_id}"
+        ],
+        resetToken: ["PATCH /applications/{client_id}/token"],
+        revokeInstallationAccessToken: ["DELETE /installation/token"],
+        scopeToken: ["POST /applications/{client_id}/token/scoped"],
+        suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"],
+        unsuspendInstallation: [
+          "DELETE /app/installations/{installation_id}/suspended"
+        ],
+        updateWebhookConfigForApp: ["PATCH /app/hook/config"]
+      },
+      billing: {
+        getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"],
+        getGithubActionsBillingUser: [
+          "GET /users/{username}/settings/billing/actions"
         ],
         getGithubBillingPremiumRequestUsageReportOrg: [
           "GET /organizations/{org}/settings/billing/premium_request/usage"
@@ -62401,578 +61142,2888 @@ var init_endpoints = __esm({
         updateAuthenticated: ["PATCH /user"]
       }
     };
-    endpoints_default = Endpoints;
+    endpoints_default = Endpoints;
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js
+function endpointsToMethods(octokit) {
+  const newMethods = {};
+  for (const scope of endpointMethodsMap.keys()) {
+    newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
+  }
+  return newMethods;
+}
+function decorate(octokit, scope, methodName, defaults, decorations) {
+  const requestWithDefaults = octokit.request.defaults(defaults);
+  function withDecorations(...args) {
+    let options = requestWithDefaults.endpoint.merge(...args);
+    if (decorations.mapToData) {
+      options = Object.assign({}, options, {
+        data: options[decorations.mapToData],
+        [decorations.mapToData]: void 0
+      });
+      return requestWithDefaults(options);
+    }
+    if (decorations.renamed) {
+      const [newScope, newMethodName] = decorations.renamed;
+      octokit.log.warn(
+        `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
+      );
+    }
+    if (decorations.deprecated) {
+      octokit.log.warn(decorations.deprecated);
+    }
+    if (decorations.renamedParameters) {
+      const options2 = requestWithDefaults.endpoint.merge(...args);
+      for (const [name, alias] of Object.entries(
+        decorations.renamedParameters
+      )) {
+        if (name in options2) {
+          octokit.log.warn(
+            `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`
+          );
+          if (!(alias in options2)) {
+            options2[alias] = options2[name];
+          }
+          delete options2[name];
+        }
+      }
+      return requestWithDefaults(options2);
+    }
+    return requestWithDefaults(...args);
+  }
+  return Object.assign(withDecorations, requestWithDefaults);
+}
+var endpointMethodsMap, handler;
+var init_endpoints_to_methods = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js"() {
+    init_endpoints();
+    endpointMethodsMap = /* @__PURE__ */ new Map();
+    for (const [scope, endpoints] of Object.entries(endpoints_default)) {
+      for (const [methodName, endpoint2] of Object.entries(endpoints)) {
+        const [route, defaults, decorations] = endpoint2;
+        const [method, url] = route.split(/ /);
+        const endpointDefaults = Object.assign(
+          {
+            method,
+            url
+          },
+          defaults
+        );
+        if (!endpointMethodsMap.has(scope)) {
+          endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());
+        }
+        endpointMethodsMap.get(scope).set(methodName, {
+          scope,
+          methodName,
+          endpointDefaults,
+          decorations
+        });
+      }
+    }
+    handler = {
+      has({ scope }, methodName) {
+        return endpointMethodsMap.get(scope).has(methodName);
+      },
+      getOwnPropertyDescriptor(target, methodName) {
+        return {
+          value: this.get(target, methodName),
+          // ensures method is in the cache
+          configurable: true,
+          writable: true,
+          enumerable: true
+        };
+      },
+      defineProperty(target, methodName, descriptor) {
+        Object.defineProperty(target.cache, methodName, descriptor);
+        return true;
+      },
+      deleteProperty(target, methodName) {
+        delete target.cache[methodName];
+        return true;
+      },
+      ownKeys({ scope }) {
+        return [...endpointMethodsMap.get(scope).keys()];
+      },
+      set(target, methodName, value) {
+        return target.cache[methodName] = value;
+      },
+      get({ octokit, scope, cache }, methodName) {
+        if (cache[methodName]) {
+          return cache[methodName];
+        }
+        const method = endpointMethodsMap.get(scope).get(methodName);
+        if (!method) {
+          return void 0;
+        }
+        const { endpointDefaults, decorations } = method;
+        if (decorations) {
+          cache[methodName] = decorate(
+            octokit,
+            scope,
+            methodName,
+            endpointDefaults,
+            decorations
+          );
+        } else {
+          cache[methodName] = octokit.request.defaults(endpointDefaults);
+        }
+        return cache[methodName];
+      }
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js
+var dist_src_exports2 = {};
+__export(dist_src_exports2, {
+  legacyRestEndpointMethods: () => legacyRestEndpointMethods,
+  restEndpointMethods: () => restEndpointMethods
+});
+function restEndpointMethods(octokit) {
+  const api = endpointsToMethods(octokit);
+  return {
+    rest: api
+  };
+}
+function legacyRestEndpointMethods(octokit) {
+  const api = endpointsToMethods(octokit);
+  return {
+    ...api,
+    rest: api
+  };
+}
+var init_dist_src3 = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js"() {
+    init_version2();
+    init_endpoints_to_methods();
+    restEndpointMethods.VERSION = VERSION5;
+    legacyRestEndpointMethods.VERSION = VERSION5;
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js
+var dist_bundle_exports = {};
+__export(dist_bundle_exports, {
+  composePaginateRest: () => composePaginateRest,
+  isPaginatingEndpoint: () => isPaginatingEndpoint,
+  paginateRest: () => paginateRest,
+  paginatingEndpoints: () => paginatingEndpoints
+});
+function normalizePaginatedListResponse(response) {
+  if (!response.data) {
+    return {
+      ...response,
+      data: []
+    };
+  }
+  const responseNeedsNormalization = ("total_count" in response.data || "total_commits" in response.data) && !("url" in response.data);
+  if (!responseNeedsNormalization) return response;
+  const incompleteResults = response.data.incomplete_results;
+  const repositorySelection = response.data.repository_selection;
+  const totalCount = response.data.total_count;
+  const totalCommits = response.data.total_commits;
+  delete response.data.incomplete_results;
+  delete response.data.repository_selection;
+  delete response.data.total_count;
+  delete response.data.total_commits;
+  const namespaceKey = Object.keys(response.data)[0];
+  const data = response.data[namespaceKey];
+  response.data = data;
+  if (typeof incompleteResults !== "undefined") {
+    response.data.incomplete_results = incompleteResults;
+  }
+  if (typeof repositorySelection !== "undefined") {
+    response.data.repository_selection = repositorySelection;
+  }
+  response.data.total_count = totalCount;
+  response.data.total_commits = totalCommits;
+  return response;
+}
+function iterator(octokit, route, parameters) {
+  const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
+  const requestMethod = typeof route === "function" ? route : octokit.request;
+  const method = options.method;
+  const headers = options.headers;
+  let url = options.url;
+  return {
+    [Symbol.asyncIterator]: () => ({
+      async next() {
+        if (!url) return { done: true };
+        try {
+          const response = await requestMethod({ method, url, headers });
+          const normalizedResponse = normalizePaginatedListResponse(response);
+          url = ((normalizedResponse.headers.link || "").match(
+            /<([^<>]+)>;\s*rel="next"/
+          ) || [])[1];
+          if (!url && "total_commits" in normalizedResponse.data) {
+            const parsedUrl = new URL(normalizedResponse.url);
+            const params = parsedUrl.searchParams;
+            const page = parseInt(params.get("page") || "1", 10);
+            const per_page = parseInt(params.get("per_page") || "250", 10);
+            if (page * per_page < normalizedResponse.data.total_commits) {
+              params.set("page", String(page + 1));
+              url = parsedUrl.toString();
+            }
+          }
+          return { value: normalizedResponse };
+        } catch (error3) {
+          if (error3.status !== 409) throw error3;
+          url = "";
+          return {
+            value: {
+              status: 200,
+              headers: {},
+              data: []
+            }
+          };
+        }
+      }
+    })
+  };
+}
+function paginate(octokit, route, parameters, mapFn) {
+  if (typeof parameters === "function") {
+    mapFn = parameters;
+    parameters = void 0;
+  }
+  return gather(
+    octokit,
+    [],
+    iterator(octokit, route, parameters)[Symbol.asyncIterator](),
+    mapFn
+  );
+}
+function gather(octokit, results, iterator2, mapFn) {
+  return iterator2.next().then((result) => {
+    if (result.done) {
+      return results;
+    }
+    let earlyExit = false;
+    function done() {
+      earlyExit = true;
+    }
+    results = results.concat(
+      mapFn ? mapFn(result.value, done) : result.value.data
+    );
+    if (earlyExit) {
+      return results;
+    }
+    return gather(octokit, results, iterator2, mapFn);
+  });
+}
+function isPaginatingEndpoint(arg) {
+  if (typeof arg === "string") {
+    return paginatingEndpoints.includes(arg);
+  } else {
+    return false;
+  }
+}
+function paginateRest(octokit) {
+  return {
+    paginate: Object.assign(paginate.bind(null, octokit), {
+      iterator: iterator.bind(null, octokit)
+    })
+  };
+}
+var VERSION6, composePaginateRest, paginatingEndpoints;
+var init_dist_bundle5 = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js"() {
+    VERSION6 = "0.0.0-development";
+    composePaginateRest = Object.assign(paginate, {
+      iterator
+    });
+    paginatingEndpoints = [
+      "GET /advisories",
+      "GET /app/hook/deliveries",
+      "GET /app/installation-requests",
+      "GET /app/installations",
+      "GET /assignments/{assignment_id}/accepted_assignments",
+      "GET /classrooms",
+      "GET /classrooms/{classroom_id}/assignments",
+      "GET /enterprises/{enterprise}/code-security/configurations",
+      "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories",
+      "GET /enterprises/{enterprise}/dependabot/alerts",
+      "GET /enterprises/{enterprise}/teams",
+      "GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships",
+      "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations",
+      "GET /events",
+      "GET /gists",
+      "GET /gists/public",
+      "GET /gists/starred",
+      "GET /gists/{gist_id}/comments",
+      "GET /gists/{gist_id}/commits",
+      "GET /gists/{gist_id}/forks",
+      "GET /installation/repositories",
+      "GET /issues",
+      "GET /licenses",
+      "GET /marketplace_listing/plans",
+      "GET /marketplace_listing/plans/{plan_id}/accounts",
+      "GET /marketplace_listing/stubbed/plans",
+      "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts",
+      "GET /networks/{owner}/{repo}/events",
+      "GET /notifications",
+      "GET /organizations",
+      "GET /organizations/{org}/dependabot/repository-access",
+      "GET /orgs/{org}/actions/cache/usage-by-repository",
+      "GET /orgs/{org}/actions/hosted-runners",
+      "GET /orgs/{org}/actions/permissions/repositories",
+      "GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories",
+      "GET /orgs/{org}/actions/runner-groups",
+      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners",
+      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories",
+      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners",
+      "GET /orgs/{org}/actions/runners",
+      "GET /orgs/{org}/actions/secrets",
+      "GET /orgs/{org}/actions/secrets/{secret_name}/repositories",
+      "GET /orgs/{org}/actions/variables",
+      "GET /orgs/{org}/actions/variables/{name}/repositories",
+      "GET /orgs/{org}/attestations/repositories",
+      "GET /orgs/{org}/attestations/{subject_digest}",
+      "GET /orgs/{org}/blocks",
+      "GET /orgs/{org}/campaigns",
+      "GET /orgs/{org}/code-scanning/alerts",
+      "GET /orgs/{org}/code-security/configurations",
+      "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories",
+      "GET /orgs/{org}/codespaces",
+      "GET /orgs/{org}/codespaces/secrets",
+      "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories",
+      "GET /orgs/{org}/copilot/billing/seats",
+      "GET /orgs/{org}/copilot/metrics",
+      "GET /orgs/{org}/dependabot/alerts",
+      "GET /orgs/{org}/dependabot/secrets",
+      "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories",
+      "GET /orgs/{org}/events",
+      "GET /orgs/{org}/failed_invitations",
+      "GET /orgs/{org}/hooks",
+      "GET /orgs/{org}/hooks/{hook_id}/deliveries",
+      "GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}",
+      "GET /orgs/{org}/insights/api/subject-stats",
+      "GET /orgs/{org}/insights/api/user-stats/{user_id}",
+      "GET /orgs/{org}/installations",
+      "GET /orgs/{org}/invitations",
+      "GET /orgs/{org}/invitations/{invitation_id}/teams",
+      "GET /orgs/{org}/issues",
+      "GET /orgs/{org}/members",
+      "GET /orgs/{org}/members/{username}/codespaces",
+      "GET /orgs/{org}/migrations",
+      "GET /orgs/{org}/migrations/{migration_id}/repositories",
+      "GET /orgs/{org}/organization-roles/{role_id}/teams",
+      "GET /orgs/{org}/organization-roles/{role_id}/users",
+      "GET /orgs/{org}/outside_collaborators",
+      "GET /orgs/{org}/packages",
+      "GET /orgs/{org}/packages/{package_type}/{package_name}/versions",
+      "GET /orgs/{org}/personal-access-token-requests",
+      "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories",
+      "GET /orgs/{org}/personal-access-tokens",
+      "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories",
+      "GET /orgs/{org}/private-registries",
+      "GET /orgs/{org}/projects",
+      "GET /orgs/{org}/projectsV2",
+      "GET /orgs/{org}/projectsV2/{project_number}/fields",
+      "GET /orgs/{org}/projectsV2/{project_number}/items",
+      "GET /orgs/{org}/properties/values",
+      "GET /orgs/{org}/public_members",
+      "GET /orgs/{org}/repos",
+      "GET /orgs/{org}/rulesets",
+      "GET /orgs/{org}/rulesets/rule-suites",
+      "GET /orgs/{org}/rulesets/{ruleset_id}/history",
+      "GET /orgs/{org}/secret-scanning/alerts",
+      "GET /orgs/{org}/security-advisories",
+      "GET /orgs/{org}/settings/immutable-releases/repositories",
+      "GET /orgs/{org}/settings/network-configurations",
+      "GET /orgs/{org}/team/{team_slug}/copilot/metrics",
+      "GET /orgs/{org}/teams",
+      "GET /orgs/{org}/teams/{team_slug}/discussions",
+      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments",
+      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",
+      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",
+      "GET /orgs/{org}/teams/{team_slug}/invitations",
+      "GET /orgs/{org}/teams/{team_slug}/members",
+      "GET /orgs/{org}/teams/{team_slug}/projects",
+      "GET /orgs/{org}/teams/{team_slug}/repos",
+      "GET /orgs/{org}/teams/{team_slug}/teams",
+      "GET /projects/{project_id}/collaborators",
+      "GET /repos/{owner}/{repo}/actions/artifacts",
+      "GET /repos/{owner}/{repo}/actions/caches",
+      "GET /repos/{owner}/{repo}/actions/organization-secrets",
+      "GET /repos/{owner}/{repo}/actions/organization-variables",
+      "GET /repos/{owner}/{repo}/actions/runners",
+      "GET /repos/{owner}/{repo}/actions/runs",
+      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts",
+      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs",
+      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs",
+      "GET /repos/{owner}/{repo}/actions/secrets",
+      "GET /repos/{owner}/{repo}/actions/variables",
+      "GET /repos/{owner}/{repo}/actions/workflows",
+      "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs",
+      "GET /repos/{owner}/{repo}/activity",
+      "GET /repos/{owner}/{repo}/assignees",
+      "GET /repos/{owner}/{repo}/attestations/{subject_digest}",
+      "GET /repos/{owner}/{repo}/branches",
+      "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations",
+      "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs",
+      "GET /repos/{owner}/{repo}/code-scanning/alerts",
+      "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
+      "GET /repos/{owner}/{repo}/code-scanning/analyses",
+      "GET /repos/{owner}/{repo}/codespaces",
+      "GET /repos/{owner}/{repo}/codespaces/devcontainers",
+      "GET /repos/{owner}/{repo}/codespaces/secrets",
+      "GET /repos/{owner}/{repo}/collaborators",
+      "GET /repos/{owner}/{repo}/comments",
+      "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/commits",
+      "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments",
+      "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls",
+      "GET /repos/{owner}/{repo}/commits/{ref}/check-runs",
+      "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
+      "GET /repos/{owner}/{repo}/commits/{ref}/status",
+      "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
+      "GET /repos/{owner}/{repo}/compare/{basehead}",
+      "GET /repos/{owner}/{repo}/compare/{base}...{head}",
+      "GET /repos/{owner}/{repo}/contributors",
+      "GET /repos/{owner}/{repo}/dependabot/alerts",
+      "GET /repos/{owner}/{repo}/dependabot/secrets",
+      "GET /repos/{owner}/{repo}/deployments",
+      "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses",
+      "GET /repos/{owner}/{repo}/environments",
+      "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies",
+      "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps",
+      "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets",
+      "GET /repos/{owner}/{repo}/environments/{environment_name}/variables",
+      "GET /repos/{owner}/{repo}/events",
+      "GET /repos/{owner}/{repo}/forks",
+      "GET /repos/{owner}/{repo}/hooks",
+      "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries",
+      "GET /repos/{owner}/{repo}/invitations",
+      "GET /repos/{owner}/{repo}/issues",
+      "GET /repos/{owner}/{repo}/issues/comments",
+      "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/issues/events",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/comments",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/events",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/labels",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline",
+      "GET /repos/{owner}/{repo}/keys",
+      "GET /repos/{owner}/{repo}/labels",
+      "GET /repos/{owner}/{repo}/milestones",
+      "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels",
+      "GET /repos/{owner}/{repo}/notifications",
+      "GET /repos/{owner}/{repo}/pages/builds",
+      "GET /repos/{owner}/{repo}/projects",
+      "GET /repos/{owner}/{repo}/pulls",
+      "GET /repos/{owner}/{repo}/pulls/comments",
+      "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/files",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments",
+      "GET /repos/{owner}/{repo}/releases",
+      "GET /repos/{owner}/{repo}/releases/{release_id}/assets",
+      "GET /repos/{owner}/{repo}/releases/{release_id}/reactions",
+      "GET /repos/{owner}/{repo}/rules/branches/{branch}",
+      "GET /repos/{owner}/{repo}/rulesets",
+      "GET /repos/{owner}/{repo}/rulesets/rule-suites",
+      "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history",
+      "GET /repos/{owner}/{repo}/secret-scanning/alerts",
+      "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations",
+      "GET /repos/{owner}/{repo}/security-advisories",
+      "GET /repos/{owner}/{repo}/stargazers",
+      "GET /repos/{owner}/{repo}/subscribers",
+      "GET /repos/{owner}/{repo}/tags",
+      "GET /repos/{owner}/{repo}/teams",
+      "GET /repos/{owner}/{repo}/topics",
+      "GET /repositories",
+      "GET /search/code",
+      "GET /search/commits",
+      "GET /search/issues",
+      "GET /search/labels",
+      "GET /search/repositories",
+      "GET /search/topics",
+      "GET /search/users",
+      "GET /teams/{team_id}/discussions",
+      "GET /teams/{team_id}/discussions/{discussion_number}/comments",
+      "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",
+      "GET /teams/{team_id}/discussions/{discussion_number}/reactions",
+      "GET /teams/{team_id}/invitations",
+      "GET /teams/{team_id}/members",
+      "GET /teams/{team_id}/projects",
+      "GET /teams/{team_id}/repos",
+      "GET /teams/{team_id}/teams",
+      "GET /user/blocks",
+      "GET /user/codespaces",
+      "GET /user/codespaces/secrets",
+      "GET /user/emails",
+      "GET /user/followers",
+      "GET /user/following",
+      "GET /user/gpg_keys",
+      "GET /user/installations",
+      "GET /user/installations/{installation_id}/repositories",
+      "GET /user/issues",
+      "GET /user/keys",
+      "GET /user/marketplace_purchases",
+      "GET /user/marketplace_purchases/stubbed",
+      "GET /user/memberships/orgs",
+      "GET /user/migrations",
+      "GET /user/migrations/{migration_id}/repositories",
+      "GET /user/orgs",
+      "GET /user/packages",
+      "GET /user/packages/{package_type}/{package_name}/versions",
+      "GET /user/public_emails",
+      "GET /user/repos",
+      "GET /user/repository_invitations",
+      "GET /user/social_accounts",
+      "GET /user/ssh_signing_keys",
+      "GET /user/starred",
+      "GET /user/subscriptions",
+      "GET /user/teams",
+      "GET /users",
+      "GET /users/{username}/attestations/{subject_digest}",
+      "GET /users/{username}/events",
+      "GET /users/{username}/events/orgs/{org}",
+      "GET /users/{username}/events/public",
+      "GET /users/{username}/followers",
+      "GET /users/{username}/following",
+      "GET /users/{username}/gists",
+      "GET /users/{username}/gpg_keys",
+      "GET /users/{username}/keys",
+      "GET /users/{username}/orgs",
+      "GET /users/{username}/packages",
+      "GET /users/{username}/projects",
+      "GET /users/{username}/projectsV2",
+      "GET /users/{username}/projectsV2/{project_number}/fields",
+      "GET /users/{username}/projectsV2/{project_number}/items",
+      "GET /users/{username}/received_events",
+      "GET /users/{username}/received_events/public",
+      "GET /users/{username}/repos",
+      "GET /users/{username}/social_accounts",
+      "GET /users/{username}/ssh_signing_keys",
+      "GET /users/{username}/starred",
+      "GET /users/{username}/subscriptions"
+    ];
+    paginateRest.VERSION = VERSION6;
+  }
+});
+
+// node_modules/@actions/github/lib/utils.js
+var require_utils5 = __commonJS({
+  "node_modules/@actions/github/lib/utils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GitHub = exports2.defaults = exports2.context = void 0;
+    exports2.getOctokitOptions = getOctokitOptions2;
+    var Context = __importStar2(require_context());
+    var Utils = __importStar2(require_utils4());
+    var core_1 = (init_dist_src2(), __toCommonJS(dist_src_exports));
+    var plugin_rest_endpoint_methods_1 = (init_dist_src3(), __toCommonJS(dist_src_exports2));
+    var plugin_paginate_rest_1 = (init_dist_bundle5(), __toCommonJS(dist_bundle_exports));
+    exports2.context = new Context.Context();
+    var baseUrl = Utils.getApiBaseUrl();
+    exports2.defaults = {
+      baseUrl,
+      request: {
+        agent: Utils.getProxyAgent(baseUrl),
+        fetch: Utils.getProxyFetch(baseUrl)
+      }
+    };
+    exports2.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports2.defaults);
+    function getOctokitOptions2(token, options) {
+      const opts = Object.assign({}, options || {});
+      const auth2 = Utils.getAuthString(token, opts);
+      if (auth2) {
+        opts.auth = auth2;
+      }
+      return opts;
+    }
+  }
+});
+
+// node_modules/@actions/github/lib/github.js
+var require_github = __commonJS({
+  "node_modules/@actions/github/lib/github.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.context = void 0;
+    exports2.getOctokit = getOctokit;
+    var Context = __importStar2(require_context());
+    var utils_1 = require_utils5();
+    exports2.context = new Context.Context();
+    function getOctokit(token, options, ...additionalPlugins) {
+      const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
+      return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options));
+    }
+  }
+});
+
+// node_modules/semver/internal/constants.js
+var require_constants11 = __commonJS({
+  "node_modules/semver/internal/constants.js"(exports2, module2) {
+    "use strict";
+    var SEMVER_SPEC_VERSION = "2.0.0";
+    var MAX_LENGTH = 256;
+    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
+    9007199254740991;
+    var MAX_SAFE_COMPONENT_LENGTH = 16;
+    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
+    var RELEASE_TYPES = [
+      "major",
+      "premajor",
+      "minor",
+      "preminor",
+      "patch",
+      "prepatch",
+      "prerelease"
+    ];
+    module2.exports = {
+      MAX_LENGTH,
+      MAX_SAFE_COMPONENT_LENGTH,
+      MAX_SAFE_BUILD_LENGTH,
+      MAX_SAFE_INTEGER,
+      RELEASE_TYPES,
+      SEMVER_SPEC_VERSION,
+      FLAG_INCLUDE_PRERELEASE: 1,
+      FLAG_LOOSE: 2
+    };
+  }
+});
+
+// node_modules/semver/internal/debug.js
+var require_debug = __commonJS({
+  "node_modules/semver/internal/debug.js"(exports2, module2) {
+    "use strict";
+    var debug5 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
+    };
+    module2.exports = debug5;
+  }
+});
+
+// node_modules/semver/internal/re.js
+var require_re = __commonJS({
+  "node_modules/semver/internal/re.js"(exports2, module2) {
+    "use strict";
+    var {
+      MAX_SAFE_COMPONENT_LENGTH,
+      MAX_SAFE_BUILD_LENGTH,
+      MAX_LENGTH
+    } = require_constants11();
+    var debug5 = require_debug();
+    exports2 = module2.exports = {};
+    var re = exports2.re = [];
+    var safeRe = exports2.safeRe = [];
+    var src = exports2.src = [];
+    var safeSrc = exports2.safeSrc = [];
+    var t = exports2.t = {};
+    var R = 0;
+    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
+    var safeRegexReplacements = [
+      ["\\s", 1],
+      ["\\d", MAX_LENGTH],
+      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
+    ];
+    var makeSafeRegex = (value) => {
+      for (const [token, max] of safeRegexReplacements) {
+        value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
+      }
+      return value;
+    };
+    var createToken = (name, value, isGlobal) => {
+      const safe = makeSafeRegex(value);
+      const index = R++;
+      debug5(name, index, value);
+      t[name] = index;
+      src[index] = value;
+      safeSrc[index] = safe;
+      re[index] = new RegExp(value, isGlobal ? "g" : void 0);
+      safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
+    };
+    createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
+    createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
+    createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
+    createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
+    createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
+    createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
+    createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
+    createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
+    createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
+    createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
+    createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
+    createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
+    createToken("FULL", `^${src[t.FULLPLAIN]}$`);
+    createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
+    createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
+    createToken("GTLT", "((?:<|>)?=?)");
+    createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
+    createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
+    createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
+    createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
+    createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
+    createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
+    createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
+    createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
+    createToken("COERCERTL", src[t.COERCE], true);
+    createToken("COERCERTLFULL", src[t.COERCEFULL], true);
+    createToken("LONETILDE", "(?:~>?)");
+    createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
+    exports2.tildeTrimReplace = "$1~";
+    createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
+    createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("LONECARET", "(?:\\^)");
+    createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
+    exports2.caretTrimReplace = "$1^";
+    createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
+    createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
+    createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
+    createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
+    exports2.comparatorTrimReplace = "$1$2$3";
+    createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
+    createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
+    createToken("STAR", "(<|>)?=?\\s*\\*");
+    createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
+    createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
+  }
+});
+
+// node_modules/semver/internal/parse-options.js
+var require_parse_options = __commonJS({
+  "node_modules/semver/internal/parse-options.js"(exports2, module2) {
+    "use strict";
+    var looseOption = Object.freeze({ loose: true });
+    var emptyOpts = Object.freeze({});
+    var parseOptions = (options) => {
+      if (!options) {
+        return emptyOpts;
+      }
+      if (typeof options !== "object") {
+        return looseOption;
+      }
+      return options;
+    };
+    module2.exports = parseOptions;
+  }
+});
+
+// node_modules/semver/internal/identifiers.js
+var require_identifiers = __commonJS({
+  "node_modules/semver/internal/identifiers.js"(exports2, module2) {
+    "use strict";
+    var numeric = /^[0-9]+$/;
+    var compareIdentifiers = (a, b) => {
+      if (typeof a === "number" && typeof b === "number") {
+        return a === b ? 0 : a < b ? -1 : 1;
+      }
+      const anum = numeric.test(a);
+      const bnum = numeric.test(b);
+      if (anum && bnum) {
+        a = +a;
+        b = +b;
+      }
+      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
+    };
+    var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
+    module2.exports = {
+      compareIdentifiers,
+      rcompareIdentifiers
+    };
+  }
+});
+
+// node_modules/semver/classes/semver.js
+var require_semver = __commonJS({
+  "node_modules/semver/classes/semver.js"(exports2, module2) {
+    "use strict";
+    var debug5 = require_debug();
+    var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants11();
+    var { safeRe: re, t } = require_re();
+    var parseOptions = require_parse_options();
+    var { compareIdentifiers } = require_identifiers();
+    var SemVer = class _SemVer {
+      constructor(version, options) {
+        options = parseOptions(options);
+        if (version instanceof _SemVer) {
+          if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
+            return version;
+          } else {
+            version = version.version;
+          }
+        } else if (typeof version !== "string") {
+          throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);
+        }
+        if (version.length > MAX_LENGTH) {
+          throw new TypeError(
+            `version is longer than ${MAX_LENGTH} characters`
+          );
+        }
+        debug5("SemVer", version, options);
+        this.options = options;
+        this.loose = !!options.loose;
+        this.includePrerelease = !!options.includePrerelease;
+        const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
+        if (!m) {
+          throw new TypeError(`Invalid Version: ${version}`);
+        }
+        this.raw = version;
+        this.major = +m[1];
+        this.minor = +m[2];
+        this.patch = +m[3];
+        if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
+          throw new TypeError("Invalid major version");
+        }
+        if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
+          throw new TypeError("Invalid minor version");
+        }
+        if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
+          throw new TypeError("Invalid patch version");
+        }
+        if (!m[4]) {
+          this.prerelease = [];
+        } else {
+          this.prerelease = m[4].split(".").map((id) => {
+            if (/^[0-9]+$/.test(id)) {
+              const num = +id;
+              if (num >= 0 && num < MAX_SAFE_INTEGER) {
+                return num;
+              }
+            }
+            return id;
+          });
+        }
+        this.build = m[5] ? m[5].split(".") : [];
+        this.format();
+      }
+      format() {
+        this.version = `${this.major}.${this.minor}.${this.patch}`;
+        if (this.prerelease.length) {
+          this.version += `-${this.prerelease.join(".")}`;
+        }
+        return this.version;
+      }
+      toString() {
+        return this.version;
+      }
+      compare(other) {
+        debug5("SemVer.compare", this.version, this.options, other);
+        if (!(other instanceof _SemVer)) {
+          if (typeof other === "string" && other === this.version) {
+            return 0;
+          }
+          other = new _SemVer(other, this.options);
+        }
+        if (other.version === this.version) {
+          return 0;
+        }
+        return this.compareMain(other) || this.comparePre(other);
+      }
+      compareMain(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        if (this.major < other.major) {
+          return -1;
+        }
+        if (this.major > other.major) {
+          return 1;
+        }
+        if (this.minor < other.minor) {
+          return -1;
+        }
+        if (this.minor > other.minor) {
+          return 1;
+        }
+        if (this.patch < other.patch) {
+          return -1;
+        }
+        if (this.patch > other.patch) {
+          return 1;
+        }
+        return 0;
+      }
+      comparePre(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        if (this.prerelease.length && !other.prerelease.length) {
+          return -1;
+        } else if (!this.prerelease.length && other.prerelease.length) {
+          return 1;
+        } else if (!this.prerelease.length && !other.prerelease.length) {
+          return 0;
+        }
+        let i = 0;
+        do {
+          const a = this.prerelease[i];
+          const b = other.prerelease[i];
+          debug5("prerelease compare", i, a, b);
+          if (a === void 0 && b === void 0) {
+            return 0;
+          } else if (b === void 0) {
+            return 1;
+          } else if (a === void 0) {
+            return -1;
+          } else if (a === b) {
+            continue;
+          } else {
+            return compareIdentifiers(a, b);
+          }
+        } while (++i);
+      }
+      compareBuild(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        let i = 0;
+        do {
+          const a = this.build[i];
+          const b = other.build[i];
+          debug5("build compare", i, a, b);
+          if (a === void 0 && b === void 0) {
+            return 0;
+          } else if (b === void 0) {
+            return 1;
+          } else if (a === void 0) {
+            return -1;
+          } else if (a === b) {
+            continue;
+          } else {
+            return compareIdentifiers(a, b);
+          }
+        } while (++i);
+      }
+      // preminor will bump the version up to the next minor release, and immediately
+      // down to pre-release. premajor and prepatch work the same way.
+      inc(release2, identifier, identifierBase) {
+        if (release2.startsWith("pre")) {
+          if (!identifier && identifierBase === false) {
+            throw new Error("invalid increment argument: identifier is empty");
+          }
+          if (identifier) {
+            const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
+            if (!match || match[1] !== identifier) {
+              throw new Error(`invalid identifier: ${identifier}`);
+            }
+          }
+        }
+        switch (release2) {
+          case "premajor":
+            this.prerelease.length = 0;
+            this.patch = 0;
+            this.minor = 0;
+            this.major++;
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "preminor":
+            this.prerelease.length = 0;
+            this.patch = 0;
+            this.minor++;
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "prepatch":
+            this.prerelease.length = 0;
+            this.inc("patch", identifier, identifierBase);
+            this.inc("pre", identifier, identifierBase);
+            break;
+          // If the input is a non-prerelease version, this acts the same as
+          // prepatch.
+          case "prerelease":
+            if (this.prerelease.length === 0) {
+              this.inc("patch", identifier, identifierBase);
+            }
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "release":
+            if (this.prerelease.length === 0) {
+              throw new Error(`version ${this.raw} is not a prerelease`);
+            }
+            this.prerelease.length = 0;
+            break;
+          case "major":
+            if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
+              this.major++;
+            }
+            this.minor = 0;
+            this.patch = 0;
+            this.prerelease = [];
+            break;
+          case "minor":
+            if (this.patch !== 0 || this.prerelease.length === 0) {
+              this.minor++;
+            }
+            this.patch = 0;
+            this.prerelease = [];
+            break;
+          case "patch":
+            if (this.prerelease.length === 0) {
+              this.patch++;
+            }
+            this.prerelease = [];
+            break;
+          // This probably shouldn't be used publicly.
+          // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
+          case "pre": {
+            const base = Number(identifierBase) ? 1 : 0;
+            if (this.prerelease.length === 0) {
+              this.prerelease = [base];
+            } else {
+              let i = this.prerelease.length;
+              while (--i >= 0) {
+                if (typeof this.prerelease[i] === "number") {
+                  this.prerelease[i]++;
+                  i = -2;
+                }
+              }
+              if (i === -1) {
+                if (identifier === this.prerelease.join(".") && identifierBase === false) {
+                  throw new Error("invalid increment argument: identifier already exists");
+                }
+                this.prerelease.push(base);
+              }
+            }
+            if (identifier) {
+              let prerelease = [identifier, base];
+              if (identifierBase === false) {
+                prerelease = [identifier];
+              }
+              if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
+                if (isNaN(this.prerelease[1])) {
+                  this.prerelease = prerelease;
+                }
+              } else {
+                this.prerelease = prerelease;
+              }
+            }
+            break;
+          }
+          default:
+            throw new Error(`invalid increment argument: ${release2}`);
+        }
+        this.raw = this.format();
+        if (this.build.length) {
+          this.raw += `+${this.build.join(".")}`;
+        }
+        return this;
+      }
+    };
+    module2.exports = SemVer;
+  }
+});
+
+// node_modules/semver/functions/parse.js
+var require_parse3 = __commonJS({
+  "node_modules/semver/functions/parse.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var parse2 = (version, options, throwErrors = false) => {
+      if (version instanceof SemVer) {
+        return version;
+      }
+      try {
+        return new SemVer(version, options);
+      } catch (er) {
+        if (!throwErrors) {
+          return null;
+        }
+        throw er;
+      }
+    };
+    module2.exports = parse2;
+  }
+});
+
+// node_modules/semver/functions/valid.js
+var require_valid = __commonJS({
+  "node_modules/semver/functions/valid.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var valid2 = (version, options) => {
+      const v = parse2(version, options);
+      return v ? v.version : null;
+    };
+    module2.exports = valid2;
+  }
+});
+
+// node_modules/semver/functions/clean.js
+var require_clean = __commonJS({
+  "node_modules/semver/functions/clean.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var clean = (version, options) => {
+      const s = parse2(version.trim().replace(/^[=v]+/, ""), options);
+      return s ? s.version : null;
+    };
+    module2.exports = clean;
+  }
+});
+
+// node_modules/semver/functions/inc.js
+var require_inc = __commonJS({
+  "node_modules/semver/functions/inc.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var inc = (version, release2, options, identifier, identifierBase) => {
+      if (typeof options === "string") {
+        identifierBase = identifier;
+        identifier = options;
+        options = void 0;
+      }
+      try {
+        return new SemVer(
+          version instanceof SemVer ? version.version : version,
+          options
+        ).inc(release2, identifier, identifierBase).version;
+      } catch (er) {
+        return null;
+      }
+    };
+    module2.exports = inc;
+  }
+});
+
+// node_modules/semver/functions/diff.js
+var require_diff = __commonJS({
+  "node_modules/semver/functions/diff.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var diff = (version1, version2) => {
+      const v1 = parse2(version1, null, true);
+      const v2 = parse2(version2, null, true);
+      const comparison = v1.compare(v2);
+      if (comparison === 0) {
+        return null;
+      }
+      const v1Higher = comparison > 0;
+      const highVersion = v1Higher ? v1 : v2;
+      const lowVersion = v1Higher ? v2 : v1;
+      const highHasPre = !!highVersion.prerelease.length;
+      const lowHasPre = !!lowVersion.prerelease.length;
+      if (lowHasPre && !highHasPre) {
+        if (!lowVersion.patch && !lowVersion.minor) {
+          return "major";
+        }
+        if (lowVersion.compareMain(highVersion) === 0) {
+          if (lowVersion.minor && !lowVersion.patch) {
+            return "minor";
+          }
+          return "patch";
+        }
+      }
+      const prefix = highHasPre ? "pre" : "";
+      if (v1.major !== v2.major) {
+        return prefix + "major";
+      }
+      if (v1.minor !== v2.minor) {
+        return prefix + "minor";
+      }
+      if (v1.patch !== v2.patch) {
+        return prefix + "patch";
+      }
+      return "prerelease";
+    };
+    module2.exports = diff;
+  }
+});
+
+// node_modules/semver/functions/major.js
+var require_major = __commonJS({
+  "node_modules/semver/functions/major.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var major = (a, loose) => new SemVer(a, loose).major;
+    module2.exports = major;
+  }
+});
+
+// node_modules/semver/functions/minor.js
+var require_minor = __commonJS({
+  "node_modules/semver/functions/minor.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var minor = (a, loose) => new SemVer(a, loose).minor;
+    module2.exports = minor;
+  }
+});
+
+// node_modules/semver/functions/patch.js
+var require_patch = __commonJS({
+  "node_modules/semver/functions/patch.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var patch = (a, loose) => new SemVer(a, loose).patch;
+    module2.exports = patch;
+  }
+});
+
+// node_modules/semver/functions/prerelease.js
+var require_prerelease = __commonJS({
+  "node_modules/semver/functions/prerelease.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var prerelease = (version, options) => {
+      const parsed = parse2(version, options);
+      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
+    };
+    module2.exports = prerelease;
+  }
+});
+
+// node_modules/semver/functions/compare.js
+var require_compare = __commonJS({
+  "node_modules/semver/functions/compare.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
+    module2.exports = compare;
+  }
+});
+
+// node_modules/semver/functions/rcompare.js
+var require_rcompare = __commonJS({
+  "node_modules/semver/functions/rcompare.js"(exports2, module2) {
+    "use strict";
+    var compare = require_compare();
+    var rcompare = (a, b, loose) => compare(b, a, loose);
+    module2.exports = rcompare;
+  }
+});
+
+// node_modules/semver/functions/compare-loose.js
+var require_compare_loose = __commonJS({
+  "node_modules/semver/functions/compare-loose.js"(exports2, module2) {
+    "use strict";
+    var compare = require_compare();
+    var compareLoose = (a, b) => compare(a, b, true);
+    module2.exports = compareLoose;
+  }
+});
+
+// node_modules/semver/functions/compare-build.js
+var require_compare_build = __commonJS({
+  "node_modules/semver/functions/compare-build.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var compareBuild = (a, b, loose) => {
+      const versionA = new SemVer(a, loose);
+      const versionB = new SemVer(b, loose);
+      return versionA.compare(versionB) || versionA.compareBuild(versionB);
+    };
+    module2.exports = compareBuild;
+  }
+});
+
+// node_modules/semver/functions/sort.js
+var require_sort = __commonJS({
+  "node_modules/semver/functions/sort.js"(exports2, module2) {
+    "use strict";
+    var compareBuild = require_compare_build();
+    var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
+    module2.exports = sort;
+  }
+});
+
+// node_modules/semver/functions/rsort.js
+var require_rsort = __commonJS({
+  "node_modules/semver/functions/rsort.js"(exports2, module2) {
+    "use strict";
+    var compareBuild = require_compare_build();
+    var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
+    module2.exports = rsort;
+  }
+});
+
+// node_modules/semver/functions/gt.js
+var require_gt = __commonJS({
+  "node_modules/semver/functions/gt.js"(exports2, module2) {
+    "use strict";
+    var compare = require_compare();
+    var gt = (a, b, loose) => compare(a, b, loose) > 0;
+    module2.exports = gt;
+  }
+});
+
+// node_modules/semver/functions/lt.js
+var require_lt = __commonJS({
+  "node_modules/semver/functions/lt.js"(exports2, module2) {
+    "use strict";
+    var compare = require_compare();
+    var lt = (a, b, loose) => compare(a, b, loose) < 0;
+    module2.exports = lt;
+  }
+});
+
+// node_modules/semver/functions/eq.js
+var require_eq = __commonJS({
+  "node_modules/semver/functions/eq.js"(exports2, module2) {
+    "use strict";
+    var compare = require_compare();
+    var eq = (a, b, loose) => compare(a, b, loose) === 0;
+    module2.exports = eq;
+  }
+});
+
+// node_modules/semver/functions/neq.js
+var require_neq = __commonJS({
+  "node_modules/semver/functions/neq.js"(exports2, module2) {
+    "use strict";
+    var compare = require_compare();
+    var neq = (a, b, loose) => compare(a, b, loose) !== 0;
+    module2.exports = neq;
+  }
+});
+
+// node_modules/semver/functions/gte.js
+var require_gte = __commonJS({
+  "node_modules/semver/functions/gte.js"(exports2, module2) {
+    "use strict";
+    var compare = require_compare();
+    var gte4 = (a, b, loose) => compare(a, b, loose) >= 0;
+    module2.exports = gte4;
+  }
+});
+
+// node_modules/semver/functions/lte.js
+var require_lte = __commonJS({
+  "node_modules/semver/functions/lte.js"(exports2, module2) {
+    "use strict";
+    var compare = require_compare();
+    var lte = (a, b, loose) => compare(a, b, loose) <= 0;
+    module2.exports = lte;
+  }
+});
+
+// node_modules/semver/functions/cmp.js
+var require_cmp = __commonJS({
+  "node_modules/semver/functions/cmp.js"(exports2, module2) {
+    "use strict";
+    var eq = require_eq();
+    var neq = require_neq();
+    var gt = require_gt();
+    var gte4 = require_gte();
+    var lt = require_lt();
+    var lte = require_lte();
+    var cmp = (a, op, b, loose) => {
+      switch (op) {
+        case "===":
+          if (typeof a === "object") {
+            a = a.version;
+          }
+          if (typeof b === "object") {
+            b = b.version;
+          }
+          return a === b;
+        case "!==":
+          if (typeof a === "object") {
+            a = a.version;
+          }
+          if (typeof b === "object") {
+            b = b.version;
+          }
+          return a !== b;
+        case "":
+        case "=":
+        case "==":
+          return eq(a, b, loose);
+        case "!=":
+          return neq(a, b, loose);
+        case ">":
+          return gt(a, b, loose);
+        case ">=":
+          return gte4(a, b, loose);
+        case "<":
+          return lt(a, b, loose);
+        case "<=":
+          return lte(a, b, loose);
+        default:
+          throw new TypeError(`Invalid operator: ${op}`);
+      }
+    };
+    module2.exports = cmp;
+  }
+});
+
+// node_modules/semver/functions/coerce.js
+var require_coerce = __commonJS({
+  "node_modules/semver/functions/coerce.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var parse2 = require_parse3();
+    var { safeRe: re, t } = require_re();
+    var coerce2 = (version, options) => {
+      if (version instanceof SemVer) {
+        return version;
+      }
+      if (typeof version === "number") {
+        version = String(version);
+      }
+      if (typeof version !== "string") {
+        return null;
+      }
+      options = options || {};
+      let match = null;
+      if (!options.rtl) {
+        match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
+      } else {
+        const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
+        let next;
+        while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
+          if (!match || next.index + next[0].length !== match.index + match[0].length) {
+            match = next;
+          }
+          coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
+        }
+        coerceRtlRegex.lastIndex = -1;
+      }
+      if (match === null) {
+        return null;
+      }
+      const major = match[2];
+      const minor = match[3] || "0";
+      const patch = match[4] || "0";
+      const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
+      const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
+      return parse2(`${major}.${minor}.${patch}${prerelease}${build}`, options);
+    };
+    module2.exports = coerce2;
+  }
+});
+
+// node_modules/semver/internal/lrucache.js
+var require_lrucache = __commonJS({
+  "node_modules/semver/internal/lrucache.js"(exports2, module2) {
+    "use strict";
+    var LRUCache = class {
+      constructor() {
+        this.max = 1e3;
+        this.map = /* @__PURE__ */ new Map();
+      }
+      get(key) {
+        const value = this.map.get(key);
+        if (value === void 0) {
+          return void 0;
+        } else {
+          this.map.delete(key);
+          this.map.set(key, value);
+          return value;
+        }
+      }
+      delete(key) {
+        return this.map.delete(key);
+      }
+      set(key, value) {
+        const deleted = this.delete(key);
+        if (!deleted && value !== void 0) {
+          if (this.map.size >= this.max) {
+            const firstKey = this.map.keys().next().value;
+            this.delete(firstKey);
+          }
+          this.map.set(key, value);
+        }
+        return this;
+      }
+    };
+    module2.exports = LRUCache;
+  }
+});
+
+// node_modules/semver/classes/range.js
+var require_range = __commonJS({
+  "node_modules/semver/classes/range.js"(exports2, module2) {
+    "use strict";
+    var SPACE_CHARACTERS = /\s+/g;
+    var Range2 = class _Range {
+      constructor(range, options) {
+        options = parseOptions(options);
+        if (range instanceof _Range) {
+          if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
+            return range;
+          } else {
+            return new _Range(range.raw, options);
+          }
+        }
+        if (range instanceof Comparator) {
+          this.raw = range.value;
+          this.set = [[range]];
+          this.formatted = void 0;
+          return this;
+        }
+        this.options = options;
+        this.loose = !!options.loose;
+        this.includePrerelease = !!options.includePrerelease;
+        this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
+        this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
+        if (!this.set.length) {
+          throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
+        }
+        if (this.set.length > 1) {
+          const first = this.set[0];
+          this.set = this.set.filter((c) => !isNullSet(c[0]));
+          if (this.set.length === 0) {
+            this.set = [first];
+          } else if (this.set.length > 1) {
+            for (const c of this.set) {
+              if (c.length === 1 && isAny(c[0])) {
+                this.set = [c];
+                break;
+              }
+            }
+          }
+        }
+        this.formatted = void 0;
+      }
+      get range() {
+        if (this.formatted === void 0) {
+          this.formatted = "";
+          for (let i = 0; i < this.set.length; i++) {
+            if (i > 0) {
+              this.formatted += "||";
+            }
+            const comps = this.set[i];
+            for (let k = 0; k < comps.length; k++) {
+              if (k > 0) {
+                this.formatted += " ";
+              }
+              this.formatted += comps[k].toString().trim();
+            }
+          }
+        }
+        return this.formatted;
+      }
+      format() {
+        return this.range;
+      }
+      toString() {
+        return this.range;
+      }
+      parseRange(range) {
+        const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
+        const memoKey = memoOpts + ":" + range;
+        const cached = cache.get(memoKey);
+        if (cached) {
+          return cached;
+        }
+        const loose = this.options.loose;
+        const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
+        range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
+        debug5("hyphen replace", range);
+        range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
+        debug5("comparator trim", range);
+        range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
+        debug5("tilde trim", range);
+        range = range.replace(re[t.CARETTRIM], caretTrimReplace);
+        debug5("caret trim", range);
+        let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
+        if (loose) {
+          rangeList = rangeList.filter((comp) => {
+            debug5("loose invalid filter", comp, this.options);
+            return !!comp.match(re[t.COMPARATORLOOSE]);
+          });
+        }
+        debug5("range list", rangeList);
+        const rangeMap = /* @__PURE__ */ new Map();
+        const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
+        for (const comp of comparators) {
+          if (isNullSet(comp)) {
+            return [comp];
+          }
+          rangeMap.set(comp.value, comp);
+        }
+        if (rangeMap.size > 1 && rangeMap.has("")) {
+          rangeMap.delete("");
+        }
+        const result = [...rangeMap.values()];
+        cache.set(memoKey, result);
+        return result;
+      }
+      intersects(range, options) {
+        if (!(range instanceof _Range)) {
+          throw new TypeError("a Range is required");
+        }
+        return this.set.some((thisComparators) => {
+          return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
+            return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
+              return rangeComparators.every((rangeComparator) => {
+                return thisComparator.intersects(rangeComparator, options);
+              });
+            });
+          });
+        });
+      }
+      // if ANY of the sets match ALL of its comparators, then pass
+      test(version) {
+        if (!version) {
+          return false;
+        }
+        if (typeof version === "string") {
+          try {
+            version = new SemVer(version, this.options);
+          } catch (er) {
+            return false;
+          }
+        }
+        for (let i = 0; i < this.set.length; i++) {
+          if (testSet(this.set[i], version, this.options)) {
+            return true;
+          }
+        }
+        return false;
+      }
+    };
+    module2.exports = Range2;
+    var LRU = require_lrucache();
+    var cache = new LRU();
+    var parseOptions = require_parse_options();
+    var Comparator = require_comparator();
+    var debug5 = require_debug();
+    var SemVer = require_semver();
+    var {
+      safeRe: re,
+      t,
+      comparatorTrimReplace,
+      tildeTrimReplace,
+      caretTrimReplace
+    } = require_re();
+    var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants11();
+    var isNullSet = (c) => c.value === "<0.0.0-0";
+    var isAny = (c) => c.value === "";
+    var isSatisfiable = (comparators, options) => {
+      let result = true;
+      const remainingComparators = comparators.slice();
+      let testComparator = remainingComparators.pop();
+      while (result && remainingComparators.length) {
+        result = remainingComparators.every((otherComparator) => {
+          return testComparator.intersects(otherComparator, options);
+        });
+        testComparator = remainingComparators.pop();
+      }
+      return result;
+    };
+    var parseComparator = (comp, options) => {
+      comp = comp.replace(re[t.BUILD], "");
+      debug5("comp", comp, options);
+      comp = replaceCarets(comp, options);
+      debug5("caret", comp);
+      comp = replaceTildes(comp, options);
+      debug5("tildes", comp);
+      comp = replaceXRanges(comp, options);
+      debug5("xrange", comp);
+      comp = replaceStars(comp, options);
+      debug5("stars", comp);
+      return comp;
+    };
+    var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
+    var replaceTildes = (comp, options) => {
+      return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
+    };
+    var replaceTilde = (comp, options) => {
+      const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
+      return comp.replace(r, (_, M, m, p, pr) => {
+        debug5("tilde", comp, _, M, m, p, pr);
+        let ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
+        } else if (isX(p)) {
+          ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
+        } else if (pr) {
+          debug5("replaceTilde pr", pr);
+          ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
+        } else {
+          ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
+        }
+        debug5("tilde return", ret);
+        return ret;
+      });
+    };
+    var replaceCarets = (comp, options) => {
+      return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
+    };
+    var replaceCaret = (comp, options) => {
+      debug5("caret", comp, options);
+      const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
+      const z = options.includePrerelease ? "-0" : "";
+      return comp.replace(r, (_, M, m, p, pr) => {
+        debug5("caret", comp, _, M, m, p, pr);
+        let ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
+        } else if (isX(p)) {
+          if (M === "0") {
+            ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
+          } else {
+            ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
+          }
+        } else if (pr) {
+          debug5("replaceCaret pr", pr);
+          if (M === "0") {
+            if (m === "0") {
+              ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
+            } else {
+              ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
+            }
+          } else {
+            ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
+          }
+        } else {
+          debug5("no pr");
+          if (M === "0") {
+            if (m === "0") {
+              ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
+            } else {
+              ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
+            }
+          } else {
+            ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
+          }
+        }
+        debug5("caret return", ret);
+        return ret;
+      });
+    };
+    var replaceXRanges = (comp, options) => {
+      debug5("replaceXRanges", comp, options);
+      return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
+    };
+    var replaceXRange = (comp, options) => {
+      comp = comp.trim();
+      const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
+      return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
+        debug5("xRange", comp, ret, gtlt, M, m, p, pr);
+        const xM = isX(M);
+        const xm = xM || isX(m);
+        const xp = xm || isX(p);
+        const anyX = xp;
+        if (gtlt === "=" && anyX) {
+          gtlt = "";
+        }
+        pr = options.includePrerelease ? "-0" : "";
+        if (xM) {
+          if (gtlt === ">" || gtlt === "<") {
+            ret = "<0.0.0-0";
+          } else {
+            ret = "*";
+          }
+        } else if (gtlt && anyX) {
+          if (xm) {
+            m = 0;
+          }
+          p = 0;
+          if (gtlt === ">") {
+            gtlt = ">=";
+            if (xm) {
+              M = +M + 1;
+              m = 0;
+              p = 0;
+            } else {
+              m = +m + 1;
+              p = 0;
+            }
+          } else if (gtlt === "<=") {
+            gtlt = "<";
+            if (xm) {
+              M = +M + 1;
+            } else {
+              m = +m + 1;
+            }
+          }
+          if (gtlt === "<") {
+            pr = "-0";
+          }
+          ret = `${gtlt + M}.${m}.${p}${pr}`;
+        } else if (xm) {
+          ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
+        } else if (xp) {
+          ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
+        }
+        debug5("xRange return", ret);
+        return ret;
+      });
+    };
+    var replaceStars = (comp, options) => {
+      debug5("replaceStars", comp, options);
+      return comp.trim().replace(re[t.STAR], "");
+    };
+    var replaceGTE0 = (comp, options) => {
+      debug5("replaceGTE0", comp, options);
+      return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
+    };
+    var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
+      if (isX(fM)) {
+        from = "";
+      } else if (isX(fm)) {
+        from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
+      } else if (isX(fp)) {
+        from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
+      } else if (fpr) {
+        from = `>=${from}`;
+      } else {
+        from = `>=${from}${incPr ? "-0" : ""}`;
+      }
+      if (isX(tM)) {
+        to = "";
+      } else if (isX(tm)) {
+        to = `<${+tM + 1}.0.0-0`;
+      } else if (isX(tp)) {
+        to = `<${tM}.${+tm + 1}.0-0`;
+      } else if (tpr) {
+        to = `<=${tM}.${tm}.${tp}-${tpr}`;
+      } else if (incPr) {
+        to = `<${tM}.${tm}.${+tp + 1}-0`;
+      } else {
+        to = `<=${to}`;
+      }
+      return `${from} ${to}`.trim();
+    };
+    var testSet = (set2, version, options) => {
+      for (let i = 0; i < set2.length; i++) {
+        if (!set2[i].test(version)) {
+          return false;
+        }
+      }
+      if (version.prerelease.length && !options.includePrerelease) {
+        for (let i = 0; i < set2.length; i++) {
+          debug5(set2[i].semver);
+          if (set2[i].semver === Comparator.ANY) {
+            continue;
+          }
+          if (set2[i].semver.prerelease.length > 0) {
+            const allowed = set2[i].semver;
+            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
+              return true;
+            }
+          }
+        }
+        return false;
+      }
+      return true;
+    };
+  }
+});
+
+// node_modules/semver/classes/comparator.js
+var require_comparator = __commonJS({
+  "node_modules/semver/classes/comparator.js"(exports2, module2) {
+    "use strict";
+    var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
+    var Comparator = class _Comparator {
+      static get ANY() {
+        return ANY;
+      }
+      constructor(comp, options) {
+        options = parseOptions(options);
+        if (comp instanceof _Comparator) {
+          if (comp.loose === !!options.loose) {
+            return comp;
+          } else {
+            comp = comp.value;
+          }
+        }
+        comp = comp.trim().split(/\s+/).join(" ");
+        debug5("comparator", comp, options);
+        this.options = options;
+        this.loose = !!options.loose;
+        this.parse(comp);
+        if (this.semver === ANY) {
+          this.value = "";
+        } else {
+          this.value = this.operator + this.semver.version;
+        }
+        debug5("comp", this);
+      }
+      parse(comp) {
+        const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
+        const m = comp.match(r);
+        if (!m) {
+          throw new TypeError(`Invalid comparator: ${comp}`);
+        }
+        this.operator = m[1] !== void 0 ? m[1] : "";
+        if (this.operator === "=") {
+          this.operator = "";
+        }
+        if (!m[2]) {
+          this.semver = ANY;
+        } else {
+          this.semver = new SemVer(m[2], this.options.loose);
+        }
+      }
+      toString() {
+        return this.value;
+      }
+      test(version) {
+        debug5("Comparator.test", version, this.options.loose);
+        if (this.semver === ANY || version === ANY) {
+          return true;
+        }
+        if (typeof version === "string") {
+          try {
+            version = new SemVer(version, this.options);
+          } catch (er) {
+            return false;
+          }
+        }
+        return cmp(version, this.operator, this.semver, this.options);
+      }
+      intersects(comp, options) {
+        if (!(comp instanceof _Comparator)) {
+          throw new TypeError("a Comparator is required");
+        }
+        if (this.operator === "") {
+          if (this.value === "") {
+            return true;
+          }
+          return new Range2(comp.value, options).test(this.value);
+        } else if (comp.operator === "") {
+          if (comp.value === "") {
+            return true;
+          }
+          return new Range2(this.value, options).test(comp.semver);
+        }
+        options = parseOptions(options);
+        if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
+          return false;
+        }
+        if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
+          return false;
+        }
+        if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
+          return true;
+        }
+        if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
+          return true;
+        }
+        if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
+          return true;
+        }
+        if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
+          return true;
+        }
+        if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
+          return true;
+        }
+        return false;
+      }
+    };
+    module2.exports = Comparator;
+    var parseOptions = require_parse_options();
+    var { safeRe: re, t } = require_re();
+    var cmp = require_cmp();
+    var debug5 = require_debug();
+    var SemVer = require_semver();
+    var Range2 = require_range();
+  }
+});
+
+// node_modules/semver/functions/satisfies.js
+var require_satisfies = __commonJS({
+  "node_modules/semver/functions/satisfies.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var satisfies2 = (version, range, options) => {
+      try {
+        range = new Range2(range, options);
+      } catch (er) {
+        return false;
+      }
+      return range.test(version);
+    };
+    module2.exports = satisfies2;
+  }
+});
+
+// node_modules/semver/ranges/to-comparators.js
+var require_to_comparators = __commonJS({
+  "node_modules/semver/ranges/to-comparators.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var toComparators = (range, options) => new Range2(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
+    module2.exports = toComparators;
+  }
+});
+
+// node_modules/semver/ranges/max-satisfying.js
+var require_max_satisfying = __commonJS({
+  "node_modules/semver/ranges/max-satisfying.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var maxSatisfying = (versions, range, options) => {
+      let max = null;
+      let maxSV = null;
+      let rangeObj = null;
+      try {
+        rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
+      }
+      versions.forEach((v) => {
+        if (rangeObj.test(v)) {
+          if (!max || maxSV.compare(v) === -1) {
+            max = v;
+            maxSV = new SemVer(max, options);
+          }
+        }
+      });
+      return max;
+    };
+    module2.exports = maxSatisfying;
+  }
+});
+
+// node_modules/semver/ranges/min-satisfying.js
+var require_min_satisfying = __commonJS({
+  "node_modules/semver/ranges/min-satisfying.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var minSatisfying = (versions, range, options) => {
+      let min = null;
+      let minSV = null;
+      let rangeObj = null;
+      try {
+        rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
+      }
+      versions.forEach((v) => {
+        if (rangeObj.test(v)) {
+          if (!min || minSV.compare(v) === 1) {
+            min = v;
+            minSV = new SemVer(min, options);
+          }
+        }
+      });
+      return min;
+    };
+    module2.exports = minSatisfying;
+  }
+});
+
+// node_modules/semver/ranges/min-version.js
+var require_min_version = __commonJS({
+  "node_modules/semver/ranges/min-version.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var gt = require_gt();
+    var minVersion = (range, loose) => {
+      range = new Range2(range, loose);
+      let minver = new SemVer("0.0.0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = new SemVer("0.0.0-0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = null;
+      for (let i = 0; i < range.set.length; ++i) {
+        const comparators = range.set[i];
+        let setMin = null;
+        comparators.forEach((comparator) => {
+          const compver = new SemVer(comparator.semver.version);
+          switch (comparator.operator) {
+            case ">":
+              if (compver.prerelease.length === 0) {
+                compver.patch++;
+              } else {
+                compver.prerelease.push(0);
+              }
+              compver.raw = compver.format();
+            /* fallthrough */
+            case "":
+            case ">=":
+              if (!setMin || gt(compver, setMin)) {
+                setMin = compver;
+              }
+              break;
+            case "<":
+            case "<=":
+              break;
+            /* istanbul ignore next */
+            default:
+              throw new Error(`Unexpected operation: ${comparator.operator}`);
+          }
+        });
+        if (setMin && (!minver || gt(minver, setMin))) {
+          minver = setMin;
+        }
+      }
+      if (minver && range.test(minver)) {
+        return minver;
+      }
+      return null;
+    };
+    module2.exports = minVersion;
+  }
+});
+
+// node_modules/semver/ranges/valid.js
+var require_valid2 = __commonJS({
+  "node_modules/semver/ranges/valid.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var validRange = (range, options) => {
+      try {
+        return new Range2(range, options).range || "*";
+      } catch (er) {
+        return null;
+      }
+    };
+    module2.exports = validRange;
+  }
+});
+
+// node_modules/semver/ranges/outside.js
+var require_outside = __commonJS({
+  "node_modules/semver/ranges/outside.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Comparator = require_comparator();
+    var { ANY } = Comparator;
+    var Range2 = require_range();
+    var satisfies2 = require_satisfies();
+    var gt = require_gt();
+    var lt = require_lt();
+    var lte = require_lte();
+    var gte4 = require_gte();
+    var outside = (version, range, hilo, options) => {
+      version = new SemVer(version, options);
+      range = new Range2(range, options);
+      let gtfn, ltefn, ltfn, comp, ecomp;
+      switch (hilo) {
+        case ">":
+          gtfn = gt;
+          ltefn = lte;
+          ltfn = lt;
+          comp = ">";
+          ecomp = ">=";
+          break;
+        case "<":
+          gtfn = lt;
+          ltefn = gte4;
+          ltfn = gt;
+          comp = "<";
+          ecomp = "<=";
+          break;
+        default:
+          throw new TypeError('Must provide a hilo val of "<" or ">"');
+      }
+      if (satisfies2(version, range, options)) {
+        return false;
+      }
+      for (let i = 0; i < range.set.length; ++i) {
+        const comparators = range.set[i];
+        let high = null;
+        let low = null;
+        comparators.forEach((comparator) => {
+          if (comparator.semver === ANY) {
+            comparator = new Comparator(">=0.0.0");
+          }
+          high = high || comparator;
+          low = low || comparator;
+          if (gtfn(comparator.semver, high.semver, options)) {
+            high = comparator;
+          } else if (ltfn(comparator.semver, low.semver, options)) {
+            low = comparator;
+          }
+        });
+        if (high.operator === comp || high.operator === ecomp) {
+          return false;
+        }
+        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
+          return false;
+        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
+          return false;
+        }
+      }
+      return true;
+    };
+    module2.exports = outside;
+  }
+});
+
+// node_modules/semver/ranges/gtr.js
+var require_gtr = __commonJS({
+  "node_modules/semver/ranges/gtr.js"(exports2, module2) {
+    "use strict";
+    var outside = require_outside();
+    var gtr = (version, range, options) => outside(version, range, ">", options);
+    module2.exports = gtr;
+  }
+});
+
+// node_modules/semver/ranges/ltr.js
+var require_ltr = __commonJS({
+  "node_modules/semver/ranges/ltr.js"(exports2, module2) {
+    "use strict";
+    var outside = require_outside();
+    var ltr = (version, range, options) => outside(version, range, "<", options);
+    module2.exports = ltr;
+  }
+});
+
+// node_modules/semver/ranges/intersects.js
+var require_intersects = __commonJS({
+  "node_modules/semver/ranges/intersects.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var intersects = (r1, r2, options) => {
+      r1 = new Range2(r1, options);
+      r2 = new Range2(r2, options);
+      return r1.intersects(r2, options);
+    };
+    module2.exports = intersects;
   }
 });
 
-// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js
-function endpointsToMethods(octokit) {
-  const newMethods = {};
-  for (const scope of endpointMethodsMap.keys()) {
-    newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
-  }
-  return newMethods;
-}
-function decorate(octokit, scope, methodName, defaults, decorations) {
-  const requestWithDefaults = octokit.request.defaults(defaults);
-  function withDecorations(...args) {
-    let options = requestWithDefaults.endpoint.merge(...args);
-    if (decorations.mapToData) {
-      options = Object.assign({}, options, {
-        data: options[decorations.mapToData],
-        [decorations.mapToData]: void 0
-      });
-      return requestWithDefaults(options);
-    }
-    if (decorations.renamed) {
-      const [newScope, newMethodName] = decorations.renamed;
-      octokit.log.warn(
-        `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
-      );
-    }
-    if (decorations.deprecated) {
-      octokit.log.warn(decorations.deprecated);
-    }
-    if (decorations.renamedParameters) {
-      const options2 = requestWithDefaults.endpoint.merge(...args);
-      for (const [name, alias] of Object.entries(
-        decorations.renamedParameters
-      )) {
-        if (name in options2) {
-          octokit.log.warn(
-            `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`
-          );
-          if (!(alias in options2)) {
-            options2[alias] = options2[name];
+// node_modules/semver/ranges/simplify.js
+var require_simplify = __commonJS({
+  "node_modules/semver/ranges/simplify.js"(exports2, module2) {
+    "use strict";
+    var satisfies2 = require_satisfies();
+    var compare = require_compare();
+    module2.exports = (versions, range, options) => {
+      const set2 = [];
+      let first = null;
+      let prev = null;
+      const v = versions.sort((a, b) => compare(a, b, options));
+      for (const version of v) {
+        const included = satisfies2(version, range, options);
+        if (included) {
+          prev = version;
+          if (!first) {
+            first = version;
           }
-          delete options2[name];
+        } else {
+          if (prev) {
+            set2.push([first, prev]);
+          }
+          prev = null;
+          first = null;
         }
       }
-      return requestWithDefaults(options2);
-    }
-    return requestWithDefaults(...args);
-  }
-  return Object.assign(withDecorations, requestWithDefaults);
-}
-var endpointMethodsMap, handler;
-var init_endpoints_to_methods = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js"() {
-    init_endpoints();
-    endpointMethodsMap = /* @__PURE__ */ new Map();
-    for (const [scope, endpoints] of Object.entries(endpoints_default)) {
-      for (const [methodName, endpoint2] of Object.entries(endpoints)) {
-        const [route, defaults, decorations] = endpoint2;
-        const [method, url] = route.split(/ /);
-        const endpointDefaults = Object.assign(
-          {
-            method,
-            url
-          },
-          defaults
-        );
-        if (!endpointMethodsMap.has(scope)) {
-          endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());
+      if (first) {
+        set2.push([first, null]);
+      }
+      const ranges = [];
+      for (const [min, max] of set2) {
+        if (min === max) {
+          ranges.push(min);
+        } else if (!max && min === v[0]) {
+          ranges.push("*");
+        } else if (!max) {
+          ranges.push(`>=${min}`);
+        } else if (min === v[0]) {
+          ranges.push(`<=${max}`);
+        } else {
+          ranges.push(`${min} - ${max}`);
         }
-        endpointMethodsMap.get(scope).set(methodName, {
-          scope,
-          methodName,
-          endpointDefaults,
-          decorations
-        });
       }
-    }
-    handler = {
-      has({ scope }, methodName) {
-        return endpointMethodsMap.get(scope).has(methodName);
-      },
-      getOwnPropertyDescriptor(target, methodName) {
-        return {
-          value: this.get(target, methodName),
-          // ensures method is in the cache
-          configurable: true,
-          writable: true,
-          enumerable: true
-        };
-      },
-      defineProperty(target, methodName, descriptor) {
-        Object.defineProperty(target.cache, methodName, descriptor);
+      const simplified = ranges.join(" || ");
+      const original = typeof range.raw === "string" ? range.raw : String(range);
+      return simplified.length < original.length ? simplified : range;
+    };
+  }
+});
+
+// node_modules/semver/ranges/subset.js
+var require_subset = __commonJS({
+  "node_modules/semver/ranges/subset.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var Comparator = require_comparator();
+    var { ANY } = Comparator;
+    var satisfies2 = require_satisfies();
+    var compare = require_compare();
+    var subset = (sub, dom, options = {}) => {
+      if (sub === dom) {
         return true;
-      },
-      deleteProperty(target, methodName) {
-        delete target.cache[methodName];
+      }
+      sub = new Range2(sub, options);
+      dom = new Range2(dom, options);
+      let sawNonNull = false;
+      OUTER: for (const simpleSub of sub.set) {
+        for (const simpleDom of dom.set) {
+          const isSub = simpleSubset(simpleSub, simpleDom, options);
+          sawNonNull = sawNonNull || isSub !== null;
+          if (isSub) {
+            continue OUTER;
+          }
+        }
+        if (sawNonNull) {
+          return false;
+        }
+      }
+      return true;
+    };
+    var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
+    var minimumVersion = [new Comparator(">=0.0.0")];
+    var simpleSubset = (sub, dom, options) => {
+      if (sub === dom) {
         return true;
-      },
-      ownKeys({ scope }) {
-        return [...endpointMethodsMap.get(scope).keys()];
-      },
-      set(target, methodName, value) {
-        return target.cache[methodName] = value;
-      },
-      get({ octokit, scope, cache }, methodName) {
-        if (cache[methodName]) {
-          return cache[methodName];
+      }
+      if (sub.length === 1 && sub[0].semver === ANY) {
+        if (dom.length === 1 && dom[0].semver === ANY) {
+          return true;
+        } else if (options.includePrerelease) {
+          sub = minimumVersionWithPreRelease;
+        } else {
+          sub = minimumVersion;
         }
-        const method = endpointMethodsMap.get(scope).get(methodName);
-        if (!method) {
-          return void 0;
+      }
+      if (dom.length === 1 && dom[0].semver === ANY) {
+        if (options.includePrerelease) {
+          return true;
+        } else {
+          dom = minimumVersion;
         }
-        const { endpointDefaults, decorations } = method;
-        if (decorations) {
-          cache[methodName] = decorate(
-            octokit,
-            scope,
-            methodName,
-            endpointDefaults,
-            decorations
-          );
+      }
+      const eqSet = /* @__PURE__ */ new Set();
+      let gt, lt;
+      for (const c of sub) {
+        if (c.operator === ">" || c.operator === ">=") {
+          gt = higherGT(gt, c, options);
+        } else if (c.operator === "<" || c.operator === "<=") {
+          lt = lowerLT(lt, c, options);
         } else {
-          cache[methodName] = octokit.request.defaults(endpointDefaults);
+          eqSet.add(c.semver);
         }
-        return cache[methodName];
       }
+      if (eqSet.size > 1) {
+        return null;
+      }
+      let gtltComp;
+      if (gt && lt) {
+        gtltComp = compare(gt.semver, lt.semver, options);
+        if (gtltComp > 0) {
+          return null;
+        } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
+          return null;
+        }
+      }
+      for (const eq of eqSet) {
+        if (gt && !satisfies2(eq, String(gt), options)) {
+          return null;
+        }
+        if (lt && !satisfies2(eq, String(lt), options)) {
+          return null;
+        }
+        for (const c of dom) {
+          if (!satisfies2(eq, String(c), options)) {
+            return false;
+          }
+        }
+        return true;
+      }
+      let higher, lower;
+      let hasDomLT, hasDomGT;
+      let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
+      let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
+      if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
+        needDomLTPre = false;
+      }
+      for (const c of dom) {
+        hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
+        hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
+        if (gt) {
+          if (needDomGTPre) {
+            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
+              needDomGTPre = false;
+            }
+          }
+          if (c.operator === ">" || c.operator === ">=") {
+            higher = higherGT(gt, c, options);
+            if (higher === c && higher !== gt) {
+              return false;
+            }
+          } else if (gt.operator === ">=" && !satisfies2(gt.semver, String(c), options)) {
+            return false;
+          }
+        }
+        if (lt) {
+          if (needDomLTPre) {
+            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
+              needDomLTPre = false;
+            }
+          }
+          if (c.operator === "<" || c.operator === "<=") {
+            lower = lowerLT(lt, c, options);
+            if (lower === c && lower !== lt) {
+              return false;
+            }
+          } else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
+            return false;
+          }
+        }
+        if (!c.operator && (lt || gt) && gtltComp !== 0) {
+          return false;
+        }
+      }
+      if (gt && hasDomLT && !lt && gtltComp !== 0) {
+        return false;
+      }
+      if (lt && hasDomGT && !gt && gtltComp !== 0) {
+        return false;
+      }
+      if (needDomGTPre || needDomLTPre) {
+        return false;
+      }
+      return true;
+    };
+    var higherGT = (a, b, options) => {
+      if (!a) {
+        return b;
+      }
+      const comp = compare(a.semver, b.semver, options);
+      return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
+    };
+    var lowerLT = (a, b, options) => {
+      if (!a) {
+        return b;
+      }
+      const comp = compare(a.semver, b.semver, options);
+      return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
     };
+    module2.exports = subset;
   }
 });
 
-// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js
-var dist_src_exports2 = {};
-__export(dist_src_exports2, {
-  legacyRestEndpointMethods: () => legacyRestEndpointMethods,
-  restEndpointMethods: () => restEndpointMethods
+// node_modules/semver/index.js
+var require_semver2 = __commonJS({
+  "node_modules/semver/index.js"(exports2, module2) {
+    "use strict";
+    var internalRe = require_re();
+    var constants = require_constants11();
+    var SemVer = require_semver();
+    var identifiers = require_identifiers();
+    var parse2 = require_parse3();
+    var valid2 = require_valid();
+    var clean = require_clean();
+    var inc = require_inc();
+    var diff = require_diff();
+    var major = require_major();
+    var minor = require_minor();
+    var patch = require_patch();
+    var prerelease = require_prerelease();
+    var compare = require_compare();
+    var rcompare = require_rcompare();
+    var compareLoose = require_compare_loose();
+    var compareBuild = require_compare_build();
+    var sort = require_sort();
+    var rsort = require_rsort();
+    var gt = require_gt();
+    var lt = require_lt();
+    var eq = require_eq();
+    var neq = require_neq();
+    var gte4 = require_gte();
+    var lte = require_lte();
+    var cmp = require_cmp();
+    var coerce2 = require_coerce();
+    var Comparator = require_comparator();
+    var Range2 = require_range();
+    var satisfies2 = require_satisfies();
+    var toComparators = require_to_comparators();
+    var maxSatisfying = require_max_satisfying();
+    var minSatisfying = require_min_satisfying();
+    var minVersion = require_min_version();
+    var validRange = require_valid2();
+    var outside = require_outside();
+    var gtr = require_gtr();
+    var ltr = require_ltr();
+    var intersects = require_intersects();
+    var simplifyRange = require_simplify();
+    var subset = require_subset();
+    module2.exports = {
+      parse: parse2,
+      valid: valid2,
+      clean,
+      inc,
+      diff,
+      major,
+      minor,
+      patch,
+      prerelease,
+      compare,
+      rcompare,
+      compareLoose,
+      compareBuild,
+      sort,
+      rsort,
+      gt,
+      lt,
+      eq,
+      neq,
+      gte: gte4,
+      lte,
+      cmp,
+      coerce: coerce2,
+      Comparator,
+      Range: Range2,
+      satisfies: satisfies2,
+      toComparators,
+      maxSatisfying,
+      minSatisfying,
+      minVersion,
+      validRange,
+      outside,
+      gtr,
+      ltr,
+      intersects,
+      simplifyRange,
+      subset,
+      SemVer,
+      re: internalRe.re,
+      src: internalRe.src,
+      tokens: internalRe.t,
+      SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
+      RELEASE_TYPES: constants.RELEASE_TYPES,
+      compareIdentifiers: identifiers.compareIdentifiers,
+      rcompareIdentifiers: identifiers.rcompareIdentifiers
+    };
+  }
 });
-function restEndpointMethods(octokit) {
-  const api = endpointsToMethods(octokit);
-  return {
-    rest: api
-  };
-}
-function legacyRestEndpointMethods(octokit) {
-  const api = endpointsToMethods(octokit);
-  return {
-    ...api,
-    rest: api
-  };
-}
-var init_dist_src3 = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js"() {
-    init_version2();
-    init_endpoints_to_methods();
-    restEndpointMethods.VERSION = VERSION5;
-    legacyRestEndpointMethods.VERSION = VERSION5;
+
+// package.json
+var require_package = __commonJS({
+  "package.json"(exports2, module2) {
+    module2.exports = {
+      name: "codeql",
+      version: "4.32.2",
+      private: true,
+      description: "CodeQL action",
+      scripts: {
+        _build_comment: "echo 'Run the full build so we typecheck the project and can reuse the transpiled files in npm test'",
+        build: "./scripts/check-node-modules.sh && npm run transpile && node build.mjs",
+        lint: "eslint --report-unused-disable-directives --max-warnings=0 .",
+        "lint-ci": "SARIF_ESLINT_IGNORE_SUPPRESSED=true eslint --report-unused-disable-directives --max-warnings=0 . --format @microsoft/eslint-formatter-sarif --output-file=eslint.sarif",
+        "lint-fix": "eslint --report-unused-disable-directives --max-warnings=0 . --fix",
+        ava: "npm run transpile && ava --serial --verbose",
+        test: "npm run ava -- src/",
+        "test-debug": "npm run test -- --timeout=20m",
+        transpile: "tsc --build --verbose"
+      },
+      ava: {
+        typescript: {
+          rewritePaths: {
+            "src/": "build/"
+          },
+          compile: false
+        }
+      },
+      license: "MIT",
+      dependencies: {
+        "@actions/artifact": "^5.0.3",
+        "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
+        "@actions/cache": "^5.0.5",
+        "@actions/core": "^2.0.3",
+        "@actions/exec": "^2.0.0",
+        "@actions/github": "^8.0.1",
+        "@actions/glob": "^0.5.0",
+        "@actions/http-client": "^3.0.0",
+        "@actions/io": "^2.0.0",
+        "@actions/tool-cache": "^3.0.1",
+        "@octokit/plugin-retry": "^8.0.0",
+        "@schemastore/package": "0.0.10",
+        archiver: "^7.0.1",
+        "fast-deep-equal": "^3.1.3",
+        "follow-redirects": "^1.15.11",
+        "get-folder-size": "^5.0.0",
+        "js-yaml": "^4.1.1",
+        jsonschema: "1.4.1",
+        long: "^5.3.2",
+        "node-forge": "^1.3.3",
+        semver: "^7.7.3",
+        uuid: "^13.0.0"
+      },
+      devDependencies: {
+        "@ava/typescript": "6.0.0",
+        "@eslint/compat": "^2.0.1",
+        "@eslint/eslintrc": "^3.3.3",
+        "@eslint/js": "^9.39.2",
+        "@microsoft/eslint-formatter-sarif": "^3.1.0",
+        "@octokit/types": "^16.0.0",
+        "@types/archiver": "^7.0.0",
+        "@types/follow-redirects": "^1.14.4",
+        "@types/js-yaml": "^4.0.9",
+        "@types/node": "^20.19.9",
+        "@types/node-forge": "^1.3.14",
+        "@types/semver": "^7.7.1",
+        "@types/sinon": "^21.0.0",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
+        "@typescript-eslint/parser": "^8.48.0",
+        ava: "^6.4.1",
+        esbuild: "^0.27.2",
+        eslint: "^8.57.1",
+        "eslint-import-resolver-typescript": "^3.8.7",
+        "eslint-plugin-filenames": "^1.3.2",
+        "eslint-plugin-github": "^5.1.8",
+        "eslint-plugin-import": "2.29.1",
+        "eslint-plugin-jsdoc": "^62.4.1",
+        "eslint-plugin-no-async-foreach": "^0.1.1",
+        glob: "^11.1.0",
+        nock: "^14.0.10",
+        sinon: "^21.0.1",
+        typescript: "^5.9.3"
+      },
+      overrides: {
+        "@actions/tool-cache": {
+          semver: ">=6.3.1"
+        },
+        "@octokit/request-error": {
+          semver: ">=5.1.1"
+        },
+        "@octokit/request": {
+          semver: ">=8.4.1"
+        },
+        "@octokit/plugin-paginate-rest": {
+          semver: ">=9.2.2"
+        },
+        "eslint-plugin-import": {
+          semver: ">=6.3.1"
+        },
+        "eslint-plugin-jsx-a11y": {
+          semver: ">=6.3.1"
+        },
+        "brace-expansion@2.0.1": "2.0.2",
+        glob: "^11.1.0"
+      }
+    };
   }
 });
 
-// node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js
-var dist_bundle_exports = {};
-__export(dist_bundle_exports, {
-  composePaginateRest: () => composePaginateRest,
-  isPaginatingEndpoint: () => isPaginatingEndpoint,
-  paginateRest: () => paginateRest,
-  paginatingEndpoints: () => paginatingEndpoints
-});
-function normalizePaginatedListResponse(response) {
-  if (!response.data) {
-    return {
-      ...response,
-      data: []
-    };
-  }
-  const responseNeedsNormalization = ("total_count" in response.data || "total_commits" in response.data) && !("url" in response.data);
-  if (!responseNeedsNormalization) return response;
-  const incompleteResults = response.data.incomplete_results;
-  const repositorySelection = response.data.repository_selection;
-  const totalCount = response.data.total_count;
-  const totalCommits = response.data.total_commits;
-  delete response.data.incomplete_results;
-  delete response.data.repository_selection;
-  delete response.data.total_count;
-  delete response.data.total_commits;
-  const namespaceKey = Object.keys(response.data)[0];
-  const data = response.data[namespaceKey];
-  response.data = data;
-  if (typeof incompleteResults !== "undefined") {
-    response.data.incomplete_results = incompleteResults;
-  }
-  if (typeof repositorySelection !== "undefined") {
-    response.data.repository_selection = repositorySelection;
-  }
-  response.data.total_count = totalCount;
-  response.data.total_commits = totalCommits;
-  return response;
-}
-function iterator(octokit, route, parameters) {
-  const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
-  const requestMethod = typeof route === "function" ? route : octokit.request;
-  const method = options.method;
-  const headers = options.headers;
-  let url = options.url;
-  return {
-    [Symbol.asyncIterator]: () => ({
-      async next() {
-        if (!url) return { done: true };
-        try {
-          const response = await requestMethod({ method, url, headers });
-          const normalizedResponse = normalizePaginatedListResponse(response);
-          url = ((normalizedResponse.headers.link || "").match(
-            /<([^<>]+)>;\s*rel="next"/
-          ) || [])[1];
-          if (!url && "total_commits" in normalizedResponse.data) {
-            const parsedUrl = new URL(normalizedResponse.url);
-            const params = parsedUrl.searchParams;
-            const page = parseInt(params.get("page") || "1", 10);
-            const per_page = parseInt(params.get("per_page") || "250", 10);
-            if (page * per_page < normalizedResponse.data.total_commits) {
-              params.set("page", String(page + 1));
-              url = parsedUrl.toString();
-            }
-          }
-          return { value: normalizedResponse };
-        } catch (error3) {
-          if (error3.status !== 409) throw error3;
-          url = "";
-          return {
-            value: {
-              status: 200,
-              headers: {},
-              data: []
-            }
-          };
-        }
+// node_modules/@actions/tool-cache/lib/manifest.js
+var require_manifest = __commonJS({
+  "node_modules/@actions/tool-cache/lib/manifest.js"(exports2, module2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-    })
-  };
-}
-function paginate(octokit, route, parameters, mapFn) {
-  if (typeof parameters === "function") {
-    mapFn = parameters;
-    parameters = void 0;
-  }
-  return gather(
-    octokit,
-    [],
-    iterator(octokit, route, parameters)[Symbol.asyncIterator](),
-    mapFn
-  );
-}
-function gather(octokit, results, iterator2, mapFn) {
-  return iterator2.next().then((result) => {
-    if (result.done) {
-      return results;
-    }
-    let earlyExit = false;
-    function done() {
-      earlyExit = true;
-    }
-    results = results.concat(
-      mapFn ? mapFn(result.value, done) : result.value.data
-    );
-    if (earlyExit) {
-      return results;
-    }
-    return gather(octokit, results, iterator2, mapFn);
-  });
-}
-function isPaginatingEndpoint(arg) {
-  if (typeof arg === "string") {
-    return paginatingEndpoints.includes(arg);
-  } else {
-    return false;
-  }
-}
-function paginateRest(octokit) {
-  return {
-    paginate: Object.assign(paginate.bind(null, octokit), {
-      iterator: iterator.bind(null, octokit)
-    })
-  };
-}
-var VERSION6, composePaginateRest, paginatingEndpoints;
-var init_dist_bundle5 = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js"() {
-    VERSION6 = "0.0.0-development";
-    composePaginateRest = Object.assign(paginate, {
-      iterator
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
     });
-    paginatingEndpoints = [
-      "GET /advisories",
-      "GET /app/hook/deliveries",
-      "GET /app/installation-requests",
-      "GET /app/installations",
-      "GET /assignments/{assignment_id}/accepted_assignments",
-      "GET /classrooms",
-      "GET /classrooms/{classroom_id}/assignments",
-      "GET /enterprises/{enterprise}/code-security/configurations",
-      "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories",
-      "GET /enterprises/{enterprise}/dependabot/alerts",
-      "GET /enterprises/{enterprise}/teams",
-      "GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships",
-      "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations",
-      "GET /events",
-      "GET /gists",
-      "GET /gists/public",
-      "GET /gists/starred",
-      "GET /gists/{gist_id}/comments",
-      "GET /gists/{gist_id}/commits",
-      "GET /gists/{gist_id}/forks",
-      "GET /installation/repositories",
-      "GET /issues",
-      "GET /licenses",
-      "GET /marketplace_listing/plans",
-      "GET /marketplace_listing/plans/{plan_id}/accounts",
-      "GET /marketplace_listing/stubbed/plans",
-      "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts",
-      "GET /networks/{owner}/{repo}/events",
-      "GET /notifications",
-      "GET /organizations",
-      "GET /organizations/{org}/dependabot/repository-access",
-      "GET /orgs/{org}/actions/cache/usage-by-repository",
-      "GET /orgs/{org}/actions/hosted-runners",
-      "GET /orgs/{org}/actions/permissions/repositories",
-      "GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories",
-      "GET /orgs/{org}/actions/runner-groups",
-      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners",
-      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories",
-      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners",
-      "GET /orgs/{org}/actions/runners",
-      "GET /orgs/{org}/actions/secrets",
-      "GET /orgs/{org}/actions/secrets/{secret_name}/repositories",
-      "GET /orgs/{org}/actions/variables",
-      "GET /orgs/{org}/actions/variables/{name}/repositories",
-      "GET /orgs/{org}/attestations/repositories",
-      "GET /orgs/{org}/attestations/{subject_digest}",
-      "GET /orgs/{org}/blocks",
-      "GET /orgs/{org}/campaigns",
-      "GET /orgs/{org}/code-scanning/alerts",
-      "GET /orgs/{org}/code-security/configurations",
-      "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories",
-      "GET /orgs/{org}/codespaces",
-      "GET /orgs/{org}/codespaces/secrets",
-      "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories",
-      "GET /orgs/{org}/copilot/billing/seats",
-      "GET /orgs/{org}/copilot/metrics",
-      "GET /orgs/{org}/dependabot/alerts",
-      "GET /orgs/{org}/dependabot/secrets",
-      "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories",
-      "GET /orgs/{org}/events",
-      "GET /orgs/{org}/failed_invitations",
-      "GET /orgs/{org}/hooks",
-      "GET /orgs/{org}/hooks/{hook_id}/deliveries",
-      "GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}",
-      "GET /orgs/{org}/insights/api/subject-stats",
-      "GET /orgs/{org}/insights/api/user-stats/{user_id}",
-      "GET /orgs/{org}/installations",
-      "GET /orgs/{org}/invitations",
-      "GET /orgs/{org}/invitations/{invitation_id}/teams",
-      "GET /orgs/{org}/issues",
-      "GET /orgs/{org}/members",
-      "GET /orgs/{org}/members/{username}/codespaces",
-      "GET /orgs/{org}/migrations",
-      "GET /orgs/{org}/migrations/{migration_id}/repositories",
-      "GET /orgs/{org}/organization-roles/{role_id}/teams",
-      "GET /orgs/{org}/organization-roles/{role_id}/users",
-      "GET /orgs/{org}/outside_collaborators",
-      "GET /orgs/{org}/packages",
-      "GET /orgs/{org}/packages/{package_type}/{package_name}/versions",
-      "GET /orgs/{org}/personal-access-token-requests",
-      "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories",
-      "GET /orgs/{org}/personal-access-tokens",
-      "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories",
-      "GET /orgs/{org}/private-registries",
-      "GET /orgs/{org}/projects",
-      "GET /orgs/{org}/projectsV2",
-      "GET /orgs/{org}/projectsV2/{project_number}/fields",
-      "GET /orgs/{org}/projectsV2/{project_number}/items",
-      "GET /orgs/{org}/properties/values",
-      "GET /orgs/{org}/public_members",
-      "GET /orgs/{org}/repos",
-      "GET /orgs/{org}/rulesets",
-      "GET /orgs/{org}/rulesets/rule-suites",
-      "GET /orgs/{org}/rulesets/{ruleset_id}/history",
-      "GET /orgs/{org}/secret-scanning/alerts",
-      "GET /orgs/{org}/security-advisories",
-      "GET /orgs/{org}/settings/immutable-releases/repositories",
-      "GET /orgs/{org}/settings/network-configurations",
-      "GET /orgs/{org}/team/{team_slug}/copilot/metrics",
-      "GET /orgs/{org}/teams",
-      "GET /orgs/{org}/teams/{team_slug}/discussions",
-      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments",
-      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",
-      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",
-      "GET /orgs/{org}/teams/{team_slug}/invitations",
-      "GET /orgs/{org}/teams/{team_slug}/members",
-      "GET /orgs/{org}/teams/{team_slug}/projects",
-      "GET /orgs/{org}/teams/{team_slug}/repos",
-      "GET /orgs/{org}/teams/{team_slug}/teams",
-      "GET /projects/{project_id}/collaborators",
-      "GET /repos/{owner}/{repo}/actions/artifacts",
-      "GET /repos/{owner}/{repo}/actions/caches",
-      "GET /repos/{owner}/{repo}/actions/organization-secrets",
-      "GET /repos/{owner}/{repo}/actions/organization-variables",
-      "GET /repos/{owner}/{repo}/actions/runners",
-      "GET /repos/{owner}/{repo}/actions/runs",
-      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts",
-      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs",
-      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs",
-      "GET /repos/{owner}/{repo}/actions/secrets",
-      "GET /repos/{owner}/{repo}/actions/variables",
-      "GET /repos/{owner}/{repo}/actions/workflows",
-      "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs",
-      "GET /repos/{owner}/{repo}/activity",
-      "GET /repos/{owner}/{repo}/assignees",
-      "GET /repos/{owner}/{repo}/attestations/{subject_digest}",
-      "GET /repos/{owner}/{repo}/branches",
-      "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations",
-      "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs",
-      "GET /repos/{owner}/{repo}/code-scanning/alerts",
-      "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
-      "GET /repos/{owner}/{repo}/code-scanning/analyses",
-      "GET /repos/{owner}/{repo}/codespaces",
-      "GET /repos/{owner}/{repo}/codespaces/devcontainers",
-      "GET /repos/{owner}/{repo}/codespaces/secrets",
-      "GET /repos/{owner}/{repo}/collaborators",
-      "GET /repos/{owner}/{repo}/comments",
-      "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/commits",
-      "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments",
-      "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls",
-      "GET /repos/{owner}/{repo}/commits/{ref}/check-runs",
-      "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
-      "GET /repos/{owner}/{repo}/commits/{ref}/status",
-      "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
-      "GET /repos/{owner}/{repo}/compare/{basehead}",
-      "GET /repos/{owner}/{repo}/compare/{base}...{head}",
-      "GET /repos/{owner}/{repo}/contributors",
-      "GET /repos/{owner}/{repo}/dependabot/alerts",
-      "GET /repos/{owner}/{repo}/dependabot/secrets",
-      "GET /repos/{owner}/{repo}/deployments",
-      "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses",
-      "GET /repos/{owner}/{repo}/environments",
-      "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies",
-      "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps",
-      "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets",
-      "GET /repos/{owner}/{repo}/environments/{environment_name}/variables",
-      "GET /repos/{owner}/{repo}/events",
-      "GET /repos/{owner}/{repo}/forks",
-      "GET /repos/{owner}/{repo}/hooks",
-      "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries",
-      "GET /repos/{owner}/{repo}/invitations",
-      "GET /repos/{owner}/{repo}/issues",
-      "GET /repos/{owner}/{repo}/issues/comments",
-      "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/issues/events",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/comments",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/events",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/labels",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline",
-      "GET /repos/{owner}/{repo}/keys",
-      "GET /repos/{owner}/{repo}/labels",
-      "GET /repos/{owner}/{repo}/milestones",
-      "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels",
-      "GET /repos/{owner}/{repo}/notifications",
-      "GET /repos/{owner}/{repo}/pages/builds",
-      "GET /repos/{owner}/{repo}/projects",
-      "GET /repos/{owner}/{repo}/pulls",
-      "GET /repos/{owner}/{repo}/pulls/comments",
-      "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/files",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments",
-      "GET /repos/{owner}/{repo}/releases",
-      "GET /repos/{owner}/{repo}/releases/{release_id}/assets",
-      "GET /repos/{owner}/{repo}/releases/{release_id}/reactions",
-      "GET /repos/{owner}/{repo}/rules/branches/{branch}",
-      "GET /repos/{owner}/{repo}/rulesets",
-      "GET /repos/{owner}/{repo}/rulesets/rule-suites",
-      "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history",
-      "GET /repos/{owner}/{repo}/secret-scanning/alerts",
-      "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations",
-      "GET /repos/{owner}/{repo}/security-advisories",
-      "GET /repos/{owner}/{repo}/stargazers",
-      "GET /repos/{owner}/{repo}/subscribers",
-      "GET /repos/{owner}/{repo}/tags",
-      "GET /repos/{owner}/{repo}/teams",
-      "GET /repos/{owner}/{repo}/topics",
-      "GET /repositories",
-      "GET /search/code",
-      "GET /search/commits",
-      "GET /search/issues",
-      "GET /search/labels",
-      "GET /search/repositories",
-      "GET /search/topics",
-      "GET /search/users",
-      "GET /teams/{team_id}/discussions",
-      "GET /teams/{team_id}/discussions/{discussion_number}/comments",
-      "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",
-      "GET /teams/{team_id}/discussions/{discussion_number}/reactions",
-      "GET /teams/{team_id}/invitations",
-      "GET /teams/{team_id}/members",
-      "GET /teams/{team_id}/projects",
-      "GET /teams/{team_id}/repos",
-      "GET /teams/{team_id}/teams",
-      "GET /user/blocks",
-      "GET /user/codespaces",
-      "GET /user/codespaces/secrets",
-      "GET /user/emails",
-      "GET /user/followers",
-      "GET /user/following",
-      "GET /user/gpg_keys",
-      "GET /user/installations",
-      "GET /user/installations/{installation_id}/repositories",
-      "GET /user/issues",
-      "GET /user/keys",
-      "GET /user/marketplace_purchases",
-      "GET /user/marketplace_purchases/stubbed",
-      "GET /user/memberships/orgs",
-      "GET /user/migrations",
-      "GET /user/migrations/{migration_id}/repositories",
-      "GET /user/orgs",
-      "GET /user/packages",
-      "GET /user/packages/{package_type}/{package_name}/versions",
-      "GET /user/public_emails",
-      "GET /user/repos",
-      "GET /user/repository_invitations",
-      "GET /user/social_accounts",
-      "GET /user/ssh_signing_keys",
-      "GET /user/starred",
-      "GET /user/subscriptions",
-      "GET /user/teams",
-      "GET /users",
-      "GET /users/{username}/attestations/{subject_digest}",
-      "GET /users/{username}/events",
-      "GET /users/{username}/events/orgs/{org}",
-      "GET /users/{username}/events/public",
-      "GET /users/{username}/followers",
-      "GET /users/{username}/following",
-      "GET /users/{username}/gists",
-      "GET /users/{username}/gpg_keys",
-      "GET /users/{username}/keys",
-      "GET /users/{username}/orgs",
-      "GET /users/{username}/packages",
-      "GET /users/{username}/projects",
-      "GET /users/{username}/projectsV2",
-      "GET /users/{username}/projectsV2/{project_number}/fields",
-      "GET /users/{username}/projectsV2/{project_number}/items",
-      "GET /users/{username}/received_events",
-      "GET /users/{username}/received_events/public",
-      "GET /users/{username}/repos",
-      "GET /users/{username}/social_accounts",
-      "GET /users/{username}/ssh_signing_keys",
-      "GET /users/{username}/starred",
-      "GET /users/{username}/subscriptions"
-    ];
-    paginateRest.VERSION = VERSION6;
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2._findMatch = _findMatch;
+    exports2._getOsVersion = _getOsVersion;
+    exports2._readLinuxVersionFile = _readLinuxVersionFile;
+    var semver6 = __importStar2(require_semver2());
+    var core_1 = require_core();
+    var os2 = require("os");
+    var cp = require("child_process");
+    var fs = require("fs");
+    function _findMatch(versionSpec, stable, candidates, archFilter) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const platFilter = os2.platform();
+        let result;
+        let match;
+        let file;
+        for (const candidate of candidates) {
+          const version = candidate.version;
+          (0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
+          if (semver6.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
+            file = candidate.files.find((item) => {
+              (0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
+              let chk = item.arch === archFilter && item.platform === platFilter;
+              if (chk && item.platform_version) {
+                const osVersion = module2.exports._getOsVersion();
+                if (osVersion === item.platform_version) {
+                  chk = true;
+                } else {
+                  chk = semver6.satisfies(osVersion, item.platform_version);
+                }
+              }
+              return chk;
+            });
+            if (file) {
+              (0, core_1.debug)(`matched ${candidate.version}`);
+              match = candidate;
+              break;
+            }
+          }
+        }
+        if (match && file) {
+          result = Object.assign({}, match);
+          result.files = [file];
+        }
+        return result;
+      });
+    }
+    function _getOsVersion() {
+      const plat = os2.platform();
+      let version = "";
+      if (plat === "darwin") {
+        version = cp.execSync("sw_vers -productVersion").toString();
+      } else if (plat === "linux") {
+        const lsbContents = module2.exports._readLinuxVersionFile();
+        if (lsbContents) {
+          const lines = lsbContents.split("\n");
+          for (const line of lines) {
+            const parts = line.split("=");
+            if (parts.length === 2 && (parts[0].trim() === "VERSION_ID" || parts[0].trim() === "DISTRIB_RELEASE")) {
+              version = parts[1].trim().replace(/^"/, "").replace(/"$/, "");
+              break;
+            }
+          }
+        }
+      }
+      return version;
+    }
+    function _readLinuxVersionFile() {
+      const lsbReleaseFile = "/etc/lsb-release";
+      const osReleaseFile = "/etc/os-release";
+      let contents = "";
+      if (fs.existsSync(lsbReleaseFile)) {
+        contents = fs.readFileSync(lsbReleaseFile).toString();
+      } else if (fs.existsSync(osReleaseFile)) {
+        contents = fs.readFileSync(osReleaseFile).toString();
+      }
+      return contents;
+    }
   }
 });
 
-// node_modules/@actions/github/lib/utils.js
-var require_utils5 = __commonJS({
-  "node_modules/@actions/github/lib/utils.js"(exports2) {
+// node_modules/@actions/tool-cache/lib/retry-helper.js
+var require_retry_helper = __commonJS({
+  "node_modules/@actions/tool-cache/lib/retry-helper.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
       if (k2 === void 0) k2 = k;
@@ -63011,194 +64062,636 @@ var require_utils5 = __commonJS({
         return result;
       };
     })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GitHub = exports2.defaults = exports2.context = void 0;
-    exports2.getOctokitOptions = getOctokitOptions2;
-    var Context = __importStar2(require_context());
-    var Utils = __importStar2(require_utils4());
-    var core_1 = (init_dist_src2(), __toCommonJS(dist_src_exports));
-    var plugin_rest_endpoint_methods_1 = (init_dist_src3(), __toCommonJS(dist_src_exports2));
-    var plugin_paginate_rest_1 = (init_dist_bundle5(), __toCommonJS(dist_bundle_exports));
-    exports2.context = new Context.Context();
-    var baseUrl = Utils.getApiBaseUrl();
-    exports2.defaults = {
-      baseUrl,
-      request: {
-        agent: Utils.getProxyAgent(baseUrl),
-        fetch: Utils.getProxyFetch(baseUrl)
+    exports2.RetryHelper = void 0;
+    var core12 = __importStar2(require_core());
+    var RetryHelper = class {
+      constructor(maxAttempts, minSeconds, maxSeconds) {
+        if (maxAttempts < 1) {
+          throw new Error("max attempts should be greater than or equal to 1");
+        }
+        this.maxAttempts = maxAttempts;
+        this.minSeconds = Math.floor(minSeconds);
+        this.maxSeconds = Math.floor(maxSeconds);
+        if (this.minSeconds > this.maxSeconds) {
+          throw new Error("min seconds should be less than or equal to max seconds");
+        }
+      }
+      execute(action, isRetryable) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let attempt = 1;
+          while (attempt < this.maxAttempts) {
+            try {
+              return yield action();
+            } catch (err) {
+              if (isRetryable && !isRetryable(err)) {
+                throw err;
+              }
+              core12.info(err.message);
+            }
+            const seconds = this.getSleepAmount();
+            core12.info(`Waiting ${seconds} seconds before trying again`);
+            yield this.sleep(seconds);
+            attempt++;
+          }
+          return yield action();
+        });
+      }
+      getSleepAmount() {
+        return Math.floor(Math.random() * (this.maxSeconds - this.minSeconds + 1)) + this.minSeconds;
+      }
+      sleep(seconds) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve2) => setTimeout(resolve2, seconds * 1e3));
+        });
+      }
+    };
+    exports2.RetryHelper = RetryHelper;
+  }
+});
+
+// node_modules/@actions/tool-cache/lib/tool-cache.js
+var require_tool_cache = __commonJS({
+  "node_modules/@actions/tool-cache/lib/tool-cache.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HTTPError = void 0;
+    exports2.downloadTool = downloadTool2;
+    exports2.extract7z = extract7z;
+    exports2.extractTar = extractTar2;
+    exports2.extractXar = extractXar;
+    exports2.extractZip = extractZip;
+    exports2.cacheDir = cacheDir2;
+    exports2.cacheFile = cacheFile;
+    exports2.find = find2;
+    exports2.findAllVersions = findAllVersions;
+    exports2.getManifestFromRepo = getManifestFromRepo;
+    exports2.findFromManifest = findFromManifest;
+    exports2.isExplicitVersion = isExplicitVersion;
+    exports2.evaluateVersions = evaluateVersions;
+    var core12 = __importStar2(require_core());
+    var io4 = __importStar2(require_io());
+    var crypto2 = __importStar2(require("crypto"));
+    var fs = __importStar2(require("fs"));
+    var mm = __importStar2(require_manifest());
+    var os2 = __importStar2(require("os"));
+    var path3 = __importStar2(require("path"));
+    var httpm = __importStar2(require_lib());
+    var semver6 = __importStar2(require_semver2());
+    var stream = __importStar2(require("stream"));
+    var util = __importStar2(require("util"));
+    var assert_1 = require("assert");
+    var exec_1 = require_exec();
+    var retry_helper_1 = require_retry_helper();
+    var HTTPError2 = class extends Error {
+      constructor(httpStatusCode) {
+        super(`Unexpected HTTP response: ${httpStatusCode}`);
+        this.httpStatusCode = httpStatusCode;
+        Object.setPrototypeOf(this, new.target.prototype);
+      }
+    };
+    exports2.HTTPError = HTTPError2;
+    var IS_WINDOWS = process.platform === "win32";
+    var IS_MAC = process.platform === "darwin";
+    var userAgent2 = "actions/tool-cache";
+    function downloadTool2(url, dest, auth2, headers) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        dest = dest || path3.join(_getTempDirectory(), crypto2.randomUUID());
+        yield io4.mkdirP(path3.dirname(dest));
+        core12.debug(`Downloading ${url}`);
+        core12.debug(`Destination ${dest}`);
+        const maxAttempts = 3;
+        const minSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS", 10);
+        const maxSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS", 20);
+        const retryHelper = new retry_helper_1.RetryHelper(maxAttempts, minSeconds, maxSeconds);
+        return yield retryHelper.execute(() => __awaiter2(this, void 0, void 0, function* () {
+          return yield downloadToolAttempt(url, dest || "", auth2, headers);
+        }), (err) => {
+          if (err instanceof HTTPError2 && err.httpStatusCode) {
+            if (err.httpStatusCode < 500 && err.httpStatusCode !== 408 && err.httpStatusCode !== 429) {
+              return false;
+            }
+          }
+          return true;
+        });
+      });
+    }
+    function downloadToolAttempt(url, dest, auth2, headers) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        if (fs.existsSync(dest)) {
+          throw new Error(`Destination file path ${dest} already exists`);
+        }
+        const http = new httpm.HttpClient(userAgent2, [], {
+          allowRetries: false
+        });
+        if (auth2) {
+          core12.debug("set auth");
+          if (headers === void 0) {
+            headers = {};
+          }
+          headers.authorization = auth2;
+        }
+        const response = yield http.get(url, headers);
+        if (response.message.statusCode !== 200) {
+          const err = new HTTPError2(response.message.statusCode);
+          core12.debug(`Failed to download from "${url}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`);
+          throw err;
+        }
+        const pipeline = util.promisify(stream.pipeline);
+        const responseMessageFactory = _getGlobal("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY", () => response.message);
+        const readStream = responseMessageFactory();
+        let succeeded = false;
+        try {
+          yield pipeline(readStream, fs.createWriteStream(dest));
+          core12.debug("download complete");
+          succeeded = true;
+          return dest;
+        } finally {
+          if (!succeeded) {
+            core12.debug("download failed");
+            try {
+              yield io4.rmRF(dest);
+            } catch (err) {
+              core12.debug(`Failed to delete '${dest}'. ${err.message}`);
+            }
+          }
+        }
+      });
+    }
+    function extract7z(file, dest, _7zPath) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, assert_1.ok)(IS_WINDOWS, "extract7z() not supported on current OS");
+        (0, assert_1.ok)(file, 'parameter "file" is required');
+        dest = yield _createExtractFolder(dest);
+        const originalCwd = process.cwd();
+        process.chdir(dest);
+        if (_7zPath) {
+          try {
+            const logLevel = core12.isDebug() ? "-bb1" : "-bb0";
+            const args = [
+              "x",
+              // eXtract files with full paths
+              logLevel,
+              // -bb[0-3] : set output log level
+              "-bd",
+              // disable progress indicator
+              "-sccUTF-8",
+              // set charset for for console input/output
+              file
+            ];
+            const options = {
+              silent: true
+            };
+            yield (0, exec_1.exec)(`"${_7zPath}"`, args, options);
+          } finally {
+            process.chdir(originalCwd);
+          }
+        } else {
+          const escapedScript = path3.join(__dirname, "..", "scripts", "Invoke-7zdec.ps1").replace(/'/g, "''").replace(/"|\n|\r/g, "");
+          const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, "");
+          const escapedTarget = dest.replace(/'/g, "''").replace(/"|\n|\r/g, "");
+          const command = `& '${escapedScript}' -Source '${escapedFile}' -Target '${escapedTarget}'`;
+          const args = [
+            "-NoLogo",
+            "-Sta",
+            "-NoProfile",
+            "-NonInteractive",
+            "-ExecutionPolicy",
+            "Unrestricted",
+            "-Command",
+            command
+          ];
+          const options = {
+            silent: true
+          };
+          try {
+            const powershellPath = yield io4.which("powershell", true);
+            yield (0, exec_1.exec)(`"${powershellPath}"`, args, options);
+          } finally {
+            process.chdir(originalCwd);
+          }
+        }
+        return dest;
+      });
+    }
+    function extractTar2(file_1, dest_1) {
+      return __awaiter2(this, arguments, void 0, function* (file, dest, flags = "xz") {
+        if (!file) {
+          throw new Error("parameter 'file' is required");
+        }
+        dest = yield _createExtractFolder(dest);
+        core12.debug("Checking tar --version");
+        let versionOutput = "";
+        yield (0, exec_1.exec)("tar --version", [], {
+          ignoreReturnCode: true,
+          silent: true,
+          listeners: {
+            stdout: (data) => versionOutput += data.toString(),
+            stderr: (data) => versionOutput += data.toString()
+          }
+        });
+        core12.debug(versionOutput.trim());
+        const isGnuTar = versionOutput.toUpperCase().includes("GNU TAR");
+        let args;
+        if (flags instanceof Array) {
+          args = flags;
+        } else {
+          args = [flags];
+        }
+        if (core12.isDebug() && !flags.includes("v")) {
+          args.push("-v");
+        }
+        let destArg = dest;
+        let fileArg = file;
+        if (IS_WINDOWS && isGnuTar) {
+          args.push("--force-local");
+          destArg = dest.replace(/\\/g, "/");
+          fileArg = file.replace(/\\/g, "/");
+        }
+        if (isGnuTar) {
+          args.push("--warning=no-unknown-keyword");
+          args.push("--overwrite");
+        }
+        args.push("-C", destArg, "-f", fileArg);
+        yield (0, exec_1.exec)(`tar`, args);
+        return dest;
+      });
+    }
+    function extractXar(file_1, dest_1) {
+      return __awaiter2(this, arguments, void 0, function* (file, dest, flags = []) {
+        (0, assert_1.ok)(IS_MAC, "extractXar() not supported on current OS");
+        (0, assert_1.ok)(file, 'parameter "file" is required');
+        dest = yield _createExtractFolder(dest);
+        let args;
+        if (flags instanceof Array) {
+          args = flags;
+        } else {
+          args = [flags];
+        }
+        args.push("-x", "-C", dest, "-f", file);
+        if (core12.isDebug()) {
+          args.push("-v");
+        }
+        const xarPath = yield io4.which("xar", true);
+        yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args));
+        return dest;
+      });
+    }
+    function extractZip(file, dest) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        if (!file) {
+          throw new Error("parameter 'file' is required");
+        }
+        dest = yield _createExtractFolder(dest);
+        if (IS_WINDOWS) {
+          yield extractZipWin(file, dest);
+        } else {
+          yield extractZipNix(file, dest);
+        }
+        return dest;
+      });
+    }
+    function extractZipWin(file, dest) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, "");
+        const escapedDest = dest.replace(/'/g, "''").replace(/"|\n|\r/g, "");
+        const pwshPath = yield io4.which("pwsh", false);
+        if (pwshPath) {
+          const pwshCommand = [
+            `$ErrorActionPreference = 'Stop' ;`,
+            `try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;`,
+            `try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`,
+            `catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force } else { throw $_ } } ;`
+          ].join(" ");
+          const args = [
+            "-NoLogo",
+            "-NoProfile",
+            "-NonInteractive",
+            "-ExecutionPolicy",
+            "Unrestricted",
+            "-Command",
+            pwshCommand
+          ];
+          core12.debug(`Using pwsh at path: ${pwshPath}`);
+          yield (0, exec_1.exec)(`"${pwshPath}"`, args);
+        } else {
+          const powershellCommand = [
+            `$ErrorActionPreference = 'Stop' ;`,
+            `try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`,
+            `if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force }`,
+            `else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`
+          ].join(" ");
+          const args = [
+            "-NoLogo",
+            "-Sta",
+            "-NoProfile",
+            "-NonInteractive",
+            "-ExecutionPolicy",
+            "Unrestricted",
+            "-Command",
+            powershellCommand
+          ];
+          const powershellPath = yield io4.which("powershell", true);
+          core12.debug(`Using powershell at path: ${powershellPath}`);
+          yield (0, exec_1.exec)(`"${powershellPath}"`, args);
+        }
+      });
+    }
+    function extractZipNix(file, dest) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const unzipPath = yield io4.which("unzip", true);
+        const args = [file];
+        if (!core12.isDebug()) {
+          args.unshift("-q");
+        }
+        args.unshift("-o");
+        yield (0, exec_1.exec)(`"${unzipPath}"`, args, { cwd: dest });
+      });
+    }
+    function cacheDir2(sourceDir, tool, version, arch) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        version = semver6.clean(version) || version;
+        arch = arch || os2.arch();
+        core12.debug(`Caching tool ${tool} ${version} ${arch}`);
+        core12.debug(`source dir: ${sourceDir}`);
+        if (!fs.statSync(sourceDir).isDirectory()) {
+          throw new Error("sourceDir is not a directory");
+        }
+        const destPath = yield _createToolPath(tool, version, arch);
+        for (const itemName of fs.readdirSync(sourceDir)) {
+          const s = path3.join(sourceDir, itemName);
+          yield io4.cp(s, destPath, { recursive: true });
+        }
+        _completeToolPath(tool, version, arch);
+        return destPath;
+      });
+    }
+    function cacheFile(sourceFile, targetFile, tool, version, arch) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        version = semver6.clean(version) || version;
+        arch = arch || os2.arch();
+        core12.debug(`Caching tool ${tool} ${version} ${arch}`);
+        core12.debug(`source file: ${sourceFile}`);
+        if (!fs.statSync(sourceFile).isFile()) {
+          throw new Error("sourceFile is not a file");
+        }
+        const destFolder = yield _createToolPath(tool, version, arch);
+        const destPath = path3.join(destFolder, targetFile);
+        core12.debug(`destination file ${destPath}`);
+        yield io4.cp(sourceFile, destPath);
+        _completeToolPath(tool, version, arch);
+        return destFolder;
+      });
+    }
+    function find2(toolName, versionSpec, arch) {
+      if (!toolName) {
+        throw new Error("toolName parameter is required");
       }
-    };
-    exports2.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports2.defaults);
-    function getOctokitOptions2(token, options) {
-      const opts = Object.assign({}, options || {});
-      const auth2 = Utils.getAuthString(token, opts);
-      if (auth2) {
-        opts.auth = auth2;
+      if (!versionSpec) {
+        throw new Error("versionSpec parameter is required");
       }
-      return opts;
+      arch = arch || os2.arch();
+      if (!isExplicitVersion(versionSpec)) {
+        const localVersions = findAllVersions(toolName, arch);
+        const match = evaluateVersions(localVersions, versionSpec);
+        versionSpec = match;
+      }
+      let toolPath = "";
+      if (versionSpec) {
+        versionSpec = semver6.clean(versionSpec) || "";
+        const cachePath = path3.join(_getCacheDirectory(), toolName, versionSpec, arch);
+        core12.debug(`checking cache: ${cachePath}`);
+        if (fs.existsSync(cachePath) && fs.existsSync(`${cachePath}.complete`)) {
+          core12.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch}`);
+          toolPath = cachePath;
+        } else {
+          core12.debug("not found");
+        }
+      }
+      return toolPath;
     }
-  }
-});
-
-// node_modules/@actions/github/lib/github.js
-var require_github = __commonJS({
-  "node_modules/@actions/github/lib/github.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    function findAllVersions(toolName, arch) {
+      const versions = [];
+      arch = arch || os2.arch();
+      const toolPath = path3.join(_getCacheDirectory(), toolName);
+      if (fs.existsSync(toolPath)) {
+        const children = fs.readdirSync(toolPath);
+        for (const child of children) {
+          if (isExplicitVersion(child)) {
+            const fullPath = path3.join(toolPath, child, arch || "");
+            if (fs.existsSync(fullPath) && fs.existsSync(`${fullPath}.complete`)) {
+              versions.push(child);
+            }
+          }
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      return versions;
+    }
+    function getManifestFromRepo(owner_1, repo_1, auth_1) {
+      return __awaiter2(this, arguments, void 0, function* (owner, repo, auth2, branch = "master") {
+        let releases = [];
+        const treeUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}`;
+        const http = new httpm.HttpClient("tool-cache");
+        const headers = {};
+        if (auth2) {
+          core12.debug("set auth");
+          headers.authorization = auth2;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.context = void 0;
-    exports2.getOctokit = getOctokit;
-    var Context = __importStar2(require_context());
-    var utils_1 = require_utils5();
-    exports2.context = new Context.Context();
-    function getOctokit(token, options, ...additionalPlugins) {
-      const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
-      return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options));
+        const response = yield http.getJson(treeUrl, headers);
+        if (!response.result) {
+          return releases;
+        }
+        let manifestUrl = "";
+        for (const item of response.result.tree) {
+          if (item.path === "versions-manifest.json") {
+            manifestUrl = item.url;
+            break;
+          }
+        }
+        headers["accept"] = "application/vnd.github.VERSION.raw";
+        let versionsRaw = yield (yield http.get(manifestUrl, headers)).readBody();
+        if (versionsRaw) {
+          versionsRaw = versionsRaw.replace(/^\uFEFF/, "");
+          try {
+            releases = JSON.parse(versionsRaw);
+          } catch (_a) {
+            core12.debug("Invalid json");
+          }
+        }
+        return releases;
+      });
     }
-  }
-});
-
-// package.json
-var require_package = __commonJS({
-  "package.json"(exports2, module2) {
-    module2.exports = {
-      name: "codeql",
-      version: "4.32.1",
-      private: true,
-      description: "CodeQL action",
-      scripts: {
-        _build_comment: "echo 'Run the full build so we typecheck the project and can reuse the transpiled files in npm test'",
-        build: "./scripts/check-node-modules.sh && npm run transpile && node build.mjs",
-        lint: "eslint --report-unused-disable-directives --max-warnings=0 .",
-        "lint-ci": "SARIF_ESLINT_IGNORE_SUPPRESSED=true eslint --report-unused-disable-directives --max-warnings=0 . --format @microsoft/eslint-formatter-sarif --output-file=eslint.sarif",
-        "lint-fix": "eslint --report-unused-disable-directives --max-warnings=0 . --fix",
-        ava: "npm run transpile && ava --serial --verbose",
-        test: "npm run ava -- src/",
-        "test-debug": "npm run test -- --timeout=20m",
-        transpile: "tsc --build --verbose"
-      },
-      ava: {
-        typescript: {
-          rewritePaths: {
-            "src/": "build/"
-          },
-          compile: false
+    function findFromManifest(versionSpec_1, stable_1, manifest_1) {
+      return __awaiter2(this, arguments, void 0, function* (versionSpec, stable, manifest, archFilter = os2.arch()) {
+        const match = yield mm._findMatch(versionSpec, stable, manifest, archFilter);
+        return match;
+      });
+    }
+    function _createExtractFolder(dest) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        if (!dest) {
+          dest = path3.join(_getTempDirectory(), crypto2.randomUUID());
+        }
+        yield io4.mkdirP(dest);
+        return dest;
+      });
+    }
+    function _createToolPath(tool, version, arch) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        const folderPath = path3.join(_getCacheDirectory(), tool, semver6.clean(version) || version, arch || "");
+        core12.debug(`destination ${folderPath}`);
+        const markerPath = `${folderPath}.complete`;
+        yield io4.rmRF(folderPath);
+        yield io4.rmRF(markerPath);
+        yield io4.mkdirP(folderPath);
+        return folderPath;
+      });
+    }
+    function _completeToolPath(tool, version, arch) {
+      const folderPath = path3.join(_getCacheDirectory(), tool, semver6.clean(version) || version, arch || "");
+      const markerPath = `${folderPath}.complete`;
+      fs.writeFileSync(markerPath, "");
+      core12.debug("finished caching tool");
+    }
+    function isExplicitVersion(versionSpec) {
+      const c = semver6.clean(versionSpec) || "";
+      core12.debug(`isExplicit: ${c}`);
+      const valid2 = semver6.valid(c) != null;
+      core12.debug(`explicit? ${valid2}`);
+      return valid2;
+    }
+    function evaluateVersions(versions, versionSpec) {
+      let version = "";
+      core12.debug(`evaluating ${versions.length} versions`);
+      versions = versions.sort((a, b) => {
+        if (semver6.gt(a, b)) {
+          return 1;
+        }
+        return -1;
+      });
+      for (let i = versions.length - 1; i >= 0; i--) {
+        const potential = versions[i];
+        const satisfied = semver6.satisfies(potential, versionSpec);
+        if (satisfied) {
+          version = potential;
+          break;
         }
-      },
-      license: "MIT",
-      dependencies: {
-        "@actions/artifact": "^5.0.3",
-        "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
-        "@actions/cache": "^5.0.5",
-        "@actions/core": "^2.0.3",
-        "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
-        "@actions/glob": "^0.5.0",
-        "@actions/http-client": "^3.0.0",
-        "@actions/io": "^2.0.0",
-        "@actions/tool-cache": "^3.0.1",
-        "@octokit/plugin-retry": "^8.0.0",
-        "@schemastore/package": "0.0.10",
-        archiver: "^7.0.1",
-        "fast-deep-equal": "^3.1.3",
-        "follow-redirects": "^1.15.11",
-        "get-folder-size": "^5.0.0",
-        "js-yaml": "^4.1.1",
-        jsonschema: "1.4.1",
-        long: "^5.3.2",
-        "node-forge": "^1.3.3",
-        semver: "^7.7.3",
-        uuid: "^13.0.0"
-      },
-      devDependencies: {
-        "@ava/typescript": "6.0.0",
-        "@eslint/compat": "^2.0.1",
-        "@eslint/eslintrc": "^3.3.3",
-        "@eslint/js": "^9.39.2",
-        "@microsoft/eslint-formatter-sarif": "^3.1.0",
-        "@octokit/types": "^16.0.0",
-        "@types/archiver": "^7.0.0",
-        "@types/follow-redirects": "^1.14.4",
-        "@types/js-yaml": "^4.0.9",
-        "@types/node": "^20.19.9",
-        "@types/node-forge": "^1.3.14",
-        "@types/semver": "^7.7.1",
-        "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
-        "@typescript-eslint/parser": "^8.48.0",
-        ava: "^6.4.1",
-        esbuild: "^0.27.2",
-        eslint: "^8.57.1",
-        "eslint-import-resolver-typescript": "^3.8.7",
-        "eslint-plugin-filenames": "^1.3.2",
-        "eslint-plugin-github": "^5.1.8",
-        "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
-        "eslint-plugin-no-async-foreach": "^0.1.1",
-        glob: "^11.1.0",
-        nock: "^14.0.10",
-        sinon: "^21.0.1",
-        typescript: "^5.9.3"
-      },
-      overrides: {
-        "@actions/tool-cache": {
-          semver: ">=6.3.1"
-        },
-        "@octokit/request-error": {
-          semver: ">=5.1.1"
-        },
-        "@octokit/request": {
-          semver: ">=8.4.1"
-        },
-        "@octokit/plugin-paginate-rest": {
-          semver: ">=9.2.2"
-        },
-        "eslint-plugin-import": {
-          semver: ">=6.3.1"
-        },
-        "eslint-plugin-jsx-a11y": {
-          semver: ">=6.3.1"
-        },
-        "brace-expansion@2.0.1": "2.0.2",
-        glob: "^11.1.0"
       }
-    };
+      if (version) {
+        core12.debug(`matched: ${version}`);
+      } else {
+        core12.debug("match not found");
+      }
+      return version;
+    }
+    function _getCacheDirectory() {
+      const cacheDirectory = process.env["RUNNER_TOOL_CACHE"] || "";
+      (0, assert_1.ok)(cacheDirectory, "Expected RUNNER_TOOL_CACHE to be defined");
+      return cacheDirectory;
+    }
+    function _getTempDirectory() {
+      const tempDirectory = process.env["RUNNER_TEMP"] || "";
+      (0, assert_1.ok)(tempDirectory, "Expected RUNNER_TEMP to be defined");
+      return tempDirectory;
+    }
+    function _getGlobal(key, defaultValue) {
+      const value = global[key];
+      return value !== void 0 ? value : defaultValue;
+    }
+    function _unique(values) {
+      return Array.from(new Set(values));
+    }
   }
 });
 
@@ -64526,14 +66019,14 @@ var require_helpers = __commonJS({
   "node_modules/jsonschema/lib/helpers.js"(exports2, module2) {
     "use strict";
     var uri = require("url");
-    var ValidationError = exports2.ValidationError = function ValidationError2(message, instance, schema2, path2, name, argument) {
-      if (Array.isArray(path2)) {
-        this.path = path2;
-        this.property = path2.reduce(function(sum, item) {
+    var ValidationError = exports2.ValidationError = function ValidationError2(message, instance, schema2, path3, name, argument) {
+      if (Array.isArray(path3)) {
+        this.path = path3;
+        this.property = path3.reduce(function(sum, item) {
           return sum + makeSuffix(item);
         }, "instance");
-      } else if (path2 !== void 0) {
-        this.property = path2;
+      } else if (path3 !== void 0) {
+        this.property = path3;
       }
       if (message) {
         this.message = message;
@@ -64624,16 +66117,16 @@ var require_helpers = __commonJS({
         name: { value: "SchemaError", enumerable: false }
       }
     );
-    var SchemaContext = exports2.SchemaContext = function SchemaContext2(schema2, options, path2, base, schemas) {
+    var SchemaContext = exports2.SchemaContext = function SchemaContext2(schema2, options, path3, base, schemas) {
       this.schema = schema2;
       this.options = options;
-      if (Array.isArray(path2)) {
-        this.path = path2;
-        this.propertyPath = path2.reduce(function(sum, item) {
+      if (Array.isArray(path3)) {
+        this.path = path3;
+        this.propertyPath = path3.reduce(function(sum, item) {
           return sum + makeSuffix(item);
         }, "instance");
       } else {
-        this.propertyPath = path2;
+        this.propertyPath = path3;
       }
       this.base = base;
       this.schemas = schemas;
@@ -64642,10 +66135,10 @@ var require_helpers = __commonJS({
       return uri.resolve(this.base, target);
     };
     SchemaContext.prototype.makeChild = function makeChild(schema2, propertyName) {
-      var path2 = propertyName === void 0 ? this.path : this.path.concat([propertyName]);
+      var path3 = propertyName === void 0 ? this.path : this.path.concat([propertyName]);
       var id = schema2.$id || schema2.id;
       var base = uri.resolve(this.base, id || "");
-      var ctx = new SchemaContext(schema2, this.options, path2, base, Object.create(this.schemas));
+      var ctx = new SchemaContext(schema2, this.options, path3, base, Object.create(this.schemas));
       if (id && !ctx.schemas[base]) {
         ctx.schemas[base] = schema2;
       }
@@ -65948,7 +67441,7 @@ var require_internal_path_helper = __commonJS({
     exports2.hasRoot = hasRoot;
     exports2.normalizeSeparators = normalizeSeparators;
     exports2.safeTrimTrailingSeparator = safeTrimTrailingSeparator;
-    var path2 = __importStar2(require("path"));
+    var path3 = __importStar2(require("path"));
     var assert_1 = __importDefault2(require("assert"));
     var IS_WINDOWS = process.platform === "win32";
     function dirname(p) {
@@ -65956,7 +67449,7 @@ var require_internal_path_helper = __commonJS({
       if (IS_WINDOWS && /^\\\\[^\\]+(\\[^\\]+)?$/.test(p)) {
         return p;
       }
-      let result = path2.dirname(p);
+      let result = path3.dirname(p);
       if (IS_WINDOWS && /^\\\\[^\\]+\\[^\\]+\\$/.test(result)) {
         result = safeTrimTrailingSeparator(result);
       }
@@ -65993,7 +67486,7 @@ var require_internal_path_helper = __commonJS({
       (0, assert_1.default)(hasAbsoluteRoot(root), `ensureAbsoluteRoot parameter 'root' must have an absolute root`);
       if (root.endsWith("/") || IS_WINDOWS && root.endsWith("\\")) {
       } else {
-        root += path2.sep;
+        root += path3.sep;
       }
       return root + itemPath;
     }
@@ -66027,10 +67520,10 @@ var require_internal_path_helper = __commonJS({
         return "";
       }
       p = normalizeSeparators(p);
-      if (!p.endsWith(path2.sep)) {
+      if (!p.endsWith(path3.sep)) {
         return p;
       }
-      if (p === path2.sep) {
+      if (p === path3.sep) {
         return p;
       }
       if (IS_WINDOWS && /^[A-Z]:\\$/i.test(p)) {
@@ -66375,7 +67868,7 @@ var require_minimatch = __commonJS({
   "node_modules/minimatch/minimatch.js"(exports2, module2) {
     module2.exports = minimatch;
     minimatch.Minimatch = Minimatch;
-    var path2 = (function() {
+    var path3 = (function() {
       try {
         return require("path");
       } catch (e) {
@@ -66383,7 +67876,7 @@ var require_minimatch = __commonJS({
     })() || {
       sep: "/"
     };
-    minimatch.sep = path2.sep;
+    minimatch.sep = path3.sep;
     var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {};
     var expand2 = require_brace_expansion();
     var plTypes = {
@@ -66472,8 +67965,8 @@ var require_minimatch = __commonJS({
       assertValidPattern(pattern);
       if (!options) options = {};
       pattern = pattern.trim();
-      if (!options.allowWindowsEscape && path2.sep !== "/") {
-        pattern = pattern.split(path2.sep).join("/");
+      if (!options.allowWindowsEscape && path3.sep !== "/") {
+        pattern = pattern.split(path3.sep).join("/");
       }
       this.options = options;
       this.set = [];
@@ -66842,8 +68335,8 @@ var require_minimatch = __commonJS({
       if (this.empty) return f === "";
       if (f === "/" && partial) return true;
       var options = this.options;
-      if (path2.sep !== "/") {
-        f = f.split(path2.sep).join("/");
+      if (path3.sep !== "/") {
+        f = f.split(path3.sep).join("/");
       }
       f = f.split(slashSplit);
       this.debug(this.pattern, "split", f);
@@ -66989,7 +68482,7 @@ var require_internal_path = __commonJS({
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.Path = void 0;
-    var path2 = __importStar2(require("path"));
+    var path3 = __importStar2(require("path"));
     var pathHelper = __importStar2(require_internal_path_helper());
     var assert_1 = __importDefault2(require("assert"));
     var IS_WINDOWS = process.platform === "win32";
@@ -67004,12 +68497,12 @@ var require_internal_path = __commonJS({
           (0, assert_1.default)(itemPath, `Parameter 'itemPath' must not be empty`);
           itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
           if (!pathHelper.hasRoot(itemPath)) {
-            this.segments = itemPath.split(path2.sep);
+            this.segments = itemPath.split(path3.sep);
           } else {
             let remaining = itemPath;
             let dir = pathHelper.dirname(remaining);
             while (dir !== remaining) {
-              const basename = path2.basename(remaining);
+              const basename = path3.basename(remaining);
               this.segments.unshift(basename);
               remaining = dir;
               dir = pathHelper.dirname(remaining);
@@ -67027,7 +68520,7 @@ var require_internal_path = __commonJS({
               (0, assert_1.default)(segment === pathHelper.dirname(segment), `Parameter 'itemPath' root segment contains information for multiple segments`);
               this.segments.push(segment);
             } else {
-              (0, assert_1.default)(!segment.includes(path2.sep), `Parameter 'itemPath' contains unexpected path separators`);
+              (0, assert_1.default)(!segment.includes(path3.sep), `Parameter 'itemPath' contains unexpected path separators`);
               this.segments.push(segment);
             }
           }
@@ -67038,12 +68531,12 @@ var require_internal_path = __commonJS({
        */
       toString() {
         let result = this.segments[0];
-        let skipSlash = result.endsWith(path2.sep) || IS_WINDOWS && /^[A-Z]:$/i.test(result);
+        let skipSlash = result.endsWith(path3.sep) || IS_WINDOWS && /^[A-Z]:$/i.test(result);
         for (let i = 1; i < this.segments.length; i++) {
           if (skipSlash) {
             skipSlash = false;
           } else {
-            result += path2.sep;
+            result += path3.sep;
           }
           result += this.segments[i];
         }
@@ -67101,7 +68594,7 @@ var require_internal_pattern = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.Pattern = void 0;
     var os2 = __importStar2(require("os"));
-    var path2 = __importStar2(require("path"));
+    var path3 = __importStar2(require("path"));
     var pathHelper = __importStar2(require_internal_path_helper());
     var assert_1 = __importDefault2(require("assert"));
     var minimatch_1 = require_minimatch();
@@ -67130,7 +68623,7 @@ var require_internal_pattern = __commonJS({
         }
         pattern = _Pattern.fixupPattern(pattern, homedir);
         this.segments = new internal_path_1.Path(pattern).segments;
-        this.trailingSeparator = pathHelper.normalizeSeparators(pattern).endsWith(path2.sep);
+        this.trailingSeparator = pathHelper.normalizeSeparators(pattern).endsWith(path3.sep);
         pattern = pathHelper.safeTrimTrailingSeparator(pattern);
         let foundGlob = false;
         const searchSegments = this.segments.map((x) => _Pattern.getLiteral(x)).filter((x) => !foundGlob && !(foundGlob = x === ""));
@@ -67154,8 +68647,8 @@ var require_internal_pattern = __commonJS({
       match(itemPath) {
         if (this.segments[this.segments.length - 1] === "**") {
           itemPath = pathHelper.normalizeSeparators(itemPath);
-          if (!itemPath.endsWith(path2.sep) && this.isImplicitPattern === false) {
-            itemPath = `${itemPath}${path2.sep}`;
+          if (!itemPath.endsWith(path3.sep) && this.isImplicitPattern === false) {
+            itemPath = `${itemPath}${path3.sep}`;
           }
         } else {
           itemPath = pathHelper.safeTrimTrailingSeparator(itemPath);
@@ -67190,9 +68683,9 @@ var require_internal_pattern = __commonJS({
         (0, assert_1.default)(literalSegments.every((x, i) => (x !== "." || i === 0) && x !== ".."), `Invalid pattern '${pattern}'. Relative pathing '.' and '..' is not allowed.`);
         (0, assert_1.default)(!pathHelper.hasRoot(pattern) || literalSegments[0], `Invalid pattern '${pattern}'. Root segment must not contain globs.`);
         pattern = pathHelper.normalizeSeparators(pattern);
-        if (pattern === "." || pattern.startsWith(`.${path2.sep}`)) {
+        if (pattern === "." || pattern.startsWith(`.${path3.sep}`)) {
           pattern = _Pattern.globEscape(process.cwd()) + pattern.substr(1);
-        } else if (pattern === "~" || pattern.startsWith(`~${path2.sep}`)) {
+        } else if (pattern === "~" || pattern.startsWith(`~${path3.sep}`)) {
           homedir = homedir || os2.homedir();
           (0, assert_1.default)(homedir, "Unable to determine HOME directory");
           (0, assert_1.default)(pathHelper.hasAbsoluteRoot(homedir), `Expected HOME directory to be a rooted path. Actual '${homedir}'`);
@@ -67276,8 +68769,8 @@ var require_internal_search_state = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.SearchState = void 0;
     var SearchState = class {
-      constructor(path2, level) {
-        this.path = path2;
+      constructor(path3, level) {
+        this.path = path3;
         this.level = level;
       }
     };
@@ -67421,7 +68914,7 @@ var require_internal_globber = __commonJS({
     var core12 = __importStar2(require_core());
     var fs = __importStar2(require("fs"));
     var globOptionsHelper = __importStar2(require_internal_glob_options_helper());
-    var path2 = __importStar2(require("path"));
+    var path3 = __importStar2(require("path"));
     var patternHelper = __importStar2(require_internal_pattern_helper());
     var internal_match_kind_1 = require_internal_match_kind();
     var internal_pattern_1 = require_internal_pattern();
@@ -67497,7 +68990,7 @@ var require_internal_globber = __commonJS({
             if (!stats) {
               continue;
             }
-            if (options.excludeHiddenFiles && path2.basename(item.path).match(/^\./)) {
+            if (options.excludeHiddenFiles && path3.basename(item.path).match(/^\./)) {
               continue;
             }
             if (stats.isDirectory()) {
@@ -67507,7 +69000,7 @@ var require_internal_globber = __commonJS({
                 continue;
               }
               const childLevel = item.level + 1;
-              const childItems = (yield __await2(fs.promises.readdir(item.path))).map((x) => new internal_search_state_1.SearchState(path2.join(item.path, x), childLevel));
+              const childItems = (yield __await2(fs.promises.readdir(item.path))).map((x) => new internal_search_state_1.SearchState(path3.join(item.path, x), childLevel));
               stack.push(...childItems.reverse());
             } else if (match & internal_match_kind_1.MatchKind.File) {
               yield yield __await2(item.path);
@@ -67669,7 +69162,7 @@ var require_internal_hash_files = __commonJS({
     var fs = __importStar2(require("fs"));
     var stream = __importStar2(require("stream"));
     var util = __importStar2(require("util"));
-    var path2 = __importStar2(require("path"));
+    var path3 = __importStar2(require("path"));
     function hashFiles(globber_1, currentWorkspace_1) {
       return __awaiter2(this, arguments, void 0, function* (globber, currentWorkspace, verbose = false) {
         var _a, e_1, _b, _c;
@@ -67685,7 +69178,7 @@ var require_internal_hash_files = __commonJS({
             _e = false;
             const file = _c;
             writeDelegate(file);
-            if (!file.startsWith(`${githubWorkspace}${path2.sep}`)) {
+            if (!file.startsWith(`${githubWorkspace}${path3.sep}`)) {
               writeDelegate(`Ignore '${file}' since it is not under GITHUB_WORKSPACE.`);
               continue;
             }
@@ -69071,7 +70564,7 @@ var require_cacheUtils = __commonJS({
     var io4 = __importStar2(require_io());
     var crypto2 = __importStar2(require("crypto"));
     var fs = __importStar2(require("fs"));
-    var path2 = __importStar2(require("path"));
+    var path3 = __importStar2(require("path"));
     var semver6 = __importStar2(require_semver3());
     var util = __importStar2(require("util"));
     var constants_1 = require_constants12();
@@ -69091,9 +70584,9 @@ var require_cacheUtils = __commonJS({
               baseLocation = "/home";
             }
           }
-          tempDirectory = path2.join(baseLocation, "actions", "temp");
+          tempDirectory = path3.join(baseLocation, "actions", "temp");
         }
-        const dest = path2.join(tempDirectory, crypto2.randomUUID());
+        const dest = path3.join(tempDirectory, crypto2.randomUUID());
         yield io4.mkdirP(dest);
         return dest;
       });
@@ -69115,7 +70608,7 @@ var require_cacheUtils = __commonJS({
             _c = _g.value;
             _e = false;
             const file = _c;
-            const relativeFile = path2.relative(workspace, file).replace(new RegExp(`\\${path2.sep}`, "g"), "/");
+            const relativeFile = path3.relative(workspace, file).replace(new RegExp(`\\${path3.sep}`, "g"), "/");
             core12.debug(`Matched: ${relativeFile}`);
             if (relativeFile === "") {
               paths.push(".");
@@ -69642,13 +71135,13 @@ function __disposeResources(env) {
   }
   return next();
 }
-function __rewriteRelativeImportExtension(path2, preserveJsx) {
-  if (typeof path2 === "string" && /^\.\.?\//.test(path2)) {
-    return path2.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {
+function __rewriteRelativeImportExtension(path3, preserveJsx) {
+  if (typeof path3 === "string" && /^\.\.?\//.test(path3)) {
+    return path3.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {
       return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : d + ext + "." + cm.toLowerCase() + "js";
     });
   }
-  return path2;
+  return path3;
 }
 var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default;
 var init_tslib_es6 = __esm({
@@ -73660,7 +75153,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -73783,7 +75276,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url, options);
@@ -74062,8 +75555,8 @@ var require_getClient = __commonJS({
       }
       const { allowInsecureConnection, httpClient } = clientOptions;
       const endpointUrl = clientOptions.endpoint ?? endpoint2;
-      const client = (path2, ...args) => {
-        const getUrl = (requestOptions) => (0, urlHelpers_js_1.buildRequestUrl)(endpointUrl, path2, args, { allowInsecureConnection, ...requestOptions });
+      const client = (path3, ...args) => {
+        const getUrl = (requestOptions) => (0, urlHelpers_js_1.buildRequestUrl)(endpointUrl, path3, args, { allowInsecureConnection, ...requestOptions });
         return {
           get: (requestOptions = {}) => {
             return buildOperation("GET", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
@@ -77934,15 +79427,15 @@ var require_urlHelpers2 = __commonJS({
       let isAbsolutePath = false;
       let requestUrl = replaceAll(baseUri, urlReplacements);
       if (operationSpec.path) {
-        let path2 = replaceAll(operationSpec.path, urlReplacements);
-        if (operationSpec.path === "/{nextLink}" && path2.startsWith("/")) {
-          path2 = path2.substring(1);
+        let path3 = replaceAll(operationSpec.path, urlReplacements);
+        if (operationSpec.path === "/{nextLink}" && path3.startsWith("/")) {
+          path3 = path3.substring(1);
         }
-        if (isAbsoluteUrl(path2)) {
-          requestUrl = path2;
+        if (isAbsoluteUrl(path3)) {
+          requestUrl = path3;
           isAbsolutePath = true;
         } else {
-          requestUrl = appendPath(requestUrl, path2);
+          requestUrl = appendPath(requestUrl, path3);
         }
       }
       const { queryParams, sequenceParams } = calculateQueryParameters(operationSpec, operationArguments, fallbackObject);
@@ -77988,9 +79481,9 @@ var require_urlHelpers2 = __commonJS({
       }
       const searchStart = pathToAppend.indexOf("?");
       if (searchStart !== -1) {
-        const path2 = pathToAppend.substring(0, searchStart);
+        const path3 = pathToAppend.substring(0, searchStart);
         const search = pathToAppend.substring(searchStart + 1);
-        newPath = newPath + path2;
+        newPath = newPath + path3;
         if (search) {
           parsedUrl.search = parsedUrl.search ? `${parsedUrl.search}&${search}` : search;
         }
@@ -78481,7 +79974,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -78736,7 +80229,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util17();
+    var util_js_1 = require_util18();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -78850,7 +80343,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util17();
+    var util_js_1 = require_util18();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -78897,7 +80390,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util17();
+    var util_js_1 = require_util18();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -78937,7 +80430,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util17();
+    var util_js_1 = require_util18();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -80223,10 +81716,10 @@ var require_utils_common = __commonJS({
     var constants_js_1 = require_constants15();
     function escapeURLPath(url) {
       const urlParsed = new URL(url);
-      let path2 = urlParsed.pathname;
-      path2 = path2 || "/";
-      path2 = escape2(path2);
-      urlParsed.pathname = path2;
+      let path3 = urlParsed.pathname;
+      path3 = path3 || "/";
+      path3 = escape2(path3);
+      urlParsed.pathname = path3;
       return urlParsed.toString();
     }
     function getProxyUriFromDevConnString(connectionString) {
@@ -80311,9 +81804,9 @@ var require_utils_common = __commonJS({
     }
     function appendToURLPath(url, name) {
       const urlParsed = new URL(url);
-      let path2 = urlParsed.pathname;
-      path2 = path2 ? path2.endsWith("/") ? `${path2}${name}` : `${path2}/${name}` : name;
-      urlParsed.pathname = path2;
+      let path3 = urlParsed.pathname;
+      path3 = path3 ? path3.endsWith("/") ? `${path3}${name}` : `${path3}/${name}` : name;
+      urlParsed.pathname = path3;
       return urlParsed.toString();
     }
     function setURLParameter(url, name, value) {
@@ -81540,9 +83033,9 @@ var require_StorageSharedKeyCredentialPolicy = __commonJS({
        * @param request -
        */
       getCanonicalizedResourceString(request2) {
-        const path2 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
         let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${this.factory.accountName}${path2}`;
+        canonicalizedResourceString += `/${this.factory.accountName}${path3}`;
         const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
         const lowercaseQueries = {};
         if (queries) {
@@ -82281,10 +83774,10 @@ var require_utils_common2 = __commonJS({
     var constants_js_1 = require_constants16();
     function escapeURLPath(url) {
       const urlParsed = new URL(url);
-      let path2 = urlParsed.pathname;
-      path2 = path2 || "/";
-      path2 = escape2(path2);
-      urlParsed.pathname = path2;
+      let path3 = urlParsed.pathname;
+      path3 = path3 || "/";
+      path3 = escape2(path3);
+      urlParsed.pathname = path3;
       return urlParsed.toString();
     }
     function getProxyUriFromDevConnString(connectionString) {
@@ -82369,9 +83862,9 @@ var require_utils_common2 = __commonJS({
     }
     function appendToURLPath(url, name) {
       const urlParsed = new URL(url);
-      let path2 = urlParsed.pathname;
-      path2 = path2 ? path2.endsWith("/") ? `${path2}${name}` : `${path2}/${name}` : name;
-      urlParsed.pathname = path2;
+      let path3 = urlParsed.pathname;
+      path3 = path3 ? path3.endsWith("/") ? `${path3}${name}` : `${path3}/${name}` : name;
+      urlParsed.pathname = path3;
       return urlParsed.toString();
     }
     function setURLParameter(url, name, value) {
@@ -83292,9 +84785,9 @@ var require_StorageSharedKeyCredentialPolicy2 = __commonJS({
        * @param request -
        */
       getCanonicalizedResourceString(request2) {
-        const path2 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
         let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${this.factory.accountName}${path2}`;
+        canonicalizedResourceString += `/${this.factory.accountName}${path3}`;
         const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
         const lowercaseQueries = {};
         if (queries) {
@@ -83924,9 +85417,9 @@ var require_StorageSharedKeyCredentialPolicyV2 = __commonJS({
         return canonicalizedHeadersStringToSign;
       }
       function getCanonicalizedResourceString(request2) {
-        const path2 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
         let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${options.accountName}${path2}`;
+        canonicalizedResourceString += `/${options.accountName}${path3}`;
         const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
         const lowercaseQueries = {};
         if (queries) {
@@ -84271,9 +85764,9 @@ var require_StorageSharedKeyCredentialPolicyV22 = __commonJS({
         return canonicalizedHeadersStringToSign;
       }
       function getCanonicalizedResourceString(request2) {
-        const path2 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
         let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${options.accountName}${path2}`;
+        canonicalizedResourceString += `/${options.accountName}${path3}`;
         const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
         const lowercaseQueries = {};
         if (queries) {
@@ -105928,8 +107421,8 @@ var require_BlobBatch = __commonJS({
         if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) {
           throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`);
         }
-        const path2 = (0, utils_common_js_1.getURLPath)(subRequest.url);
-        if (!path2 || path2 === "") {
+        const path3 = (0, utils_common_js_1.getURLPath)(subRequest.url);
+        if (!path3 || path3 === "") {
           throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`);
         }
       }
@@ -106007,8 +107500,8 @@ var require_BlobBatchClient = __commonJS({
           pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
         }
         const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
-        const path2 = (0, utils_common_js_1.getURLPath)(url);
-        if (path2 && path2 !== "/") {
+        const path3 = (0, utils_common_js_1.getURLPath)(url);
+        if (path3 && path3 !== "/") {
           this.serviceOrContainerContext = storageClientContext.container;
         } else {
           this.serviceOrContainerContext = storageClientContext.service;
@@ -115018,7 +116511,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util18 = __commonJS({
+var require_util19 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -115095,7 +116588,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util18();
+    var util_1 = require_util19();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -115317,7 +116810,7 @@ var require_tar = __commonJS({
     var exec_1 = require_exec();
     var io4 = __importStar2(require_io());
     var fs_1 = require("fs");
-    var path2 = __importStar2(require("path"));
+    var path3 = __importStar2(require("path"));
     var utils = __importStar2(require_cacheUtils());
     var constants_1 = require_constants12();
     var IS_WINDOWS = process.platform === "win32";
@@ -115363,13 +116856,13 @@ var require_tar = __commonJS({
         const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS;
         switch (type2) {
           case "create":
-            args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path2.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path2.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path2.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename);
+            args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path3.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path3.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path3.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename);
             break;
           case "extract":
-            args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path2.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path2.sep}`, "g"), "/"));
+            args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path3.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path3.sep}`, "g"), "/"));
             break;
           case "list":
-            args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path2.sep}`, "g"), "/"), "-P");
+            args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path3.sep}`, "g"), "/"), "-P");
             break;
         }
         if (tarPath.type === constants_1.ArchiveToolType.GNU) {
@@ -115415,7 +116908,7 @@ var require_tar = __commonJS({
             return BSD_TAR_ZSTD ? [
               "zstd -d --long=30 --force -o",
               constants_1.TarFilename,
-              archivePath.replace(new RegExp(`\\${path2.sep}`, "g"), "/")
+              archivePath.replace(new RegExp(`\\${path3.sep}`, "g"), "/")
             ] : [
               "--use-compress-program",
               IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30"
@@ -115424,7 +116917,7 @@ var require_tar = __commonJS({
             return BSD_TAR_ZSTD ? [
               "zstd -d --force -o",
               constants_1.TarFilename,
-              archivePath.replace(new RegExp(`\\${path2.sep}`, "g"), "/")
+              archivePath.replace(new RegExp(`\\${path3.sep}`, "g"), "/")
             ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"];
           default:
             return ["-z"];
@@ -115439,7 +116932,7 @@ var require_tar = __commonJS({
           case constants_1.CompressionMethod.Zstd:
             return BSD_TAR_ZSTD ? [
               "zstd -T0 --long=30 --force -o",
-              cacheFileName.replace(new RegExp(`\\${path2.sep}`, "g"), "/"),
+              cacheFileName.replace(new RegExp(`\\${path3.sep}`, "g"), "/"),
               constants_1.TarFilename
             ] : [
               "--use-compress-program",
@@ -115448,7 +116941,7 @@ var require_tar = __commonJS({
           case constants_1.CompressionMethod.ZstdWithoutLong:
             return BSD_TAR_ZSTD ? [
               "zstd -T0 --force -o",
-              cacheFileName.replace(new RegExp(`\\${path2.sep}`, "g"), "/"),
+              cacheFileName.replace(new RegExp(`\\${path3.sep}`, "g"), "/"),
               constants_1.TarFilename
             ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"];
           default:
@@ -115486,7 +116979,7 @@ var require_tar = __commonJS({
     }
     function createTar(archiveFolder, sourceDirectories, compressionMethod) {
       return __awaiter2(this, void 0, void 0, function* () {
-        (0, fs_1.writeFileSync)(path2.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n"));
+        (0, fs_1.writeFileSync)(path3.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n"));
         const commands = yield getCommands(compressionMethod, "create");
         yield execCommands(commands, archiveFolder);
       });
@@ -115568,7 +117061,7 @@ var require_cache5 = __commonJS({
     exports2.restoreCache = restoreCache3;
     exports2.saveCache = saveCache3;
     var core12 = __importStar2(require_core());
-    var path2 = __importStar2(require("path"));
+    var path3 = __importStar2(require("path"));
     var utils = __importStar2(require_cacheUtils());
     var cacheHttpClient = __importStar2(require_cacheHttpClient());
     var cacheTwirpClient = __importStar2(require_cacheTwirpClient());
@@ -115663,7 +117156,7 @@ var require_cache5 = __commonJS({
             core12.info("Lookup only - skipping download");
             return cacheEntry.cacheKey;
           }
-          archivePath = path2.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
+          archivePath = path3.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
           core12.debug(`Archive Path: ${archivePath}`);
           yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options);
           if (core12.isDebug()) {
@@ -115732,7 +117225,7 @@ var require_cache5 = __commonJS({
             core12.info("Lookup only - skipping download");
             return response.matchedKey;
           }
-          archivePath = path2.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
+          archivePath = path3.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
           core12.debug(`Archive path: ${archivePath}`);
           core12.debug(`Starting download of archive to: ${archivePath}`);
           yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options);
@@ -115794,7 +117287,7 @@ var require_cache5 = __commonJS({
           throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
         }
         const archiveFolder = yield utils.createTempDirectory();
-        const archivePath = path2.join(archiveFolder, utils.getCacheFileName(compressionMethod));
+        const archivePath = path3.join(archiveFolder, utils.getCacheFileName(compressionMethod));
         core12.debug(`Archive Path: ${archivePath}`);
         try {
           yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
@@ -115858,7 +117351,7 @@ var require_cache5 = __commonJS({
           throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`);
         }
         const archiveFolder = yield utils.createTempDirectory();
-        const archivePath = path2.join(archiveFolder, utils.getCacheFileName(compressionMethod));
+        const archivePath = path3.join(archiveFolder, utils.getCacheFileName(compressionMethod));
         core12.debug(`Archive Path: ${archivePath}`);
         try {
           yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
@@ -115934,9 +117427,8 @@ var require_cache5 = __commonJS({
 
 // src/start-proxy-action.ts
 var import_child_process = require("child_process");
-var path = __toESM(require("path"));
+var path2 = __toESM(require("path"));
 var core11 = __toESM(require_core());
-var toolcache = __toESM(require_tool_cache());
 var import_node_forge = __toESM(require_lib2());
 
 // src/actions-util.ts
@@ -118751,8 +120243,27 @@ var persistInputs = function() {
   core4.saveState(persistedInputsKey, JSON.stringify(inputEnvironmentVariables));
 };
 
-// src/api-client.ts
+// src/logging.ts
 var core5 = __toESM(require_core());
+function getActionsLogger() {
+  return {
+    debug: core5.debug,
+    info: core5.info,
+    warning: core5.warning,
+    error: core5.error,
+    isDebug: core5.isDebug,
+    startGroup: core5.startGroup,
+    endGroup: core5.endGroup
+  };
+}
+
+// src/start-proxy.ts
+var path = __toESM(require("path"));
+var core10 = __toESM(require_core());
+var toolcache = __toESM(require_tool_cache());
+
+// src/api-client.ts
+var core6 = __toESM(require_core());
 var githubUtils = __toESM(require_utils5());
 
 // node_modules/@octokit/plugin-retry/dist-bundle/index.js
@@ -118859,10 +120370,10 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {})
       baseUrl: apiDetails.apiURL,
       userAgent: `CodeQL-Action/${getActionVersion()}`,
       log: {
-        debug: core5.debug,
-        info: core5.info,
-        warn: core5.warning,
-        error: core5.error
+        debug: core6.debug,
+        info: core6.info,
+        warn: core6.warning,
+        error: core6.error
       }
     })
   );
@@ -118913,27 +120424,10 @@ async function getAnalysisKey() {
   const workflowPath = await getWorkflowRelativePath();
   const jobName = getRequiredEnvParam("GITHUB_JOB");
   analysisKey = `${workflowPath}:${jobName}`;
-  core5.exportVariable("CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */, analysisKey);
+  core6.exportVariable("CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */, analysisKey);
   return analysisKey;
 }
 
-// src/logging.ts
-var core6 = __toESM(require_core());
-function getActionsLogger() {
-  return {
-    debug: core6.debug,
-    info: core6.info,
-    warning: core6.warning,
-    error: core6.error,
-    isDebug: core6.isDebug,
-    startGroup: core6.startGroup,
-    endGroup: core6.endGroup
-  };
-}
-
-// src/start-proxy.ts
-var core7 = __toESM(require_core());
-
 // src/artifact-scanner.ts
 var exec = __toESM(require_exec());
 var GITHUB_PAT_CLASSIC_PATTERN = {
@@ -118978,8 +120472,8 @@ function isAuthToken(value, patterns = GITHUB_TOKEN_PATTERNS) {
 }
 
 // src/defaults.json
-var bundleVersion = "codeql-bundle-v2.24.0";
-var cliVersion = "2.24.0";
+var bundleVersion = "codeql-bundle-v2.24.1";
+var cliVersion = "2.24.1";
 
 // src/languages.ts
 var KnownLanguage = /* @__PURE__ */ ((KnownLanguage2) => {
@@ -118996,161 +120490,9 @@ var KnownLanguage = /* @__PURE__ */ ((KnownLanguage2) => {
   return KnownLanguage2;
 })(KnownLanguage || {});
 
-// src/start-proxy.ts
-var UPDATEJOB_PROXY = "update-job-proxy";
-var UPDATEJOB_PROXY_VERSION = "v2.0.20250624110901";
-var UPDATEJOB_PROXY_URL_PREFIX = "https://github.com/github/codeql-action/releases/download/codeql-bundle-v2.22.0/";
-var LANGUAGE_ALIASES = {
-  c: "cpp" /* cpp */,
-  "c++": "cpp" /* cpp */,
-  "c#": "csharp" /* csharp */,
-  kotlin: "java" /* java */,
-  typescript: "javascript" /* javascript */,
-  "javascript-typescript": "javascript" /* javascript */,
-  "java-kotlin": "java" /* java */
-};
-function parseLanguage(language) {
-  language = language.trim().toLowerCase();
-  if (language in KnownLanguage) {
-    return language;
-  }
-  if (language in LANGUAGE_ALIASES) {
-    return LANGUAGE_ALIASES[language];
-  }
-  return void 0;
-}
-function isPAT(value) {
-  return isAuthToken(value, [
-    GITHUB_PAT_CLASSIC_PATTERN,
-    GITHUB_PAT_FINE_GRAINED_PATTERN
-  ]);
-}
-var LANGUAGE_TO_REGISTRY_TYPE = {
-  java: ["maven_repository"],
-  csharp: ["nuget_feed"],
-  javascript: ["npm_registry"],
-  python: ["python_index"],
-  ruby: ["rubygems_server"],
-  rust: ["cargo_registry"],
-  go: ["goproxy_server", "git_source"]
-};
-function getCredentials(logger, registrySecrets, registriesCredentials, language) {
-  const registryTypeForLanguage = language ? LANGUAGE_TO_REGISTRY_TYPE[language] : void 0;
-  let credentialsStr;
-  if (registriesCredentials !== void 0) {
-    logger.info(`Using registries_credentials input.`);
-    credentialsStr = Buffer.from(registriesCredentials, "base64").toString();
-  } else if (registrySecrets !== void 0) {
-    logger.info(`Using registry_secrets input.`);
-    credentialsStr = registrySecrets;
-  } else {
-    logger.info(`No credentials defined.`);
-    return [];
-  }
-  let parsed;
-  try {
-    parsed = JSON.parse(credentialsStr);
-  } catch {
-    logger.error("Failed to parse the credentials data.");
-    throw new ConfigurationError("Invalid credentials format.");
-  }
-  if (!Array.isArray(parsed)) {
-    throw new ConfigurationError(
-      "Expected credentials data to be an array of configurations, but it is not."
-    );
-  }
-  const out = [];
-  for (const e of parsed) {
-    if (e === null || typeof e !== "object") {
-      throw new ConfigurationError("Invalid credentials - must be an object");
-    }
-    if (isDefined2(e.password)) {
-      core7.setSecret(e.password);
-    }
-    if (isDefined2(e.token)) {
-      core7.setSecret(e.token);
-    }
-    if (!isDefined2(e.url) && !isDefined2(e.host)) {
-      throw new ConfigurationError(
-        "Invalid credentials - must specify host or url"
-      );
-    }
-    if (registryTypeForLanguage && !registryTypeForLanguage.some((t) => t === e.type)) {
-      continue;
-    }
-    const isPrintable2 = (str2) => {
-      return str2 ? /^[\x20-\x7E]*$/.test(str2) : true;
-    };
-    if (!isPrintable2(e.type) || !isPrintable2(e.host) || !isPrintable2(e.url) || !isPrintable2(e.username) || !isPrintable2(e.password) || !isPrintable2(e.token)) {
-      throw new ConfigurationError(
-        "Invalid credentials - fields must contain only printable characters"
-      );
-    }
-    if (!isDefined2(e.username) && (isDefined2(e.password) && isPAT(e.password) || isDefined2(e.token) && isPAT(e.token))) {
-      logger.warning(
-        `A ${e.type} private registry is configured for ${e.host || e.url} using a GitHub Personal Access Token (PAT), but no username was provided. This may not work correctly. When configuring a private registry using a PAT, select "Username and password" and enter the username of the user who generated the PAT.`
-      );
-    }
-    out.push({
-      type: e.type,
-      host: e.host,
-      url: e.url,
-      username: e.username,
-      password: e.password,
-      token: e.token
-    });
-  }
-  return out;
-}
-function getProxyPackage() {
-  const platform = process.platform === "win32" ? "win64" : process.platform === "darwin" ? "osx64" : "linux64";
-  return `${UPDATEJOB_PROXY}-${platform}.tar.gz`;
-}
-function getFallbackUrl(proxyPackage) {
-  return `${UPDATEJOB_PROXY_URL_PREFIX}${proxyPackage}`;
-}
-async function getLinkedRelease() {
-  return getApiClient().rest.repos.getReleaseByTag({
-    owner: "github",
-    repo: "codeql-action",
-    tag: bundleVersion
-  });
-}
-async function getDownloadUrl(logger) {
-  const proxyPackage = getProxyPackage();
-  try {
-    const cliRelease = await getLinkedRelease();
-    for (const asset of cliRelease.data.assets) {
-      if (asset.name === proxyPackage) {
-        logger.info(
-          `Found '${proxyPackage}' in release '${bundleVersion}' at '${asset.url}'`
-        );
-        return {
-          url: asset.url,
-          // The `update-job-proxy` doesn't have a version as such. Since we now bundle it
-          // with CodeQL CLI bundle releases, we use the corresponding CLI version to
-          // differentiate between (potentially) different versions of `update-job-proxy`.
-          version: cliVersion
-        };
-      }
-    }
-  } catch (ex) {
-    logger.warning(
-      `Failed to retrieve information about the linked release: ${getErrorMessage(ex)}`
-    );
-  }
-  logger.info(
-    `Did not find '${proxyPackage}' in the linked release, falling back to hard-coded version.`
-  );
-  return {
-    url: getFallbackUrl(proxyPackage),
-    version: UPDATEJOB_PROXY_VERSION
-  };
-}
-
 // src/status-report.ts
 var os = __toESM(require("os"));
-var core10 = __toESM(require_core());
+var core9 = __toESM(require_core());
 
 // src/analyses.ts
 var AnalysisKind = /* @__PURE__ */ ((AnalysisKind2) => {
@@ -119161,7 +120503,7 @@ var AnalysisKind = /* @__PURE__ */ ((AnalysisKind2) => {
 var supportedAnalysisKinds = new Set(Object.values(AnalysisKind));
 
 // src/caching-utils.ts
-var core8 = __toESM(require_core());
+var core7 = __toESM(require_core());
 
 // src/config/db-config.ts
 var jsonschema = __toESM(require_lib3());
@@ -119180,14 +120522,14 @@ var semver5 = __toESM(require_semver2());
 var actionsCache = __toESM(require_cache5());
 
 // src/git-utils.ts
-var core9 = __toESM(require_core());
+var core8 = __toESM(require_core());
 var toolrunner2 = __toESM(require_toolrunner());
 var io3 = __toESM(require_io());
 var semver3 = __toESM(require_semver2());
 var runGitCommand = async function(workingDirectory, args, customErrorMessage, options) {
   let stdout = "";
   let stderr = "";
-  core9.debug(`Running git command: git ${args.join(" ")}`);
+  core8.debug(`Running git command: git ${args.join(" ")}`);
   try {
     await new toolrunner2.ToolRunner(await io3.which("git", true), args, {
       silent: true,
@@ -119208,7 +120550,7 @@ var runGitCommand = async function(workingDirectory, args, customErrorMessage, o
     if (stderr.includes("not a git repository")) {
       reason = "The checkout path provided to the action does not appear to be a git repository.";
     }
-    core9.info(`git call failed. ${customErrorMessage} Error: ${reason}`);
+    core8.info(`git call failed. ${customErrorMessage} Error: ${reason}`);
     throw error3;
   }
 };
@@ -119264,7 +120606,7 @@ async function getRef() {
   ) !== head;
   if (hasChangedRef) {
     const newRef = ref.replace(pull_ref_regex, "refs/pull/$1/head");
-    core9.debug(
+    core8.debug(
       `No longer on merge commit, rewriting ref from ${ref} to ${newRef}.`
     );
     return newRef;
@@ -119539,12 +120881,12 @@ function getActionsStatus(error3, otherFailureCause) {
 }
 function setJobStatusIfUnsuccessful(actionStatus) {
   if (actionStatus === "user-error") {
-    core10.exportVariable(
+    core9.exportVariable(
       "CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */,
       process.env["CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */] ?? "JOB_STATUS_CONFIGURATION_ERROR" /* ConfigErrorStatus */
     );
   } else if (actionStatus === "failure" || actionStatus === "aborted") {
-    core10.exportVariable(
+    core9.exportVariable(
       "CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */,
       process.env["CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */] ?? "JOB_STATUS_FAILURE" /* FailureStatus */
     );
@@ -119563,14 +120905,14 @@ async function createStatusReportBase(actionName, status, actionStartedAt, confi
     let workflowStartedAt = process.env["CODEQL_WORKFLOW_STARTED_AT" /* WORKFLOW_STARTED_AT */];
     if (workflowStartedAt === void 0) {
       workflowStartedAt = actionStartedAt.toISOString();
-      core10.exportVariable("CODEQL_WORKFLOW_STARTED_AT" /* WORKFLOW_STARTED_AT */, workflowStartedAt);
+      core9.exportVariable("CODEQL_WORKFLOW_STARTED_AT" /* WORKFLOW_STARTED_AT */, workflowStartedAt);
     }
     const runnerOs = getRequiredEnvParam("RUNNER_OS");
     const codeQlCliVersion = getCachedCodeQlVersion();
     const actionRef = process.env["GITHUB_ACTION_REF"] || "";
     const testingEnvironment = getTestingEnvironment();
     if (testingEnvironment) {
-      core10.exportVariable("CODEQL_ACTION_TESTING_ENVIRONMENT" /* TESTING_ENVIRONMENT */, testingEnvironment);
+      core9.exportVariable("CODEQL_ACTION_TESTING_ENVIRONMENT" /* TESTING_ENVIRONMENT */, testingEnvironment);
     }
     const isSteadyStateDefaultSetupRun = process.env["CODE_SCANNING_IS_STEADY_STATE_DEFAULT_SETUP"] === "true";
     const statusReport = {
@@ -119653,9 +120995,9 @@ var INCOMPATIBLE_MSG = "CodeQL Action version is incompatible with the API endpo
 async function sendStatusReport(statusReport) {
   setJobStatusIfUnsuccessful(statusReport.status);
   const statusReportJSON = JSON.stringify(statusReport);
-  core10.debug(`Sending status report: ${statusReportJSON}`);
+  core9.debug(`Sending status report: ${statusReportJSON}`);
   if (isInTestMode()) {
-    core10.debug("In test mode. Status reports are not uploaded.");
+    core9.debug("In test mode. Status reports are not uploaded.");
     return;
   }
   const nwo = getRepositoryNwo();
@@ -119675,28 +121017,28 @@ async function sendStatusReport(statusReport) {
       switch (httpError.status) {
         case 403:
           if (getWorkflowEventName() === "push" && process.env["GITHUB_ACTOR"] === "dependabot[bot]") {
-            core10.warning(
+            core9.warning(
               `Workflows triggered by Dependabot on the "push" event run with read-only access. Uploading CodeQL results requires write access. To use CodeQL with Dependabot, please ensure you are using the "pull_request" event for this workflow and avoid triggering on the "push" event for Dependabot branches. See ${"https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#scanning-on-push" /* SCANNING_ON_PUSH */} for more information on how to configure these events.`
             );
           } else {
-            core10.warning(
+            core9.warning(
               `This run of the CodeQL Action does not have permission to access the CodeQL Action API endpoints. This could be because the Action is running on a pull request from a fork. If not, please ensure the workflow has at least the 'security-events: read' permission. Details: ${httpError.message}`
             );
           }
           return;
         case 404:
-          core10.warning(httpError.message);
+          core9.warning(httpError.message);
           return;
         case 422:
           if (getRequiredEnvParam("GITHUB_SERVER_URL") !== GITHUB_DOTCOM_URL) {
-            core10.debug(INCOMPATIBLE_MSG);
+            core9.debug(INCOMPATIBLE_MSG);
           } else {
-            core10.debug(OUT_OF_DATE_MSG);
+            core9.debug(OUT_OF_DATE_MSG);
           }
           return;
       }
     }
-    core10.warning(
+    core9.warning(
       `An unexpected error occurred when sending a status report: ${getErrorMessage(
         e
       )}`
@@ -119728,6 +121070,283 @@ async function sendUnhandledErrorStatusReport(actionName, actionStartedAt, error
   }
 }
 
+// src/start-proxy.ts
+function getStartProxyErrorMessage(errorType) {
+  switch (errorType) {
+    case 0 /* DownloadFailed */:
+      return "Failed to download proxy archive.";
+    case 1 /* ExtractionFailed */:
+      return "Failed to extract proxy archive.";
+    case 2 /* CacheFailed */:
+      return "Failed to add proxy to toolcache";
+  }
+}
+var StartProxyError = class extends Error {
+  errorType;
+  constructor(errorType) {
+    super();
+    this.errorType = errorType;
+  }
+};
+async function sendSuccessStatusReport(startedAt, config, registry_types, logger) {
+  const statusReportBase = await createStatusReportBase(
+    "start-proxy" /* StartProxy */,
+    "success",
+    startedAt,
+    config,
+    await checkDiskUsage(logger),
+    logger
+  );
+  if (statusReportBase !== void 0) {
+    const statusReport = {
+      ...statusReportBase,
+      registry_types: registry_types.join(",")
+    };
+    await sendStatusReport(statusReport);
+  }
+}
+function getSafeErrorMessage(error3) {
+  if (error3 instanceof StartProxyError) {
+    return getStartProxyErrorMessage(error3.errorType);
+  }
+  return `Error from start-proxy Action omitted (${error3.constructor.name}).`;
+}
+async function sendFailedStatusReport(logger, startedAt, language, unwrappedError) {
+  const error3 = wrapError(unwrappedError);
+  core10.setFailed(`start-proxy action failed: ${error3.message}`);
+  const statusReportMessage = getSafeErrorMessage(error3);
+  const errorStatusReportBase = await createStatusReportBase(
+    "start-proxy" /* StartProxy */,
+    getActionsStatus(error3),
+    startedAt,
+    {
+      languages: language && [language]
+    },
+    await checkDiskUsage(logger),
+    logger,
+    statusReportMessage
+  );
+  if (errorStatusReportBase !== void 0) {
+    await sendStatusReport(errorStatusReportBase);
+  }
+}
+var UPDATEJOB_PROXY = "update-job-proxy";
+var UPDATEJOB_PROXY_VERSION = "v2.0.20250624110901";
+var UPDATEJOB_PROXY_URL_PREFIX = "https://github.com/github/codeql-action/releases/download/codeql-bundle-v2.22.0/";
+var LANGUAGE_ALIASES = {
+  c: "cpp" /* cpp */,
+  "c++": "cpp" /* cpp */,
+  "c#": "csharp" /* csharp */,
+  kotlin: "java" /* java */,
+  typescript: "javascript" /* javascript */,
+  "javascript-typescript": "javascript" /* javascript */,
+  "java-kotlin": "java" /* java */
+};
+function parseLanguage(language) {
+  language = language.trim().toLowerCase();
+  if (language in KnownLanguage) {
+    return language;
+  }
+  if (language in LANGUAGE_ALIASES) {
+    return LANGUAGE_ALIASES[language];
+  }
+  return void 0;
+}
+function isPAT(value) {
+  return isAuthToken(value, [
+    GITHUB_PAT_CLASSIC_PATTERN,
+    GITHUB_PAT_FINE_GRAINED_PATTERN
+  ]);
+}
+var LANGUAGE_TO_REGISTRY_TYPE = {
+  java: ["maven_repository"],
+  csharp: ["nuget_feed"],
+  javascript: ["npm_registry"],
+  python: ["python_index"],
+  ruby: ["rubygems_server"],
+  rust: ["cargo_registry"],
+  go: ["goproxy_server", "git_source"]
+};
+function getCredentials(logger, registrySecrets, registriesCredentials, language) {
+  const registryTypeForLanguage = language ? LANGUAGE_TO_REGISTRY_TYPE[language] : void 0;
+  let credentialsStr;
+  if (registriesCredentials !== void 0) {
+    logger.info(`Using registries_credentials input.`);
+    credentialsStr = Buffer.from(registriesCredentials, "base64").toString();
+  } else if (registrySecrets !== void 0) {
+    logger.info(`Using registry_secrets input.`);
+    credentialsStr = registrySecrets;
+  } else {
+    logger.info(`No credentials defined.`);
+    return [];
+  }
+  let parsed;
+  try {
+    parsed = JSON.parse(credentialsStr);
+  } catch {
+    logger.error("Failed to parse the credentials data.");
+    throw new ConfigurationError("Invalid credentials format.");
+  }
+  if (!Array.isArray(parsed)) {
+    throw new ConfigurationError(
+      "Expected credentials data to be an array of configurations, but it is not."
+    );
+  }
+  const out = [];
+  for (const e of parsed) {
+    if (e === null || typeof e !== "object") {
+      throw new ConfigurationError("Invalid credentials - must be an object");
+    }
+    if (isDefined2(e.password)) {
+      core10.setSecret(e.password);
+    }
+    if (isDefined2(e.token)) {
+      core10.setSecret(e.token);
+    }
+    if (!isDefined2(e.url) && !isDefined2(e.host)) {
+      throw new ConfigurationError(
+        "Invalid credentials - must specify host or url"
+      );
+    }
+    if (registryTypeForLanguage && !registryTypeForLanguage.some((t) => t === e.type)) {
+      continue;
+    }
+    const isPrintable2 = (str2) => {
+      return str2 ? /^[\x20-\x7E]*$/.test(str2) : true;
+    };
+    if (!isPrintable2(e.type) || !isPrintable2(e.host) || !isPrintable2(e.url) || !isPrintable2(e.username) || !isPrintable2(e.password) || !isPrintable2(e.token)) {
+      throw new ConfigurationError(
+        "Invalid credentials - fields must contain only printable characters"
+      );
+    }
+    if (!isDefined2(e.username) && (isDefined2(e.password) && isPAT(e.password) || isDefined2(e.token) && isPAT(e.token))) {
+      logger.warning(
+        `A ${e.type} private registry is configured for ${e.host || e.url} using a GitHub Personal Access Token (PAT), but no username was provided. This may not work correctly. When configuring a private registry using a PAT, select "Username and password" and enter the username of the user who generated the PAT.`
+      );
+    }
+    out.push({
+      type: e.type,
+      host: e.host,
+      url: e.url,
+      username: e.username,
+      password: e.password,
+      token: e.token
+    });
+  }
+  return out;
+}
+function getProxyPackage() {
+  const platform = process.platform === "win32" ? "win64" : process.platform === "darwin" ? "osx64" : "linux64";
+  return `${UPDATEJOB_PROXY}-${platform}.tar.gz`;
+}
+function getFallbackUrl(proxyPackage) {
+  return `${UPDATEJOB_PROXY_URL_PREFIX}${proxyPackage}`;
+}
+async function getLinkedRelease() {
+  return getApiClient().rest.repos.getReleaseByTag({
+    owner: "github",
+    repo: "codeql-action",
+    tag: bundleVersion
+  });
+}
+async function getDownloadUrl(logger) {
+  const proxyPackage = getProxyPackage();
+  try {
+    const cliRelease = await getLinkedRelease();
+    for (const asset of cliRelease.data.assets) {
+      if (asset.name === proxyPackage) {
+        logger.info(
+          `Found '${proxyPackage}' in release '${bundleVersion}' at '${asset.url}'`
+        );
+        return {
+          url: asset.url,
+          // The `update-job-proxy` doesn't have a version as such. Since we now bundle it
+          // with CodeQL CLI bundle releases, we use the corresponding CLI version to
+          // differentiate between (potentially) different versions of `update-job-proxy`.
+          version: cliVersion
+        };
+      }
+    }
+  } catch (ex) {
+    logger.warning(
+      `Failed to retrieve information about the linked release: ${getErrorMessage(ex)}`
+    );
+  }
+  logger.info(
+    `Did not find '${proxyPackage}' in the linked release, falling back to hard-coded version.`
+  );
+  return {
+    url: getFallbackUrl(proxyPackage),
+    version: UPDATEJOB_PROXY_VERSION
+  };
+}
+function credentialToStr(c) {
+  return `Type: ${c.type}; Host: ${c.host}; Url: ${c.url} Username: ${c.username}; Password: ${c.password !== void 0}; Token: ${c.token !== void 0}`;
+}
+async function downloadProxy(logger, url, authorization) {
+  try {
+    return toolcache.downloadTool(
+      url,
+      /* dest: */
+      void 0,
+      authorization,
+      {
+        accept: "application/octet-stream"
+      }
+    );
+  } catch (error3) {
+    logger.error(
+      `Failed to download proxy archive from ${url}: ${getErrorMessage(error3)}`
+    );
+    throw new StartProxyError(0 /* DownloadFailed */);
+  }
+}
+async function extractProxy(logger, archive) {
+  try {
+    return await toolcache.extractTar(archive);
+  } catch (error3) {
+    logger.error(
+      `Failed to extract proxy archive from ${archive}: ${getErrorMessage(error3)}`
+    );
+    throw new StartProxyError(1 /* ExtractionFailed */);
+  }
+}
+async function cacheProxy(logger, source, filename, version) {
+  try {
+    return await toolcache.cacheDir(source, filename, version);
+  } catch (error3) {
+    logger.error(
+      `Failed to add proxy archive from ${source} to toolcache: ${getErrorMessage(error3)}`
+    );
+    throw new StartProxyError(2 /* CacheFailed */);
+  }
+}
+function getProxyFilename() {
+  return process.platform === "win32" ? `${UPDATEJOB_PROXY}.exe` : UPDATEJOB_PROXY;
+}
+async function getProxyBinaryPath(logger) {
+  const proxyFileName = getProxyFilename();
+  const proxyInfo = await getDownloadUrl(logger);
+  let proxyBin = toolcache.find(proxyFileName, proxyInfo.version);
+  if (!proxyBin) {
+    const apiDetails = getApiDetails();
+    const authorization = getAuthorizationHeaderFor(
+      logger,
+      apiDetails,
+      proxyInfo.url
+    );
+    const temp = await downloadProxy(logger, proxyInfo.url, authorization);
+    const extracted = await extractProxy(logger, temp);
+    proxyBin = await cacheProxy(
+      logger,
+      extracted,
+      proxyFileName,
+      proxyInfo.version
+    );
+  }
+  return path.join(proxyBin, proxyFileName);
+}
+
 // src/start-proxy-action.ts
 var KEY_SIZE = 2048;
 var KEY_EXPIRY_YEARS = 2;
@@ -119775,30 +121394,13 @@ function generateCertificateAuthority() {
   const key = import_node_forge.pki.privateKeyToPem(keys.privateKey);
   return { cert: pem, key };
 }
-async function sendSuccessStatusReport(startedAt, config, registry_types, logger) {
-  const statusReportBase = await createStatusReportBase(
-    "start-proxy" /* StartProxy */,
-    "success",
-    startedAt,
-    config,
-    await checkDiskUsage(logger),
-    logger
-  );
-  if (statusReportBase !== void 0) {
-    const statusReport = {
-      ...statusReportBase,
-      registry_types: registry_types.join(",")
-    };
-    await sendStatusReport(statusReport);
-  }
-}
 async function run(startedAt) {
   const logger = getActionsLogger();
   let language;
   try {
     persistInputs();
     const tempDir = getTemporaryDirectory();
-    const proxyLogFilePath = path.resolve(tempDir, "proxy.log");
+    const proxyLogFilePath = path2.resolve(tempDir, "proxy.log");
     core11.saveState("proxy-log-file", proxyLogFilePath);
     const languageInput = getOptionalInput("language");
     language = languageInput ? parseLanguage(languageInput) : void 0;
@@ -119832,22 +121434,7 @@ async function run(startedAt) {
       logger
     );
   } catch (unwrappedError) {
-    const error3 = wrapError(unwrappedError);
-    core11.setFailed(`start-proxy action failed: ${error3.message}`);
-    const errorStatusReportBase = await createStatusReportBase(
-      "start-proxy" /* StartProxy */,
-      getActionsStatus(error3),
-      startedAt,
-      {
-        languages: language && [language]
-      },
-      await checkDiskUsage(logger),
-      logger,
-      "Error from start-proxy Action omitted"
-    );
-    if (errorStatusReportBase !== void 0) {
-      await sendStatusReport(errorStatusReportBase);
-    }
+    await sendFailedStatusReport(logger, startedAt, language, unwrappedError);
   }
 }
 async function runWrapper() {
@@ -119860,7 +121447,7 @@ async function runWrapper() {
     await sendUnhandledErrorStatusReport(
       "start-proxy" /* StartProxy */,
       startedAt,
-      new Error("Error from start-proxy Action omitted"),
+      getSafeErrorMessage(wrapError(error3)),
       logger
     );
   }
@@ -119910,47 +121497,15 @@ async function startProxy(binPath, config, logFilePath, logger) {
   }));
   core11.setOutput("proxy_urls", JSON.stringify(registry_urls));
 }
-async function getProxyBinaryPath(logger) {
-  const proxyFileName = process.platform === "win32" ? `${UPDATEJOB_PROXY}.exe` : UPDATEJOB_PROXY;
-  const proxyInfo = await getDownloadUrl(logger);
-  let proxyBin = toolcache.find(proxyFileName, proxyInfo.version);
-  if (!proxyBin) {
-    const apiDetails = getApiDetails();
-    const authorization = getAuthorizationHeaderFor(
-      logger,
-      apiDetails,
-      proxyInfo.url
-    );
-    const temp = await toolcache.downloadTool(
-      proxyInfo.url,
-      void 0,
-      authorization,
-      {
-        accept: "application/octet-stream"
-      }
-    );
-    const extracted = await toolcache.extractTar(temp);
-    proxyBin = await toolcache.cacheDir(
-      extracted,
-      proxyFileName,
-      proxyInfo.version
-    );
-  }
-  proxyBin = path.join(proxyBin, proxyFileName);
-  return proxyBin;
-}
-function credentialToStr(c) {
-  return `Type: ${c.type}; Host: ${c.host}; Url: ${c.url} Username: ${c.username}; Password: ${c.password !== void 0}; Token: ${c.token !== void 0}`;
-}
 void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/upload-lib.js b/lib/upload-lib.js
index ea79e33b51..512888e51a 100644
--- a/lib/upload-lib.js
+++ b/lib/upload-lib.js
@@ -22846,9 +22846,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -22859,7 +22859,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -22872,6 +22871,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -22884,6 +22884,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -22905,67 +22907,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -22974,129 +22999,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT");
+    var AbortError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+        this.message = message || "The operation was aborted";
+        this.code = "UND_ERR_ABORT";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         this.name = "InformationalError";
         this.message = message || "Request information";
         this.code = "UND_ERR_INFO";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInformationalError] === true;
+      }
+      [kInformationalError] = true;
     };
-    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -23104,8 +23198,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE");
+    var ResponseError = class extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        this.name = "ResponseError";
+        this.message = message || "Response error";
+        this.code = "UND_ERR_RESPONSE";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseError] === true;
+      }
+      [kResponseError] = true;
+    };
+    var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS");
+    var SecureProxyConnectionError = class extends UndiciError {
+      constructor(cause, message, options) {
+        super(message, { cause, ...options ?? {} });
+        this.name = "SecureProxyConnectionError";
+        this.message = message || "Secure Proxy Connection failed";
+        this.code = "UND_ERR_PRX_TLS";
+        this.cause = cause;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSecureProxyConnectionError] === true;
+      }
+      [kSecureProxyConnectionError] = true;
     };
     module2.exports = {
+      AbortError,
       HTTPParserError,
       UndiciError,
       HeadersTimeoutError,
@@ -23125,14 +23254,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -23245,28 +23376,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              node.middle = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.code < code) {
+            if (node.left !== null) {
+              node = node.left;
+            } else {
+              node.left = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.right !== null) {
+            node = node.right;
+          } else {
+            node.right = new _TstNode(key, value, index);
+            break;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    var TernarySearchTree = class {
+      /** @type {TstNode | null} */
+      node = null;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * */
+      insert(key, value) {
+        if (this.node === null) {
+          this.node = new TstNode(key, value, 0);
+        } else {
+          this.node.add(key, value);
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {any}
+       */
+      lookup(key) {
+        return this.node?.search(key)?.value ?? null;
+      }
+    };
+    var tree = new TernarySearchTree();
+    for (let i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]];
+      tree.insert(key, key);
+    }
+    module2.exports = {
+      TernarySearchTree,
+      tree
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream2 = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream2 = require("node:stream");
+    var net = require("node:net");
+    var { Blob: Blob2 } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var { stringify } = require("node:querystring");
+    var { EventEmitter: EE } = require("node:events");
     var { InvalidArgumentError } = require_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      if (object === null) {
+        return false;
+      } else if (object instanceof Blob2) {
+        return true;
+      } else if (typeof object !== "object") {
+        return false;
+      } else {
+        const sTag = object[Symbol.toStringTag];
+        return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function");
+      }
     }
     function buildURL(url2, queryParams) {
       if (url2.includes("?") || url2.includes("#")) {
@@ -23278,10 +23593,17 @@ var require_util9 = __commonJS({
       }
       return url2;
     }
+    function isValidPort(port) {
+      const value = parseInt(port, 10);
+      return value === Number(port) && value >= 0 && value <= 65535;
+    }
+    function isHttpOrHttpsPrefixed(value) {
+      return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
+    }
     function parseURL(url2) {
       if (typeof url2 === "string") {
         url2 = new URL(url2);
-        if (!/^https?:/.test(url2.origin || url2.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url2;
@@ -23289,11 +23611,8 @@ var require_util9 = __commonJS({
       if (!url2 || typeof url2 !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url2.origin || url2.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url2 instanceof URL)) {
-        if (url2.port != null && url2.port !== "" && !Number.isFinite(parseInt(url2.port))) {
+        if (url2.port != null && url2.port !== "" && isValidPort(url2.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url2.path != null && typeof url2.path !== "string") {
@@ -23308,16 +23627,22 @@ var require_util9 = __commonJS({
         if (url2.origin != null && typeof url2.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80;
-        let origin = url2.origin != null ? url2.origin : `${url2.protocol}//${url2.hostname}:${port}`;
+        let origin = url2.origin != null ? url2.origin : `${url2.protocol || ""}//${url2.hostname || ""}:${port}`;
         let path11 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path11 && !path11.startsWith("/")) {
+        if (path11 && path11[0] !== "/") {
           path11 = `/${path11}`;
         }
-        url2 = new URL(origin + path11);
+        return new URL(`${origin}${path11}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url2;
     }
@@ -23342,7 +23667,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -23371,12 +23696,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream3) {
-      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
-    }
-    function isReadableAborted(stream3) {
-      const state = stream3 && stream3._readableState;
-      return isDestroyed(stream3) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body));
     }
     function destroy(stream3, err) {
       if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
@@ -23388,9 +23709,9 @@ var require_util9 = __commonJS({
         }
         stream3.destroy(err);
       } else if (err) {
-        process.nextTick((stream4, err2) => {
-          stream4.emit("error", err2);
-        }, stream3, err);
+        queueMicrotask(() => {
+          stream3.emit("error", err);
+        });
       }
       if (stream3.destroyed !== true) {
         stream3[kDestroyed] = true;
@@ -23402,25 +23723,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        if (val) {
+          if (typeof val === "string") {
             val = [val];
             obj[key] = val;
           }
           val.push(headers[i + 1].toString("utf8"));
+        } else {
+          const headersValue = headers[i + 1];
+          if (typeof headersValue === "string") {
+            obj[key] = headersValue;
+          } else {
+            obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -23429,20 +23754,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      const len = headers.length;
+      const ret = new Array(len);
       let hasContentLength = false;
       let contentDispositionIdx = -1;
+      let key;
+      let val;
+      let kLen = 0;
       for (let n = 0; n < headers.length; n += 2) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        key = headers[n];
+        val = headers[n + 1];
+        typeof key !== "string" && (key = key.toString());
+        typeof val !== "string" && (val = val.toString("utf8"));
+        kLen = key.length;
+        if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) {
           hasContentLength = true;
-        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -23482,17 +23813,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream2.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -23506,21 +23833,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -23530,37 +23845,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          type: "bytes"
+        }
       );
     }
     function isFormDataLike(object) {
       return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
     }
-    function throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -23569,14 +23873,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.toUSVString(val);
+      return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val);
+    }
+    function isUSVString(val) {
+      return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`;
+    }
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
+      }
+    }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
+        }
       }
-      return `${val}`;
+      return true;
+    }
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    function isValidHeaderValue(characters) {
+      return !headerCharRegex.test(characters);
     }
     function parseRangeHeader(range) {
       if (range == null || range === "") return { start: 0, end: null, size: null };
@@ -23587,25 +23929,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
+    var normalizedMethodRecordsBase = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    var normalizedMethodRecords = {
+      ...normalizedMethodRecordsBase,
+      patch: "patch",
+      PATCH: "PATCH"
+    };
+    Object.setPrototypeOf(normalizedMethodRecordsBase, null);
+    Object.setPrototypeOf(normalizedMethodRecords, null);
+    module2.exports = {
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isUSVString,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
       isStream,
       isIterable,
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -23618,15673 +24005,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    var diagnosticsChannel = require("node:diagnostics_channel");
+    var util = require("node:util");
+    var undiciDebugLog = util.debuglog("undici");
+    var fetchDebuglog = util.debuglog("fetch");
+    var websocketDebuglog = util.debuglog("websocket");
+    var isClientSet = false;
+    var channels = {
+      // Client
+      beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
+      connected: diagnosticsChannel.channel("undici:client:connected"),
+      connectError: diagnosticsChannel.channel("undici:client:connectError"),
+      sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
+      // Request
+      create: diagnosticsChannel.channel("undici:request:create"),
+      bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
+      headers: diagnosticsChannel.channel("undici:request:headers"),
+      trailers: diagnosticsChannel.channel("undici:request:trailers"),
+      error: diagnosticsChannel.channel("undici:request:error"),
+      // WebSocket
+      open: diagnosticsChannel.channel("undici:websocket:open"),
+      close: diagnosticsChannel.channel("undici:websocket:close"),
+      socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
+      ping: diagnosticsChannel.channel("undici:websocket:ping"),
+      pong: diagnosticsChannel.channel("undici:websocket:pong")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
+      const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog;
+      diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connecting to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connected to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host },
+          error: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path11, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path11);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path11, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path11,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path11, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path11);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path11, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path11,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    if (websocketDebuglog.enabled) {
+      if (!isClientSet) {
+        const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog;
+        diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connecting to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connected to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host },
+            error: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path11, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path11);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => {
+        const {
+          address: { address, port }
+        } = evt;
+        websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : "");
+      });
+      diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => {
+        const { websocket, code, reason } = evt;
+        websocketDebuglog(
+          "closed connection to %s - %s %s",
+          websocket.url,
+          code,
+          reason
+        );
+      });
+      diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => {
+        websocketDebuglog("connection errored - %s", err.message);
+      });
+      diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => {
+        websocketDebuglog("ping received");
+      });
+      diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => {
+        websocketDebuglog("pong received");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path11,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path11 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path11[0] !== "/" && !(path11.startsWith("http://") || path11.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path11)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
+          throw new InvalidArgumentError("invalid request method");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path11, query) : path11;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
           }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      }
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    function processHeader(request2, key, val) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path11) {
-      if (typeof path11 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path11.length - 1; i >= 0; --i) {
-        switch (path11.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path11 = path11.slice(i + 1);
-            return path11 === ".." || path11 === "." ? "" : path11;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path11 === ".." || path11 === "." ? "" : path11;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable: Readable2 } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        request2.host = val;
+      } else if (request2.contentLength === null && headerName === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } else if (request2.contentType === null && headerName === "content-type") {
+        request2.contentType = val;
+        request2.headers.push(key, val);
+      } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
+        throw new InvalidArgumentError(`invalid ${headerName} header`);
+      } else if (headerName === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
         }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable2.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable2);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      compose(...args) {
+        const interceptors = Array.isArray(args[0]) ? args[0] : args;
+        let dispatch = this.dispatch.bind(this);
+        for (const interceptor of interceptors) {
+          if (interceptor == null) {
+            continue;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve6, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve6(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve6, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve6(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
+        }
+        if (!err) {
+          err = new ClientDestroyedError();
+        }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
+        });
+      }
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
+        }
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
+        }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
+      }
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
+        }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
+          }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
+          }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
+          }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
+          }
+          handler2.onError(err);
+          return false;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer");
+    var fastTimers = [];
+    var NOT_IN_LIST = -2;
+    var TO_BE_CLEARED = -1;
+    var PENDING = 0;
+    var ACTIVE = 1;
+    function onTick() {
+      fastNow += TICK_MS;
+      let idx = 0;
+      let len = fastTimers.length;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer._state === PENDING) {
+          timer._idleStart = fastNow - TICK_MS;
+          timer._state = ACTIVE;
+        } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
+          timer._state = TO_BE_CLEARED;
+          timer._idleStart = -1;
+          timer._onTimeout(timer._timerArg);
+        }
+        if (timer._state === TO_BE_CLEARED) {
+          timer._state = NOT_IN_LIST;
+          if (--len !== 0) {
+            fastTimers[idx] = fastTimers[len];
+          }
+        } else {
+          ++idx;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
-    function getGlobalOrigin() {
-      return globalThis[globalOrigin];
     }
-    function setGlobalOrigin(newOrigin) {
-      if (newOrigin === void 0) {
-        Object.defineProperty(globalThis, globalOrigin, {
-          value: void 0,
-          writable: true,
-          enumerable: false,
-          configurable: false
-        });
-        return;
+    var FastTimer = class {
+      [kFastTimer] = true;
+      /**
+       * The state of the timer, which can be one of the following:
+       * - NOT_IN_LIST (-2)
+       * - TO_BE_CLEARED (-1)
+       * - PENDING (0)
+       * - ACTIVE (1)
+       *
+       * @type {-2|-1|0|1}
+       * @private
+       */
+      _state = NOT_IN_LIST;
+      /**
+       * The number of milliseconds to wait before calling the callback.
+       *
+       * @type {number}
+       * @private
+       */
+      _idleTimeout = -1;
+      /**
+       * The time in milliseconds when the timer was started. This value is used to
+       * calculate when the timer should expire.
+       *
+       * @type {number}
+       * @default -1
+       * @private
+       */
+      _idleStart = -1;
+      /**
+       * The function to be executed when the timer expires.
+       * @type {Function}
+       * @private
+       */
+      _onTimeout;
+      /**
+       * The argument to be passed to the callback when the timer expires.
+       *
+       * @type {*}
+       * @private
+       */
+      _timerArg;
+      /**
+       * @constructor
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should wait
+       * before the specified function or code is executed.
+       * @param {*} arg
+       */
+      constructor(callback, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * Sets the timer's start time to the current time, and reschedules the timer
+       * to call its callback at the previously specified duration adjusted to the
+       * current time.
+       * Using this on a timer that has already called its callback will reactivate
+       * the timer.
+       *
+       * @returns {void}
+       */
+      refresh() {
+        if (this._state === NOT_IN_LIST) {
+          fastTimers.push(this);
+        }
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
+        }
+        this._state = PENDING;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * The setTimeout() method sets a timer which executes a function once the
+       * timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {NodeJS.Timeout|FastTimer}
+       */
+      setTimeout(callback, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated Timer previously created
+       * by calling setTimeout.
+       *
+       * @param {NodeJS.Timeout|FastTimer} timeout
+       */
+      clearTimeout(timeout) {
+        if (timeout[kFastTimer]) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
+      },
+      /**
+       * The setFastTimeout() method sets a fastTimer which executes a function once
+       * the timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {FastTimer}
+       */
+      setFastTimeout(callback, delay2, arg) {
+        return new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated FastTimer previously
+       * created by calling setFastTimeout.
+       *
+       * @param {FastTimer} timeout
+       */
+      clearFastTimeout(timeout) {
+        timeout.clear();
+      },
+      /**
+       * The now method returns the value of the internal fast timer clock.
+       *
+       * @returns {number}
+       */
+      now() {
+        return fastNow;
+      },
+      /**
+       * Trigger the onTick function to process the fastTimers array.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       * @param {number} [delay=0] The delay in milliseconds to add to the now value.
+       */
+      tick(delay2 = 0) {
+        fastNow += delay2 - RESOLUTION_MS + 1;
+        onTick();
+        onTick();
+      },
+      /**
+       * Reset FastTimers.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      reset() {
+        fastNow = 0;
+        fastTimers.length = 0;
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = null;
+      },
+      /**
+       * Exporting for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      kFastTimer
     };
   }
 });
 
-// node_modules/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance3 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
-    } catch {
-    }
-    function responseURL(response) {
-      const urlList = response.urlList;
-      const length = urlList.length;
-      return length === 0 ? null : urlList[length - 1].toString();
-    }
-    function responseLocationURL(response, requestFragment) {
-      if (!redirectStatusSet.has(response.status)) {
-        return null;
-      }
-      let location = response.headersList.get("location");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url2 = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
-        return "blocked";
-      }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    function isValidReasonPhrase(statusText) {
-      for (let i = 0; i < statusText.length; ++i) {
-        const c = statusText.charCodeAt(i);
-        if (!(c === 9 || // HTAB
-        c >= 32 && c <= 126 || // SP / VCHAR
-        c >= 128 && c <= 255)) {
-          return false;
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
         }
-      }
-      return true;
-    }
-    function isTokenCharCode(c) {
-      switch (c) {
-        case 34:
-        case 40:
-        case 41:
-        case 44:
-        case 47:
-        case 58:
-        case 59:
-        case 60:
-        case 61:
-        case 62:
-        case 63:
-        case 64:
-        case 91:
-        case 92:
-        case 93:
-        case 123:
-        case 125:
-          return false;
-        default:
-          return c >= 33 && c <= 126;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      if (policy !== "") {
-        request2.referrerPolicy = policy;
-      }
-    }
-    function crossOriginResourcePolicyCheck() {
-      return "allowed";
-    }
-    function corsCheck() {
-      return "success";
-    }
-    function TAOCheck() {
-      return "success";
-    }
-    function appendFetchMetadata(httpRequest) {
-      let header = null;
-      header = httpRequest.mode;
-      httpRequest.headersList.set("sec-fetch-mode", header);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance3.now();
-    }
-    function createOpaqueTimingInfo(timingInfo) {
-      return {
-        startTime: timingInfo.startTime ?? 0,
-        redirectStartTime: 0,
-        redirectEndTime: 0,
-        postRedirectStartTime: timingInfo.startTime ?? 0,
-        finalServiceWorkerStartTime: 0,
-        finalNetworkResponseStartTime: 0,
-        finalNetworkRequestStartTime: 0,
-        endTime: 0,
-        encodedBodySize: 0,
-        decodedBodySize: 0,
-        finalConnectionTimingInfo: null
-      };
-    }
-    function makePolicyContainer() {
-      return {
-        referrerPolicy: "strict-origin-when-cross-origin"
-      };
-    }
-    function clonePolicyContainer(policyContainer) {
-      return {
-        referrerPolicy: policyContainer.referrerPolicy
       };
-    }
-    function determineRequestsReferrer(request2) {
-      const policy = request2.referrerPolicy;
-      assert(policy);
-      let referrerSource = null;
-      if (request2.referrer === "client") {
-        const globalOrigin = getGlobalOrigin();
-        if (!globalOrigin || globalOrigin.origin === "null") {
-          return "no-referrer";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        referrerSource = new URL(globalOrigin);
-      } else if (request2.referrer instanceof URL) {
-        referrerSource = request2.referrer;
-      }
-      let referrerURL = stripURLForReferrer(referrerSource);
-      const referrerOrigin = stripURLForReferrer(referrerSource, true);
-      if (referrerURL.toString().length > 4096) {
-        referrerURL = referrerOrigin;
-      }
-      const areSameOrigin = sameOrigin(request2, referrerURL);
-      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
-      switch (policy) {
-        case "origin":
-          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
-        case "unsafe-url":
-          return referrerURL;
-        case "same-origin":
-          return areSameOrigin ? referrerOrigin : "no-referrer";
-        case "origin-when-cross-origin":
-          return areSameOrigin ? referrerURL : referrerOrigin;
-        case "strict-origin-when-cross-origin": {
-          const currentURL = requestCurrentURL(request2);
-          if (sameOrigin(referrerURL, currentURL)) {
-            return referrerURL;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url2, originOnly) {
-      assert(url2 instanceof URL);
-      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url2.username = "";
-      url2.password = "";
-      url2.hash = "";
-      if (originOnly) {
-        url2.pathname = "";
-        url2.search = "";
-      }
-      return url2;
-    }
-    function isURLPotentiallyTrustworthy(url2) {
-      if (!(url2 instanceof URL)) {
-        return false;
-      }
-      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
-        return true;
-      }
-      if (url2.protocol === "data:") return true;
-      if (url2.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url2.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto2 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
       }
-      const strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
-        if (actualValue[actualValue.length - 1] === "=") {
-          if (actualValue[actualValue.length - 2] === "=") {
-            actualValue = actualValue.slice(0, -2);
-          } else {
-            actualValue = actualValue.slice(0, -1);
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("node:tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          assert(sessionKey);
+          const session = customSession || sessionCache.get(sessionKey) || null;
+          port = port || 443;
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          port = port || 80;
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port,
+            host: hostname
+          });
         }
-        if (compareBase64Mixed(actualValue, expectedValue)) {
-          return true;
-        }
-      }
-      return false;
-    }
-    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
-    function parseMetadata(metadata) {
-      const result = [];
-      let empty = true;
-      for (const token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
-          continue;
-        }
-        const algorithm = parsedToken.groups.algo.toLowerCase();
-        if (supportedHashes.includes(algorithm)) {
-          result.push(parsedToken.groups);
-        }
-      }
-      if (empty === true) {
-        return "no metadata";
-      }
-      return result;
-    }
-    function getStrongestMetadata(metadataList) {
-      let algorithm = metadataList[0].algo;
-      if (algorithm[3] === "5") {
-        return algorithm;
-      }
-      for (let i = 1; i < metadataList.length; ++i) {
-        const metadata = metadataList[i];
-        if (metadata.algo[3] === "5") {
-          algorithm = "sha512";
-          break;
-        } else if (algorithm[3] === "3") {
-          continue;
-        } else if (metadata.algo[3] === "3") {
-          algorithm = "sha384";
-        }
-      }
-      return algorithm;
-    }
-    function filterMetadataListByAlgorithm(metadataList, algorithm) {
-      if (metadataList.length === 1) {
-        return metadataList;
-      }
-      let pos = 0;
-      for (let i = 0; i < metadataList.length; ++i) {
-        if (metadataList[i].algo === algorithm) {
-          metadataList[pos++] = metadataList[i];
-        }
-      }
-      metadataList.length = pos;
-      return metadataList;
-    }
-    function compareBase64Mixed(actualValue, expectedValue) {
-      if (actualValue.length !== expectedValue.length) {
-        return false;
-      }
-      for (let i = 0; i < actualValue.length; ++i) {
-        if (actualValue[i] !== expectedValue[i]) {
-          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
-            continue;
-          }
-          return false;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      return true;
-    }
-    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
-    }
-    function sameOrigin(A, B) {
-      if (A.origin === B.origin && A.origin === "null") {
-        return true;
-      }
-      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
-        return true;
-      }
-      return false;
-    }
-    function createDeferredPromise() {
-      let res;
-      let rej;
-      const promise = new Promise((resolve6, reject) => {
-        res = resolve6;
-        rej = reject;
-      });
-      return { promise, resolve: res, reject: rej };
-    }
-    function isAborted(fetchParams) {
-      return fetchParams.controller.state === "aborted";
-    }
-    function isCancelled(fetchParams) {
-      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
-    }
-    function serializeJavascriptValueToJSONString(value) {
-      const result = JSON.stringify(value);
-      if (result === void 0) {
-        throw new TypeError("Value is not JSON serializable");
-      }
-      assert(typeof result === "string");
-      return result;
-    }
-    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port });
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream2) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      let s1 = null;
+      let s2 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    } : (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      let s1 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          onConnectTimeout(socketWeakRef.deref(), opts);
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+      };
+    };
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
+        return;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    async function readAllBytes(reader) {
-      const bytes = [];
-      let byteLength = 0;
-      while (true) {
-        const { done, value: chunk } = await reader.read();
-        if (done) {
-          return Buffer.concat(bytes, byteLength);
-        }
-        if (!isUint8Array(chunk)) {
-          throw new TypeError("Received non-Uint8Array chunk");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        bytes.push(chunk);
-        byteLength += chunk.length;
-      }
-    }
-    function urlIsLocal(url2) {
-      assert("protocol" in url2);
-      const protocol = url2.protocol;
-      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
-    }
-    function urlHasHttpsScheme(url2) {
-      if (typeof url2 === "string") {
-        return url2.startsWith("https:");
-      }
-      return url2.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url2) {
-      assert("protocol" in url2);
-      const protocol = url2.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.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
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    "use strict";
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEVDF8LQZIBIQMgASAERg2aAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGhzwBqLQAARw1dIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAybAgsgAkEANgIAIAZBAWohAUEeDF4LIAEgBEYEQEGTASEDDJoCCyABLQAAQcwARw1bIAFBAWohAUEKDF0LIAEgBEYEQEGUASEDDJkCCwJAAkAgAS0AAEHBAGsODwBcXFxcXFxcXFxcXFxcAVwLIAFBAWohAUH+ACEDDIACCyABQQFqIQFB/wAhAwz/AQsgASAERgRAQZUBIQMMmAILAkACQCABLQAAQcEAaw4DAFsBWwsgAUEBaiEBQf0AIQMM/wELIAFBAWohAUGAASEDDP4BC0GWASEDIAEgBEYNlgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBp88Aai0AAEcNWSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlwILIAJBADYCACAGQQFqIQFBCwxaCyABIARGBEBBlwEhAwyWAgsCQAJAAkACQCABLQAAQS1rDiMAW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1sBW1tbW1sCW1tbA1sLIAFBAWohAUH7ACEDDP8BCyABQQFqIQFB/AAhAwz+AQsgAUEBaiEBQYEBIQMM/QELIAFBAWohAUGCASEDDPwBC0GYASEDIAEgBEYNlAIgAigCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABBqc8Aai0AAEcNVyAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlQILIAJBADYCACAGQQFqIQFBGQxYC0GZASEDIAEgBEYNkwIgAigCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBrs8Aai0AAEcNViAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlAILIAJBADYCACAGQQFqIQFBBgxXC0GaASEDIAEgBEYNkgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBtM8Aai0AAEcNVSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkwILIAJBADYCACAGQQFqIQFBHAxWC0GbASEDIAEgBEYNkQIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBts8Aai0AAEcNVCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkgILIAJBADYCACAGQQFqIQFBJwxVCyABIARGBEBBnAEhAwyRAgsCQAJAIAEtAABB1ABrDgIAAVQLIAFBAWohAUGGASEDDPgBCyABQQFqIQFBhwEhAwz3AQtBnQEhAyABIARGDY8CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjPAGotAABHDVIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADJACCyACQQA2AgAgBkEBaiEBQSYMUwtBngEhAyABIARGDY4CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbrPAGotAABHDVEgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI8CCyACQQA2AgAgBkEBaiEBQQMMUgtBnwEhAyABIARGDY0CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDVAgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI4CCyACQQA2AgAgBkEBaiEBQQwMUQtBoAEhAyABIARGDYwCIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQbzPAGotAABHDU8gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI0CCyACQQA2AgAgBkEBaiEBQQ0MUAsgASAERgRAQaEBIQMMjAILAkACQCABLQAAQcYAaw4LAE9PT09PT09PTwFPCyABQQFqIQFBiwEhAwzzAQsgAUEBaiEBQYwBIQMM8gELIAEgBEYEQEGiASEDDIsCCyABLQAAQdAARw1MIAFBAWohAQxGCyABIARGBEBBowEhAwyKAgsCQAJAIAEtAABByQBrDgcBTU1NTU0ATQsgAUEBaiEBQY4BIQMM8QELIAFBAWohAUEiDE0LQaQBIQMgASAERg2IAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHAzwBqLQAARw1LIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyJAgsgAkEANgIAIAZBAWohAUEdDEwLIAEgBEYEQEGlASEDDIgCCwJAAkAgAS0AAEHSAGsOAwBLAUsLIAFBAWohAUGQASEDDO8BCyABQQFqIQFBBAxLCyABIARGBEBBpgEhAwyHAgsCQAJAAkACQAJAIAEtAABBwQBrDhUATU1NTU1NTU1NTQFNTQJNTQNNTQRNCyABQQFqIQFBiAEhAwzxAQsgAUEBaiEBQYkBIQMM8AELIAFBAWohAUGKASEDDO8BCyABQQFqIQFBjwEhAwzuAQsgAUEBaiEBQZEBIQMM7QELQacBIQMgASAERg2FAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHtzwBqLQAARw1IIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyGAgsgAkEANgIAIAZBAWohAUERDEkLQagBIQMgASAERg2EAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHCzwBqLQAARw1HIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyFAgsgAkEANgIAIAZBAWohAUEsDEgLQakBIQMgASAERg2DAiACKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHFzwBqLQAARw1GIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyEAgsgAkEANgIAIAZBAWohAUErDEcLQaoBIQMgASAERg2CAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHKzwBqLQAARw1FIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyDAgsgAkEANgIAIAZBAWohAUEUDEYLIAEgBEYEQEGrASEDDIICCwJAAkACQAJAIAEtAABBwgBrDg8AAQJHR0dHR0dHR0dHRwNHCyABQQFqIQFBkwEhAwzrAQsgAUEBaiEBQZQBIQMM6gELIAFBAWohAUGVASEDDOkBCyABQQFqIQFBlgEhAwzoAQsgASAERgRAQawBIQMMgQILIAEtAABBxQBHDUIgAUEBaiEBDD0LQa0BIQMgASAERg3/ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHNzwBqLQAARw1CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyAAgsgAkEANgIAIAZBAWohAUEODEMLIAEgBEYEQEGuASEDDP8BCyABLQAAQdAARw1AIAFBAWohAUElDEILQa8BIQMgASAERg39ASACKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEHQzwBqLQAARw1AIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz+AQsgAkEANgIAIAZBAWohAUEqDEELIAEgBEYEQEGwASEDDP0BCwJAAkAgAS0AAEHVAGsOCwBAQEBAQEBAQEABQAsgAUEBaiEBQZoBIQMM5AELIAFBAWohAUGbASEDDOMBCyABIARGBEBBsQEhAwz8AQsCQAJAIAEtAABBwQBrDhQAPz8/Pz8/Pz8/Pz8/Pz8/Pz8/AT8LIAFBAWohAUGZASEDDOMBCyABQQFqIQFBnAEhAwziAQtBsgEhAyABIARGDfoBIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQdnPAGotAABHDT0gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPsBCyACQQA2AgAgBkEBaiEBQSEMPgtBswEhAyABIARGDfkBIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQd3PAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPoBCyACQQA2AgAgBkEBaiEBQRoMPQsgASAERgRAQbQBIQMM+QELAkACQAJAIAEtAABBxQBrDhEAPT09PT09PT09AT09PT09Aj0LIAFBAWohAUGdASEDDOEBCyABQQFqIQFBngEhAwzgAQsgAUEBaiEBQZ8BIQMM3wELQbUBIQMgASAERg33ASACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHkzwBqLQAARw06IABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz4AQsgAkEANgIAIAZBAWohAUEoDDsLQbYBIQMgASAERg32ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHqzwBqLQAARw05IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz3AQsgAkEANgIAIAZBAWohAUEHDDoLIAEgBEYEQEG3ASEDDPYBCwJAAkAgAS0AAEHFAGsODgA5OTk5OTk5OTk5OTkBOQsgAUEBaiEBQaEBIQMM3QELIAFBAWohAUGiASEDDNwBC0G4ASEDIAEgBEYN9AEgAigCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB7c8Aai0AAEcNNyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9QELIAJBADYCACAGQQFqIQFBEgw4C0G5ASEDIAEgBEYN8wEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8M8Aai0AAEcNNiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9AELIAJBADYCACAGQQFqIQFBIAw3C0G6ASEDIAEgBEYN8gEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8s8Aai0AAEcNNSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8wELIAJBADYCACAGQQFqIQFBDww2CyABIARGBEBBuwEhAwzyAQsCQAJAIAEtAABByQBrDgcANTU1NTUBNQsgAUEBaiEBQaUBIQMM2QELIAFBAWohAUGmASEDDNgBC0G8ASEDIAEgBEYN8AEgAigCACIAIAQgAWtqIQUgASAAa0EHaiEGAkADQCABLQAAIABB9M8Aai0AAEcNMyAAQQdGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8QELIAJBADYCACAGQQFqIQFBGww0CyABIARGBEBBvQEhAwzwAQsCQAJAAkAgAS0AAEHCAGsOEgA0NDQ0NDQ0NDQBNDQ0NDQ0AjQLIAFBAWohAUGkASEDDNgBCyABQQFqIQFBpwEhAwzXAQsgAUEBaiEBQagBIQMM1gELIAEgBEYEQEG+ASEDDO8BCyABLQAAQc4ARw0wIAFBAWohAQwsCyABIARGBEBBvwEhAwzuAQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQcEAaw4VAAECAz8EBQY/Pz8HCAkKCz8MDQ4PPwsgAUEBaiEBQegAIQMM4wELIAFBAWohAUHpACEDDOIBCyABQQFqIQFB7gAhAwzhAQsgAUEBaiEBQfIAIQMM4AELIAFBAWohAUHzACEDDN8BCyABQQFqIQFB9gAhAwzeAQsgAUEBaiEBQfcAIQMM3QELIAFBAWohAUH6ACEDDNwBCyABQQFqIQFBgwEhAwzbAQsgAUEBaiEBQYQBIQMM2gELIAFBAWohAUGFASEDDNkBCyABQQFqIQFBkgEhAwzYAQsgAUEBaiEBQZgBIQMM1wELIAFBAWohAUGgASEDDNYBCyABQQFqIQFBowEhAwzVAQsgAUEBaiEBQaoBIQMM1AELIAEgBEcEQCACQRA2AgggAiABNgIEQasBIQMM1AELQcABIQMM7AELQQAhAAJAIAIoAjgiA0UNACADKAI0IgNFDQAgAiADEQAAIQALIABFDV4gAEEVRw0HIAJB0QA2AhwgAiABNgIUIAJBsBc2AhAgAkEVNgIMQQAhAwzrAQsgAUEBaiABIARHDQgaQcIBIQMM6gELA0ACQCABLQAAQQprDgQIAAALAAsgBCABQQFqIgFHDQALQcMBIQMM6QELIAEgBEcEQCACQRE2AgggAiABNgIEQQEhAwzQAQtBxAEhAwzoAQsgASAERgRAQcUBIQMM6AELAkACQCABLQAAQQprDgQBKCgAKAsgAUEBagwJCyABQQFqDAULIAEgBEYEQEHGASEDDOcBCwJAAkAgAS0AAEEKaw4XAQsLAQsLCwsLCwsLCwsLCwsLCwsLCwALCyABQQFqIQELQbABIQMMzQELIAEgBEYEQEHIASEDDOYBCyABLQAAQSBHDQkgAkEAOwEyIAFBAWohAUGzASEDDMwBCwNAIAEhAAJAIAEgBEcEQCABLQAAQTBrQf8BcSIDQQpJDQEMJwtBxwEhAwzmAQsCQCACLwEyIgFBmTNLDQAgAiABQQpsIgU7ATIgBUH+/wNxIANB//8Dc0sNACAAQQFqIQEgAiADIAVqIgM7ATIgA0H//wNxQegHSQ0BCwtBACEDIAJBADYCHCACQcEJNgIQIAJBDTYCDCACIABBAWo2AhQM5AELIAJBADYCHCACIAE2AhQgAkHwDDYCECACQRs2AgxBACEDDOMBCyACKAIEIQAgAkEANgIEIAIgACABECYiAA0BIAFBAWoLIQFBrQEhAwzIAQsgAkHBATYCHCACIAA2AgwgAiABQQFqNgIUQQAhAwzgAQsgAigCBCEAIAJBADYCBCACIAAgARAmIgANASABQQFqCyEBQa4BIQMMxQELIAJBwgE2AhwgAiAANgIMIAIgAUEBajYCFEEAIQMM3QELIAJBADYCHCACIAE2AhQgAkGXCzYCECACQQ02AgxBACEDDNwBCyACQQA2AhwgAiABNgIUIAJB4xA2AhAgAkEJNgIMQQAhAwzbAQsgAkECOgAoDKwBC0EAIQMgAkEANgIcIAJBrws2AhAgAkECNgIMIAIgAUEBajYCFAzZAQtBAiEDDL8BC0ENIQMMvgELQSYhAwy9AQtBFSEDDLwBC0EWIQMMuwELQRghAwy6AQtBHCEDDLkBC0EdIQMMuAELQSAhAwy3AQtBISEDDLYBC0EjIQMMtQELQcYAIQMMtAELQS4hAwyzAQtBPSEDDLIBC0HLACEDDLEBC0HOACEDDLABC0HYACEDDK8BC0HZACEDDK4BC0HbACEDDK0BC0HxACEDDKwBC0H0ACEDDKsBC0GNASEDDKoBC0GXASEDDKkBC0GpASEDDKgBC0GvASEDDKcBC0GxASEDDKYBCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB8Rs2AhAgAkEGNgIMDL0BCyACQQA2AgAgBkEBaiEBQSQLOgApIAIoAgQhACACQQA2AgQgAiAAIAEQJyIARQRAQeUAIQMMowELIAJB+QA2AhwgAiABNgIUIAIgADYCDEEAIQMMuwELIABBFUcEQCACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwy7AQsgAkH4ADYCHCACIAE2AhQgAkHKGDYCECACQRU2AgxBACEDDLoBCyACQQA2AhwgAiABNgIUIAJBjhs2AhAgAkEGNgIMQQAhAwy5AQsgAkEANgIcIAIgATYCFCACQf4RNgIQIAJBBzYCDEEAIQMMuAELIAJBADYCHCACIAE2AhQgAkGMHDYCECACQQc2AgxBACEDDLcBCyACQQA2AhwgAiABNgIUIAJBww82AhAgAkEHNgIMQQAhAwy2AQsgAkEANgIcIAIgATYCFCACQcMPNgIQIAJBBzYCDEEAIQMMtQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB9ysPC0GQMQ8LQdcxDwtBoi0PC0HUJw8LQeArDwtBnywPC0HrMQ8LQdUfDwtByjEPC0HeJQ8LQdQeDwtB9BwPC0GnMg8LQbEdDwtBoB0PC0G5MQ8LQbwwDwtBkiEPC0GzJg8LQeksDwtBrB4PC0HUKw8LQfcmDwtBgCYPC0GwIQ8LQf4eDwtBjSMPC0GJLQ8LQfciDwtBoDEPC0GuHw8LQcYlDwtB6B4PC0GTIg8LQcIvDwtBwx0PC0GLLA8LQeEdDwtBjS8PC0HqIQ8LQbQtDwtB0i8PC0HfMg8LQdIyDwtB8DAPC0GpIg8LQfkjDwtBmR4PC0G1LA8LQZswDwtBkjIPC0G2Kw8LQcIiDwtB+DIPC0GeJQ8LQdAiDwtBuh4PC0GBHg8LAAtB1iEhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCz4BAn8CQCAAKAI4IgNFDQAgAygCBCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBxhE2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCCCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9go2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCDCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7Ro2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCECIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlRA2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCFCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBqhs2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCGCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7RM2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCKCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9gg2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCHCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBwhk2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCICIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlBQ2AhBBGCEECyAEC1kBAn8CQCAALQAoQQFGDQAgAC8BMiIBQeQAa0HkAEkNACABQcwBRg0AIAFBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhAiAAQYgEcUGABEYNACAAQShxRSECCyACC4wBAQJ/AkACQAJAIAAtACpFDQAgAC0AK0UNACAALwEwIgFBAnFFDQEMAgsgAC8BMCIBQQFxRQ0BC0EBIQIgAC0AKEEBRg0AIAAvATIiAEHkAGtB5ABJDQAgAEHMAUYNACAAQbACRg0AIAFBwABxDQBBACECIAFBiARxQYAERg0AIAFBKHFBAEchAgsgAgtzACAAQRBq/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAA/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAAQTBq/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAAQSBq/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAAQd0BNgIcCwYAIAAQMguaLQELfyMAQRBrIgokAEGk0AAoAgAiCUUEQEHk0wAoAgAiBUUEQEHw0wBCfzcCAEHo0wBCgICEgICAwAA3AgBB5NMAIApBCGpBcHFB2KrVqgVzIgU2AgBB+NMAQQA2AgBByNMAQQA2AgALQczTAEGA1AQ2AgBBnNAAQYDUBDYCAEGw0AAgBTYCAEGs0ABBfzYCAEHQ0wBBgKwDNgIAA0AgAUHI0ABqIAFBvNAAaiICNgIAIAIgAUG00ABqIgM2AgAgAUHA0ABqIAM2AgAgAUHQ0ABqIAFBxNAAaiIDNgIAIAMgAjYCACABQdjQAGogAUHM0ABqIgI2AgAgAiADNgIAIAFB1NAAaiACNgIAIAFBIGoiAUGAAkcNAAtBjNQEQcGrAzYCAEGo0ABB9NMAKAIANgIAQZjQAEHAqwM2AgBBpNAAQYjUBDYCAEHM/wdBODYCAEGI1AQhCQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQewBTQRAQYzQACgCACIGQRAgAEETakFwcSAAQQtJGyIEQQN2IgB2IgFBA3EEQAJAIAFBAXEgAHJBAXMiAkEDdCIAQbTQAGoiASAAQbzQAGooAgAiACgCCCIDRgRAQYzQACAGQX4gAndxNgIADAELIAEgAzYCCCADIAE2AgwLIABBCGohASAAIAJBA3QiAkEDcjYCBCAAIAJqIgAgACgCBEEBcjYCBAwRC0GU0AAoAgAiCCAETw0BIAEEQAJAQQIgAHQiAkEAIAJrciABIAB0cWgiAEEDdCICQbTQAGoiASACQbzQAGooAgAiAigCCCIDRgRAQYzQACAGQX4gAHdxIgY2AgAMAQsgASADNgIIIAMgATYCDAsgAiAEQQNyNgIEIABBA3QiACAEayEFIAAgAmogBTYCACACIARqIgQgBUEBcjYCBCAIBEAgCEF4cUG00ABqIQBBoNAAKAIAIQMCf0EBIAhBA3Z0IgEgBnFFBEBBjNAAIAEgBnI2AgAgAAwBCyAAKAIICyIBIAM2AgwgACADNgIIIAMgADYCDCADIAE2AggLIAJBCGohAUGg0AAgBDYCAEGU0AAgBTYCAAwRC0GQ0AAoAgAiC0UNASALaEECdEG80gBqKAIAIgAoAgRBeHEgBGshBSAAIQIDQAJAIAIoAhAiAUUEQCACQRRqKAIAIgFFDQELIAEoAgRBeHEgBGsiAyAFSSECIAMgBSACGyEFIAEgACACGyEAIAEhAgwBCwsgACgCGCEJIAAoAgwiAyAARwRAQZzQACgCABogAyAAKAIIIgE2AgggASADNgIMDBALIABBFGoiAigCACIBRQRAIAAoAhAiAUUNAyAAQRBqIQILA0AgAiEHIAEiA0EUaiICKAIAIgENACADQRBqIQIgAygCECIBDQALIAdBADYCAAwPC0F/IQQgAEG/f0sNACAAQRNqIgFBcHEhBEGQ0AAoAgAiCEUNAEEAIARrIQUCQAJAAkACf0EAIARBgAJJDQAaQR8gBEH///8HSw0AGiAEQSYgAUEIdmciAGt2QQFxIABBAXRrQT5qCyIGQQJ0QbzSAGooAgAiAkUEQEEAIQFBACEDDAELQQAhASAEQRkgBkEBdmtBACAGQR9HG3QhAEEAIQMDQAJAIAIoAgRBeHEgBGsiByAFTw0AIAIhAyAHIgUNAEEAIQUgAiEBDAMLIAEgAkEUaigCACIHIAcgAiAAQR12QQRxakEQaigCACICRhsgASAHGyEBIABBAXQhACACDQALCyABIANyRQRAQQAhA0ECIAZ0IgBBACAAa3IgCHEiAEUNAyAAaEECdEG80gBqKAIAIQELIAFFDQELA0AgASgCBEF4cSAEayICIAVJIQAgAiAFIAAbIQUgASADIAAbIQMgASgCECIABH8gAAUgAUEUaigCAAsiAQ0ACwsgA0UNACAFQZTQACgCACAEa08NACADKAIYIQcgAyADKAIMIgBHBEBBnNAAKAIAGiAAIAMoAggiATYCCCABIAA2AgwMDgsgA0EUaiICKAIAIgFFBEAgAygCECIBRQ0DIANBEGohAgsDQCACIQYgASIAQRRqIgIoAgAiAQ0AIABBEGohAiAAKAIQIgENAAsgBkEANgIADA0LQZTQACgCACIDIARPBEBBoNAAKAIAIQECQCADIARrIgJBEE8EQCABIARqIgAgAkEBcjYCBCABIANqIAI2AgAgASAEQQNyNgIEDAELIAEgA0EDcjYCBCABIANqIgAgACgCBEEBcjYCBEEAIQBBACECC0GU0AAgAjYCAEGg0AAgADYCACABQQhqIQEMDwtBmNAAKAIAIgMgBEsEQCAEIAlqIgAgAyAEayIBQQFyNgIEQaTQACAANgIAQZjQACABNgIAIAkgBEEDcjYCBCAJQQhqIQEMDwtBACEBIAQCf0Hk0wAoAgAEQEHs0wAoAgAMAQtB8NMAQn83AgBB6NMAQoCAhICAgMAANwIAQeTTACAKQQxqQXBxQdiq1aoFczYCAEH40wBBADYCAEHI0wBBADYCAEGAgAQLIgAgBEHHAGoiBWoiBkEAIABrIgdxIgJPBEBB/NMAQTA2AgAMDwsCQEHE0wAoAgAiAUUNAEG80wAoAgAiCCACaiEAIAAgAU0gACAIS3ENAEEAIQFB/NMAQTA2AgAMDwtByNMALQAAQQRxDQQCQAJAIAkEQEHM0wAhAQNAIAEoAgAiACAJTQRAIAAgASgCBGogCUsNAwsgASgCCCIBDQALC0EAEDMiAEF/Rg0FIAIhBkHo0wAoAgAiAUEBayIDIABxBEAgAiAAayAAIANqQQAgAWtxaiEGCyAEIAZPDQUgBkH+////B0sNBUHE0wAoAgAiAwRAQbzTACgCACIHIAZqIQEgASAHTQ0GIAEgA0sNBgsgBhAzIgEgAEcNAQwHCyAGIANrIAdxIgZB/v///wdLDQQgBhAzIQAgACABKAIAIAEoAgRqRg0DIAAhAQsCQCAGIARByABqTw0AIAFBf0YNAEHs0wAoAgAiACAFIAZrakEAIABrcSIAQf7///8HSwRAIAEhAAwHCyAAEDNBf0cEQCAAIAZqIQYgASEADAcLQQAgBmsQMxoMBAsgASIAQX9HDQUMAwtBACEDDAwLQQAhAAwKCyAAQX9HDQILQcjTAEHI0wAoAgBBBHI2AgALIAJB/v///wdLDQEgAhAzIQBBABAzIQEgAEF/Rg0BIAFBf0YNASAAIAFPDQEgASAAayIGIARBOGpNDQELQbzTAEG80wAoAgAgBmoiATYCAEHA0wAoAgAgAUkEQEHA0wAgATYCAAsCQAJAAkBBpNAAKAIAIgIEQEHM0wAhAQNAIAAgASgCACIDIAEoAgQiBWpGDQIgASgCCCIBDQALDAILQZzQACgCACIBQQBHIAAgAU9xRQRAQZzQACAANgIAC0EAIQFB0NMAIAY2AgBBzNMAIAA2AgBBrNAAQX82AgBBsNAAQeTTACgCADYCAEHY0wBBADYCAANAIAFByNAAaiABQbzQAGoiAjYCACACIAFBtNAAaiIDNgIAIAFBwNAAaiADNgIAIAFB0NAAaiABQcTQAGoiAzYCACADIAI2AgAgAUHY0ABqIAFBzNAAaiICNgIAIAIgAzYCACABQdTQAGogAjYCACABQSBqIgFBgAJHDQALQXggAGtBD3EiASAAaiICIAZBOGsiAyABayIBQQFyNgIEQajQAEH00wAoAgA2AgBBmNAAIAE2AgBBpNAAIAI2AgAgACADakE4NgIEDAILIAAgAk0NACACIANJDQAgASgCDEEIcQ0AQXggAmtBD3EiACACaiIDQZjQACgCACAGaiIHIABrIgBBAXI2AgQgASAFIAZqNgIEQajQAEH00wAoAgA2AgBBmNAAIAA2AgBBpNAAIAM2AgAgAiAHakE4NgIEDAELIABBnNAAKAIASQRAQZzQACAANgIACyAAIAZqIQNBzNMAIQECQAJAAkADQCADIAEoAgBHBEAgASgCCCIBDQEMAgsLIAEtAAxBCHFFDQELQczTACEBA0AgASgCACIDIAJNBEAgAyABKAIEaiIFIAJLDQMLIAEoAgghAQwACwALIAEgADYCACABIAEoAgQgBmo2AgQgAEF4IABrQQ9xaiIJIARBA3I2AgQgA0F4IANrQQ9xaiIGIAQgCWoiBGshASACIAZGBEBBpNAAIAQ2AgBBmNAAQZjQACgCACABaiIANgIAIAQgAEEBcjYCBAwIC0Gg0AAoAgAgBkYEQEGg0AAgBDYCAEGU0ABBlNAAKAIAIAFqIgA2AgAgBCAAQQFyNgIEIAAgBGogADYCAAwICyAGKAIEIgVBA3FBAUcNBiAFQXhxIQggBUH/AU0EQCAFQQN2IQMgBigCCCIAIAYoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAcLIAIgADYCCCAAIAI2AgwMBgsgBigCGCEHIAYgBigCDCIARwRAIAAgBigCCCICNgIIIAIgADYCDAwFCyAGQRRqIgIoAgAiBUUEQCAGKAIQIgVFDQQgBkEQaiECCwNAIAIhAyAFIgBBFGoiAigCACIFDQAgAEEQaiECIAAoAhAiBQ0ACyADQQA2AgAMBAtBeCAAa0EPcSIBIABqIgcgBkE4ayIDIAFrIgFBAXI2AgQgACADakE4NgIEIAIgBUE3IAVrQQ9xakE/ayIDIAMgAkEQakkbIgNBIzYCBEGo0ABB9NMAKAIANgIAQZjQACABNgIAQaTQACAHNgIAIANBEGpB1NMAKQIANwIAIANBzNMAKQIANwIIQdTTACADQQhqNgIAQdDTACAGNgIAQczTACAANgIAQdjTAEEANgIAIANBJGohAQNAIAFBBzYCACAFIAFBBGoiAUsNAAsgAiADRg0AIAMgAygCBEF+cTYCBCADIAMgAmsiBTYCACACIAVBAXI2AgQgBUH/AU0EQCAFQXhxQbTQAGohAAJ/QYzQACgCACIBQQEgBUEDdnQiA3FFBEBBjNAAIAEgA3I2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEG80gBqIQBBkNAAKAIAIgNBASABdCIGcUUEQCAAIAI2AgBBkNAAIAMgBnI2AgAgAiAANgIYIAIgAjYCCCACIAI2AgwMAQsgBUEZIAFBAXZrQQAgAUEfRxt0IQEgACgCACEDAkADQCADIgAoAgRBeHEgBUYNASABQR12IQMgAUEBdCEBIAAgA0EEcWpBEGoiBigCACIDDQALIAYgAjYCACACIAA2AhggAiACNgIMIAIgAjYCCAwBCyAAKAIIIgEgAjYCDCAAIAI2AgggAkEANgIYIAIgADYCDCACIAE2AggLQZjQACgCACIBIARNDQBBpNAAKAIAIgAgBGoiAiABIARrIgFBAXI2AgRBmNAAIAE2AgBBpNAAIAI2AgAgACAEQQNyNgIEIABBCGohAQwIC0EAIQFB/NMAQTA2AgAMBwtBACEACyAHRQ0AAkAgBigCHCICQQJ0QbzSAGoiAygCACAGRgRAIAMgADYCACAADQFBkNAAQZDQACgCAEF+IAJ3cTYCAAwCCyAHQRBBFCAHKAIQIAZGG2ogADYCACAARQ0BCyAAIAc2AhggBigCECICBEAgACACNgIQIAIgADYCGAsgBkEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgCGohASAGIAhqIgYoAgQhBQsgBiAFQX5xNgIEIAEgBGogATYCACAEIAFBAXI2AgQgAUH/AU0EQCABQXhxQbTQAGohAAJ/QYzQACgCACICQQEgAUEDdnQiAXFFBEBBjNAAIAEgAnI2AgAgAAwBCyAAKAIICyIBIAQ2AgwgACAENgIIIAQgADYCDCAEIAE2AggMAQtBHyEFIAFB////B00EQCABQSYgAUEIdmciAGt2QQFxIABBAXRrQT5qIQULIAQgBTYCHCAEQgA3AhAgBUECdEG80gBqIQBBkNAAKAIAIgJBASAFdCIDcUUEQCAAIAQ2AgBBkNAAIAIgA3I2AgAgBCAANgIYIAQgBDYCCCAEIAQ2AgwMAQsgAUEZIAVBAXZrQQAgBUEfRxt0IQUgACgCACEAAkADQCAAIgIoAgRBeHEgAUYNASAFQR12IQAgBUEBdCEFIAIgAEEEcWpBEGoiAygCACIADQALIAMgBDYCACAEIAI2AhggBCAENgIMIAQgBDYCCAwBCyACKAIIIgAgBDYCDCACIAQ2AgggBEEANgIYIAQgAjYCDCAEIAA2AggLIAlBCGohAQwCCwJAIAdFDQACQCADKAIcIgFBAnRBvNIAaiICKAIAIANGBEAgAiAANgIAIAANAUGQ0AAgCEF+IAF3cSIINgIADAILIAdBEEEUIAcoAhAgA0YbaiAANgIAIABFDQELIAAgBzYCGCADKAIQIgEEQCAAIAE2AhAgASAANgIYCyADQRRqKAIAIgFFDQAgAEEUaiABNgIAIAEgADYCGAsCQCAFQQ9NBEAgAyAEIAVqIgBBA3I2AgQgACADaiIAIAAoAgRBAXI2AgQMAQsgAyAEaiICIAVBAXI2AgQgAyAEQQNyNgIEIAIgBWogBTYCACAFQf8BTQRAIAVBeHFBtNAAaiEAAn9BjNAAKAIAIgFBASAFQQN2dCIFcUUEQEGM0AAgASAFcjYCACAADAELIAAoAggLIgEgAjYCDCAAIAI2AgggAiAANgIMIAIgATYCCAwBC0EfIQEgBUH///8HTQRAIAVBJiAFQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAQsgAiABNgIcIAJCADcCECABQQJ0QbzSAGohAEEBIAF0IgQgCHFFBEAgACACNgIAQZDQACAEIAhyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhBAJAA0AgBCIAKAIEQXhxIAVGDQEgAUEddiEEIAFBAXQhASAAIARBBHFqQRBqIgYoAgAiBA0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIICyADQQhqIQEMAQsCQCAJRQ0AAkAgACgCHCIBQQJ0QbzSAGoiAigCACAARgRAIAIgAzYCACADDQFBkNAAIAtBfiABd3E2AgAMAgsgCUEQQRQgCSgCECAARhtqIAM2AgAgA0UNAQsgAyAJNgIYIAAoAhAiAQRAIAMgATYCECABIAM2AhgLIABBFGooAgAiAUUNACADQRRqIAE2AgAgASADNgIYCwJAIAVBD00EQCAAIAQgBWoiAUEDcjYCBCAAIAFqIgEgASgCBEEBcjYCBAwBCyAAIARqIgcgBUEBcjYCBCAAIARBA3I2AgQgBSAHaiAFNgIAIAgEQCAIQXhxQbTQAGohAUGg0AAoAgAhAwJ/QQEgCEEDdnQiAiAGcUUEQEGM0AAgAiAGcjYCACABDAELIAEoAggLIgIgAzYCDCABIAM2AgggAyABNgIMIAMgAjYCCAtBoNAAIAc2AgBBlNAAIAU2AgALIABBCGohAQsgCkEQaiQAIAELQwAgAEUEQD8AQRB0DwsCQCAAQf//A3ENACAAQQBIDQAgAEEQdkAAIgBBf0YEQEH80wBBMDYCAEF/DwsgAEEQdA8LAAsL3D8iAEGACAsJAQAAAAIAAAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var corsSafeListedMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "POST"]
+    );
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = (
+      /** @type {const} */
+      [101, 204, 205, 304]
+    );
+    var redirectStatus = (
+      /** @type {const} */
+      [301, 302, 303, 307, 308]
+    );
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = (
+      /** @type {const} */
+      [
+        "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"
+      ]
+    );
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = (
+      /** @type {const} */
+      [
+        "",
+        "no-referrer",
+        "no-referrer-when-downgrade",
+        "same-origin",
+        "origin",
+        "strict-origin",
+        "origin-when-cross-origin",
+        "strict-origin-when-cross-origin",
+        "unsafe-url"
+      ]
+    );
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = (
+      /** @type {const} */
+      ["follow", "manual", "error"]
+    );
+    var safeMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "OPTIONS", "TRACE"]
+    );
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = (
+      /** @type {const} */
+      ["navigate", "same-origin", "no-cors", "cors"]
+    );
+    var requestCredentials = (
+      /** @type {const} */
+      ["omit", "same-origin", "include"]
+    );
+    var requestCache = (
+      /** @type {const} */
+      [
+        "default",
+        "no-store",
+        "reload",
+        "no-cache",
+        "force-cache",
+        "only-if-cached"
+      ]
+    );
+    var requestBodyHeader = (
+      /** @type {const} */
+      [
+        "content-encoding",
+        "content-language",
+        "content-location",
+        "content-type",
+        // See https://github.com/nodejs/undici/issues/2021
+        // 'Content-Length' is a forbidden header name, which is typically
+        // removed in the Headers implementation. However, undici doesn't
+        // filter out headers, so we add it here.
+        "content-length"
+      ]
+    );
+    var requestDuplex = (
+      /** @type {const} */
+      [
+        "half"
+      ]
+    );
+    var forbiddenMethods = (
+      /** @type {const} */
+      ["CONNECT", "TRACE", "TRACK"]
+    );
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = (
+      /** @type {const} */
+      [
+        "audio",
+        "audioworklet",
+        "font",
+        "image",
+        "manifest",
+        "paintworklet",
+        "script",
+        "style",
+        "track",
+        "video",
+        "xslt",
+        ""
+      ]
+    );
+    var subresourceSet = new Set(subresource);
+    module2.exports = {
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
+      }
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
+    }
+    function URLSerializer(url2, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url2.href;
+      }
+      const href = url2.href;
+      const hashLength = url2.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function percentDecode(input) {
+      const length = input.length;
+      const output = new Uint8Array(length);
+      let j = 0;
+      for (let i = 0; i < length; ++i) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output[j++] = byte;
+        } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) {
+          output[j++] = 37;
+        } else {
+          output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]);
+          i += 2;
+        }
+      }
+      return length === j ? output : output.subarray(0, j);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
+      }
+      if (position.position > input.length) {
+        return "failure";
+      }
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
+      }
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
+          }
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+        } else {
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
+          }
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
+    }
+    function forgivingBase64(data) {
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
+          }
+        }
+      }
+      if (dataLength % 4 === 1) {
+        return "failure";
+      }
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
+      }
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
+    }
+    function isomorphicDecode(input) {
+      const length = input.length;
+      if ((2 << 15) - 1 > length) {
+        return String.fromCharCode.apply(null, input);
+      }
+      let result = "";
+      let i = 0;
+      let addition = (2 << 15) - 1;
+      while (i < length) {
+        if (i + addition > length) {
+          addition = length - i;
+        }
+        result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
+      }
+      return result;
+    }
+    function minimizeSupportedMimeType(mimeType) {
+      switch (mimeType.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";
+      }
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
+      }
+      if (mimeType.subtype.endsWith("+xml")) {
+        return "application/xml";
+      }
+      return "";
+    }
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType,
+      removeChars,
+      removeHTTPWhitespace,
+      minimizeSupportedMimeType,
+      HTTP_TOKEN_CODEPOINTS,
+      isomorphicDecode
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts) {
+      if (opts?.strict !== false) {
+        if (!(V instanceof I)) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      } else {
+        if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      }
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          header: ctx
+        });
+      }
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
+      });
+    };
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
+          }
+          return "Object";
+        }
+      }
+    };
+    webidl.util.markAsUncloneable = markAsUncloneable || (() => {
+    });
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
+        }
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
+      }
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
+      }
+      if (opts?.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
+          });
+        }
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
+        }
+        return x;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
+      }
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
+      }
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
+      }
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
+      }
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        let index = 0;
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} is not iterable.`
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O, prefix, argument) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} ("${webidl.util.Type(O)}") is not an Object.`
+          });
+        }
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
+          for (const key of keys2) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+          return result;
+        }
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+        }
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, prefix, argument, opts) => {
+        if (opts?.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.`
+          });
+        }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary, prefix, argument) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
+          });
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!Object.hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = Object.hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value ??= defaultValue();
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value, prefix, `${argument}.${key}`);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V, prefix, argument) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V, prefix, argument);
+      };
+    };
+    webidl.converters.DOMString = function(V, prefix, argument, opts) {
+      if (V === null && opts?.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${argument} is a symbol, which cannot be converted to a DOMString.`
+        });
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V, prefix, argument) {
+      const x = webidl.converters.DOMString(V, prefix, argument);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
+      }
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, prefix, argument, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${argument} ("${webidl.util.Stringify(V)}")`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.resizable || V.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${name} ("${webidl.util.Stringify(V)}")`,
+          types: [T.name]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${name} is not a DataView.`
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, prefix, name, opts) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false });
+      }
+      throw webidl.errors.conversionFailed({
+        prefix,
+        argument: `${name} ("${webidl.util.Stringify(V)}")`,
+        types: ["BufferSource"]
+      });
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib2 = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance3 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
+      }
+      let location = response.headersList.get("location", true);
+      if (location !== null && isValidHeaderValue(location)) {
+        if (!isValidEncodedURL(location)) {
+          location = normalizeBinaryStringToUtf8(location);
+        }
+        location = new URL(location, responseURL(response));
+      }
+      if (location && !location.hash) {
+        location.hash = requestFragment;
+      }
+      return location;
+    }
+    function isValidEncodedURL(url2) {
+      for (let i = 0; i < url2.length; ++i) {
+        const code = url2.charCodeAt(i);
+        if (code > 126 || // Non-US-ASCII + DEL
+        code < 32) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function normalizeBinaryStringToUtf8(value) {
+      return Buffer.from(value, "binary").toString("utf8");
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url2 = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
+        return "blocked";
+      }
+      return "allowed";
+    }
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var isValidHeaderName = isValidHTTPToken;
+    function isValidHeaderValue(potentialValue) {
+      return (potentialValue[0] === "	" || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === "	" || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
+    }
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
+          }
+        }
+      }
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
+      }
+    }
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header, true);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (serializedOrigin === "client" || serializedOrigin === void 0) {
+        return;
+      }
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        request2.headersList.append("origin", serializedOrigin, true);
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
+        }
+        request2.headersList.append("origin", serializedOrigin, true);
+      }
+    }
+    function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
+      if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
+        return {
+          domainLookupStartTime: defaultStartTime,
+          domainLookupEndTime: defaultStartTime,
+          connectionStartTime: defaultStartTime,
+          connectionEndTime: defaultStartTime,
+          secureConnectionStartTime: defaultStartTime,
+          ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
+        };
+      }
+      return {
+        domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
+        domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
+        connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
+        connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
+        secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
+        ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
+      };
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return coarsenTime(performance3.now(), crossOriginIsolatedCapability);
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
+      };
+    }
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
+      };
+    }
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
+      };
+    }
+    function determineRequestsReferrer(request2) {
+      const policy = request2.referrerPolicy;
+      assert(policy);
+      let referrerSource = null;
+      if (request2.referrer === "client") {
+        const globalOrigin = getGlobalOrigin();
+        if (!globalOrigin || globalOrigin.origin === "null") {
+          return "no-referrer";
+        }
+        referrerSource = new URL(globalOrigin);
+      } else if (request2.referrer instanceof URL) {
+        referrerSource = request2.referrer;
+      }
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
+      }
+      const areSameOrigin = sameOrigin(request2, referrerURL);
+      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
+      switch (policy) {
+        case "origin":
+          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
+        case "unsafe-url":
+          return referrerURL;
+        case "same-origin":
+          return areSameOrigin ? referrerOrigin : "no-referrer";
+        case "origin-when-cross-origin":
+          return areSameOrigin ? referrerURL : referrerOrigin;
+        case "strict-origin-when-cross-origin": {
+          const currentURL = requestCurrentURL(request2);
+          if (sameOrigin(referrerURL, currentURL)) {
+            return referrerURL;
+          }
+          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
+            return "no-referrer";
+          }
+          return referrerOrigin;
+        }
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    function stripURLForReferrer(url2, originOnly) {
+      assert(url2 instanceof URL);
+      url2 = new URL(url2);
+      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
+        return "no-referrer";
+      }
+      url2.username = "";
+      url2.password = "";
+      url2.hash = "";
+      if (originOnly) {
+        url2.pathname = "";
+        url2.search = "";
+      }
+      return url2;
+    }
+    function isURLPotentiallyTrustworthy(url2) {
+      if (!(url2 instanceof URL)) {
+        return false;
+      }
+      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
+        return true;
+      }
+      if (url2.protocol === "data:") return true;
+      if (url2.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url2.origin);
+      function isOriginPotentiallyTrustworthy(origin) {
+        if (origin == null || origin === "null") return false;
+        const originAsURL = new URL(origin);
+        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
+          return true;
+        }
+        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
+          return true;
+        }
+        return false;
+      }
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto2 === void 0) {
+        return true;
+      }
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
+      }
+      if (parsedMetadata.length === 0) {
+        return true;
+      }
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
+          } else {
+            actualValue = actualValue.slice(0, -1);
+          }
+        }
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
+        }
+      }
+      return false;
+    }
+    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
+    function parseMetadata(metadata) {
+      const result = [];
+      let empty = true;
+      for (const token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
+          continue;
+        }
+        const algorithm = parsedToken.groups.algo.toLowerCase();
+        if (supportedHashes.includes(algorithm)) {
+          result.push(parsedToken.groups);
+        }
+      }
+      if (empty === true) {
+        return "no metadata";
+      }
+      return result;
+    }
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
+      }
+      for (let i = 1; i < metadataList.length; ++i) {
+        const metadata = metadataList[i];
+        if (metadata.algo[3] === "5") {
+          algorithm = "sha512";
+          break;
+        } else if (algorithm[3] === "3") {
+          continue;
+        } else if (metadata.algo[3] === "3") {
+          algorithm = "sha384";
+        }
+      }
+      return algorithm;
+    }
+    function filterMetadataListByAlgorithm(metadataList, algorithm) {
+      if (metadataList.length === 1) {
+        return metadataList;
+      }
+      let pos = 0;
+      for (let i = 0; i < metadataList.length; ++i) {
+        if (metadataList[i].algo === algorithm) {
+          metadataList[pos++] = metadataList[i];
+        }
+      }
+      metadataList.length = pos;
+      return metadataList;
+    }
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
+        return false;
+      }
+      for (let i = 0; i < actualValue.length; ++i) {
+        if (actualValue[i] !== expectedValue[i]) {
+          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
+            continue;
+          }
+          return false;
+        }
+      }
+      return true;
+    }
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
+    }
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
+      }
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
+      }
+      return false;
+    }
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve6, reject) => {
+        res = resolve6;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream2) {
+      return stream2 instanceof ReadableStream || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+        controller.byobRequest?.respond(0);
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
+          throw err;
+        }
+      }
+    }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
+    function isomorphicEncode(input) {
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
+      return input;
+    }
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
+        }
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
+        }
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
+    }
+    function urlIsLocal(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url2) {
+      return typeof url2 === "string" && url2[5] === ":" && url2[0] === "h" && url2[1] === "t" && url2[2] === "t" && url2[3] === "p" && url2[4] === "s" || url2.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    function simpleRangeHeaderValue(value, allowWhitespace) {
+      const data = value;
+      if (!data.startsWith("bytes")) {
+        return "failure";
+      }
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeStart = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeEnd = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
+      if (position.position < data.length) {
+        return "failure";
+      }
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
+      }
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
+      }
+      return { rangeStartValue, rangeEndValue };
+    }
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
+    }
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
+      }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
+          }
+          this._inflateStream = (chunk[0] & 15) === 8 ? zlib2.createInflate(this.#zlibOptions) : zlib2.createInflateRaw(this.#zlibOptions);
+          this._inflateStream.on("data", this.push.bind(this));
+          this._inflateStream.on("end", () => this.push(null));
+          this._inflateStream.on("error", (err) => this.destroy(err));
+        }
+        this._inflateStream.write(chunk, encoding, callback);
+      }
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
+        }
+        callback();
+      }
+    };
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
+    }
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
+      }
+      for (const value of values) {
+        const temporaryMimeType = parseMIMEType(value);
+        if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
+          continue;
+        }
+        mimeType = temporaryMimeType;
+        if (mimeType.essence !== essence) {
+          charset = null;
+          if (mimeType.parameters.has("charset")) {
+            charset = mimeType.parameters.get("charset");
+          }
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
+        }
+      }
+      if (mimeType == null) {
+        return "failure";
+      }
+      return mimeType;
+    }
+    function gettingDecodingSplitting(value) {
+      const input = value;
+      const position = { position: 0 };
+      const values = [];
+      let temporaryValue = "";
+      while (position.position < input.length) {
+        temporaryValue += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== ",",
+          input,
+          position
+        );
+        if (position.position < input.length) {
+          if (input.charCodeAt(position.position) === 34) {
+            temporaryValue += collectAnHTTPQuotedString(
+              input,
+              position
+            );
+            if (position.position < input.length) {
+              continue;
+            }
+          } else {
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
+          }
+        }
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
+      }
+      return values;
+    }
+    function getDecodeSplit(name, list) {
+      const value = list.get(name, true);
+      if (value === null) {
+        return null;
+      }
+      return gettingDecodingSplitting(value);
+    }
+    var textDecoder = new TextDecoder();
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
+      }
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
+      }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      isValidEncodedURL,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      iteratorMixin,
+      createIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
+      }
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
+      }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
+      }
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
+      }
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
+      }
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
+      }
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
+      }
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
+      }
+      get [Symbol.toStringTag]() {
+        return "File";
+      }
+    };
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
+      }
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.append";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
+      }
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      }
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.get";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
+      }
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.getAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.set";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
+        } else {
+          this[kState].push(entry);
+        }
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        const state = this[kState].reduce((a, b) => {
+          if (a[b.name]) {
+            if (Array.isArray(a[b.name])) {
+              a[b.name].push(b.value);
+            } else {
+              a[b.name] = [a[b.name], b.value];
+            }
+          } else {
+            a[b.name] = b.value;
+          }
+          return a;
+        }, { __proto__: null });
+        options.depth ??= depth;
+        options.colors ??= true;
+        const output = nodeUtil.formatWithOptions(options, state);
+        return `FormData ${output.slice(output.indexOf("]") + 2)}`;
+      }
+    };
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      if (typeof value === "string") {
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { Blob: Blob2 } = require("node:buffer");
+    var assert = require("node:assert");
+    var { isErrored, isDisturbed } = require("node:stream");
+    var { isArrayBuffer } = require("node:util/types");
+    var { serializeAMimeType } = require_data_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var textEncoder = new TextEncoder();
+    function noop3() {
+    }
+    var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
+    var streamRegistry;
+    if (hasFinalizationRegistry) {
+      streamRegistry = new FinalizationRegistry((weakRef) => {
+        const stream2 = weakRef.deref();
+        if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
+          stream2.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream2 = null;
+      if (object instanceof ReadableStream) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
+      } else {
+        stream2 = new ReadableStream({
+          async pull(controller) {
+            const buffer = typeof source === "string" ? textEncoder.encode(source) : source;
+            if (buffer.byteLength) {
+              controller.enqueue(buffer);
+            }
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: "bytes"
+        });
+      }
+      assert(isReadableStreamLike(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
+            }
+          }
+        }
+        const chunk = textEncoder.encode(`--${boundary}--\r
+`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream2 = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = new ReadableStream({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+                controller.byobRequest?.respond(0);
+              });
+            } else {
+              if (!isErrored(stream2)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream: stream2, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  for (const [name, value2] of entries) {
+                    fd.append(name, value2);
+                  }
+                  return fd;
+                }
+              }
+            }
+            throw new TypeError(
+              'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
+            );
+          }, instance);
+        },
+        bytes() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes);
+          }, instance);
+        }
+      };
+      return methods;
+    }
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function consumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      if (bodyUnusable(object)) {
+        throw new TypeError("Body is unusable: Body has already been read");
+      }
+      throwIfAborted(object[kState]);
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kParser,
+      kBlocking,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kMaxRequests,
+      kCounter,
+      kMaxResponseSize,
+      kOnError,
+      kResume,
+      kHTTPContext
+    } = require_symbols6();
+    var constants = require_constants7();
+    var EMPTY_BUF = Buffer.alloc(0);
+    var FastBuffer = Buffer[Symbol.species];
+    var addListener = util.addListener;
+    var removeAllListeners = util.removeAllListeners;
+    var extractBody;
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageComplete() || 0;
+          }
+          /* eslint-enable camelcase */
+        }
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var USE_NATIVE_TIMER = 0;
+    var USE_FAST_TIMER = 1;
+    var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
+    var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
+    var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
+      }
+      setTimeout(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.timeoutType = type2;
+      }
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
+        }
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
+      }
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
+          }
+          this.execute(chunk);
+        }
+      }
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
+          }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
+        }
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
+        try {
+          let ret;
+          try {
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
+          } catch (err) {
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
+          }
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
+            }
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
+          }
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+      }
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        this.timeout && timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
+      }
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        request2.onResponseStarted();
+      }
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        this.trackHeader(buf.length);
+      }
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        const key = this.headers[len - 2];
+        if (key.length === 10) {
+          const headerName = util.bufferToLowerCasedHeaderName(key);
+          if (headerName === "keep-alive") {
+            this.keepAlive += buf.toString();
+          } else if (headerName === "connection") {
+            this.connection += buf.toString();
+          }
+        } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") {
+          this.contentLength += buf.toString();
+        }
+        this.trackHeader(buf.length);
+      }
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
+        }
+      }
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        assert(client[kSocket] === socket);
+        assert(!socket.destroyed);
+        assert(!this.paused);
+        assert((headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        removeAllListeners(socket);
+        client[kSocket] = null;
+        client[kHTTPContext] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+        client[kResume]();
+      }
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
+        }
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
+        }
+        assert(this.timeoutType === TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        assert((this.headers.length & 1) === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
+            );
+            if (timeout <= 0) {
+              socket[kReset] = true;
+            } else {
+              client[kKeepAliveTimeoutValue] = timeout;
+            }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+          }
+        } else {
+          socket[kReset] = true;
+        }
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
+        }
+        if (request2.method === "HEAD") {
+          return 1;
+        }
+        if (statusCode < 200) {
+          return 1;
+        }
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          client[kResume]();
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
+        }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
+        }
+      }
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
+        }
+        if (upgrade) {
+          return;
+        }
+        assert(statusCode >= 100);
+        assert((this.headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert(client[kRunning] === 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] == null || client[kPipelining] === 1) {
+          setImmediate(() => client[kResume]());
+        } else {
+          client[kResume]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client, paused } = parser.deref();
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
+      }
+    }
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
+      }
+      socket[kNoRef] = false;
+      socket[kWriting] = false;
+      socket[kReset] = false;
+      socket[kBlocking] = false;
+      socket[kParser] = new Parser(client, socket, llhttpInstance);
+      addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        const parser = this[kParser];
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        this[kError] = err;
+        this[kClient][kOnError](err);
       });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      addListener(socket, "end", function() {
+        const parser = this[kParser];
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      addListener(socket, "close", function() {
+        const client2 = this[kClient];
+        const parser = this[kParser];
+        if (parser) {
+          if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+            parser.onMessageComplete();
+          }
+          this[kParser].destroy();
+          this[kParser] = null;
+        }
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client2[kSocket] = null;
+        client2[kHTTPContext] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+          const request2 = client2[kQueue][client2[kRunningIdx]];
+          client2[kQueue][client2[kRunningIdx]++] = null;
+          util.errorRequest(client2, request2, err);
+        }
+        client2[kPendingIdx] = client2[kRunningIdx];
+        assert(client2[kRunning] === 0);
+        client2.emit("disconnect", client2[kUrl], [client2], err);
+        client2[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h1",
+        defaultPipelining: 1,
+        write(...args) {
+          return writeH1(client, ...args);
+        },
+        resume() {
+          resumeH1(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy(request2) {
+          if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+            return true;
+          }
+          if (request2) {
+            if (client[kRunning] > 0 && !request2.idempotent) {
+              return true;
+            }
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
+            }
+            if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) {
+              return true;
+            }
+          }
+          return false;
+        }
+      };
+    }
+    function resumeH1(client) {
+      const socket = client[kSocket];
+      if (socket && !socket.destroyed) {
+        if (client[kSize] === 0) {
+          if (!socket[kNoRef] && socket.unref) {
+            socket.unref();
+            socket[kNoRef] = true;
+          }
+        } else if (socket[kNoRef] && socket.ref) {
+          socket.ref();
+          socket[kNoRef] = false;
+        }
+        if (client[kSize] === 0) {
+          if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
+            socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
+          }
+        } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+          if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+            const request2 = client[kQueue][client[kRunningIdx]];
+            const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];
+            socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          }
+        }
+      }
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH1(client, request2) {
+      const { method, path: path11, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path11} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    webidl.argumentLengthCheck = function({ length }, min, ctx) {
-      if (length < min) {
-        throw webidl.errors.exception({
-          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
-          ...ctx
-        });
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
       }
-    };
-    webidl.illegalConstructor = function() {
-      throw webidl.errors.exception({
-        header: "TypeError",
-        message: "Illegal constructor"
-      });
-    };
-    webidl.util.Type = function(V) {
-      switch (typeof V) {
-        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": {
-          if (V === null) {
-            return "Null";
+      if (Array.isArray(headers)) {
+        for (let n = 0; n < headers.length; n += 2) {
+          const key = headers[n + 0];
+          const val = headers[n + 1];
+          if (Array.isArray(val)) {
+            for (let i = 0; i < val.length; i++) {
+              header += `${key}: ${val[i]}\r
+`;
+            }
+          } else {
+            header += `${key}: ${val}\r
+`;
           }
-          return "Object";
         }
       }
-    };
-    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
-      let upperBound;
-      let lowerBound;
-      if (bitLength === 64) {
-        upperBound = Math.pow(2, 53) - 1;
-        if (signedness === "unsigned") {
-          lowerBound = 0;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } else if (signedness === "unsigned") {
-        lowerBound = 0;
-        upperBound = Math.pow(2, bitLength) - 1;
-      } else {
-        lowerBound = Math.pow(-2, bitLength) - 1;
-        upperBound = Math.pow(2, bitLength - 1) - 1;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (opts.enforceRange === true) {
-        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Could not convert ${V} to an integer.`
-          });
-        }
-        x = webidl.util.IntegerPart(x);
-        if (x < lowerBound || x > upperBound) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      x = webidl.util.IntegerPart(x);
-      x = x % Math.pow(2, bitLength);
-      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
-        return x - Math.pow(2, bitLength);
+      const waitForDrain = () => new Promise((resolve6, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve6;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    var AsyncWriter = class {
+      constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        this.abort = abort;
+        socket[kWriting] = true;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
-        }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
-          }
-          seq2.push(converter(value));
+        if (socket.destroyed) {
+          return false;
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          return result;
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
+          } else {
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
           }
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
-        }
-        return V;
-      };
-    };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
             }
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+        return ret;
+      }
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
+        }
+        if (socket.destroyed) {
+          return;
+        }
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            socket.write(`${header}\r
+`, "latin1");
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
-            }
-            dict[key] = value;
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
+        }
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
           }
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        return converter(V);
-      };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
-      }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+        client[kResume]();
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      for (let index = 0; index < x.length; index++) {
-        if (x.charCodeAt(index) > 255) {
-          throw new TypeError(
-            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
-          );
+      destroy(err) {
+        const { socket, client, abort } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          abort(err);
         }
       }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
     };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
+    var util = require_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ Symbol("open streams");
+    var extractBody;
+    var h2ExperimentalWarned = false;
+    var http2;
+    try {
+      http2 = require("node:http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
       }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
+    } = http2;
+    function parseH2Headers(headers) {
+      const result = [];
+      for (const [name, value] of Object.entries(headers)) {
+        if (Array.isArray(value)) {
+          for (const subvalue of value) {
+            result.push(Buffer.from(name), Buffer.from(subvalue));
+          }
+        } else {
+          result.push(Buffer.from(name), Buffer.from(value));
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+      return result;
+    }
+    async function connectH2(client, socket) {
+      client[kSocket] = socket;
+      if (!h2ExperimentalWarned) {
+        h2ExperimentalWarned = true;
+        process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+          code: "UNDICI-H2"
         });
       }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
+      const session = http2.connect(client[kUrl], {
+        createConnection: () => socket,
+        peerMaxConcurrentStreams: client[kMaxConcurrentStreams]
+      });
+      session[kOpenStreams] = 0;
+      session[kClient] = client;
+      session[kSocket] = socket;
+      util.addListener(session, "error", onHttp2SessionError);
+      util.addListener(session, "frameError", onHttp2FrameError);
+      util.addListener(session, "end", onHttp2SessionEnd);
+      util.addListener(session, "goaway", onHTTP2GoAway);
+      util.addListener(session, "close", function() {
+        const { [kClient]: client2 } = this;
+        const { [kSocket]: socket2 } = client2;
+        const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2));
+        client2[kHTTP2Session] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        }
+      });
+      session.unref();
+      client[kHTTP2Session] = session;
+      socket[kHTTP2Session] = session;
+      util.addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      util.addListener(socket, "end", function() {
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      util.addListener(socket, "close", function() {
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client[kSocket] = null;
+        if (this[kHTTP2Session] != null) {
+          this[kHTTP2Session].destroy(err);
+        }
+        client[kPendingIdx] = client[kRunningIdx];
+        assert(client[kRunning] === 0);
+        client.emit("disconnect", client[kUrl], [client], err);
+        client[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h2",
+        defaultPipelining: Infinity,
+        write(...args) {
+          return writeH2(client, ...args);
+        },
+        resume() {
+          resumeH2(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy() {
+          return false;
+        }
+      };
+    }
+    function resumeH2(client) {
+      const socket = client[kSocket];
+      if (socket?.destroyed === false) {
+        if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {
+          socket.unref();
+          client[kHTTP2Session].unref();
+        } else {
+          socket.ref();
+          client[kHTTP2Session].ref();
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+    }
+    function onHttp2SessionEnd() {
+      const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket]));
+      this.destroy(err);
+      util.destroy(this[kSocket], err);
+    }
+    function onHTTP2GoAway(code) {
+      const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this));
+      const client = this[kClient];
+      client[kSocket] = null;
+      client[kHTTPContext] = null;
+      if (this[kHTTP2Session] != null) {
+        this[kHTTP2Session].destroy(err);
+        this[kHTTP2Session] = null;
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      util.destroy(this[kSocket], err);
+      if (client[kRunningIdx] < client[kQueue].length) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        util.errorRequest(client, request2, err);
+        client[kPendingIdx] = client[kRunningIdx];
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      client[kResume]();
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH2(client, request2) {
+      const session = client[kHTTP2Session];
+      const { method, path: path11, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
+            }
+          }
+        } else {
+          headers[key] = val;
+        }
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      let stream2;
+      const { hostname, port } = client[kUrl];
+      headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
+      headers[HTTP2_HEADER_METHOD] = method;
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream2 != null) {
+          util.destroy(stream2, err);
+        }
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (request2.aborted) {
+        return false;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
+        }
+        stream2.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
+        });
+        return true;
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url2, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url2.href;
+      headers[HTTP2_HEADER_PATH] = path11;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      const href = url2.href;
-      const hashLength = url2.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
-    }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      return result;
-    }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
-    }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
-        }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      return Uint8Array.from(output);
-    }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        return "failure";
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      if (position.position > input.length) {
-        return "failure";
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      const typeLowercase = type2.toLowerCase();
-      const subtypeLowercase = subtype.toLowerCase();
-      const mimeType = {
-        type: typeLowercase,
-        subtype: subtypeLowercase,
-        /** @type {Map} */
-        parameters: /* @__PURE__ */ new Map(),
-        // https://mimesniff.spec.whatwg.org/#mime-type-essence
-        essence: `${typeLowercase}/${subtypeLowercase}`
-      };
-      while (position.position < input.length) {
-        position.position++;
-        collectASequenceOfCodePoints(
-          // https://fetch.spec.whatwg.org/#http-whitespace
-          (char) => HTTP_WHITESPACE_REGEX.test(char),
-          input,
-          position
-        );
-        let parameterName = collectASequenceOfCodePoints(
-          (char) => char !== ";" && char !== "=",
-          input,
-          position
-        );
-        parameterName = parameterName.toLowerCase();
-        if (position.position < input.length) {
-          if (input[position.position] === ";") {
-            continue;
+      ++session[kOpenStreams];
+      stream2.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        request2.onResponseStarted();
+        if (request2.aborted) {
+          const err = new RequestAbortedError();
+          util.errorRequest(client, request2, err);
+          util.destroy(stream2, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+        stream2.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream2.pause();
           }
-          position.position++;
+        });
+      });
+      stream2.once("end", () => {
+        if (stream2.state?.state == null || stream2.state.state < 6) {
+          request2.onComplete([]);
         }
-        if (position.position > input.length) {
-          break;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
         }
-        let parameterValue = null;
-        if (input[position.position] === '"') {
-          parameterValue = collectAnHTTPQuotedString(input, position, true);
-          collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
+      });
+      stream2.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        abort(err);
+      });
+      stream2.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream2,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
           );
-        } else {
-          parameterValue = collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
           );
-          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
-          if (parameterValue.length === 0) {
-            continue;
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream2,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream2,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
           }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream2,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
         }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
-        }
-      }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
-      }
-      if (data.length % 4 === 1) {
-        return "failure";
-      }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
-      }
-      return bytes;
     }
-    function collectAnHTTPQuotedString(input, position, extractValue) {
-      const positionStart = position.position;
-      let value = "";
-      assert(input[position.position] === '"');
-      position.position++;
-      while (true) {
-        value += collectASequenceOfCodePoints(
-          (char) => char !== '"' && char !== "\\",
-          input,
-          position
-        );
-        if (position.position >= input.length) {
-          break;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
         }
-        const quoteOrBackslash = input[position.position];
-        position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
-            break;
-          }
-          value += input[position.position];
-          position.position++;
-        } else {
-          assert(quoteOrBackslash === '"');
-          break;
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      if (extractValue) {
-        return value;
-      }
-      return input.slice(positionStart, position.position);
     }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
         }
-        serialization += value;
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
-      }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
     }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      const waitForDrain = () => new Promise((resolve6, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve6;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
+          }
+        }
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
       }
-      return str2.slice(lead, trail + 1);
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
-          }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
       }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
       }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        this.redirectionLimitReached = false;
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
+          }
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
+          }
+        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        }
       }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-    };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
-        };
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
+          if (this.request) {
+            this.request.abort(new Error("max redirects"));
+          }
+          this.redirectionLimitReached = true;
+          this.abort(new Error("max redirects"));
+          return;
+        }
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
+        }
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        }
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path11 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path11;
+        this.opts.origin = origin;
+        this.opts.maxRedirections = 0;
+        this.opts.query = null;
+        if (statusCode === 303 && this.opts.method !== "HEAD") {
+          this.opts.method = "GET";
+          this.opts.body = null;
+        }
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
+        }
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
+        }
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
+          return headers[i + 1];
+        }
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+    }
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
-        }
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
       }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      return false;
+    }
+    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
+      const ret = [];
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
+            ret.push(headers[i], headers[i + 1]);
           }
-          return value;
-        },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
         }
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-      return bytes;
-    }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
-      }
-      return s.replace(/\r?\n/g, nativeLineEnding);
+      return ret;
     }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    module2.exports = RedirectHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
+    "use strict";
+    var RedirectHandler = require_redirect_handler2();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
+          }
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
+        };
+      };
     }
-    module2.exports = { File: File2, FileLike, isFileLike };
+    module2.exports = createRedirectInterceptor;
   }
 });
 
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
     "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
-          });
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    var {
+      kUrl,
+      kServerName,
+      kClient,
+      kBusy,
+      kConnect,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
+    } = require_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var noop3 = () => {
+    };
+    function getPipelining(client) {
+      return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
+    }
+    var Client = class extends DispatcherBase {
+      /**
+       *
+       * @param {string|URL} url
+       * @param {import('../../types/client.js').Client.Options} options
+       */
+      constructor(url2, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        maxConcurrentStreams,
+        allowH2
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
-        } else {
-          this[kState].push(entry);
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-      }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
+        }
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
+        }
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
+        }
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
+        }
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        }
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        }
+        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        }
+        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        }
+        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
         }
-      }
-      return { name, value };
-    }
-    module2.exports = { FormData: FormData2 };
-  }
-});
-
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
-    "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      let stream2 = null;
-      if (object instanceof ReadableStream2) {
-        stream2 = object;
-      } else if (isBlobLike(object)) {
-        stream2 = object.stream();
-      } else {
-        stream2 = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
-      }
-      assert(isReadableStreamLike(stream2));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
-      } else if (isArrayBuffer(object)) {
-        source = new Uint8Array(object.slice());
-      } else if (ArrayBuffer.isView(object)) {
-        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
-      } else if (util.isFormDataLike(object)) {
-        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
-        const prefix = `--${boundary}\r
-Content-Disposition: form-data`;
-        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
-        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
-        const blobParts = [];
-        const rn = new Uint8Array([13, 10]);
-        length = 0;
-        let hasUnknownSizeValue = false;
-        for (const [name, value] of object) {
-          if (typeof value === "string") {
-            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
-\r
-${normalizeLinefeeds(value)}\r
-`);
-            blobParts.push(chunk2);
-            length += chunk2.byteLength;
-          } else {
-            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
-Content-Type: ${value.type || "application/octet-stream"}\r
-\r
-`);
-            blobParts.push(chunk2, value, rn);
-            if (typeof value.size === "number") {
-              length += chunk2.byteLength + value.size + rn.byteLength;
-            } else {
-              hasUnknownSizeValue = true;
-            }
-          }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
         }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
         }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
         }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
         }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
+        if (interceptors?.Client && Array.isArray(interceptors.Client)) {
+          this[kInterceptors] = interceptors.Client;
+          if (!deprecatedInterceptorWarned) {
+            deprecatedInterceptorWarned = true;
+            process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", {
+              code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"
+            });
+          }
+        } else {
+          this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })];
         }
-        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+        this[kUrl] = util.parseOrigin(url2);
+        this[kConnector] = connect2;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
+        this[kHTTPContext] = null;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
+        this[kResume] = (sync) => resume(this, sync);
+        this[kOnError] = (err) => onError(this, err);
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      get pipelining() {
+        return this[kPipelining];
       }
-      if (action != null) {
-        let iterator2;
-        stream2 = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream2)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      const body = { stream: stream2, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
+      }
+      get [kConnected]() {
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
+      }
+      get [kBusy]() {
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
+      }
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
+      }
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = new Request(origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          queueMicrotask(() => resume(this));
         } else {
-          const stream2 = body.stream;
-          if (util.isDisturbed(stream2)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream2.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream2[kBodyUsed] = true;
-          yield* stream2;
+          this[kResume](true);
+        }
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+      async [kClose]() {
+        return new Promise((resolve6) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve6;
+          } else {
+            resolve6(null);
+          }
+        });
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve6, reject) => {
-              busboy.on("finish", resolve6);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
+      async [kDestroy](err) {
+        return new Promise((resolve6) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(this, request2, err);
+          }
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
             }
-            return formData;
+            resolve6(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
+            queueMicrotask(callback);
           }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+          this[kResume]();
+        });
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          util.errorRequest(client, request2, err);
         }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+        assert(client[kSize] === 0);
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
-      }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kHTTPContext]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            version: client[kHTTPContext]?.version,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
-    };
-  }
-});
-
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
-    "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path11,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path11 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path11[0] !== "/" && !(path11.startsWith("http://") || path11.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path11) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
+      try {
+        const socket = await new Promise((resolve6, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve6(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
+        assert(socket);
+        try {
+          client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket);
+        } catch (err) {
+          socket.destroy().on("error", noop3);
+          throw err;
         }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
+        client[kConnecting] = false;
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
         }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            util.errorRequest(client, request2, err);
           }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
-            }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
         } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path11, query) : path11;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
-          }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
-          }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
-          }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
+      }
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-      }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
+          } else {
+            emitDrain(client);
+          }
+          continue;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        if (client[kPending] === 0) {
+          return;
         }
-      }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
         }
-      }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
-      }
-      onComplete(trailers) {
-        this.onFinally();
-        assert(!this.aborted);
-        this.completed = true;
-        if (channels.trailers.hasSubscribers) {
-          channels.trailers.publish({ request: this, trailers });
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
+          }
+          client[kServerName] = request2.servername;
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
         }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+        if (client[kConnecting]) {
+          return;
         }
-      }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
         }
-        if (this.aborted) {
+        if (client[kHTTPContext].destroyed) {
           return;
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
-      }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
+        if (client[kHTTPContext].busy(request2)) {
+          return;
         }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
+    "use strict";
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
+      constructor() {
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
-        }
-        return headers;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
       }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
       }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
-        }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
-        }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
-            }
-          }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
+        this.head.push(data);
+      }
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
+        return next;
       }
-    }
-    module2.exports = Request;
+    };
   }
 });
 
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      close() {
-        throw new Error("not implemented");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      destroy() {
-        throw new Error("not implemented");
+      get free() {
+        return this[kPool][kFree];
+      }
+      get pending() {
+        return this[kPool][kPending];
+      }
+      get queued() {
+        return this[kPool][kQueued];
+      }
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
       }
     };
-    module2.exports = Dispatcher;
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
-    var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
       constructor() {
         super();
-        this[kDestroyed] = false;
-        this[kOnDestroyed] = null;
-        this[kClosed] = false;
-        this[kOnClosed] = [];
-      }
-      get destroyed() {
-        return this[kDestroyed];
-      }
-      get closed() {
-        return this[kClosed];
-      }
-      get interceptors() {
-        return this[kInterceptors];
-      }
-      set interceptors(newInterceptors) {
-        if (newInterceptors) {
-          for (let i = newInterceptors.length - 1; i >= 0; i--) {
-            const interceptor = this[kInterceptors][i];
-            if (typeof interceptor !== "function") {
-              throw new InvalidArgumentError("interceptor must be an function");
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
             }
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-        }
-        this[kInterceptors] = newInterceptors;
-      }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve6, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve6(data);
-            });
-          });
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
-          return;
-        }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          return;
-        }
-        this[kClosed] = true;
-        this[kOnClosed].push(callback);
-        const onClosed = () => {
-          const callbacks = this[kOnClosed];
-          this[kOnClosed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
         };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
-        }
-        if (callback === void 0) {
-          return new Promise((resolve6, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve6(data);
-            });
-          });
+      get [kBusy]() {
+        return this[kNeedDrain];
+      }
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
+      }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+      }
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        return ret;
+      }
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        return ret;
+      }
+      get stats() {
+        return this[kStats];
+      }
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve6) => {
+            this[kClosedResolve] = resolve6;
+          });
         }
-        this[kDestroyed] = true;
-        this[kOnDestroyed] = this[kOnDestroyed] || [];
-        this[kOnDestroyed].push(callback);
-        const onDestroyed = () => {
-          const callbacks = this[kOnDestroyed];
-          this[kOnDestroyed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
-          }
-        };
-        this[kDestroy](err).then(() => {
-          queueMicrotask(onDestroyed);
-        });
       }
-      [kInterceptedDispatch](opts, handler2) {
-        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
-          this[kInterceptedDispatch] = this[kDispatch];
-          return this[kDispatch](opts, handler2);
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
+      }
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        return !this[kNeedDrain];
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          queueMicrotask(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
+            }
+          });
         }
-        try {
-          if (!opts || typeof opts !== "object") {
-            throw new InvalidArgumentError("opts must be an object.");
-          }
-          if (this[kDestroyed] || this[kOnDestroyed]) {
-            throw new ClientDestroyedError();
-          }
-          if (this[kClosed]) {
-            throw new ClientClosedError();
-          }
-          return this[kInterceptedDispatch](opts, handler2);
-        } catch (err) {
-          if (typeof handler2.onError !== "function") {
-            throw new InvalidArgumentError("invalid onError method");
+        return this;
+      }
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-          handler2.onError(err);
-          return false;
-        }
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
     };
-    module2.exports = DispatcherBase;
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
     var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._sessionRegistry = new global.FinalizationRegistry((key) => {
-            if (this._sessionCache.size < this._maxCachedSessions) {
-              return;
-            }
-            const ref = this._sessionCache.get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this._sessionCache.delete(key);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
-      }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...options,
-            servername,
-            session,
-            localAddress,
-            // TODO(HTTP/2): Add support for h2c
-            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
-            socket: httpSocket,
-            // upgrade socket connection
-            port: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
           });
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
-        }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
           }
         });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
       }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+      [kGetDispatcher]() {
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
           }
-        });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
         }
-      });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+          return dispatcher;
+        }
+      }
+    };
+    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
-    var TYPE;
-    (function(TYPE2) {
-      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
-      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
-      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
-    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
-    var FLAGS;
-    (function(FLAGS2) {
-      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
-      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
-      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
-      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
-      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
-      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
-      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
-      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
-      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
-    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
-    var LENIENT_FLAGS;
-    (function(LENIENT_FLAGS2) {
-      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
-    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
-    var METHODS;
-    (function(METHODS2) {
-      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
-      METHODS2[METHODS2["GET"] = 1] = "GET";
-      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
-      METHODS2[METHODS2["POST"] = 3] = "POST";
-      METHODS2[METHODS2["PUT"] = 4] = "PUT";
-      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
-      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
-      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
-      METHODS2[METHODS2["COPY"] = 8] = "COPY";
-      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
-      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
-      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
-      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
-      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
-      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
-      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
-      METHODS2[METHODS2["BIND"] = 16] = "BIND";
-      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
-      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
-      METHODS2[METHODS2["ACL"] = 19] = "ACL";
-      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
-      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
-      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
-      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
-      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
-      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
-      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
-      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
-      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
-      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
-      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
-      METHODS2[METHODS2["LINK"] = 31] = "LINK";
-      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
-      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
-      METHODS2[METHODS2["PRI"] = 34] = "PRI";
-      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
-      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
-      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
-      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
-      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
-      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
-      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
-      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
-      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
-      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
-      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
-    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
-    exports2.METHODS_HTTP = [
-      METHODS.DELETE,
-      METHODS.GET,
-      METHODS.HEAD,
-      METHODS.POST,
-      METHODS.PUT,
-      METHODS.CONNECT,
-      METHODS.OPTIONS,
-      METHODS.TRACE,
-      METHODS.COPY,
-      METHODS.LOCK,
-      METHODS.MKCOL,
-      METHODS.MOVE,
-      METHODS.PROPFIND,
-      METHODS.PROPPATCH,
-      METHODS.SEARCH,
-      METHODS.UNLOCK,
-      METHODS.BIND,
-      METHODS.REBIND,
-      METHODS.UNBIND,
-      METHODS.ACL,
-      METHODS.REPORT,
-      METHODS.MKACTIVITY,
-      METHODS.CHECKOUT,
-      METHODS.MERGE,
-      METHODS["M-SEARCH"],
-      METHODS.NOTIFY,
-      METHODS.SUBSCRIBE,
-      METHODS.UNSUBSCRIBE,
-      METHODS.PATCH,
-      METHODS.PURGE,
-      METHODS.MKCALENDAR,
-      METHODS.LINK,
-      METHODS.UNLINK,
-      METHODS.PRI,
-      // TODO(indutny): should we allow it with HTTP?
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_ICE = [
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_RTSP = [
-      METHODS.OPTIONS,
-      METHODS.DESCRIBE,
-      METHODS.ANNOUNCE,
-      METHODS.SETUP,
-      METHODS.PLAY,
-      METHODS.PAUSE,
-      METHODS.TEARDOWN,
-      METHODS.GET_PARAMETER,
-      METHODS.SET_PARAMETER,
-      METHODS.REDIRECT,
-      METHODS.RECORD,
-      METHODS.FLUSH,
-      // For AirPlay
-      METHODS.GET,
-      METHODS.POST
-    ];
-    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
-    exports2.H_METHOD_MAP = {};
-    Object.keys(exports2.METHOD_MAP).forEach((key) => {
-      if (/^H/.test(key)) {
-        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors2();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
+      return a;
     }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.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
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
+        }
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
+      }
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
+        }
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
+          }
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
+        }
+        this._updateBalancedPoolStats();
+        return this;
+      }
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
+        }
+        this[kGreatestCommonDivisor] = result;
+      }
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
+        }
+        return this;
+      }
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      }
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
+        }
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
+          return;
+        }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
+          return;
+        }
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
+          }
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
+            }
+          }
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
+          }
+        }
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
       }
-    }
-    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
-    exports2.MAJOR = exports2.NUM_MAP;
-    exports2.MINOR = exports2.MAJOR;
-    var HEADER_STATE;
-    (function(HEADER_STATE2) {
-      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
-      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
-      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
-    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
-    exports2.SPECIAL_HEADERS = {
-      "connection": HEADER_STATE.CONNECTION,
-      "content-length": HEADER_STATE.CONTENT_LENGTH,
-      "proxy-connection": HEADER_STATE.CONNECTION,
-      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
-      "upgrade": HEADER_STATE.UPGRADE
     };
+    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
     var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
+        }
+        this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kOnDrain] = (origin, targets) => {
+          this.emit("drain", origin, [this, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          this.emit("connect", origin, [this, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          this.emit("disconnect", origin, [this, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          this.emit("connectionError", origin, [this, ...targets], err);
+        };
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
+        }
+        return ret;
+      }
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
+        }
+        let dispatcher = this[kClients].get(key);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, dispatcher);
+        }
+        return dispatcher.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
+        }
+        this[kClients].clear();
+        await Promise.all(closePromises);
+      }
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const client of this[kClients].values()) {
+          destroyPromises.push(client.destroy(err));
+        }
+        this[kClients].clear();
+        await Promise.all(destroyPromises);
       }
     };
-    var RedirectHandler = class {
-      constructor(dispatch, maxRedirections, opts, handler2) {
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var noop3 = () => {
+    };
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
+      }
+      return new Pool(origin, opts);
+    }
+    var Http1ProxyWrapper = class extends DispatcherBase {
+      #client;
+      constructor(proxyUrl, { headers = {}, connect, factory }) {
+        super();
+        if (!proxyUrl) {
+          throw new InvalidArgumentError("Proxy URL is mandatory");
         }
-        util.validateHandler(handler2, opts.method, opts.upgrade);
-        this.dispatch = dispatch;
-        this.location = null;
-        this.abort = null;
-        this.opts = { ...opts, maxRedirections: 0 };
-        this.maxRedirections = maxRedirections;
-        this.handler = handler2;
-        this.history = [];
-        if (util.isStream(this.opts.body)) {
-          if (util.bodyLength(this.opts.body) === 0) {
-            this.opts.body.on("data", function() {
-              assert(false);
-            });
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
+        }
+      }
+      [kDispatch](opts, handler2) {
+        const onHeaders = handler2.onHeaders;
+        handler2.onHeaders = function(statusCode, data, resume) {
+          if (statusCode === 407) {
+            if (typeof handler2.onError === "function") {
+              handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
+            }
+            return;
           }
-          if (typeof this.opts.body.readableDidRead !== "boolean") {
-            this.opts.body[kBodyUsed] = false;
-            EE.prototype.on.call(this.opts.body, "data", function() {
-              this[kBodyUsed] = true;
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path11 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path11;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
+        }
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
+      }
+      async [kClose]() {
+        return this.#client.close();
+      }
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
+      }
+    };
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super();
+        if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) {
+          throw new InvalidArgumentError("Proxy uri is mandatory");
+        }
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
+        }
+        const { proxyTunnel = true } = opts;
+        const url2 = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url2;
+        this[kProxy] = { uri: href, protocol };
+        this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        this[kTunnelProxy] = proxyTunnel;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
+        }
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        const agentFactory = opts.factory || defaultAgentFactory;
+        const factory = (origin2, options) => {
+          const { protocol: protocol2 } = new URL2(origin2);
+          if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
+            return new Http1ProxyWrapper(this[kProxy].uri, {
+              headers: this[kProxyHeaders],
+              connect,
+              factory: agentFactory
             });
           }
-        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
-        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
-        }
-      }
-      onConnect(abort) {
-        this.abort = abort;
-        this.handler.onConnect(abort, { history: this.history });
-      }
-      onUpgrade(statusCode, headers, socket) {
-        this.handler.onUpgrade(statusCode, headers, socket);
-      }
-      onError(error3) {
-        this.handler.onError(error3);
+          return agentFactory(origin2, options);
+        };
+        this[kClient] = clientFactory(url2, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          factory,
+          connect: async (opts2, callback) => {
+            let requestedPath = opts2.host;
+            if (!opts2.port) {
+              requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedPath,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host: opts2.host
+                },
+                servername: this[kProxyTls]?.servername || proxyHostname
+              });
+              if (statusCode !== 200) {
+                socket.on("error", noop3).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+                callback(new SecureProxyConnectionError(err));
+              } else {
+                callback(err);
+              }
+            }
+          }
+        });
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
-        }
-        if (!this.location) {
-          return this.handler.onHeaders(statusCode, headers, resume, statusText);
-        }
-        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
-        const path11 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path11;
-        this.opts.origin = origin;
-        this.opts.maxRedirections = 0;
-        this.opts.query = null;
-        if (statusCode === 303 && this.opts.method !== "HEAD") {
-          this.opts.method = "GET";
-          this.opts.body = null;
+      dispatch(opts, handler2) {
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        if (headers && !("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(opts.origin);
+          headers.host = host;
         }
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-      onData(chunk) {
-        if (this.location) {
+      /**
+       * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts
+       * @returns {URL}
+       */
+      #getUrl(opts) {
+        if (typeof opts === "string") {
+          return new URL2(opts);
+        } else if (opts instanceof URL2) {
+          return opts;
         } else {
-          return this.handler.onData(chunk);
+          return new URL2(opts.uri);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
-        } else {
-          this.handler.onComplete(trailers);
-        }
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
     };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
-      }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
-          return headers[i + 1];
-        }
-      }
-    }
-    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
-      if (header.length === 4) {
-        return util.headerNameToString(header) === "host";
-      }
-      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
-        return true;
-      }
-      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
-        const name = util.headerNameToString(header);
-        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
-      }
-      return false;
-    }
-    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
-      const ret = [];
+    function buildHeaders(headers) {
       if (Array.isArray(headers)) {
+        const headersPair = {};
         for (let i = 0; i < headers.length; i += 2) {
-          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
-            ret.push(headers[i], headers[i + 1]);
-          }
-        }
-      } else if (headers && typeof headers === "object") {
-        for (const key of Object.keys(headers)) {
-          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
-            ret.push(key, headers[key]);
-          }
+          headersPair[headers[i]] = headers[i + 1];
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
+        return headersPair;
       }
-      return ret;
+      return headers;
     }
-    module2.exports = RedirectHandler;
-  }
-});
-
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
-    "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
-      return (dispatch) => {
-        return function Intercept(opts, handler2) {
-          const { maxRedirections = defaultMaxRedirections } = opts;
-          if (!maxRedirections) {
-            return dispatch(opts, handler2);
-          }
-          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
-          opts = { ...opts, maxRedirections: 0 };
-          return dispatch(opts, redirectHandler);
-        };
-      };
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      }
     }
-    module2.exports = createRedirectInterceptor;
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwHLAcoBuAHJAbkByAG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAQDcAQtBACEQDMYBC0EOIRAMxQELQQ0hEAzEAQtBDyEQDMMBC0EQIRAMwgELQRMhEAzBAQtBFCEQDMABC0EVIRAMvwELQRYhEAy+AQtBFyEQDL0BC0EYIRAMvAELQRkhEAy7AQtBGiEQDLoBC0EbIRAMuQELQRwhEAy4AQtBCCEQDLcBC0EdIRAMtgELQSAhEAy1AQtBHyEQDLQBC0EHIRAMswELQSEhEAyyAQtBIiEQDLEBC0EeIRAMsAELQSMhEAyvAQtBEiEQDK4BC0ERIRAMrQELQSQhEAysAQtBJSEQDKsBC0EmIRAMqgELQSchEAypAQtBwwEhEAyoAQtBKSEQDKcBC0ErIRAMpgELQSwhEAylAQtBLSEQDKQBC0EuIRAMowELQS8hEAyiAQtBxAEhEAyhAQtBMCEQDKABC0E0IRAMnwELQQwhEAyeAQtBMSEQDJ0BC0EyIRAMnAELQTMhEAybAQtBOSEQDJoBC0E1IRAMmQELQcUBIRAMmAELQQshEAyXAQtBOiEQDJYBC0E2IRAMlQELQQohEAyUAQtBNyEQDJMBC0E4IRAMkgELQTwhEAyRAQtBOyEQDJABC0E9IRAMjwELQQkhEAyOAQtBKCEQDI0BC0E+IRAMjAELQT8hEAyLAQtBwAAhEAyKAQtBwQAhEAyJAQtBwgAhEAyIAQtBwwAhEAyHAQtBxAAhEAyGAQtBxQAhEAyFAQtBxgAhEAyEAQtBKiEQDIMBC0HHACEQDIIBC0HIACEQDIEBC0HJACEQDIABC0HKACEQDH8LQcsAIRAMfgtBzQAhEAx9C0HMACEQDHwLQc4AIRAMewtBzwAhEAx6C0HQACEQDHkLQdEAIRAMeAtB0gAhEAx3C0HTACEQDHYLQdQAIRAMdQtB1gAhEAx0C0HVACEQDHMLQQYhEAxyC0HXACEQDHELQQUhEAxwC0HYACEQDG8LQQQhEAxuC0HZACEQDG0LQdoAIRAMbAtB2wAhEAxrC0HcACEQDGoLQQMhEAxpC0HdACEQDGgLQd4AIRAMZwtB3wAhEAxmC0HhACEQDGULQeAAIRAMZAtB4gAhEAxjC0HjACEQDGILQQIhEAxhC0HkACEQDGALQeUAIRAMXwtB5gAhEAxeC0HnACEQDF0LQegAIRAMXAtB6QAhEAxbC0HqACEQDFoLQesAIRAMWQtB7AAhEAxYC0HtACEQDFcLQe4AIRAMVgtB7wAhEAxVC0HwACEQDFQLQfEAIRAMUwtB8gAhEAxSC0HzACEQDFELQfQAIRAMUAtB9QAhEAxPC0H2ACEQDE4LQfcAIRAMTQtB+AAhEAxMC0H5ACEQDEsLQfoAIRAMSgtB+wAhEAxJC0H8ACEQDEgLQf0AIRAMRwtB/gAhEAxGC0H/ACEQDEULQYABIRAMRAtBgQEhEAxDC0GCASEQDEILQYMBIRAMQQtBhAEhEAxAC0GFASEQDD8LQYYBIRAMPgtBhwEhEAw9C0GIASEQDDwLQYkBIRAMOwtBigEhEAw6C0GLASEQDDkLQYwBIRAMOAtBjQEhEAw3C0GOASEQDDYLQY8BIRAMNQtBkAEhEAw0C0GRASEQDDMLQZIBIRAMMgtBkwEhEAwxC0GUASEQDDALQZUBIRAMLwtBlgEhEAwuC0GXASEQDC0LQZgBIRAMLAtBmQEhEAwrC0GaASEQDCoLQZsBIRAMKQtBnAEhEAwoC0GdASEQDCcLQZ4BIRAMJgtBnwEhEAwlC0GgASEQDCQLQaEBIRAMIwtBogEhEAwiC0GjASEQDCELQaQBIRAMIAtBpQEhEAwfC0GmASEQDB4LQacBIRAMHQtBqAEhEAwcC0GpASEQDBsLQaoBIRAMGgtBqwEhEAwZC0GsASEQDBgLQa0BIRAMFwtBrgEhEAwWC0EBIRAMFQtBrwEhEAwUC0GwASEQDBMLQbEBIRAMEgtBswEhEAwRC0GyASEQDBALQbQBIRAMDwtBtQEhEAwOC0G2ASEQDA0LQbcBIRAMDAtBuAEhEAwLC0G5ASEQDAoLQboBIRAMCQtBuwEhEAwIC0HGASEQDAcLQbwBIRAMBgtBvQEhEAwFC0G+ASEQDAQLQb8BIRAMAwtBwAEhEAwCC0HCASEQDAELQcEBIRALA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
-    var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
     var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("http2");
-    } catch {
-      http2 = { constants: {} };
-    }
-    var {
-      constants: {
-        HTTP2_HEADER_AUTHORITY,
-        HTTP2_HEADER_METHOD,
-        HTTP2_HEADER_PATH,
-        HTTP2_HEADER_SCHEME,
-        HTTP2_HEADER_CONTENT_LENGTH,
-        HTTP2_HEADER_EXPECT,
-        HTTP2_HEADER_STATUS
-      }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url2, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
         super();
-        if (keepAlive !== void 0) {
-          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
-        }
-        if (socketTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (requestTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (idleTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
-        }
-        if (maxKeepAliveTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
-        }
-        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
-          throw new InvalidArgumentError("invalid maxHeaderSize");
-        }
-        if (socketPath != null && typeof socketPath !== "string") {
-          throw new InvalidArgumentError("invalid socketPath");
-        }
-        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
-          throw new InvalidArgumentError("invalid connectTimeout");
-        }
-        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeout");
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
         }
-        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
+        this[kNoProxyAgent] = new Agent(agentOpts);
+        const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
+        if (HTTP_PROXY) {
+          this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY });
+        } else {
+          this[kHttpProxyAgent] = this[kNoProxyAgent];
         }
-        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
+        if (HTTPS_PROXY) {
+          this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY });
+        } else {
+          this[kHttpsProxyAgent] = this[kHttpProxyAgent];
         }
-        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        this.#parseNoProxy();
+      }
+      [kDispatch](opts, handler2) {
+        const url2 = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url2);
+        return agent.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
-        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
+      }
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
         }
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
         }
-        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
-          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+      }
+      #getProxyAgentForUrl(url2) {
+        let { protocol, host: hostname, port } = url2;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
         }
-        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
-          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        return this[kHttpProxyAgent];
+      }
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        if (this.#noProxyEntries.length === 0) {
+          return true;
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        if (this.#noProxyValue === "*") {
+          return false;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        for (let i = 0; i < this.#noProxyEntries.length; i++) {
+          const entry = this.#noProxyEntries[i];
+          if (entry.port && entry.port !== port) {
+            continue;
+          }
+          if (!/^[.*]/.test(entry.hostname)) {
+            if (hostname === entry.hostname) {
+              return false;
+            }
+          } else {
+            if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
+              return false;
+            }
+          }
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
+        return true;
+      }
+      #parseNoProxy() {
+        const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
+        const noProxySplit = noProxyValue.split(/[,\s]/);
+        const noProxyEntries = [];
+        for (let i = 0; i < noProxySplit.length; i++) {
+          const entry = noProxySplit[i];
+          if (!entry) {
+            continue;
+          }
+          const parsed = entry.match(/^(.+):(\d+)$/);
+          noProxyEntries.push({
+            hostname: (parsed ? parsed[1] : entry).toLowerCase(),
+            port: parsed ? Number.parseInt(parsed[2], 10) : 0
           });
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url2);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
+      }
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
+        }
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      return new Date(retryAfter).getTime() - current;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          minTimeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "ECONNRESET",
+            "ECONNREFUSED",
+            "ENOTFOUND",
+            "ENETDOWN",
+            "ENETUNREACH",
+            "EHOSTDOWN",
+            "EHOSTUNREACH",
+            "EPIPE",
+            "UND_ERR_SOCKET"
+          ]
         };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
-      }
-      get pipelining() {
-        return this[kPipelining];
-      }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
-      }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
-      }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+        this.retryCount = 0;
+        this.retryCountCheckpoint = 0;
+        this.start = 0;
+        this.end = null;
+        this.etag = null;
+        this.resume = null;
+        this.handler.onConnect((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
+          }
+        });
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
+        }
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
+        }
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
+        }
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
-        } else {
-          resume(this, true);
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          minTimeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        const { counter } = state;
+        if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
         }
-        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
         }
-        return this[kNeedDrain] < 2;
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
+        }
+        if (counter > maxRetries) {
+          cb(err);
+          return;
+        }
+        let retryAfterHeader = headers?.["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
+        setTimeout(() => cb(null), retryTimeout);
       }
-      async [kClose]() {
-        return new Promise((resolve6) => {
-          if (!this[kSize]) {
-            resolve6(null);
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          if (this.retryOpts.statusCodes.includes(statusCode) === false) {
+            return this.handler.onHeaders(
+              statusCode,
+              rawHeaders,
+              resume,
+              statusMessage
+            );
           } else {
-            this[kClosedResolve] = resolve6;
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
           }
-        });
-      }
-      async [kDestroy](err) {
-        return new Promise((resolve6) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
+        }
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
+            this.abort(
+              new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
           }
-          const callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size - 1 } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
+        }
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
             }
-            resolve6();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
+            const { start, size, end = size - 1 } = range;
+            assert(
+              start != null && Number.isFinite(start),
+              "content-range mismatch"
+            );
+            assert(end != null && Number.isFinite(end), "invalid content-length");
+            this.start = start;
+            this.end = end;
           }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
+          }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          if (this.etag != null && this.etag.startsWith("W/")) {
+            this.etag = null;
           }
-          resume(this);
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
+        }
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          data: { count: this.retryCount }
         });
+        this.abort(err);
+        return false;
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
-    }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
-      try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        if (this.retryCount - this.retryCountCheckpoint > 0) {
+          this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
+        } else {
+          this.retryCount += 1;
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
           },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
           }
-          /* eslint-enable camelcase */
-        }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: exports3 }) {
-        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
-        this.llhttp = exports3;
-        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
-        this.client = client;
-        this.socket = socket;
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.statusCode = null;
-        this.statusText = "";
-        this.upgrade = false;
-        this.headers = [];
-        this.headersSize = 0;
-        this.headersMaxSize = client[kMaxHeadersSize];
-        this.shouldKeepAlive = false;
-        this.paused = false;
-        this.resume = this.resume.bind(this);
-        this.bytesRead = 0;
-        this.keepAlive = "";
-        this.contentLength = "";
-        this.connection = "";
-        this.maxResponseSize = client[kMaxResponseSize];
-      }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
             }
-          } else {
-            this.timeout = null;
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
           }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
       }
-      resume() {
-        if (this.socket.destroyed || !this.paused) {
-          return;
-        }
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_resume(this.ptr);
-        assert(this.timeoutType === TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-        this.paused = false;
-        this.execute(this.socket.read() || EMPTY_BUF);
-        this.readMore();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
-            break;
-          }
-          this.execute(chunk);
-        }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
       }
-      execute(data) {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        assert(!this.paused);
-        const { socket, llhttp } = this;
-        if (data.length > currentBufferSize) {
-          if (currentBufferPtr) {
-            llhttp.free(currentBufferPtr);
-          }
-          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
-          currentBufferPtr = llhttp.malloc(currentBufferSize);
-        }
-        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
-        try {
-          let ret;
-          try {
-            currentBufferRef = data;
-            currentParser = this;
-            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
-          } catch (err) {
-            throw err;
-          } finally {
-            currentParser = null;
-            currentBufferRef = null;
-          }
-          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
-          if (ret === constants.ERROR.PAUSED_UPGRADE) {
-            this.onUpgrade(data.slice(offset));
-          } else if (ret === constants.ERROR.PAUSED) {
-            this.paused = true;
-            socket.unshift(data.slice(offset));
-          } else if (ret !== constants.ERROR.OK) {
-            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
-            let message = "";
-            if (ptr) {
-              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
-              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
-            }
-            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
-          }
-        } catch (err) {
-          util.destroy(socket, err);
-        }
+      close() {
+        return this.#agent.close();
       }
       destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
+        return this.#agent.destroy();
       }
-      onStatus(buf) {
-        this.statusText = buf.toString();
+    };
+    module2.exports = RetryAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
+    var util = require_util9();
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable2 {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        contentLength,
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kContentLength] = contentLength;
+        this[kReading] = false;
       }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
+        if (err) {
+          this[kAbort]();
         }
+        return super.destroy(err);
       }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
         } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+          callback(err);
         }
-        this.trackHeader(buf.length);
       }
-      onHeaderValue(buf) {
-        let len = this.headers.length;
-        if ((len & 1) === 1) {
-          this.headers.push(buf);
-          len += 1;
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        const key = this.headers[len - 2];
-        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        this.trackHeader(buf.length);
+        return super.on(ev, ...args);
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
-        }
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
-        try {
-          request2.onUpgrade(statusCode, headers, socket);
-        } catch (err) {
-          util.destroy(socket, err);
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        resume(client);
+        return ret;
       }
-      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
-        const { client, socket, headers, statusText } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
-        }
-        assert(!this.upgrade);
-        assert(this.statusCode < 200);
-        if (statusCode === 100) {
-          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
-          return -1;
-        }
-        if (upgrade && !request2.upgrade) {
-          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
-          return -1;
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
+      }
+      push(chunk) {
+        if (this[kConsume] && chunk !== null) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
         }
-        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
-        this.statusCode = statusCode;
-        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
-        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
-        if (this.statusCode >= 200) {
-          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
-          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+        return super.push(chunk);
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
           }
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        return this[kBody];
+      }
+      async dump(opts) {
+        let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024;
+        const signal = opts?.signal;
+        if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
+          throw new InvalidArgumentError("signal must be an AbortSignal");
         }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
+        return await new Promise((resolve6, reject) => {
+          if (this[kContentLength] > limit) {
+            this.destroy(new AbortError());
+          }
+          const onAbort = () => {
+            this.destroy(signal.reason ?? new AbortError());
+          };
+          signal?.addEventListener("abort", onAbort);
+          this.on("close", function() {
+            signal?.removeEventListener("abort", onAbort);
+            if (signal?.aborted) {
+              reject(signal.reason ?? new AbortError());
             } else {
-              client[kKeepAliveTimeoutValue] = timeout;
+              resolve6(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
             }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream2, type2) {
+      assert(!stream2[kConsume]);
+      return new Promise((resolve6, reject) => {
+        if (isUnusable(stream2)) {
+          const rState = stream2._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream2.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
           } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+            reject(rState.errored ?? new TypeError("unusable"));
           }
         } else {
-          socket[kReset] = true;
+          queueMicrotask(() => {
+            stream2[kConsume] = {
+              type: type2,
+              stream: stream2,
+              resolve: resolve6,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream2.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream2[kConsume]);
+          });
         }
-        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
-        if (request2.aborted) {
-          return -1;
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
+      }
+      const { _readableState: state } = consume2.stream;
+      if (state.bufferIndex) {
+        const start = state.bufferIndex;
+        const end = state.buffer.length;
+        for (let n = start; n < end; n++) {
+          consumePush(consume2, state.buffer[n]);
         }
-        if (request2.method === "HEAD") {
-          return 1;
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        if (statusCode < 200) {
-          return 1;
+      }
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
+      }
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
+      }
+    }
+    function chunksDecode(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return "";
+      }
+      const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
+      const bufferLength = buffer.length;
+      const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
+      return buffer.utf8Slice(start, bufferLength);
+    }
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
+      }
+      if (chunks.length === 1) {
+        return new Uint8Array(chunks[0]);
+      }
+      const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
+      let offset = 0;
+      for (let i = 0; i < chunks.length; ++i) {
+        const chunk = chunks[i];
+        buffer.set(chunk, offset);
+        offset += chunk.length;
+      }
+      return buffer;
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve6, stream: stream2, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve6(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve6(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve6(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve6(new Blob(body, { type: stream2[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve6(chunksConcat(body, length));
         }
-        if (socket[kBlocking]) {
-          socket[kBlocking] = false;
-          resume(client);
+        consumeFinish(consume2);
+      } catch (err) {
+        stream2.destroy(err);
+      }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
+      }
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
+      }
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+    module2.exports = { Readable: BodyReadable, chunksDecode };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
+      }
+      const stackTraceLimit = Error.stackTraceLimit;
+      Error.stackTraceLimit = 0;
+      let payload;
+      try {
+        if (isContentTypeApplicationJson(contentType)) {
+          payload = JSON.parse(chunksDecode(chunks, length));
+        } else if (isContentTypeText(contentType)) {
+          payload = chunksDecode(chunks, length);
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
+      }
+      queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)));
+    }
+    var isContentTypeApplicationJson = (contentType) => {
+      return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n";
+    };
+    var isContentTypeText = (contentType) => {
+      return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t";
+    };
+    module2.exports = {
+      getResolveErrorBodyCallback,
+      isContentTypeApplicationJson,
+      isContentTypeText
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
           }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
+          } else {
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable2({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        this.callback = null;
+        this.res = res;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body: res, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body: res,
+              context: context2
+            });
+          }
         }
       }
-    };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
+        }
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-    }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
       }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      this[kError] = err;
-      onError(this[kClient], err);
     }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
+      }
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-        }
-        this[kParser].destroy();
-        this[kParser] = null;
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
+        }
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      try {
-        const socket = await new Promise((resolve6, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve6(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
+          this.callback = null;
+          this.runInAsyncScope(
+            getResolveErrorBodyCallback,
+            null,
+            { callback, body: res, contentType, statusCode, statusMessage, headers }
+          );
+        } else {
+          if (factory === null) {
+            return;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          finished(res, { readable: false }, (err) => {
+            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
+            this.res = null;
+            if (err || !res2.readable) {
+              util.destroy(res2, err);
+            }
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
+        return needDrain !== true;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
           return;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
-          assert(client[kRunning] === 0);
-          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
-            const request2 = client[kQueue][client[kPendingIdx]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream2(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          stream2.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
       }
-      client[kResuming] = 2;
-      _resume(client, sync);
-      client[kResuming] = 0;
-      if (client[kRunningIdx] > 256) {
-        client[kQueue].splice(0, client[kRunningIdx]);
-        client[kPendingIdx] -= client[kRunningIdx];
-        client[kRunningIdx] = 0;
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    module2.exports = stream2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable: Readable2,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable2 {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
+      }
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
+        }
+      }
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
+      }
+    };
+    var PipelineResponse = class extends Readable2 {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
+      }
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        callback(err);
+      }
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
+        }
+        const { signal, method, opaque, onInfo, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
+        }
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        super("UNDICI_UPGRADE");
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.abort = null;
+        this.context = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = null;
+      }
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
+      }
+      onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
+      }
+      try {
+        const upgradeHandler = new UpgradeHandler(opts, callback);
+        this.dispatch({
+          ...opts,
+          method: opts.method || "GET",
+          upgrade: opts.protocol || "Websocket"
+        }, upgradeHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path11, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
       }
-      if (request2.aborted) {
-        return false;
-      }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
+    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _MockNotMatchedError);
+        this.name = "MockNotMatchedError";
+        this.message = message || "The request does not match any registered mock dispatches";
+        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path11} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      if (upgrade) {
-        header += `connection: upgrade\r
-upgrade: ${upgrade}\r
-`;
-      } else if (client[kPipelining] && !socket[kReset]) {
-        header += "connection: keep-alive\r\n";
-      } else {
-        header += "connection: close\r\n";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        if (contentLength === 0) {
-          socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-        } else {
-          assert(contentLength === null, "no body must not have content length");
-          socket.write(`${header}\r
-`, "latin1");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      return false;
+    }
+    function lowerCaseEntries(headers) {
+      return Object.fromEntries(
+        Object.entries(headers).map(([headerName, headerValue]) => {
+          return [headerName.toLocaleLowerCase(), headerValue];
+        })
+      );
+    }
+    function getHeaderByName(headers, key) {
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
+            return headers[i + 1];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+      }
+    }
+    function buildHeadersFromArray(headers) {
+      const clone = headers.slice();
+      const entries = [];
+      for (let index = 0; index < clone.length; index += 2) {
+        entries.push([clone[index], clone[index + 1]]);
       }
-      return true;
+      return Object.fromEntries(entries);
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path11, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
+        }
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
       }
-      if (request2.aborted) {
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream2;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream2 = session.request(headers, { endStream: false, signal });
-        if (stream2.id && !stream2.pending) {
-          request2.onUpgrade(null, null, stream2);
-          ++h2State.openStreams;
-        } else {
-          stream2.once("ready", () => {
-            request2.onUpgrade(null, null, stream2);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream2.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path11;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path11) {
+      if (typeof path11 !== "string") {
+        return path11;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path11.split("?");
+      if (pathSegments.length !== 2) {
+        return path11;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path11, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path11);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    function getMockDispatch(mockDispatches, key) {
+      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
+      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path11 }) => matchValue(safeUrl(path11), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
-        stream2.once("continue", writeBodyH2);
-      } else {
-        stream2 = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream2.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream2.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream2.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      stream2.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
+      }
+      return matchedMockDispatches[0];
+    }
+    function addMockDispatch(mockDispatches, key, data) {
+      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
+      const replyData = typeof data === "function" ? { callback: data } : { ...data };
+      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
+      mockDispatches.push(newMockDispatch);
+      return newMockDispatch;
+    }
+    function deleteMockDispatch(mockDispatches, key) {
+      const index = mockDispatches.findIndex((dispatch) => {
+        if (!dispatch.consumed) {
+          return false;
         }
+        return matchKey(dispatch, key);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream2.cork();
-          stream2.write(body);
-          stream2.uncork();
-          stream2.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream2,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream2,
-              header: "",
-              socket: client[kSocket]
-            });
-          }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream2,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream2,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
-        }
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
-      }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
+    function buildKey(opts) {
+      const { path: path11, method, body, headers, query } = opts;
+      return {
+        path: path11,
+        method,
+        body,
+        headers,
+        query
       };
-      const onFinished = function(err) {
-        if (finished) {
-          return;
-        }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
-          try {
-            writer.end();
-          } catch (er) {
-            err = er;
+    }
+    function generateKeyValues(data) {
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          result.push(name, Buffer.from(`${value}`));
         }
-      };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
       }
-      socket.on("drain", onDrain).on("error", onFinished);
+      return result;
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
+      return Buffer.concat(buffers).toString("utf8");
     }
-    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
-      let callback = null;
-      function onDrain() {
-        if (callback) {
-          const cb = callback;
-          callback = null;
-          cb();
-        }
+    function mockDispatch(opts, handler2) {
+      const key = buildKey(opts);
+      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
+      mockDispatch2.timesInvoked++;
+      if (mockDispatch2.data.callback) {
+        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
       }
-      const waitForDrain = () => new Promise((resolve6, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve6;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
       }
-    }
-    var AsyncWriter = class {
-      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
-        this.socket = socket;
-        this.request = request2;
-        this.contentLength = contentLength;
-        this.client = client;
-        this.bytesWritten = 0;
-        this.expectsPayload = expectsPayload;
-        this.header = header;
-        socket[kWriting] = true;
+      function resume() {
       }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
-        }
-        if (socket.destroyed) {
-          return false;
-        }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
-        }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          }
-          process.emitWarning(new RequestContentLengthMismatchError());
-        }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
-          }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
-          } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          }
-        }
-        if (contentLength === null) {
-          socket.write(`\r
-${len.toString(16)}\r
-`, "latin1");
-        }
-        this.bytesWritten += len;
-        const ret = socket.write(chunk);
-        socket.uncork();
-        request2.onBodySent(chunk);
-        if (!ret) {
-          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-            if (socket[kParser].timeout.refresh) {
-              socket[kParser].timeout.refresh();
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
+          try {
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
+              }
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
             }
           }
+        } else {
+          originalDispatch.call(this, opts, handler2);
         }
-        return ret;
-      }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
-        }
-        if (socket.destroyed) {
-          return;
-        }
-        if (bytesWritten === 0) {
-          if (expectsPayload) {
-            socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-          } else {
-            socket.write(`${header}\r
-`, "latin1");
-          }
-        } else if (contentLength === null) {
-          socket.write("\r\n0\r\n\r\n", "latin1");
-        }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
-          }
-        }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
-          }
-        }
-        resume(client);
-      }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
-        }
+      };
+    }
+    function checkNetConnect(netConnect, origin) {
+      const url2 = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
+        return true;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      return false;
+    }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
     }
-    module2.exports = Client;
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
     "use strict";
-    var kSize = 2048;
-    var kMask = kSize - 1;
-    var FixedCircularBuffer = class {
-      constructor() {
-        this.bottom = 0;
-        this.top = 0;
-        this.list = new Array(kSize);
-        this.next = null;
-      }
-      isEmpty() {
-        return this.top === this.bottom;
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      /**
+       * Delay a reply by a set amount in ms.
+       */
+      delay(waitInMs) {
+        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
+          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
+        }
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      shift() {
-        const nextItem = this.list[this.bottom];
-        if (nextItem === void 0)
-          return null;
-        this.list[this.bottom] = void 0;
-        this.bottom = this.bottom + 1 & kMask;
-        return nextItem;
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+        }
+        this[kMockDispatch].times = repeatTimes;
+        return this;
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
-      }
-      isEmpty() {
-        return this.head.isEmpty();
-      }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        this.head.push(data);
-      }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        return next;
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
+        }
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
+          } else {
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
+          }
+        }
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
+        }
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
+      createMockScopeDispatchData({ statusCode, data, responseOptions }) {
+        const responseData = getResponseData2(data);
+        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
+        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
+        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
+        return { statusCode, data, headers, trailers };
       }
-      get connected() {
-        return this[kPool][kConnected];
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
+        }
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
+          throw new InvalidArgumentError("responseOptions must be an object");
+        }
       }
-      get free() {
-        return this[kPool][kFree];
+      /**
+       * Mock an undici request with a defined reply.
+       */
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
+              throw new InvalidArgumentError("reply options callback must return an object");
+            }
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
+            return {
+              ...this.createMockScopeDispatchData(replyParameters2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
+        }
+        const replyParameters = {
+          statusCode: replyOptionsCallbackOrStatusCode,
+          data: arguments[1] === void 0 ? "" : arguments[1],
+          responseOptions: arguments[2] === void 0 ? {} : arguments[2]
+        };
+        this.validateReplyParameters(replyParameters);
+        const dispatchData = this.createMockScopeDispatchData(replyParameters);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
       }
-      get pending() {
-        return this[kPool][kPending];
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
+        }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
-      get queued() {
-        return this[kPool][kQueued];
+      /**
+       * Set default reply headers on the interceptor for subsequent replies
+       */
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
+        }
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-      get running() {
-        return this[kPool][kRunning];
+      /**
+       * Set default reply trailers on the interceptor for subsequent replies
+       */
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
+        }
+        this[kDefaultTrailers] = trailers;
+        return this;
       }
-      get size() {
-        return this[kPool][kSize];
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
     };
-    module2.exports = PoolStats;
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ Symbol("stats");
-    var PoolBase = class extends DispatcherBase {
-      constructor() {
-        super();
-        this[kQueue] = new FixedQueue();
-        this[kClients] = [];
-        this[kQueued] = 0;
-        const pool = this;
-        this[kOnDrain] = function onDrain(origin, targets) {
-          const queue = pool[kQueue];
-          let needDrain = false;
-          while (!needDrain) {
-            const item = queue.shift();
-            if (!item) {
-              break;
-            }
-            pool[kQueued]--;
-            needDrain = !this.dispatch(item.opts, item.handler);
-          }
-          this[kNeedDrain] = needDrain;
-          if (!this[kNeedDrain] && pool[kNeedDrain]) {
-            pool[kNeedDrain] = false;
-            pool.emit("drain", origin, [pool, ...targets]);
-          }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
-          }
-        };
-        this[kOnConnect] = (origin, targets) => {
-          pool.emit("connect", origin, [pool, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          pool.emit("disconnect", origin, [pool, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          pool.emit("connectionError", origin, [pool, ...targets], err);
-        };
-        this[kStats] = new PoolStats(this);
-      }
-      get [kBusy]() {
-        return this[kNeedDrain];
-      }
-      get [kConnected]() {
-        return this[kClients].filter((client) => client[kConnected]).length;
-      }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
-      }
-      get [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
-        }
-        return ret;
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        return ret;
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      get stats() {
-        return this[kStats];
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
       async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve6) => {
-            this[kClosedResolve] = resolve6;
-          });
-        }
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
+    };
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      [kDispatch](opts, handler2) {
-        const dispatcher = this[kGetDispatcher]();
-        if (!dispatcher) {
-          this[kNeedDrain] = true;
-          this[kQueue].push({ opts, handler: handler2 });
-          this[kQueued]++;
-        } else if (!dispatcher.dispatch(opts, handler2)) {
-          dispatcher[kNeedDrain] = true;
-          this[kNeedDrain] = !this[kGetDispatcher]();
-        }
-        return !this[kNeedDrain];
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      [kAddClient](client) {
-        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-        this[kClients].push(client);
-        if (this[kNeedDrain]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      [kRemoveClient](client) {
-        client.close(() => {
-          const idx = this[kClients].indexOf(client);
-          if (idx !== -1) {
-            this[kClients].splice(idx, 1);
-          }
-        });
-        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
-    }
-    var Pool = class extends PoolBase {
-      constructor(origin, {
-        connections,
-        factory = defaultFactory,
-        connect,
-        connectTimeout,
-        tls,
-        maxCachedSessions,
-        socketPath,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        allowH2,
-        ...options
-      } = {}) {
-        super();
-        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
-          throw new InvalidArgumentError("invalid connections");
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (typeof connect !== "function") {
-          connect = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
+    var singulars = {
+      pronoun: "it",
+      is: "is",
+      was: "was",
+      this: "this"
+    };
+    var plurals = {
+      pronoun: "they",
+      is: "are",
+      was: "were",
+      this: "these"
+    };
+    module2.exports = class Pluralizer {
+      constructor(singular, plural) {
+        this.singular = singular;
+        this.plural = plural;
+      }
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
+      }
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var { Console } = require("node:console");
+    var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
+    var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
+          }
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
           }
         });
       }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path11, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path11,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
     "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
     var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var BalancedPool = class extends PoolBase {
-      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
-        super();
-        this[kOptions] = opts;
-        this[kIndex] = -1;
-        this[kCurrentWeight] = 0;
-        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
-        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
-        if (!Array.isArray(upstreams)) {
-          upstreams = [upstreams];
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        this._updateBalancedPoolStats();
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      addUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
-          return this;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
-        this[kAddClient](pool);
-        pool.on("connect", () => {
-          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
-        });
-        pool.on("connectionError", () => {
-          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-          this._updateBalancedPoolStats();
-        });
-        pool.on("disconnect", (...args) => {
-          const err = args[2];
-          if (err && err.code === "UND_ERR_SOCKET") {
-            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-            this._updateBalancedPoolStats();
+        return dispatcher;
+      }
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
+      }
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
+      }
+      deactivate() {
+        this[kIsMockActive] = false;
+      }
+      activate() {
+        this[kIsMockActive] = true;
+      }
+      enableNetConnect(matcher) {
+        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
+          if (Array.isArray(this[kNetConnect])) {
+            this[kNetConnect].push(matcher);
+          } else {
+            this[kNetConnect] = [matcher];
           }
-        });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        this._updateBalancedPoolStats();
-        return this;
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      removeUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
-        if (pool) {
-          this[kRemoveClient](pool);
-        }
-        return this;
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      [kGetDispatcher]() {
-        if (this[kClients].length === 0) {
-          throw new BalancedPoolMissingUpstreamError();
-        }
-        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
-        if (!dispatcher) {
-          return;
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const client = this[kClients].get(origin);
+        if (client) {
+          return client;
         }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
         }
-        let counter = 0;
-        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
-        while (counter++ < this[kClients].length) {
-          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
-          const pool = this[kClients][this[kIndex]];
-          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
-            maxWeightIndex = this[kIndex];
-          }
-          if (this[kIndex] === 0) {
-            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
-            if (this[kCurrentWeight] <= 0) {
-              this[kCurrentWeight] = this[kMaxWeightPerServer];
-            }
-          }
-          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
-            return pool;
+        for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
         }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
-      }
-    };
-    module2.exports = BalancedPool;
-  }
-});
-
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
-    "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
       }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
+          return;
         }
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
     var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
-    var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    function defaultFactory(origin, opts) {
-      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    var Agent = class extends DispatcherBase {
-      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
-        super();
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
-        }
-        if (connect && typeof connect !== "function") {
-          connect = { ...connect };
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
-        );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
+    "use strict";
+    module2.exports = class DecoratorHandler {
+      #handler;
+      constructor(handler2) {
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
         }
-        return ret;
+        this.#handler = handler2;
       }
-      [kDispatch](opts, handler2) {
-        let key;
-        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
-          key = String(opts.origin);
-        } else {
-          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
-        }
-        return dispatcher.dispatch(opts, handler2);
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
-        }
-        await Promise.all(closePromises);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
-        }
-        await Promise.all(destroyPromises);
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
+      }
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
+      }
+      onHeaders(...args) {
+        return this.#handler.onHeaders?.(...args);
+      }
+      onData(...args) {
+        return this.#handler.onData?.(...args);
+      }
+      onComplete(...args) {
+        return this.#handler.onComplete?.(...args);
+      }
+      onBodySent(...args) {
+        return this.#handler.onBodySent?.(...args);
       }
     };
-    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable: Readable2 } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
+    var RedirectHandler = require_redirect_handler2();
+    module2.exports = (opts) => {
+      const globalMaxRedirections = opts?.maxRedirections;
+      return (dispatch) => {
+        return function redirectInterceptor(opts2, handler2) {
+          const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2;
+          if (!maxRedirections) {
+            return dispatch(opts2, handler2);
+          }
+          const redirectHandler = new RedirectHandler(
+            dispatch,
+            maxRedirections,
+            opts2,
+            handler2
+          );
+          return dispatch(baseOpts, redirectHandler);
+        };
+      };
     };
-    module2.exports = class BodyReadable extends Readable2 {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        highWaterMark = 64 * 1024
-        // Same as nodejs fs streams.
-      }) {
-        super({
-          autoDestroy: true,
-          read: resume,
-          highWaterMark
-        });
-        this._readableState.dataEmitted = false;
-        this[kAbort] = abort;
-        this[kConsume] = null;
-        this[kBody] = null;
-        this[kContentType] = contentType;
-        this[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    var DumpHandler = class extends DecoratorHandler {
+      #maxSize = 1024 * 1024;
+      #abort = null;
+      #dumped = false;
+      #aborted = false;
+      #size = 0;
+      #reason = null;
+      #handler = null;
+      constructor({ maxSize }, handler2) {
+        super(handler2);
+        if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
+          throw new InvalidArgumentError("maxSize must be a number greater than 0");
         }
-        return super.emit(ev, ...args);
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
       }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
+      onConnect(abort) {
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
       }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
       }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+      // TODO: will require adjustment after new hooks are out
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = util.parseHeaders(rawHeaders);
+        const contentLength = headers["content-length"];
+        if (contentLength != null && contentLength > this.#maxSize) {
+          throw new RequestAbortedError(
+            `Response size (${contentLength}) larger than maxSize (${this.#maxSize})`
+          );
         }
-        return ret;
-      }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
-      }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+        if (this.#aborted) {
+          return true;
         }
-        return super.push(chunk);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-text
-      async text() {
-        return consume(this, "text");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-json
-      async json() {
-        return consume(this, "json");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-blob
-      async blob() {
-        return consume(this, "blob");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
+      onError(err) {
+        if (this.#dumped) {
+          return;
+        }
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-body-body
-      get body() {
-        if (!this[kBody]) {
-          this[kBody] = ReadableStreamFrom(this);
-          if (this[kConsume]) {
-            this[kBody].getReader();
-            assert(this[kBody].locked);
+      onData(chunk) {
+        this.#size = this.#size + chunk.length;
+        if (this.#size >= this.#maxSize) {
+          this.#dumped = true;
+          if (this.#aborted) {
+            this.#handler.onError(this.#reason);
+          } else {
+            this.#handler.onComplete([]);
           }
         }
-        return this[kBody];
+        return true;
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        if (this.closed) {
-          return Promise.resolve(null);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
         }
-        return new Promise((resolve6, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve6(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
-            }
-          }).resume();
-        });
+        this.#handler.onComplete(trailers);
       }
     };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream2, type2) {
-      if (isUnusable(stream2)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream2[kConsume]);
-      return new Promise((resolve6, reject) => {
-        stream2[kConsume] = {
-          type: type2,
-          stream: stream2,
-          resolve: resolve6,
-          reject,
-          length: 0,
-          body: []
+    function createDumpInterceptor({ maxSize: defaultMaxSize } = {
+      maxSize: 1024 * 1024
+    }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { dumpMaxSize = defaultMaxSize } = opts;
+          const dumpHandler = new DumpHandler(
+            { maxSize: dumpMaxSize },
+            handler2
+          );
+          return dispatch(opts, dumpHandler);
         };
-        stream2.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
-          }
-        });
-        process.nextTick(consumeStart, stream2[kConsume]);
-      });
+      };
     }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
+    module2.exports = createDumpInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
+    "use strict";
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    var maxInt = Math.pow(2, 31) - 1;
+    var DNSInstance = class {
+      #maxTTL = 0;
+      #maxItems = 0;
+      #records = /* @__PURE__ */ new Map();
+      dualStack = true;
+      affinity = null;
+      lookup = null;
+      pick = null;
+      constructor(opts) {
+        this.#maxTTL = opts.maxTTL;
+        this.#maxItems = opts.maxItems;
+        this.dualStack = opts.dualStack;
+        this.affinity = opts.affinity;
+        this.lookup = opts.lookup ?? this.#defaultLookup;
+        this.pick = opts.pick ?? this.#defaultPick;
       }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
-        });
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
+        }
+        const newOpts = {
+          affinity: this.affinity,
+          dualStack: this.dualStack,
+          lookup: this.lookup,
+          pick: this.pick,
+          ...opts.dns,
+          maxTTL: this.#maxTTL,
+          maxItems: this.#maxItems
+        };
+        if (ips == null) {
+          this.lookup(origin, newOpts, (err, addresses) => {
+            if (err || addresses == null || addresses.length === 0) {
+              cb(err ?? new InformationalError("No DNS entries found"));
+              return;
+            }
+            this.setRecords(origin, addresses);
+            const records = this.#records.get(origin.hostname);
+            const ip = this.pick(
+              origin,
+              records,
+              newOpts.affinity
+            );
+            let port;
+            if (typeof ip.port === "number") {
+              port = `:${ip.port}`;
+            } else if (origin.port !== "") {
+              port = `:${origin.port}`;
+            } else {
+              port = "";
+            }
+            cb(
+              null,
+              `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+            );
+          });
+        } else {
+          const ip = this.pick(
+            origin,
+            ips,
+            newOpts.affinity
+          );
+          if (ip == null) {
+            this.#records.delete(origin.hostname);
+            this.runLookup(origin, opts, cb);
+            return;
+          }
+          let port;
+          if (typeof ip.port === "number") {
+            port = `:${ip.port}`;
+          } else if (origin.port !== "") {
+            port = `:${origin.port}`;
+          } else {
+            port = "";
+          }
+          cb(
+            null,
+            `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+          );
+        }
       }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
+      #defaultLookup(origin, opts, cb) {
+        lookup(
+          origin.hostname,
+          {
+            all: true,
+            family: this.dualStack === false ? this.affinity : 0,
+            order: "ipv4first"
+          },
+          (err, addresses) => {
+            if (err) {
+              return cb(err);
+            }
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
+          }
+        );
       }
-    }
-    function consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve6, stream: stream2, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve6(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve6(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+      #defaultPick(origin, hostnameRecords, affinity) {
+        let ip = null;
+        const { records, offset } = hostnameRecords;
+        let family;
+        if (this.dualStack) {
+          if (affinity == null) {
+            if (offset == null || offset === maxInt) {
+              hostnameRecords.offset = 0;
+              affinity = 4;
+            } else {
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
+            }
           }
-          resolve6(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve6(new Blob2(body, { type: stream2[kContentType] }));
+        } else {
+          family = records[affinity];
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream2.destroy(err);
+        if (family == null || family.ips.length === 0) {
+          return ip;
+        }
+        if (family.offset == null || family.offset === maxInt) {
+          family.offset = 0;
+        } else {
+          family.offset++;
+        }
+        const position = family.offset % family.ips.length;
+        ip = family.ips[position] ?? null;
+        if (ip == null) {
+          return ip;
+        }
+        if (Date.now() - ip.timestamp > ip.ttl) {
+          family.ips.splice(position, 1);
+          return this.pick(origin, hostnameRecords, affinity);
+        }
+        return ip;
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
+          }
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
+        }
+        this.#records.set(origin.hostname, records);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
+      }
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
+            }
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
+      };
     };
   }
 });
 
-// node_modules/undici/lib/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable2 = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
+    }
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
+      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
+    }
+    function fill(headers, object) {
+      if (Array.isArray(object)) {
+        for (let i = 0; i < object.length; ++i) {
+          const header = object[i];
+          if (header.length !== 2) {
+            throw webidl.errors.exception({
+              header: "Headers constructor",
+              message: `expected name/value pair to be length 2, found ${header.length}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } else if (typeof object === "object" && object !== null) {
+        const keys = Object.keys(object);
+        for (let i = 0; i < keys.length; ++i) {
+          appendHeader(headers, keys[i], object[keys[i]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+    }
+    function appendHeader(headers, name, value) {
+      value = headerValueNormalize(value);
+      if (!isValidHeaderName(name)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value: name,
+          type: "header name"
+        });
+      } else if (!isValidHeaderValue(value)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value,
+          type: "header value"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
-          }
-          return;
-        }
-        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-        const contentType = parsedHeaders["content-type"];
-        const body = new Readable2({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
+      if (getHeadersGuard(headers) === "immutable") {
+        throw new TypeError("immutable");
+      }
+      return getHeadersList(headers).append(name, value, false);
+    }
+    function compareHeaderName(a, b) {
+      return a[0] < b[0] ? -1 : 1;
+    }
+    var HeadersList = class _HeadersList {
+      /** @type {[string, string][]|null} */
+      cookies = null;
+      constructor(init) {
+        if (init instanceof _HeadersList) {
+          this[kHeadersMap] = new Map(init[kHeadersMap]);
+          this[kHeadersSortedMap] = init[kHeadersSortedMap];
+          this.cookies = init.cookies === null ? null : [...init.cookies];
+        } else {
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @see https://fetch.spec.whatwg.org/#header-list-contains
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      contains(name, isLowerCase) {
+        return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-append
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      append(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
           });
+        } else {
+          this[kHeadersMap].set(lowercaseName, { name, value });
         }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-set
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      set(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
+        }
+        this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        if (!isLowerCase) name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-get
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       * @returns {string | null}
+       */
+      get(name, isLowerCase) {
+        return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
+      }
+      *[Symbol.iterator]() {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+          yield [name, value];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
-        }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
         }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      get entriesList() {
+        const headers = [];
+        if (this[kHeadersMap].size !== 0) {
+          for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) {
+            if (lowerName === "set-cookie") {
+              for (const cookie of this.cookies) {
+                headers.push([name, cookie]);
+              }
+            } else {
+              headers.push([name, value]);
+            }
           }
-          return;
         }
-        this.factory = null;
-        let res;
-        if (this.throwOnError && statusCode >= 400) {
-          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-          const contentType = parsedHeaders["content-type"];
-          res = new PassThrough();
-          this.callback = null;
-          this.runInAsyncScope(
-            getResolveErrorBodyCallback,
-            null,
-            { callback, body: res, contentType, statusCode, statusMessage, headers }
-          );
-        } else {
-          if (factory === null) {
-            return;
-          }
-          res = this.runInAsyncScope(factory, null, {
-            statusCode,
-            headers,
-            opaque,
-            context: context2
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        return headers;
+      }
+      // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set
+      toSortedArray() {
+        const size = this[kHeadersMap].size;
+        const array = new Array(size);
+        if (size <= 32) {
+          if (size === 0) {
+            return array;
           }
-          finished(res, { readable: false }, (err) => {
-            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
-            this.res = null;
-            if (err || !res2.readable) {
-              util.destroy(res2, err);
+          const iterator2 = this[kHeadersMap][Symbol.iterator]();
+          const firstValue = iterator2.next().value;
+          array[0] = [firstValue[0], firstValue[1].value];
+          assert(firstValue[1].value !== null);
+          for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) {
+            value = iterator2.next().value;
+            x = array[i] = [value[0], value[1].value];
+            assert(x[1] !== null);
+            left = 0;
+            right = i;
+            while (left < right) {
+              pivot = left + (right - left >> 1);
+              if (array[pivot][0] <= x[0]) {
+                left = pivot + 1;
+              } else {
+                right = pivot;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream2(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          stream2.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream2;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable: Readable2,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable2 {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
-      }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
+          }
+          if (!iterator2.next().done) {
+            throw new TypeError("Unreachable");
+          }
+          return array;
+        } else {
+          let i = 0;
+          for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+            array[i++] = [name, value];
+            assert(value !== null);
+          }
+          return array.sort(compareHeaderName);
         }
       }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
-      }
     };
-    var PipelineResponse = class extends Readable2 {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
-      }
-      _read() {
-        this[kResume]();
-      }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+    var Headers = class _Headers {
+      #guard;
+      #headersList;
+      constructor(init = void 0) {
+        webidl.util.markAsUncloneable(this);
+        if (init === kConstruct) {
+          return;
+        }
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
+          fill(this, init);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
+          });
         }
-        if (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        const { signal, method, opaque, onInfo, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        this.#headersList.delete(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        return this.#headersList.get(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value,
+            type: "header value"
+          });
         }
-        this.abort = abort;
-        this.context = context2;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        for (let i = 0; i < names.length; ++i) {
+          const { 0: name, 1: value } = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
+            }
+          } else {
+            headers.push([name, value]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    function pipeline(opts, handler2) {
-      try {
-        const pipelineHandler = new PipelineHandler(opts, handler2);
-        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
-        return pipelineHandler.ret;
-      } catch (err) {
-        return new PassThrough().destroy(err);
+    var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers;
+    Reflect.deleteProperty(Headers, "getHeadersGuard");
+    Reflect.deleteProperty(Headers, "setHeadersGuard");
+    Reflect.deleteProperty(Headers, "getHeadersList");
+    Reflect.deleteProperty(Headers, "setHeadersList");
+    iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1);
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-    }
-    module2.exports = pipeline;
+    });
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object") {
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
+        }
+        if (typeof iterator2 === "function") {
+          return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V));
+        }
+        return webidl.converters["record"](V, prefix, argument);
+      }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
+    };
+    module2.exports = {
+      fill,
+      // for test.
+      compareHeaderName,
+      Headers,
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
+    };
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { types } = require("node:util");
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
+        return responseObject;
+      }
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url2, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url2 = webidl.converters.USVString(url2);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url2, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url2}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      try {
-        const upgradeHandler = new UpgradeHandler(opts, callback);
-        this.dispatch({
-          ...opts,
-          method: opts.method || "GET",
-          upgrade: opts.protocol || "Websocket"
-        }, upgradeHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url2 = urlList[urlList.length - 1] ?? null;
+        if (url2 === null) {
+          return "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url2, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        removeSignal(this);
-        this.callback = null;
-        let headers = rawHeaders;
-        if (headers != null) {
-          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        }
-        this.runInAsyncScope(callback, null, null, {
-          statusCode,
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      }
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (bodyUnusable(this)) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        const clonedResponse = cloneResponse(this[kState]);
+        if (hasFinalizationRegistry && this[kState].body?.stream) {
+          streamRegistry.register(this, new WeakRef(this[kState].body.stream));
+        }
+        return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    mixinBody(Response);
+    Object.defineProperties(Response.prototype, {
+      type: kEnumerableProperty,
+      url: kEnumerableProperty,
+      status: kEnumerableProperty,
+      ok: kEnumerableProperty,
+      redirected: kEnumerableProperty,
+      statusText: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Response",
+        configurable: true
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    function makeResponse(init) {
+      return {
+        aborted: false,
+        rangeRequested: false,
+        timingAllowPassed: false,
+        requestIncludesCredentials: false,
+        type: "default",
+        status: 200,
+        timingInfo: null,
+        cacheState: "",
+        statusText: "",
+        ...init,
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
+      };
+    }
+    function makeNetworkError(reason) {
+      const isError = isErrorLike(reason);
+      return makeResponse({
+        type: "error",
+        status: 0,
+        error: isError ? reason : new Error(reason ? String(reason) : reason),
+        aborted: reason && reason.name === "AbortError"
+      });
+    }
+    function isNetworkError(response) {
+      return (
+        // A network error is a response whose type is "error",
+        response.type === "error" && // status is 0
+        response.status === 0
       );
     }
-    function getHeaderByName(headers, key) {
-      if (Array.isArray(headers)) {
-        for (let i = 0; i < headers.length; i += 2) {
-          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
-            return headers[i + 1];
-          }
+    function makeFilteredResponse(response, state) {
+      state = {
+        internalResponse: response,
+        ...state
+      };
+      return new Proxy(response, {
+        get(target, p) {
+          return p in state ? state[p] : target[p];
+        },
+        set(target, p, value) {
+          assert(!(p in state));
+          target[p] = value;
+          return true;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    function buildHeadersFromArray(headers) {
-      const clone = headers.slice();
-      const entries = [];
-      for (let index = 0; index < clone.length; index += 2) {
-        entries.push([clone[index], clone[index + 1]]);
-      }
-      return Object.fromEntries(entries);
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
     }
-    function matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path11) {
-      if (typeof path11 !== "string") {
-        return path11;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path11.split("?");
-      if (pathSegments.length !== 2) {
-        return path11;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
-    }
-    function matchKey(mockDispatch2, { path: path11, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path11);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
     }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
       }
+      return response;
     }
-    function getMockDispatch(mockDispatches, key) {
-      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
-      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
-      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path11 }) => matchValue(safeUrl(path11), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      return matchedMockDispatches[0];
-    }
-    function addMockDispatch(mockDispatches, key, data) {
-      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
-      const replyData = typeof data === "function" ? { callback: data } : { ...data };
-      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
-      mockDispatches.push(newMockDispatch);
-      return newMockDispatch;
-    }
-    function deleteMockDispatch(mockDispatches, key) {
-      const index = mockDispatches.findIndex((dispatch) => {
-        if (!dispatch.consumed) {
-          return false;
-        }
-        return matchKey(dispatch, key);
-      });
-      if (index !== -1) {
-        mockDispatches.splice(index, 1);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path11, method, body, headers, query } = opts;
-      return {
-        path: path11,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      return webidl.converters.DOMString(V, prefix, name);
+    };
+    webidl.converters.BodyInit = function(V, prefix, argument) {
+      if (V instanceof ReadableStream) {
+        return webidl.converters.ReadableStream(V, prefix, argument);
       }
-      return Buffer.concat(buffers).toString("utf8");
-    }
-    function mockDispatch(opts, handler2) {
-      const key = buildKey(opts);
-      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
-      mockDispatch2.timesInvoked++;
-      if (mockDispatch2.data.callback) {
-        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
+    };
+    webidl.converters.ResponseInit = webidl.dictionaryConverter([
+      {
+        key: "status",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 200
+      },
+      {
+        key: "statusText",
+        converter: webidl.converters.ByteString,
+        defaultValue: () => ""
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
       }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      return true;
-    }
-    function buildMockDispatch() {
-      const agent = this[kMockAgent];
-      const origin = this[kOrigin];
-      const originalDispatch = this[kOriginalDispatch];
-      return function dispatch(opts, handler2) {
-        if (agent.isMockActive) {
-          try {
-            mockDispatch.call(this, opts, handler2);
-          } catch (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
-              }
-              if (checkNetConnect(netConnect, origin)) {
-                originalDispatch.call(this, opts, handler2);
-              } else {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } else {
-          originalDispatch.call(this, opts, handler2);
+          });
         }
-      };
-    }
-    function checkNetConnect(netConnect, origin) {
-      const url2 = new URL(origin);
-      if (netConnect === true) {
-        return true;
-      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
-        return true;
       }
-      return false;
-    }
-    function buildMockOptions(opts) {
-      if (opts) {
-        const { agent, ...mockOptions } = opts;
-        return mockOptions;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) {
+        process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
+      }
+      return { WeakRef, FinalizationRegistry };
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    var MockScope = class {
-      constructor(mockDispatch) {
-        this[kMockDispatch] = mockDispatch;
-      }
-      /**
-       * Delay a reply by a set amount in ms.
-       */
-      delay(waitInMs) {
-        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
-          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var dependentControllerMap = /* @__PURE__ */ new WeakMap();
+    function buildAbort(acRef) {
+      return abort;
+      function abort() {
+        const ac = acRef.deref();
+        if (ac !== void 0) {
+          requestFinalizer.unregister(abort);
+          this.removeEventListener("abort", abort);
+          ac.abort(this.reason);
+          const controllerList = dependentControllerMap.get(ac.signal);
+          if (controllerList !== void 0) {
+            if (controllerList.size !== 0) {
+              for (const ref of controllerList) {
+                const ctrl = ref.deref();
+                if (ctrl !== void 0) {
+                  ctrl.abort(this.reason);
+                }
+              }
+              controllerList.clear();
+            }
+            dependentControllerMap.delete(ac.signal);
+          }
         }
-        this[kMockDispatch].delay = waitInMs;
-        return this;
-      }
-      /**
-       * For a defined reply, never mark as consumed.
-       */
-      persist() {
-        this[kMockDispatch].persist = true;
-        return this;
       }
-      /**
-       * Allow one to define a reply for a set amount of matching requests.
-       */
-      times(repeatTimes) {
-        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
-          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+    }
+    var patchMethodWarning = false;
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (input === kConstruct) {
+          return;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        const prefix = "Request constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        input = webidl.converters.RequestInfo(input, prefix, "input");
+        init = webidl.converters.RequestInit(init, prefix, "init");
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } catch (err) {
+            throw new TypeError("Failed to parse URL from " + input, { cause: err });
+          }
+          if (parsedURL.username || parsedURL.password) {
+            throw new TypeError(
+              "Request cannot be constructed from a URL that includes credentials: " + input
+            );
+          }
+          request2 = makeRequest({ urlList: [parsedURL] });
+          fallbackMode = "cors";
+        } else {
+          this[kDispatcher] = init.dispatcher || input[kDispatcher];
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "no-window";
+        }
+        request2 = makeRequest({
+          // URL request’s URL.
+          // undici implementation note: this is set as the first item in request's urlList in makeRequest
+          // method request’s method.
+          method: request2.method,
+          // header list A copy of request’s header list.
+          // undici implementation note: headersList is cloned in makeRequest
+          headersList: request2.headersList,
+          // unsafe-request flag Set.
+          unsafeRequest: request2.unsafeRequest,
+          // client This’s relevant settings object.
+          client: environmentSettingsObject.settingsObject,
+          // window window.
+          window: window2,
+          // priority request’s priority.
+          priority: request2.priority,
+          // origin request’s origin. The propagation of the origin is only significant for navigation requests
+          // being handled by a service worker. In this scenario a request can have an origin that is different
+          // from the current client.
+          origin: request2.origin,
+          // referrer request’s referrer.
+          referrer: request2.referrer,
+          // referrer policy request’s referrer policy.
+          referrerPolicy: request2.referrerPolicy,
+          // mode request’s mode.
+          mode: request2.mode,
+          // credentials mode request’s credentials mode.
+          credentials: request2.credentials,
+          // cache mode request’s cache mode.
+          cache: request2.cache,
+          // redirect mode request’s redirect mode.
+          redirect: request2.redirect,
+          // integrity metadata request’s integrity metadata.
+          integrity: request2.integrity,
+          // keepalive request’s keepalive.
+          keepalive: request2.keepalive,
+          // reload-navigation flag request’s reload-navigation flag.
+          reloadNavigation: request2.reloadNavigation,
+          // history-navigation flag request’s history-navigation flag.
+          historyNavigation: request2.historyNavigation,
+          // URL list A clone of request’s URL list.
+          urlList: [...request2.urlList]
+        });
+        const initHasKey = Object.keys(init).length !== 0;
+        if (initHasKey) {
+          if (request2.mode === "navigate") {
+            request2.mode = "same-origin";
+          }
+          request2.reloadNavigation = false;
+          request2.historyNavigation = false;
+          request2.origin = "client";
+          request2.referrer = "client";
+          request2.referrerPolicy = "";
+          request2.url = request2.urlList[request2.urlList.length - 1];
+          request2.urlList = [request2.url];
+        }
+        if (init.referrer !== void 0) {
+          const referrer = init.referrer;
+          if (referrer === "") {
+            request2.referrer = "no-referrer";
           } else {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            let parsedReferrer;
+            try {
+              parsedReferrer = new URL(referrer, baseUrl);
+            } catch (err) {
+              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
+            }
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
+              request2.referrer = "client";
+            } else {
+              request2.referrer = parsedReferrer;
+            }
           }
         }
-        if (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        let mode;
+        if (init.mode !== void 0) {
+          mode = init.mode;
+        } else {
+          mode = fallbackMode;
+        }
+        if (mode === "navigate") {
+          throw webidl.errors.exception({
+            header: "Request constructor",
+            message: "invalid request mode navigate."
+          });
+        }
+        if (mode != null) {
+          request2.mode = mode;
+        }
+        if (init.credentials !== void 0) {
+          request2.credentials = init.credentials;
+        }
+        if (init.cache !== void 0) {
+          request2.cache = init.cache;
+        }
+        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
+          throw new TypeError(
+            "'only-if-cached' can be set only with 'same-origin' mode"
+          );
+        }
+        if (init.redirect !== void 0) {
+          request2.redirect = init.redirect;
+        }
+        if (init.integrity != null) {
+          request2.integrity = String(init.integrity);
+        }
+        if (init.keepalive !== void 0) {
+          request2.keepalive = Boolean(init.keepalive);
+        }
+        if (init.method !== void 0) {
+          let method = init.method;
+          const mayBeNormalized = normalizedMethodRecords[method];
+          if (mayBeNormalized !== void 0) {
+            request2.method = mayBeNormalized;
+          } else {
+            if (!isValidHTTPToken(method)) {
+              throw new TypeError(`'${method}' is not a valid HTTP method.`);
+            }
+            const upperCase = method.toUpperCase();
+            if (forbiddenMethodsSet.has(upperCase)) {
+              throw new TypeError(`'${method}' HTTP method is unsupported.`);
+            }
+            method = normalizedMethodRecordsBase[upperCase] ?? method;
+            request2.method = method;
+          }
+          if (!patchMethodWarning && request2.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"
+            });
+            patchMethodWarning = true;
+          }
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            throw new TypeError(
+              "Failed to construct 'Request': member signal is not of type AbortSignal."
+            );
+          }
+          if (signal.aborted) {
+            ac.abort(signal.reason);
+          } else {
+            this[kAbortController] = ac;
+            const acRef = new WeakRef(ac);
+            const abort = buildAbort(acRef);
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort }, abort);
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersList(this[kHeaders], request2.headersList);
+        setHeadersGuard(this[kHeaders], "request");
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          setHeadersGuard(this[kHeaders], "request-no-cors");
+        }
+        if (initHasKey) {
+          const headersList = getHeadersList(this[kHeaders]);
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
+            }
+            headersList.cookies = headers.cookies;
+          } else {
+            fillHeaders(this[kHeaders], headers);
+          }
+        }
+        const inputBody = input instanceof _Request ? input[kState].body : null;
+        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
+          throw new TypeError("Request with GET/HEAD method cannot have body.");
+        }
+        let initBody = null;
+        if (init.body != null) {
+          const [extractedBody, contentType] = extractBody(
+            init.body,
+            request2.keepalive
+          );
+          initBody = extractedBody;
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
+            this[kHeaders].append("content-type", contentType);
+          }
+        }
+        const inputOrInitBody = initBody ?? inputBody;
+        if (inputOrInitBody != null && inputOrInitBody.source == null) {
+          if (initBody != null && init.duplex == null) {
+            throw new TypeError("RequestInit: duplex option is required when sending a body.");
+          }
+          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
+            throw new TypeError(
+              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
+            );
+          }
+          request2.useCORSPreflightFlag = true;
+        }
+        let finalBody = inputOrInitBody;
+        if (initBody == null && inputBody != null) {
+          if (bodyUnusable(input)) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          const identityTransform = new TransformStream();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
+        }
+        this[kState].body = finalBody;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
-        const responseData = getResponseData2(data);
-        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
-        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
-        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
-        return { statusCode, data, headers, trailers };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
+      }
+      // Returns a Headers object consisting of the headers associated with request.
+      // Note that headers added in the network layer by the user agent will not
+      // be accounted for in this object, e.g., the "Host" header.
+      get headers() {
+        webidl.brandCheck(this, _Request);
+        return this[kHeaders];
+      }
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
+      }
+      // Returns the referrer of request. Its value can be a same-origin URL if
+      // explicitly set in init, the empty string to indicate no referrer, and
+      // "about:client" when defaulting to the global’s default. This is used
+      // during fetching to determine the value of the `Referer` header of the
+      // request being made.
+      get referrer() {
+        webidl.brandCheck(this, _Request);
+        if (this[kState].referrer === "no-referrer") {
+          return "";
         }
-        if (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // Returns the referrer policy associated with request.
+      // This is used during fetching to compute the value of the request’s
+      // referrer.
+      get referrerPolicy() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].referrerPolicy;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // Returns the mode associated with request, which is a string indicating
+      // whether the request will use CORS, or will be restricted to same-origin
+      // URLs.
+      get mode() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].mode;
       }
-      /**
-       * Set default reply headers on the interceptor for subsequent replies
-       */
-      defaultReplyHeaders(headers) {
-        if (typeof headers === "undefined") {
-          throw new InvalidArgumentError("headers must be defined");
-        }
-        this[kDefaultHeaders] = headers;
-        return this;
+      // Returns the credentials mode associated with request,
+      // which is a string indicating whether credentials will be sent with the
+      // request always, never, or only when sent to a same-origin URL.
+      get credentials() {
+        return this[kState].credentials;
       }
-      /**
-       * Set default reply trailers on the interceptor for subsequent replies
-       */
-      defaultReplyTrailers(trailers) {
-        if (typeof trailers === "undefined") {
-          throw new InvalidArgumentError("trailers must be defined");
-        }
-        this[kDefaultTrailers] = trailers;
-        return this;
+      // Returns the cache mode associated with request,
+      // which is a string indicating how the request will
+      // interact with the browser’s cache when fetching.
+      get cache() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].cache;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // Returns the redirect mode associated with request,
+      // which is a string indicating how redirects for the
+      // request will be handled during fetching. A request
+      // will follow redirects by default.
+      get redirect() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].redirect;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns request’s subresource integrity metadata, which is a
+      // cryptographic hash of the resource being fetched. Its value
+      // consists of multiple hashes separated by whitespace. [SRI]
+      get integrity() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].integrity;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // Returns a boolean indicating whether or not request can outlive the
+      // global in which it was created.
+      get keepalive() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].keepalive;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-forward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns the signal associated with request, which is an AbortSignal
+      // object indicating whether or not request has been aborted, and its
+      // abort event handler.
+      get signal() {
+        webidl.brandCheck(this, _Request);
+        return this[kSignal];
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
-    "use strict";
-    var singulars = {
-      pronoun: "it",
-      is: "is",
-      was: "was",
-      this: "this"
-    };
-    var plurals = {
-      pronoun: "they",
-      is: "are",
-      was: "were",
-      this: "these"
-    };
-    module2.exports = class Pluralizer {
-      constructor(singular, plural) {
-        this.singular = singular;
-        this.plural = plural;
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (bodyUnusable(this)) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          let list = dependentControllerMap.get(this.signal);
+          if (list === void 0) {
+            list = /* @__PURE__ */ new Set();
+            dependentControllerMap.set(this.signal, list);
+          }
+          const acRef = new WeakRef(ac);
+          list.add(acRef);
+          util.addAbortListener(
+            ac.signal,
+            buildAbort(acRef)
+          );
+        }
+        return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    mixinBody(Request);
+    function makeRequest(init) {
+      return {
+        method: init.method ?? "GET",
+        localURLsOnly: init.localURLsOnly ?? false,
+        unsafeRequest: init.unsafeRequest ?? false,
+        body: init.body ?? null,
+        client: init.client ?? null,
+        reservedClient: init.reservedClient ?? null,
+        replacesClientId: init.replacesClientId ?? "",
+        window: init.window ?? "client",
+        keepalive: init.keepalive ?? false,
+        serviceWorkers: init.serviceWorkers ?? "all",
+        initiator: init.initiator ?? "",
+        destination: init.destination ?? "",
+        priority: init.priority ?? null,
+        origin: init.origin ?? "client",
+        policyContainer: init.policyContainer ?? "client",
+        referrer: init.referrer ?? "client",
+        referrerPolicy: init.referrerPolicy ?? "",
+        mode: init.mode ?? "no-cors",
+        useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
+        credentials: init.credentials ?? "same-origin",
+        useCredentials: init.useCredentials ?? false,
+        cache: init.cache ?? "default",
+        redirect: init.redirect ?? "follow",
+        integrity: init.integrity ?? "",
+        cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "",
+        parserMetadata: init.parserMetadata ?? "",
+        reloadNavigation: init.reloadNavigation ?? false,
+        historyNavigation: init.historyNavigation ?? false,
+        userActivation: init.userActivation ?? false,
+        taintedOrigin: init.taintedOrigin ?? false,
+        redirectCount: init.redirectCount ?? 0,
+        responseTainting: init.responseTainting ?? "basic",
+        preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
+        done: init.done ?? false,
+        timingAllowFailed: init.timingAllowFailed ?? false,
+        urlList: init.urlList,
+        url: init.urlList[0],
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(newRequest, request2.body);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path11, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path11,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      return newRequest;
+    }
+    function fromInnerRequest(innerRequest, signal, guard) {
+      const request2 = new Request(kConstruct);
+      request2[kState] = innerRequest;
+      request2[kSignal] = signal;
+      request2[kHeaders] = new Headers(kConstruct);
+      setHeadersList(request2[kHeaders], innerRequest.headersList);
+      setHeadersGuard(request2[kHeaders], guard);
+      return request2;
+    }
+    Object.defineProperties(Request.prototype, {
+      method: kEnumerableProperty,
+      url: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      signal: kEnumerableProperty,
+      duplex: kEnumerableProperty,
+      destination: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      isHistoryNavigation: kEnumerableProperty,
+      isReloadNavigation: kEnumerableProperty,
+      keepalive: kEnumerableProperty,
+      integrity: kEnumerableProperty,
+      cache: kEnumerableProperty,
+      credentials: kEnumerableProperty,
+      attribute: kEnumerableProperty,
+      referrerPolicy: kEnumerableProperty,
+      referrer: kEnumerableProperty,
+      mode: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Request",
+        configurable: true
+      }
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, argument);
+      }
+      if (V instanceof Request) {
+        return webidl.converters.Request(V, prefix, argument);
       }
+      return webidl.converters.USVString(V, prefix, argument);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    webidl.converters.AbortSignal = webidl.interfaceConverter(
+      AbortSignal
+    );
+    webidl.converters.RequestInit = webidl.dictionaryConverter([
+      {
+        key: "method",
+        converter: webidl.converters.ByteString
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      },
+      {
+        key: "body",
+        converter: webidl.nullableConverter(
+          webidl.converters.BodyInit
+        )
+      },
+      {
+        key: "referrer",
+        converter: webidl.converters.USVString
+      },
+      {
+        key: "referrerPolicy",
+        converter: webidl.converters.DOMString,
+        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
+        allowedValues: referrerPolicy
+      },
+      {
+        key: "mode",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#concept-request-mode
+        allowedValues: requestMode
+      },
+      {
+        key: "credentials",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcredentials
+        allowedValues: requestCredentials
+      },
+      {
+        key: "cache",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcache
+        allowedValues: requestCache
+      },
+      {
+        key: "redirect",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestredirect
+        allowedValues: requestRedirect
+      },
+      {
+        key: "integrity",
+        converter: webidl.converters.DOMString
+      },
+      {
+        key: "keepalive",
+        converter: webidl.converters.boolean
+      },
+      {
+        key: "signal",
+        converter: webidl.nullableConverter(
+          (signal) => webidl.converters.AbortSignal(
+            signal,
+            "RequestInit",
+            "signal",
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib2 = require("node:zlib");
+    var {
+      bytesMatch,
+      makePolicyContainer,
+      clonePolicyContainer,
+      requestBadPort,
+      TAOCheck,
+      appendRequestOriginHeader,
+      responseLocationURL,
+      requestCurrentURL,
+      setRequestReferrerPolicyOnRedirect,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      createOpaqueTimingInfo,
+      appendFetchMetadata,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      determineRequestsReferrer,
+      coarsenedSharedCurrentTime,
+      createDeferredPromise,
+      isBlobLike,
+      sameOrigin,
+      isCancelled,
+      isAborted,
+      isErrorLike,
+      fullyReadBody,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlIsHttpHttpsScheme,
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
+    } = require_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable: Readable2, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    var { STATUS_CODES } = require("node:http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
+    var resolveObjectURL;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        return dispatcher;
-      }
-      dispatch(opts, handler2) {
-        this.get(opts.origin);
-        return this[kAgent].dispatch(opts, handler2);
-      }
-      async close() {
-        await this[kAgent].close();
-        this[kClients].clear();
-      }
-      deactivate() {
-        this[kIsMockActive] = false;
-      }
-      activate() {
-        this[kIsMockActive] = true;
-      }
-      enableNetConnect(matcher) {
-        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
-          if (Array.isArray(this[kNetConnect])) {
-            this[kNetConnect].push(matcher);
-          } else {
-            this[kNetConnect] = [matcher];
-          }
-        } else if (typeof matcher === "undefined") {
-          this[kNetConnect] = true;
-        } else {
-          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      disableNetConnect() {
-        this[kNetConnect] = false;
-      }
-      // This is required to bypass issues caused by using global symbols - see:
-      // https://github.com/nodejs/undici/issues/1447
-      get isMockActive() {
-        return this[kIsMockActive];
+    };
+    function handleFetchDone(response) {
+      finalizeAndReportTiming(response, "fetch");
+    }
+    function fetch(input, init = void 0) {
+      webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
+      let p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      let responseObject = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return;
+        }
+        if (response.type === "error") {
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
+      };
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: requestObject[kDispatcher]
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
+        return;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
-        const pending = this.pendingInterceptors();
-        if (pending.length === 0) {
-          return;
-        }
-        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
-        throw new UndiciError(`
-${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
-
-${pendingInterceptorsFormatter.format(pending)}
-`.trim());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        if (opts.auth && opts.token) {
-          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
-        } else if (opts.auth) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
-        } else if (opts.token) {
-          this[kProxyHeaders]["proxy-authorization"] = opts.token;
-        } else if (username && password) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
-        }
-        const connect = buildConnector({ ...opts.proxyTls });
-        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).destroy();
-                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
-              }
-              if (opts2.protocol !== "https:") {
-                callback(null, socket);
-                return;
-              }
-              let servername;
-              if (this[kRequestTls]) {
-                servername = this[kRequestTls].servername;
-              } else {
-                servername = opts2.servername;
-              }
-              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
-            } catch (err) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher = getGlobalDispatcher()
+      // undici
+    }) {
+      assert(dispatcher);
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currentTime
+      });
+      const fetchParams = {
+        controller: new Fetch(dispatcher),
+        request: request2,
+        timingInfo,
+        processRequestBodyChunkLength,
+        processRequestEndOfBody,
+        processResponse,
+        processResponseConsumeBody,
+        processResponseEndOfBody,
+        taskDestination,
+        crossOriginIsolatedCapability
+      };
+      assert(!request2.body || request2.body.stream);
+      if (request2.window === "client") {
+        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        return headersPair;
       }
-      return headers;
-    }
-    function throwIfProxyAuthIsSent(headers) {
-      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
-      if (existProxyAuth) {
-        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    var RetryHandler = class _RetryHandler {
-      constructor(opts, handlers) {
-        const { retryOptions, ...dispatchOpts } = opts;
-        const {
-          // Retry scoped
-          retry: retryFn,
-          maxRetries,
-          maxTimeout,
-          minTimeout,
-          timeoutFactor,
-          // Response scoped
-          methods,
-          errorCodes,
-          retryAfter,
-          statusCodes
-        } = retryOptions ?? {};
-        this.dispatch = handlers.dispatch;
-        this.handler = handlers.handler;
-        this.opts = dispatchOpts;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: minTimeout ?? 500,
-          // .5s
-          timeoutFactor: timeoutFactor ?? 2,
-          maxRetries: maxRetries ?? 5,
-          // What errors we should retry
-          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
-          // Indicates which errors to retry
-          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
-          // List of errors to retry
-          errorCodes: errorCodes ?? [
-            "ECONNRESET",
-            "ECONNREFUSED",
-            "ENOTFOUND",
-            "ENETDOWN",
-            "ENETUNREACH",
-            "EHOSTDOWN",
-            "EHOSTUNREACH",
-            "EPIPE"
-          ]
-        };
-        this.retryCount = 0;
-        this.start = 0;
-        this.end = null;
-        this.etag = null;
-        this.resume = null;
-        this.handler.onConnect((reason) => {
-          this.aborted = true;
-          if (this.abort) {
-            this.abort(reason);
-          } else {
-            this.reason = reason;
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
+      }
+      if (request2.priority === null) {
+      }
+      if (subresourceSet.has(request2.destination)) {
+      }
+      mainFetch(fetchParams).catch((err) => {
+        fetchParams.controller.terminate(err);
+      });
+      return fetchParams.controller;
+    }
+    async function mainFetch(fetchParams, recursive = false) {
+      const request2 = fetchParams.request;
+      let response = null;
+      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
+        response = makeNetworkError("local URLs only");
+      }
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
+      }
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
+      }
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
+      }
+      if (response === null) {
+        response = await (async () => {
+          const currentURL = requestCurrentURL(request2);
+          if (
+            // - request’s current URL’s origin is same origin with request’s origin,
+            //   and request’s response tainting is "basic"
+            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
+            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
+            (request2.mode === "navigate" || request2.mode === "websocket")
+          ) {
+            request2.responseTainting = "basic";
+            return await schemeFetch(fetchParams);
           }
-        });
+          if (request2.mode === "same-origin") {
+            return makeNetworkError('request mode cannot be "same-origin"');
+          }
+          if (request2.mode === "no-cors") {
+            if (request2.redirect !== "follow") {
+              return makeNetworkError(
+                'redirect mode cannot be "follow" for "no-cors" request'
+              );
+            }
+            request2.responseTainting = "opaque";
+            return await schemeFetch(fetchParams);
+          }
+          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
+            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          }
+          request2.responseTainting = "cors";
+          return await httpFetch(fetchParams);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        if (request2.responseTainting === "basic") {
+          response = filterResponse(response, "basic");
+        } else if (request2.responseTainting === "cors") {
+          response = filterResponse(response, "cors");
+        } else if (request2.responseTainting === "opaque") {
+          response = filterResponse(response, "opaque");
         } else {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
+      }
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) {
+        response = internalResponse = makeNetworkError();
+      }
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
+      }
+      if (request2.integrity) {
+        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
+        if (request2.responseTainting === "opaque" || response.body == null) {
+          processBodyError(response.error);
           return;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          return;
+        const processBody = (bytes) => {
+          if (!bytesMatch(bytes, request2.integrity)) {
+            processBodyError("integrity mismatch");
+            return;
+          }
+          response.body = safelyExtractBody(bytes)[0];
+          fetchFinale(fetchParams, response);
+        };
+        await fullyReadBody(response.body, processBody, processBodyError);
+      } else {
+        fetchFinale(fetchParams, response);
+      }
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      }
+      const { request: request2 } = fetchParams;
+      const { protocol: scheme } = requestCurrentURL(request2);
+      switch (scheme) {
+        case "about:": {
+          return Promise.resolve(makeNetworkError("about scheme is not supported"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        case "blob:": {
+          if (!resolveObjectURL) {
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = blob.type;
+          if (!request2.headersList.contains("range", true)) {
+            const bodyWithType = extractBody(blob);
+            response.statusText = "OK";
+            response.body = bodyWithType[0];
+            response.headersList.set("content-length", serializedFullLength, true);
+            response.headersList.set("content-type", type2, true);
+          } else {
+            response.rangeRequested = true;
+            const rangeHeader = request2.headersList.get("range", true);
+            const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
+            if (rangeValue === "failure") {
+              return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+            }
+            let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
+            if (rangeStart === null) {
+              rangeStart = fullLength - rangeEnd;
+              rangeEnd = rangeStart + rangeEnd - 1;
+            } else {
+              if (rangeStart >= fullLength) {
+                return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
+              }
+              if (rangeEnd === null || rangeEnd >= fullLength) {
+                rangeEnd = fullLength - 1;
+              }
+            }
+            const slicedBlob = blob.slice(rangeStart, rangeEnd, type2);
+            const slicedBodyWithType = extractBody(slicedBlob);
+            response.body = slicedBodyWithType[0];
+            const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
+            const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
+            response.status = 206;
+            response.statusText = "Partial Content";
+            response.headersList.set("content-length", serializedSlicedLength, true);
+            response.headersList.set("content-type", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        case "data:": {
+          const currentURL = requestCurrentURL(request2);
+          const dataURLStruct = dataURLProcessor(currentURL);
+          if (dataURLStruct === "failure") {
+            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+          }
+          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
+          return Promise.resolve(makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-type", { name: "Content-Type", value: mimeType }]
+            ],
+            body: safelyExtractBody(dataURLStruct.body)[0]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        case "file:": {
+          return Promise.resolve(makeNetworkError("not implemented... yet..."));
+        }
+        case "http:":
+        case "https:": {
+          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        }
+        default: {
+          return Promise.resolve(makeNetworkError("unknown scheme"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
+      }
+    }
+    function fetchFinale(fetchParams, response) {
+      let timingInfo = fetchParams.timingInfo;
+      const processResponseEndOfBody = () => {
+        const unsafeEndTime = Date.now();
+        if (fetchParams.request.destination === "document") {
+          fetchParams.controller.fullTimingInfo = timingInfo;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = contentRange;
-          assert(this.start === start, "content-range mismatch");
-          assert(this.end == null || this.end === end, "content-range mismatch");
-          this.resume = resume;
-          return true;
-        }
-        if (this.end == null) {
-          if (statusCode === 206) {
-            const range = parseRangeHeader(headers["content-range"]);
-            if (range == null) {
-              return this.handler.onHeaders(
-                statusCode,
-                rawHeaders,
-                resume,
-                statusMessage
-              );
+          let responseStatus = 0;
+          if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
+            responseStatus = response.status;
+            const mimeType = extractMimeType(response.headersList);
+            if (mimeType !== "failure") {
+              bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== end,
-              "invalid content-length"
-            );
-            this.start = start;
-            this.end = end;
           }
-          if (this.end == null) {
-            const contentLength = headers["content-length"];
-            this.end = contentLength != null ? Number(contentLength) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          assert(Number.isFinite(this.start));
-          assert(
-            this.end == null || Number.isFinite(this.end),
-            "invalid content-length"
-          );
-          this.resume = resume;
-          this.etag = headers.etag != null ? headers.etag : null;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        const processResponseEndOfBodyTask = () => {
+          fetchParams.request.done = true;
+          if (fetchParams.processResponseEndOfBody != null) {
+            queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+          }
+          if (fetchParams.request.initiatorType != null) {
+            fetchParams.controller.reportTimingSteps();
+          }
+        };
+        queueMicrotask(() => processResponseEndOfBodyTask());
+      };
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            opts: { retryOptions: this.retryOpts, ...this.opts }
-          },
-          onRetry.bind(this)
-        );
-        function onRetry(err2) {
-          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
-            return this.handler.onError(err2);
-          }
-          if (this.start !== 0) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
+        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
+          return makeNetworkError("cors failure");
+        }
+        if (TAOCheck(request2, response) === "failure") {
+          request2.timingAllowFailed = true;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy(void 0, false);
+        }
+        if (request2.redirect === "error") {
+          response = makeNetworkError("unexpected redirect");
+        } else if (request2.redirect === "manual") {
+          response = actualResponse;
+        } else if (request2.redirect === "follow") {
+          response = await httpRedirectFetch(fetchParams, response);
+        } else {
+          assert(false);
+        }
+      }
+      response.timingInfo = timingInfo;
+      return response;
     }
-    function getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    function httpRedirectFetch(fetchParams, response) {
+      const request2 = fetchParams.request;
+      const actualResponse = response.internalResponse ? response.internalResponse : response;
+      let locationURL;
+      try {
+        locationURL = responseLocationURL(
+          actualResponse,
+          requestCurrentURL(request2).hash
+        );
+        if (locationURL == null) {
+          return response;
+        }
+      } catch (err) {
+        return Promise.resolve(makeNetworkError(err));
+      }
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
+      }
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
+      }
+      request2.redirectCount += 1;
+      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
+        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
+      }
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
+      }
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
+      }
+      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
+        request2.method = "GET";
+        request2.body = null;
+        for (const headerName of requestBodyHeader) {
+          request2.headersList.delete(headerName);
+        }
+      }
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization", true);
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
+      }
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
+      }
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
+      }
+      request2.urlList.push(locationURL);
+      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
+      return mainFetch(fetchParams, true);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
+      const request2 = fetchParams.request;
+      let httpFetchParams = null;
+      let httpRequest = null;
+      let response = null;
+      const httpCache = null;
+      const revalidatingFlag = false;
+      if (request2.window === "no-window" && request2.redirect === "error") {
+        httpFetchParams = fetchParams;
+        httpRequest = request2;
+      } else {
+        httpRequest = cloneRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
+      const contentLength = httpRequest.body ? httpRequest.body.length : null;
+      let contentLengthHeaderValue = null;
+      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
+        contentLengthHeaderValue = "0";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
+        httpRequest.cache = "no-store";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
-    function isHTTPWhiteSpaceCharCode(code) {
-      return code === 10 || code === 13 || code === 9 || code === 32;
-    }
-    function headerValueNormalize(potentialValue) {
-      let i = 0;
-      let j = potentialValue.length;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
-      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
-    }
-    function fill(headers, object) {
-      if (Array.isArray(object)) {
-        for (let i = 0; i < object.length; ++i) {
-          const header = object[i];
-          if (header.length !== 2) {
-            throw webidl.errors.exception({
-              header: "Headers constructor",
-              message: `expected name/value pair to be length 2, found ${header.length}.`
-            });
-          }
-          appendHeader(headers, header[0], header[1]);
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
+        httpRequest.headersList.append("cache-control", "max-age=0", true);
+      }
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
         }
-      } else if (typeof object === "object" && object !== null) {
-        const keys = Object.keys(object);
-        for (let i = 0; i < keys.length; ++i) {
-          appendHeader(headers, keys[i], object[keys[i]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } else {
-        throw webidl.errors.conversionFailed({
-          prefix: "Headers constructor",
-          argument: "Argument 1",
-          types: ["sequence>", "record"]
-        });
-      }
-    }
-    function appendHeader(headers, name, value) {
-      value = headerValueNormalize(value);
-      if (!isValidHeaderName(name)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value: name,
-          type: "header name"
-        });
-      } else if (!isValidHeaderValue(value)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value,
-          type: "header value"
-        });
       }
-      if (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    var HeadersList = class _HeadersList {
-      /** @type {[string, string][]|null} */
-      cookies = null;
-      constructor(init) {
-        if (init instanceof _HeadersList) {
-          this[kHeadersMap] = new Map(init[kHeadersMap]);
-          this[kHeadersSortedMap] = init[kHeadersSortedMap];
-          this.cookies = init.cookies === null ? null : [...init.cookies];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        if (exists) {
-          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
-          this[kHeadersMap].set(lowercaseName, {
-            name: exists.name,
-            value: `${exists.value}${delimiter}${value}`
-          });
-        } else {
-          this[kHeadersMap].set(lowercaseName, { name, value });
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      if (
+        // response’s status is 421
+        response.status === 421 && // isNewConnectionFetch is false
+        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
+        (request2.body == null || request2.body.source != null)
+      ) {
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
+        fetchParams.controller.connection.destroy();
+        response = await httpNetworkOrCacheFetch(
+          fetchParams,
+          isAuthenticationFetch,
+          true
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      return response;
+    }
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err, abort = true) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream2 = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream: stream2, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
+          if (isErrored(stream2)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url2 = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve6, reject) => agent.dispatch(
+          {
+            path: url2.pathname + url2.search,
+            origin: url2.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable2({ read: resume });
+              const decoders = [];
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib2.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib2.createBrotliDecompress({
+                      flush: zlib2.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib2.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve6({
+                status,
+                statusText,
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              if (fetchParams.controller.onAborted) {
+                fetchParams.controller.off("terminated", fetchParams.controller.onAborted);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, rawHeaders, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              resolve6({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url2, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url2 = webidl.converters.USVString(url2);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url2, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url2), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        initializeResponse(this, init, bodyWithType);
-      }
-      // Returns response’s type, e.g., "cors".
-      get type() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].type;
-      }
-      // Returns response’s URL, if it has one; otherwise the empty string.
-      get url() {
-        webidl.brandCheck(this, _Response);
-        const urlList = this[kState].urlList;
-        const url2 = urlList[urlList.length - 1] ?? null;
-        if (url2 === null) {
-          return "";
-        }
-        return URLSerializer(url2, true);
-      }
-      // Returns whether response was obtained through a redirect.
-      get redirected() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].urlList.length > 1;
-      }
-      // Returns response’s status.
-      get status() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status;
-      }
-      // Returns whether response’s status is an ok status.
-      get ok() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status >= 200 && this[kState].status <= 299;
-      }
-      // Returns response’s status message.
-      get statusText() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].statusText;
-      }
-      // Returns response’s headers as Headers.
-      get headers() {
-        webidl.brandCheck(this, _Response);
-        return this[kHeaders];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    mixinBody(Response);
-    Object.defineProperties(Response.prototype, {
-      type: kEnumerableProperty,
-      url: kEnumerableProperty,
-      status: kEnumerableProperty,
-      ok: kEnumerableProperty,
-      redirected: kEnumerableProperty,
-      statusText: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Response",
-        configurable: true
-      }
-    });
-    Object.defineProperties(Response, {
-      json: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      error: kEnumerableProperty
-    });
-    function cloneResponse(response) {
-      if (response.internalResponse) {
-        return filterResponse(
-          cloneResponse(response.internalResponse),
-          response.type
-        );
-      }
-      const newResponse = makeResponse({ ...response, body: null });
-      if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
-      }
-      return newResponse;
-    }
-    function makeResponse(init) {
-      return {
-        aborted: false,
-        rangeRequested: false,
-        timingAllowPassed: false,
-        requestIncludesCredentials: false,
-        type: "default",
-        status: 200,
-        timingInfo: null,
-        cacheState: "",
-        statusText: "",
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
-      };
-    }
-    function makeNetworkError(reason) {
-      const isError = isErrorLike(reason);
-      return makeResponse({
-        type: "error",
-        status: 0,
-        error: isError ? reason : new Error(reason ? String(reason) : reason),
-        aborted: reason && reason.name === "AbortError"
-      });
-    }
-    function makeFilteredResponse(response, state) {
-      state = {
-        internalResponse: response,
-        ...state
-      };
-      return new Proxy(response, {
-        get(target, p) {
-          return p in state ? state[p] : target[p];
-        },
-        set(target, p, value) {
-          assert(!(p in state));
-          target[p] = value;
-          return true;
-        }
-      });
-    }
-    function filterResponse(response, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "opaqueredirect") {
-        return makeFilteredResponse(response, {
-          type: "opaqueredirect",
-          status: 0,
-          statusText: "",
-          headersList: [],
-          body: null
-        });
-      } else {
-        assert(false);
-      }
-    }
-    function makeAppropriateNetworkError(fetchParams, err = null) {
-      assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      if ("statusText" in init && init.statusText != null) {
-        if (!isValidReasonPhrase(String(init.statusText))) {
-          throw new TypeError("Invalid statusText");
-        }
-      }
-      if ("status" in init && init.status != null) {
-        response[kState].status = init.status;
-      }
-      if ("statusText" in init && init.statusText != null) {
-        response[kState].statusText = init.statusText;
+    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
+      {
+        key: "lengthComputable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "loaded",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "total",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      switch (label.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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    webidl.converters.ResponseInit = webidl.dictionaryConverter([
-      {
-        key: "status",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 200
-      },
-      {
-        key: "statusText",
-        converter: webidl.converters.ByteString,
-        defaultValue: ""
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      }
-    ]);
     module2.exports = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream2 = blob.stream();
+      const reader = stream2.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
           try {
-            parsedURL = new URL(input, baseUrl);
-          } catch (err) {
-            throw new TypeError("Failed to parse URL from " + input, { cause: err });
-          }
-          if (parsedURL.username || parsedURL.password) {
-            throw new TypeError(
-              "Request cannot be constructed from a URL that includes credentials: " + input
-            );
-          }
-          request2 = makeRequest({ urlList: [parsedURL] });
-          fallbackMode = "cors";
-        } else {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "no-window";
-        }
-        request2 = makeRequest({
-          // URL request’s URL.
-          // undici implementation note: this is set as the first item in request's urlList in makeRequest
-          // method request’s method.
-          method: request2.method,
-          // header list A copy of request’s header list.
-          // undici implementation note: headersList is cloned in makeRequest
-          headersList: request2.headersList,
-          // unsafe-request flag Set.
-          unsafeRequest: request2.unsafeRequest,
-          // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // priority request’s priority.
-          priority: request2.priority,
-          // origin request’s origin. The propagation of the origin is only significant for navigation requests
-          // being handled by a service worker. In this scenario a request can have an origin that is different
-          // from the current client.
-          origin: request2.origin,
-          // referrer request’s referrer.
-          referrer: request2.referrer,
-          // referrer policy request’s referrer policy.
-          referrerPolicy: request2.referrerPolicy,
-          // mode request’s mode.
-          mode: request2.mode,
-          // credentials mode request’s credentials mode.
-          credentials: request2.credentials,
-          // cache mode request’s cache mode.
-          cache: request2.cache,
-          // redirect mode request’s redirect mode.
-          redirect: request2.redirect,
-          // integrity metadata request’s integrity metadata.
-          integrity: request2.integrity,
-          // keepalive request’s keepalive.
-          keepalive: request2.keepalive,
-          // reload-navigation flag request’s reload-navigation flag.
-          reloadNavigation: request2.reloadNavigation,
-          // history-navigation flag request’s history-navigation flag.
-          historyNavigation: request2.historyNavigation,
-          // URL list A clone of request’s URL list.
-          urlList: [...request2.urlList]
-        });
-        const initHasKey = Object.keys(init).length !== 0;
-        if (initHasKey) {
-          if (request2.mode === "navigate") {
-            request2.mode = "same-origin";
-          }
-          request2.reloadNavigation = false;
-          request2.historyNavigation = false;
-          request2.origin = "client";
-          request2.referrer = "client";
-          request2.referrerPolicy = "";
-          request2.url = request2.urlList[request2.urlList.length - 1];
-          request2.urlList = [request2.url];
-        }
-        if (init.referrer !== void 0) {
-          const referrer = init.referrer;
-          if (referrer === "") {
-            request2.referrer = "no-referrer";
-          } else {
-            let parsedReferrer;
-            try {
-              parsedReferrer = new URL(referrer, baseUrl);
-            } catch (err) {
-              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
-            }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        if (init.referrerPolicy !== void 0) {
-          request2.referrerPolicy = init.referrerPolicy;
-        }
-        let mode;
-        if (init.mode !== void 0) {
-          mode = init.mode;
-        } else {
-          mode = fallbackMode;
-        }
-        if (mode === "navigate") {
-          throw webidl.errors.exception({
-            header: "Request constructor",
-            message: "invalid request mode navigate."
-          });
-        }
-        if (mode != null) {
-          request2.mode = mode;
-        }
-        if (init.credentials !== void 0) {
-          request2.credentials = init.credentials;
-        }
-        if (init.cache !== void 0) {
-          request2.cache = init.cache;
-        }
-        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
-          throw new TypeError(
-            "'only-if-cached' can be set only with 'same-origin' mode"
-          );
-        }
-        if (init.redirect !== void 0) {
-          request2.redirect = init.redirect;
-        }
-        if (init.integrity != null) {
-          request2.integrity = String(init.integrity);
-        }
-        if (init.keepalive !== void 0) {
-          request2.keepalive = Boolean(init.keepalive);
-        }
-        if (init.method !== void 0) {
-          let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            throw new TypeError(
-              "Failed to construct 'Request': member signal is not of type AbortSignal."
-            );
-          }
-          if (signal.aborted) {
-            ac.abort(signal.reason);
-          } else {
-            this[kAbortController] = ac;
-            const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            isFirstChunk = false;
+            if (!done && types.isUint8Array(value)) {
+              bytes.push(value);
+              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
+                fr[kLastProgressEventFired] = Date.now();
+                queueMicrotask(() => {
+                  fireAProgressEvent("progress", fr);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        const inputBody = input instanceof _Request ? input[kState].body : null;
-        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
-          throw new TypeError("Request with GET/HEAD method cannot have body.");
-        }
-        let initBody = null;
-        if (init.body != null) {
-          const [extractedBody, contentType] = extractBody(
-            init.body,
-            request2.keepalive
-          );
-          initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        const inputOrInitBody = initBody ?? inputBody;
-        if (inputOrInitBody != null && inputOrInitBody.source == null) {
-          if (initBody != null && init.duplex == null) {
-            throw new TypeError("RequestInit: duplex option is required when sending a body.");
-          }
-          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
-            throw new TypeError(
-              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          inputBody.stream.pipeThrough(identityTransform);
-          finalBody = {
-            source: inputBody.source,
-            length: inputBody.length,
-            stream: identityTransform.readable
-          };
-        }
-        this[kState].body = finalBody;
-      }
-      // Returns request’s HTTP method, which is "GET" by default.
-      get method() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].method;
-      }
-      // Returns the URL of request as a string.
-      get url() {
-        webidl.brandCheck(this, _Request);
-        return URLSerializer(this[kState].url);
-      }
-      // Returns a Headers object consisting of the headers associated with request.
-      // Note that headers added in the network layer by the user agent will not
-      // be accounted for in this object, e.g., the "Host" header.
-      get headers() {
-        webidl.brandCheck(this, _Request);
-        return this[kHeaders];
-      }
-      // Returns the kind of resource requested by request, e.g., "document"
-      // or "script".
-      get destination() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].destination;
-      }
-      // Returns the referrer of request. Its value can be a same-origin URL if
-      // explicitly set in init, the empty string to indicate no referrer, and
-      // "about:client" when defaulting to the global’s default. This is used
-      // during fetching to determine the value of the `Referer` header of the
-      // request being made.
-      get referrer() {
-        webidl.brandCheck(this, _Request);
-        if (this[kState].referrer === "no-referrer") {
-          return "";
-        }
-        if (this[kState].referrer === "client") {
-          return "about:client";
+          return decode(bytes, encoding);
         }
-        return this[kState].referrer.toString();
-      }
-      // Returns the referrer policy associated with request.
-      // This is used during fetching to compute the value of the request’s
-      // referrer.
-      get referrerPolicy() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].referrerPolicy;
-      }
-      // Returns the mode associated with request, which is a string indicating
-      // whether the request will use CORS, or will be restricted to same-origin
-      // URLs.
-      get mode() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].mode;
-      }
-      // Returns the credentials mode associated with request,
-      // which is a string indicating whether credentials will be sent with the
-      // request always, never, or only when sent to a same-origin URL.
-      get credentials() {
-        return this[kState].credentials;
-      }
-      // Returns the cache mode associated with request,
-      // which is a string indicating how the request will
-      // interact with the browser’s cache when fetching.
-      get cache() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].cache;
-      }
-      // Returns the redirect mode associated with request,
-      // which is a string indicating how redirects for the
-      // request will be handled during fetching. A request
-      // will follow redirects by default.
-      get redirect() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].redirect;
-      }
-      // Returns request’s subresource integrity metadata, which is a
-      // cryptographic hash of the resource being fetched. Its value
-      // consists of multiple hashes separated by whitespace. [SRI]
-      get integrity() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].integrity;
-      }
-      // Returns a boolean indicating whether or not request can outlive the
-      // global in which it was created.
-      get keepalive() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].keepalive;
-      }
-      // Returns a boolean indicating whether or not request is for a reload
-      // navigation.
-      get isReloadNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].reloadNavigation;
-      }
-      // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
-      get isHistoryNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].historyNavigation;
-      }
-      // Returns the signal associated with request, which is an AbortSignal
-      // object indicating whether or not request has been aborted, and its
-      // abort event handler.
-      get signal() {
-        webidl.brandCheck(this, _Request);
-        return this[kSignal];
-      }
-      get body() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].body ? this[kState].body.stream : null;
-      }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Request);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
-      }
-      get duplex() {
-        webidl.brandCheck(this, _Request);
-        return "half";
-      }
-      // Returns a clone of request.
-      clone() {
-        webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    function decode(ioQueue, encoding) {
+      const bytes = combineByteSequences(ioQueue);
+      const BOMEncoding = BOMSniffing(bytes);
+      let slice = 0;
+      if (BOMEncoding !== null) {
+        encoding = BOMEncoding;
+        slice = BOMEncoding === "UTF-8" ? 3 : 2;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    Object.defineProperties(Request.prototype, {
-      method: kEnumerableProperty,
-      url: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      signal: kEnumerableProperty,
-      duplex: kEnumerableProperty,
-      destination: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      isHistoryNavigation: kEnumerableProperty,
-      isReloadNavigation: kEnumerableProperty,
-      keepalive: kEnumerableProperty,
-      integrity: kEnumerableProperty,
-      cache: kEnumerableProperty,
-      credentials: kEnumerableProperty,
-      attribute: kEnumerableProperty,
-      referrerPolicy: kEnumerableProperty,
-      referrer: kEnumerableProperty,
-      mode: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Request",
-        configurable: true
-      }
-    });
-    webidl.converters.Request = webidl.interfaceConverter(
-      Request
-    );
-    webidl.converters.RequestInfo = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    function BOMSniffing(ioQueue) {
+      const [a, b, c] = ioQueue;
+      if (a === 239 && b === 187 && c === 191) {
+        return "UTF-8";
+      } else if (a === 254 && b === 255) {
+        return "UTF-16BE";
+      } else if (a === 255 && b === 254) {
+        return "UTF-16LE";
       }
-      return webidl.converters.USVString(V);
+      return null;
+    }
+    function combineByteSequences(sequences) {
+      const size = sequences.reduce((a, b) => {
+        return a + b.byteLength;
+      }, 0);
+      let offset = 0;
+      return sequences.reduce((a, b) => {
+        a.set(b, offset);
+        offset += b.byteLength;
+        return a;
+      }, new Uint8Array(size));
+    }
+    module2.exports = {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
     };
-    webidl.converters.AbortSignal = webidl.interfaceConverter(
-      AbortSignal
-    );
-    webidl.converters.RequestInit = webidl.dictionaryConverter([
-      {
-        key: "method",
-        converter: webidl.converters.ByteString
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      },
-      {
-        key: "body",
-        converter: webidl.nullableConverter(
-          webidl.converters.BodyInit
-        )
-      },
-      {
-        key: "referrer",
-        converter: webidl.converters.USVString
-      },
-      {
-        key: "referrerPolicy",
-        converter: webidl.converters.DOMString,
-        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
-        allowedValues: referrerPolicy
-      },
-      {
-        key: "mode",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#concept-request-mode
-        allowedValues: requestMode
-      },
-      {
-        key: "credentials",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcredentials
-        allowedValues: requestCredentials
-      },
-      {
-        key: "cache",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcache
-        allowedValues: requestCache
-      },
-      {
-        key: "redirect",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestredirect
-        allowedValues: requestRedirect
-      },
-      {
-        key: "integrity",
-        converter: webidl.converters.DOMString
-      },
-      {
-        key: "keepalive",
-        converter: webidl.converters.boolean
-      },
-      {
-        key: "signal",
-        converter: webidl.nullableConverter(
-          (signal) => webidl.converters.AbortSignal(
-            signal,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib2 = require("zlib");
-    var {
-      bytesMatch,
-      makePolicyContainer,
-      clonePolicyContainer,
-      requestBadPort,
-      TAOCheck,
-      appendRequestOriginHeader,
-      responseLocationURL,
-      requestCurrentURL,
-      setRequestReferrerPolicyOnRedirect,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      createOpaqueTimingInfo,
-      appendFetchMetadata,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      determineRequestsReferrer,
-      coarsenedSharedCurrentTime,
-      createDeferredPromise,
-      isBlobLike,
-      sameOrigin,
-      isCancelled,
-      isAborted,
-      isErrorLike,
-      fullyReadBody,
-      readableStreamClose,
-      isomorphicEncode,
-      urlIsLocal,
-      urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable: Readable2, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsDataText
+       * @param {import('buffer').Blob} blob
+       * @param {string?} encoding
+       */
+      readAsText(blob, encoding = void 0) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
+        }
+        readOperation(this, blob, "Text", encoding);
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
           return;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
+       */
+      get readyState() {
+        webidl.brandCheck(this, _FileReader);
+        switch (this[kState]) {
+          case "empty":
+            return this.EMPTY;
+          case "loading":
+            return this.LOADING;
+          case "done":
+            return this.DONE;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
+      }
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
+      }
+      set onloadend(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadend) {
+          this.removeEventListener("loadend", this[kEvents].loadend);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].loadend = fn;
+          this.addEventListener("loadend", fn);
+        } else {
+          this[kEvents].loadend = null;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      set onerror(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].error) {
+          this.removeEventListener("error", this[kEvents].error);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      get onprogress() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].progress;
+      }
+      set onprogress(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].progress) {
+          this.removeEventListener("progress", this[kEvents].progress);
         }
-        if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      set onabort(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].abort) {
+          this.removeEventListener("abort", this[kEvents].abort);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].abort = fn;
+          this.addEventListener("abort", fn);
+        } else {
+          this[kEvents].abort = null;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
+    FileReader.LOADING = FileReader.prototype.LOADING = 1;
+    FileReader.DONE = FileReader.prototype.DONE = 2;
+    Object.defineProperties(FileReader.prototype, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors,
+      readAsArrayBuffer: kEnumerableProperty,
+      readAsBinaryString: kEnumerableProperty,
+      readAsText: kEnumerableProperty,
+      readAsDataURL: kEnumerableProperty,
+      abort: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      result: kEnumerableProperty,
+      error: kEnumerableProperty,
+      onloadstart: kEnumerableProperty,
+      onprogress: kEnumerableProperty,
+      onload: kEnumerableProperty,
+      onabort: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onloadend: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FileReader",
+        writable: false,
+        enumerable: false,
+        configurable: true
+      }
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
+    module2.exports = {
+      FileReader
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    function getFieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (isValidHeaderName(value)) {
+          values.push(value);
+        }
       }
+      return values;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    var assert = require("node:assert");
+    var Cache = class _Cache {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
+       * @type {requestResponseList}
+       */
+      #relevantRequestResponseList;
+      constructor() {
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
+        }
+        webidl.util.markAsUncloneable(this);
+        this.#relevantRequestResponseList = arguments[1];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.match";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        const p = this.#internalMatchAll(request2, options, 1);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
+      }
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.matchAll";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        return this.#internalMatchAll(request2, options);
+      }
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.add";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
+      }
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const responsePromises = [];
+        const requestList = [];
+        for (let request2 of requests) {
+          if (request2 === void 0) {
+            throw webidl.errors.conversionFailed({
+              prefix,
+              argument: "Argument 1",
+              types: ["undefined is not allowed"]
+            });
+          }
+          request2 = webidl.converters.RequestInfo(request2);
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme when method is not GET."
+            });
+          }
+        }
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme."
+            });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
+        }
+        const p = Promise.all(responsePromises);
+        const responses = await p;
+        const operations = [];
+        let index = 0;
+        for (const response of responses) {
+          const operation = {
+            type: "put",
+            // 7.3.2
+            request: requestList[index],
+            // 7.3.3
+            response
+            // 7.3.4
+          };
+          operations.push(operation);
+          index++;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(void 0);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.put";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        response = webidl.converters.Response(response, prefix, "response");
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
+        }
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Expected an http/s scheme when method is not GET"
+          });
+        }
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Got 206 status"
+          });
+        }
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: "Got * vary field value"
+              });
+            }
+          }
+        }
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Response body is locked or disturbed"
+          });
+        }
+        const clonedResponse = cloneResponse(innerResponse);
+        const bodyReadPromise = createDeferredPromise();
+        if (innerResponse.body != null) {
+          const stream2 = innerResponse.body.stream;
+          const reader = stream2.getReader();
+          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+        } else {
+          bodyReadPromise.resolve(void 0);
+        }
+        const operations = [];
+        const operation = {
+          type: "put",
+          // 14.
+          request: innerRequest,
+          // 15.
+          response: clonedResponse
+          // 16.
+        };
+        operations.push(operation);
+        const bytes = await bodyReadPromise.promise;
+        if (clonedResponse.body != null) {
+          clonedResponse.body.source = bytes;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve();
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      const fetchParams = {
-        controller: new Fetch(dispatcher),
-        request: request2,
-        timingInfo,
-        processRequestBodyChunkLength,
-        processRequestEndOfBody,
-        processResponse,
-        processResponseConsumeBody,
-        processResponseEndOfBody,
-        taskDestination,
-        crossOriginIsolatedCapability
-      };
-      assert(!request2.body || request2.body.stream);
-      if (request2.window === "client") {
-        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
-      }
-      if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
-      }
-      if (request2.policyContainer === "client") {
-        if (request2.client != null) {
-          request2.policyContainer = clonePolicyContainer(
-            request2.client.policyContainer
-          );
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
+          }
         } else {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      if (request2.priority === null) {
-      }
-      if (subresourceSet.has(request2.destination)) {
-      }
-      mainFetch(fetchParams).catch((err) => {
-        fetchParams.controller.terminate(err);
-      });
-      return fetchParams.controller;
-    }
-    async function mainFetch(fetchParams, recursive = false) {
-      const request2 = fetchParams.request;
-      let response = null;
-      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
-        response = makeNetworkError("local URLs only");
-      }
-      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
-      if (requestBadPort(request2) === "blocked") {
-        response = makeNetworkError("bad port");
-      }
-      if (request2.referrerPolicy === "") {
-        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
-      }
-      if (request2.referrer !== "no-referrer") {
-        request2.referrer = determineRequestsReferrer(request2);
-      }
-      if (response === null) {
-        response = await (async () => {
-          const currentURL = requestCurrentURL(request2);
-          if (
-            // - request’s current URL’s origin is same origin with request’s origin,
-            //   and request’s response tainting is "basic"
-            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
-            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
-            (request2.mode === "navigate" || request2.mode === "websocket")
-          ) {
-            request2.responseTainting = "basic";
-            return await schemeFetch(fetchParams);
-          }
-          if (request2.mode === "same-origin") {
-            return makeNetworkError('request mode cannot be "same-origin"');
+        const operations = [];
+        const operation = {
+          type: "delete",
+          request: r,
+          options
+        };
+        operations.push(operation);
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        let requestResponses;
+        try {
+          requestResponses = this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        return cacheJobPromise.promise;
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {Promise}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          request2.responseTainting = "cors";
-          return await httpFetch(fetchParams);
-        })();
-      }
-      if (recursive) {
-        return response;
-      }
-      if (response.status !== 0 && !response.internalResponse) {
-        if (request2.responseTainting === "cors") {
         }
-        if (request2.responseTainting === "basic") {
-          response = filterResponse(response, "basic");
-        } else if (request2.responseTainting === "cors") {
-          response = filterResponse(response, "cors");
-        } else if (request2.responseTainting === "opaque") {
-          response = filterResponse(response, "opaque");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
+          }
         }
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
+            requestList.push(requestObject);
+          }
+          promise.resolve(Object.freeze(requestList));
+        });
+        return promise.promise;
       }
-      let internalResponse = response.status === 0 ? response : response.internalResponse;
-      if (internalResponse.urlList.length === 0) {
-        internalResponse.urlList.push(...request2.urlList);
-      }
-      if (!request2.timingAllowFailed) {
-        response.timingAllowPassed = true;
-      }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
-        response = internalResponse = makeNetworkError();
-      }
-      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
-        internalResponse.body = null;
-        fetchParams.controller.dump = true;
-      }
-      if (request2.integrity) {
-        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
-        if (request2.responseTainting === "opaque" || response.body == null) {
-          processBodyError(response.error);
-          return;
-        }
-        const processBody = (bytes) => {
-          if (!bytesMatch(bytes, request2.integrity)) {
-            processBodyError("integrity mismatch");
-            return;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
+       * @param {CacheBatchOperation[]} operations
+       * @returns {requestResponseList}
+       */
+      #batchCacheOperations(operations) {
+        const cache = this.#relevantRequestResponseList;
+        const backupCache = [...cache];
+        const addedItems = [];
+        const resultList = [];
+        try {
+          for (const operation of operations) {
+            if (operation.type !== "delete" && operation.type !== "put") {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: 'operation type does not match "delete" or "put"'
+              });
+            }
+            if (operation.type === "delete" && operation.response != null) {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: "delete operation should not have an associated response"
+              });
+            }
+            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
+              throw new DOMException("???", "InvalidStateError");
+            }
+            let requestResponses;
+            if (operation.type === "delete") {
+              requestResponses = this.#queryCache(operation.request, operation.options);
+              if (requestResponses.length === 0) {
+                return [];
+              }
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+            } else if (operation.type === "put") {
+              if (operation.response == null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "put operation should have an associated response"
+                });
+              }
+              const r = operation.request;
+              if (!urlIsHttpHttpsScheme(r.url)) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "expected http or https scheme"
+                });
+              }
+              if (r.method !== "GET") {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "not get method"
+                });
+              }
+              if (operation.options != null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "options must not be defined"
+                });
+              }
+              requestResponses = this.#queryCache(operation.request);
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+              cache.push([operation.request, operation.response]);
+              addedItems.push([operation.request, operation.response]);
+            }
+            resultList.push([operation.request, operation.response]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#query-cache
+       * @param {any} requestQuery
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @param {requestResponseList} targetStorage
+       * @returns {requestResponseList}
+       */
+      #queryCache(requestQuery, options, targetStorage) {
+        const resultList = [];
+        const storage = targetStorage ?? this.#relevantRequestResponseList;
+        for (const requestResponse of storage) {
+          const [cachedRequest, cachedResponse] = requestResponse;
+          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
+            resultList.push(requestResponse);
+          }
+        }
+        return resultList;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
+       * @param {any} requestQuery
+       * @param {any} request
+       * @param {any | null} response
+       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
+       * @returns {boolean}
+       */
+      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
+        const queryURL = new URL(requestQuery.url);
+        const cachedURL = new URL(request2.url);
+        if (options?.ignoreSearch) {
+          cachedURL.search = "";
+          queryURL.search = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
+        }
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
+        }
+        const fieldValues = getFieldValues(response.headersList.get("vary"));
+        for (const fieldValue of fieldValues) {
+          if (fieldValue === "*") {
+            return false;
           }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          return Promise.resolve(response);
         }
-        case "data:": {
-          const currentURL = requestCurrentURL(request2);
-          const dataURLStruct = dataURLProcessor(currentURL);
-          if (dataURLStruct === "failure") {
-            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+        return true;
+      }
+      #internalMatchAll(request2, options, maxResponses = Infinity) {
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
-          return Promise.resolve(makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-type", { name: "Content-Type", value: mimeType }]
-            ],
-            body: safelyExtractBody(dataURLStruct.body)[0]
-          }));
-        }
-        case "file:": {
-          return Promise.resolve(makeNetworkError("not implemented... yet..."));
         }
-        case "http:":
-        case "https:": {
-          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = fromInnerResponse(response, "immutable");
+          responseList.push(responseObject.clone());
+          if (responseList.length >= maxResponses) {
+            break;
+          }
         }
+        return Object.freeze(responseList);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    Object.defineProperties(Cache.prototype, {
+      [Symbol.toStringTag]: {
+        value: "Cache",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      matchAll: kEnumerableProperty,
+      add: kEnumerableProperty,
+      addAll: kEnumerableProperty,
+      put: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    var cacheQueryOptionConverters = [
+      {
+        key: "ignoreSearch",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreMethod",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreVary",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.has(cacheName);
       }
-      if (response === null) {
-        if (request2.redirect === "follow") {
-          request2.serviceWorkers = "none";
-        }
-        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
-        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
-          return makeNetworkError("cors failure");
-        }
-        if (TAOCheck(request2, response) === "failure") {
-          request2.timingAllowFailed = true;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.open";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.delete(cacheName);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        if (request2.redirect === "error") {
-          response = makeNetworkError("unexpected redirect");
-        } else if (request2.redirect === "manual") {
-          response = actualResponse;
-        } else if (request2.redirect === "follow") {
-          response = await httpRedirectFetch(fetchParams, response);
-        } else {
-          assert(false);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {Promise}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
+      }
+    };
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      for (let i = 0; i < value.length; ++i) {
+        const code = value.charCodeAt(i);
+        if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
+          return true;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    function httpRedirectFetch(fetchParams, response) {
-      const request2 = fetchParams.request;
-      const actualResponse = response.internalResponse ? response.internalResponse : response;
-      let locationURL;
-      try {
-        locationURL = responseLocationURL(
-          actualResponse,
-          requestCurrentURL(request2).hash
-        );
-        if (locationURL == null) {
-          return response;
+    function validateCookieName(name) {
+      for (let i = 0; i < name.length; ++i) {
+        const code = name.charCodeAt(i);
+        if (code < 33 || // exclude CTLs (0-31), SP and HT
+        code > 126 || // exclude non-ascii and DEL
+        code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 60 || // <
+        code === 62 || // >
+        code === 64 || // @
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 58 || // :
+        code === 92 || // \
+        code === 47 || // /
+        code === 91 || // [
+        code === 93 || // ]
+        code === 63 || // ?
+        code === 61 || // =
+        code === 123 || // {
+        code === 125) {
+          throw new Error("Invalid cookie name");
         }
-      } catch (err) {
-        return Promise.resolve(makeNetworkError(err));
-      }
-      if (!urlIsHttpHttpsScheme(locationURL)) {
-        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
-      }
-      if (request2.redirectCount === 20) {
-        return Promise.resolve(makeNetworkError("redirect count exceeded"));
-      }
-      request2.redirectCount += 1;
-      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
-        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
-      }
-      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
-        return Promise.resolve(makeNetworkError(
-          'URL cannot contain credentials for request mode "cors"'
-        ));
-      }
-      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
-        return Promise.resolve(makeNetworkError());
       }
-      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
-        request2.method = "GET";
-        request2.body = null;
-        for (const headerName of requestBodyHeader) {
-          request2.headersList.delete(headerName);
+    }
+    function validateCookieValue(value) {
+      let len = value.length;
+      let i = 0;
+      if (value[0] === '"') {
+        if (len === 1 || value[len - 1] !== '"') {
+          throw new Error("Invalid cookie value");
         }
+        --len;
+        ++i;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      if (request2.body != null) {
-        assert(request2.body.source != null);
-        request2.body = safelyExtractBody(request2.body.source)[0];
-      }
-      const timingInfo = fetchParams.timingInfo;
-      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
-      if (timingInfo.redirectStartTime === 0) {
-        timingInfo.redirectStartTime = timingInfo.startTime;
+      while (i < len) {
+        const code = value.charCodeAt(i++);
+        if (code < 33 || // exclude CTLs (0-31)
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
+        }
       }
-      request2.urlList.push(locationURL);
-      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
-      return mainFetch(fetchParams, true);
     }
-    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
-      const request2 = fetchParams.request;
-      let httpFetchParams = null;
-      let httpRequest = null;
-      let response = null;
-      const httpCache = null;
-      const revalidatingFlag = false;
-      if (request2.window === "no-window" && request2.redirect === "error") {
-        httpFetchParams = fetchParams;
-        httpRequest = request2;
-      } else {
-        httpRequest = makeRequest(request2);
-        httpFetchParams = { ...fetchParams };
-        httpFetchParams.request = httpRequest;
-      }
-      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
-      const contentLength = httpRequest.body ? httpRequest.body.length : null;
-      let contentLengthHeaderValue = null;
-      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
-        contentLengthHeaderValue = "0";
+    function validateCookiePath(path11) {
+      for (let i = 0; i < path11.length; ++i) {
+        const code = path11.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    var IMFDays = [
+      "Sun",
+      "Mon",
+      "Tue",
+      "Wed",
+      "Thu",
+      "Fri",
+      "Sat"
+    ];
+    var IMFMonths = [
+      "Jan",
+      "Feb",
+      "Mar",
+      "Apr",
+      "May",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Oct",
+      "Nov",
+      "Dec"
+    ];
+    var IMFPaddedNumbers = Array(61).fill(0).map((_, i) => i.toString().padStart(2, "0"));
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`;
+    }
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      for (const part of cookie.unparsed) {
+        if (!part.includes("=")) {
+          throw new Error("Invalid unparsed");
         }
+        const [key, ...value] = part.split("=");
+        out.push(`${key.trim()}=${value.join("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      response.requestIncludesCredentials = includeCredentials;
-      if (response.status === 407) {
-        if (request2.window === "no-window") {
-          return makeNetworkError();
-        }
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        return makeNetworkError("proxy authentication required");
+      let nameValuePair = "";
+      let unparsedAttributes = "";
+      let name = "";
+      let value = "";
+      if (header.includes(";")) {
+        const position = { position: 0 };
+        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
+        unparsedAttributes = header.slice(position.position);
+      } else {
+        nameValuePair = header;
       }
-      if (
-        // response’s status is 421
-        response.status === 421 && // isNewConnectionFetch is false
-        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
-        (request2.body == null || request2.body.source != null)
-      ) {
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        fetchParams.controller.connection.destroy();
-        response = await httpNetworkOrCacheFetch(
-          fetchParams,
-          isAuthenticationFetch,
-          true
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      assert(unparsedAttributes[0] === ";");
+      unparsedAttributes = unparsedAttributes.slice(1);
+      let cookieAv = "";
+      if (unparsedAttributes.includes(";")) {
+        cookieAv = collectASequenceOfCodePointsFast(
+          ";",
+          unparsedAttributes,
+          { position: 0 }
+        );
+        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
       } else {
+        cookieAv = unparsedAttributes;
+        unparsedAttributes = "";
       }
-      let requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream2 = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      const attributeNameLowercase = attributeName.toLowerCase();
+      if (attributeNameLowercase === "expires") {
+        const expiryTime = new Date(attributeValue);
+        cookieAttributeList.expires = expiryTime;
+      } else if (attributeNameLowercase === "max-age") {
+        const charCode = attributeValue.charCodeAt(0);
+        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      );
-      response.body = { stream: stream2 };
-      fetchParams.controller.on("terminated", onAborted);
-      fetchParams.controller.resume = async () => {
-        while (true) {
-          let bytes;
-          let isFailure;
-          try {
-            const { done, value } = await fetchParams.controller.next();
-            if (isAborted(fetchParams)) {
-              break;
-            }
-            bytes = done ? void 0 : value;
-          } catch (err) {
-            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
-              bytes = void 0;
-            } else {
-              bytes = err;
-              isFailure = true;
-            }
-          }
-          if (bytes === void 0) {
-            readableStreamClose(fetchParams.controller.controller);
-            finalizeResponse(fetchParams, response);
-            return;
-          }
-          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
-          if (isFailure) {
-            fetchParams.controller.terminate(bytes);
-            return;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream2)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
+        }
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
         } else {
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url2 = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve6, reject) => agent.dispatch(
-          {
-            path: url2.pathname + url2.search,
-            origin: url2.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable2({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib2.createGunzip({
-                      // Be less strict when decoding compressed responses, since sometimes
-                      // servers send slightly invalid responses that are still accepted
-                      // by common browsers.
-                      // Always using Z_SYNC_FLUSH is what cURL does.
-                      flush: zlib2.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib2.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib2.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve6({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve6({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        cookieAttributeList.path = cookiePath;
+      } else if (attributeNameLowercase === "secure") {
+        cookieAttributeList.secure = true;
+      } else if (attributeNameLowercase === "httponly") {
+        cookieAttributeList.httpOnly = true;
+      } else if (attributeNameLowercase === "samesite") {
+        let enforcement = "Default";
+        const attributeValueLowercase = attributeValue.toLowerCase();
+        if (attributeValueLowercase.includes("none")) {
+          enforcement = "None";
+        }
+        if (attributeValueLowercase.includes("strict")) {
+          enforcement = "Strict";
+        }
+        if (attributeValueLowercase.includes("lax")) {
+          enforcement = "Lax";
+        }
+        cookieAttributeList.sameSite = enforcement;
+      } else {
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
       }
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
     }
     module2.exports = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
+      }
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
+      }
+      return out;
+    }
+    function deleteCookie(headers, name, attributes) {
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
+    }
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
+      }
+      return cookies.map((pair) => parseSetCookie(pair));
+    }
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      }
+    ]);
+    webidl.converters.Cookie = webidl.dictionaryConverter([
+      {
+        converter: webidl.converters.DOMString,
+        key: "name"
+      },
+      {
+        converter: webidl.converters.DOMString,
+        key: "value"
+      },
+      {
+        converter: webidl.nullableConverter((value) => {
+          if (typeof value === "number") {
+            return webidl.converters["unsigned long long"](value);
+          }
+          return new Date(value);
+        }),
+        key: "expires",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters["long long"]),
+        key: "maxAge",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "secure",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "httpOnly",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.converters.USVString,
+        key: "sameSite",
+        allowedValues: ["Strict", "Lax", "None"]
+      },
+      {
+        converter: webidl.sequenceConverter(webidl.converters.DOMString),
+        key: "unparsed",
+        defaultValue: () => new Array(0)
+      }
+    ]);
     module2.exports = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
+      }
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
+      }
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
+        }
+        return this.#eventInit.ports;
+      }
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, init);
+        messageEvent.#eventInit = init;
+        messageEvent.#eventInit.data ??= null;
+        messageEvent.#eventInit.origin ??= "";
+        messageEvent.#eventInit.lastEventId ??= "";
+        messageEvent.#eventInit.source ??= null;
+        messageEvent.#eventInit.ports ??= [];
+        return messageEvent;
+      }
+    };
+    var { createFastMessageEvent } = MessageEvent;
+    delete MessageEvent.createFastMessageEvent;
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
+      }
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
+      }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
+      }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
+      }
+    };
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
+      }
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
+      }
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
+      }
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
+      }
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
+      }
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      reason: kEnumerableProperty,
+      code: kEnumerableProperty,
+      wasClean: kEnumerableProperty
+    });
+    Object.defineProperties(ErrorEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "ErrorEvent",
+        configurable: true
       },
+      message: kEnumerableProperty,
+      filename: kEnumerableProperty,
+      lineno: kEnumerableProperty,
+      colno: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.MessagePort
+    );
+    var eventInit = [
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
-    "use strict";
-    function getEncoding(label) {
-      if (!label) {
-        return "failure";
-      }
-      switch (label.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";
-      }
-    }
-    module2.exports = {
-      getEncoding
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream2 = blob.stream();
-      const reader = stream2.getReader();
-      const bytes = [];
-      let chunkPromise = reader.read();
-      let isFirstChunk = true;
-      (async () => {
-        while (!fr[kAborted]) {
-          try {
-            const { done, value } = await chunkPromise;
-            if (isFirstChunk && !fr[kAborted]) {
-              queueMicrotask(() => {
-                fireAProgressEvent("loadstart", fr);
-              });
-            }
-            isFirstChunk = false;
-            if (!done && types.isUint8Array(value)) {
-              bytes.push(value);
-              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
-                fr[kLastProgressEventFired] = Date.now();
-                queueMicrotask(() => {
-                  fireAProgressEvent("progress", fr);
-                });
-              }
-              chunkPromise = reader.read();
-            } else if (done) {
-              queueMicrotask(() => {
-                fr[kState] = "done";
-                try {
-                  const result = packageData(bytes, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              fireAProgressEvent("error", fr);
-              if (fr[kState] !== "loading") {
-                fireAProgressEvent("loadend", fr);
-              }
-            });
-            break;
-          }
-        }
-      })();
-    }
-    function fireAProgressEvent(e, reader) {
-      const event = new ProgressEvent(e, {
-        bubbles: false,
-        cancelable: false
-      });
-      reader.dispatchEvent(event);
-    }
-    function packageData(bytes, type2, mimeType, encodingName) {
-      switch (type2) {
-        case "DataURL": {
-          let dataURL = "data:";
-          const parsed = parseMIMEType(mimeType || "application/octet-stream");
-          if (parsed !== "failure") {
-            dataURL += serializeAMimeType(parsed);
-          }
-          dataURL += ";base64,";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            dataURL += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.parameters.get("charset"));
-            }
-          }
-          if (encoding === "failure") {
-            encoding = "UTF-8";
-          }
-          return decode(bytes, encoding);
-        }
-        case "ArrayBuffer": {
-          const sequence = combineByteSequences(bytes);
-          return sequence.buffer;
-        }
-        case "BinaryString": {
-          let binaryString = "";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            binaryString += decoder.write(chunk);
-          }
-          binaryString += decoder.end();
-          return binaryString;
-        }
+        defaultValue: () => false
       }
-    }
-    function decode(ioQueue, encoding) {
-      const bytes = combineByteSequences(ioQueue);
-      const BOMEncoding = BOMSniffing(bytes);
-      let slice = 0;
-      if (BOMEncoding !== null) {
-        encoding = BOMEncoding;
-        slice = BOMEncoding === "UTF-8" ? 3 : 2;
+    ];
+    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "data",
+        converter: webidl.converters.any,
+        defaultValue: () => null
+      },
+      {
+        key: "origin",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lastEventId",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "source",
+        // Node doesn't implement WindowProxy or ServiceWorker, so the only
+        // valid value for source is a MessagePort.
+        converter: webidl.nullableConverter(webidl.converters.MessagePort),
+        defaultValue: () => null
+      },
+      {
+        key: "ports",
+        converter: webidl.converters["sequence"],
+        defaultValue: () => new Array(0)
       }
-      const sliced = bytes.slice(slice);
-      return new TextDecoder(encoding).decode(sliced);
-    }
-    function BOMSniffing(ioQueue) {
-      const [a, b, c] = ioQueue;
-      if (a === 239 && b === 187 && c === 191) {
-        return "UTF-8";
-      } else if (a === 254 && b === 255) {
-        return "UTF-16BE";
-      } else if (a === 255 && b === 254) {
-        return "UTF-16LE";
+    ]);
+    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "wasClean",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "code",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 0
+      },
+      {
+        key: "reason",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
       }
-      return null;
-    }
-    function combineByteSequences(sequences) {
-      const size = sequences.reduce((a, b) => {
-        return a + b.byteLength;
-      }, 0);
-      let offset = 0;
-      return sequences.reduce((a, b) => {
-        a.set(b, offset);
-        offset += b.byteLength;
-        return a;
-      }, new Uint8Array(size));
-    }
+    ]);
+    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "message",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "filename",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lineno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "colno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "error",
+        converter: webidl.converters.any
+      }
+    ]);
     module2.exports = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var sentCloseFrameState = {
+      NOT_SENT: 0,
+      PROCESSING: 1,
+      SENT: 2
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    var sendHints = {
+      string: 1,
+      typedArray: 2,
+      arrayBuffer: 3,
+      blob: 4
+    };
+    module2.exports = {
+      uid,
+      sentCloseFrameState,
       staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var FileReader = class _FileReader extends EventTarget {
-      constructor() {
-        super();
-        this[kState] = "empty";
-        this[kResult] = null;
-        this[kError] = null;
-        this[kEvents] = {
-          loadend: null,
-          error: null,
-          abort: null,
-          load: null,
-          progress: null,
-          loadstart: null
-        };
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
-       * @param {import('buffer').Blob} blob
-       */
-      readAsArrayBuffer(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsDataText
-       * @param {import('buffer').Blob} blob
-       * @param {string?} encoding
-       */
-      readAsText(blob, encoding = void 0) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
+    }
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
+    }
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
+    }
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           return;
         }
-        if (this[kState] === "loading") {
-          this[kState] = "done";
-          this[kResult] = null;
-        }
-        this[kAborted] = true;
-        fireAProgressEvent("abort", this);
-        if (this[kState] !== "loading") {
-          fireAProgressEvent("loadend", this);
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
-       */
-      get readyState() {
-        webidl.brandCheck(this, _FileReader);
-        switch (this[kState]) {
-          case "empty":
-            return this.EMPTY;
-          case "loading":
-            return this.LOADING;
-          case "done":
-            return this.DONE;
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
-       */
-      get result() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kResult];
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
-       */
-      get error() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kError];
-      }
-      get onloadend() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadend;
-      }
-      set onloadend(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadend) {
-          this.removeEventListener("loadend", this[kEvents].loadend);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadend = fn;
-          this.addEventListener("loadend", fn);
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].error) {
-          this.removeEventListener("error", this[kEvents].error);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this[kEvents].error = null;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      set onloadstart(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadstart) {
-          this.removeEventListener("loadstart", this[kEvents].loadstart);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadstart = fn;
-          this.addEventListener("loadstart", fn);
-        } else {
-          this[kEvents].loadstart = null;
+      for (let i = 0; i < protocol.length; ++i) {
+        const code = protocol.charCodeAt(i);
+        if (code < 33 || // CTL, contains SP (0x20) and HT (0x09)
+        code > 126 || code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 44 || // ,
+        code === 47 || // /
+        code === 58 || // :
+        code === 59 || // ;
+        code === 60 || // <
+        code === 61 || // =
+        code === 62 || // >
+        code === 63 || // ?
+        code === 64 || // @
+        code === 91 || // [
+        code === 92 || // \
+        code === 93 || // ]
+        code === 123 || // {
+        code === 125) {
+          return false;
         }
       }
-      get onprogress() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].progress;
-      }
-      set onprogress(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].progress) {
-          this.removeEventListener("progress", this[kEvents].progress);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].progress = fn;
-          this.addEventListener("progress", fn);
-        } else {
-          this[kEvents].progress = null;
-        }
+      return true;
+    }
+    function isValidStatusCode(code) {
+      if (code >= 1e3 && code < 1015) {
+        return code !== 1004 && // reserved
+        code !== 1005 && // "MUST NOT be set as a status code"
+        code !== 1006;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      return code >= 3e3 && code <= 4999;
+    }
+    function failWebsocketConnection(ws, reason) {
+      const { [kController]: controller, [kResponse]: response } = ws;
+      controller.abort();
+      if (response?.socket && !response.socket.destroyed) {
+        response.socket.destroy();
       }
-      set onload(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].load) {
-          this.removeEventListener("load", this[kEvents].load);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].load = fn;
-          this.addEventListener("load", fn);
-        } else {
-          this[kEvents].load = null;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    function isControlFrame(opcode) {
+      return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
+    }
+    function isContinuationFrame(opcode) {
+      return opcode === opcodes.CONTINUATION;
+    }
+    function isTextBinaryFrame(opcode) {
+      return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
+    }
+    function isValidOpcode(opcode) {
+      return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
+    }
+    function parseExtensions(extensions) {
+      const position = { position: 0 };
+      const extensionList = /* @__PURE__ */ new Map();
+      while (position.position < extensions.length) {
+        const pair = collectASequenceOfCodePointsFast(";", extensions, position);
+        const [name, value = ""] = pair.split("=");
+        extensionList.set(
+          removeHTTPWhitespace(name, true, false),
+          removeHTTPWhitespace(value, false, true)
+        );
+        position.position++;
       }
-      set onabort(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].abort) {
-          this.removeEventListener("abort", this[kEvents].abort);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].abort = fn;
-          this.addEventListener("abort", fn);
-        } else {
-          this[kEvents].abort = null;
+      return extensionList;
+    }
+    function isValidClientWindowBits(value) {
+      for (let i = 0; i < value.length; i++) {
+        const byte = value.charCodeAt(i);
+        if (byte < 48 || byte > 57) {
+          return false;
         }
       }
-    };
-    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
-    FileReader.LOADING = FileReader.prototype.LOADING = 1;
-    FileReader.DONE = FileReader.prototype.DONE = 2;
-    Object.defineProperties(FileReader.prototype, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors,
-      readAsArrayBuffer: kEnumerableProperty,
-      readAsBinaryString: kEnumerableProperty,
-      readAsText: kEnumerableProperty,
-      readAsDataURL: kEnumerableProperty,
-      abort: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      result: kEnumerableProperty,
-      error: kEnumerableProperty,
-      onloadstart: kEnumerableProperty,
-      onprogress: kEnumerableProperty,
-      onload: kEnumerableProperty,
-      onabort: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onloadend: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "FileReader",
-        writable: false,
-        enumerable: false,
-        configurable: true
+      return true;
+    }
+    var hasIntl = typeof process.versions.icu === "string";
+    var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0;
+    var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) {
+      if (isUtf8(buffer)) {
+        return buffer.toString("utf-8");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync2(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]];
     }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+      }
+      createFrame(opcode) {
+        const frameData = this.frameData;
+        const maskKey = generateMask();
+        const bodyLength = frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
+        }
+        const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
+        buffer2[0] = buffer2[1] = 0;
+        buffer2[0] |= 128;
+        buffer2[0] = (buffer2[0] & 240) + opcode;
+        buffer2[offset - 4] = maskKey[0];
+        buffer2[offset - 3] = maskKey[1];
+        buffer2[offset - 2] = maskKey[2];
+        buffer2[offset - 1] = maskKey[3];
+        buffer2[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer2.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer2[2] = buffer2[3] = 0;
+          buffer2.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer2[1] |= 128;
+        for (let i = 0; i < bodyLength; ++i) {
+          buffer2[offset + i] = frameData[i] ^ maskKey[i & 3];
+        }
+        return buffer2;
+      }
+    };
     module2.exports = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url2, protocols, client, ws, onEstablish, options) {
+      const requestURL = url2;
+      requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        client,
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = getHeadersList(new Headers(options.headers));
+        request2.headersList = headersList;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto2.randomBytes(16).toString("base64");
+      request2.headersList.append("sec-websocket-key", keyValue);
+      request2.headersList.append("sec-websocket-version", "13");
+      for (const protocol of protocols) {
+        request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
-            }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
-          }
-        }
-        const responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher,
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
+            return;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
+          let extensions;
+          if (secExtension !== null) {
+            extensions = parseExtensions(secExtension);
+            if (!extensions.has("permessage-deflate")) {
+              failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match.");
+              return;
             }
-          }));
-          responsePromises.push(responsePromise.promise);
-        }
-        const p = Promise.all(responsePromises);
-        const responses = await p;
-        const operations = [];
-        let index = 0;
-        for (const response of responses) {
-          const operation = {
-            type: "put",
-            // 7.3.2
-            request: requestList[index],
-            // 7.3.3
-            response
-            // 7.3.4
-          };
-          operations.push(operation);
-          index++;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(void 0);
-          } else {
-            cacheJobPromise.reject(errorData);
           }
-        });
-        return cacheJobPromise.promise;
-      }
-      async put(request2, response) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
-        let innerRequest = null;
-        if (request2 instanceof Request) {
-          innerRequest = request2[kState];
-        } else {
-          innerRequest = new Request(request2)[kState];
-        }
-        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Got 206 status"
-          });
-        }
-        if (innerResponse.headersList.contains("vary")) {
-          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
-          for (const fieldValue of fieldValues) {
-            if (fieldValue === "*") {
-              throw webidl.errors.exception({
-                header: "Cache.put",
-                message: "Got * vary field value"
-              });
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null) {
+            const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList);
+            if (!requestProtocols.includes(secProtocol)) {
+              failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+              return;
             }
           }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response, extensions);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        const clonedResponse = cloneResponse(innerResponse);
-        const bodyReadPromise = createDeferredPromise();
-        if (innerResponse.body != null) {
-          const stream2 = innerResponse.body.stream;
-          const reader = stream2.getReader();
-          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+      });
+      return controller;
+    }
+    function closeWebSocketConnection(ws, code, reason, reasonByteLength) {
+      if (isClosing(ws) || isClosed(ws)) {
+      } else if (!isEstablished(ws)) {
+        failWebsocketConnection(ws, "Connection was closed before it was established.");
+        ws[kReadyState] = states.CLOSING;
+      } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) {
+        ws[kSentClose] = sentCloseFrameState.PROCESSING;
+        const frame = new WebsocketFrameSend();
+        if (code !== void 0 && reason === void 0) {
+          frame.frameData = Buffer.allocUnsafe(2);
+          frame.frameData.writeUInt16BE(code, 0);
+        } else if (code !== void 0 && reason !== void 0) {
+          frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+          frame.frameData.writeUInt16BE(code, 0);
+          frame.frameData.write(reason, 2, "utf-8");
         } else {
-          bodyReadPromise.resolve(void 0);
-        }
-        const operations = [];
-        const operation = {
-          type: "put",
-          // 14.
-          request: innerRequest,
-          // 15.
-          response: clonedResponse
-          // 16.
-        };
-        operations.push(operation);
-        const bytes = await bodyReadPromise.promise;
-        if (clonedResponse.body != null) {
-          clonedResponse.body.source = bytes;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 instanceof Request) {
-          r = request2[kState];
-          if (r.method !== "GET" && !options.ignoreMethod) {
-            return false;
-          }
-        } else {
-          assert(typeof request2 === "string");
-          r = new Request(request2)[kState];
-        }
-        const operations = [];
-        const operation = {
-          type: "delete",
-          request: r,
-          options
-        };
-        operations.push(operation);
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        let requestResponses;
-        try {
-          requestResponses = this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(!!requestResponses?.length);
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
+      }
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const { [kResponse]: response } = ws;
+      response.socket.off("data", onSocketData);
+      response.socket.off("close", onSocketClose);
+      response.socket.off("error", onSocketError);
+      const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result && !result.error) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kReceivedClose]) {
+        code = 1006;
+      }
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ Symbol("kLength");
+    var PerMessageDeflate = class {
+      /** @type {import('node:zlib').InflateRaw} */
+      #inflate;
+      #options = {};
+      constructor(extensions) {
+        this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
+        this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
+      }
+      decompress(chunk, fin, callback) {
+        if (!this.#inflate) {
+          let windowBits = Z_DEFAULT_WINDOWBITS;
+          if (this.#options.serverMaxWindowBits) {
+            if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
+              callback(new Error("Invalid server_max_window_bits"));
+              return;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
           }
+          this.#inflate = createInflateRaw({ windowBits });
+          this.#inflate[kBuffer] = [];
+          this.#inflate[kLength] = 0;
+          this.#inflate.on("data", (data) => {
+            this.#inflate[kBuffer].push(data);
+            this.#inflate[kLength] += data.length;
+          });
+          this.#inflate.on("error", (err) => {
+            this.#inflate = null;
+            callback(err);
+          });
         }
-        const promise = createDeferredPromise();
-        const requests = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            requests.push(requestResponse[0]);
-          }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            requests.push(requestResponse[0]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        this.#inflate.flush(() => {
+          const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
+          this.#inflate[kBuffer].length = 0;
+          this.#inflate[kLength] = 0;
+          callback(null, full);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
+    "use strict";
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #loop = false;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      /** @type {Map} */
+      #extensions;
+      constructor(ws, extensions) {
+        super();
+        this.ws = ws;
+        this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
+        if (this.#extensions.has("permessage-deflate")) {
+          this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #batchCacheOperations(operations) {
-        const cache = this.#relevantRequestResponseList;
-        const backupCache = [...cache];
-        const addedItems = [];
-        const resultList = [];
-        try {
-          for (const operation of operations) {
-            if (operation.type !== "delete" && operation.type !== "put") {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: 'operation type does not match "delete" or "put"'
-              });
+      _write(chunk, _, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        this.#loop = true;
+        this.run(callback);
+      }
+      /**
+       * Runs whenever a new chunk is received.
+       * Callback is called whenever there are no more chunks buffering,
+       * or not enough bytes are buffered to parse.
+       */
+      run(callback) {
+        while (this.#loop) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            const buffer = this.consume(2);
+            const fin = (buffer[0] & 128) !== 0;
+            const opcode = buffer[0] & 15;
+            const masked = (buffer[1] & 128) === 128;
+            const fragmented = !fin && opcode !== opcodes.CONTINUATION;
+            const payloadLength = buffer[1] & 127;
+            const rsv1 = buffer[0] & 64;
+            const rsv2 = buffer[0] & 32;
+            const rsv3 = buffer[0] & 16;
+            if (!isValidOpcode(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid opcode received");
+              return callback();
             }
-            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            let requestResponses;
-            if (operation.type === "delete") {
-              requestResponses = this.#queryCache(operation.request, operation.options);
-              if (requestResponses.length === 0) {
-                return [];
-              }
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-            } else if (operation.type === "put") {
-              if (operation.response == null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "put operation should have an associated response"
-                });
-              }
-              const r = operation.request;
-              if (!urlIsHttpHttpsScheme(r.url)) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "expected http or https scheme"
-                });
-              }
-              if (r.method !== "GET") {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "not get method"
-                });
-              }
-              if (operation.options != null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "options must not be defined"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.message.length);
+                    return;
+                  }
+                  this.#fragments.push(data);
+                  if (!this.#info.fin) {
+                    this.#state = parserStates.INFO;
+                    this.#loop = true;
+                    this.run(callback);
+                    return;
+                  }
+                  websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments));
+                  this.#loop = true;
+                  this.#state = parserStates.INFO;
+                  this.#fragments.length = 0;
+                  this.run(callback);
                 });
+                this.#loop = false;
+                break;
               }
-              requestResponses = this.#queryCache(operation.request);
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-              cache.push([operation.request, operation.response]);
-              addedItems.push([operation.request, operation.response]);
             }
-            resultList.push([operation.request, operation.response]);
           }
-          return resultList;
-        } catch (e) {
-          this.#relevantRequestResponseList.length = 0;
-          this.#relevantRequestResponseList = backupCache;
-          throw e;
         }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#query-cache
-       * @param {any} requestQuery
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @param {requestResponseList} targetStorage
-       * @returns {requestResponseList}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #queryCache(requestQuery, options, targetStorage) {
-        const resultList = [];
-        const storage = targetStorage ?? this.#relevantRequestResponseList;
-        for (const requestResponse of storage) {
-          const [cachedRequest, cachedResponse] = requestResponse;
-          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
-            resultList.push(requestResponse);
+      consume(n) {
+        if (n > this.#byteOffset) {
+          throw new Error("Called consume() before buffers satiated.");
+        } else if (n === 0) {
+          return emptyBuffer;
+        }
+        if (this.#buffers[0].length === n) {
+          this.#byteOffset -= this.#buffers[0].length;
+          return this.#buffers.shift();
+        }
+        const buffer = Buffer.allocUnsafe(n);
+        let offset = 0;
+        while (offset !== n) {
+          const next = this.#buffers[0];
+          const { length } = next;
+          if (length + offset === n) {
+            buffer.set(this.#buffers.shift(), offset);
+            break;
+          } else if (length + offset > n) {
+            buffer.set(next.subarray(0, n - offset), offset);
+            this.#buffers[0] = next.subarray(n - offset);
+            break;
+          } else {
+            buffer.set(this.#buffers.shift(), offset);
+            offset += next.length;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
-       * @param {any} requestQuery
-       * @param {any} request
-       * @param {any | null} response
-       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
-       * @returns {boolean}
-       */
-      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
-        const queryURL = new URL(requestQuery.url);
-        const cachedURL = new URL(request2.url);
-        if (options?.ignoreSearch) {
-          cachedURL.search = "";
-          queryURL.search = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        const fieldValues = getFieldValues(response.headersList.get("vary"));
-        for (const fieldValue of fieldValues) {
-          if (fieldValue === "*") {
-            return false;
-          }
-          const requestValue = request2.headersList.get(fieldValue);
-          const queryValue = requestQuery.headersList.get(fieldValue);
-          if (requestValue !== queryValue) {
-            return false;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    Object.defineProperties(Cache.prototype, {
-      [Symbol.toStringTag]: {
-        value: "Cache",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      matchAll: kEnumerableProperty,
-      add: kEnumerableProperty,
-      addAll: kEnumerableProperty,
-      put: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    var cacheQueryOptionConverters = [
-      {
-        key: "ignoreSearch",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreMethod",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreVary",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
-    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
-      ...cacheQueryOptionConverters,
-      {
-        key: "cacheName",
-        converter: webidl.converters.DOMString
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const cache = [];
-        this.#caches.set(cacheName, cache);
-        return new Cache(kConstruct, cache);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async delete(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    Object.defineProperties(CacheStorage.prototype, {
-      [Symbol.toStringTag]: {
-        value: "CacheStorage",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      has: kEnumerableProperty,
-      open: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    module2.exports = {
-      CacheStorage
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    var FastBuffer = Buffer[Symbol.species];
+    var SendQueue = class {
+      /**
+       * @type {FixedQueue}
+       */
+      #queue = new FixedQueue();
+      /**
+       * @type {boolean}
+       */
+      #running = false;
+      /** @type {import('node:net').Socket} */
+      #socket;
+      constructor(socket) {
+        this.#socket = socket;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      add(item, cb, hint) {
+        if (hint !== sendHints.blob) {
+          const frame = createFrame(item, hint);
+          if (!this.#running) {
+            this.#socket.write(frame, cb);
+          } else {
+            const node2 = {
+              promise: null,
+              callback: cb,
+              frame
+            };
+            this.#queue.push(node2);
+          }
+          return;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const node = {
+          promise: item.arrayBuffer().then((ab) => {
+            node.promise = null;
+            node.frame = createFrame(ab, hint);
+          }),
+          callback: cb,
+          frame: null
+        };
+        this.#queue.push(node);
+        if (!this.#running) {
+          this.#run();
         }
       }
-    }
-    function validateCookiePath(path11) {
-      for (const char of path11) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      async #run() {
+        this.#running = true;
+        const queue = this.#queue;
+        while (!queue.isEmpty()) {
+          const node = queue.shift();
+          if (node.promise !== null) {
+            await node.promise;
+          }
+          this.#socket.write(node.frame, node.callback);
+          node.callback = node.frame = null;
         }
+        this.#running = false;
       }
+    };
+    function createFrame(data, hint) {
+      return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY);
     }
-    function validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    function validateCookieMaxAge(maxAge) {
-      if (maxAge < 0) {
-        throw new Error("Invalid cookie max-age");
-      }
-    }
-    function stringify(cookie) {
-      if (cookie.name.length === 0) {
-        return null;
-      }
-      validateCookieName(cookie.name);
-      validateCookieValue(cookie.value);
-      const out = [`${cookie.name}=${cookie.value}`];
-      if (cookie.name.startsWith("__Secure-")) {
-        cookie.secure = true;
-      }
-      if (cookie.name.startsWith("__Host-")) {
-        cookie.secure = true;
-        cookie.domain = null;
-        cookie.path = "/";
-      }
-      if (cookie.secure) {
-        out.push("Secure");
-      }
-      if (cookie.httpOnly) {
-        out.push("HttpOnly");
-      }
-      if (typeof cookie.maxAge === "number") {
-        validateCookieMaxAge(cookie.maxAge);
-        out.push(`Max-Age=${cookie.maxAge}`);
-      }
-      if (cookie.domain) {
-        validateCookieDomain(cookie.domain);
-        out.push(`Domain=${cookie.domain}`);
-      }
-      if (cookie.path) {
-        validateCookiePath(cookie.path);
-        out.push(`Path=${cookie.path}`);
-      }
-      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
-        out.push(`Expires=${toIMFDate(cookie.expires)}`);
-      }
-      if (cookie.sameSite) {
-        out.push(`SameSite=${cookie.sameSite}`);
-      }
-      for (const part of cookie.unparsed) {
-        if (!part.includes("=")) {
-          throw new Error("Invalid unparsed");
-        }
-        const [key, ...value] = part.split("=");
-        out.push(`${key.trim()}=${value.join("=")}`);
+    function toBuffer(data, hint) {
+      switch (hint) {
+        case sendHints.string:
+          return Buffer.from(data);
+        case sendHints.arrayBuffer:
+        case sendHints.blob:
+          return new FastBuffer(data);
+        case sendHints.typedArray:
+          return new FastBuffer(data.buffer, data.byteOffset, data.byteLength);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } else {
-        nameValuePair = header;
-      }
-      if (!nameValuePair.includes("=")) {
-        value = nameValuePair;
-      } else {
-        const position = { position: 0 };
-        name = collectASequenceOfCodePointsFast(
-          "=",
-          nameValuePair,
-          position
-        );
-        value = nameValuePair.slice(position.position + 1);
-      }
-      name = name.trim();
-      value = value.trim();
-      if (name.length + value.length > maxNameValuePairSize) {
-        return null;
-      }
-      return {
-        name,
-        value,
-        ...parseUnparsedAttributes(unparsedAttributes)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
-      if (unparsedAttributes.length === 0) {
-        return cookieAttributeList;
-      }
-      assert(unparsedAttributes[0] === ";");
-      unparsedAttributes = unparsedAttributes.slice(1);
-      let cookieAv = "";
-      if (unparsedAttributes.includes(";")) {
-        cookieAv = collectASequenceOfCodePointsFast(
-          ";",
-          unparsedAttributes,
-          { position: 0 }
-        );
-        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
-      } else {
-        cookieAv = unparsedAttributes;
-        unparsedAttributes = "";
-      }
-      let attributeName = "";
-      let attributeValue = "";
-      if (cookieAv.includes("=")) {
-        const position = { position: 0 };
-        attributeName = collectASequenceOfCodePointsFast(
-          "=",
-          cookieAv,
-          position
-        );
-        attributeValue = cookieAv.slice(position.position + 1);
-      } else {
-        attributeName = cookieAv;
-      }
-      attributeName = attributeName.trim();
-      attributeValue = attributeValue.trim();
-      if (attributeValue.length > maxAttributeValueSize) {
-        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-      }
-      const attributeNameLowercase = attributeName.toLowerCase();
-      if (attributeNameLowercase === "expires") {
-        const expiryTime = new Date(attributeValue);
-        cookieAttributeList.expires = expiryTime;
-      } else if (attributeNameLowercase === "max-age") {
-        const charCode = attributeValue.charCodeAt(0);
-        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url2, protocols = []) {
+        super();
+        webidl.util.markAsUncloneable(this);
+        const prefix = "WebSocket constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options");
+        url2 = webidl.converters.USVString(url2, prefix, "url");
+        protocols = options.protocols;
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url2, baseURL);
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
         }
-        if (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        cookieAttributeList.path = cookiePath;
-      } else if (attributeNameLowercase === "secure") {
-        cookieAttributeList.secure = true;
-      } else if (attributeNameLowercase === "httponly") {
-        cookieAttributeList.httpOnly = true;
-      } else if (attributeNameLowercase === "samesite") {
-        let enforcement = "Default";
-        const attributeValueLowercase = attributeValue.toLowerCase();
-        if (attributeValueLowercase.includes("none")) {
-          enforcement = "None";
+        if (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      if (!cookie) {
-        return out;
-      }
-      for (const piece of cookie.split(";")) {
-        const [name, ...value] = piece.split("=");
-        out[name.trim()] = value.join("=");
-      }
-      return out;
-    }
-    function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookies = headers.getSetCookie();
-      if (!cookies) {
-        return [];
-      }
-      return cookies.map((pair) => parseSetCookie(pair));
-    }
-    function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        const client = environmentSettingsObject.settingsObject;
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          client,
+          this,
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
+        this[kBinaryType] = "blob";
       }
-    ]);
-    webidl.converters.Cookie = webidl.dictionaryConverter([
-      {
-        converter: webidl.converters.DOMString,
-        key: "name"
-      },
-      {
-        converter: webidl.converters.DOMString,
-        key: "value"
-      },
-      {
-        converter: webidl.nullableConverter((value) => {
-          if (typeof value === "number") {
-            return webidl.converters["unsigned long long"](value);
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
+       * @param {number|undefined} code
+       * @param {string|undefined} reason
+       */
+      close(code = void 0, reason = void 0) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.close";
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason, prefix, "reason");
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException("invalid code", "InvalidAccessError");
           }
-          return new Date(value);
-        }),
-        key: "expires",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters["long long"]),
-        key: "maxAge",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "secure",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "httpOnly",
-        defaultValue: null
-      },
-      {
-        converter: webidl.converters.USVString,
-        key: "sameSite",
-        allowedValues: ["Strict", "Lax", "None"]
-      },
-      {
-        converter: webidl.sequenceConverter(webidl.converters.DOMString),
-        key: "unparsed",
-        defaultValue: []
+        }
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
+          }
+        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
-    "use strict";
-    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    var states = {
-      CONNECTING: 0,
-      OPEN: 1,
-      CLOSING: 2,
-      CLOSED: 3
-    };
-    var opcodes = {
-      CONTINUATION: 0,
-      TEXT: 1,
-      BINARY: 2,
-      CLOSE: 8,
-      PING: 9,
-      PONG: 10
-    };
-    var maxUnsigned16Bit = 2 ** 16 - 1;
-    var parserStates = {
-      INFO: 0,
-      PAYLOADLENGTH_16: 2,
-      PAYLOADLENGTH_64: 3,
-      READ_DATA: 4
-    };
-    var emptyBuffer = Buffer.allocUnsafe(0);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.send";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        data = webidl.converters.WebSocketSendData(data, prefix, "data");
+        if (isConnecting(this)) {
+          throw new DOMException("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
+          return;
+        }
+        if (typeof data === "string") {
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
+        } else if (types.isArrayBuffer(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
+        } else if (ArrayBuffer.isView(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
+        } else if (isBlobLike(data)) {
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
+        }
       }
-      get data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      set onopen(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
+        }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
+        }
       }
-      get wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      set onerror(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
+        }
       }
-      get reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      set onclose(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.close) {
+          this.removeEventListener("close", this.#events.close);
+        }
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
+        }
       }
-      get message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      set onmessage(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
+        }
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
+        }
       }
-      get lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
+       */
+      #onConnectionEstablished(response, parsedExtensions) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this, parsedExtensions);
+        parser.on("drain", onParserDrain);
+        parser.on("error", onParserError.bind(this));
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this.#sendQueue = new SendQueue(response.socket);
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
+        }
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
     };
-    Object.defineProperties(MessageEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "MessageEvent",
-        configurable: true
-      },
-      data: kEnumerableProperty,
-      origin: kEnumerableProperty,
-      lastEventId: kEnumerableProperty,
-      source: kEnumerableProperty,
-      ports: kEnumerableProperty,
-      initMessageEvent: kEnumerableProperty
-    });
-    Object.defineProperties(CloseEvent.prototype, {
+    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
+    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
+    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
+    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
+    Object.defineProperties(WebSocket.prototype, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors,
+      url: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      bufferedAmount: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onclose: kEnumerableProperty,
+      close: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      binaryType: kEnumerableProperty,
+      send: kEnumerableProperty,
+      extensions: kEnumerableProperty,
+      protocol: kEnumerableProperty,
       [Symbol.toStringTag]: {
-        value: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         configurable: true
-      },
-      reason: kEnumerableProperty,
-      code: kEnumerableProperty,
-      wasClean: kEnumerableProperty
+      }
     });
-    Object.defineProperties(ErrorEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "ErrorEvent",
-        configurable: true
-      },
-      message: kEnumerableProperty,
-      filename: kEnumerableProperty,
-      lineno: kEnumerableProperty,
-      colno: kEnumerableProperty,
-      error: kEnumerableProperty
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    var eventInit = [
-      {
-        key: "bubbles",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "cancelable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "composed",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "data",
-        converter: webidl.converters.any,
-        defaultValue: null
-      },
-      {
-        key: "origin",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
-      {
-        key: "lastEventId",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "source",
-        // Node doesn't implement WindowProxy or ServiceWorker, so the only
-        // valid value for source is a MessagePort.
-        converter: webidl.nullableConverter(webidl.converters.MessagePort),
-        defaultValue: null
-      },
-      {
-        key: "ports",
-        converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "wasClean",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "code",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 0
-      },
-      {
-        key: "reason",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
+    webidl.converters["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    function isEstablished(ws) {
-      return ws[kReadyState] === states.OPEN;
-    }
-    function isClosing(ws) {
-      return ws[kReadyState] === states.CLOSING;
-    }
-    function isClosed(ws) {
-      return ws[kReadyState] === states.CLOSED;
-    }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { protocols: webidl.converters["DOMString or sequence"](V) };
+    };
+    webidl.converters.WebSocketSendData = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
         }
       }
-      return true;
-    }
-    function isValidStatusCode(code) {
-      if (code >= 1e3 && code < 1015) {
-        return code !== 1004 && // reserved
-        code !== 1005 && // "MUST NOT be set as a status code"
-        code !== 1006;
-      }
-      return code >= 3e3 && code <= 4999;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    function failWebsocketConnection(ws, reason) {
-      const { [kController]: controller, [kResponse]: response } = ws;
-      controller.abort();
-      if (response?.socket && !response.socket.destroyed) {
-        response.socket.destroy();
-      }
-      if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
-        });
+    function onParserError(err) {
+      let message;
+      let code;
+      if (err instanceof CloseEvent) {
+        message = err.reason;
+        code = err.code;
+      } else {
+        message = err.message;
       }
+      fireEvent("error", this, () => new ErrorEvent("error", { error: err, message }));
+      closeWebSocketConnection(this, code);
     }
     module2.exports = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url2, protocols, ws, onEstablish, options) {
-      const requestURL = url2;
-      requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto2.randomBytes(16).toString("base64");
-      request2.headersList.append("sec-websocket-key", keyValue);
-      request2.headersList.append("sec-websocket-version", "13");
-      for (const protocol of protocols) {
-        request2.headersList.append("sec-websocket-protocol", protocol);
-      }
-      const permessageDeflate = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
-            return;
-          }
-          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
-            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
-            return;
-          }
-          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
-            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
-            return;
-          }
-          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
-          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
-          if (secWSAccept !== digest) {
-            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
-            return;
-          }
-          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    function isASCIINumber(value) {
+      if (value.length === 0) return false;
+      for (let i = 0; i < value.length; i++) {
+        if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false;
       }
+      return true;
     }
-    function onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay2(ms) {
+      return new Promise((resolve6) => {
+        setTimeout(resolve6, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.frameData?.byteLength ?? 0;
-        let payloadLength = bodyLength;
-        let offset = 6;
-        if (bodyLength > maxUnsigned16Bit) {
-          offset += 8;
-          payloadLength = 127;
-        } else if (bodyLength > 125) {
-          offset += 2;
-          payloadLength = 126;
-        }
-        const buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      checkBOM = true;
+      /**
+       * @type {boolean}
+       */
+      crlfCheck = false;
+      /**
+       * @type {boolean}
+       */
+      eventEndCheck = false;
+      /**
+       * @type {Buffer}
+       */
+      buffer = null;
+      pos = 0;
+      event = {
+        data: void 0,
+        event: void 0,
+        id: void 0,
+        retry: void 0
+      };
+      /**
+       * @param {object} options
+       * @param {eventSourceSettings} options.eventSourceSettings
+       * @param {Function} [options.push]
+       */
+      constructor(options = {}) {
+        options.readableObjectMode = true;
+        super(options);
+        this.state = options.eventSourceSettings || {};
+        if (options.push) {
+          this.push = options.push;
+        }
       }
       /**
-       * Runs whenever a new chunk is received.
-       * Callback is called whenever there are no more chunks buffering,
-       * or not enough bytes are buffered to parse.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            if (payloadLength <= 125) {
-              this.#info.payloadLength = payloadLength;
-              this.#state = parserStates.READ_DATA;
-            } else if (payloadLength === 126) {
-              this.#state = parserStates.PAYLOADLENGTH_16;
-            } else if (payloadLength === 127) {
-              this.#state = parserStates.PAYLOADLENGTH_64;
-            }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _transform(chunk, _encoding, callback) {
+        if (chunk.length === 0) {
+          callback();
+          return;
+        }
+        if (this.buffer) {
+          this.buffer = Buffer.concat([this.buffer, chunk]);
+        } else {
+          this.buffer = chunk;
+        }
+        if (this.checkBOM) {
+          switch (this.buffer.length) {
+            case 1:
+              if (this.buffer[0] === BOM[0]) {
+                callback();
                 return;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              this.checkBOM = false;
+              break;
+            case 3:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = Buffer.alloc(0);
+                this.checkBOM = false;
                 callback();
                 return;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              this.checkBOM = false;
+              break;
+            default:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = this.buffer.subarray(3);
               }
-              if (this.#byteOffset > 0) {
+              this.checkBOM = false;
+              break;
+          }
+        }
+        while (this.pos < this.buffer.length) {
+          if (this.eventEndCheck) {
+            if (this.crlfCheck) {
+              if (this.buffer[this.pos] === LF) {
+                this.buffer = this.buffer.subarray(this.pos + 1);
+                this.pos = 0;
+                this.crlfCheck = false;
                 continue;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.payloadLength = buffer.readUInt16BE(0);
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
-            if (this.#byteOffset < 8) {
-              return callback();
-            }
-            const buffer = this.consume(8);
-            const upper = buffer.readUInt32BE(0);
-            if (upper > 2 ** 31 - 1) {
-              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
-              return;
-            }
-            const lower = buffer.readUInt32BE(4);
-            this.#info.payloadLength = (upper << 8) + lower;
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.READ_DATA) {
-            if (this.#byteOffset < this.#info.payloadLength) {
-              return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              this.buffer = this.buffer.subarray(this.pos + 1);
+              this.pos = 0;
+              if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) {
+                this.processEvent(this.event);
+              }
+              this.clearEvent();
+              continue;
             }
+            this.eventEndCheck = false;
+            continue;
           }
-          if (this.#byteOffset > 0) {
+          if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+            if (this.buffer[this.pos] === CR) {
+              this.crlfCheck = true;
+            }
+            this.parseLine(this.buffer.subarray(0, this.pos), this.event);
+            this.buffer = this.buffer.subarray(this.pos + 1);
+            this.pos = 0;
+            this.eventEndCheck = true;
             continue;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        const buffer = Buffer.allocUnsafe(n);
-        let offset = 0;
-        while (offset !== n) {
-          const next = this.#buffers[0];
-          const { length } = next;
-          if (length + offset === n) {
-            buffer.set(this.#buffers.shift(), offset);
+        let field = "";
+        let value = "";
+        if (colonPosition !== -1) {
+          field = line.subarray(0, colonPosition).toString("utf8");
+          let valueStart = colonPosition + 1;
+          if (line[valueStart] === SPACE) {
+            ++valueStart;
+          }
+          value = line.subarray(valueStart).toString("utf8");
+        } else {
+          field = line.toString("utf8");
+          value = "";
+        }
+        switch (field) {
+          case "data":
+            if (event[field] === void 0) {
+              event[field] = value;
+            } else {
+              event[field] += `
+${value}`;
+            }
             break;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          case "retry":
+            if (isASCIINumber(value)) {
+              event[field] = value;
+            }
+            break;
+          case "id":
+            if (isValidLastEventId(value)) {
+              event[field] = value;
+            }
+            break;
+          case "event":
+            if (value.length > 0) {
+              event[field] = value;
+            }
             break;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    var defaultReconnectionTime = 3e3;
+    var CONNECTING = 0;
+    var OPEN = 1;
+    var CLOSED = 2;
+    var ANONYMOUS = "anonymous";
+    var USE_CREDENTIALS = "use-credentials";
+    var EventSource = class _EventSource extends EventTarget {
       #events = {
         open: null,
         error: null,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #url = null;
+      #withCredentials = false;
+      #readyState = CONNECTING;
+      #request = null;
+      #controller = null;
+      #dispatcher;
+      /**
+       * @type {import('./eventsource-stream').eventSourceSettings}
+       */
+      #state;
       /**
+       * Creates a new EventSource object.
        * @param {string} url
-       * @param {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url2, protocols = []) {
+      constructor(url2, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url2 = webidl.converters.USVString(url2);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        url2 = webidl.converters.USVString(url2, prefix, "url");
+        eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
+        this.#dispatcher = eventSourceInitDict.dispatcher;
+        this.#state = {
+          lastEventId: "",
+          reconnectionTime: defaultReconnectionTime
+        };
+        const settings = environmentSettingsObject;
         let urlRecord;
         try {
-          urlRecord = new URL(url2, baseURL);
+          urlRecord = new URL(url2, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
-        }
-        if (urlRecord.protocol === "http:") {
-          urlRecord.protocol = "ws:";
-        } else if (urlRecord.protocol === "https:") {
-          urlRecord.protocol = "wss:";
-        }
-        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        const initRequest = {
+          redirect: "follow",
+          keepalive: true,
+          // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
+          mode: "cors",
+          credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
+          referrer: "no-referrer"
+        };
+        initRequest.client = environmentSettingsObject.settingsObject;
+        initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
+        initRequest.cache = "no-store";
+        initRequest.initiator = "other";
+        initRequest.urlList = [new URL(this.#url)];
+        this.#request = makeRequest(initRequest);
+        this.#connect();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      get readyState() {
+        return this.#readyState;
+      }
+      /**
+       * Returns the URL providing the event stream.
+       * @readonly
+       * @returns {string}
+       */
+      get url() {
+        return this.#url;
+      }
+      /**
+       * Returns a boolean indicating whether the EventSource object was
+       * instantiated with CORS credentials set (true), or not (false, the default).
+       */
+      get withCredentials() {
+        return this.#withCredentials;
+      }
+      #connect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        const fetchParams = {
+          request: this.#request,
+          dispatcher: this.#dispatcher
+        };
+        const processEventSourceEndOfBody = (response) => {
+          if (isNetworkError(response)) {
+            this.dispatchEvent(new Event("error"));
+            this.close();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          this.#reconnect();
+        };
+        fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
+        fetchParams.processResponse = (response) => {
+          if (isNetworkError(response)) {
+            if (response.aborted) {
+              this.close();
+              this.dispatchEvent(new Event("error"));
+              return;
+            } else {
+              this.#reconnect();
+              return;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          const frame = new WebsocketFrameSend();
-          if (code !== void 0 && reason === void 0) {
-            frame.frameData = Buffer.allocUnsafe(2);
-            frame.frameData.writeUInt16BE(code, 0);
-          } else if (code !== void 0 && reason !== void 0) {
-            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
-            frame.frameData.writeUInt16BE(code, 0);
-            frame.frameData.write(reason, 2, "utf-8");
-          } else {
-            frame.frameData = emptyBuffer;
+          const contentType = response.headersList.get("content-type", true);
+          const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
+          const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
+          if (response.status !== 200 || contentTypeValid === false) {
+            this.close();
+            this.dispatchEvent(new Event("error"));
+            return;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          this.#readyState = OPEN;
+          this.dispatchEvent(new Event("open"));
+          this.#state.origin = response.urlList[response.urlList.length - 1].origin;
+          const eventSourceStream = new EventSourceStream({
+            eventSourceSettings: this.#state,
+            push: (event) => {
+              this.dispatchEvent(createFastMessageEvent(
+                event.type,
+                event.options
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(this.#state.reconnectionTime);
+        if (this.#readyState !== CONNECTING) return;
+        if (this.#state.lastEventId.length) {
+          this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
         }
+        this.#connect();
       }
-      get readyState() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kReadyState];
-      }
-      get bufferedAmount() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#bufferedAmount;
-      }
-      get url() {
-        webidl.brandCheck(this, _WebSocket);
-        return URLSerializer(this[kWebSocketURL]);
-      }
-      get extensions() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#extensions;
-      }
-      get protocol() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#protocol;
+      /**
+       * Closes the connection, if any, and sets the readyState attribute to
+       * CLOSED.
+       */
+      close() {
+        webidl.brandCheck(this, _EventSource);
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CLOSED;
+        this.#controller.abort();
+        this.#request = null;
       }
       get onopen() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.open;
       }
       set onopen(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.open) {
           this.removeEventListener("open", this.#events.open);
         }
@@ -39295,44 +40872,10 @@ var require_websocket2 = __commonJS({
           this.#events.open = null;
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.error) {
-          this.removeEventListener("error", this.#events.error);
-        }
-        if (typeof fn === "function") {
-          this.#events.error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this.#events.error = null;
-        }
-      }
-      get onclose() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.close;
-      }
-      set onclose(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.close) {
-          this.removeEventListener("close", this.#events.close);
-        }
-        if (typeof fn === "function") {
-          this.#events.close = fn;
-          this.addEventListener("close", fn);
-        } else {
-          this.#events.close = null;
-        }
-      }
       get onmessage() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.message;
       }
       set onmessage(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.message) {
           this.removeEventListener("message", this.#events.message);
         }
@@ -39343,137 +40886,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      set onerror(fn) {
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
         } else {
-          this[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    var constantsPropertyDescriptors = {
+      CONNECTING: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CONNECTING,
+        writable: false
+      },
+      OPEN: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: OPEN,
+        writable: false
+      },
+      CLOSED: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CLOSED,
+        writable: false
       }
     };
-    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
-    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
-    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
-    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
-    Object.defineProperties(WebSocket.prototype, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors,
-      url: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      bufferedAmount: kEnumerableProperty,
-      onopen: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onclose: kEnumerableProperty,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: kEnumerableProperty,
       onmessage: kEnumerableProperty,
-      binaryType: kEnumerableProperty,
-      send: kEnumerableProperty,
-      extensions: kEnumerableProperty,
-      protocol: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "WebSocket",
-        writable: false,
-        enumerable: false,
-        configurable: true
-      }
-    });
-    Object.defineProperties(WebSocket, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
-        return webidl.converters.WebSocketInit(V);
-      }
-      return { protocols: webidl.converters["DOMString or sequence"](V) };
-    };
-    webidl.converters.WebSocketSendData = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -39482,19 +40975,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -39502,12 +40987,24 @@ var require_undici2 = __commonJS({
     module2.exports.BalancedPool = BalancedPool;
     module2.exports.Agent = Agent;
     module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
+    module2.exports.RetryAgent = RetryAgent;
     module2.exports.RetryHandler = RetryHandler;
     module2.exports.DecoratorHandler = DecoratorHandler;
     module2.exports.RedirectHandler = RedirectHandler;
     module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.interceptors = {
+      redirect: require_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     module2.exports.buildConnector = buildConnector;
     module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
     function makeDispatcher(fn) {
       return (url2, opts, handler2) => {
         if (typeof opts === "function") {
@@ -39549,48 +41046,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().fetch;
+    module2.exports.fetch = async function fetch(init, options = void 0) {
+      try {
+        return await fetchImpl(init, options);
+      } catch (err) {
+        if (err && typeof err === "object") {
+          Error.captureStackTrace(err);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().WebSocket;
+    module2.exports.CloseEvent = CloseEvent;
+    module2.exports.ErrorEvent = ErrorEvent;
+    module2.exports.MessageEvent = MessageEvent;
     module2.exports.request = makeDispatcher(api.request);
     module2.exports.stream = makeDispatcher(api.stream);
     module2.exports.pipeline = makeDispatcher(api.pipeline);
@@ -39600,6 +41091,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -45790,7 +47283,7 @@ var require_package = __commonJS({
   "package.json"(exports2, module2) {
     module2.exports = {
       name: "codeql",
-      version: "4.32.1",
+      version: "4.32.2",
       private: true,
       description: "CodeQL action",
       scripts: {
@@ -45819,7 +47312,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -45851,7 +47344,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -45860,7 +47353,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -55054,7 +56547,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -55177,7 +56670,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url2, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url2, options);
@@ -59875,7 +61368,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -60130,7 +61623,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -60244,7 +61737,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -60291,7 +61784,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -60331,7 +61824,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -96412,7 +97905,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -96489,7 +97982,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -104895,7 +106388,7 @@ function wrapApiConfigurationError(e) {
     ].some((pattern) => pattern.test(httpError.message))) {
       return new ConfigurationError(httpError.message);
     }
-    if (httpError.message.includes("Bad credentials") || httpError.message.includes("Not Found")) {
+    if (httpError.message.includes("Bad credentials") || httpError.message.includes("Not Found") || httpError.message.includes("Requires authentication")) {
       return new ConfigurationError(
         "Please check that your token is valid and has the required permissions: contents: read, security-events: write"
       );
@@ -105199,8 +106692,8 @@ var path4 = __toESM(require("path"));
 var semver5 = __toESM(require_semver2());
 
 // src/defaults.json
-var bundleVersion = "codeql-bundle-v2.24.0";
-var cliVersion = "2.24.0";
+var bundleVersion = "codeql-bundle-v2.24.1";
+var cliVersion = "2.24.1";
 
 // src/overlay-database-utils.ts
 var fs3 = __toESM(require("fs"));
@@ -109173,11 +110666,11 @@ function filterAlertsByDiffRange(logger, sarif) {
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/lib/upload-sarif-action-post.js b/lib/upload-sarif-action-post.js
index 40512ab494..07716a2c0b 100644
--- a/lib/upload-sarif-action-post.js
+++ b/lib/upload-sarif-action-post.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT");
+    var AbortError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+        this.message = message || "The operation was aborted";
+        this.code = "UND_ERR_ABORT";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
+    };
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         this.name = "InformationalError";
         this.message = message || "Request information";
         this.code = "UND_ERR_INFO";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInformationalError] === true;
+      }
+      [kInformationalError] = true;
     };
-    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE");
+    var ResponseError = class extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        this.name = "ResponseError";
+        this.message = message || "Response error";
+        this.code = "UND_ERR_RESPONSE";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseError] === true;
+      }
+      [kResponseError] = true;
+    };
+    var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS");
+    var SecureProxyConnectionError = class extends UndiciError {
+      constructor(cause, message, options) {
+        super(message, { cause, ...options ?? {} });
+        this.name = "SecureProxyConnectionError";
+        this.message = message || "Secure Proxy Connection failed";
+        this.code = "UND_ERR_PRX_TLS";
+        this.cause = cause;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSecureProxyConnectionError] === true;
+      }
+      [kSecureProxyConnectionError] = true;
     };
     module2.exports = {
+      AbortError,
       HTTPParserError,
       UndiciError,
       HeadersTimeoutError,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              node.middle = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.code < code) {
+            if (node.left !== null) {
+              node = node.left;
+            } else {
+              node.left = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.right !== null) {
+            node = node.right;
+          } else {
+            node.right = new _TstNode(key, value, index);
+            break;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    var TernarySearchTree = class {
+      /** @type {TstNode | null} */
+      node = null;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * */
+      insert(key, value) {
+        if (this.node === null) {
+          this.node = new TstNode(key, value, 0);
+        } else {
+          this.node.add(key, value);
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {any}
+       */
+      lookup(key) {
+        return this.node?.search(key)?.value ?? null;
+      }
+    };
+    var tree = new TernarySearchTree();
+    for (let i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]];
+      tree.insert(key, key);
+    }
+    module2.exports = {
+      TernarySearchTree,
+      tree
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream = require("node:stream");
+    var net = require("node:net");
+    var { Blob: Blob2 } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var { stringify } = require("node:querystring");
+    var { EventEmitter: EE } = require("node:events");
     var { InvalidArgumentError } = require_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      if (object === null) {
+        return false;
+      } else if (object instanceof Blob2) {
+        return true;
+      } else if (typeof object !== "object") {
+        return false;
+      } else {
+        const sTag = object[Symbol.toStringTag];
+        return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function");
+      }
     }
     function buildURL(url, queryParams) {
       if (url.includes("?") || url.includes("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       return url;
     }
+    function isValidPort(port) {
+      const value = parseInt(port, 10);
+      return value === Number(port) && value >= 0 && value <= 65535;
+    }
+    function isHttpOrHttpsPrefixed(value) {
+      return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
+    }
     function parseURL(url) {
       if (typeof url === "string") {
         url = new URL(url);
-        if (!/^https?:/.test(url.origin || url.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url || typeof url !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url.origin || url.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url instanceof URL)) {
-        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+        if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url.path != null && typeof url.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         if (url.origin != null && typeof url.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
-        let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
+        let origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
         let path3 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path3 && !path3.startsWith("/")) {
+        if (path3 && path3[0] !== "/") {
           path3 = `/${path3}`;
         }
-        url = new URL(origin + path3);
+        return new URL(`${origin}${path3}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream2) {
-      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
-    }
-    function isReadableAborted(stream2) {
-      const state = stream2 && stream2._readableState;
-      return isDestroyed(stream2) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream.isDestroyed?.(body));
     }
     function destroy(stream2, err) {
       if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream2.destroy(err);
       } else if (err) {
-        process.nextTick((stream3, err2) => {
-          stream3.emit("error", err2);
-        }, stream2, err);
+        queueMicrotask(() => {
+          stream2.emit("error", err);
+        });
       }
       if (stream2.destroyed !== true) {
         stream2[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        if (val) {
+          if (typeof val === "string") {
             val = [val];
             obj[key] = val;
           }
           val.push(headers[i + 1].toString("utf8"));
+        } else {
+          const headersValue = headers[i + 1];
+          if (typeof headersValue === "string") {
+            obj[key] = headersValue;
+          } else {
+            obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      const len = headers.length;
+      const ret = new Array(len);
       let hasContentLength = false;
       let contentDispositionIdx = -1;
+      let key;
+      let val;
+      let kLen = 0;
       for (let n = 0; n < headers.length; n += 2) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        key = headers[n];
+        val = headers[n + 1];
+        typeof key !== "string" && (key = key.toString());
+        typeof val !== "string" && (val = val.toString("utf8"));
+        kLen = key.length;
+        if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) {
           hasContentLength = true;
-        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          type: "bytes"
+        }
       );
     }
     function isFormDataLike(object) {
       return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
     }
-    function throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.toUSVString(val);
+      return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val);
+    }
+    function isUSVString(val) {
+      return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`;
+    }
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
       }
-      return `${val}`;
+    }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    function isValidHeaderValue(characters) {
+      return !headerCharRegex.test(characters);
     }
     function parseRangeHeader(range) {
       if (range == null || range === "") return { start: 0, end: null, size: null };
@@ -22290,8 +22632,49 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
     var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
     kEnumerableProperty.enumerable = true;
+    var normalizedMethodRecordsBase = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    var normalizedMethodRecords = {
+      ...normalizedMethodRecordsBase,
+      patch: "patch",
+      PATCH: "PATCH"
+    };
+    Object.setPrototypeOf(normalizedMethodRecordsBase, null);
+    Object.setPrototypeOf(normalizedMethodRecords, null);
     module2.exports = {
       kEnumerableProperty,
       nop,
@@ -22299,7 +22682,7 @@ var require_util9 = __commonJS({
       isErrored,
       isReadable,
       toUSVString,
-      isReadableAborted,
+      isUSVString,
       isBlobLike,
       parseOrigin,
       parseURL,
@@ -22309,6 +22692,10 @@ var require_util9 = __commonJS({
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,2519 +22708,2736 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
+    var diagnosticsChannel = require("node:diagnostics_channel");
+    var util = require("node:util");
+    var undiciDebugLog = util.debuglog("undici");
+    var fetchDebuglog = util.debuglog("fetch");
+    var websocketDebuglog = util.debuglog("websocket");
+    var isClientSet = false;
+    var channels = {
+      // Client
+      beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
+      connected: diagnosticsChannel.channel("undici:client:connected"),
+      connectError: diagnosticsChannel.channel("undici:client:connectError"),
+      sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
+      // Request
+      create: diagnosticsChannel.channel("undici:request:create"),
+      bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
+      headers: diagnosticsChannel.channel("undici:request:headers"),
+      trailers: diagnosticsChannel.channel("undici:request:trailers"),
+      error: diagnosticsChannel.channel("undici:request:error"),
+      // WebSocket
+      open: diagnosticsChannel.channel("undici:websocket:open"),
+      close: diagnosticsChannel.channel("undici:websocket:close"),
+      socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
+      ping: diagnosticsChannel.channel("undici:websocket:ping"),
+      pong: diagnosticsChannel.channel("undici:websocket:pong")
+    };
+    if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
+      const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog;
+      diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connecting to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connected to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host },
+          error: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path3);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path3,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path3);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path3, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path3,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
+    if (websocketDebuglog.enabled) {
+      if (!isClientSet) {
+        const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog;
+        diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connecting to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connected to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host },
+            error: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path3, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path3);
+        });
       }
+      diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => {
+        const {
+          address: { address, port }
+        } = evt;
+        websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : "");
+      });
+      diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => {
+        const { websocket, code, reason } = evt;
+        websocketDebuglog(
+          "closed connection to %s - %s %s",
+          websocket.url,
+          code,
+          reason
+        );
+      });
+      diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => {
+        websocketDebuglog("connection errored - %s", err.message);
+      });
+      diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => {
+        websocketDebuglog("ping received");
+      });
+      diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => {
+        websocketDebuglog("pong received");
+      });
     }
-    var Timeout = class {
-      constructor(callback, delay, opaque) {
-        this.callback = callback;
-        this.delay = delay;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
     module2.exports = {
-      setTimeout(callback, delay, opaque) {
-        return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
-    }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
-          );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path3,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path3 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path3[0] !== "/" && !(path3.startsWith("http://") || path3.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path3)) {
+          throw new InvalidArgumentError("invalid request path");
+        }
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
+          throw new InvalidArgumentError("invalid request method");
+        }
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
+        }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
+        }
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
+        }
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
+        }
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
+        }
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
+          }
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path3, query) : path3;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
+          }
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
+          }
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
+          }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
       }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
+        }
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
+        } else {
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
+        }
       }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        }
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
+        }
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
           return false;
         }
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
-    }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
       }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
+        }
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
+        }
       }
-      return limits[name];
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        if (isMatch) {
-          self2._finish();
+        if (this.aborted) {
+          return;
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
+        this.aborted = true;
+        return this[kHandler].onError(error3);
       }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
+        }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
+        }
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
     };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
+    function processHeader(request2, key, val) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
         return;
       }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
+            }
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
+          } else {
+            arr.push(`${val[i]}`);
           }
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+      } else if (val === null) {
+        val = "";
+      } else {
+        val = `${val}`;
+      }
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
+        }
+        request2.host = val;
+      } else if (request2.contentLength === null && headerName === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
+        }
+      } else if (request2.contentType === null && headerName === "content-type") {
+        request2.contentType = val;
+        request2.headers.push(key, val);
+      } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
+        throw new InvalidArgumentError(`invalid ${headerName} header`);
+      } else if (headerName === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
         }
+        if (value === "close") {
+          request2.reset = true;
+        }
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
+      } else {
+        request2.headers.push(key, val);
       }
-    };
-    module2.exports = HeaderParser;
+    }
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
+      }
+      close() {
+        throw new Error("not implemented");
+      }
+      destroy() {
+        throw new Error("not implemented");
+      }
+      compose(...args) {
+        const interceptors = Array.isArray(args[0]) ? args[0] : args;
+        let dispatch = this.dispatch.bind(this);
+        for (const interceptor of interceptors) {
+          if (interceptor == null) {
+            continue;
+          }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
+          }
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
+          }
+        }
+        return new ComposedDispatcher(this, dispatch);
+      }
     };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
+      dispatch(...args) {
+        this.#dispatch(...args);
       }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
+      close(...args) {
+        return this.#dispatcher.close(...args);
       }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
-        }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
     };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
-          }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
-        } else {
-          return cb();
-        }
+    module2.exports = Dispatcher;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
+      get destroyed() {
+        return this[kDestroyed];
       }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
+      get closed() {
+        return this[kClosed];
       }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
+      get interceptors() {
+        return this[kInterceptors];
       }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
             }
-            this._dashes = 0;
-            break;
           }
         }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve2, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve2(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
+          return;
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+          return;
+        }
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
           }
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
+        });
+      }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
         }
-        if (this._dashes) {
+        if (callback === void 0) {
+          return new Promise((resolve2, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve2(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-      }
-      if (this._justMatched) {
-        this._justMatched = false;
-      }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
+        if (!err) {
+          err = new ClientDestroyedError();
+        }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
         };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
+        });
+      }
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
         }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
         }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
       }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
+        }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
           }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
           }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+          if (this[kClosed]) {
+            throw new ClientClosedError();
           }
-        }
-      }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
-        } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
           }
+          handler2.onError(err);
+          return false;
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
-      }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
       }
     };
-    module2.exports = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer");
+    var fastTimers = [];
+    var NOT_IN_LIST = -2;
+    var TO_BE_CLEARED = -1;
+    var PENDING = 0;
+    var ACTIVE = 1;
+    function onTick() {
+      fastNow += TICK_MS;
+      let idx = 0;
+      let len = fastTimers.length;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer._state === PENDING) {
+          timer._idleStart = fastNow - TICK_MS;
+          timer._state = ACTIVE;
+        } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
+          timer._state = TO_BE_CLEARED;
+          timer._idleStart = -1;
+          timer._onTimeout(timer._timerArg);
+        }
+        if (timer._state === TO_BE_CLEARED) {
+          timer._state = NOT_IN_LIST;
+          if (--len !== 0) {
+            fastTimers[idx] = fastTimers[len];
+          }
+        } else {
+          ++idx;
         }
       }
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
+      }
     }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
         }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+    }
+    var FastTimer = class {
+      [kFastTimer] = true;
+      /**
+       * The state of the timer, which can be one of the following:
+       * - NOT_IN_LIST (-2)
+       * - TO_BE_CLEARED (-1)
+       * - PENDING (0)
+       * - ACTIVE (1)
+       *
+       * @type {-2|-1|0|1}
+       * @private
+       */
+      _state = NOT_IN_LIST;
+      /**
+       * The number of milliseconds to wait before calling the callback.
+       *
+       * @type {number}
+       * @private
+       */
+      _idleTimeout = -1;
+      /**
+       * The time in milliseconds when the timer was started. This value is used to
+       * calculate when the timer should expire.
+       *
+       * @type {number}
+       * @default -1
+       * @private
+       */
+      _idleStart = -1;
+      /**
+       * The function to be executed when the timer expires.
+       * @type {Function}
+       * @private
+       */
+      _onTimeout;
+      /**
+       * The argument to be passed to the callback when the timer expires.
+       *
+       * @type {*}
+       * @private
+       */
+      _timerArg;
+      /**
+       * @constructor
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should wait
+       * before the specified function or code is executed.
+       * @param {*} arg
+       */
+      constructor(callback, delay, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay;
+        this._timerArg = arg;
+        this.refresh();
+      }
+      /**
+       * Sets the timer's start time to the current time, and reschedules the timer
+       * to call its callback at the previously specified duration adjusted to the
+       * current time.
+       * Using this on a timer that has already called its callback will reactivate
+       * the timer.
+       *
+       * @returns {void}
+       */
+      refresh() {
+        if (this._state === NOT_IN_LIST) {
+          fastTimers.push(this);
         }
-        if (typeof data === "string") {
-          return data;
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
         }
-        return data.latin1Slice(0, data.length);
+        this._state = PENDING;
+      }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
+    module2.exports = {
+      /**
+       * The setTimeout() method sets a timer which executes a function once the
+       * timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {NodeJS.Timeout|FastTimer}
+       */
+      setTimeout(callback, delay, arg) {
+        return delay <= RESOLUTION_MS ? setTimeout(callback, delay, arg) : new FastTimer(callback, delay, arg);
       },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      /**
+       * The clearTimeout method cancels an instantiated Timer previously created
+       * by calling setTimeout.
+       *
+       * @param {NodeJS.Timeout|FastTimer} timeout
+       */
+      clearTimeout(timeout) {
+        if (timeout[kFastTimer]) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
         }
-        return data.ucs2Slice(0, data.length);
       },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      /**
+       * The setFastTimeout() method sets a fastTimer which executes a function once
+       * the timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {FastTimer}
+       */
+      setFastTimeout(callback, delay, arg) {
+        return new FastTimer(callback, delay, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated FastTimer previously
+       * created by calling setFastTimeout.
+       *
+       * @param {FastTimer} timeout
+       */
+      clearFastTimeout(timeout) {
+        timeout.clear();
+      },
+      /**
+       * The now method returns the value of the internal fast timer clock.
+       *
+       * @returns {number}
+       */
+      now() {
+        return fastNow;
+      },
+      /**
+       * Trigger the onTick function to process the fastTimers array.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       * @param {number} [delay=0] The delay in milliseconds to add to the now value.
+       */
+      tick(delay = 0) {
+        fastNow += delay - RESOLUTION_MS + 1;
+        onTick();
+        onTick();
+      },
+      /**
+       * Reset FastTimers.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      reset() {
+        fastNow = 0;
+        fastTimers.length = 0;
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = null;
+      },
+      /**
+       * Exporting for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      kFastTimer
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
+    "use strict";
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
+    }
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
+          this._sessionCache.set(sessionKey, session);
         }
-        return typeof data === "string" ? data : data.toString();
+      };
+    }
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+      }
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("node:tls");
+          }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          assert(sessionKey);
+          const session = customSession || sessionCache.get(sessionKey) || null;
+          port = port || 443;
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          port = port || 80;
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port,
+            host: hostname
+          });
+        }
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
+        }
+        const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port });
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
+          }
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
+          }
+        });
+        return socket;
+      };
+    }
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
+      }
+      let s1 = null;
+      let s2 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    } : (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
+      let s1 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          onConnectTimeout(socketWeakRef.deref(), opts);
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+      };
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
+        return;
       }
-      return text;
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
+      }
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    module2.exports = decodeText;
+    module2.exports = buildConnector;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
     "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
-            }
-            continue;
-          } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
-          }
-        }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-      } else {
-        res[p][1] = tmp;
-      }
+      });
       return res;
     }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename2(path3) {
-      if (typeof path3 !== "string") {
-        return "";
-      }
-      for (var i = path3.length - 1; i >= 0; --i) {
-        switch (path3.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path3 = path3.slice(i + 1);
-            return path3 === ".." || path3 === "." ? "" : path3;
-        }
-      }
-      return path3 === ".." || path3 === "." ? "" : path3;
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    var { Readable } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename2 = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
-        }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
-        }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
-        }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename2(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
-      } else {
-        this._needDrain = !r;
-        this._cb = cb;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
       }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
     };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
-      }
+    exports2.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
     };
-    function skipPart(part) {
-      part.resume();
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
     }
-    function FileStream(opts) {
-      Readable.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
     }
-    inherits(FileStream, Readable);
-    FileStream.prototype._read = function(n) {
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
     };
-    module2.exports = Multipart;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    "use strict";
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.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");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var corsSafeListedMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "POST"]
+    );
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = (
+      /** @type {const} */
+      [101, 204, 205, 304]
+    );
+    var redirectStatus = (
+      /** @type {const} */
+      [301, 302, 303, 307, 308]
+    );
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = (
+      /** @type {const} */
+      [
+        "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"
+      ]
+    );
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = (
+      /** @type {const} */
+      [
+        "",
+        "no-referrer",
+        "no-referrer-when-downgrade",
+        "same-origin",
+        "origin",
+        "strict-origin",
+        "origin-when-cross-origin",
+        "strict-origin-when-cross-origin",
+        "unsafe-url"
+      ]
+    );
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = (
+      /** @type {const} */
+      ["follow", "manual", "error"]
+    );
+    var safeMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "OPTIONS", "TRACE"]
+    );
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = (
+      /** @type {const} */
+      ["navigate", "same-origin", "no-cors", "cors"]
+    );
+    var requestCredentials = (
+      /** @type {const} */
+      ["omit", "same-origin", "include"]
+    );
+    var requestCache = (
+      /** @type {const} */
+      [
+        "default",
+        "no-store",
+        "reload",
+        "no-cache",
+        "force-cache",
+        "only-if-cached"
+      ]
+    );
+    var requestBodyHeader = (
+      /** @type {const} */
+      [
+        "content-encoding",
+        "content-language",
+        "content-location",
+        "content-type",
+        // See https://github.com/nodejs/undici/issues/2021
+        // 'Content-Length' is a forbidden header name, which is typically
+        // removed in the Headers implementation. However, undici doesn't
+        // filter out headers, so we add it here.
+        "content-length"
+      ]
+    );
+    var requestDuplex = (
+      /** @type {const} */
+      [
+        "half"
+      ]
+    );
+    var forbiddenMethods = (
+      /** @type {const} */
+      ["CONNECT", "TRACE", "TRACK"]
+    );
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = (
+      /** @type {const} */
+      [
+        "audio",
+        "audioworklet",
+        "font",
+        "image",
+        "manifest",
+        "paintworklet",
+        "script",
+        "style",
+        "track",
+        "video",
+        "xslt",
+        ""
+      ]
+    );
+    var subresourceSet = new Set(subresource);
+    module2.exports = {
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
     };
-    module2.exports = Decoder;
   }
 });
 
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
     "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
       }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
     }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function percentDecode(input) {
+      const length = input.length;
+      const output = new Uint8Array(length);
+      let j = 0;
+      for (let i = 0; i < length; ++i) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output[j++] = byte;
+        } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) {
+          output[j++] = 37;
+        } else {
+          output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]);
+          i += 2;
         }
-        return cb();
       }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      return length === j ? output : output.subarray(0, j);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
+      }
+      if (position.position > input.length) {
+        return "failure";
+      }
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
+      }
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
           }
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
         } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
+    }
+    function forgivingBase64(data) {
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
           }
         }
       }
-      cb();
-    };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+      if (dataLength % 4 === 1) {
+        return "failure";
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
+      }
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
         );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
-    };
-    module2.exports = UrlEncoded;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+      if (extractValue) {
+        return value;
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
     }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
-          return;
-        } else if (this._finished) {
-          return;
+    function isomorphicDecode(input) {
+      const length = input.length;
+      if ((2 << 15) - 1 > length) {
+        return String.fromCharCode.apply(null, input);
+      }
+      let result = "";
+      let i = 0;
+      let addition = (2 << 15) - 1;
+      while (i < length) {
+        if (i + addition > length) {
+          addition = length - i;
         }
-        this._finished = true;
+        result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
       }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+      return result;
+    }
+    function minimizeSupportedMimeType(mimeType) {
+      switch (mimeType.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";
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
+      if (mimeType.subtype.endsWith("+xml")) {
+        return "application/xml";
+      }
+      return "";
+    }
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType,
+      removeChars,
+      removeHTTPWhitespace,
+      minimizeSupportedMimeType,
+      HTTP_TOKEN_CODEPOINTS,
+      isomorphicDecode
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
-      }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
-      }
-      if (!channel) {
-        channel = new MessageChannel();
-      }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
     };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
     };
-  }
-});
-
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
-    function getGlobalOrigin() {
-      return globalThis[globalOrigin];
-    }
-    function setGlobalOrigin(newOrigin) {
-      if (newOrigin === void 0) {
-        Object.defineProperty(globalThis, globalOrigin, {
-          value: void 0,
-          writable: true,
-          enumerable: false,
-          configurable: false
-        });
-        return;
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts) {
+      if (opts?.strict !== false) {
+        if (!(V instanceof I)) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      } else {
+        if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          header: ctx
+        });
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
       });
-    }
-    module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
     };
-  }
-});
-
-// node_modules/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
-    "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance2 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
-    } catch {
-    }
-    function responseURL(response) {
-      const urlList = response.urlList;
-      const length = urlList.length;
-      return length === 0 ? null : urlList[length - 1].toString();
-    }
-    function responseLocationURL(response, requestFragment) {
-      if (!redirectStatusSet.has(response.status)) {
-        return null;
-      }
-      let location = response.headersList.get("location");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
+          }
+          return "Object";
+        }
       }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
+    };
+    webidl.util.markAsUncloneable = markAsUncloneable || (() => {
+    });
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
+        }
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
       }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
-        return "blocked";
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
       }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
-    }
-    function isValidReasonPhrase(statusText) {
-      for (let i = 0; i < statusText.length; ++i) {
-        const c = statusText.charCodeAt(i);
-        if (!(c === 9 || // HTAB
-        c >= 32 && c <= 126 || // SP / VCHAR
-        c >= 128 && c <= 255)) {
-          return false;
+      if (opts?.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
+          });
         }
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
+        }
+        return x;
       }
-      return true;
-    }
-    function isTokenCharCode(c) {
-      switch (c) {
-        case 34:
-        case 40:
-        case 41:
-        case 44:
-        case 47:
-        case 58:
-        case 59:
-        case 60:
-        case 61:
-        case 62:
-        case 63:
-        case 64:
-        case 91:
-        case 92:
-        case 93:
-        case 123:
-        case 125:
-          return false;
-        default:
-          return c >= 33 && c <= 126;
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
       }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
       }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
-        }
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
       }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
       }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
       }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        let index = 0;
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} is not iterable.`
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
             break;
           }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
         }
-      }
-      if (policy !== "") {
-        request2.referrerPolicy = policy;
-      }
-    }
-    function crossOriginResourcePolicyCheck() {
-      return "allowed";
-    }
-    function corsCheck() {
-      return "success";
-    }
-    function TAOCheck() {
-      return "success";
-    }
-    function appendFetchMetadata(httpRequest) {
-      let header = null;
-      header = httpRequest.mode;
-      httpRequest.headersList.set("sec-fetch-mode", header);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O, prefix, argument) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} ("${webidl.util.Type(O)}") is not an Object.`
+          });
         }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
+          for (const key of keys2) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+          return result;
         }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
         }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance2.now();
-    }
-    function createOpaqueTimingInfo(timingInfo) {
-      return {
-        startTime: timingInfo.startTime ?? 0,
-        redirectStartTime: 0,
-        redirectEndTime: 0,
-        postRedirectStartTime: timingInfo.startTime ?? 0,
-        finalServiceWorkerStartTime: 0,
-        finalNetworkResponseStartTime: 0,
-        finalNetworkRequestStartTime: 0,
-        endTime: 0,
-        encodedBodySize: 0,
-        decodedBodySize: 0,
-        finalConnectionTimingInfo: null
-      };
-    }
-    function makePolicyContainer() {
-      return {
-        referrerPolicy: "strict-origin-when-cross-origin"
-      };
-    }
-    function clonePolicyContainer(policyContainer) {
-      return {
-        referrerPolicy: policyContainer.referrerPolicy
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, prefix, argument, opts) => {
+        if (opts?.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.`
+          });
+        }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary, prefix, argument) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
+          });
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!Object.hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = Object.hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value ??= defaultValue();
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value, prefix, `${argument}.${key}`);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V, prefix, argument) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V, prefix, argument);
+      };
+    };
+    webidl.converters.DOMString = function(V, prefix, argument, opts) {
+      if (V === null && opts?.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${argument} is a symbol, which cannot be converted to a DOMString.`
+        });
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V, prefix, argument) {
+      const x = webidl.converters.DOMString(V, prefix, argument);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
+      }
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, prefix, argument, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${argument} ("${webidl.util.Stringify(V)}")`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.resizable || V.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${name} ("${webidl.util.Stringify(V)}")`,
+          types: [T.name]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${name} is not a DataView.`
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, prefix, name, opts) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false });
+      }
+      throw webidl.errors.conversionFailed({
+        prefix,
+        argument: `${name} ("${webidl.util.Stringify(V)}")`,
+        types: ["BufferSource"]
+      });
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance2 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
+      }
+      let location = response.headersList.get("location", true);
+      if (location !== null && isValidHeaderValue(location)) {
+        if (!isValidEncodedURL(location)) {
+          location = normalizeBinaryStringToUtf8(location);
+        }
+        location = new URL(location, responseURL(response));
+      }
+      if (location && !location.hash) {
+        location.hash = requestFragment;
+      }
+      return location;
+    }
+    function isValidEncodedURL(url) {
+      for (let i = 0; i < url.length; ++i) {
+        const code = url.charCodeAt(i);
+        if (code > 126 || // Non-US-ASCII + DEL
+        code < 32) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function normalizeBinaryStringToUtf8(value) {
+      return Buffer.from(value, "binary").toString("utf8");
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
+        return "blocked";
+      }
+      return "allowed";
+    }
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var isValidHeaderName = isValidHTTPToken;
+    function isValidHeaderValue(potentialValue) {
+      return (potentialValue[0] === "	" || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === "	" || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
+    }
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
+          }
+        }
+      }
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
+      }
+    }
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header, true);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (serializedOrigin === "client" || serializedOrigin === void 0) {
+        return;
+      }
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        request2.headersList.append("origin", serializedOrigin, true);
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
+        }
+        request2.headersList.append("origin", serializedOrigin, true);
+      }
+    }
+    function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
+      if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
+        return {
+          domainLookupStartTime: defaultStartTime,
+          domainLookupEndTime: defaultStartTime,
+          connectionStartTime: defaultStartTime,
+          connectionEndTime: defaultStartTime,
+          secureConnectionStartTime: defaultStartTime,
+          ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
+        };
+      }
+      return {
+        domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
+        domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
+        connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
+        connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
+        secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
+        ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
+      };
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return coarsenTime(performance2.now(), crossOriginIsolatedCapability);
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
+      };
+    }
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
+      };
+    }
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
       };
     }
     function determineRequestsReferrer(request2) {
@@ -24897,6 +25501,7 @@ var require_util10 = __commonJS({
     }
     function stripURLForReferrer(url, originOnly) {
       assert(url instanceof URL);
+      url = new URL(url);
       if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
         return "no-referrer";
       }
@@ -25052,23 +25657,8 @@ var require_util10 = __commonJS({
     function isCancelled(fetchParams) {
       return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
     }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
     function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
     }
     function serializeJavascriptValueToJSONString(value) {
       const result = JSON.stringify(value);
@@ -25079,98 +25669,164 @@ var require_util10 = __commonJS({
       return result;
     }
     var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
         next() {
-          if (Object.getPrototypeOf(this) !== i) {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
             throw new TypeError(
               `'next' called on an object that does not implement interface ${name} Iterator.`
             );
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
           const len = values.length;
           if (index >= len) {
-            return { value: void 0, done: true };
+            return {
+              value: void 0,
+              done: true
+            };
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
-      };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
         }
       }
-      return { value: result, done: false };
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
     }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
       } catch (e) {
         errorSteps(e);
         return;
       }
       try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
+        successSteps(await readAllBytes(reader));
       } catch (e) {
         errorSteps(e);
       }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
     function isReadableStreamLike(stream) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
-      }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
+      return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
     }
     function readableStreamClose(controller) {
       try {
         controller.close();
+        controller.byobRequest?.respond(0);
       } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
           throw err;
         }
       }
     }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
     function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
-      }
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
       return input;
     }
     async function readAllBytes(reader) {
@@ -25194,24 +25850,223 @@ var require_util10 = __commonJS({
       return protocol === "about:" || protocol === "blob:" || protocol === "data:";
     }
     function urlHasHttpsScheme(url) {
-      if (typeof url === "string") {
-        return url.startsWith("https:");
-      }
-      return url.protocol === "https:";
+      return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:";
     }
     function urlIsHttpHttpsScheme(url) {
       assert("protocol" in url);
       const protocol = url.protocol;
       return protocol === "http:" || protocol === "https:";
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    function simpleRangeHeaderValue(value, allowWhitespace) {
+      const data = value;
+      if (!data.startsWith("bytes")) {
+        return "failure";
+      }
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeStart = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeEnd = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
+      if (position.position < data.length) {
+        return "failure";
+      }
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
+      }
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
+      }
+      return { rangeStartValue, rangeEndValue };
+    }
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
+    }
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
+      }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
+          }
+          this._inflateStream = (chunk[0] & 15) === 8 ? zlib.createInflate(this.#zlibOptions) : zlib.createInflateRaw(this.#zlibOptions);
+          this._inflateStream.on("data", this.push.bind(this));
+          this._inflateStream.on("end", () => this.push(null));
+          this._inflateStream.on("error", (err) => this.destroy(err));
+        }
+        this._inflateStream.write(chunk, encoding, callback);
+      }
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
+        }
+        callback();
+      }
+    };
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
+    }
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
+      }
+      for (const value of values) {
+        const temporaryMimeType = parseMIMEType(value);
+        if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
+          continue;
+        }
+        mimeType = temporaryMimeType;
+        if (mimeType.essence !== essence) {
+          charset = null;
+          if (mimeType.parameters.has("charset")) {
+            charset = mimeType.parameters.get("charset");
+          }
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
+        }
+      }
+      if (mimeType == null) {
+        return "failure";
+      }
+      return mimeType;
+    }
+    function gettingDecodingSplitting(value) {
+      const input = value;
+      const position = { position: 0 };
+      const values = [];
+      let temporaryValue = "";
+      while (position.position < input.length) {
+        temporaryValue += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== ",",
+          input,
+          position
+        );
+        if (position.position < input.length) {
+          if (input.charCodeAt(position.position) === 34) {
+            temporaryValue += collectAnHTTPQuotedString(
+              input,
+              position
+            );
+            if (position.position < input.length) {
+              continue;
+            }
+          } else {
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
+          }
+        }
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
+      }
+      return values;
+    }
+    function getDecodeSplit(name, list) {
+      const value = list.get(name, true);
+      if (value === null) {
+        return null;
+      }
+      return gettingDecodingSplitting(value);
+    }
+    var textDecoder = new TextDecoder();
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
+      }
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
+      }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
     module2.exports = {
       isAborted,
       isCancelled,
+      isValidEncodedURL,
       createDeferredPromise,
       ReadableStreamFrom,
-      toUSVString,
       tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
       coarsenedSharedCurrentTime,
       determineRequestsReferrer,
       makePolicyContainer,
@@ -25234,2475 +26089,2391 @@ var require_util10 = __commonJS({
       sameOrigin,
       normalizeMethod,
       serializeJavascriptValueToJSONString,
-      makeIterator,
+      iteratorMixin,
+      createIterator,
       isValidHeaderName,
       isValidHeaderValue,
-      hasOwn,
       isErrorLike,
       fullyReadBody,
       bytesMatch,
       isReadableStreamLike,
       readableStreamClose,
       isomorphicEncode,
-      isomorphicDecode,
       urlIsLocal,
       urlHasHttpsScheme,
       urlIsHttpHttpsScheme,
       readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
     };
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
 var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kUrl: /* @__PURE__ */ Symbol("url"),
       kHeaders: /* @__PURE__ */ Symbol("headers"),
       kSignal: /* @__PURE__ */ Symbol("signal"),
       kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
-    };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
-      });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
-      });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
-      } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
       }
-    };
-    webidl.argumentLengthCheck = function({ length }, min, ctx) {
-      if (length < min) {
-        throw webidl.errors.exception({
-          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
-          ...ctx
-        });
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
       }
-    };
-    webidl.illegalConstructor = function() {
-      throw webidl.errors.exception({
-        header: "TypeError",
-        message: "Illegal constructor"
-      });
-    };
-    webidl.util.Type = function(V) {
-      switch (typeof V) {
-        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": {
-          if (V === null) {
-            return "Null";
-          }
-          return "Object";
-        }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
       }
-    };
-    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
-      let upperBound;
-      let lowerBound;
-      if (bitLength === 64) {
-        upperBound = Math.pow(2, 53) - 1;
-        if (signedness === "unsigned") {
-          lowerBound = 0;
-        } else {
-          lowerBound = Math.pow(-2, 53) + 1;
-        }
-      } else if (signedness === "unsigned") {
-        lowerBound = 0;
-        upperBound = Math.pow(2, bitLength) - 1;
-      } else {
-        lowerBound = Math.pow(-2, bitLength) - 1;
-        upperBound = Math.pow(2, bitLength - 1) - 1;
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
       }
-      if (opts.enforceRange === true) {
-        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Could not convert ${V} to an integer.`
-          });
-        }
-        x = webidl.util.IntegerPart(x);
-        if (x < lowerBound || x > upperBound) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
-          });
-        }
-        return x;
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
-        }
-        return x;
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
       }
-      x = webidl.util.IntegerPart(x);
-      x = x % Math.pow(2, bitLength);
-      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
-        return x - Math.pow(2, bitLength);
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+      get [Symbol.toStringTag]() {
+        return "File";
       }
-      return r;
     };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
           });
         }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
-        }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
-          }
-          seq2.push(converter(value));
-        }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
-        }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
-          }
-          return result;
-        }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
-          }
-        }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
-        }
-        return V;
-      };
-    };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
-        }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
-            }
-          }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
-          }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
-            }
-            dict[key] = value;
-          }
-        }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
-        }
-        return converter(V);
-      };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
-      }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+        this[kState] = [];
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      for (let index = 0; index < x.length; index++) {
-        if (x.charCodeAt(index) > 255) {
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.append";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
           throw new TypeError(
-            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
           );
         }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
       }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
-    };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.get";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
       }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.getAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
       }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.set";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
+        } else {
+          this[kState].push(entry);
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+      [nodeUtil.inspect.custom](depth, options) {
+        const state = this[kState].reduce((a, b) => {
+          if (a[b.name]) {
+            if (Array.isArray(a[b.name])) {
+              a[b.name].push(b.value);
+            } else {
+              a[b.name] = [a[b.name], b.value];
+            }
+          } else {
+            a[b.name] = b.value;
+          }
+          return a;
+        }, { __proto__: null });
+        options.depth ??= depth;
+        options.colors ??= true;
+        const output = nodeUtil.formatWithOptions(options, state);
+        return `FormData ${output.slice(output.indexOf("]") + 2)}`;
       }
-      return V;
     };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
-      }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+    });
+    function makeEntry(name, value, filename) {
+      if (typeof value === "string") {
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
   }
 });
 
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
-      }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
-      }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
-      }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
-      }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url.href;
-      }
-      const href = url.href;
-      const hashLength = url.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
-    }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
       }
-      return result;
+      return true;
     }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
-    }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
         }
       }
-      return Uint8Array.from(output);
+      return true;
     }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
         return "failure";
       }
-      if (position.position > input.length) {
-        return "failure";
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
       }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
       }
-      const typeLowercase = type2.toLowerCase();
-      const subtypeLowercase = subtype.toLowerCase();
-      const mimeType = {
-        type: typeLowercase,
-        subtype: subtypeLowercase,
-        /** @type {Map} */
-        parameters: /* @__PURE__ */ new Map(),
-        // https://mimesniff.spec.whatwg.org/#mime-type-essence
-        essence: `${typeLowercase}/${subtypeLowercase}`
-      };
-      while (position.position < input.length) {
-        position.position++;
-        collectASequenceOfCodePoints(
-          // https://fetch.spec.whatwg.org/#http-whitespace
-          (char) => HTTP_WHITESPACE_REGEX.test(char),
-          input,
-          position
-        );
-        let parameterName = collectASequenceOfCodePoints(
-          (char) => char !== ";" && char !== "=",
-          input,
-          position
-        );
-        parameterName = parameterName.toLowerCase();
-        if (position.position < input.length) {
-          if (input[position.position] === ";") {
-            continue;
-          }
-          position.position++;
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
         }
-        if (position.position > input.length) {
-          break;
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
         }
-        let parameterValue = null;
-        if (input[position.position] === '"') {
-          parameterValue = collectAnHTTPQuotedString(input, position, true);
-          collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-        } else {
-          parameterValue = collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
-          );
-          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
-          if (parameterValue.length === 0) {
-            continue;
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
           }
         }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
         }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
       }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
-      }
-      if (data.length % 4 === 1) {
-        return "failure";
-      }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
-      }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
-      }
-      return bytes;
     }
-    function collectAnHTTPQuotedString(input, position, extractValue) {
-      const positionStart = position.position;
-      let value = "";
-      assert(input[position.position] === '"');
-      position.position++;
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
       while (true) {
-        value += collectASequenceOfCodePoints(
-          (char) => char !== '"' && char !== "\\",
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
           input,
           position
         );
-        if (position.position >= input.length) {
-          break;
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
         }
-        const quoteOrBackslash = input[position.position];
         position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
             break;
           }
-          value += input[position.position];
-          position.position++;
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
         } else {
-          assert(quoteOrBackslash === '"');
-          break;
+          position.position += 2;
         }
       }
-      if (extractValue) {
-        return value;
-      }
-      return input.slice(positionStart, position.position);
     }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
-        }
-        serialization += value;
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
       }
-      return serialization;
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
     }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+    function removeChars(buf, leading, trailing, predicate) {
       let lead = 0;
-      let trail = str2.length - 1;
+      let trail = buf.length - 1;
       if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
+        while (lead < buf.length && predicate(buf[lead])) lead++;
       }
       if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+        while (trail > 0 && predicate(buf[trail])) trail--;
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
     }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
       }
-      return str2.slice(lead, trail + 1);
+      return true;
     }
     module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
+      multipartFormDataParser,
+      validateBoundary
     };
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
     var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
     var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
+    var { Blob: Blob2 } = require("node:buffer");
+    var assert = require("node:assert");
+    var { isErrored, isDisturbed } = require("node:stream");
+    var { isArrayBuffer } = require("node:util/types");
+    var { serializeAMimeType } = require_data_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var textEncoder = new TextEncoder();
+    function noop3() {
+    }
+    var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
+    var streamRegistry;
+    if (hasFinalizationRegistry) {
+      streamRegistry = new FinalizationRegistry((weakRef) => {
+        const stream = weakRef.deref();
+        if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) {
+          stream.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream = null;
+      if (object instanceof ReadableStream) {
+        stream = object;
+      } else if (isBlobLike(object)) {
+        stream = object.stream();
+      } else {
+        stream = new ReadableStream({
+          async pull(controller) {
+            const buffer = typeof source === "string" ? textEncoder.encode(source) : source;
+            if (buffer.byteLength) {
+              controller.enqueue(buffer);
+            }
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: "bytes"
+        });
+      }
+      assert(isReadableStreamLike(stream));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
             }
-            t = serializeAMimeType(t).toLowerCase();
           }
-          d = options.lastModified;
         }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
-      }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
-      }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
-      }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
-      }
-    };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
+        const chunk = textEncoder.encode(`--${boundary}--\r
+`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
+          }
         };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
       }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
-      }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
-      }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
-      }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
-      }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
-      }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      if (action != null) {
+        let iterator2;
+        stream = new ReadableStream({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+                controller.byobRequest?.respond(0);
+              });
+            } else {
+              if (!isErrored(stream)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+      const body = { stream, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
-        }
-      }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
-          }
-          return value;
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
         },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  for (const [name, value2] of entries) {
+                    fd.append(name, value2);
+                  }
+                  return fd;
+                }
+              }
+            }
+            throw new TypeError(
+              'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
             );
-          }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
+          }, instance);
+        },
+        bytes() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes);
+          }, instance);
         }
-      }
-      return bytes;
+      };
+      return methods;
     }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function consumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      if (bodyUnusable(object)) {
+        throw new TypeError("Body is unusable: Body has already been read");
       }
-      return s.replace(/\r?\n/g, nativeLineEnding);
+      throwIfAborted(object[kState]);
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
     }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    module2.exports = { File: File2, FileLike, isFileLike };
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
   }
 });
 
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
     "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
-          });
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kParser,
+      kBlocking,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kMaxRequests,
+      kCounter,
+      kMaxResponseSize,
+      kOnError,
+      kResume,
+      kHTTPContext
+    } = require_symbols6();
+    var constants = require_constants7();
+    var EMPTY_BUF = Buffer.alloc(0);
+    var FastBuffer = Buffer[Symbol.species];
+    var addListener = util.addListener;
+    var removeAllListeners = util.removeAllListeners;
+    var extractBody;
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageComplete() || 0;
+          }
+          /* eslint-enable camelcase */
         }
-        this[kState] = [];
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var USE_NATIVE_TIMER = 0;
+    var USE_FAST_TIMER = 1;
+    var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
+    var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
+    var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
       }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+      setTimeout(delay, type2) {
+        if (delay !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
+        this.timeoutType = type2;
       }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
+        }
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
       }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
+          }
+          this.execute(chunk);
         }
-        return this[kState][idx].value;
       }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
+          }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
+        }
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
+        try {
+          let ret;
+          try {
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
+          } catch (err) {
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
+          }
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
+            }
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
+          }
+        } catch (err) {
+          util.destroy(socket, err);
+        }
       }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        this.timeout && timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
       }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
-        } else {
-          this[kState].push(entry);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
+        request2.onResponseStarted();
       }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        this.trackHeader(buf.length);
       }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        const key = this.headers[len - 2];
+        if (key.length === 10) {
+          const headerName = util.bufferToLowerCasedHeaderName(key);
+          if (headerName === "keep-alive") {
+            this.keepAlive += buf.toString();
+          } else if (headerName === "connection") {
+            this.connection += buf.toString();
+          }
+        } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") {
+          this.contentLength += buf.toString();
         }
+        this.trackHeader(buf.length);
       }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
-        }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
         }
       }
-      return { name, value };
-    }
-    module2.exports = { FormData: FormData2 };
-  }
-});
-
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
-    "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        assert(client[kSocket] === socket);
+        assert(!socket.destroyed);
+        assert(!this.paused);
+        assert((headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        removeAllListeners(socket);
+        client[kSocket] = null;
+        client[kHTTPContext] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+        client[kResume]();
       }
-      let stream = null;
-      if (object instanceof ReadableStream2) {
-        stream = object;
-      } else if (isBlobLike(object)) {
-        stream = object.stream();
-      } else {
-        stream = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
+        }
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
+        }
+        assert(this.timeoutType === TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        assert((this.headers.length & 1) === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
             );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
-      }
-      assert(isReadableStreamLike(stream));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
-      } else if (isArrayBuffer(object)) {
-        source = new Uint8Array(object.slice());
-      } else if (ArrayBuffer.isView(object)) {
-        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
-      } else if (util.isFormDataLike(object)) {
-        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
-        const prefix = `--${boundary}\r
-Content-Disposition: form-data`;
-        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
-        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
-        const blobParts = [];
-        const rn = new Uint8Array([13, 10]);
-        length = 0;
-        let hasUnknownSizeValue = false;
-        for (const [name, value] of object) {
-          if (typeof value === "string") {
-            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
-\r
-${normalizeLinefeeds(value)}\r
-`);
-            blobParts.push(chunk2);
-            length += chunk2.byteLength;
-          } else {
-            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
-Content-Type: ${value.type || "application/octet-stream"}\r
-\r
-`);
-            blobParts.push(chunk2, value, rn);
-            if (typeof value.size === "number") {
-              length += chunk2.byteLength + value.size + rn.byteLength;
+            if (timeout <= 0) {
+              socket[kReset] = true;
             } else {
-              hasUnknownSizeValue = true;
+              client[kKeepAliveTimeoutValue] = timeout;
             }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
           }
+        } else {
+          socket[kReset] = true;
         }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
         }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
+        if (request2.method === "HEAD") {
+          return 1;
+        }
+        if (statusCode < 200) {
+          return 1;
+        }
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          client[kResume]();
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
         }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
         }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
         }
-        stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
+        }
+        if (upgrade) {
+          return;
+        }
+        assert(statusCode >= 100);
+        assert((this.headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert(client[kRunning] === 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] == null || client[kPipelining] === 1) {
+          setImmediate(() => client[kResume]());
+        } else {
+          client[kResume]();
+        }
       }
-      if (action != null) {
-        let iterator2;
-        stream = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+    };
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client, paused } = parser.deref();
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-      const body = { stream, source, length };
-      return [body, type2];
     }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
-        } else {
-          const stream = body.stream;
-          if (util.isDisturbed(stream)) {
-            throw new TypeError("The body has already been consumed.");
+      socket[kNoRef] = false;
+      socket[kWriting] = false;
+      socket[kReset] = false;
+      socket[kBlocking] = false;
+      socket[kParser] = new Parser(client, socket, llhttpInstance);
+      addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        const parser = this[kParser];
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
+      });
+      addListener(socket, "end", function() {
+        const parser = this[kParser];
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      addListener(socket, "close", function() {
+        const client2 = this[kClient];
+        const parser = this[kParser];
+        if (parser) {
+          if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+            parser.onMessageComplete();
           }
-          if (stream.locked) {
-            throw new TypeError("The stream is locked.");
+          this[kParser].destroy();
+          this[kParser] = null;
+        }
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client2[kSocket] = null;
+        client2[kHTTPContext] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
           }
-          stream[kBodyUsed] = true;
-          yield* stream;
+        } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+          const request2 = client2[kQueue][client2[kRunningIdx]];
+          client2[kQueue][client2[kRunningIdx]++] = null;
+          util.errorRequest(client2, request2, err);
         }
-      }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
-      }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
+        client2[kPendingIdx] = client2[kRunningIdx];
+        assert(client2[kRunning] === 0);
+        client2.emit("disconnect", client2[kUrl], [client2], err);
+        client2[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h1",
+        defaultPipelining: 1,
+        write(...args) {
+          return writeH1(client, ...args);
         },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
+        resume() {
+          resumeH1(client);
         },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
         },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy(request2) {
+          if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+            return true;
+          }
+          if (request2) {
+            if (client[kRunning] > 0 && !request2.idempotent) {
+              return true;
             }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve2, reject) => {
-              busboy.on("finish", resolve2);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
             }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
+            if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) {
+              return true;
             }
-            return formData;
-          } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
           }
+          return false;
         }
       };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
     }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
-      }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
+    function resumeH1(client) {
+      const socket = client[kSocket];
+      if (socket && !socket.destroyed) {
+        if (client[kSize] === 0) {
+          if (!socket[kNoRef] && socket.unref) {
+            socket.unref();
+            socket[kNoRef] = true;
+          }
+        } else if (socket[kNoRef] && socket.ref) {
+          socket.ref();
+          socket[kNoRef] = false;
+        }
+        if (client[kSize] === 0) {
+          if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
+            socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
+          }
+        } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+          if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+            const request2 = client[kQueue][client[kRunningIdx]];
+            const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];
+            socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          }
         }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
     }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
     }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
+    function writeH1(client, request2) {
+      const { method, path: path3, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
       }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
-    };
-  }
-});
-
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
-    "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path3,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path3 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path3[0] !== "/" && !(path3.startsWith("http://") || path3.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path3) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
-        }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
-        }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
-        }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
-        }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
-        }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
-          }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
-            }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
-        } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path3, query) : path3;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
         }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
-          }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
-          }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path3} HTTP/1.1\r
 `;
-          }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
+      if (typeof host === "string") {
+        header += `host: ${host}\r
 `;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
-        }
+      } else {
+        header += client[kHostHeader];
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
-        }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
+      if (Array.isArray(headers)) {
+        for (let n = 0; n < headers.length; n += 2) {
+          const key = headers[n + 0];
+          const val = headers[n + 1];
+          if (Array.isArray(val)) {
+            for (let i = 0; i < val.length; i++) {
+              header += `${key}: ${val[i]}\r
+`;
+            }
+          } else {
+            header += `${key}: ${val}\r
+`;
           }
         }
       }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
         } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
         }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
         }
         try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
         } catch (err) {
-          this.abort(err);
+          util.destroy(this, err);
         }
-      }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
-        }
-      }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
-      }
-      onComplete(trailers) {
-        this.onFinally();
-        assert(!this.aborted);
-        this.completed = true;
-        if (channels.trailers.hasSubscribers) {
-          channels.trailers.publish({ request: this, trailers });
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
         }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+        if (body.resume) {
+          body.resume();
         }
-      }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
         }
-        if (this.aborted) {
+      };
+      const onFinished = function(err) {
+        if (finished) {
           return;
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
-      }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
         }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
         }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
       }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
           }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
           }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        return request2;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return headers;
-      }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
     }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
-      }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
-        }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
         }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+      }
+      const waitForDrain = () => new Promise((resolve2, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve2;
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
-            }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
           }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
         }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
     }
-    module2.exports = Request;
-  }
-});
-
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
-      }
-      close() {
-        throw new Error("not implemented");
-      }
-      destroy() {
-        throw new Error("not implemented");
-      }
-    };
-    module2.exports = Dispatcher;
-  }
-});
-
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
-    "use strict";
-    var Dispatcher = require_dispatcher2();
-    var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
-      constructor() {
-        super();
-        this[kDestroyed] = false;
-        this[kOnDestroyed] = null;
-        this[kClosed] = false;
-        this[kOnClosed] = [];
-      }
-      get destroyed() {
-        return this[kDestroyed];
-      }
-      get closed() {
-        return this[kClosed];
-      }
-      get interceptors() {
-        return this[kInterceptors];
+    var AsyncWriter = class {
+      constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        this.abort = abort;
+        socket[kWriting] = true;
       }
-      set interceptors(newInterceptors) {
-        if (newInterceptors) {
-          for (let i = newInterceptors.length - 1; i >= 0; i--) {
-            const interceptor = this[kInterceptors][i];
-            if (typeof interceptor !== "function") {
-              throw new InvalidArgumentError("interceptor must be an function");
-            }
-          }
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        this[kInterceptors] = newInterceptors;
-      }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve2, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve2(data);
-            });
-          });
+        if (socket.destroyed) {
+          return false;
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
-          return;
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          }
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
           } else {
-            queueMicrotask(() => callback(null, null));
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
           }
-          return;
         }
-        this[kClosed] = true;
-        this[kOnClosed].push(callback);
-        const onClosed = () => {
-          const callbacks = this[kOnClosed];
-          this[kOnClosed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
+        }
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
+            }
           }
-        };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
-      }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
         }
-        if (callback === void 0) {
-          return new Promise((resolve2, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve2(data);
-            });
-          });
+        return ret;
+      }
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        if (socket.destroyed) {
+          return;
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
           } else {
-            queueMicrotask(() => callback(null, null));
+            socket.write(`${header}\r
+`, "latin1");
           }
-          return;
-        }
-        if (!err) {
-          err = new ClientDestroyedError();
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
         }
-        this[kDestroyed] = true;
-        this[kOnDestroyed] = this[kOnDestroyed] || [];
-        this[kOnDestroyed].push(callback);
-        const onDestroyed = () => {
-          const callbacks = this[kOnDestroyed];
-          this[kOnDestroyed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
           }
-        };
-        this[kDestroy](err).then(() => {
-          queueMicrotask(onDestroyed);
-        });
-      }
-      [kInterceptedDispatch](opts, handler2) {
-        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
-          this[kInterceptedDispatch] = this[kDispatch];
-          return this[kDispatch](opts, handler2);
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        client[kResume]();
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
-        }
-        try {
-          if (!opts || typeof opts !== "object") {
-            throw new InvalidArgumentError("opts must be an object.");
-          }
-          if (this[kDestroyed] || this[kOnDestroyed]) {
-            throw new ClientDestroyedError();
-          }
-          if (this[kClosed]) {
-            throw new ClientClosedError();
-          }
-          return this[kInterceptedDispatch](opts, handler2);
-        } catch (err) {
-          if (typeof handler2.onError !== "function") {
-            throw new InvalidArgumentError("invalid onError method");
-          }
-          handler2.onError(err);
-          return false;
+      destroy(err) {
+        const { socket, client, abort } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          abort(err);
         }
       }
     };
-    module2.exports = DispatcherBase;
+    module2.exports = connectH1;
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
     var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._sessionRegistry = new global.FinalizationRegistry((key) => {
-            if (this._sessionCache.size < this._maxCachedSessions) {
-              return;
-            }
-            const ref = this._sessionCache.get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this._sessionCache.delete(key);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ Symbol("open streams");
+    var extractBody;
+    var h2ExperimentalWarned = false;
+    var http2;
+    try {
+      http2 = require("node:http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
+      }
+    } = http2;
+    function parseH2Headers(headers) {
+      const result = [];
+      for (const [name, value] of Object.entries(headers)) {
+        if (Array.isArray(value)) {
+          for (const subvalue of value) {
+            result.push(Buffer.from(name), Buffer.from(subvalue));
           }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
+        } else {
+          result.push(Buffer.from(name), Buffer.from(value));
         }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+      }
+      return result;
+    }
+    async function connectH2(client, socket) {
+      client[kSocket] = socket;
+      if (!h2ExperimentalWarned) {
+        h2ExperimentalWarned = true;
+        process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+          code: "UNDICI-H2"
+        });
+      }
+      const session = http2.connect(client[kUrl], {
+        createConnection: () => socket,
+        peerMaxConcurrentStreams: client[kMaxConcurrentStreams]
+      });
+      session[kOpenStreams] = 0;
+      session[kClient] = client;
+      session[kSocket] = socket;
+      util.addListener(session, "error", onHttp2SessionError);
+      util.addListener(session, "frameError", onHttp2FrameError);
+      util.addListener(session, "end", onHttp2SessionEnd);
+      util.addListener(session, "goaway", onHTTP2GoAway);
+      util.addListener(session, "close", function() {
+        const { [kClient]: client2 } = this;
+        const { [kSocket]: socket2 } = client2;
+        const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2));
+        client2[kHTTP2Session] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+      });
+      session.unref();
+      client[kHTTP2Session] = session;
+      socket[kHTTP2Session] = session;
+      util.addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      util.addListener(socket, "end", function() {
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      util.addListener(socket, "close", function() {
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client[kSocket] = null;
+        if (this[kHTTP2Session] != null) {
+          this[kHTTP2Session].destroy(err);
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
+        client[kPendingIdx] = client[kRunningIdx];
+        assert(client[kRunning] === 0);
+        client.emit("disconnect", client[kUrl], [client], err);
+        client[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h2",
+        defaultPipelining: Infinity,
+        write(...args) {
+          return writeH2(client, ...args);
+        },
+        resume() {
+          resumeH2(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
           }
-          this._sessionCache.set(sessionKey, session);
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy() {
+          return false;
         }
       };
     }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
+    function resumeH2(client) {
+      const socket = client[kSocket];
+      if (socket?.destroyed === false) {
+        if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {
+          socket.unref();
+          client[kHTTP2Session].unref();
+        } else {
+          socket.ref();
+          client[kHTTP2Session].ref();
+        }
       }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
+      }
+    }
+    function onHttp2SessionEnd() {
+      const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket]));
+      this.destroy(err);
+      util.destroy(this[kSocket], err);
+    }
+    function onHTTP2GoAway(code) {
+      const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this));
+      const client = this[kClient];
+      client[kSocket] = null;
+      client[kHTTPContext] = null;
+      if (this[kHTTP2Session] != null) {
+        this[kHTTP2Session].destroy(err);
+        this[kHTTP2Session] = null;
+      }
+      util.destroy(this[kSocket], err);
+      if (client[kRunningIdx] < client[kQueue].length) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        util.errorRequest(client, request2, err);
+        client[kPendingIdx] = client[kRunningIdx];
+      }
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      client[kResume]();
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH2(client, request2) {
+      const session = client[kHTTP2Session];
+      const { method, path: path3, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
+      }
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
+            }
           }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...options,
-            servername,
-            session,
-            localAddress,
-            // TODO(HTTP/2): Add support for h2c
-            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
-            socket: httpSocket,
-            // upgrade socket connection
-            port: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
         } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
+          headers[key] = val;
+        }
+      }
+      let stream;
+      const { hostname, port } = client[kUrl];
+      headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
+      headers[HTTP2_HEADER_METHOD] = method;
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream != null) {
+          util.destroy(stream, err);
+        }
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "CONNECT") {
+        session.ref();
+        stream = session.request(headers, { endStream: false, signal });
+        if (stream.id && !stream.pending) {
+          request2.onUpgrade(null, null, stream);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream.once("ready", () => {
+            request2.onUpgrade(null, null, stream);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
           });
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
+        stream.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
+        });
+        return true;
+      }
+      headers[HTTP2_HEADER_PATH] = path3;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      }
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
-          }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      }
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
         });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
+        writeBodyH2();
       }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+      ++session[kOpenStreams];
+      stream.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        request2.onResponseStarted();
+        if (request2.aborted) {
+          const err = new RequestAbortedError();
+          util.errorRequest(client, request2, err);
+          util.destroy(stream, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) {
+          stream.pause();
+        }
+        stream.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream.pause();
           }
         });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
+      });
+      stream.once("end", () => {
+        if (stream.state?.state == null || stream.state.state < 6) {
+          request2.onComplete([]);
+        }
+        if (session[kOpenStreams] === 0) {
+          session.unref();
         }
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
       });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
-  }
-});
-
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
-    var TYPE;
-    (function(TYPE2) {
-      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
-      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
-      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
-    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
-    var FLAGS;
-    (function(FLAGS2) {
-      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
-      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
-      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
-      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
-      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
-      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
-      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
-      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
-      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
-    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
-    var LENIENT_FLAGS;
-    (function(LENIENT_FLAGS2) {
-      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
-    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
-    var METHODS;
-    (function(METHODS2) {
-      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
-      METHODS2[METHODS2["GET"] = 1] = "GET";
-      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
-      METHODS2[METHODS2["POST"] = 3] = "POST";
-      METHODS2[METHODS2["PUT"] = 4] = "PUT";
-      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
-      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
-      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
-      METHODS2[METHODS2["COPY"] = 8] = "COPY";
-      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
-      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
-      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
-      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
-      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
-      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
-      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
-      METHODS2[METHODS2["BIND"] = 16] = "BIND";
-      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
-      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
-      METHODS2[METHODS2["ACL"] = 19] = "ACL";
-      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
-      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
-      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
-      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
-      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
-      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
-      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
-      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
-      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
-      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
-      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
-      METHODS2[METHODS2["LINK"] = 31] = "LINK";
-      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
-      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
-      METHODS2[METHODS2["PRI"] = 34] = "PRI";
-      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
-      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
-      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
-      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
-      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
-      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
-      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
-      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
-      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
-      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
-      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
-    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
-    exports2.METHODS_HTTP = [
-      METHODS.DELETE,
-      METHODS.GET,
-      METHODS.HEAD,
-      METHODS.POST,
-      METHODS.PUT,
-      METHODS.CONNECT,
-      METHODS.OPTIONS,
-      METHODS.TRACE,
-      METHODS.COPY,
-      METHODS.LOCK,
-      METHODS.MKCOL,
-      METHODS.MOVE,
-      METHODS.PROPFIND,
-      METHODS.PROPPATCH,
-      METHODS.SEARCH,
-      METHODS.UNLOCK,
-      METHODS.BIND,
-      METHODS.REBIND,
-      METHODS.UNBIND,
-      METHODS.ACL,
-      METHODS.REPORT,
-      METHODS.MKACTIVITY,
-      METHODS.CHECKOUT,
-      METHODS.MERGE,
-      METHODS["M-SEARCH"],
-      METHODS.NOTIFY,
-      METHODS.SUBSCRIBE,
-      METHODS.UNSUBSCRIBE,
-      METHODS.PATCH,
-      METHODS.PURGE,
-      METHODS.MKCALENDAR,
-      METHODS.LINK,
-      METHODS.UNLINK,
-      METHODS.PRI,
-      // TODO(indutny): should we allow it with HTTP?
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_ICE = [
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_RTSP = [
-      METHODS.OPTIONS,
-      METHODS.DESCRIBE,
-      METHODS.ANNOUNCE,
-      METHODS.SETUP,
-      METHODS.PLAY,
-      METHODS.PAUSE,
-      METHODS.TEARDOWN,
-      METHODS.GET_PARAMETER,
-      METHODS.SET_PARAMETER,
-      METHODS.REDIRECT,
-      METHODS.RECORD,
-      METHODS.FLUSH,
-      // For AirPlay
-      METHODS.GET,
-      METHODS.POST
-    ];
-    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
-    exports2.H_METHOD_MAP = {};
-    Object.keys(exports2.METHOD_MAP).forEach((key) => {
-      if (/^H/.test(key)) {
-        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+      stream.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream.once("error", function(err) {
+        abort(err);
+      });
+      stream.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
+        }
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
     }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.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
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
+        }
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
+      }
     }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
+        }
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
     }
-    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
-    exports2.MAJOR = exports2.NUM_MAP;
-    exports2.MINOR = exports2.MAJOR;
-    var HEADER_STATE;
-    (function(HEADER_STATE2) {
-      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
-      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
-      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
-    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
-    exports2.SPECIAL_HEADERS = {
-      "connection": HEADER_STATE.CONNECTION,
-      "content-length": HEADER_STATE.CONTENT_LENGTH,
-      "proxy-connection": HEADER_STATE.CONNECTION,
-      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
-      "upgrade": HEADER_STATE.UPGRADE
-    };
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      }
+    }
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
+      }
+      const waitForDrain = () => new Promise((resolve2, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve2;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
+          }
+        }
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
+      }
+    }
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
     var util = require_util9();
     var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
+    var EE = require("node:events");
     var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
     var kBody = /* @__PURE__ */ Symbol("body");
     var BodyAsyncIterable = class {
@@ -27729,6 +28500,7 @@ var require_RedirectHandler = __commonJS({
         this.maxRedirections = maxRedirections;
         this.handler = handler2;
         this.history = [];
+        this.redirectionLimitReached = false;
         if (util.isStream(this.opts.body)) {
           if (util.bodyLength(this.opts.body) === 0) {
             this.opts.body.on("data", function() {
@@ -27759,6 +28531,14 @@ var require_RedirectHandler = __commonJS({
       }
       onHeaders(statusCode, headers, resume, statusText) {
         this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
+          if (this.request) {
+            this.request.abort(new Error("max redirects"));
+          }
+          this.redirectionLimitReached = true;
+          this.abort(new Error("max redirects"));
+          return;
+        }
         if (this.opts.origin) {
           this.history.push(new URL(this.opts.path, this.opts.origin));
         }
@@ -27803,7 +28583,7 @@ var require_RedirectHandler = __commonJS({
         return null;
       }
       for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
           return headers[i + 1];
         }
       }
@@ -27844,11 +28624,11 @@ var require_RedirectHandler = __commonJS({
   }
 });
 
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
     "use strict";
-    var RedirectHandler = require_RedirectHandler();
+    var RedirectHandler = require_redirect_handler2();
     function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
       return (dispatch) => {
         return function Intercept(opts, handler2) {
@@ -27866,73 +28646,43 @@ var require_redirectInterceptor = __commonJS({
   }
 });
 
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCsLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC1kAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
-  }
-});
-
-// node_modules/undici/lib/client.js
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
 var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
     var util = require_util9();
-    var timers = require_timers2();
+    var { channels } = require_diagnostics2();
     var Request = require_request3();
     var DispatcherBase = require_dispatcher_base2();
     var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
       InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
       InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
       ClientDestroyedError
     } = require_errors2();
     var buildConnector = require_connect2();
     var {
       kUrl,
-      kReset,
       kServerName,
       kClient,
       kBusy,
-      kParser,
       kConnect,
-      kBlocking,
       kResuming,
       kRunning,
       kPending,
       kSize,
-      kWriting,
       kQueue,
       kConnected,
       kConnecting,
       kNeedDrain,
-      kNoRef,
       kKeepAliveDefaultTimeout,
       kHostHeader,
       kPendingIdx,
       kRunningIdx,
       kError,
       kPipelining,
-      kSocket,
       kKeepAliveTimeoutValue,
       kMaxHeadersSize,
       kKeepAliveMaxTimeout,
@@ -27950,53 +28700,25 @@ var require_client2 = __commonJS({
       kInterceptors,
       kLocalAddress,
       kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
     } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("http2");
-    } catch {
-      http2 = { constants: {} };
-    }
-    var {
-      constants: {
-        HTTP2_HEADER_AUTHORITY,
-        HTTP2_HEADER_METHOD,
-        HTTP2_HEADER_PATH,
-        HTTP2_HEADER_SCHEME,
-        HTTP2_HEADER_CONTENT_LENGTH,
-        HTTP2_HEADER_EXPECT,
-        HTTP2_HEADER_STATUS
-      }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
     var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
+    var noop3 = () => {
+    };
+    function getPipelining(client) {
+      return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
     }
     var Client = class extends DispatcherBase {
       /**
        *
        * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
+       * @param {import('../../types/client.js').Client.Options} options
        */
       constructor(url, {
         interceptors,
@@ -28025,8 +28747,8 @@ var require_client2 = __commonJS({
         autoSelectFamily,
         autoSelectFamilyAttemptTimeout,
         // h2
-        allowH2,
-        maxConcurrentStreams
+        maxConcurrentStreams,
+        allowH2
       } = {}) {
         super();
         if (keepAlive !== void 0) {
@@ -28090,7 +28812,7 @@ var require_client2 = __commonJS({
           throw new InvalidArgumentError("allowH2 must be a valid boolean value");
         }
         if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
         }
         if (typeof connect2 !== "function") {
           connect2 = buildConnector({
@@ -28099,19 +28821,28 @@ var require_client2 = __commonJS({
             allowH2,
             socketPath,
             timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
             ...connect2
           });
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        if (interceptors?.Client && Array.isArray(interceptors.Client)) {
+          this[kInterceptors] = interceptors.Client;
+          if (!deprecatedInterceptorWarned) {
+            deprecatedInterceptorWarned = true;
+            process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", {
+              code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"
+            });
+          }
+        } else {
+          this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })];
+        }
         this[kUrl] = util.parseOrigin(url);
         this[kConnector] = connect2;
-        this[kSocket] = null;
         this[kPipelining] = pipelining != null ? pipelining : 1;
         this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
         this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
         this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
         this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
         this[kServerName] = null;
         this[kLocalAddress] = localAddress != null ? localAddress : null;
@@ -28126,26 +28857,20 @@ var require_client2 = __commonJS({
         this[kMaxRequests] = maxRequestsPerClient;
         this[kClosedResolve] = null;
         this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
-        };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
+        this[kHTTPContext] = null;
         this[kQueue] = [];
         this[kRunningIdx] = 0;
         this[kPendingIdx] = 0;
+        this[kResume] = (sync) => resume(this, sync);
+        this[kOnError] = (err) => onError(this, err);
       }
       get pipelining() {
         return this[kPipelining];
       }
       set pipelining(value) {
         this[kPipelining] = value;
-        resume(this, true);
+        this[kResume](true);
       }
       get [kPending]() {
         return this[kQueue].length - this[kPendingIdx];
@@ -28157,11 +28882,12 @@ var require_client2 = __commonJS({
         return this[kQueue].length - this[kRunningIdx];
       }
       get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
       }
       get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
       }
       /* istanbul ignore: only used for test */
       [kConnect](cb) {
@@ -28170,14 +28896,14 @@ var require_client2 = __commonJS({
       }
       [kDispatch](opts, handler2) {
         const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        const request2 = new Request(origin, opts, handler2);
         this[kQueue].push(request2);
         if (this[kResuming]) {
         } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
           this[kResuming] = 1;
-          process.nextTick(resume, this);
+          queueMicrotask(() => resume(this));
         } else {
-          resume(this, true);
+          this[kResume](true);
         }
         if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
           this[kNeedDrain] = 2;
@@ -28186,10 +28912,10 @@ var require_client2 = __commonJS({
       }
       async [kClose]() {
         return new Promise((resolve2) => {
-          if (!this[kSize]) {
-            resolve2(null);
-          } else {
+          if (this[kSize]) {
             this[kClosedResolve] = resolve2;
+          } else {
+            resolve2(null);
           }
         });
       }
@@ -28198,2393 +28924,2110 @@ var require_client2 = __commonJS({
           const requests = this[kQueue].splice(this[kPendingIdx]);
           for (let i = 0; i < requests.length; i++) {
             const request2 = requests[i];
-            errorRequest2(this, request2, err);
+            util.errorRequest(this, request2, err);
           }
           const callback = () => {
             if (this[kClosedResolve]) {
               this[kClosedResolve]();
               this[kClosedResolve] = null;
             }
-            resolve2();
+            resolve2(null);
           };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
-          }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            util.destroy(this[kSocket].on("close", callback), err);
+            queueMicrotask(callback);
           }
-          resume(this);
+          this[kResume]();
         });
       }
     };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
         const requests = client[kQueue].splice(client[kRunningIdx]);
         for (let i = 0; i < requests.length; i++) {
           const request2 = requests[i];
-          errorRequest2(this, request2, err);
+          util.errorRequest(client, request2, err);
         }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+        assert(client[kSize] === 0);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
     }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
-      try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kHTTPContext]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            version: client[kHTTPContext]?.version,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
           },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
+          connector: client[kConnector]
+        });
+      }
+      try {
+        const socket = await new Promise((resolve2, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve2(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
+        }
+        assert(socket);
+        try {
+          client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket);
+        } catch (err) {
+          socket.destroy().on("error", noop3);
+          throw err;
+        }
+        client[kConnecting] = false;
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
+        }
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
+        }
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
+        }
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            util.errorRequest(client, request2, err);
           }
-          /* eslint-enable camelcase */
+        } else {
+          onError(client, err);
         }
-      });
+        client.emit("connectionError", client[kUrl], [client], err);
+      }
+      client[kResume]();
     }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: exports3 }) {
-        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
-        this.llhttp = exports3;
-        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
-        this.client = client;
-        this.socket = socket;
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.statusCode = null;
-        this.statusText = "";
-        this.upgrade = false;
-        this.headers = [];
-        this.headersSize = 0;
-        this.headersMaxSize = client[kMaxHeadersSize];
-        this.shouldKeepAlive = false;
-        this.paused = false;
-        this.resume = this.resume.bind(this);
-        this.bytesRead = 0;
-        this.keepAlive = "";
-        this.contentLength = "";
-        this.connection = "";
-        this.maxResponseSize = client[kMaxResponseSize];
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
-            }
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
+      }
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
+        }
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
+        }
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
+        }
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
           } else {
-            this.timeout = null;
-          }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+            emitDrain(client);
           }
+          continue;
         }
-      }
-      resume() {
-        if (this.socket.destroyed || !this.paused) {
+        if (client[kPending] === 0) {
           return;
         }
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_resume(this.ptr);
-        assert(this.timeoutType === TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
         }
-        this.paused = false;
-        this.execute(this.socket.read() || EMPTY_BUF);
-        this.readMore();
-      }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
-            break;
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
           }
-          this.execute(chunk);
+          client[kServerName] = request2.servername;
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
         }
-      }
-      execute(data) {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        assert(!this.paused);
-        const { socket, llhttp } = this;
-        if (data.length > currentBufferSize) {
-          if (currentBufferPtr) {
-            llhttp.free(currentBufferPtr);
-          }
-          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
-          currentBufferPtr = llhttp.malloc(currentBufferSize);
+        if (client[kConnecting]) {
+          return;
         }
-        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
-        try {
-          let ret;
-          try {
-            currentBufferRef = data;
-            currentParser = this;
-            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
-          } catch (err) {
-            throw err;
-          } finally {
-            currentParser = null;
-            currentBufferRef = null;
-          }
-          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
-          if (ret === constants.ERROR.PAUSED_UPGRADE) {
-            this.onUpgrade(data.slice(offset));
-          } else if (ret === constants.ERROR.PAUSED) {
-            this.paused = true;
-            socket.unshift(data.slice(offset));
-          } else if (ret !== constants.ERROR.OK) {
-            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
-            let message = "";
-            if (ptr) {
-              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
-              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
-            }
-            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
-          }
-        } catch (err) {
-          util.destroy(socket, err);
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
         }
-      }
-      destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
-      }
-      onStatus(buf) {
-        this.statusText = buf.toString();
-      }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
+        if (client[kHTTPContext].destroyed) {
+          return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
+        if (client[kHTTPContext].busy(request2)) {
+          return;
         }
-      }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
         } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
-        this.trackHeader(buf.length);
       }
-      onHeaderValue(buf) {
-        let len = this.headers.length;
-        if ((len & 1) === 1) {
-          this.headers.push(buf);
-          len += 1;
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        const key = this.headers[len - 2];
-        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
-        }
-        this.trackHeader(buf.length);
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
+    "use strict";
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
+      constructor() {
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
-        }
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
-        try {
-          request2.onUpgrade(statusCode, headers, socket);
-        } catch (err) {
-          util.destroy(socket, err);
-        }
-        resume(client);
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
-        const { client, socket, headers, statusText } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
-        }
-        assert(!this.upgrade);
-        assert(this.statusCode < 200);
-        if (statusCode === 100) {
-          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
-          return -1;
-        }
-        if (upgrade && !request2.upgrade) {
-          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
-          return -1;
-        }
-        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
-        this.statusCode = statusCode;
-        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
-        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
-        if (this.statusCode >= 200) {
-          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
-          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
+      }
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
+      }
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
+      }
+      isEmpty() {
+        return this.head.isEmpty();
+      }
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
         }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        this.head.push(data);
+      }
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
-            } else {
-              client[kKeepAliveTimeoutValue] = timeout;
+        return next;
+      }
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
+      }
+      get connected() {
+        return this[kPool][kConnected];
+      }
+      get free() {
+        return this[kPool][kFree];
+      }
+      get pending() {
+        return this[kPool][kPending];
+      }
+      get queued() {
+        return this[kPool][kQueued];
+      }
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
+      }
+    };
+    module2.exports = PoolStats;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
+      constructor() {
+        super();
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
             }
-          } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-        } else {
-          socket[kReset] = true;
-        }
-        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
-        if (request2.aborted) {
-          return -1;
-        }
-        if (request2.method === "HEAD") {
-          return 1;
-        }
-        if (statusCode < 200) {
-          return 1;
-        }
-        if (socket[kBlocking]) {
-          socket[kBlocking] = false;
-          resume(client);
-        }
-        return pause ? constants.ERROR.PAUSED : 0;
-      }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-        }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
-        }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
-        }
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+          }
+        };
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
-          return;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (statusCode < 200) {
-          return;
-        }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
-        }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
-        }
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-    };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
-        }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-    }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
+        return ret;
       }
-      this[kError] = err;
-      onError(this[kClient], err);
-    }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
-        assert(client[kSize] === 0);
+        return ret;
       }
-    }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
-    }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-        }
-        this[kParser].destroy();
-        this[kParser] = null;
+      get stats() {
+        return this[kStats];
       }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve2) => {
+            this[kClosedResolve] = resolve2;
+          });
         }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
-    }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
+        }
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
+        }
+        return !this[kNeedDrain];
       }
-      try {
-        const socket = await new Promise((resolve2, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve2(socket2);
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          queueMicrotask(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
             }
           });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
-          return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
-          }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
-          });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+        return this;
+      }
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      }
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
+    var util = require_util9();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
         }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
-          });
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
-          return;
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
           });
         }
-        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
-          assert(client[kRunning] === 0);
-          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
-            const request2 = client[kQueue][client[kPendingIdx]++];
-            errorRequest2(client, request2, err);
+        this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
+          }
+        });
+      }
+      [kGetDispatcher]() {
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
           }
-        } else {
-          onError(client, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+          return dispatcher;
+        }
       }
-      resume(client);
+    };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors2();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
+      }
+      return a;
     }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
+        }
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
       }
-      client[kResuming] = 2;
-      _resume(client, sync);
-      client[kResuming] = 0;
-      if (client[kRunningIdx] > 256) {
-        client[kQueue].splice(0, client[kRunningIdx]);
-        client[kPendingIdx] -= client[kRunningIdx];
-        client[kRunningIdx] = 0;
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
+        }
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
+          }
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
+        }
+        this._updateBalancedPoolStats();
+        return this;
       }
-    }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
+        }
+        this[kGreatestCommonDivisor] = result;
+      }
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
+        }
+        return this;
+      }
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      }
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
+        }
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
           return;
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
           return;
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
-            }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
           }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
-            }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
             }
           }
-        }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
           }
-          continue;
         }
-        if (client[kPending] === 0) {
-          return;
-        }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
+      }
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors2();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
-          }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
-          }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (client[kConnecting]) {
-          return;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kOnDrain] = (origin, targets) => {
+          this.emit("drain", origin, [this, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          this.emit("connect", origin, [this, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          this.emit("disconnect", origin, [this, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          this.emit("connectionError", origin, [this, ...targets], err);
+        };
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        return ret;
+      }
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
-          return;
+        let dispatcher = this[kClients].get(key);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, dispatcher);
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
+        return dispatcher.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+        this[kClients].clear();
+        await Promise.all(closePromises);
+      }
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const client of this[kClients].values()) {
+          destroyPromises.push(client.destroy(err));
         }
+        this[kClients].clear();
+        await Promise.all(destroyPromises);
       }
+    };
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path3, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
-      }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
-      }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+    var noop3 = () => {
+    };
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      return new Pool(origin, opts);
+    }
+    var Http1ProxyWrapper = class extends DispatcherBase {
+      #client;
+      constructor(proxyUrl, { headers = {}, connect, factory }) {
+        super();
+        if (!proxyUrl) {
+          throw new InvalidArgumentError("Proxy URL is mandatory");
+        }
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
+      [kDispatch](opts, handler2) {
+        const onHeaders = handler2.onHeaders;
+        handler2.onHeaders = function(statusCode, data, resume) {
+          if (statusCode === 407) {
+            if (typeof handler2.onError === "function") {
+              handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
+            }
             return;
           }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
-      }
-      if (request2.aborted) {
-        return false;
-      }
-      if (method === "HEAD") {
-        socket[kReset] = true;
-      }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
-      }
-      if (reset != null) {
-        socket[kReset] = reset;
-      }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
-      }
-      if (blocking) {
-        socket[kBlocking] = true;
-      }
-      let header = `${method} ${path3} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
-      }
-      if (upgrade) {
-        header += `connection: upgrade\r
-upgrade: ${upgrade}\r
-`;
-      } else if (client[kPipelining] && !socket[kReset]) {
-        header += "connection: keep-alive\r\n";
-      } else {
-        header += "connection: close\r\n";
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path3 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path3;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
+        }
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
       }
-      if (headers) {
-        header += headers;
+      async [kClose]() {
+        return this.#client.close();
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
       }
-      if (!body || bodyLength === 0) {
-        if (contentLength === 0) {
-          socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-        } else {
-          assert(contentLength === null, "no body must not have content length");
-          socket.write(`${header}\r
-`, "latin1");
+    };
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super();
+        if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) {
+          throw new InvalidArgumentError("Proxy uri is mandatory");
         }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
         }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        const { proxyTunnel = true } = opts;
+        const url = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url;
+        this[kProxy] = { uri: href, protocol };
+        this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        this[kTunnelProxy] = proxyTunnel;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else {
-        assert(false);
-      }
-      return true;
-    }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path3, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
-      }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        const agentFactory = opts.factory || defaultAgentFactory;
+        const factory = (origin2, options) => {
+          const { protocol: protocol2 } = new URL2(origin2);
+          if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
+            return new Http1ProxyWrapper(this[kProxy].uri, {
+              headers: this[kProxyHeaders],
+              connect,
+              factory: agentFactory
+            });
+          }
+          return agentFactory(origin2, options);
+        };
+        this[kClient] = clientFactory(url, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          factory,
+          connect: async (opts2, callback) => {
+            let requestedPath = opts2.host;
+            if (!opts2.port) {
+              requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedPath,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host: opts2.host
+                },
+                servername: this[kProxyTls]?.servername || proxyHostname
+              });
+              if (statusCode !== 200) {
+                socket.on("error", noop3).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+                callback(new SecureProxyConnectionError(err));
+              } else {
+                callback(err);
+              }
+            }
           }
-          errorRequest2(client, request2, err || new RequestAbortedError());
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
       }
-      if (request2.aborted) {
-        return false;
+      dispatch(opts, handler2) {
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        if (headers && !("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(opts.origin);
+          headers.host = host;
+        }
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-      let stream;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream = session.request(headers, { endStream: false, signal });
-        if (stream.id && !stream.pending) {
-          request2.onUpgrade(null, null, stream);
-          ++h2State.openStreams;
+      /**
+       * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts
+       * @returns {URL}
+       */
+      #getUrl(opts) {
+        if (typeof opts === "string") {
+          return new URL2(opts);
+        } else if (opts instanceof URL2) {
+          return opts;
         } else {
-          stream.once("ready", () => {
-            request2.onUpgrade(null, null, stream);
-            ++h2State.openStreams;
-          });
+          return new URL2(opts.uri);
         }
-        stream.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path3;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+    };
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
+        }
+        return headersPair;
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      return headers;
+    }
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      }
+    }
+    module2.exports = ProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base2();
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
+        super();
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
+        const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
+        this[kNoProxyAgent] = new Agent(agentOpts);
+        const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
+        if (HTTP_PROXY) {
+          this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY });
+        } else {
+          this[kHttpProxyAgent] = this[kNoProxyAgent];
+        }
+        const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
+        if (HTTPS_PROXY) {
+          this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY });
+        } else {
+          this[kHttpsProxyAgent] = this[kHttpProxyAgent];
+        }
+        this.#parseNoProxy();
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      [kDispatch](opts, handler2) {
+        const url = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url);
+        return agent.dispatch(opts, handler2);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream = session.request(headers, { endStream: shouldEndStream, signal });
-        stream.once("continue", writeBodyH2);
-      } else {
-        stream = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
+        }
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
+        }
       }
-      ++h2State.openStreams;
-      stream.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
-          stream.pause();
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
         }
-      });
-      stream.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream.pause();
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
         }
-      });
-      stream.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
+      }
+      #getProxyAgentForUrl(url) {
+        let { protocol, host: hostname, port } = url;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
         }
-      });
-      stream.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
         }
-      });
-      stream.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream, err);
+        return this[kHttpProxyAgent];
+      }
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
         }
-      });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream.cork();
-          stream.write(body);
-          stream.uncork();
-          stream.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
+        if (this.#noProxyEntries.length === 0) {
+          return true;
+        }
+        if (this.#noProxyValue === "*") {
+          return false;
+        }
+        for (let i = 0; i < this.#noProxyEntries.length; i++) {
+          const entry = this.#noProxyEntries[i];
+          if (entry.port && entry.port !== port) {
+            continue;
+          }
+          if (!/^[.*]/.test(entry.hostname)) {
+            if (hostname === entry.hostname) {
+              return false;
+            }
           } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream,
-              header: "",
-              socket: client[kSocket]
-            });
+            if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
+              return false;
+            }
           }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
         }
+        return true;
       }
-    }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
+      #parseNoProxy() {
+        const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
+        const noProxySplit = noProxyValue.split(/[,\s]/);
+        const noProxyEntries = [];
+        for (let i = 0; i < noProxySplit.length; i++) {
+          const entry = noProxySplit[i];
+          if (!entry) {
+            continue;
           }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
+          const parsed = entry.match(/^(.+):(\d+)$/);
+          noProxyEntries.push({
+            hostname: (parsed ? parsed[1] : entry).toLowerCase(),
+            port: parsed ? Number.parseInt(parsed[2], 10) : 0
+          });
+        }
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
       }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
         }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      return new Date(retryAfter).getTime() - current;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          minTimeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "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((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
           }
-        } catch (err) {
-          util.destroy(this, err);
+        });
+      }
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
+      }
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
-        if (body.resume) {
-          body.resume();
+      }
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
         }
-      };
-      const onAbort = function() {
-        if (finished) {
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      }
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          minTimeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        const { counter } = state;
+        if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
+          cb(err);
           return;
         }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
-      };
-      const onFinished = function(err) {
-        if (finished) {
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
           return;
         }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
-          try {
-            writer.end();
-          } catch (er) {
-            err = er;
-          }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
-        } else {
-          util.destroy(body);
-        }
-      };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
-      }
-      socket.on("drain", onDrain).on("error", onFinished);
-    }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
         }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
+        if (counter > maxRetries) {
+          cb(err);
+          return;
         }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
-      }
-    }
-    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
-      let callback = null;
-      function onDrain() {
-        if (callback) {
-          const cb = callback;
-          callback = null;
-          cb();
+        let retryAfterHeader = headers?.["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
         }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
+        setTimeout(() => cb(null), retryTimeout);
       }
-      const waitForDrain = () => new Promise((resolve2, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve2;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          if (this.retryOpts.statusCodes.includes(statusCode) === false) {
+            return this.handler.onHeaders(
+              statusCode,
+              rawHeaders,
+              resume,
+              statusMessage
+            );
+          } else {
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
           }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
         }
-        return;
-      }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
+            this.abort(
+              new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
           }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
           }
-        }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
-      }
-    }
-    var AsyncWriter = class {
-      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
-        this.socket = socket;
-        this.request = request2;
-        this.contentLength = contentLength;
-        this.client = client;
-        this.bytesWritten = 0;
-        this.expectsPayload = expectsPayload;
-        this.header = header;
-        socket[kWriting] = true;
-      }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
-        }
-        if (socket.destroyed) {
-          return false;
-        }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
-        }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
           }
-          process.emitWarning(new RequestContentLengthMismatchError());
+          const { start, size, end = size - 1 } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
         }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
+            }
+            const { start, size, end = size - 1 } = range;
+            assert(
+              start != null && Number.isFinite(start),
+              "content-range mismatch"
+            );
+            assert(end != null && Number.isFinite(end), "invalid content-length");
+            this.start = start;
+            this.end = end;
           }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
-          } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
           }
-        }
-        if (contentLength === null) {
-          socket.write(`\r
-${len.toString(16)}\r
-`, "latin1");
-        }
-        this.bytesWritten += len;
-        const ret = socket.write(chunk);
-        socket.uncork();
-        request2.onBodySent(chunk);
-        if (!ret) {
-          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-            if (socket[kParser].timeout.refresh) {
-              socket[kParser].timeout.refresh();
-            }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          if (this.etag != null && this.etag.startsWith("W/")) {
+            this.etag = null;
           }
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
         }
-        return ret;
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          data: { count: this.retryCount }
+        });
+        this.abort(err);
+        return false;
       }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
+      }
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
+      }
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
         }
-        if (socket.destroyed) {
-          return;
+        if (this.retryCount - this.retryCountCheckpoint > 0) {
+          this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
+        } else {
+          this.retryCount += 1;
         }
-        if (bytesWritten === 0) {
-          if (expectsPayload) {
-            socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-          } else {
-            socket.write(`${header}\r
-`, "latin1");
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
+          },
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
           }
-        } else if (contentLength === null) {
-          socket.write("\r\n0\r\n\r\n", "latin1");
-        }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
+            }
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
           }
-        }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
-        resume(client);
-      }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
-        }
       }
     };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
-      }
-    }
-    module2.exports = Client;
+    module2.exports = RetryHandler;
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
     "use strict";
-    var kSize = 2048;
-    var kMask = kSize - 1;
-    var FixedCircularBuffer = class {
-      constructor() {
-        this.bottom = 0;
-        this.top = 0;
-        this.list = new Array(kSize);
-        this.next = null;
-      }
-      isEmpty() {
-        return this.top === this.bottom;
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      close() {
+        return this.#agent.close();
       }
-      shift() {
-        const nextItem = this.list[this.bottom];
-        if (nextItem === void 0)
-          return null;
-        this.list[this.bottom] = void 0;
-        this.bottom = this.bottom + 1 & kMask;
-        return nextItem;
+      destroy() {
+        return this.#agent.destroy();
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
+    module2.exports = RetryAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
+    var util = require_util9();
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        contentLength,
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kContentLength] = contentLength;
+        this[kReading] = false;
       }
-      isEmpty() {
-        return this.head.isEmpty();
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
+        }
+        return super.destroy(err);
       }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
+        } else {
+          callback(err);
         }
-        this.head.push(data);
       }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        return next;
+        return super.on(ev, ...args);
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      get connected() {
-        return this[kPool][kConnected];
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+        }
+        return ret;
       }
-      get free() {
-        return this[kPool][kFree];
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      get pending() {
-        return this[kPool][kPending];
+      push(chunk) {
+        if (this[kConsume] && chunk !== null) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
+        }
+        return super.push(chunk);
       }
-      get queued() {
-        return this[kPool][kQueued];
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      get running() {
-        return this[kPool][kRunning];
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      get size() {
-        return this[kPool][kSize];
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-    };
-    module2.exports = PoolStats;
-  }
-});
-
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
-    "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ Symbol("stats");
-    var PoolBase = class extends DispatcherBase {
-      constructor() {
-        super();
-        this[kQueue] = new FixedQueue();
-        this[kClients] = [];
-        this[kQueued] = 0;
-        const pool = this;
-        this[kOnDrain] = function onDrain(origin, targets) {
-          const queue = pool[kQueue];
-          let needDrain = false;
-          while (!needDrain) {
-            const item = queue.shift();
-            if (!item) {
-              break;
-            }
-            pool[kQueued]--;
-            needDrain = !this.dispatch(item.opts, item.handler);
-          }
-          this[kNeedDrain] = needDrain;
-          if (!this[kNeedDrain] && pool[kNeedDrain]) {
-            pool[kNeedDrain] = false;
-            pool.emit("drain", origin, [pool, ...targets]);
-          }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
-          }
-        };
-        this[kOnConnect] = (origin, targets) => {
-          pool.emit("connect", origin, [pool, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          pool.emit("disconnect", origin, [pool, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          pool.emit("connectionError", origin, [pool, ...targets], err);
-        };
-        this[kStats] = new PoolStats(this);
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
       }
-      get [kBusy]() {
-        return this[kNeedDrain];
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      get [kConnected]() {
-        return this[kClients].filter((client) => client[kConnected]).length;
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
       }
-      get [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
+          }
         }
-        return ret;
+        return this[kBody];
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+      async dump(opts) {
+        let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024;
+        const signal = opts?.signal;
+        if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
+          throw new InvalidArgumentError("signal must be an AbortSignal");
         }
-        return ret;
-      }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
         }
-        return ret;
-      }
-      get stats() {
-        return this[kStats];
+        return await new Promise((resolve2, reject) => {
+          if (this[kContentLength] > limit) {
+            this.destroy(new AbortError());
+          }
+          const onAbort = () => {
+            this.destroy(signal.reason ?? new AbortError());
+          };
+          signal?.addEventListener("abort", onAbort);
+          this.on("close", function() {
+            signal?.removeEventListener("abort", onAbort);
+            if (signal?.aborted) {
+              reject(signal.reason ?? new AbortError());
+            } else {
+              resolve2(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
       }
-      async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      assert(!stream[kConsume]);
+      return new Promise((resolve2, reject) => {
+        if (isUnusable(stream)) {
+          const rState = stream._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
+          } else {
+            reject(rState.errored ?? new TypeError("unusable"));
+          }
         } else {
-          return new Promise((resolve2) => {
-            this[kClosedResolve] = resolve2;
+          queueMicrotask(() => {
+            stream[kConsume] = {
+              type: type2,
+              stream,
+              resolve: resolve2,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream[kConsume]);
           });
         }
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
+      const { _readableState: state } = consume2.stream;
+      if (state.bufferIndex) {
+        const start = state.bufferIndex;
+        const end = state.buffer.length;
+        for (let n = start; n < end; n++) {
+          consumePush(consume2, state.buffer[n]);
         }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
-      }
-      [kDispatch](opts, handler2) {
-        const dispatcher = this[kGetDispatcher]();
-        if (!dispatcher) {
-          this[kNeedDrain] = true;
-          this[kQueue].push({ opts, handler: handler2 });
-          this[kQueued]++;
-        } else if (!dispatcher.dispatch(opts, handler2)) {
-          dispatcher[kNeedDrain] = true;
-          this[kNeedDrain] = !this[kGetDispatcher]();
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        return !this[kNeedDrain];
       }
-      [kAddClient](client) {
-        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-        this[kClients].push(client);
-        if (this[kNeedDrain]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
+      }
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
+      }
+    }
+    function chunksDecode(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return "";
+      }
+      const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
+      const bufferLength = buffer.length;
+      const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
+      return buffer.utf8Slice(start, bufferLength);
+    }
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
+      }
+      if (chunks.length === 1) {
+        return new Uint8Array(chunks[0]);
+      }
+      const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
+      let offset = 0;
+      for (let i = 0; i < chunks.length; ++i) {
+        const chunk = chunks[i];
+        buffer.set(chunk, offset);
+        offset += chunk.length;
+      }
+      return buffer;
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve2, stream, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve2(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve2(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve2(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve2(new Blob(body, { type: stream[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve2(chunksConcat(body, length));
         }
-        return this;
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      [kRemoveClient](client) {
-        client.close(() => {
-          const idx = this[kClients].indexOf(client);
-          if (idx !== -1) {
-            this[kClients].splice(idx, 1);
-          }
-        });
-        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-    };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
+      }
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+    module2.exports = { Readable: BodyReadable, chunksDecode };
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
-    "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
     var {
-      InvalidArgumentError
+      ResponseStatusCodeError
     } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
-    }
-    var Pool = class extends PoolBase {
-      constructor(origin, {
-        connections,
-        factory = defaultFactory,
-        connect,
-        connectTimeout,
-        tls,
-        maxCachedSessions,
-        socketPath,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        allowH2,
-        ...options
-      } = {}) {
-        super();
-        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
-          throw new InvalidArgumentError("invalid connections");
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (typeof connect !== "function") {
-          connect = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
           }
-        });
-      }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
         }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
+      } catch {
+        chunks = [];
+        length = 0;
+      }
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
+      }
+      const stackTraceLimit = Error.stackTraceLimit;
+      Error.stackTraceLimit = 0;
+      let payload;
+      try {
+        if (isContentTypeApplicationJson(contentType)) {
+          payload = JSON.parse(chunksDecode(chunks, length));
+        } else if (isContentTypeText(contentType)) {
+          payload = chunksDecode(chunks, length);
         }
-        return dispatcher;
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
       }
+      queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)));
+    }
+    var isContentTypeApplicationJson = (contentType) => {
+      return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n";
+    };
+    var isContentTypeText = (contentType) => {
+      return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t";
+    };
+    module2.exports = {
+      getResolveErrorBodyCallback,
+      isContentTypeApplicationJson,
+      isContentTypeText
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
     "use strict";
-    var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var BalancedPool = class extends PoolBase {
-      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
-        super();
-        this[kOptions] = opts;
-        this[kIndex] = -1;
-        this[kCurrentWeight] = 0;
-        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
-        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
-        if (!Array.isArray(upstreams)) {
-          upstreams = [upstreams];
+    var assert = require("node:assert");
+    var { Readable } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
+          } else {
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
+          }
         }
-        this._updateBalancedPoolStats();
       }
-      addUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
-          return this;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
-        this[kAddClient](pool);
-        pool.on("connect", () => {
-          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
-        });
-        pool.on("connectionError", () => {
-          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-          this._updateBalancedPoolStats();
-        });
-        pool.on("disconnect", (...args) => {
-          const err = args[2];
-          if (err && err.code === "UND_ERR_SOCKET") {
-            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-            this._updateBalancedPoolStats();
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
           }
+          return;
+        }
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
         });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        this._updateBalancedPoolStats();
-        return this;
-      }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
-      }
-      removeUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
-        if (pool) {
-          this[kRemoveClient](pool);
+        this.callback = null;
+        this.res = res;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body: res, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body: res,
+              context: context2
+            });
+          }
         }
-        return this;
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      onData(chunk) {
+        return this.res.push(chunk);
       }
-      [kGetDispatcher]() {
-        if (this[kClients].length === 0) {
-          throw new BalancedPoolMissingUpstreamError();
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
-        if (!dispatcher) {
-          return;
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        let counter = 0;
-        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
-        while (counter++ < this[kClients].length) {
-          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
-          const pool = this[kClients][this[kIndex]];
-          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
-            maxWeightIndex = this[kIndex];
-          }
-          if (this[kIndex] === 0) {
-            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
-            if (this[kCurrentWeight] <= 0) {
-              this[kCurrentWeight] = this[kMaxWeightPerServer];
-            }
-          }
-          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
-            return pool;
-          }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
       }
     };
-    module2.exports = BalancedPool;
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
+      }
+    }
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
   }
 });
 
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
-    "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      removeSignal(self2);
+    }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
-        }
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-    };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
     };
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
     var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    function defaultFactory(origin, opts) {
-      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
-    }
-    var Agent = class extends DispatcherBase {
-      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
-        super();
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
-        }
-        if (connect && typeof connect !== "function") {
-          connect = { ...connect };
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
-        );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
-        }
-        return ret;
-      }
-      [kDispatch](opts, handler2) {
-        let key;
-        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
-          key = String(opts.origin);
-        } else {
-          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
-        }
-        return dispatcher.dispatch(opts, handler2);
-      }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
-        }
-        await Promise.all(closePromises);
-      }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
-        }
-        await Promise.all(destroyPromises);
-      }
-    };
-    module2.exports = Agent;
-  }
-});
-
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
-    "use strict";
-    var assert = require("assert");
-    var { Readable } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
-    };
-    module2.exports = class BodyReadable extends Readable {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        highWaterMark = 64 * 1024
-        // Same as nodejs fs streams.
-      }) {
-        super({
-          autoDestroy: true,
-          read: resume,
-          highWaterMark
-        });
-        this._readableState.dataEmitted = false;
-        this[kAbort] = abort;
-        this[kConsume] = null;
-        this[kBody] = null;
-        this[kContentType] = contentType;
-        this[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
-        }
-        return super.emit(ev, ...args);
-      }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
-      }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
-      }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
-        }
-        return ret;
-      }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
-      }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
-        }
-        return super.push(chunk);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-text
-      async text() {
-        return consume(this, "text");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-json
-      async json() {
-        return consume(this, "json");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-blob
-      async blob() {
-        return consume(this, "blob");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-body
-      get body() {
-        if (!this[kBody]) {
-          this[kBody] = ReadableStreamFrom(this);
-          if (this[kConsume]) {
-            this[kBody].getReader();
-            assert(this[kBody].locked);
-          }
-        }
-        return this[kBody];
-      }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
-          }
-        }
-        if (this.closed) {
-          return Promise.resolve(null);
-        }
-        return new Promise((resolve2, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve2(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
-            }
-          }).resume();
-        });
-      }
-    };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream, type2) {
-      if (isUnusable(stream)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream[kConsume]);
-      return new Promise((resolve2, reject) => {
-        stream[kConsume] = {
-          type: type2,
-          stream,
-          resolve: resolve2,
-          reject,
-          length: 0,
-          body: []
-        };
-        stream.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
-          }
-        });
-        process.nextTick(consumeStart, stream[kConsume]);
-      });
-    }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
-      }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
-      }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
-        });
-      }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
-      }
-    }
-    function consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve2, stream, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve2(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve2(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
-          }
-          resolve2(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
-          }
-          resolve2(new Blob2(body, { type: stream[kContentType] }));
-        }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream.destroy(err);
-      }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
-      }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
-      }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
-        }
-      }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
-      }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
-      }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
-      }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
-      }
-      if (signal.aborted) {
-        abort(self2);
-        return;
-      }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
-      }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
-      } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
-      }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
-    };
-  }
-});
-
-// node_modules/undici/lib/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
-    "use strict";
-    var Readable = require_readable2();
-    var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
         try {
           if (typeof callback !== "function") {
             throw new InvalidArgumentError("invalid callback");
           }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
           }
           if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
             throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
@@ -30595,7 +31038,7 @@ var require_api_request2 = __commonJS({
           if (onInfo && typeof onInfo !== "function") {
             throw new InvalidArgumentError("invalid onInfo callback");
           }
-          super("UNDICI_REQUEST");
+          super("UNDICI_STREAM");
         } catch (err) {
           if (util.isStream(body)) {
             util.destroy(body.on("error", util.nop), err);
@@ -30604,15 +31047,15 @@ var require_api_request2 = __commonJS({
         }
         this.responseHeaders = responseHeaders || null;
         this.opaque = opaque || null;
+        this.factory = factory;
         this.callback = callback;
         this.res = null;
         this.abort = null;
-        this.body = body;
-        this.trailers = {};
         this.context = null;
+        this.trailers = null;
+        this.body = body;
         this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
+        this.throwOnError = throwOnError || false;
         if (util.isStream(body)) {
           body.on("error", (err) => {
             this.onError(err);
@@ -30621,14 +31064,16 @@ var require_api_request2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context2;
       }
       onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
         const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         if (statusCode < 200) {
           if (this.onInfo) {
@@ -30636,167 +31081,12 @@ var require_api_request2 = __commonJS({
           }
           return;
         }
-        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-        const contentType = parsedHeaders["content-type"];
-        const body = new Readable({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
-        }
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
-      }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve2, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve2(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
-          }
-          throw err;
-        }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
-        }
-        addSignal(this, signal);
-      }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
-      }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
-          }
-          return;
-        }
-        this.factory = null;
-        let res;
-        if (this.throwOnError && statusCode >= 400) {
-          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-          const contentType = parsedHeaders["content-type"];
-          res = new PassThrough();
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
           this.callback = null;
           this.runInAsyncScope(
             getResolveErrorBodyCallback,
@@ -30831,7 +31121,7 @@ var require_api_stream2 = __commonJS({
         }
         res.on("drain", resume);
         this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
         return needDrain !== true;
       }
       onData(chunk) {
@@ -30880,7 +31170,7 @@ var require_api_stream2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -30888,24 +31178,24 @@ var require_api_stream2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-pipeline.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
 var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
     "use strict";
     var {
       Readable,
       Duplex,
       PassThrough
-    } = require("stream");
+    } = require("node:stream");
     var {
       InvalidArgumentError,
       InvalidReturnValueError,
       RequestAbortedError
     } = require_errors2();
     var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
+    var { AsyncResource } = require("node:async_hooks");
     var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var kResume = /* @__PURE__ */ Symbol("resume");
     var PipelineRequest = class extends Readable {
       constructor() {
@@ -30970,7 +31260,7 @@ var require_api_pipeline2 = __commonJS({
           autoDestroy: true,
           read: () => {
             const { body } = this;
-            if (body && body.resume) {
+            if (body?.resume) {
               body.resume();
             }
           },
@@ -31005,10 +31295,12 @@ var require_api_pipeline2 = __commonJS({
       }
       onConnect(abort, context2) {
         const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
         this.abort = abort;
         this.context = context2;
       }
@@ -31086,15 +31378,15 @@ var require_api_pipeline2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
 var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
     var util = require_util9();
     var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
+    var assert = require("node:assert");
     var UpgradeHandler = class extends AsyncResource {
       constructor(opts, callback) {
         if (!opts || typeof opts !== "object") {
@@ -31116,9 +31408,11 @@ var require_api_upgrade2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = null;
       }
@@ -31126,8 +31420,8 @@ var require_api_upgrade2 = __commonJS({
         throw new SocketError("bad upgrade", null);
       }
       onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
         const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
         removeSignal(this);
         this.callback = null;
         const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
@@ -31168,7 +31462,7 @@ var require_api_upgrade2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -31176,12 +31470,13 @@ var require_api_upgrade2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/api-connect.js
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
 var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
     "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
     var util = require_util9();
     var { addSignal, removeSignal } = require_abort_signal2();
     var ConnectHandler = class extends AsyncResource {
@@ -31204,9 +31499,11 @@ var require_api_connect2 = __commonJS({
         addSignal(this, signal);
       }
       onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
+        assert(this.callback);
         this.abort = abort;
         this.context = context2;
       }
@@ -31255,7 +31552,7 @@ var require_api_connect2 = __commonJS({
         if (typeof callback !== "function") {
           throw err;
         }
-        const opaque = opts && opts.opaque;
+        const opaque = opts?.opaque;
         queueMicrotask(() => callback(err, { opaque }));
       }
     }
@@ -31263,9 +31560,9 @@ var require_api_connect2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/api/index.js
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
 var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
     "use strict";
     module2.exports.request = require_api_request2();
     module2.exports.stream = require_api_stream2();
@@ -31275,11 +31572,12 @@ var require_api2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-errors.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
 var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
     "use strict";
     var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
     var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
       constructor(message) {
         super(message);
@@ -31288,6 +31586,10 @@ var require_mock_errors2 = __commonJS({
         this.message = message || "The request does not match any registered mock dispatches";
         this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
+      }
+      [kMockNotMatchedError] = true;
     };
     module2.exports = {
       MockNotMatchedError
@@ -31295,9 +31597,9 @@ var require_mock_errors2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
 var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kAgent: /* @__PURE__ */ Symbol("agent"),
@@ -31323,9 +31625,9 @@ var require_mock_symbols2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-utils.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
 var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
     "use strict";
     var { MockNotMatchedError } = require_mock_errors2();
     var {
@@ -31335,13 +31637,13 @@ var require_mock_utils2 = __commonJS({
       kOrigin,
       kGetNetConnect
     } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
     var {
       types: {
         isPromise
       }
-    } = require("util");
+    } = require("node:util");
     function matchValue(match, value) {
       if (typeof match === "string") {
         return match === value;
@@ -31426,6 +31728,10 @@ var require_mock_utils2 = __commonJS({
     function getResponseData2(data) {
       if (Buffer.isBuffer(data)) {
         return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
       } else if (typeof data === "object") {
         return JSON.stringify(data);
       } else {
@@ -31441,15 +31747,16 @@ var require_mock_utils2 = __commonJS({
       }
       matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
       matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
       matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
       if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
       }
       return matchedMockDispatches[0];
     }
@@ -31482,11 +31789,21 @@ var require_mock_utils2 = __commonJS({
       };
     }
     function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
+          }
+        } else {
+          result.push(name, Buffer.from(`${value}`));
+        }
+      }
+      return result;
     }
     function getStatusText(statusCode) {
       return STATUS_CODES[statusCode] || "unknown";
@@ -31531,10 +31848,10 @@ var require_mock_utils2 = __commonJS({
         const responseData = getResponseData2(body);
         const responseHeaders = generateKeyValues(headers);
         const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
         deleteMockDispatch(mockDispatches, key);
       }
       function resume() {
@@ -31598,14 +31915,15 @@ var require_mock_utils2 = __commonJS({
       buildMockDispatch,
       checkNetConnect,
       buildMockOptions,
-      getHeaderByName
+      getHeaderByName,
+      buildHeadersFromArray
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
 var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
     "use strict";
     var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
     var {
@@ -31678,46 +31996,47 @@ var require_mock_interceptor2 = __commonJS({
         this[kDefaultTrailers] = {};
         this[kContentLength] = false;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
+      createMockScopeDispatchData({ statusCode, data, responseOptions }) {
         const responseData = getResponseData2(data);
         const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
         const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
         const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
         return { statusCode, data, headers, trailers };
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
           throw new InvalidArgumentError("statusCode must be defined");
         }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
-        }
-        if (typeof responseOptions !== "object") {
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
           throw new InvalidArgumentError("responseOptions must be an object");
         }
       }
       /**
        * Mock an undici request with a defined reply.
        */
-      reply(replyData) {
-        if (typeof replyData === "function") {
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
           const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
               throw new InvalidArgumentError("reply options callback must return an object");
             }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
             return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+              ...this.createMockScopeDispatchData(replyParameters2)
             };
           };
           const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
           return new MockScope(newMockDispatch2);
         }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const replyParameters = {
+          statusCode: replyOptionsCallbackOrStatusCode,
+          data: arguments[1] === void 0 ? "" : arguments[1],
+          responseOptions: arguments[2] === void 0 ? {} : arguments[2]
+        };
+        this.validateReplyParameters(replyParameters);
+        const dispatchData = this.createMockScopeDispatchData(replyParameters);
         const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
         return new MockScope(newMockDispatch);
       }
@@ -31764,11 +32083,11 @@ var require_mock_interceptor2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-client.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
 var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
+    var { promisify } = require("node:util");
     var Client = require_client2();
     var { buildMockDispatch } = require_mock_utils2();
     var {
@@ -31817,11 +32136,11 @@ var require_mock_client2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-pool.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
 var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
     "use strict";
-    var { promisify } = require("util");
+    var { promisify } = require("node:util");
     var Pool = require_pool2();
     var { buildMockDispatch } = require_mock_utils2();
     var {
@@ -31870,9 +32189,9 @@ var require_mock_pool2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/pluralizer.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
 var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
     var singulars = {
       pronoun: "it",
@@ -31901,12 +32220,14 @@ var require_pluralizer2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
 var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
     "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
+    var { Transform } = require("node:stream");
+    var { Console } = require("node:console");
+    var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
+    var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
     module2.exports = class PendingInterceptorsFormatter {
       constructor({ disableColors } = {}) {
         this.transform = new Transform({
@@ -31928,7 +32249,7 @@ var require_pending_interceptors_formatter2 = __commonJS({
             Origin: origin,
             Path: path3,
             "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
             Invocations: timesInvoked,
             Remaining: persist ? Infinity : times - timesInvoked
           })
@@ -31940,9 +32261,9 @@ var require_pending_interceptors_formatter2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/mock/mock-agent.js
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
 var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
     "use strict";
     var { kClients } = require_symbols6();
     var Agent = require_agent2();
@@ -31964,23 +32285,15 @@ var require_mock_agent2 = __commonJS({
     var Dispatcher = require_dispatcher2();
     var Pluralizer = require_pluralizer2();
     var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
-      }
-      deref() {
-        return this.value;
-      }
-    };
     var MockAgent = class extends Dispatcher {
       constructor(opts) {
         super(opts);
         this[kNetConnect] = true;
         this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
           throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
         this[kAgent] = agent;
         this[kClients] = agent[kClients];
         this[kOptions] = buildMockOptions(opts);
@@ -32029,24 +32342,23 @@ var require_mock_agent2 = __commonJS({
         return this[kIsMockActive];
       }
       [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+        this[kClients].set(origin, dispatcher);
       }
       [kFactory](origin) {
         const mockOptions = Object.assign({ agent: this }, this[kOptions]);
         return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
       }
       [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+        const client = this[kClients].get(origin);
+        if (client) {
+          return client;
         }
         if (typeof origin !== "string") {
           const dispatcher = this[kFactory]("http://localhost:9999");
           this[kMockAgentSet](origin, dispatcher);
           return dispatcher;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
+        for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {
           if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
             const dispatcher = this[kFactory](origin);
             this[kMockAgentSet](origin, dispatcher);
@@ -32060,7 +32372,7 @@ var require_mock_agent2 = __commonJS({
       }
       pendingInterceptors() {
         const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
       assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
         const pending = this.pendingInterceptors();
@@ -32079,428 +32391,9 @@ ${pendingInterceptorsFormatter.format(pending)}
   }
 });
 
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
-    }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
-      }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-      }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        if (opts.auth && opts.token) {
-          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
-        } else if (opts.auth) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
-        } else if (opts.token) {
-          this[kProxyHeaders]["proxy-authorization"] = opts.token;
-        } else if (username && password) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
-        }
-        const connect = buildConnector({ ...opts.proxyTls });
-        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).destroy();
-                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
-              }
-              if (opts2.protocol !== "https:") {
-                callback(null, socket);
-                return;
-              }
-              let servername;
-              if (this[kRequestTls]) {
-                servername = this[kRequestTls].servername;
-              } else {
-                servername = opts2.servername;
-              }
-              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
-            } catch (err) {
-              callback(err);
-            }
-          }
-        });
-      }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
-      }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
-      }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
-      }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
-        }
-        return headersPair;
-      }
-      return headers;
-    }
-    function throwIfProxyAuthIsSent(headers) {
-      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
-      if (existProxyAuth) {
-        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
-      }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    var RetryHandler = class _RetryHandler {
-      constructor(opts, handlers) {
-        const { retryOptions, ...dispatchOpts } = opts;
-        const {
-          // Retry scoped
-          retry: retryFn,
-          maxRetries,
-          maxTimeout,
-          minTimeout,
-          timeoutFactor,
-          // Response scoped
-          methods,
-          errorCodes,
-          retryAfter,
-          statusCodes
-        } = retryOptions ?? {};
-        this.dispatch = handlers.dispatch;
-        this.handler = handlers.handler;
-        this.opts = dispatchOpts;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: minTimeout ?? 500,
-          // .5s
-          timeoutFactor: timeoutFactor ?? 2,
-          maxRetries: maxRetries ?? 5,
-          // What errors we should retry
-          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
-          // Indicates which errors to retry
-          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
-          // List of errors to retry
-          errorCodes: errorCodes ?? [
-            "ECONNRESET",
-            "ECONNREFUSED",
-            "ENOTFOUND",
-            "ENETDOWN",
-            "ENETUNREACH",
-            "EHOSTDOWN",
-            "EHOSTUNREACH",
-            "EPIPE"
-          ]
-        };
-        this.retryCount = 0;
-        this.start = 0;
-        this.end = null;
-        this.etag = null;
-        this.resume = null;
-        this.handler.onConnect((reason) => {
-          this.aborted = true;
-          if (this.abort) {
-            this.abort(reason);
-          } else {
-            this.reason = reason;
-          }
-        });
-      }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
-      }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
-        }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
-        } else {
-          this.abort = abort;
-        }
-      }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
-      }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
-          return;
-        }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          return;
-        }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
-        }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
-        }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
-        }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
-      }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
-        }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
-          }
-          const { start, size, end = size } = contentRange;
-          assert(this.start === start, "content-range mismatch");
-          assert(this.end == null || this.end === end, "content-range mismatch");
-          this.resume = resume;
-          return true;
-        }
-        if (this.end == null) {
-          if (statusCode === 206) {
-            const range = parseRangeHeader(headers["content-range"]);
-            if (range == null) {
-              return this.handler.onHeaders(
-                statusCode,
-                rawHeaders,
-                resume,
-                statusMessage
-              );
-            }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== end,
-              "invalid content-length"
-            );
-            this.start = start;
-            this.end = end;
-          }
-          if (this.end == null) {
-            const contentLength = headers["content-length"];
-            this.end = contentLength != null ? Number(contentLength) : null;
-          }
-          assert(Number.isFinite(this.start));
-          assert(
-            this.end == null || Number.isFinite(this.end),
-            "invalid content-length"
-          );
-          this.resume = resume;
-          this.etag = headers.etag != null ? headers.etag : null;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
-        });
-        this.abort(err);
-        return false;
-      }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
-      }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
-      }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
-        }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            opts: { retryOptions: this.retryOpts, ...this.opts }
-          },
-          onRetry.bind(this)
-        );
-        function onRetry(err2) {
-          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
-            return this.handler.onError(err2);
-          }
-          if (this.start !== 0) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
-        }
-      }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
+// node_modules/@actions/github/node_modules/undici/lib/global.js
 var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
     var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
     var { InvalidArgumentError } = require_errors2();
@@ -32529,62 +32422,505 @@ var require_global4 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
     "use strict";
     module2.exports = class DecoratorHandler {
+      #handler;
       constructor(handler2) {
-        this.handler = handler2;
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
+        }
+        this.#handler = handler2;
       }
       onConnect(...args) {
-        return this.handler.onConnect(...args);
+        return this.#handler.onConnect?.(...args);
       }
       onError(...args) {
-        return this.handler.onError(...args);
+        return this.#handler.onError?.(...args);
       }
       onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+        return this.#handler.onUpgrade?.(...args);
+      }
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
       }
       onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+        return this.#handler.onHeaders?.(...args);
       }
       onData(...args) {
-        return this.handler.onData(...args);
+        return this.#handler.onData?.(...args);
       }
       onComplete(...args) {
-        return this.handler.onComplete(...args);
+        return this.#handler.onComplete?.(...args);
       }
       onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+        return this.#handler.onBodySent?.(...args);
       }
     };
   }
 });
 
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
-    function isHTTPWhiteSpaceCharCode(code) {
-      return code === 10 || code === 13 || code === 9 || code === 32;
-    }
-    function headerValueNormalize(potentialValue) {
-      let i = 0;
-      let j = potentialValue.length;
+    var RedirectHandler = require_redirect_handler2();
+    module2.exports = (opts) => {
+      const globalMaxRedirections = opts?.maxRedirections;
+      return (dispatch) => {
+        return function redirectInterceptor(opts2, handler2) {
+          const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2;
+          if (!maxRedirections) {
+            return dispatch(opts2, handler2);
+          }
+          const redirectHandler = new RedirectHandler(
+            dispatch,
+            maxRedirections,
+            opts2,
+            handler2
+          );
+          return dispatch(baseOpts, redirectHandler);
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    var DumpHandler = class extends DecoratorHandler {
+      #maxSize = 1024 * 1024;
+      #abort = null;
+      #dumped = false;
+      #aborted = false;
+      #size = 0;
+      #reason = null;
+      #handler = null;
+      constructor({ maxSize }, handler2) {
+        super(handler2);
+        if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
+          throw new InvalidArgumentError("maxSize must be a number greater than 0");
+        }
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
+      }
+      onConnect(abort) {
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
+      }
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
+      }
+      // TODO: will require adjustment after new hooks are out
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = util.parseHeaders(rawHeaders);
+        const contentLength = headers["content-length"];
+        if (contentLength != null && contentLength > this.#maxSize) {
+          throw new RequestAbortedError(
+            `Response size (${contentLength}) larger than maxSize (${this.#maxSize})`
+          );
+        }
+        if (this.#aborted) {
+          return true;
+        }
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
+        );
+      }
+      onError(err) {
+        if (this.#dumped) {
+          return;
+        }
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
+      }
+      onData(chunk) {
+        this.#size = this.#size + chunk.length;
+        if (this.#size >= this.#maxSize) {
+          this.#dumped = true;
+          if (this.#aborted) {
+            this.#handler.onError(this.#reason);
+          } else {
+            this.#handler.onComplete([]);
+          }
+        }
+        return true;
+      }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
+        }
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
+        }
+        this.#handler.onComplete(trailers);
+      }
+    };
+    function createDumpInterceptor({ maxSize: defaultMaxSize } = {
+      maxSize: 1024 * 1024
+    }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { dumpMaxSize = defaultMaxSize } = opts;
+          const dumpHandler = new DumpHandler(
+            { maxSize: dumpMaxSize },
+            handler2
+          );
+          return dispatch(opts, dumpHandler);
+        };
+      };
+    }
+    module2.exports = createDumpInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
+    "use strict";
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    var maxInt = Math.pow(2, 31) - 1;
+    var DNSInstance = class {
+      #maxTTL = 0;
+      #maxItems = 0;
+      #records = /* @__PURE__ */ new Map();
+      dualStack = true;
+      affinity = null;
+      lookup = null;
+      pick = null;
+      constructor(opts) {
+        this.#maxTTL = opts.maxTTL;
+        this.#maxItems = opts.maxItems;
+        this.dualStack = opts.dualStack;
+        this.affinity = opts.affinity;
+        this.lookup = opts.lookup ?? this.#defaultLookup;
+        this.pick = opts.pick ?? this.#defaultPick;
+      }
+      get full() {
+        return this.#records.size === this.#maxItems;
+      }
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
+        }
+        const newOpts = {
+          affinity: this.affinity,
+          dualStack: this.dualStack,
+          lookup: this.lookup,
+          pick: this.pick,
+          ...opts.dns,
+          maxTTL: this.#maxTTL,
+          maxItems: this.#maxItems
+        };
+        if (ips == null) {
+          this.lookup(origin, newOpts, (err, addresses) => {
+            if (err || addresses == null || addresses.length === 0) {
+              cb(err ?? new InformationalError("No DNS entries found"));
+              return;
+            }
+            this.setRecords(origin, addresses);
+            const records = this.#records.get(origin.hostname);
+            const ip = this.pick(
+              origin,
+              records,
+              newOpts.affinity
+            );
+            let port;
+            if (typeof ip.port === "number") {
+              port = `:${ip.port}`;
+            } else if (origin.port !== "") {
+              port = `:${origin.port}`;
+            } else {
+              port = "";
+            }
+            cb(
+              null,
+              `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+            );
+          });
+        } else {
+          const ip = this.pick(
+            origin,
+            ips,
+            newOpts.affinity
+          );
+          if (ip == null) {
+            this.#records.delete(origin.hostname);
+            this.runLookup(origin, opts, cb);
+            return;
+          }
+          let port;
+          if (typeof ip.port === "number") {
+            port = `:${ip.port}`;
+          } else if (origin.port !== "") {
+            port = `:${origin.port}`;
+          } else {
+            port = "";
+          }
+          cb(
+            null,
+            `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+          );
+        }
+      }
+      #defaultLookup(origin, opts, cb) {
+        lookup(
+          origin.hostname,
+          {
+            all: true,
+            family: this.dualStack === false ? this.affinity : 0,
+            order: "ipv4first"
+          },
+          (err, addresses) => {
+            if (err) {
+              return cb(err);
+            }
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
+          }
+        );
+      }
+      #defaultPick(origin, hostnameRecords, affinity) {
+        let ip = null;
+        const { records, offset } = hostnameRecords;
+        let family;
+        if (this.dualStack) {
+          if (affinity == null) {
+            if (offset == null || offset === maxInt) {
+              hostnameRecords.offset = 0;
+              affinity = 4;
+            } else {
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
+            }
+          }
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
+          }
+        } else {
+          family = records[affinity];
+        }
+        if (family == null || family.ips.length === 0) {
+          return ip;
+        }
+        if (family.offset == null || family.offset === maxInt) {
+          family.offset = 0;
+        } else {
+          family.offset++;
+        }
+        const position = family.offset % family.ips.length;
+        ip = family.ips[position] ?? null;
+        if (ip == null) {
+          return ip;
+        }
+        if (Date.now() - ip.timestamp > ip.ttl) {
+          family.ips.splice(position, 1);
+          return this.pick(origin, hostnameRecords, affinity);
+        }
+        return ip;
+      }
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
+          }
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
+        }
+        this.#records.set(origin.hostname, records);
+      }
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
+      }
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
+      }
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
+        }
+      }
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
+      }
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
+      }
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
+      }
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
+      }
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
+      }
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
+      }
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
+      } else {
+        affinity = interceptorOpts?.affinity ?? 4;
+      }
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
+            }
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
+    var {
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
+    }
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
       while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
       while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
       return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
@@ -32629,11 +32965,13 @@ var require_headers2 = __commonJS({
           type: "header value"
         });
       }
-      if (headers[kGuard] === "immutable") {
+      if (getHeadersGuard(headers) === "immutable") {
         throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
       }
-      return headers[kHeadersList].append(name, value);
+      return getHeadersList(headers).append(name, value, false);
+    }
+    function compareHeaderName(a, b) {
+      return a[0] < b[0] ? -1 : 1;
     }
     var HeadersList = class _HeadersList {
       /** @type {[string, string][]|null} */
@@ -32648,20 +32986,28 @@ var require_headers2 = __commonJS({
           this[kHeadersSortedMap] = null;
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      /**
+       * @see https://fetch.spec.whatwg.org/#header-list-contains
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      contains(name, isLowerCase) {
+        return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase());
       }
       clear() {
         this[kHeadersMap].clear();
         this[kHeadersSortedMap] = null;
         this.cookies = null;
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-append
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      append(name, value, isLowerCase) {
         this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
         const exists = this[kHeadersMap].get(lowercaseName);
         if (exists) {
           const delimiter = lowercaseName === "cookie" ? "; " : ", ";
@@ -32673,73 +33019,155 @@ var require_headers2 = __commonJS({
           this[kHeadersMap].set(lowercaseName, { name, value });
         }
         if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+          (this.cookies ??= []).push(value);
         }
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-set
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      set(name, value, isLowerCase) {
         this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
         if (lowercaseName === "set-cookie") {
           this.cookies = [value];
         }
         this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
         this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
+        if (!isLowerCase) name = name.toLowerCase();
         if (name === "set-cookie") {
           this.cookies = null;
         }
         this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-get
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       * @returns {string | null}
+       */
+      get(name, isLowerCase) {
+        return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
       }
       *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
           yield [name, value];
         }
       }
       get entries() {
         const headers = {};
-        if (this[kHeadersMap].size) {
+        if (this[kHeadersMap].size !== 0) {
           for (const { name, value } of this[kHeadersMap].values()) {
             headers[name] = value;
           }
         }
         return headers;
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
+      rawValues() {
+        return this[kHeadersMap].values();
+      }
+      get entriesList() {
+        const headers = [];
+        if (this[kHeadersMap].size !== 0) {
+          for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) {
+            if (lowerName === "set-cookie") {
+              for (const cookie of this.cookies) {
+                headers.push([name, cookie]);
+              }
+            } else {
+              headers.push([name, value]);
+            }
+          }
+        }
+        return headers;
+      }
+      // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set
+      toSortedArray() {
+        const size = this[kHeadersMap].size;
+        const array = new Array(size);
+        if (size <= 32) {
+          if (size === 0) {
+            return array;
+          }
+          const iterator2 = this[kHeadersMap][Symbol.iterator]();
+          const firstValue = iterator2.next().value;
+          array[0] = [firstValue[0], firstValue[1].value];
+          assert(firstValue[1].value !== null);
+          for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) {
+            value = iterator2.next().value;
+            x = array[i] = [value[0], value[1].value];
+            assert(x[1] !== null);
+            left = 0;
+            right = i;
+            while (left < right) {
+              pivot = left + (right - left >> 1);
+              if (array[pivot][0] <= x[0]) {
+                left = pivot + 1;
+              } else {
+                right = pivot;
+              }
+            }
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
+            }
+          }
+          if (!iterator2.next().done) {
+            throw new TypeError("Unreachable");
+          }
+          return array;
+        } else {
+          let i = 0;
+          for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+            array[i++] = [name, value];
+            assert(value !== null);
+          }
+          return array.sort(compareHeaderName);
+        }
+      }
+    };
+    var Headers = class _Headers {
+      #guard;
+      #headersList;
+      constructor(init = void 0) {
+        webidl.util.markAsUncloneable(this);
+        if (init === kConstruct) {
           return;
         }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
         if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
           fill(this, init);
         }
       }
       // https://fetch.spec.whatwg.org/#dom-headers-append
       append(name, value) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
         return appendHeader(this, name, value);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-delete
       delete(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
             prefix: "Headers.delete",
@@ -32747,73 +33175,74 @@ var require_headers2 = __commonJS({
             type: "header name"
           });
         }
-        if (this[kGuard] === "immutable") {
+        if (this.#guard === "immutable") {
           throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
         }
-        if (!this[kHeadersList].contains(name)) {
+        if (!this.#headersList.contains(name, false)) {
           return;
         }
-        this[kHeadersList].delete(name);
+        this.#headersList.delete(name, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-get
       get(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
+            prefix,
             value: name,
             type: "header name"
           });
         }
-        return this[kHeadersList].get(name);
+        return this.#headersList.get(name, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-has
       has(name) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
+            prefix,
             value: name,
             type: "header name"
           });
         }
-        return this[kHeadersList].contains(name);
+        return this.#headersList.contains(name, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-set
       set(name, value) {
         webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
         value = headerValueNormalize(value);
         if (!isValidHeaderName(name)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
+            prefix,
             value: name,
             type: "header name"
           });
         } else if (!isValidHeaderValue(value)) {
           throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
+            prefix,
             value,
             type: "header value"
           });
         }
-        if (this[kGuard] === "immutable") {
+        if (this.#guard === "immutable") {
           throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
         }
-        this[kHeadersList].set(name, value);
+        this.#headersList.set(name, value, false);
       }
       // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
       getSetCookie() {
         webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
+        const list = this.#headersList.cookies;
         if (list) {
           return [...list];
         }
@@ -32821,96 +33250,50 @@ var require_headers2 = __commonJS({
       }
       // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
       get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
         const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
+        }
         for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
+          const { 0: name, 1: value } = names[i];
           if (name === "set-cookie") {
             for (let j = 0; j < cookies.length; ++j) {
               headers.push([name, cookies[j]]);
             }
           } else {
-            assert(value !== null);
             headers.push([name, value]);
           }
         }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
       }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
+      static getHeadersList(o) {
+        return o.#headersList;
       }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers;
+    Reflect.deleteProperty(Headers, "getHeadersGuard");
+    Reflect.deleteProperty(Headers, "setHeadersGuard");
+    Reflect.deleteProperty(Headers, "getHeadersList");
+    Reflect.deleteProperty(Headers, "setHeadersList");
+    iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1);
     Object.defineProperties(Headers.prototype, {
       append: kEnumerableProperty,
       delete: kEnumerableProperty,
@@ -32918,11 +33301,6 @@ var require_headers2 = __commonJS({
       has: kEnumerableProperty,
       set: kEnumerableProperty,
       getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
       [Symbol.toStringTag]: {
         value: "Headers",
         configurable: true
@@ -32931,12 +33309,19 @@ var require_headers2 = __commonJS({
         enumerable: false
       }
     });
-    webidl.converters.HeadersInit = function(V) {
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
       if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
         }
-        return webidl.converters["record"](V);
+        if (typeof iterator2 === "function") {
+          return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V));
+        }
+        return webidl.converters["record"](V, prefix, argument);
       }
       throw webidl.errors.conversionFailed({
         prefix: "Headers constructor",
@@ -32946,19 +33331,26 @@ var require_headers2 = __commonJS({
     };
     module2.exports = {
       fill,
+      // for test.
+      compareHeaderName,
       Headers,
-      HeadersList
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
 var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
+    var nodeUtil = require("node:util");
     var { kEnumerableProperty } = util;
     var {
       isValidReasonPhrase,
@@ -32967,38 +33359,30 @@ var require_response2 = __commonJS({
       isBlobLike,
       serializeJavascriptValueToJSONString,
       isErrorLike,
-      isomorphicEncode
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
     } = require_util10();
     var {
       redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
     var { webidl } = require_webidl2();
     var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { types } = require("node:util");
     var textEncoder = new TextEncoder("utf-8");
     var Response = class _Response {
       // Creates network error Response.
       static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
         return responseObject;
       }
       // https://fetch.spec.whatwg.org/#dom-response-json
       static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
         if (init !== null) {
           init = webidl.converters.ResponseInit(init);
         }
@@ -33006,52 +33390,44 @@ var require_response2 = __commonJS({
           serializeJavascriptValueToJSONString(data)
         );
         const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
         initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
         return responseObject;
       }
       // Creates a redirect Response that redirects to url with status status.
       static redirect(url, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
         url = webidl.converters.USVString(url);
         status = webidl.converters["unsigned short"](status);
         let parsedURL;
         try {
-          parsedURL = new URL(url, getGlobalOrigin());
+          parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
         } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
-            cause: err
-          });
+          throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
         }
         if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
         responseObject[kState].status = status;
         const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
+        responseObject[kState].headersList.append("location", value, true);
         return responseObject;
       }
       // https://fetch.spec.whatwg.org/#dom-response
       constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
+        }
         if (body !== null) {
           body = webidl.converters.BodyInit(body);
         }
         init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
         this[kState] = makeResponse({});
         this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
         let bodyWithType = null;
         if (body != null) {
           const [extractedBody, type2] = extractBody(body);
@@ -33110,20 +33486,35 @@ var require_response2 = __commonJS({
       // Returns a clone of response.
       clone() {
         webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
+        if (bodyUnusable(this)) {
           throw webidl.errors.exception({
             header: "Response.clone",
             message: "Body has already been consumed."
           });
         }
         const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+        if (hasFinalizationRegistry && this[kState].body?.stream) {
+          streamRegistry.register(this, new WeakRef(this[kState].body.stream));
+        }
+        return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders]));
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
     mixinBody(Response);
@@ -33157,7 +33548,7 @@ var require_response2 = __commonJS({
       }
       const newResponse = makeResponse({ ...response, body: null });
       if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
+        newResponse.body = cloneBody(newResponse, response.body);
       }
       return newResponse;
     }
@@ -33173,8 +33564,8 @@ var require_response2 = __commonJS({
         cacheState: "",
         statusText: "",
         ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
       };
     }
     function makeNetworkError(reason) {
@@ -33186,6 +33577,13 @@ var require_response2 = __commonJS({
         aborted: reason && reason.name === "AbortError"
       });
     }
+    function isNetworkError(response) {
+      return (
+        // A network error is a response whose type is "error",
+        response.type === "error" && // status is 0
+        response.status === 0
+      );
+    }
     function makeFilteredResponse(response, state) {
       state = {
         internalResponse: response,
@@ -33235,7 +33633,7 @@ var require_response2 = __commonJS({
     }
     function makeAppropriateNetworkError(fetchParams, err = null) {
       assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
     }
     function initializeResponse(response, init, body) {
       if (init.status !== null && (init.status < 200 || init.status > 599)) {
@@ -33259,17 +33657,28 @@ var require_response2 = __commonJS({
         if (nullBodyStatus.includes(response.status)) {
           throw webidl.errors.exception({
             header: "Response constructor",
-            message: "Invalid response status code " + response.status
+            message: `Invalid response status code ${response.status}`
           });
         }
         response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
         }
       }
     }
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
+      }
+      return response;
+    }
     webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
+      ReadableStream
     );
     webidl.converters.FormData = webidl.interfaceConverter(
       FormData2
@@ -33277,43 +33686,43 @@ var require_response2 = __commonJS({
     webidl.converters.URLSearchParams = webidl.interfaceConverter(
       URLSearchParams
     );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
       if (typeof V === "string") {
-        return webidl.converters.USVString(V);
+        return webidl.converters.USVString(V, prefix, name);
       }
       if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
       if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
       if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-      return webidl.converters.DOMString(V);
+      return webidl.converters.DOMString(V, prefix, name);
     };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
+    webidl.converters.BodyInit = function(V, prefix, argument) {
+      if (V instanceof ReadableStream) {
+        return webidl.converters.ReadableStream(V, prefix, argument);
       }
       if (V?.[Symbol.asyncIterator]) {
         return V;
       }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
     };
     webidl.converters.ResponseInit = webidl.dictionaryConverter([
       {
         key: "status",
         converter: webidl.converters["unsigned short"],
-        defaultValue: 200
+        defaultValue: () => 200
       },
       {
         key: "statusText",
         converter: webidl.converters.ByteString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "headers",
@@ -33321,30 +33730,73 @@ var require_response2 = __commonJS({
       }
     ]);
     module2.exports = {
+      isNetworkError,
       makeNetworkError,
       makeResponse,
       makeAppropriateNetworkError,
       filterResponse,
       Response,
-      cloneResponse
+      cloneResponse,
+      fromInnerResponse
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
+      }
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      }
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
+      }
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
+            }
+          });
+        }
+      }
+      unregister(key) {
+      }
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) {
+        process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
+      }
+      return { WeakRef, FinalizationRegistry };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
 var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
     var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
     var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
       isValidHTTPToken,
       sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
+      environmentSettingsObject
     } = require_util10();
     var {
       forbiddenMethodsSet,
@@ -33355,43 +33807,61 @@ var require_request4 = __commonJS({
       requestCredentials,
       requestCache,
       requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
     var kAbortController = /* @__PURE__ */ Symbol("abortController");
     var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
       signal.removeEventListener("abort", abort);
     });
+    var dependentControllerMap = /* @__PURE__ */ new WeakMap();
+    function buildAbort(acRef) {
+      return abort;
+      function abort() {
+        const ac = acRef.deref();
+        if (ac !== void 0) {
+          requestFinalizer.unregister(abort);
+          this.removeEventListener("abort", abort);
+          ac.abort(this.reason);
+          const controllerList = dependentControllerMap.get(ac.signal);
+          if (controllerList !== void 0) {
+            if (controllerList.size !== 0) {
+              for (const ref of controllerList) {
+                const ctrl = ref.deref();
+                if (ctrl !== void 0) {
+                  ctrl.abort(this.reason);
+                }
+              }
+              controllerList.clear();
+            }
+            dependentControllerMap.delete(ac.signal);
+          }
+        }
+      }
+    }
+    var patchMethodWarning = false;
     var Request = class _Request {
       // https://fetch.spec.whatwg.org/#dom-request
       constructor(input, init = {}) {
+        webidl.util.markAsUncloneable(this);
         if (input === kConstruct) {
           return;
         }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
+        const prefix = "Request constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        input = webidl.converters.RequestInfo(input, prefix, "input");
+        init = webidl.converters.RequestInit(init, prefix, "init");
+        let request2 = null;
         let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
         let signal = null;
         if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
           let parsedURL;
           try {
             parsedURL = new URL(input, baseUrl);
@@ -33406,11 +33876,12 @@ var require_request4 = __commonJS({
           request2 = makeRequest({ urlList: [parsedURL] });
           fallbackMode = "cors";
         } else {
+          this[kDispatcher] = init.dispatcher || input[kDispatcher];
           assert(input instanceof _Request);
           request2 = input[kState];
           signal = input[kSignal];
         }
-        const origin = this[kRealm].settingsObject.origin;
+        const origin = environmentSettingsObject.settingsObject.origin;
         let window2 = "client";
         if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
           window2 = request2.window;
@@ -33432,7 +33903,7 @@ var require_request4 = __commonJS({
           // unsafe-request flag Set.
           unsafeRequest: request2.unsafeRequest,
           // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
+          client: environmentSettingsObject.settingsObject,
           // window window.
           window: window2,
           // priority request’s priority.
@@ -33488,7 +33959,7 @@ var require_request4 = __commonJS({
             } catch (err) {
               throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
             }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
               request2.referrer = "client";
             } else {
               request2.referrer = parsedReferrer;
@@ -33535,14 +34006,26 @@ var require_request4 = __commonJS({
         }
         if (init.method !== void 0) {
           let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
+          const mayBeNormalized = normalizedMethodRecords[method];
+          if (mayBeNormalized !== void 0) {
+            request2.method = mayBeNormalized;
+          } else {
+            if (!isValidHTTPToken(method)) {
+              throw new TypeError(`'${method}' is not a valid HTTP method.`);
+            }
+            const upperCase = method.toUpperCase();
+            if (forbiddenMethodsSet.has(upperCase)) {
+              throw new TypeError(`'${method}' HTTP method is unsupported.`);
+            }
+            method = normalizedMethodRecordsBase[upperCase] ?? method;
+            request2.method = method;
           }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          if (!patchMethodWarning && request2.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"
+            });
+            patchMethodWarning = true;
           }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
         }
         if (init.signal !== void 0) {
           signal = init.signal;
@@ -33550,7 +34033,6 @@ var require_request4 = __commonJS({
         this[kState] = request2;
         const ac = new AbortController();
         this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
         if (signal != null) {
           if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
             throw new TypeError(
@@ -33562,43 +34044,37 @@ var require_request4 = __commonJS({
           } else {
             this[kAbortController] = ac;
             const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
-              }
-            };
+            const abort = buildAbort(acRef);
             try {
               if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
+                setMaxListeners(1500, signal);
               } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+                setMaxListeners(1500, signal);
               }
             } catch {
             }
             util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
+            requestFinalizer.register(ac, { signal, abort }, abort);
           }
         }
         this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
+        setHeadersList(this[kHeaders], request2.headersList);
+        setHeadersGuard(this[kHeaders], "request");
         if (mode === "no-cors") {
           if (!corsSafeListedMethodsSet.has(request2.method)) {
             throw new TypeError(
               `'${request2.method} is unsupported in no-cors mode.`
             );
           }
-          this[kHeaders][kGuard] = "request-no-cors";
+          setHeadersGuard(this[kHeaders], "request-no-cors");
         }
         if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
+          const headersList = getHeadersList(this[kHeaders]);
           const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
           headersList.clear();
           if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
             }
             headersList.cookies = headers.cookies;
           } else {
@@ -33616,7 +34092,7 @@ var require_request4 = __commonJS({
             request2.keepalive
           );
           initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
             this[kHeaders].append("content-type", contentType);
           }
         }
@@ -33634,15 +34110,12 @@ var require_request4 = __commonJS({
         }
         let finalBody = inputOrInitBody;
         if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+          if (bodyUnusable(input)) {
             throw new TypeError(
               "Cannot construct a Request with a Request object that has already been used."
             );
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
-          }
-          const identityTransform = new TransformStream2();
+          const identityTransform = new TransformStream();
           inputBody.stream.pipeThrough(identityTransform);
           finalBody = {
             source: inputBody.source,
@@ -33745,7 +34218,7 @@ var require_request4 = __commonJS({
         return this[kState].reloadNavigation;
       }
       // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
+      // navigation (a.k.a. back-forward navigation).
       get isHistoryNavigation() {
         webidl.brandCheck(this, _Request);
         return this[kState].historyNavigation;
@@ -33772,83 +34245,112 @@ var require_request4 = __commonJS({
       // Returns a clone of request.
       clone() {
         webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
+        if (bodyUnusable(this)) {
           throw new TypeError("unusable");
         }
         const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
         const ac = new AbortController();
         if (this.signal.aborted) {
           ac.abort(this.signal.reason);
         } else {
+          let list = dependentControllerMap.get(this.signal);
+          if (list === void 0) {
+            list = /* @__PURE__ */ new Set();
+            dependentControllerMap.set(this.signal, list);
+          }
+          const acRef = new WeakRef(ac);
+          list.add(acRef);
           util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
+            ac.signal,
+            buildAbort(acRef)
           );
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
+        return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]));
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
     mixinBody(Request);
     function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
+      return {
+        method: init.method ?? "GET",
+        localURLsOnly: init.localURLsOnly ?? false,
+        unsafeRequest: init.unsafeRequest ?? false,
+        body: init.body ?? null,
+        client: init.client ?? null,
+        reservedClient: init.reservedClient ?? null,
+        replacesClientId: init.replacesClientId ?? "",
+        window: init.window ?? "client",
+        keepalive: init.keepalive ?? false,
+        serviceWorkers: init.serviceWorkers ?? "all",
+        initiator: init.initiator ?? "",
+        destination: init.destination ?? "",
+        priority: init.priority ?? null,
+        origin: init.origin ?? "client",
+        policyContainer: init.policyContainer ?? "client",
+        referrer: init.referrer ?? "client",
+        referrerPolicy: init.referrerPolicy ?? "",
+        mode: init.mode ?? "no-cors",
+        useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
+        credentials: init.credentials ?? "same-origin",
+        useCredentials: init.useCredentials ?? false,
+        cache: init.cache ?? "default",
+        redirect: init.redirect ?? "follow",
+        integrity: init.integrity ?? "",
+        cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "",
+        parserMetadata: init.parserMetadata ?? "",
+        reloadNavigation: init.reloadNavigation ?? false,
+        historyNavigation: init.historyNavigation ?? false,
+        userActivation: init.userActivation ?? false,
+        taintedOrigin: init.taintedOrigin ?? false,
+        redirectCount: init.redirectCount ?? 0,
+        responseTainting: init.responseTainting ?? "basic",
+        preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
+        done: init.done ?? false,
+        timingAllowFailed: init.timingAllowFailed ?? false,
+        urlList: init.urlList,
+        url: init.urlList[0],
         headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
       };
-      request2.url = request2.urlList[0];
-      return request2;
     }
     function cloneRequest(request2) {
       const newRequest = makeRequest({ ...request2, body: null });
       if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+        newRequest.body = cloneBody(newRequest, request2.body);
       }
       return newRequest;
     }
+    function fromInnerRequest(innerRequest, signal, guard) {
+      const request2 = new Request(kConstruct);
+      request2[kState] = innerRequest;
+      request2[kSignal] = signal;
+      request2[kHeaders] = new Headers(kConstruct);
+      setHeadersList(request2[kHeaders], innerRequest.headersList);
+      setHeadersGuard(request2[kHeaders], guard);
+      return request2;
+    }
     Object.defineProperties(Request.prototype, {
       method: kEnumerableProperty,
       url: kEnumerableProperty,
@@ -33878,14 +34380,14 @@ var require_request4 = __commonJS({
     webidl.converters.Request = webidl.interfaceConverter(
       Request
     );
-    webidl.converters.RequestInfo = function(V) {
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
       if (typeof V === "string") {
-        return webidl.converters.USVString(V);
+        return webidl.converters.USVString(V, prefix, argument);
       }
       if (V instanceof Request) {
-        return webidl.converters.Request(V);
+        return webidl.converters.Request(V, prefix, argument);
       }
-      return webidl.converters.USVString(V);
+      return webidl.converters.USVString(V, prefix, argument);
     };
     webidl.converters.AbortSignal = webidl.interfaceConverter(
       AbortSignal
@@ -33952,6 +34454,8 @@ var require_request4 = __commonJS({
         converter: webidl.nullableConverter(
           (signal) => webidl.converters.AbortSignal(
             signal,
+            "RequestInit",
+            "signal",
             { strict: false }
           )
         )
@@ -33964,26 +34468,31 @@ var require_request4 = __commonJS({
         key: "duplex",
         converter: webidl.converters.DOMString,
         allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
       }
     ]);
-    module2.exports = { Request, makeRequest };
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
 var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
       makeNetworkError,
       makeAppropriateNetworkError,
       filterResponse,
-      makeResponse
+      makeResponse,
+      fromInnerResponse
     } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib = require("zlib");
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib = require("node:zlib");
     var {
       bytesMatch,
       makePolicyContainer,
@@ -34012,31 +34521,33 @@ var require_fetch2 = __commonJS({
       isomorphicEncode,
       urlIsLocal,
       urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
     } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
     var {
       redirectStatusSet,
       nullBodyStatus,
       safeMethodsSet,
       requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
     var { getGlobalDispatcher } = require_global4();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
+    var { STATUS_CODES } = require("node:http");
     var GET_OR_HEAD = ["GET", "HEAD"];
+    var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
     var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
     var Fetch = class extends EE {
       constructor(dispatcher) {
         super();
@@ -34044,7 +34555,6 @@ var require_fetch2 = __commonJS({
         this.connection = null;
         this.dump = false;
         this.state = "ongoing";
-        this.setMaxListeners(21);
       }
       terminate(reason) {
         if (this.state !== "ongoing") {
@@ -34061,16 +34571,19 @@ var require_fetch2 = __commonJS({
         }
         this.state = "aborted";
         if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
         this.serializedAbortReason = error3;
         this.connection?.destroy(error3);
         this.emit("terminated", error3);
       }
     };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
+    function handleFetchDone(response) {
+      finalizeAndReportTiming(response, "fetch");
+    }
+    function fetch(input, init = void 0) {
+      webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
+      let p = createDeferredPromise();
       let requestObject;
       try {
         requestObject = new Request(input, init);
@@ -34088,7 +34601,6 @@ var require_fetch2 = __commonJS({
         request2.serviceWorkers = "none";
       }
       let responseObject = null;
-      const relevantRealm = null;
       let locallyAborted = false;
       let controller = null;
       addAbortListener(
@@ -34097,37 +34609,31 @@ var require_fetch2 = __commonJS({
           locallyAborted = true;
           assert(controller != null);
           controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
       );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
       const processResponse = (response) => {
         if (locallyAborted) {
-          return Promise.resolve();
+          return;
         }
         if (response.aborted) {
           abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+          return;
         }
         if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
       };
       controller = fetching({
         request: request2,
         processResponseEndOfBody: handleFetchDone,
         processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        dispatcher: requestObject[kDispatcher]
         // undici
       });
       return p.promise;
@@ -34158,22 +34664,17 @@ var require_fetch2 = __commonJS({
       response.timingInfo = timingInfo;
       markResourceTiming(
         timingInfo,
-        originalURL,
+        originalURL.href,
         initiatorType,
         globalThis,
         cacheState
       );
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
-      }
-    }
+    var markResourceTiming = performance.markResourceTiming;
     function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+      if (p) {
+        p.reject(error3);
       }
-      p.reject(error3);
       if (request2.body != null && isReadable(request2.body?.stream)) {
         request2.body.stream.cancel(error3).catch((err) => {
           if (err.code === "ERR_INVALID_STATE") {
@@ -34203,18 +34704,19 @@ var require_fetch2 = __commonJS({
       processResponseEndOfBody,
       processResponseConsumeBody,
       useParallelQueue = false,
-      dispatcher
+      dispatcher = getGlobalDispatcher()
       // undici
     }) {
+      assert(dispatcher);
       let taskDestination = null;
       let crossOriginIsolatedCapability = false;
       if (request2.client != null) {
         taskDestination = request2.client.globalObject;
         crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
       const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
+        startTime: currentTime
       });
       const fetchParams = {
         controller: new Fetch(dispatcher),
@@ -34233,7 +34735,7 @@ var require_fetch2 = __commonJS({
         request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
       if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
+        request2.origin = request2.client.origin;
       }
       if (request2.policyContainer === "client") {
         if (request2.client != null) {
@@ -34244,12 +34746,12 @@ var require_fetch2 = __commonJS({
           request2.policyContainer = makePolicyContainer();
         }
       }
-      if (!request2.headersList.contains("accept")) {
+      if (!request2.headersList.contains("accept", true)) {
         const value = "*/*";
-        request2.headersList.append("accept", value);
+        request2.headersList.append("accept", value, true);
       }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
       }
       if (request2.priority === null) {
       }
@@ -34331,7 +34833,7 @@ var require_fetch2 = __commonJS({
       if (!request2.timingAllowFailed) {
         response.timingAllowPassed = true;
       }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) {
         response = internalResponse = makeNetworkError();
       }
       if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
@@ -34369,28 +34871,56 @@ var require_fetch2 = __commonJS({
         }
         case "blob:": {
           if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
           }
           const blobURLEntry = requestCurrentURL(request2);
           if (blobURLEntry.search.length !== 0) {
             return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
           }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
             return Promise.resolve(makeNetworkError("invalid method"));
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = blob.type;
+          if (!request2.headersList.contains("range", true)) {
+            const bodyWithType = extractBody(blob);
+            response.statusText = "OK";
+            response.body = bodyWithType[0];
+            response.headersList.set("content-length", serializedFullLength, true);
+            response.headersList.set("content-type", type2, true);
+          } else {
+            response.rangeRequested = true;
+            const rangeHeader = request2.headersList.get("range", true);
+            const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
+            if (rangeValue === "failure") {
+              return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+            }
+            let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
+            if (rangeStart === null) {
+              rangeStart = fullLength - rangeEnd;
+              rangeEnd = rangeStart + rangeEnd - 1;
+            } else {
+              if (rangeStart >= fullLength) {
+                return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
+              }
+              if (rangeEnd === null || rangeEnd >= fullLength) {
+                rangeEnd = fullLength - 1;
+              }
+            }
+            const slicedBlob = blob.slice(rangeStart, rangeEnd, type2);
+            const slicedBodyWithType = extractBody(slicedBlob);
+            response.body = slicedBodyWithType[0];
+            const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
+            const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
+            response.status = 206;
+            response.statusText = "Partial Content";
+            response.headersList.set("content-length", serializedSlicedLength, true);
+            response.headersList.set("content-type", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
           return Promise.resolve(response);
         }
         case "data:": {
@@ -34427,52 +34957,59 @@ var require_fetch2 = __commonJS({
       }
     }
     function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
-      }
+      let timingInfo = fetchParams.timingInfo;
       const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        const unsafeEndTime = Date.now();
+        if (fetchParams.request.destination === "document") {
+          fetchParams.controller.fullTimingInfo = timingInfo;
         }
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
+          }
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
+          }
+          let responseStatus = 0;
+          if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
+            responseStatus = response.status;
+            const mimeType = extractMimeType(response.headersList);
+            if (mimeType !== "failure") {
+              bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
+            }
+          }
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
+          }
+        };
+        const processResponseEndOfBodyTask = () => {
+          fetchParams.request.done = true;
+          if (fetchParams.processResponseEndOfBody != null) {
+            queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+          }
+          if (fetchParams.request.initiatorType != null) {
+            fetchParams.controller.reportTimingSteps();
+          }
+        };
+        queueMicrotask(() => processResponseEndOfBodyTask());
       };
       if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
+        });
       }
-      if (response.body == null) {
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
         processResponseEndOfBody();
       } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
         });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
-      }
-      if (fetchParams.processResponseConsumeBody != null) {
-        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
-        } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
-        }
-        return Promise.resolve();
       }
     }
     async function httpFetch(fetchParams) {
@@ -34504,7 +35041,7 @@ var require_fetch2 = __commonJS({
       }
       if (redirectStatusSet.has(actualResponse.status)) {
         if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
+          fetchParams.controller.connection.destroy(void 0, false);
         }
         if (request2.redirect === "error") {
           response = makeNetworkError("unexpected redirect");
@@ -34560,10 +35097,10 @@ var require_fetch2 = __commonJS({
         }
       }
       if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
+        request2.headersList.delete("authorization", true);
         request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
       }
       if (request2.body != null) {
         assert(request2.body.source != null);
@@ -34589,7 +35126,7 @@ var require_fetch2 = __commonJS({
         httpFetchParams = fetchParams;
         httpRequest = request2;
       } else {
-        httpRequest = makeRequest(request2);
+        httpRequest = cloneRequest(request2);
         httpFetchParams = { ...fetchParams };
         httpFetchParams.request = httpRequest;
       }
@@ -34603,52 +35140,52 @@ var require_fetch2 = __commonJS({
         contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
       if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
       if (contentLength != null && httpRequest.keepalive) {
       }
       if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
       appendRequestOriginHeader(httpRequest);
       appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
         httpRequest.cache = "no-store";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
+        httpRequest.headersList.append("cache-control", "max-age=0", true);
       }
       if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
         }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
         if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      httpRequest.headersList.delete("host");
+      httpRequest.headersList.delete("host", true);
       if (includeCredentials) {
       }
       if (httpCache == null) {
         httpRequest.cache = "no-store";
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
       }
       if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
+        if (httpRequest.cache === "only-if-cached") {
           return makeNetworkError("only if cached");
         }
         const forwardResponse = await httpNetworkFetch(
@@ -34665,7 +35202,7 @@ var require_fetch2 = __commonJS({
         }
       }
       response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
+      if (httpRequest.headersList.contains("range", true)) {
         response.rangeRequested = true;
       }
       response.requestIncludesCredentials = includeCredentials;
@@ -34703,10 +35240,12 @@ var require_fetch2 = __commonJS({
       fetchParams.controller.connection = {
         abort: null,
         destroyed: false,
-        destroy(err) {
+        destroy(err, abort = true) {
           if (!this.destroyed) {
             this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
           }
         }
       };
@@ -34777,16 +35316,15 @@ var require_fetch2 = __commonJS({
         }
         return makeNetworkError(err);
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
       };
       const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
+        }
       };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      const stream = new ReadableStream2(
+      const stream = new ReadableStream(
         {
           async start(controller) {
             fetchParams.controller.controller = controller;
@@ -34796,16 +35334,12 @@ var require_fetch2 = __commonJS({
           },
           async cancel(reason) {
             await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+          },
+          type: "bytes"
         }
       );
-      response.body = { stream };
+      response.body = { stream, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
       fetchParams.controller.on("terminated", onAborted);
       fetchParams.controller.resume = async () => {
         while (true) {
@@ -34835,12 +35369,15 @@ var require_fetch2 = __commonJS({
             fetchParams.controller.terminate(bytes);
             return;
           }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
           if (isErrored(stream)) {
             fetchParams.controller.terminate();
             return;
           }
-          if (!fetchParams.controller.controller.desiredSize) {
+          if (fetchParams.controller.controller.desiredSize <= 0) {
             return;
           }
         }
@@ -34863,7 +35400,7 @@ var require_fetch2 = __commonJS({
         fetchParams.controller.connection.destroy();
       }
       return response;
-      async function dispatch({ body }) {
+      function dispatch({ body }) {
         const url = requestCurrentURL(request2);
         const agent = fetchParams.controller.dispatcher;
         return new Promise((resolve2, reject) => agent.dispatch(
@@ -34871,7 +35408,7 @@ var require_fetch2 = __commonJS({
             path: url.pathname + url.search,
             origin: url.origin,
             method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
             headers: request2.headersList.entries,
             maxRedirections: 0,
             upgrade: request2.mode === "websocket" ? "websocket" : void 0
@@ -34881,48 +35418,41 @@ var require_fetch2 = __commonJS({
             abort: null,
             onConnect(abort) {
               const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
               if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
+                abort(new DOMException("The operation was aborted.", "AbortError"));
               } else {
                 fetchParams.controller.on("terminated", abort);
                 this.abort = connection.abort = abort;
               }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
             },
-            onHeaders(status, headersList, resume, statusText) {
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
               if (status < 200) {
                 return;
               }
-              let codings = [];
               let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
               }
+              location = headersList.get("location", true);
               this.body = new Readable({ read: resume });
               const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
               if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
                   if (coding === "x-gzip" || coding === "gzip") {
                     decoders.push(zlib.createGunzip({
                       // Be less strict when decoding compressed responses, since sometimes
@@ -34933,22 +35463,31 @@ var require_fetch2 = __commonJS({
                       finishFlush: zlib.constants.Z_SYNC_FLUSH
                     }));
                   } else if (coding === "deflate") {
-                    decoders.push(zlib.createInflate());
+                    decoders.push(createInflate({
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
                   } else if (coding === "br") {
-                    decoders.push(zlib.createBrotliDecompress());
+                    decoders.push(zlib.createBrotliDecompress({
+                      flush: zlib.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
+                    }));
                   } else {
                     decoders.length = 0;
                     break;
                   }
                 }
               }
+              const onError = this.onError.bind(this);
               resolve2({
                 status,
                 statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
               });
               return true;
             },
@@ -34964,6 +35503,9 @@ var require_fetch2 = __commonJS({
               if (this.abort) {
                 fetchParams.controller.off("terminated", this.abort);
               }
+              if (fetchParams.controller.onAborted) {
+                fetchParams.controller.off("terminated", fetchParams.controller.onAborted);
+              }
               fetchParams.controller.ended = true;
               this.body.push(null);
             },
@@ -34975,20 +35517,18 @@ var require_fetch2 = __commonJS({
               fetchParams.controller.terminate(error3);
               reject(error3);
             },
-            onUpgrade(status, headersList, socket) {
+            onUpgrade(status, rawHeaders, socket) {
               if (status !== 101) {
                 return;
               }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
               }
               resolve2({
                 status,
                 statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
+                headersList,
                 socket
               });
               return true;
@@ -35006,9 +35546,9 @@ var require_fetch2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
 var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kState: /* @__PURE__ */ Symbol("FileReader state"),
@@ -35021,15 +35561,15 @@ var require_symbols8 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
 var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
     var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
     var ProgressEvent = class _ProgressEvent extends Event {
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
         eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
         super(type2, eventInitDict);
         this[kState] = {
@@ -35055,32 +35595,32 @@ var require_progressevent2 = __commonJS({
       {
         key: "lengthComputable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "loaded",
         converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "total",
         converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ]);
     module2.exports = {
@@ -35089,9 +35629,9 @@ var require_progressevent2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/encoding.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
 var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
     "use strict";
     function getEncoding(label) {
       if (!label) {
@@ -35375,9 +35915,9 @@ var require_encoding2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
 var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
     var {
       kState,
@@ -35388,11 +35928,10 @@ var require_util12 = __commonJS({
     } = require_symbols8();
     var { ProgressEvent } = require_progressevent2();
     var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
     var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
+    var { btoa: btoa2 } = require("node:buffer");
     var staticPropertyDescriptors = {
       enumerable: true,
       writable: false,
@@ -35400,7 +35939,7 @@ var require_util12 = __commonJS({
     };
     function readOperation(fr, blob, type2, encodingName) {
       if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
+        throw new DOMException("Invalid state", "InvalidStateError");
       }
       fr[kState] = "loading";
       fr[kResult] = null;
@@ -35561,9 +36100,9 @@ var require_util12 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
 var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
       staticPropertyDescriptors,
@@ -35600,7 +36139,7 @@ var require_filereader2 = __commonJS({
        */
       readAsArrayBuffer(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "ArrayBuffer");
       }
@@ -35610,7 +36149,7 @@ var require_filereader2 = __commonJS({
        */
       readAsBinaryString(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "BinaryString");
       }
@@ -35621,10 +36160,10 @@ var require_filereader2 = __commonJS({
        */
       readAsText(blob, encoding = void 0) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
         blob = webidl.converters.Blob(blob, { strict: false });
         if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
         }
         readOperation(this, blob, "Text", encoding);
       }
@@ -35634,7 +36173,7 @@ var require_filereader2 = __commonJS({
        */
       readAsDataURL(blob) {
         webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
         blob = webidl.converters.Blob(blob, { strict: false });
         readOperation(this, blob, "DataURL");
       }
@@ -35820,9 +36359,9 @@ var require_filereader2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
 var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       kConstruct: require_symbols6().kConstruct
@@ -35830,55 +36369,50 @@ var require_symbols9 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
 var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
     var { isValidHeaderName } = require_util10();
     function urlEquals(A, B, excludeFragment = false) {
       const serializedA = URLSerializer(A, excludeFragment);
       const serializedB = URLSerializer(B, excludeFragment);
       return serializedA === serializedB;
     }
-    function fieldValues(header) {
+    function getFieldValues(header) {
       assert(header !== null);
       const values = [];
       for (let value of header.split(",")) {
         value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+        if (isValidHeaderName(value)) {
+          values.push(value);
         }
-        values.push(value);
       }
       return values;
     }
     module2.exports = {
       urlEquals,
-      fieldValues
+      getFieldValues
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
 var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
     "use strict";
     var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
+    var { urlEquals, getFieldValues } = require_util13();
     var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
     var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
     var { fetching } = require_fetch2();
     var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
+    var assert = require("node:assert");
     var Cache = class _Cache {
       /**
        * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
@@ -35889,14 +36423,16 @@ var require_cache2 = __commonJS({
         if (arguments[0] !== kConstruct) {
           webidl.illegalConstructor();
         }
+        webidl.util.markAsUncloneable(this);
         this.#relevantRequestResponseList = arguments[1];
       }
       async match(request2, options = {}) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
+        const prefix = "Cache.match";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        const p = this.#internalMatchAll(request2, options, 1);
         if (p.length === 0) {
           return;
         }
@@ -35904,64 +36440,42 @@ var require_cache2 = __commonJS({
       }
       async matchAll(request2 = void 0, options = {}) {
         webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
-            }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
-          }
-        }
-        const responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
-          }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
-          }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
+        const prefix = "Cache.matchAll";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        return this.#internalMatchAll(request2, options);
       }
       async add(request2) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
+        const prefix = "Cache.add";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
         const requests = [request2];
         const responseArrayPromise = this.addAll(requests);
         return await responseArrayPromise;
       }
       async addAll(requests) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         const responsePromises = [];
         const requestList = [];
-        for (const request2 of requests) {
+        for (let request2 of requests) {
+          if (request2 === void 0) {
+            throw webidl.errors.conversionFailed({
+              prefix,
+              argument: "Argument 1",
+              types: ["undefined is not allowed"]
+            });
+          }
+          request2 = webidl.converters.RequestInfo(request2);
           if (typeof request2 === "string") {
             continue;
           }
           const r = request2[kState];
           if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
             throw webidl.errors.exception({
-              header: "Cache.addAll",
+              header: prefix,
               message: "Expected http/s scheme when method is not GET."
             });
           }
@@ -35971,7 +36485,7 @@ var require_cache2 = __commonJS({
           const r = new Request(request2)[kState];
           if (!urlIsHttpHttpsScheme(r.url)) {
             throw webidl.errors.exception({
-              header: "Cache.addAll",
+              header: prefix,
               message: "Expected http/s scheme."
             });
           }
@@ -35981,7 +36495,6 @@ var require_cache2 = __commonJS({
           const responsePromise = createDeferredPromise();
           fetchControllers.push(fetching({
             request: r,
-            dispatcher: getGlobalDispatcher(),
             processResponse(response) {
               if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
                 responsePromise.reject(webidl.errors.exception({
@@ -36048,9 +36561,10 @@ var require_cache2 = __commonJS({
       }
       async put(request2, response) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
+        const prefix = "Cache.put";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        response = webidl.converters.Response(response, prefix, "response");
         let innerRequest = null;
         if (request2 instanceof Request) {
           innerRequest = request2[kState];
@@ -36059,14 +36573,14 @@ var require_cache2 = __commonJS({
         }
         if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            header: prefix,
             message: "Expected an http/s scheme when method is not GET"
           });
         }
         const innerResponse = response[kState];
         if (innerResponse.status === 206) {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            header: prefix,
             message: "Got 206 status"
           });
         }
@@ -36075,7 +36589,7 @@ var require_cache2 = __commonJS({
           for (const fieldValue of fieldValues) {
             if (fieldValue === "*") {
               throw webidl.errors.exception({
-                header: "Cache.put",
+                header: prefix,
                 message: "Got * vary field value"
               });
             }
@@ -36083,7 +36597,7 @@ var require_cache2 = __commonJS({
         }
         if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
           throw webidl.errors.exception({
-            header: "Cache.put",
+            header: prefix,
             message: "Response body is locked or disturbed"
           });
         }
@@ -36128,9 +36642,10 @@ var require_cache2 = __commonJS({
       }
       async delete(request2, options = {}) {
         webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
+        const prefix = "Cache.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
         let r = null;
         if (request2 instanceof Request) {
           r = request2[kState];
@@ -36169,12 +36684,13 @@ var require_cache2 = __commonJS({
        * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
        * @param {any} request
        * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
+       * @returns {Promise}
        */
       async keys(request2 = void 0, options = {}) {
         webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
         let r = null;
         if (request2 !== void 0) {
           if (request2 instanceof Request) {
@@ -36201,11 +36717,11 @@ var require_cache2 = __commonJS({
         queueMicrotask(() => {
           const requestList = [];
           for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
             requestList.push(requestObject);
           }
           promise.resolve(Object.freeze(requestList));
@@ -36346,6 +36862,39 @@ var require_cache2 = __commonJS({
         }
         return true;
       }
+      #internalMatchAll(request2, options, maxResponses = Infinity) {
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
+          }
+        }
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
+          }
+        }
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = fromInnerResponse(response, "immutable");
+          responseList.push(responseObject.clone());
+          if (responseList.length >= maxResponses) {
+            break;
+          }
+        }
+        return Object.freeze(responseList);
+      }
     };
     Object.defineProperties(Cache.prototype, {
       [Symbol.toStringTag]: {
@@ -36364,17 +36913,17 @@ var require_cache2 = __commonJS({
       {
         key: "ignoreSearch",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "ignoreMethod",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "ignoreVary",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ];
     webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
@@ -36395,9 +36944,9 @@ var require_cache2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cache/cachestorage.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
 var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
     "use strict";
     var { kConstruct } = require_symbols9();
     var { Cache } = require_cache2();
@@ -36413,10 +36962,11 @@ var require_cachestorage2 = __commonJS({
         if (arguments[0] !== kConstruct) {
           webidl.illegalConstructor();
         }
+        webidl.util.markAsUncloneable(this);
       }
       async match(request2, options = {}) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
         request2 = webidl.converters.RequestInfo(request2);
         options = webidl.converters.MultiCacheQueryOptions(options);
         if (options.cacheName != null) {
@@ -36442,8 +36992,9 @@ var require_cachestorage2 = __commonJS({
        */
       async has(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
         return this.#caches.has(cacheName);
       }
       /**
@@ -36453,8 +37004,9 @@ var require_cachestorage2 = __commonJS({
        */
       async open(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        const prefix = "CacheStorage.open";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
         if (this.#caches.has(cacheName)) {
           const cache2 = this.#caches.get(cacheName);
           return new Cache(kConstruct, cache2);
@@ -36470,13 +37022,14 @@ var require_cachestorage2 = __commonJS({
        */
       async delete(cacheName) {
         webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
+        const prefix = "CacheStorage.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
         return this.#caches.delete(cacheName);
       }
       /**
        * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
+       * @returns {Promise}
        */
       async keys() {
         webidl.brandCheck(this, _CacheStorage);
@@ -36501,9 +37054,9 @@ var require_cachestorage2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
 var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
     "use strict";
     var maxAttributeValueSize = 1024;
     var maxNameValuePairSize = 4096;
@@ -36514,42 +37067,73 @@ var require_constants9 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
 var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
     "use strict";
     function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
+      for (let i = 0; i < value.length; ++i) {
+        const code = value.charCodeAt(i);
+        if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
+          return true;
         }
       }
+      return false;
     }
     function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+      for (let i = 0; i < name.length; ++i) {
+        const code = name.charCodeAt(i);
+        if (code < 33 || // exclude CTLs (0-31), SP and HT
+        code > 126 || // exclude non-ascii and DEL
+        code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 60 || // <
+        code === 62 || // >
+        code === 64 || // @
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 58 || // :
+        code === 92 || // \
+        code === 47 || // /
+        code === 91 || // [
+        code === 93 || // ]
+        code === 63 || // ?
+        code === 61 || // =
+        code === 123 || // {
+        code === 125) {
           throw new Error("Invalid cookie name");
         }
       }
     }
     function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
+      let len = value.length;
+      let i = 0;
+      if (value[0] === '"') {
+        if (len === 1 || value[len - 1] !== '"') {
+          throw new Error("Invalid cookie value");
+        }
+        --len;
+        ++i;
+      }
+      while (i < len) {
+        const code = value.charCodeAt(i++);
         if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
         }
       }
     }
     function validateCookiePath(path3) {
-      for (const char of path3) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
+      for (let i = 0; i < path3.length; ++i) {
+        const code = path3.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
           throw new Error("Invalid cookie path");
         }
       }
@@ -36559,41 +37143,35 @@ var require_util14 = __commonJS({
         throw new Error("Invalid cookie domain");
       }
     }
+    var IMFDays = [
+      "Sun",
+      "Mon",
+      "Tue",
+      "Wed",
+      "Thu",
+      "Fri",
+      "Sat"
+    ];
+    var IMFMonths = [
+      "Jan",
+      "Feb",
+      "Mar",
+      "Apr",
+      "May",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Oct",
+      "Nov",
+      "Dec"
+    ];
+    var IMFPaddedNumbers = Array(61).fill(0).map((_2, i) => i.toString().padStart(2, "0"));
     function toIMFDate(date) {
       if (typeof date === "number") {
         date = new Date(date);
       }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
+      return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`;
     }
     function validateCookieMaxAge(maxAge) {
       if (maxAge < 0) {
@@ -36659,14 +37237,14 @@ var require_util14 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
 var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
     "use strict";
     var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
     var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
     function parseSetCookie(header) {
       if (isCTLExcludingHtab(header)) {
         return null;
@@ -36799,16 +37377,16 @@ var require_parse2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/cookies/index.js
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
 var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
     var { parseSetCookie } = require_parse2();
     var { stringify } = require_util14();
     var { webidl } = require_webidl2();
     var { Headers } = require_headers2();
     function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
       webidl.brandCheck(headers, Headers, { strict: false });
       const cookie = headers.get("cookie");
       const out = {};
@@ -36822,9 +37400,10 @@ var require_cookies2 = __commonJS({
       return out;
     }
     function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
       webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
       attributes = webidl.converters.DeleteCookieAttributes(attributes);
       setCookie(headers, {
         name,
@@ -36834,7 +37413,7 @@ var require_cookies2 = __commonJS({
       });
     }
     function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
       webidl.brandCheck(headers, Headers, { strict: false });
       const cookies = headers.getSetCookie();
       if (!cookies) {
@@ -36843,24 +37422,24 @@ var require_cookies2 = __commonJS({
       return cookies.map((pair) => parseSetCookie(pair));
     }
     function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
       webidl.brandCheck(headers, Headers, { strict: false });
       cookie = webidl.converters.Cookie(cookie);
       const str2 = stringify(cookie);
       if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
+        headers.append("Set-Cookie", str2);
       }
     }
     webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "path",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "domain",
-        defaultValue: null
+        defaultValue: () => null
       }
     ]);
     webidl.converters.Cookie = webidl.dictionaryConverter([
@@ -36880,32 +37459,32 @@ var require_cookies2 = __commonJS({
           return new Date(value);
         }),
         key: "expires",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters["long long"]),
         key: "maxAge",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "domain",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.DOMString),
         key: "path",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.boolean),
         key: "secure",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.nullableConverter(webidl.converters.boolean),
         key: "httpOnly",
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         converter: webidl.converters.USVString,
@@ -36915,7 +37494,7 @@ var require_cookies2 = __commonJS({
       {
         converter: webidl.sequenceConverter(webidl.converters.DOMString),
         key: "unparsed",
-        defaultValue: []
+        defaultValue: () => new Array(0)
       }
     ]);
     module2.exports = {
@@ -36927,82 +37506,29 @@ var require_cookies2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
-    "use strict";
-    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    var states = {
-      CONNECTING: 0,
-      OPEN: 1,
-      CLOSING: 2,
-      CLOSED: 3
-    };
-    var opcodes = {
-      CONTINUATION: 0,
-      TEXT: 1,
-      BINARY: 2,
-      CLOSE: 8,
-      PING: 9,
-      PONG: 10
-    };
-    var maxUnsigned16Bit = 2 ** 16 - 1;
-    var parserStates = {
-      INFO: 0,
-      PAYLOADLENGTH_16: 2,
-      PAYLOADLENGTH_64: 3,
-      READ_DATA: 4
-    };
-    var emptyBuffer = Buffer.allocUnsafe(0);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
 var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
     var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
     var MessageEvent = class _MessageEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
         this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
       get data() {
         webidl.brandCheck(this, _MessageEvent);
@@ -37029,7 +37555,7 @@ var require_events2 = __commonJS({
       }
       initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
         webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
         return new _MessageEvent(type2, {
           bubbles,
           cancelable,
@@ -37040,15 +37566,29 @@ var require_events2 = __commonJS({
           ports
         });
       }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, init);
+        messageEvent.#eventInit = init;
+        messageEvent.#eventInit.data ??= null;
+        messageEvent.#eventInit.origin ??= "";
+        messageEvent.#eventInit.lastEventId ??= "";
+        messageEvent.#eventInit.source ??= null;
+        messageEvent.#eventInit.ports ??= [];
+        return messageEvent;
+      }
     };
+    var { createFastMessageEvent } = MessageEvent;
+    delete MessageEvent.createFastMessageEvent;
     var CloseEvent = class _CloseEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
         eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
         super(type2, eventInitDict);
         this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
       get wasClean() {
         webidl.brandCheck(this, _CloseEvent);
@@ -37066,9 +37606,11 @@ var require_events2 = __commonJS({
     var ErrorEvent = class _ErrorEvent extends Event {
       #eventInit;
       constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
         eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
         this.#eventInit = eventInitDict;
       }
@@ -37133,17 +37675,17 @@ var require_events2 = __commonJS({
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       }
     ];
     webidl.converters.MessageEventInit = webidl.dictionaryConverter([
@@ -37151,31 +37693,29 @@ var require_events2 = __commonJS({
       {
         key: "data",
         converter: webidl.converters.any,
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         key: "origin",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "lastEventId",
         converter: webidl.converters.DOMString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "source",
         // Node doesn't implement WindowProxy or ServiceWorker, so the only
         // valid value for source is a MessagePort.
         converter: webidl.nullableConverter(webidl.converters.MessagePort),
-        defaultValue: null
+        defaultValue: () => null
       },
       {
         key: "ports",
         converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
-        }
+        defaultValue: () => new Array(0)
       }
     ]);
     webidl.converters.CloseEventInit = webidl.dictionaryConverter([
@@ -37183,17 +37723,17 @@ var require_events2 = __commonJS({
       {
         key: "wasClean",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "code",
         converter: webidl.converters["unsigned short"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "reason",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       }
     ]);
     webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
@@ -37201,22 +37741,22 @@ var require_events2 = __commonJS({
       {
         key: "message",
         converter: webidl.converters.DOMString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "filename",
         converter: webidl.converters.USVString,
-        defaultValue: ""
+        defaultValue: () => ""
       },
       {
         key: "lineno",
         converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "colno",
         converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        defaultValue: () => 0
       },
       {
         key: "error",
@@ -37226,18 +37766,98 @@ var require_events2 = __commonJS({
     module2.exports = {
       MessageEvent,
       CloseEvent,
-      ErrorEvent
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/websocket/util.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
+    "use strict";
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var sentCloseFrameState = {
+      NOT_SENT: 0,
+      PROCESSING: 1,
+      SENT: 2
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    var sendHints = {
+      string: 1,
+      typedArray: 2,
+      arrayBuffer: 3,
+      blob: 4
+    };
+    module2.exports = {
+      uid,
+      sentCloseFrameState,
+      staticPropertyDescriptors,
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
 var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
     "use strict";
     var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
     var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
+    }
     function isEstablished(ws) {
       return ws[kReadyState] === states.OPEN;
     }
@@ -37247,8 +37867,8 @@ var require_util15 = __commonJS({
     function isClosed(ws) {
       return ws[kReadyState] === states.CLOSED;
     }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
       target.dispatchEvent(event);
     }
     function websocketMessageReceived(ws, type2, data) {
@@ -37258,7 +37878,7 @@ var require_util15 = __commonJS({
       let dataForEvent;
       if (type2 === opcodes.TEXT) {
         try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+          dataForEvent = utf8Decode(data);
         } catch {
           failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           return;
@@ -37267,22 +37887,44 @@ var require_util15 = __commonJS({
         if (ws[kBinaryType] === "blob") {
           dataForEvent = new Blob([data]);
         } else {
-          dataForEvent = new Uint8Array(data).buffer;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      fireEvent("message", ws, MessageEvent, {
+      fireEvent("message", ws, createFastMessageEvent, {
         origin: ws[kWebSocketURL].origin,
         data: dataForEvent
       });
     }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
+      }
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
     function isValidSubprotocol(protocol) {
       if (protocol.length === 0) {
         return false;
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
+      for (let i = 0; i < protocol.length; ++i) {
+        const code = protocol.charCodeAt(i);
+        if (code < 33 || // CTL, contains SP (0x20) and HT (0x09)
+        code > 126 || code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 44 || // ,
+        code === 47 || // /
+        code === 58 || // :
+        code === 59 || // ;
+        code === 60 || // <
+        code === 61 || // =
+        code === 62 || // >
+        code === 63 || // ?
+        code === 64 || // @
+        code === 91 || // [
+        code === 92 || // \
+        code === 93 || // ]
+        code === 123 || // {
+        code === 125) {
           return false;
         }
       }
@@ -37303,12 +37945,57 @@ var require_util15 = __commonJS({
         response.socket.destroy();
       }
       if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
         });
       }
     }
+    function isControlFrame(opcode) {
+      return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
+    }
+    function isContinuationFrame(opcode) {
+      return opcode === opcodes.CONTINUATION;
+    }
+    function isTextBinaryFrame(opcode) {
+      return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
+    }
+    function isValidOpcode(opcode) {
+      return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
+    }
+    function parseExtensions(extensions) {
+      const position = { position: 0 };
+      const extensionList = /* @__PURE__ */ new Map();
+      while (position.position < extensions.length) {
+        const pair = collectASequenceOfCodePointsFast(";", extensions, position);
+        const [name, value = ""] = pair.split("=");
+        extensionList.set(
+          removeHTTPWhitespace(name, true, false),
+          removeHTTPWhitespace(value, false, true)
+        );
+        position.position++;
+      }
+      return extensionList;
+    }
+    function isValidClientWindowBits(value) {
+      for (let i = 0; i < value.length; i++) {
+        const byte = value.charCodeAt(i);
+        if (byte < 48 || byte > 57) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var hasIntl = typeof process.versions.icu === "string";
+    var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0;
+    var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) {
+      if (isUtf8(buffer)) {
+        return buffer.toString("utf-8");
+      }
+      throw new TypeError("Invalid utf-8 received.");
+    };
     module2.exports = {
+      isConnecting,
       isEstablished,
       isClosing,
       isClosed,
@@ -37316,44 +38003,126 @@ var require_util15 = __commonJS({
       isValidSubprotocol,
       isValidStatusCode,
       failWebsocketConnection,
-      websocketMessageReceived
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
+        }
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
+      }
+      return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]];
+    }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+      }
+      createFrame(opcode) {
+        const frameData = this.frameData;
+        const maskKey = generateMask();
+        const bodyLength = frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
+        }
+        const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
+        buffer2[0] = buffer2[1] = 0;
+        buffer2[0] |= 128;
+        buffer2[0] = (buffer2[0] & 240) + opcode;
+        buffer2[offset - 4] = maskKey[0];
+        buffer2[offset - 3] = maskKey[1];
+        buffer2[offset - 2] = maskKey[2];
+        buffer2[offset - 1] = maskKey[3];
+        buffer2[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer2.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer2[2] = buffer2[3] = 0;
+          buffer2.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer2[1] |= 128;
+        for (let i = 0; i < bodyLength; ++i) {
+          buffer2[offset + i] = frameData[i] ^ maskKey[i & 3];
+        }
+        return buffer2;
+      }
+    };
+    module2.exports = {
+      WebsocketFrameSend
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
 var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
     var {
       kReadyState,
       kSentClose,
       kByteParser,
-      kReceivedClose
+      kReceivedClose,
+      kResponse
     } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
     var { CloseEvent } = require_events2();
     var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
     var crypto2;
     try {
-      crypto2 = require("crypto");
+      crypto2 = require("node:crypto");
     } catch {
     }
-    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
+    function establishWebSocketConnection(url, protocols, client, ws, onEstablish, options) {
       const requestURL = url;
       requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
       const request2 = makeRequest({
         urlList: [requestURL],
+        client,
         serviceWorkers: "none",
         referrer: "no-referrer",
         mode: "websocket",
@@ -37362,7 +38131,7 @@ var require_connection2 = __commonJS({
         redirect: "error"
       });
       if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
+        const headersList = getHeadersList(new Headers(options.headers));
         request2.headersList = headersList;
       }
       const keyValue = crypto2.randomBytes(16).toString("base64");
@@ -37371,11 +38140,12 @@ var require_connection2 = __commonJS({
       for (const protocol of protocols) {
         request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      const permessageDeflate = "";
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
       const controller = fetching({
         request: request2,
         useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        dispatcher: options.dispatcher,
         processResponse(response) {
           if (response.type === "error" || response.status !== 101) {
             failWebsocketConnection(ws, "Received network error or non-101 status code.");
@@ -37400,14 +38170,21 @@ var require_connection2 = __commonJS({
             return;
           }
           const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
+          let extensions;
+          if (secExtension !== null) {
+            extensions = parseExtensions(secExtension);
+            if (!extensions.has("permessage-deflate")) {
+              failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match.");
+              return;
+            }
           }
           const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
+          if (secProtocol !== null) {
+            const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList);
+            if (!requestProtocols.includes(secProtocol)) {
+              failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+              return;
+            }
           }
           response.socket.on("data", onSocketData);
           response.socket.on("close", onSocketClose);
@@ -37419,11 +38196,37 @@ var require_connection2 = __commonJS({
               extensions: secExtension
             });
           }
-          onEstablish(response);
+          onEstablish(response, extensions);
         }
       });
       return controller;
     }
+    function closeWebSocketConnection(ws, code, reason, reasonByteLength) {
+      if (isClosing(ws) || isClosed(ws)) {
+      } else if (!isEstablished(ws)) {
+        failWebsocketConnection(ws, "Connection was closed before it was established.");
+        ws[kReadyState] = states.CLOSING;
+      } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) {
+        ws[kSentClose] = sentCloseFrameState.PROCESSING;
+        const frame = new WebsocketFrameSend();
+        if (code !== void 0 && reason === void 0) {
+          frame.frameData = Buffer.allocUnsafe(2);
+          frame.frameData.writeUInt16BE(code, 0);
+        } else if (code !== void 0 && reason !== void 0) {
+          frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+          frame.frameData.writeUInt16BE(code, 0);
+          frame.frameData.write(reason, 2, "utf-8");
+        } else {
+          frame.frameData = emptyBuffer;
+        }
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
+      }
+    }
     function onSocketData(chunk) {
       if (!this.ws[kByteParser].write(chunk)) {
         this.pause();
@@ -37431,18 +38234,22 @@ var require_connection2 = __commonJS({
     }
     function onSocketClose() {
       const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      const { [kResponse]: response } = ws;
+      response.socket.off("data", onSocketData);
+      response.socket.off("close", onSocketClose);
+      response.socket.off("error", onSocketError);
+      const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose];
       let code = 1005;
       let reason = "";
       const result = ws[kByteParser].closingInfo;
-      if (result) {
+      if (result && !result.error) {
         code = result.code ?? 1005;
         reason = result.reason;
-      } else if (!ws[kSentClose]) {
+      } else if (!ws[kReceivedClose]) {
         code = 1006;
       }
       ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
         wasClean,
         code,
         reason
@@ -37464,98 +38271,114 @@ var require_connection2 = __commonJS({
       this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      establishWebSocketConnection,
+      closeWebSocketConnection
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
-      /**
-       * @param {Buffer|undefined} data
-       */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ Symbol("kLength");
+    var PerMessageDeflate = class {
+      /** @type {import('node:zlib').InflateRaw} */
+      #inflate;
+      #options = {};
+      constructor(extensions) {
+        this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
+        this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
       }
-      createFrame(opcode) {
-        const bodyLength = this.frameData?.byteLength ?? 0;
-        let payloadLength = bodyLength;
-        let offset = 6;
-        if (bodyLength > maxUnsigned16Bit) {
-          offset += 8;
-          payloadLength = 127;
-        } else if (bodyLength > 125) {
-          offset += 2;
-          payloadLength = 126;
-        }
-        const buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
+      decompress(chunk, fin, callback) {
+        if (!this.#inflate) {
+          let windowBits = Z_DEFAULT_WINDOWBITS;
+          if (this.#options.serverMaxWindowBits) {
+            if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
+              callback(new Error("Invalid server_max_window_bits"));
+              return;
+            }
+            windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
+          }
+          this.#inflate = createInflateRaw({ windowBits });
+          this.#inflate[kBuffer] = [];
+          this.#inflate[kLength] = 0;
+          this.#inflate.on("data", (data) => {
+            this.#inflate[kBuffer].push(data);
+            this.#inflate[kLength] += data.length;
+          });
+          this.#inflate.on("error", (err) => {
+            this.#inflate = null;
+            callback(err);
+          });
         }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        return buffer;
+        this.#inflate.flush(() => {
+          const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
+          this.#inflate[kBuffer].length = 0;
+          this.#inflate[kLength] = 0;
+          callback(null, full);
+        });
       }
     };
-    module2.exports = {
-      WebsocketFrameSend
-    };
+    module2.exports = { PerMessageDeflate };
   }
 });
 
-// node_modules/undici/lib/websocket/receiver.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
 var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
     "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
     var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
     var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
     var ByteParser = class extends Writable {
       #buffers = [];
       #byteOffset = 0;
+      #loop = false;
       #state = parserStates.INFO;
       #info = {};
       #fragments = [];
-      constructor(ws) {
+      /** @type {Map} */
+      #extensions;
+      constructor(ws, extensions) {
         super();
         this.ws = ws;
-      }
-      /**
+        this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
+        if (this.#extensions.has("permessage-deflate")) {
+          this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
+        }
+      }
+      /**
        * @param {Buffer} chunk
        * @param {() => void} callback
        */
       _write(chunk, _2, callback) {
         this.#buffers.push(chunk);
         this.#byteOffset += chunk.length;
+        this.#loop = true;
         this.run(callback);
       }
       /**
@@ -37564,21 +38387,56 @@ var require_receiver2 = __commonJS({
        * or not enough bytes are buffered to parse.
        */
       run(callback) {
-        while (true) {
+        while (this.#loop) {
           if (this.#state === parserStates.INFO) {
             if (this.#byteOffset < 2) {
               return callback();
             }
             const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+            const fin = (buffer[0] & 128) !== 0;
+            const opcode = buffer[0] & 15;
+            const masked = (buffer[1] & 128) === 128;
+            const fragmented = !fin && opcode !== opcodes.CONTINUATION;
+            const payloadLength = buffer[1] & 127;
+            const rsv1 = buffer[0] & 64;
+            const rsv2 = buffer[0] & 32;
+            const rsv3 = buffer[0] & 16;
+            if (!isValidOpcode(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid opcode received");
+              return callback();
+            }
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
+            }
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
               failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
               return;
             }
-            const payloadLength = buffer[1] & 127;
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
             if (payloadLength <= 125) {
               this.#info.payloadLength = payloadLength;
               this.#state = parserStates.READ_DATA;
@@ -37587,68 +38445,14 @@ var require_receiver2 = __commonJS({
             } else if (payloadLength === 127) {
               this.#state = parserStates.PAYLOADLENGTH_64;
             }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
-                return;
-              }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
-              return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
-              }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
-              }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
-              }
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
-                callback();
-                return;
-              }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
             }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
           } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
             if (this.#byteOffset < 2) {
               return callback();
@@ -37672,34 +38476,54 @@ var require_receiver2 = __commonJS({
           } else if (this.#state === parserStates.READ_DATA) {
             if (this.#byteOffset < this.#info.payloadLength) {
               return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
-              }
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
               this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.message.length);
+                    return;
+                  }
+                  this.#fragments.push(data);
+                  if (!this.#info.fin) {
+                    this.#state = parserStates.INFO;
+                    this.#loop = true;
+                    this.run(callback);
+                    return;
+                  }
+                  websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments));
+                  this.#loop = true;
+                  this.#state = parserStates.INFO;
+                  this.#fragments.length = 0;
+                  this.run(callback);
+                });
+                this.#loop = false;
+                break;
+              }
             }
           }
-          if (this.#byteOffset > 0) {
-            continue;
-          } else {
-            callback();
-            break;
-          }
         }
       }
       /**
        * Take n bytes from the buffered Buffers
        * @param {number} n
-       * @returns {Buffer|null}
+       * @returns {Buffer}
        */
       consume(n) {
         if (n > this.#byteOffset) {
-          return null;
+          throw new Error("Called consume() before buffers satiated.");
         } else if (n === 0) {
           return emptyBuffer;
         }
@@ -37727,30 +38551,81 @@ var require_receiver2 = __commonJS({
         this.#byteOffset -= n;
         return buffer;
       }
-      parseCloseBody(onlyCode, data) {
+      parseCloseBody(data) {
+        assert(data.length !== 1);
         let code;
         if (data.length >= 2) {
           code = data.readUInt16BE(0);
         }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
         let reason = data.subarray(2);
         if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
           reason = reason.subarray(3);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
-        }
         try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+          reason = utf8Decode(reason);
         } catch {
-          return null;
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return { code, reason };
+        return { code, reason, error: false };
+      }
+      /**
+       * Parses control frames.
+       * @param {Buffer} body
+       */
+      parseControlFrame(body) {
+        const { opcode, payloadLength } = this.#info;
+        if (opcode === opcodes.CLOSE) {
+          if (payloadLength === 1) {
+            failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+            return false;
+          }
+          this.#info.closeInfo = this.parseCloseBody(body);
+          if (this.#info.closeInfo.error) {
+            const { code, reason } = this.#info.closeInfo;
+            closeWebSocketConnection(this.ws, code, reason, reason.length);
+            failWebsocketConnection(this.ws, reason);
+            return false;
+          }
+          if (this.ws[kSentClose] !== sentCloseFrameState.SENT) {
+            let body2 = emptyBuffer;
+            if (this.#info.closeInfo.code) {
+              body2 = Buffer.allocUnsafe(2);
+              body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+            }
+            const closeFrame = new WebsocketFrameSend(body2);
+            this.ws[kResponse].socket.write(
+              closeFrame.createFrame(opcodes.CLOSE),
+              (err) => {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
+            }
+          }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
+        }
+        return true;
       }
       get closingInfo() {
         return this.#info.closeInfo;
@@ -37762,15 +38637,96 @@ var require_receiver2 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
+    "use strict";
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    var FastBuffer = Buffer[Symbol.species];
+    var SendQueue = class {
+      /**
+       * @type {FixedQueue}
+       */
+      #queue = new FixedQueue();
+      /**
+       * @type {boolean}
+       */
+      #running = false;
+      /** @type {import('node:net').Socket} */
+      #socket;
+      constructor(socket) {
+        this.#socket = socket;
+      }
+      add(item, cb, hint) {
+        if (hint !== sendHints.blob) {
+          const frame = createFrame(item, hint);
+          if (!this.#running) {
+            this.#socket.write(frame, cb);
+          } else {
+            const node2 = {
+              promise: null,
+              callback: cb,
+              frame
+            };
+            this.#queue.push(node2);
+          }
+          return;
+        }
+        const node = {
+          promise: item.arrayBuffer().then((ab) => {
+            node.promise = null;
+            node.frame = createFrame(ab, hint);
+          }),
+          callback: cb,
+          frame: null
+        };
+        this.#queue.push(node);
+        if (!this.#running) {
+          this.#run();
+        }
+      }
+      async #run() {
+        this.#running = true;
+        const queue = this.#queue;
+        while (!queue.isEmpty()) {
+          const node = queue.shift();
+          if (node.promise !== null) {
+            await node.promise;
+          }
+          this.#socket.write(node.frame, node.callback);
+          node.callback = node.frame = null;
+        }
+        this.#running = false;
+      }
+    };
+    function createFrame(data, hint) {
+      return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY);
+    }
+    function toBuffer(data, hint) {
+      switch (hint) {
+        case sendHints.string:
+          return Buffer.from(data);
+        case sendHints.arrayBuffer:
+        case sendHints.blob:
+          return new FastBuffer(data);
+        case sendHints.typedArray:
+          return new FastBuffer(data.buffer, data.byteOffset, data.byteLength);
+      }
+    }
+    module2.exports = { SendQueue };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
 var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
     var {
       kWebSocketURL,
       kReadyState,
@@ -37780,14 +38736,20 @@ var require_websocket2 = __commonJS({
       kSentClose,
       kByteParser
     } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
     var { ByteParser } = require_receiver2();
     var { kEnumerableProperty, isBlobLike } = require_util9();
     var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
-    var experimentalWarned = false;
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
     var WebSocket = class _WebSocket extends EventTarget {
       #events = {
         open: null,
@@ -37798,28 +38760,26 @@ var require_websocket2 = __commonJS({
       #bufferedAmount = 0;
       #protocol = "";
       #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
       /**
        * @param {string} url
        * @param {string|string[]} protocols
        */
       constructor(url, protocols = []) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
-        if (!experimentalWarned) {
-          experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
-          });
-        }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url = webidl.converters.USVString(url);
+        webidl.util.markAsUncloneable(this);
+        const prefix = "WebSocket constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options");
+        url = webidl.converters.USVString(url, prefix, "url");
         protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
         let urlRecord;
         try {
           urlRecord = new URL(url, baseURL);
         } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
         if (urlRecord.protocol === "http:") {
           urlRecord.protocol = "ws:";
@@ -37827,32 +38787,35 @@ var require_websocket2 = __commonJS({
           urlRecord.protocol = "wss:";
         }
         if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
+          throw new DOMException(
             `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
             "SyntaxError"
           );
         }
         if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
+          throw new DOMException("Got fragment", "SyntaxError");
         }
         if (typeof protocols === "string") {
           protocols = [protocols];
         }
         if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
         if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
         this[kWebSocketURL] = new URL(urlRecord.href);
+        const client = environmentSettingsObject.settingsObject;
         this[kController] = establishWebSocketConnection(
           urlRecord,
           protocols,
+          client,
           this,
-          (response) => this.#onConnectionEstablished(response),
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
           options
         );
         this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
         this[kBinaryType] = "blob";
       }
       /**
@@ -37862,53 +38825,29 @@ var require_websocket2 = __commonJS({
        */
       close(code = void 0, reason = void 0) {
         webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.close";
         if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
         }
         if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
+          reason = webidl.converters.USVString(reason, prefix, "reason");
         }
         if (code !== void 0) {
           if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+            throw new DOMException("invalid code", "InvalidAccessError");
           }
         }
         let reasonByteLength = 0;
         if (reason !== void 0) {
           reasonByteLength = Buffer.byteLength(reason);
           if (reasonByteLength > 123) {
-            throw new DOMException2(
+            throw new DOMException(
               `Reason must be less than 123 bytes; received ${reasonByteLength}`,
               "SyntaxError"
             );
           }
         }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          const frame = new WebsocketFrameSend();
-          if (code !== void 0 && reason === void 0) {
-            frame.frameData = Buffer.allocUnsafe(2);
-            frame.frameData.writeUInt16BE(code, 0);
-          } else if (code !== void 0 && reason !== void 0) {
-            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
-            frame.frameData.writeUInt16BE(code, 0);
-            frame.frameData.write(reason, 2, "utf-8");
-          } else {
-            frame.frameData = emptyBuffer;
-          }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
-            }
-          });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
       /**
        * @see https://websockets.spec.whatwg.org/#dom-websocket-send
@@ -37916,50 +38855,36 @@ var require_websocket2 = __commonJS({
        */
       send(data) {
         webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        const prefix = "WebSocket.send";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        data = webidl.converters.WebSocketSendData(data, prefix, "data");
+        if (isConnecting(this)) {
+          throw new DOMException("Sent before connected.", "InvalidStateError");
         }
         if (!isEstablished(this) || isClosing(this)) {
           return;
         }
-        const socket = this[kResponse].socket;
         if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
         } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
         } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
         } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
         }
       }
       get readyState() {
@@ -38061,14 +38986,14 @@ var require_websocket2 = __commonJS({
       /**
        * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
        */
-      #onConnectionEstablished(response) {
+      #onConnectionEstablished(response, parsedExtensions) {
         this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
+        const parser = new ByteParser(this, parsedExtensions);
+        parser.on("drain", onParserDrain);
+        parser.on("error", onParserError.bind(this));
         response.socket.ws = this;
         this[kByteParser] = parser;
+        this.#sendQueue = new SendQueue(response.socket);
         this[kReadyState] = states.OPEN;
         const extensions = response.headersList.get("sec-websocket-extensions");
         if (extensions !== null) {
@@ -38118,26 +39043,22 @@ var require_websocket2 = __commonJS({
     webidl.converters["sequence"] = webidl.sequenceConverter(
       webidl.converters.DOMString
     );
-    webidl.converters["DOMString or sequence"] = function(V) {
+    webidl.converters["DOMString or sequence"] = function(V, prefix, argument) {
       if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
         return webidl.converters["sequence"](V);
       }
-      return webidl.converters.DOMString(V);
+      return webidl.converters.DOMString(V, prefix, argument);
     };
     webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
         key: "protocols",
         converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        defaultValue: () => new Array(0)
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
       {
         key: "headers",
@@ -38155,1081 +39076,977 @@ var require_websocket2 = __commonJS({
         if (isBlobLike(V)) {
           return webidl.converters.Blob(V, { strict: false });
         }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+        if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
           return webidl.converters.BufferSource(V);
         }
       }
       return webidl.converters.USVString(V);
     };
-    module2.exports = {
-      WebSocket
-    };
-  }
-});
-
-// node_modules/undici/index.js
-var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
-    "use strict";
-    var Client = require_client2();
-    var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
-    var Pool = require_pool2();
-    var BalancedPool = require_balanced_pool2();
-    var Agent = require_agent2();
-    var util = require_util9();
-    var { InvalidArgumentError } = errors;
-    var api = require_api2();
-    var buildConnector = require_connect2();
-    var MockClient = require_mock_client2();
-    var MockAgent = require_mock_agent2();
-    var MockPool = require_mock_pool2();
-    var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
-    var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    Object.assign(Dispatcher.prototype, api);
-    module2.exports.Dispatcher = Dispatcher;
-    module2.exports.Client = Client;
-    module2.exports.Pool = Pool;
-    module2.exports.BalancedPool = BalancedPool;
-    module2.exports.Agent = Agent;
-    module2.exports.ProxyAgent = ProxyAgent;
-    module2.exports.RetryHandler = RetryHandler;
-    module2.exports.DecoratorHandler = DecoratorHandler;
-    module2.exports.RedirectHandler = RedirectHandler;
-    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
-    module2.exports.buildConnector = buildConnector;
-    module2.exports.errors = errors;
-    function makeDispatcher(fn) {
-      return (url, opts, handler2) => {
-        if (typeof opts === "function") {
-          handler2 = opts;
-          opts = null;
-        }
-        if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) {
-          throw new InvalidArgumentError("invalid url");
-        }
-        if (opts != null && typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (opts && opts.path != null) {
-          if (typeof opts.path !== "string") {
-            throw new InvalidArgumentError("invalid opts.path");
-          }
-          let path3 = opts.path;
-          if (!opts.path.startsWith("/")) {
-            path3 = `/${path3}`;
-          }
-          url = new URL(util.parseOrigin(url).origin + path3);
-        } else {
-          if (!opts) {
-            opts = typeof url === "object" ? url : {};
-          }
-          url = util.parseURL(url);
-        }
-        const { agent, dispatcher = getGlobalDispatcher() } = opts;
-        if (agent) {
-          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
-        }
-        return fn.call(dispatcher, {
-          ...opts,
-          origin: url.origin,
-          path: url.search ? `${url.pathname}${url.search}` : url.pathname,
-          method: opts.method || (opts.body ? "PUT" : "GET")
-        }, handler2);
-      };
+    function onParserError(err) {
+      let message;
+      let code;
+      if (err instanceof CloseEvent) {
+        message = err.reason;
+        code = err.code;
+      } else {
+        message = err.message;
+      }
+      fireEvent("error", this, () => new ErrorEvent("error", { error: err, message }));
+      closeWebSocketConnection(this, code);
     }
-    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
-    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
-        }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
+    module2.exports = {
+      WebSocket
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
+    "use strict";
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
+    function isASCIINumber(value) {
+      if (value.length === 0) return false;
+      for (let i = 0; i < value.length; i++) {
+        if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false;
+      }
+      return true;
     }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
+    function delay(ms) {
+      return new Promise((resolve2) => {
+        setTimeout(resolve2, ms).unref();
+      });
     }
-    module2.exports.request = makeDispatcher(api.request);
-    module2.exports.stream = makeDispatcher(api.stream);
-    module2.exports.pipeline = makeDispatcher(api.pipeline);
-    module2.exports.connect = makeDispatcher(api.connect);
-    module2.exports.upgrade = makeDispatcher(api.upgrade);
-    module2.exports.MockClient = MockClient;
-    module2.exports.MockPool = MockPool;
-    module2.exports.MockAgent = MockAgent;
-    module2.exports.mockErrors = mockErrors;
+    module2.exports = {
+      isValidLastEventId,
+      isASCIINumber,
+      delay
+    };
   }
 });
 
-// node_modules/@actions/github/lib/internal/utils.js
-var require_utils4 = __commonJS({
-  "node_modules/@actions/github/lib/internal/utils.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
+      /**
+       * @type {eventSourceSettings}
+       */
+      state = null;
+      /**
+       * Leading byte-order-mark check.
+       * @type {boolean}
+       */
+      checkBOM = true;
+      /**
+       * @type {boolean}
+       */
+      crlfCheck = false;
+      /**
+       * @type {boolean}
+       */
+      eventEndCheck = false;
+      /**
+       * @type {Buffer}
+       */
+      buffer = null;
+      pos = 0;
+      event = {
+        data: void 0,
+        event: void 0,
+        id: void 0,
+        retry: void 0
       };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+      /**
+       * @param {object} options
+       * @param {eventSourceSettings} options.eventSourceSettings
+       * @param {Function} [options.push]
+       */
+      constructor(options = {}) {
+        options.readableObjectMode = true;
+        super(options);
+        this.state = options.eventSourceSettings || {};
+        if (options.push) {
+          this.push = options.push;
         }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      /**
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
+       */
+      _transform(chunk, _encoding, callback) {
+        if (chunk.length === 0) {
+          callback();
+          return;
+        }
+        if (this.buffer) {
+          this.buffer = Buffer.concat([this.buffer, chunk]);
+        } else {
+          this.buffer = chunk;
+        }
+        if (this.checkBOM) {
+          switch (this.buffer.length) {
+            case 1:
+              if (this.buffer[0] === BOM[0]) {
+                callback();
+                return;
+              }
+              this.checkBOM = false;
+              callback();
+              return;
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
+              }
+              this.checkBOM = false;
+              break;
+            case 3:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = Buffer.alloc(0);
+                this.checkBOM = false;
+                callback();
+                return;
+              }
+              this.checkBOM = false;
+              break;
+            default:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = this.buffer.subarray(3);
+              }
+              this.checkBOM = false;
+              break;
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        while (this.pos < this.buffer.length) {
+          if (this.eventEndCheck) {
+            if (this.crlfCheck) {
+              if (this.buffer[this.pos] === LF) {
+                this.buffer = this.buffer.subarray(this.pos + 1);
+                this.pos = 0;
+                this.crlfCheck = false;
+                continue;
+              }
+              this.crlfCheck = false;
+            }
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
+              }
+              this.buffer = this.buffer.subarray(this.pos + 1);
+              this.pos = 0;
+              if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) {
+                this.processEvent(this.event);
+              }
+              this.clearEvent();
+              continue;
+            }
+            this.eventEndCheck = false;
+            continue;
+          }
+          if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+            if (this.buffer[this.pos] === CR) {
+              this.crlfCheck = true;
+            }
+            this.parseLine(this.buffer.subarray(0, this.pos), this.event);
+            this.buffer = this.buffer.subarray(this.pos + 1);
+            this.pos = 0;
+            this.eventEndCheck = true;
+            continue;
           }
+          this.pos++;
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        callback();
+      }
+      /**
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
+       */
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
+        }
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
+        }
+        let field = "";
+        let value = "";
+        if (colonPosition !== -1) {
+          field = line.subarray(0, colonPosition).toString("utf8");
+          let valueStart = colonPosition + 1;
+          if (line[valueStart] === SPACE) {
+            ++valueStart;
+          }
+          value = line.subarray(valueStart).toString("utf8");
+        } else {
+          field = line.toString("utf8");
+          value = "";
+        }
+        switch (field) {
+          case "data":
+            if (event[field] === void 0) {
+              event[field] = value;
+            } else {
+              event[field] += `
+${value}`;
+            }
+            break;
+          case "retry":
+            if (isASCIINumber(value)) {
+              event[field] = value;
+            }
+            break;
+          case "id":
+            if (isValidLastEventId(value)) {
+              event[field] = value;
+            }
+            break;
+          case "event":
+            if (value.length > 0) {
+              event[field] = value;
+            }
+            break;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getAuthString = getAuthString;
-    exports2.getProxyAgent = getProxyAgent;
-    exports2.getProxyAgentDispatcher = getProxyAgentDispatcher;
-    exports2.getProxyFetch = getProxyFetch;
-    exports2.getApiBaseUrl = getApiBaseUrl;
-    var httpClient = __importStar2(require_lib());
-    var undici_1 = require_undici2();
-    function getAuthString(token, options) {
-      if (!token && !options.auth) {
-        throw new Error("Parameter token or opts.auth is required");
-      } else if (token && options.auth) {
-        throw new Error("Parameters token and opts.auth may not both be specified");
       }
-      return typeof options.auth === "string" ? options.auth : `token ${token}`;
-    }
-    function getProxyAgent(destinationUrl) {
-      const hc = new httpClient.HttpClient();
-      return hc.getAgent(destinationUrl);
-    }
-    function getProxyAgentDispatcher(destinationUrl) {
-      const hc = new httpClient.HttpClient();
-      return hc.getAgentDispatcher(destinationUrl);
-    }
-    function getProxyFetch(destinationUrl) {
-      const httpDispatcher = getProxyAgentDispatcher(destinationUrl);
-      const proxyFetch = (url, opts) => __awaiter2(this, void 0, void 0, function* () {
-        return (0, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher }));
-      });
-      return proxyFetch;
-    }
-    function getApiBaseUrl() {
-      return process.env["GITHUB_API_URL"] || "https://api.github.com";
-    }
-  }
-});
-
-// node_modules/@octokit/core/node_modules/universal-user-agent/index.js
-function getUserAgent() {
-  if (typeof navigator === "object" && "userAgent" in navigator) {
-    return navigator.userAgent;
-  }
-  if (typeof process === "object" && process.version !== void 0) {
-    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
-  }
-  return "";
-}
-var init_universal_user_agent = __esm({
-  "node_modules/@octokit/core/node_modules/universal-user-agent/index.js"() {
-  }
-});
-
-// node_modules/before-after-hook/lib/register.js
-function register(state, name, method, options) {
-  if (typeof method !== "function") {
-    throw new Error("method for before hook must be a function");
-  }
-  if (!options) {
-    options = {};
-  }
-  if (Array.isArray(name)) {
-    return name.reverse().reduce((callback, name2) => {
-      return register.bind(null, state, name2, callback, options);
-    }, method)();
-  }
-  return Promise.resolve().then(() => {
-    if (!state.registry[name]) {
-      return method(options);
-    }
-    return state.registry[name].reduce((method2, registered) => {
-      return registered.hook.bind(null, method2, options);
-    }, method)();
-  });
-}
-var init_register = __esm({
-  "node_modules/before-after-hook/lib/register.js"() {
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
+        }
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
+        }
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
+        }
+      }
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
+      }
+    };
+    module2.exports = {
+      EventSourceStream
+    };
   }
 });
 
-// node_modules/before-after-hook/lib/add.js
-function addHook(state, kind, name, hook2) {
-  const orig = hook2;
-  if (!state.registry[name]) {
-    state.registry[name] = [];
-  }
-  if (kind === "before") {
-    hook2 = (method, options) => {
-      return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options));
-    };
-  }
-  if (kind === "after") {
-    hook2 = (method, options) => {
-      let result;
-      return Promise.resolve().then(method.bind(null, options)).then((result_) => {
-        result = result_;
-        return orig(result, options);
-      }).then(() => {
-        return result;
-      });
-    };
-  }
-  if (kind === "error") {
-    hook2 = (method, options) => {
-      return Promise.resolve().then(method.bind(null, options)).catch((error3) => {
-        return orig(error3, options);
-      });
-    };
-  }
-  state.registry[name].push({
-    hook: hook2,
-    orig
-  });
-}
-var init_add = __esm({
-  "node_modules/before-after-hook/lib/add.js"() {
-  }
-});
-
-// node_modules/before-after-hook/lib/remove.js
-function removeHook(state, name, method) {
-  if (!state.registry[name]) {
-    return;
-  }
-  const index = state.registry[name].map((registered) => {
-    return registered.orig;
-  }).indexOf(method);
-  if (index === -1) {
-    return;
-  }
-  state.registry[name].splice(index, 1);
-}
-var init_remove = __esm({
-  "node_modules/before-after-hook/lib/remove.js"() {
-  }
-});
-
-// node_modules/before-after-hook/index.js
-function bindApi(hook2, state, name) {
-  const removeHookRef = bindable(removeHook, null).apply(
-    null,
-    name ? [state, name] : [state]
-  );
-  hook2.api = { remove: removeHookRef };
-  hook2.remove = removeHookRef;
-  ["before", "error", "after", "wrap"].forEach((kind) => {
-    const args = name ? [state, kind, name] : [state, kind];
-    hook2[kind] = hook2.api[kind] = bindable(addHook, null).apply(null, args);
-  });
-}
-function Singular() {
-  const singularHookName = /* @__PURE__ */ Symbol("Singular");
-  const singularHookState = {
-    registry: {}
-  };
-  const singularHook = register.bind(null, singularHookState, singularHookName);
-  bindApi(singularHook, singularHookState, singularHookName);
-  return singularHook;
-}
-function Collection() {
-  const state = {
-    registry: {}
-  };
-  const hook2 = register.bind(null, state);
-  bindApi(hook2, state);
-  return hook2;
-}
-var bind, bindable, before_after_hook_default;
-var init_before_after_hook = __esm({
-  "node_modules/before-after-hook/index.js"() {
-    init_register();
-    init_add();
-    init_remove();
-    bind = Function.bind;
-    bindable = bind.bind(bind);
-    before_after_hook_default = { Singular, Collection };
-  }
-});
-
-// node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js
-function getUserAgent2() {
-  if (typeof navigator === "object" && "userAgent" in navigator) {
-    return navigator.userAgent;
-  }
-  if (typeof process === "object" && process.version !== void 0) {
-    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
-  }
-  return "";
-}
-var init_universal_user_agent2 = __esm({
-  "node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js"() {
-  }
-});
-
-// node_modules/@octokit/endpoint/dist-bundle/index.js
-function lowercaseKeys(object) {
-  if (!object) {
-    return {};
-  }
-  return Object.keys(object).reduce((newObj, key) => {
-    newObj[key.toLowerCase()] = object[key];
-    return newObj;
-  }, {});
-}
-function isPlainObject(value) {
-  if (typeof value !== "object" || value === null) return false;
-  if (Object.prototype.toString.call(value) !== "[object Object]") return false;
-  const proto = Object.getPrototypeOf(value);
-  if (proto === null) return true;
-  const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
-  return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
-}
-function mergeDeep(defaults, options) {
-  const result = Object.assign({}, defaults);
-  Object.keys(options).forEach((key) => {
-    if (isPlainObject(options[key])) {
-      if (!(key in defaults)) Object.assign(result, { [key]: options[key] });
-      else result[key] = mergeDeep(defaults[key], options[key]);
-    } else {
-      Object.assign(result, { [key]: options[key] });
-    }
-  });
-  return result;
-}
-function removeUndefinedProperties(obj) {
-  for (const key in obj) {
-    if (obj[key] === void 0) {
-      delete obj[key];
-    }
-  }
-  return obj;
-}
-function merge(defaults, route, options) {
-  if (typeof route === "string") {
-    let [method, url] = route.split(" ");
-    options = Object.assign(url ? { method, url } : { url: method }, options);
-  } else {
-    options = Object.assign({}, route);
-  }
-  options.headers = lowercaseKeys(options.headers);
-  removeUndefinedProperties(options);
-  removeUndefinedProperties(options.headers);
-  const mergedOptions = mergeDeep(defaults || {}, options);
-  if (options.url === "/graphql") {
-    if (defaults && defaults.mediaType.previews?.length) {
-      mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
-        (preview) => !mergedOptions.mediaType.previews.includes(preview)
-      ).concat(mergedOptions.mediaType.previews);
-    }
-    mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
-  }
-  return mergedOptions;
-}
-function addQueryParameters(url, parameters) {
-  const separator = /\?/.test(url) ? "&" : "?";
-  const names = Object.keys(parameters);
-  if (names.length === 0) {
-    return url;
-  }
-  return url + separator + names.map((name) => {
-    if (name === "q") {
-      return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
-    }
-    return `${name}=${encodeURIComponent(parameters[name])}`;
-  }).join("&");
-}
-function removeNonChars(variableName) {
-  return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []);
-}
-function omit(object, keysToOmit) {
-  const result = { __proto__: null };
-  for (const key of Object.keys(object)) {
-    if (keysToOmit.indexOf(key) === -1) {
-      result[key] = object[key];
-    }
-  }
-  return result;
-}
-function encodeReserved(str2) {
-  return str2.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
-    if (!/%[0-9A-Fa-f]/.test(part)) {
-      part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
-    }
-    return part;
-  }).join("");
-}
-function encodeUnreserved(str2) {
-  return encodeURIComponent(str2).replace(/[!'()*]/g, function(c) {
-    return "%" + c.charCodeAt(0).toString(16).toUpperCase();
-  });
-}
-function encodeValue(operator, value, key) {
-  value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
-  if (key) {
-    return encodeUnreserved(key) + "=" + value;
-  } else {
-    return value;
-  }
-}
-function isDefined(value) {
-  return value !== void 0 && value !== null;
-}
-function isKeyOperator(operator) {
-  return operator === ";" || operator === "&" || operator === "?";
-}
-function getValues(context2, operator, key, modifier) {
-  var value = context2[key], result = [];
-  if (isDefined(value) && value !== "") {
-    if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
-      value = value.toString();
-      if (modifier && modifier !== "*") {
-        value = value.substring(0, parseInt(modifier, 10));
-      }
-      result.push(
-        encodeValue(operator, value, isKeyOperator(operator) ? key : "")
-      );
-    } else {
-      if (modifier === "*") {
-        if (Array.isArray(value)) {
-          value.filter(isDefined).forEach(function(value2) {
-            result.push(
-              encodeValue(operator, value2, isKeyOperator(operator) ? key : "")
-            );
-          });
-        } else {
-          Object.keys(value).forEach(function(k) {
-            if (isDefined(value[k])) {
-              result.push(encodeValue(operator, value[k], k));
-            }
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
+    "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
+    var { webidl } = require_webidl2();
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
+    var experimentalWarned = false;
+    var defaultReconnectionTime = 3e3;
+    var CONNECTING = 0;
+    var OPEN = 1;
+    var CLOSED = 2;
+    var ANONYMOUS = "anonymous";
+    var USE_CREDENTIALS = "use-credentials";
+    var EventSource = class _EventSource extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        message: null
+      };
+      #url = null;
+      #withCredentials = false;
+      #readyState = CONNECTING;
+      #request = null;
+      #controller = null;
+      #dispatcher;
+      /**
+       * @type {import('./eventsource-stream').eventSourceSettings}
+       */
+      #state;
+      /**
+       * Creates a new EventSource object.
+       * @param {string} url
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
+       */
+      constructor(url, eventSourceInitDict = {}) {
+        super();
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-      } else {
-        const tmp = [];
-        if (Array.isArray(value)) {
-          value.filter(isDefined).forEach(function(value2) {
-            tmp.push(encodeValue(operator, value2));
-          });
-        } else {
-          Object.keys(value).forEach(function(k) {
-            if (isDefined(value[k])) {
-              tmp.push(encodeUnreserved(k));
-              tmp.push(encodeValue(operator, value[k].toString()));
+        url = webidl.converters.USVString(url, prefix, "url");
+        eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
+        this.#dispatcher = eventSourceInitDict.dispatcher;
+        this.#state = {
+          lastEventId: "",
+          reconnectionTime: defaultReconnectionTime
+        };
+        const settings = environmentSettingsObject;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
+        }
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
+        }
+        const initRequest = {
+          redirect: "follow",
+          keepalive: true,
+          // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
+          mode: "cors",
+          credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
+          referrer: "no-referrer"
+        };
+        initRequest.client = environmentSettingsObject.settingsObject;
+        initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
+        initRequest.cache = "no-store";
+        initRequest.initiator = "other";
+        initRequest.urlList = [new URL(this.#url)];
+        this.#request = makeRequest(initRequest);
+        this.#connect();
+      }
+      /**
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
+       */
+      get readyState() {
+        return this.#readyState;
+      }
+      /**
+       * Returns the URL providing the event stream.
+       * @readonly
+       * @returns {string}
+       */
+      get url() {
+        return this.#url;
+      }
+      /**
+       * Returns a boolean indicating whether the EventSource object was
+       * instantiated with CORS credentials set (true), or not (false, the default).
+       */
+      get withCredentials() {
+        return this.#withCredentials;
+      }
+      #connect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        const fetchParams = {
+          request: this.#request,
+          dispatcher: this.#dispatcher
+        };
+        const processEventSourceEndOfBody = (response) => {
+          if (isNetworkError(response)) {
+            this.dispatchEvent(new Event("error"));
+            this.close();
+          }
+          this.#reconnect();
+        };
+        fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
+        fetchParams.processResponse = (response) => {
+          if (isNetworkError(response)) {
+            if (response.aborted) {
+              this.close();
+              this.dispatchEvent(new Event("error"));
+              return;
+            } else {
+              this.#reconnect();
+              return;
+            }
+          }
+          const contentType = response.headersList.get("content-type", true);
+          const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
+          const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
+          if (response.status !== 200 || contentTypeValid === false) {
+            this.close();
+            this.dispatchEvent(new Event("error"));
+            return;
+          }
+          this.#readyState = OPEN;
+          this.dispatchEvent(new Event("open"));
+          this.#state.origin = response.urlList[response.urlList.length - 1].origin;
+          const eventSourceStream = new EventSourceStream({
+            eventSourceSettings: this.#state,
+            push: (event) => {
+              this.dispatchEvent(createFastMessageEvent(
+                event.type,
+                event.options
+              ));
             }
           });
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
+      }
+      /**
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
+       */
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay(this.#state.reconnectionTime);
+        if (this.#readyState !== CONNECTING) return;
+        if (this.#state.lastEventId.length) {
+          this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
         }
-        if (isKeyOperator(operator)) {
-          result.push(encodeUnreserved(key) + "=" + tmp.join(","));
-        } else if (tmp.length !== 0) {
-          result.push(tmp.join(","));
+        this.#connect();
+      }
+      /**
+       * Closes the connection, if any, and sets the readyState attribute to
+       * CLOSED.
+       */
+      close() {
+        webidl.brandCheck(this, _EventSource);
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CLOSED;
+        this.#controller.abort();
+        this.#request = null;
+      }
+      get onopen() {
+        return this.#events.open;
+      }
+      set onopen(fn) {
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
+        }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
         }
       }
-    }
-  } else {
-    if (operator === ";") {
-      if (isDefined(value)) {
-        result.push(encodeUnreserved(key));
+      get onmessage() {
+        return this.#events.message;
       }
-    } else if (value === "" && (operator === "&" || operator === "?")) {
-      result.push(encodeUnreserved(key) + "=");
-    } else if (value === "") {
-      result.push("");
-    }
-  }
-  return result;
-}
-function parseUrl(template) {
-  return {
-    expand: expand.bind(null, template)
-  };
-}
-function expand(template, context2) {
-  var operators = ["+", "#", ".", "/", ";", "?", "&"];
-  template = template.replace(
-    /\{([^\{\}]+)\}|([^\{\}]+)/g,
-    function(_2, expression, literal) {
-      if (expression) {
-        let operator = "";
-        const values = [];
-        if (operators.indexOf(expression.charAt(0)) !== -1) {
-          operator = expression.charAt(0);
-          expression = expression.substr(1);
+      set onmessage(fn) {
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
         }
-        expression.split(/,/g).forEach(function(variable) {
-          var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
-          values.push(getValues(context2, operator, tmp[1], tmp[2] || tmp[3]));
-        });
-        if (operator && operator !== "+") {
-          var separator = ",";
-          if (operator === "?") {
-            separator = "&";
-          } else if (operator !== "#") {
-            separator = operator;
-          }
-          return (values.length !== 0 ? operator : "") + values.join(separator);
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
         } else {
-          return values.join(",");
+          this.#events.message = null;
         }
-      } else {
-        return encodeReserved(literal);
       }
-    }
-  );
-  if (template === "/") {
-    return template;
-  } else {
-    return template.replace(/\/$/, "");
-  }
-}
-function parse(options) {
-  let method = options.method.toUpperCase();
-  let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
-  let headers = Object.assign({}, options.headers);
-  let body;
-  let parameters = omit(options, [
-    "method",
-    "baseUrl",
-    "url",
-    "headers",
-    "request",
-    "mediaType"
-  ]);
-  const urlVariableNames = extractUrlVariableNames(url);
-  url = parseUrl(url).expand(parameters);
-  if (!/^http/.test(url)) {
-    url = options.baseUrl + url;
-  }
-  const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
-  const remainingParameters = omit(parameters, omittedParameters);
-  const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
-  if (!isBinaryRequest) {
-    if (options.mediaType.format) {
-      headers.accept = headers.accept.split(/,/).map(
-        (format) => format.replace(
-          /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
-          `application/vnd$1$2.${options.mediaType.format}`
-        )
-      ).join(",");
-    }
-    if (url.endsWith("/graphql")) {
-      if (options.mediaType.previews?.length) {
-        const previewsFromAcceptHeader = headers.accept.match(/(? {
-          const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
-          return `application/vnd.github.${preview}-preview${format}`;
-        }).join(",");
+      get onerror() {
+        return this.#events.error;
       }
-    }
-  }
-  if (["GET", "HEAD"].includes(method)) {
-    url = addQueryParameters(url, remainingParameters);
-  } else {
-    if ("data" in remainingParameters) {
-      body = remainingParameters.data;
-    } else {
-      if (Object.keys(remainingParameters).length) {
-        body = remainingParameters;
+      set onerror(fn) {
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
+        }
       }
-    }
-  }
-  if (!headers["content-type"] && typeof body !== "undefined") {
-    headers["content-type"] = "application/json; charset=utf-8";
-  }
-  if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
-    body = "";
-  }
-  return Object.assign(
-    { method, url, headers },
-    typeof body !== "undefined" ? { body } : null,
-    options.request ? { request: options.request } : null
-  );
-}
-function endpointWithDefaults(defaults, route, options) {
-  return parse(merge(defaults, route, options));
-}
-function withDefaults(oldDefaults, newDefaults) {
-  const DEFAULTS2 = merge(oldDefaults, newDefaults);
-  const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);
-  return Object.assign(endpoint2, {
-    DEFAULTS: DEFAULTS2,
-    defaults: withDefaults.bind(null, DEFAULTS2),
-    merge: merge.bind(null, DEFAULTS2),
-    parse
-  });
-}
-var VERSION, userAgent, DEFAULTS, urlVariableRegex, endpoint;
-var init_dist_bundle = __esm({
-  "node_modules/@octokit/endpoint/dist-bundle/index.js"() {
-    init_universal_user_agent2();
-    VERSION = "0.0.0-development";
-    userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent2()}`;
-    DEFAULTS = {
-      method: "GET",
-      baseUrl: "https://api.github.com",
-      headers: {
-        accept: "application/vnd.github.v3+json",
-        "user-agent": userAgent
+    };
+    var constantsPropertyDescriptors = {
+      CONNECTING: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CONNECTING,
+        writable: false
       },
-      mediaType: {
-        format: ""
+      OPEN: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: OPEN,
+        writable: false
+      },
+      CLOSED: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CLOSED,
+        writable: false
       }
     };
-    urlVariableRegex = /\{[^{}}]+\}/g;
-    endpoint = withDefaults(null, DEFAULTS);
-  }
-});
-
-// node_modules/@octokit/request/node_modules/universal-user-agent/index.js
-function getUserAgent3() {
-  if (typeof navigator === "object" && "userAgent" in navigator) {
-    return navigator.userAgent;
-  }
-  if (typeof process === "object" && process.version !== void 0) {
-    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
-  }
-  return "";
-}
-var init_universal_user_agent3 = __esm({
-  "node_modules/@octokit/request/node_modules/universal-user-agent/index.js"() {
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
+      close: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
+    });
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
+      {
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "dispatcher",
+        // undici only
+        converter: webidl.converters.any
+      }
+    ]);
+    module2.exports = {
+      EventSource,
+      defaultReconnectionTime
+    };
   }
 });
 
-// node_modules/fast-content-type-parse/index.js
-var require_fast_content_type_parse = __commonJS({
-  "node_modules/fast-content-type-parse/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/index.js
+var require_undici2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
-    var NullObject = function NullObject2() {
+    var Client = require_client2();
+    var Dispatcher = require_dispatcher2();
+    var Pool = require_pool2();
+    var BalancedPool = require_balanced_pool2();
+    var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
+    var util = require_util9();
+    var { InvalidArgumentError } = errors;
+    var api = require_api2();
+    var buildConnector = require_connect2();
+    var MockClient = require_mock_client2();
+    var MockAgent = require_mock_agent2();
+    var MockPool = require_mock_pool2();
+    var mockErrors = require_mock_errors2();
+    var RetryHandler = require_retry_handler2();
+    var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    Object.assign(Dispatcher.prototype, api);
+    module2.exports.Dispatcher = Dispatcher;
+    module2.exports.Client = Client;
+    module2.exports.Pool = Pool;
+    module2.exports.BalancedPool = BalancedPool;
+    module2.exports.Agent = Agent;
+    module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
+    module2.exports.RetryAgent = RetryAgent;
+    module2.exports.RetryHandler = RetryHandler;
+    module2.exports.DecoratorHandler = DecoratorHandler;
+    module2.exports.RedirectHandler = RedirectHandler;
+    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.interceptors = {
+      redirect: require_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
     };
-    NullObject.prototype = /* @__PURE__ */ Object.create(null);
-    var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;
-    var quotedPairRE = /\\([\v\u0020-\u00ff])/gu;
-    var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;
-    var defaultContentType = { type: "", parameters: new NullObject() };
-    Object.freeze(defaultContentType.parameters);
-    Object.freeze(defaultContentType);
-    function parse2(header) {
-      if (typeof header !== "string") {
-        throw new TypeError("argument header is required and must be a string");
-      }
-      let index = header.indexOf(";");
-      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
-      if (mediaTypeRE.test(type2) === false) {
-        throw new TypeError("invalid media type");
-      }
-      const result = {
-        type: type2.toLowerCase(),
-        parameters: new NullObject()
-      };
-      if (index === -1) {
-        return result;
-      }
-      let key;
-      let match;
-      let value;
-      paramRE.lastIndex = index;
-      while (match = paramRE.exec(header)) {
-        if (match.index !== index) {
-          throw new TypeError("invalid parameter format");
+    module2.exports.buildConnector = buildConnector;
+    module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
+    function makeDispatcher(fn) {
+      return (url, opts, handler2) => {
+        if (typeof opts === "function") {
+          handler2 = opts;
+          opts = null;
         }
-        index += match[0].length;
-        key = match[1].toLowerCase();
-        value = match[2];
-        if (value[0] === '"') {
-          value = value.slice(1, value.length - 1);
-          quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
+        if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) {
+          throw new InvalidArgumentError("invalid url");
         }
-        result.parameters[key] = value;
-      }
-      if (index !== header.length) {
-        throw new TypeError("invalid parameter format");
-      }
-      return result;
+        if (opts != null && typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (opts && opts.path != null) {
+          if (typeof opts.path !== "string") {
+            throw new InvalidArgumentError("invalid opts.path");
+          }
+          let path3 = opts.path;
+          if (!opts.path.startsWith("/")) {
+            path3 = `/${path3}`;
+          }
+          url = new URL(util.parseOrigin(url).origin + path3);
+        } else {
+          if (!opts) {
+            opts = typeof url === "object" ? url : {};
+          }
+          url = util.parseURL(url);
+        }
+        const { agent, dispatcher = getGlobalDispatcher() } = opts;
+        if (agent) {
+          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
+        }
+        return fn.call(dispatcher, {
+          ...opts,
+          origin: url.origin,
+          path: url.search ? `${url.pathname}${url.search}` : url.pathname,
+          method: opts.method || (opts.body ? "PUT" : "GET")
+        }, handler2);
+      };
     }
-    function safeParse2(header) {
-      if (typeof header !== "string") {
-        return defaultContentType;
+    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
+    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
+    var fetchImpl = require_fetch2().fetch;
+    module2.exports.fetch = async function fetch(init, options = void 0) {
+      try {
+        return await fetchImpl(init, options);
+      } catch (err) {
+        if (err && typeof err === "object") {
+          Error.captureStackTrace(err);
+        }
+        throw err;
       }
-      let index = header.indexOf(";");
-      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
-      if (mediaTypeRE.test(type2) === false) {
-        return defaultContentType;
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().WebSocket;
+    module2.exports.CloseEvent = CloseEvent;
+    module2.exports.ErrorEvent = ErrorEvent;
+    module2.exports.MessageEvent = MessageEvent;
+    module2.exports.request = makeDispatcher(api.request);
+    module2.exports.stream = makeDispatcher(api.stream);
+    module2.exports.pipeline = makeDispatcher(api.pipeline);
+    module2.exports.connect = makeDispatcher(api.connect);
+    module2.exports.upgrade = makeDispatcher(api.upgrade);
+    module2.exports.MockClient = MockClient;
+    module2.exports.MockPool = MockPool;
+    module2.exports.MockAgent = MockAgent;
+    module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
+  }
+});
+
+// node_modules/@actions/github/lib/internal/utils.js
+var require_utils4 = __commonJS({
+  "node_modules/@actions/github/lib/internal/utils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      const result = {
-        type: type2.toLowerCase(),
-        parameters: new NullObject()
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
       };
-      if (index === -1) {
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
         return result;
+      };
+    })();
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
       }
-      let key;
-      let match;
-      let value;
-      paramRE.lastIndex = index;
-      while (match = paramRE.exec(header)) {
-        if (match.index !== index) {
-          return defaultContentType;
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        index += match[0].length;
-        key = match[1].toLowerCase();
-        value = match[2];
-        if (value[0] === '"') {
-          value = value.slice(1, value.length - 1);
-          quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        result.parameters[key] = value;
-      }
-      if (index !== header.length) {
-        return defaultContentType;
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getAuthString = getAuthString;
+    exports2.getProxyAgent = getProxyAgent;
+    exports2.getProxyAgentDispatcher = getProxyAgentDispatcher;
+    exports2.getProxyFetch = getProxyFetch;
+    exports2.getApiBaseUrl = getApiBaseUrl;
+    var httpClient = __importStar2(require_lib());
+    var undici_1 = require_undici2();
+    function getAuthString(token, options) {
+      if (!token && !options.auth) {
+        throw new Error("Parameter token or opts.auth is required");
+      } else if (token && options.auth) {
+        throw new Error("Parameters token and opts.auth may not both be specified");
       }
-      return result;
+      return typeof options.auth === "string" ? options.auth : `token ${token}`;
+    }
+    function getProxyAgent(destinationUrl) {
+      const hc = new httpClient.HttpClient();
+      return hc.getAgent(destinationUrl);
+    }
+    function getProxyAgentDispatcher(destinationUrl) {
+      const hc = new httpClient.HttpClient();
+      return hc.getAgentDispatcher(destinationUrl);
+    }
+    function getProxyFetch(destinationUrl) {
+      const httpDispatcher = getProxyAgentDispatcher(destinationUrl);
+      const proxyFetch = (url, opts) => __awaiter2(this, void 0, void 0, function* () {
+        return (0, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher }));
+      });
+      return proxyFetch;
+    }
+    function getApiBaseUrl() {
+      return process.env["GITHUB_API_URL"] || "https://api.github.com";
     }
-    module2.exports.default = { parse: parse2, safeParse: safeParse2 };
-    module2.exports.parse = parse2;
-    module2.exports.safeParse = safeParse2;
-    module2.exports.defaultContentType = defaultContentType;
   }
 });
 
-// node_modules/@octokit/request-error/dist-src/index.js
-var RequestError;
-var init_dist_src = __esm({
-  "node_modules/@octokit/request-error/dist-src/index.js"() {
-    RequestError = class extends Error {
-      name;
-      /**
-       * http status code
-       */
-      status;
-      /**
-       * Request options that lead to the error.
-       */
-      request;
-      /**
-       * Response object if a response was received
-       */
-      response;
-      constructor(message, statusCode, options) {
-        super(message, { cause: options.cause });
-        this.name = "HttpError";
-        this.status = Number.parseInt(statusCode);
-        if (Number.isNaN(this.status)) {
-          this.status = 0;
-        }
-        if ("response" in options) {
-          this.response = options.response;
-        }
-        const requestCopy = Object.assign({}, options.request);
-        if (options.request.headers.authorization) {
-          requestCopy.headers = Object.assign({}, options.request.headers, {
-            authorization: options.request.headers.authorization.replace(
-              /(?";
+}
+var init_universal_user_agent = __esm({
+  "node_modules/@octokit/core/node_modules/universal-user-agent/index.js"() {
   }
 });
 
-// node_modules/@octokit/request/dist-bundle/index.js
-function isPlainObject2(value) {
-  if (typeof value !== "object" || value === null) return false;
-  if (Object.prototype.toString.call(value) !== "[object Object]") return false;
-  const proto = Object.getPrototypeOf(value);
-  if (proto === null) return true;
-  const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
-  return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
-}
-async function fetchWrapper(requestOptions) {
-  const fetch = requestOptions.request?.fetch || globalThis.fetch;
-  if (!fetch) {
-    throw new Error(
-      "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing"
-    );
-  }
-  const log = requestOptions.request?.log || console;
-  const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;
-  const body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSON.stringify(requestOptions.body) : requestOptions.body;
-  const requestHeaders = Object.fromEntries(
-    Object.entries(requestOptions.headers).map(([name, value]) => [
-      name,
-      String(value)
-    ])
-  );
-  let fetchResponse;
-  try {
-    fetchResponse = await fetch(requestOptions.url, {
-      method: requestOptions.method,
-      body,
-      redirect: requestOptions.request?.redirect,
-      headers: requestHeaders,
-      signal: requestOptions.request?.signal,
-      // duplex must be set if request.body is ReadableStream or Async Iterables.
-      // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
-      ...requestOptions.body && { duplex: "half" }
-    });
-  } catch (error3) {
-    let message = "Unknown Error";
-    if (error3 instanceof Error) {
-      if (error3.name === "AbortError") {
-        error3.status = 500;
-        throw error3;
-      }
-      message = error3.message;
-      if (error3.name === "TypeError" && "cause" in error3) {
-        if (error3.cause instanceof Error) {
-          message = error3.cause.message;
-        } else if (typeof error3.cause === "string") {
-          message = error3.cause;
-        }
-      }
-    }
-    const requestError = new RequestError(message, 500, {
-      request: requestOptions
-    });
-    requestError.cause = error3;
-    throw requestError;
-  }
-  const status = fetchResponse.status;
-  const url = fetchResponse.url;
-  const responseHeaders = {};
-  for (const [key, value] of fetchResponse.headers) {
-    responseHeaders[key] = value;
+// node_modules/before-after-hook/lib/register.js
+function register(state, name, method, options) {
+  if (typeof method !== "function") {
+    throw new Error("method for before hook must be a function");
   }
-  const octokitResponse = {
-    url,
-    status,
-    headers: responseHeaders,
-    data: ""
-  };
-  if ("deprecation" in responseHeaders) {
-    const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/);
-    const deprecationLink = matches && matches.pop();
-    log.warn(
-      `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
-    );
+  if (!options) {
+    options = {};
   }
-  if (status === 204 || status === 205) {
-    return octokitResponse;
+  if (Array.isArray(name)) {
+    return name.reverse().reduce((callback, name2) => {
+      return register.bind(null, state, name2, callback, options);
+    }, method)();
   }
-  if (requestOptions.method === "HEAD") {
-    if (status < 400) {
-      return octokitResponse;
+  return Promise.resolve().then(() => {
+    if (!state.registry[name]) {
+      return method(options);
     }
-    throw new RequestError(fetchResponse.statusText, status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
+    return state.registry[name].reduce((method2, registered) => {
+      return registered.hook.bind(null, method2, options);
+    }, method)();
+  });
+}
+var init_register = __esm({
+  "node_modules/before-after-hook/lib/register.js"() {
   }
-  if (status === 304) {
-    octokitResponse.data = await getResponseData(fetchResponse);
-    throw new RequestError("Not modified", status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
+});
+
+// node_modules/before-after-hook/lib/add.js
+function addHook(state, kind, name, hook2) {
+  const orig = hook2;
+  if (!state.registry[name]) {
+    state.registry[name] = [];
   }
-  if (status >= 400) {
-    octokitResponse.data = await getResponseData(fetchResponse);
-    throw new RequestError(toErrorMessage(octokitResponse.data), status, {
-      response: octokitResponse,
-      request: requestOptions
-    });
+  if (kind === "before") {
+    hook2 = (method, options) => {
+      return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options));
+    };
   }
-  octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;
-  return octokitResponse;
-}
-async function getResponseData(response) {
-  const contentType = response.headers.get("content-type");
-  if (!contentType) {
-    return response.text().catch(noop);
+  if (kind === "after") {
+    hook2 = (method, options) => {
+      let result;
+      return Promise.resolve().then(method.bind(null, options)).then((result_) => {
+        result = result_;
+        return orig(result, options);
+      }).then(() => {
+        return result;
+      });
+    };
   }
-  const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType);
-  if (isJSONResponse(mimetype)) {
-    let text = "";
-    try {
-      text = await response.text();
-      return JSON.parse(text);
-    } catch (err) {
-      return text;
-    }
-  } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
-    return response.text().catch(noop);
-  } else {
-    return response.arrayBuffer().catch(
-      /* v8 ignore next -- @preserve */
-      () => new ArrayBuffer(0)
-    );
+  if (kind === "error") {
+    hook2 = (method, options) => {
+      return Promise.resolve().then(method.bind(null, options)).catch((error3) => {
+        return orig(error3, options);
+      });
+    };
   }
+  state.registry[name].push({
+    hook: hook2,
+    orig
+  });
 }
-function isJSONResponse(mimetype) {
-  return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
-}
-function toErrorMessage(data) {
-  if (typeof data === "string") {
-    return data;
+var init_add = __esm({
+  "node_modules/before-after-hook/lib/add.js"() {
   }
-  if (data instanceof ArrayBuffer) {
-    return "Unknown error";
+});
+
+// node_modules/before-after-hook/lib/remove.js
+function removeHook(state, name, method) {
+  if (!state.registry[name]) {
+    return;
   }
-  if ("message" in data) {
-    const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
-    return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
+  const index = state.registry[name].map((registered) => {
+    return registered.orig;
+  }).indexOf(method);
+  if (index === -1) {
+    return;
   }
-  return `Unknown error: ${JSON.stringify(data)}`;
+  state.registry[name].splice(index, 1);
 }
-function withDefaults2(oldEndpoint, newDefaults) {
-  const endpoint2 = oldEndpoint.defaults(newDefaults);
-  const newApi = function(route, parameters) {
-    const endpointOptions = endpoint2.merge(route, parameters);
-    if (!endpointOptions.request || !endpointOptions.request.hook) {
-      return fetchWrapper(endpoint2.parse(endpointOptions));
-    }
-    const request2 = (route2, parameters2) => {
-      return fetchWrapper(
-        endpoint2.parse(endpoint2.merge(route2, parameters2))
-      );
-    };
-    Object.assign(request2, {
-      endpoint: endpoint2,
-      defaults: withDefaults2.bind(null, endpoint2)
-    });
-    return endpointOptions.request.hook(request2, endpointOptions);
-  };
-  return Object.assign(newApi, {
-    endpoint: endpoint2,
-    defaults: withDefaults2.bind(null, endpoint2)
+var init_remove = __esm({
+  "node_modules/before-after-hook/lib/remove.js"() {
+  }
+});
+
+// node_modules/before-after-hook/index.js
+function bindApi(hook2, state, name) {
+  const removeHookRef = bindable(removeHook, null).apply(
+    null,
+    name ? [state, name] : [state]
+  );
+  hook2.api = { remove: removeHookRef };
+  hook2.remove = removeHookRef;
+  ["before", "error", "after", "wrap"].forEach((kind) => {
+    const args = name ? [state, kind, name] : [state, kind];
+    hook2[kind] = hook2.api[kind] = bindable(addHook, null).apply(null, args);
   });
 }
-var import_fast_content_type_parse, VERSION2, defaults_default, noop, request;
-var init_dist_bundle2 = __esm({
-  "node_modules/@octokit/request/dist-bundle/index.js"() {
-    init_dist_bundle();
-    init_universal_user_agent3();
-    import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1);
-    init_dist_src();
-    VERSION2 = "10.0.7";
-    defaults_default = {
-      headers: {
-        "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent3()}`
-      }
-    };
-    noop = () => "";
-    request = withDefaults2(endpoint, defaults_default);
+function Singular() {
+  const singularHookName = /* @__PURE__ */ Symbol("Singular");
+  const singularHookState = {
+    registry: {}
+  };
+  const singularHook = register.bind(null, singularHookState, singularHookName);
+  bindApi(singularHook, singularHookState, singularHookName);
+  return singularHook;
+}
+function Collection() {
+  const state = {
+    registry: {}
+  };
+  const hook2 = register.bind(null, state);
+  bindApi(hook2, state);
+  return hook2;
+}
+var bind, bindable, before_after_hook_default;
+var init_before_after_hook = __esm({
+  "node_modules/before-after-hook/index.js"() {
+    init_register();
+    init_add();
+    init_remove();
+    bind = Function.bind;
+    bindable = bind.bind(bind);
+    before_after_hook_default = { Singular, Collection };
   }
 });
 
-// node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js
-function getUserAgent4() {
+// node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js
+function getUserAgent2() {
   if (typeof navigator === "object" && "userAgent" in navigator) {
     return navigator.userAgent;
   }
@@ -39238,363 +40055,1039 @@ function getUserAgent4() {
   }
   return "";
 }
-var init_universal_user_agent4 = __esm({
-  "node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js"() {
+var init_universal_user_agent2 = __esm({
+  "node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js"() {
   }
 });
 
-// node_modules/@octokit/graphql/dist-bundle/index.js
-function _buildMessageForResponseErrors(data) {
-  return `Request failed due to following response errors:
-` + data.errors.map((e) => ` - ${e.message}`).join("\n");
+// node_modules/@octokit/endpoint/dist-bundle/index.js
+function lowercaseKeys(object) {
+  if (!object) {
+    return {};
+  }
+  return Object.keys(object).reduce((newObj, key) => {
+    newObj[key.toLowerCase()] = object[key];
+    return newObj;
+  }, {});
 }
-function graphql(request2, query, options) {
-  if (options) {
-    if (typeof query === "string" && "query" in options) {
-      return Promise.reject(
-        new Error(`[@octokit/graphql] "query" cannot be used as variable name`)
-      );
+function isPlainObject(value) {
+  if (typeof value !== "object" || value === null) return false;
+  if (Object.prototype.toString.call(value) !== "[object Object]") return false;
+  const proto = Object.getPrototypeOf(value);
+  if (proto === null) return true;
+  const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
+  return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
+}
+function mergeDeep(defaults, options) {
+  const result = Object.assign({}, defaults);
+  Object.keys(options).forEach((key) => {
+    if (isPlainObject(options[key])) {
+      if (!(key in defaults)) Object.assign(result, { [key]: options[key] });
+      else result[key] = mergeDeep(defaults[key], options[key]);
+    } else {
+      Object.assign(result, { [key]: options[key] });
     }
-    for (const key in options) {
-      if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;
-      return Promise.reject(
-        new Error(
-          `[@octokit/graphql] "${key}" cannot be used as variable name`
-        )
-      );
+  });
+  return result;
+}
+function removeUndefinedProperties(obj) {
+  for (const key in obj) {
+    if (obj[key] === void 0) {
+      delete obj[key];
     }
   }
-  const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
-  const requestOptions = Object.keys(
-    parsedOptions
-  ).reduce((result, key) => {
-    if (NON_VARIABLE_OPTIONS.includes(key)) {
-      result[key] = parsedOptions[key];
-      return result;
+  return obj;
+}
+function merge(defaults, route, options) {
+  if (typeof route === "string") {
+    let [method, url] = route.split(" ");
+    options = Object.assign(url ? { method, url } : { url: method }, options);
+  } else {
+    options = Object.assign({}, route);
+  }
+  options.headers = lowercaseKeys(options.headers);
+  removeUndefinedProperties(options);
+  removeUndefinedProperties(options.headers);
+  const mergedOptions = mergeDeep(defaults || {}, options);
+  if (options.url === "/graphql") {
+    if (defaults && defaults.mediaType.previews?.length) {
+      mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
+        (preview) => !mergedOptions.mediaType.previews.includes(preview)
+      ).concat(mergedOptions.mediaType.previews);
     }
-    if (!result.variables) {
-      result.variables = {};
+    mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
+  }
+  return mergedOptions;
+}
+function addQueryParameters(url, parameters) {
+  const separator = /\?/.test(url) ? "&" : "?";
+  const names = Object.keys(parameters);
+  if (names.length === 0) {
+    return url;
+  }
+  return url + separator + names.map((name) => {
+    if (name === "q") {
+      return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
     }
-    result.variables[key] = parsedOptions[key];
-    return result;
-  }, {});
-  const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;
-  if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
-    requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
+    return `${name}=${encodeURIComponent(parameters[name])}`;
+  }).join("&");
+}
+function removeNonChars(variableName) {
+  return variableName.replace(/(?:^\W+)|(?:(? {
-    if (response.data.errors) {
-      const headers = {};
-      for (const key of Object.keys(response.headers)) {
-        headers[key] = response.headers[key];
-      }
-      throw new GraphqlResponseError(
-        requestOptions,
-        headers,
-        response.data
-      );
+  return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
+}
+function omit(object, keysToOmit) {
+  const result = { __proto__: null };
+  for (const key of Object.keys(object)) {
+    if (keysToOmit.indexOf(key) === -1) {
+      result[key] = object[key];
     }
-    return response.data.data;
-  });
+  }
+  return result;
 }
-function withDefaults3(request2, newDefaults) {
-  const newRequest = request2.defaults(newDefaults);
-  const newApi = (query, options) => {
-    return graphql(newRequest, query, options);
-  };
-  return Object.assign(newApi, {
-    defaults: withDefaults3.bind(null, newRequest),
-    endpoint: newRequest.endpoint
-  });
+function encodeReserved(str2) {
+  return str2.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
+    if (!/%[0-9A-Fa-f]/.test(part)) {
+      part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
+    }
+    return part;
+  }).join("");
 }
-function withCustomRequest(customRequest) {
-  return withDefaults3(customRequest, {
-    method: "POST",
-    url: "/graphql"
+function encodeUnreserved(str2) {
+  return encodeURIComponent(str2).replace(/[!'()*]/g, function(c) {
+    return "%" + c.charCodeAt(0).toString(16).toUpperCase();
   });
 }
-var VERSION3, GraphqlResponseError, NON_VARIABLE_OPTIONS, FORBIDDEN_VARIABLE_OPTIONS, GHES_V3_SUFFIX_REGEX, graphql2;
-var init_dist_bundle3 = __esm({
-  "node_modules/@octokit/graphql/dist-bundle/index.js"() {
-    init_dist_bundle2();
-    init_universal_user_agent4();
-    VERSION3 = "0.0.0-development";
-    GraphqlResponseError = class extends Error {
-      constructor(request2, headers, response) {
-        super(_buildMessageForResponseErrors(response));
-        this.request = request2;
-        this.headers = headers;
-        this.response = response;
-        this.errors = response.errors;
-        this.data = response.data;
-        if (Error.captureStackTrace) {
-          Error.captureStackTrace(this, this.constructor);
-        }
-      }
-      name = "GraphqlResponseError";
-      errors;
-      data;
-    };
-    NON_VARIABLE_OPTIONS = [
-      "method",
-      "baseUrl",
-      "url",
-      "headers",
-      "request",
-      "query",
-      "mediaType",
-      "operationName"
-    ];
-    FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
-    GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
-    graphql2 = withDefaults3(request, {
-      headers: {
-        "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent4()}`
-      },
-      method: "POST",
-      url: "/graphql"
-    });
+function encodeValue(operator, value, key) {
+  value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
+  if (key) {
+    return encodeUnreserved(key) + "=" + value;
+  } else {
+    return value;
   }
-});
-
-// node_modules/@octokit/auth-token/dist-bundle/index.js
-async function auth(token) {
-  const isApp = isJWT(token);
-  const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
-  const isUserToServer = token.startsWith("ghu_");
-  const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
-  return {
-    type: "token",
-    token,
-    tokenType
-  };
 }
-function withAuthorizationPrefix(token) {
-  if (token.split(/\./).length === 3) {
-    return `bearer ${token}`;
-  }
-  return `token ${token}`;
+function isDefined(value) {
+  return value !== void 0 && value !== null;
 }
-async function hook(token, request2, route, parameters) {
-  const endpoint2 = request2.endpoint.merge(
-    route,
-    parameters
-  );
-  endpoint2.headers.authorization = withAuthorizationPrefix(token);
-  return request2(endpoint2);
+function isKeyOperator(operator) {
+  return operator === ";" || operator === "&" || operator === "?";
 }
-var b64url, sep, jwtRE, isJWT, createTokenAuth;
-var init_dist_bundle4 = __esm({
-  "node_modules/@octokit/auth-token/dist-bundle/index.js"() {
-    b64url = "(?:[a-zA-Z0-9_-]+)";
-    sep = "\\.";
-    jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`);
-    isJWT = jwtRE.test.bind(jwtRE);
-    createTokenAuth = function createTokenAuth2(token) {
-      if (!token) {
-        throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
+function getValues(context2, operator, key, modifier) {
+  var value = context2[key], result = [];
+  if (isDefined(value) && value !== "") {
+    if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
+      value = value.toString();
+      if (modifier && modifier !== "*") {
+        value = value.substring(0, parseInt(modifier, 10));
       }
-      if (typeof token !== "string") {
-        throw new Error(
-          "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
-        );
+      result.push(
+        encodeValue(operator, value, isKeyOperator(operator) ? key : "")
+      );
+    } else {
+      if (modifier === "*") {
+        if (Array.isArray(value)) {
+          value.filter(isDefined).forEach(function(value2) {
+            result.push(
+              encodeValue(operator, value2, isKeyOperator(operator) ? key : "")
+            );
+          });
+        } else {
+          Object.keys(value).forEach(function(k) {
+            if (isDefined(value[k])) {
+              result.push(encodeValue(operator, value[k], k));
+            }
+          });
+        }
+      } else {
+        const tmp = [];
+        if (Array.isArray(value)) {
+          value.filter(isDefined).forEach(function(value2) {
+            tmp.push(encodeValue(operator, value2));
+          });
+        } else {
+          Object.keys(value).forEach(function(k) {
+            if (isDefined(value[k])) {
+              tmp.push(encodeUnreserved(k));
+              tmp.push(encodeValue(operator, value[k].toString()));
+            }
+          });
+        }
+        if (isKeyOperator(operator)) {
+          result.push(encodeUnreserved(key) + "=" + tmp.join(","));
+        } else if (tmp.length !== 0) {
+          result.push(tmp.join(","));
+        }
       }
-      token = token.replace(/^(token|bearer) +/i, "");
-      return Object.assign(auth.bind(null, token), {
-        hook: hook.bind(null, token)
-      });
-    };
+    }
+  } else {
+    if (operator === ";") {
+      if (isDefined(value)) {
+        result.push(encodeUnreserved(key));
+      }
+    } else if (value === "" && (operator === "&" || operator === "?")) {
+      result.push(encodeUnreserved(key) + "=");
+    } else if (value === "") {
+      result.push("");
+    }
   }
-});
-
-// node_modules/@octokit/core/dist-src/version.js
-var VERSION4;
-var init_version = __esm({
-  "node_modules/@octokit/core/dist-src/version.js"() {
-    VERSION4 = "7.0.6";
+  return result;
+}
+function parseUrl(template) {
+  return {
+    expand: expand.bind(null, template)
+  };
+}
+function expand(template, context2) {
+  var operators = ["+", "#", ".", "/", ";", "?", "&"];
+  template = template.replace(
+    /\{([^\{\}]+)\}|([^\{\}]+)/g,
+    function(_2, expression, literal) {
+      if (expression) {
+        let operator = "";
+        const values = [];
+        if (operators.indexOf(expression.charAt(0)) !== -1) {
+          operator = expression.charAt(0);
+          expression = expression.substr(1);
+        }
+        expression.split(/,/g).forEach(function(variable) {
+          var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
+          values.push(getValues(context2, operator, tmp[1], tmp[2] || tmp[3]));
+        });
+        if (operator && operator !== "+") {
+          var separator = ",";
+          if (operator === "?") {
+            separator = "&";
+          } else if (operator !== "#") {
+            separator = operator;
+          }
+          return (values.length !== 0 ? operator : "") + values.join(separator);
+        } else {
+          return values.join(",");
+        }
+      } else {
+        return encodeReserved(literal);
+      }
+    }
+  );
+  if (template === "/") {
+    return template;
+  } else {
+    return template.replace(/\/$/, "");
   }
-});
-
-// node_modules/@octokit/core/dist-src/index.js
-var dist_src_exports = {};
-__export(dist_src_exports, {
-  Octokit: () => Octokit
-});
-function createLogger(logger = {}) {
-  if (typeof logger.debug !== "function") {
-    logger.debug = noop2;
+}
+function parse(options) {
+  let method = options.method.toUpperCase();
+  let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
+  let headers = Object.assign({}, options.headers);
+  let body;
+  let parameters = omit(options, [
+    "method",
+    "baseUrl",
+    "url",
+    "headers",
+    "request",
+    "mediaType"
+  ]);
+  const urlVariableNames = extractUrlVariableNames(url);
+  url = parseUrl(url).expand(parameters);
+  if (!/^http/.test(url)) {
+    url = options.baseUrl + url;
   }
-  if (typeof logger.info !== "function") {
-    logger.info = noop2;
+  const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
+  const remainingParameters = omit(parameters, omittedParameters);
+  const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
+  if (!isBinaryRequest) {
+    if (options.mediaType.format) {
+      headers.accept = headers.accept.split(/,/).map(
+        (format) => format.replace(
+          /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
+          `application/vnd$1$2.${options.mediaType.format}`
+        )
+      ).join(",");
+    }
+    if (url.endsWith("/graphql")) {
+      if (options.mediaType.previews?.length) {
+        const previewsFromAcceptHeader = headers.accept.match(/(? {
+          const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
+          return `application/vnd.github.${preview}-preview${format}`;
+        }).join(",");
+      }
+    }
   }
-  if (typeof logger.warn !== "function") {
-    logger.warn = consoleWarn;
+  if (["GET", "HEAD"].includes(method)) {
+    url = addQueryParameters(url, remainingParameters);
+  } else {
+    if ("data" in remainingParameters) {
+      body = remainingParameters.data;
+    } else {
+      if (Object.keys(remainingParameters).length) {
+        body = remainingParameters;
+      }
+    }
   }
-  if (typeof logger.error !== "function") {
-    logger.error = consoleError;
+  if (!headers["content-type"] && typeof body !== "undefined") {
+    headers["content-type"] = "application/json; charset=utf-8";
   }
-  return logger;
+  if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
+    body = "";
+  }
+  return Object.assign(
+    { method, url, headers },
+    typeof body !== "undefined" ? { body } : null,
+    options.request ? { request: options.request } : null
+  );
 }
-var noop2, consoleWarn, consoleError, userAgentTrail, Octokit;
-var init_dist_src2 = __esm({
-  "node_modules/@octokit/core/dist-src/index.js"() {
-    init_universal_user_agent();
-    init_before_after_hook();
-    init_dist_bundle2();
-    init_dist_bundle3();
-    init_dist_bundle4();
-    init_version();
-    noop2 = () => {
+function endpointWithDefaults(defaults, route, options) {
+  return parse(merge(defaults, route, options));
+}
+function withDefaults(oldDefaults, newDefaults) {
+  const DEFAULTS2 = merge(oldDefaults, newDefaults);
+  const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);
+  return Object.assign(endpoint2, {
+    DEFAULTS: DEFAULTS2,
+    defaults: withDefaults.bind(null, DEFAULTS2),
+    merge: merge.bind(null, DEFAULTS2),
+    parse
+  });
+}
+var VERSION, userAgent, DEFAULTS, urlVariableRegex, endpoint;
+var init_dist_bundle = __esm({
+  "node_modules/@octokit/endpoint/dist-bundle/index.js"() {
+    init_universal_user_agent2();
+    VERSION = "0.0.0-development";
+    userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent2()}`;
+    DEFAULTS = {
+      method: "GET",
+      baseUrl: "https://api.github.com",
+      headers: {
+        accept: "application/vnd.github.v3+json",
+        "user-agent": userAgent
+      },
+      mediaType: {
+        format: ""
+      }
     };
-    consoleWarn = console.warn.bind(console);
-    consoleError = console.error.bind(console);
-    userAgentTrail = `octokit-core.js/${VERSION4} ${getUserAgent()}`;
-    Octokit = class {
-      static VERSION = VERSION4;
-      static defaults(defaults) {
-        const OctokitWithDefaults = class extends this {
-          constructor(...args) {
-            const options = args[0] || {};
-            if (typeof defaults === "function") {
-              super(defaults(options));
-              return;
-            }
-            super(
-              Object.assign(
-                {},
-                defaults,
-                options,
-                options.userAgent && defaults.userAgent ? {
-                  userAgent: `${options.userAgent} ${defaults.userAgent}`
-                } : null
-              )
-            );
-          }
-        };
-        return OctokitWithDefaults;
+    urlVariableRegex = /\{[^{}}]+\}/g;
+    endpoint = withDefaults(null, DEFAULTS);
+  }
+});
+
+// node_modules/@octokit/request/node_modules/universal-user-agent/index.js
+function getUserAgent3() {
+  if (typeof navigator === "object" && "userAgent" in navigator) {
+    return navigator.userAgent;
+  }
+  if (typeof process === "object" && process.version !== void 0) {
+    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
+  }
+  return "";
+}
+var init_universal_user_agent3 = __esm({
+  "node_modules/@octokit/request/node_modules/universal-user-agent/index.js"() {
+  }
+});
+
+// node_modules/fast-content-type-parse/index.js
+var require_fast_content_type_parse = __commonJS({
+  "node_modules/fast-content-type-parse/index.js"(exports2, module2) {
+    "use strict";
+    var NullObject = function NullObject2() {
+    };
+    NullObject.prototype = /* @__PURE__ */ Object.create(null);
+    var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;
+    var quotedPairRE = /\\([\v\u0020-\u00ff])/gu;
+    var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;
+    var defaultContentType = { type: "", parameters: new NullObject() };
+    Object.freeze(defaultContentType.parameters);
+    Object.freeze(defaultContentType);
+    function parse2(header) {
+      if (typeof header !== "string") {
+        throw new TypeError("argument header is required and must be a string");
       }
-      static plugins = [];
-      /**
-       * Attach a plugin (or many) to your Octokit instance.
-       *
-       * @example
-       * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
-       */
-      static plugin(...newPlugins) {
-        const currentPlugins = this.plugins;
-        const NewOctokit = class extends this {
-          static plugins = currentPlugins.concat(
-            newPlugins.filter((plugin) => !currentPlugins.includes(plugin))
-          );
-        };
-        return NewOctokit;
+      let index = header.indexOf(";");
+      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
+      if (mediaTypeRE.test(type2) === false) {
+        throw new TypeError("invalid media type");
       }
-      constructor(options = {}) {
-        const hook2 = new before_after_hook_default.Collection();
-        const requestDefaults = {
-          baseUrl: request.endpoint.DEFAULTS.baseUrl,
-          headers: {},
-          request: Object.assign({}, options.request, {
-            // @ts-ignore internal usage only, no need to type
-            hook: hook2.bind(null, "request")
-          }),
-          mediaType: {
-            previews: [],
-            format: ""
-          }
-        };
-        requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
-        if (options.baseUrl) {
-          requestDefaults.baseUrl = options.baseUrl;
-        }
-        if (options.previews) {
-          requestDefaults.mediaType.previews = options.previews;
+      const result = {
+        type: type2.toLowerCase(),
+        parameters: new NullObject()
+      };
+      if (index === -1) {
+        return result;
+      }
+      let key;
+      let match;
+      let value;
+      paramRE.lastIndex = index;
+      while (match = paramRE.exec(header)) {
+        if (match.index !== index) {
+          throw new TypeError("invalid parameter format");
         }
-        if (options.timeZone) {
-          requestDefaults.headers["time-zone"] = options.timeZone;
+        index += match[0].length;
+        key = match[1].toLowerCase();
+        value = match[2];
+        if (value[0] === '"') {
+          value = value.slice(1, value.length - 1);
+          quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
         }
-        this.request = request.defaults(requestDefaults);
-        this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
-        this.log = createLogger(options.log);
-        this.hook = hook2;
-        if (!options.authStrategy) {
-          if (!options.auth) {
-            this.auth = async () => ({
-              type: "unauthenticated"
-            });
-          } else {
-            const auth2 = createTokenAuth(options.auth);
-            hook2.wrap("request", auth2.hook);
-            this.auth = auth2;
-          }
-        } else {
-          const { authStrategy, ...otherOptions } = options;
-          const auth2 = authStrategy(
-            Object.assign(
-              {
-                request: this.request,
-                log: this.log,
-                // we pass the current octokit instance as well as its constructor options
-                // to allow for authentication strategies that return a new octokit instance
-                // that shares the same internal state as the current one. The original
-                // requirement for this was the "event-octokit" authentication strategy
-                // of https://github.com/probot/octokit-auth-probot.
-                octokit: this,
-                octokitOptions: otherOptions
-              },
-              options.auth
-            )
-          );
-          hook2.wrap("request", auth2.hook);
-          this.auth = auth2;
+        result.parameters[key] = value;
+      }
+      if (index !== header.length) {
+        throw new TypeError("invalid parameter format");
+      }
+      return result;
+    }
+    function safeParse2(header) {
+      if (typeof header !== "string") {
+        return defaultContentType;
+      }
+      let index = header.indexOf(";");
+      const type2 = index !== -1 ? header.slice(0, index).trim() : header.trim();
+      if (mediaTypeRE.test(type2) === false) {
+        return defaultContentType;
+      }
+      const result = {
+        type: type2.toLowerCase(),
+        parameters: new NullObject()
+      };
+      if (index === -1) {
+        return result;
+      }
+      let key;
+      let match;
+      let value;
+      paramRE.lastIndex = index;
+      while (match = paramRE.exec(header)) {
+        if (match.index !== index) {
+          return defaultContentType;
         }
-        const classConstructor = this.constructor;
-        for (let i = 0; i < classConstructor.plugins.length; ++i) {
-          Object.assign(this, classConstructor.plugins[i](this, options));
+        index += match[0].length;
+        key = match[1].toLowerCase();
+        value = match[2];
+        if (value[0] === '"') {
+          value = value.slice(1, value.length - 1);
+          quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
         }
+        result.parameters[key] = value;
       }
-      // assigned during constructor
-      request;
-      graphql;
-      log;
-      hook;
-      // TODO: type `octokit.auth` based on passed options.authStrategy
-      auth;
-    };
+      if (index !== header.length) {
+        return defaultContentType;
+      }
+      return result;
+    }
+    module2.exports.default = { parse: parse2, safeParse: safeParse2 };
+    module2.exports.parse = parse2;
+    module2.exports.safeParse = safeParse2;
+    module2.exports.defaultContentType = defaultContentType;
   }
 });
 
-// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
-var VERSION5;
-var init_version2 = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js"() {
-    VERSION5 = "17.0.0";
+// node_modules/@octokit/request-error/dist-src/index.js
+var RequestError;
+var init_dist_src = __esm({
+  "node_modules/@octokit/request-error/dist-src/index.js"() {
+    RequestError = class extends Error {
+      name;
+      /**
+       * http status code
+       */
+      status;
+      /**
+       * Request options that lead to the error.
+       */
+      request;
+      /**
+       * Response object if a response was received
+       */
+      response;
+      constructor(message, statusCode, options) {
+        super(message, { cause: options.cause });
+        this.name = "HttpError";
+        this.status = Number.parseInt(statusCode);
+        if (Number.isNaN(this.status)) {
+          this.status = 0;
+        }
+        if ("response" in options) {
+          this.response = options.response;
+        }
+        const requestCopy = Object.assign({}, options.request);
+        if (options.request.headers.authorization) {
+          requestCopy.headers = Object.assign({}, options.request.headers, {
+            authorization: options.request.headers.authorization.replace(
+              /(? [
+      name,
+      String(value)
+    ])
+  );
+  let fetchResponse;
+  try {
+    fetchResponse = await fetch(requestOptions.url, {
+      method: requestOptions.method,
+      body,
+      redirect: requestOptions.request?.redirect,
+      headers: requestHeaders,
+      signal: requestOptions.request?.signal,
+      // duplex must be set if request.body is ReadableStream or Async Iterables.
+      // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
+      ...requestOptions.body && { duplex: "half" }
+    });
+  } catch (error3) {
+    let message = "Unknown Error";
+    if (error3 instanceof Error) {
+      if (error3.name === "AbortError") {
+        error3.status = 500;
+        throw error3;
+      }
+      message = error3.message;
+      if (error3.name === "TypeError" && "cause" in error3) {
+        if (error3.cause instanceof Error) {
+          message = error3.cause.message;
+        } else if (typeof error3.cause === "string") {
+          message = error3.cause;
+        }
+      }
+    }
+    const requestError = new RequestError(message, 500, {
+      request: requestOptions
+    });
+    requestError.cause = error3;
+    throw requestError;
+  }
+  const status = fetchResponse.status;
+  const url = fetchResponse.url;
+  const responseHeaders = {};
+  for (const [key, value] of fetchResponse.headers) {
+    responseHeaders[key] = value;
+  }
+  const octokitResponse = {
+    url,
+    status,
+    headers: responseHeaders,
+    data: ""
+  };
+  if ("deprecation" in responseHeaders) {
+    const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/);
+    const deprecationLink = matches && matches.pop();
+    log.warn(
+      `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
+    );
+  }
+  if (status === 204 || status === 205) {
+    return octokitResponse;
+  }
+  if (requestOptions.method === "HEAD") {
+    if (status < 400) {
+      return octokitResponse;
+    }
+    throw new RequestError(fetchResponse.statusText, status, {
+      response: octokitResponse,
+      request: requestOptions
+    });
+  }
+  if (status === 304) {
+    octokitResponse.data = await getResponseData(fetchResponse);
+    throw new RequestError("Not modified", status, {
+      response: octokitResponse,
+      request: requestOptions
+    });
+  }
+  if (status >= 400) {
+    octokitResponse.data = await getResponseData(fetchResponse);
+    throw new RequestError(toErrorMessage(octokitResponse.data), status, {
+      response: octokitResponse,
+      request: requestOptions
+    });
+  }
+  octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;
+  return octokitResponse;
+}
+async function getResponseData(response) {
+  const contentType = response.headers.get("content-type");
+  if (!contentType) {
+    return response.text().catch(noop);
+  }
+  const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType);
+  if (isJSONResponse(mimetype)) {
+    let text = "";
+    try {
+      text = await response.text();
+      return JSON.parse(text);
+    } catch (err) {
+      return text;
+    }
+  } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
+    return response.text().catch(noop);
+  } else {
+    return response.arrayBuffer().catch(
+      /* v8 ignore next -- @preserve */
+      () => new ArrayBuffer(0)
+    );
+  }
+}
+function isJSONResponse(mimetype) {
+  return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
+}
+function toErrorMessage(data) {
+  if (typeof data === "string") {
+    return data;
+  }
+  if (data instanceof ArrayBuffer) {
+    return "Unknown error";
+  }
+  if ("message" in data) {
+    const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
+    return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
+  }
+  return `Unknown error: ${JSON.stringify(data)}`;
+}
+function withDefaults2(oldEndpoint, newDefaults) {
+  const endpoint2 = oldEndpoint.defaults(newDefaults);
+  const newApi = function(route, parameters) {
+    const endpointOptions = endpoint2.merge(route, parameters);
+    if (!endpointOptions.request || !endpointOptions.request.hook) {
+      return fetchWrapper(endpoint2.parse(endpointOptions));
+    }
+    const request2 = (route2, parameters2) => {
+      return fetchWrapper(
+        endpoint2.parse(endpoint2.merge(route2, parameters2))
+      );
+    };
+    Object.assign(request2, {
+      endpoint: endpoint2,
+      defaults: withDefaults2.bind(null, endpoint2)
+    });
+    return endpointOptions.request.hook(request2, endpointOptions);
+  };
+  return Object.assign(newApi, {
+    endpoint: endpoint2,
+    defaults: withDefaults2.bind(null, endpoint2)
+  });
+}
+var import_fast_content_type_parse, VERSION2, defaults_default, noop, request;
+var init_dist_bundle2 = __esm({
+  "node_modules/@octokit/request/dist-bundle/index.js"() {
+    init_dist_bundle();
+    init_universal_user_agent3();
+    import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1);
+    init_dist_src();
+    VERSION2 = "10.0.7";
+    defaults_default = {
+      headers: {
+        "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent3()}`
+      }
+    };
+    noop = () => "";
+    request = withDefaults2(endpoint, defaults_default);
+  }
+});
+
+// node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js
+function getUserAgent4() {
+  if (typeof navigator === "object" && "userAgent" in navigator) {
+    return navigator.userAgent;
+  }
+  if (typeof process === "object" && process.version !== void 0) {
+    return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
+  }
+  return "";
+}
+var init_universal_user_agent4 = __esm({
+  "node_modules/@octokit/graphql/node_modules/universal-user-agent/index.js"() {
+  }
+});
+
+// node_modules/@octokit/graphql/dist-bundle/index.js
+function _buildMessageForResponseErrors(data) {
+  return `Request failed due to following response errors:
+` + data.errors.map((e) => ` - ${e.message}`).join("\n");
+}
+function graphql(request2, query, options) {
+  if (options) {
+    if (typeof query === "string" && "query" in options) {
+      return Promise.reject(
+        new Error(`[@octokit/graphql] "query" cannot be used as variable name`)
+      );
+    }
+    for (const key in options) {
+      if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;
+      return Promise.reject(
+        new Error(
+          `[@octokit/graphql] "${key}" cannot be used as variable name`
+        )
+      );
+    }
+  }
+  const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
+  const requestOptions = Object.keys(
+    parsedOptions
+  ).reduce((result, key) => {
+    if (NON_VARIABLE_OPTIONS.includes(key)) {
+      result[key] = parsedOptions[key];
+      return result;
+    }
+    if (!result.variables) {
+      result.variables = {};
+    }
+    result.variables[key] = parsedOptions[key];
+    return result;
+  }, {});
+  const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;
+  if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
+    requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
+  }
+  return request2(requestOptions).then((response) => {
+    if (response.data.errors) {
+      const headers = {};
+      for (const key of Object.keys(response.headers)) {
+        headers[key] = response.headers[key];
+      }
+      throw new GraphqlResponseError(
+        requestOptions,
+        headers,
+        response.data
+      );
+    }
+    return response.data.data;
+  });
+}
+function withDefaults3(request2, newDefaults) {
+  const newRequest = request2.defaults(newDefaults);
+  const newApi = (query, options) => {
+    return graphql(newRequest, query, options);
+  };
+  return Object.assign(newApi, {
+    defaults: withDefaults3.bind(null, newRequest),
+    endpoint: newRequest.endpoint
+  });
+}
+function withCustomRequest(customRequest) {
+  return withDefaults3(customRequest, {
+    method: "POST",
+    url: "/graphql"
+  });
+}
+var VERSION3, GraphqlResponseError, NON_VARIABLE_OPTIONS, FORBIDDEN_VARIABLE_OPTIONS, GHES_V3_SUFFIX_REGEX, graphql2;
+var init_dist_bundle3 = __esm({
+  "node_modules/@octokit/graphql/dist-bundle/index.js"() {
+    init_dist_bundle2();
+    init_universal_user_agent4();
+    VERSION3 = "0.0.0-development";
+    GraphqlResponseError = class extends Error {
+      constructor(request2, headers, response) {
+        super(_buildMessageForResponseErrors(response));
+        this.request = request2;
+        this.headers = headers;
+        this.response = response;
+        this.errors = response.errors;
+        this.data = response.data;
+        if (Error.captureStackTrace) {
+          Error.captureStackTrace(this, this.constructor);
+        }
+      }
+      name = "GraphqlResponseError";
+      errors;
+      data;
+    };
+    NON_VARIABLE_OPTIONS = [
+      "method",
+      "baseUrl",
+      "url",
+      "headers",
+      "request",
+      "query",
+      "mediaType",
+      "operationName"
+    ];
+    FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
+    GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
+    graphql2 = withDefaults3(request, {
+      headers: {
+        "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent4()}`
+      },
+      method: "POST",
+      url: "/graphql"
+    });
+  }
+});
+
+// node_modules/@octokit/auth-token/dist-bundle/index.js
+async function auth(token) {
+  const isApp = isJWT(token);
+  const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
+  const isUserToServer = token.startsWith("ghu_");
+  const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
+  return {
+    type: "token",
+    token,
+    tokenType
+  };
+}
+function withAuthorizationPrefix(token) {
+  if (token.split(/\./).length === 3) {
+    return `bearer ${token}`;
+  }
+  return `token ${token}`;
+}
+async function hook(token, request2, route, parameters) {
+  const endpoint2 = request2.endpoint.merge(
+    route,
+    parameters
+  );
+  endpoint2.headers.authorization = withAuthorizationPrefix(token);
+  return request2(endpoint2);
+}
+var b64url, sep, jwtRE, isJWT, createTokenAuth;
+var init_dist_bundle4 = __esm({
+  "node_modules/@octokit/auth-token/dist-bundle/index.js"() {
+    b64url = "(?:[a-zA-Z0-9_-]+)";
+    sep = "\\.";
+    jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`);
+    isJWT = jwtRE.test.bind(jwtRE);
+    createTokenAuth = function createTokenAuth2(token) {
+      if (!token) {
+        throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
+      }
+      if (typeof token !== "string") {
+        throw new Error(
+          "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
+        );
+      }
+      token = token.replace(/^(token|bearer) +/i, "");
+      return Object.assign(auth.bind(null, token), {
+        hook: hook.bind(null, token)
+      });
+    };
+  }
+});
+
+// node_modules/@octokit/core/dist-src/version.js
+var VERSION4;
+var init_version = __esm({
+  "node_modules/@octokit/core/dist-src/version.js"() {
+    VERSION4 = "7.0.6";
+  }
+});
+
+// node_modules/@octokit/core/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+  Octokit: () => Octokit
+});
+function createLogger(logger = {}) {
+  if (typeof logger.debug !== "function") {
+    logger.debug = noop2;
+  }
+  if (typeof logger.info !== "function") {
+    logger.info = noop2;
+  }
+  if (typeof logger.warn !== "function") {
+    logger.warn = consoleWarn;
+  }
+  if (typeof logger.error !== "function") {
+    logger.error = consoleError;
+  }
+  return logger;
+}
+var noop2, consoleWarn, consoleError, userAgentTrail, Octokit;
+var init_dist_src2 = __esm({
+  "node_modules/@octokit/core/dist-src/index.js"() {
+    init_universal_user_agent();
+    init_before_after_hook();
+    init_dist_bundle2();
+    init_dist_bundle3();
+    init_dist_bundle4();
+    init_version();
+    noop2 = () => {
+    };
+    consoleWarn = console.warn.bind(console);
+    consoleError = console.error.bind(console);
+    userAgentTrail = `octokit-core.js/${VERSION4} ${getUserAgent()}`;
+    Octokit = class {
+      static VERSION = VERSION4;
+      static defaults(defaults) {
+        const OctokitWithDefaults = class extends this {
+          constructor(...args) {
+            const options = args[0] || {};
+            if (typeof defaults === "function") {
+              super(defaults(options));
+              return;
+            }
+            super(
+              Object.assign(
+                {},
+                defaults,
+                options,
+                options.userAgent && defaults.userAgent ? {
+                  userAgent: `${options.userAgent} ${defaults.userAgent}`
+                } : null
+              )
+            );
+          }
+        };
+        return OctokitWithDefaults;
+      }
+      static plugins = [];
+      /**
+       * Attach a plugin (or many) to your Octokit instance.
+       *
+       * @example
+       * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
+       */
+      static plugin(...newPlugins) {
+        const currentPlugins = this.plugins;
+        const NewOctokit = class extends this {
+          static plugins = currentPlugins.concat(
+            newPlugins.filter((plugin) => !currentPlugins.includes(plugin))
+          );
+        };
+        return NewOctokit;
+      }
+      constructor(options = {}) {
+        const hook2 = new before_after_hook_default.Collection();
+        const requestDefaults = {
+          baseUrl: request.endpoint.DEFAULTS.baseUrl,
+          headers: {},
+          request: Object.assign({}, options.request, {
+            // @ts-ignore internal usage only, no need to type
+            hook: hook2.bind(null, "request")
+          }),
+          mediaType: {
+            previews: [],
+            format: ""
+          }
+        };
+        requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
+        if (options.baseUrl) {
+          requestDefaults.baseUrl = options.baseUrl;
+        }
+        if (options.previews) {
+          requestDefaults.mediaType.previews = options.previews;
+        }
+        if (options.timeZone) {
+          requestDefaults.headers["time-zone"] = options.timeZone;
+        }
+        this.request = request.defaults(requestDefaults);
+        this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
+        this.log = createLogger(options.log);
+        this.hook = hook2;
+        if (!options.authStrategy) {
+          if (!options.auth) {
+            this.auth = async () => ({
+              type: "unauthenticated"
+            });
+          } else {
+            const auth2 = createTokenAuth(options.auth);
+            hook2.wrap("request", auth2.hook);
+            this.auth = auth2;
+          }
+        } else {
+          const { authStrategy, ...otherOptions } = options;
+          const auth2 = authStrategy(
+            Object.assign(
+              {
+                request: this.request,
+                log: this.log,
+                // we pass the current octokit instance as well as its constructor options
+                // to allow for authentication strategies that return a new octokit instance
+                // that shares the same internal state as the current one. The original
+                // requirement for this was the "event-octokit" authentication strategy
+                // of https://github.com/probot/octokit-auth-probot.
+                octokit: this,
+                octokitOptions: otherOptions
+              },
+              options.auth
+            )
+          );
+          hook2.wrap("request", auth2.hook);
+          this.auth = auth2;
+        }
+        const classConstructor = this.constructor;
+        for (let i = 0; i < classConstructor.plugins.length; ++i) {
+          Object.assign(this, classConstructor.plugins[i](this, options));
+        }
+      }
+      // assigned during constructor
+      request;
+      graphql;
+      log;
+      hook;
+      // TODO: type `octokit.auth` based on passed options.authStrategy
+      auth;
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
+var VERSION5;
+var init_version2 = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js"() {
+    VERSION5 = "17.0.0";
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js
+var Endpoints, endpoints_default;
+var init_endpoints = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js"() {
+    Endpoints = {
+      actions: {
+        addCustomLabelsToSelfHostedRunnerForOrg: [
+          "POST /orgs/{org}/actions/runners/{runner_id}/labels"
+        ],
+        addCustomLabelsToSelfHostedRunnerForRepo: [
+          "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+        ],
+        addRepoAccessToSelfHostedRunnerGroupInOrg: [
+          "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"
+        ],
+        addSelectedRepoToOrgSecret: [
+          "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
+        ],
+        addSelectedRepoToOrgVariable: [
+          "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
+        ],
+        approveWorkflowRun: [
+          "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"
         ],
         cancelWorkflowRun: [
           "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"
@@ -41644,799 +43137,10551 @@ var init_endpoints = __esm({
           "PATCH /orgs/{org}/secret-scanning/pattern-configurations"
         ]
       },
-      securityAdvisories: {
-        createFork: [
-          "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"
-        ],
-        createPrivateVulnerabilityReport: [
-          "POST /repos/{owner}/{repo}/security-advisories/reports"
-        ],
-        createRepositoryAdvisory: [
-          "POST /repos/{owner}/{repo}/security-advisories"
-        ],
-        createRepositoryAdvisoryCveRequest: [
-          "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"
-        ],
-        getGlobalAdvisory: ["GET /advisories/{ghsa_id}"],
-        getRepositoryAdvisory: [
-          "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
-        ],
-        listGlobalAdvisories: ["GET /advisories"],
-        listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"],
-        listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"],
-        updateRepositoryAdvisory: [
-          "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
-        ]
+      securityAdvisories: {
+        createFork: [
+          "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"
+        ],
+        createPrivateVulnerabilityReport: [
+          "POST /repos/{owner}/{repo}/security-advisories/reports"
+        ],
+        createRepositoryAdvisory: [
+          "POST /repos/{owner}/{repo}/security-advisories"
+        ],
+        createRepositoryAdvisoryCveRequest: [
+          "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"
+        ],
+        getGlobalAdvisory: ["GET /advisories/{ghsa_id}"],
+        getRepositoryAdvisory: [
+          "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
+        ],
+        listGlobalAdvisories: ["GET /advisories"],
+        listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"],
+        listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"],
+        updateRepositoryAdvisory: [
+          "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
+        ]
+      },
+      teams: {
+        addOrUpdateMembershipForUserInOrg: [
+          "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
+        ],
+        addOrUpdateRepoPermissionsInOrg: [
+          "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+        ],
+        checkPermissionsForRepoInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+        ],
+        create: ["POST /orgs/{org}/teams"],
+        createDiscussionCommentInOrg: [
+          "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
+        ],
+        createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
+        deleteDiscussionCommentInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+        ],
+        deleteDiscussionInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+        ],
+        deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
+        getByName: ["GET /orgs/{org}/teams/{team_slug}"],
+        getDiscussionCommentInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+        ],
+        getDiscussionInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+        ],
+        getMembershipForUserInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/memberships/{username}"
+        ],
+        list: ["GET /orgs/{org}/teams"],
+        listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
+        listDiscussionCommentsInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
+        ],
+        listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
+        listForAuthenticatedUser: ["GET /user/teams"],
+        listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
+        listPendingInvitationsInOrg: [
+          "GET /orgs/{org}/teams/{team_slug}/invitations"
+        ],
+        listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
+        removeMembershipForUserInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
+        ],
+        removeRepoInOrg: [
+          "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+        ],
+        updateDiscussionCommentInOrg: [
+          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+        ],
+        updateDiscussionInOrg: [
+          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+        ],
+        updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
+      },
+      users: {
+        addEmailForAuthenticated: [
+          "POST /user/emails",
+          {},
+          { renamed: ["users", "addEmailForAuthenticatedUser"] }
+        ],
+        addEmailForAuthenticatedUser: ["POST /user/emails"],
+        addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"],
+        block: ["PUT /user/blocks/{username}"],
+        checkBlocked: ["GET /user/blocks/{username}"],
+        checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
+        checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
+        createGpgKeyForAuthenticated: [
+          "POST /user/gpg_keys",
+          {},
+          { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }
+        ],
+        createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"],
+        createPublicSshKeyForAuthenticated: [
+          "POST /user/keys",
+          {},
+          { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }
+        ],
+        createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"],
+        createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"],
+        deleteAttestationsBulk: [
+          "POST /users/{username}/attestations/delete-request"
+        ],
+        deleteAttestationsById: [
+          "DELETE /users/{username}/attestations/{attestation_id}"
+        ],
+        deleteAttestationsBySubjectDigest: [
+          "DELETE /users/{username}/attestations/digest/{subject_digest}"
+        ],
+        deleteEmailForAuthenticated: [
+          "DELETE /user/emails",
+          {},
+          { renamed: ["users", "deleteEmailForAuthenticatedUser"] }
+        ],
+        deleteEmailForAuthenticatedUser: ["DELETE /user/emails"],
+        deleteGpgKeyForAuthenticated: [
+          "DELETE /user/gpg_keys/{gpg_key_id}",
+          {},
+          { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }
+        ],
+        deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"],
+        deletePublicSshKeyForAuthenticated: [
+          "DELETE /user/keys/{key_id}",
+          {},
+          { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }
+        ],
+        deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"],
+        deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"],
+        deleteSshSigningKeyForAuthenticatedUser: [
+          "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"
+        ],
+        follow: ["PUT /user/following/{username}"],
+        getAuthenticated: ["GET /user"],
+        getById: ["GET /user/{account_id}"],
+        getByUsername: ["GET /users/{username}"],
+        getContextForUser: ["GET /users/{username}/hovercard"],
+        getGpgKeyForAuthenticated: [
+          "GET /user/gpg_keys/{gpg_key_id}",
+          {},
+          { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }
+        ],
+        getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"],
+        getPublicSshKeyForAuthenticated: [
+          "GET /user/keys/{key_id}",
+          {},
+          { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }
+        ],
+        getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"],
+        getSshSigningKeyForAuthenticatedUser: [
+          "GET /user/ssh_signing_keys/{ssh_signing_key_id}"
+        ],
+        list: ["GET /users"],
+        listAttestations: ["GET /users/{username}/attestations/{subject_digest}"],
+        listAttestationsBulk: [
+          "POST /users/{username}/attestations/bulk-list{?per_page,before,after}"
+        ],
+        listBlockedByAuthenticated: [
+          "GET /user/blocks",
+          {},
+          { renamed: ["users", "listBlockedByAuthenticatedUser"] }
+        ],
+        listBlockedByAuthenticatedUser: ["GET /user/blocks"],
+        listEmailsForAuthenticated: [
+          "GET /user/emails",
+          {},
+          { renamed: ["users", "listEmailsForAuthenticatedUser"] }
+        ],
+        listEmailsForAuthenticatedUser: ["GET /user/emails"],
+        listFollowedByAuthenticated: [
+          "GET /user/following",
+          {},
+          { renamed: ["users", "listFollowedByAuthenticatedUser"] }
+        ],
+        listFollowedByAuthenticatedUser: ["GET /user/following"],
+        listFollowersForAuthenticatedUser: ["GET /user/followers"],
+        listFollowersForUser: ["GET /users/{username}/followers"],
+        listFollowingForUser: ["GET /users/{username}/following"],
+        listGpgKeysForAuthenticated: [
+          "GET /user/gpg_keys",
+          {},
+          { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }
+        ],
+        listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"],
+        listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
+        listPublicEmailsForAuthenticated: [
+          "GET /user/public_emails",
+          {},
+          { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }
+        ],
+        listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"],
+        listPublicKeysForUser: ["GET /users/{username}/keys"],
+        listPublicSshKeysForAuthenticated: [
+          "GET /user/keys",
+          {},
+          { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }
+        ],
+        listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"],
+        listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"],
+        listSocialAccountsForUser: ["GET /users/{username}/social_accounts"],
+        listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"],
+        listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"],
+        setPrimaryEmailVisibilityForAuthenticated: [
+          "PATCH /user/email/visibility",
+          {},
+          { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] }
+        ],
+        setPrimaryEmailVisibilityForAuthenticatedUser: [
+          "PATCH /user/email/visibility"
+        ],
+        unblock: ["DELETE /user/blocks/{username}"],
+        unfollow: ["DELETE /user/following/{username}"],
+        updateAuthenticated: ["PATCH /user"]
+      }
+    };
+    endpoints_default = Endpoints;
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js
+function endpointsToMethods(octokit) {
+  const newMethods = {};
+  for (const scope of endpointMethodsMap.keys()) {
+    newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
+  }
+  return newMethods;
+}
+function decorate(octokit, scope, methodName, defaults, decorations) {
+  const requestWithDefaults = octokit.request.defaults(defaults);
+  function withDecorations(...args) {
+    let options = requestWithDefaults.endpoint.merge(...args);
+    if (decorations.mapToData) {
+      options = Object.assign({}, options, {
+        data: options[decorations.mapToData],
+        [decorations.mapToData]: void 0
+      });
+      return requestWithDefaults(options);
+    }
+    if (decorations.renamed) {
+      const [newScope, newMethodName] = decorations.renamed;
+      octokit.log.warn(
+        `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
+      );
+    }
+    if (decorations.deprecated) {
+      octokit.log.warn(decorations.deprecated);
+    }
+    if (decorations.renamedParameters) {
+      const options2 = requestWithDefaults.endpoint.merge(...args);
+      for (const [name, alias] of Object.entries(
+        decorations.renamedParameters
+      )) {
+        if (name in options2) {
+          octokit.log.warn(
+            `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`
+          );
+          if (!(alias in options2)) {
+            options2[alias] = options2[name];
+          }
+          delete options2[name];
+        }
+      }
+      return requestWithDefaults(options2);
+    }
+    return requestWithDefaults(...args);
+  }
+  return Object.assign(withDecorations, requestWithDefaults);
+}
+var endpointMethodsMap, handler;
+var init_endpoints_to_methods = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js"() {
+    init_endpoints();
+    endpointMethodsMap = /* @__PURE__ */ new Map();
+    for (const [scope, endpoints] of Object.entries(endpoints_default)) {
+      for (const [methodName, endpoint2] of Object.entries(endpoints)) {
+        const [route, defaults, decorations] = endpoint2;
+        const [method, url] = route.split(/ /);
+        const endpointDefaults = Object.assign(
+          {
+            method,
+            url
+          },
+          defaults
+        );
+        if (!endpointMethodsMap.has(scope)) {
+          endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());
+        }
+        endpointMethodsMap.get(scope).set(methodName, {
+          scope,
+          methodName,
+          endpointDefaults,
+          decorations
+        });
+      }
+    }
+    handler = {
+      has({ scope }, methodName) {
+        return endpointMethodsMap.get(scope).has(methodName);
+      },
+      getOwnPropertyDescriptor(target, methodName) {
+        return {
+          value: this.get(target, methodName),
+          // ensures method is in the cache
+          configurable: true,
+          writable: true,
+          enumerable: true
+        };
+      },
+      defineProperty(target, methodName, descriptor) {
+        Object.defineProperty(target.cache, methodName, descriptor);
+        return true;
+      },
+      deleteProperty(target, methodName) {
+        delete target.cache[methodName];
+        return true;
+      },
+      ownKeys({ scope }) {
+        return [...endpointMethodsMap.get(scope).keys()];
+      },
+      set(target, methodName, value) {
+        return target.cache[methodName] = value;
+      },
+      get({ octokit, scope, cache }, methodName) {
+        if (cache[methodName]) {
+          return cache[methodName];
+        }
+        const method = endpointMethodsMap.get(scope).get(methodName);
+        if (!method) {
+          return void 0;
+        }
+        const { endpointDefaults, decorations } = method;
+        if (decorations) {
+          cache[methodName] = decorate(
+            octokit,
+            scope,
+            methodName,
+            endpointDefaults,
+            decorations
+          );
+        } else {
+          cache[methodName] = octokit.request.defaults(endpointDefaults);
+        }
+        return cache[methodName];
+      }
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js
+var dist_src_exports2 = {};
+__export(dist_src_exports2, {
+  legacyRestEndpointMethods: () => legacyRestEndpointMethods,
+  restEndpointMethods: () => restEndpointMethods
+});
+function restEndpointMethods(octokit) {
+  const api = endpointsToMethods(octokit);
+  return {
+    rest: api
+  };
+}
+function legacyRestEndpointMethods(octokit) {
+  const api = endpointsToMethods(octokit);
+  return {
+    ...api,
+    rest: api
+  };
+}
+var init_dist_src3 = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js"() {
+    init_version2();
+    init_endpoints_to_methods();
+    restEndpointMethods.VERSION = VERSION5;
+    legacyRestEndpointMethods.VERSION = VERSION5;
+  }
+});
+
+// node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js
+var dist_bundle_exports = {};
+__export(dist_bundle_exports, {
+  composePaginateRest: () => composePaginateRest,
+  isPaginatingEndpoint: () => isPaginatingEndpoint,
+  paginateRest: () => paginateRest,
+  paginatingEndpoints: () => paginatingEndpoints
+});
+function normalizePaginatedListResponse(response) {
+  if (!response.data) {
+    return {
+      ...response,
+      data: []
+    };
+  }
+  const responseNeedsNormalization = ("total_count" in response.data || "total_commits" in response.data) && !("url" in response.data);
+  if (!responseNeedsNormalization) return response;
+  const incompleteResults = response.data.incomplete_results;
+  const repositorySelection = response.data.repository_selection;
+  const totalCount = response.data.total_count;
+  const totalCommits = response.data.total_commits;
+  delete response.data.incomplete_results;
+  delete response.data.repository_selection;
+  delete response.data.total_count;
+  delete response.data.total_commits;
+  const namespaceKey = Object.keys(response.data)[0];
+  const data = response.data[namespaceKey];
+  response.data = data;
+  if (typeof incompleteResults !== "undefined") {
+    response.data.incomplete_results = incompleteResults;
+  }
+  if (typeof repositorySelection !== "undefined") {
+    response.data.repository_selection = repositorySelection;
+  }
+  response.data.total_count = totalCount;
+  response.data.total_commits = totalCommits;
+  return response;
+}
+function iterator(octokit, route, parameters) {
+  const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
+  const requestMethod = typeof route === "function" ? route : octokit.request;
+  const method = options.method;
+  const headers = options.headers;
+  let url = options.url;
+  return {
+    [Symbol.asyncIterator]: () => ({
+      async next() {
+        if (!url) return { done: true };
+        try {
+          const response = await requestMethod({ method, url, headers });
+          const normalizedResponse = normalizePaginatedListResponse(response);
+          url = ((normalizedResponse.headers.link || "").match(
+            /<([^<>]+)>;\s*rel="next"/
+          ) || [])[1];
+          if (!url && "total_commits" in normalizedResponse.data) {
+            const parsedUrl = new URL(normalizedResponse.url);
+            const params = parsedUrl.searchParams;
+            const page = parseInt(params.get("page") || "1", 10);
+            const per_page = parseInt(params.get("per_page") || "250", 10);
+            if (page * per_page < normalizedResponse.data.total_commits) {
+              params.set("page", String(page + 1));
+              url = parsedUrl.toString();
+            }
+          }
+          return { value: normalizedResponse };
+        } catch (error3) {
+          if (error3.status !== 409) throw error3;
+          url = "";
+          return {
+            value: {
+              status: 200,
+              headers: {},
+              data: []
+            }
+          };
+        }
+      }
+    })
+  };
+}
+function paginate(octokit, route, parameters, mapFn) {
+  if (typeof parameters === "function") {
+    mapFn = parameters;
+    parameters = void 0;
+  }
+  return gather(
+    octokit,
+    [],
+    iterator(octokit, route, parameters)[Symbol.asyncIterator](),
+    mapFn
+  );
+}
+function gather(octokit, results, iterator2, mapFn) {
+  return iterator2.next().then((result) => {
+    if (result.done) {
+      return results;
+    }
+    let earlyExit = false;
+    function done() {
+      earlyExit = true;
+    }
+    results = results.concat(
+      mapFn ? mapFn(result.value, done) : result.value.data
+    );
+    if (earlyExit) {
+      return results;
+    }
+    return gather(octokit, results, iterator2, mapFn);
+  });
+}
+function isPaginatingEndpoint(arg) {
+  if (typeof arg === "string") {
+    return paginatingEndpoints.includes(arg);
+  } else {
+    return false;
+  }
+}
+function paginateRest(octokit) {
+  return {
+    paginate: Object.assign(paginate.bind(null, octokit), {
+      iterator: iterator.bind(null, octokit)
+    })
+  };
+}
+var VERSION6, composePaginateRest, paginatingEndpoints;
+var init_dist_bundle5 = __esm({
+  "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js"() {
+    VERSION6 = "0.0.0-development";
+    composePaginateRest = Object.assign(paginate, {
+      iterator
+    });
+    paginatingEndpoints = [
+      "GET /advisories",
+      "GET /app/hook/deliveries",
+      "GET /app/installation-requests",
+      "GET /app/installations",
+      "GET /assignments/{assignment_id}/accepted_assignments",
+      "GET /classrooms",
+      "GET /classrooms/{classroom_id}/assignments",
+      "GET /enterprises/{enterprise}/code-security/configurations",
+      "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories",
+      "GET /enterprises/{enterprise}/dependabot/alerts",
+      "GET /enterprises/{enterprise}/teams",
+      "GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships",
+      "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations",
+      "GET /events",
+      "GET /gists",
+      "GET /gists/public",
+      "GET /gists/starred",
+      "GET /gists/{gist_id}/comments",
+      "GET /gists/{gist_id}/commits",
+      "GET /gists/{gist_id}/forks",
+      "GET /installation/repositories",
+      "GET /issues",
+      "GET /licenses",
+      "GET /marketplace_listing/plans",
+      "GET /marketplace_listing/plans/{plan_id}/accounts",
+      "GET /marketplace_listing/stubbed/plans",
+      "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts",
+      "GET /networks/{owner}/{repo}/events",
+      "GET /notifications",
+      "GET /organizations",
+      "GET /organizations/{org}/dependabot/repository-access",
+      "GET /orgs/{org}/actions/cache/usage-by-repository",
+      "GET /orgs/{org}/actions/hosted-runners",
+      "GET /orgs/{org}/actions/permissions/repositories",
+      "GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories",
+      "GET /orgs/{org}/actions/runner-groups",
+      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners",
+      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories",
+      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners",
+      "GET /orgs/{org}/actions/runners",
+      "GET /orgs/{org}/actions/secrets",
+      "GET /orgs/{org}/actions/secrets/{secret_name}/repositories",
+      "GET /orgs/{org}/actions/variables",
+      "GET /orgs/{org}/actions/variables/{name}/repositories",
+      "GET /orgs/{org}/attestations/repositories",
+      "GET /orgs/{org}/attestations/{subject_digest}",
+      "GET /orgs/{org}/blocks",
+      "GET /orgs/{org}/campaigns",
+      "GET /orgs/{org}/code-scanning/alerts",
+      "GET /orgs/{org}/code-security/configurations",
+      "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories",
+      "GET /orgs/{org}/codespaces",
+      "GET /orgs/{org}/codespaces/secrets",
+      "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories",
+      "GET /orgs/{org}/copilot/billing/seats",
+      "GET /orgs/{org}/copilot/metrics",
+      "GET /orgs/{org}/dependabot/alerts",
+      "GET /orgs/{org}/dependabot/secrets",
+      "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories",
+      "GET /orgs/{org}/events",
+      "GET /orgs/{org}/failed_invitations",
+      "GET /orgs/{org}/hooks",
+      "GET /orgs/{org}/hooks/{hook_id}/deliveries",
+      "GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}",
+      "GET /orgs/{org}/insights/api/subject-stats",
+      "GET /orgs/{org}/insights/api/user-stats/{user_id}",
+      "GET /orgs/{org}/installations",
+      "GET /orgs/{org}/invitations",
+      "GET /orgs/{org}/invitations/{invitation_id}/teams",
+      "GET /orgs/{org}/issues",
+      "GET /orgs/{org}/members",
+      "GET /orgs/{org}/members/{username}/codespaces",
+      "GET /orgs/{org}/migrations",
+      "GET /orgs/{org}/migrations/{migration_id}/repositories",
+      "GET /orgs/{org}/organization-roles/{role_id}/teams",
+      "GET /orgs/{org}/organization-roles/{role_id}/users",
+      "GET /orgs/{org}/outside_collaborators",
+      "GET /orgs/{org}/packages",
+      "GET /orgs/{org}/packages/{package_type}/{package_name}/versions",
+      "GET /orgs/{org}/personal-access-token-requests",
+      "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories",
+      "GET /orgs/{org}/personal-access-tokens",
+      "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories",
+      "GET /orgs/{org}/private-registries",
+      "GET /orgs/{org}/projects",
+      "GET /orgs/{org}/projectsV2",
+      "GET /orgs/{org}/projectsV2/{project_number}/fields",
+      "GET /orgs/{org}/projectsV2/{project_number}/items",
+      "GET /orgs/{org}/properties/values",
+      "GET /orgs/{org}/public_members",
+      "GET /orgs/{org}/repos",
+      "GET /orgs/{org}/rulesets",
+      "GET /orgs/{org}/rulesets/rule-suites",
+      "GET /orgs/{org}/rulesets/{ruleset_id}/history",
+      "GET /orgs/{org}/secret-scanning/alerts",
+      "GET /orgs/{org}/security-advisories",
+      "GET /orgs/{org}/settings/immutable-releases/repositories",
+      "GET /orgs/{org}/settings/network-configurations",
+      "GET /orgs/{org}/team/{team_slug}/copilot/metrics",
+      "GET /orgs/{org}/teams",
+      "GET /orgs/{org}/teams/{team_slug}/discussions",
+      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments",
+      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",
+      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",
+      "GET /orgs/{org}/teams/{team_slug}/invitations",
+      "GET /orgs/{org}/teams/{team_slug}/members",
+      "GET /orgs/{org}/teams/{team_slug}/projects",
+      "GET /orgs/{org}/teams/{team_slug}/repos",
+      "GET /orgs/{org}/teams/{team_slug}/teams",
+      "GET /projects/{project_id}/collaborators",
+      "GET /repos/{owner}/{repo}/actions/artifacts",
+      "GET /repos/{owner}/{repo}/actions/caches",
+      "GET /repos/{owner}/{repo}/actions/organization-secrets",
+      "GET /repos/{owner}/{repo}/actions/organization-variables",
+      "GET /repos/{owner}/{repo}/actions/runners",
+      "GET /repos/{owner}/{repo}/actions/runs",
+      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts",
+      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs",
+      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs",
+      "GET /repos/{owner}/{repo}/actions/secrets",
+      "GET /repos/{owner}/{repo}/actions/variables",
+      "GET /repos/{owner}/{repo}/actions/workflows",
+      "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs",
+      "GET /repos/{owner}/{repo}/activity",
+      "GET /repos/{owner}/{repo}/assignees",
+      "GET /repos/{owner}/{repo}/attestations/{subject_digest}",
+      "GET /repos/{owner}/{repo}/branches",
+      "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations",
+      "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs",
+      "GET /repos/{owner}/{repo}/code-scanning/alerts",
+      "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
+      "GET /repos/{owner}/{repo}/code-scanning/analyses",
+      "GET /repos/{owner}/{repo}/codespaces",
+      "GET /repos/{owner}/{repo}/codespaces/devcontainers",
+      "GET /repos/{owner}/{repo}/codespaces/secrets",
+      "GET /repos/{owner}/{repo}/collaborators",
+      "GET /repos/{owner}/{repo}/comments",
+      "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/commits",
+      "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments",
+      "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls",
+      "GET /repos/{owner}/{repo}/commits/{ref}/check-runs",
+      "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
+      "GET /repos/{owner}/{repo}/commits/{ref}/status",
+      "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
+      "GET /repos/{owner}/{repo}/compare/{basehead}",
+      "GET /repos/{owner}/{repo}/compare/{base}...{head}",
+      "GET /repos/{owner}/{repo}/contributors",
+      "GET /repos/{owner}/{repo}/dependabot/alerts",
+      "GET /repos/{owner}/{repo}/dependabot/secrets",
+      "GET /repos/{owner}/{repo}/deployments",
+      "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses",
+      "GET /repos/{owner}/{repo}/environments",
+      "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies",
+      "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps",
+      "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets",
+      "GET /repos/{owner}/{repo}/environments/{environment_name}/variables",
+      "GET /repos/{owner}/{repo}/events",
+      "GET /repos/{owner}/{repo}/forks",
+      "GET /repos/{owner}/{repo}/hooks",
+      "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries",
+      "GET /repos/{owner}/{repo}/invitations",
+      "GET /repos/{owner}/{repo}/issues",
+      "GET /repos/{owner}/{repo}/issues/comments",
+      "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/issues/events",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/comments",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/events",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/labels",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues",
+      "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline",
+      "GET /repos/{owner}/{repo}/keys",
+      "GET /repos/{owner}/{repo}/labels",
+      "GET /repos/{owner}/{repo}/milestones",
+      "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels",
+      "GET /repos/{owner}/{repo}/notifications",
+      "GET /repos/{owner}/{repo}/pages/builds",
+      "GET /repos/{owner}/{repo}/projects",
+      "GET /repos/{owner}/{repo}/pulls",
+      "GET /repos/{owner}/{repo}/pulls/comments",
+      "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/files",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews",
+      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments",
+      "GET /repos/{owner}/{repo}/releases",
+      "GET /repos/{owner}/{repo}/releases/{release_id}/assets",
+      "GET /repos/{owner}/{repo}/releases/{release_id}/reactions",
+      "GET /repos/{owner}/{repo}/rules/branches/{branch}",
+      "GET /repos/{owner}/{repo}/rulesets",
+      "GET /repos/{owner}/{repo}/rulesets/rule-suites",
+      "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history",
+      "GET /repos/{owner}/{repo}/secret-scanning/alerts",
+      "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations",
+      "GET /repos/{owner}/{repo}/security-advisories",
+      "GET /repos/{owner}/{repo}/stargazers",
+      "GET /repos/{owner}/{repo}/subscribers",
+      "GET /repos/{owner}/{repo}/tags",
+      "GET /repos/{owner}/{repo}/teams",
+      "GET /repos/{owner}/{repo}/topics",
+      "GET /repositories",
+      "GET /search/code",
+      "GET /search/commits",
+      "GET /search/issues",
+      "GET /search/labels",
+      "GET /search/repositories",
+      "GET /search/topics",
+      "GET /search/users",
+      "GET /teams/{team_id}/discussions",
+      "GET /teams/{team_id}/discussions/{discussion_number}/comments",
+      "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",
+      "GET /teams/{team_id}/discussions/{discussion_number}/reactions",
+      "GET /teams/{team_id}/invitations",
+      "GET /teams/{team_id}/members",
+      "GET /teams/{team_id}/projects",
+      "GET /teams/{team_id}/repos",
+      "GET /teams/{team_id}/teams",
+      "GET /user/blocks",
+      "GET /user/codespaces",
+      "GET /user/codespaces/secrets",
+      "GET /user/emails",
+      "GET /user/followers",
+      "GET /user/following",
+      "GET /user/gpg_keys",
+      "GET /user/installations",
+      "GET /user/installations/{installation_id}/repositories",
+      "GET /user/issues",
+      "GET /user/keys",
+      "GET /user/marketplace_purchases",
+      "GET /user/marketplace_purchases/stubbed",
+      "GET /user/memberships/orgs",
+      "GET /user/migrations",
+      "GET /user/migrations/{migration_id}/repositories",
+      "GET /user/orgs",
+      "GET /user/packages",
+      "GET /user/packages/{package_type}/{package_name}/versions",
+      "GET /user/public_emails",
+      "GET /user/repos",
+      "GET /user/repository_invitations",
+      "GET /user/social_accounts",
+      "GET /user/ssh_signing_keys",
+      "GET /user/starred",
+      "GET /user/subscriptions",
+      "GET /user/teams",
+      "GET /users",
+      "GET /users/{username}/attestations/{subject_digest}",
+      "GET /users/{username}/events",
+      "GET /users/{username}/events/orgs/{org}",
+      "GET /users/{username}/events/public",
+      "GET /users/{username}/followers",
+      "GET /users/{username}/following",
+      "GET /users/{username}/gists",
+      "GET /users/{username}/gpg_keys",
+      "GET /users/{username}/keys",
+      "GET /users/{username}/orgs",
+      "GET /users/{username}/packages",
+      "GET /users/{username}/projects",
+      "GET /users/{username}/projectsV2",
+      "GET /users/{username}/projectsV2/{project_number}/fields",
+      "GET /users/{username}/projectsV2/{project_number}/items",
+      "GET /users/{username}/received_events",
+      "GET /users/{username}/received_events/public",
+      "GET /users/{username}/repos",
+      "GET /users/{username}/social_accounts",
+      "GET /users/{username}/ssh_signing_keys",
+      "GET /users/{username}/starred",
+      "GET /users/{username}/subscriptions"
+    ];
+    paginateRest.VERSION = VERSION6;
+  }
+});
+
+// node_modules/@actions/github/lib/utils.js
+var require_utils5 = __commonJS({
+  "node_modules/@actions/github/lib/utils.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GitHub = exports2.defaults = exports2.context = void 0;
+    exports2.getOctokitOptions = getOctokitOptions2;
+    var Context = __importStar2(require_context());
+    var Utils = __importStar2(require_utils4());
+    var core_1 = (init_dist_src2(), __toCommonJS(dist_src_exports));
+    var plugin_rest_endpoint_methods_1 = (init_dist_src3(), __toCommonJS(dist_src_exports2));
+    var plugin_paginate_rest_1 = (init_dist_bundle5(), __toCommonJS(dist_bundle_exports));
+    exports2.context = new Context.Context();
+    var baseUrl = Utils.getApiBaseUrl();
+    exports2.defaults = {
+      baseUrl,
+      request: {
+        agent: Utils.getProxyAgent(baseUrl),
+        fetch: Utils.getProxyFetch(baseUrl)
+      }
+    };
+    exports2.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports2.defaults);
+    function getOctokitOptions2(token, options) {
+      const opts = Object.assign({}, options || {});
+      const auth2 = Utils.getAuthString(token, opts);
+      if (auth2) {
+        opts.auth = auth2;
+      }
+      return opts;
+    }
+  }
+});
+
+// node_modules/@actions/github/lib/github.js
+var require_github = __commonJS({
+  "node_modules/@actions/github/lib/github.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
+      var ownKeys2 = function(o) {
+        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
+          var ar = [];
+          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+          return ar;
+        };
+        return ownKeys2(o);
+      };
+      return function(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) {
+          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
+        }
+        __setModuleDefault2(result, mod);
+        return result;
+      };
+    })();
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.context = void 0;
+    exports2.getOctokit = getOctokit;
+    var Context = __importStar2(require_context());
+    var utils_1 = require_utils5();
+    exports2.context = new Context.Context();
+    function getOctokit(token, options, ...additionalPlugins) {
+      const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
+      return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options));
+    }
+  }
+});
+
+// node_modules/semver/internal/constants.js
+var require_constants11 = __commonJS({
+  "node_modules/semver/internal/constants.js"(exports2, module2) {
+    "use strict";
+    var SEMVER_SPEC_VERSION = "2.0.0";
+    var MAX_LENGTH = 256;
+    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
+    9007199254740991;
+    var MAX_SAFE_COMPONENT_LENGTH = 16;
+    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
+    var RELEASE_TYPES = [
+      "major",
+      "premajor",
+      "minor",
+      "preminor",
+      "patch",
+      "prepatch",
+      "prerelease"
+    ];
+    module2.exports = {
+      MAX_LENGTH,
+      MAX_SAFE_COMPONENT_LENGTH,
+      MAX_SAFE_BUILD_LENGTH,
+      MAX_SAFE_INTEGER,
+      RELEASE_TYPES,
+      SEMVER_SPEC_VERSION,
+      FLAG_INCLUDE_PRERELEASE: 1,
+      FLAG_LOOSE: 2
+    };
+  }
+});
+
+// node_modules/semver/internal/debug.js
+var require_debug = __commonJS({
+  "node_modules/semver/internal/debug.js"(exports2, module2) {
+    "use strict";
+    var debug4 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
+    };
+    module2.exports = debug4;
+  }
+});
+
+// node_modules/semver/internal/re.js
+var require_re = __commonJS({
+  "node_modules/semver/internal/re.js"(exports2, module2) {
+    "use strict";
+    var {
+      MAX_SAFE_COMPONENT_LENGTH,
+      MAX_SAFE_BUILD_LENGTH,
+      MAX_LENGTH
+    } = require_constants11();
+    var debug4 = require_debug();
+    exports2 = module2.exports = {};
+    var re = exports2.re = [];
+    var safeRe = exports2.safeRe = [];
+    var src = exports2.src = [];
+    var safeSrc = exports2.safeSrc = [];
+    var t = exports2.t = {};
+    var R = 0;
+    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
+    var safeRegexReplacements = [
+      ["\\s", 1],
+      ["\\d", MAX_LENGTH],
+      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
+    ];
+    var makeSafeRegex = (value) => {
+      for (const [token, max] of safeRegexReplacements) {
+        value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
+      }
+      return value;
+    };
+    var createToken = (name, value, isGlobal) => {
+      const safe = makeSafeRegex(value);
+      const index = R++;
+      debug4(name, index, value);
+      t[name] = index;
+      src[index] = value;
+      safeSrc[index] = safe;
+      re[index] = new RegExp(value, isGlobal ? "g" : void 0);
+      safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
+    };
+    createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
+    createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
+    createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
+    createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
+    createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
+    createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
+    createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
+    createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
+    createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
+    createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
+    createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
+    createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
+    createToken("FULL", `^${src[t.FULLPLAIN]}$`);
+    createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
+    createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
+    createToken("GTLT", "((?:<|>)?=?)");
+    createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
+    createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
+    createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
+    createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
+    createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
+    createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
+    createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
+    createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
+    createToken("COERCERTL", src[t.COERCE], true);
+    createToken("COERCERTLFULL", src[t.COERCEFULL], true);
+    createToken("LONETILDE", "(?:~>?)");
+    createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
+    exports2.tildeTrimReplace = "$1~";
+    createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
+    createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("LONECARET", "(?:\\^)");
+    createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
+    exports2.caretTrimReplace = "$1^";
+    createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
+    createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
+    createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
+    createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
+    createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
+    exports2.comparatorTrimReplace = "$1$2$3";
+    createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
+    createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
+    createToken("STAR", "(<|>)?=?\\s*\\*");
+    createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
+    createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
+  }
+});
+
+// node_modules/semver/internal/parse-options.js
+var require_parse_options = __commonJS({
+  "node_modules/semver/internal/parse-options.js"(exports2, module2) {
+    "use strict";
+    var looseOption = Object.freeze({ loose: true });
+    var emptyOpts = Object.freeze({});
+    var parseOptions = (options) => {
+      if (!options) {
+        return emptyOpts;
+      }
+      if (typeof options !== "object") {
+        return looseOption;
+      }
+      return options;
+    };
+    module2.exports = parseOptions;
+  }
+});
+
+// node_modules/semver/internal/identifiers.js
+var require_identifiers = __commonJS({
+  "node_modules/semver/internal/identifiers.js"(exports2, module2) {
+    "use strict";
+    var numeric = /^[0-9]+$/;
+    var compareIdentifiers = (a, b) => {
+      if (typeof a === "number" && typeof b === "number") {
+        return a === b ? 0 : a < b ? -1 : 1;
+      }
+      const anum = numeric.test(a);
+      const bnum = numeric.test(b);
+      if (anum && bnum) {
+        a = +a;
+        b = +b;
+      }
+      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
+    };
+    var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
+    module2.exports = {
+      compareIdentifiers,
+      rcompareIdentifiers
+    };
+  }
+});
+
+// node_modules/semver/classes/semver.js
+var require_semver = __commonJS({
+  "node_modules/semver/classes/semver.js"(exports2, module2) {
+    "use strict";
+    var debug4 = require_debug();
+    var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants11();
+    var { safeRe: re, t } = require_re();
+    var parseOptions = require_parse_options();
+    var { compareIdentifiers } = require_identifiers();
+    var SemVer = class _SemVer {
+      constructor(version, options) {
+        options = parseOptions(options);
+        if (version instanceof _SemVer) {
+          if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
+            return version;
+          } else {
+            version = version.version;
+          }
+        } else if (typeof version !== "string") {
+          throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);
+        }
+        if (version.length > MAX_LENGTH) {
+          throw new TypeError(
+            `version is longer than ${MAX_LENGTH} characters`
+          );
+        }
+        debug4("SemVer", version, options);
+        this.options = options;
+        this.loose = !!options.loose;
+        this.includePrerelease = !!options.includePrerelease;
+        const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
+        if (!m) {
+          throw new TypeError(`Invalid Version: ${version}`);
+        }
+        this.raw = version;
+        this.major = +m[1];
+        this.minor = +m[2];
+        this.patch = +m[3];
+        if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
+          throw new TypeError("Invalid major version");
+        }
+        if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
+          throw new TypeError("Invalid minor version");
+        }
+        if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
+          throw new TypeError("Invalid patch version");
+        }
+        if (!m[4]) {
+          this.prerelease = [];
+        } else {
+          this.prerelease = m[4].split(".").map((id) => {
+            if (/^[0-9]+$/.test(id)) {
+              const num = +id;
+              if (num >= 0 && num < MAX_SAFE_INTEGER) {
+                return num;
+              }
+            }
+            return id;
+          });
+        }
+        this.build = m[5] ? m[5].split(".") : [];
+        this.format();
+      }
+      format() {
+        this.version = `${this.major}.${this.minor}.${this.patch}`;
+        if (this.prerelease.length) {
+          this.version += `-${this.prerelease.join(".")}`;
+        }
+        return this.version;
+      }
+      toString() {
+        return this.version;
+      }
+      compare(other) {
+        debug4("SemVer.compare", this.version, this.options, other);
+        if (!(other instanceof _SemVer)) {
+          if (typeof other === "string" && other === this.version) {
+            return 0;
+          }
+          other = new _SemVer(other, this.options);
+        }
+        if (other.version === this.version) {
+          return 0;
+        }
+        return this.compareMain(other) || this.comparePre(other);
+      }
+      compareMain(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        if (this.major < other.major) {
+          return -1;
+        }
+        if (this.major > other.major) {
+          return 1;
+        }
+        if (this.minor < other.minor) {
+          return -1;
+        }
+        if (this.minor > other.minor) {
+          return 1;
+        }
+        if (this.patch < other.patch) {
+          return -1;
+        }
+        if (this.patch > other.patch) {
+          return 1;
+        }
+        return 0;
+      }
+      comparePre(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        if (this.prerelease.length && !other.prerelease.length) {
+          return -1;
+        } else if (!this.prerelease.length && other.prerelease.length) {
+          return 1;
+        } else if (!this.prerelease.length && !other.prerelease.length) {
+          return 0;
+        }
+        let i = 0;
+        do {
+          const a = this.prerelease[i];
+          const b = other.prerelease[i];
+          debug4("prerelease compare", i, a, b);
+          if (a === void 0 && b === void 0) {
+            return 0;
+          } else if (b === void 0) {
+            return 1;
+          } else if (a === void 0) {
+            return -1;
+          } else if (a === b) {
+            continue;
+          } else {
+            return compareIdentifiers(a, b);
+          }
+        } while (++i);
+      }
+      compareBuild(other) {
+        if (!(other instanceof _SemVer)) {
+          other = new _SemVer(other, this.options);
+        }
+        let i = 0;
+        do {
+          const a = this.build[i];
+          const b = other.build[i];
+          debug4("build compare", i, a, b);
+          if (a === void 0 && b === void 0) {
+            return 0;
+          } else if (b === void 0) {
+            return 1;
+          } else if (a === void 0) {
+            return -1;
+          } else if (a === b) {
+            continue;
+          } else {
+            return compareIdentifiers(a, b);
+          }
+        } while (++i);
+      }
+      // preminor will bump the version up to the next minor release, and immediately
+      // down to pre-release. premajor and prepatch work the same way.
+      inc(release, identifier, identifierBase) {
+        if (release.startsWith("pre")) {
+          if (!identifier && identifierBase === false) {
+            throw new Error("invalid increment argument: identifier is empty");
+          }
+          if (identifier) {
+            const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
+            if (!match || match[1] !== identifier) {
+              throw new Error(`invalid identifier: ${identifier}`);
+            }
+          }
+        }
+        switch (release) {
+          case "premajor":
+            this.prerelease.length = 0;
+            this.patch = 0;
+            this.minor = 0;
+            this.major++;
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "preminor":
+            this.prerelease.length = 0;
+            this.patch = 0;
+            this.minor++;
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "prepatch":
+            this.prerelease.length = 0;
+            this.inc("patch", identifier, identifierBase);
+            this.inc("pre", identifier, identifierBase);
+            break;
+          // If the input is a non-prerelease version, this acts the same as
+          // prepatch.
+          case "prerelease":
+            if (this.prerelease.length === 0) {
+              this.inc("patch", identifier, identifierBase);
+            }
+            this.inc("pre", identifier, identifierBase);
+            break;
+          case "release":
+            if (this.prerelease.length === 0) {
+              throw new Error(`version ${this.raw} is not a prerelease`);
+            }
+            this.prerelease.length = 0;
+            break;
+          case "major":
+            if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
+              this.major++;
+            }
+            this.minor = 0;
+            this.patch = 0;
+            this.prerelease = [];
+            break;
+          case "minor":
+            if (this.patch !== 0 || this.prerelease.length === 0) {
+              this.minor++;
+            }
+            this.patch = 0;
+            this.prerelease = [];
+            break;
+          case "patch":
+            if (this.prerelease.length === 0) {
+              this.patch++;
+            }
+            this.prerelease = [];
+            break;
+          // This probably shouldn't be used publicly.
+          // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
+          case "pre": {
+            const base = Number(identifierBase) ? 1 : 0;
+            if (this.prerelease.length === 0) {
+              this.prerelease = [base];
+            } else {
+              let i = this.prerelease.length;
+              while (--i >= 0) {
+                if (typeof this.prerelease[i] === "number") {
+                  this.prerelease[i]++;
+                  i = -2;
+                }
+              }
+              if (i === -1) {
+                if (identifier === this.prerelease.join(".") && identifierBase === false) {
+                  throw new Error("invalid increment argument: identifier already exists");
+                }
+                this.prerelease.push(base);
+              }
+            }
+            if (identifier) {
+              let prerelease = [identifier, base];
+              if (identifierBase === false) {
+                prerelease = [identifier];
+              }
+              if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
+                if (isNaN(this.prerelease[1])) {
+                  this.prerelease = prerelease;
+                }
+              } else {
+                this.prerelease = prerelease;
+              }
+            }
+            break;
+          }
+          default:
+            throw new Error(`invalid increment argument: ${release}`);
+        }
+        this.raw = this.format();
+        if (this.build.length) {
+          this.raw += `+${this.build.join(".")}`;
+        }
+        return this;
+      }
+    };
+    module2.exports = SemVer;
+  }
+});
+
+// node_modules/semver/functions/parse.js
+var require_parse3 = __commonJS({
+  "node_modules/semver/functions/parse.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var parse2 = (version, options, throwErrors = false) => {
+      if (version instanceof SemVer) {
+        return version;
+      }
+      try {
+        return new SemVer(version, options);
+      } catch (er) {
+        if (!throwErrors) {
+          return null;
+        }
+        throw er;
+      }
+    };
+    module2.exports = parse2;
+  }
+});
+
+// node_modules/semver/functions/valid.js
+var require_valid = __commonJS({
+  "node_modules/semver/functions/valid.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var valid3 = (version, options) => {
+      const v = parse2(version, options);
+      return v ? v.version : null;
+    };
+    module2.exports = valid3;
+  }
+});
+
+// node_modules/semver/functions/clean.js
+var require_clean = __commonJS({
+  "node_modules/semver/functions/clean.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var clean3 = (version, options) => {
+      const s = parse2(version.trim().replace(/^[=v]+/, ""), options);
+      return s ? s.version : null;
+    };
+    module2.exports = clean3;
+  }
+});
+
+// node_modules/semver/functions/inc.js
+var require_inc = __commonJS({
+  "node_modules/semver/functions/inc.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var inc = (version, release, options, identifier, identifierBase) => {
+      if (typeof options === "string") {
+        identifierBase = identifier;
+        identifier = options;
+        options = void 0;
+      }
+      try {
+        return new SemVer(
+          version instanceof SemVer ? version.version : version,
+          options
+        ).inc(release, identifier, identifierBase).version;
+      } catch (er) {
+        return null;
+      }
+    };
+    module2.exports = inc;
+  }
+});
+
+// node_modules/semver/functions/diff.js
+var require_diff = __commonJS({
+  "node_modules/semver/functions/diff.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var diff = (version1, version2) => {
+      const v1 = parse2(version1, null, true);
+      const v2 = parse2(version2, null, true);
+      const comparison = v1.compare(v2);
+      if (comparison === 0) {
+        return null;
+      }
+      const v1Higher = comparison > 0;
+      const highVersion = v1Higher ? v1 : v2;
+      const lowVersion = v1Higher ? v2 : v1;
+      const highHasPre = !!highVersion.prerelease.length;
+      const lowHasPre = !!lowVersion.prerelease.length;
+      if (lowHasPre && !highHasPre) {
+        if (!lowVersion.patch && !lowVersion.minor) {
+          return "major";
+        }
+        if (lowVersion.compareMain(highVersion) === 0) {
+          if (lowVersion.minor && !lowVersion.patch) {
+            return "minor";
+          }
+          return "patch";
+        }
+      }
+      const prefix = highHasPre ? "pre" : "";
+      if (v1.major !== v2.major) {
+        return prefix + "major";
+      }
+      if (v1.minor !== v2.minor) {
+        return prefix + "minor";
+      }
+      if (v1.patch !== v2.patch) {
+        return prefix + "patch";
+      }
+      return "prerelease";
+    };
+    module2.exports = diff;
+  }
+});
+
+// node_modules/semver/functions/major.js
+var require_major = __commonJS({
+  "node_modules/semver/functions/major.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var major = (a, loose) => new SemVer(a, loose).major;
+    module2.exports = major;
+  }
+});
+
+// node_modules/semver/functions/minor.js
+var require_minor = __commonJS({
+  "node_modules/semver/functions/minor.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var minor = (a, loose) => new SemVer(a, loose).minor;
+    module2.exports = minor;
+  }
+});
+
+// node_modules/semver/functions/patch.js
+var require_patch = __commonJS({
+  "node_modules/semver/functions/patch.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var patch = (a, loose) => new SemVer(a, loose).patch;
+    module2.exports = patch;
+  }
+});
+
+// node_modules/semver/functions/prerelease.js
+var require_prerelease = __commonJS({
+  "node_modules/semver/functions/prerelease.js"(exports2, module2) {
+    "use strict";
+    var parse2 = require_parse3();
+    var prerelease = (version, options) => {
+      const parsed = parse2(version, options);
+      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
+    };
+    module2.exports = prerelease;
+  }
+});
+
+// node_modules/semver/functions/compare.js
+var require_compare = __commonJS({
+  "node_modules/semver/functions/compare.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var compare2 = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
+    module2.exports = compare2;
+  }
+});
+
+// node_modules/semver/functions/rcompare.js
+var require_rcompare = __commonJS({
+  "node_modules/semver/functions/rcompare.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var rcompare = (a, b, loose) => compare2(b, a, loose);
+    module2.exports = rcompare;
+  }
+});
+
+// node_modules/semver/functions/compare-loose.js
+var require_compare_loose = __commonJS({
+  "node_modules/semver/functions/compare-loose.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var compareLoose = (a, b) => compare2(a, b, true);
+    module2.exports = compareLoose;
+  }
+});
+
+// node_modules/semver/functions/compare-build.js
+var require_compare_build = __commonJS({
+  "node_modules/semver/functions/compare-build.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var compareBuild = (a, b, loose) => {
+      const versionA = new SemVer(a, loose);
+      const versionB = new SemVer(b, loose);
+      return versionA.compare(versionB) || versionA.compareBuild(versionB);
+    };
+    module2.exports = compareBuild;
+  }
+});
+
+// node_modules/semver/functions/sort.js
+var require_sort = __commonJS({
+  "node_modules/semver/functions/sort.js"(exports2, module2) {
+    "use strict";
+    var compareBuild = require_compare_build();
+    var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
+    module2.exports = sort;
+  }
+});
+
+// node_modules/semver/functions/rsort.js
+var require_rsort = __commonJS({
+  "node_modules/semver/functions/rsort.js"(exports2, module2) {
+    "use strict";
+    var compareBuild = require_compare_build();
+    var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
+    module2.exports = rsort;
+  }
+});
+
+// node_modules/semver/functions/gt.js
+var require_gt = __commonJS({
+  "node_modules/semver/functions/gt.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var gt = (a, b, loose) => compare2(a, b, loose) > 0;
+    module2.exports = gt;
+  }
+});
+
+// node_modules/semver/functions/lt.js
+var require_lt = __commonJS({
+  "node_modules/semver/functions/lt.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var lt = (a, b, loose) => compare2(a, b, loose) < 0;
+    module2.exports = lt;
+  }
+});
+
+// node_modules/semver/functions/eq.js
+var require_eq = __commonJS({
+  "node_modules/semver/functions/eq.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var eq = (a, b, loose) => compare2(a, b, loose) === 0;
+    module2.exports = eq;
+  }
+});
+
+// node_modules/semver/functions/neq.js
+var require_neq = __commonJS({
+  "node_modules/semver/functions/neq.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var neq = (a, b, loose) => compare2(a, b, loose) !== 0;
+    module2.exports = neq;
+  }
+});
+
+// node_modules/semver/functions/gte.js
+var require_gte = __commonJS({
+  "node_modules/semver/functions/gte.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
+    module2.exports = gte6;
+  }
+});
+
+// node_modules/semver/functions/lte.js
+var require_lte = __commonJS({
+  "node_modules/semver/functions/lte.js"(exports2, module2) {
+    "use strict";
+    var compare2 = require_compare();
+    var lte = (a, b, loose) => compare2(a, b, loose) <= 0;
+    module2.exports = lte;
+  }
+});
+
+// node_modules/semver/functions/cmp.js
+var require_cmp = __commonJS({
+  "node_modules/semver/functions/cmp.js"(exports2, module2) {
+    "use strict";
+    var eq = require_eq();
+    var neq = require_neq();
+    var gt = require_gt();
+    var gte6 = require_gte();
+    var lt = require_lt();
+    var lte = require_lte();
+    var cmp = (a, op, b, loose) => {
+      switch (op) {
+        case "===":
+          if (typeof a === "object") {
+            a = a.version;
+          }
+          if (typeof b === "object") {
+            b = b.version;
+          }
+          return a === b;
+        case "!==":
+          if (typeof a === "object") {
+            a = a.version;
+          }
+          if (typeof b === "object") {
+            b = b.version;
+          }
+          return a !== b;
+        case "":
+        case "=":
+        case "==":
+          return eq(a, b, loose);
+        case "!=":
+          return neq(a, b, loose);
+        case ">":
+          return gt(a, b, loose);
+        case ">=":
+          return gte6(a, b, loose);
+        case "<":
+          return lt(a, b, loose);
+        case "<=":
+          return lte(a, b, loose);
+        default:
+          throw new TypeError(`Invalid operator: ${op}`);
+      }
+    };
+    module2.exports = cmp;
+  }
+});
+
+// node_modules/semver/functions/coerce.js
+var require_coerce = __commonJS({
+  "node_modules/semver/functions/coerce.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var parse2 = require_parse3();
+    var { safeRe: re, t } = require_re();
+    var coerce3 = (version, options) => {
+      if (version instanceof SemVer) {
+        return version;
+      }
+      if (typeof version === "number") {
+        version = String(version);
+      }
+      if (typeof version !== "string") {
+        return null;
+      }
+      options = options || {};
+      let match = null;
+      if (!options.rtl) {
+        match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
+      } else {
+        const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
+        let next;
+        while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
+          if (!match || next.index + next[0].length !== match.index + match[0].length) {
+            match = next;
+          }
+          coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
+        }
+        coerceRtlRegex.lastIndex = -1;
+      }
+      if (match === null) {
+        return null;
+      }
+      const major = match[2];
+      const minor = match[3] || "0";
+      const patch = match[4] || "0";
+      const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
+      const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
+      return parse2(`${major}.${minor}.${patch}${prerelease}${build}`, options);
+    };
+    module2.exports = coerce3;
+  }
+});
+
+// node_modules/semver/internal/lrucache.js
+var require_lrucache = __commonJS({
+  "node_modules/semver/internal/lrucache.js"(exports2, module2) {
+    "use strict";
+    var LRUCache = class {
+      constructor() {
+        this.max = 1e3;
+        this.map = /* @__PURE__ */ new Map();
+      }
+      get(key) {
+        const value = this.map.get(key);
+        if (value === void 0) {
+          return void 0;
+        } else {
+          this.map.delete(key);
+          this.map.set(key, value);
+          return value;
+        }
+      }
+      delete(key) {
+        return this.map.delete(key);
+      }
+      set(key, value) {
+        const deleted = this.delete(key);
+        if (!deleted && value !== void 0) {
+          if (this.map.size >= this.max) {
+            const firstKey = this.map.keys().next().value;
+            this.delete(firstKey);
+          }
+          this.map.set(key, value);
+        }
+        return this;
+      }
+    };
+    module2.exports = LRUCache;
+  }
+});
+
+// node_modules/semver/classes/range.js
+var require_range = __commonJS({
+  "node_modules/semver/classes/range.js"(exports2, module2) {
+    "use strict";
+    var SPACE_CHARACTERS = /\s+/g;
+    var Range2 = class _Range {
+      constructor(range, options) {
+        options = parseOptions(options);
+        if (range instanceof _Range) {
+          if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
+            return range;
+          } else {
+            return new _Range(range.raw, options);
+          }
+        }
+        if (range instanceof Comparator) {
+          this.raw = range.value;
+          this.set = [[range]];
+          this.formatted = void 0;
+          return this;
+        }
+        this.options = options;
+        this.loose = !!options.loose;
+        this.includePrerelease = !!options.includePrerelease;
+        this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
+        this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
+        if (!this.set.length) {
+          throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
+        }
+        if (this.set.length > 1) {
+          const first = this.set[0];
+          this.set = this.set.filter((c) => !isNullSet(c[0]));
+          if (this.set.length === 0) {
+            this.set = [first];
+          } else if (this.set.length > 1) {
+            for (const c of this.set) {
+              if (c.length === 1 && isAny(c[0])) {
+                this.set = [c];
+                break;
+              }
+            }
+          }
+        }
+        this.formatted = void 0;
+      }
+      get range() {
+        if (this.formatted === void 0) {
+          this.formatted = "";
+          for (let i = 0; i < this.set.length; i++) {
+            if (i > 0) {
+              this.formatted += "||";
+            }
+            const comps = this.set[i];
+            for (let k = 0; k < comps.length; k++) {
+              if (k > 0) {
+                this.formatted += " ";
+              }
+              this.formatted += comps[k].toString().trim();
+            }
+          }
+        }
+        return this.formatted;
+      }
+      format() {
+        return this.range;
+      }
+      toString() {
+        return this.range;
+      }
+      parseRange(range) {
+        const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
+        const memoKey = memoOpts + ":" + range;
+        const cached = cache.get(memoKey);
+        if (cached) {
+          return cached;
+        }
+        const loose = this.options.loose;
+        const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
+        range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
+        debug4("hyphen replace", range);
+        range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
+        debug4("comparator trim", range);
+        range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
+        debug4("tilde trim", range);
+        range = range.replace(re[t.CARETTRIM], caretTrimReplace);
+        debug4("caret trim", range);
+        let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
+        if (loose) {
+          rangeList = rangeList.filter((comp) => {
+            debug4("loose invalid filter", comp, this.options);
+            return !!comp.match(re[t.COMPARATORLOOSE]);
+          });
+        }
+        debug4("range list", rangeList);
+        const rangeMap = /* @__PURE__ */ new Map();
+        const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
+        for (const comp of comparators) {
+          if (isNullSet(comp)) {
+            return [comp];
+          }
+          rangeMap.set(comp.value, comp);
+        }
+        if (rangeMap.size > 1 && rangeMap.has("")) {
+          rangeMap.delete("");
+        }
+        const result = [...rangeMap.values()];
+        cache.set(memoKey, result);
+        return result;
+      }
+      intersects(range, options) {
+        if (!(range instanceof _Range)) {
+          throw new TypeError("a Range is required");
+        }
+        return this.set.some((thisComparators) => {
+          return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
+            return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
+              return rangeComparators.every((rangeComparator) => {
+                return thisComparator.intersects(rangeComparator, options);
+              });
+            });
+          });
+        });
+      }
+      // if ANY of the sets match ALL of its comparators, then pass
+      test(version) {
+        if (!version) {
+          return false;
+        }
+        if (typeof version === "string") {
+          try {
+            version = new SemVer(version, this.options);
+          } catch (er) {
+            return false;
+          }
+        }
+        for (let i = 0; i < this.set.length; i++) {
+          if (testSet(this.set[i], version, this.options)) {
+            return true;
+          }
+        }
+        return false;
+      }
+    };
+    module2.exports = Range2;
+    var LRU = require_lrucache();
+    var cache = new LRU();
+    var parseOptions = require_parse_options();
+    var Comparator = require_comparator();
+    var debug4 = require_debug();
+    var SemVer = require_semver();
+    var {
+      safeRe: re,
+      t,
+      comparatorTrimReplace,
+      tildeTrimReplace,
+      caretTrimReplace
+    } = require_re();
+    var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants11();
+    var isNullSet = (c) => c.value === "<0.0.0-0";
+    var isAny = (c) => c.value === "";
+    var isSatisfiable = (comparators, options) => {
+      let result = true;
+      const remainingComparators = comparators.slice();
+      let testComparator = remainingComparators.pop();
+      while (result && remainingComparators.length) {
+        result = remainingComparators.every((otherComparator) => {
+          return testComparator.intersects(otherComparator, options);
+        });
+        testComparator = remainingComparators.pop();
+      }
+      return result;
+    };
+    var parseComparator = (comp, options) => {
+      comp = comp.replace(re[t.BUILD], "");
+      debug4("comp", comp, options);
+      comp = replaceCarets(comp, options);
+      debug4("caret", comp);
+      comp = replaceTildes(comp, options);
+      debug4("tildes", comp);
+      comp = replaceXRanges(comp, options);
+      debug4("xrange", comp);
+      comp = replaceStars(comp, options);
+      debug4("stars", comp);
+      return comp;
+    };
+    var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
+    var replaceTildes = (comp, options) => {
+      return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
+    };
+    var replaceTilde = (comp, options) => {
+      const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
+      return comp.replace(r, (_2, M, m, p, pr) => {
+        debug4("tilde", comp, _2, M, m, p, pr);
+        let ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
+        } else if (isX(p)) {
+          ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
+        } else if (pr) {
+          debug4("replaceTilde pr", pr);
+          ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
+        } else {
+          ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
+        }
+        debug4("tilde return", ret);
+        return ret;
+      });
+    };
+    var replaceCarets = (comp, options) => {
+      return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
+    };
+    var replaceCaret = (comp, options) => {
+      debug4("caret", comp, options);
+      const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
+      const z = options.includePrerelease ? "-0" : "";
+      return comp.replace(r, (_2, M, m, p, pr) => {
+        debug4("caret", comp, _2, M, m, p, pr);
+        let ret;
+        if (isX(M)) {
+          ret = "";
+        } else if (isX(m)) {
+          ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
+        } else if (isX(p)) {
+          if (M === "0") {
+            ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
+          } else {
+            ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
+          }
+        } else if (pr) {
+          debug4("replaceCaret pr", pr);
+          if (M === "0") {
+            if (m === "0") {
+              ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
+            } else {
+              ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
+            }
+          } else {
+            ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
+          }
+        } else {
+          debug4("no pr");
+          if (M === "0") {
+            if (m === "0") {
+              ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
+            } else {
+              ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
+            }
+          } else {
+            ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
+          }
+        }
+        debug4("caret return", ret);
+        return ret;
+      });
+    };
+    var replaceXRanges = (comp, options) => {
+      debug4("replaceXRanges", comp, options);
+      return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
+    };
+    var replaceXRange = (comp, options) => {
+      comp = comp.trim();
+      const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
+      return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
+        debug4("xRange", comp, ret, gtlt, M, m, p, pr);
+        const xM = isX(M);
+        const xm = xM || isX(m);
+        const xp = xm || isX(p);
+        const anyX = xp;
+        if (gtlt === "=" && anyX) {
+          gtlt = "";
+        }
+        pr = options.includePrerelease ? "-0" : "";
+        if (xM) {
+          if (gtlt === ">" || gtlt === "<") {
+            ret = "<0.0.0-0";
+          } else {
+            ret = "*";
+          }
+        } else if (gtlt && anyX) {
+          if (xm) {
+            m = 0;
+          }
+          p = 0;
+          if (gtlt === ">") {
+            gtlt = ">=";
+            if (xm) {
+              M = +M + 1;
+              m = 0;
+              p = 0;
+            } else {
+              m = +m + 1;
+              p = 0;
+            }
+          } else if (gtlt === "<=") {
+            gtlt = "<";
+            if (xm) {
+              M = +M + 1;
+            } else {
+              m = +m + 1;
+            }
+          }
+          if (gtlt === "<") {
+            pr = "-0";
+          }
+          ret = `${gtlt + M}.${m}.${p}${pr}`;
+        } else if (xm) {
+          ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
+        } else if (xp) {
+          ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
+        }
+        debug4("xRange return", ret);
+        return ret;
+      });
+    };
+    var replaceStars = (comp, options) => {
+      debug4("replaceStars", comp, options);
+      return comp.trim().replace(re[t.STAR], "");
+    };
+    var replaceGTE0 = (comp, options) => {
+      debug4("replaceGTE0", comp, options);
+      return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
+    };
+    var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
+      if (isX(fM)) {
+        from = "";
+      } else if (isX(fm)) {
+        from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
+      } else if (isX(fp)) {
+        from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
+      } else if (fpr) {
+        from = `>=${from}`;
+      } else {
+        from = `>=${from}${incPr ? "-0" : ""}`;
+      }
+      if (isX(tM)) {
+        to = "";
+      } else if (isX(tm)) {
+        to = `<${+tM + 1}.0.0-0`;
+      } else if (isX(tp)) {
+        to = `<${tM}.${+tm + 1}.0-0`;
+      } else if (tpr) {
+        to = `<=${tM}.${tm}.${tp}-${tpr}`;
+      } else if (incPr) {
+        to = `<${tM}.${tm}.${+tp + 1}-0`;
+      } else {
+        to = `<=${to}`;
+      }
+      return `${from} ${to}`.trim();
+    };
+    var testSet = (set2, version, options) => {
+      for (let i = 0; i < set2.length; i++) {
+        if (!set2[i].test(version)) {
+          return false;
+        }
+      }
+      if (version.prerelease.length && !options.includePrerelease) {
+        for (let i = 0; i < set2.length; i++) {
+          debug4(set2[i].semver);
+          if (set2[i].semver === Comparator.ANY) {
+            continue;
+          }
+          if (set2[i].semver.prerelease.length > 0) {
+            const allowed = set2[i].semver;
+            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
+              return true;
+            }
+          }
+        }
+        return false;
+      }
+      return true;
+    };
+  }
+});
+
+// node_modules/semver/classes/comparator.js
+var require_comparator = __commonJS({
+  "node_modules/semver/classes/comparator.js"(exports2, module2) {
+    "use strict";
+    var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
+    var Comparator = class _Comparator {
+      static get ANY() {
+        return ANY;
+      }
+      constructor(comp, options) {
+        options = parseOptions(options);
+        if (comp instanceof _Comparator) {
+          if (comp.loose === !!options.loose) {
+            return comp;
+          } else {
+            comp = comp.value;
+          }
+        }
+        comp = comp.trim().split(/\s+/).join(" ");
+        debug4("comparator", comp, options);
+        this.options = options;
+        this.loose = !!options.loose;
+        this.parse(comp);
+        if (this.semver === ANY) {
+          this.value = "";
+        } else {
+          this.value = this.operator + this.semver.version;
+        }
+        debug4("comp", this);
+      }
+      parse(comp) {
+        const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
+        const m = comp.match(r);
+        if (!m) {
+          throw new TypeError(`Invalid comparator: ${comp}`);
+        }
+        this.operator = m[1] !== void 0 ? m[1] : "";
+        if (this.operator === "=") {
+          this.operator = "";
+        }
+        if (!m[2]) {
+          this.semver = ANY;
+        } else {
+          this.semver = new SemVer(m[2], this.options.loose);
+        }
+      }
+      toString() {
+        return this.value;
+      }
+      test(version) {
+        debug4("Comparator.test", version, this.options.loose);
+        if (this.semver === ANY || version === ANY) {
+          return true;
+        }
+        if (typeof version === "string") {
+          try {
+            version = new SemVer(version, this.options);
+          } catch (er) {
+            return false;
+          }
+        }
+        return cmp(version, this.operator, this.semver, this.options);
+      }
+      intersects(comp, options) {
+        if (!(comp instanceof _Comparator)) {
+          throw new TypeError("a Comparator is required");
+        }
+        if (this.operator === "") {
+          if (this.value === "") {
+            return true;
+          }
+          return new Range2(comp.value, options).test(this.value);
+        } else if (comp.operator === "") {
+          if (comp.value === "") {
+            return true;
+          }
+          return new Range2(this.value, options).test(comp.semver);
+        }
+        options = parseOptions(options);
+        if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
+          return false;
+        }
+        if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
+          return false;
+        }
+        if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
+          return true;
+        }
+        if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
+          return true;
+        }
+        if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
+          return true;
+        }
+        if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
+          return true;
+        }
+        if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
+          return true;
+        }
+        return false;
+      }
+    };
+    module2.exports = Comparator;
+    var parseOptions = require_parse_options();
+    var { safeRe: re, t } = require_re();
+    var cmp = require_cmp();
+    var debug4 = require_debug();
+    var SemVer = require_semver();
+    var Range2 = require_range();
+  }
+});
+
+// node_modules/semver/functions/satisfies.js
+var require_satisfies = __commonJS({
+  "node_modules/semver/functions/satisfies.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var satisfies2 = (version, range, options) => {
+      try {
+        range = new Range2(range, options);
+      } catch (er) {
+        return false;
+      }
+      return range.test(version);
+    };
+    module2.exports = satisfies2;
+  }
+});
+
+// node_modules/semver/ranges/to-comparators.js
+var require_to_comparators = __commonJS({
+  "node_modules/semver/ranges/to-comparators.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var toComparators = (range, options) => new Range2(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
+    module2.exports = toComparators;
+  }
+});
+
+// node_modules/semver/ranges/max-satisfying.js
+var require_max_satisfying = __commonJS({
+  "node_modules/semver/ranges/max-satisfying.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var maxSatisfying = (versions, range, options) => {
+      let max = null;
+      let maxSV = null;
+      let rangeObj = null;
+      try {
+        rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
+      }
+      versions.forEach((v) => {
+        if (rangeObj.test(v)) {
+          if (!max || maxSV.compare(v) === -1) {
+            max = v;
+            maxSV = new SemVer(max, options);
+          }
+        }
+      });
+      return max;
+    };
+    module2.exports = maxSatisfying;
+  }
+});
+
+// node_modules/semver/ranges/min-satisfying.js
+var require_min_satisfying = __commonJS({
+  "node_modules/semver/ranges/min-satisfying.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var minSatisfying = (versions, range, options) => {
+      let min = null;
+      let minSV = null;
+      let rangeObj = null;
+      try {
+        rangeObj = new Range2(range, options);
+      } catch (er) {
+        return null;
+      }
+      versions.forEach((v) => {
+        if (rangeObj.test(v)) {
+          if (!min || minSV.compare(v) === 1) {
+            min = v;
+            minSV = new SemVer(min, options);
+          }
+        }
+      });
+      return min;
+    };
+    module2.exports = minSatisfying;
+  }
+});
+
+// node_modules/semver/ranges/min-version.js
+var require_min_version = __commonJS({
+  "node_modules/semver/ranges/min-version.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Range2 = require_range();
+    var gt = require_gt();
+    var minVersion = (range, loose) => {
+      range = new Range2(range, loose);
+      let minver = new SemVer("0.0.0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = new SemVer("0.0.0-0");
+      if (range.test(minver)) {
+        return minver;
+      }
+      minver = null;
+      for (let i = 0; i < range.set.length; ++i) {
+        const comparators = range.set[i];
+        let setMin = null;
+        comparators.forEach((comparator) => {
+          const compver = new SemVer(comparator.semver.version);
+          switch (comparator.operator) {
+            case ">":
+              if (compver.prerelease.length === 0) {
+                compver.patch++;
+              } else {
+                compver.prerelease.push(0);
+              }
+              compver.raw = compver.format();
+            /* fallthrough */
+            case "":
+            case ">=":
+              if (!setMin || gt(compver, setMin)) {
+                setMin = compver;
+              }
+              break;
+            case "<":
+            case "<=":
+              break;
+            /* istanbul ignore next */
+            default:
+              throw new Error(`Unexpected operation: ${comparator.operator}`);
+          }
+        });
+        if (setMin && (!minver || gt(minver, setMin))) {
+          minver = setMin;
+        }
+      }
+      if (minver && range.test(minver)) {
+        return minver;
+      }
+      return null;
+    };
+    module2.exports = minVersion;
+  }
+});
+
+// node_modules/semver/ranges/valid.js
+var require_valid2 = __commonJS({
+  "node_modules/semver/ranges/valid.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var validRange = (range, options) => {
+      try {
+        return new Range2(range, options).range || "*";
+      } catch (er) {
+        return null;
+      }
+    };
+    module2.exports = validRange;
+  }
+});
+
+// node_modules/semver/ranges/outside.js
+var require_outside = __commonJS({
+  "node_modules/semver/ranges/outside.js"(exports2, module2) {
+    "use strict";
+    var SemVer = require_semver();
+    var Comparator = require_comparator();
+    var { ANY } = Comparator;
+    var Range2 = require_range();
+    var satisfies2 = require_satisfies();
+    var gt = require_gt();
+    var lt = require_lt();
+    var lte = require_lte();
+    var gte6 = require_gte();
+    var outside = (version, range, hilo, options) => {
+      version = new SemVer(version, options);
+      range = new Range2(range, options);
+      let gtfn, ltefn, ltfn, comp, ecomp;
+      switch (hilo) {
+        case ">":
+          gtfn = gt;
+          ltefn = lte;
+          ltfn = lt;
+          comp = ">";
+          ecomp = ">=";
+          break;
+        case "<":
+          gtfn = lt;
+          ltefn = gte6;
+          ltfn = gt;
+          comp = "<";
+          ecomp = "<=";
+          break;
+        default:
+          throw new TypeError('Must provide a hilo val of "<" or ">"');
+      }
+      if (satisfies2(version, range, options)) {
+        return false;
+      }
+      for (let i = 0; i < range.set.length; ++i) {
+        const comparators = range.set[i];
+        let high = null;
+        let low = null;
+        comparators.forEach((comparator) => {
+          if (comparator.semver === ANY) {
+            comparator = new Comparator(">=0.0.0");
+          }
+          high = high || comparator;
+          low = low || comparator;
+          if (gtfn(comparator.semver, high.semver, options)) {
+            high = comparator;
+          } else if (ltfn(comparator.semver, low.semver, options)) {
+            low = comparator;
+          }
+        });
+        if (high.operator === comp || high.operator === ecomp) {
+          return false;
+        }
+        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
+          return false;
+        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
+          return false;
+        }
+      }
+      return true;
+    };
+    module2.exports = outside;
+  }
+});
+
+// node_modules/semver/ranges/gtr.js
+var require_gtr = __commonJS({
+  "node_modules/semver/ranges/gtr.js"(exports2, module2) {
+    "use strict";
+    var outside = require_outside();
+    var gtr = (version, range, options) => outside(version, range, ">", options);
+    module2.exports = gtr;
+  }
+});
+
+// node_modules/semver/ranges/ltr.js
+var require_ltr = __commonJS({
+  "node_modules/semver/ranges/ltr.js"(exports2, module2) {
+    "use strict";
+    var outside = require_outside();
+    var ltr = (version, range, options) => outside(version, range, "<", options);
+    module2.exports = ltr;
+  }
+});
+
+// node_modules/semver/ranges/intersects.js
+var require_intersects = __commonJS({
+  "node_modules/semver/ranges/intersects.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var intersects = (r1, r2, options) => {
+      r1 = new Range2(r1, options);
+      r2 = new Range2(r2, options);
+      return r1.intersects(r2, options);
+    };
+    module2.exports = intersects;
+  }
+});
+
+// node_modules/semver/ranges/simplify.js
+var require_simplify = __commonJS({
+  "node_modules/semver/ranges/simplify.js"(exports2, module2) {
+    "use strict";
+    var satisfies2 = require_satisfies();
+    var compare2 = require_compare();
+    module2.exports = (versions, range, options) => {
+      const set2 = [];
+      let first = null;
+      let prev = null;
+      const v = versions.sort((a, b) => compare2(a, b, options));
+      for (const version of v) {
+        const included = satisfies2(version, range, options);
+        if (included) {
+          prev = version;
+          if (!first) {
+            first = version;
+          }
+        } else {
+          if (prev) {
+            set2.push([first, prev]);
+          }
+          prev = null;
+          first = null;
+        }
+      }
+      if (first) {
+        set2.push([first, null]);
+      }
+      const ranges = [];
+      for (const [min, max] of set2) {
+        if (min === max) {
+          ranges.push(min);
+        } else if (!max && min === v[0]) {
+          ranges.push("*");
+        } else if (!max) {
+          ranges.push(`>=${min}`);
+        } else if (min === v[0]) {
+          ranges.push(`<=${max}`);
+        } else {
+          ranges.push(`${min} - ${max}`);
+        }
+      }
+      const simplified = ranges.join(" || ");
+      const original = typeof range.raw === "string" ? range.raw : String(range);
+      return simplified.length < original.length ? simplified : range;
+    };
+  }
+});
+
+// node_modules/semver/ranges/subset.js
+var require_subset = __commonJS({
+  "node_modules/semver/ranges/subset.js"(exports2, module2) {
+    "use strict";
+    var Range2 = require_range();
+    var Comparator = require_comparator();
+    var { ANY } = Comparator;
+    var satisfies2 = require_satisfies();
+    var compare2 = require_compare();
+    var subset = (sub, dom, options = {}) => {
+      if (sub === dom) {
+        return true;
+      }
+      sub = new Range2(sub, options);
+      dom = new Range2(dom, options);
+      let sawNonNull = false;
+      OUTER: for (const simpleSub of sub.set) {
+        for (const simpleDom of dom.set) {
+          const isSub = simpleSubset(simpleSub, simpleDom, options);
+          sawNonNull = sawNonNull || isSub !== null;
+          if (isSub) {
+            continue OUTER;
+          }
+        }
+        if (sawNonNull) {
+          return false;
+        }
+      }
+      return true;
+    };
+    var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
+    var minimumVersion2 = [new Comparator(">=0.0.0")];
+    var simpleSubset = (sub, dom, options) => {
+      if (sub === dom) {
+        return true;
+      }
+      if (sub.length === 1 && sub[0].semver === ANY) {
+        if (dom.length === 1 && dom[0].semver === ANY) {
+          return true;
+        } else if (options.includePrerelease) {
+          sub = minimumVersionWithPreRelease;
+        } else {
+          sub = minimumVersion2;
+        }
+      }
+      if (dom.length === 1 && dom[0].semver === ANY) {
+        if (options.includePrerelease) {
+          return true;
+        } else {
+          dom = minimumVersion2;
+        }
+      }
+      const eqSet = /* @__PURE__ */ new Set();
+      let gt, lt;
+      for (const c of sub) {
+        if (c.operator === ">" || c.operator === ">=") {
+          gt = higherGT(gt, c, options);
+        } else if (c.operator === "<" || c.operator === "<=") {
+          lt = lowerLT(lt, c, options);
+        } else {
+          eqSet.add(c.semver);
+        }
+      }
+      if (eqSet.size > 1) {
+        return null;
+      }
+      let gtltComp;
+      if (gt && lt) {
+        gtltComp = compare2(gt.semver, lt.semver, options);
+        if (gtltComp > 0) {
+          return null;
+        } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
+          return null;
+        }
+      }
+      for (const eq of eqSet) {
+        if (gt && !satisfies2(eq, String(gt), options)) {
+          return null;
+        }
+        if (lt && !satisfies2(eq, String(lt), options)) {
+          return null;
+        }
+        for (const c of dom) {
+          if (!satisfies2(eq, String(c), options)) {
+            return false;
+          }
+        }
+        return true;
+      }
+      let higher, lower;
+      let hasDomLT, hasDomGT;
+      let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
+      let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
+      if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
+        needDomLTPre = false;
+      }
+      for (const c of dom) {
+        hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
+        hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
+        if (gt) {
+          if (needDomGTPre) {
+            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
+              needDomGTPre = false;
+            }
+          }
+          if (c.operator === ">" || c.operator === ">=") {
+            higher = higherGT(gt, c, options);
+            if (higher === c && higher !== gt) {
+              return false;
+            }
+          } else if (gt.operator === ">=" && !satisfies2(gt.semver, String(c), options)) {
+            return false;
+          }
+        }
+        if (lt) {
+          if (needDomLTPre) {
+            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
+              needDomLTPre = false;
+            }
+          }
+          if (c.operator === "<" || c.operator === "<=") {
+            lower = lowerLT(lt, c, options);
+            if (lower === c && lower !== lt) {
+              return false;
+            }
+          } else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
+            return false;
+          }
+        }
+        if (!c.operator && (lt || gt) && gtltComp !== 0) {
+          return false;
+        }
+      }
+      if (gt && hasDomLT && !lt && gtltComp !== 0) {
+        return false;
+      }
+      if (lt && hasDomGT && !gt && gtltComp !== 0) {
+        return false;
+      }
+      if (needDomGTPre || needDomLTPre) {
+        return false;
+      }
+      return true;
+    };
+    var higherGT = (a, b, options) => {
+      if (!a) {
+        return b;
+      }
+      const comp = compare2(a.semver, b.semver, options);
+      return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
+    };
+    var lowerLT = (a, b, options) => {
+      if (!a) {
+        return b;
+      }
+      const comp = compare2(a.semver, b.semver, options);
+      return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
+    };
+    module2.exports = subset;
+  }
+});
+
+// node_modules/semver/index.js
+var require_semver2 = __commonJS({
+  "node_modules/semver/index.js"(exports2, module2) {
+    "use strict";
+    var internalRe = require_re();
+    var constants = require_constants11();
+    var SemVer = require_semver();
+    var identifiers = require_identifiers();
+    var parse2 = require_parse3();
+    var valid3 = require_valid();
+    var clean3 = require_clean();
+    var inc = require_inc();
+    var diff = require_diff();
+    var major = require_major();
+    var minor = require_minor();
+    var patch = require_patch();
+    var prerelease = require_prerelease();
+    var compare2 = require_compare();
+    var rcompare = require_rcompare();
+    var compareLoose = require_compare_loose();
+    var compareBuild = require_compare_build();
+    var sort = require_sort();
+    var rsort = require_rsort();
+    var gt = require_gt();
+    var lt = require_lt();
+    var eq = require_eq();
+    var neq = require_neq();
+    var gte6 = require_gte();
+    var lte = require_lte();
+    var cmp = require_cmp();
+    var coerce3 = require_coerce();
+    var Comparator = require_comparator();
+    var Range2 = require_range();
+    var satisfies2 = require_satisfies();
+    var toComparators = require_to_comparators();
+    var maxSatisfying = require_max_satisfying();
+    var minSatisfying = require_min_satisfying();
+    var minVersion = require_min_version();
+    var validRange = require_valid2();
+    var outside = require_outside();
+    var gtr = require_gtr();
+    var ltr = require_ltr();
+    var intersects = require_intersects();
+    var simplifyRange = require_simplify();
+    var subset = require_subset();
+    module2.exports = {
+      parse: parse2,
+      valid: valid3,
+      clean: clean3,
+      inc,
+      diff,
+      major,
+      minor,
+      patch,
+      prerelease,
+      compare: compare2,
+      rcompare,
+      compareLoose,
+      compareBuild,
+      sort,
+      rsort,
+      gt,
+      lt,
+      eq,
+      neq,
+      gte: gte6,
+      lte,
+      cmp,
+      coerce: coerce3,
+      Comparator,
+      Range: Range2,
+      satisfies: satisfies2,
+      toComparators,
+      maxSatisfying,
+      minSatisfying,
+      minVersion,
+      validRange,
+      outside,
+      gtr,
+      ltr,
+      intersects,
+      simplifyRange,
+      subset,
+      SemVer,
+      re: internalRe.re,
+      src: internalRe.src,
+      tokens: internalRe.t,
+      SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
+      RELEASE_TYPES: constants.RELEASE_TYPES,
+      compareIdentifiers: identifiers.compareIdentifiers,
+      rcompareIdentifiers: identifiers.rcompareIdentifiers
+    };
+  }
+});
+
+// package.json
+var require_package = __commonJS({
+  "package.json"(exports2, module2) {
+    module2.exports = {
+      name: "codeql",
+      version: "4.32.2",
+      private: true,
+      description: "CodeQL action",
+      scripts: {
+        _build_comment: "echo 'Run the full build so we typecheck the project and can reuse the transpiled files in npm test'",
+        build: "./scripts/check-node-modules.sh && npm run transpile && node build.mjs",
+        lint: "eslint --report-unused-disable-directives --max-warnings=0 .",
+        "lint-ci": "SARIF_ESLINT_IGNORE_SUPPRESSED=true eslint --report-unused-disable-directives --max-warnings=0 . --format @microsoft/eslint-formatter-sarif --output-file=eslint.sarif",
+        "lint-fix": "eslint --report-unused-disable-directives --max-warnings=0 . --fix",
+        ava: "npm run transpile && ava --serial --verbose",
+        test: "npm run ava -- src/",
+        "test-debug": "npm run test -- --timeout=20m",
+        transpile: "tsc --build --verbose"
+      },
+      ava: {
+        typescript: {
+          rewritePaths: {
+            "src/": "build/"
+          },
+          compile: false
+        }
       },
-      teams: {
-        addOrUpdateMembershipForUserInOrg: [
-          "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
-        ],
-        addOrUpdateRepoPermissionsInOrg: [
-          "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
-        ],
-        checkPermissionsForRepoInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
-        ],
-        create: ["POST /orgs/{org}/teams"],
-        createDiscussionCommentInOrg: [
-          "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
-        ],
-        createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
-        deleteDiscussionCommentInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
-        ],
-        deleteDiscussionInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
-        ],
-        deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
-        getByName: ["GET /orgs/{org}/teams/{team_slug}"],
-        getDiscussionCommentInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
-        ],
-        getDiscussionInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
-        ],
-        getMembershipForUserInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/memberships/{username}"
-        ],
-        list: ["GET /orgs/{org}/teams"],
-        listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
-        listDiscussionCommentsInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
-        ],
-        listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
-        listForAuthenticatedUser: ["GET /user/teams"],
-        listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
-        listPendingInvitationsInOrg: [
-          "GET /orgs/{org}/teams/{team_slug}/invitations"
-        ],
-        listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
-        removeMembershipForUserInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
-        ],
-        removeRepoInOrg: [
-          "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
-        ],
-        updateDiscussionCommentInOrg: [
-          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
-        ],
-        updateDiscussionInOrg: [
-          "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
-        ],
-        updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
+      license: "MIT",
+      dependencies: {
+        "@actions/artifact": "^5.0.3",
+        "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
+        "@actions/cache": "^5.0.5",
+        "@actions/core": "^2.0.3",
+        "@actions/exec": "^2.0.0",
+        "@actions/github": "^8.0.1",
+        "@actions/glob": "^0.5.0",
+        "@actions/http-client": "^3.0.0",
+        "@actions/io": "^2.0.0",
+        "@actions/tool-cache": "^3.0.1",
+        "@octokit/plugin-retry": "^8.0.0",
+        "@schemastore/package": "0.0.10",
+        archiver: "^7.0.1",
+        "fast-deep-equal": "^3.1.3",
+        "follow-redirects": "^1.15.11",
+        "get-folder-size": "^5.0.0",
+        "js-yaml": "^4.1.1",
+        jsonschema: "1.4.1",
+        long: "^5.3.2",
+        "node-forge": "^1.3.3",
+        semver: "^7.7.3",
+        uuid: "^13.0.0"
       },
-      users: {
-        addEmailForAuthenticated: [
-          "POST /user/emails",
-          {},
-          { renamed: ["users", "addEmailForAuthenticatedUser"] }
-        ],
-        addEmailForAuthenticatedUser: ["POST /user/emails"],
-        addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"],
-        block: ["PUT /user/blocks/{username}"],
-        checkBlocked: ["GET /user/blocks/{username}"],
-        checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
-        checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
-        createGpgKeyForAuthenticated: [
-          "POST /user/gpg_keys",
-          {},
-          { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }
-        ],
-        createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"],
-        createPublicSshKeyForAuthenticated: [
-          "POST /user/keys",
-          {},
-          { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }
-        ],
-        createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"],
-        createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"],
-        deleteAttestationsBulk: [
-          "POST /users/{username}/attestations/delete-request"
-        ],
-        deleteAttestationsById: [
-          "DELETE /users/{username}/attestations/{attestation_id}"
-        ],
-        deleteAttestationsBySubjectDigest: [
-          "DELETE /users/{username}/attestations/digest/{subject_digest}"
-        ],
-        deleteEmailForAuthenticated: [
-          "DELETE /user/emails",
-          {},
-          { renamed: ["users", "deleteEmailForAuthenticatedUser"] }
-        ],
-        deleteEmailForAuthenticatedUser: ["DELETE /user/emails"],
-        deleteGpgKeyForAuthenticated: [
-          "DELETE /user/gpg_keys/{gpg_key_id}",
-          {},
-          { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }
-        ],
-        deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"],
-        deletePublicSshKeyForAuthenticated: [
-          "DELETE /user/keys/{key_id}",
-          {},
-          { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }
-        ],
-        deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"],
-        deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"],
-        deleteSshSigningKeyForAuthenticatedUser: [
-          "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"
-        ],
-        follow: ["PUT /user/following/{username}"],
-        getAuthenticated: ["GET /user"],
-        getById: ["GET /user/{account_id}"],
-        getByUsername: ["GET /users/{username}"],
-        getContextForUser: ["GET /users/{username}/hovercard"],
-        getGpgKeyForAuthenticated: [
-          "GET /user/gpg_keys/{gpg_key_id}",
-          {},
-          { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }
-        ],
-        getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"],
-        getPublicSshKeyForAuthenticated: [
-          "GET /user/keys/{key_id}",
-          {},
-          { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }
-        ],
-        getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"],
-        getSshSigningKeyForAuthenticatedUser: [
-          "GET /user/ssh_signing_keys/{ssh_signing_key_id}"
-        ],
-        list: ["GET /users"],
-        listAttestations: ["GET /users/{username}/attestations/{subject_digest}"],
-        listAttestationsBulk: [
-          "POST /users/{username}/attestations/bulk-list{?per_page,before,after}"
-        ],
-        listBlockedByAuthenticated: [
-          "GET /user/blocks",
-          {},
-          { renamed: ["users", "listBlockedByAuthenticatedUser"] }
-        ],
-        listBlockedByAuthenticatedUser: ["GET /user/blocks"],
-        listEmailsForAuthenticated: [
-          "GET /user/emails",
-          {},
-          { renamed: ["users", "listEmailsForAuthenticatedUser"] }
-        ],
-        listEmailsForAuthenticatedUser: ["GET /user/emails"],
-        listFollowedByAuthenticated: [
-          "GET /user/following",
-          {},
-          { renamed: ["users", "listFollowedByAuthenticatedUser"] }
-        ],
-        listFollowedByAuthenticatedUser: ["GET /user/following"],
-        listFollowersForAuthenticatedUser: ["GET /user/followers"],
-        listFollowersForUser: ["GET /users/{username}/followers"],
-        listFollowingForUser: ["GET /users/{username}/following"],
-        listGpgKeysForAuthenticated: [
-          "GET /user/gpg_keys",
-          {},
-          { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }
-        ],
-        listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"],
-        listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
-        listPublicEmailsForAuthenticated: [
-          "GET /user/public_emails",
-          {},
-          { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }
-        ],
-        listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"],
-        listPublicKeysForUser: ["GET /users/{username}/keys"],
-        listPublicSshKeysForAuthenticated: [
-          "GET /user/keys",
-          {},
-          { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }
-        ],
-        listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"],
-        listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"],
-        listSocialAccountsForUser: ["GET /users/{username}/social_accounts"],
-        listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"],
-        listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"],
-        setPrimaryEmailVisibilityForAuthenticated: [
-          "PATCH /user/email/visibility",
-          {},
-          { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] }
-        ],
-        setPrimaryEmailVisibilityForAuthenticatedUser: [
-          "PATCH /user/email/visibility"
-        ],
-        unblock: ["DELETE /user/blocks/{username}"],
-        unfollow: ["DELETE /user/following/{username}"],
-        updateAuthenticated: ["PATCH /user"]
+      devDependencies: {
+        "@ava/typescript": "6.0.0",
+        "@eslint/compat": "^2.0.1",
+        "@eslint/eslintrc": "^3.3.3",
+        "@eslint/js": "^9.39.2",
+        "@microsoft/eslint-formatter-sarif": "^3.1.0",
+        "@octokit/types": "^16.0.0",
+        "@types/archiver": "^7.0.0",
+        "@types/follow-redirects": "^1.14.4",
+        "@types/js-yaml": "^4.0.9",
+        "@types/node": "^20.19.9",
+        "@types/node-forge": "^1.3.14",
+        "@types/semver": "^7.7.1",
+        "@types/sinon": "^21.0.0",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
+        "@typescript-eslint/parser": "^8.48.0",
+        ava: "^6.4.1",
+        esbuild: "^0.27.2",
+        eslint: "^8.57.1",
+        "eslint-import-resolver-typescript": "^3.8.7",
+        "eslint-plugin-filenames": "^1.3.2",
+        "eslint-plugin-github": "^5.1.8",
+        "eslint-plugin-import": "2.29.1",
+        "eslint-plugin-jsdoc": "^62.4.1",
+        "eslint-plugin-no-async-foreach": "^0.1.1",
+        glob: "^11.1.0",
+        nock: "^14.0.10",
+        sinon: "^21.0.1",
+        typescript: "^5.9.3"
+      },
+      overrides: {
+        "@actions/tool-cache": {
+          semver: ">=6.3.1"
+        },
+        "@octokit/request-error": {
+          semver: ">=5.1.1"
+        },
+        "@octokit/request": {
+          semver: ">=8.4.1"
+        },
+        "@octokit/plugin-paginate-rest": {
+          semver: ">=9.2.2"
+        },
+        "eslint-plugin-import": {
+          semver: ">=6.3.1"
+        },
+        "eslint-plugin-jsx-a11y": {
+          semver: ">=6.3.1"
+        },
+        "brace-expansion@2.0.1": "2.0.2",
+        glob: "^11.1.0"
+      }
+    };
+  }
+});
+
+// node_modules/bottleneck/light.js
+var require_light = __commonJS({
+  "node_modules/bottleneck/light.js"(exports2, module2) {
+    (function(global2, factory) {
+      typeof exports2 === "object" && typeof module2 !== "undefined" ? module2.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global2.Bottleneck = factory();
+    })(exports2, (function() {
+      "use strict";
+      var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
+      function getCjsExportFromNamespace(n) {
+        return n && n["default"] || n;
+      }
+      var load2 = function(received, defaults, onto = {}) {
+        var k, ref, v;
+        for (k in defaults) {
+          v = defaults[k];
+          onto[k] = (ref = received[k]) != null ? ref : v;
+        }
+        return onto;
+      };
+      var overwrite = function(received, defaults, onto = {}) {
+        var k, v;
+        for (k in received) {
+          v = received[k];
+          if (defaults[k] !== void 0) {
+            onto[k] = v;
+          }
+        }
+        return onto;
+      };
+      var parser = {
+        load: load2,
+        overwrite
+      };
+      var DLList;
+      DLList = class DLList {
+        constructor(incr, decr) {
+          this.incr = incr;
+          this.decr = decr;
+          this._first = null;
+          this._last = null;
+          this.length = 0;
+        }
+        push(value) {
+          var node;
+          this.length++;
+          if (typeof this.incr === "function") {
+            this.incr();
+          }
+          node = {
+            value,
+            prev: this._last,
+            next: null
+          };
+          if (this._last != null) {
+            this._last.next = node;
+            this._last = node;
+          } else {
+            this._first = this._last = node;
+          }
+          return void 0;
+        }
+        shift() {
+          var value;
+          if (this._first == null) {
+            return;
+          } else {
+            this.length--;
+            if (typeof this.decr === "function") {
+              this.decr();
+            }
+          }
+          value = this._first.value;
+          if ((this._first = this._first.next) != null) {
+            this._first.prev = null;
+          } else {
+            this._last = null;
+          }
+          return value;
+        }
+        first() {
+          if (this._first != null) {
+            return this._first.value;
+          }
+        }
+        getArray() {
+          var node, ref, results;
+          node = this._first;
+          results = [];
+          while (node != null) {
+            results.push((ref = node, node = node.next, ref.value));
+          }
+          return results;
+        }
+        forEachShift(cb) {
+          var node;
+          node = this.shift();
+          while (node != null) {
+            cb(node), node = this.shift();
+          }
+          return void 0;
+        }
+        debug() {
+          var node, ref, ref1, ref2, results;
+          node = this._first;
+          results = [];
+          while (node != null) {
+            results.push((ref = node, node = node.next, {
+              value: ref.value,
+              prev: (ref1 = ref.prev) != null ? ref1.value : void 0,
+              next: (ref2 = ref.next) != null ? ref2.value : void 0
+            }));
+          }
+          return results;
+        }
+      };
+      var DLList_1 = DLList;
+      var Events;
+      Events = class Events {
+        constructor(instance) {
+          this.instance = instance;
+          this._events = {};
+          if (this.instance.on != null || this.instance.once != null || this.instance.removeAllListeners != null) {
+            throw new Error("An Emitter already exists for this object");
+          }
+          this.instance.on = (name, cb) => {
+            return this._addListener(name, "many", cb);
+          };
+          this.instance.once = (name, cb) => {
+            return this._addListener(name, "once", cb);
+          };
+          this.instance.removeAllListeners = (name = null) => {
+            if (name != null) {
+              return delete this._events[name];
+            } else {
+              return this._events = {};
+            }
+          };
+        }
+        _addListener(name, status, cb) {
+          var base;
+          if ((base = this._events)[name] == null) {
+            base[name] = [];
+          }
+          this._events[name].push({ cb, status });
+          return this.instance;
+        }
+        listenerCount(name) {
+          if (this._events[name] != null) {
+            return this._events[name].length;
+          } else {
+            return 0;
+          }
+        }
+        async trigger(name, ...args) {
+          var e, promises2;
+          try {
+            if (name !== "debug") {
+              this.trigger("debug", `Event triggered: ${name}`, args);
+            }
+            if (this._events[name] == null) {
+              return;
+            }
+            this._events[name] = this._events[name].filter(function(listener) {
+              return listener.status !== "none";
+            });
+            promises2 = this._events[name].map(async (listener) => {
+              var e2, returned;
+              if (listener.status === "none") {
+                return;
+              }
+              if (listener.status === "once") {
+                listener.status = "none";
+              }
+              try {
+                returned = typeof listener.cb === "function" ? listener.cb(...args) : void 0;
+                if (typeof (returned != null ? returned.then : void 0) === "function") {
+                  return await returned;
+                } else {
+                  return returned;
+                }
+              } catch (error3) {
+                e2 = error3;
+                {
+                  this.trigger("error", e2);
+                }
+                return null;
+              }
+            });
+            return (await Promise.all(promises2)).find(function(x) {
+              return x != null;
+            });
+          } catch (error3) {
+            e = error3;
+            {
+              this.trigger("error", e);
+            }
+            return null;
+          }
+        }
+      };
+      var Events_1 = Events;
+      var DLList$1, Events$1, Queues;
+      DLList$1 = DLList_1;
+      Events$1 = Events_1;
+      Queues = class Queues {
+        constructor(num_priorities) {
+          var i;
+          this.Events = new Events$1(this);
+          this._length = 0;
+          this._lists = (function() {
+            var j, ref, results;
+            results = [];
+            for (i = j = 1, ref = num_priorities; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {
+              results.push(new DLList$1((() => {
+                return this.incr();
+              }), (() => {
+                return this.decr();
+              })));
+            }
+            return results;
+          }).call(this);
+        }
+        incr() {
+          if (this._length++ === 0) {
+            return this.Events.trigger("leftzero");
+          }
+        }
+        decr() {
+          if (--this._length === 0) {
+            return this.Events.trigger("zero");
+          }
+        }
+        push(job) {
+          return this._lists[job.options.priority].push(job);
+        }
+        queued(priority) {
+          if (priority != null) {
+            return this._lists[priority].length;
+          } else {
+            return this._length;
+          }
+        }
+        shiftAll(fn) {
+          return this._lists.forEach(function(list) {
+            return list.forEachShift(fn);
+          });
+        }
+        getFirst(arr = this._lists) {
+          var j, len, list;
+          for (j = 0, len = arr.length; j < len; j++) {
+            list = arr[j];
+            if (list.length > 0) {
+              return list;
+            }
+          }
+          return [];
+        }
+        shiftLastFrom(priority) {
+          return this.getFirst(this._lists.slice(priority).reverse()).shift();
+        }
+      };
+      var Queues_1 = Queues;
+      var BottleneckError;
+      BottleneckError = class BottleneckError extends Error {
+      };
+      var BottleneckError_1 = BottleneckError;
+      var BottleneckError$1, DEFAULT_PRIORITY, Job, NUM_PRIORITIES, parser$1;
+      NUM_PRIORITIES = 10;
+      DEFAULT_PRIORITY = 5;
+      parser$1 = parser;
+      BottleneckError$1 = BottleneckError_1;
+      Job = class Job {
+        constructor(task, args, options, jobDefaults, rejectOnDrop, Events2, _states, Promise2) {
+          this.task = task;
+          this.args = args;
+          this.rejectOnDrop = rejectOnDrop;
+          this.Events = Events2;
+          this._states = _states;
+          this.Promise = Promise2;
+          this.options = parser$1.load(options, jobDefaults);
+          this.options.priority = this._sanitizePriority(this.options.priority);
+          if (this.options.id === jobDefaults.id) {
+            this.options.id = `${this.options.id}-${this._randomIndex()}`;
+          }
+          this.promise = new this.Promise((_resolve, _reject) => {
+            this._resolve = _resolve;
+            this._reject = _reject;
+          });
+          this.retryCount = 0;
+        }
+        _sanitizePriority(priority) {
+          var sProperty;
+          sProperty = ~~priority !== priority ? DEFAULT_PRIORITY : priority;
+          if (sProperty < 0) {
+            return 0;
+          } else if (sProperty > NUM_PRIORITIES - 1) {
+            return NUM_PRIORITIES - 1;
+          } else {
+            return sProperty;
+          }
+        }
+        _randomIndex() {
+          return Math.random().toString(36).slice(2);
+        }
+        doDrop({ error: error3, message = "This job has been dropped by Bottleneck" } = {}) {
+          if (this._states.remove(this.options.id)) {
+            if (this.rejectOnDrop) {
+              this._reject(error3 != null ? error3 : new BottleneckError$1(message));
+            }
+            this.Events.trigger("dropped", { args: this.args, options: this.options, task: this.task, promise: this.promise });
+            return true;
+          } else {
+            return false;
+          }
+        }
+        _assertStatus(expected) {
+          var status;
+          status = this._states.jobStatus(this.options.id);
+          if (!(status === expected || expected === "DONE" && status === null)) {
+            throw new BottleneckError$1(`Invalid job status ${status}, expected ${expected}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`);
+          }
+        }
+        doReceive() {
+          this._states.start(this.options.id);
+          return this.Events.trigger("received", { args: this.args, options: this.options });
+        }
+        doQueue(reachedHWM, blocked) {
+          this._assertStatus("RECEIVED");
+          this._states.next(this.options.id);
+          return this.Events.trigger("queued", { args: this.args, options: this.options, reachedHWM, blocked });
+        }
+        doRun() {
+          if (this.retryCount === 0) {
+            this._assertStatus("QUEUED");
+            this._states.next(this.options.id);
+          } else {
+            this._assertStatus("EXECUTING");
+          }
+          return this.Events.trigger("scheduled", { args: this.args, options: this.options });
+        }
+        async doExecute(chained, clearGlobalState, run, free) {
+          var error3, eventInfo, passed;
+          if (this.retryCount === 0) {
+            this._assertStatus("RUNNING");
+            this._states.next(this.options.id);
+          } else {
+            this._assertStatus("EXECUTING");
+          }
+          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
+          this.Events.trigger("executing", eventInfo);
+          try {
+            passed = await (chained != null ? chained.schedule(this.options, this.task, ...this.args) : this.task(...this.args));
+            if (clearGlobalState()) {
+              this.doDone(eventInfo);
+              await free(this.options, eventInfo);
+              this._assertStatus("DONE");
+              return this._resolve(passed);
+            }
+          } catch (error1) {
+            error3 = error1;
+            return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
+          }
+        }
+        doExpire(clearGlobalState, run, free) {
+          var error3, eventInfo;
+          if (this._states.jobStatus(this.options.id === "RUNNING")) {
+            this._states.next(this.options.id);
+          }
+          this._assertStatus("EXECUTING");
+          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
+          error3 = new BottleneckError$1(`This job timed out after ${this.options.expiration} ms.`);
+          return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
+        }
+        async _onFailure(error3, eventInfo, clearGlobalState, run, free) {
+          var retry2, retryAfter;
+          if (clearGlobalState()) {
+            retry2 = await this.Events.trigger("failed", error3, eventInfo);
+            if (retry2 != null) {
+              retryAfter = ~~retry2;
+              this.Events.trigger("retry", `Retrying ${this.options.id} after ${retryAfter} ms`, eventInfo);
+              this.retryCount++;
+              return run(retryAfter);
+            } else {
+              this.doDone(eventInfo);
+              await free(this.options, eventInfo);
+              this._assertStatus("DONE");
+              return this._reject(error3);
+            }
+          }
+        }
+        doDone(eventInfo) {
+          this._assertStatus("EXECUTING");
+          this._states.next(this.options.id);
+          return this.Events.trigger("done", eventInfo);
+        }
+      };
+      var Job_1 = Job;
+      var BottleneckError$2, LocalDatastore, parser$2;
+      parser$2 = parser;
+      BottleneckError$2 = BottleneckError_1;
+      LocalDatastore = class LocalDatastore {
+        constructor(instance, storeOptions, storeInstanceOptions) {
+          this.instance = instance;
+          this.storeOptions = storeOptions;
+          this.clientId = this.instance._randomIndex();
+          parser$2.load(storeInstanceOptions, storeInstanceOptions, this);
+          this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now();
+          this._running = 0;
+          this._done = 0;
+          this._unblockTime = 0;
+          this.ready = this.Promise.resolve();
+          this.clients = {};
+          this._startHeartbeat();
+        }
+        _startHeartbeat() {
+          var base;
+          if (this.heartbeat == null && (this.storeOptions.reservoirRefreshInterval != null && this.storeOptions.reservoirRefreshAmount != null || this.storeOptions.reservoirIncreaseInterval != null && this.storeOptions.reservoirIncreaseAmount != null)) {
+            return typeof (base = this.heartbeat = setInterval(() => {
+              var amount, incr, maximum, now, reservoir;
+              now = Date.now();
+              if (this.storeOptions.reservoirRefreshInterval != null && now >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) {
+                this._lastReservoirRefresh = now;
+                this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount;
+                this.instance._drainAll(this.computeCapacity());
+              }
+              if (this.storeOptions.reservoirIncreaseInterval != null && now >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) {
+                ({
+                  reservoirIncreaseAmount: amount,
+                  reservoirIncreaseMaximum: maximum,
+                  reservoir
+                } = this.storeOptions);
+                this._lastReservoirIncrease = now;
+                incr = maximum != null ? Math.min(amount, maximum - reservoir) : amount;
+                if (incr > 0) {
+                  this.storeOptions.reservoir += incr;
+                  return this.instance._drainAll(this.computeCapacity());
+                }
+              }
+            }, this.heartbeatInterval)).unref === "function" ? base.unref() : void 0;
+          } else {
+            return clearInterval(this.heartbeat);
+          }
+        }
+        async __publish__(message) {
+          await this.yieldLoop();
+          return this.instance.Events.trigger("message", message.toString());
+        }
+        async __disconnect__(flush) {
+          await this.yieldLoop();
+          clearInterval(this.heartbeat);
+          return this.Promise.resolve();
+        }
+        yieldLoop(t = 0) {
+          return new this.Promise(function(resolve2, reject) {
+            return setTimeout(resolve2, t);
+          });
+        }
+        computePenalty() {
+          var ref;
+          return (ref = this.storeOptions.penalty) != null ? ref : 15 * this.storeOptions.minTime || 5e3;
+        }
+        async __updateSettings__(options) {
+          await this.yieldLoop();
+          parser$2.overwrite(options, options, this.storeOptions);
+          this._startHeartbeat();
+          this.instance._drainAll(this.computeCapacity());
+          return true;
+        }
+        async __running__() {
+          await this.yieldLoop();
+          return this._running;
+        }
+        async __queued__() {
+          await this.yieldLoop();
+          return this.instance.queued();
+        }
+        async __done__() {
+          await this.yieldLoop();
+          return this._done;
+        }
+        async __groupCheck__(time) {
+          await this.yieldLoop();
+          return this._nextRequest + this.timeout < time;
+        }
+        computeCapacity() {
+          var maxConcurrent, reservoir;
+          ({ maxConcurrent, reservoir } = this.storeOptions);
+          if (maxConcurrent != null && reservoir != null) {
+            return Math.min(maxConcurrent - this._running, reservoir);
+          } else if (maxConcurrent != null) {
+            return maxConcurrent - this._running;
+          } else if (reservoir != null) {
+            return reservoir;
+          } else {
+            return null;
+          }
+        }
+        conditionsCheck(weight) {
+          var capacity;
+          capacity = this.computeCapacity();
+          return capacity == null || weight <= capacity;
+        }
+        async __incrementReservoir__(incr) {
+          var reservoir;
+          await this.yieldLoop();
+          reservoir = this.storeOptions.reservoir += incr;
+          this.instance._drainAll(this.computeCapacity());
+          return reservoir;
+        }
+        async __currentReservoir__() {
+          await this.yieldLoop();
+          return this.storeOptions.reservoir;
+        }
+        isBlocked(now) {
+          return this._unblockTime >= now;
+        }
+        check(weight, now) {
+          return this.conditionsCheck(weight) && this._nextRequest - now <= 0;
+        }
+        async __check__(weight) {
+          var now;
+          await this.yieldLoop();
+          now = Date.now();
+          return this.check(weight, now);
+        }
+        async __register__(index, weight, expiration) {
+          var now, wait;
+          await this.yieldLoop();
+          now = Date.now();
+          if (this.conditionsCheck(weight)) {
+            this._running += weight;
+            if (this.storeOptions.reservoir != null) {
+              this.storeOptions.reservoir -= weight;
+            }
+            wait = Math.max(this._nextRequest - now, 0);
+            this._nextRequest = now + wait + this.storeOptions.minTime;
+            return {
+              success: true,
+              wait,
+              reservoir: this.storeOptions.reservoir
+            };
+          } else {
+            return {
+              success: false
+            };
+          }
+        }
+        strategyIsBlock() {
+          return this.storeOptions.strategy === 3;
+        }
+        async __submit__(queueLength, weight) {
+          var blocked, now, reachedHWM;
+          await this.yieldLoop();
+          if (this.storeOptions.maxConcurrent != null && weight > this.storeOptions.maxConcurrent) {
+            throw new BottleneckError$2(`Impossible to add a job having a weight of ${weight} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);
+          }
+          now = Date.now();
+          reachedHWM = this.storeOptions.highWater != null && queueLength === this.storeOptions.highWater && !this.check(weight, now);
+          blocked = this.strategyIsBlock() && (reachedHWM || this.isBlocked(now));
+          if (blocked) {
+            this._unblockTime = now + this.computePenalty();
+            this._nextRequest = this._unblockTime + this.storeOptions.minTime;
+            this.instance._dropAllQueued();
+          }
+          return {
+            reachedHWM,
+            blocked,
+            strategy: this.storeOptions.strategy
+          };
+        }
+        async __free__(index, weight) {
+          await this.yieldLoop();
+          this._running -= weight;
+          this._done += weight;
+          this.instance._drainAll(this.computeCapacity());
+          return {
+            running: this._running
+          };
+        }
+      };
+      var LocalDatastore_1 = LocalDatastore;
+      var BottleneckError$3, States;
+      BottleneckError$3 = BottleneckError_1;
+      States = class States {
+        constructor(status1) {
+          this.status = status1;
+          this._jobs = {};
+          this.counts = this.status.map(function() {
+            return 0;
+          });
+        }
+        next(id) {
+          var current, next;
+          current = this._jobs[id];
+          next = current + 1;
+          if (current != null && next < this.status.length) {
+            this.counts[current]--;
+            this.counts[next]++;
+            return this._jobs[id]++;
+          } else if (current != null) {
+            this.counts[current]--;
+            return delete this._jobs[id];
+          }
+        }
+        start(id) {
+          var initial;
+          initial = 0;
+          this._jobs[id] = initial;
+          return this.counts[initial]++;
+        }
+        remove(id) {
+          var current;
+          current = this._jobs[id];
+          if (current != null) {
+            this.counts[current]--;
+            delete this._jobs[id];
+          }
+          return current != null;
+        }
+        jobStatus(id) {
+          var ref;
+          return (ref = this.status[this._jobs[id]]) != null ? ref : null;
+        }
+        statusJobs(status) {
+          var k, pos, ref, results, v;
+          if (status != null) {
+            pos = this.status.indexOf(status);
+            if (pos < 0) {
+              throw new BottleneckError$3(`status must be one of ${this.status.join(", ")}`);
+            }
+            ref = this._jobs;
+            results = [];
+            for (k in ref) {
+              v = ref[k];
+              if (v === pos) {
+                results.push(k);
+              }
+            }
+            return results;
+          } else {
+            return Object.keys(this._jobs);
+          }
+        }
+        statusCounts() {
+          return this.counts.reduce(((acc, v, i) => {
+            acc[this.status[i]] = v;
+            return acc;
+          }), {});
+        }
+      };
+      var States_1 = States;
+      var DLList$2, Sync;
+      DLList$2 = DLList_1;
+      Sync = class Sync {
+        constructor(name, Promise2) {
+          this.schedule = this.schedule.bind(this);
+          this.name = name;
+          this.Promise = Promise2;
+          this._running = 0;
+          this._queue = new DLList$2();
+        }
+        isEmpty() {
+          return this._queue.length === 0;
+        }
+        async _tryToRun() {
+          var args, cb, error3, reject, resolve2, returned, task;
+          if (this._running < 1 && this._queue.length > 0) {
+            this._running++;
+            ({ task, args, resolve: resolve2, reject } = this._queue.shift());
+            cb = await (async function() {
+              try {
+                returned = await task(...args);
+                return function() {
+                  return resolve2(returned);
+                };
+              } catch (error1) {
+                error3 = error1;
+                return function() {
+                  return reject(error3);
+                };
+              }
+            })();
+            this._running--;
+            this._tryToRun();
+            return cb();
+          }
+        }
+        schedule(task, ...args) {
+          var promise, reject, resolve2;
+          resolve2 = reject = null;
+          promise = new this.Promise(function(_resolve, _reject) {
+            resolve2 = _resolve;
+            return reject = _reject;
+          });
+          this._queue.push({ task, args, resolve: resolve2, reject });
+          this._tryToRun();
+          return promise;
+        }
+      };
+      var Sync_1 = Sync;
+      var version = "2.19.5";
+      var version$1 = {
+        version
+      };
+      var version$2 = /* @__PURE__ */ Object.freeze({
+        version,
+        default: version$1
+      });
+      var require$$2 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var require$$3 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var require$$4 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var Events$2, Group, IORedisConnection$1, RedisConnection$1, Scripts$1, parser$3;
+      parser$3 = parser;
+      Events$2 = Events_1;
+      RedisConnection$1 = require$$2;
+      IORedisConnection$1 = require$$3;
+      Scripts$1 = require$$4;
+      Group = (function() {
+        class Group2 {
+          constructor(limiterOptions = {}) {
+            this.deleteKey = this.deleteKey.bind(this);
+            this.limiterOptions = limiterOptions;
+            parser$3.load(this.limiterOptions, this.defaults, this);
+            this.Events = new Events$2(this);
+            this.instances = {};
+            this.Bottleneck = Bottleneck_1;
+            this._startAutoCleanup();
+            this.sharedConnection = this.connection != null;
+            if (this.connection == null) {
+              if (this.limiterOptions.datastore === "redis") {
+                this.connection = new RedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
+              } else if (this.limiterOptions.datastore === "ioredis") {
+                this.connection = new IORedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
+              }
+            }
+          }
+          key(key = "") {
+            var ref;
+            return (ref = this.instances[key]) != null ? ref : (() => {
+              var limiter;
+              limiter = this.instances[key] = new this.Bottleneck(Object.assign(this.limiterOptions, {
+                id: `${this.id}-${key}`,
+                timeout: this.timeout,
+                connection: this.connection
+              }));
+              this.Events.trigger("created", limiter, key);
+              return limiter;
+            })();
+          }
+          async deleteKey(key = "") {
+            var deleted, instance;
+            instance = this.instances[key];
+            if (this.connection) {
+              deleted = await this.connection.__runCommand__(["del", ...Scripts$1.allKeys(`${this.id}-${key}`)]);
+            }
+            if (instance != null) {
+              delete this.instances[key];
+              await instance.disconnect();
+            }
+            return instance != null || deleted > 0;
+          }
+          limiters() {
+            var k, ref, results, v;
+            ref = this.instances;
+            results = [];
+            for (k in ref) {
+              v = ref[k];
+              results.push({
+                key: k,
+                limiter: v
+              });
+            }
+            return results;
+          }
+          keys() {
+            return Object.keys(this.instances);
+          }
+          async clusterKeys() {
+            var cursor, end, found, i, k, keys, len, next, start;
+            if (this.connection == null) {
+              return this.Promise.resolve(this.keys());
+            }
+            keys = [];
+            cursor = null;
+            start = `b_${this.id}-`.length;
+            end = "_settings".length;
+            while (cursor !== 0) {
+              [next, found] = await this.connection.__runCommand__(["scan", cursor != null ? cursor : 0, "match", `b_${this.id}-*_settings`, "count", 1e4]);
+              cursor = ~~next;
+              for (i = 0, len = found.length; i < len; i++) {
+                k = found[i];
+                keys.push(k.slice(start, -end));
+              }
+            }
+            return keys;
+          }
+          _startAutoCleanup() {
+            var base;
+            clearInterval(this.interval);
+            return typeof (base = this.interval = setInterval(async () => {
+              var e, k, ref, results, time, v;
+              time = Date.now();
+              ref = this.instances;
+              results = [];
+              for (k in ref) {
+                v = ref[k];
+                try {
+                  if (await v._store.__groupCheck__(time)) {
+                    results.push(this.deleteKey(k));
+                  } else {
+                    results.push(void 0);
+                  }
+                } catch (error3) {
+                  e = error3;
+                  results.push(v.Events.trigger("error", e));
+                }
+              }
+              return results;
+            }, this.timeout / 2)).unref === "function" ? base.unref() : void 0;
+          }
+          updateSettings(options = {}) {
+            parser$3.overwrite(options, this.defaults, this);
+            parser$3.overwrite(options, options, this.limiterOptions);
+            if (options.timeout != null) {
+              return this._startAutoCleanup();
+            }
+          }
+          disconnect(flush = true) {
+            var ref;
+            if (!this.sharedConnection) {
+              return (ref = this.connection) != null ? ref.disconnect(flush) : void 0;
+            }
+          }
+        }
+        Group2.prototype.defaults = {
+          timeout: 1e3 * 60 * 5,
+          connection: null,
+          Promise,
+          id: "group-key"
+        };
+        return Group2;
+      }).call(commonjsGlobal);
+      var Group_1 = Group;
+      var Batcher, Events$3, parser$4;
+      parser$4 = parser;
+      Events$3 = Events_1;
+      Batcher = (function() {
+        class Batcher2 {
+          constructor(options = {}) {
+            this.options = options;
+            parser$4.load(this.options, this.defaults, this);
+            this.Events = new Events$3(this);
+            this._arr = [];
+            this._resetPromise();
+            this._lastFlush = Date.now();
+          }
+          _resetPromise() {
+            return this._promise = new this.Promise((res, rej) => {
+              return this._resolve = res;
+            });
+          }
+          _flush() {
+            clearTimeout(this._timeout);
+            this._lastFlush = Date.now();
+            this._resolve();
+            this.Events.trigger("batch", this._arr);
+            this._arr = [];
+            return this._resetPromise();
+          }
+          add(data) {
+            var ret;
+            this._arr.push(data);
+            ret = this._promise;
+            if (this._arr.length === this.maxSize) {
+              this._flush();
+            } else if (this.maxTime != null && this._arr.length === 1) {
+              this._timeout = setTimeout(() => {
+                return this._flush();
+              }, this.maxTime);
+            }
+            return ret;
+          }
+        }
+        Batcher2.prototype.defaults = {
+          maxTime: null,
+          maxSize: null,
+          Promise
+        };
+        return Batcher2;
+      }).call(commonjsGlobal);
+      var Batcher_1 = Batcher;
+      var require$$4$1 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
+      var require$$8 = getCjsExportFromNamespace(version$2);
+      var Bottleneck2, DEFAULT_PRIORITY$1, Events$4, Job$1, LocalDatastore$1, NUM_PRIORITIES$1, Queues$1, RedisDatastore$1, States$1, Sync$1, parser$5, splice = [].splice;
+      NUM_PRIORITIES$1 = 10;
+      DEFAULT_PRIORITY$1 = 5;
+      parser$5 = parser;
+      Queues$1 = Queues_1;
+      Job$1 = Job_1;
+      LocalDatastore$1 = LocalDatastore_1;
+      RedisDatastore$1 = require$$4$1;
+      Events$4 = Events_1;
+      States$1 = States_1;
+      Sync$1 = Sync_1;
+      Bottleneck2 = (function() {
+        class Bottleneck3 {
+          constructor(options = {}, ...invalid) {
+            var storeInstanceOptions, storeOptions;
+            this._addToQueue = this._addToQueue.bind(this);
+            this._validateOptions(options, invalid);
+            parser$5.load(options, this.instanceDefaults, this);
+            this._queues = new Queues$1(NUM_PRIORITIES$1);
+            this._scheduled = {};
+            this._states = new States$1(["RECEIVED", "QUEUED", "RUNNING", "EXECUTING"].concat(this.trackDoneStatus ? ["DONE"] : []));
+            this._limiter = null;
+            this.Events = new Events$4(this);
+            this._submitLock = new Sync$1("submit", this.Promise);
+            this._registerLock = new Sync$1("register", this.Promise);
+            storeOptions = parser$5.load(options, this.storeDefaults, {});
+            this._store = (function() {
+              if (this.datastore === "redis" || this.datastore === "ioredis" || this.connection != null) {
+                storeInstanceOptions = parser$5.load(options, this.redisStoreDefaults, {});
+                return new RedisDatastore$1(this, storeOptions, storeInstanceOptions);
+              } else if (this.datastore === "local") {
+                storeInstanceOptions = parser$5.load(options, this.localStoreDefaults, {});
+                return new LocalDatastore$1(this, storeOptions, storeInstanceOptions);
+              } else {
+                throw new Bottleneck3.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`);
+              }
+            }).call(this);
+            this._queues.on("leftzero", () => {
+              var ref;
+              return (ref = this._store.heartbeat) != null ? typeof ref.ref === "function" ? ref.ref() : void 0 : void 0;
+            });
+            this._queues.on("zero", () => {
+              var ref;
+              return (ref = this._store.heartbeat) != null ? typeof ref.unref === "function" ? ref.unref() : void 0 : void 0;
+            });
+          }
+          _validateOptions(options, invalid) {
+            if (!(options != null && typeof options === "object" && invalid.length === 0)) {
+              throw new Bottleneck3.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.");
+            }
+          }
+          ready() {
+            return this._store.ready;
+          }
+          clients() {
+            return this._store.clients;
+          }
+          channel() {
+            return `b_${this.id}`;
+          }
+          channel_client() {
+            return `b_${this.id}_${this._store.clientId}`;
+          }
+          publish(message) {
+            return this._store.__publish__(message);
+          }
+          disconnect(flush = true) {
+            return this._store.__disconnect__(flush);
+          }
+          chain(_limiter) {
+            this._limiter = _limiter;
+            return this;
+          }
+          queued(priority) {
+            return this._queues.queued(priority);
+          }
+          clusterQueued() {
+            return this._store.__queued__();
+          }
+          empty() {
+            return this.queued() === 0 && this._submitLock.isEmpty();
+          }
+          running() {
+            return this._store.__running__();
+          }
+          done() {
+            return this._store.__done__();
+          }
+          jobStatus(id) {
+            return this._states.jobStatus(id);
+          }
+          jobs(status) {
+            return this._states.statusJobs(status);
+          }
+          counts() {
+            return this._states.statusCounts();
+          }
+          _randomIndex() {
+            return Math.random().toString(36).slice(2);
+          }
+          check(weight = 1) {
+            return this._store.__check__(weight);
+          }
+          _clearGlobalState(index) {
+            if (this._scheduled[index] != null) {
+              clearTimeout(this._scheduled[index].expiration);
+              delete this._scheduled[index];
+              return true;
+            } else {
+              return false;
+            }
+          }
+          async _free(index, job, options, eventInfo) {
+            var e, running;
+            try {
+              ({ running } = await this._store.__free__(index, options.weight));
+              this.Events.trigger("debug", `Freed ${options.id}`, eventInfo);
+              if (running === 0 && this.empty()) {
+                return this.Events.trigger("idle");
+              }
+            } catch (error1) {
+              e = error1;
+              return this.Events.trigger("error", e);
+            }
+          }
+          _run(index, job, wait) {
+            var clearGlobalState, free, run;
+            job.doRun();
+            clearGlobalState = this._clearGlobalState.bind(this, index);
+            run = this._run.bind(this, index, job);
+            free = this._free.bind(this, index, job);
+            return this._scheduled[index] = {
+              timeout: setTimeout(() => {
+                return job.doExecute(this._limiter, clearGlobalState, run, free);
+              }, wait),
+              expiration: job.options.expiration != null ? setTimeout(function() {
+                return job.doExpire(clearGlobalState, run, free);
+              }, wait + job.options.expiration) : void 0,
+              job
+            };
+          }
+          _drainOne(capacity) {
+            return this._registerLock.schedule(() => {
+              var args, index, next, options, queue;
+              if (this.queued() === 0) {
+                return this.Promise.resolve(null);
+              }
+              queue = this._queues.getFirst();
+              ({ options, args } = next = queue.first());
+              if (capacity != null && options.weight > capacity) {
+                return this.Promise.resolve(null);
+              }
+              this.Events.trigger("debug", `Draining ${options.id}`, { args, options });
+              index = this._randomIndex();
+              return this._store.__register__(index, options.weight, options.expiration).then(({ success, wait, reservoir }) => {
+                var empty;
+                this.Events.trigger("debug", `Drained ${options.id}`, { success, args, options });
+                if (success) {
+                  queue.shift();
+                  empty = this.empty();
+                  if (empty) {
+                    this.Events.trigger("empty");
+                  }
+                  if (reservoir === 0) {
+                    this.Events.trigger("depleted", empty);
+                  }
+                  this._run(index, next, wait);
+                  return this.Promise.resolve(options.weight);
+                } else {
+                  return this.Promise.resolve(null);
+                }
+              });
+            });
+          }
+          _drainAll(capacity, total = 0) {
+            return this._drainOne(capacity).then((drained) => {
+              var newCapacity;
+              if (drained != null) {
+                newCapacity = capacity != null ? capacity - drained : capacity;
+                return this._drainAll(newCapacity, total + drained);
+              } else {
+                return this.Promise.resolve(total);
+              }
+            }).catch((e) => {
+              return this.Events.trigger("error", e);
+            });
+          }
+          _dropAllQueued(message) {
+            return this._queues.shiftAll(function(job) {
+              return job.doDrop({ message });
+            });
+          }
+          stop(options = {}) {
+            var done, waitForExecuting;
+            options = parser$5.load(options, this.stopDefaults);
+            waitForExecuting = (at) => {
+              var finished;
+              finished = () => {
+                var counts;
+                counts = this._states.counts;
+                return counts[0] + counts[1] + counts[2] + counts[3] === at;
+              };
+              return new this.Promise((resolve2, reject) => {
+                if (finished()) {
+                  return resolve2();
+                } else {
+                  return this.on("done", () => {
+                    if (finished()) {
+                      this.removeAllListeners("done");
+                      return resolve2();
+                    }
+                  });
+                }
+              });
+            };
+            done = options.dropWaitingJobs ? (this._run = function(index, next) {
+              return next.doDrop({
+                message: options.dropErrorMessage
+              });
+            }, this._drainOne = () => {
+              return this.Promise.resolve(null);
+            }, this._registerLock.schedule(() => {
+              return this._submitLock.schedule(() => {
+                var k, ref, v;
+                ref = this._scheduled;
+                for (k in ref) {
+                  v = ref[k];
+                  if (this.jobStatus(v.job.options.id) === "RUNNING") {
+                    clearTimeout(v.timeout);
+                    clearTimeout(v.expiration);
+                    v.job.doDrop({
+                      message: options.dropErrorMessage
+                    });
+                  }
+                }
+                this._dropAllQueued(options.dropErrorMessage);
+                return waitForExecuting(0);
+              });
+            })) : this.schedule({
+              priority: NUM_PRIORITIES$1 - 1,
+              weight: 0
+            }, () => {
+              return waitForExecuting(1);
+            });
+            this._receive = function(job) {
+              return job._reject(new Bottleneck3.prototype.BottleneckError(options.enqueueErrorMessage));
+            };
+            this.stop = () => {
+              return this.Promise.reject(new Bottleneck3.prototype.BottleneckError("stop() has already been called"));
+            };
+            return done;
+          }
+          async _addToQueue(job) {
+            var args, blocked, error3, options, reachedHWM, shifted, strategy;
+            ({ args, options } = job);
+            try {
+              ({ reachedHWM, blocked, strategy } = await this._store.__submit__(this.queued(), options.weight));
+            } catch (error1) {
+              error3 = error1;
+              this.Events.trigger("debug", `Could not queue ${options.id}`, { args, options, error: error3 });
+              job.doDrop({ error: error3 });
+              return false;
+            }
+            if (blocked) {
+              job.doDrop();
+              return true;
+            } else if (reachedHWM) {
+              shifted = strategy === Bottleneck3.prototype.strategy.LEAK ? this._queues.shiftLastFrom(options.priority) : strategy === Bottleneck3.prototype.strategy.OVERFLOW_PRIORITY ? this._queues.shiftLastFrom(options.priority + 1) : strategy === Bottleneck3.prototype.strategy.OVERFLOW ? job : void 0;
+              if (shifted != null) {
+                shifted.doDrop();
+              }
+              if (shifted == null || strategy === Bottleneck3.prototype.strategy.OVERFLOW) {
+                if (shifted == null) {
+                  job.doDrop();
+                }
+                return reachedHWM;
+              }
+            }
+            job.doQueue(reachedHWM, blocked);
+            this._queues.push(job);
+            await this._drainAll();
+            return reachedHWM;
+          }
+          _receive(job) {
+            if (this._states.jobStatus(job.options.id) != null) {
+              job._reject(new Bottleneck3.prototype.BottleneckError(`A job with the same id already exists (id=${job.options.id})`));
+              return false;
+            } else {
+              job.doReceive();
+              return this._submitLock.schedule(this._addToQueue, job);
+            }
+          }
+          submit(...args) {
+            var cb, fn, job, options, ref, ref1, task;
+            if (typeof args[0] === "function") {
+              ref = args, [fn, ...args] = ref, [cb] = splice.call(args, -1);
+              options = parser$5.load({}, this.jobDefaults);
+            } else {
+              ref1 = args, [options, fn, ...args] = ref1, [cb] = splice.call(args, -1);
+              options = parser$5.load(options, this.jobDefaults);
+            }
+            task = (...args2) => {
+              return new this.Promise(function(resolve2, reject) {
+                return fn(...args2, function(...args3) {
+                  return (args3[0] != null ? reject : resolve2)(args3);
+                });
+              });
+            };
+            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
+            job.promise.then(function(args2) {
+              return typeof cb === "function" ? cb(...args2) : void 0;
+            }).catch(function(args2) {
+              if (Array.isArray(args2)) {
+                return typeof cb === "function" ? cb(...args2) : void 0;
+              } else {
+                return typeof cb === "function" ? cb(args2) : void 0;
+              }
+            });
+            return this._receive(job);
+          }
+          schedule(...args) {
+            var job, options, task;
+            if (typeof args[0] === "function") {
+              [task, ...args] = args;
+              options = {};
+            } else {
+              [options, task, ...args] = args;
+            }
+            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
+            this._receive(job);
+            return job.promise;
+          }
+          wrap(fn) {
+            var schedule, wrapped;
+            schedule = this.schedule.bind(this);
+            wrapped = function(...args) {
+              return schedule(fn.bind(this), ...args);
+            };
+            wrapped.withOptions = function(options, ...args) {
+              return schedule(options, fn, ...args);
+            };
+            return wrapped;
+          }
+          async updateSettings(options = {}) {
+            await this._store.__updateSettings__(parser$5.overwrite(options, this.storeDefaults));
+            parser$5.overwrite(options, this.instanceDefaults, this);
+            return this;
+          }
+          currentReservoir() {
+            return this._store.__currentReservoir__();
+          }
+          incrementReservoir(incr = 0) {
+            return this._store.__incrementReservoir__(incr);
+          }
+        }
+        Bottleneck3.default = Bottleneck3;
+        Bottleneck3.Events = Events$4;
+        Bottleneck3.version = Bottleneck3.prototype.version = require$$8.version;
+        Bottleneck3.strategy = Bottleneck3.prototype.strategy = {
+          LEAK: 1,
+          OVERFLOW: 2,
+          OVERFLOW_PRIORITY: 4,
+          BLOCK: 3
+        };
+        Bottleneck3.BottleneckError = Bottleneck3.prototype.BottleneckError = BottleneckError_1;
+        Bottleneck3.Group = Bottleneck3.prototype.Group = Group_1;
+        Bottleneck3.RedisConnection = Bottleneck3.prototype.RedisConnection = require$$2;
+        Bottleneck3.IORedisConnection = Bottleneck3.prototype.IORedisConnection = require$$3;
+        Bottleneck3.Batcher = Bottleneck3.prototype.Batcher = Batcher_1;
+        Bottleneck3.prototype.jobDefaults = {
+          priority: DEFAULT_PRIORITY$1,
+          weight: 1,
+          expiration: null,
+          id: ""
+        };
+        Bottleneck3.prototype.storeDefaults = {
+          maxConcurrent: null,
+          minTime: 0,
+          highWater: null,
+          strategy: Bottleneck3.prototype.strategy.LEAK,
+          penalty: null,
+          reservoir: null,
+          reservoirRefreshInterval: null,
+          reservoirRefreshAmount: null,
+          reservoirIncreaseInterval: null,
+          reservoirIncreaseAmount: null,
+          reservoirIncreaseMaximum: null
+        };
+        Bottleneck3.prototype.localStoreDefaults = {
+          Promise,
+          timeout: null,
+          heartbeatInterval: 250
+        };
+        Bottleneck3.prototype.redisStoreDefaults = {
+          Promise,
+          timeout: null,
+          heartbeatInterval: 5e3,
+          clientTimeout: 1e4,
+          Redis: null,
+          clientOptions: {},
+          clusterNodes: null,
+          clearDatastore: false,
+          connection: null
+        };
+        Bottleneck3.prototype.instanceDefaults = {
+          datastore: "local",
+          connection: null,
+          id: "",
+          rejectOnDrop: true,
+          trackDoneStatus: false,
+          Promise
+        };
+        Bottleneck3.prototype.stopDefaults = {
+          enqueueErrorMessage: "This limiter has been stopped and cannot accept new jobs.",
+          dropWaitingJobs: true,
+          dropErrorMessage: "This limiter has been stopped."
+        };
+        return Bottleneck3;
+      }).call(commonjsGlobal);
+      var Bottleneck_1 = Bottleneck2;
+      var lib = Bottleneck_1;
+      return lib;
+    }));
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/config.js
+var require_config = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
+    "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
+    var os_1 = __importDefault2(require("os"));
+    var core_1 = require_core();
+    function getUploadChunkSize() {
+      return 8 * 1024 * 1024;
+    }
+    exports2.getUploadChunkSize = getUploadChunkSize;
+    function getRuntimeToken() {
+      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
+      if (!token) {
+        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
+      }
+      return token;
+    }
+    exports2.getRuntimeToken = getRuntimeToken;
+    function getResultsServiceUrl() {
+      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
+      if (!resultsUrl) {
+        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
+      }
+      return new URL(resultsUrl).origin;
+    }
+    exports2.getResultsServiceUrl = getResultsServiceUrl;
+    function isGhes() {
+      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
+      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
+      const isGitHubHost = hostname === "GITHUB.COM";
+      const isGheHost = hostname.endsWith(".GHE.COM");
+      const isLocalHost = hostname.endsWith(".LOCALHOST");
+      return !isGitHubHost && !isGheHost && !isLocalHost;
+    }
+    exports2.isGhes = isGhes;
+    function getGitHubWorkspaceDir() {
+      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
+      if (!ghWorkspaceDir) {
+        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
+      }
+      return ghWorkspaceDir;
+    }
+    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
+    function getConcurrency() {
+      const numCPUs = os_1.default.cpus().length;
+      let concurrencyCap = 32;
+      if (numCPUs > 4) {
+        const concurrency = 16 * numCPUs;
+        concurrencyCap = concurrency > 300 ? 300 : concurrency;
+      }
+      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
+      if (concurrencyOverride) {
+        const concurrency = parseInt(concurrencyOverride);
+        if (isNaN(concurrency) || concurrency < 1) {
+          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
+        }
+        if (concurrency < concurrencyCap) {
+          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
+          return concurrency;
+        }
+        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
+        return concurrencyCap;
+      }
+      return 5;
+    }
+    exports2.getConcurrency = getConcurrency;
+    function getUploadChunkTimeout() {
+      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
+      if (!timeoutVar) {
+        return 3e5;
+      }
+      const timeout = parseInt(timeoutVar);
+      if (isNaN(timeout)) {
+        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
+      }
+      return timeout;
+    }
+    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
+    function getMaxArtifactListCount() {
+      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
+      const maxCount = parseInt(maxCountVar);
+      if (isNaN(maxCount) || maxCount < 1) {
+        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
+      }
+      return maxCount;
+    }
+    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js
+var require_json_typings = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isJsonObject = exports2.typeofJsonValue = void 0;
+    function typeofJsonValue(value) {
+      let t = typeof value;
+      if (t == "object") {
+        if (Array.isArray(value))
+          return "array";
+        if (value === null)
+          return "null";
+      }
+      return t;
+    }
+    exports2.typeofJsonValue = typeofJsonValue;
+    function isJsonObject(value) {
+      return value !== null && typeof value == "object" && !Array.isArray(value);
+    }
+    exports2.isJsonObject = isJsonObject;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js
+var require_base64 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.base64encode = exports2.base64decode = void 0;
+    var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
+    var decTable = [];
+    for (let i = 0; i < encTable.length; i++)
+      decTable[encTable[i].charCodeAt(0)] = i;
+    decTable["-".charCodeAt(0)] = encTable.indexOf("+");
+    decTable["_".charCodeAt(0)] = encTable.indexOf("/");
+    function base64decode(base64Str) {
+      let es = base64Str.length * 3 / 4;
+      if (base64Str[base64Str.length - 2] == "=")
+        es -= 2;
+      else if (base64Str[base64Str.length - 1] == "=")
+        es -= 1;
+      let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0;
+      for (let i = 0; i < base64Str.length; i++) {
+        b = decTable[base64Str.charCodeAt(i)];
+        if (b === void 0) {
+          switch (base64Str[i]) {
+            case "=":
+              groupPos = 0;
+            // reset state when padding found
+            case "\n":
+            case "\r":
+            case "	":
+            case " ":
+              continue;
+            // skip white-space, and padding
+            default:
+              throw Error(`invalid base64 string.`);
+          }
+        }
+        switch (groupPos) {
+          case 0:
+            p = b;
+            groupPos = 1;
+            break;
+          case 1:
+            bytes[bytePos++] = p << 2 | (b & 48) >> 4;
+            p = b;
+            groupPos = 2;
+            break;
+          case 2:
+            bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2;
+            p = b;
+            groupPos = 3;
+            break;
+          case 3:
+            bytes[bytePos++] = (p & 3) << 6 | b;
+            groupPos = 0;
+            break;
+        }
+      }
+      if (groupPos == 1)
+        throw Error(`invalid base64 string.`);
+      return bytes.subarray(0, bytePos);
+    }
+    exports2.base64decode = base64decode;
+    function base64encode(bytes) {
+      let base64 = "", groupPos = 0, b, p = 0;
+      for (let i = 0; i < bytes.length; i++) {
+        b = bytes[i];
+        switch (groupPos) {
+          case 0:
+            base64 += encTable[b >> 2];
+            p = (b & 3) << 4;
+            groupPos = 1;
+            break;
+          case 1:
+            base64 += encTable[p | b >> 4];
+            p = (b & 15) << 2;
+            groupPos = 2;
+            break;
+          case 2:
+            base64 += encTable[p | b >> 6];
+            base64 += encTable[b & 63];
+            groupPos = 0;
+            break;
+        }
+      }
+      if (groupPos) {
+        base64 += encTable[p];
+        base64 += "=";
+        if (groupPos == 1)
+          base64 += "=";
+      }
+      return base64;
+    }
+    exports2.base64encode = base64encode;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js
+var require_protobufjs_utf8 = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.utf8read = void 0;
+    var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk);
+    function utf8read(bytes) {
+      if (bytes.length < 1)
+        return "";
+      let pos = 0, parts = [], chunk = [], i = 0, t;
+      let len = bytes.length;
+      while (pos < len) {
+        t = bytes[pos++];
+        if (t < 128)
+          chunk[i++] = t;
+        else if (t > 191 && t < 224)
+          chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63;
+        else if (t > 239 && t < 365) {
+          t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536;
+          chunk[i++] = 55296 + (t >> 10);
+          chunk[i++] = 56320 + (t & 1023);
+        } else
+          chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63;
+        if (i > 8191) {
+          parts.push(fromCharCodes(chunk));
+          i = 0;
+        }
+      }
+      if (parts.length) {
+        if (i)
+          parts.push(fromCharCodes(chunk.slice(0, i)));
+        return parts.join("");
+      }
+      return fromCharCodes(chunk.slice(0, i));
+    }
+    exports2.utf8read = utf8read;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js
+var require_binary_format_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
+    var UnknownFieldHandler;
+    (function(UnknownFieldHandler2) {
+      UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
+      UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
+        let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
+        container.push({ no: fieldNo, wireType, data });
+      };
+      UnknownFieldHandler2.onWrite = (typeName, message, writer) => {
+        for (let { no, wireType, data } of UnknownFieldHandler2.list(message))
+          writer.tag(no, wireType).raw(data);
+      };
+      UnknownFieldHandler2.list = (message, fieldNo) => {
+        if (is(message)) {
+          let all = message[UnknownFieldHandler2.symbol];
+          return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all;
+        }
+        return [];
+      };
+      UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0];
+      const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]);
+    })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {}));
+    function mergeBinaryOptions(a, b) {
+      return Object.assign(Object.assign({}, a), b);
+    }
+    exports2.mergeBinaryOptions = mergeBinaryOptions;
+    var WireType;
+    (function(WireType2) {
+      WireType2[WireType2["Varint"] = 0] = "Varint";
+      WireType2[WireType2["Bit64"] = 1] = "Bit64";
+      WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited";
+      WireType2[WireType2["StartGroup"] = 3] = "StartGroup";
+      WireType2[WireType2["EndGroup"] = 4] = "EndGroup";
+      WireType2[WireType2["Bit32"] = 5] = "Bit32";
+    })(WireType = exports2.WireType || (exports2.WireType = {}));
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js
+var require_goog_varint = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0;
+    function varint64read() {
+      let lowBits = 0;
+      let highBits = 0;
+      for (let shift = 0; shift < 28; shift += 7) {
+        let b = this.buf[this.pos++];
+        lowBits |= (b & 127) << shift;
+        if ((b & 128) == 0) {
+          this.assertBounds();
+          return [lowBits, highBits];
+        }
+      }
+      let middleByte = this.buf[this.pos++];
+      lowBits |= (middleByte & 15) << 28;
+      highBits = (middleByte & 112) >> 4;
+      if ((middleByte & 128) == 0) {
+        this.assertBounds();
+        return [lowBits, highBits];
+      }
+      for (let shift = 3; shift <= 31; shift += 7) {
+        let b = this.buf[this.pos++];
+        highBits |= (b & 127) << shift;
+        if ((b & 128) == 0) {
+          this.assertBounds();
+          return [lowBits, highBits];
+        }
+      }
+      throw new Error("invalid varint");
+    }
+    exports2.varint64read = varint64read;
+    function varint64write(lo, hi, bytes) {
+      for (let i = 0; i < 28; i = i + 7) {
+        const shift = lo >>> i;
+        const hasNext = !(shift >>> 7 == 0 && hi == 0);
+        const byte = (hasNext ? shift | 128 : shift) & 255;
+        bytes.push(byte);
+        if (!hasNext) {
+          return;
+        }
+      }
+      const splitBits = lo >>> 28 & 15 | (hi & 7) << 4;
+      const hasMoreBits = !(hi >> 3 == 0);
+      bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255);
+      if (!hasMoreBits) {
+        return;
+      }
+      for (let i = 3; i < 31; i = i + 7) {
+        const shift = hi >>> i;
+        const hasNext = !(shift >>> 7 == 0);
+        const byte = (hasNext ? shift | 128 : shift) & 255;
+        bytes.push(byte);
+        if (!hasNext) {
+          return;
+        }
+      }
+      bytes.push(hi >>> 31 & 1);
+    }
+    exports2.varint64write = varint64write;
+    var TWO_PWR_32_DBL = (1 << 16) * (1 << 16);
+    function int64fromString(dec) {
+      let minus = dec[0] == "-";
+      if (minus)
+        dec = dec.slice(1);
+      const base = 1e6;
+      let lowBits = 0;
+      let highBits = 0;
+      function add1e6digit(begin, end) {
+        const digit1e6 = Number(dec.slice(begin, end));
+        highBits *= base;
+        lowBits = lowBits * base + digit1e6;
+        if (lowBits >= TWO_PWR_32_DBL) {
+          highBits = highBits + (lowBits / TWO_PWR_32_DBL | 0);
+          lowBits = lowBits % TWO_PWR_32_DBL;
+        }
+      }
+      add1e6digit(-24, -18);
+      add1e6digit(-18, -12);
+      add1e6digit(-12, -6);
+      add1e6digit(-6);
+      return [minus, lowBits, highBits];
+    }
+    exports2.int64fromString = int64fromString;
+    function int64toString(bitsLow, bitsHigh) {
+      if (bitsHigh >>> 0 <= 2097151) {
+        return "" + (TWO_PWR_32_DBL * bitsHigh + (bitsLow >>> 0));
+      }
+      let low = bitsLow & 16777215;
+      let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215;
+      let high = bitsHigh >> 16 & 65535;
+      let digitA = low + mid * 6777216 + high * 6710656;
+      let digitB = mid + high * 8147497;
+      let digitC = high * 2;
+      let base = 1e7;
+      if (digitA >= base) {
+        digitB += Math.floor(digitA / base);
+        digitA %= base;
+      }
+      if (digitB >= base) {
+        digitC += Math.floor(digitB / base);
+        digitB %= base;
+      }
+      function decimalFrom1e7(digit1e7, needLeadingZeros) {
+        let partial = digit1e7 ? String(digit1e7) : "";
+        if (needLeadingZeros) {
+          return "0000000".slice(partial.length) + partial;
+        }
+        return partial;
+      }
+      return decimalFrom1e7(
+        digitC,
+        /*needLeadingZeros=*/
+        0
+      ) + decimalFrom1e7(
+        digitB,
+        /*needLeadingZeros=*/
+        digitC
+      ) + // If the final 1e7 digit didn't need leading zeros, we would have
+      // returned via the trivial code path at the top.
+      decimalFrom1e7(
+        digitA,
+        /*needLeadingZeros=*/
+        1
+      );
+    }
+    exports2.int64toString = int64toString;
+    function varint32write(value, bytes) {
+      if (value >= 0) {
+        while (value > 127) {
+          bytes.push(value & 127 | 128);
+          value = value >>> 7;
+        }
+        bytes.push(value);
+      } else {
+        for (let i = 0; i < 9; i++) {
+          bytes.push(value & 127 | 128);
+          value = value >> 7;
+        }
+        bytes.push(1);
+      }
+    }
+    exports2.varint32write = varint32write;
+    function varint32read() {
+      let b = this.buf[this.pos++];
+      let result = b & 127;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 7;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 14;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 127) << 21;
+      if ((b & 128) == 0) {
+        this.assertBounds();
+        return result;
+      }
+      b = this.buf[this.pos++];
+      result |= (b & 15) << 28;
+      for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++)
+        b = this.buf[this.pos++];
+      if ((b & 128) != 0)
+        throw new Error("invalid varint");
+      this.assertBounds();
+      return result >>> 0;
+    }
+    exports2.varint32read = varint32read;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js
+var require_pb_long = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0;
+    var goog_varint_1 = require_goog_varint();
+    var BI;
+    function detectBi() {
+      const dv = new DataView(new ArrayBuffer(8));
+      const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function";
+      BI = ok ? {
+        MIN: BigInt("-9223372036854775808"),
+        MAX: BigInt("9223372036854775807"),
+        UMIN: BigInt("0"),
+        UMAX: BigInt("18446744073709551615"),
+        C: BigInt,
+        V: dv
+      } : void 0;
+    }
+    exports2.detectBi = detectBi;
+    detectBi();
+    function assertBi(bi) {
+      if (!bi)
+        throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support");
+    }
+    var RE_DECIMAL_STR = /^-?[0-9]+$/;
+    var TWO_PWR_32_DBL = 4294967296;
+    var HALF_2_PWR_32 = 2147483648;
+    var SharedPbLong = class {
+      /**
+       * Create a new instance with the given bits.
+       */
+      constructor(lo, hi) {
+        this.lo = lo | 0;
+        this.hi = hi | 0;
+      }
+      /**
+       * Is this instance equal to 0?
+       */
+      isZero() {
+        return this.lo == 0 && this.hi == 0;
+      }
+      /**
+       * Convert to a native number.
+       */
+      toNumber() {
+        let result = this.hi * TWO_PWR_32_DBL + (this.lo >>> 0);
+        if (!Number.isSafeInteger(result))
+          throw new Error("cannot convert to safe number");
+        return result;
+      }
+    };
+    var PbULong = class _PbULong extends SharedPbLong {
+      /**
+       * Create instance from a `string`, `number` or `bigint`.
+       */
+      static from(value) {
+        if (BI)
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              if (value == "")
+                throw new Error("string is no integer");
+              value = BI.C(value);
+            case "number":
+              if (value === 0)
+                return this.ZERO;
+              value = BI.C(value);
+            case "bigint":
+              if (!value)
+                return this.ZERO;
+              if (value < BI.UMIN)
+                throw new Error("signed value for ulong");
+              if (value > BI.UMAX)
+                throw new Error("ulong too large");
+              BI.V.setBigUint64(0, value, true);
+              return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+          }
+        else
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              value = value.trim();
+              if (!RE_DECIMAL_STR.test(value))
+                throw new Error("string is no integer");
+              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
+              if (minus)
+                throw new Error("signed value for ulong");
+              return new _PbULong(lo, hi);
+            case "number":
+              if (value == 0)
+                return this.ZERO;
+              if (!Number.isSafeInteger(value))
+                throw new Error("number is no integer");
+              if (value < 0)
+                throw new Error("signed value for ulong");
+              return new _PbULong(value, value / TWO_PWR_32_DBL);
+          }
+        throw new Error("unknown value " + typeof value);
+      }
+      /**
+       * Convert to decimal string.
+       */
+      toString() {
+        return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi);
+      }
+      /**
+       * Convert to native bigint.
+       */
+      toBigInt() {
+        assertBi(BI);
+        BI.V.setInt32(0, this.lo, true);
+        BI.V.setInt32(4, this.hi, true);
+        return BI.V.getBigUint64(0, true);
+      }
+    };
+    exports2.PbULong = PbULong;
+    PbULong.ZERO = new PbULong(0, 0);
+    var PbLong = class _PbLong extends SharedPbLong {
+      /**
+       * Create instance from a `string`, `number` or `bigint`.
+       */
+      static from(value) {
+        if (BI)
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              if (value == "")
+                throw new Error("string is no integer");
+              value = BI.C(value);
+            case "number":
+              if (value === 0)
+                return this.ZERO;
+              value = BI.C(value);
+            case "bigint":
+              if (!value)
+                return this.ZERO;
+              if (value < BI.MIN)
+                throw new Error("signed long too small");
+              if (value > BI.MAX)
+                throw new Error("signed long too large");
+              BI.V.setBigInt64(0, value, true);
+              return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+          }
+        else
+          switch (typeof value) {
+            case "string":
+              if (value == "0")
+                return this.ZERO;
+              value = value.trim();
+              if (!RE_DECIMAL_STR.test(value))
+                throw new Error("string is no integer");
+              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
+              if (minus) {
+                if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0)
+                  throw new Error("signed long too small");
+              } else if (hi >= HALF_2_PWR_32)
+                throw new Error("signed long too large");
+              let pbl = new _PbLong(lo, hi);
+              return minus ? pbl.negate() : pbl;
+            case "number":
+              if (value == 0)
+                return this.ZERO;
+              if (!Number.isSafeInteger(value))
+                throw new Error("number is no integer");
+              return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL) : new _PbLong(-value, -value / TWO_PWR_32_DBL).negate();
+          }
+        throw new Error("unknown value " + typeof value);
+      }
+      /**
+       * Do we have a minus sign?
+       */
+      isNegative() {
+        return (this.hi & HALF_2_PWR_32) !== 0;
+      }
+      /**
+       * Negate two's complement.
+       * Invert all the bits and add one to the result.
+       */
+      negate() {
+        let hi = ~this.hi, lo = this.lo;
+        if (lo)
+          lo = ~lo + 1;
+        else
+          hi += 1;
+        return new _PbLong(lo, hi);
+      }
+      /**
+       * Convert to decimal string.
+       */
+      toString() {
+        if (BI)
+          return this.toBigInt().toString();
+        if (this.isNegative()) {
+          let n = this.negate();
+          return "-" + goog_varint_1.int64toString(n.lo, n.hi);
+        }
+        return goog_varint_1.int64toString(this.lo, this.hi);
+      }
+      /**
+       * Convert to native bigint.
+       */
+      toBigInt() {
+        assertBi(BI);
+        BI.V.setInt32(0, this.lo, true);
+        BI.V.setInt32(4, this.hi, true);
+        return BI.V.getBigInt64(0, true);
+      }
+    };
+    exports2.PbLong = PbLong;
+    PbLong.ZERO = new PbLong(0, 0);
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js
+var require_binary_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BinaryReader = exports2.binaryReadOptions = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var pb_long_1 = require_pb_long();
+    var goog_varint_1 = require_goog_varint();
+    var defaultsRead = {
+      readUnknownField: true,
+      readerFactory: (bytes) => new BinaryReader(bytes)
+    };
+    function binaryReadOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    }
+    exports2.binaryReadOptions = binaryReadOptions;
+    var BinaryReader = class {
+      constructor(buf, textDecoder) {
+        this.varint64 = goog_varint_1.varint64read;
+        this.uint32 = goog_varint_1.varint32read;
+        this.buf = buf;
+        this.len = buf.length;
+        this.pos = 0;
+        this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
+        this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", {
+          fatal: true,
+          ignoreBOM: true
+        });
+      }
+      /**
+       * Reads a tag - field number and wire type.
+       */
+      tag() {
+        let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;
+        if (fieldNo <= 0 || wireType < 0 || wireType > 5)
+          throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType);
+        return [fieldNo, wireType];
+      }
+      /**
+       * Skip one element on the wire and return the skipped data.
+       * Supports WireType.StartGroup since v2.0.0-alpha.23.
+       */
+      skip(wireType) {
+        let start = this.pos;
+        switch (wireType) {
+          case binary_format_contract_1.WireType.Varint:
+            while (this.buf[this.pos++] & 128) {
+            }
+            break;
+          case binary_format_contract_1.WireType.Bit64:
+            this.pos += 4;
+          case binary_format_contract_1.WireType.Bit32:
+            this.pos += 4;
+            break;
+          case binary_format_contract_1.WireType.LengthDelimited:
+            let len = this.uint32();
+            this.pos += len;
+            break;
+          case binary_format_contract_1.WireType.StartGroup:
+            let t;
+            while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) {
+              this.skip(t);
+            }
+            break;
+          default:
+            throw new Error("cant skip wire type " + wireType);
+        }
+        this.assertBounds();
+        return this.buf.subarray(start, this.pos);
+      }
+      /**
+       * Throws error if position in byte array is out of range.
+       */
+      assertBounds() {
+        if (this.pos > this.len)
+          throw new RangeError("premature EOF");
+      }
+      /**
+       * Read a `int32` field, a signed 32 bit varint.
+       */
+      int32() {
+        return this.uint32() | 0;
+      }
+      /**
+       * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.
+       */
+      sint32() {
+        let zze = this.uint32();
+        return zze >>> 1 ^ -(zze & 1);
+      }
+      /**
+       * Read a `int64` field, a signed 64-bit varint.
+       */
+      int64() {
+        return new pb_long_1.PbLong(...this.varint64());
+      }
+      /**
+       * Read a `uint64` field, an unsigned 64-bit varint.
+       */
+      uint64() {
+        return new pb_long_1.PbULong(...this.varint64());
+      }
+      /**
+       * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.
+       */
+      sint64() {
+        let [lo, hi] = this.varint64();
+        let s = -(lo & 1);
+        lo = (lo >>> 1 | (hi & 1) << 31) ^ s;
+        hi = hi >>> 1 ^ s;
+        return new pb_long_1.PbLong(lo, hi);
+      }
+      /**
+       * Read a `bool` field, a variant.
+       */
+      bool() {
+        let [lo, hi] = this.varint64();
+        return lo !== 0 || hi !== 0;
+      }
+      /**
+       * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.
+       */
+      fixed32() {
+        return this.view.getUint32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.
+       */
+      sfixed32() {
+        return this.view.getInt32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.
+       */
+      fixed64() {
+        return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32());
+      }
+      /**
+       * Read a `fixed64` field, a signed, fixed-length 64-bit integer.
+       */
+      sfixed64() {
+        return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32());
+      }
+      /**
+       * Read a `float` field, 32-bit floating point number.
+       */
+      float() {
+        return this.view.getFloat32((this.pos += 4) - 4, true);
+      }
+      /**
+       * Read a `double` field, a 64-bit floating point number.
+       */
+      double() {
+        return this.view.getFloat64((this.pos += 8) - 8, true);
+      }
+      /**
+       * Read a `bytes` field, length-delimited arbitrary data.
+       */
+      bytes() {
+        let len = this.uint32();
+        let start = this.pos;
+        this.pos += len;
+        this.assertBounds();
+        return this.buf.subarray(start, start + len);
+      }
+      /**
+       * Read a `string` field, length-delimited data converted to UTF-8 text.
+       */
+      string() {
+        return this.textDecoder.decode(this.bytes());
+      }
+    };
+    exports2.BinaryReader = BinaryReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js
+var require_assert = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0;
+    function assert(condition, msg) {
+      if (!condition) {
+        throw new Error(msg);
+      }
+    }
+    exports2.assert = assert;
+    function assertNever2(value, msg) {
+      throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value);
+    }
+    exports2.assertNever = assertNever2;
+    var FLOAT32_MAX = 34028234663852886e22;
+    var FLOAT32_MIN = -34028234663852886e22;
+    var UINT32_MAX = 4294967295;
+    var INT32_MAX = 2147483647;
+    var INT32_MIN = -2147483648;
+    function assertInt32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid int 32: " + typeof arg);
+      if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)
+        throw new Error("invalid int 32: " + arg);
+    }
+    exports2.assertInt32 = assertInt32;
+    function assertUInt32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid uint 32: " + typeof arg);
+      if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)
+        throw new Error("invalid uint 32: " + arg);
+    }
+    exports2.assertUInt32 = assertUInt32;
+    function assertFloat32(arg) {
+      if (typeof arg !== "number")
+        throw new Error("invalid float 32: " + typeof arg);
+      if (!Number.isFinite(arg))
+        return;
+      if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)
+        throw new Error("invalid float 32: " + arg);
+    }
+    exports2.assertFloat32 = assertFloat32;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js
+var require_binary_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BinaryWriter = exports2.binaryWriteOptions = void 0;
+    var pb_long_1 = require_pb_long();
+    var goog_varint_1 = require_goog_varint();
+    var assert_1 = require_assert();
+    var defaultsWrite = {
+      writeUnknownFields: true,
+      writerFactory: () => new BinaryWriter()
+    };
+    function binaryWriteOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    }
+    exports2.binaryWriteOptions = binaryWriteOptions;
+    var BinaryWriter = class {
+      constructor(textEncoder) {
+        this.stack = [];
+        this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();
+        this.chunks = [];
+        this.buf = [];
+      }
+      /**
+       * Return all bytes written and reset this writer.
+       */
+      finish() {
+        this.chunks.push(new Uint8Array(this.buf));
+        let len = 0;
+        for (let i = 0; i < this.chunks.length; i++)
+          len += this.chunks[i].length;
+        let bytes = new Uint8Array(len);
+        let offset = 0;
+        for (let i = 0; i < this.chunks.length; i++) {
+          bytes.set(this.chunks[i], offset);
+          offset += this.chunks[i].length;
+        }
+        this.chunks = [];
+        return bytes;
+      }
+      /**
+       * Start a new fork for length-delimited data like a message
+       * or a packed repeated field.
+       *
+       * Must be joined later with `join()`.
+       */
+      fork() {
+        this.stack.push({ chunks: this.chunks, buf: this.buf });
+        this.chunks = [];
+        this.buf = [];
+        return this;
+      }
+      /**
+       * Join the last fork. Write its length and bytes, then
+       * return to the previous state.
+       */
+      join() {
+        let chunk = this.finish();
+        let prev = this.stack.pop();
+        if (!prev)
+          throw new Error("invalid state, fork stack empty");
+        this.chunks = prev.chunks;
+        this.buf = prev.buf;
+        this.uint32(chunk.byteLength);
+        return this.raw(chunk);
+      }
+      /**
+       * Writes a tag (field number and wire type).
+       *
+       * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.
+       *
+       * Generated code should compute the tag ahead of time and call `uint32()`.
+       */
+      tag(fieldNo, type2) {
+        return this.uint32((fieldNo << 3 | type2) >>> 0);
+      }
+      /**
+       * Write a chunk of raw bytes.
+       */
+      raw(chunk) {
+        if (this.buf.length) {
+          this.chunks.push(new Uint8Array(this.buf));
+          this.buf = [];
+        }
+        this.chunks.push(chunk);
+        return this;
+      }
+      /**
+       * Write a `uint32` value, an unsigned 32 bit varint.
+       */
+      uint32(value) {
+        assert_1.assertUInt32(value);
+        while (value > 127) {
+          this.buf.push(value & 127 | 128);
+          value = value >>> 7;
+        }
+        this.buf.push(value);
+        return this;
+      }
+      /**
+       * Write a `int32` value, a signed 32 bit varint.
+       */
+      int32(value) {
+        assert_1.assertInt32(value);
+        goog_varint_1.varint32write(value, this.buf);
+        return this;
+      }
+      /**
+       * Write a `bool` value, a variant.
+       */
+      bool(value) {
+        this.buf.push(value ? 1 : 0);
+        return this;
+      }
+      /**
+       * Write a `bytes` value, length-delimited arbitrary data.
+       */
+      bytes(value) {
+        this.uint32(value.byteLength);
+        return this.raw(value);
+      }
+      /**
+       * Write a `string` value, length-delimited data converted to UTF-8 text.
+       */
+      string(value) {
+        let chunk = this.textEncoder.encode(value);
+        this.uint32(chunk.byteLength);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `float` value, 32-bit floating point number.
+       */
+      float(value) {
+        assert_1.assertFloat32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setFloat32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `double` value, a 64-bit floating point number.
+       */
+      double(value) {
+        let chunk = new Uint8Array(8);
+        new DataView(chunk.buffer).setFloat64(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
+       */
+      fixed32(value) {
+        assert_1.assertUInt32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setUint32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
+       */
+      sfixed32(value) {
+        assert_1.assertInt32(value);
+        let chunk = new Uint8Array(4);
+        new DataView(chunk.buffer).setInt32(0, value, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
+       */
+      sint32(value) {
+        assert_1.assertInt32(value);
+        value = (value << 1 ^ value >> 31) >>> 0;
+        goog_varint_1.varint32write(value, this.buf);
+        return this;
+      }
+      /**
+       * Write a `fixed64` value, a signed, fixed-length 64-bit integer.
+       */
+      sfixed64(value) {
+        let chunk = new Uint8Array(8);
+        let view = new DataView(chunk.buffer);
+        let long = pb_long_1.PbLong.from(value);
+        view.setInt32(0, long.lo, true);
+        view.setInt32(4, long.hi, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.
+       */
+      fixed64(value) {
+        let chunk = new Uint8Array(8);
+        let view = new DataView(chunk.buffer);
+        let long = pb_long_1.PbULong.from(value);
+        view.setInt32(0, long.lo, true);
+        view.setInt32(4, long.hi, true);
+        return this.raw(chunk);
+      }
+      /**
+       * Write a `int64` value, a signed 64-bit varint.
+       */
+      int64(value) {
+        let long = pb_long_1.PbLong.from(value);
+        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
+        return this;
+      }
+      /**
+       * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.
+       */
+      sint64(value) {
+        let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign;
+        goog_varint_1.varint64write(lo, hi, this.buf);
+        return this;
+      }
+      /**
+       * Write a `uint64` value, an unsigned 64-bit varint.
+       */
+      uint64(value) {
+        let long = pb_long_1.PbULong.from(value);
+        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
+        return this;
+      }
+    };
+    exports2.BinaryWriter = BinaryWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js
+var require_json_format_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0;
+    var defaultsWrite = {
+      emitDefaultValues: false,
+      enumAsInteger: false,
+      useProtoFieldName: false,
+      prettySpaces: 0
+    };
+    var defaultsRead = {
+      ignoreUnknownFields: false
+    };
+    function jsonReadOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    }
+    exports2.jsonReadOptions = jsonReadOptions;
+    function jsonWriteOptions(options) {
+      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    }
+    exports2.jsonWriteOptions = jsonWriteOptions;
+    function mergeJsonOptions(a, b) {
+      var _a, _b;
+      let c = Object.assign(Object.assign({}, a), b);
+      c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []];
+      return c;
+    }
+    exports2.mergeJsonOptions = mergeJsonOptions;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js
+var require_message_type_contract = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MESSAGE_TYPE = void 0;
+    exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js
+var require_lower_camel_case = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.lowerCamelCase = void 0;
+    function lowerCamelCase(snakeCase) {
+      let capNext = false;
+      const sb = [];
+      for (let i = 0; i < snakeCase.length; i++) {
+        let next = snakeCase.charAt(i);
+        if (next == "_") {
+          capNext = true;
+        } else if (/\d/.test(next)) {
+          sb.push(next);
+          capNext = true;
+        } else if (capNext) {
+          sb.push(next.toUpperCase());
+          capNext = false;
+        } else if (i == 0) {
+          sb.push(next.toLowerCase());
+        } else {
+          sb.push(next);
+        }
+      }
+      return sb.join("");
+    }
+    exports2.lowerCamelCase = lowerCamelCase;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js
+var require_reflection_info = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0;
+    var lower_camel_case_1 = require_lower_camel_case();
+    var ScalarType;
+    (function(ScalarType2) {
+      ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE";
+      ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT";
+      ScalarType2[ScalarType2["INT64"] = 3] = "INT64";
+      ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64";
+      ScalarType2[ScalarType2["INT32"] = 5] = "INT32";
+      ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64";
+      ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32";
+      ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL";
+      ScalarType2[ScalarType2["STRING"] = 9] = "STRING";
+      ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES";
+      ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32";
+      ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32";
+      ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64";
+      ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32";
+      ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64";
+    })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {}));
+    var LongType;
+    (function(LongType2) {
+      LongType2[LongType2["BIGINT"] = 0] = "BIGINT";
+      LongType2[LongType2["STRING"] = 1] = "STRING";
+      LongType2[LongType2["NUMBER"] = 2] = "NUMBER";
+    })(LongType = exports2.LongType || (exports2.LongType = {}));
+    var RepeatType;
+    (function(RepeatType2) {
+      RepeatType2[RepeatType2["NO"] = 0] = "NO";
+      RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED";
+      RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED";
+    })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {}));
+    function normalizeFieldInfo(field) {
+      var _a, _b, _c, _d;
+      field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name);
+      field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name);
+      field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO;
+      field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message";
+      return field;
+    }
+    exports2.normalizeFieldInfo = normalizeFieldInfo;
+    function readFieldOptions(messageType, fieldName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
+      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    }
+    exports2.readFieldOptions = readFieldOptions;
+    function readFieldOption(messageType, fieldName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readFieldOption = readFieldOption;
+    function readMessageOption(messageType, extensionName, extensionType) {
+      const options = messageType.options;
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readMessageOption = readMessageOption;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js
+var require_oneof = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0;
+    function isOneofGroup(any) {
+      if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) {
+        return false;
+      }
+      switch (typeof any.oneofKind) {
+        case "string":
+          if (any[any.oneofKind] === void 0)
+            return false;
+          return Object.keys(any).length == 2;
+        case "undefined":
+          return Object.keys(any).length == 1;
+        default:
+          return false;
+      }
+    }
+    exports2.isOneofGroup = isOneofGroup;
+    function getOneofValue(oneof, kind) {
+      return oneof[kind];
+    }
+    exports2.getOneofValue = getOneofValue;
+    function setOneofValue(oneof, kind, value) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = kind;
+      if (value !== void 0) {
+        oneof[kind] = value;
+      }
+    }
+    exports2.setOneofValue = setOneofValue;
+    function setUnknownOneofValue(oneof, kind, value) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = kind;
+      if (value !== void 0 && kind !== void 0) {
+        oneof[kind] = value;
+      }
+    }
+    exports2.setUnknownOneofValue = setUnknownOneofValue;
+    function clearOneofValue(oneof) {
+      if (oneof.oneofKind !== void 0) {
+        delete oneof[oneof.oneofKind];
+      }
+      oneof.oneofKind = void 0;
+    }
+    exports2.clearOneofValue = clearOneofValue;
+    function getSelectedOneofValue(oneof) {
+      if (oneof.oneofKind === void 0) {
+        return void 0;
+      }
+      return oneof[oneof.oneofKind];
+    }
+    exports2.getSelectedOneofValue = getSelectedOneofValue;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js
+var require_reflection_type_check = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionTypeCheck = void 0;
+    var reflection_info_1 = require_reflection_info();
+    var oneof_1 = require_oneof();
+    var ReflectionTypeCheck = class {
+      constructor(info7) {
+        var _a;
+        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      }
+      prepare() {
+        if (this.data)
+          return;
+        const req = [], known = [], oneofs = [];
+        for (let field of this.fields) {
+          if (field.oneof) {
+            if (!oneofs.includes(field.oneof)) {
+              oneofs.push(field.oneof);
+              req.push(field.oneof);
+              known.push(field.oneof);
+            }
+          } else {
+            known.push(field.localName);
+            switch (field.kind) {
+              case "scalar":
+              case "enum":
+                if (!field.opt || field.repeat)
+                  req.push(field.localName);
+                break;
+              case "message":
+                if (field.repeat)
+                  req.push(field.localName);
+                break;
+              case "map":
+                req.push(field.localName);
+                break;
+            }
+          }
+        }
+        this.data = { req, known, oneofs: Object.values(oneofs) };
+      }
+      /**
+       * Is the argument a valid message as specified by the
+       * reflection information?
+       *
+       * Checks all field types recursively. The `depth`
+       * specifies how deep into the structure the check will be.
+       *
+       * With a depth of 0, only the presence of fields
+       * is checked.
+       *
+       * With a depth of 1 or more, the field types are checked.
+       *
+       * With a depth of 2 or more, the members of map, repeated
+       * and message fields are checked.
+       *
+       * Message fields will be checked recursively with depth - 1.
+       *
+       * The number of map entries / repeated values being checked
+       * is < depth.
+       */
+      is(message, depth, allowExcessProperties = false) {
+        if (depth < 0)
+          return true;
+        if (message === null || message === void 0 || typeof message != "object")
+          return false;
+        this.prepare();
+        let keys = Object.keys(message), data = this.data;
+        if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n)))
+          return false;
+        if (!allowExcessProperties) {
+          if (keys.some((k) => !data.known.includes(k)))
+            return false;
+        }
+        if (depth < 1) {
+          return true;
+        }
+        for (const name of data.oneofs) {
+          const group = message[name];
+          if (!oneof_1.isOneofGroup(group))
+            return false;
+          if (group.oneofKind === void 0)
+            continue;
+          const field = this.fields.find((f) => f.localName === group.oneofKind);
+          if (!field)
+            return false;
+          if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth))
+            return false;
+        }
+        for (const field of this.fields) {
+          if (field.oneof !== void 0)
+            continue;
+          if (!this.field(message[field.localName], field, allowExcessProperties, depth))
+            return false;
+        }
+        return true;
+      }
+      field(arg, field, allowExcessProperties, depth) {
+        let repeated = field.repeat;
+        switch (field.kind) {
+          case "scalar":
+            if (arg === void 0)
+              return field.opt;
+            if (repeated)
+              return this.scalars(arg, field.T, depth, field.L);
+            return this.scalar(arg, field.T, field.L);
+          case "enum":
+            if (arg === void 0)
+              return field.opt;
+            if (repeated)
+              return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth);
+            return this.scalar(arg, reflection_info_1.ScalarType.INT32);
+          case "message":
+            if (arg === void 0)
+              return true;
+            if (repeated)
+              return this.messages(arg, field.T(), allowExcessProperties, depth);
+            return this.message(arg, field.T(), allowExcessProperties, depth);
+          case "map":
+            if (typeof arg != "object" || arg === null)
+              return false;
+            if (depth < 2)
+              return true;
+            if (!this.mapKeys(arg, field.K, depth))
+              return false;
+            switch (field.V.kind) {
+              case "scalar":
+                return this.scalars(Object.values(arg), field.V.T, depth, field.V.L);
+              case "enum":
+                return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth);
+              case "message":
+                return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth);
+            }
+            break;
+        }
+        return true;
+      }
+      message(arg, type2, allowExcessProperties, depth) {
+        if (allowExcessProperties) {
+          return type2.isAssignable(arg, depth);
+        }
+        return type2.is(arg, depth);
+      }
+      messages(arg, type2, allowExcessProperties, depth) {
+        if (!Array.isArray(arg))
+          return false;
+        if (depth < 2)
+          return true;
+        if (allowExcessProperties) {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!type2.isAssignable(arg[i], depth - 1))
+              return false;
+        } else {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!type2.is(arg[i], depth - 1))
+              return false;
+        }
+        return true;
+      }
+      scalar(arg, type2, longType) {
+        let argType = typeof arg;
+        switch (type2) {
+          case reflection_info_1.ScalarType.UINT64:
+          case reflection_info_1.ScalarType.FIXED64:
+          case reflection_info_1.ScalarType.INT64:
+          case reflection_info_1.ScalarType.SFIXED64:
+          case reflection_info_1.ScalarType.SINT64:
+            switch (longType) {
+              case reflection_info_1.LongType.BIGINT:
+                return argType == "bigint";
+              case reflection_info_1.LongType.NUMBER:
+                return argType == "number" && !isNaN(arg);
+              default:
+                return argType == "string";
+            }
+          case reflection_info_1.ScalarType.BOOL:
+            return argType == "boolean";
+          case reflection_info_1.ScalarType.STRING:
+            return argType == "string";
+          case reflection_info_1.ScalarType.BYTES:
+            return arg instanceof Uint8Array;
+          case reflection_info_1.ScalarType.DOUBLE:
+          case reflection_info_1.ScalarType.FLOAT:
+            return argType == "number" && !isNaN(arg);
+          default:
+            return argType == "number" && Number.isInteger(arg);
+        }
+      }
+      scalars(arg, type2, depth, longType) {
+        if (!Array.isArray(arg))
+          return false;
+        if (depth < 2)
+          return true;
+        if (Array.isArray(arg)) {
+          for (let i = 0; i < arg.length && i < depth; i++)
+            if (!this.scalar(arg[i], type2, longType))
+              return false;
+        }
+        return true;
+      }
+      mapKeys(map2, type2, depth) {
+        let keys = Object.keys(map2);
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+          case reflection_info_1.ScalarType.UINT32:
+            return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth);
+          case reflection_info_1.ScalarType.BOOL:
+            return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth);
+          default:
+            return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING);
+        }
+      }
+    };
+    exports2.ReflectionTypeCheck = ReflectionTypeCheck;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js
+var require_reflection_long_convert = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionLongConvert = void 0;
+    var reflection_info_1 = require_reflection_info();
+    function reflectionLongConvert(long, type2) {
+      switch (type2) {
+        case reflection_info_1.LongType.BIGINT:
+          return long.toBigInt();
+        case reflection_info_1.LongType.NUMBER:
+          return long.toNumber();
+        default:
+          return long.toString();
+      }
+    }
+    exports2.reflectionLongConvert = reflectionLongConvert;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js
+var require_reflection_json_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionJsonReader = void 0;
+    var json_typings_1 = require_json_typings();
+    var base64_1 = require_base64();
+    var reflection_info_1 = require_reflection_info();
+    var pb_long_1 = require_pb_long();
+    var assert_1 = require_assert();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var ReflectionJsonReader = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        var _a;
+        if (this.fMap === void 0) {
+          this.fMap = {};
+          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
+          for (const field of fieldsInput) {
+            this.fMap[field.name] = field;
+            this.fMap[field.jsonName] = field;
+            this.fMap[field.localName] = field;
+          }
+        }
+      }
+      // Cannot parse JSON  for #.
+      assert(condition, fieldName, jsonValue) {
+        if (!condition) {
+          let what = json_typings_1.typeofJsonValue(jsonValue);
+          if (what == "number" || what == "boolean")
+            what = jsonValue.toString();
+          throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`);
+        }
+      }
+      /**
+       * Reads a message from canonical JSON format into the target message.
+       *
+       * Repeated fields are appended. Map entries are added, overwriting
+       * existing keys.
+       *
+       * If a message field is already present, it will be merged with the
+       * new data.
+       */
+      read(input, message, options) {
+        this.prepare();
+        const oneofsHandled = [];
+        for (const [jsonKey, jsonValue] of Object.entries(input)) {
+          const field = this.fMap[jsonKey];
+          if (!field) {
+            if (!options.ignoreUnknownFields)
+              throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`);
+            continue;
+          }
+          const localName = field.localName;
+          let target;
+          if (field.oneof) {
+            if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) {
+              continue;
+            }
+            if (oneofsHandled.includes(field.oneof))
+              throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`);
+            oneofsHandled.push(field.oneof);
+            target = message[field.oneof] = {
+              oneofKind: localName
+            };
+          } else {
+            target = message;
+          }
+          if (field.kind == "map") {
+            if (jsonValue === null) {
+              continue;
+            }
+            this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue);
+            const fieldObj = target[localName];
+            for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) {
+              this.assert(jsonObjValue !== null, field.name + " map value", null);
+              let val;
+              switch (field.V.kind) {
+                case "message":
+                  val = field.V.T().internalJsonRead(jsonObjValue, options);
+                  break;
+                case "enum":
+                  val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields);
+                  if (val === false)
+                    continue;
+                  break;
+                case "scalar":
+                  val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name);
+                  break;
+              }
+              this.assert(val !== void 0, field.name + " map value", jsonObjValue);
+              let key = jsonObjKey;
+              if (field.K == reflection_info_1.ScalarType.BOOL)
+                key = key == "true" ? true : key == "false" ? false : key;
+              key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString();
+              fieldObj[key] = val;
+            }
+          } else if (field.repeat) {
+            if (jsonValue === null)
+              continue;
+            this.assert(Array.isArray(jsonValue), field.name, jsonValue);
+            const fieldArr = target[localName];
+            for (const jsonItem of jsonValue) {
+              this.assert(jsonItem !== null, field.name, null);
+              let val;
+              switch (field.kind) {
+                case "message":
+                  val = field.T().internalJsonRead(jsonItem, options);
+                  break;
+                case "enum":
+                  val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields);
+                  if (val === false)
+                    continue;
+                  break;
+                case "scalar":
+                  val = this.scalar(jsonItem, field.T, field.L, field.name);
+                  break;
+              }
+              this.assert(val !== void 0, field.name, jsonValue);
+              fieldArr.push(val);
+            }
+          } else {
+            switch (field.kind) {
+              case "message":
+                if (jsonValue === null && field.T().typeName != "google.protobuf.Value") {
+                  this.assert(field.oneof === void 0, field.name + " (oneof member)", null);
+                  continue;
+                }
+                target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]);
+                break;
+              case "enum":
+                if (jsonValue === null)
+                  continue;
+                let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields);
+                if (val === false)
+                  continue;
+                target[localName] = val;
+                break;
+              case "scalar":
+                if (jsonValue === null)
+                  continue;
+                target[localName] = this.scalar(jsonValue, field.T, field.L, field.name);
+                break;
+            }
+          }
+        }
+      }
+      /**
+       * Returns `false` for unrecognized string representations.
+       *
+       * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`).
+       */
+      enum(type2, json2, fieldName, ignoreUnknownFields) {
+        if (type2[0] == "google.protobuf.NullValue")
+          assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`);
+        if (json2 === null)
+          return 0;
+        switch (typeof json2) {
+          case "number":
+            assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`);
+            return json2;
+          case "string":
+            let localEnumName = json2;
+            if (type2[2] && json2.substring(0, type2[2].length) === type2[2])
+              localEnumName = json2.substring(type2[2].length);
+            let enumNumber = type2[1][localEnumName];
+            if (typeof enumNumber === "undefined" && ignoreUnknownFields) {
+              return false;
+            }
+            assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`);
+            return enumNumber;
+        }
+        assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`);
+      }
+      scalar(json2, type2, longType, fieldName) {
+        let e;
+        try {
+          switch (type2) {
+            // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
+            // Either numbers or strings are accepted. Exponent notation is also accepted.
+            case reflection_info_1.ScalarType.DOUBLE:
+            case reflection_info_1.ScalarType.FLOAT:
+              if (json2 === null)
+                return 0;
+              if (json2 === "NaN")
+                return Number.NaN;
+              if (json2 === "Infinity")
+                return Number.POSITIVE_INFINITY;
+              if (json2 === "-Infinity")
+                return Number.NEGATIVE_INFINITY;
+              if (json2 === "") {
+                e = "empty string";
+                break;
+              }
+              if (typeof json2 == "string" && json2.trim().length !== json2.length) {
+                e = "extra whitespace";
+                break;
+              }
+              if (typeof json2 != "string" && typeof json2 != "number") {
+                break;
+              }
+              let float2 = Number(json2);
+              if (Number.isNaN(float2)) {
+                e = "not a number";
+                break;
+              }
+              if (!Number.isFinite(float2)) {
+                e = "too large or small";
+                break;
+              }
+              if (type2 == reflection_info_1.ScalarType.FLOAT)
+                assert_1.assertFloat32(float2);
+              return float2;
+            // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
+            case reflection_info_1.ScalarType.INT32:
+            case reflection_info_1.ScalarType.FIXED32:
+            case reflection_info_1.ScalarType.SFIXED32:
+            case reflection_info_1.ScalarType.SINT32:
+            case reflection_info_1.ScalarType.UINT32:
+              if (json2 === null)
+                return 0;
+              let int32;
+              if (typeof json2 == "number")
+                int32 = json2;
+              else if (json2 === "")
+                e = "empty string";
+              else if (typeof json2 == "string") {
+                if (json2.trim().length !== json2.length)
+                  e = "extra whitespace";
+                else
+                  int32 = Number(json2);
+              }
+              if (int32 === void 0)
+                break;
+              if (type2 == reflection_info_1.ScalarType.UINT32)
+                assert_1.assertUInt32(int32);
+              else
+                assert_1.assertInt32(int32);
+              return int32;
+            // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.
+            case reflection_info_1.ScalarType.INT64:
+            case reflection_info_1.ScalarType.SFIXED64:
+            case reflection_info_1.ScalarType.SINT64:
+              if (json2 === null)
+                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
+              if (typeof json2 != "number" && typeof json2 != "string")
+                break;
+              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType);
+            case reflection_info_1.ScalarType.FIXED64:
+            case reflection_info_1.ScalarType.UINT64:
+              if (json2 === null)
+                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
+              if (typeof json2 != "number" && typeof json2 != "string")
+                break;
+              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType);
+            // bool:
+            case reflection_info_1.ScalarType.BOOL:
+              if (json2 === null)
+                return false;
+              if (typeof json2 !== "boolean")
+                break;
+              return json2;
+            // string:
+            case reflection_info_1.ScalarType.STRING:
+              if (json2 === null)
+                return "";
+              if (typeof json2 !== "string") {
+                e = "extra whitespace";
+                break;
+              }
+              try {
+                encodeURIComponent(json2);
+              } catch (e2) {
+                e2 = "invalid UTF8";
+                break;
+              }
+              return json2;
+            // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
+            // Either standard or URL-safe base64 encoding with/without paddings are accepted.
+            case reflection_info_1.ScalarType.BYTES:
+              if (json2 === null || json2 === "")
+                return new Uint8Array(0);
+              if (typeof json2 !== "string")
+                break;
+              return base64_1.base64decode(json2);
+          }
+        } catch (error3) {
+          e = error3.message;
+        }
+        this.assert(false, fieldName + (e ? " - " + e : ""), json2);
+      }
+    };
+    exports2.ReflectionJsonReader = ReflectionJsonReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js
+var require_reflection_json_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionJsonWriter = void 0;
+    var base64_1 = require_base64();
+    var pb_long_1 = require_pb_long();
+    var reflection_info_1 = require_reflection_info();
+    var assert_1 = require_assert();
+    var ReflectionJsonWriter = class {
+      constructor(info7) {
+        var _a;
+        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+      }
+      /**
+       * Converts the message to a JSON object, based on the field descriptors.
+       */
+      write(message, options) {
+        const json2 = {}, source = message;
+        for (const field of this.fields) {
+          if (!field.oneof) {
+            let jsonValue2 = this.field(field, source[field.localName], options);
+            if (jsonValue2 !== void 0)
+              json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2;
+            continue;
+          }
+          const group = source[field.oneof];
+          if (group.oneofKind !== field.localName)
+            continue;
+          const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options;
+          let jsonValue = this.field(field, group[field.localName], opt);
+          assert_1.assert(jsonValue !== void 0);
+          json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue;
+        }
+        return json2;
+      }
+      field(field, value, options) {
+        let jsonValue = void 0;
+        if (field.kind == "map") {
+          assert_1.assert(typeof value == "object" && value !== null);
+          const jsonObj = {};
+          switch (field.V.kind) {
+            case "scalar":
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                const val = this.scalar(field.V.T, entryValue, field.name, false, true);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+            case "message":
+              const messageType = field.V.T();
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                const val = this.message(messageType, entryValue, field.name, options);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+            case "enum":
+              const enumInfo = field.V.T();
+              for (const [entryKey, entryValue] of Object.entries(value)) {
+                assert_1.assert(entryValue === void 0 || typeof entryValue == "number");
+                const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger);
+                assert_1.assert(val !== void 0);
+                jsonObj[entryKey.toString()] = val;
+              }
+              break;
+          }
+          if (options.emitDefaultValues || Object.keys(jsonObj).length > 0)
+            jsonValue = jsonObj;
+        } else if (field.repeat) {
+          assert_1.assert(Array.isArray(value));
+          const jsonArr = [];
+          switch (field.kind) {
+            case "scalar":
+              for (let i = 0; i < value.length; i++) {
+                const val = this.scalar(field.T, value[i], field.name, field.opt, true);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+            case "enum":
+              const enumInfo = field.T();
+              for (let i = 0; i < value.length; i++) {
+                assert_1.assert(value[i] === void 0 || typeof value[i] == "number");
+                const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+            case "message":
+              const messageType = field.T();
+              for (let i = 0; i < value.length; i++) {
+                const val = this.message(messageType, value[i], field.name, options);
+                assert_1.assert(val !== void 0);
+                jsonArr.push(val);
+              }
+              break;
+          }
+          if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues)
+            jsonValue = jsonArr;
+        } else {
+          switch (field.kind) {
+            case "scalar":
+              jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues);
+              break;
+            case "enum":
+              jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger);
+              break;
+            case "message":
+              jsonValue = this.message(field.T(), value, field.name, options);
+              break;
+          }
+        }
+        return jsonValue;
+      }
+      /**
+       * Returns `null` as the default for google.protobuf.NullValue.
+       */
+      enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) {
+        if (type2[0] == "google.protobuf.NullValue")
+          return !emitDefaultValues && !optional ? void 0 : null;
+        if (value === void 0) {
+          assert_1.assert(optional);
+          return void 0;
+        }
+        if (value === 0 && !emitDefaultValues && !optional)
+          return void 0;
+        assert_1.assert(typeof value == "number");
+        assert_1.assert(Number.isInteger(value));
+        if (enumAsInteger || !type2[1].hasOwnProperty(value))
+          return value;
+        if (type2[2])
+          return type2[2] + type2[1][value];
+        return type2[1][value];
+      }
+      message(type2, value, fieldName, options) {
+        if (value === void 0)
+          return options.emitDefaultValues ? null : void 0;
+        return type2.internalJsonWrite(value, options);
+      }
+      scalar(type2, value, fieldName, optional, emitDefaultValues) {
+        if (value === void 0) {
+          assert_1.assert(optional);
+          return void 0;
+        }
+        const ed = emitDefaultValues || optional;
+        switch (type2) {
+          // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assertInt32(value);
+            return value;
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.UINT32:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assertUInt32(value);
+            return value;
+          // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
+          // Either numbers or strings are accepted. Exponent notation is also accepted.
+          case reflection_info_1.ScalarType.FLOAT:
+            assert_1.assertFloat32(value);
+          case reflection_info_1.ScalarType.DOUBLE:
+            if (value === 0)
+              return ed ? 0 : void 0;
+            assert_1.assert(typeof value == "number");
+            if (Number.isNaN(value))
+              return "NaN";
+            if (value === Number.POSITIVE_INFINITY)
+              return "Infinity";
+            if (value === Number.NEGATIVE_INFINITY)
+              return "-Infinity";
+            return value;
+          // string:
+          case reflection_info_1.ScalarType.STRING:
+            if (value === "")
+              return ed ? "" : void 0;
+            assert_1.assert(typeof value == "string");
+            return value;
+          // bool:
+          case reflection_info_1.ScalarType.BOOL:
+            if (value === false)
+              return ed ? false : void 0;
+            assert_1.assert(typeof value == "boolean");
+            return value;
+          // JSON value will be a decimal string. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.UINT64:
+          case reflection_info_1.ScalarType.FIXED64:
+            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
+            let ulong = pb_long_1.PbULong.from(value);
+            if (ulong.isZero() && !ed)
+              return void 0;
+            return ulong.toString();
+          // JSON value will be a decimal string. Either numbers or strings are accepted.
+          case reflection_info_1.ScalarType.INT64:
+          case reflection_info_1.ScalarType.SFIXED64:
+          case reflection_info_1.ScalarType.SINT64:
+            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
+            let long = pb_long_1.PbLong.from(value);
+            if (long.isZero() && !ed)
+              return void 0;
+            return long.toString();
+          // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
+          // Either standard or URL-safe base64 encoding with/without paddings are accepted.
+          case reflection_info_1.ScalarType.BYTES:
+            assert_1.assert(value instanceof Uint8Array);
+            if (!value.byteLength)
+              return ed ? "" : void 0;
+            return base64_1.base64encode(value);
+        }
+      }
+    };
+    exports2.ReflectionJsonWriter = ReflectionJsonWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js
+var require_reflection_scalar_default = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionScalarDefault = void 0;
+    var reflection_info_1 = require_reflection_info();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var pb_long_1 = require_pb_long();
+    function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) {
+      switch (type2) {
+        case reflection_info_1.ScalarType.BOOL:
+          return false;
+        case reflection_info_1.ScalarType.UINT64:
+        case reflection_info_1.ScalarType.FIXED64:
+          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
+        case reflection_info_1.ScalarType.INT64:
+        case reflection_info_1.ScalarType.SFIXED64:
+        case reflection_info_1.ScalarType.SINT64:
+          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
+        case reflection_info_1.ScalarType.DOUBLE:
+        case reflection_info_1.ScalarType.FLOAT:
+          return 0;
+        case reflection_info_1.ScalarType.BYTES:
+          return new Uint8Array(0);
+        case reflection_info_1.ScalarType.STRING:
+          return "";
+        default:
+          return 0;
+      }
+    }
+    exports2.reflectionScalarDefault = reflectionScalarDefault;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js
+var require_reflection_binary_reader = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionBinaryReader = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var reflection_info_1 = require_reflection_info();
+    var reflection_long_convert_1 = require_reflection_long_convert();
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    var ReflectionBinaryReader = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        var _a;
+        if (!this.fieldNoToField) {
+          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
+          this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field]));
+        }
+      }
+      /**
+       * Reads a message from binary format into the target message.
+       *
+       * Repeated fields are appended. Map entries are added, overwriting
+       * existing keys.
+       *
+       * If a message field is already present, it will be merged with the
+       * new data.
+       */
+      read(reader, message, options, length) {
+        this.prepare();
+        const end = length === void 0 ? reader.len : reader.pos + length;
+        while (reader.pos < end) {
+          const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo);
+          if (!field) {
+            let u = options.readUnknownField;
+            if (u == "throw")
+              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`);
+            let d = reader.skip(wireType);
+            if (u !== false)
+              (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d);
+            continue;
+          }
+          let target = message, repeated = field.repeat, localName = field.localName;
+          if (field.oneof) {
+            target = target[field.oneof];
+            if (target.oneofKind !== localName)
+              target = message[field.oneof] = {
+                oneofKind: localName
+              };
+          }
+          switch (field.kind) {
+            case "scalar":
+            case "enum":
+              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+              let L = field.kind == "scalar" ? field.L : void 0;
+              if (repeated) {
+                let arr = target[localName];
+                if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) {
+                  let e = reader.uint32() + reader.pos;
+                  while (reader.pos < e)
+                    arr.push(this.scalar(reader, T, L));
+                } else
+                  arr.push(this.scalar(reader, T, L));
+              } else
+                target[localName] = this.scalar(reader, T, L);
+              break;
+            case "message":
+              if (repeated) {
+                let arr = target[localName];
+                let msg = field.T().internalBinaryRead(reader, reader.uint32(), options);
+                arr.push(msg);
+              } else
+                target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]);
+              break;
+            case "map":
+              let [mapKey, mapVal] = this.mapEntry(field, reader, options);
+              target[localName][mapKey] = mapVal;
+              break;
+          }
+        }
+      }
+      /**
+       * Read a map field, expecting key field = 1, value field = 2
+       */
+      mapEntry(field, reader, options) {
+        let length = reader.uint32();
+        let end = reader.pos + length;
+        let key = void 0;
+        let val = void 0;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case 1:
+              if (field.K == reflection_info_1.ScalarType.BOOL)
+                key = reader.bool().toString();
+              else
+                key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING);
+              break;
+            case 2:
+              switch (field.V.kind) {
+                case "scalar":
+                  val = this.scalar(reader, field.V.T, field.V.L);
+                  break;
+                case "enum":
+                  val = reader.int32();
+                  break;
+                case "message":
+                  val = field.V.T().internalBinaryRead(reader, reader.uint32(), options);
+                  break;
+              }
+              break;
+            default:
+              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`);
+          }
+        }
+        if (key === void 0) {
+          let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K);
+          key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw;
+        }
+        if (val === void 0)
+          switch (field.V.kind) {
+            case "scalar":
+              val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L);
+              break;
+            case "enum":
+              val = 0;
+              break;
+            case "message":
+              val = field.V.T().create();
+              break;
+          }
+        return [key, val];
+      }
+      scalar(reader, type2, longType) {
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+            return reader.int32();
+          case reflection_info_1.ScalarType.STRING:
+            return reader.string();
+          case reflection_info_1.ScalarType.BOOL:
+            return reader.bool();
+          case reflection_info_1.ScalarType.DOUBLE:
+            return reader.double();
+          case reflection_info_1.ScalarType.FLOAT:
+            return reader.float();
+          case reflection_info_1.ScalarType.INT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType);
+          case reflection_info_1.ScalarType.UINT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType);
+          case reflection_info_1.ScalarType.FIXED64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType);
+          case reflection_info_1.ScalarType.FIXED32:
+            return reader.fixed32();
+          case reflection_info_1.ScalarType.BYTES:
+            return reader.bytes();
+          case reflection_info_1.ScalarType.UINT32:
+            return reader.uint32();
+          case reflection_info_1.ScalarType.SFIXED32:
+            return reader.sfixed32();
+          case reflection_info_1.ScalarType.SFIXED64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType);
+          case reflection_info_1.ScalarType.SINT32:
+            return reader.sint32();
+          case reflection_info_1.ScalarType.SINT64:
+            return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType);
+        }
+      }
+    };
+    exports2.ReflectionBinaryReader = ReflectionBinaryReader;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js
+var require_reflection_binary_writer = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ReflectionBinaryWriter = void 0;
+    var binary_format_contract_1 = require_binary_format_contract();
+    var reflection_info_1 = require_reflection_info();
+    var assert_1 = require_assert();
+    var pb_long_1 = require_pb_long();
+    var ReflectionBinaryWriter = class {
+      constructor(info7) {
+        this.info = info7;
+      }
+      prepare() {
+        if (!this.fields) {
+          const fieldsInput = this.info.fields ? this.info.fields.concat() : [];
+          this.fields = fieldsInput.sort((a, b) => a.no - b.no);
+        }
+      }
+      /**
+       * Writes the message to binary format.
+       */
+      write(message, writer, options) {
+        this.prepare();
+        for (const field of this.fields) {
+          let value, emitDefault, repeated = field.repeat, localName = field.localName;
+          if (field.oneof) {
+            const group = message[field.oneof];
+            if (group.oneofKind !== localName)
+              continue;
+            value = group[localName];
+            emitDefault = true;
+          } else {
+            value = message[localName];
+            emitDefault = false;
+          }
+          switch (field.kind) {
+            case "scalar":
+            case "enum":
+              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+              if (repeated) {
+                assert_1.assert(Array.isArray(value));
+                if (repeated == reflection_info_1.RepeatType.PACKED)
+                  this.packed(writer, T, field.no, value);
+                else
+                  for (const item of value)
+                    this.scalar(writer, T, field.no, item, true);
+              } else if (value === void 0)
+                assert_1.assert(field.opt);
+              else
+                this.scalar(writer, T, field.no, value, emitDefault || field.opt);
+              break;
+            case "message":
+              if (repeated) {
+                assert_1.assert(Array.isArray(value));
+                for (const item of value)
+                  this.message(writer, options, field.T(), field.no, item);
+              } else {
+                this.message(writer, options, field.T(), field.no, value);
+              }
+              break;
+            case "map":
+              assert_1.assert(typeof value == "object" && value !== null);
+              for (const [key, val] of Object.entries(value))
+                this.mapEntry(writer, options, field, key, val);
+              break;
+          }
+        }
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer);
+      }
+      mapEntry(writer, options, field, key, value) {
+        writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited);
+        writer.fork();
+        let keyValue = key;
+        switch (field.K) {
+          case reflection_info_1.ScalarType.INT32:
+          case reflection_info_1.ScalarType.FIXED32:
+          case reflection_info_1.ScalarType.UINT32:
+          case reflection_info_1.ScalarType.SFIXED32:
+          case reflection_info_1.ScalarType.SINT32:
+            keyValue = Number.parseInt(key);
+            break;
+          case reflection_info_1.ScalarType.BOOL:
+            assert_1.assert(key == "true" || key == "false");
+            keyValue = key == "true";
+            break;
+        }
+        this.scalar(writer, field.K, 1, keyValue, true);
+        switch (field.V.kind) {
+          case "scalar":
+            this.scalar(writer, field.V.T, 2, value, true);
+            break;
+          case "enum":
+            this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true);
+            break;
+          case "message":
+            this.message(writer, options, field.V.T(), 2, value);
+            break;
+        }
+        writer.join();
+      }
+      message(writer, options, handler2, fieldNo, value) {
+        if (value === void 0)
+          return;
+        handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options);
+        writer.join();
+      }
+      /**
+       * Write a single scalar value.
+       */
+      scalar(writer, type2, fieldNo, value, emitDefault) {
+        let [wireType, method, isDefault] = this.scalarInfo(type2, value);
+        if (!isDefault || emitDefault) {
+          writer.tag(fieldNo, wireType);
+          writer[method](value);
+        }
+      }
+      /**
+       * Write an array of scalar values in packed format.
+       */
+      packed(writer, type2, fieldNo, value) {
+        if (!value.length)
+          return;
+        assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING);
+        writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited);
+        writer.fork();
+        let [, method] = this.scalarInfo(type2);
+        for (let i = 0; i < value.length; i++)
+          writer[method](value[i]);
+        writer.join();
+      }
+      /**
+       * Get information for writing a scalar value.
+       *
+       * Returns tuple:
+       * [0]: appropriate WireType
+       * [1]: name of the appropriate method of IBinaryWriter
+       * [2]: whether the given value is a default value
+       *
+       * If argument `value` is omitted, [2] is always false.
+       */
+      scalarInfo(type2, value) {
+        let t = binary_format_contract_1.WireType.Varint;
+        let m;
+        let i = value === void 0;
+        let d = value === 0;
+        switch (type2) {
+          case reflection_info_1.ScalarType.INT32:
+            m = "int32";
+            break;
+          case reflection_info_1.ScalarType.STRING:
+            d = i || !value.length;
+            t = binary_format_contract_1.WireType.LengthDelimited;
+            m = "string";
+            break;
+          case reflection_info_1.ScalarType.BOOL:
+            d = value === false;
+            m = "bool";
+            break;
+          case reflection_info_1.ScalarType.UINT32:
+            m = "uint32";
+            break;
+          case reflection_info_1.ScalarType.DOUBLE:
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "double";
+            break;
+          case reflection_info_1.ScalarType.FLOAT:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "float";
+            break;
+          case reflection_info_1.ScalarType.INT64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            m = "int64";
+            break;
+          case reflection_info_1.ScalarType.UINT64:
+            d = i || pb_long_1.PbULong.from(value).isZero();
+            m = "uint64";
+            break;
+          case reflection_info_1.ScalarType.FIXED64:
+            d = i || pb_long_1.PbULong.from(value).isZero();
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "fixed64";
+            break;
+          case reflection_info_1.ScalarType.BYTES:
+            d = i || !value.byteLength;
+            t = binary_format_contract_1.WireType.LengthDelimited;
+            m = "bytes";
+            break;
+          case reflection_info_1.ScalarType.FIXED32:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "fixed32";
+            break;
+          case reflection_info_1.ScalarType.SFIXED32:
+            t = binary_format_contract_1.WireType.Bit32;
+            m = "sfixed32";
+            break;
+          case reflection_info_1.ScalarType.SFIXED64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            t = binary_format_contract_1.WireType.Bit64;
+            m = "sfixed64";
+            break;
+          case reflection_info_1.ScalarType.SINT32:
+            m = "sint32";
+            break;
+          case reflection_info_1.ScalarType.SINT64:
+            d = i || pb_long_1.PbLong.from(value).isZero();
+            m = "sint64";
+            break;
+        }
+        return [t, m, i || d];
+      }
+    };
+    exports2.ReflectionBinaryWriter = ReflectionBinaryWriter;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js
+var require_reflection_create = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionCreate = void 0;
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    var message_type_contract_1 = require_message_type_contract();
+    function reflectionCreate(type2) {
+      const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 });
+      for (let field of type2.fields) {
+        let name = field.localName;
+        if (field.opt)
+          continue;
+        if (field.oneof)
+          msg[field.oneof] = { oneofKind: void 0 };
+        else if (field.repeat)
+          msg[name] = [];
+        else
+          switch (field.kind) {
+            case "scalar":
+              msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L);
+              break;
+            case "enum":
+              msg[name] = 0;
+              break;
+            case "map":
+              msg[name] = {};
+              break;
+          }
+      }
+      return msg;
+    }
+    exports2.reflectionCreate = reflectionCreate;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js
+var require_reflection_merge_partial = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionMergePartial = void 0;
+    function reflectionMergePartial(info7, target, source) {
+      let fieldValue, input = source, output;
+      for (let field of info7.fields) {
+        let name = field.localName;
+        if (field.oneof) {
+          const group = input[field.oneof];
+          if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) {
+            continue;
+          }
+          fieldValue = group[name];
+          output = target[field.oneof];
+          output.oneofKind = group.oneofKind;
+          if (fieldValue == void 0) {
+            delete output[name];
+            continue;
+          }
+        } else {
+          fieldValue = input[name];
+          output = target;
+          if (fieldValue == void 0) {
+            continue;
+          }
+        }
+        if (field.repeat)
+          output[name].length = fieldValue.length;
+        switch (field.kind) {
+          case "scalar":
+          case "enum":
+            if (field.repeat)
+              for (let i = 0; i < fieldValue.length; i++)
+                output[name][i] = fieldValue[i];
+            else
+              output[name] = fieldValue;
+            break;
+          case "message":
+            let T = field.T();
+            if (field.repeat)
+              for (let i = 0; i < fieldValue.length; i++)
+                output[name][i] = T.create(fieldValue[i]);
+            else if (output[name] === void 0)
+              output[name] = T.create(fieldValue);
+            else
+              T.mergePartial(output[name], fieldValue);
+            break;
+          case "map":
+            switch (field.V.kind) {
+              case "scalar":
+              case "enum":
+                Object.assign(output[name], fieldValue);
+                break;
+              case "message":
+                let T2 = field.V.T();
+                for (let k of Object.keys(fieldValue))
+                  output[name][k] = T2.create(fieldValue[k]);
+                break;
+            }
+            break;
+        }
+      }
+    }
+    exports2.reflectionMergePartial = reflectionMergePartial;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js
+var require_reflection_equals = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.reflectionEquals = void 0;
+    var reflection_info_1 = require_reflection_info();
+    function reflectionEquals(info7, a, b) {
+      if (a === b)
+        return true;
+      if (!a || !b)
+        return false;
+      for (let field of info7.fields) {
+        let localName = field.localName;
+        let val_a = field.oneof ? a[field.oneof][localName] : a[localName];
+        let val_b = field.oneof ? b[field.oneof][localName] : b[localName];
+        switch (field.kind) {
+          case "enum":
+          case "scalar":
+            let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
+            if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b)))
+              return false;
+            break;
+          case "map":
+            if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b))))
+              return false;
+            break;
+          case "message":
+            let T = field.T();
+            if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b)))
+              return false;
+            break;
+        }
+      }
+      return true;
+    }
+    exports2.reflectionEquals = reflectionEquals;
+    var objectValues = Object.values;
+    function primitiveEq(type2, a, b) {
+      if (a === b)
+        return true;
+      if (type2 !== reflection_info_1.ScalarType.BYTES)
+        return false;
+      let ba = a;
+      let bb = b;
+      if (ba.length !== bb.length)
+        return false;
+      for (let i = 0; i < ba.length; i++)
+        if (ba[i] != bb[i])
+          return false;
+      return true;
+    }
+    function repeatedPrimitiveEq(type2, a, b) {
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; i++)
+        if (!primitiveEq(type2, a[i], b[i]))
+          return false;
+      return true;
+    }
+    function repeatedMsgEq(type2, a, b) {
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; i++)
+        if (!type2.equals(a[i], b[i]))
+          return false;
+      return true;
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js
+var require_message_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MessageType = void 0;
+    var message_type_contract_1 = require_message_type_contract();
+    var reflection_info_1 = require_reflection_info();
+    var reflection_type_check_1 = require_reflection_type_check();
+    var reflection_json_reader_1 = require_reflection_json_reader();
+    var reflection_json_writer_1 = require_reflection_json_writer();
+    var reflection_binary_reader_1 = require_reflection_binary_reader();
+    var reflection_binary_writer_1 = require_reflection_binary_writer();
+    var reflection_create_1 = require_reflection_create();
+    var reflection_merge_partial_1 = require_reflection_merge_partial();
+    var json_typings_1 = require_json_typings();
+    var json_format_contract_1 = require_json_format_contract();
+    var reflection_equals_1 = require_reflection_equals();
+    var binary_writer_1 = require_binary_writer();
+    var binary_reader_1 = require_binary_reader();
+    var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({}));
+    var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {};
+    var MessageType = class {
+      constructor(name, fields, options) {
+        this.defaultCheckDepth = 16;
+        this.typeName = name;
+        this.fields = fields.map(reflection_info_1.normalizeFieldInfo);
+        this.options = options !== null && options !== void 0 ? options : {};
+        messageTypeDescriptor.value = this;
+        this.messagePrototype = Object.create(null, baseDescriptors);
+        this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this);
+        this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this);
+        this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this);
+        this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this);
+        this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this);
+      }
+      create(value) {
+        let message = reflection_create_1.reflectionCreate(this);
+        if (value !== void 0) {
+          reflection_merge_partial_1.reflectionMergePartial(this, message, value);
+        }
+        return message;
+      }
+      /**
+       * Clone the message.
+       *
+       * Unknown fields are discarded.
+       */
+      clone(message) {
+        let copy = this.create();
+        reflection_merge_partial_1.reflectionMergePartial(this, copy, message);
+        return copy;
+      }
+      /**
+       * Determines whether two message of the same type have the same field values.
+       * Checks for deep equality, traversing repeated fields, oneof groups, maps
+       * and messages recursively.
+       * Will also return true if both messages are `undefined`.
+       */
+      equals(a, b) {
+        return reflection_equals_1.reflectionEquals(this, a, b);
+      }
+      /**
+       * Is the given value assignable to our message type
+       * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
+       */
+      is(arg, depth = this.defaultCheckDepth) {
+        return this.refTypeCheck.is(arg, depth, false);
+      }
+      /**
+       * Is the given value assignable to our message type,
+       * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
+       */
+      isAssignable(arg, depth = this.defaultCheckDepth) {
+        return this.refTypeCheck.is(arg, depth, true);
+      }
+      /**
+       * Copy partial data into the target message.
+       */
+      mergePartial(target, source) {
+        reflection_merge_partial_1.reflectionMergePartial(this, target, source);
+      }
+      /**
+       * Create a new message from binary format.
+       */
+      fromBinary(data, options) {
+        let opt = binary_reader_1.binaryReadOptions(options);
+        return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt);
+      }
+      /**
+       * Read a new message from a JSON value.
+       */
+      fromJson(json2, options) {
+        return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options));
+      }
+      /**
+       * Read a new message from a JSON string.
+       * This is equivalent to `T.fromJson(JSON.parse(json))`.
+       */
+      fromJsonString(json2, options) {
+        let value = JSON.parse(json2);
+        return this.fromJson(value, options);
+      }
+      /**
+       * Write the message to canonical JSON value.
+       */
+      toJson(message, options) {
+        return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options));
+      }
+      /**
+       * Convert the message to canonical JSON string.
+       * This is equivalent to `JSON.stringify(T.toJson(t))`
+       */
+      toJsonString(message, options) {
+        var _a;
+        let value = this.toJson(message, options);
+        return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);
+      }
+      /**
+       * Write the message to binary format.
+       */
+      toBinary(message, options) {
+        let opt = binary_writer_1.binaryWriteOptions(options);
+        return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish();
+      }
+      /**
+       * This is an internal method. If you just want to read a message from
+       * JSON, use `fromJson()` or `fromJsonString()`.
+       *
+       * Reads JSON value and merges the fields into the target
+       * according to protobuf rules. If the target is omitted,
+       * a new instance is created first.
+       */
+      internalJsonRead(json2, options, target) {
+        if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) {
+          let message = target !== null && target !== void 0 ? target : this.create();
+          this.refJsonReader.read(json2, message, options);
+          return message;
+        }
+        throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`);
+      }
+      /**
+       * This is an internal method. If you just want to write a message
+       * to JSON, use `toJson()` or `toJsonString().
+       *
+       * Writes JSON value and returns it.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.write(message, options);
+      }
+      /**
+       * This is an internal method. If you just want to write a message
+       * in binary format, use `toBinary()`.
+       *
+       * Serializes the message in binary format and appends it to the given
+       * writer. Returns passed writer.
+       */
+      internalBinaryWrite(message, writer, options) {
+        this.refBinWriter.write(message, writer, options);
+        return writer;
+      }
+      /**
+       * This is an internal method. If you just want to read a message from
+       * binary data, use `fromBinary()`.
+       *
+       * Reads data from binary format and merges the fields into
+       * the target according to protobuf rules. If the target is
+       * omitted, a new instance is created first.
+       */
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create();
+        this.refBinReader.read(reader, message, options, length);
+        return message;
+      }
+    };
+    exports2.MessageType = MessageType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js
+var require_reflection_contains_message_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.containsMessageType = void 0;
+    var message_type_contract_1 = require_message_type_contract();
+    function containsMessageType(msg) {
+      return msg[message_type_contract_1.MESSAGE_TYPE] != null;
+    }
+    exports2.containsMessageType = containsMessageType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js
+var require_enum_object = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0;
+    function isEnumObject(arg) {
+      if (typeof arg != "object" || arg === null) {
+        return false;
+      }
+      if (!arg.hasOwnProperty(0)) {
+        return false;
+      }
+      for (let k of Object.keys(arg)) {
+        let num = parseInt(k);
+        if (!Number.isNaN(num)) {
+          let nam = arg[num];
+          if (nam === void 0)
+            return false;
+          if (arg[nam] !== num)
+            return false;
+        } else {
+          let num2 = arg[k];
+          if (num2 === void 0)
+            return false;
+          if (typeof num2 !== "number")
+            return false;
+          if (arg[num2] === void 0)
+            return false;
+        }
+      }
+      return true;
+    }
+    exports2.isEnumObject = isEnumObject;
+    function listEnumValues(enumObject) {
+      if (!isEnumObject(enumObject))
+        throw new Error("not a typescript enum object");
+      let values = [];
+      for (let [name, number] of Object.entries(enumObject))
+        if (typeof number == "number")
+          values.push({ name, number });
+      return values;
+    }
+    exports2.listEnumValues = listEnumValues;
+    function listEnumNames(enumObject) {
+      return listEnumValues(enumObject).map((val) => val.name);
+    }
+    exports2.listEnumNames = listEnumNames;
+    function listEnumNumbers(enumObject) {
+      return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index);
+    }
+    exports2.listEnumNumbers = listEnumNumbers;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime/build/commonjs/index.js
+var require_commonjs = __commonJS({
+  "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var json_typings_1 = require_json_typings();
+    Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() {
+      return json_typings_1.typeofJsonValue;
+    } });
+    Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() {
+      return json_typings_1.isJsonObject;
+    } });
+    var base64_1 = require_base64();
+    Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() {
+      return base64_1.base64decode;
+    } });
+    Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() {
+      return base64_1.base64encode;
+    } });
+    var protobufjs_utf8_1 = require_protobufjs_utf8();
+    Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() {
+      return protobufjs_utf8_1.utf8read;
+    } });
+    var binary_format_contract_1 = require_binary_format_contract();
+    Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() {
+      return binary_format_contract_1.WireType;
+    } });
+    Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() {
+      return binary_format_contract_1.mergeBinaryOptions;
+    } });
+    Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() {
+      return binary_format_contract_1.UnknownFieldHandler;
+    } });
+    var binary_reader_1 = require_binary_reader();
+    Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() {
+      return binary_reader_1.BinaryReader;
+    } });
+    Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() {
+      return binary_reader_1.binaryReadOptions;
+    } });
+    var binary_writer_1 = require_binary_writer();
+    Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() {
+      return binary_writer_1.BinaryWriter;
+    } });
+    Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() {
+      return binary_writer_1.binaryWriteOptions;
+    } });
+    var pb_long_1 = require_pb_long();
+    Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() {
+      return pb_long_1.PbLong;
+    } });
+    Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() {
+      return pb_long_1.PbULong;
+    } });
+    var json_format_contract_1 = require_json_format_contract();
+    Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.jsonReadOptions;
+    } });
+    Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.jsonWriteOptions;
+    } });
+    Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() {
+      return json_format_contract_1.mergeJsonOptions;
+    } });
+    var message_type_contract_1 = require_message_type_contract();
+    Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() {
+      return message_type_contract_1.MESSAGE_TYPE;
+    } });
+    var message_type_1 = require_message_type();
+    Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() {
+      return message_type_1.MessageType;
+    } });
+    var reflection_info_1 = require_reflection_info();
+    Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() {
+      return reflection_info_1.ScalarType;
+    } });
+    Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() {
+      return reflection_info_1.LongType;
+    } });
+    Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() {
+      return reflection_info_1.RepeatType;
+    } });
+    Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() {
+      return reflection_info_1.normalizeFieldInfo;
+    } });
+    Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() {
+      return reflection_info_1.readFieldOptions;
+    } });
+    Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() {
+      return reflection_info_1.readFieldOption;
+    } });
+    Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() {
+      return reflection_info_1.readMessageOption;
+    } });
+    var reflection_type_check_1 = require_reflection_type_check();
+    Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() {
+      return reflection_type_check_1.ReflectionTypeCheck;
+    } });
+    var reflection_create_1 = require_reflection_create();
+    Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() {
+      return reflection_create_1.reflectionCreate;
+    } });
+    var reflection_scalar_default_1 = require_reflection_scalar_default();
+    Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() {
+      return reflection_scalar_default_1.reflectionScalarDefault;
+    } });
+    var reflection_merge_partial_1 = require_reflection_merge_partial();
+    Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() {
+      return reflection_merge_partial_1.reflectionMergePartial;
+    } });
+    var reflection_equals_1 = require_reflection_equals();
+    Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() {
+      return reflection_equals_1.reflectionEquals;
+    } });
+    var reflection_binary_reader_1 = require_reflection_binary_reader();
+    Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() {
+      return reflection_binary_reader_1.ReflectionBinaryReader;
+    } });
+    var reflection_binary_writer_1 = require_reflection_binary_writer();
+    Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() {
+      return reflection_binary_writer_1.ReflectionBinaryWriter;
+    } });
+    var reflection_json_reader_1 = require_reflection_json_reader();
+    Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() {
+      return reflection_json_reader_1.ReflectionJsonReader;
+    } });
+    var reflection_json_writer_1 = require_reflection_json_writer();
+    Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() {
+      return reflection_json_writer_1.ReflectionJsonWriter;
+    } });
+    var reflection_contains_message_type_1 = require_reflection_contains_message_type();
+    Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() {
+      return reflection_contains_message_type_1.containsMessageType;
+    } });
+    var oneof_1 = require_oneof();
+    Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() {
+      return oneof_1.isOneofGroup;
+    } });
+    Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() {
+      return oneof_1.setOneofValue;
+    } });
+    Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() {
+      return oneof_1.getOneofValue;
+    } });
+    Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() {
+      return oneof_1.clearOneofValue;
+    } });
+    Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() {
+      return oneof_1.getSelectedOneofValue;
+    } });
+    var enum_object_1 = require_enum_object();
+    Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() {
+      return enum_object_1.listEnumValues;
+    } });
+    Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() {
+      return enum_object_1.listEnumNames;
+    } });
+    Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() {
+      return enum_object_1.listEnumNumbers;
+    } });
+    Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() {
+      return enum_object_1.isEnumObject;
+    } });
+    var lower_camel_case_1 = require_lower_camel_case();
+    Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() {
+      return lower_camel_case_1.lowerCamelCase;
+    } });
+    var assert_1 = require_assert();
+    Object.defineProperty(exports2, "assert", { enumerable: true, get: function() {
+      return assert_1.assert;
+    } });
+    Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() {
+      return assert_1.assertNever;
+    } });
+    Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() {
+      return assert_1.assertInt32;
+    } });
+    Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() {
+      return assert_1.assertUInt32;
+    } });
+    Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() {
+      return assert_1.assertFloat32;
+    } });
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
+var require_timestamp = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Timestamp = void 0;
+    var runtime_1 = require_commonjs();
+    var runtime_2 = require_commonjs();
+    var runtime_3 = require_commonjs();
+    var runtime_4 = require_commonjs();
+    var runtime_5 = require_commonjs();
+    var runtime_6 = require_commonjs();
+    var runtime_7 = require_commonjs();
+    var Timestamp$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Timestamp", [
+          {
+            no: 1,
+            name: "seconds",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 2,
+            name: "nanos",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
+      }
+      /**
+       * Creates a new `Timestamp` for the current time.
+       */
+      now() {
+        const msg = this.create();
+        const ms = Date.now();
+        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
+        msg.nanos = ms % 1e3 * 1e6;
+        return msg;
+      }
+      /**
+       * Converts a `Timestamp` to a JavaScript Date.
+       */
+      toDate(message) {
+        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
+      }
+      /**
+       * Converts a JavaScript Date to a `Timestamp`.
+       */
+      fromDate(date) {
+        const msg = this.create();
+        const ms = date.getTime();
+        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
+        msg.nanos = ms % 1e3 * 1e6;
+        return msg;
+      }
+      /**
+       * In JSON format, the `Timestamp` type is encoded as a string
+       * in the RFC 3339 format.
+       */
+      internalJsonWrite(message, options) {
+        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
+        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
+          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
+        if (message.nanos < 0)
+          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
+        let z = "Z";
+        if (message.nanos > 0) {
+          let nanosStr = (message.nanos + 1e9).toString().substring(1);
+          if (nanosStr.substring(3) === "000000")
+            z = "." + nanosStr.substring(0, 3) + "Z";
+          else if (nanosStr.substring(6) === "000")
+            z = "." + nanosStr.substring(0, 6) + "Z";
+          else
+            z = "." + nanosStr + "Z";
+        }
+        return new Date(ms).toISOString().replace(".000Z", z);
+      }
+      /**
+       * In JSON format, the `Timestamp` type is encoded as a string
+       * in the RFC 3339 format.
+       */
+      internalJsonRead(json2, options, target) {
+        if (typeof json2 !== "string")
+          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
+        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
+        if (!matches)
+          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
+        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
+        if (Number.isNaN(ms))
+          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
+        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
+          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
+        if (!target)
+          target = this.create();
+        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
+        target.nanos = 0;
+        if (matches[7])
+          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
+        return target;
+      }
+      create(value) {
+        const message = { seconds: "0", nanos: 0 };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 seconds */
+            1:
+              message.seconds = reader.int64().toString();
+              break;
+            case /* int32 nanos */
+            2:
+              message.nanos = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.seconds !== "0")
+          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
+        if (message.nanos !== 0)
+          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.Timestamp = new Timestamp$Type();
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
+var require_wrappers = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
+    var runtime_1 = require_commonjs();
+    var runtime_2 = require_commonjs();
+    var runtime_3 = require_commonjs();
+    var runtime_4 = require_commonjs();
+    var runtime_5 = require_commonjs();
+    var runtime_6 = require_commonjs();
+    var runtime_7 = require_commonjs();
+    var DoubleValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.DoubleValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 1
+            /*ScalarType.DOUBLE*/
+          }
+        ]);
+      }
+      /**
+       * Encode `DoubleValue` to JSON number.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
+      }
+      /**
+       * Decode `DoubleValue` from JSON number.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* double value */
+            1:
+              message.value = reader.double();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.DoubleValue = new DoubleValue$Type();
+    var FloatValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.FloatValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 2
+            /*ScalarType.FLOAT*/
+          }
+        ]);
+      }
+      /**
+       * Encode `FloatValue` to JSON number.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
+      }
+      /**
+       * Decode `FloatValue` from JSON number.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* float value */
+            1:
+              message.value = reader.float();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FloatValue = new FloatValue$Type();
+    var Int64Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Int64Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
+      /**
+       * Encode `Int64Value` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
+      }
+      /**
+       * Decode `Int64Value` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: "0" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int64 value */
+            1:
+              message.value = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "0")
+          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.Int64Value = new Int64Value$Type();
+    var UInt64Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.UInt64Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 4
+            /*ScalarType.UINT64*/
+          }
+        ]);
+      }
+      /**
+       * Encode `UInt64Value` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
+      }
+      /**
+       * Decode `UInt64Value` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: "0" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* uint64 value */
+            1:
+              message.value = reader.uint64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "0")
+          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.UInt64Value = new UInt64Value$Type();
+    var Int32Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.Int32Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
+      }
+      /**
+       * Encode `Int32Value` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
+      }
+      /**
+       * Decode `Int32Value` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* int32 value */
+            1:
+              message.value = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.Int32Value = new Int32Value$Type();
+    var UInt32Value$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.UInt32Value", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 13
+            /*ScalarType.UINT32*/
+          }
+        ]);
+      }
+      /**
+       * Encode `UInt32Value` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
+      }
+      /**
+       * Decode `UInt32Value` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: 0 };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* uint32 value */
+            1:
+              message.value = reader.uint32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== 0)
+          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.UInt32Value = new UInt32Value$Type();
+    var BoolValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.BoolValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          }
+        ]);
+      }
+      /**
+       * Encode `BoolValue` to JSON bool.
+       */
+      internalJsonWrite(message, options) {
+        return message.value;
+      }
+      /**
+       * Decode `BoolValue` from JSON bool.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: false };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool value */
+            1:
+              message.value = reader.bool();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== false)
+          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.BoolValue = new BoolValue$Type();
+    var StringValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.StringValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      /**
+       * Encode `StringValue` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return message.value;
+      }
+      /**
+       * Decode `StringValue` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: "" };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string value */
+            1:
+              message.value = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value !== "")
+          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.StringValue = new StringValue$Type();
+    var BytesValue$Type = class extends runtime_7.MessageType {
+      constructor() {
+        super("google.protobuf.BytesValue", [
+          {
+            no: 1,
+            name: "value",
+            kind: "scalar",
+            T: 12
+            /*ScalarType.BYTES*/
+          }
+        ]);
+      }
+      /**
+       * Encode `BytesValue` to JSON string.
+       */
+      internalJsonWrite(message, options) {
+        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
+      }
+      /**
+       * Decode `BytesValue` from JSON string.
+       */
+      internalJsonRead(json2, options, target) {
+        if (!target)
+          target = this.create();
+        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
+        return target;
+      }
+      create(value) {
+        const message = { value: new Uint8Array(0) };
+        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_5.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bytes value */
+            1:
+              message.value = reader.bytes();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.value.length)
+          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.BytesValue = new BytesValue$Type();
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js
+var require_reflection_info2 = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0;
+    var runtime_1 = require_commonjs();
+    function normalizeMethodInfo(method, service) {
+      var _a, _b, _c;
+      let m = method;
+      m.service = service;
+      m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name);
+      m.serverStreaming = !!m.serverStreaming;
+      m.clientStreaming = !!m.clientStreaming;
+      m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {};
+      m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0;
+      return m;
+    }
+    exports2.normalizeMethodInfo = normalizeMethodInfo;
+    function readMethodOptions(service, methodName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
+      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
+    }
+    exports2.readMethodOptions = readMethodOptions;
+    function readMethodOption(service, methodName, extensionName, extensionType) {
+      var _a;
+      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readMethodOption = readMethodOption;
+    function readServiceOption(service, extensionName, extensionType) {
+      const options = service.options;
+      if (!options) {
+        return void 0;
+      }
+      const optionVal = options[extensionName];
+      if (optionVal === void 0) {
+        return optionVal;
+      }
+      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+    }
+    exports2.readServiceOption = readServiceOption;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js
+var require_service_type = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServiceType = void 0;
+    var reflection_info_1 = require_reflection_info2();
+    var ServiceType = class {
+      constructor(typeName, methods, options) {
+        this.typeName = typeName;
+        this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this));
+        this.options = options !== null && options !== void 0 ? options : {};
+      }
+    };
+    exports2.ServiceType = ServiceType;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js
+var require_rpc_error = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RpcError = void 0;
+    var RpcError = class extends Error {
+      constructor(message, code = "UNKNOWN", meta) {
+        super(message);
+        this.name = "RpcError";
+        Object.setPrototypeOf(this, new.target.prototype);
+        this.code = code;
+        this.meta = meta !== null && meta !== void 0 ? meta : {};
+      }
+      toString() {
+        const l = [this.name + ": " + this.message];
+        if (this.code) {
+          l.push("");
+          l.push("Code: " + this.code);
+        }
+        if (this.serviceName && this.methodName) {
+          l.push("Method: " + this.serviceName + "/" + this.methodName);
+        }
+        let m = Object.entries(this.meta);
+        if (m.length) {
+          l.push("");
+          l.push("Meta:");
+          for (let [k, v] of m) {
+            l.push(`  ${k}: ${v}`);
+          }
+        }
+        return l.join("\n");
+      }
+    };
+    exports2.RpcError = RpcError;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js
+var require_rpc_options = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.mergeRpcOptions = void 0;
+    var runtime_1 = require_commonjs();
+    function mergeRpcOptions(defaults, options) {
+      if (!options)
+        return defaults;
+      let o = {};
+      copy(defaults, o);
+      copy(options, o);
+      for (let key of Object.keys(options)) {
+        let val = options[key];
+        switch (key) {
+          case "jsonOptions":
+            o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions);
+            break;
+          case "binaryOptions":
+            o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions);
+            break;
+          case "meta":
+            o.meta = {};
+            copy(defaults.meta, o.meta);
+            copy(options.meta, o.meta);
+            break;
+          case "interceptors":
+            o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat();
+            break;
+        }
+      }
+      return o;
+    }
+    exports2.mergeRpcOptions = mergeRpcOptions;
+    function copy(a, into) {
+      if (!a)
+        return;
+      let c = into;
+      for (let [k, v] of Object.entries(a)) {
+        if (v instanceof Date)
+          c[k] = new Date(v.getTime());
+        else if (Array.isArray(v))
+          c[k] = v.concat();
+        else
+          c[k] = v;
+      }
+    }
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js
+var require_deferred = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Deferred = exports2.DeferredState = void 0;
+    var DeferredState;
+    (function(DeferredState2) {
+      DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING";
+      DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED";
+      DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED";
+    })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {}));
+    var Deferred = class {
+      /**
+       * @param preventUnhandledRejectionWarning - prevents the warning
+       * "Unhandled Promise rejection" by adding a noop rejection handler.
+       * Working with calls returned from the runtime-rpc package in an
+       * async function usually means awaiting one call property after
+       * the other. This means that the "status" is not being awaited when
+       * an earlier await for the "headers" is rejected. This causes the
+       * "unhandled promise reject" warning. A more correct behaviour for
+       * calls might be to become aware whether at least one of the
+       * promises is handled and swallow the rejection warning for the
+       * others.
+       */
+      constructor(preventUnhandledRejectionWarning = true) {
+        this._state = DeferredState.PENDING;
+        this._promise = new Promise((resolve2, reject) => {
+          this._resolve = resolve2;
+          this._reject = reject;
+        });
+        if (preventUnhandledRejectionWarning) {
+          this._promise.catch((_2) => {
+          });
+        }
+      }
+      /**
+       * Get the current state of the promise.
+       */
+      get state() {
+        return this._state;
+      }
+      /**
+       * Get the deferred promise.
+       */
+      get promise() {
+        return this._promise;
+      }
+      /**
+       * Resolve the promise. Throws if the promise is already resolved or rejected.
+       */
+      resolve(value) {
+        if (this.state !== DeferredState.PENDING)
+          throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`);
+        this._resolve(value);
+        this._state = DeferredState.RESOLVED;
+      }
+      /**
+       * Reject the promise. Throws if the promise is already resolved or rejected.
+       */
+      reject(reason) {
+        if (this.state !== DeferredState.PENDING)
+          throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`);
+        this._reject(reason);
+        this._state = DeferredState.REJECTED;
+      }
+      /**
+       * Resolve the promise. Ignore if not pending.
+       */
+      resolvePending(val) {
+        if (this._state === DeferredState.PENDING)
+          this.resolve(val);
+      }
+      /**
+       * Reject the promise. Ignore if not pending.
+       */
+      rejectPending(reason) {
+        if (this._state === DeferredState.PENDING)
+          this.reject(reason);
+      }
+    };
+    exports2.Deferred = Deferred;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js
+var require_rpc_output_stream = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RpcOutputStreamController = void 0;
+    var deferred_1 = require_deferred();
+    var runtime_1 = require_commonjs();
+    var RpcOutputStreamController = class {
+      constructor() {
+        this._lis = {
+          nxt: [],
+          msg: [],
+          err: [],
+          cmp: []
+        };
+        this._closed = false;
+        this._itState = { q: [] };
+      }
+      // --- RpcOutputStream callback API
+      onNext(callback) {
+        return this.addLis(callback, this._lis.nxt);
+      }
+      onMessage(callback) {
+        return this.addLis(callback, this._lis.msg);
+      }
+      onError(callback) {
+        return this.addLis(callback, this._lis.err);
+      }
+      onComplete(callback) {
+        return this.addLis(callback, this._lis.cmp);
+      }
+      addLis(callback, list) {
+        list.push(callback);
+        return () => {
+          let i = list.indexOf(callback);
+          if (i >= 0)
+            list.splice(i, 1);
+        };
+      }
+      // remove all listeners
+      clearLis() {
+        for (let l of Object.values(this._lis))
+          l.splice(0, l.length);
+      }
+      // --- Controller API
+      /**
+       * Is this stream already closed by a completion or error?
+       */
+      get closed() {
+        return this._closed !== false;
+      }
+      /**
+       * Emit message, close with error, or close successfully, but only one
+       * at a time.
+       * Can be used to wrap a stream by using the other stream's `onNext`.
+       */
+      notifyNext(message, error3, complete) {
+        runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time");
+        if (message)
+          this.notifyMessage(message);
+        if (error3)
+          this.notifyError(error3);
+        if (complete)
+          this.notifyComplete();
+      }
+      /**
+       * Emits a new message. Throws if stream is closed.
+       *
+       * Triggers onNext and onMessage callbacks.
+       */
+      notifyMessage(message) {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this.pushIt({ value: message, done: false });
+        this._lis.msg.forEach((l) => l(message));
+        this._lis.nxt.forEach((l) => l(message, void 0, false));
+      }
+      /**
+       * Closes the stream with an error. Throws if stream is closed.
+       *
+       * Triggers onNext and onError callbacks.
+       */
+      notifyError(error3) {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this._closed = error3;
+        this.pushIt(error3);
+        this._lis.err.forEach((l) => l(error3));
+        this._lis.nxt.forEach((l) => l(void 0, error3, false));
+        this.clearLis();
+      }
+      /**
+       * Closes the stream successfully. Throws if stream is closed.
+       *
+       * Triggers onNext and onComplete callbacks.
+       */
+      notifyComplete() {
+        runtime_1.assert(!this.closed, "stream is closed");
+        this._closed = true;
+        this.pushIt({ value: null, done: true });
+        this._lis.cmp.forEach((l) => l());
+        this._lis.nxt.forEach((l) => l(void 0, void 0, true));
+        this.clearLis();
+      }
+      /**
+       * Creates an async iterator (that can be used with `for await {...}`)
+       * to consume the stream.
+       *
+       * Some things to note:
+       * - If an error occurs, the `for await` will throw it.
+       * - If an error occurred before the `for await` was started, `for await`
+       *   will re-throw it.
+       * - If the stream is already complete, the `for await` will be empty.
+       * - If your `for await` consumes slower than the stream produces,
+       *   for example because you are relaying messages in a slow operation,
+       *   messages are queued.
+       */
+      [Symbol.asyncIterator]() {
+        if (this._closed === true)
+          this.pushIt({ value: null, done: true });
+        else if (this._closed !== false)
+          this.pushIt(this._closed);
+        return {
+          next: () => {
+            let state = this._itState;
+            runtime_1.assert(state, "bad state");
+            runtime_1.assert(!state.p, "iterator contract broken");
+            let first = state.q.shift();
+            if (first)
+              return "value" in first ? Promise.resolve(first) : Promise.reject(first);
+            state.p = new deferred_1.Deferred();
+            return state.p.promise;
+          }
+        };
+      }
+      // "push" a new iterator result.
+      // this either resolves a pending promise, or enqueues the result.
+      pushIt(result) {
+        let state = this._itState;
+        if (state.p) {
+          const p = state.p;
+          runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken");
+          "value" in result ? p.resolve(result) : p.reject(result);
+          delete state.p;
+        } else {
+          state.q.push(result);
+        }
+      }
+    };
+    exports2.RpcOutputStreamController = RpcOutputStreamController;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js
+var require_unary_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UnaryCall = void 0;
+    var UnaryCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.request = request2;
+        this.headers = headers;
+        this.response = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * If you are only interested in the final outcome of this call,
+       * you can await it to receive a `FinishedUnaryCall`.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            request: this.request,
+            headers,
+            response,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.UnaryCall = UnaryCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js
+var require_server_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServerStreamingCall = void 0;
+    var ServerStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.request = request2;
+        this.headers = headers;
+        this.responses = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * You should first setup some listeners to the `request` to
+       * see the actual messages the server replied with.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            request: this.request,
+            headers,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.ServerStreamingCall = ServerStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js
+var require_client_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ClientStreamingCall = void 0;
+    var ClientStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.requests = request2;
+        this.headers = headers;
+        this.response = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * Note that it may still be valid to send more request messages.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            headers,
+            response,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.ClientStreamingCall = ClientStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js
+var require_duplex_streaming_call = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DuplexStreamingCall = void 0;
+    var DuplexStreamingCall = class {
+      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
+        this.method = method;
+        this.requestHeaders = requestHeaders;
+        this.requests = request2;
+        this.headers = headers;
+        this.responses = response;
+        this.status = status;
+        this.trailers = trailers;
+      }
+      /**
+       * Instead of awaiting the response status and trailers, you can
+       * just as well await this call itself to receive the server outcome.
+       * Note that it may still be valid to send more request messages.
+       */
+      then(onfulfilled, onrejected) {
+        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      }
+      promiseFinished() {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
+          return {
+            method: this.method,
+            requestHeaders: this.requestHeaders,
+            headers,
+            status,
+            trailers
+          };
+        });
+      }
+    };
+    exports2.DuplexStreamingCall = DuplexStreamingCall;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js
+var require_test_transport = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.TestTransport = void 0;
+    var rpc_error_1 = require_rpc_error();
+    var runtime_1 = require_commonjs();
+    var rpc_output_stream_1 = require_rpc_output_stream();
+    var rpc_options_1 = require_rpc_options();
+    var unary_call_1 = require_unary_call();
+    var server_streaming_call_1 = require_server_streaming_call();
+    var client_streaming_call_1 = require_client_streaming_call();
+    var duplex_streaming_call_1 = require_duplex_streaming_call();
+    var TestTransport = class _TestTransport {
+      /**
+       * Initialize with mock data. Omitted fields have default value.
+       */
+      constructor(data) {
+        this.suppressUncaughtRejections = true;
+        this.headerDelay = 10;
+        this.responseDelay = 50;
+        this.betweenResponseDelay = 10;
+        this.afterResponseDelay = 10;
+        this.data = data !== null && data !== void 0 ? data : {};
+      }
+      /**
+       * Sent message(s) during the last operation.
+       */
+      get sentMessages() {
+        if (this.lastInput instanceof TestInputStream) {
+          return this.lastInput.sent;
+        } else if (typeof this.lastInput == "object") {
+          return [this.lastInput.single];
+        }
+        return [];
+      }
+      /**
+       * Sending message(s) completed?
+       */
+      get sendComplete() {
+        if (this.lastInput instanceof TestInputStream) {
+          return this.lastInput.completed;
+        } else if (typeof this.lastInput == "object") {
+          return true;
+        }
+        return false;
+      }
+      // Creates a promise for response headers from the mock data.
+      promiseHeaders() {
+        var _a;
+        const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders;
+        return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers);
+      }
+      // Creates a promise for a single, valid, message from the mock data.
+      promiseSingleResponse(method) {
+        if (this.data.response instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.response);
+        }
+        let r;
+        if (Array.isArray(this.data.response)) {
+          runtime_1.assert(this.data.response.length > 0);
+          r = this.data.response[0];
+        } else if (this.data.response !== void 0) {
+          r = this.data.response;
+        } else {
+          r = method.O.create();
+        }
+        runtime_1.assert(method.O.is(r));
+        return Promise.resolve(r);
+      }
+      /**
+       * Pushes response messages from the mock data to the output stream.
+       * If an error response, status or trailers are mocked, the stream is
+       * closed with the respective error.
+       * Otherwise, stream is completed successfully.
+       *
+       * The returned promise resolves when the stream is closed. It should
+       * not reject. If it does, code is broken.
+       */
+      streamResponses(method, stream, abort) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const messages = [];
+          if (this.data.response === void 0) {
+            messages.push(method.O.create());
+          } else if (Array.isArray(this.data.response)) {
+            for (let msg of this.data.response) {
+              runtime_1.assert(method.O.is(msg));
+              messages.push(msg);
+            }
+          } else if (!(this.data.response instanceof rpc_error_1.RpcError)) {
+            runtime_1.assert(method.O.is(this.data.response));
+            messages.push(this.data.response);
+          }
+          try {
+            yield delay(this.responseDelay, abort)(void 0);
+          } catch (error3) {
+            stream.notifyError(error3);
+            return;
+          }
+          if (this.data.response instanceof rpc_error_1.RpcError) {
+            stream.notifyError(this.data.response);
+            return;
+          }
+          for (let msg of messages) {
+            stream.notifyMessage(msg);
+            try {
+              yield delay(this.betweenResponseDelay, abort)(void 0);
+            } catch (error3) {
+              stream.notifyError(error3);
+              return;
+            }
+          }
+          if (this.data.status instanceof rpc_error_1.RpcError) {
+            stream.notifyError(this.data.status);
+            return;
+          }
+          if (this.data.trailers instanceof rpc_error_1.RpcError) {
+            stream.notifyError(this.data.trailers);
+            return;
+          }
+          stream.notifyComplete();
+        });
+      }
+      // Creates a promise for response status from the mock data.
+      promiseStatus() {
+        var _a;
+        const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus;
+        return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status);
+      }
+      // Creates a promise for response trailers from the mock data.
+      promiseTrailers() {
+        var _a;
+        const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers;
+        return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers);
+      }
+      maybeSuppressUncaught(...promise) {
+        if (this.suppressUncaughtRejections) {
+          for (let p of promise) {
+            p.catch(() => {
+            });
+          }
+        }
+      }
+      mergeOptions(options) {
+        return rpc_options_1.mergeRpcOptions({}, options);
+      }
+      unary(method, input, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
+        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = { single: input };
+        return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise);
+      }
+      serverStreaming(method, input, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
+        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = { single: input };
+        return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise);
+      }
+      clientStreaming(method, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
+        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
+        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = new TestInputStream(this.data, options.abort);
+        return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise);
+      }
+      duplex(method, options) {
+        var _a;
+        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
+        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
+        this.maybeSuppressUncaught(statusPromise, trailersPromise);
+        this.lastInput = new TestInputStream(this.data, options.abort);
+        return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise);
+      }
+    };
+    exports2.TestTransport = TestTransport;
+    TestTransport.defaultHeaders = {
+      responseHeader: "test"
+    };
+    TestTransport.defaultStatus = {
+      code: "OK",
+      detail: "all good"
+    };
+    TestTransport.defaultTrailers = {
+      responseTrailer: "test"
+    };
+    function delay(ms, abort) {
+      return (v) => new Promise((resolve2, reject) => {
+        if (abort === null || abort === void 0 ? void 0 : abort.aborted) {
+          reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
+        } else {
+          const id = setTimeout(() => resolve2(v), ms);
+          if (abort) {
+            abort.addEventListener("abort", (ev) => {
+              clearTimeout(id);
+              reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
+            });
+          }
+        }
+      });
+    }
+    var TestInputStream = class {
+      constructor(data, abort) {
+        this._completed = false;
+        this._sent = [];
+        this.data = data;
+        this.abort = abort;
+      }
+      get sent() {
+        return this._sent;
+      }
+      get completed() {
+        return this._completed;
+      }
+      send(message) {
+        if (this.data.inputMessage instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.inputMessage);
+        }
+        const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage;
+        return Promise.resolve(void 0).then(() => {
+          this._sent.push(message);
+        }).then(delay(delayMs, this.abort));
+      }
+      complete() {
+        if (this.data.inputComplete instanceof rpc_error_1.RpcError) {
+          return Promise.reject(this.data.inputComplete);
+        }
+        const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete;
+        return Promise.resolve(void 0).then(() => {
+          this._completed = true;
+        }).then(delay(delayMs, this.abort));
+      }
+    };
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js
+var require_rpc_interceptor = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0;
+    var runtime_1 = require_commonjs();
+    function stackIntercept(kind, transport, method, options, input) {
+      var _a, _b, _c, _d;
+      if (kind == "unary") {
+        let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt);
+        for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) {
+          const next = tail;
+          tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt);
+        }
+        return tail(method, input, options);
+      }
+      if (kind == "serverStreaming") {
+        let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt);
+        for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) {
+          const next = tail;
+          tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt);
+        }
+        return tail(method, input, options);
+      }
+      if (kind == "clientStreaming") {
+        let tail = (mtd, opt) => transport.clientStreaming(mtd, opt);
+        for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) {
+          const next = tail;
+          tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt);
+        }
+        return tail(method, options);
+      }
+      if (kind == "duplex") {
+        let tail = (mtd, opt) => transport.duplex(mtd, opt);
+        for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) {
+          const next = tail;
+          tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt);
+        }
+        return tail(method, options);
+      }
+      runtime_1.assertNever(kind);
+    }
+    exports2.stackIntercept = stackIntercept;
+    function stackUnaryInterceptors(transport, method, input, options) {
+      return stackIntercept("unary", transport, method, options, input);
+    }
+    exports2.stackUnaryInterceptors = stackUnaryInterceptors;
+    function stackServerStreamingInterceptors(transport, method, input, options) {
+      return stackIntercept("serverStreaming", transport, method, options, input);
+    }
+    exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors;
+    function stackClientStreamingInterceptors(transport, method, options) {
+      return stackIntercept("clientStreaming", transport, method, options);
+    }
+    exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors;
+    function stackDuplexStreamingInterceptors(transport, method, options) {
+      return stackIntercept("duplex", transport, method, options);
+    }
+    exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js
+var require_server_call_context = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServerCallContextController = void 0;
+    var ServerCallContextController = class {
+      constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) {
+        this._cancelled = false;
+        this._listeners = [];
+        this.method = method;
+        this.headers = headers;
+        this.deadline = deadline;
+        this.trailers = {};
+        this._sendRH = sendResponseHeadersFn;
+        this.status = defaultStatus;
+      }
+      /**
+       * Set the call cancelled.
+       *
+       * Invokes all callbacks registered with onCancel() and
+       * sets `cancelled = true`.
+       */
+      notifyCancelled() {
+        if (!this._cancelled) {
+          this._cancelled = true;
+          for (let l of this._listeners) {
+            l();
+          }
+        }
+      }
+      /**
+       * Send response headers.
+       */
+      sendResponseHeaders(data) {
+        this._sendRH(data);
+      }
+      /**
+       * Is the call cancelled?
+       *
+       * When the client closes the connection before the server
+       * is done, the call is cancelled.
+       *
+       * If you want to cancel a request on the server, throw a
+       * RpcError with the CANCELLED status code.
+       */
+      get cancelled() {
+        return this._cancelled;
+      }
+      /**
+       * Add a callback for cancellation.
+       */
+      onCancel(callback) {
+        const l = this._listeners;
+        l.push(callback);
+        return () => {
+          let i = l.indexOf(callback);
+          if (i >= 0)
+            l.splice(i, 1);
+        };
+      }
+    };
+    exports2.ServerCallContextController = ServerCallContextController;
+  }
+});
+
+// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js
+var require_commonjs2 = __commonJS({
+  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var service_type_1 = require_service_type();
+    Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() {
+      return service_type_1.ServiceType;
+    } });
+    var reflection_info_1 = require_reflection_info2();
+    Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() {
+      return reflection_info_1.readMethodOptions;
+    } });
+    Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() {
+      return reflection_info_1.readMethodOption;
+    } });
+    Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() {
+      return reflection_info_1.readServiceOption;
+    } });
+    var rpc_error_1 = require_rpc_error();
+    Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() {
+      return rpc_error_1.RpcError;
+    } });
+    var rpc_options_1 = require_rpc_options();
+    Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() {
+      return rpc_options_1.mergeRpcOptions;
+    } });
+    var rpc_output_stream_1 = require_rpc_output_stream();
+    Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() {
+      return rpc_output_stream_1.RpcOutputStreamController;
+    } });
+    var test_transport_1 = require_test_transport();
+    Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() {
+      return test_transport_1.TestTransport;
+    } });
+    var deferred_1 = require_deferred();
+    Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() {
+      return deferred_1.Deferred;
+    } });
+    Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() {
+      return deferred_1.DeferredState;
+    } });
+    var duplex_streaming_call_1 = require_duplex_streaming_call();
+    Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() {
+      return duplex_streaming_call_1.DuplexStreamingCall;
+    } });
+    var client_streaming_call_1 = require_client_streaming_call();
+    Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() {
+      return client_streaming_call_1.ClientStreamingCall;
+    } });
+    var server_streaming_call_1 = require_server_streaming_call();
+    Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() {
+      return server_streaming_call_1.ServerStreamingCall;
+    } });
+    var unary_call_1 = require_unary_call();
+    Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() {
+      return unary_call_1.UnaryCall;
+    } });
+    var rpc_interceptor_1 = require_rpc_interceptor();
+    Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackIntercept;
+    } });
+    Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackDuplexStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackClientStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackServerStreamingInterceptors;
+    } });
+    Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() {
+      return rpc_interceptor_1.stackUnaryInterceptors;
+    } });
+    var server_call_context_1 = require_server_call_context();
+    Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() {
+      return server_call_context_1.ServerCallContextController;
+    } });
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
+var require_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
+    var runtime_rpc_1 = require_commonjs2();
+    var runtime_1 = require_commonjs();
+    var runtime_2 = require_commonjs();
+    var runtime_3 = require_commonjs();
+    var runtime_4 = require_commonjs();
+    var runtime_5 = require_commonjs();
+    var wrappers_1 = require_wrappers();
+    var wrappers_2 = require_wrappers();
+    var timestamp_1 = require_timestamp();
+    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.MigrateArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string name */
+            2:
+              message.name = reader.string();
+              break;
+            case /* google.protobuf.Timestamp expires_at */
+            3:
+              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.name !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.expiresAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
+    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.MigrateArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
+    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string name */
+            2:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            3:
+              message.size = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.name !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
+    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
+    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
+          {
+            no: 5,
+            name: "version",
+            kind: "scalar",
+            T: 5
+            /*ScalarType.INT32*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            case /* google.protobuf.Timestamp expires_at */
+            4:
+              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
+              break;
+            case /* int32 version */
+            5:
+              message.version = reader.int32();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.expiresAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.version !== 0)
+          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
+    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.CreateArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "signed_upload_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, signedUploadUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* string signed_upload_url */
+            2:
+              message.signedUploadUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.signedUploadUrl !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
+    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 4,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            4:
+              message.size = reader.int64().toString();
+              break;
+            case /* google.protobuf.StringValue hash */
+            5:
+              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
+        if (message.hash)
+          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
+    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-    endpoints_default = Endpoints;
-  }
-});
-
-// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js
-function endpointsToMethods(octokit) {
-  const newMethods = {};
-  for (const scope of endpointMethodsMap.keys()) {
-    newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
-  }
-  return newMethods;
-}
-function decorate(octokit, scope, methodName, defaults, decorations) {
-  const requestWithDefaults = octokit.request.defaults(defaults);
-  function withDecorations(...args) {
-    let options = requestWithDefaults.endpoint.merge(...args);
-    if (decorations.mapToData) {
-      options = Object.assign({}, options, {
-        data: options[decorations.mapToData],
-        [decorations.mapToData]: void 0
-      });
-      return requestWithDefaults(options);
-    }
-    if (decorations.renamed) {
-      const [newScope, newMethodName] = decorations.renamed;
-      octokit.log.warn(
-        `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
-      );
-    }
-    if (decorations.deprecated) {
-      octokit.log.warn(decorations.deprecated);
-    }
-    if (decorations.renamedParameters) {
-      const options2 = requestWithDefaults.endpoint.merge(...args);
-      for (const [name, alias] of Object.entries(
-        decorations.renamedParameters
-      )) {
-        if (name in options2) {
-          octokit.log.warn(
-            `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`
-          );
-          if (!(alias in options2)) {
-            options2[alias] = options2[name];
+    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
+    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
+          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* google.protobuf.StringValue name_filter */
+            3:
+              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
+              break;
+            case /* google.protobuf.Int64Value id_filter */
+            4:
+              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
           }
-          delete options2[name];
         }
+        return message;
       }
-      return requestWithDefaults(options2);
-    }
-    return requestWithDefaults(...args);
-  }
-  return Object.assign(withDecorations, requestWithDefaults);
-}
-var endpointMethodsMap, handler;
-var init_endpoints_to_methods = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js"() {
-    init_endpoints();
-    endpointMethodsMap = /* @__PURE__ */ new Map();
-    for (const [scope, endpoints] of Object.entries(endpoints_default)) {
-      for (const [methodName, endpoint2] of Object.entries(endpoints)) {
-        const [route, defaults, decorations] = endpoint2;
-        const [method, url] = route.split(/ /);
-        const endpointDefaults = Object.assign(
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.nameFilter)
+          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.idFilter)
+          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
+    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsResponse", [
+          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
+        ]);
+      }
+      create(value) {
+        const message = { artifacts: [] };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
+            1:
+              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        for (let i = 0; i < message.artifacts.length; i++)
+          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
+    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
           {
-            method,
-            url
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
           },
-          defaults
-        );
-        if (!endpointMethodsMap.has(scope)) {
-          endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "database_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          {
+            no: 4,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 5,
+            name: "size",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
+          },
+          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
+          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* int64 database_id */
+            3:
+              message.databaseId = reader.int64().toString();
+              break;
+            case /* string name */
+            4:
+              message.name = reader.string();
+              break;
+            case /* int64 size */
+            5:
+              message.size = reader.int64().toString();
+              break;
+            case /* google.protobuf.Timestamp created_at */
+            6:
+              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
+              break;
+            case /* google.protobuf.StringValue digest */
+            7:
+              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        endpointMethodsMap.get(scope).set(methodName, {
-          scope,
-          methodName,
-          endpointDefaults,
-          decorations
-        });
+        return message;
       }
-    }
-    handler = {
-      has({ scope }, methodName) {
-        return endpointMethodsMap.get(scope).has(methodName);
-      },
-      getOwnPropertyDescriptor(target, methodName) {
-        return {
-          value: this.get(target, methodName),
-          // ensures method is in the cache
-          configurable: true,
-          writable: true,
-          enumerable: true
-        };
-      },
-      defineProperty(target, methodName, descriptor) {
-        Object.defineProperty(target.cache, methodName, descriptor);
-        return true;
-      },
-      deleteProperty(target, methodName) {
-        delete target.cache[methodName];
-        return true;
-      },
-      ownKeys({ scope }) {
-        return [...endpointMethodsMap.get(scope).keys()];
-      },
-      set(target, methodName, value) {
-        return target.cache[methodName] = value;
-      },
-      get({ octokit, scope, cache }, methodName) {
-        if (cache[methodName]) {
-          return cache[methodName];
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.databaseId !== "0")
+          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
+        if (message.name !== "")
+          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
+        if (message.size !== "0")
+          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
+        if (message.createdAt)
+          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        if (message.digest)
+          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
+    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        const method = endpointMethodsMap.get(scope).get(methodName);
-        if (!method) {
-          return void 0;
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
+    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
+          {
+            no: 1,
+            name: "signed_url",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { signedUrl: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string signed_url */
+            1:
+              message.signedUrl = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        const { endpointDefaults, decorations } = method;
-        if (decorations) {
-          cache[methodName] = decorate(
-            octokit,
-            scope,
-            methodName,
-            endpointDefaults,
-            decorations
-          );
-        } else {
-          cache[methodName] = octokit.request.defaults(endpointDefaults);
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.signedUrl !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
+    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.DeleteArtifactRequest", [
+          {
+            no: 1,
+            name: "workflow_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 2,
+            name: "workflow_job_run_backend_id",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          },
+          {
+            no: 3,
+            name: "name",
+            kind: "scalar",
+            T: 9
+            /*ScalarType.STRING*/
+          }
+        ]);
+      }
+      create(value) {
+        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* string workflow_run_backend_id */
+            1:
+              message.workflowRunBackendId = reader.string();
+              break;
+            case /* string workflow_job_run_backend_id */
+            2:
+              message.workflowJobRunBackendId = reader.string();
+              break;
+            case /* string name */
+            3:
+              message.name = reader.string();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
         }
-        return cache[methodName];
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.workflowRunBackendId !== "")
+          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
+        if (message.workflowJobRunBackendId !== "")
+          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
+        if (message.name !== "")
+          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
       }
     };
-  }
-});
-
-// node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js
-var dist_src_exports2 = {};
-__export(dist_src_exports2, {
-  legacyRestEndpointMethods: () => legacyRestEndpointMethods,
-  restEndpointMethods: () => restEndpointMethods
-});
-function restEndpointMethods(octokit) {
-  const api = endpointsToMethods(octokit);
-  return {
-    rest: api
-  };
-}
-function legacyRestEndpointMethods(octokit) {
-  const api = endpointsToMethods(octokit);
-  return {
-    ...api,
-    rest: api
-  };
-}
-var init_dist_src3 = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js"() {
-    init_version2();
-    init_endpoints_to_methods();
-    restEndpointMethods.VERSION = VERSION5;
-    legacyRestEndpointMethods.VERSION = VERSION5;
-  }
-});
-
-// node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js
-var dist_bundle_exports = {};
-__export(dist_bundle_exports, {
-  composePaginateRest: () => composePaginateRest,
-  isPaginatingEndpoint: () => isPaginatingEndpoint,
-  paginateRest: () => paginateRest,
-  paginatingEndpoints: () => paginatingEndpoints
-});
-function normalizePaginatedListResponse(response) {
-  if (!response.data) {
-    return {
-      ...response,
-      data: []
-    };
-  }
-  const responseNeedsNormalization = ("total_count" in response.data || "total_commits" in response.data) && !("url" in response.data);
-  if (!responseNeedsNormalization) return response;
-  const incompleteResults = response.data.incomplete_results;
-  const repositorySelection = response.data.repository_selection;
-  const totalCount = response.data.total_count;
-  const totalCommits = response.data.total_commits;
-  delete response.data.incomplete_results;
-  delete response.data.repository_selection;
-  delete response.data.total_count;
-  delete response.data.total_commits;
-  const namespaceKey = Object.keys(response.data)[0];
-  const data = response.data[namespaceKey];
-  response.data = data;
-  if (typeof incompleteResults !== "undefined") {
-    response.data.incomplete_results = incompleteResults;
-  }
-  if (typeof repositorySelection !== "undefined") {
-    response.data.repository_selection = repositorySelection;
-  }
-  response.data.total_count = totalCount;
-  response.data.total_commits = totalCommits;
-  return response;
-}
-function iterator(octokit, route, parameters) {
-  const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
-  const requestMethod = typeof route === "function" ? route : octokit.request;
-  const method = options.method;
-  const headers = options.headers;
-  let url = options.url;
-  return {
-    [Symbol.asyncIterator]: () => ({
-      async next() {
-        if (!url) return { done: true };
-        try {
-          const response = await requestMethod({ method, url, headers });
-          const normalizedResponse = normalizePaginatedListResponse(response);
-          url = ((normalizedResponse.headers.link || "").match(
-            /<([^<>]+)>;\s*rel="next"/
-          ) || [])[1];
-          if (!url && "total_commits" in normalizedResponse.data) {
-            const parsedUrl = new URL(normalizedResponse.url);
-            const params = parsedUrl.searchParams;
-            const page = parseInt(params.get("page") || "1", 10);
-            const per_page = parseInt(params.get("per_page") || "250", 10);
-            if (page * per_page < normalizedResponse.data.total_commits) {
-              params.set("page", String(page + 1));
-              url = parsedUrl.toString();
-            }
+    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
+    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
+      constructor() {
+        super("github.actions.results.api.v1.DeleteArtifactResponse", [
+          {
+            no: 1,
+            name: "ok",
+            kind: "scalar",
+            T: 8
+            /*ScalarType.BOOL*/
+          },
+          {
+            no: 2,
+            name: "artifact_id",
+            kind: "scalar",
+            T: 3
+            /*ScalarType.INT64*/
           }
-          return { value: normalizedResponse };
-        } catch (error3) {
-          if (error3.status !== 409) throw error3;
-          url = "";
-          return {
-            value: {
-              status: 200,
-              headers: {},
-              data: []
-            }
-          };
-        }
+        ]);
       }
-    })
-  };
-}
-function paginate(octokit, route, parameters, mapFn) {
-  if (typeof parameters === "function") {
-    mapFn = parameters;
-    parameters = void 0;
-  }
-  return gather(
-    octokit,
-    [],
-    iterator(octokit, route, parameters)[Symbol.asyncIterator](),
-    mapFn
-  );
-}
-function gather(octokit, results, iterator2, mapFn) {
-  return iterator2.next().then((result) => {
-    if (result.done) {
-      return results;
-    }
-    let earlyExit = false;
-    function done() {
-      earlyExit = true;
-    }
-    results = results.concat(
-      mapFn ? mapFn(result.value, done) : result.value.data
-    );
-    if (earlyExit) {
-      return results;
-    }
-    return gather(octokit, results, iterator2, mapFn);
-  });
-}
-function isPaginatingEndpoint(arg) {
-  if (typeof arg === "string") {
-    return paginatingEndpoints.includes(arg);
-  } else {
-    return false;
-  }
-}
-function paginateRest(octokit) {
-  return {
-    paginate: Object.assign(paginate.bind(null, octokit), {
-      iterator: iterator.bind(null, octokit)
-    })
-  };
-}
-var VERSION6, composePaginateRest, paginatingEndpoints;
-var init_dist_bundle5 = __esm({
-  "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js"() {
-    VERSION6 = "0.0.0-development";
-    composePaginateRest = Object.assign(paginate, {
-      iterator
-    });
-    paginatingEndpoints = [
-      "GET /advisories",
-      "GET /app/hook/deliveries",
-      "GET /app/installation-requests",
-      "GET /app/installations",
-      "GET /assignments/{assignment_id}/accepted_assignments",
-      "GET /classrooms",
-      "GET /classrooms/{classroom_id}/assignments",
-      "GET /enterprises/{enterprise}/code-security/configurations",
-      "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories",
-      "GET /enterprises/{enterprise}/dependabot/alerts",
-      "GET /enterprises/{enterprise}/teams",
-      "GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships",
-      "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations",
-      "GET /events",
-      "GET /gists",
-      "GET /gists/public",
-      "GET /gists/starred",
-      "GET /gists/{gist_id}/comments",
-      "GET /gists/{gist_id}/commits",
-      "GET /gists/{gist_id}/forks",
-      "GET /installation/repositories",
-      "GET /issues",
-      "GET /licenses",
-      "GET /marketplace_listing/plans",
-      "GET /marketplace_listing/plans/{plan_id}/accounts",
-      "GET /marketplace_listing/stubbed/plans",
-      "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts",
-      "GET /networks/{owner}/{repo}/events",
-      "GET /notifications",
-      "GET /organizations",
-      "GET /organizations/{org}/dependabot/repository-access",
-      "GET /orgs/{org}/actions/cache/usage-by-repository",
-      "GET /orgs/{org}/actions/hosted-runners",
-      "GET /orgs/{org}/actions/permissions/repositories",
-      "GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories",
-      "GET /orgs/{org}/actions/runner-groups",
-      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners",
-      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories",
-      "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners",
-      "GET /orgs/{org}/actions/runners",
-      "GET /orgs/{org}/actions/secrets",
-      "GET /orgs/{org}/actions/secrets/{secret_name}/repositories",
-      "GET /orgs/{org}/actions/variables",
-      "GET /orgs/{org}/actions/variables/{name}/repositories",
-      "GET /orgs/{org}/attestations/repositories",
-      "GET /orgs/{org}/attestations/{subject_digest}",
-      "GET /orgs/{org}/blocks",
-      "GET /orgs/{org}/campaigns",
-      "GET /orgs/{org}/code-scanning/alerts",
-      "GET /orgs/{org}/code-security/configurations",
-      "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories",
-      "GET /orgs/{org}/codespaces",
-      "GET /orgs/{org}/codespaces/secrets",
-      "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories",
-      "GET /orgs/{org}/copilot/billing/seats",
-      "GET /orgs/{org}/copilot/metrics",
-      "GET /orgs/{org}/dependabot/alerts",
-      "GET /orgs/{org}/dependabot/secrets",
-      "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories",
-      "GET /orgs/{org}/events",
-      "GET /orgs/{org}/failed_invitations",
-      "GET /orgs/{org}/hooks",
-      "GET /orgs/{org}/hooks/{hook_id}/deliveries",
-      "GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}",
-      "GET /orgs/{org}/insights/api/subject-stats",
-      "GET /orgs/{org}/insights/api/user-stats/{user_id}",
-      "GET /orgs/{org}/installations",
-      "GET /orgs/{org}/invitations",
-      "GET /orgs/{org}/invitations/{invitation_id}/teams",
-      "GET /orgs/{org}/issues",
-      "GET /orgs/{org}/members",
-      "GET /orgs/{org}/members/{username}/codespaces",
-      "GET /orgs/{org}/migrations",
-      "GET /orgs/{org}/migrations/{migration_id}/repositories",
-      "GET /orgs/{org}/organization-roles/{role_id}/teams",
-      "GET /orgs/{org}/organization-roles/{role_id}/users",
-      "GET /orgs/{org}/outside_collaborators",
-      "GET /orgs/{org}/packages",
-      "GET /orgs/{org}/packages/{package_type}/{package_name}/versions",
-      "GET /orgs/{org}/personal-access-token-requests",
-      "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories",
-      "GET /orgs/{org}/personal-access-tokens",
-      "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories",
-      "GET /orgs/{org}/private-registries",
-      "GET /orgs/{org}/projects",
-      "GET /orgs/{org}/projectsV2",
-      "GET /orgs/{org}/projectsV2/{project_number}/fields",
-      "GET /orgs/{org}/projectsV2/{project_number}/items",
-      "GET /orgs/{org}/properties/values",
-      "GET /orgs/{org}/public_members",
-      "GET /orgs/{org}/repos",
-      "GET /orgs/{org}/rulesets",
-      "GET /orgs/{org}/rulesets/rule-suites",
-      "GET /orgs/{org}/rulesets/{ruleset_id}/history",
-      "GET /orgs/{org}/secret-scanning/alerts",
-      "GET /orgs/{org}/security-advisories",
-      "GET /orgs/{org}/settings/immutable-releases/repositories",
-      "GET /orgs/{org}/settings/network-configurations",
-      "GET /orgs/{org}/team/{team_slug}/copilot/metrics",
-      "GET /orgs/{org}/teams",
-      "GET /orgs/{org}/teams/{team_slug}/discussions",
-      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments",
-      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",
-      "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",
-      "GET /orgs/{org}/teams/{team_slug}/invitations",
-      "GET /orgs/{org}/teams/{team_slug}/members",
-      "GET /orgs/{org}/teams/{team_slug}/projects",
-      "GET /orgs/{org}/teams/{team_slug}/repos",
-      "GET /orgs/{org}/teams/{team_slug}/teams",
-      "GET /projects/{project_id}/collaborators",
-      "GET /repos/{owner}/{repo}/actions/artifacts",
-      "GET /repos/{owner}/{repo}/actions/caches",
-      "GET /repos/{owner}/{repo}/actions/organization-secrets",
-      "GET /repos/{owner}/{repo}/actions/organization-variables",
-      "GET /repos/{owner}/{repo}/actions/runners",
-      "GET /repos/{owner}/{repo}/actions/runs",
-      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts",
-      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs",
-      "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs",
-      "GET /repos/{owner}/{repo}/actions/secrets",
-      "GET /repos/{owner}/{repo}/actions/variables",
-      "GET /repos/{owner}/{repo}/actions/workflows",
-      "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs",
-      "GET /repos/{owner}/{repo}/activity",
-      "GET /repos/{owner}/{repo}/assignees",
-      "GET /repos/{owner}/{repo}/attestations/{subject_digest}",
-      "GET /repos/{owner}/{repo}/branches",
-      "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations",
-      "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs",
-      "GET /repos/{owner}/{repo}/code-scanning/alerts",
-      "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
-      "GET /repos/{owner}/{repo}/code-scanning/analyses",
-      "GET /repos/{owner}/{repo}/codespaces",
-      "GET /repos/{owner}/{repo}/codespaces/devcontainers",
-      "GET /repos/{owner}/{repo}/codespaces/secrets",
-      "GET /repos/{owner}/{repo}/collaborators",
-      "GET /repos/{owner}/{repo}/comments",
-      "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/commits",
-      "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments",
-      "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls",
-      "GET /repos/{owner}/{repo}/commits/{ref}/check-runs",
-      "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
-      "GET /repos/{owner}/{repo}/commits/{ref}/status",
-      "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
-      "GET /repos/{owner}/{repo}/compare/{basehead}",
-      "GET /repos/{owner}/{repo}/compare/{base}...{head}",
-      "GET /repos/{owner}/{repo}/contributors",
-      "GET /repos/{owner}/{repo}/dependabot/alerts",
-      "GET /repos/{owner}/{repo}/dependabot/secrets",
-      "GET /repos/{owner}/{repo}/deployments",
-      "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses",
-      "GET /repos/{owner}/{repo}/environments",
-      "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies",
-      "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps",
-      "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets",
-      "GET /repos/{owner}/{repo}/environments/{environment_name}/variables",
-      "GET /repos/{owner}/{repo}/events",
-      "GET /repos/{owner}/{repo}/forks",
-      "GET /repos/{owner}/{repo}/hooks",
-      "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries",
-      "GET /repos/{owner}/{repo}/invitations",
-      "GET /repos/{owner}/{repo}/issues",
-      "GET /repos/{owner}/{repo}/issues/comments",
-      "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/issues/events",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/comments",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/events",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/labels",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues",
-      "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline",
-      "GET /repos/{owner}/{repo}/keys",
-      "GET /repos/{owner}/{repo}/labels",
-      "GET /repos/{owner}/{repo}/milestones",
-      "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels",
-      "GET /repos/{owner}/{repo}/notifications",
-      "GET /repos/{owner}/{repo}/pages/builds",
-      "GET /repos/{owner}/{repo}/projects",
-      "GET /repos/{owner}/{repo}/pulls",
-      "GET /repos/{owner}/{repo}/pulls/comments",
-      "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/files",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews",
-      "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments",
-      "GET /repos/{owner}/{repo}/releases",
-      "GET /repos/{owner}/{repo}/releases/{release_id}/assets",
-      "GET /repos/{owner}/{repo}/releases/{release_id}/reactions",
-      "GET /repos/{owner}/{repo}/rules/branches/{branch}",
-      "GET /repos/{owner}/{repo}/rulesets",
-      "GET /repos/{owner}/{repo}/rulesets/rule-suites",
-      "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history",
-      "GET /repos/{owner}/{repo}/secret-scanning/alerts",
-      "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations",
-      "GET /repos/{owner}/{repo}/security-advisories",
-      "GET /repos/{owner}/{repo}/stargazers",
-      "GET /repos/{owner}/{repo}/subscribers",
-      "GET /repos/{owner}/{repo}/tags",
-      "GET /repos/{owner}/{repo}/teams",
-      "GET /repos/{owner}/{repo}/topics",
-      "GET /repositories",
-      "GET /search/code",
-      "GET /search/commits",
-      "GET /search/issues",
-      "GET /search/labels",
-      "GET /search/repositories",
-      "GET /search/topics",
-      "GET /search/users",
-      "GET /teams/{team_id}/discussions",
-      "GET /teams/{team_id}/discussions/{discussion_number}/comments",
-      "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",
-      "GET /teams/{team_id}/discussions/{discussion_number}/reactions",
-      "GET /teams/{team_id}/invitations",
-      "GET /teams/{team_id}/members",
-      "GET /teams/{team_id}/projects",
-      "GET /teams/{team_id}/repos",
-      "GET /teams/{team_id}/teams",
-      "GET /user/blocks",
-      "GET /user/codespaces",
-      "GET /user/codespaces/secrets",
-      "GET /user/emails",
-      "GET /user/followers",
-      "GET /user/following",
-      "GET /user/gpg_keys",
-      "GET /user/installations",
-      "GET /user/installations/{installation_id}/repositories",
-      "GET /user/issues",
-      "GET /user/keys",
-      "GET /user/marketplace_purchases",
-      "GET /user/marketplace_purchases/stubbed",
-      "GET /user/memberships/orgs",
-      "GET /user/migrations",
-      "GET /user/migrations/{migration_id}/repositories",
-      "GET /user/orgs",
-      "GET /user/packages",
-      "GET /user/packages/{package_type}/{package_name}/versions",
-      "GET /user/public_emails",
-      "GET /user/repos",
-      "GET /user/repository_invitations",
-      "GET /user/social_accounts",
-      "GET /user/ssh_signing_keys",
-      "GET /user/starred",
-      "GET /user/subscriptions",
-      "GET /user/teams",
-      "GET /users",
-      "GET /users/{username}/attestations/{subject_digest}",
-      "GET /users/{username}/events",
-      "GET /users/{username}/events/orgs/{org}",
-      "GET /users/{username}/events/public",
-      "GET /users/{username}/followers",
-      "GET /users/{username}/following",
-      "GET /users/{username}/gists",
-      "GET /users/{username}/gpg_keys",
-      "GET /users/{username}/keys",
-      "GET /users/{username}/orgs",
-      "GET /users/{username}/packages",
-      "GET /users/{username}/projects",
-      "GET /users/{username}/projectsV2",
-      "GET /users/{username}/projectsV2/{project_number}/fields",
-      "GET /users/{username}/projectsV2/{project_number}/items",
-      "GET /users/{username}/received_events",
-      "GET /users/{username}/received_events/public",
-      "GET /users/{username}/repos",
-      "GET /users/{username}/social_accounts",
-      "GET /users/{username}/ssh_signing_keys",
-      "GET /users/{username}/starred",
-      "GET /users/{username}/subscriptions"
-    ];
-    paginateRest.VERSION = VERSION6;
+      create(value) {
+        const message = { ok: false, artifactId: "0" };
+        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
+        if (value !== void 0)
+          (0, runtime_3.reflectionMergePartial)(this, message, value);
+        return message;
+      }
+      internalBinaryRead(reader, length, options, target) {
+        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
+        while (reader.pos < end) {
+          let [fieldNo, wireType] = reader.tag();
+          switch (fieldNo) {
+            case /* bool ok */
+            1:
+              message.ok = reader.bool();
+              break;
+            case /* int64 artifact_id */
+            2:
+              message.artifactId = reader.int64().toString();
+              break;
+            default:
+              let u = options.readUnknownField;
+              if (u === "throw")
+                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
+              let d = reader.skip(wireType);
+              if (u !== false)
+                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          }
+        }
+        return message;
+      }
+      internalBinaryWrite(message, writer, options) {
+        if (message.ok !== false)
+          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
+        if (message.artifactId !== "0")
+          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
+        let u = options.writeUnknownFields;
+        if (u !== false)
+          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
+        return writer;
+      }
+    };
+    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
+    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
+      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
+      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
+      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
+      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
+      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
+      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
+      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
+    ]);
   }
 });
 
-// node_modules/@actions/github/lib/utils.js
-var require_utils5 = __commonJS({
-  "node_modules/@actions/github/lib/utils.js"(exports2) {
+// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
+var require_artifact_twirp_client = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
+    var artifact_1 = require_artifact();
+    var ArtifactServiceClientJSON = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateArtifact.bind(this);
+        this.FinalizeArtifact.bind(this);
+        this.ListArtifacts.bind(this);
+        this.GetSignedArtifactURL.bind(this);
+        this.DeleteArtifact.bind(this);
+      }
+      CreateArtifact(request2) {
+        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      FinalizeArtifact(request2) {
+        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      ListArtifacts(request2) {
+        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
+        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
+      }
+      GetSignedArtifactURL(request2) {
+        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
+        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+      DeleteArtifact(request2) {
+        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
+          useProtoFieldName: true,
+          emitDefaultValues: false
+        });
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
+        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
+          ignoreUnknownFields: true
+        }));
+      }
+    };
+    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
+    var ArtifactServiceClientProtobuf = class {
+      constructor(rpc) {
+        this.rpc = rpc;
+        this.CreateArtifact.bind(this);
+        this.FinalizeArtifact.bind(this);
+        this.ListArtifacts.bind(this);
+        this.GetSignedArtifactURL.bind(this);
+        this.DeleteArtifact.bind(this);
+      }
+      CreateArtifact(request2) {
+        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
+      }
+      FinalizeArtifact(request2) {
+        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
+      }
+      ListArtifacts(request2) {
+        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
+      }
+      GetSignedArtifactURL(request2) {
+        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
+      }
+      DeleteArtifact(request2) {
+        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
+        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
+        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
+      }
+    };
+    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
+  }
+});
+
+// node_modules/@actions/artifact/lib/generated/index.js
+var require_generated = __commonJS({
+  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
       if (k2 === void 0) k2 = k;
@@ -42451,62 +53696,20 @@ var require_utils5 = __commonJS({
       if (k2 === void 0) k2 = k;
       o[k2] = m[k];
     }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GitHub = exports2.defaults = exports2.context = void 0;
-    exports2.getOctokitOptions = getOctokitOptions2;
-    var Context = __importStar2(require_context());
-    var Utils = __importStar2(require_utils4());
-    var core_1 = (init_dist_src2(), __toCommonJS(dist_src_exports));
-    var plugin_rest_endpoint_methods_1 = (init_dist_src3(), __toCommonJS(dist_src_exports2));
-    var plugin_paginate_rest_1 = (init_dist_bundle5(), __toCommonJS(dist_bundle_exports));
-    exports2.context = new Context.Context();
-    var baseUrl = Utils.getApiBaseUrl();
-    exports2.defaults = {
-      baseUrl,
-      request: {
-        agent: Utils.getProxyAgent(baseUrl),
-        fetch: Utils.getProxyFetch(baseUrl)
-      }
+    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
+      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
     };
-    exports2.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports2.defaults);
-    function getOctokitOptions2(token, options) {
-      const opts = Object.assign({}, options || {});
-      const auth2 = Utils.getAuthString(token, opts);
-      if (auth2) {
-        opts.auth = auth2;
-      }
-      return opts;
-    }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    __exportStar2(require_timestamp(), exports2);
+    __exportStar2(require_wrappers(), exports2);
+    __exportStar2(require_artifact(), exports2);
+    __exportStar2(require_artifact_twirp_client(), exports2);
   }
 });
 
-// node_modules/@actions/github/lib/github.js
-var require_github = __commonJS({
-  "node_modules/@actions/github/lib/github.js"(exports2) {
+// node_modules/@actions/artifact/lib/internal/upload/retention.js
+var require_retention = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
       if (k2 === void 0) k2 = k;
@@ -42526,75311 +53729,82361 @@ var require_github = __commonJS({
     }) : function(o, v) {
       o["default"] = v;
     });
-    var __importStar2 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
-      var ownKeys2 = function(o) {
-        ownKeys2 = Object.getOwnPropertyNames || function(o2) {
-          var ar = [];
-          for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-          return ar;
-        };
-        return ownKeys2(o);
-      };
-      return function(mod) {
-        if (mod && mod.__esModule) return mod;
-        var result = {};
-        if (mod != null) {
-          for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding2(result, mod, k[i]);
-        }
-        __setModuleDefault2(result, mod);
-        return result;
-      };
-    })();
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.context = void 0;
-    exports2.getOctokit = getOctokit;
-    var Context = __importStar2(require_context());
-    var utils_1 = require_utils5();
-    exports2.context = new Context.Context();
-    function getOctokit(token, options, ...additionalPlugins) {
-      const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
-      return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options));
+    exports2.getExpiration = void 0;
+    var generated_1 = require_generated();
+    var core14 = __importStar2(require_core());
+    function getExpiration(retentionDays) {
+      if (!retentionDays) {
+        return void 0;
+      }
+      const maxRetentionDays = getRetentionDays();
+      if (maxRetentionDays && maxRetentionDays < retentionDays) {
+        core14.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
+        retentionDays = maxRetentionDays;
+      }
+      const expirationDate = /* @__PURE__ */ new Date();
+      expirationDate.setDate(expirationDate.getDate() + retentionDays);
+      return generated_1.Timestamp.fromDate(expirationDate);
+    }
+    exports2.getExpiration = getExpiration;
+    function getRetentionDays() {
+      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
+      if (!retentionDays) {
+        return void 0;
+      }
+      const days = parseInt(retentionDays);
+      if (isNaN(days)) {
+        return void 0;
+      }
+      return days;
     }
   }
 });
 
-// node_modules/semver/internal/constants.js
-var require_constants11 = __commonJS({
-  "node_modules/semver/internal/constants.js"(exports2, module2) {
+// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
+var require_path_and_artifact_name_validation = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
     "use strict";
-    var SEMVER_SPEC_VERSION = "2.0.0";
-    var MAX_LENGTH = 256;
-    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
-    9007199254740991;
-    var MAX_SAFE_COMPONENT_LENGTH = 16;
-    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
-    var RELEASE_TYPES = [
-      "major",
-      "premajor",
-      "minor",
-      "preminor",
-      "patch",
-      "prepatch",
-      "prerelease"
-    ];
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.validateFilePath = exports2.validateArtifactName = void 0;
+    var core_1 = require_core();
+    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
+      ['"', ' Double quote "'],
+      [":", " Colon :"],
+      ["<", " Less than <"],
+      [">", " Greater than >"],
+      ["|", " Vertical bar |"],
+      ["*", " Asterisk *"],
+      ["?", " Question mark ?"],
+      ["\r", " Carriage return \\r"],
+      ["\n", " Line feed \\n"]
+    ]);
+    var invalidArtifactNameCharacters = new Map([
+      ...invalidArtifactFilePathCharacters,
+      ["\\", " Backslash \\"],
+      ["/", " Forward slash /"]
+    ]);
+    function validateArtifactName(name) {
+      if (!name) {
+        throw new Error(`Provided artifact name input during validation is empty`);
+      }
+      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
+        if (name.includes(invalidCharacterKey)) {
+          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
+          
+Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
+          
+These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
+        }
+      }
+      (0, core_1.info)(`Artifact name is valid!`);
+    }
+    exports2.validateArtifactName = validateArtifactName;
+    function validateFilePath(path3) {
+      if (!path3) {
+        throw new Error(`Provided file path input during validation is empty`);
+      }
+      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
+        if (path3.includes(invalidCharacterKey)) {
+          throw new Error(`The path for one of the files in artifact is not valid: ${path3}. Contains the following character: ${errorMessageForCharacter}
+          
+Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
+          
+The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
+          `);
+        }
+      }
+    }
+    exports2.validateFilePath = validateFilePath;
+  }
+});
+
+// node_modules/@actions/artifact/package.json
+var require_package2 = __commonJS({
+  "node_modules/@actions/artifact/package.json"(exports2, module2) {
     module2.exports = {
-      MAX_LENGTH,
-      MAX_SAFE_COMPONENT_LENGTH,
-      MAX_SAFE_BUILD_LENGTH,
-      MAX_SAFE_INTEGER,
-      RELEASE_TYPES,
-      SEMVER_SPEC_VERSION,
-      FLAG_INCLUDE_PRERELEASE: 1,
-      FLAG_LOOSE: 2
+      name: "@actions/artifact",
+      version: "5.0.3",
+      preview: true,
+      description: "Actions artifact lib",
+      keywords: [
+        "github",
+        "actions",
+        "artifact"
+      ],
+      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
+      license: "MIT",
+      main: "lib/artifact.js",
+      types: "lib/artifact.d.ts",
+      directories: {
+        lib: "lib",
+        test: "__tests__"
+      },
+      files: [
+        "lib",
+        "!.DS_Store"
+      ],
+      publishConfig: {
+        access: "public"
+      },
+      repository: {
+        type: "git",
+        url: "git+https://github.com/actions/toolkit.git",
+        directory: "packages/artifact"
+      },
+      scripts: {
+        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
+        test: "cd ../../ && npm run test ./packages/artifact",
+        bootstrap: "cd ../../ && npm run bootstrap",
+        "tsc-run": "tsc",
+        tsc: "npm run bootstrap && npm run tsc-run",
+        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
+      },
+      bugs: {
+        url: "https://github.com/actions/toolkit/issues"
+      },
+      dependencies: {
+        "@actions/core": "^2.0.0",
+        "@actions/github": "^6.0.1",
+        "@actions/http-client": "^3.0.2",
+        "@azure/storage-blob": "^12.29.1",
+        "@octokit/core": "^5.2.1",
+        "@octokit/plugin-request-log": "^1.0.4",
+        "@octokit/plugin-retry": "^3.0.9",
+        "@octokit/request": "^8.4.1",
+        "@octokit/request-error": "^5.1.1",
+        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
+        archiver: "^7.0.1",
+        "jwt-decode": "^3.1.2",
+        "unzip-stream": "^0.3.1"
+      },
+      devDependencies: {
+        "@types/archiver": "^5.3.2",
+        "@types/unzip-stream": "^0.3.4",
+        typedoc: "^0.28.13",
+        "typedoc-plugin-markdown": "^3.17.1",
+        typescript: "^5.2.2"
+      },
+      overrides: {
+        "uri-js": "npm:uri-js-replace@^1.0.1",
+        "node-fetch": "^3.3.2"
+      }
     };
   }
 });
 
-// node_modules/semver/internal/debug.js
-var require_debug = __commonJS({
-  "node_modules/semver/internal/debug.js"(exports2, module2) {
+// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
+var require_user_agent = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
     "use strict";
-    var debug4 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
-    };
-    module2.exports = debug4;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentString = void 0;
+    var packageJson = require_package2();
+    function getUserAgentString() {
+      return `@actions/artifact-${packageJson.version}`;
+    }
+    exports2.getUserAgentString = getUserAgentString;
   }
 });
 
-// node_modules/semver/internal/re.js
-var require_re = __commonJS({
-  "node_modules/semver/internal/re.js"(exports2, module2) {
+// node_modules/@actions/artifact/lib/internal/shared/errors.js
+var require_errors3 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
     "use strict";
-    var {
-      MAX_SAFE_COMPONENT_LENGTH,
-      MAX_SAFE_BUILD_LENGTH,
-      MAX_LENGTH
-    } = require_constants11();
-    var debug4 = require_debug();
-    exports2 = module2.exports = {};
-    var re = exports2.re = [];
-    var safeRe = exports2.safeRe = [];
-    var src = exports2.src = [];
-    var safeSrc = exports2.safeSrc = [];
-    var t = exports2.t = {};
-    var R = 0;
-    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
-    var safeRegexReplacements = [
-      ["\\s", 1],
-      ["\\d", MAX_LENGTH],
-      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
-    ];
-    var makeSafeRegex = (value) => {
-      for (const [token, max] of safeRegexReplacements) {
-        value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
+    var FilesNotFoundError = class extends Error {
+      constructor(files = []) {
+        let message = "No files were found to upload";
+        if (files.length > 0) {
+          message += `: ${files.join(", ")}`;
+        }
+        super(message);
+        this.files = files;
+        this.name = "FilesNotFoundError";
+      }
+    };
+    exports2.FilesNotFoundError = FilesNotFoundError;
+    var InvalidResponseError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "InvalidResponseError";
+      }
+    };
+    exports2.InvalidResponseError = InvalidResponseError;
+    var ArtifactNotFoundError = class extends Error {
+      constructor(message = "Artifact not found") {
+        super(message);
+        this.name = "ArtifactNotFoundError";
+      }
+    };
+    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
+    var GHESNotSupportedError = class extends Error {
+      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
+        super(message);
+        this.name = "GHESNotSupportedError";
+      }
+    };
+    exports2.GHESNotSupportedError = GHESNotSupportedError;
+    var NetworkError = class extends Error {
+      constructor(code) {
+        const message = `Unable to make request: ${code}
+If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
+        super(message);
+        this.code = code;
+        this.name = "NetworkError";
+      }
+    };
+    exports2.NetworkError = NetworkError;
+    NetworkError.isNetworkErrorCode = (code) => {
+      if (!code)
+        return false;
+      return [
+        "ECONNRESET",
+        "ENOTFOUND",
+        "ETIMEDOUT",
+        "ECONNREFUSED",
+        "EHOSTUNREACH"
+      ].includes(code);
+    };
+    var UsageError = class extends Error {
+      constructor() {
+        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
+More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
+        super(message);
+        this.name = "UsageError";
       }
-      return value;
     };
-    var createToken = (name, value, isGlobal) => {
-      const safe = makeSafeRegex(value);
-      const index = R++;
-      debug4(name, index, value);
-      t[name] = index;
-      src[index] = value;
-      safeSrc[index] = safe;
-      re[index] = new RegExp(value, isGlobal ? "g" : void 0);
-      safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
+    exports2.UsageError = UsageError;
+    UsageError.isUsageErrorMessage = (msg) => {
+      if (!msg)
+        return false;
+      return msg.includes("insufficient usage");
     };
-    createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
-    createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
-    createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
-    createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
-    createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
-    createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
-    createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
-    createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
-    createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
-    createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
-    createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
-    createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
-    createToken("FULL", `^${src[t.FULLPLAIN]}$`);
-    createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
-    createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
-    createToken("GTLT", "((?:<|>)?=?)");
-    createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
-    createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
-    createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
-    createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
-    createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
-    createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
-    createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
-    createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
-    createToken("COERCERTL", src[t.COERCE], true);
-    createToken("COERCERTLFULL", src[t.COERCEFULL], true);
-    createToken("LONETILDE", "(?:~>?)");
-    createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
-    exports2.tildeTrimReplace = "$1~";
-    createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
-    createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("LONECARET", "(?:\\^)");
-    createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
-    exports2.caretTrimReplace = "$1^";
-    createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
-    createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
-    createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
-    createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
-    createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
-    exports2.comparatorTrimReplace = "$1$2$3";
-    createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
-    createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
-    createToken("STAR", "(<|>)?=?\\s*\\*");
-    createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
-    createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
   }
 });
 
-// node_modules/semver/internal/parse-options.js
-var require_parse_options = __commonJS({
-  "node_modules/semver/internal/parse-options.js"(exports2, module2) {
+// node_modules/jwt-decode/build/jwt-decode.cjs.js
+var require_jwt_decode_cjs = __commonJS({
+  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
     "use strict";
-    var looseOption = Object.freeze({ loose: true });
-    var emptyOpts = Object.freeze({});
-    var parseOptions = (options) => {
-      if (!options) {
-        return emptyOpts;
+    function e(e2) {
+      this.message = e2;
+    }
+    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
+    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
+      var t2 = String(r2).replace(/=+$/, "");
+      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
+      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
+      return c;
+    };
+    function t(e2) {
+      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
+      switch (t2.length % 4) {
+        case 0:
+          break;
+        case 2:
+          t2 += "==";
+          break;
+        case 3:
+          t2 += "=";
+          break;
+        default:
+          throw "Illegal base64url string!";
       }
-      if (typeof options !== "object") {
-        return looseOption;
+      try {
+        return (function(e3) {
+          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
+            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
+            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
+          })));
+        })(t2);
+      } catch (e3) {
+        return r(t2);
       }
-      return options;
-    };
-    module2.exports = parseOptions;
+    }
+    function n(e2) {
+      this.message = e2;
+    }
+    function o(e2, r2) {
+      if ("string" != typeof e2) throw new n("Invalid token specified");
+      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
+      try {
+        return JSON.parse(t(e2.split(".")[o2]));
+      } catch (e3) {
+        throw new n("Invalid token specified: " + e3.message);
+      }
+    }
+    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
+    var a = o;
+    a.default = o, a.InvalidTokenError = n, module2.exports = a;
   }
 });
 
-// node_modules/semver/internal/identifiers.js
-var require_identifiers = __commonJS({
-  "node_modules/semver/internal/identifiers.js"(exports2, module2) {
+// node_modules/@actions/artifact/lib/internal/shared/util.js
+var require_util17 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
     "use strict";
-    var numeric = /^[0-9]+$/;
-    var compareIdentifiers = (a, b) => {
-      if (typeof a === "number" && typeof b === "number") {
-        return a === b ? 0 : a < b ? -1 : 1;
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      const anum = numeric.test(a);
-      const bnum = numeric.test(b);
-      if (anum && bnum) {
-        a = +a;
-        b = +b;
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
+      __setModuleDefault2(result, mod);
+      return result;
     };
-    var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
-    module2.exports = {
-      compareIdentifiers,
-      rcompareIdentifiers
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
     };
-  }
-});
-
-// node_modules/semver/classes/semver.js
-var require_semver = __commonJS({
-  "node_modules/semver/classes/semver.js"(exports2, module2) {
-    "use strict";
-    var debug4 = require_debug();
-    var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants11();
-    var { safeRe: re, t } = require_re();
-    var parseOptions = require_parse_options();
-    var { compareIdentifiers } = require_identifiers();
-    var SemVer = class _SemVer {
-      constructor(version, options) {
-        options = parseOptions(options);
-        if (version instanceof _SemVer) {
-          if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
-            return version;
-          } else {
-            version = version.version;
-          }
-        } else if (typeof version !== "string") {
-          throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);
-        }
-        if (version.length > MAX_LENGTH) {
-          throw new TypeError(
-            `version is longer than ${MAX_LENGTH} characters`
-          );
-        }
-        debug4("SemVer", version, options);
-        this.options = options;
-        this.loose = !!options.loose;
-        this.includePrerelease = !!options.includePrerelease;
-        const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
-        if (!m) {
-          throw new TypeError(`Invalid Version: ${version}`);
-        }
-        this.raw = version;
-        this.major = +m[1];
-        this.minor = +m[2];
-        this.patch = +m[3];
-        if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
-          throw new TypeError("Invalid major version");
-        }
-        if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
-          throw new TypeError("Invalid minor version");
-        }
-        if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
-          throw new TypeError("Invalid patch version");
-        }
-        if (!m[4]) {
-          this.prerelease = [];
-        } else {
-          this.prerelease = m[4].split(".").map((id) => {
-            if (/^[0-9]+$/.test(id)) {
-              const num = +id;
-              if (num >= 0 && num < MAX_SAFE_INTEGER) {
-                return num;
-              }
-            }
-            return id;
-          });
-        }
-        this.build = m[5] ? m[5].split(".") : [];
-        this.format();
-      }
-      format() {
-        this.version = `${this.major}.${this.minor}.${this.patch}`;
-        if (this.prerelease.length) {
-          this.version += `-${this.prerelease.join(".")}`;
-        }
-        return this.version;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
+    var core14 = __importStar2(require_core());
+    var config_1 = require_config();
+    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
+    var core_1 = require_core();
+    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
+    function getBackendIdsFromToken() {
+      const token = (0, config_1.getRuntimeToken)();
+      const decoded = (0, jwt_decode_1.default)(token);
+      if (!decoded.scp) {
+        throw InvalidJwtError;
       }
-      toString() {
-        return this.version;
+      const scpParts = decoded.scp.split(" ");
+      if (scpParts.length === 0) {
+        throw InvalidJwtError;
       }
-      compare(other) {
-        debug4("SemVer.compare", this.version, this.options, other);
-        if (!(other instanceof _SemVer)) {
-          if (typeof other === "string" && other === this.version) {
-            return 0;
-          }
-          other = new _SemVer(other, this.options);
+      for (const scopes of scpParts) {
+        const scopeParts = scopes.split(":");
+        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
+          continue;
         }
-        if (other.version === this.version) {
-          return 0;
+        if (scopeParts.length !== 3) {
+          throw InvalidJwtError;
         }
-        return this.compareMain(other) || this.comparePre(other);
+        const ids = {
+          workflowRunBackendId: scopeParts[1],
+          workflowJobRunBackendId: scopeParts[2]
+        };
+        core14.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
+        core14.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
+        return ids;
       }
-      compareMain(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
-        }
-        if (this.major < other.major) {
-          return -1;
-        }
-        if (this.major > other.major) {
-          return 1;
-        }
-        if (this.minor < other.minor) {
-          return -1;
-        }
-        if (this.minor > other.minor) {
-          return 1;
-        }
-        if (this.patch < other.patch) {
-          return -1;
-        }
-        if (this.patch > other.patch) {
-          return 1;
+      throw InvalidJwtError;
+    }
+    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
+    function maskSigUrl(url) {
+      if (!url)
+        return;
+      try {
+        const parsedUrl = new URL(url);
+        const signature = parsedUrl.searchParams.get("sig");
+        if (signature) {
+          (0, core_1.setSecret)(signature);
+          (0, core_1.setSecret)(encodeURIComponent(signature));
         }
-        return 0;
+      } catch (error3) {
+        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
       }
-      comparePre(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
-        }
-        if (this.prerelease.length && !other.prerelease.length) {
-          return -1;
-        } else if (!this.prerelease.length && other.prerelease.length) {
-          return 1;
-        } else if (!this.prerelease.length && !other.prerelease.length) {
-          return 0;
-        }
-        let i = 0;
-        do {
-          const a = this.prerelease[i];
-          const b = other.prerelease[i];
-          debug4("prerelease compare", i, a, b);
-          if (a === void 0 && b === void 0) {
-            return 0;
-          } else if (b === void 0) {
-            return 1;
-          } else if (a === void 0) {
-            return -1;
-          } else if (a === b) {
-            continue;
-          } else {
-            return compareIdentifiers(a, b);
-          }
-        } while (++i);
+    }
+    exports2.maskSigUrl = maskSigUrl;
+    function maskSecretUrls(body) {
+      if (typeof body !== "object" || body === null) {
+        (0, core_1.debug)("body is not an object or is null");
+        return;
       }
-      compareBuild(other) {
-        if (!(other instanceof _SemVer)) {
-          other = new _SemVer(other, this.options);
-        }
-        let i = 0;
-        do {
-          const a = this.build[i];
-          const b = other.build[i];
-          debug4("build compare", i, a, b);
-          if (a === void 0 && b === void 0) {
-            return 0;
-          } else if (b === void 0) {
-            return 1;
-          } else if (a === void 0) {
-            return -1;
-          } else if (a === b) {
-            continue;
-          } else {
-            return compareIdentifiers(a, b);
-          }
-        } while (++i);
+      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
+        maskSigUrl(body.signed_upload_url);
       }
-      // preminor will bump the version up to the next minor release, and immediately
-      // down to pre-release. premajor and prepatch work the same way.
-      inc(release, identifier, identifierBase) {
-        if (release.startsWith("pre")) {
-          if (!identifier && identifierBase === false) {
-            throw new Error("invalid increment argument: identifier is empty");
+      if ("signed_url" in body && typeof body.signed_url === "string") {
+        maskSigUrl(body.signed_url);
+      }
+    }
+    exports2.maskSecretUrls = maskSecretUrls;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
+var require_artifact_twirp_client2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
+    "use strict";
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
           }
-          if (identifier) {
-            const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
-            if (!match || match[1] !== identifier) {
-              throw new Error(`invalid identifier: ${identifier}`);
-            }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
           }
         }
-        switch (release) {
-          case "premajor":
-            this.prerelease.length = 0;
-            this.patch = 0;
-            this.minor = 0;
-            this.major++;
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "preminor":
-            this.prerelease.length = 0;
-            this.patch = 0;
-            this.minor++;
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "prepatch":
-            this.prerelease.length = 0;
-            this.inc("patch", identifier, identifierBase);
-            this.inc("pre", identifier, identifierBase);
-            break;
-          // If the input is a non-prerelease version, this acts the same as
-          // prepatch.
-          case "prerelease":
-            if (this.prerelease.length === 0) {
-              this.inc("patch", identifier, identifierBase);
-            }
-            this.inc("pre", identifier, identifierBase);
-            break;
-          case "release":
-            if (this.prerelease.length === 0) {
-              throw new Error(`version ${this.raw} is not a prerelease`);
-            }
-            this.prerelease.length = 0;
-            break;
-          case "major":
-            if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
-              this.major++;
-            }
-            this.minor = 0;
-            this.patch = 0;
-            this.prerelease = [];
-            break;
-          case "minor":
-            if (this.patch !== 0 || this.prerelease.length === 0) {
-              this.minor++;
-            }
-            this.patch = 0;
-            this.prerelease = [];
-            break;
-          case "patch":
-            if (this.prerelease.length === 0) {
-              this.patch++;
-            }
-            this.prerelease = [];
-            break;
-          // This probably shouldn't be used publicly.
-          // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
-          case "pre": {
-            const base = Number(identifierBase) ? 1 : 0;
-            if (this.prerelease.length === 0) {
-              this.prerelease = [base];
-            } else {
-              let i = this.prerelease.length;
-              while (--i >= 0) {
-                if (typeof this.prerelease[i] === "number") {
-                  this.prerelease[i]++;
-                  i = -2;
-                }
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.internalArtifactTwirpClient = void 0;
+    var http_client_1 = require_lib();
+    var auth_1 = require_auth();
+    var core_1 = require_core();
+    var generated_1 = require_generated();
+    var config_1 = require_config();
+    var user_agent_1 = require_user_agent();
+    var errors_1 = require_errors3();
+    var util_1 = require_util17();
+    var ArtifactHttpClient = class {
+      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
+        this.maxAttempts = 5;
+        this.baseRetryIntervalMilliseconds = 3e3;
+        this.retryMultiplier = 1.5;
+        const token = (0, config_1.getRuntimeToken)();
+        this.baseUrl = (0, config_1.getResultsServiceUrl)();
+        if (maxAttempts) {
+          this.maxAttempts = maxAttempts;
+        }
+        if (baseRetryIntervalMilliseconds) {
+          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
+        }
+        if (retryMultiplier) {
+          this.retryMultiplier = retryMultiplier;
+        }
+        this.httpClient = new http_client_1.HttpClient(userAgent2, [
+          new auth_1.BearerCredentialHandler(token)
+        ]);
+      }
+      // This function satisfies the Rpc interface. It is compatible with the JSON
+      // JSON generated client.
+      request(service, method, contentType, data) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
+          (0, core_1.debug)(`[Request] ${method} ${url}`);
+          const headers = {
+            "Content-Type": contentType
+          };
+          try {
+            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
+              return this.httpClient.post(url, JSON.stringify(data), headers);
+            }));
+            return body;
+          } catch (error3) {
+            throw new Error(`Failed to ${method}: ${error3.message}`);
+          }
+        });
+      }
+      retryableRequest(operation) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          let attempt = 0;
+          let errorMessage = "";
+          let rawBody = "";
+          while (attempt < this.maxAttempts) {
+            let isRetryable = false;
+            try {
+              const response = yield operation();
+              const statusCode = response.message.statusCode;
+              rawBody = yield response.readBody();
+              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
+              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
+              const body = JSON.parse(rawBody);
+              (0, util_1.maskSecretUrls)(body);
+              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
+              if (this.isSuccessStatusCode(statusCode)) {
+                return { response, body };
               }
-              if (i === -1) {
-                if (identifier === this.prerelease.join(".") && identifierBase === false) {
-                  throw new Error("invalid increment argument: identifier already exists");
+              isRetryable = this.isRetryableHttpStatusCode(statusCode);
+              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
+              if (body.msg) {
+                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
+                  throw new errors_1.UsageError();
                 }
-                this.prerelease.push(base);
+                errorMessage = `${errorMessage}: ${body.msg}`;
               }
-            }
-            if (identifier) {
-              let prerelease = [identifier, base];
-              if (identifierBase === false) {
-                prerelease = [identifier];
+            } catch (error3) {
+              if (error3 instanceof SyntaxError) {
+                (0, core_1.debug)(`Raw Body: ${rawBody}`);
               }
-              if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
-                if (isNaN(this.prerelease[1])) {
-                  this.prerelease = prerelease;
-                }
-              } else {
-                this.prerelease = prerelease;
+              if (error3 instanceof errors_1.UsageError) {
+                throw error3;
+              }
+              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
               }
+              isRetryable = true;
+              errorMessage = error3.message;
             }
-            break;
+            if (!isRetryable) {
+              throw new Error(`Received non-retryable error: ${errorMessage}`);
+            }
+            if (attempt + 1 === this.maxAttempts) {
+              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
+            }
+            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
+            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
+            yield this.sleep(retryTimeMilliseconds);
+            attempt++;
           }
-          default:
-            throw new Error(`invalid increment argument: ${release}`);
+          throw new Error(`Request failed`);
+        });
+      }
+      isSuccessStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        return statusCode >= 200 && statusCode < 300;
+      }
+      isRetryableHttpStatusCode(statusCode) {
+        if (!statusCode)
+          return false;
+        const retryableStatusCodes = [
+          http_client_1.HttpCodes.BadGateway,
+          http_client_1.HttpCodes.GatewayTimeout,
+          http_client_1.HttpCodes.InternalServerError,
+          http_client_1.HttpCodes.ServiceUnavailable,
+          http_client_1.HttpCodes.TooManyRequests
+        ];
+        return retryableStatusCodes.includes(statusCode);
+      }
+      sleep(milliseconds) {
+        return __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve2) => setTimeout(resolve2, milliseconds));
+        });
+      }
+      getExponentialRetryTimeMilliseconds(attempt) {
+        if (attempt < 0) {
+          throw new Error("attempt should be a positive integer");
         }
-        this.raw = this.format();
-        if (this.build.length) {
-          this.raw += `+${this.build.join(".")}`;
+        if (attempt === 0) {
+          return this.baseRetryIntervalMilliseconds;
         }
-        return this;
+        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
+        const maxTime = minTime * this.retryMultiplier;
+        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
     };
-    module2.exports = SemVer;
+    function internalArtifactTwirpClient(options) {
+      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
+      return new generated_1.ArtifactServiceClientJSON(client);
+    }
+    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
   }
 });
 
-// node_modules/semver/functions/parse.js
-var require_parse3 = __commonJS({
-  "node_modules/semver/functions/parse.js"(exports2, module2) {
+// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
+var require_upload_zip_specification = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var parse2 = (version, options, throwErrors = false) => {
-      if (version instanceof SemVer) {
-        return version;
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      try {
-        return new SemVer(version, options);
-      } catch (er) {
-        if (!throwErrors) {
-          return null;
-        }
-        throw er;
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
+      __setModuleDefault2(result, mod);
+      return result;
     };
-    module2.exports = parse2;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
+    var fs3 = __importStar2(require("fs"));
+    var core_1 = require_core();
+    var path_1 = require("path");
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    function validateRootDirectory(rootDirectory) {
+      if (!fs3.existsSync(rootDirectory)) {
+        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
+      }
+      if (!fs3.statSync(rootDirectory).isDirectory()) {
+        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
+      }
+      (0, core_1.info)(`Root directory input is valid!`);
+    }
+    exports2.validateRootDirectory = validateRootDirectory;
+    function getUploadZipSpecification(filesToZip, rootDirectory) {
+      const specification = [];
+      rootDirectory = (0, path_1.normalize)(rootDirectory);
+      rootDirectory = (0, path_1.resolve)(rootDirectory);
+      for (let file of filesToZip) {
+        const stats = fs3.lstatSync(file, { throwIfNoEntry: false });
+        if (!stats) {
+          throw new Error(`File ${file} does not exist`);
+        }
+        if (!stats.isDirectory()) {
+          file = (0, path_1.normalize)(file);
+          file = (0, path_1.resolve)(file);
+          if (!file.startsWith(rootDirectory)) {
+            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
+          }
+          const uploadPath = file.replace(rootDirectory, "");
+          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
+          specification.push({
+            sourcePath: file,
+            destinationPath: uploadPath,
+            stats
+          });
+        } else {
+          const directoryPath = file.replace(rootDirectory, "");
+          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
+          specification.push({
+            sourcePath: null,
+            destinationPath: directoryPath,
+            stats
+          });
+        }
+      }
+      return specification;
+    }
+    exports2.getUploadZipSpecification = getUploadZipSpecification;
   }
 });
 
-// node_modules/semver/functions/valid.js
-var require_valid = __commonJS({
-  "node_modules/semver/functions/valid.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse3();
-    var valid3 = (version, options) => {
-      const v = parse2(version, options);
-      return v ? v.version : null;
-    };
-    module2.exports = valid3;
-  }
+// node_modules/tslib/tslib.es6.mjs
+var tslib_es6_exports = {};
+__export(tslib_es6_exports, {
+  __addDisposableResource: () => __addDisposableResource,
+  __assign: () => __assign,
+  __asyncDelegator: () => __asyncDelegator,
+  __asyncGenerator: () => __asyncGenerator,
+  __asyncValues: () => __asyncValues,
+  __await: () => __await,
+  __awaiter: () => __awaiter,
+  __classPrivateFieldGet: () => __classPrivateFieldGet,
+  __classPrivateFieldIn: () => __classPrivateFieldIn,
+  __classPrivateFieldSet: () => __classPrivateFieldSet,
+  __createBinding: () => __createBinding,
+  __decorate: () => __decorate,
+  __disposeResources: () => __disposeResources,
+  __esDecorate: () => __esDecorate,
+  __exportStar: () => __exportStar,
+  __extends: () => __extends,
+  __generator: () => __generator,
+  __importDefault: () => __importDefault,
+  __importStar: () => __importStar,
+  __makeTemplateObject: () => __makeTemplateObject,
+  __metadata: () => __metadata,
+  __param: () => __param,
+  __propKey: () => __propKey,
+  __read: () => __read,
+  __rest: () => __rest,
+  __rewriteRelativeImportExtension: () => __rewriteRelativeImportExtension,
+  __runInitializers: () => __runInitializers,
+  __setFunctionName: () => __setFunctionName,
+  __spread: () => __spread,
+  __spreadArray: () => __spreadArray,
+  __spreadArrays: () => __spreadArrays,
+  __values: () => __values2,
+  default: () => tslib_es6_default
 });
-
-// node_modules/semver/functions/clean.js
-var require_clean = __commonJS({
-  "node_modules/semver/functions/clean.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse3();
-    var clean3 = (version, options) => {
-      const s = parse2(version.trim().replace(/^[=v]+/, ""), options);
-      return s ? s.version : null;
+function __extends(d, b) {
+  if (typeof b !== "function" && b !== null)
+    throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+  extendStatics(d, b);
+  function __() {
+    this.constructor = d;
+  }
+  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+function __rest(s, e) {
+  var t = {};
+  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
+    t[p] = s[p];
+  if (s != null && typeof Object.getOwnPropertySymbols === "function")
+    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
+      if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
+        t[p[i]] = s[p[i]];
+    }
+  return t;
+}
+function __decorate(decorators, target, key, desc) {
+  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+  return c > 3 && r && Object.defineProperty(target, key, r), r;
+}
+function __param(paramIndex, decorator) {
+  return function(target, key) {
+    decorator(target, key, paramIndex);
+  };
+}
+function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
+  function accept(f) {
+    if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
+    return f;
+  }
+  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
+  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
+  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
+  var _2, done = false;
+  for (var i = decorators.length - 1; i >= 0; i--) {
+    var context2 = {};
+    for (var p in contextIn) context2[p] = p === "access" ? {} : contextIn[p];
+    for (var p in contextIn.access) context2.access[p] = contextIn.access[p];
+    context2.addInitializer = function(f) {
+      if (done) throw new TypeError("Cannot add initializers after decoration has completed");
+      extraInitializers.push(accept(f || null));
     };
-    module2.exports = clean3;
+    var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context2);
+    if (kind === "accessor") {
+      if (result === void 0) continue;
+      if (result === null || typeof result !== "object") throw new TypeError("Object expected");
+      if (_2 = accept(result.get)) descriptor.get = _2;
+      if (_2 = accept(result.set)) descriptor.set = _2;
+      if (_2 = accept(result.init)) initializers.unshift(_2);
+    } else if (_2 = accept(result)) {
+      if (kind === "field") initializers.unshift(_2);
+      else descriptor[key] = _2;
+    }
   }
-});
-
-// node_modules/semver/functions/inc.js
-var require_inc = __commonJS({
-  "node_modules/semver/functions/inc.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var inc = (version, release, options, identifier, identifierBase) => {
-      if (typeof options === "string") {
-        identifierBase = identifier;
-        identifier = options;
-        options = void 0;
+  if (target) Object.defineProperty(target, contextIn.name, descriptor);
+  done = true;
+}
+function __runInitializers(thisArg, initializers, value) {
+  var useValue = arguments.length > 2;
+  for (var i = 0; i < initializers.length; i++) {
+    value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
+  }
+  return useValue ? value : void 0;
+}
+function __propKey(x) {
+  return typeof x === "symbol" ? x : "".concat(x);
+}
+function __setFunctionName(f, name, prefix) {
+  if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
+  return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
+}
+function __metadata(metadataKey, metadataValue) {
+  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+}
+function __awaiter(thisArg, _arguments, P, generator) {
+  function adopt(value) {
+    return value instanceof P ? value : new P(function(resolve2) {
+      resolve2(value);
+    });
+  }
+  return new (P || (P = Promise))(function(resolve2, reject) {
+    function fulfilled(value) {
+      try {
+        step(generator.next(value));
+      } catch (e) {
+        reject(e);
       }
+    }
+    function rejected(value) {
       try {
-        return new SemVer(
-          version instanceof SemVer ? version.version : version,
-          options
-        ).inc(release, identifier, identifierBase).version;
-      } catch (er) {
-        return null;
+        step(generator["throw"](value));
+      } catch (e) {
+        reject(e);
       }
+    }
+    function step(result) {
+      result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+    }
+    step((generator = generator.apply(thisArg, _arguments || [])).next());
+  });
+}
+function __generator(thisArg, body) {
+  var _2 = { label: 0, sent: function() {
+    if (t[0] & 1) throw t[1];
+    return t[1];
+  }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+  return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
+    return this;
+  }), g;
+  function verb(n) {
+    return function(v) {
+      return step([n, v]);
     };
-    module2.exports = inc;
   }
-});
-
-// node_modules/semver/functions/diff.js
-var require_diff = __commonJS({
-  "node_modules/semver/functions/diff.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse3();
-    var diff = (version1, version2) => {
-      const v1 = parse2(version1, null, true);
-      const v2 = parse2(version2, null, true);
-      const comparison = v1.compare(v2);
-      if (comparison === 0) {
-        return null;
-      }
-      const v1Higher = comparison > 0;
-      const highVersion = v1Higher ? v1 : v2;
-      const lowVersion = v1Higher ? v2 : v1;
-      const highHasPre = !!highVersion.prerelease.length;
-      const lowHasPre = !!lowVersion.prerelease.length;
-      if (lowHasPre && !highHasPre) {
-        if (!lowVersion.patch && !lowVersion.minor) {
-          return "major";
-        }
-        if (lowVersion.compareMain(highVersion) === 0) {
-          if (lowVersion.minor && !lowVersion.patch) {
-            return "minor";
+  function step(op) {
+    if (f) throw new TypeError("Generator is already executing.");
+    while (g && (g = 0, op[0] && (_2 = 0)), _2) try {
+      if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+      if (y = 0, t) op = [op[0] & 2, t.value];
+      switch (op[0]) {
+        case 0:
+        case 1:
+          t = op;
+          break;
+        case 4:
+          _2.label++;
+          return { value: op[1], done: false };
+        case 5:
+          _2.label++;
+          y = op[1];
+          op = [0];
+          continue;
+        case 7:
+          op = _2.ops.pop();
+          _2.trys.pop();
+          continue;
+        default:
+          if (!(t = _2.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
+            _2 = 0;
+            continue;
           }
-          return "patch";
-        }
-      }
-      const prefix = highHasPre ? "pre" : "";
-      if (v1.major !== v2.major) {
-        return prefix + "major";
-      }
-      if (v1.minor !== v2.minor) {
-        return prefix + "minor";
-      }
-      if (v1.patch !== v2.patch) {
-        return prefix + "patch";
+          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
+            _2.label = op[1];
+            break;
+          }
+          if (op[0] === 6 && _2.label < t[1]) {
+            _2.label = t[1];
+            t = op;
+            break;
+          }
+          if (t && _2.label < t[2]) {
+            _2.label = t[2];
+            _2.ops.push(op);
+            break;
+          }
+          if (t[2]) _2.ops.pop();
+          _2.trys.pop();
+          continue;
       }
-      return "prerelease";
-    };
-    module2.exports = diff;
-  }
-});
-
-// node_modules/semver/functions/major.js
-var require_major = __commonJS({
-  "node_modules/semver/functions/major.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var major = (a, loose) => new SemVer(a, loose).major;
-    module2.exports = major;
+      op = body.call(thisArg, _2);
+    } catch (e) {
+      op = [6, e];
+      y = 0;
+    } finally {
+      f = t = 0;
+    }
+    if (op[0] & 5) throw op[1];
+    return { value: op[0] ? op[1] : void 0, done: true };
   }
-});
-
-// node_modules/semver/functions/minor.js
-var require_minor = __commonJS({
-  "node_modules/semver/functions/minor.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var minor = (a, loose) => new SemVer(a, loose).minor;
-    module2.exports = minor;
+}
+function __exportStar(m, o) {
+  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
+}
+function __values2(o) {
+  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+  if (m) return m.call(o);
+  if (o && typeof o.length === "number") return {
+    next: function() {
+      if (o && i >= o.length) o = void 0;
+      return { value: o && o[i++], done: !o };
+    }
+  };
+  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+}
+function __read(o, n) {
+  var m = typeof Symbol === "function" && o[Symbol.iterator];
+  if (!m) return o;
+  var i = m.call(o), r, ar = [], e;
+  try {
+    while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+  } catch (error3) {
+    e = { error: error3 };
+  } finally {
+    try {
+      if (r && !r.done && (m = i["return"])) m.call(i);
+    } finally {
+      if (e) throw e.error;
+    }
   }
-});
-
-// node_modules/semver/functions/patch.js
-var require_patch = __commonJS({
-  "node_modules/semver/functions/patch.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var patch = (a, loose) => new SemVer(a, loose).patch;
-    module2.exports = patch;
+  return ar;
+}
+function __spread() {
+  for (var ar = [], i = 0; i < arguments.length; i++)
+    ar = ar.concat(__read(arguments[i]));
+  return ar;
+}
+function __spreadArrays() {
+  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
+  for (var r = Array(s), k = 0, i = 0; i < il; i++)
+    for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
+      r[k] = a[j];
+  return r;
+}
+function __spreadArray(to, from, pack) {
+  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+    if (ar || !(i in from)) {
+      if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+      ar[i] = from[i];
+    }
   }
-});
-
-// node_modules/semver/functions/prerelease.js
-var require_prerelease = __commonJS({
-  "node_modules/semver/functions/prerelease.js"(exports2, module2) {
-    "use strict";
-    var parse2 = require_parse3();
-    var prerelease = (version, options) => {
-      const parsed = parse2(version, options);
-      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
+  return to.concat(ar || Array.prototype.slice.call(from));
+}
+function __await(v) {
+  return this instanceof __await ? (this.v = v, this) : new __await(v);
+}
+function __asyncGenerator(thisArg, _arguments, generator) {
+  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+  var g = generator.apply(thisArg, _arguments || []), i, q = [];
+  return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
+    return this;
+  }, i;
+  function awaitReturn(f) {
+    return function(v) {
+      return Promise.resolve(v).then(f, reject);
     };
-    module2.exports = prerelease;
-  }
-});
-
-// node_modules/semver/functions/compare.js
-var require_compare = __commonJS({
-  "node_modules/semver/functions/compare.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var compare2 = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
-    module2.exports = compare2;
   }
-});
-
-// node_modules/semver/functions/rcompare.js
-var require_rcompare = __commonJS({
-  "node_modules/semver/functions/rcompare.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var rcompare = (a, b, loose) => compare2(b, a, loose);
-    module2.exports = rcompare;
+  function verb(n, f) {
+    if (g[n]) {
+      i[n] = function(v) {
+        return new Promise(function(a, b) {
+          q.push([n, v, a, b]) > 1 || resume(n, v);
+        });
+      };
+      if (f) i[n] = f(i[n]);
+    }
   }
-});
-
-// node_modules/semver/functions/compare-loose.js
-var require_compare_loose = __commonJS({
-  "node_modules/semver/functions/compare-loose.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var compareLoose = (a, b) => compare2(a, b, true);
-    module2.exports = compareLoose;
+  function resume(n, v) {
+    try {
+      step(g[n](v));
+    } catch (e) {
+      settle(q[0][3], e);
+    }
   }
-});
-
-// node_modules/semver/functions/compare-build.js
-var require_compare_build = __commonJS({
-  "node_modules/semver/functions/compare-build.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var compareBuild = (a, b, loose) => {
-      const versionA = new SemVer(a, loose);
-      const versionB = new SemVer(b, loose);
-      return versionA.compare(versionB) || versionA.compareBuild(versionB);
-    };
-    module2.exports = compareBuild;
+  function step(r) {
+    r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
   }
-});
-
-// node_modules/semver/functions/sort.js
-var require_sort = __commonJS({
-  "node_modules/semver/functions/sort.js"(exports2, module2) {
-    "use strict";
-    var compareBuild = require_compare_build();
-    var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
-    module2.exports = sort;
+  function fulfill(value) {
+    resume("next", value);
   }
-});
-
-// node_modules/semver/functions/rsort.js
-var require_rsort = __commonJS({
-  "node_modules/semver/functions/rsort.js"(exports2, module2) {
-    "use strict";
-    var compareBuild = require_compare_build();
-    var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
-    module2.exports = rsort;
+  function reject(value) {
+    resume("throw", value);
   }
-});
-
-// node_modules/semver/functions/gt.js
-var require_gt = __commonJS({
-  "node_modules/semver/functions/gt.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var gt = (a, b, loose) => compare2(a, b, loose) > 0;
-    module2.exports = gt;
+  function settle(f, v) {
+    if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
   }
-});
-
-// node_modules/semver/functions/lt.js
-var require_lt = __commonJS({
-  "node_modules/semver/functions/lt.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var lt = (a, b, loose) => compare2(a, b, loose) < 0;
-    module2.exports = lt;
+}
+function __asyncDelegator(o) {
+  var i, p;
+  return i = {}, verb("next"), verb("throw", function(e) {
+    throw e;
+  }), verb("return"), i[Symbol.iterator] = function() {
+    return this;
+  }, i;
+  function verb(n, f) {
+    i[n] = o[n] ? function(v) {
+      return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v;
+    } : f;
   }
-});
-
-// node_modules/semver/functions/eq.js
-var require_eq = __commonJS({
-  "node_modules/semver/functions/eq.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var eq = (a, b, loose) => compare2(a, b, loose) === 0;
-    module2.exports = eq;
+}
+function __asyncValues(o) {
+  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+  var m = o[Symbol.asyncIterator], i;
+  return m ? m.call(o) : (o = typeof __values2 === "function" ? __values2(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
+    return this;
+  }, i);
+  function verb(n) {
+    i[n] = o[n] && function(v) {
+      return new Promise(function(resolve2, reject) {
+        v = o[n](v), settle(resolve2, reject, v.done, v.value);
+      });
+    };
   }
-});
-
-// node_modules/semver/functions/neq.js
-var require_neq = __commonJS({
-  "node_modules/semver/functions/neq.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var neq = (a, b, loose) => compare2(a, b, loose) !== 0;
-    module2.exports = neq;
+  function settle(resolve2, reject, d, v) {
+    Promise.resolve(v).then(function(v2) {
+      resolve2({ value: v2, done: d });
+    }, reject);
   }
-});
-
-// node_modules/semver/functions/gte.js
-var require_gte = __commonJS({
-  "node_modules/semver/functions/gte.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
-    module2.exports = gte6;
+}
+function __makeTemplateObject(cooked, raw) {
+  if (Object.defineProperty) {
+    Object.defineProperty(cooked, "raw", { value: raw });
+  } else {
+    cooked.raw = raw;
   }
-});
-
-// node_modules/semver/functions/lte.js
-var require_lte = __commonJS({
-  "node_modules/semver/functions/lte.js"(exports2, module2) {
-    "use strict";
-    var compare2 = require_compare();
-    var lte = (a, b, loose) => compare2(a, b, loose) <= 0;
-    module2.exports = lte;
+  return cooked;
+}
+function __importStar(mod) {
+  if (mod && mod.__esModule) return mod;
+  var result = {};
+  if (mod != null) {
+    for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
   }
-});
-
-// node_modules/semver/functions/cmp.js
-var require_cmp = __commonJS({
-  "node_modules/semver/functions/cmp.js"(exports2, module2) {
-    "use strict";
-    var eq = require_eq();
-    var neq = require_neq();
-    var gt = require_gt();
-    var gte6 = require_gte();
-    var lt = require_lt();
-    var lte = require_lte();
-    var cmp = (a, op, b, loose) => {
-      switch (op) {
-        case "===":
-          if (typeof a === "object") {
-            a = a.version;
-          }
-          if (typeof b === "object") {
-            b = b.version;
-          }
-          return a === b;
-        case "!==":
-          if (typeof a === "object") {
-            a = a.version;
-          }
-          if (typeof b === "object") {
-            b = b.version;
-          }
-          return a !== b;
-        case "":
-        case "=":
-        case "==":
-          return eq(a, b, loose);
-        case "!=":
-          return neq(a, b, loose);
-        case ">":
-          return gt(a, b, loose);
-        case ">=":
-          return gte6(a, b, loose);
-        case "<":
-          return lt(a, b, loose);
-        case "<=":
-          return lte(a, b, loose);
-        default:
-          throw new TypeError(`Invalid operator: ${op}`);
+  __setModuleDefault(result, mod);
+  return result;
+}
+function __importDefault(mod) {
+  return mod && mod.__esModule ? mod : { default: mod };
+}
+function __classPrivateFieldGet(receiver, state, kind, f) {
+  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
+  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
+  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
+}
+function __classPrivateFieldSet(receiver, state, value, kind, f) {
+  if (kind === "m") throw new TypeError("Private method is not writable");
+  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
+  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
+  return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
+}
+function __classPrivateFieldIn(state, receiver) {
+  if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object");
+  return typeof state === "function" ? receiver === state : state.has(receiver);
+}
+function __addDisposableResource(env, value, async) {
+  if (value !== null && value !== void 0) {
+    if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
+    var dispose, inner;
+    if (async) {
+      if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
+      dispose = value[Symbol.asyncDispose];
+    }
+    if (dispose === void 0) {
+      if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
+      dispose = value[Symbol.dispose];
+      if (async) inner = dispose;
+    }
+    if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
+    if (inner) dispose = function() {
+      try {
+        inner.call(this);
+      } catch (e) {
+        return Promise.reject(e);
       }
     };
-    module2.exports = cmp;
+    env.stack.push({ value, dispose, async });
+  } else if (async) {
+    env.stack.push({ async: true });
   }
-});
-
-// node_modules/semver/functions/coerce.js
-var require_coerce = __commonJS({
-  "node_modules/semver/functions/coerce.js"(exports2, module2) {
-    "use strict";
-    var SemVer = require_semver();
-    var parse2 = require_parse3();
-    var { safeRe: re, t } = require_re();
-    var coerce3 = (version, options) => {
-      if (version instanceof SemVer) {
-        return version;
-      }
-      if (typeof version === "number") {
-        version = String(version);
-      }
-      if (typeof version !== "string") {
-        return null;
+  return value;
+}
+function __disposeResources(env) {
+  function fail(e) {
+    env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
+    env.hasError = true;
+  }
+  var r, s = 0;
+  function next() {
+    while (r = env.stack.pop()) {
+      try {
+        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
+        if (r.dispose) {
+          var result = r.dispose.call(r.value);
+          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
+            fail(e);
+            return next();
+          });
+        } else s |= 1;
+      } catch (e) {
+        fail(e);
       }
-      options = options || {};
-      let match = null;
-      if (!options.rtl) {
-        match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
-      } else {
-        const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
-        let next;
-        while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
-          if (!match || next.index + next[0].length !== match.index + match[0].length) {
-            match = next;
-          }
-          coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
+    }
+    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
+    if (env.hasError) throw env.error;
+  }
+  return next();
+}
+function __rewriteRelativeImportExtension(path3, preserveJsx) {
+  if (typeof path3 === "string" && /^\.\.?\//.test(path3)) {
+    return path3.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {
+      return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : d + ext + "." + cm.toLowerCase() + "js";
+    });
+  }
+  return path3;
+}
+var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default;
+var init_tslib_es6 = __esm({
+  "node_modules/tslib/tslib.es6.mjs"() {
+    extendStatics = function(d, b) {
+      extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+        d2.__proto__ = b2;
+      } || function(d2, b2) {
+        for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+      };
+      return extendStatics(d, b);
+    };
+    __assign = function() {
+      __assign = Object.assign || function __assign2(t) {
+        for (var s, i = 1, n = arguments.length; i < n; i++) {
+          s = arguments[i];
+          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
         }
-        coerceRtlRegex.lastIndex = -1;
-      }
-      if (match === null) {
-        return null;
+        return t;
+      };
+      return __assign.apply(this, arguments);
+    };
+    __createBinding = Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      const major = match[2];
-      const minor = match[3] || "0";
-      const patch = match[4] || "0";
-      const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
-      const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
-      return parse2(`${major}.${minor}.${patch}${prerelease}${build}`, options);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    });
+    __setModuleDefault = Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    };
+    ownKeys = function(o) {
+      ownKeys = Object.getOwnPropertyNames || function(o2) {
+        var ar = [];
+        for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
+        return ar;
+      };
+      return ownKeys(o);
+    };
+    _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error3, suppressed, message) {
+      var e = new Error(message);
+      return e.name = "SuppressedError", e.error = error3, e.suppressed = suppressed, e;
+    };
+    tslib_es6_default = {
+      __extends,
+      __assign,
+      __rest,
+      __decorate,
+      __param,
+      __esDecorate,
+      __runInitializers,
+      __propKey,
+      __setFunctionName,
+      __metadata,
+      __awaiter,
+      __generator,
+      __createBinding,
+      __exportStar,
+      __values: __values2,
+      __read,
+      __spread,
+      __spreadArrays,
+      __spreadArray,
+      __await,
+      __asyncGenerator,
+      __asyncDelegator,
+      __asyncValues,
+      __makeTemplateObject,
+      __importStar,
+      __importDefault,
+      __classPrivateFieldGet,
+      __classPrivateFieldSet,
+      __classPrivateFieldIn,
+      __addDisposableResource,
+      __disposeResources,
+      __rewriteRelativeImportExtension
     };
-    module2.exports = coerce3;
   }
 });
 
-// node_modules/semver/internal/lrucache.js
-var require_lrucache = __commonJS({
-  "node_modules/semver/internal/lrucache.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js
+var require_AbortError = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js"(exports2) {
     "use strict";
-    var LRUCache = class {
-      constructor() {
-        this.max = 1e3;
-        this.map = /* @__PURE__ */ new Map();
-      }
-      get(key) {
-        const value = this.map.get(key);
-        if (value === void 0) {
-          return void 0;
-        } else {
-          this.map.delete(key);
-          this.map.set(key, value);
-          return value;
-        }
-      }
-      delete(key) {
-        return this.map.delete(key);
-      }
-      set(key, value) {
-        const deleted = this.delete(key);
-        if (!deleted && value !== void 0) {
-          if (this.map.size >= this.max) {
-            const firstKey = this.map.keys().next().value;
-            this.delete(firstKey);
-          }
-          this.map.set(key, value);
-        }
-        return this;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
       }
     };
-    module2.exports = LRUCache;
+    exports2.AbortError = AbortError;
   }
 });
 
-// node_modules/semver/classes/range.js
-var require_range = __commonJS({
-  "node_modules/semver/classes/range.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js
+var require_log = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js"(exports2) {
     "use strict";
-    var SPACE_CHARACTERS = /\s+/g;
-    var Range2 = class _Range {
-      constructor(range, options) {
-        options = parseOptions(options);
-        if (range instanceof _Range) {
-          if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
-            return range;
-          } else {
-            return new _Range(range.raw, options);
-          }
-        }
-        if (range instanceof Comparator) {
-          this.raw = range.value;
-          this.set = [[range]];
-          this.formatted = void 0;
-          return this;
-        }
-        this.options = options;
-        this.loose = !!options.loose;
-        this.includePrerelease = !!options.includePrerelease;
-        this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
-        this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
-        if (!this.set.length) {
-          throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
-        }
-        if (this.set.length > 1) {
-          const first = this.set[0];
-          this.set = this.set.filter((c) => !isNullSet(c[0]));
-          if (this.set.length === 0) {
-            this.set = [first];
-          } else if (this.set.length > 1) {
-            for (const c of this.set) {
-              if (c.length === 1 && isAny(c[0])) {
-                this.set = [c];
-                break;
-              }
-            }
-          }
-        }
-        this.formatted = void 0;
-      }
-      get range() {
-        if (this.formatted === void 0) {
-          this.formatted = "";
-          for (let i = 0; i < this.set.length; i++) {
-            if (i > 0) {
-              this.formatted += "||";
-            }
-            const comps = this.set[i];
-            for (let k = 0; k < comps.length; k++) {
-              if (k > 0) {
-                this.formatted += " ";
-              }
-              this.formatted += comps[k].toString().trim();
-            }
-          }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.log = log;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_os_1 = require("node:os");
+    var node_util_1 = tslib_1.__importDefault(require("node:util"));
+    var node_process_1 = tslib_1.__importDefault(require("node:process"));
+    function log(message, ...args) {
+      node_process_1.default.stderr.write(`${node_util_1.default.format(message, ...args)}${node_os_1.EOL}`);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js
+var require_debug2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var log_js_1 = require_log();
+    var debugEnvVariable = typeof process !== "undefined" && process.env && process.env.DEBUG || void 0;
+    var enabledString;
+    var enabledNamespaces = [];
+    var skippedNamespaces = [];
+    var debuggers = [];
+    if (debugEnvVariable) {
+      enable(debugEnvVariable);
+    }
+    var debugObj = Object.assign((namespace) => {
+      return createDebugger(namespace);
+    }, {
+      enable,
+      enabled,
+      disable,
+      log: log_js_1.log
+    });
+    function enable(namespaces) {
+      enabledString = namespaces;
+      enabledNamespaces = [];
+      skippedNamespaces = [];
+      const namespaceList = namespaces.split(",").map((ns) => ns.trim());
+      for (const ns of namespaceList) {
+        if (ns.startsWith("-")) {
+          skippedNamespaces.push(ns.substring(1));
+        } else {
+          enabledNamespaces.push(ns);
         }
-        return this.formatted;
       }
-      format() {
-        return this.range;
+      for (const instance of debuggers) {
+        instance.enabled = enabled(instance.namespace);
       }
-      toString() {
-        return this.range;
+    }
+    function enabled(namespace) {
+      if (namespace.endsWith("*")) {
+        return true;
       }
-      parseRange(range) {
-        const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
-        const memoKey = memoOpts + ":" + range;
-        const cached = cache.get(memoKey);
-        if (cached) {
-          return cached;
-        }
-        const loose = this.options.loose;
-        const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
-        range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
-        debug4("hyphen replace", range);
-        range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
-        debug4("comparator trim", range);
-        range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
-        debug4("tilde trim", range);
-        range = range.replace(re[t.CARETTRIM], caretTrimReplace);
-        debug4("caret trim", range);
-        let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
-        if (loose) {
-          rangeList = rangeList.filter((comp) => {
-            debug4("loose invalid filter", comp, this.options);
-            return !!comp.match(re[t.COMPARATORLOOSE]);
-          });
-        }
-        debug4("range list", rangeList);
-        const rangeMap = /* @__PURE__ */ new Map();
-        const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
-        for (const comp of comparators) {
-          if (isNullSet(comp)) {
-            return [comp];
-          }
-          rangeMap.set(comp.value, comp);
-        }
-        if (rangeMap.size > 1 && rangeMap.has("")) {
-          rangeMap.delete("");
+      for (const skipped of skippedNamespaces) {
+        if (namespaceMatches(namespace, skipped)) {
+          return false;
         }
-        const result = [...rangeMap.values()];
-        cache.set(memoKey, result);
-        return result;
       }
-      intersects(range, options) {
-        if (!(range instanceof _Range)) {
-          throw new TypeError("a Range is required");
+      for (const enabledNamespace of enabledNamespaces) {
+        if (namespaceMatches(namespace, enabledNamespace)) {
+          return true;
         }
-        return this.set.some((thisComparators) => {
-          return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
-            return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
-              return rangeComparators.every((rangeComparator) => {
-                return thisComparator.intersects(rangeComparator, options);
-              });
-            });
-          });
-        });
       }
-      // if ANY of the sets match ALL of its comparators, then pass
-      test(version) {
-        if (!version) {
-          return false;
-        }
-        if (typeof version === "string") {
-          try {
-            version = new SemVer(version, this.options);
-          } catch (er) {
-            return false;
-          }
-        }
-        for (let i = 0; i < this.set.length; i++) {
-          if (testSet(this.set[i], version, this.options)) {
-            return true;
+      return false;
+    }
+    function namespaceMatches(namespace, patternToMatch) {
+      if (patternToMatch.indexOf("*") === -1) {
+        return namespace === patternToMatch;
+      }
+      let pattern = patternToMatch;
+      if (patternToMatch.indexOf("**") !== -1) {
+        const patternParts = [];
+        let lastCharacter = "";
+        for (const character of patternToMatch) {
+          if (character === "*" && lastCharacter === "*") {
+            continue;
+          } else {
+            lastCharacter = character;
+            patternParts.push(character);
           }
         }
-        return false;
-      }
-    };
-    module2.exports = Range2;
-    var LRU = require_lrucache();
-    var cache = new LRU();
-    var parseOptions = require_parse_options();
-    var Comparator = require_comparator();
-    var debug4 = require_debug();
-    var SemVer = require_semver();
-    var {
-      safeRe: re,
-      t,
-      comparatorTrimReplace,
-      tildeTrimReplace,
-      caretTrimReplace
-    } = require_re();
-    var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants11();
-    var isNullSet = (c) => c.value === "<0.0.0-0";
-    var isAny = (c) => c.value === "";
-    var isSatisfiable = (comparators, options) => {
-      let result = true;
-      const remainingComparators = comparators.slice();
-      let testComparator = remainingComparators.pop();
-      while (result && remainingComparators.length) {
-        result = remainingComparators.every((otherComparator) => {
-          return testComparator.intersects(otherComparator, options);
-        });
-        testComparator = remainingComparators.pop();
+        pattern = patternParts.join("");
       }
-      return result;
-    };
-    var parseComparator = (comp, options) => {
-      comp = comp.replace(re[t.BUILD], "");
-      debug4("comp", comp, options);
-      comp = replaceCarets(comp, options);
-      debug4("caret", comp);
-      comp = replaceTildes(comp, options);
-      debug4("tildes", comp);
-      comp = replaceXRanges(comp, options);
-      debug4("xrange", comp);
-      comp = replaceStars(comp, options);
-      debug4("stars", comp);
-      return comp;
-    };
-    var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
-    var replaceTildes = (comp, options) => {
-      return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
-    };
-    var replaceTilde = (comp, options) => {
-      const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
-      return comp.replace(r, (_2, M, m, p, pr) => {
-        debug4("tilde", comp, _2, M, m, p, pr);
-        let ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
-        } else if (isX(p)) {
-          ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
-        } else if (pr) {
-          debug4("replaceTilde pr", pr);
-          ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
-        } else {
-          ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
-        }
-        debug4("tilde return", ret);
-        return ret;
-      });
-    };
-    var replaceCarets = (comp, options) => {
-      return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
-    };
-    var replaceCaret = (comp, options) => {
-      debug4("caret", comp, options);
-      const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
-      const z = options.includePrerelease ? "-0" : "";
-      return comp.replace(r, (_2, M, m, p, pr) => {
-        debug4("caret", comp, _2, M, m, p, pr);
-        let ret;
-        if (isX(M)) {
-          ret = "";
-        } else if (isX(m)) {
-          ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
-        } else if (isX(p)) {
-          if (M === "0") {
-            ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
-          } else {
-            ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
+      let namespaceIndex = 0;
+      let patternIndex = 0;
+      const patternLength = pattern.length;
+      const namespaceLength = namespace.length;
+      let lastWildcard = -1;
+      let lastWildcardNamespace = -1;
+      while (namespaceIndex < namespaceLength && patternIndex < patternLength) {
+        if (pattern[patternIndex] === "*") {
+          lastWildcard = patternIndex;
+          patternIndex++;
+          if (patternIndex === patternLength) {
+            return true;
           }
-        } else if (pr) {
-          debug4("replaceCaret pr", pr);
-          if (M === "0") {
-            if (m === "0") {
-              ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
-            } else {
-              ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
+          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
+            namespaceIndex++;
+            if (namespaceIndex === namespaceLength) {
+              return false;
             }
-          } else {
-            ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
           }
-        } else {
-          debug4("no pr");
-          if (M === "0") {
-            if (m === "0") {
-              ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
-            } else {
-              ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
+          lastWildcardNamespace = namespaceIndex;
+          namespaceIndex++;
+          patternIndex++;
+          continue;
+        } else if (pattern[patternIndex] === namespace[namespaceIndex]) {
+          patternIndex++;
+          namespaceIndex++;
+        } else if (lastWildcard >= 0) {
+          patternIndex = lastWildcard + 1;
+          namespaceIndex = lastWildcardNamespace + 1;
+          if (namespaceIndex === namespaceLength) {
+            return false;
+          }
+          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
+            namespaceIndex++;
+            if (namespaceIndex === namespaceLength) {
+              return false;
             }
-          } else {
-            ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
           }
+          lastWildcardNamespace = namespaceIndex;
+          namespaceIndex++;
+          patternIndex++;
+          continue;
+        } else {
+          return false;
         }
-        debug4("caret return", ret);
-        return ret;
+      }
+      const namespaceDone = namespaceIndex === namespace.length;
+      const patternDone = patternIndex === pattern.length;
+      const trailingWildCard = patternIndex === pattern.length - 1 && pattern[patternIndex] === "*";
+      return namespaceDone && (patternDone || trailingWildCard);
+    }
+    function disable() {
+      const result = enabledString || "";
+      enable("");
+      return result;
+    }
+    function createDebugger(namespace) {
+      const newDebugger = Object.assign(debug4, {
+        enabled: enabled(namespace),
+        destroy,
+        log: debugObj.log,
+        namespace,
+        extend: extend3
       });
-    };
-    var replaceXRanges = (comp, options) => {
-      debug4("replaceXRanges", comp, options);
-      return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
-    };
-    var replaceXRange = (comp, options) => {
-      comp = comp.trim();
-      const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
-      return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
-        debug4("xRange", comp, ret, gtlt, M, m, p, pr);
-        const xM = isX(M);
-        const xm = xM || isX(m);
-        const xp = xm || isX(p);
-        const anyX = xp;
-        if (gtlt === "=" && anyX) {
-          gtlt = "";
+      function debug4(...args) {
+        if (!newDebugger.enabled) {
+          return;
         }
-        pr = options.includePrerelease ? "-0" : "";
-        if (xM) {
-          if (gtlt === ">" || gtlt === "<") {
-            ret = "<0.0.0-0";
-          } else {
-            ret = "*";
-          }
-        } else if (gtlt && anyX) {
-          if (xm) {
-            m = 0;
-          }
-          p = 0;
-          if (gtlt === ">") {
-            gtlt = ">=";
-            if (xm) {
-              M = +M + 1;
-              m = 0;
-              p = 0;
-            } else {
-              m = +m + 1;
-              p = 0;
-            }
-          } else if (gtlt === "<=") {
-            gtlt = "<";
-            if (xm) {
-              M = +M + 1;
-            } else {
-              m = +m + 1;
-            }
-          }
-          if (gtlt === "<") {
-            pr = "-0";
+        if (args.length > 0) {
+          args[0] = `${namespace} ${args[0]}`;
+        }
+        newDebugger.log(...args);
+      }
+      debuggers.push(newDebugger);
+      return newDebugger;
+    }
+    function destroy() {
+      const index = debuggers.indexOf(this);
+      if (index >= 0) {
+        debuggers.splice(index, 1);
+        return true;
+      }
+      return false;
+    }
+    function extend3(namespace) {
+      const newDebugger = createDebugger(`${this.namespace}:${namespace}`);
+      newDebugger.log = this.log;
+      return newDebugger;
+    }
+    exports2.default = debugObj;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js
+var require_logger = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.TypeSpecRuntimeLogger = void 0;
+    exports2.createLoggerContext = createLoggerContext;
+    exports2.setLogLevel = setLogLevel;
+    exports2.getLogLevel = getLogLevel;
+    exports2.createClientLogger = createClientLogger;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var debug_js_1 = tslib_1.__importDefault(require_debug2());
+    var TYPESPEC_RUNTIME_LOG_LEVELS = ["verbose", "info", "warning", "error"];
+    var levelMap = {
+      verbose: 400,
+      info: 300,
+      warning: 200,
+      error: 100
+    };
+    function patchLogMethod(parent, child) {
+      child.log = (...args) => {
+        parent.log(...args);
+      };
+    }
+    function isTypeSpecRuntimeLogLevel(level) {
+      return TYPESPEC_RUNTIME_LOG_LEVELS.includes(level);
+    }
+    function createLoggerContext(options) {
+      const registeredLoggers = /* @__PURE__ */ new Set();
+      const logLevelFromEnv = typeof process !== "undefined" && process.env && process.env[options.logLevelEnvVarName] || void 0;
+      let logLevel;
+      const clientLogger = (0, debug_js_1.default)(options.namespace);
+      clientLogger.log = (...args) => {
+        debug_js_1.default.log(...args);
+      };
+      function contextSetLogLevel(level) {
+        if (level && !isTypeSpecRuntimeLogLevel(level)) {
+          throw new Error(`Unknown log level '${level}'. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(",")}`);
+        }
+        logLevel = level;
+        const enabledNamespaces = [];
+        for (const logger of registeredLoggers) {
+          if (shouldEnable(logger)) {
+            enabledNamespaces.push(logger.namespace);
           }
-          ret = `${gtlt + M}.${m}.${p}${pr}`;
-        } else if (xm) {
-          ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
-        } else if (xp) {
-          ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
         }
-        debug4("xRange return", ret);
-        return ret;
-      });
-    };
-    var replaceStars = (comp, options) => {
-      debug4("replaceStars", comp, options);
-      return comp.trim().replace(re[t.STAR], "");
-    };
-    var replaceGTE0 = (comp, options) => {
-      debug4("replaceGTE0", comp, options);
-      return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
-    };
-    var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
-      if (isX(fM)) {
-        from = "";
-      } else if (isX(fm)) {
-        from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
-      } else if (isX(fp)) {
-        from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
-      } else if (fpr) {
-        from = `>=${from}`;
-      } else {
-        from = `>=${from}${incPr ? "-0" : ""}`;
-      }
-      if (isX(tM)) {
-        to = "";
-      } else if (isX(tm)) {
-        to = `<${+tM + 1}.0.0-0`;
-      } else if (isX(tp)) {
-        to = `<${tM}.${+tm + 1}.0-0`;
-      } else if (tpr) {
-        to = `<=${tM}.${tm}.${tp}-${tpr}`;
-      } else if (incPr) {
-        to = `<${tM}.${tm}.${+tp + 1}-0`;
-      } else {
-        to = `<=${to}`;
+        debug_js_1.default.enable(enabledNamespaces.join(","));
       }
-      return `${from} ${to}`.trim();
-    };
-    var testSet = (set2, version, options) => {
-      for (let i = 0; i < set2.length; i++) {
-        if (!set2[i].test(version)) {
-          return false;
+      if (logLevelFromEnv) {
+        if (isTypeSpecRuntimeLogLevel(logLevelFromEnv)) {
+          contextSetLogLevel(logLevelFromEnv);
+        } else {
+          console.error(`${options.logLevelEnvVarName} set to unknown log level '${logLevelFromEnv}'; logging is not enabled. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(", ")}.`);
         }
       }
-      if (version.prerelease.length && !options.includePrerelease) {
-        for (let i = 0; i < set2.length; i++) {
-          debug4(set2[i].semver);
-          if (set2[i].semver === Comparator.ANY) {
-            continue;
-          }
-          if (set2[i].semver.prerelease.length > 0) {
-            const allowed = set2[i].semver;
-            if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
-              return true;
-            }
-          }
+      function shouldEnable(logger) {
+        return Boolean(logLevel && levelMap[logger.level] <= levelMap[logLevel]);
+      }
+      function createLogger2(parent, level) {
+        const logger = Object.assign(parent.extend(level), {
+          level
+        });
+        patchLogMethod(parent, logger);
+        if (shouldEnable(logger)) {
+          const enabledNamespaces = debug_js_1.default.disable();
+          debug_js_1.default.enable(enabledNamespaces + "," + logger.namespace);
         }
-        return false;
+        registeredLoggers.add(logger);
+        return logger;
       }
-      return true;
-    };
+      function contextGetLogLevel() {
+        return logLevel;
+      }
+      function contextCreateClientLogger(namespace) {
+        const clientRootLogger = clientLogger.extend(namespace);
+        patchLogMethod(clientLogger, clientRootLogger);
+        return {
+          error: createLogger2(clientRootLogger, "error"),
+          warning: createLogger2(clientRootLogger, "warning"),
+          info: createLogger2(clientRootLogger, "info"),
+          verbose: createLogger2(clientRootLogger, "verbose")
+        };
+      }
+      return {
+        setLogLevel: contextSetLogLevel,
+        getLogLevel: contextGetLogLevel,
+        createClientLogger: contextCreateClientLogger,
+        logger: clientLogger
+      };
+    }
+    var context2 = createLoggerContext({
+      logLevelEnvVarName: "TYPESPEC_RUNTIME_LOG_LEVEL",
+      namespace: "typeSpecRuntime"
+    });
+    exports2.TypeSpecRuntimeLogger = context2.logger;
+    function setLogLevel(logLevel) {
+      context2.setLogLevel(logLevel);
+    }
+    function getLogLevel() {
+      return context2.getLogLevel();
+    }
+    function createClientLogger(namespace) {
+      return context2.createClientLogger(namespace);
+    }
   }
 });
 
-// node_modules/semver/classes/comparator.js
-var require_comparator = __commonJS({
-  "node_modules/semver/classes/comparator.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js
+var require_httpHeaders = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js"(exports2) {
     "use strict";
-    var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
-    var Comparator = class _Comparator {
-      static get ANY() {
-        return ANY;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpHeaders = createHttpHeaders;
+    function normalizeName(name) {
+      return name.toLowerCase();
+    }
+    function* headerIterator(map2) {
+      for (const entry of map2.values()) {
+        yield [entry.name, entry.value];
       }
-      constructor(comp, options) {
-        options = parseOptions(options);
-        if (comp instanceof _Comparator) {
-          if (comp.loose === !!options.loose) {
-            return comp;
-          } else {
-            comp = comp.value;
+    }
+    var HttpHeadersImpl = class {
+      _headersMap;
+      constructor(rawHeaders) {
+        this._headersMap = /* @__PURE__ */ new Map();
+        if (rawHeaders) {
+          for (const headerName of Object.keys(rawHeaders)) {
+            this.set(headerName, rawHeaders[headerName]);
           }
         }
-        comp = comp.trim().split(/\s+/).join(" ");
-        debug4("comparator", comp, options);
-        this.options = options;
-        this.loose = !!options.loose;
-        this.parse(comp);
-        if (this.semver === ANY) {
-          this.value = "";
-        } else {
-          this.value = this.operator + this.semver.version;
-        }
-        debug4("comp", this);
       }
-      parse(comp) {
-        const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
-        const m = comp.match(r);
-        if (!m) {
-          throw new TypeError(`Invalid comparator: ${comp}`);
-        }
-        this.operator = m[1] !== void 0 ? m[1] : "";
-        if (this.operator === "=") {
-          this.operator = "";
-        }
-        if (!m[2]) {
-          this.semver = ANY;
+      /**
+       * Set a header in this collection with the provided name and value. The name is
+       * case-insensitive.
+       * @param name - The name of the header to set. This value is case-insensitive.
+       * @param value - The value of the header to set.
+       */
+      set(name, value) {
+        this._headersMap.set(normalizeName(name), { name, value: String(value).trim() });
+      }
+      /**
+       * Get the header value for the provided header name, or undefined if no header exists in this
+       * collection with the provided name.
+       * @param name - The name of the header. This value is case-insensitive.
+       */
+      get(name) {
+        return this._headersMap.get(normalizeName(name))?.value;
+      }
+      /**
+       * Get whether or not this header collection contains a header entry for the provided header name.
+       * @param name - The name of the header to set. This value is case-insensitive.
+       */
+      has(name) {
+        return this._headersMap.has(normalizeName(name));
+      }
+      /**
+       * Remove the header with the provided headerName.
+       * @param name - The name of the header to remove.
+       */
+      delete(name) {
+        this._headersMap.delete(normalizeName(name));
+      }
+      /**
+       * Get the JSON object representation of this HTTP header collection.
+       */
+      toJSON(options = {}) {
+        const result = {};
+        if (options.preserveCase) {
+          for (const entry of this._headersMap.values()) {
+            result[entry.name] = entry.value;
+          }
         } else {
-          this.semver = new SemVer(m[2], this.options.loose);
+          for (const [normalizedName, entry] of this._headersMap) {
+            result[normalizedName] = entry.value;
+          }
         }
+        return result;
       }
+      /**
+       * Get the string representation of this HTTP header collection.
+       */
       toString() {
-        return this.value;
+        return JSON.stringify(this.toJSON({ preserveCase: true }));
       }
-      test(version) {
-        debug4("Comparator.test", version, this.options.loose);
-        if (this.semver === ANY || version === ANY) {
-          return true;
+      /**
+       * Iterate over tuples of header [name, value] pairs.
+       */
+      [Symbol.iterator]() {
+        return headerIterator(this._headersMap);
+      }
+    };
+    function createHttpHeaders(rawHeaders) {
+      return new HttpHeadersImpl(rawHeaders);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js
+var require_schemes = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js
+var require_oauth2Flows = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js
+var require_uuidUtils = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.randomUUID = randomUUID;
+    function randomUUID() {
+      return crypto.randomUUID();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js
+var require_pipelineRequest = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineRequest = createPipelineRequest;
+    var httpHeaders_js_1 = require_httpHeaders();
+    var uuidUtils_js_1 = require_uuidUtils();
+    var PipelineRequestImpl = class {
+      url;
+      method;
+      headers;
+      timeout;
+      withCredentials;
+      body;
+      multipartBody;
+      formData;
+      streamResponseStatusCodes;
+      enableBrowserStreams;
+      proxySettings;
+      disableKeepAlive;
+      abortSignal;
+      requestId;
+      allowInsecureConnection;
+      onUploadProgress;
+      onDownloadProgress;
+      requestOverrides;
+      authSchemes;
+      constructor(options) {
+        this.url = options.url;
+        this.body = options.body;
+        this.headers = options.headers ?? (0, httpHeaders_js_1.createHttpHeaders)();
+        this.method = options.method ?? "GET";
+        this.timeout = options.timeout ?? 0;
+        this.multipartBody = options.multipartBody;
+        this.formData = options.formData;
+        this.disableKeepAlive = options.disableKeepAlive ?? false;
+        this.proxySettings = options.proxySettings;
+        this.streamResponseStatusCodes = options.streamResponseStatusCodes;
+        this.withCredentials = options.withCredentials ?? false;
+        this.abortSignal = options.abortSignal;
+        this.onUploadProgress = options.onUploadProgress;
+        this.onDownloadProgress = options.onDownloadProgress;
+        this.requestId = options.requestId || (0, uuidUtils_js_1.randomUUID)();
+        this.allowInsecureConnection = options.allowInsecureConnection ?? false;
+        this.enableBrowserStreams = options.enableBrowserStreams ?? false;
+        this.requestOverrides = options.requestOverrides;
+        this.authSchemes = options.authSchemes;
+      }
+    };
+    function createPipelineRequest(options) {
+      return new PipelineRequestImpl(options);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js
+var require_pipeline = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createEmptyPipeline = createEmptyPipeline;
+    var ValidPhaseNames = /* @__PURE__ */ new Set(["Deserialize", "Serialize", "Retry", "Sign"]);
+    var HttpPipeline = class _HttpPipeline {
+      _policies = [];
+      _orderedPolicies;
+      constructor(policies) {
+        this._policies = policies?.slice(0) ?? [];
+        this._orderedPolicies = void 0;
+      }
+      addPolicy(policy, options = {}) {
+        if (options.phase && options.afterPhase) {
+          throw new Error("Policies inside a phase cannot specify afterPhase.");
         }
-        if (typeof version === "string") {
-          try {
-            version = new SemVer(version, this.options);
-          } catch (er) {
-            return false;
-          }
+        if (options.phase && !ValidPhaseNames.has(options.phase)) {
+          throw new Error(`Invalid phase name: ${options.phase}`);
         }
-        return cmp(version, this.operator, this.semver, this.options);
-      }
-      intersects(comp, options) {
-        if (!(comp instanceof _Comparator)) {
-          throw new TypeError("a Comparator is required");
+        if (options.afterPhase && !ValidPhaseNames.has(options.afterPhase)) {
+          throw new Error(`Invalid afterPhase name: ${options.afterPhase}`);
         }
-        if (this.operator === "") {
-          if (this.value === "") {
-            return true;
-          }
-          return new Range2(comp.value, options).test(this.value);
-        } else if (comp.operator === "") {
-          if (comp.value === "") {
+        this._policies.push({
+          policy,
+          options
+        });
+        this._orderedPolicies = void 0;
+      }
+      removePolicy(options) {
+        const removedPolicies = [];
+        this._policies = this._policies.filter((policyDescriptor) => {
+          if (options.name && policyDescriptor.policy.name === options.name || options.phase && policyDescriptor.options.phase === options.phase) {
+            removedPolicies.push(policyDescriptor.policy);
+            return false;
+          } else {
             return true;
           }
-          return new Range2(this.value, options).test(comp.semver);
+        });
+        this._orderedPolicies = void 0;
+        return removedPolicies;
+      }
+      sendRequest(httpClient, request2) {
+        const policies = this.getOrderedPolicies();
+        const pipeline = policies.reduceRight((next, policy) => {
+          return (req) => {
+            return policy.sendRequest(req, next);
+          };
+        }, (req) => httpClient.sendRequest(req));
+        return pipeline(request2);
+      }
+      getOrderedPolicies() {
+        if (!this._orderedPolicies) {
+          this._orderedPolicies = this.orderPolicies();
         }
-        options = parseOptions(options);
-        if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
-          return false;
+        return this._orderedPolicies;
+      }
+      clone() {
+        return new _HttpPipeline(this._policies);
+      }
+      static create() {
+        return new _HttpPipeline();
+      }
+      orderPolicies() {
+        const result = [];
+        const policyMap = /* @__PURE__ */ new Map();
+        function createPhase(name) {
+          return {
+            name,
+            policies: /* @__PURE__ */ new Set(),
+            hasRun: false,
+            hasAfterPolicies: false
+          };
         }
-        if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
-          return false;
+        const serializePhase = createPhase("Serialize");
+        const noPhase = createPhase("None");
+        const deserializePhase = createPhase("Deserialize");
+        const retryPhase = createPhase("Retry");
+        const signPhase = createPhase("Sign");
+        const orderedPhases = [serializePhase, noPhase, deserializePhase, retryPhase, signPhase];
+        function getPhase(phase) {
+          if (phase === "Retry") {
+            return retryPhase;
+          } else if (phase === "Serialize") {
+            return serializePhase;
+          } else if (phase === "Deserialize") {
+            return deserializePhase;
+          } else if (phase === "Sign") {
+            return signPhase;
+          } else {
+            return noPhase;
+          }
         }
-        if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
-          return true;
+        for (const descriptor of this._policies) {
+          const policy = descriptor.policy;
+          const options = descriptor.options;
+          const policyName = policy.name;
+          if (policyMap.has(policyName)) {
+            throw new Error("Duplicate policy names not allowed in pipeline");
+          }
+          const node = {
+            policy,
+            dependsOn: /* @__PURE__ */ new Set(),
+            dependants: /* @__PURE__ */ new Set()
+          };
+          if (options.afterPhase) {
+            node.afterPhase = getPhase(options.afterPhase);
+            node.afterPhase.hasAfterPolicies = true;
+          }
+          policyMap.set(policyName, node);
+          const phase = getPhase(options.phase);
+          phase.policies.add(node);
         }
-        if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
-          return true;
+        for (const descriptor of this._policies) {
+          const { policy, options } = descriptor;
+          const policyName = policy.name;
+          const node = policyMap.get(policyName);
+          if (!node) {
+            throw new Error(`Missing node for policy ${policyName}`);
+          }
+          if (options.afterPolicies) {
+            for (const afterPolicyName of options.afterPolicies) {
+              const afterNode = policyMap.get(afterPolicyName);
+              if (afterNode) {
+                node.dependsOn.add(afterNode);
+                afterNode.dependants.add(node);
+              }
+            }
+          }
+          if (options.beforePolicies) {
+            for (const beforePolicyName of options.beforePolicies) {
+              const beforeNode = policyMap.get(beforePolicyName);
+              if (beforeNode) {
+                beforeNode.dependsOn.add(node);
+                node.dependants.add(beforeNode);
+              }
+            }
+          }
         }
-        if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
-          return true;
+        function walkPhase(phase) {
+          phase.hasRun = true;
+          for (const node of phase.policies) {
+            if (node.afterPhase && (!node.afterPhase.hasRun || node.afterPhase.policies.size)) {
+              continue;
+            }
+            if (node.dependsOn.size === 0) {
+              result.push(node.policy);
+              for (const dependant of node.dependants) {
+                dependant.dependsOn.delete(node);
+              }
+              policyMap.delete(node.policy.name);
+              phase.policies.delete(node);
+            }
+          }
         }
-        if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
-          return true;
+        function walkPhases() {
+          for (const phase of orderedPhases) {
+            walkPhase(phase);
+            if (phase.policies.size > 0 && phase !== noPhase) {
+              if (!noPhase.hasRun) {
+                walkPhase(noPhase);
+              }
+              return;
+            }
+            if (phase.hasAfterPolicies) {
+              walkPhase(noPhase);
+            }
+          }
         }
-        if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
-          return true;
+        let iteration = 0;
+        while (policyMap.size > 0) {
+          iteration++;
+          const initialResultLength = result.length;
+          walkPhases();
+          if (result.length <= initialResultLength && iteration > 1) {
+            throw new Error("Cannot satisfy policy dependencies due to requirements cycle.");
+          }
         }
-        return false;
-      }
-    };
-    module2.exports = Comparator;
-    var parseOptions = require_parse_options();
-    var { safeRe: re, t } = require_re();
-    var cmp = require_cmp();
-    var debug4 = require_debug();
-    var SemVer = require_semver();
-    var Range2 = require_range();
-  }
-});
-
-// node_modules/semver/functions/satisfies.js
-var require_satisfies = __commonJS({
-  "node_modules/semver/functions/satisfies.js"(exports2, module2) {
-    "use strict";
-    var Range2 = require_range();
-    var satisfies2 = (version, range, options) => {
-      try {
-        range = new Range2(range, options);
-      } catch (er) {
-        return false;
+        return result;
       }
-      return range.test(version);
     };
-    module2.exports = satisfies2;
+    function createEmptyPipeline() {
+      return HttpPipeline.create();
+    }
   }
 });
 
-// node_modules/semver/ranges/to-comparators.js
-var require_to_comparators = __commonJS({
-  "node_modules/semver/ranges/to-comparators.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js
+var require_object = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var toComparators = (range, options) => new Range2(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
-    module2.exports = toComparators;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isObject = isObject2;
+    function isObject2(input) {
+      return typeof input === "object" && input !== null && !Array.isArray(input) && !(input instanceof RegExp) && !(input instanceof Date);
+    }
   }
 });
 
-// node_modules/semver/ranges/max-satisfying.js
-var require_max_satisfying = __commonJS({
-  "node_modules/semver/ranges/max-satisfying.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js
+var require_error = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var maxSatisfying = (versions, range, options) => {
-      let max = null;
-      let maxSV = null;
-      let rangeObj = null;
-      try {
-        rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isError = isError;
+    var object_js_1 = require_object();
+    function isError(e) {
+      if ((0, object_js_1.isObject)(e)) {
+        const hasName = typeof e.name === "string";
+        const hasMessage = typeof e.message === "string";
+        return hasName && hasMessage;
       }
-      versions.forEach((v) => {
-        if (rangeObj.test(v)) {
-          if (!max || maxSV.compare(v) === -1) {
-            max = v;
-            maxSV = new SemVer(max, options);
-          }
-        }
-      });
-      return max;
-    };
-    module2.exports = maxSatisfying;
+      return false;
+    }
   }
 });
 
-// node_modules/semver/ranges/min-satisfying.js
-var require_min_satisfying = __commonJS({
-  "node_modules/semver/ranges/min-satisfying.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js
+var require_inspect = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var minSatisfying = (versions, range, options) => {
-      let min = null;
-      let minSV = null;
-      let rangeObj = null;
-      try {
-        rangeObj = new Range2(range, options);
-      } catch (er) {
-        return null;
-      }
-      versions.forEach((v) => {
-        if (rangeObj.test(v)) {
-          if (!min || minSV.compare(v) === 1) {
-            min = v;
-            minSV = new SemVer(min, options);
-          }
-        }
-      });
-      return min;
-    };
-    module2.exports = minSatisfying;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.custom = void 0;
+    var node_util_1 = require("node:util");
+    exports2.custom = node_util_1.inspect.custom;
   }
 });
 
-// node_modules/semver/ranges/min-version.js
-var require_min_version = __commonJS({
-  "node_modules/semver/ranges/min-version.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js
+var require_sanitizer = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Range2 = require_range();
-    var gt = require_gt();
-    var minVersion = (range, loose) => {
-      range = new Range2(range, loose);
-      let minver = new SemVer("0.0.0");
-      if (range.test(minver)) {
-        return minver;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Sanitizer = void 0;
+    var object_js_1 = require_object();
+    var RedactedString = "REDACTED";
+    var defaultAllowedHeaderNames = [
+      "x-ms-client-request-id",
+      "x-ms-return-client-request-id",
+      "x-ms-useragent",
+      "x-ms-correlation-request-id",
+      "x-ms-request-id",
+      "client-request-id",
+      "ms-cv",
+      "return-client-request-id",
+      "traceparent",
+      "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",
+      "Origin",
+      "Accept",
+      "Accept-Encoding",
+      "Cache-Control",
+      "Connection",
+      "Content-Length",
+      "Content-Type",
+      "Date",
+      "ETag",
+      "Expires",
+      "If-Match",
+      "If-Modified-Since",
+      "If-None-Match",
+      "If-Unmodified-Since",
+      "Last-Modified",
+      "Pragma",
+      "Request-Id",
+      "Retry-After",
+      "Server",
+      "Transfer-Encoding",
+      "User-Agent",
+      "WWW-Authenticate"
+    ];
+    var defaultAllowedQueryParameters = ["api-version"];
+    var Sanitizer = class {
+      allowedHeaderNames;
+      allowedQueryParameters;
+      constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], additionalAllowedQueryParameters: allowedQueryParameters = [] } = {}) {
+        allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);
+        allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);
+        this.allowedHeaderNames = new Set(allowedHeaderNames.map((n) => n.toLowerCase()));
+        this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));
       }
-      minver = new SemVer("0.0.0-0");
-      if (range.test(minver)) {
-        return minver;
+      /**
+       * Sanitizes an object for logging.
+       * @param obj - The object to sanitize
+       * @returns - The sanitized object as a string
+       */
+      sanitize(obj) {
+        const seen = /* @__PURE__ */ new Set();
+        return JSON.stringify(obj, (key, value) => {
+          if (value instanceof Error) {
+            return {
+              ...value,
+              name: value.name,
+              message: value.message
+            };
+          }
+          if (key === "headers") {
+            return this.sanitizeHeaders(value);
+          } else if (key === "url") {
+            return this.sanitizeUrl(value);
+          } else if (key === "query") {
+            return this.sanitizeQuery(value);
+          } else if (key === "body") {
+            return void 0;
+          } else if (key === "response") {
+            return void 0;
+          } else if (key === "operationSpec") {
+            return void 0;
+          } else if (Array.isArray(value) || (0, object_js_1.isObject)(value)) {
+            if (seen.has(value)) {
+              return "[Circular]";
+            }
+            seen.add(value);
+          }
+          return value;
+        }, 2);
       }
-      minver = null;
-      for (let i = 0; i < range.set.length; ++i) {
-        const comparators = range.set[i];
-        let setMin = null;
-        comparators.forEach((comparator) => {
-          const compver = new SemVer(comparator.semver.version);
-          switch (comparator.operator) {
-            case ">":
-              if (compver.prerelease.length === 0) {
-                compver.patch++;
-              } else {
-                compver.prerelease.push(0);
-              }
-              compver.raw = compver.format();
-            /* fallthrough */
-            case "":
-            case ">=":
-              if (!setMin || gt(compver, setMin)) {
-                setMin = compver;
-              }
-              break;
-            case "<":
-            case "<=":
-              break;
-            /* istanbul ignore next */
-            default:
-              throw new Error(`Unexpected operation: ${comparator.operator}`);
+      /**
+       * Sanitizes a URL for logging.
+       * @param value - The URL to sanitize
+       * @returns - The sanitized URL as a string
+       */
+      sanitizeUrl(value) {
+        if (typeof value !== "string" || value === null || value === "") {
+          return value;
+        }
+        const url = new URL(value);
+        if (!url.search) {
+          return value;
+        }
+        for (const [key] of url.searchParams) {
+          if (!this.allowedQueryParameters.has(key.toLowerCase())) {
+            url.searchParams.set(key, RedactedString);
           }
-        });
-        if (setMin && (!minver || gt(minver, setMin))) {
-          minver = setMin;
         }
+        return url.toString();
       }
-      if (minver && range.test(minver)) {
-        return minver;
+      sanitizeHeaders(obj) {
+        const sanitized = {};
+        for (const key of Object.keys(obj)) {
+          if (this.allowedHeaderNames.has(key.toLowerCase())) {
+            sanitized[key] = obj[key];
+          } else {
+            sanitized[key] = RedactedString;
+          }
+        }
+        return sanitized;
       }
-      return null;
-    };
-    module2.exports = minVersion;
-  }
-});
-
-// node_modules/semver/ranges/valid.js
-var require_valid2 = __commonJS({
-  "node_modules/semver/ranges/valid.js"(exports2, module2) {
-    "use strict";
-    var Range2 = require_range();
-    var validRange = (range, options) => {
-      try {
-        return new Range2(range, options).range || "*";
-      } catch (er) {
-        return null;
+      sanitizeQuery(value) {
+        if (typeof value !== "object" || value === null) {
+          return value;
+        }
+        const sanitized = {};
+        for (const k of Object.keys(value)) {
+          if (this.allowedQueryParameters.has(k.toLowerCase())) {
+            sanitized[k] = value[k];
+          } else {
+            sanitized[k] = RedactedString;
+          }
+        }
+        return sanitized;
       }
     };
-    module2.exports = validRange;
+    exports2.Sanitizer = Sanitizer;
   }
 });
 
-// node_modules/semver/ranges/outside.js
-var require_outside = __commonJS({
-  "node_modules/semver/ranges/outside.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js
+var require_restError = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js"(exports2) {
     "use strict";
-    var SemVer = require_semver();
-    var Comparator = require_comparator();
-    var { ANY } = Comparator;
-    var Range2 = require_range();
-    var satisfies2 = require_satisfies();
-    var gt = require_gt();
-    var lt = require_lt();
-    var lte = require_lte();
-    var gte6 = require_gte();
-    var outside = (version, range, hilo, options) => {
-      version = new SemVer(version, options);
-      range = new Range2(range, options);
-      let gtfn, ltefn, ltfn, comp, ecomp;
-      switch (hilo) {
-        case ">":
-          gtfn = gt;
-          ltefn = lte;
-          ltfn = lt;
-          comp = ">";
-          ecomp = ">=";
-          break;
-        case "<":
-          gtfn = lt;
-          ltefn = gte6;
-          ltfn = gt;
-          comp = "<";
-          ecomp = "<=";
-          break;
-        default:
-          throw new TypeError('Must provide a hilo val of "<" or ">"');
-      }
-      if (satisfies2(version, range, options)) {
-        return false;
-      }
-      for (let i = 0; i < range.set.length; ++i) {
-        const comparators = range.set[i];
-        let high = null;
-        let low = null;
-        comparators.forEach((comparator) => {
-          if (comparator.semver === ANY) {
-            comparator = new Comparator(">=0.0.0");
-          }
-          high = high || comparator;
-          low = low || comparator;
-          if (gtfn(comparator.semver, high.semver, options)) {
-            high = comparator;
-          } else if (ltfn(comparator.semver, low.semver, options)) {
-            low = comparator;
-          }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RestError = void 0;
+    exports2.isRestError = isRestError;
+    var error_js_1 = require_error();
+    var inspect_js_1 = require_inspect();
+    var sanitizer_js_1 = require_sanitizer();
+    var errorSanitizer = new sanitizer_js_1.Sanitizer();
+    var RestError = class _RestError extends Error {
+      /**
+       * Something went wrong when making the request.
+       * This means the actual request failed for some reason,
+       * such as a DNS issue or the connection being lost.
+       */
+      static REQUEST_SEND_ERROR = "REQUEST_SEND_ERROR";
+      /**
+       * This means that parsing the response from the server failed.
+       * It may have been malformed.
+       */
+      static PARSE_ERROR = "PARSE_ERROR";
+      /**
+       * The code of the error itself (use statics on RestError if possible.)
+       */
+      code;
+      /**
+       * The HTTP status code of the request (if applicable.)
+       */
+      statusCode;
+      /**
+       * The request that was made.
+       * This property is non-enumerable.
+       */
+      request;
+      /**
+       * The response received (if any.)
+       * This property is non-enumerable.
+       */
+      response;
+      /**
+       * Bonus property set by the throw site.
+       */
+      details;
+      constructor(message, options = {}) {
+        super(message);
+        this.name = "RestError";
+        this.code = options.code;
+        this.statusCode = options.statusCode;
+        Object.defineProperty(this, "request", { value: options.request, enumerable: false });
+        Object.defineProperty(this, "response", { value: options.response, enumerable: false });
+        const agent = this.request?.agent ? {
+          maxFreeSockets: this.request.agent.maxFreeSockets,
+          maxSockets: this.request.agent.maxSockets
+        } : void 0;
+        Object.defineProperty(this, inspect_js_1.custom, {
+          value: () => {
+            return `RestError: ${this.message} 
+ ${errorSanitizer.sanitize({
+              ...this,
+              request: { ...this.request, agent },
+              response: this.response
+            })}`;
+          },
+          enumerable: false
         });
-        if (high.operator === comp || high.operator === ecomp) {
-          return false;
-        }
-        if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
-          return false;
-        } else if (low.operator === ecomp && ltfn(version, low.semver)) {
-          return false;
-        }
+        Object.setPrototypeOf(this, _RestError.prototype);
       }
-      return true;
     };
-    module2.exports = outside;
-  }
-});
-
-// node_modules/semver/ranges/gtr.js
-var require_gtr = __commonJS({
-  "node_modules/semver/ranges/gtr.js"(exports2, module2) {
-    "use strict";
-    var outside = require_outside();
-    var gtr = (version, range, options) => outside(version, range, ">", options);
-    module2.exports = gtr;
+    exports2.RestError = RestError;
+    function isRestError(e) {
+      if (e instanceof RestError) {
+        return true;
+      }
+      return (0, error_js_1.isError)(e) && e.name === "RestError";
+    }
   }
 });
 
-// node_modules/semver/ranges/ltr.js
-var require_ltr = __commonJS({
-  "node_modules/semver/ranges/ltr.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js
+var require_bytesEncoding = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js"(exports2) {
     "use strict";
-    var outside = require_outside();
-    var ltr = (version, range, options) => outside(version, range, "<", options);
-    module2.exports = ltr;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uint8ArrayToString = uint8ArrayToString;
+    exports2.stringToUint8Array = stringToUint8Array;
+    function uint8ArrayToString(bytes, format) {
+      return Buffer.from(bytes).toString(format);
+    }
+    function stringToUint8Array(value, format) {
+      return Buffer.from(value, format);
+    }
   }
 });
 
-// node_modules/semver/ranges/intersects.js
-var require_intersects = __commonJS({
-  "node_modules/semver/ranges/intersects.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js
+var require_log2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js"(exports2) {
     "use strict";
-    var Range2 = require_range();
-    var intersects = (r1, r2, options) => {
-      r1 = new Range2(r1, options);
-      r2 = new Range2(r2, options);
-      return r1.intersects(r2, options);
-    };
-    module2.exports = intersects;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_js_1 = require_logger();
+    exports2.logger = (0, logger_js_1.createClientLogger)("ts-http-runtime");
   }
 });
 
-// node_modules/semver/ranges/simplify.js
-var require_simplify = __commonJS({
-  "node_modules/semver/ranges/simplify.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js
+var require_nodeHttpClient = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js"(exports2) {
     "use strict";
-    var satisfies2 = require_satisfies();
-    var compare2 = require_compare();
-    module2.exports = (versions, range, options) => {
-      const set2 = [];
-      let first = null;
-      let prev = null;
-      const v = versions.sort((a, b) => compare2(a, b, options));
-      for (const version of v) {
-        const included = satisfies2(version, range, options);
-        if (included) {
-          prev = version;
-          if (!first) {
-            first = version;
-          }
-        } else {
-          if (prev) {
-            set2.push([first, prev]);
-          }
-          prev = null;
-          first = null;
-        }
-      }
-      if (first) {
-        set2.push([first, null]);
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getBodyLength = getBodyLength;
+    exports2.createNodeHttpClient = createNodeHttpClient;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_http_1 = tslib_1.__importDefault(require("node:http"));
+    var node_https_1 = tslib_1.__importDefault(require("node:https"));
+    var node_zlib_1 = tslib_1.__importDefault(require("node:zlib"));
+    var node_stream_1 = require("node:stream");
+    var AbortError_js_1 = require_AbortError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    var restError_js_1 = require_restError();
+    var log_js_1 = require_log2();
+    var sanitizer_js_1 = require_sanitizer();
+    var DEFAULT_TLS_SETTINGS = {};
+    function isReadableStream(body) {
+      return body && typeof body.pipe === "function";
+    }
+    function isStreamComplete(stream) {
+      if (stream.readable === false) {
+        return Promise.resolve();
       }
-      const ranges = [];
-      for (const [min, max] of set2) {
-        if (min === max) {
-          ranges.push(min);
-        } else if (!max && min === v[0]) {
-          ranges.push("*");
-        } else if (!max) {
-          ranges.push(`>=${min}`);
-        } else if (min === v[0]) {
-          ranges.push(`<=${max}`);
-        } else {
-          ranges.push(`${min} - ${max}`);
+      return new Promise((resolve2) => {
+        const handler2 = () => {
+          resolve2();
+          stream.removeListener("close", handler2);
+          stream.removeListener("end", handler2);
+          stream.removeListener("error", handler2);
+        };
+        stream.on("close", handler2);
+        stream.on("end", handler2);
+        stream.on("error", handler2);
+      });
+    }
+    function isArrayBuffer(body) {
+      return body && typeof body.byteLength === "number";
+    }
+    var ReportTransform = class extends node_stream_1.Transform {
+      loadedBytes = 0;
+      progressCallback;
+      // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
+      _transform(chunk, _encoding, callback) {
+        this.push(chunk);
+        this.loadedBytes += chunk.length;
+        try {
+          this.progressCallback({ loadedBytes: this.loadedBytes });
+          callback();
+        } catch (e) {
+          callback(e);
         }
       }
-      const simplified = ranges.join(" || ");
-      const original = typeof range.raw === "string" ? range.raw : String(range);
-      return simplified.length < original.length ? simplified : range;
-    };
-  }
-});
-
-// node_modules/semver/ranges/subset.js
-var require_subset = __commonJS({
-  "node_modules/semver/ranges/subset.js"(exports2, module2) {
-    "use strict";
-    var Range2 = require_range();
-    var Comparator = require_comparator();
-    var { ANY } = Comparator;
-    var satisfies2 = require_satisfies();
-    var compare2 = require_compare();
-    var subset = (sub, dom, options = {}) => {
-      if (sub === dom) {
-        return true;
+      constructor(progressCallback) {
+        super();
+        this.progressCallback = progressCallback;
       }
-      sub = new Range2(sub, options);
-      dom = new Range2(dom, options);
-      let sawNonNull = false;
-      OUTER: for (const simpleSub of sub.set) {
-        for (const simpleDom of dom.set) {
-          const isSub = simpleSubset(simpleSub, simpleDom, options);
-          sawNonNull = sawNonNull || isSub !== null;
-          if (isSub) {
-            continue OUTER;
+    };
+    var NodeHttpClient = class {
+      cachedHttpAgent;
+      cachedHttpsAgents = /* @__PURE__ */ new WeakMap();
+      /**
+       * Makes a request over an underlying transport layer and returns the response.
+       * @param request - The request to be made.
+       */
+      async sendRequest(request2) {
+        const abortController = new AbortController();
+        let abortListener;
+        if (request2.abortSignal) {
+          if (request2.abortSignal.aborted) {
+            throw new AbortError_js_1.AbortError("The operation was aborted. Request has already been canceled.");
           }
+          abortListener = (event) => {
+            if (event.type === "abort") {
+              abortController.abort();
+            }
+          };
+          request2.abortSignal.addEventListener("abort", abortListener);
         }
-        if (sawNonNull) {
-          return false;
+        let timeoutId;
+        if (request2.timeout > 0) {
+          timeoutId = setTimeout(() => {
+            const sanitizer = new sanitizer_js_1.Sanitizer();
+            log_js_1.logger.info(`request to '${sanitizer.sanitizeUrl(request2.url)}' timed out. canceling...`);
+            abortController.abort();
+          }, request2.timeout);
         }
-      }
-      return true;
-    };
-    var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
-    var minimumVersion2 = [new Comparator(">=0.0.0")];
-    var simpleSubset = (sub, dom, options) => {
-      if (sub === dom) {
-        return true;
-      }
-      if (sub.length === 1 && sub[0].semver === ANY) {
-        if (dom.length === 1 && dom[0].semver === ANY) {
-          return true;
-        } else if (options.includePrerelease) {
-          sub = minimumVersionWithPreRelease;
-        } else {
-          sub = minimumVersion2;
+        const acceptEncoding = request2.headers.get("Accept-Encoding");
+        const shouldDecompress = acceptEncoding?.includes("gzip") || acceptEncoding?.includes("deflate");
+        let body = typeof request2.body === "function" ? request2.body() : request2.body;
+        if (body && !request2.headers.has("Content-Length")) {
+          const bodyLength = getBodyLength(body);
+          if (bodyLength !== null) {
+            request2.headers.set("Content-Length", bodyLength);
+          }
         }
-      }
-      if (dom.length === 1 && dom[0].semver === ANY) {
-        if (options.includePrerelease) {
-          return true;
-        } else {
-          dom = minimumVersion2;
+        let responseStream;
+        try {
+          if (body && request2.onUploadProgress) {
+            const onUploadProgress = request2.onUploadProgress;
+            const uploadReportStream = new ReportTransform(onUploadProgress);
+            uploadReportStream.on("error", (e) => {
+              log_js_1.logger.error("Error in upload progress", e);
+            });
+            if (isReadableStream(body)) {
+              body.pipe(uploadReportStream);
+            } else {
+              uploadReportStream.end(body);
+            }
+            body = uploadReportStream;
+          }
+          const res = await this.makeRequest(request2, abortController, body);
+          if (timeoutId !== void 0) {
+            clearTimeout(timeoutId);
+          }
+          const headers = getResponseHeaders(res);
+          const status = res.statusCode ?? 0;
+          const response = {
+            status,
+            headers,
+            request: request2
+          };
+          if (request2.method === "HEAD") {
+            res.resume();
+            return response;
+          }
+          responseStream = shouldDecompress ? getDecodedResponseStream(res, headers) : res;
+          const onDownloadProgress = request2.onDownloadProgress;
+          if (onDownloadProgress) {
+            const downloadReportStream = new ReportTransform(onDownloadProgress);
+            downloadReportStream.on("error", (e) => {
+              log_js_1.logger.error("Error in download progress", e);
+            });
+            responseStream.pipe(downloadReportStream);
+            responseStream = downloadReportStream;
+          }
+          if (
+            // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code
+            request2.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) || request2.streamResponseStatusCodes?.has(response.status)
+          ) {
+            response.readableStreamBody = responseStream;
+          } else {
+            response.bodyAsText = await streamToText(responseStream);
+          }
+          return response;
+        } finally {
+          if (request2.abortSignal && abortListener) {
+            let uploadStreamDone = Promise.resolve();
+            if (isReadableStream(body)) {
+              uploadStreamDone = isStreamComplete(body);
+            }
+            let downloadStreamDone = Promise.resolve();
+            if (isReadableStream(responseStream)) {
+              downloadStreamDone = isStreamComplete(responseStream);
+            }
+            Promise.all([uploadStreamDone, downloadStreamDone]).then(() => {
+              if (abortListener) {
+                request2.abortSignal?.removeEventListener("abort", abortListener);
+              }
+            }).catch((e) => {
+              log_js_1.logger.warning("Error when cleaning up abortListener on httpRequest", e);
+            });
+          }
         }
       }
-      const eqSet = /* @__PURE__ */ new Set();
-      let gt, lt;
-      for (const c of sub) {
-        if (c.operator === ">" || c.operator === ">=") {
-          gt = higherGT(gt, c, options);
-        } else if (c.operator === "<" || c.operator === "<=") {
-          lt = lowerLT(lt, c, options);
-        } else {
-          eqSet.add(c.semver);
+      makeRequest(request2, abortController, body) {
+        const url = new URL(request2.url);
+        const isInsecure = url.protocol !== "https:";
+        if (isInsecure && !request2.allowInsecureConnection) {
+          throw new Error(`Cannot connect to ${request2.url} while allowInsecureConnection is false.`);
         }
+        const agent = request2.agent ?? this.getOrCreateAgent(request2, isInsecure);
+        const options = {
+          agent,
+          hostname: url.hostname,
+          path: `${url.pathname}${url.search}`,
+          port: url.port,
+          method: request2.method,
+          headers: request2.headers.toJSON({ preserveCase: true }),
+          ...request2.requestOverrides
+        };
+        return new Promise((resolve2, reject) => {
+          const req = isInsecure ? node_http_1.default.request(options, resolve2) : node_https_1.default.request(options, resolve2);
+          req.once("error", (err) => {
+            reject(new restError_js_1.RestError(err.message, { code: err.code ?? restError_js_1.RestError.REQUEST_SEND_ERROR, request: request2 }));
+          });
+          abortController.signal.addEventListener("abort", () => {
+            const abortError = new AbortError_js_1.AbortError("The operation was aborted. Rejecting from abort signal callback while making request.");
+            req.destroy(abortError);
+            reject(abortError);
+          });
+          if (body && isReadableStream(body)) {
+            body.pipe(req);
+          } else if (body) {
+            if (typeof body === "string" || Buffer.isBuffer(body)) {
+              req.end(body);
+            } else if (isArrayBuffer(body)) {
+              req.end(ArrayBuffer.isView(body) ? Buffer.from(body.buffer) : Buffer.from(body));
+            } else {
+              log_js_1.logger.error("Unrecognized body type", body);
+              reject(new restError_js_1.RestError("Unrecognized body type"));
+            }
+          } else {
+            req.end();
+          }
+        });
       }
-      if (eqSet.size > 1) {
-        return null;
-      }
-      let gtltComp;
-      if (gt && lt) {
-        gtltComp = compare2(gt.semver, lt.semver, options);
-        if (gtltComp > 0) {
-          return null;
-        } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
-          return null;
+      getOrCreateAgent(request2, isInsecure) {
+        const disableKeepAlive = request2.disableKeepAlive;
+        if (isInsecure) {
+          if (disableKeepAlive) {
+            return node_http_1.default.globalAgent;
+          }
+          if (!this.cachedHttpAgent) {
+            this.cachedHttpAgent = new node_http_1.default.Agent({ keepAlive: true });
+          }
+          return this.cachedHttpAgent;
+        } else {
+          if (disableKeepAlive && !request2.tlsSettings) {
+            return node_https_1.default.globalAgent;
+          }
+          const tlsSettings = request2.tlsSettings ?? DEFAULT_TLS_SETTINGS;
+          let agent = this.cachedHttpsAgents.get(tlsSettings);
+          if (agent && agent.options.keepAlive === !disableKeepAlive) {
+            return agent;
+          }
+          log_js_1.logger.info("No cached TLS Agent exist, creating a new Agent");
+          agent = new node_https_1.default.Agent({
+            // keepAlive is true if disableKeepAlive is false.
+            keepAlive: !disableKeepAlive,
+            // Since we are spreading, if no tslSettings were provided, nothing is added to the agent options.
+            ...tlsSettings
+          });
+          this.cachedHttpsAgents.set(tlsSettings, agent);
+          return agent;
         }
       }
-      for (const eq of eqSet) {
-        if (gt && !satisfies2(eq, String(gt), options)) {
-          return null;
-        }
-        if (lt && !satisfies2(eq, String(lt), options)) {
-          return null;
-        }
-        for (const c of dom) {
-          if (!satisfies2(eq, String(c), options)) {
-            return false;
+    };
+    function getResponseHeaders(res) {
+      const headers = (0, httpHeaders_js_1.createHttpHeaders)();
+      for (const header of Object.keys(res.headers)) {
+        const value = res.headers[header];
+        if (Array.isArray(value)) {
+          if (value.length > 0) {
+            headers.set(header, value[0]);
           }
+        } else if (value) {
+          headers.set(header, value);
         }
-        return true;
       }
-      let higher, lower;
-      let hasDomLT, hasDomGT;
-      let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
-      let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
-      if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
-        needDomLTPre = false;
+      return headers;
+    }
+    function getDecodedResponseStream(stream, headers) {
+      const contentEncoding = headers.get("Content-Encoding");
+      if (contentEncoding === "gzip") {
+        const unzip = node_zlib_1.default.createGunzip();
+        stream.pipe(unzip);
+        return unzip;
+      } else if (contentEncoding === "deflate") {
+        const inflate = node_zlib_1.default.createInflate();
+        stream.pipe(inflate);
+        return inflate;
       }
-      for (const c of dom) {
-        hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
-        hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
-        if (gt) {
-          if (needDomGTPre) {
-            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
-              needDomGTPre = false;
-            }
-          }
-          if (c.operator === ">" || c.operator === ">=") {
-            higher = higherGT(gt, c, options);
-            if (higher === c && higher !== gt) {
-              return false;
-            }
-          } else if (gt.operator === ">=" && !satisfies2(gt.semver, String(c), options)) {
-            return false;
+      return stream;
+    }
+    function streamToText(stream) {
+      return new Promise((resolve2, reject) => {
+        const buffer = [];
+        stream.on("data", (chunk) => {
+          if (Buffer.isBuffer(chunk)) {
+            buffer.push(chunk);
+          } else {
+            buffer.push(Buffer.from(chunk));
           }
-        }
-        if (lt) {
-          if (needDomLTPre) {
-            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
-              needDomLTPre = false;
-            }
+        });
+        stream.on("end", () => {
+          resolve2(Buffer.concat(buffer).toString("utf8"));
+        });
+        stream.on("error", (e) => {
+          if (e && e?.name === "AbortError") {
+            reject(e);
+          } else {
+            reject(new restError_js_1.RestError(`Error reading response as text: ${e.message}`, {
+              code: restError_js_1.RestError.PARSE_ERROR
+            }));
           }
-          if (c.operator === "<" || c.operator === "<=") {
-            lower = lowerLT(lt, c, options);
-            if (lower === c && lower !== lt) {
-              return false;
-            }
-          } else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
-            return false;
+        });
+      });
+    }
+    function getBodyLength(body) {
+      if (!body) {
+        return 0;
+      } else if (Buffer.isBuffer(body)) {
+        return body.length;
+      } else if (isReadableStream(body)) {
+        return null;
+      } else if (isArrayBuffer(body)) {
+        return body.byteLength;
+      } else if (typeof body === "string") {
+        return Buffer.from(body).length;
+      } else {
+        return null;
+      }
+    }
+    function createNodeHttpClient() {
+      return new NodeHttpClient();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js
+var require_defaultHttpClient = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultHttpClient = createDefaultHttpClient;
+    var nodeHttpClient_js_1 = require_nodeHttpClient();
+    function createDefaultHttpClient() {
+      return (0, nodeHttpClient_js_1.createNodeHttpClient)();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js
+var require_logPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logPolicyName = void 0;
+    exports2.logPolicy = logPolicy;
+    var log_js_1 = require_log2();
+    var sanitizer_js_1 = require_sanitizer();
+    exports2.logPolicyName = "logPolicy";
+    function logPolicy(options = {}) {
+      const logger = options.logger ?? log_js_1.logger.info;
+      const sanitizer = new sanitizer_js_1.Sanitizer({
+        additionalAllowedHeaderNames: options.additionalAllowedHeaderNames,
+        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
+      });
+      return {
+        name: exports2.logPolicyName,
+        async sendRequest(request2, next) {
+          if (!logger.enabled) {
+            return next(request2);
           }
+          logger(`Request: ${sanitizer.sanitize(request2)}`);
+          const response = await next(request2);
+          logger(`Response status code: ${response.status}`);
+          logger(`Headers: ${sanitizer.sanitize(response.headers)}`);
+          return response;
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js
+var require_redirectPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.redirectPolicyName = void 0;
+    exports2.redirectPolicy = redirectPolicy;
+    exports2.redirectPolicyName = "redirectPolicy";
+    var allowedRedirect = ["GET", "HEAD"];
+    function redirectPolicy(options = {}) {
+      const { maxRetries = 20 } = options;
+      return {
+        name: exports2.redirectPolicyName,
+        async sendRequest(request2, next) {
+          const response = await next(request2);
+          return handleRedirect(next, response, maxRetries);
         }
-        if (!c.operator && (lt || gt) && gtltComp !== 0) {
-          return false;
+      };
+    }
+    async function handleRedirect(next, response, maxRetries, currentRetries = 0) {
+      const { request: request2, status, headers } = response;
+      const locationHeader = headers.get("location");
+      if (locationHeader && (status === 300 || status === 301 && allowedRedirect.includes(request2.method) || status === 302 && allowedRedirect.includes(request2.method) || status === 303 && request2.method === "POST" || status === 307) && currentRetries < maxRetries) {
+        const url = new URL(locationHeader, request2.url);
+        request2.url = url.toString();
+        if (status === 303) {
+          request2.method = "GET";
+          request2.headers.delete("Content-Length");
+          delete request2.body;
         }
+        request2.headers.delete("Authorization");
+        const res = await next(request2);
+        return handleRedirect(next, res, maxRetries, currentRetries + 1);
       }
-      if (gt && hasDomLT && !lt && gtltComp !== 0) {
-        return false;
-      }
-      if (lt && hasDomGT && !gt && gtltComp !== 0) {
-        return false;
-      }
-      if (needDomGTPre || needDomLTPre) {
-        return false;
-      }
-      return true;
-    };
-    var higherGT = (a, b, options) => {
-      if (!a) {
-        return b;
-      }
-      const comp = compare2(a.semver, b.semver, options);
-      return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
-    };
-    var lowerLT = (a, b, options) => {
-      if (!a) {
-        return b;
+      return response;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js
+var require_userAgentPlatform = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getHeaderName = getHeaderName;
+    exports2.setPlatformSpecificData = setPlatformSpecificData;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_os_1 = tslib_1.__importDefault(require("node:os"));
+    var node_process_1 = tslib_1.__importDefault(require("node:process"));
+    function getHeaderName() {
+      return "User-Agent";
+    }
+    async function setPlatformSpecificData(map2) {
+      if (node_process_1.default && node_process_1.default.versions) {
+        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
+        const versions = node_process_1.default.versions;
+        if (versions.bun) {
+          map2.set("Bun", `${versions.bun} (${osInfo})`);
+        } else if (versions.deno) {
+          map2.set("Deno", `${versions.deno} (${osInfo})`);
+        } else if (versions.node) {
+          map2.set("Node", `${versions.node} (${osInfo})`);
+        }
       }
-      const comp = compare2(a.semver, b.semver, options);
-      return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
-    };
-    module2.exports = subset;
+    }
   }
 });
 
-// node_modules/semver/index.js
-var require_semver2 = __commonJS({
-  "node_modules/semver/index.js"(exports2, module2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js
+var require_constants12 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js"(exports2) {
     "use strict";
-    var internalRe = require_re();
-    var constants = require_constants11();
-    var SemVer = require_semver();
-    var identifiers = require_identifiers();
-    var parse2 = require_parse3();
-    var valid3 = require_valid();
-    var clean3 = require_clean();
-    var inc = require_inc();
-    var diff = require_diff();
-    var major = require_major();
-    var minor = require_minor();
-    var patch = require_patch();
-    var prerelease = require_prerelease();
-    var compare2 = require_compare();
-    var rcompare = require_rcompare();
-    var compareLoose = require_compare_loose();
-    var compareBuild = require_compare_build();
-    var sort = require_sort();
-    var rsort = require_rsort();
-    var gt = require_gt();
-    var lt = require_lt();
-    var eq = require_eq();
-    var neq = require_neq();
-    var gte6 = require_gte();
-    var lte = require_lte();
-    var cmp = require_cmp();
-    var coerce3 = require_coerce();
-    var Comparator = require_comparator();
-    var Range2 = require_range();
-    var satisfies2 = require_satisfies();
-    var toComparators = require_to_comparators();
-    var maxSatisfying = require_max_satisfying();
-    var minSatisfying = require_min_satisfying();
-    var minVersion = require_min_version();
-    var validRange = require_valid2();
-    var outside = require_outside();
-    var gtr = require_gtr();
-    var ltr = require_ltr();
-    var intersects = require_intersects();
-    var simplifyRange = require_simplify();
-    var subset = require_subset();
-    module2.exports = {
-      parse: parse2,
-      valid: valid3,
-      clean: clean3,
-      inc,
-      diff,
-      major,
-      minor,
-      patch,
-      prerelease,
-      compare: compare2,
-      rcompare,
-      compareLoose,
-      compareBuild,
-      sort,
-      rsort,
-      gt,
-      lt,
-      eq,
-      neq,
-      gte: gte6,
-      lte,
-      cmp,
-      coerce: coerce3,
-      Comparator,
-      Range: Range2,
-      satisfies: satisfies2,
-      toComparators,
-      maxSatisfying,
-      minSatisfying,
-      minVersion,
-      validRange,
-      outside,
-      gtr,
-      ltr,
-      intersects,
-      simplifyRange,
-      subset,
-      SemVer,
-      re: internalRe.re,
-      src: internalRe.src,
-      tokens: internalRe.t,
-      SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
-      RELEASE_TYPES: constants.RELEASE_TYPES,
-      compareIdentifiers: identifiers.compareIdentifiers,
-      rcompareIdentifiers: identifiers.rcompareIdentifiers
-    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "0.3.2";
+    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
   }
 });
 
-// package.json
-var require_package = __commonJS({
-  "package.json"(exports2, module2) {
-    module2.exports = {
-      name: "codeql",
-      version: "4.32.1",
-      private: true,
-      description: "CodeQL action",
-      scripts: {
-        _build_comment: "echo 'Run the full build so we typecheck the project and can reuse the transpiled files in npm test'",
-        build: "./scripts/check-node-modules.sh && npm run transpile && node build.mjs",
-        lint: "eslint --report-unused-disable-directives --max-warnings=0 .",
-        "lint-ci": "SARIF_ESLINT_IGNORE_SUPPRESSED=true eslint --report-unused-disable-directives --max-warnings=0 . --format @microsoft/eslint-formatter-sarif --output-file=eslint.sarif",
-        "lint-fix": "eslint --report-unused-disable-directives --max-warnings=0 . --fix",
-        ava: "npm run transpile && ava --serial --verbose",
-        test: "npm run ava -- src/",
-        "test-debug": "npm run test -- --timeout=20m",
-        transpile: "tsc --build --verbose"
-      },
-      ava: {
-        typescript: {
-          rewritePaths: {
-            "src/": "build/"
-          },
-          compile: false
-        }
-      },
-      license: "MIT",
-      dependencies: {
-        "@actions/artifact": "^5.0.3",
-        "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
-        "@actions/cache": "^5.0.5",
-        "@actions/core": "^2.0.3",
-        "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
-        "@actions/glob": "^0.5.0",
-        "@actions/http-client": "^3.0.0",
-        "@actions/io": "^2.0.0",
-        "@actions/tool-cache": "^3.0.1",
-        "@octokit/plugin-retry": "^8.0.0",
-        "@schemastore/package": "0.0.10",
-        archiver: "^7.0.1",
-        "fast-deep-equal": "^3.1.3",
-        "follow-redirects": "^1.15.11",
-        "get-folder-size": "^5.0.0",
-        "js-yaml": "^4.1.1",
-        jsonschema: "1.4.1",
-        long: "^5.3.2",
-        "node-forge": "^1.3.3",
-        semver: "^7.7.3",
-        uuid: "^13.0.0"
-      },
-      devDependencies: {
-        "@ava/typescript": "6.0.0",
-        "@eslint/compat": "^2.0.1",
-        "@eslint/eslintrc": "^3.3.3",
-        "@eslint/js": "^9.39.2",
-        "@microsoft/eslint-formatter-sarif": "^3.1.0",
-        "@octokit/types": "^16.0.0",
-        "@types/archiver": "^7.0.0",
-        "@types/follow-redirects": "^1.14.4",
-        "@types/js-yaml": "^4.0.9",
-        "@types/node": "^20.19.9",
-        "@types/node-forge": "^1.3.14",
-        "@types/semver": "^7.7.1",
-        "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
-        "@typescript-eslint/parser": "^8.48.0",
-        ava: "^6.4.1",
-        esbuild: "^0.27.2",
-        eslint: "^8.57.1",
-        "eslint-import-resolver-typescript": "^3.8.7",
-        "eslint-plugin-filenames": "^1.3.2",
-        "eslint-plugin-github": "^5.1.8",
-        "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
-        "eslint-plugin-no-async-foreach": "^0.1.1",
-        glob: "^11.1.0",
-        nock: "^14.0.10",
-        sinon: "^21.0.1",
-        typescript: "^5.9.3"
-      },
-      overrides: {
-        "@actions/tool-cache": {
-          semver: ">=6.3.1"
-        },
-        "@octokit/request-error": {
-          semver: ">=5.1.1"
-        },
-        "@octokit/request": {
-          semver: ">=8.4.1"
-        },
-        "@octokit/plugin-paginate-rest": {
-          semver: ">=9.2.2"
-        },
-        "eslint-plugin-import": {
-          semver: ">=6.3.1"
-        },
-        "eslint-plugin-jsx-a11y": {
-          semver: ">=6.3.1"
-        },
-        "brace-expansion@2.0.1": "2.0.2",
-        glob: "^11.1.0"
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js
+var require_userAgent = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
+    exports2.getUserAgentValue = getUserAgentValue;
+    var userAgentPlatform_js_1 = require_userAgentPlatform();
+    var constants_js_1 = require_constants12();
+    function getUserAgentString(telemetryInfo) {
+      const parts = [];
+      for (const [key, value] of telemetryInfo) {
+        const token = value ? `${key}/${value}` : key;
+        parts.push(token);
       }
-    };
+      return parts.join(" ");
+    }
+    function getUserAgentHeaderName() {
+      return (0, userAgentPlatform_js_1.getHeaderName)();
+    }
+    async function getUserAgentValue(prefix) {
+      const runtimeInfo = /* @__PURE__ */ new Map();
+      runtimeInfo.set("ts-http-runtime", constants_js_1.SDK_VERSION);
+      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
+      const defaultAgent = getUserAgentString(runtimeInfo);
+      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
+      return userAgentValue;
+    }
   }
 });
 
-// node_modules/bottleneck/light.js
-var require_light = __commonJS({
-  "node_modules/bottleneck/light.js"(exports2, module2) {
-    (function(global2, factory) {
-      typeof exports2 === "object" && typeof module2 !== "undefined" ? module2.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global2.Bottleneck = factory();
-    })(exports2, (function() {
-      "use strict";
-      var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
-      function getCjsExportFromNamespace(n) {
-        return n && n["default"] || n;
-      }
-      var load2 = function(received, defaults, onto = {}) {
-        var k, ref, v;
-        for (k in defaults) {
-          v = defaults[k];
-          onto[k] = (ref = received[k]) != null ? ref : v;
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js
+var require_userAgentPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.userAgentPolicyName = void 0;
+    exports2.userAgentPolicy = userAgentPolicy;
+    var userAgent_js_1 = require_userAgent();
+    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
+    exports2.userAgentPolicyName = "userAgentPolicy";
+    function userAgentPolicy(options = {}) {
+      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
+      return {
+        name: exports2.userAgentPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.headers.has(UserAgentHeaderName)) {
+            request2.headers.set(UserAgentHeaderName, await userAgentValue);
+          }
+          return next(request2);
         }
-        return onto;
       };
-      var overwrite = function(received, defaults, onto = {}) {
-        var k, v;
-        for (k in received) {
-          v = received[k];
-          if (defaults[k] !== void 0) {
-            onto[k] = v;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js
+var require_decompressResponsePolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.decompressResponsePolicyName = void 0;
+    exports2.decompressResponsePolicy = decompressResponsePolicy;
+    exports2.decompressResponsePolicyName = "decompressResponsePolicy";
+    function decompressResponsePolicy() {
+      return {
+        name: exports2.decompressResponsePolicyName,
+        async sendRequest(request2, next) {
+          if (request2.method !== "HEAD") {
+            request2.headers.set("Accept-Encoding", "gzip,deflate");
           }
+          return next(request2);
         }
-        return onto;
-      };
-      var parser = {
-        load: load2,
-        overwrite
       };
-      var DLList;
-      DLList = class DLList {
-        constructor(incr, decr) {
-          this.incr = incr;
-          this.decr = decr;
-          this._first = null;
-          this._last = null;
-          this.length = 0;
-        }
-        push(value) {
-          var node;
-          this.length++;
-          if (typeof this.incr === "function") {
-            this.incr();
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js
+var require_random = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
+    function getRandomIntegerInclusive(min, max) {
+      min = Math.ceil(min);
+      max = Math.floor(max);
+      const offset = Math.floor(Math.random() * (max - min + 1));
+      return offset + min;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js
+var require_delay = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.calculateRetryDelay = calculateRetryDelay;
+    var random_js_1 = require_random();
+    function calculateRetryDelay(retryAttempt, config) {
+      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
+      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
+      const retryAfterInMs = clampedDelay / 2 + (0, random_js_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
+      return { retryAfterInMs };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js
+var require_helpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.delay = delay;
+    exports2.parseHeaderValueAsNumber = parseHeaderValueAsNumber;
+    var AbortError_js_1 = require_AbortError();
+    var StandardAbortMessage = "The operation was aborted.";
+    function delay(delayInMs, value, options) {
+      return new Promise((resolve2, reject) => {
+        let timer = void 0;
+        let onAborted = void 0;
+        const rejectOnAbort = () => {
+          return reject(new AbortError_js_1.AbortError(options?.abortErrorMsg ? options?.abortErrorMsg : StandardAbortMessage));
+        };
+        const removeListeners = () => {
+          if (options?.abortSignal && onAborted) {
+            options.abortSignal.removeEventListener("abort", onAborted);
           }
-          node = {
-            value,
-            prev: this._last,
-            next: null
-          };
-          if (this._last != null) {
-            this._last.next = node;
-            this._last = node;
-          } else {
-            this._first = this._last = node;
+        };
+        onAborted = () => {
+          if (timer) {
+            clearTimeout(timer);
           }
-          return void 0;
+          removeListeners();
+          return rejectOnAbort();
+        };
+        if (options?.abortSignal && options.abortSignal.aborted) {
+          return rejectOnAbort();
         }
-        shift() {
-          var value;
-          if (this._first == null) {
-            return;
-          } else {
-            this.length--;
-            if (typeof this.decr === "function") {
-              this.decr();
-            }
-          }
-          value = this._first.value;
-          if ((this._first = this._first.next) != null) {
-            this._first.prev = null;
-          } else {
-            this._last = null;
-          }
-          return value;
+        timer = setTimeout(() => {
+          removeListeners();
+          resolve2(value);
+        }, delayInMs);
+        if (options?.abortSignal) {
+          options.abortSignal.addEventListener("abort", onAborted);
         }
-        first() {
-          if (this._first != null) {
-            return this._first.value;
+      });
+    }
+    function parseHeaderValueAsNumber(response, headerName) {
+      const value = response.headers.get(headerName);
+      if (!value)
+        return;
+      const valueAsNum = Number(value);
+      if (Number.isNaN(valueAsNum))
+        return;
+      return valueAsNum;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js
+var require_throttlingRetryStrategy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isThrottlingRetryResponse = isThrottlingRetryResponse;
+    exports2.throttlingRetryStrategy = throttlingRetryStrategy;
+    var helpers_js_1 = require_helpers();
+    var RetryAfterHeader = "Retry-After";
+    var AllRetryAfterHeaders = ["retry-after-ms", "x-ms-retry-after-ms", RetryAfterHeader];
+    function getRetryAfterInMs(response) {
+      if (!(response && [429, 503].includes(response.status)))
+        return void 0;
+      try {
+        for (const header of AllRetryAfterHeaders) {
+          const retryAfterValue = (0, helpers_js_1.parseHeaderValueAsNumber)(response, header);
+          if (retryAfterValue === 0 || retryAfterValue) {
+            const multiplyingFactor = header === RetryAfterHeader ? 1e3 : 1;
+            return retryAfterValue * multiplyingFactor;
           }
         }
-        getArray() {
-          var node, ref, results;
-          node = this._first;
-          results = [];
-          while (node != null) {
-            results.push((ref = node, node = node.next, ref.value));
+        const retryAfterHeader = response.headers.get(RetryAfterHeader);
+        if (!retryAfterHeader)
+          return;
+        const date = Date.parse(retryAfterHeader);
+        const diff = date - Date.now();
+        return Number.isFinite(diff) ? Math.max(0, diff) : void 0;
+      } catch {
+        return void 0;
+      }
+    }
+    function isThrottlingRetryResponse(response) {
+      return Number.isFinite(getRetryAfterInMs(response));
+    }
+    function throttlingRetryStrategy() {
+      return {
+        name: "throttlingRetryStrategy",
+        retry({ response }) {
+          const retryAfterInMs = getRetryAfterInMs(response);
+          if (!Number.isFinite(retryAfterInMs)) {
+            return { skipStrategy: true };
           }
-          return results;
+          return {
+            retryAfterInMs
+          };
         }
-        forEachShift(cb) {
-          var node;
-          node = this.shift();
-          while (node != null) {
-            cb(node), node = this.shift();
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js
+var require_exponentialRetryStrategy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.exponentialRetryStrategy = exponentialRetryStrategy;
+    exports2.isExponentialRetryResponse = isExponentialRetryResponse;
+    exports2.isSystemError = isSystemError;
+    var delay_js_1 = require_delay();
+    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
+    var DEFAULT_CLIENT_RETRY_INTERVAL = 1e3;
+    var DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1e3 * 64;
+    function exponentialRetryStrategy(options = {}) {
+      const retryInterval = options.retryDelayInMs ?? DEFAULT_CLIENT_RETRY_INTERVAL;
+      const maxRetryInterval = options.maxRetryDelayInMs ?? DEFAULT_CLIENT_MAX_RETRY_INTERVAL;
+      return {
+        name: "exponentialRetryStrategy",
+        retry({ retryCount, response, responseError }) {
+          const matchedSystemError = isSystemError(responseError);
+          const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors;
+          const isExponential = isExponentialRetryResponse(response);
+          const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes;
+          const unknownResponse = response && ((0, throttlingRetryStrategy_js_1.isThrottlingRetryResponse)(response) || !isExponential);
+          if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) {
+            return { skipStrategy: true };
           }
-          return void 0;
-        }
-        debug() {
-          var node, ref, ref1, ref2, results;
-          node = this._first;
-          results = [];
-          while (node != null) {
-            results.push((ref = node, node = node.next, {
-              value: ref.value,
-              prev: (ref1 = ref.prev) != null ? ref1.value : void 0,
-              next: (ref2 = ref.next) != null ? ref2.value : void 0
-            }));
+          if (responseError && !matchedSystemError && !isExponential) {
+            return { errorToThrow: responseError };
           }
-          return results;
+          return (0, delay_js_1.calculateRetryDelay)(retryCount, {
+            retryDelayInMs: retryInterval,
+            maxRetryDelayInMs: maxRetryInterval
+          });
         }
       };
-      var DLList_1 = DLList;
-      var Events;
-      Events = class Events {
-        constructor(instance) {
-          this.instance = instance;
-          this._events = {};
-          if (this.instance.on != null || this.instance.once != null || this.instance.removeAllListeners != null) {
-            throw new Error("An Emitter already exists for this object");
-          }
-          this.instance.on = (name, cb) => {
-            return this._addListener(name, "many", cb);
-          };
-          this.instance.once = (name, cb) => {
-            return this._addListener(name, "once", cb);
-          };
-          this.instance.removeAllListeners = (name = null) => {
-            if (name != null) {
-              return delete this._events[name];
-            } else {
-              return this._events = {};
+    }
+    function isExponentialRetryResponse(response) {
+      return Boolean(response && response.status !== void 0 && (response.status >= 500 || response.status === 408) && response.status !== 501 && response.status !== 505);
+    }
+    function isSystemError(err) {
+      if (!err) {
+        return false;
+      }
+      return err.code === "ETIMEDOUT" || err.code === "ESOCKETTIMEDOUT" || err.code === "ECONNREFUSED" || err.code === "ECONNRESET" || err.code === "ENOENT" || err.code === "ENOTFOUND";
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js
+var require_retryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.retryPolicy = retryPolicy;
+    var helpers_js_1 = require_helpers();
+    var AbortError_js_1 = require_AbortError();
+    var logger_js_1 = require_logger();
+    var constants_js_1 = require_constants12();
+    var retryPolicyLogger = (0, logger_js_1.createClientLogger)("ts-http-runtime retryPolicy");
+    var retryPolicyName = "retryPolicy";
+    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
+      const logger = options.logger || retryPolicyLogger;
+      return {
+        name: retryPolicyName,
+        async sendRequest(request2, next) {
+          let response;
+          let responseError;
+          let retryCount = -1;
+          retryRequest: while (true) {
+            retryCount += 1;
+            response = void 0;
+            responseError = void 0;
+            try {
+              logger.info(`Retry ${retryCount}: Attempting to send request`, request2.requestId);
+              response = await next(request2);
+              logger.info(`Retry ${retryCount}: Received a response from request`, request2.requestId);
+            } catch (e) {
+              logger.error(`Retry ${retryCount}: Received an error from request`, request2.requestId);
+              responseError = e;
+              if (!e || responseError.name !== "RestError") {
+                throw e;
+              }
+              response = responseError.response;
             }
-          };
-        }
-        _addListener(name, status, cb) {
-          var base;
-          if ((base = this._events)[name] == null) {
-            base[name] = [];
-          }
-          this._events[name].push({ cb, status });
-          return this.instance;
-        }
-        listenerCount(name) {
-          if (this._events[name] != null) {
-            return this._events[name].length;
-          } else {
-            return 0;
-          }
-        }
-        async trigger(name, ...args) {
-          var e, promises2;
-          try {
-            if (name !== "debug") {
-              this.trigger("debug", `Event triggered: ${name}`, args);
+            if (request2.abortSignal?.aborted) {
+              logger.error(`Retry ${retryCount}: Request aborted.`);
+              const abortError = new AbortError_js_1.AbortError();
+              throw abortError;
             }
-            if (this._events[name] == null) {
-              return;
+            if (retryCount >= (options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT)) {
+              logger.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`);
+              if (responseError) {
+                throw responseError;
+              } else if (response) {
+                return response;
+              } else {
+                throw new Error("Maximum retries reached with no response or error to throw");
+              }
             }
-            this._events[name] = this._events[name].filter(function(listener) {
-              return listener.status !== "none";
-            });
-            promises2 = this._events[name].map(async (listener) => {
-              var e2, returned;
-              if (listener.status === "none") {
-                return;
+            logger.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`);
+            strategiesLoop: for (const strategy of strategies) {
+              const strategyLogger = strategy.logger || logger;
+              strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`);
+              const modifiers = strategy.retry({
+                retryCount,
+                response,
+                responseError
+              });
+              if (modifiers.skipStrategy) {
+                strategyLogger.info(`Retry ${retryCount}: Skipped.`);
+                continue strategiesLoop;
               }
-              if (listener.status === "once") {
-                listener.status = "none";
+              const { errorToThrow, retryAfterInMs, redirectTo } = modifiers;
+              if (errorToThrow) {
+                strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow);
+                throw errorToThrow;
               }
-              try {
-                returned = typeof listener.cb === "function" ? listener.cb(...args) : void 0;
-                if (typeof (returned != null ? returned.then : void 0) === "function") {
-                  return await returned;
-                } else {
-                  return returned;
-                }
-              } catch (error3) {
-                e2 = error3;
-                {
-                  this.trigger("error", e2);
-                }
-                return null;
+              if (retryAfterInMs || retryAfterInMs === 0) {
+                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`);
+                await (0, helpers_js_1.delay)(retryAfterInMs, void 0, { abortSignal: request2.abortSignal });
+                continue retryRequest;
+              }
+              if (redirectTo) {
+                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`);
+                request2.url = redirectTo;
+                continue retryRequest;
               }
-            });
-            return (await Promise.all(promises2)).find(function(x) {
-              return x != null;
-            });
-          } catch (error3) {
-            e = error3;
-            {
-              this.trigger("error", e);
             }
-            return null;
+            if (responseError) {
+              logger.info(`None of the retry strategies could work with the received error. Throwing it.`);
+              throw responseError;
+            }
+            if (response) {
+              logger.info(`None of the retry strategies could work with the received response. Returning it.`);
+              return response;
+            }
           }
         }
       };
-      var Events_1 = Events;
-      var DLList$1, Events$1, Queues;
-      DLList$1 = DLList_1;
-      Events$1 = Events_1;
-      Queues = class Queues {
-        constructor(num_priorities) {
-          var i;
-          this.Events = new Events$1(this);
-          this._length = 0;
-          this._lists = (function() {
-            var j, ref, results;
-            results = [];
-            for (i = j = 1, ref = num_priorities; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {
-              results.push(new DLList$1((() => {
-                return this.incr();
-              }), (() => {
-                return this.decr();
-              })));
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js
+var require_defaultRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.defaultRetryPolicyName = void 0;
+    exports2.defaultRetryPolicy = defaultRetryPolicy;
+    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
+    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants12();
+    exports2.defaultRetryPolicyName = "defaultRetryPolicy";
+    function defaultRetryPolicy(options = {}) {
+      return {
+        name: exports2.defaultRetryPolicyName,
+        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)(), (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)(options)], {
+          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+        }).sendRequest
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js
+var require_checkEnvironment = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isDeno = exports2.isWebWorker = exports2.isBrowser = void 0;
+    exports2.isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
+    exports2.isWebWorker = typeof self === "object" && typeof self?.importScripts === "function" && (self.constructor?.name === "DedicatedWorkerGlobalScope" || self.constructor?.name === "ServiceWorkerGlobalScope" || self.constructor?.name === "SharedWorkerGlobalScope");
+    exports2.isDeno = typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined";
+    exports2.isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined";
+    exports2.isNodeLike = typeof globalThis.process !== "undefined" && Boolean(globalThis.process.version) && Boolean(globalThis.process.versions?.node);
+    exports2.isNodeRuntime = exports2.isNodeLike && !exports2.isBun && !exports2.isDeno;
+    exports2.isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative";
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js
+var require_formDataPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.formDataPolicyName = void 0;
+    exports2.formDataPolicy = formDataPolicy;
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    var httpHeaders_js_1 = require_httpHeaders();
+    exports2.formDataPolicyName = "formDataPolicy";
+    function formDataToFormDataMap(formData) {
+      const formDataMap = {};
+      for (const [key, value] of formData.entries()) {
+        formDataMap[key] ??= [];
+        formDataMap[key].push(value);
+      }
+      return formDataMap;
+    }
+    function formDataPolicy() {
+      return {
+        name: exports2.formDataPolicyName,
+        async sendRequest(request2, next) {
+          if (checkEnvironment_js_1.isNodeLike && typeof FormData !== "undefined" && request2.body instanceof FormData) {
+            request2.formData = formDataToFormDataMap(request2.body);
+            request2.body = void 0;
+          }
+          if (request2.formData) {
+            const contentType = request2.headers.get("Content-Type");
+            if (contentType && contentType.indexOf("application/x-www-form-urlencoded") !== -1) {
+              request2.body = wwwFormUrlEncode(request2.formData);
+            } else {
+              await prepareFormData(request2.formData, request2);
             }
-            return results;
-          }).call(this);
+            request2.formData = void 0;
+          }
+          return next(request2);
         }
-        incr() {
-          if (this._length++ === 0) {
-            return this.Events.trigger("leftzero");
+      };
+    }
+    function wwwFormUrlEncode(formData) {
+      const urlSearchParams = new URLSearchParams();
+      for (const [key, value] of Object.entries(formData)) {
+        if (Array.isArray(value)) {
+          for (const subValue of value) {
+            urlSearchParams.append(key, subValue.toString());
+          }
+        } else {
+          urlSearchParams.append(key, value.toString());
+        }
+      }
+      return urlSearchParams.toString();
+    }
+    async function prepareFormData(formData, request2) {
+      const contentType = request2.headers.get("Content-Type");
+      if (contentType && !contentType.startsWith("multipart/form-data")) {
+        return;
+      }
+      request2.headers.set("Content-Type", contentType ?? "multipart/form-data");
+      const parts = [];
+      for (const [fieldName, values] of Object.entries(formData)) {
+        for (const value of Array.isArray(values) ? values : [values]) {
+          if (typeof value === "string") {
+            parts.push({
+              headers: (0, httpHeaders_js_1.createHttpHeaders)({
+                "Content-Disposition": `form-data; name="${fieldName}"`
+              }),
+              body: (0, bytesEncoding_js_1.stringToUint8Array)(value, "utf-8")
+            });
+          } else if (value === void 0 || value === null || typeof value !== "object") {
+            throw new Error(`Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`);
+          } else {
+            const fileName = value.name || "blob";
+            const headers = (0, httpHeaders_js_1.createHttpHeaders)();
+            headers.set("Content-Disposition", `form-data; name="${fieldName}"; filename="${fileName}"`);
+            headers.set("Content-Type", value.type || "application/octet-stream");
+            parts.push({
+              headers,
+              body: value
+            });
           }
         }
-        decr() {
-          if (--this._length === 0) {
-            return this.Events.trigger("zero");
+      }
+      request2.multipartBody = { parts };
+    }
+  }
+});
+
+// node_modules/ms/index.js
+var require_ms = __commonJS({
+  "node_modules/ms/index.js"(exports2, module2) {
+    var s = 1e3;
+    var m = s * 60;
+    var h = m * 60;
+    var d = h * 24;
+    var w = d * 7;
+    var y = d * 365.25;
+    module2.exports = function(val, options) {
+      options = options || {};
+      var type2 = typeof val;
+      if (type2 === "string" && val.length > 0) {
+        return parse2(val);
+      } else if (type2 === "number" && isFinite(val)) {
+        return options.long ? fmtLong(val) : fmtShort(val);
+      }
+      throw new Error(
+        "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
+      );
+    };
+    function parse2(str2) {
+      str2 = String(str2);
+      if (str2.length > 100) {
+        return;
+      }
+      var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
+        str2
+      );
+      if (!match) {
+        return;
+      }
+      var n = parseFloat(match[1]);
+      var type2 = (match[2] || "ms").toLowerCase();
+      switch (type2) {
+        case "years":
+        case "year":
+        case "yrs":
+        case "yr":
+        case "y":
+          return n * y;
+        case "weeks":
+        case "week":
+        case "w":
+          return n * w;
+        case "days":
+        case "day":
+        case "d":
+          return n * d;
+        case "hours":
+        case "hour":
+        case "hrs":
+        case "hr":
+        case "h":
+          return n * h;
+        case "minutes":
+        case "minute":
+        case "mins":
+        case "min":
+        case "m":
+          return n * m;
+        case "seconds":
+        case "second":
+        case "secs":
+        case "sec":
+        case "s":
+          return n * s;
+        case "milliseconds":
+        case "millisecond":
+        case "msecs":
+        case "msec":
+        case "ms":
+          return n;
+        default:
+          return void 0;
+      }
+    }
+    function fmtShort(ms) {
+      var msAbs = Math.abs(ms);
+      if (msAbs >= d) {
+        return Math.round(ms / d) + "d";
+      }
+      if (msAbs >= h) {
+        return Math.round(ms / h) + "h";
+      }
+      if (msAbs >= m) {
+        return Math.round(ms / m) + "m";
+      }
+      if (msAbs >= s) {
+        return Math.round(ms / s) + "s";
+      }
+      return ms + "ms";
+    }
+    function fmtLong(ms) {
+      var msAbs = Math.abs(ms);
+      if (msAbs >= d) {
+        return plural(ms, msAbs, d, "day");
+      }
+      if (msAbs >= h) {
+        return plural(ms, msAbs, h, "hour");
+      }
+      if (msAbs >= m) {
+        return plural(ms, msAbs, m, "minute");
+      }
+      if (msAbs >= s) {
+        return plural(ms, msAbs, s, "second");
+      }
+      return ms + " ms";
+    }
+    function plural(ms, msAbs, n, name) {
+      var isPlural = msAbs >= n * 1.5;
+      return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
+    }
+  }
+});
+
+// node_modules/debug/src/common.js
+var require_common = __commonJS({
+  "node_modules/debug/src/common.js"(exports2, module2) {
+    function setup(env) {
+      createDebug.debug = createDebug;
+      createDebug.default = createDebug;
+      createDebug.coerce = coerce3;
+      createDebug.disable = disable;
+      createDebug.enable = enable;
+      createDebug.enabled = enabled;
+      createDebug.humanize = require_ms();
+      createDebug.destroy = destroy;
+      Object.keys(env).forEach((key) => {
+        createDebug[key] = env[key];
+      });
+      createDebug.names = [];
+      createDebug.skips = [];
+      createDebug.formatters = {};
+      function selectColor(namespace) {
+        let hash = 0;
+        for (let i = 0; i < namespace.length; i++) {
+          hash = (hash << 5) - hash + namespace.charCodeAt(i);
+          hash |= 0;
+        }
+        return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
+      }
+      createDebug.selectColor = selectColor;
+      function createDebug(namespace) {
+        let prevTime;
+        let enableOverride = null;
+        let namespacesCache;
+        let enabledCache;
+        function debug4(...args) {
+          if (!debug4.enabled) {
+            return;
           }
-        }
-        push(job) {
-          return this._lists[job.options.priority].push(job);
-        }
-        queued(priority) {
-          if (priority != null) {
-            return this._lists[priority].length;
-          } else {
-            return this._length;
+          const self2 = debug4;
+          const curr = Number(/* @__PURE__ */ new Date());
+          const ms = curr - (prevTime || curr);
+          self2.diff = ms;
+          self2.prev = prevTime;
+          self2.curr = curr;
+          prevTime = curr;
+          args[0] = createDebug.coerce(args[0]);
+          if (typeof args[0] !== "string") {
+            args.unshift("%O");
           }
-        }
-        shiftAll(fn) {
-          return this._lists.forEach(function(list) {
-            return list.forEachShift(fn);
+          let index = 0;
+          args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
+            if (match === "%%") {
+              return "%";
+            }
+            index++;
+            const formatter = createDebug.formatters[format];
+            if (typeof formatter === "function") {
+              const val = args[index];
+              match = formatter.call(self2, val);
+              args.splice(index, 1);
+              index--;
+            }
+            return match;
           });
+          createDebug.formatArgs.call(self2, args);
+          const logFn = self2.log || createDebug.log;
+          logFn.apply(self2, args);
         }
-        getFirst(arr = this._lists) {
-          var j, len, list;
-          for (j = 0, len = arr.length; j < len; j++) {
-            list = arr[j];
-            if (list.length > 0) {
-              return list;
+        debug4.namespace = namespace;
+        debug4.useColors = createDebug.useColors();
+        debug4.color = createDebug.selectColor(namespace);
+        debug4.extend = extend3;
+        debug4.destroy = createDebug.destroy;
+        Object.defineProperty(debug4, "enabled", {
+          enumerable: true,
+          configurable: false,
+          get: () => {
+            if (enableOverride !== null) {
+              return enableOverride;
             }
+            if (namespacesCache !== createDebug.namespaces) {
+              namespacesCache = createDebug.namespaces;
+              enabledCache = createDebug.enabled(namespace);
+            }
+            return enabledCache;
+          },
+          set: (v) => {
+            enableOverride = v;
           }
-          return [];
-        }
-        shiftLastFrom(priority) {
-          return this.getFirst(this._lists.slice(priority).reverse()).shift();
-        }
-      };
-      var Queues_1 = Queues;
-      var BottleneckError;
-      BottleneckError = class BottleneckError extends Error {
-      };
-      var BottleneckError_1 = BottleneckError;
-      var BottleneckError$1, DEFAULT_PRIORITY, Job, NUM_PRIORITIES, parser$1;
-      NUM_PRIORITIES = 10;
-      DEFAULT_PRIORITY = 5;
-      parser$1 = parser;
-      BottleneckError$1 = BottleneckError_1;
-      Job = class Job {
-        constructor(task, args, options, jobDefaults, rejectOnDrop, Events2, _states, Promise2) {
-          this.task = task;
-          this.args = args;
-          this.rejectOnDrop = rejectOnDrop;
-          this.Events = Events2;
-          this._states = _states;
-          this.Promise = Promise2;
-          this.options = parser$1.load(options, jobDefaults);
-          this.options.priority = this._sanitizePriority(this.options.priority);
-          if (this.options.id === jobDefaults.id) {
-            this.options.id = `${this.options.id}-${this._randomIndex()}`;
-          }
-          this.promise = new this.Promise((_resolve, _reject) => {
-            this._resolve = _resolve;
-            this._reject = _reject;
-          });
-          this.retryCount = 0;
+        });
+        if (typeof createDebug.init === "function") {
+          createDebug.init(debug4);
         }
-        _sanitizePriority(priority) {
-          var sProperty;
-          sProperty = ~~priority !== priority ? DEFAULT_PRIORITY : priority;
-          if (sProperty < 0) {
-            return 0;
-          } else if (sProperty > NUM_PRIORITIES - 1) {
-            return NUM_PRIORITIES - 1;
+        return debug4;
+      }
+      function extend3(namespace, delimiter) {
+        const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
+        newDebug.log = this.log;
+        return newDebug;
+      }
+      function enable(namespaces) {
+        createDebug.save(namespaces);
+        createDebug.namespaces = namespaces;
+        createDebug.names = [];
+        createDebug.skips = [];
+        const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
+        for (const ns of split) {
+          if (ns[0] === "-") {
+            createDebug.skips.push(ns.slice(1));
           } else {
-            return sProperty;
+            createDebug.names.push(ns);
           }
         }
-        _randomIndex() {
-          return Math.random().toString(36).slice(2);
-        }
-        doDrop({ error: error3, message = "This job has been dropped by Bottleneck" } = {}) {
-          if (this._states.remove(this.options.id)) {
-            if (this.rejectOnDrop) {
-              this._reject(error3 != null ? error3 : new BottleneckError$1(message));
+      }
+      function matchesTemplate(search, template) {
+        let searchIndex = 0;
+        let templateIndex = 0;
+        let starIndex = -1;
+        let matchIndex = 0;
+        while (searchIndex < search.length) {
+          if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
+            if (template[templateIndex] === "*") {
+              starIndex = templateIndex;
+              matchIndex = searchIndex;
+              templateIndex++;
+            } else {
+              searchIndex++;
+              templateIndex++;
             }
-            this.Events.trigger("dropped", { args: this.args, options: this.options, task: this.task, promise: this.promise });
-            return true;
+          } else if (starIndex !== -1) {
+            templateIndex = starIndex + 1;
+            matchIndex++;
+            searchIndex = matchIndex;
           } else {
             return false;
           }
         }
-        _assertStatus(expected) {
-          var status;
-          status = this._states.jobStatus(this.options.id);
-          if (!(status === expected || expected === "DONE" && status === null)) {
-            throw new BottleneckError$1(`Invalid job status ${status}, expected ${expected}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`);
-          }
-        }
-        doReceive() {
-          this._states.start(this.options.id);
-          return this.Events.trigger("received", { args: this.args, options: this.options });
-        }
-        doQueue(reachedHWM, blocked) {
-          this._assertStatus("RECEIVED");
-          this._states.next(this.options.id);
-          return this.Events.trigger("queued", { args: this.args, options: this.options, reachedHWM, blocked });
-        }
-        doRun() {
-          if (this.retryCount === 0) {
-            this._assertStatus("QUEUED");
-            this._states.next(this.options.id);
-          } else {
-            this._assertStatus("EXECUTING");
-          }
-          return this.Events.trigger("scheduled", { args: this.args, options: this.options });
+        while (templateIndex < template.length && template[templateIndex] === "*") {
+          templateIndex++;
         }
-        async doExecute(chained, clearGlobalState, run, free) {
-          var error3, eventInfo, passed;
-          if (this.retryCount === 0) {
-            this._assertStatus("RUNNING");
-            this._states.next(this.options.id);
-          } else {
-            this._assertStatus("EXECUTING");
-          }
-          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
-          this.Events.trigger("executing", eventInfo);
-          try {
-            passed = await (chained != null ? chained.schedule(this.options, this.task, ...this.args) : this.task(...this.args));
-            if (clearGlobalState()) {
-              this.doDone(eventInfo);
-              await free(this.options, eventInfo);
-              this._assertStatus("DONE");
-              return this._resolve(passed);
-            }
-          } catch (error1) {
-            error3 = error1;
-            return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
+        return templateIndex === template.length;
+      }
+      function disable() {
+        const namespaces = [
+          ...createDebug.names,
+          ...createDebug.skips.map((namespace) => "-" + namespace)
+        ].join(",");
+        createDebug.enable("");
+        return namespaces;
+      }
+      function enabled(name) {
+        for (const skip of createDebug.skips) {
+          if (matchesTemplate(name, skip)) {
+            return false;
           }
         }
-        doExpire(clearGlobalState, run, free) {
-          var error3, eventInfo;
-          if (this._states.jobStatus(this.options.id === "RUNNING")) {
-            this._states.next(this.options.id);
+        for (const ns of createDebug.names) {
+          if (matchesTemplate(name, ns)) {
+            return true;
           }
-          this._assertStatus("EXECUTING");
-          eventInfo = { args: this.args, options: this.options, retryCount: this.retryCount };
-          error3 = new BottleneckError$1(`This job timed out after ${this.options.expiration} ms.`);
-          return this._onFailure(error3, eventInfo, clearGlobalState, run, free);
         }
-        async _onFailure(error3, eventInfo, clearGlobalState, run, free) {
-          var retry2, retryAfter;
-          if (clearGlobalState()) {
-            retry2 = await this.Events.trigger("failed", error3, eventInfo);
-            if (retry2 != null) {
-              retryAfter = ~~retry2;
-              this.Events.trigger("retry", `Retrying ${this.options.id} after ${retryAfter} ms`, eventInfo);
-              this.retryCount++;
-              return run(retryAfter);
-            } else {
-              this.doDone(eventInfo);
-              await free(this.options, eventInfo);
-              this._assertStatus("DONE");
-              return this._reject(error3);
-            }
-          }
+        return false;
+      }
+      function coerce3(val) {
+        if (val instanceof Error) {
+          return val.stack || val.message;
         }
-        doDone(eventInfo) {
-          this._assertStatus("EXECUTING");
-          this._states.next(this.options.id);
-          return this.Events.trigger("done", eventInfo);
+        return val;
+      }
+      function destroy() {
+        console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
+      }
+      createDebug.enable(createDebug.load());
+      return createDebug;
+    }
+    module2.exports = setup;
+  }
+});
+
+// node_modules/debug/src/browser.js
+var require_browser = __commonJS({
+  "node_modules/debug/src/browser.js"(exports2, module2) {
+    exports2.formatArgs = formatArgs;
+    exports2.save = save;
+    exports2.load = load2;
+    exports2.useColors = useColors;
+    exports2.storage = localstorage();
+    exports2.destroy = /* @__PURE__ */ (() => {
+      let warned = false;
+      return () => {
+        if (!warned) {
+          warned = true;
+          console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
         }
       };
-      var Job_1 = Job;
-      var BottleneckError$2, LocalDatastore, parser$2;
-      parser$2 = parser;
-      BottleneckError$2 = BottleneckError_1;
-      LocalDatastore = class LocalDatastore {
-        constructor(instance, storeOptions, storeInstanceOptions) {
-          this.instance = instance;
-          this.storeOptions = storeOptions;
-          this.clientId = this.instance._randomIndex();
-          parser$2.load(storeInstanceOptions, storeInstanceOptions, this);
-          this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now();
-          this._running = 0;
-          this._done = 0;
-          this._unblockTime = 0;
-          this.ready = this.Promise.resolve();
-          this.clients = {};
-          this._startHeartbeat();
-        }
-        _startHeartbeat() {
-          var base;
-          if (this.heartbeat == null && (this.storeOptions.reservoirRefreshInterval != null && this.storeOptions.reservoirRefreshAmount != null || this.storeOptions.reservoirIncreaseInterval != null && this.storeOptions.reservoirIncreaseAmount != null)) {
-            return typeof (base = this.heartbeat = setInterval(() => {
-              var amount, incr, maximum, now, reservoir;
-              now = Date.now();
-              if (this.storeOptions.reservoirRefreshInterval != null && now >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) {
-                this._lastReservoirRefresh = now;
-                this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount;
-                this.instance._drainAll(this.computeCapacity());
-              }
-              if (this.storeOptions.reservoirIncreaseInterval != null && now >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) {
-                ({
-                  reservoirIncreaseAmount: amount,
-                  reservoirIncreaseMaximum: maximum,
-                  reservoir
-                } = this.storeOptions);
-                this._lastReservoirIncrease = now;
-                incr = maximum != null ? Math.min(amount, maximum - reservoir) : amount;
-                if (incr > 0) {
-                  this.storeOptions.reservoir += incr;
-                  return this.instance._drainAll(this.computeCapacity());
-                }
-              }
-            }, this.heartbeatInterval)).unref === "function" ? base.unref() : void 0;
-          } else {
-            return clearInterval(this.heartbeat);
-          }
-        }
-        async __publish__(message) {
-          await this.yieldLoop();
-          return this.instance.Events.trigger("message", message.toString());
-        }
-        async __disconnect__(flush) {
-          await this.yieldLoop();
-          clearInterval(this.heartbeat);
-          return this.Promise.resolve();
-        }
-        yieldLoop(t = 0) {
-          return new this.Promise(function(resolve2, reject) {
-            return setTimeout(resolve2, t);
-          });
-        }
-        computePenalty() {
-          var ref;
-          return (ref = this.storeOptions.penalty) != null ? ref : 15 * this.storeOptions.minTime || 5e3;
-        }
-        async __updateSettings__(options) {
-          await this.yieldLoop();
-          parser$2.overwrite(options, options, this.storeOptions);
-          this._startHeartbeat();
-          this.instance._drainAll(this.computeCapacity());
-          return true;
-        }
-        async __running__() {
-          await this.yieldLoop();
-          return this._running;
-        }
-        async __queued__() {
-          await this.yieldLoop();
-          return this.instance.queued();
-        }
-        async __done__() {
-          await this.yieldLoop();
-          return this._done;
-        }
-        async __groupCheck__(time) {
-          await this.yieldLoop();
-          return this._nextRequest + this.timeout < time;
-        }
-        computeCapacity() {
-          var maxConcurrent, reservoir;
-          ({ maxConcurrent, reservoir } = this.storeOptions);
-          if (maxConcurrent != null && reservoir != null) {
-            return Math.min(maxConcurrent - this._running, reservoir);
-          } else if (maxConcurrent != null) {
-            return maxConcurrent - this._running;
-          } else if (reservoir != null) {
-            return reservoir;
-          } else {
-            return null;
-          }
-        }
-        conditionsCheck(weight) {
-          var capacity;
-          capacity = this.computeCapacity();
-          return capacity == null || weight <= capacity;
-        }
-        async __incrementReservoir__(incr) {
-          var reservoir;
-          await this.yieldLoop();
-          reservoir = this.storeOptions.reservoir += incr;
-          this.instance._drainAll(this.computeCapacity());
-          return reservoir;
-        }
-        async __currentReservoir__() {
-          await this.yieldLoop();
-          return this.storeOptions.reservoir;
-        }
-        isBlocked(now) {
-          return this._unblockTime >= now;
-        }
-        check(weight, now) {
-          return this.conditionsCheck(weight) && this._nextRequest - now <= 0;
-        }
-        async __check__(weight) {
-          var now;
-          await this.yieldLoop();
-          now = Date.now();
-          return this.check(weight, now);
-        }
-        async __register__(index, weight, expiration) {
-          var now, wait;
-          await this.yieldLoop();
-          now = Date.now();
-          if (this.conditionsCheck(weight)) {
-            this._running += weight;
-            if (this.storeOptions.reservoir != null) {
-              this.storeOptions.reservoir -= weight;
-            }
-            wait = Math.max(this._nextRequest - now, 0);
-            this._nextRequest = now + wait + this.storeOptions.minTime;
-            return {
-              success: true,
-              wait,
-              reservoir: this.storeOptions.reservoir
-            };
-          } else {
-            return {
-              success: false
-            };
-          }
-        }
-        strategyIsBlock() {
-          return this.storeOptions.strategy === 3;
+    })();
+    exports2.colors = [
+      "#0000CC",
+      "#0000FF",
+      "#0033CC",
+      "#0033FF",
+      "#0066CC",
+      "#0066FF",
+      "#0099CC",
+      "#0099FF",
+      "#00CC00",
+      "#00CC33",
+      "#00CC66",
+      "#00CC99",
+      "#00CCCC",
+      "#00CCFF",
+      "#3300CC",
+      "#3300FF",
+      "#3333CC",
+      "#3333FF",
+      "#3366CC",
+      "#3366FF",
+      "#3399CC",
+      "#3399FF",
+      "#33CC00",
+      "#33CC33",
+      "#33CC66",
+      "#33CC99",
+      "#33CCCC",
+      "#33CCFF",
+      "#6600CC",
+      "#6600FF",
+      "#6633CC",
+      "#6633FF",
+      "#66CC00",
+      "#66CC33",
+      "#9900CC",
+      "#9900FF",
+      "#9933CC",
+      "#9933FF",
+      "#99CC00",
+      "#99CC33",
+      "#CC0000",
+      "#CC0033",
+      "#CC0066",
+      "#CC0099",
+      "#CC00CC",
+      "#CC00FF",
+      "#CC3300",
+      "#CC3333",
+      "#CC3366",
+      "#CC3399",
+      "#CC33CC",
+      "#CC33FF",
+      "#CC6600",
+      "#CC6633",
+      "#CC9900",
+      "#CC9933",
+      "#CCCC00",
+      "#CCCC33",
+      "#FF0000",
+      "#FF0033",
+      "#FF0066",
+      "#FF0099",
+      "#FF00CC",
+      "#FF00FF",
+      "#FF3300",
+      "#FF3333",
+      "#FF3366",
+      "#FF3399",
+      "#FF33CC",
+      "#FF33FF",
+      "#FF6600",
+      "#FF6633",
+      "#FF9900",
+      "#FF9933",
+      "#FFCC00",
+      "#FFCC33"
+    ];
+    function useColors() {
+      if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
+        return true;
+      }
+      if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
+        return false;
+      }
+      let m;
+      return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
+      typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
+      // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
+      typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
+      typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
+    }
+    function formatArgs(args) {
+      args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
+      if (!this.useColors) {
+        return;
+      }
+      const c = "color: " + this.color;
+      args.splice(1, 0, c, "color: inherit");
+      let index = 0;
+      let lastC = 0;
+      args[0].replace(/%[a-zA-Z%]/g, (match) => {
+        if (match === "%%") {
+          return;
         }
-        async __submit__(queueLength, weight) {
-          var blocked, now, reachedHWM;
-          await this.yieldLoop();
-          if (this.storeOptions.maxConcurrent != null && weight > this.storeOptions.maxConcurrent) {
-            throw new BottleneckError$2(`Impossible to add a job having a weight of ${weight} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);
-          }
-          now = Date.now();
-          reachedHWM = this.storeOptions.highWater != null && queueLength === this.storeOptions.highWater && !this.check(weight, now);
-          blocked = this.strategyIsBlock() && (reachedHWM || this.isBlocked(now));
-          if (blocked) {
-            this._unblockTime = now + this.computePenalty();
-            this._nextRequest = this._unblockTime + this.storeOptions.minTime;
-            this.instance._dropAllQueued();
-          }
-          return {
-            reachedHWM,
-            blocked,
-            strategy: this.storeOptions.strategy
-          };
+        index++;
+        if (match === "%c") {
+          lastC = index;
         }
-        async __free__(index, weight) {
-          await this.yieldLoop();
-          this._running -= weight;
-          this._done += weight;
-          this.instance._drainAll(this.computeCapacity());
-          return {
-            running: this._running
-          };
+      });
+      args.splice(lastC, 0, c);
+    }
+    exports2.log = console.debug || console.log || (() => {
+    });
+    function save(namespaces) {
+      try {
+        if (namespaces) {
+          exports2.storage.setItem("debug", namespaces);
+        } else {
+          exports2.storage.removeItem("debug");
         }
+      } catch (error3) {
+      }
+    }
+    function load2() {
+      let r;
+      try {
+        r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG");
+      } catch (error3) {
+      }
+      if (!r && typeof process !== "undefined" && "env" in process) {
+        r = process.env.DEBUG;
+      }
+      return r;
+    }
+    function localstorage() {
+      try {
+        return localStorage;
+      } catch (error3) {
+      }
+    }
+    module2.exports = require_common()(exports2);
+    var { formatters } = module2.exports;
+    formatters.j = function(v) {
+      try {
+        return JSON.stringify(v);
+      } catch (error3) {
+        return "[UnexpectedJSONParseError]: " + error3.message;
+      }
+    };
+  }
+});
+
+// node_modules/has-flag/index.js
+var require_has_flag = __commonJS({
+  "node_modules/has-flag/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports = (flag, argv = process.argv) => {
+      const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
+      const position = argv.indexOf(prefix + flag);
+      const terminatorPosition = argv.indexOf("--");
+      return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
+    };
+  }
+});
+
+// node_modules/supports-color/index.js
+var require_supports_color = __commonJS({
+  "node_modules/supports-color/index.js"(exports2, module2) {
+    "use strict";
+    var os2 = require("os");
+    var tty = require("tty");
+    var hasFlag = require_has_flag();
+    var { env } = process;
+    var forceColor;
+    if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
+      forceColor = 0;
+    } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
+      forceColor = 1;
+    }
+    if ("FORCE_COLOR" in env) {
+      if (env.FORCE_COLOR === "true") {
+        forceColor = 1;
+      } else if (env.FORCE_COLOR === "false") {
+        forceColor = 0;
+      } else {
+        forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
+      }
+    }
+    function translateLevel(level) {
+      if (level === 0) {
+        return false;
+      }
+      return {
+        level,
+        hasBasic: true,
+        has256: level >= 2,
+        has16m: level >= 3
       };
-      var LocalDatastore_1 = LocalDatastore;
-      var BottleneckError$3, States;
-      BottleneckError$3 = BottleneckError_1;
-      States = class States {
-        constructor(status1) {
-          this.status = status1;
-          this._jobs = {};
-          this.counts = this.status.map(function() {
-            return 0;
-          });
+    }
+    function supportsColor(haveStream, streamIsTTY) {
+      if (forceColor === 0) {
+        return 0;
+      }
+      if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
+        return 3;
+      }
+      if (hasFlag("color=256")) {
+        return 2;
+      }
+      if (haveStream && !streamIsTTY && forceColor === void 0) {
+        return 0;
+      }
+      const min = forceColor || 0;
+      if (env.TERM === "dumb") {
+        return min;
+      }
+      if (process.platform === "win32") {
+        const osRelease = os2.release().split(".");
+        if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
+          return Number(osRelease[2]) >= 14931 ? 3 : 2;
         }
-        next(id) {
-          var current, next;
-          current = this._jobs[id];
-          next = current + 1;
-          if (current != null && next < this.status.length) {
-            this.counts[current]--;
-            this.counts[next]++;
-            return this._jobs[id]++;
-          } else if (current != null) {
-            this.counts[current]--;
-            return delete this._jobs[id];
-          }
+        return 1;
+      }
+      if ("CI" in env) {
+        if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
+          return 1;
         }
-        start(id) {
-          var initial;
-          initial = 0;
-          this._jobs[id] = initial;
-          return this.counts[initial]++;
+        return min;
+      }
+      if ("TEAMCITY_VERSION" in env) {
+        return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
+      }
+      if (env.COLORTERM === "truecolor") {
+        return 3;
+      }
+      if ("TERM_PROGRAM" in env) {
+        const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
+        switch (env.TERM_PROGRAM) {
+          case "iTerm.app":
+            return version >= 3 ? 3 : 2;
+          case "Apple_Terminal":
+            return 2;
         }
-        remove(id) {
-          var current;
-          current = this._jobs[id];
-          if (current != null) {
-            this.counts[current]--;
-            delete this._jobs[id];
+      }
+      if (/-256(color)?$/i.test(env.TERM)) {
+        return 2;
+      }
+      if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
+        return 1;
+      }
+      if ("COLORTERM" in env) {
+        return 1;
+      }
+      return min;
+    }
+    function getSupportLevel(stream) {
+      const level = supportsColor(stream, stream && stream.isTTY);
+      return translateLevel(level);
+    }
+    module2.exports = {
+      supportsColor: getSupportLevel,
+      stdout: translateLevel(supportsColor(true, tty.isatty(1))),
+      stderr: translateLevel(supportsColor(true, tty.isatty(2)))
+    };
+  }
+});
+
+// node_modules/debug/src/node.js
+var require_node = __commonJS({
+  "node_modules/debug/src/node.js"(exports2, module2) {
+    var tty = require("tty");
+    var util = require("util");
+    exports2.init = init;
+    exports2.log = log;
+    exports2.formatArgs = formatArgs;
+    exports2.save = save;
+    exports2.load = load2;
+    exports2.useColors = useColors;
+    exports2.destroy = util.deprecate(
+      () => {
+      },
+      "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
+    );
+    exports2.colors = [6, 2, 3, 4, 5, 1];
+    try {
+      const supportsColor = require_supports_color();
+      if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
+        exports2.colors = [
+          20,
+          21,
+          26,
+          27,
+          32,
+          33,
+          38,
+          39,
+          40,
+          41,
+          42,
+          43,
+          44,
+          45,
+          56,
+          57,
+          62,
+          63,
+          68,
+          69,
+          74,
+          75,
+          76,
+          77,
+          78,
+          79,
+          80,
+          81,
+          92,
+          93,
+          98,
+          99,
+          112,
+          113,
+          128,
+          129,
+          134,
+          135,
+          148,
+          149,
+          160,
+          161,
+          162,
+          163,
+          164,
+          165,
+          166,
+          167,
+          168,
+          169,
+          170,
+          171,
+          172,
+          173,
+          178,
+          179,
+          184,
+          185,
+          196,
+          197,
+          198,
+          199,
+          200,
+          201,
+          202,
+          203,
+          204,
+          205,
+          206,
+          207,
+          208,
+          209,
+          214,
+          215,
+          220,
+          221
+        ];
+      }
+    } catch (error3) {
+    }
+    exports2.inspectOpts = Object.keys(process.env).filter((key) => {
+      return /^debug_/i.test(key);
+    }).reduce((obj, key) => {
+      const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k) => {
+        return k.toUpperCase();
+      });
+      let val = process.env[key];
+      if (/^(yes|on|true|enabled)$/i.test(val)) {
+        val = true;
+      } else if (/^(no|off|false|disabled)$/i.test(val)) {
+        val = false;
+      } else if (val === "null") {
+        val = null;
+      } else {
+        val = Number(val);
+      }
+      obj[prop] = val;
+      return obj;
+    }, {});
+    function useColors() {
+      return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd);
+    }
+    function formatArgs(args) {
+      const { namespace: name, useColors: useColors2 } = this;
+      if (useColors2) {
+        const c = this.color;
+        const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
+        const prefix = `  ${colorCode};1m${name} \x1B[0m`;
+        args[0] = prefix + args[0].split("\n").join("\n" + prefix);
+        args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
+      } else {
+        args[0] = getDate() + name + " " + args[0];
+      }
+    }
+    function getDate() {
+      if (exports2.inspectOpts.hideDate) {
+        return "";
+      }
+      return (/* @__PURE__ */ new Date()).toISOString() + " ";
+    }
+    function log(...args) {
+      return process.stderr.write(util.formatWithOptions(exports2.inspectOpts, ...args) + "\n");
+    }
+    function save(namespaces) {
+      if (namespaces) {
+        process.env.DEBUG = namespaces;
+      } else {
+        delete process.env.DEBUG;
+      }
+    }
+    function load2() {
+      return process.env.DEBUG;
+    }
+    function init(debug4) {
+      debug4.inspectOpts = {};
+      const keys = Object.keys(exports2.inspectOpts);
+      for (let i = 0; i < keys.length; i++) {
+        debug4.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
+      }
+    }
+    module2.exports = require_common()(exports2);
+    var { formatters } = module2.exports;
+    formatters.o = function(v) {
+      this.inspectOpts.colors = this.useColors;
+      return util.inspect(v, this.inspectOpts).split("\n").map((str2) => str2.trim()).join(" ");
+    };
+    formatters.O = function(v) {
+      this.inspectOpts.colors = this.useColors;
+      return util.inspect(v, this.inspectOpts);
+    };
+  }
+});
+
+// node_modules/debug/src/index.js
+var require_src = __commonJS({
+  "node_modules/debug/src/index.js"(exports2, module2) {
+    if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
+      module2.exports = require_browser();
+    } else {
+      module2.exports = require_node();
+    }
+  }
+});
+
+// node_modules/agent-base/dist/helpers.js
+var require_helpers2 = __commonJS({
+  "node_modules/agent-base/dist/helpers.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.req = exports2.json = exports2.toBuffer = void 0;
+    var http = __importStar2(require("http"));
+    var https2 = __importStar2(require("https"));
+    async function toBuffer(stream) {
+      let length = 0;
+      const chunks = [];
+      for await (const chunk of stream) {
+        length += chunk.length;
+        chunks.push(chunk);
+      }
+      return Buffer.concat(chunks, length);
+    }
+    exports2.toBuffer = toBuffer;
+    async function json2(stream) {
+      const buf = await toBuffer(stream);
+      const str2 = buf.toString("utf8");
+      try {
+        return JSON.parse(str2);
+      } catch (_err) {
+        const err = _err;
+        err.message += ` (input: ${str2})`;
+        throw err;
+      }
+    }
+    exports2.json = json2;
+    function req(url, opts = {}) {
+      const href = typeof url === "string" ? url : url.href;
+      const req2 = (href.startsWith("https:") ? https2 : http).request(url, opts);
+      const promise = new Promise((resolve2, reject) => {
+        req2.once("response", resolve2).once("error", reject).end();
+      });
+      req2.then = promise.then.bind(promise);
+      return req2;
+    }
+    exports2.req = req;
+  }
+});
+
+// node_modules/agent-base/dist/index.js
+var require_dist = __commonJS({
+  "node_modules/agent-base/dist/index.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
+      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Agent = void 0;
+    var net = __importStar2(require("net"));
+    var http = __importStar2(require("http"));
+    var https_1 = require("https");
+    __exportStar2(require_helpers2(), exports2);
+    var INTERNAL = /* @__PURE__ */ Symbol("AgentBaseInternalState");
+    var Agent = class extends http.Agent {
+      constructor(opts) {
+        super(opts);
+        this[INTERNAL] = {};
+      }
+      /**
+       * Determine whether this is an `http` or `https` request.
+       */
+      isSecureEndpoint(options) {
+        if (options) {
+          if (typeof options.secureEndpoint === "boolean") {
+            return options.secureEndpoint;
           }
-          return current != null;
-        }
-        jobStatus(id) {
-          var ref;
-          return (ref = this.status[this._jobs[id]]) != null ? ref : null;
-        }
-        statusJobs(status) {
-          var k, pos, ref, results, v;
-          if (status != null) {
-            pos = this.status.indexOf(status);
-            if (pos < 0) {
-              throw new BottleneckError$3(`status must be one of ${this.status.join(", ")}`);
-            }
-            ref = this._jobs;
-            results = [];
-            for (k in ref) {
-              v = ref[k];
-              if (v === pos) {
-                results.push(k);
-              }
-            }
-            return results;
-          } else {
-            return Object.keys(this._jobs);
+          if (typeof options.protocol === "string") {
+            return options.protocol === "https:";
           }
         }
-        statusCounts() {
-          return this.counts.reduce(((acc, v, i) => {
-            acc[this.status[i]] = v;
-            return acc;
-          }), {});
-        }
-      };
-      var States_1 = States;
-      var DLList$2, Sync;
-      DLList$2 = DLList_1;
-      Sync = class Sync {
-        constructor(name, Promise2) {
-          this.schedule = this.schedule.bind(this);
-          this.name = name;
-          this.Promise = Promise2;
-          this._running = 0;
-          this._queue = new DLList$2();
-        }
-        isEmpty() {
-          return this._queue.length === 0;
+        const { stack } = new Error();
+        if (typeof stack !== "string")
+          return false;
+        return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
+      }
+      // In order to support async signatures in `connect()` and Node's native
+      // connection pooling in `http.Agent`, the array of sockets for each origin
+      // has to be updated synchronously. This is so the length of the array is
+      // accurate when `addRequest()` is next called. We achieve this by creating a
+      // fake socket and adding it to `sockets[origin]` and incrementing
+      // `totalSocketCount`.
+      incrementSockets(name) {
+        if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
+          return null;
         }
-        async _tryToRun() {
-          var args, cb, error3, reject, resolve2, returned, task;
-          if (this._running < 1 && this._queue.length > 0) {
-            this._running++;
-            ({ task, args, resolve: resolve2, reject } = this._queue.shift());
-            cb = await (async function() {
-              try {
-                returned = await task(...args);
-                return function() {
-                  return resolve2(returned);
-                };
-              } catch (error1) {
-                error3 = error1;
-                return function() {
-                  return reject(error3);
-                };
-              }
-            })();
-            this._running--;
-            this._tryToRun();
-            return cb();
-          }
+        if (!this.sockets[name]) {
+          this.sockets[name] = [];
         }
-        schedule(task, ...args) {
-          var promise, reject, resolve2;
-          resolve2 = reject = null;
-          promise = new this.Promise(function(_resolve, _reject) {
-            resolve2 = _resolve;
-            return reject = _reject;
-          });
-          this._queue.push({ task, args, resolve: resolve2, reject });
-          this._tryToRun();
-          return promise;
+        const fakeSocket = new net.Socket({ writable: false });
+        this.sockets[name].push(fakeSocket);
+        this.totalSocketCount++;
+        return fakeSocket;
+      }
+      decrementSockets(name, socket) {
+        if (!this.sockets[name] || socket === null) {
+          return;
         }
-      };
-      var Sync_1 = Sync;
-      var version = "2.19.5";
-      var version$1 = {
-        version
-      };
-      var version$2 = /* @__PURE__ */ Object.freeze({
-        version,
-        default: version$1
-      });
-      var require$$2 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var require$$3 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var require$$4 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var Events$2, Group, IORedisConnection$1, RedisConnection$1, Scripts$1, parser$3;
-      parser$3 = parser;
-      Events$2 = Events_1;
-      RedisConnection$1 = require$$2;
-      IORedisConnection$1 = require$$3;
-      Scripts$1 = require$$4;
-      Group = (function() {
-        class Group2 {
-          constructor(limiterOptions = {}) {
-            this.deleteKey = this.deleteKey.bind(this);
-            this.limiterOptions = limiterOptions;
-            parser$3.load(this.limiterOptions, this.defaults, this);
-            this.Events = new Events$2(this);
-            this.instances = {};
-            this.Bottleneck = Bottleneck_1;
-            this._startAutoCleanup();
-            this.sharedConnection = this.connection != null;
-            if (this.connection == null) {
-              if (this.limiterOptions.datastore === "redis") {
-                this.connection = new RedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
-              } else if (this.limiterOptions.datastore === "ioredis") {
-                this.connection = new IORedisConnection$1(Object.assign({}, this.limiterOptions, { Events: this.Events }));
-              }
-            }
-          }
-          key(key = "") {
-            var ref;
-            return (ref = this.instances[key]) != null ? ref : (() => {
-              var limiter;
-              limiter = this.instances[key] = new this.Bottleneck(Object.assign(this.limiterOptions, {
-                id: `${this.id}-${key}`,
-                timeout: this.timeout,
-                connection: this.connection
-              }));
-              this.Events.trigger("created", limiter, key);
-              return limiter;
-            })();
-          }
-          async deleteKey(key = "") {
-            var deleted, instance;
-            instance = this.instances[key];
-            if (this.connection) {
-              deleted = await this.connection.__runCommand__(["del", ...Scripts$1.allKeys(`${this.id}-${key}`)]);
-            }
-            if (instance != null) {
-              delete this.instances[key];
-              await instance.disconnect();
-            }
-            return instance != null || deleted > 0;
-          }
-          limiters() {
-            var k, ref, results, v;
-            ref = this.instances;
-            results = [];
-            for (k in ref) {
-              v = ref[k];
-              results.push({
-                key: k,
-                limiter: v
-              });
-            }
-            return results;
-          }
-          keys() {
-            return Object.keys(this.instances);
-          }
-          async clusterKeys() {
-            var cursor, end, found, i, k, keys, len, next, start;
-            if (this.connection == null) {
-              return this.Promise.resolve(this.keys());
-            }
-            keys = [];
-            cursor = null;
-            start = `b_${this.id}-`.length;
-            end = "_settings".length;
-            while (cursor !== 0) {
-              [next, found] = await this.connection.__runCommand__(["scan", cursor != null ? cursor : 0, "match", `b_${this.id}-*_settings`, "count", 1e4]);
-              cursor = ~~next;
-              for (i = 0, len = found.length; i < len; i++) {
-                k = found[i];
-                keys.push(k.slice(start, -end));
-              }
-            }
-            return keys;
-          }
-          _startAutoCleanup() {
-            var base;
-            clearInterval(this.interval);
-            return typeof (base = this.interval = setInterval(async () => {
-              var e, k, ref, results, time, v;
-              time = Date.now();
-              ref = this.instances;
-              results = [];
-              for (k in ref) {
-                v = ref[k];
-                try {
-                  if (await v._store.__groupCheck__(time)) {
-                    results.push(this.deleteKey(k));
-                  } else {
-                    results.push(void 0);
-                  }
-                } catch (error3) {
-                  e = error3;
-                  results.push(v.Events.trigger("error", e));
-                }
-              }
-              return results;
-            }, this.timeout / 2)).unref === "function" ? base.unref() : void 0;
-          }
-          updateSettings(options = {}) {
-            parser$3.overwrite(options, this.defaults, this);
-            parser$3.overwrite(options, options, this.limiterOptions);
-            if (options.timeout != null) {
-              return this._startAutoCleanup();
-            }
-          }
-          disconnect(flush = true) {
-            var ref;
-            if (!this.sharedConnection) {
-              return (ref = this.connection) != null ? ref.disconnect(flush) : void 0;
-            }
+        const sockets = this.sockets[name];
+        const index = sockets.indexOf(socket);
+        if (index !== -1) {
+          sockets.splice(index, 1);
+          this.totalSocketCount--;
+          if (sockets.length === 0) {
+            delete this.sockets[name];
           }
         }
-        Group2.prototype.defaults = {
-          timeout: 1e3 * 60 * 5,
-          connection: null,
-          Promise,
-          id: "group-key"
-        };
-        return Group2;
-      }).call(commonjsGlobal);
-      var Group_1 = Group;
-      var Batcher, Events$3, parser$4;
-      parser$4 = parser;
-      Events$3 = Events_1;
-      Batcher = (function() {
-        class Batcher2 {
-          constructor(options = {}) {
-            this.options = options;
-            parser$4.load(this.options, this.defaults, this);
-            this.Events = new Events$3(this);
-            this._arr = [];
-            this._resetPromise();
-            this._lastFlush = Date.now();
-          }
-          _resetPromise() {
-            return this._promise = new this.Promise((res, rej) => {
-              return this._resolve = res;
-            });
-          }
-          _flush() {
-            clearTimeout(this._timeout);
-            this._lastFlush = Date.now();
-            this._resolve();
-            this.Events.trigger("batch", this._arr);
-            this._arr = [];
-            return this._resetPromise();
-          }
-          add(data) {
-            var ret;
-            this._arr.push(data);
-            ret = this._promise;
-            if (this._arr.length === this.maxSize) {
-              this._flush();
-            } else if (this.maxTime != null && this._arr.length === 1) {
-              this._timeout = setTimeout(() => {
-                return this._flush();
-              }, this.maxTime);
-            }
-            return ret;
-          }
+      }
+      // In order to properly update the socket pool, we need to call `getName()` on
+      // the core `https.Agent` if it is a secureEndpoint.
+      getName(options) {
+        const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options);
+        if (secureEndpoint) {
+          return https_1.Agent.prototype.getName.call(this, options);
         }
-        Batcher2.prototype.defaults = {
-          maxTime: null,
-          maxSize: null,
-          Promise
+        return super.getName(options);
+      }
+      createSocket(req, options, cb) {
+        const connectOpts = {
+          ...options,
+          secureEndpoint: this.isSecureEndpoint(options)
         };
-        return Batcher2;
-      }).call(commonjsGlobal);
-      var Batcher_1 = Batcher;
-      var require$$4$1 = () => console.log("You must import the full version of Bottleneck in order to use this feature.");
-      var require$$8 = getCjsExportFromNamespace(version$2);
-      var Bottleneck2, DEFAULT_PRIORITY$1, Events$4, Job$1, LocalDatastore$1, NUM_PRIORITIES$1, Queues$1, RedisDatastore$1, States$1, Sync$1, parser$5, splice = [].splice;
-      NUM_PRIORITIES$1 = 10;
-      DEFAULT_PRIORITY$1 = 5;
-      parser$5 = parser;
-      Queues$1 = Queues_1;
-      Job$1 = Job_1;
-      LocalDatastore$1 = LocalDatastore_1;
-      RedisDatastore$1 = require$$4$1;
-      Events$4 = Events_1;
-      States$1 = States_1;
-      Sync$1 = Sync_1;
-      Bottleneck2 = (function() {
-        class Bottleneck3 {
-          constructor(options = {}, ...invalid) {
-            var storeInstanceOptions, storeOptions;
-            this._addToQueue = this._addToQueue.bind(this);
-            this._validateOptions(options, invalid);
-            parser$5.load(options, this.instanceDefaults, this);
-            this._queues = new Queues$1(NUM_PRIORITIES$1);
-            this._scheduled = {};
-            this._states = new States$1(["RECEIVED", "QUEUED", "RUNNING", "EXECUTING"].concat(this.trackDoneStatus ? ["DONE"] : []));
-            this._limiter = null;
-            this.Events = new Events$4(this);
-            this._submitLock = new Sync$1("submit", this.Promise);
-            this._registerLock = new Sync$1("register", this.Promise);
-            storeOptions = parser$5.load(options, this.storeDefaults, {});
-            this._store = (function() {
-              if (this.datastore === "redis" || this.datastore === "ioredis" || this.connection != null) {
-                storeInstanceOptions = parser$5.load(options, this.redisStoreDefaults, {});
-                return new RedisDatastore$1(this, storeOptions, storeInstanceOptions);
-              } else if (this.datastore === "local") {
-                storeInstanceOptions = parser$5.load(options, this.localStoreDefaults, {});
-                return new LocalDatastore$1(this, storeOptions, storeInstanceOptions);
-              } else {
-                throw new Bottleneck3.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`);
-              }
-            }).call(this);
-            this._queues.on("leftzero", () => {
-              var ref;
-              return (ref = this._store.heartbeat) != null ? typeof ref.ref === "function" ? ref.ref() : void 0 : void 0;
-            });
-            this._queues.on("zero", () => {
-              var ref;
-              return (ref = this._store.heartbeat) != null ? typeof ref.unref === "function" ? ref.unref() : void 0 : void 0;
-            });
-          }
-          _validateOptions(options, invalid) {
-            if (!(options != null && typeof options === "object" && invalid.length === 0)) {
-              throw new Bottleneck3.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.");
+        const name = this.getName(connectOpts);
+        const fakeSocket = this.incrementSockets(name);
+        Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
+          this.decrementSockets(name, fakeSocket);
+          if (socket instanceof http.Agent) {
+            try {
+              return socket.addRequest(req, connectOpts);
+            } catch (err) {
+              return cb(err);
             }
           }
-          ready() {
-            return this._store.ready;
-          }
-          clients() {
-            return this._store.clients;
-          }
-          channel() {
-            return `b_${this.id}`;
-          }
-          channel_client() {
-            return `b_${this.id}_${this._store.clientId}`;
-          }
-          publish(message) {
-            return this._store.__publish__(message);
-          }
-          disconnect(flush = true) {
-            return this._store.__disconnect__(flush);
-          }
-          chain(_limiter) {
-            this._limiter = _limiter;
-            return this;
-          }
-          queued(priority) {
-            return this._queues.queued(priority);
-          }
-          clusterQueued() {
-            return this._store.__queued__();
-          }
-          empty() {
-            return this.queued() === 0 && this._submitLock.isEmpty();
-          }
-          running() {
-            return this._store.__running__();
-          }
-          done() {
-            return this._store.__done__();
-          }
-          jobStatus(id) {
-            return this._states.jobStatus(id);
-          }
-          jobs(status) {
-            return this._states.statusJobs(status);
-          }
-          counts() {
-            return this._states.statusCounts();
-          }
-          _randomIndex() {
-            return Math.random().toString(36).slice(2);
+          this[INTERNAL].currentSocket = socket;
+          super.createSocket(req, options, cb);
+        }, (err) => {
+          this.decrementSockets(name, fakeSocket);
+          cb(err);
+        });
+      }
+      createConnection() {
+        const socket = this[INTERNAL].currentSocket;
+        this[INTERNAL].currentSocket = void 0;
+        if (!socket) {
+          throw new Error("No socket was returned in the `connect()` function");
+        }
+        return socket;
+      }
+      get defaultPort() {
+        return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
+      }
+      set defaultPort(v) {
+        if (this[INTERNAL]) {
+          this[INTERNAL].defaultPort = v;
+        }
+      }
+      get protocol() {
+        return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
+      }
+      set protocol(v) {
+        if (this[INTERNAL]) {
+          this[INTERNAL].protocol = v;
+        }
+      }
+    };
+    exports2.Agent = Agent;
+  }
+});
+
+// node_modules/https-proxy-agent/dist/parse-proxy-response.js
+var require_parse_proxy_response = __commonJS({
+  "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
+    "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.parseProxyResponse = void 0;
+    var debug_1 = __importDefault2(require_src());
+    var debug4 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
+    function parseProxyResponse(socket) {
+      return new Promise((resolve2, reject) => {
+        let buffersLength = 0;
+        const buffers = [];
+        function read() {
+          const b = socket.read();
+          if (b)
+            ondata(b);
+          else
+            socket.once("readable", read);
+        }
+        function cleanup() {
+          socket.removeListener("end", onend);
+          socket.removeListener("error", onerror);
+          socket.removeListener("readable", read);
+        }
+        function onend() {
+          cleanup();
+          debug4("onend");
+          reject(new Error("Proxy connection ended before receiving CONNECT response"));
+        }
+        function onerror(err) {
+          cleanup();
+          debug4("onerror %o", err);
+          reject(err);
+        }
+        function ondata(b) {
+          buffers.push(b);
+          buffersLength += b.length;
+          const buffered = Buffer.concat(buffers, buffersLength);
+          const endOfHeaders = buffered.indexOf("\r\n\r\n");
+          if (endOfHeaders === -1) {
+            debug4("have not received end of HTTP headers yet...");
+            read();
+            return;
           }
-          check(weight = 1) {
-            return this._store.__check__(weight);
+          const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n");
+          const firstLine = headerParts.shift();
+          if (!firstLine) {
+            socket.destroy();
+            return reject(new Error("No header received from proxy CONNECT response"));
           }
-          _clearGlobalState(index) {
-            if (this._scheduled[index] != null) {
-              clearTimeout(this._scheduled[index].expiration);
-              delete this._scheduled[index];
-              return true;
+          const firstLineParts = firstLine.split(" ");
+          const statusCode = +firstLineParts[1];
+          const statusText = firstLineParts.slice(2).join(" ");
+          const headers = {};
+          for (const header of headerParts) {
+            if (!header)
+              continue;
+            const firstColon = header.indexOf(":");
+            if (firstColon === -1) {
+              socket.destroy();
+              return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
+            }
+            const key = header.slice(0, firstColon).toLowerCase();
+            const value = header.slice(firstColon + 1).trimStart();
+            const current = headers[key];
+            if (typeof current === "string") {
+              headers[key] = [current, value];
+            } else if (Array.isArray(current)) {
+              current.push(value);
             } else {
-              return false;
+              headers[key] = value;
             }
           }
-          async _free(index, job, options, eventInfo) {
-            var e, running;
-            try {
-              ({ running } = await this._store.__free__(index, options.weight));
-              this.Events.trigger("debug", `Freed ${options.id}`, eventInfo);
-              if (running === 0 && this.empty()) {
-                return this.Events.trigger("idle");
-              }
-            } catch (error1) {
-              e = error1;
-              return this.Events.trigger("error", e);
-            }
+          debug4("got proxy server response: %o %o", firstLine, headers);
+          cleanup();
+          resolve2({
+            connect: {
+              statusCode,
+              statusText,
+              headers
+            },
+            buffered
+          });
+        }
+        socket.on("error", onerror);
+        socket.on("end", onend);
+        read();
+      });
+    }
+    exports2.parseProxyResponse = parseProxyResponse;
+  }
+});
+
+// node_modules/https-proxy-agent/dist/index.js
+var require_dist2 = __commonJS({
+  "node_modules/https-proxy-agent/dist/index.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HttpsProxyAgent = void 0;
+    var net = __importStar2(require("net"));
+    var tls = __importStar2(require("tls"));
+    var assert_1 = __importDefault2(require("assert"));
+    var debug_1 = __importDefault2(require_src());
+    var agent_base_1 = require_dist();
+    var url_1 = require("url");
+    var parse_proxy_response_1 = require_parse_proxy_response();
+    var debug4 = (0, debug_1.default)("https-proxy-agent");
+    var setServernameFromNonIpHost = (options) => {
+      if (options.servername === void 0 && options.host && !net.isIP(options.host)) {
+        return {
+          ...options,
+          servername: options.host
+        };
+      }
+      return options;
+    };
+    var HttpsProxyAgent = class extends agent_base_1.Agent {
+      constructor(proxy, opts) {
+        super(opts);
+        this.options = { path: void 0 };
+        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
+        this.proxyHeaders = opts?.headers ?? {};
+        debug4("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
+        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
+        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
+        this.connectOpts = {
+          // Attempt to negotiate http/1.1 for proxy servers that support http/2
+          ALPNProtocols: ["http/1.1"],
+          ...opts ? omit2(opts, "headers") : null,
+          host,
+          port
+        };
+      }
+      /**
+       * Called when the node-core HTTP client library is creating a
+       * new HTTP request.
+       */
+      async connect(req, opts) {
+        const { proxy } = this;
+        if (!opts.host) {
+          throw new TypeError('No "host" provided');
+        }
+        let socket;
+        if (proxy.protocol === "https:") {
+          debug4("Creating `tls.Socket`: %o", this.connectOpts);
+          socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));
+        } else {
+          debug4("Creating `net.Socket`: %o", this.connectOpts);
+          socket = net.connect(this.connectOpts);
+        }
+        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
+        const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
+        let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r
+`;
+        if (proxy.username || proxy.password) {
+          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
+          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
+        }
+        headers.Host = `${host}:${opts.port}`;
+        if (!headers["Proxy-Connection"]) {
+          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
+        }
+        for (const name of Object.keys(headers)) {
+          payload += `${name}: ${headers[name]}\r
+`;
+        }
+        const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);
+        socket.write(`${payload}\r
+`);
+        const { connect, buffered } = await proxyResponsePromise;
+        req.emit("proxyConnect", connect);
+        this.emit("proxyConnect", connect, req);
+        if (connect.statusCode === 200) {
+          req.once("socket", resume);
+          if (opts.secureEndpoint) {
+            debug4("Upgrading socket connection to TLS");
+            return tls.connect({
+              ...omit2(setServernameFromNonIpHost(opts), "host", "path", "port"),
+              socket
+            });
           }
-          _run(index, job, wait) {
-            var clearGlobalState, free, run;
-            job.doRun();
-            clearGlobalState = this._clearGlobalState.bind(this, index);
-            run = this._run.bind(this, index, job);
-            free = this._free.bind(this, index, job);
-            return this._scheduled[index] = {
-              timeout: setTimeout(() => {
-                return job.doExecute(this._limiter, clearGlobalState, run, free);
-              }, wait),
-              expiration: job.options.expiration != null ? setTimeout(function() {
-                return job.doExpire(clearGlobalState, run, free);
-              }, wait + job.options.expiration) : void 0,
-              job
-            };
+          return socket;
+        }
+        socket.destroy();
+        const fakeSocket = new net.Socket({ writable: false });
+        fakeSocket.readable = true;
+        req.once("socket", (s) => {
+          debug4("Replaying proxy buffer for failed request");
+          (0, assert_1.default)(s.listenerCount("data") > 0);
+          s.push(buffered);
+          s.push(null);
+        });
+        return fakeSocket;
+      }
+    };
+    HttpsProxyAgent.protocols = ["http", "https"];
+    exports2.HttpsProxyAgent = HttpsProxyAgent;
+    function resume(socket) {
+      socket.resume();
+    }
+    function omit2(obj, ...keys) {
+      const ret = {};
+      let key;
+      for (key in obj) {
+        if (!keys.includes(key)) {
+          ret[key] = obj[key];
+        }
+      }
+      return ret;
+    }
+  }
+});
+
+// node_modules/http-proxy-agent/dist/index.js
+var require_dist3 = __commonJS({
+  "node_modules/http-proxy-agent/dist/index.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
+      }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HttpProxyAgent = void 0;
+    var net = __importStar2(require("net"));
+    var tls = __importStar2(require("tls"));
+    var debug_1 = __importDefault2(require_src());
+    var events_1 = require("events");
+    var agent_base_1 = require_dist();
+    var url_1 = require("url");
+    var debug4 = (0, debug_1.default)("http-proxy-agent");
+    var HttpProxyAgent = class extends agent_base_1.Agent {
+      constructor(proxy, opts) {
+        super(opts);
+        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
+        this.proxyHeaders = opts?.headers ?? {};
+        debug4("Creating new HttpProxyAgent instance: %o", this.proxy.href);
+        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
+        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
+        this.connectOpts = {
+          ...opts ? omit2(opts, "headers") : null,
+          host,
+          port
+        };
+      }
+      addRequest(req, opts) {
+        req._header = null;
+        this.setRequestProps(req, opts);
+        super.addRequest(req, opts);
+      }
+      setRequestProps(req, opts) {
+        const { proxy } = this;
+        const protocol = opts.secureEndpoint ? "https:" : "http:";
+        const hostname = req.getHeader("host") || "localhost";
+        const base = `${protocol}//${hostname}`;
+        const url = new url_1.URL(req.path, base);
+        if (opts.port !== 80) {
+          url.port = String(opts.port);
+        }
+        req.path = String(url);
+        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
+        if (proxy.username || proxy.password) {
+          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
+          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
+        }
+        if (!headers["Proxy-Connection"]) {
+          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
+        }
+        for (const name of Object.keys(headers)) {
+          const value = headers[name];
+          if (value) {
+            req.setHeader(name, value);
           }
-          _drainOne(capacity) {
-            return this._registerLock.schedule(() => {
-              var args, index, next, options, queue;
-              if (this.queued() === 0) {
-                return this.Promise.resolve(null);
-              }
-              queue = this._queues.getFirst();
-              ({ options, args } = next = queue.first());
-              if (capacity != null && options.weight > capacity) {
-                return this.Promise.resolve(null);
-              }
-              this.Events.trigger("debug", `Draining ${options.id}`, { args, options });
-              index = this._randomIndex();
-              return this._store.__register__(index, options.weight, options.expiration).then(({ success, wait, reservoir }) => {
-                var empty;
-                this.Events.trigger("debug", `Drained ${options.id}`, { success, args, options });
-                if (success) {
-                  queue.shift();
-                  empty = this.empty();
-                  if (empty) {
-                    this.Events.trigger("empty");
-                  }
-                  if (reservoir === 0) {
-                    this.Events.trigger("depleted", empty);
-                  }
-                  this._run(index, next, wait);
-                  return this.Promise.resolve(options.weight);
-                } else {
-                  return this.Promise.resolve(null);
-                }
-              });
-            });
+        }
+      }
+      async connect(req, opts) {
+        req._header = null;
+        if (!req.path.includes("://")) {
+          this.setRequestProps(req, opts);
+        }
+        let first;
+        let endOfHeaders;
+        debug4("Regenerating stored HTTP header string for request");
+        req._implicitHeader();
+        if (req.outputData && req.outputData.length > 0) {
+          debug4("Patching connection write() output buffer with updated header");
+          first = req.outputData[0].data;
+          endOfHeaders = first.indexOf("\r\n\r\n") + 4;
+          req.outputData[0].data = req._header + first.substring(endOfHeaders);
+          debug4("Output buffer: %o", req.outputData[0].data);
+        }
+        let socket;
+        if (this.proxy.protocol === "https:") {
+          debug4("Creating `tls.Socket`: %o", this.connectOpts);
+          socket = tls.connect(this.connectOpts);
+        } else {
+          debug4("Creating `net.Socket`: %o", this.connectOpts);
+          socket = net.connect(this.connectOpts);
+        }
+        await (0, events_1.once)(socket, "connect");
+        return socket;
+      }
+    };
+    HttpProxyAgent.protocols = ["http", "https"];
+    exports2.HttpProxyAgent = HttpProxyAgent;
+    function omit2(obj, ...keys) {
+      const ret = {};
+      let key;
+      for (key in obj) {
+        if (!keys.includes(key)) {
+          ret[key] = obj[key];
+        }
+      }
+      return ret;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js
+var require_proxyPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.globalNoProxyList = exports2.proxyPolicyName = void 0;
+    exports2.loadNoProxy = loadNoProxy;
+    exports2.getDefaultProxySettings = getDefaultProxySettings;
+    exports2.proxyPolicy = proxyPolicy;
+    var https_proxy_agent_1 = require_dist2();
+    var http_proxy_agent_1 = require_dist3();
+    var log_js_1 = require_log2();
+    var HTTPS_PROXY = "HTTPS_PROXY";
+    var HTTP_PROXY = "HTTP_PROXY";
+    var ALL_PROXY = "ALL_PROXY";
+    var NO_PROXY = "NO_PROXY";
+    exports2.proxyPolicyName = "proxyPolicy";
+    exports2.globalNoProxyList = [];
+    var noProxyListLoaded = false;
+    var globalBypassedMap = /* @__PURE__ */ new Map();
+    function getEnvironmentValue(name) {
+      if (process.env[name]) {
+        return process.env[name];
+      } else if (process.env[name.toLowerCase()]) {
+        return process.env[name.toLowerCase()];
+      }
+      return void 0;
+    }
+    function loadEnvironmentProxyValue() {
+      if (!process) {
+        return void 0;
+      }
+      const httpsProxy = getEnvironmentValue(HTTPS_PROXY);
+      const allProxy = getEnvironmentValue(ALL_PROXY);
+      const httpProxy = getEnvironmentValue(HTTP_PROXY);
+      return httpsProxy || allProxy || httpProxy;
+    }
+    function isBypassed(uri, noProxyList, bypassedMap) {
+      if (noProxyList.length === 0) {
+        return false;
+      }
+      const host = new URL(uri).hostname;
+      if (bypassedMap?.has(host)) {
+        return bypassedMap.get(host);
+      }
+      let isBypassedFlag = false;
+      for (const pattern of noProxyList) {
+        if (pattern[0] === ".") {
+          if (host.endsWith(pattern)) {
+            isBypassedFlag = true;
+          } else {
+            if (host.length === pattern.length - 1 && host === pattern.slice(1)) {
+              isBypassedFlag = true;
+            }
           }
-          _drainAll(capacity, total = 0) {
-            return this._drainOne(capacity).then((drained) => {
-              var newCapacity;
-              if (drained != null) {
-                newCapacity = capacity != null ? capacity - drained : capacity;
-                return this._drainAll(newCapacity, total + drained);
-              } else {
-                return this.Promise.resolve(total);
-              }
-            }).catch((e) => {
-              return this.Events.trigger("error", e);
-            });
+        } else {
+          if (host === pattern) {
+            isBypassedFlag = true;
           }
-          _dropAllQueued(message) {
-            return this._queues.shiftAll(function(job) {
-              return job.doDrop({ message });
-            });
+        }
+      }
+      bypassedMap?.set(host, isBypassedFlag);
+      return isBypassedFlag;
+    }
+    function loadNoProxy() {
+      const noProxy = getEnvironmentValue(NO_PROXY);
+      noProxyListLoaded = true;
+      if (noProxy) {
+        return noProxy.split(",").map((item) => item.trim()).filter((item) => item.length);
+      }
+      return [];
+    }
+    function getDefaultProxySettings(proxyUrl) {
+      if (!proxyUrl) {
+        proxyUrl = loadEnvironmentProxyValue();
+        if (!proxyUrl) {
+          return void 0;
+        }
+      }
+      const parsedUrl = new URL(proxyUrl);
+      const schema2 = parsedUrl.protocol ? parsedUrl.protocol + "//" : "";
+      return {
+        host: schema2 + parsedUrl.hostname,
+        port: Number.parseInt(parsedUrl.port || "80"),
+        username: parsedUrl.username,
+        password: parsedUrl.password
+      };
+    }
+    function getDefaultProxySettingsInternal() {
+      const envProxy = loadEnvironmentProxyValue();
+      return envProxy ? new URL(envProxy) : void 0;
+    }
+    function getUrlFromProxySettings(settings) {
+      let parsedProxyUrl;
+      try {
+        parsedProxyUrl = new URL(settings.host);
+      } catch {
+        throw new Error(`Expecting a valid host string in proxy settings, but found "${settings.host}".`);
+      }
+      parsedProxyUrl.port = String(settings.port);
+      if (settings.username) {
+        parsedProxyUrl.username = settings.username;
+      }
+      if (settings.password) {
+        parsedProxyUrl.password = settings.password;
+      }
+      return parsedProxyUrl;
+    }
+    function setProxyAgentOnRequest(request2, cachedAgents, proxyUrl) {
+      if (request2.agent) {
+        return;
+      }
+      const url = new URL(request2.url);
+      const isInsecure = url.protocol !== "https:";
+      if (request2.tlsSettings) {
+        log_js_1.logger.warning("TLS settings are not supported in combination with custom Proxy, certificates provided to the client will be ignored.");
+      }
+      const headers = request2.headers.toJSON();
+      if (isInsecure) {
+        if (!cachedAgents.httpProxyAgent) {
+          cachedAgents.httpProxyAgent = new http_proxy_agent_1.HttpProxyAgent(proxyUrl, { headers });
+        }
+        request2.agent = cachedAgents.httpProxyAgent;
+      } else {
+        if (!cachedAgents.httpsProxyAgent) {
+          cachedAgents.httpsProxyAgent = new https_proxy_agent_1.HttpsProxyAgent(proxyUrl, { headers });
+        }
+        request2.agent = cachedAgents.httpsProxyAgent;
+      }
+    }
+    function proxyPolicy(proxySettings, options) {
+      if (!noProxyListLoaded) {
+        exports2.globalNoProxyList.push(...loadNoProxy());
+      }
+      const defaultProxy = proxySettings ? getUrlFromProxySettings(proxySettings) : getDefaultProxySettingsInternal();
+      const cachedAgents = {};
+      return {
+        name: exports2.proxyPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.proxySettings && defaultProxy && !isBypassed(request2.url, options?.customNoProxyList ?? exports2.globalNoProxyList, options?.customNoProxyList ? void 0 : globalBypassedMap)) {
+            setProxyAgentOnRequest(request2, cachedAgents, defaultProxy);
+          } else if (request2.proxySettings) {
+            setProxyAgentOnRequest(request2, cachedAgents, getUrlFromProxySettings(request2.proxySettings));
           }
-          stop(options = {}) {
-            var done, waitForExecuting;
-            options = parser$5.load(options, this.stopDefaults);
-            waitForExecuting = (at) => {
-              var finished;
-              finished = () => {
-                var counts;
-                counts = this._states.counts;
-                return counts[0] + counts[1] + counts[2] + counts[3] === at;
-              };
-              return new this.Promise((resolve2, reject) => {
-                if (finished()) {
-                  return resolve2();
-                } else {
-                  return this.on("done", () => {
-                    if (finished()) {
-                      this.removeAllListeners("done");
-                      return resolve2();
-                    }
-                  });
-                }
-              });
-            };
-            done = options.dropWaitingJobs ? (this._run = function(index, next) {
-              return next.doDrop({
-                message: options.dropErrorMessage
-              });
-            }, this._drainOne = () => {
-              return this.Promise.resolve(null);
-            }, this._registerLock.schedule(() => {
-              return this._submitLock.schedule(() => {
-                var k, ref, v;
-                ref = this._scheduled;
-                for (k in ref) {
-                  v = ref[k];
-                  if (this.jobStatus(v.job.options.id) === "RUNNING") {
-                    clearTimeout(v.timeout);
-                    clearTimeout(v.expiration);
-                    v.job.doDrop({
-                      message: options.dropErrorMessage
-                    });
-                  }
-                }
-                this._dropAllQueued(options.dropErrorMessage);
-                return waitForExecuting(0);
-              });
-            })) : this.schedule({
-              priority: NUM_PRIORITIES$1 - 1,
-              weight: 0
-            }, () => {
-              return waitForExecuting(1);
-            });
-            this._receive = function(job) {
-              return job._reject(new Bottleneck3.prototype.BottleneckError(options.enqueueErrorMessage));
-            };
-            this.stop = () => {
-              return this.Promise.reject(new Bottleneck3.prototype.BottleneckError("stop() has already been called"));
-            };
-            return done;
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js
+var require_agentPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.agentPolicyName = void 0;
+    exports2.agentPolicy = agentPolicy;
+    exports2.agentPolicyName = "agentPolicy";
+    function agentPolicy(agent) {
+      return {
+        name: exports2.agentPolicyName,
+        sendRequest: async (req, next) => {
+          if (!req.agent) {
+            req.agent = agent;
           }
-          async _addToQueue(job) {
-            var args, blocked, error3, options, reachedHWM, shifted, strategy;
-            ({ args, options } = job);
-            try {
-              ({ reachedHWM, blocked, strategy } = await this._store.__submit__(this.queued(), options.weight));
-            } catch (error1) {
-              error3 = error1;
-              this.Events.trigger("debug", `Could not queue ${options.id}`, { args, options, error: error3 });
-              job.doDrop({ error: error3 });
-              return false;
-            }
-            if (blocked) {
-              job.doDrop();
-              return true;
-            } else if (reachedHWM) {
-              shifted = strategy === Bottleneck3.prototype.strategy.LEAK ? this._queues.shiftLastFrom(options.priority) : strategy === Bottleneck3.prototype.strategy.OVERFLOW_PRIORITY ? this._queues.shiftLastFrom(options.priority + 1) : strategy === Bottleneck3.prototype.strategy.OVERFLOW ? job : void 0;
-              if (shifted != null) {
-                shifted.doDrop();
-              }
-              if (shifted == null || strategy === Bottleneck3.prototype.strategy.OVERFLOW) {
-                if (shifted == null) {
-                  job.doDrop();
-                }
-                return reachedHWM;
-              }
-            }
-            job.doQueue(reachedHWM, blocked);
-            this._queues.push(job);
-            await this._drainAll();
-            return reachedHWM;
+          return next(req);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js
+var require_tlsPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tlsPolicyName = void 0;
+    exports2.tlsPolicy = tlsPolicy;
+    exports2.tlsPolicyName = "tlsPolicy";
+    function tlsPolicy(tlsSettings) {
+      return {
+        name: exports2.tlsPolicyName,
+        sendRequest: async (req, next) => {
+          if (!req.tlsSettings) {
+            req.tlsSettings = tlsSettings;
           }
-          _receive(job) {
-            if (this._states.jobStatus(job.options.id) != null) {
-              job._reject(new Bottleneck3.prototype.BottleneckError(`A job with the same id already exists (id=${job.options.id})`));
-              return false;
-            } else {
-              job.doReceive();
-              return this._submitLock.schedule(this._addToQueue, job);
-            }
+          return next(req);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js
+var require_typeGuards = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isNodeReadableStream = isNodeReadableStream;
+    exports2.isWebReadableStream = isWebReadableStream;
+    exports2.isBinaryBody = isBinaryBody;
+    exports2.isReadableStream = isReadableStream;
+    exports2.isBlob = isBlob;
+    function isNodeReadableStream(x) {
+      return Boolean(x && typeof x["pipe"] === "function");
+    }
+    function isWebReadableStream(x) {
+      return Boolean(x && typeof x.getReader === "function" && typeof x.tee === "function");
+    }
+    function isBinaryBody(body) {
+      return body !== void 0 && (body instanceof Uint8Array || isReadableStream(body) || typeof body === "function" || body instanceof Blob);
+    }
+    function isReadableStream(x) {
+      return isNodeReadableStream(x) || isWebReadableStream(x);
+    }
+    function isBlob(x) {
+      return typeof x.stream === "function";
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js
+var require_concat = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.concat = concat;
+    var stream_1 = require("stream");
+    var typeGuards_js_1 = require_typeGuards();
+    async function* streamAsyncIterator() {
+      const reader = this.getReader();
+      try {
+        while (true) {
+          const { done, value } = await reader.read();
+          if (done) {
+            return;
           }
-          submit(...args) {
-            var cb, fn, job, options, ref, ref1, task;
-            if (typeof args[0] === "function") {
-              ref = args, [fn, ...args] = ref, [cb] = splice.call(args, -1);
-              options = parser$5.load({}, this.jobDefaults);
-            } else {
-              ref1 = args, [options, fn, ...args] = ref1, [cb] = splice.call(args, -1);
-              options = parser$5.load(options, this.jobDefaults);
+          yield value;
+        }
+      } finally {
+        reader.releaseLock();
+      }
+    }
+    function makeAsyncIterable(webStream) {
+      if (!webStream[Symbol.asyncIterator]) {
+        webStream[Symbol.asyncIterator] = streamAsyncIterator.bind(webStream);
+      }
+      if (!webStream.values) {
+        webStream.values = streamAsyncIterator.bind(webStream);
+      }
+    }
+    function ensureNodeStream(stream) {
+      if (stream instanceof ReadableStream) {
+        makeAsyncIterable(stream);
+        return stream_1.Readable.fromWeb(stream);
+      } else {
+        return stream;
+      }
+    }
+    function toStream(source) {
+      if (source instanceof Uint8Array) {
+        return stream_1.Readable.from(Buffer.from(source));
+      } else if ((0, typeGuards_js_1.isBlob)(source)) {
+        return ensureNodeStream(source.stream());
+      } else {
+        return ensureNodeStream(source);
+      }
+    }
+    async function concat(sources) {
+      return function() {
+        const streams = sources.map((x) => typeof x === "function" ? x() : x).map(toStream);
+        return stream_1.Readable.from((async function* () {
+          for (const stream of streams) {
+            for await (const chunk of stream) {
+              yield chunk;
             }
-            task = (...args2) => {
-              return new this.Promise(function(resolve2, reject) {
-                return fn(...args2, function(...args3) {
-                  return (args3[0] != null ? reject : resolve2)(args3);
-                });
-              });
-            };
-            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
-            job.promise.then(function(args2) {
-              return typeof cb === "function" ? cb(...args2) : void 0;
-            }).catch(function(args2) {
-              if (Array.isArray(args2)) {
-                return typeof cb === "function" ? cb(...args2) : void 0;
-              } else {
-                return typeof cb === "function" ? cb(args2) : void 0;
-              }
-            });
-            return this._receive(job);
           }
-          schedule(...args) {
-            var job, options, task;
-            if (typeof args[0] === "function") {
-              [task, ...args] = args;
-              options = {};
-            } else {
-              [options, task, ...args] = args;
-            }
-            job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise);
-            this._receive(job);
-            return job.promise;
+        })());
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js
+var require_multipartPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.multipartPolicyName = void 0;
+    exports2.multipartPolicy = multipartPolicy;
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var typeGuards_js_1 = require_typeGuards();
+    var uuidUtils_js_1 = require_uuidUtils();
+    var concat_js_1 = require_concat();
+    function generateBoundary() {
+      return `----AzSDKFormBoundary${(0, uuidUtils_js_1.randomUUID)()}`;
+    }
+    function encodeHeaders(headers) {
+      let result = "";
+      for (const [key, value] of headers) {
+        result += `${key}: ${value}\r
+`;
+      }
+      return result;
+    }
+    function getLength(source) {
+      if (source instanceof Uint8Array) {
+        return source.byteLength;
+      } else if ((0, typeGuards_js_1.isBlob)(source)) {
+        return source.size === -1 ? void 0 : source.size;
+      } else {
+        return void 0;
+      }
+    }
+    function getTotalLength(sources) {
+      let total = 0;
+      for (const source of sources) {
+        const partLength = getLength(source);
+        if (partLength === void 0) {
+          return void 0;
+        } else {
+          total += partLength;
+        }
+      }
+      return total;
+    }
+    async function buildRequestBody(request2, parts, boundary) {
+      const sources = [
+        (0, bytesEncoding_js_1.stringToUint8Array)(`--${boundary}`, "utf-8"),
+        ...parts.flatMap((part) => [
+          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
+          (0, bytesEncoding_js_1.stringToUint8Array)(encodeHeaders(part.headers), "utf-8"),
+          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
+          part.body,
+          (0, bytesEncoding_js_1.stringToUint8Array)(`\r
+--${boundary}`, "utf-8")
+        ]),
+        (0, bytesEncoding_js_1.stringToUint8Array)("--\r\n\r\n", "utf-8")
+      ];
+      const contentLength = getTotalLength(sources);
+      if (contentLength) {
+        request2.headers.set("Content-Length", contentLength);
+      }
+      request2.body = await (0, concat_js_1.concat)(sources);
+    }
+    exports2.multipartPolicyName = "multipartPolicy";
+    var maxBoundaryLength = 70;
+    var validBoundaryCharacters = new Set(`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`);
+    function assertValidBoundary(boundary) {
+      if (boundary.length > maxBoundaryLength) {
+        throw new Error(`Multipart boundary "${boundary}" exceeds maximum length of 70 characters`);
+      }
+      if (Array.from(boundary).some((x) => !validBoundaryCharacters.has(x))) {
+        throw new Error(`Multipart boundary "${boundary}" contains invalid characters`);
+      }
+    }
+    function multipartPolicy() {
+      return {
+        name: exports2.multipartPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.multipartBody) {
+            return next(request2);
           }
-          wrap(fn) {
-            var schedule, wrapped;
-            schedule = this.schedule.bind(this);
-            wrapped = function(...args) {
-              return schedule(fn.bind(this), ...args);
-            };
-            wrapped.withOptions = function(options, ...args) {
-              return schedule(options, fn, ...args);
-            };
-            return wrapped;
+          if (request2.body) {
+            throw new Error("multipartBody and regular body cannot be set at the same time");
           }
-          async updateSettings(options = {}) {
-            await this._store.__updateSettings__(parser$5.overwrite(options, this.storeDefaults));
-            parser$5.overwrite(options, this.instanceDefaults, this);
-            return this;
+          let boundary = request2.multipartBody.boundary;
+          const contentTypeHeader = request2.headers.get("Content-Type") ?? "multipart/mixed";
+          const parsedHeader = contentTypeHeader.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);
+          if (!parsedHeader) {
+            throw new Error(`Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`);
           }
-          currentReservoir() {
-            return this._store.__currentReservoir__();
+          const [, contentType, parsedBoundary] = parsedHeader;
+          if (parsedBoundary && boundary && parsedBoundary !== boundary) {
+            throw new Error(`Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`);
           }
-          incrementReservoir(incr = 0) {
-            return this._store.__incrementReservoir__(incr);
+          boundary ??= parsedBoundary;
+          if (boundary) {
+            assertValidBoundary(boundary);
+          } else {
+            boundary = generateBoundary();
           }
+          request2.headers.set("Content-Type", `${contentType}; boundary=${boundary}`);
+          await buildRequestBody(request2, request2.multipartBody.parts, boundary);
+          request2.multipartBody = void 0;
+          return next(request2);
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js
+var require_createPipelineFromOptions = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineFromOptions = createPipelineFromOptions;
+    var logPolicy_js_1 = require_logPolicy();
+    var pipeline_js_1 = require_pipeline();
+    var redirectPolicy_js_1 = require_redirectPolicy();
+    var userAgentPolicy_js_1 = require_userAgentPolicy();
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
+    var formDataPolicy_js_1 = require_formDataPolicy();
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    var proxyPolicy_js_1 = require_proxyPolicy();
+    var agentPolicy_js_1 = require_agentPolicy();
+    var tlsPolicy_js_1 = require_tlsPolicy();
+    var multipartPolicy_js_1 = require_multipartPolicy();
+    function createPipelineFromOptions(options) {
+      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
+      if (checkEnvironment_js_1.isNodeLike) {
+        if (options.agent) {
+          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
         }
-        Bottleneck3.default = Bottleneck3;
-        Bottleneck3.Events = Events$4;
-        Bottleneck3.version = Bottleneck3.prototype.version = require$$8.version;
-        Bottleneck3.strategy = Bottleneck3.prototype.strategy = {
-          LEAK: 1,
-          OVERFLOW: 2,
-          OVERFLOW_PRIORITY: 4,
-          BLOCK: 3
-        };
-        Bottleneck3.BottleneckError = Bottleneck3.prototype.BottleneckError = BottleneckError_1;
-        Bottleneck3.Group = Bottleneck3.prototype.Group = Group_1;
-        Bottleneck3.RedisConnection = Bottleneck3.prototype.RedisConnection = require$$2;
-        Bottleneck3.IORedisConnection = Bottleneck3.prototype.IORedisConnection = require$$3;
-        Bottleneck3.Batcher = Bottleneck3.prototype.Batcher = Batcher_1;
-        Bottleneck3.prototype.jobDefaults = {
-          priority: DEFAULT_PRIORITY$1,
-          weight: 1,
-          expiration: null,
-          id: ""
-        };
-        Bottleneck3.prototype.storeDefaults = {
-          maxConcurrent: null,
-          minTime: 0,
-          highWater: null,
-          strategy: Bottleneck3.prototype.strategy.LEAK,
-          penalty: null,
-          reservoir: null,
-          reservoirRefreshInterval: null,
-          reservoirRefreshAmount: null,
-          reservoirIncreaseInterval: null,
-          reservoirIncreaseAmount: null,
-          reservoirIncreaseMaximum: null
-        };
-        Bottleneck3.prototype.localStoreDefaults = {
-          Promise,
-          timeout: null,
-          heartbeatInterval: 250
-        };
-        Bottleneck3.prototype.redisStoreDefaults = {
-          Promise,
-          timeout: null,
-          heartbeatInterval: 5e3,
-          clientTimeout: 1e4,
-          Redis: null,
-          clientOptions: {},
-          clusterNodes: null,
-          clearDatastore: false,
-          connection: null
-        };
-        Bottleneck3.prototype.instanceDefaults = {
-          datastore: "local",
-          connection: null,
-          id: "",
-          rejectOnDrop: true,
-          trackDoneStatus: false,
-          Promise
-        };
-        Bottleneck3.prototype.stopDefaults = {
-          enqueueErrorMessage: "This limiter has been stopped and cannot accept new jobs.",
-          dropWaitingJobs: true,
-          dropErrorMessage: "This limiter has been stopped."
-        };
-        return Bottleneck3;
-      }).call(commonjsGlobal);
-      var Bottleneck_1 = Bottleneck2;
-      var lib = Bottleneck_1;
-      return lib;
-    }));
+        if (options.tlsOptions) {
+          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
+        }
+        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
+        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
+      }
+      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
+      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
+      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
+      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
+      if (checkEnvironment_js_1.isNodeLike) {
+        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
+      }
+      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
+      return pipeline;
+    }
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/config.js
-var require_config = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/config.js"(exports2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js
+var require_apiVersionPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js"(exports2) {
     "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getMaxArtifactListCount = exports2.getUploadChunkTimeout = exports2.getConcurrency = exports2.getGitHubWorkspaceDir = exports2.isGhes = exports2.getResultsServiceUrl = exports2.getRuntimeToken = exports2.getUploadChunkSize = void 0;
-    var os_1 = __importDefault2(require("os"));
-    var core_1 = require_core();
-    function getUploadChunkSize() {
-      return 8 * 1024 * 1024;
+    exports2.apiVersionPolicyName = void 0;
+    exports2.apiVersionPolicy = apiVersionPolicy;
+    exports2.apiVersionPolicyName = "ApiVersionPolicy";
+    function apiVersionPolicy(options) {
+      return {
+        name: exports2.apiVersionPolicyName,
+        sendRequest: (req, next) => {
+          const url = new URL(req.url);
+          if (!url.searchParams.get("api-version") && options.apiVersion) {
+            req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${options.apiVersion}`;
+          }
+          return next(req);
+        }
+      };
     }
-    exports2.getUploadChunkSize = getUploadChunkSize;
-    function getRuntimeToken() {
-      const token = process.env["ACTIONS_RUNTIME_TOKEN"];
-      if (!token) {
-        throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");
-      }
-      return token;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js
+var require_credentials = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isOAuth2TokenCredential = isOAuth2TokenCredential;
+    exports2.isBearerTokenCredential = isBearerTokenCredential;
+    exports2.isBasicCredential = isBasicCredential;
+    exports2.isApiKeyCredential = isApiKeyCredential;
+    function isOAuth2TokenCredential(credential) {
+      return "getOAuth2Token" in credential;
     }
-    exports2.getRuntimeToken = getRuntimeToken;
-    function getResultsServiceUrl() {
-      const resultsUrl = process.env["ACTIONS_RESULTS_URL"];
-      if (!resultsUrl) {
-        throw new Error("Unable to get the ACTIONS_RESULTS_URL env variable");
-      }
-      return new URL(resultsUrl).origin;
+    function isBearerTokenCredential(credential) {
+      return "getBearerToken" in credential;
     }
-    exports2.getResultsServiceUrl = getResultsServiceUrl;
-    function isGhes() {
-      const ghUrl = new URL(process.env["GITHUB_SERVER_URL"] || "https://github.com");
-      const hostname = ghUrl.hostname.trimEnd().toUpperCase();
-      const isGitHubHost = hostname === "GITHUB.COM";
-      const isGheHost = hostname.endsWith(".GHE.COM");
-      const isLocalHost = hostname.endsWith(".LOCALHOST");
-      return !isGitHubHost && !isGheHost && !isLocalHost;
+    function isBasicCredential(credential) {
+      return "username" in credential && "password" in credential;
     }
-    exports2.isGhes = isGhes;
-    function getGitHubWorkspaceDir() {
-      const ghWorkspaceDir = process.env["GITHUB_WORKSPACE"];
-      if (!ghWorkspaceDir) {
-        throw new Error("Unable to get the GITHUB_WORKSPACE env variable");
-      }
-      return ghWorkspaceDir;
+    function isApiKeyCredential(credential) {
+      return "key" in credential;
     }
-    exports2.getGitHubWorkspaceDir = getGitHubWorkspaceDir;
-    function getConcurrency() {
-      const numCPUs = os_1.default.cpus().length;
-      let concurrencyCap = 32;
-      if (numCPUs > 4) {
-        const concurrency = 16 * numCPUs;
-        concurrencyCap = concurrency > 300 ? 300 : concurrency;
-      }
-      const concurrencyOverride = process.env["ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY"];
-      if (concurrencyOverride) {
-        const concurrency = parseInt(concurrencyOverride);
-        if (isNaN(concurrency) || concurrency < 1) {
-          throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY env variable");
-        }
-        if (concurrency < concurrencyCap) {
-          (0, core_1.info)(`Set concurrency based on the value set in ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY.`);
-          return concurrency;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js
+var require_checkInsecureConnection = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ensureSecureConnection = ensureSecureConnection;
+    var log_js_1 = require_log2();
+    var insecureConnectionWarningEmmitted = false;
+    function allowInsecureConnection(request2, options) {
+      if (options.allowInsecureConnection && request2.allowInsecureConnection) {
+        const url = new URL(request2.url);
+        if (url.hostname === "localhost" || url.hostname === "127.0.0.1") {
+          return true;
         }
-        (0, core_1.info)(`ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY is higher than the cap of ${concurrencyCap} based on the number of cpus. Set it to the maximum value allowed.`);
-        return concurrencyCap;
       }
-      return 5;
+      return false;
     }
-    exports2.getConcurrency = getConcurrency;
-    function getUploadChunkTimeout() {
-      const timeoutVar = process.env["ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS"];
-      if (!timeoutVar) {
-        return 3e5;
-      }
-      const timeout = parseInt(timeoutVar);
-      if (isNaN(timeout)) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS env variable");
+    function emitInsecureConnectionWarning() {
+      const warning10 = "Sending token over insecure transport. Assume any token issued is compromised.";
+      log_js_1.logger.warning(warning10);
+      if (typeof process?.emitWarning === "function" && !insecureConnectionWarningEmmitted) {
+        insecureConnectionWarningEmmitted = true;
+        process.emitWarning(warning10);
       }
-      return timeout;
     }
-    exports2.getUploadChunkTimeout = getUploadChunkTimeout;
-    function getMaxArtifactListCount() {
-      const maxCountVar = process.env["ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT"] || "1000";
-      const maxCount = parseInt(maxCountVar);
-      if (isNaN(maxCount) || maxCount < 1) {
-        throw new Error("Invalid value set for ACTIONS_ARTIFACT_MAX_ARTIFACT_COUNT env variable");
+    function ensureSecureConnection(request2, options) {
+      if (!request2.url.toLowerCase().startsWith("https://")) {
+        if (allowInsecureConnection(request2, options)) {
+          emitInsecureConnectionWarning();
+        } else {
+          throw new Error("Authentication is not permitted for non-TLS protected (non-https) URLs when allowInsecureConnection is false.");
+        }
       }
-      return maxCount;
     }
-    exports2.getMaxArtifactListCount = getMaxArtifactListCount;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js
-var require_json_typings = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/json-typings.js"(exports2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js
+var require_apiKeyAuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isJsonObject = exports2.typeofJsonValue = void 0;
-    function typeofJsonValue(value) {
-      let t = typeof value;
-      if (t == "object") {
-        if (Array.isArray(value))
-          return "array";
-        if (value === null)
-          return "null";
-      }
-      return t;
-    }
-    exports2.typeofJsonValue = typeofJsonValue;
-    function isJsonObject(value) {
-      return value !== null && typeof value == "object" && !Array.isArray(value);
+    exports2.apiKeyAuthenticationPolicyName = void 0;
+    exports2.apiKeyAuthenticationPolicy = apiKeyAuthenticationPolicy;
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.apiKeyAuthenticationPolicyName = "apiKeyAuthenticationPolicy";
+    function apiKeyAuthenticationPolicy(options) {
+      return {
+        name: exports2.apiKeyAuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "apiKey");
+          if (!scheme) {
+            return next(request2);
+          }
+          if (scheme.apiKeyLocation !== "header") {
+            throw new Error(`Unsupported API key location: ${scheme.apiKeyLocation}`);
+          }
+          request2.headers.set(scheme.name, options.credential.key);
+          return next(request2);
+        }
+      };
     }
-    exports2.isJsonObject = isJsonObject;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/base64.js
-var require_base64 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/base64.js"(exports2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js
+var require_basicAuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.base64encode = exports2.base64decode = void 0;
-    var encTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
-    var decTable = [];
-    for (let i = 0; i < encTable.length; i++)
-      decTable[encTable[i].charCodeAt(0)] = i;
-    decTable["-".charCodeAt(0)] = encTable.indexOf("+");
-    decTable["_".charCodeAt(0)] = encTable.indexOf("/");
-    function base64decode(base64Str) {
-      let es = base64Str.length * 3 / 4;
-      if (base64Str[base64Str.length - 2] == "=")
-        es -= 2;
-      else if (base64Str[base64Str.length - 1] == "=")
-        es -= 1;
-      let bytes = new Uint8Array(es), bytePos = 0, groupPos = 0, b, p = 0;
-      for (let i = 0; i < base64Str.length; i++) {
-        b = decTable[base64Str.charCodeAt(i)];
-        if (b === void 0) {
-          switch (base64Str[i]) {
-            case "=":
-              groupPos = 0;
-            // reset state when padding found
-            case "\n":
-            case "\r":
-            case "	":
-            case " ":
-              continue;
-            // skip white-space, and padding
-            default:
-              throw Error(`invalid base64 string.`);
+    exports2.basicAuthenticationPolicyName = void 0;
+    exports2.basicAuthenticationPolicy = basicAuthenticationPolicy;
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.basicAuthenticationPolicyName = "bearerAuthenticationPolicy";
+    function basicAuthenticationPolicy(options) {
+      return {
+        name: exports2.basicAuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "basic");
+          if (!scheme) {
+            return next(request2);
           }
+          const { username, password } = options.credential;
+          const headerValue = (0, bytesEncoding_js_1.uint8ArrayToString)((0, bytesEncoding_js_1.stringToUint8Array)(`${username}:${password}`, "utf-8"), "base64");
+          request2.headers.set("Authorization", `Basic ${headerValue}`);
+          return next(request2);
         }
-        switch (groupPos) {
-          case 0:
-            p = b;
-            groupPos = 1;
-            break;
-          case 1:
-            bytes[bytePos++] = p << 2 | (b & 48) >> 4;
-            p = b;
-            groupPos = 2;
-            break;
-          case 2:
-            bytes[bytePos++] = (p & 15) << 4 | (b & 60) >> 2;
-            p = b;
-            groupPos = 3;
-            break;
-          case 3:
-            bytes[bytePos++] = (p & 3) << 6 | b;
-            groupPos = 0;
-            break;
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js
+var require_bearerAuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.bearerAuthenticationPolicyName = void 0;
+    exports2.bearerAuthenticationPolicy = bearerAuthenticationPolicy;
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.bearerAuthenticationPolicyName = "bearerAuthenticationPolicy";
+    function bearerAuthenticationPolicy(options) {
+      return {
+        name: exports2.bearerAuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "bearer");
+          if (!scheme) {
+            return next(request2);
+          }
+          const token = await options.credential.getBearerToken({
+            abortSignal: request2.abortSignal
+          });
+          request2.headers.set("Authorization", `Bearer ${token}`);
+          return next(request2);
         }
-      }
-      if (groupPos == 1)
-        throw Error(`invalid base64 string.`);
-      return bytes.subarray(0, bytePos);
+      };
     }
-    exports2.base64decode = base64decode;
-    function base64encode(bytes) {
-      let base64 = "", groupPos = 0, b, p = 0;
-      for (let i = 0; i < bytes.length; i++) {
-        b = bytes[i];
-        switch (groupPos) {
-          case 0:
-            base64 += encTable[b >> 2];
-            p = (b & 3) << 4;
-            groupPos = 1;
-            break;
-          case 1:
-            base64 += encTable[p | b >> 4];
-            p = (b & 15) << 2;
-            groupPos = 2;
-            break;
-          case 2:
-            base64 += encTable[p | b >> 6];
-            base64 += encTable[b & 63];
-            groupPos = 0;
-            break;
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js
+var require_oauth2AuthenticationPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.oauth2AuthenticationPolicyName = void 0;
+    exports2.oauth2AuthenticationPolicy = oauth2AuthenticationPolicy;
+    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
+    exports2.oauth2AuthenticationPolicyName = "oauth2AuthenticationPolicy";
+    function oauth2AuthenticationPolicy(options) {
+      return {
+        name: exports2.oauth2AuthenticationPolicyName,
+        async sendRequest(request2, next) {
+          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
+          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "oauth2");
+          if (!scheme) {
+            return next(request2);
+          }
+          const token = await options.credential.getOAuth2Token(scheme.flows, {
+            abortSignal: request2.abortSignal
+          });
+          request2.headers.set("Authorization", `Bearer ${token}`);
+          return next(request2);
         }
-      }
-      if (groupPos) {
-        base64 += encTable[p];
-        base64 += "=";
-        if (groupPos == 1)
-          base64 += "=";
-      }
-      return base64;
+      };
     }
-    exports2.base64encode = base64encode;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js
-var require_protobufjs_utf8 = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/protobufjs-utf8.js"(exports2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js
+var require_clientHelpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.utf8read = void 0;
-    var fromCharCodes = (chunk) => String.fromCharCode.apply(String, chunk);
-    function utf8read(bytes) {
-      if (bytes.length < 1)
-        return "";
-      let pos = 0, parts = [], chunk = [], i = 0, t;
-      let len = bytes.length;
-      while (pos < len) {
-        t = bytes[pos++];
-        if (t < 128)
-          chunk[i++] = t;
-        else if (t > 191 && t < 224)
-          chunk[i++] = (t & 31) << 6 | bytes[pos++] & 63;
-        else if (t > 239 && t < 365) {
-          t = ((t & 7) << 18 | (bytes[pos++] & 63) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63) - 65536;
-          chunk[i++] = 55296 + (t >> 10);
-          chunk[i++] = 56320 + (t & 1023);
-        } else
-          chunk[i++] = (t & 15) << 12 | (bytes[pos++] & 63) << 6 | bytes[pos++] & 63;
-        if (i > 8191) {
-          parts.push(fromCharCodes(chunk));
-          i = 0;
+    exports2.createDefaultPipeline = createDefaultPipeline;
+    exports2.getCachedDefaultHttpsClient = getCachedDefaultHttpsClient;
+    var defaultHttpClient_js_1 = require_defaultHttpClient();
+    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions();
+    var apiVersionPolicy_js_1 = require_apiVersionPolicy();
+    var credentials_js_1 = require_credentials();
+    var apiKeyAuthenticationPolicy_js_1 = require_apiKeyAuthenticationPolicy();
+    var basicAuthenticationPolicy_js_1 = require_basicAuthenticationPolicy();
+    var bearerAuthenticationPolicy_js_1 = require_bearerAuthenticationPolicy();
+    var oauth2AuthenticationPolicy_js_1 = require_oauth2AuthenticationPolicy();
+    var cachedHttpClient;
+    function createDefaultPipeline(options = {}) {
+      const pipeline = (0, createPipelineFromOptions_js_1.createPipelineFromOptions)(options);
+      pipeline.addPolicy((0, apiVersionPolicy_js_1.apiVersionPolicy)(options));
+      const { credential, authSchemes, allowInsecureConnection } = options;
+      if (credential) {
+        if ((0, credentials_js_1.isApiKeyCredential)(credential)) {
+          pipeline.addPolicy((0, apiKeyAuthenticationPolicy_js_1.apiKeyAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
+        } else if ((0, credentials_js_1.isBasicCredential)(credential)) {
+          pipeline.addPolicy((0, basicAuthenticationPolicy_js_1.basicAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
+        } else if ((0, credentials_js_1.isBearerTokenCredential)(credential)) {
+          pipeline.addPolicy((0, bearerAuthenticationPolicy_js_1.bearerAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
+        } else if ((0, credentials_js_1.isOAuth2TokenCredential)(credential)) {
+          pipeline.addPolicy((0, oauth2AuthenticationPolicy_js_1.oauth2AuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
         }
       }
-      if (parts.length) {
-        if (i)
-          parts.push(fromCharCodes(chunk.slice(0, i)));
-        return parts.join("");
+      return pipeline;
+    }
+    function getCachedDefaultHttpsClient() {
+      if (!cachedHttpClient) {
+        cachedHttpClient = (0, defaultHttpClient_js_1.createDefaultHttpClient)();
       }
-      return fromCharCodes(chunk.slice(0, i));
+      return cachedHttpClient;
     }
-    exports2.utf8read = utf8read;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js
-var require_binary_format_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-format-contract.js"(exports2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
+var require_multipart = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
-    var UnknownFieldHandler;
-    (function(UnknownFieldHandler2) {
-      UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
-      UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
-        let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
-        container.push({ no: fieldNo, wireType, data });
-      };
-      UnknownFieldHandler2.onWrite = (typeName, message, writer) => {
-        for (let { no, wireType, data } of UnknownFieldHandler2.list(message))
-          writer.tag(no, wireType).raw(data);
-      };
-      UnknownFieldHandler2.list = (message, fieldNo) => {
-        if (is(message)) {
-          let all = message[UnknownFieldHandler2.symbol];
-          return fieldNo ? all.filter((uf) => uf.no == fieldNo) : all;
+    exports2.buildBodyPart = buildBodyPart;
+    exports2.buildMultipartBody = buildMultipartBody;
+    var restError_js_1 = require_restError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    var typeGuards_js_1 = require_typeGuards();
+    function getHeaderValue(descriptor, headerName) {
+      if (descriptor.headers) {
+        const actualHeaderName = Object.keys(descriptor.headers).find((x) => x.toLowerCase() === headerName.toLowerCase());
+        if (actualHeaderName) {
+          return descriptor.headers[actualHeaderName];
         }
-        return [];
-      };
-      UnknownFieldHandler2.last = (message, fieldNo) => UnknownFieldHandler2.list(message, fieldNo).slice(-1)[0];
-      const is = (message) => message && Array.isArray(message[UnknownFieldHandler2.symbol]);
-    })(UnknownFieldHandler = exports2.UnknownFieldHandler || (exports2.UnknownFieldHandler = {}));
-    function mergeBinaryOptions(a, b) {
-      return Object.assign(Object.assign({}, a), b);
+      }
+      return void 0;
     }
-    exports2.mergeBinaryOptions = mergeBinaryOptions;
-    var WireType;
-    (function(WireType2) {
-      WireType2[WireType2["Varint"] = 0] = "Varint";
-      WireType2[WireType2["Bit64"] = 1] = "Bit64";
-      WireType2[WireType2["LengthDelimited"] = 2] = "LengthDelimited";
-      WireType2[WireType2["StartGroup"] = 3] = "StartGroup";
-      WireType2[WireType2["EndGroup"] = 4] = "EndGroup";
-      WireType2[WireType2["Bit32"] = 5] = "Bit32";
-    })(WireType = exports2.WireType || (exports2.WireType = {}));
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js
-var require_goog_varint = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/goog-varint.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.varint32read = exports2.varint32write = exports2.int64toString = exports2.int64fromString = exports2.varint64write = exports2.varint64read = void 0;
-    function varint64read() {
-      let lowBits = 0;
-      let highBits = 0;
-      for (let shift = 0; shift < 28; shift += 7) {
-        let b = this.buf[this.pos++];
-        lowBits |= (b & 127) << shift;
-        if ((b & 128) == 0) {
-          this.assertBounds();
-          return [lowBits, highBits];
-        }
+    function getPartContentType(descriptor) {
+      const contentTypeHeader = getHeaderValue(descriptor, "content-type");
+      if (contentTypeHeader) {
+        return contentTypeHeader;
       }
-      let middleByte = this.buf[this.pos++];
-      lowBits |= (middleByte & 15) << 28;
-      highBits = (middleByte & 112) >> 4;
-      if ((middleByte & 128) == 0) {
-        this.assertBounds();
-        return [lowBits, highBits];
+      if (descriptor.contentType === null) {
+        return void 0;
       }
-      for (let shift = 3; shift <= 31; shift += 7) {
-        let b = this.buf[this.pos++];
-        highBits |= (b & 127) << shift;
-        if ((b & 128) == 0) {
-          this.assertBounds();
-          return [lowBits, highBits];
-        }
+      if (descriptor.contentType) {
+        return descriptor.contentType;
       }
-      throw new Error("invalid varint");
-    }
-    exports2.varint64read = varint64read;
-    function varint64write(lo, hi, bytes) {
-      for (let i = 0; i < 28; i = i + 7) {
-        const shift = lo >>> i;
-        const hasNext = !(shift >>> 7 == 0 && hi == 0);
-        const byte = (hasNext ? shift | 128 : shift) & 255;
-        bytes.push(byte);
-        if (!hasNext) {
-          return;
-        }
+      const { body } = descriptor;
+      if (body === null || body === void 0) {
+        return void 0;
       }
-      const splitBits = lo >>> 28 & 15 | (hi & 7) << 4;
-      const hasMoreBits = !(hi >> 3 == 0);
-      bytes.push((hasMoreBits ? splitBits | 128 : splitBits) & 255);
-      if (!hasMoreBits) {
-        return;
+      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
+        return "text/plain; charset=UTF-8";
       }
-      for (let i = 3; i < 31; i = i + 7) {
-        const shift = hi >>> i;
-        const hasNext = !(shift >>> 7 == 0);
-        const byte = (hasNext ? shift | 128 : shift) & 255;
-        bytes.push(byte);
-        if (!hasNext) {
-          return;
-        }
+      if (body instanceof Blob) {
+        return body.type || "application/octet-stream";
       }
-      bytes.push(hi >>> 31 & 1);
-    }
-    exports2.varint64write = varint64write;
-    var TWO_PWR_32_DBL = (1 << 16) * (1 << 16);
-    function int64fromString(dec) {
-      let minus = dec[0] == "-";
-      if (minus)
-        dec = dec.slice(1);
-      const base = 1e6;
-      let lowBits = 0;
-      let highBits = 0;
-      function add1e6digit(begin, end) {
-        const digit1e6 = Number(dec.slice(begin, end));
-        highBits *= base;
-        lowBits = lowBits * base + digit1e6;
-        if (lowBits >= TWO_PWR_32_DBL) {
-          highBits = highBits + (lowBits / TWO_PWR_32_DBL | 0);
-          lowBits = lowBits % TWO_PWR_32_DBL;
-        }
+      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
+        return "application/octet-stream";
       }
-      add1e6digit(-24, -18);
-      add1e6digit(-18, -12);
-      add1e6digit(-12, -6);
-      add1e6digit(-6);
-      return [minus, lowBits, highBits];
+      return "application/json";
     }
-    exports2.int64fromString = int64fromString;
-    function int64toString(bitsLow, bitsHigh) {
-      if (bitsHigh >>> 0 <= 2097151) {
-        return "" + (TWO_PWR_32_DBL * bitsHigh + (bitsLow >>> 0));
+    function escapeDispositionField(value) {
+      return JSON.stringify(value);
+    }
+    function getContentDisposition(descriptor) {
+      const contentDispositionHeader = getHeaderValue(descriptor, "content-disposition");
+      if (contentDispositionHeader) {
+        return contentDispositionHeader;
       }
-      let low = bitsLow & 16777215;
-      let mid = (bitsLow >>> 24 | bitsHigh << 8) >>> 0 & 16777215;
-      let high = bitsHigh >> 16 & 65535;
-      let digitA = low + mid * 6777216 + high * 6710656;
-      let digitB = mid + high * 8147497;
-      let digitC = high * 2;
-      let base = 1e7;
-      if (digitA >= base) {
-        digitB += Math.floor(digitA / base);
-        digitA %= base;
+      if (descriptor.dispositionType === void 0 && descriptor.name === void 0 && descriptor.filename === void 0) {
+        return void 0;
       }
-      if (digitB >= base) {
-        digitC += Math.floor(digitB / base);
-        digitB %= base;
+      const dispositionType = descriptor.dispositionType ?? "form-data";
+      let disposition = dispositionType;
+      if (descriptor.name) {
+        disposition += `; name=${escapeDispositionField(descriptor.name)}`;
       }
-      function decimalFrom1e7(digit1e7, needLeadingZeros) {
-        let partial = digit1e7 ? String(digit1e7) : "";
-        if (needLeadingZeros) {
-          return "0000000".slice(partial.length) + partial;
+      let filename = void 0;
+      if (descriptor.filename) {
+        filename = descriptor.filename;
+      } else if (typeof File !== "undefined" && descriptor.body instanceof File) {
+        const filenameFromFile = descriptor.body.name;
+        if (filenameFromFile !== "") {
+          filename = filenameFromFile;
         }
-        return partial;
       }
-      return decimalFrom1e7(
-        digitC,
-        /*needLeadingZeros=*/
-        0
-      ) + decimalFrom1e7(
-        digitB,
-        /*needLeadingZeros=*/
-        digitC
-      ) + // If the final 1e7 digit didn't need leading zeros, we would have
-      // returned via the trivial code path at the top.
-      decimalFrom1e7(
-        digitA,
-        /*needLeadingZeros=*/
-        1
-      );
-    }
-    exports2.int64toString = int64toString;
-    function varint32write(value, bytes) {
-      if (value >= 0) {
-        while (value > 127) {
-          bytes.push(value & 127 | 128);
-          value = value >>> 7;
-        }
-        bytes.push(value);
-      } else {
-        for (let i = 0; i < 9; i++) {
-          bytes.push(value & 127 | 128);
-          value = value >> 7;
-        }
-        bytes.push(1);
+      if (filename) {
+        disposition += `; filename=${escapeDispositionField(filename)}`;
       }
+      return disposition;
     }
-    exports2.varint32write = varint32write;
-    function varint32read() {
-      let b = this.buf[this.pos++];
-      let result = b & 127;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+    function normalizeBody(body, contentType) {
+      if (body === void 0) {
+        return new Uint8Array([]);
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 7;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
+        return body;
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 14;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
+        return (0, bytesEncoding_js_1.stringToUint8Array)(String(body), "utf-8");
       }
-      b = this.buf[this.pos++];
-      result |= (b & 127) << 21;
-      if ((b & 128) == 0) {
-        this.assertBounds();
-        return result;
+      if (contentType && /application\/(.+\+)?json(;.+)?/i.test(String(contentType))) {
+        return (0, bytesEncoding_js_1.stringToUint8Array)(JSON.stringify(body), "utf-8");
       }
-      b = this.buf[this.pos++];
-      result |= (b & 15) << 28;
-      for (let readBytes = 5; (b & 128) !== 0 && readBytes < 10; readBytes++)
-        b = this.buf[this.pos++];
-      if ((b & 128) != 0)
-        throw new Error("invalid varint");
-      this.assertBounds();
-      return result >>> 0;
+      throw new restError_js_1.RestError(`Unsupported body/content-type combination: ${body}, ${contentType}`);
+    }
+    function buildBodyPart(descriptor) {
+      const contentType = getPartContentType(descriptor);
+      const contentDisposition = getContentDisposition(descriptor);
+      const headers = (0, httpHeaders_js_1.createHttpHeaders)(descriptor.headers ?? {});
+      if (contentType) {
+        headers.set("content-type", contentType);
+      }
+      if (contentDisposition) {
+        headers.set("content-disposition", contentDisposition);
+      }
+      const body = normalizeBody(descriptor.body, contentType);
+      return {
+        headers,
+        body
+      };
+    }
+    function buildMultipartBody(parts) {
+      return { parts: parts.map(buildBodyPart) };
     }
-    exports2.varint32read = varint32read;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js
-var require_pb_long = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/pb-long.js"(exports2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js
+var require_sendRequest = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PbLong = exports2.PbULong = exports2.detectBi = void 0;
-    var goog_varint_1 = require_goog_varint();
-    var BI;
-    function detectBi() {
-      const dv = new DataView(new ArrayBuffer(8));
-      const ok = globalThis.BigInt !== void 0 && typeof dv.getBigInt64 === "function" && typeof dv.getBigUint64 === "function" && typeof dv.setBigInt64 === "function" && typeof dv.setBigUint64 === "function";
-      BI = ok ? {
-        MIN: BigInt("-9223372036854775808"),
-        MAX: BigInt("9223372036854775807"),
-        UMIN: BigInt("0"),
-        UMAX: BigInt("18446744073709551615"),
-        C: BigInt,
-        V: dv
-      } : void 0;
+    exports2.sendRequest = sendRequest;
+    var restError_js_1 = require_restError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    var pipelineRequest_js_1 = require_pipelineRequest();
+    var clientHelpers_js_1 = require_clientHelpers();
+    var typeGuards_js_1 = require_typeGuards();
+    var multipart_js_1 = require_multipart();
+    async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
+      const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
+      const request2 = buildPipelineRequest(method, url, options);
+      try {
+        const response = await pipeline.sendRequest(httpClient, request2);
+        const headers = response.headers.toJSON();
+        const stream = response.readableStreamBody ?? response.browserStreamBody;
+        const parsedBody = options.responseAsStream || stream !== void 0 ? void 0 : getResponseBody(response);
+        const body = stream ?? parsedBody;
+        if (options?.onResponse) {
+          options.onResponse({ ...response, request: request2, rawHeaders: headers, parsedBody });
+        }
+        return {
+          request: request2,
+          headers,
+          status: `${response.status}`,
+          body
+        };
+      } catch (e) {
+        if ((0, restError_js_1.isRestError)(e) && e.response && options.onResponse) {
+          const { response } = e;
+          const rawHeaders = response.headers.toJSON();
+          options?.onResponse({ ...response, request: request2, rawHeaders }, e);
+        }
+        throw e;
+      }
     }
-    exports2.detectBi = detectBi;
-    detectBi();
-    function assertBi(bi) {
-      if (!bi)
-        throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support");
+    function getRequestContentType(options = {}) {
+      return options.contentType ?? options.headers?.["content-type"] ?? getContentType(options.body);
     }
-    var RE_DECIMAL_STR = /^-?[0-9]+$/;
-    var TWO_PWR_32_DBL = 4294967296;
-    var HALF_2_PWR_32 = 2147483648;
-    var SharedPbLong = class {
-      /**
-       * Create a new instance with the given bits.
-       */
-      constructor(lo, hi) {
-        this.lo = lo | 0;
-        this.hi = hi | 0;
-      }
-      /**
-       * Is this instance equal to 0?
-       */
-      isZero() {
-        return this.lo == 0 && this.hi == 0;
+    function getContentType(body) {
+      if (ArrayBuffer.isView(body)) {
+        return "application/octet-stream";
       }
-      /**
-       * Convert to a native number.
-       */
-      toNumber() {
-        let result = this.hi * TWO_PWR_32_DBL + (this.lo >>> 0);
-        if (!Number.isSafeInteger(result))
-          throw new Error("cannot convert to safe number");
-        return result;
+      if (typeof body === "string") {
+        try {
+          JSON.parse(body);
+          return "application/json";
+        } catch (error3) {
+          return void 0;
+        }
       }
-    };
-    var PbULong = class _PbULong extends SharedPbLong {
-      /**
-       * Create instance from a `string`, `number` or `bigint`.
-       */
-      static from(value) {
-        if (BI)
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              if (value == "")
-                throw new Error("string is no integer");
-              value = BI.C(value);
-            case "number":
-              if (value === 0)
-                return this.ZERO;
-              value = BI.C(value);
-            case "bigint":
-              if (!value)
-                return this.ZERO;
-              if (value < BI.UMIN)
-                throw new Error("signed value for ulong");
-              if (value > BI.UMAX)
-                throw new Error("ulong too large");
-              BI.V.setBigUint64(0, value, true);
-              return new _PbULong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
-          }
-        else
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              value = value.trim();
-              if (!RE_DECIMAL_STR.test(value))
-                throw new Error("string is no integer");
-              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
-              if (minus)
-                throw new Error("signed value for ulong");
-              return new _PbULong(lo, hi);
-            case "number":
-              if (value == 0)
-                return this.ZERO;
-              if (!Number.isSafeInteger(value))
-                throw new Error("number is no integer");
-              if (value < 0)
-                throw new Error("signed value for ulong");
-              return new _PbULong(value, value / TWO_PWR_32_DBL);
-          }
-        throw new Error("unknown value " + typeof value);
+      return "application/json";
+    }
+    function buildPipelineRequest(method, url, options = {}) {
+      const requestContentType = getRequestContentType(options);
+      const { body, multipartBody } = getRequestBody(options.body, requestContentType);
+      const hasContent = body !== void 0 || multipartBody !== void 0;
+      const headers = (0, httpHeaders_js_1.createHttpHeaders)({
+        ...options.headers ? options.headers : {},
+        accept: options.accept ?? options.headers?.accept ?? "application/json",
+        ...hasContent && requestContentType && {
+          "content-type": requestContentType
+        }
+      });
+      return (0, pipelineRequest_js_1.createPipelineRequest)({
+        url,
+        method,
+        body,
+        multipartBody,
+        headers,
+        allowInsecureConnection: options.allowInsecureConnection,
+        abortSignal: options.abortSignal,
+        onUploadProgress: options.onUploadProgress,
+        onDownloadProgress: options.onDownloadProgress,
+        timeout: options.timeout,
+        enableBrowserStreams: true,
+        streamResponseStatusCodes: options.responseAsStream ? /* @__PURE__ */ new Set([Number.POSITIVE_INFINITY]) : void 0
+      });
+    }
+    function getRequestBody(body, contentType = "") {
+      if (body === void 0) {
+        return { body: void 0 };
       }
-      /**
-       * Convert to decimal string.
-       */
-      toString() {
-        return BI ? this.toBigInt().toString() : goog_varint_1.int64toString(this.lo, this.hi);
+      if (typeof FormData !== "undefined" && body instanceof FormData) {
+        return { body };
       }
-      /**
-       * Convert to native bigint.
-       */
-      toBigInt() {
-        assertBi(BI);
-        BI.V.setInt32(0, this.lo, true);
-        BI.V.setInt32(4, this.hi, true);
-        return BI.V.getBigUint64(0, true);
+      if ((0, typeGuards_js_1.isReadableStream)(body)) {
+        return { body };
       }
-    };
-    exports2.PbULong = PbULong;
-    PbULong.ZERO = new PbULong(0, 0);
-    var PbLong = class _PbLong extends SharedPbLong {
-      /**
-       * Create instance from a `string`, `number` or `bigint`.
-       */
-      static from(value) {
-        if (BI)
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              if (value == "")
-                throw new Error("string is no integer");
-              value = BI.C(value);
-            case "number":
-              if (value === 0)
-                return this.ZERO;
-              value = BI.C(value);
-            case "bigint":
-              if (!value)
-                return this.ZERO;
-              if (value < BI.MIN)
-                throw new Error("signed long too small");
-              if (value > BI.MAX)
-                throw new Error("signed long too large");
-              BI.V.setBigInt64(0, value, true);
-              return new _PbLong(BI.V.getInt32(0, true), BI.V.getInt32(4, true));
+      if (ArrayBuffer.isView(body)) {
+        return { body: body instanceof Uint8Array ? body : JSON.stringify(body) };
+      }
+      const firstType = contentType.split(";")[0];
+      switch (firstType) {
+        case "application/json":
+          return { body: JSON.stringify(body) };
+        case "multipart/form-data":
+          if (Array.isArray(body)) {
+            return { multipartBody: (0, multipart_js_1.buildMultipartBody)(body) };
           }
-        else
-          switch (typeof value) {
-            case "string":
-              if (value == "0")
-                return this.ZERO;
-              value = value.trim();
-              if (!RE_DECIMAL_STR.test(value))
-                throw new Error("string is no integer");
-              let [minus, lo, hi] = goog_varint_1.int64fromString(value);
-              if (minus) {
-                if (hi > HALF_2_PWR_32 || hi == HALF_2_PWR_32 && lo != 0)
-                  throw new Error("signed long too small");
-              } else if (hi >= HALF_2_PWR_32)
-                throw new Error("signed long too large");
-              let pbl = new _PbLong(lo, hi);
-              return minus ? pbl.negate() : pbl;
-            case "number":
-              if (value == 0)
-                return this.ZERO;
-              if (!Number.isSafeInteger(value))
-                throw new Error("number is no integer");
-              return value > 0 ? new _PbLong(value, value / TWO_PWR_32_DBL) : new _PbLong(-value, -value / TWO_PWR_32_DBL).negate();
+          return { body: JSON.stringify(body) };
+        case "text/plain":
+          return { body: String(body) };
+        default:
+          if (typeof body === "string") {
+            return { body };
           }
-        throw new Error("unknown value " + typeof value);
-      }
-      /**
-       * Do we have a minus sign?
-       */
-      isNegative() {
-        return (this.hi & HALF_2_PWR_32) !== 0;
+          return { body: JSON.stringify(body) };
       }
-      /**
-       * Negate two's complement.
-       * Invert all the bits and add one to the result.
-       */
-      negate() {
-        let hi = ~this.hi, lo = this.lo;
-        if (lo)
-          lo = ~lo + 1;
-        else
-          hi += 1;
-        return new _PbLong(lo, hi);
+    }
+    function getResponseBody(response) {
+      const contentType = response.headers.get("content-type") ?? "";
+      const firstType = contentType.split(";")[0];
+      const bodyToParse = response.bodyAsText ?? "";
+      if (firstType === "text/plain") {
+        return String(bodyToParse);
       }
-      /**
-       * Convert to decimal string.
-       */
-      toString() {
-        if (BI)
-          return this.toBigInt().toString();
-        if (this.isNegative()) {
-          let n = this.negate();
-          return "-" + goog_varint_1.int64toString(n.lo, n.hi);
+      try {
+        return bodyToParse ? JSON.parse(bodyToParse) : void 0;
+      } catch (error3) {
+        if (firstType === "application/json") {
+          throw createParseError(response, error3);
         }
-        return goog_varint_1.int64toString(this.lo, this.hi);
-      }
-      /**
-       * Convert to native bigint.
-       */
-      toBigInt() {
-        assertBi(BI);
-        BI.V.setInt32(0, this.lo, true);
-        BI.V.setInt32(4, this.hi, true);
-        return BI.V.getBigInt64(0, true);
+        return String(bodyToParse);
       }
-    };
-    exports2.PbLong = PbLong;
-    PbLong.ZERO = new PbLong(0, 0);
+    }
+    function createParseError(response, err) {
+      const msg = `Error "${err}" occurred while parsing the response body - ${response.bodyAsText}.`;
+      const errCode = err.code ?? restError_js_1.RestError.PARSE_ERROR;
+      return new restError_js_1.RestError(msg, {
+        code: errCode,
+        statusCode: response.status,
+        request: response.request,
+        response
+      });
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js
-var require_binary_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-reader.js"(exports2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js
+var require_urlHelpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BinaryReader = exports2.binaryReadOptions = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var pb_long_1 = require_pb_long();
-    var goog_varint_1 = require_goog_varint();
-    var defaultsRead = {
-      readUnknownField: true,
-      readerFactory: (bytes) => new BinaryReader(bytes)
-    };
-    function binaryReadOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
+    exports2.buildRequestUrl = buildRequestUrl;
+    exports2.buildBaseUrl = buildBaseUrl;
+    exports2.replaceAll = replaceAll;
+    function isQueryParameterWithOptions(x) {
+      const value = x.value;
+      return value !== void 0 && value.toString !== void 0 && typeof value.toString === "function";
     }
-    exports2.binaryReadOptions = binaryReadOptions;
-    var BinaryReader = class {
-      constructor(buf, textDecoder) {
-        this.varint64 = goog_varint_1.varint64read;
-        this.uint32 = goog_varint_1.varint32read;
-        this.buf = buf;
-        this.len = buf.length;
-        this.pos = 0;
-        this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
-        this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder("utf-8", {
-          fatal: true,
-          ignoreBOM: true
-        });
+    function buildRequestUrl(endpoint2, routePath, pathParameters, options = {}) {
+      if (routePath.startsWith("https://") || routePath.startsWith("http://")) {
+        return routePath;
       }
-      /**
-       * Reads a tag - field number and wire type.
-       */
-      tag() {
-        let tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7;
-        if (fieldNo <= 0 || wireType < 0 || wireType > 5)
-          throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType);
-        return [fieldNo, wireType];
+      endpoint2 = buildBaseUrl(endpoint2, options);
+      routePath = buildRoutePath(routePath, pathParameters, options);
+      const requestUrl = appendQueryParams(`${endpoint2}/${routePath}`, options);
+      const url = new URL(requestUrl);
+      return url.toString().replace(/([^:]\/)\/+/g, "$1");
+    }
+    function getQueryParamValue(key, allowReserved, style, param) {
+      let separator;
+      if (style === "pipeDelimited") {
+        separator = "|";
+      } else if (style === "spaceDelimited") {
+        separator = "%20";
+      } else {
+        separator = ",";
       }
-      /**
-       * Skip one element on the wire and return the skipped data.
-       * Supports WireType.StartGroup since v2.0.0-alpha.23.
-       */
-      skip(wireType) {
-        let start = this.pos;
-        switch (wireType) {
-          case binary_format_contract_1.WireType.Varint:
-            while (this.buf[this.pos++] & 128) {
+      let paramValues;
+      if (Array.isArray(param)) {
+        paramValues = param;
+      } else if (typeof param === "object" && param.toString === Object.prototype.toString) {
+        paramValues = Object.entries(param).flat();
+      } else {
+        paramValues = [param];
+      }
+      const value = paramValues.map((p) => {
+        if (p === null || p === void 0) {
+          return "";
+        }
+        if (!p.toString || typeof p.toString !== "function") {
+          throw new Error(`Query parameters must be able to be represented as string, ${key} can't`);
+        }
+        const rawValue = p.toISOString !== void 0 ? p.toISOString() : p.toString();
+        return allowReserved ? rawValue : encodeURIComponent(rawValue);
+      }).join(separator);
+      return `${allowReserved ? key : encodeURIComponent(key)}=${value}`;
+    }
+    function appendQueryParams(url, options = {}) {
+      if (!options.queryParameters) {
+        return url;
+      }
+      const parsedUrl = new URL(url);
+      const queryParams = options.queryParameters;
+      const paramStrings = [];
+      for (const key of Object.keys(queryParams)) {
+        const param = queryParams[key];
+        if (param === void 0 || param === null) {
+          continue;
+        }
+        const hasMetadata = isQueryParameterWithOptions(param);
+        const rawValue = hasMetadata ? param.value : param;
+        const explode = hasMetadata ? param.explode ?? false : false;
+        const style = hasMetadata && param.style ? param.style : "form";
+        if (explode) {
+          if (Array.isArray(rawValue)) {
+            for (const item of rawValue) {
+              paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, item));
             }
-            break;
-          case binary_format_contract_1.WireType.Bit64:
-            this.pos += 4;
-          case binary_format_contract_1.WireType.Bit32:
-            this.pos += 4;
-            break;
-          case binary_format_contract_1.WireType.LengthDelimited:
-            let len = this.uint32();
-            this.pos += len;
-            break;
-          case binary_format_contract_1.WireType.StartGroup:
-            let t;
-            while ((t = this.tag()[1]) !== binary_format_contract_1.WireType.EndGroup) {
-              this.skip(t);
+          } else if (typeof rawValue === "object") {
+            for (const [actualKey, value] of Object.entries(rawValue)) {
+              paramStrings.push(getQueryParamValue(actualKey, options.skipUrlEncoding ?? false, style, value));
             }
-            break;
-          default:
-            throw new Error("cant skip wire type " + wireType);
+          } else {
+            throw new Error("explode can only be set to true for objects and arrays");
+          }
+        } else {
+          paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, rawValue));
         }
-        this.assertBounds();
-        return this.buf.subarray(start, this.pos);
-      }
-      /**
-       * Throws error if position in byte array is out of range.
-       */
-      assertBounds() {
-        if (this.pos > this.len)
-          throw new RangeError("premature EOF");
-      }
-      /**
-       * Read a `int32` field, a signed 32 bit varint.
-       */
-      int32() {
-        return this.uint32() | 0;
-      }
-      /**
-       * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.
-       */
-      sint32() {
-        let zze = this.uint32();
-        return zze >>> 1 ^ -(zze & 1);
-      }
-      /**
-       * Read a `int64` field, a signed 64-bit varint.
-       */
-      int64() {
-        return new pb_long_1.PbLong(...this.varint64());
-      }
-      /**
-       * Read a `uint64` field, an unsigned 64-bit varint.
-       */
-      uint64() {
-        return new pb_long_1.PbULong(...this.varint64());
-      }
-      /**
-       * Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.
-       */
-      sint64() {
-        let [lo, hi] = this.varint64();
-        let s = -(lo & 1);
-        lo = (lo >>> 1 | (hi & 1) << 31) ^ s;
-        hi = hi >>> 1 ^ s;
-        return new pb_long_1.PbLong(lo, hi);
-      }
-      /**
-       * Read a `bool` field, a variant.
-       */
-      bool() {
-        let [lo, hi] = this.varint64();
-        return lo !== 0 || hi !== 0;
-      }
-      /**
-       * Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.
-       */
-      fixed32() {
-        return this.view.getUint32((this.pos += 4) - 4, true);
-      }
-      /**
-       * Read a `sfixed32` field, a signed, fixed-length 32-bit integer.
-       */
-      sfixed32() {
-        return this.view.getInt32((this.pos += 4) - 4, true);
-      }
-      /**
-       * Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.
-       */
-      fixed64() {
-        return new pb_long_1.PbULong(this.sfixed32(), this.sfixed32());
       }
-      /**
-       * Read a `fixed64` field, a signed, fixed-length 64-bit integer.
-       */
-      sfixed64() {
-        return new pb_long_1.PbLong(this.sfixed32(), this.sfixed32());
+      if (parsedUrl.search !== "") {
+        parsedUrl.search += "&";
       }
-      /**
-       * Read a `float` field, 32-bit floating point number.
-       */
-      float() {
-        return this.view.getFloat32((this.pos += 4) - 4, true);
+      parsedUrl.search += paramStrings.join("&");
+      return parsedUrl.toString();
+    }
+    function buildBaseUrl(endpoint2, options) {
+      if (!options.pathParameters) {
+        return endpoint2;
       }
-      /**
-       * Read a `double` field, a 64-bit floating point number.
-       */
-      double() {
-        return this.view.getFloat64((this.pos += 8) - 8, true);
+      const pathParams = options.pathParameters;
+      for (const [key, param] of Object.entries(pathParams)) {
+        if (param === void 0 || param === null) {
+          throw new Error(`Path parameters ${key} must not be undefined or null`);
+        }
+        if (!param.toString || typeof param.toString !== "function") {
+          throw new Error(`Path parameters must be able to be represented as string, ${key} can't`);
+        }
+        let value = param.toISOString !== void 0 ? param.toISOString() : String(param);
+        if (!options.skipUrlEncoding) {
+          value = encodeURIComponent(param);
+        }
+        endpoint2 = replaceAll(endpoint2, `{${key}}`, value) ?? "";
       }
-      /**
-       * Read a `bytes` field, length-delimited arbitrary data.
-       */
-      bytes() {
-        let len = this.uint32();
-        let start = this.pos;
-        this.pos += len;
-        this.assertBounds();
-        return this.buf.subarray(start, start + len);
+      return endpoint2;
+    }
+    function buildRoutePath(routePath, pathParameters, options = {}) {
+      for (const pathParam of pathParameters) {
+        const allowReserved = typeof pathParam === "object" && (pathParam.allowReserved ?? false);
+        let value = typeof pathParam === "object" ? pathParam.value : pathParam;
+        if (!options.skipUrlEncoding && !allowReserved) {
+          value = encodeURIComponent(value);
+        }
+        routePath = routePath.replace(/\{[\w-]+\}/, String(value));
       }
-      /**
-       * Read a `string` field, length-delimited data converted to UTF-8 text.
-       */
-      string() {
-        return this.textDecoder.decode(this.bytes());
+      return routePath;
+    }
+    function replaceAll(value, searchValue, replaceValue) {
+      return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || "");
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js
+var require_getClient = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getClient = getClient;
+    var clientHelpers_js_1 = require_clientHelpers();
+    var sendRequest_js_1 = require_sendRequest();
+    var urlHelpers_js_1 = require_urlHelpers();
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    function getClient(endpoint2, clientOptions = {}) {
+      const pipeline = clientOptions.pipeline ?? (0, clientHelpers_js_1.createDefaultPipeline)(clientOptions);
+      if (clientOptions.additionalPolicies?.length) {
+        for (const { policy, position } of clientOptions.additionalPolicies) {
+          const afterPhase = position === "perRetry" ? "Sign" : void 0;
+          pipeline.addPolicy(policy, {
+            afterPhase
+          });
+        }
       }
-    };
-    exports2.BinaryReader = BinaryReader;
+      const { allowInsecureConnection, httpClient } = clientOptions;
+      const endpointUrl = clientOptions.endpoint ?? endpoint2;
+      const client = (path3, ...args) => {
+        const getUrl = (requestOptions) => (0, urlHelpers_js_1.buildRequestUrl)(endpointUrl, path3, args, { allowInsecureConnection, ...requestOptions });
+        return {
+          get: (requestOptions = {}) => {
+            return buildOperation("GET", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          post: (requestOptions = {}) => {
+            return buildOperation("POST", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          put: (requestOptions = {}) => {
+            return buildOperation("PUT", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          patch: (requestOptions = {}) => {
+            return buildOperation("PATCH", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          delete: (requestOptions = {}) => {
+            return buildOperation("DELETE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          head: (requestOptions = {}) => {
+            return buildOperation("HEAD", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          options: (requestOptions = {}) => {
+            return buildOperation("OPTIONS", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          },
+          trace: (requestOptions = {}) => {
+            return buildOperation("TRACE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          }
+        };
+      };
+      return {
+        path: client,
+        pathUnchecked: client,
+        pipeline
+      };
+    }
+    function buildOperation(method, url, pipeline, options, allowInsecureConnection, httpClient) {
+      allowInsecureConnection = options.allowInsecureConnection ?? allowInsecureConnection;
+      return {
+        then: function(onFulfilled, onrejected) {
+          return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection }, httpClient).then(onFulfilled, onrejected);
+        },
+        async asBrowserStream() {
+          if (checkEnvironment_js_1.isNodeLike) {
+            throw new Error("`asBrowserStream` is supported only in the browser environment. Use `asNodeStream` instead to obtain the response body stream. If you require a Web stream of the response in Node, consider using `Readable.toWeb` on the result of `asNodeStream`.");
+          } else {
+            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
+          }
+        },
+        async asNodeStream() {
+          if (checkEnvironment_js_1.isNodeLike) {
+            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
+          } else {
+            throw new Error("`isNodeStream` is not supported in the browser environment. Use `asBrowserStream` to obtain the response body stream.");
+          }
+        }
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js
+var require_operationOptionHelpers = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.operationOptionsToRequestParameters = operationOptionsToRequestParameters;
+    function operationOptionsToRequestParameters(options) {
+      return {
+        allowInsecureConnection: options.requestOptions?.allowInsecureConnection,
+        timeout: options.requestOptions?.timeout,
+        skipUrlEncoding: options.requestOptions?.skipUrlEncoding,
+        abortSignal: options.abortSignal,
+        onUploadProgress: options.requestOptions?.onUploadProgress,
+        onDownloadProgress: options.requestOptions?.onDownloadProgress,
+        headers: { ...options.requestOptions?.headers },
+        onResponse: options.onResponse
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js
+var require_restError2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createRestError = createRestError;
+    var restError_js_1 = require_restError();
+    var httpHeaders_js_1 = require_httpHeaders();
+    function createRestError(messageOrResponse, response) {
+      const resp = typeof messageOrResponse === "string" ? response : messageOrResponse;
+      const internalError = resp.body?.error ?? resp.body;
+      const message = typeof messageOrResponse === "string" ? messageOrResponse : internalError?.message ?? `Unexpected status code: ${resp.status}`;
+      return new restError_js_1.RestError(message, {
+        statusCode: statusCodeToNumber(resp.status),
+        code: internalError?.code,
+        request: resp.request,
+        response: toPipelineResponse(resp)
+      });
+    }
+    function toPipelineResponse(response) {
+      return {
+        headers: (0, httpHeaders_js_1.createHttpHeaders)(response.headers),
+        request: response.request,
+        status: statusCodeToNumber(response.status) ?? -1
+      };
+    }
+    function statusCodeToNumber(statusCode) {
+      const status = Number.parseInt(statusCode);
+      return Number.isNaN(status) ? void 0 : status;
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js
+var require_commonjs3 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createRestError = exports2.operationOptionsToRequestParameters = exports2.getClient = exports2.createDefaultHttpClient = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isRestError = exports2.RestError = exports2.createEmptyPipeline = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.TypeSpecRuntimeLogger = exports2.setLogLevel = exports2.getLogLevel = exports2.createClientLogger = exports2.AbortError = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var AbortError_js_1 = require_AbortError();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
+    var logger_js_1 = require_logger();
+    Object.defineProperty(exports2, "createClientLogger", { enumerable: true, get: function() {
+      return logger_js_1.createClientLogger;
+    } });
+    Object.defineProperty(exports2, "getLogLevel", { enumerable: true, get: function() {
+      return logger_js_1.getLogLevel;
+    } });
+    Object.defineProperty(exports2, "setLogLevel", { enumerable: true, get: function() {
+      return logger_js_1.setLogLevel;
+    } });
+    Object.defineProperty(exports2, "TypeSpecRuntimeLogger", { enumerable: true, get: function() {
+      return logger_js_1.TypeSpecRuntimeLogger;
+    } });
+    var httpHeaders_js_1 = require_httpHeaders();
+    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
+      return httpHeaders_js_1.createHttpHeaders;
+    } });
+    tslib_1.__exportStar(require_schemes(), exports2);
+    tslib_1.__exportStar(require_oauth2Flows(), exports2);
+    var pipelineRequest_js_1 = require_pipelineRequest();
+    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
+      return pipelineRequest_js_1.createPipelineRequest;
+    } });
+    var pipeline_js_1 = require_pipeline();
+    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
+      return pipeline_js_1.createEmptyPipeline;
+    } });
+    var restError_js_1 = require_restError();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return restError_js_1.RestError;
+    } });
+    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
+      return restError_js_1.isRestError;
+    } });
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.stringToUint8Array;
+    } });
+    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.uint8ArrayToString;
+    } });
+    var defaultHttpClient_js_1 = require_defaultHttpClient();
+    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
+      return defaultHttpClient_js_1.createDefaultHttpClient;
+    } });
+    var getClient_js_1 = require_getClient();
+    Object.defineProperty(exports2, "getClient", { enumerable: true, get: function() {
+      return getClient_js_1.getClient;
+    } });
+    var operationOptionHelpers_js_1 = require_operationOptionHelpers();
+    Object.defineProperty(exports2, "operationOptionsToRequestParameters", { enumerable: true, get: function() {
+      return operationOptionHelpers_js_1.operationOptionsToRequestParameters;
+    } });
+    var restError_js_2 = require_restError2();
+    Object.defineProperty(exports2, "createRestError", { enumerable: true, get: function() {
+      return restError_js_2.createRestError;
+    } });
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/assert.js
-var require_assert = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/assert.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js
+var require_pipeline2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertFloat32 = exports2.assertUInt32 = exports2.assertInt32 = exports2.assertNever = exports2.assert = void 0;
-    function assert(condition, msg) {
-      if (!condition) {
-        throw new Error(msg);
-      }
+    exports2.createEmptyPipeline = createEmptyPipeline;
+    var ts_http_runtime_1 = require_commonjs3();
+    function createEmptyPipeline() {
+      return (0, ts_http_runtime_1.createEmptyPipeline)();
     }
-    exports2.assert = assert;
-    function assertNever2(value, msg) {
-      throw new Error(msg !== null && msg !== void 0 ? msg : "Unexpected object: " + value);
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js
+var require_internal = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createLoggerContext = void 0;
+    var logger_js_1 = require_logger();
+    Object.defineProperty(exports2, "createLoggerContext", { enumerable: true, get: function() {
+      return logger_js_1.createLoggerContext;
+    } });
+  }
+});
+
+// node_modules/@azure/logger/dist/commonjs/index.js
+var require_commonjs4 = __commonJS({
+  "node_modules/@azure/logger/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureLogger = void 0;
+    exports2.setLogLevel = setLogLevel;
+    exports2.getLogLevel = getLogLevel;
+    exports2.createClientLogger = createClientLogger;
+    var logger_1 = require_internal();
+    var context2 = (0, logger_1.createLoggerContext)({
+      logLevelEnvVarName: "AZURE_LOG_LEVEL",
+      namespace: "azure"
+    });
+    exports2.AzureLogger = context2.logger;
+    function setLogLevel(level) {
+      context2.setLogLevel(level);
     }
-    exports2.assertNever = assertNever2;
-    var FLOAT32_MAX = 34028234663852886e22;
-    var FLOAT32_MIN = -34028234663852886e22;
-    var UINT32_MAX = 4294967295;
-    var INT32_MAX = 2147483647;
-    var INT32_MIN = -2147483648;
-    function assertInt32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid int 32: " + typeof arg);
-      if (!Number.isInteger(arg) || arg > INT32_MAX || arg < INT32_MIN)
-        throw new Error("invalid int 32: " + arg);
+    function getLogLevel() {
+      return context2.getLogLevel();
     }
-    exports2.assertInt32 = assertInt32;
-    function assertUInt32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid uint 32: " + typeof arg);
-      if (!Number.isInteger(arg) || arg > UINT32_MAX || arg < 0)
-        throw new Error("invalid uint 32: " + arg);
+    function createClientLogger(namespace) {
+      return context2.createClientLogger(namespace);
     }
-    exports2.assertUInt32 = assertUInt32;
-    function assertFloat32(arg) {
-      if (typeof arg !== "number")
-        throw new Error("invalid float 32: " + typeof arg);
-      if (!Number.isFinite(arg))
-        return;
-      if (arg > FLOAT32_MAX || arg < FLOAT32_MIN)
-        throw new Error("invalid float 32: " + arg);
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js
+var require_log3 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs4();
+    exports2.logger = (0, logger_1.createClientLogger)("core-rest-pipeline");
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js
+var require_exponentialRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.exponentialRetryPolicyName = void 0;
+    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
+    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants12();
+    exports2.exponentialRetryPolicyName = "exponentialRetryPolicy";
+    function exponentialRetryPolicy(options = {}) {
+      return (0, retryPolicy_js_1.retryPolicy)([
+        (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
+          ...options,
+          ignoreSystemErrors: true
+        })
+      ], {
+        maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+      });
     }
-    exports2.assertFloat32 = assertFloat32;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js
-var require_binary_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/binary-writer.js"(exports2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js
+var require_systemErrorRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BinaryWriter = exports2.binaryWriteOptions = void 0;
-    var pb_long_1 = require_pb_long();
-    var goog_varint_1 = require_goog_varint();
-    var assert_1 = require_assert();
-    var defaultsWrite = {
-      writeUnknownFields: true,
-      writerFactory: () => new BinaryWriter()
-    };
-    function binaryWriteOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
+    exports2.systemErrorRetryPolicyName = void 0;
+    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
+    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants12();
+    exports2.systemErrorRetryPolicyName = "systemErrorRetryPolicy";
+    function systemErrorRetryPolicy(options = {}) {
+      return {
+        name: exports2.systemErrorRetryPolicyName,
+        sendRequest: (0, retryPolicy_js_1.retryPolicy)([
+          (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
+            ...options,
+            ignoreHttpStatusCodes: true
+          })
+        ], {
+          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+        }).sendRequest
+      };
     }
-    exports2.binaryWriteOptions = binaryWriteOptions;
-    var BinaryWriter = class {
-      constructor(textEncoder) {
-        this.stack = [];
-        this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();
-        this.chunks = [];
-        this.buf = [];
-      }
-      /**
-       * Return all bytes written and reset this writer.
-       */
-      finish() {
-        this.chunks.push(new Uint8Array(this.buf));
-        let len = 0;
-        for (let i = 0; i < this.chunks.length; i++)
-          len += this.chunks[i].length;
-        let bytes = new Uint8Array(len);
-        let offset = 0;
-        for (let i = 0; i < this.chunks.length; i++) {
-          bytes.set(this.chunks[i], offset);
-          offset += this.chunks[i].length;
-        }
-        this.chunks = [];
-        return bytes;
-      }
-      /**
-       * Start a new fork for length-delimited data like a message
-       * or a packed repeated field.
-       *
-       * Must be joined later with `join()`.
-       */
-      fork() {
-        this.stack.push({ chunks: this.chunks, buf: this.buf });
-        this.chunks = [];
-        this.buf = [];
-        return this;
-      }
-      /**
-       * Join the last fork. Write its length and bytes, then
-       * return to the previous state.
-       */
-      join() {
-        let chunk = this.finish();
-        let prev = this.stack.pop();
-        if (!prev)
-          throw new Error("invalid state, fork stack empty");
-        this.chunks = prev.chunks;
-        this.buf = prev.buf;
-        this.uint32(chunk.byteLength);
-        return this.raw(chunk);
-      }
-      /**
-       * Writes a tag (field number and wire type).
-       *
-       * Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.
-       *
-       * Generated code should compute the tag ahead of time and call `uint32()`.
-       */
-      tag(fieldNo, type2) {
-        return this.uint32((fieldNo << 3 | type2) >>> 0);
-      }
-      /**
-       * Write a chunk of raw bytes.
-       */
-      raw(chunk) {
-        if (this.buf.length) {
-          this.chunks.push(new Uint8Array(this.buf));
-          this.buf = [];
-        }
-        this.chunks.push(chunk);
-        return this;
-      }
-      /**
-       * Write a `uint32` value, an unsigned 32 bit varint.
-       */
-      uint32(value) {
-        assert_1.assertUInt32(value);
-        while (value > 127) {
-          this.buf.push(value & 127 | 128);
-          value = value >>> 7;
-        }
-        this.buf.push(value);
-        return this;
-      }
-      /**
-       * Write a `int32` value, a signed 32 bit varint.
-       */
-      int32(value) {
-        assert_1.assertInt32(value);
-        goog_varint_1.varint32write(value, this.buf);
-        return this;
-      }
-      /**
-       * Write a `bool` value, a variant.
-       */
-      bool(value) {
-        this.buf.push(value ? 1 : 0);
-        return this;
-      }
-      /**
-       * Write a `bytes` value, length-delimited arbitrary data.
-       */
-      bytes(value) {
-        this.uint32(value.byteLength);
-        return this.raw(value);
-      }
-      /**
-       * Write a `string` value, length-delimited data converted to UTF-8 text.
-       */
-      string(value) {
-        let chunk = this.textEncoder.encode(value);
-        this.uint32(chunk.byteLength);
-        return this.raw(chunk);
-      }
-      /**
-       * Write a `float` value, 32-bit floating point number.
-       */
-      float(value) {
-        assert_1.assertFloat32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setFloat32(0, value, true);
-        return this.raw(chunk);
-      }
-      /**
-       * Write a `double` value, a 64-bit floating point number.
-       */
-      double(value) {
-        let chunk = new Uint8Array(8);
-        new DataView(chunk.buffer).setFloat64(0, value, true);
-        return this.raw(chunk);
-      }
-      /**
-       * Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
-       */
-      fixed32(value) {
-        assert_1.assertUInt32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setUint32(0, value, true);
-        return this.raw(chunk);
-      }
-      /**
-       * Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
-       */
-      sfixed32(value) {
-        assert_1.assertInt32(value);
-        let chunk = new Uint8Array(4);
-        new DataView(chunk.buffer).setInt32(0, value, true);
-        return this.raw(chunk);
-      }
-      /**
-       * Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
-       */
-      sint32(value) {
-        assert_1.assertInt32(value);
-        value = (value << 1 ^ value >> 31) >>> 0;
-        goog_varint_1.varint32write(value, this.buf);
-        return this;
-      }
-      /**
-       * Write a `fixed64` value, a signed, fixed-length 64-bit integer.
-       */
-      sfixed64(value) {
-        let chunk = new Uint8Array(8);
-        let view = new DataView(chunk.buffer);
-        let long = pb_long_1.PbLong.from(value);
-        view.setInt32(0, long.lo, true);
-        view.setInt32(4, long.hi, true);
-        return this.raw(chunk);
-      }
-      /**
-       * Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.
-       */
-      fixed64(value) {
-        let chunk = new Uint8Array(8);
-        let view = new DataView(chunk.buffer);
-        let long = pb_long_1.PbULong.from(value);
-        view.setInt32(0, long.lo, true);
-        view.setInt32(4, long.hi, true);
-        return this.raw(chunk);
-      }
-      /**
-       * Write a `int64` value, a signed 64-bit varint.
-       */
-      int64(value) {
-        let long = pb_long_1.PbLong.from(value);
-        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
-        return this;
-      }
-      /**
-       * Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.
-       */
-      sint64(value) {
-        let long = pb_long_1.PbLong.from(value), sign = long.hi >> 31, lo = long.lo << 1 ^ sign, hi = (long.hi << 1 | long.lo >>> 31) ^ sign;
-        goog_varint_1.varint64write(lo, hi, this.buf);
-        return this;
-      }
-      /**
-       * Write a `uint64` value, an unsigned 64-bit varint.
-       */
-      uint64(value) {
-        let long = pb_long_1.PbULong.from(value);
-        goog_varint_1.varint64write(long.lo, long.hi, this.buf);
-        return this;
-      }
-    };
-    exports2.BinaryWriter = BinaryWriter;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js
-var require_json_format_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/json-format-contract.js"(exports2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js
+var require_throttlingRetryPolicy = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.throttlingRetryPolicyName = void 0;
+    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
+    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
+    var retryPolicy_js_1 = require_retryPolicy();
+    var constants_js_1 = require_constants12();
+    exports2.throttlingRetryPolicyName = "throttlingRetryPolicy";
+    function throttlingRetryPolicy(options = {}) {
+      return {
+        name: exports2.throttlingRetryPolicyName,
+        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)()], {
+          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
+        }).sendRequest
+      };
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js
+var require_internal2 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.retryPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.defaultRetryPolicyName = exports2.defaultRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.agentPolicyName = exports2.agentPolicy = void 0;
+    var agentPolicy_js_1 = require_agentPolicy();
+    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicy;
+    } });
+    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicyName;
+    } });
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
+    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicy;
+    } });
+    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
+    } });
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
+    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
+      return defaultRetryPolicy_js_1.defaultRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "defaultRetryPolicyName", { enumerable: true, get: function() {
+      return defaultRetryPolicy_js_1.defaultRetryPolicyName;
+    } });
+    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy();
+    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
+    } });
+    var retryPolicy_js_1 = require_retryPolicy();
+    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
+      return retryPolicy_js_1.retryPolicy;
+    } });
+    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy();
+    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
+    } });
+    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy();
+    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
+    } });
+    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
+    } });
+    var formDataPolicy_js_1 = require_formDataPolicy();
+    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicy;
+    } });
+    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicyName;
+    } });
+    var logPolicy_js_1 = require_logPolicy();
+    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicy;
+    } });
+    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicyName;
+    } });
+    var multipartPolicy_js_1 = require_multipartPolicy();
+    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicy;
+    } });
+    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicyName;
+    } });
+    var proxyPolicy_js_1 = require_proxyPolicy();
+    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicy;
+    } });
+    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicyName;
+    } });
+    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.getDefaultProxySettings;
+    } });
+    var redirectPolicy_js_1 = require_redirectPolicy();
+    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicy;
+    } });
+    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicyName;
+    } });
+    var tlsPolicy_js_1 = require_tlsPolicy();
+    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicy;
+    } });
+    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicyName;
+    } });
+    var userAgentPolicy_js_1 = require_userAgentPolicy();
+    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicy;
+    } });
+    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicyName;
+    } });
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js
+var require_logPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.mergeJsonOptions = exports2.jsonWriteOptions = exports2.jsonReadOptions = void 0;
-    var defaultsWrite = {
-      emitDefaultValues: false,
-      enumAsInteger: false,
-      useProtoFieldName: false,
-      prettySpaces: 0
-    };
-    var defaultsRead = {
-      ignoreUnknownFields: false
-    };
-    function jsonReadOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsRead), options) : defaultsRead;
-    }
-    exports2.jsonReadOptions = jsonReadOptions;
-    function jsonWriteOptions(options) {
-      return options ? Object.assign(Object.assign({}, defaultsWrite), options) : defaultsWrite;
-    }
-    exports2.jsonWriteOptions = jsonWriteOptions;
-    function mergeJsonOptions(a, b) {
-      var _a, _b;
-      let c = Object.assign(Object.assign({}, a), b);
-      c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []];
-      return c;
+    exports2.logPolicyName = void 0;
+    exports2.logPolicy = logPolicy;
+    var log_js_1 = require_log3();
+    var policies_1 = require_internal2();
+    exports2.logPolicyName = policies_1.logPolicyName;
+    function logPolicy(options = {}) {
+      return (0, policies_1.logPolicy)({
+        logger: log_js_1.logger.info,
+        ...options
+      });
     }
-    exports2.mergeJsonOptions = mergeJsonOptions;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js
-var require_message_type_contract = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type-contract.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js
+var require_redirectPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MESSAGE_TYPE = void 0;
-    exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
+    exports2.redirectPolicyName = void 0;
+    exports2.redirectPolicy = redirectPolicy;
+    var policies_1 = require_internal2();
+    exports2.redirectPolicyName = policies_1.redirectPolicyName;
+    function redirectPolicy(options = {}) {
+      return (0, policies_1.redirectPolicy)(options);
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js
-var require_lower_camel_case = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/lower-camel-case.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js
+var require_userAgentPlatform2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.lowerCamelCase = void 0;
-    function lowerCamelCase(snakeCase) {
-      let capNext = false;
-      const sb = [];
-      for (let i = 0; i < snakeCase.length; i++) {
-        let next = snakeCase.charAt(i);
-        if (next == "_") {
-          capNext = true;
-        } else if (/\d/.test(next)) {
-          sb.push(next);
-          capNext = true;
-        } else if (capNext) {
-          sb.push(next.toUpperCase());
-          capNext = false;
-        } else if (i == 0) {
-          sb.push(next.toLowerCase());
-        } else {
-          sb.push(next);
+    exports2.getHeaderName = getHeaderName;
+    exports2.setPlatformSpecificData = setPlatformSpecificData;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_os_1 = tslib_1.__importDefault(require("node:os"));
+    var node_process_1 = tslib_1.__importDefault(require("node:process"));
+    function getHeaderName() {
+      return "User-Agent";
+    }
+    async function setPlatformSpecificData(map2) {
+      if (node_process_1.default && node_process_1.default.versions) {
+        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
+        const versions = node_process_1.default.versions;
+        if (versions.bun) {
+          map2.set("Bun", `${versions.bun} (${osInfo})`);
+        } else if (versions.deno) {
+          map2.set("Deno", `${versions.deno} (${osInfo})`);
+        } else if (versions.node) {
+          map2.set("Node", `${versions.node} (${osInfo})`);
         }
       }
-      return sb.join("");
     }
-    exports2.lowerCamelCase = lowerCamelCase;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js
-var require_reflection_info = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-info.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js
+var require_constants13 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.readMessageOption = exports2.readFieldOption = exports2.readFieldOptions = exports2.normalizeFieldInfo = exports2.RepeatType = exports2.LongType = exports2.ScalarType = void 0;
-    var lower_camel_case_1 = require_lower_camel_case();
-    var ScalarType;
-    (function(ScalarType2) {
-      ScalarType2[ScalarType2["DOUBLE"] = 1] = "DOUBLE";
-      ScalarType2[ScalarType2["FLOAT"] = 2] = "FLOAT";
-      ScalarType2[ScalarType2["INT64"] = 3] = "INT64";
-      ScalarType2[ScalarType2["UINT64"] = 4] = "UINT64";
-      ScalarType2[ScalarType2["INT32"] = 5] = "INT32";
-      ScalarType2[ScalarType2["FIXED64"] = 6] = "FIXED64";
-      ScalarType2[ScalarType2["FIXED32"] = 7] = "FIXED32";
-      ScalarType2[ScalarType2["BOOL"] = 8] = "BOOL";
-      ScalarType2[ScalarType2["STRING"] = 9] = "STRING";
-      ScalarType2[ScalarType2["BYTES"] = 12] = "BYTES";
-      ScalarType2[ScalarType2["UINT32"] = 13] = "UINT32";
-      ScalarType2[ScalarType2["SFIXED32"] = 15] = "SFIXED32";
-      ScalarType2[ScalarType2["SFIXED64"] = 16] = "SFIXED64";
-      ScalarType2[ScalarType2["SINT32"] = 17] = "SINT32";
-      ScalarType2[ScalarType2["SINT64"] = 18] = "SINT64";
-    })(ScalarType = exports2.ScalarType || (exports2.ScalarType = {}));
-    var LongType;
-    (function(LongType2) {
-      LongType2[LongType2["BIGINT"] = 0] = "BIGINT";
-      LongType2[LongType2["STRING"] = 1] = "STRING";
-      LongType2[LongType2["NUMBER"] = 2] = "NUMBER";
-    })(LongType = exports2.LongType || (exports2.LongType = {}));
-    var RepeatType;
-    (function(RepeatType2) {
-      RepeatType2[RepeatType2["NO"] = 0] = "NO";
-      RepeatType2[RepeatType2["PACKED"] = 1] = "PACKED";
-      RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED";
-    })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {}));
-    function normalizeFieldInfo(field) {
-      var _a, _b, _c, _d;
-      field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name);
-      field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name);
-      field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO;
-      field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message";
-      return field;
-    }
-    exports2.normalizeFieldInfo = normalizeFieldInfo;
-    function readFieldOptions(messageType, fieldName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
-      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
-    }
-    exports2.readFieldOptions = readFieldOptions;
-    function readFieldOption(messageType, fieldName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options;
-      if (!options) {
-        return void 0;
-      }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
-      }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
-    }
-    exports2.readFieldOption = readFieldOption;
-    function readMessageOption(messageType, extensionName, extensionType) {
-      const options = messageType.options;
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
-      }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
-    }
-    exports2.readMessageOption = readMessageOption;
+    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "1.22.2";
+    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js
-var require_oneof = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/oneof.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js
+var require_userAgent2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getSelectedOneofValue = exports2.clearOneofValue = exports2.setUnknownOneofValue = exports2.setOneofValue = exports2.getOneofValue = exports2.isOneofGroup = void 0;
-    function isOneofGroup(any) {
-      if (typeof any != "object" || any === null || !any.hasOwnProperty("oneofKind")) {
-        return false;
-      }
-      switch (typeof any.oneofKind) {
-        case "string":
-          if (any[any.oneofKind] === void 0)
-            return false;
-          return Object.keys(any).length == 2;
-        case "undefined":
-          return Object.keys(any).length == 1;
-        default:
-          return false;
-      }
-    }
-    exports2.isOneofGroup = isOneofGroup;
-    function getOneofValue(oneof, kind) {
-      return oneof[kind];
-    }
-    exports2.getOneofValue = getOneofValue;
-    function setOneofValue(oneof, kind, value) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
-      }
-      oneof.oneofKind = kind;
-      if (value !== void 0) {
-        oneof[kind] = value;
-      }
-    }
-    exports2.setOneofValue = setOneofValue;
-    function setUnknownOneofValue(oneof, kind, value) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
-      }
-      oneof.oneofKind = kind;
-      if (value !== void 0 && kind !== void 0) {
-        oneof[kind] = value;
+    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
+    exports2.getUserAgentValue = getUserAgentValue;
+    var userAgentPlatform_js_1 = require_userAgentPlatform2();
+    var constants_js_1 = require_constants13();
+    function getUserAgentString(telemetryInfo) {
+      const parts = [];
+      for (const [key, value] of telemetryInfo) {
+        const token = value ? `${key}/${value}` : key;
+        parts.push(token);
       }
+      return parts.join(" ");
     }
-    exports2.setUnknownOneofValue = setUnknownOneofValue;
-    function clearOneofValue(oneof) {
-      if (oneof.oneofKind !== void 0) {
-        delete oneof[oneof.oneofKind];
-      }
-      oneof.oneofKind = void 0;
+    function getUserAgentHeaderName() {
+      return (0, userAgentPlatform_js_1.getHeaderName)();
     }
-    exports2.clearOneofValue = clearOneofValue;
-    function getSelectedOneofValue(oneof) {
-      if (oneof.oneofKind === void 0) {
-        return void 0;
-      }
-      return oneof[oneof.oneofKind];
+    async function getUserAgentValue(prefix) {
+      const runtimeInfo = /* @__PURE__ */ new Map();
+      runtimeInfo.set("core-rest-pipeline", constants_js_1.SDK_VERSION);
+      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
+      const defaultAgent = getUserAgentString(runtimeInfo);
+      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
+      return userAgentValue;
     }
-    exports2.getSelectedOneofValue = getSelectedOneofValue;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js
-var require_reflection_type_check = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-type-check.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js
+var require_userAgentPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionTypeCheck = void 0;
-    var reflection_info_1 = require_reflection_info();
-    var oneof_1 = require_oneof();
-    var ReflectionTypeCheck = class {
-      constructor(info7) {
-        var _a;
-        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
-      }
-      prepare() {
-        if (this.data)
-          return;
-        const req = [], known = [], oneofs = [];
-        for (let field of this.fields) {
-          if (field.oneof) {
-            if (!oneofs.includes(field.oneof)) {
-              oneofs.push(field.oneof);
-              req.push(field.oneof);
-              known.push(field.oneof);
-            }
-          } else {
-            known.push(field.localName);
-            switch (field.kind) {
-              case "scalar":
-              case "enum":
-                if (!field.opt || field.repeat)
-                  req.push(field.localName);
-                break;
-              case "message":
-                if (field.repeat)
-                  req.push(field.localName);
-                break;
-              case "map":
-                req.push(field.localName);
-                break;
-            }
-          }
-        }
-        this.data = { req, known, oneofs: Object.values(oneofs) };
-      }
-      /**
-       * Is the argument a valid message as specified by the
-       * reflection information?
-       *
-       * Checks all field types recursively. The `depth`
-       * specifies how deep into the structure the check will be.
-       *
-       * With a depth of 0, only the presence of fields
-       * is checked.
-       *
-       * With a depth of 1 or more, the field types are checked.
-       *
-       * With a depth of 2 or more, the members of map, repeated
-       * and message fields are checked.
-       *
-       * Message fields will be checked recursively with depth - 1.
-       *
-       * The number of map entries / repeated values being checked
-       * is < depth.
-       */
-      is(message, depth, allowExcessProperties = false) {
-        if (depth < 0)
-          return true;
-        if (message === null || message === void 0 || typeof message != "object")
-          return false;
-        this.prepare();
-        let keys = Object.keys(message), data = this.data;
-        if (keys.length < data.req.length || data.req.some((n) => !keys.includes(n)))
-          return false;
-        if (!allowExcessProperties) {
-          if (keys.some((k) => !data.known.includes(k)))
-            return false;
-        }
-        if (depth < 1) {
-          return true;
-        }
-        for (const name of data.oneofs) {
-          const group = message[name];
-          if (!oneof_1.isOneofGroup(group))
-            return false;
-          if (group.oneofKind === void 0)
-            continue;
-          const field = this.fields.find((f) => f.localName === group.oneofKind);
-          if (!field)
-            return false;
-          if (!this.field(group[group.oneofKind], field, allowExcessProperties, depth))
-            return false;
-        }
-        for (const field of this.fields) {
-          if (field.oneof !== void 0)
-            continue;
-          if (!this.field(message[field.localName], field, allowExcessProperties, depth))
-            return false;
-        }
-        return true;
-      }
-      field(arg, field, allowExcessProperties, depth) {
-        let repeated = field.repeat;
-        switch (field.kind) {
-          case "scalar":
-            if (arg === void 0)
-              return field.opt;
-            if (repeated)
-              return this.scalars(arg, field.T, depth, field.L);
-            return this.scalar(arg, field.T, field.L);
-          case "enum":
-            if (arg === void 0)
-              return field.opt;
-            if (repeated)
-              return this.scalars(arg, reflection_info_1.ScalarType.INT32, depth);
-            return this.scalar(arg, reflection_info_1.ScalarType.INT32);
-          case "message":
-            if (arg === void 0)
-              return true;
-            if (repeated)
-              return this.messages(arg, field.T(), allowExcessProperties, depth);
-            return this.message(arg, field.T(), allowExcessProperties, depth);
-          case "map":
-            if (typeof arg != "object" || arg === null)
-              return false;
-            if (depth < 2)
-              return true;
-            if (!this.mapKeys(arg, field.K, depth))
-              return false;
-            switch (field.V.kind) {
-              case "scalar":
-                return this.scalars(Object.values(arg), field.V.T, depth, field.V.L);
-              case "enum":
-                return this.scalars(Object.values(arg), reflection_info_1.ScalarType.INT32, depth);
-              case "message":
-                return this.messages(Object.values(arg), field.V.T(), allowExcessProperties, depth);
-            }
-            break;
-        }
-        return true;
-      }
-      message(arg, type2, allowExcessProperties, depth) {
-        if (allowExcessProperties) {
-          return type2.isAssignable(arg, depth);
-        }
-        return type2.is(arg, depth);
-      }
-      messages(arg, type2, allowExcessProperties, depth) {
-        if (!Array.isArray(arg))
-          return false;
-        if (depth < 2)
-          return true;
-        if (allowExcessProperties) {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!type2.isAssignable(arg[i], depth - 1))
-              return false;
-        } else {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!type2.is(arg[i], depth - 1))
-              return false;
-        }
-        return true;
-      }
-      scalar(arg, type2, longType) {
-        let argType = typeof arg;
-        switch (type2) {
-          case reflection_info_1.ScalarType.UINT64:
-          case reflection_info_1.ScalarType.FIXED64:
-          case reflection_info_1.ScalarType.INT64:
-          case reflection_info_1.ScalarType.SFIXED64:
-          case reflection_info_1.ScalarType.SINT64:
-            switch (longType) {
-              case reflection_info_1.LongType.BIGINT:
-                return argType == "bigint";
-              case reflection_info_1.LongType.NUMBER:
-                return argType == "number" && !isNaN(arg);
-              default:
-                return argType == "string";
-            }
-          case reflection_info_1.ScalarType.BOOL:
-            return argType == "boolean";
-          case reflection_info_1.ScalarType.STRING:
-            return argType == "string";
-          case reflection_info_1.ScalarType.BYTES:
-            return arg instanceof Uint8Array;
-          case reflection_info_1.ScalarType.DOUBLE:
-          case reflection_info_1.ScalarType.FLOAT:
-            return argType == "number" && !isNaN(arg);
-          default:
-            return argType == "number" && Number.isInteger(arg);
-        }
-      }
-      scalars(arg, type2, depth, longType) {
-        if (!Array.isArray(arg))
-          return false;
-        if (depth < 2)
-          return true;
-        if (Array.isArray(arg)) {
-          for (let i = 0; i < arg.length && i < depth; i++)
-            if (!this.scalar(arg[i], type2, longType))
-              return false;
-        }
-        return true;
-      }
-      mapKeys(map2, type2, depth) {
-        let keys = Object.keys(map2);
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-          case reflection_info_1.ScalarType.UINT32:
-            return this.scalars(keys.slice(0, depth).map((k) => parseInt(k)), type2, depth);
-          case reflection_info_1.ScalarType.BOOL:
-            return this.scalars(keys.slice(0, depth).map((k) => k == "true" ? true : k == "false" ? false : k), type2, depth);
-          default:
-            return this.scalars(keys, type2, depth, reflection_info_1.LongType.STRING);
+    exports2.userAgentPolicyName = void 0;
+    exports2.userAgentPolicy = userAgentPolicy;
+    var userAgent_js_1 = require_userAgent2();
+    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
+    exports2.userAgentPolicyName = "userAgentPolicy";
+    function userAgentPolicy(options = {}) {
+      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
+      return {
+        name: exports2.userAgentPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.headers.has(UserAgentHeaderName)) {
+            request2.headers.set(UserAgentHeaderName, await userAgentValue);
+          }
+          return next(request2);
         }
-      }
-    };
-    exports2.ReflectionTypeCheck = ReflectionTypeCheck;
+      };
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js
-var require_reflection_long_convert = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-long-convert.js"(exports2) {
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js
+var require_sha256 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionLongConvert = void 0;
-    var reflection_info_1 = require_reflection_info();
-    function reflectionLongConvert(long, type2) {
-      switch (type2) {
-        case reflection_info_1.LongType.BIGINT:
-          return long.toBigInt();
-        case reflection_info_1.LongType.NUMBER:
-          return long.toNumber();
-        default:
-          return long.toString();
+    exports2.computeSha256Hmac = computeSha256Hmac;
+    exports2.computeSha256Hash = computeSha256Hash;
+    var node_crypto_1 = require("node:crypto");
+    async function computeSha256Hmac(key, stringToSign, encoding) {
+      const decodedKey = Buffer.from(key, "base64");
+      return (0, node_crypto_1.createHmac)("sha256", decodedKey).update(stringToSign).digest(encoding);
+    }
+    async function computeSha256Hash(content, encoding) {
+      return (0, node_crypto_1.createHash)("sha256").update(content).digest(encoding);
+    }
+  }
+});
+
+// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js
+var require_internal3 = __commonJS({
+  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Sanitizer = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isWebWorker = exports2.isReactNative = exports2.isDeno = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isBrowser = exports2.randomUUID = exports2.computeSha256Hmac = exports2.computeSha256Hash = exports2.isError = exports2.isObject = exports2.getRandomIntegerInclusive = exports2.calculateRetryDelay = void 0;
+    var delay_js_1 = require_delay();
+    Object.defineProperty(exports2, "calculateRetryDelay", { enumerable: true, get: function() {
+      return delay_js_1.calculateRetryDelay;
+    } });
+    var random_js_1 = require_random();
+    Object.defineProperty(exports2, "getRandomIntegerInclusive", { enumerable: true, get: function() {
+      return random_js_1.getRandomIntegerInclusive;
+    } });
+    var object_js_1 = require_object();
+    Object.defineProperty(exports2, "isObject", { enumerable: true, get: function() {
+      return object_js_1.isObject;
+    } });
+    var error_js_1 = require_error();
+    Object.defineProperty(exports2, "isError", { enumerable: true, get: function() {
+      return error_js_1.isError;
+    } });
+    var sha256_js_1 = require_sha256();
+    Object.defineProperty(exports2, "computeSha256Hash", { enumerable: true, get: function() {
+      return sha256_js_1.computeSha256Hash;
+    } });
+    Object.defineProperty(exports2, "computeSha256Hmac", { enumerable: true, get: function() {
+      return sha256_js_1.computeSha256Hmac;
+    } });
+    var uuidUtils_js_1 = require_uuidUtils();
+    Object.defineProperty(exports2, "randomUUID", { enumerable: true, get: function() {
+      return uuidUtils_js_1.randomUUID;
+    } });
+    var checkEnvironment_js_1 = require_checkEnvironment();
+    Object.defineProperty(exports2, "isBrowser", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isBrowser;
+    } });
+    Object.defineProperty(exports2, "isBun", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isBun;
+    } });
+    Object.defineProperty(exports2, "isNodeLike", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isNodeLike;
+    } });
+    Object.defineProperty(exports2, "isNodeRuntime", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isNodeRuntime;
+    } });
+    Object.defineProperty(exports2, "isDeno", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isDeno;
+    } });
+    Object.defineProperty(exports2, "isReactNative", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isReactNative;
+    } });
+    Object.defineProperty(exports2, "isWebWorker", { enumerable: true, get: function() {
+      return checkEnvironment_js_1.isWebWorker;
+    } });
+    var bytesEncoding_js_1 = require_bytesEncoding();
+    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.stringToUint8Array;
+    } });
+    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
+      return bytesEncoding_js_1.uint8ArrayToString;
+    } });
+    var sanitizer_js_1 = require_sanitizer();
+    Object.defineProperty(exports2, "Sanitizer", { enumerable: true, get: function() {
+      return sanitizer_js_1.Sanitizer;
+    } });
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/aborterUtils.js
+var require_aborterUtils = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/aborterUtils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.cancelablePromiseRace = cancelablePromiseRace;
+    async function cancelablePromiseRace(abortablePromiseBuilders, options) {
+      const aborter = new AbortController();
+      function abortHandler() {
+        aborter.abort();
+      }
+      options?.abortSignal?.addEventListener("abort", abortHandler);
+      try {
+        return await Promise.race(abortablePromiseBuilders.map((p) => p({ abortSignal: aborter.signal })));
+      } finally {
+        aborter.abort();
+        options?.abortSignal?.removeEventListener("abort", abortHandler);
       }
     }
-    exports2.reflectionLongConvert = reflectionLongConvert;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js
-var require_reflection_json_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-reader.js"(exports2) {
+// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
+var require_AbortError2 = __commonJS({
+  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionJsonReader = void 0;
-    var json_typings_1 = require_json_typings();
-    var base64_1 = require_base64();
-    var reflection_info_1 = require_reflection_info();
-    var pb_long_1 = require_pb_long();
-    var assert_1 = require_assert();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var ReflectionJsonReader = class {
-      constructor(info7) {
-        this.info = info7;
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
       }
-      prepare() {
-        var _a;
-        if (this.fMap === void 0) {
-          this.fMap = {};
-          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
-          for (const field of fieldsInput) {
-            this.fMap[field.name] = field;
-            this.fMap[field.jsonName] = field;
-            this.fMap[field.localName] = field;
-          }
+    };
+    exports2.AbortError = AbortError;
+  }
+});
+
+// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js
+var require_commonjs5 = __commonJS({
+  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError_js_1 = require_AbortError2();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js
+var require_createAbortablePromise = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createAbortablePromise = createAbortablePromise;
+    var abort_controller_1 = require_commonjs5();
+    function createAbortablePromise(buildPromise, options) {
+      const { cleanupBeforeAbort, abortSignal, abortErrorMsg } = options ?? {};
+      return new Promise((resolve2, reject) => {
+        function rejectOnAbort() {
+          reject(new abort_controller_1.AbortError(abortErrorMsg ?? "The operation was aborted."));
         }
-      }
-      // Cannot parse JSON  for #.
-      assert(condition, fieldName, jsonValue) {
-        if (!condition) {
-          let what = json_typings_1.typeofJsonValue(jsonValue);
-          if (what == "number" || what == "boolean")
-            what = jsonValue.toString();
-          throw new Error(`Cannot parse JSON ${what} for ${this.info.typeName}#${fieldName}`);
+        function removeListeners() {
+          abortSignal?.removeEventListener("abort", onAbort);
         }
-      }
-      /**
-       * Reads a message from canonical JSON format into the target message.
-       *
-       * Repeated fields are appended. Map entries are added, overwriting
-       * existing keys.
-       *
-       * If a message field is already present, it will be merged with the
-       * new data.
-       */
-      read(input, message, options) {
-        this.prepare();
-        const oneofsHandled = [];
-        for (const [jsonKey, jsonValue] of Object.entries(input)) {
-          const field = this.fMap[jsonKey];
-          if (!field) {
-            if (!options.ignoreUnknownFields)
-              throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${jsonKey}`);
-            continue;
-          }
-          const localName = field.localName;
-          let target;
-          if (field.oneof) {
-            if (jsonValue === null && (field.kind !== "enum" || field.T()[0] !== "google.protobuf.NullValue")) {
-              continue;
-            }
-            if (oneofsHandled.includes(field.oneof))
-              throw new Error(`Multiple members of the oneof group "${field.oneof}" of ${this.info.typeName} are present in JSON.`);
-            oneofsHandled.push(field.oneof);
-            target = message[field.oneof] = {
-              oneofKind: localName
-            };
-          } else {
-            target = message;
-          }
-          if (field.kind == "map") {
-            if (jsonValue === null) {
-              continue;
-            }
-            this.assert(json_typings_1.isJsonObject(jsonValue), field.name, jsonValue);
-            const fieldObj = target[localName];
-            for (const [jsonObjKey, jsonObjValue] of Object.entries(jsonValue)) {
-              this.assert(jsonObjValue !== null, field.name + " map value", null);
-              let val;
-              switch (field.V.kind) {
-                case "message":
-                  val = field.V.T().internalJsonRead(jsonObjValue, options);
-                  break;
-                case "enum":
-                  val = this.enum(field.V.T(), jsonObjValue, field.name, options.ignoreUnknownFields);
-                  if (val === false)
-                    continue;
-                  break;
-                case "scalar":
-                  val = this.scalar(jsonObjValue, field.V.T, field.V.L, field.name);
-                  break;
-              }
-              this.assert(val !== void 0, field.name + " map value", jsonObjValue);
-              let key = jsonObjKey;
-              if (field.K == reflection_info_1.ScalarType.BOOL)
-                key = key == "true" ? true : key == "false" ? false : key;
-              key = this.scalar(key, field.K, reflection_info_1.LongType.STRING, field.name).toString();
-              fieldObj[key] = val;
-            }
-          } else if (field.repeat) {
-            if (jsonValue === null)
-              continue;
-            this.assert(Array.isArray(jsonValue), field.name, jsonValue);
-            const fieldArr = target[localName];
-            for (const jsonItem of jsonValue) {
-              this.assert(jsonItem !== null, field.name, null);
-              let val;
-              switch (field.kind) {
-                case "message":
-                  val = field.T().internalJsonRead(jsonItem, options);
-                  break;
-                case "enum":
-                  val = this.enum(field.T(), jsonItem, field.name, options.ignoreUnknownFields);
-                  if (val === false)
-                    continue;
-                  break;
-                case "scalar":
-                  val = this.scalar(jsonItem, field.T, field.L, field.name);
-                  break;
-              }
-              this.assert(val !== void 0, field.name, jsonValue);
-              fieldArr.push(val);
-            }
-          } else {
-            switch (field.kind) {
-              case "message":
-                if (jsonValue === null && field.T().typeName != "google.protobuf.Value") {
-                  this.assert(field.oneof === void 0, field.name + " (oneof member)", null);
-                  continue;
-                }
-                target[localName] = field.T().internalJsonRead(jsonValue, options, target[localName]);
-                break;
-              case "enum":
-                if (jsonValue === null)
-                  continue;
-                let val = this.enum(field.T(), jsonValue, field.name, options.ignoreUnknownFields);
-                if (val === false)
-                  continue;
-                target[localName] = val;
-                break;
-              case "scalar":
-                if (jsonValue === null)
-                  continue;
-                target[localName] = this.scalar(jsonValue, field.T, field.L, field.name);
-                break;
-            }
-          }
+        function onAbort() {
+          cleanupBeforeAbort?.();
+          removeListeners();
+          rejectOnAbort();
         }
-      }
-      /**
-       * Returns `false` for unrecognized string representations.
-       *
-       * google.protobuf.NullValue accepts only JSON `null` (or the old `"NULL_VALUE"`).
-       */
-      enum(type2, json2, fieldName, ignoreUnknownFields) {
-        if (type2[0] == "google.protobuf.NullValue")
-          assert_1.assert(json2 === null || json2 === "NULL_VALUE", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} only accepts null.`);
-        if (json2 === null)
-          return 0;
-        switch (typeof json2) {
-          case "number":
-            assert_1.assert(Number.isInteger(json2), `Unable to parse field ${this.info.typeName}#${fieldName}, enum can only be integral number, got ${json2}.`);
-            return json2;
-          case "string":
-            let localEnumName = json2;
-            if (type2[2] && json2.substring(0, type2[2].length) === type2[2])
-              localEnumName = json2.substring(type2[2].length);
-            let enumNumber = type2[1][localEnumName];
-            if (typeof enumNumber === "undefined" && ignoreUnknownFields) {
-              return false;
-            }
-            assert_1.assert(typeof enumNumber == "number", `Unable to parse field ${this.info.typeName}#${fieldName}, enum ${type2[0]} has no value for "${json2}".`);
-            return enumNumber;
+        if (abortSignal?.aborted) {
+          return rejectOnAbort();
         }
-        assert_1.assert(false, `Unable to parse field ${this.info.typeName}#${fieldName}, cannot parse enum value from ${typeof json2}".`);
-      }
-      scalar(json2, type2, longType, fieldName) {
-        let e;
         try {
-          switch (type2) {
-            // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
-            // Either numbers or strings are accepted. Exponent notation is also accepted.
-            case reflection_info_1.ScalarType.DOUBLE:
-            case reflection_info_1.ScalarType.FLOAT:
-              if (json2 === null)
-                return 0;
-              if (json2 === "NaN")
-                return Number.NaN;
-              if (json2 === "Infinity")
-                return Number.POSITIVE_INFINITY;
-              if (json2 === "-Infinity")
-                return Number.NEGATIVE_INFINITY;
-              if (json2 === "") {
-                e = "empty string";
-                break;
-              }
-              if (typeof json2 == "string" && json2.trim().length !== json2.length) {
-                e = "extra whitespace";
-                break;
-              }
-              if (typeof json2 != "string" && typeof json2 != "number") {
-                break;
-              }
-              let float2 = Number(json2);
-              if (Number.isNaN(float2)) {
-                e = "not a number";
-                break;
-              }
-              if (!Number.isFinite(float2)) {
-                e = "too large or small";
-                break;
-              }
-              if (type2 == reflection_info_1.ScalarType.FLOAT)
-                assert_1.assertFloat32(float2);
-              return float2;
-            // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
-            case reflection_info_1.ScalarType.INT32:
-            case reflection_info_1.ScalarType.FIXED32:
-            case reflection_info_1.ScalarType.SFIXED32:
-            case reflection_info_1.ScalarType.SINT32:
-            case reflection_info_1.ScalarType.UINT32:
-              if (json2 === null)
-                return 0;
-              let int32;
-              if (typeof json2 == "number")
-                int32 = json2;
-              else if (json2 === "")
-                e = "empty string";
-              else if (typeof json2 == "string") {
-                if (json2.trim().length !== json2.length)
-                  e = "extra whitespace";
-                else
-                  int32 = Number(json2);
-              }
-              if (int32 === void 0)
-                break;
-              if (type2 == reflection_info_1.ScalarType.UINT32)
-                assert_1.assertUInt32(int32);
-              else
-                assert_1.assertInt32(int32);
-              return int32;
-            // int64, fixed64, uint64: JSON value will be a decimal string. Either numbers or strings are accepted.
-            case reflection_info_1.ScalarType.INT64:
-            case reflection_info_1.ScalarType.SFIXED64:
-            case reflection_info_1.ScalarType.SINT64:
-              if (json2 === null)
-                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
-              if (typeof json2 != "number" && typeof json2 != "string")
-                break;
-              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.from(json2), longType);
-            case reflection_info_1.ScalarType.FIXED64:
-            case reflection_info_1.ScalarType.UINT64:
-              if (json2 === null)
-                return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
-              if (typeof json2 != "number" && typeof json2 != "string")
-                break;
-              return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.from(json2), longType);
-            // bool:
-            case reflection_info_1.ScalarType.BOOL:
-              if (json2 === null)
-                return false;
-              if (typeof json2 !== "boolean")
-                break;
-              return json2;
-            // string:
-            case reflection_info_1.ScalarType.STRING:
-              if (json2 === null)
-                return "";
-              if (typeof json2 !== "string") {
-                e = "extra whitespace";
-                break;
-              }
-              try {
-                encodeURIComponent(json2);
-              } catch (e2) {
-                e2 = "invalid UTF8";
-                break;
-              }
-              return json2;
-            // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
-            // Either standard or URL-safe base64 encoding with/without paddings are accepted.
-            case reflection_info_1.ScalarType.BYTES:
-              if (json2 === null || json2 === "")
-                return new Uint8Array(0);
-              if (typeof json2 !== "string")
-                break;
-              return base64_1.base64decode(json2);
+          buildPromise((x) => {
+            removeListeners();
+            resolve2(x);
+          }, (x) => {
+            removeListeners();
+            reject(x);
+          });
+        } catch (err) {
+          reject(err);
+        }
+        abortSignal?.addEventListener("abort", onAbort);
+      });
+    }
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/delay.js
+var require_delay2 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/delay.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.delay = delay;
+    exports2.calculateRetryDelay = calculateRetryDelay;
+    var createAbortablePromise_js_1 = require_createAbortablePromise();
+    var util_1 = require_internal3();
+    var StandardAbortMessage = "The delay was aborted.";
+    function delay(timeInMs, options) {
+      let token;
+      const { abortSignal, abortErrorMsg } = options ?? {};
+      return (0, createAbortablePromise_js_1.createAbortablePromise)((resolve2) => {
+        token = setTimeout(resolve2, timeInMs);
+      }, {
+        cleanupBeforeAbort: () => clearTimeout(token),
+        abortSignal,
+        abortErrorMsg: abortErrorMsg ?? StandardAbortMessage
+      });
+    }
+    function calculateRetryDelay(retryAttempt, config) {
+      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
+      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
+      const retryAfterInMs = clampedDelay / 2 + (0, util_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
+      return { retryAfterInMs };
+    }
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/error.js
+var require_error2 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/error.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getErrorMessage = getErrorMessage2;
+    var util_1 = require_internal3();
+    function getErrorMessage2(e) {
+      if ((0, util_1.isError)(e)) {
+        return e.message;
+      } else {
+        let stringified;
+        try {
+          if (typeof e === "object" && e) {
+            stringified = JSON.stringify(e);
+          } else {
+            stringified = String(e);
           }
-        } catch (error3) {
-          e = error3.message;
+        } catch (err) {
+          stringified = "[unable to stringify input]";
         }
-        this.assert(false, fieldName + (e ? " - " + e : ""), json2);
+        return `Unknown error ${stringified}`;
       }
-    };
-    exports2.ReflectionJsonReader = ReflectionJsonReader;
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js
-var require_reflection_json_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-json-writer.js"(exports2) {
+// node_modules/@azure/core-util/dist/commonjs/typeGuards.js
+var require_typeGuards2 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/typeGuards.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionJsonWriter = void 0;
-    var base64_1 = require_base64();
-    var pb_long_1 = require_pb_long();
-    var reflection_info_1 = require_reflection_info();
-    var assert_1 = require_assert();
-    var ReflectionJsonWriter = class {
-      constructor(info7) {
-        var _a;
-        this.fields = (_a = info7.fields) !== null && _a !== void 0 ? _a : [];
+    exports2.isDefined = isDefined3;
+    exports2.isObjectWithProperties = isObjectWithProperties;
+    exports2.objectHasProperty = objectHasProperty;
+    function isDefined3(thing) {
+      return typeof thing !== "undefined" && thing !== null;
+    }
+    function isObjectWithProperties(thing, properties) {
+      if (!isDefined3(thing) || typeof thing !== "object") {
+        return false;
       }
-      /**
-       * Converts the message to a JSON object, based on the field descriptors.
-       */
-      write(message, options) {
-        const json2 = {}, source = message;
-        for (const field of this.fields) {
-          if (!field.oneof) {
-            let jsonValue2 = this.field(field, source[field.localName], options);
-            if (jsonValue2 !== void 0)
-              json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue2;
-            continue;
-          }
-          const group = source[field.oneof];
-          if (group.oneofKind !== field.localName)
-            continue;
-          const opt = field.kind == "scalar" || field.kind == "enum" ? Object.assign(Object.assign({}, options), { emitDefaultValues: true }) : options;
-          let jsonValue = this.field(field, group[field.localName], opt);
-          assert_1.assert(jsonValue !== void 0);
-          json2[options.useProtoFieldName ? field.name : field.jsonName] = jsonValue;
+      for (const property of properties) {
+        if (!objectHasProperty(thing, property)) {
+          return false;
         }
-        return json2;
       }
-      field(field, value, options) {
-        let jsonValue = void 0;
-        if (field.kind == "map") {
-          assert_1.assert(typeof value == "object" && value !== null);
-          const jsonObj = {};
-          switch (field.V.kind) {
-            case "scalar":
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                const val = this.scalar(field.V.T, entryValue, field.name, false, true);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-            case "message":
-              const messageType = field.V.T();
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                const val = this.message(messageType, entryValue, field.name, options);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-            case "enum":
-              const enumInfo = field.V.T();
-              for (const [entryKey, entryValue] of Object.entries(value)) {
-                assert_1.assert(entryValue === void 0 || typeof entryValue == "number");
-                const val = this.enum(enumInfo, entryValue, field.name, false, true, options.enumAsInteger);
-                assert_1.assert(val !== void 0);
-                jsonObj[entryKey.toString()] = val;
-              }
-              break;
-          }
-          if (options.emitDefaultValues || Object.keys(jsonObj).length > 0)
-            jsonValue = jsonObj;
-        } else if (field.repeat) {
-          assert_1.assert(Array.isArray(value));
-          const jsonArr = [];
-          switch (field.kind) {
-            case "scalar":
-              for (let i = 0; i < value.length; i++) {
-                const val = this.scalar(field.T, value[i], field.name, field.opt, true);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-            case "enum":
-              const enumInfo = field.T();
-              for (let i = 0; i < value.length; i++) {
-                assert_1.assert(value[i] === void 0 || typeof value[i] == "number");
-                const val = this.enum(enumInfo, value[i], field.name, field.opt, true, options.enumAsInteger);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-            case "message":
-              const messageType = field.T();
-              for (let i = 0; i < value.length; i++) {
-                const val = this.message(messageType, value[i], field.name, options);
-                assert_1.assert(val !== void 0);
-                jsonArr.push(val);
-              }
-              break;
-          }
-          if (options.emitDefaultValues || jsonArr.length > 0 || options.emitDefaultValues)
-            jsonValue = jsonArr;
-        } else {
-          switch (field.kind) {
-            case "scalar":
-              jsonValue = this.scalar(field.T, value, field.name, field.opt, options.emitDefaultValues);
-              break;
-            case "enum":
-              jsonValue = this.enum(field.T(), value, field.name, field.opt, options.emitDefaultValues, options.enumAsInteger);
-              break;
-            case "message":
-              jsonValue = this.message(field.T(), value, field.name, options);
-              break;
-          }
-        }
-        return jsonValue;
+      return true;
+    }
+    function objectHasProperty(thing, property) {
+      return isDefined3(thing) && typeof thing === "object" && property in thing;
+    }
+  }
+});
+
+// node_modules/@azure/core-util/dist/commonjs/index.js
+var require_commonjs6 = __commonJS({
+  "node_modules/@azure/core-util/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isWebWorker = exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isNode = exports2.isDeno = exports2.isBun = exports2.isBrowser = exports2.objectHasProperty = exports2.isObjectWithProperties = exports2.isDefined = exports2.getErrorMessage = exports2.delay = exports2.createAbortablePromise = exports2.cancelablePromiseRace = void 0;
+    exports2.calculateRetryDelay = calculateRetryDelay;
+    exports2.computeSha256Hash = computeSha256Hash;
+    exports2.computeSha256Hmac = computeSha256Hmac;
+    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
+    exports2.isError = isError;
+    exports2.isObject = isObject2;
+    exports2.randomUUID = randomUUID;
+    exports2.uint8ArrayToString = uint8ArrayToString;
+    exports2.stringToUint8Array = stringToUint8Array;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var tspRuntime = tslib_1.__importStar(require_internal3());
+    var aborterUtils_js_1 = require_aborterUtils();
+    Object.defineProperty(exports2, "cancelablePromiseRace", { enumerable: true, get: function() {
+      return aborterUtils_js_1.cancelablePromiseRace;
+    } });
+    var createAbortablePromise_js_1 = require_createAbortablePromise();
+    Object.defineProperty(exports2, "createAbortablePromise", { enumerable: true, get: function() {
+      return createAbortablePromise_js_1.createAbortablePromise;
+    } });
+    var delay_js_1 = require_delay2();
+    Object.defineProperty(exports2, "delay", { enumerable: true, get: function() {
+      return delay_js_1.delay;
+    } });
+    var error_js_1 = require_error2();
+    Object.defineProperty(exports2, "getErrorMessage", { enumerable: true, get: function() {
+      return error_js_1.getErrorMessage;
+    } });
+    var typeGuards_js_1 = require_typeGuards2();
+    Object.defineProperty(exports2, "isDefined", { enumerable: true, get: function() {
+      return typeGuards_js_1.isDefined;
+    } });
+    Object.defineProperty(exports2, "isObjectWithProperties", { enumerable: true, get: function() {
+      return typeGuards_js_1.isObjectWithProperties;
+    } });
+    Object.defineProperty(exports2, "objectHasProperty", { enumerable: true, get: function() {
+      return typeGuards_js_1.objectHasProperty;
+    } });
+    function calculateRetryDelay(retryAttempt, config) {
+      return tspRuntime.calculateRetryDelay(retryAttempt, config);
+    }
+    function computeSha256Hash(content, encoding) {
+      return tspRuntime.computeSha256Hash(content, encoding);
+    }
+    function computeSha256Hmac(key, stringToSign, encoding) {
+      return tspRuntime.computeSha256Hmac(key, stringToSign, encoding);
+    }
+    function getRandomIntegerInclusive(min, max) {
+      return tspRuntime.getRandomIntegerInclusive(min, max);
+    }
+    function isError(e) {
+      return tspRuntime.isError(e);
+    }
+    function isObject2(input) {
+      return tspRuntime.isObject(input);
+    }
+    function randomUUID() {
+      return tspRuntime.randomUUID();
+    }
+    exports2.isBrowser = tspRuntime.isBrowser;
+    exports2.isBun = tspRuntime.isBun;
+    exports2.isDeno = tspRuntime.isDeno;
+    exports2.isNode = tspRuntime.isNodeLike;
+    exports2.isNodeLike = tspRuntime.isNodeLike;
+    exports2.isNodeRuntime = tspRuntime.isNodeRuntime;
+    exports2.isReactNative = tspRuntime.isReactNative;
+    exports2.isWebWorker = tspRuntime.isWebWorker;
+    function uint8ArrayToString(bytes, format) {
+      return tspRuntime.uint8ArrayToString(bytes, format);
+    }
+    function stringToUint8Array(value, format) {
+      return tspRuntime.stringToUint8Array(value, format);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js
+var require_file3 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hasRawContent = hasRawContent;
+    exports2.getRawContent = getRawContent;
+    exports2.createFileFromStream = createFileFromStream;
+    exports2.createFile = createFile;
+    var core_util_1 = require_commonjs6();
+    function isNodeReadableStream(x) {
+      return Boolean(x && typeof x["pipe"] === "function");
+    }
+    var unimplementedMethods = {
+      arrayBuffer: () => {
+        throw new Error("Not implemented");
+      },
+      bytes: () => {
+        throw new Error("Not implemented");
+      },
+      slice: () => {
+        throw new Error("Not implemented");
+      },
+      text: () => {
+        throw new Error("Not implemented");
       }
-      /**
-       * Returns `null` as the default for google.protobuf.NullValue.
-       */
-      enum(type2, value, fieldName, optional, emitDefaultValues, enumAsInteger) {
-        if (type2[0] == "google.protobuf.NullValue")
-          return !emitDefaultValues && !optional ? void 0 : null;
-        if (value === void 0) {
-          assert_1.assert(optional);
-          return void 0;
-        }
-        if (value === 0 && !emitDefaultValues && !optional)
-          return void 0;
-        assert_1.assert(typeof value == "number");
-        assert_1.assert(Number.isInteger(value));
-        if (enumAsInteger || !type2[1].hasOwnProperty(value))
-          return value;
-        if (type2[2])
-          return type2[2] + type2[1][value];
-        return type2[1][value];
+    };
+    var rawContent = /* @__PURE__ */ Symbol("rawContent");
+    function hasRawContent(x) {
+      return typeof x[rawContent] === "function";
+    }
+    function getRawContent(blob) {
+      if (hasRawContent(blob)) {
+        return blob[rawContent]();
+      } else {
+        return blob;
       }
-      message(type2, value, fieldName, options) {
-        if (value === void 0)
-          return options.emitDefaultValues ? null : void 0;
-        return type2.internalJsonWrite(value, options);
+    }
+    function createFileFromStream(stream, name, options = {}) {
+      return {
+        ...unimplementedMethods,
+        type: options.type ?? "",
+        lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
+        webkitRelativePath: options.webkitRelativePath ?? "",
+        size: options.size ?? -1,
+        name,
+        stream: () => {
+          const s = stream();
+          if (isNodeReadableStream(s)) {
+            throw new Error("Not supported: a Node stream was provided as input to createFileFromStream.");
+          }
+          return s;
+        },
+        [rawContent]: stream
+      };
+    }
+    function createFile(content, name, options = {}) {
+      if (core_util_1.isNodeLike) {
+        return {
+          ...unimplementedMethods,
+          type: options.type ?? "",
+          lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
+          webkitRelativePath: options.webkitRelativePath ?? "",
+          size: content.byteLength,
+          name,
+          arrayBuffer: async () => content.buffer,
+          stream: () => new Blob([toArrayBuffer(content)]).stream(),
+          [rawContent]: () => content
+        };
+      } else {
+        return new File([toArrayBuffer(content)], name, options);
       }
-      scalar(type2, value, fieldName, optional, emitDefaultValues) {
-        if (value === void 0) {
-          assert_1.assert(optional);
-          return void 0;
+    }
+    function toArrayBuffer(source) {
+      if ("resize" in source.buffer) {
+        return source;
+      }
+      return source.map((x) => x);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js
+var require_multipartPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.multipartPolicyName = void 0;
+    exports2.multipartPolicy = multipartPolicy;
+    var policies_1 = require_internal2();
+    var file_js_1 = require_file3();
+    exports2.multipartPolicyName = policies_1.multipartPolicyName;
+    function multipartPolicy() {
+      const tspPolicy = (0, policies_1.multipartPolicy)();
+      return {
+        name: exports2.multipartPolicyName,
+        sendRequest: async (request2, next) => {
+          if (request2.multipartBody) {
+            for (const part of request2.multipartBody.parts) {
+              if ((0, file_js_1.hasRawContent)(part.body)) {
+                part.body = (0, file_js_1.getRawContent)(part.body);
+              }
+            }
+          }
+          return tspPolicy.sendRequest(request2, next);
         }
-        const ed = emitDefaultValues || optional;
-        switch (type2) {
-          // int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assertInt32(value);
-            return value;
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.UINT32:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assertUInt32(value);
-            return value;
-          // float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
-          // Either numbers or strings are accepted. Exponent notation is also accepted.
-          case reflection_info_1.ScalarType.FLOAT:
-            assert_1.assertFloat32(value);
-          case reflection_info_1.ScalarType.DOUBLE:
-            if (value === 0)
-              return ed ? 0 : void 0;
-            assert_1.assert(typeof value == "number");
-            if (Number.isNaN(value))
-              return "NaN";
-            if (value === Number.POSITIVE_INFINITY)
-              return "Infinity";
-            if (value === Number.NEGATIVE_INFINITY)
-              return "-Infinity";
-            return value;
-          // string:
-          case reflection_info_1.ScalarType.STRING:
-            if (value === "")
-              return ed ? "" : void 0;
-            assert_1.assert(typeof value == "string");
-            return value;
-          // bool:
-          case reflection_info_1.ScalarType.BOOL:
-            if (value === false)
-              return ed ? false : void 0;
-            assert_1.assert(typeof value == "boolean");
-            return value;
-          // JSON value will be a decimal string. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.UINT64:
-          case reflection_info_1.ScalarType.FIXED64:
-            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
-            let ulong = pb_long_1.PbULong.from(value);
-            if (ulong.isZero() && !ed)
-              return void 0;
-            return ulong.toString();
-          // JSON value will be a decimal string. Either numbers or strings are accepted.
-          case reflection_info_1.ScalarType.INT64:
-          case reflection_info_1.ScalarType.SFIXED64:
-          case reflection_info_1.ScalarType.SINT64:
-            assert_1.assert(typeof value == "number" || typeof value == "string" || typeof value == "bigint");
-            let long = pb_long_1.PbLong.from(value);
-            if (long.isZero() && !ed)
-              return void 0;
-            return long.toString();
-          // bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
-          // Either standard or URL-safe base64 encoding with/without paddings are accepted.
-          case reflection_info_1.ScalarType.BYTES:
-            assert_1.assert(value instanceof Uint8Array);
-            if (!value.byteLength)
-              return ed ? "" : void 0;
-            return base64_1.base64encode(value);
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js
+var require_decompressResponsePolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.decompressResponsePolicyName = void 0;
+    exports2.decompressResponsePolicy = decompressResponsePolicy;
+    var policies_1 = require_internal2();
+    exports2.decompressResponsePolicyName = policies_1.decompressResponsePolicyName;
+    function decompressResponsePolicy() {
+      return (0, policies_1.decompressResponsePolicy)();
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js
+var require_defaultRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.defaultRetryPolicyName = void 0;
+    exports2.defaultRetryPolicy = defaultRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.defaultRetryPolicyName = policies_1.defaultRetryPolicyName;
+    function defaultRetryPolicy(options = {}) {
+      return (0, policies_1.defaultRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js
+var require_formDataPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.formDataPolicyName = void 0;
+    exports2.formDataPolicy = formDataPolicy;
+    var policies_1 = require_internal2();
+    exports2.formDataPolicyName = policies_1.formDataPolicyName;
+    function formDataPolicy() {
+      return (0, policies_1.formDataPolicy)();
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js
+var require_proxyPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.proxyPolicyName = void 0;
+    exports2.getDefaultProxySettings = getDefaultProxySettings;
+    exports2.proxyPolicy = proxyPolicy;
+    var policies_1 = require_internal2();
+    exports2.proxyPolicyName = policies_1.proxyPolicyName;
+    function getDefaultProxySettings(proxyUrl) {
+      return (0, policies_1.getDefaultProxySettings)(proxyUrl);
+    }
+    function proxyPolicy(proxySettings, options) {
+      return (0, policies_1.proxyPolicy)(proxySettings, options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js
+var require_setClientRequestIdPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.setClientRequestIdPolicyName = void 0;
+    exports2.setClientRequestIdPolicy = setClientRequestIdPolicy;
+    exports2.setClientRequestIdPolicyName = "setClientRequestIdPolicy";
+    function setClientRequestIdPolicy(requestIdHeaderName = "x-ms-client-request-id") {
+      return {
+        name: exports2.setClientRequestIdPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.headers.has(requestIdHeaderName)) {
+            request2.headers.set(requestIdHeaderName, request2.requestId);
+          }
+          return next(request2);
         }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js
+var require_agentPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.agentPolicyName = void 0;
+    exports2.agentPolicy = agentPolicy;
+    var policies_1 = require_internal2();
+    exports2.agentPolicyName = policies_1.agentPolicyName;
+    function agentPolicy(agent) {
+      return (0, policies_1.agentPolicy)(agent);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js
+var require_tlsPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tlsPolicyName = void 0;
+    exports2.tlsPolicy = tlsPolicy;
+    var policies_1 = require_internal2();
+    exports2.tlsPolicyName = policies_1.tlsPolicyName;
+    function tlsPolicy(tlsSettings) {
+      return (0, policies_1.tlsPolicy)(tlsSettings);
+    }
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js
+var require_tracingContext = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.TracingContextImpl = exports2.knownContextKeys = void 0;
+    exports2.createTracingContext = createTracingContext;
+    exports2.knownContextKeys = {
+      span: /* @__PURE__ */ Symbol.for("@azure/core-tracing span"),
+      namespace: /* @__PURE__ */ Symbol.for("@azure/core-tracing namespace")
+    };
+    function createTracingContext(options = {}) {
+      let context2 = new TracingContextImpl(options.parentContext);
+      if (options.span) {
+        context2 = context2.setValue(exports2.knownContextKeys.span, options.span);
+      }
+      if (options.namespace) {
+        context2 = context2.setValue(exports2.knownContextKeys.namespace, options.namespace);
+      }
+      return context2;
+    }
+    var TracingContextImpl = class _TracingContextImpl {
+      _contextMap;
+      constructor(initialContext) {
+        this._contextMap = initialContext instanceof _TracingContextImpl ? new Map(initialContext._contextMap) : /* @__PURE__ */ new Map();
+      }
+      setValue(key, value) {
+        const newContext = new _TracingContextImpl(this);
+        newContext._contextMap.set(key, value);
+        return newContext;
+      }
+      getValue(key) {
+        return this._contextMap.get(key);
+      }
+      deleteValue(key) {
+        const newContext = new _TracingContextImpl(this);
+        newContext._contextMap.delete(key);
+        return newContext;
       }
     };
-    exports2.ReflectionJsonWriter = ReflectionJsonWriter;
+    exports2.TracingContextImpl = TracingContextImpl;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js
-var require_reflection_scalar_default = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-scalar-default.js"(exports2) {
+// node_modules/@azure/core-tracing/dist/commonjs/state.js
+var require_state = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/state.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionScalarDefault = void 0;
-    var reflection_info_1 = require_reflection_info();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var pb_long_1 = require_pb_long();
-    function reflectionScalarDefault(type2, longType = reflection_info_1.LongType.STRING) {
-      switch (type2) {
-        case reflection_info_1.ScalarType.BOOL:
-          return false;
-        case reflection_info_1.ScalarType.UINT64:
-        case reflection_info_1.ScalarType.FIXED64:
-          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbULong.ZERO, longType);
-        case reflection_info_1.ScalarType.INT64:
-        case reflection_info_1.ScalarType.SFIXED64:
-        case reflection_info_1.ScalarType.SINT64:
-          return reflection_long_convert_1.reflectionLongConvert(pb_long_1.PbLong.ZERO, longType);
-        case reflection_info_1.ScalarType.DOUBLE:
-        case reflection_info_1.ScalarType.FLOAT:
-          return 0;
-        case reflection_info_1.ScalarType.BYTES:
-          return new Uint8Array(0);
-        case reflection_info_1.ScalarType.STRING:
-          return "";
-        default:
-          return 0;
+    exports2.state = void 0;
+    exports2.state = {
+      instrumenterImplementation: void 0
+    };
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js
+var require_instrumenter = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createDefaultTracingSpan = createDefaultTracingSpan;
+    exports2.createDefaultInstrumenter = createDefaultInstrumenter;
+    exports2.useInstrumenter = useInstrumenter;
+    exports2.getInstrumenter = getInstrumenter;
+    var tracingContext_js_1 = require_tracingContext();
+    var state_js_1 = require_state();
+    function createDefaultTracingSpan() {
+      return {
+        end: () => {
+        },
+        isRecording: () => false,
+        recordException: () => {
+        },
+        setAttribute: () => {
+        },
+        setStatus: () => {
+        },
+        addEvent: () => {
+        }
+      };
+    }
+    function createDefaultInstrumenter() {
+      return {
+        createRequestHeaders: () => {
+          return {};
+        },
+        parseTraceparentHeader: () => {
+          return void 0;
+        },
+        startSpan: (_name, spanOptions) => {
+          return {
+            span: createDefaultTracingSpan(),
+            tracingContext: (0, tracingContext_js_1.createTracingContext)({ parentContext: spanOptions.tracingContext })
+          };
+        },
+        withContext(_context, callback, ...callbackArgs) {
+          return callback(...callbackArgs);
+        }
+      };
+    }
+    function useInstrumenter(instrumenter) {
+      state_js_1.state.instrumenterImplementation = instrumenter;
+    }
+    function getInstrumenter() {
+      if (!state_js_1.state.instrumenterImplementation) {
+        state_js_1.state.instrumenterImplementation = createDefaultInstrumenter();
       }
+      return state_js_1.state.instrumenterImplementation;
     }
-    exports2.reflectionScalarDefault = reflectionScalarDefault;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js
-var require_reflection_binary_reader = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-reader.js"(exports2) {
+// node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js
+var require_tracingClient = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionBinaryReader = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var reflection_info_1 = require_reflection_info();
-    var reflection_long_convert_1 = require_reflection_long_convert();
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    var ReflectionBinaryReader = class {
-      constructor(info7) {
-        this.info = info7;
+    exports2.createTracingClient = createTracingClient;
+    var instrumenter_js_1 = require_instrumenter();
+    var tracingContext_js_1 = require_tracingContext();
+    function createTracingClient(options) {
+      const { namespace, packageName, packageVersion } = options;
+      function startSpan(name, operationOptions, spanOptions) {
+        const startSpanResult = (0, instrumenter_js_1.getInstrumenter)().startSpan(name, {
+          ...spanOptions,
+          packageName,
+          packageVersion,
+          tracingContext: operationOptions?.tracingOptions?.tracingContext
+        });
+        let tracingContext = startSpanResult.tracingContext;
+        const span = startSpanResult.span;
+        if (!tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace)) {
+          tracingContext = tracingContext.setValue(tracingContext_js_1.knownContextKeys.namespace, namespace);
+        }
+        span.setAttribute("az.namespace", tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace));
+        const updatedOptions = Object.assign({}, operationOptions, {
+          tracingOptions: { ...operationOptions?.tracingOptions, tracingContext }
+        });
+        return {
+          span,
+          updatedOptions
+        };
       }
-      prepare() {
-        var _a;
-        if (!this.fieldNoToField) {
-          const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : [];
-          this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field]));
+      async function withSpan(name, operationOptions, callback, spanOptions) {
+        const { span, updatedOptions } = startSpan(name, operationOptions, spanOptions);
+        try {
+          const result = await withContext(updatedOptions.tracingOptions.tracingContext, () => Promise.resolve(callback(updatedOptions, span)));
+          span.setStatus({ status: "success" });
+          return result;
+        } catch (err) {
+          span.setStatus({ status: "error", error: err });
+          throw err;
+        } finally {
+          span.end();
         }
       }
-      /**
-       * Reads a message from binary format into the target message.
-       *
-       * Repeated fields are appended. Map entries are added, overwriting
-       * existing keys.
-       *
-       * If a message field is already present, it will be merged with the
-       * new data.
-       */
-      read(reader, message, options, length) {
-        this.prepare();
-        const end = length === void 0 ? reader.len : reader.pos + length;
-        while (reader.pos < end) {
-          const [fieldNo, wireType] = reader.tag(), field = this.fieldNoToField.get(fieldNo);
-          if (!field) {
-            let u = options.readUnknownField;
-            if (u == "throw")
-              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.info.typeName}`);
-            let d = reader.skip(wireType);
-            if (u !== false)
-              (u === true ? binary_format_contract_1.UnknownFieldHandler.onRead : u)(this.info.typeName, message, fieldNo, wireType, d);
-            continue;
+      function withContext(context2, callback, ...callbackArgs) {
+        return (0, instrumenter_js_1.getInstrumenter)().withContext(context2, callback, ...callbackArgs);
+      }
+      function parseTraceparentHeader(traceparentHeader) {
+        return (0, instrumenter_js_1.getInstrumenter)().parseTraceparentHeader(traceparentHeader);
+      }
+      function createRequestHeaders(tracingContext) {
+        return (0, instrumenter_js_1.getInstrumenter)().createRequestHeaders(tracingContext);
+      }
+      return {
+        startSpan,
+        withSpan,
+        withContext,
+        parseTraceparentHeader,
+        createRequestHeaders
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-tracing/dist/commonjs/index.js
+var require_commonjs7 = __commonJS({
+  "node_modules/@azure/core-tracing/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createTracingClient = exports2.useInstrumenter = void 0;
+    var instrumenter_js_1 = require_instrumenter();
+    Object.defineProperty(exports2, "useInstrumenter", { enumerable: true, get: function() {
+      return instrumenter_js_1.useInstrumenter;
+    } });
+    var tracingClient_js_1 = require_tracingClient();
+    Object.defineProperty(exports2, "createTracingClient", { enumerable: true, get: function() {
+      return tracingClient_js_1.createTracingClient;
+    } });
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js
+var require_restError3 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RestError = void 0;
+    exports2.isRestError = isRestError;
+    var ts_http_runtime_1 = require_commonjs3();
+    exports2.RestError = ts_http_runtime_1.RestError;
+    function isRestError(e) {
+      return (0, ts_http_runtime_1.isRestError)(e);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js
+var require_tracingPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tracingPolicyName = void 0;
+    exports2.tracingPolicy = tracingPolicy;
+    var core_tracing_1 = require_commonjs7();
+    var constants_js_1 = require_constants13();
+    var userAgent_js_1 = require_userAgent2();
+    var log_js_1 = require_log3();
+    var core_util_1 = require_commonjs6();
+    var restError_js_1 = require_restError3();
+    var util_1 = require_internal3();
+    exports2.tracingPolicyName = "tracingPolicy";
+    function tracingPolicy(options = {}) {
+      const userAgentPromise = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
+      const sanitizer = new util_1.Sanitizer({
+        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
+      });
+      const tracingClient = tryCreateTracingClient();
+      return {
+        name: exports2.tracingPolicyName,
+        async sendRequest(request2, next) {
+          if (!tracingClient) {
+            return next(request2);
           }
-          let target = message, repeated = field.repeat, localName = field.localName;
-          if (field.oneof) {
-            target = target[field.oneof];
-            if (target.oneofKind !== localName)
-              target = message[field.oneof] = {
-                oneofKind: localName
-              };
+          const userAgent2 = await userAgentPromise;
+          const spanAttributes = {
+            "http.url": sanitizer.sanitizeUrl(request2.url),
+            "http.method": request2.method,
+            "http.user_agent": userAgent2,
+            requestId: request2.requestId
+          };
+          if (userAgent2) {
+            spanAttributes["http.user_agent"] = userAgent2;
           }
-          switch (field.kind) {
-            case "scalar":
-            case "enum":
-              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-              let L = field.kind == "scalar" ? field.L : void 0;
-              if (repeated) {
-                let arr = target[localName];
-                if (wireType == binary_format_contract_1.WireType.LengthDelimited && T != reflection_info_1.ScalarType.STRING && T != reflection_info_1.ScalarType.BYTES) {
-                  let e = reader.uint32() + reader.pos;
-                  while (reader.pos < e)
-                    arr.push(this.scalar(reader, T, L));
-                } else
-                  arr.push(this.scalar(reader, T, L));
-              } else
-                target[localName] = this.scalar(reader, T, L);
-              break;
-            case "message":
-              if (repeated) {
-                let arr = target[localName];
-                let msg = field.T().internalBinaryRead(reader, reader.uint32(), options);
-                arr.push(msg);
-              } else
-                target[localName] = field.T().internalBinaryRead(reader, reader.uint32(), options, target[localName]);
-              break;
-            case "map":
-              let [mapKey, mapVal] = this.mapEntry(field, reader, options);
-              target[localName][mapKey] = mapVal;
-              break;
+          const { span, tracingContext } = tryCreateSpan(tracingClient, request2, spanAttributes) ?? {};
+          if (!span || !tracingContext) {
+            return next(request2);
+          }
+          try {
+            const response = await tracingClient.withContext(tracingContext, next, request2);
+            tryProcessResponse(span, response);
+            return response;
+          } catch (err) {
+            tryProcessError(span, err);
+            throw err;
           }
         }
+      };
+    }
+    function tryCreateTracingClient() {
+      try {
+        return (0, core_tracing_1.createTracingClient)({
+          namespace: "",
+          packageName: "@azure/core-rest-pipeline",
+          packageVersion: constants_js_1.SDK_VERSION
+        });
+      } catch (e) {
+        log_js_1.logger.warning(`Error when creating the TracingClient: ${(0, core_util_1.getErrorMessage)(e)}`);
+        return void 0;
       }
-      /**
-       * Read a map field, expecting key field = 1, value field = 2
-       */
-      mapEntry(field, reader, options) {
-        let length = reader.uint32();
-        let end = reader.pos + length;
-        let key = void 0;
-        let val = void 0;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case 1:
-              if (field.K == reflection_info_1.ScalarType.BOOL)
-                key = reader.bool().toString();
-              else
-                key = this.scalar(reader, field.K, reflection_info_1.LongType.STRING);
-              break;
-            case 2:
-              switch (field.V.kind) {
-                case "scalar":
-                  val = this.scalar(reader, field.V.T, field.V.L);
-                  break;
-                case "enum":
-                  val = reader.int32();
-                  break;
-                case "message":
-                  val = field.V.T().internalBinaryRead(reader, reader.uint32(), options);
-                  break;
-              }
-              break;
-            default:
-              throw new Error(`Unknown field ${fieldNo} (wire type ${wireType}) in map entry for ${this.info.typeName}#${field.name}`);
-          }
+    }
+    function tryCreateSpan(tracingClient, request2, spanAttributes) {
+      try {
+        const { span, updatedOptions } = tracingClient.startSpan(`HTTP ${request2.method}`, { tracingOptions: request2.tracingOptions }, {
+          spanKind: "client",
+          spanAttributes
+        });
+        if (!span.isRecording()) {
+          span.end();
+          return void 0;
         }
-        if (key === void 0) {
-          let keyRaw = reflection_scalar_default_1.reflectionScalarDefault(field.K);
-          key = field.K == reflection_info_1.ScalarType.BOOL ? keyRaw.toString() : keyRaw;
+        const headers = tracingClient.createRequestHeaders(updatedOptions.tracingOptions.tracingContext);
+        for (const [key, value] of Object.entries(headers)) {
+          request2.headers.set(key, value);
         }
-        if (val === void 0)
-          switch (field.V.kind) {
-            case "scalar":
-              val = reflection_scalar_default_1.reflectionScalarDefault(field.V.T, field.V.L);
-              break;
-            case "enum":
-              val = 0;
-              break;
-            case "message":
-              val = field.V.T().create();
-              break;
-          }
-        return [key, val];
+        return { span, tracingContext: updatedOptions.tracingOptions.tracingContext };
+      } catch (e) {
+        log_js_1.logger.warning(`Skipping creating a tracing span due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
+        return void 0;
       }
-      scalar(reader, type2, longType) {
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-            return reader.int32();
-          case reflection_info_1.ScalarType.STRING:
-            return reader.string();
-          case reflection_info_1.ScalarType.BOOL:
-            return reader.bool();
-          case reflection_info_1.ScalarType.DOUBLE:
-            return reader.double();
-          case reflection_info_1.ScalarType.FLOAT:
-            return reader.float();
-          case reflection_info_1.ScalarType.INT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.int64(), longType);
-          case reflection_info_1.ScalarType.UINT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.uint64(), longType);
-          case reflection_info_1.ScalarType.FIXED64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.fixed64(), longType);
-          case reflection_info_1.ScalarType.FIXED32:
-            return reader.fixed32();
-          case reflection_info_1.ScalarType.BYTES:
-            return reader.bytes();
-          case reflection_info_1.ScalarType.UINT32:
-            return reader.uint32();
-          case reflection_info_1.ScalarType.SFIXED32:
-            return reader.sfixed32();
-          case reflection_info_1.ScalarType.SFIXED64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.sfixed64(), longType);
-          case reflection_info_1.ScalarType.SINT32:
-            return reader.sint32();
-          case reflection_info_1.ScalarType.SINT64:
-            return reflection_long_convert_1.reflectionLongConvert(reader.sint64(), longType);
+    }
+    function tryProcessError(span, error3) {
+      try {
+        span.setStatus({
+          status: "error",
+          error: (0, core_util_1.isError)(error3) ? error3 : void 0
+        });
+        if ((0, restError_js_1.isRestError)(error3) && error3.statusCode) {
+          span.setAttribute("http.status_code", error3.statusCode);
+        }
+        span.end();
+      } catch (e) {
+        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
+      }
+    }
+    function tryProcessResponse(span, response) {
+      try {
+        span.setAttribute("http.status_code", response.status);
+        const serviceRequestId = response.headers.get("x-ms-request-id");
+        if (serviceRequestId) {
+          span.setAttribute("serviceRequestId", serviceRequestId);
+        }
+        if (response.status >= 400) {
+          span.setStatus({
+            status: "error"
+          });
         }
+        span.end();
+      } catch (e) {
+        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
       }
-    };
-    exports2.ReflectionBinaryReader = ReflectionBinaryReader;
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js
-var require_reflection_binary_writer = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-binary-writer.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js
+var require_wrapAbortSignal = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ReflectionBinaryWriter = void 0;
-    var binary_format_contract_1 = require_binary_format_contract();
-    var reflection_info_1 = require_reflection_info();
-    var assert_1 = require_assert();
-    var pb_long_1 = require_pb_long();
-    var ReflectionBinaryWriter = class {
-      constructor(info7) {
-        this.info = info7;
+    exports2.wrapAbortSignalLike = wrapAbortSignalLike;
+    function wrapAbortSignalLike(abortSignalLike) {
+      if (abortSignalLike instanceof AbortSignal) {
+        return { abortSignal: abortSignalLike };
       }
-      prepare() {
-        if (!this.fields) {
-          const fieldsInput = this.info.fields ? this.info.fields.concat() : [];
-          this.fields = fieldsInput.sort((a, b) => a.no - b.no);
+      if (abortSignalLike.aborted) {
+        return { abortSignal: AbortSignal.abort(abortSignalLike.reason) };
+      }
+      const controller = new AbortController();
+      let needsCleanup = true;
+      function cleanup() {
+        if (needsCleanup) {
+          abortSignalLike.removeEventListener("abort", listener);
+          needsCleanup = false;
         }
       }
-      /**
-       * Writes the message to binary format.
-       */
-      write(message, writer, options) {
-        this.prepare();
-        for (const field of this.fields) {
-          let value, emitDefault, repeated = field.repeat, localName = field.localName;
-          if (field.oneof) {
-            const group = message[field.oneof];
-            if (group.oneofKind !== localName)
-              continue;
-            value = group[localName];
-            emitDefault = true;
-          } else {
-            value = message[localName];
-            emitDefault = false;
+      function listener() {
+        controller.abort(abortSignalLike.reason);
+        cleanup();
+      }
+      abortSignalLike.addEventListener("abort", listener);
+      return { abortSignal: controller.signal, cleanup };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js
+var require_wrapAbortSignalLikePolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.wrapAbortSignalLikePolicyName = void 0;
+    exports2.wrapAbortSignalLikePolicy = wrapAbortSignalLikePolicy;
+    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
+    exports2.wrapAbortSignalLikePolicyName = "wrapAbortSignalLikePolicy";
+    function wrapAbortSignalLikePolicy() {
+      return {
+        name: exports2.wrapAbortSignalLikePolicyName,
+        sendRequest: async (request2, next) => {
+          if (!request2.abortSignal) {
+            return next(request2);
           }
-          switch (field.kind) {
-            case "scalar":
-            case "enum":
-              let T = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-              if (repeated) {
-                assert_1.assert(Array.isArray(value));
-                if (repeated == reflection_info_1.RepeatType.PACKED)
-                  this.packed(writer, T, field.no, value);
-                else
-                  for (const item of value)
-                    this.scalar(writer, T, field.no, item, true);
-              } else if (value === void 0)
-                assert_1.assert(field.opt);
-              else
-                this.scalar(writer, T, field.no, value, emitDefault || field.opt);
-              break;
-            case "message":
-              if (repeated) {
-                assert_1.assert(Array.isArray(value));
-                for (const item of value)
-                  this.message(writer, options, field.T(), field.no, item);
-              } else {
-                this.message(writer, options, field.T(), field.no, value);
-              }
-              break;
-            case "map":
-              assert_1.assert(typeof value == "object" && value !== null);
-              for (const [key, val] of Object.entries(value))
-                this.mapEntry(writer, options, field, key, val);
-              break;
+          const { abortSignal, cleanup } = (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal);
+          request2.abortSignal = abortSignal;
+          try {
+            return await next(request2);
+          } finally {
+            cleanup?.();
           }
         }
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u === true ? binary_format_contract_1.UnknownFieldHandler.onWrite : u)(this.info.typeName, message, writer);
-      }
-      mapEntry(writer, options, field, key, value) {
-        writer.tag(field.no, binary_format_contract_1.WireType.LengthDelimited);
-        writer.fork();
-        let keyValue = key;
-        switch (field.K) {
-          case reflection_info_1.ScalarType.INT32:
-          case reflection_info_1.ScalarType.FIXED32:
-          case reflection_info_1.ScalarType.UINT32:
-          case reflection_info_1.ScalarType.SFIXED32:
-          case reflection_info_1.ScalarType.SINT32:
-            keyValue = Number.parseInt(key);
-            break;
-          case reflection_info_1.ScalarType.BOOL:
-            assert_1.assert(key == "true" || key == "false");
-            keyValue = key == "true";
-            break;
-        }
-        this.scalar(writer, field.K, 1, keyValue, true);
-        switch (field.V.kind) {
-          case "scalar":
-            this.scalar(writer, field.V.T, 2, value, true);
-            break;
-          case "enum":
-            this.scalar(writer, reflection_info_1.ScalarType.INT32, 2, value, true);
-            break;
-          case "message":
-            this.message(writer, options, field.V.T(), 2, value);
-            break;
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js
+var require_createPipelineFromOptions2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineFromOptions = createPipelineFromOptions;
+    var logPolicy_js_1 = require_logPolicy2();
+    var pipeline_js_1 = require_pipeline2();
+    var redirectPolicy_js_1 = require_redirectPolicy2();
+    var userAgentPolicy_js_1 = require_userAgentPolicy2();
+    var multipartPolicy_js_1 = require_multipartPolicy2();
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
+    var formDataPolicy_js_1 = require_formDataPolicy2();
+    var core_util_1 = require_commonjs6();
+    var proxyPolicy_js_1 = require_proxyPolicy2();
+    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
+    var agentPolicy_js_1 = require_agentPolicy2();
+    var tlsPolicy_js_1 = require_tlsPolicy2();
+    var tracingPolicy_js_1 = require_tracingPolicy();
+    var wrapAbortSignalLikePolicy_js_1 = require_wrapAbortSignalLikePolicy();
+    function createPipelineFromOptions(options) {
+      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
+      if (core_util_1.isNodeLike) {
+        if (options.agent) {
+          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
         }
-        writer.join();
-      }
-      message(writer, options, handler2, fieldNo, value) {
-        if (value === void 0)
-          return;
-        handler2.internalBinaryWrite(value, writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited).fork(), options);
-        writer.join();
-      }
-      /**
-       * Write a single scalar value.
-       */
-      scalar(writer, type2, fieldNo, value, emitDefault) {
-        let [wireType, method, isDefault] = this.scalarInfo(type2, value);
-        if (!isDefault || emitDefault) {
-          writer.tag(fieldNo, wireType);
-          writer[method](value);
+        if (options.tlsOptions) {
+          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
         }
+        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
+        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
       }
-      /**
-       * Write an array of scalar values in packed format.
-       */
-      packed(writer, type2, fieldNo, value) {
-        if (!value.length)
-          return;
-        assert_1.assert(type2 !== reflection_info_1.ScalarType.BYTES && type2 !== reflection_info_1.ScalarType.STRING);
-        writer.tag(fieldNo, binary_format_contract_1.WireType.LengthDelimited);
-        writer.fork();
-        let [, method] = this.scalarInfo(type2);
-        for (let i = 0; i < value.length; i++)
-          writer[method](value[i]);
-        writer.join();
-      }
-      /**
-       * Get information for writing a scalar value.
-       *
-       * Returns tuple:
-       * [0]: appropriate WireType
-       * [1]: name of the appropriate method of IBinaryWriter
-       * [2]: whether the given value is a default value
-       *
-       * If argument `value` is omitted, [2] is always false.
-       */
-      scalarInfo(type2, value) {
-        let t = binary_format_contract_1.WireType.Varint;
-        let m;
-        let i = value === void 0;
-        let d = value === 0;
-        switch (type2) {
-          case reflection_info_1.ScalarType.INT32:
-            m = "int32";
-            break;
-          case reflection_info_1.ScalarType.STRING:
-            d = i || !value.length;
-            t = binary_format_contract_1.WireType.LengthDelimited;
-            m = "string";
-            break;
-          case reflection_info_1.ScalarType.BOOL:
-            d = value === false;
-            m = "bool";
-            break;
-          case reflection_info_1.ScalarType.UINT32:
-            m = "uint32";
-            break;
-          case reflection_info_1.ScalarType.DOUBLE:
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "double";
-            break;
-          case reflection_info_1.ScalarType.FLOAT:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "float";
-            break;
-          case reflection_info_1.ScalarType.INT64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            m = "int64";
-            break;
-          case reflection_info_1.ScalarType.UINT64:
-            d = i || pb_long_1.PbULong.from(value).isZero();
-            m = "uint64";
-            break;
-          case reflection_info_1.ScalarType.FIXED64:
-            d = i || pb_long_1.PbULong.from(value).isZero();
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "fixed64";
-            break;
-          case reflection_info_1.ScalarType.BYTES:
-            d = i || !value.byteLength;
-            t = binary_format_contract_1.WireType.LengthDelimited;
-            m = "bytes";
-            break;
-          case reflection_info_1.ScalarType.FIXED32:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "fixed32";
-            break;
-          case reflection_info_1.ScalarType.SFIXED32:
-            t = binary_format_contract_1.WireType.Bit32;
-            m = "sfixed32";
-            break;
-          case reflection_info_1.ScalarType.SFIXED64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            t = binary_format_contract_1.WireType.Bit64;
-            m = "sfixed64";
-            break;
-          case reflection_info_1.ScalarType.SINT32:
-            m = "sint32";
-            break;
-          case reflection_info_1.ScalarType.SINT64:
-            d = i || pb_long_1.PbLong.from(value).isZero();
-            m = "sint64";
-            break;
-        }
-        return [t, m, i || d];
+      pipeline.addPolicy((0, wrapAbortSignalLikePolicy_js_1.wrapAbortSignalLikePolicy)());
+      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
+      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
+      pipeline.addPolicy((0, setClientRequestIdPolicy_js_1.setClientRequestIdPolicy)(options.telemetryOptions?.clientRequestIdHeaderName));
+      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
+      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
+      pipeline.addPolicy((0, tracingPolicy_js_1.tracingPolicy)({ ...options.userAgentOptions, ...options.loggingOptions }), {
+        afterPhase: "Retry"
+      });
+      if (core_util_1.isNodeLike) {
+        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
       }
-    };
-    exports2.ReflectionBinaryWriter = ReflectionBinaryWriter;
+      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
+      return pipeline;
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js
-var require_reflection_create = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-create.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js
+var require_defaultHttpClient2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionCreate = void 0;
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    var message_type_contract_1 = require_message_type_contract();
-    function reflectionCreate(type2) {
-      const msg = type2.messagePrototype ? Object.create(type2.messagePrototype) : Object.defineProperty({}, message_type_contract_1.MESSAGE_TYPE, { value: type2 });
-      for (let field of type2.fields) {
-        let name = field.localName;
-        if (field.opt)
-          continue;
-        if (field.oneof)
-          msg[field.oneof] = { oneofKind: void 0 };
-        else if (field.repeat)
-          msg[name] = [];
-        else
-          switch (field.kind) {
-            case "scalar":
-              msg[name] = reflection_scalar_default_1.reflectionScalarDefault(field.T, field.L);
-              break;
-            case "enum":
-              msg[name] = 0;
-              break;
-            case "map":
-              msg[name] = {};
-              break;
+    exports2.createDefaultHttpClient = createDefaultHttpClient;
+    var ts_http_runtime_1 = require_commonjs3();
+    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
+    function createDefaultHttpClient() {
+      const client = (0, ts_http_runtime_1.createDefaultHttpClient)();
+      return {
+        async sendRequest(request2) {
+          const { abortSignal, cleanup } = request2.abortSignal ? (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal) : {};
+          try {
+            request2.abortSignal = abortSignal;
+            return await client.sendRequest(request2);
+          } finally {
+            cleanup?.();
           }
-      }
-      return msg;
+        }
+      };
     }
-    exports2.reflectionCreate = reflectionCreate;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js
-var require_reflection_merge_partial = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-merge-partial.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js
+var require_httpHeaders2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionMergePartial = void 0;
-    function reflectionMergePartial(info7, target, source) {
-      let fieldValue, input = source, output;
-      for (let field of info7.fields) {
-        let name = field.localName;
-        if (field.oneof) {
-          const group = input[field.oneof];
-          if ((group === null || group === void 0 ? void 0 : group.oneofKind) == void 0) {
-            continue;
+    exports2.createHttpHeaders = createHttpHeaders;
+    var ts_http_runtime_1 = require_commonjs3();
+    function createHttpHeaders(rawHeaders) {
+      return (0, ts_http_runtime_1.createHttpHeaders)(rawHeaders);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js
+var require_pipelineRequest2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createPipelineRequest = createPipelineRequest;
+    var ts_http_runtime_1 = require_commonjs3();
+    function createPipelineRequest(options) {
+      return (0, ts_http_runtime_1.createPipelineRequest)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js
+var require_exponentialRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.exponentialRetryPolicyName = void 0;
+    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.exponentialRetryPolicyName = policies_1.exponentialRetryPolicyName;
+    function exponentialRetryPolicy(options = {}) {
+      return (0, policies_1.exponentialRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js
+var require_systemErrorRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.systemErrorRetryPolicyName = void 0;
+    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.systemErrorRetryPolicyName = policies_1.systemErrorRetryPolicyName;
+    function systemErrorRetryPolicy(options = {}) {
+      return (0, policies_1.systemErrorRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js
+var require_throttlingRetryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.throttlingRetryPolicyName = void 0;
+    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
+    var policies_1 = require_internal2();
+    exports2.throttlingRetryPolicyName = policies_1.throttlingRetryPolicyName;
+    function throttlingRetryPolicy(options = {}) {
+      return (0, policies_1.throttlingRetryPolicy)(options);
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js
+var require_retryPolicy2 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.retryPolicy = retryPolicy;
+    var logger_1 = require_commonjs4();
+    var constants_js_1 = require_constants13();
+    var policies_1 = require_internal2();
+    var retryPolicyLogger = (0, logger_1.createClientLogger)("core-rest-pipeline retryPolicy");
+    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
+      return (0, policies_1.retryPolicy)(strategies, {
+        logger: retryPolicyLogger,
+        ...options
+      });
+    }
+  }
+});
+
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js
+var require_tokenCycler = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.DEFAULT_CYCLER_OPTIONS = void 0;
+    exports2.createTokenCycler = createTokenCycler;
+    var core_util_1 = require_commonjs6();
+    exports2.DEFAULT_CYCLER_OPTIONS = {
+      forcedRefreshWindowInMs: 1e3,
+      // Force waiting for a refresh 1s before the token expires
+      retryIntervalInMs: 3e3,
+      // Allow refresh attempts every 3s
+      refreshWindowInMs: 1e3 * 60 * 2
+      // Start refreshing 2m before expiry
+    };
+    async function beginRefresh(getAccessToken, retryIntervalInMs, refreshTimeout) {
+      async function tryGetAccessToken() {
+        if (Date.now() < refreshTimeout) {
+          try {
+            return await getAccessToken();
+          } catch {
+            return null;
           }
-          fieldValue = group[name];
-          output = target[field.oneof];
-          output.oneofKind = group.oneofKind;
-          if (fieldValue == void 0) {
-            delete output[name];
-            continue;
+        } else {
+          const finalToken = await getAccessToken();
+          if (finalToken === null) {
+            throw new Error("Failed to refresh access token.");
+          }
+          return finalToken;
+        }
+      }
+      let token = await tryGetAccessToken();
+      while (token === null) {
+        await (0, core_util_1.delay)(retryIntervalInMs);
+        token = await tryGetAccessToken();
+      }
+      return token;
+    }
+    function createTokenCycler(credential, tokenCyclerOptions) {
+      let refreshWorker = null;
+      let token = null;
+      let tenantId;
+      const options = {
+        ...exports2.DEFAULT_CYCLER_OPTIONS,
+        ...tokenCyclerOptions
+      };
+      const cycler = {
+        /**
+         * Produces true if a refresh job is currently in progress.
+         */
+        get isRefreshing() {
+          return refreshWorker !== null;
+        },
+        /**
+         * Produces true if the cycler SHOULD refresh (we are within the refresh
+         * window and not already refreshing)
+         */
+        get shouldRefresh() {
+          if (cycler.isRefreshing) {
+            return false;
           }
-        } else {
-          fieldValue = input[name];
-          output = target;
-          if (fieldValue == void 0) {
-            continue;
+          if (token?.refreshAfterTimestamp && token.refreshAfterTimestamp < Date.now()) {
+            return true;
           }
+          return (token?.expiresOnTimestamp ?? 0) - options.refreshWindowInMs < Date.now();
+        },
+        /**
+         * Produces true if the cycler MUST refresh (null or nearly-expired
+         * token).
+         */
+        get mustRefresh() {
+          return token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now();
         }
-        if (field.repeat)
-          output[name].length = fieldValue.length;
-        switch (field.kind) {
-          case "scalar":
-          case "enum":
-            if (field.repeat)
-              for (let i = 0; i < fieldValue.length; i++)
-                output[name][i] = fieldValue[i];
-            else
-              output[name] = fieldValue;
-            break;
-          case "message":
-            let T = field.T();
-            if (field.repeat)
-              for (let i = 0; i < fieldValue.length; i++)
-                output[name][i] = T.create(fieldValue[i]);
-            else if (output[name] === void 0)
-              output[name] = T.create(fieldValue);
-            else
-              T.mergePartial(output[name], fieldValue);
-            break;
-          case "map":
-            switch (field.V.kind) {
-              case "scalar":
-              case "enum":
-                Object.assign(output[name], fieldValue);
-                break;
-              case "message":
-                let T2 = field.V.T();
-                for (let k of Object.keys(fieldValue))
-                  output[name][k] = T2.create(fieldValue[k]);
-                break;
-            }
-            break;
+      };
+      function refresh(scopes, getTokenOptions) {
+        if (!cycler.isRefreshing) {
+          const tryGetAccessToken = () => credential.getToken(scopes, getTokenOptions);
+          refreshWorker = beginRefresh(
+            tryGetAccessToken,
+            options.retryIntervalInMs,
+            // If we don't have a token, then we should timeout immediately
+            token?.expiresOnTimestamp ?? Date.now()
+          ).then((_token) => {
+            refreshWorker = null;
+            token = _token;
+            tenantId = getTokenOptions.tenantId;
+            return token;
+          }).catch((reason) => {
+            refreshWorker = null;
+            token = null;
+            tenantId = void 0;
+            throw reason;
+          });
         }
+        return refreshWorker;
       }
+      return async (scopes, tokenOptions) => {
+        const hasClaimChallenge = Boolean(tokenOptions.claims);
+        const tenantIdChanged = tenantId !== tokenOptions.tenantId;
+        if (hasClaimChallenge) {
+          token = null;
+        }
+        const mustRefresh = tenantIdChanged || hasClaimChallenge || cycler.mustRefresh;
+        if (mustRefresh) {
+          return refresh(scopes, tokenOptions);
+        }
+        if (cycler.shouldRefresh) {
+          refresh(scopes, tokenOptions);
+        }
+        return token;
+      };
     }
-    exports2.reflectionMergePartial = reflectionMergePartial;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js
-var require_reflection_equals = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-equals.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js
+var require_bearerTokenAuthenticationPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.reflectionEquals = void 0;
-    var reflection_info_1 = require_reflection_info();
-    function reflectionEquals(info7, a, b) {
-      if (a === b)
-        return true;
-      if (!a || !b)
-        return false;
-      for (let field of info7.fields) {
-        let localName = field.localName;
-        let val_a = field.oneof ? a[field.oneof][localName] : a[localName];
-        let val_b = field.oneof ? b[field.oneof][localName] : b[localName];
-        switch (field.kind) {
-          case "enum":
-          case "scalar":
-            let t = field.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.T;
-            if (!(field.repeat ? repeatedPrimitiveEq(t, val_a, val_b) : primitiveEq(t, val_a, val_b)))
-              return false;
-            break;
-          case "map":
-            if (!(field.V.kind == "message" ? repeatedMsgEq(field.V.T(), objectValues(val_a), objectValues(val_b)) : repeatedPrimitiveEq(field.V.kind == "enum" ? reflection_info_1.ScalarType.INT32 : field.V.T, objectValues(val_a), objectValues(val_b))))
-              return false;
-            break;
-          case "message":
-            let T = field.T();
-            if (!(field.repeat ? repeatedMsgEq(T, val_a, val_b) : T.equals(val_a, val_b)))
-              return false;
-            break;
+    exports2.bearerTokenAuthenticationPolicyName = void 0;
+    exports2.bearerTokenAuthenticationPolicy = bearerTokenAuthenticationPolicy;
+    exports2.parseChallenges = parseChallenges;
+    var tokenCycler_js_1 = require_tokenCycler();
+    var log_js_1 = require_log3();
+    var restError_js_1 = require_restError3();
+    exports2.bearerTokenAuthenticationPolicyName = "bearerTokenAuthenticationPolicy";
+    async function trySendRequest(request2, next) {
+      try {
+        return [await next(request2), void 0];
+      } catch (e) {
+        if ((0, restError_js_1.isRestError)(e) && e.response) {
+          return [e.response, e];
+        } else {
+          throw e;
         }
       }
-      return true;
     }
-    exports2.reflectionEquals = reflectionEquals;
-    var objectValues = Object.values;
-    function primitiveEq(type2, a, b) {
-      if (a === b)
-        return true;
-      if (type2 !== reflection_info_1.ScalarType.BYTES)
-        return false;
-      let ba = a;
-      let bb = b;
-      if (ba.length !== bb.length)
-        return false;
-      for (let i = 0; i < ba.length; i++)
-        if (ba[i] != bb[i])
-          return false;
-      return true;
+    async function defaultAuthorizeRequest(options) {
+      const { scopes, getAccessToken, request: request2 } = options;
+      const getTokenOptions = {
+        abortSignal: request2.abortSignal,
+        tracingOptions: request2.tracingOptions,
+        enableCae: true
+      };
+      const accessToken = await getAccessToken(scopes, getTokenOptions);
+      if (accessToken) {
+        options.request.headers.set("Authorization", `Bearer ${accessToken.token}`);
+      }
     }
-    function repeatedPrimitiveEq(type2, a, b) {
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; i++)
-        if (!primitiveEq(type2, a[i], b[i]))
-          return false;
-      return true;
+    function isChallengeResponse(response) {
+      return response.status === 401 && response.headers.has("WWW-Authenticate");
     }
-    function repeatedMsgEq(type2, a, b) {
-      if (a.length !== b.length)
+    async function authorizeRequestOnCaeChallenge(onChallengeOptions, caeClaims) {
+      const { scopes } = onChallengeOptions;
+      const accessToken = await onChallengeOptions.getAccessToken(scopes, {
+        enableCae: true,
+        claims: caeClaims
+      });
+      if (!accessToken) {
         return false;
-      for (let i = 0; i < a.length; i++)
-        if (!type2.equals(a[i], b[i]))
-          return false;
+      }
+      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
       return true;
     }
-  }
-});
-
-// node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js
-var require_message_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/message-type.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MessageType = void 0;
-    var message_type_contract_1 = require_message_type_contract();
-    var reflection_info_1 = require_reflection_info();
-    var reflection_type_check_1 = require_reflection_type_check();
-    var reflection_json_reader_1 = require_reflection_json_reader();
-    var reflection_json_writer_1 = require_reflection_json_writer();
-    var reflection_binary_reader_1 = require_reflection_binary_reader();
-    var reflection_binary_writer_1 = require_reflection_binary_writer();
-    var reflection_create_1 = require_reflection_create();
-    var reflection_merge_partial_1 = require_reflection_merge_partial();
-    var json_typings_1 = require_json_typings();
-    var json_format_contract_1 = require_json_format_contract();
-    var reflection_equals_1 = require_reflection_equals();
-    var binary_writer_1 = require_binary_writer();
-    var binary_reader_1 = require_binary_reader();
-    var baseDescriptors = Object.getOwnPropertyDescriptors(Object.getPrototypeOf({}));
-    var messageTypeDescriptor = baseDescriptors[message_type_contract_1.MESSAGE_TYPE] = {};
-    var MessageType = class {
-      constructor(name, fields, options) {
-        this.defaultCheckDepth = 16;
-        this.typeName = name;
-        this.fields = fields.map(reflection_info_1.normalizeFieldInfo);
-        this.options = options !== null && options !== void 0 ? options : {};
-        messageTypeDescriptor.value = this;
-        this.messagePrototype = Object.create(null, baseDescriptors);
-        this.refTypeCheck = new reflection_type_check_1.ReflectionTypeCheck(this);
-        this.refJsonReader = new reflection_json_reader_1.ReflectionJsonReader(this);
-        this.refJsonWriter = new reflection_json_writer_1.ReflectionJsonWriter(this);
-        this.refBinReader = new reflection_binary_reader_1.ReflectionBinaryReader(this);
-        this.refBinWriter = new reflection_binary_writer_1.ReflectionBinaryWriter(this);
-      }
-      create(value) {
-        let message = reflection_create_1.reflectionCreate(this);
-        if (value !== void 0) {
-          reflection_merge_partial_1.reflectionMergePartial(this, message, value);
+    function bearerTokenAuthenticationPolicy(options) {
+      const { credential, scopes, challengeCallbacks } = options;
+      const logger = options.logger || log_js_1.logger;
+      const callbacks = {
+        authorizeRequest: challengeCallbacks?.authorizeRequest?.bind(challengeCallbacks) ?? defaultAuthorizeRequest,
+        authorizeRequestOnChallenge: challengeCallbacks?.authorizeRequestOnChallenge?.bind(challengeCallbacks)
+      };
+      const getAccessToken = credential ? (0, tokenCycler_js_1.createTokenCycler)(
+        credential
+        /* , options */
+      ) : () => Promise.resolve(null);
+      return {
+        name: exports2.bearerTokenAuthenticationPolicyName,
+        /**
+         * If there's no challenge parameter:
+         * - It will try to retrieve the token using the cache, or the credential's getToken.
+         * - Then it will try the next policy with or without the retrieved token.
+         *
+         * It uses the challenge parameters to:
+         * - Skip a first attempt to get the token from the credential if there's no cached token,
+         *   since it expects the token to be retrievable only after the challenge.
+         * - Prepare the outgoing request if the `prepareRequest` method has been provided.
+         * - Send an initial request to receive the challenge if it fails.
+         * - Process a challenge if the response contains it.
+         * - Retrieve a token with the challenge information, then re-send the request.
+         */
+        async sendRequest(request2, next) {
+          if (!request2.url.toLowerCase().startsWith("https://")) {
+            throw new Error("Bearer token authentication is not permitted for non-TLS protected (non-https) URLs.");
+          }
+          await callbacks.authorizeRequest({
+            scopes: Array.isArray(scopes) ? scopes : [scopes],
+            request: request2,
+            getAccessToken,
+            logger
+          });
+          let response;
+          let error3;
+          let shouldSendRequest;
+          [response, error3] = await trySendRequest(request2, next);
+          if (isChallengeResponse(response)) {
+            let claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
+            if (claims) {
+              let parsedClaim;
+              try {
+                parsedClaim = atob(claims);
+              } catch (e) {
+                logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
+                return response;
+              }
+              shouldSendRequest = await authorizeRequestOnCaeChallenge({
+                scopes: Array.isArray(scopes) ? scopes : [scopes],
+                response,
+                request: request2,
+                getAccessToken,
+                logger
+              }, parsedClaim);
+              if (shouldSendRequest) {
+                [response, error3] = await trySendRequest(request2, next);
+              }
+            } else if (callbacks.authorizeRequestOnChallenge) {
+              shouldSendRequest = await callbacks.authorizeRequestOnChallenge({
+                scopes: Array.isArray(scopes) ? scopes : [scopes],
+                request: request2,
+                response,
+                getAccessToken,
+                logger
+              });
+              if (shouldSendRequest) {
+                [response, error3] = await trySendRequest(request2, next);
+              }
+              if (isChallengeResponse(response)) {
+                claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
+                if (claims) {
+                  let parsedClaim;
+                  try {
+                    parsedClaim = atob(claims);
+                  } catch (e) {
+                    logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
+                    return response;
+                  }
+                  shouldSendRequest = await authorizeRequestOnCaeChallenge({
+                    scopes: Array.isArray(scopes) ? scopes : [scopes],
+                    response,
+                    request: request2,
+                    getAccessToken,
+                    logger
+                  }, parsedClaim);
+                  if (shouldSendRequest) {
+                    [response, error3] = await trySendRequest(request2, next);
+                  }
+                }
+              }
+            }
+          }
+          if (error3) {
+            throw error3;
+          } else {
+            return response;
+          }
         }
-        return message;
-      }
-      /**
-       * Clone the message.
-       *
-       * Unknown fields are discarded.
-       */
-      clone(message) {
-        let copy = this.create();
-        reflection_merge_partial_1.reflectionMergePartial(this, copy, message);
-        return copy;
-      }
-      /**
-       * Determines whether two message of the same type have the same field values.
-       * Checks for deep equality, traversing repeated fields, oneof groups, maps
-       * and messages recursively.
-       * Will also return true if both messages are `undefined`.
-       */
-      equals(a, b) {
-        return reflection_equals_1.reflectionEquals(this, a, b);
-      }
-      /**
-       * Is the given value assignable to our message type
-       * and contains no [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
-       */
-      is(arg, depth = this.defaultCheckDepth) {
-        return this.refTypeCheck.is(arg, depth, false);
-      }
-      /**
-       * Is the given value assignable to our message type,
-       * regardless of [excess properties](https://www.typescriptlang.org/docs/handbook/interfaces.html#excess-property-checks)?
-       */
-      isAssignable(arg, depth = this.defaultCheckDepth) {
-        return this.refTypeCheck.is(arg, depth, true);
-      }
-      /**
-       * Copy partial data into the target message.
-       */
-      mergePartial(target, source) {
-        reflection_merge_partial_1.reflectionMergePartial(this, target, source);
-      }
-      /**
-       * Create a new message from binary format.
-       */
-      fromBinary(data, options) {
-        let opt = binary_reader_1.binaryReadOptions(options);
-        return this.internalBinaryRead(opt.readerFactory(data), data.byteLength, opt);
-      }
-      /**
-       * Read a new message from a JSON value.
-       */
-      fromJson(json2, options) {
-        return this.internalJsonRead(json2, json_format_contract_1.jsonReadOptions(options));
-      }
-      /**
-       * Read a new message from a JSON string.
-       * This is equivalent to `T.fromJson(JSON.parse(json))`.
-       */
-      fromJsonString(json2, options) {
-        let value = JSON.parse(json2);
-        return this.fromJson(value, options);
-      }
-      /**
-       * Write the message to canonical JSON value.
-       */
-      toJson(message, options) {
-        return this.internalJsonWrite(message, json_format_contract_1.jsonWriteOptions(options));
-      }
-      /**
-       * Convert the message to canonical JSON string.
-       * This is equivalent to `JSON.stringify(T.toJson(t))`
-       */
-      toJsonString(message, options) {
-        var _a;
-        let value = this.toJson(message, options);
-        return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0);
-      }
-      /**
-       * Write the message to binary format.
-       */
-      toBinary(message, options) {
-        let opt = binary_writer_1.binaryWriteOptions(options);
-        return this.internalBinaryWrite(message, opt.writerFactory(), opt).finish();
-      }
-      /**
-       * This is an internal method. If you just want to read a message from
-       * JSON, use `fromJson()` or `fromJsonString()`.
-       *
-       * Reads JSON value and merges the fields into the target
-       * according to protobuf rules. If the target is omitted,
-       * a new instance is created first.
-       */
-      internalJsonRead(json2, options, target) {
-        if (json2 !== null && typeof json2 == "object" && !Array.isArray(json2)) {
-          let message = target !== null && target !== void 0 ? target : this.create();
-          this.refJsonReader.read(json2, message, options);
-          return message;
+      };
+    }
+    function parseChallenges(challenges) {
+      const challengeRegex = /(\w+)\s+((?:\w+=(?:"[^"]*"|[^,]*),?\s*)+)/g;
+      const paramRegex = /(\w+)="([^"]*)"/g;
+      const parsedChallenges = [];
+      let match;
+      while ((match = challengeRegex.exec(challenges)) !== null) {
+        const scheme = match[1];
+        const paramsString = match[2];
+        const params = {};
+        let paramMatch;
+        while ((paramMatch = paramRegex.exec(paramsString)) !== null) {
+          params[paramMatch[1]] = paramMatch[2];
         }
-        throw new Error(`Unable to parse message ${this.typeName} from JSON ${json_typings_1.typeofJsonValue(json2)}.`);
-      }
-      /**
-       * This is an internal method. If you just want to write a message
-       * to JSON, use `toJson()` or `toJsonString().
-       *
-       * Writes JSON value and returns it.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.write(message, options);
-      }
-      /**
-       * This is an internal method. If you just want to write a message
-       * in binary format, use `toBinary()`.
-       *
-       * Serializes the message in binary format and appends it to the given
-       * writer. Returns passed writer.
-       */
-      internalBinaryWrite(message, writer, options) {
-        this.refBinWriter.write(message, writer, options);
-        return writer;
+        parsedChallenges.push({ scheme, params });
       }
-      /**
-       * This is an internal method. If you just want to read a message from
-       * binary data, use `fromBinary()`.
-       *
-       * Reads data from binary format and merges the fields into
-       * the target according to protobuf rules. If the target is
-       * omitted, a new instance is created first.
-       */
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create();
-        this.refBinReader.read(reader, message, options, length);
-        return message;
+      return parsedChallenges;
+    }
+    function getCaeChallengeClaims(challenges) {
+      if (!challenges) {
+        return;
       }
-    };
-    exports2.MessageType = MessageType;
+      const parsedChallenges = parseChallenges(challenges);
+      return parsedChallenges.find((x) => x.scheme === "Bearer" && x.params.claims && x.params.error === "insufficient_claims")?.params.claims;
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js
-var require_reflection_contains_message_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/reflection-contains-message-type.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js
+var require_ndJsonPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.containsMessageType = void 0;
-    var message_type_contract_1 = require_message_type_contract();
-    function containsMessageType(msg) {
-      return msg[message_type_contract_1.MESSAGE_TYPE] != null;
+    exports2.ndJsonPolicyName = void 0;
+    exports2.ndJsonPolicy = ndJsonPolicy;
+    exports2.ndJsonPolicyName = "ndJsonPolicy";
+    function ndJsonPolicy() {
+      return {
+        name: exports2.ndJsonPolicyName,
+        async sendRequest(request2, next) {
+          if (typeof request2.body === "string" && request2.body.startsWith("[")) {
+            const body = JSON.parse(request2.body);
+            if (Array.isArray(body)) {
+              request2.body = body.map((item) => JSON.stringify(item) + "\n").join("");
+            }
+          }
+          return next(request2);
+        }
+      };
     }
-    exports2.containsMessageType = containsMessageType;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js
-var require_enum_object = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/enum-object.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js
+var require_auxiliaryAuthenticationHeaderPolicy = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.listEnumNumbers = exports2.listEnumNames = exports2.listEnumValues = exports2.isEnumObject = void 0;
-    function isEnumObject(arg) {
-      if (typeof arg != "object" || arg === null) {
-        return false;
-      }
-      if (!arg.hasOwnProperty(0)) {
-        return false;
-      }
-      for (let k of Object.keys(arg)) {
-        let num = parseInt(k);
-        if (!Number.isNaN(num)) {
-          let nam = arg[num];
-          if (nam === void 0)
-            return false;
-          if (arg[nam] !== num)
-            return false;
-        } else {
-          let num2 = arg[k];
-          if (num2 === void 0)
-            return false;
-          if (typeof num2 !== "number")
-            return false;
-          if (arg[num2] === void 0)
-            return false;
-        }
-      }
-      return true;
-    }
-    exports2.isEnumObject = isEnumObject;
-    function listEnumValues(enumObject) {
-      if (!isEnumObject(enumObject))
-        throw new Error("not a typescript enum object");
-      let values = [];
-      for (let [name, number] of Object.entries(enumObject))
-        if (typeof number == "number")
-          values.push({ name, number });
-      return values;
-    }
-    exports2.listEnumValues = listEnumValues;
-    function listEnumNames(enumObject) {
-      return listEnumValues(enumObject).map((val) => val.name);
+    exports2.auxiliaryAuthenticationHeaderPolicyName = void 0;
+    exports2.auxiliaryAuthenticationHeaderPolicy = auxiliaryAuthenticationHeaderPolicy;
+    var tokenCycler_js_1 = require_tokenCycler();
+    var log_js_1 = require_log3();
+    exports2.auxiliaryAuthenticationHeaderPolicyName = "auxiliaryAuthenticationHeaderPolicy";
+    var AUTHORIZATION_AUXILIARY_HEADER = "x-ms-authorization-auxiliary";
+    async function sendAuthorizeRequest(options) {
+      const { scopes, getAccessToken, request: request2 } = options;
+      const getTokenOptions = {
+        abortSignal: request2.abortSignal,
+        tracingOptions: request2.tracingOptions
+      };
+      return (await getAccessToken(scopes, getTokenOptions))?.token ?? "";
     }
-    exports2.listEnumNames = listEnumNames;
-    function listEnumNumbers(enumObject) {
-      return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index);
+    function auxiliaryAuthenticationHeaderPolicy(options) {
+      const { credentials, scopes } = options;
+      const logger = options.logger || log_js_1.logger;
+      const tokenCyclerMap = /* @__PURE__ */ new WeakMap();
+      return {
+        name: exports2.auxiliaryAuthenticationHeaderPolicyName,
+        async sendRequest(request2, next) {
+          if (!request2.url.toLowerCase().startsWith("https://")) {
+            throw new Error("Bearer token authentication for auxiliary header is not permitted for non-TLS protected (non-https) URLs.");
+          }
+          if (!credentials || credentials.length === 0) {
+            logger.info(`${exports2.auxiliaryAuthenticationHeaderPolicyName} header will not be set due to empty credentials.`);
+            return next(request2);
+          }
+          const tokenPromises = [];
+          for (const credential of credentials) {
+            let getAccessToken = tokenCyclerMap.get(credential);
+            if (!getAccessToken) {
+              getAccessToken = (0, tokenCycler_js_1.createTokenCycler)(credential);
+              tokenCyclerMap.set(credential, getAccessToken);
+            }
+            tokenPromises.push(sendAuthorizeRequest({
+              scopes: Array.isArray(scopes) ? scopes : [scopes],
+              request: request2,
+              getAccessToken,
+              logger
+            }));
+          }
+          const auxiliaryTokens = (await Promise.all(tokenPromises)).filter((token) => Boolean(token));
+          if (auxiliaryTokens.length === 0) {
+            logger.warning(`None of the auxiliary tokens are valid. ${AUTHORIZATION_AUXILIARY_HEADER} header will not be set.`);
+            return next(request2);
+          }
+          request2.headers.set(AUTHORIZATION_AUXILIARY_HEADER, auxiliaryTokens.map((token) => `Bearer ${token}`).join(", "));
+          return next(request2);
+        }
+      };
     }
-    exports2.listEnumNumbers = listEnumNumbers;
   }
 });
 
-// node_modules/@protobuf-ts/runtime/build/commonjs/index.js
-var require_commonjs = __commonJS({
-  "node_modules/@protobuf-ts/runtime/build/commonjs/index.js"(exports2) {
+// node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js
+var require_commonjs8 = __commonJS({
+  "node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var json_typings_1 = require_json_typings();
-    Object.defineProperty(exports2, "typeofJsonValue", { enumerable: true, get: function() {
-      return json_typings_1.typeofJsonValue;
+    exports2.createFileFromStream = exports2.createFile = exports2.agentPolicyName = exports2.agentPolicy = exports2.auxiliaryAuthenticationHeaderPolicyName = exports2.auxiliaryAuthenticationHeaderPolicy = exports2.ndJsonPolicyName = exports2.ndJsonPolicy = exports2.bearerTokenAuthenticationPolicyName = exports2.bearerTokenAuthenticationPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.defaultRetryPolicy = exports2.tracingPolicyName = exports2.tracingPolicy = exports2.retryPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.setClientRequestIdPolicyName = exports2.setClientRequestIdPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.isRestError = exports2.RestError = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.createDefaultHttpClient = exports2.createPipelineFromOptions = exports2.createEmptyPipeline = void 0;
+    var pipeline_js_1 = require_pipeline2();
+    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
+      return pipeline_js_1.createEmptyPipeline;
     } });
-    Object.defineProperty(exports2, "isJsonObject", { enumerable: true, get: function() {
-      return json_typings_1.isJsonObject;
+    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions2();
+    Object.defineProperty(exports2, "createPipelineFromOptions", { enumerable: true, get: function() {
+      return createPipelineFromOptions_js_1.createPipelineFromOptions;
     } });
-    var base64_1 = require_base64();
-    Object.defineProperty(exports2, "base64decode", { enumerable: true, get: function() {
-      return base64_1.base64decode;
+    var defaultHttpClient_js_1 = require_defaultHttpClient2();
+    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
+      return defaultHttpClient_js_1.createDefaultHttpClient;
     } });
-    Object.defineProperty(exports2, "base64encode", { enumerable: true, get: function() {
-      return base64_1.base64encode;
+    var httpHeaders_js_1 = require_httpHeaders2();
+    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
+      return httpHeaders_js_1.createHttpHeaders;
     } });
-    var protobufjs_utf8_1 = require_protobufjs_utf8();
-    Object.defineProperty(exports2, "utf8read", { enumerable: true, get: function() {
-      return protobufjs_utf8_1.utf8read;
+    var pipelineRequest_js_1 = require_pipelineRequest2();
+    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
+      return pipelineRequest_js_1.createPipelineRequest;
     } });
-    var binary_format_contract_1 = require_binary_format_contract();
-    Object.defineProperty(exports2, "WireType", { enumerable: true, get: function() {
-      return binary_format_contract_1.WireType;
+    var restError_js_1 = require_restError3();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return restError_js_1.RestError;
     } });
-    Object.defineProperty(exports2, "mergeBinaryOptions", { enumerable: true, get: function() {
-      return binary_format_contract_1.mergeBinaryOptions;
+    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
+      return restError_js_1.isRestError;
     } });
-    Object.defineProperty(exports2, "UnknownFieldHandler", { enumerable: true, get: function() {
-      return binary_format_contract_1.UnknownFieldHandler;
+    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
+    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicy;
     } });
-    var binary_reader_1 = require_binary_reader();
-    Object.defineProperty(exports2, "BinaryReader", { enumerable: true, get: function() {
-      return binary_reader_1.BinaryReader;
+    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
+      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
     } });
-    Object.defineProperty(exports2, "binaryReadOptions", { enumerable: true, get: function() {
-      return binary_reader_1.binaryReadOptions;
+    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy2();
+    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
     } });
-    var binary_writer_1 = require_binary_writer();
-    Object.defineProperty(exports2, "BinaryWriter", { enumerable: true, get: function() {
-      return binary_writer_1.BinaryWriter;
+    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
+      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
     } });
-    Object.defineProperty(exports2, "binaryWriteOptions", { enumerable: true, get: function() {
-      return binary_writer_1.binaryWriteOptions;
+    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
+    Object.defineProperty(exports2, "setClientRequestIdPolicy", { enumerable: true, get: function() {
+      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicy;
     } });
-    var pb_long_1 = require_pb_long();
-    Object.defineProperty(exports2, "PbLong", { enumerable: true, get: function() {
-      return pb_long_1.PbLong;
+    Object.defineProperty(exports2, "setClientRequestIdPolicyName", { enumerable: true, get: function() {
+      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicyName;
     } });
-    Object.defineProperty(exports2, "PbULong", { enumerable: true, get: function() {
-      return pb_long_1.PbULong;
+    var logPolicy_js_1 = require_logPolicy2();
+    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicy;
     } });
-    var json_format_contract_1 = require_json_format_contract();
-    Object.defineProperty(exports2, "jsonReadOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.jsonReadOptions;
+    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
+      return logPolicy_js_1.logPolicyName;
     } });
-    Object.defineProperty(exports2, "jsonWriteOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.jsonWriteOptions;
+    var multipartPolicy_js_1 = require_multipartPolicy2();
+    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicy;
     } });
-    Object.defineProperty(exports2, "mergeJsonOptions", { enumerable: true, get: function() {
-      return json_format_contract_1.mergeJsonOptions;
+    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
+      return multipartPolicy_js_1.multipartPolicyName;
     } });
-    var message_type_contract_1 = require_message_type_contract();
-    Object.defineProperty(exports2, "MESSAGE_TYPE", { enumerable: true, get: function() {
-      return message_type_contract_1.MESSAGE_TYPE;
+    var proxyPolicy_js_1 = require_proxyPolicy2();
+    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicy;
     } });
-    var message_type_1 = require_message_type();
-    Object.defineProperty(exports2, "MessageType", { enumerable: true, get: function() {
-      return message_type_1.MessageType;
+    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.proxyPolicyName;
     } });
-    var reflection_info_1 = require_reflection_info();
-    Object.defineProperty(exports2, "ScalarType", { enumerable: true, get: function() {
-      return reflection_info_1.ScalarType;
+    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
+      return proxyPolicy_js_1.getDefaultProxySettings;
     } });
-    Object.defineProperty(exports2, "LongType", { enumerable: true, get: function() {
-      return reflection_info_1.LongType;
+    var redirectPolicy_js_1 = require_redirectPolicy2();
+    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicy;
     } });
-    Object.defineProperty(exports2, "RepeatType", { enumerable: true, get: function() {
-      return reflection_info_1.RepeatType;
+    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
+      return redirectPolicy_js_1.redirectPolicyName;
     } });
-    Object.defineProperty(exports2, "normalizeFieldInfo", { enumerable: true, get: function() {
-      return reflection_info_1.normalizeFieldInfo;
+    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy2();
+    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
     } });
-    Object.defineProperty(exports2, "readFieldOptions", { enumerable: true, get: function() {
-      return reflection_info_1.readFieldOptions;
+    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
+      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
     } });
-    Object.defineProperty(exports2, "readFieldOption", { enumerable: true, get: function() {
-      return reflection_info_1.readFieldOption;
+    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy2();
+    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
     } });
-    Object.defineProperty(exports2, "readMessageOption", { enumerable: true, get: function() {
-      return reflection_info_1.readMessageOption;
+    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
+      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
     } });
-    var reflection_type_check_1 = require_reflection_type_check();
-    Object.defineProperty(exports2, "ReflectionTypeCheck", { enumerable: true, get: function() {
-      return reflection_type_check_1.ReflectionTypeCheck;
+    var retryPolicy_js_1 = require_retryPolicy2();
+    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
+      return retryPolicy_js_1.retryPolicy;
     } });
-    var reflection_create_1 = require_reflection_create();
-    Object.defineProperty(exports2, "reflectionCreate", { enumerable: true, get: function() {
-      return reflection_create_1.reflectionCreate;
+    var tracingPolicy_js_1 = require_tracingPolicy();
+    Object.defineProperty(exports2, "tracingPolicy", { enumerable: true, get: function() {
+      return tracingPolicy_js_1.tracingPolicy;
     } });
-    var reflection_scalar_default_1 = require_reflection_scalar_default();
-    Object.defineProperty(exports2, "reflectionScalarDefault", { enumerable: true, get: function() {
-      return reflection_scalar_default_1.reflectionScalarDefault;
+    Object.defineProperty(exports2, "tracingPolicyName", { enumerable: true, get: function() {
+      return tracingPolicy_js_1.tracingPolicyName;
     } });
-    var reflection_merge_partial_1 = require_reflection_merge_partial();
-    Object.defineProperty(exports2, "reflectionMergePartial", { enumerable: true, get: function() {
-      return reflection_merge_partial_1.reflectionMergePartial;
+    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
+    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
+      return defaultRetryPolicy_js_1.defaultRetryPolicy;
     } });
-    var reflection_equals_1 = require_reflection_equals();
-    Object.defineProperty(exports2, "reflectionEquals", { enumerable: true, get: function() {
-      return reflection_equals_1.reflectionEquals;
+    var userAgentPolicy_js_1 = require_userAgentPolicy2();
+    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicy;
     } });
-    var reflection_binary_reader_1 = require_reflection_binary_reader();
-    Object.defineProperty(exports2, "ReflectionBinaryReader", { enumerable: true, get: function() {
-      return reflection_binary_reader_1.ReflectionBinaryReader;
+    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
+      return userAgentPolicy_js_1.userAgentPolicyName;
     } });
-    var reflection_binary_writer_1 = require_reflection_binary_writer();
-    Object.defineProperty(exports2, "ReflectionBinaryWriter", { enumerable: true, get: function() {
-      return reflection_binary_writer_1.ReflectionBinaryWriter;
+    var tlsPolicy_js_1 = require_tlsPolicy2();
+    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicy;
     } });
-    var reflection_json_reader_1 = require_reflection_json_reader();
-    Object.defineProperty(exports2, "ReflectionJsonReader", { enumerable: true, get: function() {
-      return reflection_json_reader_1.ReflectionJsonReader;
+    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
+      return tlsPolicy_js_1.tlsPolicyName;
     } });
-    var reflection_json_writer_1 = require_reflection_json_writer();
-    Object.defineProperty(exports2, "ReflectionJsonWriter", { enumerable: true, get: function() {
-      return reflection_json_writer_1.ReflectionJsonWriter;
+    var formDataPolicy_js_1 = require_formDataPolicy2();
+    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicy;
     } });
-    var reflection_contains_message_type_1 = require_reflection_contains_message_type();
-    Object.defineProperty(exports2, "containsMessageType", { enumerable: true, get: function() {
-      return reflection_contains_message_type_1.containsMessageType;
+    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
+      return formDataPolicy_js_1.formDataPolicyName;
     } });
-    var oneof_1 = require_oneof();
-    Object.defineProperty(exports2, "isOneofGroup", { enumerable: true, get: function() {
-      return oneof_1.isOneofGroup;
+    var bearerTokenAuthenticationPolicy_js_1 = require_bearerTokenAuthenticationPolicy();
+    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicy", { enumerable: true, get: function() {
+      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicy;
     } });
-    Object.defineProperty(exports2, "setOneofValue", { enumerable: true, get: function() {
-      return oneof_1.setOneofValue;
+    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicyName", { enumerable: true, get: function() {
+      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicyName;
     } });
-    Object.defineProperty(exports2, "getOneofValue", { enumerable: true, get: function() {
-      return oneof_1.getOneofValue;
+    var ndJsonPolicy_js_1 = require_ndJsonPolicy();
+    Object.defineProperty(exports2, "ndJsonPolicy", { enumerable: true, get: function() {
+      return ndJsonPolicy_js_1.ndJsonPolicy;
     } });
-    Object.defineProperty(exports2, "clearOneofValue", { enumerable: true, get: function() {
-      return oneof_1.clearOneofValue;
+    Object.defineProperty(exports2, "ndJsonPolicyName", { enumerable: true, get: function() {
+      return ndJsonPolicy_js_1.ndJsonPolicyName;
     } });
-    Object.defineProperty(exports2, "getSelectedOneofValue", { enumerable: true, get: function() {
-      return oneof_1.getSelectedOneofValue;
+    var auxiliaryAuthenticationHeaderPolicy_js_1 = require_auxiliaryAuthenticationHeaderPolicy();
+    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicy", { enumerable: true, get: function() {
+      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicy;
     } });
-    var enum_object_1 = require_enum_object();
-    Object.defineProperty(exports2, "listEnumValues", { enumerable: true, get: function() {
-      return enum_object_1.listEnumValues;
+    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicyName", { enumerable: true, get: function() {
+      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicyName;
     } });
-    Object.defineProperty(exports2, "listEnumNames", { enumerable: true, get: function() {
-      return enum_object_1.listEnumNames;
+    var agentPolicy_js_1 = require_agentPolicy2();
+    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicy;
     } });
-    Object.defineProperty(exports2, "listEnumNumbers", { enumerable: true, get: function() {
-      return enum_object_1.listEnumNumbers;
+    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
+      return agentPolicy_js_1.agentPolicyName;
     } });
-    Object.defineProperty(exports2, "isEnumObject", { enumerable: true, get: function() {
-      return enum_object_1.isEnumObject;
+    var file_js_1 = require_file3();
+    Object.defineProperty(exports2, "createFile", { enumerable: true, get: function() {
+      return file_js_1.createFile;
+    } });
+    Object.defineProperty(exports2, "createFileFromStream", { enumerable: true, get: function() {
+      return file_js_1.createFileFromStream;
+    } });
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js
+var require_azureKeyCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureKeyCredential = void 0;
+    var AzureKeyCredential = class {
+      _key;
+      /**
+       * The value of the key to be used in authentication
+       */
+      get key() {
+        return this._key;
+      }
+      /**
+       * Create an instance of an AzureKeyCredential for use
+       * with a service client.
+       *
+       * @param key - The initial value of the key to use in authentication
+       */
+      constructor(key) {
+        if (!key) {
+          throw new Error("key must be a non-empty string");
+        }
+        this._key = key;
+      }
+      /**
+       * Change the value of the key.
+       *
+       * Updates will take effect upon the next request after
+       * updating the key value.
+       *
+       * @param newKey - The new key value to be used
+       */
+      update(newKey) {
+        this._key = newKey;
+      }
+    };
+    exports2.AzureKeyCredential = AzureKeyCredential;
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/keyCredential.js
+var require_keyCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/keyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isKeyCredential = isKeyCredential;
+    var core_util_1 = require_commonjs6();
+    function isKeyCredential(credential) {
+      return (0, core_util_1.isObjectWithProperties)(credential, ["key"]) && typeof credential.key === "string";
+    }
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js
+var require_azureNamedKeyCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureNamedKeyCredential = void 0;
+    exports2.isNamedKeyCredential = isNamedKeyCredential;
+    var core_util_1 = require_commonjs6();
+    var AzureNamedKeyCredential = class {
+      _key;
+      _name;
+      /**
+       * The value of the key to be used in authentication.
+       */
+      get key() {
+        return this._key;
+      }
+      /**
+       * The value of the name to be used in authentication.
+       */
+      get name() {
+        return this._name;
+      }
+      /**
+       * Create an instance of an AzureNamedKeyCredential for use
+       * with a service client.
+       *
+       * @param name - The initial value of the name to use in authentication.
+       * @param key - The initial value of the key to use in authentication.
+       */
+      constructor(name, key) {
+        if (!name || !key) {
+          throw new TypeError("name and key must be non-empty strings");
+        }
+        this._name = name;
+        this._key = key;
+      }
+      /**
+       * Change the value of the key.
+       *
+       * Updates will take effect upon the next request after
+       * updating the key value.
+       *
+       * @param newName - The new name value to be used.
+       * @param newKey - The new key value to be used.
+       */
+      update(newName, newKey) {
+        if (!newName || !newKey) {
+          throw new TypeError("newName and newKey must be non-empty strings");
+        }
+        this._name = newName;
+        this._key = newKey;
+      }
+    };
+    exports2.AzureNamedKeyCredential = AzureNamedKeyCredential;
+    function isNamedKeyCredential(credential) {
+      return (0, core_util_1.isObjectWithProperties)(credential, ["name", "key"]) && typeof credential.key === "string" && typeof credential.name === "string";
+    }
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js
+var require_azureSASCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AzureSASCredential = void 0;
+    exports2.isSASCredential = isSASCredential;
+    var core_util_1 = require_commonjs6();
+    var AzureSASCredential = class {
+      _signature;
+      /**
+       * The value of the shared access signature to be used in authentication
+       */
+      get signature() {
+        return this._signature;
+      }
+      /**
+       * Create an instance of an AzureSASCredential for use
+       * with a service client.
+       *
+       * @param signature - The initial value of the shared access signature to use in authentication
+       */
+      constructor(signature) {
+        if (!signature) {
+          throw new Error("shared access signature must be a non-empty string");
+        }
+        this._signature = signature;
+      }
+      /**
+       * Change the value of the signature.
+       *
+       * Updates will take effect upon the next request after
+       * updating the signature value.
+       *
+       * @param newSignature - The new shared access signature value to be used
+       */
+      update(newSignature) {
+        if (!newSignature) {
+          throw new Error("shared access signature must be a non-empty string");
+        }
+        this._signature = newSignature;
+      }
+    };
+    exports2.AzureSASCredential = AzureSASCredential;
+    function isSASCredential(credential) {
+      return (0, core_util_1.isObjectWithProperties)(credential, ["signature"]) && typeof credential.signature === "string";
+    }
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js
+var require_tokenCredential = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isBearerToken = isBearerToken;
+    exports2.isPopToken = isPopToken;
+    exports2.isTokenCredential = isTokenCredential;
+    function isBearerToken(accessToken) {
+      return !accessToken.tokenType || accessToken.tokenType === "Bearer";
+    }
+    function isPopToken(accessToken) {
+      return accessToken.tokenType === "pop";
+    }
+    function isTokenCredential(credential) {
+      const castCredential = credential;
+      return castCredential && typeof castCredential.getToken === "function" && (castCredential.signRequest === void 0 || castCredential.getToken.length > 0);
+    }
+  }
+});
+
+// node_modules/@azure/core-auth/dist/commonjs/index.js
+var require_commonjs9 = __commonJS({
+  "node_modules/@azure/core-auth/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isTokenCredential = exports2.isSASCredential = exports2.AzureSASCredential = exports2.isNamedKeyCredential = exports2.AzureNamedKeyCredential = exports2.isKeyCredential = exports2.AzureKeyCredential = void 0;
+    var azureKeyCredential_js_1 = require_azureKeyCredential();
+    Object.defineProperty(exports2, "AzureKeyCredential", { enumerable: true, get: function() {
+      return azureKeyCredential_js_1.AzureKeyCredential;
     } });
-    var lower_camel_case_1 = require_lower_camel_case();
-    Object.defineProperty(exports2, "lowerCamelCase", { enumerable: true, get: function() {
-      return lower_camel_case_1.lowerCamelCase;
+    var keyCredential_js_1 = require_keyCredential();
+    Object.defineProperty(exports2, "isKeyCredential", { enumerable: true, get: function() {
+      return keyCredential_js_1.isKeyCredential;
     } });
-    var assert_1 = require_assert();
-    Object.defineProperty(exports2, "assert", { enumerable: true, get: function() {
-      return assert_1.assert;
+    var azureNamedKeyCredential_js_1 = require_azureNamedKeyCredential();
+    Object.defineProperty(exports2, "AzureNamedKeyCredential", { enumerable: true, get: function() {
+      return azureNamedKeyCredential_js_1.AzureNamedKeyCredential;
     } });
-    Object.defineProperty(exports2, "assertNever", { enumerable: true, get: function() {
-      return assert_1.assertNever;
+    Object.defineProperty(exports2, "isNamedKeyCredential", { enumerable: true, get: function() {
+      return azureNamedKeyCredential_js_1.isNamedKeyCredential;
     } });
-    Object.defineProperty(exports2, "assertInt32", { enumerable: true, get: function() {
-      return assert_1.assertInt32;
+    var azureSASCredential_js_1 = require_azureSASCredential();
+    Object.defineProperty(exports2, "AzureSASCredential", { enumerable: true, get: function() {
+      return azureSASCredential_js_1.AzureSASCredential;
     } });
-    Object.defineProperty(exports2, "assertUInt32", { enumerable: true, get: function() {
-      return assert_1.assertUInt32;
+    Object.defineProperty(exports2, "isSASCredential", { enumerable: true, get: function() {
+      return azureSASCredential_js_1.isSASCredential;
     } });
-    Object.defineProperty(exports2, "assertFloat32", { enumerable: true, get: function() {
-      return assert_1.assertFloat32;
+    var tokenCredential_js_1 = require_tokenCredential();
+    Object.defineProperty(exports2, "isTokenCredential", { enumerable: true, get: function() {
+      return tokenCredential_js_1.isTokenCredential;
     } });
   }
 });
 
-// node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js
-var require_timestamp = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) {
+// node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js
+var require_disableKeepAlivePolicy = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Timestamp = void 0;
-    var runtime_1 = require_commonjs();
-    var runtime_2 = require_commonjs();
-    var runtime_3 = require_commonjs();
-    var runtime_4 = require_commonjs();
-    var runtime_5 = require_commonjs();
-    var runtime_6 = require_commonjs();
-    var runtime_7 = require_commonjs();
-    var Timestamp$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Timestamp", [
-          {
-            no: 1,
-            name: "seconds",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 2,
-            name: "nanos",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
+    exports2.disableKeepAlivePolicyName = void 0;
+    exports2.createDisableKeepAlivePolicy = createDisableKeepAlivePolicy;
+    exports2.pipelineContainsDisableKeepAlivePolicy = pipelineContainsDisableKeepAlivePolicy;
+    exports2.disableKeepAlivePolicyName = "DisableKeepAlivePolicy";
+    function createDisableKeepAlivePolicy() {
+      return {
+        name: exports2.disableKeepAlivePolicyName,
+        async sendRequest(request2, next) {
+          request2.disableKeepAlive = true;
+          return next(request2);
+        }
+      };
+    }
+    function pipelineContainsDisableKeepAlivePolicy(pipeline) {
+      return pipeline.getOrderedPolicies().some((policy) => policy.name === exports2.disableKeepAlivePolicyName);
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/base64.js
+var require_base642 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/base64.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.encodeString = encodeString;
+    exports2.encodeByteArray = encodeByteArray;
+    exports2.decodeString = decodeString;
+    exports2.decodeStringToString = decodeStringToString;
+    function encodeString(value) {
+      return Buffer.from(value).toString("base64");
+    }
+    function encodeByteArray(value) {
+      const bufferValue = value instanceof Buffer ? value : Buffer.from(value.buffer);
+      return bufferValue.toString("base64");
+    }
+    function decodeString(value) {
+      return Buffer.from(value, "base64");
+    }
+    function decodeStringToString(value) {
+      return Buffer.from(value, "base64").toString();
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/interfaces.js
+var require_interfaces = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/interfaces.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
+    exports2.XML_ATTRKEY = "$";
+    exports2.XML_CHARKEY = "_";
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/utils.js
+var require_utils6 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.isPrimitiveBody = isPrimitiveBody;
+    exports2.isDuration = isDuration;
+    exports2.isValidUuid = isValidUuid;
+    exports2.flattenResponse = flattenResponse;
+    function isPrimitiveBody(value, mapperTypeName) {
+      return mapperTypeName !== "Composite" && mapperTypeName !== "Dictionary" && (typeof value === "string" || typeof value === "number" || typeof value === "boolean" || mapperTypeName?.match(/^(Date|DateTime|DateTimeRfc1123|UnixTime|ByteArray|Base64Url)$/i) !== null || value === void 0 || value === null);
+    }
+    var validateISODuration = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
+    function isDuration(value) {
+      return validateISODuration.test(value);
+    }
+    var validUuidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/i;
+    function isValidUuid(uuid) {
+      return validUuidRegex.test(uuid);
+    }
+    function handleNullableResponseAndWrappableBody(responseObject) {
+      const combinedHeadersAndBody = {
+        ...responseObject.headers,
+        ...responseObject.body
+      };
+      if (responseObject.hasNullableType && Object.getOwnPropertyNames(combinedHeadersAndBody).length === 0) {
+        return responseObject.shouldWrapBody ? { body: null } : null;
+      } else {
+        return responseObject.shouldWrapBody ? {
+          ...responseObject.headers,
+          body: responseObject.body
+        } : combinedHeadersAndBody;
       }
-      /**
-       * Creates a new `Timestamp` for the current time.
-       */
-      now() {
-        const msg = this.create();
-        const ms = Date.now();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
+    }
+    function flattenResponse(fullResponse, responseSpec) {
+      const parsedHeaders = fullResponse.parsedHeaders;
+      if (fullResponse.request.method === "HEAD") {
+        return {
+          ...parsedHeaders,
+          body: fullResponse.parsedBody
+        };
       }
-      /**
-       * Converts a `Timestamp` to a JavaScript Date.
-       */
-      toDate(message) {
-        return new Date(runtime_6.PbLong.from(message.seconds).toNumber() * 1e3 + Math.ceil(message.nanos / 1e6));
+      const bodyMapper = responseSpec && responseSpec.bodyMapper;
+      const isNullable = Boolean(bodyMapper?.nullable);
+      const expectedBodyTypeName = bodyMapper?.type.name;
+      if (expectedBodyTypeName === "Stream") {
+        return {
+          ...parsedHeaders,
+          blobBody: fullResponse.blobBody,
+          readableStreamBody: fullResponse.readableStreamBody
+        };
+      }
+      const modelProperties = expectedBodyTypeName === "Composite" && bodyMapper.type.modelProperties || {};
+      const isPageableResponse = Object.keys(modelProperties).some((k) => modelProperties[k].serializedName === "");
+      if (expectedBodyTypeName === "Sequence" || isPageableResponse) {
+        const arrayResponse = fullResponse.parsedBody ?? [];
+        for (const key of Object.keys(modelProperties)) {
+          if (modelProperties[key].serializedName) {
+            arrayResponse[key] = fullResponse.parsedBody?.[key];
+          }
+        }
+        if (parsedHeaders) {
+          for (const key of Object.keys(parsedHeaders)) {
+            arrayResponse[key] = parsedHeaders[key];
+          }
+        }
+        return isNullable && !fullResponse.parsedBody && !parsedHeaders && Object.getOwnPropertyNames(modelProperties).length === 0 ? null : arrayResponse;
+      }
+      return handleNullableResponseAndWrappableBody({
+        body: fullResponse.parsedBody,
+        headers: parsedHeaders,
+        hasNullableType: isNullable,
+        shouldWrapBody: isPrimitiveBody(fullResponse.parsedBody, expectedBodyTypeName)
+      });
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/serializer.js
+var require_serializer = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/serializer.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.MapperTypeNames = void 0;
+    exports2.createSerializer = createSerializer;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var base64 = tslib_1.__importStar(require_base642());
+    var interfaces_js_1 = require_interfaces();
+    var utils_js_1 = require_utils6();
+    var SerializerImpl = class {
+      modelMappers;
+      isXML;
+      constructor(modelMappers = {}, isXML = false) {
+        this.modelMappers = modelMappers;
+        this.isXML = isXML;
       }
       /**
-       * Converts a JavaScript Date to a `Timestamp`.
+       * @deprecated Removing the constraints validation on client side.
        */
-      fromDate(date) {
-        const msg = this.create();
-        const ms = date.getTime();
-        msg.seconds = runtime_6.PbLong.from(Math.floor(ms / 1e3)).toString();
-        msg.nanos = ms % 1e3 * 1e6;
-        return msg;
+      validateConstraints(mapper, value, objectName) {
+        const failValidation = (constraintName, constraintValue) => {
+          throw new Error(`"${objectName}" with value "${value}" should satisfy the constraint "${constraintName}": ${constraintValue}.`);
+        };
+        if (mapper.constraints && value !== void 0 && value !== null) {
+          const { ExclusiveMaximum, ExclusiveMinimum, InclusiveMaximum, InclusiveMinimum, MaxItems, MaxLength, MinItems, MinLength, MultipleOf, Pattern, UniqueItems } = mapper.constraints;
+          if (ExclusiveMaximum !== void 0 && value >= ExclusiveMaximum) {
+            failValidation("ExclusiveMaximum", ExclusiveMaximum);
+          }
+          if (ExclusiveMinimum !== void 0 && value <= ExclusiveMinimum) {
+            failValidation("ExclusiveMinimum", ExclusiveMinimum);
+          }
+          if (InclusiveMaximum !== void 0 && value > InclusiveMaximum) {
+            failValidation("InclusiveMaximum", InclusiveMaximum);
+          }
+          if (InclusiveMinimum !== void 0 && value < InclusiveMinimum) {
+            failValidation("InclusiveMinimum", InclusiveMinimum);
+          }
+          if (MaxItems !== void 0 && value.length > MaxItems) {
+            failValidation("MaxItems", MaxItems);
+          }
+          if (MaxLength !== void 0 && value.length > MaxLength) {
+            failValidation("MaxLength", MaxLength);
+          }
+          if (MinItems !== void 0 && value.length < MinItems) {
+            failValidation("MinItems", MinItems);
+          }
+          if (MinLength !== void 0 && value.length < MinLength) {
+            failValidation("MinLength", MinLength);
+          }
+          if (MultipleOf !== void 0 && value % MultipleOf !== 0) {
+            failValidation("MultipleOf", MultipleOf);
+          }
+          if (Pattern) {
+            const pattern = typeof Pattern === "string" ? new RegExp(Pattern) : Pattern;
+            if (typeof value !== "string" || value.match(pattern) === null) {
+              failValidation("Pattern", Pattern);
+            }
+          }
+          if (UniqueItems && value.some((item, i, ar) => ar.indexOf(item) !== i)) {
+            failValidation("UniqueItems", UniqueItems);
+          }
+        }
       }
       /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
+       * Serialize the given object based on its metadata defined in the mapper
+       *
+       * @param mapper - The mapper which defines the metadata of the serializable object
+       *
+       * @param object - A valid Javascript object to be serialized
+       *
+       * @param objectName - Name of the serialized object
+       *
+       * @param options - additional options to serialization
+       *
+       * @returns A valid serialized Javascript object
        */
-      internalJsonWrite(message, options) {
-        let ms = runtime_6.PbLong.from(message.seconds).toNumber() * 1e3;
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (message.nanos < 0)
-          throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
-        let z = "Z";
-        if (message.nanos > 0) {
-          let nanosStr = (message.nanos + 1e9).toString().substring(1);
-          if (nanosStr.substring(3) === "000000")
-            z = "." + nanosStr.substring(0, 3) + "Z";
-          else if (nanosStr.substring(6) === "000")
-            z = "." + nanosStr.substring(0, 6) + "Z";
-          else
-            z = "." + nanosStr + "Z";
+      serialize(mapper, object, objectName, options = { xml: {} }) {
+        const updatedOptions = {
+          xml: {
+            rootName: options.xml.rootName ?? "",
+            includeRoot: options.xml.includeRoot ?? false,
+            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+          }
+        };
+        let payload = {};
+        const mapperType = mapper.type.name;
+        if (!objectName) {
+          objectName = mapper.serializedName;
         }
-        return new Date(ms).toISOString().replace(".000Z", z);
+        if (mapperType.match(/^Sequence$/i) !== null) {
+          payload = [];
+        }
+        if (mapper.isConstant) {
+          object = mapper.defaultValue;
+        }
+        const { required, nullable } = mapper;
+        if (required && nullable && object === void 0) {
+          throw new Error(`${objectName} cannot be undefined.`);
+        }
+        if (required && !nullable && (object === void 0 || object === null)) {
+          throw new Error(`${objectName} cannot be null or undefined.`);
+        }
+        if (!required && nullable === false && object === null) {
+          throw new Error(`${objectName} cannot be null.`);
+        }
+        if (object === void 0 || object === null) {
+          payload = object;
+        } else {
+          if (mapperType.match(/^any$/i) !== null) {
+            payload = object;
+          } else if (mapperType.match(/^(Number|String|Boolean|Object|Stream|Uuid)$/i) !== null) {
+            payload = serializeBasicTypes(mapperType, objectName, object);
+          } else if (mapperType.match(/^Enum$/i) !== null) {
+            const enumMapper = mapper;
+            payload = serializeEnumType(objectName, enumMapper.type.allowedValues, object);
+          } else if (mapperType.match(/^(Date|DateTime|TimeSpan|DateTimeRfc1123|UnixTime)$/i) !== null) {
+            payload = serializeDateTypes(mapperType, object, objectName);
+          } else if (mapperType.match(/^ByteArray$/i) !== null) {
+            payload = serializeByteArrayType(objectName, object);
+          } else if (mapperType.match(/^Base64Url$/i) !== null) {
+            payload = serializeBase64UrlType(objectName, object);
+          } else if (mapperType.match(/^Sequence$/i) !== null) {
+            payload = serializeSequenceType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
+          } else if (mapperType.match(/^Dictionary$/i) !== null) {
+            payload = serializeDictionaryType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
+          } else if (mapperType.match(/^Composite$/i) !== null) {
+            payload = serializeCompositeType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
+          }
+        }
+        return payload;
       }
       /**
-       * In JSON format, the `Timestamp` type is encoded as a string
-       * in the RFC 3339 format.
+       * Deserialize the given object based on its metadata defined in the mapper
+       *
+       * @param mapper - The mapper which defines the metadata of the serializable object
+       *
+       * @param responseBody - A valid Javascript entity to be deserialized
+       *
+       * @param objectName - Name of the deserialized object
+       *
+       * @param options - Controls behavior of XML parser and builder.
+       *
+       * @returns A valid deserialized Javascript object
        */
-      internalJsonRead(json2, options, target) {
-        if (typeof json2 !== "string")
-          throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_5.typeofJsonValue)(json2) + ".");
-        let matches = json2.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
-        if (!matches)
-          throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
-        let ms = Date.parse(matches[1] + "-" + matches[2] + "-" + matches[3] + "T" + matches[4] + ":" + matches[5] + ":" + matches[6] + (matches[8] ? matches[8] : "Z"));
-        if (Number.isNaN(ms))
-          throw new Error("Unable to parse Timestamp from JSON. Invalid value.");
-        if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
-          throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
-        if (!target)
-          target = this.create();
-        target.seconds = runtime_6.PbLong.from(ms / 1e3).toString();
-        target.nanos = 0;
-        if (matches[7])
-          target.nanos = parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1e9;
-        return target;
-      }
-      create(value) {
-        const message = { seconds: "0", nanos: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 seconds */
-            1:
-              message.seconds = reader.int64().toString();
-              break;
-            case /* int32 nanos */
-            2:
-              message.nanos = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      deserialize(mapper, responseBody, objectName, options = { xml: {} }) {
+        const updatedOptions = {
+          xml: {
+            rootName: options.xml.rootName ?? "",
+            includeRoot: options.xml.includeRoot ?? false,
+            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+          },
+          ignoreUnknownProperties: options.ignoreUnknownProperties ?? false
+        };
+        if (responseBody === void 0 || responseBody === null) {
+          if (this.isXML && mapper.type.name === "Sequence" && !mapper.xmlIsWrapped) {
+            responseBody = [];
           }
+          if (mapper.defaultValue !== void 0) {
+            responseBody = mapper.defaultValue;
+          }
+          return responseBody;
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.seconds !== "0")
-          writer.tag(1, runtime_1.WireType.Varint).int64(message.seconds);
-        if (message.nanos !== 0)
-          writer.tag(2, runtime_1.WireType.Varint).int32(message.nanos);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        let payload;
+        const mapperType = mapper.type.name;
+        if (!objectName) {
+          objectName = mapper.serializedName;
+        }
+        if (mapperType.match(/^Composite$/i) !== null) {
+          payload = deserializeCompositeType(this, mapper, responseBody, objectName, updatedOptions);
+        } else {
+          if (this.isXML) {
+            const xmlCharKey = updatedOptions.xml.xmlCharKey;
+            if (responseBody[interfaces_js_1.XML_ATTRKEY] !== void 0 && responseBody[xmlCharKey] !== void 0) {
+              responseBody = responseBody[xmlCharKey];
+            }
+          }
+          if (mapperType.match(/^Number$/i) !== null) {
+            payload = parseFloat(responseBody);
+            if (isNaN(payload)) {
+              payload = responseBody;
+            }
+          } else if (mapperType.match(/^Boolean$/i) !== null) {
+            if (responseBody === "true") {
+              payload = true;
+            } else if (responseBody === "false") {
+              payload = false;
+            } else {
+              payload = responseBody;
+            }
+          } else if (mapperType.match(/^(String|Enum|Object|Stream|Uuid|TimeSpan|any)$/i) !== null) {
+            payload = responseBody;
+          } else if (mapperType.match(/^(Date|DateTime|DateTimeRfc1123)$/i) !== null) {
+            payload = new Date(responseBody);
+          } else if (mapperType.match(/^UnixTime$/i) !== null) {
+            payload = unixTimeToDate(responseBody);
+          } else if (mapperType.match(/^ByteArray$/i) !== null) {
+            payload = base64.decodeString(responseBody);
+          } else if (mapperType.match(/^Base64Url$/i) !== null) {
+            payload = base64UrlToByteArray(responseBody);
+          } else if (mapperType.match(/^Sequence$/i) !== null) {
+            payload = deserializeSequenceType(this, mapper, responseBody, objectName, updatedOptions);
+          } else if (mapperType.match(/^Dictionary$/i) !== null) {
+            payload = deserializeDictionaryType(this, mapper, responseBody, objectName, updatedOptions);
+          }
+        }
+        if (mapper.isConstant) {
+          payload = mapper.defaultValue;
+        }
+        return payload;
       }
     };
-    exports2.Timestamp = new Timestamp$Type();
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js
-var require_wrappers = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/google/protobuf/wrappers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BytesValue = exports2.StringValue = exports2.BoolValue = exports2.UInt32Value = exports2.Int32Value = exports2.UInt64Value = exports2.Int64Value = exports2.FloatValue = exports2.DoubleValue = void 0;
-    var runtime_1 = require_commonjs();
-    var runtime_2 = require_commonjs();
-    var runtime_3 = require_commonjs();
-    var runtime_4 = require_commonjs();
-    var runtime_5 = require_commonjs();
-    var runtime_6 = require_commonjs();
-    var runtime_7 = require_commonjs();
-    var DoubleValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.DoubleValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 1
-            /*ScalarType.DOUBLE*/
-          }
-        ]);
+    function createSerializer(modelMappers = {}, isXML = false) {
+      return new SerializerImpl(modelMappers, isXML);
+    }
+    function trimEnd(str2, ch) {
+      let len = str2.length;
+      while (len - 1 >= 0 && str2[len - 1] === ch) {
+        --len;
       }
-      /**
-       * Encode `DoubleValue` to JSON number.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(2, message.value, "value", false, true);
+      return str2.substr(0, len);
+    }
+    function bufferToBase64Url(buffer) {
+      if (!buffer) {
+        return void 0;
       }
-      /**
-       * Decode `DoubleValue` from JSON number.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
+      if (!(buffer instanceof Uint8Array)) {
+        throw new Error(`Please provide an input of type Uint8Array for converting to Base64Url.`);
       }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      const str2 = base64.encodeByteArray(buffer);
+      return trimEnd(str2, "=").replace(/\+/g, "-").replace(/\//g, "_");
+    }
+    function base64UrlToByteArray(str2) {
+      if (!str2) {
+        return void 0;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* double value */
-            1:
-              message.value = reader.double();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      if (str2 && typeof str2.valueOf() !== "string") {
+        throw new Error("Please provide an input of type string for converting to Uint8Array");
+      }
+      str2 = str2.replace(/-/g, "+").replace(/_/g, "/");
+      return base64.decodeString(str2);
+    }
+    function splitSerializeName(prop) {
+      const classes = [];
+      let partialclass = "";
+      if (prop) {
+        const subwords = prop.split(".");
+        for (const item of subwords) {
+          if (item.charAt(item.length - 1) === "\\") {
+            partialclass += item.substr(0, item.length - 1) + ".";
+          } else {
+            partialclass += item;
+            classes.push(partialclass);
+            partialclass = "";
           }
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit64).double(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return classes;
+    }
+    function dateToUnixTime(d) {
+      if (!d) {
+        return void 0;
       }
-    };
-    exports2.DoubleValue = new DoubleValue$Type();
-    var FloatValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.FloatValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 2
-            /*ScalarType.FLOAT*/
-          }
-        ]);
+      if (typeof d.valueOf() === "string") {
+        d = new Date(d);
       }
-      /**
-       * Encode `FloatValue` to JSON number.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(1, message.value, "value", false, true);
+      return Math.floor(d.getTime() / 1e3);
+    }
+    function unixTimeToDate(n) {
+      if (!n) {
+        return void 0;
       }
-      /**
-       * Decode `FloatValue` from JSON number.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 1, void 0, "value");
-        return target;
+      return new Date(n * 1e3);
+    }
+    function serializeBasicTypes(typeName, objectName, value) {
+      if (value !== null && value !== void 0) {
+        if (typeName.match(/^Number$/i) !== null) {
+          if (typeof value !== "number") {
+            throw new Error(`${objectName} with value ${value} must be of type number.`);
+          }
+        } else if (typeName.match(/^String$/i) !== null) {
+          if (typeof value.valueOf() !== "string") {
+            throw new Error(`${objectName} with value "${value}" must be of type string.`);
+          }
+        } else if (typeName.match(/^Uuid$/i) !== null) {
+          if (!(typeof value.valueOf() === "string" && (0, utils_js_1.isValidUuid)(value))) {
+            throw new Error(`${objectName} with value "${value}" must be of type string and a valid uuid.`);
+          }
+        } else if (typeName.match(/^Boolean$/i) !== null) {
+          if (typeof value !== "boolean") {
+            throw new Error(`${objectName} with value ${value} must be of type boolean.`);
+          }
+        } else if (typeName.match(/^Stream$/i) !== null) {
+          const objectType = typeof value;
+          if (objectType !== "string" && typeof value.pipe !== "function" && // NodeJS.ReadableStream
+          typeof value.tee !== "function" && // browser ReadableStream
+          !(value instanceof ArrayBuffer) && !ArrayBuffer.isView(value) && // File objects count as a type of Blob, so we want to use instanceof explicitly
+          !((typeof Blob === "function" || typeof Blob === "object") && value instanceof Blob) && objectType !== "function") {
+            throw new Error(`${objectName} must be a string, Blob, ArrayBuffer, ArrayBufferView, ReadableStream, or () => ReadableStream.`);
+          }
+        }
       }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      return value;
+    }
+    function serializeEnumType(objectName, allowedValues, value) {
+      if (!allowedValues) {
+        throw new Error(`Please provide a set of allowedValues to validate ${objectName} as an Enum Type.`);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* float value */
-            1:
-              message.value = reader.float();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      const isPresent = allowedValues.some((item) => {
+        if (typeof item.valueOf() === "string") {
+          return item.toLowerCase() === value.toLowerCase();
         }
-        return message;
+        return item === value;
+      });
+      if (!isPresent) {
+        throw new Error(`${value} is not a valid value for ${objectName}. The valid values are: ${JSON.stringify(allowedValues)}.`);
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Bit32).float(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return value;
+    }
+    function serializeByteArrayType(objectName, value) {
+      if (value !== void 0 && value !== null) {
+        if (!(value instanceof Uint8Array)) {
+          throw new Error(`${objectName} must be of type Uint8Array.`);
+        }
+        value = base64.encodeByteArray(value);
       }
-    };
-    exports2.FloatValue = new FloatValue$Type();
-    var Int64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+      return value;
+    }
+    function serializeBase64UrlType(objectName, value) {
+      if (value !== void 0 && value !== null) {
+        if (!(value instanceof Uint8Array)) {
+          throw new Error(`${objectName} must be of type Uint8Array.`);
+        }
+        value = bufferToBase64Url(value);
+      }
+      return value;
+    }
+    function serializeDateTypes(typeName, value, objectName) {
+      if (value !== void 0 && value !== null) {
+        if (typeName.match(/^Date$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
           }
-        ]);
+          value = value instanceof Date ? value.toISOString().substring(0, 10) : new Date(value).toISOString().substring(0, 10);
+        } else if (typeName.match(/^DateTime$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
+          }
+          value = value instanceof Date ? value.toISOString() : new Date(value).toISOString();
+        } else if (typeName.match(/^DateTimeRfc1123$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123 format.`);
+          }
+          value = value instanceof Date ? value.toUTCString() : new Date(value).toUTCString();
+        } else if (typeName.match(/^UnixTime$/i) !== null) {
+          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
+            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123/ISO8601 format for it to be serialized in UnixTime/Epoch format.`);
+          }
+          value = dateToUnixTime(value);
+        } else if (typeName.match(/^TimeSpan$/i) !== null) {
+          if (!(0, utils_js_1.isDuration)(value)) {
+            throw new Error(`${objectName} must be a string in ISO 8601 format. Instead was "${value}".`);
+          }
+        }
       }
-      /**
-       * Encode `Int64Value` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.INT64, message.value, "value", false, true);
+      return value;
+    }
+    function serializeSequenceType(serializer, mapper, object, objectName, isXml, options) {
+      if (!Array.isArray(object)) {
+        throw new Error(`${objectName} must be of type Array.`);
       }
-      /**
-       * Decode `Int64Value` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.INT64, runtime_2.LongType.STRING, "value");
-        return target;
+      let elementType = mapper.type.element;
+      if (!elementType || typeof elementType !== "object") {
+        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}.`);
       }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      if (elementType.type.name === "Composite" && elementType.type.className) {
+        elementType = serializer.modelMappers[elementType.type.className] ?? elementType;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int64 value */
-            1:
-              message.value = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      const tempArray = [];
+      for (let i = 0; i < object.length; i++) {
+        const serializedValue = serializer.serialize(elementType, object[i], objectName, options);
+        if (isXml && elementType.xmlNamespace) {
+          const xmlnsKey = elementType.xmlNamespacePrefix ? `xmlns:${elementType.xmlNamespacePrefix}` : "xmlns";
+          if (elementType.type.name === "Composite") {
+            tempArray[i] = { ...serializedValue };
+            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
+          } else {
+            tempArray[i] = {};
+            tempArray[i][options.xml.xmlCharKey] = serializedValue;
+            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
           }
+        } else {
+          tempArray[i] = serializedValue;
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).int64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return tempArray;
+    }
+    function serializeDictionaryType(serializer, mapper, object, objectName, isXml, options) {
+      if (typeof object !== "object") {
+        throw new Error(`${objectName} must be of type object.`);
       }
-    };
-    exports2.Int64Value = new Int64Value$Type();
-    var UInt64Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt64Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 4
-            /*ScalarType.UINT64*/
-          }
-        ]);
+      const valueType = mapper.type.value;
+      if (!valueType || typeof valueType !== "object") {
+        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}.`);
       }
-      /**
-       * Encode `UInt64Value` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(runtime_1.ScalarType.UINT64, message.value, "value", false, true);
+      const tempDictionary = {};
+      for (const key of Object.keys(object)) {
+        const serializedValue = serializer.serialize(valueType, object[key], objectName, options);
+        tempDictionary[key] = getXmlObjectValue(valueType, serializedValue, isXml, options);
       }
-      /**
-       * Decode `UInt64Value` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, runtime_1.ScalarType.UINT64, runtime_2.LongType.STRING, "value");
-        return target;
+      if (isXml && mapper.xmlNamespace) {
+        const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
+        const result = tempDictionary;
+        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: mapper.xmlNamespace };
+        return result;
       }
-      create(value) {
-        const message = { value: "0" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      return tempDictionary;
+    }
+    function resolveAdditionalProperties(serializer, mapper, objectName) {
+      const additionalProperties = mapper.type.additionalProperties;
+      if (!additionalProperties && mapper.type.className) {
+        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
+        return modelMapper?.type.additionalProperties;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint64 value */
-            1:
-              message.value = reader.uint64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      return additionalProperties;
+    }
+    function resolveReferencedMapper(serializer, mapper, objectName) {
+      const className = mapper.type.className;
+      if (!className) {
+        throw new Error(`Class name for model "${objectName}" is not provided in the mapper "${JSON.stringify(mapper, void 0, 2)}".`);
+      }
+      return serializer.modelMappers[className];
+    }
+    function resolveModelProperties(serializer, mapper, objectName) {
+      let modelProps = mapper.type.modelProperties;
+      if (!modelProps) {
+        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
+        if (!modelMapper) {
+          throw new Error(`mapper() cannot be null or undefined for model "${mapper.type.className}".`);
+        }
+        modelProps = modelMapper?.type.modelProperties;
+        if (!modelProps) {
+          throw new Error(`modelProperties cannot be null or undefined in the mapper "${JSON.stringify(modelMapper)}" of type "${mapper.type.className}" for object "${objectName}".`);
+        }
+      }
+      return modelProps;
+    }
+    function serializeCompositeType(serializer, mapper, object, objectName, isXml, options) {
+      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
+        mapper = getPolymorphicMapper(serializer, mapper, object, "clientName");
+      }
+      if (object !== void 0 && object !== null) {
+        const payload = {};
+        const modelProps = resolveModelProperties(serializer, mapper, objectName);
+        for (const key of Object.keys(modelProps)) {
+          const propertyMapper = modelProps[key];
+          if (propertyMapper.readOnly) {
+            continue;
+          }
+          let propName;
+          let parentObject = payload;
+          if (serializer.isXML) {
+            if (propertyMapper.xmlIsWrapped) {
+              propName = propertyMapper.xmlName;
+            } else {
+              propName = propertyMapper.xmlElementName || propertyMapper.xmlName;
+            }
+          } else {
+            const paths = splitSerializeName(propertyMapper.serializedName);
+            propName = paths.pop();
+            for (const pathName of paths) {
+              const childObject = parentObject[pathName];
+              if ((childObject === void 0 || childObject === null) && (object[key] !== void 0 && object[key] !== null || propertyMapper.defaultValue !== void 0)) {
+                parentObject[pathName] = {};
+              }
+              parentObject = parentObject[pathName];
+            }
+          }
+          if (parentObject !== void 0 && parentObject !== null) {
+            if (isXml && mapper.xmlNamespace) {
+              const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
+              parentObject[interfaces_js_1.XML_ATTRKEY] = {
+                ...parentObject[interfaces_js_1.XML_ATTRKEY],
+                [xmlnsKey]: mapper.xmlNamespace
+              };
+            }
+            const propertyObjectName = propertyMapper.serializedName !== "" ? objectName + "." + propertyMapper.serializedName : objectName;
+            let toSerialize = object[key];
+            const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
+            if (polymorphicDiscriminator && polymorphicDiscriminator.clientName === key && (toSerialize === void 0 || toSerialize === null)) {
+              toSerialize = mapper.serializedName;
+            }
+            const serializedValue = serializer.serialize(propertyMapper, toSerialize, propertyObjectName, options);
+            if (serializedValue !== void 0 && propName !== void 0 && propName !== null) {
+              const value = getXmlObjectValue(propertyMapper, serializedValue, isXml, options);
+              if (isXml && propertyMapper.xmlIsAttribute) {
+                parentObject[interfaces_js_1.XML_ATTRKEY] = parentObject[interfaces_js_1.XML_ATTRKEY] || {};
+                parentObject[interfaces_js_1.XML_ATTRKEY][propName] = serializedValue;
+              } else if (isXml && propertyMapper.xmlIsWrapped) {
+                parentObject[propName] = { [propertyMapper.xmlElementName]: value };
+              } else {
+                parentObject[propName] = value;
+              }
+            }
+          }
+        }
+        const additionalPropertiesMapper = resolveAdditionalProperties(serializer, mapper, objectName);
+        if (additionalPropertiesMapper) {
+          const propNames = Object.keys(modelProps);
+          for (const clientPropName in object) {
+            const isAdditionalProperty = propNames.every((pn) => pn !== clientPropName);
+            if (isAdditionalProperty) {
+              payload[clientPropName] = serializer.serialize(additionalPropertiesMapper, object[clientPropName], objectName + '["' + clientPropName + '"]', options);
+            }
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "0")
-          writer.tag(1, runtime_3.WireType.Varint).uint64(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.UInt64Value = new UInt64Value$Type();
-    var Int32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.Int32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
-          }
-        ]);
+        return payload;
       }
-      /**
-       * Encode `Int32Value` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(5, message.value, "value", false, true);
+      return object;
+    }
+    function getXmlObjectValue(propertyMapper, serializedValue, isXml, options) {
+      if (!isXml || !propertyMapper.xmlNamespace) {
+        return serializedValue;
       }
-      /**
-       * Decode `Int32Value` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 5, void 0, "value");
-        return target;
+      const xmlnsKey = propertyMapper.xmlNamespacePrefix ? `xmlns:${propertyMapper.xmlNamespacePrefix}` : "xmlns";
+      const xmlNamespace = { [xmlnsKey]: propertyMapper.xmlNamespace };
+      if (["Composite"].includes(propertyMapper.type.name)) {
+        if (serializedValue[interfaces_js_1.XML_ATTRKEY]) {
+          return serializedValue;
+        } else {
+          const result2 = { ...serializedValue };
+          result2[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
+          return result2;
+        }
       }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      const result = {};
+      result[options.xml.xmlCharKey] = serializedValue;
+      result[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
+      return result;
+    }
+    function isSpecialXmlProperty(propertyName, options) {
+      return [interfaces_js_1.XML_ATTRKEY, options.xml.xmlCharKey].includes(propertyName);
+    }
+    function deserializeCompositeType(serializer, mapper, responseBody, objectName, options) {
+      const xmlCharKey = options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY;
+      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
+        mapper = getPolymorphicMapper(serializer, mapper, responseBody, "serializedName");
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* int32 value */
-            1:
-              message.value = reader.int32();
+      const modelProps = resolveModelProperties(serializer, mapper, objectName);
+      let instance = {};
+      const handledPropertyNames = [];
+      for (const key of Object.keys(modelProps)) {
+        const propertyMapper = modelProps[key];
+        const paths = splitSerializeName(modelProps[key].serializedName);
+        handledPropertyNames.push(paths[0]);
+        const { serializedName, xmlName, xmlElementName } = propertyMapper;
+        let propertyObjectName = objectName;
+        if (serializedName !== "" && serializedName !== void 0) {
+          propertyObjectName = objectName + "." + serializedName;
+        }
+        const headerCollectionPrefix = propertyMapper.headerCollectionPrefix;
+        if (headerCollectionPrefix) {
+          const dictionary = {};
+          for (const headerKey of Object.keys(responseBody)) {
+            if (headerKey.startsWith(headerCollectionPrefix)) {
+              dictionary[headerKey.substring(headerCollectionPrefix.length)] = serializer.deserialize(propertyMapper.type.value, responseBody[headerKey], propertyObjectName, options);
+            }
+            handledPropertyNames.push(headerKey);
+          }
+          instance[key] = dictionary;
+        } else if (serializer.isXML) {
+          if (propertyMapper.xmlIsAttribute && responseBody[interfaces_js_1.XML_ATTRKEY]) {
+            instance[key] = serializer.deserialize(propertyMapper, responseBody[interfaces_js_1.XML_ATTRKEY][xmlName], propertyObjectName, options);
+          } else if (propertyMapper.xmlIsMsText) {
+            if (responseBody[xmlCharKey] !== void 0) {
+              instance[key] = responseBody[xmlCharKey];
+            } else if (typeof responseBody === "string") {
+              instance[key] = responseBody;
+            }
+          } else {
+            const propertyName = xmlElementName || xmlName || serializedName;
+            if (propertyMapper.xmlIsWrapped) {
+              const wrapped = responseBody[xmlName];
+              const elementList = wrapped?.[xmlElementName] ?? [];
+              instance[key] = serializer.deserialize(propertyMapper, elementList, propertyObjectName, options);
+              handledPropertyNames.push(xmlName);
+            } else {
+              const property = responseBody[propertyName];
+              instance[key] = serializer.deserialize(propertyMapper, property, propertyObjectName, options);
+              handledPropertyNames.push(propertyName);
+            }
+          }
+        } else {
+          let propertyInstance;
+          let res = responseBody;
+          let steps = 0;
+          for (const item of paths) {
+            if (!res)
               break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+            steps++;
+            res = res[item];
+          }
+          if (res === null && steps < paths.length) {
+            res = void 0;
+          }
+          propertyInstance = res;
+          const polymorphicDiscriminator = mapper.type.polymorphicDiscriminator;
+          if (polymorphicDiscriminator && key === polymorphicDiscriminator.clientName && (propertyInstance === void 0 || propertyInstance === null)) {
+            propertyInstance = mapper.serializedName;
+          }
+          let serializedValue;
+          if (Array.isArray(responseBody[key]) && modelProps[key].serializedName === "") {
+            propertyInstance = responseBody[key];
+            const arrayInstance = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
+            for (const [k, v] of Object.entries(instance)) {
+              if (!Object.prototype.hasOwnProperty.call(arrayInstance, k)) {
+                arrayInstance[k] = v;
+              }
+            }
+            instance = arrayInstance;
+          } else if (propertyInstance !== void 0 || propertyMapper.defaultValue !== void 0) {
+            serializedValue = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
+            instance[key] = serializedValue;
           }
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).int32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.Int32Value = new Int32Value$Type();
-    var UInt32Value$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.UInt32Value", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 13
-            /*ScalarType.UINT32*/
+      const additionalPropertiesMapper = mapper.type.additionalProperties;
+      if (additionalPropertiesMapper) {
+        const isAdditionalProperty = (responsePropName) => {
+          for (const clientPropName in modelProps) {
+            const paths = splitSerializeName(modelProps[clientPropName].serializedName);
+            if (paths[0] === responsePropName) {
+              return false;
+            }
           }
-        ]);
+          return true;
+        };
+        for (const responsePropName in responseBody) {
+          if (isAdditionalProperty(responsePropName)) {
+            instance[responsePropName] = serializer.deserialize(additionalPropertiesMapper, responseBody[responsePropName], objectName + '["' + responsePropName + '"]', options);
+          }
+        }
+      } else if (responseBody && !options.ignoreUnknownProperties) {
+        for (const key of Object.keys(responseBody)) {
+          if (instance[key] === void 0 && !handledPropertyNames.includes(key) && !isSpecialXmlProperty(key, options)) {
+            instance[key] = responseBody[key];
+          }
+        }
       }
-      /**
-       * Encode `UInt32Value` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(13, message.value, "value", false, true);
+      return instance;
+    }
+    function deserializeDictionaryType(serializer, mapper, responseBody, objectName, options) {
+      const value = mapper.type.value;
+      if (!value || typeof value !== "object") {
+        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}`);
       }
-      /**
-       * Decode `UInt32Value` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 13, void 0, "value");
-        return target;
+      if (responseBody) {
+        const tempDictionary = {};
+        for (const key of Object.keys(responseBody)) {
+          tempDictionary[key] = serializer.deserialize(value, responseBody[key], objectName, options);
+        }
+        return tempDictionary;
       }
-      create(value) {
-        const message = { value: 0 };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      return responseBody;
+    }
+    function deserializeSequenceType(serializer, mapper, responseBody, objectName, options) {
+      let element = mapper.type.element;
+      if (!element || typeof element !== "object") {
+        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}`);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* uint32 value */
-            1:
-              message.value = reader.uint32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      if (responseBody) {
+        if (!Array.isArray(responseBody)) {
+          responseBody = [responseBody];
+        }
+        if (element.type.name === "Composite" && element.type.className) {
+          element = serializer.modelMappers[element.type.className] ?? element;
+        }
+        const tempArray = [];
+        for (let i = 0; i < responseBody.length; i++) {
+          tempArray[i] = serializer.deserialize(element, responseBody[i], `${objectName}[${i}]`, options);
+        }
+        return tempArray;
+      }
+      return responseBody;
+    }
+    function getIndexDiscriminator(discriminators, discriminatorValue, typeName) {
+      const typeNamesToCheck = [typeName];
+      while (typeNamesToCheck.length) {
+        const currentName = typeNamesToCheck.shift();
+        const indexDiscriminator = discriminatorValue === currentName ? discriminatorValue : currentName + "." + discriminatorValue;
+        if (Object.prototype.hasOwnProperty.call(discriminators, indexDiscriminator)) {
+          return discriminators[indexDiscriminator];
+        } else {
+          for (const [name, mapper] of Object.entries(discriminators)) {
+            if (name.startsWith(currentName + ".") && mapper.type.uberParent === currentName && mapper.type.className) {
+              typeNamesToCheck.push(mapper.type.className);
+            }
           }
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== 0)
-          writer.tag(1, runtime_3.WireType.Varint).uint32(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return void 0;
+    }
+    function getPolymorphicMapper(serializer, mapper, object, polymorphicPropertyName) {
+      const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
+      if (polymorphicDiscriminator) {
+        let discriminatorName = polymorphicDiscriminator[polymorphicPropertyName];
+        if (discriminatorName) {
+          if (polymorphicPropertyName === "serializedName") {
+            discriminatorName = discriminatorName.replace(/\\/gi, "");
+          }
+          const discriminatorValue = object[discriminatorName];
+          const typeName = mapper.type.uberParent ?? mapper.type.className;
+          if (typeof discriminatorValue === "string" && typeName) {
+            const polymorphicMapper = getIndexDiscriminator(serializer.modelMappers.discriminators, discriminatorValue, typeName);
+            if (polymorphicMapper) {
+              mapper = polymorphicMapper;
+            }
+          }
+        }
       }
+      return mapper;
+    }
+    function getPolymorphicDiscriminatorRecursively(serializer, mapper) {
+      return mapper.type.polymorphicDiscriminator || getPolymorphicDiscriminatorSafely(serializer, mapper.type.uberParent) || getPolymorphicDiscriminatorSafely(serializer, mapper.type.className);
+    }
+    function getPolymorphicDiscriminatorSafely(serializer, typeName) {
+      return typeName && serializer.modelMappers[typeName] && serializer.modelMappers[typeName].type.polymorphicDiscriminator;
+    }
+    exports2.MapperTypeNames = {
+      Base64Url: "Base64Url",
+      Boolean: "Boolean",
+      ByteArray: "ByteArray",
+      Composite: "Composite",
+      Date: "Date",
+      DateTime: "DateTime",
+      DateTimeRfc1123: "DateTimeRfc1123",
+      Dictionary: "Dictionary",
+      Enum: "Enum",
+      Number: "Number",
+      Object: "Object",
+      Sequence: "Sequence",
+      String: "String",
+      Stream: "Stream",
+      TimeSpan: "TimeSpan",
+      UnixTime: "UnixTime"
     };
-    exports2.UInt32Value = new UInt32Value$Type();
-    var BoolValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BoolValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/state.js
+var require_state2 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/state.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.state = void 0;
+    exports2.state = {
+      operationRequestMap: /* @__PURE__ */ new WeakMap()
+    };
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/operationHelpers.js
+var require_operationHelpers = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/operationHelpers.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getOperationArgumentValueFromParameter = getOperationArgumentValueFromParameter;
+    exports2.getOperationRequestInfo = getOperationRequestInfo;
+    var state_js_1 = require_state2();
+    function getOperationArgumentValueFromParameter(operationArguments, parameter, fallbackObject) {
+      let parameterPath = parameter.parameterPath;
+      const parameterMapper = parameter.mapper;
+      let value;
+      if (typeof parameterPath === "string") {
+        parameterPath = [parameterPath];
+      }
+      if (Array.isArray(parameterPath)) {
+        if (parameterPath.length > 0) {
+          if (parameterMapper.isConstant) {
+            value = parameterMapper.defaultValue;
+          } else {
+            let propertySearchResult = getPropertyFromParameterPath(operationArguments, parameterPath);
+            if (!propertySearchResult.propertyFound && fallbackObject) {
+              propertySearchResult = getPropertyFromParameterPath(fallbackObject, parameterPath);
+            }
+            let useDefaultValue = false;
+            if (!propertySearchResult.propertyFound) {
+              useDefaultValue = parameterMapper.required || parameterPath[0] === "options" && parameterPath.length === 2;
+            }
+            value = useDefaultValue ? parameterMapper.defaultValue : propertySearchResult.propertyValue;
           }
-        ]);
+        }
+      } else {
+        if (parameterMapper.required) {
+          value = {};
+        }
+        for (const propertyName in parameterPath) {
+          const propertyMapper = parameterMapper.type.modelProperties[propertyName];
+          const propertyPath = parameterPath[propertyName];
+          const propertyValue = getOperationArgumentValueFromParameter(operationArguments, {
+            parameterPath: propertyPath,
+            mapper: propertyMapper
+          }, fallbackObject);
+          if (propertyValue !== void 0) {
+            if (!value) {
+              value = {};
+            }
+            value[propertyName] = propertyValue;
+          }
+        }
       }
-      /**
-       * Encode `BoolValue` to JSON bool.
-       */
-      internalJsonWrite(message, options) {
-        return message.value;
+      return value;
+    }
+    function getPropertyFromParameterPath(parent, parameterPath) {
+      const result = { propertyFound: false };
+      let i = 0;
+      for (; i < parameterPath.length; ++i) {
+        const parameterPathPart = parameterPath[i];
+        if (parent && parameterPathPart in parent) {
+          parent = parent[parameterPathPart];
+        } else {
+          break;
+        }
       }
-      /**
-       * Decode `BoolValue` from JSON bool.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 8, void 0, "value");
-        return target;
+      if (i === parameterPath.length) {
+        result.propertyValue = parent;
+        result.propertyFound = true;
       }
-      create(value) {
-        const message = { value: false };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      return result;
+    }
+    var originalRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
+    function hasOriginalRequest(request2) {
+      return originalRequestSymbol in request2;
+    }
+    function getOperationRequestInfo(request2) {
+      if (hasOriginalRequest(request2)) {
+        return getOperationRequestInfo(request2[originalRequestSymbol]);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool value */
-            1:
-              message.value = reader.bool();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      let info7 = state_js_1.state.operationRequestMap.get(request2);
+      if (!info7) {
+        info7 = {};
+        state_js_1.state.operationRequestMap.set(request2, info7);
+      }
+      return info7;
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js
+var require_deserializationPolicy = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.deserializationPolicyName = void 0;
+    exports2.deserializationPolicy = deserializationPolicy;
+    var interfaces_js_1 = require_interfaces();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var serializer_js_1 = require_serializer();
+    var operationHelpers_js_1 = require_operationHelpers();
+    var defaultJsonContentTypes = ["application/json", "text/json"];
+    var defaultXmlContentTypes = ["application/xml", "application/atom+xml"];
+    exports2.deserializationPolicyName = "deserializationPolicy";
+    function deserializationPolicy(options = {}) {
+      const jsonContentTypes = options.expectedContentTypes?.json ?? defaultJsonContentTypes;
+      const xmlContentTypes = options.expectedContentTypes?.xml ?? defaultXmlContentTypes;
+      const parseXML = options.parseXML;
+      const serializerOptions = options.serializerOptions;
+      const updatedOptions = {
+        xml: {
+          rootName: serializerOptions?.xml.rootName ?? "",
+          includeRoot: serializerOptions?.xml.includeRoot ?? false,
+          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+        }
+      };
+      return {
+        name: exports2.deserializationPolicyName,
+        async sendRequest(request2, next) {
+          const response = await next(request2);
+          return deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, updatedOptions, parseXML);
+        }
+      };
+    }
+    function getOperationResponseMap(parsedResponse) {
+      let result;
+      const request2 = parsedResponse.request;
+      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+      const operationSpec = operationInfo?.operationSpec;
+      if (operationSpec) {
+        if (!operationInfo?.operationResponseGetter) {
+          result = operationSpec.responses[parsedResponse.status];
+        } else {
+          result = operationInfo?.operationResponseGetter(operationSpec, parsedResponse);
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== false)
-          writer.tag(1, runtime_3.WireType.Varint).bool(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.BoolValue = new BoolValue$Type();
-    var StringValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.StringValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      return result;
+    }
+    function shouldDeserializeResponse(parsedResponse) {
+      const request2 = parsedResponse.request;
+      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+      const shouldDeserialize = operationInfo?.shouldDeserialize;
+      let result;
+      if (shouldDeserialize === void 0) {
+        result = true;
+      } else if (typeof shouldDeserialize === "boolean") {
+        result = shouldDeserialize;
+      } else {
+        result = shouldDeserialize(parsedResponse);
       }
-      /**
-       * Encode `StringValue` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return message.value;
+      return result;
+    }
+    async function deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, options, parseXML) {
+      const parsedResponse = await parse2(jsonContentTypes, xmlContentTypes, response, options, parseXML);
+      if (!shouldDeserializeResponse(parsedResponse)) {
+        return parsedResponse;
       }
-      /**
-       * Decode `StringValue` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 9, void 0, "value");
-        return target;
+      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(parsedResponse.request);
+      const operationSpec = operationInfo?.operationSpec;
+      if (!operationSpec || !operationSpec.responses) {
+        return parsedResponse;
       }
-      create(value) {
-        const message = { value: "" };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      const responseSpec = getOperationResponseMap(parsedResponse);
+      const { error: error3, shouldReturnResponse } = handleErrorResponse(parsedResponse, operationSpec, responseSpec, options);
+      if (error3) {
+        throw error3;
+      } else if (shouldReturnResponse) {
+        return parsedResponse;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string value */
-            1:
-              message.value = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      if (responseSpec) {
+        if (responseSpec.bodyMapper) {
+          let valueToDeserialize = parsedResponse.parsedBody;
+          if (operationSpec.isXML && responseSpec.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
+            valueToDeserialize = typeof valueToDeserialize === "object" ? valueToDeserialize[responseSpec.bodyMapper.xmlElementName] : [];
+          }
+          try {
+            parsedResponse.parsedBody = operationSpec.serializer.deserialize(responseSpec.bodyMapper, valueToDeserialize, "operationRes.parsedBody", options);
+          } catch (deserializeError) {
+            const restError = new core_rest_pipeline_1.RestError(`Error ${deserializeError} occurred in deserializing the responseBody - ${parsedResponse.bodyAsText}`, {
+              statusCode: parsedResponse.status,
+              request: parsedResponse.request,
+              response: parsedResponse
+            });
+            throw restError;
           }
+        } else if (operationSpec.httpMethod === "HEAD") {
+          parsedResponse.parsedBody = response.status >= 200 && response.status < 300;
+        }
+        if (responseSpec.headersMapper) {
+          parsedResponse.parsedHeaders = operationSpec.serializer.deserialize(responseSpec.headersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders", { xml: {}, ignoreUnknownProperties: true });
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value !== "")
-          writer.tag(1, runtime_3.WireType.LengthDelimited).string(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.StringValue = new StringValue$Type();
-    var BytesValue$Type = class extends runtime_7.MessageType {
-      constructor() {
-        super("google.protobuf.BytesValue", [
-          {
-            no: 1,
-            name: "value",
-            kind: "scalar",
-            T: 12
-            /*ScalarType.BYTES*/
+      return parsedResponse;
+    }
+    function isOperationSpecEmpty(operationSpec) {
+      const expectedStatusCodes = Object.keys(operationSpec.responses);
+      return expectedStatusCodes.length === 0 || expectedStatusCodes.length === 1 && expectedStatusCodes[0] === "default";
+    }
+    function handleErrorResponse(parsedResponse, operationSpec, responseSpec, options) {
+      const isSuccessByStatus = 200 <= parsedResponse.status && parsedResponse.status < 300;
+      const isExpectedStatusCode = isOperationSpecEmpty(operationSpec) ? isSuccessByStatus : !!responseSpec;
+      if (isExpectedStatusCode) {
+        if (responseSpec) {
+          if (!responseSpec.isError) {
+            return { error: null, shouldReturnResponse: false };
           }
-        ]);
-      }
-      /**
-       * Encode `BytesValue` to JSON string.
-       */
-      internalJsonWrite(message, options) {
-        return this.refJsonWriter.scalar(12, message.value, "value", false, true);
-      }
-      /**
-       * Decode `BytesValue` from JSON string.
-       */
-      internalJsonRead(json2, options, target) {
-        if (!target)
-          target = this.create();
-        target.value = this.refJsonReader.scalar(json2, 12, void 0, "value");
-        return target;
+        } else {
+          return { error: null, shouldReturnResponse: false };
+        }
       }
-      create(value) {
-        const message = { value: new Uint8Array(0) };
-        globalThis.Object.defineProperty(message, runtime_6.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_5.reflectionMergePartial)(this, message, value);
-        return message;
+      const errorResponseSpec = responseSpec ?? operationSpec.responses.default;
+      const initialErrorMessage = parsedResponse.request.streamResponseStatusCodes?.has(parsedResponse.status) ? `Unexpected status code: ${parsedResponse.status}` : parsedResponse.bodyAsText;
+      const error3 = new core_rest_pipeline_1.RestError(initialErrorMessage, {
+        statusCode: parsedResponse.status,
+        request: parsedResponse.request,
+        response: parsedResponse
+      });
+      if (!errorResponseSpec && !(parsedResponse.parsedBody?.error?.code && parsedResponse.parsedBody?.error?.message)) {
+        throw error3;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bytes value */
-            1:
-              message.value = reader.bytes();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_4.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      const defaultBodyMapper = errorResponseSpec?.bodyMapper;
+      const defaultHeadersMapper = errorResponseSpec?.headersMapper;
+      try {
+        if (parsedResponse.parsedBody) {
+          const parsedBody = parsedResponse.parsedBody;
+          let deserializedError;
+          if (defaultBodyMapper) {
+            let valueToDeserialize = parsedBody;
+            if (operationSpec.isXML && defaultBodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
+              valueToDeserialize = [];
+              const elementName = defaultBodyMapper.xmlElementName;
+              if (typeof parsedBody === "object" && elementName) {
+                valueToDeserialize = parsedBody[elementName];
+              }
+            }
+            deserializedError = operationSpec.serializer.deserialize(defaultBodyMapper, valueToDeserialize, "error.response.parsedBody", options);
+          }
+          const internalError = parsedBody.error || deserializedError || parsedBody;
+          error3.code = internalError.code;
+          if (internalError.message) {
+            error3.message = internalError.message;
+          }
+          if (defaultBodyMapper) {
+            error3.response.parsedBody = deserializedError;
           }
         }
-        return message;
+        if (parsedResponse.headers && defaultHeadersMapper) {
+          error3.response.parsedHeaders = operationSpec.serializer.deserialize(defaultHeadersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders");
+        }
+      } catch (defaultError) {
+        error3.message = `Error "${defaultError.message}" occurred in deserializing the responseBody - "${parsedResponse.bodyAsText}" for the default response.`;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.value.length)
-          writer.tag(1, runtime_3.WireType.LengthDelimited).bytes(message.value);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_4.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return { error: error3, shouldReturnResponse: false };
+    }
+    async function parse2(jsonContentTypes, xmlContentTypes, operationResponse, opts, parseXML) {
+      if (!operationResponse.request.streamResponseStatusCodes?.has(operationResponse.status) && operationResponse.bodyAsText) {
+        const text = operationResponse.bodyAsText;
+        const contentType = operationResponse.headers.get("Content-Type") || "";
+        const contentComponents = !contentType ? [] : contentType.split(";").map((component) => component.toLowerCase());
+        try {
+          if (contentComponents.length === 0 || contentComponents.some((component) => jsonContentTypes.indexOf(component) !== -1)) {
+            operationResponse.parsedBody = JSON.parse(text);
+            return operationResponse;
+          } else if (contentComponents.some((component) => xmlContentTypes.indexOf(component) !== -1)) {
+            if (!parseXML) {
+              throw new Error("Parsing XML not supported.");
+            }
+            const body = await parseXML(text, opts.xml);
+            operationResponse.parsedBody = body;
+            return operationResponse;
+          }
+        } catch (err) {
+          const msg = `Error "${err}" occurred while parsing the response body - ${operationResponse.bodyAsText}.`;
+          const errCode = err.code || core_rest_pipeline_1.RestError.PARSE_ERROR;
+          const e = new core_rest_pipeline_1.RestError(msg, {
+            code: errCode,
+            statusCode: operationResponse.status,
+            request: operationResponse.request,
+            response: operationResponse
+          });
+          throw e;
+        }
       }
-    };
-    exports2.BytesValue = new BytesValue$Type();
+      return operationResponse;
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js
-var require_reflection_info2 = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/reflection-info.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js
+var require_interfaceHelpers = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0;
-    var runtime_1 = require_commonjs();
-    function normalizeMethodInfo(method, service) {
-      var _a, _b, _c;
-      let m = method;
-      m.service = service;
-      m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name);
-      m.serverStreaming = !!m.serverStreaming;
-      m.clientStreaming = !!m.clientStreaming;
-      m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {};
-      m.idempotency = (_c = m.idempotency) !== null && _c !== void 0 ? _c : void 0;
-      return m;
-    }
-    exports2.normalizeMethodInfo = normalizeMethodInfo;
-    function readMethodOptions(service, methodName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
-      return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0;
-    }
-    exports2.readMethodOptions = readMethodOptions;
-    function readMethodOption(service, methodName, extensionName, extensionType) {
-      var _a;
-      const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options;
-      if (!options) {
-        return void 0;
-      }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+    exports2.getStreamingResponseStatusCodes = getStreamingResponseStatusCodes;
+    exports2.getPathStringFromParameter = getPathStringFromParameter;
+    var serializer_js_1 = require_serializer();
+    function getStreamingResponseStatusCodes(operationSpec) {
+      const result = /* @__PURE__ */ new Set();
+      for (const statusCode in operationSpec.responses) {
+        const operationResponse = operationSpec.responses[statusCode];
+        if (operationResponse.bodyMapper && operationResponse.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Stream) {
+          result.add(Number(statusCode));
+        }
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+      return result;
     }
-    exports2.readMethodOption = readMethodOption;
-    function readServiceOption(service, extensionName, extensionType) {
-      const options = service.options;
-      if (!options) {
-        return void 0;
-      }
-      const optionVal = options[extensionName];
-      if (optionVal === void 0) {
-        return optionVal;
+    function getPathStringFromParameter(parameter) {
+      const { parameterPath, mapper } = parameter;
+      let result;
+      if (typeof parameterPath === "string") {
+        result = parameterPath;
+      } else if (Array.isArray(parameterPath)) {
+        result = parameterPath.join(".");
+      } else {
+        result = mapper.serializedName;
       }
-      return extensionType ? extensionType.fromJson(optionVal) : optionVal;
+      return result;
     }
-    exports2.readServiceOption = readServiceOption;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js
-var require_service_type = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/service-type.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js
+var require_serializationPolicy = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceType = void 0;
-    var reflection_info_1 = require_reflection_info2();
-    var ServiceType = class {
-      constructor(typeName, methods, options) {
-        this.typeName = typeName;
-        this.methods = methods.map((i) => reflection_info_1.normalizeMethodInfo(i, this));
-        this.options = options !== null && options !== void 0 ? options : {};
+    exports2.serializationPolicyName = void 0;
+    exports2.serializationPolicy = serializationPolicy;
+    exports2.serializeHeaders = serializeHeaders;
+    exports2.serializeRequestBody = serializeRequestBody;
+    var interfaces_js_1 = require_interfaces();
+    var operationHelpers_js_1 = require_operationHelpers();
+    var serializer_js_1 = require_serializer();
+    var interfaceHelpers_js_1 = require_interfaceHelpers();
+    exports2.serializationPolicyName = "serializationPolicy";
+    function serializationPolicy(options = {}) {
+      const stringifyXML = options.stringifyXML;
+      return {
+        name: exports2.serializationPolicyName,
+        async sendRequest(request2, next) {
+          const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+          const operationSpec = operationInfo?.operationSpec;
+          const operationArguments = operationInfo?.operationArguments;
+          if (operationSpec && operationArguments) {
+            serializeHeaders(request2, operationArguments, operationSpec);
+            serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML);
+          }
+          return next(request2);
+        }
+      };
+    }
+    function serializeHeaders(request2, operationArguments, operationSpec) {
+      if (operationSpec.headerParameters) {
+        for (const headerParameter of operationSpec.headerParameters) {
+          let headerValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, headerParameter);
+          if (headerValue !== null && headerValue !== void 0 || headerParameter.mapper.required) {
+            headerValue = operationSpec.serializer.serialize(headerParameter.mapper, headerValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter));
+            const headerCollectionPrefix = headerParameter.mapper.headerCollectionPrefix;
+            if (headerCollectionPrefix) {
+              for (const key of Object.keys(headerValue)) {
+                request2.headers.set(headerCollectionPrefix + key, headerValue[key]);
+              }
+            } else {
+              request2.headers.set(headerParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter), headerValue);
+            }
+          }
+        }
       }
-    };
-    exports2.ServiceType = ServiceType;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js
-var require_rpc_error = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-error.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RpcError = void 0;
-    var RpcError = class extends Error {
-      constructor(message, code = "UNKNOWN", meta) {
-        super(message);
-        this.name = "RpcError";
-        Object.setPrototypeOf(this, new.target.prototype);
-        this.code = code;
-        this.meta = meta !== null && meta !== void 0 ? meta : {};
+      const customHeaders = operationArguments.options?.requestOptions?.customHeaders;
+      if (customHeaders) {
+        for (const customHeaderName of Object.keys(customHeaders)) {
+          request2.headers.set(customHeaderName, customHeaders[customHeaderName]);
+        }
       }
-      toString() {
-        const l = [this.name + ": " + this.message];
-        if (this.code) {
-          l.push("");
-          l.push("Code: " + this.code);
+    }
+    function serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML = function() {
+      throw new Error("XML serialization unsupported!");
+    }) {
+      const serializerOptions = operationArguments.options?.serializerOptions;
+      const updatedOptions = {
+        xml: {
+          rootName: serializerOptions?.xml.rootName ?? "",
+          includeRoot: serializerOptions?.xml.includeRoot ?? false,
+          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
         }
-        if (this.serviceName && this.methodName) {
-          l.push("Method: " + this.serviceName + "/" + this.methodName);
+      };
+      const xmlCharKey = updatedOptions.xml.xmlCharKey;
+      if (operationSpec.requestBody && operationSpec.requestBody.mapper) {
+        request2.body = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, operationSpec.requestBody);
+        const bodyMapper = operationSpec.requestBody.mapper;
+        const { required, serializedName, xmlName, xmlElementName, xmlNamespace, xmlNamespacePrefix, nullable } = bodyMapper;
+        const typeName = bodyMapper.type.name;
+        try {
+          if (request2.body !== void 0 && request2.body !== null || nullable && request2.body === null || required) {
+            const requestBodyParameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(operationSpec.requestBody);
+            request2.body = operationSpec.serializer.serialize(bodyMapper, request2.body, requestBodyParameterPathString, updatedOptions);
+            const isStream = typeName === serializer_js_1.MapperTypeNames.Stream;
+            if (operationSpec.isXML) {
+              const xmlnsKey = xmlNamespacePrefix ? `xmlns:${xmlNamespacePrefix}` : "xmlns";
+              const value = getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, request2.body, updatedOptions);
+              if (typeName === serializer_js_1.MapperTypeNames.Sequence) {
+                request2.body = stringifyXML(prepareXMLRootList(value, xmlElementName || xmlName || serializedName, xmlnsKey, xmlNamespace), { rootName: xmlName || serializedName, xmlCharKey });
+              } else if (!isStream) {
+                request2.body = stringifyXML(value, {
+                  rootName: xmlName || serializedName,
+                  xmlCharKey
+                });
+              }
+            } else if (typeName === serializer_js_1.MapperTypeNames.String && (operationSpec.contentType?.match("text/plain") || operationSpec.mediaType === "text")) {
+              return;
+            } else if (!isStream) {
+              request2.body = JSON.stringify(request2.body);
+            }
+          }
+        } catch (error3) {
+          throw new Error(`Error "${error3.message}" occurred in serializing the payload - ${JSON.stringify(serializedName, void 0, "  ")}.`);
         }
-        let m = Object.entries(this.meta);
-        if (m.length) {
-          l.push("");
-          l.push("Meta:");
-          for (let [k, v] of m) {
-            l.push(`  ${k}: ${v}`);
+      } else if (operationSpec.formDataParameters && operationSpec.formDataParameters.length > 0) {
+        request2.formData = {};
+        for (const formDataParameter of operationSpec.formDataParameters) {
+          const formDataParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, formDataParameter);
+          if (formDataParameterValue !== void 0 && formDataParameterValue !== null) {
+            const formDataParameterPropertyName = formDataParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter);
+            request2.formData[formDataParameterPropertyName] = operationSpec.serializer.serialize(formDataParameter.mapper, formDataParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter), updatedOptions);
           }
         }
-        return l.join("\n");
       }
-    };
-    exports2.RpcError = RpcError;
+    }
+    function getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, serializedValue, options) {
+      if (xmlNamespace && !["Composite", "Sequence", "Dictionary"].includes(typeName)) {
+        const result = {};
+        result[options.xml.xmlCharKey] = serializedValue;
+        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: xmlNamespace };
+        return result;
+      }
+      return serializedValue;
+    }
+    function prepareXMLRootList(obj, elementName, xmlNamespaceKey, xmlNamespace) {
+      if (!Array.isArray(obj)) {
+        obj = [obj];
+      }
+      if (!xmlNamespaceKey || !xmlNamespace) {
+        return { [elementName]: obj };
+      }
+      const result = { [elementName]: obj };
+      result[interfaces_js_1.XML_ATTRKEY] = { [xmlNamespaceKey]: xmlNamespace };
+      return result;
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/pipeline.js
+var require_pipeline3 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/pipeline.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createClientPipeline = createClientPipeline;
+    var deserializationPolicy_js_1 = require_deserializationPolicy();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var serializationPolicy_js_1 = require_serializationPolicy();
+    function createClientPipeline(options = {}) {
+      const pipeline = (0, core_rest_pipeline_1.createPipelineFromOptions)(options ?? {});
+      if (options.credentialOptions) {
+        pipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+          credential: options.credentialOptions.credential,
+          scopes: options.credentialOptions.credentialScopes
+        }));
+      }
+      pipeline.addPolicy((0, serializationPolicy_js_1.serializationPolicy)(options.serializationOptions), { phase: "Serialize" });
+      pipeline.addPolicy((0, deserializationPolicy_js_1.deserializationPolicy)(options.deserializationOptions), {
+        phase: "Deserialize"
+      });
+      return pipeline;
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js
-var require_rpc_options = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-options.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/httpClientCache.js
+var require_httpClientCache = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/httpClientCache.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.mergeRpcOptions = void 0;
-    var runtime_1 = require_commonjs();
-    function mergeRpcOptions(defaults, options) {
-      if (!options)
-        return defaults;
-      let o = {};
-      copy(defaults, o);
-      copy(options, o);
-      for (let key of Object.keys(options)) {
-        let val = options[key];
-        switch (key) {
-          case "jsonOptions":
-            o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions);
-            break;
-          case "binaryOptions":
-            o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions);
-            break;
-          case "meta":
-            o.meta = {};
-            copy(defaults.meta, o.meta);
-            copy(options.meta, o.meta);
-            break;
-          case "interceptors":
-            o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat();
-            break;
-        }
-      }
-      return o;
-    }
-    exports2.mergeRpcOptions = mergeRpcOptions;
-    function copy(a, into) {
-      if (!a)
-        return;
-      let c = into;
-      for (let [k, v] of Object.entries(a)) {
-        if (v instanceof Date)
-          c[k] = new Date(v.getTime());
-        else if (Array.isArray(v))
-          c[k] = v.concat();
-        else
-          c[k] = v;
+    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var cachedHttpClient;
+    function getCachedDefaultHttpClient() {
+      if (!cachedHttpClient) {
+        cachedHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
       }
+      return cachedHttpClient;
     }
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js
-var require_deferred = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/deferred.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/urlHelpers.js
+var require_urlHelpers2 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/urlHelpers.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Deferred = exports2.DeferredState = void 0;
-    var DeferredState;
-    (function(DeferredState2) {
-      DeferredState2[DeferredState2["PENDING"] = 0] = "PENDING";
-      DeferredState2[DeferredState2["REJECTED"] = 1] = "REJECTED";
-      DeferredState2[DeferredState2["RESOLVED"] = 2] = "RESOLVED";
-    })(DeferredState = exports2.DeferredState || (exports2.DeferredState = {}));
-    var Deferred = class {
-      /**
-       * @param preventUnhandledRejectionWarning - prevents the warning
-       * "Unhandled Promise rejection" by adding a noop rejection handler.
-       * Working with calls returned from the runtime-rpc package in an
-       * async function usually means awaiting one call property after
-       * the other. This means that the "status" is not being awaited when
-       * an earlier await for the "headers" is rejected. This causes the
-       * "unhandled promise reject" warning. A more correct behaviour for
-       * calls might be to become aware whether at least one of the
-       * promises is handled and swallow the rejection warning for the
-       * others.
-       */
-      constructor(preventUnhandledRejectionWarning = true) {
-        this._state = DeferredState.PENDING;
-        this._promise = new Promise((resolve2, reject) => {
-          this._resolve = resolve2;
-          this._reject = reject;
-        });
-        if (preventUnhandledRejectionWarning) {
-          this._promise.catch((_2) => {
-          });
+    exports2.getRequestUrl = getRequestUrl;
+    exports2.appendQueryParams = appendQueryParams;
+    var operationHelpers_js_1 = require_operationHelpers();
+    var interfaceHelpers_js_1 = require_interfaceHelpers();
+    var CollectionFormatToDelimiterMap = {
+      CSV: ",",
+      SSV: " ",
+      Multi: "Multi",
+      TSV: "	",
+      Pipes: "|"
+    };
+    function getRequestUrl(baseUri, operationSpec, operationArguments, fallbackObject) {
+      const urlReplacements = calculateUrlReplacements(operationSpec, operationArguments, fallbackObject);
+      let isAbsolutePath = false;
+      let requestUrl = replaceAll(baseUri, urlReplacements);
+      if (operationSpec.path) {
+        let path3 = replaceAll(operationSpec.path, urlReplacements);
+        if (operationSpec.path === "/{nextLink}" && path3.startsWith("/")) {
+          path3 = path3.substring(1);
+        }
+        if (isAbsoluteUrl(path3)) {
+          requestUrl = path3;
+          isAbsolutePath = true;
+        } else {
+          requestUrl = appendPath(requestUrl, path3);
         }
       }
-      /**
-       * Get the current state of the promise.
-       */
-      get state() {
-        return this._state;
-      }
-      /**
-       * Get the deferred promise.
-       */
-      get promise() {
-        return this._promise;
+      const { queryParams, sequenceParams } = calculateQueryParameters(operationSpec, operationArguments, fallbackObject);
+      requestUrl = appendQueryParams(requestUrl, queryParams, sequenceParams, isAbsolutePath);
+      return requestUrl;
+    }
+    function replaceAll(input, replacements) {
+      let result = input;
+      for (const [searchValue, replaceValue] of replacements) {
+        result = result.split(searchValue).join(replaceValue);
       }
-      /**
-       * Resolve the promise. Throws if the promise is already resolved or rejected.
-       */
-      resolve(value) {
-        if (this.state !== DeferredState.PENDING)
-          throw new Error(`cannot resolve ${DeferredState[this.state].toLowerCase()}`);
-        this._resolve(value);
-        this._state = DeferredState.RESOLVED;
+      return result;
+    }
+    function calculateUrlReplacements(operationSpec, operationArguments, fallbackObject) {
+      const result = /* @__PURE__ */ new Map();
+      if (operationSpec.urlParameters?.length) {
+        for (const urlParameter of operationSpec.urlParameters) {
+          let urlParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, urlParameter, fallbackObject);
+          const parameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(urlParameter);
+          urlParameterValue = operationSpec.serializer.serialize(urlParameter.mapper, urlParameterValue, parameterPathString);
+          if (!urlParameter.skipEncoding) {
+            urlParameterValue = encodeURIComponent(urlParameterValue);
+          }
+          result.set(`{${urlParameter.mapper.serializedName || parameterPathString}}`, urlParameterValue);
+        }
       }
-      /**
-       * Reject the promise. Throws if the promise is already resolved or rejected.
-       */
-      reject(reason) {
-        if (this.state !== DeferredState.PENDING)
-          throw new Error(`cannot reject ${DeferredState[this.state].toLowerCase()}`);
-        this._reject(reason);
-        this._state = DeferredState.REJECTED;
+      return result;
+    }
+    function isAbsoluteUrl(url) {
+      return url.includes("://");
+    }
+    function appendPath(url, pathToAppend) {
+      if (!pathToAppend) {
+        return url;
       }
-      /**
-       * Resolve the promise. Ignore if not pending.
-       */
-      resolvePending(val) {
-        if (this._state === DeferredState.PENDING)
-          this.resolve(val);
+      const parsedUrl = new URL(url);
+      let newPath = parsedUrl.pathname;
+      if (!newPath.endsWith("/")) {
+        newPath = `${newPath}/`;
       }
-      /**
-       * Reject the promise. Ignore if not pending.
-       */
-      rejectPending(reason) {
-        if (this._state === DeferredState.PENDING)
-          this.reject(reason);
+      if (pathToAppend.startsWith("/")) {
+        pathToAppend = pathToAppend.substring(1);
       }
-    };
-    exports2.Deferred = Deferred;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js
-var require_rpc_output_stream = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-output-stream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RpcOutputStreamController = void 0;
-    var deferred_1 = require_deferred();
-    var runtime_1 = require_commonjs();
-    var RpcOutputStreamController = class {
-      constructor() {
-        this._lis = {
-          nxt: [],
-          msg: [],
-          err: [],
-          cmp: []
-        };
-        this._closed = false;
-        this._itState = { q: [] };
+      const searchStart = pathToAppend.indexOf("?");
+      if (searchStart !== -1) {
+        const path3 = pathToAppend.substring(0, searchStart);
+        const search = pathToAppend.substring(searchStart + 1);
+        newPath = newPath + path3;
+        if (search) {
+          parsedUrl.search = parsedUrl.search ? `${parsedUrl.search}&${search}` : search;
+        }
+      } else {
+        newPath = newPath + pathToAppend;
       }
-      // --- RpcOutputStream callback API
-      onNext(callback) {
-        return this.addLis(callback, this._lis.nxt);
+      parsedUrl.pathname = newPath;
+      return parsedUrl.toString();
+    }
+    function calculateQueryParameters(operationSpec, operationArguments, fallbackObject) {
+      const result = /* @__PURE__ */ new Map();
+      const sequenceParams = /* @__PURE__ */ new Set();
+      if (operationSpec.queryParameters?.length) {
+        for (const queryParameter of operationSpec.queryParameters) {
+          if (queryParameter.mapper.type.name === "Sequence" && queryParameter.mapper.serializedName) {
+            sequenceParams.add(queryParameter.mapper.serializedName);
+          }
+          let queryParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, queryParameter, fallbackObject);
+          if (queryParameterValue !== void 0 && queryParameterValue !== null || queryParameter.mapper.required) {
+            queryParameterValue = operationSpec.serializer.serialize(queryParameter.mapper, queryParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter));
+            const delimiter = queryParameter.collectionFormat ? CollectionFormatToDelimiterMap[queryParameter.collectionFormat] : "";
+            if (Array.isArray(queryParameterValue)) {
+              queryParameterValue = queryParameterValue.map((item) => {
+                if (item === null || item === void 0) {
+                  return "";
+                }
+                return item;
+              });
+            }
+            if (queryParameter.collectionFormat === "Multi" && queryParameterValue.length === 0) {
+              continue;
+            } else if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "SSV" || queryParameter.collectionFormat === "TSV")) {
+              queryParameterValue = queryParameterValue.join(delimiter);
+            }
+            if (!queryParameter.skipEncoding) {
+              if (Array.isArray(queryParameterValue)) {
+                queryParameterValue = queryParameterValue.map((item) => {
+                  return encodeURIComponent(item);
+                });
+              } else {
+                queryParameterValue = encodeURIComponent(queryParameterValue);
+              }
+            }
+            if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "CSV" || queryParameter.collectionFormat === "Pipes")) {
+              queryParameterValue = queryParameterValue.join(delimiter);
+            }
+            result.set(queryParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter), queryParameterValue);
+          }
+        }
       }
-      onMessage(callback) {
-        return this.addLis(callback, this._lis.msg);
+      return {
+        queryParams: result,
+        sequenceParams
+      };
+    }
+    function simpleParseQueryParams(queryString) {
+      const result = /* @__PURE__ */ new Map();
+      if (!queryString || queryString[0] !== "?") {
+        return result;
       }
-      onError(callback) {
-        return this.addLis(callback, this._lis.err);
+      queryString = queryString.slice(1);
+      const pairs2 = queryString.split("&");
+      for (const pair of pairs2) {
+        const [name, value] = pair.split("=", 2);
+        const existingValue = result.get(name);
+        if (existingValue) {
+          if (Array.isArray(existingValue)) {
+            existingValue.push(value);
+          } else {
+            result.set(name, [existingValue, value]);
+          }
+        } else {
+          result.set(name, value);
+        }
       }
-      onComplete(callback) {
-        return this.addLis(callback, this._lis.cmp);
+      return result;
+    }
+    function appendQueryParams(url, queryParams, sequenceParams, noOverwrite = false) {
+      if (queryParams.size === 0) {
+        return url;
       }
-      addLis(callback, list) {
-        list.push(callback);
-        return () => {
-          let i = list.indexOf(callback);
-          if (i >= 0)
-            list.splice(i, 1);
-        };
+      const parsedUrl = new URL(url);
+      const combinedParams = simpleParseQueryParams(parsedUrl.search);
+      for (const [name, value] of queryParams) {
+        const existingValue = combinedParams.get(name);
+        if (Array.isArray(existingValue)) {
+          if (Array.isArray(value)) {
+            existingValue.push(...value);
+            const valueSet = new Set(existingValue);
+            combinedParams.set(name, Array.from(valueSet));
+          } else {
+            existingValue.push(value);
+          }
+        } else if (existingValue) {
+          if (Array.isArray(value)) {
+            value.unshift(existingValue);
+          } else if (sequenceParams.has(name)) {
+            combinedParams.set(name, [existingValue, value]);
+          }
+          if (!noOverwrite) {
+            combinedParams.set(name, value);
+          }
+        } else {
+          combinedParams.set(name, value);
+        }
       }
-      // remove all listeners
-      clearLis() {
-        for (let l of Object.values(this._lis))
-          l.splice(0, l.length);
+      const searchPieces = [];
+      for (const [name, value] of combinedParams) {
+        if (typeof value === "string") {
+          searchPieces.push(`${name}=${value}`);
+        } else if (Array.isArray(value)) {
+          for (const subValue of value) {
+            searchPieces.push(`${name}=${subValue}`);
+          }
+        } else {
+          searchPieces.push(`${name}=${value}`);
+        }
       }
-      // --- Controller API
+      parsedUrl.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
+      return parsedUrl.toString();
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/log.js
+var require_log4 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs4();
+    exports2.logger = (0, logger_1.createClientLogger)("core-client");
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/serviceClient.js
+var require_serviceClient = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/serviceClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServiceClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var pipeline_js_1 = require_pipeline3();
+    var utils_js_1 = require_utils6();
+    var httpClientCache_js_1 = require_httpClientCache();
+    var operationHelpers_js_1 = require_operationHelpers();
+    var urlHelpers_js_1 = require_urlHelpers2();
+    var interfaceHelpers_js_1 = require_interfaceHelpers();
+    var log_js_1 = require_log4();
+    var ServiceClient = class {
       /**
-       * Is this stream already closed by a completion or error?
+       * If specified, this is the base URI that requests will be made against for this ServiceClient.
+       * If it is not specified, then all OperationSpecs must contain a baseUrl property.
        */
-      get closed() {
-        return this._closed !== false;
-      }
+      _endpoint;
       /**
-       * Emit message, close with error, or close successfully, but only one
-       * at a time.
-       * Can be used to wrap a stream by using the other stream's `onNext`.
+       * The default request content type for the service.
+       * Used if no requestContentType is present on an OperationSpec.
        */
-      notifyNext(message, error3, complete) {
-        runtime_1.assert((message ? 1 : 0) + (error3 ? 1 : 0) + (complete ? 1 : 0) <= 1, "only one emission at a time");
-        if (message)
-          this.notifyMessage(message);
-        if (error3)
-          this.notifyError(error3);
-        if (complete)
-          this.notifyComplete();
-      }
+      _requestContentType;
       /**
-       * Emits a new message. Throws if stream is closed.
-       *
-       * Triggers onNext and onMessage callbacks.
+       * Set to true if the request is sent over HTTP instead of HTTPS
        */
-      notifyMessage(message) {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this.pushIt({ value: message, done: false });
-        this._lis.msg.forEach((l) => l(message));
-        this._lis.nxt.forEach((l) => l(message, void 0, false));
-      }
+      _allowInsecureConnection;
       /**
-       * Closes the stream with an error. Throws if stream is closed.
-       *
-       * Triggers onNext and onError callbacks.
+       * The HTTP client that will be used to send requests.
        */
-      notifyError(error3) {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this._closed = error3;
-        this.pushIt(error3);
-        this._lis.err.forEach((l) => l(error3));
-        this._lis.nxt.forEach((l) => l(void 0, error3, false));
-        this.clearLis();
-      }
+      _httpClient;
       /**
-       * Closes the stream successfully. Throws if stream is closed.
-       *
-       * Triggers onNext and onComplete callbacks.
+       * The pipeline used by this client to make requests
        */
-      notifyComplete() {
-        runtime_1.assert(!this.closed, "stream is closed");
-        this._closed = true;
-        this.pushIt({ value: null, done: true });
-        this._lis.cmp.forEach((l) => l());
-        this._lis.nxt.forEach((l) => l(void 0, void 0, true));
-        this.clearLis();
-      }
+      pipeline;
       /**
-       * Creates an async iterator (that can be used with `for await {...}`)
-       * to consume the stream.
-       *
-       * Some things to note:
-       * - If an error occurs, the `for await` will throw it.
-       * - If an error occurred before the `for await` was started, `for await`
-       *   will re-throw it.
-       * - If the stream is already complete, the `for await` will be empty.
-       * - If your `for await` consumes slower than the stream produces,
-       *   for example because you are relaying messages in a slow operation,
-       *   messages are queued.
+       * The ServiceClient constructor
+       * @param options - The service client options that govern the behavior of the client.
        */
-      [Symbol.asyncIterator]() {
-        if (this._closed === true)
-          this.pushIt({ value: null, done: true });
-        else if (this._closed !== false)
-          this.pushIt(this._closed);
-        return {
-          next: () => {
-            let state = this._itState;
-            runtime_1.assert(state, "bad state");
-            runtime_1.assert(!state.p, "iterator contract broken");
-            let first = state.q.shift();
-            if (first)
-              return "value" in first ? Promise.resolve(first) : Promise.reject(first);
-            state.p = new deferred_1.Deferred();
-            return state.p.promise;
+      constructor(options = {}) {
+        this._requestContentType = options.requestContentType;
+        this._endpoint = options.endpoint ?? options.baseUri;
+        if (options.baseUri) {
+          log_js_1.logger.warning("The baseUri option for SDK Clients has been deprecated, please use endpoint instead.");
+        }
+        this._allowInsecureConnection = options.allowInsecureConnection;
+        this._httpClient = options.httpClient || (0, httpClientCache_js_1.getCachedDefaultHttpClient)();
+        this.pipeline = options.pipeline || createDefaultPipeline(options);
+        if (options.additionalPolicies?.length) {
+          for (const { policy, position } of options.additionalPolicies) {
+            const afterPhase = position === "perRetry" ? "Sign" : void 0;
+            this.pipeline.addPolicy(policy, {
+              afterPhase
+            });
           }
-        };
-      }
-      // "push" a new iterator result.
-      // this either resolves a pending promise, or enqueues the result.
-      pushIt(result) {
-        let state = this._itState;
-        if (state.p) {
-          const p = state.p;
-          runtime_1.assert(p.state == deferred_1.DeferredState.PENDING, "iterator contract broken");
-          "value" in result ? p.resolve(result) : p.reject(result);
-          delete state.p;
-        } else {
-          state.q.push(result);
         }
       }
-    };
-    exports2.RpcOutputStreamController = RpcOutputStreamController;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js
-var require_unary_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/unary-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+      /**
+       * Send the provided httpRequest.
+       */
+      async sendRequest(request2) {
+        return this.pipeline.sendRequest(this._httpClient, request2);
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      /**
+       * Send an HTTP request that is populated using the provided OperationSpec.
+       * @typeParam T - The typed result of the request, based on the OperationSpec.
+       * @param operationArguments - The arguments that the HTTP request's templated values will be populated from.
+       * @param operationSpec - The OperationSpec to use to populate the httpRequest.
+       */
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const endpoint2 = operationSpec.baseUrl || this._endpoint;
+        if (!endpoint2) {
+          throw new Error("If operationSpec.baseUrl is not specified, then the ServiceClient must have a endpoint string property that contains the base URL to use.");
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        const url = (0, urlHelpers_js_1.getRequestUrl)(endpoint2, operationSpec, operationArguments, this);
+        const request2 = (0, core_rest_pipeline_1.createPipelineRequest)({
+          url
+        });
+        request2.method = operationSpec.httpMethod;
+        const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
+        operationInfo.operationSpec = operationSpec;
+        operationInfo.operationArguments = operationArguments;
+        const contentType = operationSpec.contentType || this._requestContentType;
+        if (contentType && operationSpec.requestBody) {
+          request2.headers.set("Content-Type", contentType);
+        }
+        const options = operationArguments.options;
+        if (options) {
+          const requestOptions = options.requestOptions;
+          if (requestOptions) {
+            if (requestOptions.timeout) {
+              request2.timeout = requestOptions.timeout;
+            }
+            if (requestOptions.onUploadProgress) {
+              request2.onUploadProgress = requestOptions.onUploadProgress;
+            }
+            if (requestOptions.onDownloadProgress) {
+              request2.onDownloadProgress = requestOptions.onDownloadProgress;
+            }
+            if (requestOptions.shouldDeserialize !== void 0) {
+              operationInfo.shouldDeserialize = requestOptions.shouldDeserialize;
+            }
+            if (requestOptions.allowInsecureConnection) {
+              request2.allowInsecureConnection = true;
+            }
+          }
+          if (options.abortSignal) {
+            request2.abortSignal = options.abortSignal;
+          }
+          if (options.tracingOptions) {
+            request2.tracingOptions = options.tracingOptions;
           }
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (this._allowInsecureConnection) {
+          request2.allowInsecureConnection = true;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
+        if (request2.streamResponseStatusCodes === void 0) {
+          request2.streamResponseStatusCodes = (0, interfaceHelpers_js_1.getStreamingResponseStatusCodes)(operationSpec);
+        }
+        try {
+          const rawResponse = await this.sendRequest(request2);
+          const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[rawResponse.status]);
+          if (options?.onResponse) {
+            options.onResponse(rawResponse, flatResponse);
+          }
+          return flatResponse;
+        } catch (error3) {
+          if (typeof error3 === "object" && error3?.response) {
+            const rawResponse = error3.response;
+            const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[error3.statusCode] || operationSpec.responses["default"]);
+            error3.details = flatResponse;
+            if (options?.onResponse) {
+              options.onResponse(rawResponse, flatResponse, error3);
+            }
+          }
+          throw error3;
+        }
+      }
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UnaryCall = void 0;
-    var UnaryCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.request = request2;
-        this.headers = headers;
-        this.response = response;
-        this.status = status;
-        this.trailers = trailers;
+    exports2.ServiceClient = ServiceClient;
+    function createDefaultPipeline(options) {
+      const credentialScopes = getCredentialScopes(options);
+      const credentialOptions = options.credential && credentialScopes ? { credentialScopes, credential: options.credential } : void 0;
+      return (0, pipeline_js_1.createClientPipeline)({
+        ...options,
+        credentialOptions
+      });
+    }
+    function getCredentialScopes(options) {
+      if (options.credentialScopes) {
+        return options.credentialScopes;
       }
-      /**
-       * If you are only interested in the final outcome of this call,
-       * you can await it to receive a `FinishedUnaryCall`.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      if (options.endpoint) {
+        return `${options.endpoint}/.default`;
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            request: this.request,
-            headers,
-            response,
-            status,
-            trailers
-          };
-        });
+      if (options.baseUri) {
+        return `${options.baseUri}/.default`;
       }
-    };
-    exports2.UnaryCall = UnaryCall;
+      if (options.credential && !options.credentialScopes) {
+        throw new Error(`When using credentials, the ServiceClientOptions must contain either a endpoint or a credentialScopes. Unable to create a bearerTokenAuthenticationPolicy`);
+      }
+      return void 0;
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js
-var require_server_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-streaming-call.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js
+var require_authorizeRequestOnClaimChallenge = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js"(exports2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.parseCAEChallenge = parseCAEChallenge;
+    exports2.authorizeRequestOnClaimChallenge = authorizeRequestOnClaimChallenge;
+    var log_js_1 = require_log4();
+    var base64_js_1 = require_base642();
+    function parseCAEChallenge(challenges) {
+      const bearerChallenges = `, ${challenges.trim()}`.split(", Bearer ").filter((x) => x);
+      return bearerChallenges.map((challenge) => {
+        const challengeParts = `${challenge.trim()}, `.split('", ').filter((x) => x);
+        const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split('="')));
+        return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
+      });
+    }
+    async function authorizeRequestOnClaimChallenge(onChallengeOptions) {
+      const { scopes, response } = onChallengeOptions;
+      const logger = onChallengeOptions.logger || log_js_1.logger;
+      const challenge = response.headers.get("WWW-Authenticate");
+      if (!challenge) {
+        logger.info(`The WWW-Authenticate header was missing. Failed to perform the Continuous Access Evaluation authentication flow.`);
+        return false;
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      const challenges = parseCAEChallenge(challenge) || [];
+      const parsedChallenge = challenges.find((x) => x.claims);
+      if (!parsedChallenge) {
+        logger.info(`The WWW-Authenticate header was missing the necessary "claims" to perform the Continuous Access Evaluation authentication flow.`);
+        return false;
+      }
+      const accessToken = await onChallengeOptions.getAccessToken(parsedChallenge.scope ? [parsedChallenge.scope] : scopes, {
+        claims: (0, base64_js_1.decodeStringToString)(parsedChallenge.claims)
       });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServerStreamingCall = void 0;
-    var ServerStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.request = request2;
-        this.headers = headers;
-        this.responses = response;
-        this.status = status;
-        this.trailers = trailers;
+      if (!accessToken) {
+        return false;
       }
+      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
+      return true;
+    }
+  }
+});
+
+// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js
+var require_authorizeRequestOnTenantChallenge = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.authorizeRequestOnTenantChallenge = void 0;
+    var Constants = {
+      DefaultScope: "/.default",
       /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * You should first setup some listeners to the `request` to
-       * see the actual messages the server replied with.
+       * Defines constants for use with HTTP headers.
        */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      HeaderConstants: {
+        /**
+         * The Authorization header.
+         */
+        AUTHORIZATION: "authorization"
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            request: this.request,
-            headers,
-            status,
-            trailers
-          };
+    };
+    function isUuid(text) {
+      return /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/.test(text);
+    }
+    var authorizeRequestOnTenantChallenge = async (challengeOptions) => {
+      const requestOptions = requestToOptions(challengeOptions.request);
+      const challenge = getChallenge(challengeOptions.response);
+      if (challenge) {
+        const challengeInfo = parseChallenge(challenge);
+        const challengeScopes = buildScopes(challengeOptions, challengeInfo);
+        const tenantId = extractTenantId(challengeInfo);
+        if (!tenantId) {
+          return false;
+        }
+        const accessToken = await challengeOptions.getAccessToken(challengeScopes, {
+          ...requestOptions,
+          tenantId
         });
+        if (!accessToken) {
+          return false;
+        }
+        challengeOptions.request.headers.set(Constants.HeaderConstants.AUTHORIZATION, `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
+        return true;
       }
+      return false;
     };
-    exports2.ServerStreamingCall = ServerStreamingCall;
+    exports2.authorizeRequestOnTenantChallenge = authorizeRequestOnTenantChallenge;
+    function extractTenantId(challengeInfo) {
+      const parsedAuthUri = new URL(challengeInfo.authorization_uri);
+      const pathSegments = parsedAuthUri.pathname.split("/");
+      const tenantId = pathSegments[1];
+      if (tenantId && isUuid(tenantId)) {
+        return tenantId;
+      }
+      return void 0;
+    }
+    function buildScopes(challengeOptions, challengeInfo) {
+      if (!challengeInfo.resource_id) {
+        return challengeOptions.scopes;
+      }
+      const challengeScopes = new URL(challengeInfo.resource_id);
+      challengeScopes.pathname = Constants.DefaultScope;
+      let scope = challengeScopes.toString();
+      if (scope === "https://disk.azure.com/.default") {
+        scope = "https://disk.azure.com//.default";
+      }
+      return [scope];
+    }
+    function getChallenge(response) {
+      const challenge = response.headers.get("WWW-Authenticate");
+      if (response.status === 401 && challenge) {
+        return challenge;
+      }
+      return;
+    }
+    function parseChallenge(challenge) {
+      const bearerChallenge = challenge.slice("Bearer ".length);
+      const challengeParts = `${bearerChallenge.trim()} `.split(" ").filter((x) => x);
+      const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split("=")));
+      return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
+    }
+    function requestToOptions(request2) {
+      return {
+        abortSignal: request2.abortSignal,
+        requestOptions: {
+          timeout: request2.timeout
+        },
+        tracingOptions: request2.tracingOptions
+      };
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js
-var require_client_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/client-streaming-call.js"(exports2) {
+// node_modules/@azure/core-client/dist/commonjs/index.js
+var require_commonjs10 = __commonJS({
+  "node_modules/@azure/core-client/dist/commonjs/index.js"(exports2) {
     "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.authorizeRequestOnTenantChallenge = exports2.authorizeRequestOnClaimChallenge = exports2.serializationPolicyName = exports2.serializationPolicy = exports2.deserializationPolicyName = exports2.deserializationPolicy = exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.createClientPipeline = exports2.ServiceClient = exports2.MapperTypeNames = exports2.createSerializer = void 0;
+    var serializer_js_1 = require_serializer();
+    Object.defineProperty(exports2, "createSerializer", { enumerable: true, get: function() {
+      return serializer_js_1.createSerializer;
+    } });
+    Object.defineProperty(exports2, "MapperTypeNames", { enumerable: true, get: function() {
+      return serializer_js_1.MapperTypeNames;
+    } });
+    var serviceClient_js_1 = require_serviceClient();
+    Object.defineProperty(exports2, "ServiceClient", { enumerable: true, get: function() {
+      return serviceClient_js_1.ServiceClient;
+    } });
+    var pipeline_js_1 = require_pipeline3();
+    Object.defineProperty(exports2, "createClientPipeline", { enumerable: true, get: function() {
+      return pipeline_js_1.createClientPipeline;
+    } });
+    var interfaces_js_1 = require_interfaces();
+    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
+      return interfaces_js_1.XML_ATTRKEY;
+    } });
+    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
+      return interfaces_js_1.XML_CHARKEY;
+    } });
+    var deserializationPolicy_js_1 = require_deserializationPolicy();
+    Object.defineProperty(exports2, "deserializationPolicy", { enumerable: true, get: function() {
+      return deserializationPolicy_js_1.deserializationPolicy;
+    } });
+    Object.defineProperty(exports2, "deserializationPolicyName", { enumerable: true, get: function() {
+      return deserializationPolicy_js_1.deserializationPolicyName;
+    } });
+    var serializationPolicy_js_1 = require_serializationPolicy();
+    Object.defineProperty(exports2, "serializationPolicy", { enumerable: true, get: function() {
+      return serializationPolicy_js_1.serializationPolicy;
+    } });
+    Object.defineProperty(exports2, "serializationPolicyName", { enumerable: true, get: function() {
+      return serializationPolicy_js_1.serializationPolicyName;
+    } });
+    var authorizeRequestOnClaimChallenge_js_1 = require_authorizeRequestOnClaimChallenge();
+    Object.defineProperty(exports2, "authorizeRequestOnClaimChallenge", { enumerable: true, get: function() {
+      return authorizeRequestOnClaimChallenge_js_1.authorizeRequestOnClaimChallenge;
+    } });
+    var authorizeRequestOnTenantChallenge_js_1 = require_authorizeRequestOnTenantChallenge();
+    Object.defineProperty(exports2, "authorizeRequestOnTenantChallenge", { enumerable: true, get: function() {
+      return authorizeRequestOnTenantChallenge_js_1.authorizeRequestOnTenantChallenge;
+    } });
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/util.js
+var require_util18 = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.HttpHeaders = void 0;
+    exports2.toPipelineRequest = toPipelineRequest;
+    exports2.toWebResourceLike = toWebResourceLike;
+    exports2.toHttpHeadersLike = toHttpHeadersLike;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var originalRequestSymbol = /* @__PURE__ */ Symbol("Original PipelineRequest");
+    var originalClientRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
+    function toPipelineRequest(webResource, options = {}) {
+      const compatWebResource = webResource;
+      const request2 = compatWebResource[originalRequestSymbol];
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(webResource.headers.toJson({ preserveCase: true }));
+      if (request2) {
+        request2.headers = headers;
+        return request2;
+      } else {
+        const newRequest = (0, core_rest_pipeline_1.createPipelineRequest)({
+          url: webResource.url,
+          method: webResource.method,
+          headers,
+          withCredentials: webResource.withCredentials,
+          timeout: webResource.timeout,
+          requestId: webResource.requestId,
+          abortSignal: webResource.abortSignal,
+          body: webResource.body,
+          formData: webResource.formData,
+          disableKeepAlive: !!webResource.keepAlive,
+          onDownloadProgress: webResource.onDownloadProgress,
+          onUploadProgress: webResource.onUploadProgress,
+          proxySettings: webResource.proxySettings,
+          streamResponseStatusCodes: webResource.streamResponseStatusCodes,
+          agent: webResource.agent,
+          requestOverrides: webResource.requestOverrides
         });
+        if (options.originalRequest) {
+          newRequest[originalClientRequestSymbol] = options.originalRequest;
+        }
+        return newRequest;
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+    }
+    function toWebResourceLike(request2, options) {
+      const originalRequest = options?.originalRequest ?? request2;
+      const webResource = {
+        url: request2.url,
+        method: request2.method,
+        headers: toHttpHeadersLike(request2.headers),
+        withCredentials: request2.withCredentials,
+        timeout: request2.timeout,
+        requestId: request2.headers.get("x-ms-client-request-id") || request2.requestId,
+        abortSignal: request2.abortSignal,
+        body: request2.body,
+        formData: request2.formData,
+        keepAlive: !!request2.disableKeepAlive,
+        onDownloadProgress: request2.onDownloadProgress,
+        onUploadProgress: request2.onUploadProgress,
+        proxySettings: request2.proxySettings,
+        streamResponseStatusCodes: request2.streamResponseStatusCodes,
+        agent: request2.agent,
+        requestOverrides: request2.requestOverrides,
+        clone() {
+          throw new Error("Cannot clone a non-proxied WebResourceLike");
+        },
+        prepare() {
+          throw new Error("WebResourceLike.prepare() is not supported by @azure/core-http-compat");
+        },
+        validateRequestProperties() {
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+      };
+      if (options?.createProxy) {
+        return new Proxy(webResource, {
+          get(target, prop, receiver) {
+            if (prop === originalRequestSymbol) {
+              return request2;
+            } else if (prop === "clone") {
+              return () => {
+                return toWebResourceLike(toPipelineRequest(webResource, { originalRequest }), {
+                  createProxy: true,
+                  originalRequest
+                });
+              };
+            }
+            return Reflect.get(target, prop, receiver);
+          },
+          set(target, prop, value, receiver) {
+            if (prop === "keepAlive") {
+              request2.disableKeepAlive = !value;
+            }
+            const passThroughProps = [
+              "url",
+              "method",
+              "withCredentials",
+              "timeout",
+              "requestId",
+              "abortSignal",
+              "body",
+              "formData",
+              "onDownloadProgress",
+              "onUploadProgress",
+              "proxySettings",
+              "streamResponseStatusCodes",
+              "agent",
+              "requestOverrides"
+            ];
+            if (typeof prop === "string" && passThroughProps.includes(prop)) {
+              request2[prop] = value;
+            }
+            return Reflect.set(target, prop, value, receiver);
           }
-        }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ClientStreamingCall = void 0;
-    var ClientStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.requests = request2;
-        this.headers = headers;
-        this.response = response;
-        this.status = status;
-        this.trailers = trailers;
-      }
-      /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * Note that it may still be valid to send more request messages.
-       */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
-      }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, response, status, trailers] = yield Promise.all([this.headers, this.response, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            headers,
-            response,
-            status,
-            trailers
-          };
-        });
-      }
-    };
-    exports2.ClientStreamingCall = ClientStreamingCall;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js
-var require_duplex_streaming_call = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/duplex-streaming-call.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
         });
+      } else {
+        return webResource;
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+    }
+    function toHttpHeadersLike(headers) {
+      return new HttpHeaders(headers.toJSON({ preserveCase: true }));
+    }
+    function getHeaderKey(headerName) {
+      return headerName.toLowerCase();
+    }
+    var HttpHeaders = class _HttpHeaders {
+      _headersMap;
+      constructor(rawHeaders) {
+        this._headersMap = {};
+        if (rawHeaders) {
+          for (const headerName in rawHeaders) {
+            this.set(headerName, rawHeaders[headerName]);
           }
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DuplexStreamingCall = void 0;
-    var DuplexStreamingCall = class {
-      constructor(method, requestHeaders, request2, headers, response, status, trailers) {
-        this.method = method;
-        this.requestHeaders = requestHeaders;
-        this.requests = request2;
-        this.headers = headers;
-        this.responses = response;
-        this.status = status;
-        this.trailers = trailers;
       }
       /**
-       * Instead of awaiting the response status and trailers, you can
-       * just as well await this call itself to receive the server outcome.
-       * Note that it may still be valid to send more request messages.
+       * Set a header in this collection with the provided name and value. The name is
+       * case-insensitive.
+       * @param headerName - The name of the header to set. This value is case-insensitive.
+       * @param headerValue - The value of the header to set.
        */
-      then(onfulfilled, onrejected) {
-        return this.promiseFinished().then((value) => onfulfilled ? Promise.resolve(onfulfilled(value)) : value, (reason) => onrejected ? Promise.resolve(onrejected(reason)) : Promise.reject(reason));
+      set(headerName, headerValue) {
+        this._headersMap[getHeaderKey(headerName)] = {
+          name: headerName,
+          value: headerValue.toString()
+        };
       }
-      promiseFinished() {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let [headers, status, trailers] = yield Promise.all([this.headers, this.status, this.trailers]);
-          return {
-            method: this.method,
-            requestHeaders: this.requestHeaders,
-            headers,
-            status,
-            trailers
-          };
-        });
+      /**
+       * Get the header value for the provided header name, or undefined if no header exists in this
+       * collection with the provided name.
+       * @param headerName - The name of the header.
+       */
+      get(headerName) {
+        const header = this._headersMap[getHeaderKey(headerName)];
+        return !header ? void 0 : header.value;
       }
-    };
-    exports2.DuplexStreamingCall = DuplexStreamingCall;
-  }
-});
-
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js
-var require_test_transport = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/test-transport.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+      /**
+       * Get whether or not this header collection contains a header entry for the provided header name.
+       */
+      contains(headerName) {
+        return !!this._headersMap[getHeaderKey(headerName)];
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TestTransport = void 0;
-    var rpc_error_1 = require_rpc_error();
-    var runtime_1 = require_commonjs();
-    var rpc_output_stream_1 = require_rpc_output_stream();
-    var rpc_options_1 = require_rpc_options();
-    var unary_call_1 = require_unary_call();
-    var server_streaming_call_1 = require_server_streaming_call();
-    var client_streaming_call_1 = require_client_streaming_call();
-    var duplex_streaming_call_1 = require_duplex_streaming_call();
-    var TestTransport = class _TestTransport {
       /**
-       * Initialize with mock data. Omitted fields have default value.
+       * Remove the header with the provided headerName. Return whether or not the header existed and
+       * was removed.
+       * @param headerName - The name of the header to remove.
        */
-      constructor(data) {
-        this.suppressUncaughtRejections = true;
-        this.headerDelay = 10;
-        this.responseDelay = 50;
-        this.betweenResponseDelay = 10;
-        this.afterResponseDelay = 10;
-        this.data = data !== null && data !== void 0 ? data : {};
+      remove(headerName) {
+        const result = this.contains(headerName);
+        delete this._headersMap[getHeaderKey(headerName)];
+        return result;
       }
       /**
-       * Sent message(s) during the last operation.
+       * Get the headers that are contained this collection as an object.
        */
-      get sentMessages() {
-        if (this.lastInput instanceof TestInputStream) {
-          return this.lastInput.sent;
-        } else if (typeof this.lastInput == "object") {
-          return [this.lastInput.single];
-        }
-        return [];
+      rawHeaders() {
+        return this.toJson({ preserveCase: true });
       }
       /**
-       * Sending message(s) completed?
+       * Get the headers that are contained in this collection as an array.
        */
-      get sendComplete() {
-        if (this.lastInput instanceof TestInputStream) {
-          return this.lastInput.completed;
-        } else if (typeof this.lastInput == "object") {
-          return true;
+      headersArray() {
+        const headers = [];
+        for (const headerKey in this._headersMap) {
+          headers.push(this._headersMap[headerKey]);
         }
-        return false;
-      }
-      // Creates a promise for response headers from the mock data.
-      promiseHeaders() {
-        var _a;
-        const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders;
-        return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers);
+        return headers;
       }
-      // Creates a promise for a single, valid, message from the mock data.
-      promiseSingleResponse(method) {
-        if (this.data.response instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.response);
+      /**
+       * Get the header names that are contained in this collection.
+       */
+      headerNames() {
+        const headerNames = [];
+        const headers = this.headersArray();
+        for (let i = 0; i < headers.length; ++i) {
+          headerNames.push(headers[i].name);
         }
-        let r;
-        if (Array.isArray(this.data.response)) {
-          runtime_1.assert(this.data.response.length > 0);
-          r = this.data.response[0];
-        } else if (this.data.response !== void 0) {
-          r = this.data.response;
-        } else {
-          r = method.O.create();
+        return headerNames;
+      }
+      /**
+       * Get the header values that are contained in this collection.
+       */
+      headerValues() {
+        const headerValues = [];
+        const headers = this.headersArray();
+        for (let i = 0; i < headers.length; ++i) {
+          headerValues.push(headers[i].value);
         }
-        runtime_1.assert(method.O.is(r));
-        return Promise.resolve(r);
+        return headerValues;
       }
       /**
-       * Pushes response messages from the mock data to the output stream.
-       * If an error response, status or trailers are mocked, the stream is
-       * closed with the respective error.
-       * Otherwise, stream is completed successfully.
-       *
-       * The returned promise resolves when the stream is closed. It should
-       * not reject. If it does, code is broken.
+       * Get the JSON object representation of this HTTP header collection.
        */
-      streamResponses(method, stream, abort) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const messages = [];
-          if (this.data.response === void 0) {
-            messages.push(method.O.create());
-          } else if (Array.isArray(this.data.response)) {
-            for (let msg of this.data.response) {
-              runtime_1.assert(method.O.is(msg));
-              messages.push(msg);
-            }
-          } else if (!(this.data.response instanceof rpc_error_1.RpcError)) {
-            runtime_1.assert(method.O.is(this.data.response));
-            messages.push(this.data.response);
-          }
-          try {
-            yield delay(this.responseDelay, abort)(void 0);
-          } catch (error3) {
-            stream.notifyError(error3);
-            return;
-          }
-          if (this.data.response instanceof rpc_error_1.RpcError) {
-            stream.notifyError(this.data.response);
-            return;
-          }
-          for (let msg of messages) {
-            stream.notifyMessage(msg);
-            try {
-              yield delay(this.betweenResponseDelay, abort)(void 0);
-            } catch (error3) {
-              stream.notifyError(error3);
-              return;
-            }
-          }
-          if (this.data.status instanceof rpc_error_1.RpcError) {
-            stream.notifyError(this.data.status);
-            return;
-          }
-          if (this.data.trailers instanceof rpc_error_1.RpcError) {
-            stream.notifyError(this.data.trailers);
-            return;
+      toJson(options = {}) {
+        const result = {};
+        if (options.preserveCase) {
+          for (const headerKey in this._headersMap) {
+            const header = this._headersMap[headerKey];
+            result[header.name] = header.value;
           }
-          stream.notifyComplete();
-        });
-      }
-      // Creates a promise for response status from the mock data.
-      promiseStatus() {
-        var _a;
-        const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus;
-        return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status);
-      }
-      // Creates a promise for response trailers from the mock data.
-      promiseTrailers() {
-        var _a;
-        const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers;
-        return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers);
-      }
-      maybeSuppressUncaught(...promise) {
-        if (this.suppressUncaughtRejections) {
-          for (let p of promise) {
-            p.catch(() => {
-            });
+        } else {
+          for (const headerKey in this._headersMap) {
+            const header = this._headersMap[headerKey];
+            result[getHeaderKey(header.name)] = header.value;
           }
         }
+        return result;
       }
-      mergeOptions(options) {
-        return rpc_options_1.mergeRpcOptions({}, options);
-      }
-      unary(method, input, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
-        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = { single: input };
-        return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise);
-      }
-      serverStreaming(method, input, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
-        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = { single: input };
-        return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise);
-      }
-      clientStreaming(method, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => {
-        }).then(delay(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => {
-        }).then(delay(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = new TestInputStream(this.data, options.abort);
-        return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise);
+      /**
+       * Get the string representation of this HTTP header collection.
+       */
+      toString() {
+        return JSON.stringify(this.toJson({ preserveCase: true }));
       }
-      duplex(method, options) {
-        var _a;
-        const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay(this.responseDelay, options.abort)).catch(() => {
-        }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers());
-        this.maybeSuppressUncaught(statusPromise, trailersPromise);
-        this.lastInput = new TestInputStream(this.data, options.abort);
-        return new duplex_streaming_call_1.DuplexStreamingCall(method, requestHeaders, this.lastInput, headersPromise, outputStream, statusPromise, trailersPromise);
+      /**
+       * Create a deep clone/copy of this HttpHeaders collection.
+       */
+      clone() {
+        const resultPreservingCasing = {};
+        for (const headerKey in this._headersMap) {
+          const header = this._headersMap[headerKey];
+          resultPreservingCasing[header.name] = header.value;
+        }
+        return new _HttpHeaders(resultPreservingCasing);
       }
     };
-    exports2.TestTransport = TestTransport;
-    TestTransport.defaultHeaders = {
-      responseHeader: "test"
-    };
-    TestTransport.defaultStatus = {
-      code: "OK",
-      detail: "all good"
-    };
-    TestTransport.defaultTrailers = {
-      responseTrailer: "test"
-    };
-    function delay(ms, abort) {
-      return (v) => new Promise((resolve2, reject) => {
-        if (abort === null || abort === void 0 ? void 0 : abort.aborted) {
-          reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
-        } else {
-          const id = setTimeout(() => resolve2(v), ms);
-          if (abort) {
-            abort.addEventListener("abort", (ev) => {
-              clearTimeout(id);
-              reject(new rpc_error_1.RpcError("user cancel", "CANCELLED"));
-            });
+    exports2.HttpHeaders = HttpHeaders;
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/response.js
+var require_response3 = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/response.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.toCompatResponse = toCompatResponse;
+    exports2.toPipelineResponse = toPipelineResponse;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var util_js_1 = require_util18();
+    var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
+    function toCompatResponse(response, options) {
+      let request2 = (0, util_js_1.toWebResourceLike)(response.request);
+      let headers = (0, util_js_1.toHttpHeadersLike)(response.headers);
+      if (options?.createProxy) {
+        return new Proxy(response, {
+          get(target, prop, receiver) {
+            if (prop === "headers") {
+              return headers;
+            } else if (prop === "request") {
+              return request2;
+            } else if (prop === originalResponse) {
+              return response;
+            }
+            return Reflect.get(target, prop, receiver);
+          },
+          set(target, prop, value, receiver) {
+            if (prop === "headers") {
+              headers = value;
+            } else if (prop === "request") {
+              request2 = value;
+            }
+            return Reflect.set(target, prop, value, receiver);
           }
-        }
-      });
-    }
-    var TestInputStream = class {
-      constructor(data, abort) {
-        this._completed = false;
-        this._sent = [];
-        this.data = data;
-        this.abort = abort;
-      }
-      get sent() {
-        return this._sent;
+        });
+      } else {
+        return {
+          ...response,
+          request: request2,
+          headers
+        };
       }
-      get completed() {
-        return this._completed;
+    }
+    function toPipelineResponse(compatResponse) {
+      const extendedCompatResponse = compatResponse;
+      const response = extendedCompatResponse[originalResponse];
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(compatResponse.headers.toJson({ preserveCase: true }));
+      if (response) {
+        response.headers = headers;
+        return response;
+      } else {
+        return {
+          ...compatResponse,
+          headers,
+          request: (0, util_js_1.toPipelineRequest)(compatResponse.request)
+        };
       }
-      send(message) {
-        if (this.data.inputMessage instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.inputMessage);
+    }
+  }
+});
+
+// node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js
+var require_extendedClient = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ExtendedServiceClient = void 0;
+    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_client_1 = require_commonjs10();
+    var response_js_1 = require_response3();
+    var ExtendedServiceClient = class extends core_client_1.ServiceClient {
+      constructor(options) {
+        super(options);
+        if (options.keepAliveOptions?.enable === false && !(0, disableKeepAlivePolicy_js_1.pipelineContainsDisableKeepAlivePolicy)(this.pipeline)) {
+          this.pipeline.addPolicy((0, disableKeepAlivePolicy_js_1.createDisableKeepAlivePolicy)());
+        }
+        if (options.redirectOptions?.handleRedirects === false) {
+          this.pipeline.removePolicy({
+            name: core_rest_pipeline_1.redirectPolicyName
+          });
         }
-        const delayMs = this.data.inputMessage === void 0 ? 10 : this.data.inputMessage;
-        return Promise.resolve(void 0).then(() => {
-          this._sent.push(message);
-        }).then(delay(delayMs, this.abort));
       }
-      complete() {
-        if (this.data.inputComplete instanceof rpc_error_1.RpcError) {
-          return Promise.reject(this.data.inputComplete);
+      /**
+       * Compatible send operation request function.
+       *
+       * @param operationArguments - Operation arguments
+       * @param operationSpec - Operation Spec
+       * @returns
+       */
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const userProvidedCallBack = operationArguments?.options?.onResponse;
+        let lastResponse;
+        function onResponse(rawResponse, flatResponse, error3) {
+          lastResponse = rawResponse;
+          if (userProvidedCallBack) {
+            userProvidedCallBack(rawResponse, flatResponse, error3);
+          }
         }
-        const delayMs = this.data.inputComplete === void 0 ? 10 : this.data.inputComplete;
-        return Promise.resolve(void 0).then(() => {
-          this._completed = true;
-        }).then(delay(delayMs, this.abort));
+        operationArguments.options = {
+          ...operationArguments.options,
+          onResponse
+        };
+        const result = await super.sendOperationRequest(operationArguments, operationSpec);
+        if (lastResponse) {
+          Object.defineProperty(result, "_response", {
+            value: (0, response_js_1.toCompatResponse)(lastResponse)
+          });
+        }
+        return result;
       }
     };
+    exports2.ExtendedServiceClient = ExtendedServiceClient;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js
-var require_rpc_interceptor = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/rpc-interceptor.js"(exports2) {
+// node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js
+var require_requestPolicyFactoryPolicy = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0;
-    var runtime_1 = require_commonjs();
-    function stackIntercept(kind, transport, method, options, input) {
-      var _a, _b, _c, _d;
-      if (kind == "unary") {
-        let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt);
-        for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) {
-          const next = tail;
-          tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt);
-        }
-        return tail(method, input, options);
-      }
-      if (kind == "serverStreaming") {
-        let tail = (mtd, inp, opt) => transport.serverStreaming(mtd, inp, opt);
-        for (const curr of ((_b = options.interceptors) !== null && _b !== void 0 ? _b : []).filter((i) => i.interceptServerStreaming).reverse()) {
-          const next = tail;
-          tail = (mtd, inp, opt) => curr.interceptServerStreaming(next, mtd, inp, opt);
-        }
-        return tail(method, input, options);
-      }
-      if (kind == "clientStreaming") {
-        let tail = (mtd, opt) => transport.clientStreaming(mtd, opt);
-        for (const curr of ((_c = options.interceptors) !== null && _c !== void 0 ? _c : []).filter((i) => i.interceptClientStreaming).reverse()) {
-          const next = tail;
-          tail = (mtd, opt) => curr.interceptClientStreaming(next, mtd, opt);
-        }
-        return tail(method, options);
+    exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
+    exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
+    var util_js_1 = require_util18();
+    var response_js_1 = require_response3();
+    var HttpPipelineLogLevel;
+    (function(HttpPipelineLogLevel2) {
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["ERROR"] = 1] = "ERROR";
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["INFO"] = 3] = "INFO";
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["OFF"] = 0] = "OFF";
+      HttpPipelineLogLevel2[HttpPipelineLogLevel2["WARNING"] = 2] = "WARNING";
+    })(HttpPipelineLogLevel || (exports2.HttpPipelineLogLevel = HttpPipelineLogLevel = {}));
+    var mockRequestPolicyOptions = {
+      log(_logLevel, _message) {
+      },
+      shouldLog(_logLevel) {
+        return false;
       }
-      if (kind == "duplex") {
-        let tail = (mtd, opt) => transport.duplex(mtd, opt);
-        for (const curr of ((_d = options.interceptors) !== null && _d !== void 0 ? _d : []).filter((i) => i.interceptDuplex).reverse()) {
-          const next = tail;
-          tail = (mtd, opt) => curr.interceptDuplex(next, mtd, opt);
+    };
+    exports2.requestPolicyFactoryPolicyName = "RequestPolicyFactoryPolicy";
+    function createRequestPolicyFactoryPolicy(factories) {
+      const orderedFactories = factories.slice().reverse();
+      return {
+        name: exports2.requestPolicyFactoryPolicyName,
+        async sendRequest(request2, next) {
+          let httpPipeline = {
+            async sendRequest(httpRequest) {
+              const response2 = await next((0, util_js_1.toPipelineRequest)(httpRequest));
+              return (0, response_js_1.toCompatResponse)(response2, { createProxy: true });
+            }
+          };
+          for (const factory of orderedFactories) {
+            httpPipeline = factory.create(httpPipeline, mockRequestPolicyOptions);
+          }
+          const webResourceLike = (0, util_js_1.toWebResourceLike)(request2, { createProxy: true });
+          const response = await httpPipeline.sendRequest(webResourceLike);
+          return (0, response_js_1.toPipelineResponse)(response);
         }
-        return tail(method, options);
-      }
-      runtime_1.assertNever(kind);
-    }
-    exports2.stackIntercept = stackIntercept;
-    function stackUnaryInterceptors(transport, method, input, options) {
-      return stackIntercept("unary", transport, method, options, input);
-    }
-    exports2.stackUnaryInterceptors = stackUnaryInterceptors;
-    function stackServerStreamingInterceptors(transport, method, input, options) {
-      return stackIntercept("serverStreaming", transport, method, options, input);
-    }
-    exports2.stackServerStreamingInterceptors = stackServerStreamingInterceptors;
-    function stackClientStreamingInterceptors(transport, method, options) {
-      return stackIntercept("clientStreaming", transport, method, options);
-    }
-    exports2.stackClientStreamingInterceptors = stackClientStreamingInterceptors;
-    function stackDuplexStreamingInterceptors(transport, method, options) {
-      return stackIntercept("duplex", transport, method, options);
+      };
     }
-    exports2.stackDuplexStreamingInterceptors = stackDuplexStreamingInterceptors;
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js
-var require_server_call_context = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/server-call-context.js"(exports2) {
+// node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js
+var require_httpClientAdapter = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServerCallContextController = void 0;
-    var ServerCallContextController = class {
-      constructor(method, headers, deadline, sendResponseHeadersFn, defaultStatus = { code: "OK", detail: "" }) {
-        this._cancelled = false;
-        this._listeners = [];
-        this.method = method;
-        this.headers = headers;
-        this.deadline = deadline;
-        this.trailers = {};
-        this._sendRH = sendResponseHeadersFn;
-        this.status = defaultStatus;
-      }
-      /**
-       * Set the call cancelled.
-       *
-       * Invokes all callbacks registered with onCancel() and
-       * sets `cancelled = true`.
-       */
-      notifyCancelled() {
-        if (!this._cancelled) {
-          this._cancelled = true;
-          for (let l of this._listeners) {
-            l();
-          }
+    exports2.convertHttpClient = convertHttpClient;
+    var response_js_1 = require_response3();
+    var util_js_1 = require_util18();
+    function convertHttpClient(requestPolicyClient) {
+      return {
+        sendRequest: async (request2) => {
+          const response = await requestPolicyClient.sendRequest((0, util_js_1.toWebResourceLike)(request2, { createProxy: true }));
+          return (0, response_js_1.toPipelineResponse)(response);
         }
-      }
-      /**
-       * Send response headers.
-       */
-      sendResponseHeaders(data) {
-        this._sendRH(data);
-      }
-      /**
-       * Is the call cancelled?
-       *
-       * When the client closes the connection before the server
-       * is done, the call is cancelled.
-       *
-       * If you want to cancel a request on the server, throw a
-       * RpcError with the CANCELLED status code.
-       */
-      get cancelled() {
-        return this._cancelled;
-      }
-      /**
-       * Add a callback for cancellation.
-       */
-      onCancel(callback) {
-        const l = this._listeners;
-        l.push(callback);
-        return () => {
-          let i = l.indexOf(callback);
-          if (i >= 0)
-            l.splice(i, 1);
-        };
-      }
-    };
-    exports2.ServerCallContextController = ServerCallContextController;
+      };
+    }
   }
 });
 
-// node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js
-var require_commonjs2 = __commonJS({
-  "node_modules/@protobuf-ts/runtime-rpc/build/commonjs/index.js"(exports2) {
+// node_modules/@azure/core-http-compat/dist/commonjs/index.js
+var require_commonjs11 = __commonJS({
+  "node_modules/@azure/core-http-compat/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var service_type_1 = require_service_type();
-    Object.defineProperty(exports2, "ServiceType", { enumerable: true, get: function() {
-      return service_type_1.ServiceType;
-    } });
-    var reflection_info_1 = require_reflection_info2();
-    Object.defineProperty(exports2, "readMethodOptions", { enumerable: true, get: function() {
-      return reflection_info_1.readMethodOptions;
-    } });
-    Object.defineProperty(exports2, "readMethodOption", { enumerable: true, get: function() {
-      return reflection_info_1.readMethodOption;
-    } });
-    Object.defineProperty(exports2, "readServiceOption", { enumerable: true, get: function() {
-      return reflection_info_1.readServiceOption;
-    } });
-    var rpc_error_1 = require_rpc_error();
-    Object.defineProperty(exports2, "RpcError", { enumerable: true, get: function() {
-      return rpc_error_1.RpcError;
-    } });
-    var rpc_options_1 = require_rpc_options();
-    Object.defineProperty(exports2, "mergeRpcOptions", { enumerable: true, get: function() {
-      return rpc_options_1.mergeRpcOptions;
-    } });
-    var rpc_output_stream_1 = require_rpc_output_stream();
-    Object.defineProperty(exports2, "RpcOutputStreamController", { enumerable: true, get: function() {
-      return rpc_output_stream_1.RpcOutputStreamController;
-    } });
-    var test_transport_1 = require_test_transport();
-    Object.defineProperty(exports2, "TestTransport", { enumerable: true, get: function() {
-      return test_transport_1.TestTransport;
-    } });
-    var deferred_1 = require_deferred();
-    Object.defineProperty(exports2, "Deferred", { enumerable: true, get: function() {
-      return deferred_1.Deferred;
-    } });
-    Object.defineProperty(exports2, "DeferredState", { enumerable: true, get: function() {
-      return deferred_1.DeferredState;
-    } });
-    var duplex_streaming_call_1 = require_duplex_streaming_call();
-    Object.defineProperty(exports2, "DuplexStreamingCall", { enumerable: true, get: function() {
-      return duplex_streaming_call_1.DuplexStreamingCall;
-    } });
-    var client_streaming_call_1 = require_client_streaming_call();
-    Object.defineProperty(exports2, "ClientStreamingCall", { enumerable: true, get: function() {
-      return client_streaming_call_1.ClientStreamingCall;
-    } });
-    var server_streaming_call_1 = require_server_streaming_call();
-    Object.defineProperty(exports2, "ServerStreamingCall", { enumerable: true, get: function() {
-      return server_streaming_call_1.ServerStreamingCall;
-    } });
-    var unary_call_1 = require_unary_call();
-    Object.defineProperty(exports2, "UnaryCall", { enumerable: true, get: function() {
-      return unary_call_1.UnaryCall;
+    exports2.toHttpHeadersLike = exports2.convertHttpClient = exports2.disableKeepAlivePolicyName = exports2.HttpPipelineLogLevel = exports2.createRequestPolicyFactoryPolicy = exports2.requestPolicyFactoryPolicyName = exports2.ExtendedServiceClient = void 0;
+    var extendedClient_js_1 = require_extendedClient();
+    Object.defineProperty(exports2, "ExtendedServiceClient", { enumerable: true, get: function() {
+      return extendedClient_js_1.ExtendedServiceClient;
     } });
-    var rpc_interceptor_1 = require_rpc_interceptor();
-    Object.defineProperty(exports2, "stackIntercept", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackIntercept;
+    var requestPolicyFactoryPolicy_js_1 = require_requestPolicyFactoryPolicy();
+    Object.defineProperty(exports2, "requestPolicyFactoryPolicyName", { enumerable: true, get: function() {
+      return requestPolicyFactoryPolicy_js_1.requestPolicyFactoryPolicyName;
     } });
-    Object.defineProperty(exports2, "stackDuplexStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackDuplexStreamingInterceptors;
+    Object.defineProperty(exports2, "createRequestPolicyFactoryPolicy", { enumerable: true, get: function() {
+      return requestPolicyFactoryPolicy_js_1.createRequestPolicyFactoryPolicy;
     } });
-    Object.defineProperty(exports2, "stackClientStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackClientStreamingInterceptors;
+    Object.defineProperty(exports2, "HttpPipelineLogLevel", { enumerable: true, get: function() {
+      return requestPolicyFactoryPolicy_js_1.HttpPipelineLogLevel;
     } });
-    Object.defineProperty(exports2, "stackServerStreamingInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackServerStreamingInterceptors;
+    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
+    Object.defineProperty(exports2, "disableKeepAlivePolicyName", { enumerable: true, get: function() {
+      return disableKeepAlivePolicy_js_1.disableKeepAlivePolicyName;
     } });
-    Object.defineProperty(exports2, "stackUnaryInterceptors", { enumerable: true, get: function() {
-      return rpc_interceptor_1.stackUnaryInterceptors;
+    var httpClientAdapter_js_1 = require_httpClientAdapter();
+    Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
+      return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var server_call_context_1 = require_server_call_context();
-    Object.defineProperty(exports2, "ServerCallContextController", { enumerable: true, get: function() {
-      return server_call_context_1.ServerCallContextController;
+    var util_js_1 = require_util18();
+    Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
+      return util_js_1.toHttpHeadersLike;
     } });
   }
 });
 
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js
-var require_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactService = exports2.DeleteArtifactResponse = exports2.DeleteArtifactRequest = exports2.GetSignedArtifactURLResponse = exports2.GetSignedArtifactURLRequest = exports2.ListArtifactsResponse_MonolithArtifact = exports2.ListArtifactsResponse = exports2.ListArtifactsRequest = exports2.FinalizeArtifactResponse = exports2.FinalizeArtifactRequest = exports2.CreateArtifactResponse = exports2.CreateArtifactRequest = exports2.FinalizeMigratedArtifactResponse = exports2.FinalizeMigratedArtifactRequest = exports2.MigrateArtifactResponse = exports2.MigrateArtifactRequest = void 0;
-    var runtime_rpc_1 = require_commonjs2();
-    var runtime_1 = require_commonjs();
-    var runtime_2 = require_commonjs();
-    var runtime_3 = require_commonjs();
-    var runtime_4 = require_commonjs();
-    var runtime_5 = require_commonjs();
-    var wrappers_1 = require_wrappers();
-    var wrappers_2 = require_wrappers();
-    var timestamp_1 = require_timestamp();
-    var MigrateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
+// node_modules/fast-xml-parser/lib/fxp.cjs
+var require_fxp = __commonJS({
+  "node_modules/fast-xml-parser/lib/fxp.cjs"(exports2, module2) {
+    (() => {
+      "use strict";
+      var t = { d: (e2, i2) => {
+        for (var n2 in i2) t.o(i2, n2) && !t.o(e2, n2) && Object.defineProperty(e2, n2, { enumerable: true, get: i2[n2] });
+      }, o: (t2, e2) => Object.prototype.hasOwnProperty.call(t2, e2), r: (t2) => {
+        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t2, "__esModule", { value: true });
+      } }, e = {};
+      t.r(e), t.d(e, { XMLBuilder: () => ut, XMLParser: () => et, XMLValidator: () => ft });
+      const i = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", n = new RegExp("^[" + i + "][" + i + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");
+      function s(t2, e2) {
+        const i2 = [];
+        let n2 = e2.exec(t2);
+        for (; n2; ) {
+          const s2 = [];
+          s2.startIndex = e2.lastIndex - n2[0].length;
+          const r2 = n2.length;
+          for (let t3 = 0; t3 < r2; t3++) s2.push(n2[t3]);
+          i2.push(s2), n2 = e2.exec(t2);
+        }
+        return i2;
+      }
+      const r = function(t2) {
+        return !(null == n.exec(t2));
+      }, o = { allowBooleanAttributes: false, unpairedTags: [] };
+      function a(t2, e2) {
+        e2 = Object.assign({}, o, e2);
+        const i2 = [];
+        let n2 = false, s2 = false;
+        "\uFEFF" === t2[0] && (t2 = t2.substr(1));
+        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2] && "?" === t2[o2 + 1]) {
+          if (o2 += 2, o2 = u(t2, o2), o2.err) return o2;
+        } else {
+          if ("<" !== t2[o2]) {
+            if (l(t2[o2])) continue;
+            return x("InvalidChar", "char '" + t2[o2] + "' is not expected.", b(t2, o2));
+          }
           {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp }
-        ]);
+            let a2 = o2;
+            if (o2++, "!" === t2[o2]) {
+              o2 = h(t2, o2);
+              continue;
+            }
+            {
+              let d2 = false;
+              "/" === t2[o2] && (d2 = true, o2++);
+              let p2 = "";
+              for (; o2 < t2.length && ">" !== t2[o2] && " " !== t2[o2] && "	" !== t2[o2] && "\n" !== t2[o2] && "\r" !== t2[o2]; o2++) p2 += t2[o2];
+              if (p2 = p2.trim(), "/" === p2[p2.length - 1] && (p2 = p2.substring(0, p2.length - 1), o2--), !r(p2)) {
+                let e3;
+                return e3 = 0 === p2.trim().length ? "Invalid space after '<'." : "Tag '" + p2 + "' is an invalid name.", x("InvalidTag", e3, b(t2, o2));
+              }
+              const c2 = f(t2, o2);
+              if (false === c2) return x("InvalidAttr", "Attributes for '" + p2 + "' have open quote.", b(t2, o2));
+              let N2 = c2.value;
+              if (o2 = c2.index, "/" === N2[N2.length - 1]) {
+                const i3 = o2 - N2.length;
+                N2 = N2.substring(0, N2.length - 1);
+                const s3 = g(N2, e2);
+                if (true !== s3) return x(s3.err.code, s3.err.msg, b(t2, i3 + s3.err.line));
+                n2 = true;
+              } else if (d2) {
+                if (!c2.tagClosed) return x("InvalidTag", "Closing tag '" + p2 + "' doesn't have proper closing.", b(t2, o2));
+                if (N2.trim().length > 0) return x("InvalidTag", "Closing tag '" + p2 + "' can't have attributes or invalid starting.", b(t2, a2));
+                if (0 === i2.length) return x("InvalidTag", "Closing tag '" + p2 + "' has not been opened.", b(t2, a2));
+                {
+                  const e3 = i2.pop();
+                  if (p2 !== e3.tagName) {
+                    let i3 = b(t2, e3.tagStartPos);
+                    return x("InvalidTag", "Expected closing tag '" + e3.tagName + "' (opened in line " + i3.line + ", col " + i3.col + ") instead of closing tag '" + p2 + "'.", b(t2, a2));
+                  }
+                  0 == i2.length && (s2 = true);
+                }
+              } else {
+                const r2 = g(N2, e2);
+                if (true !== r2) return x(r2.err.code, r2.err.msg, b(t2, o2 - N2.length + r2.err.line));
+                if (true === s2) return x("InvalidXml", "Multiple possible root nodes found.", b(t2, o2));
+                -1 !== e2.unpairedTags.indexOf(p2) || i2.push({ tagName: p2, tagStartPos: a2 }), n2 = true;
+              }
+              for (o2++; o2 < t2.length; o2++) if ("<" === t2[o2]) {
+                if ("!" === t2[o2 + 1]) {
+                  o2++, o2 = h(t2, o2);
+                  continue;
+                }
+                if ("?" !== t2[o2 + 1]) break;
+                if (o2 = u(t2, ++o2), o2.err) return o2;
+              } else if ("&" === t2[o2]) {
+                const e3 = m(t2, o2);
+                if (-1 == e3) return x("InvalidChar", "char '&' is not expected.", b(t2, o2));
+                o2 = e3;
+              } else if (true === s2 && !l(t2[o2])) return x("InvalidXml", "Extra text at the end", b(t2, o2));
+              "<" === t2[o2] && o2--;
+            }
+          }
+        }
+        return n2 ? 1 == i2.length ? x("InvalidTag", "Unclosed tag '" + i2[0].tagName + "'.", b(t2, i2[0].tagStartPos)) : !(i2.length > 0) || x("InvalidXml", "Invalid '" + JSON.stringify(i2.map(((t3) => t3.tagName)), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }) : x("InvalidXml", "Start tag expected.", 1);
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      function l(t2) {
+        return " " === t2 || "	" === t2 || "\n" === t2 || "\r" === t2;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            3:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      function u(t2, e2) {
+        const i2 = e2;
+        for (; e2 < t2.length; e2++) if ("?" != t2[e2] && " " != t2[e2]) ;
+        else {
+          const n2 = t2.substr(i2, e2 - i2);
+          if (e2 > 5 && "xml" === n2) return x("InvalidXml", "XML declaration allowed only at the start of the document.", b(t2, e2));
+          if ("?" == t2[e2] && ">" == t2[e2 + 1]) {
+            e2++;
+            break;
+          }
+        }
+        return e2;
+      }
+      function h(t2, e2) {
+        if (t2.length > e2 + 5 && "-" === t2[e2 + 1] && "-" === t2[e2 + 2]) {
+          for (e2 += 3; e2 < t2.length; e2++) if ("-" === t2[e2] && "-" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
+            e2 += 2;
+            break;
+          }
+        } else if (t2.length > e2 + 8 && "D" === t2[e2 + 1] && "O" === t2[e2 + 2] && "C" === t2[e2 + 3] && "T" === t2[e2 + 4] && "Y" === t2[e2 + 5] && "P" === t2[e2 + 6] && "E" === t2[e2 + 7]) {
+          let i2 = 1;
+          for (e2 += 8; e2 < t2.length; e2++) if ("<" === t2[e2]) i2++;
+          else if (">" === t2[e2] && (i2--, 0 === i2)) break;
+        } else if (t2.length > e2 + 9 && "[" === t2[e2 + 1] && "C" === t2[e2 + 2] && "D" === t2[e2 + 3] && "A" === t2[e2 + 4] && "T" === t2[e2 + 5] && "A" === t2[e2 + 6] && "[" === t2[e2 + 7]) {
+          for (e2 += 8; e2 < t2.length; e2++) if ("]" === t2[e2] && "]" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
+            e2 += 2;
+            break;
+          }
+        }
+        return e2;
+      }
+      const d = '"', p = "'";
+      function f(t2, e2) {
+        let i2 = "", n2 = "", s2 = false;
+        for (; e2 < t2.length; e2++) {
+          if (t2[e2] === d || t2[e2] === p) "" === n2 ? n2 = t2[e2] : n2 !== t2[e2] || (n2 = "");
+          else if (">" === t2[e2] && "" === n2) {
+            s2 = true;
+            break;
+          }
+          i2 += t2[e2];
+        }
+        return "" === n2 && { value: i2, index: e2, tagClosed: s2 };
+      }
+      const c = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g");
+      function g(t2, e2) {
+        const i2 = s(t2, c), n2 = {};
+        for (let t3 = 0; t3 < i2.length; t3++) {
+          if (0 === i2[t3][1].length) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' has no space in starting.", E(i2[t3]));
+          if (void 0 !== i2[t3][3] && void 0 === i2[t3][4]) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' is without value.", E(i2[t3]));
+          if (void 0 === i2[t3][3] && !e2.allowBooleanAttributes) return x("InvalidAttr", "boolean attribute '" + i2[t3][2] + "' is not allowed.", E(i2[t3]));
+          const s2 = i2[t3][2];
+          if (!N(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is an invalid name.", E(i2[t3]));
+          if (n2.hasOwnProperty(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is repeated.", E(i2[t3]));
+          n2[s2] = 1;
+        }
+        return true;
+      }
+      function m(t2, e2) {
+        if (";" === t2[++e2]) return -1;
+        if ("#" === t2[e2]) return (function(t3, e3) {
+          let i3 = /\d/;
+          for ("x" === t3[e3] && (e3++, i3 = /[\da-fA-F]/); e3 < t3.length; e3++) {
+            if (";" === t3[e3]) return e3;
+            if (!t3[e3].match(i3)) break;
           }
+          return -1;
+        })(t2, ++e2);
+        let i2 = 0;
+        for (; e2 < t2.length; e2++, i2++) if (!(t2[e2].match(/\w/) && i2 < 20)) {
+          if (";" === t2[e2]) break;
+          return -1;
         }
-        return message;
+        return e2;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      function x(t2, e2, i2) {
+        return { err: { code: t2, msg: e2, line: i2.line || i2, col: i2.col } };
       }
-    };
-    exports2.MigrateArtifactRequest = new MigrateArtifactRequest$Type();
-    var MigrateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.MigrateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      function N(t2) {
+        return r(t2);
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      function b(t2, e2) {
+        const i2 = t2.substring(0, e2).split(/\r?\n/);
+        return { line: i2.length, col: i2[i2.length - 1].length + 1 };
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      function E(t2) {
+        return t2.startIndex + t2[1].length;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      const v = { preserveOrder: false, attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, removeNSPrefix: false, allowBooleanAttributes: false, parseTagValue: true, parseAttributeValue: false, trimValues: true, cdataPropName: false, numberParseOptions: { hex: true, leadingZeros: true, eNotation: true }, tagValueProcessor: function(t2, e2) {
+        return e2;
+      }, attributeValueProcessor: function(t2, e2) {
+        return e2;
+      }, stopNodes: [], alwaysCreateTextNode: false, isArray: () => false, commentPropName: false, unpairedTags: [], processEntities: true, htmlEntities: false, ignoreDeclaration: false, ignorePiTags: false, transformTagName: false, transformAttributeName: false, updateTag: function(t2, e2, i2) {
+        return t2;
+      }, captureMetaData: false };
+      let T;
+      T = "function" != typeof Symbol ? "@@xmlMetadata" : /* @__PURE__ */ Symbol("XML Node Metadata");
+      class y {
+        constructor(t2) {
+          this.tagname = t2, this.child = [], this[":@"] = {};
+        }
+        add(t2, e2) {
+          "__proto__" === t2 && (t2 = "#__proto__"), this.child.push({ [t2]: e2 });
+        }
+        addChild(t2, e2) {
+          "__proto__" === t2.tagname && (t2.tagname = "#__proto__"), t2[":@"] && Object.keys(t2[":@"]).length > 0 ? this.child.push({ [t2.tagname]: t2.child, ":@": t2[":@"] }) : this.child.push({ [t2.tagname]: t2.child }), void 0 !== e2 && (this.child[this.child.length - 1][T] = { startIndex: e2 });
+        }
+        static getMetaDataSymbol() {
+          return T;
+        }
       }
-    };
-    exports2.MigrateArtifactResponse = new MigrateArtifactResponse$Type();
-    var FinalizeMigratedArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
+      class w {
+        constructor(t2) {
+          this.suppressValidationErr = !t2;
+        }
+        readDocType(t2, e2) {
+          const i2 = {};
+          if ("O" !== t2[e2 + 3] || "C" !== t2[e2 + 4] || "T" !== t2[e2 + 5] || "Y" !== t2[e2 + 6] || "P" !== t2[e2 + 7] || "E" !== t2[e2 + 8]) throw new Error("Invalid Tag instead of DOCTYPE");
           {
-            no: 3,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+            e2 += 9;
+            let n2 = 1, s2 = false, r2 = false, o2 = "";
+            for (; e2 < t2.length; e2++) if ("<" !== t2[e2] || r2) if (">" === t2[e2]) {
+              if (r2 ? "-" === t2[e2 - 1] && "-" === t2[e2 - 2] && (r2 = false, n2--) : n2--, 0 === n2) break;
+            } else "[" === t2[e2] ? s2 = true : o2 += t2[e2];
+            else {
+              if (s2 && P(t2, "!ENTITY", e2)) {
+                let n3, s3;
+                e2 += 7, [n3, s3, e2] = this.readEntityExp(t2, e2 + 1, this.suppressValidationErr), -1 === s3.indexOf("&") && (i2[n3] = { regx: RegExp(`&${n3};`, "g"), val: s3 });
+              } else if (s2 && P(t2, "!ELEMENT", e2)) {
+                e2 += 8;
+                const { index: i3 } = this.readElementExp(t2, e2 + 1);
+                e2 = i3;
+              } else if (s2 && P(t2, "!ATTLIST", e2)) e2 += 8;
+              else if (s2 && P(t2, "!NOTATION", e2)) {
+                e2 += 9;
+                const { index: i3 } = this.readNotationExp(t2, e2 + 1, this.suppressValidationErr);
+                e2 = i3;
+              } else {
+                if (!P(t2, "!--", e2)) throw new Error("Invalid DOCTYPE");
+                r2 = true;
+              }
+              n2++, o2 = "";
+            }
+            if (0 !== n2) throw new Error("Unclosed DOCTYPE");
           }
-        ]);
+          return { entities: i2, i: e2 };
+        }
+        readEntityExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]) && '"' !== t2[e2] && "'" !== t2[e2]; ) i2 += t2[e2], e2++;
+          if (O(i2), e2 = I(t2, e2), !this.suppressValidationErr) {
+            if ("SYSTEM" === t2.substring(e2, e2 + 6).toUpperCase()) throw new Error("External entities are not supported");
+            if ("%" === t2[e2]) throw new Error("Parameter entities are not supported");
+          }
+          let n2 = "";
+          return [e2, n2] = this.readIdentifierVal(t2, e2, "entity"), [i2, n2, --e2];
+        }
+        readNotationExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
+          !this.suppressValidationErr && O(i2), e2 = I(t2, e2);
+          const n2 = t2.substring(e2, e2 + 6).toUpperCase();
+          if (!this.suppressValidationErr && "SYSTEM" !== n2 && "PUBLIC" !== n2) throw new Error(`Expected SYSTEM or PUBLIC, found "${n2}"`);
+          e2 += n2.length, e2 = I(t2, e2);
+          let s2 = null, r2 = null;
+          if ("PUBLIC" === n2) [e2, s2] = this.readIdentifierVal(t2, e2, "publicIdentifier"), '"' !== t2[e2 = I(t2, e2)] && "'" !== t2[e2] || ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"));
+          else if ("SYSTEM" === n2 && ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"), !this.suppressValidationErr && !r2)) throw new Error("Missing mandatory system identifier for SYSTEM notation");
+          return { notationName: i2, publicIdentifier: s2, systemIdentifier: r2, index: --e2 };
+        }
+        readIdentifierVal(t2, e2, i2) {
+          let n2 = "";
+          const s2 = t2[e2];
+          if ('"' !== s2 && "'" !== s2) throw new Error(`Expected quoted string, found "${s2}"`);
+          for (e2++; e2 < t2.length && t2[e2] !== s2; ) n2 += t2[e2], e2++;
+          if (t2[e2] !== s2) throw new Error(`Unterminated ${i2} value`);
+          return [++e2, n2];
+        }
+        readElementExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
+          if (!this.suppressValidationErr && !r(i2)) throw new Error(`Invalid element name: "${i2}"`);
+          let n2 = "";
+          if ("E" === t2[e2 = I(t2, e2)] && P(t2, "MPTY", e2)) e2 += 4;
+          else if ("A" === t2[e2] && P(t2, "NY", e2)) e2 += 2;
+          else if ("(" === t2[e2]) {
+            for (e2++; e2 < t2.length && ")" !== t2[e2]; ) n2 += t2[e2], e2++;
+            if (")" !== t2[e2]) throw new Error("Unterminated content model");
+          } else if (!this.suppressValidationErr) throw new Error(`Invalid Element Expression, found "${t2[e2]}"`);
+          return { elementName: i2, contentModel: n2.trim(), index: e2 };
+        }
+        readAttlistExp(t2, e2) {
+          e2 = I(t2, e2);
+          let i2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
+          O(i2), e2 = I(t2, e2);
+          let n2 = "";
+          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) n2 += t2[e2], e2++;
+          if (!O(n2)) throw new Error(`Invalid attribute name: "${n2}"`);
+          e2 = I(t2, e2);
+          let s2 = "";
+          if ("NOTATION" === t2.substring(e2, e2 + 8).toUpperCase()) {
+            if (s2 = "NOTATION", "(" !== t2[e2 = I(t2, e2 += 8)]) throw new Error(`Expected '(', found "${t2[e2]}"`);
+            e2++;
+            let i3 = [];
+            for (; e2 < t2.length && ")" !== t2[e2]; ) {
+              let n3 = "";
+              for (; e2 < t2.length && "|" !== t2[e2] && ")" !== t2[e2]; ) n3 += t2[e2], e2++;
+              if (n3 = n3.trim(), !O(n3)) throw new Error(`Invalid notation name: "${n3}"`);
+              i3.push(n3), "|" === t2[e2] && (e2++, e2 = I(t2, e2));
+            }
+            if (")" !== t2[e2]) throw new Error("Unterminated list of notations");
+            e2++, s2 += " (" + i3.join("|") + ")";
+          } else {
+            for (; e2 < t2.length && !/\s/.test(t2[e2]); ) s2 += t2[e2], e2++;
+            const i3 = ["CDATA", "ID", "IDREF", "IDREFS", "ENTITY", "ENTITIES", "NMTOKEN", "NMTOKENS"];
+            if (!this.suppressValidationErr && !i3.includes(s2.toUpperCase())) throw new Error(`Invalid attribute type: "${s2}"`);
+          }
+          e2 = I(t2, e2);
+          let r2 = "";
+          return "#REQUIRED" === t2.substring(e2, e2 + 8).toUpperCase() ? (r2 = "#REQUIRED", e2 += 8) : "#IMPLIED" === t2.substring(e2, e2 + 7).toUpperCase() ? (r2 = "#IMPLIED", e2 += 7) : [e2, r2] = this.readIdentifierVal(t2, e2, "ATTLIST"), { elementName: i2, attributeName: n2, attributeType: s2, defaultValue: r2, index: e2 };
+        }
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      const I = (t2, e2) => {
+        for (; e2 < t2.length && /\s/.test(t2[e2]); ) e2++;
+        return e2;
+      };
+      function P(t2, e2, i2) {
+        for (let n2 = 0; n2 < e2.length; n2++) if (e2[n2] !== t2[i2 + n2 + 1]) return false;
+        return true;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string name */
-            2:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            3:
-              message.size = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      function O(t2) {
+        if (r(t2)) return t2;
+        throw new Error(`Invalid entity name ${t2}`);
+      }
+      const A = /^[-+]?0x[a-fA-F0-9]+$/, S = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/, C = { hex: true, leadingZeros: true, decimalPoint: ".", eNotation: true };
+      const V = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;
+      function $(t2) {
+        return "function" == typeof t2 ? t2 : Array.isArray(t2) ? (e2) => {
+          for (const i2 of t2) {
+            if ("string" == typeof i2 && e2 === i2) return true;
+            if (i2 instanceof RegExp && i2.test(e2)) return true;
+          }
+        } : () => false;
+      }
+      class D {
+        constructor(t2) {
+          if (this.options = t2, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = { apos: { regex: /&(apos|#39|#x27);/g, val: "'" }, gt: { regex: /&(gt|#62|#x3E);/g, val: ">" }, lt: { regex: /&(lt|#60|#x3C);/g, val: "<" }, quot: { regex: /&(quot|#34|#x22);/g, val: '"' } }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }, this.htmlEntities = { space: { regex: /&(nbsp|#160);/g, val: " " }, cent: { regex: /&(cent|#162);/g, val: "\xA2" }, pound: { regex: /&(pound|#163);/g, val: "\xA3" }, yen: { regex: /&(yen|#165);/g, val: "\xA5" }, euro: { regex: /&(euro|#8364);/g, val: "\u20AC" }, copyright: { regex: /&(copy|#169);/g, val: "\xA9" }, reg: { regex: /&(reg|#174);/g, val: "\xAE" }, inr: { regex: /&(inr|#8377);/g, val: "\u20B9" }, num_dec: { regex: /&#([0-9]{1,7});/g, val: (t3, e2) => Z(e2, 10, "&#") }, num_hex: { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (t3, e2) => Z(e2, 16, "&#x") } }, this.addExternalEntities = j, this.parseXml = L, this.parseTextData = M, this.resolveNameSpace = F, this.buildAttributesMap = k, this.isItStopNode = Y, this.replaceEntitiesValue = B, this.readStopNodeData = W, this.saveTextToParentTag = R, this.addChild = U, this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.options.stopNodes && this.options.stopNodes.length > 0) {
+            this.stopNodesExact = /* @__PURE__ */ new Set(), this.stopNodesWildcard = /* @__PURE__ */ new Set();
+            for (let t3 = 0; t3 < this.options.stopNodes.length; t3++) {
+              const e2 = this.options.stopNodes[t3];
+              "string" == typeof e2 && (e2.startsWith("*.") ? this.stopNodesWildcard.add(e2.substring(2)) : this.stopNodesExact.add(e2));
+            }
           }
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.name !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.size);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      function j(t2) {
+        const e2 = Object.keys(t2);
+        for (let i2 = 0; i2 < e2.length; i2++) {
+          const n2 = e2[i2];
+          this.lastEntities[n2] = { regex: new RegExp("&" + n2 + ";", "g"), val: t2[n2] };
+        }
       }
-    };
-    exports2.FinalizeMigratedArtifactRequest = new FinalizeMigratedArtifactRequest$Type();
-    var FinalizeMigratedArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeMigratedArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          }
-        ]);
+      function M(t2, e2, i2, n2, s2, r2, o2) {
+        if (void 0 !== t2 && (this.options.trimValues && !n2 && (t2 = t2.trim()), t2.length > 0)) {
+          o2 || (t2 = this.replaceEntitiesValue(t2));
+          const n3 = this.options.tagValueProcessor(e2, t2, i2, s2, r2);
+          return null == n3 ? t2 : typeof n3 != typeof t2 || n3 !== t2 ? n3 : this.options.trimValues || t2.trim() === t2 ? q(t2, this.options.parseTagValue, this.options.numberParseOptions) : t2;
+        }
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      function F(t2) {
+        if (this.options.removeNSPrefix) {
+          const e2 = t2.split(":"), i2 = "/" === t2.charAt(0) ? "/" : "";
+          if ("xmlns" === e2[0]) return "";
+          2 === e2.length && (t2 = i2 + e2[1]);
+        }
+        return t2;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      const _2 = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm");
+      function k(t2, e2) {
+        if (true !== this.options.ignoreAttributes && "string" == typeof t2) {
+          const i2 = s(t2, _2), n2 = i2.length, r2 = {};
+          for (let t3 = 0; t3 < n2; t3++) {
+            const n3 = this.resolveNameSpace(i2[t3][1]);
+            if (this.ignoreAttributesFn(n3, e2)) continue;
+            let s2 = i2[t3][4], o2 = this.options.attributeNamePrefix + n3;
+            if (n3.length) if (this.options.transformAttributeName && (o2 = this.options.transformAttributeName(o2)), "__proto__" === o2 && (o2 = "#__proto__"), void 0 !== s2) {
+              this.options.trimValues && (s2 = s2.trim()), s2 = this.replaceEntitiesValue(s2);
+              const t4 = this.options.attributeValueProcessor(n3, s2, e2);
+              r2[o2] = null == t4 ? s2 : typeof t4 != typeof s2 || t4 !== s2 ? t4 : q(s2, this.options.parseAttributeValue, this.options.numberParseOptions);
+            } else this.options.allowBooleanAttributes && (r2[o2] = true);
+          }
+          if (!Object.keys(r2).length) return;
+          if (this.options.attributesGroupName) {
+            const t3 = {};
+            return t3[this.options.attributesGroupName] = r2, t3;
           }
+          return r2;
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
       }
-    };
-    exports2.FinalizeMigratedArtifactResponse = new FinalizeMigratedArtifactResponse$Type();
-    var CreateArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 4, name: "expires_at", kind: "message", T: () => timestamp_1.Timestamp },
-          {
-            no: 5,
-            name: "version",
-            kind: "scalar",
-            T: 5
-            /*ScalarType.INT32*/
+      const L = function(t2) {
+        t2 = t2.replace(/\r\n?/g, "\n");
+        const e2 = new y("!xml");
+        let i2 = e2, n2 = "", s2 = "";
+        const r2 = new w(this.options.processEntities);
+        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2]) if ("/" === t2[o2 + 1]) {
+          const e3 = G(t2, ">", o2, "Closing Tag is not closed.");
+          let r3 = t2.substring(o2 + 2, e3).trim();
+          if (this.options.removeNSPrefix) {
+            const t3 = r3.indexOf(":");
+            -1 !== t3 && (r3 = r3.substr(t3 + 1));
+          }
+          this.options.transformTagName && (r3 = this.options.transformTagName(r3)), i2 && (n2 = this.saveTextToParentTag(n2, i2, s2));
+          const a2 = s2.substring(s2.lastIndexOf(".") + 1);
+          if (r3 && -1 !== this.options.unpairedTags.indexOf(r3)) throw new Error(`Unpaired tag can not be used as closing tag: `);
+          let l2 = 0;
+          a2 && -1 !== this.options.unpairedTags.indexOf(a2) ? (l2 = s2.lastIndexOf(".", s2.lastIndexOf(".") - 1), this.tagsNodeStack.pop()) : l2 = s2.lastIndexOf("."), s2 = s2.substring(0, l2), i2 = this.tagsNodeStack.pop(), n2 = "", o2 = e3;
+        } else if ("?" === t2[o2 + 1]) {
+          let e3 = X(t2, o2, false, "?>");
+          if (!e3) throw new Error("Pi Tag is not closed.");
+          if (n2 = this.saveTextToParentTag(n2, i2, s2), this.options.ignoreDeclaration && "?xml" === e3.tagName || this.options.ignorePiTags) ;
+          else {
+            const t3 = new y(e3.tagName);
+            t3.add(this.options.textNodeName, ""), e3.tagName !== e3.tagExp && e3.attrExpPresent && (t3[":@"] = this.buildAttributesMap(e3.tagExp, s2)), this.addChild(i2, t3, s2, o2);
+          }
+          o2 = e3.closeIndex + 1;
+        } else if ("!--" === t2.substr(o2 + 1, 3)) {
+          const e3 = G(t2, "-->", o2 + 4, "Comment is not closed.");
+          if (this.options.commentPropName) {
+            const r3 = t2.substring(o2 + 4, e3 - 2);
+            n2 = this.saveTextToParentTag(n2, i2, s2), i2.add(this.options.commentPropName, [{ [this.options.textNodeName]: r3 }]);
+          }
+          o2 = e3;
+        } else if ("!D" === t2.substr(o2 + 1, 2)) {
+          const e3 = r2.readDocType(t2, o2);
+          this.docTypeEntities = e3.entities, o2 = e3.i;
+        } else if ("![" === t2.substr(o2 + 1, 2)) {
+          const e3 = G(t2, "]]>", o2, "CDATA is not closed.") - 2, r3 = t2.substring(o2 + 9, e3);
+          n2 = this.saveTextToParentTag(n2, i2, s2);
+          let a2 = this.parseTextData(r3, i2.tagname, s2, true, false, true, true);
+          null == a2 && (a2 = ""), this.options.cdataPropName ? i2.add(this.options.cdataPropName, [{ [this.options.textNodeName]: r3 }]) : i2.add(this.options.textNodeName, a2), o2 = e3 + 2;
+        } else {
+          let r3 = X(t2, o2, this.options.removeNSPrefix), a2 = r3.tagName;
+          const l2 = r3.rawTagName;
+          let u2 = r3.tagExp, h2 = r3.attrExpPresent, d2 = r3.closeIndex;
+          if (this.options.transformTagName) {
+            const t3 = this.options.transformTagName(a2);
+            u2 === a2 && (u2 = t3), a2 = t3;
+          }
+          i2 && n2 && "!xml" !== i2.tagname && (n2 = this.saveTextToParentTag(n2, i2, s2, false));
+          const p2 = i2;
+          p2 && -1 !== this.options.unpairedTags.indexOf(p2.tagname) && (i2 = this.tagsNodeStack.pop(), s2 = s2.substring(0, s2.lastIndexOf("."))), a2 !== e2.tagname && (s2 += s2 ? "." + a2 : a2);
+          const f2 = o2;
+          if (this.isItStopNode(this.stopNodesExact, this.stopNodesWildcard, s2, a2)) {
+            let e3 = "";
+            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) "/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), o2 = r3.closeIndex;
+            else if (-1 !== this.options.unpairedTags.indexOf(a2)) o2 = r3.closeIndex;
+            else {
+              const i3 = this.readStopNodeData(t2, l2, d2 + 1);
+              if (!i3) throw new Error(`Unexpected end of ${l2}`);
+              o2 = i3.i, e3 = i3.tagContent;
+            }
+            const n3 = new y(a2);
+            a2 !== u2 && h2 && (n3[":@"] = this.buildAttributesMap(u2, s2)), e3 && (e3 = this.parseTextData(e3, a2, s2, true, h2, true, true)), s2 = s2.substr(0, s2.lastIndexOf(".")), n3.add(this.options.textNodeName, e3), this.addChild(i2, n3, s2, f2);
+          } else {
+            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) {
+              if ("/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), this.options.transformTagName) {
+                const t4 = this.options.transformTagName(a2);
+                u2 === a2 && (u2 = t4), a2 = t4;
+              }
+              const t3 = new y(a2);
+              a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), s2 = s2.substr(0, s2.lastIndexOf("."));
+            } else {
+              const t3 = new y(a2);
+              this.tagsNodeStack.push(i2), a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), i2 = t3;
+            }
+            n2 = "", o2 = d2;
           }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", version: 0 };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        }
+        else n2 += t2[o2];
+        return e2.child;
+      };
+      function U(t2, e2, i2, n2) {
+        this.options.captureMetaData || (n2 = void 0);
+        const s2 = this.options.updateTag(e2.tagname, i2, e2[":@"]);
+        false === s2 || ("string" == typeof s2 ? (e2.tagname = s2, t2.addChild(e2, n2)) : t2.addChild(e2, n2));
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* google.protobuf.Timestamp expires_at */
-            4:
-              message.expiresAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expiresAt);
-              break;
-            case /* int32 version */
-            5:
-              message.version = reader.int32();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      const B = function(t2) {
+        if (this.options.processEntities) {
+          for (let e2 in this.docTypeEntities) {
+            const i2 = this.docTypeEntities[e2];
+            t2 = t2.replace(i2.regx, i2.val);
+          }
+          for (let e2 in this.lastEntities) {
+            const i2 = this.lastEntities[e2];
+            t2 = t2.replace(i2.regex, i2.val);
+          }
+          if (this.options.htmlEntities) for (let e2 in this.htmlEntities) {
+            const i2 = this.htmlEntities[e2];
+            t2 = t2.replace(i2.regex, i2.val);
           }
+          t2 = t2.replace(this.ampEntity.regex, this.ampEntity.val);
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.expiresAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.expiresAt, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.version !== 0)
-          writer.tag(5, runtime_1.WireType.Varint).int32(message.version);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+        return t2;
+      };
+      function R(t2, e2, i2, n2) {
+        return t2 && (void 0 === n2 && (n2 = 0 === e2.child.length), void 0 !== (t2 = this.parseTextData(t2, e2.tagname, i2, false, !!e2[":@"] && 0 !== Object.keys(e2[":@"]).length, n2)) && "" !== t2 && e2.add(this.options.textNodeName, t2), t2 = ""), t2;
       }
-    };
-    exports2.CreateArtifactRequest = new CreateArtifactRequest$Type();
-    var CreateArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.CreateArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "signed_upload_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      function Y(t2, e2, i2, n2) {
+        return !(!e2 || !e2.has(n2)) || !(!t2 || !t2.has(i2));
       }
-      create(value) {
-        const message = { ok: false, signedUploadUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      function G(t2, e2, i2, n2) {
+        const s2 = t2.indexOf(e2, i2);
+        if (-1 === s2) throw new Error(n2);
+        return s2 + e2.length - 1;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* string signed_upload_url */
-            2:
-              message.signedUploadUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      function X(t2, e2, i2, n2 = ">") {
+        const s2 = (function(t3, e3, i3 = ">") {
+          let n3, s3 = "";
+          for (let r3 = e3; r3 < t3.length; r3++) {
+            let e4 = t3[r3];
+            if (n3) e4 === n3 && (n3 = "");
+            else if ('"' === e4 || "'" === e4) n3 = e4;
+            else if (e4 === i3[0]) {
+              if (!i3[1]) return { data: s3, index: r3 };
+              if (t3[r3 + 1] === i3[1]) return { data: s3, index: r3 };
+            } else "	" === e4 && (e4 = " ");
+            s3 += e4;
           }
+        })(t2, e2 + 1, n2);
+        if (!s2) return;
+        let r2 = s2.data;
+        const o2 = s2.index, a2 = r2.search(/\s/);
+        let l2 = r2, u2 = true;
+        -1 !== a2 && (l2 = r2.substring(0, a2), r2 = r2.substring(a2 + 1).trimStart());
+        const h2 = l2;
+        if (i2) {
+          const t3 = l2.indexOf(":");
+          -1 !== t3 && (l2 = l2.substr(t3 + 1), u2 = l2 !== s2.data.substr(t3 + 1));
         }
-        return message;
+        return { tagName: l2, tagExp: r2, closeIndex: o2, attrExpPresent: u2, rawTagName: h2 };
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.signedUploadUrl !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.signedUploadUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      function W(t2, e2, i2) {
+        const n2 = i2;
+        let s2 = 1;
+        for (; i2 < t2.length; i2++) if ("<" === t2[i2]) if ("/" === t2[i2 + 1]) {
+          const r2 = G(t2, ">", i2, `${e2} is not closed`);
+          if (t2.substring(i2 + 2, r2).trim() === e2 && (s2--, 0 === s2)) return { tagContent: t2.substring(n2, i2), i: r2 };
+          i2 = r2;
+        } else if ("?" === t2[i2 + 1]) i2 = G(t2, "?>", i2 + 1, "StopNode is not closed.");
+        else if ("!--" === t2.substr(i2 + 1, 3)) i2 = G(t2, "-->", i2 + 3, "StopNode is not closed.");
+        else if ("![" === t2.substr(i2 + 1, 2)) i2 = G(t2, "]]>", i2, "StopNode is not closed.") - 2;
+        else {
+          const n3 = X(t2, i2, ">");
+          n3 && ((n3 && n3.tagName) === e2 && "/" !== n3.tagExp[n3.tagExp.length - 1] && s2++, i2 = n3.closeIndex);
+        }
       }
-    };
-    exports2.CreateArtifactResponse = new CreateArtifactResponse$Type();
-    var FinalizeArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 4,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 5, name: "hash", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+      function q(t2, e2, i2) {
+        if (e2 && "string" == typeof t2) {
+          const e3 = t2.trim();
+          return "true" === e3 || "false" !== e3 && (function(t3, e4 = {}) {
+            if (e4 = Object.assign({}, C, e4), !t3 || "string" != typeof t3) return t3;
+            let i3 = t3.trim();
+            if (void 0 !== e4.skipLike && e4.skipLike.test(i3)) return t3;
+            if ("0" === t3) return 0;
+            if (e4.hex && A.test(i3)) return (function(t4) {
+              if (parseInt) return parseInt(t4, 16);
+              if (Number.parseInt) return Number.parseInt(t4, 16);
+              if (window && window.parseInt) return window.parseInt(t4, 16);
+              throw new Error("parseInt, Number.parseInt, window.parseInt are not supported");
+            })(i3);
+            if (-1 !== i3.search(/.+[eE].+/)) return (function(t4, e5, i4) {
+              if (!i4.eNotation) return t4;
+              const n3 = e5.match(V);
+              if (n3) {
+                let s2 = n3[1] || "";
+                const r2 = -1 === n3[3].indexOf("e") ? "E" : "e", o2 = n3[2], a2 = s2 ? t4[o2.length + 1] === r2 : t4[o2.length] === r2;
+                return o2.length > 1 && a2 ? t4 : 1 !== o2.length || !n3[3].startsWith(`.${r2}`) && n3[3][0] !== r2 ? i4.leadingZeros && !a2 ? (e5 = (n3[1] || "") + n3[3], Number(e5)) : t4 : Number(e5);
+              }
+              return t4;
+            })(t3, i3, e4);
+            {
+              const s2 = S.exec(i3);
+              if (s2) {
+                const r2 = s2[1] || "", o2 = s2[2];
+                let a2 = (n2 = s2[3]) && -1 !== n2.indexOf(".") ? ("." === (n2 = n2.replace(/0+$/, "")) ? n2 = "0" : "." === n2[0] ? n2 = "0" + n2 : "." === n2[n2.length - 1] && (n2 = n2.substring(0, n2.length - 1)), n2) : n2;
+                const l2 = r2 ? "." === t3[o2.length + 1] : "." === t3[o2.length];
+                if (!e4.leadingZeros && (o2.length > 1 || 1 === o2.length && !l2)) return t3;
+                {
+                  const n3 = Number(i3), s3 = String(n3);
+                  if (0 === n3 || -0 === n3) return n3;
+                  if (-1 !== s3.search(/[eE]/)) return e4.eNotation ? n3 : t3;
+                  if (-1 !== i3.indexOf(".")) return "0" === s3 || s3 === a2 || s3 === `${r2}${a2}` ? n3 : t3;
+                  let l3 = o2 ? a2 : i3;
+                  return o2 ? l3 === s3 || r2 + l3 === s3 ? n3 : t3 : l3 === s3 || l3 === r2 + s3 ? n3 : t3;
+                }
+              }
+              return t3;
+            }
+            var n2;
+          })(t2, i2);
+        }
+        return void 0 !== t2 ? t2 : "";
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      function Z(t2, e2, i2) {
+        const n2 = Number.parseInt(t2, e2);
+        return n2 >= 0 && n2 <= 1114111 ? String.fromCodePoint(n2) : i2 + t2 + ";";
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            4:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.StringValue hash */
-            5:
-              message.hash = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.hash);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      const K = y.getMetaDataSymbol();
+      function Q(t2, e2) {
+        return z(t2, e2);
+      }
+      function z(t2, e2, i2) {
+        let n2;
+        const s2 = {};
+        for (let r2 = 0; r2 < t2.length; r2++) {
+          const o2 = t2[r2], a2 = J(o2);
+          let l2 = "";
+          if (l2 = void 0 === i2 ? a2 : i2 + "." + a2, a2 === e2.textNodeName) void 0 === n2 ? n2 = o2[a2] : n2 += "" + o2[a2];
+          else {
+            if (void 0 === a2) continue;
+            if (o2[a2]) {
+              let t3 = z(o2[a2], e2, l2);
+              const i3 = tt(t3, e2);
+              void 0 !== o2[K] && (t3[K] = o2[K]), o2[":@"] ? H(t3, o2[":@"], l2, e2) : 1 !== Object.keys(t3).length || void 0 === t3[e2.textNodeName] || e2.alwaysCreateTextNode ? 0 === Object.keys(t3).length && (e2.alwaysCreateTextNode ? t3[e2.textNodeName] = "" : t3 = "") : t3 = t3[e2.textNodeName], void 0 !== s2[a2] && s2.hasOwnProperty(a2) ? (Array.isArray(s2[a2]) || (s2[a2] = [s2[a2]]), s2[a2].push(t3)) : e2.isArray(a2, l2, i3) ? s2[a2] = [t3] : s2[a2] = t3;
+            }
           }
         }
-        return message;
+        return "string" == typeof n2 ? n2.length > 0 && (s2[e2.textNodeName] = n2) : void 0 !== n2 && (s2[e2.textNodeName] = n2), s2;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(4, runtime_1.WireType.Varint).int64(message.size);
-        if (message.hash)
-          wrappers_2.StringValue.internalBinaryWrite(message.hash, writer.tag(5, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      function J(t2) {
+        const e2 = Object.keys(t2);
+        for (let t3 = 0; t3 < e2.length; t3++) {
+          const i2 = e2[t3];
+          if (":@" !== i2) return i2;
+        }
       }
-    };
-    exports2.FinalizeArtifactRequest = new FinalizeArtifactRequest$Type();
-    var FinalizeArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.FinalizeArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+      function H(t2, e2, i2, n2) {
+        if (e2) {
+          const s2 = Object.keys(e2), r2 = s2.length;
+          for (let o2 = 0; o2 < r2; o2++) {
+            const r3 = s2[o2];
+            n2.isArray(r3, i2 + "." + r3, true, true) ? t2[r3] = [e2[r3]] : t2[r3] = e2[r3];
           }
-        ]);
+        }
       }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      function tt(t2, e2) {
+        const { textNodeName: i2 } = e2, n2 = Object.keys(t2).length;
+        return 0 === n2 || !(1 !== n2 || !t2[i2] && "boolean" != typeof t2[i2] && 0 !== t2[i2]);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      class et {
+        constructor(t2) {
+          this.externalEntities = {}, this.options = (function(t3) {
+            return Object.assign({}, v, t3);
+          })(t2);
+        }
+        parse(t2, e2) {
+          if ("string" != typeof t2 && t2.toString) t2 = t2.toString();
+          else if ("string" != typeof t2) throw new Error("XML data is accepted in String or Bytes[] form.");
+          if (e2) {
+            true === e2 && (e2 = {});
+            const i3 = a(t2, e2);
+            if (true !== i3) throw Error(`${i3.err.msg}:${i3.err.line}:${i3.err.col}`);
           }
+          const i2 = new D(this.options);
+          i2.addExternalEntities(this.externalEntities);
+          const n2 = i2.parseXml(t2);
+          return this.options.preserveOrder || void 0 === n2 ? n2 : Q(n2, this.options);
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
-      }
-    };
-    exports2.FinalizeArtifactResponse = new FinalizeArtifactResponse$Type();
-    var ListArtifactsRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          { no: 3, name: "name_filter", kind: "message", T: () => wrappers_2.StringValue },
-          { no: 4, name: "id_filter", kind: "message", T: () => wrappers_1.Int64Value }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* google.protobuf.StringValue name_filter */
-            3:
-              message.nameFilter = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.nameFilter);
-              break;
-            case /* google.protobuf.Int64Value id_filter */
-            4:
-              message.idFilter = wrappers_1.Int64Value.internalBinaryRead(reader, reader.uint32(), options, message.idFilter);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+        addEntity(t2, e2) {
+          if (-1 !== e2.indexOf("&")) throw new Error("Entity value can't have '&'");
+          if (-1 !== t2.indexOf("&") || -1 !== t2.indexOf(";")) throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");
+          if ("&" === e2) throw new Error("An entity with value '&' is not permitted");
+          this.externalEntities[t2] = e2;
+        }
+        static getMetaDataSymbol() {
+          return y.getMetaDataSymbol();
+        }
+      }
+      function it(t2, e2) {
+        let i2 = "";
+        return e2.format && e2.indentBy.length > 0 && (i2 = "\n"), nt(t2, e2, "", i2);
+      }
+      function nt(t2, e2, i2, n2) {
+        let s2 = "", r2 = false;
+        for (let o2 = 0; o2 < t2.length; o2++) {
+          const a2 = t2[o2], l2 = st(a2);
+          if (void 0 === l2) continue;
+          let u2 = "";
+          if (u2 = 0 === i2.length ? l2 : `${i2}.${l2}`, l2 === e2.textNodeName) {
+            let t3 = a2[l2];
+            ot(u2, e2) || (t3 = e2.tagValueProcessor(l2, t3), t3 = at(t3, e2)), r2 && (s2 += n2), s2 += t3, r2 = false;
+            continue;
+          }
+          if (l2 === e2.cdataPropName) {
+            r2 && (s2 += n2), s2 += ``, r2 = false;
+            continue;
+          }
+          if (l2 === e2.commentPropName) {
+            s2 += n2 + ``, r2 = true;
+            continue;
+          }
+          if ("?" === l2[0]) {
+            const t3 = rt(a2[":@"], e2), i3 = "?xml" === l2 ? "" : n2;
+            let o3 = a2[l2][0][e2.textNodeName];
+            o3 = 0 !== o3.length ? " " + o3 : "", s2 += i3 + `<${l2}${o3}${t3}?>`, r2 = true;
+            continue;
           }
+          let h2 = n2;
+          "" !== h2 && (h2 += e2.indentBy);
+          const d2 = n2 + `<${l2}${rt(a2[":@"], e2)}`, p2 = nt(a2[l2], e2, u2, h2);
+          -1 !== e2.unpairedTags.indexOf(l2) ? e2.suppressUnpairedNode ? s2 += d2 + ">" : s2 += d2 + "/>" : p2 && 0 !== p2.length || !e2.suppressEmptyNode ? p2 && p2.endsWith(">") ? s2 += d2 + `>${p2}${n2}` : (s2 += d2 + ">", p2 && "" !== n2 && (p2.includes("/>") || p2.includes("`) : s2 += d2 + "/>", r2 = true;
         }
-        return message;
+        return s2;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.nameFilter)
-          wrappers_2.StringValue.internalBinaryWrite(message.nameFilter, writer.tag(3, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.idFilter)
-          wrappers_1.Int64Value.internalBinaryWrite(message.idFilter, writer.tag(4, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      function st(t2) {
+        const e2 = Object.keys(t2);
+        for (let i2 = 0; i2 < e2.length; i2++) {
+          const n2 = e2[i2];
+          if (t2.hasOwnProperty(n2) && ":@" !== n2) return n2;
+        }
       }
-    };
-    exports2.ListArtifactsRequest = new ListArtifactsRequest$Type();
-    var ListArtifactsResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse", [
-          { no: 1, name: "artifacts", kind: "message", repeat: 1, T: () => exports2.ListArtifactsResponse_MonolithArtifact }
-        ]);
+      function rt(t2, e2) {
+        let i2 = "";
+        if (t2 && !e2.ignoreAttributes) for (let n2 in t2) {
+          if (!t2.hasOwnProperty(n2)) continue;
+          let s2 = e2.attributeValueProcessor(n2, t2[n2]);
+          s2 = at(s2, e2), true === s2 && e2.suppressBooleanAttributes ? i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}` : i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}="${s2}"`;
+        }
+        return i2;
       }
-      create(value) {
-        const message = { artifacts: [] };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      function ot(t2, e2) {
+        let i2 = (t2 = t2.substr(0, t2.length - e2.textNodeName.length - 1)).substr(t2.lastIndexOf(".") + 1);
+        for (let n2 in e2.stopNodes) if (e2.stopNodes[n2] === t2 || e2.stopNodes[n2] === "*." + i2) return true;
+        return false;
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* repeated github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact artifacts */
-            1:
-              message.artifacts.push(exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryRead(reader, reader.uint32(), options));
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      function at(t2, e2) {
+        if (t2 && t2.length > 0 && e2.processEntities) for (let i2 = 0; i2 < e2.entities.length; i2++) {
+          const n2 = e2.entities[i2];
+          t2 = t2.replace(n2.regex, n2.val);
         }
-        return message;
+        return t2;
       }
-      internalBinaryWrite(message, writer, options) {
-        for (let i = 0; i < message.artifacts.length; i++)
-          exports2.ListArtifactsResponse_MonolithArtifact.internalBinaryWrite(message.artifacts[i], writer.tag(1, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      const lt = { attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, cdataPropName: false, format: false, indentBy: "  ", suppressEmptyNode: false, suppressUnpairedNode: true, suppressBooleanAttributes: true, tagValueProcessor: function(t2, e2) {
+        return e2;
+      }, attributeValueProcessor: function(t2, e2) {
+        return e2;
+      }, preserveOrder: false, commentPropName: false, unpairedTags: [], entities: [{ regex: new RegExp("&", "g"), val: "&" }, { regex: new RegExp(">", "g"), val: ">" }, { regex: new RegExp("<", "g"), val: "<" }, { regex: new RegExp("'", "g"), val: "'" }, { regex: new RegExp('"', "g"), val: """ }], processEntities: true, stopNodes: [], oneListGroup: false };
+      function ut(t2) {
+        this.options = Object.assign({}, lt, t2), true === this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {
+          return false;
+        } : (this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = pt), this.processTextOrObjNode = ht, this.options.format ? (this.indentate = dt, this.tagEndChar = ">\n", this.newLine = "\n") : (this.indentate = function() {
+          return "";
+        }, this.tagEndChar = ">", this.newLine = "");
       }
-    };
-    exports2.ListArtifactsResponse = new ListArtifactsResponse$Type();
-    var ListArtifactsResponse_MonolithArtifact$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.ListArtifactsResponse.MonolithArtifact", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "database_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          {
-            no: 4,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 5,
-            name: "size",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
-          },
-          { no: 6, name: "created_at", kind: "message", T: () => timestamp_1.Timestamp },
-          { no: 7, name: "digest", kind: "message", T: () => wrappers_2.StringValue }
-        ]);
+      function ht(t2, e2, i2, n2) {
+        const s2 = this.j2x(t2, i2 + 1, n2.concat(e2));
+        return void 0 !== t2[this.options.textNodeName] && 1 === Object.keys(t2).length ? this.buildTextValNode(t2[this.options.textNodeName], e2, s2.attrStr, i2) : this.buildObjectNode(s2.val, e2, s2.attrStr, i2);
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", databaseId: "0", name: "", size: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      function dt(t2) {
+        return this.options.indentBy.repeat(t2);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* int64 database_id */
-            3:
-              message.databaseId = reader.int64().toString();
-              break;
-            case /* string name */
-            4:
-              message.name = reader.string();
-              break;
-            case /* int64 size */
-            5:
-              message.size = reader.int64().toString();
-              break;
-            case /* google.protobuf.Timestamp created_at */
-            6:
-              message.createdAt = timestamp_1.Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
-              break;
-            case /* google.protobuf.StringValue digest */
-            7:
-              message.digest = wrappers_2.StringValue.internalBinaryRead(reader, reader.uint32(), options, message.digest);
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+      function pt(t2) {
+        return !(!t2.startsWith(this.options.attributeNamePrefix) || t2 === this.options.textNodeName) && t2.substr(this.attrPrefixLen);
+      }
+      ut.prototype.build = function(t2) {
+        return this.options.preserveOrder ? it(t2, this.options) : (Array.isArray(t2) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (t2 = { [this.options.arrayNodeName]: t2 }), this.j2x(t2, 0, []).val);
+      }, ut.prototype.j2x = function(t2, e2, i2) {
+        let n2 = "", s2 = "";
+        const r2 = i2.join(".");
+        for (let o2 in t2) if (Object.prototype.hasOwnProperty.call(t2, o2)) if (void 0 === t2[o2]) this.isAttribute(o2) && (s2 += "");
+        else if (null === t2[o2]) this.isAttribute(o2) || o2 === this.options.cdataPropName ? s2 += "" : "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
+        else if (t2[o2] instanceof Date) s2 += this.buildTextValNode(t2[o2], o2, "", e2);
+        else if ("object" != typeof t2[o2]) {
+          const i3 = this.isAttribute(o2);
+          if (i3 && !this.ignoreAttributesFn(i3, r2)) n2 += this.buildAttrPairStr(i3, "" + t2[o2]);
+          else if (!i3) if (o2 === this.options.textNodeName) {
+            let e3 = this.options.tagValueProcessor(o2, "" + t2[o2]);
+            s2 += this.replaceEntitiesValue(e3);
+          } else s2 += this.buildTextValNode(t2[o2], o2, "", e2);
+        } else if (Array.isArray(t2[o2])) {
+          const n3 = t2[o2].length;
+          let r3 = "", a2 = "";
+          for (let l2 = 0; l2 < n3; l2++) {
+            const n4 = t2[o2][l2];
+            if (void 0 === n4) ;
+            else if (null === n4) "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
+            else if ("object" == typeof n4) if (this.options.oneListGroup) {
+              const t3 = this.j2x(n4, e2 + 1, i2.concat(o2));
+              r3 += t3.val, this.options.attributesGroupName && n4.hasOwnProperty(this.options.attributesGroupName) && (a2 += t3.attrStr);
+            } else r3 += this.processTextOrObjNode(n4, o2, e2, i2);
+            else if (this.options.oneListGroup) {
+              let t3 = this.options.tagValueProcessor(o2, n4);
+              t3 = this.replaceEntitiesValue(t3), r3 += t3;
+            } else r3 += this.buildTextValNode(n4, o2, "", e2);
           }
+          this.options.oneListGroup && (r3 = this.buildObjectNode(r3, o2, a2, e2)), s2 += r3;
+        } else if (this.options.attributesGroupName && o2 === this.options.attributesGroupName) {
+          const e3 = Object.keys(t2[o2]), i3 = e3.length;
+          for (let s3 = 0; s3 < i3; s3++) n2 += this.buildAttrPairStr(e3[s3], "" + t2[o2][e3[s3]]);
+        } else s2 += this.processTextOrObjNode(t2[o2], o2, e2, i2);
+        return { attrStr: n2, val: s2 };
+      }, ut.prototype.buildAttrPairStr = function(t2, e2) {
+        return e2 = this.options.attributeValueProcessor(t2, "" + e2), e2 = this.replaceEntitiesValue(e2), this.options.suppressBooleanAttributes && "true" === e2 ? " " + t2 : " " + t2 + '="' + e2 + '"';
+      }, ut.prototype.buildObjectNode = function(t2, e2, i2, n2) {
+        if ("" === t2) return "?" === e2[0] ? this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar;
+        {
+          let s2 = "` + this.newLine : this.indentate(n2) + "<" + e2 + i2 + r2 + this.tagEndChar + t2 + this.indentate(n2) + s2 : this.indentate(n2) + "<" + e2 + i2 + r2 + ">" + t2 + s2;
         }
-        return message;
-      }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.databaseId !== "0")
-          writer.tag(3, runtime_1.WireType.Varint).int64(message.databaseId);
-        if (message.name !== "")
-          writer.tag(4, runtime_1.WireType.LengthDelimited).string(message.name);
-        if (message.size !== "0")
-          writer.tag(5, runtime_1.WireType.Varint).int64(message.size);
-        if (message.createdAt)
-          timestamp_1.Timestamp.internalBinaryWrite(message.createdAt, writer.tag(6, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        if (message.digest)
-          wrappers_2.StringValue.internalBinaryWrite(message.digest, writer.tag(7, runtime_1.WireType.LengthDelimited).fork(), options).join();
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      }, ut.prototype.closeTag = function(t2) {
+        let e2 = "";
+        return -1 !== this.options.unpairedTags.indexOf(t2) ? this.options.suppressUnpairedNode || (e2 = "/") : e2 = this.options.suppressEmptyNode ? "/" : `>` + this.newLine;
+        if (false !== this.options.commentPropName && e2 === this.options.commentPropName) return this.indentate(n2) + `` + this.newLine;
+        if ("?" === e2[0]) return this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar;
+        {
+          let s2 = this.options.tagValueProcessor(e2, t2);
+          return s2 = this.replaceEntitiesValue(s2), "" === s2 ? this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + ">" + s2 + " 0 && this.options.processEntities) for (let e2 = 0; e2 < this.options.entities.length; e2++) {
+          const i2 = this.options.entities[e2];
+          t2 = t2.replace(i2.regex, i2.val);
+        }
+        return t2;
+      };
+      const ft = { validate: a };
+      module2.exports = e;
+    })();
+  }
+});
+
+// node_modules/@azure/core-xml/dist/commonjs/xml.common.js
+var require_xml_common = __commonJS({
+  "node_modules/@azure/core-xml/dist/commonjs/xml.common.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
+    exports2.XML_ATTRKEY = "$";
+    exports2.XML_CHARKEY = "_";
+  }
+});
+
+// node_modules/@azure/core-xml/dist/commonjs/xml.js
+var require_xml = __commonJS({
+  "node_modules/@azure/core-xml/dist/commonjs/xml.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.stringifyXML = stringifyXML;
+    exports2.parseXML = parseXML;
+    var fast_xml_parser_1 = require_fxp();
+    var xml_common_js_1 = require_xml_common();
+    function getCommonOptions(options) {
+      var _a;
+      return {
+        attributesGroupName: xml_common_js_1.XML_ATTRKEY,
+        textNodeName: (_a = options.xmlCharKey) !== null && _a !== void 0 ? _a : xml_common_js_1.XML_CHARKEY,
+        ignoreAttributes: false,
+        suppressBooleanAttributes: false
+      };
+    }
+    function getSerializerOptions(options = {}) {
+      var _a, _b;
+      return Object.assign(Object.assign({}, getCommonOptions(options)), { attributeNamePrefix: "@_", format: true, suppressEmptyNode: true, indentBy: "", rootNodeName: (_a = options.rootName) !== null && _a !== void 0 ? _a : "root", cdataPropName: (_b = options.cdataPropName) !== null && _b !== void 0 ? _b : "__cdata" });
+    }
+    function getParserOptions(options = {}) {
+      return Object.assign(Object.assign({}, getCommonOptions(options)), { parseAttributeValue: false, parseTagValue: false, attributeNamePrefix: "", stopNodes: options.stopNodes, processEntities: true, trimValues: false });
+    }
+    function stringifyXML(obj, opts = {}) {
+      const parserOptions = getSerializerOptions(opts);
+      const j2x = new fast_xml_parser_1.XMLBuilder(parserOptions);
+      const node = { [parserOptions.rootNodeName]: obj };
+      const xmlData = j2x.build(node);
+      return `${xmlData}`.replace(/\n/g, "");
+    }
+    async function parseXML(str2, opts = {}) {
+      if (!str2) {
+        throw new Error("Document is empty");
       }
-    };
-    exports2.ListArtifactsResponse_MonolithArtifact = new ListArtifactsResponse_MonolithArtifact$Type();
-    var GetSignedArtifactURLRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+      const validation = fast_xml_parser_1.XMLValidator.validate(str2);
+      if (validation !== true) {
+        throw validation;
       }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      const parser = new fast_xml_parser_1.XMLParser(getParserOptions(opts));
+      const parsedXml = parser.parse(str2);
+      if (parsedXml["?xml"]) {
+        delete parsedXml["?xml"];
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      if (!opts.includeRoot) {
+        for (const key of Object.keys(parsedXml)) {
+          const value = parsedXml[key];
+          return typeof value === "object" ? Object.assign({}, value) : value;
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return parsedXml;
+    }
+  }
+});
+
+// node_modules/@azure/core-xml/dist/commonjs/index.js
+var require_commonjs12 = __commonJS({
+  "node_modules/@azure/core-xml/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.parseXML = exports2.stringifyXML = void 0;
+    var xml_js_1 = require_xml();
+    Object.defineProperty(exports2, "stringifyXML", { enumerable: true, get: function() {
+      return xml_js_1.stringifyXML;
+    } });
+    Object.defineProperty(exports2, "parseXML", { enumerable: true, get: function() {
+      return xml_js_1.parseXML;
+    } });
+    var xml_common_js_1 = require_xml_common();
+    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
+      return xml_common_js_1.XML_ATTRKEY;
+    } });
+    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
+      return xml_common_js_1.XML_CHARKEY;
+    } });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/log.js
+var require_log5 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/log.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs4();
+    exports2.logger = (0, logger_1.createClientLogger)("storage-blob");
+  }
+});
+
+// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
+var require_AbortError3 = __commonJS({
+  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
       }
     };
-    exports2.GetSignedArtifactURLRequest = new GetSignedArtifactURLRequest$Type();
-    var GetSignedArtifactURLResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.GetSignedArtifactURLResponse", [
-          {
-            no: 1,
-            name: "signed_url",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          }
-        ]);
+    exports2.AbortError = AbortError;
+  }
+});
+
+// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js
+var require_commonjs13 = __commonJS({
+  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AbortError = void 0;
+    var AbortError_js_1 = require_AbortError3();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js
+var require_RequestPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BaseRequestPolicy = void 0;
+    var BaseRequestPolicy = class {
+      _nextPolicy;
+      _options;
+      /**
+       * The main method to implement that manipulates a request/response.
+       */
+      constructor(_nextPolicy, _options) {
+        this._nextPolicy = _nextPolicy;
+        this._options = _options;
       }
-      create(value) {
-        const message = { signedUrl: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+      /**
+       * Get whether or not a log with the provided log level should be logged.
+       * @param logLevel - The log level of the log that will be logged.
+       * @returns Whether or not a log with the provided log level should be logged.
+       */
+      shouldLog(logLevel) {
+        return this._options.shouldLog(logLevel);
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string signed_url */
-            1:
-              message.signedUrl = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
-        }
-        return message;
+      /**
+       * Attempt to log the provided message to the provided logger. If no logger was provided or if
+       * the log level does not meat the logger's threshold, then nothing will be logged.
+       * @param logLevel - The log level of this log.
+       * @param message - The message of this log.
+       */
+      log(logLevel, message) {
+        this._options.log(logLevel, message);
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.signedUrl !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.signedUrl);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+    };
+    exports2.BaseRequestPolicy = BaseRequestPolicy;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js
+var require_constants14 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PathStylePorts = exports2.BlobDoesNotUseCustomerSpecifiedEncryption = exports2.BlobUsesCustomerSpecifiedEncryptionMsg = exports2.StorageBlobLoggingAllowedQueryParameters = exports2.StorageBlobLoggingAllowedHeaderNames = exports2.DevelopmentConnectionString = exports2.EncryptionAlgorithmAES25 = exports2.HTTP_VERSION_1_1 = exports2.HTTP_LINE_ENDING = exports2.BATCH_MAX_PAYLOAD_IN_BYTES = exports2.BATCH_MAX_REQUEST = exports2.SIZE_1_MB = exports2.ETagAny = exports2.ETagNone = exports2.HeaderConstants = exports2.HTTPURLConnection = exports2.URLConstants = exports2.StorageOAuthScopes = exports2.REQUEST_TIMEOUT = exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = exports2.BLOCK_BLOB_MAX_BLOCKS = exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = exports2.SERVICE_VERSION = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "12.29.1";
+    exports2.SERVICE_VERSION = "2025-11-05";
+    exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = 256 * 1024 * 1024;
+    exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = 4e3 * 1024 * 1024;
+    exports2.BLOCK_BLOB_MAX_BLOCKS = 5e4;
+    exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = 8 * 1024 * 1024;
+    exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = 4 * 1024 * 1024;
+    exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = 5;
+    exports2.REQUEST_TIMEOUT = 100 * 1e3;
+    exports2.StorageOAuthScopes = "https://storage.azure.com/.default";
+    exports2.URLConstants = {
+      Parameters: {
+        FORCE_BROWSER_NO_CACHE: "_",
+        SIGNATURE: "sig",
+        SNAPSHOT: "snapshot",
+        VERSIONID: "versionid",
+        TIMEOUT: "timeout"
       }
     };
-    exports2.GetSignedArtifactURLResponse = new GetSignedArtifactURLResponse$Type();
-    var DeleteArtifactRequest$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactRequest", [
-          {
-            no: 1,
-            name: "workflow_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 2,
-            name: "workflow_job_run_backend_id",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
-          },
-          {
-            no: 3,
-            name: "name",
-            kind: "scalar",
-            T: 9
-            /*ScalarType.STRING*/
+    exports2.HTTPURLConnection = {
+      HTTP_ACCEPTED: 202,
+      HTTP_CONFLICT: 409,
+      HTTP_NOT_FOUND: 404,
+      HTTP_PRECON_FAILED: 412,
+      HTTP_RANGE_NOT_SATISFIABLE: 416
+    };
+    exports2.HeaderConstants = {
+      AUTHORIZATION: "Authorization",
+      AUTHORIZATION_SCHEME: "Bearer",
+      CONTENT_ENCODING: "Content-Encoding",
+      CONTENT_ID: "Content-ID",
+      CONTENT_LANGUAGE: "Content-Language",
+      CONTENT_LENGTH: "Content-Length",
+      CONTENT_MD5: "Content-Md5",
+      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
+      CONTENT_TYPE: "Content-Type",
+      COOKIE: "Cookie",
+      DATE: "date",
+      IF_MATCH: "if-match",
+      IF_MODIFIED_SINCE: "if-modified-since",
+      IF_NONE_MATCH: "if-none-match",
+      IF_UNMODIFIED_SINCE: "if-unmodified-since",
+      PREFIX_FOR_STORAGE: "x-ms-",
+      RANGE: "Range",
+      USER_AGENT: "User-Agent",
+      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
+      X_MS_COPY_SOURCE: "x-ms-copy-source",
+      X_MS_DATE: "x-ms-date",
+      X_MS_ERROR_CODE: "x-ms-error-code",
+      X_MS_VERSION: "x-ms-version",
+      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    };
+    exports2.ETagNone = "";
+    exports2.ETagAny = "*";
+    exports2.SIZE_1_MB = 1 * 1024 * 1024;
+    exports2.BATCH_MAX_REQUEST = 256;
+    exports2.BATCH_MAX_PAYLOAD_IN_BYTES = 4 * exports2.SIZE_1_MB;
+    exports2.HTTP_LINE_ENDING = "\r\n";
+    exports2.HTTP_VERSION_1_1 = "HTTP/1.1";
+    exports2.EncryptionAlgorithmAES25 = "AES256";
+    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
+    exports2.StorageBlobLoggingAllowedHeaderNames = [
+      "Access-Control-Allow-Origin",
+      "Cache-Control",
+      "Content-Length",
+      "Content-Type",
+      "Date",
+      "Request-Id",
+      "traceparent",
+      "Transfer-Encoding",
+      "User-Agent",
+      "x-ms-client-request-id",
+      "x-ms-date",
+      "x-ms-error-code",
+      "x-ms-request-id",
+      "x-ms-return-client-request-id",
+      "x-ms-version",
+      "Accept-Ranges",
+      "Content-Disposition",
+      "Content-Encoding",
+      "Content-Language",
+      "Content-MD5",
+      "Content-Range",
+      "ETag",
+      "Last-Modified",
+      "Server",
+      "Vary",
+      "x-ms-content-crc64",
+      "x-ms-copy-action",
+      "x-ms-copy-completion-time",
+      "x-ms-copy-id",
+      "x-ms-copy-progress",
+      "x-ms-copy-status",
+      "x-ms-has-immutability-policy",
+      "x-ms-has-legal-hold",
+      "x-ms-lease-state",
+      "x-ms-lease-status",
+      "x-ms-range",
+      "x-ms-request-server-encrypted",
+      "x-ms-server-encrypted",
+      "x-ms-snapshot",
+      "x-ms-source-range",
+      "If-Match",
+      "If-Modified-Since",
+      "If-None-Match",
+      "If-Unmodified-Since",
+      "x-ms-access-tier",
+      "x-ms-access-tier-change-time",
+      "x-ms-access-tier-inferred",
+      "x-ms-account-kind",
+      "x-ms-archive-status",
+      "x-ms-blob-append-offset",
+      "x-ms-blob-cache-control",
+      "x-ms-blob-committed-block-count",
+      "x-ms-blob-condition-appendpos",
+      "x-ms-blob-condition-maxsize",
+      "x-ms-blob-content-disposition",
+      "x-ms-blob-content-encoding",
+      "x-ms-blob-content-language",
+      "x-ms-blob-content-length",
+      "x-ms-blob-content-md5",
+      "x-ms-blob-content-type",
+      "x-ms-blob-public-access",
+      "x-ms-blob-sequence-number",
+      "x-ms-blob-type",
+      "x-ms-copy-destination-snapshot",
+      "x-ms-creation-time",
+      "x-ms-default-encryption-scope",
+      "x-ms-delete-snapshots",
+      "x-ms-delete-type-permanent",
+      "x-ms-deny-encryption-scope-override",
+      "x-ms-encryption-algorithm",
+      "x-ms-if-sequence-number-eq",
+      "x-ms-if-sequence-number-le",
+      "x-ms-if-sequence-number-lt",
+      "x-ms-incremental-copy",
+      "x-ms-lease-action",
+      "x-ms-lease-break-period",
+      "x-ms-lease-duration",
+      "x-ms-lease-id",
+      "x-ms-lease-time",
+      "x-ms-page-write",
+      "x-ms-proposed-lease-id",
+      "x-ms-range-get-content-md5",
+      "x-ms-rehydrate-priority",
+      "x-ms-sequence-number-action",
+      "x-ms-sku-name",
+      "x-ms-source-content-md5",
+      "x-ms-source-if-match",
+      "x-ms-source-if-modified-since",
+      "x-ms-source-if-none-match",
+      "x-ms-source-if-unmodified-since",
+      "x-ms-tag-count",
+      "x-ms-encryption-key-sha256",
+      "x-ms-copy-source-error-code",
+      "x-ms-copy-source-status-code",
+      "x-ms-if-tags",
+      "x-ms-source-if-tags"
+    ];
+    exports2.StorageBlobLoggingAllowedQueryParameters = [
+      "comp",
+      "maxresults",
+      "rscc",
+      "rscd",
+      "rsce",
+      "rscl",
+      "rsct",
+      "se",
+      "si",
+      "sip",
+      "sp",
+      "spr",
+      "sr",
+      "srt",
+      "ss",
+      "st",
+      "sv",
+      "include",
+      "marker",
+      "prefix",
+      "copyid",
+      "restype",
+      "blockid",
+      "blocklisttype",
+      "delimiter",
+      "prevsnapshot",
+      "ske",
+      "skoid",
+      "sks",
+      "skt",
+      "sktid",
+      "skv",
+      "snapshot"
+    ];
+    exports2.BlobUsesCustomerSpecifiedEncryptionMsg = "BlobUsesCustomerSpecifiedEncryption";
+    exports2.BlobDoesNotUseCustomerSpecifiedEncryption = "BlobDoesNotUseCustomerSpecifiedEncryption";
+    exports2.PathStylePorts = [
+      "10000",
+      "10001",
+      "10002",
+      "10003",
+      "10004",
+      "10100",
+      "10101",
+      "10102",
+      "10103",
+      "10104",
+      "11000",
+      "11001",
+      "11002",
+      "11003",
+      "11004",
+      "11100",
+      "11101",
+      "11102",
+      "11103",
+      "11104"
+    ];
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js
+var require_utils_common = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.escapeURLPath = escapeURLPath;
+    exports2.getValueInConnString = getValueInConnString;
+    exports2.extractConnectionStringParts = extractConnectionStringParts;
+    exports2.appendToURLPath = appendToURLPath;
+    exports2.setURLParameter = setURLParameter;
+    exports2.getURLParameter = getURLParameter;
+    exports2.setURLHost = setURLHost;
+    exports2.getURLPath = getURLPath;
+    exports2.getURLScheme = getURLScheme;
+    exports2.getURLPathAndQuery = getURLPathAndQuery;
+    exports2.getURLQueries = getURLQueries;
+    exports2.appendToURLQuery = appendToURLQuery;
+    exports2.truncatedISO8061Date = truncatedISO8061Date;
+    exports2.base64encode = base64encode;
+    exports2.base64decode = base64decode;
+    exports2.generateBlockID = generateBlockID;
+    exports2.delay = delay;
+    exports2.padStart = padStart2;
+    exports2.sanitizeURL = sanitizeURL;
+    exports2.sanitizeHeaders = sanitizeHeaders;
+    exports2.iEqual = iEqual;
+    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
+    exports2.isIpEndpointStyle = isIpEndpointStyle;
+    exports2.toBlobTagsString = toBlobTagsString;
+    exports2.toBlobTags = toBlobTags;
+    exports2.toTags = toTags;
+    exports2.toQuerySerialization = toQuerySerialization;
+    exports2.parseObjectReplicationRecord = parseObjectReplicationRecord;
+    exports2.attachCredential = attachCredential;
+    exports2.httpAuthorizationToString = httpAuthorizationToString;
+    exports2.BlobNameToString = BlobNameToString;
+    exports2.ConvertInternalResponseOfListBlobFlat = ConvertInternalResponseOfListBlobFlat;
+    exports2.ConvertInternalResponseOfListBlobHierarchy = ConvertInternalResponseOfListBlobHierarchy;
+    exports2.ExtractPageRangeInfoItems = ExtractPageRangeInfoItems;
+    exports2.EscapePath = EscapePath;
+    exports2.assertResponse = assertResponse;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants14();
+    function escapeURLPath(url) {
+      const urlParsed = new URL(url);
+      let path3 = urlParsed.pathname;
+      path3 = path3 || "/";
+      path3 = escape(path3);
+      urlParsed.pathname = path3;
+      return urlParsed.toString();
+    }
+    function getProxyUriFromDevConnString(connectionString) {
+      let proxyUri = "";
+      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
+        const matchCredentials = connectionString.split(";");
+        for (const element of matchCredentials) {
+          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
+            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
           }
-        ]);
-      }
-      create(value) {
-        const message = { workflowRunBackendId: "", workflowJobRunBackendId: "", name: "" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
+        }
       }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* string workflow_run_backend_id */
-            1:
-              message.workflowRunBackendId = reader.string();
-              break;
-            case /* string workflow_job_run_backend_id */
-            2:
-              message.workflowJobRunBackendId = reader.string();
-              break;
-            case /* string name */
-            3:
-              message.name = reader.string();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
-          }
+      return proxyUri;
+    }
+    function getValueInConnString(connectionString, argument) {
+      const elements = connectionString.split(";");
+      for (const element of elements) {
+        if (element.trim().startsWith(argument)) {
+          return element.trim().match(argument + "=(.*)")[1];
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.workflowRunBackendId !== "")
-          writer.tag(1, runtime_1.WireType.LengthDelimited).string(message.workflowRunBackendId);
-        if (message.workflowJobRunBackendId !== "")
-          writer.tag(2, runtime_1.WireType.LengthDelimited).string(message.workflowJobRunBackendId);
-        if (message.name !== "")
-          writer.tag(3, runtime_1.WireType.LengthDelimited).string(message.name);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      return "";
+    }
+    function extractConnectionStringParts(connectionString) {
+      let proxyUri = "";
+      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
+        proxyUri = getProxyUriFromDevConnString(connectionString);
+        connectionString = constants_js_1.DevelopmentConnectionString;
       }
-    };
-    exports2.DeleteArtifactRequest = new DeleteArtifactRequest$Type();
-    var DeleteArtifactResponse$Type = class extends runtime_5.MessageType {
-      constructor() {
-        super("github.actions.results.api.v1.DeleteArtifactResponse", [
-          {
-            no: 1,
-            name: "ok",
-            kind: "scalar",
-            T: 8
-            /*ScalarType.BOOL*/
-          },
-          {
-            no: 2,
-            name: "artifact_id",
-            kind: "scalar",
-            T: 3
-            /*ScalarType.INT64*/
+      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
+      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
+      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
+        let defaultEndpointsProtocol = "";
+        let accountName = "";
+        let accountKey = Buffer.from("accountKey", "base64");
+        let endpointSuffix = "";
+        accountName = getValueInConnString(connectionString, "AccountName");
+        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
+        if (!blobEndpoint) {
+          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
+          const protocol = defaultEndpointsProtocol.toLowerCase();
+          if (protocol !== "https" && protocol !== "http") {
+            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
           }
-        ]);
-      }
-      create(value) {
-        const message = { ok: false, artifactId: "0" };
-        globalThis.Object.defineProperty(message, runtime_4.MESSAGE_TYPE, { enumerable: false, value: this });
-        if (value !== void 0)
-          (0, runtime_3.reflectionMergePartial)(this, message, value);
-        return message;
-      }
-      internalBinaryRead(reader, length, options, target) {
-        let message = target !== null && target !== void 0 ? target : this.create(), end = reader.pos + length;
-        while (reader.pos < end) {
-          let [fieldNo, wireType] = reader.tag();
-          switch (fieldNo) {
-            case /* bool ok */
-            1:
-              message.ok = reader.bool();
-              break;
-            case /* int64 artifact_id */
-            2:
-              message.artifactId = reader.int64().toString();
-              break;
-            default:
-              let u = options.readUnknownField;
-              if (u === "throw")
-                throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
-              let d = reader.skip(wireType);
-              if (u !== false)
-                (u === true ? runtime_2.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
+          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
+          if (!endpointSuffix) {
+            throw new Error("Invalid EndpointSuffix in the provided Connection String");
+          }
+          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
+        }
+        if (!accountName) {
+          throw new Error("Invalid AccountName in the provided Connection String");
+        } else if (accountKey.length === 0) {
+          throw new Error("Invalid AccountKey in the provided Connection String");
+        }
+        return {
+          kind: "AccountConnString",
+          url: blobEndpoint,
+          accountName,
+          accountKey,
+          proxyUri
+        };
+      } else {
+        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
+        let accountName = getValueInConnString(connectionString, "AccountName");
+        if (!accountName) {
+          accountName = getAccountNameFromUrl(blobEndpoint);
+        }
+        if (!blobEndpoint) {
+          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
+        } else if (!accountSas) {
+          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
+        }
+        if (accountSas.startsWith("?")) {
+          accountSas = accountSas.substring(1);
+        }
+        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
+      }
+    }
+    function escape(text) {
+      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
+    }
+    function appendToURLPath(url, name) {
+      const urlParsed = new URL(url);
+      let path3 = urlParsed.pathname;
+      path3 = path3 ? path3.endsWith("/") ? `${path3}${name}` : `${path3}/${name}` : name;
+      urlParsed.pathname = path3;
+      return urlParsed.toString();
+    }
+    function setURLParameter(url, name, value) {
+      const urlParsed = new URL(url);
+      const encodedName = encodeURIComponent(name);
+      const encodedValue = value ? encodeURIComponent(value) : void 0;
+      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
+      const searchPieces = [];
+      for (const pair of searchString.slice(1).split("&")) {
+        if (pair) {
+          const [key] = pair.split("=", 2);
+          if (key !== encodedName) {
+            searchPieces.push(pair);
           }
         }
-        return message;
       }
-      internalBinaryWrite(message, writer, options) {
-        if (message.ok !== false)
-          writer.tag(1, runtime_1.WireType.Varint).bool(message.ok);
-        if (message.artifactId !== "0")
-          writer.tag(2, runtime_1.WireType.Varint).int64(message.artifactId);
-        let u = options.writeUnknownFields;
-        if (u !== false)
-          (u == true ? runtime_2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
-        return writer;
+      if (encodedValue) {
+        searchPieces.push(`${encodedName}=${encodedValue}`);
       }
-    };
-    exports2.DeleteArtifactResponse = new DeleteArtifactResponse$Type();
-    exports2.ArtifactService = new runtime_rpc_1.ServiceType("github.actions.results.api.v1.ArtifactService", [
-      { name: "CreateArtifact", options: {}, I: exports2.CreateArtifactRequest, O: exports2.CreateArtifactResponse },
-      { name: "FinalizeArtifact", options: {}, I: exports2.FinalizeArtifactRequest, O: exports2.FinalizeArtifactResponse },
-      { name: "ListArtifacts", options: {}, I: exports2.ListArtifactsRequest, O: exports2.ListArtifactsResponse },
-      { name: "GetSignedArtifactURL", options: {}, I: exports2.GetSignedArtifactURLRequest, O: exports2.GetSignedArtifactURLResponse },
-      { name: "DeleteArtifact", options: {}, I: exports2.DeleteArtifactRequest, O: exports2.DeleteArtifactResponse },
-      { name: "MigrateArtifact", options: {}, I: exports2.MigrateArtifactRequest, O: exports2.MigrateArtifactResponse },
-      { name: "FinalizeMigratedArtifact", options: {}, I: exports2.FinalizeMigratedArtifactRequest, O: exports2.FinalizeMigratedArtifactResponse }
-    ]);
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js
-var require_artifact_twirp_client = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/results/api/v1/artifact.twirp-client.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ArtifactServiceClientProtobuf = exports2.ArtifactServiceClientJSON = void 0;
-    var artifact_1 = require_artifact();
-    var ArtifactServiceClientJSON = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
+      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
+      return urlParsed.toString();
+    }
+    function getURLParameter(url, name) {
+      const urlParsed = new URL(url);
+      return urlParsed.searchParams.get(name) ?? void 0;
+    }
+    function setURLHost(url, host) {
+      const urlParsed = new URL(url);
+      urlParsed.hostname = host;
+      return urlParsed.toString();
+    }
+    function getURLPath(url) {
+      try {
+        const urlParsed = new URL(url);
+        return urlParsed.pathname;
+      } catch (e) {
+        return void 0;
       }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+    }
+    function getURLScheme(url) {
+      try {
+        const urlParsed = new URL(url);
+        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
+      } catch (e) {
+        return void 0;
       }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+    }
+    function getURLPathAndQuery(url) {
+      const urlParsed = new URL(url);
+      const pathString = urlParsed.pathname;
+      if (!pathString) {
+        throw new RangeError("Invalid url without valid path.");
       }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/json", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromJson(data2, { ignoreUnknownFields: true }));
+      let queryString = urlParsed.search || "";
+      queryString = queryString.trim();
+      if (queryString !== "") {
+        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
       }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/json", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      return `${pathString}${queryString}`;
+    }
+    function getURLQueries(url) {
+      let queryString = new URL(url).search;
+      if (!queryString) {
+        return {};
       }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toJson(request2, {
-          useProtoFieldName: true,
-          emitDefaultValues: false
-        });
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/json", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromJson(data2, {
-          ignoreUnknownFields: true
-        }));
+      queryString = queryString.trim();
+      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
+      let querySubStrings = queryString.split("&");
+      querySubStrings = querySubStrings.filter((value) => {
+        const indexOfEqual = value.indexOf("=");
+        const lastIndexOfEqual = value.lastIndexOf("=");
+        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
+      });
+      const queries = {};
+      for (const querySubString of querySubStrings) {
+        const splitResults = querySubString.split("=");
+        const key = splitResults[0];
+        const value = splitResults[1];
+        queries[key] = value;
       }
-    };
-    exports2.ArtifactServiceClientJSON = ArtifactServiceClientJSON;
-    var ArtifactServiceClientProtobuf = class {
-      constructor(rpc) {
-        this.rpc = rpc;
-        this.CreateArtifact.bind(this);
-        this.FinalizeArtifact.bind(this);
-        this.ListArtifacts.bind(this);
-        this.GetSignedArtifactURL.bind(this);
-        this.DeleteArtifact.bind(this);
+      return queries;
+    }
+    function appendToURLQuery(url, queryParts) {
+      const urlParsed = new URL(url);
+      let query = urlParsed.search;
+      if (query) {
+        query += "&" + queryParts;
+      } else {
+        query = queryParts;
       }
-      CreateArtifact(request2) {
-        const data = artifact_1.CreateArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "CreateArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.CreateArtifactResponse.fromBinary(data2));
+      urlParsed.search = query;
+      return urlParsed.toString();
+    }
+    function truncatedISO8061Date(date, withMilliseconds = true) {
+      const dateString = date.toISOString();
+      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
+    }
+    function base64encode(content) {
+      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
+    }
+    function base64decode(encodedString) {
+      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
+    }
+    function generateBlockID(blockIDPrefix, blockIndex) {
+      const maxSourceStringLength = 48;
+      const maxBlockIndexLength = 6;
+      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
+      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
+        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
       }
-      FinalizeArtifact(request2) {
-        const data = artifact_1.FinalizeArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "FinalizeArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.FinalizeArtifactResponse.fromBinary(data2));
+      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
+      return base64encode(res);
+    }
+    async function delay(timeInMs, aborter, abortError) {
+      return new Promise((resolve2, reject) => {
+        let timeout;
+        const abortHandler = () => {
+          if (timeout !== void 0) {
+            clearTimeout(timeout);
+          }
+          reject(abortError);
+        };
+        const resolveHandler = () => {
+          if (aborter !== void 0) {
+            aborter.removeEventListener("abort", abortHandler);
+          }
+          resolve2();
+        };
+        timeout = setTimeout(resolveHandler, timeInMs);
+        if (aborter !== void 0) {
+          aborter.addEventListener("abort", abortHandler);
+        }
+      });
+    }
+    function padStart2(currentString, targetLength, padString = " ") {
+      if (String.prototype.padStart) {
+        return currentString.padStart(targetLength, padString);
       }
-      ListArtifacts(request2) {
-        const data = artifact_1.ListArtifactsRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "ListArtifacts", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.ListArtifactsResponse.fromBinary(data2));
+      padString = padString || " ";
+      if (currentString.length > targetLength) {
+        return currentString;
+      } else {
+        targetLength = targetLength - currentString.length;
+        if (targetLength > padString.length) {
+          padString += padString.repeat(targetLength / padString.length);
+        }
+        return padString.slice(0, targetLength) + currentString;
       }
-      GetSignedArtifactURL(request2) {
-        const data = artifact_1.GetSignedArtifactURLRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "GetSignedArtifactURL", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.GetSignedArtifactURLResponse.fromBinary(data2));
+    }
+    function sanitizeURL(url) {
+      let safeURL = url;
+      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
+        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
       }
-      DeleteArtifact(request2) {
-        const data = artifact_1.DeleteArtifactRequest.toBinary(request2);
-        const promise = this.rpc.request("github.actions.results.api.v1.ArtifactService", "DeleteArtifact", "application/protobuf", data);
-        return promise.then((data2) => artifact_1.DeleteArtifactResponse.fromBinary(data2));
+      return safeURL;
+    }
+    function sanitizeHeaders(originalHeader) {
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
+      for (const [name, value] of originalHeader) {
+        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
+          headers.set(name, "*****");
+        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
+          headers.set(name, sanitizeURL(value));
+        } else {
+          headers.set(name, value);
+        }
       }
-    };
-    exports2.ArtifactServiceClientProtobuf = ArtifactServiceClientProtobuf;
-  }
-});
-
-// node_modules/@actions/artifact/lib/generated/index.js
-var require_generated = __commonJS({
-  "node_modules/@actions/artifact/lib/generated/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      return headers;
+    }
+    function iEqual(str1, str2) {
+      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
+    }
+    function getAccountNameFromUrl(url) {
+      const parsedUrl = new URL(url);
+      let accountName;
+      try {
+        if (parsedUrl.hostname.split(".")[1] === "blob") {
+          accountName = parsedUrl.hostname.split(".")[0];
+        } else if (isIpEndpointStyle(parsedUrl)) {
+          accountName = parsedUrl.pathname.split("/")[1];
+        } else {
+          accountName = "";
+        }
+        return accountName;
+      } catch (error3) {
+        throw new Error("Unable to extract accountName with provided information.");
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
-      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    __exportStar2(require_timestamp(), exports2);
-    __exportStar2(require_wrappers(), exports2);
-    __exportStar2(require_artifact(), exports2);
-    __exportStar2(require_artifact_twirp_client(), exports2);
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/retention.js
-var require_retention = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/retention.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    }
+    function isIpEndpointStyle(parsedUrl) {
+      const host = parsedUrl.host;
+      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
+    }
+    function toBlobTagsString(tags) {
+      if (tags === void 0) {
+        return void 0;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      const tagPairs = [];
+      for (const key in tags) {
+        if (Object.prototype.hasOwnProperty.call(tags, key)) {
+          const value = tags[key];
+          tagPairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
+        }
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getExpiration = void 0;
-    var generated_1 = require_generated();
-    var core14 = __importStar2(require_core());
-    function getExpiration(retentionDays) {
-      if (!retentionDays) {
+      return tagPairs.join("&");
+    }
+    function toBlobTags(tags) {
+      if (tags === void 0) {
         return void 0;
       }
-      const maxRetentionDays = getRetentionDays();
-      if (maxRetentionDays && maxRetentionDays < retentionDays) {
-        core14.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`);
-        retentionDays = maxRetentionDays;
+      const res = {
+        blobTagSet: []
+      };
+      for (const key in tags) {
+        if (Object.prototype.hasOwnProperty.call(tags, key)) {
+          const value = tags[key];
+          res.blobTagSet.push({
+            key,
+            value
+          });
+        }
       }
-      const expirationDate = /* @__PURE__ */ new Date();
-      expirationDate.setDate(expirationDate.getDate() + retentionDays);
-      return generated_1.Timestamp.fromDate(expirationDate);
+      return res;
     }
-    exports2.getExpiration = getExpiration;
-    function getRetentionDays() {
-      const retentionDays = process.env["GITHUB_RETENTION_DAYS"];
-      if (!retentionDays) {
+    function toTags(tags) {
+      if (tags === void 0) {
         return void 0;
       }
-      const days = parseInt(retentionDays);
-      if (isNaN(days)) {
-        return void 0;
+      const res = {};
+      for (const blobTag of tags.blobTagSet) {
+        res[blobTag.key] = blobTag.value;
       }
-      return days;
+      return res;
     }
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js
-var require_path_and_artifact_name_validation = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/path-and-artifact-name-validation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.validateFilePath = exports2.validateArtifactName = void 0;
-    var core_1 = require_core();
-    var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
-      ['"', ' Double quote "'],
-      [":", " Colon :"],
-      ["<", " Less than <"],
-      [">", " Greater than >"],
-      ["|", " Vertical bar |"],
-      ["*", " Asterisk *"],
-      ["?", " Question mark ?"],
-      ["\r", " Carriage return \\r"],
-      ["\n", " Line feed \\n"]
-    ]);
-    var invalidArtifactNameCharacters = new Map([
-      ...invalidArtifactFilePathCharacters,
-      ["\\", " Backslash \\"],
-      ["/", " Forward slash /"]
-    ]);
-    function validateArtifactName(name) {
-      if (!name) {
-        throw new Error(`Provided artifact name input during validation is empty`);
+    function toQuerySerialization(textConfiguration) {
+      if (textConfiguration === void 0) {
+        return void 0;
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
-        if (name.includes(invalidCharacterKey)) {
-          throw new Error(`The artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
-          
-These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
+      switch (textConfiguration.kind) {
+        case "csv":
+          return {
+            format: {
+              type: "delimited",
+              delimitedTextConfiguration: {
+                columnSeparator: textConfiguration.columnSeparator || ",",
+                fieldQuote: textConfiguration.fieldQuote || "",
+                recordSeparator: textConfiguration.recordSeparator,
+                escapeChar: textConfiguration.escapeCharacter || "",
+                headersPresent: textConfiguration.hasHeaders || false
+              }
+            }
+          };
+        case "json":
+          return {
+            format: {
+              type: "json",
+              jsonTextConfiguration: {
+                recordSeparator: textConfiguration.recordSeparator
+              }
+            }
+          };
+        case "arrow":
+          return {
+            format: {
+              type: "arrow",
+              arrowConfiguration: {
+                schema: textConfiguration.schema
+              }
+            }
+          };
+        case "parquet":
+          return {
+            format: {
+              type: "parquet"
+            }
+          };
+        default:
+          throw Error("Invalid BlobQueryTextConfiguration.");
+      }
+    }
+    function parseObjectReplicationRecord(objectReplicationRecord) {
+      if (!objectReplicationRecord) {
+        return void 0;
+      }
+      if ("policy-id" in objectReplicationRecord) {
+        return void 0;
+      }
+      const orProperties = [];
+      for (const key in objectReplicationRecord) {
+        const ids = key.split("_");
+        const policyPrefix = "or-";
+        if (ids[0].startsWith(policyPrefix)) {
+          ids[0] = ids[0].substring(policyPrefix.length);
+        }
+        const rule = {
+          ruleId: ids[1],
+          replicationStatus: objectReplicationRecord[key]
+        };
+        const policyIndex = orProperties.findIndex((policy) => policy.policyId === ids[0]);
+        if (policyIndex > -1) {
+          orProperties[policyIndex].rules.push(rule);
+        } else {
+          orProperties.push({
+            policyId: ids[0],
+            rules: [rule]
+          });
         }
       }
-      (0, core_1.info)(`Artifact name is valid!`);
+      return orProperties;
     }
-    exports2.validateArtifactName = validateArtifactName;
-    function validateFilePath(path3) {
-      if (!path3) {
-        throw new Error(`Provided file path input during validation is empty`);
+    function attachCredential(thing, credential) {
+      thing.credential = credential;
+      return thing;
+    }
+    function httpAuthorizationToString(httpAuthorization) {
+      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
+    }
+    function BlobNameToString(name) {
+      if (name.encoded) {
+        return decodeURIComponent(name.content);
+      } else {
+        return name.content;
       }
-      for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
-        if (path3.includes(invalidCharacterKey)) {
-          throw new Error(`The path for one of the files in artifact is not valid: ${path3}. Contains the following character: ${errorMessageForCharacter}
-          
-Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
-          
-The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
-          `);
+    }
+    function ConvertInternalResponseOfListBlobFlat(internalResponse) {
+      return {
+        ...internalResponse,
+        segment: {
+          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
+            const blobItem = {
+              ...blobItemInteral,
+              name: BlobNameToString(blobItemInteral.name)
+            };
+            return blobItem;
+          })
+        }
+      };
+    }
+    function ConvertInternalResponseOfListBlobHierarchy(internalResponse) {
+      return {
+        ...internalResponse,
+        segment: {
+          blobPrefixes: internalResponse.segment.blobPrefixes?.map((blobPrefixInternal) => {
+            const blobPrefix = {
+              ...blobPrefixInternal,
+              name: BlobNameToString(blobPrefixInternal.name)
+            };
+            return blobPrefix;
+          }),
+          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
+            const blobItem = {
+              ...blobItemInteral,
+              name: BlobNameToString(blobItemInteral.name)
+            };
+            return blobItem;
+          })
+        }
+      };
+    }
+    function* ExtractPageRangeInfoItems(getPageRangesSegment) {
+      let pageRange = [];
+      let clearRange = [];
+      if (getPageRangesSegment.pageRange)
+        pageRange = getPageRangesSegment.pageRange;
+      if (getPageRangesSegment.clearRange)
+        clearRange = getPageRangesSegment.clearRange;
+      let pageRangeIndex = 0;
+      let clearRangeIndex = 0;
+      while (pageRangeIndex < pageRange.length && clearRangeIndex < clearRange.length) {
+        if (pageRange[pageRangeIndex].start < clearRange[clearRangeIndex].start) {
+          yield {
+            start: pageRange[pageRangeIndex].start,
+            end: pageRange[pageRangeIndex].end,
+            isClear: false
+          };
+          ++pageRangeIndex;
+        } else {
+          yield {
+            start: clearRange[clearRangeIndex].start,
+            end: clearRange[clearRangeIndex].end,
+            isClear: true
+          };
+          ++clearRangeIndex;
         }
       }
+      for (; pageRangeIndex < pageRange.length; ++pageRangeIndex) {
+        yield {
+          start: pageRange[pageRangeIndex].start,
+          end: pageRange[pageRangeIndex].end,
+          isClear: false
+        };
+      }
+      for (; clearRangeIndex < clearRange.length; ++clearRangeIndex) {
+        yield {
+          start: clearRange[clearRangeIndex].start,
+          end: clearRange[clearRangeIndex].end,
+          isClear: true
+        };
+      }
     }
-    exports2.validateFilePath = validateFilePath;
-  }
-});
-
-// node_modules/@actions/artifact/package.json
-var require_package2 = __commonJS({
-  "node_modules/@actions/artifact/package.json"(exports2, module2) {
-    module2.exports = {
-      name: "@actions/artifact",
-      version: "5.0.3",
-      preview: true,
-      description: "Actions artifact lib",
-      keywords: [
-        "github",
-        "actions",
-        "artifact"
-      ],
-      homepage: "https://github.com/actions/toolkit/tree/main/packages/artifact",
-      license: "MIT",
-      main: "lib/artifact.js",
-      types: "lib/artifact.d.ts",
-      directories: {
-        lib: "lib",
-        test: "__tests__"
-      },
-      files: [
-        "lib",
-        "!.DS_Store"
-      ],
-      publishConfig: {
-        access: "public"
-      },
-      repository: {
-        type: "git",
-        url: "git+https://github.com/actions/toolkit.git",
-        directory: "packages/artifact"
-      },
-      scripts: {
-        "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
-        test: "cd ../../ && npm run test ./packages/artifact",
-        bootstrap: "cd ../../ && npm run bootstrap",
-        "tsc-run": "tsc",
-        tsc: "npm run bootstrap && npm run tsc-run",
-        "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none"
-      },
-      bugs: {
-        url: "https://github.com/actions/toolkit/issues"
-      },
-      dependencies: {
-        "@actions/core": "^2.0.0",
-        "@actions/github": "^6.0.1",
-        "@actions/http-client": "^3.0.2",
-        "@azure/storage-blob": "^12.29.1",
-        "@octokit/core": "^5.2.1",
-        "@octokit/plugin-request-log": "^1.0.4",
-        "@octokit/plugin-retry": "^3.0.9",
-        "@octokit/request": "^8.4.1",
-        "@octokit/request-error": "^5.1.1",
-        "@protobuf-ts/plugin": "^2.2.3-alpha.1",
-        archiver: "^7.0.1",
-        "jwt-decode": "^3.1.2",
-        "unzip-stream": "^0.3.1"
-      },
-      devDependencies: {
-        "@types/archiver": "^5.3.2",
-        "@types/unzip-stream": "^0.3.4",
-        typedoc: "^0.28.13",
-        "typedoc-plugin-markdown": "^3.17.1",
-        typescript: "^5.2.2"
-      },
-      overrides: {
-        "uri-js": "npm:uri-js-replace@^1.0.1",
-        "node-fetch": "^3.3.2"
+    function EscapePath(blobName) {
+      const split = blobName.split("/");
+      for (let i = 0; i < split.length; i++) {
+        split[i] = encodeURIComponent(split[i]);
       }
-    };
+      return split.join("/");
+    }
+    function assertResponse(response) {
+      if (`_response` in response) {
+        return response;
+      }
+      throw new TypeError(`Unexpected response object ${response}`);
+    }
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/user-agent.js
-var require_user_agent = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/user-agent.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js
+var require_StorageRetryPolicyType = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentString = void 0;
-    var packageJson = require_package2();
-    function getUserAgentString() {
-      return `@actions/artifact-${packageJson.version}`;
-    }
-    exports2.getUserAgentString = getUserAgentString;
+    exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicyType;
+    (function(StorageRetryPolicyType2) {
+      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
+      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
+    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/errors.js
-var require_errors3 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/errors.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js
+var require_StorageRetryPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UsageError = exports2.NetworkError = exports2.GHESNotSupportedError = exports2.ArtifactNotFoundError = exports2.InvalidResponseError = exports2.FilesNotFoundError = void 0;
-    var FilesNotFoundError = class extends Error {
-      constructor(files = []) {
-        let message = "No files were found to upload";
-        if (files.length > 0) {
-          message += `: ${files.join(", ")}`;
+    exports2.StorageRetryPolicy = void 0;
+    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
+    var abort_controller_1 = require_commonjs13();
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    var log_js_1 = require_log5();
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
+    function NewRetryPolicyFactory(retryOptions) {
+      return {
+        create: (nextPolicy, options) => {
+          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
         }
-        super(message);
-        this.files = files;
-        this.name = "FilesNotFoundError";
-      }
-    };
-    exports2.FilesNotFoundError = FilesNotFoundError;
-    var InvalidResponseError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "InvalidResponseError";
-      }
-    };
-    exports2.InvalidResponseError = InvalidResponseError;
-    var ArtifactNotFoundError = class extends Error {
-      constructor(message = "Artifact not found") {
-        super(message);
-        this.name = "ArtifactNotFoundError";
-      }
+      };
+    }
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
     };
-    exports2.ArtifactNotFoundError = ArtifactNotFoundError;
-    var GHESNotSupportedError = class extends Error {
-      constructor(message = "@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.") {
-        super(message);
-        this.name = "GHESNotSupportedError";
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * RetryOptions.
+       */
+      retryOptions;
+      /**
+       * Creates an instance of RetryPolicy.
+       *
+       * @param nextPolicy -
+       * @param options -
+       * @param retryOptions -
+       */
+      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
+        super(nextPolicy, options);
+        this.retryOptions = {
+          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
+          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
+          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
+          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
+          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
+          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
+        };
       }
-    };
-    exports2.GHESNotSupportedError = GHESNotSupportedError;
-    var NetworkError = class extends Error {
-      constructor(code) {
-        const message = `Unable to make request: ${code}
-If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;
-        super(message);
-        this.code = code;
-        this.name = "NetworkError";
+      /**
+       * Sends request.
+       *
+       * @param request -
+       */
+      async sendRequest(request2) {
+        return this.attemptSendRequest(request2, false, 1);
       }
-    };
-    exports2.NetworkError = NetworkError;
-    NetworkError.isNetworkErrorCode = (code) => {
-      if (!code)
-        return false;
-      return [
-        "ECONNRESET",
-        "ENOTFOUND",
-        "ETIMEDOUT",
-        "ECONNREFUSED",
-        "EHOSTUNREACH"
-      ].includes(code);
-    };
-    var UsageError = class extends Error {
-      constructor() {
-        const message = `Artifact storage quota has been hit. Unable to upload any new artifacts. Usage is recalculated every 6-12 hours.
-More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`;
-        super(message);
-        this.name = "UsageError";
+      /**
+       * Decide and perform next retry. Won't mutate request parameter.
+       *
+       * @param request -
+       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
+       *                                   the resource was not found. This may be due to replication delay. So, in this
+       *                                   case, we'll never try the secondary again for this operation.
+       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
+       *                                   the attempt will be performed by this method call.
+       */
+      async attemptSendRequest(request2, secondaryHas404, attempt) {
+        const newRequest = request2.clone();
+        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
+        if (!isPrimaryRetry) {
+          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
+        }
+        if (this.retryOptions.tryTimeoutInMs) {
+          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
+        }
+        let response;
+        try {
+          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+          response = await this._nextPolicy.sendRequest(newRequest);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
+            return response;
+          }
+          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+        } catch (err) {
+          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
+            throw err;
+          }
+        }
+        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
+        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
       }
-    };
-    exports2.UsageError = UsageError;
-    UsageError.isUsageErrorMessage = (msg) => {
-      if (!msg)
+      /**
+       * Decide whether to retry according to last HTTP response and retry counters.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param response -
+       * @param err -
+       */
+      shouldRetry(isPrimaryRetry, attempt, response, err) {
+        if (attempt >= this.retryOptions.maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
+          return false;
+        }
+        const retriableErrors = [
+          "ETIMEDOUT",
+          "ESOCKETTIMEDOUT",
+          "ECONNREFUSED",
+          "ECONNRESET",
+          "ENOENT",
+          "ENOTFOUND",
+          "TIMEOUT",
+          "EPIPE",
+          "REQUEST_SEND_ERROR"
+          // For default xhr based http client provided in ms-rest-js
+        ];
+        if (err) {
+          for (const retriableError of retriableErrors) {
+            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
+          }
+        }
+        if (response || err) {
+          const statusCode = response ? response.status : err ? err.statusCode : 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
+          }
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
+          }
+        }
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
+            }
+          }
+        }
+        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+          return true;
+        }
         return false;
-      return msg.includes("insufficient usage");
-    };
-  }
-});
-
-// node_modules/jwt-decode/build/jwt-decode.cjs.js
-var require_jwt_decode_cjs = __commonJS({
-  "node_modules/jwt-decode/build/jwt-decode.cjs.js"(exports2, module2) {
-    "use strict";
-    function e(e2) {
-      this.message = e2;
-    }
-    e.prototype = new Error(), e.prototype.name = "InvalidCharacterError";
-    var r = "undefined" != typeof window && window.atob && window.atob.bind(window) || function(r2) {
-      var t2 = String(r2).replace(/=+$/, "");
-      if (t2.length % 4 == 1) throw new e("'atob' failed: The string to be decoded is not correctly encoded.");
-      for (var n2, o2, a2 = 0, i = 0, c = ""; o2 = t2.charAt(i++); ~o2 && (n2 = a2 % 4 ? 64 * n2 + o2 : o2, a2++ % 4) ? c += String.fromCharCode(255 & n2 >> (-2 * a2 & 6)) : 0) o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(o2);
-      return c;
-    };
-    function t(e2) {
-      var t2 = e2.replace(/-/g, "+").replace(/_/g, "/");
-      switch (t2.length % 4) {
-        case 0:
-          break;
-        case 2:
-          t2 += "==";
-          break;
-        case 3:
-          t2 += "=";
-          break;
-        default:
-          throw "Illegal base64url string!";
-      }
-      try {
-        return (function(e3) {
-          return decodeURIComponent(r(e3).replace(/(.)/g, (function(e4, r2) {
-            var t3 = r2.charCodeAt(0).toString(16).toUpperCase();
-            return t3.length < 2 && (t3 = "0" + t3), "%" + t3;
-          })));
-        })(t2);
-      } catch (e3) {
-        return r(t2);
       }
-    }
-    function n(e2) {
-      this.message = e2;
-    }
-    function o(e2, r2) {
-      if ("string" != typeof e2) throw new n("Invalid token specified");
-      var o2 = true === (r2 = r2 || {}).header ? 0 : 1;
-      try {
-        return JSON.parse(t(e2.split(".")[o2]));
-      } catch (e3) {
-        throw new n("Invalid token specified: " + e3.message);
+      /**
+       * Delay a calculated time between retries.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param abortSignal -
+       */
+      async delay(isPrimaryRetry, attempt, abortSignal) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (this.retryOptions.retryPolicyType) {
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
+              break;
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = this.retryOptions.retryDelayInMs;
+              break;
+          }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
+        }
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
       }
-    }
-    n.prototype = new Error(), n.prototype.name = "InvalidTokenError";
-    var a = o;
-    a.default = o, a.InvalidTokenError = n, module2.exports = a;
+    };
+    exports2.StorageRetryPolicy = StorageRetryPolicy;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/shared/util.js
-var require_util16 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/util.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js
+var require_StorageRetryPolicyFactory = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy();
+    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
+      return StorageRetryPolicy_js_1.StorageRetryPolicy;
+    } });
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
+    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
+      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
+    } });
+    var StorageRetryPolicyFactory = class {
+      retryOptions;
+      /**
+       * Creates an instance of StorageRetryPolicyFactory.
+       * @param retryOptions -
+       */
+      constructor(retryOptions) {
+        this.retryOptions = retryOptions;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      /**
+       * Creates a StorageRetryPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
     };
+    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js
+var require_CredentialPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
+    "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0;
-    var core14 = __importStar2(require_core());
-    var config_1 = require_config();
-    var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs());
-    var core_1 = require_core();
-    var InvalidJwtError = new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");
-    function getBackendIdsFromToken() {
-      const token = (0, config_1.getRuntimeToken)();
-      const decoded = (0, jwt_decode_1.default)(token);
-      if (!decoded.scp) {
-        throw InvalidJwtError;
-      }
-      const scpParts = decoded.scp.split(" ");
-      if (scpParts.length === 0) {
-        throw InvalidJwtError;
-      }
-      for (const scopes of scpParts) {
-        const scopeParts = scopes.split(":");
-        if ((scopeParts === null || scopeParts === void 0 ? void 0 : scopeParts[0]) !== "Actions.Results") {
-          continue;
-        }
-        if (scopeParts.length !== 3) {
-          throw InvalidJwtError;
-        }
-        const ids = {
-          workflowRunBackendId: scopeParts[1],
-          workflowJobRunBackendId: scopeParts[2]
-        };
-        core14.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`);
-        core14.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`);
-        return ids;
-      }
-      throw InvalidJwtError;
-    }
-    exports2.getBackendIdsFromToken = getBackendIdsFromToken;
-    function maskSigUrl(url) {
-      if (!url)
-        return;
-      try {
-        const parsedUrl = new URL(url);
-        const signature = parsedUrl.searchParams.get("sig");
-        if (signature) {
-          (0, core_1.setSecret)(signature);
-          (0, core_1.setSecret)(encodeURIComponent(signature));
-        }
-      } catch (error3) {
-        (0, core_1.debug)(`Failed to parse URL: ${url} ${error3 instanceof Error ? error3.message : String(error3)}`);
-      }
-    }
-    exports2.maskSigUrl = maskSigUrl;
-    function maskSecretUrls(body) {
-      if (typeof body !== "object" || body === null) {
-        (0, core_1.debug)("body is not an object or is null");
-        return;
-      }
-      if ("signed_upload_url" in body && typeof body.signed_upload_url === "string") {
-        maskSigUrl(body.signed_upload_url);
+    exports2.CredentialPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * Sends out request.
+       *
+       * @param request -
+       */
+      sendRequest(request2) {
+        return this._nextPolicy.sendRequest(this.signRequest(request2));
       }
-      if ("signed_url" in body && typeof body.signed_url === "string") {
-        maskSigUrl(body.signed_url);
+      /**
+       * Child classes must implement this method with request signing. This method
+       * will be executed in {@link sendRequest}.
+       *
+       * @param request -
+       */
+      signRequest(request2) {
+        return request2;
       }
+    };
+    exports2.CredentialPolicy = CredentialPolicy;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js
+var require_SharedKeyComparator = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.compareHeader = compareHeader;
+    var table_lv0 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1820,
+      0,
+      1823,
+      1825,
+      1827,
+      1829,
+      0,
+      0,
+      0,
+      1837,
+      2051,
+      0,
+      0,
+      1843,
+      0,
+      3331,
+      3354,
+      3356,
+      3358,
+      3360,
+      3362,
+      3364,
+      3366,
+      3368,
+      3370,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      0,
+      0,
+      1859,
+      1860,
+      1864,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      1868,
+      0,
+      1872,
+      0
+    ]);
+    var table_lv2 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    var table_lv4 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      32786,
+      0,
+      0,
+      0,
+      0,
+      0,
+      33298,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    function compareHeader(lhs, rhs) {
+      if (isLessThan(lhs, rhs))
+        return -1;
+      return 1;
     }
-    exports2.maskSecretUrls = maskSecretUrls;
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js
-var require_artifact_twirp_client2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/shared/artifact-twirp-client.js"(exports2) {
-    "use strict";
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
-      }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
-        }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
-        }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.internalArtifactTwirpClient = void 0;
-    var http_client_1 = require_lib();
-    var auth_1 = require_auth();
-    var core_1 = require_core();
-    var generated_1 = require_generated();
-    var config_1 = require_config();
-    var user_agent_1 = require_user_agent();
-    var errors_1 = require_errors3();
-    var util_1 = require_util16();
-    var ArtifactHttpClient = class {
-      constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
-        this.maxAttempts = 5;
-        this.baseRetryIntervalMilliseconds = 3e3;
-        this.retryMultiplier = 1.5;
-        const token = (0, config_1.getRuntimeToken)();
-        this.baseUrl = (0, config_1.getResultsServiceUrl)();
-        if (maxAttempts) {
-          this.maxAttempts = maxAttempts;
-        }
-        if (baseRetryIntervalMilliseconds) {
-          this.baseRetryIntervalMilliseconds = baseRetryIntervalMilliseconds;
-        }
-        if (retryMultiplier) {
-          this.retryMultiplier = retryMultiplier;
-        }
-        this.httpClient = new http_client_1.HttpClient(userAgent2, [
-          new auth_1.BearerCredentialHandler(token)
-        ]);
-      }
-      // This function satisfies the Rpc interface. It is compatible with the JSON
-      // JSON generated client.
-      request(service, method, contentType, data) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          const url = new URL(`/twirp/${service}/${method}`, this.baseUrl).href;
-          (0, core_1.debug)(`[Request] ${method} ${url}`);
-          const headers = {
-            "Content-Type": contentType
-          };
-          try {
-            const { body } = yield this.retryableRequest(() => __awaiter2(this, void 0, void 0, function* () {
-              return this.httpClient.post(url, JSON.stringify(data), headers);
-            }));
-            return body;
-          } catch (error3) {
-            throw new Error(`Failed to ${method}: ${error3.message}`);
-          }
-        });
-      }
-      retryableRequest(operation) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          let attempt = 0;
-          let errorMessage = "";
-          let rawBody = "";
-          while (attempt < this.maxAttempts) {
-            let isRetryable = false;
-            try {
-              const response = yield operation();
-              const statusCode = response.message.statusCode;
-              rawBody = yield response.readBody();
-              (0, core_1.debug)(`[Response] - ${response.message.statusCode}`);
-              (0, core_1.debug)(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`);
-              const body = JSON.parse(rawBody);
-              (0, util_1.maskSecretUrls)(body);
-              (0, core_1.debug)(`Body: ${JSON.stringify(body, null, 2)}`);
-              if (this.isSuccessStatusCode(statusCode)) {
-                return { response, body };
-              }
-              isRetryable = this.isRetryableHttpStatusCode(statusCode);
-              errorMessage = `Failed request: (${statusCode}) ${response.message.statusMessage}`;
-              if (body.msg) {
-                if (errors_1.UsageError.isUsageErrorMessage(body.msg)) {
-                  throw new errors_1.UsageError();
-                }
-                errorMessage = `${errorMessage}: ${body.msg}`;
-              }
-            } catch (error3) {
-              if (error3 instanceof SyntaxError) {
-                (0, core_1.debug)(`Raw Body: ${rawBody}`);
-              }
-              if (error3 instanceof errors_1.UsageError) {
-                throw error3;
-              }
-              if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-                throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
-              }
-              isRetryable = true;
-              errorMessage = error3.message;
-            }
-            if (!isRetryable) {
-              throw new Error(`Received non-retryable error: ${errorMessage}`);
-            }
-            if (attempt + 1 === this.maxAttempts) {
-              throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${errorMessage}`);
-            }
-            const retryTimeMilliseconds = this.getExponentialRetryTimeMilliseconds(attempt);
-            (0, core_1.info)(`Attempt ${attempt + 1} of ${this.maxAttempts} failed with error: ${errorMessage}. Retrying request in ${retryTimeMilliseconds} ms...`);
-            yield this.sleep(retryTimeMilliseconds);
-            attempt++;
-          }
-          throw new Error(`Request failed`);
-        });
-      }
-      isSuccessStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        return statusCode >= 200 && statusCode < 300;
-      }
-      isRetryableHttpStatusCode(statusCode) {
-        if (!statusCode)
-          return false;
-        const retryableStatusCodes = [
-          http_client_1.HttpCodes.BadGateway,
-          http_client_1.HttpCodes.GatewayTimeout,
-          http_client_1.HttpCodes.InternalServerError,
-          http_client_1.HttpCodes.ServiceUnavailable,
-          http_client_1.HttpCodes.TooManyRequests
-        ];
-        return retryableStatusCodes.includes(statusCode);
-      }
-      sleep(milliseconds) {
-        return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve2) => setTimeout(resolve2, milliseconds));
-        });
-      }
-      getExponentialRetryTimeMilliseconds(attempt) {
-        if (attempt < 0) {
-          throw new Error("attempt should be a positive integer");
+    function isLessThan(lhs, rhs) {
+      const tables = [table_lv0, table_lv2, table_lv4];
+      let curr_level = 0;
+      let i = 0;
+      let j = 0;
+      while (curr_level < tables.length) {
+        if (curr_level === tables.length - 1 && i !== j) {
+          return i > j;
         }
-        if (attempt === 0) {
-          return this.baseRetryIntervalMilliseconds;
+        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
+        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
+        if (weight1 === 1 && weight2 === 1) {
+          i = 0;
+          j = 0;
+          ++curr_level;
+        } else if (weight1 === weight2) {
+          ++i;
+          ++j;
+        } else if (weight1 === 0) {
+          ++i;
+        } else if (weight2 === 0) {
+          ++j;
+        } else {
+          return weight1 < weight2;
         }
-        const minTime = this.baseRetryIntervalMilliseconds * Math.pow(this.retryMultiplier, attempt);
-        const maxTime = minTime * this.retryMultiplier;
-        return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
       }
-    };
-    function internalArtifactTwirpClient(options) {
-      const client = new ArtifactHttpClient((0, user_agent_1.getUserAgentString)(), options === null || options === void 0 ? void 0 : options.maxAttempts, options === null || options === void 0 ? void 0 : options.retryIntervalMs, options === null || options === void 0 ? void 0 : options.retryMultiplier);
-      return new generated_1.ArtifactServiceClientJSON(client);
+      return false;
     }
-    exports2.internalArtifactTwirpClient = internalArtifactTwirpClient;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js
-var require_upload_zip_specification = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-zip-specification.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
+var require_StorageSharedKeyCredentialPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0;
-    var fs3 = __importStar2(require("fs"));
-    var core_1 = require_core();
-    var path_1 = require("path");
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    function validateRootDirectory(rootDirectory) {
-      if (!fs3.existsSync(rootDirectory)) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`);
-      }
-      if (!fs3.statSync(rootDirectory).isDirectory()) {
-        throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`);
+    exports2.StorageSharedKeyCredentialPolicy = void 0;
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    var CredentialPolicy_js_1 = require_CredentialPolicy();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
+    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+      /**
+       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
+       */
+      factory;
+      /**
+       * Creates an instance of StorageSharedKeyCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       * @param factory -
+       */
+      constructor(nextPolicy, options, factory) {
+        super(nextPolicy, options);
+        this.factory = factory;
       }
-      (0, core_1.info)(`Root directory input is valid!`);
-    }
-    exports2.validateRootDirectory = validateRootDirectory;
-    function getUploadZipSpecification(filesToZip, rootDirectory) {
-      const specification = [];
-      rootDirectory = (0, path_1.normalize)(rootDirectory);
-      rootDirectory = (0, path_1.resolve)(rootDirectory);
-      for (let file of filesToZip) {
-        const stats = fs3.lstatSync(file, { throwIfNoEntry: false });
-        if (!stats) {
-          throw new Error(`File ${file} does not exist`);
-        }
-        if (!stats.isDirectory()) {
-          file = (0, path_1.normalize)(file);
-          file = (0, path_1.resolve)(file);
-          if (!file.startsWith(rootDirectory)) {
-            throw new Error(`The rootDirectory: ${rootDirectory} is not a parent directory of the file: ${file}`);
-          }
-          const uploadPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(uploadPath);
-          specification.push({
-            sourcePath: file,
-            destinationPath: uploadPath,
-            stats
-          });
-        } else {
-          const directoryPath = file.replace(rootDirectory, "");
-          (0, path_and_artifact_name_validation_1.validateFilePath)(directoryPath);
-          specification.push({
-            sourcePath: null,
-            destinationPath: directoryPath,
-            stats
-          });
+      /**
+       * Signs request.
+       *
+       * @param request -
+       */
+      signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
         }
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
+        const signature = this.factory.computeHMACSHA256(stringToSign);
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
+        return request2;
       }
-      return specification;
-    }
-    exports2.getUploadZipSpecification = getUploadZipSpecification;
-  }
-});
-
-// node_modules/tslib/tslib.es6.mjs
-var tslib_es6_exports = {};
-__export(tslib_es6_exports, {
-  __addDisposableResource: () => __addDisposableResource,
-  __assign: () => __assign,
-  __asyncDelegator: () => __asyncDelegator,
-  __asyncGenerator: () => __asyncGenerator,
-  __asyncValues: () => __asyncValues,
-  __await: () => __await,
-  __awaiter: () => __awaiter,
-  __classPrivateFieldGet: () => __classPrivateFieldGet,
-  __classPrivateFieldIn: () => __classPrivateFieldIn,
-  __classPrivateFieldSet: () => __classPrivateFieldSet,
-  __createBinding: () => __createBinding,
-  __decorate: () => __decorate,
-  __disposeResources: () => __disposeResources,
-  __esDecorate: () => __esDecorate,
-  __exportStar: () => __exportStar,
-  __extends: () => __extends,
-  __generator: () => __generator,
-  __importDefault: () => __importDefault,
-  __importStar: () => __importStar,
-  __makeTemplateObject: () => __makeTemplateObject,
-  __metadata: () => __metadata,
-  __param: () => __param,
-  __propKey: () => __propKey,
-  __read: () => __read,
-  __rest: () => __rest,
-  __rewriteRelativeImportExtension: () => __rewriteRelativeImportExtension,
-  __runInitializers: () => __runInitializers,
-  __setFunctionName: () => __setFunctionName,
-  __spread: () => __spread,
-  __spreadArray: () => __spreadArray,
-  __spreadArrays: () => __spreadArrays,
-  __values: () => __values2,
-  default: () => tslib_es6_default
-});
-function __extends(d, b) {
-  if (typeof b !== "function" && b !== null)
-    throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
-  extendStatics(d, b);
-  function __() {
-    this.constructor = d;
-  }
-  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
-}
-function __rest(s, e) {
-  var t = {};
-  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
-    t[p] = s[p];
-  if (s != null && typeof Object.getOwnPropertySymbols === "function")
-    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
-      if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
-        t[p[i]] = s[p[i]];
-    }
-  return t;
-}
-function __decorate(decorators, target, key, desc) {
-  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
-  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
-  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
-  return c > 3 && r && Object.defineProperty(target, key, r), r;
-}
-function __param(paramIndex, decorator) {
-  return function(target, key) {
-    decorator(target, key, paramIndex);
-  };
-}
-function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
-  function accept(f) {
-    if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
-    return f;
-  }
-  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
-  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
-  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
-  var _2, done = false;
-  for (var i = decorators.length - 1; i >= 0; i--) {
-    var context2 = {};
-    for (var p in contextIn) context2[p] = p === "access" ? {} : contextIn[p];
-    for (var p in contextIn.access) context2.access[p] = contextIn.access[p];
-    context2.addInitializer = function(f) {
-      if (done) throw new TypeError("Cannot add initializers after decoration has completed");
-      extraInitializers.push(accept(f || null));
-    };
-    var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context2);
-    if (kind === "accessor") {
-      if (result === void 0) continue;
-      if (result === null || typeof result !== "object") throw new TypeError("Object expected");
-      if (_2 = accept(result.get)) descriptor.get = _2;
-      if (_2 = accept(result.set)) descriptor.set = _2;
-      if (_2 = accept(result.init)) initializers.unshift(_2);
-    } else if (_2 = accept(result)) {
-      if (kind === "field") initializers.unshift(_2);
-      else descriptor[key] = _2;
-    }
-  }
-  if (target) Object.defineProperty(target, contextIn.name, descriptor);
-  done = true;
-}
-function __runInitializers(thisArg, initializers, value) {
-  var useValue = arguments.length > 2;
-  for (var i = 0; i < initializers.length; i++) {
-    value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
-  }
-  return useValue ? value : void 0;
-}
-function __propKey(x) {
-  return typeof x === "symbol" ? x : "".concat(x);
-}
-function __setFunctionName(f, name, prefix) {
-  if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
-  return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
-}
-function __metadata(metadataKey, metadataValue) {
-  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
-}
-function __awaiter(thisArg, _arguments, P, generator) {
-  function adopt(value) {
-    return value instanceof P ? value : new P(function(resolve2) {
-      resolve2(value);
-    });
-  }
-  return new (P || (P = Promise))(function(resolve2, reject) {
-    function fulfilled(value) {
-      try {
-        step(generator.next(value));
-      } catch (e) {
-        reject(e);
-      }
-    }
-    function rejected(value) {
-      try {
-        step(generator["throw"](value));
-      } catch (e) {
-        reject(e);
+      /**
+       * Retrieve header value according to shared key sign rules.
+       * @see https://learn.microsoft.com/rest/api/storageservices/authenticate-with-shared-key
+       *
+       * @param request -
+       * @param headerName -
+       */
+      getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
+        }
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
+        }
+        return value;
       }
-    }
-    function step(result) {
-      result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
-    }
-    step((generator = generator.apply(thisArg, _arguments || [])).next());
-  });
-}
-function __generator(thisArg, body) {
-  var _2 = { label: 0, sent: function() {
-    if (t[0] & 1) throw t[1];
-    return t[1];
-  }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
-  return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
-    return this;
-  }), g;
-  function verb(n) {
-    return function(v) {
-      return step([n, v]);
-    };
-  }
-  function step(op) {
-    if (f) throw new TypeError("Generator is already executing.");
-    while (g && (g = 0, op[0] && (_2 = 0)), _2) try {
-      if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
-      if (y = 0, t) op = [op[0] & 2, t.value];
-      switch (op[0]) {
-        case 0:
-        case 1:
-          t = op;
-          break;
-        case 4:
-          _2.label++;
-          return { value: op[1], done: false };
-        case 5:
-          _2.label++;
-          y = op[1];
-          op = [0];
-          continue;
-        case 7:
-          op = _2.ops.pop();
-          _2.trys.pop();
-          continue;
-        default:
-          if (!(t = _2.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
-            _2 = 0;
-            continue;
-          }
-          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
-            _2.label = op[1];
-            break;
+      /**
+       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
+       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
+       * 2. Convert each HTTP header name to lowercase.
+       * 3. Sort the headers lexicographically by header name, in ascending order.
+       *    Each header may appear only once in the string.
+       * 4. Replace any linear whitespace in the header value with a single space.
+       * 5. Trim any whitespace around the colon in the header.
+       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
+       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
+       *
+       * @param request -
+       */
+      getCanonicalizedHeadersString(request2) {
+        let headersArray = request2.headers.headersArray().filter((value) => {
+          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
+        });
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
           }
-          if (op[0] === 6 && _2.label < t[1]) {
-            _2.label = t[1];
-            t = op;
-            break;
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
+      }
+      /**
+       * Retrieves the webResource canonicalized resource string.
+       *
+       * @param request -
+       */
+      getCanonicalizedResourceString(request2) {
+        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${this.factory.accountName}${path3}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
           }
-          if (t && _2.label < t[2]) {
-            _2.label = t[2];
-            _2.ops.push(op);
-            break;
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
           }
-          if (t[2]) _2.ops.pop();
-          _2.trys.pop();
-          continue;
+        }
+        return canonicalizedResourceString;
       }
-      op = body.call(thisArg, _2);
-    } catch (e) {
-      op = [6, e];
-      y = 0;
-    } finally {
-      f = t = 0;
-    }
-    if (op[0] & 5) throw op[1];
-    return { value: op[0] ? op[1] : void 0, done: true };
-  }
-}
-function __exportStar(m, o) {
-  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
-}
-function __values2(o) {
-  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
-  if (m) return m.call(o);
-  if (o && typeof o.length === "number") return {
-    next: function() {
-      if (o && i >= o.length) o = void 0;
-      return { value: o && o[i++], done: !o };
-    }
-  };
-  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
-}
-function __read(o, n) {
-  var m = typeof Symbol === "function" && o[Symbol.iterator];
-  if (!m) return o;
-  var i = m.call(o), r, ar = [], e;
-  try {
-    while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
-  } catch (error3) {
-    e = { error: error3 };
-  } finally {
-    try {
-      if (r && !r.done && (m = i["return"])) m.call(i);
-    } finally {
-      if (e) throw e.error;
-    }
-  }
-  return ar;
-}
-function __spread() {
-  for (var ar = [], i = 0; i < arguments.length; i++)
-    ar = ar.concat(__read(arguments[i]));
-  return ar;
-}
-function __spreadArrays() {
-  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
-  for (var r = Array(s), k = 0, i = 0; i < il; i++)
-    for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
-      r[k] = a[j];
-  return r;
-}
-function __spreadArray(to, from, pack) {
-  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
-    if (ar || !(i in from)) {
-      if (!ar) ar = Array.prototype.slice.call(from, 0, i);
-      ar[i] = from[i];
-    }
-  }
-  return to.concat(ar || Array.prototype.slice.call(from));
-}
-function __await(v) {
-  return this instanceof __await ? (this.v = v, this) : new __await(v);
-}
-function __asyncGenerator(thisArg, _arguments, generator) {
-  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-  var g = generator.apply(thisArg, _arguments || []), i, q = [];
-  return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
-    return this;
-  }, i;
-  function awaitReturn(f) {
-    return function(v) {
-      return Promise.resolve(v).then(f, reject);
-    };
-  }
-  function verb(n, f) {
-    if (g[n]) {
-      i[n] = function(v) {
-        return new Promise(function(a, b) {
-          q.push([n, v, a, b]) > 1 || resume(n, v);
-        });
-      };
-      if (f) i[n] = f(i[n]);
-    }
-  }
-  function resume(n, v) {
-    try {
-      step(g[n](v));
-    } catch (e) {
-      settle(q[0][3], e);
-    }
-  }
-  function step(r) {
-    r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
-  }
-  function fulfill(value) {
-    resume("next", value);
-  }
-  function reject(value) {
-    resume("throw", value);
-  }
-  function settle(f, v) {
-    if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
-  }
-}
-function __asyncDelegator(o) {
-  var i, p;
-  return i = {}, verb("next"), verb("throw", function(e) {
-    throw e;
-  }), verb("return"), i[Symbol.iterator] = function() {
-    return this;
-  }, i;
-  function verb(n, f) {
-    i[n] = o[n] ? function(v) {
-      return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v;
-    } : f;
-  }
-}
-function __asyncValues(o) {
-  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
-  var m = o[Symbol.asyncIterator], i;
-  return m ? m.call(o) : (o = typeof __values2 === "function" ? __values2(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
-    return this;
-  }, i);
-  function verb(n) {
-    i[n] = o[n] && function(v) {
-      return new Promise(function(resolve2, reject) {
-        v = o[n](v), settle(resolve2, reject, v.done, v.value);
-      });
     };
+    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
   }
-  function settle(resolve2, reject, d, v) {
-    Promise.resolve(v).then(function(v2) {
-      resolve2({ value: v2, done: d });
-    }, reject);
-  }
-}
-function __makeTemplateObject(cooked, raw) {
-  if (Object.defineProperty) {
-    Object.defineProperty(cooked, "raw", { value: raw });
-  } else {
-    cooked.raw = raw;
-  }
-  return cooked;
-}
-function __importStar(mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) {
-    for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
-  }
-  __setModuleDefault(result, mod);
-  return result;
-}
-function __importDefault(mod) {
-  return mod && mod.__esModule ? mod : { default: mod };
-}
-function __classPrivateFieldGet(receiver, state, kind, f) {
-  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-}
-function __classPrivateFieldSet(receiver, state, value, kind, f) {
-  if (kind === "m") throw new TypeError("Private method is not writable");
-  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-  return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
-}
-function __classPrivateFieldIn(state, receiver) {
-  if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object");
-  return typeof state === "function" ? receiver === state : state.has(receiver);
-}
-function __addDisposableResource(env, value, async) {
-  if (value !== null && value !== void 0) {
-    if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
-    var dispose, inner;
-    if (async) {
-      if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
-      dispose = value[Symbol.asyncDispose];
-    }
-    if (dispose === void 0) {
-      if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
-      dispose = value[Symbol.dispose];
-      if (async) inner = dispose;
-    }
-    if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
-    if (inner) dispose = function() {
-      try {
-        inner.call(this);
-      } catch (e) {
-        return Promise.reject(e);
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js
+var require_Credential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Credential = void 0;
+    var Credential = class {
+      /**
+       * Creates a RequestPolicy object.
+       *
+       * @param _nextPolicy -
+       * @param _options -
+       */
+      create(_nextPolicy, _options) {
+        throw new Error("Method should be implemented in children classes.");
       }
     };
-    env.stack.push({ value, dispose, async });
-  } else if (async) {
-    env.stack.push({ async: true });
-  }
-  return value;
-}
-function __disposeResources(env) {
-  function fail(e) {
-    env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
-    env.hasError = true;
+    exports2.Credential = Credential;
   }
-  var r, s = 0;
-  function next() {
-    while (r = env.stack.pop()) {
-      try {
-        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
-        if (r.dispose) {
-          var result = r.dispose.call(r.value);
-          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
-            fail(e);
-            return next();
-          });
-        } else s |= 1;
-      } catch (e) {
-        fail(e);
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js
+var require_StorageSharedKeyCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageSharedKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy();
+    var Credential_js_1 = require_Credential();
+    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
+      /**
+       * Azure Storage account name; readonly.
+       */
+      accountName;
+      /**
+       * Azure Storage account key; readonly.
+       */
+      accountKey;
+      /**
+       * Creates an instance of StorageSharedKeyCredential.
+       * @param accountName -
+       * @param accountKey -
+       */
+      constructor(accountName, accountKey) {
+        super();
+        this.accountName = accountName;
+        this.accountKey = Buffer.from(accountKey, "base64");
       }
-    }
-    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
-    if (env.hasError) throw env.error;
-  }
-  return next();
-}
-function __rewriteRelativeImportExtension(path3, preserveJsx) {
-  if (typeof path3 === "string" && /^\.\.?\//.test(path3)) {
-    return path3.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {
-      return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : d + ext + "." + cm.toLowerCase() + "js";
-    });
-  }
-  return path3;
-}
-var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default;
-var init_tslib_es6 = __esm({
-  "node_modules/tslib/tslib.es6.mjs"() {
-    extendStatics = function(d, b) {
-      extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
-        d2.__proto__ = b2;
-      } || function(d2, b2) {
-        for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
-      };
-      return extendStatics(d, b);
-    };
-    __assign = function() {
-      __assign = Object.assign || function __assign2(t) {
-        for (var s, i = 1, n = arguments.length; i < n; i++) {
-          s = arguments[i];
-          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
-        }
-        return t;
-      };
-      return __assign.apply(this, arguments);
-    };
-    __createBinding = Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      /**
+       * Creates a StorageSharedKeyCredentialPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
+      }
+      /**
+       * Generates a hash signature for an HTTP request or for a SAS.
+       *
+       * @param stringToSign -
+       */
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    });
-    __setModuleDefault = Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    };
-    ownKeys = function(o) {
-      ownKeys = Object.getOwnPropertyNames || function(o2) {
-        var ar = [];
-        for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
-        return ar;
-      };
-      return ownKeys(o);
-    };
-    _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error3, suppressed, message) {
-      var e = new Error(message);
-      return e.name = "SuppressedError", e.error = error3, e.suppressed = suppressed, e;
-    };
-    tslib_es6_default = {
-      __extends,
-      __assign,
-      __rest,
-      __decorate,
-      __param,
-      __esDecorate,
-      __runInitializers,
-      __propKey,
-      __setFunctionName,
-      __metadata,
-      __awaiter,
-      __generator,
-      __createBinding,
-      __exportStar,
-      __values: __values2,
-      __read,
-      __spread,
-      __spreadArrays,
-      __spreadArray,
-      __await,
-      __asyncGenerator,
-      __asyncDelegator,
-      __asyncValues,
-      __makeTemplateObject,
-      __importStar,
-      __importDefault,
-      __classPrivateFieldGet,
-      __classPrivateFieldSet,
-      __classPrivateFieldIn,
-      __addDisposableResource,
-      __disposeResources,
-      __rewriteRelativeImportExtension
     };
+    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
   }
 });
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js
-var require_AbortError = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/abort-controller/AbortError.js"(exports2) {
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js
+var require_AnonymousCredentialPolicy = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+    exports2.AnonymousCredentialPolicy = void 0;
+    var CredentialPolicy_js_1 = require_CredentialPolicy();
+    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+      /**
+       * Creates an instance of AnonymousCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       */
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
       }
     };
-    exports2.AbortError = AbortError;
+    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js
-var require_log = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js
+var require_AnonymousCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.log = log;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_os_1 = require("node:os");
-    var node_util_1 = tslib_1.__importDefault(require("node:util"));
-    var node_process_1 = tslib_1.__importDefault(require("node:process"));
-    function log(message, ...args) {
-      node_process_1.default.stderr.write(`${node_util_1.default.format(message, ...args)}${node_os_1.EOL}`);
-    }
+    exports2.AnonymousCredential = void 0;
+    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy();
+    var Credential_js_1 = require_Credential();
+    var AnonymousCredential = class extends Credential_js_1.Credential {
+      /**
+       * Creates an {@link AnonymousCredentialPolicy} object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
+      }
+    };
+    exports2.AnonymousCredential = AnonymousCredential;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js
-var require_debug2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js
+var require_BuffersStream = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var log_js_1 = require_log();
-    var debugEnvVariable = typeof process !== "undefined" && process.env && process.env.DEBUG || void 0;
-    var enabledString;
-    var enabledNamespaces = [];
-    var skippedNamespaces = [];
-    var debuggers = [];
-    if (debugEnvVariable) {
-      enable(debugEnvVariable);
-    }
-    var debugObj = Object.assign((namespace) => {
-      return createDebugger(namespace);
-    }, {
-      enable,
-      enabled,
-      disable,
-      log: log_js_1.log
-    });
-    function enable(namespaces) {
-      enabledString = namespaces;
-      enabledNamespaces = [];
-      skippedNamespaces = [];
-      const namespaceList = namespaces.split(",").map((ns) => ns.trim());
-      for (const ns of namespaceList) {
-        if (ns.startsWith("-")) {
-          skippedNamespaces.push(ns.substring(1));
-        } else {
-          enabledNamespaces.push(ns);
+    exports2.BuffersStream = void 0;
+    var node_stream_1 = require("node:stream");
+    var BuffersStream = class extends node_stream_1.Readable {
+      buffers;
+      byteLength;
+      /**
+       * The offset of data to be read in the current buffer.
+       */
+      byteOffsetInCurrentBuffer;
+      /**
+       * The index of buffer to be read in the array of buffers.
+       */
+      bufferIndex;
+      /**
+       * The total length of data already read.
+       */
+      pushedBytesLength;
+      /**
+       * Creates an instance of BuffersStream that will emit the data
+       * contained in the array of buffers.
+       *
+       * @param buffers - Array of buffers containing the data
+       * @param byteLength - The total length of data contained in the buffers
+       */
+      constructor(buffers, byteLength, options) {
+        super(options);
+        this.buffers = buffers;
+        this.byteLength = byteLength;
+        this.byteOffsetInCurrentBuffer = 0;
+        this.bufferIndex = 0;
+        this.pushedBytesLength = 0;
+        let buffersLength = 0;
+        for (const buf of this.buffers) {
+          buffersLength += buf.byteLength;
         }
-      }
-      for (const instance of debuggers) {
-        instance.enabled = enabled(instance.namespace);
-      }
-    }
-    function enabled(namespace) {
-      if (namespace.endsWith("*")) {
-        return true;
-      }
-      for (const skipped of skippedNamespaces) {
-        if (namespaceMatches(namespace, skipped)) {
-          return false;
+        if (buffersLength < this.byteLength) {
+          throw new Error("Data size shouldn't be larger than the total length of buffers.");
         }
       }
-      for (const enabledNamespace of enabledNamespaces) {
-        if (namespaceMatches(namespace, enabledNamespace)) {
-          return true;
+      /**
+       * Internal _read() that will be called when the stream wants to pull more data in.
+       *
+       * @param size - Optional. The size of data to be read
+       */
+      _read(size) {
+        if (this.pushedBytesLength >= this.byteLength) {
+          this.push(null);
         }
-      }
-      return false;
-    }
-    function namespaceMatches(namespace, patternToMatch) {
-      if (patternToMatch.indexOf("*") === -1) {
-        return namespace === patternToMatch;
-      }
-      let pattern = patternToMatch;
-      if (patternToMatch.indexOf("**") !== -1) {
-        const patternParts = [];
-        let lastCharacter = "";
-        for (const character of patternToMatch) {
-          if (character === "*" && lastCharacter === "*") {
-            continue;
-          } else {
-            lastCharacter = character;
-            patternParts.push(character);
-          }
+        if (!size) {
+          size = this.readableHighWaterMark;
         }
-        pattern = patternParts.join("");
-      }
-      let namespaceIndex = 0;
-      let patternIndex = 0;
-      const patternLength = pattern.length;
-      const namespaceLength = namespace.length;
-      let lastWildcard = -1;
-      let lastWildcardNamespace = -1;
-      while (namespaceIndex < namespaceLength && patternIndex < patternLength) {
-        if (pattern[patternIndex] === "*") {
-          lastWildcard = patternIndex;
-          patternIndex++;
-          if (patternIndex === patternLength) {
-            return true;
-          }
-          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
-            namespaceIndex++;
-            if (namespaceIndex === namespaceLength) {
-              return false;
-            }
-          }
-          lastWildcardNamespace = namespaceIndex;
-          namespaceIndex++;
-          patternIndex++;
-          continue;
-        } else if (pattern[patternIndex] === namespace[namespaceIndex]) {
-          patternIndex++;
-          namespaceIndex++;
-        } else if (lastWildcard >= 0) {
-          patternIndex = lastWildcard + 1;
-          namespaceIndex = lastWildcardNamespace + 1;
-          if (namespaceIndex === namespaceLength) {
-            return false;
-          }
-          while (namespace[namespaceIndex] !== pattern[patternIndex]) {
-            namespaceIndex++;
-            if (namespaceIndex === namespaceLength) {
-              return false;
+        const outBuffers = [];
+        let i = 0;
+        while (i < size && this.pushedBytesLength < this.byteLength) {
+          const remainingDataInAllBuffers = this.byteLength - this.pushedBytesLength;
+          const remainingCapacityInThisBuffer = this.buffers[this.bufferIndex].byteLength - this.byteOffsetInCurrentBuffer;
+          const remaining = Math.min(remainingCapacityInThisBuffer, remainingDataInAllBuffers);
+          if (remaining > size - i) {
+            const end = this.byteOffsetInCurrentBuffer + size - i;
+            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
+            this.pushedBytesLength += size - i;
+            this.byteOffsetInCurrentBuffer = end;
+            i = size;
+            break;
+          } else {
+            const end = this.byteOffsetInCurrentBuffer + remaining;
+            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
+            if (remaining === remainingCapacityInThisBuffer) {
+              this.byteOffsetInCurrentBuffer = 0;
+              this.bufferIndex++;
+            } else {
+              this.byteOffsetInCurrentBuffer = end;
             }
+            this.pushedBytesLength += remaining;
+            i += remaining;
           }
-          lastWildcardNamespace = namespaceIndex;
-          namespaceIndex++;
-          patternIndex++;
-          continue;
-        } else {
-          return false;
-        }
-      }
-      const namespaceDone = namespaceIndex === namespace.length;
-      const patternDone = patternIndex === pattern.length;
-      const trailingWildCard = patternIndex === pattern.length - 1 && pattern[patternIndex] === "*";
-      return namespaceDone && (patternDone || trailingWildCard);
-    }
-    function disable() {
-      const result = enabledString || "";
-      enable("");
-      return result;
-    }
-    function createDebugger(namespace) {
-      const newDebugger = Object.assign(debug4, {
-        enabled: enabled(namespace),
-        destroy,
-        log: debugObj.log,
-        namespace,
-        extend: extend3
-      });
-      function debug4(...args) {
-        if (!newDebugger.enabled) {
-          return;
         }
-        if (args.length > 0) {
-          args[0] = `${namespace} ${args[0]}`;
+        if (outBuffers.length > 1) {
+          this.push(Buffer.concat(outBuffers));
+        } else if (outBuffers.length === 1) {
+          this.push(outBuffers[0]);
         }
-        newDebugger.log(...args);
-      }
-      debuggers.push(newDebugger);
-      return newDebugger;
-    }
-    function destroy() {
-      const index = debuggers.indexOf(this);
-      if (index >= 0) {
-        debuggers.splice(index, 1);
-        return true;
       }
-      return false;
-    }
-    function extend3(namespace) {
-      const newDebugger = createDebugger(`${this.namespace}:${namespace}`);
-      newDebugger.log = this.log;
-      return newDebugger;
-    }
-    exports2.default = debugObj;
+    };
+    exports2.BuffersStream = BuffersStream;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js
-var require_logger = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js
+var require_PooledBuffer = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TypeSpecRuntimeLogger = void 0;
-    exports2.createLoggerContext = createLoggerContext;
-    exports2.setLogLevel = setLogLevel;
-    exports2.getLogLevel = getLogLevel;
-    exports2.createClientLogger = createClientLogger;
+    exports2.PooledBuffer = void 0;
     var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var debug_js_1 = tslib_1.__importDefault(require_debug2());
-    var TYPESPEC_RUNTIME_LOG_LEVELS = ["verbose", "info", "warning", "error"];
-    var levelMap = {
-      verbose: 400,
-      info: 300,
-      warning: 200,
-      error: 100
-    };
-    function patchLogMethod(parent, child) {
-      child.log = (...args) => {
-        parent.log(...args);
-      };
-    }
-    function isTypeSpecRuntimeLogLevel(level) {
-      return TYPESPEC_RUNTIME_LOG_LEVELS.includes(level);
-    }
-    function createLoggerContext(options) {
-      const registeredLoggers = /* @__PURE__ */ new Set();
-      const logLevelFromEnv = typeof process !== "undefined" && process.env && process.env[options.logLevelEnvVarName] || void 0;
-      let logLevel;
-      const clientLogger = (0, debug_js_1.default)(options.namespace);
-      clientLogger.log = (...args) => {
-        debug_js_1.default.log(...args);
-      };
-      function contextSetLogLevel(level) {
-        if (level && !isTypeSpecRuntimeLogLevel(level)) {
-          throw new Error(`Unknown log level '${level}'. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(",")}`);
-        }
-        logLevel = level;
-        const enabledNamespaces = [];
-        for (const logger of registeredLoggers) {
-          if (shouldEnable(logger)) {
-            enabledNamespaces.push(logger.namespace);
+    var BuffersStream_js_1 = require_BuffersStream();
+    var node_buffer_1 = tslib_1.__importDefault(require("node:buffer"));
+    var maxBufferLength = node_buffer_1.default.constants.MAX_LENGTH;
+    var PooledBuffer = class {
+      /**
+       * Internal buffers used to keep the data.
+       * Each buffer has a length of the maxBufferLength except last one.
+       */
+      buffers = [];
+      /**
+       * The total size of internal buffers.
+       */
+      capacity;
+      /**
+       * The total size of data contained in internal buffers.
+       */
+      _size;
+      /**
+       * The size of the data contained in the pooled buffers.
+       */
+      get size() {
+        return this._size;
+      }
+      constructor(capacity, buffers, totalLength) {
+        this.capacity = capacity;
+        this._size = 0;
+        const bufferNum = Math.ceil(capacity / maxBufferLength);
+        for (let i = 0; i < bufferNum; i++) {
+          let len = i === bufferNum - 1 ? capacity % maxBufferLength : maxBufferLength;
+          if (len === 0) {
+            len = maxBufferLength;
           }
+          this.buffers.push(Buffer.allocUnsafe(len));
         }
-        debug_js_1.default.enable(enabledNamespaces.join(","));
-      }
-      if (logLevelFromEnv) {
-        if (isTypeSpecRuntimeLogLevel(logLevelFromEnv)) {
-          contextSetLogLevel(logLevelFromEnv);
-        } else {
-          console.error(`${options.logLevelEnvVarName} set to unknown log level '${logLevelFromEnv}'; logging is not enabled. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(", ")}.`);
+        if (buffers) {
+          this.fill(buffers, totalLength);
         }
       }
-      function shouldEnable(logger) {
-        return Boolean(logLevel && levelMap[logger.level] <= levelMap[logLevel]);
-      }
-      function createLogger2(parent, level) {
-        const logger = Object.assign(parent.extend(level), {
-          level
-        });
-        patchLogMethod(parent, logger);
-        if (shouldEnable(logger)) {
-          const enabledNamespaces = debug_js_1.default.disable();
-          debug_js_1.default.enable(enabledNamespaces + "," + logger.namespace);
+      /**
+       * Fill the internal buffers with data in the input buffers serially
+       * with respect to the total length and the total capacity of the internal buffers.
+       * Data copied will be shift out of the input buffers.
+       *
+       * @param buffers - Input buffers containing the data to be filled in the pooled buffer
+       * @param totalLength - Total length of the data to be filled in.
+       *
+       */
+      fill(buffers, totalLength) {
+        this._size = Math.min(this.capacity, totalLength);
+        let i = 0, j = 0, targetOffset = 0, sourceOffset = 0, totalCopiedNum = 0;
+        while (totalCopiedNum < this._size) {
+          const source = buffers[i];
+          const target = this.buffers[j];
+          const copiedNum = source.copy(target, targetOffset, sourceOffset);
+          totalCopiedNum += copiedNum;
+          sourceOffset += copiedNum;
+          targetOffset += copiedNum;
+          if (sourceOffset === source.length) {
+            i++;
+            sourceOffset = 0;
+          }
+          if (targetOffset === target.length) {
+            j++;
+            targetOffset = 0;
+          }
+        }
+        buffers.splice(0, i);
+        if (buffers.length > 0) {
+          buffers[0] = buffers[0].slice(sourceOffset);
         }
-        registeredLoggers.add(logger);
-        return logger;
-      }
-      function contextGetLogLevel() {
-        return logLevel;
       }
-      function contextCreateClientLogger(namespace) {
-        const clientRootLogger = clientLogger.extend(namespace);
-        patchLogMethod(clientLogger, clientRootLogger);
-        return {
-          error: createLogger2(clientRootLogger, "error"),
-          warning: createLogger2(clientRootLogger, "warning"),
-          info: createLogger2(clientRootLogger, "info"),
-          verbose: createLogger2(clientRootLogger, "verbose")
-        };
+      /**
+       * Get the readable stream assembled from all the data in the internal buffers.
+       *
+       */
+      getReadableStream() {
+        return new BuffersStream_js_1.BuffersStream(this.buffers, this.size);
       }
-      return {
-        setLogLevel: contextSetLogLevel,
-        getLogLevel: contextGetLogLevel,
-        createClientLogger: contextCreateClientLogger,
-        logger: clientLogger
-      };
-    }
-    var context2 = createLoggerContext({
-      logLevelEnvVarName: "TYPESPEC_RUNTIME_LOG_LEVEL",
-      namespace: "typeSpecRuntime"
-    });
-    exports2.TypeSpecRuntimeLogger = context2.logger;
-    function setLogLevel(logLevel) {
-      context2.setLogLevel(logLevel);
-    }
-    function getLogLevel() {
-      return context2.getLogLevel();
-    }
-    function createClientLogger(namespace) {
-      return context2.createClientLogger(namespace);
-    }
+    };
+    exports2.PooledBuffer = PooledBuffer;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js
-var require_httpHeaders = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js
+var require_BufferScheduler = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpHeaders = createHttpHeaders;
-    function normalizeName(name) {
-      return name.toLowerCase();
-    }
-    function* headerIterator(map2) {
-      for (const entry of map2.values()) {
-        yield [entry.name, entry.value];
-      }
-    }
-    var HttpHeadersImpl = class {
-      _headersMap;
-      constructor(rawHeaders) {
-        this._headersMap = /* @__PURE__ */ new Map();
-        if (rawHeaders) {
-          for (const headerName of Object.keys(rawHeaders)) {
-            this.set(headerName, rawHeaders[headerName]);
-          }
+    exports2.BufferScheduler = void 0;
+    var events_1 = require("events");
+    var PooledBuffer_js_1 = require_PooledBuffer();
+    var BufferScheduler = class {
+      /**
+       * Size of buffers in incoming and outgoing queues. This class will try to align
+       * data read from Readable stream into buffer chunks with bufferSize defined.
+       */
+      bufferSize;
+      /**
+       * How many buffers can be created or maintained.
+       */
+      maxBuffers;
+      /**
+       * A Node.js Readable stream.
+       */
+      readable;
+      /**
+       * OutgoingHandler is an async function triggered by BufferScheduler when there
+       * are available buffers in outgoing array.
+       */
+      outgoingHandler;
+      /**
+       * An internal event emitter.
+       */
+      emitter = new events_1.EventEmitter();
+      /**
+       * Concurrency of executing outgoingHandlers. (0 lesser than concurrency lesser than or equal to maxBuffers)
+       */
+      concurrency;
+      /**
+       * An internal offset marker to track data offset in bytes of next outgoingHandler.
+       */
+      offset = 0;
+      /**
+       * An internal marker to track whether stream is end.
+       */
+      isStreamEnd = false;
+      /**
+       * An internal marker to track whether stream or outgoingHandler returns error.
+       */
+      isError = false;
+      /**
+       * How many handlers are executing.
+       */
+      executingOutgoingHandlers = 0;
+      /**
+       * Encoding of the input Readable stream which has string data type instead of Buffer.
+       */
+      encoding;
+      /**
+       * How many buffers have been allocated.
+       */
+      numBuffers = 0;
+      /**
+       * Because this class doesn't know how much data every time stream pops, which
+       * is defined by highWaterMarker of the stream. So BufferScheduler will cache
+       * data received from the stream, when data in unresolvedDataArray exceeds the
+       * blockSize defined, it will try to concat a blockSize of buffer, fill into available
+       * buffers from incoming and push to outgoing array.
+       */
+      unresolvedDataArray = [];
+      /**
+       * How much data consisted in unresolvedDataArray.
+       */
+      unresolvedLength = 0;
+      /**
+       * The array includes all the available buffers can be used to fill data from stream.
+       */
+      incoming = [];
+      /**
+       * The array (queue) includes all the buffers filled from stream data.
+       */
+      outgoing = [];
+      /**
+       * Creates an instance of BufferScheduler.
+       *
+       * @param readable - A Node.js Readable stream
+       * @param bufferSize - Buffer size of every maintained buffer
+       * @param maxBuffers - How many buffers can be allocated
+       * @param outgoingHandler - An async function scheduled to be
+       *                                          triggered when a buffer fully filled
+       *                                          with stream data
+       * @param concurrency - Concurrency of executing outgoingHandlers (>0)
+       * @param encoding - [Optional] Encoding of Readable stream when it's a string stream
+       */
+      constructor(readable, bufferSize, maxBuffers, outgoingHandler, concurrency, encoding) {
+        if (bufferSize <= 0) {
+          throw new RangeError(`bufferSize must be larger than 0, current is ${bufferSize}`);
+        }
+        if (maxBuffers <= 0) {
+          throw new RangeError(`maxBuffers must be larger than 0, current is ${maxBuffers}`);
+        }
+        if (concurrency <= 0) {
+          throw new RangeError(`concurrency must be larger than 0, current is ${concurrency}`);
         }
+        this.bufferSize = bufferSize;
+        this.maxBuffers = maxBuffers;
+        this.readable = readable;
+        this.outgoingHandler = outgoingHandler;
+        this.concurrency = concurrency;
+        this.encoding = encoding;
       }
       /**
-       * Set a header in this collection with the provided name and value. The name is
-       * case-insensitive.
-       * @param name - The name of the header to set. This value is case-insensitive.
-       * @param value - The value of the header to set.
+       * Start the scheduler, will return error when stream of any of the outgoingHandlers
+       * returns error.
+       *
        */
-      set(name, value) {
-        this._headersMap.set(normalizeName(name), { name, value: String(value).trim() });
+      async do() {
+        return new Promise((resolve2, reject) => {
+          this.readable.on("data", (data) => {
+            data = typeof data === "string" ? Buffer.from(data, this.encoding) : data;
+            this.appendUnresolvedData(data);
+            if (!this.resolveData()) {
+              this.readable.pause();
+            }
+          });
+          this.readable.on("error", (err) => {
+            this.emitter.emit("error", err);
+          });
+          this.readable.on("end", () => {
+            this.isStreamEnd = true;
+            this.emitter.emit("checkEnd");
+          });
+          this.emitter.on("error", (err) => {
+            this.isError = true;
+            this.readable.pause();
+            reject(err);
+          });
+          this.emitter.on("checkEnd", () => {
+            if (this.outgoing.length > 0) {
+              this.triggerOutgoingHandlers();
+              return;
+            }
+            if (this.isStreamEnd && this.executingOutgoingHandlers === 0) {
+              if (this.unresolvedLength > 0 && this.unresolvedLength < this.bufferSize) {
+                const buffer = this.shiftBufferFromUnresolvedDataArray();
+                this.outgoingHandler(() => buffer.getReadableStream(), buffer.size, this.offset).then(resolve2).catch(reject);
+              } else if (this.unresolvedLength >= this.bufferSize) {
+                return;
+              } else {
+                resolve2();
+              }
+            }
+          });
+        });
       }
       /**
-       * Get the header value for the provided header name, or undefined if no header exists in this
-       * collection with the provided name.
-       * @param name - The name of the header. This value is case-insensitive.
+       * Insert a new data into unresolved array.
+       *
+       * @param data -
        */
-      get(name) {
-        return this._headersMap.get(normalizeName(name))?.value;
+      appendUnresolvedData(data) {
+        this.unresolvedDataArray.push(data);
+        this.unresolvedLength += data.length;
       }
       /**
-       * Get whether or not this header collection contains a header entry for the provided header name.
-       * @param name - The name of the header to set. This value is case-insensitive.
+       * Try to shift a buffer with size in blockSize. The buffer returned may be less
+       * than blockSize when data in unresolvedDataArray is less than bufferSize.
+       *
        */
-      has(name) {
-        return this._headersMap.has(normalizeName(name));
+      shiftBufferFromUnresolvedDataArray(buffer) {
+        if (!buffer) {
+          buffer = new PooledBuffer_js_1.PooledBuffer(this.bufferSize, this.unresolvedDataArray, this.unresolvedLength);
+        } else {
+          buffer.fill(this.unresolvedDataArray, this.unresolvedLength);
+        }
+        this.unresolvedLength -= buffer.size;
+        return buffer;
       }
       /**
-       * Remove the header with the provided headerName.
-       * @param name - The name of the header to remove.
+       * Resolve data in unresolvedDataArray. For every buffer with size in blockSize
+       * shifted, it will try to get (or allocate a buffer) from incoming, and fill it,
+       * then push it into outgoing to be handled by outgoing handler.
+       *
+       * Return false when available buffers in incoming are not enough, else true.
+       *
+       * @returns Return false when buffers in incoming are not enough, else true.
        */
-      delete(name) {
-        this._headersMap.delete(normalizeName(name));
+      resolveData() {
+        while (this.unresolvedLength >= this.bufferSize) {
+          let buffer;
+          if (this.incoming.length > 0) {
+            buffer = this.incoming.shift();
+            this.shiftBufferFromUnresolvedDataArray(buffer);
+          } else {
+            if (this.numBuffers < this.maxBuffers) {
+              buffer = this.shiftBufferFromUnresolvedDataArray();
+              this.numBuffers++;
+            } else {
+              return false;
+            }
+          }
+          this.outgoing.push(buffer);
+          this.triggerOutgoingHandlers();
+        }
+        return true;
       }
       /**
-       * Get the JSON object representation of this HTTP header collection.
+       * Try to trigger a outgoing handler for every buffer in outgoing. Stop when
+       * concurrency reaches.
        */
-      toJSON(options = {}) {
-        const result = {};
-        if (options.preserveCase) {
-          for (const entry of this._headersMap.values()) {
-            result[entry.name] = entry.value;
+      async triggerOutgoingHandlers() {
+        let buffer;
+        do {
+          if (this.executingOutgoingHandlers >= this.concurrency) {
+            return;
           }
-        } else {
-          for (const [normalizedName, entry] of this._headersMap) {
-            result[normalizedName] = entry.value;
+          buffer = this.outgoing.shift();
+          if (buffer) {
+            this.triggerOutgoingHandler(buffer);
           }
-        }
-        return result;
+        } while (buffer);
       }
       /**
-       * Get the string representation of this HTTP header collection.
+       * Trigger a outgoing handler for a buffer shifted from outgoing.
+       *
+       * @param buffer -
        */
-      toString() {
-        return JSON.stringify(this.toJSON({ preserveCase: true }));
+      async triggerOutgoingHandler(buffer) {
+        const bufferLength = buffer.size;
+        this.executingOutgoingHandlers++;
+        this.offset += bufferLength;
+        try {
+          await this.outgoingHandler(() => buffer.getReadableStream(), bufferLength, this.offset - bufferLength);
+        } catch (err) {
+          this.emitter.emit("error", err);
+          return;
+        }
+        this.executingOutgoingHandlers--;
+        this.reuseBuffer(buffer);
+        this.emitter.emit("checkEnd");
       }
       /**
-       * Iterate over tuples of header [name, value] pairs.
+       * Return buffer used by outgoing handler into incoming.
+       *
+       * @param buffer -
        */
-      [Symbol.iterator]() {
-        return headerIterator(this._headersMap);
+      reuseBuffer(buffer) {
+        this.incoming.push(buffer);
+        if (!this.isError && this.resolveData() && !this.isStreamEnd) {
+          this.readable.resume();
+        }
       }
     };
-    function createHttpHeaders(rawHeaders) {
-      return new HttpHeadersImpl(rawHeaders);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js
-var require_schemes = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/schemes.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js
-var require_oauth2Flows = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/oauth2Flows.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js
-var require_uuidUtils = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.randomUUID = randomUUID;
-    function randomUUID() {
-      return crypto.randomUUID();
-    }
+    exports2.BufferScheduler = BufferScheduler;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js
-var require_pipelineRequest = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/cache.js
+var require_cache3 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/cache.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineRequest = createPipelineRequest;
-    var httpHeaders_js_1 = require_httpHeaders();
-    var uuidUtils_js_1 = require_uuidUtils();
-    var PipelineRequestImpl = class {
-      url;
-      method;
-      headers;
-      timeout;
-      withCredentials;
-      body;
-      multipartBody;
-      formData;
-      streamResponseStatusCodes;
-      enableBrowserStreams;
-      proxySettings;
-      disableKeepAlive;
-      abortSignal;
-      requestId;
-      allowInsecureConnection;
-      onUploadProgress;
-      onDownloadProgress;
-      requestOverrides;
-      authSchemes;
-      constructor(options) {
-        this.url = options.url;
-        this.body = options.body;
-        this.headers = options.headers ?? (0, httpHeaders_js_1.createHttpHeaders)();
-        this.method = options.method ?? "GET";
-        this.timeout = options.timeout ?? 0;
-        this.multipartBody = options.multipartBody;
-        this.formData = options.formData;
-        this.disableKeepAlive = options.disableKeepAlive ?? false;
-        this.proxySettings = options.proxySettings;
-        this.streamResponseStatusCodes = options.streamResponseStatusCodes;
-        this.withCredentials = options.withCredentials ?? false;
-        this.abortSignal = options.abortSignal;
-        this.onUploadProgress = options.onUploadProgress;
-        this.onDownloadProgress = options.onDownloadProgress;
-        this.requestId = options.requestId || (0, uuidUtils_js_1.randomUUID)();
-        this.allowInsecureConnection = options.allowInsecureConnection ?? false;
-        this.enableBrowserStreams = options.enableBrowserStreams ?? false;
-        this.requestOverrides = options.requestOverrides;
-        this.authSchemes = options.authSchemes;
+    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var _defaultHttpClient;
+    function getCachedDefaultHttpClient() {
+      if (!_defaultHttpClient) {
+        _defaultHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
       }
-    };
-    function createPipelineRequest(options) {
-      return new PipelineRequestImpl(options);
+      return _defaultHttpClient;
     }
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js
-var require_pipeline = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/pipeline.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js
+var require_RequestPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createEmptyPipeline = createEmptyPipeline;
-    var ValidPhaseNames = /* @__PURE__ */ new Set(["Deserialize", "Serialize", "Retry", "Sign"]);
-    var HttpPipeline = class _HttpPipeline {
-      _policies = [];
-      _orderedPolicies;
-      constructor(policies) {
-        this._policies = policies?.slice(0) ?? [];
-        this._orderedPolicies = void 0;
-      }
-      addPolicy(policy, options = {}) {
-        if (options.phase && options.afterPhase) {
-          throw new Error("Policies inside a phase cannot specify afterPhase.");
-        }
-        if (options.phase && !ValidPhaseNames.has(options.phase)) {
-          throw new Error(`Invalid phase name: ${options.phase}`);
-        }
-        if (options.afterPhase && !ValidPhaseNames.has(options.afterPhase)) {
-          throw new Error(`Invalid afterPhase name: ${options.afterPhase}`);
-        }
-        this._policies.push({
-          policy,
-          options
-        });
-        this._orderedPolicies = void 0;
-      }
-      removePolicy(options) {
-        const removedPolicies = [];
-        this._policies = this._policies.filter((policyDescriptor) => {
-          if (options.name && policyDescriptor.policy.name === options.name || options.phase && policyDescriptor.options.phase === options.phase) {
-            removedPolicies.push(policyDescriptor.policy);
-            return false;
-          } else {
-            return true;
-          }
-        });
-        this._orderedPolicies = void 0;
-        return removedPolicies;
-      }
-      sendRequest(httpClient, request2) {
-        const policies = this.getOrderedPolicies();
-        const pipeline = policies.reduceRight((next, policy) => {
-          return (req) => {
-            return policy.sendRequest(req, next);
-          };
-        }, (req) => httpClient.sendRequest(req));
-        return pipeline(request2);
-      }
-      getOrderedPolicies() {
-        if (!this._orderedPolicies) {
-          this._orderedPolicies = this.orderPolicies();
-        }
-        return this._orderedPolicies;
-      }
-      clone() {
-        return new _HttpPipeline(this._policies);
+    exports2.BaseRequestPolicy = void 0;
+    var BaseRequestPolicy = class {
+      _nextPolicy;
+      _options;
+      /**
+       * The main method to implement that manipulates a request/response.
+       */
+      constructor(_nextPolicy, _options) {
+        this._nextPolicy = _nextPolicy;
+        this._options = _options;
       }
-      static create() {
-        return new _HttpPipeline();
+      /**
+       * Get whether or not a log with the provided log level should be logged.
+       * @param logLevel - The log level of the log that will be logged.
+       * @returns Whether or not a log with the provided log level should be logged.
+       */
+      shouldLog(logLevel) {
+        return this._options.shouldLog(logLevel);
       }
-      orderPolicies() {
-        const result = [];
-        const policyMap = /* @__PURE__ */ new Map();
-        function createPhase(name) {
-          return {
-            name,
-            policies: /* @__PURE__ */ new Set(),
-            hasRun: false,
-            hasAfterPolicies: false
-          };
-        }
-        const serializePhase = createPhase("Serialize");
-        const noPhase = createPhase("None");
-        const deserializePhase = createPhase("Deserialize");
-        const retryPhase = createPhase("Retry");
-        const signPhase = createPhase("Sign");
-        const orderedPhases = [serializePhase, noPhase, deserializePhase, retryPhase, signPhase];
-        function getPhase(phase) {
-          if (phase === "Retry") {
-            return retryPhase;
-          } else if (phase === "Serialize") {
-            return serializePhase;
-          } else if (phase === "Deserialize") {
-            return deserializePhase;
-          } else if (phase === "Sign") {
-            return signPhase;
-          } else {
-            return noPhase;
-          }
-        }
-        for (const descriptor of this._policies) {
-          const policy = descriptor.policy;
-          const options = descriptor.options;
-          const policyName = policy.name;
-          if (policyMap.has(policyName)) {
-            throw new Error("Duplicate policy names not allowed in pipeline");
-          }
-          const node = {
-            policy,
-            dependsOn: /* @__PURE__ */ new Set(),
-            dependants: /* @__PURE__ */ new Set()
-          };
-          if (options.afterPhase) {
-            node.afterPhase = getPhase(options.afterPhase);
-            node.afterPhase.hasAfterPolicies = true;
-          }
-          policyMap.set(policyName, node);
-          const phase = getPhase(options.phase);
-          phase.policies.add(node);
-        }
-        for (const descriptor of this._policies) {
-          const { policy, options } = descriptor;
-          const policyName = policy.name;
-          const node = policyMap.get(policyName);
-          if (!node) {
-            throw new Error(`Missing node for policy ${policyName}`);
-          }
-          if (options.afterPolicies) {
-            for (const afterPolicyName of options.afterPolicies) {
-              const afterNode = policyMap.get(afterPolicyName);
-              if (afterNode) {
-                node.dependsOn.add(afterNode);
-                afterNode.dependants.add(node);
-              }
-            }
-          }
-          if (options.beforePolicies) {
-            for (const beforePolicyName of options.beforePolicies) {
-              const beforeNode = policyMap.get(beforePolicyName);
-              if (beforeNode) {
-                beforeNode.dependsOn.add(node);
-                node.dependants.add(beforeNode);
-              }
-            }
-          }
-        }
-        function walkPhase(phase) {
-          phase.hasRun = true;
-          for (const node of phase.policies) {
-            if (node.afterPhase && (!node.afterPhase.hasRun || node.afterPhase.policies.size)) {
-              continue;
-            }
-            if (node.dependsOn.size === 0) {
-              result.push(node.policy);
-              for (const dependant of node.dependants) {
-                dependant.dependsOn.delete(node);
-              }
-              policyMap.delete(node.policy.name);
-              phase.policies.delete(node);
-            }
-          }
-        }
-        function walkPhases() {
-          for (const phase of orderedPhases) {
-            walkPhase(phase);
-            if (phase.policies.size > 0 && phase !== noPhase) {
-              if (!noPhase.hasRun) {
-                walkPhase(noPhase);
-              }
-              return;
-            }
-            if (phase.hasAfterPolicies) {
-              walkPhase(noPhase);
-            }
-          }
-        }
-        let iteration = 0;
-        while (policyMap.size > 0) {
-          iteration++;
-          const initialResultLength = result.length;
-          walkPhases();
-          if (result.length <= initialResultLength && iteration > 1) {
-            throw new Error("Cannot satisfy policy dependencies due to requirements cycle.");
-          }
-        }
-        return result;
+      /**
+       * Attempt to log the provided message to the provided logger. If no logger was provided or if
+       * the log level does not meat the logger's threshold, then nothing will be logged.
+       * @param logLevel - The log level of this log.
+       * @param message - The message of this log.
+       */
+      log(logLevel, message) {
+        this._options.log(logLevel, message);
       }
     };
-    function createEmptyPipeline() {
-      return HttpPipeline.create();
-    }
+    exports2.BaseRequestPolicy = BaseRequestPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js
-var require_object = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/object.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/utils/constants.js
+var require_constants15 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/utils/constants.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isObject = isObject2;
-    function isObject2(input) {
-      return typeof input === "object" && input !== null && !Array.isArray(input) && !(input instanceof RegExp) && !(input instanceof Date);
-    }
+    exports2.PathStylePorts = exports2.DevelopmentConnectionString = exports2.HeaderConstants = exports2.URLConstants = exports2.SDK_VERSION = void 0;
+    exports2.SDK_VERSION = "1.0.0";
+    exports2.URLConstants = {
+      Parameters: {
+        FORCE_BROWSER_NO_CACHE: "_",
+        SIGNATURE: "sig",
+        SNAPSHOT: "snapshot",
+        VERSIONID: "versionid",
+        TIMEOUT: "timeout"
+      }
+    };
+    exports2.HeaderConstants = {
+      AUTHORIZATION: "Authorization",
+      AUTHORIZATION_SCHEME: "Bearer",
+      CONTENT_ENCODING: "Content-Encoding",
+      CONTENT_ID: "Content-ID",
+      CONTENT_LANGUAGE: "Content-Language",
+      CONTENT_LENGTH: "Content-Length",
+      CONTENT_MD5: "Content-Md5",
+      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
+      CONTENT_TYPE: "Content-Type",
+      COOKIE: "Cookie",
+      DATE: "date",
+      IF_MATCH: "if-match",
+      IF_MODIFIED_SINCE: "if-modified-since",
+      IF_NONE_MATCH: "if-none-match",
+      IF_UNMODIFIED_SINCE: "if-unmodified-since",
+      PREFIX_FOR_STORAGE: "x-ms-",
+      RANGE: "Range",
+      USER_AGENT: "User-Agent",
+      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
+      X_MS_COPY_SOURCE: "x-ms-copy-source",
+      X_MS_DATE: "x-ms-date",
+      X_MS_ERROR_CODE: "x-ms-error-code",
+      X_MS_VERSION: "x-ms-version",
+      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    };
+    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
+    exports2.PathStylePorts = [
+      "10000",
+      "10001",
+      "10002",
+      "10003",
+      "10004",
+      "10100",
+      "10101",
+      "10102",
+      "10103",
+      "10104",
+      "11000",
+      "11001",
+      "11002",
+      "11003",
+      "11004",
+      "11100",
+      "11101",
+      "11102",
+      "11103",
+      "11104"
+    ];
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js
-var require_error = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/error.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js
+var require_utils_common2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isError = isError;
-    var object_js_1 = require_object();
-    function isError(e) {
-      if ((0, object_js_1.isObject)(e)) {
-        const hasName = typeof e.name === "string";
-        const hasMessage = typeof e.message === "string";
-        return hasName && hasMessage;
+    exports2.escapeURLPath = escapeURLPath;
+    exports2.getValueInConnString = getValueInConnString;
+    exports2.extractConnectionStringParts = extractConnectionStringParts;
+    exports2.appendToURLPath = appendToURLPath;
+    exports2.setURLParameter = setURLParameter;
+    exports2.getURLParameter = getURLParameter;
+    exports2.setURLHost = setURLHost;
+    exports2.getURLPath = getURLPath;
+    exports2.getURLScheme = getURLScheme;
+    exports2.getURLPathAndQuery = getURLPathAndQuery;
+    exports2.getURLQueries = getURLQueries;
+    exports2.appendToURLQuery = appendToURLQuery;
+    exports2.truncatedISO8061Date = truncatedISO8061Date;
+    exports2.base64encode = base64encode;
+    exports2.base64decode = base64decode;
+    exports2.generateBlockID = generateBlockID;
+    exports2.delay = delay;
+    exports2.padStart = padStart2;
+    exports2.sanitizeURL = sanitizeURL;
+    exports2.sanitizeHeaders = sanitizeHeaders;
+    exports2.iEqual = iEqual;
+    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
+    exports2.isIpEndpointStyle = isIpEndpointStyle;
+    exports2.attachCredential = attachCredential;
+    exports2.httpAuthorizationToString = httpAuthorizationToString;
+    exports2.EscapePath = EscapePath;
+    exports2.assertResponse = assertResponse;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants15();
+    function escapeURLPath(url) {
+      const urlParsed = new URL(url);
+      let path3 = urlParsed.pathname;
+      path3 = path3 || "/";
+      path3 = escape(path3);
+      urlParsed.pathname = path3;
+      return urlParsed.toString();
+    }
+    function getProxyUriFromDevConnString(connectionString) {
+      let proxyUri = "";
+      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
+        const matchCredentials = connectionString.split(";");
+        for (const element of matchCredentials) {
+          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
+            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
+          }
+        }
       }
-      return false;
+      return proxyUri;
     }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js
-var require_inspect = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.custom = void 0;
-    var node_util_1 = require("node:util");
-    exports2.custom = node_util_1.inspect.custom;
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js
-var require_sanitizer = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sanitizer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Sanitizer = void 0;
-    var object_js_1 = require_object();
-    var RedactedString = "REDACTED";
-    var defaultAllowedHeaderNames = [
-      "x-ms-client-request-id",
-      "x-ms-return-client-request-id",
-      "x-ms-useragent",
-      "x-ms-correlation-request-id",
-      "x-ms-request-id",
-      "client-request-id",
-      "ms-cv",
-      "return-client-request-id",
-      "traceparent",
-      "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",
-      "Origin",
-      "Accept",
-      "Accept-Encoding",
-      "Cache-Control",
-      "Connection",
-      "Content-Length",
-      "Content-Type",
-      "Date",
-      "ETag",
-      "Expires",
-      "If-Match",
-      "If-Modified-Since",
-      "If-None-Match",
-      "If-Unmodified-Since",
-      "Last-Modified",
-      "Pragma",
-      "Request-Id",
-      "Retry-After",
-      "Server",
-      "Transfer-Encoding",
-      "User-Agent",
-      "WWW-Authenticate"
-    ];
-    var defaultAllowedQueryParameters = ["api-version"];
-    var Sanitizer = class {
-      allowedHeaderNames;
-      allowedQueryParameters;
-      constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], additionalAllowedQueryParameters: allowedQueryParameters = [] } = {}) {
-        allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);
-        allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);
-        this.allowedHeaderNames = new Set(allowedHeaderNames.map((n) => n.toLowerCase()));
-        this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));
+    function getValueInConnString(connectionString, argument) {
+      const elements = connectionString.split(";");
+      for (const element of elements) {
+        if (element.trim().startsWith(argument)) {
+          return element.trim().match(argument + "=(.*)")[1];
+        }
       }
-      /**
-       * Sanitizes an object for logging.
-       * @param obj - The object to sanitize
-       * @returns - The sanitized object as a string
-       */
-      sanitize(obj) {
-        const seen = /* @__PURE__ */ new Set();
-        return JSON.stringify(obj, (key, value) => {
-          if (value instanceof Error) {
-            return {
-              ...value,
-              name: value.name,
-              message: value.message
-            };
+      return "";
+    }
+    function extractConnectionStringParts(connectionString) {
+      let proxyUri = "";
+      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
+        proxyUri = getProxyUriFromDevConnString(connectionString);
+        connectionString = constants_js_1.DevelopmentConnectionString;
+      }
+      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
+      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
+      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
+        let defaultEndpointsProtocol = "";
+        let accountName = "";
+        let accountKey = Buffer.from("accountKey", "base64");
+        let endpointSuffix = "";
+        accountName = getValueInConnString(connectionString, "AccountName");
+        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
+        if (!blobEndpoint) {
+          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
+          const protocol = defaultEndpointsProtocol.toLowerCase();
+          if (protocol !== "https" && protocol !== "http") {
+            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
           }
-          if (key === "headers") {
-            return this.sanitizeHeaders(value);
-          } else if (key === "url") {
-            return this.sanitizeUrl(value);
-          } else if (key === "query") {
-            return this.sanitizeQuery(value);
-          } else if (key === "body") {
-            return void 0;
-          } else if (key === "response") {
-            return void 0;
-          } else if (key === "operationSpec") {
-            return void 0;
-          } else if (Array.isArray(value) || (0, object_js_1.isObject)(value)) {
-            if (seen.has(value)) {
-              return "[Circular]";
-            }
-            seen.add(value);
+          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
+          if (!endpointSuffix) {
+            throw new Error("Invalid EndpointSuffix in the provided Connection String");
           }
-          return value;
-        }, 2);
-      }
-      /**
-       * Sanitizes a URL for logging.
-       * @param value - The URL to sanitize
-       * @returns - The sanitized URL as a string
-       */
-      sanitizeUrl(value) {
-        if (typeof value !== "string" || value === null || value === "") {
-          return value;
+          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
         }
-        const url = new URL(value);
-        if (!url.search) {
-          return value;
+        if (!accountName) {
+          throw new Error("Invalid AccountName in the provided Connection String");
+        } else if (accountKey.length === 0) {
+          throw new Error("Invalid AccountKey in the provided Connection String");
         }
-        for (const [key] of url.searchParams) {
-          if (!this.allowedQueryParameters.has(key.toLowerCase())) {
-            url.searchParams.set(key, RedactedString);
+        return {
+          kind: "AccountConnString",
+          url: blobEndpoint,
+          accountName,
+          accountKey,
+          proxyUri
+        };
+      } else {
+        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
+        let accountName = getValueInConnString(connectionString, "AccountName");
+        if (!accountName) {
+          accountName = getAccountNameFromUrl(blobEndpoint);
+        }
+        if (!blobEndpoint) {
+          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
+        } else if (!accountSas) {
+          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
+        }
+        if (accountSas.startsWith("?")) {
+          accountSas = accountSas.substring(1);
+        }
+        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
+      }
+    }
+    function escape(text) {
+      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
+    }
+    function appendToURLPath(url, name) {
+      const urlParsed = new URL(url);
+      let path3 = urlParsed.pathname;
+      path3 = path3 ? path3.endsWith("/") ? `${path3}${name}` : `${path3}/${name}` : name;
+      urlParsed.pathname = path3;
+      return urlParsed.toString();
+    }
+    function setURLParameter(url, name, value) {
+      const urlParsed = new URL(url);
+      const encodedName = encodeURIComponent(name);
+      const encodedValue = value ? encodeURIComponent(value) : void 0;
+      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
+      const searchPieces = [];
+      for (const pair of searchString.slice(1).split("&")) {
+        if (pair) {
+          const [key] = pair.split("=", 2);
+          if (key !== encodedName) {
+            searchPieces.push(pair);
           }
         }
-        return url.toString();
       }
-      sanitizeHeaders(obj) {
-        const sanitized = {};
-        for (const key of Object.keys(obj)) {
-          if (this.allowedHeaderNames.has(key.toLowerCase())) {
-            sanitized[key] = obj[key];
-          } else {
-            sanitized[key] = RedactedString;
+      if (encodedValue) {
+        searchPieces.push(`${encodedName}=${encodedValue}`);
+      }
+      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
+      return urlParsed.toString();
+    }
+    function getURLParameter(url, name) {
+      const urlParsed = new URL(url);
+      return urlParsed.searchParams.get(name) ?? void 0;
+    }
+    function setURLHost(url, host) {
+      const urlParsed = new URL(url);
+      urlParsed.hostname = host;
+      return urlParsed.toString();
+    }
+    function getURLPath(url) {
+      try {
+        const urlParsed = new URL(url);
+        return urlParsed.pathname;
+      } catch (e) {
+        return void 0;
+      }
+    }
+    function getURLScheme(url) {
+      try {
+        const urlParsed = new URL(url);
+        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
+      } catch (e) {
+        return void 0;
+      }
+    }
+    function getURLPathAndQuery(url) {
+      const urlParsed = new URL(url);
+      const pathString = urlParsed.pathname;
+      if (!pathString) {
+        throw new RangeError("Invalid url without valid path.");
+      }
+      let queryString = urlParsed.search || "";
+      queryString = queryString.trim();
+      if (queryString !== "") {
+        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
+      }
+      return `${pathString}${queryString}`;
+    }
+    function getURLQueries(url) {
+      let queryString = new URL(url).search;
+      if (!queryString) {
+        return {};
+      }
+      queryString = queryString.trim();
+      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
+      let querySubStrings = queryString.split("&");
+      querySubStrings = querySubStrings.filter((value) => {
+        const indexOfEqual = value.indexOf("=");
+        const lastIndexOfEqual = value.lastIndexOf("=");
+        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
+      });
+      const queries = {};
+      for (const querySubString of querySubStrings) {
+        const splitResults = querySubString.split("=");
+        const key = splitResults[0];
+        const value = splitResults[1];
+        queries[key] = value;
+      }
+      return queries;
+    }
+    function appendToURLQuery(url, queryParts) {
+      const urlParsed = new URL(url);
+      let query = urlParsed.search;
+      if (query) {
+        query += "&" + queryParts;
+      } else {
+        query = queryParts;
+      }
+      urlParsed.search = query;
+      return urlParsed.toString();
+    }
+    function truncatedISO8061Date(date, withMilliseconds = true) {
+      const dateString = date.toISOString();
+      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
+    }
+    function base64encode(content) {
+      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
+    }
+    function base64decode(encodedString) {
+      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
+    }
+    function generateBlockID(blockIDPrefix, blockIndex) {
+      const maxSourceStringLength = 48;
+      const maxBlockIndexLength = 6;
+      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
+      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
+        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
+      }
+      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
+      return base64encode(res);
+    }
+    async function delay(timeInMs, aborter, abortError) {
+      return new Promise((resolve2, reject) => {
+        let timeout;
+        const abortHandler = () => {
+          if (timeout !== void 0) {
+            clearTimeout(timeout);
           }
+          reject(abortError);
+        };
+        const resolveHandler = () => {
+          if (aborter !== void 0) {
+            aborter.removeEventListener("abort", abortHandler);
+          }
+          resolve2();
+        };
+        timeout = setTimeout(resolveHandler, timeInMs);
+        if (aborter !== void 0) {
+          aborter.addEventListener("abort", abortHandler);
         }
-        return sanitized;
+      });
+    }
+    function padStart2(currentString, targetLength, padString = " ") {
+      if (String.prototype.padStart) {
+        return currentString.padStart(targetLength, padString);
       }
-      sanitizeQuery(value) {
-        if (typeof value !== "object" || value === null) {
-          return value;
+      padString = padString || " ";
+      if (currentString.length > targetLength) {
+        return currentString;
+      } else {
+        targetLength = targetLength - currentString.length;
+        if (targetLength > padString.length) {
+          padString += padString.repeat(targetLength / padString.length);
         }
-        const sanitized = {};
-        for (const k of Object.keys(value)) {
-          if (this.allowedQueryParameters.has(k.toLowerCase())) {
-            sanitized[k] = value[k];
-          } else {
-            sanitized[k] = RedactedString;
-          }
+        return padString.slice(0, targetLength) + currentString;
+      }
+    }
+    function sanitizeURL(url) {
+      let safeURL = url;
+      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
+        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
+      }
+      return safeURL;
+    }
+    function sanitizeHeaders(originalHeader) {
+      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
+      for (const [name, value] of originalHeader) {
+        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
+          headers.set(name, "*****");
+        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
+          headers.set(name, sanitizeURL(value));
+        } else {
+          headers.set(name, value);
+        }
+      }
+      return headers;
+    }
+    function iEqual(str1, str2) {
+      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
+    }
+    function getAccountNameFromUrl(url) {
+      const parsedUrl = new URL(url);
+      let accountName;
+      try {
+        if (parsedUrl.hostname.split(".")[1] === "blob") {
+          accountName = parsedUrl.hostname.split(".")[0];
+        } else if (isIpEndpointStyle(parsedUrl)) {
+          accountName = parsedUrl.pathname.split("/")[1];
+        } else {
+          accountName = "";
         }
-        return sanitized;
+        return accountName;
+      } catch (error3) {
+        throw new Error("Unable to extract accountName with provided information.");
       }
-    };
-    exports2.Sanitizer = Sanitizer;
+    }
+    function isIpEndpointStyle(parsedUrl) {
+      const host = parsedUrl.host;
+      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
+    }
+    function attachCredential(thing, credential) {
+      thing.credential = credential;
+      return thing;
+    }
+    function httpAuthorizationToString(httpAuthorization) {
+      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
+    }
+    function EscapePath(blobName) {
+      const split = blobName.split("/");
+      for (let i = 0; i < split.length; i++) {
+        split[i] = encodeURIComponent(split[i]);
+      }
+      return split.join("/");
+    }
+    function assertResponse(response) {
+      if (`_response` in response) {
+        return response;
+      }
+      throw new TypeError(`Unexpected response object ${response}`);
+    }
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js
-var require_restError = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js
+var require_StorageBrowserPolicy = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RestError = void 0;
-    exports2.isRestError = isRestError;
-    var error_js_1 = require_error();
-    var inspect_js_1 = require_inspect();
-    var sanitizer_js_1 = require_sanitizer();
-    var errorSanitizer = new sanitizer_js_1.Sanitizer();
-    var RestError = class _RestError extends Error {
-      /**
-       * Something went wrong when making the request.
-       * This means the actual request failed for some reason,
-       * such as a DNS issue or the connection being lost.
-       */
-      static REQUEST_SEND_ERROR = "REQUEST_SEND_ERROR";
-      /**
-       * This means that parsing the response from the server failed.
-       * It may have been malformed.
-       */
-      static PARSE_ERROR = "PARSE_ERROR";
-      /**
-       * The code of the error itself (use statics on RestError if possible.)
-       */
-      code;
-      /**
-       * The HTTP status code of the request (if applicable.)
-       */
-      statusCode;
-      /**
-       * The request that was made.
-       * This property is non-enumerable.
-       */
-      request;
+    exports2.StorageBrowserPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common2();
+    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
       /**
-       * The response received (if any.)
-       * This property is non-enumerable.
+       * Creates an instance of StorageBrowserPolicy.
+       * @param nextPolicy -
+       * @param options -
        */
-      response;
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
+      }
       /**
-       * Bonus property set by the throw site.
+       * Sends out request.
+       *
+       * @param request -
        */
-      details;
-      constructor(message, options = {}) {
-        super(message);
-        this.name = "RestError";
-        this.code = options.code;
-        this.statusCode = options.statusCode;
-        Object.defineProperty(this, "request", { value: options.request, enumerable: false });
-        Object.defineProperty(this, "response", { value: options.response, enumerable: false });
-        const agent = this.request?.agent ? {
-          maxFreeSockets: this.request.agent.maxFreeSockets,
-          maxSockets: this.request.agent.maxSockets
-        } : void 0;
-        Object.defineProperty(this, inspect_js_1.custom, {
-          value: () => {
-            return `RestError: ${this.message} 
- ${errorSanitizer.sanitize({
-              ...this,
-              request: { ...this.request, agent },
-              response: this.response
-            })}`;
-          },
-          enumerable: false
-        });
-        Object.setPrototypeOf(this, _RestError.prototype);
+      async sendRequest(request2) {
+        if (core_util_1.isNodeLike) {
+          return this._nextPolicy.sendRequest(request2);
+        }
+        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
+          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+        }
+        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
+        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+        return this._nextPolicy.sendRequest(request2);
       }
     };
-    exports2.RestError = RestError;
-    function isRestError(e) {
-      if (e instanceof RestError) {
-        return true;
-      }
-      return (0, error_js_1.isError)(e) && e.name === "RestError";
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js
-var require_bytesEncoding = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uint8ArrayToString = uint8ArrayToString;
-    exports2.stringToUint8Array = stringToUint8Array;
-    function uint8ArrayToString(bytes, format) {
-      return Buffer.from(bytes).toString(format);
-    }
-    function stringToUint8Array(value, format) {
-      return Buffer.from(value, format);
-    }
+    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js
-var require_log2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/log.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js
+var require_StorageBrowserPolicyFactory = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_js_1 = require_logger();
-    exports2.logger = (0, logger_js_1.createClientLogger)("ts-http-runtime");
+    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
+    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy();
+    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
+      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
+    } });
+    var StorageBrowserPolicyFactory = class {
+      /**
+       * Creates a StorageBrowserPolicyFactory object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
+      }
+    };
+    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js
-var require_nodeHttpClient = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js
+var require_CredentialPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getBodyLength = getBodyLength;
-    exports2.createNodeHttpClient = createNodeHttpClient;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_http_1 = tslib_1.__importDefault(require("node:http"));
-    var node_https_1 = tslib_1.__importDefault(require("node:https"));
-    var node_zlib_1 = tslib_1.__importDefault(require("node:zlib"));
-    var node_stream_1 = require("node:stream");
-    var AbortError_js_1 = require_AbortError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    var restError_js_1 = require_restError();
-    var log_js_1 = require_log2();
-    var sanitizer_js_1 = require_sanitizer();
-    var DEFAULT_TLS_SETTINGS = {};
-    function isReadableStream(body) {
-      return body && typeof body.pipe === "function";
-    }
-    function isStreamComplete(stream) {
-      if (stream.readable === false) {
-        return Promise.resolve();
-      }
-      return new Promise((resolve2) => {
-        const handler2 = () => {
-          resolve2();
-          stream.removeListener("close", handler2);
-          stream.removeListener("end", handler2);
-          stream.removeListener("error", handler2);
-        };
-        stream.on("close", handler2);
-        stream.on("end", handler2);
-        stream.on("error", handler2);
-      });
-    }
-    function isArrayBuffer(body) {
-      return body && typeof body.byteLength === "number";
-    }
-    var ReportTransform = class extends node_stream_1.Transform {
-      loadedBytes = 0;
-      progressCallback;
-      // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
-      _transform(chunk, _encoding, callback) {
-        this.push(chunk);
-        this.loadedBytes += chunk.length;
-        try {
-          this.progressCallback({ loadedBytes: this.loadedBytes });
-          callback();
-        } catch (e) {
-          callback(e);
-        }
-      }
-      constructor(progressCallback) {
-        super();
-        this.progressCallback = progressCallback;
-      }
-    };
-    var NodeHttpClient = class {
-      cachedHttpAgent;
-      cachedHttpsAgents = /* @__PURE__ */ new WeakMap();
+    exports2.CredentialPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
       /**
-       * Makes a request over an underlying transport layer and returns the response.
-       * @param request - The request to be made.
+       * Sends out request.
+       *
+       * @param request -
        */
-      async sendRequest(request2) {
-        const abortController = new AbortController();
-        let abortListener;
-        if (request2.abortSignal) {
-          if (request2.abortSignal.aborted) {
-            throw new AbortError_js_1.AbortError("The operation was aborted. Request has already been canceled.");
-          }
-          abortListener = (event) => {
-            if (event.type === "abort") {
-              abortController.abort();
-            }
-          };
-          request2.abortSignal.addEventListener("abort", abortListener);
-        }
-        let timeoutId;
-        if (request2.timeout > 0) {
-          timeoutId = setTimeout(() => {
-            const sanitizer = new sanitizer_js_1.Sanitizer();
-            log_js_1.logger.info(`request to '${sanitizer.sanitizeUrl(request2.url)}' timed out. canceling...`);
-            abortController.abort();
-          }, request2.timeout);
-        }
-        const acceptEncoding = request2.headers.get("Accept-Encoding");
-        const shouldDecompress = acceptEncoding?.includes("gzip") || acceptEncoding?.includes("deflate");
-        let body = typeof request2.body === "function" ? request2.body() : request2.body;
-        if (body && !request2.headers.has("Content-Length")) {
-          const bodyLength = getBodyLength(body);
-          if (bodyLength !== null) {
-            request2.headers.set("Content-Length", bodyLength);
-          }
-        }
-        let responseStream;
-        try {
-          if (body && request2.onUploadProgress) {
-            const onUploadProgress = request2.onUploadProgress;
-            const uploadReportStream = new ReportTransform(onUploadProgress);
-            uploadReportStream.on("error", (e) => {
-              log_js_1.logger.error("Error in upload progress", e);
-            });
-            if (isReadableStream(body)) {
-              body.pipe(uploadReportStream);
-            } else {
-              uploadReportStream.end(body);
-            }
-            body = uploadReportStream;
-          }
-          const res = await this.makeRequest(request2, abortController, body);
-          if (timeoutId !== void 0) {
-            clearTimeout(timeoutId);
-          }
-          const headers = getResponseHeaders(res);
-          const status = res.statusCode ?? 0;
-          const response = {
-            status,
-            headers,
-            request: request2
-          };
-          if (request2.method === "HEAD") {
-            res.resume();
-            return response;
-          }
-          responseStream = shouldDecompress ? getDecodedResponseStream(res, headers) : res;
-          const onDownloadProgress = request2.onDownloadProgress;
-          if (onDownloadProgress) {
-            const downloadReportStream = new ReportTransform(onDownloadProgress);
-            downloadReportStream.on("error", (e) => {
-              log_js_1.logger.error("Error in download progress", e);
-            });
-            responseStream.pipe(downloadReportStream);
-            responseStream = downloadReportStream;
-          }
-          if (
-            // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code
-            request2.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) || request2.streamResponseStatusCodes?.has(response.status)
-          ) {
-            response.readableStreamBody = responseStream;
-          } else {
-            response.bodyAsText = await streamToText(responseStream);
-          }
-          return response;
-        } finally {
-          if (request2.abortSignal && abortListener) {
-            let uploadStreamDone = Promise.resolve();
-            if (isReadableStream(body)) {
-              uploadStreamDone = isStreamComplete(body);
-            }
-            let downloadStreamDone = Promise.resolve();
-            if (isReadableStream(responseStream)) {
-              downloadStreamDone = isStreamComplete(responseStream);
-            }
-            Promise.all([uploadStreamDone, downloadStreamDone]).then(() => {
-              if (abortListener) {
-                request2.abortSignal?.removeEventListener("abort", abortListener);
-              }
-            }).catch((e) => {
-              log_js_1.logger.warning("Error when cleaning up abortListener on httpRequest", e);
-            });
-          }
-        }
-      }
-      makeRequest(request2, abortController, body) {
-        const url = new URL(request2.url);
-        const isInsecure = url.protocol !== "https:";
-        if (isInsecure && !request2.allowInsecureConnection) {
-          throw new Error(`Cannot connect to ${request2.url} while allowInsecureConnection is false.`);
-        }
-        const agent = request2.agent ?? this.getOrCreateAgent(request2, isInsecure);
-        const options = {
-          agent,
-          hostname: url.hostname,
-          path: `${url.pathname}${url.search}`,
-          port: url.port,
-          method: request2.method,
-          headers: request2.headers.toJSON({ preserveCase: true }),
-          ...request2.requestOverrides
-        };
-        return new Promise((resolve2, reject) => {
-          const req = isInsecure ? node_http_1.default.request(options, resolve2) : node_https_1.default.request(options, resolve2);
-          req.once("error", (err) => {
-            reject(new restError_js_1.RestError(err.message, { code: err.code ?? restError_js_1.RestError.REQUEST_SEND_ERROR, request: request2 }));
-          });
-          abortController.signal.addEventListener("abort", () => {
-            const abortError = new AbortError_js_1.AbortError("The operation was aborted. Rejecting from abort signal callback while making request.");
-            req.destroy(abortError);
-            reject(abortError);
-          });
-          if (body && isReadableStream(body)) {
-            body.pipe(req);
-          } else if (body) {
-            if (typeof body === "string" || Buffer.isBuffer(body)) {
-              req.end(body);
-            } else if (isArrayBuffer(body)) {
-              req.end(ArrayBuffer.isView(body) ? Buffer.from(body.buffer) : Buffer.from(body));
-            } else {
-              log_js_1.logger.error("Unrecognized body type", body);
-              reject(new restError_js_1.RestError("Unrecognized body type"));
-            }
-          } else {
-            req.end();
-          }
-        });
+      sendRequest(request2) {
+        return this._nextPolicy.sendRequest(this.signRequest(request2));
       }
-      getOrCreateAgent(request2, isInsecure) {
-        const disableKeepAlive = request2.disableKeepAlive;
-        if (isInsecure) {
-          if (disableKeepAlive) {
-            return node_http_1.default.globalAgent;
-          }
-          if (!this.cachedHttpAgent) {
-            this.cachedHttpAgent = new node_http_1.default.Agent({ keepAlive: true });
-          }
-          return this.cachedHttpAgent;
-        } else {
-          if (disableKeepAlive && !request2.tlsSettings) {
-            return node_https_1.default.globalAgent;
-          }
-          const tlsSettings = request2.tlsSettings ?? DEFAULT_TLS_SETTINGS;
-          let agent = this.cachedHttpsAgents.get(tlsSettings);
-          if (agent && agent.options.keepAlive === !disableKeepAlive) {
-            return agent;
-          }
-          log_js_1.logger.info("No cached TLS Agent exist, creating a new Agent");
-          agent = new node_https_1.default.Agent({
-            // keepAlive is true if disableKeepAlive is false.
-            keepAlive: !disableKeepAlive,
-            // Since we are spreading, if no tslSettings were provided, nothing is added to the agent options.
-            ...tlsSettings
-          });
-          this.cachedHttpsAgents.set(tlsSettings, agent);
-          return agent;
-        }
+      /**
+       * Child classes must implement this method with request signing. This method
+       * will be executed in {@link sendRequest}.
+       *
+       * @param request -
+       */
+      signRequest(request2) {
+        return request2;
       }
     };
-    function getResponseHeaders(res) {
-      const headers = (0, httpHeaders_js_1.createHttpHeaders)();
-      for (const header of Object.keys(res.headers)) {
-        const value = res.headers[header];
-        if (Array.isArray(value)) {
-          if (value.length > 0) {
-            headers.set(header, value[0]);
-          }
-        } else if (value) {
-          headers.set(header, value);
-        }
-      }
-      return headers;
-    }
-    function getDecodedResponseStream(stream, headers) {
-      const contentEncoding = headers.get("Content-Encoding");
-      if (contentEncoding === "gzip") {
-        const unzip = node_zlib_1.default.createGunzip();
-        stream.pipe(unzip);
-        return unzip;
-      } else if (contentEncoding === "deflate") {
-        const inflate = node_zlib_1.default.createInflate();
-        stream.pipe(inflate);
-        return inflate;
-      }
-      return stream;
-    }
-    function streamToText(stream) {
-      return new Promise((resolve2, reject) => {
-        const buffer = [];
-        stream.on("data", (chunk) => {
-          if (Buffer.isBuffer(chunk)) {
-            buffer.push(chunk);
-          } else {
-            buffer.push(Buffer.from(chunk));
-          }
-        });
-        stream.on("end", () => {
-          resolve2(Buffer.concat(buffer).toString("utf8"));
-        });
-        stream.on("error", (e) => {
-          if (e && e?.name === "AbortError") {
-            reject(e);
-          } else {
-            reject(new restError_js_1.RestError(`Error reading response as text: ${e.message}`, {
-              code: restError_js_1.RestError.PARSE_ERROR
-            }));
-          }
-        });
-      });
-    }
-    function getBodyLength(body) {
-      if (!body) {
-        return 0;
-      } else if (Buffer.isBuffer(body)) {
-        return body.length;
-      } else if (isReadableStream(body)) {
-        return null;
-      } else if (isArrayBuffer(body)) {
-        return body.byteLength;
-      } else if (typeof body === "string") {
-        return Buffer.from(body).length;
-      } else {
-        return null;
-      }
-    }
-    function createNodeHttpClient() {
-      return new NodeHttpClient();
-    }
+    exports2.CredentialPolicy = CredentialPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js
-var require_defaultHttpClient = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/defaultHttpClient.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js
+var require_AnonymousCredentialPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultHttpClient = createDefaultHttpClient;
-    var nodeHttpClient_js_1 = require_nodeHttpClient();
-    function createDefaultHttpClient() {
-      return (0, nodeHttpClient_js_1.createNodeHttpClient)();
-    }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AnonymousCredentialPolicy = void 0;
+    var CredentialPolicy_js_1 = require_CredentialPolicy2();
+    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+      /**
+       * Creates an instance of AnonymousCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       */
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
+      }
+    };
+    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js
-var require_logPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/logPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js
+var require_Credential2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logPolicyName = void 0;
-    exports2.logPolicy = logPolicy;
-    var log_js_1 = require_log2();
-    var sanitizer_js_1 = require_sanitizer();
-    exports2.logPolicyName = "logPolicy";
-    function logPolicy(options = {}) {
-      const logger = options.logger ?? log_js_1.logger.info;
-      const sanitizer = new sanitizer_js_1.Sanitizer({
-        additionalAllowedHeaderNames: options.additionalAllowedHeaderNames,
-        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
-      });
-      return {
-        name: exports2.logPolicyName,
-        async sendRequest(request2, next) {
-          if (!logger.enabled) {
-            return next(request2);
-          }
-          logger(`Request: ${sanitizer.sanitize(request2)}`);
-          const response = await next(request2);
-          logger(`Response status code: ${response.status}`);
-          logger(`Headers: ${sanitizer.sanitize(response.headers)}`);
-          return response;
-        }
-      };
-    }
+    exports2.Credential = void 0;
+    var Credential = class {
+      /**
+       * Creates a RequestPolicy object.
+       *
+       * @param _nextPolicy -
+       * @param _options -
+       */
+      create(_nextPolicy, _options) {
+        throw new Error("Method should be implemented in children classes.");
+      }
+    };
+    exports2.Credential = Credential;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js
-var require_redirectPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/redirectPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js
+var require_AnonymousCredential2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.redirectPolicyName = void 0;
-    exports2.redirectPolicy = redirectPolicy;
-    exports2.redirectPolicyName = "redirectPolicy";
-    var allowedRedirect = ["GET", "HEAD"];
-    function redirectPolicy(options = {}) {
-      const { maxRetries = 20 } = options;
-      return {
-        name: exports2.redirectPolicyName,
-        async sendRequest(request2, next) {
-          const response = await next(request2);
-          return handleRedirect(next, response, maxRetries);
-        }
-      };
-    }
-    async function handleRedirect(next, response, maxRetries, currentRetries = 0) {
-      const { request: request2, status, headers } = response;
-      const locationHeader = headers.get("location");
-      if (locationHeader && (status === 300 || status === 301 && allowedRedirect.includes(request2.method) || status === 302 && allowedRedirect.includes(request2.method) || status === 303 && request2.method === "POST" || status === 307) && currentRetries < maxRetries) {
-        const url = new URL(locationHeader, request2.url);
-        request2.url = url.toString();
-        if (status === 303) {
-          request2.method = "GET";
-          request2.headers.delete("Content-Length");
-          delete request2.body;
-        }
-        request2.headers.delete("Authorization");
-        const res = await next(request2);
-        return handleRedirect(next, res, maxRetries, currentRetries + 1);
+    exports2.AnonymousCredential = void 0;
+    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy2();
+    var Credential_js_1 = require_Credential2();
+    var AnonymousCredential = class extends Credential_js_1.Credential {
+      /**
+       * Creates an {@link AnonymousCredentialPolicy} object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
       }
-      return response;
-    }
+    };
+    exports2.AnonymousCredential = AnonymousCredential;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js
-var require_userAgentPlatform = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgentPlatform.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js
+var require_SharedKeyComparator2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getHeaderName = getHeaderName;
-    exports2.setPlatformSpecificData = setPlatformSpecificData;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_os_1 = tslib_1.__importDefault(require("node:os"));
-    var node_process_1 = tslib_1.__importDefault(require("node:process"));
-    function getHeaderName() {
-      return "User-Agent";
+    exports2.compareHeader = compareHeader;
+    var table_lv0 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1820,
+      0,
+      1823,
+      1825,
+      1827,
+      1829,
+      0,
+      0,
+      0,
+      1837,
+      2051,
+      0,
+      0,
+      1843,
+      0,
+      3331,
+      3354,
+      3356,
+      3358,
+      3360,
+      3362,
+      3364,
+      3366,
+      3368,
+      3370,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      0,
+      0,
+      1859,
+      1860,
+      1864,
+      3586,
+      3593,
+      3594,
+      3610,
+      3617,
+      3619,
+      3621,
+      3628,
+      3634,
+      3637,
+      3638,
+      3656,
+      3665,
+      3696,
+      3708,
+      3710,
+      3721,
+      3722,
+      3729,
+      3737,
+      3743,
+      3746,
+      3748,
+      3750,
+      3751,
+      3753,
+      0,
+      1868,
+      0,
+      1872,
+      0
+    ]);
+    var table_lv2 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      18,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    var table_lv4 = new Uint32Array([
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      32786,
+      0,
+      0,
+      0,
+      0,
+      0,
+      33298,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ]);
+    function compareHeader(lhs, rhs) {
+      if (isLessThan(lhs, rhs))
+        return -1;
+      return 1;
     }
-    async function setPlatformSpecificData(map2) {
-      if (node_process_1.default && node_process_1.default.versions) {
-        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
-        const versions = node_process_1.default.versions;
-        if (versions.bun) {
-          map2.set("Bun", `${versions.bun} (${osInfo})`);
-        } else if (versions.deno) {
-          map2.set("Deno", `${versions.deno} (${osInfo})`);
-        } else if (versions.node) {
-          map2.set("Node", `${versions.node} (${osInfo})`);
+    function isLessThan(lhs, rhs) {
+      const tables = [table_lv0, table_lv2, table_lv4];
+      let curr_level = 0;
+      let i = 0;
+      let j = 0;
+      while (curr_level < tables.length) {
+        if (curr_level === tables.length - 1 && i !== j) {
+          return i > j;
+        }
+        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
+        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
+        if (weight1 === 1 && weight2 === 1) {
+          i = 0;
+          j = 0;
+          ++curr_level;
+        } else if (weight1 === weight2) {
+          ++i;
+          ++j;
+        } else if (weight1 === 0) {
+          ++i;
+        } else if (weight2 === 0) {
+          ++j;
+        } else {
+          return weight1 < weight2;
         }
       }
+      return false;
     }
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js
-var require_constants12 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "0.3.2";
-    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js
-var require_userAgent = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
+var require_StorageSharedKeyCredentialPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
-    exports2.getUserAgentValue = getUserAgentValue;
-    var userAgentPlatform_js_1 = require_userAgentPlatform();
-    var constants_js_1 = require_constants12();
-    function getUserAgentString(telemetryInfo) {
-      const parts = [];
-      for (const [key, value] of telemetryInfo) {
-        const token = value ? `${key}/${value}` : key;
-        parts.push(token);
+    exports2.StorageSharedKeyCredentialPolicy = void 0;
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common2();
+    var CredentialPolicy_js_1 = require_CredentialPolicy2();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
+    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+      /**
+       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
+       */
+      factory;
+      /**
+       * Creates an instance of StorageSharedKeyCredentialPolicy.
+       * @param nextPolicy -
+       * @param options -
+       * @param factory -
+       */
+      constructor(nextPolicy, options, factory) {
+        super(nextPolicy, options);
+        this.factory = factory;
       }
-      return parts.join(" ");
-    }
-    function getUserAgentHeaderName() {
-      return (0, userAgentPlatform_js_1.getHeaderName)();
-    }
-    async function getUserAgentValue(prefix) {
-      const runtimeInfo = /* @__PURE__ */ new Map();
-      runtimeInfo.set("ts-http-runtime", constants_js_1.SDK_VERSION);
-      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
-      const defaultAgent = getUserAgentString(runtimeInfo);
-      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
-      return userAgentValue;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js
-var require_userAgentPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.userAgentPolicyName = void 0;
-    exports2.userAgentPolicy = userAgentPolicy;
-    var userAgent_js_1 = require_userAgent();
-    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
-    exports2.userAgentPolicyName = "userAgentPolicy";
-    function userAgentPolicy(options = {}) {
-      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
-      return {
-        name: exports2.userAgentPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.headers.has(UserAgentHeaderName)) {
-            request2.headers.set(UserAgentHeaderName, await userAgentValue);
-          }
-          return next(request2);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js
-var require_decompressResponsePolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.decompressResponsePolicyName = void 0;
-    exports2.decompressResponsePolicy = decompressResponsePolicy;
-    exports2.decompressResponsePolicyName = "decompressResponsePolicy";
-    function decompressResponsePolicy() {
-      return {
-        name: exports2.decompressResponsePolicyName,
-        async sendRequest(request2, next) {
-          if (request2.method !== "HEAD") {
-            request2.headers.set("Accept-Encoding", "gzip,deflate");
-          }
-          return next(request2);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js
-var require_random = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/random.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
-    function getRandomIntegerInclusive(min, max) {
-      min = Math.ceil(min);
-      max = Math.floor(max);
-      const offset = Math.floor(Math.random() * (max - min + 1));
-      return offset + min;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js
-var require_delay = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/delay.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.calculateRetryDelay = calculateRetryDelay;
-    var random_js_1 = require_random();
-    function calculateRetryDelay(retryAttempt, config) {
-      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
-      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
-      const retryAfterInMs = clampedDelay / 2 + (0, random_js_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
-      return { retryAfterInMs };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js
-var require_helpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/helpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.delay = delay;
-    exports2.parseHeaderValueAsNumber = parseHeaderValueAsNumber;
-    var AbortError_js_1 = require_AbortError();
-    var StandardAbortMessage = "The operation was aborted.";
-    function delay(delayInMs, value, options) {
-      return new Promise((resolve2, reject) => {
-        let timer = void 0;
-        let onAborted = void 0;
-        const rejectOnAbort = () => {
-          return reject(new AbortError_js_1.AbortError(options?.abortErrorMsg ? options?.abortErrorMsg : StandardAbortMessage));
-        };
-        const removeListeners = () => {
-          if (options?.abortSignal && onAborted) {
-            options.abortSignal.removeEventListener("abort", onAborted);
-          }
-        };
-        onAborted = () => {
-          if (timer) {
-            clearTimeout(timer);
-          }
-          removeListeners();
-          return rejectOnAbort();
-        };
-        if (options?.abortSignal && options.abortSignal.aborted) {
-          return rejectOnAbort();
+      /**
+       * Signs request.
+       *
+       * @param request -
+       */
+      signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
         }
-        timer = setTimeout(() => {
-          removeListeners();
-          resolve2(value);
-        }, delayInMs);
-        if (options?.abortSignal) {
-          options.abortSignal.addEventListener("abort", onAborted);
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
+        const signature = this.factory.computeHMACSHA256(stringToSign);
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
+        return request2;
+      }
+      /**
+       * Retrieve header value according to shared key sign rules.
+       * @see https://learn.microsoft.com/en-us/rest/api/storageservices/authenticate-with-shared-key
+       *
+       * @param request -
+       * @param headerName -
+       */
+      getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
         }
-      });
-    }
-    function parseHeaderValueAsNumber(response, headerName) {
-      const value = response.headers.get(headerName);
-      if (!value)
-        return;
-      const valueAsNum = Number(value);
-      if (Number.isNaN(valueAsNum))
-        return;
-      return valueAsNum;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js
-var require_throttlingRetryStrategy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/throttlingRetryStrategy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isThrottlingRetryResponse = isThrottlingRetryResponse;
-    exports2.throttlingRetryStrategy = throttlingRetryStrategy;
-    var helpers_js_1 = require_helpers();
-    var RetryAfterHeader = "Retry-After";
-    var AllRetryAfterHeaders = ["retry-after-ms", "x-ms-retry-after-ms", RetryAfterHeader];
-    function getRetryAfterInMs(response) {
-      if (!(response && [429, 503].includes(response.status)))
-        return void 0;
-      try {
-        for (const header of AllRetryAfterHeaders) {
-          const retryAfterValue = (0, helpers_js_1.parseHeaderValueAsNumber)(response, header);
-          if (retryAfterValue === 0 || retryAfterValue) {
-            const multiplyingFactor = header === RetryAfterHeader ? 1e3 : 1;
-            return retryAfterValue * multiplyingFactor;
-          }
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
         }
-        const retryAfterHeader = response.headers.get(RetryAfterHeader);
-        if (!retryAfterHeader)
-          return;
-        const date = Date.parse(retryAfterHeader);
-        const diff = date - Date.now();
-        return Number.isFinite(diff) ? Math.max(0, diff) : void 0;
-      } catch {
-        return void 0;
+        return value;
       }
-    }
-    function isThrottlingRetryResponse(response) {
-      return Number.isFinite(getRetryAfterInMs(response));
-    }
-    function throttlingRetryStrategy() {
-      return {
-        name: "throttlingRetryStrategy",
-        retry({ response }) {
-          const retryAfterInMs = getRetryAfterInMs(response);
-          if (!Number.isFinite(retryAfterInMs)) {
-            return { skipStrategy: true };
+      /**
+       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
+       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
+       * 2. Convert each HTTP header name to lowercase.
+       * 3. Sort the headers lexicographically by header name, in ascending order.
+       *    Each header may appear only once in the string.
+       * 4. Replace any linear whitespace in the header value with a single space.
+       * 5. Trim any whitespace around the colon in the header.
+       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
+       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
+       *
+       * @param request -
+       */
+      getCanonicalizedHeadersString(request2) {
+        let headersArray = request2.headers.headersArray().filter((value) => {
+          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
+        });
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
           }
-          return {
-            retryAfterInMs
-          };
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js
-var require_exponentialRetryStrategy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/retryStrategies/exponentialRetryStrategy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.exponentialRetryStrategy = exponentialRetryStrategy;
-    exports2.isExponentialRetryResponse = isExponentialRetryResponse;
-    exports2.isSystemError = isSystemError;
-    var delay_js_1 = require_delay();
-    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
-    var DEFAULT_CLIENT_RETRY_INTERVAL = 1e3;
-    var DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1e3 * 64;
-    function exponentialRetryStrategy(options = {}) {
-      const retryInterval = options.retryDelayInMs ?? DEFAULT_CLIENT_RETRY_INTERVAL;
-      const maxRetryInterval = options.maxRetryDelayInMs ?? DEFAULT_CLIENT_MAX_RETRY_INTERVAL;
-      return {
-        name: "exponentialRetryStrategy",
-        retry({ retryCount, response, responseError }) {
-          const matchedSystemError = isSystemError(responseError);
-          const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors;
-          const isExponential = isExponentialRetryResponse(response);
-          const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes;
-          const unknownResponse = response && ((0, throttlingRetryStrategy_js_1.isThrottlingRetryResponse)(response) || !isExponential);
-          if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) {
-            return { skipStrategy: true };
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
+      }
+      /**
+       * Retrieves the webResource canonicalized resource string.
+       *
+       * @param request -
+       */
+      getCanonicalizedResourceString(request2) {
+        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${this.factory.accountName}${path3}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
           }
-          if (responseError && !matchedSystemError && !isExponential) {
-            return { errorToThrow: responseError };
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
           }
-          return (0, delay_js_1.calculateRetryDelay)(retryCount, {
-            retryDelayInMs: retryInterval,
-            maxRetryDelayInMs: maxRetryInterval
-          });
         }
-      };
-    }
-    function isExponentialRetryResponse(response) {
-      return Boolean(response && response.status !== void 0 && (response.status >= 500 || response.status === 408) && response.status !== 501 && response.status !== 505);
-    }
-    function isSystemError(err) {
-      if (!err) {
-        return false;
+        return canonicalizedResourceString;
       }
-      return err.code === "ETIMEDOUT" || err.code === "ESOCKETTIMEDOUT" || err.code === "ECONNREFUSED" || err.code === "ECONNRESET" || err.code === "ENOENT" || err.code === "ENOTFOUND";
-    }
+    };
+    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js
-var require_retryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/retryPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js
+var require_StorageSharedKeyCredential2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.retryPolicy = retryPolicy;
-    var helpers_js_1 = require_helpers();
-    var AbortError_js_1 = require_AbortError();
-    var logger_js_1 = require_logger();
-    var constants_js_1 = require_constants12();
-    var retryPolicyLogger = (0, logger_js_1.createClientLogger)("ts-http-runtime retryPolicy");
-    var retryPolicyName = "retryPolicy";
-    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
-      const logger = options.logger || retryPolicyLogger;
-      return {
-        name: retryPolicyName,
-        async sendRequest(request2, next) {
-          let response;
-          let responseError;
-          let retryCount = -1;
-          retryRequest: while (true) {
-            retryCount += 1;
-            response = void 0;
-            responseError = void 0;
-            try {
-              logger.info(`Retry ${retryCount}: Attempting to send request`, request2.requestId);
-              response = await next(request2);
-              logger.info(`Retry ${retryCount}: Received a response from request`, request2.requestId);
-            } catch (e) {
-              logger.error(`Retry ${retryCount}: Received an error from request`, request2.requestId);
-              responseError = e;
-              if (!e || responseError.name !== "RestError") {
-                throw e;
-              }
-              response = responseError.response;
-            }
-            if (request2.abortSignal?.aborted) {
-              logger.error(`Retry ${retryCount}: Request aborted.`);
-              const abortError = new AbortError_js_1.AbortError();
-              throw abortError;
-            }
-            if (retryCount >= (options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT)) {
-              logger.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`);
-              if (responseError) {
-                throw responseError;
-              } else if (response) {
-                return response;
-              } else {
-                throw new Error("Maximum retries reached with no response or error to throw");
-              }
-            }
-            logger.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`);
-            strategiesLoop: for (const strategy of strategies) {
-              const strategyLogger = strategy.logger || logger;
-              strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`);
-              const modifiers = strategy.retry({
-                retryCount,
-                response,
-                responseError
-              });
-              if (modifiers.skipStrategy) {
-                strategyLogger.info(`Retry ${retryCount}: Skipped.`);
-                continue strategiesLoop;
-              }
-              const { errorToThrow, retryAfterInMs, redirectTo } = modifiers;
-              if (errorToThrow) {
-                strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow);
-                throw errorToThrow;
-              }
-              if (retryAfterInMs || retryAfterInMs === 0) {
-                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`);
-                await (0, helpers_js_1.delay)(retryAfterInMs, void 0, { abortSignal: request2.abortSignal });
-                continue retryRequest;
-              }
-              if (redirectTo) {
-                strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`);
-                request2.url = redirectTo;
-                continue retryRequest;
-              }
-            }
-            if (responseError) {
-              logger.info(`None of the retry strategies could work with the received error. Throwing it.`);
-              throw responseError;
-            }
-            if (response) {
-              logger.info(`None of the retry strategies could work with the received response. Returning it.`);
-              return response;
-            }
-          }
-        }
-      };
-    }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageSharedKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy2();
+    var Credential_js_1 = require_Credential2();
+    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
+      /**
+       * Azure Storage account name; readonly.
+       */
+      accountName;
+      /**
+       * Azure Storage account key; readonly.
+       */
+      accountKey;
+      /**
+       * Creates an instance of StorageSharedKeyCredential.
+       * @param accountName -
+       * @param accountKey -
+       */
+      constructor(accountName, accountKey) {
+        super();
+        this.accountName = accountName;
+        this.accountKey = Buffer.from(accountKey, "base64");
+      }
+      /**
+       * Creates a StorageSharedKeyCredentialPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
+      }
+      /**
+       * Generates a hash signature for an HTTP request or for a SAS.
+       *
+       * @param stringToSign -
+       */
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
+      }
+    };
+    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js
-var require_defaultRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
+var require_AbortError4 = __commonJS({
+  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.defaultRetryPolicyName = void 0;
-    exports2.defaultRetryPolicy = defaultRetryPolicy;
-    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
-    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants12();
-    exports2.defaultRetryPolicyName = "defaultRetryPolicy";
-    function defaultRetryPolicy(options = {}) {
-      return {
-        name: exports2.defaultRetryPolicyName,
-        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)(), (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)(options)], {
-          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-        }).sendRequest
-      };
-    }
+    exports2.AbortError = void 0;
+    var AbortError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+      }
+    };
+    exports2.AbortError = AbortError;
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js
-var require_checkEnvironment = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js"(exports2) {
+// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js
+var require_commonjs14 = __commonJS({
+  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isDeno = exports2.isWebWorker = exports2.isBrowser = void 0;
-    exports2.isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
-    exports2.isWebWorker = typeof self === "object" && typeof self?.importScripts === "function" && (self.constructor?.name === "DedicatedWorkerGlobalScope" || self.constructor?.name === "ServiceWorkerGlobalScope" || self.constructor?.name === "SharedWorkerGlobalScope");
-    exports2.isDeno = typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined";
-    exports2.isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined";
-    exports2.isNodeLike = typeof globalThis.process !== "undefined" && Boolean(globalThis.process.version) && Boolean(globalThis.process.versions?.node);
-    exports2.isNodeRuntime = exports2.isNodeLike && !exports2.isBun && !exports2.isDeno;
-    exports2.isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative";
+    exports2.AbortError = void 0;
+    var AbortError_js_1 = require_AbortError4();
+    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
+      return AbortError_js_1.AbortError;
+    } });
   }
 });
 
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js
-var require_formDataPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js"(exports2) {
+// node_modules/@azure/storage-common/dist/commonjs/log.js
+var require_log6 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/log.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.formDataPolicyName = void 0;
-    exports2.formDataPolicy = formDataPolicy;
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    var httpHeaders_js_1 = require_httpHeaders();
-    exports2.formDataPolicyName = "formDataPolicy";
-    function formDataToFormDataMap(formData) {
-      const formDataMap = {};
-      for (const [key, value] of formData.entries()) {
-        formDataMap[key] ??= [];
-        formDataMap[key].push(value);
-      }
-      return formDataMap;
-    }
-    function formDataPolicy() {
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs4();
+    exports2.logger = (0, logger_1.createClientLogger)("storage-common");
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js
+var require_StorageRetryPolicyType2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicyType;
+    (function(StorageRetryPolicyType2) {
+      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
+      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
+    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js
+var require_StorageRetryPolicy2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicy = void 0;
+    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
+    var abort_controller_1 = require_commonjs14();
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common2();
+    var log_js_1 = require_log6();
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
+    function NewRetryPolicyFactory(retryOptions) {
       return {
-        name: exports2.formDataPolicyName,
-        async sendRequest(request2, next) {
-          if (checkEnvironment_js_1.isNodeLike && typeof FormData !== "undefined" && request2.body instanceof FormData) {
-            request2.formData = formDataToFormDataMap(request2.body);
-            request2.body = void 0;
-          }
-          if (request2.formData) {
-            const contentType = request2.headers.get("Content-Type");
-            if (contentType && contentType.indexOf("application/x-www-form-urlencoded") !== -1) {
-              request2.body = wwwFormUrlEncode(request2.formData);
-            } else {
-              await prepareFormData(request2.formData, request2);
-            }
-            request2.formData = void 0;
-          }
-          return next(request2);
+        create: (nextPolicy, options) => {
+          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
         }
       };
     }
-    function wwwFormUrlEncode(formData) {
-      const urlSearchParams = new URLSearchParams();
-      for (const [key, value] of Object.entries(formData)) {
-        if (Array.isArray(value)) {
-          for (const subValue of value) {
-            urlSearchParams.append(key, subValue.toString());
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
+    };
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * RetryOptions.
+       */
+      retryOptions;
+      /**
+       * Creates an instance of RetryPolicy.
+       *
+       * @param nextPolicy -
+       * @param options -
+       * @param retryOptions -
+       */
+      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
+        super(nextPolicy, options);
+        this.retryOptions = {
+          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
+          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
+          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
+          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
+          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
+          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
+        };
+      }
+      /**
+       * Sends request.
+       *
+       * @param request -
+       */
+      async sendRequest(request2) {
+        return this.attemptSendRequest(request2, false, 1);
+      }
+      /**
+       * Decide and perform next retry. Won't mutate request parameter.
+       *
+       * @param request -
+       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
+       *                                   the resource was not found. This may be due to replication delay. So, in this
+       *                                   case, we'll never try the secondary again for this operation.
+       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
+       *                                   the attempt will be performed by this method call.
+       */
+      async attemptSendRequest(request2, secondaryHas404, attempt) {
+        const newRequest = request2.clone();
+        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
+        if (!isPrimaryRetry) {
+          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
+        }
+        if (this.retryOptions.tryTimeoutInMs) {
+          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
+        }
+        let response;
+        try {
+          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+          response = await this._nextPolicy.sendRequest(newRequest);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
+            return response;
+          }
+          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+        } catch (err) {
+          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
+          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
+            throw err;
           }
-        } else {
-          urlSearchParams.append(key, value.toString());
         }
+        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
+        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
       }
-      return urlSearchParams.toString();
-    }
-    async function prepareFormData(formData, request2) {
-      const contentType = request2.headers.get("Content-Type");
-      if (contentType && !contentType.startsWith("multipart/form-data")) {
-        return;
+      /**
+       * Decide whether to retry according to last HTTP response and retry counters.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param response -
+       * @param err -
+       */
+      shouldRetry(isPrimaryRetry, attempt, response, err) {
+        if (attempt >= this.retryOptions.maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
+          return false;
+        }
+        const retriableErrors = [
+          "ETIMEDOUT",
+          "ESOCKETTIMEDOUT",
+          "ECONNREFUSED",
+          "ECONNRESET",
+          "ENOENT",
+          "ENOTFOUND",
+          "TIMEOUT",
+          "EPIPE",
+          "REQUEST_SEND_ERROR"
+          // For default xhr based http client provided in ms-rest-js
+        ];
+        if (err) {
+          for (const retriableError of retriableErrors) {
+            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
+          }
+        }
+        if (response || err) {
+          const statusCode = response ? response.status : err ? err.statusCode : 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
+          }
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
+          }
+        }
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
+            }
+          }
+        }
+        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+          return true;
+        }
+        return false;
       }
-      request2.headers.set("Content-Type", contentType ?? "multipart/form-data");
-      const parts = [];
-      for (const [fieldName, values] of Object.entries(formData)) {
-        for (const value of Array.isArray(values) ? values : [values]) {
-          if (typeof value === "string") {
-            parts.push({
-              headers: (0, httpHeaders_js_1.createHttpHeaders)({
-                "Content-Disposition": `form-data; name="${fieldName}"`
-              }),
-              body: (0, bytesEncoding_js_1.stringToUint8Array)(value, "utf-8")
-            });
-          } else if (value === void 0 || value === null || typeof value !== "object") {
-            throw new Error(`Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`);
-          } else {
-            const fileName = value.name || "blob";
-            const headers = (0, httpHeaders_js_1.createHttpHeaders)();
-            headers.set("Content-Disposition", `form-data; name="${fieldName}"; filename="${fileName}"`);
-            headers.set("Content-Type", value.type || "application/octet-stream");
-            parts.push({
-              headers,
-              body: value
-            });
+      /**
+       * Delay a calculated time between retries.
+       *
+       * @param isPrimaryRetry -
+       * @param attempt -
+       * @param abortSignal -
+       */
+      async delay(isPrimaryRetry, attempt, abortSignal) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (this.retryOptions.retryPolicyType) {
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
+              break;
+            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = this.retryOptions.retryDelayInMs;
+              break;
           }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
         }
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
       }
-      request2.multipartBody = { parts };
-    }
+    };
+    exports2.StorageRetryPolicy = StorageRetryPolicy;
   }
 });
 
-// node_modules/ms/index.js
-var require_ms = __commonJS({
-  "node_modules/ms/index.js"(exports2, module2) {
-    var s = 1e3;
-    var m = s * 60;
-    var h = m * 60;
-    var d = h * 24;
-    var w = d * 7;
-    var y = d * 365.25;
-    module2.exports = function(val, options) {
-      options = options || {};
-      var type2 = typeof val;
-      if (type2 === "string" && val.length > 0) {
-        return parse2(val);
-      } else if (type2 === "number" && isFinite(val)) {
-        return options.long ? fmtLong(val) : fmtShort(val);
-      }
-      throw new Error(
-        "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
-      );
-    };
-    function parse2(str2) {
-      str2 = String(str2);
-      if (str2.length > 100) {
-        return;
-      }
-      var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
-        str2
-      );
-      if (!match) {
-        return;
-      }
-      var n = parseFloat(match[1]);
-      var type2 = (match[2] || "ms").toLowerCase();
-      switch (type2) {
-        case "years":
-        case "year":
-        case "yrs":
-        case "yr":
-        case "y":
-          return n * y;
-        case "weeks":
-        case "week":
-        case "w":
-          return n * w;
-        case "days":
-        case "day":
-        case "d":
-          return n * d;
-        case "hours":
-        case "hour":
-        case "hrs":
-        case "hr":
-        case "h":
-          return n * h;
-        case "minutes":
-        case "minute":
-        case "mins":
-        case "min":
-        case "m":
-          return n * m;
-        case "seconds":
-        case "second":
-        case "secs":
-        case "sec":
-        case "s":
-          return n * s;
-        case "milliseconds":
-        case "millisecond":
-        case "msecs":
-        case "msec":
-        case "ms":
-          return n;
-        default:
-          return void 0;
-      }
-    }
-    function fmtShort(ms) {
-      var msAbs = Math.abs(ms);
-      if (msAbs >= d) {
-        return Math.round(ms / d) + "d";
-      }
-      if (msAbs >= h) {
-        return Math.round(ms / h) + "h";
-      }
-      if (msAbs >= m) {
-        return Math.round(ms / m) + "m";
+// node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js
+var require_StorageRetryPolicyFactory2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
+    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy2();
+    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
+      return StorageRetryPolicy_js_1.StorageRetryPolicy;
+    } });
+    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
+    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
+      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
+    } });
+    var StorageRetryPolicyFactory = class {
+      retryOptions;
+      /**
+       * Creates an instance of StorageRetryPolicyFactory.
+       * @param retryOptions -
+       */
+      constructor(retryOptions) {
+        this.retryOptions = retryOptions;
       }
-      if (msAbs >= s) {
-        return Math.round(ms / s) + "s";
+      /**
+       * Creates a StorageRetryPolicy object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
       }
-      return ms + "ms";
+    };
+    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js
+var require_StorageBrowserPolicyV2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageBrowserPolicyName = void 0;
+    exports2.storageBrowserPolicy = storageBrowserPolicy;
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common2();
+    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
+    function storageBrowserPolicy() {
+      return {
+        name: exports2.storageBrowserPolicyName,
+        async sendRequest(request2, next) {
+          if (core_util_1.isNodeLike) {
+            return next(request2);
+          }
+          if (request2.method === "GET" || request2.method === "HEAD") {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+          }
+          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
+          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+          return next(request2);
+        }
+      };
     }
-    function fmtLong(ms) {
-      var msAbs = Math.abs(ms);
-      if (msAbs >= d) {
-        return plural(ms, msAbs, d, "day");
-      }
-      if (msAbs >= h) {
-        return plural(ms, msAbs, h, "hour");
-      }
-      if (msAbs >= m) {
-        return plural(ms, msAbs, m, "minute");
-      }
-      if (msAbs >= s) {
-        return plural(ms, msAbs, s, "second");
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
+var require_StorageCorrectContentLengthPolicy = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageCorrectContentLengthPolicyName = void 0;
+    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
+    var constants_js_1 = require_constants15();
+    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
+    function storageCorrectContentLengthPolicy() {
+      function correctContentLength(request2) {
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
       }
-      return ms + " ms";
-    }
-    function plural(ms, msAbs, n, name) {
-      var isPlural = msAbs >= n * 1.5;
-      return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
+      return {
+        name: exports2.storageCorrectContentLengthPolicyName,
+        async sendRequest(request2, next) {
+          correctContentLength(request2);
+          return next(request2);
+        }
+      };
     }
   }
 });
 
-// node_modules/debug/src/common.js
-var require_common = __commonJS({
-  "node_modules/debug/src/common.js"(exports2, module2) {
-    function setup(env) {
-      createDebug.debug = createDebug;
-      createDebug.default = createDebug;
-      createDebug.coerce = coerce3;
-      createDebug.disable = disable;
-      createDebug.enable = enable;
-      createDebug.enabled = enabled;
-      createDebug.humanize = require_ms();
-      createDebug.destroy = destroy;
-      Object.keys(env).forEach((key) => {
-        createDebug[key] = env[key];
-      });
-      createDebug.names = [];
-      createDebug.skips = [];
-      createDebug.formatters = {};
-      function selectColor(namespace) {
-        let hash = 0;
-        for (let i = 0; i < namespace.length; i++) {
-          hash = (hash << 5) - hash + namespace.charCodeAt(i);
-          hash |= 0;
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js
+var require_StorageRetryPolicyV2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageRetryPolicyName = void 0;
+    exports2.storageRetryPolicy = storageRetryPolicy;
+    var abort_controller_1 = require_commonjs14();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_1 = require_commonjs6();
+    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory2();
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common2();
+    var log_js_1 = require_log6();
+    exports2.storageRetryPolicyName = "storageRetryPolicy";
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
+    };
+    var retriableErrors = [
+      "ETIMEDOUT",
+      "ESOCKETTIMEDOUT",
+      "ECONNREFUSED",
+      "ECONNRESET",
+      "ENOENT",
+      "ENOTFOUND",
+      "TIMEOUT",
+      "EPIPE",
+      "REQUEST_SEND_ERROR"
+    ];
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    function storageRetryPolicy(options = {}) {
+      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
+      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
+      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
+      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
+      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
+      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
+      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
+        if (attempt >= maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
+          return false;
         }
-        return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
-      }
-      createDebug.selectColor = selectColor;
-      function createDebug(namespace) {
-        let prevTime;
-        let enableOverride = null;
-        let namespacesCache;
-        let enabledCache;
-        function debug4(...args) {
-          if (!debug4.enabled) {
-            return;
+        if (error3) {
+          for (const retriableError of retriableErrors) {
+            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
           }
-          const self2 = debug4;
-          const curr = Number(/* @__PURE__ */ new Date());
-          const ms = curr - (prevTime || curr);
-          self2.diff = ms;
-          self2.prev = prevTime;
-          self2.curr = curr;
-          prevTime = curr;
-          args[0] = createDebug.coerce(args[0]);
-          if (typeof args[0] !== "string") {
-            args.unshift("%O");
+          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+            return true;
           }
-          let index = 0;
-          args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
-            if (match === "%%") {
-              return "%";
-            }
-            index++;
-            const formatter = createDebug.formatters[format];
-            if (typeof formatter === "function") {
-              const val = args[index];
-              match = formatter.call(self2, val);
-              args.splice(index, 1);
-              index--;
-            }
-            return match;
-          });
-          createDebug.formatArgs.call(self2, args);
-          const logFn = self2.log || createDebug.log;
-          logFn.apply(self2, args);
         }
-        debug4.namespace = namespace;
-        debug4.useColors = createDebug.useColors();
-        debug4.color = createDebug.selectColor(namespace);
-        debug4.extend = extend3;
-        debug4.destroy = createDebug.destroy;
-        Object.defineProperty(debug4, "enabled", {
-          enumerable: true,
-          configurable: false,
-          get: () => {
-            if (enableOverride !== null) {
-              return enableOverride;
-            }
-            if (namespacesCache !== createDebug.namespaces) {
-              namespacesCache = createDebug.namespaces;
-              enabledCache = createDebug.enabled(namespace);
-            }
-            return enabledCache;
-          },
-          set: (v) => {
-            enableOverride = v;
+        if (response || error3) {
+          const statusCode = response?.status ?? error3?.statusCode ?? 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
           }
-        });
-        if (typeof createDebug.init === "function") {
-          createDebug.init(debug4);
-        }
-        return debug4;
-      }
-      function extend3(namespace, delimiter) {
-        const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
-        newDebug.log = this.log;
-        return newDebug;
-      }
-      function enable(namespaces) {
-        createDebug.save(namespaces);
-        createDebug.namespaces = namespaces;
-        createDebug.names = [];
-        createDebug.skips = [];
-        const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
-        for (const ns of split) {
-          if (ns[0] === "-") {
-            createDebug.skips.push(ns.slice(1));
-          } else {
-            createDebug.names.push(ns);
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
           }
         }
-      }
-      function matchesTemplate(search, template) {
-        let searchIndex = 0;
-        let templateIndex = 0;
-        let starIndex = -1;
-        let matchIndex = 0;
-        while (searchIndex < search.length) {
-          if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
-            if (template[templateIndex] === "*") {
-              starIndex = templateIndex;
-              matchIndex = searchIndex;
-              templateIndex++;
-            } else {
-              searchIndex++;
-              templateIndex++;
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
             }
-          } else if (starIndex !== -1) {
-            templateIndex = starIndex + 1;
-            matchIndex++;
-            searchIndex = matchIndex;
-          } else {
-            return false;
           }
         }
-        while (templateIndex < template.length && template[templateIndex] === "*") {
-          templateIndex++;
-        }
-        return templateIndex === template.length;
-      }
-      function disable() {
-        const namespaces = [
-          ...createDebug.names,
-          ...createDebug.skips.map((namespace) => "-" + namespace)
-        ].join(",");
-        createDebug.enable("");
-        return namespaces;
+        return false;
       }
-      function enabled(name) {
-        for (const skip of createDebug.skips) {
-          if (matchesTemplate(name, skip)) {
-            return false;
-          }
-        }
-        for (const ns of createDebug.names) {
-          if (matchesTemplate(name, ns)) {
-            return true;
+      function calculateDelay(isPrimaryRetry, attempt) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (retryPolicyType) {
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
+              break;
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = retryDelayInMs;
+              break;
           }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
         }
-        return false;
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return delayTimeInMs;
       }
-      function coerce3(val) {
-        if (val instanceof Error) {
-          return val.stack || val.message;
+      return {
+        name: exports2.storageRetryPolicyName,
+        async sendRequest(request2, next) {
+          if (tryTimeoutInMs) {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
+          }
+          const primaryUrl = request2.url;
+          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
+          let secondaryHas404 = false;
+          let attempt = 1;
+          let retryAgain = true;
+          let response;
+          let error3;
+          while (retryAgain) {
+            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
+            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
+            response = void 0;
+            error3 = void 0;
+            try {
+              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+              response = await next(request2);
+              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+            } catch (e) {
+              if ((0, core_rest_pipeline_1.isRestError)(e)) {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
+                error3 = e;
+              } else {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
+                throw e;
+              }
+            }
+            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
+            if (retryAgain) {
+              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
+            }
+            attempt++;
+          }
+          if (response) {
+            return response;
+          }
+          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
         }
-        return val;
-      }
-      function destroy() {
-        console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
-      }
-      createDebug.enable(createDebug.load());
-      return createDebug;
+      };
     }
-    module2.exports = setup;
   }
 });
 
-// node_modules/debug/src/browser.js
-var require_browser = __commonJS({
-  "node_modules/debug/src/browser.js"(exports2, module2) {
-    exports2.formatArgs = formatArgs;
-    exports2.save = save;
-    exports2.load = load2;
-    exports2.useColors = useColors;
-    exports2.storage = localstorage();
-    exports2.destroy = /* @__PURE__ */ (() => {
-      let warned = false;
-      return () => {
-        if (!warned) {
-          warned = true;
-          console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
+var require_StorageSharedKeyCredentialPolicyV2 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageSharedKeyCredentialPolicyName = void 0;
+    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
+    var node_crypto_1 = require("node:crypto");
+    var constants_js_1 = require_constants15();
+    var utils_common_js_1 = require_utils_common2();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
+    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
+    function storageSharedKeyCredentialPolicy(options) {
+      function signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
         }
-      };
-    })();
-    exports2.colors = [
-      "#0000CC",
-      "#0000FF",
-      "#0033CC",
-      "#0033FF",
-      "#0066CC",
-      "#0066FF",
-      "#0099CC",
-      "#0099FF",
-      "#00CC00",
-      "#00CC33",
-      "#00CC66",
-      "#00CC99",
-      "#00CCCC",
-      "#00CCFF",
-      "#3300CC",
-      "#3300FF",
-      "#3333CC",
-      "#3333FF",
-      "#3366CC",
-      "#3366FF",
-      "#3399CC",
-      "#3399FF",
-      "#33CC00",
-      "#33CC33",
-      "#33CC66",
-      "#33CC99",
-      "#33CCCC",
-      "#33CCFF",
-      "#6600CC",
-      "#6600FF",
-      "#6633CC",
-      "#6633FF",
-      "#66CC00",
-      "#66CC33",
-      "#9900CC",
-      "#9900FF",
-      "#9933CC",
-      "#9933FF",
-      "#99CC00",
-      "#99CC33",
-      "#CC0000",
-      "#CC0033",
-      "#CC0066",
-      "#CC0099",
-      "#CC00CC",
-      "#CC00FF",
-      "#CC3300",
-      "#CC3333",
-      "#CC3366",
-      "#CC3399",
-      "#CC33CC",
-      "#CC33FF",
-      "#CC6600",
-      "#CC6633",
-      "#CC9900",
-      "#CC9933",
-      "#CCCC00",
-      "#CCCC33",
-      "#FF0000",
-      "#FF0033",
-      "#FF0066",
-      "#FF0099",
-      "#FF00CC",
-      "#FF00FF",
-      "#FF3300",
-      "#FF3333",
-      "#FF3366",
-      "#FF3399",
-      "#FF33CC",
-      "#FF33FF",
-      "#FF6600",
-      "#FF6633",
-      "#FF9900",
-      "#FF9933",
-      "#FFCC00",
-      "#FFCC33"
-    ];
-    function useColors() {
-      if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
-        return true;
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
+        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
       }
-      if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
-        return false;
+      function getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
+        }
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
+        }
+        return value;
       }
-      let m;
-      return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
-      typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
-      // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
-      typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
-      typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
-    }
-    function formatArgs(args) {
-      args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
-      if (!this.useColors) {
-        return;
+      function getCanonicalizedHeadersString(request2) {
+        let headersArray = [];
+        for (const [name, value] of request2.headers) {
+          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
+            headersArray.push({ name, value });
+          }
+        }
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
+          }
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
       }
-      const c = "color: " + this.color;
-      args.splice(1, 0, c, "color: inherit");
-      let index = 0;
-      let lastC = 0;
-      args[0].replace(/%[a-zA-Z%]/g, (match) => {
-        if (match === "%%") {
-          return;
+      function getCanonicalizedResourceString(request2) {
+        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${options.accountName}${path3}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
+          }
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
+          }
         }
-        index++;
-        if (match === "%c") {
-          lastC = index;
+        return canonicalizedResourceString;
+      }
+      return {
+        name: exports2.storageSharedKeyCredentialPolicyName,
+        async sendRequest(request2, next) {
+          signRequest(request2);
+          return next(request2);
         }
-      });
-      args.splice(lastC, 0, c);
+      };
     }
-    exports2.log = console.debug || console.log || (() => {
-    });
-    function save(namespaces) {
-      try {
-        if (namespaces) {
-          exports2.storage.setItem("debug", namespaces);
-        } else {
-          exports2.storage.removeItem("debug");
+  }
+});
+
+// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js
+var require_StorageRequestFailureDetailsParserPolicy = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageRequestFailureDetailsParserPolicyName = void 0;
+    exports2.storageRequestFailureDetailsParserPolicy = storageRequestFailureDetailsParserPolicy;
+    exports2.storageRequestFailureDetailsParserPolicyName = "storageRequestFailureDetailsParserPolicy";
+    function storageRequestFailureDetailsParserPolicy() {
+      return {
+        name: exports2.storageRequestFailureDetailsParserPolicyName,
+        async sendRequest(request2, next) {
+          try {
+            const response = await next(request2);
+            return response;
+          } catch (err) {
+            if (typeof err === "object" && err !== null && err.response && err.response.parsedBody) {
+              if (err.response.parsedBody.code === "InvalidHeaderValue" && err.response.parsedBody.HeaderName === "x-ms-version") {
+                err.message = "The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.\n";
+              }
+            }
+            throw err;
+          }
         }
-      } catch (error3) {
-      }
-    }
-    function load2() {
-      let r;
-      try {
-        r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG");
-      } catch (error3) {
-      }
-      if (!r && typeof process !== "undefined" && "env" in process) {
-        r = process.env.DEBUG;
-      }
-      return r;
-    }
-    function localstorage() {
-      try {
-        return localStorage;
-      } catch (error3) {
-      }
+      };
     }
-    module2.exports = require_common()(exports2);
-    var { formatters } = module2.exports;
-    formatters.j = function(v) {
-      try {
-        return JSON.stringify(v);
-      } catch (error3) {
-        return "[UnexpectedJSONParseError]: " + error3.message;
-      }
-    };
   }
 });
 
-// node_modules/has-flag/index.js
-var require_has_flag = __commonJS({
-  "node_modules/has-flag/index.js"(exports2, module2) {
+// node_modules/@azure/storage-common/dist/commonjs/index.js
+var require_commonjs15 = __commonJS({
+  "node_modules/@azure/storage-common/dist/commonjs/index.js"(exports2) {
     "use strict";
-    module2.exports = (flag, argv = process.argv) => {
-      const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
-      const position = argv.indexOf(prefix + flag);
-      const terminatorPosition = argv.indexOf("--");
-      return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
-    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BaseRequestPolicy = exports2.getCachedDefaultHttpClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_BufferScheduler(), exports2);
+    var cache_js_1 = require_cache3();
+    Object.defineProperty(exports2, "getCachedDefaultHttpClient", { enumerable: true, get: function() {
+      return cache_js_1.getCachedDefaultHttpClient;
+    } });
+    tslib_1.__exportStar(require_StorageBrowserPolicyFactory(), exports2);
+    tslib_1.__exportStar(require_AnonymousCredential2(), exports2);
+    tslib_1.__exportStar(require_Credential2(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredential2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
+    var RequestPolicy_js_1 = require_RequestPolicy2();
+    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
+      return RequestPolicy_js_1.BaseRequestPolicy;
+    } });
+    tslib_1.__exportStar(require_AnonymousCredentialPolicy2(), exports2);
+    tslib_1.__exportStar(require_CredentialPolicy2(), exports2);
+    tslib_1.__exportStar(require_StorageBrowserPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageBrowserPolicyV2(), exports2);
+    tslib_1.__exportStar(require_StorageCorrectContentLengthPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyType2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicy2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyV2(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy2(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicyV2(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
+    tslib_1.__exportStar(require_StorageRequestFailureDetailsParserPolicy(), exports2);
   }
 });
 
-// node_modules/supports-color/index.js
-var require_supports_color = __commonJS({
-  "node_modules/supports-color/index.js"(exports2, module2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js
+var require_StorageBrowserPolicyV22 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
     "use strict";
-    var os2 = require("os");
-    var tty = require("tty");
-    var hasFlag = require_has_flag();
-    var { env } = process;
-    var forceColor;
-    if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
-      forceColor = 0;
-    } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
-      forceColor = 1;
-    }
-    if ("FORCE_COLOR" in env) {
-      if (env.FORCE_COLOR === "true") {
-        forceColor = 1;
-      } else if (env.FORCE_COLOR === "false") {
-        forceColor = 0;
-      } else {
-        forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
-      }
-    }
-    function translateLevel(level) {
-      if (level === 0) {
-        return false;
-      }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageBrowserPolicyName = void 0;
+    exports2.storageBrowserPolicy = storageBrowserPolicy;
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
+    function storageBrowserPolicy() {
       return {
-        level,
-        hasBasic: true,
-        has256: level >= 2,
-        has16m: level >= 3
+        name: exports2.storageBrowserPolicyName,
+        async sendRequest(request2, next) {
+          if (core_util_1.isNodeLike) {
+            return next(request2);
+          }
+          if (request2.method === "GET" || request2.method === "HEAD") {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+          }
+          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
+          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+          return next(request2);
+        }
       };
     }
-    function supportsColor(haveStream, streamIsTTY) {
-      if (forceColor === 0) {
-        return 0;
-      }
-      if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
-        return 3;
-      }
-      if (hasFlag("color=256")) {
-        return 2;
-      }
-      if (haveStream && !streamIsTTY && forceColor === void 0) {
-        return 0;
-      }
-      const min = forceColor || 0;
-      if (env.TERM === "dumb") {
-        return min;
-      }
-      if (process.platform === "win32") {
-        const osRelease = os2.release().split(".");
-        if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
-          return Number(osRelease[2]) >= 14931 ? 3 : 2;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js
+var require_StorageRetryPolicyV22 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageRetryPolicyName = void 0;
+    exports2.storageRetryPolicy = storageRetryPolicy;
+    var abort_controller_1 = require_commonjs13();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_1 = require_commonjs6();
+    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    var log_js_1 = require_log5();
+    exports2.storageRetryPolicyName = "storageRetryPolicy";
+    var DEFAULT_RETRY_OPTIONS = {
+      maxRetryDelayInMs: 120 * 1e3,
+      maxTries: 4,
+      retryDelayInMs: 4 * 1e3,
+      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
+      secondaryHost: "",
+      tryTimeoutInMs: void 0
+      // Use server side default timeout strategy
+    };
+    var retriableErrors = [
+      "ETIMEDOUT",
+      "ESOCKETTIMEDOUT",
+      "ECONNREFUSED",
+      "ECONNRESET",
+      "ENOENT",
+      "ENOTFOUND",
+      "TIMEOUT",
+      "EPIPE",
+      "REQUEST_SEND_ERROR"
+    ];
+    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
+    function storageRetryPolicy(options = {}) {
+      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
+      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
+      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
+      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
+      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
+      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
+      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
+        if (attempt >= maxTries) {
+          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
+          return false;
         }
-        return 1;
-      }
-      if ("CI" in env) {
-        if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
-          return 1;
+        if (error3) {
+          for (const retriableError of retriableErrors) {
+            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
+              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
+              return true;
+            }
+          }
+          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
+            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
+            return true;
+          }
         }
-        return min;
-      }
-      if ("TEAMCITY_VERSION" in env) {
-        return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
-      }
-      if (env.COLORTERM === "truecolor") {
-        return 3;
-      }
-      if ("TERM_PROGRAM" in env) {
-        const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
-        switch (env.TERM_PROGRAM) {
-          case "iTerm.app":
-            return version >= 3 ? 3 : 2;
-          case "Apple_Terminal":
-            return 2;
+        if (response || error3) {
+          const statusCode = response?.status ?? error3?.statusCode ?? 0;
+          if (!isPrimaryRetry && statusCode === 404) {
+            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
+            return true;
+          }
+          if (statusCode === 503 || statusCode === 500) {
+            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
+            return true;
+          }
         }
+        if (response) {
+          if (response?.status >= 400) {
+            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
+            if (copySourceError !== void 0) {
+              switch (copySourceError) {
+                case "InternalError":
+                case "OperationTimedOut":
+                case "ServerBusy":
+                  return true;
+              }
+            }
+          }
+        }
+        return false;
       }
-      if (/-256(color)?$/i.test(env.TERM)) {
-        return 2;
-      }
-      if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
-        return 1;
-      }
-      if ("COLORTERM" in env) {
-        return 1;
+      function calculateDelay(isPrimaryRetry, attempt) {
+        let delayTimeInMs = 0;
+        if (isPrimaryRetry) {
+          switch (retryPolicyType) {
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
+              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
+              break;
+            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
+              delayTimeInMs = retryDelayInMs;
+              break;
+          }
+        } else {
+          delayTimeInMs = Math.random() * 1e3;
+        }
+        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
+        return delayTimeInMs;
       }
-      return min;
-    }
-    function getSupportLevel(stream) {
-      const level = supportsColor(stream, stream && stream.isTTY);
-      return translateLevel(level);
+      return {
+        name: exports2.storageRetryPolicyName,
+        async sendRequest(request2, next) {
+          if (tryTimeoutInMs) {
+            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
+          }
+          const primaryUrl = request2.url;
+          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
+          let secondaryHas404 = false;
+          let attempt = 1;
+          let retryAgain = true;
+          let response;
+          let error3;
+          while (retryAgain) {
+            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
+            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
+            response = void 0;
+            error3 = void 0;
+            try {
+              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
+              response = await next(request2);
+              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
+            } catch (e) {
+              if ((0, core_rest_pipeline_1.isRestError)(e)) {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
+                error3 = e;
+              } else {
+                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
+                throw e;
+              }
+            }
+            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
+            if (retryAgain) {
+              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
+            }
+            attempt++;
+          }
+          if (response) {
+            return response;
+          }
+          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
+        }
+      };
     }
-    module2.exports = {
-      supportsColor: getSupportLevel,
-      stdout: translateLevel(supportsColor(true, tty.isatty(1))),
-      stderr: translateLevel(supportsColor(true, tty.isatty(2)))
-    };
   }
 });
 
-// node_modules/debug/src/node.js
-var require_node = __commonJS({
-  "node_modules/debug/src/node.js"(exports2, module2) {
-    var tty = require("tty");
-    var util = require("util");
-    exports2.init = init;
-    exports2.log = log;
-    exports2.formatArgs = formatArgs;
-    exports2.save = save;
-    exports2.load = load2;
-    exports2.useColors = useColors;
-    exports2.destroy = util.deprecate(
-      () => {
-      },
-      "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
-    );
-    exports2.colors = [6, 2, 3, 4, 5, 1];
-    try {
-      const supportsColor = require_supports_color();
-      if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
-        exports2.colors = [
-          20,
-          21,
-          26,
-          27,
-          32,
-          33,
-          38,
-          39,
-          40,
-          41,
-          42,
-          43,
-          44,
-          45,
-          56,
-          57,
-          62,
-          63,
-          68,
-          69,
-          74,
-          75,
-          76,
-          77,
-          78,
-          79,
-          80,
-          81,
-          92,
-          93,
-          98,
-          99,
-          112,
-          113,
-          128,
-          129,
-          134,
-          135,
-          148,
-          149,
-          160,
-          161,
-          162,
-          163,
-          164,
-          165,
-          166,
-          167,
-          168,
-          169,
-          170,
-          171,
-          172,
-          173,
-          178,
-          179,
-          184,
-          185,
-          196,
-          197,
-          198,
-          199,
-          200,
-          201,
-          202,
-          203,
-          204,
-          205,
-          206,
-          207,
-          208,
-          209,
-          214,
-          215,
-          220,
-          221
-        ];
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
+var require_StorageSharedKeyCredentialPolicyV22 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.storageSharedKeyCredentialPolicyName = void 0;
+    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
+    var node_crypto_1 = require("node:crypto");
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
+    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
+    function storageSharedKeyCredentialPolicy(options) {
+      function signRequest(request2) {
+        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
+        const stringToSign = [
+          request2.method.toUpperCase(),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
+          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
+        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
+        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
+        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
       }
-    } catch (error3) {
-    }
-    exports2.inspectOpts = Object.keys(process.env).filter((key) => {
-      return /^debug_/i.test(key);
-    }).reduce((obj, key) => {
-      const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k) => {
-        return k.toUpperCase();
-      });
-      let val = process.env[key];
-      if (/^(yes|on|true|enabled)$/i.test(val)) {
-        val = true;
-      } else if (/^(no|off|false|disabled)$/i.test(val)) {
-        val = false;
-      } else if (val === "null") {
-        val = null;
-      } else {
-        val = Number(val);
+      function getHeaderValueToSign(request2, headerName) {
+        const value = request2.headers.get(headerName);
+        if (!value) {
+          return "";
+        }
+        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
+          return "";
+        }
+        return value;
       }
-      obj[prop] = val;
-      return obj;
-    }, {});
-    function useColors() {
-      return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd);
-    }
-    function formatArgs(args) {
-      const { namespace: name, useColors: useColors2 } = this;
-      if (useColors2) {
-        const c = this.color;
-        const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
-        const prefix = `  ${colorCode};1m${name} \x1B[0m`;
-        args[0] = prefix + args[0].split("\n").join("\n" + prefix);
-        args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
-      } else {
-        args[0] = getDate() + name + " " + args[0];
+      function getCanonicalizedHeadersString(request2) {
+        let headersArray = [];
+        for (const [name, value] of request2.headers) {
+          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
+            headersArray.push({ name, value });
+          }
+        }
+        headersArray.sort((a, b) => {
+          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
+        });
+        headersArray = headersArray.filter((value, index, array) => {
+          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
+            return false;
+          }
+          return true;
+        });
+        let canonicalizedHeadersStringToSign = "";
+        headersArray.forEach((header) => {
+          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
+`;
+        });
+        return canonicalizedHeadersStringToSign;
       }
-    }
-    function getDate() {
-      if (exports2.inspectOpts.hideDate) {
-        return "";
+      function getCanonicalizedResourceString(request2) {
+        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
+        let canonicalizedResourceString = "";
+        canonicalizedResourceString += `/${options.accountName}${path3}`;
+        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
+        const lowercaseQueries = {};
+        if (queries) {
+          const queryKeys = [];
+          for (const key in queries) {
+            if (Object.prototype.hasOwnProperty.call(queries, key)) {
+              const lowercaseKey = key.toLowerCase();
+              lowercaseQueries[lowercaseKey] = queries[key];
+              queryKeys.push(lowercaseKey);
+            }
+          }
+          queryKeys.sort();
+          for (const key of queryKeys) {
+            canonicalizedResourceString += `
+${key}:${decodeURIComponent(lowercaseQueries[key])}`;
+          }
+        }
+        return canonicalizedResourceString;
       }
-      return (/* @__PURE__ */ new Date()).toISOString() + " ";
-    }
-    function log(...args) {
-      return process.stderr.write(util.formatWithOptions(exports2.inspectOpts, ...args) + "\n");
+      return {
+        name: exports2.storageSharedKeyCredentialPolicyName,
+        async sendRequest(request2, next) {
+          signRequest(request2);
+          return next(request2);
+        }
+      };
     }
-    function save(namespaces) {
-      if (namespaces) {
-        process.env.DEBUG = namespaces;
-      } else {
-        delete process.env.DEBUG;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js
+var require_StorageBrowserPolicy2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBrowserPolicy = void 0;
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
+      /**
+       * Creates an instance of StorageBrowserPolicy.
+       * @param nextPolicy -
+       * @param options -
+       */
+      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
+      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
+      constructor(nextPolicy, options) {
+        super(nextPolicy, options);
       }
-    }
-    function load2() {
-      return process.env.DEBUG;
-    }
-    function init(debug4) {
-      debug4.inspectOpts = {};
-      const keys = Object.keys(exports2.inspectOpts);
-      for (let i = 0; i < keys.length; i++) {
-        debug4.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
+      /**
+       * Sends out request.
+       *
+       * @param request -
+       */
+      async sendRequest(request2) {
+        if (core_util_1.isNodeLike) {
+          return this._nextPolicy.sendRequest(request2);
+        }
+        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
+          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+        }
+        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
+        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
+        return this._nextPolicy.sendRequest(request2);
       }
-    }
-    module2.exports = require_common()(exports2);
-    var { formatters } = module2.exports;
-    formatters.o = function(v) {
-      this.inspectOpts.colors = this.useColors;
-      return util.inspect(v, this.inspectOpts).split("\n").map((str2) => str2.trim()).join(" ");
-    };
-    formatters.O = function(v) {
-      this.inspectOpts.colors = this.useColors;
-      return util.inspect(v, this.inspectOpts);
     };
+    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
   }
 });
 
-// node_modules/debug/src/index.js
-var require_src = __commonJS({
-  "node_modules/debug/src/index.js"(exports2, module2) {
-    if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
-      module2.exports = require_browser();
-    } else {
-      module2.exports = require_node();
-    }
+// node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js
+var require_StorageBrowserPolicyFactory2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
+    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy2();
+    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
+      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
+    } });
+    var StorageBrowserPolicyFactory = class {
+      /**
+       * Creates a StorageBrowserPolicyFactory object.
+       *
+       * @param nextPolicy -
+       * @param options -
+       */
+      create(nextPolicy, options) {
+        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
+      }
+    };
+    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
   }
 });
 
-// node_modules/agent-base/dist/helpers.js
-var require_helpers2 = __commonJS({
-  "node_modules/agent-base/dist/helpers.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
+var require_StorageCorrectContentLengthPolicy2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.req = exports2.json = exports2.toBuffer = void 0;
-    var http = __importStar2(require("http"));
-    var https2 = __importStar2(require("https"));
-    async function toBuffer(stream) {
-      let length = 0;
-      const chunks = [];
-      for await (const chunk of stream) {
-        length += chunk.length;
-        chunks.push(chunk);
-      }
-      return Buffer.concat(chunks, length);
-    }
-    exports2.toBuffer = toBuffer;
-    async function json2(stream) {
-      const buf = await toBuffer(stream);
-      const str2 = buf.toString("utf8");
-      try {
-        return JSON.parse(str2);
-      } catch (_err) {
-        const err = _err;
-        err.message += ` (input: ${str2})`;
-        throw err;
+    exports2.storageCorrectContentLengthPolicyName = void 0;
+    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
+    var constants_js_1 = require_constants14();
+    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
+    function storageCorrectContentLengthPolicy() {
+      function correctContentLength(request2) {
+        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
+          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+        }
       }
+      return {
+        name: exports2.storageCorrectContentLengthPolicyName,
+        async sendRequest(request2, next) {
+          correctContentLength(request2);
+          return next(request2);
+        }
+      };
     }
-    exports2.json = json2;
-    function req(url, opts = {}) {
-      const href = typeof url === "string" ? url : url.href;
-      const req2 = (href.startsWith("https:") ? https2 : http).request(url, opts);
-      const promise = new Promise((resolve2, reject) => {
-        req2.once("response", resolve2).once("error", reject).end();
-      });
-      req2.then = promise.then.bind(promise);
-      return req2;
-    }
-    exports2.req = req;
   }
 });
 
-// node_modules/agent-base/dist/index.js
-var require_dist = __commonJS({
-  "node_modules/agent-base/dist/index.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js
+var require_Pipeline = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
-      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Agent = void 0;
-    var net = __importStar2(require("net"));
-    var http = __importStar2(require("http"));
-    var https_1 = require("https");
-    __exportStar2(require_helpers2(), exports2);
-    var INTERNAL = /* @__PURE__ */ Symbol("AgentBaseInternalState");
-    var Agent = class extends http.Agent {
-      constructor(opts) {
-        super(opts);
-        this[INTERNAL] = {};
+    exports2.Pipeline = exports2.StorageOAuthScopes = void 0;
+    exports2.isPipelineLike = isPipelineLike;
+    exports2.newPipeline = newPipeline;
+    exports2.getCoreClientOptions = getCoreClientOptions;
+    exports2.getCredentialFromPipeline = getCredentialFromPipeline;
+    var core_http_compat_1 = require_commonjs11();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_client_1 = require_commonjs10();
+    var core_xml_1 = require_commonjs12();
+    var core_auth_1 = require_commonjs9();
+    var log_js_1 = require_log5();
+    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var constants_js_1 = require_constants14();
+    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
+      return constants_js_1.StorageOAuthScopes;
+    } });
+    var storage_common_1 = require_commonjs15();
+    var StorageBrowserPolicyV2_js_1 = require_StorageBrowserPolicyV22();
+    var StorageRetryPolicyV2_js_1 = require_StorageRetryPolicyV22();
+    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
+    var StorageBrowserPolicyFactory_js_1 = require_StorageBrowserPolicyFactory2();
+    var StorageCorrectContentLengthPolicy_js_1 = require_StorageCorrectContentLengthPolicy2();
+    function isPipelineLike(pipeline) {
+      if (!pipeline || typeof pipeline !== "object") {
+        return false;
       }
+      const castPipeline = pipeline;
+      return Array.isArray(castPipeline.factories) && typeof castPipeline.options === "object" && typeof castPipeline.toServiceClientOptions === "function";
+    }
+    var Pipeline = class {
       /**
-       * Determine whether this is an `http` or `https` request.
+       * A list of chained request policy factories.
        */
-      isSecureEndpoint(options) {
-        if (options) {
-          if (typeof options.secureEndpoint === "boolean") {
-            return options.secureEndpoint;
-          }
-          if (typeof options.protocol === "string") {
-            return options.protocol === "https:";
-          }
-        }
-        const { stack } = new Error();
-        if (typeof stack !== "string")
-          return false;
-        return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
+      factories;
+      /**
+       * Configures pipeline logger and HTTP client.
+       */
+      options;
+      /**
+       * Creates an instance of Pipeline. Customize HTTPClient by implementing IHttpClient interface.
+       *
+       * @param factories -
+       * @param options -
+       */
+      constructor(factories, options = {}) {
+        this.factories = factories;
+        this.options = options;
       }
-      // In order to support async signatures in `connect()` and Node's native
-      // connection pooling in `http.Agent`, the array of sockets for each origin
-      // has to be updated synchronously. This is so the length of the array is
-      // accurate when `addRequest()` is next called. We achieve this by creating a
-      // fake socket and adding it to `sockets[origin]` and incrementing
-      // `totalSocketCount`.
-      incrementSockets(name) {
-        if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
-          return null;
-        }
-        if (!this.sockets[name]) {
-          this.sockets[name] = [];
-        }
-        const fakeSocket = new net.Socket({ writable: false });
-        this.sockets[name].push(fakeSocket);
-        this.totalSocketCount++;
-        return fakeSocket;
+      /**
+       * Transfer Pipeline object to ServiceClientOptions object which is required by
+       * ServiceClient constructor.
+       *
+       * @returns The ServiceClientOptions object from this Pipeline.
+       */
+      toServiceClientOptions() {
+        return {
+          httpClient: this.options.httpClient,
+          requestPolicyFactories: this.factories
+        };
       }
-      decrementSockets(name, socket) {
-        if (!this.sockets[name] || socket === null) {
-          return;
-        }
-        const sockets = this.sockets[name];
-        const index = sockets.indexOf(socket);
-        if (index !== -1) {
-          sockets.splice(index, 1);
-          this.totalSocketCount--;
-          if (sockets.length === 0) {
-            delete this.sockets[name];
-          }
-        }
+    };
+    exports2.Pipeline = Pipeline;
+    function newPipeline(credential, pipelineOptions = {}) {
+      if (!credential) {
+        credential = new AnonymousCredential_js_1.AnonymousCredential();
       }
-      // In order to properly update the socket pool, we need to call `getName()` on
-      // the core `https.Agent` if it is a secureEndpoint.
-      getName(options) {
-        const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options);
-        if (secureEndpoint) {
-          return https_1.Agent.prototype.getName.call(this, options);
+      const pipeline = new Pipeline([], pipelineOptions);
+      pipeline._credential = credential;
+      return pipeline;
+    }
+    function processDownlevelPipeline(pipeline) {
+      const knownFactoryFunctions = [
+        isAnonymousCredential,
+        isStorageSharedKeyCredential,
+        isCoreHttpBearerTokenFactory,
+        isStorageBrowserPolicyFactory,
+        isStorageRetryPolicyFactory,
+        isStorageTelemetryPolicyFactory,
+        isCoreHttpPolicyFactory
+      ];
+      if (pipeline.factories.length) {
+        const novelFactories = pipeline.factories.filter((factory) => {
+          return !knownFactoryFunctions.some((knownFactory) => knownFactory(factory));
+        });
+        if (novelFactories.length) {
+          const hasInjector = novelFactories.some((factory) => isInjectorPolicyFactory(factory));
+          return {
+            wrappedPolicies: (0, core_http_compat_1.createRequestPolicyFactoryPolicy)(novelFactories),
+            afterRetry: hasInjector
+          };
         }
-        return super.getName(options);
       }
-      createSocket(req, options, cb) {
-        const connectOpts = {
-          ...options,
-          secureEndpoint: this.isSecureEndpoint(options)
-        };
-        const name = this.getName(connectOpts);
-        const fakeSocket = this.incrementSockets(name);
-        Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
-          this.decrementSockets(name, fakeSocket);
-          if (socket instanceof http.Agent) {
-            try {
-              return socket.addRequest(req, connectOpts);
-            } catch (err) {
-              return cb(err);
+      return void 0;
+    }
+    function getCoreClientOptions(pipeline) {
+      const { httpClient: v1Client, ...restOptions } = pipeline.options;
+      let httpClient = pipeline._coreHttpClient;
+      if (!httpClient) {
+        httpClient = v1Client ? (0, core_http_compat_1.convertHttpClient)(v1Client) : (0, storage_common_1.getCachedDefaultHttpClient)();
+        pipeline._coreHttpClient = httpClient;
+      }
+      let corePipeline = pipeline._corePipeline;
+      if (!corePipeline) {
+        const packageDetails = `azsdk-js-azure-storage-blob/${constants_js_1.SDK_VERSION}`;
+        const userAgentPrefix = restOptions.userAgentOptions && restOptions.userAgentOptions.userAgentPrefix ? `${restOptions.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
+        corePipeline = (0, core_client_1.createClientPipeline)({
+          ...restOptions,
+          loggingOptions: {
+            additionalAllowedHeaderNames: constants_js_1.StorageBlobLoggingAllowedHeaderNames,
+            additionalAllowedQueryParameters: constants_js_1.StorageBlobLoggingAllowedQueryParameters,
+            logger: log_js_1.logger.info
+          },
+          userAgentOptions: {
+            userAgentPrefix
+          },
+          serializationOptions: {
+            stringifyXML: core_xml_1.stringifyXML,
+            serializerOptions: {
+              xml: {
+                // Use customized XML char key of "#" so we can deserialize metadata
+                // with "_" key
+                xmlCharKey: "#"
+              }
+            }
+          },
+          deserializationOptions: {
+            parseXML: core_xml_1.parseXML,
+            serializerOptions: {
+              xml: {
+                // Use customized XML char key of "#" so we can deserialize metadata
+                // with "_" key
+                xmlCharKey: "#"
+              }
             }
           }
-          this[INTERNAL].currentSocket = socket;
-          super.createSocket(req, options, cb);
-        }, (err) => {
-          this.decrementSockets(name, fakeSocket);
-          cb(err);
         });
-      }
-      createConnection() {
-        const socket = this[INTERNAL].currentSocket;
-        this[INTERNAL].currentSocket = void 0;
-        if (!socket) {
-          throw new Error("No socket was returned in the `connect()` function");
+        corePipeline.removePolicy({ phase: "Retry" });
+        corePipeline.removePolicy({ name: core_rest_pipeline_1.decompressResponsePolicyName });
+        corePipeline.addPolicy((0, StorageCorrectContentLengthPolicy_js_1.storageCorrectContentLengthPolicy)());
+        corePipeline.addPolicy((0, StorageRetryPolicyV2_js_1.storageRetryPolicy)(restOptions.retryOptions), { phase: "Retry" });
+        corePipeline.addPolicy((0, storage_common_1.storageRequestFailureDetailsParserPolicy)());
+        corePipeline.addPolicy((0, StorageBrowserPolicyV2_js_1.storageBrowserPolicy)());
+        const downlevelResults = processDownlevelPipeline(pipeline);
+        if (downlevelResults) {
+          corePipeline.addPolicy(downlevelResults.wrappedPolicies, downlevelResults.afterRetry ? { afterPhase: "Retry" } : void 0);
         }
-        return socket;
+        const credential = getCredentialFromPipeline(pipeline);
+        if ((0, core_auth_1.isTokenCredential)(credential)) {
+          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+            credential,
+            scopes: restOptions.audience ?? constants_js_1.StorageOAuthScopes,
+            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
+          }), { phase: "Sign" });
+        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
+            accountName: credential.accountName,
+            accountKey: credential.accountKey
+          }), { phase: "Sign" });
+        }
+        pipeline._corePipeline = corePipeline;
       }
-      get defaultPort() {
-        return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
+      return {
+        ...restOptions,
+        allowInsecureConnection: true,
+        httpClient,
+        pipeline: corePipeline
+      };
+    }
+    function getCredentialFromPipeline(pipeline) {
+      if (pipeline._credential) {
+        return pipeline._credential;
       }
-      set defaultPort(v) {
-        if (this[INTERNAL]) {
-          this[INTERNAL].defaultPort = v;
+      let credential = new AnonymousCredential_js_1.AnonymousCredential();
+      for (const factory of pipeline.factories) {
+        if ((0, core_auth_1.isTokenCredential)(factory.credential)) {
+          credential = factory.credential;
+        } else if (isStorageSharedKeyCredential(factory)) {
+          return factory;
         }
       }
-      get protocol() {
-        return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
+      return credential;
+    }
+    function isStorageSharedKeyCredential(factory) {
+      if (factory instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+        return true;
       }
-      set protocol(v) {
-        if (this[INTERNAL]) {
-          this[INTERNAL].protocol = v;
-        }
+      return factory.constructor.name === "StorageSharedKeyCredential";
+    }
+    function isAnonymousCredential(factory) {
+      if (factory instanceof AnonymousCredential_js_1.AnonymousCredential) {
+        return true;
       }
-    };
-    exports2.Agent = Agent;
+      return factory.constructor.name === "AnonymousCredential";
+    }
+    function isCoreHttpBearerTokenFactory(factory) {
+      return (0, core_auth_1.isTokenCredential)(factory.credential);
+    }
+    function isStorageBrowserPolicyFactory(factory) {
+      if (factory instanceof StorageBrowserPolicyFactory_js_1.StorageBrowserPolicyFactory) {
+        return true;
+      }
+      return factory.constructor.name === "StorageBrowserPolicyFactory";
+    }
+    function isStorageRetryPolicyFactory(factory) {
+      if (factory instanceof StorageRetryPolicyFactory_js_1.StorageRetryPolicyFactory) {
+        return true;
+      }
+      return factory.constructor.name === "StorageRetryPolicyFactory";
+    }
+    function isStorageTelemetryPolicyFactory(factory) {
+      return factory.constructor.name === "TelemetryPolicyFactory";
+    }
+    function isInjectorPolicyFactory(factory) {
+      return factory.constructor.name === "InjectorPolicyFactory";
+    }
+    function isCoreHttpPolicyFactory(factory) {
+      const knownPolicies = [
+        "GenerateClientRequestIdPolicy",
+        "TracingPolicy",
+        "LogPolicy",
+        "ProxyPolicy",
+        "DisableResponseDecompressionPolicy",
+        "KeepAlivePolicy",
+        "DeserializationPolicy"
+      ];
+      const mockHttpClient = {
+        sendRequest: async (request2) => {
+          return {
+            request: request2,
+            headers: request2.headers.clone(),
+            status: 500
+          };
+        }
+      };
+      const mockRequestPolicyOptions = {
+        log(_logLevel, _message) {
+        },
+        shouldLog(_logLevel) {
+          return false;
+        }
+      };
+      const policyInstance = factory.create(mockHttpClient, mockRequestPolicyOptions);
+      const policyName = policyInstance.constructor.name;
+      return knownPolicies.some((knownPolicyName) => {
+        return policyName.startsWith(knownPolicyName);
+      });
+    }
   }
 });
 
-// node_modules/https-proxy-agent/dist/parse-proxy-response.js
-var require_parse_proxy_response = __commonJS({
-  "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js
+var require_models = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js"(exports2) {
     "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseProxyResponse = void 0;
-    var debug_1 = __importDefault2(require_src());
-    var debug4 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
-    function parseProxyResponse(socket) {
-      return new Promise((resolve2, reject) => {
-        let buffersLength = 0;
-        const buffers = [];
-        function read() {
-          const b = socket.read();
-          if (b)
-            ondata(b);
-          else
-            socket.once("readable", read);
-        }
-        function cleanup() {
-          socket.removeListener("end", onend);
-          socket.removeListener("error", onerror);
-          socket.removeListener("readable", read);
-        }
-        function onend() {
-          cleanup();
-          debug4("onend");
-          reject(new Error("Proxy connection ended before receiving CONNECT response"));
-        }
-        function onerror(err) {
-          cleanup();
-          debug4("onerror %o", err);
-          reject(err);
-        }
-        function ondata(b) {
-          buffers.push(b);
-          buffersLength += b.length;
-          const buffered = Buffer.concat(buffers, buffersLength);
-          const endOfHeaders = buffered.indexOf("\r\n\r\n");
-          if (endOfHeaders === -1) {
-            debug4("have not received end of HTTP headers yet...");
-            read();
-            return;
-          }
-          const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n");
-          const firstLine = headerParts.shift();
-          if (!firstLine) {
-            socket.destroy();
-            return reject(new Error("No header received from proxy CONNECT response"));
-          }
-          const firstLineParts = firstLine.split(" ");
-          const statusCode = +firstLineParts[1];
-          const statusText = firstLineParts.slice(2).join(" ");
-          const headers = {};
-          for (const header of headerParts) {
-            if (!header)
-              continue;
-            const firstColon = header.indexOf(":");
-            if (firstColon === -1) {
-              socket.destroy();
-              return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
-            }
-            const key = header.slice(0, firstColon).toLowerCase();
-            const value = header.slice(firstColon + 1).trimStart();
-            const current = headers[key];
-            if (typeof current === "string") {
-              headers[key] = [current, value];
-            } else if (Array.isArray(current)) {
-              current.push(value);
-            } else {
-              headers[key] = value;
-            }
-          }
-          debug4("got proxy server response: %o %o", firstLine, headers);
-          cleanup();
-          resolve2({
-            connect: {
-              statusCode,
-              statusText,
-              headers
-            },
-            buffered
-          });
-        }
-        socket.on("error", onerror);
-        socket.on("end", onend);
-        read();
-      });
-    }
-    exports2.parseProxyResponse = parseProxyResponse;
+    exports2.KnownStorageErrorCode = exports2.KnownBlobExpiryOptions = exports2.KnownFileShareTokenIntent = exports2.KnownEncryptionAlgorithmType = void 0;
+    var KnownEncryptionAlgorithmType;
+    (function(KnownEncryptionAlgorithmType2) {
+      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
+    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
+    var KnownFileShareTokenIntent;
+    (function(KnownFileShareTokenIntent2) {
+      KnownFileShareTokenIntent2["Backup"] = "backup";
+    })(KnownFileShareTokenIntent || (exports2.KnownFileShareTokenIntent = KnownFileShareTokenIntent = {}));
+    var KnownBlobExpiryOptions;
+    (function(KnownBlobExpiryOptions2) {
+      KnownBlobExpiryOptions2["NeverExpire"] = "NeverExpire";
+      KnownBlobExpiryOptions2["RelativeToCreation"] = "RelativeToCreation";
+      KnownBlobExpiryOptions2["RelativeToNow"] = "RelativeToNow";
+      KnownBlobExpiryOptions2["Absolute"] = "Absolute";
+    })(KnownBlobExpiryOptions || (exports2.KnownBlobExpiryOptions = KnownBlobExpiryOptions = {}));
+    var KnownStorageErrorCode;
+    (function(KnownStorageErrorCode2) {
+      KnownStorageErrorCode2["AccountAlreadyExists"] = "AccountAlreadyExists";
+      KnownStorageErrorCode2["AccountBeingCreated"] = "AccountBeingCreated";
+      KnownStorageErrorCode2["AccountIsDisabled"] = "AccountIsDisabled";
+      KnownStorageErrorCode2["AuthenticationFailed"] = "AuthenticationFailed";
+      KnownStorageErrorCode2["AuthorizationFailure"] = "AuthorizationFailure";
+      KnownStorageErrorCode2["ConditionHeadersNotSupported"] = "ConditionHeadersNotSupported";
+      KnownStorageErrorCode2["ConditionNotMet"] = "ConditionNotMet";
+      KnownStorageErrorCode2["EmptyMetadataKey"] = "EmptyMetadataKey";
+      KnownStorageErrorCode2["InsufficientAccountPermissions"] = "InsufficientAccountPermissions";
+      KnownStorageErrorCode2["InternalError"] = "InternalError";
+      KnownStorageErrorCode2["InvalidAuthenticationInfo"] = "InvalidAuthenticationInfo";
+      KnownStorageErrorCode2["InvalidHeaderValue"] = "InvalidHeaderValue";
+      KnownStorageErrorCode2["InvalidHttpVerb"] = "InvalidHttpVerb";
+      KnownStorageErrorCode2["InvalidInput"] = "InvalidInput";
+      KnownStorageErrorCode2["InvalidMd5"] = "InvalidMd5";
+      KnownStorageErrorCode2["InvalidMetadata"] = "InvalidMetadata";
+      KnownStorageErrorCode2["InvalidQueryParameterValue"] = "InvalidQueryParameterValue";
+      KnownStorageErrorCode2["InvalidRange"] = "InvalidRange";
+      KnownStorageErrorCode2["InvalidResourceName"] = "InvalidResourceName";
+      KnownStorageErrorCode2["InvalidUri"] = "InvalidUri";
+      KnownStorageErrorCode2["InvalidXmlDocument"] = "InvalidXmlDocument";
+      KnownStorageErrorCode2["InvalidXmlNodeValue"] = "InvalidXmlNodeValue";
+      KnownStorageErrorCode2["Md5Mismatch"] = "Md5Mismatch";
+      KnownStorageErrorCode2["MetadataTooLarge"] = "MetadataTooLarge";
+      KnownStorageErrorCode2["MissingContentLengthHeader"] = "MissingContentLengthHeader";
+      KnownStorageErrorCode2["MissingRequiredQueryParameter"] = "MissingRequiredQueryParameter";
+      KnownStorageErrorCode2["MissingRequiredHeader"] = "MissingRequiredHeader";
+      KnownStorageErrorCode2["MissingRequiredXmlNode"] = "MissingRequiredXmlNode";
+      KnownStorageErrorCode2["MultipleConditionHeadersNotSupported"] = "MultipleConditionHeadersNotSupported";
+      KnownStorageErrorCode2["OperationTimedOut"] = "OperationTimedOut";
+      KnownStorageErrorCode2["OutOfRangeInput"] = "OutOfRangeInput";
+      KnownStorageErrorCode2["OutOfRangeQueryParameterValue"] = "OutOfRangeQueryParameterValue";
+      KnownStorageErrorCode2["RequestBodyTooLarge"] = "RequestBodyTooLarge";
+      KnownStorageErrorCode2["ResourceTypeMismatch"] = "ResourceTypeMismatch";
+      KnownStorageErrorCode2["RequestUrlFailedToParse"] = "RequestUrlFailedToParse";
+      KnownStorageErrorCode2["ResourceAlreadyExists"] = "ResourceAlreadyExists";
+      KnownStorageErrorCode2["ResourceNotFound"] = "ResourceNotFound";
+      KnownStorageErrorCode2["ServerBusy"] = "ServerBusy";
+      KnownStorageErrorCode2["UnsupportedHeader"] = "UnsupportedHeader";
+      KnownStorageErrorCode2["UnsupportedXmlNode"] = "UnsupportedXmlNode";
+      KnownStorageErrorCode2["UnsupportedQueryParameter"] = "UnsupportedQueryParameter";
+      KnownStorageErrorCode2["UnsupportedHttpVerb"] = "UnsupportedHttpVerb";
+      KnownStorageErrorCode2["AppendPositionConditionNotMet"] = "AppendPositionConditionNotMet";
+      KnownStorageErrorCode2["BlobAlreadyExists"] = "BlobAlreadyExists";
+      KnownStorageErrorCode2["BlobImmutableDueToPolicy"] = "BlobImmutableDueToPolicy";
+      KnownStorageErrorCode2["BlobNotFound"] = "BlobNotFound";
+      KnownStorageErrorCode2["BlobOverwritten"] = "BlobOverwritten";
+      KnownStorageErrorCode2["BlobTierInadequateForContentLength"] = "BlobTierInadequateForContentLength";
+      KnownStorageErrorCode2["BlobUsesCustomerSpecifiedEncryption"] = "BlobUsesCustomerSpecifiedEncryption";
+      KnownStorageErrorCode2["BlockCountExceedsLimit"] = "BlockCountExceedsLimit";
+      KnownStorageErrorCode2["BlockListTooLong"] = "BlockListTooLong";
+      KnownStorageErrorCode2["CannotChangeToLowerTier"] = "CannotChangeToLowerTier";
+      KnownStorageErrorCode2["CannotVerifyCopySource"] = "CannotVerifyCopySource";
+      KnownStorageErrorCode2["ContainerAlreadyExists"] = "ContainerAlreadyExists";
+      KnownStorageErrorCode2["ContainerBeingDeleted"] = "ContainerBeingDeleted";
+      KnownStorageErrorCode2["ContainerDisabled"] = "ContainerDisabled";
+      KnownStorageErrorCode2["ContainerNotFound"] = "ContainerNotFound";
+      KnownStorageErrorCode2["ContentLengthLargerThanTierLimit"] = "ContentLengthLargerThanTierLimit";
+      KnownStorageErrorCode2["CopyAcrossAccountsNotSupported"] = "CopyAcrossAccountsNotSupported";
+      KnownStorageErrorCode2["CopyIdMismatch"] = "CopyIdMismatch";
+      KnownStorageErrorCode2["FeatureVersionMismatch"] = "FeatureVersionMismatch";
+      KnownStorageErrorCode2["IncrementalCopyBlobMismatch"] = "IncrementalCopyBlobMismatch";
+      KnownStorageErrorCode2["IncrementalCopyOfEarlierVersionSnapshotNotAllowed"] = "IncrementalCopyOfEarlierVersionSnapshotNotAllowed";
+      KnownStorageErrorCode2["IncrementalCopySourceMustBeSnapshot"] = "IncrementalCopySourceMustBeSnapshot";
+      KnownStorageErrorCode2["InfiniteLeaseDurationRequired"] = "InfiniteLeaseDurationRequired";
+      KnownStorageErrorCode2["InvalidBlobOrBlock"] = "InvalidBlobOrBlock";
+      KnownStorageErrorCode2["InvalidBlobTier"] = "InvalidBlobTier";
+      KnownStorageErrorCode2["InvalidBlobType"] = "InvalidBlobType";
+      KnownStorageErrorCode2["InvalidBlockId"] = "InvalidBlockId";
+      KnownStorageErrorCode2["InvalidBlockList"] = "InvalidBlockList";
+      KnownStorageErrorCode2["InvalidOperation"] = "InvalidOperation";
+      KnownStorageErrorCode2["InvalidPageRange"] = "InvalidPageRange";
+      KnownStorageErrorCode2["InvalidSourceBlobType"] = "InvalidSourceBlobType";
+      KnownStorageErrorCode2["InvalidSourceBlobUrl"] = "InvalidSourceBlobUrl";
+      KnownStorageErrorCode2["InvalidVersionForPageBlobOperation"] = "InvalidVersionForPageBlobOperation";
+      KnownStorageErrorCode2["LeaseAlreadyPresent"] = "LeaseAlreadyPresent";
+      KnownStorageErrorCode2["LeaseAlreadyBroken"] = "LeaseAlreadyBroken";
+      KnownStorageErrorCode2["LeaseIdMismatchWithBlobOperation"] = "LeaseIdMismatchWithBlobOperation";
+      KnownStorageErrorCode2["LeaseIdMismatchWithContainerOperation"] = "LeaseIdMismatchWithContainerOperation";
+      KnownStorageErrorCode2["LeaseIdMismatchWithLeaseOperation"] = "LeaseIdMismatchWithLeaseOperation";
+      KnownStorageErrorCode2["LeaseIdMissing"] = "LeaseIdMissing";
+      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeAcquired"] = "LeaseIsBreakingAndCannotBeAcquired";
+      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeChanged"] = "LeaseIsBreakingAndCannotBeChanged";
+      KnownStorageErrorCode2["LeaseIsBrokenAndCannotBeRenewed"] = "LeaseIsBrokenAndCannotBeRenewed";
+      KnownStorageErrorCode2["LeaseLost"] = "LeaseLost";
+      KnownStorageErrorCode2["LeaseNotPresentWithBlobOperation"] = "LeaseNotPresentWithBlobOperation";
+      KnownStorageErrorCode2["LeaseNotPresentWithContainerOperation"] = "LeaseNotPresentWithContainerOperation";
+      KnownStorageErrorCode2["LeaseNotPresentWithLeaseOperation"] = "LeaseNotPresentWithLeaseOperation";
+      KnownStorageErrorCode2["MaxBlobSizeConditionNotMet"] = "MaxBlobSizeConditionNotMet";
+      KnownStorageErrorCode2["NoAuthenticationInformation"] = "NoAuthenticationInformation";
+      KnownStorageErrorCode2["NoPendingCopyOperation"] = "NoPendingCopyOperation";
+      KnownStorageErrorCode2["OperationNotAllowedOnIncrementalCopyBlob"] = "OperationNotAllowedOnIncrementalCopyBlob";
+      KnownStorageErrorCode2["PendingCopyOperation"] = "PendingCopyOperation";
+      KnownStorageErrorCode2["PreviousSnapshotCannotBeNewer"] = "PreviousSnapshotCannotBeNewer";
+      KnownStorageErrorCode2["PreviousSnapshotNotFound"] = "PreviousSnapshotNotFound";
+      KnownStorageErrorCode2["PreviousSnapshotOperationNotSupported"] = "PreviousSnapshotOperationNotSupported";
+      KnownStorageErrorCode2["SequenceNumberConditionNotMet"] = "SequenceNumberConditionNotMet";
+      KnownStorageErrorCode2["SequenceNumberIncrementTooLarge"] = "SequenceNumberIncrementTooLarge";
+      KnownStorageErrorCode2["SnapshotCountExceeded"] = "SnapshotCountExceeded";
+      KnownStorageErrorCode2["SnapshotOperationRateExceeded"] = "SnapshotOperationRateExceeded";
+      KnownStorageErrorCode2["SnapshotsPresent"] = "SnapshotsPresent";
+      KnownStorageErrorCode2["SourceConditionNotMet"] = "SourceConditionNotMet";
+      KnownStorageErrorCode2["SystemInUse"] = "SystemInUse";
+      KnownStorageErrorCode2["TargetConditionNotMet"] = "TargetConditionNotMet";
+      KnownStorageErrorCode2["UnauthorizedBlobOverwrite"] = "UnauthorizedBlobOverwrite";
+      KnownStorageErrorCode2["BlobBeingRehydrated"] = "BlobBeingRehydrated";
+      KnownStorageErrorCode2["BlobArchived"] = "BlobArchived";
+      KnownStorageErrorCode2["BlobNotArchived"] = "BlobNotArchived";
+      KnownStorageErrorCode2["AuthorizationSourceIPMismatch"] = "AuthorizationSourceIPMismatch";
+      KnownStorageErrorCode2["AuthorizationProtocolMismatch"] = "AuthorizationProtocolMismatch";
+      KnownStorageErrorCode2["AuthorizationPermissionMismatch"] = "AuthorizationPermissionMismatch";
+      KnownStorageErrorCode2["AuthorizationServiceMismatch"] = "AuthorizationServiceMismatch";
+      KnownStorageErrorCode2["AuthorizationResourceTypeMismatch"] = "AuthorizationResourceTypeMismatch";
+      KnownStorageErrorCode2["BlobAccessTierNotSupportedForAccountType"] = "BlobAccessTierNotSupportedForAccountType";
+    })(KnownStorageErrorCode || (exports2.KnownStorageErrorCode = KnownStorageErrorCode = {}));
   }
 });
 
-// node_modules/https-proxy-agent/dist/index.js
-var require_dist2 = __commonJS({
-  "node_modules/https-proxy-agent/dist/index.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js
+var require_mappers = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js"(exports2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ServiceGetUserDelegationKeyHeaders = exports2.ServiceListContainersSegmentExceptionHeaders = exports2.ServiceListContainersSegmentHeaders = exports2.ServiceGetStatisticsExceptionHeaders = exports2.ServiceGetStatisticsHeaders = exports2.ServiceGetPropertiesExceptionHeaders = exports2.ServiceGetPropertiesHeaders = exports2.ServiceSetPropertiesExceptionHeaders = exports2.ServiceSetPropertiesHeaders = exports2.ArrowField = exports2.ArrowConfiguration = exports2.JsonTextConfiguration = exports2.DelimitedTextConfiguration = exports2.QueryFormat = exports2.QuerySerialization = exports2.QueryRequest = exports2.ClearRange = exports2.PageRange = exports2.PageList = exports2.Block = exports2.BlockList = exports2.BlockLookupList = exports2.BlobPrefix = exports2.BlobHierarchyListSegment = exports2.ListBlobsHierarchySegmentResponse = exports2.BlobPropertiesInternal = exports2.BlobName = exports2.BlobItemInternal = exports2.BlobFlatListSegment = exports2.ListBlobsFlatSegmentResponse = exports2.AccessPolicy = exports2.SignedIdentifier = exports2.BlobTag = exports2.BlobTags = exports2.FilterBlobItem = exports2.FilterBlobSegment = exports2.UserDelegationKey = exports2.KeyInfo = exports2.ContainerProperties = exports2.ContainerItem = exports2.ListContainersSegmentResponse = exports2.GeoReplication = exports2.BlobServiceStatistics = exports2.StorageError = exports2.StaticWebsite = exports2.CorsRule = exports2.Metrics = exports2.RetentionPolicy = exports2.Logging = exports2.BlobServiceProperties = void 0;
+    exports2.BlobUndeleteHeaders = exports2.BlobDeleteExceptionHeaders = exports2.BlobDeleteHeaders = exports2.BlobGetPropertiesExceptionHeaders = exports2.BlobGetPropertiesHeaders = exports2.BlobDownloadExceptionHeaders = exports2.BlobDownloadHeaders = exports2.ContainerGetAccountInfoExceptionHeaders = exports2.ContainerGetAccountInfoHeaders = exports2.ContainerListBlobHierarchySegmentExceptionHeaders = exports2.ContainerListBlobHierarchySegmentHeaders = exports2.ContainerListBlobFlatSegmentExceptionHeaders = exports2.ContainerListBlobFlatSegmentHeaders = exports2.ContainerChangeLeaseExceptionHeaders = exports2.ContainerChangeLeaseHeaders = exports2.ContainerBreakLeaseExceptionHeaders = exports2.ContainerBreakLeaseHeaders = exports2.ContainerRenewLeaseExceptionHeaders = exports2.ContainerRenewLeaseHeaders = exports2.ContainerReleaseLeaseExceptionHeaders = exports2.ContainerReleaseLeaseHeaders = exports2.ContainerAcquireLeaseExceptionHeaders = exports2.ContainerAcquireLeaseHeaders = exports2.ContainerFilterBlobsExceptionHeaders = exports2.ContainerFilterBlobsHeaders = exports2.ContainerSubmitBatchExceptionHeaders = exports2.ContainerSubmitBatchHeaders = exports2.ContainerRenameExceptionHeaders = exports2.ContainerRenameHeaders = exports2.ContainerRestoreExceptionHeaders = exports2.ContainerRestoreHeaders = exports2.ContainerSetAccessPolicyExceptionHeaders = exports2.ContainerSetAccessPolicyHeaders = exports2.ContainerGetAccessPolicyExceptionHeaders = exports2.ContainerGetAccessPolicyHeaders = exports2.ContainerSetMetadataExceptionHeaders = exports2.ContainerSetMetadataHeaders = exports2.ContainerDeleteExceptionHeaders = exports2.ContainerDeleteHeaders = exports2.ContainerGetPropertiesExceptionHeaders = exports2.ContainerGetPropertiesHeaders = exports2.ContainerCreateExceptionHeaders = exports2.ContainerCreateHeaders = exports2.ServiceFilterBlobsExceptionHeaders = exports2.ServiceFilterBlobsHeaders = exports2.ServiceSubmitBatchExceptionHeaders = exports2.ServiceSubmitBatchHeaders = exports2.ServiceGetAccountInfoExceptionHeaders = exports2.ServiceGetAccountInfoHeaders = exports2.ServiceGetUserDelegationKeyExceptionHeaders = void 0;
+    exports2.PageBlobGetPageRangesHeaders = exports2.PageBlobUploadPagesFromURLExceptionHeaders = exports2.PageBlobUploadPagesFromURLHeaders = exports2.PageBlobClearPagesExceptionHeaders = exports2.PageBlobClearPagesHeaders = exports2.PageBlobUploadPagesExceptionHeaders = exports2.PageBlobUploadPagesHeaders = exports2.PageBlobCreateExceptionHeaders = exports2.PageBlobCreateHeaders = exports2.BlobSetTagsExceptionHeaders = exports2.BlobSetTagsHeaders = exports2.BlobGetTagsExceptionHeaders = exports2.BlobGetTagsHeaders = exports2.BlobQueryExceptionHeaders = exports2.BlobQueryHeaders = exports2.BlobGetAccountInfoExceptionHeaders = exports2.BlobGetAccountInfoHeaders = exports2.BlobSetTierExceptionHeaders = exports2.BlobSetTierHeaders = exports2.BlobAbortCopyFromURLExceptionHeaders = exports2.BlobAbortCopyFromURLHeaders = exports2.BlobCopyFromURLExceptionHeaders = exports2.BlobCopyFromURLHeaders = exports2.BlobStartCopyFromURLExceptionHeaders = exports2.BlobStartCopyFromURLHeaders = exports2.BlobCreateSnapshotExceptionHeaders = exports2.BlobCreateSnapshotHeaders = exports2.BlobBreakLeaseExceptionHeaders = exports2.BlobBreakLeaseHeaders = exports2.BlobChangeLeaseExceptionHeaders = exports2.BlobChangeLeaseHeaders = exports2.BlobRenewLeaseExceptionHeaders = exports2.BlobRenewLeaseHeaders = exports2.BlobReleaseLeaseExceptionHeaders = exports2.BlobReleaseLeaseHeaders = exports2.BlobAcquireLeaseExceptionHeaders = exports2.BlobAcquireLeaseHeaders = exports2.BlobSetMetadataExceptionHeaders = exports2.BlobSetMetadataHeaders = exports2.BlobSetLegalHoldExceptionHeaders = exports2.BlobSetLegalHoldHeaders = exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = exports2.BlobDeleteImmutabilityPolicyHeaders = exports2.BlobSetImmutabilityPolicyExceptionHeaders = exports2.BlobSetImmutabilityPolicyHeaders = exports2.BlobSetHttpHeadersExceptionHeaders = exports2.BlobSetHttpHeadersHeaders = exports2.BlobSetExpiryExceptionHeaders = exports2.BlobSetExpiryHeaders = exports2.BlobUndeleteExceptionHeaders = void 0;
+    exports2.BlockBlobGetBlockListExceptionHeaders = exports2.BlockBlobGetBlockListHeaders = exports2.BlockBlobCommitBlockListExceptionHeaders = exports2.BlockBlobCommitBlockListHeaders = exports2.BlockBlobStageBlockFromURLExceptionHeaders = exports2.BlockBlobStageBlockFromURLHeaders = exports2.BlockBlobStageBlockExceptionHeaders = exports2.BlockBlobStageBlockHeaders = exports2.BlockBlobPutBlobFromUrlExceptionHeaders = exports2.BlockBlobPutBlobFromUrlHeaders = exports2.BlockBlobUploadExceptionHeaders = exports2.BlockBlobUploadHeaders = exports2.AppendBlobSealExceptionHeaders = exports2.AppendBlobSealHeaders = exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = exports2.AppendBlobAppendBlockFromUrlHeaders = exports2.AppendBlobAppendBlockExceptionHeaders = exports2.AppendBlobAppendBlockHeaders = exports2.AppendBlobCreateExceptionHeaders = exports2.AppendBlobCreateHeaders = exports2.PageBlobCopyIncrementalExceptionHeaders = exports2.PageBlobCopyIncrementalHeaders = exports2.PageBlobUpdateSequenceNumberExceptionHeaders = exports2.PageBlobUpdateSequenceNumberHeaders = exports2.PageBlobResizeExceptionHeaders = exports2.PageBlobResizeHeaders = exports2.PageBlobGetPageRangesDiffExceptionHeaders = exports2.PageBlobGetPageRangesDiffHeaders = exports2.PageBlobGetPageRangesExceptionHeaders = void 0;
+    exports2.BlobServiceProperties = {
+      serializedName: "BlobServiceProperties",
+      xmlName: "StorageServiceProperties",
+      type: {
+        name: "Composite",
+        className: "BlobServiceProperties",
+        modelProperties: {
+          blobAnalyticsLogging: {
+            serializedName: "Logging",
+            xmlName: "Logging",
+            type: {
+              name: "Composite",
+              className: "Logging"
+            }
+          },
+          hourMetrics: {
+            serializedName: "HourMetrics",
+            xmlName: "HourMetrics",
+            type: {
+              name: "Composite",
+              className: "Metrics"
+            }
+          },
+          minuteMetrics: {
+            serializedName: "MinuteMetrics",
+            xmlName: "MinuteMetrics",
+            type: {
+              name: "Composite",
+              className: "Metrics"
+            }
+          },
+          cors: {
+            serializedName: "Cors",
+            xmlName: "Cors",
+            xmlIsWrapped: true,
+            xmlElementName: "CorsRule",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "CorsRule"
+                }
+              }
+            }
+          },
+          defaultServiceVersion: {
+            serializedName: "DefaultServiceVersion",
+            xmlName: "DefaultServiceVersion",
+            type: {
+              name: "String"
+            }
+          },
+          deleteRetentionPolicy: {
+            serializedName: "DeleteRetentionPolicy",
+            xmlName: "DeleteRetentionPolicy",
+            type: {
+              name: "Composite",
+              className: "RetentionPolicy"
+            }
+          },
+          staticWebsite: {
+            serializedName: "StaticWebsite",
+            xmlName: "StaticWebsite",
+            type: {
+              name: "Composite",
+              className: "StaticWebsite"
+            }
+          }
+        }
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+    };
+    exports2.Logging = {
+      serializedName: "Logging",
+      type: {
+        name: "Composite",
+        className: "Logging",
+        modelProperties: {
+          version: {
+            serializedName: "Version",
+            required: true,
+            xmlName: "Version",
+            type: {
+              name: "String"
+            }
+          },
+          deleteProperty: {
+            serializedName: "Delete",
+            required: true,
+            xmlName: "Delete",
+            type: {
+              name: "Boolean"
+            }
+          },
+          read: {
+            serializedName: "Read",
+            required: true,
+            xmlName: "Read",
+            type: {
+              name: "Boolean"
+            }
+          },
+          write: {
+            serializedName: "Write",
+            required: true,
+            xmlName: "Write",
+            type: {
+              name: "Boolean"
+            }
+          },
+          retentionPolicy: {
+            serializedName: "RetentionPolicy",
+            xmlName: "RetentionPolicy",
+            type: {
+              name: "Composite",
+              className: "RetentionPolicy"
+            }
+          }
+        }
       }
-      __setModuleDefault2(result, mod);
-      return result;
     };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HttpsProxyAgent = void 0;
-    var net = __importStar2(require("net"));
-    var tls = __importStar2(require("tls"));
-    var assert_1 = __importDefault2(require("assert"));
-    var debug_1 = __importDefault2(require_src());
-    var agent_base_1 = require_dist();
-    var url_1 = require("url");
-    var parse_proxy_response_1 = require_parse_proxy_response();
-    var debug4 = (0, debug_1.default)("https-proxy-agent");
-    var setServernameFromNonIpHost = (options) => {
-      if (options.servername === void 0 && options.host && !net.isIP(options.host)) {
-        return {
-          ...options,
-          servername: options.host
-        };
+    exports2.RetentionPolicy = {
+      serializedName: "RetentionPolicy",
+      type: {
+        name: "Composite",
+        className: "RetentionPolicy",
+        modelProperties: {
+          enabled: {
+            serializedName: "Enabled",
+            required: true,
+            xmlName: "Enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          days: {
+            constraints: {
+              InclusiveMinimum: 1
+            },
+            serializedName: "Days",
+            xmlName: "Days",
+            type: {
+              name: "Number"
+            }
+          }
+        }
       }
-      return options;
     };
-    var HttpsProxyAgent = class extends agent_base_1.Agent {
-      constructor(proxy, opts) {
-        super(opts);
-        this.options = { path: void 0 };
-        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
-        this.proxyHeaders = opts?.headers ?? {};
-        debug4("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
-        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
-        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
-        this.connectOpts = {
-          // Attempt to negotiate http/1.1 for proxy servers that support http/2
-          ALPNProtocols: ["http/1.1"],
-          ...opts ? omit2(opts, "headers") : null,
-          host,
-          port
-        };
-      }
-      /**
-       * Called when the node-core HTTP client library is creating a
-       * new HTTP request.
-       */
-      async connect(req, opts) {
-        const { proxy } = this;
-        if (!opts.host) {
-          throw new TypeError('No "host" provided');
-        }
-        let socket;
-        if (proxy.protocol === "https:") {
-          debug4("Creating `tls.Socket`: %o", this.connectOpts);
-          socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));
-        } else {
-          debug4("Creating `net.Socket`: %o", this.connectOpts);
-          socket = net.connect(this.connectOpts);
-        }
-        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
-        const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
-        let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r
-`;
-        if (proxy.username || proxy.password) {
-          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
-          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
-        }
-        headers.Host = `${host}:${opts.port}`;
-        if (!headers["Proxy-Connection"]) {
-          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
-        }
-        for (const name of Object.keys(headers)) {
-          payload += `${name}: ${headers[name]}\r
-`;
-        }
-        const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);
-        socket.write(`${payload}\r
-`);
-        const { connect, buffered } = await proxyResponsePromise;
-        req.emit("proxyConnect", connect);
-        this.emit("proxyConnect", connect, req);
-        if (connect.statusCode === 200) {
-          req.once("socket", resume);
-          if (opts.secureEndpoint) {
-            debug4("Upgrading socket connection to TLS");
-            return tls.connect({
-              ...omit2(setServernameFromNonIpHost(opts), "host", "path", "port"),
-              socket
-            });
+    exports2.Metrics = {
+      serializedName: "Metrics",
+      type: {
+        name: "Composite",
+        className: "Metrics",
+        modelProperties: {
+          version: {
+            serializedName: "Version",
+            xmlName: "Version",
+            type: {
+              name: "String"
+            }
+          },
+          enabled: {
+            serializedName: "Enabled",
+            required: true,
+            xmlName: "Enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          includeAPIs: {
+            serializedName: "IncludeAPIs",
+            xmlName: "IncludeAPIs",
+            type: {
+              name: "Boolean"
+            }
+          },
+          retentionPolicy: {
+            serializedName: "RetentionPolicy",
+            xmlName: "RetentionPolicy",
+            type: {
+              name: "Composite",
+              className: "RetentionPolicy"
+            }
           }
-          return socket;
         }
-        socket.destroy();
-        const fakeSocket = new net.Socket({ writable: false });
-        fakeSocket.readable = true;
-        req.once("socket", (s) => {
-          debug4("Replaying proxy buffer for failed request");
-          (0, assert_1.default)(s.listenerCount("data") > 0);
-          s.push(buffered);
-          s.push(null);
-        });
-        return fakeSocket;
       }
     };
-    HttpsProxyAgent.protocols = ["http", "https"];
-    exports2.HttpsProxyAgent = HttpsProxyAgent;
-    function resume(socket) {
-      socket.resume();
-    }
-    function omit2(obj, ...keys) {
-      const ret = {};
-      let key;
-      for (key in obj) {
-        if (!keys.includes(key)) {
-          ret[key] = obj[key];
+    exports2.CorsRule = {
+      serializedName: "CorsRule",
+      type: {
+        name: "Composite",
+        className: "CorsRule",
+        modelProperties: {
+          allowedOrigins: {
+            serializedName: "AllowedOrigins",
+            required: true,
+            xmlName: "AllowedOrigins",
+            type: {
+              name: "String"
+            }
+          },
+          allowedMethods: {
+            serializedName: "AllowedMethods",
+            required: true,
+            xmlName: "AllowedMethods",
+            type: {
+              name: "String"
+            }
+          },
+          allowedHeaders: {
+            serializedName: "AllowedHeaders",
+            required: true,
+            xmlName: "AllowedHeaders",
+            type: {
+              name: "String"
+            }
+          },
+          exposedHeaders: {
+            serializedName: "ExposedHeaders",
+            required: true,
+            xmlName: "ExposedHeaders",
+            type: {
+              name: "String"
+            }
+          },
+          maxAgeInSeconds: {
+            constraints: {
+              InclusiveMinimum: 0
+            },
+            serializedName: "MaxAgeInSeconds",
+            required: true,
+            xmlName: "MaxAgeInSeconds",
+            type: {
+              name: "Number"
+            }
+          }
         }
       }
-      return ret;
-    }
-  }
-});
-
-// node_modules/http-proxy-agent/dist/index.js
-var require_dist3 = __commonJS({
-  "node_modules/http-proxy-agent/dist/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
     };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HttpProxyAgent = void 0;
-    var net = __importStar2(require("net"));
-    var tls = __importStar2(require("tls"));
-    var debug_1 = __importDefault2(require_src());
-    var events_1 = require("events");
-    var agent_base_1 = require_dist();
-    var url_1 = require("url");
-    var debug4 = (0, debug_1.default)("http-proxy-agent");
-    var HttpProxyAgent = class extends agent_base_1.Agent {
-      constructor(proxy, opts) {
-        super(opts);
-        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
-        this.proxyHeaders = opts?.headers ?? {};
-        debug4("Creating new HttpProxyAgent instance: %o", this.proxy.href);
-        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
-        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
-        this.connectOpts = {
-          ...opts ? omit2(opts, "headers") : null,
-          host,
-          port
-        };
-      }
-      addRequest(req, opts) {
-        req._header = null;
-        this.setRequestProps(req, opts);
-        super.addRequest(req, opts);
-      }
-      setRequestProps(req, opts) {
-        const { proxy } = this;
-        const protocol = opts.secureEndpoint ? "https:" : "http:";
-        const hostname = req.getHeader("host") || "localhost";
-        const base = `${protocol}//${hostname}`;
-        const url = new url_1.URL(req.path, base);
-        if (opts.port !== 80) {
-          url.port = String(opts.port);
-        }
-        req.path = String(url);
-        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
-        if (proxy.username || proxy.password) {
-          const auth2 = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
-          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth2).toString("base64")}`;
-        }
-        if (!headers["Proxy-Connection"]) {
-          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
-        }
-        for (const name of Object.keys(headers)) {
-          const value = headers[name];
-          if (value) {
-            req.setHeader(name, value);
+    exports2.StaticWebsite = {
+      serializedName: "StaticWebsite",
+      type: {
+        name: "Composite",
+        className: "StaticWebsite",
+        modelProperties: {
+          enabled: {
+            serializedName: "Enabled",
+            required: true,
+            xmlName: "Enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          indexDocument: {
+            serializedName: "IndexDocument",
+            xmlName: "IndexDocument",
+            type: {
+              name: "String"
+            }
+          },
+          errorDocument404Path: {
+            serializedName: "ErrorDocument404Path",
+            xmlName: "ErrorDocument404Path",
+            type: {
+              name: "String"
+            }
+          },
+          defaultIndexDocumentPath: {
+            serializedName: "DefaultIndexDocumentPath",
+            xmlName: "DefaultIndexDocumentPath",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      async connect(req, opts) {
-        req._header = null;
-        if (!req.path.includes("://")) {
-          this.setRequestProps(req, opts);
-        }
-        let first;
-        let endOfHeaders;
-        debug4("Regenerating stored HTTP header string for request");
-        req._implicitHeader();
-        if (req.outputData && req.outputData.length > 0) {
-          debug4("Patching connection write() output buffer with updated header");
-          first = req.outputData[0].data;
-          endOfHeaders = first.indexOf("\r\n\r\n") + 4;
-          req.outputData[0].data = req._header + first.substring(endOfHeaders);
-          debug4("Output buffer: %o", req.outputData[0].data);
-        }
-        let socket;
-        if (this.proxy.protocol === "https:") {
-          debug4("Creating `tls.Socket`: %o", this.connectOpts);
-          socket = tls.connect(this.connectOpts);
-        } else {
-          debug4("Creating `net.Socket`: %o", this.connectOpts);
-          socket = net.connect(this.connectOpts);
+    };
+    exports2.StorageError = {
+      serializedName: "StorageError",
+      type: {
+        name: "Composite",
+        className: "StorageError",
+        modelProperties: {
+          message: {
+            serializedName: "Message",
+            xmlName: "Message",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "CopySourceStatusCode",
+            xmlName: "CopySourceStatusCode",
+            type: {
+              name: "Number"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "CopySourceErrorCode",
+            xmlName: "CopySourceErrorCode",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorMessage: {
+            serializedName: "CopySourceErrorMessage",
+            xmlName: "CopySourceErrorMessage",
+            type: {
+              name: "String"
+            }
+          },
+          code: {
+            serializedName: "Code",
+            xmlName: "Code",
+            type: {
+              name: "String"
+            }
+          },
+          authenticationErrorDetail: {
+            serializedName: "AuthenticationErrorDetail",
+            xmlName: "AuthenticationErrorDetail",
+            type: {
+              name: "String"
+            }
+          }
         }
-        await (0, events_1.once)(socket, "connect");
-        return socket;
       }
     };
-    HttpProxyAgent.protocols = ["http", "https"];
-    exports2.HttpProxyAgent = HttpProxyAgent;
-    function omit2(obj, ...keys) {
-      const ret = {};
-      let key;
-      for (key in obj) {
-        if (!keys.includes(key)) {
-          ret[key] = obj[key];
+    exports2.BlobServiceStatistics = {
+      serializedName: "BlobServiceStatistics",
+      xmlName: "StorageServiceStats",
+      type: {
+        name: "Composite",
+        className: "BlobServiceStatistics",
+        modelProperties: {
+          geoReplication: {
+            serializedName: "GeoReplication",
+            xmlName: "GeoReplication",
+            type: {
+              name: "Composite",
+              className: "GeoReplication"
+            }
+          }
         }
       }
-      return ret;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js
-var require_proxyPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.globalNoProxyList = exports2.proxyPolicyName = void 0;
-    exports2.loadNoProxy = loadNoProxy;
-    exports2.getDefaultProxySettings = getDefaultProxySettings;
-    exports2.proxyPolicy = proxyPolicy;
-    var https_proxy_agent_1 = require_dist2();
-    var http_proxy_agent_1 = require_dist3();
-    var log_js_1 = require_log2();
-    var HTTPS_PROXY = "HTTPS_PROXY";
-    var HTTP_PROXY = "HTTP_PROXY";
-    var ALL_PROXY = "ALL_PROXY";
-    var NO_PROXY = "NO_PROXY";
-    exports2.proxyPolicyName = "proxyPolicy";
-    exports2.globalNoProxyList = [];
-    var noProxyListLoaded = false;
-    var globalBypassedMap = /* @__PURE__ */ new Map();
-    function getEnvironmentValue(name) {
-      if (process.env[name]) {
-        return process.env[name];
-      } else if (process.env[name.toLowerCase()]) {
-        return process.env[name.toLowerCase()];
-      }
-      return void 0;
-    }
-    function loadEnvironmentProxyValue() {
-      if (!process) {
-        return void 0;
-      }
-      const httpsProxy = getEnvironmentValue(HTTPS_PROXY);
-      const allProxy = getEnvironmentValue(ALL_PROXY);
-      const httpProxy = getEnvironmentValue(HTTP_PROXY);
-      return httpsProxy || allProxy || httpProxy;
-    }
-    function isBypassed(uri, noProxyList, bypassedMap) {
-      if (noProxyList.length === 0) {
-        return false;
-      }
-      const host = new URL(uri).hostname;
-      if (bypassedMap?.has(host)) {
-        return bypassedMap.get(host);
-      }
-      let isBypassedFlag = false;
-      for (const pattern of noProxyList) {
-        if (pattern[0] === ".") {
-          if (host.endsWith(pattern)) {
-            isBypassedFlag = true;
-          } else {
-            if (host.length === pattern.length - 1 && host === pattern.slice(1)) {
-              isBypassedFlag = true;
+    };
+    exports2.GeoReplication = {
+      serializedName: "GeoReplication",
+      type: {
+        name: "Composite",
+        className: "GeoReplication",
+        modelProperties: {
+          status: {
+            serializedName: "Status",
+            required: true,
+            xmlName: "Status",
+            type: {
+              name: "Enum",
+              allowedValues: ["live", "bootstrap", "unavailable"]
+            }
+          },
+          lastSyncOn: {
+            serializedName: "LastSyncTime",
+            required: true,
+            xmlName: "LastSyncTime",
+            type: {
+              name: "DateTimeRfc1123"
             }
-          }
-        } else {
-          if (host === pattern) {
-            isBypassedFlag = true;
           }
         }
       }
-      bypassedMap?.set(host, isBypassedFlag);
-      return isBypassedFlag;
-    }
-    function loadNoProxy() {
-      const noProxy = getEnvironmentValue(NO_PROXY);
-      noProxyListLoaded = true;
-      if (noProxy) {
-        return noProxy.split(",").map((item) => item.trim()).filter((item) => item.length);
-      }
-      return [];
-    }
-    function getDefaultProxySettings(proxyUrl) {
-      if (!proxyUrl) {
-        proxyUrl = loadEnvironmentProxyValue();
-        if (!proxyUrl) {
-          return void 0;
+    };
+    exports2.ListContainersSegmentResponse = {
+      serializedName: "ListContainersSegmentResponse",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "ListContainersSegmentResponse",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          prefix: {
+            serializedName: "Prefix",
+            xmlName: "Prefix",
+            type: {
+              name: "String"
+            }
+          },
+          marker: {
+            serializedName: "Marker",
+            xmlName: "Marker",
+            type: {
+              name: "String"
+            }
+          },
+          maxPageSize: {
+            serializedName: "MaxResults",
+            xmlName: "MaxResults",
+            type: {
+              name: "Number"
+            }
+          },
+          containerItems: {
+            serializedName: "ContainerItems",
+            required: true,
+            xmlName: "Containers",
+            xmlIsWrapped: true,
+            xmlElementName: "Container",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "ContainerItem"
+                }
+              }
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      const parsedUrl = new URL(proxyUrl);
-      const schema2 = parsedUrl.protocol ? parsedUrl.protocol + "//" : "";
-      return {
-        host: schema2 + parsedUrl.hostname,
-        port: Number.parseInt(parsedUrl.port || "80"),
-        username: parsedUrl.username,
-        password: parsedUrl.password
-      };
-    }
-    function getDefaultProxySettingsInternal() {
-      const envProxy = loadEnvironmentProxyValue();
-      return envProxy ? new URL(envProxy) : void 0;
-    }
-    function getUrlFromProxySettings(settings) {
-      let parsedProxyUrl;
-      try {
-        parsedProxyUrl = new URL(settings.host);
-      } catch {
-        throw new Error(`Expecting a valid host string in proxy settings, but found "${settings.host}".`);
-      }
-      parsedProxyUrl.port = String(settings.port);
-      if (settings.username) {
-        parsedProxyUrl.username = settings.username;
-      }
-      if (settings.password) {
-        parsedProxyUrl.password = settings.password;
-      }
-      return parsedProxyUrl;
-    }
-    function setProxyAgentOnRequest(request2, cachedAgents, proxyUrl) {
-      if (request2.agent) {
-        return;
-      }
-      const url = new URL(request2.url);
-      const isInsecure = url.protocol !== "https:";
-      if (request2.tlsSettings) {
-        log_js_1.logger.warning("TLS settings are not supported in combination with custom Proxy, certificates provided to the client will be ignored.");
-      }
-      const headers = request2.headers.toJSON();
-      if (isInsecure) {
-        if (!cachedAgents.httpProxyAgent) {
-          cachedAgents.httpProxyAgent = new http_proxy_agent_1.HttpProxyAgent(proxyUrl, { headers });
-        }
-        request2.agent = cachedAgents.httpProxyAgent;
-      } else {
-        if (!cachedAgents.httpsProxyAgent) {
-          cachedAgents.httpsProxyAgent = new https_proxy_agent_1.HttpsProxyAgent(proxyUrl, { headers });
+    };
+    exports2.ContainerItem = {
+      serializedName: "ContainerItem",
+      xmlName: "Container",
+      type: {
+        name: "Composite",
+        className: "ContainerItem",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            required: true,
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          deleted: {
+            serializedName: "Deleted",
+            xmlName: "Deleted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          version: {
+            serializedName: "Version",
+            xmlName: "Version",
+            type: {
+              name: "String"
+            }
+          },
+          properties: {
+            serializedName: "Properties",
+            xmlName: "Properties",
+            type: {
+              name: "Composite",
+              className: "ContainerProperties"
+            }
+          },
+          metadata: {
+            serializedName: "Metadata",
+            xmlName: "Metadata",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          }
         }
-        request2.agent = cachedAgents.httpsProxyAgent;
-      }
-    }
-    function proxyPolicy(proxySettings, options) {
-      if (!noProxyListLoaded) {
-        exports2.globalNoProxyList.push(...loadNoProxy());
       }
-      const defaultProxy = proxySettings ? getUrlFromProxySettings(proxySettings) : getDefaultProxySettingsInternal();
-      const cachedAgents = {};
-      return {
-        name: exports2.proxyPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.proxySettings && defaultProxy && !isBypassed(request2.url, options?.customNoProxyList ?? exports2.globalNoProxyList, options?.customNoProxyList ? void 0 : globalBypassedMap)) {
-            setProxyAgentOnRequest(request2, cachedAgents, defaultProxy);
-          } else if (request2.proxySettings) {
-            setProxyAgentOnRequest(request2, cachedAgents, getUrlFromProxySettings(request2.proxySettings));
+    };
+    exports2.ContainerProperties = {
+      serializedName: "ContainerProperties",
+      type: {
+        name: "Composite",
+        className: "ContainerProperties",
+        modelProperties: {
+          lastModified: {
+            serializedName: "Last-Modified",
+            required: true,
+            xmlName: "Last-Modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "Etag",
+            required: true,
+            xmlName: "Etag",
+            type: {
+              name: "String"
+            }
+          },
+          leaseStatus: {
+            serializedName: "LeaseStatus",
+            xmlName: "LeaseStatus",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          leaseState: {
+            serializedName: "LeaseState",
+            xmlName: "LeaseState",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseDuration: {
+            serializedName: "LeaseDuration",
+            xmlName: "LeaseDuration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          publicAccess: {
+            serializedName: "PublicAccess",
+            xmlName: "PublicAccess",
+            type: {
+              name: "Enum",
+              allowedValues: ["container", "blob"]
+            }
+          },
+          hasImmutabilityPolicy: {
+            serializedName: "HasImmutabilityPolicy",
+            xmlName: "HasImmutabilityPolicy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          hasLegalHold: {
+            serializedName: "HasLegalHold",
+            xmlName: "HasLegalHold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          defaultEncryptionScope: {
+            serializedName: "DefaultEncryptionScope",
+            xmlName: "DefaultEncryptionScope",
+            type: {
+              name: "String"
+            }
+          },
+          preventEncryptionScopeOverride: {
+            serializedName: "DenyEncryptionScopeOverride",
+            xmlName: "DenyEncryptionScopeOverride",
+            type: {
+              name: "Boolean"
+            }
+          },
+          deletedOn: {
+            serializedName: "DeletedTime",
+            xmlName: "DeletedTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          remainingRetentionDays: {
+            serializedName: "RemainingRetentionDays",
+            xmlName: "RemainingRetentionDays",
+            type: {
+              name: "Number"
+            }
+          },
+          isImmutableStorageWithVersioningEnabled: {
+            serializedName: "ImmutableStorageWithVersioningEnabled",
+            xmlName: "ImmutableStorageWithVersioningEnabled",
+            type: {
+              name: "Boolean"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js
-var require_agentPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/agentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.agentPolicyName = void 0;
-    exports2.agentPolicy = agentPolicy;
-    exports2.agentPolicyName = "agentPolicy";
-    function agentPolicy(agent) {
-      return {
-        name: exports2.agentPolicyName,
-        sendRequest: async (req, next) => {
-          if (!req.agent) {
-            req.agent = agent;
+      }
+    };
+    exports2.KeyInfo = {
+      serializedName: "KeyInfo",
+      type: {
+        name: "Composite",
+        className: "KeyInfo",
+        modelProperties: {
+          startsOn: {
+            serializedName: "Start",
+            required: true,
+            xmlName: "Start",
+            type: {
+              name: "String"
+            }
+          },
+          expiresOn: {
+            serializedName: "Expiry",
+            required: true,
+            xmlName: "Expiry",
+            type: {
+              name: "String"
+            }
           }
-          return next(req);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js
-var require_tlsPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/tlsPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tlsPolicyName = void 0;
-    exports2.tlsPolicy = tlsPolicy;
-    exports2.tlsPolicyName = "tlsPolicy";
-    function tlsPolicy(tlsSettings) {
-      return {
-        name: exports2.tlsPolicyName,
-        sendRequest: async (req, next) => {
-          if (!req.tlsSettings) {
-            req.tlsSettings = tlsSettings;
+      }
+    };
+    exports2.UserDelegationKey = {
+      serializedName: "UserDelegationKey",
+      type: {
+        name: "Composite",
+        className: "UserDelegationKey",
+        modelProperties: {
+          signedObjectId: {
+            serializedName: "SignedOid",
+            required: true,
+            xmlName: "SignedOid",
+            type: {
+              name: "String"
+            }
+          },
+          signedTenantId: {
+            serializedName: "SignedTid",
+            required: true,
+            xmlName: "SignedTid",
+            type: {
+              name: "String"
+            }
+          },
+          signedStartsOn: {
+            serializedName: "SignedStart",
+            required: true,
+            xmlName: "SignedStart",
+            type: {
+              name: "String"
+            }
+          },
+          signedExpiresOn: {
+            serializedName: "SignedExpiry",
+            required: true,
+            xmlName: "SignedExpiry",
+            type: {
+              name: "String"
+            }
+          },
+          signedService: {
+            serializedName: "SignedService",
+            required: true,
+            xmlName: "SignedService",
+            type: {
+              name: "String"
+            }
+          },
+          signedVersion: {
+            serializedName: "SignedVersion",
+            required: true,
+            xmlName: "SignedVersion",
+            type: {
+              name: "String"
+            }
+          },
+          value: {
+            serializedName: "Value",
+            required: true,
+            xmlName: "Value",
+            type: {
+              name: "String"
+            }
           }
-          return next(req);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js
-var require_typeGuards = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isNodeReadableStream = isNodeReadableStream;
-    exports2.isWebReadableStream = isWebReadableStream;
-    exports2.isBinaryBody = isBinaryBody;
-    exports2.isReadableStream = isReadableStream;
-    exports2.isBlob = isBlob;
-    function isNodeReadableStream(x) {
-      return Boolean(x && typeof x["pipe"] === "function");
-    }
-    function isWebReadableStream(x) {
-      return Boolean(x && typeof x.getReader === "function" && typeof x.tee === "function");
-    }
-    function isBinaryBody(body) {
-      return body !== void 0 && (body instanceof Uint8Array || isReadableStream(body) || typeof body === "function" || body instanceof Blob);
-    }
-    function isReadableStream(x) {
-      return isNodeReadableStream(x) || isWebReadableStream(x);
-    }
-    function isBlob(x) {
-      return typeof x.stream === "function";
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js
-var require_concat = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.concat = concat;
-    var stream_1 = require("stream");
-    var typeGuards_js_1 = require_typeGuards();
-    async function* streamAsyncIterator() {
-      const reader = this.getReader();
-      try {
-        while (true) {
-          const { done, value } = await reader.read();
-          if (done) {
-            return;
+      }
+    };
+    exports2.FilterBlobSegment = {
+      serializedName: "FilterBlobSegment",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "FilterBlobSegment",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          where: {
+            serializedName: "Where",
+            required: true,
+            xmlName: "Where",
+            type: {
+              name: "String"
+            }
+          },
+          blobs: {
+            serializedName: "Blobs",
+            required: true,
+            xmlName: "Blobs",
+            xmlIsWrapped: true,
+            xmlElementName: "Blob",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "FilterBlobItem"
+                }
+              }
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
           }
-          yield value;
         }
-      } finally {
-        reader.releaseLock();
-      }
-    }
-    function makeAsyncIterable(webStream) {
-      if (!webStream[Symbol.asyncIterator]) {
-        webStream[Symbol.asyncIterator] = streamAsyncIterator.bind(webStream);
-      }
-      if (!webStream.values) {
-        webStream.values = streamAsyncIterator.bind(webStream);
-      }
-    }
-    function ensureNodeStream(stream) {
-      if (stream instanceof ReadableStream) {
-        makeAsyncIterable(stream);
-        return stream_1.Readable.fromWeb(stream);
-      } else {
-        return stream;
-      }
-    }
-    function toStream(source) {
-      if (source instanceof Uint8Array) {
-        return stream_1.Readable.from(Buffer.from(source));
-      } else if ((0, typeGuards_js_1.isBlob)(source)) {
-        return ensureNodeStream(source.stream());
-      } else {
-        return ensureNodeStream(source);
       }
-    }
-    async function concat(sources) {
-      return function() {
-        const streams = sources.map((x) => typeof x === "function" ? x() : x).map(toStream);
-        return stream_1.Readable.from((async function* () {
-          for (const stream of streams) {
-            for await (const chunk of stream) {
-              yield chunk;
+    };
+    exports2.FilterBlobItem = {
+      serializedName: "FilterBlobItem",
+      xmlName: "Blob",
+      type: {
+        name: "Composite",
+        className: "FilterBlobItem",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            required: true,
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          containerName: {
+            serializedName: "ContainerName",
+            required: true,
+            xmlName: "ContainerName",
+            type: {
+              name: "String"
+            }
+          },
+          tags: {
+            serializedName: "Tags",
+            xmlName: "Tags",
+            type: {
+              name: "Composite",
+              className: "BlobTags"
             }
           }
-        })());
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js
-var require_multipartPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.multipartPolicyName = void 0;
-    exports2.multipartPolicy = multipartPolicy;
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var typeGuards_js_1 = require_typeGuards();
-    var uuidUtils_js_1 = require_uuidUtils();
-    var concat_js_1 = require_concat();
-    function generateBoundary() {
-      return `----AzSDKFormBoundary${(0, uuidUtils_js_1.randomUUID)()}`;
-    }
-    function encodeHeaders(headers) {
-      let result = "";
-      for (const [key, value] of headers) {
-        result += `${key}: ${value}\r
-`;
-      }
-      return result;
-    }
-    function getLength(source) {
-      if (source instanceof Uint8Array) {
-        return source.byteLength;
-      } else if ((0, typeGuards_js_1.isBlob)(source)) {
-        return source.size === -1 ? void 0 : source.size;
-      } else {
-        return void 0;
-      }
-    }
-    function getTotalLength(sources) {
-      let total = 0;
-      for (const source of sources) {
-        const partLength = getLength(source);
-        if (partLength === void 0) {
-          return void 0;
-        } else {
-          total += partLength;
         }
       }
-      return total;
-    }
-    async function buildRequestBody(request2, parts, boundary) {
-      const sources = [
-        (0, bytesEncoding_js_1.stringToUint8Array)(`--${boundary}`, "utf-8"),
-        ...parts.flatMap((part) => [
-          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
-          (0, bytesEncoding_js_1.stringToUint8Array)(encodeHeaders(part.headers), "utf-8"),
-          (0, bytesEncoding_js_1.stringToUint8Array)("\r\n", "utf-8"),
-          part.body,
-          (0, bytesEncoding_js_1.stringToUint8Array)(`\r
---${boundary}`, "utf-8")
-        ]),
-        (0, bytesEncoding_js_1.stringToUint8Array)("--\r\n\r\n", "utf-8")
-      ];
-      const contentLength = getTotalLength(sources);
-      if (contentLength) {
-        request2.headers.set("Content-Length", contentLength);
-      }
-      request2.body = await (0, concat_js_1.concat)(sources);
-    }
-    exports2.multipartPolicyName = "multipartPolicy";
-    var maxBoundaryLength = 70;
-    var validBoundaryCharacters = new Set(`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`);
-    function assertValidBoundary(boundary) {
-      if (boundary.length > maxBoundaryLength) {
-        throw new Error(`Multipart boundary "${boundary}" exceeds maximum length of 70 characters`);
-      }
-      if (Array.from(boundary).some((x) => !validBoundaryCharacters.has(x))) {
-        throw new Error(`Multipart boundary "${boundary}" contains invalid characters`);
-      }
-    }
-    function multipartPolicy() {
-      return {
-        name: exports2.multipartPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.multipartBody) {
-            return next(request2);
-          }
-          if (request2.body) {
-            throw new Error("multipartBody and regular body cannot be set at the same time");
-          }
-          let boundary = request2.multipartBody.boundary;
-          const contentTypeHeader = request2.headers.get("Content-Type") ?? "multipart/mixed";
-          const parsedHeader = contentTypeHeader.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);
-          if (!parsedHeader) {
-            throw new Error(`Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`);
+    };
+    exports2.BlobTags = {
+      serializedName: "BlobTags",
+      xmlName: "Tags",
+      type: {
+        name: "Composite",
+        className: "BlobTags",
+        modelProperties: {
+          blobTagSet: {
+            serializedName: "BlobTagSet",
+            required: true,
+            xmlName: "TagSet",
+            xmlIsWrapped: true,
+            xmlElementName: "Tag",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobTag"
+                }
+              }
+            }
           }
-          const [, contentType, parsedBoundary] = parsedHeader;
-          if (parsedBoundary && boundary && parsedBoundary !== boundary) {
-            throw new Error(`Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`);
+        }
+      }
+    };
+    exports2.BlobTag = {
+      serializedName: "BlobTag",
+      xmlName: "Tag",
+      type: {
+        name: "Composite",
+        className: "BlobTag",
+        modelProperties: {
+          key: {
+            serializedName: "Key",
+            required: true,
+            xmlName: "Key",
+            type: {
+              name: "String"
+            }
+          },
+          value: {
+            serializedName: "Value",
+            required: true,
+            xmlName: "Value",
+            type: {
+              name: "String"
+            }
           }
-          boundary ??= parsedBoundary;
-          if (boundary) {
-            assertValidBoundary(boundary);
-          } else {
-            boundary = generateBoundary();
+        }
+      }
+    };
+    exports2.SignedIdentifier = {
+      serializedName: "SignedIdentifier",
+      xmlName: "SignedIdentifier",
+      type: {
+        name: "Composite",
+        className: "SignedIdentifier",
+        modelProperties: {
+          id: {
+            serializedName: "Id",
+            required: true,
+            xmlName: "Id",
+            type: {
+              name: "String"
+            }
+          },
+          accessPolicy: {
+            serializedName: "AccessPolicy",
+            xmlName: "AccessPolicy",
+            type: {
+              name: "Composite",
+              className: "AccessPolicy"
+            }
           }
-          request2.headers.set("Content-Type", `${contentType}; boundary=${boundary}`);
-          await buildRequestBody(request2, request2.multipartBody.parts, boundary);
-          request2.multipartBody = void 0;
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js
-var require_createPipelineFromOptions = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineFromOptions = createPipelineFromOptions;
-    var logPolicy_js_1 = require_logPolicy();
-    var pipeline_js_1 = require_pipeline();
-    var redirectPolicy_js_1 = require_redirectPolicy();
-    var userAgentPolicy_js_1 = require_userAgentPolicy();
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
-    var formDataPolicy_js_1 = require_formDataPolicy();
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    var proxyPolicy_js_1 = require_proxyPolicy();
-    var agentPolicy_js_1 = require_agentPolicy();
-    var tlsPolicy_js_1 = require_tlsPolicy();
-    var multipartPolicy_js_1 = require_multipartPolicy();
-    function createPipelineFromOptions(options) {
-      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
-      if (checkEnvironment_js_1.isNodeLike) {
-        if (options.agent) {
-          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
+      }
+    };
+    exports2.AccessPolicy = {
+      serializedName: "AccessPolicy",
+      type: {
+        name: "Composite",
+        className: "AccessPolicy",
+        modelProperties: {
+          startsOn: {
+            serializedName: "Start",
+            xmlName: "Start",
+            type: {
+              name: "String"
+            }
+          },
+          expiresOn: {
+            serializedName: "Expiry",
+            xmlName: "Expiry",
+            type: {
+              name: "String"
+            }
+          },
+          permissions: {
+            serializedName: "Permission",
+            xmlName: "Permission",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (options.tlsOptions) {
-          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
+      }
+    };
+    exports2.ListBlobsFlatSegmentResponse = {
+      serializedName: "ListBlobsFlatSegmentResponse",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "ListBlobsFlatSegmentResponse",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          containerName: {
+            serializedName: "ContainerName",
+            required: true,
+            xmlName: "ContainerName",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          prefix: {
+            serializedName: "Prefix",
+            xmlName: "Prefix",
+            type: {
+              name: "String"
+            }
+          },
+          marker: {
+            serializedName: "Marker",
+            xmlName: "Marker",
+            type: {
+              name: "String"
+            }
+          },
+          maxPageSize: {
+            serializedName: "MaxResults",
+            xmlName: "MaxResults",
+            type: {
+              name: "Number"
+            }
+          },
+          segment: {
+            serializedName: "Segment",
+            xmlName: "Blobs",
+            type: {
+              name: "Composite",
+              className: "BlobFlatListSegment"
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
+          }
         }
-        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
-        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
       }
-      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
-      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
-      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
-      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
-      if (checkEnvironment_js_1.isNodeLike) {
-        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
+    };
+    exports2.BlobFlatListSegment = {
+      serializedName: "BlobFlatListSegment",
+      xmlName: "Blobs",
+      type: {
+        name: "Composite",
+        className: "BlobFlatListSegment",
+        modelProperties: {
+          blobItems: {
+            serializedName: "BlobItems",
+            required: true,
+            xmlName: "BlobItems",
+            xmlElementName: "Blob",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobItemInternal"
+                }
+              }
+            }
+          }
+        }
       }
-      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
-      return pipeline;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js
-var require_apiVersionPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/apiVersionPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.apiVersionPolicyName = void 0;
-    exports2.apiVersionPolicy = apiVersionPolicy;
-    exports2.apiVersionPolicyName = "ApiVersionPolicy";
-    function apiVersionPolicy(options) {
-      return {
-        name: exports2.apiVersionPolicyName,
-        sendRequest: (req, next) => {
-          const url = new URL(req.url);
-          if (!url.searchParams.get("api-version") && options.apiVersion) {
-            req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${options.apiVersion}`;
+    };
+    exports2.BlobItemInternal = {
+      serializedName: "BlobItemInternal",
+      xmlName: "Blob",
+      type: {
+        name: "Composite",
+        className: "BlobItemInternal",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            xmlName: "Name",
+            type: {
+              name: "Composite",
+              className: "BlobName"
+            }
+          },
+          deleted: {
+            serializedName: "Deleted",
+            required: true,
+            xmlName: "Deleted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          snapshot: {
+            serializedName: "Snapshot",
+            required: true,
+            xmlName: "Snapshot",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "VersionId",
+            xmlName: "VersionId",
+            type: {
+              name: "String"
+            }
+          },
+          isCurrentVersion: {
+            serializedName: "IsCurrentVersion",
+            xmlName: "IsCurrentVersion",
+            type: {
+              name: "Boolean"
+            }
+          },
+          properties: {
+            serializedName: "Properties",
+            xmlName: "Properties",
+            type: {
+              name: "Composite",
+              className: "BlobPropertiesInternal"
+            }
+          },
+          metadata: {
+            serializedName: "Metadata",
+            xmlName: "Metadata",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          blobTags: {
+            serializedName: "BlobTags",
+            xmlName: "Tags",
+            type: {
+              name: "Composite",
+              className: "BlobTags"
+            }
+          },
+          objectReplicationMetadata: {
+            serializedName: "ObjectReplicationMetadata",
+            xmlName: "OrMetadata",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          hasVersionsOnly: {
+            serializedName: "HasVersionsOnly",
+            xmlName: "HasVersionsOnly",
+            type: {
+              name: "Boolean"
+            }
           }
-          return next(req);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js
-var require_credentials = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/auth/credentials.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isOAuth2TokenCredential = isOAuth2TokenCredential;
-    exports2.isBearerTokenCredential = isBearerTokenCredential;
-    exports2.isBasicCredential = isBasicCredential;
-    exports2.isApiKeyCredential = isApiKeyCredential;
-    function isOAuth2TokenCredential(credential) {
-      return "getOAuth2Token" in credential;
-    }
-    function isBearerTokenCredential(credential) {
-      return "getBearerToken" in credential;
-    }
-    function isBasicCredential(credential) {
-      return "username" in credential && "password" in credential;
-    }
-    function isApiKeyCredential(credential) {
-      return "key" in credential;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js
-var require_checkInsecureConnection = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ensureSecureConnection = ensureSecureConnection;
-    var log_js_1 = require_log2();
-    var insecureConnectionWarningEmmitted = false;
-    function allowInsecureConnection(request2, options) {
-      if (options.allowInsecureConnection && request2.allowInsecureConnection) {
-        const url = new URL(request2.url);
-        if (url.hostname === "localhost" || url.hostname === "127.0.0.1") {
-          return true;
         }
       }
-      return false;
-    }
-    function emitInsecureConnectionWarning() {
-      const warning10 = "Sending token over insecure transport. Assume any token issued is compromised.";
-      log_js_1.logger.warning(warning10);
-      if (typeof process?.emitWarning === "function" && !insecureConnectionWarningEmmitted) {
-        insecureConnectionWarningEmmitted = true;
-        process.emitWarning(warning10);
-      }
-    }
-    function ensureSecureConnection(request2, options) {
-      if (!request2.url.toLowerCase().startsWith("https://")) {
-        if (allowInsecureConnection(request2, options)) {
-          emitInsecureConnectionWarning();
-        } else {
-          throw new Error("Authentication is not permitted for non-TLS protected (non-https) URLs when allowInsecureConnection is false.");
+    };
+    exports2.BlobName = {
+      serializedName: "BlobName",
+      type: {
+        name: "Composite",
+        className: "BlobName",
+        modelProperties: {
+          encoded: {
+            serializedName: "Encoded",
+            xmlName: "Encoded",
+            xmlIsAttribute: true,
+            type: {
+              name: "Boolean"
+            }
+          },
+          content: {
+            serializedName: "content",
+            xmlName: "content",
+            xmlIsMsText: true,
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js
-var require_apiKeyAuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.apiKeyAuthenticationPolicyName = void 0;
-    exports2.apiKeyAuthenticationPolicy = apiKeyAuthenticationPolicy;
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.apiKeyAuthenticationPolicyName = "apiKeyAuthenticationPolicy";
-    function apiKeyAuthenticationPolicy(options) {
-      return {
-        name: exports2.apiKeyAuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "apiKey");
-          if (!scheme) {
-            return next(request2);
+    };
+    exports2.BlobPropertiesInternal = {
+      serializedName: "BlobPropertiesInternal",
+      xmlName: "Properties",
+      type: {
+        name: "Composite",
+        className: "BlobPropertiesInternal",
+        modelProperties: {
+          createdOn: {
+            serializedName: "Creation-Time",
+            xmlName: "Creation-Time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          lastModified: {
+            serializedName: "Last-Modified",
+            required: true,
+            xmlName: "Last-Modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "Etag",
+            required: true,
+            xmlName: "Etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentLength: {
+            serializedName: "Content-Length",
+            xmlName: "Content-Length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "Content-Type",
+            xmlName: "Content-Type",
+            type: {
+              name: "String"
+            }
+          },
+          contentEncoding: {
+            serializedName: "Content-Encoding",
+            xmlName: "Content-Encoding",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "Content-Language",
+            xmlName: "Content-Language",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "Content-MD5",
+            xmlName: "Content-MD5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentDisposition: {
+            serializedName: "Content-Disposition",
+            xmlName: "Content-Disposition",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "Cache-Control",
+            xmlName: "Cache-Control",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          blobType: {
+            serializedName: "BlobType",
+            xmlName: "BlobType",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          leaseStatus: {
+            serializedName: "LeaseStatus",
+            xmlName: "LeaseStatus",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          leaseState: {
+            serializedName: "LeaseState",
+            xmlName: "LeaseState",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseDuration: {
+            serializedName: "LeaseDuration",
+            xmlName: "LeaseDuration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          copyId: {
+            serializedName: "CopyId",
+            xmlName: "CopyId",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "CopyStatus",
+            xmlName: "CopyStatus",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          copySource: {
+            serializedName: "CopySource",
+            xmlName: "CopySource",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "CopyProgress",
+            xmlName: "CopyProgress",
+            type: {
+              name: "String"
+            }
+          },
+          copyCompletedOn: {
+            serializedName: "CopyCompletionTime",
+            xmlName: "CopyCompletionTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "CopyStatusDescription",
+            xmlName: "CopyStatusDescription",
+            type: {
+              name: "String"
+            }
+          },
+          serverEncrypted: {
+            serializedName: "ServerEncrypted",
+            xmlName: "ServerEncrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          incrementalCopy: {
+            serializedName: "IncrementalCopy",
+            xmlName: "IncrementalCopy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          destinationSnapshot: {
+            serializedName: "DestinationSnapshot",
+            xmlName: "DestinationSnapshot",
+            type: {
+              name: "String"
+            }
+          },
+          deletedOn: {
+            serializedName: "DeletedTime",
+            xmlName: "DeletedTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          remainingRetentionDays: {
+            serializedName: "RemainingRetentionDays",
+            xmlName: "RemainingRetentionDays",
+            type: {
+              name: "Number"
+            }
+          },
+          accessTier: {
+            serializedName: "AccessTier",
+            xmlName: "AccessTier",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "P4",
+                "P6",
+                "P10",
+                "P15",
+                "P20",
+                "P30",
+                "P40",
+                "P50",
+                "P60",
+                "P70",
+                "P80",
+                "Hot",
+                "Cool",
+                "Archive",
+                "Cold"
+              ]
+            }
+          },
+          accessTierInferred: {
+            serializedName: "AccessTierInferred",
+            xmlName: "AccessTierInferred",
+            type: {
+              name: "Boolean"
+            }
+          },
+          archiveStatus: {
+            serializedName: "ArchiveStatus",
+            xmlName: "ArchiveStatus",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "rehydrate-pending-to-hot",
+                "rehydrate-pending-to-cool",
+                "rehydrate-pending-to-cold"
+              ]
+            }
+          },
+          customerProvidedKeySha256: {
+            serializedName: "CustomerProvidedKeySha256",
+            xmlName: "CustomerProvidedKeySha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "EncryptionScope",
+            xmlName: "EncryptionScope",
+            type: {
+              name: "String"
+            }
+          },
+          accessTierChangedOn: {
+            serializedName: "AccessTierChangeTime",
+            xmlName: "AccessTierChangeTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          tagCount: {
+            serializedName: "TagCount",
+            xmlName: "TagCount",
+            type: {
+              name: "Number"
+            }
+          },
+          expiresOn: {
+            serializedName: "Expiry-Time",
+            xmlName: "Expiry-Time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isSealed: {
+            serializedName: "Sealed",
+            xmlName: "Sealed",
+            type: {
+              name: "Boolean"
+            }
+          },
+          rehydratePriority: {
+            serializedName: "RehydratePriority",
+            xmlName: "RehydratePriority",
+            type: {
+              name: "Enum",
+              allowedValues: ["High", "Standard"]
+            }
+          },
+          lastAccessedOn: {
+            serializedName: "LastAccessTime",
+            xmlName: "LastAccessTime",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiresOn: {
+            serializedName: "ImmutabilityPolicyUntilDate",
+            xmlName: "ImmutabilityPolicyUntilDate",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "ImmutabilityPolicyMode",
+            xmlName: "ImmutabilityPolicyMode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
+          },
+          legalHold: {
+            serializedName: "LegalHold",
+            xmlName: "LegalHold",
+            type: {
+              name: "Boolean"
+            }
           }
-          if (scheme.apiKeyLocation !== "header") {
-            throw new Error(`Unsupported API key location: ${scheme.apiKeyLocation}`);
+        }
+      }
+    };
+    exports2.ListBlobsHierarchySegmentResponse = {
+      serializedName: "ListBlobsHierarchySegmentResponse",
+      xmlName: "EnumerationResults",
+      type: {
+        name: "Composite",
+        className: "ListBlobsHierarchySegmentResponse",
+        modelProperties: {
+          serviceEndpoint: {
+            serializedName: "ServiceEndpoint",
+            required: true,
+            xmlName: "ServiceEndpoint",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          containerName: {
+            serializedName: "ContainerName",
+            required: true,
+            xmlName: "ContainerName",
+            xmlIsAttribute: true,
+            type: {
+              name: "String"
+            }
+          },
+          prefix: {
+            serializedName: "Prefix",
+            xmlName: "Prefix",
+            type: {
+              name: "String"
+            }
+          },
+          marker: {
+            serializedName: "Marker",
+            xmlName: "Marker",
+            type: {
+              name: "String"
+            }
+          },
+          maxPageSize: {
+            serializedName: "MaxResults",
+            xmlName: "MaxResults",
+            type: {
+              name: "Number"
+            }
+          },
+          delimiter: {
+            serializedName: "Delimiter",
+            xmlName: "Delimiter",
+            type: {
+              name: "String"
+            }
+          },
+          segment: {
+            serializedName: "Segment",
+            xmlName: "Blobs",
+            type: {
+              name: "Composite",
+              className: "BlobHierarchyListSegment"
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
           }
-          request2.headers.set(scheme.name, options.credential.key);
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js
-var require_basicAuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.basicAuthenticationPolicyName = void 0;
-    exports2.basicAuthenticationPolicy = basicAuthenticationPolicy;
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.basicAuthenticationPolicyName = "bearerAuthenticationPolicy";
-    function basicAuthenticationPolicy(options) {
-      return {
-        name: exports2.basicAuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "basic");
-          if (!scheme) {
-            return next(request2);
+      }
+    };
+    exports2.BlobHierarchyListSegment = {
+      serializedName: "BlobHierarchyListSegment",
+      xmlName: "Blobs",
+      type: {
+        name: "Composite",
+        className: "BlobHierarchyListSegment",
+        modelProperties: {
+          blobPrefixes: {
+            serializedName: "BlobPrefixes",
+            xmlName: "BlobPrefixes",
+            xmlElementName: "BlobPrefix",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobPrefix"
+                }
+              }
+            }
+          },
+          blobItems: {
+            serializedName: "BlobItems",
+            required: true,
+            xmlName: "BlobItems",
+            xmlElementName: "Blob",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "BlobItemInternal"
+                }
+              }
+            }
           }
-          const { username, password } = options.credential;
-          const headerValue = (0, bytesEncoding_js_1.uint8ArrayToString)((0, bytesEncoding_js_1.stringToUint8Array)(`${username}:${password}`, "utf-8"), "base64");
-          request2.headers.set("Authorization", `Basic ${headerValue}`);
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js
-var require_bearerAuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.bearerAuthenticationPolicyName = void 0;
-    exports2.bearerAuthenticationPolicy = bearerAuthenticationPolicy;
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.bearerAuthenticationPolicyName = "bearerAuthenticationPolicy";
-    function bearerAuthenticationPolicy(options) {
-      return {
-        name: exports2.bearerAuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "http" && x.scheme === "bearer");
-          if (!scheme) {
-            return next(request2);
+      }
+    };
+    exports2.BlobPrefix = {
+      serializedName: "BlobPrefix",
+      type: {
+        name: "Composite",
+        className: "BlobPrefix",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            xmlName: "Name",
+            type: {
+              name: "Composite",
+              className: "BlobName"
+            }
           }
-          const token = await options.credential.getBearerToken({
-            abortSignal: request2.abortSignal
-          });
-          request2.headers.set("Authorization", `Bearer ${token}`);
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js
-var require_oauth2AuthenticationPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.oauth2AuthenticationPolicyName = void 0;
-    exports2.oauth2AuthenticationPolicy = oauth2AuthenticationPolicy;
-    var checkInsecureConnection_js_1 = require_checkInsecureConnection();
-    exports2.oauth2AuthenticationPolicyName = "oauth2AuthenticationPolicy";
-    function oauth2AuthenticationPolicy(options) {
-      return {
-        name: exports2.oauth2AuthenticationPolicyName,
-        async sendRequest(request2, next) {
-          (0, checkInsecureConnection_js_1.ensureSecureConnection)(request2, options);
-          const scheme = (request2.authSchemes ?? options.authSchemes)?.find((x) => x.kind === "oauth2");
-          if (!scheme) {
-            return next(request2);
+      }
+    };
+    exports2.BlockLookupList = {
+      serializedName: "BlockLookupList",
+      xmlName: "BlockList",
+      type: {
+        name: "Composite",
+        className: "BlockLookupList",
+        modelProperties: {
+          committed: {
+            serializedName: "Committed",
+            xmlName: "Committed",
+            xmlElementName: "Committed",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "String"
+                }
+              }
+            }
+          },
+          uncommitted: {
+            serializedName: "Uncommitted",
+            xmlName: "Uncommitted",
+            xmlElementName: "Uncommitted",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "String"
+                }
+              }
+            }
+          },
+          latest: {
+            serializedName: "Latest",
+            xmlName: "Latest",
+            xmlElementName: "Latest",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "String"
+                }
+              }
+            }
           }
-          const token = await options.credential.getOAuth2Token(scheme.flows, {
-            abortSignal: request2.abortSignal
-          });
-          request2.headers.set("Authorization", `Bearer ${token}`);
-          return next(request2);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js
-var require_clientHelpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultPipeline = createDefaultPipeline;
-    exports2.getCachedDefaultHttpsClient = getCachedDefaultHttpsClient;
-    var defaultHttpClient_js_1 = require_defaultHttpClient();
-    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions();
-    var apiVersionPolicy_js_1 = require_apiVersionPolicy();
-    var credentials_js_1 = require_credentials();
-    var apiKeyAuthenticationPolicy_js_1 = require_apiKeyAuthenticationPolicy();
-    var basicAuthenticationPolicy_js_1 = require_basicAuthenticationPolicy();
-    var bearerAuthenticationPolicy_js_1 = require_bearerAuthenticationPolicy();
-    var oauth2AuthenticationPolicy_js_1 = require_oauth2AuthenticationPolicy();
-    var cachedHttpClient;
-    function createDefaultPipeline(options = {}) {
-      const pipeline = (0, createPipelineFromOptions_js_1.createPipelineFromOptions)(options);
-      pipeline.addPolicy((0, apiVersionPolicy_js_1.apiVersionPolicy)(options));
-      const { credential, authSchemes, allowInsecureConnection } = options;
-      if (credential) {
-        if ((0, credentials_js_1.isApiKeyCredential)(credential)) {
-          pipeline.addPolicy((0, apiKeyAuthenticationPolicy_js_1.apiKeyAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
-        } else if ((0, credentials_js_1.isBasicCredential)(credential)) {
-          pipeline.addPolicy((0, basicAuthenticationPolicy_js_1.basicAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
-        } else if ((0, credentials_js_1.isBearerTokenCredential)(credential)) {
-          pipeline.addPolicy((0, bearerAuthenticationPolicy_js_1.bearerAuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
-        } else if ((0, credentials_js_1.isOAuth2TokenCredential)(credential)) {
-          pipeline.addPolicy((0, oauth2AuthenticationPolicy_js_1.oauth2AuthenticationPolicy)({ authSchemes, credential, allowInsecureConnection }));
         }
       }
-      return pipeline;
-    }
-    function getCachedDefaultHttpsClient() {
-      if (!cachedHttpClient) {
-        cachedHttpClient = (0, defaultHttpClient_js_1.createDefaultHttpClient)();
-      }
-      return cachedHttpClient;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildBodyPart = buildBodyPart;
-    exports2.buildMultipartBody = buildMultipartBody;
-    var restError_js_1 = require_restError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    var typeGuards_js_1 = require_typeGuards();
-    function getHeaderValue(descriptor, headerName) {
-      if (descriptor.headers) {
-        const actualHeaderName = Object.keys(descriptor.headers).find((x) => x.toLowerCase() === headerName.toLowerCase());
-        if (actualHeaderName) {
-          return descriptor.headers[actualHeaderName];
+    };
+    exports2.BlockList = {
+      serializedName: "BlockList",
+      type: {
+        name: "Composite",
+        className: "BlockList",
+        modelProperties: {
+          committedBlocks: {
+            serializedName: "CommittedBlocks",
+            xmlName: "CommittedBlocks",
+            xmlIsWrapped: true,
+            xmlElementName: "Block",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "Block"
+                }
+              }
+            }
+          },
+          uncommittedBlocks: {
+            serializedName: "UncommittedBlocks",
+            xmlName: "UncommittedBlocks",
+            xmlIsWrapped: true,
+            xmlElementName: "Block",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "Block"
+                }
+              }
+            }
+          }
         }
       }
-      return void 0;
-    }
-    function getPartContentType(descriptor) {
-      const contentTypeHeader = getHeaderValue(descriptor, "content-type");
-      if (contentTypeHeader) {
-        return contentTypeHeader;
-      }
-      if (descriptor.contentType === null) {
-        return void 0;
-      }
-      if (descriptor.contentType) {
-        return descriptor.contentType;
-      }
-      const { body } = descriptor;
-      if (body === null || body === void 0) {
-        return void 0;
-      }
-      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
-        return "text/plain; charset=UTF-8";
-      }
-      if (body instanceof Blob) {
-        return body.type || "application/octet-stream";
-      }
-      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
-        return "application/octet-stream";
-      }
-      return "application/json";
-    }
-    function escapeDispositionField(value) {
-      return JSON.stringify(value);
-    }
-    function getContentDisposition(descriptor) {
-      const contentDispositionHeader = getHeaderValue(descriptor, "content-disposition");
-      if (contentDispositionHeader) {
-        return contentDispositionHeader;
-      }
-      if (descriptor.dispositionType === void 0 && descriptor.name === void 0 && descriptor.filename === void 0) {
-        return void 0;
-      }
-      const dispositionType = descriptor.dispositionType ?? "form-data";
-      let disposition = dispositionType;
-      if (descriptor.name) {
-        disposition += `; name=${escapeDispositionField(descriptor.name)}`;
-      }
-      let filename = void 0;
-      if (descriptor.filename) {
-        filename = descriptor.filename;
-      } else if (typeof File !== "undefined" && descriptor.body instanceof File) {
-        const filenameFromFile = descriptor.body.name;
-        if (filenameFromFile !== "") {
-          filename = filenameFromFile;
+    };
+    exports2.Block = {
+      serializedName: "Block",
+      type: {
+        name: "Composite",
+        className: "Block",
+        modelProperties: {
+          name: {
+            serializedName: "Name",
+            required: true,
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
+          },
+          size: {
+            serializedName: "Size",
+            required: true,
+            xmlName: "Size",
+            type: {
+              name: "Number"
+            }
+          }
         }
       }
-      if (filename) {
-        disposition += `; filename=${escapeDispositionField(filename)}`;
-      }
-      return disposition;
-    }
-    function normalizeBody(body, contentType) {
-      if (body === void 0) {
-        return new Uint8Array([]);
-      }
-      if ((0, typeGuards_js_1.isBinaryBody)(body)) {
-        return body;
-      }
-      if (typeof body === "string" || typeof body === "number" || typeof body === "boolean") {
-        return (0, bytesEncoding_js_1.stringToUint8Array)(String(body), "utf-8");
-      }
-      if (contentType && /application\/(.+\+)?json(;.+)?/i.test(String(contentType))) {
-        return (0, bytesEncoding_js_1.stringToUint8Array)(JSON.stringify(body), "utf-8");
-      }
-      throw new restError_js_1.RestError(`Unsupported body/content-type combination: ${body}, ${contentType}`);
-    }
-    function buildBodyPart(descriptor) {
-      const contentType = getPartContentType(descriptor);
-      const contentDisposition = getContentDisposition(descriptor);
-      const headers = (0, httpHeaders_js_1.createHttpHeaders)(descriptor.headers ?? {});
-      if (contentType) {
-        headers.set("content-type", contentType);
-      }
-      if (contentDisposition) {
-        headers.set("content-disposition", contentDisposition);
-      }
-      const body = normalizeBody(descriptor.body, contentType);
-      return {
-        headers,
-        body
-      };
-    }
-    function buildMultipartBody(parts) {
-      return { parts: parts.map(buildBodyPart) };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js
-var require_sendRequest = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.sendRequest = sendRequest;
-    var restError_js_1 = require_restError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    var pipelineRequest_js_1 = require_pipelineRequest();
-    var clientHelpers_js_1 = require_clientHelpers();
-    var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
-    async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
-      const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
-      const request2 = buildPipelineRequest(method, url, options);
-      try {
-        const response = await pipeline.sendRequest(httpClient, request2);
-        const headers = response.headers.toJSON();
-        const stream = response.readableStreamBody ?? response.browserStreamBody;
-        const parsedBody = options.responseAsStream || stream !== void 0 ? void 0 : getResponseBody(response);
-        const body = stream ?? parsedBody;
-        if (options?.onResponse) {
-          options.onResponse({ ...response, request: request2, rawHeaders: headers, parsedBody });
-        }
-        return {
-          request: request2,
-          headers,
-          status: `${response.status}`,
-          body
-        };
-      } catch (e) {
-        if ((0, restError_js_1.isRestError)(e) && e.response && options.onResponse) {
-          const { response } = e;
-          const rawHeaders = response.headers.toJSON();
-          options?.onResponse({ ...response, request: request2, rawHeaders }, e);
+    };
+    exports2.PageList = {
+      serializedName: "PageList",
+      type: {
+        name: "Composite",
+        className: "PageList",
+        modelProperties: {
+          pageRange: {
+            serializedName: "PageRange",
+            xmlName: "PageRange",
+            xmlElementName: "PageRange",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "PageRange"
+                }
+              }
+            }
+          },
+          clearRange: {
+            serializedName: "ClearRange",
+            xmlName: "ClearRange",
+            xmlElementName: "ClearRange",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "ClearRange"
+                }
+              }
+            }
+          },
+          continuationToken: {
+            serializedName: "NextMarker",
+            xmlName: "NextMarker",
+            type: {
+              name: "String"
+            }
+          }
         }
-        throw e;
-      }
-    }
-    function getRequestContentType(options = {}) {
-      return options.contentType ?? options.headers?.["content-type"] ?? getContentType(options.body);
-    }
-    function getContentType(body) {
-      if (ArrayBuffer.isView(body)) {
-        return "application/octet-stream";
       }
-      if (typeof body === "string") {
-        try {
-          JSON.parse(body);
-          return "application/json";
-        } catch (error3) {
-          return void 0;
+    };
+    exports2.PageRange = {
+      serializedName: "PageRange",
+      xmlName: "PageRange",
+      type: {
+        name: "Composite",
+        className: "PageRange",
+        modelProperties: {
+          start: {
+            serializedName: "Start",
+            required: true,
+            xmlName: "Start",
+            type: {
+              name: "Number"
+            }
+          },
+          end: {
+            serializedName: "End",
+            required: true,
+            xmlName: "End",
+            type: {
+              name: "Number"
+            }
+          }
         }
       }
-      return "application/json";
-    }
-    function buildPipelineRequest(method, url, options = {}) {
-      const requestContentType = getRequestContentType(options);
-      const { body, multipartBody } = getRequestBody(options.body, requestContentType);
-      const hasContent = body !== void 0 || multipartBody !== void 0;
-      const headers = (0, httpHeaders_js_1.createHttpHeaders)({
-        ...options.headers ? options.headers : {},
-        accept: options.accept ?? options.headers?.accept ?? "application/json",
-        ...hasContent && requestContentType && {
-          "content-type": requestContentType
+    };
+    exports2.ClearRange = {
+      serializedName: "ClearRange",
+      xmlName: "ClearRange",
+      type: {
+        name: "Composite",
+        className: "ClearRange",
+        modelProperties: {
+          start: {
+            serializedName: "Start",
+            required: true,
+            xmlName: "Start",
+            type: {
+              name: "Number"
+            }
+          },
+          end: {
+            serializedName: "End",
+            required: true,
+            xmlName: "End",
+            type: {
+              name: "Number"
+            }
+          }
         }
-      });
-      return (0, pipelineRequest_js_1.createPipelineRequest)({
-        url,
-        method,
-        body,
-        multipartBody,
-        headers,
-        allowInsecureConnection: options.allowInsecureConnection,
-        abortSignal: options.abortSignal,
-        onUploadProgress: options.onUploadProgress,
-        onDownloadProgress: options.onDownloadProgress,
-        timeout: options.timeout,
-        enableBrowserStreams: true,
-        streamResponseStatusCodes: options.responseAsStream ? /* @__PURE__ */ new Set([Number.POSITIVE_INFINITY]) : void 0
-      });
-    }
-    function getRequestBody(body, contentType = "") {
-      if (body === void 0) {
-        return { body: void 0 };
-      }
-      if (typeof FormData !== "undefined" && body instanceof FormData) {
-        return { body };
-      }
-      if ((0, typeGuards_js_1.isReadableStream)(body)) {
-        return { body };
-      }
-      if (ArrayBuffer.isView(body)) {
-        return { body: body instanceof Uint8Array ? body : JSON.stringify(body) };
       }
-      const firstType = contentType.split(";")[0];
-      switch (firstType) {
-        case "application/json":
-          return { body: JSON.stringify(body) };
-        case "multipart/form-data":
-          if (Array.isArray(body)) {
-            return { multipartBody: (0, multipart_js_1.buildMultipartBody)(body) };
-          }
-          return { body: JSON.stringify(body) };
-        case "text/plain":
-          return { body: String(body) };
-        default:
-          if (typeof body === "string") {
-            return { body };
+    };
+    exports2.QueryRequest = {
+      serializedName: "QueryRequest",
+      xmlName: "QueryRequest",
+      type: {
+        name: "Composite",
+        className: "QueryRequest",
+        modelProperties: {
+          queryType: {
+            serializedName: "QueryType",
+            required: true,
+            xmlName: "QueryType",
+            type: {
+              name: "String"
+            }
+          },
+          expression: {
+            serializedName: "Expression",
+            required: true,
+            xmlName: "Expression",
+            type: {
+              name: "String"
+            }
+          },
+          inputSerialization: {
+            serializedName: "InputSerialization",
+            xmlName: "InputSerialization",
+            type: {
+              name: "Composite",
+              className: "QuerySerialization"
+            }
+          },
+          outputSerialization: {
+            serializedName: "OutputSerialization",
+            xmlName: "OutputSerialization",
+            type: {
+              name: "Composite",
+              className: "QuerySerialization"
+            }
           }
-          return { body: JSON.stringify(body) };
-      }
-    }
-    function getResponseBody(response) {
-      const contentType = response.headers.get("content-type") ?? "";
-      const firstType = contentType.split(";")[0];
-      const bodyToParse = response.bodyAsText ?? "";
-      if (firstType === "text/plain") {
-        return String(bodyToParse);
-      }
-      try {
-        return bodyToParse ? JSON.parse(bodyToParse) : void 0;
-      } catch (error3) {
-        if (firstType === "application/json") {
-          throw createParseError(response, error3);
         }
-        return String(bodyToParse);
-      }
-    }
-    function createParseError(response, err) {
-      const msg = `Error "${err}" occurred while parsing the response body - ${response.bodyAsText}.`;
-      const errCode = err.code ?? restError_js_1.RestError.PARSE_ERROR;
-      return new restError_js_1.RestError(msg, {
-        code: errCode,
-        statusCode: response.status,
-        request: response.request,
-        response
-      });
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js
-var require_urlHelpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/urlHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildRequestUrl = buildRequestUrl;
-    exports2.buildBaseUrl = buildBaseUrl;
-    exports2.replaceAll = replaceAll;
-    function isQueryParameterWithOptions(x) {
-      const value = x.value;
-      return value !== void 0 && value.toString !== void 0 && typeof value.toString === "function";
-    }
-    function buildRequestUrl(endpoint2, routePath, pathParameters, options = {}) {
-      if (routePath.startsWith("https://") || routePath.startsWith("http://")) {
-        return routePath;
-      }
-      endpoint2 = buildBaseUrl(endpoint2, options);
-      routePath = buildRoutePath(routePath, pathParameters, options);
-      const requestUrl = appendQueryParams(`${endpoint2}/${routePath}`, options);
-      const url = new URL(requestUrl);
-      return url.toString().replace(/([^:]\/)\/+/g, "$1");
-    }
-    function getQueryParamValue(key, allowReserved, style, param) {
-      let separator;
-      if (style === "pipeDelimited") {
-        separator = "|";
-      } else if (style === "spaceDelimited") {
-        separator = "%20";
-      } else {
-        separator = ",";
-      }
-      let paramValues;
-      if (Array.isArray(param)) {
-        paramValues = param;
-      } else if (typeof param === "object" && param.toString === Object.prototype.toString) {
-        paramValues = Object.entries(param).flat();
-      } else {
-        paramValues = [param];
       }
-      const value = paramValues.map((p) => {
-        if (p === null || p === void 0) {
-          return "";
-        }
-        if (!p.toString || typeof p.toString !== "function") {
-          throw new Error(`Query parameters must be able to be represented as string, ${key} can't`);
+    };
+    exports2.QuerySerialization = {
+      serializedName: "QuerySerialization",
+      type: {
+        name: "Composite",
+        className: "QuerySerialization",
+        modelProperties: {
+          format: {
+            serializedName: "Format",
+            xmlName: "Format",
+            type: {
+              name: "Composite",
+              className: "QueryFormat"
+            }
+          }
         }
-        const rawValue = p.toISOString !== void 0 ? p.toISOString() : p.toString();
-        return allowReserved ? rawValue : encodeURIComponent(rawValue);
-      }).join(separator);
-      return `${allowReserved ? key : encodeURIComponent(key)}=${value}`;
-    }
-    function appendQueryParams(url, options = {}) {
-      if (!options.queryParameters) {
-        return url;
       }
-      const parsedUrl = new URL(url);
-      const queryParams = options.queryParameters;
-      const paramStrings = [];
-      for (const key of Object.keys(queryParams)) {
-        const param = queryParams[key];
-        if (param === void 0 || param === null) {
-          continue;
-        }
-        const hasMetadata = isQueryParameterWithOptions(param);
-        const rawValue = hasMetadata ? param.value : param;
-        const explode = hasMetadata ? param.explode ?? false : false;
-        const style = hasMetadata && param.style ? param.style : "form";
-        if (explode) {
-          if (Array.isArray(rawValue)) {
-            for (const item of rawValue) {
-              paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, item));
+    };
+    exports2.QueryFormat = {
+      serializedName: "QueryFormat",
+      type: {
+        name: "Composite",
+        className: "QueryFormat",
+        modelProperties: {
+          type: {
+            serializedName: "Type",
+            required: true,
+            xmlName: "Type",
+            type: {
+              name: "Enum",
+              allowedValues: ["delimited", "json", "arrow", "parquet"]
             }
-          } else if (typeof rawValue === "object") {
-            for (const [actualKey, value] of Object.entries(rawValue)) {
-              paramStrings.push(getQueryParamValue(actualKey, options.skipUrlEncoding ?? false, style, value));
+          },
+          delimitedTextConfiguration: {
+            serializedName: "DelimitedTextConfiguration",
+            xmlName: "DelimitedTextConfiguration",
+            type: {
+              name: "Composite",
+              className: "DelimitedTextConfiguration"
+            }
+          },
+          jsonTextConfiguration: {
+            serializedName: "JsonTextConfiguration",
+            xmlName: "JsonTextConfiguration",
+            type: {
+              name: "Composite",
+              className: "JsonTextConfiguration"
+            }
+          },
+          arrowConfiguration: {
+            serializedName: "ArrowConfiguration",
+            xmlName: "ArrowConfiguration",
+            type: {
+              name: "Composite",
+              className: "ArrowConfiguration"
+            }
+          },
+          parquetTextConfiguration: {
+            serializedName: "ParquetTextConfiguration",
+            xmlName: "ParquetTextConfiguration",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "any" } }
             }
-          } else {
-            throw new Error("explode can only be set to true for objects and arrays");
           }
-        } else {
-          paramStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, rawValue));
         }
       }
-      if (parsedUrl.search !== "") {
-        parsedUrl.search += "&";
-      }
-      parsedUrl.search += paramStrings.join("&");
-      return parsedUrl.toString();
-    }
-    function buildBaseUrl(endpoint2, options) {
-      if (!options.pathParameters) {
-        return endpoint2;
-      }
-      const pathParams = options.pathParameters;
-      for (const [key, param] of Object.entries(pathParams)) {
-        if (param === void 0 || param === null) {
-          throw new Error(`Path parameters ${key} must not be undefined or null`);
-        }
-        if (!param.toString || typeof param.toString !== "function") {
-          throw new Error(`Path parameters must be able to be represented as string, ${key} can't`);
-        }
-        let value = param.toISOString !== void 0 ? param.toISOString() : String(param);
-        if (!options.skipUrlEncoding) {
-          value = encodeURIComponent(param);
+    };
+    exports2.DelimitedTextConfiguration = {
+      serializedName: "DelimitedTextConfiguration",
+      xmlName: "DelimitedTextConfiguration",
+      type: {
+        name: "Composite",
+        className: "DelimitedTextConfiguration",
+        modelProperties: {
+          columnSeparator: {
+            serializedName: "ColumnSeparator",
+            xmlName: "ColumnSeparator",
+            type: {
+              name: "String"
+            }
+          },
+          fieldQuote: {
+            serializedName: "FieldQuote",
+            xmlName: "FieldQuote",
+            type: {
+              name: "String"
+            }
+          },
+          recordSeparator: {
+            serializedName: "RecordSeparator",
+            xmlName: "RecordSeparator",
+            type: {
+              name: "String"
+            }
+          },
+          escapeChar: {
+            serializedName: "EscapeChar",
+            xmlName: "EscapeChar",
+            type: {
+              name: "String"
+            }
+          },
+          headersPresent: {
+            serializedName: "HeadersPresent",
+            xmlName: "HasHeaders",
+            type: {
+              name: "Boolean"
+            }
+          }
         }
-        endpoint2 = replaceAll(endpoint2, `{${key}}`, value) ?? "";
       }
-      return endpoint2;
-    }
-    function buildRoutePath(routePath, pathParameters, options = {}) {
-      for (const pathParam of pathParameters) {
-        const allowReserved = typeof pathParam === "object" && (pathParam.allowReserved ?? false);
-        let value = typeof pathParam === "object" ? pathParam.value : pathParam;
-        if (!options.skipUrlEncoding && !allowReserved) {
-          value = encodeURIComponent(value);
+    };
+    exports2.JsonTextConfiguration = {
+      serializedName: "JsonTextConfiguration",
+      xmlName: "JsonTextConfiguration",
+      type: {
+        name: "Composite",
+        className: "JsonTextConfiguration",
+        modelProperties: {
+          recordSeparator: {
+            serializedName: "RecordSeparator",
+            xmlName: "RecordSeparator",
+            type: {
+              name: "String"
+            }
+          }
         }
-        routePath = routePath.replace(/\{[\w-]+\}/, String(value));
       }
-      return routePath;
-    }
-    function replaceAll(value, searchValue, replaceValue) {
-      return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || "");
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js
-var require_getClient = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getClient = getClient;
-    var clientHelpers_js_1 = require_clientHelpers();
-    var sendRequest_js_1 = require_sendRequest();
-    var urlHelpers_js_1 = require_urlHelpers();
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    function getClient(endpoint2, clientOptions = {}) {
-      const pipeline = clientOptions.pipeline ?? (0, clientHelpers_js_1.createDefaultPipeline)(clientOptions);
-      if (clientOptions.additionalPolicies?.length) {
-        for (const { policy, position } of clientOptions.additionalPolicies) {
-          const afterPhase = position === "perRetry" ? "Sign" : void 0;
-          pipeline.addPolicy(policy, {
-            afterPhase
-          });
+    };
+    exports2.ArrowConfiguration = {
+      serializedName: "ArrowConfiguration",
+      xmlName: "ArrowConfiguration",
+      type: {
+        name: "Composite",
+        className: "ArrowConfiguration",
+        modelProperties: {
+          schema: {
+            serializedName: "Schema",
+            required: true,
+            xmlName: "Schema",
+            xmlIsWrapped: true,
+            xmlElementName: "Field",
+            type: {
+              name: "Sequence",
+              element: {
+                type: {
+                  name: "Composite",
+                  className: "ArrowField"
+                }
+              }
+            }
+          }
         }
       }
-      const { allowInsecureConnection, httpClient } = clientOptions;
-      const endpointUrl = clientOptions.endpoint ?? endpoint2;
-      const client = (path3, ...args) => {
-        const getUrl = (requestOptions) => (0, urlHelpers_js_1.buildRequestUrl)(endpointUrl, path3, args, { allowInsecureConnection, ...requestOptions });
-        return {
-          get: (requestOptions = {}) => {
-            return buildOperation("GET", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+    };
+    exports2.ArrowField = {
+      serializedName: "ArrowField",
+      xmlName: "Field",
+      type: {
+        name: "Composite",
+        className: "ArrowField",
+        modelProperties: {
+          type: {
+            serializedName: "Type",
+            required: true,
+            xmlName: "Type",
+            type: {
+              name: "String"
+            }
           },
-          post: (requestOptions = {}) => {
-            return buildOperation("POST", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          name: {
+            serializedName: "Name",
+            xmlName: "Name",
+            type: {
+              name: "String"
+            }
           },
-          put: (requestOptions = {}) => {
-            return buildOperation("PUT", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          precision: {
+            serializedName: "Precision",
+            xmlName: "Precision",
+            type: {
+              name: "Number"
+            }
           },
-          patch: (requestOptions = {}) => {
-            return buildOperation("PATCH", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          scale: {
+            serializedName: "Scale",
+            xmlName: "Scale",
+            type: {
+              name: "Number"
+            }
+          }
+        }
+      }
+    };
+    exports2.ServiceSetPropertiesHeaders = {
+      serializedName: "Service_setPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSetPropertiesHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
           },
-          delete: (requestOptions = {}) => {
-            return buildOperation("DELETE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
+    };
+    exports2.ServiceSetPropertiesExceptionHeaders = {
+      serializedName: "Service_setPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
+    };
+    exports2.ServiceGetPropertiesHeaders = {
+      serializedName: "Service_getPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetPropertiesHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
           },
-          head: (requestOptions = {}) => {
-            return buildOperation("HEAD", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
           },
-          options: (requestOptions = {}) => {
-            return buildOperation("OPTIONS", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
           },
-          trace: (requestOptions = {}) => {
-            return buildOperation("TRACE", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient);
-          }
-        };
-      };
-      return {
-        path: client,
-        pathUnchecked: client,
-        pipeline
-      };
-    }
-    function buildOperation(method, url, pipeline, options, allowInsecureConnection, httpClient) {
-      allowInsecureConnection = options.allowInsecureConnection ?? allowInsecureConnection;
-      return {
-        then: function(onFulfilled, onrejected) {
-          return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection }, httpClient).then(onFulfilled, onrejected);
-        },
-        async asBrowserStream() {
-          if (checkEnvironment_js_1.isNodeLike) {
-            throw new Error("`asBrowserStream` is supported only in the browser environment. Use `asNodeStream` instead to obtain the response body stream. If you require a Web stream of the response in Node, consider using `Readable.toWeb` on the result of `asNodeStream`.");
-          } else {
-            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
-          }
-        },
-        async asNodeStream() {
-          if (checkEnvironment_js_1.isNodeLike) {
-            return (0, sendRequest_js_1.sendRequest)(method, url, pipeline, { ...options, allowInsecureConnection, responseAsStream: true }, httpClient);
-          } else {
-            throw new Error("`isNodeStream` is not supported in the browser environment. Use `asBrowserStream` to obtain the response body stream.");
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js
-var require_operationOptionHelpers = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/operationOptionHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.operationOptionsToRequestParameters = operationOptionsToRequestParameters;
-    function operationOptionsToRequestParameters(options) {
-      return {
-        allowInsecureConnection: options.requestOptions?.allowInsecureConnection,
-        timeout: options.requestOptions?.timeout,
-        skipUrlEncoding: options.requestOptions?.skipUrlEncoding,
-        abortSignal: options.abortSignal,
-        onUploadProgress: options.requestOptions?.onUploadProgress,
-        onDownloadProgress: options.requestOptions?.onDownloadProgress,
-        headers: { ...options.requestOptions?.headers },
-        onResponse: options.onResponse
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js
-var require_restError2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createRestError = createRestError;
-    var restError_js_1 = require_restError();
-    var httpHeaders_js_1 = require_httpHeaders();
-    function createRestError(messageOrResponse, response) {
-      const resp = typeof messageOrResponse === "string" ? response : messageOrResponse;
-      const internalError = resp.body?.error ?? resp.body;
-      const message = typeof messageOrResponse === "string" ? messageOrResponse : internalError?.message ?? `Unexpected status code: ${resp.status}`;
-      return new restError_js_1.RestError(message, {
-        statusCode: statusCodeToNumber(resp.status),
-        code: internalError?.code,
-        request: resp.request,
-        response: toPipelineResponse(resp)
-      });
-    }
-    function toPipelineResponse(response) {
-      return {
-        headers: (0, httpHeaders_js_1.createHttpHeaders)(response.headers),
-        request: response.request,
-        status: statusCodeToNumber(response.status) ?? -1
-      };
-    }
-    function statusCodeToNumber(statusCode) {
-      const status = Number.parseInt(statusCode);
-      return Number.isNaN(status) ? void 0 : status;
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js
-var require_commonjs3 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createRestError = exports2.operationOptionsToRequestParameters = exports2.getClient = exports2.createDefaultHttpClient = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isRestError = exports2.RestError = exports2.createEmptyPipeline = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.TypeSpecRuntimeLogger = exports2.setLogLevel = exports2.getLogLevel = exports2.createClientLogger = exports2.AbortError = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var AbortError_js_1 = require_AbortError();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-    var logger_js_1 = require_logger();
-    Object.defineProperty(exports2, "createClientLogger", { enumerable: true, get: function() {
-      return logger_js_1.createClientLogger;
-    } });
-    Object.defineProperty(exports2, "getLogLevel", { enumerable: true, get: function() {
-      return logger_js_1.getLogLevel;
-    } });
-    Object.defineProperty(exports2, "setLogLevel", { enumerable: true, get: function() {
-      return logger_js_1.setLogLevel;
-    } });
-    Object.defineProperty(exports2, "TypeSpecRuntimeLogger", { enumerable: true, get: function() {
-      return logger_js_1.TypeSpecRuntimeLogger;
-    } });
-    var httpHeaders_js_1 = require_httpHeaders();
-    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
-      return httpHeaders_js_1.createHttpHeaders;
-    } });
-    tslib_1.__exportStar(require_schemes(), exports2);
-    tslib_1.__exportStar(require_oauth2Flows(), exports2);
-    var pipelineRequest_js_1 = require_pipelineRequest();
-    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
-      return pipelineRequest_js_1.createPipelineRequest;
-    } });
-    var pipeline_js_1 = require_pipeline();
-    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
-      return pipeline_js_1.createEmptyPipeline;
-    } });
-    var restError_js_1 = require_restError();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return restError_js_1.RestError;
-    } });
-    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
-      return restError_js_1.isRestError;
-    } });
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.stringToUint8Array;
-    } });
-    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.uint8ArrayToString;
-    } });
-    var defaultHttpClient_js_1 = require_defaultHttpClient();
-    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
-      return defaultHttpClient_js_1.createDefaultHttpClient;
-    } });
-    var getClient_js_1 = require_getClient();
-    Object.defineProperty(exports2, "getClient", { enumerable: true, get: function() {
-      return getClient_js_1.getClient;
-    } });
-    var operationOptionHelpers_js_1 = require_operationOptionHelpers();
-    Object.defineProperty(exports2, "operationOptionsToRequestParameters", { enumerable: true, get: function() {
-      return operationOptionHelpers_js_1.operationOptionsToRequestParameters;
-    } });
-    var restError_js_2 = require_restError2();
-    Object.defineProperty(exports2, "createRestError", { enumerable: true, get: function() {
-      return restError_js_2.createRestError;
-    } });
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js
-var require_pipeline2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createEmptyPipeline = createEmptyPipeline;
-    var ts_http_runtime_1 = require_commonjs3();
-    function createEmptyPipeline() {
-      return (0, ts_http_runtime_1.createEmptyPipeline)();
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js
-var require_internal = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/internal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createLoggerContext = void 0;
-    var logger_js_1 = require_logger();
-    Object.defineProperty(exports2, "createLoggerContext", { enumerable: true, get: function() {
-      return logger_js_1.createLoggerContext;
-    } });
-  }
-});
-
-// node_modules/@azure/logger/dist/commonjs/index.js
-var require_commonjs4 = __commonJS({
-  "node_modules/@azure/logger/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureLogger = void 0;
-    exports2.setLogLevel = setLogLevel;
-    exports2.getLogLevel = getLogLevel;
-    exports2.createClientLogger = createClientLogger;
-    var logger_1 = require_internal();
-    var context2 = (0, logger_1.createLoggerContext)({
-      logLevelEnvVarName: "AZURE_LOG_LEVEL",
-      namespace: "azure"
-    });
-    exports2.AzureLogger = context2.logger;
-    function setLogLevel(level) {
-      context2.setLogLevel(level);
-    }
-    function getLogLevel() {
-      return context2.getLogLevel();
-    }
-    function createClientLogger(namespace) {
-      return context2.createClientLogger(namespace);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js
-var require_log3 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs4();
-    exports2.logger = (0, logger_1.createClientLogger)("core-rest-pipeline");
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js
-var require_exponentialRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.exponentialRetryPolicyName = void 0;
-    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
-    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants12();
-    exports2.exponentialRetryPolicyName = "exponentialRetryPolicy";
-    function exponentialRetryPolicy(options = {}) {
-      return (0, retryPolicy_js_1.retryPolicy)([
-        (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
-          ...options,
-          ignoreSystemErrors: true
-        })
-      ], {
-        maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-      });
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js
-var require_systemErrorRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.systemErrorRetryPolicyName = void 0;
-    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
-    var exponentialRetryStrategy_js_1 = require_exponentialRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants12();
-    exports2.systemErrorRetryPolicyName = "systemErrorRetryPolicy";
-    function systemErrorRetryPolicy(options = {}) {
-      return {
-        name: exports2.systemErrorRetryPolicyName,
-        sendRequest: (0, retryPolicy_js_1.retryPolicy)([
-          (0, exponentialRetryStrategy_js_1.exponentialRetryStrategy)({
-            ...options,
-            ignoreHttpStatusCodes: true
-          })
-        ], {
-          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-        }).sendRequest
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js
-var require_throttlingRetryPolicy = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.throttlingRetryPolicyName = void 0;
-    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
-    var throttlingRetryStrategy_js_1 = require_throttlingRetryStrategy();
-    var retryPolicy_js_1 = require_retryPolicy();
-    var constants_js_1 = require_constants12();
-    exports2.throttlingRetryPolicyName = "throttlingRetryPolicy";
-    function throttlingRetryPolicy(options = {}) {
-      return {
-        name: exports2.throttlingRetryPolicyName,
-        sendRequest: (0, retryPolicy_js_1.retryPolicy)([(0, throttlingRetryStrategy_js_1.throttlingRetryStrategy)()], {
-          maxRetries: options.maxRetries ?? constants_js_1.DEFAULT_RETRY_POLICY_COUNT
-        }).sendRequest
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js
-var require_internal2 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.retryPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.defaultRetryPolicyName = exports2.defaultRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.agentPolicyName = exports2.agentPolicy = void 0;
-    var agentPolicy_js_1 = require_agentPolicy();
-    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicy;
-    } });
-    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicyName;
-    } });
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy();
-    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicy;
-    } });
-    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
-    } });
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy();
-    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
-      return defaultRetryPolicy_js_1.defaultRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "defaultRetryPolicyName", { enumerable: true, get: function() {
-      return defaultRetryPolicy_js_1.defaultRetryPolicyName;
-    } });
-    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy();
-    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
-    } });
-    var retryPolicy_js_1 = require_retryPolicy();
-    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
-      return retryPolicy_js_1.retryPolicy;
-    } });
-    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy();
-    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
-    } });
-    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy();
-    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
-    } });
-    var formDataPolicy_js_1 = require_formDataPolicy();
-    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicy;
-    } });
-    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicyName;
-    } });
-    var logPolicy_js_1 = require_logPolicy();
-    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicy;
-    } });
-    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicyName;
-    } });
-    var multipartPolicy_js_1 = require_multipartPolicy();
-    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicy;
-    } });
-    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicyName;
-    } });
-    var proxyPolicy_js_1 = require_proxyPolicy();
-    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicy;
-    } });
-    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicyName;
-    } });
-    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.getDefaultProxySettings;
-    } });
-    var redirectPolicy_js_1 = require_redirectPolicy();
-    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicy;
-    } });
-    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicyName;
-    } });
-    var tlsPolicy_js_1 = require_tlsPolicy();
-    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicy;
-    } });
-    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicyName;
-    } });
-    var userAgentPolicy_js_1 = require_userAgentPolicy();
-    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicy;
-    } });
-    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicyName;
-    } });
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js
-var require_logPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logPolicyName = void 0;
-    exports2.logPolicy = logPolicy;
-    var log_js_1 = require_log3();
-    var policies_1 = require_internal2();
-    exports2.logPolicyName = policies_1.logPolicyName;
-    function logPolicy(options = {}) {
-      return (0, policies_1.logPolicy)({
-        logger: log_js_1.logger.info,
-        ...options
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js
-var require_redirectPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.redirectPolicyName = void 0;
-    exports2.redirectPolicy = redirectPolicy;
-    var policies_1 = require_internal2();
-    exports2.redirectPolicyName = policies_1.redirectPolicyName;
-    function redirectPolicy(options = {}) {
-      return (0, policies_1.redirectPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js
-var require_userAgentPlatform2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getHeaderName = getHeaderName;
-    exports2.setPlatformSpecificData = setPlatformSpecificData;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_os_1 = tslib_1.__importDefault(require("node:os"));
-    var node_process_1 = tslib_1.__importDefault(require("node:process"));
-    function getHeaderName() {
-      return "User-Agent";
-    }
-    async function setPlatformSpecificData(map2) {
-      if (node_process_1.default && node_process_1.default.versions) {
-        const osInfo = `${node_os_1.default.type()} ${node_os_1.default.release()}; ${node_os_1.default.arch()}`;
-        const versions = node_process_1.default.versions;
-        if (versions.bun) {
-          map2.set("Bun", `${versions.bun} (${osInfo})`);
-        } else if (versions.deno) {
-          map2.set("Deno", `${versions.deno} (${osInfo})`);
-        } else if (versions.node) {
-          map2.set("Node", `${versions.node} (${osInfo})`);
+      }
+    };
+    exports2.ServiceGetPropertiesExceptionHeaders = {
+      serializedName: "Service_getPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js
-var require_constants13 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DEFAULT_RETRY_POLICY_COUNT = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "1.22.2";
-    exports2.DEFAULT_RETRY_POLICY_COUNT = 3;
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js
-var require_userAgent2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getUserAgentHeaderName = getUserAgentHeaderName;
-    exports2.getUserAgentValue = getUserAgentValue;
-    var userAgentPlatform_js_1 = require_userAgentPlatform2();
-    var constants_js_1 = require_constants13();
-    function getUserAgentString(telemetryInfo) {
-      const parts = [];
-      for (const [key, value] of telemetryInfo) {
-        const token = value ? `${key}/${value}` : key;
-        parts.push(token);
+    };
+    exports2.ServiceGetStatisticsHeaders = {
+      serializedName: "Service_getStatisticsHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetStatisticsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      return parts.join(" ");
-    }
-    function getUserAgentHeaderName() {
-      return (0, userAgentPlatform_js_1.getHeaderName)();
-    }
-    async function getUserAgentValue(prefix) {
-      const runtimeInfo = /* @__PURE__ */ new Map();
-      runtimeInfo.set("core-rest-pipeline", constants_js_1.SDK_VERSION);
-      await (0, userAgentPlatform_js_1.setPlatformSpecificData)(runtimeInfo);
-      const defaultAgent = getUserAgentString(runtimeInfo);
-      const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
-      return userAgentValue;
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js
-var require_userAgentPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.userAgentPolicyName = void 0;
-    exports2.userAgentPolicy = userAgentPolicy;
-    var userAgent_js_1 = require_userAgent2();
-    var UserAgentHeaderName = (0, userAgent_js_1.getUserAgentHeaderName)();
-    exports2.userAgentPolicyName = "userAgentPolicy";
-    function userAgentPolicy(options = {}) {
-      const userAgentValue = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
-      return {
-        name: exports2.userAgentPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.headers.has(UserAgentHeaderName)) {
-            request2.headers.set(UserAgentHeaderName, await userAgentValue);
+    };
+    exports2.ServiceGetStatisticsExceptionHeaders = {
+      serializedName: "Service_getStatisticsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetStatisticsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js
-var require_sha256 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.computeSha256Hmac = computeSha256Hmac;
-    exports2.computeSha256Hash = computeSha256Hash;
-    var node_crypto_1 = require("node:crypto");
-    async function computeSha256Hmac(key, stringToSign, encoding) {
-      const decodedKey = Buffer.from(key, "base64");
-      return (0, node_crypto_1.createHmac)("sha256", decodedKey).update(stringToSign).digest(encoding);
-    }
-    async function computeSha256Hash(content, encoding) {
-      return (0, node_crypto_1.createHash)("sha256").update(content).digest(encoding);
-    }
-  }
-});
-
-// node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js
-var require_internal3 = __commonJS({
-  "node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Sanitizer = exports2.uint8ArrayToString = exports2.stringToUint8Array = exports2.isWebWorker = exports2.isReactNative = exports2.isDeno = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isBun = exports2.isBrowser = exports2.randomUUID = exports2.computeSha256Hmac = exports2.computeSha256Hash = exports2.isError = exports2.isObject = exports2.getRandomIntegerInclusive = exports2.calculateRetryDelay = void 0;
-    var delay_js_1 = require_delay();
-    Object.defineProperty(exports2, "calculateRetryDelay", { enumerable: true, get: function() {
-      return delay_js_1.calculateRetryDelay;
-    } });
-    var random_js_1 = require_random();
-    Object.defineProperty(exports2, "getRandomIntegerInclusive", { enumerable: true, get: function() {
-      return random_js_1.getRandomIntegerInclusive;
-    } });
-    var object_js_1 = require_object();
-    Object.defineProperty(exports2, "isObject", { enumerable: true, get: function() {
-      return object_js_1.isObject;
-    } });
-    var error_js_1 = require_error();
-    Object.defineProperty(exports2, "isError", { enumerable: true, get: function() {
-      return error_js_1.isError;
-    } });
-    var sha256_js_1 = require_sha256();
-    Object.defineProperty(exports2, "computeSha256Hash", { enumerable: true, get: function() {
-      return sha256_js_1.computeSha256Hash;
-    } });
-    Object.defineProperty(exports2, "computeSha256Hmac", { enumerable: true, get: function() {
-      return sha256_js_1.computeSha256Hmac;
-    } });
-    var uuidUtils_js_1 = require_uuidUtils();
-    Object.defineProperty(exports2, "randomUUID", { enumerable: true, get: function() {
-      return uuidUtils_js_1.randomUUID;
-    } });
-    var checkEnvironment_js_1 = require_checkEnvironment();
-    Object.defineProperty(exports2, "isBrowser", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isBrowser;
-    } });
-    Object.defineProperty(exports2, "isBun", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isBun;
-    } });
-    Object.defineProperty(exports2, "isNodeLike", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isNodeLike;
-    } });
-    Object.defineProperty(exports2, "isNodeRuntime", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isNodeRuntime;
-    } });
-    Object.defineProperty(exports2, "isDeno", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isDeno;
-    } });
-    Object.defineProperty(exports2, "isReactNative", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isReactNative;
-    } });
-    Object.defineProperty(exports2, "isWebWorker", { enumerable: true, get: function() {
-      return checkEnvironment_js_1.isWebWorker;
-    } });
-    var bytesEncoding_js_1 = require_bytesEncoding();
-    Object.defineProperty(exports2, "stringToUint8Array", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.stringToUint8Array;
-    } });
-    Object.defineProperty(exports2, "uint8ArrayToString", { enumerable: true, get: function() {
-      return bytesEncoding_js_1.uint8ArrayToString;
-    } });
-    var sanitizer_js_1 = require_sanitizer();
-    Object.defineProperty(exports2, "Sanitizer", { enumerable: true, get: function() {
-      return sanitizer_js_1.Sanitizer;
-    } });
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/aborterUtils.js
-var require_aborterUtils = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/aborterUtils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.cancelablePromiseRace = cancelablePromiseRace;
-    async function cancelablePromiseRace(abortablePromiseBuilders, options) {
-      const aborter = new AbortController();
-      function abortHandler() {
-        aborter.abort();
       }
-      options?.abortSignal?.addEventListener("abort", abortHandler);
-      try {
-        return await Promise.race(abortablePromiseBuilders.map((p) => p({ abortSignal: aborter.signal })));
-      } finally {
-        aborter.abort();
-        options?.abortSignal?.removeEventListener("abort", abortHandler);
+    };
+    exports2.ServiceListContainersSegmentHeaders = {
+      serializedName: "Service_listContainersSegmentHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceListContainersSegmentHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-    }
-  }
-});
-
-// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
-var require_AbortError2 = __commonJS({
-  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+    };
+    exports2.ServiceListContainersSegmentExceptionHeaders = {
+      serializedName: "Service_listContainersSegmentExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceListContainersSegmentExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
     };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js
-var require_commonjs5 = __commonJS({
-  "node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError_js_1 = require_AbortError2();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js
-var require_createAbortablePromise = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/createAbortablePromise.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createAbortablePromise = createAbortablePromise;
-    var abort_controller_1 = require_commonjs5();
-    function createAbortablePromise(buildPromise, options) {
-      const { cleanupBeforeAbort, abortSignal, abortErrorMsg } = options ?? {};
-      return new Promise((resolve2, reject) => {
-        function rejectOnAbort() {
-          reject(new abort_controller_1.AbortError(abortErrorMsg ?? "The operation was aborted."));
+    exports2.ServiceGetUserDelegationKeyHeaders = {
+      serializedName: "Service_getUserDelegationKeyHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetUserDelegationKeyHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        function removeListeners() {
-          abortSignal?.removeEventListener("abort", onAbort);
+      }
+    };
+    exports2.ServiceGetUserDelegationKeyExceptionHeaders = {
+      serializedName: "Service_getUserDelegationKeyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetUserDelegationKeyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        function onAbort() {
-          cleanupBeforeAbort?.();
-          removeListeners();
-          rejectOnAbort();
+      }
+    };
+    exports2.ServiceGetAccountInfoHeaders = {
+      serializedName: "Service_getAccountInfoHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetAccountInfoHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          skuName: {
+            serializedName: "x-ms-sku-name",
+            xmlName: "x-ms-sku-name",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Standard_LRS",
+                "Standard_GRS",
+                "Standard_RAGRS",
+                "Standard_ZRS",
+                "Premium_LRS"
+              ]
+            }
+          },
+          accountKind: {
+            serializedName: "x-ms-account-kind",
+            xmlName: "x-ms-account-kind",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Storage",
+                "BlobStorage",
+                "StorageV2",
+                "FileStorage",
+                "BlockBlobStorage"
+              ]
+            }
+          },
+          isHierarchicalNamespaceEnabled: {
+            serializedName: "x-ms-is-hns-enabled",
+            xmlName: "x-ms-is-hns-enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (abortSignal?.aborted) {
-          return rejectOnAbort();
+      }
+    };
+    exports2.ServiceGetAccountInfoExceptionHeaders = {
+      serializedName: "Service_getAccountInfoExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceGetAccountInfoExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        try {
-          buildPromise((x) => {
-            removeListeners();
-            resolve2(x);
-          }, (x) => {
-            removeListeners();
-            reject(x);
-          });
-        } catch (err) {
-          reject(err);
+      }
+    };
+    exports2.ServiceSubmitBatchHeaders = {
+      serializedName: "Service_submitBatchHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSubmitBatchHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        abortSignal?.addEventListener("abort", onAbort);
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/delay.js
-var require_delay2 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/delay.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.delay = delay;
-    exports2.calculateRetryDelay = calculateRetryDelay;
-    var createAbortablePromise_js_1 = require_createAbortablePromise();
-    var util_1 = require_internal3();
-    var StandardAbortMessage = "The delay was aborted.";
-    function delay(timeInMs, options) {
-      let token;
-      const { abortSignal, abortErrorMsg } = options ?? {};
-      return (0, createAbortablePromise_js_1.createAbortablePromise)((resolve2) => {
-        token = setTimeout(resolve2, timeInMs);
-      }, {
-        cleanupBeforeAbort: () => clearTimeout(token),
-        abortSignal,
-        abortErrorMsg: abortErrorMsg ?? StandardAbortMessage
-      });
-    }
-    function calculateRetryDelay(retryAttempt, config) {
-      const exponentialDelay = config.retryDelayInMs * Math.pow(2, retryAttempt);
-      const clampedDelay = Math.min(config.maxRetryDelayInMs, exponentialDelay);
-      const retryAfterInMs = clampedDelay / 2 + (0, util_1.getRandomIntegerInclusive)(0, clampedDelay / 2);
-      return { retryAfterInMs };
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/error.js
-var require_error2 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/error.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getErrorMessage = getErrorMessage2;
-    var util_1 = require_internal3();
-    function getErrorMessage2(e) {
-      if ((0, util_1.isError)(e)) {
-        return e.message;
-      } else {
-        let stringified;
-        try {
-          if (typeof e === "object" && e) {
-            stringified = JSON.stringify(e);
-          } else {
-            stringified = String(e);
+      }
+    };
+    exports2.ServiceSubmitBatchExceptionHeaders = {
+      serializedName: "Service_submitBatchExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceSubmitBatchExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } catch (err) {
-          stringified = "[unable to stringify input]";
         }
-        return `Unknown error ${stringified}`;
       }
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/typeGuards.js
-var require_typeGuards2 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/typeGuards.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isDefined = isDefined3;
-    exports2.isObjectWithProperties = isObjectWithProperties;
-    exports2.objectHasProperty = objectHasProperty;
-    function isDefined3(thing) {
-      return typeof thing !== "undefined" && thing !== null;
-    }
-    function isObjectWithProperties(thing, properties) {
-      if (!isDefined3(thing) || typeof thing !== "object") {
-        return false;
+    };
+    exports2.ServiceFilterBlobsHeaders = {
+      serializedName: "Service_filterBlobsHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceFilterBlobsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      for (const property of properties) {
-        if (!objectHasProperty(thing, property)) {
-          return false;
+    };
+    exports2.ServiceFilterBlobsExceptionHeaders = {
+      serializedName: "Service_filterBlobsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ServiceFilterBlobsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return true;
-    }
-    function objectHasProperty(thing, property) {
-      return isDefined3(thing) && typeof thing === "object" && property in thing;
-    }
-  }
-});
-
-// node_modules/@azure/core-util/dist/commonjs/index.js
-var require_commonjs6 = __commonJS({
-  "node_modules/@azure/core-util/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isWebWorker = exports2.isReactNative = exports2.isNodeRuntime = exports2.isNodeLike = exports2.isNode = exports2.isDeno = exports2.isBun = exports2.isBrowser = exports2.objectHasProperty = exports2.isObjectWithProperties = exports2.isDefined = exports2.getErrorMessage = exports2.delay = exports2.createAbortablePromise = exports2.cancelablePromiseRace = void 0;
-    exports2.calculateRetryDelay = calculateRetryDelay;
-    exports2.computeSha256Hash = computeSha256Hash;
-    exports2.computeSha256Hmac = computeSha256Hmac;
-    exports2.getRandomIntegerInclusive = getRandomIntegerInclusive;
-    exports2.isError = isError;
-    exports2.isObject = isObject2;
-    exports2.randomUUID = randomUUID;
-    exports2.uint8ArrayToString = uint8ArrayToString;
-    exports2.stringToUint8Array = stringToUint8Array;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var tspRuntime = tslib_1.__importStar(require_internal3());
-    var aborterUtils_js_1 = require_aborterUtils();
-    Object.defineProperty(exports2, "cancelablePromiseRace", { enumerable: true, get: function() {
-      return aborterUtils_js_1.cancelablePromiseRace;
-    } });
-    var createAbortablePromise_js_1 = require_createAbortablePromise();
-    Object.defineProperty(exports2, "createAbortablePromise", { enumerable: true, get: function() {
-      return createAbortablePromise_js_1.createAbortablePromise;
-    } });
-    var delay_js_1 = require_delay2();
-    Object.defineProperty(exports2, "delay", { enumerable: true, get: function() {
-      return delay_js_1.delay;
-    } });
-    var error_js_1 = require_error2();
-    Object.defineProperty(exports2, "getErrorMessage", { enumerable: true, get: function() {
-      return error_js_1.getErrorMessage;
-    } });
-    var typeGuards_js_1 = require_typeGuards2();
-    Object.defineProperty(exports2, "isDefined", { enumerable: true, get: function() {
-      return typeGuards_js_1.isDefined;
-    } });
-    Object.defineProperty(exports2, "isObjectWithProperties", { enumerable: true, get: function() {
-      return typeGuards_js_1.isObjectWithProperties;
-    } });
-    Object.defineProperty(exports2, "objectHasProperty", { enumerable: true, get: function() {
-      return typeGuards_js_1.objectHasProperty;
-    } });
-    function calculateRetryDelay(retryAttempt, config) {
-      return tspRuntime.calculateRetryDelay(retryAttempt, config);
-    }
-    function computeSha256Hash(content, encoding) {
-      return tspRuntime.computeSha256Hash(content, encoding);
-    }
-    function computeSha256Hmac(key, stringToSign, encoding) {
-      return tspRuntime.computeSha256Hmac(key, stringToSign, encoding);
-    }
-    function getRandomIntegerInclusive(min, max) {
-      return tspRuntime.getRandomIntegerInclusive(min, max);
-    }
-    function isError(e) {
-      return tspRuntime.isError(e);
-    }
-    function isObject2(input) {
-      return tspRuntime.isObject(input);
-    }
-    function randomUUID() {
-      return tspRuntime.randomUUID();
-    }
-    exports2.isBrowser = tspRuntime.isBrowser;
-    exports2.isBun = tspRuntime.isBun;
-    exports2.isDeno = tspRuntime.isDeno;
-    exports2.isNode = tspRuntime.isNodeLike;
-    exports2.isNodeLike = tspRuntime.isNodeLike;
-    exports2.isNodeRuntime = tspRuntime.isNodeRuntime;
-    exports2.isReactNative = tspRuntime.isReactNative;
-    exports2.isWebWorker = tspRuntime.isWebWorker;
-    function uint8ArrayToString(bytes, format) {
-      return tspRuntime.uint8ArrayToString(bytes, format);
-    }
-    function stringToUint8Array(value, format) {
-      return tspRuntime.stringToUint8Array(value, format);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js
-var require_file3 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hasRawContent = hasRawContent;
-    exports2.getRawContent = getRawContent;
-    exports2.createFileFromStream = createFileFromStream;
-    exports2.createFile = createFile;
-    var core_util_1 = require_commonjs6();
-    function isNodeReadableStream(x) {
-      return Boolean(x && typeof x["pipe"] === "function");
-    }
-    var unimplementedMethods = {
-      arrayBuffer: () => {
-        throw new Error("Not implemented");
-      },
-      bytes: () => {
-        throw new Error("Not implemented");
-      },
-      slice: () => {
-        throw new Error("Not implemented");
-      },
-      text: () => {
-        throw new Error("Not implemented");
+    };
+    exports2.ContainerCreateHeaders = {
+      serializedName: "Container_createHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerCreateHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
     };
-    var rawContent = /* @__PURE__ */ Symbol("rawContent");
-    function hasRawContent(x) {
-      return typeof x[rawContent] === "function";
-    }
-    function getRawContent(blob) {
-      if (hasRawContent(blob)) {
-        return blob[rawContent]();
-      } else {
-        return blob;
+    exports2.ContainerCreateExceptionHeaders = {
+      serializedName: "Container_createExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerCreateExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-    }
-    function createFileFromStream(stream, name, options = {}) {
-      return {
-        ...unimplementedMethods,
-        type: options.type ?? "",
-        lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
-        webkitRelativePath: options.webkitRelativePath ?? "",
-        size: options.size ?? -1,
-        name,
-        stream: () => {
-          const s = stream();
-          if (isNodeReadableStream(s)) {
-            throw new Error("Not supported: a Node stream was provided as input to createFileFromStream.");
+    };
+    exports2.ContainerGetPropertiesHeaders = {
+      serializedName: "Container_getPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetPropertiesHeaders",
+        modelProperties: {
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobPublicAccess: {
+            serializedName: "x-ms-blob-public-access",
+            xmlName: "x-ms-blob-public-access",
+            type: {
+              name: "Enum",
+              allowedValues: ["container", "blob"]
+            }
+          },
+          hasImmutabilityPolicy: {
+            serializedName: "x-ms-has-immutability-policy",
+            xmlName: "x-ms-has-immutability-policy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          hasLegalHold: {
+            serializedName: "x-ms-has-legal-hold",
+            xmlName: "x-ms-has-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          defaultEncryptionScope: {
+            serializedName: "x-ms-default-encryption-scope",
+            xmlName: "x-ms-default-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          denyEncryptionScopeOverride: {
+            serializedName: "x-ms-deny-encryption-scope-override",
+            xmlName: "x-ms-deny-encryption-scope-override",
+            type: {
+              name: "Boolean"
+            }
+          },
+          isImmutableStorageWithVersioningEnabled: {
+            serializedName: "x-ms-immutable-storage-with-versioning-enabled",
+            xmlName: "x-ms-immutable-storage-with-versioning-enabled",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return s;
-        },
-        [rawContent]: stream
-      };
-    }
-    function createFile(content, name, options = {}) {
-      if (core_util_1.isNodeLike) {
-        return {
-          ...unimplementedMethods,
-          type: options.type ?? "",
-          lastModified: options.lastModified ?? (/* @__PURE__ */ new Date()).getTime(),
-          webkitRelativePath: options.webkitRelativePath ?? "",
-          size: content.byteLength,
-          name,
-          arrayBuffer: async () => content.buffer,
-          stream: () => new Blob([toArrayBuffer(content)]).stream(),
-          [rawContent]: () => content
-        };
-      } else {
-        return new File([toArrayBuffer(content)], name, options);
-      }
-    }
-    function toArrayBuffer(source) {
-      if ("resize" in source.buffer) {
-        return source;
+        }
       }
-      return source.map((x) => x);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js
-var require_multipartPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.multipartPolicyName = void 0;
-    exports2.multipartPolicy = multipartPolicy;
-    var policies_1 = require_internal2();
-    var file_js_1 = require_file3();
-    exports2.multipartPolicyName = policies_1.multipartPolicyName;
-    function multipartPolicy() {
-      const tspPolicy = (0, policies_1.multipartPolicy)();
-      return {
-        name: exports2.multipartPolicyName,
-        sendRequest: async (request2, next) => {
-          if (request2.multipartBody) {
-            for (const part of request2.multipartBody.parts) {
-              if ((0, file_js_1.hasRawContent)(part.body)) {
-                part.body = (0, file_js_1.getRawContent)(part.body);
-              }
+    };
+    exports2.ContainerGetPropertiesExceptionHeaders = {
+      serializedName: "Container_getPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          return tspPolicy.sendRequest(request2, next);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js
-var require_decompressResponsePolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.decompressResponsePolicyName = void 0;
-    exports2.decompressResponsePolicy = decompressResponsePolicy;
-    var policies_1 = require_internal2();
-    exports2.decompressResponsePolicyName = policies_1.decompressResponsePolicyName;
-    function decompressResponsePolicy() {
-      return (0, policies_1.decompressResponsePolicy)();
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js
-var require_defaultRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.defaultRetryPolicyName = void 0;
-    exports2.defaultRetryPolicy = defaultRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.defaultRetryPolicyName = policies_1.defaultRetryPolicyName;
-    function defaultRetryPolicy(options = {}) {
-      return (0, policies_1.defaultRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js
-var require_formDataPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.formDataPolicyName = void 0;
-    exports2.formDataPolicy = formDataPolicy;
-    var policies_1 = require_internal2();
-    exports2.formDataPolicyName = policies_1.formDataPolicyName;
-    function formDataPolicy() {
-      return (0, policies_1.formDataPolicy)();
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js
-var require_proxyPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.proxyPolicyName = void 0;
-    exports2.getDefaultProxySettings = getDefaultProxySettings;
-    exports2.proxyPolicy = proxyPolicy;
-    var policies_1 = require_internal2();
-    exports2.proxyPolicyName = policies_1.proxyPolicyName;
-    function getDefaultProxySettings(proxyUrl) {
-      return (0, policies_1.getDefaultProxySettings)(proxyUrl);
-    }
-    function proxyPolicy(proxySettings, options) {
-      return (0, policies_1.proxyPolicy)(proxySettings, options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js
-var require_setClientRequestIdPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.setClientRequestIdPolicyName = void 0;
-    exports2.setClientRequestIdPolicy = setClientRequestIdPolicy;
-    exports2.setClientRequestIdPolicyName = "setClientRequestIdPolicy";
-    function setClientRequestIdPolicy(requestIdHeaderName = "x-ms-client-request-id") {
-      return {
-        name: exports2.setClientRequestIdPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.headers.has(requestIdHeaderName)) {
-            request2.headers.set(requestIdHeaderName, request2.requestId);
+      }
+    };
+    exports2.ContainerDeleteHeaders = {
+      serializedName: "Container_deleteHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerDeleteHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js
-var require_agentPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.agentPolicyName = void 0;
-    exports2.agentPolicy = agentPolicy;
-    var policies_1 = require_internal2();
-    exports2.agentPolicyName = policies_1.agentPolicyName;
-    function agentPolicy(agent) {
-      return (0, policies_1.agentPolicy)(agent);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js
-var require_tlsPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tlsPolicyName = void 0;
-    exports2.tlsPolicy = tlsPolicy;
-    var policies_1 = require_internal2();
-    exports2.tlsPolicyName = policies_1.tlsPolicyName;
-    function tlsPolicy(tlsSettings) {
-      return (0, policies_1.tlsPolicy)(tlsSettings);
-    }
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js
-var require_tracingContext = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/tracingContext.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.TracingContextImpl = exports2.knownContextKeys = void 0;
-    exports2.createTracingContext = createTracingContext;
-    exports2.knownContextKeys = {
-      span: /* @__PURE__ */ Symbol.for("@azure/core-tracing span"),
-      namespace: /* @__PURE__ */ Symbol.for("@azure/core-tracing namespace")
+      }
     };
-    function createTracingContext(options = {}) {
-      let context2 = new TracingContextImpl(options.parentContext);
-      if (options.span) {
-        context2 = context2.setValue(exports2.knownContextKeys.span, options.span);
+    exports2.ContainerDeleteExceptionHeaders = {
+      serializedName: "Container_deleteExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerDeleteExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      if (options.namespace) {
-        context2 = context2.setValue(exports2.knownContextKeys.namespace, options.namespace);
+    };
+    exports2.ContainerSetMetadataHeaders = {
+      serializedName: "Container_setMetadataHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetMetadataHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      return context2;
-    }
-    var TracingContextImpl = class _TracingContextImpl {
-      _contextMap;
-      constructor(initialContext) {
-        this._contextMap = initialContext instanceof _TracingContextImpl ? new Map(initialContext._contextMap) : /* @__PURE__ */ new Map();
+    };
+    exports2.ContainerSetMetadataExceptionHeaders = {
+      serializedName: "Container_setMetadataExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetMetadataExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      setValue(key, value) {
-        const newContext = new _TracingContextImpl(this);
-        newContext._contextMap.set(key, value);
-        return newContext;
+    };
+    exports2.ContainerGetAccessPolicyHeaders = {
+      serializedName: "Container_getAccessPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccessPolicyHeaders",
+        modelProperties: {
+          blobPublicAccess: {
+            serializedName: "x-ms-blob-public-access",
+            xmlName: "x-ms-blob-public-access",
+            type: {
+              name: "Enum",
+              allowedValues: ["container", "blob"]
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      getValue(key) {
-        return this._contextMap.get(key);
+    };
+    exports2.ContainerGetAccessPolicyExceptionHeaders = {
+      serializedName: "Container_getAccessPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccessPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      deleteValue(key) {
-        const newContext = new _TracingContextImpl(this);
-        newContext._contextMap.delete(key);
-        return newContext;
+    };
+    exports2.ContainerSetAccessPolicyHeaders = {
+      serializedName: "Container_setAccessPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetAccessPolicyHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
     };
-    exports2.TracingContextImpl = TracingContextImpl;
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/state.js
-var require_state = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/state.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.state = void 0;
-    exports2.state = {
-      instrumenterImplementation: void 0
+    exports2.ContainerSetAccessPolicyExceptionHeaders = {
+      serializedName: "Container_setAccessPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSetAccessPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
+      }
     };
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js
-var require_instrumenter = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/instrumenter.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultTracingSpan = createDefaultTracingSpan;
-    exports2.createDefaultInstrumenter = createDefaultInstrumenter;
-    exports2.useInstrumenter = useInstrumenter;
-    exports2.getInstrumenter = getInstrumenter;
-    var tracingContext_js_1 = require_tracingContext();
-    var state_js_1 = require_state();
-    function createDefaultTracingSpan() {
-      return {
-        end: () => {
-        },
-        isRecording: () => false,
-        recordException: () => {
-        },
-        setAttribute: () => {
-        },
-        setStatus: () => {
-        },
-        addEvent: () => {
+    exports2.ContainerRestoreHeaders = {
+      serializedName: "Container_restoreHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRestoreHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      };
-    }
-    function createDefaultInstrumenter() {
-      return {
-        createRequestHeaders: () => {
-          return {};
-        },
-        parseTraceparentHeader: () => {
-          return void 0;
-        },
-        startSpan: (_name, spanOptions) => {
-          return {
-            span: createDefaultTracingSpan(),
-            tracingContext: (0, tracingContext_js_1.createTracingContext)({ parentContext: spanOptions.tracingContext })
-          };
-        },
-        withContext(_context, callback, ...callbackArgs) {
-          return callback(...callbackArgs);
+      }
+    };
+    exports2.ContainerRestoreExceptionHeaders = {
+      serializedName: "Container_restoreExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRestoreExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-      };
-    }
-    function useInstrumenter(instrumenter) {
-      state_js_1.state.instrumenterImplementation = instrumenter;
-    }
-    function getInstrumenter() {
-      if (!state_js_1.state.instrumenterImplementation) {
-        state_js_1.state.instrumenterImplementation = createDefaultInstrumenter();
       }
-      return state_js_1.state.instrumenterImplementation;
-    }
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js
-var require_tracingClient = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/tracingClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createTracingClient = createTracingClient;
-    var instrumenter_js_1 = require_instrumenter();
-    var tracingContext_js_1 = require_tracingContext();
-    function createTracingClient(options) {
-      const { namespace, packageName, packageVersion } = options;
-      function startSpan(name, operationOptions, spanOptions) {
-        const startSpanResult = (0, instrumenter_js_1.getInstrumenter)().startSpan(name, {
-          ...spanOptions,
-          packageName,
-          packageVersion,
-          tracingContext: operationOptions?.tracingOptions?.tracingContext
-        });
-        let tracingContext = startSpanResult.tracingContext;
-        const span = startSpanResult.span;
-        if (!tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace)) {
-          tracingContext = tracingContext.setValue(tracingContext_js_1.knownContextKeys.namespace, namespace);
+    };
+    exports2.ContainerRenameHeaders = {
+      serializedName: "Container_renameHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenameHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        span.setAttribute("az.namespace", tracingContext.getValue(tracingContext_js_1.knownContextKeys.namespace));
-        const updatedOptions = Object.assign({}, operationOptions, {
-          tracingOptions: { ...operationOptions?.tracingOptions, tracingContext }
-        });
-        return {
-          span,
-          updatedOptions
-        };
       }
-      async function withSpan(name, operationOptions, callback, spanOptions) {
-        const { span, updatedOptions } = startSpan(name, operationOptions, spanOptions);
-        try {
-          const result = await withContext(updatedOptions.tracingOptions.tracingContext, () => Promise.resolve(callback(updatedOptions, span)));
-          span.setStatus({ status: "success" });
-          return result;
-        } catch (err) {
-          span.setStatus({ status: "error", error: err });
-          throw err;
-        } finally {
-          span.end();
+    };
+    exports2.ContainerRenameExceptionHeaders = {
+      serializedName: "Container_renameExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenameExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      function withContext(context2, callback, ...callbackArgs) {
-        return (0, instrumenter_js_1.getInstrumenter)().withContext(context2, callback, ...callbackArgs);
+    };
+    exports2.ContainerSubmitBatchHeaders = {
+      serializedName: "Container_submitBatchHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSubmitBatchHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      function parseTraceparentHeader(traceparentHeader) {
-        return (0, instrumenter_js_1.getInstrumenter)().parseTraceparentHeader(traceparentHeader);
+    };
+    exports2.ContainerSubmitBatchExceptionHeaders = {
+      serializedName: "Container_submitBatchExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerSubmitBatchExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      function createRequestHeaders(tracingContext) {
-        return (0, instrumenter_js_1.getInstrumenter)().createRequestHeaders(tracingContext);
+    };
+    exports2.ContainerFilterBlobsHeaders = {
+      serializedName: "Container_filterBlobsHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerFilterBlobsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
+        }
       }
-      return {
-        startSpan,
-        withSpan,
-        withContext,
-        parseTraceparentHeader,
-        createRequestHeaders
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-tracing/dist/commonjs/index.js
-var require_commonjs7 = __commonJS({
-  "node_modules/@azure/core-tracing/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createTracingClient = exports2.useInstrumenter = void 0;
-    var instrumenter_js_1 = require_instrumenter();
-    Object.defineProperty(exports2, "useInstrumenter", { enumerable: true, get: function() {
-      return instrumenter_js_1.useInstrumenter;
-    } });
-    var tracingClient_js_1 = require_tracingClient();
-    Object.defineProperty(exports2, "createTracingClient", { enumerable: true, get: function() {
-      return tracingClient_js_1.createTracingClient;
-    } });
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js
-var require_restError3 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RestError = void 0;
-    exports2.isRestError = isRestError;
-    var ts_http_runtime_1 = require_commonjs3();
-    exports2.RestError = ts_http_runtime_1.RestError;
-    function isRestError(e) {
-      return (0, ts_http_runtime_1.isRestError)(e);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js
-var require_tracingPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tracingPolicyName = void 0;
-    exports2.tracingPolicy = tracingPolicy;
-    var core_tracing_1 = require_commonjs7();
-    var constants_js_1 = require_constants13();
-    var userAgent_js_1 = require_userAgent2();
-    var log_js_1 = require_log3();
-    var core_util_1 = require_commonjs6();
-    var restError_js_1 = require_restError3();
-    var util_1 = require_internal3();
-    exports2.tracingPolicyName = "tracingPolicy";
-    function tracingPolicy(options = {}) {
-      const userAgentPromise = (0, userAgent_js_1.getUserAgentValue)(options.userAgentPrefix);
-      const sanitizer = new util_1.Sanitizer({
-        additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
-      });
-      const tracingClient = tryCreateTracingClient();
-      return {
-        name: exports2.tracingPolicyName,
-        async sendRequest(request2, next) {
-          if (!tracingClient) {
-            return next(request2);
+    };
+    exports2.ContainerFilterBlobsExceptionHeaders = {
+      serializedName: "Container_filterBlobsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerFilterBlobsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          const userAgent2 = await userAgentPromise;
-          const spanAttributes = {
-            "http.url": sanitizer.sanitizeUrl(request2.url),
-            "http.method": request2.method,
-            "http.user_agent": userAgent2,
-            requestId: request2.requestId
-          };
-          if (userAgent2) {
-            spanAttributes["http.user_agent"] = userAgent2;
+        }
+      }
+    };
+    exports2.ContainerAcquireLeaseHeaders = {
+      serializedName: "Container_acquireLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerAcquireLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
-          const { span, tracingContext } = tryCreateSpan(tracingClient, request2, spanAttributes) ?? {};
-          if (!span || !tracingContext) {
-            return next(request2);
+        }
+      }
+    };
+    exports2.ContainerAcquireLeaseExceptionHeaders = {
+      serializedName: "Container_acquireLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerAcquireLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          try {
-            const response = await tracingClient.withContext(tracingContext, next, request2);
-            tryProcessResponse(span, response);
-            return response;
-          } catch (err) {
-            tryProcessError(span, err);
-            throw err;
+        }
+      }
+    };
+    exports2.ContainerReleaseLeaseHeaders = {
+      serializedName: "Container_releaseLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerReleaseLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
         }
-      };
-    }
-    function tryCreateTracingClient() {
-      try {
-        return (0, core_tracing_1.createTracingClient)({
-          namespace: "",
-          packageName: "@azure/core-rest-pipeline",
-          packageVersion: constants_js_1.SDK_VERSION
-        });
-      } catch (e) {
-        log_js_1.logger.warning(`Error when creating the TracingClient: ${(0, core_util_1.getErrorMessage)(e)}`);
-        return void 0;
-      }
-    }
-    function tryCreateSpan(tracingClient, request2, spanAttributes) {
-      try {
-        const { span, updatedOptions } = tracingClient.startSpan(`HTTP ${request2.method}`, { tracingOptions: request2.tracingOptions }, {
-          spanKind: "client",
-          spanAttributes
-        });
-        if (!span.isRecording()) {
-          span.end();
-          return void 0;
-        }
-        const headers = tracingClient.createRequestHeaders(updatedOptions.tracingOptions.tracingContext);
-        for (const [key, value] of Object.entries(headers)) {
-          request2.headers.set(key, value);
-        }
-        return { span, tracingContext: updatedOptions.tracingOptions.tracingContext };
-      } catch (e) {
-        log_js_1.logger.warning(`Skipping creating a tracing span due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
-        return void 0;
       }
-    }
-    function tryProcessError(span, error3) {
-      try {
-        span.setStatus({
-          status: "error",
-          error: (0, core_util_1.isError)(error3) ? error3 : void 0
-        });
-        if ((0, restError_js_1.isRestError)(error3) && error3.statusCode) {
-          span.setAttribute("http.status_code", error3.statusCode);
+    };
+    exports2.ContainerReleaseLeaseExceptionHeaders = {
+      serializedName: "Container_releaseLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerReleaseLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        span.end();
-      } catch (e) {
-        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
       }
-    }
-    function tryProcessResponse(span, response) {
-      try {
-        span.setAttribute("http.status_code", response.status);
-        const serviceRequestId = response.headers.get("x-ms-request-id");
-        if (serviceRequestId) {
-          span.setAttribute("serviceRequestId", serviceRequestId);
-        }
-        if (response.status >= 400) {
-          span.setStatus({
-            status: "error"
-          });
+    };
+    exports2.ContainerRenewLeaseHeaders = {
+      serializedName: "Container_renewLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenewLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-        span.end();
-      } catch (e) {
-        log_js_1.logger.warning(`Skipping tracing span processing due to an error: ${(0, core_util_1.getErrorMessage)(e)}`);
-      }
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js
-var require_wrapAbortSignal = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.wrapAbortSignalLike = wrapAbortSignalLike;
-    function wrapAbortSignalLike(abortSignalLike) {
-      if (abortSignalLike instanceof AbortSignal) {
-        return { abortSignal: abortSignalLike };
-      }
-      if (abortSignalLike.aborted) {
-        return { abortSignal: AbortSignal.abort(abortSignalLike.reason) };
       }
-      const controller = new AbortController();
-      let needsCleanup = true;
-      function cleanup() {
-        if (needsCleanup) {
-          abortSignalLike.removeEventListener("abort", listener);
-          needsCleanup = false;
+    };
+    exports2.ContainerRenewLeaseExceptionHeaders = {
+      serializedName: "Container_renewLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerRenewLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      function listener() {
-        controller.abort(abortSignalLike.reason);
-        cleanup();
-      }
-      abortSignalLike.addEventListener("abort", listener);
-      return { abortSignal: controller.signal, cleanup };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js
-var require_wrapAbortSignalLikePolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.wrapAbortSignalLikePolicyName = void 0;
-    exports2.wrapAbortSignalLikePolicy = wrapAbortSignalLikePolicy;
-    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
-    exports2.wrapAbortSignalLikePolicyName = "wrapAbortSignalLikePolicy";
-    function wrapAbortSignalLikePolicy() {
-      return {
-        name: exports2.wrapAbortSignalLikePolicyName,
-        sendRequest: async (request2, next) => {
-          if (!request2.abortSignal) {
-            return next(request2);
-          }
-          const { abortSignal, cleanup } = (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal);
-          request2.abortSignal = abortSignal;
-          try {
-            return await next(request2);
-          } finally {
-            cleanup?.();
+    };
+    exports2.ContainerBreakLeaseHeaders = {
+      serializedName: "Container_breakLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerBreakLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseTime: {
+            serializedName: "x-ms-lease-time",
+            xmlName: "x-ms-lease-time",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js
-var require_createPipelineFromOptions2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineFromOptions = createPipelineFromOptions;
-    var logPolicy_js_1 = require_logPolicy2();
-    var pipeline_js_1 = require_pipeline2();
-    var redirectPolicy_js_1 = require_redirectPolicy2();
-    var userAgentPolicy_js_1 = require_userAgentPolicy2();
-    var multipartPolicy_js_1 = require_multipartPolicy2();
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
-    var formDataPolicy_js_1 = require_formDataPolicy2();
-    var core_util_1 = require_commonjs6();
-    var proxyPolicy_js_1 = require_proxyPolicy2();
-    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
-    var agentPolicy_js_1 = require_agentPolicy2();
-    var tlsPolicy_js_1 = require_tlsPolicy2();
-    var tracingPolicy_js_1 = require_tracingPolicy();
-    var wrapAbortSignalLikePolicy_js_1 = require_wrapAbortSignalLikePolicy();
-    function createPipelineFromOptions(options) {
-      const pipeline = (0, pipeline_js_1.createEmptyPipeline)();
-      if (core_util_1.isNodeLike) {
-        if (options.agent) {
-          pipeline.addPolicy((0, agentPolicy_js_1.agentPolicy)(options.agent));
-        }
-        if (options.tlsOptions) {
-          pipeline.addPolicy((0, tlsPolicy_js_1.tlsPolicy)(options.tlsOptions));
-        }
-        pipeline.addPolicy((0, proxyPolicy_js_1.proxyPolicy)(options.proxyOptions));
-        pipeline.addPolicy((0, decompressResponsePolicy_js_1.decompressResponsePolicy)());
-      }
-      pipeline.addPolicy((0, wrapAbortSignalLikePolicy_js_1.wrapAbortSignalLikePolicy)());
-      pipeline.addPolicy((0, formDataPolicy_js_1.formDataPolicy)(), { beforePolicies: [multipartPolicy_js_1.multipartPolicyName] });
-      pipeline.addPolicy((0, userAgentPolicy_js_1.userAgentPolicy)(options.userAgentOptions));
-      pipeline.addPolicy((0, setClientRequestIdPolicy_js_1.setClientRequestIdPolicy)(options.telemetryOptions?.clientRequestIdHeaderName));
-      pipeline.addPolicy((0, multipartPolicy_js_1.multipartPolicy)(), { afterPhase: "Deserialize" });
-      pipeline.addPolicy((0, defaultRetryPolicy_js_1.defaultRetryPolicy)(options.retryOptions), { phase: "Retry" });
-      pipeline.addPolicy((0, tracingPolicy_js_1.tracingPolicy)({ ...options.userAgentOptions, ...options.loggingOptions }), {
-        afterPhase: "Retry"
-      });
-      if (core_util_1.isNodeLike) {
-        pipeline.addPolicy((0, redirectPolicy_js_1.redirectPolicy)(options.redirectOptions), { afterPhase: "Retry" });
       }
-      pipeline.addPolicy((0, logPolicy_js_1.logPolicy)(options.loggingOptions), { afterPhase: "Sign" });
-      return pipeline;
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js
-var require_defaultHttpClient2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createDefaultHttpClient = createDefaultHttpClient;
-    var ts_http_runtime_1 = require_commonjs3();
-    var wrapAbortSignal_js_1 = require_wrapAbortSignal();
-    function createDefaultHttpClient() {
-      const client = (0, ts_http_runtime_1.createDefaultHttpClient)();
-      return {
-        async sendRequest(request2) {
-          const { abortSignal, cleanup } = request2.abortSignal ? (0, wrapAbortSignal_js_1.wrapAbortSignalLike)(request2.abortSignal) : {};
-          try {
-            request2.abortSignal = abortSignal;
-            return await client.sendRequest(request2);
-          } finally {
-            cleanup?.();
+    };
+    exports2.ContainerBreakLeaseExceptionHeaders = {
+      serializedName: "Container_breakLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerBreakLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js
-var require_httpHeaders2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpHeaders = createHttpHeaders;
-    var ts_http_runtime_1 = require_commonjs3();
-    function createHttpHeaders(rawHeaders) {
-      return (0, ts_http_runtime_1.createHttpHeaders)(rawHeaders);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js
-var require_pipelineRequest2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createPipelineRequest = createPipelineRequest;
-    var ts_http_runtime_1 = require_commonjs3();
-    function createPipelineRequest(options) {
-      return (0, ts_http_runtime_1.createPipelineRequest)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js
-var require_exponentialRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.exponentialRetryPolicyName = void 0;
-    exports2.exponentialRetryPolicy = exponentialRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.exponentialRetryPolicyName = policies_1.exponentialRetryPolicyName;
-    function exponentialRetryPolicy(options = {}) {
-      return (0, policies_1.exponentialRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js
-var require_systemErrorRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.systemErrorRetryPolicyName = void 0;
-    exports2.systemErrorRetryPolicy = systemErrorRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.systemErrorRetryPolicyName = policies_1.systemErrorRetryPolicyName;
-    function systemErrorRetryPolicy(options = {}) {
-      return (0, policies_1.systemErrorRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js
-var require_throttlingRetryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.throttlingRetryPolicyName = void 0;
-    exports2.throttlingRetryPolicy = throttlingRetryPolicy;
-    var policies_1 = require_internal2();
-    exports2.throttlingRetryPolicyName = policies_1.throttlingRetryPolicyName;
-    function throttlingRetryPolicy(options = {}) {
-      return (0, policies_1.throttlingRetryPolicy)(options);
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js
-var require_retryPolicy2 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.retryPolicy = retryPolicy;
-    var logger_1 = require_commonjs4();
-    var constants_js_1 = require_constants13();
-    var policies_1 = require_internal2();
-    var retryPolicyLogger = (0, logger_1.createClientLogger)("core-rest-pipeline retryPolicy");
-    function retryPolicy(strategies, options = { maxRetries: constants_js_1.DEFAULT_RETRY_POLICY_COUNT }) {
-      return (0, policies_1.retryPolicy)(strategies, {
-        logger: retryPolicyLogger,
-        ...options
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js
-var require_tokenCycler = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.DEFAULT_CYCLER_OPTIONS = void 0;
-    exports2.createTokenCycler = createTokenCycler;
-    var core_util_1 = require_commonjs6();
-    exports2.DEFAULT_CYCLER_OPTIONS = {
-      forcedRefreshWindowInMs: 1e3,
-      // Force waiting for a refresh 1s before the token expires
-      retryIntervalInMs: 3e3,
-      // Allow refresh attempts every 3s
-      refreshWindowInMs: 1e3 * 60 * 2
-      // Start refreshing 2m before expiry
+      }
     };
-    async function beginRefresh(getAccessToken, retryIntervalInMs, refreshTimeout) {
-      async function tryGetAccessToken() {
-        if (Date.now() < refreshTimeout) {
-          try {
-            return await getAccessToken();
-          } catch {
-            return null;
-          }
-        } else {
-          const finalToken = await getAccessToken();
-          if (finalToken === null) {
-            throw new Error("Failed to refresh access token.");
+    exports2.ContainerChangeLeaseHeaders = {
+      serializedName: "Container_changeLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerChangeLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
-          return finalToken;
         }
       }
-      let token = await tryGetAccessToken();
-      while (token === null) {
-        await (0, core_util_1.delay)(retryIntervalInMs);
-        token = await tryGetAccessToken();
-      }
-      return token;
-    }
-    function createTokenCycler(credential, tokenCyclerOptions) {
-      let refreshWorker = null;
-      let token = null;
-      let tenantId;
-      const options = {
-        ...exports2.DEFAULT_CYCLER_OPTIONS,
-        ...tokenCyclerOptions
-      };
-      const cycler = {
-        /**
-         * Produces true if a refresh job is currently in progress.
-         */
-        get isRefreshing() {
-          return refreshWorker !== null;
-        },
-        /**
-         * Produces true if the cycler SHOULD refresh (we are within the refresh
-         * window and not already refreshing)
-         */
-        get shouldRefresh() {
-          if (cycler.isRefreshing) {
-            return false;
-          }
-          if (token?.refreshAfterTimestamp && token.refreshAfterTimestamp < Date.now()) {
-            return true;
+    };
+    exports2.ContainerChangeLeaseExceptionHeaders = {
+      serializedName: "Container_changeLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerChangeLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return (token?.expiresOnTimestamp ?? 0) - options.refreshWindowInMs < Date.now();
-        },
-        /**
-         * Produces true if the cycler MUST refresh (null or nearly-expired
-         * token).
-         */
-        get mustRefresh() {
-          return token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now();
-        }
-      };
-      function refresh(scopes, getTokenOptions) {
-        if (!cycler.isRefreshing) {
-          const tryGetAccessToken = () => credential.getToken(scopes, getTokenOptions);
-          refreshWorker = beginRefresh(
-            tryGetAccessToken,
-            options.retryIntervalInMs,
-            // If we don't have a token, then we should timeout immediately
-            token?.expiresOnTimestamp ?? Date.now()
-          ).then((_token) => {
-            refreshWorker = null;
-            token = _token;
-            tenantId = getTokenOptions.tenantId;
-            return token;
-          }).catch((reason) => {
-            refreshWorker = null;
-            token = null;
-            tenantId = void 0;
-            throw reason;
-          });
         }
-        return refreshWorker;
       }
-      return async (scopes, tokenOptions) => {
-        const hasClaimChallenge = Boolean(tokenOptions.claims);
-        const tenantIdChanged = tenantId !== tokenOptions.tenantId;
-        if (hasClaimChallenge) {
-          token = null;
-        }
-        const mustRefresh = tenantIdChanged || hasClaimChallenge || cycler.mustRefresh;
-        if (mustRefresh) {
-          return refresh(scopes, tokenOptions);
-        }
-        if (cycler.shouldRefresh) {
-          refresh(scopes, tokenOptions);
-        }
-        return token;
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js
-var require_bearerTokenAuthenticationPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.bearerTokenAuthenticationPolicyName = void 0;
-    exports2.bearerTokenAuthenticationPolicy = bearerTokenAuthenticationPolicy;
-    exports2.parseChallenges = parseChallenges;
-    var tokenCycler_js_1 = require_tokenCycler();
-    var log_js_1 = require_log3();
-    var restError_js_1 = require_restError3();
-    exports2.bearerTokenAuthenticationPolicyName = "bearerTokenAuthenticationPolicy";
-    async function trySendRequest(request2, next) {
-      try {
-        return [await next(request2), void 0];
-      } catch (e) {
-        if ((0, restError_js_1.isRestError)(e) && e.response) {
-          return [e.response, e];
-        } else {
-          throw e;
+    };
+    exports2.ContainerListBlobFlatSegmentHeaders = {
+      serializedName: "Container_listBlobFlatSegmentHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobFlatSegmentHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-    }
-    async function defaultAuthorizeRequest(options) {
-      const { scopes, getAccessToken, request: request2 } = options;
-      const getTokenOptions = {
-        abortSignal: request2.abortSignal,
-        tracingOptions: request2.tracingOptions,
-        enableCae: true
-      };
-      const accessToken = await getAccessToken(scopes, getTokenOptions);
-      if (accessToken) {
-        options.request.headers.set("Authorization", `Bearer ${accessToken.token}`);
-      }
-    }
-    function isChallengeResponse(response) {
-      return response.status === 401 && response.headers.has("WWW-Authenticate");
-    }
-    async function authorizeRequestOnCaeChallenge(onChallengeOptions, caeClaims) {
-      const { scopes } = onChallengeOptions;
-      const accessToken = await onChallengeOptions.getAccessToken(scopes, {
-        enableCae: true,
-        claims: caeClaims
-      });
-      if (!accessToken) {
-        return false;
-      }
-      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
-      return true;
-    }
-    function bearerTokenAuthenticationPolicy(options) {
-      const { credential, scopes, challengeCallbacks } = options;
-      const logger = options.logger || log_js_1.logger;
-      const callbacks = {
-        authorizeRequest: challengeCallbacks?.authorizeRequest?.bind(challengeCallbacks) ?? defaultAuthorizeRequest,
-        authorizeRequestOnChallenge: challengeCallbacks?.authorizeRequestOnChallenge?.bind(challengeCallbacks)
-      };
-      const getAccessToken = credential ? (0, tokenCycler_js_1.createTokenCycler)(
-        credential
-        /* , options */
-      ) : () => Promise.resolve(null);
-      return {
-        name: exports2.bearerTokenAuthenticationPolicyName,
-        /**
-         * If there's no challenge parameter:
-         * - It will try to retrieve the token using the cache, or the credential's getToken.
-         * - Then it will try the next policy with or without the retrieved token.
-         *
-         * It uses the challenge parameters to:
-         * - Skip a first attempt to get the token from the credential if there's no cached token,
-         *   since it expects the token to be retrievable only after the challenge.
-         * - Prepare the outgoing request if the `prepareRequest` method has been provided.
-         * - Send an initial request to receive the challenge if it fails.
-         * - Process a challenge if the response contains it.
-         * - Retrieve a token with the challenge information, then re-send the request.
-         */
-        async sendRequest(request2, next) {
-          if (!request2.url.toLowerCase().startsWith("https://")) {
-            throw new Error("Bearer token authentication is not permitted for non-TLS protected (non-https) URLs.");
-          }
-          await callbacks.authorizeRequest({
-            scopes: Array.isArray(scopes) ? scopes : [scopes],
-            request: request2,
-            getAccessToken,
-            logger
-          });
-          let response;
-          let error3;
-          let shouldSendRequest;
-          [response, error3] = await trySendRequest(request2, next);
-          if (isChallengeResponse(response)) {
-            let claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
-            if (claims) {
-              let parsedClaim;
-              try {
-                parsedClaim = atob(claims);
-              } catch (e) {
-                logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
-                return response;
-              }
-              shouldSendRequest = await authorizeRequestOnCaeChallenge({
-                scopes: Array.isArray(scopes) ? scopes : [scopes],
-                response,
-                request: request2,
-                getAccessToken,
-                logger
-              }, parsedClaim);
-              if (shouldSendRequest) {
-                [response, error3] = await trySendRequest(request2, next);
-              }
-            } else if (callbacks.authorizeRequestOnChallenge) {
-              shouldSendRequest = await callbacks.authorizeRequestOnChallenge({
-                scopes: Array.isArray(scopes) ? scopes : [scopes],
-                request: request2,
-                response,
-                getAccessToken,
-                logger
-              });
-              if (shouldSendRequest) {
-                [response, error3] = await trySendRequest(request2, next);
-              }
-              if (isChallengeResponse(response)) {
-                claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
-                if (claims) {
-                  let parsedClaim;
-                  try {
-                    parsedClaim = atob(claims);
-                  } catch (e) {
-                    logger.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
-                    return response;
-                  }
-                  shouldSendRequest = await authorizeRequestOnCaeChallenge({
-                    scopes: Array.isArray(scopes) ? scopes : [scopes],
-                    response,
-                    request: request2,
-                    getAccessToken,
-                    logger
-                  }, parsedClaim);
-                  if (shouldSendRequest) {
-                    [response, error3] = await trySendRequest(request2, next);
-                  }
-                }
-              }
+    };
+    exports2.ContainerListBlobFlatSegmentExceptionHeaders = {
+      serializedName: "Container_listBlobFlatSegmentExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobFlatSegmentExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          if (error3) {
-            throw error3;
-          } else {
-            return response;
-          }
-        }
-      };
-    }
-    function parseChallenges(challenges) {
-      const challengeRegex = /(\w+)\s+((?:\w+=(?:"[^"]*"|[^,]*),?\s*)+)/g;
-      const paramRegex = /(\w+)="([^"]*)"/g;
-      const parsedChallenges = [];
-      let match;
-      while ((match = challengeRegex.exec(challenges)) !== null) {
-        const scheme = match[1];
-        const paramsString = match[2];
-        const params = {};
-        let paramMatch;
-        while ((paramMatch = paramRegex.exec(paramsString)) !== null) {
-          params[paramMatch[1]] = paramMatch[2];
         }
-        parsedChallenges.push({ scheme, params });
-      }
-      return parsedChallenges;
-    }
-    function getCaeChallengeClaims(challenges) {
-      if (!challenges) {
-        return;
       }
-      const parsedChallenges = parseChallenges(challenges);
-      return parsedChallenges.find((x) => x.scheme === "Bearer" && x.params.claims && x.params.error === "insufficient_claims")?.params.claims;
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js
-var require_ndJsonPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ndJsonPolicyName = void 0;
-    exports2.ndJsonPolicy = ndJsonPolicy;
-    exports2.ndJsonPolicyName = "ndJsonPolicy";
-    function ndJsonPolicy() {
-      return {
-        name: exports2.ndJsonPolicyName,
-        async sendRequest(request2, next) {
-          if (typeof request2.body === "string" && request2.body.startsWith("[")) {
-            const body = JSON.parse(request2.body);
-            if (Array.isArray(body)) {
-              request2.body = body.map((item) => JSON.stringify(item) + "\n").join("");
+    };
+    exports2.ContainerListBlobHierarchySegmentHeaders = {
+      serializedName: "Container_listBlobHierarchySegmentHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobHierarchySegmentHeaders",
+        modelProperties: {
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js
-var require_auxiliaryAuthenticationHeaderPolicy = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.auxiliaryAuthenticationHeaderPolicyName = void 0;
-    exports2.auxiliaryAuthenticationHeaderPolicy = auxiliaryAuthenticationHeaderPolicy;
-    var tokenCycler_js_1 = require_tokenCycler();
-    var log_js_1 = require_log3();
-    exports2.auxiliaryAuthenticationHeaderPolicyName = "auxiliaryAuthenticationHeaderPolicy";
-    var AUTHORIZATION_AUXILIARY_HEADER = "x-ms-authorization-auxiliary";
-    async function sendAuthorizeRequest(options) {
-      const { scopes, getAccessToken, request: request2 } = options;
-      const getTokenOptions = {
-        abortSignal: request2.abortSignal,
-        tracingOptions: request2.tracingOptions
-      };
-      return (await getAccessToken(scopes, getTokenOptions))?.token ?? "";
-    }
-    function auxiliaryAuthenticationHeaderPolicy(options) {
-      const { credentials, scopes } = options;
-      const logger = options.logger || log_js_1.logger;
-      const tokenCyclerMap = /* @__PURE__ */ new WeakMap();
-      return {
-        name: exports2.auxiliaryAuthenticationHeaderPolicyName,
-        async sendRequest(request2, next) {
-          if (!request2.url.toLowerCase().startsWith("https://")) {
-            throw new Error("Bearer token authentication for auxiliary header is not permitted for non-TLS protected (non-https) URLs.");
-          }
-          if (!credentials || credentials.length === 0) {
-            logger.info(`${exports2.auxiliaryAuthenticationHeaderPolicyName} header will not be set due to empty credentials.`);
-            return next(request2);
+      }
+    };
+    exports2.ContainerListBlobHierarchySegmentExceptionHeaders = {
+      serializedName: "Container_listBlobHierarchySegmentExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerListBlobHierarchySegmentExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          const tokenPromises = [];
-          for (const credential of credentials) {
-            let getAccessToken = tokenCyclerMap.get(credential);
-            if (!getAccessToken) {
-              getAccessToken = (0, tokenCycler_js_1.createTokenCycler)(credential);
-              tokenCyclerMap.set(credential, getAccessToken);
+        }
+      }
+    };
+    exports2.ContainerGetAccountInfoHeaders = {
+      serializedName: "Container_getAccountInfoHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccountInfoHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          skuName: {
+            serializedName: "x-ms-sku-name",
+            xmlName: "x-ms-sku-name",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Standard_LRS",
+                "Standard_GRS",
+                "Standard_RAGRS",
+                "Standard_ZRS",
+                "Premium_LRS"
+              ]
+            }
+          },
+          accountKind: {
+            serializedName: "x-ms-account-kind",
+            xmlName: "x-ms-account-kind",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Storage",
+                "BlobStorage",
+                "StorageV2",
+                "FileStorage",
+                "BlockBlobStorage"
+              ]
+            }
+          },
+          isHierarchicalNamespaceEnabled: {
+            serializedName: "x-ms-is-hns-enabled",
+            xmlName: "x-ms-is-hns-enabled",
+            type: {
+              name: "Boolean"
             }
-            tokenPromises.push(sendAuthorizeRequest({
-              scopes: Array.isArray(scopes) ? scopes : [scopes],
-              request: request2,
-              getAccessToken,
-              logger
-            }));
           }
-          const auxiliaryTokens = (await Promise.all(tokenPromises)).filter((token) => Boolean(token));
-          if (auxiliaryTokens.length === 0) {
-            logger.warning(`None of the auxiliary tokens are valid. ${AUTHORIZATION_AUXILIARY_HEADER} header will not be set.`);
-            return next(request2);
+        }
+      }
+    };
+    exports2.ContainerGetAccountInfoExceptionHeaders = {
+      serializedName: "Container_getAccountInfoExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "ContainerGetAccountInfoExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          request2.headers.set(AUTHORIZATION_AUXILIARY_HEADER, auxiliaryTokens.map((token) => `Bearer ${token}`).join(", "));
-          return next(request2);
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js
-var require_commonjs8 = __commonJS({
-  "node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createFileFromStream = exports2.createFile = exports2.agentPolicyName = exports2.agentPolicy = exports2.auxiliaryAuthenticationHeaderPolicyName = exports2.auxiliaryAuthenticationHeaderPolicy = exports2.ndJsonPolicyName = exports2.ndJsonPolicy = exports2.bearerTokenAuthenticationPolicyName = exports2.bearerTokenAuthenticationPolicy = exports2.formDataPolicyName = exports2.formDataPolicy = exports2.tlsPolicyName = exports2.tlsPolicy = exports2.userAgentPolicyName = exports2.userAgentPolicy = exports2.defaultRetryPolicy = exports2.tracingPolicyName = exports2.tracingPolicy = exports2.retryPolicy = exports2.throttlingRetryPolicyName = exports2.throttlingRetryPolicy = exports2.systemErrorRetryPolicyName = exports2.systemErrorRetryPolicy = exports2.redirectPolicyName = exports2.redirectPolicy = exports2.getDefaultProxySettings = exports2.proxyPolicyName = exports2.proxyPolicy = exports2.multipartPolicyName = exports2.multipartPolicy = exports2.logPolicyName = exports2.logPolicy = exports2.setClientRequestIdPolicyName = exports2.setClientRequestIdPolicy = exports2.exponentialRetryPolicyName = exports2.exponentialRetryPolicy = exports2.decompressResponsePolicyName = exports2.decompressResponsePolicy = exports2.isRestError = exports2.RestError = exports2.createPipelineRequest = exports2.createHttpHeaders = exports2.createDefaultHttpClient = exports2.createPipelineFromOptions = exports2.createEmptyPipeline = void 0;
-    var pipeline_js_1 = require_pipeline2();
-    Object.defineProperty(exports2, "createEmptyPipeline", { enumerable: true, get: function() {
-      return pipeline_js_1.createEmptyPipeline;
-    } });
-    var createPipelineFromOptions_js_1 = require_createPipelineFromOptions2();
-    Object.defineProperty(exports2, "createPipelineFromOptions", { enumerable: true, get: function() {
-      return createPipelineFromOptions_js_1.createPipelineFromOptions;
-    } });
-    var defaultHttpClient_js_1 = require_defaultHttpClient2();
-    Object.defineProperty(exports2, "createDefaultHttpClient", { enumerable: true, get: function() {
-      return defaultHttpClient_js_1.createDefaultHttpClient;
-    } });
-    var httpHeaders_js_1 = require_httpHeaders2();
-    Object.defineProperty(exports2, "createHttpHeaders", { enumerable: true, get: function() {
-      return httpHeaders_js_1.createHttpHeaders;
-    } });
-    var pipelineRequest_js_1 = require_pipelineRequest2();
-    Object.defineProperty(exports2, "createPipelineRequest", { enumerable: true, get: function() {
-      return pipelineRequest_js_1.createPipelineRequest;
-    } });
-    var restError_js_1 = require_restError3();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return restError_js_1.RestError;
-    } });
-    Object.defineProperty(exports2, "isRestError", { enumerable: true, get: function() {
-      return restError_js_1.isRestError;
-    } });
-    var decompressResponsePolicy_js_1 = require_decompressResponsePolicy2();
-    Object.defineProperty(exports2, "decompressResponsePolicy", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicy;
-    } });
-    Object.defineProperty(exports2, "decompressResponsePolicyName", { enumerable: true, get: function() {
-      return decompressResponsePolicy_js_1.decompressResponsePolicyName;
-    } });
-    var exponentialRetryPolicy_js_1 = require_exponentialRetryPolicy2();
-    Object.defineProperty(exports2, "exponentialRetryPolicy", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "exponentialRetryPolicyName", { enumerable: true, get: function() {
-      return exponentialRetryPolicy_js_1.exponentialRetryPolicyName;
-    } });
-    var setClientRequestIdPolicy_js_1 = require_setClientRequestIdPolicy();
-    Object.defineProperty(exports2, "setClientRequestIdPolicy", { enumerable: true, get: function() {
-      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicy;
-    } });
-    Object.defineProperty(exports2, "setClientRequestIdPolicyName", { enumerable: true, get: function() {
-      return setClientRequestIdPolicy_js_1.setClientRequestIdPolicyName;
-    } });
-    var logPolicy_js_1 = require_logPolicy2();
-    Object.defineProperty(exports2, "logPolicy", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicy;
-    } });
-    Object.defineProperty(exports2, "logPolicyName", { enumerable: true, get: function() {
-      return logPolicy_js_1.logPolicyName;
-    } });
-    var multipartPolicy_js_1 = require_multipartPolicy2();
-    Object.defineProperty(exports2, "multipartPolicy", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicy;
-    } });
-    Object.defineProperty(exports2, "multipartPolicyName", { enumerable: true, get: function() {
-      return multipartPolicy_js_1.multipartPolicyName;
-    } });
-    var proxyPolicy_js_1 = require_proxyPolicy2();
-    Object.defineProperty(exports2, "proxyPolicy", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicy;
-    } });
-    Object.defineProperty(exports2, "proxyPolicyName", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.proxyPolicyName;
-    } });
-    Object.defineProperty(exports2, "getDefaultProxySettings", { enumerable: true, get: function() {
-      return proxyPolicy_js_1.getDefaultProxySettings;
-    } });
-    var redirectPolicy_js_1 = require_redirectPolicy2();
-    Object.defineProperty(exports2, "redirectPolicy", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicy;
-    } });
-    Object.defineProperty(exports2, "redirectPolicyName", { enumerable: true, get: function() {
-      return redirectPolicy_js_1.redirectPolicyName;
-    } });
-    var systemErrorRetryPolicy_js_1 = require_systemErrorRetryPolicy2();
-    Object.defineProperty(exports2, "systemErrorRetryPolicy", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "systemErrorRetryPolicyName", { enumerable: true, get: function() {
-      return systemErrorRetryPolicy_js_1.systemErrorRetryPolicyName;
-    } });
-    var throttlingRetryPolicy_js_1 = require_throttlingRetryPolicy2();
-    Object.defineProperty(exports2, "throttlingRetryPolicy", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicy;
-    } });
-    Object.defineProperty(exports2, "throttlingRetryPolicyName", { enumerable: true, get: function() {
-      return throttlingRetryPolicy_js_1.throttlingRetryPolicyName;
-    } });
-    var retryPolicy_js_1 = require_retryPolicy2();
-    Object.defineProperty(exports2, "retryPolicy", { enumerable: true, get: function() {
-      return retryPolicy_js_1.retryPolicy;
-    } });
-    var tracingPolicy_js_1 = require_tracingPolicy();
-    Object.defineProperty(exports2, "tracingPolicy", { enumerable: true, get: function() {
-      return tracingPolicy_js_1.tracingPolicy;
-    } });
-    Object.defineProperty(exports2, "tracingPolicyName", { enumerable: true, get: function() {
-      return tracingPolicy_js_1.tracingPolicyName;
-    } });
-    var defaultRetryPolicy_js_1 = require_defaultRetryPolicy2();
-    Object.defineProperty(exports2, "defaultRetryPolicy", { enumerable: true, get: function() {
-      return defaultRetryPolicy_js_1.defaultRetryPolicy;
-    } });
-    var userAgentPolicy_js_1 = require_userAgentPolicy2();
-    Object.defineProperty(exports2, "userAgentPolicy", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicy;
-    } });
-    Object.defineProperty(exports2, "userAgentPolicyName", { enumerable: true, get: function() {
-      return userAgentPolicy_js_1.userAgentPolicyName;
-    } });
-    var tlsPolicy_js_1 = require_tlsPolicy2();
-    Object.defineProperty(exports2, "tlsPolicy", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicy;
-    } });
-    Object.defineProperty(exports2, "tlsPolicyName", { enumerable: true, get: function() {
-      return tlsPolicy_js_1.tlsPolicyName;
-    } });
-    var formDataPolicy_js_1 = require_formDataPolicy2();
-    Object.defineProperty(exports2, "formDataPolicy", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicy;
-    } });
-    Object.defineProperty(exports2, "formDataPolicyName", { enumerable: true, get: function() {
-      return formDataPolicy_js_1.formDataPolicyName;
-    } });
-    var bearerTokenAuthenticationPolicy_js_1 = require_bearerTokenAuthenticationPolicy();
-    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicy", { enumerable: true, get: function() {
-      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicy;
-    } });
-    Object.defineProperty(exports2, "bearerTokenAuthenticationPolicyName", { enumerable: true, get: function() {
-      return bearerTokenAuthenticationPolicy_js_1.bearerTokenAuthenticationPolicyName;
-    } });
-    var ndJsonPolicy_js_1 = require_ndJsonPolicy();
-    Object.defineProperty(exports2, "ndJsonPolicy", { enumerable: true, get: function() {
-      return ndJsonPolicy_js_1.ndJsonPolicy;
-    } });
-    Object.defineProperty(exports2, "ndJsonPolicyName", { enumerable: true, get: function() {
-      return ndJsonPolicy_js_1.ndJsonPolicyName;
-    } });
-    var auxiliaryAuthenticationHeaderPolicy_js_1 = require_auxiliaryAuthenticationHeaderPolicy();
-    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicy", { enumerable: true, get: function() {
-      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicy;
-    } });
-    Object.defineProperty(exports2, "auxiliaryAuthenticationHeaderPolicyName", { enumerable: true, get: function() {
-      return auxiliaryAuthenticationHeaderPolicy_js_1.auxiliaryAuthenticationHeaderPolicyName;
-    } });
-    var agentPolicy_js_1 = require_agentPolicy2();
-    Object.defineProperty(exports2, "agentPolicy", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicy;
-    } });
-    Object.defineProperty(exports2, "agentPolicyName", { enumerable: true, get: function() {
-      return agentPolicy_js_1.agentPolicyName;
-    } });
-    var file_js_1 = require_file3();
-    Object.defineProperty(exports2, "createFile", { enumerable: true, get: function() {
-      return file_js_1.createFile;
-    } });
-    Object.defineProperty(exports2, "createFileFromStream", { enumerable: true, get: function() {
-      return file_js_1.createFileFromStream;
-    } });
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js
-var require_azureKeyCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/azureKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureKeyCredential = void 0;
-    var AzureKeyCredential = class {
-      _key;
-      /**
-       * The value of the key to be used in authentication
-       */
-      get key() {
-        return this._key;
       }
-      /**
-       * Create an instance of an AzureKeyCredential for use
-       * with a service client.
-       *
-       * @param key - The initial value of the key to use in authentication
-       */
-      constructor(key) {
-        if (!key) {
-          throw new Error("key must be a non-empty string");
+    };
+    exports2.BlobDownloadHeaders = {
+      serializedName: "Blob_downloadHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDownloadHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          createdOn: {
+            serializedName: "x-ms-creation-time",
+            xmlName: "x-ms-creation-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          objectReplicationPolicyId: {
+            serializedName: "x-ms-or-policy-id",
+            xmlName: "x-ms-or-policy-id",
+            type: {
+              name: "String"
+            }
+          },
+          objectReplicationRules: {
+            serializedName: "x-ms-or",
+            headerCollectionPrefix: "x-ms-or-",
+            xmlName: "x-ms-or",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          contentLength: {
+            serializedName: "content-length",
+            xmlName: "content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          contentRange: {
+            serializedName: "content-range",
+            xmlName: "content-range",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentEncoding: {
+            serializedName: "content-encoding",
+            xmlName: "content-encoding",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "cache-control",
+            xmlName: "cache-control",
+            type: {
+              name: "String"
+            }
+          },
+          contentDisposition: {
+            serializedName: "content-disposition",
+            xmlName: "content-disposition",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "content-language",
+            xmlName: "content-language",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          blobType: {
+            serializedName: "x-ms-blob-type",
+            xmlName: "x-ms-blob-type",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          copyCompletedOn: {
+            serializedName: "x-ms-copy-completion-time",
+            xmlName: "x-ms-copy-completion-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "x-ms-copy-status-description",
+            xmlName: "x-ms-copy-status-description",
+            type: {
+              name: "String"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "x-ms-copy-progress",
+            xmlName: "x-ms-copy-progress",
+            type: {
+              name: "String"
+            }
+          },
+          copySource: {
+            serializedName: "x-ms-copy-source",
+            xmlName: "x-ms-copy-source",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          isCurrentVersion: {
+            serializedName: "x-ms-is-current-version",
+            xmlName: "x-ms-is-current-version",
+            type: {
+              name: "Boolean"
+            }
+          },
+          acceptRanges: {
+            serializedName: "accept-ranges",
+            xmlName: "accept-ranges",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-server-encrypted",
+            xmlName: "x-ms-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentMD5: {
+            serializedName: "x-ms-blob-content-md5",
+            xmlName: "x-ms-blob-content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          tagCount: {
+            serializedName: "x-ms-tag-count",
+            xmlName: "x-ms-tag-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isSealed: {
+            serializedName: "x-ms-blob-sealed",
+            xmlName: "x-ms-blob-sealed",
+            type: {
+              name: "Boolean"
+            }
+          },
+          lastAccessed: {
+            serializedName: "x-ms-last-access-time",
+            xmlName: "x-ms-last-access-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiresOn: {
+            serializedName: "x-ms-immutability-policy-until-date",
+            xmlName: "x-ms-immutability-policy-until-date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "x-ms-immutability-policy-mode",
+            xmlName: "x-ms-immutability-policy-mode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
+          },
+          legalHold: {
+            serializedName: "x-ms-legal-hold",
+            xmlName: "x-ms-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          contentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          }
         }
-        this._key = key;
-      }
-      /**
-       * Change the value of the key.
-       *
-       * Updates will take effect upon the next request after
-       * updating the key value.
-       *
-       * @param newKey - The new key value to be used
-       */
-      update(newKey) {
-        this._key = newKey;
       }
     };
-    exports2.AzureKeyCredential = AzureKeyCredential;
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/keyCredential.js
-var require_keyCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/keyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isKeyCredential = isKeyCredential;
-    var core_util_1 = require_commonjs6();
-    function isKeyCredential(credential) {
-      return (0, core_util_1.isObjectWithProperties)(credential, ["key"]) && typeof credential.key === "string";
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js
-var require_azureNamedKeyCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/azureNamedKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureNamedKeyCredential = void 0;
-    exports2.isNamedKeyCredential = isNamedKeyCredential;
-    var core_util_1 = require_commonjs6();
-    var AzureNamedKeyCredential = class {
-      _key;
-      _name;
-      /**
-       * The value of the key to be used in authentication.
-       */
-      get key() {
-        return this._key;
+    exports2.BlobDownloadExceptionHeaders = {
+      serializedName: "Blob_downloadExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDownloadExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      /**
-       * The value of the name to be used in authentication.
-       */
-      get name() {
-        return this._name;
+    };
+    exports2.BlobGetPropertiesHeaders = {
+      serializedName: "Blob_getPropertiesHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetPropertiesHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          createdOn: {
+            serializedName: "x-ms-creation-time",
+            xmlName: "x-ms-creation-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          objectReplicationPolicyId: {
+            serializedName: "x-ms-or-policy-id",
+            xmlName: "x-ms-or-policy-id",
+            type: {
+              name: "String"
+            }
+          },
+          objectReplicationRules: {
+            serializedName: "x-ms-or",
+            headerCollectionPrefix: "x-ms-or-",
+            xmlName: "x-ms-or",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          blobType: {
+            serializedName: "x-ms-blob-type",
+            xmlName: "x-ms-blob-type",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          copyCompletedOn: {
+            serializedName: "x-ms-copy-completion-time",
+            xmlName: "x-ms-copy-completion-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "x-ms-copy-status-description",
+            xmlName: "x-ms-copy-status-description",
+            type: {
+              name: "String"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "x-ms-copy-progress",
+            xmlName: "x-ms-copy-progress",
+            type: {
+              name: "String"
+            }
+          },
+          copySource: {
+            serializedName: "x-ms-copy-source",
+            xmlName: "x-ms-copy-source",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          isIncrementalCopy: {
+            serializedName: "x-ms-incremental-copy",
+            xmlName: "x-ms-incremental-copy",
+            type: {
+              name: "Boolean"
+            }
+          },
+          destinationSnapshot: {
+            serializedName: "x-ms-copy-destination-snapshot",
+            xmlName: "x-ms-copy-destination-snapshot",
+            type: {
+              name: "String"
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          contentLength: {
+            serializedName: "content-length",
+            xmlName: "content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentEncoding: {
+            serializedName: "content-encoding",
+            xmlName: "content-encoding",
+            type: {
+              name: "String"
+            }
+          },
+          contentDisposition: {
+            serializedName: "content-disposition",
+            xmlName: "content-disposition",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "content-language",
+            xmlName: "content-language",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "cache-control",
+            xmlName: "cache-control",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          acceptRanges: {
+            serializedName: "accept-ranges",
+            xmlName: "accept-ranges",
+            type: {
+              name: "String"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-server-encrypted",
+            xmlName: "x-ms-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          accessTier: {
+            serializedName: "x-ms-access-tier",
+            xmlName: "x-ms-access-tier",
+            type: {
+              name: "String"
+            }
+          },
+          accessTierInferred: {
+            serializedName: "x-ms-access-tier-inferred",
+            xmlName: "x-ms-access-tier-inferred",
+            type: {
+              name: "Boolean"
+            }
+          },
+          archiveStatus: {
+            serializedName: "x-ms-archive-status",
+            xmlName: "x-ms-archive-status",
+            type: {
+              name: "String"
+            }
+          },
+          accessTierChangedOn: {
+            serializedName: "x-ms-access-tier-change-time",
+            xmlName: "x-ms-access-tier-change-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          isCurrentVersion: {
+            serializedName: "x-ms-is-current-version",
+            xmlName: "x-ms-is-current-version",
+            type: {
+              name: "Boolean"
+            }
+          },
+          tagCount: {
+            serializedName: "x-ms-tag-count",
+            xmlName: "x-ms-tag-count",
+            type: {
+              name: "Number"
+            }
+          },
+          expiresOn: {
+            serializedName: "x-ms-expiry-time",
+            xmlName: "x-ms-expiry-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isSealed: {
+            serializedName: "x-ms-blob-sealed",
+            xmlName: "x-ms-blob-sealed",
+            type: {
+              name: "Boolean"
+            }
+          },
+          rehydratePriority: {
+            serializedName: "x-ms-rehydrate-priority",
+            xmlName: "x-ms-rehydrate-priority",
+            type: {
+              name: "Enum",
+              allowedValues: ["High", "Standard"]
+            }
+          },
+          lastAccessed: {
+            serializedName: "x-ms-last-access-time",
+            xmlName: "x-ms-last-access-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiresOn: {
+            serializedName: "x-ms-immutability-policy-until-date",
+            xmlName: "x-ms-immutability-policy-until-date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "x-ms-immutability-policy-mode",
+            xmlName: "x-ms-immutability-policy-mode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
+          },
+          legalHold: {
+            serializedName: "x-ms-legal-hold",
+            xmlName: "x-ms-legal-hold",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      /**
-       * Create an instance of an AzureNamedKeyCredential for use
-       * with a service client.
-       *
-       * @param name - The initial value of the name to use in authentication.
-       * @param key - The initial value of the key to use in authentication.
-       */
-      constructor(name, key) {
-        if (!name || !key) {
-          throw new TypeError("name and key must be non-empty strings");
+    };
+    exports2.BlobGetPropertiesExceptionHeaders = {
+      serializedName: "Blob_getPropertiesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetPropertiesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._name = name;
-        this._key = key;
       }
-      /**
-       * Change the value of the key.
-       *
-       * Updates will take effect upon the next request after
-       * updating the key value.
-       *
-       * @param newName - The new name value to be used.
-       * @param newKey - The new key value to be used.
-       */
-      update(newName, newKey) {
-        if (!newName || !newKey) {
-          throw new TypeError("newName and newKey must be non-empty strings");
+    };
+    exports2.BlobDeleteHeaders = {
+      serializedName: "Blob_deleteHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._name = newName;
-        this._key = newKey;
       }
     };
-    exports2.AzureNamedKeyCredential = AzureNamedKeyCredential;
-    function isNamedKeyCredential(credential) {
-      return (0, core_util_1.isObjectWithProperties)(credential, ["name", "key"]) && typeof credential.key === "string" && typeof credential.name === "string";
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js
-var require_azureSASCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/azureSASCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AzureSASCredential = void 0;
-    exports2.isSASCredential = isSASCredential;
-    var core_util_1 = require_commonjs6();
-    var AzureSASCredential = class {
-      _signature;
-      /**
-       * The value of the shared access signature to be used in authentication
-       */
-      get signature() {
-        return this._signature;
+    exports2.BlobDeleteExceptionHeaders = {
+      serializedName: "Blob_deleteExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      /**
-       * Create an instance of an AzureSASCredential for use
-       * with a service client.
-       *
-       * @param signature - The initial value of the shared access signature to use in authentication
-       */
-      constructor(signature) {
-        if (!signature) {
-          throw new Error("shared access signature must be a non-empty string");
+    };
+    exports2.BlobUndeleteHeaders = {
+      serializedName: "Blob_undeleteHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobUndeleteHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._signature = signature;
       }
-      /**
-       * Change the value of the signature.
-       *
-       * Updates will take effect upon the next request after
-       * updating the signature value.
-       *
-       * @param newSignature - The new shared access signature value to be used
-       */
-      update(newSignature) {
-        if (!newSignature) {
-          throw new Error("shared access signature must be a non-empty string");
+    };
+    exports2.BlobUndeleteExceptionHeaders = {
+      serializedName: "Blob_undeleteExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobUndeleteExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        this._signature = newSignature;
       }
     };
-    exports2.AzureSASCredential = AzureSASCredential;
-    function isSASCredential(credential) {
-      return (0, core_util_1.isObjectWithProperties)(credential, ["signature"]) && typeof credential.signature === "string";
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js
-var require_tokenCredential = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/tokenCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isBearerToken = isBearerToken;
-    exports2.isPopToken = isPopToken;
-    exports2.isTokenCredential = isTokenCredential;
-    function isBearerToken(accessToken) {
-      return !accessToken.tokenType || accessToken.tokenType === "Bearer";
-    }
-    function isPopToken(accessToken) {
-      return accessToken.tokenType === "pop";
-    }
-    function isTokenCredential(credential) {
-      const castCredential = credential;
-      return castCredential && typeof castCredential.getToken === "function" && (castCredential.signRequest === void 0 || castCredential.getToken.length > 0);
-    }
-  }
-});
-
-// node_modules/@azure/core-auth/dist/commonjs/index.js
-var require_commonjs9 = __commonJS({
-  "node_modules/@azure/core-auth/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isTokenCredential = exports2.isSASCredential = exports2.AzureSASCredential = exports2.isNamedKeyCredential = exports2.AzureNamedKeyCredential = exports2.isKeyCredential = exports2.AzureKeyCredential = void 0;
-    var azureKeyCredential_js_1 = require_azureKeyCredential();
-    Object.defineProperty(exports2, "AzureKeyCredential", { enumerable: true, get: function() {
-      return azureKeyCredential_js_1.AzureKeyCredential;
-    } });
-    var keyCredential_js_1 = require_keyCredential();
-    Object.defineProperty(exports2, "isKeyCredential", { enumerable: true, get: function() {
-      return keyCredential_js_1.isKeyCredential;
-    } });
-    var azureNamedKeyCredential_js_1 = require_azureNamedKeyCredential();
-    Object.defineProperty(exports2, "AzureNamedKeyCredential", { enumerable: true, get: function() {
-      return azureNamedKeyCredential_js_1.AzureNamedKeyCredential;
-    } });
-    Object.defineProperty(exports2, "isNamedKeyCredential", { enumerable: true, get: function() {
-      return azureNamedKeyCredential_js_1.isNamedKeyCredential;
-    } });
-    var azureSASCredential_js_1 = require_azureSASCredential();
-    Object.defineProperty(exports2, "AzureSASCredential", { enumerable: true, get: function() {
-      return azureSASCredential_js_1.AzureSASCredential;
-    } });
-    Object.defineProperty(exports2, "isSASCredential", { enumerable: true, get: function() {
-      return azureSASCredential_js_1.isSASCredential;
-    } });
-    var tokenCredential_js_1 = require_tokenCredential();
-    Object.defineProperty(exports2, "isTokenCredential", { enumerable: true, get: function() {
-      return tokenCredential_js_1.isTokenCredential;
-    } });
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js
-var require_disableKeepAlivePolicy = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/policies/disableKeepAlivePolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.disableKeepAlivePolicyName = void 0;
-    exports2.createDisableKeepAlivePolicy = createDisableKeepAlivePolicy;
-    exports2.pipelineContainsDisableKeepAlivePolicy = pipelineContainsDisableKeepAlivePolicy;
-    exports2.disableKeepAlivePolicyName = "DisableKeepAlivePolicy";
-    function createDisableKeepAlivePolicy() {
-      return {
-        name: exports2.disableKeepAlivePolicyName,
-        async sendRequest(request2, next) {
-          request2.disableKeepAlive = true;
-          return next(request2);
+    exports2.BlobSetExpiryHeaders = {
+      serializedName: "Blob_setExpiryHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetExpiryHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-      };
-    }
-    function pipelineContainsDisableKeepAlivePolicy(pipeline) {
-      return pipeline.getOrderedPolicies().some((policy) => policy.name === exports2.disableKeepAlivePolicyName);
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/base64.js
-var require_base642 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/base64.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.encodeString = encodeString;
-    exports2.encodeByteArray = encodeByteArray;
-    exports2.decodeString = decodeString;
-    exports2.decodeStringToString = decodeStringToString;
-    function encodeString(value) {
-      return Buffer.from(value).toString("base64");
-    }
-    function encodeByteArray(value) {
-      const bufferValue = value instanceof Buffer ? value : Buffer.from(value.buffer);
-      return bufferValue.toString("base64");
-    }
-    function decodeString(value) {
-      return Buffer.from(value, "base64");
-    }
-    function decodeStringToString(value) {
-      return Buffer.from(value, "base64").toString();
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/interfaces.js
-var require_interfaces = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/interfaces.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
-    exports2.XML_ATTRKEY = "$";
-    exports2.XML_CHARKEY = "_";
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/utils.js
-var require_utils6 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.isPrimitiveBody = isPrimitiveBody;
-    exports2.isDuration = isDuration;
-    exports2.isValidUuid = isValidUuid;
-    exports2.flattenResponse = flattenResponse;
-    function isPrimitiveBody(value, mapperTypeName) {
-      return mapperTypeName !== "Composite" && mapperTypeName !== "Dictionary" && (typeof value === "string" || typeof value === "number" || typeof value === "boolean" || mapperTypeName?.match(/^(Date|DateTime|DateTimeRfc1123|UnixTime|ByteArray|Base64Url)$/i) !== null || value === void 0 || value === null);
-    }
-    var validateISODuration = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
-    function isDuration(value) {
-      return validateISODuration.test(value);
-    }
-    var validUuidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/i;
-    function isValidUuid(uuid) {
-      return validUuidRegex.test(uuid);
-    }
-    function handleNullableResponseAndWrappableBody(responseObject) {
-      const combinedHeadersAndBody = {
-        ...responseObject.headers,
-        ...responseObject.body
-      };
-      if (responseObject.hasNullableType && Object.getOwnPropertyNames(combinedHeadersAndBody).length === 0) {
-        return responseObject.shouldWrapBody ? { body: null } : null;
-      } else {
-        return responseObject.shouldWrapBody ? {
-          ...responseObject.headers,
-          body: responseObject.body
-        } : combinedHeadersAndBody;
       }
-    }
-    function flattenResponse(fullResponse, responseSpec) {
-      const parsedHeaders = fullResponse.parsedHeaders;
-      if (fullResponse.request.method === "HEAD") {
-        return {
-          ...parsedHeaders,
-          body: fullResponse.parsedBody
-        };
+    };
+    exports2.BlobSetExpiryExceptionHeaders = {
+      serializedName: "Blob_setExpiryExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetExpiryExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      const bodyMapper = responseSpec && responseSpec.bodyMapper;
-      const isNullable = Boolean(bodyMapper?.nullable);
-      const expectedBodyTypeName = bodyMapper?.type.name;
-      if (expectedBodyTypeName === "Stream") {
-        return {
-          ...parsedHeaders,
-          blobBody: fullResponse.blobBody,
-          readableStreamBody: fullResponse.readableStreamBody
-        };
+    };
+    exports2.BlobSetHttpHeadersHeaders = {
+      serializedName: "Blob_setHttpHeadersHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetHttpHeadersHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      const modelProperties = expectedBodyTypeName === "Composite" && bodyMapper.type.modelProperties || {};
-      const isPageableResponse = Object.keys(modelProperties).some((k) => modelProperties[k].serializedName === "");
-      if (expectedBodyTypeName === "Sequence" || isPageableResponse) {
-        const arrayResponse = fullResponse.parsedBody ?? [];
-        for (const key of Object.keys(modelProperties)) {
-          if (modelProperties[key].serializedName) {
-            arrayResponse[key] = fullResponse.parsedBody?.[key];
+    };
+    exports2.BlobSetHttpHeadersExceptionHeaders = {
+      serializedName: "Blob_setHttpHeadersExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetHttpHeadersExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        if (parsedHeaders) {
-          for (const key of Object.keys(parsedHeaders)) {
-            arrayResponse[key] = parsedHeaders[key];
+      }
+    };
+    exports2.BlobSetImmutabilityPolicyHeaders = {
+      serializedName: "Blob_setImmutabilityPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetImmutabilityPolicyHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyExpiry: {
+            serializedName: "x-ms-immutability-policy-until-date",
+            xmlName: "x-ms-immutability-policy-until-date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          immutabilityPolicyMode: {
+            serializedName: "x-ms-immutability-policy-mode",
+            xmlName: "x-ms-immutability-policy-mode",
+            type: {
+              name: "Enum",
+              allowedValues: ["Mutable", "Unlocked", "Locked"]
+            }
           }
         }
-        return isNullable && !fullResponse.parsedBody && !parsedHeaders && Object.getOwnPropertyNames(modelProperties).length === 0 ? null : arrayResponse;
-      }
-      return handleNullableResponseAndWrappableBody({
-        body: fullResponse.parsedBody,
-        headers: parsedHeaders,
-        hasNullableType: isNullable,
-        shouldWrapBody: isPrimitiveBody(fullResponse.parsedBody, expectedBodyTypeName)
-      });
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/serializer.js
-var require_serializer = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/serializer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.MapperTypeNames = void 0;
-    exports2.createSerializer = createSerializer;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var base64 = tslib_1.__importStar(require_base642());
-    var interfaces_js_1 = require_interfaces();
-    var utils_js_1 = require_utils6();
-    var SerializerImpl = class {
-      modelMappers;
-      isXML;
-      constructor(modelMappers = {}, isXML = false) {
-        this.modelMappers = modelMappers;
-        this.isXML = isXML;
       }
-      /**
-       * @deprecated Removing the constraints validation on client side.
-       */
-      validateConstraints(mapper, value, objectName) {
-        const failValidation = (constraintName, constraintValue) => {
-          throw new Error(`"${objectName}" with value "${value}" should satisfy the constraint "${constraintName}": ${constraintValue}.`);
-        };
-        if (mapper.constraints && value !== void 0 && value !== null) {
-          const { ExclusiveMaximum, ExclusiveMinimum, InclusiveMaximum, InclusiveMinimum, MaxItems, MaxLength, MinItems, MinLength, MultipleOf, Pattern, UniqueItems } = mapper.constraints;
-          if (ExclusiveMaximum !== void 0 && value >= ExclusiveMaximum) {
-            failValidation("ExclusiveMaximum", ExclusiveMaximum);
-          }
-          if (ExclusiveMinimum !== void 0 && value <= ExclusiveMinimum) {
-            failValidation("ExclusiveMinimum", ExclusiveMinimum);
-          }
-          if (InclusiveMaximum !== void 0 && value > InclusiveMaximum) {
-            failValidation("InclusiveMaximum", InclusiveMaximum);
-          }
-          if (InclusiveMinimum !== void 0 && value < InclusiveMinimum) {
-            failValidation("InclusiveMinimum", InclusiveMinimum);
-          }
-          if (MaxItems !== void 0 && value.length > MaxItems) {
-            failValidation("MaxItems", MaxItems);
-          }
-          if (MaxLength !== void 0 && value.length > MaxLength) {
-            failValidation("MaxLength", MaxLength);
-          }
-          if (MinItems !== void 0 && value.length < MinItems) {
-            failValidation("MinItems", MinItems);
-          }
-          if (MinLength !== void 0 && value.length < MinLength) {
-            failValidation("MinLength", MinLength);
-          }
-          if (MultipleOf !== void 0 && value % MultipleOf !== 0) {
-            failValidation("MultipleOf", MultipleOf);
+    };
+    exports2.BlobSetImmutabilityPolicyExceptionHeaders = {
+      serializedName: "Blob_setImmutabilityPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetImmutabilityPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          if (Pattern) {
-            const pattern = typeof Pattern === "string" ? new RegExp(Pattern) : Pattern;
-            if (typeof value !== "string" || value.match(pattern) === null) {
-              failValidation("Pattern", Pattern);
+        }
+      }
+    };
+    exports2.BlobDeleteImmutabilityPolicyHeaders = {
+      serializedName: "Blob_deleteImmutabilityPolicyHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteImmutabilityPolicyHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
             }
           }
-          if (UniqueItems && value.some((item, i, ar) => ar.indexOf(item) !== i)) {
-            failValidation("UniqueItems", UniqueItems);
+        }
+      }
+    };
+    exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = {
+      serializedName: "Blob_deleteImmutabilityPolicyExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobDeleteImmutabilityPolicyExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      /**
-       * Serialize the given object based on its metadata defined in the mapper
-       *
-       * @param mapper - The mapper which defines the metadata of the serializable object
-       *
-       * @param object - A valid Javascript object to be serialized
-       *
-       * @param objectName - Name of the serialized object
-       *
-       * @param options - additional options to serialization
-       *
-       * @returns A valid serialized Javascript object
-       */
-      serialize(mapper, object, objectName, options = { xml: {} }) {
-        const updatedOptions = {
-          xml: {
-            rootName: options.xml.rootName ?? "",
-            includeRoot: options.xml.includeRoot ?? false,
-            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
+    };
+    exports2.BlobSetLegalHoldHeaders = {
+      serializedName: "Blob_setLegalHoldHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetLegalHoldHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          legalHold: {
+            serializedName: "x-ms-legal-hold",
+            xmlName: "x-ms-legal-hold",
+            type: {
+              name: "Boolean"
+            }
           }
-        };
-        let payload = {};
-        const mapperType = mapper.type.name;
-        if (!objectName) {
-          objectName = mapper.serializedName;
         }
-        if (mapperType.match(/^Sequence$/i) !== null) {
-          payload = [];
+      }
+    };
+    exports2.BlobSetLegalHoldExceptionHeaders = {
+      serializedName: "Blob_setLegalHoldExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetLegalHoldExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (mapper.isConstant) {
-          object = mapper.defaultValue;
+      }
+    };
+    exports2.BlobSetMetadataHeaders = {
+      serializedName: "Blob_setMetadataHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetMetadataHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        const { required, nullable } = mapper;
-        if (required && nullable && object === void 0) {
-          throw new Error(`${objectName} cannot be undefined.`);
+      }
+    };
+    exports2.BlobSetMetadataExceptionHeaders = {
+      serializedName: "Blob_setMetadataExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetMetadataExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (required && !nullable && (object === void 0 || object === null)) {
-          throw new Error(`${objectName} cannot be null or undefined.`);
+      }
+    };
+    exports2.BlobAcquireLeaseHeaders = {
+      serializedName: "Blob_acquireLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAcquireLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-        if (!required && nullable === false && object === null) {
-          throw new Error(`${objectName} cannot be null.`);
+      }
+    };
+    exports2.BlobAcquireLeaseExceptionHeaders = {
+      serializedName: "Blob_acquireLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAcquireLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        if (object === void 0 || object === null) {
-          payload = object;
-        } else {
-          if (mapperType.match(/^any$/i) !== null) {
-            payload = object;
-          } else if (mapperType.match(/^(Number|String|Boolean|Object|Stream|Uuid)$/i) !== null) {
-            payload = serializeBasicTypes(mapperType, objectName, object);
-          } else if (mapperType.match(/^Enum$/i) !== null) {
-            const enumMapper = mapper;
-            payload = serializeEnumType(objectName, enumMapper.type.allowedValues, object);
-          } else if (mapperType.match(/^(Date|DateTime|TimeSpan|DateTimeRfc1123|UnixTime)$/i) !== null) {
-            payload = serializeDateTypes(mapperType, object, objectName);
-          } else if (mapperType.match(/^ByteArray$/i) !== null) {
-            payload = serializeByteArrayType(objectName, object);
-          } else if (mapperType.match(/^Base64Url$/i) !== null) {
-            payload = serializeBase64UrlType(objectName, object);
-          } else if (mapperType.match(/^Sequence$/i) !== null) {
-            payload = serializeSequenceType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
-          } else if (mapperType.match(/^Dictionary$/i) !== null) {
-            payload = serializeDictionaryType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
-          } else if (mapperType.match(/^Composite$/i) !== null) {
-            payload = serializeCompositeType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
+      }
+    };
+    exports2.BlobReleaseLeaseHeaders = {
+      serializedName: "Blob_releaseLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobReleaseLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
         }
-        return payload;
       }
-      /**
-       * Deserialize the given object based on its metadata defined in the mapper
-       *
-       * @param mapper - The mapper which defines the metadata of the serializable object
-       *
-       * @param responseBody - A valid Javascript entity to be deserialized
-       *
-       * @param objectName - Name of the deserialized object
-       *
-       * @param options - Controls behavior of XML parser and builder.
-       *
-       * @returns A valid deserialized Javascript object
-       */
-      deserialize(mapper, responseBody, objectName, options = { xml: {} }) {
-        const updatedOptions = {
-          xml: {
-            rootName: options.xml.rootName ?? "",
-            includeRoot: options.xml.includeRoot ?? false,
-            xmlCharKey: options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
-          },
-          ignoreUnknownProperties: options.ignoreUnknownProperties ?? false
-        };
-        if (responseBody === void 0 || responseBody === null) {
-          if (this.isXML && mapper.type.name === "Sequence" && !mapper.xmlIsWrapped) {
-            responseBody = [];
-          }
-          if (mapper.defaultValue !== void 0) {
-            responseBody = mapper.defaultValue;
+    };
+    exports2.BlobReleaseLeaseExceptionHeaders = {
+      serializedName: "Blob_releaseLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobReleaseLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return responseBody;
-        }
-        let payload;
-        const mapperType = mapper.type.name;
-        if (!objectName) {
-          objectName = mapper.serializedName;
         }
-        if (mapperType.match(/^Composite$/i) !== null) {
-          payload = deserializeCompositeType(this, mapper, responseBody, objectName, updatedOptions);
-        } else {
-          if (this.isXML) {
-            const xmlCharKey = updatedOptions.xml.xmlCharKey;
-            if (responseBody[interfaces_js_1.XML_ATTRKEY] !== void 0 && responseBody[xmlCharKey] !== void 0) {
-              responseBody = responseBody[xmlCharKey];
+      }
+    };
+    exports2.BlobRenewLeaseHeaders = {
+      serializedName: "Blob_renewLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobRenewLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-          }
-          if (mapperType.match(/^Number$/i) !== null) {
-            payload = parseFloat(responseBody);
-            if (isNaN(payload)) {
-              payload = responseBody;
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
             }
-          } else if (mapperType.match(/^Boolean$/i) !== null) {
-            if (responseBody === "true") {
-              payload = true;
-            } else if (responseBody === "false") {
-              payload = false;
-            } else {
-              payload = responseBody;
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
             }
-          } else if (mapperType.match(/^(String|Enum|Object|Stream|Uuid|TimeSpan|any)$/i) !== null) {
-            payload = responseBody;
-          } else if (mapperType.match(/^(Date|DateTime|DateTimeRfc1123)$/i) !== null) {
-            payload = new Date(responseBody);
-          } else if (mapperType.match(/^UnixTime$/i) !== null) {
-            payload = unixTimeToDate(responseBody);
-          } else if (mapperType.match(/^ByteArray$/i) !== null) {
-            payload = base64.decodeString(responseBody);
-          } else if (mapperType.match(/^Base64Url$/i) !== null) {
-            payload = base64UrlToByteArray(responseBody);
-          } else if (mapperType.match(/^Sequence$/i) !== null) {
-            payload = deserializeSequenceType(this, mapper, responseBody, objectName, updatedOptions);
-          } else if (mapperType.match(/^Dictionary$/i) !== null) {
-            payload = deserializeDictionaryType(this, mapper, responseBody, objectName, updatedOptions);
           }
         }
-        if (mapper.isConstant) {
-          payload = mapper.defaultValue;
-        }
-        return payload;
       }
     };
-    function createSerializer(modelMappers = {}, isXML = false) {
-      return new SerializerImpl(modelMappers, isXML);
-    }
-    function trimEnd(str2, ch) {
-      let len = str2.length;
-      while (len - 1 >= 0 && str2[len - 1] === ch) {
-        --len;
-      }
-      return str2.substr(0, len);
-    }
-    function bufferToBase64Url(buffer) {
-      if (!buffer) {
-        return void 0;
-      }
-      if (!(buffer instanceof Uint8Array)) {
-        throw new Error(`Please provide an input of type Uint8Array for converting to Base64Url.`);
-      }
-      const str2 = base64.encodeByteArray(buffer);
-      return trimEnd(str2, "=").replace(/\+/g, "-").replace(/\//g, "_");
-    }
-    function base64UrlToByteArray(str2) {
-      if (!str2) {
-        return void 0;
-      }
-      if (str2 && typeof str2.valueOf() !== "string") {
-        throw new Error("Please provide an input of type string for converting to Uint8Array");
-      }
-      str2 = str2.replace(/-/g, "+").replace(/_/g, "/");
-      return base64.decodeString(str2);
-    }
-    function splitSerializeName(prop) {
-      const classes = [];
-      let partialclass = "";
-      if (prop) {
-        const subwords = prop.split(".");
-        for (const item of subwords) {
-          if (item.charAt(item.length - 1) === "\\") {
-            partialclass += item.substr(0, item.length - 1) + ".";
-          } else {
-            partialclass += item;
-            classes.push(partialclass);
-            partialclass = "";
+    exports2.BlobRenewLeaseExceptionHeaders = {
+      serializedName: "Blob_renewLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobRenewLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      return classes;
-    }
-    function dateToUnixTime(d) {
-      if (!d) {
-        return void 0;
-      }
-      if (typeof d.valueOf() === "string") {
-        d = new Date(d);
-      }
-      return Math.floor(d.getTime() / 1e3);
-    }
-    function unixTimeToDate(n) {
-      if (!n) {
-        return void 0;
-      }
-      return new Date(n * 1e3);
-    }
-    function serializeBasicTypes(typeName, objectName, value) {
-      if (value !== null && value !== void 0) {
-        if (typeName.match(/^Number$/i) !== null) {
-          if (typeof value !== "number") {
-            throw new Error(`${objectName} with value ${value} must be of type number.`);
-          }
-        } else if (typeName.match(/^String$/i) !== null) {
-          if (typeof value.valueOf() !== "string") {
-            throw new Error(`${objectName} with value "${value}" must be of type string.`);
-          }
-        } else if (typeName.match(/^Uuid$/i) !== null) {
-          if (!(typeof value.valueOf() === "string" && (0, utils_js_1.isValidUuid)(value))) {
-            throw new Error(`${objectName} with value "${value}" must be of type string and a valid uuid.`);
-          }
-        } else if (typeName.match(/^Boolean$/i) !== null) {
-          if (typeof value !== "boolean") {
-            throw new Error(`${objectName} with value ${value} must be of type boolean.`);
-          }
-        } else if (typeName.match(/^Stream$/i) !== null) {
-          const objectType = typeof value;
-          if (objectType !== "string" && typeof value.pipe !== "function" && // NodeJS.ReadableStream
-          typeof value.tee !== "function" && // browser ReadableStream
-          !(value instanceof ArrayBuffer) && !ArrayBuffer.isView(value) && // File objects count as a type of Blob, so we want to use instanceof explicitly
-          !((typeof Blob === "function" || typeof Blob === "object") && value instanceof Blob) && objectType !== "function") {
-            throw new Error(`${objectName} must be a string, Blob, ArrayBuffer, ArrayBufferView, ReadableStream, or () => ReadableStream.`);
+    };
+    exports2.BlobChangeLeaseHeaders = {
+      serializedName: "Blob_changeLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobChangeLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          leaseId: {
+            serializedName: "x-ms-lease-id",
+            xmlName: "x-ms-lease-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
           }
         }
       }
-      return value;
-    }
-    function serializeEnumType(objectName, allowedValues, value) {
-      if (!allowedValues) {
-        throw new Error(`Please provide a set of allowedValues to validate ${objectName} as an Enum Type.`);
-      }
-      const isPresent = allowedValues.some((item) => {
-        if (typeof item.valueOf() === "string") {
-          return item.toLowerCase() === value.toLowerCase();
+    };
+    exports2.BlobChangeLeaseExceptionHeaders = {
+      serializedName: "Blob_changeLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobChangeLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return item === value;
-      });
-      if (!isPresent) {
-        throw new Error(`${value} is not a valid value for ${objectName}. The valid values are: ${JSON.stringify(allowedValues)}.`);
       }
-      return value;
-    }
-    function serializeByteArrayType(objectName, value) {
-      if (value !== void 0 && value !== null) {
-        if (!(value instanceof Uint8Array)) {
-          throw new Error(`${objectName} must be of type Uint8Array.`);
+    };
+    exports2.BlobBreakLeaseHeaders = {
+      serializedName: "Blob_breakLeaseHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobBreakLeaseHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          leaseTime: {
+            serializedName: "x-ms-lease-time",
+            xmlName: "x-ms-lease-time",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          }
         }
-        value = base64.encodeByteArray(value);
       }
-      return value;
-    }
-    function serializeBase64UrlType(objectName, value) {
-      if (value !== void 0 && value !== null) {
-        if (!(value instanceof Uint8Array)) {
-          throw new Error(`${objectName} must be of type Uint8Array.`);
+    };
+    exports2.BlobBreakLeaseExceptionHeaders = {
+      serializedName: "Blob_breakLeaseExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobBreakLeaseExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        value = bufferToBase64Url(value);
       }
-      return value;
-    }
-    function serializeDateTypes(typeName, value, objectName) {
-      if (value !== void 0 && value !== null) {
-        if (typeName.match(/^Date$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
-          }
-          value = value instanceof Date ? value.toISOString().substring(0, 10) : new Date(value).toISOString().substring(0, 10);
-        } else if (typeName.match(/^DateTime$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
-          }
-          value = value instanceof Date ? value.toISOString() : new Date(value).toISOString();
-        } else if (typeName.match(/^DateTimeRfc1123$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123 format.`);
-          }
-          value = value instanceof Date ? value.toUTCString() : new Date(value).toUTCString();
-        } else if (typeName.match(/^UnixTime$/i) !== null) {
-          if (!(value instanceof Date || typeof value.valueOf() === "string" && !isNaN(Date.parse(value)))) {
-            throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123/ISO8601 format for it to be serialized in UnixTime/Epoch format.`);
-          }
-          value = dateToUnixTime(value);
-        } else if (typeName.match(/^TimeSpan$/i) !== null) {
-          if (!(0, utils_js_1.isDuration)(value)) {
-            throw new Error(`${objectName} must be a string in ISO 8601 format. Instead was "${value}".`);
+    };
+    exports2.BlobCreateSnapshotHeaders = {
+      serializedName: "Blob_createSnapshotHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCreateSnapshotHeaders",
+        modelProperties: {
+          snapshot: {
+            serializedName: "x-ms-snapshot",
+            xmlName: "x-ms-snapshot",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      return value;
-    }
-    function serializeSequenceType(serializer, mapper, object, objectName, isXml, options) {
-      if (!Array.isArray(object)) {
-        throw new Error(`${objectName} must be of type Array.`);
-      }
-      let elementType = mapper.type.element;
-      if (!elementType || typeof elementType !== "object") {
-        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}.`);
-      }
-      if (elementType.type.name === "Composite" && elementType.type.className) {
-        elementType = serializer.modelMappers[elementType.type.className] ?? elementType;
-      }
-      const tempArray = [];
-      for (let i = 0; i < object.length; i++) {
-        const serializedValue = serializer.serialize(elementType, object[i], objectName, options);
-        if (isXml && elementType.xmlNamespace) {
-          const xmlnsKey = elementType.xmlNamespacePrefix ? `xmlns:${elementType.xmlNamespacePrefix}` : "xmlns";
-          if (elementType.type.name === "Composite") {
-            tempArray[i] = { ...serializedValue };
-            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
-          } else {
-            tempArray[i] = {};
-            tempArray[i][options.xml.xmlCharKey] = serializedValue;
-            tempArray[i][interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
+    };
+    exports2.BlobCreateSnapshotExceptionHeaders = {
+      serializedName: "Blob_createSnapshotExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCreateSnapshotExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          tempArray[i] = serializedValue;
-        }
-      }
-      return tempArray;
-    }
-    function serializeDictionaryType(serializer, mapper, object, objectName, isXml, options) {
-      if (typeof object !== "object") {
-        throw new Error(`${objectName} must be of type object.`);
-      }
-      const valueType = mapper.type.value;
-      if (!valueType || typeof valueType !== "object") {
-        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}.`);
-      }
-      const tempDictionary = {};
-      for (const key of Object.keys(object)) {
-        const serializedValue = serializer.serialize(valueType, object[key], objectName, options);
-        tempDictionary[key] = getXmlObjectValue(valueType, serializedValue, isXml, options);
-      }
-      if (isXml && mapper.xmlNamespace) {
-        const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
-        const result = tempDictionary;
-        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: mapper.xmlNamespace };
-        return result;
-      }
-      return tempDictionary;
-    }
-    function resolveAdditionalProperties(serializer, mapper, objectName) {
-      const additionalProperties = mapper.type.additionalProperties;
-      if (!additionalProperties && mapper.type.className) {
-        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
-        return modelMapper?.type.additionalProperties;
-      }
-      return additionalProperties;
-    }
-    function resolveReferencedMapper(serializer, mapper, objectName) {
-      const className = mapper.type.className;
-      if (!className) {
-        throw new Error(`Class name for model "${objectName}" is not provided in the mapper "${JSON.stringify(mapper, void 0, 2)}".`);
-      }
-      return serializer.modelMappers[className];
-    }
-    function resolveModelProperties(serializer, mapper, objectName) {
-      let modelProps = mapper.type.modelProperties;
-      if (!modelProps) {
-        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
-        if (!modelMapper) {
-          throw new Error(`mapper() cannot be null or undefined for model "${mapper.type.className}".`);
-        }
-        modelProps = modelMapper?.type.modelProperties;
-        if (!modelProps) {
-          throw new Error(`modelProperties cannot be null or undefined in the mapper "${JSON.stringify(modelMapper)}" of type "${mapper.type.className}" for object "${objectName}".`);
         }
       }
-      return modelProps;
-    }
-    function serializeCompositeType(serializer, mapper, object, objectName, isXml, options) {
-      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
-        mapper = getPolymorphicMapper(serializer, mapper, object, "clientName");
-      }
-      if (object !== void 0 && object !== null) {
-        const payload = {};
-        const modelProps = resolveModelProperties(serializer, mapper, objectName);
-        for (const key of Object.keys(modelProps)) {
-          const propertyMapper = modelProps[key];
-          if (propertyMapper.readOnly) {
-            continue;
-          }
-          let propName;
-          let parentObject = payload;
-          if (serializer.isXML) {
-            if (propertyMapper.xmlIsWrapped) {
-              propName = propertyMapper.xmlName;
-            } else {
-              propName = propertyMapper.xmlElementName || propertyMapper.xmlName;
+    };
+    exports2.BlobStartCopyFromURLHeaders = {
+      serializedName: "Blob_startCopyFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobStartCopyFromURLHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-          } else {
-            const paths = splitSerializeName(propertyMapper.serializedName);
-            propName = paths.pop();
-            for (const pathName of paths) {
-              const childObject = parentObject[pathName];
-              if ((childObject === void 0 || childObject === null) && (object[key] !== void 0 && object[key] !== null || propertyMapper.defaultValue !== void 0)) {
-                parentObject[pathName] = {};
-              }
-              parentObject = parentObject[pathName];
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
             }
-          }
-          if (parentObject !== void 0 && parentObject !== null) {
-            if (isXml && mapper.xmlNamespace) {
-              const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
-              parentObject[interfaces_js_1.XML_ATTRKEY] = {
-                ...parentObject[interfaces_js_1.XML_ATTRKEY],
-                [xmlnsKey]: mapper.xmlNamespace
-              };
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
             }
-            const propertyObjectName = propertyMapper.serializedName !== "" ? objectName + "." + propertyMapper.serializedName : objectName;
-            let toSerialize = object[key];
-            const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
-            if (polymorphicDiscriminator && polymorphicDiscriminator.clientName === key && (toSerialize === void 0 || toSerialize === null)) {
-              toSerialize = mapper.serializedName;
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
             }
-            const serializedValue = serializer.serialize(propertyMapper, toSerialize, propertyObjectName, options);
-            if (serializedValue !== void 0 && propName !== void 0 && propName !== null) {
-              const value = getXmlObjectValue(propertyMapper, serializedValue, isXml, options);
-              if (isXml && propertyMapper.xmlIsAttribute) {
-                parentObject[interfaces_js_1.XML_ATTRKEY] = parentObject[interfaces_js_1.XML_ATTRKEY] || {};
-                parentObject[interfaces_js_1.XML_ATTRKEY][propName] = serializedValue;
-              } else if (isXml && propertyMapper.xmlIsWrapped) {
-                parentObject[propName] = { [propertyMapper.xmlElementName]: value };
-              } else {
-                parentObject[propName] = value;
-              }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
-        const additionalPropertiesMapper = resolveAdditionalProperties(serializer, mapper, objectName);
-        if (additionalPropertiesMapper) {
-          const propNames = Object.keys(modelProps);
-          for (const clientPropName in object) {
-            const isAdditionalProperty = propNames.every((pn) => pn !== clientPropName);
-            if (isAdditionalProperty) {
-              payload[clientPropName] = serializer.serialize(additionalPropertiesMapper, object[clientPropName], objectName + '["' + clientPropName + '"]', options);
+      }
+    };
+    exports2.BlobStartCopyFromURLExceptionHeaders = {
+      serializedName: "Blob_startCopyFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobStartCopyFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
             }
           }
         }
-        return payload;
-      }
-      return object;
-    }
-    function getXmlObjectValue(propertyMapper, serializedValue, isXml, options) {
-      if (!isXml || !propertyMapper.xmlNamespace) {
-        return serializedValue;
       }
-      const xmlnsKey = propertyMapper.xmlNamespacePrefix ? `xmlns:${propertyMapper.xmlNamespacePrefix}` : "xmlns";
-      const xmlNamespace = { [xmlnsKey]: propertyMapper.xmlNamespace };
-      if (["Composite"].includes(propertyMapper.type.name)) {
-        if (serializedValue[interfaces_js_1.XML_ATTRKEY]) {
-          return serializedValue;
-        } else {
-          const result2 = { ...serializedValue };
-          result2[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
-          return result2;
+    };
+    exports2.BlobCopyFromURLHeaders = {
+      serializedName: "Blob_copyFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCopyFromURLHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            defaultValue: "success",
+            isConstant: true,
+            serializedName: "x-ms-copy-status",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      const result = {};
-      result[options.xml.xmlCharKey] = serializedValue;
-      result[interfaces_js_1.XML_ATTRKEY] = xmlNamespace;
-      return result;
-    }
-    function isSpecialXmlProperty(propertyName, options) {
-      return [interfaces_js_1.XML_ATTRKEY, options.xml.xmlCharKey].includes(propertyName);
-    }
-    function deserializeCompositeType(serializer, mapper, responseBody, objectName, options) {
-      const xmlCharKey = options.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY;
-      if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
-        mapper = getPolymorphicMapper(serializer, mapper, responseBody, "serializedName");
-      }
-      const modelProps = resolveModelProperties(serializer, mapper, objectName);
-      let instance = {};
-      const handledPropertyNames = [];
-      for (const key of Object.keys(modelProps)) {
-        const propertyMapper = modelProps[key];
-        const paths = splitSerializeName(modelProps[key].serializedName);
-        handledPropertyNames.push(paths[0]);
-        const { serializedName, xmlName, xmlElementName } = propertyMapper;
-        let propertyObjectName = objectName;
-        if (serializedName !== "" && serializedName !== void 0) {
-          propertyObjectName = objectName + "." + serializedName;
-        }
-        const headerCollectionPrefix = propertyMapper.headerCollectionPrefix;
-        if (headerCollectionPrefix) {
-          const dictionary = {};
-          for (const headerKey of Object.keys(responseBody)) {
-            if (headerKey.startsWith(headerCollectionPrefix)) {
-              dictionary[headerKey.substring(headerCollectionPrefix.length)] = serializer.deserialize(propertyMapper.type.value, responseBody[headerKey], propertyObjectName, options);
+    };
+    exports2.BlobCopyFromURLExceptionHeaders = {
+      serializedName: "Blob_copyFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobCopyFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            handledPropertyNames.push(headerKey);
-          }
-          instance[key] = dictionary;
-        } else if (serializer.isXML) {
-          if (propertyMapper.xmlIsAttribute && responseBody[interfaces_js_1.XML_ATTRKEY]) {
-            instance[key] = serializer.deserialize(propertyMapper, responseBody[interfaces_js_1.XML_ATTRKEY][xmlName], propertyObjectName, options);
-          } else if (propertyMapper.xmlIsMsText) {
-            if (responseBody[xmlCharKey] !== void 0) {
-              instance[key] = responseBody[xmlCharKey];
-            } else if (typeof responseBody === "string") {
-              instance[key] = responseBody;
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
             }
-          } else {
-            const propertyName = xmlElementName || xmlName || serializedName;
-            if (propertyMapper.xmlIsWrapped) {
-              const wrapped = responseBody[xmlName];
-              const elementList = wrapped?.[xmlElementName] ?? [];
-              instance[key] = serializer.deserialize(propertyMapper, elementList, propertyObjectName, options);
-              handledPropertyNames.push(xmlName);
-            } else {
-              const property = responseBody[propertyName];
-              instance[key] = serializer.deserialize(propertyMapper, property, propertyObjectName, options);
-              handledPropertyNames.push(propertyName);
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
             }
           }
-        } else {
-          let propertyInstance;
-          let res = responseBody;
-          let steps = 0;
-          for (const item of paths) {
-            if (!res)
-              break;
-            steps++;
-            res = res[item];
-          }
-          if (res === null && steps < paths.length) {
-            res = void 0;
-          }
-          propertyInstance = res;
-          const polymorphicDiscriminator = mapper.type.polymorphicDiscriminator;
-          if (polymorphicDiscriminator && key === polymorphicDiscriminator.clientName && (propertyInstance === void 0 || propertyInstance === null)) {
-            propertyInstance = mapper.serializedName;
-          }
-          let serializedValue;
-          if (Array.isArray(responseBody[key]) && modelProps[key].serializedName === "") {
-            propertyInstance = responseBody[key];
-            const arrayInstance = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
-            for (const [k, v] of Object.entries(instance)) {
-              if (!Object.prototype.hasOwnProperty.call(arrayInstance, k)) {
-                arrayInstance[k] = v;
-              }
+        }
+      }
+    };
+    exports2.BlobAbortCopyFromURLHeaders = {
+      serializedName: "Blob_abortCopyFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAbortCopyFromURLHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            instance = arrayInstance;
-          } else if (propertyInstance !== void 0 || propertyMapper.defaultValue !== void 0) {
-            serializedValue = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
-            instance[key] = serializedValue;
           }
         }
       }
-      const additionalPropertiesMapper = mapper.type.additionalProperties;
-      if (additionalPropertiesMapper) {
-        const isAdditionalProperty = (responsePropName) => {
-          for (const clientPropName in modelProps) {
-            const paths = splitSerializeName(modelProps[clientPropName].serializedName);
-            if (paths[0] === responsePropName) {
-              return false;
+    };
+    exports2.BlobAbortCopyFromURLExceptionHeaders = {
+      serializedName: "Blob_abortCopyFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobAbortCopyFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          return true;
-        };
-        for (const responsePropName in responseBody) {
-          if (isAdditionalProperty(responsePropName)) {
-            instance[responsePropName] = serializer.deserialize(additionalPropertiesMapper, responseBody[responsePropName], objectName + '["' + responsePropName + '"]', options);
-          }
-        }
-      } else if (responseBody && !options.ignoreUnknownProperties) {
-        for (const key of Object.keys(responseBody)) {
-          if (instance[key] === void 0 && !handledPropertyNames.includes(key) && !isSpecialXmlProperty(key, options)) {
-            instance[key] = responseBody[key];
-          }
         }
       }
-      return instance;
-    }
-    function deserializeDictionaryType(serializer, mapper, responseBody, objectName, options) {
-      const value = mapper.type.value;
-      if (!value || typeof value !== "object") {
-        throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}`);
-      }
-      if (responseBody) {
-        const tempDictionary = {};
-        for (const key of Object.keys(responseBody)) {
-          tempDictionary[key] = serializer.deserialize(value, responseBody[key], objectName, options);
+    };
+    exports2.BlobSetTierHeaders = {
+      serializedName: "Blob_setTierHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTierHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return tempDictionary;
-      }
-      return responseBody;
-    }
-    function deserializeSequenceType(serializer, mapper, responseBody, objectName, options) {
-      let element = mapper.type.element;
-      if (!element || typeof element !== "object") {
-        throw new Error(`element" metadata for an Array must be defined in the mapper and it must of type "object" in ${objectName}`);
       }
-      if (responseBody) {
-        if (!Array.isArray(responseBody)) {
-          responseBody = [responseBody];
-        }
-        if (element.type.name === "Composite" && element.type.className) {
-          element = serializer.modelMappers[element.type.className] ?? element;
-        }
-        const tempArray = [];
-        for (let i = 0; i < responseBody.length; i++) {
-          tempArray[i] = serializer.deserialize(element, responseBody[i], `${objectName}[${i}]`, options);
+    };
+    exports2.BlobSetTierExceptionHeaders = {
+      serializedName: "Blob_setTierExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTierExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return tempArray;
       }
-      return responseBody;
-    }
-    function getIndexDiscriminator(discriminators, discriminatorValue, typeName) {
-      const typeNamesToCheck = [typeName];
-      while (typeNamesToCheck.length) {
-        const currentName = typeNamesToCheck.shift();
-        const indexDiscriminator = discriminatorValue === currentName ? discriminatorValue : currentName + "." + discriminatorValue;
-        if (Object.prototype.hasOwnProperty.call(discriminators, indexDiscriminator)) {
-          return discriminators[indexDiscriminator];
-        } else {
-          for (const [name, mapper] of Object.entries(discriminators)) {
-            if (name.startsWith(currentName + ".") && mapper.type.uberParent === currentName && mapper.type.className) {
-              typeNamesToCheck.push(mapper.type.className);
+    };
+    exports2.BlobGetAccountInfoHeaders = {
+      serializedName: "Blob_getAccountInfoHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetAccountInfoHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          skuName: {
+            serializedName: "x-ms-sku-name",
+            xmlName: "x-ms-sku-name",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Standard_LRS",
+                "Standard_GRS",
+                "Standard_RAGRS",
+                "Standard_ZRS",
+                "Premium_LRS"
+              ]
+            }
+          },
+          accountKind: {
+            serializedName: "x-ms-account-kind",
+            xmlName: "x-ms-account-kind",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "Storage",
+                "BlobStorage",
+                "StorageV2",
+                "FileStorage",
+                "BlockBlobStorage"
+              ]
+            }
+          },
+          isHierarchicalNamespaceEnabled: {
+            serializedName: "x-ms-is-hns-enabled",
+            xmlName: "x-ms-is-hns-enabled",
+            type: {
+              name: "Boolean"
             }
           }
         }
       }
-      return void 0;
-    }
-    function getPolymorphicMapper(serializer, mapper, object, polymorphicPropertyName) {
-      const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
-      if (polymorphicDiscriminator) {
-        let discriminatorName = polymorphicDiscriminator[polymorphicPropertyName];
-        if (discriminatorName) {
-          if (polymorphicPropertyName === "serializedName") {
-            discriminatorName = discriminatorName.replace(/\\/gi, "");
-          }
-          const discriminatorValue = object[discriminatorName];
-          const typeName = mapper.type.uberParent ?? mapper.type.className;
-          if (typeof discriminatorValue === "string" && typeName) {
-            const polymorphicMapper = getIndexDiscriminator(serializer.modelMappers.discriminators, discriminatorValue, typeName);
-            if (polymorphicMapper) {
-              mapper = polymorphicMapper;
+    };
+    exports2.BlobGetAccountInfoExceptionHeaders = {
+      serializedName: "Blob_getAccountInfoExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetAccountInfoExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
       }
-      return mapper;
-    }
-    function getPolymorphicDiscriminatorRecursively(serializer, mapper) {
-      return mapper.type.polymorphicDiscriminator || getPolymorphicDiscriminatorSafely(serializer, mapper.type.uberParent) || getPolymorphicDiscriminatorSafely(serializer, mapper.type.className);
-    }
-    function getPolymorphicDiscriminatorSafely(serializer, typeName) {
-      return typeName && serializer.modelMappers[typeName] && serializer.modelMappers[typeName].type.polymorphicDiscriminator;
-    }
-    exports2.MapperTypeNames = {
-      Base64Url: "Base64Url",
-      Boolean: "Boolean",
-      ByteArray: "ByteArray",
-      Composite: "Composite",
-      Date: "Date",
-      DateTime: "DateTime",
-      DateTimeRfc1123: "DateTimeRfc1123",
-      Dictionary: "Dictionary",
-      Enum: "Enum",
-      Number: "Number",
-      Object: "Object",
-      Sequence: "Sequence",
-      String: "String",
-      Stream: "Stream",
-      TimeSpan: "TimeSpan",
-      UnixTime: "UnixTime"
-    };
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/state.js
-var require_state2 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/state.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.state = void 0;
-    exports2.state = {
-      operationRequestMap: /* @__PURE__ */ new WeakMap()
     };
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/operationHelpers.js
-var require_operationHelpers = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/operationHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getOperationArgumentValueFromParameter = getOperationArgumentValueFromParameter;
-    exports2.getOperationRequestInfo = getOperationRequestInfo;
-    var state_js_1 = require_state2();
-    function getOperationArgumentValueFromParameter(operationArguments, parameter, fallbackObject) {
-      let parameterPath = parameter.parameterPath;
-      const parameterMapper = parameter.mapper;
-      let value;
-      if (typeof parameterPath === "string") {
-        parameterPath = [parameterPath];
-      }
-      if (Array.isArray(parameterPath)) {
-        if (parameterPath.length > 0) {
-          if (parameterMapper.isConstant) {
-            value = parameterMapper.defaultValue;
-          } else {
-            let propertySearchResult = getPropertyFromParameterPath(operationArguments, parameterPath);
-            if (!propertySearchResult.propertyFound && fallbackObject) {
-              propertySearchResult = getPropertyFromParameterPath(fallbackObject, parameterPath);
+    exports2.BlobQueryHeaders = {
+      serializedName: "Blob_queryHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobQueryHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          metadata: {
+            serializedName: "x-ms-meta",
+            headerCollectionPrefix: "x-ms-meta-",
+            xmlName: "x-ms-meta",
+            type: {
+              name: "Dictionary",
+              value: { type: { name: "String" } }
+            }
+          },
+          contentLength: {
+            serializedName: "content-length",
+            xmlName: "content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          contentRange: {
+            serializedName: "content-range",
+            xmlName: "content-range",
+            type: {
+              name: "String"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          contentEncoding: {
+            serializedName: "content-encoding",
+            xmlName: "content-encoding",
+            type: {
+              name: "String"
+            }
+          },
+          cacheControl: {
+            serializedName: "cache-control",
+            xmlName: "cache-control",
+            type: {
+              name: "String"
+            }
+          },
+          contentDisposition: {
+            serializedName: "content-disposition",
+            xmlName: "content-disposition",
+            type: {
+              name: "String"
+            }
+          },
+          contentLanguage: {
+            serializedName: "content-language",
+            xmlName: "content-language",
+            type: {
+              name: "String"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          blobType: {
+            serializedName: "x-ms-blob-type",
+            xmlName: "x-ms-blob-type",
+            type: {
+              name: "Enum",
+              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
+            }
+          },
+          copyCompletionTime: {
+            serializedName: "x-ms-copy-completion-time",
+            xmlName: "x-ms-copy-completion-time",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyStatusDescription: {
+            serializedName: "x-ms-copy-status-description",
+            xmlName: "x-ms-copy-status-description",
+            type: {
+              name: "String"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyProgress: {
+            serializedName: "x-ms-copy-progress",
+            xmlName: "x-ms-copy-progress",
+            type: {
+              name: "String"
+            }
+          },
+          copySource: {
+            serializedName: "x-ms-copy-source",
+            xmlName: "x-ms-copy-source",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          leaseDuration: {
+            serializedName: "x-ms-lease-duration",
+            xmlName: "x-ms-lease-duration",
+            type: {
+              name: "Enum",
+              allowedValues: ["infinite", "fixed"]
+            }
+          },
+          leaseState: {
+            serializedName: "x-ms-lease-state",
+            xmlName: "x-ms-lease-state",
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "available",
+                "leased",
+                "expired",
+                "breaking",
+                "broken"
+              ]
+            }
+          },
+          leaseStatus: {
+            serializedName: "x-ms-lease-status",
+            xmlName: "x-ms-lease-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["locked", "unlocked"]
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          acceptRanges: {
+            serializedName: "accept-ranges",
+            xmlName: "accept-ranges",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-server-encrypted",
+            xmlName: "x-ms-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
             }
-            let useDefaultValue = false;
-            if (!propertySearchResult.propertyFound) {
-              useDefaultValue = parameterMapper.required || parameterPath[0] === "options" && parameterPath.length === 2;
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
             }
-            value = useDefaultValue ? parameterMapper.defaultValue : propertySearchResult.propertyValue;
-          }
-        }
-      } else {
-        if (parameterMapper.required) {
-          value = {};
-        }
-        for (const propertyName in parameterPath) {
-          const propertyMapper = parameterMapper.type.modelProperties[propertyName];
-          const propertyPath = parameterPath[propertyName];
-          const propertyValue = getOperationArgumentValueFromParameter(operationArguments, {
-            parameterPath: propertyPath,
-            mapper: propertyMapper
-          }, fallbackObject);
-          if (propertyValue !== void 0) {
-            if (!value) {
-              value = {};
+          },
+          blobContentMD5: {
+            serializedName: "x-ms-blob-content-md5",
+            xmlName: "x-ms-blob-content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          contentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
             }
-            value[propertyName] = propertyValue;
           }
         }
       }
-      return value;
-    }
-    function getPropertyFromParameterPath(parent, parameterPath) {
-      const result = { propertyFound: false };
-      let i = 0;
-      for (; i < parameterPath.length; ++i) {
-        const parameterPathPart = parameterPath[i];
-        if (parent && parameterPathPart in parent) {
-          parent = parent[parameterPathPart];
-        } else {
-          break;
-        }
-      }
-      if (i === parameterPath.length) {
-        result.propertyValue = parent;
-        result.propertyFound = true;
-      }
-      return result;
-    }
-    var originalRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
-    function hasOriginalRequest(request2) {
-      return originalRequestSymbol in request2;
-    }
-    function getOperationRequestInfo(request2) {
-      if (hasOriginalRequest(request2)) {
-        return getOperationRequestInfo(request2[originalRequestSymbol]);
-      }
-      let info7 = state_js_1.state.operationRequestMap.get(request2);
-      if (!info7) {
-        info7 = {};
-        state_js_1.state.operationRequestMap.set(request2, info7);
-      }
-      return info7;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js
-var require_deserializationPolicy = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/deserializationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.deserializationPolicyName = void 0;
-    exports2.deserializationPolicy = deserializationPolicy;
-    var interfaces_js_1 = require_interfaces();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var serializer_js_1 = require_serializer();
-    var operationHelpers_js_1 = require_operationHelpers();
-    var defaultJsonContentTypes = ["application/json", "text/json"];
-    var defaultXmlContentTypes = ["application/xml", "application/atom+xml"];
-    exports2.deserializationPolicyName = "deserializationPolicy";
-    function deserializationPolicy(options = {}) {
-      const jsonContentTypes = options.expectedContentTypes?.json ?? defaultJsonContentTypes;
-      const xmlContentTypes = options.expectedContentTypes?.xml ?? defaultXmlContentTypes;
-      const parseXML = options.parseXML;
-      const serializerOptions = options.serializerOptions;
-      const updatedOptions = {
-        xml: {
-          rootName: serializerOptions?.xml.rootName ?? "",
-          includeRoot: serializerOptions?.xml.includeRoot ?? false,
-          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
-        }
-      };
-      return {
-        name: exports2.deserializationPolicyName,
-        async sendRequest(request2, next) {
-          const response = await next(request2);
-          return deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, updatedOptions, parseXML);
-        }
-      };
-    }
-    function getOperationResponseMap(parsedResponse) {
-      let result;
-      const request2 = parsedResponse.request;
-      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-      const operationSpec = operationInfo?.operationSpec;
-      if (operationSpec) {
-        if (!operationInfo?.operationResponseGetter) {
-          result = operationSpec.responses[parsedResponse.status];
-        } else {
-          result = operationInfo?.operationResponseGetter(operationSpec, parsedResponse);
-        }
-      }
-      return result;
-    }
-    function shouldDeserializeResponse(parsedResponse) {
-      const request2 = parsedResponse.request;
-      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-      const shouldDeserialize = operationInfo?.shouldDeserialize;
-      let result;
-      if (shouldDeserialize === void 0) {
-        result = true;
-      } else if (typeof shouldDeserialize === "boolean") {
-        result = shouldDeserialize;
-      } else {
-        result = shouldDeserialize(parsedResponse);
-      }
-      return result;
-    }
-    async function deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, options, parseXML) {
-      const parsedResponse = await parse2(jsonContentTypes, xmlContentTypes, response, options, parseXML);
-      if (!shouldDeserializeResponse(parsedResponse)) {
-        return parsedResponse;
-      }
-      const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(parsedResponse.request);
-      const operationSpec = operationInfo?.operationSpec;
-      if (!operationSpec || !operationSpec.responses) {
-        return parsedResponse;
-      }
-      const responseSpec = getOperationResponseMap(parsedResponse);
-      const { error: error3, shouldReturnResponse } = handleErrorResponse(parsedResponse, operationSpec, responseSpec, options);
-      if (error3) {
-        throw error3;
-      } else if (shouldReturnResponse) {
-        return parsedResponse;
-      }
-      if (responseSpec) {
-        if (responseSpec.bodyMapper) {
-          let valueToDeserialize = parsedResponse.parsedBody;
-          if (operationSpec.isXML && responseSpec.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
-            valueToDeserialize = typeof valueToDeserialize === "object" ? valueToDeserialize[responseSpec.bodyMapper.xmlElementName] : [];
-          }
-          try {
-            parsedResponse.parsedBody = operationSpec.serializer.deserialize(responseSpec.bodyMapper, valueToDeserialize, "operationRes.parsedBody", options);
-          } catch (deserializeError) {
-            const restError = new core_rest_pipeline_1.RestError(`Error ${deserializeError} occurred in deserializing the responseBody - ${parsedResponse.bodyAsText}`, {
-              statusCode: parsedResponse.status,
-              request: parsedResponse.request,
-              response: parsedResponse
-            });
-            throw restError;
+    };
+    exports2.BlobQueryExceptionHeaders = {
+      serializedName: "Blob_queryExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobQueryExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else if (operationSpec.httpMethod === "HEAD") {
-          parsedResponse.parsedBody = response.status >= 200 && response.status < 300;
-        }
-        if (responseSpec.headersMapper) {
-          parsedResponse.parsedHeaders = operationSpec.serializer.deserialize(responseSpec.headersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders", { xml: {}, ignoreUnknownProperties: true });
         }
       }
-      return parsedResponse;
-    }
-    function isOperationSpecEmpty(operationSpec) {
-      const expectedStatusCodes = Object.keys(operationSpec.responses);
-      return expectedStatusCodes.length === 0 || expectedStatusCodes.length === 1 && expectedStatusCodes[0] === "default";
-    }
-    function handleErrorResponse(parsedResponse, operationSpec, responseSpec, options) {
-      const isSuccessByStatus = 200 <= parsedResponse.status && parsedResponse.status < 300;
-      const isExpectedStatusCode = isOperationSpecEmpty(operationSpec) ? isSuccessByStatus : !!responseSpec;
-      if (isExpectedStatusCode) {
-        if (responseSpec) {
-          if (!responseSpec.isError) {
-            return { error: null, shouldReturnResponse: false };
+    };
+    exports2.BlobGetTagsHeaders = {
+      serializedName: "Blob_getTagsHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetTagsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          return { error: null, shouldReturnResponse: false };
         }
       }
-      const errorResponseSpec = responseSpec ?? operationSpec.responses.default;
-      const initialErrorMessage = parsedResponse.request.streamResponseStatusCodes?.has(parsedResponse.status) ? `Unexpected status code: ${parsedResponse.status}` : parsedResponse.bodyAsText;
-      const error3 = new core_rest_pipeline_1.RestError(initialErrorMessage, {
-        statusCode: parsedResponse.status,
-        request: parsedResponse.request,
-        response: parsedResponse
-      });
-      if (!errorResponseSpec && !(parsedResponse.parsedBody?.error?.code && parsedResponse.parsedBody?.error?.message)) {
-        throw error3;
-      }
-      const defaultBodyMapper = errorResponseSpec?.bodyMapper;
-      const defaultHeadersMapper = errorResponseSpec?.headersMapper;
-      try {
-        if (parsedResponse.parsedBody) {
-          const parsedBody = parsedResponse.parsedBody;
-          let deserializedError;
-          if (defaultBodyMapper) {
-            let valueToDeserialize = parsedBody;
-            if (operationSpec.isXML && defaultBodyMapper.type.name === serializer_js_1.MapperTypeNames.Sequence) {
-              valueToDeserialize = [];
-              const elementName = defaultBodyMapper.xmlElementName;
-              if (typeof parsedBody === "object" && elementName) {
-                valueToDeserialize = parsedBody[elementName];
-              }
+    };
+    exports2.BlobGetTagsExceptionHeaders = {
+      serializedName: "Blob_getTagsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobGetTagsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            deserializedError = operationSpec.serializer.deserialize(defaultBodyMapper, valueToDeserialize, "error.response.parsedBody", options);
-          }
-          const internalError = parsedBody.error || deserializedError || parsedBody;
-          error3.code = internalError.code;
-          if (internalError.message) {
-            error3.message = internalError.message;
-          }
-          if (defaultBodyMapper) {
-            error3.response.parsedBody = deserializedError;
           }
         }
-        if (parsedResponse.headers && defaultHeadersMapper) {
-          error3.response.parsedHeaders = operationSpec.serializer.deserialize(defaultHeadersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders");
-        }
-      } catch (defaultError) {
-        error3.message = `Error "${defaultError.message}" occurred in deserializing the responseBody - "${parsedResponse.bodyAsText}" for the default response.`;
       }
-      return { error: error3, shouldReturnResponse: false };
-    }
-    async function parse2(jsonContentTypes, xmlContentTypes, operationResponse, opts, parseXML) {
-      if (!operationResponse.request.streamResponseStatusCodes?.has(operationResponse.status) && operationResponse.bodyAsText) {
-        const text = operationResponse.bodyAsText;
-        const contentType = operationResponse.headers.get("Content-Type") || "";
-        const contentComponents = !contentType ? [] : contentType.split(";").map((component) => component.toLowerCase());
-        try {
-          if (contentComponents.length === 0 || contentComponents.some((component) => jsonContentTypes.indexOf(component) !== -1)) {
-            operationResponse.parsedBody = JSON.parse(text);
-            return operationResponse;
-          } else if (contentComponents.some((component) => xmlContentTypes.indexOf(component) !== -1)) {
-            if (!parseXML) {
-              throw new Error("Parsing XML not supported.");
+    };
+    exports2.BlobSetTagsHeaders = {
+      serializedName: "Blob_setTagsHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTagsHeaders",
+        modelProperties: {
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            const body = await parseXML(text, opts.xml);
-            operationResponse.parsedBody = body;
-            return operationResponse;
           }
-        } catch (err) {
-          const msg = `Error "${err}" occurred while parsing the response body - ${operationResponse.bodyAsText}.`;
-          const errCode = err.code || core_rest_pipeline_1.RestError.PARSE_ERROR;
-          const e = new core_rest_pipeline_1.RestError(msg, {
-            code: errCode,
-            statusCode: operationResponse.status,
-            request: operationResponse.request,
-            response: operationResponse
-          });
-          throw e;
         }
       }
-      return operationResponse;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js
-var require_interfaceHelpers = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getStreamingResponseStatusCodes = getStreamingResponseStatusCodes;
-    exports2.getPathStringFromParameter = getPathStringFromParameter;
-    var serializer_js_1 = require_serializer();
-    function getStreamingResponseStatusCodes(operationSpec) {
-      const result = /* @__PURE__ */ new Set();
-      for (const statusCode in operationSpec.responses) {
-        const operationResponse = operationSpec.responses[statusCode];
-        if (operationResponse.bodyMapper && operationResponse.bodyMapper.type.name === serializer_js_1.MapperTypeNames.Stream) {
-          result.add(Number(statusCode));
+    };
+    exports2.BlobSetTagsExceptionHeaders = {
+      serializedName: "Blob_setTagsExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlobSetTagsExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      return result;
-    }
-    function getPathStringFromParameter(parameter) {
-      const { parameterPath, mapper } = parameter;
-      let result;
-      if (typeof parameterPath === "string") {
-        result = parameterPath;
-      } else if (Array.isArray(parameterPath)) {
-        result = parameterPath.join(".");
-      } else {
-        result = mapper.serializedName;
-      }
-      return result;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js
-var require_serializationPolicy = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.serializationPolicyName = void 0;
-    exports2.serializationPolicy = serializationPolicy;
-    exports2.serializeHeaders = serializeHeaders;
-    exports2.serializeRequestBody = serializeRequestBody;
-    var interfaces_js_1 = require_interfaces();
-    var operationHelpers_js_1 = require_operationHelpers();
-    var serializer_js_1 = require_serializer();
-    var interfaceHelpers_js_1 = require_interfaceHelpers();
-    exports2.serializationPolicyName = "serializationPolicy";
-    function serializationPolicy(options = {}) {
-      const stringifyXML = options.stringifyXML;
-      return {
-        name: exports2.serializationPolicyName,
-        async sendRequest(request2, next) {
-          const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-          const operationSpec = operationInfo?.operationSpec;
-          const operationArguments = operationInfo?.operationArguments;
-          if (operationSpec && operationArguments) {
-            serializeHeaders(request2, operationArguments, operationSpec);
-            serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML);
+    };
+    exports2.PageBlobCreateHeaders = {
+      serializedName: "PageBlob_createHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCreateHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return next(request2);
         }
-      };
-    }
-    function serializeHeaders(request2, operationArguments, operationSpec) {
-      if (operationSpec.headerParameters) {
-        for (const headerParameter of operationSpec.headerParameters) {
-          let headerValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, headerParameter);
-          if (headerValue !== null && headerValue !== void 0 || headerParameter.mapper.required) {
-            headerValue = operationSpec.serializer.serialize(headerParameter.mapper, headerValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter));
-            const headerCollectionPrefix = headerParameter.mapper.headerCollectionPrefix;
-            if (headerCollectionPrefix) {
-              for (const key of Object.keys(headerValue)) {
-                request2.headers.set(headerCollectionPrefix + key, headerValue[key]);
-              }
-            } else {
-              request2.headers.set(headerParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(headerParameter), headerValue);
+      }
+    };
+    exports2.PageBlobCreateExceptionHeaders = {
+      serializedName: "PageBlob_createExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCreateExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
       }
-      const customHeaders = operationArguments.options?.requestOptions?.customHeaders;
-      if (customHeaders) {
-        for (const customHeaderName of Object.keys(customHeaders)) {
-          request2.headers.set(customHeaderName, customHeaders[customHeaderName]);
+    };
+    exports2.PageBlobUploadPagesHeaders = {
+      serializedName: "PageBlob_uploadPagesHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-    }
-    function serializeRequestBody(request2, operationArguments, operationSpec, stringifyXML = function() {
-      throw new Error("XML serialization unsupported!");
-    }) {
-      const serializerOptions = operationArguments.options?.serializerOptions;
-      const updatedOptions = {
-        xml: {
-          rootName: serializerOptions?.xml.rootName ?? "",
-          includeRoot: serializerOptions?.xml.includeRoot ?? false,
-          xmlCharKey: serializerOptions?.xml.xmlCharKey ?? interfaces_js_1.XML_CHARKEY
-        }
-      };
-      const xmlCharKey = updatedOptions.xml.xmlCharKey;
-      if (operationSpec.requestBody && operationSpec.requestBody.mapper) {
-        request2.body = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, operationSpec.requestBody);
-        const bodyMapper = operationSpec.requestBody.mapper;
-        const { required, serializedName, xmlName, xmlElementName, xmlNamespace, xmlNamespacePrefix, nullable } = bodyMapper;
-        const typeName = bodyMapper.type.name;
-        try {
-          if (request2.body !== void 0 && request2.body !== null || nullable && request2.body === null || required) {
-            const requestBodyParameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(operationSpec.requestBody);
-            request2.body = operationSpec.serializer.serialize(bodyMapper, request2.body, requestBodyParameterPathString, updatedOptions);
-            const isStream = typeName === serializer_js_1.MapperTypeNames.Stream;
-            if (operationSpec.isXML) {
-              const xmlnsKey = xmlNamespacePrefix ? `xmlns:${xmlNamespacePrefix}` : "xmlns";
-              const value = getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, request2.body, updatedOptions);
-              if (typeName === serializer_js_1.MapperTypeNames.Sequence) {
-                request2.body = stringifyXML(prepareXMLRootList(value, xmlElementName || xmlName || serializedName, xmlnsKey, xmlNamespace), { rootName: xmlName || serializedName, xmlCharKey });
-              } else if (!isStream) {
-                request2.body = stringifyXML(value, {
-                  rootName: xmlName || serializedName,
-                  xmlCharKey
-                });
-              }
-            } else if (typeName === serializer_js_1.MapperTypeNames.String && (operationSpec.contentType?.match("text/plain") || operationSpec.mediaType === "text")) {
-              return;
-            } else if (!isStream) {
-              request2.body = JSON.stringify(request2.body);
+    };
+    exports2.PageBlobUploadPagesExceptionHeaders = {
+      serializedName: "PageBlob_uploadPagesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-        } catch (error3) {
-          throw new Error(`Error "${error3.message}" occurred in serializing the payload - ${JSON.stringify(serializedName, void 0, "  ")}.`);
         }
-      } else if (operationSpec.formDataParameters && operationSpec.formDataParameters.length > 0) {
-        request2.formData = {};
-        for (const formDataParameter of operationSpec.formDataParameters) {
-          const formDataParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, formDataParameter);
-          if (formDataParameterValue !== void 0 && formDataParameterValue !== null) {
-            const formDataParameterPropertyName = formDataParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter);
-            request2.formData[formDataParameterPropertyName] = operationSpec.serializer.serialize(formDataParameter.mapper, formDataParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(formDataParameter), updatedOptions);
+      }
+    };
+    exports2.PageBlobClearPagesHeaders = {
+      serializedName: "PageBlob_clearPagesHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobClearPagesHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-    }
-    function getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, serializedValue, options) {
-      if (xmlNamespace && !["Composite", "Sequence", "Dictionary"].includes(typeName)) {
-        const result = {};
-        result[options.xml.xmlCharKey] = serializedValue;
-        result[interfaces_js_1.XML_ATTRKEY] = { [xmlnsKey]: xmlNamespace };
-        return result;
-      }
-      return serializedValue;
-    }
-    function prepareXMLRootList(obj, elementName, xmlNamespaceKey, xmlNamespace) {
-      if (!Array.isArray(obj)) {
-        obj = [obj];
-      }
-      if (!xmlNamespaceKey || !xmlNamespace) {
-        return { [elementName]: obj };
-      }
-      const result = { [elementName]: obj };
-      result[interfaces_js_1.XML_ATTRKEY] = { [xmlNamespaceKey]: xmlNamespace };
-      return result;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/pipeline.js
-var require_pipeline3 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/pipeline.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createClientPipeline = createClientPipeline;
-    var deserializationPolicy_js_1 = require_deserializationPolicy();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var serializationPolicy_js_1 = require_serializationPolicy();
-    function createClientPipeline(options = {}) {
-      const pipeline = (0, core_rest_pipeline_1.createPipelineFromOptions)(options ?? {});
-      if (options.credentialOptions) {
-        pipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-          credential: options.credentialOptions.credential,
-          scopes: options.credentialOptions.credentialScopes
-        }));
-      }
-      pipeline.addPolicy((0, serializationPolicy_js_1.serializationPolicy)(options.serializationOptions), { phase: "Serialize" });
-      pipeline.addPolicy((0, deserializationPolicy_js_1.deserializationPolicy)(options.deserializationOptions), {
-        phase: "Deserialize"
-      });
-      return pipeline;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/httpClientCache.js
-var require_httpClientCache = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/httpClientCache.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var cachedHttpClient;
-    function getCachedDefaultHttpClient() {
-      if (!cachedHttpClient) {
-        cachedHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
-      }
-      return cachedHttpClient;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/urlHelpers.js
-var require_urlHelpers2 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/urlHelpers.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getRequestUrl = getRequestUrl;
-    exports2.appendQueryParams = appendQueryParams;
-    var operationHelpers_js_1 = require_operationHelpers();
-    var interfaceHelpers_js_1 = require_interfaceHelpers();
-    var CollectionFormatToDelimiterMap = {
-      CSV: ",",
-      SSV: " ",
-      Multi: "Multi",
-      TSV: "	",
-      Pipes: "|"
     };
-    function getRequestUrl(baseUri, operationSpec, operationArguments, fallbackObject) {
-      const urlReplacements = calculateUrlReplacements(operationSpec, operationArguments, fallbackObject);
-      let isAbsolutePath = false;
-      let requestUrl = replaceAll(baseUri, urlReplacements);
-      if (operationSpec.path) {
-        let path3 = replaceAll(operationSpec.path, urlReplacements);
-        if (operationSpec.path === "/{nextLink}" && path3.startsWith("/")) {
-          path3 = path3.substring(1);
-        }
-        if (isAbsoluteUrl(path3)) {
-          requestUrl = path3;
-          isAbsolutePath = true;
-        } else {
-          requestUrl = appendPath(requestUrl, path3);
+    exports2.PageBlobClearPagesExceptionHeaders = {
+      serializedName: "PageBlob_clearPagesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobClearPagesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
       }
-      const { queryParams, sequenceParams } = calculateQueryParameters(operationSpec, operationArguments, fallbackObject);
-      requestUrl = appendQueryParams(requestUrl, queryParams, sequenceParams, isAbsolutePath);
-      return requestUrl;
-    }
-    function replaceAll(input, replacements) {
-      let result = input;
-      for (const [searchValue, replaceValue] of replacements) {
-        result = result.split(searchValue).join(replaceValue);
-      }
-      return result;
-    }
-    function calculateUrlReplacements(operationSpec, operationArguments, fallbackObject) {
-      const result = /* @__PURE__ */ new Map();
-      if (operationSpec.urlParameters?.length) {
-        for (const urlParameter of operationSpec.urlParameters) {
-          let urlParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, urlParameter, fallbackObject);
-          const parameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(urlParameter);
-          urlParameterValue = operationSpec.serializer.serialize(urlParameter.mapper, urlParameterValue, parameterPathString);
-          if (!urlParameter.skipEncoding) {
-            urlParameterValue = encodeURIComponent(urlParameterValue);
+    };
+    exports2.PageBlobUploadPagesFromURLHeaders = {
+      serializedName: "PageBlob_uploadPagesFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesFromURLHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          result.set(`{${urlParameter.mapper.serializedName || parameterPathString}}`, urlParameterValue);
         }
       }
-      return result;
-    }
-    function isAbsoluteUrl(url) {
-      return url.includes("://");
-    }
-    function appendPath(url, pathToAppend) {
-      if (!pathToAppend) {
-        return url;
-      }
-      const parsedUrl = new URL(url);
-      let newPath = parsedUrl.pathname;
-      if (!newPath.endsWith("/")) {
-        newPath = `${newPath}/`;
-      }
-      if (pathToAppend.startsWith("/")) {
-        pathToAppend = pathToAppend.substring(1);
-      }
-      const searchStart = pathToAppend.indexOf("?");
-      if (searchStart !== -1) {
-        const path3 = pathToAppend.substring(0, searchStart);
-        const search = pathToAppend.substring(searchStart + 1);
-        newPath = newPath + path3;
-        if (search) {
-          parsedUrl.search = parsedUrl.search ? `${parsedUrl.search}&${search}` : search;
+    };
+    exports2.PageBlobUploadPagesFromURLExceptionHeaders = {
+      serializedName: "PageBlob_uploadPagesFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUploadPagesFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
+          }
         }
-      } else {
-        newPath = newPath + pathToAppend;
       }
-      parsedUrl.pathname = newPath;
-      return parsedUrl.toString();
-    }
-    function calculateQueryParameters(operationSpec, operationArguments, fallbackObject) {
-      const result = /* @__PURE__ */ new Map();
-      const sequenceParams = /* @__PURE__ */ new Set();
-      if (operationSpec.queryParameters?.length) {
-        for (const queryParameter of operationSpec.queryParameters) {
-          if (queryParameter.mapper.type.name === "Sequence" && queryParameter.mapper.serializedName) {
-            sequenceParams.add(queryParameter.mapper.serializedName);
-          }
-          let queryParameterValue = (0, operationHelpers_js_1.getOperationArgumentValueFromParameter)(operationArguments, queryParameter, fallbackObject);
-          if (queryParameterValue !== void 0 && queryParameterValue !== null || queryParameter.mapper.required) {
-            queryParameterValue = operationSpec.serializer.serialize(queryParameter.mapper, queryParameterValue, (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter));
-            const delimiter = queryParameter.collectionFormat ? CollectionFormatToDelimiterMap[queryParameter.collectionFormat] : "";
-            if (Array.isArray(queryParameterValue)) {
-              queryParameterValue = queryParameterValue.map((item) => {
-                if (item === null || item === void 0) {
-                  return "";
-                }
-                return item;
-              });
+    };
+    exports2.PageBlobGetPageRangesHeaders = {
+      serializedName: "PageBlob_getPageRangesHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
             }
-            if (queryParameter.collectionFormat === "Multi" && queryParameterValue.length === 0) {
-              continue;
-            } else if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "SSV" || queryParameter.collectionFormat === "TSV")) {
-              queryParameterValue = queryParameterValue.join(delimiter);
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-            if (!queryParameter.skipEncoding) {
-              if (Array.isArray(queryParameterValue)) {
-                queryParameterValue = queryParameterValue.map((item) => {
-                  return encodeURIComponent(item);
-                });
-              } else {
-                queryParameterValue = encodeURIComponent(queryParameterValue);
-              }
+          },
+          blobContentLength: {
+            serializedName: "x-ms-blob-content-length",
+            xmlName: "x-ms-blob-content-length",
+            type: {
+              name: "Number"
             }
-            if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "CSV" || queryParameter.collectionFormat === "Pipes")) {
-              queryParameterValue = queryParameterValue.join(delimiter);
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            result.set(queryParameter.mapper.serializedName || (0, interfaceHelpers_js_1.getPathStringFromParameter)(queryParameter), queryParameterValue);
           }
         }
       }
-      return {
-        queryParams: result,
-        sequenceParams
-      };
-    }
-    function simpleParseQueryParams(queryString) {
-      const result = /* @__PURE__ */ new Map();
-      if (!queryString || queryString[0] !== "?") {
-        return result;
-      }
-      queryString = queryString.slice(1);
-      const pairs2 = queryString.split("&");
-      for (const pair of pairs2) {
-        const [name, value] = pair.split("=", 2);
-        const existingValue = result.get(name);
-        if (existingValue) {
-          if (Array.isArray(existingValue)) {
-            existingValue.push(value);
-          } else {
-            result.set(name, [existingValue, value]);
+    };
+    exports2.PageBlobGetPageRangesExceptionHeaders = {
+      serializedName: "PageBlob_getPageRangesExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          result.set(name, value);
         }
       }
-      return result;
-    }
-    function appendQueryParams(url, queryParams, sequenceParams, noOverwrite = false) {
-      if (queryParams.size === 0) {
-        return url;
-      }
-      const parsedUrl = new URL(url);
-      const combinedParams = simpleParseQueryParams(parsedUrl.search);
-      for (const [name, value] of queryParams) {
-        const existingValue = combinedParams.get(name);
-        if (Array.isArray(existingValue)) {
-          if (Array.isArray(value)) {
-            existingValue.push(...value);
-            const valueSet = new Set(existingValue);
-            combinedParams.set(name, Array.from(valueSet));
-          } else {
-            existingValue.push(value);
-          }
-        } else if (existingValue) {
-          if (Array.isArray(value)) {
-            value.unshift(existingValue);
-          } else if (sequenceParams.has(name)) {
-            combinedParams.set(name, [existingValue, value]);
-          }
-          if (!noOverwrite) {
-            combinedParams.set(name, value);
+    };
+    exports2.PageBlobGetPageRangesDiffHeaders = {
+      serializedName: "PageBlob_getPageRangesDiffHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesDiffHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentLength: {
+            serializedName: "x-ms-blob-content-length",
+            xmlName: "x-ms-blob-content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          combinedParams.set(name, value);
         }
       }
-      const searchPieces = [];
-      for (const [name, value] of combinedParams) {
-        if (typeof value === "string") {
-          searchPieces.push(`${name}=${value}`);
-        } else if (Array.isArray(value)) {
-          for (const subValue of value) {
-            searchPieces.push(`${name}=${subValue}`);
+    };
+    exports2.PageBlobGetPageRangesDiffExceptionHeaders = {
+      serializedName: "PageBlob_getPageRangesDiffExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobGetPageRangesDiffExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          searchPieces.push(`${name}=${value}`);
         }
       }
-      parsedUrl.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
-      return parsedUrl.toString();
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/log.js
-var require_log4 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs4();
-    exports2.logger = (0, logger_1.createClientLogger)("core-client");
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/serviceClient.js
-var require_serviceClient = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/serviceClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var pipeline_js_1 = require_pipeline3();
-    var utils_js_1 = require_utils6();
-    var httpClientCache_js_1 = require_httpClientCache();
-    var operationHelpers_js_1 = require_operationHelpers();
-    var urlHelpers_js_1 = require_urlHelpers2();
-    var interfaceHelpers_js_1 = require_interfaceHelpers();
-    var log_js_1 = require_log4();
-    var ServiceClient = class {
-      /**
-       * If specified, this is the base URI that requests will be made against for this ServiceClient.
-       * If it is not specified, then all OperationSpecs must contain a baseUrl property.
-       */
-      _endpoint;
-      /**
-       * The default request content type for the service.
-       * Used if no requestContentType is present on an OperationSpec.
-       */
-      _requestContentType;
-      /**
-       * Set to true if the request is sent over HTTP instead of HTTPS
-       */
-      _allowInsecureConnection;
-      /**
-       * The HTTP client that will be used to send requests.
-       */
-      _httpClient;
-      /**
-       * The pipeline used by this client to make requests
-       */
-      pipeline;
-      /**
-       * The ServiceClient constructor
-       * @param options - The service client options that govern the behavior of the client.
-       */
-      constructor(options = {}) {
-        this._requestContentType = options.requestContentType;
-        this._endpoint = options.endpoint ?? options.baseUri;
-        if (options.baseUri) {
-          log_js_1.logger.warning("The baseUri option for SDK Clients has been deprecated, please use endpoint instead.");
-        }
-        this._allowInsecureConnection = options.allowInsecureConnection;
-        this._httpClient = options.httpClient || (0, httpClientCache_js_1.getCachedDefaultHttpClient)();
-        this.pipeline = options.pipeline || createDefaultPipeline(options);
-        if (options.additionalPolicies?.length) {
-          for (const { policy, position } of options.additionalPolicies) {
-            const afterPhase = position === "perRetry" ? "Sign" : void 0;
-            this.pipeline.addPolicy(policy, {
-              afterPhase
-            });
+    };
+    exports2.PageBlobResizeHeaders = {
+      serializedName: "PageBlob_resizeHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobResizeHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      /**
-       * Send the provided httpRequest.
-       */
-      async sendRequest(request2) {
-        return this.pipeline.sendRequest(this._httpClient, request2);
-      }
-      /**
-       * Send an HTTP request that is populated using the provided OperationSpec.
-       * @typeParam T - The typed result of the request, based on the OperationSpec.
-       * @param operationArguments - The arguments that the HTTP request's templated values will be populated from.
-       * @param operationSpec - The OperationSpec to use to populate the httpRequest.
-       */
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const endpoint2 = operationSpec.baseUrl || this._endpoint;
-        if (!endpoint2) {
-          throw new Error("If operationSpec.baseUrl is not specified, then the ServiceClient must have a endpoint string property that contains the base URL to use.");
-        }
-        const url = (0, urlHelpers_js_1.getRequestUrl)(endpoint2, operationSpec, operationArguments, this);
-        const request2 = (0, core_rest_pipeline_1.createPipelineRequest)({
-          url
-        });
-        request2.method = operationSpec.httpMethod;
-        const operationInfo = (0, operationHelpers_js_1.getOperationRequestInfo)(request2);
-        operationInfo.operationSpec = operationSpec;
-        operationInfo.operationArguments = operationArguments;
-        const contentType = operationSpec.contentType || this._requestContentType;
-        if (contentType && operationSpec.requestBody) {
-          request2.headers.set("Content-Type", contentType);
+    };
+    exports2.PageBlobResizeExceptionHeaders = {
+      serializedName: "PageBlob_resizeExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobResizeExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        const options = operationArguments.options;
-        if (options) {
-          const requestOptions = options.requestOptions;
-          if (requestOptions) {
-            if (requestOptions.timeout) {
-              request2.timeout = requestOptions.timeout;
+      }
+    };
+    exports2.PageBlobUpdateSequenceNumberHeaders = {
+      serializedName: "PageBlob_updateSequenceNumberHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUpdateSequenceNumberHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobSequenceNumber: {
+            serializedName: "x-ms-blob-sequence-number",
+            xmlName: "x-ms-blob-sequence-number",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
             }
-            if (requestOptions.onUploadProgress) {
-              request2.onUploadProgress = requestOptions.onUploadProgress;
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
             }
-            if (requestOptions.onDownloadProgress) {
-              request2.onDownloadProgress = requestOptions.onDownloadProgress;
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
             }
-            if (requestOptions.shouldDeserialize !== void 0) {
-              operationInfo.shouldDeserialize = requestOptions.shouldDeserialize;
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
             }
-            if (requestOptions.allowInsecureConnection) {
-              request2.allowInsecureConnection = true;
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          if (options.abortSignal) {
-            request2.abortSignal = options.abortSignal;
-          }
-          if (options.tracingOptions) {
-            request2.tracingOptions = options.tracingOptions;
-          }
-        }
-        if (this._allowInsecureConnection) {
-          request2.allowInsecureConnection = true;
         }
-        if (request2.streamResponseStatusCodes === void 0) {
-          request2.streamResponseStatusCodes = (0, interfaceHelpers_js_1.getStreamingResponseStatusCodes)(operationSpec);
-        }
-        try {
-          const rawResponse = await this.sendRequest(request2);
-          const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[rawResponse.status]);
-          if (options?.onResponse) {
-            options.onResponse(rawResponse, flatResponse);
-          }
-          return flatResponse;
-        } catch (error3) {
-          if (typeof error3 === "object" && error3?.response) {
-            const rawResponse = error3.response;
-            const flatResponse = (0, utils_js_1.flattenResponse)(rawResponse, operationSpec.responses[error3.statusCode] || operationSpec.responses["default"]);
-            error3.details = flatResponse;
-            if (options?.onResponse) {
-              options.onResponse(rawResponse, flatResponse, error3);
+      }
+    };
+    exports2.PageBlobUpdateSequenceNumberExceptionHeaders = {
+      serializedName: "PageBlob_updateSequenceNumberExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobUpdateSequenceNumberExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
-          throw error3;
         }
       }
     };
-    exports2.ServiceClient = ServiceClient;
-    function createDefaultPipeline(options) {
-      const credentialScopes = getCredentialScopes(options);
-      const credentialOptions = options.credential && credentialScopes ? { credentialScopes, credential: options.credential } : void 0;
-      return (0, pipeline_js_1.createClientPipeline)({
-        ...options,
-        credentialOptions
-      });
-    }
-    function getCredentialScopes(options) {
-      if (options.credentialScopes) {
-        return options.credentialScopes;
-      }
-      if (options.endpoint) {
-        return `${options.endpoint}/.default`;
-      }
-      if (options.baseUri) {
-        return `${options.baseUri}/.default`;
-      }
-      if (options.credential && !options.credentialScopes) {
-        throw new Error(`When using credentials, the ServiceClientOptions must contain either a endpoint or a credentialScopes. Unable to create a bearerTokenAuthenticationPolicy`);
-      }
-      return void 0;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js
-var require_authorizeRequestOnClaimChallenge = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnClaimChallenge.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseCAEChallenge = parseCAEChallenge;
-    exports2.authorizeRequestOnClaimChallenge = authorizeRequestOnClaimChallenge;
-    var log_js_1 = require_log4();
-    var base64_js_1 = require_base642();
-    function parseCAEChallenge(challenges) {
-      const bearerChallenges = `, ${challenges.trim()}`.split(", Bearer ").filter((x) => x);
-      return bearerChallenges.map((challenge) => {
-        const challengeParts = `${challenge.trim()}, `.split('", ').filter((x) => x);
-        const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split('="')));
-        return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
-      });
-    }
-    async function authorizeRequestOnClaimChallenge(onChallengeOptions) {
-      const { scopes, response } = onChallengeOptions;
-      const logger = onChallengeOptions.logger || log_js_1.logger;
-      const challenge = response.headers.get("WWW-Authenticate");
-      if (!challenge) {
-        logger.info(`The WWW-Authenticate header was missing. Failed to perform the Continuous Access Evaluation authentication flow.`);
-        return false;
-      }
-      const challenges = parseCAEChallenge(challenge) || [];
-      const parsedChallenge = challenges.find((x) => x.claims);
-      if (!parsedChallenge) {
-        logger.info(`The WWW-Authenticate header was missing the necessary "claims" to perform the Continuous Access Evaluation authentication flow.`);
-        return false;
-      }
-      const accessToken = await onChallengeOptions.getAccessToken(parsedChallenge.scope ? [parsedChallenge.scope] : scopes, {
-        claims: (0, base64_js_1.decodeStringToString)(parsedChallenge.claims)
-      });
-      if (!accessToken) {
-        return false;
-      }
-      onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
-      return true;
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js
-var require_authorizeRequestOnTenantChallenge = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.authorizeRequestOnTenantChallenge = void 0;
-    var Constants = {
-      DefaultScope: "/.default",
-      /**
-       * Defines constants for use with HTTP headers.
-       */
-      HeaderConstants: {
-        /**
-         * The Authorization header.
-         */
-        AUTHORIZATION: "authorization"
-      }
-    };
-    function isUuid(text) {
-      return /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/.test(text);
-    }
-    var authorizeRequestOnTenantChallenge = async (challengeOptions) => {
-      const requestOptions = requestToOptions(challengeOptions.request);
-      const challenge = getChallenge(challengeOptions.response);
-      if (challenge) {
-        const challengeInfo = parseChallenge(challenge);
-        const challengeScopes = buildScopes(challengeOptions, challengeInfo);
-        const tenantId = extractTenantId(challengeInfo);
-        if (!tenantId) {
-          return false;
-        }
-        const accessToken = await challengeOptions.getAccessToken(challengeScopes, {
-          ...requestOptions,
-          tenantId
-        });
-        if (!accessToken) {
-          return false;
+    exports2.PageBlobCopyIncrementalHeaders = {
+      serializedName: "PageBlob_copyIncrementalHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCopyIncrementalHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          copyId: {
+            serializedName: "x-ms-copy-id",
+            xmlName: "x-ms-copy-id",
+            type: {
+              name: "String"
+            }
+          },
+          copyStatus: {
+            serializedName: "x-ms-copy-status",
+            xmlName: "x-ms-copy-status",
+            type: {
+              name: "Enum",
+              allowedValues: ["pending", "success", "aborted", "failed"]
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        challengeOptions.request.headers.set(Constants.HeaderConstants.AUTHORIZATION, `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
-        return true;
       }
-      return false;
     };
-    exports2.authorizeRequestOnTenantChallenge = authorizeRequestOnTenantChallenge;
-    function extractTenantId(challengeInfo) {
-      const parsedAuthUri = new URL(challengeInfo.authorization_uri);
-      const pathSegments = parsedAuthUri.pathname.split("/");
-      const tenantId = pathSegments[1];
-      if (tenantId && isUuid(tenantId)) {
-        return tenantId;
-      }
-      return void 0;
-    }
-    function buildScopes(challengeOptions, challengeInfo) {
-      if (!challengeInfo.resource_id) {
-        return challengeOptions.scopes;
-      }
-      const challengeScopes = new URL(challengeInfo.resource_id);
-      challengeScopes.pathname = Constants.DefaultScope;
-      let scope = challengeScopes.toString();
-      if (scope === "https://disk.azure.com/.default") {
-        scope = "https://disk.azure.com//.default";
-      }
-      return [scope];
-    }
-    function getChallenge(response) {
-      const challenge = response.headers.get("WWW-Authenticate");
-      if (response.status === 401 && challenge) {
-        return challenge;
-      }
-      return;
-    }
-    function parseChallenge(challenge) {
-      const bearerChallenge = challenge.slice("Bearer ".length);
-      const challengeParts = `${bearerChallenge.trim()} `.split(" ").filter((x) => x);
-      const keyValuePairs = challengeParts.map((keyValue) => (([key, value]) => ({ [key]: value }))(keyValue.trim().split("=")));
-      return keyValuePairs.reduce((a, b) => ({ ...a, ...b }), {});
-    }
-    function requestToOptions(request2) {
-      return {
-        abortSignal: request2.abortSignal,
-        requestOptions: {
-          timeout: request2.timeout
-        },
-        tracingOptions: request2.tracingOptions
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-client/dist/commonjs/index.js
-var require_commonjs10 = __commonJS({
-  "node_modules/@azure/core-client/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.authorizeRequestOnTenantChallenge = exports2.authorizeRequestOnClaimChallenge = exports2.serializationPolicyName = exports2.serializationPolicy = exports2.deserializationPolicyName = exports2.deserializationPolicy = exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.createClientPipeline = exports2.ServiceClient = exports2.MapperTypeNames = exports2.createSerializer = void 0;
-    var serializer_js_1 = require_serializer();
-    Object.defineProperty(exports2, "createSerializer", { enumerable: true, get: function() {
-      return serializer_js_1.createSerializer;
-    } });
-    Object.defineProperty(exports2, "MapperTypeNames", { enumerable: true, get: function() {
-      return serializer_js_1.MapperTypeNames;
-    } });
-    var serviceClient_js_1 = require_serviceClient();
-    Object.defineProperty(exports2, "ServiceClient", { enumerable: true, get: function() {
-      return serviceClient_js_1.ServiceClient;
-    } });
-    var pipeline_js_1 = require_pipeline3();
-    Object.defineProperty(exports2, "createClientPipeline", { enumerable: true, get: function() {
-      return pipeline_js_1.createClientPipeline;
-    } });
-    var interfaces_js_1 = require_interfaces();
-    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
-      return interfaces_js_1.XML_ATTRKEY;
-    } });
-    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
-      return interfaces_js_1.XML_CHARKEY;
-    } });
-    var deserializationPolicy_js_1 = require_deserializationPolicy();
-    Object.defineProperty(exports2, "deserializationPolicy", { enumerable: true, get: function() {
-      return deserializationPolicy_js_1.deserializationPolicy;
-    } });
-    Object.defineProperty(exports2, "deserializationPolicyName", { enumerable: true, get: function() {
-      return deserializationPolicy_js_1.deserializationPolicyName;
-    } });
-    var serializationPolicy_js_1 = require_serializationPolicy();
-    Object.defineProperty(exports2, "serializationPolicy", { enumerable: true, get: function() {
-      return serializationPolicy_js_1.serializationPolicy;
-    } });
-    Object.defineProperty(exports2, "serializationPolicyName", { enumerable: true, get: function() {
-      return serializationPolicy_js_1.serializationPolicyName;
-    } });
-    var authorizeRequestOnClaimChallenge_js_1 = require_authorizeRequestOnClaimChallenge();
-    Object.defineProperty(exports2, "authorizeRequestOnClaimChallenge", { enumerable: true, get: function() {
-      return authorizeRequestOnClaimChallenge_js_1.authorizeRequestOnClaimChallenge;
-    } });
-    var authorizeRequestOnTenantChallenge_js_1 = require_authorizeRequestOnTenantChallenge();
-    Object.defineProperty(exports2, "authorizeRequestOnTenantChallenge", { enumerable: true, get: function() {
-      return authorizeRequestOnTenantChallenge_js_1.authorizeRequestOnTenantChallenge;
-    } });
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util17 = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.HttpHeaders = void 0;
-    exports2.toPipelineRequest = toPipelineRequest;
-    exports2.toWebResourceLike = toWebResourceLike;
-    exports2.toHttpHeadersLike = toHttpHeadersLike;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var originalRequestSymbol = /* @__PURE__ */ Symbol("Original PipelineRequest");
-    var originalClientRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
-    function toPipelineRequest(webResource, options = {}) {
-      const compatWebResource = webResource;
-      const request2 = compatWebResource[originalRequestSymbol];
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(webResource.headers.toJson({ preserveCase: true }));
-      if (request2) {
-        request2.headers = headers;
-        return request2;
-      } else {
-        const newRequest = (0, core_rest_pipeline_1.createPipelineRequest)({
-          url: webResource.url,
-          method: webResource.method,
-          headers,
-          withCredentials: webResource.withCredentials,
-          timeout: webResource.timeout,
-          requestId: webResource.requestId,
-          abortSignal: webResource.abortSignal,
-          body: webResource.body,
-          formData: webResource.formData,
-          disableKeepAlive: !!webResource.keepAlive,
-          onDownloadProgress: webResource.onDownloadProgress,
-          onUploadProgress: webResource.onUploadProgress,
-          proxySettings: webResource.proxySettings,
-          streamResponseStatusCodes: webResource.streamResponseStatusCodes,
-          agent: webResource.agent,
-          requestOverrides: webResource.requestOverrides
-        });
-        if (options.originalRequest) {
-          newRequest[originalClientRequestSymbol] = options.originalRequest;
+    exports2.PageBlobCopyIncrementalExceptionHeaders = {
+      serializedName: "PageBlob_copyIncrementalExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "PageBlobCopyIncrementalExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return newRequest;
       }
-    }
-    function toWebResourceLike(request2, options) {
-      const originalRequest = options?.originalRequest ?? request2;
-      const webResource = {
-        url: request2.url,
-        method: request2.method,
-        headers: toHttpHeadersLike(request2.headers),
-        withCredentials: request2.withCredentials,
-        timeout: request2.timeout,
-        requestId: request2.headers.get("x-ms-client-request-id") || request2.requestId,
-        abortSignal: request2.abortSignal,
-        body: request2.body,
-        formData: request2.formData,
-        keepAlive: !!request2.disableKeepAlive,
-        onDownloadProgress: request2.onDownloadProgress,
-        onUploadProgress: request2.onUploadProgress,
-        proxySettings: request2.proxySettings,
-        streamResponseStatusCodes: request2.streamResponseStatusCodes,
-        agent: request2.agent,
-        requestOverrides: request2.requestOverrides,
-        clone() {
-          throw new Error("Cannot clone a non-proxied WebResourceLike");
-        },
-        prepare() {
-          throw new Error("WebResourceLike.prepare() is not supported by @azure/core-http-compat");
-        },
-        validateRequestProperties() {
-        }
-      };
-      if (options?.createProxy) {
-        return new Proxy(webResource, {
-          get(target, prop, receiver) {
-            if (prop === originalRequestSymbol) {
-              return request2;
-            } else if (prop === "clone") {
-              return () => {
-                return toWebResourceLike(toPipelineRequest(webResource, { originalRequest }), {
-                  createProxy: true,
-                  originalRequest
-                });
-              };
+    };
+    exports2.AppendBlobCreateHeaders = {
+      serializedName: "AppendBlob_createHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobCreateHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
             }
-            return Reflect.get(target, prop, receiver);
           },
-          set(target, prop, value, receiver) {
-            if (prop === "keepAlive") {
-              request2.disableKeepAlive = !value;
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
             }
-            const passThroughProps = [
-              "url",
-              "method",
-              "withCredentials",
-              "timeout",
-              "requestId",
-              "abortSignal",
-              "body",
-              "formData",
-              "onDownloadProgress",
-              "onUploadProgress",
-              "proxySettings",
-              "streamResponseStatusCodes",
-              "agent",
-              "requestOverrides"
-            ];
-            if (typeof prop === "string" && passThroughProps.includes(prop)) {
-              request2[prop] = value;
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            return Reflect.set(target, prop, value, receiver);
           }
-        });
-      } else {
-        return webResource;
+        }
       }
-    }
-    function toHttpHeadersLike(headers) {
-      return new HttpHeaders(headers.toJSON({ preserveCase: true }));
-    }
-    function getHeaderKey(headerName) {
-      return headerName.toLowerCase();
-    }
-    var HttpHeaders = class _HttpHeaders {
-      _headersMap;
-      constructor(rawHeaders) {
-        this._headersMap = {};
-        if (rawHeaders) {
-          for (const headerName in rawHeaders) {
-            this.set(headerName, rawHeaders[headerName]);
+    };
+    exports2.AppendBlobCreateExceptionHeaders = {
+      serializedName: "AppendBlob_createExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobCreateExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
       }
-      /**
-       * Set a header in this collection with the provided name and value. The name is
-       * case-insensitive.
-       * @param headerName - The name of the header to set. This value is case-insensitive.
-       * @param headerValue - The value of the header to set.
-       */
-      set(headerName, headerValue) {
-        this._headersMap[getHeaderKey(headerName)] = {
-          name: headerName,
-          value: headerValue.toString()
-        };
-      }
-      /**
-       * Get the header value for the provided header name, or undefined if no header exists in this
-       * collection with the provided name.
-       * @param headerName - The name of the header.
-       */
-      get(headerName) {
-        const header = this._headersMap[getHeaderKey(headerName)];
-        return !header ? void 0 : header.value;
-      }
-      /**
-       * Get whether or not this header collection contains a header entry for the provided header name.
-       */
-      contains(headerName) {
-        return !!this._headersMap[getHeaderKey(headerName)];
-      }
-      /**
-       * Remove the header with the provided headerName. Return whether or not the header existed and
-       * was removed.
-       * @param headerName - The name of the header to remove.
-       */
-      remove(headerName) {
-        const result = this.contains(headerName);
-        delete this._headersMap[getHeaderKey(headerName)];
-        return result;
+    };
+    exports2.AppendBlobAppendBlockHeaders = {
+      serializedName: "AppendBlob_appendBlockHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobAppendOffset: {
+            serializedName: "x-ms-blob-append-offset",
+            xmlName: "x-ms-blob-append-offset",
+            type: {
+              name: "String"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      /**
-       * Get the headers that are contained this collection as an object.
-       */
-      rawHeaders() {
-        return this.toJson({ preserveCase: true });
+    };
+    exports2.AppendBlobAppendBlockExceptionHeaders = {
+      serializedName: "AppendBlob_appendBlockExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
+        }
       }
-      /**
-       * Get the headers that are contained in this collection as an array.
-       */
-      headersArray() {
-        const headers = [];
-        for (const headerKey in this._headersMap) {
-          headers.push(this._headersMap[headerKey]);
+    };
+    exports2.AppendBlobAppendBlockFromUrlHeaders = {
+      serializedName: "AppendBlob_appendBlockFromUrlHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockFromUrlHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          blobAppendOffset: {
+            serializedName: "x-ms-blob-append-offset",
+            xmlName: "x-ms-blob-append-offset",
+            type: {
+              name: "String"
+            }
+          },
+          blobCommittedBlockCount: {
+            serializedName: "x-ms-blob-committed-block-count",
+            xmlName: "x-ms-blob-committed-block-count",
+            type: {
+              name: "Number"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return headers;
       }
-      /**
-       * Get the header names that are contained in this collection.
-       */
-      headerNames() {
-        const headerNames = [];
-        const headers = this.headersArray();
-        for (let i = 0; i < headers.length; ++i) {
-          headerNames.push(headers[i].name);
+    };
+    exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = {
+      serializedName: "AppendBlob_appendBlockFromUrlExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobAppendBlockFromUrlExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
+          }
         }
-        return headerNames;
       }
-      /**
-       * Get the header values that are contained in this collection.
-       */
-      headerValues() {
-        const headerValues = [];
-        const headers = this.headersArray();
-        for (let i = 0; i < headers.length; ++i) {
-          headerValues.push(headers[i].value);
+    };
+    exports2.AppendBlobSealHeaders = {
+      serializedName: "AppendBlob_sealHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobSealHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isSealed: {
+            serializedName: "x-ms-blob-sealed",
+            xmlName: "x-ms-blob-sealed",
+            type: {
+              name: "Boolean"
+            }
+          }
         }
-        return headerValues;
       }
-      /**
-       * Get the JSON object representation of this HTTP header collection.
-       */
-      toJson(options = {}) {
-        const result = {};
-        if (options.preserveCase) {
-          for (const headerKey in this._headersMap) {
-            const header = this._headersMap[headerKey];
-            result[header.name] = header.value;
+    };
+    exports2.AppendBlobSealExceptionHeaders = {
+      serializedName: "AppendBlob_sealExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "AppendBlobSealExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-        } else {
-          for (const headerKey in this._headersMap) {
-            const header = this._headersMap[headerKey];
-            result[getHeaderKey(header.name)] = header.value;
+        }
+      }
+    };
+    exports2.BlockBlobUploadHeaders = {
+      serializedName: "BlockBlob_uploadHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobUploadHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return result;
-      }
-      /**
-       * Get the string representation of this HTTP header collection.
-       */
-      toString() {
-        return JSON.stringify(this.toJson({ preserveCase: true }));
       }
-      /**
-       * Create a deep clone/copy of this HttpHeaders collection.
-       */
-      clone() {
-        const resultPreservingCasing = {};
-        for (const headerKey in this._headersMap) {
-          const header = this._headersMap[headerKey];
-          resultPreservingCasing[header.name] = header.value;
+    };
+    exports2.BlockBlobUploadExceptionHeaders = {
+      serializedName: "BlockBlob_uploadExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobUploadExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          }
         }
-        return new _HttpHeaders(resultPreservingCasing);
       }
     };
-    exports2.HttpHeaders = HttpHeaders;
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/response.js
-var require_response3 = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/response.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.toCompatResponse = toCompatResponse;
-    exports2.toPipelineResponse = toPipelineResponse;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var util_js_1 = require_util17();
-    var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
-    function toCompatResponse(response, options) {
-      let request2 = (0, util_js_1.toWebResourceLike)(response.request);
-      let headers = (0, util_js_1.toHttpHeadersLike)(response.headers);
-      if (options?.createProxy) {
-        return new Proxy(response, {
-          get(target, prop, receiver) {
-            if (prop === "headers") {
-              return headers;
-            } else if (prop === "request") {
-              return request2;
-            } else if (prop === originalResponse) {
-              return response;
+    exports2.BlockBlobPutBlobFromUrlHeaders = {
+      serializedName: "BlockBlob_putBlobFromUrlHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobPutBlobFromUrlHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
             }
-            return Reflect.get(target, prop, receiver);
           },
-          set(target, prop, value, receiver) {
-            if (prop === "headers") {
-              headers = value;
-            } else if (prop === "request") {
-              request2 = value;
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            return Reflect.set(target, prop, value, receiver);
-          }
-        });
-      } else {
-        return {
-          ...response,
-          request: request2,
-          headers
-        };
-      }
-    }
-    function toPipelineResponse(compatResponse) {
-      const extendedCompatResponse = compatResponse;
-      const response = extendedCompatResponse[originalResponse];
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)(compatResponse.headers.toJson({ preserveCase: true }));
-      if (response) {
-        response.headers = headers;
-        return response;
-      } else {
-        return {
-          ...compatResponse,
-          headers,
-          request: (0, util_js_1.toPipelineRequest)(compatResponse.request)
-        };
-      }
-    }
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js
-var require_extendedClient = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/extendedClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ExtendedServiceClient = void 0;
-    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_client_1 = require_commonjs10();
-    var response_js_1 = require_response3();
-    var ExtendedServiceClient = class extends core_client_1.ServiceClient {
-      constructor(options) {
-        super(options);
-        if (options.keepAliveOptions?.enable === false && !(0, disableKeepAlivePolicy_js_1.pipelineContainsDisableKeepAlivePolicy)(this.pipeline)) {
-          this.pipeline.addPolicy((0, disableKeepAlivePolicy_js_1.createDisableKeepAlivePolicy)());
-        }
-        if (options.redirectOptions?.handleRedirects === false) {
-          this.pipeline.removePolicy({
-            name: core_rest_pipeline_1.redirectPolicyName
-          });
-        }
-      }
-      /**
-       * Compatible send operation request function.
-       *
-       * @param operationArguments - Operation arguments
-       * @param operationSpec - Operation Spec
-       * @returns
-       */
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const userProvidedCallBack = operationArguments?.options?.onResponse;
-        let lastResponse;
-        function onResponse(rawResponse, flatResponse, error3) {
-          lastResponse = rawResponse;
-          if (userProvidedCallBack) {
-            userProvidedCallBack(rawResponse, flatResponse, error3);
           }
         }
-        operationArguments.options = {
-          ...operationArguments.options,
-          onResponse
-        };
-        const result = await super.sendOperationRequest(operationArguments, operationSpec);
-        if (lastResponse) {
-          Object.defineProperty(result, "_response", {
-            value: (0, response_js_1.toCompatResponse)(lastResponse)
-          });
-        }
-        return result;
-      }
-    };
-    exports2.ExtendedServiceClient = ExtendedServiceClient;
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js
-var require_requestPolicyFactoryPolicy = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/policies/requestPolicyFactoryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
-    exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util17();
-    var response_js_1 = require_response3();
-    var HttpPipelineLogLevel;
-    (function(HttpPipelineLogLevel2) {
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["ERROR"] = 1] = "ERROR";
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["INFO"] = 3] = "INFO";
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["OFF"] = 0] = "OFF";
-      HttpPipelineLogLevel2[HttpPipelineLogLevel2["WARNING"] = 2] = "WARNING";
-    })(HttpPipelineLogLevel || (exports2.HttpPipelineLogLevel = HttpPipelineLogLevel = {}));
-    var mockRequestPolicyOptions = {
-      log(_logLevel, _message) {
-      },
-      shouldLog(_logLevel) {
-        return false;
       }
     };
-    exports2.requestPolicyFactoryPolicyName = "RequestPolicyFactoryPolicy";
-    function createRequestPolicyFactoryPolicy(factories) {
-      const orderedFactories = factories.slice().reverse();
-      return {
-        name: exports2.requestPolicyFactoryPolicyName,
-        async sendRequest(request2, next) {
-          let httpPipeline = {
-            async sendRequest(httpRequest) {
-              const response2 = await next((0, util_js_1.toPipelineRequest)(httpRequest));
-              return (0, response_js_1.toCompatResponse)(response2, { createProxy: true });
+    exports2.BlockBlobPutBlobFromUrlExceptionHeaders = {
+      serializedName: "BlockBlob_putBlobFromUrlExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobPutBlobFromUrlExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
             }
-          };
-          for (const factory of orderedFactories) {
-            httpPipeline = factory.create(httpPipeline, mockRequestPolicyOptions);
           }
-          const webResourceLike = (0, util_js_1.toWebResourceLike)(request2, { createProxy: true });
-          const response = await httpPipeline.sendRequest(webResourceLike);
-          return (0, response_js_1.toPipelineResponse)(response);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js
-var require_httpClientAdapter = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/httpClientAdapter.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.convertHttpClient = convertHttpClient;
-    var response_js_1 = require_response3();
-    var util_js_1 = require_util17();
-    function convertHttpClient(requestPolicyClient) {
-      return {
-        sendRequest: async (request2) => {
-          const response = await requestPolicyClient.sendRequest((0, util_js_1.toWebResourceLike)(request2, { createProxy: true }));
-          return (0, response_js_1.toPipelineResponse)(response);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/core-http-compat/dist/commonjs/index.js
-var require_commonjs11 = __commonJS({
-  "node_modules/@azure/core-http-compat/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.toHttpHeadersLike = exports2.convertHttpClient = exports2.disableKeepAlivePolicyName = exports2.HttpPipelineLogLevel = exports2.createRequestPolicyFactoryPolicy = exports2.requestPolicyFactoryPolicyName = exports2.ExtendedServiceClient = void 0;
-    var extendedClient_js_1 = require_extendedClient();
-    Object.defineProperty(exports2, "ExtendedServiceClient", { enumerable: true, get: function() {
-      return extendedClient_js_1.ExtendedServiceClient;
-    } });
-    var requestPolicyFactoryPolicy_js_1 = require_requestPolicyFactoryPolicy();
-    Object.defineProperty(exports2, "requestPolicyFactoryPolicyName", { enumerable: true, get: function() {
-      return requestPolicyFactoryPolicy_js_1.requestPolicyFactoryPolicyName;
-    } });
-    Object.defineProperty(exports2, "createRequestPolicyFactoryPolicy", { enumerable: true, get: function() {
-      return requestPolicyFactoryPolicy_js_1.createRequestPolicyFactoryPolicy;
-    } });
-    Object.defineProperty(exports2, "HttpPipelineLogLevel", { enumerable: true, get: function() {
-      return requestPolicyFactoryPolicy_js_1.HttpPipelineLogLevel;
-    } });
-    var disableKeepAlivePolicy_js_1 = require_disableKeepAlivePolicy();
-    Object.defineProperty(exports2, "disableKeepAlivePolicyName", { enumerable: true, get: function() {
-      return disableKeepAlivePolicy_js_1.disableKeepAlivePolicyName;
-    } });
-    var httpClientAdapter_js_1 = require_httpClientAdapter();
-    Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
-      return httpClientAdapter_js_1.convertHttpClient;
-    } });
-    var util_js_1 = require_util17();
-    Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
-      return util_js_1.toHttpHeadersLike;
-    } });
-  }
-});
-
-// node_modules/fast-xml-parser/lib/fxp.cjs
-var require_fxp = __commonJS({
-  "node_modules/fast-xml-parser/lib/fxp.cjs"(exports2, module2) {
-    (() => {
-      "use strict";
-      var t = { d: (e2, i2) => {
-        for (var n2 in i2) t.o(i2, n2) && !t.o(e2, n2) && Object.defineProperty(e2, n2, { enumerable: true, get: i2[n2] });
-      }, o: (t2, e2) => Object.prototype.hasOwnProperty.call(t2, e2), r: (t2) => {
-        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t2, "__esModule", { value: true });
-      } }, e = {};
-      t.r(e), t.d(e, { XMLBuilder: () => ut, XMLParser: () => et, XMLValidator: () => ft });
-      const i = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", n = new RegExp("^[" + i + "][" + i + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");
-      function s(t2, e2) {
-        const i2 = [];
-        let n2 = e2.exec(t2);
-        for (; n2; ) {
-          const s2 = [];
-          s2.startIndex = e2.lastIndex - n2[0].length;
-          const r2 = n2.length;
-          for (let t3 = 0; t3 < r2; t3++) s2.push(n2[t3]);
-          i2.push(s2), n2 = e2.exec(t2);
         }
-        return i2;
       }
-      const r = function(t2) {
-        return !(null == n.exec(t2));
-      }, o = { allowBooleanAttributes: false, unpairedTags: [] };
-      function a(t2, e2) {
-        e2 = Object.assign({}, o, e2);
-        const i2 = [];
-        let n2 = false, s2 = false;
-        "\uFEFF" === t2[0] && (t2 = t2.substr(1));
-        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2] && "?" === t2[o2 + 1]) {
-          if (o2 += 2, o2 = u(t2, o2), o2.err) return o2;
-        } else {
-          if ("<" !== t2[o2]) {
-            if (l(t2[o2])) continue;
-            return x("InvalidChar", "char '" + t2[o2] + "' is not expected.", b(t2, o2));
-          }
-          {
-            let a2 = o2;
-            if (o2++, "!" === t2[o2]) {
-              o2 = h(t2, o2);
-              continue;
+    };
+    exports2.BlockBlobStageBlockHeaders = {
+      serializedName: "BlockBlob_stageBlockHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockHeaders",
+        modelProperties: {
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
             }
-            {
-              let d2 = false;
-              "/" === t2[o2] && (d2 = true, o2++);
-              let p2 = "";
-              for (; o2 < t2.length && ">" !== t2[o2] && " " !== t2[o2] && "	" !== t2[o2] && "\n" !== t2[o2] && "\r" !== t2[o2]; o2++) p2 += t2[o2];
-              if (p2 = p2.trim(), "/" === p2[p2.length - 1] && (p2 = p2.substring(0, p2.length - 1), o2--), !r(p2)) {
-                let e3;
-                return e3 = 0 === p2.trim().length ? "Invalid space after '<'." : "Tag '" + p2 + "' is an invalid name.", x("InvalidTag", e3, b(t2, o2));
-              }
-              const c2 = f(t2, o2);
-              if (false === c2) return x("InvalidAttr", "Attributes for '" + p2 + "' have open quote.", b(t2, o2));
-              let N2 = c2.value;
-              if (o2 = c2.index, "/" === N2[N2.length - 1]) {
-                const i3 = o2 - N2.length;
-                N2 = N2.substring(0, N2.length - 1);
-                const s3 = g(N2, e2);
-                if (true !== s3) return x(s3.err.code, s3.err.msg, b(t2, i3 + s3.err.line));
-                n2 = true;
-              } else if (d2) {
-                if (!c2.tagClosed) return x("InvalidTag", "Closing tag '" + p2 + "' doesn't have proper closing.", b(t2, o2));
-                if (N2.trim().length > 0) return x("InvalidTag", "Closing tag '" + p2 + "' can't have attributes or invalid starting.", b(t2, a2));
-                if (0 === i2.length) return x("InvalidTag", "Closing tag '" + p2 + "' has not been opened.", b(t2, a2));
-                {
-                  const e3 = i2.pop();
-                  if (p2 !== e3.tagName) {
-                    let i3 = b(t2, e3.tagStartPos);
-                    return x("InvalidTag", "Expected closing tag '" + e3.tagName + "' (opened in line " + i3.line + ", col " + i3.col + ") instead of closing tag '" + p2 + "'.", b(t2, a2));
-                  }
-                  0 == i2.length && (s2 = true);
-                }
-              } else {
-                const r2 = g(N2, e2);
-                if (true !== r2) return x(r2.err.code, r2.err.msg, b(t2, o2 - N2.length + r2.err.line));
-                if (true === s2) return x("InvalidXml", "Multiple possible root nodes found.", b(t2, o2));
-                -1 !== e2.unpairedTags.indexOf(p2) || i2.push({ tagName: p2, tagStartPos: a2 }), n2 = true;
-              }
-              for (o2++; o2 < t2.length; o2++) if ("<" === t2[o2]) {
-                if ("!" === t2[o2 + 1]) {
-                  o2++, o2 = h(t2, o2);
-                  continue;
-                }
-                if ("?" !== t2[o2 + 1]) break;
-                if (o2 = u(t2, ++o2), o2.err) return o2;
-              } else if ("&" === t2[o2]) {
-                const e3 = m(t2, o2);
-                if (-1 == e3) return x("InvalidChar", "char '&' is not expected.", b(t2, o2));
-                o2 = e3;
-              } else if (true === s2 && !l(t2[o2])) return x("InvalidXml", "Extra text at the end", b(t2, o2));
-              "<" === t2[o2] && o2--;
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
-        return n2 ? 1 == i2.length ? x("InvalidTag", "Unclosed tag '" + i2[0].tagName + "'.", b(t2, i2[0].tagStartPos)) : !(i2.length > 0) || x("InvalidXml", "Invalid '" + JSON.stringify(i2.map(((t3) => t3.tagName)), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }) : x("InvalidXml", "Start tag expected.", 1);
       }
-      function l(t2) {
-        return " " === t2 || "	" === t2 || "\n" === t2 || "\r" === t2;
-      }
-      function u(t2, e2) {
-        const i2 = e2;
-        for (; e2 < t2.length; e2++) if ("?" != t2[e2] && " " != t2[e2]) ;
-        else {
-          const n2 = t2.substr(i2, e2 - i2);
-          if (e2 > 5 && "xml" === n2) return x("InvalidXml", "XML declaration allowed only at the start of the document.", b(t2, e2));
-          if ("?" == t2[e2] && ">" == t2[e2 + 1]) {
-            e2++;
-            break;
+    };
+    exports2.BlockBlobStageBlockExceptionHeaders = {
+      serializedName: "BlockBlob_stageBlockExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return e2;
       }
-      function h(t2, e2) {
-        if (t2.length > e2 + 5 && "-" === t2[e2 + 1] && "-" === t2[e2 + 2]) {
-          for (e2 += 3; e2 < t2.length; e2++) if ("-" === t2[e2] && "-" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
-            e2 += 2;
-            break;
-          }
-        } else if (t2.length > e2 + 8 && "D" === t2[e2 + 1] && "O" === t2[e2 + 2] && "C" === t2[e2 + 3] && "T" === t2[e2 + 4] && "Y" === t2[e2 + 5] && "P" === t2[e2 + 6] && "E" === t2[e2 + 7]) {
-          let i2 = 1;
-          for (e2 += 8; e2 < t2.length; e2++) if ("<" === t2[e2]) i2++;
-          else if (">" === t2[e2] && (i2--, 0 === i2)) break;
-        } else if (t2.length > e2 + 9 && "[" === t2[e2 + 1] && "C" === t2[e2 + 2] && "D" === t2[e2 + 3] && "A" === t2[e2 + 4] && "T" === t2[e2 + 5] && "A" === t2[e2 + 6] && "[" === t2[e2 + 7]) {
-          for (e2 += 8; e2 < t2.length; e2++) if ("]" === t2[e2] && "]" === t2[e2 + 1] && ">" === t2[e2 + 2]) {
-            e2 += 2;
-            break;
+    };
+    exports2.BlockBlobStageBlockFromURLHeaders = {
+      serializedName: "BlockBlob_stageBlockFromURLHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockFromURLHeaders",
+        modelProperties: {
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
         }
-        return e2;
       }
-      const d = '"', p = "'";
-      function f(t2, e2) {
-        let i2 = "", n2 = "", s2 = false;
-        for (; e2 < t2.length; e2++) {
-          if (t2[e2] === d || t2[e2] === p) "" === n2 ? n2 = t2[e2] : n2 !== t2[e2] || (n2 = "");
-          else if (">" === t2[e2] && "" === n2) {
-            s2 = true;
-            break;
+    };
+    exports2.BlockBlobStageBlockFromURLExceptionHeaders = {
+      serializedName: "BlockBlob_stageBlockFromURLExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobStageBlockFromURLExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceErrorCode: {
+            serializedName: "x-ms-copy-source-error-code",
+            xmlName: "x-ms-copy-source-error-code",
+            type: {
+              name: "String"
+            }
+          },
+          copySourceStatusCode: {
+            serializedName: "x-ms-copy-source-status-code",
+            xmlName: "x-ms-copy-source-status-code",
+            type: {
+              name: "Number"
+            }
           }
-          i2 += t2[e2];
-        }
-        return "" === n2 && { value: i2, index: e2, tagClosed: s2 };
-      }
-      const c = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g");
-      function g(t2, e2) {
-        const i2 = s(t2, c), n2 = {};
-        for (let t3 = 0; t3 < i2.length; t3++) {
-          if (0 === i2[t3][1].length) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' has no space in starting.", E(i2[t3]));
-          if (void 0 !== i2[t3][3] && void 0 === i2[t3][4]) return x("InvalidAttr", "Attribute '" + i2[t3][2] + "' is without value.", E(i2[t3]));
-          if (void 0 === i2[t3][3] && !e2.allowBooleanAttributes) return x("InvalidAttr", "boolean attribute '" + i2[t3][2] + "' is not allowed.", E(i2[t3]));
-          const s2 = i2[t3][2];
-          if (!N(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is an invalid name.", E(i2[t3]));
-          if (n2.hasOwnProperty(s2)) return x("InvalidAttr", "Attribute '" + s2 + "' is repeated.", E(i2[t3]));
-          n2[s2] = 1;
         }
-        return true;
       }
-      function m(t2, e2) {
-        if (";" === t2[++e2]) return -1;
-        if ("#" === t2[e2]) return (function(t3, e3) {
-          let i3 = /\d/;
-          for ("x" === t3[e3] && (e3++, i3 = /[\da-fA-F]/); e3 < t3.length; e3++) {
-            if (";" === t3[e3]) return e3;
-            if (!t3[e3].match(i3)) break;
+    };
+    exports2.BlockBlobCommitBlockListHeaders = {
+      serializedName: "BlockBlob_commitBlockListHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobCommitBlockListHeaders",
+        modelProperties: {
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          contentMD5: {
+            serializedName: "content-md5",
+            xmlName: "content-md5",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          xMsContentCrc64: {
+            serializedName: "x-ms-content-crc64",
+            xmlName: "x-ms-content-crc64",
+            type: {
+              name: "ByteArray"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          versionId: {
+            serializedName: "x-ms-version-id",
+            xmlName: "x-ms-version-id",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          isServerEncrypted: {
+            serializedName: "x-ms-request-server-encrypted",
+            xmlName: "x-ms-request-server-encrypted",
+            type: {
+              name: "Boolean"
+            }
+          },
+          encryptionKeySha256: {
+            serializedName: "x-ms-encryption-key-sha256",
+            xmlName: "x-ms-encryption-key-sha256",
+            type: {
+              name: "String"
+            }
+          },
+          encryptionScope: {
+            serializedName: "x-ms-encryption-scope",
+            xmlName: "x-ms-encryption-scope",
+            type: {
+              name: "String"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
+            }
           }
-          return -1;
-        })(t2, ++e2);
-        let i2 = 0;
-        for (; e2 < t2.length; e2++, i2++) if (!(t2[e2].match(/\w/) && i2 < 20)) {
-          if (";" === t2[e2]) break;
-          return -1;
-        }
-        return e2;
-      }
-      function x(t2, e2, i2) {
-        return { err: { code: t2, msg: e2, line: i2.line || i2, col: i2.col } };
-      }
-      function N(t2) {
-        return r(t2);
-      }
-      function b(t2, e2) {
-        const i2 = t2.substring(0, e2).split(/\r?\n/);
-        return { line: i2.length, col: i2[i2.length - 1].length + 1 };
-      }
-      function E(t2) {
-        return t2.startIndex + t2[1].length;
-      }
-      const v = { preserveOrder: false, attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, removeNSPrefix: false, allowBooleanAttributes: false, parseTagValue: true, parseAttributeValue: false, trimValues: true, cdataPropName: false, numberParseOptions: { hex: true, leadingZeros: true, eNotation: true }, tagValueProcessor: function(t2, e2) {
-        return e2;
-      }, attributeValueProcessor: function(t2, e2) {
-        return e2;
-      }, stopNodes: [], alwaysCreateTextNode: false, isArray: () => false, commentPropName: false, unpairedTags: [], processEntities: true, htmlEntities: false, ignoreDeclaration: false, ignorePiTags: false, transformTagName: false, transformAttributeName: false, updateTag: function(t2, e2, i2) {
-        return t2;
-      }, captureMetaData: false };
-      let T;
-      T = "function" != typeof Symbol ? "@@xmlMetadata" : /* @__PURE__ */ Symbol("XML Node Metadata");
-      class y {
-        constructor(t2) {
-          this.tagname = t2, this.child = [], this[":@"] = {};
-        }
-        add(t2, e2) {
-          "__proto__" === t2 && (t2 = "#__proto__"), this.child.push({ [t2]: e2 });
-        }
-        addChild(t2, e2) {
-          "__proto__" === t2.tagname && (t2.tagname = "#__proto__"), t2[":@"] && Object.keys(t2[":@"]).length > 0 ? this.child.push({ [t2.tagname]: t2.child, ":@": t2[":@"] }) : this.child.push({ [t2.tagname]: t2.child }), void 0 !== e2 && (this.child[this.child.length - 1][T] = { startIndex: e2 });
-        }
-        static getMetaDataSymbol() {
-          return T;
         }
       }
-      class w {
-        constructor(t2) {
-          this.suppressValidationErr = !t2;
-        }
-        readDocType(t2, e2) {
-          const i2 = {};
-          if ("O" !== t2[e2 + 3] || "C" !== t2[e2 + 4] || "T" !== t2[e2 + 5] || "Y" !== t2[e2 + 6] || "P" !== t2[e2 + 7] || "E" !== t2[e2 + 8]) throw new Error("Invalid Tag instead of DOCTYPE");
-          {
-            e2 += 9;
-            let n2 = 1, s2 = false, r2 = false, o2 = "";
-            for (; e2 < t2.length; e2++) if ("<" !== t2[e2] || r2) if (">" === t2[e2]) {
-              if (r2 ? "-" === t2[e2 - 1] && "-" === t2[e2 - 2] && (r2 = false, n2--) : n2--, 0 === n2) break;
-            } else "[" === t2[e2] ? s2 = true : o2 += t2[e2];
-            else {
-              if (s2 && P(t2, "!ENTITY", e2)) {
-                let n3, s3;
-                e2 += 7, [n3, s3, e2] = this.readEntityExp(t2, e2 + 1, this.suppressValidationErr), -1 === s3.indexOf("&") && (i2[n3] = { regx: RegExp(`&${n3};`, "g"), val: s3 });
-              } else if (s2 && P(t2, "!ELEMENT", e2)) {
-                e2 += 8;
-                const { index: i3 } = this.readElementExp(t2, e2 + 1);
-                e2 = i3;
-              } else if (s2 && P(t2, "!ATTLIST", e2)) e2 += 8;
-              else if (s2 && P(t2, "!NOTATION", e2)) {
-                e2 += 9;
-                const { index: i3 } = this.readNotationExp(t2, e2 + 1, this.suppressValidationErr);
-                e2 = i3;
-              } else {
-                if (!P(t2, "!--", e2)) throw new Error("Invalid DOCTYPE");
-                r2 = true;
-              }
-              n2++, o2 = "";
+    };
+    exports2.BlockBlobCommitBlockListExceptionHeaders = {
+      serializedName: "BlockBlob_commitBlockListExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobCommitBlockListExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            if (0 !== n2) throw new Error("Unclosed DOCTYPE");
-          }
-          return { entities: i2, i: e2 };
-        }
-        readEntityExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]) && '"' !== t2[e2] && "'" !== t2[e2]; ) i2 += t2[e2], e2++;
-          if (O(i2), e2 = I(t2, e2), !this.suppressValidationErr) {
-            if ("SYSTEM" === t2.substring(e2, e2 + 6).toUpperCase()) throw new Error("External entities are not supported");
-            if ("%" === t2[e2]) throw new Error("Parameter entities are not supported");
           }
-          let n2 = "";
-          return [e2, n2] = this.readIdentifierVal(t2, e2, "entity"), [i2, n2, --e2];
-        }
-        readNotationExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
-          !this.suppressValidationErr && O(i2), e2 = I(t2, e2);
-          const n2 = t2.substring(e2, e2 + 6).toUpperCase();
-          if (!this.suppressValidationErr && "SYSTEM" !== n2 && "PUBLIC" !== n2) throw new Error(`Expected SYSTEM or PUBLIC, found "${n2}"`);
-          e2 += n2.length, e2 = I(t2, e2);
-          let s2 = null, r2 = null;
-          if ("PUBLIC" === n2) [e2, s2] = this.readIdentifierVal(t2, e2, "publicIdentifier"), '"' !== t2[e2 = I(t2, e2)] && "'" !== t2[e2] || ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"));
-          else if ("SYSTEM" === n2 && ([e2, r2] = this.readIdentifierVal(t2, e2, "systemIdentifier"), !this.suppressValidationErr && !r2)) throw new Error("Missing mandatory system identifier for SYSTEM notation");
-          return { notationName: i2, publicIdentifier: s2, systemIdentifier: r2, index: --e2 };
-        }
-        readIdentifierVal(t2, e2, i2) {
-          let n2 = "";
-          const s2 = t2[e2];
-          if ('"' !== s2 && "'" !== s2) throw new Error(`Expected quoted string, found "${s2}"`);
-          for (e2++; e2 < t2.length && t2[e2] !== s2; ) n2 += t2[e2], e2++;
-          if (t2[e2] !== s2) throw new Error(`Unterminated ${i2} value`);
-          return [++e2, n2];
         }
-        readElementExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
-          if (!this.suppressValidationErr && !r(i2)) throw new Error(`Invalid element name: "${i2}"`);
-          let n2 = "";
-          if ("E" === t2[e2 = I(t2, e2)] && P(t2, "MPTY", e2)) e2 += 4;
-          else if ("A" === t2[e2] && P(t2, "NY", e2)) e2 += 2;
-          else if ("(" === t2[e2]) {
-            for (e2++; e2 < t2.length && ")" !== t2[e2]; ) n2 += t2[e2], e2++;
-            if (")" !== t2[e2]) throw new Error("Unterminated content model");
-          } else if (!this.suppressValidationErr) throw new Error(`Invalid Element Expression, found "${t2[e2]}"`);
-          return { elementName: i2, contentModel: n2.trim(), index: e2 };
-        }
-        readAttlistExp(t2, e2) {
-          e2 = I(t2, e2);
-          let i2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) i2 += t2[e2], e2++;
-          O(i2), e2 = I(t2, e2);
-          let n2 = "";
-          for (; e2 < t2.length && !/\s/.test(t2[e2]); ) n2 += t2[e2], e2++;
-          if (!O(n2)) throw new Error(`Invalid attribute name: "${n2}"`);
-          e2 = I(t2, e2);
-          let s2 = "";
-          if ("NOTATION" === t2.substring(e2, e2 + 8).toUpperCase()) {
-            if (s2 = "NOTATION", "(" !== t2[e2 = I(t2, e2 += 8)]) throw new Error(`Expected '(', found "${t2[e2]}"`);
-            e2++;
-            let i3 = [];
-            for (; e2 < t2.length && ")" !== t2[e2]; ) {
-              let n3 = "";
-              for (; e2 < t2.length && "|" !== t2[e2] && ")" !== t2[e2]; ) n3 += t2[e2], e2++;
-              if (n3 = n3.trim(), !O(n3)) throw new Error(`Invalid notation name: "${n3}"`);
-              i3.push(n3), "|" === t2[e2] && (e2++, e2 = I(t2, e2));
+      }
+    };
+    exports2.BlockBlobGetBlockListHeaders = {
+      serializedName: "BlockBlob_getBlockListHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobGetBlockListHeaders",
+        modelProperties: {
+          lastModified: {
+            serializedName: "last-modified",
+            xmlName: "last-modified",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          etag: {
+            serializedName: "etag",
+            xmlName: "etag",
+            type: {
+              name: "String"
+            }
+          },
+          contentType: {
+            serializedName: "content-type",
+            xmlName: "content-type",
+            type: {
+              name: "String"
+            }
+          },
+          blobContentLength: {
+            serializedName: "x-ms-blob-content-length",
+            xmlName: "x-ms-blob-content-length",
+            type: {
+              name: "Number"
+            }
+          },
+          clientRequestId: {
+            serializedName: "x-ms-client-request-id",
+            xmlName: "x-ms-client-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          requestId: {
+            serializedName: "x-ms-request-id",
+            xmlName: "x-ms-request-id",
+            type: {
+              name: "String"
+            }
+          },
+          version: {
+            serializedName: "x-ms-version",
+            xmlName: "x-ms-version",
+            type: {
+              name: "String"
+            }
+          },
+          date: {
+            serializedName: "date",
+            xmlName: "date",
+            type: {
+              name: "DateTimeRfc1123"
+            }
+          },
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
-            if (")" !== t2[e2]) throw new Error("Unterminated list of notations");
-            e2++, s2 += " (" + i3.join("|") + ")";
-          } else {
-            for (; e2 < t2.length && !/\s/.test(t2[e2]); ) s2 += t2[e2], e2++;
-            const i3 = ["CDATA", "ID", "IDREF", "IDREFS", "ENTITY", "ENTITIES", "NMTOKEN", "NMTOKENS"];
-            if (!this.suppressValidationErr && !i3.includes(s2.toUpperCase())) throw new Error(`Invalid attribute type: "${s2}"`);
           }
-          e2 = I(t2, e2);
-          let r2 = "";
-          return "#REQUIRED" === t2.substring(e2, e2 + 8).toUpperCase() ? (r2 = "#REQUIRED", e2 += 8) : "#IMPLIED" === t2.substring(e2, e2 + 7).toUpperCase() ? (r2 = "#IMPLIED", e2 += 7) : [e2, r2] = this.readIdentifierVal(t2, e2, "ATTLIST"), { elementName: i2, attributeName: n2, attributeType: s2, defaultValue: r2, index: e2 };
         }
       }
-      const I = (t2, e2) => {
-        for (; e2 < t2.length && /\s/.test(t2[e2]); ) e2++;
-        return e2;
-      };
-      function P(t2, e2, i2) {
-        for (let n2 = 0; n2 < e2.length; n2++) if (e2[n2] !== t2[i2 + n2 + 1]) return false;
-        return true;
-      }
-      function O(t2) {
-        if (r(t2)) return t2;
-        throw new Error(`Invalid entity name ${t2}`);
-      }
-      const A = /^[-+]?0x[a-fA-F0-9]+$/, S = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/, C = { hex: true, leadingZeros: true, decimalPoint: ".", eNotation: true };
-      const V = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;
-      function $(t2) {
-        return "function" == typeof t2 ? t2 : Array.isArray(t2) ? (e2) => {
-          for (const i2 of t2) {
-            if ("string" == typeof i2 && e2 === i2) return true;
-            if (i2 instanceof RegExp && i2.test(e2)) return true;
-          }
-        } : () => false;
-      }
-      class D {
-        constructor(t2) {
-          if (this.options = t2, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = { apos: { regex: /&(apos|#39|#x27);/g, val: "'" }, gt: { regex: /&(gt|#62|#x3E);/g, val: ">" }, lt: { regex: /&(lt|#60|#x3C);/g, val: "<" }, quot: { regex: /&(quot|#34|#x22);/g, val: '"' } }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }, this.htmlEntities = { space: { regex: /&(nbsp|#160);/g, val: " " }, cent: { regex: /&(cent|#162);/g, val: "\xA2" }, pound: { regex: /&(pound|#163);/g, val: "\xA3" }, yen: { regex: /&(yen|#165);/g, val: "\xA5" }, euro: { regex: /&(euro|#8364);/g, val: "\u20AC" }, copyright: { regex: /&(copy|#169);/g, val: "\xA9" }, reg: { regex: /&(reg|#174);/g, val: "\xAE" }, inr: { regex: /&(inr|#8377);/g, val: "\u20B9" }, num_dec: { regex: /&#([0-9]{1,7});/g, val: (t3, e2) => Z(e2, 10, "&#") }, num_hex: { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (t3, e2) => Z(e2, 16, "&#x") } }, this.addExternalEntities = j, this.parseXml = L, this.parseTextData = M, this.resolveNameSpace = F, this.buildAttributesMap = k, this.isItStopNode = Y, this.replaceEntitiesValue = B, this.readStopNodeData = W, this.saveTextToParentTag = R, this.addChild = U, this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.options.stopNodes && this.options.stopNodes.length > 0) {
-            this.stopNodesExact = /* @__PURE__ */ new Set(), this.stopNodesWildcard = /* @__PURE__ */ new Set();
-            for (let t3 = 0; t3 < this.options.stopNodes.length; t3++) {
-              const e2 = this.options.stopNodes[t3];
-              "string" == typeof e2 && (e2.startsWith("*.") ? this.stopNodesWildcard.add(e2.substring(2)) : this.stopNodesExact.add(e2));
+    };
+    exports2.BlockBlobGetBlockListExceptionHeaders = {
+      serializedName: "BlockBlob_getBlockListExceptionHeaders",
+      type: {
+        name: "Composite",
+        className: "BlockBlobGetBlockListExceptionHeaders",
+        modelProperties: {
+          errorCode: {
+            serializedName: "x-ms-error-code",
+            xmlName: "x-ms-error-code",
+            type: {
+              name: "String"
             }
           }
         }
       }
-      function j(t2) {
-        const e2 = Object.keys(t2);
-        for (let i2 = 0; i2 < e2.length; i2++) {
-          const n2 = e2[i2];
-          this.lastEntities[n2] = { regex: new RegExp("&" + n2 + ";", "g"), val: t2[n2] };
+    };
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js
+var require_parameters = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.action3 = exports2.action2 = exports2.leaseId1 = exports2.action1 = exports2.proposedLeaseId = exports2.duration = exports2.action = exports2.comp10 = exports2.sourceLeaseId = exports2.sourceContainerName = exports2.comp9 = exports2.deletedContainerVersion = exports2.deletedContainerName = exports2.comp8 = exports2.containerAcl = exports2.comp7 = exports2.comp6 = exports2.ifUnmodifiedSince = exports2.ifModifiedSince = exports2.leaseId = exports2.preventEncryptionScopeOverride = exports2.defaultEncryptionScope = exports2.access = exports2.metadata = exports2.restype2 = exports2.where = exports2.comp5 = exports2.multipartContentType = exports2.contentLength = exports2.comp4 = exports2.body = exports2.restype1 = exports2.comp3 = exports2.keyInfo = exports2.include = exports2.maxPageSize = exports2.marker = exports2.prefix = exports2.comp2 = exports2.comp1 = exports2.accept1 = exports2.requestId = exports2.version = exports2.timeoutInSeconds = exports2.comp = exports2.restype = exports2.url = exports2.accept = exports2.blobServiceProperties = exports2.contentType = void 0;
+    exports2.fileRequestIntent = exports2.copySourceTags = exports2.copySourceAuthorization = exports2.sourceContentMD5 = exports2.xMsRequiresSync = exports2.legalHold1 = exports2.sealBlob = exports2.blobTagsString = exports2.copySource = exports2.sourceIfTags = exports2.sourceIfNoneMatch = exports2.sourceIfMatch = exports2.sourceIfUnmodifiedSince = exports2.sourceIfModifiedSince = exports2.rehydratePriority = exports2.tier = exports2.comp14 = exports2.encryptionScope = exports2.legalHold = exports2.comp13 = exports2.immutabilityPolicyMode = exports2.immutabilityPolicyExpiry = exports2.comp12 = exports2.blobContentDisposition = exports2.blobContentLanguage = exports2.blobContentEncoding = exports2.blobContentMD5 = exports2.blobContentType = exports2.blobCacheControl = exports2.expiresOn = exports2.expiryOptions = exports2.comp11 = exports2.blobDeleteType = exports2.deleteSnapshots = exports2.ifTags = exports2.ifNoneMatch = exports2.ifMatch = exports2.encryptionAlgorithm = exports2.encryptionKeySha256 = exports2.encryptionKey = exports2.rangeGetContentCRC64 = exports2.rangeGetContentMD5 = exports2.range = exports2.versionId = exports2.snapshot = exports2.delimiter = exports2.include1 = exports2.proposedLeaseId1 = exports2.action4 = exports2.breakPeriod = void 0;
+    exports2.listType = exports2.comp25 = exports2.blocks = exports2.blockId = exports2.comp24 = exports2.copySourceBlobProperties = exports2.blobType2 = exports2.comp23 = exports2.sourceRange1 = exports2.appendPosition = exports2.maxSize = exports2.comp22 = exports2.blobType1 = exports2.comp21 = exports2.sequenceNumberAction = exports2.prevSnapshotUrl = exports2.prevsnapshot = exports2.comp20 = exports2.range1 = exports2.sourceContentCrc64 = exports2.sourceRange = exports2.sourceUrl = exports2.pageWrite1 = exports2.ifSequenceNumberEqualTo = exports2.ifSequenceNumberLessThan = exports2.ifSequenceNumberLessThanOrEqualTo = exports2.pageWrite = exports2.comp19 = exports2.accept2 = exports2.body1 = exports2.contentType1 = exports2.blobSequenceNumber = exports2.blobContentLength = exports2.blobType = exports2.transactionalContentCrc64 = exports2.transactionalContentMD5 = exports2.tags = exports2.comp18 = exports2.comp17 = exports2.queryRequest = exports2.tier1 = exports2.comp16 = exports2.copyId = exports2.copyActionAbortConstant = exports2.comp15 = void 0;
+    var mappers_js_1 = require_mappers();
+    exports2.contentType = {
+      parameterPath: ["options", "contentType"],
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Content-Type",
+        type: {
+          name: "String"
         }
       }
-      function M(t2, e2, i2, n2, s2, r2, o2) {
-        if (void 0 !== t2 && (this.options.trimValues && !n2 && (t2 = t2.trim()), t2.length > 0)) {
-          o2 || (t2 = this.replaceEntitiesValue(t2));
-          const n3 = this.options.tagValueProcessor(e2, t2, i2, s2, r2);
-          return null == n3 ? t2 : typeof n3 != typeof t2 || n3 !== t2 ? n3 : this.options.trimValues || t2.trim() === t2 ? q(t2, this.options.parseTagValue, this.options.numberParseOptions) : t2;
+    };
+    exports2.blobServiceProperties = {
+      parameterPath: "blobServiceProperties",
+      mapper: mappers_js_1.BlobServiceProperties
+    };
+    exports2.accept = {
+      parameterPath: "accept",
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Accept",
+        type: {
+          name: "String"
         }
       }
-      function F(t2) {
-        if (this.options.removeNSPrefix) {
-          const e2 = t2.split(":"), i2 = "/" === t2.charAt(0) ? "/" : "";
-          if ("xmlns" === e2[0]) return "";
-          2 === e2.length && (t2 = i2 + e2[1]);
+    };
+    exports2.url = {
+      parameterPath: "url",
+      mapper: {
+        serializedName: "url",
+        required: true,
+        xmlName: "url",
+        type: {
+          name: "String"
+        }
+      },
+      skipEncoding: true
+    };
+    exports2.restype = {
+      parameterPath: "restype",
+      mapper: {
+        defaultValue: "service",
+        isConstant: true,
+        serializedName: "restype",
+        type: {
+          name: "String"
         }
-        return t2;
       }
-      const _2 = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm");
-      function k(t2, e2) {
-        if (true !== this.options.ignoreAttributes && "string" == typeof t2) {
-          const i2 = s(t2, _2), n2 = i2.length, r2 = {};
-          for (let t3 = 0; t3 < n2; t3++) {
-            const n3 = this.resolveNameSpace(i2[t3][1]);
-            if (this.ignoreAttributesFn(n3, e2)) continue;
-            let s2 = i2[t3][4], o2 = this.options.attributeNamePrefix + n3;
-            if (n3.length) if (this.options.transformAttributeName && (o2 = this.options.transformAttributeName(o2)), "__proto__" === o2 && (o2 = "#__proto__"), void 0 !== s2) {
-              this.options.trimValues && (s2 = s2.trim()), s2 = this.replaceEntitiesValue(s2);
-              const t4 = this.options.attributeValueProcessor(n3, s2, e2);
-              r2[o2] = null == t4 ? s2 : typeof t4 != typeof s2 || t4 !== s2 ? t4 : q(s2, this.options.parseAttributeValue, this.options.numberParseOptions);
-            } else this.options.allowBooleanAttributes && (r2[o2] = true);
-          }
-          if (!Object.keys(r2).length) return;
-          if (this.options.attributesGroupName) {
-            const t3 = {};
-            return t3[this.options.attributesGroupName] = r2, t3;
-          }
-          return r2;
+    };
+    exports2.comp = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "properties",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      const L = function(t2) {
-        t2 = t2.replace(/\r\n?/g, "\n");
-        const e2 = new y("!xml");
-        let i2 = e2, n2 = "", s2 = "";
-        const r2 = new w(this.options.processEntities);
-        for (let o2 = 0; o2 < t2.length; o2++) if ("<" === t2[o2]) if ("/" === t2[o2 + 1]) {
-          const e3 = G(t2, ">", o2, "Closing Tag is not closed.");
-          let r3 = t2.substring(o2 + 2, e3).trim();
-          if (this.options.removeNSPrefix) {
-            const t3 = r3.indexOf(":");
-            -1 !== t3 && (r3 = r3.substr(t3 + 1));
-          }
-          this.options.transformTagName && (r3 = this.options.transformTagName(r3)), i2 && (n2 = this.saveTextToParentTag(n2, i2, s2));
-          const a2 = s2.substring(s2.lastIndexOf(".") + 1);
-          if (r3 && -1 !== this.options.unpairedTags.indexOf(r3)) throw new Error(`Unpaired tag can not be used as closing tag: `);
-          let l2 = 0;
-          a2 && -1 !== this.options.unpairedTags.indexOf(a2) ? (l2 = s2.lastIndexOf(".", s2.lastIndexOf(".") - 1), this.tagsNodeStack.pop()) : l2 = s2.lastIndexOf("."), s2 = s2.substring(0, l2), i2 = this.tagsNodeStack.pop(), n2 = "", o2 = e3;
-        } else if ("?" === t2[o2 + 1]) {
-          let e3 = X(t2, o2, false, "?>");
-          if (!e3) throw new Error("Pi Tag is not closed.");
-          if (n2 = this.saveTextToParentTag(n2, i2, s2), this.options.ignoreDeclaration && "?xml" === e3.tagName || this.options.ignorePiTags) ;
-          else {
-            const t3 = new y(e3.tagName);
-            t3.add(this.options.textNodeName, ""), e3.tagName !== e3.tagExp && e3.attrExpPresent && (t3[":@"] = this.buildAttributesMap(e3.tagExp, s2)), this.addChild(i2, t3, s2, o2);
-          }
-          o2 = e3.closeIndex + 1;
-        } else if ("!--" === t2.substr(o2 + 1, 3)) {
-          const e3 = G(t2, "-->", o2 + 4, "Comment is not closed.");
-          if (this.options.commentPropName) {
-            const r3 = t2.substring(o2 + 4, e3 - 2);
-            n2 = this.saveTextToParentTag(n2, i2, s2), i2.add(this.options.commentPropName, [{ [this.options.textNodeName]: r3 }]);
-          }
-          o2 = e3;
-        } else if ("!D" === t2.substr(o2 + 1, 2)) {
-          const e3 = r2.readDocType(t2, o2);
-          this.docTypeEntities = e3.entities, o2 = e3.i;
-        } else if ("![" === t2.substr(o2 + 1, 2)) {
-          const e3 = G(t2, "]]>", o2, "CDATA is not closed.") - 2, r3 = t2.substring(o2 + 9, e3);
-          n2 = this.saveTextToParentTag(n2, i2, s2);
-          let a2 = this.parseTextData(r3, i2.tagname, s2, true, false, true, true);
-          null == a2 && (a2 = ""), this.options.cdataPropName ? i2.add(this.options.cdataPropName, [{ [this.options.textNodeName]: r3 }]) : i2.add(this.options.textNodeName, a2), o2 = e3 + 2;
-        } else {
-          let r3 = X(t2, o2, this.options.removeNSPrefix), a2 = r3.tagName;
-          const l2 = r3.rawTagName;
-          let u2 = r3.tagExp, h2 = r3.attrExpPresent, d2 = r3.closeIndex;
-          if (this.options.transformTagName) {
-            const t3 = this.options.transformTagName(a2);
-            u2 === a2 && (u2 = t3), a2 = t3;
-          }
-          i2 && n2 && "!xml" !== i2.tagname && (n2 = this.saveTextToParentTag(n2, i2, s2, false));
-          const p2 = i2;
-          p2 && -1 !== this.options.unpairedTags.indexOf(p2.tagname) && (i2 = this.tagsNodeStack.pop(), s2 = s2.substring(0, s2.lastIndexOf("."))), a2 !== e2.tagname && (s2 += s2 ? "." + a2 : a2);
-          const f2 = o2;
-          if (this.isItStopNode(this.stopNodesExact, this.stopNodesWildcard, s2, a2)) {
-            let e3 = "";
-            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) "/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), o2 = r3.closeIndex;
-            else if (-1 !== this.options.unpairedTags.indexOf(a2)) o2 = r3.closeIndex;
-            else {
-              const i3 = this.readStopNodeData(t2, l2, d2 + 1);
-              if (!i3) throw new Error(`Unexpected end of ${l2}`);
-              o2 = i3.i, e3 = i3.tagContent;
-            }
-            const n3 = new y(a2);
-            a2 !== u2 && h2 && (n3[":@"] = this.buildAttributesMap(u2, s2)), e3 && (e3 = this.parseTextData(e3, a2, s2, true, h2, true, true)), s2 = s2.substr(0, s2.lastIndexOf(".")), n3.add(this.options.textNodeName, e3), this.addChild(i2, n3, s2, f2);
-          } else {
-            if (u2.length > 0 && u2.lastIndexOf("/") === u2.length - 1) {
-              if ("/" === a2[a2.length - 1] ? (a2 = a2.substr(0, a2.length - 1), s2 = s2.substr(0, s2.length - 1), u2 = a2) : u2 = u2.substr(0, u2.length - 1), this.options.transformTagName) {
-                const t4 = this.options.transformTagName(a2);
-                u2 === a2 && (u2 = t4), a2 = t4;
-              }
-              const t3 = new y(a2);
-              a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), s2 = s2.substr(0, s2.lastIndexOf("."));
-            } else {
-              const t3 = new y(a2);
-              this.tagsNodeStack.push(i2), a2 !== u2 && h2 && (t3[":@"] = this.buildAttributesMap(u2, s2)), this.addChild(i2, t3, s2, f2), i2 = t3;
-            }
-            n2 = "", o2 = d2;
-          }
+    };
+    exports2.timeoutInSeconds = {
+      parameterPath: ["options", "timeoutInSeconds"],
+      mapper: {
+        constraints: {
+          InclusiveMinimum: 0
+        },
+        serializedName: "timeout",
+        xmlName: "timeout",
+        type: {
+          name: "Number"
         }
-        else n2 += t2[o2];
-        return e2.child;
-      };
-      function U(t2, e2, i2, n2) {
-        this.options.captureMetaData || (n2 = void 0);
-        const s2 = this.options.updateTag(e2.tagname, i2, e2[":@"]);
-        false === s2 || ("string" == typeof s2 ? (e2.tagname = s2, t2.addChild(e2, n2)) : t2.addChild(e2, n2));
       }
-      const B = function(t2) {
-        if (this.options.processEntities) {
-          for (let e2 in this.docTypeEntities) {
-            const i2 = this.docTypeEntities[e2];
-            t2 = t2.replace(i2.regx, i2.val);
-          }
-          for (let e2 in this.lastEntities) {
-            const i2 = this.lastEntities[e2];
-            t2 = t2.replace(i2.regex, i2.val);
-          }
-          if (this.options.htmlEntities) for (let e2 in this.htmlEntities) {
-            const i2 = this.htmlEntities[e2];
-            t2 = t2.replace(i2.regex, i2.val);
-          }
-          t2 = t2.replace(this.ampEntity.regex, this.ampEntity.val);
+    };
+    exports2.version = {
+      parameterPath: "version",
+      mapper: {
+        defaultValue: "2025-11-05",
+        isConstant: true,
+        serializedName: "x-ms-version",
+        type: {
+          name: "String"
         }
-        return t2;
-      };
-      function R(t2, e2, i2, n2) {
-        return t2 && (void 0 === n2 && (n2 = 0 === e2.child.length), void 0 !== (t2 = this.parseTextData(t2, e2.tagname, i2, false, !!e2[":@"] && 0 !== Object.keys(e2[":@"]).length, n2)) && "" !== t2 && e2.add(this.options.textNodeName, t2), t2 = ""), t2;
       }
-      function Y(t2, e2, i2, n2) {
-        return !(!e2 || !e2.has(n2)) || !(!t2 || !t2.has(i2));
+    };
+    exports2.requestId = {
+      parameterPath: ["options", "requestId"],
+      mapper: {
+        serializedName: "x-ms-client-request-id",
+        xmlName: "x-ms-client-request-id",
+        type: {
+          name: "String"
+        }
       }
-      function G(t2, e2, i2, n2) {
-        const s2 = t2.indexOf(e2, i2);
-        if (-1 === s2) throw new Error(n2);
-        return s2 + e2.length - 1;
+    };
+    exports2.accept1 = {
+      parameterPath: "accept",
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Accept",
+        type: {
+          name: "String"
+        }
       }
-      function X(t2, e2, i2, n2 = ">") {
-        const s2 = (function(t3, e3, i3 = ">") {
-          let n3, s3 = "";
-          for (let r3 = e3; r3 < t3.length; r3++) {
-            let e4 = t3[r3];
-            if (n3) e4 === n3 && (n3 = "");
-            else if ('"' === e4 || "'" === e4) n3 = e4;
-            else if (e4 === i3[0]) {
-              if (!i3[1]) return { data: s3, index: r3 };
-              if (t3[r3 + 1] === i3[1]) return { data: s3, index: r3 };
-            } else "	" === e4 && (e4 = " ");
-            s3 += e4;
-          }
-        })(t2, e2 + 1, n2);
-        if (!s2) return;
-        let r2 = s2.data;
-        const o2 = s2.index, a2 = r2.search(/\s/);
-        let l2 = r2, u2 = true;
-        -1 !== a2 && (l2 = r2.substring(0, a2), r2 = r2.substring(a2 + 1).trimStart());
-        const h2 = l2;
-        if (i2) {
-          const t3 = l2.indexOf(":");
-          -1 !== t3 && (l2 = l2.substr(t3 + 1), u2 = l2 !== s2.data.substr(t3 + 1));
+    };
+    exports2.comp1 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "stats",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        return { tagName: l2, tagExp: r2, closeIndex: o2, attrExpPresent: u2, rawTagName: h2 };
       }
-      function W(t2, e2, i2) {
-        const n2 = i2;
-        let s2 = 1;
-        for (; i2 < t2.length; i2++) if ("<" === t2[i2]) if ("/" === t2[i2 + 1]) {
-          const r2 = G(t2, ">", i2, `${e2} is not closed`);
-          if (t2.substring(i2 + 2, r2).trim() === e2 && (s2--, 0 === s2)) return { tagContent: t2.substring(n2, i2), i: r2 };
-          i2 = r2;
-        } else if ("?" === t2[i2 + 1]) i2 = G(t2, "?>", i2 + 1, "StopNode is not closed.");
-        else if ("!--" === t2.substr(i2 + 1, 3)) i2 = G(t2, "-->", i2 + 3, "StopNode is not closed.");
-        else if ("![" === t2.substr(i2 + 1, 2)) i2 = G(t2, "]]>", i2, "StopNode is not closed.") - 2;
-        else {
-          const n3 = X(t2, i2, ">");
-          n3 && ((n3 && n3.tagName) === e2 && "/" !== n3.tagExp[n3.tagExp.length - 1] && s2++, i2 = n3.closeIndex);
+    };
+    exports2.comp2 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "list",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      function q(t2, e2, i2) {
-        if (e2 && "string" == typeof t2) {
-          const e3 = t2.trim();
-          return "true" === e3 || "false" !== e3 && (function(t3, e4 = {}) {
-            if (e4 = Object.assign({}, C, e4), !t3 || "string" != typeof t3) return t3;
-            let i3 = t3.trim();
-            if (void 0 !== e4.skipLike && e4.skipLike.test(i3)) return t3;
-            if ("0" === t3) return 0;
-            if (e4.hex && A.test(i3)) return (function(t4) {
-              if (parseInt) return parseInt(t4, 16);
-              if (Number.parseInt) return Number.parseInt(t4, 16);
-              if (window && window.parseInt) return window.parseInt(t4, 16);
-              throw new Error("parseInt, Number.parseInt, window.parseInt are not supported");
-            })(i3);
-            if (-1 !== i3.search(/.+[eE].+/)) return (function(t4, e5, i4) {
-              if (!i4.eNotation) return t4;
-              const n3 = e5.match(V);
-              if (n3) {
-                let s2 = n3[1] || "";
-                const r2 = -1 === n3[3].indexOf("e") ? "E" : "e", o2 = n3[2], a2 = s2 ? t4[o2.length + 1] === r2 : t4[o2.length] === r2;
-                return o2.length > 1 && a2 ? t4 : 1 !== o2.length || !n3[3].startsWith(`.${r2}`) && n3[3][0] !== r2 ? i4.leadingZeros && !a2 ? (e5 = (n3[1] || "") + n3[3], Number(e5)) : t4 : Number(e5);
-              }
-              return t4;
-            })(t3, i3, e4);
-            {
-              const s2 = S.exec(i3);
-              if (s2) {
-                const r2 = s2[1] || "", o2 = s2[2];
-                let a2 = (n2 = s2[3]) && -1 !== n2.indexOf(".") ? ("." === (n2 = n2.replace(/0+$/, "")) ? n2 = "0" : "." === n2[0] ? n2 = "0" + n2 : "." === n2[n2.length - 1] && (n2 = n2.substring(0, n2.length - 1)), n2) : n2;
-                const l2 = r2 ? "." === t3[o2.length + 1] : "." === t3[o2.length];
-                if (!e4.leadingZeros && (o2.length > 1 || 1 === o2.length && !l2)) return t3;
-                {
-                  const n3 = Number(i3), s3 = String(n3);
-                  if (0 === n3 || -0 === n3) return n3;
-                  if (-1 !== s3.search(/[eE]/)) return e4.eNotation ? n3 : t3;
-                  if (-1 !== i3.indexOf(".")) return "0" === s3 || s3 === a2 || s3 === `${r2}${a2}` ? n3 : t3;
-                  let l3 = o2 ? a2 : i3;
-                  return o2 ? l3 === s3 || r2 + l3 === s3 ? n3 : t3 : l3 === s3 || l3 === r2 + s3 ? n3 : t3;
-                }
-              }
-              return t3;
-            }
-            var n2;
-          })(t2, i2);
+    };
+    exports2.prefix = {
+      parameterPath: ["options", "prefix"],
+      mapper: {
+        serializedName: "prefix",
+        xmlName: "prefix",
+        type: {
+          name: "String"
         }
-        return void 0 !== t2 ? t2 : "";
       }
-      function Z(t2, e2, i2) {
-        const n2 = Number.parseInt(t2, e2);
-        return n2 >= 0 && n2 <= 1114111 ? String.fromCodePoint(n2) : i2 + t2 + ";";
+    };
+    exports2.marker = {
+      parameterPath: ["options", "marker"],
+      mapper: {
+        serializedName: "marker",
+        xmlName: "marker",
+        type: {
+          name: "String"
+        }
       }
-      const K = y.getMetaDataSymbol();
-      function Q(t2, e2) {
-        return z(t2, e2);
+    };
+    exports2.maxPageSize = {
+      parameterPath: ["options", "maxPageSize"],
+      mapper: {
+        constraints: {
+          InclusiveMinimum: 1
+        },
+        serializedName: "maxresults",
+        xmlName: "maxresults",
+        type: {
+          name: "Number"
+        }
       }
-      function z(t2, e2, i2) {
-        let n2;
-        const s2 = {};
-        for (let r2 = 0; r2 < t2.length; r2++) {
-          const o2 = t2[r2], a2 = J(o2);
-          let l2 = "";
-          if (l2 = void 0 === i2 ? a2 : i2 + "." + a2, a2 === e2.textNodeName) void 0 === n2 ? n2 = o2[a2] : n2 += "" + o2[a2];
-          else {
-            if (void 0 === a2) continue;
-            if (o2[a2]) {
-              let t3 = z(o2[a2], e2, l2);
-              const i3 = tt(t3, e2);
-              void 0 !== o2[K] && (t3[K] = o2[K]), o2[":@"] ? H(t3, o2[":@"], l2, e2) : 1 !== Object.keys(t3).length || void 0 === t3[e2.textNodeName] || e2.alwaysCreateTextNode ? 0 === Object.keys(t3).length && (e2.alwaysCreateTextNode ? t3[e2.textNodeName] = "" : t3 = "") : t3 = t3[e2.textNodeName], void 0 !== s2[a2] && s2.hasOwnProperty(a2) ? (Array.isArray(s2[a2]) || (s2[a2] = [s2[a2]]), s2[a2].push(t3)) : e2.isArray(a2, l2, i3) ? s2[a2] = [t3] : s2[a2] = t3;
+    };
+    exports2.include = {
+      parameterPath: ["options", "include"],
+      mapper: {
+        serializedName: "include",
+        xmlName: "include",
+        xmlElementName: "ListContainersIncludeType",
+        type: {
+          name: "Sequence",
+          element: {
+            type: {
+              name: "Enum",
+              allowedValues: ["metadata", "deleted", "system"]
             }
           }
         }
-        return "string" == typeof n2 ? n2.length > 0 && (s2[e2.textNodeName] = n2) : void 0 !== n2 && (s2[e2.textNodeName] = n2), s2;
+      },
+      collectionFormat: "CSV"
+    };
+    exports2.keyInfo = {
+      parameterPath: "keyInfo",
+      mapper: mappers_js_1.KeyInfo
+    };
+    exports2.comp3 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "userdelegationkey",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      function J(t2) {
-        const e2 = Object.keys(t2);
-        for (let t3 = 0; t3 < e2.length; t3++) {
-          const i2 = e2[t3];
-          if (":@" !== i2) return i2;
+    };
+    exports2.restype1 = {
+      parameterPath: "restype",
+      mapper: {
+        defaultValue: "account",
+        isConstant: true,
+        serializedName: "restype",
+        type: {
+          name: "String"
         }
       }
-      function H(t2, e2, i2, n2) {
-        if (e2) {
-          const s2 = Object.keys(e2), r2 = s2.length;
-          for (let o2 = 0; o2 < r2; o2++) {
-            const r3 = s2[o2];
-            n2.isArray(r3, i2 + "." + r3, true, true) ? t2[r3] = [e2[r3]] : t2[r3] = e2[r3];
-          }
+    };
+    exports2.body = {
+      parameterPath: "body",
+      mapper: {
+        serializedName: "body",
+        required: true,
+        xmlName: "body",
+        type: {
+          name: "Stream"
         }
       }
-      function tt(t2, e2) {
-        const { textNodeName: i2 } = e2, n2 = Object.keys(t2).length;
-        return 0 === n2 || !(1 !== n2 || !t2[i2] && "boolean" != typeof t2[i2] && 0 !== t2[i2]);
-      }
-      class et {
-        constructor(t2) {
-          this.externalEntities = {}, this.options = (function(t3) {
-            return Object.assign({}, v, t3);
-          })(t2);
-        }
-        parse(t2, e2) {
-          if ("string" != typeof t2 && t2.toString) t2 = t2.toString();
-          else if ("string" != typeof t2) throw new Error("XML data is accepted in String or Bytes[] form.");
-          if (e2) {
-            true === e2 && (e2 = {});
-            const i3 = a(t2, e2);
-            if (true !== i3) throw Error(`${i3.err.msg}:${i3.err.line}:${i3.err.col}`);
-          }
-          const i2 = new D(this.options);
-          i2.addExternalEntities(this.externalEntities);
-          const n2 = i2.parseXml(t2);
-          return this.options.preserveOrder || void 0 === n2 ? n2 : Q(n2, this.options);
-        }
-        addEntity(t2, e2) {
-          if (-1 !== e2.indexOf("&")) throw new Error("Entity value can't have '&'");
-          if (-1 !== t2.indexOf("&") || -1 !== t2.indexOf(";")) throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");
-          if ("&" === e2) throw new Error("An entity with value '&' is not permitted");
-          this.externalEntities[t2] = e2;
-        }
-        static getMetaDataSymbol() {
-          return y.getMetaDataSymbol();
+    };
+    exports2.comp4 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "batch",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      function it(t2, e2) {
-        let i2 = "";
-        return e2.format && e2.indentBy.length > 0 && (i2 = "\n"), nt(t2, e2, "", i2);
-      }
-      function nt(t2, e2, i2, n2) {
-        let s2 = "", r2 = false;
-        for (let o2 = 0; o2 < t2.length; o2++) {
-          const a2 = t2[o2], l2 = st(a2);
-          if (void 0 === l2) continue;
-          let u2 = "";
-          if (u2 = 0 === i2.length ? l2 : `${i2}.${l2}`, l2 === e2.textNodeName) {
-            let t3 = a2[l2];
-            ot(u2, e2) || (t3 = e2.tagValueProcessor(l2, t3), t3 = at(t3, e2)), r2 && (s2 += n2), s2 += t3, r2 = false;
-            continue;
-          }
-          if (l2 === e2.cdataPropName) {
-            r2 && (s2 += n2), s2 += ``, r2 = false;
-            continue;
-          }
-          if (l2 === e2.commentPropName) {
-            s2 += n2 + ``, r2 = true;
-            continue;
-          }
-          if ("?" === l2[0]) {
-            const t3 = rt(a2[":@"], e2), i3 = "?xml" === l2 ? "" : n2;
-            let o3 = a2[l2][0][e2.textNodeName];
-            o3 = 0 !== o3.length ? " " + o3 : "", s2 += i3 + `<${l2}${o3}${t3}?>`, r2 = true;
-            continue;
-          }
-          let h2 = n2;
-          "" !== h2 && (h2 += e2.indentBy);
-          const d2 = n2 + `<${l2}${rt(a2[":@"], e2)}`, p2 = nt(a2[l2], e2, u2, h2);
-          -1 !== e2.unpairedTags.indexOf(l2) ? e2.suppressUnpairedNode ? s2 += d2 + ">" : s2 += d2 + "/>" : p2 && 0 !== p2.length || !e2.suppressEmptyNode ? p2 && p2.endsWith(">") ? s2 += d2 + `>${p2}${n2}` : (s2 += d2 + ">", p2 && "" !== n2 && (p2.includes("/>") || p2.includes("`) : s2 += d2 + "/>", r2 = true;
+    };
+    exports2.contentLength = {
+      parameterPath: "contentLength",
+      mapper: {
+        serializedName: "Content-Length",
+        required: true,
+        xmlName: "Content-Length",
+        type: {
+          name: "Number"
         }
-        return s2;
       }
-      function st(t2) {
-        const e2 = Object.keys(t2);
-        for (let i2 = 0; i2 < e2.length; i2++) {
-          const n2 = e2[i2];
-          if (t2.hasOwnProperty(n2) && ":@" !== n2) return n2;
+    };
+    exports2.multipartContentType = {
+      parameterPath: "multipartContentType",
+      mapper: {
+        serializedName: "Content-Type",
+        required: true,
+        xmlName: "Content-Type",
+        type: {
+          name: "String"
         }
       }
-      function rt(t2, e2) {
-        let i2 = "";
-        if (t2 && !e2.ignoreAttributes) for (let n2 in t2) {
-          if (!t2.hasOwnProperty(n2)) continue;
-          let s2 = e2.attributeValueProcessor(n2, t2[n2]);
-          s2 = at(s2, e2), true === s2 && e2.suppressBooleanAttributes ? i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}` : i2 += ` ${n2.substr(e2.attributeNamePrefix.length)}="${s2}"`;
+    };
+    exports2.comp5 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "blobs",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        return i2;
-      }
-      function ot(t2, e2) {
-        let i2 = (t2 = t2.substr(0, t2.length - e2.textNodeName.length - 1)).substr(t2.lastIndexOf(".") + 1);
-        for (let n2 in e2.stopNodes) if (e2.stopNodes[n2] === t2 || e2.stopNodes[n2] === "*." + i2) return true;
-        return false;
       }
-      function at(t2, e2) {
-        if (t2 && t2.length > 0 && e2.processEntities) for (let i2 = 0; i2 < e2.entities.length; i2++) {
-          const n2 = e2.entities[i2];
-          t2 = t2.replace(n2.regex, n2.val);
+    };
+    exports2.where = {
+      parameterPath: ["options", "where"],
+      mapper: {
+        serializedName: "where",
+        xmlName: "where",
+        type: {
+          name: "String"
         }
-        return t2;
       }
-      const lt = { attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, cdataPropName: false, format: false, indentBy: "  ", suppressEmptyNode: false, suppressUnpairedNode: true, suppressBooleanAttributes: true, tagValueProcessor: function(t2, e2) {
-        return e2;
-      }, attributeValueProcessor: function(t2, e2) {
-        return e2;
-      }, preserveOrder: false, commentPropName: false, unpairedTags: [], entities: [{ regex: new RegExp("&", "g"), val: "&" }, { regex: new RegExp(">", "g"), val: ">" }, { regex: new RegExp("<", "g"), val: "<" }, { regex: new RegExp("'", "g"), val: "'" }, { regex: new RegExp('"', "g"), val: """ }], processEntities: true, stopNodes: [], oneListGroup: false };
-      function ut(t2) {
-        this.options = Object.assign({}, lt, t2), true === this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {
-          return false;
-        } : (this.ignoreAttributesFn = $(this.options.ignoreAttributes), this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = pt), this.processTextOrObjNode = ht, this.options.format ? (this.indentate = dt, this.tagEndChar = ">\n", this.newLine = "\n") : (this.indentate = function() {
-          return "";
-        }, this.tagEndChar = ">", this.newLine = "");
+    };
+    exports2.restype2 = {
+      parameterPath: "restype",
+      mapper: {
+        defaultValue: "container",
+        isConstant: true,
+        serializedName: "restype",
+        type: {
+          name: "String"
+        }
       }
-      function ht(t2, e2, i2, n2) {
-        const s2 = this.j2x(t2, i2 + 1, n2.concat(e2));
-        return void 0 !== t2[this.options.textNodeName] && 1 === Object.keys(t2).length ? this.buildTextValNode(t2[this.options.textNodeName], e2, s2.attrStr, i2) : this.buildObjectNode(s2.val, e2, s2.attrStr, i2);
+    };
+    exports2.metadata = {
+      parameterPath: ["options", "metadata"],
+      mapper: {
+        serializedName: "x-ms-meta",
+        xmlName: "x-ms-meta",
+        headerCollectionPrefix: "x-ms-meta-",
+        type: {
+          name: "Dictionary",
+          value: { type: { name: "String" } }
+        }
       }
-      function dt(t2) {
-        return this.options.indentBy.repeat(t2);
+    };
+    exports2.access = {
+      parameterPath: ["options", "access"],
+      mapper: {
+        serializedName: "x-ms-blob-public-access",
+        xmlName: "x-ms-blob-public-access",
+        type: {
+          name: "Enum",
+          allowedValues: ["container", "blob"]
+        }
       }
-      function pt(t2) {
-        return !(!t2.startsWith(this.options.attributeNamePrefix) || t2 === this.options.textNodeName) && t2.substr(this.attrPrefixLen);
+    };
+    exports2.defaultEncryptionScope = {
+      parameterPath: [
+        "options",
+        "containerEncryptionScope",
+        "defaultEncryptionScope"
+      ],
+      mapper: {
+        serializedName: "x-ms-default-encryption-scope",
+        xmlName: "x-ms-default-encryption-scope",
+        type: {
+          name: "String"
+        }
       }
-      ut.prototype.build = function(t2) {
-        return this.options.preserveOrder ? it(t2, this.options) : (Array.isArray(t2) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (t2 = { [this.options.arrayNodeName]: t2 }), this.j2x(t2, 0, []).val);
-      }, ut.prototype.j2x = function(t2, e2, i2) {
-        let n2 = "", s2 = "";
-        const r2 = i2.join(".");
-        for (let o2 in t2) if (Object.prototype.hasOwnProperty.call(t2, o2)) if (void 0 === t2[o2]) this.isAttribute(o2) && (s2 += "");
-        else if (null === t2[o2]) this.isAttribute(o2) || o2 === this.options.cdataPropName ? s2 += "" : "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
-        else if (t2[o2] instanceof Date) s2 += this.buildTextValNode(t2[o2], o2, "", e2);
-        else if ("object" != typeof t2[o2]) {
-          const i3 = this.isAttribute(o2);
-          if (i3 && !this.ignoreAttributesFn(i3, r2)) n2 += this.buildAttrPairStr(i3, "" + t2[o2]);
-          else if (!i3) if (o2 === this.options.textNodeName) {
-            let e3 = this.options.tagValueProcessor(o2, "" + t2[o2]);
-            s2 += this.replaceEntitiesValue(e3);
-          } else s2 += this.buildTextValNode(t2[o2], o2, "", e2);
-        } else if (Array.isArray(t2[o2])) {
-          const n3 = t2[o2].length;
-          let r3 = "", a2 = "";
-          for (let l2 = 0; l2 < n3; l2++) {
-            const n4 = t2[o2][l2];
-            if (void 0 === n4) ;
-            else if (null === n4) "?" === o2[0] ? s2 += this.indentate(e2) + "<" + o2 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + o2 + "/" + this.tagEndChar;
-            else if ("object" == typeof n4) if (this.options.oneListGroup) {
-              const t3 = this.j2x(n4, e2 + 1, i2.concat(o2));
-              r3 += t3.val, this.options.attributesGroupName && n4.hasOwnProperty(this.options.attributesGroupName) && (a2 += t3.attrStr);
-            } else r3 += this.processTextOrObjNode(n4, o2, e2, i2);
-            else if (this.options.oneListGroup) {
-              let t3 = this.options.tagValueProcessor(o2, n4);
-              t3 = this.replaceEntitiesValue(t3), r3 += t3;
-            } else r3 += this.buildTextValNode(n4, o2, "", e2);
-          }
-          this.options.oneListGroup && (r3 = this.buildObjectNode(r3, o2, a2, e2)), s2 += r3;
-        } else if (this.options.attributesGroupName && o2 === this.options.attributesGroupName) {
-          const e3 = Object.keys(t2[o2]), i3 = e3.length;
-          for (let s3 = 0; s3 < i3; s3++) n2 += this.buildAttrPairStr(e3[s3], "" + t2[o2][e3[s3]]);
-        } else s2 += this.processTextOrObjNode(t2[o2], o2, e2, i2);
-        return { attrStr: n2, val: s2 };
-      }, ut.prototype.buildAttrPairStr = function(t2, e2) {
-        return e2 = this.options.attributeValueProcessor(t2, "" + e2), e2 = this.replaceEntitiesValue(e2), this.options.suppressBooleanAttributes && "true" === e2 ? " " + t2 : " " + t2 + '="' + e2 + '"';
-      }, ut.prototype.buildObjectNode = function(t2, e2, i2, n2) {
-        if ("" === t2) return "?" === e2[0] ? this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar;
-        {
-          let s2 = "` + this.newLine : this.indentate(n2) + "<" + e2 + i2 + r2 + this.tagEndChar + t2 + this.indentate(n2) + s2 : this.indentate(n2) + "<" + e2 + i2 + r2 + ">" + t2 + s2;
+    };
+    exports2.preventEncryptionScopeOverride = {
+      parameterPath: [
+        "options",
+        "containerEncryptionScope",
+        "preventEncryptionScopeOverride"
+      ],
+      mapper: {
+        serializedName: "x-ms-deny-encryption-scope-override",
+        xmlName: "x-ms-deny-encryption-scope-override",
+        type: {
+          name: "Boolean"
         }
-      }, ut.prototype.closeTag = function(t2) {
-        let e2 = "";
-        return -1 !== this.options.unpairedTags.indexOf(t2) ? this.options.suppressUnpairedNode || (e2 = "/") : e2 = this.options.suppressEmptyNode ? "/" : `>` + this.newLine;
-        if (false !== this.options.commentPropName && e2 === this.options.commentPropName) return this.indentate(n2) + `` + this.newLine;
-        if ("?" === e2[0]) return this.indentate(n2) + "<" + e2 + i2 + "?" + this.tagEndChar;
-        {
-          let s2 = this.options.tagValueProcessor(e2, t2);
-          return s2 = this.replaceEntitiesValue(s2), "" === s2 ? this.indentate(n2) + "<" + e2 + i2 + this.closeTag(e2) + this.tagEndChar : this.indentate(n2) + "<" + e2 + i2 + ">" + s2 + " 0 && this.options.processEntities) for (let e2 = 0; e2 < this.options.entities.length; e2++) {
-          const i2 = this.options.entities[e2];
-          t2 = t2.replace(i2.regex, i2.val);
+      }
+    };
+    exports2.ifModifiedSince = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifModifiedSince"],
+      mapper: {
+        serializedName: "If-Modified-Since",
+        xmlName: "If-Modified-Since",
+        type: {
+          name: "DateTimeRfc1123"
         }
-        return t2;
-      };
-      const ft = { validate: a };
-      module2.exports = e;
-    })();
-  }
-});
-
-// node_modules/@azure/core-xml/dist/commonjs/xml.common.js
-var require_xml_common = __commonJS({
-  "node_modules/@azure/core-xml/dist/commonjs/xml.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = void 0;
-    exports2.XML_ATTRKEY = "$";
-    exports2.XML_CHARKEY = "_";
-  }
-});
-
-// node_modules/@azure/core-xml/dist/commonjs/xml.js
-var require_xml = __commonJS({
-  "node_modules/@azure/core-xml/dist/commonjs/xml.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.stringifyXML = stringifyXML;
-    exports2.parseXML = parseXML;
-    var fast_xml_parser_1 = require_fxp();
-    var xml_common_js_1 = require_xml_common();
-    function getCommonOptions(options) {
-      var _a;
-      return {
-        attributesGroupName: xml_common_js_1.XML_ATTRKEY,
-        textNodeName: (_a = options.xmlCharKey) !== null && _a !== void 0 ? _a : xml_common_js_1.XML_CHARKEY,
-        ignoreAttributes: false,
-        suppressBooleanAttributes: false
-      };
-    }
-    function getSerializerOptions(options = {}) {
-      var _a, _b;
-      return Object.assign(Object.assign({}, getCommonOptions(options)), { attributeNamePrefix: "@_", format: true, suppressEmptyNode: true, indentBy: "", rootNodeName: (_a = options.rootName) !== null && _a !== void 0 ? _a : "root", cdataPropName: (_b = options.cdataPropName) !== null && _b !== void 0 ? _b : "__cdata" });
-    }
-    function getParserOptions(options = {}) {
-      return Object.assign(Object.assign({}, getCommonOptions(options)), { parseAttributeValue: false, parseTagValue: false, attributeNamePrefix: "", stopNodes: options.stopNodes, processEntities: true, trimValues: false });
-    }
-    function stringifyXML(obj, opts = {}) {
-      const parserOptions = getSerializerOptions(opts);
-      const j2x = new fast_xml_parser_1.XMLBuilder(parserOptions);
-      const node = { [parserOptions.rootNodeName]: obj };
-      const xmlData = j2x.build(node);
-      return `${xmlData}`.replace(/\n/g, "");
-    }
-    async function parseXML(str2, opts = {}) {
-      if (!str2) {
-        throw new Error("Document is empty");
       }
-      const validation = fast_xml_parser_1.XMLValidator.validate(str2);
-      if (validation !== true) {
-        throw validation;
+    };
+    exports2.ifUnmodifiedSince = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifUnmodifiedSince"],
+      mapper: {
+        serializedName: "If-Unmodified-Since",
+        xmlName: "If-Unmodified-Since",
+        type: {
+          name: "DateTimeRfc1123"
+        }
       }
-      const parser = new fast_xml_parser_1.XMLParser(getParserOptions(opts));
-      const parsedXml = parser.parse(str2);
-      if (parsedXml["?xml"]) {
-        delete parsedXml["?xml"];
+    };
+    exports2.comp6 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "metadata",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      if (!opts.includeRoot) {
-        for (const key of Object.keys(parsedXml)) {
-          const value = parsedXml[key];
-          return typeof value === "object" ? Object.assign({}, value) : value;
+    };
+    exports2.comp7 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "acl",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      return parsedXml;
-    }
-  }
-});
-
-// node_modules/@azure/core-xml/dist/commonjs/index.js
-var require_commonjs12 = __commonJS({
-  "node_modules/@azure/core-xml/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.XML_CHARKEY = exports2.XML_ATTRKEY = exports2.parseXML = exports2.stringifyXML = void 0;
-    var xml_js_1 = require_xml();
-    Object.defineProperty(exports2, "stringifyXML", { enumerable: true, get: function() {
-      return xml_js_1.stringifyXML;
-    } });
-    Object.defineProperty(exports2, "parseXML", { enumerable: true, get: function() {
-      return xml_js_1.parseXML;
-    } });
-    var xml_common_js_1 = require_xml_common();
-    Object.defineProperty(exports2, "XML_ATTRKEY", { enumerable: true, get: function() {
-      return xml_common_js_1.XML_ATTRKEY;
-    } });
-    Object.defineProperty(exports2, "XML_CHARKEY", { enumerable: true, get: function() {
-      return xml_common_js_1.XML_CHARKEY;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/log.js
-var require_log5 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs4();
-    exports2.logger = (0, logger_1.createClientLogger)("storage-blob");
-  }
-});
-
-// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
-var require_AbortError3 = __commonJS({
-  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+    };
+    exports2.containerAcl = {
+      parameterPath: ["options", "containerAcl"],
+      mapper: {
+        serializedName: "containerAcl",
+        xmlName: "SignedIdentifiers",
+        xmlIsWrapped: true,
+        xmlElementName: "SignedIdentifier",
+        type: {
+          name: "Sequence",
+          element: {
+            type: {
+              name: "Composite",
+              className: "SignedIdentifier"
+            }
+          }
+        }
       }
     };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js
-var require_commonjs13 = __commonJS({
-  "node_modules/@azure/storage-blob/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError_js_1 = require_AbortError3();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js
-var require_RequestPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/RequestPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BaseRequestPolicy = void 0;
-    var BaseRequestPolicy = class {
-      _nextPolicy;
-      _options;
-      /**
-       * The main method to implement that manipulates a request/response.
-       */
-      constructor(_nextPolicy, _options) {
-        this._nextPolicy = _nextPolicy;
-        this._options = _options;
+    exports2.comp8 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "undelete",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Get whether or not a log with the provided log level should be logged.
-       * @param logLevel - The log level of the log that will be logged.
-       * @returns Whether or not a log with the provided log level should be logged.
-       */
-      shouldLog(logLevel) {
-        return this._options.shouldLog(logLevel);
+    };
+    exports2.deletedContainerName = {
+      parameterPath: ["options", "deletedContainerName"],
+      mapper: {
+        serializedName: "x-ms-deleted-container-name",
+        xmlName: "x-ms-deleted-container-name",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Attempt to log the provided message to the provided logger. If no logger was provided or if
-       * the log level does not meat the logger's threshold, then nothing will be logged.
-       * @param logLevel - The log level of this log.
-       * @param message - The message of this log.
-       */
-      log(logLevel, message) {
-        this._options.log(logLevel, message);
+    };
+    exports2.deletedContainerVersion = {
+      parameterPath: ["options", "deletedContainerVersion"],
+      mapper: {
+        serializedName: "x-ms-deleted-container-version",
+        xmlName: "x-ms-deleted-container-version",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.BaseRequestPolicy = BaseRequestPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js
-var require_constants14 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathStylePorts = exports2.BlobDoesNotUseCustomerSpecifiedEncryption = exports2.BlobUsesCustomerSpecifiedEncryptionMsg = exports2.StorageBlobLoggingAllowedQueryParameters = exports2.StorageBlobLoggingAllowedHeaderNames = exports2.DevelopmentConnectionString = exports2.EncryptionAlgorithmAES25 = exports2.HTTP_VERSION_1_1 = exports2.HTTP_LINE_ENDING = exports2.BATCH_MAX_PAYLOAD_IN_BYTES = exports2.BATCH_MAX_REQUEST = exports2.SIZE_1_MB = exports2.ETagAny = exports2.ETagNone = exports2.HeaderConstants = exports2.HTTPURLConnection = exports2.URLConstants = exports2.StorageOAuthScopes = exports2.REQUEST_TIMEOUT = exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = exports2.BLOCK_BLOB_MAX_BLOCKS = exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = exports2.SERVICE_VERSION = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "12.29.1";
-    exports2.SERVICE_VERSION = "2025-11-05";
-    exports2.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES = 256 * 1024 * 1024;
-    exports2.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES = 4e3 * 1024 * 1024;
-    exports2.BLOCK_BLOB_MAX_BLOCKS = 5e4;
-    exports2.DEFAULT_BLOCK_BUFFER_SIZE_BYTES = 8 * 1024 * 1024;
-    exports2.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES = 4 * 1024 * 1024;
-    exports2.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS = 5;
-    exports2.REQUEST_TIMEOUT = 100 * 1e3;
-    exports2.StorageOAuthScopes = "https://storage.azure.com/.default";
-    exports2.URLConstants = {
-      Parameters: {
-        FORCE_BROWSER_NO_CACHE: "_",
-        SIGNATURE: "sig",
-        SNAPSHOT: "snapshot",
-        VERSIONID: "versionid",
-        TIMEOUT: "timeout"
+    exports2.comp9 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "rename",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.HTTPURLConnection = {
-      HTTP_ACCEPTED: 202,
-      HTTP_CONFLICT: 409,
-      HTTP_NOT_FOUND: 404,
-      HTTP_PRECON_FAILED: 412,
-      HTTP_RANGE_NOT_SATISFIABLE: 416
+    exports2.sourceContainerName = {
+      parameterPath: "sourceContainerName",
+      mapper: {
+        serializedName: "x-ms-source-container-name",
+        required: true,
+        xmlName: "x-ms-source-container-name",
+        type: {
+          name: "String"
+        }
+      }
     };
-    exports2.HeaderConstants = {
-      AUTHORIZATION: "Authorization",
-      AUTHORIZATION_SCHEME: "Bearer",
-      CONTENT_ENCODING: "Content-Encoding",
-      CONTENT_ID: "Content-ID",
-      CONTENT_LANGUAGE: "Content-Language",
-      CONTENT_LENGTH: "Content-Length",
-      CONTENT_MD5: "Content-Md5",
-      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
-      CONTENT_TYPE: "Content-Type",
-      COOKIE: "Cookie",
-      DATE: "date",
-      IF_MATCH: "if-match",
-      IF_MODIFIED_SINCE: "if-modified-since",
-      IF_NONE_MATCH: "if-none-match",
-      IF_UNMODIFIED_SINCE: "if-unmodified-since",
-      PREFIX_FOR_STORAGE: "x-ms-",
-      RANGE: "Range",
-      USER_AGENT: "User-Agent",
-      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
-      X_MS_COPY_SOURCE: "x-ms-copy-source",
-      X_MS_DATE: "x-ms-date",
-      X_MS_ERROR_CODE: "x-ms-error-code",
-      X_MS_VERSION: "x-ms-version",
-      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    exports2.sourceLeaseId = {
+      parameterPath: ["options", "sourceLeaseId"],
+      mapper: {
+        serializedName: "x-ms-source-lease-id",
+        xmlName: "x-ms-source-lease-id",
+        type: {
+          name: "String"
+        }
+      }
     };
-    exports2.ETagNone = "";
-    exports2.ETagAny = "*";
-    exports2.SIZE_1_MB = 1 * 1024 * 1024;
-    exports2.BATCH_MAX_REQUEST = 256;
-    exports2.BATCH_MAX_PAYLOAD_IN_BYTES = 4 * exports2.SIZE_1_MB;
-    exports2.HTTP_LINE_ENDING = "\r\n";
-    exports2.HTTP_VERSION_1_1 = "HTTP/1.1";
-    exports2.EncryptionAlgorithmAES25 = "AES256";
-    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
-    exports2.StorageBlobLoggingAllowedHeaderNames = [
-      "Access-Control-Allow-Origin",
-      "Cache-Control",
-      "Content-Length",
-      "Content-Type",
-      "Date",
-      "Request-Id",
-      "traceparent",
-      "Transfer-Encoding",
-      "User-Agent",
-      "x-ms-client-request-id",
-      "x-ms-date",
-      "x-ms-error-code",
-      "x-ms-request-id",
-      "x-ms-return-client-request-id",
-      "x-ms-version",
-      "Accept-Ranges",
-      "Content-Disposition",
-      "Content-Encoding",
-      "Content-Language",
-      "Content-MD5",
-      "Content-Range",
-      "ETag",
-      "Last-Modified",
-      "Server",
-      "Vary",
-      "x-ms-content-crc64",
-      "x-ms-copy-action",
-      "x-ms-copy-completion-time",
-      "x-ms-copy-id",
-      "x-ms-copy-progress",
-      "x-ms-copy-status",
-      "x-ms-has-immutability-policy",
-      "x-ms-has-legal-hold",
-      "x-ms-lease-state",
-      "x-ms-lease-status",
-      "x-ms-range",
-      "x-ms-request-server-encrypted",
-      "x-ms-server-encrypted",
-      "x-ms-snapshot",
-      "x-ms-source-range",
-      "If-Match",
-      "If-Modified-Since",
-      "If-None-Match",
-      "If-Unmodified-Since",
-      "x-ms-access-tier",
-      "x-ms-access-tier-change-time",
-      "x-ms-access-tier-inferred",
-      "x-ms-account-kind",
-      "x-ms-archive-status",
-      "x-ms-blob-append-offset",
-      "x-ms-blob-cache-control",
-      "x-ms-blob-committed-block-count",
-      "x-ms-blob-condition-appendpos",
-      "x-ms-blob-condition-maxsize",
-      "x-ms-blob-content-disposition",
-      "x-ms-blob-content-encoding",
-      "x-ms-blob-content-language",
-      "x-ms-blob-content-length",
-      "x-ms-blob-content-md5",
-      "x-ms-blob-content-type",
-      "x-ms-blob-public-access",
-      "x-ms-blob-sequence-number",
-      "x-ms-blob-type",
-      "x-ms-copy-destination-snapshot",
-      "x-ms-creation-time",
-      "x-ms-default-encryption-scope",
-      "x-ms-delete-snapshots",
-      "x-ms-delete-type-permanent",
-      "x-ms-deny-encryption-scope-override",
-      "x-ms-encryption-algorithm",
-      "x-ms-if-sequence-number-eq",
-      "x-ms-if-sequence-number-le",
-      "x-ms-if-sequence-number-lt",
-      "x-ms-incremental-copy",
-      "x-ms-lease-action",
-      "x-ms-lease-break-period",
-      "x-ms-lease-duration",
-      "x-ms-lease-id",
-      "x-ms-lease-time",
-      "x-ms-page-write",
-      "x-ms-proposed-lease-id",
-      "x-ms-range-get-content-md5",
-      "x-ms-rehydrate-priority",
-      "x-ms-sequence-number-action",
-      "x-ms-sku-name",
-      "x-ms-source-content-md5",
-      "x-ms-source-if-match",
-      "x-ms-source-if-modified-since",
-      "x-ms-source-if-none-match",
-      "x-ms-source-if-unmodified-since",
-      "x-ms-tag-count",
-      "x-ms-encryption-key-sha256",
-      "x-ms-copy-source-error-code",
-      "x-ms-copy-source-status-code",
-      "x-ms-if-tags",
-      "x-ms-source-if-tags"
-    ];
-    exports2.StorageBlobLoggingAllowedQueryParameters = [
-      "comp",
-      "maxresults",
-      "rscc",
-      "rscd",
-      "rsce",
-      "rscl",
-      "rsct",
-      "se",
-      "si",
-      "sip",
-      "sp",
-      "spr",
-      "sr",
-      "srt",
-      "ss",
-      "st",
-      "sv",
-      "include",
-      "marker",
-      "prefix",
-      "copyid",
-      "restype",
-      "blockid",
-      "blocklisttype",
-      "delimiter",
-      "prevsnapshot",
-      "ske",
-      "skoid",
-      "sks",
-      "skt",
-      "sktid",
-      "skv",
-      "snapshot"
-    ];
-    exports2.BlobUsesCustomerSpecifiedEncryptionMsg = "BlobUsesCustomerSpecifiedEncryption";
-    exports2.BlobDoesNotUseCustomerSpecifiedEncryption = "BlobDoesNotUseCustomerSpecifiedEncryption";
-    exports2.PathStylePorts = [
-      "10000",
-      "10001",
-      "10002",
-      "10003",
-      "10004",
-      "10100",
-      "10101",
-      "10102",
-      "10103",
-      "10104",
-      "11000",
-      "11001",
-      "11002",
-      "11003",
-      "11004",
-      "11100",
-      "11101",
-      "11102",
-      "11103",
-      "11104"
-    ];
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js
-var require_utils_common = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escapeURLPath = escapeURLPath;
-    exports2.getValueInConnString = getValueInConnString;
-    exports2.extractConnectionStringParts = extractConnectionStringParts;
-    exports2.appendToURLPath = appendToURLPath;
-    exports2.setURLParameter = setURLParameter;
-    exports2.getURLParameter = getURLParameter;
-    exports2.setURLHost = setURLHost;
-    exports2.getURLPath = getURLPath;
-    exports2.getURLScheme = getURLScheme;
-    exports2.getURLPathAndQuery = getURLPathAndQuery;
-    exports2.getURLQueries = getURLQueries;
-    exports2.appendToURLQuery = appendToURLQuery;
-    exports2.truncatedISO8061Date = truncatedISO8061Date;
-    exports2.base64encode = base64encode;
-    exports2.base64decode = base64decode;
-    exports2.generateBlockID = generateBlockID;
-    exports2.delay = delay;
-    exports2.padStart = padStart2;
-    exports2.sanitizeURL = sanitizeURL;
-    exports2.sanitizeHeaders = sanitizeHeaders;
-    exports2.iEqual = iEqual;
-    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
-    exports2.isIpEndpointStyle = isIpEndpointStyle;
-    exports2.toBlobTagsString = toBlobTagsString;
-    exports2.toBlobTags = toBlobTags;
-    exports2.toTags = toTags;
-    exports2.toQuerySerialization = toQuerySerialization;
-    exports2.parseObjectReplicationRecord = parseObjectReplicationRecord;
-    exports2.attachCredential = attachCredential;
-    exports2.httpAuthorizationToString = httpAuthorizationToString;
-    exports2.BlobNameToString = BlobNameToString;
-    exports2.ConvertInternalResponseOfListBlobFlat = ConvertInternalResponseOfListBlobFlat;
-    exports2.ConvertInternalResponseOfListBlobHierarchy = ConvertInternalResponseOfListBlobHierarchy;
-    exports2.ExtractPageRangeInfoItems = ExtractPageRangeInfoItems;
-    exports2.EscapePath = EscapePath;
-    exports2.assertResponse = assertResponse;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants14();
-    function escapeURLPath(url) {
-      const urlParsed = new URL(url);
-      let path3 = urlParsed.pathname;
-      path3 = path3 || "/";
-      path3 = escape(path3);
-      urlParsed.pathname = path3;
-      return urlParsed.toString();
-    }
-    function getProxyUriFromDevConnString(connectionString) {
-      let proxyUri = "";
-      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
-        const matchCredentials = connectionString.split(";");
-        for (const element of matchCredentials) {
-          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
-            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
-          }
+    exports2.comp10 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "lease",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      return proxyUri;
-    }
-    function getValueInConnString(connectionString, argument) {
-      const elements = connectionString.split(";");
-      for (const element of elements) {
-        if (element.trim().startsWith(argument)) {
-          return element.trim().match(argument + "=(.*)")[1];
+    };
+    exports2.action = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "acquire",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
       }
-      return "";
-    }
-    function extractConnectionStringParts(connectionString) {
-      let proxyUri = "";
-      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
-        proxyUri = getProxyUriFromDevConnString(connectionString);
-        connectionString = constants_js_1.DevelopmentConnectionString;
+    };
+    exports2.duration = {
+      parameterPath: ["options", "duration"],
+      mapper: {
+        serializedName: "x-ms-lease-duration",
+        xmlName: "x-ms-lease-duration",
+        type: {
+          name: "Number"
+        }
       }
-      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
-      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
-      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
-        let defaultEndpointsProtocol = "";
-        let accountName = "";
-        let accountKey = Buffer.from("accountKey", "base64");
-        let endpointSuffix = "";
-        accountName = getValueInConnString(connectionString, "AccountName");
-        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
-        if (!blobEndpoint) {
-          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
-          const protocol = defaultEndpointsProtocol.toLowerCase();
-          if (protocol !== "https" && protocol !== "http") {
-            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
-          }
-          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
-          if (!endpointSuffix) {
-            throw new Error("Invalid EndpointSuffix in the provided Connection String");
-          }
-          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
+    };
+    exports2.proposedLeaseId = {
+      parameterPath: ["options", "proposedLeaseId"],
+      mapper: {
+        serializedName: "x-ms-proposed-lease-id",
+        xmlName: "x-ms-proposed-lease-id",
+        type: {
+          name: "String"
         }
-        if (!accountName) {
-          throw new Error("Invalid AccountName in the provided Connection String");
-        } else if (accountKey.length === 0) {
-          throw new Error("Invalid AccountKey in the provided Connection String");
+      }
+    };
+    exports2.action1 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "release",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        return {
-          kind: "AccountConnString",
-          url: blobEndpoint,
-          accountName,
-          accountKey,
-          proxyUri
-        };
-      } else {
-        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
-        let accountName = getValueInConnString(connectionString, "AccountName");
-        if (!accountName) {
-          accountName = getAccountNameFromUrl(blobEndpoint);
+      }
+    };
+    exports2.leaseId1 = {
+      parameterPath: "leaseId",
+      mapper: {
+        serializedName: "x-ms-lease-id",
+        required: true,
+        xmlName: "x-ms-lease-id",
+        type: {
+          name: "String"
         }
-        if (!blobEndpoint) {
-          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
-        } else if (!accountSas) {
-          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
+      }
+    };
+    exports2.action2 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "renew",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        if (accountSas.startsWith("?")) {
-          accountSas = accountSas.substring(1);
+      }
+    };
+    exports2.action3 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "break",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
         }
-        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
       }
-    }
-    function escape(text) {
-      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
-    }
-    function appendToURLPath(url, name) {
-      const urlParsed = new URL(url);
-      let path3 = urlParsed.pathname;
-      path3 = path3 ? path3.endsWith("/") ? `${path3}${name}` : `${path3}/${name}` : name;
-      urlParsed.pathname = path3;
-      return urlParsed.toString();
-    }
-    function setURLParameter(url, name, value) {
-      const urlParsed = new URL(url);
-      const encodedName = encodeURIComponent(name);
-      const encodedValue = value ? encodeURIComponent(value) : void 0;
-      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
-      const searchPieces = [];
-      for (const pair of searchString.slice(1).split("&")) {
-        if (pair) {
-          const [key] = pair.split("=", 2);
-          if (key !== encodedName) {
-            searchPieces.push(pair);
-          }
+    };
+    exports2.breakPeriod = {
+      parameterPath: ["options", "breakPeriod"],
+      mapper: {
+        serializedName: "x-ms-lease-break-period",
+        xmlName: "x-ms-lease-break-period",
+        type: {
+          name: "Number"
         }
       }
-      if (encodedValue) {
-        searchPieces.push(`${encodedName}=${encodedValue}`);
+    };
+    exports2.action4 = {
+      parameterPath: "action",
+      mapper: {
+        defaultValue: "change",
+        isConstant: true,
+        serializedName: "x-ms-lease-action",
+        type: {
+          name: "String"
+        }
       }
-      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
-      return urlParsed.toString();
-    }
-    function getURLParameter(url, name) {
-      const urlParsed = new URL(url);
-      return urlParsed.searchParams.get(name) ?? void 0;
-    }
-    function setURLHost(url, host) {
-      const urlParsed = new URL(url);
-      urlParsed.hostname = host;
-      return urlParsed.toString();
-    }
-    function getURLPath(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.pathname;
-      } catch (e) {
-        return void 0;
+    };
+    exports2.proposedLeaseId1 = {
+      parameterPath: "proposedLeaseId",
+      mapper: {
+        serializedName: "x-ms-proposed-lease-id",
+        required: true,
+        xmlName: "x-ms-proposed-lease-id",
+        type: {
+          name: "String"
+        }
       }
-    }
-    function getURLScheme(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
-      } catch (e) {
-        return void 0;
+    };
+    exports2.include1 = {
+      parameterPath: ["options", "include"],
+      mapper: {
+        serializedName: "include",
+        xmlName: "include",
+        xmlElementName: "ListBlobsIncludeItem",
+        type: {
+          name: "Sequence",
+          element: {
+            type: {
+              name: "Enum",
+              allowedValues: [
+                "copy",
+                "deleted",
+                "metadata",
+                "snapshots",
+                "uncommittedblobs",
+                "versions",
+                "tags",
+                "immutabilitypolicy",
+                "legalhold",
+                "deletedwithversions"
+              ]
+            }
+          }
+        }
+      },
+      collectionFormat: "CSV"
+    };
+    exports2.delimiter = {
+      parameterPath: "delimiter",
+      mapper: {
+        serializedName: "delimiter",
+        required: true,
+        xmlName: "delimiter",
+        type: {
+          name: "String"
+        }
       }
-    }
-    function getURLPathAndQuery(url) {
-      const urlParsed = new URL(url);
-      const pathString = urlParsed.pathname;
-      if (!pathString) {
-        throw new RangeError("Invalid url without valid path.");
+    };
+    exports2.snapshot = {
+      parameterPath: ["options", "snapshot"],
+      mapper: {
+        serializedName: "snapshot",
+        xmlName: "snapshot",
+        type: {
+          name: "String"
+        }
       }
-      let queryString = urlParsed.search || "";
-      queryString = queryString.trim();
-      if (queryString !== "") {
-        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
+    };
+    exports2.versionId = {
+      parameterPath: ["options", "versionId"],
+      mapper: {
+        serializedName: "versionid",
+        xmlName: "versionid",
+        type: {
+          name: "String"
+        }
       }
-      return `${pathString}${queryString}`;
-    }
-    function getURLQueries(url) {
-      let queryString = new URL(url).search;
-      if (!queryString) {
-        return {};
+    };
+    exports2.range = {
+      parameterPath: ["options", "range"],
+      mapper: {
+        serializedName: "x-ms-range",
+        xmlName: "x-ms-range",
+        type: {
+          name: "String"
+        }
       }
-      queryString = queryString.trim();
-      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
-      let querySubStrings = queryString.split("&");
-      querySubStrings = querySubStrings.filter((value) => {
-        const indexOfEqual = value.indexOf("=");
-        const lastIndexOfEqual = value.lastIndexOf("=");
-        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
-      });
-      const queries = {};
-      for (const querySubString of querySubStrings) {
-        const splitResults = querySubString.split("=");
-        const key = splitResults[0];
-        const value = splitResults[1];
-        queries[key] = value;
+    };
+    exports2.rangeGetContentMD5 = {
+      parameterPath: ["options", "rangeGetContentMD5"],
+      mapper: {
+        serializedName: "x-ms-range-get-content-md5",
+        xmlName: "x-ms-range-get-content-md5",
+        type: {
+          name: "Boolean"
+        }
       }
-      return queries;
-    }
-    function appendToURLQuery(url, queryParts) {
-      const urlParsed = new URL(url);
-      let query = urlParsed.search;
-      if (query) {
-        query += "&" + queryParts;
-      } else {
-        query = queryParts;
+    };
+    exports2.rangeGetContentCRC64 = {
+      parameterPath: ["options", "rangeGetContentCRC64"],
+      mapper: {
+        serializedName: "x-ms-range-get-content-crc64",
+        xmlName: "x-ms-range-get-content-crc64",
+        type: {
+          name: "Boolean"
+        }
       }
-      urlParsed.search = query;
-      return urlParsed.toString();
-    }
-    function truncatedISO8061Date(date, withMilliseconds = true) {
-      const dateString = date.toISOString();
-      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
-    }
-    function base64encode(content) {
-      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
-    }
-    function base64decode(encodedString) {
-      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
-    }
-    function generateBlockID(blockIDPrefix, blockIndex) {
-      const maxSourceStringLength = 48;
-      const maxBlockIndexLength = 6;
-      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
-      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
-        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
+    };
+    exports2.encryptionKey = {
+      parameterPath: ["options", "cpkInfo", "encryptionKey"],
+      mapper: {
+        serializedName: "x-ms-encryption-key",
+        xmlName: "x-ms-encryption-key",
+        type: {
+          name: "String"
+        }
       }
-      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
-      return base64encode(res);
-    }
-    async function delay(timeInMs, aborter, abortError) {
-      return new Promise((resolve2, reject) => {
-        let timeout;
-        const abortHandler = () => {
-          if (timeout !== void 0) {
-            clearTimeout(timeout);
-          }
-          reject(abortError);
-        };
-        const resolveHandler = () => {
-          if (aborter !== void 0) {
-            aborter.removeEventListener("abort", abortHandler);
-          }
-          resolve2();
-        };
-        timeout = setTimeout(resolveHandler, timeInMs);
-        if (aborter !== void 0) {
-          aborter.addEventListener("abort", abortHandler);
+    };
+    exports2.encryptionKeySha256 = {
+      parameterPath: ["options", "cpkInfo", "encryptionKeySha256"],
+      mapper: {
+        serializedName: "x-ms-encryption-key-sha256",
+        xmlName: "x-ms-encryption-key-sha256",
+        type: {
+          name: "String"
         }
-      });
-    }
-    function padStart2(currentString, targetLength, padString = " ") {
-      if (String.prototype.padStart) {
-        return currentString.padStart(targetLength, padString);
       }
-      padString = padString || " ";
-      if (currentString.length > targetLength) {
-        return currentString;
-      } else {
-        targetLength = targetLength - currentString.length;
-        if (targetLength > padString.length) {
-          padString += padString.repeat(targetLength / padString.length);
+    };
+    exports2.encryptionAlgorithm = {
+      parameterPath: ["options", "cpkInfo", "encryptionAlgorithm"],
+      mapper: {
+        serializedName: "x-ms-encryption-algorithm",
+        xmlName: "x-ms-encryption-algorithm",
+        type: {
+          name: "String"
         }
-        return padString.slice(0, targetLength) + currentString;
       }
-    }
-    function sanitizeURL(url) {
-      let safeURL = url;
-      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
-        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
+    };
+    exports2.ifMatch = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifMatch"],
+      mapper: {
+        serializedName: "If-Match",
+        xmlName: "If-Match",
+        type: {
+          name: "String"
+        }
       }
-      return safeURL;
-    }
-    function sanitizeHeaders(originalHeader) {
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
-      for (const [name, value] of originalHeader) {
-        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
-          headers.set(name, "*****");
-        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
-          headers.set(name, sanitizeURL(value));
-        } else {
-          headers.set(name, value);
+    };
+    exports2.ifNoneMatch = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifNoneMatch"],
+      mapper: {
+        serializedName: "If-None-Match",
+        xmlName: "If-None-Match",
+        type: {
+          name: "String"
         }
       }
-      return headers;
-    }
-    function iEqual(str1, str2) {
-      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
-    }
-    function getAccountNameFromUrl(url) {
-      const parsedUrl = new URL(url);
-      let accountName;
-      try {
-        if (parsedUrl.hostname.split(".")[1] === "blob") {
-          accountName = parsedUrl.hostname.split(".")[0];
-        } else if (isIpEndpointStyle(parsedUrl)) {
-          accountName = parsedUrl.pathname.split("/")[1];
-        } else {
-          accountName = "";
+    };
+    exports2.ifTags = {
+      parameterPath: ["options", "modifiedAccessConditions", "ifTags"],
+      mapper: {
+        serializedName: "x-ms-if-tags",
+        xmlName: "x-ms-if-tags",
+        type: {
+          name: "String"
         }
-        return accountName;
-      } catch (error3) {
-        throw new Error("Unable to extract accountName with provided information.");
       }
-    }
-    function isIpEndpointStyle(parsedUrl) {
-      const host = parsedUrl.host;
-      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
-    }
-    function toBlobTagsString(tags) {
-      if (tags === void 0) {
-        return void 0;
+    };
+    exports2.deleteSnapshots = {
+      parameterPath: ["options", "deleteSnapshots"],
+      mapper: {
+        serializedName: "x-ms-delete-snapshots",
+        xmlName: "x-ms-delete-snapshots",
+        type: {
+          name: "Enum",
+          allowedValues: ["include", "only"]
+        }
       }
-      const tagPairs = [];
-      for (const key in tags) {
-        if (Object.prototype.hasOwnProperty.call(tags, key)) {
-          const value = tags[key];
-          tagPairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
+    };
+    exports2.blobDeleteType = {
+      parameterPath: ["options", "blobDeleteType"],
+      mapper: {
+        serializedName: "deletetype",
+        xmlName: "deletetype",
+        type: {
+          name: "String"
         }
       }
-      return tagPairs.join("&");
-    }
-    function toBlobTags(tags) {
-      if (tags === void 0) {
-        return void 0;
+    };
+    exports2.comp11 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "expiry",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      const res = {
-        blobTagSet: []
-      };
-      for (const key in tags) {
-        if (Object.prototype.hasOwnProperty.call(tags, key)) {
-          const value = tags[key];
-          res.blobTagSet.push({
-            key,
-            value
-          });
+    };
+    exports2.expiryOptions = {
+      parameterPath: "expiryOptions",
+      mapper: {
+        serializedName: "x-ms-expiry-option",
+        required: true,
+        xmlName: "x-ms-expiry-option",
+        type: {
+          name: "String"
         }
       }
-      return res;
-    }
-    function toTags(tags) {
-      if (tags === void 0) {
-        return void 0;
+    };
+    exports2.expiresOn = {
+      parameterPath: ["options", "expiresOn"],
+      mapper: {
+        serializedName: "x-ms-expiry-time",
+        xmlName: "x-ms-expiry-time",
+        type: {
+          name: "String"
+        }
       }
-      const res = {};
-      for (const blobTag of tags.blobTagSet) {
-        res[blobTag.key] = blobTag.value;
+    };
+    exports2.blobCacheControl = {
+      parameterPath: ["options", "blobHttpHeaders", "blobCacheControl"],
+      mapper: {
+        serializedName: "x-ms-blob-cache-control",
+        xmlName: "x-ms-blob-cache-control",
+        type: {
+          name: "String"
+        }
       }
-      return res;
-    }
-    function toQuerySerialization(textConfiguration) {
-      if (textConfiguration === void 0) {
-        return void 0;
+    };
+    exports2.blobContentType = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentType"],
+      mapper: {
+        serializedName: "x-ms-blob-content-type",
+        xmlName: "x-ms-blob-content-type",
+        type: {
+          name: "String"
+        }
       }
-      switch (textConfiguration.kind) {
-        case "csv":
-          return {
-            format: {
-              type: "delimited",
-              delimitedTextConfiguration: {
-                columnSeparator: textConfiguration.columnSeparator || ",",
-                fieldQuote: textConfiguration.fieldQuote || "",
-                recordSeparator: textConfiguration.recordSeparator,
-                escapeChar: textConfiguration.escapeCharacter || "",
-                headersPresent: textConfiguration.hasHeaders || false
-              }
-            }
-          };
-        case "json":
-          return {
-            format: {
-              type: "json",
-              jsonTextConfiguration: {
-                recordSeparator: textConfiguration.recordSeparator
-              }
-            }
-          };
-        case "arrow":
-          return {
-            format: {
-              type: "arrow",
-              arrowConfiguration: {
-                schema: textConfiguration.schema
-              }
-            }
-          };
-        case "parquet":
-          return {
-            format: {
-              type: "parquet"
-            }
-          };
-        default:
-          throw Error("Invalid BlobQueryTextConfiguration.");
+    };
+    exports2.blobContentMD5 = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentMD5"],
+      mapper: {
+        serializedName: "x-ms-blob-content-md5",
+        xmlName: "x-ms-blob-content-md5",
+        type: {
+          name: "ByteArray"
+        }
       }
-    }
-    function parseObjectReplicationRecord(objectReplicationRecord) {
-      if (!objectReplicationRecord) {
-        return void 0;
+    };
+    exports2.blobContentEncoding = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentEncoding"],
+      mapper: {
+        serializedName: "x-ms-blob-content-encoding",
+        xmlName: "x-ms-blob-content-encoding",
+        type: {
+          name: "String"
+        }
       }
-      if ("policy-id" in objectReplicationRecord) {
-        return void 0;
+    };
+    exports2.blobContentLanguage = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentLanguage"],
+      mapper: {
+        serializedName: "x-ms-blob-content-language",
+        xmlName: "x-ms-blob-content-language",
+        type: {
+          name: "String"
+        }
       }
-      const orProperties = [];
-      for (const key in objectReplicationRecord) {
-        const ids = key.split("_");
-        const policyPrefix = "or-";
-        if (ids[0].startsWith(policyPrefix)) {
-          ids[0] = ids[0].substring(policyPrefix.length);
+    };
+    exports2.blobContentDisposition = {
+      parameterPath: ["options", "blobHttpHeaders", "blobContentDisposition"],
+      mapper: {
+        serializedName: "x-ms-blob-content-disposition",
+        xmlName: "x-ms-blob-content-disposition",
+        type: {
+          name: "String"
         }
-        const rule = {
-          ruleId: ids[1],
-          replicationStatus: objectReplicationRecord[key]
-        };
-        const policyIndex = orProperties.findIndex((policy) => policy.policyId === ids[0]);
-        if (policyIndex > -1) {
-          orProperties[policyIndex].rules.push(rule);
-        } else {
-          orProperties.push({
-            policyId: ids[0],
-            rules: [rule]
-          });
+      }
+    };
+    exports2.comp12 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "immutabilityPolicies",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      return orProperties;
-    }
-    function attachCredential(thing, credential) {
-      thing.credential = credential;
-      return thing;
-    }
-    function httpAuthorizationToString(httpAuthorization) {
-      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
-    }
-    function BlobNameToString(name) {
-      if (name.encoded) {
-        return decodeURIComponent(name.content);
-      } else {
-        return name.content;
+    };
+    exports2.immutabilityPolicyExpiry = {
+      parameterPath: ["options", "immutabilityPolicyExpiry"],
+      mapper: {
+        serializedName: "x-ms-immutability-policy-until-date",
+        xmlName: "x-ms-immutability-policy-until-date",
+        type: {
+          name: "DateTimeRfc1123"
+        }
       }
-    }
-    function ConvertInternalResponseOfListBlobFlat(internalResponse) {
-      return {
-        ...internalResponse,
-        segment: {
-          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
-            const blobItem = {
-              ...blobItemInteral,
-              name: BlobNameToString(blobItemInteral.name)
-            };
-            return blobItem;
-          })
+    };
+    exports2.immutabilityPolicyMode = {
+      parameterPath: ["options", "immutabilityPolicyMode"],
+      mapper: {
+        serializedName: "x-ms-immutability-policy-mode",
+        xmlName: "x-ms-immutability-policy-mode",
+        type: {
+          name: "Enum",
+          allowedValues: ["Mutable", "Unlocked", "Locked"]
         }
-      };
-    }
-    function ConvertInternalResponseOfListBlobHierarchy(internalResponse) {
-      return {
-        ...internalResponse,
-        segment: {
-          blobPrefixes: internalResponse.segment.blobPrefixes?.map((blobPrefixInternal) => {
-            const blobPrefix = {
-              ...blobPrefixInternal,
-              name: BlobNameToString(blobPrefixInternal.name)
-            };
-            return blobPrefix;
-          }),
-          blobItems: internalResponse.segment.blobItems.map((blobItemInteral) => {
-            const blobItem = {
-              ...blobItemInteral,
-              name: BlobNameToString(blobItemInteral.name)
-            };
-            return blobItem;
-          })
+      }
+    };
+    exports2.comp13 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "legalhold",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-      };
-    }
-    function* ExtractPageRangeInfoItems(getPageRangesSegment) {
-      let pageRange = [];
-      let clearRange = [];
-      if (getPageRangesSegment.pageRange)
-        pageRange = getPageRangesSegment.pageRange;
-      if (getPageRangesSegment.clearRange)
-        clearRange = getPageRangesSegment.clearRange;
-      let pageRangeIndex = 0;
-      let clearRangeIndex = 0;
-      while (pageRangeIndex < pageRange.length && clearRangeIndex < clearRange.length) {
-        if (pageRange[pageRangeIndex].start < clearRange[clearRangeIndex].start) {
-          yield {
-            start: pageRange[pageRangeIndex].start,
-            end: pageRange[pageRangeIndex].end,
-            isClear: false
-          };
-          ++pageRangeIndex;
-        } else {
-          yield {
-            start: clearRange[clearRangeIndex].start,
-            end: clearRange[clearRangeIndex].end,
-            isClear: true
-          };
-          ++clearRangeIndex;
+      }
+    };
+    exports2.legalHold = {
+      parameterPath: "legalHold",
+      mapper: {
+        serializedName: "x-ms-legal-hold",
+        required: true,
+        xmlName: "x-ms-legal-hold",
+        type: {
+          name: "Boolean"
         }
       }
-      for (; pageRangeIndex < pageRange.length; ++pageRangeIndex) {
-        yield {
-          start: pageRange[pageRangeIndex].start,
-          end: pageRange[pageRangeIndex].end,
-          isClear: false
-        };
+    };
+    exports2.encryptionScope = {
+      parameterPath: ["options", "encryptionScope"],
+      mapper: {
+        serializedName: "x-ms-encryption-scope",
+        xmlName: "x-ms-encryption-scope",
+        type: {
+          name: "String"
+        }
       }
-      for (; clearRangeIndex < clearRange.length; ++clearRangeIndex) {
-        yield {
-          start: clearRange[clearRangeIndex].start,
-          end: clearRange[clearRangeIndex].end,
-          isClear: true
-        };
+    };
+    exports2.comp14 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "snapshot",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-    }
-    function EscapePath(blobName) {
-      const split = blobName.split("/");
-      for (let i = 0; i < split.length; i++) {
-        split[i] = encodeURIComponent(split[i]);
+    };
+    exports2.tier = {
+      parameterPath: ["options", "tier"],
+      mapper: {
+        serializedName: "x-ms-access-tier",
+        xmlName: "x-ms-access-tier",
+        type: {
+          name: "Enum",
+          allowedValues: [
+            "P4",
+            "P6",
+            "P10",
+            "P15",
+            "P20",
+            "P30",
+            "P40",
+            "P50",
+            "P60",
+            "P70",
+            "P80",
+            "Hot",
+            "Cool",
+            "Archive",
+            "Cold"
+          ]
+        }
       }
-      return split.join("/");
-    }
-    function assertResponse(response) {
-      if (`_response` in response) {
-        return response;
+    };
+    exports2.rehydratePriority = {
+      parameterPath: ["options", "rehydratePriority"],
+      mapper: {
+        serializedName: "x-ms-rehydrate-priority",
+        xmlName: "x-ms-rehydrate-priority",
+        type: {
+          name: "Enum",
+          allowedValues: ["High", "Standard"]
+        }
       }
-      throw new TypeError(`Unexpected response object ${response}`);
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js
-var require_StorageRetryPolicyType = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicyType;
-    (function(StorageRetryPolicyType2) {
-      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
-      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
-    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js
-var require_StorageRetryPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicy = void 0;
-    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
-    var abort_controller_1 = require_commonjs13();
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    var log_js_1 = require_log5();
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
-    function NewRetryPolicyFactory(retryOptions) {
-      return {
-        create: (nextPolicy, options) => {
-          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
+    };
+    exports2.sourceIfModifiedSince = {
+      parameterPath: [
+        "options",
+        "sourceModifiedAccessConditions",
+        "sourceIfModifiedSince"
+      ],
+      mapper: {
+        serializedName: "x-ms-source-if-modified-since",
+        xmlName: "x-ms-source-if-modified-since",
+        type: {
+          name: "DateTimeRfc1123"
         }
-      };
-    }
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
+      }
     };
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * RetryOptions.
-       */
-      retryOptions;
-      /**
-       * Creates an instance of RetryPolicy.
-       *
-       * @param nextPolicy -
-       * @param options -
-       * @param retryOptions -
-       */
-      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
-        super(nextPolicy, options);
-        this.retryOptions = {
-          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
-          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
-          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
-          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
-          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
-          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
-        };
+    exports2.sourceIfUnmodifiedSince = {
+      parameterPath: [
+        "options",
+        "sourceModifiedAccessConditions",
+        "sourceIfUnmodifiedSince"
+      ],
+      mapper: {
+        serializedName: "x-ms-source-if-unmodified-since",
+        xmlName: "x-ms-source-if-unmodified-since",
+        type: {
+          name: "DateTimeRfc1123"
+        }
       }
-      /**
-       * Sends request.
-       *
-       * @param request -
-       */
-      async sendRequest(request2) {
-        return this.attemptSendRequest(request2, false, 1);
+    };
+    exports2.sourceIfMatch = {
+      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfMatch"],
+      mapper: {
+        serializedName: "x-ms-source-if-match",
+        xmlName: "x-ms-source-if-match",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Decide and perform next retry. Won't mutate request parameter.
-       *
-       * @param request -
-       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
-       *                                   the resource was not found. This may be due to replication delay. So, in this
-       *                                   case, we'll never try the secondary again for this operation.
-       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
-       *                                   the attempt will be performed by this method call.
-       */
-      async attemptSendRequest(request2, secondaryHas404, attempt) {
-        const newRequest = request2.clone();
-        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
-        if (!isPrimaryRetry) {
-          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
+    };
+    exports2.sourceIfNoneMatch = {
+      parameterPath: [
+        "options",
+        "sourceModifiedAccessConditions",
+        "sourceIfNoneMatch"
+      ],
+      mapper: {
+        serializedName: "x-ms-source-if-none-match",
+        xmlName: "x-ms-source-if-none-match",
+        type: {
+          name: "String"
         }
-        if (this.retryOptions.tryTimeoutInMs) {
-          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
+      }
+    };
+    exports2.sourceIfTags = {
+      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfTags"],
+      mapper: {
+        serializedName: "x-ms-source-if-tags",
+        xmlName: "x-ms-source-if-tags",
+        type: {
+          name: "String"
         }
-        let response;
-        try {
-          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-          response = await this._nextPolicy.sendRequest(newRequest);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
-            return response;
-          }
-          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-        } catch (err) {
-          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
-            throw err;
-          }
+      }
+    };
+    exports2.copySource = {
+      parameterPath: "copySource",
+      mapper: {
+        serializedName: "x-ms-copy-source",
+        required: true,
+        xmlName: "x-ms-copy-source",
+        type: {
+          name: "String"
         }
-        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
-        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
       }
-      /**
-       * Decide whether to retry according to last HTTP response and retry counters.
-       *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param response -
-       * @param err -
-       */
-      shouldRetry(isPrimaryRetry, attempt, response, err) {
-        if (attempt >= this.retryOptions.maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
-          return false;
+    };
+    exports2.blobTagsString = {
+      parameterPath: ["options", "blobTagsString"],
+      mapper: {
+        serializedName: "x-ms-tags",
+        xmlName: "x-ms-tags",
+        type: {
+          name: "String"
         }
-        const retriableErrors = [
-          "ETIMEDOUT",
-          "ESOCKETTIMEDOUT",
-          "ECONNREFUSED",
-          "ECONNRESET",
-          "ENOENT",
-          "ENOTFOUND",
-          "TIMEOUT",
-          "EPIPE",
-          "REQUEST_SEND_ERROR"
-          // For default xhr based http client provided in ms-rest-js
-        ];
-        if (err) {
-          for (const retriableError of retriableErrors) {
-            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
+      }
+    };
+    exports2.sealBlob = {
+      parameterPath: ["options", "sealBlob"],
+      mapper: {
+        serializedName: "x-ms-seal-blob",
+        xmlName: "x-ms-seal-blob",
+        type: {
+          name: "Boolean"
         }
-        if (response || err) {
-          const statusCode = response ? response.status : err ? err.statusCode : 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
+      }
+    };
+    exports2.legalHold1 = {
+      parameterPath: ["options", "legalHold"],
+      mapper: {
+        serializedName: "x-ms-legal-hold",
+        xmlName: "x-ms-legal-hold",
+        type: {
+          name: "Boolean"
         }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
+      }
+    };
+    exports2.xMsRequiresSync = {
+      parameterPath: "xMsRequiresSync",
+      mapper: {
+        defaultValue: "true",
+        isConstant: true,
+        serializedName: "x-ms-requires-sync",
+        type: {
+          name: "String"
         }
-        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-          return true;
+      }
+    };
+    exports2.sourceContentMD5 = {
+      parameterPath: ["options", "sourceContentMD5"],
+      mapper: {
+        serializedName: "x-ms-source-content-md5",
+        xmlName: "x-ms-source-content-md5",
+        type: {
+          name: "ByteArray"
         }
-        return false;
       }
-      /**
-       * Delay a calculated time between retries.
-       *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param abortSignal -
-       */
-      async delay(isPrimaryRetry, attempt, abortSignal) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (this.retryOptions.retryPolicyType) {
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = this.retryOptions.retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
+    };
+    exports2.copySourceAuthorization = {
+      parameterPath: ["options", "copySourceAuthorization"],
+      mapper: {
+        serializedName: "x-ms-copy-source-authorization",
+        xmlName: "x-ms-copy-source-authorization",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.copySourceTags = {
+      parameterPath: ["options", "copySourceTags"],
+      mapper: {
+        serializedName: "x-ms-copy-source-tag-option",
+        xmlName: "x-ms-copy-source-tag-option",
+        type: {
+          name: "Enum",
+          allowedValues: ["REPLACE", "COPY"]
         }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
       }
     };
-    exports2.StorageRetryPolicy = StorageRetryPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js
-var require_StorageRetryPolicyFactory = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy();
-    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
-      return StorageRetryPolicy_js_1.StorageRetryPolicy;
-    } });
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType();
-    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
-      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
-    } });
-    var StorageRetryPolicyFactory = class {
-      retryOptions;
-      /**
-       * Creates an instance of StorageRetryPolicyFactory.
-       * @param retryOptions -
-       */
-      constructor(retryOptions) {
-        this.retryOptions = retryOptions;
+    exports2.fileRequestIntent = {
+      parameterPath: ["options", "fileRequestIntent"],
+      mapper: {
+        serializedName: "x-ms-file-request-intent",
+        xmlName: "x-ms-file-request-intent",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Creates a StorageRetryPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
+    };
+    exports2.comp15 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "copy",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js
-var require_CredentialPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CredentialPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * Sends out request.
-       *
-       * @param request -
-       */
-      sendRequest(request2) {
-        return this._nextPolicy.sendRequest(this.signRequest(request2));
+    exports2.copyActionAbortConstant = {
+      parameterPath: "copyActionAbortConstant",
+      mapper: {
+        defaultValue: "abort",
+        isConstant: true,
+        serializedName: "x-ms-copy-action",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Child classes must implement this method with request signing. This method
-       * will be executed in {@link sendRequest}.
-       *
-       * @param request -
-       */
-      signRequest(request2) {
-        return request2;
+    };
+    exports2.copyId = {
+      parameterPath: "copyId",
+      mapper: {
+        serializedName: "copyid",
+        required: true,
+        xmlName: "copyid",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.CredentialPolicy = CredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js
-var require_SharedKeyComparator = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.compareHeader = compareHeader;
-    var table_lv0 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1820,
-      0,
-      1823,
-      1825,
-      1827,
-      1829,
-      0,
-      0,
-      0,
-      1837,
-      2051,
-      0,
-      0,
-      1843,
-      0,
-      3331,
-      3354,
-      3356,
-      3358,
-      3360,
-      3362,
-      3364,
-      3366,
-      3368,
-      3370,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      0,
-      0,
-      1859,
-      1860,
-      1864,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      1868,
-      0,
-      1872,
-      0
-    ]);
-    var table_lv2 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    var table_lv4 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      32786,
-      0,
-      0,
-      0,
-      0,
-      0,
-      33298,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    function compareHeader(lhs, rhs) {
-      if (isLessThan(lhs, rhs))
-        return -1;
-      return 1;
-    }
-    function isLessThan(lhs, rhs) {
-      const tables = [table_lv0, table_lv2, table_lv4];
-      let curr_level = 0;
-      let i = 0;
-      let j = 0;
-      while (curr_level < tables.length) {
-        if (curr_level === tables.length - 1 && i !== j) {
-          return i > j;
+    exports2.comp16 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "tier",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
-        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
-        if (weight1 === 1 && weight2 === 1) {
-          i = 0;
-          j = 0;
-          ++curr_level;
-        } else if (weight1 === weight2) {
-          ++i;
-          ++j;
-        } else if (weight1 === 0) {
-          ++i;
-        } else if (weight2 === 0) {
-          ++j;
-        } else {
-          return weight1 < weight2;
+      }
+    };
+    exports2.tier1 = {
+      parameterPath: "tier",
+      mapper: {
+        serializedName: "x-ms-access-tier",
+        required: true,
+        xmlName: "x-ms-access-tier",
+        type: {
+          name: "Enum",
+          allowedValues: [
+            "P4",
+            "P6",
+            "P10",
+            "P15",
+            "P20",
+            "P30",
+            "P40",
+            "P50",
+            "P60",
+            "P70",
+            "P80",
+            "Hot",
+            "Cool",
+            "Archive",
+            "Cold"
+          ]
         }
       }
-      return false;
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
-var require_StorageSharedKeyCredentialPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredentialPolicy = void 0;
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    var CredentialPolicy_js_1 = require_CredentialPolicy();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
-    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
-      /**
-       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
-       */
-      factory;
-      /**
-       * Creates an instance of StorageSharedKeyCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
-       * @param factory -
-       */
-      constructor(nextPolicy, options, factory) {
-        super(nextPolicy, options);
-        this.factory = factory;
+    };
+    exports2.queryRequest = {
+      parameterPath: ["options", "queryRequest"],
+      mapper: mappers_js_1.QueryRequest
+    };
+    exports2.comp17 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "query",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Signs request.
-       *
-       * @param request -
-       */
-      signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+    };
+    exports2.comp18 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "tags",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
-        const signature = this.factory.computeHMACSHA256(stringToSign);
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
-        return request2;
       }
-      /**
-       * Retrieve header value according to shared key sign rules.
-       * @see https://learn.microsoft.com/rest/api/storageservices/authenticate-with-shared-key
-       *
-       * @param request -
-       * @param headerName -
-       */
-      getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
+    };
+    exports2.tags = {
+      parameterPath: ["options", "tags"],
+      mapper: mappers_js_1.BlobTags
+    };
+    exports2.transactionalContentMD5 = {
+      parameterPath: ["options", "transactionalContentMD5"],
+      mapper: {
+        serializedName: "Content-MD5",
+        xmlName: "Content-MD5",
+        type: {
+          name: "ByteArray"
         }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
+      }
+    };
+    exports2.transactionalContentCrc64 = {
+      parameterPath: ["options", "transactionalContentCrc64"],
+      mapper: {
+        serializedName: "x-ms-content-crc64",
+        xmlName: "x-ms-content-crc64",
+        type: {
+          name: "ByteArray"
         }
-        return value;
       }
-      /**
-       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
-       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
-       * 2. Convert each HTTP header name to lowercase.
-       * 3. Sort the headers lexicographically by header name, in ascending order.
-       *    Each header may appear only once in the string.
-       * 4. Replace any linear whitespace in the header value with a single space.
-       * 5. Trim any whitespace around the colon in the header.
-       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
-       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
-       *
-       * @param request -
-       */
-      getCanonicalizedHeadersString(request2) {
-        let headersArray = request2.headers.headersArray().filter((value) => {
-          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
-        });
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
+    };
+    exports2.blobType = {
+      parameterPath: "blobType",
+      mapper: {
+        defaultValue: "PageBlob",
+        isConstant: true,
+        serializedName: "x-ms-blob-type",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Retrieves the webResource canonicalized resource string.
-       *
-       * @param request -
-       */
-      getCanonicalizedResourceString(request2) {
-        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${this.factory.accountName}${path3}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
-          }
+    };
+    exports2.blobContentLength = {
+      parameterPath: "blobContentLength",
+      mapper: {
+        serializedName: "x-ms-blob-content-length",
+        required: true,
+        xmlName: "x-ms-blob-content-length",
+        type: {
+          name: "Number"
         }
-        return canonicalizedResourceString;
       }
     };
-    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js
-var require_Credential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/Credential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Credential = void 0;
-    var Credential = class {
-      /**
-       * Creates a RequestPolicy object.
-       *
-       * @param _nextPolicy -
-       * @param _options -
-       */
-      create(_nextPolicy, _options) {
-        throw new Error("Method should be implemented in children classes.");
+    exports2.blobSequenceNumber = {
+      parameterPath: ["options", "blobSequenceNumber"],
+      mapper: {
+        defaultValue: 0,
+        serializedName: "x-ms-blob-sequence-number",
+        xmlName: "x-ms-blob-sequence-number",
+        type: {
+          name: "Number"
+        }
       }
     };
-    exports2.Credential = Credential;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js
-var require_StorageSharedKeyCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy();
-    var Credential_js_1 = require_Credential();
-    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
-      /**
-       * Azure Storage account name; readonly.
-       */
-      accountName;
-      /**
-       * Azure Storage account key; readonly.
-       */
-      accountKey;
-      /**
-       * Creates an instance of StorageSharedKeyCredential.
-       * @param accountName -
-       * @param accountKey -
-       */
-      constructor(accountName, accountKey) {
-        super();
-        this.accountName = accountName;
-        this.accountKey = Buffer.from(accountKey, "base64");
+    exports2.contentType1 = {
+      parameterPath: ["options", "contentType"],
+      mapper: {
+        defaultValue: "application/octet-stream",
+        isConstant: true,
+        serializedName: "Content-Type",
+        type: {
+          name: "String"
+        }
       }
-      /**
-       * Creates a StorageSharedKeyCredentialPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
+    };
+    exports2.body1 = {
+      parameterPath: "body",
+      mapper: {
+        serializedName: "body",
+        required: true,
+        xmlName: "body",
+        type: {
+          name: "Stream"
+        }
       }
-      /**
-       * Generates a hash signature for an HTTP request or for a SAS.
-       *
-       * @param stringToSign -
-       */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
+    };
+    exports2.accept2 = {
+      parameterPath: "accept",
+      mapper: {
+        defaultValue: "application/xml",
+        isConstant: true,
+        serializedName: "Accept",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js
-var require_AnonymousCredentialPolicy = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredentialPolicy = void 0;
-    var CredentialPolicy_js_1 = require_CredentialPolicy();
-    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
-      /**
-       * Creates an instance of AnonymousCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
-       */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
+    exports2.comp19 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "page",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.pageWrite = {
+      parameterPath: "pageWrite",
+      mapper: {
+        defaultValue: "update",
+        isConstant: true,
+        serializedName: "x-ms-page-write",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.ifSequenceNumberLessThanOrEqualTo = {
+      parameterPath: [
+        "options",
+        "sequenceNumberAccessConditions",
+        "ifSequenceNumberLessThanOrEqualTo"
+      ],
+      mapper: {
+        serializedName: "x-ms-if-sequence-number-le",
+        xmlName: "x-ms-if-sequence-number-le",
+        type: {
+          name: "Number"
+        }
+      }
+    };
+    exports2.ifSequenceNumberLessThan = {
+      parameterPath: [
+        "options",
+        "sequenceNumberAccessConditions",
+        "ifSequenceNumberLessThan"
+      ],
+      mapper: {
+        serializedName: "x-ms-if-sequence-number-lt",
+        xmlName: "x-ms-if-sequence-number-lt",
+        type: {
+          name: "Number"
+        }
+      }
+    };
+    exports2.ifSequenceNumberEqualTo = {
+      parameterPath: [
+        "options",
+        "sequenceNumberAccessConditions",
+        "ifSequenceNumberEqualTo"
+      ],
+      mapper: {
+        serializedName: "x-ms-if-sequence-number-eq",
+        xmlName: "x-ms-if-sequence-number-eq",
+        type: {
+          name: "Number"
+        }
+      }
+    };
+    exports2.pageWrite1 = {
+      parameterPath: "pageWrite",
+      mapper: {
+        defaultValue: "clear",
+        isConstant: true,
+        serializedName: "x-ms-page-write",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.sourceUrl = {
+      parameterPath: "sourceUrl",
+      mapper: {
+        serializedName: "x-ms-copy-source",
+        required: true,
+        xmlName: "x-ms-copy-source",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.sourceRange = {
+      parameterPath: "sourceRange",
+      mapper: {
+        serializedName: "x-ms-source-range",
+        required: true,
+        xmlName: "x-ms-source-range",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.sourceContentCrc64 = {
+      parameterPath: ["options", "sourceContentCrc64"],
+      mapper: {
+        serializedName: "x-ms-source-content-crc64",
+        xmlName: "x-ms-source-content-crc64",
+        type: {
+          name: "ByteArray"
+        }
+      }
+    };
+    exports2.range1 = {
+      parameterPath: "range",
+      mapper: {
+        serializedName: "x-ms-range",
+        required: true,
+        xmlName: "x-ms-range",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.comp20 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "pagelist",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.prevsnapshot = {
+      parameterPath: ["options", "prevsnapshot"],
+      mapper: {
+        serializedName: "prevsnapshot",
+        xmlName: "prevsnapshot",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.prevSnapshotUrl = {
+      parameterPath: ["options", "prevSnapshotUrl"],
+      mapper: {
+        serializedName: "x-ms-previous-snapshot-url",
+        xmlName: "x-ms-previous-snapshot-url",
+        type: {
+          name: "String"
+        }
+      }
+    };
+    exports2.sequenceNumberAction = {
+      parameterPath: "sequenceNumberAction",
+      mapper: {
+        serializedName: "x-ms-sequence-number-action",
+        required: true,
+        xmlName: "x-ms-sequence-number-action",
+        type: {
+          name: "Enum",
+          allowedValues: ["max", "update", "increment"]
+        }
       }
     };
-    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js
-var require_AnonymousCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredential = void 0;
-    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy();
-    var Credential_js_1 = require_Credential();
-    var AnonymousCredential = class extends Credential_js_1.Credential {
-      /**
-       * Creates an {@link AnonymousCredentialPolicy} object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
+    exports2.comp21 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "incrementalcopy",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
+        }
       }
     };
-    exports2.AnonymousCredential = AnonymousCredential;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js
-var require_BuffersStream = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/BuffersStream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BuffersStream = void 0;
-    var node_stream_1 = require("node:stream");
-    var BuffersStream = class extends node_stream_1.Readable {
-      buffers;
-      byteLength;
-      /**
-       * The offset of data to be read in the current buffer.
-       */
-      byteOffsetInCurrentBuffer;
-      /**
-       * The index of buffer to be read in the array of buffers.
-       */
-      bufferIndex;
-      /**
-       * The total length of data already read.
-       */
-      pushedBytesLength;
-      /**
-       * Creates an instance of BuffersStream that will emit the data
-       * contained in the array of buffers.
-       *
-       * @param buffers - Array of buffers containing the data
-       * @param byteLength - The total length of data contained in the buffers
-       */
-      constructor(buffers, byteLength, options) {
-        super(options);
-        this.buffers = buffers;
-        this.byteLength = byteLength;
-        this.byteOffsetInCurrentBuffer = 0;
-        this.bufferIndex = 0;
-        this.pushedBytesLength = 0;
-        let buffersLength = 0;
-        for (const buf of this.buffers) {
-          buffersLength += buf.byteLength;
+    exports2.blobType1 = {
+      parameterPath: "blobType",
+      mapper: {
+        defaultValue: "AppendBlob",
+        isConstant: true,
+        serializedName: "x-ms-blob-type",
+        type: {
+          name: "String"
         }
-        if (buffersLength < this.byteLength) {
-          throw new Error("Data size shouldn't be larger than the total length of buffers.");
+      }
+    };
+    exports2.comp22 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "appendblock",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      /**
-       * Internal _read() that will be called when the stream wants to pull more data in.
-       *
-       * @param size - Optional. The size of data to be read
-       */
-      _read(size) {
-        if (this.pushedBytesLength >= this.byteLength) {
-          this.push(null);
+    };
+    exports2.maxSize = {
+      parameterPath: ["options", "appendPositionAccessConditions", "maxSize"],
+      mapper: {
+        serializedName: "x-ms-blob-condition-maxsize",
+        xmlName: "x-ms-blob-condition-maxsize",
+        type: {
+          name: "Number"
         }
-        if (!size) {
-          size = this.readableHighWaterMark;
+      }
+    };
+    exports2.appendPosition = {
+      parameterPath: [
+        "options",
+        "appendPositionAccessConditions",
+        "appendPosition"
+      ],
+      mapper: {
+        serializedName: "x-ms-blob-condition-appendpos",
+        xmlName: "x-ms-blob-condition-appendpos",
+        type: {
+          name: "Number"
         }
-        const outBuffers = [];
-        let i = 0;
-        while (i < size && this.pushedBytesLength < this.byteLength) {
-          const remainingDataInAllBuffers = this.byteLength - this.pushedBytesLength;
-          const remainingCapacityInThisBuffer = this.buffers[this.bufferIndex].byteLength - this.byteOffsetInCurrentBuffer;
-          const remaining = Math.min(remainingCapacityInThisBuffer, remainingDataInAllBuffers);
-          if (remaining > size - i) {
-            const end = this.byteOffsetInCurrentBuffer + size - i;
-            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
-            this.pushedBytesLength += size - i;
-            this.byteOffsetInCurrentBuffer = end;
-            i = size;
-            break;
-          } else {
-            const end = this.byteOffsetInCurrentBuffer + remaining;
-            outBuffers.push(this.buffers[this.bufferIndex].slice(this.byteOffsetInCurrentBuffer, end));
-            if (remaining === remainingCapacityInThisBuffer) {
-              this.byteOffsetInCurrentBuffer = 0;
-              this.bufferIndex++;
-            } else {
-              this.byteOffsetInCurrentBuffer = end;
-            }
-            this.pushedBytesLength += remaining;
-            i += remaining;
-          }
+      }
+    };
+    exports2.sourceRange1 = {
+      parameterPath: ["options", "sourceRange"],
+      mapper: {
+        serializedName: "x-ms-source-range",
+        xmlName: "x-ms-source-range",
+        type: {
+          name: "String"
         }
-        if (outBuffers.length > 1) {
-          this.push(Buffer.concat(outBuffers));
-        } else if (outBuffers.length === 1) {
-          this.push(outBuffers[0]);
+      }
+    };
+    exports2.comp23 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "seal",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
     };
-    exports2.BuffersStream = BuffersStream;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js
-var require_PooledBuffer = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/PooledBuffer.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PooledBuffer = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var BuffersStream_js_1 = require_BuffersStream();
-    var node_buffer_1 = tslib_1.__importDefault(require("node:buffer"));
-    var maxBufferLength = node_buffer_1.default.constants.MAX_LENGTH;
-    var PooledBuffer = class {
-      /**
-       * Internal buffers used to keep the data.
-       * Each buffer has a length of the maxBufferLength except last one.
-       */
-      buffers = [];
-      /**
-       * The total size of internal buffers.
-       */
-      capacity;
-      /**
-       * The total size of data contained in internal buffers.
-       */
-      _size;
-      /**
-       * The size of the data contained in the pooled buffers.
-       */
-      get size() {
-        return this._size;
+    exports2.blobType2 = {
+      parameterPath: "blobType",
+      mapper: {
+        defaultValue: "BlockBlob",
+        isConstant: true,
+        serializedName: "x-ms-blob-type",
+        type: {
+          name: "String"
+        }
       }
-      constructor(capacity, buffers, totalLength) {
-        this.capacity = capacity;
-        this._size = 0;
-        const bufferNum = Math.ceil(capacity / maxBufferLength);
-        for (let i = 0; i < bufferNum; i++) {
-          let len = i === bufferNum - 1 ? capacity % maxBufferLength : maxBufferLength;
-          if (len === 0) {
-            len = maxBufferLength;
-          }
-          this.buffers.push(Buffer.allocUnsafe(len));
+    };
+    exports2.copySourceBlobProperties = {
+      parameterPath: ["options", "copySourceBlobProperties"],
+      mapper: {
+        serializedName: "x-ms-copy-source-blob-properties",
+        xmlName: "x-ms-copy-source-blob-properties",
+        type: {
+          name: "Boolean"
         }
-        if (buffers) {
-          this.fill(buffers, totalLength);
+      }
+    };
+    exports2.comp24 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "block",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      /**
-       * Fill the internal buffers with data in the input buffers serially
-       * with respect to the total length and the total capacity of the internal buffers.
-       * Data copied will be shift out of the input buffers.
-       *
-       * @param buffers - Input buffers containing the data to be filled in the pooled buffer
-       * @param totalLength - Total length of the data to be filled in.
-       *
-       */
-      fill(buffers, totalLength) {
-        this._size = Math.min(this.capacity, totalLength);
-        let i = 0, j = 0, targetOffset = 0, sourceOffset = 0, totalCopiedNum = 0;
-        while (totalCopiedNum < this._size) {
-          const source = buffers[i];
-          const target = this.buffers[j];
-          const copiedNum = source.copy(target, targetOffset, sourceOffset);
-          totalCopiedNum += copiedNum;
-          sourceOffset += copiedNum;
-          targetOffset += copiedNum;
-          if (sourceOffset === source.length) {
-            i++;
-            sourceOffset = 0;
-          }
-          if (targetOffset === target.length) {
-            j++;
-            targetOffset = 0;
-          }
+    };
+    exports2.blockId = {
+      parameterPath: "blockId",
+      mapper: {
+        serializedName: "blockid",
+        required: true,
+        xmlName: "blockid",
+        type: {
+          name: "String"
         }
-        buffers.splice(0, i);
-        if (buffers.length > 0) {
-          buffers[0] = buffers[0].slice(sourceOffset);
+      }
+    };
+    exports2.blocks = {
+      parameterPath: "blocks",
+      mapper: mappers_js_1.BlockLookupList
+    };
+    exports2.comp25 = {
+      parameterPath: "comp",
+      mapper: {
+        defaultValue: "blocklist",
+        isConstant: true,
+        serializedName: "comp",
+        type: {
+          name: "String"
         }
       }
-      /**
-       * Get the readable stream assembled from all the data in the internal buffers.
-       *
-       */
-      getReadableStream() {
-        return new BuffersStream_js_1.BuffersStream(this.buffers, this.size);
+    };
+    exports2.listType = {
+      parameterPath: "listType",
+      mapper: {
+        defaultValue: "committed",
+        serializedName: "blocklisttype",
+        required: true,
+        xmlName: "blocklisttype",
+        type: {
+          name: "Enum",
+          allowedValues: ["committed", "uncommitted", "all"]
+        }
       }
     };
-    exports2.PooledBuffer = PooledBuffer;
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js
-var require_BufferScheduler = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/BufferScheduler.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js
+var require_service = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BufferScheduler = void 0;
-    var events_1 = require("events");
-    var PooledBuffer_js_1 = require_PooledBuffer();
-    var BufferScheduler = class {
-      /**
-       * Size of buffers in incoming and outgoing queues. This class will try to align
-       * data read from Readable stream into buffer chunks with bufferSize defined.
-       */
-      bufferSize;
-      /**
-       * How many buffers can be created or maintained.
-       */
-      maxBuffers;
-      /**
-       * A Node.js Readable stream.
-       */
-      readable;
-      /**
-       * OutgoingHandler is an async function triggered by BufferScheduler when there
-       * are available buffers in outgoing array.
-       */
-      outgoingHandler;
-      /**
-       * An internal event emitter.
-       */
-      emitter = new events_1.EventEmitter();
-      /**
-       * Concurrency of executing outgoingHandlers. (0 lesser than concurrency lesser than or equal to maxBuffers)
-       */
-      concurrency;
-      /**
-       * An internal offset marker to track data offset in bytes of next outgoingHandler.
-       */
-      offset = 0;
-      /**
-       * An internal marker to track whether stream is end.
-       */
-      isStreamEnd = false;
-      /**
-       * An internal marker to track whether stream or outgoingHandler returns error.
-       */
-      isError = false;
-      /**
-       * How many handlers are executing.
-       */
-      executingOutgoingHandlers = 0;
-      /**
-       * Encoding of the input Readable stream which has string data type instead of Buffer.
-       */
-      encoding;
-      /**
-       * How many buffers have been allocated.
-       */
-      numBuffers = 0;
-      /**
-       * Because this class doesn't know how much data every time stream pops, which
-       * is defined by highWaterMarker of the stream. So BufferScheduler will cache
-       * data received from the stream, when data in unresolvedDataArray exceeds the
-       * blockSize defined, it will try to concat a blockSize of buffer, fill into available
-       * buffers from incoming and push to outgoing array.
-       */
-      unresolvedDataArray = [];
-      /**
-       * How much data consisted in unresolvedDataArray.
-       */
-      unresolvedLength = 0;
-      /**
-       * The array includes all the available buffers can be used to fill data from stream.
-       */
-      incoming = [];
-      /**
-       * The array (queue) includes all the buffers filled from stream data.
-       */
-      outgoing = [];
-      /**
-       * Creates an instance of BufferScheduler.
-       *
-       * @param readable - A Node.js Readable stream
-       * @param bufferSize - Buffer size of every maintained buffer
-       * @param maxBuffers - How many buffers can be allocated
-       * @param outgoingHandler - An async function scheduled to be
-       *                                          triggered when a buffer fully filled
-       *                                          with stream data
-       * @param concurrency - Concurrency of executing outgoingHandlers (>0)
-       * @param encoding - [Optional] Encoding of Readable stream when it's a string stream
-       */
-      constructor(readable, bufferSize, maxBuffers, outgoingHandler, concurrency, encoding) {
-        if (bufferSize <= 0) {
-          throw new RangeError(`bufferSize must be larger than 0, current is ${bufferSize}`);
-        }
-        if (maxBuffers <= 0) {
-          throw new RangeError(`maxBuffers must be larger than 0, current is ${maxBuffers}`);
-        }
-        if (concurrency <= 0) {
-          throw new RangeError(`concurrency must be larger than 0, current is ${concurrency}`);
-        }
-        this.bufferSize = bufferSize;
-        this.maxBuffers = maxBuffers;
-        this.readable = readable;
-        this.outgoingHandler = outgoingHandler;
-        this.concurrency = concurrency;
-        this.encoding = encoding;
-      }
-      /**
-       * Start the scheduler, will return error when stream of any of the outgoingHandlers
-       * returns error.
-       *
-       */
-      async do() {
-        return new Promise((resolve2, reject) => {
-          this.readable.on("data", (data) => {
-            data = typeof data === "string" ? Buffer.from(data, this.encoding) : data;
-            this.appendUnresolvedData(data);
-            if (!this.resolveData()) {
-              this.readable.pause();
-            }
-          });
-          this.readable.on("error", (err) => {
-            this.emitter.emit("error", err);
-          });
-          this.readable.on("end", () => {
-            this.isStreamEnd = true;
-            this.emitter.emit("checkEnd");
-          });
-          this.emitter.on("error", (err) => {
-            this.isError = true;
-            this.readable.pause();
-            reject(err);
-          });
-          this.emitter.on("checkEnd", () => {
-            if (this.outgoing.length > 0) {
-              this.triggerOutgoingHandlers();
-              return;
-            }
-            if (this.isStreamEnd && this.executingOutgoingHandlers === 0) {
-              if (this.unresolvedLength > 0 && this.unresolvedLength < this.bufferSize) {
-                const buffer = this.shiftBufferFromUnresolvedDataArray();
-                this.outgoingHandler(() => buffer.getReadableStream(), buffer.size, this.offset).then(resolve2).catch(reject);
-              } else if (this.unresolvedLength >= this.bufferSize) {
-                return;
-              } else {
-                resolve2();
-              }
-            }
-          });
-        });
-      }
+    exports2.ServiceImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs10());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var ServiceImpl = class {
+      client;
       /**
-       * Insert a new data into unresolved array.
-       *
-       * @param data -
+       * Initialize a new instance of the class Service class.
+       * @param client Reference to the service client
        */
-      appendUnresolvedData(data) {
-        this.unresolvedDataArray.push(data);
-        this.unresolvedLength += data.length;
+      constructor(client) {
+        this.client = client;
       }
       /**
-       * Try to shift a buffer with size in blockSize. The buffer returned may be less
-       * than blockSize when data in unresolvedDataArray is less than bufferSize.
-       *
-       */
-      shiftBufferFromUnresolvedDataArray(buffer) {
-        if (!buffer) {
-          buffer = new PooledBuffer_js_1.PooledBuffer(this.bufferSize, this.unresolvedDataArray, this.unresolvedLength);
-        } else {
-          buffer.fill(this.unresolvedDataArray, this.unresolvedLength);
-        }
-        this.unresolvedLength -= buffer.size;
-        return buffer;
+       * Sets properties for a storage account's Blob service endpoint, including properties for Storage
+       * Analytics and CORS (Cross-Origin Resource Sharing) rules
+       * @param blobServiceProperties The StorageService properties.
+       * @param options The options parameters.
+       */
+      setProperties(blobServiceProperties, options) {
+        return this.client.sendOperationRequest({ blobServiceProperties, options }, setPropertiesOperationSpec);
       }
       /**
-       * Resolve data in unresolvedDataArray. For every buffer with size in blockSize
-       * shifted, it will try to get (or allocate a buffer) from incoming, and fill it,
-       * then push it into outgoing to be handled by outgoing handler.
-       *
-       * Return false when available buffers in incoming are not enough, else true.
-       *
-       * @returns Return false when buffers in incoming are not enough, else true.
+       * gets the properties of a storage account's Blob service, including properties for Storage Analytics
+       * and CORS (Cross-Origin Resource Sharing) rules.
+       * @param options The options parameters.
        */
-      resolveData() {
-        while (this.unresolvedLength >= this.bufferSize) {
-          let buffer;
-          if (this.incoming.length > 0) {
-            buffer = this.incoming.shift();
-            this.shiftBufferFromUnresolvedDataArray(buffer);
-          } else {
-            if (this.numBuffers < this.maxBuffers) {
-              buffer = this.shiftBufferFromUnresolvedDataArray();
-              this.numBuffers++;
-            } else {
-              return false;
-            }
-          }
-          this.outgoing.push(buffer);
-          this.triggerOutgoingHandlers();
-        }
-        return true;
+      getProperties(options) {
+        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
       }
       /**
-       * Try to trigger a outgoing handler for every buffer in outgoing. Stop when
-       * concurrency reaches.
+       * Retrieves statistics related to replication for the Blob service. It is only available on the
+       * secondary location endpoint when read-access geo-redundant replication is enabled for the storage
+       * account.
+       * @param options The options parameters.
        */
-      async triggerOutgoingHandlers() {
-        let buffer;
-        do {
-          if (this.executingOutgoingHandlers >= this.concurrency) {
-            return;
-          }
-          buffer = this.outgoing.shift();
-          if (buffer) {
-            this.triggerOutgoingHandler(buffer);
-          }
-        } while (buffer);
+      getStatistics(options) {
+        return this.client.sendOperationRequest({ options }, getStatisticsOperationSpec);
       }
       /**
-       * Trigger a outgoing handler for a buffer shifted from outgoing.
-       *
-       * @param buffer -
+       * The List Containers Segment operation returns a list of the containers under the specified account
+       * @param options The options parameters.
        */
-      async triggerOutgoingHandler(buffer) {
-        const bufferLength = buffer.size;
-        this.executingOutgoingHandlers++;
-        this.offset += bufferLength;
-        try {
-          await this.outgoingHandler(() => buffer.getReadableStream(), bufferLength, this.offset - bufferLength);
-        } catch (err) {
-          this.emitter.emit("error", err);
-          return;
-        }
-        this.executingOutgoingHandlers--;
-        this.reuseBuffer(buffer);
-        this.emitter.emit("checkEnd");
+      listContainersSegment(options) {
+        return this.client.sendOperationRequest({ options }, listContainersSegmentOperationSpec);
       }
       /**
-       * Return buffer used by outgoing handler into incoming.
-       *
-       * @param buffer -
+       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
+       * bearer token authentication.
+       * @param keyInfo Key information
+       * @param options The options parameters.
        */
-      reuseBuffer(buffer) {
-        this.incoming.push(buffer);
-        if (!this.isError && this.resolveData() && !this.isStreamEnd) {
-          this.readable.resume();
-        }
-      }
-    };
-    exports2.BufferScheduler = BufferScheduler;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/cache.js
-var require_cache3 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/cache.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getCachedDefaultHttpClient = getCachedDefaultHttpClient;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var _defaultHttpClient;
-    function getCachedDefaultHttpClient() {
-      if (!_defaultHttpClient) {
-        _defaultHttpClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
+      getUserDelegationKey(keyInfo, options) {
+        return this.client.sendOperationRequest({ keyInfo, options }, getUserDelegationKeyOperationSpec);
       }
-      return _defaultHttpClient;
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js
-var require_RequestPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/RequestPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BaseRequestPolicy = void 0;
-    var BaseRequestPolicy = class {
-      _nextPolicy;
-      _options;
       /**
-       * The main method to implement that manipulates a request/response.
+       * Returns the sku name and account kind
+       * @param options The options parameters.
        */
-      constructor(_nextPolicy, _options) {
-        this._nextPolicy = _nextPolicy;
-        this._options = _options;
+      getAccountInfo(options) {
+        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
       }
       /**
-       * Get whether or not a log with the provided log level should be logged.
-       * @param logLevel - The log level of the log that will be logged.
-       * @returns Whether or not a log with the provided log level should be logged.
+       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
+       * @param contentLength The length of the request.
+       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
+       *                             boundary. Example header value: multipart/mixed; boundary=batch_
+       * @param body Initial data
+       * @param options The options parameters.
        */
-      shouldLog(logLevel) {
-        return this._options.shouldLog(logLevel);
+      submitBatch(contentLength, multipartContentType, body, options) {
+        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
       }
       /**
-       * Attempt to log the provided message to the provided logger. If no logger was provided or if
-       * the log level does not meat the logger's threshold, then nothing will be logged.
-       * @param logLevel - The log level of this log.
-       * @param message - The message of this log.
+       * The Filter Blobs operation enables callers to list blobs across all containers whose tags match a
+       * given search expression.  Filter blobs searches across all containers within a storage account but
+       * can be scoped within the expression to a single container.
+       * @param options The options parameters.
        */
-      log(logLevel, message) {
-        this._options.log(logLevel, message);
+      filterBlobs(options) {
+        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
       }
     };
-    exports2.BaseRequestPolicy = BaseRequestPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/utils/constants.js
-var require_constants15 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/utils/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathStylePorts = exports2.DevelopmentConnectionString = exports2.HeaderConstants = exports2.URLConstants = exports2.SDK_VERSION = void 0;
-    exports2.SDK_VERSION = "1.0.0";
-    exports2.URLConstants = {
-      Parameters: {
-        FORCE_BROWSER_NO_CACHE: "_",
-        SIGNATURE: "sig",
-        SNAPSHOT: "snapshot",
-        VERSIONID: "versionid",
-        TIMEOUT: "timeout"
-      }
+    exports2.ServiceImpl = ServiceImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var setPropertiesOperationSpec = {
+      path: "/",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.ServiceSetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceSetPropertiesExceptionHeaders
+        }
+      },
+      requestBody: Parameters.blobServiceProperties,
+      queryParameters: [
+        Parameters.restype,
+        Parameters.comp,
+        Parameters.timeoutInSeconds
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
     };
-    exports2.HeaderConstants = {
-      AUTHORIZATION: "Authorization",
-      AUTHORIZATION_SCHEME: "Bearer",
-      CONTENT_ENCODING: "Content-Encoding",
-      CONTENT_ID: "Content-ID",
-      CONTENT_LANGUAGE: "Content-Language",
-      CONTENT_LENGTH: "Content-Length",
-      CONTENT_MD5: "Content-Md5",
-      CONTENT_TRANSFER_ENCODING: "Content-Transfer-Encoding",
-      CONTENT_TYPE: "Content-Type",
-      COOKIE: "Cookie",
-      DATE: "date",
-      IF_MATCH: "if-match",
-      IF_MODIFIED_SINCE: "if-modified-since",
-      IF_NONE_MATCH: "if-none-match",
-      IF_UNMODIFIED_SINCE: "if-unmodified-since",
-      PREFIX_FOR_STORAGE: "x-ms-",
-      RANGE: "Range",
-      USER_AGENT: "User-Agent",
-      X_MS_CLIENT_REQUEST_ID: "x-ms-client-request-id",
-      X_MS_COPY_SOURCE: "x-ms-copy-source",
-      X_MS_DATE: "x-ms-date",
-      X_MS_ERROR_CODE: "x-ms-error-code",
-      X_MS_VERSION: "x-ms-version",
-      X_MS_CopySourceErrorCode: "x-ms-copy-source-error-code"
+    var getPropertiesOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlobServiceProperties,
+          headersMapper: Mappers.ServiceGetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetPropertiesExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.restype,
+        Parameters.comp,
+        Parameters.timeoutInSeconds
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getStatisticsOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlobServiceStatistics,
+          headersMapper: Mappers.ServiceGetStatisticsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetStatisticsExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.restype,
+        Parameters.timeoutInSeconds,
+        Parameters.comp1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var listContainersSegmentOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.ListContainersSegmentResponse,
+          headersMapper: Mappers.ServiceListContainersSegmentHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceListContainersSegmentExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp2,
+        Parameters.prefix,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.include
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getUserDelegationKeyOperationSpec = {
+      path: "/",
+      httpMethod: "POST",
+      responses: {
+        200: {
+          bodyMapper: Mappers.UserDelegationKey,
+          headersMapper: Mappers.ServiceGetUserDelegationKeyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetUserDelegationKeyExceptionHeaders
+        }
+      },
+      requestBody: Parameters.keyInfo,
+      queryParameters: [
+        Parameters.restype,
+        Parameters.timeoutInSeconds,
+        Parameters.comp3
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getAccountInfoOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.ServiceGetAccountInfoHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceGetAccountInfoExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.comp,
+        Parameters.timeoutInSeconds,
+        Parameters.restype1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var submitBatchOperationSpec = {
+      path: "/",
+      httpMethod: "POST",
+      responses: {
+        202: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.ServiceSubmitBatchHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceSubmitBatchExceptionHeaders
+        }
+      },
+      requestBody: Parameters.body,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp4],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.multipartContentType
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var filterBlobsOperationSpec = {
+      path: "/",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.FilterBlobSegment,
+          headersMapper: Mappers.ServiceFilterBlobsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ServiceFilterBlobsExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.comp5,
+        Parameters.where
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.DevelopmentConnectionString = `DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;`;
-    exports2.PathStylePorts = [
-      "10000",
-      "10001",
-      "10002",
-      "10003",
-      "10004",
-      "10100",
-      "10101",
-      "10102",
-      "10103",
-      "10104",
-      "11000",
-      "11001",
-      "11002",
-      "11003",
-      "11004",
-      "11100",
-      "11101",
-      "11102",
-      "11103",
-      "11104"
-    ];
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js
-var require_utils_common2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/utils/utils.common.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js
+var require_container = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escapeURLPath = escapeURLPath;
-    exports2.getValueInConnString = getValueInConnString;
-    exports2.extractConnectionStringParts = extractConnectionStringParts;
-    exports2.appendToURLPath = appendToURLPath;
-    exports2.setURLParameter = setURLParameter;
-    exports2.getURLParameter = getURLParameter;
-    exports2.setURLHost = setURLHost;
-    exports2.getURLPath = getURLPath;
-    exports2.getURLScheme = getURLScheme;
-    exports2.getURLPathAndQuery = getURLPathAndQuery;
-    exports2.getURLQueries = getURLQueries;
-    exports2.appendToURLQuery = appendToURLQuery;
-    exports2.truncatedISO8061Date = truncatedISO8061Date;
-    exports2.base64encode = base64encode;
-    exports2.base64decode = base64decode;
-    exports2.generateBlockID = generateBlockID;
-    exports2.delay = delay;
-    exports2.padStart = padStart2;
-    exports2.sanitizeURL = sanitizeURL;
-    exports2.sanitizeHeaders = sanitizeHeaders;
-    exports2.iEqual = iEqual;
-    exports2.getAccountNameFromUrl = getAccountNameFromUrl;
-    exports2.isIpEndpointStyle = isIpEndpointStyle;
-    exports2.attachCredential = attachCredential;
-    exports2.httpAuthorizationToString = httpAuthorizationToString;
-    exports2.EscapePath = EscapePath;
-    exports2.assertResponse = assertResponse;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants15();
-    function escapeURLPath(url) {
-      const urlParsed = new URL(url);
-      let path3 = urlParsed.pathname;
-      path3 = path3 || "/";
-      path3 = escape(path3);
-      urlParsed.pathname = path3;
-      return urlParsed.toString();
-    }
-    function getProxyUriFromDevConnString(connectionString) {
-      let proxyUri = "";
-      if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
-        const matchCredentials = connectionString.split(";");
-        for (const element of matchCredentials) {
-          if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
-            proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
-          }
-        }
+    exports2.ContainerImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs10());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var ContainerImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class Container class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
       }
-      return proxyUri;
-    }
-    function getValueInConnString(connectionString, argument) {
-      const elements = connectionString.split(";");
-      for (const element of elements) {
-        if (element.trim().startsWith(argument)) {
-          return element.trim().match(argument + "=(.*)")[1];
-        }
+      /**
+       * creates a new container under the specified account. If the container with the same name already
+       * exists, the operation fails
+       * @param options The options parameters.
+       */
+      create(options) {
+        return this.client.sendOperationRequest({ options }, createOperationSpec);
       }
-      return "";
-    }
-    function extractConnectionStringParts(connectionString) {
-      let proxyUri = "";
-      if (connectionString.startsWith("UseDevelopmentStorage=true")) {
-        proxyUri = getProxyUriFromDevConnString(connectionString);
-        connectionString = constants_js_1.DevelopmentConnectionString;
+      /**
+       * returns all user-defined metadata and system properties for the specified container. The data
+       * returned does not include the container's list of blobs
+       * @param options The options parameters.
+       */
+      getProperties(options) {
+        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
       }
-      let blobEndpoint = getValueInConnString(connectionString, "BlobEndpoint");
-      blobEndpoint = blobEndpoint.endsWith("/") ? blobEndpoint.slice(0, -1) : blobEndpoint;
-      if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
-        let defaultEndpointsProtocol = "";
-        let accountName = "";
-        let accountKey = Buffer.from("accountKey", "base64");
-        let endpointSuffix = "";
-        accountName = getValueInConnString(connectionString, "AccountName");
-        accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
-        if (!blobEndpoint) {
-          defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
-          const protocol = defaultEndpointsProtocol.toLowerCase();
-          if (protocol !== "https" && protocol !== "http") {
-            throw new Error("Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'");
-          }
-          endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
-          if (!endpointSuffix) {
-            throw new Error("Invalid EndpointSuffix in the provided Connection String");
-          }
-          blobEndpoint = `${defaultEndpointsProtocol}://${accountName}.blob.${endpointSuffix}`;
-        }
-        if (!accountName) {
-          throw new Error("Invalid AccountName in the provided Connection String");
-        } else if (accountKey.length === 0) {
-          throw new Error("Invalid AccountKey in the provided Connection String");
-        }
-        return {
-          kind: "AccountConnString",
-          url: blobEndpoint,
-          accountName,
-          accountKey,
-          proxyUri
-        };
-      } else {
-        let accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
-        let accountName = getValueInConnString(connectionString, "AccountName");
-        if (!accountName) {
-          accountName = getAccountNameFromUrl(blobEndpoint);
-        }
-        if (!blobEndpoint) {
-          throw new Error("Invalid BlobEndpoint in the provided SAS Connection String");
-        } else if (!accountSas) {
-          throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
-        }
-        if (accountSas.startsWith("?")) {
-          accountSas = accountSas.substring(1);
-        }
-        return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas };
+      /**
+       * operation marks the specified container for deletion. The container and any blobs contained within
+       * it are later deleted during garbage collection
+       * @param options The options parameters.
+       */
+      delete(options) {
+        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
       }
-    }
-    function escape(text) {
-      return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%");
-    }
-    function appendToURLPath(url, name) {
-      const urlParsed = new URL(url);
-      let path3 = urlParsed.pathname;
-      path3 = path3 ? path3.endsWith("/") ? `${path3}${name}` : `${path3}/${name}` : name;
-      urlParsed.pathname = path3;
-      return urlParsed.toString();
-    }
-    function setURLParameter(url, name, value) {
-      const urlParsed = new URL(url);
-      const encodedName = encodeURIComponent(name);
-      const encodedValue = value ? encodeURIComponent(value) : void 0;
-      const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
-      const searchPieces = [];
-      for (const pair of searchString.slice(1).split("&")) {
-        if (pair) {
-          const [key] = pair.split("=", 2);
-          if (key !== encodedName) {
-            searchPieces.push(pair);
-          }
-        }
+      /**
+       * operation sets one or more user-defined name-value pairs for the specified container.
+       * @param options The options parameters.
+       */
+      setMetadata(options) {
+        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
       }
-      if (encodedValue) {
-        searchPieces.push(`${encodedName}=${encodedValue}`);
+      /**
+       * gets the permissions for the specified container. The permissions indicate whether container data
+       * may be accessed publicly.
+       * @param options The options parameters.
+       */
+      getAccessPolicy(options) {
+        return this.client.sendOperationRequest({ options }, getAccessPolicyOperationSpec);
       }
-      urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
-      return urlParsed.toString();
-    }
-    function getURLParameter(url, name) {
-      const urlParsed = new URL(url);
-      return urlParsed.searchParams.get(name) ?? void 0;
-    }
-    function setURLHost(url, host) {
-      const urlParsed = new URL(url);
-      urlParsed.hostname = host;
-      return urlParsed.toString();
-    }
-    function getURLPath(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.pathname;
-      } catch (e) {
-        return void 0;
+      /**
+       * sets the permissions for the specified container. The permissions indicate whether blobs in a
+       * container may be accessed publicly.
+       * @param options The options parameters.
+       */
+      setAccessPolicy(options) {
+        return this.client.sendOperationRequest({ options }, setAccessPolicyOperationSpec);
       }
-    }
-    function getURLScheme(url) {
-      try {
-        const urlParsed = new URL(url);
-        return urlParsed.protocol.endsWith(":") ? urlParsed.protocol.slice(0, -1) : urlParsed.protocol;
-      } catch (e) {
-        return void 0;
+      /**
+       * Restores a previously-deleted container.
+       * @param options The options parameters.
+       */
+      restore(options) {
+        return this.client.sendOperationRequest({ options }, restoreOperationSpec);
       }
-    }
-    function getURLPathAndQuery(url) {
-      const urlParsed = new URL(url);
-      const pathString = urlParsed.pathname;
-      if (!pathString) {
-        throw new RangeError("Invalid url without valid path.");
+      /**
+       * Renames an existing container.
+       * @param sourceContainerName Required.  Specifies the name of the container to rename.
+       * @param options The options parameters.
+       */
+      rename(sourceContainerName, options) {
+        return this.client.sendOperationRequest({ sourceContainerName, options }, renameOperationSpec);
       }
-      let queryString = urlParsed.search || "";
-      queryString = queryString.trim();
-      if (queryString !== "") {
-        queryString = queryString.startsWith("?") ? queryString : `?${queryString}`;
+      /**
+       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
+       * @param contentLength The length of the request.
+       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
+       *                             boundary. Example header value: multipart/mixed; boundary=batch_
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      submitBatch(contentLength, multipartContentType, body, options) {
+        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
       }
-      return `${pathString}${queryString}`;
-    }
-    function getURLQueries(url) {
-      let queryString = new URL(url).search;
-      if (!queryString) {
-        return {};
+      /**
+       * The Filter Blobs operation enables callers to list blobs in a container whose tags match a given
+       * search expression.  Filter blobs searches within the given container.
+       * @param options The options parameters.
+       */
+      filterBlobs(options) {
+        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
       }
-      queryString = queryString.trim();
-      queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
-      let querySubStrings = queryString.split("&");
-      querySubStrings = querySubStrings.filter((value) => {
-        const indexOfEqual = value.indexOf("=");
-        const lastIndexOfEqual = value.lastIndexOf("=");
-        return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
-      });
-      const queries = {};
-      for (const querySubString of querySubStrings) {
-        const splitResults = querySubString.split("=");
-        const key = splitResults[0];
-        const value = splitResults[1];
-        queries[key] = value;
+      /**
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param options The options parameters.
+       */
+      acquireLease(options) {
+        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
       }
-      return queries;
-    }
-    function appendToURLQuery(url, queryParts) {
-      const urlParsed = new URL(url);
-      let query = urlParsed.search;
-      if (query) {
-        query += "&" + queryParts;
-      } else {
-        query = queryParts;
+      /**
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
+       */
+      releaseLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
       }
-      urlParsed.search = query;
-      return urlParsed.toString();
-    }
-    function truncatedISO8061Date(date, withMilliseconds = true) {
-      const dateString = date.toISOString();
-      return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
-    }
-    function base64encode(content) {
-      return !core_util_1.isNodeLike ? btoa(content) : Buffer.from(content).toString("base64");
-    }
-    function base64decode(encodedString) {
-      return !core_util_1.isNodeLike ? atob(encodedString) : Buffer.from(encodedString, "base64").toString();
-    }
-    function generateBlockID(blockIDPrefix, blockIndex) {
-      const maxSourceStringLength = 48;
-      const maxBlockIndexLength = 6;
-      const maxAllowedBlockIDPrefixLength = maxSourceStringLength - maxBlockIndexLength;
-      if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) {
-        blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength);
+      /**
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
+       */
+      renewLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
       }
-      const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0");
-      return base64encode(res);
-    }
-    async function delay(timeInMs, aborter, abortError) {
-      return new Promise((resolve2, reject) => {
-        let timeout;
-        const abortHandler = () => {
-          if (timeout !== void 0) {
-            clearTimeout(timeout);
-          }
-          reject(abortError);
-        };
-        const resolveHandler = () => {
-          if (aborter !== void 0) {
-            aborter.removeEventListener("abort", abortHandler);
-          }
-          resolve2();
-        };
-        timeout = setTimeout(resolveHandler, timeInMs);
-        if (aborter !== void 0) {
-          aborter.addEventListener("abort", abortHandler);
-        }
-      });
-    }
-    function padStart2(currentString, targetLength, padString = " ") {
-      if (String.prototype.padStart) {
-        return currentString.padStart(targetLength, padString);
+      /**
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param options The options parameters.
+       */
+      breakLease(options) {
+        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
       }
-      padString = padString || " ";
-      if (currentString.length > targetLength) {
-        return currentString;
-      } else {
-        targetLength = targetLength - currentString.length;
-        if (targetLength > padString.length) {
-          padString += padString.repeat(targetLength / padString.length);
+      /**
+       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
+       * be 15 to 60 seconds, or can be infinite
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
+       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
+       *                        (String) for a list of valid GUID string formats.
+       * @param options The options parameters.
+       */
+      changeLease(leaseId, proposedLeaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
+      }
+      /**
+       * [Update] The List Blobs operation returns a list of the blobs under the specified container
+       * @param options The options parameters.
+       */
+      listBlobFlatSegment(options) {
+        return this.client.sendOperationRequest({ options }, listBlobFlatSegmentOperationSpec);
+      }
+      /**
+       * [Update] The List Blobs operation returns a list of the blobs under the specified container
+       * @param delimiter When the request includes this parameter, the operation returns a BlobPrefix
+       *                  element in the response body that acts as a placeholder for all blobs whose names begin with the
+       *                  same substring up to the appearance of the delimiter character. The delimiter may be a single
+       *                  character or a string.
+       * @param options The options parameters.
+       */
+      listBlobHierarchySegment(delimiter, options) {
+        return this.client.sendOperationRequest({ delimiter, options }, listBlobHierarchySegmentOperationSpec);
+      }
+      /**
+       * Returns the sku name and account kind
+       * @param options The options parameters.
+       */
+      getAccountInfo(options) {
+        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+      }
+    };
+    exports2.ContainerImpl = ContainerImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.ContainerCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerCreateExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.access,
+        Parameters.defaultEncryptionScope,
+        Parameters.preventEncryptionScopeOverride
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPropertiesOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerGetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerGetPropertiesExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var deleteOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "DELETE",
+      responses: {
+        202: {
+          headersMapper: Mappers.ContainerDeleteHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerDeleteExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setMetadataOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerSetMetadataHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerSetMetadataExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp6
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getAccessPolicyOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: {
+            type: {
+              name: "Sequence",
+              element: {
+                type: { name: "Composite", className: "SignedIdentifier" }
+              }
+            },
+            serializedName: "SignedIdentifiers",
+            xmlName: "SignedIdentifiers",
+            xmlIsWrapped: true,
+            xmlElementName: "SignedIdentifier"
+          },
+          headersMapper: Mappers.ContainerGetAccessPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerGetAccessPolicyExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp7
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setAccessPolicyOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerSetAccessPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerSetAccessPolicyExceptionHeaders
+        }
+      },
+      requestBody: Parameters.containerAcl,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp7
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.access,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var restoreOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.ContainerRestoreHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerRestoreExceptionHeaders
         }
-        return padString.slice(0, targetLength) + currentString;
-      }
-    }
-    function sanitizeURL(url) {
-      let safeURL = url;
-      if (getURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE)) {
-        safeURL = setURLParameter(safeURL, constants_js_1.URLConstants.Parameters.SIGNATURE, "*****");
-      }
-      return safeURL;
-    }
-    function sanitizeHeaders(originalHeader) {
-      const headers = (0, core_rest_pipeline_1.createHttpHeaders)();
-      for (const [name, value] of originalHeader) {
-        if (name.toLowerCase() === constants_js_1.HeaderConstants.AUTHORIZATION.toLowerCase()) {
-          headers.set(name, "*****");
-        } else if (name.toLowerCase() === constants_js_1.HeaderConstants.X_MS_COPY_SOURCE) {
-          headers.set(name, sanitizeURL(value));
-        } else {
-          headers.set(name, value);
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp8
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.deletedContainerName,
+        Parameters.deletedContainerVersion
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var renameOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerRenameHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerRenameExceptionHeaders
         }
-      }
-      return headers;
-    }
-    function iEqual(str1, str2) {
-      return str1.toLocaleLowerCase() === str2.toLocaleLowerCase();
-    }
-    function getAccountNameFromUrl(url) {
-      const parsedUrl = new URL(url);
-      let accountName;
-      try {
-        if (parsedUrl.hostname.split(".")[1] === "blob") {
-          accountName = parsedUrl.hostname.split(".")[0];
-        } else if (isIpEndpointStyle(parsedUrl)) {
-          accountName = parsedUrl.pathname.split("/")[1];
-        } else {
-          accountName = "";
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp9
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.sourceContainerName,
+        Parameters.sourceLeaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var submitBatchOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "POST",
+      responses: {
+        202: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.ContainerSubmitBatchHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerSubmitBatchExceptionHeaders
         }
-        return accountName;
-      } catch (error3) {
-        throw new Error("Unable to extract accountName with provided information.");
-      }
-    }
-    function isIpEndpointStyle(parsedUrl) {
-      const host = parsedUrl.host;
-      return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) || Boolean(parsedUrl.port) && constants_js_1.PathStylePorts.includes(parsedUrl.port);
-    }
-    function attachCredential(thing, credential) {
-      thing.credential = credential;
-      return thing;
-    }
-    function httpAuthorizationToString(httpAuthorization) {
-      return httpAuthorization ? httpAuthorization.scheme + " " + httpAuthorization.value : void 0;
-    }
-    function EscapePath(blobName) {
-      const split = blobName.split("/");
-      for (let i = 0; i < split.length; i++) {
-        split[i] = encodeURIComponent(split[i]);
-      }
-      return split.join("/");
-    }
-    function assertResponse(response) {
-      if (`_response` in response) {
-        return response;
-      }
-      throw new TypeError(`Unexpected response object ${response}`);
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js
-var require_StorageBrowserPolicy = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common2();
-    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * Creates an instance of StorageBrowserPolicy.
-       * @param nextPolicy -
-       * @param options -
-       */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
-      }
-      /**
-       * Sends out request.
-       *
-       * @param request -
-       */
-      async sendRequest(request2) {
-        if (core_util_1.isNodeLike) {
-          return this._nextPolicy.sendRequest(request2);
+      },
+      requestBody: Parameters.body,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp4,
+        Parameters.restype2
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.multipartContentType
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var filterBlobsOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.FilterBlobSegment,
+          headersMapper: Mappers.ContainerFilterBlobsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerFilterBlobsExceptionHeaders
         }
-        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
-          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.comp5,
+        Parameters.where,
+        Parameters.restype2
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var acquireLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.ContainerAcquireLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerAcquireLeaseExceptionHeaders
         }
-        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
-        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-        return this._nextPolicy.sendRequest(request2);
-      }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action,
+        Parameters.duration,
+        Parameters.proposedLeaseId
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js
-var require_StorageBrowserPolicyFactory = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
-    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy();
-    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
-      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
-    } });
-    var StorageBrowserPolicyFactory = class {
-      /**
-       * Creates a StorageBrowserPolicyFactory object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
-      }
+    var releaseLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerReleaseLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerReleaseLeaseExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action1,
+        Parameters.leaseId1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js
-var require_CredentialPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/CredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.CredentialPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    var CredentialPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * Sends out request.
-       *
-       * @param request -
-       */
-      sendRequest(request2) {
-        return this._nextPolicy.sendRequest(this.signRequest(request2));
-      }
-      /**
-       * Child classes must implement this method with request signing. This method
-       * will be executed in {@link sendRequest}.
-       *
-       * @param request -
-       */
-      signRequest(request2) {
-        return request2;
-      }
+    var renewLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerRenewLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerRenewLeaseExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action2
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.CredentialPolicy = CredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js
-var require_AnonymousCredentialPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/AnonymousCredentialPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredentialPolicy = void 0;
-    var CredentialPolicy_js_1 = require_CredentialPolicy2();
-    var AnonymousCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
-      /**
-       * Creates an instance of AnonymousCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
-       */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
-      }
+    var breakLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.ContainerBreakLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerBreakLeaseExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action3,
+        Parameters.breakPeriod
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.AnonymousCredentialPolicy = AnonymousCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js
-var require_Credential2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/credentials/Credential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Credential = void 0;
-    var Credential = class {
-      /**
-       * Creates a RequestPolicy object.
-       *
-       * @param _nextPolicy -
-       * @param _options -
-       */
-      create(_nextPolicy, _options) {
-        throw new Error("Method should be implemented in children classes.");
-      }
+    var changeLeaseOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerChangeLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerChangeLeaseExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.restype2,
+        Parameters.comp10
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action4,
+        Parameters.proposedLeaseId1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.Credential = Credential;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js
-var require_AnonymousCredential2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/credentials/AnonymousCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AnonymousCredential = void 0;
-    var AnonymousCredentialPolicy_js_1 = require_AnonymousCredentialPolicy2();
-    var Credential_js_1 = require_Credential2();
-    var AnonymousCredential = class extends Credential_js_1.Credential {
-      /**
-       * Creates an {@link AnonymousCredentialPolicy} object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new AnonymousCredentialPolicy_js_1.AnonymousCredentialPolicy(nextPolicy, options);
-      }
+    var listBlobFlatSegmentOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.ListBlobsFlatSegmentResponse,
+          headersMapper: Mappers.ContainerListBlobFlatSegmentHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerListBlobFlatSegmentExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp2,
+        Parameters.prefix,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.restype2,
+        Parameters.include1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.AnonymousCredential = AnonymousCredential;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js
-var require_SharedKeyComparator2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/utils/SharedKeyComparator.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.compareHeader = compareHeader;
-    var table_lv0 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1820,
-      0,
-      1823,
-      1825,
-      1827,
-      1829,
-      0,
-      0,
-      0,
-      1837,
-      2051,
-      0,
-      0,
-      1843,
-      0,
-      3331,
-      3354,
-      3356,
-      3358,
-      3360,
-      3362,
-      3364,
-      3366,
-      3368,
-      3370,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      0,
-      0,
-      1859,
-      1860,
-      1864,
-      3586,
-      3593,
-      3594,
-      3610,
-      3617,
-      3619,
-      3621,
-      3628,
-      3634,
-      3637,
-      3638,
-      3656,
-      3665,
-      3696,
-      3708,
-      3710,
-      3721,
-      3722,
-      3729,
-      3737,
-      3743,
-      3746,
-      3748,
-      3750,
-      3751,
-      3753,
-      0,
-      1868,
-      0,
-      1872,
-      0
-    ]);
-    var table_lv2 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      18,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    var table_lv4 = new Uint32Array([
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      32786,
-      0,
-      0,
-      0,
-      0,
-      0,
-      33298,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ]);
-    function compareHeader(lhs, rhs) {
-      if (isLessThan(lhs, rhs))
-        return -1;
-      return 1;
-    }
-    function isLessThan(lhs, rhs) {
-      const tables = [table_lv0, table_lv2, table_lv4];
-      let curr_level = 0;
-      let i = 0;
-      let j = 0;
-      while (curr_level < tables.length) {
-        if (curr_level === tables.length - 1 && i !== j) {
-          return i > j;
+    var listBlobHierarchySegmentOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.ListBlobsHierarchySegmentResponse,
+          headersMapper: Mappers.ContainerListBlobHierarchySegmentHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerListBlobHierarchySegmentExceptionHeaders
         }
-        const weight1 = i < lhs.length ? tables[curr_level][lhs[i].charCodeAt(0)] : 1;
-        const weight2 = j < rhs.length ? tables[curr_level][rhs[j].charCodeAt(0)] : 1;
-        if (weight1 === 1 && weight2 === 1) {
-          i = 0;
-          j = 0;
-          ++curr_level;
-        } else if (weight1 === weight2) {
-          ++i;
-          ++j;
-        } else if (weight1 === 0) {
-          ++i;
-        } else if (weight2 === 0) {
-          ++j;
-        } else {
-          return weight1 < weight2;
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp2,
+        Parameters.prefix,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.restype2,
+        Parameters.include1,
+        Parameters.delimiter
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getAccountInfoOperationSpec = {
+      path: "/{containerName}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.ContainerGetAccountInfoHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.ContainerGetAccountInfoExceptionHeaders
         }
-      }
-      return false;
-    }
+      },
+      queryParameters: [
+        Parameters.comp,
+        Parameters.timeoutInSeconds,
+        Parameters.restype1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
   }
 });
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js
-var require_StorageSharedKeyCredentialPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js"(exports2) {
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js
+var require_blob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredentialPolicy = void 0;
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common2();
-    var CredentialPolicy_js_1 = require_CredentialPolicy2();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
-    var StorageSharedKeyCredentialPolicy = class extends CredentialPolicy_js_1.CredentialPolicy {
+    exports2.BlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs10());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var BlobImpl = class {
+      client;
       /**
-       * Reference to StorageSharedKeyCredential which generates StorageSharedKeyCredentialPolicy
+       * Initialize a new instance of the class Blob class.
+       * @param client Reference to the service client
        */
-      factory;
+      constructor(client) {
+        this.client = client;
+      }
       /**
-       * Creates an instance of StorageSharedKeyCredentialPolicy.
-       * @param nextPolicy -
-       * @param options -
-       * @param factory -
+       * The Download operation reads or downloads a blob from the system, including its metadata and
+       * properties. You can also call Download to read a snapshot.
+       * @param options The options parameters.
        */
-      constructor(nextPolicy, options, factory) {
-        super(nextPolicy, options);
-        this.factory = factory;
+      download(options) {
+        return this.client.sendOperationRequest({ options }, downloadOperationSpec);
       }
       /**
-       * Signs request.
-       *
-       * @param request -
+       * The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system
+       * properties for the blob. It does not return the content of the blob.
+       * @param options The options parameters.
        */
-      signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || request2.body !== void 0) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          this.getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + this.getCanonicalizedHeadersString(request2) + this.getCanonicalizedResourceString(request2);
-        const signature = this.factory.computeHMACSHA256(stringToSign);
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${this.factory.accountName}:${signature}`);
-        return request2;
+      getProperties(options) {
+        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
       }
       /**
-       * Retrieve header value according to shared key sign rules.
-       * @see https://learn.microsoft.com/en-us/rest/api/storageservices/authenticate-with-shared-key
-       *
-       * @param request -
-       * @param headerName -
+       * If the storage account's soft delete feature is disabled then, when a blob is deleted, it is
+       * permanently removed from the storage account. If the storage account's soft delete feature is
+       * enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible
+       * immediately. However, the blob service retains the blob or snapshot for the number of days specified
+       * by the DeleteRetentionPolicy section of [Storage service properties]
+       * (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is
+       * permanently removed from the storage account. Note that you continue to be charged for the
+       * soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the
+       * "include=deleted" query parameter to discover which blobs and snapshots have been soft deleted. You
+       * can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a
+       * soft-deleted blob or snapshot causes the service to return an HTTP status code of 404
+       * (ResourceNotFound).
+       * @param options The options parameters.
        */
-      getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
-        }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
-        }
-        return value;
+      delete(options) {
+        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
       }
       /**
-       * To construct the CanonicalizedHeaders portion of the signature string, follow these steps:
-       * 1. Retrieve all headers for the resource that begin with x-ms-, including the x-ms-date header.
-       * 2. Convert each HTTP header name to lowercase.
-       * 3. Sort the headers lexicographically by header name, in ascending order.
-       *    Each header may appear only once in the string.
-       * 4. Replace any linear whitespace in the header value with a single space.
-       * 5. Trim any whitespace around the colon in the header.
-       * 6. Finally, append a new-line character to each canonicalized header in the resulting list.
-       *    Construct the CanonicalizedHeaders string by concatenating all headers in this list into a single string.
-       *
-       * @param request -
+       * Undelete a blob that was previously soft deleted
+       * @param options The options parameters.
        */
-      getCanonicalizedHeadersString(request2) {
-        let headersArray = request2.headers.headersArray().filter((value) => {
-          return value.name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE);
-        });
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
+      undelete(options) {
+        return this.client.sendOperationRequest({ options }, undeleteOperationSpec);
       }
       /**
-       * Retrieves the webResource canonicalized resource string.
-       *
-       * @param request -
+       * Sets the time a blob will expire and be deleted.
+       * @param expiryOptions Required. Indicates mode of the expiry time
+       * @param options The options parameters.
        */
-      getCanonicalizedResourceString(request2) {
-        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${this.factory.accountName}${path3}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
-          }
-        }
-        return canonicalizedResourceString;
+      setExpiry(expiryOptions, options) {
+        return this.client.sendOperationRequest({ expiryOptions, options }, setExpiryOperationSpec);
       }
-    };
-    exports2.StorageSharedKeyCredentialPolicy = StorageSharedKeyCredentialPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js
-var require_StorageSharedKeyCredential2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/credentials/StorageSharedKeyCredential.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageSharedKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var StorageSharedKeyCredentialPolicy_js_1 = require_StorageSharedKeyCredentialPolicy2();
-    var Credential_js_1 = require_Credential2();
-    var StorageSharedKeyCredential = class extends Credential_js_1.Credential {
       /**
-       * Azure Storage account name; readonly.
+       * The Set HTTP Headers operation sets system properties on the blob
+       * @param options The options parameters.
        */
-      accountName;
+      setHttpHeaders(options) {
+        return this.client.sendOperationRequest({ options }, setHttpHeadersOperationSpec);
+      }
       /**
-       * Azure Storage account key; readonly.
+       * The Set Immutability Policy operation sets the immutability policy on the blob
+       * @param options The options parameters.
        */
-      accountKey;
+      setImmutabilityPolicy(options) {
+        return this.client.sendOperationRequest({ options }, setImmutabilityPolicyOperationSpec);
+      }
       /**
-       * Creates an instance of StorageSharedKeyCredential.
-       * @param accountName -
-       * @param accountKey -
+       * The Delete Immutability Policy operation deletes the immutability policy on the blob
+       * @param options The options parameters.
        */
-      constructor(accountName, accountKey) {
-        super();
-        this.accountName = accountName;
-        this.accountKey = Buffer.from(accountKey, "base64");
+      deleteImmutabilityPolicy(options) {
+        return this.client.sendOperationRequest({ options }, deleteImmutabilityPolicyOperationSpec);
       }
       /**
-       * Creates a StorageSharedKeyCredentialPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
+       * The Set Legal Hold operation sets a legal hold on the blob.
+       * @param legalHold Specified if a legal hold should be set on the blob.
+       * @param options The options parameters.
        */
-      create(nextPolicy, options) {
-        return new StorageSharedKeyCredentialPolicy_js_1.StorageSharedKeyCredentialPolicy(nextPolicy, options, this);
+      setLegalHold(legalHold, options) {
+        return this.client.sendOperationRequest({ legalHold, options }, setLegalHoldOperationSpec);
       }
       /**
-       * Generates a hash signature for an HTTP request or for a SAS.
-       *
-       * @param stringToSign -
+       * The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more
+       * name-value pairs
+       * @param options The options parameters.
        */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.accountKey).update(stringToSign, "utf8").digest("base64");
+      setMetadata(options) {
+        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
       }
-    };
-    exports2.StorageSharedKeyCredential = StorageSharedKeyCredential;
-  }
-});
-
-// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js
-var require_AbortError4 = __commonJS({
-  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/AbortError.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError = class extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "AbortError";
+      /**
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param options The options parameters.
+       */
+      acquireLease(options) {
+        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
+      }
+      /**
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
+       */
+      releaseLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
+      }
+      /**
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param options The options parameters.
+       */
+      renewLease(leaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
+      }
+      /**
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param leaseId Specifies the current lease ID on the resource.
+       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
+       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
+       *                        (String) for a list of valid GUID string formats.
+       * @param options The options parameters.
+       */
+      changeLease(leaseId, proposedLeaseId, options) {
+        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
+      }
+      /**
+       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
+       * operations
+       * @param options The options parameters.
+       */
+      breakLease(options) {
+        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
+      }
+      /**
+       * The Create Snapshot operation creates a read-only snapshot of a blob
+       * @param options The options parameters.
+       */
+      createSnapshot(options) {
+        return this.client.sendOperationRequest({ options }, createSnapshotOperationSpec);
+      }
+      /**
+       * The Start Copy From URL operation copies a blob or an internet resource to a new blob.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      startCopyFromURL(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, startCopyFromURLOperationSpec);
+      }
+      /**
+       * The Copy From URL operation copies a blob or an internet resource to a new blob. It will not return
+       * a response until the copy is complete.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      copyFromURL(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, copyFromURLOperationSpec);
+      }
+      /**
+       * The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination
+       * blob with zero length and full metadata.
+       * @param copyId The copy identifier provided in the x-ms-copy-id header of the original Copy Blob
+       *               operation.
+       * @param options The options parameters.
+       */
+      abortCopyFromURL(copyId, options) {
+        return this.client.sendOperationRequest({ copyId, options }, abortCopyFromURLOperationSpec);
+      }
+      /**
+       * The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium
+       * storage account and on a block blob in a blob storage account (locally redundant storage only). A
+       * premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block
+       * blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's
+       * ETag.
+       * @param tier Indicates the tier to be set on the blob.
+       * @param options The options parameters.
+       */
+      setTier(tier, options) {
+        return this.client.sendOperationRequest({ tier, options }, setTierOperationSpec);
+      }
+      /**
+       * Returns the sku name and account kind
+       * @param options The options parameters.
+       */
+      getAccountInfo(options) {
+        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+      }
+      /**
+       * The Query operation enables users to select/project on blob data by providing simple query
+       * expressions.
+       * @param options The options parameters.
+       */
+      query(options) {
+        return this.client.sendOperationRequest({ options }, queryOperationSpec);
+      }
+      /**
+       * The Get Tags operation enables users to get the tags associated with a blob.
+       * @param options The options parameters.
+       */
+      getTags(options) {
+        return this.client.sendOperationRequest({ options }, getTagsOperationSpec);
+      }
+      /**
+       * The Set Tags operation enables users to set tags on a blob.
+       * @param options The options parameters.
+       */
+      setTags(options) {
+        return this.client.sendOperationRequest({ options }, setTagsOperationSpec);
       }
     };
-    exports2.AbortError = AbortError;
-  }
-});
-
-// node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js
-var require_commonjs14 = __commonJS({
-  "node_modules/@azure/storage-common/node_modules/@azure/abort-controller/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AbortError = void 0;
-    var AbortError_js_1 = require_AbortError4();
-    Object.defineProperty(exports2, "AbortError", { enumerable: true, get: function() {
-      return AbortError_js_1.AbortError;
-    } });
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/log.js
-var require_log6 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/log.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs4();
-    exports2.logger = (0, logger_1.createClientLogger)("storage-common");
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js
-var require_StorageRetryPolicyType2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyType.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicyType;
-    (function(StorageRetryPolicyType2) {
-      StorageRetryPolicyType2[StorageRetryPolicyType2["EXPONENTIAL"] = 0] = "EXPONENTIAL";
-      StorageRetryPolicyType2[StorageRetryPolicyType2["FIXED"] = 1] = "FIXED";
-    })(StorageRetryPolicyType || (exports2.StorageRetryPolicyType = StorageRetryPolicyType = {}));
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js
-var require_StorageRetryPolicy2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicy = void 0;
-    exports2.NewRetryPolicyFactory = NewRetryPolicyFactory;
-    var abort_controller_1 = require_commonjs14();
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common2();
-    var log_js_1 = require_log6();
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
-    function NewRetryPolicyFactory(retryOptions) {
-      return {
-        create: (nextPolicy, options) => {
-          return new StorageRetryPolicy(nextPolicy, options, retryOptions);
+    exports2.BlobImpl = BlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var downloadOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobDownloadHeaders
+        },
+        206: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobDownloadHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobDownloadExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.rangeGetContentMD5,
+        Parameters.rangeGetContentCRC64,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPropertiesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "HEAD",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobGetPropertiesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobGetPropertiesExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var deleteOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "DELETE",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobDeleteHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobDeleteExceptionHeaders
         }
-      };
-    }
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.blobDeleteType
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.deleteSnapshots
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    var StorageRetryPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * RetryOptions.
-       */
-      retryOptions;
-      /**
-       * Creates an instance of RetryPolicy.
-       *
-       * @param nextPolicy -
-       * @param options -
-       * @param retryOptions -
-       */
-      constructor(nextPolicy, options, retryOptions = DEFAULT_RETRY_OPTIONS) {
-        super(nextPolicy, options);
-        this.retryOptions = {
-          retryPolicyType: retryOptions.retryPolicyType ? retryOptions.retryPolicyType : DEFAULT_RETRY_OPTIONS.retryPolicyType,
-          maxTries: retryOptions.maxTries && retryOptions.maxTries >= 1 ? Math.floor(retryOptions.maxTries) : DEFAULT_RETRY_OPTIONS.maxTries,
-          tryTimeoutInMs: retryOptions.tryTimeoutInMs && retryOptions.tryTimeoutInMs >= 0 ? retryOptions.tryTimeoutInMs : DEFAULT_RETRY_OPTIONS.tryTimeoutInMs,
-          retryDelayInMs: retryOptions.retryDelayInMs && retryOptions.retryDelayInMs >= 0 ? Math.min(retryOptions.retryDelayInMs, retryOptions.maxRetryDelayInMs ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs) : DEFAULT_RETRY_OPTIONS.retryDelayInMs,
-          maxRetryDelayInMs: retryOptions.maxRetryDelayInMs && retryOptions.maxRetryDelayInMs >= 0 ? retryOptions.maxRetryDelayInMs : DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs,
-          secondaryHost: retryOptions.secondaryHost ? retryOptions.secondaryHost : DEFAULT_RETRY_OPTIONS.secondaryHost
-        };
-      }
-      /**
-       * Sends request.
-       *
-       * @param request -
-       */
-      async sendRequest(request2) {
-        return this.attemptSendRequest(request2, false, 1);
-      }
-      /**
-       * Decide and perform next retry. Won't mutate request parameter.
-       *
-       * @param request -
-       * @param secondaryHas404 -  If attempt was against the secondary & it returned a StatusNotFound (404), then
-       *                                   the resource was not found. This may be due to replication delay. So, in this
-       *                                   case, we'll never try the secondary again for this operation.
-       * @param attempt -           How many retries has been attempted to performed, starting from 1, which includes
-       *                                   the attempt will be performed by this method call.
-       */
-      async attemptSendRequest(request2, secondaryHas404, attempt) {
-        const newRequest = request2.clone();
-        const isPrimaryRetry = secondaryHas404 || !this.retryOptions.secondaryHost || !(request2.method === "GET" || request2.method === "HEAD" || request2.method === "OPTIONS") || attempt % 2 === 1;
-        if (!isPrimaryRetry) {
-          newRequest.url = (0, utils_common_js_1.setURLHost)(newRequest.url, this.retryOptions.secondaryHost);
+    var undeleteOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobUndeleteHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobUndeleteExceptionHeaders
         }
-        if (this.retryOptions.tryTimeoutInMs) {
-          newRequest.url = (0, utils_common_js_1.setURLParameter)(newRequest.url, constants_js_1.URLConstants.Parameters.TIMEOUT, Math.floor(this.retryOptions.tryTimeoutInMs / 1e3).toString());
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp8],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setExpiryOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetExpiryHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetExpiryExceptionHeaders
         }
-        let response;
-        try {
-          log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-          response = await this._nextPolicy.sendRequest(newRequest);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response)) {
-            return response;
-          }
-          secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-        } catch (err) {
-          log_js_1.logger.error(`RetryPolicy: Caught error, message: ${err.message}, code: ${err.code}`);
-          if (!this.shouldRetry(isPrimaryRetry, attempt, response, err)) {
-            throw err;
-          }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp11],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.expiryOptions,
+        Parameters.expiresOn
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setHttpHeadersOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetHttpHeadersHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetHttpHeadersExceptionHeaders
         }
-        await this.delay(isPrimaryRetry, attempt, request2.abortSignal);
-        return this.attemptSendRequest(request2, secondaryHas404, ++attempt);
-      }
-      /**
-       * Decide whether to retry according to last HTTP response and retry counters.
-       *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param response -
-       * @param err -
-       */
-      shouldRetry(isPrimaryRetry, attempt, response, err) {
-        if (attempt >= this.retryOptions.maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${this.retryOptions.maxTries}, no further try.`);
-          return false;
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setImmutabilityPolicyOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetImmutabilityPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetImmutabilityPolicyExceptionHeaders
         }
-        const retriableErrors = [
-          "ETIMEDOUT",
-          "ESOCKETTIMEDOUT",
-          "ECONNREFUSED",
-          "ECONNRESET",
-          "ENOENT",
-          "ENOTFOUND",
-          "TIMEOUT",
-          "EPIPE",
-          "REQUEST_SEND_ERROR"
-          // For default xhr based http client provided in ms-rest-js
-        ];
-        if (err) {
-          for (const retriableError of retriableErrors) {
-            if (err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || err.code && err.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp12
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifUnmodifiedSince,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var deleteImmutabilityPolicyOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "DELETE",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobDeleteImmutabilityPolicyHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobDeleteImmutabilityPolicyExceptionHeaders
         }
-        if (response || err) {
-          const statusCode = response ? response.status : err ? err.statusCode : 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp12
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setLegalHoldOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetLegalHoldHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetLegalHoldExceptionHeaders
         }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp13
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.legalHold
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setMetadataOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetMetadataHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetMetadataExceptionHeaders
         }
-        if (err?.code === "PARSE_ERROR" && err?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-          log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-          return true;
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp6],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var acquireLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlobAcquireLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobAcquireLeaseExceptionHeaders
         }
-        return false;
-      }
-      /**
-       * Delay a calculated time between retries.
-       *
-       * @param isPrimaryRetry -
-       * @param attempt -
-       * @param abortSignal -
-       */
-      async delay(isPrimaryRetry, attempt, abortSignal) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (this.retryOptions.retryPolicyType) {
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * this.retryOptions.retryDelayInMs, this.retryOptions.maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyType_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = this.retryOptions.retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action,
+        Parameters.duration,
+        Parameters.proposedLeaseId,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var releaseLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobReleaseLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobReleaseLeaseExceptionHeaders
         }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return (0, utils_common_js_1.delay)(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR);
-      }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action1,
+        Parameters.leaseId1,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.StorageRetryPolicy = StorageRetryPolicy;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js
-var require_StorageRetryPolicyFactory2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/StorageRetryPolicyFactory.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageRetryPolicyFactory = exports2.StorageRetryPolicy = exports2.StorageRetryPolicyType = void 0;
-    var StorageRetryPolicy_js_1 = require_StorageRetryPolicy2();
-    Object.defineProperty(exports2, "StorageRetryPolicy", { enumerable: true, get: function() {
-      return StorageRetryPolicy_js_1.StorageRetryPolicy;
-    } });
-    var StorageRetryPolicyType_js_1 = require_StorageRetryPolicyType2();
-    Object.defineProperty(exports2, "StorageRetryPolicyType", { enumerable: true, get: function() {
-      return StorageRetryPolicyType_js_1.StorageRetryPolicyType;
-    } });
-    var StorageRetryPolicyFactory = class {
-      retryOptions;
-      /**
-       * Creates an instance of StorageRetryPolicyFactory.
-       * @param retryOptions -
-       */
-      constructor(retryOptions) {
-        this.retryOptions = retryOptions;
-      }
-      /**
-       * Creates a StorageRetryPolicy object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new StorageRetryPolicy_js_1.StorageRetryPolicy(nextPolicy, options, this.retryOptions);
-      }
+    var renewLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobRenewLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobRenewLeaseExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action2,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var changeLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobChangeLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobChangeLeaseExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.leaseId1,
+        Parameters.action4,
+        Parameters.proposedLeaseId1,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    exports2.StorageRetryPolicyFactory = StorageRetryPolicyFactory;
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js
-var require_StorageBrowserPolicyV2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageBrowserPolicyName = void 0;
-    exports2.storageBrowserPolicy = storageBrowserPolicy;
-    var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common2();
-    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
-    function storageBrowserPolicy() {
-      return {
-        name: exports2.storageBrowserPolicyName,
-        async sendRequest(request2, next) {
-          if (core_util_1.isNodeLike) {
-            return next(request2);
-          }
-          if (request2.method === "GET" || request2.method === "HEAD") {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
-          }
-          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
-          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-          return next(request2);
+    var breakLeaseOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobBreakLeaseHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobBreakLeaseExceptionHeaders
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
-var require_StorageCorrectContentLengthPolicy = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageCorrectContentLengthPolicyName = void 0;
-    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
-    var constants_js_1 = require_constants15();
-    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
-    function storageCorrectContentLengthPolicy() {
-      function correctContentLength(request2) {
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.action3,
+        Parameters.breakPeriod,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var createSnapshotOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlobCreateSnapshotHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobCreateSnapshotExceptionHeaders
         }
-      }
-      return {
-        name: exports2.storageCorrectContentLengthPolicyName,
-        async sendRequest(request2, next) {
-          correctContentLength(request2);
-          return next(request2);
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp14],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var startCopyFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobStartCopyFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobStartCopyFromURLExceptionHeaders
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js
-var require_StorageRetryPolicyV2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageRetryPolicyName = void 0;
-    exports2.storageRetryPolicy = storageRetryPolicy;
-    var abort_controller_1 = require_commonjs14();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_1 = require_commonjs6();
-    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory2();
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common2();
-    var log_js_1 = require_log6();
-    exports2.storageRetryPolicyName = "storageRetryPolicy";
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.tier,
+        Parameters.rehydratePriority,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceIfTags,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.sealBlob,
+        Parameters.legalHold1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
     };
-    var retriableErrors = [
-      "ETIMEDOUT",
-      "ESOCKETTIMEDOUT",
-      "ECONNREFUSED",
-      "ECONNRESET",
-      "ENOENT",
-      "ENOTFOUND",
-      "TIMEOUT",
-      "EPIPE",
-      "REQUEST_SEND_ERROR"
-    ];
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    function storageRetryPolicy(options = {}) {
-      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
-      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
-      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
-      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
-      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
-      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
-      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
-        if (attempt >= maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
-          return false;
+    var copyFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.BlobCopyFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobCopyFromURLExceptionHeaders
         }
-        if (error3) {
-          for (const retriableError of retriableErrors) {
-            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
-          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-            return true;
-          }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.xMsRequiresSync,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.copySourceTags,
+        Parameters.fileRequestIntent
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var abortCopyFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        204: {
+          headersMapper: Mappers.BlobAbortCopyFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobAbortCopyFromURLExceptionHeaders
         }
-        if (response || error3) {
-          const statusCode = response?.status ?? error3?.statusCode ?? 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp15,
+        Parameters.copyId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.copyActionAbortConstant
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setTierOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobSetTierHeaders
+        },
+        202: {
+          headersMapper: Mappers.BlobSetTierHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetTierExceptionHeaders
         }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp16
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags,
+        Parameters.rehydratePriority,
+        Parameters.tier1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getAccountInfoOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          headersMapper: Mappers.BlobGetAccountInfoHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobGetAccountInfoExceptionHeaders
         }
-        return false;
-      }
-      function calculateDelay(isPrimaryRetry, attempt) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (retryPolicyType) {
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
+      },
+      queryParameters: [
+        Parameters.comp,
+        Parameters.timeoutInSeconds,
+        Parameters.restype1
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var queryOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "POST",
+      responses: {
+        200: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobQueryHeaders
+        },
+        206: {
+          bodyMapper: {
+            type: { name: "Stream" },
+            serializedName: "parsedResponse"
+          },
+          headersMapper: Mappers.BlobQueryHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobQueryExceptionHeaders
         }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return delayTimeInMs;
-      }
-      return {
-        name: exports2.storageRetryPolicyName,
-        async sendRequest(request2, next) {
-          if (tryTimeoutInMs) {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
-          }
-          const primaryUrl = request2.url;
-          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
-          let secondaryHas404 = false;
-          let attempt = 1;
-          let retryAgain = true;
-          let response;
-          let error3;
-          while (retryAgain) {
-            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
-            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
-            response = void 0;
-            error3 = void 0;
-            try {
-              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-              response = await next(request2);
-              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-            } catch (e) {
-              if ((0, core_rest_pipeline_1.isRestError)(e)) {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
-                error3 = e;
-              } else {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
-                throw e;
-              }
-            }
-            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
-            if (retryAgain) {
-              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
-            }
-            attempt++;
-          }
-          if (response) {
-            return response;
-          }
-          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
+      },
+      requestBody: Parameters.queryRequest,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.comp17
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getTagsOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlobTags,
+          headersMapper: Mappers.BlobGetTagsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobGetTagsExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.versionId,
+        Parameters.comp18
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var setTagsOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        204: {
+          headersMapper: Mappers.BlobSetTagsHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlobSetTagsExceptionHeaders
         }
-      };
-    }
+      },
+      requestBody: Parameters.tags,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.versionId,
+        Parameters.comp18
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.leaseId,
+        Parameters.ifTags,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
-var require_StorageSharedKeyCredentialPolicyV2 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js
+var require_pageBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageSharedKeyCredentialPolicyName = void 0;
-    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
-    var node_crypto_1 = require("node:crypto");
-    var constants_js_1 = require_constants15();
-    var utils_common_js_1 = require_utils_common2();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator2();
-    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
-    function storageSharedKeyCredentialPolicy(options) {
-      function signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
-        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
+    exports2.PageBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs10());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var PageBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class PageBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
       }
-      function getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
+      /**
+       * The Create operation creates a new page blob.
+       * @param contentLength The length of the request.
+       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
+       *                          page blob size must be aligned to a 512-byte boundary.
+       * @param options The options parameters.
+       */
+      create(contentLength, blobContentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec);
+      }
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      uploadPages(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec);
+      }
+      /**
+       * The Clear Pages operation clears a set of pages from a page blob
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      clearPages(contentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec);
+      }
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a
+       * URL
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param sourceRange Bytes of source data in the specified range. The length of this range should
+       *                    match the ContentLength header and x-ms-range/Range destination range header.
+       * @param contentLength The length of the request.
+       * @param range The range of bytes to which the source range would be written. The range should be 512
+       *              aligned and range-end is required.
+       * @param options The options parameters.
+       */
+      uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) {
+        return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec);
+      }
+      /**
+       * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a
+       * page blob
+       * @param options The options parameters.
+       */
+      getPageRanges(options) {
+        return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec);
+      }
+      /**
+       * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were
+       * changed between target blob and previous snapshot.
+       * @param options The options parameters.
+       */
+      getPageRangesDiff(options) {
+        return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec);
+      }
+      /**
+       * Resize the Blob
+       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
+       *                          page blob size must be aligned to a 512-byte boundary.
+       * @param options The options parameters.
+       */
+      resize(blobContentLength, options) {
+        return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec);
+      }
+      /**
+       * Update the sequence number of the blob
+       * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request.
+       *                             This property applies to page blobs only. This property indicates how the service should modify the
+       *                             blob's sequence number
+       * @param options The options parameters.
+       */
+      updateSequenceNumber(sequenceNumberAction, options) {
+        return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec);
+      }
+      /**
+       * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob.
+       * The snapshot is copied such that only the differential changes between the previously copied
+       * snapshot are transferred to the destination. The copied snapshots are complete copies of the
+       * original snapshot and can be read or copied from as usual. This API is supported since REST version
+       * 2016-05-31.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      copyIncremental(copySource, options) {
+        return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec);
+      }
+    };
+    exports2.PageBlobImpl = PageBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobCreateExceptionHeaders
         }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.blobType,
+        Parameters.blobContentLength,
+        Parameters.blobSequenceNumber
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var uploadPagesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobUploadPagesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders
         }
-        return value;
-      }
-      function getCanonicalizedHeadersString(request2) {
-        let headersArray = [];
-        for (const [name, value] of request2.headers) {
-          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
-            headersArray.push({ name, value });
-          }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.pageWrite,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var clearPagesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobClearPagesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobClearPagesExceptionHeaders
         }
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
-      }
-      function getCanonicalizedResourceString(request2) {
-        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${options.accountName}${path3}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
-          }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo,
+        Parameters.pageWrite1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var uploadPagesFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders
         }
-        return canonicalizedResourceString;
-      }
-      return {
-        name: exports2.storageSharedKeyCredentialPolicyName,
-        async sendRequest(request2, next) {
-          signRequest(request2);
-          return next(request2);
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.pageWrite,
+        Parameters.ifSequenceNumberLessThanOrEqualTo,
+        Parameters.ifSequenceNumberLessThan,
+        Parameters.ifSequenceNumberEqualTo,
+        Parameters.sourceUrl,
+        Parameters.sourceRange,
+        Parameters.sourceContentCrc64,
+        Parameters.range1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPageRangesOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.PageList,
+          headersMapper: Mappers.PageBlobGetPageRangesHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.snapshot,
+        Parameters.comp20
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var getPageRangesDiffOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.PageList,
+          headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.marker,
+        Parameters.maxPageSize,
+        Parameters.snapshot,
+        Parameters.comp20,
+        Parameters.prevsnapshot
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.range,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.prevSnapshotUrl
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var resizeOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.PageBlobResizeHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobResizeExceptionHeaders
+        }
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.blobContentLength
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var updateSequenceNumberOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders
         }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js
-var require_StorageRequestFailureDetailsParserPolicy = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageRequestFailureDetailsParserPolicyName = void 0;
-    exports2.storageRequestFailureDetailsParserPolicy = storageRequestFailureDetailsParserPolicy;
-    exports2.storageRequestFailureDetailsParserPolicyName = "storageRequestFailureDetailsParserPolicy";
-    function storageRequestFailureDetailsParserPolicy() {
-      return {
-        name: exports2.storageRequestFailureDetailsParserPolicyName,
-        async sendRequest(request2, next) {
-          try {
-            const response = await next(request2);
-            return response;
-          } catch (err) {
-            if (typeof err === "object" && err !== null && err.response && err.response.parsedBody) {
-              if (err.response.parsedBody.code === "InvalidHeaderValue" && err.response.parsedBody.HeaderName === "x-ms-version") {
-                err.message = "The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.\n";
-              }
-            }
-            throw err;
-          }
+      },
+      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobSequenceNumber,
+        Parameters.sequenceNumberAction
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var copyIncrementalOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        202: {
+          headersMapper: Mappers.PageBlobCopyIncrementalHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders
         }
-      };
-    }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.copySource
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
   }
 });
 
-// node_modules/@azure/storage-common/dist/commonjs/index.js
-var require_commonjs15 = __commonJS({
-  "node_modules/@azure/storage-common/dist/commonjs/index.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js
+var require_appendBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BaseRequestPolicy = exports2.getCachedDefaultHttpClient = void 0;
+    exports2.AppendBlobImpl = void 0;
     var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_BufferScheduler(), exports2);
-    var cache_js_1 = require_cache3();
-    Object.defineProperty(exports2, "getCachedDefaultHttpClient", { enumerable: true, get: function() {
-      return cache_js_1.getCachedDefaultHttpClient;
-    } });
-    tslib_1.__exportStar(require_StorageBrowserPolicyFactory(), exports2);
-    tslib_1.__exportStar(require_AnonymousCredential2(), exports2);
-    tslib_1.__exportStar(require_Credential2(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredential2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
-    var RequestPolicy_js_1 = require_RequestPolicy2();
-    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
-      return RequestPolicy_js_1.BaseRequestPolicy;
-    } });
-    tslib_1.__exportStar(require_AnonymousCredentialPolicy2(), exports2);
-    tslib_1.__exportStar(require_CredentialPolicy2(), exports2);
-    tslib_1.__exportStar(require_StorageBrowserPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageBrowserPolicyV2(), exports2);
-    tslib_1.__exportStar(require_StorageCorrectContentLengthPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyType2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicy2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyV2(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy2(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicyV2(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory2(), exports2);
-    tslib_1.__exportStar(require_StorageRequestFailureDetailsParserPolicy(), exports2);
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js
-var require_StorageBrowserPolicyV22 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicyV2.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageBrowserPolicyName = void 0;
-    exports2.storageBrowserPolicy = storageBrowserPolicy;
-    var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    exports2.storageBrowserPolicyName = "storageBrowserPolicy";
-    function storageBrowserPolicy() {
-      return {
-        name: exports2.storageBrowserPolicyName,
-        async sendRequest(request2, next) {
-          if (core_util_1.isNodeLike) {
-            return next(request2);
-          }
-          if (request2.method === "GET" || request2.method === "HEAD") {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
-          }
-          request2.headers.delete(constants_js_1.HeaderConstants.COOKIE);
-          request2.headers.delete(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-          return next(request2);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js
-var require_StorageRetryPolicyV22 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageRetryPolicyV2.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageRetryPolicyName = void 0;
-    exports2.storageRetryPolicy = storageRetryPolicy;
-    var abort_controller_1 = require_commonjs13();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_1 = require_commonjs6();
-    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    var log_js_1 = require_log5();
-    exports2.storageRetryPolicyName = "storageRetryPolicy";
-    var DEFAULT_RETRY_OPTIONS = {
-      maxRetryDelayInMs: 120 * 1e3,
-      maxTries: 4,
-      retryDelayInMs: 4 * 1e3,
-      retryPolicyType: StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL,
-      secondaryHost: "",
-      tryTimeoutInMs: void 0
-      // Use server side default timeout strategy
+    var coreClient = tslib_1.__importStar(require_commonjs10());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var AppendBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class AppendBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
+      }
+      /**
+       * The Create Append Blob operation creates a new append blob.
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      create(contentLength, options) {
+        return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec);
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob. The
+       * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
+       * AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      appendBlock(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec);
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob where
+       * the contents are read from a source url. The Append Block operation is permitted only if the blob
+       * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version
+       * 2015-02-21 version or later.
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param contentLength The length of the request.
+       * @param options The options parameters.
+       */
+      appendBlockFromUrl(sourceUrl, contentLength, options) {
+        return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec);
+      }
+      /**
+       * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version
+       * 2019-12-12 version or later.
+       * @param options The options parameters.
+       */
+      seal(options) {
+        return this.client.sendOperationRequest({ options }, sealOperationSpec);
+      }
     };
-    var retriableErrors = [
-      "ETIMEDOUT",
-      "ESOCKETTIMEDOUT",
-      "ECONNREFUSED",
-      "ECONNRESET",
-      "ENOENT",
-      "ENOTFOUND",
-      "TIMEOUT",
-      "EPIPE",
-      "REQUEST_SEND_ERROR"
-    ];
-    var RETRY_ABORT_ERROR = new abort_controller_1.AbortError("The operation was aborted.");
-    function storageRetryPolicy(options = {}) {
-      const retryPolicyType = options.retryPolicyType ?? DEFAULT_RETRY_OPTIONS.retryPolicyType;
-      const maxTries = options.maxTries ?? DEFAULT_RETRY_OPTIONS.maxTries;
-      const retryDelayInMs = options.retryDelayInMs ?? DEFAULT_RETRY_OPTIONS.retryDelayInMs;
-      const maxRetryDelayInMs = options.maxRetryDelayInMs ?? DEFAULT_RETRY_OPTIONS.maxRetryDelayInMs;
-      const secondaryHost = options.secondaryHost ?? DEFAULT_RETRY_OPTIONS.secondaryHost;
-      const tryTimeoutInMs = options.tryTimeoutInMs ?? DEFAULT_RETRY_OPTIONS.tryTimeoutInMs;
-      function shouldRetry({ isPrimaryRetry, attempt, response, error: error3 }) {
-        if (attempt >= maxTries) {
-          log_js_1.logger.info(`RetryPolicy: Attempt(s) ${attempt} >= maxTries ${maxTries}, no further try.`);
-          return false;
-        }
-        if (error3) {
-          for (const retriableError of retriableErrors) {
-            if (error3.name.toUpperCase().includes(retriableError) || error3.message.toUpperCase().includes(retriableError) || error3.code && error3.code.toString().toUpperCase() === retriableError) {
-              log_js_1.logger.info(`RetryPolicy: Network error ${retriableError} found, will retry.`);
-              return true;
-            }
-          }
-          if (error3?.code === "PARSE_ERROR" && error3?.message.startsWith(`Error "Error: Unclosed root tag`)) {
-            log_js_1.logger.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry.");
-            return true;
-          }
-        }
-        if (response || error3) {
-          const statusCode = response?.status ?? error3?.statusCode ?? 0;
-          if (!isPrimaryRetry && statusCode === 404) {
-            log_js_1.logger.info(`RetryPolicy: Secondary access with 404, will retry.`);
-            return true;
-          }
-          if (statusCode === 503 || statusCode === 500) {
-            log_js_1.logger.info(`RetryPolicy: Will retry for status code ${statusCode}.`);
-            return true;
-          }
+    exports2.AppendBlobImpl = AppendBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var createOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobCreateHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobCreateExceptionHeaders
         }
-        if (response) {
-          if (response?.status >= 400) {
-            const copySourceError = response.headers.get(constants_js_1.HeaderConstants.X_MS_CopySourceErrorCode);
-            if (copySourceError !== void 0) {
-              switch (copySourceError) {
-                case "InternalError":
-                case "OperationTimedOut":
-                case "ServerBusy":
-                  return true;
-              }
-            }
-          }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.blobType1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var appendBlockOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobAppendBlockHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders
         }
-        return false;
-      }
-      function calculateDelay(isPrimaryRetry, attempt) {
-        let delayTimeInMs = 0;
-        if (isPrimaryRetry) {
-          switch (retryPolicyType) {
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.EXPONENTIAL:
-              delayTimeInMs = Math.min((Math.pow(2, attempt - 1) - 1) * retryDelayInMs, maxRetryDelayInMs);
-              break;
-            case StorageRetryPolicyFactory_js_1.StorageRetryPolicyType.FIXED:
-              delayTimeInMs = retryDelayInMs;
-              break;
-          }
-        } else {
-          delayTimeInMs = Math.random() * 1e3;
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.maxSize,
+        Parameters.appendPosition
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var appendBlockFromUrlOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders
         }
-        log_js_1.logger.info(`RetryPolicy: Delay for ${delayTimeInMs}ms`);
-        return delayTimeInMs;
-      }
-      return {
-        name: exports2.storageRetryPolicyName,
-        async sendRequest(request2, next) {
-          if (tryTimeoutInMs) {
-            request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.TIMEOUT, String(Math.floor(tryTimeoutInMs / 1e3)));
-          }
-          const primaryUrl = request2.url;
-          const secondaryUrl = secondaryHost ? (0, utils_common_js_1.setURLHost)(request2.url, secondaryHost) : void 0;
-          let secondaryHas404 = false;
-          let attempt = 1;
-          let retryAgain = true;
-          let response;
-          let error3;
-          while (retryAgain) {
-            const isPrimaryRetry = secondaryHas404 || !secondaryUrl || !["GET", "HEAD", "OPTIONS"].includes(request2.method) || attempt % 2 === 1;
-            request2.url = isPrimaryRetry ? primaryUrl : secondaryUrl;
-            response = void 0;
-            error3 = void 0;
-            try {
-              log_js_1.logger.info(`RetryPolicy: =====> Try=${attempt} ${isPrimaryRetry ? "Primary" : "Secondary"}`);
-              response = await next(request2);
-              secondaryHas404 = secondaryHas404 || !isPrimaryRetry && response.status === 404;
-            } catch (e) {
-              if ((0, core_rest_pipeline_1.isRestError)(e)) {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${e.message}, code: ${e.code}`);
-                error3 = e;
-              } else {
-                log_js_1.logger.error(`RetryPolicy: Caught error, message: ${(0, core_util_1.getErrorMessage)(e)}`);
-                throw e;
-              }
-            }
-            retryAgain = shouldRetry({ isPrimaryRetry, attempt, response, error: error3 });
-            if (retryAgain) {
-              await (0, utils_common_js_1.delay)(calculateDelay(isPrimaryRetry, attempt), request2.abortSignal, RETRY_ABORT_ERROR);
-            }
-            attempt++;
-          }
-          if (response) {
-            return response;
-          }
-          throw error3 ?? new core_rest_pipeline_1.RestError("RetryPolicy failed without known error.");
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.transactionalContentMD5,
+        Parameters.sourceUrl,
+        Parameters.sourceContentCrc64,
+        Parameters.maxSize,
+        Parameters.appendPosition,
+        Parameters.sourceRange1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var sealOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        200: {
+          headersMapper: Mappers.AppendBlobSealHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.AppendBlobSealExceptionHeaders
         }
-      };
-    }
+      },
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.appendPosition
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js
-var require_StorageSharedKeyCredentialPolicyV22 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js
+var require_blockBlob = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageSharedKeyCredentialPolicyName = void 0;
-    exports2.storageSharedKeyCredentialPolicy = storageSharedKeyCredentialPolicy;
-    var node_crypto_1 = require("node:crypto");
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    var SharedKeyComparator_js_1 = require_SharedKeyComparator();
-    exports2.storageSharedKeyCredentialPolicyName = "storageSharedKeyCredentialPolicy";
-    function storageSharedKeyCredentialPolicy(options) {
-      function signRequest(request2) {
-        request2.headers.set(constants_js_1.HeaderConstants.X_MS_DATE, (/* @__PURE__ */ new Date()).toUTCString());
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-        const stringToSign = [
-          request2.method.toUpperCase(),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LANGUAGE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_ENCODING),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_LENGTH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_MD5),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.CONTENT_TYPE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.DATE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_NONE_MATCH),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.IF_UNMODIFIED_SINCE),
-          getHeaderValueToSign(request2, constants_js_1.HeaderConstants.RANGE)
-        ].join("\n") + "\n" + getCanonicalizedHeadersString(request2) + getCanonicalizedResourceString(request2);
-        const signature = (0, node_crypto_1.createHmac)("sha256", options.accountKey).update(stringToSign, "utf8").digest("base64");
-        request2.headers.set(constants_js_1.HeaderConstants.AUTHORIZATION, `SharedKey ${options.accountName}:${signature}`);
+    exports2.BlockBlobImpl = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreClient = tslib_1.__importStar(require_commonjs10());
+    var Mappers = tslib_1.__importStar(require_mappers());
+    var Parameters = tslib_1.__importStar(require_parameters());
+    var BlockBlobImpl = class {
+      client;
+      /**
+       * Initialize a new instance of the class BlockBlob class.
+       * @param client Reference to the service client
+       */
+      constructor(client) {
+        this.client = client;
       }
-      function getHeaderValueToSign(request2, headerName) {
-        const value = request2.headers.get(headerName);
-        if (!value) {
-          return "";
+      /**
+       * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing
+       * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put
+       * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a
+       * partial update of the content of a block blob, use the Put Block List operation.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      upload(contentLength, body, options) {
+        return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec);
+      }
+      /**
+       * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read
+       * from a given URL.  This API is supported beginning with the 2020-04-08 version. Partial updates are
+       * not supported with Put Blob from URL; the content of an existing blob is overwritten with the
+       * content of the new blob.  To perform partial updates to a block blob’s contents using a source URL,
+       * use the Put Block from URL API in conjunction with Put Block List.
+       * @param contentLength The length of the request.
+       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
+       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
+       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
+       *                   access signature.
+       * @param options The options parameters.
+       */
+      putBlobFromUrl(contentLength, copySource, options) {
+        return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec);
+      }
+      /**
+       * The Stage Block operation creates a new block to be committed as part of a blob
+       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
+       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
+       *                for the blockid parameter must be the same size for each block.
+       * @param contentLength The length of the request.
+       * @param body Initial data
+       * @param options The options parameters.
+       */
+      stageBlock(blockId, contentLength, body, options) {
+        return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec);
+      }
+      /**
+       * The Stage Block operation creates a new block to be committed as part of a blob where the contents
+       * are read from a URL.
+       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
+       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
+       *                for the blockid parameter must be the same size for each block.
+       * @param contentLength The length of the request.
+       * @param sourceUrl Specify a URL to the copy source.
+       * @param options The options parameters.
+       */
+      stageBlockFromURL(blockId, contentLength, sourceUrl, options) {
+        return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec);
+      }
+      /**
+       * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the
+       * blob. In order to be written as part of a blob, a block must have been successfully written to the
+       * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading
+       * only those blocks that have changed, then committing the new and existing blocks together. You can
+       * do this by specifying whether to commit a block from the committed block list or from the
+       * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list
+       * it may belong to.
+       * @param blocks Blob Blocks.
+       * @param options The options parameters.
+       */
+      commitBlockList(blocks, options) {
+        return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec);
+      }
+      /**
+       * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block
+       * blob
+       * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted
+       *                 blocks, or both lists together.
+       * @param options The options parameters.
+       */
+      getBlockList(listType, options) {
+        return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec);
+      }
+    };
+    exports2.BlockBlobImpl = BlockBlobImpl;
+    var xmlSerializer = coreClient.createSerializer(
+      Mappers,
+      /* isXml */
+      true
+    );
+    var uploadOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobUploadHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobUploadExceptionHeaders
         }
-        if (headerName === constants_js_1.HeaderConstants.CONTENT_LENGTH && value === "0") {
-          return "";
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2,
+        Parameters.blobType2
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var putBlobFromUrlOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders
         }
-        return value;
-      }
-      function getCanonicalizedHeadersString(request2) {
-        let headersArray = [];
-        for (const [name, value] of request2.headers) {
-          if (name.toLowerCase().startsWith(constants_js_1.HeaderConstants.PREFIX_FOR_STORAGE)) {
-            headersArray.push({ name, value });
-          }
+      },
+      queryParameters: [Parameters.timeoutInSeconds],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceIfTags,
+        Parameters.copySource,
+        Parameters.blobTagsString,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.copySourceTags,
+        Parameters.fileRequestIntent,
+        Parameters.transactionalContentMD5,
+        Parameters.blobType2,
+        Parameters.copySourceBlobProperties
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var stageBlockOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobStageBlockHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders
         }
-        headersArray.sort((a, b) => {
-          return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase());
-        });
-        headersArray = headersArray.filter((value, index, array) => {
-          if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) {
-            return false;
-          }
-          return true;
-        });
-        let canonicalizedHeadersStringToSign = "";
-        headersArray.forEach((header) => {
-          canonicalizedHeadersStringToSign += `${header.name.toLowerCase().trimRight()}:${header.value.trimLeft()}
-`;
-        });
-        return canonicalizedHeadersStringToSign;
-      }
-      function getCanonicalizedResourceString(request2) {
-        const path3 = (0, utils_common_js_1.getURLPath)(request2.url) || "/";
-        let canonicalizedResourceString = "";
-        canonicalizedResourceString += `/${options.accountName}${path3}`;
-        const queries = (0, utils_common_js_1.getURLQueries)(request2.url);
-        const lowercaseQueries = {};
-        if (queries) {
-          const queryKeys = [];
-          for (const key in queries) {
-            if (Object.prototype.hasOwnProperty.call(queries, key)) {
-              const lowercaseKey = key.toLowerCase();
-              lowercaseQueries[lowercaseKey] = queries[key];
-              queryKeys.push(lowercaseKey);
-            }
-          }
-          queryKeys.sort();
-          for (const key of queryKeys) {
-            canonicalizedResourceString += `
-${key}:${decodeURIComponent(lowercaseQueries[key])}`;
-          }
+      },
+      requestBody: Parameters.body1,
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp24,
+        Parameters.blockId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.encryptionScope,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64,
+        Parameters.contentType1,
+        Parameters.accept2
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "binary",
+      serializer: xmlSerializer
+    };
+    var stageBlockFromURLOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders
         }
-        return canonicalizedResourceString;
-      }
-      return {
-        name: exports2.storageSharedKeyCredentialPolicyName,
-        async sendRequest(request2, next) {
-          signRequest(request2);
-          return next(request2);
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.comp24,
+        Parameters.blockId
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.contentLength,
+        Parameters.leaseId,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.encryptionScope,
+        Parameters.sourceIfModifiedSince,
+        Parameters.sourceIfUnmodifiedSince,
+        Parameters.sourceIfMatch,
+        Parameters.sourceIfNoneMatch,
+        Parameters.sourceContentMD5,
+        Parameters.copySourceAuthorization,
+        Parameters.fileRequestIntent,
+        Parameters.sourceUrl,
+        Parameters.sourceContentCrc64,
+        Parameters.sourceRange1
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
+    var commitBlockListOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "PUT",
+      responses: {
+        201: {
+          headersMapper: Mappers.BlockBlobCommitBlockListHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders
         }
-      };
-    }
+      },
+      requestBody: Parameters.blocks,
+      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.contentType,
+        Parameters.accept,
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.metadata,
+        Parameters.leaseId,
+        Parameters.ifModifiedSince,
+        Parameters.ifUnmodifiedSince,
+        Parameters.encryptionKey,
+        Parameters.encryptionKeySha256,
+        Parameters.encryptionAlgorithm,
+        Parameters.ifMatch,
+        Parameters.ifNoneMatch,
+        Parameters.ifTags,
+        Parameters.blobCacheControl,
+        Parameters.blobContentType,
+        Parameters.blobContentMD5,
+        Parameters.blobContentEncoding,
+        Parameters.blobContentLanguage,
+        Parameters.blobContentDisposition,
+        Parameters.immutabilityPolicyExpiry,
+        Parameters.immutabilityPolicyMode,
+        Parameters.encryptionScope,
+        Parameters.tier,
+        Parameters.blobTagsString,
+        Parameters.legalHold1,
+        Parameters.transactionalContentMD5,
+        Parameters.transactionalContentCrc64
+      ],
+      isXML: true,
+      contentType: "application/xml; charset=utf-8",
+      mediaType: "xml",
+      serializer: xmlSerializer
+    };
+    var getBlockListOperationSpec = {
+      path: "/{containerName}/{blob}",
+      httpMethod: "GET",
+      responses: {
+        200: {
+          bodyMapper: Mappers.BlockList,
+          headersMapper: Mappers.BlockBlobGetBlockListHeaders
+        },
+        default: {
+          bodyMapper: Mappers.StorageError,
+          headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders
+        }
+      },
+      queryParameters: [
+        Parameters.timeoutInSeconds,
+        Parameters.snapshot,
+        Parameters.comp25,
+        Parameters.listType
+      ],
+      urlParameters: [Parameters.url],
+      headerParameters: [
+        Parameters.version,
+        Parameters.requestId,
+        Parameters.accept1,
+        Parameters.leaseId,
+        Parameters.ifTags
+      ],
+      isXML: true,
+      serializer: xmlSerializer
+    };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js
-var require_StorageBrowserPolicy2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageBrowserPolicy.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js
+var require_operations = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicy = void 0;
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    var StorageBrowserPolicy = class extends RequestPolicy_js_1.BaseRequestPolicy {
-      /**
-       * Creates an instance of StorageBrowserPolicy.
-       * @param nextPolicy -
-       * @param options -
-       */
-      // The base class has a protected constructor. Adding a public one to enable constructing of this class.
-      /* eslint-disable-next-line @typescript-eslint/no-useless-constructor*/
-      constructor(nextPolicy, options) {
-        super(nextPolicy, options);
-      }
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_service(), exports2);
+    tslib_1.__exportStar(require_container(), exports2);
+    tslib_1.__exportStar(require_blob(), exports2);
+    tslib_1.__exportStar(require_pageBlob(), exports2);
+    tslib_1.__exportStar(require_appendBlob(), exports2);
+    tslib_1.__exportStar(require_blockBlob(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js
+var require_storageClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var coreHttpCompat = tslib_1.__importStar(require_commonjs11());
+    var index_js_1 = require_operations();
+    var StorageClient = class extends coreHttpCompat.ExtendedServiceClient {
+      url;
+      version;
       /**
-       * Sends out request.
-       *
-       * @param request -
+       * Initializes a new instance of the StorageClient class.
+       * @param url The URL of the service account, container, or blob that is the target of the desired
+       *            operation.
+       * @param options The parameter options
        */
-      async sendRequest(request2) {
-        if (core_util_1.isNodeLike) {
-          return this._nextPolicy.sendRequest(request2);
+      constructor(url, options) {
+        if (url === void 0) {
+          throw new Error("'url' cannot be null");
         }
-        if (request2.method.toUpperCase() === "GET" || request2.method.toUpperCase() === "HEAD") {
-          request2.url = (0, utils_common_js_1.setURLParameter)(request2.url, constants_js_1.URLConstants.Parameters.FORCE_BROWSER_NO_CACHE, (/* @__PURE__ */ new Date()).getTime().toString());
+        if (!options) {
+          options = {};
         }
-        request2.headers.remove(constants_js_1.HeaderConstants.COOKIE);
-        request2.headers.remove(constants_js_1.HeaderConstants.CONTENT_LENGTH);
-        return this._nextPolicy.sendRequest(request2);
+        const defaults = {
+          requestContentType: "application/json; charset=utf-8"
+        };
+        const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`;
+        const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
+        const optionsWithDefaults = {
+          ...defaults,
+          ...options,
+          userAgentOptions: {
+            userAgentPrefix
+          },
+          endpoint: options.endpoint ?? options.baseUri ?? "{url}"
+        };
+        super(optionsWithDefaults);
+        this.url = url;
+        this.version = options.version || "2025-11-05";
+        this.service = new index_js_1.ServiceImpl(this);
+        this.container = new index_js_1.ContainerImpl(this);
+        this.blob = new index_js_1.BlobImpl(this);
+        this.pageBlob = new index_js_1.PageBlobImpl(this);
+        this.appendBlob = new index_js_1.AppendBlobImpl(this);
+        this.blockBlob = new index_js_1.BlockBlobImpl(this);
       }
+      service;
+      container;
+      blob;
+      pageBlob;
+      appendBlob;
+      blockBlob;
     };
-    exports2.StorageBrowserPolicy = StorageBrowserPolicy;
+    exports2.StorageClient = StorageClient;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js
-var require_StorageBrowserPolicyFactory2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageBrowserPolicyFactory.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js
+var require_service2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBrowserPolicyFactory = exports2.StorageBrowserPolicy = void 0;
-    var StorageBrowserPolicy_js_1 = require_StorageBrowserPolicy2();
-    Object.defineProperty(exports2, "StorageBrowserPolicy", { enumerable: true, get: function() {
-      return StorageBrowserPolicy_js_1.StorageBrowserPolicy;
-    } });
-    var StorageBrowserPolicyFactory = class {
-      /**
-       * Creates a StorageBrowserPolicyFactory object.
-       *
-       * @param nextPolicy -
-       * @param options -
-       */
-      create(nextPolicy, options) {
-        return new StorageBrowserPolicy_js_1.StorageBrowserPolicy(nextPolicy, options);
-      }
-    };
-    exports2.StorageBrowserPolicyFactory = StorageBrowserPolicyFactory;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js
-var require_StorageCorrectContentLengthPolicy2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js
+var require_container2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.storageCorrectContentLengthPolicyName = void 0;
-    exports2.storageCorrectContentLengthPolicy = storageCorrectContentLengthPolicy;
-    var constants_js_1 = require_constants14();
-    exports2.storageCorrectContentLengthPolicyName = "StorageCorrectContentLengthPolicy";
-    function storageCorrectContentLengthPolicy() {
-      function correctContentLength(request2) {
-        if (request2.body && (typeof request2.body === "string" || Buffer.isBuffer(request2.body)) && request2.body.length > 0) {
-          request2.headers.set(constants_js_1.HeaderConstants.CONTENT_LENGTH, Buffer.byteLength(request2.body));
-        }
-      }
-      return {
-        name: exports2.storageCorrectContentLengthPolicyName,
-        async sendRequest(request2, next) {
-          correctContentLength(request2);
-          return next(request2);
-        }
-      };
-    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js
-var require_Pipeline = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Pipeline.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js
+var require_blob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pipeline = exports2.StorageOAuthScopes = void 0;
-    exports2.isPipelineLike = isPipelineLike;
-    exports2.newPipeline = newPipeline;
-    exports2.getCoreClientOptions = getCoreClientOptions;
-    exports2.getCredentialFromPipeline = getCredentialFromPipeline;
-    var core_http_compat_1 = require_commonjs11();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_client_1 = require_commonjs10();
-    var core_xml_1 = require_commonjs12();
-    var core_auth_1 = require_commonjs9();
-    var log_js_1 = require_log5();
-    var StorageRetryPolicyFactory_js_1 = require_StorageRetryPolicyFactory();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var constants_js_1 = require_constants14();
-    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
-      return constants_js_1.StorageOAuthScopes;
-    } });
-    var storage_common_1 = require_commonjs15();
-    var StorageBrowserPolicyV2_js_1 = require_StorageBrowserPolicyV22();
-    var StorageRetryPolicyV2_js_1 = require_StorageRetryPolicyV22();
-    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
-    var StorageBrowserPolicyFactory_js_1 = require_StorageBrowserPolicyFactory2();
-    var StorageCorrectContentLengthPolicy_js_1 = require_StorageCorrectContentLengthPolicy2();
-    function isPipelineLike(pipeline) {
-      if (!pipeline || typeof pipeline !== "object") {
-        return false;
-      }
-      const castPipeline = pipeline;
-      return Array.isArray(castPipeline.factories) && typeof castPipeline.options === "object" && typeof castPipeline.toServiceClientOptions === "function";
-    }
-    var Pipeline = class {
-      /**
-       * A list of chained request policy factories.
-       */
-      factories;
-      /**
-       * Configures pipeline logger and HTTP client.
-       */
-      options;
-      /**
-       * Creates an instance of Pipeline. Customize HTTPClient by implementing IHttpClient interface.
-       *
-       * @param factories -
-       * @param options -
-       */
-      constructor(factories, options = {}) {
-        this.factories = factories;
-        this.options = options;
-      }
-      /**
-       * Transfer Pipeline object to ServiceClientOptions object which is required by
-       * ServiceClient constructor.
-       *
-       * @returns The ServiceClientOptions object from this Pipeline.
-       */
-      toServiceClientOptions() {
-        return {
-          httpClient: this.options.httpClient,
-          requestPolicyFactories: this.factories
-        };
-      }
-    };
-    exports2.Pipeline = Pipeline;
-    function newPipeline(credential, pipelineOptions = {}) {
-      if (!credential) {
-        credential = new AnonymousCredential_js_1.AnonymousCredential();
-      }
-      const pipeline = new Pipeline([], pipelineOptions);
-      pipeline._credential = credential;
-      return pipeline;
-    }
-    function processDownlevelPipeline(pipeline) {
-      const knownFactoryFunctions = [
-        isAnonymousCredential,
-        isStorageSharedKeyCredential,
-        isCoreHttpBearerTokenFactory,
-        isStorageBrowserPolicyFactory,
-        isStorageRetryPolicyFactory,
-        isStorageTelemetryPolicyFactory,
-        isCoreHttpPolicyFactory
-      ];
-      if (pipeline.factories.length) {
-        const novelFactories = pipeline.factories.filter((factory) => {
-          return !knownFactoryFunctions.some((knownFactory) => knownFactory(factory));
-        });
-        if (novelFactories.length) {
-          const hasInjector = novelFactories.some((factory) => isInjectorPolicyFactory(factory));
-          return {
-            wrappedPolicies: (0, core_http_compat_1.createRequestPolicyFactoryPolicy)(novelFactories),
-            afterRetry: hasInjector
-          };
-        }
-      }
-      return void 0;
-    }
-    function getCoreClientOptions(pipeline) {
-      const { httpClient: v1Client, ...restOptions } = pipeline.options;
-      let httpClient = pipeline._coreHttpClient;
-      if (!httpClient) {
-        httpClient = v1Client ? (0, core_http_compat_1.convertHttpClient)(v1Client) : (0, storage_common_1.getCachedDefaultHttpClient)();
-        pipeline._coreHttpClient = httpClient;
-      }
-      let corePipeline = pipeline._corePipeline;
-      if (!corePipeline) {
-        const packageDetails = `azsdk-js-azure-storage-blob/${constants_js_1.SDK_VERSION}`;
-        const userAgentPrefix = restOptions.userAgentOptions && restOptions.userAgentOptions.userAgentPrefix ? `${restOptions.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
-        corePipeline = (0, core_client_1.createClientPipeline)({
-          ...restOptions,
-          loggingOptions: {
-            additionalAllowedHeaderNames: constants_js_1.StorageBlobLoggingAllowedHeaderNames,
-            additionalAllowedQueryParameters: constants_js_1.StorageBlobLoggingAllowedQueryParameters,
-            logger: log_js_1.logger.info
-          },
-          userAgentOptions: {
-            userAgentPrefix
-          },
-          serializationOptions: {
-            stringifyXML: core_xml_1.stringifyXML,
-            serializerOptions: {
-              xml: {
-                // Use customized XML char key of "#" so we can deserialize metadata
-                // with "_" key
-                xmlCharKey: "#"
-              }
-            }
-          },
-          deserializationOptions: {
-            parseXML: core_xml_1.parseXML,
-            serializerOptions: {
-              xml: {
-                // Use customized XML char key of "#" so we can deserialize metadata
-                // with "_" key
-                xmlCharKey: "#"
-              }
-            }
-          }
-        });
-        corePipeline.removePolicy({ phase: "Retry" });
-        corePipeline.removePolicy({ name: core_rest_pipeline_1.decompressResponsePolicyName });
-        corePipeline.addPolicy((0, StorageCorrectContentLengthPolicy_js_1.storageCorrectContentLengthPolicy)());
-        corePipeline.addPolicy((0, StorageRetryPolicyV2_js_1.storageRetryPolicy)(restOptions.retryOptions), { phase: "Retry" });
-        corePipeline.addPolicy((0, storage_common_1.storageRequestFailureDetailsParserPolicy)());
-        corePipeline.addPolicy((0, StorageBrowserPolicyV2_js_1.storageBrowserPolicy)());
-        const downlevelResults = processDownlevelPipeline(pipeline);
-        if (downlevelResults) {
-          corePipeline.addPolicy(downlevelResults.wrappedPolicies, downlevelResults.afterRetry ? { afterPhase: "Retry" } : void 0);
-        }
-        const credential = getCredentialFromPipeline(pipeline);
-        if ((0, core_auth_1.isTokenCredential)(credential)) {
-          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-            credential,
-            scopes: restOptions.audience ?? constants_js_1.StorageOAuthScopes,
-            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
-          }), { phase: "Sign" });
-        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
-            accountName: credential.accountName,
-            accountKey: credential.accountKey
-          }), { phase: "Sign" });
-        }
-        pipeline._corePipeline = corePipeline;
-      }
-      return {
-        ...restOptions,
-        allowInsecureConnection: true,
-        httpClient,
-        pipeline: corePipeline
-      };
-    }
-    function getCredentialFromPipeline(pipeline) {
-      if (pipeline._credential) {
-        return pipeline._credential;
-      }
-      let credential = new AnonymousCredential_js_1.AnonymousCredential();
-      for (const factory of pipeline.factories) {
-        if ((0, core_auth_1.isTokenCredential)(factory.credential)) {
-          credential = factory.credential;
-        } else if (isStorageSharedKeyCredential(factory)) {
-          return factory;
-        }
-      }
-      return credential;
-    }
-    function isStorageSharedKeyCredential(factory) {
-      if (factory instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-        return true;
-      }
-      return factory.constructor.name === "StorageSharedKeyCredential";
-    }
-    function isAnonymousCredential(factory) {
-      if (factory instanceof AnonymousCredential_js_1.AnonymousCredential) {
-        return true;
-      }
-      return factory.constructor.name === "AnonymousCredential";
-    }
-    function isCoreHttpBearerTokenFactory(factory) {
-      return (0, core_auth_1.isTokenCredential)(factory.credential);
-    }
-    function isStorageBrowserPolicyFactory(factory) {
-      if (factory instanceof StorageBrowserPolicyFactory_js_1.StorageBrowserPolicyFactory) {
-        return true;
-      }
-      return factory.constructor.name === "StorageBrowserPolicyFactory";
-    }
-    function isStorageRetryPolicyFactory(factory) {
-      if (factory instanceof StorageRetryPolicyFactory_js_1.StorageRetryPolicyFactory) {
-        return true;
-      }
-      return factory.constructor.name === "StorageRetryPolicyFactory";
-    }
-    function isStorageTelemetryPolicyFactory(factory) {
-      return factory.constructor.name === "TelemetryPolicyFactory";
-    }
-    function isInjectorPolicyFactory(factory) {
-      return factory.constructor.name === "InjectorPolicyFactory";
-    }
-    function isCoreHttpPolicyFactory(factory) {
-      const knownPolicies = [
-        "GenerateClientRequestIdPolicy",
-        "TracingPolicy",
-        "LogPolicy",
-        "ProxyPolicy",
-        "DisableResponseDecompressionPolicy",
-        "KeepAlivePolicy",
-        "DeserializationPolicy"
-      ];
-      const mockHttpClient = {
-        sendRequest: async (request2) => {
-          return {
-            request: request2,
-            headers: request2.headers.clone(),
-            status: 500
-          };
-        }
-      };
-      const mockRequestPolicyOptions = {
-        log(_logLevel, _message) {
-        },
-        shouldLog(_logLevel) {
-          return false;
-        }
-      };
-      const policyInstance = factory.create(mockHttpClient, mockRequestPolicyOptions);
-      const policyName = policyInstance.constructor.name;
-      return knownPolicies.some((knownPolicyName) => {
-        return policyName.startsWith(knownPolicyName);
-      });
-    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js
-var require_models = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/index.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js
+var require_pageBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.KnownStorageErrorCode = exports2.KnownBlobExpiryOptions = exports2.KnownFileShareTokenIntent = exports2.KnownEncryptionAlgorithmType = void 0;
-    var KnownEncryptionAlgorithmType;
-    (function(KnownEncryptionAlgorithmType2) {
-      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
-    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
-    var KnownFileShareTokenIntent;
-    (function(KnownFileShareTokenIntent2) {
-      KnownFileShareTokenIntent2["Backup"] = "backup";
-    })(KnownFileShareTokenIntent || (exports2.KnownFileShareTokenIntent = KnownFileShareTokenIntent = {}));
-    var KnownBlobExpiryOptions;
-    (function(KnownBlobExpiryOptions2) {
-      KnownBlobExpiryOptions2["NeverExpire"] = "NeverExpire";
-      KnownBlobExpiryOptions2["RelativeToCreation"] = "RelativeToCreation";
-      KnownBlobExpiryOptions2["RelativeToNow"] = "RelativeToNow";
-      KnownBlobExpiryOptions2["Absolute"] = "Absolute";
-    })(KnownBlobExpiryOptions || (exports2.KnownBlobExpiryOptions = KnownBlobExpiryOptions = {}));
-    var KnownStorageErrorCode;
-    (function(KnownStorageErrorCode2) {
-      KnownStorageErrorCode2["AccountAlreadyExists"] = "AccountAlreadyExists";
-      KnownStorageErrorCode2["AccountBeingCreated"] = "AccountBeingCreated";
-      KnownStorageErrorCode2["AccountIsDisabled"] = "AccountIsDisabled";
-      KnownStorageErrorCode2["AuthenticationFailed"] = "AuthenticationFailed";
-      KnownStorageErrorCode2["AuthorizationFailure"] = "AuthorizationFailure";
-      KnownStorageErrorCode2["ConditionHeadersNotSupported"] = "ConditionHeadersNotSupported";
-      KnownStorageErrorCode2["ConditionNotMet"] = "ConditionNotMet";
-      KnownStorageErrorCode2["EmptyMetadataKey"] = "EmptyMetadataKey";
-      KnownStorageErrorCode2["InsufficientAccountPermissions"] = "InsufficientAccountPermissions";
-      KnownStorageErrorCode2["InternalError"] = "InternalError";
-      KnownStorageErrorCode2["InvalidAuthenticationInfo"] = "InvalidAuthenticationInfo";
-      KnownStorageErrorCode2["InvalidHeaderValue"] = "InvalidHeaderValue";
-      KnownStorageErrorCode2["InvalidHttpVerb"] = "InvalidHttpVerb";
-      KnownStorageErrorCode2["InvalidInput"] = "InvalidInput";
-      KnownStorageErrorCode2["InvalidMd5"] = "InvalidMd5";
-      KnownStorageErrorCode2["InvalidMetadata"] = "InvalidMetadata";
-      KnownStorageErrorCode2["InvalidQueryParameterValue"] = "InvalidQueryParameterValue";
-      KnownStorageErrorCode2["InvalidRange"] = "InvalidRange";
-      KnownStorageErrorCode2["InvalidResourceName"] = "InvalidResourceName";
-      KnownStorageErrorCode2["InvalidUri"] = "InvalidUri";
-      KnownStorageErrorCode2["InvalidXmlDocument"] = "InvalidXmlDocument";
-      KnownStorageErrorCode2["InvalidXmlNodeValue"] = "InvalidXmlNodeValue";
-      KnownStorageErrorCode2["Md5Mismatch"] = "Md5Mismatch";
-      KnownStorageErrorCode2["MetadataTooLarge"] = "MetadataTooLarge";
-      KnownStorageErrorCode2["MissingContentLengthHeader"] = "MissingContentLengthHeader";
-      KnownStorageErrorCode2["MissingRequiredQueryParameter"] = "MissingRequiredQueryParameter";
-      KnownStorageErrorCode2["MissingRequiredHeader"] = "MissingRequiredHeader";
-      KnownStorageErrorCode2["MissingRequiredXmlNode"] = "MissingRequiredXmlNode";
-      KnownStorageErrorCode2["MultipleConditionHeadersNotSupported"] = "MultipleConditionHeadersNotSupported";
-      KnownStorageErrorCode2["OperationTimedOut"] = "OperationTimedOut";
-      KnownStorageErrorCode2["OutOfRangeInput"] = "OutOfRangeInput";
-      KnownStorageErrorCode2["OutOfRangeQueryParameterValue"] = "OutOfRangeQueryParameterValue";
-      KnownStorageErrorCode2["RequestBodyTooLarge"] = "RequestBodyTooLarge";
-      KnownStorageErrorCode2["ResourceTypeMismatch"] = "ResourceTypeMismatch";
-      KnownStorageErrorCode2["RequestUrlFailedToParse"] = "RequestUrlFailedToParse";
-      KnownStorageErrorCode2["ResourceAlreadyExists"] = "ResourceAlreadyExists";
-      KnownStorageErrorCode2["ResourceNotFound"] = "ResourceNotFound";
-      KnownStorageErrorCode2["ServerBusy"] = "ServerBusy";
-      KnownStorageErrorCode2["UnsupportedHeader"] = "UnsupportedHeader";
-      KnownStorageErrorCode2["UnsupportedXmlNode"] = "UnsupportedXmlNode";
-      KnownStorageErrorCode2["UnsupportedQueryParameter"] = "UnsupportedQueryParameter";
-      KnownStorageErrorCode2["UnsupportedHttpVerb"] = "UnsupportedHttpVerb";
-      KnownStorageErrorCode2["AppendPositionConditionNotMet"] = "AppendPositionConditionNotMet";
-      KnownStorageErrorCode2["BlobAlreadyExists"] = "BlobAlreadyExists";
-      KnownStorageErrorCode2["BlobImmutableDueToPolicy"] = "BlobImmutableDueToPolicy";
-      KnownStorageErrorCode2["BlobNotFound"] = "BlobNotFound";
-      KnownStorageErrorCode2["BlobOverwritten"] = "BlobOverwritten";
-      KnownStorageErrorCode2["BlobTierInadequateForContentLength"] = "BlobTierInadequateForContentLength";
-      KnownStorageErrorCode2["BlobUsesCustomerSpecifiedEncryption"] = "BlobUsesCustomerSpecifiedEncryption";
-      KnownStorageErrorCode2["BlockCountExceedsLimit"] = "BlockCountExceedsLimit";
-      KnownStorageErrorCode2["BlockListTooLong"] = "BlockListTooLong";
-      KnownStorageErrorCode2["CannotChangeToLowerTier"] = "CannotChangeToLowerTier";
-      KnownStorageErrorCode2["CannotVerifyCopySource"] = "CannotVerifyCopySource";
-      KnownStorageErrorCode2["ContainerAlreadyExists"] = "ContainerAlreadyExists";
-      KnownStorageErrorCode2["ContainerBeingDeleted"] = "ContainerBeingDeleted";
-      KnownStorageErrorCode2["ContainerDisabled"] = "ContainerDisabled";
-      KnownStorageErrorCode2["ContainerNotFound"] = "ContainerNotFound";
-      KnownStorageErrorCode2["ContentLengthLargerThanTierLimit"] = "ContentLengthLargerThanTierLimit";
-      KnownStorageErrorCode2["CopyAcrossAccountsNotSupported"] = "CopyAcrossAccountsNotSupported";
-      KnownStorageErrorCode2["CopyIdMismatch"] = "CopyIdMismatch";
-      KnownStorageErrorCode2["FeatureVersionMismatch"] = "FeatureVersionMismatch";
-      KnownStorageErrorCode2["IncrementalCopyBlobMismatch"] = "IncrementalCopyBlobMismatch";
-      KnownStorageErrorCode2["IncrementalCopyOfEarlierVersionSnapshotNotAllowed"] = "IncrementalCopyOfEarlierVersionSnapshotNotAllowed";
-      KnownStorageErrorCode2["IncrementalCopySourceMustBeSnapshot"] = "IncrementalCopySourceMustBeSnapshot";
-      KnownStorageErrorCode2["InfiniteLeaseDurationRequired"] = "InfiniteLeaseDurationRequired";
-      KnownStorageErrorCode2["InvalidBlobOrBlock"] = "InvalidBlobOrBlock";
-      KnownStorageErrorCode2["InvalidBlobTier"] = "InvalidBlobTier";
-      KnownStorageErrorCode2["InvalidBlobType"] = "InvalidBlobType";
-      KnownStorageErrorCode2["InvalidBlockId"] = "InvalidBlockId";
-      KnownStorageErrorCode2["InvalidBlockList"] = "InvalidBlockList";
-      KnownStorageErrorCode2["InvalidOperation"] = "InvalidOperation";
-      KnownStorageErrorCode2["InvalidPageRange"] = "InvalidPageRange";
-      KnownStorageErrorCode2["InvalidSourceBlobType"] = "InvalidSourceBlobType";
-      KnownStorageErrorCode2["InvalidSourceBlobUrl"] = "InvalidSourceBlobUrl";
-      KnownStorageErrorCode2["InvalidVersionForPageBlobOperation"] = "InvalidVersionForPageBlobOperation";
-      KnownStorageErrorCode2["LeaseAlreadyPresent"] = "LeaseAlreadyPresent";
-      KnownStorageErrorCode2["LeaseAlreadyBroken"] = "LeaseAlreadyBroken";
-      KnownStorageErrorCode2["LeaseIdMismatchWithBlobOperation"] = "LeaseIdMismatchWithBlobOperation";
-      KnownStorageErrorCode2["LeaseIdMismatchWithContainerOperation"] = "LeaseIdMismatchWithContainerOperation";
-      KnownStorageErrorCode2["LeaseIdMismatchWithLeaseOperation"] = "LeaseIdMismatchWithLeaseOperation";
-      KnownStorageErrorCode2["LeaseIdMissing"] = "LeaseIdMissing";
-      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeAcquired"] = "LeaseIsBreakingAndCannotBeAcquired";
-      KnownStorageErrorCode2["LeaseIsBreakingAndCannotBeChanged"] = "LeaseIsBreakingAndCannotBeChanged";
-      KnownStorageErrorCode2["LeaseIsBrokenAndCannotBeRenewed"] = "LeaseIsBrokenAndCannotBeRenewed";
-      KnownStorageErrorCode2["LeaseLost"] = "LeaseLost";
-      KnownStorageErrorCode2["LeaseNotPresentWithBlobOperation"] = "LeaseNotPresentWithBlobOperation";
-      KnownStorageErrorCode2["LeaseNotPresentWithContainerOperation"] = "LeaseNotPresentWithContainerOperation";
-      KnownStorageErrorCode2["LeaseNotPresentWithLeaseOperation"] = "LeaseNotPresentWithLeaseOperation";
-      KnownStorageErrorCode2["MaxBlobSizeConditionNotMet"] = "MaxBlobSizeConditionNotMet";
-      KnownStorageErrorCode2["NoAuthenticationInformation"] = "NoAuthenticationInformation";
-      KnownStorageErrorCode2["NoPendingCopyOperation"] = "NoPendingCopyOperation";
-      KnownStorageErrorCode2["OperationNotAllowedOnIncrementalCopyBlob"] = "OperationNotAllowedOnIncrementalCopyBlob";
-      KnownStorageErrorCode2["PendingCopyOperation"] = "PendingCopyOperation";
-      KnownStorageErrorCode2["PreviousSnapshotCannotBeNewer"] = "PreviousSnapshotCannotBeNewer";
-      KnownStorageErrorCode2["PreviousSnapshotNotFound"] = "PreviousSnapshotNotFound";
-      KnownStorageErrorCode2["PreviousSnapshotOperationNotSupported"] = "PreviousSnapshotOperationNotSupported";
-      KnownStorageErrorCode2["SequenceNumberConditionNotMet"] = "SequenceNumberConditionNotMet";
-      KnownStorageErrorCode2["SequenceNumberIncrementTooLarge"] = "SequenceNumberIncrementTooLarge";
-      KnownStorageErrorCode2["SnapshotCountExceeded"] = "SnapshotCountExceeded";
-      KnownStorageErrorCode2["SnapshotOperationRateExceeded"] = "SnapshotOperationRateExceeded";
-      KnownStorageErrorCode2["SnapshotsPresent"] = "SnapshotsPresent";
-      KnownStorageErrorCode2["SourceConditionNotMet"] = "SourceConditionNotMet";
-      KnownStorageErrorCode2["SystemInUse"] = "SystemInUse";
-      KnownStorageErrorCode2["TargetConditionNotMet"] = "TargetConditionNotMet";
-      KnownStorageErrorCode2["UnauthorizedBlobOverwrite"] = "UnauthorizedBlobOverwrite";
-      KnownStorageErrorCode2["BlobBeingRehydrated"] = "BlobBeingRehydrated";
-      KnownStorageErrorCode2["BlobArchived"] = "BlobArchived";
-      KnownStorageErrorCode2["BlobNotArchived"] = "BlobNotArchived";
-      KnownStorageErrorCode2["AuthorizationSourceIPMismatch"] = "AuthorizationSourceIPMismatch";
-      KnownStorageErrorCode2["AuthorizationProtocolMismatch"] = "AuthorizationProtocolMismatch";
-      KnownStorageErrorCode2["AuthorizationPermissionMismatch"] = "AuthorizationPermissionMismatch";
-      KnownStorageErrorCode2["AuthorizationServiceMismatch"] = "AuthorizationServiceMismatch";
-      KnownStorageErrorCode2["AuthorizationResourceTypeMismatch"] = "AuthorizationResourceTypeMismatch";
-      KnownStorageErrorCode2["BlobAccessTierNotSupportedForAccountType"] = "BlobAccessTierNotSupportedForAccountType";
-    })(KnownStorageErrorCode || (exports2.KnownStorageErrorCode = KnownStorageErrorCode = {}));
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js
-var require_mappers = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/mappers.js"(exports2) {
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js
+var require_appendBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js
+var require_blockBlob2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js
+var require_operationsInterfaces = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_service2(), exports2);
+    tslib_1.__exportStar(require_container2(), exports2);
+    tslib_1.__exportStar(require_blob2(), exports2);
+    tslib_1.__exportStar(require_pageBlob2(), exports2);
+    tslib_1.__exportStar(require_appendBlob2(), exports2);
+    tslib_1.__exportStar(require_blockBlob2(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js
+var require_src2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceGetUserDelegationKeyHeaders = exports2.ServiceListContainersSegmentExceptionHeaders = exports2.ServiceListContainersSegmentHeaders = exports2.ServiceGetStatisticsExceptionHeaders = exports2.ServiceGetStatisticsHeaders = exports2.ServiceGetPropertiesExceptionHeaders = exports2.ServiceGetPropertiesHeaders = exports2.ServiceSetPropertiesExceptionHeaders = exports2.ServiceSetPropertiesHeaders = exports2.ArrowField = exports2.ArrowConfiguration = exports2.JsonTextConfiguration = exports2.DelimitedTextConfiguration = exports2.QueryFormat = exports2.QuerySerialization = exports2.QueryRequest = exports2.ClearRange = exports2.PageRange = exports2.PageList = exports2.Block = exports2.BlockList = exports2.BlockLookupList = exports2.BlobPrefix = exports2.BlobHierarchyListSegment = exports2.ListBlobsHierarchySegmentResponse = exports2.BlobPropertiesInternal = exports2.BlobName = exports2.BlobItemInternal = exports2.BlobFlatListSegment = exports2.ListBlobsFlatSegmentResponse = exports2.AccessPolicy = exports2.SignedIdentifier = exports2.BlobTag = exports2.BlobTags = exports2.FilterBlobItem = exports2.FilterBlobSegment = exports2.UserDelegationKey = exports2.KeyInfo = exports2.ContainerProperties = exports2.ContainerItem = exports2.ListContainersSegmentResponse = exports2.GeoReplication = exports2.BlobServiceStatistics = exports2.StorageError = exports2.StaticWebsite = exports2.CorsRule = exports2.Metrics = exports2.RetentionPolicy = exports2.Logging = exports2.BlobServiceProperties = void 0;
-    exports2.BlobUndeleteHeaders = exports2.BlobDeleteExceptionHeaders = exports2.BlobDeleteHeaders = exports2.BlobGetPropertiesExceptionHeaders = exports2.BlobGetPropertiesHeaders = exports2.BlobDownloadExceptionHeaders = exports2.BlobDownloadHeaders = exports2.ContainerGetAccountInfoExceptionHeaders = exports2.ContainerGetAccountInfoHeaders = exports2.ContainerListBlobHierarchySegmentExceptionHeaders = exports2.ContainerListBlobHierarchySegmentHeaders = exports2.ContainerListBlobFlatSegmentExceptionHeaders = exports2.ContainerListBlobFlatSegmentHeaders = exports2.ContainerChangeLeaseExceptionHeaders = exports2.ContainerChangeLeaseHeaders = exports2.ContainerBreakLeaseExceptionHeaders = exports2.ContainerBreakLeaseHeaders = exports2.ContainerRenewLeaseExceptionHeaders = exports2.ContainerRenewLeaseHeaders = exports2.ContainerReleaseLeaseExceptionHeaders = exports2.ContainerReleaseLeaseHeaders = exports2.ContainerAcquireLeaseExceptionHeaders = exports2.ContainerAcquireLeaseHeaders = exports2.ContainerFilterBlobsExceptionHeaders = exports2.ContainerFilterBlobsHeaders = exports2.ContainerSubmitBatchExceptionHeaders = exports2.ContainerSubmitBatchHeaders = exports2.ContainerRenameExceptionHeaders = exports2.ContainerRenameHeaders = exports2.ContainerRestoreExceptionHeaders = exports2.ContainerRestoreHeaders = exports2.ContainerSetAccessPolicyExceptionHeaders = exports2.ContainerSetAccessPolicyHeaders = exports2.ContainerGetAccessPolicyExceptionHeaders = exports2.ContainerGetAccessPolicyHeaders = exports2.ContainerSetMetadataExceptionHeaders = exports2.ContainerSetMetadataHeaders = exports2.ContainerDeleteExceptionHeaders = exports2.ContainerDeleteHeaders = exports2.ContainerGetPropertiesExceptionHeaders = exports2.ContainerGetPropertiesHeaders = exports2.ContainerCreateExceptionHeaders = exports2.ContainerCreateHeaders = exports2.ServiceFilterBlobsExceptionHeaders = exports2.ServiceFilterBlobsHeaders = exports2.ServiceSubmitBatchExceptionHeaders = exports2.ServiceSubmitBatchHeaders = exports2.ServiceGetAccountInfoExceptionHeaders = exports2.ServiceGetAccountInfoHeaders = exports2.ServiceGetUserDelegationKeyExceptionHeaders = void 0;
-    exports2.PageBlobGetPageRangesHeaders = exports2.PageBlobUploadPagesFromURLExceptionHeaders = exports2.PageBlobUploadPagesFromURLHeaders = exports2.PageBlobClearPagesExceptionHeaders = exports2.PageBlobClearPagesHeaders = exports2.PageBlobUploadPagesExceptionHeaders = exports2.PageBlobUploadPagesHeaders = exports2.PageBlobCreateExceptionHeaders = exports2.PageBlobCreateHeaders = exports2.BlobSetTagsExceptionHeaders = exports2.BlobSetTagsHeaders = exports2.BlobGetTagsExceptionHeaders = exports2.BlobGetTagsHeaders = exports2.BlobQueryExceptionHeaders = exports2.BlobQueryHeaders = exports2.BlobGetAccountInfoExceptionHeaders = exports2.BlobGetAccountInfoHeaders = exports2.BlobSetTierExceptionHeaders = exports2.BlobSetTierHeaders = exports2.BlobAbortCopyFromURLExceptionHeaders = exports2.BlobAbortCopyFromURLHeaders = exports2.BlobCopyFromURLExceptionHeaders = exports2.BlobCopyFromURLHeaders = exports2.BlobStartCopyFromURLExceptionHeaders = exports2.BlobStartCopyFromURLHeaders = exports2.BlobCreateSnapshotExceptionHeaders = exports2.BlobCreateSnapshotHeaders = exports2.BlobBreakLeaseExceptionHeaders = exports2.BlobBreakLeaseHeaders = exports2.BlobChangeLeaseExceptionHeaders = exports2.BlobChangeLeaseHeaders = exports2.BlobRenewLeaseExceptionHeaders = exports2.BlobRenewLeaseHeaders = exports2.BlobReleaseLeaseExceptionHeaders = exports2.BlobReleaseLeaseHeaders = exports2.BlobAcquireLeaseExceptionHeaders = exports2.BlobAcquireLeaseHeaders = exports2.BlobSetMetadataExceptionHeaders = exports2.BlobSetMetadataHeaders = exports2.BlobSetLegalHoldExceptionHeaders = exports2.BlobSetLegalHoldHeaders = exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = exports2.BlobDeleteImmutabilityPolicyHeaders = exports2.BlobSetImmutabilityPolicyExceptionHeaders = exports2.BlobSetImmutabilityPolicyHeaders = exports2.BlobSetHttpHeadersExceptionHeaders = exports2.BlobSetHttpHeadersHeaders = exports2.BlobSetExpiryExceptionHeaders = exports2.BlobSetExpiryHeaders = exports2.BlobUndeleteExceptionHeaders = void 0;
-    exports2.BlockBlobGetBlockListExceptionHeaders = exports2.BlockBlobGetBlockListHeaders = exports2.BlockBlobCommitBlockListExceptionHeaders = exports2.BlockBlobCommitBlockListHeaders = exports2.BlockBlobStageBlockFromURLExceptionHeaders = exports2.BlockBlobStageBlockFromURLHeaders = exports2.BlockBlobStageBlockExceptionHeaders = exports2.BlockBlobStageBlockHeaders = exports2.BlockBlobPutBlobFromUrlExceptionHeaders = exports2.BlockBlobPutBlobFromUrlHeaders = exports2.BlockBlobUploadExceptionHeaders = exports2.BlockBlobUploadHeaders = exports2.AppendBlobSealExceptionHeaders = exports2.AppendBlobSealHeaders = exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = exports2.AppendBlobAppendBlockFromUrlHeaders = exports2.AppendBlobAppendBlockExceptionHeaders = exports2.AppendBlobAppendBlockHeaders = exports2.AppendBlobCreateExceptionHeaders = exports2.AppendBlobCreateHeaders = exports2.PageBlobCopyIncrementalExceptionHeaders = exports2.PageBlobCopyIncrementalHeaders = exports2.PageBlobUpdateSequenceNumberExceptionHeaders = exports2.PageBlobUpdateSequenceNumberHeaders = exports2.PageBlobResizeExceptionHeaders = exports2.PageBlobResizeHeaders = exports2.PageBlobGetPageRangesDiffExceptionHeaders = exports2.PageBlobGetPageRangesDiffHeaders = exports2.PageBlobGetPageRangesExceptionHeaders = void 0;
-    exports2.BlobServiceProperties = {
-      serializedName: "BlobServiceProperties",
-      xmlName: "StorageServiceProperties",
-      type: {
-        name: "Composite",
-        className: "BlobServiceProperties",
-        modelProperties: {
-          blobAnalyticsLogging: {
-            serializedName: "Logging",
-            xmlName: "Logging",
-            type: {
-              name: "Composite",
-              className: "Logging"
-            }
-          },
-          hourMetrics: {
-            serializedName: "HourMetrics",
-            xmlName: "HourMetrics",
-            type: {
-              name: "Composite",
-              className: "Metrics"
-            }
-          },
-          minuteMetrics: {
-            serializedName: "MinuteMetrics",
-            xmlName: "MinuteMetrics",
-            type: {
-              name: "Composite",
-              className: "Metrics"
-            }
-          },
-          cors: {
-            serializedName: "Cors",
-            xmlName: "Cors",
-            xmlIsWrapped: true,
-            xmlElementName: "CorsRule",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "CorsRule"
-                }
-              }
-            }
-          },
-          defaultServiceVersion: {
-            serializedName: "DefaultServiceVersion",
-            xmlName: "DefaultServiceVersion",
-            type: {
-              name: "String"
-            }
-          },
-          deleteRetentionPolicy: {
-            serializedName: "DeleteRetentionPolicy",
-            xmlName: "DeleteRetentionPolicy",
-            type: {
-              name: "Composite",
-              className: "RetentionPolicy"
-            }
-          },
-          staticWebsite: {
-            serializedName: "StaticWebsite",
-            xmlName: "StaticWebsite",
-            type: {
-              name: "Composite",
-              className: "StaticWebsite"
-            }
-          }
+    exports2.StorageClient = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    tslib_1.__exportStar(require_models(), exports2);
+    var storageClient_js_1 = require_storageClient();
+    Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() {
+      return storageClient_js_1.StorageClient;
+    } });
+    tslib_1.__exportStar(require_operationsInterfaces(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js
+var require_StorageContextClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageContextClient = void 0;
+    var index_js_1 = require_src2();
+    var StorageContextClient = class extends index_js_1.StorageClient {
+      async sendOperationRequest(operationArguments, operationSpec) {
+        const operationSpecToSend = { ...operationSpec };
+        if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") {
+          operationSpecToSend.path = "";
         }
+        return super.sendOperationRequest(operationArguments, operationSpecToSend);
       }
     };
-    exports2.Logging = {
-      serializedName: "Logging",
-      type: {
-        name: "Composite",
-        className: "Logging",
-        modelProperties: {
-          version: {
-            serializedName: "Version",
-            required: true,
-            xmlName: "Version",
-            type: {
-              name: "String"
-            }
-          },
-          deleteProperty: {
-            serializedName: "Delete",
-            required: true,
-            xmlName: "Delete",
-            type: {
-              name: "Boolean"
-            }
-          },
-          read: {
-            serializedName: "Read",
-            required: true,
-            xmlName: "Read",
-            type: {
-              name: "Boolean"
-            }
-          },
-          write: {
-            serializedName: "Write",
-            required: true,
-            xmlName: "Write",
-            type: {
-              name: "Boolean"
-            }
-          },
-          retentionPolicy: {
-            serializedName: "RetentionPolicy",
-            xmlName: "RetentionPolicy",
-            type: {
-              name: "Composite",
-              className: "RetentionPolicy"
-            }
-          }
-        }
+    exports2.StorageContextClient = StorageContextClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js
+var require_StorageClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageClient = void 0;
+    var StorageContextClient_js_1 = require_StorageContextClient();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var StorageClient = class {
+      /**
+       * Encoded URL string value.
+       */
+      url;
+      accountName;
+      /**
+       * Request policy pipeline.
+       *
+       * @internal
+       */
+      pipeline;
+      /**
+       * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
+       */
+      credential;
+      /**
+       * StorageClient is a reference to protocol layer operations entry, which is
+       * generated by AutoRest generator.
+       */
+      storageClientContext;
+      /**
+       */
+      isHttps;
+      /**
+       * Creates an instance of StorageClient.
+       * @param url - url to resource
+       * @param pipeline - request policy pipeline.
+       */
+      constructor(url, pipeline) {
+        this.url = (0, utils_common_js_1.escapeURLPath)(url);
+        this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url);
+        this.pipeline = pipeline;
+        this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
+        this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https");
+        this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline);
+        const storageClientContext = this.storageClientContext;
+        storageClientContext.requestContentType = void 0;
       }
     };
-    exports2.RetentionPolicy = {
-      serializedName: "RetentionPolicy",
-      type: {
-        name: "Composite",
-        className: "RetentionPolicy",
-        modelProperties: {
-          enabled: {
-            serializedName: "Enabled",
-            required: true,
-            xmlName: "Enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          days: {
-            constraints: {
-              InclusiveMinimum: 1
-            },
-            serializedName: "Days",
-            xmlName: "Days",
-            type: {
-              name: "Number"
-            }
+    exports2.StorageClient = StorageClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js
+var require_tracing = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.tracingClient = void 0;
+    var core_tracing_1 = require_commonjs7();
+    var constants_js_1 = require_constants14();
+    exports2.tracingClient = (0, core_tracing_1.createTracingClient)({
+      packageName: "@azure/storage-blob",
+      packageVersion: constants_js_1.SDK_VERSION,
+      namespace: "Microsoft.Storage"
+    });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js
+var require_BlobSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobSASPermissions = void 0;
+    var BlobSASPermissions = class _BlobSASPermissions {
+      /**
+       * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid permission.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const blobSASPermissions = new _BlobSASPermissions();
+        for (const char of permissions) {
+          switch (char) {
+            case "r":
+              blobSASPermissions.read = true;
+              break;
+            case "a":
+              blobSASPermissions.add = true;
+              break;
+            case "c":
+              blobSASPermissions.create = true;
+              break;
+            case "w":
+              blobSASPermissions.write = true;
+              break;
+            case "d":
+              blobSASPermissions.delete = true;
+              break;
+            case "x":
+              blobSASPermissions.deleteVersion = true;
+              break;
+            case "t":
+              blobSASPermissions.tag = true;
+              break;
+            case "m":
+              blobSASPermissions.move = true;
+              break;
+            case "e":
+              blobSASPermissions.execute = true;
+              break;
+            case "i":
+              blobSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              blobSASPermissions.permanentDelete = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission: ${char}`);
           }
         }
+        return blobSASPermissions;
       }
-    };
-    exports2.Metrics = {
-      serializedName: "Metrics",
-      type: {
-        name: "Composite",
-        className: "Metrics",
-        modelProperties: {
-          version: {
-            serializedName: "Version",
-            xmlName: "Version",
-            type: {
-              name: "String"
-            }
-          },
-          enabled: {
-            serializedName: "Enabled",
-            required: true,
-            xmlName: "Enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          includeAPIs: {
-            serializedName: "IncludeAPIs",
-            xmlName: "IncludeAPIs",
-            type: {
-              name: "Boolean"
-            }
-          },
-          retentionPolicy: {
-            serializedName: "RetentionPolicy",
-            xmlName: "RetentionPolicy",
-            type: {
-              name: "Composite",
-              className: "RetentionPolicy"
-            }
-          }
+      /**
+       * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const blobSASPermissions = new _BlobSASPermissions();
+        if (permissionLike.read) {
+          blobSASPermissions.read = true;
+        }
+        if (permissionLike.add) {
+          blobSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          blobSASPermissions.create = true;
+        }
+        if (permissionLike.write) {
+          blobSASPermissions.write = true;
+        }
+        if (permissionLike.delete) {
+          blobSASPermissions.delete = true;
+        }
+        if (permissionLike.deleteVersion) {
+          blobSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.tag) {
+          blobSASPermissions.tag = true;
+        }
+        if (permissionLike.move) {
+          blobSASPermissions.move = true;
+        }
+        if (permissionLike.execute) {
+          blobSASPermissions.execute = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          blobSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          blobSASPermissions.permanentDelete = true;
         }
+        return blobSASPermissions;
       }
-    };
-    exports2.CorsRule = {
-      serializedName: "CorsRule",
-      type: {
-        name: "Composite",
-        className: "CorsRule",
-        modelProperties: {
-          allowedOrigins: {
-            serializedName: "AllowedOrigins",
-            required: true,
-            xmlName: "AllowedOrigins",
-            type: {
-              name: "String"
-            }
-          },
-          allowedMethods: {
-            serializedName: "AllowedMethods",
-            required: true,
-            xmlName: "AllowedMethods",
-            type: {
-              name: "String"
-            }
-          },
-          allowedHeaders: {
-            serializedName: "AllowedHeaders",
-            required: true,
-            xmlName: "AllowedHeaders",
-            type: {
-              name: "String"
-            }
-          },
-          exposedHeaders: {
-            serializedName: "ExposedHeaders",
-            required: true,
-            xmlName: "ExposedHeaders",
-            type: {
-              name: "String"
-            }
-          },
-          maxAgeInSeconds: {
-            constraints: {
-              InclusiveMinimum: 0
-            },
-            serializedName: "MaxAgeInSeconds",
-            required: true,
-            xmlName: "MaxAgeInSeconds",
-            type: {
-              name: "Number"
-            }
-          }
+      /**
+       * Specifies Read access granted.
+       */
+      read = false;
+      /**
+       * Specifies Add access granted.
+       */
+      add = false;
+      /**
+       * Specifies Create access granted.
+       */
+      create = false;
+      /**
+       * Specifies Write access granted.
+       */
+      write = false;
+      /**
+       * Specifies Delete access granted.
+       */
+      delete = false;
+      /**
+       * Specifies Delete version access granted.
+       */
+      deleteVersion = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Specifies Move access granted.
+       */
+      move = false;
+      /**
+       * Specifies Execute access granted.
+       */
+      execute = false;
+      /**
+       * Specifies SetImmutabilityPolicy access granted.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
+       * order accepted by the service.
+       *
+       * @returns A string which represents the BlobSASPermissions
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.move) {
+          permissions.push("m");
+        }
+        if (this.execute) {
+          permissions.push("e");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
         }
+        return permissions.join("");
       }
     };
-    exports2.StaticWebsite = {
-      serializedName: "StaticWebsite",
-      type: {
-        name: "Composite",
-        className: "StaticWebsite",
-        modelProperties: {
-          enabled: {
-            serializedName: "Enabled",
-            required: true,
-            xmlName: "Enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          indexDocument: {
-            serializedName: "IndexDocument",
-            xmlName: "IndexDocument",
-            type: {
-              name: "String"
-            }
-          },
-          errorDocument404Path: {
-            serializedName: "ErrorDocument404Path",
-            xmlName: "ErrorDocument404Path",
-            type: {
-              name: "String"
-            }
-          },
-          defaultIndexDocumentPath: {
-            serializedName: "DefaultIndexDocumentPath",
-            xmlName: "DefaultIndexDocumentPath",
-            type: {
-              name: "String"
-            }
+    exports2.BlobSASPermissions = BlobSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js
+var require_ContainerSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ContainerSASPermissions = void 0;
+    var ContainerSASPermissions = class _ContainerSASPermissions {
+      /**
+       * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid permission.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const containerSASPermissions = new _ContainerSASPermissions();
+        for (const char of permissions) {
+          switch (char) {
+            case "r":
+              containerSASPermissions.read = true;
+              break;
+            case "a":
+              containerSASPermissions.add = true;
+              break;
+            case "c":
+              containerSASPermissions.create = true;
+              break;
+            case "w":
+              containerSASPermissions.write = true;
+              break;
+            case "d":
+              containerSASPermissions.delete = true;
+              break;
+            case "l":
+              containerSASPermissions.list = true;
+              break;
+            case "t":
+              containerSASPermissions.tag = true;
+              break;
+            case "x":
+              containerSASPermissions.deleteVersion = true;
+              break;
+            case "m":
+              containerSASPermissions.move = true;
+              break;
+            case "e":
+              containerSASPermissions.execute = true;
+              break;
+            case "i":
+              containerSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              containerSASPermissions.permanentDelete = true;
+              break;
+            case "f":
+              containerSASPermissions.filterByTags = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission ${char}`);
           }
         }
+        return containerSASPermissions;
       }
-    };
-    exports2.StorageError = {
-      serializedName: "StorageError",
-      type: {
-        name: "Composite",
-        className: "StorageError",
-        modelProperties: {
-          message: {
-            serializedName: "Message",
-            xmlName: "Message",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "CopySourceStatusCode",
-            xmlName: "CopySourceStatusCode",
-            type: {
-              name: "Number"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "CopySourceErrorCode",
-            xmlName: "CopySourceErrorCode",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorMessage: {
-            serializedName: "CopySourceErrorMessage",
-            xmlName: "CopySourceErrorMessage",
-            type: {
-              name: "String"
-            }
-          },
-          code: {
-            serializedName: "Code",
-            xmlName: "Code",
-            type: {
-              name: "String"
-            }
-          },
-          authenticationErrorDetail: {
-            serializedName: "AuthenticationErrorDetail",
-            xmlName: "AuthenticationErrorDetail",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const containerSASPermissions = new _ContainerSASPermissions();
+        if (permissionLike.read) {
+          containerSASPermissions.read = true;
+        }
+        if (permissionLike.add) {
+          containerSASPermissions.add = true;
+        }
+        if (permissionLike.create) {
+          containerSASPermissions.create = true;
+        }
+        if (permissionLike.write) {
+          containerSASPermissions.write = true;
+        }
+        if (permissionLike.delete) {
+          containerSASPermissions.delete = true;
+        }
+        if (permissionLike.list) {
+          containerSASPermissions.list = true;
+        }
+        if (permissionLike.deleteVersion) {
+          containerSASPermissions.deleteVersion = true;
+        }
+        if (permissionLike.tag) {
+          containerSASPermissions.tag = true;
+        }
+        if (permissionLike.move) {
+          containerSASPermissions.move = true;
+        }
+        if (permissionLike.execute) {
+          containerSASPermissions.execute = true;
+        }
+        if (permissionLike.setImmutabilityPolicy) {
+          containerSASPermissions.setImmutabilityPolicy = true;
+        }
+        if (permissionLike.permanentDelete) {
+          containerSASPermissions.permanentDelete = true;
+        }
+        if (permissionLike.filterByTags) {
+          containerSASPermissions.filterByTags = true;
         }
+        return containerSASPermissions;
       }
-    };
-    exports2.BlobServiceStatistics = {
-      serializedName: "BlobServiceStatistics",
-      xmlName: "StorageServiceStats",
-      type: {
-        name: "Composite",
-        className: "BlobServiceStatistics",
-        modelProperties: {
-          geoReplication: {
-            serializedName: "GeoReplication",
-            xmlName: "GeoReplication",
-            type: {
-              name: "Composite",
-              className: "GeoReplication"
-            }
-          }
+      /**
+       * Specifies Read access granted.
+       */
+      read = false;
+      /**
+       * Specifies Add access granted.
+       */
+      add = false;
+      /**
+       * Specifies Create access granted.
+       */
+      create = false;
+      /**
+       * Specifies Write access granted.
+       */
+      write = false;
+      /**
+       * Specifies Delete access granted.
+       */
+      delete = false;
+      /**
+       * Specifies Delete version access granted.
+       */
+      deleteVersion = false;
+      /**
+       * Specifies List access granted.
+       */
+      list = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Specifies Move access granted.
+       */
+      move = false;
+      /**
+       * Specifies Execute access granted.
+       */
+      execute = false;
+      /**
+       * Specifies SetImmutabilityPolicy access granted.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Specifies that Filter Blobs by Tags is permitted.
+       */
+      filterByTags = false;
+      /**
+       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
+       * order accepted by the service.
+       *
+       * The order of the characters should be as specified here to ensure correctness.
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
+        }
+        if (this.add) {
+          permissions.push("a");
+        }
+        if (this.create) {
+          permissions.push("c");
+        }
+        if (this.write) {
+          permissions.push("w");
+        }
+        if (this.delete) {
+          permissions.push("d");
+        }
+        if (this.deleteVersion) {
+          permissions.push("x");
+        }
+        if (this.list) {
+          permissions.push("l");
+        }
+        if (this.tag) {
+          permissions.push("t");
+        }
+        if (this.move) {
+          permissions.push("m");
+        }
+        if (this.execute) {
+          permissions.push("e");
+        }
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
+        }
+        if (this.permanentDelete) {
+          permissions.push("y");
         }
+        if (this.filterByTags) {
+          permissions.push("f");
+        }
+        return permissions.join("");
       }
     };
-    exports2.GeoReplication = {
-      serializedName: "GeoReplication",
-      type: {
-        name: "Composite",
-        className: "GeoReplication",
-        modelProperties: {
-          status: {
-            serializedName: "Status",
-            required: true,
-            xmlName: "Status",
-            type: {
-              name: "Enum",
-              allowedValues: ["live", "bootstrap", "unavailable"]
-            }
-          },
-          lastSyncOn: {
-            serializedName: "LastSyncTime",
-            required: true,
-            xmlName: "LastSyncTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+    exports2.ContainerSASPermissions = ContainerSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js
+var require_UserDelegationKeyCredential = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.UserDelegationKeyCredential = void 0;
+    var node_crypto_1 = require("node:crypto");
+    var UserDelegationKeyCredential = class {
+      /**
+       * Azure Storage account name; readonly.
+       */
+      accountName;
+      /**
+       * Azure Storage user delegation key; readonly.
+       */
+      userDelegationKey;
+      /**
+       * Key value in Buffer type.
+       */
+      key;
+      /**
+       * Creates an instance of UserDelegationKeyCredential.
+       * @param accountName -
+       * @param userDelegationKey -
+       */
+      constructor(accountName, userDelegationKey) {
+        this.accountName = accountName;
+        this.userDelegationKey = userDelegationKey;
+        this.key = Buffer.from(userDelegationKey.value, "base64");
+      }
+      /**
+       * Generates a hash signature for an HTTP request or for a SAS.
+       *
+       * @param stringToSign -
+       */
+      computeHMACSHA256(stringToSign) {
+        return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64");
+      }
+    };
+    exports2.UserDelegationKeyCredential = UserDelegationKeyCredential;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js
+var require_SasIPRange = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ipRangeToString = ipRangeToString;
+    function ipRangeToString(ipRange) {
+      return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js
+var require_SASQueryParameters = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SASQueryParameters = exports2.SASProtocol = void 0;
+    var SasIPRange_js_1 = require_SasIPRange();
+    var utils_common_js_1 = require_utils_common();
+    var SASProtocol;
+    (function(SASProtocol2) {
+      SASProtocol2["Https"] = "https";
+      SASProtocol2["HttpsAndHttp"] = "https,http";
+    })(SASProtocol || (exports2.SASProtocol = SASProtocol = {}));
+    var SASQueryParameters = class {
+      /**
+       * The storage API version.
+       */
+      version;
+      /**
+       * Optional. The allowed HTTP protocol(s).
+       */
+      protocol;
+      /**
+       * Optional. The start time for this SAS token.
+       */
+      startsOn;
+      /**
+       * Optional only when identifier is provided. The expiry time for this SAS token.
+       */
+      expiresOn;
+      /**
+       * Optional only when identifier is provided.
+       * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
+       * more details.
+       */
+      permissions;
+      /**
+       * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
+       * for more details.
+       */
+      services;
+      /**
+       * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
+       * {@link AccountSASResourceTypes} for more details.
+       */
+      resourceTypes;
+      /**
+       * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
+       */
+      identifier;
+      /**
+       * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
+       */
+      encryptionScope;
+      /**
+       * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
+       */
+      resource;
+      /**
+       * The signature for the SAS token.
+       */
+      signature;
+      /**
+       * Value for cache-control header in Blob/File Service SAS.
+       */
+      cacheControl;
+      /**
+       * Value for content-disposition header in Blob/File Service SAS.
+       */
+      contentDisposition;
+      /**
+       * Value for content-encoding header in Blob/File Service SAS.
+       */
+      contentEncoding;
+      /**
+       * Value for content-length header in Blob/File Service SAS.
+       */
+      contentLanguage;
+      /**
+       * Value for content-type header in Blob/File Service SAS.
+       */
+      contentType;
+      /**
+       * Inner value of getter ipRange.
+       */
+      ipRangeInner;
+      /**
+       * The Azure Active Directory object ID in GUID format.
+       * Property of user delegation key.
+       */
+      signedOid;
+      /**
+       * The Azure Active Directory tenant ID in GUID format.
+       * Property of user delegation key.
+       */
+      signedTenantId;
+      /**
+       * The date-time the key is active.
+       * Property of user delegation key.
+       */
+      signedStartsOn;
+      /**
+       * The date-time the key expires.
+       * Property of user delegation key.
+       */
+      signedExpiresOn;
+      /**
+       * Abbreviation of the Azure Storage service that accepts the user delegation key.
+       * Property of user delegation key.
+       */
+      signedService;
+      /**
+       * The service version that created the user delegation key.
+       * Property of user delegation key.
+       */
+      signedVersion;
+      /**
+       * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
+       * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
+       * has the required permissions before granting access but no additional permission check for the user specified in
+       * this value will be performed. This is only used for User Delegation SAS.
+       */
+      preauthorizedAgentObjectId;
+      /**
+       * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
+       * This is only used for User Delegation SAS.
+       */
+      correlationId;
+      /**
+       * Optional. IP range allowed for this SAS.
+       *
+       * @readonly
+       */
+      get ipRange() {
+        if (this.ipRangeInner) {
+          return {
+            end: this.ipRangeInner.end,
+            start: this.ipRangeInner.start
+          };
         }
+        return void 0;
       }
-    };
-    exports2.ListContainersSegmentResponse = {
-      serializedName: "ListContainersSegmentResponse",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "ListContainersSegmentResponse",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          prefix: {
-            serializedName: "Prefix",
-            xmlName: "Prefix",
-            type: {
-              name: "String"
-            }
-          },
-          marker: {
-            serializedName: "Marker",
-            xmlName: "Marker",
-            type: {
-              name: "String"
-            }
-          },
-          maxPageSize: {
-            serializedName: "MaxResults",
-            xmlName: "MaxResults",
-            type: {
-              name: "Number"
-            }
-          },
-          containerItems: {
-            serializedName: "ContainerItems",
-            required: true,
-            xmlName: "Containers",
-            xmlIsWrapped: true,
-            xmlElementName: "Container",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "ContainerItem"
-                }
-              }
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
+      constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) {
+        this.version = version;
+        this.signature = signature;
+        if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") {
+          this.permissions = permissionsOrOptions.permissions;
+          this.services = permissionsOrOptions.services;
+          this.resourceTypes = permissionsOrOptions.resourceTypes;
+          this.protocol = permissionsOrOptions.protocol;
+          this.startsOn = permissionsOrOptions.startsOn;
+          this.expiresOn = permissionsOrOptions.expiresOn;
+          this.ipRangeInner = permissionsOrOptions.ipRange;
+          this.identifier = permissionsOrOptions.identifier;
+          this.encryptionScope = permissionsOrOptions.encryptionScope;
+          this.resource = permissionsOrOptions.resource;
+          this.cacheControl = permissionsOrOptions.cacheControl;
+          this.contentDisposition = permissionsOrOptions.contentDisposition;
+          this.contentEncoding = permissionsOrOptions.contentEncoding;
+          this.contentLanguage = permissionsOrOptions.contentLanguage;
+          this.contentType = permissionsOrOptions.contentType;
+          if (permissionsOrOptions.userDelegationKey) {
+            this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId;
+            this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId;
+            this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn;
+            this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn;
+            this.signedService = permissionsOrOptions.userDelegationKey.signedService;
+            this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion;
+            this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId;
+            this.correlationId = permissionsOrOptions.correlationId;
           }
-        }
-      }
-    };
-    exports2.ContainerItem = {
-      serializedName: "ContainerItem",
-      xmlName: "Container",
-      type: {
-        name: "Composite",
-        className: "ContainerItem",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            required: true,
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          deleted: {
-            serializedName: "Deleted",
-            xmlName: "Deleted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          version: {
-            serializedName: "Version",
-            xmlName: "Version",
-            type: {
-              name: "String"
-            }
-          },
-          properties: {
-            serializedName: "Properties",
-            xmlName: "Properties",
-            type: {
-              name: "Composite",
-              className: "ContainerProperties"
-            }
-          },
-          metadata: {
-            serializedName: "Metadata",
-            xmlName: "Metadata",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
+        } else {
+          this.services = services;
+          this.resourceTypes = resourceTypes;
+          this.expiresOn = expiresOn;
+          this.permissions = permissionsOrOptions;
+          this.protocol = protocol;
+          this.startsOn = startsOn;
+          this.ipRangeInner = ipRange;
+          this.encryptionScope = encryptionScope;
+          this.identifier = identifier;
+          this.resource = resource;
+          this.cacheControl = cacheControl;
+          this.contentDisposition = contentDisposition;
+          this.contentEncoding = contentEncoding;
+          this.contentLanguage = contentLanguage;
+          this.contentType = contentType;
+          if (userDelegationKey) {
+            this.signedOid = userDelegationKey.signedObjectId;
+            this.signedTenantId = userDelegationKey.signedTenantId;
+            this.signedStartsOn = userDelegationKey.signedStartsOn;
+            this.signedExpiresOn = userDelegationKey.signedExpiresOn;
+            this.signedService = userDelegationKey.signedService;
+            this.signedVersion = userDelegationKey.signedVersion;
+            this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;
+            this.correlationId = correlationId;
           }
         }
       }
-    };
-    exports2.ContainerProperties = {
-      serializedName: "ContainerProperties",
-      type: {
-        name: "Composite",
-        className: "ContainerProperties",
-        modelProperties: {
-          lastModified: {
-            serializedName: "Last-Modified",
-            required: true,
-            xmlName: "Last-Modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "Etag",
-            required: true,
-            xmlName: "Etag",
-            type: {
-              name: "String"
-            }
-          },
-          leaseStatus: {
-            serializedName: "LeaseStatus",
-            xmlName: "LeaseStatus",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          leaseState: {
-            serializedName: "LeaseState",
-            xmlName: "LeaseState",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseDuration: {
-            serializedName: "LeaseDuration",
-            xmlName: "LeaseDuration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          publicAccess: {
-            serializedName: "PublicAccess",
-            xmlName: "PublicAccess",
-            type: {
-              name: "Enum",
-              allowedValues: ["container", "blob"]
-            }
-          },
-          hasImmutabilityPolicy: {
-            serializedName: "HasImmutabilityPolicy",
-            xmlName: "HasImmutabilityPolicy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          hasLegalHold: {
-            serializedName: "HasLegalHold",
-            xmlName: "HasLegalHold",
-            type: {
-              name: "Boolean"
-            }
-          },
-          defaultEncryptionScope: {
-            serializedName: "DefaultEncryptionScope",
-            xmlName: "DefaultEncryptionScope",
-            type: {
-              name: "String"
-            }
-          },
-          preventEncryptionScopeOverride: {
-            serializedName: "DenyEncryptionScopeOverride",
-            xmlName: "DenyEncryptionScopeOverride",
-            type: {
-              name: "Boolean"
-            }
-          },
-          deletedOn: {
-            serializedName: "DeletedTime",
-            xmlName: "DeletedTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          remainingRetentionDays: {
-            serializedName: "RemainingRetentionDays",
-            xmlName: "RemainingRetentionDays",
-            type: {
-              name: "Number"
-            }
-          },
-          isImmutableStorageWithVersioningEnabled: {
-            serializedName: "ImmutableStorageWithVersioningEnabled",
-            xmlName: "ImmutableStorageWithVersioningEnabled",
-            type: {
-              name: "Boolean"
-            }
+      /**
+       * Encodes all SAS query parameters into a string that can be appended to a URL.
+       *
+       */
+      toString() {
+        const params = [
+          "sv",
+          "ss",
+          "srt",
+          "spr",
+          "st",
+          "se",
+          "sip",
+          "si",
+          "ses",
+          "skoid",
+          // Signed object ID
+          "sktid",
+          // Signed tenant ID
+          "skt",
+          // Signed key start time
+          "ske",
+          // Signed key expiry time
+          "sks",
+          // Signed key service
+          "skv",
+          // Signed key version
+          "sr",
+          "sp",
+          "sig",
+          "rscc",
+          "rscd",
+          "rsce",
+          "rscl",
+          "rsct",
+          "saoid",
+          "scid"
+        ];
+        const queries = [];
+        for (const param of params) {
+          switch (param) {
+            case "sv":
+              this.tryAppendQueryParameter(queries, param, this.version);
+              break;
+            case "ss":
+              this.tryAppendQueryParameter(queries, param, this.services);
+              break;
+            case "srt":
+              this.tryAppendQueryParameter(queries, param, this.resourceTypes);
+              break;
+            case "spr":
+              this.tryAppendQueryParameter(queries, param, this.protocol);
+              break;
+            case "st":
+              this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0);
+              break;
+            case "se":
+              this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0);
+              break;
+            case "sip":
+              this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0);
+              break;
+            case "si":
+              this.tryAppendQueryParameter(queries, param, this.identifier);
+              break;
+            case "ses":
+              this.tryAppendQueryParameter(queries, param, this.encryptionScope);
+              break;
+            case "skoid":
+              this.tryAppendQueryParameter(queries, param, this.signedOid);
+              break;
+            case "sktid":
+              this.tryAppendQueryParameter(queries, param, this.signedTenantId);
+              break;
+            case "skt":
+              this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0);
+              break;
+            case "ske":
+              this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0);
+              break;
+            case "sks":
+              this.tryAppendQueryParameter(queries, param, this.signedService);
+              break;
+            case "skv":
+              this.tryAppendQueryParameter(queries, param, this.signedVersion);
+              break;
+            case "sr":
+              this.tryAppendQueryParameter(queries, param, this.resource);
+              break;
+            case "sp":
+              this.tryAppendQueryParameter(queries, param, this.permissions);
+              break;
+            case "sig":
+              this.tryAppendQueryParameter(queries, param, this.signature);
+              break;
+            case "rscc":
+              this.tryAppendQueryParameter(queries, param, this.cacheControl);
+              break;
+            case "rscd":
+              this.tryAppendQueryParameter(queries, param, this.contentDisposition);
+              break;
+            case "rsce":
+              this.tryAppendQueryParameter(queries, param, this.contentEncoding);
+              break;
+            case "rscl":
+              this.tryAppendQueryParameter(queries, param, this.contentLanguage);
+              break;
+            case "rsct":
+              this.tryAppendQueryParameter(queries, param, this.contentType);
+              break;
+            case "saoid":
+              this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
+              break;
+            case "scid":
+              this.tryAppendQueryParameter(queries, param, this.correlationId);
+              break;
           }
         }
+        return queries.join("&");
       }
-    };
-    exports2.KeyInfo = {
-      serializedName: "KeyInfo",
-      type: {
-        name: "Composite",
-        className: "KeyInfo",
-        modelProperties: {
-          startsOn: {
-            serializedName: "Start",
-            required: true,
-            xmlName: "Start",
-            type: {
-              name: "String"
-            }
-          },
-          expiresOn: {
-            serializedName: "Expiry",
-            required: true,
-            xmlName: "Expiry",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * A private helper method used to filter and append query key/value pairs into an array.
+       *
+       * @param queries -
+       * @param key -
+       * @param value -
+       */
+      tryAppendQueryParameter(queries, key, value) {
+        if (!value) {
+          return;
         }
-      }
-    };
-    exports2.UserDelegationKey = {
-      serializedName: "UserDelegationKey",
-      type: {
-        name: "Composite",
-        className: "UserDelegationKey",
-        modelProperties: {
-          signedObjectId: {
-            serializedName: "SignedOid",
-            required: true,
-            xmlName: "SignedOid",
-            type: {
-              name: "String"
-            }
-          },
-          signedTenantId: {
-            serializedName: "SignedTid",
-            required: true,
-            xmlName: "SignedTid",
-            type: {
-              name: "String"
-            }
-          },
-          signedStartsOn: {
-            serializedName: "SignedStart",
-            required: true,
-            xmlName: "SignedStart",
-            type: {
-              name: "String"
-            }
-          },
-          signedExpiresOn: {
-            serializedName: "SignedExpiry",
-            required: true,
-            xmlName: "SignedExpiry",
-            type: {
-              name: "String"
-            }
-          },
-          signedService: {
-            serializedName: "SignedService",
-            required: true,
-            xmlName: "SignedService",
-            type: {
-              name: "String"
-            }
-          },
-          signedVersion: {
-            serializedName: "SignedVersion",
-            required: true,
-            xmlName: "SignedVersion",
-            type: {
-              name: "String"
-            }
-          },
-          value: {
-            serializedName: "Value",
-            required: true,
-            xmlName: "Value",
-            type: {
-              name: "String"
-            }
-          }
+        key = encodeURIComponent(key);
+        value = encodeURIComponent(value);
+        if (key.length > 0 && value.length > 0) {
+          queries.push(`${key}=${value}`);
         }
       }
     };
-    exports2.FilterBlobSegment = {
-      serializedName: "FilterBlobSegment",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "FilterBlobSegment",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          where: {
-            serializedName: "Where",
-            required: true,
-            xmlName: "Where",
-            type: {
-              name: "String"
-            }
-          },
-          blobs: {
-            serializedName: "Blobs",
-            required: true,
-            xmlName: "Blobs",
-            xmlIsWrapped: true,
-            xmlElementName: "Blob",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "FilterBlobItem"
-                }
-              }
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
+    exports2.SASQueryParameters = SASQueryParameters;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js
+var require_BlobSASSignatureValues = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters;
+    exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal;
+    var BlobSASPermissions_js_1 = require_BlobSASPermissions();
+    var ContainerSASPermissions_js_1 = require_ContainerSASPermissions();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential();
+    var SasIPRange_js_1 = require_SasIPRange();
+    var SASQueryParameters_js_1 = require_SASQueryParameters();
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
+      return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters;
+    }
+    function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
+      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0;
+      let userDelegationKeyCredential;
+      if (sharedKeyCredential === void 0 && accountName !== void 0) {
+        userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
+      }
+      if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) {
+        throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
+      }
+      if (version >= "2020-12-06") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          if (version >= "2025-07-05") {
+            return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential);
+          } else {
+            return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
           }
         }
       }
-    };
-    exports2.FilterBlobItem = {
-      serializedName: "FilterBlobItem",
-      xmlName: "Blob",
-      type: {
-        name: "Composite",
-        className: "FilterBlobItem",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            required: true,
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          containerName: {
-            serializedName: "ContainerName",
-            required: true,
-            xmlName: "ContainerName",
-            type: {
-              name: "String"
-            }
-          },
-          tags: {
-            serializedName: "Tags",
-            xmlName: "Tags",
-            type: {
-              name: "Composite",
-              className: "BlobTags"
-            }
+      if (version >= "2018-11-09") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          if (version >= "2020-02-10") {
+            return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
+          } else {
+            return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
           }
         }
       }
-    };
-    exports2.BlobTags = {
-      serializedName: "BlobTags",
-      xmlName: "Tags",
-      type: {
-        name: "Composite",
-        className: "BlobTags",
-        modelProperties: {
-          blobTagSet: {
-            serializedName: "BlobTagSet",
-            required: true,
-            xmlName: "TagSet",
-            xmlIsWrapped: true,
-            xmlElementName: "Tag",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobTag"
-                }
-              }
-            }
-          }
+      if (version >= "2015-04-05") {
+        if (sharedKeyCredential !== void 0) {
+          return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
+        } else {
+          throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
         }
       }
-    };
-    exports2.BlobTag = {
-      serializedName: "BlobTag",
-      xmlName: "Tag",
-      type: {
-        name: "Composite",
-        className: "BlobTag",
-        modelProperties: {
-          key: {
-            serializedName: "Key",
-            required: true,
-            xmlName: "Key",
-            type: {
-              name: "String"
-            }
-          },
-          value: {
-            serializedName: "Value",
-            required: true,
-            xmlName: "Value",
-            type: {
-              name: "String"
-            }
-          }
+      throw new RangeError("'version' must be >= '2015-04-05'.");
+    }
+    function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.SignedIdentifier = {
-      serializedName: "SignedIdentifier",
-      xmlName: "SignedIdentifier",
-      type: {
-        name: "Composite",
-        className: "SignedIdentifier",
-        modelProperties: {
-          id: {
-            serializedName: "Id",
-            required: true,
-            xmlName: "Id",
-            type: {
-              name: "String"
-            }
-          },
-          accessPolicy: {
-            serializedName: "AccessPolicy",
-            xmlName: "AccessPolicy",
-            type: {
-              name: "Composite",
-              className: "AccessPolicy"
-            }
-          }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
       }
-    };
-    exports2.AccessPolicy = {
-      serializedName: "AccessPolicy",
-      type: {
-        name: "Composite",
-        className: "AccessPolicy",
-        modelProperties: {
-          startsOn: {
-            serializedName: "Start",
-            xmlName: "Start",
-            type: {
-              name: "String"
-            }
-          },
-          expiresOn: {
-            serializedName: "Expiry",
-            xmlName: "Expiry",
-            type: {
-              name: "String"
-            }
-          },
-          permissions: {
-            serializedName: "Permission",
-            xmlName: "Permission",
-            type: {
-              name: "String"
-            }
-          }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.ListBlobsFlatSegmentResponse = {
-      serializedName: "ListBlobsFlatSegmentResponse",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "ListBlobsFlatSegmentResponse",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          containerName: {
-            serializedName: "ContainerName",
-            required: true,
-            xmlName: "ContainerName",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          prefix: {
-            serializedName: "Prefix",
-            xmlName: "Prefix",
-            type: {
-              name: "String"
-            }
-          },
-          marker: {
-            serializedName: "Marker",
-            xmlName: "Marker",
-            type: {
-              name: "String"
-            }
-          },
-          maxPageSize: {
-            serializedName: "MaxResults",
-            xmlName: "MaxResults",
-            type: {
-              name: "Number"
-            }
-          },
-          segment: {
-            serializedName: "Segment",
-            xmlName: "Blobs",
-            type: {
-              name: "Composite",
-              className: "BlobFlatListSegment"
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
       }
-    };
-    exports2.BlobFlatListSegment = {
-      serializedName: "BlobFlatListSegment",
-      xmlName: "Blobs",
-      type: {
-        name: "Composite",
-        className: "BlobFlatListSegment",
-        modelProperties: {
-          blobItems: {
-            serializedName: "BlobItems",
-            required: true,
-            xmlName: "BlobItems",
-            xmlElementName: "Blob",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobItemInternal"
-                }
-              }
-            }
-          }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        blobSASSignatureValues.identifier,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
+        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
+        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
+        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
+        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
+      ].join("\n");
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        }
+      }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
+        }
+      }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.BlobItemInternal = {
-      serializedName: "BlobItemInternal",
-      xmlName: "Blob",
-      type: {
-        name: "Composite",
-        className: "BlobItemInternal",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            xmlName: "Name",
-            type: {
-              name: "Composite",
-              className: "BlobName"
-            }
-          },
-          deleted: {
-            serializedName: "Deleted",
-            required: true,
-            xmlName: "Deleted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          snapshot: {
-            serializedName: "Snapshot",
-            required: true,
-            xmlName: "Snapshot",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "VersionId",
-            xmlName: "VersionId",
-            type: {
-              name: "String"
-            }
-          },
-          isCurrentVersion: {
-            serializedName: "IsCurrentVersion",
-            xmlName: "IsCurrentVersion",
-            type: {
-              name: "Boolean"
-            }
-          },
-          properties: {
-            serializedName: "Properties",
-            xmlName: "Properties",
-            type: {
-              name: "Composite",
-              className: "BlobPropertiesInternal"
-            }
-          },
-          metadata: {
-            serializedName: "Metadata",
-            xmlName: "Metadata",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          blobTags: {
-            serializedName: "BlobTags",
-            xmlName: "Tags",
-            type: {
-              name: "Composite",
-              className: "BlobTags"
-            }
-          },
-          objectReplicationMetadata: {
-            serializedName: "ObjectReplicationMetadata",
-            xmlName: "OrMetadata",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          hasVersionsOnly: {
-            serializedName: "HasVersionsOnly",
-            xmlName: "HasVersionsOnly",
-            type: {
-              name: "Boolean"
-            }
-          }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
       }
-    };
-    exports2.BlobName = {
-      serializedName: "BlobName",
-      type: {
-        name: "Composite",
-        className: "BlobName",
-        modelProperties: {
-          encoded: {
-            serializedName: "Encoded",
-            xmlName: "Encoded",
-            xmlIsAttribute: true,
-            type: {
-              name: "Boolean"
-            }
-          },
-          content: {
-            serializedName: "content",
-            xmlName: "content",
-            xmlIsMsText: true,
-            type: {
-              name: "String"
-            }
-          }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.BlobPropertiesInternal = {
-      serializedName: "BlobPropertiesInternal",
-      xmlName: "Properties",
-      type: {
-        name: "Composite",
-        className: "BlobPropertiesInternal",
-        modelProperties: {
-          createdOn: {
-            serializedName: "Creation-Time",
-            xmlName: "Creation-Time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          lastModified: {
-            serializedName: "Last-Modified",
-            required: true,
-            xmlName: "Last-Modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "Etag",
-            required: true,
-            xmlName: "Etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentLength: {
-            serializedName: "Content-Length",
-            xmlName: "Content-Length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "Content-Type",
-            xmlName: "Content-Type",
-            type: {
-              name: "String"
-            }
-          },
-          contentEncoding: {
-            serializedName: "Content-Encoding",
-            xmlName: "Content-Encoding",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "Content-Language",
-            xmlName: "Content-Language",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "Content-MD5",
-            xmlName: "Content-MD5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentDisposition: {
-            serializedName: "Content-Disposition",
-            xmlName: "Content-Disposition",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "Cache-Control",
-            xmlName: "Cache-Control",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          blobType: {
-            serializedName: "BlobType",
-            xmlName: "BlobType",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          leaseStatus: {
-            serializedName: "LeaseStatus",
-            xmlName: "LeaseStatus",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          leaseState: {
-            serializedName: "LeaseState",
-            xmlName: "LeaseState",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseDuration: {
-            serializedName: "LeaseDuration",
-            xmlName: "LeaseDuration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          copyId: {
-            serializedName: "CopyId",
-            xmlName: "CopyId",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "CopyStatus",
-            xmlName: "CopyStatus",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          copySource: {
-            serializedName: "CopySource",
-            xmlName: "CopySource",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "CopyProgress",
-            xmlName: "CopyProgress",
-            type: {
-              name: "String"
-            }
-          },
-          copyCompletedOn: {
-            serializedName: "CopyCompletionTime",
-            xmlName: "CopyCompletionTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "CopyStatusDescription",
-            xmlName: "CopyStatusDescription",
-            type: {
-              name: "String"
-            }
-          },
-          serverEncrypted: {
-            serializedName: "ServerEncrypted",
-            xmlName: "ServerEncrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          incrementalCopy: {
-            serializedName: "IncrementalCopy",
-            xmlName: "IncrementalCopy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          destinationSnapshot: {
-            serializedName: "DestinationSnapshot",
-            xmlName: "DestinationSnapshot",
-            type: {
-              name: "String"
-            }
-          },
-          deletedOn: {
-            serializedName: "DeletedTime",
-            xmlName: "DeletedTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          remainingRetentionDays: {
-            serializedName: "RemainingRetentionDays",
-            xmlName: "RemainingRetentionDays",
-            type: {
-              name: "Number"
-            }
-          },
-          accessTier: {
-            serializedName: "AccessTier",
-            xmlName: "AccessTier",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "P4",
-                "P6",
-                "P10",
-                "P15",
-                "P20",
-                "P30",
-                "P40",
-                "P50",
-                "P60",
-                "P70",
-                "P80",
-                "Hot",
-                "Cool",
-                "Archive",
-                "Cold"
-              ]
-            }
-          },
-          accessTierInferred: {
-            serializedName: "AccessTierInferred",
-            xmlName: "AccessTierInferred",
-            type: {
-              name: "Boolean"
-            }
-          },
-          archiveStatus: {
-            serializedName: "ArchiveStatus",
-            xmlName: "ArchiveStatus",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "rehydrate-pending-to-hot",
-                "rehydrate-pending-to-cool",
-                "rehydrate-pending-to-cold"
-              ]
-            }
-          },
-          customerProvidedKeySha256: {
-            serializedName: "CustomerProvidedKeySha256",
-            xmlName: "CustomerProvidedKeySha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "EncryptionScope",
-            xmlName: "EncryptionScope",
-            type: {
-              name: "String"
-            }
-          },
-          accessTierChangedOn: {
-            serializedName: "AccessTierChangeTime",
-            xmlName: "AccessTierChangeTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          tagCount: {
-            serializedName: "TagCount",
-            xmlName: "TagCount",
-            type: {
-              name: "Number"
-            }
-          },
-          expiresOn: {
-            serializedName: "Expiry-Time",
-            xmlName: "Expiry-Time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isSealed: {
-            serializedName: "Sealed",
-            xmlName: "Sealed",
-            type: {
-              name: "Boolean"
-            }
-          },
-          rehydratePriority: {
-            serializedName: "RehydratePriority",
-            xmlName: "RehydratePriority",
-            type: {
-              name: "Enum",
-              allowedValues: ["High", "Standard"]
-            }
-          },
-          lastAccessedOn: {
-            serializedName: "LastAccessTime",
-            xmlName: "LastAccessTime",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiresOn: {
-            serializedName: "ImmutabilityPolicyUntilDate",
-            xmlName: "ImmutabilityPolicyUntilDate",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "ImmutabilityPolicyMode",
-            xmlName: "ImmutabilityPolicyMode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
-            }
-          },
-          legalHold: {
-            serializedName: "LegalHold",
-            xmlName: "LegalHold",
-            type: {
-              name: "Boolean"
-            }
-          }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) {
+      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
+      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
+        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+      }
+      let resource = "c";
+      let timestamp2 = blobSASSignatureValues.snapshotTime;
+      if (blobSASSignatureValues.blobName) {
+        resource = "b";
+        if (blobSASSignatureValues.snapshotTime) {
+          resource = "bs";
+        } else if (blobSASSignatureValues.versionId) {
+          resource = "bv";
+          timestamp2 = blobSASSignatureValues.versionId;
         }
       }
-    };
-    exports2.ListBlobsHierarchySegmentResponse = {
-      serializedName: "ListBlobsHierarchySegmentResponse",
-      xmlName: "EnumerationResults",
-      type: {
-        name: "Composite",
-        className: "ListBlobsHierarchySegmentResponse",
-        modelProperties: {
-          serviceEndpoint: {
-            serializedName: "ServiceEndpoint",
-            required: true,
-            xmlName: "ServiceEndpoint",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          containerName: {
-            serializedName: "ContainerName",
-            required: true,
-            xmlName: "ContainerName",
-            xmlIsAttribute: true,
-            type: {
-              name: "String"
-            }
-          },
-          prefix: {
-            serializedName: "Prefix",
-            xmlName: "Prefix",
-            type: {
-              name: "String"
-            }
-          },
-          marker: {
-            serializedName: "Marker",
-            xmlName: "Marker",
-            type: {
-              name: "String"
-            }
-          },
-          maxPageSize: {
-            serializedName: "MaxResults",
-            xmlName: "MaxResults",
-            type: {
-              name: "Number"
-            }
-          },
-          delimiter: {
-            serializedName: "Delimiter",
-            xmlName: "Delimiter",
-            type: {
-              name: "String"
-            }
-          },
-          segment: {
-            serializedName: "Segment",
-            xmlName: "Blobs",
-            type: {
-              name: "Composite",
-              className: "BlobHierarchyListSegment"
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
+      let verifiedPermissions;
+      if (blobSASSignatureValues.permissions) {
+        if (blobSASSignatureValues.blobName) {
+          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        } else {
+          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
         }
       }
-    };
-    exports2.BlobHierarchyListSegment = {
-      serializedName: "BlobHierarchyListSegment",
-      xmlName: "Blobs",
-      type: {
-        name: "Composite",
-        className: "BlobHierarchyListSegment",
-        modelProperties: {
-          blobPrefixes: {
-            serializedName: "BlobPrefixes",
-            xmlName: "BlobPrefixes",
-            xmlElementName: "BlobPrefix",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobPrefix"
-                }
-              }
-            }
-          },
-          blobItems: {
-            serializedName: "BlobItems",
-            required: true,
-            xmlName: "BlobItems",
-            xmlElementName: "Blob",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "BlobItemInternal"
-                }
-              }
-            }
-          }
+      const stringToSign = [
+        verifiedPermissions ? verifiedPermissions : "",
+        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
+        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
+        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
+        userDelegationKeyCredential.userDelegationKey.signedObjectId,
+        userDelegationKeyCredential.userDelegationKey.signedTenantId,
+        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
+        userDelegationKeyCredential.userDelegationKey.signedService,
+        userDelegationKeyCredential.userDelegationKey.signedVersion,
+        blobSASSignatureValues.preauthorizedAgentObjectId,
+        void 0,
+        // agentObjectId
+        blobSASSignatureValues.correlationId,
+        void 0,
+        // SignedKeyDelegatedUserTenantId, will be added in a future release.
+        void 0,
+        // SignedDelegatedUserObjectId, will be added in future release.
+        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
+        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
+        blobSASSignatureValues.version,
+        resource,
+        timestamp2,
+        blobSASSignatureValues.encryptionScope,
+        blobSASSignatureValues.cacheControl,
+        blobSASSignatureValues.contentDisposition,
+        blobSASSignatureValues.contentEncoding,
+        blobSASSignatureValues.contentLanguage,
+        blobSASSignatureValues.contentType
+      ].join("\n");
+      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+    function getCanonicalName(accountName, containerName, blobName) {
+      const elements = [`/blob/${accountName}/${containerName}`];
+      if (blobName) {
+        elements.push(`/${blobName}`);
+      }
+      return elements.join("");
+    }
+    function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
+      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
+        throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
+      }
+      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) {
+        throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
+      }
+      if (blobSASSignatureValues.versionId && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
+      }
+      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) {
+        throw RangeError("Must provide 'blobName' when providing 'versionId'.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
+        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
+      }
+      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
+      }
+      if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
+        throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
+      }
+      if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) {
+        throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
+      }
+      if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
+        throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
+      }
+      if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
+        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      }
+      blobSASSignatureValues.version = version;
+      return blobSASSignatureValues;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js
+var require_BlobLeaseClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobLeaseClient = void 0;
+    var core_util_1 = require_commonjs6();
+    var constants_js_1 = require_constants14();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var BlobLeaseClient = class {
+      _leaseId;
+      _url;
+      _containerOrBlobOperation;
+      _isContainer;
+      /**
+       * Gets the lease Id.
+       *
+       * @readonly
+       */
+      get leaseId() {
+        return this._leaseId;
+      }
+      /**
+       * Gets the url.
+       *
+       * @readonly
+       */
+      get url() {
+        return this._url;
+      }
+      /**
+       * Creates an instance of BlobLeaseClient.
+       * @param client - The client to make the lease operation requests.
+       * @param leaseId - Initial proposed lease id.
+       */
+      constructor(client, leaseId) {
+        const clientContext = client.storageClientContext;
+        this._url = client.url;
+        if (client.name === void 0) {
+          this._isContainer = true;
+          this._containerOrBlobOperation = clientContext.container;
+        } else {
+          this._isContainer = false;
+          this._containerOrBlobOperation = clientContext.blob;
+        }
+        if (!leaseId) {
+          leaseId = (0, core_util_1.randomUUID)();
+        }
+        this._leaseId = leaseId;
+      }
+      /**
+       * Establishes and manages a lock on a container for delete operations, or on a blob
+       * for write and delete operations.
+       * The lock duration can be 15 to 60 seconds, or can be infinite.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param duration - Must be between 15 to 60 seconds, or infinite (-1)
+       * @param options - option to configure lease management operations.
+       * @returns Response data for acquire lease operation.
+       */
+      async acquireLease(duration, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({
+            abortSignal: options.abortSignal,
+            duration,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            proposedLeaseId: this._leaseId,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * To change the ID of the lease.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param proposedLeaseId - the proposed new lease Id.
+       * @param options - option to configure lease management operations.
+       * @returns Response data for change lease operation.
+       */
+      async changeLease(proposedLeaseId, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          this._leaseId = proposedLeaseId;
+          return response;
+        });
+      }
+      /**
+       * To free the lease if it is no longer needed so that another client may
+       * immediately acquire a lease against the container or the blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param options - option to configure lease management operations.
+       * @returns Response data for release lease operation.
+       */
+      async releaseLease(options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * To renew the lease.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param options - Optional option to configure lease management operations.
+       * @returns Response data for renew lease operation.
+       */
+      async renewLease(options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => {
+          return this._containerOrBlobOperation.renewLease(this._leaseId, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          });
+        });
+      }
+      /**
+       * To end the lease but ensure that another client cannot acquire a new lease
+       * until the current lease period has expired.
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
+       * and
+       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
+       *
+       * @param breakPeriod - Break period
+       * @param options - Optional options to configure lease management operations.
+       * @returns Response data for break lease operation.
+       */
+      async breakLease(breakPeriod, options = {}) {
+        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
+          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => {
+          const operationOptions = {
+            abortSignal: options.abortSignal,
+            breakPeriod,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          };
+          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions));
+        });
       }
     };
-    exports2.BlobPrefix = {
-      serializedName: "BlobPrefix",
-      type: {
-        name: "Composite",
-        className: "BlobPrefix",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            xmlName: "Name",
-            type: {
-              name: "Composite",
-              className: "BlobName"
-            }
+    exports2.BlobLeaseClient = BlobLeaseClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js
+var require_RetriableReadableStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.RetriableReadableStream = void 0;
+    var abort_controller_1 = require_commonjs13();
+    var node_stream_1 = require("node:stream");
+    var RetriableReadableStream = class extends node_stream_1.Readable {
+      start;
+      offset;
+      end;
+      getter;
+      source;
+      retries = 0;
+      maxRetryRequests;
+      onProgress;
+      options;
+      /**
+       * Creates an instance of RetriableReadableStream.
+       *
+       * @param source - The current ReadableStream returned from getter
+       * @param getter - A method calling downloading request returning
+       *                                      a new ReadableStream from specified offset
+       * @param offset - Offset position in original data source to read
+       * @param count - How much data in original data source to read
+       * @param options -
+       */
+      constructor(source, getter, offset, count, options = {}) {
+        super({ highWaterMark: options.highWaterMark });
+        this.getter = getter;
+        this.source = source;
+        this.start = offset;
+        this.offset = offset;
+        this.end = offset + count - 1;
+        this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0;
+        this.onProgress = options.onProgress;
+        this.options = options;
+        this.setSourceEventHandlers();
+      }
+      _read() {
+        this.source.resume();
+      }
+      setSourceEventHandlers() {
+        this.source.on("data", this.sourceDataHandler);
+        this.source.on("end", this.sourceErrorOrEndHandler);
+        this.source.on("error", this.sourceErrorOrEndHandler);
+        this.source.on("aborted", this.sourceAbortedHandler);
+      }
+      removeSourceEventHandlers() {
+        this.source.removeListener("data", this.sourceDataHandler);
+        this.source.removeListener("end", this.sourceErrorOrEndHandler);
+        this.source.removeListener("error", this.sourceErrorOrEndHandler);
+        this.source.removeListener("aborted", this.sourceAbortedHandler);
+      }
+      sourceDataHandler = (data) => {
+        if (this.options.doInjectErrorOnce) {
+          this.options.doInjectErrorOnce = void 0;
+          this.source.pause();
+          this.sourceErrorOrEndHandler();
+          this.source.destroy();
+          return;
+        }
+        this.offset += data.length;
+        if (this.onProgress) {
+          this.onProgress({ loadedBytes: this.offset - this.start });
+        }
+        if (!this.push(data)) {
+          this.source.pause();
+        }
+      };
+      sourceAbortedHandler = () => {
+        const abortError = new abort_controller_1.AbortError("The operation was aborted.");
+        this.destroy(abortError);
+      };
+      sourceErrorOrEndHandler = (err) => {
+        if (err && err.name === "AbortError") {
+          this.destroy(err);
+          return;
+        }
+        this.removeSourceEventHandlers();
+        if (this.offset - 1 === this.end) {
+          this.push(null);
+        } else if (this.offset <= this.end) {
+          if (this.retries < this.maxRetryRequests) {
+            this.retries += 1;
+            this.getter(this.offset).then((newSource) => {
+              this.source = newSource;
+              this.setSourceEventHandlers();
+              return;
+            }).catch((error3) => {
+              this.destroy(error3);
+            });
+          } else {
+            this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`));
           }
+        } else {
+          this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`));
         }
+      };
+      _destroy(error3, callback) {
+        this.removeSourceEventHandlers();
+        this.source.destroy();
+        callback(error3 === null ? void 0 : error3);
       }
     };
-    exports2.BlockLookupList = {
-      serializedName: "BlockLookupList",
-      xmlName: "BlockList",
-      type: {
-        name: "Composite",
-        className: "BlockLookupList",
-        modelProperties: {
-          committed: {
-            serializedName: "Committed",
-            xmlName: "Committed",
-            xmlElementName: "Committed",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "String"
-                }
-              }
-            }
-          },
-          uncommitted: {
-            serializedName: "Uncommitted",
-            xmlName: "Uncommitted",
-            xmlElementName: "Uncommitted",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "String"
-                }
-              }
-            }
-          },
-          latest: {
-            serializedName: "Latest",
-            xmlName: "Latest",
-            xmlElementName: "Latest",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "String"
-                }
-              }
-            }
-          }
-        }
+    exports2.RetriableReadableStream = RetriableReadableStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js
+var require_BlobDownloadResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobDownloadResponse = void 0;
+    var core_util_1 = require_commonjs6();
+    var RetriableReadableStream_js_1 = require_RetriableReadableStream();
+    var BlobDownloadResponse = class {
+      /**
+       * Indicates that the service supports
+       * requests for partial file content.
+       *
+       * @readonly
+       */
+      get acceptRanges() {
+        return this.originalResponse.acceptRanges;
       }
-    };
-    exports2.BlockList = {
-      serializedName: "BlockList",
-      type: {
-        name: "Composite",
-        className: "BlockList",
-        modelProperties: {
-          committedBlocks: {
-            serializedName: "CommittedBlocks",
-            xmlName: "CommittedBlocks",
-            xmlIsWrapped: true,
-            xmlElementName: "Block",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "Block"
-                }
-              }
-            }
-          },
-          uncommittedBlocks: {
-            serializedName: "UncommittedBlocks",
-            xmlName: "UncommittedBlocks",
-            xmlIsWrapped: true,
-            xmlElementName: "Block",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "Block"
-                }
-              }
-            }
-          }
-        }
+      /**
+       * Returns if it was previously specified
+       * for the file.
+       *
+       * @readonly
+       */
+      get cacheControl() {
+        return this.originalResponse.cacheControl;
       }
-    };
-    exports2.Block = {
-      serializedName: "Block",
-      type: {
-        name: "Composite",
-        className: "Block",
-        modelProperties: {
-          name: {
-            serializedName: "Name",
-            required: true,
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          size: {
-            serializedName: "Size",
-            required: true,
-            xmlName: "Size",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+      /**
+       * Returns the value that was specified
+       * for the 'x-ms-content-disposition' header and specifies how to process the
+       * response.
+       *
+       * @readonly
+       */
+      get contentDisposition() {
+        return this.originalResponse.contentDisposition;
       }
-    };
-    exports2.PageList = {
-      serializedName: "PageList",
-      type: {
-        name: "Composite",
-        className: "PageList",
-        modelProperties: {
-          pageRange: {
-            serializedName: "PageRange",
-            xmlName: "PageRange",
-            xmlElementName: "PageRange",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "PageRange"
-                }
-              }
-            }
-          },
-          clearRange: {
-            serializedName: "ClearRange",
-            xmlName: "ClearRange",
-            xmlElementName: "ClearRange",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "ClearRange"
-                }
-              }
-            }
-          },
-          continuationToken: {
-            serializedName: "NextMarker",
-            xmlName: "NextMarker",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Returns the value that was specified
+       * for the Content-Encoding request header.
+       *
+       * @readonly
+       */
+      get contentEncoding() {
+        return this.originalResponse.contentEncoding;
       }
-    };
-    exports2.PageRange = {
-      serializedName: "PageRange",
-      xmlName: "PageRange",
-      type: {
-        name: "Composite",
-        className: "PageRange",
-        modelProperties: {
-          start: {
-            serializedName: "Start",
-            required: true,
-            xmlName: "Start",
-            type: {
-              name: "Number"
-            }
-          },
-          end: {
-            serializedName: "End",
-            required: true,
-            xmlName: "End",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+      /**
+       * Returns the value that was specified
+       * for the Content-Language request header.
+       *
+       * @readonly
+       */
+      get contentLanguage() {
+        return this.originalResponse.contentLanguage;
+      }
+      /**
+       * The current sequence number for a
+       * page blob. This header is not returned for block blobs or append blobs.
+       *
+       * @readonly
+       */
+      get blobSequenceNumber() {
+        return this.originalResponse.blobSequenceNumber;
+      }
+      /**
+       * The blob's type. Possible values include:
+       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
+       *
+       * @readonly
+       */
+      get blobType() {
+        return this.originalResponse.blobType;
+      }
+      /**
+       * The number of bytes present in the
+       * response body.
+       *
+       * @readonly
+       */
+      get contentLength() {
+        return this.originalResponse.contentLength;
+      }
+      /**
+       * If the file has an MD5 hash and the
+       * request is to read the full file, this response header is returned so that
+       * the client can check for message content integrity. If the request is to
+       * read a specified range and the 'x-ms-range-get-content-md5' is set to
+       * true, then the request returns an MD5 hash for the range, as long as the
+       * range size is less than or equal to 4 MB. If neither of these sets of
+       * conditions is true, then no value is returned for the 'Content-MD5'
+       * header.
+       *
+       * @readonly
+       */
+      get contentMD5() {
+        return this.originalResponse.contentMD5;
+      }
+      /**
+       * Indicates the range of bytes returned if
+       * the client requested a subset of the file by setting the Range request
+       * header.
+       *
+       * @readonly
+       */
+      get contentRange() {
+        return this.originalResponse.contentRange;
+      }
+      /**
+       * The content type specified for the file.
+       * The default content type is 'application/octet-stream'
+       *
+       * @readonly
+       */
+      get contentType() {
+        return this.originalResponse.contentType;
+      }
+      /**
+       * Conclusion time of the last attempted
+       * Copy File operation where this file was the destination file. This value
+       * can specify the time of a completed, aborted, or failed copy attempt.
+       *
+       * @readonly
+       */
+      get copyCompletedOn() {
+        return this.originalResponse.copyCompletedOn;
+      }
+      /**
+       * String identifier for the last attempted Copy
+       * File operation where this file was the destination file.
+       *
+       * @readonly
+       */
+      get copyId() {
+        return this.originalResponse.copyId;
+      }
+      /**
+       * Contains the number of bytes copied and
+       * the total bytes in the source in the last attempted Copy File operation
+       * where this file was the destination file. Can show between 0 and
+       * Content-Length bytes copied.
+       *
+       * @readonly
+       */
+      get copyProgress() {
+        return this.originalResponse.copyProgress;
+      }
+      /**
+       * URL up to 2KB in length that specifies the
+       * source file used in the last attempted Copy File operation where this file
+       * was the destination file.
+       *
+       * @readonly
+       */
+      get copySource() {
+        return this.originalResponse.copySource;
+      }
+      /**
+       * State of the copy operation
+       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
+       * 'success', 'aborted', 'failed'
+       *
+       * @readonly
+       */
+      get copyStatus() {
+        return this.originalResponse.copyStatus;
+      }
+      /**
+       * Only appears when
+       * x-ms-copy-status is failed or pending. Describes cause of fatal or
+       * non-fatal copy operation failure.
+       *
+       * @readonly
+       */
+      get copyStatusDescription() {
+        return this.originalResponse.copyStatusDescription;
+      }
+      /**
+       * When a blob is leased,
+       * specifies whether the lease is of infinite or fixed duration. Possible
+       * values include: 'infinite', 'fixed'.
+       *
+       * @readonly
+       */
+      get leaseDuration() {
+        return this.originalResponse.leaseDuration;
+      }
+      /**
+       * Lease state of the blob. Possible
+       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
+       *
+       * @readonly
+       */
+      get leaseState() {
+        return this.originalResponse.leaseState;
+      }
+      /**
+       * The current lease status of the
+       * blob. Possible values include: 'locked', 'unlocked'.
+       *
+       * @readonly
+       */
+      get leaseStatus() {
+        return this.originalResponse.leaseStatus;
+      }
+      /**
+       * A UTC date/time value generated by the service that
+       * indicates the time at which the response was initiated.
+       *
+       * @readonly
+       */
+      get date() {
+        return this.originalResponse.date;
+      }
+      /**
+       * The number of committed blocks
+       * present in the blob. This header is returned only for append blobs.
+       *
+       * @readonly
+       */
+      get blobCommittedBlockCount() {
+        return this.originalResponse.blobCommittedBlockCount;
+      }
+      /**
+       * The ETag contains a value that you can use to
+       * perform operations conditionally, in quotes.
+       *
+       * @readonly
+       */
+      get etag() {
+        return this.originalResponse.etag;
+      }
+      /**
+       * The number of tags associated with the blob
+       *
+       * @readonly
+       */
+      get tagCount() {
+        return this.originalResponse.tagCount;
+      }
+      /**
+       * The error code.
+       *
+       * @readonly
+       */
+      get errorCode() {
+        return this.originalResponse.errorCode;
+      }
+      /**
+       * The value of this header is set to
+       * true if the file data and application metadata are completely encrypted
+       * using the specified algorithm. Otherwise, the value is set to false (when
+       * the file is unencrypted, or if only parts of the file/application metadata
+       * are encrypted).
+       *
+       * @readonly
+       */
+      get isServerEncrypted() {
+        return this.originalResponse.isServerEncrypted;
+      }
+      /**
+       * If the blob has a MD5 hash, and if
+       * request contains range header (Range or x-ms-range), this response header
+       * is returned with the value of the whole blob's MD5 value. This value may
+       * or may not be equal to the value returned in Content-MD5 header, with the
+       * latter calculated from the requested range.
+       *
+       * @readonly
+       */
+      get blobContentMD5() {
+        return this.originalResponse.blobContentMD5;
+      }
+      /**
+       * Returns the date and time the file was last
+       * modified. Any operation that modifies the file or its properties updates
+       * the last modified time.
+       *
+       * @readonly
+       */
+      get lastModified() {
+        return this.originalResponse.lastModified;
+      }
+      /**
+       * Returns the UTC date and time generated by the service that indicates the time at which the blob was
+       * last read or written to.
+       *
+       * @readonly
+       */
+      get lastAccessed() {
+        return this.originalResponse.lastAccessed;
+      }
+      /**
+       * Returns the date and time the blob was created.
+       *
+       * @readonly
+       */
+      get createdOn() {
+        return this.originalResponse.createdOn;
+      }
+      /**
+       * A name-value pair
+       * to associate with a file storage object.
+       *
+       * @readonly
+       */
+      get metadata() {
+        return this.originalResponse.metadata;
+      }
+      /**
+       * This header uniquely identifies the request
+       * that was made and can be used for troubleshooting the request.
+       *
+       * @readonly
+       */
+      get requestId() {
+        return this.originalResponse.requestId;
+      }
+      /**
+       * If a client request id header is sent in the request, this header will be present in the
+       * response with the same value.
+       *
+       * @readonly
+       */
+      get clientRequestId() {
+        return this.originalResponse.clientRequestId;
       }
-    };
-    exports2.ClearRange = {
-      serializedName: "ClearRange",
-      xmlName: "ClearRange",
-      type: {
-        name: "Composite",
-        className: "ClearRange",
-        modelProperties: {
-          start: {
-            serializedName: "Start",
-            required: true,
-            xmlName: "Start",
-            type: {
-              name: "Number"
-            }
-          },
-          end: {
-            serializedName: "End",
-            required: true,
-            xmlName: "End",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+      /**
+       * Indicates the version of the Blob service used
+       * to execute the request.
+       *
+       * @readonly
+       */
+      get version() {
+        return this.originalResponse.version;
       }
-    };
-    exports2.QueryRequest = {
-      serializedName: "QueryRequest",
-      xmlName: "QueryRequest",
-      type: {
-        name: "Composite",
-        className: "QueryRequest",
-        modelProperties: {
-          queryType: {
-            serializedName: "QueryType",
-            required: true,
-            xmlName: "QueryType",
-            type: {
-              name: "String"
-            }
-          },
-          expression: {
-            serializedName: "Expression",
-            required: true,
-            xmlName: "Expression",
-            type: {
-              name: "String"
-            }
-          },
-          inputSerialization: {
-            serializedName: "InputSerialization",
-            xmlName: "InputSerialization",
-            type: {
-              name: "Composite",
-              className: "QuerySerialization"
-            }
-          },
-          outputSerialization: {
-            serializedName: "OutputSerialization",
-            xmlName: "OutputSerialization",
-            type: {
-              name: "Composite",
-              className: "QuerySerialization"
-            }
-          }
-        }
+      /**
+       * Indicates the versionId of the downloaded blob version.
+       *
+       * @readonly
+       */
+      get versionId() {
+        return this.originalResponse.versionId;
       }
-    };
-    exports2.QuerySerialization = {
-      serializedName: "QuerySerialization",
-      type: {
-        name: "Composite",
-        className: "QuerySerialization",
-        modelProperties: {
-          format: {
-            serializedName: "Format",
-            xmlName: "Format",
-            type: {
-              name: "Composite",
-              className: "QueryFormat"
-            }
-          }
-        }
+      /**
+       * Indicates whether version of this blob is a current version.
+       *
+       * @readonly
+       */
+      get isCurrentVersion() {
+        return this.originalResponse.isCurrentVersion;
       }
-    };
-    exports2.QueryFormat = {
-      serializedName: "QueryFormat",
-      type: {
-        name: "Composite",
-        className: "QueryFormat",
-        modelProperties: {
-          type: {
-            serializedName: "Type",
-            required: true,
-            xmlName: "Type",
-            type: {
-              name: "Enum",
-              allowedValues: ["delimited", "json", "arrow", "parquet"]
-            }
-          },
-          delimitedTextConfiguration: {
-            serializedName: "DelimitedTextConfiguration",
-            xmlName: "DelimitedTextConfiguration",
-            type: {
-              name: "Composite",
-              className: "DelimitedTextConfiguration"
-            }
-          },
-          jsonTextConfiguration: {
-            serializedName: "JsonTextConfiguration",
-            xmlName: "JsonTextConfiguration",
-            type: {
-              name: "Composite",
-              className: "JsonTextConfiguration"
-            }
-          },
-          arrowConfiguration: {
-            serializedName: "ArrowConfiguration",
-            xmlName: "ArrowConfiguration",
-            type: {
-              name: "Composite",
-              className: "ArrowConfiguration"
-            }
-          },
-          parquetTextConfiguration: {
-            serializedName: "ParquetTextConfiguration",
-            xmlName: "ParquetTextConfiguration",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "any" } }
-            }
-          }
-        }
+      /**
+       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
+       * when the blob was encrypted with a customer-provided key.
+       *
+       * @readonly
+       */
+      get encryptionKeySha256() {
+        return this.originalResponse.encryptionKeySha256;
       }
-    };
-    exports2.DelimitedTextConfiguration = {
-      serializedName: "DelimitedTextConfiguration",
-      xmlName: "DelimitedTextConfiguration",
-      type: {
-        name: "Composite",
-        className: "DelimitedTextConfiguration",
-        modelProperties: {
-          columnSeparator: {
-            serializedName: "ColumnSeparator",
-            xmlName: "ColumnSeparator",
-            type: {
-              name: "String"
-            }
-          },
-          fieldQuote: {
-            serializedName: "FieldQuote",
-            xmlName: "FieldQuote",
-            type: {
-              name: "String"
-            }
-          },
-          recordSeparator: {
-            serializedName: "RecordSeparator",
-            xmlName: "RecordSeparator",
-            type: {
-              name: "String"
-            }
-          },
-          escapeChar: {
-            serializedName: "EscapeChar",
-            xmlName: "EscapeChar",
-            type: {
-              name: "String"
-            }
-          },
-          headersPresent: {
-            serializedName: "HeadersPresent",
-            xmlName: "HasHeaders",
-            type: {
-              name: "Boolean"
-            }
-          }
-        }
+      /**
+       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
+       * true, then the request returns a crc64 for the range, as long as the range size is less than
+       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
+       * specified in the same request, it will fail with 400(Bad Request)
+       */
+      get contentCrc64() {
+        return this.originalResponse.contentCrc64;
       }
-    };
-    exports2.JsonTextConfiguration = {
-      serializedName: "JsonTextConfiguration",
-      xmlName: "JsonTextConfiguration",
-      type: {
-        name: "Composite",
-        className: "JsonTextConfiguration",
-        modelProperties: {
-          recordSeparator: {
-            serializedName: "RecordSeparator",
-            xmlName: "RecordSeparator",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Object Replication Policy Id of the destination blob.
+       *
+       * @readonly
+       */
+      get objectReplicationDestinationPolicyId() {
+        return this.originalResponse.objectReplicationDestinationPolicyId;
       }
-    };
-    exports2.ArrowConfiguration = {
-      serializedName: "ArrowConfiguration",
-      xmlName: "ArrowConfiguration",
-      type: {
-        name: "Composite",
-        className: "ArrowConfiguration",
-        modelProperties: {
-          schema: {
-            serializedName: "Schema",
-            required: true,
-            xmlName: "Schema",
-            xmlIsWrapped: true,
-            xmlElementName: "Field",
-            type: {
-              name: "Sequence",
-              element: {
-                type: {
-                  name: "Composite",
-                  className: "ArrowField"
-                }
-              }
-            }
-          }
-        }
+      /**
+       * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob.
+       *
+       * @readonly
+       */
+      get objectReplicationSourceProperties() {
+        return this.originalResponse.objectReplicationSourceProperties;
       }
-    };
-    exports2.ArrowField = {
-      serializedName: "ArrowField",
-      xmlName: "Field",
-      type: {
-        name: "Composite",
-        className: "ArrowField",
-        modelProperties: {
-          type: {
-            serializedName: "Type",
-            required: true,
-            xmlName: "Type",
-            type: {
-              name: "String"
-            }
-          },
-          name: {
-            serializedName: "Name",
-            xmlName: "Name",
-            type: {
-              name: "String"
-            }
-          },
-          precision: {
-            serializedName: "Precision",
-            xmlName: "Precision",
-            type: {
-              name: "Number"
-            }
-          },
-          scale: {
-            serializedName: "Scale",
-            xmlName: "Scale",
-            type: {
-              name: "Number"
-            }
-          }
-        }
+      /**
+       * If this blob has been sealed.
+       *
+       * @readonly
+       */
+      get isSealed() {
+        return this.originalResponse.isSealed;
       }
-    };
-    exports2.ServiceSetPropertiesHeaders = {
-      serializedName: "Service_setPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSetPropertiesHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire.
+       *
+       * @readonly
+       */
+      get immutabilityPolicyExpiresOn() {
+        return this.originalResponse.immutabilityPolicyExpiresOn;
       }
-    };
-    exports2.ServiceSetPropertiesExceptionHeaders = {
-      serializedName: "Service_setPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Indicates immutability policy mode.
+       *
+       * @readonly
+       */
+      get immutabilityPolicyMode() {
+        return this.originalResponse.immutabilityPolicyMode;
       }
-    };
-    exports2.ServiceGetPropertiesHeaders = {
-      serializedName: "Service_getPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetPropertiesHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Indicates if a legal hold is present on the blob.
+       *
+       * @readonly
+       */
+      get legalHold() {
+        return this.originalResponse.legalHold;
       }
-    };
-    exports2.ServiceGetPropertiesExceptionHeaders = {
-      serializedName: "Service_getPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The response body as a browser Blob.
+       * Always undefined in node.js.
+       *
+       * @readonly
+       */
+      get contentAsBlob() {
+        return this.originalResponse.blobBody;
       }
-    };
-    exports2.ServiceGetStatisticsHeaders = {
-      serializedName: "Service_getStatisticsHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetStatisticsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The response body as a node.js Readable stream.
+       * Always undefined in the browser.
+       *
+       * It will automatically retry when internal read stream unexpected ends.
+       *
+       * @readonly
+       */
+      get readableStreamBody() {
+        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+      }
+      /**
+       * The HTTP response.
+       */
+      get _response() {
+        return this.originalResponse._response;
+      }
+      originalResponse;
+      blobDownloadStream;
+      /**
+       * Creates an instance of BlobDownloadResponse.
+       *
+       * @param originalResponse -
+       * @param getter -
+       * @param offset -
+       * @param count -
+       * @param options -
+       */
+      constructor(originalResponse, getter, offset, count, options = {}) {
+        this.originalResponse = originalResponse;
+        this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options);
       }
     };
-    exports2.ServiceGetStatisticsExceptionHeaders = {
-      serializedName: "Service_getStatisticsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetStatisticsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.BlobDownloadResponse = BlobDownloadResponse;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js
+var require_AvroConstants = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0;
+    exports2.AVRO_SYNC_MARKER_SIZE = 16;
+    exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]);
+    exports2.AVRO_CODEC_KEY = "avro.codec";
+    exports2.AVRO_SCHEMA_KEY = "avro.schema";
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js
+var require_AvroParser = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroType = exports2.AvroParser = void 0;
+    var AvroParser = class _AvroParser {
+      /**
+       * Reads a fixed number of bytes from the stream.
+       *
+       * @param stream -
+       * @param length -
+       * @param options -
+       */
+      static async readFixedBytes(stream, length, options = {}) {
+        const bytes = await stream.read(length, { abortSignal: options.abortSignal });
+        if (bytes.length !== length) {
+          throw new Error("Hit stream end.");
         }
+        return bytes;
       }
-    };
-    exports2.ServiceListContainersSegmentHeaders = {
-      serializedName: "Service_listContainersSegmentHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceListContainersSegmentHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Reads a single byte from the stream.
+       *
+       * @param stream -
+       * @param options -
+       */
+      static async readByte(stream, options = {}) {
+        const buf = await _AvroParser.readFixedBytes(stream, 1, options);
+        return buf[0];
       }
-    };
-    exports2.ServiceListContainersSegmentExceptionHeaders = {
-      serializedName: "Service_listContainersSegmentExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceListContainersSegmentExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      // int and long are stored in variable-length zig-zag coding.
+      // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt
+      // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types
+      static async readZigZagLong(stream, options = {}) {
+        let zigZagEncoded = 0;
+        let significanceInBit = 0;
+        let byte, haveMoreByte, significanceInFloat;
+        do {
+          byte = await _AvroParser.readByte(stream, options);
+          haveMoreByte = byte & 128;
+          zigZagEncoded |= (byte & 127) << significanceInBit;
+          significanceInBit += 7;
+        } while (haveMoreByte && significanceInBit < 28);
+        if (haveMoreByte) {
+          zigZagEncoded = zigZagEncoded;
+          significanceInFloat = 268435456;
+          do {
+            byte = await _AvroParser.readByte(stream, options);
+            zigZagEncoded += (byte & 127) * significanceInFloat;
+            significanceInFloat *= 128;
+          } while (byte & 128);
+          const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2;
+          if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) {
+            throw new Error("Integer overflow.");
           }
+          return res;
         }
+        return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1);
       }
-    };
-    exports2.ServiceGetUserDelegationKeyHeaders = {
-      serializedName: "Service_getUserDelegationKeyHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetUserDelegationKeyHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      static async readLong(stream, options = {}) {
+        return _AvroParser.readZigZagLong(stream, options);
       }
-    };
-    exports2.ServiceGetUserDelegationKeyExceptionHeaders = {
-      serializedName: "Service_getUserDelegationKeyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetUserDelegationKeyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      static async readInt(stream, options = {}) {
+        return _AvroParser.readZigZagLong(stream, options);
+      }
+      static async readNull() {
+        return null;
+      }
+      static async readBoolean(stream, options = {}) {
+        const b = await _AvroParser.readByte(stream, options);
+        if (b === 1) {
+          return true;
+        } else if (b === 0) {
+          return false;
+        } else {
+          throw new Error("Byte was not a boolean.");
         }
       }
-    };
-    exports2.ServiceGetAccountInfoHeaders = {
-      serializedName: "Service_getAccountInfoHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetAccountInfoHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          skuName: {
-            serializedName: "x-ms-sku-name",
-            xmlName: "x-ms-sku-name",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Standard_LRS",
-                "Standard_GRS",
-                "Standard_RAGRS",
-                "Standard_ZRS",
-                "Premium_LRS"
-              ]
-            }
-          },
-          accountKind: {
-            serializedName: "x-ms-account-kind",
-            xmlName: "x-ms-account-kind",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Storage",
-                "BlobStorage",
-                "StorageV2",
-                "FileStorage",
-                "BlockBlobStorage"
-              ]
-            }
-          },
-          isHierarchicalNamespaceEnabled: {
-            serializedName: "x-ms-is-hns-enabled",
-            xmlName: "x-ms-is-hns-enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      static async readFloat(stream, options = {}) {
+        const u8arr = await _AvroParser.readFixedBytes(stream, 4, options);
+        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
+        return view.getFloat32(0, true);
+      }
+      static async readDouble(stream, options = {}) {
+        const u8arr = await _AvroParser.readFixedBytes(stream, 8, options);
+        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
+        return view.getFloat64(0, true);
+      }
+      static async readBytes(stream, options = {}) {
+        const size = await _AvroParser.readLong(stream, options);
+        if (size < 0) {
+          throw new Error("Bytes size was negative.");
         }
+        return stream.read(size, { abortSignal: options.abortSignal });
       }
-    };
-    exports2.ServiceGetAccountInfoExceptionHeaders = {
-      serializedName: "Service_getAccountInfoExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceGetAccountInfoExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      static async readString(stream, options = {}) {
+        const u8arr = await _AvroParser.readBytes(stream, options);
+        const utf8decoder = new TextDecoder();
+        return utf8decoder.decode(u8arr);
+      }
+      static async readMapPair(stream, readItemMethod, options = {}) {
+        const key = await _AvroParser.readString(stream, options);
+        const value = await readItemMethod(stream, options);
+        return { key, value };
+      }
+      static async readMap(stream, readItemMethod, options = {}) {
+        const readPairMethod = (s, opts = {}) => {
+          return _AvroParser.readMapPair(s, readItemMethod, opts);
+        };
+        const pairs2 = await _AvroParser.readArray(stream, readPairMethod, options);
+        const dict = {};
+        for (const pair of pairs2) {
+          dict[pair.key] = pair.value;
         }
+        return dict;
       }
-    };
-    exports2.ServiceSubmitBatchHeaders = {
-      serializedName: "Service_submitBatchHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSubmitBatchHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      static async readArray(stream, readItemMethod, options = {}) {
+        const items = [];
+        for (let count = await _AvroParser.readLong(stream, options); count !== 0; count = await _AvroParser.readLong(stream, options)) {
+          if (count < 0) {
+            await _AvroParser.readLong(stream, options);
+            count = -count;
+          }
+          while (count--) {
+            const item = await readItemMethod(stream, options);
+            items.push(item);
           }
         }
+        return items;
       }
     };
-    exports2.ServiceSubmitBatchExceptionHeaders = {
-      serializedName: "Service_submitBatchExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceSubmitBatchExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.AvroParser = AvroParser;
+    var AvroComplex;
+    (function(AvroComplex2) {
+      AvroComplex2["RECORD"] = "record";
+      AvroComplex2["ENUM"] = "enum";
+      AvroComplex2["ARRAY"] = "array";
+      AvroComplex2["MAP"] = "map";
+      AvroComplex2["UNION"] = "union";
+      AvroComplex2["FIXED"] = "fixed";
+    })(AvroComplex || (AvroComplex = {}));
+    var AvroPrimitive;
+    (function(AvroPrimitive2) {
+      AvroPrimitive2["NULL"] = "null";
+      AvroPrimitive2["BOOLEAN"] = "boolean";
+      AvroPrimitive2["INT"] = "int";
+      AvroPrimitive2["LONG"] = "long";
+      AvroPrimitive2["FLOAT"] = "float";
+      AvroPrimitive2["DOUBLE"] = "double";
+      AvroPrimitive2["BYTES"] = "bytes";
+      AvroPrimitive2["STRING"] = "string";
+    })(AvroPrimitive || (AvroPrimitive = {}));
+    var AvroType = class _AvroType {
+      /**
+       * Determines the AvroType from the Avro Schema.
+       */
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      static fromSchema(schema2) {
+        if (typeof schema2 === "string") {
+          return _AvroType.fromStringSchema(schema2);
+        } else if (Array.isArray(schema2)) {
+          return _AvroType.fromArraySchema(schema2);
+        } else {
+          return _AvroType.fromObjectSchema(schema2);
         }
       }
-    };
-    exports2.ServiceFilterBlobsHeaders = {
-      serializedName: "Service_filterBlobsHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceFilterBlobsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      static fromStringSchema(schema2) {
+        switch (schema2) {
+          case AvroPrimitive.NULL:
+          case AvroPrimitive.BOOLEAN:
+          case AvroPrimitive.INT:
+          case AvroPrimitive.LONG:
+          case AvroPrimitive.FLOAT:
+          case AvroPrimitive.DOUBLE:
+          case AvroPrimitive.BYTES:
+          case AvroPrimitive.STRING:
+            return new AvroPrimitiveType(schema2);
+          default:
+            throw new Error(`Unexpected Avro type ${schema2}`);
         }
       }
-    };
-    exports2.ServiceFilterBlobsExceptionHeaders = {
-      serializedName: "Service_filterBlobsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ServiceFilterBlobsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      static fromArraySchema(schema2) {
+        return new AvroUnionType(schema2.map(_AvroType.fromSchema));
+      }
+      static fromObjectSchema(schema2) {
+        const type2 = schema2.type;
+        try {
+          return _AvroType.fromStringSchema(type2);
+        } catch {
         }
-      }
-    };
-    exports2.ContainerCreateHeaders = {
-      serializedName: "Container_createHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerCreateHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
+        switch (type2) {
+          case AvroComplex.RECORD:
+            if (schema2.aliases) {
+              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
             }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
+            if (!schema2.name) {
+              throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`);
             }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
+            const fields = {};
+            if (!schema2.fields) {
+              throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`);
             }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
+            for (const field of schema2.fields) {
+              fields[field.name] = _AvroType.fromSchema(field.type);
             }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
+            return new AvroRecordType(fields, schema2.name);
+          case AvroComplex.ENUM:
+            if (schema2.aliases) {
+              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
             }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+            if (!schema2.symbols) {
+              throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`);
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            return new AvroEnumType(schema2.symbols);
+          case AvroComplex.MAP:
+            if (!schema2.values) {
+              throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`);
             }
-          }
+            return new AvroMapType(_AvroType.fromSchema(schema2.values));
+          case AvroComplex.ARRAY:
+          // Unused today
+          case AvroComplex.FIXED:
+          // Unused today
+          default:
+            throw new Error(`Unexpected Avro type ${type2} in ${schema2}`);
         }
       }
     };
-    exports2.ContainerCreateExceptionHeaders = {
-      serializedName: "Container_createExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerCreateExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.AvroType = AvroType;
+    var AvroPrimitiveType = class extends AvroType {
+      _primitive;
+      constructor(primitive) {
+        super();
+        this._primitive = primitive;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      read(stream, options = {}) {
+        switch (this._primitive) {
+          case AvroPrimitive.NULL:
+            return AvroParser.readNull();
+          case AvroPrimitive.BOOLEAN:
+            return AvroParser.readBoolean(stream, options);
+          case AvroPrimitive.INT:
+            return AvroParser.readInt(stream, options);
+          case AvroPrimitive.LONG:
+            return AvroParser.readLong(stream, options);
+          case AvroPrimitive.FLOAT:
+            return AvroParser.readFloat(stream, options);
+          case AvroPrimitive.DOUBLE:
+            return AvroParser.readDouble(stream, options);
+          case AvroPrimitive.BYTES:
+            return AvroParser.readBytes(stream, options);
+          case AvroPrimitive.STRING:
+            return AvroParser.readString(stream, options);
+          default:
+            throw new Error("Unknown Avro Primitive");
         }
       }
     };
-    exports2.ContainerGetPropertiesHeaders = {
-      serializedName: "Container_getPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetPropertiesHeaders",
-        modelProperties: {
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobPublicAccess: {
-            serializedName: "x-ms-blob-public-access",
-            xmlName: "x-ms-blob-public-access",
-            type: {
-              name: "Enum",
-              allowedValues: ["container", "blob"]
-            }
-          },
-          hasImmutabilityPolicy: {
-            serializedName: "x-ms-has-immutability-policy",
-            xmlName: "x-ms-has-immutability-policy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          hasLegalHold: {
-            serializedName: "x-ms-has-legal-hold",
-            xmlName: "x-ms-has-legal-hold",
-            type: {
-              name: "Boolean"
-            }
-          },
-          defaultEncryptionScope: {
-            serializedName: "x-ms-default-encryption-scope",
-            xmlName: "x-ms-default-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          denyEncryptionScopeOverride: {
-            serializedName: "x-ms-deny-encryption-scope-override",
-            xmlName: "x-ms-deny-encryption-scope-override",
-            type: {
-              name: "Boolean"
-            }
-          },
-          isImmutableStorageWithVersioningEnabled: {
-            serializedName: "x-ms-immutable-storage-with-versioning-enabled",
-            xmlName: "x-ms-immutable-storage-with-versioning-enabled",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    var AvroEnumType = class extends AvroType {
+      _symbols;
+      constructor(symbols) {
+        super();
+        this._symbols = symbols;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      async read(stream, options = {}) {
+        const value = await AvroParser.readInt(stream, options);
+        return this._symbols[value];
       }
     };
-    exports2.ContainerGetPropertiesExceptionHeaders = {
-      serializedName: "Container_getPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    var AvroUnionType = class extends AvroType {
+      _types;
+      constructor(types) {
+        super();
+        this._types = types;
+      }
+      async read(stream, options = {}) {
+        const typeIndex = await AvroParser.readInt(stream, options);
+        return this._types[typeIndex].read(stream, options);
       }
     };
-    exports2.ContainerDeleteHeaders = {
-      serializedName: "Container_deleteHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerDeleteHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    var AvroMapType = class extends AvroType {
+      _itemType;
+      constructor(itemType) {
+        super();
+        this._itemType = itemType;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      read(stream, options = {}) {
+        const readItemMethod = (s, opts) => {
+          return this._itemType.read(s, opts);
+        };
+        return AvroParser.readMap(stream, readItemMethod, options);
       }
     };
-    exports2.ContainerDeleteExceptionHeaders = {
-      serializedName: "Container_deleteExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerDeleteExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    var AvroRecordType = class extends AvroType {
+      _name;
+      _fields;
+      constructor(fields, name) {
+        super();
+        this._fields = fields;
+        this._name = name;
+      }
+      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
+      async read(stream, options = {}) {
+        const record = {};
+        record["$schema"] = this._name;
+        for (const key in this._fields) {
+          if (Object.prototype.hasOwnProperty.call(this._fields, key)) {
+            record[key] = await this._fields[key].read(stream, options);
           }
         }
+        return record;
       }
     };
-    exports2.ContainerSetMetadataHeaders = {
-      serializedName: "Container_setMetadataHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetMetadataHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js
+var require_utils_common3 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.arraysEqual = arraysEqual;
+    function arraysEqual(a, b) {
+      if (a === b)
+        return true;
+      if (a == null || b == null)
+        return false;
+      if (a.length !== b.length)
+        return false;
+      for (let i = 0; i < a.length; ++i) {
+        if (a[i] !== b[i])
+          return false;
+      }
+      return true;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js
+var require_AvroReader = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReader = void 0;
+    var AvroConstants_js_1 = require_AvroConstants();
+    var AvroParser_js_1 = require_AvroParser();
+    var utils_common_js_1 = require_utils_common3();
+    var AvroReader = class {
+      _dataStream;
+      _headerStream;
+      _syncMarker;
+      _metadata;
+      _itemType;
+      _itemsRemainingInBlock;
+      // Remembers where we started if partial data stream was provided.
+      _initialBlockOffset;
+      /// The byte offset within the Avro file (both header and data)
+      /// of the start of the current block.
+      _blockOffset;
+      get blockOffset() {
+        return this._blockOffset;
+      }
+      _objectIndex;
+      get objectIndex() {
+        return this._objectIndex;
+      }
+      _initialized;
+      constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) {
+        this._dataStream = dataStream;
+        this._headerStream = headerStream || dataStream;
+        this._initialized = false;
+        this._blockOffset = currentBlockOffset || 0;
+        this._objectIndex = indexWithinCurrentBlock || 0;
+        this._initialBlockOffset = currentBlockOffset || 0;
+      }
+      async initialize(options = {}) {
+        const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, {
+          abortSignal: options.abortSignal
+        });
+        if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) {
+          throw new Error("Stream is not an Avro file.");
+        }
+        this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, {
+          abortSignal: options.abortSignal
+        });
+        const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY];
+        if (!(codec === void 0 || codec === null || codec === "null")) {
+          throw new Error("Codecs are not supported");
+        }
+        this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
+          abortSignal: options.abortSignal
+        });
+        const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]);
+        this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2);
+        if (this._blockOffset === 0) {
+          this._blockOffset = this._initialBlockOffset + this._dataStream.position;
         }
-      }
-    };
-    exports2.ContainerSetMetadataExceptionHeaders = {
-      serializedName: "Container_setMetadataExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetMetadataExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+        this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
+          abortSignal: options.abortSignal
+        });
+        await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
+        this._initialized = true;
+        if (this._objectIndex && this._objectIndex > 0) {
+          for (let i = 0; i < this._objectIndex; i++) {
+            await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal });
+            this._itemsRemainingInBlock--;
           }
         }
       }
-    };
-    exports2.ContainerGetAccessPolicyHeaders = {
-      serializedName: "Container_getAccessPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccessPolicyHeaders",
-        modelProperties: {
-          blobPublicAccess: {
-            serializedName: "x-ms-blob-public-access",
-            xmlName: "x-ms-blob-public-access",
-            type: {
-              name: "Enum",
-              allowedValues: ["container", "blob"]
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
+      hasNext() {
+        return !this._initialized || this._itemsRemainingInBlock > 0;
+      }
+      async *parseObjects(options = {}) {
+        if (!this._initialized) {
+          await this.initialize(options);
+        }
+        while (this.hasNext()) {
+          const result = await this._itemType.read(this._dataStream, {
+            abortSignal: options.abortSignal
+          });
+          this._itemsRemainingInBlock--;
+          this._objectIndex++;
+          if (this._itemsRemainingInBlock === 0) {
+            const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
+              abortSignal: options.abortSignal
+            });
+            this._blockOffset = this._initialBlockOffset + this._dataStream.position;
+            this._objectIndex = 0;
+            if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) {
+              throw new Error("Stream is not a valid Avro file.");
             }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+            try {
+              this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
+                abortSignal: options.abortSignal
+              });
+            } catch {
+              this._itemsRemainingInBlock = 0;
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            if (this._itemsRemainingInBlock > 0) {
+              await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
             }
           }
+          yield result;
         }
       }
     };
-    exports2.ContainerGetAccessPolicyExceptionHeaders = {
-      serializedName: "Container_getAccessPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccessPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.AvroReader = AvroReader;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js
+var require_AvroReadable = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadable = void 0;
+    var AvroReadable = class {
+    };
+    exports2.AvroReadable = AvroReadable;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js
+var require_AvroReadableFromStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadableFromStream = void 0;
+    var AvroReadable_js_1 = require_AvroReadable();
+    var abort_controller_1 = require_commonjs13();
+    var buffer_1 = require("buffer");
+    var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted.");
+    var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable {
+      _position;
+      _readable;
+      toUint8Array(data) {
+        if (typeof data === "string") {
+          return buffer_1.Buffer.from(data);
+        }
+        return data;
+      }
+      constructor(readable) {
+        super();
+        this._readable = readable;
+        this._position = 0;
+      }
+      get position() {
+        return this._position;
+      }
+      async read(size, options = {}) {
+        if (options.abortSignal?.aborted) {
+          throw ABORT_ERROR;
+        }
+        if (size < 0) {
+          throw new Error(`size parameter should be positive: ${size}`);
+        }
+        if (size === 0) {
+          return new Uint8Array();
+        }
+        if (!this._readable.readable) {
+          throw new Error("Stream no longer readable.");
+        }
+        const chunk = this._readable.read(size);
+        if (chunk) {
+          this._position += chunk.length;
+          return this.toUint8Array(chunk);
+        } else {
+          return new Promise((resolve2, reject) => {
+            const cleanUp = () => {
+              this._readable.removeListener("readable", readableCallback);
+              this._readable.removeListener("error", rejectCallback);
+              this._readable.removeListener("end", rejectCallback);
+              this._readable.removeListener("close", rejectCallback);
+              if (options.abortSignal) {
+                options.abortSignal.removeEventListener("abort", abortHandler);
+              }
+            };
+            const readableCallback = () => {
+              const callbackChunk = this._readable.read(size);
+              if (callbackChunk) {
+                this._position += callbackChunk.length;
+                cleanUp();
+                resolve2(this.toUint8Array(callbackChunk));
+              }
+            };
+            const rejectCallback = () => {
+              cleanUp();
+              reject();
+            };
+            const abortHandler = () => {
+              cleanUp();
+              reject(ABORT_ERROR);
+            };
+            this._readable.on("readable", readableCallback);
+            this._readable.once("error", rejectCallback);
+            this._readable.once("end", rejectCallback);
+            this._readable.once("close", rejectCallback);
+            if (options.abortSignal) {
+              options.abortSignal.addEventListener("abort", abortHandler);
             }
-          }
+          });
         }
       }
     };
-    exports2.ContainerSetAccessPolicyHeaders = {
-      serializedName: "Container_setAccessPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetAccessPolicyHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.AvroReadableFromStream = AvroReadableFromStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js
+var require_internal_avro = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0;
+    var AvroReader_js_1 = require_AvroReader();
+    Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() {
+      return AvroReader_js_1.AvroReader;
+    } });
+    var AvroReadable_js_1 = require_AvroReadable();
+    Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() {
+      return AvroReadable_js_1.AvroReadable;
+    } });
+    var AvroReadableFromStream_js_1 = require_AvroReadableFromStream();
+    Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() {
+      return AvroReadableFromStream_js_1.AvroReadableFromStream;
+    } });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js
+var require_BlobQuickQueryStream = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobQuickQueryStream = void 0;
+    var node_stream_1 = require("node:stream");
+    var index_js_1 = require_internal_avro();
+    var BlobQuickQueryStream = class extends node_stream_1.Readable {
+      source;
+      avroReader;
+      avroIter;
+      avroPaused = true;
+      onProgress;
+      onError;
+      /**
+       * Creates an instance of BlobQuickQueryStream.
+       *
+       * @param source - The current ReadableStream returned from getter
+       * @param options -
+       */
+      constructor(source, options = {}) {
+        super();
+        this.source = source;
+        this.onProgress = options.onProgress;
+        this.onError = options.onError;
+        this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source));
+        this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal });
+      }
+      _read() {
+        if (this.avroPaused) {
+          this.readInternal().catch((err) => {
+            this.emit("error", err);
+          });
         }
       }
-    };
-    exports2.ContainerSetAccessPolicyExceptionHeaders = {
-      serializedName: "Container_setAccessPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSetAccessPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      async readInternal() {
+        this.avroPaused = false;
+        let avroNext;
+        do {
+          avroNext = await this.avroIter.next();
+          if (avroNext.done) {
+            break;
+          }
+          const obj = avroNext.value;
+          const schema2 = obj.$schema;
+          if (typeof schema2 !== "string") {
+            throw Error("Missing schema in avro record.");
+          }
+          switch (schema2) {
+            case "com.microsoft.azure.storage.queryBlobContents.resultData":
+              {
+                const data = obj.data;
+                if (data instanceof Uint8Array === false) {
+                  throw Error("Invalid data in avro result record.");
+                }
+                if (!this.push(Buffer.from(data))) {
+                  this.avroPaused = true;
+                }
+              }
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.progress":
+              {
+                const bytesScanned = obj.bytesScanned;
+                if (typeof bytesScanned !== "number") {
+                  throw Error("Invalid bytesScanned in avro progress record.");
+                }
+                if (this.onProgress) {
+                  this.onProgress({ loadedBytes: bytesScanned });
+                }
+              }
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.end":
+              if (this.onProgress) {
+                const totalBytes = obj.totalBytes;
+                if (typeof totalBytes !== "number") {
+                  throw Error("Invalid totalBytes in avro end record.");
+                }
+                this.onProgress({ loadedBytes: totalBytes });
+              }
+              this.push(null);
+              break;
+            case "com.microsoft.azure.storage.queryBlobContents.error":
+              if (this.onError) {
+                const fatal = obj.fatal;
+                if (typeof fatal !== "boolean") {
+                  throw Error("Invalid fatal in avro error record.");
+                }
+                const name = obj.name;
+                if (typeof name !== "string") {
+                  throw Error("Invalid name in avro error record.");
+                }
+                const description = obj.description;
+                if (typeof description !== "string") {
+                  throw Error("Invalid description in avro error record.");
+                }
+                const position = obj.position;
+                if (typeof position !== "number") {
+                  throw Error("Invalid position in avro error record.");
+                }
+                this.onError({
+                  position,
+                  name,
+                  isFatal: fatal,
+                  description
+                });
+              }
+              break;
+            default:
+              throw Error(`Unknown schema ${schema2} in avro progress record.`);
+          }
+        } while (!avroNext.done && !this.avroPaused);
+      }
+    };
+    exports2.BlobQuickQueryStream = BlobQuickQueryStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js
+var require_BlobQueryResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobQueryResponse = void 0;
+    var core_util_1 = require_commonjs6();
+    var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream();
+    var BlobQueryResponse = class {
+      /**
+       * Indicates that the service supports
+       * requests for partial file content.
+       *
+       * @readonly
+       */
+      get acceptRanges() {
+        return this.originalResponse.acceptRanges;
+      }
+      /**
+       * Returns if it was previously specified
+       * for the file.
+       *
+       * @readonly
+       */
+      get cacheControl() {
+        return this.originalResponse.cacheControl;
+      }
+      /**
+       * Returns the value that was specified
+       * for the 'x-ms-content-disposition' header and specifies how to process the
+       * response.
+       *
+       * @readonly
+       */
+      get contentDisposition() {
+        return this.originalResponse.contentDisposition;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Encoding request header.
+       *
+       * @readonly
+       */
+      get contentEncoding() {
+        return this.originalResponse.contentEncoding;
+      }
+      /**
+       * Returns the value that was specified
+       * for the Content-Language request header.
+       *
+       * @readonly
+       */
+      get contentLanguage() {
+        return this.originalResponse.contentLanguage;
+      }
+      /**
+       * The current sequence number for a
+       * page blob. This header is not returned for block blobs or append blobs.
+       *
+       * @readonly
+       */
+      get blobSequenceNumber() {
+        return this.originalResponse.blobSequenceNumber;
+      }
+      /**
+       * The blob's type. Possible values include:
+       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
+       *
+       * @readonly
+       */
+      get blobType() {
+        return this.originalResponse.blobType;
+      }
+      /**
+       * The number of bytes present in the
+       * response body.
+       *
+       * @readonly
+       */
+      get contentLength() {
+        return this.originalResponse.contentLength;
+      }
+      /**
+       * If the file has an MD5 hash and the
+       * request is to read the full file, this response header is returned so that
+       * the client can check for message content integrity. If the request is to
+       * read a specified range and the 'x-ms-range-get-content-md5' is set to
+       * true, then the request returns an MD5 hash for the range, as long as the
+       * range size is less than or equal to 4 MB. If neither of these sets of
+       * conditions is true, then no value is returned for the 'Content-MD5'
+       * header.
+       *
+       * @readonly
+       */
+      get contentMD5() {
+        return this.originalResponse.contentMD5;
+      }
+      /**
+       * Indicates the range of bytes returned if
+       * the client requested a subset of the file by setting the Range request
+       * header.
+       *
+       * @readonly
+       */
+      get contentRange() {
+        return this.originalResponse.contentRange;
       }
-    };
-    exports2.ContainerRestoreHeaders = {
-      serializedName: "Container_restoreHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRestoreHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The content type specified for the file.
+       * The default content type is 'application/octet-stream'
+       *
+       * @readonly
+       */
+      get contentType() {
+        return this.originalResponse.contentType;
       }
-    };
-    exports2.ContainerRestoreExceptionHeaders = {
-      serializedName: "Container_restoreExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRestoreExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Conclusion time of the last attempted
+       * Copy File operation where this file was the destination file. This value
+       * can specify the time of a completed, aborted, or failed copy attempt.
+       *
+       * @readonly
+       */
+      get copyCompletedOn() {
+        return void 0;
       }
-    };
-    exports2.ContainerRenameHeaders = {
-      serializedName: "Container_renameHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenameHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * String identifier for the last attempted Copy
+       * File operation where this file was the destination file.
+       *
+       * @readonly
+       */
+      get copyId() {
+        return this.originalResponse.copyId;
       }
-    };
-    exports2.ContainerRenameExceptionHeaders = {
-      serializedName: "Container_renameExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenameExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Contains the number of bytes copied and
+       * the total bytes in the source in the last attempted Copy File operation
+       * where this file was the destination file. Can show between 0 and
+       * Content-Length bytes copied.
+       *
+       * @readonly
+       */
+      get copyProgress() {
+        return this.originalResponse.copyProgress;
       }
-    };
-    exports2.ContainerSubmitBatchHeaders = {
-      serializedName: "Container_submitBatchHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSubmitBatchHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * URL up to 2KB in length that specifies the
+       * source file used in the last attempted Copy File operation where this file
+       * was the destination file.
+       *
+       * @readonly
+       */
+      get copySource() {
+        return this.originalResponse.copySource;
       }
-    };
-    exports2.ContainerSubmitBatchExceptionHeaders = {
-      serializedName: "Container_submitBatchExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerSubmitBatchExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * State of the copy operation
+       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
+       * 'success', 'aborted', 'failed'
+       *
+       * @readonly
+       */
+      get copyStatus() {
+        return this.originalResponse.copyStatus;
       }
-    };
-    exports2.ContainerFilterBlobsHeaders = {
-      serializedName: "Container_filterBlobsHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerFilterBlobsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * Only appears when
+       * x-ms-copy-status is failed or pending. Describes cause of fatal or
+       * non-fatal copy operation failure.
+       *
+       * @readonly
+       */
+      get copyStatusDescription() {
+        return this.originalResponse.copyStatusDescription;
       }
-    };
-    exports2.ContainerFilterBlobsExceptionHeaders = {
-      serializedName: "Container_filterBlobsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerFilterBlobsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * When a blob is leased,
+       * specifies whether the lease is of infinite or fixed duration. Possible
+       * values include: 'infinite', 'fixed'.
+       *
+       * @readonly
+       */
+      get leaseDuration() {
+        return this.originalResponse.leaseDuration;
       }
-    };
-    exports2.ContainerAcquireLeaseHeaders = {
-      serializedName: "Container_acquireLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerAcquireLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * Lease state of the blob. Possible
+       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
+       *
+       * @readonly
+       */
+      get leaseState() {
+        return this.originalResponse.leaseState;
       }
-    };
-    exports2.ContainerAcquireLeaseExceptionHeaders = {
-      serializedName: "Container_acquireLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerAcquireLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The current lease status of the
+       * blob. Possible values include: 'locked', 'unlocked'.
+       *
+       * @readonly
+       */
+      get leaseStatus() {
+        return this.originalResponse.leaseStatus;
       }
-    };
-    exports2.ContainerReleaseLeaseHeaders = {
-      serializedName: "Container_releaseLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerReleaseLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * A UTC date/time value generated by the service that
+       * indicates the time at which the response was initiated.
+       *
+       * @readonly
+       */
+      get date() {
+        return this.originalResponse.date;
+      }
+      /**
+       * The number of committed blocks
+       * present in the blob. This header is returned only for append blobs.
+       *
+       * @readonly
+       */
+      get blobCommittedBlockCount() {
+        return this.originalResponse.blobCommittedBlockCount;
+      }
+      /**
+       * The ETag contains a value that you can use to
+       * perform operations conditionally, in quotes.
+       *
+       * @readonly
+       */
+      get etag() {
+        return this.originalResponse.etag;
+      }
+      /**
+       * The error code.
+       *
+       * @readonly
+       */
+      get errorCode() {
+        return this.originalResponse.errorCode;
+      }
+      /**
+       * The value of this header is set to
+       * true if the file data and application metadata are completely encrypted
+       * using the specified algorithm. Otherwise, the value is set to false (when
+       * the file is unencrypted, or if only parts of the file/application metadata
+       * are encrypted).
+       *
+       * @readonly
+       */
+      get isServerEncrypted() {
+        return this.originalResponse.isServerEncrypted;
+      }
+      /**
+       * If the blob has a MD5 hash, and if
+       * request contains range header (Range or x-ms-range), this response header
+       * is returned with the value of the whole blob's MD5 value. This value may
+       * or may not be equal to the value returned in Content-MD5 header, with the
+       * latter calculated from the requested range.
+       *
+       * @readonly
+       */
+      get blobContentMD5() {
+        return this.originalResponse.blobContentMD5;
+      }
+      /**
+       * Returns the date and time the file was last
+       * modified. Any operation that modifies the file or its properties updates
+       * the last modified time.
+       *
+       * @readonly
+       */
+      get lastModified() {
+        return this.originalResponse.lastModified;
       }
-    };
-    exports2.ContainerReleaseLeaseExceptionHeaders = {
-      serializedName: "Container_releaseLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerReleaseLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * A name-value pair
+       * to associate with a file storage object.
+       *
+       * @readonly
+       */
+      get metadata() {
+        return this.originalResponse.metadata;
       }
-    };
-    exports2.ContainerRenewLeaseHeaders = {
-      serializedName: "Container_renewLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenewLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * This header uniquely identifies the request
+       * that was made and can be used for troubleshooting the request.
+       *
+       * @readonly
+       */
+      get requestId() {
+        return this.originalResponse.requestId;
       }
-    };
-    exports2.ContainerRenewLeaseExceptionHeaders = {
-      serializedName: "Container_renewLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerRenewLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * If a client request id header is sent in the request, this header will be present in the
+       * response with the same value.
+       *
+       * @readonly
+       */
+      get clientRequestId() {
+        return this.originalResponse.clientRequestId;
       }
-    };
-    exports2.ContainerBreakLeaseHeaders = {
-      serializedName: "Container_breakLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerBreakLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseTime: {
-            serializedName: "x-ms-lease-time",
-            xmlName: "x-ms-lease-time",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * Indicates the version of the File service used
+       * to execute the request.
+       *
+       * @readonly
+       */
+      get version() {
+        return this.originalResponse.version;
       }
-    };
-    exports2.ContainerBreakLeaseExceptionHeaders = {
-      serializedName: "Container_breakLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerBreakLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
+       * when the blob was encrypted with a customer-provided key.
+       *
+       * @readonly
+       */
+      get encryptionKeySha256() {
+        return this.originalResponse.encryptionKeySha256;
       }
-    };
-    exports2.ContainerChangeLeaseHeaders = {
-      serializedName: "Container_changeLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerChangeLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+      /**
+       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
+       * true, then the request returns a crc64 for the range, as long as the range size is less than
+       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
+       * specified in the same request, it will fail with 400(Bad Request)
+       */
+      get contentCrc64() {
+        return this.originalResponse.contentCrc64;
       }
-    };
-    exports2.ContainerChangeLeaseExceptionHeaders = {
-      serializedName: "Container_changeLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerChangeLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The response body as a browser Blob.
+       * Always undefined in node.js.
+       *
+       * @readonly
+       */
+      get blobBody() {
+        return void 0;
       }
-    };
-    exports2.ContainerListBlobFlatSegmentHeaders = {
-      serializedName: "Container_listBlobFlatSegmentHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobFlatSegmentHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The response body as a node.js Readable stream.
+       * Always undefined in the browser.
+       *
+       * It will parse avor data returned by blob query.
+       *
+       * @readonly
+       */
+      get readableStreamBody() {
+        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
       }
-    };
-    exports2.ContainerListBlobFlatSegmentExceptionHeaders = {
-      serializedName: "Container_listBlobFlatSegmentExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobFlatSegmentExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The HTTP response.
+       */
+      get _response() {
+        return this.originalResponse._response;
       }
-    };
-    exports2.ContainerListBlobHierarchySegmentHeaders = {
-      serializedName: "Container_listBlobHierarchySegmentHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobHierarchySegmentHeaders",
-        modelProperties: {
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      originalResponse;
+      blobDownloadStream;
+      /**
+       * Creates an instance of BlobQueryResponse.
+       *
+       * @param originalResponse -
+       * @param options -
+       */
+      constructor(originalResponse, options = {}) {
+        this.originalResponse = originalResponse;
+        this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options);
       }
     };
-    exports2.ContainerListBlobHierarchySegmentExceptionHeaders = {
-      serializedName: "Container_listBlobHierarchySegmentExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerListBlobHierarchySegmentExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    exports2.BlobQueryResponse = BlobQueryResponse;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/models.js
+var require_models2 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0;
+    exports2.toAccessTier = toAccessTier;
+    exports2.ensureCpkIfSpecified = ensureCpkIfSpecified;
+    exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience;
+    var constants_js_1 = require_constants14();
+    var BlockBlobTier;
+    (function(BlockBlobTier2) {
+      BlockBlobTier2["Hot"] = "Hot";
+      BlockBlobTier2["Cool"] = "Cool";
+      BlockBlobTier2["Cold"] = "Cold";
+      BlockBlobTier2["Archive"] = "Archive";
+    })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {}));
+    var PremiumPageBlobTier;
+    (function(PremiumPageBlobTier2) {
+      PremiumPageBlobTier2["P4"] = "P4";
+      PremiumPageBlobTier2["P6"] = "P6";
+      PremiumPageBlobTier2["P10"] = "P10";
+      PremiumPageBlobTier2["P15"] = "P15";
+      PremiumPageBlobTier2["P20"] = "P20";
+      PremiumPageBlobTier2["P30"] = "P30";
+      PremiumPageBlobTier2["P40"] = "P40";
+      PremiumPageBlobTier2["P50"] = "P50";
+      PremiumPageBlobTier2["P60"] = "P60";
+      PremiumPageBlobTier2["P70"] = "P70";
+      PremiumPageBlobTier2["P80"] = "P80";
+    })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {}));
+    function toAccessTier(tier) {
+      if (tier === void 0) {
+        return void 0;
+      }
+      return tier;
+    }
+    function ensureCpkIfSpecified(cpk, isHttps) {
+      if (cpk && !isHttps) {
+        throw new RangeError("Customer-provided encryption key must be used over HTTPS.");
+      }
+      if (cpk && !cpk.encryptionAlgorithm) {
+        cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25;
+      }
+    }
+    var StorageBlobAudience;
+    (function(StorageBlobAudience2) {
+      StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default";
+      StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default";
+    })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {}));
+    function getBlobServiceAccountAudience(storageAccountName) {
+      return `https://${storageAccountName}.blob.core.windows.net/.default`;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js
+var require_PageBlobRangeResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.rangeResponseFromModel = rangeResponseFromModel;
+    function rangeResponseFromModel(response) {
+      const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({
+        offset: x.start,
+        count: x.end - x.start
+      }));
+      const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({
+        offset: x.start,
+        count: x.end - x.start
+      }));
+      return {
+        ...response,
+        pageRange,
+        clearRange,
+        _response: {
+          ...response._response,
+          parsedBody: {
+            pageRange,
+            clearRange
           }
         }
+      };
+    }
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/logger.js
+var require_logger2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = void 0;
+    var logger_1 = require_commonjs4();
+    exports2.logger = (0, logger_1.createClientLogger)("core-lro");
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js
+var require_constants16 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0;
+    exports2.POLL_INTERVAL_IN_MS = 2e3;
+    exports2.terminalStates = ["succeeded", "canceled", "failed"];
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js
+var require_operation = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0;
+    var logger_js_1 = require_logger2();
+    var constants_js_1 = require_constants16();
+    function deserializeState(serializedState) {
+      try {
+        return JSON.parse(serializedState).state;
+      } catch (e) {
+        throw new Error(`Unable to deserialize input state: ${serializedState}`);
       }
-    };
-    exports2.ContainerGetAccountInfoHeaders = {
-      serializedName: "Container_getAccountInfoHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccountInfoHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          skuName: {
-            serializedName: "x-ms-sku-name",
-            xmlName: "x-ms-sku-name",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Standard_LRS",
-                "Standard_GRS",
-                "Standard_RAGRS",
-                "Standard_ZRS",
-                "Premium_LRS"
-              ]
-            }
-          },
-          accountKind: {
-            serializedName: "x-ms-account-kind",
-            xmlName: "x-ms-account-kind",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Storage",
-                "BlobStorage",
-                "StorageV2",
-                "FileStorage",
-                "BlockBlobStorage"
-              ]
-            }
-          },
-          isHierarchicalNamespaceEnabled: {
-            serializedName: "x-ms-is-hns-enabled",
-            xmlName: "x-ms-is-hns-enabled",
-            type: {
-              name: "Boolean"
-            }
-          }
+    }
+    exports2.deserializeState = deserializeState;
+    function setStateError(inputs) {
+      const { state, stateProxy, isOperationError } = inputs;
+      return (error3) => {
+        if (isOperationError(error3)) {
+          stateProxy.setError(state, error3);
+          stateProxy.setFailed(state);
         }
+        throw error3;
+      };
+    }
+    function appendReadableErrorMessage(currentMessage, innerMessage) {
+      let message = currentMessage;
+      if (message.slice(-1) !== ".") {
+        message = message + ".";
       }
-    };
-    exports2.ContainerGetAccountInfoExceptionHeaders = {
-      serializedName: "Container_getAccountInfoExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "ContainerGetAccountInfoExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      return message + " " + innerMessage;
+    }
+    function simplifyError(err) {
+      let message = err.message;
+      let code = err.code;
+      let curErr = err;
+      while (curErr.innererror) {
+        curErr = curErr.innererror;
+        code = curErr.code;
+        message = appendReadableErrorMessage(message, curErr.message);
       }
-    };
-    exports2.BlobDownloadHeaders = {
-      serializedName: "Blob_downloadHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDownloadHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          createdOn: {
-            serializedName: "x-ms-creation-time",
-            xmlName: "x-ms-creation-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          objectReplicationPolicyId: {
-            serializedName: "x-ms-or-policy-id",
-            xmlName: "x-ms-or-policy-id",
-            type: {
-              name: "String"
-            }
-          },
-          objectReplicationRules: {
-            serializedName: "x-ms-or",
-            headerCollectionPrefix: "x-ms-or-",
-            xmlName: "x-ms-or",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          contentLength: {
-            serializedName: "content-length",
-            xmlName: "content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          contentRange: {
-            serializedName: "content-range",
-            xmlName: "content-range",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentEncoding: {
-            serializedName: "content-encoding",
-            xmlName: "content-encoding",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "cache-control",
-            xmlName: "cache-control",
-            type: {
-              name: "String"
-            }
-          },
-          contentDisposition: {
-            serializedName: "content-disposition",
-            xmlName: "content-disposition",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "content-language",
-            xmlName: "content-language",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          blobType: {
-            serializedName: "x-ms-blob-type",
-            xmlName: "x-ms-blob-type",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          copyCompletedOn: {
-            serializedName: "x-ms-copy-completion-time",
-            xmlName: "x-ms-copy-completion-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "x-ms-copy-status-description",
-            xmlName: "x-ms-copy-status-description",
-            type: {
-              name: "String"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "x-ms-copy-progress",
-            xmlName: "x-ms-copy-progress",
-            type: {
-              name: "String"
-            }
-          },
-          copySource: {
-            serializedName: "x-ms-copy-source",
-            xmlName: "x-ms-copy-source",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          isCurrentVersion: {
-            serializedName: "x-ms-is-current-version",
-            xmlName: "x-ms-is-current-version",
-            type: {
-              name: "Boolean"
-            }
-          },
-          acceptRanges: {
-            serializedName: "accept-ranges",
-            xmlName: "accept-ranges",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-server-encrypted",
-            xmlName: "x-ms-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentMD5: {
-            serializedName: "x-ms-blob-content-md5",
-            xmlName: "x-ms-blob-content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          tagCount: {
-            serializedName: "x-ms-tag-count",
-            xmlName: "x-ms-tag-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isSealed: {
-            serializedName: "x-ms-blob-sealed",
-            xmlName: "x-ms-blob-sealed",
-            type: {
-              name: "Boolean"
-            }
-          },
-          lastAccessed: {
-            serializedName: "x-ms-last-access-time",
-            xmlName: "x-ms-last-access-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiresOn: {
-            serializedName: "x-ms-immutability-policy-until-date",
-            xmlName: "x-ms-immutability-policy-until-date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "x-ms-immutability-policy-mode",
-            xmlName: "x-ms-immutability-policy-mode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
-            }
-          },
-          legalHold: {
-            serializedName: "x-ms-legal-hold",
-            xmlName: "x-ms-legal-hold",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          contentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
+      return {
+        code,
+        message
+      };
+    }
+    function processOperationStatus(result) {
+      const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result;
+      switch (status) {
+        case "succeeded": {
+          stateProxy.setSucceeded(state);
+          break;
+        }
+        case "failed": {
+          const err = getError === null || getError === void 0 ? void 0 : getError(response);
+          let postfix = "";
+          if (err) {
+            const { code, message } = simplifyError(err);
+            postfix = `. ${code}. ${message}`;
           }
+          const errStr = `The long-running operation has failed${postfix}`;
+          stateProxy.setError(state, new Error(errStr));
+          stateProxy.setFailed(state);
+          logger_js_1.logger.warning(errStr);
+          break;
+        }
+        case "canceled": {
+          stateProxy.setCanceled(state);
+          break;
         }
       }
-    };
-    exports2.BlobDownloadExceptionHeaders = {
-      serializedName: "Blob_downloadExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDownloadExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) {
+        stateProxy.setResult(state, buildResult({
+          response,
+          state,
+          processResult
+        }));
+      }
+    }
+    function buildResult(inputs) {
+      const { processResult, response, state } = inputs;
+      return processResult ? processResult(response, state) : response;
+    }
+    async function initOperation(inputs) {
+      const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs;
+      const { operationLocation, resourceLocation, metadata, response } = await init();
+      if (operationLocation)
+        withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
+      const config = {
+        metadata,
+        operationLocation,
+        resourceLocation
+      };
+      logger_js_1.logger.verbose(`LRO: Operation description:`, config);
+      const state = stateProxy.initState(config);
+      const status = getOperationStatus({ response, state, operationLocation });
+      processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult });
+      return state;
+    }
+    exports2.initOperation = initOperation;
+    async function pollOperationHelper(inputs) {
+      const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs;
+      const response = await poll(operationLocation, options).catch(setStateError({
+        state,
+        stateProxy,
+        isOperationError
+      }));
+      const status = getOperationStatus(response, state);
+      logger_js_1.logger.verbose(`LRO: Status:
+	Polling from: ${state.config.operationLocation}
+	Operation status: ${status}
+	Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`);
+      if (status === "succeeded") {
+        const resourceLocation = getResourceLocation(response, state);
+        if (resourceLocation !== void 0) {
+          return {
+            response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })),
+            status
+          };
         }
       }
-    };
-    exports2.BlobGetPropertiesHeaders = {
-      serializedName: "Blob_getPropertiesHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetPropertiesHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          createdOn: {
-            serializedName: "x-ms-creation-time",
-            xmlName: "x-ms-creation-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          objectReplicationPolicyId: {
-            serializedName: "x-ms-or-policy-id",
-            xmlName: "x-ms-or-policy-id",
-            type: {
-              name: "String"
-            }
-          },
-          objectReplicationRules: {
-            serializedName: "x-ms-or",
-            headerCollectionPrefix: "x-ms-or-",
-            xmlName: "x-ms-or",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          blobType: {
-            serializedName: "x-ms-blob-type",
-            xmlName: "x-ms-blob-type",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          copyCompletedOn: {
-            serializedName: "x-ms-copy-completion-time",
-            xmlName: "x-ms-copy-completion-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "x-ms-copy-status-description",
-            xmlName: "x-ms-copy-status-description",
-            type: {
-              name: "String"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "x-ms-copy-progress",
-            xmlName: "x-ms-copy-progress",
-            type: {
-              name: "String"
-            }
-          },
-          copySource: {
-            serializedName: "x-ms-copy-source",
-            xmlName: "x-ms-copy-source",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          isIncrementalCopy: {
-            serializedName: "x-ms-incremental-copy",
-            xmlName: "x-ms-incremental-copy",
-            type: {
-              name: "Boolean"
-            }
-          },
-          destinationSnapshot: {
-            serializedName: "x-ms-copy-destination-snapshot",
-            xmlName: "x-ms-copy-destination-snapshot",
-            type: {
-              name: "String"
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          contentLength: {
-            serializedName: "content-length",
-            xmlName: "content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentEncoding: {
-            serializedName: "content-encoding",
-            xmlName: "content-encoding",
-            type: {
-              name: "String"
-            }
-          },
-          contentDisposition: {
-            serializedName: "content-disposition",
-            xmlName: "content-disposition",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "content-language",
-            xmlName: "content-language",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "cache-control",
-            xmlName: "cache-control",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          acceptRanges: {
-            serializedName: "accept-ranges",
-            xmlName: "accept-ranges",
-            type: {
-              name: "String"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-server-encrypted",
-            xmlName: "x-ms-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          accessTier: {
-            serializedName: "x-ms-access-tier",
-            xmlName: "x-ms-access-tier",
-            type: {
-              name: "String"
-            }
-          },
-          accessTierInferred: {
-            serializedName: "x-ms-access-tier-inferred",
-            xmlName: "x-ms-access-tier-inferred",
-            type: {
-              name: "Boolean"
-            }
-          },
-          archiveStatus: {
-            serializedName: "x-ms-archive-status",
-            xmlName: "x-ms-archive-status",
-            type: {
-              name: "String"
-            }
-          },
-          accessTierChangedOn: {
-            serializedName: "x-ms-access-tier-change-time",
-            xmlName: "x-ms-access-tier-change-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          isCurrentVersion: {
-            serializedName: "x-ms-is-current-version",
-            xmlName: "x-ms-is-current-version",
-            type: {
-              name: "Boolean"
-            }
-          },
-          tagCount: {
-            serializedName: "x-ms-tag-count",
-            xmlName: "x-ms-tag-count",
-            type: {
-              name: "Number"
-            }
-          },
-          expiresOn: {
-            serializedName: "x-ms-expiry-time",
-            xmlName: "x-ms-expiry-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isSealed: {
-            serializedName: "x-ms-blob-sealed",
-            xmlName: "x-ms-blob-sealed",
-            type: {
-              name: "Boolean"
-            }
-          },
-          rehydratePriority: {
-            serializedName: "x-ms-rehydrate-priority",
-            xmlName: "x-ms-rehydrate-priority",
-            type: {
-              name: "Enum",
-              allowedValues: ["High", "Standard"]
-            }
-          },
-          lastAccessed: {
-            serializedName: "x-ms-last-access-time",
-            xmlName: "x-ms-last-access-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiresOn: {
-            serializedName: "x-ms-immutability-policy-until-date",
-            xmlName: "x-ms-immutability-policy-until-date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "x-ms-immutability-policy-mode",
-            xmlName: "x-ms-immutability-policy-mode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
-            }
-          },
-          legalHold: {
-            serializedName: "x-ms-legal-hold",
-            xmlName: "x-ms-legal-hold",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      return { response, status };
+    }
+    async function pollOperation(inputs) {
+      const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs;
+      const { operationLocation } = state.config;
+      if (operationLocation !== void 0) {
+        const { response, status } = await pollOperationHelper({
+          poll,
+          getOperationStatus,
+          state,
+          stateProxy,
+          operationLocation,
+          getResourceLocation,
+          isOperationError,
+          options
+        });
+        processOperationStatus({
+          status,
+          response,
+          state,
+          stateProxy,
+          isDone,
+          processResult,
+          getError,
+          setErrorAsResult
+        });
+        if (!constants_js_1.terminalStates.includes(status)) {
+          const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response);
+          if (intervalInMs)
+            setDelay(intervalInMs);
+          const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state);
+          if (location !== void 0) {
+            const isUpdated = operationLocation !== location;
+            state.config.operationLocation = location;
+            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated);
+          } else
+            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
+        }
+        updateState === null || updateState === void 0 ? void 0 : updateState(state, response);
+      }
+    }
+    exports2.pollOperation = pollOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/http/operation.js
+var require_operation2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0;
+    var operation_js_1 = require_operation();
+    var logger_js_1 = require_logger2();
+    function getOperationLocationPollingUrl(inputs) {
+      const { azureAsyncOperation, operationLocation } = inputs;
+      return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation;
+    }
+    function getLocationHeader(rawResponse) {
+      return rawResponse.headers["location"];
+    }
+    function getOperationLocationHeader(rawResponse) {
+      return rawResponse.headers["operation-location"];
+    }
+    function getAzureAsyncOperationHeader(rawResponse) {
+      return rawResponse.headers["azure-asyncoperation"];
+    }
+    function findResourceLocation(inputs) {
+      var _a;
+      const { location, requestMethod, requestPath, resourceLocationConfig } = inputs;
+      switch (requestMethod) {
+        case "PUT": {
+          return requestPath;
         }
-      }
-    };
-    exports2.BlobGetPropertiesExceptionHeaders = {
-      serializedName: "Blob_getPropertiesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetPropertiesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        case "DELETE": {
+          return void 0;
         }
-      }
-    };
-    exports2.BlobDeleteHeaders = {
-      serializedName: "Blob_deleteHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        case "PATCH": {
+          return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath;
+        }
+        default: {
+          return getDefault();
         }
       }
-    };
-    exports2.BlobDeleteExceptionHeaders = {
-      serializedName: "Blob_deleteExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      function getDefault() {
+        switch (resourceLocationConfig) {
+          case "azure-async-operation": {
+            return void 0;
+          }
+          case "original-uri": {
+            return requestPath;
+          }
+          case "location":
+          default: {
+            return location;
           }
         }
       }
-    };
-    exports2.BlobUndeleteHeaders = {
-      serializedName: "Blob_undeleteHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobUndeleteHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    }
+    function inferLroMode(inputs) {
+      const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs;
+      const operationLocation = getOperationLocationHeader(rawResponse);
+      const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse);
+      const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation });
+      const location = getLocationHeader(rawResponse);
+      const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase();
+      if (pollingUrl !== void 0) {
+        return {
+          mode: "OperationLocation",
+          operationLocation: pollingUrl,
+          resourceLocation: findResourceLocation({
+            requestMethod: normalizedRequestMethod,
+            location,
+            requestPath,
+            resourceLocationConfig
+          })
+        };
+      } else if (location !== void 0) {
+        return {
+          mode: "ResourceLocation",
+          operationLocation: location
+        };
+      } else if (normalizedRequestMethod === "PUT" && requestPath) {
+        return {
+          mode: "Body",
+          operationLocation: requestPath
+        };
+      } else {
+        return void 0;
+      }
+    }
+    exports2.inferLroMode = inferLroMode;
+    function transformStatus(inputs) {
+      const { status, statusCode } = inputs;
+      if (typeof status !== "string" && status !== void 0) {
+        throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);
+      }
+      switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) {
+        case void 0:
+          return toOperationStatus(statusCode);
+        case "succeeded":
+          return "succeeded";
+        case "failed":
+          return "failed";
+        case "running":
+        case "accepted":
+        case "started":
+        case "canceling":
+        case "cancelling":
+          return "running";
+        case "canceled":
+        case "cancelled":
+          return "canceled";
+        default: {
+          logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`);
+          return status;
         }
       }
-    };
-    exports2.BlobUndeleteExceptionHeaders = {
-      serializedName: "Blob_undeleteExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobUndeleteExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    }
+    function getStatus(rawResponse) {
+      var _a;
+      const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
+      return transformStatus({ status, statusCode: rawResponse.statusCode });
+    }
+    function getProvisioningState(rawResponse) {
+      var _a, _b;
+      const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
+      const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState;
+      return transformStatus({ status, statusCode: rawResponse.statusCode });
+    }
+    function toOperationStatus(statusCode) {
+      if (statusCode === 202) {
+        return "running";
+      } else if (statusCode < 300) {
+        return "succeeded";
+      } else {
+        return "failed";
+      }
+    }
+    function parseRetryAfter({ rawResponse }) {
+      const retryAfter = rawResponse.headers["retry-after"];
+      if (retryAfter !== void 0) {
+        const retryAfterInSeconds = parseInt(retryAfter);
+        return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3;
+      }
+      return void 0;
+    }
+    exports2.parseRetryAfter = parseRetryAfter;
+    function getErrorFromResponse(response) {
+      const error3 = accessBodyProperty(response, "error");
+      if (!error3) {
+        logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`);
+        return;
+      }
+      if (!error3.code || !error3.message) {
+        logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`);
+        return;
+      }
+      return error3;
+    }
+    exports2.getErrorFromResponse = getErrorFromResponse;
+    function calculatePollingIntervalFromDate(retryAfterDate) {
+      const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime());
+      const retryAfterTime = retryAfterDate.getTime();
+      if (timeNow < retryAfterTime) {
+        return retryAfterTime - timeNow;
+      }
+      return void 0;
+    }
+    function getStatusFromInitialResponse(inputs) {
+      const { response, state, operationLocation } = inputs;
+      function helper() {
+        var _a;
+        const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+        switch (mode) {
+          case void 0:
+            return toOperationStatus(response.rawResponse.statusCode);
+          case "Body":
+            return getOperationStatus(response, state);
+          default:
+            return "running";
         }
       }
-    };
-    exports2.BlobSetExpiryHeaders = {
-      serializedName: "Blob_setExpiryHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetExpiryHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+      const status = helper();
+      return status === "running" && operationLocation === void 0 ? "succeeded" : status;
+    }
+    exports2.getStatusFromInitialResponse = getStatusFromInitialResponse;
+    async function initHttpOperation(inputs) {
+      const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs;
+      return (0, operation_js_1.initOperation)({
+        init: async () => {
+          const response = await lro.sendInitialRequest();
+          const config = inferLroMode({
+            rawResponse: response.rawResponse,
+            requestPath: lro.requestPath,
+            requestMethod: lro.requestMethod,
+            resourceLocationConfig
+          });
+          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
+        },
+        stateProxy,
+        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse,
+        getOperationStatus: getStatusFromInitialResponse,
+        setErrorAsResult
+      });
+    }
+    exports2.initHttpOperation = initHttpOperation;
+    function getOperationLocation({ rawResponse }, state) {
+      var _a;
+      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+      switch (mode) {
+        case "OperationLocation": {
+          return getOperationLocationPollingUrl({
+            operationLocation: getOperationLocationHeader(rawResponse),
+            azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse)
+          });
+        }
+        case "ResourceLocation": {
+          return getLocationHeader(rawResponse);
+        }
+        case "Body":
+        default: {
+          return void 0;
         }
       }
-    };
-    exports2.BlobSetExpiryExceptionHeaders = {
-      serializedName: "Blob_setExpiryExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetExpiryExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    }
+    exports2.getOperationLocation = getOperationLocation;
+    function getOperationStatus({ rawResponse }, state) {
+      var _a;
+      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
+      switch (mode) {
+        case "OperationLocation": {
+          return getStatus(rawResponse);
+        }
+        case "ResourceLocation": {
+          return toOperationStatus(rawResponse.statusCode);
+        }
+        case "Body": {
+          return getProvisioningState(rawResponse);
         }
+        default:
+          throw new Error(`Internal error: Unexpected operation mode: ${mode}`);
       }
-    };
-    exports2.BlobSetHttpHeadersHeaders = {
-      serializedName: "Blob_setHttpHeadersHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetHttpHeadersHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
+    }
+    exports2.getOperationStatus = getOperationStatus;
+    function accessBodyProperty({ flatResponse, rawResponse }, prop) {
+      var _a, _b;
+      return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop];
+    }
+    function getResourceLocation(res, state) {
+      const loc = accessBodyProperty(res, "resourceLocation");
+      if (loc && typeof loc === "string") {
+        state.config.resourceLocation = loc;
+      }
+      return state.config.resourceLocation;
+    }
+    exports2.getResourceLocation = getResourceLocation;
+    function isOperationError(e) {
+      return e.name === "RestError";
+    }
+    exports2.isOperationError = isOperationError;
+    async function pollHttpOperation(inputs) {
+      const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs;
+      return (0, operation_js_1.pollOperation)({
+        state,
+        stateProxy,
+        setDelay,
+        processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse,
+        getError: getErrorFromResponse,
+        updateState,
+        getPollingInterval: parseRetryAfter,
+        getOperationLocation,
+        getOperationStatus,
+        isOperationError,
+        getResourceLocation,
+        options,
+        /**
+         * The expansion here is intentional because `lro` could be an object that
+         * references an inner this, so we need to preserve a reference to it.
+         */
+        poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions),
+        setErrorAsResult
+      });
+    }
+    exports2.pollHttpOperation = pollHttpOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js
+var require_poller = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.buildCreatePoller = void 0;
+    var operation_js_1 = require_operation();
+    var constants_js_1 = require_constants16();
+    var core_util_1 = require_commonjs6();
+    var createStateProxy = () => ({
+      /**
+       * The state at this point is created to be of type OperationState.
+       * It will be updated later to be of type TState when the
+       * customer-provided callback, `updateState`, is called during polling.
+       */
+      initState: (config) => ({ status: "running", config }),
+      setCanceled: (state) => state.status = "canceled",
+      setError: (state, error3) => state.error = error3,
+      setResult: (state, result) => state.result = result,
+      setRunning: (state) => state.status = "running",
+      setSucceeded: (state) => state.status = "succeeded",
+      setFailed: (state) => state.status = "failed",
+      getError: (state) => state.error,
+      getResult: (state) => state.result,
+      isCanceled: (state) => state.status === "canceled",
+      isFailed: (state) => state.status === "failed",
+      isRunning: (state) => state.status === "running",
+      isSucceeded: (state) => state.status === "succeeded"
+    });
+    function buildCreatePoller(inputs) {
+      const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs;
+      return async ({ init, poll }, options) => {
+        const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {};
+        const stateProxy = createStateProxy();
+        const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => {
+          let called = false;
+          return (operationLocation, isUpdated) => {
+            if (isUpdated)
+              withOperationLocationCallback(operationLocation);
+            else if (!called)
+              withOperationLocationCallback(operationLocation);
+            called = true;
+          };
+        })() : void 0;
+        const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({
+          init,
+          stateProxy,
+          processResult,
+          getOperationStatus: getStatusFromInitialResponse,
+          withOperationLocation,
+          setErrorAsResult: !resolveOnUnsuccessful
+        });
+        let resultPromise;
+        const abortController = new AbortController();
+        const handlers = /* @__PURE__ */ new Map();
+        const handleProgressEvents = async () => handlers.forEach((h) => h(state));
+        const cancelErrMsg = "Operation was canceled";
+        let currentPollIntervalInMs = intervalInMs;
+        const poller = {
+          getOperationState: () => state,
+          getResult: () => state.result,
+          isDone: () => ["succeeded", "failed", "canceled"].includes(state.status),
+          isStopped: () => resultPromise === void 0,
+          stopPolling: () => {
+            abortController.abort();
           },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+          toString: () => JSON.stringify({
+            state
+          }),
+          onProgress: (callback) => {
+            const s = /* @__PURE__ */ Symbol();
+            handlers.set(s, callback);
+            return () => handlers.delete(s);
           },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
+          pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => {
+            const { abortSignal: inputAbortSignal } = pollOptions || {};
+            function abortListener() {
+              abortController.abort();
             }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
+            const abortSignal = abortController.signal;
+            if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
+              abortController.abort();
+            } else if (!abortSignal.aborted) {
+              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
             }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
+            try {
+              if (!poller.isDone()) {
+                await poller.poll({ abortSignal });
+                while (!poller.isDone()) {
+                  await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal });
+                  await poller.poll({ abortSignal });
+                }
+              }
+            } finally {
+              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
             }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
+            if (resolveOnUnsuccessful) {
+              return poller.getResult();
+            } else {
+              switch (state.status) {
+                case "succeeded":
+                  return poller.getResult();
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+                case "notStarted":
+                case "running":
+                  throw new Error(`Polling completed without succeeding or failing`);
+              }
             }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
+          })().finally(() => {
+            resultPromise = void 0;
+          }),
+          async poll(pollOptions) {
+            if (resolveOnUnsuccessful) {
+              if (poller.isDone())
+                return;
+            } else {
+              switch (state.status) {
+                case "succeeded":
+                  return;
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+              }
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            await (0, operation_js_1.pollOperation)({
+              poll,
+              state,
+              stateProxy,
+              getOperationLocation,
+              isOperationError,
+              withOperationLocation,
+              getPollingInterval,
+              getOperationStatus: getStatusFromPollResponse,
+              getResourceLocation,
+              processResult,
+              getError,
+              updateState,
+              options: pollOptions,
+              setDelay: (pollIntervalInMs) => {
+                currentPollIntervalInMs = pollIntervalInMs;
+              },
+              setErrorAsResult: !resolveOnUnsuccessful
+            });
+            await handleProgressEvents();
+            if (!resolveOnUnsuccessful) {
+              switch (state.status) {
+                case "canceled":
+                  throw new Error(cancelErrMsg);
+                case "failed":
+                  throw state.error;
+              }
             }
           }
+        };
+        return poller;
+      };
+    }
+    exports2.buildCreatePoller = buildCreatePoller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/http/poller.js
+var require_poller2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpPoller = void 0;
+    var operation_js_1 = require_operation2();
+    var poller_js_1 = require_poller();
+    async function createHttpPoller(lro, options) {
+      const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {};
+      return (0, poller_js_1.buildCreatePoller)({
+        getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse,
+        getStatusFromPollResponse: operation_js_1.getOperationStatus,
+        isOperationError: operation_js_1.isOperationError,
+        getOperationLocation: operation_js_1.getOperationLocation,
+        getResourceLocation: operation_js_1.getResourceLocation,
+        getPollingInterval: operation_js_1.parseRetryAfter,
+        getError: operation_js_1.getErrorFromResponse,
+        resolveOnUnsuccessful
+      })({
+        init: async () => {
+          const response = await lro.sendInitialRequest();
+          const config = (0, operation_js_1.inferLroMode)({
+            rawResponse: response.rawResponse,
+            requestPath: lro.requestPath,
+            requestMethod: lro.requestMethod,
+            resourceLocationConfig
+          });
+          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
+        },
+        poll: lro.sendPollRequest
+      }, {
+        intervalInMs,
+        withOperationLocation,
+        restoreFrom,
+        updateState,
+        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse
+      });
+    }
+    exports2.createHttpPoller = createHttpPoller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js
+var require_operation3 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GenericPollOperation = void 0;
+    var operation_js_1 = require_operation2();
+    var logger_js_1 = require_logger2();
+    var createStateProxy = () => ({
+      initState: (config) => ({ config, isStarted: true }),
+      setCanceled: (state) => state.isCancelled = true,
+      setError: (state, error3) => state.error = error3,
+      setResult: (state, result) => state.result = result,
+      setRunning: (state) => state.isStarted = true,
+      setSucceeded: (state) => state.isCompleted = true,
+      setFailed: () => {
+      },
+      getError: (state) => state.error,
+      getResult: (state) => state.result,
+      isCanceled: (state) => !!state.isCancelled,
+      isFailed: (state) => !!state.error,
+      isRunning: (state) => !!state.isStarted,
+      isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error)
+    });
+    var GenericPollOperation = class {
+      constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) {
+        this.state = state;
+        this.lro = lro;
+        this.setErrorAsResult = setErrorAsResult;
+        this.lroResourceLocationConfig = lroResourceLocationConfig;
+        this.processResult = processResult;
+        this.updateState = updateState;
+        this.isDone = isDone;
+      }
+      setPollerConfig(pollerConfig) {
+        this.pollerConfig = pollerConfig;
+      }
+      async update(options) {
+        var _a;
+        const stateProxy = createStateProxy();
+        if (!this.state.isStarted) {
+          this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({
+            lro: this.lro,
+            stateProxy,
+            resourceLocationConfig: this.lroResourceLocationConfig,
+            processResult: this.processResult,
+            setErrorAsResult: this.setErrorAsResult
+          }));
+        }
+        const updateState = this.updateState;
+        const isDone = this.isDone;
+        if (!this.state.isCompleted && this.state.error === void 0) {
+          await (0, operation_js_1.pollHttpOperation)({
+            lro: this.lro,
+            state: this.state,
+            stateProxy,
+            processResult: this.processResult,
+            updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0,
+            isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0,
+            options,
+            setDelay: (intervalInMs) => {
+              this.pollerConfig.intervalInMs = intervalInMs;
+            },
+            setErrorAsResult: this.setErrorAsResult
+          });
         }
+        (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state);
+        return this;
+      }
+      async cancel() {
+        logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented");
+        return this;
+      }
+      /**
+       * Serializes the Poller operation.
+       */
+      toString() {
+        return JSON.stringify({
+          state: this.state
+        });
       }
     };
-    exports2.BlobSetHttpHeadersExceptionHeaders = {
-      serializedName: "Blob_setHttpHeadersExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetHttpHeadersExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.GenericPollOperation = GenericPollOperation;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js
+var require_poller3 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0;
+    var PollerStoppedError = class _PollerStoppedError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "PollerStoppedError";
+        Object.setPrototypeOf(this, _PollerStoppedError.prototype);
       }
     };
-    exports2.BlobSetImmutabilityPolicyHeaders = {
-      serializedName: "Blob_setImmutabilityPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetImmutabilityPolicyHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyExpiry: {
-            serializedName: "x-ms-immutability-policy-until-date",
-            xmlName: "x-ms-immutability-policy-until-date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          immutabilityPolicyMode: {
-            serializedName: "x-ms-immutability-policy-mode",
-            xmlName: "x-ms-immutability-policy-mode",
-            type: {
-              name: "Enum",
-              allowedValues: ["Mutable", "Unlocked", "Locked"]
-            }
-          }
-        }
+    exports2.PollerStoppedError = PollerStoppedError;
+    var PollerCancelledError = class _PollerCancelledError extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "PollerCancelledError";
+        Object.setPrototypeOf(this, _PollerCancelledError.prototype);
       }
     };
-    exports2.BlobSetImmutabilityPolicyExceptionHeaders = {
-      serializedName: "Blob_setImmutabilityPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetImmutabilityPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.PollerCancelledError = PollerCancelledError;
+    var Poller = class {
+      /**
+       * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`.
+       *
+       * When writing an implementation of a Poller, this implementation needs to deal with the initialization
+       * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's
+       * operation has already been defined, at least its basic properties. The code below shows how to approach
+       * the definition of the constructor of a new custom poller.
+       *
+       * ```ts
+       * export class MyPoller extends Poller {
+       *   constructor({
+       *     // Anything you might need outside of the basics
+       *   }) {
+       *     let state: MyOperationState = {
+       *       privateProperty: private,
+       *       publicProperty: public,
+       *     };
+       *
+       *     const operation = {
+       *       state,
+       *       update,
+       *       cancel,
+       *       toString
+       *     }
+       *
+       *     // Sending the operation to the parent's constructor.
+       *     super(operation);
+       *
+       *     // You can assign more local properties here.
+       *   }
+       * }
+       * ```
+       *
+       * Inside of this constructor, a new promise is created. This will be used to
+       * tell the user when the poller finishes (see `pollUntilDone()`). The promise's
+       * resolve and reject methods are also used internally to control when to resolve
+       * or reject anyone waiting for the poller to finish.
+       *
+       * The constructor of a custom implementation of a poller is where any serialized version of
+       * a previous poller's operation should be deserialized into the operation sent to the
+       * base constructor. For example:
+       *
+       * ```ts
+       * export class MyPoller extends Poller {
+       *   constructor(
+       *     baseOperation: string | undefined
+       *   ) {
+       *     let state: MyOperationState = {};
+       *     if (baseOperation) {
+       *       state = {
+       *         ...JSON.parse(baseOperation).state,
+       *         ...state
+       *       };
+       *     }
+       *     const operation = {
+       *       state,
+       *       // ...
+       *     }
+       *     super(operation);
+       *   }
+       * }
+       * ```
+       *
+       * @param operation - Must contain the basic properties of `PollOperation`.
+       */
+      constructor(operation) {
+        this.resolveOnUnsuccessful = false;
+        this.stopped = true;
+        this.pollProgressCallbacks = [];
+        this.operation = operation;
+        this.promise = new Promise((resolve2, reject) => {
+          this.resolve = resolve2;
+          this.reject = reject;
+        });
+        this.promise.catch(() => {
+        });
+      }
+      /**
+       * Starts a loop that will break only if the poller is done
+       * or if the poller is stopped.
+       */
+      async startPolling(pollOptions = {}) {
+        if (this.stopped) {
+          this.stopped = false;
+        }
+        while (!this.isStopped() && !this.isDone()) {
+          await this.poll(pollOptions);
+          await this.delay();
         }
       }
-    };
-    exports2.BlobDeleteImmutabilityPolicyHeaders = {
-      serializedName: "Blob_deleteImmutabilityPolicyHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteImmutabilityPolicyHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+      /**
+       * pollOnce does one polling, by calling to the update method of the underlying
+       * poll operation to make any relevant change effective.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      async pollOnce(options = {}) {
+        if (!this.isDone()) {
+          this.operation = await this.operation.update({
+            abortSignal: options.abortSignal,
+            fireProgress: this.fireProgress.bind(this)
+          });
+        }
+        this.processUpdatedState();
+      }
+      /**
+       * fireProgress calls the functions passed in via onProgress the method of the poller.
+       *
+       * It loops over all of the callbacks received from onProgress, and executes them, sending them
+       * the current operation state.
+       *
+       * @param state - The current operation state.
+       */
+      fireProgress(state) {
+        for (const callback of this.pollProgressCallbacks) {
+          callback(state);
         }
       }
-    };
-    exports2.BlobDeleteImmutabilityPolicyExceptionHeaders = {
-      serializedName: "Blob_deleteImmutabilityPolicyExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobDeleteImmutabilityPolicyExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Invokes the underlying operation's cancel method.
+       */
+      async cancelOnce(options = {}) {
+        this.operation = await this.operation.cancel(options);
+      }
+      /**
+       * Returns a promise that will resolve once a single polling request finishes.
+       * It does this by calling the update method of the Poller's operation.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      poll(options = {}) {
+        if (!this.pollOncePromise) {
+          this.pollOncePromise = this.pollOnce(options);
+          const clearPollOncePromise = () => {
+            this.pollOncePromise = void 0;
+          };
+          this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject);
         }
+        return this.pollOncePromise;
       }
-    };
-    exports2.BlobSetLegalHoldHeaders = {
-      serializedName: "Blob_setLegalHoldHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetLegalHoldHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          legalHold: {
-            serializedName: "x-ms-legal-hold",
-            xmlName: "x-ms-legal-hold",
-            type: {
-              name: "Boolean"
-            }
+      processUpdatedState() {
+        if (this.operation.state.error) {
+          this.stopped = true;
+          if (!this.resolveOnUnsuccessful) {
+            this.reject(this.operation.state.error);
+            throw this.operation.state.error;
           }
         }
-      }
-    };
-    exports2.BlobSetLegalHoldExceptionHeaders = {
-      serializedName: "Blob_setLegalHoldExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetLegalHoldExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+        if (this.operation.state.isCancelled) {
+          this.stopped = true;
+          if (!this.resolveOnUnsuccessful) {
+            const error3 = new PollerCancelledError("Operation was canceled");
+            this.reject(error3);
+            throw error3;
           }
         }
+        if (this.isDone() && this.resolve) {
+          this.resolve(this.getResult());
+        }
       }
-    };
-    exports2.BlobSetMetadataHeaders = {
-      serializedName: "Blob_setMetadataHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetMetadataHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns a promise that will resolve once the underlying operation is completed.
+       */
+      async pollUntilDone(pollOptions = {}) {
+        if (this.stopped) {
+          this.startPolling(pollOptions).catch(this.reject);
         }
+        this.processUpdatedState();
+        return this.promise;
       }
-    };
-    exports2.BlobSetMetadataExceptionHeaders = {
-      serializedName: "Blob_setMetadataExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetMetadataExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Invokes the provided callback after each polling is completed,
+       * sending the current state of the poller's operation.
+       *
+       * It returns a method that can be used to stop receiving updates on the given callback function.
+       */
+      onProgress(callback) {
+        this.pollProgressCallbacks.push(callback);
+        return () => {
+          this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback);
+        };
+      }
+      /**
+       * Returns true if the poller has finished polling.
+       */
+      isDone() {
+        const state = this.operation.state;
+        return Boolean(state.isCompleted || state.isCancelled || state.error);
+      }
+      /**
+       * Stops the poller from continuing to poll.
+       */
+      stopPolling() {
+        if (!this.stopped) {
+          this.stopped = true;
+          if (this.reject) {
+            this.reject(new PollerStoppedError("This poller is already stopped"));
           }
         }
       }
-    };
-    exports2.BlobAcquireLeaseHeaders = {
-      serializedName: "Blob_acquireLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAcquireLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+      /**
+       * Returns true if the poller is stopped.
+       */
+      isStopped() {
+        return this.stopped;
+      }
+      /**
+       * Attempts to cancel the underlying operation.
+       *
+       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
+       *
+       * If it's called again before it finishes, it will throw an error.
+       *
+       * @param options - Optional properties passed to the operation's update method.
+       */
+      cancelOperation(options = {}) {
+        if (!this.cancelPromise) {
+          this.cancelPromise = this.cancelOnce(options);
+        } else if (options.abortSignal) {
+          throw new Error("A cancel request is currently pending");
         }
+        return this.cancelPromise;
+      }
+      /**
+       * Returns the state of the operation.
+       *
+       * Even though TState will be the same type inside any of the methods of any extension of the Poller class,
+       * implementations of the pollers can customize what's shared with the public by writing their own
+       * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller
+       * and a public type representing a safe to share subset of the properties of the internal state.
+       * Their definition of getOperationState can then return their public type.
+       *
+       * Example:
+       *
+       * ```ts
+       * // Let's say we have our poller's operation state defined as:
+       * interface MyOperationState extends PollOperationState {
+       *   privateProperty?: string;
+       *   publicProperty?: string;
+       * }
+       *
+       * // To allow us to have a true separation of public and private state, we have to define another interface:
+       * interface PublicState extends PollOperationState {
+       *   publicProperty?: string;
+       * }
+       *
+       * // Then, we define our Poller as follows:
+       * export class MyPoller extends Poller {
+       *   // ... More content is needed here ...
+       *
+       *   public getOperationState(): PublicState {
+       *     const state: PublicState = this.operation.state;
+       *     return {
+       *       // Properties from PollOperationState
+       *       isStarted: state.isStarted,
+       *       isCompleted: state.isCompleted,
+       *       isCancelled: state.isCancelled,
+       *       error: state.error,
+       *       result: state.result,
+       *
+       *       // The only other property needed by PublicState.
+       *       publicProperty: state.publicProperty
+       *     }
+       *   }
+       * }
+       * ```
+       *
+       * You can see this in the tests of this repository, go to the file:
+       * `../test/utils/testPoller.ts`
+       * and look for the getOperationState implementation.
+       */
+      getOperationState() {
+        return this.operation.state;
+      }
+      /**
+       * Returns the result value of the operation,
+       * regardless of the state of the poller.
+       * It can return undefined or an incomplete form of the final TResult value
+       * depending on the implementation.
+       */
+      getResult() {
+        const state = this.operation.state;
+        return state.result;
+      }
+      /**
+       * Returns a serialized version of the poller's operation
+       * by invoking the operation's toString method.
+       */
+      toString() {
+        return this.operation.toString();
       }
     };
-    exports2.BlobAcquireLeaseExceptionHeaders = {
-      serializedName: "Blob_acquireLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAcquireLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+    exports2.Poller = Poller;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js
+var require_lroEngine = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LroEngine = void 0;
+    var operation_js_1 = require_operation3();
+    var constants_js_1 = require_constants16();
+    var poller_js_1 = require_poller3();
+    var operation_js_2 = require_operation();
+    var LroEngine = class extends poller_js_1.Poller {
+      constructor(lro, options) {
+        const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {};
+        const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {};
+        const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone);
+        super(operation);
+        this.resolveOnUnsuccessful = resolveOnUnsuccessful;
+        this.config = { intervalInMs };
+        operation.setPollerConfig(this.config);
+      }
+      /**
+       * The method used by the poller to wait before attempting to update its operation.
+       */
+      delay() {
+        return new Promise((resolve2) => setTimeout(() => resolve2(), this.config.intervalInMs));
       }
     };
-    exports2.BlobReleaseLeaseHeaders = {
-      serializedName: "Blob_releaseLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobReleaseLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+    exports2.LroEngine = LroEngine;
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js
+var require_lroEngine2 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LroEngine = void 0;
+    var lroEngine_js_1 = require_lroEngine();
+    Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() {
+      return lroEngine_js_1.LroEngine;
+    } });
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js
+var require_pollOperation = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/core-lro/dist/commonjs/index.js
+var require_commonjs16 = __commonJS({
+  "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createHttpPoller = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var poller_js_1 = require_poller2();
+    Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() {
+      return poller_js_1.createHttpPoller;
+    } });
+    tslib_1.__exportStar(require_lroEngine2(), exports2);
+    tslib_1.__exportStar(require_poller3(), exports2);
+    tslib_1.__exportStar(require_pollOperation(), exports2);
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js
+var require_BlobStartCopyFromUrlPoller = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBeginCopyFromUrlPoller = void 0;
+    var core_util_1 = require_commonjs6();
+    var core_lro_1 = require_commonjs16();
+    var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller {
+      intervalInMs;
+      constructor(options) {
+        const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options;
+        let state;
+        if (resumeFrom) {
+          state = JSON.parse(resumeFrom).state;
         }
-      }
-    };
-    exports2.BlobReleaseLeaseExceptionHeaders = {
-      serializedName: "Blob_releaseLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobReleaseLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        const operation = makeBlobBeginCopyFromURLPollOperation({
+          ...state,
+          blobClient,
+          copySource,
+          startCopyFromURLOptions
+        });
+        super(operation);
+        if (typeof onProgress === "function") {
+          this.onProgress(onProgress);
         }
+        this.intervalInMs = intervalInMs;
+      }
+      delay() {
+        return (0, core_util_1.delay)(this.intervalInMs);
       }
     };
-    exports2.BlobRenewLeaseHeaders = {
-      serializedName: "Blob_renewLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobRenewLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
-        }
+    exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller;
+    var cancel = async function cancel2(options = {}) {
+      const state = this.state;
+      const { copyId } = state;
+      if (state.isCompleted) {
+        return makeBlobBeginCopyFromURLPollOperation(state);
+      }
+      if (!copyId) {
+        state.isCancelled = true;
+        return makeBlobBeginCopyFromURLPollOperation(state);
       }
+      await state.blobClient.abortCopyFromURL(copyId, {
+        abortSignal: options.abortSignal
+      });
+      state.isCancelled = true;
+      return makeBlobBeginCopyFromURLPollOperation(state);
     };
-    exports2.BlobRenewLeaseExceptionHeaders = {
-      serializedName: "Blob_renewLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobRenewLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    var update = async function update2(options = {}) {
+      const state = this.state;
+      const { blobClient, copySource, startCopyFromURLOptions } = state;
+      if (!state.isStarted) {
+        state.isStarted = true;
+        const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions);
+        state.copyId = result.copyId;
+        if (result.copyStatus === "success") {
+          state.result = result;
+          state.isCompleted = true;
+        }
+      } else if (!state.isCompleted) {
+        try {
+          const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal });
+          const { copyStatus, copyProgress } = result;
+          const prevCopyProgress = state.copyProgress;
+          if (copyProgress) {
+            state.copyProgress = copyProgress;
+          }
+          if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") {
+            options.fireProgress(state);
+          } else if (copyStatus === "success") {
+            state.result = result;
+            state.isCompleted = true;
+          } else if (copyStatus === "failed") {
+            state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`);
+            state.isCompleted = true;
           }
+        } catch (err) {
+          state.error = err;
+          state.isCompleted = true;
         }
       }
+      return makeBlobBeginCopyFromURLPollOperation(state);
     };
-    exports2.BlobChangeLeaseHeaders = {
-      serializedName: "Blob_changeLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobChangeLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          leaseId: {
-            serializedName: "x-ms-lease-id",
-            xmlName: "x-ms-lease-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          }
+    var toString2 = function toString3() {
+      return JSON.stringify({ state: this.state }, (key, value) => {
+        if (key === "blobClient") {
+          return void 0;
         }
-      }
+        return value;
+      });
     };
-    exports2.BlobChangeLeaseExceptionHeaders = {
-      serializedName: "Blob_changeLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobChangeLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    function makeBlobBeginCopyFromURLPollOperation(state) {
+      return {
+        state: { ...state },
+        cancel,
+        toString: toString2,
+        update
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/Range.js
+var require_Range = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.rangeToString = rangeToString;
+    function rangeToString(iRange) {
+      if (iRange.offset < 0) {
+        throw new RangeError(`Range.offset cannot be smaller than 0.`);
+      }
+      if (iRange.count && iRange.count <= 0) {
+        throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`);
+      }
+      return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`;
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js
+var require_Batch = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Batch = void 0;
+    var events_1 = require("events");
+    var BatchStates;
+    (function(BatchStates2) {
+      BatchStates2[BatchStates2["Good"] = 0] = "Good";
+      BatchStates2[BatchStates2["Error"] = 1] = "Error";
+    })(BatchStates || (BatchStates = {}));
+    var Batch = class {
+      /**
+       * Concurrency. Must be lager than 0.
+       */
+      concurrency;
+      /**
+       * Number of active operations under execution.
+       */
+      actives = 0;
+      /**
+       * Number of completed operations under execution.
+       */
+      completed = 0;
+      /**
+       * Offset of next operation to be executed.
+       */
+      offset = 0;
+      /**
+       * Operation array to be executed.
+       */
+      operations = [];
+      /**
+       * States of Batch. When an error happens, state will turn into error.
+       * Batch will stop execute left operations.
+       */
+      state = BatchStates.Good;
+      /**
+       * A private emitter used to pass events inside this class.
+       */
+      emitter;
+      /**
+       * Creates an instance of Batch.
+       * @param concurrency -
+       */
+      constructor(concurrency = 5) {
+        if (concurrency < 1) {
+          throw new RangeError("concurrency must be larger than 0");
         }
+        this.concurrency = concurrency;
+        this.emitter = new events_1.EventEmitter();
       }
-    };
-    exports2.BlobBreakLeaseHeaders = {
-      serializedName: "Blob_breakLeaseHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobBreakLeaseHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          leaseTime: {
-            serializedName: "x-ms-lease-time",
-            xmlName: "x-ms-lease-time",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
+      /**
+       * Add a operation into queue.
+       *
+       * @param operation -
+       */
+      addOperation(operation) {
+        this.operations.push(async () => {
+          try {
+            this.actives++;
+            await operation();
+            this.actives--;
+            this.completed++;
+            this.parallelExecute();
+          } catch (error3) {
+            this.emitter.emit("error", error3);
           }
+        });
+      }
+      /**
+       * Start execute operations in the queue.
+       *
+       */
+      async do() {
+        if (this.operations.length === 0) {
+          return Promise.resolve();
         }
+        this.parallelExecute();
+        return new Promise((resolve2, reject) => {
+          this.emitter.on("finish", resolve2);
+          this.emitter.on("error", (error3) => {
+            this.state = BatchStates.Error;
+            reject(error3);
+          });
+        });
       }
-    };
-    exports2.BlobBreakLeaseExceptionHeaders = {
-      serializedName: "Blob_breakLeaseExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobBreakLeaseExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Get next operation to be executed. Return null when reaching ends.
+       *
+       */
+      nextOperation() {
+        if (this.offset < this.operations.length) {
+          return this.operations[this.offset++];
         }
+        return null;
       }
-    };
-    exports2.BlobCreateSnapshotHeaders = {
-      serializedName: "Blob_createSnapshotHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCreateSnapshotHeaders",
-        modelProperties: {
-          snapshot: {
-            serializedName: "x-ms-snapshot",
-            xmlName: "x-ms-snapshot",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Start execute operations. One one the most important difference between
+       * this method with do() is that do() wraps as an sync method.
+       *
+       */
+      parallelExecute() {
+        if (this.state === BatchStates.Error) {
+          return;
+        }
+        if (this.completed >= this.operations.length) {
+          this.emitter.emit("finish");
+          return;
         }
-      }
-    };
-    exports2.BlobCreateSnapshotExceptionHeaders = {
-      serializedName: "Blob_createSnapshotExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCreateSnapshotExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+        while (this.actives < this.concurrency) {
+          const operation = this.nextOperation();
+          if (operation) {
+            operation();
+          } else {
+            return;
           }
         }
       }
     };
-    exports2.BlobStartCopyFromURLHeaders = {
-      serializedName: "Blob_startCopyFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobStartCopyFromURLHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    exports2.Batch = Batch;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js
+var require_utils7 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.fsCreateReadStream = exports2.fsStat = void 0;
+    exports2.streamToBuffer = streamToBuffer;
+    exports2.streamToBuffer2 = streamToBuffer2;
+    exports2.streamToBuffer3 = streamToBuffer3;
+    exports2.readStreamToLocalFile = readStreamToLocalFile;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var node_fs_1 = tslib_1.__importDefault(require("node:fs"));
+    var node_util_1 = tslib_1.__importDefault(require("node:util"));
+    var constants_js_1 = require_constants14();
+    async function streamToBuffer(stream, buffer, offset, end, encoding) {
+      let pos = 0;
+      const count = end - offset;
+      return new Promise((resolve2, reject) => {
+        const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT);
+        stream.on("readable", () => {
+          if (pos >= count) {
+            clearTimeout(timeout);
+            resolve2();
+            return;
           }
-        }
+          let chunk = stream.read();
+          if (!chunk) {
+            return;
+          }
+          if (typeof chunk === "string") {
+            chunk = Buffer.from(chunk, encoding);
+          }
+          const chunkLength = pos + chunk.length > count ? count - pos : chunk.length;
+          buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength);
+          pos += chunkLength;
+        });
+        stream.on("end", () => {
+          clearTimeout(timeout);
+          if (pos < count) {
+            reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`));
+          }
+          resolve2();
+        });
+        stream.on("error", (msg) => {
+          clearTimeout(timeout);
+          reject(msg);
+        });
+      });
+    }
+    async function streamToBuffer2(stream, buffer, encoding) {
+      let pos = 0;
+      const bufferSize = buffer.length;
+      return new Promise((resolve2, reject) => {
+        stream.on("readable", () => {
+          let chunk = stream.read();
+          if (!chunk) {
+            return;
+          }
+          if (typeof chunk === "string") {
+            chunk = Buffer.from(chunk, encoding);
+          }
+          if (pos + chunk.length > bufferSize) {
+            reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`));
+            return;
+          }
+          buffer.fill(chunk, pos, pos + chunk.length);
+          pos += chunk.length;
+        });
+        stream.on("end", () => {
+          resolve2(pos);
+        });
+        stream.on("error", reject);
+      });
+    }
+    async function streamToBuffer3(readableStream, encoding) {
+      return new Promise((resolve2, reject) => {
+        const chunks = [];
+        readableStream.on("data", (data) => {
+          chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data);
+        });
+        readableStream.on("end", () => {
+          resolve2(Buffer.concat(chunks));
+        });
+        readableStream.on("error", reject);
+      });
+    }
+    async function readStreamToLocalFile(rs, file) {
+      return new Promise((resolve2, reject) => {
+        const ws = node_fs_1.default.createWriteStream(file);
+        rs.on("error", (err) => {
+          reject(err);
+        });
+        ws.on("error", (err) => {
+          reject(err);
+        });
+        ws.on("close", resolve2);
+        rs.pipe(ws);
+      });
+    }
+    exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat);
+    exports2.fsCreateReadStream = node_fs_1.default.createReadStream;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/Clients.js
+var require_Clients = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_auth_1 = require_commonjs9();
+    var core_util_1 = require_commonjs6();
+    var core_util_2 = require_commonjs6();
+    var BlobDownloadResponse_js_1 = require_BlobDownloadResponse();
+    var BlobQueryResponse_js_1 = require_BlobQueryResponse();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var models_js_1 = require_models2();
+    var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse();
+    var Pipeline_js_1 = require_Pipeline();
+    var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller();
+    var Range_js_1 = require_Range();
+    var StorageClient_js_1 = require_StorageClient();
+    var Batch_js_1 = require_Batch();
+    var storage_common_1 = require_commonjs15();
+    var constants_js_1 = require_constants14();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var utils_js_1 = require_utils7();
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
+    var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient {
+      /**
+       * blobContext provided by protocol layer.
+       */
+      blobContext;
+      _name;
+      _containerName;
+      _versionId;
+      _snapshot;
+      /**
+       * The name of the blob.
+       */
+      get name() {
+        return this._name;
       }
-    };
-    exports2.BlobStartCopyFromURLExceptionHeaders = {
-      serializedName: "Blob_startCopyFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobStartCopyFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
+      /**
+       * The name of the storage container the blob is associated with.
+       */
+      get containerName() {
+        return this._containerName;
+      }
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        options = options || {};
+        let pipeline;
+        let url;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
+            options = blobNameOrOptions;
+          }
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl());
+        this.blobContext = this.storageClientContext.blob;
+        this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT);
+        this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID);
       }
-    };
-    exports2.BlobCopyFromURLHeaders = {
-      serializedName: "Blob_copyFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCopyFromURLHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            defaultValue: "success",
-            isConstant: true,
-            serializedName: "x-ms-copy-status",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp
+       */
+      withSnapshot(snapshot) {
+        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * Creates a new BlobClient object pointing to a version of this blob.
+       * Provide "" will remove the versionId and return a Client to the base blob.
+       *
+       * @param versionId - The versionId.
+       * @returns A new BlobClient object pointing to the version of this blob.
+       */
+      withVersion(versionId) {
+        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline);
+      }
+      /**
+       * Creates a AppendBlobClient object.
+       *
+       */
+      getAppendBlobClient() {
+        return new AppendBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Creates a BlockBlobClient object.
+       *
+       */
+      getBlockBlobClient() {
+        return new BlockBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Creates a PageBlobClient object.
+       *
+       */
+      getPageBlobClient() {
+        return new PageBlobClient(this.url, this.pipeline);
+      }
+      /**
+       * Reads or downloads a blob from the system, including its metadata and properties.
+       * You can also call Get Blob to read a snapshot.
+       *
+       * * In Node.js, data returns in a Readable stream readableStreamBody
+       * * In browsers, data returns in a promise blobBody
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob
+       *
+       * @param offset - From which position of the blob to download, greater than or equal to 0
+       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
+       * @param options - Optional options to Blob Download operation.
+       *
+       *
+       * Example usage (Node.js):
+       *
+       * ```ts snippet:ReadmeSampleDownloadBlob_Node
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Get blob content from position 0 to the end
+       * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
+       * const downloadBlockBlobResponse = await blobClient.download();
+       * if (downloadBlockBlobResponse.readableStreamBody) {
+       *   const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody);
+       *   console.log(`Downloaded blob content: ${downloaded}`);
+       * }
+       *
+       * async function streamToString(stream: NodeJS.ReadableStream): Promise {
+       *   const result = await new Promise>((resolve, reject) => {
+       *     const chunks: Buffer[] = [];
+       *     stream.on("data", (data) => {
+       *       chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data));
+       *     });
+       *     stream.on("end", () => {
+       *       resolve(Buffer.concat(chunks));
+       *     });
+       *     stream.on("error", reject);
+       *   });
+       *   return result.toString();
+       * }
+       * ```
+       *
+       * Example usage (browser):
+       *
+       * ```ts snippet:ReadmeSampleDownloadBlob_Browser
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Get blob content from position 0 to the end
+       * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
+       * const downloadBlockBlobResponse = await blobClient.download();
+       * const blobBody = await downloadBlockBlobResponse.blobBody;
+       * if (blobBody) {
+       *   const downloaded = await blobBody.text();
+       *   console.log(`Downloaded blob content: ${downloaded}`);
+       * }
+       * ```
+       */
+      async download(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress
+              // for Node.js, progress is reported by RetriableReadableStream
+            },
+            range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
+            rangeGetContentMD5: options.rangeGetContentMD5,
+            rangeGetContentCRC64: options.rangeGetContentCrc64,
+            snapshot: options.snapshot,
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedRes = {
+            ...res,
+            _response: res._response,
+            // _response is made non-enumerable
+            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
+            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+          };
+          if (!core_util_1.isNodeLike) {
+            return wrappedRes;
           }
-        }
-      }
-    };
-    exports2.BlobCopyFromURLExceptionHeaders = {
-      serializedName: "Blob_copyFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobCopyFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
+          if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) {
+            options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS;
           }
-        }
-      }
-    };
-    exports2.BlobAbortCopyFromURLHeaders = {
-      serializedName: "Blob_abortCopyFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAbortCopyFromURLHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          if (res.contentLength === void 0) {
+            throw new RangeError(`File download response doesn't contain valid content length header`);
           }
-        }
+          if (!res.etag) {
+            throw new RangeError(`File download response doesn't contain valid etag header`);
+          }
+          return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => {
+            const updatedDownloadOptions = {
+              leaseAccessConditions: options.conditions,
+              modifiedAccessConditions: {
+                ifMatch: options.conditions.ifMatch || res.etag,
+                ifModifiedSince: options.conditions.ifModifiedSince,
+                ifNoneMatch: options.conditions.ifNoneMatch,
+                ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
+                ifTags: options.conditions?.tagConditions
+              },
+              range: (0, Range_js_1.rangeToString)({
+                count: offset + res.contentLength - start,
+                offset: start
+              }),
+              rangeGetContentMD5: options.rangeGetContentMD5,
+              rangeGetContentCRC64: options.rangeGetContentCrc64,
+              snapshot: options.snapshot,
+              cpkInfo: options.customerProvidedKey
+            };
+            return (await this.blobContext.download({
+              abortSignal: options.abortSignal,
+              ...updatedDownloadOptions
+            })).readableStreamBody;
+          }, offset, res.contentLength, {
+            maxRetryRequests: options.maxRetryRequests,
+            onProgress: options.onProgress
+          });
+        });
       }
-    };
-    exports2.BlobAbortCopyFromURLExceptionHeaders = {
-      serializedName: "Blob_abortCopyFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobAbortCopyFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Returns true if the Azure blob resource represented by this client exists; false otherwise.
+       *
+       * NOTE: use this function with care since an existing blob might be deleted by other clients or
+       * applications. Vice versa new blobs might be added by other clients or applications after this
+       * function completes.
+       *
+       * @param options - options to Exists operation.
+       */
+      async exists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => {
+          try {
+            (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+            await this.getProperties({
+              abortSignal: options.abortSignal,
+              customerProvidedKey: options.customerProvidedKey,
+              conditions: options.conditions,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            return true;
+          } catch (e) {
+            if (e.statusCode === 404) {
+              return false;
+            } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) {
+              return true;
             }
+            throw e;
           }
-        }
+        });
       }
-    };
-    exports2.BlobSetTierHeaders = {
-      serializedName: "Blob_setTierHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTierHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Returns all user-defined metadata, standard HTTP properties, and system properties
+       * for the blob. It does not return the content of the blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties
+       *
+       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
+       * they originally contained uppercase characters. This differs from the metadata keys returned by
+       * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which
+       * will retain their original casing.
+       *
+       * @param options - Optional options to Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return {
+            ...res,
+            _response: res._response,
+            // _response is made non-enumerable
+            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
+            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
+          };
+        });
+      }
+      /**
+       * Marks the specified blob or snapshot for deletion. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param options - Optional options to Blob Delete operation.
+       */
+      async delete(options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({
+            abortSignal: options.abortSignal,
+            deleteSnapshots: options.deleteSnapshots,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param options - Optional options to Blob Delete operation.
+       */
+      async deleteIfExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
+          try {
+            const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobNotFound") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
-        }
+        });
+      }
+      /**
+       * Restores the contents and metadata of soft deleted blob and any associated
+       * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29
+       * or later.
+       * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob
+       *
+       * @param options - Optional options to Blob Undelete operation.
+       */
+      async undelete(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets system properties on the blob.
+       *
+       * If no value provided, or no value provided for the specified blob HTTP headers,
+       * these blob HTTP headers without a value will be cleared.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param blobHTTPHeaders - If no value provided, or no value provided for
+       *                                                   the specified blob HTTP headers, these blob HTTP
+       *                                                   headers without a value will be cleared.
+       *                                                   A common header to set is `blobContentType`
+       *                                                   enabling the browser to provide functionality
+       *                                                   based on file type.
+       * @param options - Optional options to Blob Set HTTP Headers operation.
+       */
+      async setHTTPHeaders(blobHTTPHeaders, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets user-defined metadata for the specified blob as one or more name-value pairs.
+       *
+       * If no option provided, or no metadata defined in the parameter, the blob
+       * metadata will be removed.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata
+       *
+       * @param metadata - Replace existing metadata with this value.
+       *                               If no value provided the existing metadata will be removed.
+       * @param options - Optional options to Set Metadata operation.
+       */
+      async setMetadata(metadata, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets tags on the underlying blob.
+       * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters.  Tag values must be between 0 and 256 characters.
+       * Valid tag key and value characters include lower and upper case letters, digits (0-9),
+       * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').
+       *
+       * @param tags -
+       * @param options -
+       */
+      async setTags(tags, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions,
+            tags: (0, utils_common_js_1.toBlobTags)(tags)
+          }));
+        });
+      }
+      /**
+       * Gets the tags associated with the underlying blob.
+       *
+       * @param options -
+       */
+      async getTags(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {}
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Get a {@link BlobLeaseClient} that manages leases on the blob.
+       *
+       * @param proposeLeaseId - Initial proposed lease Id.
+       * @returns A new BlobLeaseClient object for managing leases on the blob.
+       */
+      getBlobLeaseClient(proposeLeaseId) {
+        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      }
+      /**
+       * Creates a read-only snapshot of a blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob
+       *
+       * @param options - Optional options to the Blob Create Snapshot operation.
+       */
+      async createSnapshot(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Asynchronously copies a blob to a destination within the storage account.
+       * This method returns a long running operation poller that allows you to wait
+       * indefinitely until the copy is completed.
+       * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller.
+       * Note that the onProgress callback will not be invoked if the operation completes in the first
+       * request, and attempting to cancel a completed copy will result in an error being thrown.
+       *
+       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
+       * a committed blob in any Azure storage account.
+       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
+       * an Azure file in any Azure storage account.
+       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
+       * operation to copy from another storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
+       *
+       * ```ts snippet:ClientsBeginCopyFromURL
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobClient = containerClient.getBlobClient(blobName);
+       *
+       * // Example using automatic polling
+       * const automaticCopyPoller = await blobClient.beginCopyFromURL("url");
+       * const automaticResult = await automaticCopyPoller.pollUntilDone();
+       *
+       * // Example using manual polling
+       * const manualCopyPoller = await blobClient.beginCopyFromURL("url");
+       * while (!manualCopyPoller.isDone()) {
+       *   await manualCopyPoller.poll();
+       * }
+       * const manualResult = manualCopyPoller.getResult();
+       *
+       * // Example using progress updates
+       * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", {
+       *   onProgress(state) {
+       *     console.log(`Progress: ${state.copyProgress}`);
+       *   },
+       * });
+       * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone();
+       *
+       * // Example using a changing polling interval (default 15 seconds)
+       * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", {
+       *   intervalInMs: 1000, // poll blob every 1 second for copy progress
+       * });
+       * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone();
+       *
+       * // Example using copy cancellation:
+       * const cancelCopyPoller = await blobClient.beginCopyFromURL("url");
+       * // cancel operation after starting it.
+       * try {
+       *   await cancelCopyPoller.cancelOperation();
+       *   // calls to get the result now throw PollerCancelledError
+       *   cancelCopyPoller.getResult();
+       * } catch (err: any) {
+       *   if (err.name === "PollerCancelledError") {
+       *     console.log("The copy was cancelled.");
+       *   }
+       * }
+       * ```
+       *
+       * @param copySource - url to the source Azure Blob/File.
+       * @param options - Optional options to the Blob Start Copy From URL operation.
+       */
+      async beginCopyFromURL(copySource, options = {}) {
+        const client = {
+          abortCopyFromURL: (...args) => this.abortCopyFromURL(...args),
+          getProperties: (...args) => this.getProperties(...args),
+          startCopyFromURL: (...args) => this.startCopyFromURL(...args)
+        };
+        const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({
+          blobClient: client,
+          copySource,
+          intervalInMs: options.intervalInMs,
+          onProgress: options.onProgress,
+          resumeFrom: options.resumeFrom,
+          startCopyFromURLOptions: options
+        });
+        await poller.poll();
+        return poller;
       }
-    };
-    exports2.BlobSetTierExceptionHeaders = {
-      serializedName: "Blob_setTierExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTierExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero
+       * length and full metadata. Version 2012-02-12 and newer.
+       * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob
+       *
+       * @param copyId - Id of the Copy From URL operation.
+       * @param options - Optional options to the Blob Abort Copy From URL operation.
+       */
+      async abortCopyFromURL(copyId, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.BlobGetAccountInfoHeaders = {
-      serializedName: "Blob_getAccountInfoHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetAccountInfoHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          skuName: {
-            serializedName: "x-ms-sku-name",
-            xmlName: "x-ms-sku-name",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Standard_LRS",
-                "Standard_GRS",
-                "Standard_RAGRS",
-                "Standard_ZRS",
-                "Premium_LRS"
-              ]
-            }
-          },
-          accountKind: {
-            serializedName: "x-ms-account-kind",
-            xmlName: "x-ms-account-kind",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "Storage",
-                "BlobStorage",
-                "StorageV2",
-                "FileStorage",
-                "BlockBlobStorage"
-              ]
-            }
-          },
-          isHierarchicalNamespaceEnabled: {
-            serializedName: "x-ms-is-hns-enabled",
-            xmlName: "x-ms-is-hns-enabled",
-            type: {
-              name: "Boolean"
-            }
-          }
-        }
+      /**
+       * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not
+       * return a response until the copy is complete.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url
+       *
+       * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication
+       * @param options -
+       */
+      async syncCopyFromURL(copySource, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, {
+            abortSignal: options.abortSignal,
+            metadata: options.metadata,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            sourceContentMD5: options.sourceContentMD5,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            encryptionScope: options.encryptionScope,
+            copySourceTags: options.copySourceTags,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.BlobGetAccountInfoExceptionHeaders = {
-      serializedName: "Blob_getAccountInfoExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetAccountInfoExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Sets the tier on a blob. The operation is allowed on a page blob in a premium
+       * storage account and on a block blob in a blob storage account (locally redundant
+       * storage only). A premium page blob's tier determines the allowed size, IOPS,
+       * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive
+       * storage type. This operation does not update the blob's ETag.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier
+       *
+       * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive.
+       * @param options - Optional options to the Blob Set Tier operation.
+       */
+      async setAccessTier(tier, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            rehydratePriority: options.rehydratePriority,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.BlobQueryHeaders = {
-      serializedName: "Blob_queryHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobQueryHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          metadata: {
-            serializedName: "x-ms-meta",
-            headerCollectionPrefix: "x-ms-meta-",
-            xmlName: "x-ms-meta",
-            type: {
-              name: "Dictionary",
-              value: { type: { name: "String" } }
-            }
-          },
-          contentLength: {
-            serializedName: "content-length",
-            xmlName: "content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          contentRange: {
-            serializedName: "content-range",
-            xmlName: "content-range",
-            type: {
-              name: "String"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          contentEncoding: {
-            serializedName: "content-encoding",
-            xmlName: "content-encoding",
-            type: {
-              name: "String"
-            }
-          },
-          cacheControl: {
-            serializedName: "cache-control",
-            xmlName: "cache-control",
-            type: {
-              name: "String"
-            }
-          },
-          contentDisposition: {
-            serializedName: "content-disposition",
-            xmlName: "content-disposition",
-            type: {
-              name: "String"
-            }
-          },
-          contentLanguage: {
-            serializedName: "content-language",
-            xmlName: "content-language",
-            type: {
-              name: "String"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          blobType: {
-            serializedName: "x-ms-blob-type",
-            xmlName: "x-ms-blob-type",
-            type: {
-              name: "Enum",
-              allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"]
-            }
-          },
-          copyCompletionTime: {
-            serializedName: "x-ms-copy-completion-time",
-            xmlName: "x-ms-copy-completion-time",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyStatusDescription: {
-            serializedName: "x-ms-copy-status-description",
-            xmlName: "x-ms-copy-status-description",
-            type: {
-              name: "String"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyProgress: {
-            serializedName: "x-ms-copy-progress",
-            xmlName: "x-ms-copy-progress",
-            type: {
-              name: "String"
-            }
-          },
-          copySource: {
-            serializedName: "x-ms-copy-source",
-            xmlName: "x-ms-copy-source",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          leaseDuration: {
-            serializedName: "x-ms-lease-duration",
-            xmlName: "x-ms-lease-duration",
-            type: {
-              name: "Enum",
-              allowedValues: ["infinite", "fixed"]
-            }
-          },
-          leaseState: {
-            serializedName: "x-ms-lease-state",
-            xmlName: "x-ms-lease-state",
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "available",
-                "leased",
-                "expired",
-                "breaking",
-                "broken"
-              ]
-            }
-          },
-          leaseStatus: {
-            serializedName: "x-ms-lease-status",
-            xmlName: "x-ms-lease-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["locked", "unlocked"]
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          acceptRanges: {
-            serializedName: "accept-ranges",
-            xmlName: "accept-ranges",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-server-encrypted",
-            xmlName: "x-ms-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentMD5: {
-            serializedName: "x-ms-blob-content-md5",
-            xmlName: "x-ms-blob-content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          contentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          }
+      async downloadToBuffer(param1, param2, param3, param4 = {}) {
+        let buffer;
+        let offset = 0;
+        let count = 0;
+        let options = param4;
+        if (param1 instanceof Buffer) {
+          buffer = param1;
+          offset = param2 || 0;
+          count = typeof param3 === "number" ? param3 : 0;
+        } else {
+          offset = typeof param1 === "number" ? param1 : 0;
+          count = typeof param2 === "number" ? param2 : 0;
+          options = param3 || {};
         }
-      }
-    };
-    exports2.BlobQueryExceptionHeaders = {
-      serializedName: "Blob_queryExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobQueryExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        let blockSize = options.blockSize ?? 0;
+        if (blockSize < 0) {
+          throw new RangeError("blockSize option must be >= 0");
         }
-      }
-    };
-    exports2.BlobGetTagsHeaders = {
-      serializedName: "Blob_getTagsHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetTagsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (blockSize === 0) {
+          blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
         }
-      }
-    };
-    exports2.BlobGetTagsExceptionHeaders = {
-      serializedName: "Blob_getTagsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobGetTagsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (offset < 0) {
+          throw new RangeError("offset option must be >= 0");
         }
-      }
-    };
-    exports2.BlobSetTagsHeaders = {
-      serializedName: "Blob_setTagsHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTagsHeaders",
-        modelProperties: {
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (count && count <= 0) {
+          throw new RangeError("count option must be greater than 0");
         }
-      }
-    };
-    exports2.BlobSetTagsExceptionHeaders = {
-      serializedName: "Blob_setTagsExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlobSetTagsExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+        if (!options.conditions) {
+          options.conditions = {};
         }
-      }
-    };
-    exports2.PageBlobCreateHeaders = {
-      serializedName: "PageBlob_createHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCreateHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
+          if (!count) {
+            const response = await this.getProperties({
+              ...options,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            count = response.contentLength - offset;
+            if (count < 0) {
+              throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
             }
           }
-        }
-      }
-    };
-    exports2.PageBlobCreateExceptionHeaders = {
-      serializedName: "PageBlob_createExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCreateExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+          if (!buffer) {
+            try {
+              buffer = Buffer.alloc(count);
+            } catch (error3) {
+              throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile".	 ${error3.message}`);
             }
           }
-        }
-      }
-    };
-    exports2.PageBlobUploadPagesHeaders = {
-      serializedName: "PageBlob_uploadPagesHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          if (buffer.length < count) {
+            throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`);
           }
-        }
-      }
-    };
-    exports2.PageBlobUploadPagesExceptionHeaders = {
-      serializedName: "PageBlob_uploadPagesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          let transferProgress = 0;
+          const batch = new Batch_js_1.Batch(options.concurrency);
+          for (let off = offset; off < offset + count; off = off + blockSize) {
+            batch.addOperation(async () => {
+              let chunkEnd = offset + count;
+              if (off + blockSize < chunkEnd) {
+                chunkEnd = off + blockSize;
+              }
+              const response = await this.download(off, chunkEnd - off, {
+                abortSignal: options.abortSignal,
+                conditions: options.conditions,
+                maxRetryRequests: options.maxRetryRequestsPerBlock,
+                customerProvidedKey: options.customerProvidedKey,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              const stream = response.readableStreamBody;
+              await (0, utils_js_1.streamToBuffer)(stream, buffer, off - offset, chunkEnd - offset);
+              transferProgress += chunkEnd - off;
+              if (options.onProgress) {
+                options.onProgress({ loadedBytes: transferProgress });
+              }
+            });
           }
-        }
+          await batch.do();
+          return buffer;
+        });
       }
-    };
-    exports2.PageBlobClearPagesHeaders = {
-      serializedName: "PageBlob_clearPagesHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobClearPagesHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Downloads an Azure Blob to a local file.
+       * Fails if the the given file path already exits.
+       * Offset and count are optional, pass 0 and undefined respectively to download the entire blob.
+       *
+       * @param filePath -
+       * @param offset - From which position of the block blob to download.
+       * @param count - How much data to be downloaded. Will download to the end when passing undefined.
+       * @param options - Options to Blob download options.
+       * @returns The response data for blob download operation,
+       *                                                 but with readableStreamBody set to undefined since its
+       *                                                 content is already read and written into a local file
+       *                                                 at the specified path.
+       */
+      async downloadToFile(filePath, offset = 0, count, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
+          const response = await this.download(offset, count, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          });
+          if (response.readableStreamBody) {
+            await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath);
           }
-        }
+          response.blobDownloadStream = void 0;
+          return response;
+        });
       }
-    };
-    exports2.PageBlobClearPagesExceptionHeaders = {
-      serializedName: "PageBlob_clearPagesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobClearPagesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      getBlobAndContainerNamesFromUrl() {
+        let containerName;
+        let blobName;
+        try {
+          const parsedUrl = new URL(this.url);
+          if (parsedUrl.host.split(".")[1] === "blob") {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
+            containerName = pathComponents[1];
+            blobName = pathComponents[3];
+          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?");
+            containerName = pathComponents[2];
+            blobName = pathComponents[4];
+          } else {
+            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
+            containerName = pathComponents[1];
+            blobName = pathComponents[3];
+          }
+          containerName = decodeURIComponent(containerName);
+          blobName = decodeURIComponent(blobName);
+          blobName = blobName.replace(/\\/g, "/");
+          if (!containerName) {
+            throw new Error("Provided containerName is invalid.");
           }
+          return { blobName, containerName };
+        } catch (error3) {
+          throw new Error("Unable to extract blobName and containerName with provided information.");
         }
       }
-    };
-    exports2.PageBlobUploadPagesFromURLHeaders = {
-      serializedName: "PageBlob_uploadPagesFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesFromURLHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Asynchronously copies a blob to a destination within the storage account.
+       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
+       * a committed blob in any Azure storage account.
+       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
+       * an Azure file in any Azure storage account.
+       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
+       * operation to copy from another storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
+       *
+       * @param copySource - url to the source Azure Blob/File.
+       * @param options - Optional options to the Blob Start Copy From URL operation.
+       */
+      async startCopyFromURL(copySource, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
+          options.conditions = options.conditions || {};
+          options.sourceConditions = options.sourceConditions || {};
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
+              sourceIfTags: options.sourceConditions.tagConditions
+            },
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            rehydratePriority: options.rehydratePriority,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            sealBlob: options.sealBlob,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasUrl(options) {
+        return new Promise((resolve2) => {
+          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
           }
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            blobName: this._name,
+            snapshotTime: this._snapshot,
+            versionId: this._versionId,
+            ...options
+          }, this.credential).toString();
+          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
+      generateSasStringToSign(options) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
         }
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          blobName: this._name,
+          snapshotTime: this._snapshot,
+          versionId: this._versionId,
+          ...options
+        }, this.credential).stringToSign;
+      }
+      /**
+       *
+       * Generates a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasUrl(options, userDelegationKey) {
+        return new Promise((resolve2) => {
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            blobName: this._name,
+            snapshotTime: this._snapshot,
+            versionId: this._versionId,
+            ...options
+          }, userDelegationKey, this.accountName).toString();
+          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
+      }
+      /**
+       * Only available for BlobClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasStringToSign(options, userDelegationKey) {
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          blobName: this._name,
+          snapshotTime: this._snapshot,
+          versionId: this._versionId,
+          ...options
+        }, userDelegationKey, this.accountName).stringToSign;
+      }
+      /**
+       * Delete the immutablility policy on the blob.
+       *
+       * @param options - Optional options to delete immutability policy on the blob.
+       */
+      async deleteImmutabilityPolicy(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Set immutability policy on the blob.
+       *
+       * @param options - Optional options to set immutability policy on the blob.
+       */
+      async setImmutabilityPolicy(immutabilityPolicy, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({
+            immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn,
+            immutabilityPolicyMode: immutabilityPolicy.policyMode,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Set legal hold on the blob.
+       *
+       * @param options - Optional options to set legal hold on the blob.
+       */
+      async setLegalHold(legalHoldEnabled, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, {
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.PageBlobUploadPagesFromURLExceptionHeaders = {
-      serializedName: "PageBlob_uploadPagesFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUploadPagesFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
+    exports2.BlobClient = BlobClient;
+    var AppendBlobClient = class _AppendBlobClient extends BlobClient {
+      /**
+       * appendBlobsContext provided by protocol layer.
+       */
+      appendBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        this.appendBlobContext = this.storageClientContext.appendBlob;
       }
-    };
-    exports2.PageBlobGetPageRangesHeaders = {
-      serializedName: "PageBlob_getPageRangesHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentLength: {
-            serializedName: "x-ms-blob-content-length",
-            xmlName: "x-ms-blob-content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Creates a new AppendBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param options - Options to the Append Block Create operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsCreateAppendBlob
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * const appendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await appendBlobClient.create();
+       * ```
+       */
+      async create(options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
+       * If the blob with the same name already exists, the content of the existing blob will remain unchanged.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param options -
+       */
+      async createIfNotExists(options = {}) {
+        const conditions = { ifNoneMatch: constants_js_1.ETagAny };
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const res = (0, utils_common_js_1.assertResponse)(await this.create({
+              ...updatedOptions,
+              conditions
+            }));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
-        }
+        });
       }
-    };
-    exports2.PageBlobGetPageRangesExceptionHeaders = {
-      serializedName: "PageBlob_getPageRangesExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Seals the append blob, making it read only.
+       *
+       * @param options -
+       */
+      async seal(options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({
+            abortSignal: options.abortSignal,
+            appendPositionAccessConditions: options.conditions,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Commits a new block of data to the end of the existing append blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/append-block
+       *
+       * @param body - Data to be appended.
+       * @param contentLength - Length of the body in bytes.
+       * @param options - Options to the Append Block operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsAppendBlock
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * const content = "Hello World!";
+       *
+       * // Create a new append blob and append data to the blob.
+       * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await newAppendBlobClient.create();
+       * await newAppendBlobClient.appendBlock(content, content.length);
+       *
+       * // Append data to an existing append blob.
+       * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName);
+       * await existingAppendBlobClient.appendBlock(content, content.length);
+       * ```
+       */
+      async appendBlock(body, contentLength, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, {
+            abortSignal: options.abortSignal,
+            appendPositionAccessConditions: options.conditions,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Append Block operation commits a new block of data to the end of an existing append blob
+       * where the contents are read from a source url.
+       * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url
+       *
+       * @param sourceURL -
+       *                 The url to the blob that will be the source of the copy. A source blob in the same storage account can
+       *                 be authenticated via Shared Key. However, if the source is a blob in another account, the source blob
+       *                 must either be public or must be authenticated via a shared access signature. If the source blob is
+       *                 public, no authentication is required to perform the operation.
+       * @param sourceOffset - Offset in source to be appended
+       * @param count - Number of bytes to be appended as a block
+       * @param options -
+       */
+      async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
+            abortSignal: options.abortSignal,
+            sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }),
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            leaseAccessConditions: options.conditions,
+            appendPositionAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.PageBlobGetPageRangesDiffHeaders = {
-      serializedName: "PageBlob_getPageRangesDiffHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesDiffHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentLength: {
-            serializedName: "x-ms-blob-content-length",
-            xmlName: "x-ms-blob-content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.AppendBlobClient = AppendBlobClient;
+    var BlockBlobClient = class _BlockBlobClient extends BlobClient {
+      /**
+       * blobContext provided by protocol layer.
+       *
+       * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API
+       * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient.
+       */
+      _blobContext;
+      /**
+       * blockBlobContext provided by protocol layer.
+       */
+      blockBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
+            options = blobNameOrOptions;
+          }
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        this.blockBlobContext = this.storageClientContext.blockBlob;
+        this._blobContext = this.storageClientContext.blob;
       }
-    };
-    exports2.PageBlobGetPageRangesDiffExceptionHeaders = {
-      serializedName: "PageBlob_getPageRangesDiffExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobGetPageRangesDiffExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Creates a new BlockBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a URL to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Quick query for a JSON or CSV formatted blob.
+       *
+       * Example usage (Node.js):
+       *
+       * ```ts snippet:ClientsQuery
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * // Query and convert a blob to a string
+       * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage");
+       * if (queryBlockBlobResponse.readableStreamBody) {
+       *   const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody);
+       *   const downloaded = downloadedBuffer.toString();
+       *   console.log(`Query blob content: ${downloaded}`);
+       * }
+       *
+       * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise {
+       *   return new Promise((resolve, reject) => {
+       *     const chunks: Buffer[] = [];
+       *     readableStream.on("data", (data) => {
+       *       chunks.push(data instanceof Buffer ? data : Buffer.from(data));
+       *     });
+       *     readableStream.on("end", () => {
+       *       resolve(Buffer.concat(chunks));
+       *     });
+       *     readableStream.on("error", reject);
+       *   });
+       * }
+       * ```
+       *
+       * @param query -
+       * @param options -
+       */
+      async query(query, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        if (!core_util_1.isNodeLike) {
+          throw new Error("This operation currently is only supported in Node.js.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({
+            abortSignal: options.abortSignal,
+            queryRequest: {
+              queryType: "SQL",
+              expression: query,
+              inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration),
+              outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration)
+            },
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return new BlobQueryResponse_js_1.BlobQueryResponse(response, {
+            abortSignal: options.abortSignal,
+            onProgress: options.onProgress,
+            onError: options.onError
+          });
+        });
+      }
+      /**
+       * Creates a new block blob, or updates the content of an existing block blob.
+       * Updating an existing block blob overwrites any existing metadata on the blob.
+       * Partial updates are not supported; the content of the existing blob is
+       * overwritten with the new content. To perform a partial update of a block blob's,
+       * use {@link stageBlock} and {@link commitBlockList}.
+       *
+       * This is a non-parallel uploading method, please use {@link uploadFile},
+       * {@link uploadStream} or {@link uploadBrowserData} for better performance
+       * with concurrency uploading.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
+       *                               which returns a new Readable stream whose offset is from data source beginning.
+       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
+       *                               string including non non-Base64/Hex-encoded characters.
+       * @param options - Options to the Block Blob Upload operation.
+       * @returns Response data for the Block Blob Upload operation.
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsUpload
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * const content = "Hello world!";
+       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
+       * ```
+       */
+      async upload(body, contentLength, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a new Block Blob where the contents of the blob are read from a given URL.
+       * This API is supported beginning with the 2020-04-08 version. Partial updates
+       * are not supported with Put Blob from URL; the content of an existing blob is overwritten with
+       * the content of the new blob.  To perform partial updates to a block blob’s contents using a
+       * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}.
+       *
+       * @param sourceURL - Specifies the URL of the blob. The value
+       *                           may be a URL of up to 2 KB in length that specifies a blob.
+       *                           The value should be URL-encoded as it would appear
+       *                           in a request URI. The source blob must either be public
+       *                           or must be authenticated via a shared access signature.
+       *                           If the source blob is public, no authentication is required
+       *                           to perform the operation. Here are some examples of source object URLs:
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param options - Optional parameters.
+       */
+      async syncUploadFromURL(sourceURL, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
+            ...options,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
+              sourceIfTags: options.sourceConditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            copySourceTags: options.copySourceTags,
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Uploads the specified block to the block blob's "staging area" to be later
+       * committed by a call to commitBlockList.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block
+       *
+       * @param blockId - A 64-byte value that is base64-encoded
+       * @param body - Data to upload to the staging area.
+       * @param contentLength - Number of bytes to upload.
+       * @param options - Options to the Block Blob Stage Block operation.
+       * @returns Response data for the Block Blob Stage Block operation.
+       */
+      async stageBlock(blockId, body, contentLength, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.PageBlobResizeHeaders = {
-      serializedName: "PageBlob_resizeHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobResizeHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * The Stage Block From URL operation creates a new block to be committed as part
+       * of a blob where the contents are read from a URL.
+       * This API is available starting in version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url
+       *
+       * @param blockId - A 64-byte value that is base64-encoded
+       * @param sourceURL - Specifies the URL of the blob. The value
+       *                           may be a URL of up to 2 KB in length that specifies a blob.
+       *                           The value should be URL-encoded as it would appear
+       *                           in a request URI. The source blob must either be public
+       *                           or must be authenticated via a shared access signature.
+       *                           If the source blob is public, no authentication is required
+       *                           to perform the operation. Here are some examples of source object URLs:
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
+       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param offset - From which position of the blob to download, greater than or equal to 0
+       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
+       * @param options - Options to the Block Blob Stage Block From URL operation.
+       * @returns Response data for the Block Blob Stage Block From URL operation.
+       */
+      async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) {
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.PageBlobResizeExceptionHeaders = {
-      serializedName: "PageBlob_resizeExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobResizeExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * Writes a blob by specifying the list of block IDs that make up the blob.
+       * In order to be written as part of a blob, a block must have been successfully written
+       * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to
+       * update a blob by uploading only those blocks that have changed, then committing the new and existing
+       * blocks together. Any blocks not specified in the block list and permanently deleted.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list
+       *
+       * @param blocks -  Array of 64-byte value that is base64-encoded
+       * @param options - Options to the Block Blob Commit Block List operation.
+       * @returns Response data for the Block Blob Commit Block List operation.
+       */
+      async commitBlockList(blocks, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.PageBlobUpdateSequenceNumberHeaders = {
-      serializedName: "PageBlob_updateSequenceNumberHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUpdateSequenceNumberHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobSequenceNumber: {
-            serializedName: "x-ms-blob-sequence-number",
-            xmlName: "x-ms-blob-sequence-number",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns the list of blocks that have been uploaded as part of a block blob
+       * using the specified block list filter.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list
+       *
+       * @param listType - Specifies whether to return the list of committed blocks,
+       *                                        the list of uncommitted blocks, or both lists together.
+       * @param options - Options to the Block Blob Get Block List operation.
+       * @returns Response data for the Block Blob Get Block List operation.
+       */
+      async getBlockList(listType, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
+          const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          if (!res.committedBlocks) {
+            res.committedBlocks = [];
           }
-        }
-      }
-    };
-    exports2.PageBlobUpdateSequenceNumberExceptionHeaders = {
-      serializedName: "PageBlob_updateSequenceNumberExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobUpdateSequenceNumberExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          if (!res.uncommittedBlocks) {
+            res.uncommittedBlocks = [];
           }
-        }
+          return res;
+        });
       }
-    };
-    exports2.PageBlobCopyIncrementalHeaders = {
-      serializedName: "PageBlob_copyIncrementalHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCopyIncrementalHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          copyId: {
-            serializedName: "x-ms-copy-id",
-            xmlName: "x-ms-copy-id",
-            type: {
-              name: "String"
-            }
-          },
-          copyStatus: {
-            serializedName: "x-ms-copy-status",
-            xmlName: "x-ms-copy-status",
-            type: {
-              name: "Enum",
-              allowedValues: ["pending", "success", "aborted", "failed"]
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      // High level functions
+      /**
+       * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob.
+       *
+       * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
+       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
+       * to commit the block list.
+       *
+       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
+       * `blobContentType`, enabling the browser to provide
+       * functionality based on file type.
+       *
+       * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView
+       * @param options -
+       */
+      async uploadData(data, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => {
+          if (core_util_1.isNodeLike) {
+            let buffer;
+            if (data instanceof Buffer) {
+              buffer = data;
+            } else if (data instanceof ArrayBuffer) {
+              buffer = Buffer.from(data);
+            } else {
+              data = data;
+              buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
             }
+            return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions);
+          } else {
+            const browserBlob = new Blob([data]);
+            return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
           }
-        }
+        });
       }
-    };
-    exports2.PageBlobCopyIncrementalExceptionHeaders = {
-      serializedName: "PageBlob_copyIncrementalExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "PageBlobCopyIncrementalExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * ONLY AVAILABLE IN BROWSERS.
+       *
+       * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob.
+       *
+       * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call
+       * {@link commitBlockList} to commit the block list.
+       *
+       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
+       * `blobContentType`, enabling the browser to provide
+       * functionality based on file type.
+       *
+       * @deprecated Use {@link uploadData} instead.
+       *
+       * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView
+       * @param options - Options to upload browser data.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadBrowserData(browserData, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => {
+          const browserBlob = new Blob([browserData]);
+          return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+        });
       }
-    };
-    exports2.AppendBlobCreateHeaders = {
-      serializedName: "AppendBlob_createHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobCreateHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       *
+       * Uploads data to block blob. Requires a bodyFactory as the data source,
+       * which need to return a {@link HttpRequestBody} object with the offset and size provided.
+       *
+       * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
+       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
+       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
+       * to commit the block list.
+       *
+       * @param bodyFactory -
+       * @param size - size of the data to upload.
+       * @param options - Options to Upload to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadSeekableInternal(bodyFactory, size, options = {}) {
+        let blockSize = options.blockSize ?? 0;
+        if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
+          throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
+        }
+        const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
+        if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
+          throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
+        }
+        if (blockSize === 0) {
+          if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
+            throw new RangeError(`${size} is too larger to upload to a block blob.`);
+          }
+          if (size > maxSingleShotSize) {
+            blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS);
+            if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) {
+              blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
             }
           }
         }
+        if (!options.blobHTTPHeaders) {
+          options.blobHTTPHeaders = {};
+        }
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => {
+          if (size <= maxSingleShotSize) {
+            return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions));
+          }
+          const numBlocks = Math.floor((size - 1) / blockSize) + 1;
+          if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
+            throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`);
+          }
+          const blockList = [];
+          const blockIDPrefix = (0, core_util_2.randomUUID)();
+          let transferProgress = 0;
+          const batch = new Batch_js_1.Batch(options.concurrency);
+          for (let i = 0; i < numBlocks; i++) {
+            batch.addOperation(async () => {
+              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i);
+              const start = blockSize * i;
+              const end = i === numBlocks - 1 ? size : start + blockSize;
+              const contentLength = end - start;
+              blockList.push(blockID);
+              await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, {
+                abortSignal: options.abortSignal,
+                conditions: options.conditions,
+                encryptionScope: options.encryptionScope,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              transferProgress += contentLength;
+              if (options.onProgress) {
+                options.onProgress({
+                  loadedBytes: transferProgress
+                });
+              }
+            });
+          }
+          await batch.do();
+          return this.commitBlockList(blockList, updatedOptions);
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Uploads a local file in blocks to a block blob.
+       *
+       * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
+       * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList
+       * to commit the block list.
+       *
+       * @param filePath - Full path of local file
+       * @param options - Options to Upload to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadFile(filePath, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => {
+          const size = (await (0, utils_js_1.fsStat)(filePath)).size;
+          return this.uploadSeekableInternal((offset, count) => {
+            return () => (0, utils_js_1.fsCreateReadStream)(filePath, {
+              autoClose: true,
+              end: count ? offset + count - 1 : Infinity,
+              start: offset
+            });
+          }, size, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          });
+        });
+      }
+      /**
+       * ONLY AVAILABLE IN NODE.JS RUNTIME.
+       *
+       * Uploads a Node.js Readable stream into block blob.
+       *
+       * PERFORMANCE IMPROVEMENT TIPS:
+       * * Input stream highWaterMark is better to set a same value with bufferSize
+       *    parameter, which will avoid Buffer.concat() operations.
+       *
+       * @param stream - Node.js Readable stream
+       * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB
+       * @param maxConcurrency -  Max concurrency indicates the max number of buffers that can be allocated,
+       *                                 positive correlation with max uploading concurrency. Default value is 5
+       * @param options - Options to Upload Stream to Block Blob operation.
+       * @returns Response data for the Blob Upload operation.
+       */
+      async uploadStream(stream, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) {
+        if (!options.blobHTTPHeaders) {
+          options.blobHTTPHeaders = {};
+        }
+        if (!options.conditions) {
+          options.conditions = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => {
+          let blockNum = 0;
+          const blockIDPrefix = (0, core_util_2.randomUUID)();
+          let transferProgress = 0;
+          const blockList = [];
+          const scheduler = new storage_common_1.BufferScheduler(
+            stream,
+            bufferSize,
+            maxConcurrency,
+            async (body, length) => {
+              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum);
+              blockList.push(blockID);
+              blockNum++;
+              await this.stageBlock(blockID, body, length, {
+                customerProvidedKey: options.customerProvidedKey,
+                conditions: options.conditions,
+                encryptionScope: options.encryptionScope,
+                tracingOptions: updatedOptions.tracingOptions
+              });
+              transferProgress += length;
+              if (options.onProgress) {
+                options.onProgress({ loadedBytes: transferProgress });
+              }
+            },
+            // concurrency should set a smaller value than maxConcurrency, which is helpful to
+            // reduce the possibility when a outgoing handler waits for stream data, in
+            // this situation, outgoing handlers are blocked.
+            // Outgoing queue shouldn't be empty.
+            Math.ceil(maxConcurrency / 4 * 3)
+          );
+          await scheduler.do();
+          return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, {
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.AppendBlobCreateExceptionHeaders = {
-      serializedName: "AppendBlob_createExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobCreateExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.BlockBlobClient = BlockBlobClient;
+    var PageBlobClient = class _PageBlobClient extends BlobClient {
+      /**
+       * pageBlobsContext provided by protocol layer.
+       */
+      pageBlobContext;
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          options = blobNameOrOptions;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const blobName = blobNameOrOptions;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
             }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
         }
+        super(url, pipeline);
+        this.pageBlobContext = this.storageClientContext.pageBlob;
       }
-    };
-    exports2.AppendBlobAppendBlockHeaders = {
-      serializedName: "AppendBlob_appendBlockHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobAppendOffset: {
-            serializedName: "x-ms-blob-append-offset",
-            xmlName: "x-ms-blob-append-offset",
-            type: {
-              name: "String"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+      /**
+       * Creates a new PageBlobClient object identical to the source but with the
+       * specified snapshot timestamp.
+       * Provide "" will remove the snapshot and return a Client to the base blob.
+       *
+       * @param snapshot - The snapshot timestamp.
+       * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp.
+       */
+      withSnapshot(snapshot) {
+        return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      }
+      /**
+       * Creates a page blob of the specified length. Call uploadPages to upload data
+       * data to a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param size - size of the page blob.
+       * @param options - Options to the Page Blob Create operation.
+       * @returns Response data for the Page Blob Create operation.
+       */
+      async create(size, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, {
+            abortSignal: options.abortSignal,
+            blobHttpHeaders: options.blobHTTPHeaders,
+            blobSequenceNumber: options.blobSequenceNumber,
+            leaseAccessConditions: options.conditions,
+            metadata: options.metadata,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
+            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
+            legalHold: options.legalHold,
+            tier: (0, models_js_1.toAccessTier)(options.tier),
+            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Creates a page blob of the specified length. Call uploadPages to upload data
+       * data to a page blob. If the blob with the same name already exists, the content
+       * of the existing blob will remain unchanged.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param size - size of the page blob.
+       * @param options -
+       */
+      async createIfNotExists(size, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const conditions = { ifNoneMatch: constants_js_1.ETagAny };
+            const res = (0, utils_common_js_1.assertResponse)(await this.create(size, {
+              ...options,
+              conditions,
+              tracingOptions: updatedOptions.tracingOptions
+            }));
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "BlobAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
             }
+            throw e;
           }
-        }
+        });
+      }
+      /**
+       * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
+       *
+       * @param body - Data to upload
+       * @param offset - Offset of destination page blob
+       * @param count - Content length of the body, also number of bytes to be uploaded
+       * @param options - Options to the Page Blob Upload Pages operation.
+       * @returns Response data for the Page Blob Upload Pages operation.
+       */
+      async uploadPages(body, offset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            requestOptions: {
+              onUploadProgress: options.onProgress
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            sequenceNumberAccessConditions: options.conditions,
+            transactionalContentMD5: options.transactionalContentMD5,
+            transactionalContentCrc64: options.transactionalContentCrc64,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * The Upload Pages operation writes a range of pages to a page blob where the
+       * contents are read from a URL.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url
+       *
+       * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication
+       * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob
+       * @param destOffset - Offset of destination page blob
+       * @param count - Number of bytes to be uploaded from source page blob
+       * @param options -
+       */
+      async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) {
+        options.conditions = options.conditions || {};
+        options.sourceConditions = options.sourceConditions || {};
+        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), {
+            abortSignal: options.abortSignal,
+            sourceContentMD5: options.sourceContentMD5,
+            sourceContentCrc64: options.sourceContentCrc64,
+            leaseAccessConditions: options.conditions,
+            sequenceNumberAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            sourceModifiedAccessConditions: {
+              sourceIfMatch: options.sourceConditions?.ifMatch,
+              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
+              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
+              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
+            },
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
+            fileRequestIntent: options.sourceShareTokenIntent,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Frees the specified pages from the page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
+       *
+       * @param offset - Starting byte position of the pages to clear.
+       * @param count - Number of bytes to clear.
+       * @param options - Options to the Page Blob Clear Pages operation.
+       * @returns Response data for the Page Blob Clear Pages operation.
+       */
+      async clearPages(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            sequenceNumberAccessConditions: options.conditions,
+            cpkInfo: options.customerProvidedKey,
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Returns the list of valid page ranges for a page blob or snapshot of a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns Response data for the Page Blob Get Ranges operation.
+       */
+      async getPageRanges(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
+        });
+      }
+      /**
+       * getPageRangesSegment returns a single segment of page ranges starting from the
+       * specified Marker. Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call getPageRangesSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to PageBlob Get Page Ranges Segment operation.
+       */
+      async listPageRangesSegment(offset = 0, count, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.AppendBlobAppendBlockExceptionHeaders = {
-      serializedName: "AppendBlob_appendBlockExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel}
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param marker - A string value that identifies the portion of
+       *                          the get of page ranges to be returned with the next getting operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          getting operation did not return all page ranges remaining within the current page.
+       *                          The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of get
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to List Page Ranges operation.
+       */
+      async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
+        let getPageRangeItemSegmentsResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
+            marker = getPageRangeItemSegmentsResponse.continuationToken;
+            yield await getPageRangeItemSegmentsResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.AppendBlobAppendBlockFromUrlHeaders = {
-      serializedName: "AppendBlob_appendBlockFromUrlHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockFromUrlHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          blobAppendOffset: {
-            serializedName: "x-ms-blob-append-offset",
-            xmlName: "x-ms-blob-append-offset",
-            type: {
-              name: "String"
-            }
-          },
-          blobCommittedBlockCount: {
-            serializedName: "x-ms-blob-committed-block-count",
-            xmlName: "x-ms-blob-committed-block-count",
-            type: {
-              name: "Number"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to List Page Ranges operation.
+       */
+      async *listPageRangeItems(offset = 0, count, options = {}) {
+        let marker;
+        for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
+          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
         }
       }
-    };
-    exports2.AppendBlobAppendBlockFromUrlExceptionHeaders = {
-      serializedName: "AppendBlob_appendBlockFromUrlExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobAppendBlockFromUrlExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns an async iterable iterator to list of page ranges for a page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       *  .byPage() returns an async iterable iterator to list of page ranges for a page blob.
+       *
+       * ```ts snippet:ClientsListPageBlobs
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const pageRange of pageBlobClient.listPageRanges()) {
+       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = pageBlobClient.listPageRanges();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
+       *   for (const pageRange of page.pageRange || []) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listPageRanges(offset = 0, count, options = {}) {
+        options.conditions = options.conditions || {};
+        const iter = this.listPageRangeItems(offset, count, options);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...options
+            });
           }
-        }
+        };
       }
-    };
-    exports2.AppendBlobSealHeaders = {
-      serializedName: "AppendBlob_sealHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobSealHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isSealed: {
-            serializedName: "x-ms-blob-sealed",
-            xmlName: "x-ms-blob-sealed",
-            type: {
-              name: "Boolean"
-            }
-          }
-        }
+      /**
+       * Gets the collection of page ranges that differ between a specified snapshot and this page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page blob
+       * @param count - Number of bytes to get ranges diff.
+       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       * @returns Response data for the Page Blob Get Page Range Diff operation.
+       */
+      async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
+          const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            prevsnapshot: prevSnapshot,
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result);
+        });
       }
-    };
-    exports2.AppendBlobSealExceptionHeaders = {
-      serializedName: "AppendBlob_sealExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "AppendBlobSealExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
-        }
+      /**
+       * getPageRangesDiffSegment returns a single segment of page ranges starting from the
+       * specified Marker for difference between previous snapshot and the target page blob.
+       * Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call getPageRangesDiffSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param marker - A string value that identifies the portion of the get to be returned with the next get operation.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options?.abortSignal,
+            leaseAccessConditions: options?.conditions,
+            modifiedAccessConditions: {
+              ...options?.conditions,
+              ifTags: options?.conditions?.tagConditions
+            },
+            prevsnapshot: prevSnapshotOrUrl,
+            range: (0, Range_js_1.rangeToString)({
+              offset,
+              count
+            }),
+            marker,
+            maxPageSize: options?.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.BlockBlobUploadHeaders = {
-      serializedName: "BlockBlob_uploadHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobUploadHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel}
+       *
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param marker - A string value that identifies the portion of
+       *                          the get of page ranges to be returned with the next getting operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          getting operation did not return all page ranges remaining within the current page.
+       *                          The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of get
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
+        let getPageRangeItemSegmentsResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
+            marker = getPageRangeItemSegmentsResponse.continuationToken;
+            yield await getPageRangeItemSegmentsResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.BlockBlobUploadExceptionHeaders = {
-      serializedName: "BlockBlob_uploadExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobUploadExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       */
+      async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
+        let marker;
+        for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
+          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
         }
       }
-    };
-    exports2.BlockBlobPutBlobFromUrlHeaders = {
-      serializedName: "BlockBlob_putBlobFromUrlHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobPutBlobFromUrlHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
+      /**
+       * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       *  .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
+       *
+       * ```ts snippet:ClientsListPageBlobsDiff
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
+       *
+       * const offset = 0;
+       * const count = 1024;
+       * const previousSnapshot = "";
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) {
+       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot);
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const pageRange of page.pageRange || []) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = pageBlobClient
+       *   .listPageRangesDiff(offset, count, previousSnapshot)
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 page ranges
+       * if (response.pageRange) {
+       *   for (const pageRange of response.pageRange) {
+       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param offset - Starting byte position of the page ranges.
+       * @param count - Number of bytes to get.
+       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Ranges operation.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
+        options.conditions = options.conditions || {};
+        const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
+          ...options
+        });
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
           },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
           },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...options
+            });
           }
-        }
+        };
+      }
+      /**
+       * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
+       *
+       * @param offset - Starting byte position of the page blob
+       * @param count - Number of bytes to get ranges diff.
+       * @param prevSnapshotUrl - URL of snapshot to retrieve the difference.
+       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
+       * @returns Response data for the Page Blob Get Page Range Diff operation.
+       */
+      async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            prevSnapshotUrl,
+            range: (0, Range_js_1.rangeToString)({ offset, count }),
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
+        });
+      }
+      /**
+       * Resizes the page blob to the specified size (which must be a multiple of 512).
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param size - Target size
+       * @param options - Options to the Page Blob Resize operation.
+       * @returns Response data for the Page Blob Resize operation.
+       */
+      async resize(size, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, {
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            encryptionScope: options.encryptionScope,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Sets a page blob's sequence number.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
+       *
+       * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number.
+       * @param sequenceNumber - Required if sequenceNumberAction is max or update
+       * @param options - Options to the Page Blob Update Sequence Number operation.
+       * @returns Response data for the Page Blob Update Sequence Number operation.
+       */
+      async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
+            abortSignal: options.abortSignal,
+            blobSequenceNumber: sequenceNumber,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
+      }
+      /**
+       * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob.
+       * The snapshot is copied such that only the differential changes between the previously
+       * copied snapshot are transferred to the destination.
+       * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual.
+       * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob
+       * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots
+       *
+       * @param copySource - Specifies the name of the source page blob snapshot. For example,
+       *                            https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
+       * @param options - Options to the Page Blob Copy Incremental operation.
+       * @returns Response data for the Page Blob Copy Incremental operation.
+       */
+      async startCopyIncremental(copySource, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, {
+            abortSignal: options.abortSignal,
+            modifiedAccessConditions: {
+              ...options.conditions,
+              ifTags: options.conditions?.tagConditions
+            },
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
     };
-    exports2.BlockBlobPutBlobFromUrlExceptionHeaders = {
-      serializedName: "BlockBlob_putBlobFromUrlExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobPutBlobFromUrlExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
-          }
+    exports2.PageBlobClient = PageBlobClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js
+var require_BatchUtils = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.getBodyAsText = getBodyAsText;
+    exports2.utf8ByteLength = utf8ByteLength;
+    var utils_js_1 = require_utils7();
+    var constants_js_1 = require_constants14();
+    async function getBodyAsText(batchResponse) {
+      let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES);
+      const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer);
+      buffer = buffer.slice(0, responseLength);
+      return buffer.toString();
+    }
+    function utf8ByteLength(str2) {
+      return Buffer.byteLength(str2);
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js
+var require_BatchResponseParser = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BatchResponseParser = void 0;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_http_compat_1 = require_commonjs11();
+    var constants_js_1 = require_constants14();
+    var BatchUtils_js_1 = require_BatchUtils();
+    var log_js_1 = require_log5();
+    var HTTP_HEADER_DELIMITER = ": ";
+    var SPACE_DELIMITER = " ";
+    var NOT_FOUND = -1;
+    var BatchResponseParser = class {
+      batchResponse;
+      responseBatchBoundary;
+      perResponsePrefix;
+      batchResponseEnding;
+      subRequests;
+      constructor(batchResponse, subRequests) {
+        if (!batchResponse || !batchResponse.contentType) {
+          throw new RangeError("batchResponse is malformed or doesn't contain valid content-type.");
         }
+        if (!subRequests || subRequests.size === 0) {
+          throw new RangeError("Invalid state: subRequests is not provided or size is 0.");
+        }
+        this.batchResponse = batchResponse;
+        this.subRequests = subRequests;
+        this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1];
+        this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`;
+        this.batchResponseEnding = `--${this.responseBatchBoundary}--`;
       }
-    };
-    exports2.BlockBlobStageBlockHeaders = {
-      serializedName: "BlockBlob_stageBlockHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockHeaders",
-        modelProperties: {
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
+      // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response
+      async parseBatchResponse() {
+        if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) {
+          throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`);
+        }
+        const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse);
+        const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1);
+        const subResponseCount = subResponses.length;
+        if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) {
+          throw new Error("Invalid state: sub responses' count is not equal to sub requests' count.");
+        }
+        const deserializedSubResponses = new Array(subResponseCount);
+        let subResponsesSucceededCount = 0;
+        let subResponsesFailedCount = 0;
+        for (let index = 0; index < subResponseCount; index++) {
+          const subResponse = subResponses[index];
+          const deserializedSubResponse = {};
+          deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)());
+          const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`);
+          let subRespHeaderStartFound = false;
+          let subRespHeaderEndFound = false;
+          let subRespFailed = false;
+          let contentId = NOT_FOUND;
+          for (const responseLine of responseLines) {
+            if (!subRespHeaderStartFound) {
+              if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) {
+                contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]);
+              }
+              if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) {
+                subRespHeaderStartFound = true;
+                const tokens = responseLine.split(SPACE_DELIMITER);
+                deserializedSubResponse.status = parseInt(tokens[1]);
+                deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER);
+              }
+              continue;
             }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
+            if (responseLine.trim() === "") {
+              if (!subRespHeaderEndFound) {
+                subRespHeaderEndFound = true;
+              }
+              continue;
             }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+            if (!subRespHeaderEndFound) {
+              if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) {
+                throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`);
+              }
+              const tokens = responseLine.split(HTTP_HEADER_DELIMITER);
+              deserializedSubResponse.headers.set(tokens[0], tokens[1]);
+              if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) {
+                deserializedSubResponse.errorCode = tokens[1];
+                subRespFailed = true;
+              }
+            } else {
+              if (!deserializedSubResponse.bodyAsText) {
+                deserializedSubResponse.bodyAsText = "";
+              }
+              deserializedSubResponse.bodyAsText += responseLine;
             }
           }
+          if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) {
+            deserializedSubResponse._request = this.subRequests.get(contentId);
+            deserializedSubResponses[contentId] = deserializedSubResponse;
+          } else {
+            log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`);
+          }
+          if (subRespFailed) {
+            subResponsesFailedCount++;
+          } else {
+            subResponsesSucceededCount++;
+          }
         }
+        return {
+          subResponses: deserializedSubResponses,
+          subResponsesSucceededCount,
+          subResponsesFailedCount
+        };
       }
     };
-    exports2.BlockBlobStageBlockExceptionHeaders = {
-      serializedName: "BlockBlob_stageBlockExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+    exports2.BatchResponseParser = BatchResponseParser;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js
+var require_Mutex = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Mutex = void 0;
+    var MutexLockStatus;
+    (function(MutexLockStatus2) {
+      MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED";
+      MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED";
+    })(MutexLockStatus || (MutexLockStatus = {}));
+    var Mutex = class {
+      /**
+       * Lock for a specific key. If the lock has been acquired by another customer, then
+       * will wait until getting the lock.
+       *
+       * @param key - lock key
+       */
+      static async lock(key) {
+        return new Promise((resolve2) => {
+          if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) {
+            this.keys[key] = MutexLockStatus.LOCKED;
+            resolve2();
+          } else {
+            this.onUnlockEvent(key, () => {
+              this.keys[key] = MutexLockStatus.LOCKED;
+              resolve2();
+            });
           }
-        }
+        });
       }
-    };
-    exports2.BlockBlobStageBlockFromURLHeaders = {
-      serializedName: "BlockBlob_stageBlockFromURLHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockFromURLHeaders",
-        modelProperties: {
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
+      /**
+       * Unlock a key.
+       *
+       * @param key -
+       */
+      static async unlock(key) {
+        return new Promise((resolve2) => {
+          if (this.keys[key] === MutexLockStatus.LOCKED) {
+            this.emitUnlockEvent(key);
           }
+          delete this.keys[key];
+          resolve2();
+        });
+      }
+      static keys = {};
+      static listeners = {};
+      static onUnlockEvent(key, handler2) {
+        if (this.listeners[key] === void 0) {
+          this.listeners[key] = [handler2];
+        } else {
+          this.listeners[key].push(handler2);
         }
       }
-    };
-    exports2.BlockBlobStageBlockFromURLExceptionHeaders = {
-      serializedName: "BlockBlob_stageBlockFromURLExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobStageBlockFromURLExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceErrorCode: {
-            serializedName: "x-ms-copy-source-error-code",
-            xmlName: "x-ms-copy-source-error-code",
-            type: {
-              name: "String"
-            }
-          },
-          copySourceStatusCode: {
-            serializedName: "x-ms-copy-source-status-code",
-            xmlName: "x-ms-copy-source-status-code",
-            type: {
-              name: "Number"
-            }
-          }
+      static emitUnlockEvent(key) {
+        if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) {
+          const handler2 = this.listeners[key].shift();
+          setImmediate(() => {
+            handler2.call(this);
+          });
         }
       }
     };
-    exports2.BlockBlobCommitBlockListHeaders = {
-      serializedName: "BlockBlob_commitBlockListHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobCommitBlockListHeaders",
-        modelProperties: {
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          contentMD5: {
-            serializedName: "content-md5",
-            xmlName: "content-md5",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          xMsContentCrc64: {
-            serializedName: "x-ms-content-crc64",
-            xmlName: "x-ms-content-crc64",
-            type: {
-              name: "ByteArray"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          versionId: {
-            serializedName: "x-ms-version-id",
-            xmlName: "x-ms-version-id",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          isServerEncrypted: {
-            serializedName: "x-ms-request-server-encrypted",
-            xmlName: "x-ms-request-server-encrypted",
-            type: {
-              name: "Boolean"
-            }
-          },
-          encryptionKeySha256: {
-            serializedName: "x-ms-encryption-key-sha256",
-            xmlName: "x-ms-encryption-key-sha256",
-            type: {
-              name: "String"
-            }
-          },
-          encryptionScope: {
-            serializedName: "x-ms-encryption-scope",
-            xmlName: "x-ms-encryption-scope",
-            type: {
-              name: "String"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+    exports2.Mutex = Mutex;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js
+var require_BlobBatch = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBatch = void 0;
+    var core_util_1 = require_commonjs6();
+    var core_auth_1 = require_commonjs9();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_2 = require_commonjs6();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var Clients_js_1 = require_Clients();
+    var Mutex_js_1 = require_Mutex();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var core_xml_1 = require_commonjs12();
+    var constants_js_1 = require_constants14();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var tracing_js_1 = require_tracing();
+    var core_client_1 = require_commonjs10();
+    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
+    var BlobBatch = class {
+      batchRequest;
+      batch = "batch";
+      batchType;
+      constructor() {
+        this.batchRequest = new InnerBatchRequest();
+      }
+      /**
+       * Get the value of Content-Type for a batch request.
+       * The value must be multipart/mixed with a batch boundary.
+       * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252
+       */
+      getMultiPartContentType() {
+        return this.batchRequest.getMultipartContentType();
+      }
+      /**
+       * Get assembled HTTP request body for sub requests.
+       */
+      getHttpRequestBody() {
+        return this.batchRequest.getHttpRequestBody();
+      }
+      /**
+       * Get sub requests that are added into the batch request.
+       */
+      getSubRequests() {
+        return this.batchRequest.getSubRequests();
+      }
+      async addSubRequestInternal(subRequest, assembleSubRequestFunc) {
+        await Mutex_js_1.Mutex.lock(this.batch);
+        try {
+          this.batchRequest.preAddSubRequest(subRequest);
+          await assembleSubRequestFunc();
+          this.batchRequest.postAddSubRequest(subRequest);
+        } finally {
+          await Mutex_js_1.Mutex.unlock(this.batch);
         }
       }
-    };
-    exports2.BlockBlobCommitBlockListExceptionHeaders = {
-      serializedName: "BlockBlob_commitBlockListExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobCommitBlockListExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      setBatchType(batchType) {
+        if (!this.batchType) {
+          this.batchType = batchType;
+        }
+        if (this.batchType !== batchType) {
+          throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`);
         }
       }
-    };
-    exports2.BlockBlobGetBlockListHeaders = {
-      serializedName: "BlockBlob_getBlockListHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobGetBlockListHeaders",
-        modelProperties: {
-          lastModified: {
-            serializedName: "last-modified",
-            xmlName: "last-modified",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          etag: {
-            serializedName: "etag",
-            xmlName: "etag",
-            type: {
-              name: "String"
-            }
-          },
-          contentType: {
-            serializedName: "content-type",
-            xmlName: "content-type",
-            type: {
-              name: "String"
-            }
-          },
-          blobContentLength: {
-            serializedName: "x-ms-blob-content-length",
-            xmlName: "x-ms-blob-content-length",
-            type: {
-              name: "Number"
-            }
-          },
-          clientRequestId: {
-            serializedName: "x-ms-client-request-id",
-            xmlName: "x-ms-client-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          requestId: {
-            serializedName: "x-ms-request-id",
-            xmlName: "x-ms-request-id",
-            type: {
-              name: "String"
-            }
-          },
-          version: {
-            serializedName: "x-ms-version",
-            xmlName: "x-ms-version",
-            type: {
-              name: "String"
-            }
-          },
-          date: {
-            serializedName: "date",
-            xmlName: "date",
-            type: {
-              name: "DateTimeRfc1123"
-            }
-          },
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
-            }
-          }
+      async deleteBlob(urlOrBlobClient, credentialOrOptions, options) {
+        let url;
+        let credential;
+        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) {
+          url = urlOrBlobClient;
+          credential = credentialOrOptions;
+        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
+          url = urlOrBlobClient.url;
+          credential = urlOrBlobClient.credential;
+          options = credentialOrOptions;
+        } else {
+          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+        }
+        if (!options) {
+          options = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => {
+          this.setBatchType("delete");
+          await this.addSubRequestInternal({
+            url,
+            credential
+          }, async () => {
+            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).delete(updatedOptions);
+          });
+        });
+      }
+      async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) {
+        let url;
+        let credential;
+        let tier;
+        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) {
+          url = urlOrBlobClient;
+          credential = credentialOrTier;
+          tier = tierOrOptions;
+        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
+          url = urlOrBlobClient.url;
+          credential = urlOrBlobClient.credential;
+          tier = credentialOrTier;
+          options = tierOrOptions;
+        } else {
+          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
         }
+        if (!options) {
+          options = {};
+        }
+        return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => {
+          this.setBatchType("setAccessTier");
+          await this.addSubRequestInternal({
+            url,
+            credential
+          }, async () => {
+            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions);
+          });
+        });
       }
     };
-    exports2.BlockBlobGetBlockListExceptionHeaders = {
-      serializedName: "BlockBlob_getBlockListExceptionHeaders",
-      type: {
-        name: "Composite",
-        className: "BlockBlobGetBlockListExceptionHeaders",
-        modelProperties: {
-          errorCode: {
-            serializedName: "x-ms-error-code",
-            xmlName: "x-ms-error-code",
-            type: {
-              name: "String"
+    exports2.BlobBatch = BlobBatch;
+    var InnerBatchRequest = class {
+      operationCount;
+      body;
+      subRequests;
+      boundary;
+      subRequestPrefix;
+      multipartContentType;
+      batchRequestEnding;
+      constructor() {
+        this.operationCount = 0;
+        this.body = "";
+        const tempGuid = (0, core_util_1.randomUUID)();
+        this.boundary = `batch_${tempGuid}`;
+        this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`;
+        this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`;
+        this.batchRequestEnding = `--${this.boundary}--`;
+        this.subRequests = /* @__PURE__ */ new Map();
+      }
+      /**
+       * Create pipeline to assemble sub requests. The idea here is to use existing
+       * credential and serialization/deserialization components, with additional policies to
+       * filter unnecessary headers, assemble sub requests into request's body
+       * and intercept request from going to wire.
+       * @param credential -  Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
+       */
+      createPipeline(credential) {
+        const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)();
+        corePipeline.addPolicy((0, core_client_1.serializationPolicy)({
+          stringifyXML: core_xml_1.stringifyXML,
+          serializerOptions: {
+            xml: {
+              xmlCharKey: "#"
             }
           }
+        }), { phase: "Serialize" });
+        corePipeline.addPolicy(batchHeaderFilterPolicy());
+        corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" });
+        if ((0, core_auth_1.isTokenCredential)(credential)) {
+          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
+            credential,
+            scopes: constants_js_1.StorageOAuthScopes,
+            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
+          }), { phase: "Sign" });
+        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
+          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
+            accountName: credential.accountName,
+            accountKey: credential.accountKey
+          }), { phase: "Sign" });
         }
+        const pipeline = new Pipeline_js_1.Pipeline([]);
+        pipeline._credential = credential;
+        pipeline._corePipeline = corePipeline;
+        return pipeline;
       }
-    };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js
-var require_parameters = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/models/parameters.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.action3 = exports2.action2 = exports2.leaseId1 = exports2.action1 = exports2.proposedLeaseId = exports2.duration = exports2.action = exports2.comp10 = exports2.sourceLeaseId = exports2.sourceContainerName = exports2.comp9 = exports2.deletedContainerVersion = exports2.deletedContainerName = exports2.comp8 = exports2.containerAcl = exports2.comp7 = exports2.comp6 = exports2.ifUnmodifiedSince = exports2.ifModifiedSince = exports2.leaseId = exports2.preventEncryptionScopeOverride = exports2.defaultEncryptionScope = exports2.access = exports2.metadata = exports2.restype2 = exports2.where = exports2.comp5 = exports2.multipartContentType = exports2.contentLength = exports2.comp4 = exports2.body = exports2.restype1 = exports2.comp3 = exports2.keyInfo = exports2.include = exports2.maxPageSize = exports2.marker = exports2.prefix = exports2.comp2 = exports2.comp1 = exports2.accept1 = exports2.requestId = exports2.version = exports2.timeoutInSeconds = exports2.comp = exports2.restype = exports2.url = exports2.accept = exports2.blobServiceProperties = exports2.contentType = void 0;
-    exports2.fileRequestIntent = exports2.copySourceTags = exports2.copySourceAuthorization = exports2.sourceContentMD5 = exports2.xMsRequiresSync = exports2.legalHold1 = exports2.sealBlob = exports2.blobTagsString = exports2.copySource = exports2.sourceIfTags = exports2.sourceIfNoneMatch = exports2.sourceIfMatch = exports2.sourceIfUnmodifiedSince = exports2.sourceIfModifiedSince = exports2.rehydratePriority = exports2.tier = exports2.comp14 = exports2.encryptionScope = exports2.legalHold = exports2.comp13 = exports2.immutabilityPolicyMode = exports2.immutabilityPolicyExpiry = exports2.comp12 = exports2.blobContentDisposition = exports2.blobContentLanguage = exports2.blobContentEncoding = exports2.blobContentMD5 = exports2.blobContentType = exports2.blobCacheControl = exports2.expiresOn = exports2.expiryOptions = exports2.comp11 = exports2.blobDeleteType = exports2.deleteSnapshots = exports2.ifTags = exports2.ifNoneMatch = exports2.ifMatch = exports2.encryptionAlgorithm = exports2.encryptionKeySha256 = exports2.encryptionKey = exports2.rangeGetContentCRC64 = exports2.rangeGetContentMD5 = exports2.range = exports2.versionId = exports2.snapshot = exports2.delimiter = exports2.include1 = exports2.proposedLeaseId1 = exports2.action4 = exports2.breakPeriod = void 0;
-    exports2.listType = exports2.comp25 = exports2.blocks = exports2.blockId = exports2.comp24 = exports2.copySourceBlobProperties = exports2.blobType2 = exports2.comp23 = exports2.sourceRange1 = exports2.appendPosition = exports2.maxSize = exports2.comp22 = exports2.blobType1 = exports2.comp21 = exports2.sequenceNumberAction = exports2.prevSnapshotUrl = exports2.prevsnapshot = exports2.comp20 = exports2.range1 = exports2.sourceContentCrc64 = exports2.sourceRange = exports2.sourceUrl = exports2.pageWrite1 = exports2.ifSequenceNumberEqualTo = exports2.ifSequenceNumberLessThan = exports2.ifSequenceNumberLessThanOrEqualTo = exports2.pageWrite = exports2.comp19 = exports2.accept2 = exports2.body1 = exports2.contentType1 = exports2.blobSequenceNumber = exports2.blobContentLength = exports2.blobType = exports2.transactionalContentCrc64 = exports2.transactionalContentMD5 = exports2.tags = exports2.comp18 = exports2.comp17 = exports2.queryRequest = exports2.tier1 = exports2.comp16 = exports2.copyId = exports2.copyActionAbortConstant = exports2.comp15 = void 0;
-    var mappers_js_1 = require_mappers();
-    exports2.contentType = {
-      parameterPath: ["options", "contentType"],
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Content-Type",
-        type: {
-          name: "String"
+      appendSubRequestToBody(request2) {
+        this.body += [
+          this.subRequestPrefix,
+          // sub request constant prefix
+          `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`,
+          // sub request's content ID
+          "",
+          // empty line after sub request's content ID
+          `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}`
+          // sub request start line with method
+        ].join(constants_js_1.HTTP_LINE_ENDING);
+        for (const [name, value] of request2.headers) {
+          this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`;
         }
+        this.body += constants_js_1.HTTP_LINE_ENDING;
       }
-    };
-    exports2.blobServiceProperties = {
-      parameterPath: "blobServiceProperties",
-      mapper: mappers_js_1.BlobServiceProperties
-    };
-    exports2.accept = {
-      parameterPath: "accept",
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Accept",
-        type: {
-          name: "String"
+      preAddSubRequest(subRequest) {
+        if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) {
+          throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`);
+        }
+        const path3 = (0, utils_common_js_1.getURLPath)(subRequest.url);
+        if (!path3 || path3 === "") {
+          throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`);
         }
       }
+      postAddSubRequest(subRequest) {
+        this.subRequests.set(this.operationCount, subRequest);
+        this.operationCount++;
+      }
+      // Return the http request body with assembling the ending line to the sub request body.
+      getHttpRequestBody() {
+        return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`;
+      }
+      getMultipartContentType() {
+        return this.multipartContentType;
+      }
+      getSubRequests() {
+        return this.subRequests;
+      }
     };
-    exports2.url = {
-      parameterPath: "url",
-      mapper: {
-        serializedName: "url",
-        required: true,
-        xmlName: "url",
-        type: {
-          name: "String"
+    function batchRequestAssemblePolicy(batchRequest) {
+      return {
+        name: "batchRequestAssemblePolicy",
+        async sendRequest(request2) {
+          batchRequest.appendSubRequestToBody(request2);
+          return {
+            request: request2,
+            status: 200,
+            headers: (0, core_rest_pipeline_1.createHttpHeaders)()
+          };
         }
-      },
-      skipEncoding: true
-    };
-    exports2.restype = {
-      parameterPath: "restype",
-      mapper: {
-        defaultValue: "service",
-        isConstant: true,
-        serializedName: "restype",
-        type: {
-          name: "String"
+      };
+    }
+    function batchHeaderFilterPolicy() {
+      return {
+        name: "batchHeaderFilterPolicy",
+        async sendRequest(request2, next) {
+          let xMsHeaderName = "";
+          for (const [name] of request2.headers) {
+            if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) {
+              xMsHeaderName = name;
+            }
+          }
+          if (xMsHeaderName !== "") {
+            request2.headers.delete(xMsHeaderName);
+          }
+          return next(request2);
         }
-      }
-    };
-    exports2.comp = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "properties",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js
+var require_BlobBatchClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobBatchClient = void 0;
+    var BatchResponseParser_js_1 = require_BatchResponseParser();
+    var BatchUtils_js_1 = require_BatchUtils();
+    var BlobBatch_js_1 = require_BlobBatch();
+    var tracing_js_1 = require_tracing();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageContextClient_js_1 = require_StorageContextClient();
+    var Pipeline_js_1 = require_Pipeline();
+    var utils_common_js_1 = require_utils_common();
+    var BlobBatchClient = class {
+      serviceOrContainerContext;
+      constructor(url, credentialOrPipeline, options) {
+        let pipeline;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
+          pipeline = credentialOrPipeline;
+        } else if (!credentialOrPipeline) {
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else {
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
         }
-      }
-    };
-    exports2.timeoutInSeconds = {
-      parameterPath: ["options", "timeoutInSeconds"],
-      mapper: {
-        constraints: {
-          InclusiveMinimum: 0
-        },
-        serializedName: "timeout",
-        xmlName: "timeout",
-        type: {
-          name: "Number"
+        const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
+        const path3 = (0, utils_common_js_1.getURLPath)(url);
+        if (path3 && path3 !== "/") {
+          this.serviceOrContainerContext = storageClientContext.container;
+        } else {
+          this.serviceOrContainerContext = storageClientContext.service;
         }
       }
-    };
-    exports2.version = {
-      parameterPath: "version",
-      mapper: {
-        defaultValue: "2025-11-05",
-        isConstant: true,
-        serializedName: "x-ms-version",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates a {@link BlobBatch}.
+       * A BlobBatch represents an aggregated set of operations on blobs.
+       */
+      createBatch() {
+        return new BlobBatch_js_1.BlobBatch();
       }
-    };
-    exports2.requestId = {
-      parameterPath: ["options", "requestId"],
-      mapper: {
-        serializedName: "x-ms-client-request-id",
-        xmlName: "x-ms-client-request-id",
-        type: {
-          name: "String"
+      async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) {
+        const batch = new BlobBatch_js_1.BlobBatch();
+        for (const urlOrBlobClient of urlsOrBlobClients) {
+          if (typeof urlOrBlobClient === "string") {
+            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options);
+          } else {
+            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions);
+          }
         }
+        return this.submitBatch(batch);
       }
-    };
-    exports2.accept1 = {
-      parameterPath: "accept",
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Accept",
-        type: {
-          name: "String"
+      async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) {
+        const batch = new BlobBatch_js_1.BlobBatch();
+        for (const urlOrBlobClient of urlsOrBlobClients) {
+          if (typeof urlOrBlobClient === "string") {
+            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options);
+          } else {
+            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions);
+          }
         }
+        return this.submitBatch(batch);
       }
-    };
-    exports2.comp1 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "stats",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      /**
+       * Submit batch request which consists of multiple subrequests.
+       *
+       * Get `blobBatchClient` and other details before running the snippets.
+       * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient`
+       *
+       * Example usage:
+       *
+       * ```ts snippet:BlobBatchClientSubmitBatch
+       * import { DefaultAzureCredential } from "@azure/identity";
+       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
+       *
+       * const account = "";
+       * const credential = new DefaultAzureCredential();
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   credential,
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobBatchClient = containerClient.getBlobBatchClient();
+       *
+       * const batchRequest = new BlobBatch();
+       * await batchRequest.deleteBlob("", credential);
+       * await batchRequest.deleteBlob("", credential, {
+       *   deleteSnapshots: "include",
+       * });
+       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
+       * console.log(batchResp.subResponsesSucceededCount);
+       * ```
+       *
+       * Example using a lease:
+       *
+       * ```ts snippet:BlobBatchClientSubmitBatchWithLease
+       * import { DefaultAzureCredential } from "@azure/identity";
+       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
+       *
+       * const account = "";
+       * const credential = new DefaultAzureCredential();
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   credential,
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blobBatchClient = containerClient.getBlobBatchClient();
+       * const blobClient = containerClient.getBlobClient("");
+       *
+       * const batchRequest = new BlobBatch();
+       * await batchRequest.setBlobAccessTier(blobClient, "Cool");
+       * await batchRequest.setBlobAccessTier(blobClient, "Cool", {
+       *   conditions: { leaseId: "" },
+       * });
+       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
+       * console.log(batchResp.subResponsesSucceededCount);
+       * ```
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @param batchRequest - A set of Delete or SetTier operations.
+       * @param options -
+       */
+      async submitBatch(batchRequest, options = {}) {
+        if (!batchRequest || batchRequest.getSubRequests().size === 0) {
+          throw new RangeError("Batch request should contain one or more sub requests.");
         }
+        return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => {
+          const batchRequestBody = batchRequest.getHttpRequestBody();
+          const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, {
+            ...updatedOptions
+          }));
+          const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests());
+          const responseSummary = await batchResponseParser.parseBatchResponse();
+          const res = {
+            _response: rawBatchResponse._response,
+            contentType: rawBatchResponse.contentType,
+            errorCode: rawBatchResponse.errorCode,
+            requestId: rawBatchResponse.requestId,
+            clientRequestId: rawBatchResponse.clientRequestId,
+            version: rawBatchResponse.version,
+            subResponses: responseSummary.subResponses,
+            subResponsesSucceededCount: responseSummary.subResponsesSucceededCount,
+            subResponsesFailedCount: responseSummary.subResponsesFailedCount
+          };
+          return res;
+        });
       }
     };
-    exports2.comp2 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "list",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+    exports2.BlobBatchClient = BlobBatchClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js
+var require_ContainerClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.ContainerClient = void 0;
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_1 = require_commonjs6();
+    var core_auth_1 = require_commonjs9();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var Pipeline_js_1 = require_Pipeline();
+    var StorageClient_js_1 = require_StorageClient();
+    var tracing_js_1 = require_tracing();
+    var utils_common_js_1 = require_utils_common();
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
+    var Clients_js_1 = require_Clients();
+    var BlobBatchClient_js_1 = require_BlobBatchClient();
+    var ContainerClient = class extends StorageClient_js_1.StorageClient {
+      /**
+       * containerContext provided by protocol layer.
+       */
+      containerContext;
+      _containerName;
+      /**
+       * The name of the container.
+       */
+      get containerName() {
+        return this._containerName;
       }
-    };
-    exports2.prefix = {
-      parameterPath: ["options", "prefix"],
-      mapper: {
-        serializedName: "prefix",
-        xmlName: "prefix",
-        type: {
-          name: "String"
+      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) {
+        let pipeline;
+        let url;
+        options = options || {};
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = credentialOrPipelineOrContainerName;
+        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
+        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
+          url = urlOrConnectionString;
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") {
+          const containerName = credentialOrPipelineOrContainerName;
+          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
+          if (extractedCreds.kind === "AccountConnString") {
+            if (core_util_1.isNodeLike) {
+              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+              url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName));
+              if (!options.proxyOptions) {
+                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+              }
+              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            } else {
+              throw new Error("Account connection string is only supported in Node.js environment");
+            }
+          } else if (extractedCreds.kind === "SASConnString") {
+            url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas;
+            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          } else {
+            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+          }
+        } else {
+          throw new Error("Expecting non-empty strings for containerName parameter");
         }
+        super(url, pipeline);
+        this._containerName = this.getContainerNameFromUrl();
+        this.containerContext = this.storageClientContext.container;
       }
-    };
-    exports2.marker = {
-      parameterPath: ["options", "marker"],
-      mapper: {
-        serializedName: "marker",
-        xmlName: "marker",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates a new container under the specified account. If the container with
+       * the same name already exists, the operation fails.
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
+       *
+       * @param options - Options to Container Create operation.
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ContainerClientCreate
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const createContainerResponse = await containerClient.create();
+       * console.log("Container was created successfully", createContainerResponse.requestId);
+       * ```
+       */
+      async create(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions));
+        });
       }
-    };
-    exports2.maxPageSize = {
-      parameterPath: ["options", "maxPageSize"],
-      mapper: {
-        constraints: {
-          InclusiveMinimum: 1
-        },
-        serializedName: "maxresults",
-        xmlName: "maxresults",
-        type: {
-          name: "Number"
-        }
+      /**
+       * Creates a new container under the specified account. If the container with
+       * the same name already exists, it is not changed.
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
+       *
+       * @param options -
+       */
+      async createIfNotExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => {
+          try {
+            const res = await this.create(updatedOptions);
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+              // _response is made non-enumerable
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "ContainerAlreadyExists") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            } else {
+              throw e;
+            }
+          }
+        });
       }
-    };
-    exports2.include = {
-      parameterPath: ["options", "include"],
-      mapper: {
-        serializedName: "include",
-        xmlName: "include",
-        xmlElementName: "ListContainersIncludeType",
-        type: {
-          name: "Sequence",
-          element: {
-            type: {
-              name: "Enum",
-              allowedValues: ["metadata", "deleted", "system"]
+      /**
+       * Returns true if the Azure container resource represented by this client exists; false otherwise.
+       *
+       * NOTE: use this function with care since an existing container might be deleted by other clients or
+       * applications. Vice versa new containers with the same name might be added by other clients or
+       * applications after this function completes.
+       *
+       * @param options -
+       */
+      async exists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => {
+          try {
+            await this.getProperties({
+              abortSignal: options.abortSignal,
+              tracingOptions: updatedOptions.tracingOptions
+            });
+            return true;
+          } catch (e) {
+            if (e.statusCode === 404) {
+              return false;
             }
+            throw e;
           }
-        }
-      },
-      collectionFormat: "CSV"
-    };
-    exports2.keyInfo = {
-      parameterPath: "keyInfo",
-      mapper: mappers_js_1.KeyInfo
-    };
-    exports2.comp3 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "userdelegationkey",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+        });
       }
-    };
-    exports2.restype1 = {
-      parameterPath: "restype",
-      mapper: {
-        defaultValue: "account",
-        isConstant: true,
-        serializedName: "restype",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates a {@link BlobClient}
+       *
+       * @param blobName - A blob name
+       * @returns A new BlobClient object for the given blob name.
+       */
+      getBlobClient(blobName) {
+        return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
       }
-    };
-    exports2.body = {
-      parameterPath: "body",
-      mapper: {
-        serializedName: "body",
-        required: true,
-        xmlName: "body",
-        type: {
-          name: "Stream"
-        }
+      /**
+       * Creates an {@link AppendBlobClient}
+       *
+       * @param blobName - An append blob name
+       */
+      getAppendBlobClient(blobName) {
+        return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
       }
-    };
-    exports2.comp4 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "batch",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates a {@link BlockBlobClient}
+       *
+       * @param blobName - A block blob name
+       *
+       *
+       * Example usage:
+       *
+       * ```ts snippet:ClientsUpload
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const blobName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
+       *
+       * const content = "Hello world!";
+       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
+       * ```
+       */
+      getBlockBlobClient(blobName) {
+        return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
       }
-    };
-    exports2.contentLength = {
-      parameterPath: "contentLength",
-      mapper: {
-        serializedName: "Content-Length",
-        required: true,
-        xmlName: "Content-Length",
-        type: {
-          name: "Number"
-        }
+      /**
+       * Creates a {@link PageBlobClient}
+       *
+       * @param blobName - A page blob name
+       */
+      getPageBlobClient(blobName) {
+        return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
       }
-    };
-    exports2.multipartContentType = {
-      parameterPath: "multipartContentType",
-      mapper: {
-        serializedName: "Content-Type",
-        required: true,
-        xmlName: "Content-Type",
-        type: {
-          name: "String"
+      /**
+       * Returns all user-defined metadata and system properties for the specified
+       * container. The data returned does not include the container's list of blobs.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties
+       *
+       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
+       * they originally contained uppercase characters. This differs from the metadata keys returned by
+       * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which
+       * will retain their original casing.
+       *
+       * @param options - Options to Container Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
         }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({
+            abortSignal: options.abortSignal,
+            ...options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.comp5 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "blobs",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      /**
+       * Marks the specified container for deletion. The container and any blobs
+       * contained within it are later deleted during garbage collection.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
+       *
+       * @param options - Options to Container Delete operation.
+       */
+      async delete(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
         }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.where = {
-      parameterPath: ["options", "where"],
-      mapper: {
-        serializedName: "where",
-        xmlName: "where",
-        type: {
-          name: "String"
-        }
+      /**
+       * Marks the specified container for deletion if it exists. The container and any blobs
+       * contained within it are later deleted during garbage collection.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
+       *
+       * @param options - Options to Container Delete operation.
+       */
+      async deleteIfExists(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => {
+          try {
+            const res = await this.delete(updatedOptions);
+            return {
+              succeeded: true,
+              ...res,
+              _response: res._response
+            };
+          } catch (e) {
+            if (e.details?.errorCode === "ContainerNotFound") {
+              return {
+                succeeded: false,
+                ...e.response?.parsedHeaders,
+                _response: e.response
+              };
+            }
+            throw e;
+          }
+        });
       }
-    };
-    exports2.restype2 = {
-      parameterPath: "restype",
-      mapper: {
-        defaultValue: "container",
-        isConstant: true,
-        serializedName: "restype",
-        type: {
-          name: "String"
+      /**
+       * Sets one or more user-defined name-value pairs for the specified container.
+       *
+       * If no option provided, or no metadata defined in the parameter, the container
+       * metadata will be removed.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata
+       *
+       * @param metadata - Replace existing metadata with this value.
+       *                            If no value provided the existing metadata will be removed.
+       * @param options - Options to Container Set Metadata operation.
+       */
+      async setMetadata(metadata, options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
         }
-      }
-    };
-    exports2.metadata = {
-      parameterPath: ["options", "metadata"],
-      mapper: {
-        serializedName: "x-ms-meta",
-        xmlName: "x-ms-meta",
-        headerCollectionPrefix: "x-ms-meta-",
-        type: {
-          name: "Dictionary",
-          value: { type: { name: "String" } }
+        if (options.conditions.ifUnmodifiedSince) {
+          throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service");
         }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            metadata,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.access = {
-      parameterPath: ["options", "access"],
-      mapper: {
-        serializedName: "x-ms-blob-public-access",
-        xmlName: "x-ms-blob-public-access",
-        type: {
-          name: "Enum",
-          allowedValues: ["container", "blob"]
+      /**
+       * Gets the permissions for the specified container. The permissions indicate
+       * whether container data may be accessed publicly.
+       *
+       * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings.
+       * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z".
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl
+       *
+       * @param options - Options to Container Get Access Policy operation.
+       */
+      async getAccessPolicy(options = {}) {
+        if (!options.conditions) {
+          options.conditions = {};
         }
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({
+            abortSignal: options.abortSignal,
+            leaseAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const res = {
+            _response: response._response,
+            blobPublicAccess: response.blobPublicAccess,
+            date: response.date,
+            etag: response.etag,
+            errorCode: response.errorCode,
+            lastModified: response.lastModified,
+            requestId: response.requestId,
+            clientRequestId: response.clientRequestId,
+            signedIdentifiers: [],
+            version: response.version
+          };
+          for (const identifier of response) {
+            let accessPolicy = void 0;
+            if (identifier.accessPolicy) {
+              accessPolicy = {
+                permissions: identifier.accessPolicy.permissions
+              };
+              if (identifier.accessPolicy.expiresOn) {
+                accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn);
+              }
+              if (identifier.accessPolicy.startsOn) {
+                accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn);
+              }
+            }
+            res.signedIdentifiers.push({
+              accessPolicy,
+              id: identifier.id
+            });
+          }
+          return res;
+        });
       }
-    };
-    exports2.defaultEncryptionScope = {
-      parameterPath: [
-        "options",
-        "containerEncryptionScope",
-        "defaultEncryptionScope"
-      ],
-      mapper: {
-        serializedName: "x-ms-default-encryption-scope",
-        xmlName: "x-ms-default-encryption-scope",
-        type: {
-          name: "String"
-        }
+      /**
+       * Sets the permissions for the specified container. The permissions indicate
+       * whether blobs in a container may be accessed publicly.
+       *
+       * When you set permissions for a container, the existing permissions are replaced.
+       * If no access or containerAcl provided, the existing container ACL will be
+       * removed.
+       *
+       * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect.
+       * During this interval, a shared access signature that is associated with the stored access policy will
+       * fail with status code 403 (Forbidden), until the access policy becomes active.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl
+       *
+       * @param access - The level of public access to data in the container.
+       * @param containerAcl - Array of elements each having a unique Id and details of the access policy.
+       * @param options - Options to Container Set Access Policy operation.
+       */
+      async setAccessPolicy(access, containerAcl, options = {}) {
+        options.conditions = options.conditions || {};
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => {
+          const acl = [];
+          for (const identifier of containerAcl || []) {
+            acl.push({
+              accessPolicy: {
+                expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "",
+                permissions: identifier.accessPolicy.permissions,
+                startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : ""
+              },
+              id: identifier.id
+            });
+          }
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({
+            abortSignal: options.abortSignal,
+            access,
+            containerAcl: acl,
+            leaseAccessConditions: options.conditions,
+            modifiedAccessConditions: options.conditions,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.preventEncryptionScopeOverride = {
-      parameterPath: [
-        "options",
-        "containerEncryptionScope",
-        "preventEncryptionScopeOverride"
-      ],
-      mapper: {
-        serializedName: "x-ms-deny-encryption-scope-override",
-        xmlName: "x-ms-deny-encryption-scope-override",
-        type: {
-          name: "Boolean"
-        }
+      /**
+       * Get a {@link BlobLeaseClient} that manages leases on the container.
+       *
+       * @param proposeLeaseId - Initial proposed lease Id.
+       * @returns A new BlobLeaseClient object for managing leases on the container.
+       */
+      getBlobLeaseClient(proposeLeaseId) {
+        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
       }
-    };
-    exports2.leaseId = {
-      parameterPath: ["options", "leaseAccessConditions", "leaseId"],
-      mapper: {
-        serializedName: "x-ms-lease-id",
-        xmlName: "x-ms-lease-id",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates a new block blob, or updates the content of an existing block blob.
+       *
+       * Updating an existing block blob overwrites any existing metadata on the blob.
+       * Partial updates are not supported; the content of the existing blob is
+       * overwritten with the new content. To perform a partial update of a block blob's,
+       * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}.
+       *
+       * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile},
+       * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better
+       * performance with concurrency uploading.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
+       *
+       * @param blobName - Name of the block blob to create or update.
+       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
+       *                               which returns a new Readable stream whose offset is from data source beginning.
+       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
+       *                               string including non non-Base64/Hex-encoded characters.
+       * @param options - Options to configure the Block Blob Upload operation.
+       * @returns Block Blob upload response data and the corresponding BlockBlobClient instance.
+       */
+      async uploadBlockBlob(blobName, body, contentLength, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => {
+          const blockBlobClient = this.getBlockBlobClient(blobName);
+          const response = await blockBlobClient.upload(body, contentLength, updatedOptions);
+          return {
+            blockBlobClient,
+            response
+          };
+        });
       }
-    };
-    exports2.ifModifiedSince = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifModifiedSince"],
-      mapper: {
-        serializedName: "If-Modified-Since",
-        xmlName: "If-Modified-Since",
-        type: {
-          name: "DateTimeRfc1123"
-        }
+      /**
+       * Marks the specified blob or snapshot for deletion. The blob is later deleted
+       * during garbage collection. Note that in order to delete a blob, you must delete
+       * all of its snapshots. You can delete both at the same time with the Delete
+       * Blob operation.
+       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
+       *
+       * @param blobName -
+       * @param options - Options to Blob Delete operation.
+       * @returns Block blob deletion response data.
+       */
+      async deleteBlob(blobName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => {
+          let blobClient = this.getBlobClient(blobName);
+          if (options.versionId) {
+            blobClient = blobClient.withVersion(options.versionId);
+          }
+          return blobClient.delete(updatedOptions);
+        });
       }
-    };
-    exports2.ifUnmodifiedSince = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifUnmodifiedSince"],
-      mapper: {
-        serializedName: "If-Unmodified-Since",
-        xmlName: "If-Unmodified-Since",
-        type: {
-          name: "DateTimeRfc1123"
-        }
+      /**
+       * listBlobFlatSegment returns a single segment of blobs starting from the
+       * specified Marker. Use an empty Marker to start enumeration from the beginning.
+       * After getting a segment, process it, and then call listBlobsFlatSegment again
+       * (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
+       *
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to Container List Blob Flat Segment operation.
+       */
+      async listBlobFlatSegment(marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({
+            marker,
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: {
+              ...response._response,
+              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody)
+            },
+            // _response is made non-enumerable
+            segment: {
+              ...response.segment,
+              blobItems: response.segment.blobItems.map((blobItemInternal) => {
+                const blobItem = {
+                  ...blobItemInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
+                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
+                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
+                };
+                return blobItem;
+              })
+            }
+          };
+          return wrappedResponse;
+        });
       }
-    };
-    exports2.comp6 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "metadata",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      /**
+       * listBlobHierarchySegment returns a single segment of blobs starting from
+       * the specified Marker. Use an empty Marker to start enumeration from the
+       * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment
+       * again (passing the the previously-returned Marker) to get the next segment.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
+       * @param options - Options to Container List Blob Hierarchy Segment operation.
+       */
+      async listBlobHierarchySegment(delimiter, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, {
+            marker,
+            ...options,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: {
+              ...response._response,
+              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody)
+            },
+            // _response is made non-enumerable
+            segment: {
+              ...response.segment,
+              blobItems: response.segment.blobItems.map((blobItemInternal) => {
+                const blobItem = {
+                  ...blobItemInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
+                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
+                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
+                };
+                return blobItem;
+              }),
+              blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => {
+                const blobPrefix = {
+                  ...blobPrefixInternal,
+                  name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name)
+                };
+                return blobPrefix;
+              })
+            }
+          };
+          return wrappedResponse;
+        });
       }
-    };
-    exports2.comp7 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "acl",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse
+       *
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to list blobs operation.
+       */
+      async *listSegments(marker, options = {}) {
+        let listBlobsFlatSegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options);
+            marker = listBlobsFlatSegmentResponse.continuationToken;
+            yield await listBlobsFlatSegmentResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.containerAcl = {
-      parameterPath: ["options", "containerAcl"],
-      mapper: {
-        serializedName: "containerAcl",
-        xmlName: "SignedIdentifiers",
-        xmlIsWrapped: true,
-        xmlElementName: "SignedIdentifier",
-        type: {
-          name: "Sequence",
-          element: {
-            type: {
-              name: "Composite",
-              className: "SignedIdentifier"
-            }
-          }
+      /**
+       * Returns an AsyncIterableIterator of {@link BlobItem} objects
+       *
+       * @param options - Options to list blobs operation.
+       */
+      async *listItems(options = {}) {
+        let marker;
+        for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) {
+          yield* listBlobsFlatSegmentResponse.segment.blobItems;
         }
       }
-    };
-    exports2.comp8 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "undelete",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      /**
+       * Returns an async iterable iterator to list all the blobs
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * ```ts snippet:ReadmeSampleListBlobs_Multiple
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * const blobs = containerClient.listBlobsFlat();
+       * for await (const blob of blobs) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.listBlobsFlat();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param options - Options to list blobs.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listBlobsFlat(options = {}) {
+        const include = [];
+        if (options.includeCopy) {
+          include.push("copy");
         }
-      }
-    };
-    exports2.deletedContainerName = {
-      parameterPath: ["options", "deletedContainerName"],
-      mapper: {
-        serializedName: "x-ms-deleted-container-name",
-        xmlName: "x-ms-deleted-container-name",
-        type: {
-          name: "String"
+        if (options.includeDeleted) {
+          include.push("deleted");
         }
-      }
-    };
-    exports2.deletedContainerVersion = {
-      parameterPath: ["options", "deletedContainerVersion"],
-      mapper: {
-        serializedName: "x-ms-deleted-container-version",
-        xmlName: "x-ms-deleted-container-version",
-        type: {
-          name: "String"
+        if (options.includeMetadata) {
+          include.push("metadata");
         }
-      }
-    };
-    exports2.comp9 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "rename",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (options.includeSnapshots) {
+          include.push("snapshots");
         }
-      }
-    };
-    exports2.sourceContainerName = {
-      parameterPath: "sourceContainerName",
-      mapper: {
-        serializedName: "x-ms-source-container-name",
-        required: true,
-        xmlName: "x-ms-source-container-name",
-        type: {
-          name: "String"
+        if (options.includeVersions) {
+          include.push("versions");
         }
-      }
-    };
-    exports2.sourceLeaseId = {
-      parameterPath: ["options", "sourceLeaseId"],
-      mapper: {
-        serializedName: "x-ms-source-lease-id",
-        xmlName: "x-ms-source-lease-id",
-        type: {
-          name: "String"
+        if (options.includeUncommitedBlobs) {
+          include.push("uncommittedblobs");
         }
-      }
-    };
-    exports2.comp10 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "lease",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (options.includeTags) {
+          include.push("tags");
         }
-      }
-    };
-    exports2.action = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "acquire",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+        if (options.includeDeletedWithVersions) {
+          include.push("deletedwithversions");
         }
-      }
-    };
-    exports2.duration = {
-      parameterPath: ["options", "duration"],
-      mapper: {
-        serializedName: "x-ms-lease-duration",
-        xmlName: "x-ms-lease-duration",
-        type: {
-          name: "Number"
+        if (options.includeImmutabilityPolicy) {
+          include.push("immutabilitypolicy");
         }
-      }
-    };
-    exports2.proposedLeaseId = {
-      parameterPath: ["options", "proposedLeaseId"],
-      mapper: {
-        serializedName: "x-ms-proposed-lease-id",
-        xmlName: "x-ms-proposed-lease-id",
-        type: {
-          name: "String"
+        if (options.includeLegalHold) {
+          include.push("legalhold");
         }
-      }
-    };
-    exports2.action1 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "release",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+        if (options.prefix === "") {
+          options.prefix = void 0;
         }
+        const updatedOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItems(updatedOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listSegments(settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...updatedOptions
+            });
+          }
+        };
       }
-    };
-    exports2.leaseId1 = {
-      parameterPath: "leaseId",
-      mapper: {
-        serializedName: "x-ms-lease-id",
-        required: true,
-        xmlName: "x-ms-lease-id",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the ContinuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The ContinuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to list blobs operation.
+       */
+      async *listHierarchySegments(delimiter, marker, options = {}) {
+        let listBlobsHierarchySegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options);
+            marker = listBlobsHierarchySegmentResponse.continuationToken;
+            yield await listBlobsHierarchySegmentResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.action2 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "renew",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects.
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param options - Options to list blobs operation.
+       */
+      async *listItemsByHierarchy(delimiter, options = {}) {
+        let marker;
+        for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) {
+          const segment = listBlobsHierarchySegmentResponse.segment;
+          if (segment.blobPrefixes) {
+            for (const prefix of segment.blobPrefixes) {
+              yield {
+                kind: "prefix",
+                ...prefix
+              };
+            }
+          }
+          for (const blob of segment.blobItems) {
+            yield { kind: "blob", ...blob };
+          }
         }
       }
-    };
-    exports2.action3 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "break",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+      /**
+       * Returns an async iterable iterator to list all the blobs by hierarchy.
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages.
+       *
+       * ```ts snippet:ReadmeSampleListBlobsByHierarchy
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * const blobs = containerClient.listBlobsByHierarchy("/");
+       * for await (const blob of blobs) {
+       *   if (blob.kind === "prefix") {
+       *     console.log(`\tBlobPrefix: ${blob.name}`);
+       *   } else {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.listBlobsByHierarchy("/");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   if (value.kind === "prefix") {
+       *     console.log(`\tBlobPrefix: ${value.name}`);
+       *   } else {
+       *     console.log(`\tBlobItem: name - ${value.name}`);
+       *   }
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
+       *   const segment = page.segment;
+       *   if (segment.blobPrefixes) {
+       *     for (const prefix of segment.blobPrefixes) {
+       *       console.log(`\tBlobPrefix: ${prefix.name}`);
+       *     }
+       *   }
+       *   for (const blob of page.segment.blobItems) {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobPrefixes) {
+       *   for (const prefix of response.blobPrefixes) {
+       *     console.log(`\tBlobPrefix: ${prefix.name}`);
+       *   }
+       * }
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`\tBlobItem: name - ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient
+       *   .listBlobsByHierarchy("/")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.blobPrefixes) {
+       *   for (const prefix of response.blobPrefixes) {
+       *     console.log(`\tBlobPrefix: ${prefix.name}`);
+       *   }
+       * }
+       * if (response.segment.blobItems) {
+       *   for (const blob of response.segment.blobItems) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param delimiter - The character or string used to define the virtual hierarchy
+       * @param options - Options to list blobs operation.
+       */
+      listBlobsByHierarchy(delimiter, options = {}) {
+        if (delimiter === "") {
+          throw new RangeError("delimiter should contain one or more characters");
         }
-      }
-    };
-    exports2.breakPeriod = {
-      parameterPath: ["options", "breakPeriod"],
-      mapper: {
-        serializedName: "x-ms-lease-break-period",
-        xmlName: "x-ms-lease-break-period",
-        type: {
-          name: "Number"
+        const include = [];
+        if (options.includeCopy) {
+          include.push("copy");
         }
-      }
-    };
-    exports2.action4 = {
-      parameterPath: "action",
-      mapper: {
-        defaultValue: "change",
-        isConstant: true,
-        serializedName: "x-ms-lease-action",
-        type: {
-          name: "String"
+        if (options.includeDeleted) {
+          include.push("deleted");
         }
-      }
-    };
-    exports2.proposedLeaseId1 = {
-      parameterPath: "proposedLeaseId",
-      mapper: {
-        serializedName: "x-ms-proposed-lease-id",
-        required: true,
-        xmlName: "x-ms-proposed-lease-id",
-        type: {
-          name: "String"
+        if (options.includeMetadata) {
+          include.push("metadata");
         }
-      }
-    };
-    exports2.include1 = {
-      parameterPath: ["options", "include"],
-      mapper: {
-        serializedName: "include",
-        xmlName: "include",
-        xmlElementName: "ListBlobsIncludeItem",
-        type: {
-          name: "Sequence",
-          element: {
-            type: {
-              name: "Enum",
-              allowedValues: [
-                "copy",
-                "deleted",
-                "metadata",
-                "snapshots",
-                "uncommittedblobs",
-                "versions",
-                "tags",
-                "immutabilitypolicy",
-                "legalhold",
-                "deletedwithversions"
-              ]
-            }
-          }
+        if (options.includeSnapshots) {
+          include.push("snapshots");
         }
-      },
-      collectionFormat: "CSV"
-    };
-    exports2.delimiter = {
-      parameterPath: "delimiter",
-      mapper: {
-        serializedName: "delimiter",
-        required: true,
-        xmlName: "delimiter",
-        type: {
-          name: "String"
+        if (options.includeVersions) {
+          include.push("versions");
         }
-      }
-    };
-    exports2.snapshot = {
-      parameterPath: ["options", "snapshot"],
-      mapper: {
-        serializedName: "snapshot",
-        xmlName: "snapshot",
-        type: {
-          name: "String"
+        if (options.includeUncommitedBlobs) {
+          include.push("uncommittedblobs");
         }
-      }
-    };
-    exports2.versionId = {
-      parameterPath: ["options", "versionId"],
-      mapper: {
-        serializedName: "versionid",
-        xmlName: "versionid",
-        type: {
-          name: "String"
+        if (options.includeTags) {
+          include.push("tags");
         }
-      }
-    };
-    exports2.range = {
-      parameterPath: ["options", "range"],
-      mapper: {
-        serializedName: "x-ms-range",
-        xmlName: "x-ms-range",
-        type: {
-          name: "String"
+        if (options.includeDeletedWithVersions) {
+          include.push("deletedwithversions");
         }
-      }
-    };
-    exports2.rangeGetContentMD5 = {
-      parameterPath: ["options", "rangeGetContentMD5"],
-      mapper: {
-        serializedName: "x-ms-range-get-content-md5",
-        xmlName: "x-ms-range-get-content-md5",
-        type: {
-          name: "Boolean"
+        if (options.includeImmutabilityPolicy) {
+          include.push("immutabilitypolicy");
         }
-      }
-    };
-    exports2.rangeGetContentCRC64 = {
-      parameterPath: ["options", "rangeGetContentCRC64"],
-      mapper: {
-        serializedName: "x-ms-range-get-content-crc64",
-        xmlName: "x-ms-range-get-content-crc64",
-        type: {
-          name: "Boolean"
+        if (options.includeLegalHold) {
+          include.push("legalhold");
         }
-      }
-    };
-    exports2.encryptionKey = {
-      parameterPath: ["options", "cpkInfo", "encryptionKey"],
-      mapper: {
-        serializedName: "x-ms-encryption-key",
-        xmlName: "x-ms-encryption-key",
-        type: {
-          name: "String"
+        if (options.prefix === "") {
+          options.prefix = void 0;
         }
+        const updatedOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItemsByHierarchy(delimiter, updatedOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          async next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listHierarchySegments(delimiter, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...updatedOptions
+            });
+          }
+        };
       }
-    };
-    exports2.encryptionKeySha256 = {
-      parameterPath: ["options", "cpkInfo", "encryptionKeySha256"],
-      mapper: {
-        serializedName: "x-ms-encryption-key-sha256",
-        xmlName: "x-ms-encryption-key-sha256",
-        type: {
-          name: "String"
-        }
+      /**
+       * The Filter Blobs operation enables callers to list blobs in the container whose tags
+       * match a given search expression.
+       *
+       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                        The given expression must evaluate to true for a blob to be returned in the results.
+       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({
+            abortSignal: options.abortSignal,
+            where: tagFilterSqlExpression,
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            blobs: response.blobs.map((blob) => {
+              let tagValue = "";
+              if (blob.tags?.blobTagSet.length === 1) {
+                tagValue = blob.tags.blobTagSet[0].value;
+              }
+              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
+            })
+          };
+          return wrappedResponse;
+        });
       }
-    };
-    exports2.encryptionAlgorithm = {
-      parameterPath: ["options", "cpkInfo", "encryptionAlgorithm"],
-      mapper: {
-        serializedName: "x-ms-encryption-algorithm",
-        xmlName: "x-ms-encryption-algorithm",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
+        let response;
+        if (!!marker || marker === void 0) {
+          do {
+            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
+            response.blobs = response.blobs || [];
+            marker = response.continuationToken;
+            yield response;
+          } while (marker);
         }
       }
-    };
-    exports2.ifMatch = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifMatch"],
-      mapper: {
-        serializedName: "If-Match",
-        xmlName: "If-Match",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator for blobs.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to findBlobsByTagsItems.
+       */
+      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
+        let marker;
+        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
+          yield* segment.blobs;
         }
       }
-    };
-    exports2.ifNoneMatch = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifNoneMatch"],
-      mapper: {
-        serializedName: "If-None-Match",
-        xmlName: "If-None-Match",
-        type: {
-          name: "String"
-        }
+      /**
+       * Returns an async iterable iterator to find all blobs with specified tag
+       * under the specified container.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * Example using `for await` syntax:
+       *
+       * ```ts snippet:ReadmeSampleFindBlobsByTags
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerName = "";
+       * const containerClient = blobServiceClient.getContainerClient(containerName);
+       *
+       * // Example using `for await` syntax
+       * let i = 1;
+       * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Example using `iter.next()` syntax
+       * i = 1;
+       * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Example using `byPage()` syntax
+       * i = 1;
+       * for await (const page of containerClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Example using paging with a marker
+       * i = 1;
+       * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = containerClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       * // Prints 10 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to find blobs by tags.
+       */
+      findBlobsByTags(tagFilterSqlExpression, options = {}) {
+        const listSegmentOptions = {
+          ...options
+        };
+        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
       }
-    };
-    exports2.ifTags = {
-      parameterPath: ["options", "modifiedAccessConditions", "ifTags"],
-      mapper: {
-        serializedName: "x-ms-if-tags",
-        xmlName: "x-ms-if-tags",
-        type: {
-          name: "String"
-        }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.deleteSnapshots = {
-      parameterPath: ["options", "deleteSnapshots"],
-      mapper: {
-        serializedName: "x-ms-delete-snapshots",
-        xmlName: "x-ms-delete-snapshots",
-        type: {
-          name: "Enum",
-          allowedValues: ["include", "only"]
+      getContainerNameFromUrl() {
+        let containerName;
+        try {
+          const parsedUrl = new URL(this.url);
+          if (parsedUrl.hostname.split(".")[1] === "blob") {
+            containerName = parsedUrl.pathname.split("/")[1];
+          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
+            containerName = parsedUrl.pathname.split("/")[2];
+          } else {
+            containerName = parsedUrl.pathname.split("/")[1];
+          }
+          containerName = decodeURIComponent(containerName);
+          if (!containerName) {
+            throw new Error("Provided containerName is invalid.");
+          }
+          return containerName;
+        } catch (error3) {
+          throw new Error("Unable to extract containerName with provided information.");
         }
       }
-    };
-    exports2.blobDeleteType = {
-      parameterPath: ["options", "blobDeleteType"],
-      mapper: {
-        serializedName: "deletetype",
-        xmlName: "deletetype",
-        type: {
-          name: "String"
-        }
+      /**
+       * Only available for ContainerClient constructed with a shared key credential.
+       *
+       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasUrl(options) {
+        return new Promise((resolve2) => {
+          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+          }
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            ...options
+          }, this.credential).toString();
+          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
       }
-    };
-    exports2.comp11 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "expiry",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      /**
+       * Only available for ContainerClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
+       * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
+      generateSasStringToSign(options) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
         }
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          ...options
+        }, this.credential).stringToSign;
       }
-    };
-    exports2.expiryOptions = {
-      parameterPath: "expiryOptions",
-      mapper: {
-        serializedName: "x-ms-expiry-option",
-        required: true,
-        xmlName: "x-ms-expiry-option",
-        type: {
-          name: "String"
-        }
+      /**
+       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasUrl(options, userDelegationKey) {
+        return new Promise((resolve2) => {
+          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
+            containerName: this._containerName,
+            ...options
+          }, userDelegationKey, this.accountName).toString();
+          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
+        });
       }
-    };
-    exports2.expiresOn = {
-      parameterPath: ["options", "expiresOn"],
-      mapper: {
-        serializedName: "x-ms-expiry-time",
-        xmlName: "x-ms-expiry-time",
-        type: {
-          name: "String"
-        }
+      /**
+       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
+       * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
+       *
+       * @param options - Optional parameters.
+       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
+       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateUserDelegationSasStringToSign(options, userDelegationKey) {
+        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
+          containerName: this._containerName,
+          ...options
+        }, userDelegationKey, this.accountName).stringToSign;
       }
-    };
-    exports2.blobCacheControl = {
-      parameterPath: ["options", "blobHttpHeaders", "blobCacheControl"],
-      mapper: {
-        serializedName: "x-ms-blob-cache-control",
-        xmlName: "x-ms-blob-cache-control",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates a BlobBatchClient object to conduct batch operations.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @returns A new BlobBatchClient object for this container.
+       */
+      getBlobBatchClient() {
+        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
       }
     };
-    exports2.blobContentType = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentType"],
-      mapper: {
-        serializedName: "x-ms-blob-content-type",
-        xmlName: "x-ms-blob-content-type",
-        type: {
-          name: "String"
+    exports2.ContainerClient = ContainerClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js
+var require_AccountSASPermissions = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASPermissions = void 0;
+    var AccountSASPermissions = class _AccountSASPermissions {
+      /**
+       * Parse initializes the AccountSASPermissions fields from a string.
+       *
+       * @param permissions -
+       */
+      static parse(permissions) {
+        const accountSASPermissions = new _AccountSASPermissions();
+        for (const c of permissions) {
+          switch (c) {
+            case "r":
+              accountSASPermissions.read = true;
+              break;
+            case "w":
+              accountSASPermissions.write = true;
+              break;
+            case "d":
+              accountSASPermissions.delete = true;
+              break;
+            case "x":
+              accountSASPermissions.deleteVersion = true;
+              break;
+            case "l":
+              accountSASPermissions.list = true;
+              break;
+            case "a":
+              accountSASPermissions.add = true;
+              break;
+            case "c":
+              accountSASPermissions.create = true;
+              break;
+            case "u":
+              accountSASPermissions.update = true;
+              break;
+            case "p":
+              accountSASPermissions.process = true;
+              break;
+            case "t":
+              accountSASPermissions.tag = true;
+              break;
+            case "f":
+              accountSASPermissions.filter = true;
+              break;
+            case "i":
+              accountSASPermissions.setImmutabilityPolicy = true;
+              break;
+            case "y":
+              accountSASPermissions.permanentDelete = true;
+              break;
+            default:
+              throw new RangeError(`Invalid permission character: ${c}`);
+          }
         }
+        return accountSASPermissions;
       }
-    };
-    exports2.blobContentMD5 = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentMD5"],
-      mapper: {
-        serializedName: "x-ms-blob-content-md5",
-        xmlName: "x-ms-blob-content-md5",
-        type: {
-          name: "ByteArray"
+      /**
+       * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it
+       * and boolean values for them.
+       *
+       * @param permissionLike -
+       */
+      static from(permissionLike) {
+        const accountSASPermissions = new _AccountSASPermissions();
+        if (permissionLike.read) {
+          accountSASPermissions.read = true;
         }
-      }
-    };
-    exports2.blobContentEncoding = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentEncoding"],
-      mapper: {
-        serializedName: "x-ms-blob-content-encoding",
-        xmlName: "x-ms-blob-content-encoding",
-        type: {
-          name: "String"
+        if (permissionLike.write) {
+          accountSASPermissions.write = true;
         }
-      }
-    };
-    exports2.blobContentLanguage = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentLanguage"],
-      mapper: {
-        serializedName: "x-ms-blob-content-language",
-        xmlName: "x-ms-blob-content-language",
-        type: {
-          name: "String"
+        if (permissionLike.delete) {
+          accountSASPermissions.delete = true;
         }
-      }
-    };
-    exports2.blobContentDisposition = {
-      parameterPath: ["options", "blobHttpHeaders", "blobContentDisposition"],
-      mapper: {
-        serializedName: "x-ms-blob-content-disposition",
-        xmlName: "x-ms-blob-content-disposition",
-        type: {
-          name: "String"
+        if (permissionLike.deleteVersion) {
+          accountSASPermissions.deleteVersion = true;
         }
-      }
-    };
-    exports2.comp12 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "immutabilityPolicies",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (permissionLike.filter) {
+          accountSASPermissions.filter = true;
         }
-      }
-    };
-    exports2.immutabilityPolicyExpiry = {
-      parameterPath: ["options", "immutabilityPolicyExpiry"],
-      mapper: {
-        serializedName: "x-ms-immutability-policy-until-date",
-        xmlName: "x-ms-immutability-policy-until-date",
-        type: {
-          name: "DateTimeRfc1123"
+        if (permissionLike.tag) {
+          accountSASPermissions.tag = true;
         }
-      }
-    };
-    exports2.immutabilityPolicyMode = {
-      parameterPath: ["options", "immutabilityPolicyMode"],
-      mapper: {
-        serializedName: "x-ms-immutability-policy-mode",
-        xmlName: "x-ms-immutability-policy-mode",
-        type: {
-          name: "Enum",
-          allowedValues: ["Mutable", "Unlocked", "Locked"]
+        if (permissionLike.list) {
+          accountSASPermissions.list = true;
         }
-      }
-    };
-    exports2.comp13 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "legalhold",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (permissionLike.add) {
+          accountSASPermissions.add = true;
         }
-      }
-    };
-    exports2.legalHold = {
-      parameterPath: "legalHold",
-      mapper: {
-        serializedName: "x-ms-legal-hold",
-        required: true,
-        xmlName: "x-ms-legal-hold",
-        type: {
-          name: "Boolean"
+        if (permissionLike.create) {
+          accountSASPermissions.create = true;
         }
-      }
-    };
-    exports2.encryptionScope = {
-      parameterPath: ["options", "encryptionScope"],
-      mapper: {
-        serializedName: "x-ms-encryption-scope",
-        xmlName: "x-ms-encryption-scope",
-        type: {
-          name: "String"
+        if (permissionLike.update) {
+          accountSASPermissions.update = true;
         }
-      }
-    };
-    exports2.comp14 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "snapshot",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (permissionLike.process) {
+          accountSASPermissions.process = true;
         }
-      }
-    };
-    exports2.tier = {
-      parameterPath: ["options", "tier"],
-      mapper: {
-        serializedName: "x-ms-access-tier",
-        xmlName: "x-ms-access-tier",
-        type: {
-          name: "Enum",
-          allowedValues: [
-            "P4",
-            "P6",
-            "P10",
-            "P15",
-            "P20",
-            "P30",
-            "P40",
-            "P50",
-            "P60",
-            "P70",
-            "P80",
-            "Hot",
-            "Cool",
-            "Archive",
-            "Cold"
-          ]
+        if (permissionLike.setImmutabilityPolicy) {
+          accountSASPermissions.setImmutabilityPolicy = true;
         }
-      }
-    };
-    exports2.rehydratePriority = {
-      parameterPath: ["options", "rehydratePriority"],
-      mapper: {
-        serializedName: "x-ms-rehydrate-priority",
-        xmlName: "x-ms-rehydrate-priority",
-        type: {
-          name: "Enum",
-          allowedValues: ["High", "Standard"]
+        if (permissionLike.permanentDelete) {
+          accountSASPermissions.permanentDelete = true;
         }
+        return accountSASPermissions;
       }
-    };
-    exports2.sourceIfModifiedSince = {
-      parameterPath: [
-        "options",
-        "sourceModifiedAccessConditions",
-        "sourceIfModifiedSince"
-      ],
-      mapper: {
-        serializedName: "x-ms-source-if-modified-since",
-        xmlName: "x-ms-source-if-modified-since",
-        type: {
-          name: "DateTimeRfc1123"
+      /**
+       * Permission to read resources and list queues and tables granted.
+       */
+      read = false;
+      /**
+       * Permission to write resources granted.
+       */
+      write = false;
+      /**
+       * Permission to delete blobs and files granted.
+       */
+      delete = false;
+      /**
+       * Permission to delete versions granted.
+       */
+      deleteVersion = false;
+      /**
+       * Permission to list blob containers, blobs, shares, directories, and files granted.
+       */
+      list = false;
+      /**
+       * Permission to add messages, table entities, and append to blobs granted.
+       */
+      add = false;
+      /**
+       * Permission to create blobs and files granted.
+       */
+      create = false;
+      /**
+       * Permissions to update messages and table entities granted.
+       */
+      update = false;
+      /**
+       * Permission to get and delete messages granted.
+       */
+      process = false;
+      /**
+       * Specfies Tag access granted.
+       */
+      tag = false;
+      /**
+       * Permission to filter blobs.
+       */
+      filter = false;
+      /**
+       * Permission to set immutability policy.
+       */
+      setImmutabilityPolicy = false;
+      /**
+       * Specifies that Permanent Delete is permitted.
+       */
+      permanentDelete = false;
+      /**
+       * Produces the SAS permissions string for an Azure Storage account.
+       * Call this method to set AccountSASSignatureValues Permissions field.
+       *
+       * Using this method will guarantee the resource types are in
+       * an order accepted by the service.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
+       *
+       */
+      toString() {
+        const permissions = [];
+        if (this.read) {
+          permissions.push("r");
         }
-      }
-    };
-    exports2.sourceIfUnmodifiedSince = {
-      parameterPath: [
-        "options",
-        "sourceModifiedAccessConditions",
-        "sourceIfUnmodifiedSince"
-      ],
-      mapper: {
-        serializedName: "x-ms-source-if-unmodified-since",
-        xmlName: "x-ms-source-if-unmodified-since",
-        type: {
-          name: "DateTimeRfc1123"
+        if (this.write) {
+          permissions.push("w");
         }
-      }
-    };
-    exports2.sourceIfMatch = {
-      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfMatch"],
-      mapper: {
-        serializedName: "x-ms-source-if-match",
-        xmlName: "x-ms-source-if-match",
-        type: {
-          name: "String"
+        if (this.delete) {
+          permissions.push("d");
         }
-      }
-    };
-    exports2.sourceIfNoneMatch = {
-      parameterPath: [
-        "options",
-        "sourceModifiedAccessConditions",
-        "sourceIfNoneMatch"
-      ],
-      mapper: {
-        serializedName: "x-ms-source-if-none-match",
-        xmlName: "x-ms-source-if-none-match",
-        type: {
-          name: "String"
+        if (this.deleteVersion) {
+          permissions.push("x");
         }
-      }
-    };
-    exports2.sourceIfTags = {
-      parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfTags"],
-      mapper: {
-        serializedName: "x-ms-source-if-tags",
-        xmlName: "x-ms-source-if-tags",
-        type: {
-          name: "String"
+        if (this.filter) {
+          permissions.push("f");
+        }
+        if (this.tag) {
+          permissions.push("t");
         }
-      }
-    };
-    exports2.copySource = {
-      parameterPath: "copySource",
-      mapper: {
-        serializedName: "x-ms-copy-source",
-        required: true,
-        xmlName: "x-ms-copy-source",
-        type: {
-          name: "String"
+        if (this.list) {
+          permissions.push("l");
         }
-      }
-    };
-    exports2.blobTagsString = {
-      parameterPath: ["options", "blobTagsString"],
-      mapper: {
-        serializedName: "x-ms-tags",
-        xmlName: "x-ms-tags",
-        type: {
-          name: "String"
+        if (this.add) {
+          permissions.push("a");
         }
-      }
-    };
-    exports2.sealBlob = {
-      parameterPath: ["options", "sealBlob"],
-      mapper: {
-        serializedName: "x-ms-seal-blob",
-        xmlName: "x-ms-seal-blob",
-        type: {
-          name: "Boolean"
+        if (this.create) {
+          permissions.push("c");
         }
-      }
-    };
-    exports2.legalHold1 = {
-      parameterPath: ["options", "legalHold"],
-      mapper: {
-        serializedName: "x-ms-legal-hold",
-        xmlName: "x-ms-legal-hold",
-        type: {
-          name: "Boolean"
+        if (this.update) {
+          permissions.push("u");
         }
-      }
-    };
-    exports2.xMsRequiresSync = {
-      parameterPath: "xMsRequiresSync",
-      mapper: {
-        defaultValue: "true",
-        isConstant: true,
-        serializedName: "x-ms-requires-sync",
-        type: {
-          name: "String"
+        if (this.process) {
+          permissions.push("p");
         }
-      }
-    };
-    exports2.sourceContentMD5 = {
-      parameterPath: ["options", "sourceContentMD5"],
-      mapper: {
-        serializedName: "x-ms-source-content-md5",
-        xmlName: "x-ms-source-content-md5",
-        type: {
-          name: "ByteArray"
+        if (this.setImmutabilityPolicy) {
+          permissions.push("i");
         }
-      }
-    };
-    exports2.copySourceAuthorization = {
-      parameterPath: ["options", "copySourceAuthorization"],
-      mapper: {
-        serializedName: "x-ms-copy-source-authorization",
-        xmlName: "x-ms-copy-source-authorization",
-        type: {
-          name: "String"
+        if (this.permanentDelete) {
+          permissions.push("y");
         }
+        return permissions.join("");
       }
     };
-    exports2.copySourceTags = {
-      parameterPath: ["options", "copySourceTags"],
-      mapper: {
-        serializedName: "x-ms-copy-source-tag-option",
-        xmlName: "x-ms-copy-source-tag-option",
-        type: {
-          name: "Enum",
-          allowedValues: ["REPLACE", "COPY"]
+    exports2.AccountSASPermissions = AccountSASPermissions;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js
+var require_AccountSASResourceTypes = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASResourceTypes = void 0;
+    var AccountSASResourceTypes = class _AccountSASResourceTypes {
+      /**
+       * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid resource type.
+       *
+       * @param resourceTypes -
+       */
+      static parse(resourceTypes) {
+        const accountSASResourceTypes = new _AccountSASResourceTypes();
+        for (const c of resourceTypes) {
+          switch (c) {
+            case "s":
+              accountSASResourceTypes.service = true;
+              break;
+            case "c":
+              accountSASResourceTypes.container = true;
+              break;
+            case "o":
+              accountSASResourceTypes.object = true;
+              break;
+            default:
+              throw new RangeError(`Invalid resource type: ${c}`);
+          }
         }
+        return accountSASResourceTypes;
       }
-    };
-    exports2.fileRequestIntent = {
-      parameterPath: ["options", "fileRequestIntent"],
-      mapper: {
-        serializedName: "x-ms-file-request-intent",
-        xmlName: "x-ms-file-request-intent",
-        type: {
-          name: "String"
+      /**
+       * Permission to access service level APIs granted.
+       */
+      service = false;
+      /**
+       * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
+       */
+      container = false;
+      /**
+       * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
+       */
+      object = false;
+      /**
+       * Converts the given resource types to a string.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
+       *
+       */
+      toString() {
+        const resourceTypes = [];
+        if (this.service) {
+          resourceTypes.push("s");
         }
-      }
-    };
-    exports2.comp15 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "copy",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (this.container) {
+          resourceTypes.push("c");
         }
-      }
-    };
-    exports2.copyActionAbortConstant = {
-      parameterPath: "copyActionAbortConstant",
-      mapper: {
-        defaultValue: "abort",
-        isConstant: true,
-        serializedName: "x-ms-copy-action",
-        type: {
-          name: "String"
+        if (this.object) {
+          resourceTypes.push("o");
         }
+        return resourceTypes.join("");
       }
     };
-    exports2.copyId = {
-      parameterPath: "copyId",
-      mapper: {
-        serializedName: "copyid",
-        required: true,
-        xmlName: "copyid",
-        type: {
-          name: "String"
+    exports2.AccountSASResourceTypes = AccountSASResourceTypes;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js
+var require_AccountSASServices = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AccountSASServices = void 0;
+    var AccountSASServices = class _AccountSASServices {
+      /**
+       * Creates an {@link AccountSASServices} from the specified services string. This method will throw an
+       * Error if it encounters a character that does not correspond to a valid service.
+       *
+       * @param services -
+       */
+      static parse(services) {
+        const accountSASServices = new _AccountSASServices();
+        for (const c of services) {
+          switch (c) {
+            case "b":
+              accountSASServices.blob = true;
+              break;
+            case "f":
+              accountSASServices.file = true;
+              break;
+            case "q":
+              accountSASServices.queue = true;
+              break;
+            case "t":
+              accountSASServices.table = true;
+              break;
+            default:
+              throw new RangeError(`Invalid service character: ${c}`);
+          }
         }
+        return accountSASServices;
       }
-    };
-    exports2.comp16 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "tier",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      /**
+       * Permission to access blob resources granted.
+       */
+      blob = false;
+      /**
+       * Permission to access file resources granted.
+       */
+      file = false;
+      /**
+       * Permission to access queue resources granted.
+       */
+      queue = false;
+      /**
+       * Permission to access table resources granted.
+       */
+      table = false;
+      /**
+       * Converts the given services to a string.
+       *
+       */
+      toString() {
+        const services = [];
+        if (this.blob) {
+          services.push("b");
         }
-      }
-    };
-    exports2.tier1 = {
-      parameterPath: "tier",
-      mapper: {
-        serializedName: "x-ms-access-tier",
-        required: true,
-        xmlName: "x-ms-access-tier",
-        type: {
-          name: "Enum",
-          allowedValues: [
-            "P4",
-            "P6",
-            "P10",
-            "P15",
-            "P20",
-            "P30",
-            "P40",
-            "P50",
-            "P60",
-            "P70",
-            "P80",
-            "Hot",
-            "Cool",
-            "Archive",
-            "Cold"
-          ]
+        if (this.table) {
+          services.push("t");
         }
-      }
-    };
-    exports2.queryRequest = {
-      parameterPath: ["options", "queryRequest"],
-      mapper: mappers_js_1.QueryRequest
-    };
-    exports2.comp17 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "query",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (this.queue) {
+          services.push("q");
         }
-      }
-    };
-    exports2.comp18 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "tags",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (this.file) {
+          services.push("f");
         }
+        return services.join("");
       }
     };
-    exports2.tags = {
-      parameterPath: ["options", "tags"],
-      mapper: mappers_js_1.BlobTags
-    };
-    exports2.transactionalContentMD5 = {
-      parameterPath: ["options", "transactionalContentMD5"],
-      mapper: {
-        serializedName: "Content-MD5",
-        xmlName: "Content-MD5",
-        type: {
-          name: "ByteArray"
-        }
+    exports2.AccountSASServices = AccountSASServices;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js
+var require_AccountSASSignatureValues = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters;
+    exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal;
+    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
+    var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes();
+    var AccountSASServices_js_1 = require_AccountSASServices();
+    var SasIPRange_js_1 = require_SasIPRange();
+    var SASQueryParameters_js_1 = require_SASQueryParameters();
+    var constants_js_1 = require_constants14();
+    var utils_common_js_1 = require_utils_common();
+    function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
+      return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
+    }
+    function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
+      const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
+        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
       }
-    };
-    exports2.transactionalContentCrc64 = {
-      parameterPath: ["options", "transactionalContentCrc64"],
-      mapper: {
-        serializedName: "x-ms-content-crc64",
-        xmlName: "x-ms-content-crc64",
-        type: {
-          name: "ByteArray"
-        }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission.");
       }
-    };
-    exports2.blobType = {
-      parameterPath: "blobType",
-      mapper: {
-        defaultValue: "PageBlob",
-        isConstant: true,
-        serializedName: "x-ms-blob-type",
-        type: {
-          name: "String"
-        }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
+        throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission.");
       }
-    };
-    exports2.blobContentLength = {
-      parameterPath: "blobContentLength",
-      mapper: {
-        serializedName: "x-ms-blob-content-length",
-        required: true,
-        xmlName: "x-ms-blob-content-length",
-        type: {
-          name: "Number"
-        }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission.");
       }
-    };
-    exports2.blobSequenceNumber = {
-      parameterPath: ["options", "blobSequenceNumber"],
-      mapper: {
-        defaultValue: 0,
-        serializedName: "x-ms-blob-sequence-number",
-        xmlName: "x-ms-blob-sequence-number",
-        type: {
-          name: "Number"
-        }
+      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") {
+        throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission.");
       }
-    };
-    exports2.contentType1 = {
-      parameterPath: ["options", "contentType"],
-      mapper: {
-        defaultValue: "application/octet-stream",
-        isConstant: true,
-        serializedName: "Content-Type",
-        type: {
-          name: "String"
-        }
+      if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") {
+        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
       }
-    };
-    exports2.body1 = {
-      parameterPath: "body",
-      mapper: {
-        serializedName: "body",
-        required: true,
-        xmlName: "body",
-        type: {
-          name: "Stream"
+      const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString());
+      const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString();
+      const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
+      let stringToSign;
+      if (version >= "2020-12-06") {
+        stringToSign = [
+          sharedKeyCredential.accountName,
+          parsedPermissions,
+          parsedServices,
+          parsedResourceTypes,
+          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
+          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
+          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
+          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
+          version,
+          accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "",
+          ""
+          // Account SAS requires an additional newline character
+        ].join("\n");
+      } else {
+        stringToSign = [
+          sharedKeyCredential.accountName,
+          parsedPermissions,
+          parsedServices,
+          parsedResourceTypes,
+          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
+          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
+          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
+          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
+          version,
+          ""
+          // Account SAS requires an additional newline character
+        ].join("\n");
+      }
+      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
+      return {
+        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope),
+        stringToSign
+      };
+    }
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js
+var require_BlobServiceClient = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.BlobServiceClient = void 0;
+    var core_auth_1 = require_commonjs9();
+    var core_rest_pipeline_1 = require_commonjs8();
+    var core_util_1 = require_commonjs6();
+    var Pipeline_js_1 = require_Pipeline();
+    var ContainerClient_js_1 = require_ContainerClient();
+    var utils_common_js_1 = require_utils_common();
+    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
+    var AnonymousCredential_js_1 = require_AnonymousCredential();
+    var utils_common_js_2 = require_utils_common();
+    var tracing_js_1 = require_tracing();
+    var BlobBatchClient_js_1 = require_BlobBatchClient();
+    var StorageClient_js_1 = require_StorageClient();
+    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
+    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
+    var AccountSASServices_js_1 = require_AccountSASServices();
+    var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient {
+      /**
+       * serviceContext provided by protocol layer.
+       */
+      serviceContext;
+      /**
+       *
+       * Creates an instance of BlobServiceClient from connection string.
+       *
+       * @param connectionString - Account connection string or a SAS connection string of an Azure storage account.
+       *                                  [ Note - Account connection string can only be used in NODE.JS runtime. ]
+       *                                  Account connection string example -
+       *                                  `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net`
+       *                                  SAS connection string example -
+       *                                  `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString`
+       * @param options - Optional. Options to configure the HTTP pipeline.
+       */
+      static fromConnectionString(connectionString, options) {
+        options = options || {};
+        const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString);
+        if (extractedCreds.kind === "AccountConnString") {
+          if (core_util_1.isNodeLike) {
+            const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
+            if (!options.proxyOptions) {
+              options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+            }
+            const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+            return new _BlobServiceClient(extractedCreds.url, pipeline);
+          } else {
+            throw new Error("Account connection string is only supported in Node.js environment");
+          }
+        } else if (extractedCreds.kind === "SASConnString") {
+          const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline);
+        } else {
+          throw new Error("Connection string must be either an Account connection string or a SAS connection string");
         }
       }
-    };
-    exports2.accept2 = {
-      parameterPath: "accept",
-      mapper: {
-        defaultValue: "application/xml",
-        isConstant: true,
-        serializedName: "Accept",
-        type: {
-          name: "String"
+      constructor(url, credentialOrPipeline, options) {
+        let pipeline;
+        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
+          pipeline = credentialOrPipeline;
+        } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) {
+          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
+        } else {
+          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
         }
+        super(url, pipeline);
+        this.serviceContext = this.storageClientContext.service;
       }
-    };
-    exports2.comp19 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "page",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+      /**
+       * Creates a {@link ContainerClient} object
+       *
+       * @param containerName - A container name
+       * @returns A new ContainerClient object for the given container name.
+       *
+       * Example usage:
+       *
+       * ```ts snippet:BlobServiceClientGetContainerClient
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * const containerClient = blobServiceClient.getContainerClient("");
+       * ```
+       */
+      getContainerClient(containerName) {
+        return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline);
       }
-    };
-    exports2.pageWrite = {
-      parameterPath: "pageWrite",
-      mapper: {
-        defaultValue: "update",
-        isConstant: true,
-        serializedName: "x-ms-page-write",
-        type: {
-          name: "String"
-        }
+      /**
+       * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container
+       *
+       * @param containerName - Name of the container to create.
+       * @param options - Options to configure Container Create operation.
+       * @returns Container creation response and the corresponding container client.
+       */
+      async createContainer(containerName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(containerName);
+          const containerCreateResponse = await containerClient.create(updatedOptions);
+          return {
+            containerClient,
+            containerCreateResponse
+          };
+        });
       }
-    };
-    exports2.ifSequenceNumberLessThanOrEqualTo = {
-      parameterPath: [
-        "options",
-        "sequenceNumberAccessConditions",
-        "ifSequenceNumberLessThanOrEqualTo"
-      ],
-      mapper: {
-        serializedName: "x-ms-if-sequence-number-le",
-        xmlName: "x-ms-if-sequence-number-le",
-        type: {
-          name: "Number"
-        }
+      /**
+       * Deletes a Blob container.
+       *
+       * @param containerName - Name of the container to delete.
+       * @param options - Options to configure Container Delete operation.
+       * @returns Container deletion response.
+       */
+      async deleteContainer(containerName, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(containerName);
+          return containerClient.delete(updatedOptions);
+        });
       }
-    };
-    exports2.ifSequenceNumberLessThan = {
-      parameterPath: [
-        "options",
-        "sequenceNumberAccessConditions",
-        "ifSequenceNumberLessThan"
-      ],
-      mapper: {
-        serializedName: "x-ms-if-sequence-number-lt",
-        xmlName: "x-ms-if-sequence-number-lt",
-        type: {
-          name: "Number"
-        }
+      /**
+       * Restore a previously deleted Blob container.
+       * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container.
+       *
+       * @param deletedContainerName - Name of the previously deleted container.
+       * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container.
+       * @param options - Options to configure Container Restore operation.
+       * @returns Container deletion response.
+       */
+      async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => {
+          const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName);
+          const containerContext = containerClient["storageClientContext"].container;
+          const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({
+            deletedContainerName,
+            deletedContainerVersion,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          return { containerClient, containerUndeleteResponse };
+        });
       }
-    };
-    exports2.ifSequenceNumberEqualTo = {
-      parameterPath: [
-        "options",
-        "sequenceNumberAccessConditions",
-        "ifSequenceNumberEqualTo"
-      ],
-      mapper: {
-        serializedName: "x-ms-if-sequence-number-eq",
-        xmlName: "x-ms-if-sequence-number-eq",
-        type: {
-          name: "Number"
-        }
+      /**
+       * Gets the properties of a storage account’s Blob service, including properties
+       * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
+       *
+       * @param options - Options to the Service Get Properties operation.
+       * @returns Response data for the Service Get Properties operation.
+       */
+      async getProperties(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.pageWrite1 = {
-      parameterPath: "pageWrite",
-      mapper: {
-        defaultValue: "clear",
-        isConstant: true,
-        serializedName: "x-ms-page-write",
-        type: {
-          name: "String"
-        }
+      /**
+       * Sets properties for a storage account’s Blob service endpoint, including properties
+       * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.
+       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties
+       *
+       * @param properties -
+       * @param options - Options to the Service Set Properties operation.
+       * @returns Response data for the Service Set Properties operation.
+       */
+      async setProperties(properties, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, {
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.sourceUrl = {
-      parameterPath: "sourceUrl",
-      mapper: {
-        serializedName: "x-ms-copy-source",
-        required: true,
-        xmlName: "x-ms-copy-source",
-        type: {
-          name: "String"
-        }
+      /**
+       * Retrieves statistics related to replication for the Blob service. It is only
+       * available on the secondary location endpoint when read-access geo-redundant
+       * replication is enabled for the storage account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats
+       *
+       * @param options - Options to the Service Get Statistics operation.
+       * @returns Response data for the Service Get Statistics operation.
+       */
+      async getStatistics(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.sourceRange = {
-      parameterPath: "sourceRange",
-      mapper: {
-        serializedName: "x-ms-source-range",
-        required: true,
-        xmlName: "x-ms-source-range",
-        type: {
-          name: "String"
-        }
+      /**
+       * The Get Account Information operation returns the sku name and account kind
+       * for the specified account.
+       * The Get Account Information operation is available on service versions beginning
+       * with version 2018-03-28.
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
+       *
+       * @param options - Options to the Service Get Account Info operation.
+       * @returns Response data for the Service Get Account Info operation.
+       */
+      async getAccountInfo(options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.sourceContentCrc64 = {
-      parameterPath: ["options", "sourceContentCrc64"],
-      mapper: {
-        serializedName: "x-ms-source-content-crc64",
-        xmlName: "x-ms-source-content-crc64",
-        type: {
-          name: "ByteArray"
-        }
+      /**
+       * Returns a list of the containers under the specified account.
+       * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2
+       *
+       * @param marker - A string value that identifies the portion of
+       *                        the list of containers to be returned with the next listing operation. The
+       *                        operation returns the continuationToken value within the response body if the
+       *                        listing operation did not return all containers remaining to be listed
+       *                        with the current page. The continuationToken value can be used as the value for
+       *                        the marker parameter in a subsequent call to request the next page of list
+       *                        items. The marker value is opaque to the client.
+       * @param options - Options to the Service List Container Segment operation.
+       * @returns Response data for the Service List Container Segment operation.
+       */
+      async listContainersSegment(marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => {
+          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({
+            abortSignal: options.abortSignal,
+            marker,
+            ...options,
+            include: typeof options.include === "string" ? [options.include] : options.include,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+        });
       }
-    };
-    exports2.range1 = {
-      parameterPath: "range",
-      mapper: {
-        serializedName: "x-ms-range",
-        required: true,
-        xmlName: "x-ms-range",
-        type: {
-          name: "String"
+      /**
+       * The Filter Blobs operation enables callers to list blobs across all containers whose tags
+       * match a given search expression. Filter blobs searches across all containers within a
+       * storage account but can be scoped within the expression to a single container.
+       *
+       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                        The given expression must evaluate to true for a blob to be returned in the results.
+       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({
+            abortSignal: options.abortSignal,
+            where: tagFilterSqlExpression,
+            marker,
+            maxPageSize: options.maxPageSize,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const wrappedResponse = {
+            ...response,
+            _response: response._response,
+            // _response is made non-enumerable
+            blobs: response.blobs.map((blob) => {
+              let tagValue = "";
+              if (blob.tags?.blobTagSet.length === 1) {
+                tagValue = blob.tags.blobTagSet[0].value;
+              }
+              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
+            })
+          };
+          return wrappedResponse;
+        });
+      }
+      /**
+       * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param marker - A string value that identifies the portion of
+       *                          the list of blobs to be returned with the next listing operation. The
+       *                          operation returns the continuationToken value within the response body if the
+       *                          listing operation did not return all blobs remaining to be listed
+       *                          with the current page. The continuationToken value can be used as the value for
+       *                          the marker parameter in a subsequent call to request the next page of list
+       *                          items. The marker value is opaque to the client.
+       * @param options - Options to find blobs by tags.
+       */
+      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
+        let response;
+        if (!!marker || marker === void 0) {
+          do {
+            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
+            response.blobs = response.blobs || [];
+            marker = response.continuationToken;
+            yield response;
+          } while (marker);
         }
       }
-    };
-    exports2.comp20 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "pagelist",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator for blobs.
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to findBlobsByTagsItems.
+       */
+      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
+        let marker;
+        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
+          yield* segment.blobs;
         }
       }
-    };
-    exports2.prevsnapshot = {
-      parameterPath: ["options", "prevsnapshot"],
-      mapper: {
-        serializedName: "prevsnapshot",
-        xmlName: "prevsnapshot",
-        type: {
-          name: "String"
+      /**
+       * Returns an async iterable iterator to find all blobs with specified tag
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the blobs in pages.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
+       *
+       * ```ts snippet:BlobServiceClientFindBlobsByTags
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * // Use for await to iterate the blobs
+       * let i = 1;
+       * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
+       *   console.log(`Blob ${i++}: ${blob.name}`);
+       * }
+       *
+       * // Use iter.next() to iterate the blobs
+       * i = 1;
+       * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Blob ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Use byPage() to iterate the blobs
+       * i = 1;
+       * for await (const page of blobServiceClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ maxPageSize: 20 })) {
+       *   for (const blob of page.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       *
+       * // Use paging with a marker
+       * i = 1;
+       * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       * // Prints 2 blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = blobServiceClient
+       *   .findBlobsByTags("tagkey='tagvalue'")
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       *
+       * // Prints blob names
+       * if (response.blobs) {
+       *   for (const blob of response.blobs) {
+       *     console.log(`Blob ${i++}: ${blob.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
+       *                                         The given expression must evaluate to true for a blob to be returned in the results.
+       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
+       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
+       * @param options - Options to find blobs by tags.
+       */
+      findBlobsByTags(tagFilterSqlExpression, options = {}) {
+        const listSegmentOptions = {
+          ...options
+        };
+        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
+      }
+      /**
+       * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses
+       *
+       * @param marker - A string value that identifies the portion of
+       *                        the list of containers to be returned with the next listing operation. The
+       *                        operation returns the continuationToken value within the response body if the
+       *                        listing operation did not return all containers remaining to be listed
+       *                        with the current page. The continuationToken value can be used as the value for
+       *                        the marker parameter in a subsequent call to request the next page of list
+       *                        items. The marker value is opaque to the client.
+       * @param options - Options to list containers operation.
+       */
+      async *listSegments(marker, options = {}) {
+        let listContainersSegmentResponse;
+        if (!!marker || marker === void 0) {
+          do {
+            listContainersSegmentResponse = await this.listContainersSegment(marker, options);
+            listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || [];
+            marker = listContainersSegmentResponse.continuationToken;
+            yield await listContainersSegmentResponse;
+          } while (marker);
         }
       }
-    };
-    exports2.prevSnapshotUrl = {
-      parameterPath: ["options", "prevSnapshotUrl"],
-      mapper: {
-        serializedName: "x-ms-previous-snapshot-url",
-        xmlName: "x-ms-previous-snapshot-url",
-        type: {
-          name: "String"
+      /**
+       * Returns an AsyncIterableIterator for Container Items
+       *
+       * @param options - Options to list containers operation.
+       */
+      async *listItems(options = {}) {
+        let marker;
+        for await (const segment of this.listSegments(marker, options)) {
+          yield* segment.containerItems;
         }
       }
-    };
-    exports2.sequenceNumberAction = {
-      parameterPath: "sequenceNumberAction",
-      mapper: {
-        serializedName: "x-ms-sequence-number-action",
-        required: true,
-        xmlName: "x-ms-sequence-number-action",
-        type: {
-          name: "Enum",
-          allowedValues: ["max", "update", "increment"]
+      /**
+       * Returns an async iterable iterator to list all the containers
+       * under the specified account.
+       *
+       * .byPage() returns an async iterable iterator to list the containers in pages.
+       *
+       * ```ts snippet:BlobServiceClientListContainers
+       * import { BlobServiceClient } from "@azure/storage-blob";
+       * import { DefaultAzureCredential } from "@azure/identity";
+       *
+       * const account = "";
+       * const blobServiceClient = new BlobServiceClient(
+       *   `https://${account}.blob.core.windows.net`,
+       *   new DefaultAzureCredential(),
+       * );
+       *
+       * // Use for await to iterate the containers
+       * let i = 1;
+       * for await (const container of blobServiceClient.listContainers()) {
+       *   console.log(`Container ${i++}: ${container.name}`);
+       * }
+       *
+       * // Use iter.next() to iterate the containers
+       * i = 1;
+       * const iter = blobServiceClient.listContainers();
+       * let { value, done } = await iter.next();
+       * while (!done) {
+       *   console.log(`Container ${i++}: ${value.name}`);
+       *   ({ value, done } = await iter.next());
+       * }
+       *
+       * // Use byPage() to iterate the containers
+       * i = 1;
+       * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
+       *   for (const container of page.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       *
+       * // Use paging with a marker
+       * i = 1;
+       * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
+       * let response = (await iterator.next()).value;
+       *
+       * // Prints 2 container names
+       * if (response.containerItems) {
+       *   for (const container of response.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       *
+       * // Gets next marker
+       * let marker = response.continuationToken;
+       * // Passing next marker as continuationToken
+       * iterator = blobServiceClient
+       *   .listContainers()
+       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
+       * response = (await iterator.next()).value;
+       *
+       * // Prints 10 container names
+       * if (response.containerItems) {
+       *   for (const container of response.containerItems) {
+       *     console.log(`Container ${i++}: ${container.name}`);
+       *   }
+       * }
+       * ```
+       *
+       * @param options - Options to list containers.
+       * @returns An asyncIterableIterator that supports paging.
+       */
+      listContainers(options = {}) {
+        if (options.prefix === "") {
+          options.prefix = void 0;
         }
-      }
-    };
-    exports2.comp21 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "incrementalcopy",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        const include = [];
+        if (options.includeDeleted) {
+          include.push("deleted");
         }
-      }
-    };
-    exports2.blobType1 = {
-      parameterPath: "blobType",
-      mapper: {
-        defaultValue: "AppendBlob",
-        isConstant: true,
-        serializedName: "x-ms-blob-type",
-        type: {
-          name: "String"
+        if (options.includeMetadata) {
+          include.push("metadata");
         }
-      }
-    };
-    exports2.comp22 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "appendblock",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (options.includeSystem) {
+          include.push("system");
         }
+        const listSegmentOptions = {
+          ...options,
+          ...include.length > 0 ? { include } : {}
+        };
+        const iter = this.listItems(listSegmentOptions);
+        return {
+          /**
+           * The next method, part of the iteration protocol
+           */
+          next() {
+            return iter.next();
+          },
+          /**
+           * The connection to the async iterator, part of the iteration protocol
+           */
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          /**
+           * Return an AsyncIterableIterator that works a page at a time
+           */
+          byPage: (settings = {}) => {
+            return this.listSegments(settings.continuationToken, {
+              maxPageSize: settings.maxPageSize,
+              ...listSegmentOptions
+            });
+          }
+        };
       }
-    };
-    exports2.maxSize = {
-      parameterPath: ["options", "appendPositionAccessConditions", "maxSize"],
-      mapper: {
-        serializedName: "x-ms-blob-condition-maxsize",
-        xmlName: "x-ms-blob-condition-maxsize",
-        type: {
-          name: "Number"
-        }
+      /**
+       * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential).
+       *
+       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
+       * bearer token authentication.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key
+       *
+       * @param startsOn -      The start time for the user delegation SAS. Must be within 7 days of the current time
+       * @param expiresOn -     The end time for the user delegation SAS. Must be within 7 days of the current time
+       */
+      async getUserDelegationKey(startsOn, expiresOn, options = {}) {
+        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => {
+          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({
+            startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false),
+            expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false)
+          }, {
+            abortSignal: options.abortSignal,
+            tracingOptions: updatedOptions.tracingOptions
+          }));
+          const userDelegationKey = {
+            signedObjectId: response.signedObjectId,
+            signedTenantId: response.signedTenantId,
+            signedStartsOn: new Date(response.signedStartsOn),
+            signedExpiresOn: new Date(response.signedExpiresOn),
+            signedService: response.signedService,
+            signedVersion: response.signedVersion,
+            value: response.value
+          };
+          const res = {
+            _response: response._response,
+            requestId: response.requestId,
+            clientRequestId: response.clientRequestId,
+            version: response.version,
+            date: response.date,
+            errorCode: response.errorCode,
+            ...userDelegationKey
+          };
+          return res;
+        });
       }
-    };
-    exports2.appendPosition = {
-      parameterPath: [
-        "options",
-        "appendPositionAccessConditions",
-        "appendPosition"
-      ],
-      mapper: {
-        serializedName: "x-ms-blob-condition-appendpos",
-        xmlName: "x-ms-blob-condition-appendpos",
-        type: {
-          name: "Number"
-        }
+      /**
+       * Creates a BlobBatchClient object to conduct batch operations.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
+       *
+       * @returns A new BlobBatchClient object for this service.
+       */
+      getBlobBatchClient() {
+        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
       }
-    };
-    exports2.sourceRange1 = {
-      parameterPath: ["options", "sourceRange"],
-      mapper: {
-        serializedName: "x-ms-source-range",
-        xmlName: "x-ms-source-range",
-        type: {
-          name: "String"
+      /**
+       * Only available for BlobServiceClient constructed with a shared key credential.
+       *
+       * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties
+       * and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       *
+       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
+       * @param permissions - Specifies the list of permissions to be associated with the SAS.
+       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
+       * @param options - Optional parameters.
+       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
         }
-      }
-    };
-    exports2.comp23 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "seal",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+        if (expiresOn === void 0) {
+          const now = /* @__PURE__ */ new Date();
+          expiresOn = new Date(now.getTime() + 3600 * 1e3);
         }
+        const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({
+          permissions,
+          expiresOn,
+          resourceTypes,
+          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
+          ...options
+        }, this.credential).toString();
+        return (0, utils_common_js_1.appendToURLQuery)(this.url, sas);
       }
-    };
-    exports2.blobType2 = {
-      parameterPath: "blobType",
-      mapper: {
-        defaultValue: "BlockBlob",
-        isConstant: true,
-        serializedName: "x-ms-blob-type",
-        type: {
-          name: "String"
+      /**
+       * Only available for BlobServiceClient constructed with a shared key credential.
+       *
+       * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on
+       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
+       *
+       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
+       *
+       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
+       * @param permissions - Specifies the list of permissions to be associated with the SAS.
+       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
+       * @param options - Optional parameters.
+       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
+       */
+      generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
+        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
+          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
         }
-      }
-    };
-    exports2.copySourceBlobProperties = {
-      parameterPath: ["options", "copySourceBlobProperties"],
-      mapper: {
-        serializedName: "x-ms-copy-source-blob-properties",
-        xmlName: "x-ms-copy-source-blob-properties",
-        type: {
-          name: "Boolean"
+        if (expiresOn === void 0) {
+          const now = /* @__PURE__ */ new Date();
+          expiresOn = new Date(now.getTime() + 3600 * 1e3);
         }
+        return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({
+          permissions,
+          expiresOn,
+          resourceTypes,
+          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
+          ...options
+        }, this.credential).stringToSign;
       }
     };
-    exports2.comp24 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "block",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
-        }
+    exports2.BlobServiceClient = BlobServiceClient;
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js
+var require_BatchResponse = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js
+var require_generatedModels = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.KnownEncryptionAlgorithmType = void 0;
+    var KnownEncryptionAlgorithmType;
+    (function(KnownEncryptionAlgorithmType2) {
+      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
+    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
+  }
+});
+
+// node_modules/@azure/storage-blob/dist/commonjs/index.js
+var require_commonjs17 = __commonJS({
+  "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0;
+    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
+    var core_rest_pipeline_1 = require_commonjs8();
+    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
+      return core_rest_pipeline_1.RestError;
+    } });
+    tslib_1.__exportStar(require_BlobServiceClient(), exports2);
+    tslib_1.__exportStar(require_Clients(), exports2);
+    tslib_1.__exportStar(require_ContainerClient(), exports2);
+    tslib_1.__exportStar(require_BlobLeaseClient(), exports2);
+    tslib_1.__exportStar(require_AccountSASPermissions(), exports2);
+    tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2);
+    tslib_1.__exportStar(require_AccountSASServices(), exports2);
+    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
+    Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() {
+      return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters;
+    } });
+    tslib_1.__exportStar(require_BlobBatch(), exports2);
+    tslib_1.__exportStar(require_BlobBatchClient(), exports2);
+    tslib_1.__exportStar(require_BatchResponse(), exports2);
+    tslib_1.__exportStar(require_BlobSASPermissions(), exports2);
+    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
+    Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() {
+      return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters;
+    } });
+    tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2);
+    tslib_1.__exportStar(require_ContainerSASPermissions(), exports2);
+    tslib_1.__exportStar(require_AnonymousCredential(), exports2);
+    tslib_1.__exportStar(require_Credential(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2);
+    var models_js_1 = require_models2();
+    Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() {
+      return models_js_1.BlockBlobTier;
+    } });
+    Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() {
+      return models_js_1.PremiumPageBlobTier;
+    } });
+    Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() {
+      return models_js_1.StorageBlobAudience;
+    } });
+    Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() {
+      return models_js_1.getBlobServiceAccountAudience;
+    } });
+    var Pipeline_js_1 = require_Pipeline();
+    Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() {
+      return Pipeline_js_1.Pipeline;
+    } });
+    Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() {
+      return Pipeline_js_1.isPipelineLike;
+    } });
+    Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() {
+      return Pipeline_js_1.newPipeline;
+    } });
+    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
+      return Pipeline_js_1.StorageOAuthScopes;
+    } });
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
+    var RequestPolicy_js_1 = require_RequestPolicy();
+    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
+      return RequestPolicy_js_1.BaseRequestPolicy;
+    } });
+    tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_CredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
+    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2);
+    tslib_1.__exportStar(require_SASQueryParameters(), exports2);
+    tslib_1.__exportStar(require_generatedModels(), exports2);
+    var log_js_1 = require_log5();
+    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
+      return log_js_1.logger;
+    } });
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
+var require_blob_upload = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-    };
-    exports2.blockId = {
-      parameterPath: "blockId",
-      mapper: {
-        serializedName: "blockid",
-        required: true,
-        xmlName: "blockid",
-        type: {
-          name: "String"
-        }
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
+      __setModuleDefault2(result, mod);
+      return result;
     };
-    exports2.blocks = {
-      parameterPath: "blocks",
-      mapper: mappers_js_1.BlockLookupList
-    };
-    exports2.comp25 = {
-      parameterPath: "comp",
-      mapper: {
-        defaultValue: "blocklist",
-        isConstant: true,
-        serializedName: "comp",
-        type: {
-          name: "String"
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
+      }
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
+        }
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-      }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
     };
-    exports2.listType = {
-      parameterPath: "listType",
-      mapper: {
-        defaultValue: "committed",
-        serializedName: "blocklisttype",
-        required: true,
-        xmlName: "blocklisttype",
-        type: {
-          name: "Enum",
-          allowedValues: ["committed", "uncommitted", "all"]
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadZipToBlobStorage = void 0;
+    var storage_blob_1 = require_commonjs17();
+    var config_1 = require_config();
+    var core14 = __importStar2(require_core());
+    var crypto2 = __importStar2(require("crypto"));
+    var stream = __importStar2(require("stream"));
+    var errors_1 = require_errors3();
+    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        let uploadByteCount = 0;
+        let lastProgressTime = Date.now();
+        const abortController = new AbortController();
+        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve2, reject) => {
+            const timer = setInterval(() => {
+              if (Date.now() - lastProgressTime > interval) {
+                reject(new Error("Upload progress stalled."));
+              }
+            }, interval);
+            abortController.signal.addEventListener("abort", () => {
+              clearInterval(timer);
+              resolve2();
+            });
+          });
+        });
+        const maxConcurrency = (0, config_1.getConcurrency)();
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
+        const blockBlobClient = blobClient.getBlockBlobClient();
+        core14.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
+        const uploadCallback = (progress) => {
+          core14.info(`Uploaded bytes ${progress.loadedBytes}`);
+          uploadByteCount = progress.loadedBytes;
+          lastProgressTime = Date.now();
+        };
+        const options = {
+          blobHTTPHeaders: { blobContentType: "zip" },
+          onProgress: uploadCallback,
+          abortSignal: abortController.signal
+        };
+        let sha256Hash = void 0;
+        const uploadStream = new stream.PassThrough();
+        const hashStream = crypto2.createHash("sha256");
+        zipUploadStream.pipe(uploadStream);
+        zipUploadStream.pipe(hashStream).setEncoding("hex");
+        core14.info("Beginning upload of artifact content to blob storage");
+        try {
+          yield Promise.race([
+            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
+            chunkTimer((0, config_1.getUploadChunkTimeout)())
+          ]);
+        } catch (error3) {
+          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
+            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+          }
+          throw error3;
+        } finally {
+          abortController.abort();
         }
-      }
-    };
+        core14.info("Finished uploading artifact content to blob storage!");
+        hashStream.end();
+        sha256Hash = hashStream.read();
+        core14.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
+        if (uploadByteCount === 0) {
+          core14.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
+        }
+        return {
+          uploadSize: uploadByteCount,
+          sha256Hash
+        };
+      });
+    }
+    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js
-var require_service = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/service.js"(exports2) {
+// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
+var require_path = __commonJS({
+  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
+    var isWindows = typeof process === "object" && process && process.platform === "win32";
+    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
+  }
+});
+
+// node_modules/balanced-match/index.js
+var require_balanced_match = __commonJS({
+  "node_modules/balanced-match/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ServiceImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs10());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var ServiceImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class Service class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
-      }
-      /**
-       * Sets properties for a storage account's Blob service endpoint, including properties for Storage
-       * Analytics and CORS (Cross-Origin Resource Sharing) rules
-       * @param blobServiceProperties The StorageService properties.
-       * @param options The options parameters.
-       */
-      setProperties(blobServiceProperties, options) {
-        return this.client.sendOperationRequest({ blobServiceProperties, options }, setPropertiesOperationSpec);
-      }
-      /**
-       * gets the properties of a storage account's Blob service, including properties for Storage Analytics
-       * and CORS (Cross-Origin Resource Sharing) rules.
-       * @param options The options parameters.
-       */
-      getProperties(options) {
-        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
-      }
-      /**
-       * Retrieves statistics related to replication for the Blob service. It is only available on the
-       * secondary location endpoint when read-access geo-redundant replication is enabled for the storage
-       * account.
-       * @param options The options parameters.
-       */
-      getStatistics(options) {
-        return this.client.sendOperationRequest({ options }, getStatisticsOperationSpec);
-      }
-      /**
-       * The List Containers Segment operation returns a list of the containers under the specified account
-       * @param options The options parameters.
-       */
-      listContainersSegment(options) {
-        return this.client.sendOperationRequest({ options }, listContainersSegmentOperationSpec);
-      }
-      /**
-       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
-       * bearer token authentication.
-       * @param keyInfo Key information
-       * @param options The options parameters.
-       */
-      getUserDelegationKey(keyInfo, options) {
-        return this.client.sendOperationRequest({ keyInfo, options }, getUserDelegationKeyOperationSpec);
-      }
-      /**
-       * Returns the sku name and account kind
-       * @param options The options parameters.
-       */
-      getAccountInfo(options) {
-        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+    module2.exports = balanced;
+    function balanced(a, b, str2) {
+      if (a instanceof RegExp) a = maybeMatch(a, str2);
+      if (b instanceof RegExp) b = maybeMatch(b, str2);
+      var r = range(a, b, str2);
+      return r && {
+        start: r[0],
+        end: r[1],
+        pre: str2.slice(0, r[0]),
+        body: str2.slice(r[0] + a.length, r[1]),
+        post: str2.slice(r[1] + b.length)
+      };
+    }
+    function maybeMatch(reg, str2) {
+      var m = str2.match(reg);
+      return m ? m[0] : null;
+    }
+    balanced.range = range;
+    function range(a, b, str2) {
+      var begs, beg, left, right, result;
+      var ai = str2.indexOf(a);
+      var bi = str2.indexOf(b, ai + 1);
+      var i = ai;
+      if (ai >= 0 && bi > 0) {
+        begs = [];
+        left = str2.length;
+        while (i >= 0 && !result) {
+          if (i == ai) {
+            begs.push(i);
+            ai = str2.indexOf(a, i + 1);
+          } else if (begs.length == 1) {
+            result = [begs.pop(), bi];
+          } else {
+            beg = begs.pop();
+            if (beg < left) {
+              left = beg;
+              right = bi;
+            }
+            bi = str2.indexOf(b, i + 1);
+          }
+          i = ai < bi && ai >= 0 ? ai : bi;
+        }
+        if (begs.length) {
+          result = [left, right];
+        }
       }
-      /**
-       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
-       * @param contentLength The length of the request.
-       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
-       *                             boundary. Example header value: multipart/mixed; boundary=batch_
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      submitBatch(contentLength, multipartContentType, body, options) {
-        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
+      return result;
+    }
+  }
+});
+
+// node_modules/readdir-glob/node_modules/brace-expansion/index.js
+var require_brace_expansion = __commonJS({
+  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
+    var balanced = require_balanced_match();
+    module2.exports = expandTop;
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    function numeric(str2) {
+      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
+    }
+    function escapeBraces(str2) {
+      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
+    }
+    function unescapeBraces(str2) {
+      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
+    }
+    function parseCommaParts(str2) {
+      if (!str2)
+        return [""];
+      var parts = [];
+      var m = balanced("{", "}", str2);
+      if (!m)
+        return str2.split(",");
+      var pre = m.pre;
+      var body = m.body;
+      var post = m.post;
+      var p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      var postParts = parseCommaParts(post);
+      if (post.length) {
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs across all containers whose tags match a
-       * given search expression.  Filter blobs searches across all containers within a storage account but
-       * can be scoped within the expression to a single container.
-       * @param options The options parameters.
-       */
-      filterBlobs(options) {
-        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
+      parts.push.apply(parts, p);
+      return parts;
+    }
+    function expandTop(str2) {
+      if (!str2)
+        return [];
+      if (str2.substr(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.substr(2);
       }
-    };
-    exports2.ServiceImpl = ServiceImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var setPropertiesOperationSpec = {
-      path: "/",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.ServiceSetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceSetPropertiesExceptionHeaders
-        }
-      },
-      requestBody: Parameters.blobServiceProperties,
-      queryParameters: [
-        Parameters.restype,
-        Parameters.comp,
-        Parameters.timeoutInSeconds
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getPropertiesOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlobServiceProperties,
-          headersMapper: Mappers.ServiceGetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetPropertiesExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.restype,
-        Parameters.comp,
-        Parameters.timeoutInSeconds
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getStatisticsOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlobServiceStatistics,
-          headersMapper: Mappers.ServiceGetStatisticsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetStatisticsExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.restype,
-        Parameters.timeoutInSeconds,
-        Parameters.comp1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var listContainersSegmentOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.ListContainersSegmentResponse,
-          headersMapper: Mappers.ServiceListContainersSegmentHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceListContainersSegmentExceptionHeaders
-        }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp2,
-        Parameters.prefix,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.include
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getUserDelegationKeyOperationSpec = {
-      path: "/",
-      httpMethod: "POST",
-      responses: {
-        200: {
-          bodyMapper: Mappers.UserDelegationKey,
-          headersMapper: Mappers.ServiceGetUserDelegationKeyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetUserDelegationKeyExceptionHeaders
+      return expand2(escapeBraces(str2), true).map(unescapeBraces);
+    }
+    function embrace(str2) {
+      return "{" + str2 + "}";
+    }
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
+    }
+    function lte(i, y) {
+      return i <= y;
+    }
+    function gte6(i, y) {
+      return i >= y;
+    }
+    function expand2(str2, isTop) {
+      var expansions = [];
+      var m = balanced("{", "}", str2);
+      if (!m) return [str2];
+      var pre = m.pre;
+      var post = m.post.length ? expand2(m.post, false) : [""];
+      if (/\$$/.test(m.pre)) {
+        for (var k = 0; k < post.length; k++) {
+          var expansion = pre + "{" + m.body + "}" + post[k];
+          expansions.push(expansion);
         }
-      },
-      requestBody: Parameters.keyInfo,
-      queryParameters: [
-        Parameters.restype,
-        Parameters.timeoutInSeconds,
-        Parameters.comp3
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getAccountInfoOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.ServiceGetAccountInfoHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceGetAccountInfoExceptionHeaders
+      } else {
+        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+        var isSequence = isNumericSequence || isAlphaSequence;
+        var isOptions = m.body.indexOf(",") >= 0;
+        if (!isSequence && !isOptions) {
+          if (m.post.match(/,(?!,).*\}/)) {
+            str2 = m.pre + "{" + m.body + escClose + m.post;
+            return expand2(str2);
+          }
+          return [str2];
         }
-      },
-      queryParameters: [
-        Parameters.comp,
-        Parameters.timeoutInSeconds,
-        Parameters.restype1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var submitBatchOperationSpec = {
-      path: "/",
-      httpMethod: "POST",
-      responses: {
-        202: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.ServiceSubmitBatchHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceSubmitBatchExceptionHeaders
+        var n;
+        if (isSequence) {
+          n = m.body.split(/\.\./);
+        } else {
+          n = parseCommaParts(m.body);
+          if (n.length === 1) {
+            n = expand2(n[0], false).map(embrace);
+            if (n.length === 1) {
+              return post.map(function(p) {
+                return m.pre + n[0] + p;
+              });
+            }
+          }
         }
-      },
-      requestBody: Parameters.body,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp4],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.multipartContentType
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var filterBlobsOperationSpec = {
-      path: "/",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.FilterBlobSegment,
-          headersMapper: Mappers.ServiceFilterBlobsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ServiceFilterBlobsExceptionHeaders
+        var N;
+        if (isSequence) {
+          var x = numeric(n[0]);
+          var y = numeric(n[1]);
+          var width = Math.max(n[0].length, n[1].length);
+          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
+          var test = lte;
+          var reverse = y < x;
+          if (reverse) {
+            incr *= -1;
+            test = gte6;
+          }
+          var pad = n.some(isPadded);
+          N = [];
+          for (var i = x; test(i, y); i += incr) {
+            var c;
+            if (isAlphaSequence) {
+              c = String.fromCharCode(i);
+              if (c === "\\")
+                c = "";
+            } else {
+              c = String(i);
+              if (pad) {
+                var need = width - c.length;
+                if (need > 0) {
+                  var z = new Array(need + 1).join("0");
+                  if (i < 0)
+                    c = "-" + z + c.slice(1);
+                  else
+                    c = z + c;
+                }
+              }
+            }
+            N.push(c);
+          }
+        } else {
+          N = [];
+          for (var j = 0; j < n.length; j++) {
+            N.push.apply(N, expand2(n[j], false));
+          }
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.comp5,
-        Parameters.where
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
+        for (var j = 0; j < N.length; j++) {
+          for (var k = 0; k < post.length; k++) {
+            var expansion = pre + N[j] + post[k];
+            if (!isTop || isSequence || expansion)
+              expansions.push(expansion);
+          }
+        }
+      }
+      return expansions;
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js
-var require_container = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/container.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs10());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var ContainerImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class Container class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
-      }
-      /**
-       * creates a new container under the specified account. If the container with the same name already
-       * exists, the operation fails
-       * @param options The options parameters.
-       */
-      create(options) {
-        return this.client.sendOperationRequest({ options }, createOperationSpec);
-      }
-      /**
-       * returns all user-defined metadata and system properties for the specified container. The data
-       * returned does not include the container's list of blobs
-       * @param options The options parameters.
-       */
-      getProperties(options) {
-        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
-      }
-      /**
-       * operation marks the specified container for deletion. The container and any blobs contained within
-       * it are later deleted during garbage collection
-       * @param options The options parameters.
-       */
-      delete(options) {
-        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
-      }
-      /**
-       * operation sets one or more user-defined name-value pairs for the specified container.
-       * @param options The options parameters.
-       */
-      setMetadata(options) {
-        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
-      }
-      /**
-       * gets the permissions for the specified container. The permissions indicate whether container data
-       * may be accessed publicly.
-       * @param options The options parameters.
-       */
-      getAccessPolicy(options) {
-        return this.client.sendOperationRequest({ options }, getAccessPolicyOperationSpec);
-      }
-      /**
-       * sets the permissions for the specified container. The permissions indicate whether blobs in a
-       * container may be accessed publicly.
-       * @param options The options parameters.
-       */
-      setAccessPolicy(options) {
-        return this.client.sendOperationRequest({ options }, setAccessPolicyOperationSpec);
-      }
-      /**
-       * Restores a previously-deleted container.
-       * @param options The options parameters.
-       */
-      restore(options) {
-        return this.client.sendOperationRequest({ options }, restoreOperationSpec);
+// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
+var require_minimatch = __commonJS({
+  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
+    var minimatch = module2.exports = (p, pattern, options = {}) => {
+      assertValidPattern(pattern);
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
       }
-      /**
-       * Renames an existing container.
-       * @param sourceContainerName Required.  Specifies the name of the container to rename.
-       * @param options The options parameters.
-       */
-      rename(sourceContainerName, options) {
-        return this.client.sendOperationRequest({ sourceContainerName, options }, renameOperationSpec);
+      return new Minimatch(pattern, options).match(p);
+    };
+    module2.exports = minimatch;
+    var path3 = require_path();
+    minimatch.sep = path3.sep;
+    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+    minimatch.GLOBSTAR = GLOBSTAR;
+    var expand2 = require_brace_expansion();
+    var plTypes = {
+      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
+      "?": { open: "(?:", close: ")?" },
+      "+": { open: "(?:", close: ")+" },
+      "*": { open: "(?:", close: ")*" },
+      "@": { open: "(?:", close: ")" }
+    };
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var charSet = (s) => s.split("").reduce((set2, c) => {
+      set2[c] = true;
+      return set2;
+    }, {});
+    var reSpecials = charSet("().*{}+?[]^$\\!");
+    var addPatternStartSet = charSet("[.(");
+    var slashSplit = /\/+/;
+    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
+    var ext = (a, b = {}) => {
+      const t = {};
+      Object.keys(a).forEach((k) => t[k] = a[k]);
+      Object.keys(b).forEach((k) => t[k] = b[k]);
+      return t;
+    };
+    minimatch.defaults = (def) => {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return minimatch;
       }
-      /**
-       * The Batch operation allows multiple API calls to be embedded into a single HTTP request.
-       * @param contentLength The length of the request.
-       * @param multipartContentType Required. The value of this header must be multipart/mixed with a batch
-       *                             boundary. Example header value: multipart/mixed; boundary=batch_
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      submitBatch(contentLength, multipartContentType, body, options) {
-        return this.client.sendOperationRequest({ contentLength, multipartContentType, body, options }, submitBatchOperationSpec);
+      const orig = minimatch;
+      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
+      m.Minimatch = class Minimatch extends orig.Minimatch {
+        constructor(pattern, options) {
+          super(pattern, ext(def, options));
+        }
+      };
+      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
+      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
+      m.defaults = (options) => orig.defaults(ext(def, options));
+      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
+      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
+      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
+      return m;
+    };
+    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
+    var braceExpand = (pattern, options = {}) => {
+      assertValidPattern(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs in a container whose tags match a given
-       * search expression.  Filter blobs searches within the given container.
-       * @param options The options parameters.
-       */
-      filterBlobs(options) {
-        return this.client.sendOperationRequest({ options }, filterBlobsOperationSpec);
+      return expand2(pattern);
+    };
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = (pattern) => {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
       }
-      /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param options The options parameters.
-       */
-      acquireLease(options) {
-        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
       }
-      /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
-       */
-      releaseLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
+    };
+    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
+    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
+    minimatch.match = (list, pattern, options = {}) => {
+      const mm = new Minimatch(pattern, options);
+      list = list.filter((f) => mm.match(f));
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
       }
-      /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
-       */
-      renewLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
+      return list;
+    };
+    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
+    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
+    var Minimatch = class {
+      constructor(pattern, options) {
+        assertValidPattern(pattern);
+        if (!options) options = {};
+        this.options = options;
+        this.set = [];
+        this.pattern = pattern;
+        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          this.pattern = this.pattern.replace(/\\/g, "/");
+        }
+        this.regexp = null;
+        this.negate = false;
+        this.comment = false;
+        this.empty = false;
+        this.partial = !!options.partial;
+        this.make();
       }
-      /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param options The options parameters.
-       */
-      breakLease(options) {
-        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
+      debug() {
       }
-      /**
-       * [Update] establishes and manages a lock on a container for delete operations. The lock duration can
-       * be 15 to 60 seconds, or can be infinite
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
-       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
-       *                        (String) for a list of valid GUID string formats.
-       * @param options The options parameters.
-       */
-      changeLease(leaseId, proposedLeaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
+      make() {
+        const pattern = this.pattern;
+        const options = this.options;
+        if (!options.nocomment && pattern.charAt(0) === "#") {
+          this.comment = true;
+          return;
+        }
+        if (!pattern) {
+          this.empty = true;
+          return;
+        }
+        this.parseNegate();
+        let set2 = this.globSet = this.braceExpand();
+        if (options.debug) this.debug = (...args) => console.error(...args);
+        this.debug(this.pattern, set2);
+        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
+        this.debug(this.pattern, set2);
+        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
+        this.debug(this.pattern, set2);
+        set2 = set2.filter((s) => s.indexOf(false) === -1);
+        this.debug(this.pattern, set2);
+        this.set = set2;
       }
-      /**
-       * [Update] The List Blobs operation returns a list of the blobs under the specified container
-       * @param options The options parameters.
-       */
-      listBlobFlatSegment(options) {
-        return this.client.sendOperationRequest({ options }, listBlobFlatSegmentOperationSpec);
+      parseNegate() {
+        if (this.options.nonegate) return;
+        const pattern = this.pattern;
+        let negate = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate = !negate;
+          negateOffset++;
+        }
+        if (negateOffset) this.pattern = pattern.slice(negateOffset);
+        this.negate = negate;
       }
-      /**
-       * [Update] The List Blobs operation returns a list of the blobs under the specified container
-       * @param delimiter When the request includes this parameter, the operation returns a BlobPrefix
-       *                  element in the response body that acts as a placeholder for all blobs whose names begin with the
-       *                  same substring up to the appearance of the delimiter character. The delimiter may be a single
-       *                  character or a string.
-       * @param options The options parameters.
-       */
-      listBlobHierarchySegment(delimiter, options) {
-        return this.client.sendOperationRequest({ delimiter, options }, listBlobHierarchySegmentOperationSpec);
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial) {
+        var options = this.options;
+        this.debug(
+          "matchOne",
+          { "this": this, file, pattern }
+        );
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) return false;
+          if (p === GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
+              }
+              return true;
+            }
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
+            }
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) return true;
+            }
+            return false;
+          }
+          var hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
+          } else {
+            hit = f.match(p);
+            this.debug("pattern match", p, f, hit);
+          }
+          if (!hit) return false;
+        }
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
+        }
+        throw new Error("wtf?");
       }
-      /**
-       * Returns the sku name and account kind
-       * @param options The options parameters.
-       */
-      getAccountInfo(options) {
-        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+      braceExpand() {
+        return braceExpand(this.pattern, this.options);
       }
-    };
-    exports2.ContainerImpl = ContainerImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.ContainerCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerCreateExceptionHeaders
+      parse(pattern, isSub) {
+        assertValidPattern(pattern);
+        const options = this.options;
+        if (pattern === "**") {
+          if (!options.noglobstar)
+            return GLOBSTAR;
+          else
+            pattern = "*";
+        }
+        if (pattern === "") return "";
+        let re = "";
+        let hasMagic = false;
+        let escaping = false;
+        const patternListStack = [];
+        const negativeLists = [];
+        let stateChar;
+        let inClass = false;
+        let reClassStart = -1;
+        let classStart = -1;
+        let cs;
+        let pl;
+        let sp;
+        let dotTravAllowed = pattern.charAt(0) === ".";
+        let dotFileAllowed = options.dot || dotTravAllowed;
+        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
+        const clearStateChar = () => {
+          if (stateChar) {
+            switch (stateChar) {
+              case "*":
+                re += star;
+                hasMagic = true;
+                break;
+              case "?":
+                re += qmark;
+                hasMagic = true;
+                break;
+              default:
+                re += "\\" + stateChar;
+                break;
+            }
+            this.debug("clearStateChar %j %j", stateChar, re);
+            stateChar = false;
+          }
+        };
+        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
+          this.debug("%s	%s %s %j", pattern, i, re, c);
+          if (escaping) {
+            if (c === "/") {
+              return false;
+            }
+            if (reSpecials[c]) {
+              re += "\\";
+            }
+            re += c;
+            escaping = false;
+            continue;
+          }
+          switch (c) {
+            /* istanbul ignore next */
+            case "/": {
+              return false;
+            }
+            case "\\":
+              if (inClass && pattern.charAt(i + 1) === "-") {
+                re += c;
+                continue;
+              }
+              clearStateChar();
+              escaping = true;
+              continue;
+            // the various stateChar values
+            // for the "extglob" stuff.
+            case "?":
+            case "*":
+            case "+":
+            case "@":
+            case "!":
+              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
+              if (inClass) {
+                this.debug("  in class");
+                if (c === "!" && i === classStart + 1) c = "^";
+                re += c;
+                continue;
+              }
+              this.debug("call clearStateChar %j", stateChar);
+              clearStateChar();
+              stateChar = c;
+              if (options.noext) clearStateChar();
+              continue;
+            case "(": {
+              if (inClass) {
+                re += "(";
+                continue;
+              }
+              if (!stateChar) {
+                re += "\\(";
+                continue;
+              }
+              const plEntry = {
+                type: stateChar,
+                start: i - 1,
+                reStart: re.length,
+                open: plTypes[stateChar].open,
+                close: plTypes[stateChar].close
+              };
+              this.debug(this.pattern, "	", plEntry);
+              patternListStack.push(plEntry);
+              re += plEntry.open;
+              if (plEntry.start === 0 && plEntry.type !== "!") {
+                dotTravAllowed = true;
+                re += subPatternStart(pattern.slice(i + 1));
+              }
+              this.debug("plType %j %j", stateChar, re);
+              stateChar = false;
+              continue;
+            }
+            case ")": {
+              const plEntry = patternListStack[patternListStack.length - 1];
+              if (inClass || !plEntry) {
+                re += "\\)";
+                continue;
+              }
+              patternListStack.pop();
+              clearStateChar();
+              hasMagic = true;
+              pl = plEntry;
+              re += pl.close;
+              if (pl.type === "!") {
+                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
+              }
+              continue;
+            }
+            case "|": {
+              const plEntry = patternListStack[patternListStack.length - 1];
+              if (inClass || !plEntry) {
+                re += "\\|";
+                continue;
+              }
+              clearStateChar();
+              re += "|";
+              if (plEntry.start === 0 && plEntry.type !== "!") {
+                dotTravAllowed = true;
+                re += subPatternStart(pattern.slice(i + 1));
+              }
+              continue;
+            }
+            // these are mostly the same in regexp and glob
+            case "[":
+              clearStateChar();
+              if (inClass) {
+                re += "\\" + c;
+                continue;
+              }
+              inClass = true;
+              classStart = i;
+              reClassStart = re.length;
+              re += c;
+              continue;
+            case "]":
+              if (i === classStart + 1 || !inClass) {
+                re += "\\" + c;
+                continue;
+              }
+              cs = pattern.substring(classStart + 1, i);
+              try {
+                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
+                re += c;
+              } catch (er) {
+                re = re.substring(0, reClassStart) + "(?:$.)";
+              }
+              hasMagic = true;
+              inClass = false;
+              continue;
+            default:
+              clearStateChar();
+              if (reSpecials[c] && !(c === "^" && inClass)) {
+                re += "\\";
+              }
+              re += c;
+              break;
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.access,
-        Parameters.defaultEncryptionScope,
-        Parameters.preventEncryptionScopeOverride
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPropertiesOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerGetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerGetPropertiesExceptionHeaders
+        if (inClass) {
+          cs = pattern.slice(classStart + 1);
+          sp = this.parse(cs, SUBPARSE);
+          re = re.substring(0, reClassStart) + "\\[" + sp[0];
+          hasMagic = hasMagic || sp[1];
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var deleteOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "DELETE",
-      responses: {
-        202: {
-          headersMapper: Mappers.ContainerDeleteHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerDeleteExceptionHeaders
+        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
+          let tail;
+          tail = re.slice(pl.reStart + pl.open.length);
+          this.debug("setting tail", re, pl);
+          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
+            if (!$2) {
+              $2 = "\\";
+            }
+            return $1 + $1 + $2 + "|";
+          });
+          this.debug("tail=%j\n   %s", tail, tail, pl, re);
+          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
+          hasMagic = true;
+          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.restype2],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setMetadataOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerSetMetadataHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerSetMetadataExceptionHeaders
+        clearStateChar();
+        if (escaping) {
+          re += "\\\\";
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp6
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getAccessPolicyOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: {
-            type: {
-              name: "Sequence",
-              element: {
-                type: { name: "Composite", className: "SignedIdentifier" }
+        const addPatternStart = addPatternStartSet[re.charAt(0)];
+        for (let n = negativeLists.length - 1; n > -1; n--) {
+          const nl = negativeLists[n];
+          const nlBefore = re.slice(0, nl.reStart);
+          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
+          let nlAfter = re.slice(nl.reEnd);
+          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
+          const closeParensBefore = nlBefore.split(")").length;
+          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
+          let cleanAfter = nlAfter;
+          for (let i = 0; i < openParensBefore; i++) {
+            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
+          }
+          nlAfter = cleanAfter;
+          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
+          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
+        }
+        if (re !== "" && hasMagic) {
+          re = "(?=.)" + re;
+        }
+        if (addPatternStart) {
+          re = patternStart() + re;
+        }
+        if (isSub === SUBPARSE) {
+          return [re, hasMagic];
+        }
+        if (options.nocase && !hasMagic) {
+          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
+        }
+        if (!hasMagic) {
+          return globUnescape(pattern);
+        }
+        const flags = options.nocase ? "i" : "";
+        try {
+          return Object.assign(new RegExp("^" + re + "$", flags), {
+            _glob: pattern,
+            _src: re
+          });
+        } catch (er) {
+          return new RegExp("$.");
+        }
+      }
+      makeRe() {
+        if (this.regexp || this.regexp === false) return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
+        }
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = options.nocase ? "i" : "";
+        let re = set2.map((pattern) => {
+          pattern = pattern.map(
+            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
+          ).reduce((set3, p) => {
+            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
+              set3.push(p);
+            }
+            return set3;
+          }, []);
+          pattern.forEach((p, i) => {
+            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
+              return;
+            }
+            if (i === 0) {
+              if (pattern.length > 1) {
+                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
+              } else {
+                pattern[i] = twoStar;
               }
-            },
-            serializedName: "SignedIdentifiers",
-            xmlName: "SignedIdentifiers",
-            xmlIsWrapped: true,
-            xmlElementName: "SignedIdentifier"
-          },
-          headersMapper: Mappers.ContainerGetAccessPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerGetAccessPolicyExceptionHeaders
+            } else if (i === pattern.length - 1) {
+              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
+            } else {
+              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
+              pattern[i + 1] = GLOBSTAR;
+            }
+          });
+          return pattern.filter((p) => p !== GLOBSTAR).join("/");
+        }).join("|");
+        re = "^(?:" + re + ")$";
+        if (this.negate) re = "^(?!" + re + ").*$";
+        try {
+          this.regexp = new RegExp(re, flags);
+        } catch (ex) {
+          this.regexp = false;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp7
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setAccessPolicyOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerSetAccessPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerSetAccessPolicyExceptionHeaders
+        return this.regexp;
+      }
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) return false;
+        if (this.empty) return f === "";
+        if (f === "/" && partial) return true;
+        const options = this.options;
+        if (path3.sep !== "/") {
+          f = f.split(path3.sep).join("/");
         }
-      },
-      requestBody: Parameters.containerAcl,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp7
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.access,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
+        f = f.split(slashSplit);
+        this.debug(this.pattern, "split", f);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename;
+        for (let i = f.length - 1; i >= 0; i--) {
+          filename = f[i];
+          if (filename) break;
+        }
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = f;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
+          }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) return true;
+            return !this.negate;
+          }
+        }
+        if (options.flipNegate) return false;
+        return this.negate;
+      }
+      static defaults(def) {
+        return minimatch.defaults(def).Minimatch;
+      }
     };
-    var restoreOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.ContainerRestoreHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerRestoreExceptionHeaders
+    minimatch.Minimatch = Minimatch;
+  }
+});
+
+// node_modules/readdir-glob/index.js
+var require_readdir_glob = __commonJS({
+  "node_modules/readdir-glob/index.js"(exports2, module2) {
+    module2.exports = readdirGlob;
+    var fs3 = require("fs");
+    var { EventEmitter } = require("events");
+    var { Minimatch } = require_minimatch();
+    var { resolve: resolve2 } = require("path");
+    function readdir(dir, strict) {
+      return new Promise((resolve3, reject) => {
+        fs3.readdir(dir, { withFileTypes: true }, (err, files) => {
+          if (err) {
+            switch (err.code) {
+              case "ENOTDIR":
+                if (strict) {
+                  reject(err);
+                } else {
+                  resolve3([]);
+                }
+                break;
+              case "ENOTSUP":
+              // Operation not supported
+              case "ENOENT":
+              // No such file or directory
+              case "ENAMETOOLONG":
+              // Filename too long
+              case "UNKNOWN":
+                resolve3([]);
+                break;
+              case "ELOOP":
+              // Too many levels of symbolic links
+              default:
+                reject(err);
+                break;
+            }
+          } else {
+            resolve3(files);
+          }
+        });
+      });
+    }
+    function stat(file, followSymlinks) {
+      return new Promise((resolve3, reject) => {
+        const statFunc = followSymlinks ? fs3.stat : fs3.lstat;
+        statFunc(file, (err, stats) => {
+          if (err) {
+            switch (err.code) {
+              case "ENOENT":
+                if (followSymlinks) {
+                  resolve3(stat(file, false));
+                } else {
+                  resolve3(null);
+                }
+                break;
+              default:
+                resolve3(null);
+                break;
+            }
+          } else {
+            resolve3(stats);
+          }
+        });
+      });
+    }
+    async function* exploreWalkAsync(dir, path3, followSymlinks, useStat, shouldSkip, strict) {
+      let files = await readdir(path3 + dir, strict);
+      for (const file of files) {
+        let name = file.name;
+        if (name === void 0) {
+          name = file;
+          useStat = true;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp8
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.deletedContainerName,
-        Parameters.deletedContainerVersion
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var renameOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerRenameHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerRenameExceptionHeaders
+        const filename = dir + "/" + name;
+        const relative = filename.slice(1);
+        const absolute = path3 + "/" + relative;
+        let stats = null;
+        if (useStat || followSymlinks) {
+          stats = await stat(absolute, followSymlinks);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp9
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.sourceContainerName,
-        Parameters.sourceLeaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var submitBatchOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "POST",
-      responses: {
-        202: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.ContainerSubmitBatchHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerSubmitBatchExceptionHeaders
+        if (!stats && file.name !== void 0) {
+          stats = file;
         }
-      },
-      requestBody: Parameters.body,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp4,
-        Parameters.restype2
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.multipartContentType
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var filterBlobsOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.FilterBlobSegment,
-          headersMapper: Mappers.ContainerFilterBlobsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerFilterBlobsExceptionHeaders
+        if (stats === null) {
+          stats = { isDirectory: () => false };
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.comp5,
-        Parameters.where,
-        Parameters.restype2
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var acquireLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.ContainerAcquireLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerAcquireLeaseExceptionHeaders
+        if (stats.isDirectory()) {
+          if (!shouldSkip(relative)) {
+            yield { relative, absolute, stats };
+            yield* exploreWalkAsync(filename, path3, followSymlinks, useStat, shouldSkip, false);
+          }
+        } else {
+          yield { relative, absolute, stats };
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action,
-        Parameters.duration,
-        Parameters.proposedLeaseId
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var releaseLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerReleaseLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerReleaseLeaseExceptionHeaders
+      }
+    }
+    async function* explore(path3, followSymlinks, useStat, shouldSkip) {
+      yield* exploreWalkAsync("", path3, followSymlinks, useStat, shouldSkip, true);
+    }
+    function readOptions(options) {
+      return {
+        pattern: options.pattern,
+        dot: !!options.dot,
+        noglobstar: !!options.noglobstar,
+        matchBase: !!options.matchBase,
+        nocase: !!options.nocase,
+        ignore: options.ignore,
+        skip: options.skip,
+        follow: !!options.follow,
+        stat: !!options.stat,
+        nodir: !!options.nodir,
+        mark: !!options.mark,
+        silent: !!options.silent,
+        absolute: !!options.absolute
+      };
+    }
+    var ReaddirGlob = class extends EventEmitter {
+      constructor(cwd, options, cb) {
+        super();
+        if (typeof options === "function") {
+          cb = options;
+          options = null;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action1,
-        Parameters.leaseId1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var renewLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerRenewLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerRenewLeaseExceptionHeaders
+        this.options = readOptions(options || {});
+        this.matchers = [];
+        if (this.options.pattern) {
+          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
+          this.matchers = matchers.map(
+            (m) => new Minimatch(m, {
+              dot: this.options.dot,
+              noglobstar: this.options.noglobstar,
+              matchBase: this.options.matchBase,
+              nocase: this.options.nocase
+            })
+          );
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action2
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var breakLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.ContainerBreakLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerBreakLeaseExceptionHeaders
+        this.ignoreMatchers = [];
+        if (this.options.ignore) {
+          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
+          this.ignoreMatchers = ignorePatterns.map(
+            (ignore) => new Minimatch(ignore, { dot: true })
+          );
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action3,
-        Parameters.breakPeriod
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var changeLeaseOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerChangeLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerChangeLeaseExceptionHeaders
+        this.skipMatchers = [];
+        if (this.options.skip) {
+          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
+          this.skipMatchers = skipPatterns.map(
+            (skip) => new Minimatch(skip, { dot: true })
+          );
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.restype2,
-        Parameters.comp10
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action4,
-        Parameters.proposedLeaseId1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var listBlobFlatSegmentOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.ListBlobsFlatSegmentResponse,
-          headersMapper: Mappers.ContainerListBlobFlatSegmentHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerListBlobFlatSegmentExceptionHeaders
+        this.iterator = explore(resolve2(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
+        this.paused = false;
+        this.inactive = false;
+        this.aborted = false;
+        if (cb) {
+          this._matches = [];
+          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
+          this.on("error", (err) => cb(err));
+          this.on("end", () => cb(null, this._matches));
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp2,
-        Parameters.prefix,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.restype2,
-        Parameters.include1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var listBlobHierarchySegmentOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.ListBlobsHierarchySegmentResponse,
-          headersMapper: Mappers.ContainerListBlobHierarchySegmentHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerListBlobHierarchySegmentExceptionHeaders
+        setTimeout(() => this._next(), 0);
+      }
+      _shouldSkipDirectory(relative) {
+        return this.skipMatchers.some((m) => m.match(relative));
+      }
+      _fileMatches(relative, isDirectory) {
+        const file = relative + (isDirectory ? "/" : "");
+        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
+      }
+      _next() {
+        if (!this.paused && !this.aborted) {
+          this.iterator.next().then((obj) => {
+            if (!obj.done) {
+              const isDirectory = obj.value.stats.isDirectory();
+              if (this._fileMatches(obj.value.relative, isDirectory)) {
+                let relative = obj.value.relative;
+                let absolute = obj.value.absolute;
+                if (this.options.mark && isDirectory) {
+                  relative += "/";
+                  absolute += "/";
+                }
+                if (this.options.stat) {
+                  this.emit("match", { relative, absolute, stat: obj.value.stats });
+                } else {
+                  this.emit("match", { relative, absolute });
+                }
+              }
+              this._next(this.iterator);
+            } else {
+              this.emit("end");
+            }
+          }).catch((err) => {
+            this.abort();
+            this.emit("error", err);
+            if (!err.code && !this.options.silent) {
+              console.error(err);
+            }
+          });
+        } else {
+          this.inactive = true;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp2,
-        Parameters.prefix,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.restype2,
-        Parameters.include1,
-        Parameters.delimiter
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
+      }
+      abort() {
+        this.aborted = true;
+      }
+      pause() {
+        this.paused = true;
+      }
+      resume() {
+        this.paused = false;
+        if (this.inactive) {
+          this.inactive = false;
+          this._next();
+        }
+      }
     };
-    var getAccountInfoOperationSpec = {
-      path: "/{containerName}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.ContainerGetAccountInfoHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.ContainerGetAccountInfoExceptionHeaders
+    function readdirGlob(pattern, options, cb) {
+      return new ReaddirGlob(pattern, options, cb);
+    }
+    readdirGlob.ReaddirGlob = ReaddirGlob;
+  }
+});
+
+// node_modules/async/dist/async.js
+var require_async = __commonJS({
+  "node_modules/async/dist/async.js"(exports2, module2) {
+    (function(global2, factory) {
+      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
+    })(exports2, (function(exports3) {
+      "use strict";
+      function apply(fn, ...args) {
+        return (...callArgs) => fn(...args, ...callArgs);
+      }
+      function initialParams(fn) {
+        return function(...args) {
+          var callback = args.pop();
+          return fn.call(this, args, callback);
+        };
+      }
+      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
+      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
+      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
+      function fallback(fn) {
+        setTimeout(fn, 0);
+      }
+      function wrap(defer) {
+        return (fn, ...args) => defer(() => fn(...args));
+      }
+      var _defer$1;
+      if (hasQueueMicrotask) {
+        _defer$1 = queueMicrotask;
+      } else if (hasSetImmediate) {
+        _defer$1 = setImmediate;
+      } else if (hasNextTick) {
+        _defer$1 = process.nextTick;
+      } else {
+        _defer$1 = fallback;
+      }
+      var setImmediate$1 = wrap(_defer$1);
+      function asyncify(func) {
+        if (isAsync(func)) {
+          return function(...args) {
+            const callback = args.pop();
+            const promise = func.apply(this, args);
+            return handlePromise(promise, callback);
+          };
         }
-      },
-      queryParameters: [
-        Parameters.comp,
-        Parameters.timeoutInSeconds,
-        Parameters.restype1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js
-var require_blob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs10());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var BlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class Blob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
+        return initialParams(function(args, callback) {
+          var result;
+          try {
+            result = func.apply(this, args);
+          } catch (e) {
+            return callback(e);
+          }
+          if (result && typeof result.then === "function") {
+            return handlePromise(result, callback);
+          } else {
+            callback(null, result);
+          }
+        });
       }
-      /**
-       * The Download operation reads or downloads a blob from the system, including its metadata and
-       * properties. You can also call Download to read a snapshot.
-       * @param options The options parameters.
-       */
-      download(options) {
-        return this.client.sendOperationRequest({ options }, downloadOperationSpec);
+      function handlePromise(promise, callback) {
+        return promise.then((value) => {
+          invokeCallback(callback, null, value);
+        }, (err) => {
+          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
+        });
       }
-      /**
-       * The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system
-       * properties for the blob. It does not return the content of the blob.
-       * @param options The options parameters.
-       */
-      getProperties(options) {
-        return this.client.sendOperationRequest({ options }, getPropertiesOperationSpec);
+      function invokeCallback(callback, error3, value) {
+        try {
+          callback(error3, value);
+        } catch (err) {
+          setImmediate$1((e) => {
+            throw e;
+          }, err);
+        }
       }
-      /**
-       * If the storage account's soft delete feature is disabled then, when a blob is deleted, it is
-       * permanently removed from the storage account. If the storage account's soft delete feature is
-       * enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible
-       * immediately. However, the blob service retains the blob or snapshot for the number of days specified
-       * by the DeleteRetentionPolicy section of [Storage service properties]
-       * (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is
-       * permanently removed from the storage account. Note that you continue to be charged for the
-       * soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the
-       * "include=deleted" query parameter to discover which blobs and snapshots have been soft deleted. You
-       * can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a
-       * soft-deleted blob or snapshot causes the service to return an HTTP status code of 404
-       * (ResourceNotFound).
-       * @param options The options parameters.
-       */
-      delete(options) {
-        return this.client.sendOperationRequest({ options }, deleteOperationSpec);
+      function isAsync(fn) {
+        return fn[Symbol.toStringTag] === "AsyncFunction";
       }
-      /**
-       * Undelete a blob that was previously soft deleted
-       * @param options The options parameters.
-       */
-      undelete(options) {
-        return this.client.sendOperationRequest({ options }, undeleteOperationSpec);
+      function isAsyncGenerator(fn) {
+        return fn[Symbol.toStringTag] === "AsyncGenerator";
       }
-      /**
-       * Sets the time a blob will expire and be deleted.
-       * @param expiryOptions Required. Indicates mode of the expiry time
-       * @param options The options parameters.
-       */
-      setExpiry(expiryOptions, options) {
-        return this.client.sendOperationRequest({ expiryOptions, options }, setExpiryOperationSpec);
+      function isAsyncIterable(obj) {
+        return typeof obj[Symbol.asyncIterator] === "function";
       }
-      /**
-       * The Set HTTP Headers operation sets system properties on the blob
-       * @param options The options parameters.
-       */
-      setHttpHeaders(options) {
-        return this.client.sendOperationRequest({ options }, setHttpHeadersOperationSpec);
+      function wrapAsync(asyncFn) {
+        if (typeof asyncFn !== "function") throw new Error("expected a function");
+        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
       }
-      /**
-       * The Set Immutability Policy operation sets the immutability policy on the blob
-       * @param options The options parameters.
-       */
-      setImmutabilityPolicy(options) {
-        return this.client.sendOperationRequest({ options }, setImmutabilityPolicyOperationSpec);
+      function awaitify(asyncFn, arity) {
+        if (!arity) arity = asyncFn.length;
+        if (!arity) throw new Error("arity is undefined");
+        function awaitable(...args) {
+          if (typeof args[arity - 1] === "function") {
+            return asyncFn.apply(this, args);
+          }
+          return new Promise((resolve2, reject2) => {
+            args[arity - 1] = (err, ...cbArgs) => {
+              if (err) return reject2(err);
+              resolve2(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
+            };
+            asyncFn.apply(this, args);
+          });
+        }
+        return awaitable;
       }
-      /**
-       * The Delete Immutability Policy operation deletes the immutability policy on the blob
-       * @param options The options parameters.
-       */
-      deleteImmutabilityPolicy(options) {
-        return this.client.sendOperationRequest({ options }, deleteImmutabilityPolicyOperationSpec);
+      function applyEach$1(eachfn) {
+        return function applyEach2(fns, ...callArgs) {
+          const go = awaitify(function(callback) {
+            var that = this;
+            return eachfn(fns, (fn, cb) => {
+              wrapAsync(fn).apply(that, callArgs.concat(cb));
+            }, callback);
+          });
+          return go;
+        };
       }
-      /**
-       * The Set Legal Hold operation sets a legal hold on the blob.
-       * @param legalHold Specified if a legal hold should be set on the blob.
-       * @param options The options parameters.
-       */
-      setLegalHold(legalHold, options) {
-        return this.client.sendOperationRequest({ legalHold, options }, setLegalHoldOperationSpec);
+      function _asyncMap(eachfn, arr, iteratee, callback) {
+        arr = arr || [];
+        var results = [];
+        var counter = 0;
+        var _iteratee = wrapAsync(iteratee);
+        return eachfn(arr, (value, _2, iterCb) => {
+          var index2 = counter++;
+          _iteratee(value, (err, v) => {
+            results[index2] = v;
+            iterCb(err);
+          });
+        }, (err) => {
+          callback(err, results);
+        });
       }
-      /**
-       * The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more
-       * name-value pairs
-       * @param options The options parameters.
-       */
-      setMetadata(options) {
-        return this.client.sendOperationRequest({ options }, setMetadataOperationSpec);
+      function isArrayLike(value) {
+        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param options The options parameters.
-       */
-      acquireLease(options) {
-        return this.client.sendOperationRequest({ options }, acquireLeaseOperationSpec);
+      const breakLoop = {};
+      function once(fn) {
+        function wrapper(...args) {
+          if (fn === null) return;
+          var callFn = fn;
+          fn = null;
+          callFn.apply(this, args);
+        }
+        Object.assign(wrapper, fn);
+        return wrapper;
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
-       */
-      releaseLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, releaseLeaseOperationSpec);
+      function getIterator(coll) {
+        return coll[Symbol.iterator] && coll[Symbol.iterator]();
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param options The options parameters.
-       */
-      renewLease(leaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, options }, renewLeaseOperationSpec);
+      function createArrayIterator(coll) {
+        var i = -1;
+        var len = coll.length;
+        return function next() {
+          return ++i < len ? { value: coll[i], key: i } : null;
+        };
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param leaseId Specifies the current lease ID on the resource.
-       * @param proposedLeaseId Proposed lease ID, in a GUID string format. The Blob service returns 400
-       *                        (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor
-       *                        (String) for a list of valid GUID string formats.
-       * @param options The options parameters.
-       */
-      changeLease(leaseId, proposedLeaseId, options) {
-        return this.client.sendOperationRequest({ leaseId, proposedLeaseId, options }, changeLeaseOperationSpec);
+      function createES2015Iterator(iterator2) {
+        var i = -1;
+        return function next() {
+          var item = iterator2.next();
+          if (item.done)
+            return null;
+          i++;
+          return { value: item.value, key: i };
+        };
       }
-      /**
-       * [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete
-       * operations
-       * @param options The options parameters.
-       */
-      breakLease(options) {
-        return this.client.sendOperationRequest({ options }, breakLeaseOperationSpec);
+      function createObjectIterator(obj) {
+        var okeys = obj ? Object.keys(obj) : [];
+        var i = -1;
+        var len = okeys.length;
+        return function next() {
+          var key = okeys[++i];
+          if (key === "__proto__") {
+            return next();
+          }
+          return i < len ? { value: obj[key], key } : null;
+        };
       }
-      /**
-       * The Create Snapshot operation creates a read-only snapshot of a blob
-       * @param options The options parameters.
-       */
-      createSnapshot(options) {
-        return this.client.sendOperationRequest({ options }, createSnapshotOperationSpec);
+      function createIterator(coll) {
+        if (isArrayLike(coll)) {
+          return createArrayIterator(coll);
+        }
+        var iterator2 = getIterator(coll);
+        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
       }
-      /**
-       * The Start Copy From URL operation copies a blob or an internet resource to a new blob.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
-       */
-      startCopyFromURL(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, startCopyFromURLOperationSpec);
+      function onlyOnce(fn) {
+        return function(...args) {
+          if (fn === null) throw new Error("Callback was already called.");
+          var callFn = fn;
+          fn = null;
+          callFn.apply(this, args);
+        };
       }
-      /**
-       * The Copy From URL operation copies a blob or an internet resource to a new blob. It will not return
-       * a response until the copy is complete.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
-       */
-      copyFromURL(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, copyFromURLOperationSpec);
+      function asyncEachOfLimit(generator, limit, iteratee, callback) {
+        let done = false;
+        let canceled = false;
+        let awaiting = false;
+        let running = 0;
+        let idx = 0;
+        function replenish() {
+          if (running >= limit || awaiting || done) return;
+          awaiting = true;
+          generator.next().then(({ value, done: iterDone }) => {
+            if (canceled || done) return;
+            awaiting = false;
+            if (iterDone) {
+              done = true;
+              if (running <= 0) {
+                callback(null);
+              }
+              return;
+            }
+            running++;
+            iteratee(value, idx, iterateeCallback);
+            idx++;
+            replenish();
+          }).catch(handleError);
+        }
+        function iterateeCallback(err, result) {
+          running -= 1;
+          if (canceled) return;
+          if (err) return handleError(err);
+          if (err === false) {
+            done = true;
+            canceled = true;
+            return;
+          }
+          if (result === breakLoop || done && running <= 0) {
+            done = true;
+            return callback(null);
+          }
+          replenish();
+        }
+        function handleError(err) {
+          if (canceled) return;
+          awaiting = false;
+          done = true;
+          callback(err);
+        }
+        replenish();
       }
-      /**
-       * The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination
-       * blob with zero length and full metadata.
-       * @param copyId The copy identifier provided in the x-ms-copy-id header of the original Copy Blob
-       *               operation.
-       * @param options The options parameters.
-       */
-      abortCopyFromURL(copyId, options) {
-        return this.client.sendOperationRequest({ copyId, options }, abortCopyFromURLOperationSpec);
+      var eachOfLimit$2 = (limit) => {
+        return (obj, iteratee, callback) => {
+          callback = once(callback);
+          if (limit <= 0) {
+            throw new RangeError("concurrency limit cannot be less than 1");
+          }
+          if (!obj) {
+            return callback(null);
+          }
+          if (isAsyncGenerator(obj)) {
+            return asyncEachOfLimit(obj, limit, iteratee, callback);
+          }
+          if (isAsyncIterable(obj)) {
+            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
+          }
+          var nextElem = createIterator(obj);
+          var done = false;
+          var canceled = false;
+          var running = 0;
+          var looping = false;
+          function iterateeCallback(err, value) {
+            if (canceled) return;
+            running -= 1;
+            if (err) {
+              done = true;
+              callback(err);
+            } else if (err === false) {
+              done = true;
+              canceled = true;
+            } else if (value === breakLoop || done && running <= 0) {
+              done = true;
+              return callback(null);
+            } else if (!looping) {
+              replenish();
+            }
+          }
+          function replenish() {
+            looping = true;
+            while (running < limit && !done) {
+              var elem = nextElem();
+              if (elem === null) {
+                done = true;
+                if (running <= 0) {
+                  callback(null);
+                }
+                return;
+              }
+              running += 1;
+              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
+            }
+            looping = false;
+          }
+          replenish();
+        };
+      };
+      function eachOfLimit(coll, limit, iteratee, callback) {
+        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
       }
-      /**
-       * The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium
-       * storage account and on a block blob in a blob storage account (locally redundant storage only). A
-       * premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block
-       * blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's
-       * ETag.
-       * @param tier Indicates the tier to be set on the blob.
-       * @param options The options parameters.
-       */
-      setTier(tier, options) {
-        return this.client.sendOperationRequest({ tier, options }, setTierOperationSpec);
+      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
+      function eachOfArrayLike(coll, iteratee, callback) {
+        callback = once(callback);
+        var index2 = 0, completed = 0, { length } = coll, canceled = false;
+        if (length === 0) {
+          callback(null);
+        }
+        function iteratorCallback(err, value) {
+          if (err === false) {
+            canceled = true;
+          }
+          if (canceled === true) return;
+          if (err) {
+            callback(err);
+          } else if (++completed === length || value === breakLoop) {
+            callback(null);
+          }
+        }
+        for (; index2 < length; index2++) {
+          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
+        }
       }
-      /**
-       * Returns the sku name and account kind
-       * @param options The options parameters.
-       */
-      getAccountInfo(options) {
-        return this.client.sendOperationRequest({ options }, getAccountInfoOperationSpec);
+      function eachOfGeneric(coll, iteratee, callback) {
+        return eachOfLimit$1(coll, Infinity, iteratee, callback);
       }
-      /**
-       * The Query operation enables users to select/project on blob data by providing simple query
-       * expressions.
-       * @param options The options parameters.
-       */
-      query(options) {
-        return this.client.sendOperationRequest({ options }, queryOperationSpec);
+      function eachOf(coll, iteratee, callback) {
+        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
+        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
       }
-      /**
-       * The Get Tags operation enables users to get the tags associated with a blob.
-       * @param options The options parameters.
-       */
-      getTags(options) {
-        return this.client.sendOperationRequest({ options }, getTagsOperationSpec);
+      var eachOf$1 = awaitify(eachOf, 3);
+      function map2(coll, iteratee, callback) {
+        return _asyncMap(eachOf$1, coll, iteratee, callback);
       }
-      /**
-       * The Set Tags operation enables users to set tags on a blob.
-       * @param options The options parameters.
-       */
-      setTags(options) {
-        return this.client.sendOperationRequest({ options }, setTagsOperationSpec);
+      var map$1 = awaitify(map2, 3);
+      var applyEach = applyEach$1(map$1);
+      function eachOfSeries(coll, iteratee, callback) {
+        return eachOfLimit$1(coll, 1, iteratee, callback);
+      }
+      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
+      function mapSeries(coll, iteratee, callback) {
+        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
       }
-    };
-    exports2.BlobImpl = BlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var downloadOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobDownloadHeaders
-        },
-        206: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
-          },
-          headersMapper: Mappers.BlobDownloadHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobDownloadExceptionHeaders
+      var mapSeries$1 = awaitify(mapSeries, 3);
+      var applyEachSeries = applyEach$1(mapSeries$1);
+      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
+      function promiseCallback() {
+        let resolve2, reject2;
+        function callback(err, ...args) {
+          if (err) return reject2(err);
+          resolve2(args.length > 1 ? args : args[0]);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.rangeGetContentMD5,
-        Parameters.rangeGetContentCRC64,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPropertiesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "HEAD",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobGetPropertiesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobGetPropertiesExceptionHeaders
+        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
+          resolve2 = res, reject2 = rej;
+        });
+        return callback;
+      }
+      function auto(tasks, concurrency, callback) {
+        if (typeof concurrency !== "number") {
+          callback = concurrency;
+          concurrency = null;
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var deleteOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "DELETE",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobDeleteHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobDeleteExceptionHeaders
+        callback = once(callback || promiseCallback());
+        var numTasks = Object.keys(tasks).length;
+        if (!numTasks) {
+          return callback(null);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.blobDeleteType
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.deleteSnapshots
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var undeleteOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobUndeleteHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobUndeleteExceptionHeaders
+        if (!concurrency) {
+          concurrency = numTasks;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp8],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setExpiryOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetExpiryHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetExpiryExceptionHeaders
+        var results = {};
+        var runningTasks = 0;
+        var canceled = false;
+        var hasError = false;
+        var listeners = /* @__PURE__ */ Object.create(null);
+        var readyTasks = [];
+        var readyToCheck = [];
+        var uncheckedDependencies = {};
+        Object.keys(tasks).forEach((key) => {
+          var task = tasks[key];
+          if (!Array.isArray(task)) {
+            enqueueTask(key, [task]);
+            readyToCheck.push(key);
+            return;
+          }
+          var dependencies = task.slice(0, task.length - 1);
+          var remainingDependencies = dependencies.length;
+          if (remainingDependencies === 0) {
+            enqueueTask(key, task);
+            readyToCheck.push(key);
+            return;
+          }
+          uncheckedDependencies[key] = remainingDependencies;
+          dependencies.forEach((dependencyName) => {
+            if (!tasks[dependencyName]) {
+              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
+            }
+            addListener(dependencyName, () => {
+              remainingDependencies--;
+              if (remainingDependencies === 0) {
+                enqueueTask(key, task);
+              }
+            });
+          });
+        });
+        checkForDeadlocks();
+        processQueue();
+        function enqueueTask(key, task) {
+          readyTasks.push(() => runTask(key, task));
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp11],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.expiryOptions,
-        Parameters.expiresOn
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setHttpHeadersOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetHttpHeadersHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetHttpHeadersExceptionHeaders
+        function processQueue() {
+          if (canceled) return;
+          if (readyTasks.length === 0 && runningTasks === 0) {
+            return callback(null, results);
+          }
+          while (readyTasks.length && runningTasks < concurrency) {
+            var run = readyTasks.shift();
+            run();
+          }
         }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setImmutabilityPolicyOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetImmutabilityPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetImmutabilityPolicyExceptionHeaders
+        function addListener(taskName, fn) {
+          var taskListeners = listeners[taskName];
+          if (!taskListeners) {
+            taskListeners = listeners[taskName] = [];
+          }
+          taskListeners.push(fn);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp12
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifUnmodifiedSince,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var deleteImmutabilityPolicyOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "DELETE",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobDeleteImmutabilityPolicyHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobDeleteImmutabilityPolicyExceptionHeaders
+        function taskComplete(taskName) {
+          var taskListeners = listeners[taskName] || [];
+          taskListeners.forEach((fn) => fn());
+          processQueue();
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp12
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setLegalHoldOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetLegalHoldHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetLegalHoldExceptionHeaders
+        function runTask(key, task) {
+          if (hasError) return;
+          var taskCallback = onlyOnce((err, ...result) => {
+            runningTasks--;
+            if (err === false) {
+              canceled = true;
+              return;
+            }
+            if (result.length < 2) {
+              [result] = result;
+            }
+            if (err) {
+              var safeResults = {};
+              Object.keys(results).forEach((rkey) => {
+                safeResults[rkey] = results[rkey];
+              });
+              safeResults[key] = result;
+              hasError = true;
+              listeners = /* @__PURE__ */ Object.create(null);
+              if (canceled) return;
+              callback(err, safeResults);
+            } else {
+              results[key] = result;
+              taskComplete(key);
+            }
+          });
+          runningTasks++;
+          var taskFn = wrapAsync(task[task.length - 1]);
+          if (task.length > 1) {
+            taskFn(results, taskCallback);
+          } else {
+            taskFn(taskCallback);
+          }
+        }
+        function checkForDeadlocks() {
+          var currentTask;
+          var counter = 0;
+          while (readyToCheck.length) {
+            currentTask = readyToCheck.pop();
+            counter++;
+            getDependents(currentTask).forEach((dependent) => {
+              if (--uncheckedDependencies[dependent] === 0) {
+                readyToCheck.push(dependent);
+              }
+            });
+          }
+          if (counter !== numTasks) {
+            throw new Error(
+              "async.auto cannot execute tasks due to a recursive dependency"
+            );
+          }
+        }
+        function getDependents(taskName) {
+          var result = [];
+          Object.keys(tasks).forEach((key) => {
+            const task = tasks[key];
+            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
+              result.push(key);
+            }
+          });
+          return result;
+        }
+        return callback[PROMISE_SYMBOL];
+      }
+      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
+      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
+      var FN_ARG_SPLIT = /,/;
+      var FN_ARG = /(=.+)?(\s*)$/;
+      function stripComments(string) {
+        let stripped = "";
+        let index2 = 0;
+        let endBlockComment = string.indexOf("*/");
+        while (index2 < string.length) {
+          if (string[index2] === "/" && string[index2 + 1] === "/") {
+            let endIndex = string.indexOf("\n", index2);
+            index2 = endIndex === -1 ? string.length : endIndex;
+          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
+            let endIndex = string.indexOf("*/", index2);
+            if (endIndex !== -1) {
+              index2 = endIndex + 2;
+              endBlockComment = string.indexOf("*/", index2);
+            } else {
+              stripped += string[index2];
+              index2++;
+            }
+          } else {
+            stripped += string[index2];
+            index2++;
+          }
+        }
+        return stripped;
+      }
+      function parseParams(func) {
+        const src = stripComments(func.toString());
+        let match = src.match(FN_ARGS);
+        if (!match) {
+          match = src.match(ARROW_FN_ARGS);
+        }
+        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
+        let [, args] = match;
+        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
+      }
+      function autoInject(tasks, callback) {
+        var newTasks = {};
+        Object.keys(tasks).forEach((key) => {
+          var taskFn = tasks[key];
+          var params;
+          var fnIsAsync = isAsync(taskFn);
+          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
+          if (Array.isArray(taskFn)) {
+            params = [...taskFn];
+            taskFn = params.pop();
+            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
+          } else if (hasNoDeps) {
+            newTasks[key] = taskFn;
+          } else {
+            params = parseParams(taskFn);
+            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
+              throw new Error("autoInject task functions require explicit parameters.");
+            }
+            if (!fnIsAsync) params.pop();
+            newTasks[key] = params.concat(newTask);
+          }
+          function newTask(results, taskCb) {
+            var newArgs = params.map((name) => results[name]);
+            newArgs.push(taskCb);
+            wrapAsync(taskFn)(...newArgs);
+          }
+        });
+        return auto(newTasks, callback);
+      }
+      class DLL {
+        constructor() {
+          this.head = this.tail = null;
+          this.length = 0;
+        }
+        removeLink(node) {
+          if (node.prev) node.prev.next = node.next;
+          else this.head = node.next;
+          if (node.next) node.next.prev = node.prev;
+          else this.tail = node.prev;
+          node.prev = node.next = null;
+          this.length -= 1;
+          return node;
+        }
+        empty() {
+          while (this.head) this.shift();
+          return this;
+        }
+        insertAfter(node, newNode) {
+          newNode.prev = node;
+          newNode.next = node.next;
+          if (node.next) node.next.prev = newNode;
+          else this.tail = newNode;
+          node.next = newNode;
+          this.length += 1;
+        }
+        insertBefore(node, newNode) {
+          newNode.prev = node.prev;
+          newNode.next = node;
+          if (node.prev) node.prev.next = newNode;
+          else this.head = newNode;
+          node.prev = newNode;
+          this.length += 1;
+        }
+        unshift(node) {
+          if (this.head) this.insertBefore(this.head, node);
+          else setInitial(this, node);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp13
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.legalHold
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setMetadataOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetMetadataHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetMetadataExceptionHeaders
+        push(node) {
+          if (this.tail) this.insertAfter(this.tail, node);
+          else setInitial(this, node);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp6],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var acquireLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlobAcquireLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobAcquireLeaseExceptionHeaders
+        shift() {
+          return this.head && this.removeLink(this.head);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action,
-        Parameters.duration,
-        Parameters.proposedLeaseId,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var releaseLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobReleaseLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobReleaseLeaseExceptionHeaders
+        pop() {
+          return this.tail && this.removeLink(this.tail);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action1,
-        Parameters.leaseId1,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var renewLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobRenewLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobRenewLeaseExceptionHeaders
+        toArray() {
+          return [...this];
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action2,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var changeLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobChangeLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobChangeLeaseExceptionHeaders
+        *[Symbol.iterator]() {
+          var cur = this.head;
+          while (cur) {
+            yield cur.data;
+            cur = cur.next;
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.leaseId1,
-        Parameters.action4,
-        Parameters.proposedLeaseId1,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var breakLeaseOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobBreakLeaseHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobBreakLeaseExceptionHeaders
+        remove(testFn) {
+          var curr = this.head;
+          while (curr) {
+            var { next } = curr;
+            if (testFn(curr)) {
+              this.removeLink(curr);
+            }
+            curr = next;
+          }
+          return this;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp10],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.action3,
-        Parameters.breakPeriod,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var createSnapshotOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlobCreateSnapshotHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobCreateSnapshotExceptionHeaders
+      }
+      function setInitial(dll, node) {
+        dll.length = 1;
+        dll.head = dll.tail = node;
+      }
+      function queue$1(worker, concurrency, payload) {
+        if (concurrency == null) {
+          concurrency = 1;
+        } else if (concurrency === 0) {
+          throw new RangeError("Concurrency must not be zero");
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp14],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var startCopyFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobStartCopyFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobStartCopyFromURLExceptionHeaders
+        var _worker = wrapAsync(worker);
+        var numRunning = 0;
+        var workersList = [];
+        const events = {
+          error: [],
+          drain: [],
+          saturated: [],
+          unsaturated: [],
+          empty: []
+        };
+        function on(event, handler2) {
+          events[event].push(handler2);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.tier,
-        Parameters.rehydratePriority,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceIfTags,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.sealBlob,
-        Parameters.legalHold1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var copyFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.BlobCopyFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobCopyFromURLExceptionHeaders
+        function once2(event, handler2) {
+          const handleAndRemove = (...args) => {
+            off(event, handleAndRemove);
+            handler2(...args);
+          };
+          events[event].push(handleAndRemove);
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.xMsRequiresSync,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.copySourceTags,
-        Parameters.fileRequestIntent
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var abortCopyFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        204: {
-          headersMapper: Mappers.BlobAbortCopyFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobAbortCopyFromURLExceptionHeaders
+        function off(event, handler2) {
+          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
+          if (!handler2) return events[event] = [];
+          events[event] = events[event].filter((ev) => ev !== handler2);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp15,
-        Parameters.copyId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.copyActionAbortConstant
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setTierOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobSetTierHeaders
-        },
-        202: {
-          headersMapper: Mappers.BlobSetTierHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetTierExceptionHeaders
+        function trigger(event, ...args) {
+          events[event].forEach((handler2) => handler2(...args));
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp16
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags,
-        Parameters.rehydratePriority,
-        Parameters.tier1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getAccountInfoOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          headersMapper: Mappers.BlobGetAccountInfoHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobGetAccountInfoExceptionHeaders
+        var processingScheduled = false;
+        function _insert(data, insertAtFront, rejectOnError, callback) {
+          if (callback != null && typeof callback !== "function") {
+            throw new Error("task callback must be a function");
+          }
+          q.started = true;
+          var res, rej;
+          function promiseCallback2(err, ...args) {
+            if (err) return rejectOnError ? rej(err) : res();
+            if (args.length <= 1) return res(args[0]);
+            res(args);
+          }
+          var item = q._createTaskItem(
+            data,
+            rejectOnError ? promiseCallback2 : callback || promiseCallback2
+          );
+          if (insertAtFront) {
+            q._tasks.unshift(item);
+          } else {
+            q._tasks.push(item);
+          }
+          if (!processingScheduled) {
+            processingScheduled = true;
+            setImmediate$1(() => {
+              processingScheduled = false;
+              q.process();
+            });
+          }
+          if (rejectOnError || !callback) {
+            return new Promise((resolve2, reject2) => {
+              res = resolve2;
+              rej = reject2;
+            });
+          }
         }
-      },
-      queryParameters: [
-        Parameters.comp,
-        Parameters.timeoutInSeconds,
-        Parameters.restype1
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var queryOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "POST",
-      responses: {
-        200: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
+        function _createCB(tasks) {
+          return function(err, ...args) {
+            numRunning -= 1;
+            for (var i = 0, l = tasks.length; i < l; i++) {
+              var task = tasks[i];
+              var index2 = workersList.indexOf(task);
+              if (index2 === 0) {
+                workersList.shift();
+              } else if (index2 > 0) {
+                workersList.splice(index2, 1);
+              }
+              task.callback(err, ...args);
+              if (err != null) {
+                trigger("error", err, task.data);
+              }
+            }
+            if (numRunning <= q.concurrency - q.buffer) {
+              trigger("unsaturated");
+            }
+            if (q.idle()) {
+              trigger("drain");
+            }
+            q.process();
+          };
+        }
+        function _maybeDrain(data) {
+          if (data.length === 0 && q.idle()) {
+            setImmediate$1(() => trigger("drain"));
+            return true;
+          }
+          return false;
+        }
+        const eventMethod = (name) => (handler2) => {
+          if (!handler2) {
+            return new Promise((resolve2, reject2) => {
+              once2(name, (err, data) => {
+                if (err) return reject2(err);
+                resolve2(data);
+              });
+            });
+          }
+          off(name);
+          on(name, handler2);
+        };
+        var isProcessing = false;
+        var q = {
+          _tasks: new DLL(),
+          _createTaskItem(data, callback) {
+            return {
+              data,
+              callback
+            };
           },
-          headersMapper: Mappers.BlobQueryHeaders
-        },
-        206: {
-          bodyMapper: {
-            type: { name: "Stream" },
-            serializedName: "parsedResponse"
+          *[Symbol.iterator]() {
+            yield* q._tasks[Symbol.iterator]();
           },
-          headersMapper: Mappers.BlobQueryHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobQueryExceptionHeaders
-        }
-      },
-      requestBody: Parameters.queryRequest,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.comp17
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getTagsOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlobTags,
-          headersMapper: Mappers.BlobGetTagsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobGetTagsExceptionHeaders
+          concurrency,
+          payload,
+          buffer: concurrency / 4,
+          started: false,
+          paused: false,
+          push(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, false, false, callback));
+            }
+            return _insert(data, false, false, callback);
+          },
+          pushAsync(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, false, true, callback));
+            }
+            return _insert(data, false, true, callback);
+          },
+          kill() {
+            off();
+            q._tasks.empty();
+          },
+          unshift(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, true, false, callback));
+            }
+            return _insert(data, true, false, callback);
+          },
+          unshiftAsync(data, callback) {
+            if (Array.isArray(data)) {
+              if (_maybeDrain(data)) return;
+              return data.map((datum) => _insert(datum, true, true, callback));
+            }
+            return _insert(data, true, true, callback);
+          },
+          remove(testFn) {
+            q._tasks.remove(testFn);
+          },
+          process() {
+            if (isProcessing) {
+              return;
+            }
+            isProcessing = true;
+            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
+              var tasks = [], data = [];
+              var l = q._tasks.length;
+              if (q.payload) l = Math.min(l, q.payload);
+              for (var i = 0; i < l; i++) {
+                var node = q._tasks.shift();
+                tasks.push(node);
+                workersList.push(node);
+                data.push(node.data);
+              }
+              numRunning += 1;
+              if (q._tasks.length === 0) {
+                trigger("empty");
+              }
+              if (numRunning === q.concurrency) {
+                trigger("saturated");
+              }
+              var cb = onlyOnce(_createCB(tasks));
+              _worker(data, cb);
+            }
+            isProcessing = false;
+          },
+          length() {
+            return q._tasks.length;
+          },
+          running() {
+            return numRunning;
+          },
+          workersList() {
+            return workersList;
+          },
+          idle() {
+            return q._tasks.length + numRunning === 0;
+          },
+          pause() {
+            q.paused = true;
+          },
+          resume() {
+            if (q.paused === false) {
+              return;
+            }
+            q.paused = false;
+            setImmediate$1(q.process);
+          }
+        };
+        Object.defineProperties(q, {
+          saturated: {
+            writable: false,
+            value: eventMethod("saturated")
+          },
+          unsaturated: {
+            writable: false,
+            value: eventMethod("unsaturated")
+          },
+          empty: {
+            writable: false,
+            value: eventMethod("empty")
+          },
+          drain: {
+            writable: false,
+            value: eventMethod("drain")
+          },
+          error: {
+            writable: false,
+            value: eventMethod("error")
+          }
+        });
+        return q;
+      }
+      function cargo$1(worker, payload) {
+        return queue$1(worker, 1, payload);
+      }
+      function cargo(worker, concurrency, payload) {
+        return queue$1(worker, concurrency, payload);
+      }
+      function reduce(coll, memo, iteratee, callback) {
+        callback = once(callback);
+        var _iteratee = wrapAsync(iteratee);
+        return eachOfSeries$1(coll, (x, i, iterCb) => {
+          _iteratee(memo, x, (err, v) => {
+            memo = v;
+            iterCb(err);
+          });
+        }, (err) => callback(err, memo));
+      }
+      var reduce$1 = awaitify(reduce, 4);
+      function seq2(...functions) {
+        var _functions = functions.map(wrapAsync);
+        return function(...args) {
+          var that = this;
+          var cb = args[args.length - 1];
+          if (typeof cb == "function") {
+            args.pop();
+          } else {
+            cb = promiseCallback();
+          }
+          reduce$1(
+            _functions,
+            args,
+            (newargs, fn, iterCb) => {
+              fn.apply(that, newargs.concat((err, ...nextargs) => {
+                iterCb(err, nextargs);
+              }));
+            },
+            (err, results) => cb(err, ...results)
+          );
+          return cb[PROMISE_SYMBOL];
+        };
+      }
+      function compose(...args) {
+        return seq2(...args.reverse());
+      }
+      function mapLimit(coll, limit, iteratee, callback) {
+        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var mapLimit$1 = awaitify(mapLimit, 4);
+      function concatLimit(coll, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(coll, limit, (val, iterCb) => {
+          _iteratee(val, (err, ...args) => {
+            if (err) return iterCb(err);
+            return iterCb(err, args);
+          });
+        }, (err, mapResults) => {
+          var result = [];
+          for (var i = 0; i < mapResults.length; i++) {
+            if (mapResults[i]) {
+              result = result.concat(...mapResults[i]);
+            }
+          }
+          return callback(err, result);
+        });
+      }
+      var concatLimit$1 = awaitify(concatLimit, 4);
+      function concat(coll, iteratee, callback) {
+        return concatLimit$1(coll, Infinity, iteratee, callback);
+      }
+      var concat$1 = awaitify(concat, 3);
+      function concatSeries(coll, iteratee, callback) {
+        return concatLimit$1(coll, 1, iteratee, callback);
+      }
+      var concatSeries$1 = awaitify(concatSeries, 3);
+      function constant$1(...args) {
+        return function(...ignoredArgs) {
+          var callback = ignoredArgs.pop();
+          return callback(null, ...args);
+        };
+      }
+      function _createTester(check, getResult) {
+        return (eachfn, arr, _iteratee, cb) => {
+          var testPassed = false;
+          var testResult;
+          const iteratee = wrapAsync(_iteratee);
+          eachfn(arr, (value, _2, callback) => {
+            iteratee(value, (err, result) => {
+              if (err || err === false) return callback(err);
+              if (check(result) && !testResult) {
+                testPassed = true;
+                testResult = getResult(true, value);
+                return callback(null, breakLoop);
+              }
+              callback();
+            });
+          }, (err) => {
+            if (err) return cb(err);
+            cb(null, testPassed ? testResult : getResult(false));
+          });
+        };
+      }
+      function detect(coll, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
+      }
+      var detect$1 = awaitify(detect, 3);
+      function detectLimit(coll, limit, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var detectLimit$1 = awaitify(detectLimit, 4);
+      function detectSeries(coll, iteratee, callback) {
+        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
+      }
+      var detectSeries$1 = awaitify(detectSeries, 3);
+      function consoleFunc(name) {
+        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
+          if (typeof console === "object") {
+            if (err) {
+              if (console.error) {
+                console.error(err);
+              }
+            } else if (console[name]) {
+              resultArgs.forEach((x) => console[name](x));
+            }
+          }
+        });
+      }
+      var dir = consoleFunc("dir");
+      function doWhilst(iteratee, test, callback) {
+        callback = onlyOnce(callback);
+        var _fn = wrapAsync(iteratee);
+        var _test = wrapAsync(test);
+        var results;
+        function next(err, ...args) {
+          if (err) return callback(err);
+          if (err === false) return;
+          results = args;
+          _test(...args, check);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.versionId,
-        Parameters.comp18
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var setTagsOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        204: {
-          headersMapper: Mappers.BlobSetTagsHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlobSetTagsExceptionHeaders
+        function check(err, truth) {
+          if (err) return callback(err);
+          if (err === false) return;
+          if (!truth) return callback(null, ...results);
+          _fn(next);
         }
-      },
-      requestBody: Parameters.tags,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.versionId,
-        Parameters.comp18
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.leaseId,
-        Parameters.ifTags,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js
-var require_pageBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/pageBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PageBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs10());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var PageBlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class PageBlob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
+        return check(null, true);
+      }
+      var doWhilst$1 = awaitify(doWhilst, 3);
+      function doUntil(iteratee, test, callback) {
+        const _test = wrapAsync(test);
+        return doWhilst$1(iteratee, (...args) => {
+          const cb = args.pop();
+          _test(...args, (err, truth) => cb(err, !truth));
+        }, callback);
+      }
+      function _withoutIndex(iteratee) {
+        return (value, index2, callback) => iteratee(value, callback);
+      }
+      function eachLimit$2(coll, iteratee, callback) {
+        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      }
+      var each = awaitify(eachLimit$2, 3);
+      function eachLimit(coll, limit, iteratee, callback) {
+        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+      }
+      var eachLimit$1 = awaitify(eachLimit, 4);
+      function eachSeries(coll, iteratee, callback) {
+        return eachLimit$1(coll, 1, iteratee, callback);
+      }
+      var eachSeries$1 = awaitify(eachSeries, 3);
+      function ensureAsync(fn) {
+        if (isAsync(fn)) return fn;
+        return function(...args) {
+          var callback = args.pop();
+          var sync = true;
+          args.push((...innerArgs) => {
+            if (sync) {
+              setImmediate$1(() => callback(...innerArgs));
+            } else {
+              callback(...innerArgs);
+            }
+          });
+          fn.apply(this, args);
+          sync = false;
+        };
+      }
+      function every(coll, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
+      }
+      var every$1 = awaitify(every, 3);
+      function everyLimit(coll, limit, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var everyLimit$1 = awaitify(everyLimit, 4);
+      function everySeries(coll, iteratee, callback) {
+        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var everySeries$1 = awaitify(everySeries, 3);
+      function filterArray(eachfn, arr, iteratee, callback) {
+        var truthValues = new Array(arr.length);
+        eachfn(arr, (x, index2, iterCb) => {
+          iteratee(x, (err, v) => {
+            truthValues[index2] = !!v;
+            iterCb(err);
+          });
+        }, (err) => {
+          if (err) return callback(err);
+          var results = [];
+          for (var i = 0; i < arr.length; i++) {
+            if (truthValues[i]) results.push(arr[i]);
+          }
+          callback(null, results);
+        });
+      }
+      function filterGeneric(eachfn, coll, iteratee, callback) {
+        var results = [];
+        eachfn(coll, (x, index2, iterCb) => {
+          iteratee(x, (err, v) => {
+            if (err) return iterCb(err);
+            if (v) {
+              results.push({ index: index2, value: x });
+            }
+            iterCb(err);
+          });
+        }, (err) => {
+          if (err) return callback(err);
+          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
+        });
+      }
+      function _filter(eachfn, coll, iteratee, callback) {
+        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
+        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
+      }
+      function filter(coll, iteratee, callback) {
+        return _filter(eachOf$1, coll, iteratee, callback);
+      }
+      var filter$1 = awaitify(filter, 3);
+      function filterLimit(coll, limit, iteratee, callback) {
+        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var filterLimit$1 = awaitify(filterLimit, 4);
+      function filterSeries(coll, iteratee, callback) {
+        return _filter(eachOfSeries$1, coll, iteratee, callback);
       }
-      /**
-       * The Create operation creates a new page blob.
-       * @param contentLength The length of the request.
-       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
-       *                          page blob size must be aligned to a 512-byte boundary.
-       * @param options The options parameters.
-       */
-      create(contentLength, blobContentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, blobContentLength, options }, createOperationSpec);
+      var filterSeries$1 = awaitify(filterSeries, 3);
+      function forever(fn, errback) {
+        var done = onlyOnce(errback);
+        var task = wrapAsync(ensureAsync(fn));
+        function next(err) {
+          if (err) return done(err);
+          if (err === false) return;
+          task(next);
+        }
+        return next();
       }
-      /**
-       * The Upload Pages operation writes a range of pages to a page blob
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      uploadPages(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, uploadPagesOperationSpec);
+      var forever$1 = awaitify(forever, 2);
+      function groupByLimit(coll, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(coll, limit, (val, iterCb) => {
+          _iteratee(val, (err, key) => {
+            if (err) return iterCb(err);
+            return iterCb(err, { key, val });
+          });
+        }, (err, mapResults) => {
+          var result = {};
+          var { hasOwnProperty } = Object.prototype;
+          for (var i = 0; i < mapResults.length; i++) {
+            if (mapResults[i]) {
+              var { key } = mapResults[i];
+              var { val } = mapResults[i];
+              if (hasOwnProperty.call(result, key)) {
+                result[key].push(val);
+              } else {
+                result[key] = [val];
+              }
+            }
+          }
+          return callback(err, result);
+        });
       }
-      /**
-       * The Clear Pages operation clears a set of pages from a page blob
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
-       */
-      clearPages(contentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, options }, clearPagesOperationSpec);
+      var groupByLimit$1 = awaitify(groupByLimit, 4);
+      function groupBy(coll, iteratee, callback) {
+        return groupByLimit$1(coll, Infinity, iteratee, callback);
       }
-      /**
-       * The Upload Pages operation writes a range of pages to a page blob where the contents are read from a
-       * URL
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param sourceRange Bytes of source data in the specified range. The length of this range should
-       *                    match the ContentLength header and x-ms-range/Range destination range header.
-       * @param contentLength The length of the request.
-       * @param range The range of bytes to which the source range would be written. The range should be 512
-       *              aligned and range-end is required.
-       * @param options The options parameters.
-       */
-      uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) {
-        return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec);
+      function groupBySeries(coll, iteratee, callback) {
+        return groupByLimit$1(coll, 1, iteratee, callback);
       }
-      /**
-       * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a
-       * page blob
-       * @param options The options parameters.
-       */
-      getPageRanges(options) {
-        return this.client.sendOperationRequest({ options }, getPageRangesOperationSpec);
+      var log = consoleFunc("log");
+      function mapValuesLimit(obj, limit, iteratee, callback) {
+        callback = once(callback);
+        var newObj = {};
+        var _iteratee = wrapAsync(iteratee);
+        return eachOfLimit$2(limit)(obj, (val, key, next) => {
+          _iteratee(val, key, (err, result) => {
+            if (err) return next(err);
+            newObj[key] = result;
+            next(err);
+          });
+        }, (err) => callback(err, newObj));
       }
-      /**
-       * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were
-       * changed between target blob and previous snapshot.
-       * @param options The options parameters.
-       */
-      getPageRangesDiff(options) {
-        return this.client.sendOperationRequest({ options }, getPageRangesDiffOperationSpec);
+      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
+      function mapValues(obj, iteratee, callback) {
+        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
       }
-      /**
-       * Resize the Blob
-       * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. The
-       *                          page blob size must be aligned to a 512-byte boundary.
-       * @param options The options parameters.
-       */
-      resize(blobContentLength, options) {
-        return this.client.sendOperationRequest({ blobContentLength, options }, resizeOperationSpec);
+      function mapValuesSeries(obj, iteratee, callback) {
+        return mapValuesLimit$1(obj, 1, iteratee, callback);
       }
-      /**
-       * Update the sequence number of the blob
-       * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the request.
-       *                             This property applies to page blobs only. This property indicates how the service should modify the
-       *                             blob's sequence number
-       * @param options The options parameters.
-       */
-      updateSequenceNumber(sequenceNumberAction, options) {
-        return this.client.sendOperationRequest({ sequenceNumberAction, options }, updateSequenceNumberOperationSpec);
+      function memoize(fn, hasher = (v) => v) {
+        var memo = /* @__PURE__ */ Object.create(null);
+        var queues = /* @__PURE__ */ Object.create(null);
+        var _fn = wrapAsync(fn);
+        var memoized = initialParams((args, callback) => {
+          var key = hasher(...args);
+          if (key in memo) {
+            setImmediate$1(() => callback(null, ...memo[key]));
+          } else if (key in queues) {
+            queues[key].push(callback);
+          } else {
+            queues[key] = [callback];
+            _fn(...args, (err, ...resultArgs) => {
+              if (!err) {
+                memo[key] = resultArgs;
+              }
+              var q = queues[key];
+              delete queues[key];
+              for (var i = 0, l = q.length; i < l; i++) {
+                q[i](err, ...resultArgs);
+              }
+            });
+          }
+        });
+        memoized.memo = memo;
+        memoized.unmemoized = fn;
+        return memoized;
       }
-      /**
-       * The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob.
-       * The snapshot is copied such that only the differential changes between the previously copied
-       * snapshot are transferred to the destination. The copied snapshots are complete copies of the
-       * original snapshot and can be read or copied from as usual. This API is supported since REST version
-       * 2016-05-31.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
-       */
-      copyIncremental(copySource, options) {
-        return this.client.sendOperationRequest({ copySource, options }, copyIncrementalOperationSpec);
+      var _defer;
+      if (hasNextTick) {
+        _defer = process.nextTick;
+      } else if (hasSetImmediate) {
+        _defer = setImmediate;
+      } else {
+        _defer = fallback;
       }
-    };
-    exports2.PageBlobImpl = PageBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobCreateExceptionHeaders
+      var nextTick = wrap(_defer);
+      var _parallel = awaitify((eachfn, tasks, callback) => {
+        var results = isArrayLike(tasks) ? [] : {};
+        eachfn(tasks, (task, key, taskCb) => {
+          wrapAsync(task)((err, ...result) => {
+            if (result.length < 2) {
+              [result] = result;
+            }
+            results[key] = result;
+            taskCb(err);
+          });
+        }, (err) => callback(err, results));
+      }, 3);
+      function parallel(tasks, callback) {
+        return _parallel(eachOf$1, tasks, callback);
+      }
+      function parallelLimit(tasks, limit, callback) {
+        return _parallel(eachOfLimit$2(limit), tasks, callback);
+      }
+      function queue(worker, concurrency) {
+        var _worker = wrapAsync(worker);
+        return queue$1((items, cb) => {
+          _worker(items[0], cb);
+        }, concurrency, 1);
+      }
+      class Heap {
+        constructor() {
+          this.heap = [];
+          this.pushCount = Number.MIN_SAFE_INTEGER;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.blobType,
-        Parameters.blobContentLength,
-        Parameters.blobSequenceNumber
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var uploadPagesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobUploadPagesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUploadPagesExceptionHeaders
+        get length() {
+          return this.heap.length;
         }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.pageWrite,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var clearPagesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobClearPagesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobClearPagesExceptionHeaders
+        empty() {
+          this.heap = [];
+          return this;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo,
-        Parameters.pageWrite1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var uploadPagesFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUploadPagesFromURLExceptionHeaders
+        percUp(index2) {
+          let p;
+          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
+            let t = this.heap[index2];
+            this.heap[index2] = this.heap[p];
+            this.heap[p] = t;
+            index2 = p;
+          }
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp19],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.pageWrite,
-        Parameters.ifSequenceNumberLessThanOrEqualTo,
-        Parameters.ifSequenceNumberLessThan,
-        Parameters.ifSequenceNumberEqualTo,
-        Parameters.sourceUrl,
-        Parameters.sourceRange,
-        Parameters.sourceContentCrc64,
-        Parameters.range1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPageRangesOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.PageList,
-          headersMapper: Mappers.PageBlobGetPageRangesHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobGetPageRangesExceptionHeaders
+        percDown(index2) {
+          let l;
+          while ((l = leftChi(index2)) < this.heap.length) {
+            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
+              l = l + 1;
+            }
+            if (smaller(this.heap[index2], this.heap[l])) {
+              break;
+            }
+            let t = this.heap[index2];
+            this.heap[index2] = this.heap[l];
+            this.heap[l] = t;
+            index2 = l;
+          }
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.snapshot,
-        Parameters.comp20
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var getPageRangesDiffOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.PageList,
-          headersMapper: Mappers.PageBlobGetPageRangesDiffHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobGetPageRangesDiffExceptionHeaders
+        push(node) {
+          node.pushCount = ++this.pushCount;
+          this.heap.push(node);
+          this.percUp(this.heap.length - 1);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.marker,
-        Parameters.maxPageSize,
-        Parameters.snapshot,
-        Parameters.comp20,
-        Parameters.prevsnapshot
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.range,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.prevSnapshotUrl
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var resizeOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.PageBlobResizeHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobResizeExceptionHeaders
+        unshift(node) {
+          return this.heap.push(node);
+        }
+        shift() {
+          let [top] = this.heap;
+          this.heap[0] = this.heap[this.heap.length - 1];
+          this.heap.pop();
+          this.percDown(0);
+          return top;
+        }
+        toArray() {
+          return [...this];
+        }
+        *[Symbol.iterator]() {
+          for (let i = 0; i < this.heap.length; i++) {
+            yield this.heap[i].data;
+          }
         }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.blobContentLength
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var updateSequenceNumberOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.PageBlobUpdateSequenceNumberHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobUpdateSequenceNumberExceptionHeaders
+        remove(testFn) {
+          let j = 0;
+          for (let i = 0; i < this.heap.length; i++) {
+            if (!testFn(this.heap[i])) {
+              this.heap[j] = this.heap[i];
+              j++;
+            }
+          }
+          this.heap.splice(j);
+          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
+            this.percDown(i);
+          }
+          return this;
         }
-      },
-      queryParameters: [Parameters.comp, Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobSequenceNumber,
-        Parameters.sequenceNumberAction
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var copyIncrementalOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        202: {
-          headersMapper: Mappers.PageBlobCopyIncrementalHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.PageBlobCopyIncrementalExceptionHeaders
+      }
+      function leftChi(i) {
+        return (i << 1) + 1;
+      }
+      function parent(i) {
+        return (i + 1 >> 1) - 1;
+      }
+      function smaller(x, y) {
+        if (x.priority !== y.priority) {
+          return x.priority < y.priority;
+        } else {
+          return x.pushCount < y.pushCount;
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp21],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.copySource
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js
-var require_appendBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/appendBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AppendBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs10());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var AppendBlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class AppendBlob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
       }
-      /**
-       * The Create Append Blob operation creates a new append blob.
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
-       */
-      create(contentLength, options) {
-        return this.client.sendOperationRequest({ contentLength, options }, createOperationSpec);
+      function priorityQueue(worker, concurrency) {
+        var q = queue(worker, concurrency);
+        var {
+          push,
+          pushAsync
+        } = q;
+        q._tasks = new Heap();
+        q._createTaskItem = ({ data, priority }, callback) => {
+          return {
+            data,
+            priority,
+            callback
+          };
+        };
+        function createDataItems(tasks, priority) {
+          if (!Array.isArray(tasks)) {
+            return { data: tasks, priority };
+          }
+          return tasks.map((data) => {
+            return { data, priority };
+          });
+        }
+        q.push = function(data, priority = 0, callback) {
+          return push(createDataItems(data, priority), callback);
+        };
+        q.pushAsync = function(data, priority = 0, callback) {
+          return pushAsync(createDataItems(data, priority), callback);
+        };
+        delete q.unshift;
+        delete q.unshiftAsync;
+        return q;
       }
-      /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob. The
-       * Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
-       * AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      appendBlock(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, appendBlockOperationSpec);
+      function race(tasks, callback) {
+        callback = once(callback);
+        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
+        if (!tasks.length) return callback();
+        for (var i = 0, l = tasks.length; i < l; i++) {
+          wrapAsync(tasks[i])(callback);
+        }
       }
-      /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob where
-       * the contents are read from a source url. The Append Block operation is permitted only if the blob
-       * was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version
-       * 2015-02-21 version or later.
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param contentLength The length of the request.
-       * @param options The options parameters.
-       */
-      appendBlockFromUrl(sourceUrl, contentLength, options) {
-        return this.client.sendOperationRequest({ sourceUrl, contentLength, options }, appendBlockFromUrlOperationSpec);
+      var race$1 = awaitify(race, 2);
+      function reduceRight(array, memo, iteratee, callback) {
+        var reversed = [...array].reverse();
+        return reduce$1(reversed, memo, iteratee, callback);
       }
-      /**
-       * The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version
-       * 2019-12-12 version or later.
-       * @param options The options parameters.
-       */
-      seal(options) {
-        return this.client.sendOperationRequest({ options }, sealOperationSpec);
+      function reflect(fn) {
+        var _fn = wrapAsync(fn);
+        return initialParams(function reflectOn(args, reflectCallback) {
+          args.push((error3, ...cbArgs) => {
+            let retVal = {};
+            if (error3) {
+              retVal.error = error3;
+            }
+            if (cbArgs.length > 0) {
+              var value = cbArgs;
+              if (cbArgs.length <= 1) {
+                [value] = cbArgs;
+              }
+              retVal.value = value;
+            }
+            reflectCallback(null, retVal);
+          });
+          return _fn.apply(this, args);
+        });
       }
-    };
-    exports2.AppendBlobImpl = AppendBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var createOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobCreateHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobCreateExceptionHeaders
+      function reflectAll(tasks) {
+        var results;
+        if (Array.isArray(tasks)) {
+          results = tasks.map(reflect);
+        } else {
+          results = {};
+          Object.keys(tasks).forEach((key) => {
+            results[key] = reflect.call(this, tasks[key]);
+          });
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.blobType1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var appendBlockOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobAppendBlockHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobAppendBlockExceptionHeaders
+        return results;
+      }
+      function reject$2(eachfn, arr, _iteratee, callback) {
+        const iteratee = wrapAsync(_iteratee);
+        return _filter(eachfn, arr, (value, cb) => {
+          iteratee(value, (err, v) => {
+            cb(err, !v);
+          });
+        }, callback);
+      }
+      function reject(coll, iteratee, callback) {
+        return reject$2(eachOf$1, coll, iteratee, callback);
+      }
+      var reject$1 = awaitify(reject, 3);
+      function rejectLimit(coll, limit, iteratee, callback) {
+        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
+      }
+      var rejectLimit$1 = awaitify(rejectLimit, 4);
+      function rejectSeries(coll, iteratee, callback) {
+        return reject$2(eachOfSeries$1, coll, iteratee, callback);
+      }
+      var rejectSeries$1 = awaitify(rejectSeries, 3);
+      function constant(value) {
+        return function() {
+          return value;
+        };
+      }
+      const DEFAULT_TIMES = 5;
+      const DEFAULT_INTERVAL = 0;
+      function retry2(opts, task, callback) {
+        var options = {
+          times: DEFAULT_TIMES,
+          intervalFunc: constant(DEFAULT_INTERVAL)
+        };
+        if (arguments.length < 3 && typeof opts === "function") {
+          callback = task || promiseCallback();
+          task = opts;
+        } else {
+          parseTimes(options, opts);
+          callback = callback || promiseCallback();
         }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.maxSize,
-        Parameters.appendPosition
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var appendBlockFromUrlOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobAppendBlockFromUrlExceptionHeaders
+        if (typeof task !== "function") {
+          throw new Error("Invalid arguments for async.retry");
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp22],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.transactionalContentMD5,
-        Parameters.sourceUrl,
-        Parameters.sourceContentCrc64,
-        Parameters.maxSize,
-        Parameters.appendPosition,
-        Parameters.sourceRange1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var sealOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        200: {
-          headersMapper: Mappers.AppendBlobSealHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.AppendBlobSealExceptionHeaders
+        var _task = wrapAsync(task);
+        var attempt = 1;
+        function retryAttempt() {
+          _task((err, ...args) => {
+            if (err === false) return;
+            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
+              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
+            } else {
+              callback(err, ...args);
+            }
+          });
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp23],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.appendPosition
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js
-var require_blockBlob = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/blockBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlockBlobImpl = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreClient = tslib_1.__importStar(require_commonjs10());
-    var Mappers = tslib_1.__importStar(require_mappers());
-    var Parameters = tslib_1.__importStar(require_parameters());
-    var BlockBlobImpl = class {
-      client;
-      /**
-       * Initialize a new instance of the class BlockBlob class.
-       * @param client Reference to the service client
-       */
-      constructor(client) {
-        this.client = client;
+        retryAttempt();
+        return callback[PROMISE_SYMBOL];
       }
-      /**
-       * The Upload Block Blob operation updates the content of an existing block blob. Updating an existing
-       * block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put
-       * Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a
-       * partial update of the content of a block blob, use the Put Block List operation.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      upload(contentLength, body, options) {
-        return this.client.sendOperationRequest({ contentLength, body, options }, uploadOperationSpec);
+      function parseTimes(acc, t) {
+        if (typeof t === "object") {
+          acc.times = +t.times || DEFAULT_TIMES;
+          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
+          acc.errorFilter = t.errorFilter;
+        } else if (typeof t === "number" || typeof t === "string") {
+          acc.times = +t || DEFAULT_TIMES;
+        } else {
+          throw new Error("Invalid arguments for async.retry");
+        }
+      }
+      function retryable(opts, task) {
+        if (!task) {
+          task = opts;
+          opts = null;
+        }
+        let arity = opts && opts.arity || task.length;
+        if (isAsync(task)) {
+          arity += 1;
+        }
+        var _task = wrapAsync(task);
+        return initialParams((args, callback) => {
+          if (args.length < arity - 1 || callback == null) {
+            args.push(callback);
+            callback = promiseCallback();
+          }
+          function taskFn(cb) {
+            _task(...args, cb);
+          }
+          if (opts) retry2(opts, taskFn, callback);
+          else retry2(taskFn, callback);
+          return callback[PROMISE_SYMBOL];
+        });
       }
-      /**
-       * The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read
-       * from a given URL.  This API is supported beginning with the 2020-04-08 version. Partial updates are
-       * not supported with Put Blob from URL; the content of an existing blob is overwritten with the
-       * content of the new blob.  To perform partial updates to a block blob’s contents using a source URL,
-       * use the Put Block from URL API in conjunction with Put Block List.
-       * @param contentLength The length of the request.
-       * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up to
-       *                   2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would
-       *                   appear in a request URI. The source blob must either be public or must be authenticated via a shared
-       *                   access signature.
-       * @param options The options parameters.
-       */
-      putBlobFromUrl(contentLength, copySource, options) {
-        return this.client.sendOperationRequest({ contentLength, copySource, options }, putBlobFromUrlOperationSpec);
+      function series(tasks, callback) {
+        return _parallel(eachOfSeries$1, tasks, callback);
       }
-      /**
-       * The Stage Block operation creates a new block to be committed as part of a blob
-       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
-       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
-       *                for the blockid parameter must be the same size for each block.
-       * @param contentLength The length of the request.
-       * @param body Initial data
-       * @param options The options parameters.
-       */
-      stageBlock(blockId, contentLength, body, options) {
-        return this.client.sendOperationRequest({ blockId, contentLength, body, options }, stageBlockOperationSpec);
+      function some(coll, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
       }
-      /**
-       * The Stage Block operation creates a new block to be committed as part of a blob where the contents
-       * are read from a URL.
-       * @param blockId A valid Base64 string value that identifies the block. Prior to encoding, the string
-       *                must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified
-       *                for the blockid parameter must be the same size for each block.
-       * @param contentLength The length of the request.
-       * @param sourceUrl Specify a URL to the copy source.
-       * @param options The options parameters.
-       */
-      stageBlockFromURL(blockId, contentLength, sourceUrl, options) {
-        return this.client.sendOperationRequest({ blockId, contentLength, sourceUrl, options }, stageBlockFromURLOperationSpec);
+      var some$1 = awaitify(some, 3);
+      function someLimit(coll, limit, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
       }
-      /**
-       * The Commit Block List operation writes a blob by specifying the list of block IDs that make up the
-       * blob. In order to be written as part of a blob, a block must have been successfully written to the
-       * server in a prior Put Block operation. You can call Put Block List to update a blob by uploading
-       * only those blocks that have changed, then committing the new and existing blocks together. You can
-       * do this by specifying whether to commit a block from the committed block list or from the
-       * uncommitted block list, or to commit the most recently uploaded version of the block, whichever list
-       * it may belong to.
-       * @param blocks Blob Blocks.
-       * @param options The options parameters.
-       */
-      commitBlockList(blocks, options) {
-        return this.client.sendOperationRequest({ blocks, options }, commitBlockListOperationSpec);
+      var someLimit$1 = awaitify(someLimit, 4);
+      function someSeries(coll, iteratee, callback) {
+        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
       }
-      /**
-       * The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block
-       * blob
-       * @param listType Specifies whether to return the list of committed blocks, the list of uncommitted
-       *                 blocks, or both lists together.
-       * @param options The options parameters.
-       */
-      getBlockList(listType, options) {
-        return this.client.sendOperationRequest({ listType, options }, getBlockListOperationSpec);
+      var someSeries$1 = awaitify(someSeries, 3);
+      function sortBy(coll, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return map$1(coll, (x, iterCb) => {
+          _iteratee(x, (err, criteria) => {
+            if (err) return iterCb(err);
+            iterCb(err, { value: x, criteria });
+          });
+        }, (err, results) => {
+          if (err) return callback(err);
+          callback(null, results.sort(comparator).map((v) => v.value));
+        });
+        function comparator(left, right) {
+          var a = left.criteria, b = right.criteria;
+          return a < b ? -1 : a > b ? 1 : 0;
+        }
       }
-    };
-    exports2.BlockBlobImpl = BlockBlobImpl;
-    var xmlSerializer = coreClient.createSerializer(
-      Mappers,
-      /* isXml */
-      true
-    );
-    var uploadOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobUploadHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobUploadExceptionHeaders
+      var sortBy$1 = awaitify(sortBy, 3);
+      function timeout(asyncFn, milliseconds, info7) {
+        var fn = wrapAsync(asyncFn);
+        return initialParams((args, callback) => {
+          var timedOut = false;
+          var timer;
+          function timeoutCallback() {
+            var name = asyncFn.name || "anonymous";
+            var error3 = new Error('Callback function "' + name + '" timed out.');
+            error3.code = "ETIMEDOUT";
+            if (info7) {
+              error3.info = info7;
+            }
+            timedOut = true;
+            callback(error3);
+          }
+          args.push((...cbArgs) => {
+            if (!timedOut) {
+              callback(...cbArgs);
+              clearTimeout(timer);
+            }
+          });
+          timer = setTimeout(timeoutCallback, milliseconds);
+          fn(...args);
+        });
+      }
+      function range(size) {
+        var result = Array(size);
+        while (size--) {
+          result[size] = size;
         }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2,
-        Parameters.blobType2
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var putBlobFromUrlOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobPutBlobFromUrlHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobPutBlobFromUrlExceptionHeaders
+        return result;
+      }
+      function timesLimit(count, limit, iteratee, callback) {
+        var _iteratee = wrapAsync(iteratee);
+        return mapLimit$1(range(count), limit, _iteratee, callback);
+      }
+      function times(n, iteratee, callback) {
+        return timesLimit(n, Infinity, iteratee, callback);
+      }
+      function timesSeries(n, iteratee, callback) {
+        return timesLimit(n, 1, iteratee, callback);
+      }
+      function transform(coll, accumulator, iteratee, callback) {
+        if (arguments.length <= 3 && typeof accumulator === "function") {
+          callback = iteratee;
+          iteratee = accumulator;
+          accumulator = Array.isArray(coll) ? [] : {};
         }
-      },
-      queryParameters: [Parameters.timeoutInSeconds],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceIfTags,
-        Parameters.copySource,
-        Parameters.blobTagsString,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.copySourceTags,
-        Parameters.fileRequestIntent,
-        Parameters.transactionalContentMD5,
-        Parameters.blobType2,
-        Parameters.copySourceBlobProperties
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var stageBlockOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobStageBlockHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobStageBlockExceptionHeaders
+        callback = once(callback || promiseCallback());
+        var _iteratee = wrapAsync(iteratee);
+        eachOf$1(coll, (v, k, cb) => {
+          _iteratee(accumulator, v, k, cb);
+        }, (err) => callback(err, accumulator));
+        return callback[PROMISE_SYMBOL];
+      }
+      function tryEach(tasks, callback) {
+        var error3 = null;
+        var result;
+        return eachSeries$1(tasks, (task, taskCb) => {
+          wrapAsync(task)((err, ...args) => {
+            if (err === false) return taskCb(err);
+            if (args.length < 2) {
+              [result] = args;
+            } else {
+              result = args;
+            }
+            error3 = err;
+            taskCb(err ? null : {});
+          });
+        }, () => callback(error3, result));
+      }
+      var tryEach$1 = awaitify(tryEach);
+      function unmemoize(fn) {
+        return (...args) => {
+          return (fn.unmemoized || fn)(...args);
+        };
+      }
+      function whilst(test, iteratee, callback) {
+        callback = onlyOnce(callback);
+        var _fn = wrapAsync(iteratee);
+        var _test = wrapAsync(test);
+        var results = [];
+        function next(err, ...rest) {
+          if (err) return callback(err);
+          results = rest;
+          if (err === false) return;
+          _test(check);
         }
-      },
-      requestBody: Parameters.body1,
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp24,
-        Parameters.blockId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.encryptionScope,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64,
-        Parameters.contentType1,
-        Parameters.accept2
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "binary",
-      serializer: xmlSerializer
-    };
-    var stageBlockFromURLOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobStageBlockFromURLHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobStageBlockFromURLExceptionHeaders
+        function check(err, truth) {
+          if (err) return callback(err);
+          if (err === false) return;
+          if (!truth) return callback(null, ...results);
+          _fn(next);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.comp24,
-        Parameters.blockId
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.contentLength,
-        Parameters.leaseId,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.encryptionScope,
-        Parameters.sourceIfModifiedSince,
-        Parameters.sourceIfUnmodifiedSince,
-        Parameters.sourceIfMatch,
-        Parameters.sourceIfNoneMatch,
-        Parameters.sourceContentMD5,
-        Parameters.copySourceAuthorization,
-        Parameters.fileRequestIntent,
-        Parameters.sourceUrl,
-        Parameters.sourceContentCrc64,
-        Parameters.sourceRange1
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-    var commitBlockListOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "PUT",
-      responses: {
-        201: {
-          headersMapper: Mappers.BlockBlobCommitBlockListHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobCommitBlockListExceptionHeaders
+        return _test(check);
+      }
+      var whilst$1 = awaitify(whilst, 3);
+      function until(test, iteratee, callback) {
+        const _test = wrapAsync(test);
+        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
+      }
+      function waterfall(tasks, callback) {
+        callback = once(callback);
+        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
+        if (!tasks.length) return callback();
+        var taskIndex = 0;
+        function nextTask(args) {
+          var task = wrapAsync(tasks[taskIndex++]);
+          task(...args, onlyOnce(next));
         }
-      },
-      requestBody: Parameters.blocks,
-      queryParameters: [Parameters.timeoutInSeconds, Parameters.comp25],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.contentType,
-        Parameters.accept,
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.metadata,
-        Parameters.leaseId,
-        Parameters.ifModifiedSince,
-        Parameters.ifUnmodifiedSince,
-        Parameters.encryptionKey,
-        Parameters.encryptionKeySha256,
-        Parameters.encryptionAlgorithm,
-        Parameters.ifMatch,
-        Parameters.ifNoneMatch,
-        Parameters.ifTags,
-        Parameters.blobCacheControl,
-        Parameters.blobContentType,
-        Parameters.blobContentMD5,
-        Parameters.blobContentEncoding,
-        Parameters.blobContentLanguage,
-        Parameters.blobContentDisposition,
-        Parameters.immutabilityPolicyExpiry,
-        Parameters.immutabilityPolicyMode,
-        Parameters.encryptionScope,
-        Parameters.tier,
-        Parameters.blobTagsString,
-        Parameters.legalHold1,
-        Parameters.transactionalContentMD5,
-        Parameters.transactionalContentCrc64
-      ],
-      isXML: true,
-      contentType: "application/xml; charset=utf-8",
-      mediaType: "xml",
-      serializer: xmlSerializer
-    };
-    var getBlockListOperationSpec = {
-      path: "/{containerName}/{blob}",
-      httpMethod: "GET",
-      responses: {
-        200: {
-          bodyMapper: Mappers.BlockList,
-          headersMapper: Mappers.BlockBlobGetBlockListHeaders
-        },
-        default: {
-          bodyMapper: Mappers.StorageError,
-          headersMapper: Mappers.BlockBlobGetBlockListExceptionHeaders
+        function next(err, ...args) {
+          if (err === false) return;
+          if (err || taskIndex === tasks.length) {
+            return callback(err, ...args);
+          }
+          nextTask(args);
         }
-      },
-      queryParameters: [
-        Parameters.timeoutInSeconds,
-        Parameters.snapshot,
-        Parameters.comp25,
-        Parameters.listType
-      ],
-      urlParameters: [Parameters.url],
-      headerParameters: [
-        Parameters.version,
-        Parameters.requestId,
-        Parameters.accept1,
-        Parameters.leaseId,
-        Parameters.ifTags
-      ],
-      isXML: true,
-      serializer: xmlSerializer
-    };
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js
-var require_operations = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operations/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_service(), exports2);
-    tslib_1.__exportStar(require_container(), exports2);
-    tslib_1.__exportStar(require_blob(), exports2);
-    tslib_1.__exportStar(require_pageBlob(), exports2);
-    tslib_1.__exportStar(require_appendBlob(), exports2);
-    tslib_1.__exportStar(require_blockBlob(), exports2);
+        nextTask([]);
+      }
+      var waterfall$1 = awaitify(waterfall);
+      var index = {
+        apply,
+        applyEach,
+        applyEachSeries,
+        asyncify,
+        auto,
+        autoInject,
+        cargo: cargo$1,
+        cargoQueue: cargo,
+        compose,
+        concat: concat$1,
+        concatLimit: concatLimit$1,
+        concatSeries: concatSeries$1,
+        constant: constant$1,
+        detect: detect$1,
+        detectLimit: detectLimit$1,
+        detectSeries: detectSeries$1,
+        dir,
+        doUntil,
+        doWhilst: doWhilst$1,
+        each,
+        eachLimit: eachLimit$1,
+        eachOf: eachOf$1,
+        eachOfLimit: eachOfLimit$1,
+        eachOfSeries: eachOfSeries$1,
+        eachSeries: eachSeries$1,
+        ensureAsync,
+        every: every$1,
+        everyLimit: everyLimit$1,
+        everySeries: everySeries$1,
+        filter: filter$1,
+        filterLimit: filterLimit$1,
+        filterSeries: filterSeries$1,
+        forever: forever$1,
+        groupBy,
+        groupByLimit: groupByLimit$1,
+        groupBySeries,
+        log,
+        map: map$1,
+        mapLimit: mapLimit$1,
+        mapSeries: mapSeries$1,
+        mapValues,
+        mapValuesLimit: mapValuesLimit$1,
+        mapValuesSeries,
+        memoize,
+        nextTick,
+        parallel,
+        parallelLimit,
+        priorityQueue,
+        queue,
+        race: race$1,
+        reduce: reduce$1,
+        reduceRight,
+        reflect,
+        reflectAll,
+        reject: reject$1,
+        rejectLimit: rejectLimit$1,
+        rejectSeries: rejectSeries$1,
+        retry: retry2,
+        retryable,
+        seq: seq2,
+        series,
+        setImmediate: setImmediate$1,
+        some: some$1,
+        someLimit: someLimit$1,
+        someSeries: someSeries$1,
+        sortBy: sortBy$1,
+        timeout,
+        times,
+        timesLimit,
+        timesSeries,
+        transform,
+        tryEach: tryEach$1,
+        unmemoize,
+        until,
+        waterfall: waterfall$1,
+        whilst: whilst$1,
+        // aliases
+        all: every$1,
+        allLimit: everyLimit$1,
+        allSeries: everySeries$1,
+        any: some$1,
+        anyLimit: someLimit$1,
+        anySeries: someSeries$1,
+        find: detect$1,
+        findLimit: detectLimit$1,
+        findSeries: detectSeries$1,
+        flatMap: concat$1,
+        flatMapLimit: concatLimit$1,
+        flatMapSeries: concatSeries$1,
+        forEach: each,
+        forEachSeries: eachSeries$1,
+        forEachLimit: eachLimit$1,
+        forEachOf: eachOf$1,
+        forEachOfSeries: eachOfSeries$1,
+        forEachOfLimit: eachOfLimit$1,
+        inject: reduce$1,
+        foldl: reduce$1,
+        foldr: reduceRight,
+        select: filter$1,
+        selectLimit: filterLimit$1,
+        selectSeries: filterSeries$1,
+        wrapSync: asyncify,
+        during: whilst$1,
+        doDuring: doWhilst$1
+      };
+      exports3.all = every$1;
+      exports3.allLimit = everyLimit$1;
+      exports3.allSeries = everySeries$1;
+      exports3.any = some$1;
+      exports3.anyLimit = someLimit$1;
+      exports3.anySeries = someSeries$1;
+      exports3.apply = apply;
+      exports3.applyEach = applyEach;
+      exports3.applyEachSeries = applyEachSeries;
+      exports3.asyncify = asyncify;
+      exports3.auto = auto;
+      exports3.autoInject = autoInject;
+      exports3.cargo = cargo$1;
+      exports3.cargoQueue = cargo;
+      exports3.compose = compose;
+      exports3.concat = concat$1;
+      exports3.concatLimit = concatLimit$1;
+      exports3.concatSeries = concatSeries$1;
+      exports3.constant = constant$1;
+      exports3.default = index;
+      exports3.detect = detect$1;
+      exports3.detectLimit = detectLimit$1;
+      exports3.detectSeries = detectSeries$1;
+      exports3.dir = dir;
+      exports3.doDuring = doWhilst$1;
+      exports3.doUntil = doUntil;
+      exports3.doWhilst = doWhilst$1;
+      exports3.during = whilst$1;
+      exports3.each = each;
+      exports3.eachLimit = eachLimit$1;
+      exports3.eachOf = eachOf$1;
+      exports3.eachOfLimit = eachOfLimit$1;
+      exports3.eachOfSeries = eachOfSeries$1;
+      exports3.eachSeries = eachSeries$1;
+      exports3.ensureAsync = ensureAsync;
+      exports3.every = every$1;
+      exports3.everyLimit = everyLimit$1;
+      exports3.everySeries = everySeries$1;
+      exports3.filter = filter$1;
+      exports3.filterLimit = filterLimit$1;
+      exports3.filterSeries = filterSeries$1;
+      exports3.find = detect$1;
+      exports3.findLimit = detectLimit$1;
+      exports3.findSeries = detectSeries$1;
+      exports3.flatMap = concat$1;
+      exports3.flatMapLimit = concatLimit$1;
+      exports3.flatMapSeries = concatSeries$1;
+      exports3.foldl = reduce$1;
+      exports3.foldr = reduceRight;
+      exports3.forEach = each;
+      exports3.forEachLimit = eachLimit$1;
+      exports3.forEachOf = eachOf$1;
+      exports3.forEachOfLimit = eachOfLimit$1;
+      exports3.forEachOfSeries = eachOfSeries$1;
+      exports3.forEachSeries = eachSeries$1;
+      exports3.forever = forever$1;
+      exports3.groupBy = groupBy;
+      exports3.groupByLimit = groupByLimit$1;
+      exports3.groupBySeries = groupBySeries;
+      exports3.inject = reduce$1;
+      exports3.log = log;
+      exports3.map = map$1;
+      exports3.mapLimit = mapLimit$1;
+      exports3.mapSeries = mapSeries$1;
+      exports3.mapValues = mapValues;
+      exports3.mapValuesLimit = mapValuesLimit$1;
+      exports3.mapValuesSeries = mapValuesSeries;
+      exports3.memoize = memoize;
+      exports3.nextTick = nextTick;
+      exports3.parallel = parallel;
+      exports3.parallelLimit = parallelLimit;
+      exports3.priorityQueue = priorityQueue;
+      exports3.queue = queue;
+      exports3.race = race$1;
+      exports3.reduce = reduce$1;
+      exports3.reduceRight = reduceRight;
+      exports3.reflect = reflect;
+      exports3.reflectAll = reflectAll;
+      exports3.reject = reject$1;
+      exports3.rejectLimit = rejectLimit$1;
+      exports3.rejectSeries = rejectSeries$1;
+      exports3.retry = retry2;
+      exports3.retryable = retryable;
+      exports3.select = filter$1;
+      exports3.selectLimit = filterLimit$1;
+      exports3.selectSeries = filterSeries$1;
+      exports3.seq = seq2;
+      exports3.series = series;
+      exports3.setImmediate = setImmediate$1;
+      exports3.some = some$1;
+      exports3.someLimit = someLimit$1;
+      exports3.someSeries = someSeries$1;
+      exports3.sortBy = sortBy$1;
+      exports3.timeout = timeout;
+      exports3.times = times;
+      exports3.timesLimit = timesLimit;
+      exports3.timesSeries = timesSeries;
+      exports3.transform = transform;
+      exports3.tryEach = tryEach$1;
+      exports3.unmemoize = unmemoize;
+      exports3.until = until;
+      exports3.waterfall = waterfall$1;
+      exports3.whilst = whilst$1;
+      exports3.wrapSync = asyncify;
+      Object.defineProperty(exports3, "__esModule", { value: true });
+    }));
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js
-var require_storageClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/storageClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var coreHttpCompat = tslib_1.__importStar(require_commonjs11());
-    var index_js_1 = require_operations();
-    var StorageClient = class extends coreHttpCompat.ExtendedServiceClient {
-      url;
-      version;
-      /**
-       * Initializes a new instance of the StorageClient class.
-       * @param url The URL of the service account, container, or blob that is the target of the desired
-       *            operation.
-       * @param options The parameter options
-       */
-      constructor(url, options) {
-        if (url === void 0) {
-          throw new Error("'url' cannot be null");
-        }
-        if (!options) {
-          options = {};
+// node_modules/graceful-fs/polyfills.js
+var require_polyfills = __commonJS({
+  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
+    var constants = require("constants");
+    var origCwd = process.cwd;
+    var cwd = null;
+    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
+    process.cwd = function() {
+      if (!cwd)
+        cwd = origCwd.call(process);
+      return cwd;
+    };
+    try {
+      process.cwd();
+    } catch (er) {
+    }
+    if (typeof process.chdir === "function") {
+      chdir = process.chdir;
+      process.chdir = function(d) {
+        cwd = null;
+        chdir.call(process, d);
+      };
+      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
+    }
+    var chdir;
+    module2.exports = patch;
+    function patch(fs3) {
+      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
+        patchLchmod(fs3);
+      }
+      if (!fs3.lutimes) {
+        patchLutimes(fs3);
+      }
+      fs3.chown = chownFix(fs3.chown);
+      fs3.fchown = chownFix(fs3.fchown);
+      fs3.lchown = chownFix(fs3.lchown);
+      fs3.chmod = chmodFix(fs3.chmod);
+      fs3.fchmod = chmodFix(fs3.fchmod);
+      fs3.lchmod = chmodFix(fs3.lchmod);
+      fs3.chownSync = chownFixSync(fs3.chownSync);
+      fs3.fchownSync = chownFixSync(fs3.fchownSync);
+      fs3.lchownSync = chownFixSync(fs3.lchownSync);
+      fs3.chmodSync = chmodFixSync(fs3.chmodSync);
+      fs3.fchmodSync = chmodFixSync(fs3.fchmodSync);
+      fs3.lchmodSync = chmodFixSync(fs3.lchmodSync);
+      fs3.stat = statFix(fs3.stat);
+      fs3.fstat = statFix(fs3.fstat);
+      fs3.lstat = statFix(fs3.lstat);
+      fs3.statSync = statFixSync(fs3.statSync);
+      fs3.fstatSync = statFixSync(fs3.fstatSync);
+      fs3.lstatSync = statFixSync(fs3.lstatSync);
+      if (fs3.chmod && !fs3.lchmod) {
+        fs3.lchmod = function(path3, mode, cb) {
+          if (cb) process.nextTick(cb);
+        };
+        fs3.lchmodSync = function() {
+        };
+      }
+      if (fs3.chown && !fs3.lchown) {
+        fs3.lchown = function(path3, uid, gid, cb) {
+          if (cb) process.nextTick(cb);
+        };
+        fs3.lchownSync = function() {
+        };
+      }
+      if (platform === "win32") {
+        fs3.rename = typeof fs3.rename !== "function" ? fs3.rename : (function(fs$rename) {
+          function rename(from, to, cb) {
+            var start = Date.now();
+            var backoff = 0;
+            fs$rename(from, to, function CB(er) {
+              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
+                setTimeout(function() {
+                  fs3.stat(to, function(stater, st) {
+                    if (stater && stater.code === "ENOENT")
+                      fs$rename(from, to, CB);
+                    else
+                      cb(er);
+                  });
+                }, backoff);
+                if (backoff < 100)
+                  backoff += 10;
+                return;
+              }
+              if (cb) cb(er);
+            });
+          }
+          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
+          return rename;
+        })(fs3.rename);
+      }
+      fs3.read = typeof fs3.read !== "function" ? fs3.read : (function(fs$read) {
+        function read(fd, buffer, offset, length, position, callback_) {
+          var callback;
+          if (callback_ && typeof callback_ === "function") {
+            var eagCounter = 0;
+            callback = function(er, _2, __) {
+              if (er && er.code === "EAGAIN" && eagCounter < 10) {
+                eagCounter++;
+                return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
+              }
+              callback_.apply(this, arguments);
+            };
+          }
+          return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
         }
-        const defaults = {
-          requestContentType: "application/json; charset=utf-8"
+        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
+        return read;
+      })(fs3.read);
+      fs3.readSync = typeof fs3.readSync !== "function" ? fs3.readSync : /* @__PURE__ */ (function(fs$readSync) {
+        return function(fd, buffer, offset, length, position) {
+          var eagCounter = 0;
+          while (true) {
+            try {
+              return fs$readSync.call(fs3, fd, buffer, offset, length, position);
+            } catch (er) {
+              if (er.code === "EAGAIN" && eagCounter < 10) {
+                eagCounter++;
+                continue;
+              }
+              throw er;
+            }
+          }
         };
-        const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`;
-        const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
-        const optionsWithDefaults = {
-          ...defaults,
-          ...options,
-          userAgentOptions: {
-            userAgentPrefix
-          },
-          endpoint: options.endpoint ?? options.baseUri ?? "{url}"
+      })(fs3.readSync);
+      function patchLchmod(fs4) {
+        fs4.lchmod = function(path3, mode, callback) {
+          fs4.open(
+            path3,
+            constants.O_WRONLY | constants.O_SYMLINK,
+            mode,
+            function(err, fd) {
+              if (err) {
+                if (callback) callback(err);
+                return;
+              }
+              fs4.fchmod(fd, mode, function(err2) {
+                fs4.close(fd, function(err22) {
+                  if (callback) callback(err2 || err22);
+                });
+              });
+            }
+          );
+        };
+        fs4.lchmodSync = function(path3, mode) {
+          var fd = fs4.openSync(path3, constants.O_WRONLY | constants.O_SYMLINK, mode);
+          var threw = true;
+          var ret;
+          try {
+            ret = fs4.fchmodSync(fd, mode);
+            threw = false;
+          } finally {
+            if (threw) {
+              try {
+                fs4.closeSync(fd);
+              } catch (er) {
+              }
+            } else {
+              fs4.closeSync(fd);
+            }
+          }
+          return ret;
         };
-        super(optionsWithDefaults);
-        this.url = url;
-        this.version = options.version || "2025-11-05";
-        this.service = new index_js_1.ServiceImpl(this);
-        this.container = new index_js_1.ContainerImpl(this);
-        this.blob = new index_js_1.BlobImpl(this);
-        this.pageBlob = new index_js_1.PageBlobImpl(this);
-        this.appendBlob = new index_js_1.AppendBlobImpl(this);
-        this.blockBlob = new index_js_1.BlockBlobImpl(this);
       }
-      service;
-      container;
-      blob;
-      pageBlob;
-      appendBlob;
-      blockBlob;
-    };
-    exports2.StorageClient = StorageClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js
-var require_service2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/service.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js
-var require_container2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/container.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js
-var require_blob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js
-var require_pageBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/pageBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js
-var require_appendBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/appendBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js
-var require_blockBlob2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/blockBlob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js
-var require_operationsInterfaces = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/operationsInterfaces/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_service2(), exports2);
-    tslib_1.__exportStar(require_container2(), exports2);
-    tslib_1.__exportStar(require_blob2(), exports2);
-    tslib_1.__exportStar(require_pageBlob2(), exports2);
-    tslib_1.__exportStar(require_appendBlob2(), exports2);
-    tslib_1.__exportStar(require_blockBlob2(), exports2);
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js
-var require_src2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generated/src/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    tslib_1.__exportStar(require_models(), exports2);
-    var storageClient_js_1 = require_storageClient();
-    Object.defineProperty(exports2, "StorageClient", { enumerable: true, get: function() {
-      return storageClient_js_1.StorageClient;
-    } });
-    tslib_1.__exportStar(require_operationsInterfaces(), exports2);
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js
-var require_StorageContextClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageContextClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageContextClient = void 0;
-    var index_js_1 = require_src2();
-    var StorageContextClient = class extends index_js_1.StorageClient {
-      async sendOperationRequest(operationArguments, operationSpec) {
-        const operationSpecToSend = { ...operationSpec };
-        if (operationSpecToSend.path === "/{containerName}" || operationSpecToSend.path === "/{containerName}/{blob}") {
-          operationSpecToSend.path = "";
+      function patchLutimes(fs4) {
+        if (constants.hasOwnProperty("O_SYMLINK") && fs4.futimes) {
+          fs4.lutimes = function(path3, at, mt, cb) {
+            fs4.open(path3, constants.O_SYMLINK, function(er, fd) {
+              if (er) {
+                if (cb) cb(er);
+                return;
+              }
+              fs4.futimes(fd, at, mt, function(er2) {
+                fs4.close(fd, function(er22) {
+                  if (cb) cb(er2 || er22);
+                });
+              });
+            });
+          };
+          fs4.lutimesSync = function(path3, at, mt) {
+            var fd = fs4.openSync(path3, constants.O_SYMLINK);
+            var ret;
+            var threw = true;
+            try {
+              ret = fs4.futimesSync(fd, at, mt);
+              threw = false;
+            } finally {
+              if (threw) {
+                try {
+                  fs4.closeSync(fd);
+                } catch (er) {
+                }
+              } else {
+                fs4.closeSync(fd);
+              }
+            }
+            return ret;
+          };
+        } else if (fs4.futimes) {
+          fs4.lutimes = function(_a, _b, _c, cb) {
+            if (cb) process.nextTick(cb);
+          };
+          fs4.lutimesSync = function() {
+          };
         }
-        return super.sendOperationRequest(operationArguments, operationSpecToSend);
       }
-    };
-    exports2.StorageContextClient = StorageContextClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js
-var require_StorageClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/StorageClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageClient = void 0;
-    var StorageContextClient_js_1 = require_StorageContextClient();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var StorageClient = class {
-      /**
-       * Encoded URL string value.
-       */
-      url;
-      accountName;
-      /**
-       * Request policy pipeline.
-       *
-       * @internal
-       */
-      pipeline;
-      /**
-       * Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
-       */
-      credential;
-      /**
-       * StorageClient is a reference to protocol layer operations entry, which is
-       * generated by AutoRest generator.
-       */
-      storageClientContext;
-      /**
-       */
-      isHttps;
-      /**
-       * Creates an instance of StorageClient.
-       * @param url - url to resource
-       * @param pipeline - request policy pipeline.
-       */
-      constructor(url, pipeline) {
-        this.url = (0, utils_common_js_1.escapeURLPath)(url);
-        this.accountName = (0, utils_common_js_1.getAccountNameFromUrl)(url);
-        this.pipeline = pipeline;
-        this.storageClientContext = new StorageContextClient_js_1.StorageContextClient(this.url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
-        this.isHttps = (0, utils_common_js_1.iEqual)((0, utils_common_js_1.getURLScheme)(this.url) || "", "https");
-        this.credential = (0, Pipeline_js_1.getCredentialFromPipeline)(pipeline);
-        const storageClientContext = this.storageClientContext;
-        storageClientContext.requestContentType = void 0;
+      function chmodFix(orig) {
+        if (!orig) return orig;
+        return function(target, mode, cb) {
+          return orig.call(fs3, target, mode, function(er) {
+            if (chownErOk(er)) er = null;
+            if (cb) cb.apply(this, arguments);
+          });
+        };
       }
-    };
-    exports2.StorageClient = StorageClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js
-var require_tracing = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/tracing.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.tracingClient = void 0;
-    var core_tracing_1 = require_commonjs7();
-    var constants_js_1 = require_constants14();
-    exports2.tracingClient = (0, core_tracing_1.createTracingClient)({
-      packageName: "@azure/storage-blob",
-      packageVersion: constants_js_1.SDK_VERSION,
-      namespace: "Microsoft.Storage"
-    });
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js
-var require_BlobSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASPermissions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobSASPermissions = void 0;
-    var BlobSASPermissions = class _BlobSASPermissions {
-      /**
-       * Creates a {@link BlobSASPermissions} from the specified permissions string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid permission.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const blobSASPermissions = new _BlobSASPermissions();
-        for (const char of permissions) {
-          switch (char) {
-            case "r":
-              blobSASPermissions.read = true;
-              break;
-            case "a":
-              blobSASPermissions.add = true;
-              break;
-            case "c":
-              blobSASPermissions.create = true;
-              break;
-            case "w":
-              blobSASPermissions.write = true;
-              break;
-            case "d":
-              blobSASPermissions.delete = true;
-              break;
-            case "x":
-              blobSASPermissions.deleteVersion = true;
-              break;
-            case "t":
-              blobSASPermissions.tag = true;
-              break;
-            case "m":
-              blobSASPermissions.move = true;
-              break;
-            case "e":
-              blobSASPermissions.execute = true;
-              break;
-            case "i":
-              blobSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              blobSASPermissions.permanentDelete = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission: ${char}`);
+      function chmodFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, mode) {
+          try {
+            return orig.call(fs3, target, mode);
+          } catch (er) {
+            if (!chownErOk(er)) throw er;
           }
-        }
-        return blobSASPermissions;
+        };
       }
-      /**
-       * Creates a {@link BlobSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const blobSASPermissions = new _BlobSASPermissions();
-        if (permissionLike.read) {
-          blobSASPermissions.read = true;
-        }
-        if (permissionLike.add) {
-          blobSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          blobSASPermissions.create = true;
-        }
-        if (permissionLike.write) {
-          blobSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          blobSASPermissions.delete = true;
-        }
-        if (permissionLike.deleteVersion) {
-          blobSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.tag) {
-          blobSASPermissions.tag = true;
-        }
-        if (permissionLike.move) {
-          blobSASPermissions.move = true;
-        }
-        if (permissionLike.execute) {
-          blobSASPermissions.execute = true;
-        }
-        if (permissionLike.setImmutabilityPolicy) {
-          blobSASPermissions.setImmutabilityPolicy = true;
-        }
-        if (permissionLike.permanentDelete) {
-          blobSASPermissions.permanentDelete = true;
-        }
-        return blobSASPermissions;
+      function chownFix(orig) {
+        if (!orig) return orig;
+        return function(target, uid, gid, cb) {
+          return orig.call(fs3, target, uid, gid, function(er) {
+            if (chownErOk(er)) er = null;
+            if (cb) cb.apply(this, arguments);
+          });
+        };
       }
-      /**
-       * Specifies Read access granted.
-       */
-      read = false;
-      /**
-       * Specifies Add access granted.
-       */
-      add = false;
-      /**
-       * Specifies Create access granted.
-       */
-      create = false;
-      /**
-       * Specifies Write access granted.
-       */
-      write = false;
-      /**
-       * Specifies Delete access granted.
-       */
-      delete = false;
-      /**
-       * Specifies Delete version access granted.
-       */
-      deleteVersion = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Specifies Move access granted.
-       */
-      move = false;
-      /**
-       * Specifies Execute access granted.
-       */
-      execute = false;
-      /**
-       * Specifies SetImmutabilityPolicy access granted.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
-       * order accepted by the service.
-       *
-       * @returns A string which represents the BlobSASPermissions
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.add) {
-          permissions.push("a");
-        }
-        if (this.create) {
-          permissions.push("c");
-        }
-        if (this.write) {
-          permissions.push("w");
-        }
-        if (this.delete) {
-          permissions.push("d");
-        }
-        if (this.deleteVersion) {
-          permissions.push("x");
-        }
-        if (this.tag) {
-          permissions.push("t");
-        }
-        if (this.move) {
-          permissions.push("m");
-        }
-        if (this.execute) {
-          permissions.push("e");
-        }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
-        }
-        if (this.permanentDelete) {
-          permissions.push("y");
+      function chownFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, uid, gid) {
+          try {
+            return orig.call(fs3, target, uid, gid);
+          } catch (er) {
+            if (!chownErOk(er)) throw er;
+          }
+        };
+      }
+      function statFix(orig) {
+        if (!orig) return orig;
+        return function(target, options, cb) {
+          if (typeof options === "function") {
+            cb = options;
+            options = null;
+          }
+          function callback(er, stats) {
+            if (stats) {
+              if (stats.uid < 0) stats.uid += 4294967296;
+              if (stats.gid < 0) stats.gid += 4294967296;
+            }
+            if (cb) cb.apply(this, arguments);
+          }
+          return options ? orig.call(fs3, target, options, callback) : orig.call(fs3, target, callback);
+        };
+      }
+      function statFixSync(orig) {
+        if (!orig) return orig;
+        return function(target, options) {
+          var stats = options ? orig.call(fs3, target, options) : orig.call(fs3, target);
+          if (stats) {
+            if (stats.uid < 0) stats.uid += 4294967296;
+            if (stats.gid < 0) stats.gid += 4294967296;
+          }
+          return stats;
+        };
+      }
+      function chownErOk(er) {
+        if (!er)
+          return true;
+        if (er.code === "ENOSYS")
+          return true;
+        var nonroot = !process.getuid || process.getuid() !== 0;
+        if (nonroot) {
+          if (er.code === "EINVAL" || er.code === "EPERM")
+            return true;
         }
-        return permissions.join("");
+        return false;
       }
-    };
-    exports2.BlobSASPermissions = BlobSASPermissions;
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js
-var require_ContainerSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/ContainerSASPermissions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerSASPermissions = void 0;
-    var ContainerSASPermissions = class _ContainerSASPermissions {
-      /**
-       * Creates an {@link ContainerSASPermissions} from the specified permissions string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid permission.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const containerSASPermissions = new _ContainerSASPermissions();
-        for (const char of permissions) {
-          switch (char) {
-            case "r":
-              containerSASPermissions.read = true;
-              break;
-            case "a":
-              containerSASPermissions.add = true;
-              break;
-            case "c":
-              containerSASPermissions.create = true;
-              break;
-            case "w":
-              containerSASPermissions.write = true;
-              break;
-            case "d":
-              containerSASPermissions.delete = true;
-              break;
-            case "l":
-              containerSASPermissions.list = true;
-              break;
-            case "t":
-              containerSASPermissions.tag = true;
-              break;
-            case "x":
-              containerSASPermissions.deleteVersion = true;
-              break;
-            case "m":
-              containerSASPermissions.move = true;
-              break;
-            case "e":
-              containerSASPermissions.execute = true;
-              break;
-            case "i":
-              containerSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              containerSASPermissions.permanentDelete = true;
-              break;
-            case "f":
-              containerSASPermissions.filterByTags = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission ${char}`);
-          }
-        }
-        return containerSASPermissions;
-      }
-      /**
-       * Creates a {@link ContainerSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const containerSASPermissions = new _ContainerSASPermissions();
-        if (permissionLike.read) {
-          containerSASPermissions.read = true;
-        }
-        if (permissionLike.add) {
-          containerSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          containerSASPermissions.create = true;
-        }
-        if (permissionLike.write) {
-          containerSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          containerSASPermissions.delete = true;
-        }
-        if (permissionLike.list) {
-          containerSASPermissions.list = true;
-        }
-        if (permissionLike.deleteVersion) {
-          containerSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.tag) {
-          containerSASPermissions.tag = true;
+// node_modules/graceful-fs/legacy-streams.js
+var require_legacy_streams = __commonJS({
+  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    module2.exports = legacy;
+    function legacy(fs3) {
+      return {
+        ReadStream,
+        WriteStream
+      };
+      function ReadStream(path3, options) {
+        if (!(this instanceof ReadStream)) return new ReadStream(path3, options);
+        Stream.call(this);
+        var self2 = this;
+        this.path = path3;
+        this.fd = null;
+        this.readable = true;
+        this.paused = false;
+        this.flags = "r";
+        this.mode = 438;
+        this.bufferSize = 64 * 1024;
+        options = options || {};
+        var keys = Object.keys(options);
+        for (var index = 0, length = keys.length; index < length; index++) {
+          var key = keys[index];
+          this[key] = options[key];
         }
-        if (permissionLike.move) {
-          containerSASPermissions.move = true;
+        if (this.encoding) this.setEncoding(this.encoding);
+        if (this.start !== void 0) {
+          if ("number" !== typeof this.start) {
+            throw TypeError("start must be a Number");
+          }
+          if (this.end === void 0) {
+            this.end = Infinity;
+          } else if ("number" !== typeof this.end) {
+            throw TypeError("end must be a Number");
+          }
+          if (this.start > this.end) {
+            throw new Error("start must be <= end");
+          }
+          this.pos = this.start;
         }
-        if (permissionLike.execute) {
-          containerSASPermissions.execute = true;
+        if (this.fd !== null) {
+          process.nextTick(function() {
+            self2._read();
+          });
+          return;
         }
-        if (permissionLike.setImmutabilityPolicy) {
-          containerSASPermissions.setImmutabilityPolicy = true;
+        fs3.open(this.path, this.flags, this.mode, function(err, fd) {
+          if (err) {
+            self2.emit("error", err);
+            self2.readable = false;
+            return;
+          }
+          self2.fd = fd;
+          self2.emit("open", fd);
+          self2._read();
+        });
+      }
+      function WriteStream(path3, options) {
+        if (!(this instanceof WriteStream)) return new WriteStream(path3, options);
+        Stream.call(this);
+        this.path = path3;
+        this.fd = null;
+        this.writable = true;
+        this.flags = "w";
+        this.encoding = "binary";
+        this.mode = 438;
+        this.bytesWritten = 0;
+        options = options || {};
+        var keys = Object.keys(options);
+        for (var index = 0, length = keys.length; index < length; index++) {
+          var key = keys[index];
+          this[key] = options[key];
         }
-        if (permissionLike.permanentDelete) {
-          containerSASPermissions.permanentDelete = true;
+        if (this.start !== void 0) {
+          if ("number" !== typeof this.start) {
+            throw TypeError("start must be a Number");
+          }
+          if (this.start < 0) {
+            throw new Error("start must be >= zero");
+          }
+          this.pos = this.start;
         }
-        if (permissionLike.filterByTags) {
-          containerSASPermissions.filterByTags = true;
+        this.busy = false;
+        this._queue = [];
+        if (this.fd === null) {
+          this._open = fs3.open;
+          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
+          this.flush();
         }
-        return containerSASPermissions;
       }
-      /**
-       * Specifies Read access granted.
-       */
-      read = false;
-      /**
-       * Specifies Add access granted.
-       */
-      add = false;
-      /**
-       * Specifies Create access granted.
-       */
-      create = false;
-      /**
-       * Specifies Write access granted.
-       */
-      write = false;
-      /**
-       * Specifies Delete access granted.
-       */
-      delete = false;
-      /**
-       * Specifies Delete version access granted.
-       */
-      deleteVersion = false;
-      /**
-       * Specifies List access granted.
-       */
-      list = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Specifies Move access granted.
-       */
-      move = false;
-      /**
-       * Specifies Execute access granted.
-       */
-      execute = false;
-      /**
-       * Specifies SetImmutabilityPolicy access granted.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Specifies that Filter Blobs by Tags is permitted.
-       */
-      filterByTags = false;
-      /**
-       * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
-       * order accepted by the service.
-       *
-       * The order of the characters should be as specified here to ensure correctness.
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.add) {
-          permissions.push("a");
+    }
+  }
+});
+
+// node_modules/graceful-fs/clone.js
+var require_clone = __commonJS({
+  "node_modules/graceful-fs/clone.js"(exports2, module2) {
+    "use strict";
+    module2.exports = clone;
+    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
+      return obj.__proto__;
+    };
+    function clone(obj) {
+      if (obj === null || typeof obj !== "object")
+        return obj;
+      if (obj instanceof Object)
+        var copy = { __proto__: getPrototypeOf(obj) };
+      else
+        var copy = /* @__PURE__ */ Object.create(null);
+      Object.getOwnPropertyNames(obj).forEach(function(key) {
+        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
+      });
+      return copy;
+    }
+  }
+});
+
+// node_modules/graceful-fs/graceful-fs.js
+var require_graceful_fs = __commonJS({
+  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
+    var fs3 = require("fs");
+    var polyfills = require_polyfills();
+    var legacy = require_legacy_streams();
+    var clone = require_clone();
+    var util = require("util");
+    var gracefulQueue;
+    var previousSymbol;
+    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
+      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
+      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
+    } else {
+      gracefulQueue = "___graceful-fs.queue";
+      previousSymbol = "___graceful-fs.previous";
+    }
+    function noop3() {
+    }
+    function publishQueue(context2, queue2) {
+      Object.defineProperty(context2, gracefulQueue, {
+        get: function() {
+          return queue2;
         }
-        if (this.create) {
-          permissions.push("c");
+      });
+    }
+    var debug4 = noop3;
+    if (util.debuglog)
+      debug4 = util.debuglog("gfs4");
+    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
+      debug4 = function() {
+        var m = util.format.apply(util, arguments);
+        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
+        console.error(m);
+      };
+    if (!fs3[gracefulQueue]) {
+      queue = global[gracefulQueue] || [];
+      publishQueue(fs3, queue);
+      fs3.close = (function(fs$close) {
+        function close(fd, cb) {
+          return fs$close.call(fs3, fd, function(err) {
+            if (!err) {
+              resetQueue();
+            }
+            if (typeof cb === "function")
+              cb.apply(this, arguments);
+          });
         }
-        if (this.write) {
-          permissions.push("w");
+        Object.defineProperty(close, previousSymbol, {
+          value: fs$close
+        });
+        return close;
+      })(fs3.close);
+      fs3.closeSync = (function(fs$closeSync) {
+        function closeSync(fd) {
+          fs$closeSync.apply(fs3, arguments);
+          resetQueue();
         }
-        if (this.delete) {
-          permissions.push("d");
+        Object.defineProperty(closeSync, previousSymbol, {
+          value: fs$closeSync
+        });
+        return closeSync;
+      })(fs3.closeSync);
+      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
+        process.on("exit", function() {
+          debug4(fs3[gracefulQueue]);
+          require("assert").equal(fs3[gracefulQueue].length, 0);
+        });
+      }
+    }
+    var queue;
+    if (!global[gracefulQueue]) {
+      publishQueue(global, fs3[gracefulQueue]);
+    }
+    module2.exports = patch(clone(fs3));
+    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs3.__patched) {
+      module2.exports = patch(fs3);
+      fs3.__patched = true;
+    }
+    function patch(fs4) {
+      polyfills(fs4);
+      fs4.gracefulify = patch;
+      fs4.createReadStream = createReadStream;
+      fs4.createWriteStream = createWriteStream3;
+      var fs$readFile = fs4.readFile;
+      fs4.readFile = readFile;
+      function readFile(path3, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$readFile(path3, options, cb);
+        function go$readFile(path4, options2, cb2, startTime) {
+          return fs$readFile(path4, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$readFile, [path4, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-        if (this.deleteVersion) {
-          permissions.push("x");
+      }
+      var fs$writeFile = fs4.writeFile;
+      fs4.writeFile = writeFile;
+      function writeFile(path3, data, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$writeFile(path3, data, options, cb);
+        function go$writeFile(path4, data2, options2, cb2, startTime) {
+          return fs$writeFile(path4, data2, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$writeFile, [path4, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-        if (this.list) {
-          permissions.push("l");
+      }
+      var fs$appendFile = fs4.appendFile;
+      if (fs$appendFile)
+        fs4.appendFile = appendFile;
+      function appendFile(path3, data, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        return go$appendFile(path3, data, options, cb);
+        function go$appendFile(path4, data2, options2, cb2, startTime) {
+          return fs$appendFile(path4, data2, options2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$appendFile, [path4, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-        if (this.tag) {
-          permissions.push("t");
+      }
+      var fs$copyFile = fs4.copyFile;
+      if (fs$copyFile)
+        fs4.copyFile = copyFile;
+      function copyFile(src, dest, flags, cb) {
+        if (typeof flags === "function") {
+          cb = flags;
+          flags = 0;
         }
-        if (this.move) {
-          permissions.push("m");
+        return go$copyFile(src, dest, flags, cb);
+        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
+          return fs$copyFile(src2, dest2, flags2, function(err) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-        if (this.execute) {
-          permissions.push("e");
+      }
+      var fs$readdir = fs4.readdir;
+      fs4.readdir = readdir;
+      var noReaddirOptionVersions = /^v[0-5]\./;
+      function readdir(path3, options, cb) {
+        if (typeof options === "function")
+          cb = options, options = null;
+        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path4, options2, cb2, startTime) {
+          return fs$readdir(path4, fs$readdirCallback(
+            path4,
+            options2,
+            cb2,
+            startTime
+          ));
+        } : function go$readdir2(path4, options2, cb2, startTime) {
+          return fs$readdir(path4, options2, fs$readdirCallback(
+            path4,
+            options2,
+            cb2,
+            startTime
+          ));
+        };
+        return go$readdir(path3, options, cb);
+        function fs$readdirCallback(path4, options2, cb2, startTime) {
+          return function(err, files) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([
+                go$readdir,
+                [path4, options2, cb2],
+                err,
+                startTime || Date.now(),
+                Date.now()
+              ]);
+            else {
+              if (files && files.sort)
+                files.sort();
+              if (typeof cb2 === "function")
+                cb2.call(this, err, files);
+            }
+          };
         }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
+      }
+      if (process.version.substr(0, 4) === "v0.8") {
+        var legStreams = legacy(fs4);
+        ReadStream = legStreams.ReadStream;
+        WriteStream = legStreams.WriteStream;
+      }
+      var fs$ReadStream = fs4.ReadStream;
+      if (fs$ReadStream) {
+        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
+        ReadStream.prototype.open = ReadStream$open;
+      }
+      var fs$WriteStream = fs4.WriteStream;
+      if (fs$WriteStream) {
+        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
+        WriteStream.prototype.open = WriteStream$open;
+      }
+      Object.defineProperty(fs4, "ReadStream", {
+        get: function() {
+          return ReadStream;
+        },
+        set: function(val) {
+          ReadStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      Object.defineProperty(fs4, "WriteStream", {
+        get: function() {
+          return WriteStream;
+        },
+        set: function(val) {
+          WriteStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      var FileReadStream = ReadStream;
+      Object.defineProperty(fs4, "FileReadStream", {
+        get: function() {
+          return FileReadStream;
+        },
+        set: function(val) {
+          FileReadStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      var FileWriteStream = WriteStream;
+      Object.defineProperty(fs4, "FileWriteStream", {
+        get: function() {
+          return FileWriteStream;
+        },
+        set: function(val) {
+          FileWriteStream = val;
+        },
+        enumerable: true,
+        configurable: true
+      });
+      function ReadStream(path3, options) {
+        if (this instanceof ReadStream)
+          return fs$ReadStream.apply(this, arguments), this;
+        else
+          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+      }
+      function ReadStream$open() {
+        var that = this;
+        open(that.path, that.flags, that.mode, function(err, fd) {
+          if (err) {
+            if (that.autoClose)
+              that.destroy();
+            that.emit("error", err);
+          } else {
+            that.fd = fd;
+            that.emit("open", fd);
+            that.read();
+          }
+        });
+      }
+      function WriteStream(path3, options) {
+        if (this instanceof WriteStream)
+          return fs$WriteStream.apply(this, arguments), this;
+        else
+          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      }
+      function WriteStream$open() {
+        var that = this;
+        open(that.path, that.flags, that.mode, function(err, fd) {
+          if (err) {
+            that.destroy();
+            that.emit("error", err);
+          } else {
+            that.fd = fd;
+            that.emit("open", fd);
+          }
+        });
+      }
+      function createReadStream(path3, options) {
+        return new fs4.ReadStream(path3, options);
+      }
+      function createWriteStream3(path3, options) {
+        return new fs4.WriteStream(path3, options);
+      }
+      var fs$open = fs4.open;
+      fs4.open = open;
+      function open(path3, flags, mode, cb) {
+        if (typeof mode === "function")
+          cb = mode, mode = null;
+        return go$open(path3, flags, mode, cb);
+        function go$open(path4, flags2, mode2, cb2, startTime) {
+          return fs$open(path4, flags2, mode2, function(err, fd) {
+            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
+              enqueue([go$open, [path4, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
+            else {
+              if (typeof cb2 === "function")
+                cb2.apply(this, arguments);
+            }
+          });
         }
-        if (this.permanentDelete) {
-          permissions.push("y");
+      }
+      return fs4;
+    }
+    function enqueue(elem) {
+      debug4("ENQUEUE", elem[0].name, elem[1]);
+      fs3[gracefulQueue].push(elem);
+      retry2();
+    }
+    var retryTimer;
+    function resetQueue() {
+      var now = Date.now();
+      for (var i = 0; i < fs3[gracefulQueue].length; ++i) {
+        if (fs3[gracefulQueue][i].length > 2) {
+          fs3[gracefulQueue][i][3] = now;
+          fs3[gracefulQueue][i][4] = now;
         }
-        if (this.filterByTags) {
-          permissions.push("f");
+      }
+      retry2();
+    }
+    function retry2() {
+      clearTimeout(retryTimer);
+      retryTimer = void 0;
+      if (fs3[gracefulQueue].length === 0)
+        return;
+      var elem = fs3[gracefulQueue].shift();
+      var fn = elem[0];
+      var args = elem[1];
+      var err = elem[2];
+      var startTime = elem[3];
+      var lastTime = elem[4];
+      if (startTime === void 0) {
+        debug4("RETRY", fn.name, args);
+        fn.apply(null, args);
+      } else if (Date.now() - startTime >= 6e4) {
+        debug4("TIMEOUT", fn.name, args);
+        var cb = args.pop();
+        if (typeof cb === "function")
+          cb.call(null, err);
+      } else {
+        var sinceAttempt = Date.now() - lastTime;
+        var sinceStart = Math.max(lastTime - startTime, 1);
+        var desiredDelay = Math.min(sinceStart * 1.2, 100);
+        if (sinceAttempt >= desiredDelay) {
+          debug4("RETRY", fn.name, args);
+          fn.apply(null, args.concat([startTime]));
+        } else {
+          fs3[gracefulQueue].push(elem);
         }
-        return permissions.join("");
       }
-    };
-    exports2.ContainerSASPermissions = ContainerSASPermissions;
+      if (retryTimer === void 0) {
+        retryTimer = setTimeout(retry2, 0);
+      }
+    }
+  }
+});
+
+// node_modules/archiver-utils/node_modules/is-stream/index.js
+var require_is_stream = __commonJS({
+  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
+    "use strict";
+    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
+    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
+    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
+    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
+    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
+    module2.exports = isStream;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js
-var require_UserDelegationKeyCredential = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/credentials/UserDelegationKeyCredential.js"(exports2) {
+// node_modules/process-nextick-args/index.js
+var require_process_nextick_args = __commonJS({
+  "node_modules/process-nextick-args/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.UserDelegationKeyCredential = void 0;
-    var node_crypto_1 = require("node:crypto");
-    var UserDelegationKeyCredential = class {
-      /**
-       * Azure Storage account name; readonly.
-       */
-      accountName;
-      /**
-       * Azure Storage user delegation key; readonly.
-       */
-      userDelegationKey;
-      /**
-       * Key value in Buffer type.
-       */
-      key;
-      /**
-       * Creates an instance of UserDelegationKeyCredential.
-       * @param accountName -
-       * @param userDelegationKey -
-       */
-      constructor(accountName, userDelegationKey) {
-        this.accountName = accountName;
-        this.userDelegationKey = userDelegationKey;
-        this.key = Buffer.from(userDelegationKey.value, "base64");
+    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
+      module2.exports = { nextTick };
+    } else {
+      module2.exports = process;
+    }
+    function nextTick(fn, arg1, arg2, arg3) {
+      if (typeof fn !== "function") {
+        throw new TypeError('"callback" argument must be a function');
       }
-      /**
-       * Generates a hash signature for an HTTP request or for a SAS.
-       *
-       * @param stringToSign -
-       */
-      computeHMACSHA256(stringToSign) {
-        return (0, node_crypto_1.createHmac)("sha256", this.key).update(stringToSign, "utf8").digest("base64");
+      var len = arguments.length;
+      var args, i;
+      switch (len) {
+        case 0:
+        case 1:
+          return process.nextTick(fn);
+        case 2:
+          return process.nextTick(function afterTickOne() {
+            fn.call(null, arg1);
+          });
+        case 3:
+          return process.nextTick(function afterTickTwo() {
+            fn.call(null, arg1, arg2);
+          });
+        case 4:
+          return process.nextTick(function afterTickThree() {
+            fn.call(null, arg1, arg2, arg3);
+          });
+        default:
+          args = new Array(len - 1);
+          i = 0;
+          while (i < args.length) {
+            args[i++] = arguments[i];
+          }
+          return process.nextTick(function afterTick() {
+            fn.apply(null, args);
+          });
       }
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/isarray/index.js
+var require_isarray = __commonJS({
+  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
+    var toString2 = {}.toString;
+    module2.exports = Array.isArray || function(arr) {
+      return toString2.call(arr) == "[object Array]";
     };
-    exports2.UserDelegationKeyCredential = UserDelegationKeyCredential;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js
-var require_SasIPRange = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/SasIPRange.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ipRangeToString = ipRangeToString;
-    function ipRangeToString(ipRange) {
-      return ipRange.end ? `${ipRange.start}-${ipRange.end}` : ipRange.start;
-    }
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
+var require_stream = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
+    module2.exports = require("stream");
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js
-var require_SASQueryParameters = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/SASQueryParameters.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SASQueryParameters = exports2.SASProtocol = void 0;
-    var SasIPRange_js_1 = require_SasIPRange();
-    var utils_common_js_1 = require_utils_common();
-    var SASProtocol;
-    (function(SASProtocol2) {
-      SASProtocol2["Https"] = "https";
-      SASProtocol2["HttpsAndHttp"] = "https,http";
-    })(SASProtocol || (exports2.SASProtocol = SASProtocol = {}));
-    var SASQueryParameters = class {
-      /**
-       * The storage API version.
-       */
-      version;
-      /**
-       * Optional. The allowed HTTP protocol(s).
-       */
-      protocol;
-      /**
-       * Optional. The start time for this SAS token.
-       */
-      startsOn;
-      /**
-       * Optional only when identifier is provided. The expiry time for this SAS token.
-       */
-      expiresOn;
-      /**
-       * Optional only when identifier is provided.
-       * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
-       * more details.
-       */
-      permissions;
-      /**
-       * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
-       * for more details.
-       */
-      services;
-      /**
-       * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
-       * {@link AccountSASResourceTypes} for more details.
-       */
-      resourceTypes;
-      /**
-       * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
-       */
-      identifier;
-      /**
-       * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
-       */
-      encryptionScope;
-      /**
-       * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
-       */
-      resource;
-      /**
-       * The signature for the SAS token.
-       */
-      signature;
-      /**
-       * Value for cache-control header in Blob/File Service SAS.
-       */
-      cacheControl;
-      /**
-       * Value for content-disposition header in Blob/File Service SAS.
-       */
-      contentDisposition;
-      /**
-       * Value for content-encoding header in Blob/File Service SAS.
-       */
-      contentEncoding;
-      /**
-       * Value for content-length header in Blob/File Service SAS.
-       */
-      contentLanguage;
-      /**
-       * Value for content-type header in Blob/File Service SAS.
-       */
-      contentType;
-      /**
-       * Inner value of getter ipRange.
-       */
-      ipRangeInner;
-      /**
-       * The Azure Active Directory object ID in GUID format.
-       * Property of user delegation key.
-       */
-      signedOid;
-      /**
-       * The Azure Active Directory tenant ID in GUID format.
-       * Property of user delegation key.
-       */
-      signedTenantId;
-      /**
-       * The date-time the key is active.
-       * Property of user delegation key.
-       */
-      signedStartsOn;
-      /**
-       * The date-time the key expires.
-       * Property of user delegation key.
-       */
-      signedExpiresOn;
-      /**
-       * Abbreviation of the Azure Storage service that accepts the user delegation key.
-       * Property of user delegation key.
-       */
-      signedService;
-      /**
-       * The service version that created the user delegation key.
-       * Property of user delegation key.
-       */
-      signedVersion;
-      /**
-       * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
-       * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
-       * has the required permissions before granting access but no additional permission check for the user specified in
-       * this value will be performed. This is only used for User Delegation SAS.
-       */
-      preauthorizedAgentObjectId;
-      /**
-       * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
-       * This is only used for User Delegation SAS.
-       */
-      correlationId;
-      /**
-       * Optional. IP range allowed for this SAS.
-       *
-       * @readonly
-       */
-      get ipRange() {
-        if (this.ipRangeInner) {
-          return {
-            end: this.ipRangeInner.end,
-            start: this.ipRangeInner.start
-          };
-        }
-        return void 0;
+// node_modules/lazystream/node_modules/safe-buffer/index.js
+var require_safe_buffer = __commonJS({
+  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
+    var buffer = require("buffer");
+    var Buffer2 = buffer.Buffer;
+    function copyProps(src, dst) {
+      for (var key in src) {
+        dst[key] = src[key];
       }
-      constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, preauthorizedAgentObjectId, correlationId, encryptionScope) {
-        this.version = version;
-        this.signature = signature;
-        if (permissionsOrOptions !== void 0 && typeof permissionsOrOptions !== "string") {
-          this.permissions = permissionsOrOptions.permissions;
-          this.services = permissionsOrOptions.services;
-          this.resourceTypes = permissionsOrOptions.resourceTypes;
-          this.protocol = permissionsOrOptions.protocol;
-          this.startsOn = permissionsOrOptions.startsOn;
-          this.expiresOn = permissionsOrOptions.expiresOn;
-          this.ipRangeInner = permissionsOrOptions.ipRange;
-          this.identifier = permissionsOrOptions.identifier;
-          this.encryptionScope = permissionsOrOptions.encryptionScope;
-          this.resource = permissionsOrOptions.resource;
-          this.cacheControl = permissionsOrOptions.cacheControl;
-          this.contentDisposition = permissionsOrOptions.contentDisposition;
-          this.contentEncoding = permissionsOrOptions.contentEncoding;
-          this.contentLanguage = permissionsOrOptions.contentLanguage;
-          this.contentType = permissionsOrOptions.contentType;
-          if (permissionsOrOptions.userDelegationKey) {
-            this.signedOid = permissionsOrOptions.userDelegationKey.signedObjectId;
-            this.signedTenantId = permissionsOrOptions.userDelegationKey.signedTenantId;
-            this.signedStartsOn = permissionsOrOptions.userDelegationKey.signedStartsOn;
-            this.signedExpiresOn = permissionsOrOptions.userDelegationKey.signedExpiresOn;
-            this.signedService = permissionsOrOptions.userDelegationKey.signedService;
-            this.signedVersion = permissionsOrOptions.userDelegationKey.signedVersion;
-            this.preauthorizedAgentObjectId = permissionsOrOptions.preauthorizedAgentObjectId;
-            this.correlationId = permissionsOrOptions.correlationId;
-          }
+    }
+    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
+      module2.exports = buffer;
+    } else {
+      copyProps(buffer, exports2);
+      exports2.Buffer = SafeBuffer;
+    }
+    function SafeBuffer(arg, encodingOrOffset, length) {
+      return Buffer2(arg, encodingOrOffset, length);
+    }
+    copyProps(Buffer2, SafeBuffer);
+    SafeBuffer.from = function(arg, encodingOrOffset, length) {
+      if (typeof arg === "number") {
+        throw new TypeError("Argument must not be a number");
+      }
+      return Buffer2(arg, encodingOrOffset, length);
+    };
+    SafeBuffer.alloc = function(size, fill, encoding) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
+      }
+      var buf = Buffer2(size);
+      if (fill !== void 0) {
+        if (typeof encoding === "string") {
+          buf.fill(fill, encoding);
         } else {
-          this.services = services;
-          this.resourceTypes = resourceTypes;
-          this.expiresOn = expiresOn;
-          this.permissions = permissionsOrOptions;
-          this.protocol = protocol;
-          this.startsOn = startsOn;
-          this.ipRangeInner = ipRange;
-          this.encryptionScope = encryptionScope;
-          this.identifier = identifier;
-          this.resource = resource;
-          this.cacheControl = cacheControl;
-          this.contentDisposition = contentDisposition;
-          this.contentEncoding = contentEncoding;
-          this.contentLanguage = contentLanguage;
-          this.contentType = contentType;
-          if (userDelegationKey) {
-            this.signedOid = userDelegationKey.signedObjectId;
-            this.signedTenantId = userDelegationKey.signedTenantId;
-            this.signedStartsOn = userDelegationKey.signedStartsOn;
-            this.signedExpiresOn = userDelegationKey.signedExpiresOn;
-            this.signedService = userDelegationKey.signedService;
-            this.signedVersion = userDelegationKey.signedVersion;
-            this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;
-            this.correlationId = correlationId;
-          }
+          buf.fill(fill);
         }
+      } else {
+        buf.fill(0);
       }
-      /**
-       * Encodes all SAS query parameters into a string that can be appended to a URL.
-       *
-       */
-      toString() {
-        const params = [
-          "sv",
-          "ss",
-          "srt",
-          "spr",
-          "st",
-          "se",
-          "sip",
-          "si",
-          "ses",
-          "skoid",
-          // Signed object ID
-          "sktid",
-          // Signed tenant ID
-          "skt",
-          // Signed key start time
-          "ske",
-          // Signed key expiry time
-          "sks",
-          // Signed key service
-          "skv",
-          // Signed key version
-          "sr",
-          "sp",
-          "sig",
-          "rscc",
-          "rscd",
-          "rsce",
-          "rscl",
-          "rsct",
-          "saoid",
-          "scid"
-        ];
-        const queries = [];
-        for (const param of params) {
-          switch (param) {
-            case "sv":
-              this.tryAppendQueryParameter(queries, param, this.version);
-              break;
-            case "ss":
-              this.tryAppendQueryParameter(queries, param, this.services);
-              break;
-            case "srt":
-              this.tryAppendQueryParameter(queries, param, this.resourceTypes);
-              break;
-            case "spr":
-              this.tryAppendQueryParameter(queries, param, this.protocol);
-              break;
-            case "st":
-              this.tryAppendQueryParameter(queries, param, this.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.startsOn, false) : void 0);
-              break;
-            case "se":
-              this.tryAppendQueryParameter(queries, param, this.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.expiresOn, false) : void 0);
-              break;
-            case "sip":
-              this.tryAppendQueryParameter(queries, param, this.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(this.ipRange) : void 0);
-              break;
-            case "si":
-              this.tryAppendQueryParameter(queries, param, this.identifier);
-              break;
-            case "ses":
-              this.tryAppendQueryParameter(queries, param, this.encryptionScope);
-              break;
-            case "skoid":
-              this.tryAppendQueryParameter(queries, param, this.signedOid);
-              break;
-            case "sktid":
-              this.tryAppendQueryParameter(queries, param, this.signedTenantId);
-              break;
-            case "skt":
-              this.tryAppendQueryParameter(queries, param, this.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedStartsOn, false) : void 0);
-              break;
-            case "ske":
-              this.tryAppendQueryParameter(queries, param, this.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(this.signedExpiresOn, false) : void 0);
-              break;
-            case "sks":
-              this.tryAppendQueryParameter(queries, param, this.signedService);
-              break;
-            case "skv":
-              this.tryAppendQueryParameter(queries, param, this.signedVersion);
-              break;
-            case "sr":
-              this.tryAppendQueryParameter(queries, param, this.resource);
-              break;
-            case "sp":
-              this.tryAppendQueryParameter(queries, param, this.permissions);
-              break;
-            case "sig":
-              this.tryAppendQueryParameter(queries, param, this.signature);
-              break;
-            case "rscc":
-              this.tryAppendQueryParameter(queries, param, this.cacheControl);
-              break;
-            case "rscd":
-              this.tryAppendQueryParameter(queries, param, this.contentDisposition);
-              break;
-            case "rsce":
-              this.tryAppendQueryParameter(queries, param, this.contentEncoding);
-              break;
-            case "rscl":
-              this.tryAppendQueryParameter(queries, param, this.contentLanguage);
-              break;
-            case "rsct":
-              this.tryAppendQueryParameter(queries, param, this.contentType);
-              break;
-            case "saoid":
-              this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
-              break;
-            case "scid":
-              this.tryAppendQueryParameter(queries, param, this.correlationId);
-              break;
+      return buf;
+    };
+    SafeBuffer.allocUnsafe = function(size) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
+      }
+      return Buffer2(size);
+    };
+    SafeBuffer.allocUnsafeSlow = function(size) {
+      if (typeof size !== "number") {
+        throw new TypeError("Argument must be a number");
+      }
+      return buffer.SlowBuffer(size);
+    };
+  }
+});
+
+// node_modules/core-util-is/lib/util.js
+var require_util19 = __commonJS({
+  "node_modules/core-util-is/lib/util.js"(exports2) {
+    function isArray(arg) {
+      if (Array.isArray) {
+        return Array.isArray(arg);
+      }
+      return objectToString(arg) === "[object Array]";
+    }
+    exports2.isArray = isArray;
+    function isBoolean2(arg) {
+      return typeof arg === "boolean";
+    }
+    exports2.isBoolean = isBoolean2;
+    function isNull2(arg) {
+      return arg === null;
+    }
+    exports2.isNull = isNull2;
+    function isNullOrUndefined(arg) {
+      return arg == null;
+    }
+    exports2.isNullOrUndefined = isNullOrUndefined;
+    function isNumber(arg) {
+      return typeof arg === "number";
+    }
+    exports2.isNumber = isNumber;
+    function isString(arg) {
+      return typeof arg === "string";
+    }
+    exports2.isString = isString;
+    function isSymbol(arg) {
+      return typeof arg === "symbol";
+    }
+    exports2.isSymbol = isSymbol;
+    function isUndefined(arg) {
+      return arg === void 0;
+    }
+    exports2.isUndefined = isUndefined;
+    function isRegExp(re) {
+      return objectToString(re) === "[object RegExp]";
+    }
+    exports2.isRegExp = isRegExp;
+    function isObject2(arg) {
+      return typeof arg === "object" && arg !== null;
+    }
+    exports2.isObject = isObject2;
+    function isDate(d) {
+      return objectToString(d) === "[object Date]";
+    }
+    exports2.isDate = isDate;
+    function isError(e) {
+      return objectToString(e) === "[object Error]" || e instanceof Error;
+    }
+    exports2.isError = isError;
+    function isFunction(arg) {
+      return typeof arg === "function";
+    }
+    exports2.isFunction = isFunction;
+    function isPrimitive(arg) {
+      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
+      typeof arg === "undefined";
+    }
+    exports2.isPrimitive = isPrimitive;
+    exports2.isBuffer = require("buffer").Buffer.isBuffer;
+    function objectToString(o) {
+      return Object.prototype.toString.call(o);
+    }
+  }
+});
+
+// node_modules/inherits/inherits_browser.js
+var require_inherits_browser = __commonJS({
+  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
+    if (typeof Object.create === "function") {
+      module2.exports = function inherits(ctor, superCtor) {
+        ctor.super_ = superCtor;
+        ctor.prototype = Object.create(superCtor.prototype, {
+          constructor: {
+            value: ctor,
+            enumerable: false,
+            writable: true,
+            configurable: true
           }
-        }
-        return queries.join("&");
+        });
+      };
+    } else {
+      module2.exports = function inherits(ctor, superCtor) {
+        ctor.super_ = superCtor;
+        var TempCtor = function() {
+        };
+        TempCtor.prototype = superCtor.prototype;
+        ctor.prototype = new TempCtor();
+        ctor.prototype.constructor = ctor;
+      };
+    }
+  }
+});
+
+// node_modules/inherits/inherits.js
+var require_inherits = __commonJS({
+  "node_modules/inherits/inherits.js"(exports2, module2) {
+    try {
+      util = require("util");
+      if (typeof util.inherits !== "function") throw "";
+      module2.exports = util.inherits;
+    } catch (e) {
+      module2.exports = require_inherits_browser();
+    }
+    var util;
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
+var require_BufferList = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
+    "use strict";
+    function _classCallCheck(instance, Constructor) {
+      if (!(instance instanceof Constructor)) {
+        throw new TypeError("Cannot call a class as a function");
       }
-      /**
-       * A private helper method used to filter and append query key/value pairs into an array.
-       *
-       * @param queries -
-       * @param key -
-       * @param value -
-       */
-      tryAppendQueryParameter(queries, key, value) {
-        if (!value) {
-          return;
+    }
+    var Buffer2 = require_safe_buffer().Buffer;
+    var util = require("util");
+    function copyBuffer(src, target, offset) {
+      src.copy(target, offset);
+    }
+    module2.exports = (function() {
+      function BufferList() {
+        _classCallCheck(this, BufferList);
+        this.head = null;
+        this.tail = null;
+        this.length = 0;
+      }
+      BufferList.prototype.push = function push(v) {
+        var entry = { data: v, next: null };
+        if (this.length > 0) this.tail.next = entry;
+        else this.head = entry;
+        this.tail = entry;
+        ++this.length;
+      };
+      BufferList.prototype.unshift = function unshift(v) {
+        var entry = { data: v, next: this.head };
+        if (this.length === 0) this.tail = entry;
+        this.head = entry;
+        ++this.length;
+      };
+      BufferList.prototype.shift = function shift() {
+        if (this.length === 0) return;
+        var ret = this.head.data;
+        if (this.length === 1) this.head = this.tail = null;
+        else this.head = this.head.next;
+        --this.length;
+        return ret;
+      };
+      BufferList.prototype.clear = function clear() {
+        this.head = this.tail = null;
+        this.length = 0;
+      };
+      BufferList.prototype.join = function join3(s) {
+        if (this.length === 0) return "";
+        var p = this.head;
+        var ret = "" + p.data;
+        while (p = p.next) {
+          ret += s + p.data;
         }
-        key = encodeURIComponent(key);
-        value = encodeURIComponent(value);
-        if (key.length > 0 && value.length > 0) {
-          queries.push(`${key}=${value}`);
+        return ret;
+      };
+      BufferList.prototype.concat = function concat(n) {
+        if (this.length === 0) return Buffer2.alloc(0);
+        var ret = Buffer2.allocUnsafe(n >>> 0);
+        var p = this.head;
+        var i = 0;
+        while (p) {
+          copyBuffer(p.data, ret, i);
+          i += p.data.length;
+          p = p.next;
         }
-      }
-    };
-    exports2.SASQueryParameters = SASQueryParameters;
+        return ret;
+      };
+      return BufferList;
+    })();
+    if (util && util.inspect && util.inspect.custom) {
+      module2.exports.prototype[util.inspect.custom] = function() {
+        var obj = util.inspect({ length: this.length });
+        return this.constructor.name + " " + obj;
+      };
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js
-var require_BlobSASSignatureValues = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/BlobSASSignatureValues.js"(exports2) {
+// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
+var require_destroy = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.generateBlobSASQueryParameters = generateBlobSASQueryParameters;
-    exports2.generateBlobSASQueryParametersInternal = generateBlobSASQueryParametersInternal;
-    var BlobSASPermissions_js_1 = require_BlobSASPermissions();
-    var ContainerSASPermissions_js_1 = require_ContainerSASPermissions();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var UserDelegationKeyCredential_js_1 = require_UserDelegationKeyCredential();
-    var SasIPRange_js_1 = require_SasIPRange();
-    var SASQueryParameters_js_1 = require_SASQueryParameters();
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
-      return generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName).sasQueryParameters;
-    }
-    function generateBlobSASQueryParametersInternal(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
-      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential ? sharedKeyCredentialOrUserDelegationKey : void 0;
-      let userDelegationKeyCredential;
-      if (sharedKeyCredential === void 0 && accountName !== void 0) {
-        userDelegationKeyCredential = new UserDelegationKeyCredential_js_1.UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
-      }
-      if (sharedKeyCredential === void 0 && userDelegationKeyCredential === void 0) {
-        throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
-      }
-      if (version >= "2020-12-06") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          if (version >= "2025-07-05") {
-            return generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential);
-          } else {
-            return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
+    var pna = require_process_nextick_args();
+    function destroy(err, cb) {
+      var _this = this;
+      var readableDestroyed = this._readableState && this._readableState.destroyed;
+      var writableDestroyed = this._writableState && this._writableState.destroyed;
+      if (readableDestroyed || writableDestroyed) {
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          if (!this._writableState) {
+            pna.nextTick(emitErrorNT, this, err);
+          } else if (!this._writableState.errorEmitted) {
+            this._writableState.errorEmitted = true;
+            pna.nextTick(emitErrorNT, this, err);
           }
         }
+        return this;
       }
-      if (version >= "2018-11-09") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          if (version >= "2020-02-10") {
-            return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
-          } else {
-            return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
+      if (this._readableState) {
+        this._readableState.destroyed = true;
+      }
+      if (this._writableState) {
+        this._writableState.destroyed = true;
+      }
+      this._destroy(err || null, function(err2) {
+        if (!cb && err2) {
+          if (!_this._writableState) {
+            pna.nextTick(emitErrorNT, _this, err2);
+          } else if (!_this._writableState.errorEmitted) {
+            _this._writableState.errorEmitted = true;
+            pna.nextTick(emitErrorNT, _this, err2);
           }
+        } else if (cb) {
+          cb(err2);
         }
+      });
+      return this;
+    }
+    function undestroy() {
+      if (this._readableState) {
+        this._readableState.destroyed = false;
+        this._readableState.reading = false;
+        this._readableState.ended = false;
+        this._readableState.endEmitted = false;
       }
-      if (version >= "2015-04-05") {
-        if (sharedKeyCredential !== void 0) {
-          return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
-        } else {
-          throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
-        }
+      if (this._writableState) {
+        this._writableState.destroyed = false;
+        this._writableState.ended = false;
+        this._writableState.ending = false;
+        this._writableState.finalCalled = false;
+        this._writableState.prefinished = false;
+        this._writableState.finished = false;
+        this._writableState.errorEmitted = false;
       }
-      throw new RangeError("'version' must be >= '2015-04-05'.");
     }
-    function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+    function emitErrorNT(self2, err) {
+      self2.emit("error", err);
+    }
+    module2.exports = {
+      destroy,
+      undestroy
+    };
+  }
+});
+
+// node_modules/util-deprecate/node.js
+var require_node2 = __commonJS({
+  "node_modules/util-deprecate/node.js"(exports2, module2) {
+    module2.exports = require("util").deprecate;
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
+var require_stream_writable = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    module2.exports = Writable;
+    function CorkedRequest(state) {
+      var _this = this;
+      this.next = null;
+      this.entry = null;
+      this.finish = function() {
+        onCorkedFinish(_this, state);
+      };
+    }
+    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
+    var Duplex;
+    Writable.WritableState = WritableState;
+    var util = Object.create(require_util19());
+    util.inherits = require_inherits();
+    var internalUtil = {
+      deprecate: require_node2()
+    };
+    var Stream = require_stream();
+    var Buffer2 = require_safe_buffer().Buffer;
+    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    };
+    function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk);
+    }
+    function _isUint8Array(obj) {
+      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    }
+    var destroyImpl = require_destroy();
+    util.inherits(Writable, Stream);
+    function nop() {
+    }
+    function WritableState(options, stream) {
+      Duplex = Duplex || require_stream_duplex();
+      options = options || {};
+      var isDuplex = stream instanceof Duplex;
+      this.objectMode = !!options.objectMode;
+      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
+      var hwm = options.highWaterMark;
+      var writableHwm = options.writableHighWaterMark;
+      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+      if (hwm || hwm === 0) this.highWaterMark = hwm;
+      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
+      else this.highWaterMark = defaultHwm;
+      this.highWaterMark = Math.floor(this.highWaterMark);
+      this.finalCalled = false;
+      this.needDrain = false;
+      this.ending = false;
+      this.ended = false;
+      this.finished = false;
+      this.destroyed = false;
+      var noDecode = options.decodeStrings === false;
+      this.decodeStrings = !noDecode;
+      this.defaultEncoding = options.defaultEncoding || "utf8";
+      this.length = 0;
+      this.writing = false;
+      this.corked = 0;
+      this.sync = true;
+      this.bufferProcessing = false;
+      this.onwrite = function(er) {
+        onwrite(stream, er);
+      };
+      this.writecb = null;
+      this.writelen = 0;
+      this.bufferedRequest = null;
+      this.lastBufferedRequest = null;
+      this.pendingcb = 0;
+      this.prefinished = false;
+      this.errorEmitted = false;
+      this.bufferedRequestCount = 0;
+      this.corkedRequestsFree = new CorkedRequest(this);
+    }
+    WritableState.prototype.getBuffer = function getBuffer() {
+      var current = this.bufferedRequest;
+      var out = [];
+      while (current) {
+        out.push(current);
+        current = current.next;
       }
-      let resource = "c";
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
+      return out;
+    };
+    (function() {
+      try {
+        Object.defineProperty(WritableState.prototype, "buffer", {
+          get: internalUtil.deprecate(function() {
+            return this.getBuffer();
+          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
+        });
+      } catch (_2) {
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+    })();
+    var realHasInstance;
+    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
+      realHasInstance = Function.prototype[Symbol.hasInstance];
+      Object.defineProperty(Writable, Symbol.hasInstance, {
+        value: function(object) {
+          if (realHasInstance.call(this, object)) return true;
+          if (this !== Writable) return false;
+          return object && object._writableState instanceof WritableState;
         }
-      }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
-        stringToSign
+      });
+    } else {
+      realHasInstance = function(object) {
+        return object instanceof this;
       };
     }
-    function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+    function Writable(options) {
+      Duplex = Duplex || require_stream_duplex();
+      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
+        return new Writable(options);
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+      this._writableState = new WritableState(options, this);
+      this.writable = true;
+      if (options) {
+        if (typeof options.write === "function") this._write = options.write;
+        if (typeof options.writev === "function") this._writev = options.writev;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.final === "function") this._final = options.final;
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        }
+      Stream.call(this);
+    }
+    Writable.prototype.pipe = function() {
+      this.emit("error", new Error("Cannot pipe, not readable"));
+    };
+    function writeAfterEnd(stream, cb) {
+      var er = new Error("write after end");
+      stream.emit("error", er);
+      pna.nextTick(cb, er);
+    }
+    function validChunk(stream, state, chunk, cb) {
+      var valid3 = true;
+      var er = false;
+      if (chunk === null) {
+        er = new TypeError("May not write null values to stream");
+      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
+        er = new TypeError("Invalid non-string/buffer chunk");
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType),
-        stringToSign
-      };
+      if (er) {
+        stream.emit("error", er);
+        pna.nextTick(cb, er);
+        valid3 = false;
+      }
+      return valid3;
     }
-    function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.identifier && !(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
+    Writable.prototype.write = function(chunk, encoding, cb) {
+      var state = this._writableState;
+      var ret = false;
+      var isBuf = !state.objectMode && _isUint8Array(chunk);
+      if (isBuf && !Buffer2.isBuffer(chunk)) {
+        chunk = _uint8ArrayToBuffer(chunk);
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+      if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
+      }
+      if (isBuf) encoding = "buffer";
+      else if (!encoding) encoding = state.defaultEncoding;
+      if (typeof cb !== "function") cb = nop;
+      if (state.ended) writeAfterEnd(this, cb);
+      else if (isBuf || validChunk(this, state, chunk, cb)) {
+        state.pendingcb++;
+        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
-        }
+      return ret;
+    };
+    Writable.prototype.cork = function() {
+      var state = this._writableState;
+      state.corked++;
+    };
+    Writable.prototype.uncork = function() {
+      var state = this._writableState;
+      if (state.corked) {
+        state.corked--;
+        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        blobSASSignatureValues.identifier,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
-        blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
-        blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
-        blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
-        blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : ""
-      ].join("\n");
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, void 0, void 0, void 0, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
+    };
+    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
+      if (typeof encoding === "string") encoding = encoding.toLowerCase();
+      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
+      this._writableState.defaultEncoding = encoding;
+      return this;
+    };
+    function decodeChunk(state, chunk, encoding) {
+      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
+        chunk = Buffer2.from(chunk, encoding);
+      }
+      return chunk;
     }
-    function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._writableState.highWaterMark;
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+    });
+    function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
+      if (!isBuf) {
+        var newChunk = decodeChunk(state, chunk, encoding);
+        if (chunk !== newChunk) {
+          isBuf = true;
+          encoding = "buffer";
+          chunk = newChunk;
         }
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      var len = state.objectMode ? 1 : chunk.length;
+      state.length += len;
+      var ret = state.length < state.highWaterMark;
+      if (!ret) state.needDrain = true;
+      if (state.writing || state.corked) {
+        var last = state.lastBufferedRequest;
+        state.lastBufferedRequest = {
+          chunk,
+          encoding,
+          isBuf,
+          callback: cb,
+          next: null
+        };
+        if (last) {
+          last.next = state.lastBufferedRequest;
         } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+          state.bufferedRequest = state.lastBufferedRequest;
         }
+        state.bufferedRequestCount += 1;
+      } else {
+        doWrite(stream, state, false, len, chunk, encoding, cb);
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey),
-        stringToSign
-      };
+      return ret;
     }
-    function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
+      state.writelen = len;
+      state.writecb = cb;
+      state.writing = true;
+      state.sync = true;
+      if (writev) stream._writev(chunk, state.onwrite);
+      else stream._write(chunk, encoding, state.onwrite);
+      state.sync = false;
+    }
+    function onwriteError(stream, state, sync, er, cb) {
+      --state.pendingcb;
+      if (sync) {
+        pna.nextTick(cb, er);
+        pna.nextTick(finishMaybe, stream, state);
+        stream._writableState.errorEmitted = true;
+        stream.emit("error", er);
+      } else {
+        cb(er);
+        stream._writableState.errorEmitted = true;
+        stream.emit("error", er);
+        finishMaybe(stream, state);
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+    }
+    function onwriteStateUpdate(state) {
+      state.writing = false;
+      state.writecb = null;
+      state.length -= state.writelen;
+      state.writelen = 0;
+    }
+    function onwrite(stream, er) {
+      var state = stream._writableState;
+      var sync = state.sync;
+      var cb = state.writecb;
+      onwriteStateUpdate(state);
+      if (er) onwriteError(stream, state, sync, er, cb);
+      else {
+        var finished = needFinish(state);
+        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
+          clearBuffer(stream, state);
         }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        if (sync) {
+          asyncWrite(afterWrite, stream, state, finished, cb);
         } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+          afterWrite(stream, state, finished, cb);
         }
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId),
-        stringToSign
-      };
     }
-    function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+    function afterWrite(stream, state, finished, cb) {
+      if (!finished) onwriteDrain(stream, state);
+      state.pendingcb--;
+      cb();
+      finishMaybe(stream, state);
+    }
+    function onwriteDrain(stream, state) {
+      if (state.length === 0 && state.needDrain) {
+        state.needDrain = false;
+        stream.emit("drain");
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
+    }
+    function clearBuffer(stream, state) {
+      state.bufferProcessing = true;
+      var entry = state.bufferedRequest;
+      if (stream._writev && entry && entry.next) {
+        var l = state.bufferedRequestCount;
+        var buffer = new Array(l);
+        var holder = state.corkedRequestsFree;
+        holder.entry = entry;
+        var count = 0;
+        var allBuffers = true;
+        while (entry) {
+          buffer[count] = entry;
+          if (!entry.isBuf) allBuffers = false;
+          entry = entry.next;
+          count += 1;
         }
-      }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+        buffer.allBuffers = allBuffers;
+        doWrite(stream, state, true, state.length, buffer, "", holder.finish);
+        state.pendingcb++;
+        state.lastBufferedRequest = null;
+        if (holder.next) {
+          state.corkedRequestsFree = holder.next;
+          holder.next = null;
         } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+          state.corkedRequestsFree = new CorkedRequest(state);
+        }
+        state.bufferedRequestCount = 0;
+      } else {
+        while (entry) {
+          var chunk = entry.chunk;
+          var encoding = entry.encoding;
+          var cb = entry.callback;
+          var len = state.objectMode ? 1 : chunk.length;
+          doWrite(stream, state, false, len, chunk, encoding, cb);
+          entry = entry.next;
+          state.bufferedRequestCount--;
+          if (state.writing) {
+            break;
+          }
         }
+        if (entry === null) state.lastBufferedRequest = null;
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
+      state.bufferedRequest = entry;
+      state.bufferProcessing = false;
     }
-    function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userDelegationKeyCredential) {
-      blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
-      if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
-        throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
+    Writable.prototype._write = function(chunk, encoding, cb) {
+      cb(new Error("_write() is not implemented"));
+    };
+    Writable.prototype._writev = null;
+    Writable.prototype.end = function(chunk, encoding, cb) {
+      var state = this._writableState;
+      if (typeof chunk === "function") {
+        cb = chunk;
+        chunk = null;
+        encoding = null;
+      } else if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      let resource = "c";
-      let timestamp2 = blobSASSignatureValues.snapshotTime;
-      if (blobSASSignatureValues.blobName) {
-        resource = "b";
-        if (blobSASSignatureValues.snapshotTime) {
-          resource = "bs";
-        } else if (blobSASSignatureValues.versionId) {
-          resource = "bv";
-          timestamp2 = blobSASSignatureValues.versionId;
-        }
+      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
+      if (state.corked) {
+        state.corked = 1;
+        this.uncork();
       }
-      let verifiedPermissions;
-      if (blobSASSignatureValues.permissions) {
-        if (blobSASSignatureValues.blobName) {
-          verifiedPermissions = BlobSASPermissions_js_1.BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+      if (!state.ending) endWritable(this, state, cb);
+    };
+    function needFinish(state) {
+      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
+    }
+    function callFinal(stream, state) {
+      stream._final(function(err) {
+        state.pendingcb--;
+        if (err) {
+          stream.emit("error", err);
+        }
+        state.prefinished = true;
+        stream.emit("prefinish");
+        finishMaybe(stream, state);
+      });
+    }
+    function prefinish(stream, state) {
+      if (!state.prefinished && !state.finalCalled) {
+        if (typeof stream._final === "function") {
+          state.pendingcb++;
+          state.finalCalled = true;
+          pna.nextTick(callFinal, stream, state);
         } else {
-          verifiedPermissions = ContainerSASPermissions_js_1.ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
+          state.prefinished = true;
+          stream.emit("prefinish");
         }
       }
-      const stringToSign = [
-        verifiedPermissions ? verifiedPermissions : "",
-        blobSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.startsOn, false) : "",
-        blobSASSignatureValues.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(blobSASSignatureValues.expiresOn, false) : "",
-        getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
-        userDelegationKeyCredential.userDelegationKey.signedObjectId,
-        userDelegationKeyCredential.userDelegationKey.signedTenantId,
-        userDelegationKeyCredential.userDelegationKey.signedStartsOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedExpiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false) : "",
-        userDelegationKeyCredential.userDelegationKey.signedService,
-        userDelegationKeyCredential.userDelegationKey.signedVersion,
-        blobSASSignatureValues.preauthorizedAgentObjectId,
-        void 0,
-        // agentObjectId
-        blobSASSignatureValues.correlationId,
-        void 0,
-        // SignedKeyDelegatedUserTenantId, will be added in a future release.
-        void 0,
-        // SignedDelegatedUserObjectId, will be added in future release.
-        blobSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(blobSASSignatureValues.ipRange) : "",
-        blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
-        blobSASSignatureValues.version,
-        resource,
-        timestamp2,
-        blobSASSignatureValues.encryptionScope,
-        blobSASSignatureValues.cacheControl,
-        blobSASSignatureValues.contentDisposition,
-        blobSASSignatureValues.contentEncoding,
-        blobSASSignatureValues.contentLanguage,
-        blobSASSignatureValues.contentType
-      ].join("\n");
-      const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, void 0, void 0, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope),
-        stringToSign
-      };
     }
-    function getCanonicalName(accountName, containerName, blobName) {
-      const elements = [`/blob/${accountName}/${containerName}`];
-      if (blobName) {
-        elements.push(`/${blobName}`);
+    function finishMaybe(stream, state) {
+      var need = needFinish(state);
+      if (need) {
+        prefinish(stream, state);
+        if (state.pendingcb === 0) {
+          state.finished = true;
+          stream.emit("finish");
+        }
       }
-      return elements.join("");
+      return need;
     }
-    function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
-      const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
-        throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
+    function endWritable(stream, state, cb) {
+      state.ending = true;
+      finishMaybe(stream, state);
+      if (cb) {
+        if (state.finished) pna.nextTick(cb);
+        else stream.once("finish", cb);
       }
-      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.snapshotTime) {
-        throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
+      state.ended = true;
+      stream.writable = false;
+    }
+    function onCorkedFinish(corkReq, state, err) {
+      var entry = corkReq.entry;
+      corkReq.entry = null;
+      while (entry) {
+        var cb = entry.callback;
+        state.pendingcb--;
+        cb(err);
+        entry = entry.next;
       }
-      if (blobSASSignatureValues.versionId && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
+      state.corkedRequestsFree.next = corkReq;
+    }
+    Object.defineProperty(Writable.prototype, "destroyed", {
+      get: function() {
+        if (this._writableState === void 0) {
+          return false;
+        }
+        return this._writableState.destroyed;
+      },
+      set: function(value) {
+        if (!this._writableState) {
+          return;
+        }
+        this._writableState.destroyed = value;
       }
-      if (blobSASSignatureValues.blobName === void 0 && blobSASSignatureValues.versionId) {
-        throw RangeError("Must provide 'blobName' when providing 'versionId'.");
+    });
+    Writable.prototype.destroy = destroyImpl.destroy;
+    Writable.prototype._undestroy = destroyImpl.undestroy;
+    Writable.prototype._destroy = function(err, cb) {
+      this.end();
+      cb(err);
+    };
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
+var require_stream_duplex = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    var objectKeys = Object.keys || function(obj) {
+      var keys2 = [];
+      for (var key in obj) {
+        keys2.push(key);
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
-        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
+      return keys2;
+    };
+    module2.exports = Duplex;
+    var util = Object.create(require_util19());
+    util.inherits = require_inherits();
+    var Readable = require_stream_readable();
+    var Writable = require_stream_writable();
+    util.inherits(Duplex, Readable);
+    {
+      keys = objectKeys(Writable.prototype);
+      for (v = 0; v < keys.length; v++) {
+        method = keys[v];
+        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
+    }
+    var keys;
+    var method;
+    var v;
+    function Duplex(options) {
+      if (!(this instanceof Duplex)) return new Duplex(options);
+      Readable.call(this, options);
+      Writable.call(this, options);
+      if (options && options.readable === false) this.readable = false;
+      if (options && options.writable === false) this.writable = false;
+      this.allowHalfOpen = true;
+      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
+      this.once("end", onend);
+    }
+    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._writableState.highWaterMark;
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
+    });
+    function onend() {
+      if (this.allowHalfOpen || this._writableState.ended) return;
+      pna.nextTick(onEndNT, this);
+    }
+    function onEndNT(self2) {
+      self2.end();
+    }
+    Object.defineProperty(Duplex.prototype, "destroyed", {
+      get: function() {
+        if (this._readableState === void 0 || this._writableState === void 0) {
+          return false;
+        }
+        return this._readableState.destroyed && this._writableState.destroyed;
+      },
+      set: function(value) {
+        if (this._readableState === void 0 || this._writableState === void 0) {
+          return;
+        }
+        this._readableState.destroyed = value;
+        this._writableState.destroyed = value;
       }
-      if (blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.tag && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
+    });
+    Duplex.prototype._destroy = function(err, cb) {
+      this.push(null);
+      this.end();
+      pna.nextTick(cb, err);
+    };
+  }
+});
+
+// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
+var require_string_decoder = __commonJS({
+  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
+    "use strict";
+    var Buffer2 = require_safe_buffer().Buffer;
+    var isEncoding = Buffer2.isEncoding || function(encoding) {
+      encoding = "" + encoding;
+      switch (encoding && encoding.toLowerCase()) {
+        case "hex":
+        case "utf8":
+        case "utf-8":
+        case "ascii":
+        case "binary":
+        case "base64":
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+        case "raw":
+          return true;
+        default:
+          return false;
       }
-      if (version < "2020-02-10" && blobSASSignatureValues.permissions && (blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
-        throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
+    };
+    function _normalizeEncoding(enc) {
+      if (!enc) return "utf8";
+      var retried;
+      while (true) {
+        switch (enc) {
+          case "utf8":
+          case "utf-8":
+            return "utf8";
+          case "ucs2":
+          case "ucs-2":
+          case "utf16le":
+          case "utf-16le":
+            return "utf16le";
+          case "latin1":
+          case "binary":
+            return "latin1";
+          case "base64":
+          case "ascii":
+          case "hex":
+            return enc;
+          default:
+            if (retried) return;
+            enc = ("" + enc).toLowerCase();
+            retried = true;
+        }
       }
-      if (version < "2021-04-10" && blobSASSignatureValues.permissions && blobSASSignatureValues.permissions.filterByTags) {
-        throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
+    }
+    function normalizeEncoding(enc) {
+      var nenc = _normalizeEncoding(enc);
+      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
+      return nenc || enc;
+    }
+    exports2.StringDecoder = StringDecoder;
+    function StringDecoder(encoding) {
+      this.encoding = normalizeEncoding(encoding);
+      var nb;
+      switch (this.encoding) {
+        case "utf16le":
+          this.text = utf16Text;
+          this.end = utf16End;
+          nb = 4;
+          break;
+        case "utf8":
+          this.fillLast = utf8FillLast;
+          nb = 4;
+          break;
+        case "base64":
+          this.text = base64Text;
+          this.end = base64End;
+          nb = 3;
+          break;
+        default:
+          this.write = simpleWrite;
+          this.end = simpleEnd;
+          return;
       }
-      if (version < "2020-02-10" && (blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
-        throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
+      this.lastNeed = 0;
+      this.lastTotal = 0;
+      this.lastChar = Buffer2.allocUnsafe(nb);
+    }
+    StringDecoder.prototype.write = function(buf) {
+      if (buf.length === 0) return "";
+      var r;
+      var i;
+      if (this.lastNeed) {
+        r = this.fillLast(buf);
+        if (r === void 0) return "";
+        i = this.lastNeed;
+        this.lastNeed = 0;
+      } else {
+        i = 0;
       }
-      if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
-        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
+      return r || "";
+    };
+    StringDecoder.prototype.end = utf8End;
+    StringDecoder.prototype.text = utf8Text;
+    StringDecoder.prototype.fillLast = function(buf) {
+      if (this.lastNeed <= buf.length) {
+        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
+        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
       }
-      blobSASSignatureValues.version = version;
-      return blobSASSignatureValues;
+      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
+      this.lastNeed -= buf.length;
+    };
+    function utf8CheckByte(byte) {
+      if (byte <= 127) return 0;
+      else if (byte >> 5 === 6) return 2;
+      else if (byte >> 4 === 14) return 3;
+      else if (byte >> 3 === 30) return 4;
+      return byte >> 6 === 2 ? -1 : -2;
     }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js
-var require_BlobLeaseClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobLeaseClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobLeaseClient = void 0;
-    var core_util_1 = require_commonjs6();
-    var constants_js_1 = require_constants14();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var BlobLeaseClient = class {
-      _leaseId;
-      _url;
-      _containerOrBlobOperation;
-      _isContainer;
-      /**
-       * Gets the lease Id.
-       *
-       * @readonly
-       */
-      get leaseId() {
-        return this._leaseId;
+    function utf8CheckIncomplete(self2, buf, i) {
+      var j = buf.length - 1;
+      if (j < i) return 0;
+      var nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) self2.lastNeed = nb - 1;
+        return nb;
       }
-      /**
-       * Gets the url.
-       *
-       * @readonly
-       */
-      get url() {
-        return this._url;
+      if (--j < i || nb === -2) return 0;
+      nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) self2.lastNeed = nb - 2;
+        return nb;
       }
-      /**
-       * Creates an instance of BlobLeaseClient.
-       * @param client - The client to make the lease operation requests.
-       * @param leaseId - Initial proposed lease id.
-       */
-      constructor(client, leaseId) {
-        const clientContext = client.storageClientContext;
-        this._url = client.url;
-        if (client.name === void 0) {
-          this._isContainer = true;
-          this._containerOrBlobOperation = clientContext.container;
-        } else {
-          this._isContainer = false;
-          this._containerOrBlobOperation = clientContext.blob;
-        }
-        if (!leaseId) {
-          leaseId = (0, core_util_1.randomUUID)();
+      if (--j < i || nb === -2) return 0;
+      nb = utf8CheckByte(buf[j]);
+      if (nb >= 0) {
+        if (nb > 0) {
+          if (nb === 2) nb = 0;
+          else self2.lastNeed = nb - 3;
         }
-        this._leaseId = leaseId;
+        return nb;
       }
-      /**
-       * Establishes and manages a lock on a container for delete operations, or on a blob
-       * for write and delete operations.
-       * The lock duration can be 15 to 60 seconds, or can be infinite.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param duration - Must be between 15 to 60 seconds, or infinite (-1)
-       * @param options - option to configure lease management operations.
-       * @returns Response data for acquire lease operation.
-       */
-      async acquireLease(duration, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-acquireLease", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.acquireLease({
-            abortSignal: options.abortSignal,
-            duration,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            proposedLeaseId: this._leaseId,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return 0;
+    }
+    function utf8CheckExtraBytes(self2, buf, p) {
+      if ((buf[0] & 192) !== 128) {
+        self2.lastNeed = 0;
+        return "\uFFFD";
       }
-      /**
-       * To change the ID of the lease.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param proposedLeaseId - the proposed new lease Id.
-       * @param options - option to configure lease management operations.
-       * @returns Response data for change lease operation.
-       */
-      async changeLease(proposedLeaseId, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+      if (self2.lastNeed > 1 && buf.length > 1) {
+        if ((buf[1] & 192) !== 128) {
+          self2.lastNeed = 1;
+          return "\uFFFD";
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-changeLease", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.changeLease(this._leaseId, proposedLeaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          this._leaseId = proposedLeaseId;
-          return response;
-        });
-      }
-      /**
-       * To free the lease if it is no longer needed so that another client may
-       * immediately acquire a lease against the container or the blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param options - option to configure lease management operations.
-       * @returns Response data for release lease operation.
-       */
-      async releaseLease(options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+        if (self2.lastNeed > 2 && buf.length > 2) {
+          if ((buf[2] & 192) !== 128) {
+            self2.lastNeed = 2;
+            return "\uFFFD";
+          }
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-releaseLease", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.releaseLease(this._leaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
       }
-      /**
-       * To renew the lease.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param options - Optional option to configure lease management operations.
-       * @returns Response data for renew lease operation.
-       */
-      async renewLease(options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-renewLease", options, async (updatedOptions) => {
-          return this._containerOrBlobOperation.renewLease(this._leaseId, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          });
-        });
+    }
+    function utf8FillLast(buf) {
+      var p = this.lastTotal - this.lastNeed;
+      var r = utf8CheckExtraBytes(this, buf, p);
+      if (r !== void 0) return r;
+      if (this.lastNeed <= buf.length) {
+        buf.copy(this.lastChar, p, 0, this.lastNeed);
+        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
       }
-      /**
-       * To end the lease but ensure that another client cannot acquire a new lease
-       * until the current lease period has expired.
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-container
-       * and
-       * @see https://learn.microsoft.com/rest/api/storageservices/lease-blob
-       *
-       * @param breakPeriod - Break period
-       * @param options - Optional options to configure lease management operations.
-       * @returns Response data for break lease operation.
-       */
-      async breakLease(breakPeriod, options = {}) {
-        if (this._isContainer && (options.conditions?.ifMatch && options.conditions?.ifMatch !== constants_js_1.ETagNone || options.conditions?.ifNoneMatch && options.conditions?.ifNoneMatch !== constants_js_1.ETagNone || options.conditions?.tagConditions)) {
-          throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");
+      buf.copy(this.lastChar, p, 0, buf.length);
+      this.lastNeed -= buf.length;
+    }
+    function utf8Text(buf, i) {
+      var total = utf8CheckIncomplete(this, buf, i);
+      if (!this.lastNeed) return buf.toString("utf8", i);
+      this.lastTotal = total;
+      var end = buf.length - (total - this.lastNeed);
+      buf.copy(this.lastChar, 0, end);
+      return buf.toString("utf8", i, end);
+    }
+    function utf8End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) return r + "\uFFFD";
+      return r;
+    }
+    function utf16Text(buf, i) {
+      if ((buf.length - i) % 2 === 0) {
+        var r = buf.toString("utf16le", i);
+        if (r) {
+          var c = r.charCodeAt(r.length - 1);
+          if (c >= 55296 && c <= 56319) {
+            this.lastNeed = 2;
+            this.lastTotal = 4;
+            this.lastChar[0] = buf[buf.length - 2];
+            this.lastChar[1] = buf[buf.length - 1];
+            return r.slice(0, -1);
+          }
         }
-        return tracing_js_1.tracingClient.withSpan("BlobLeaseClient-breakLease", options, async (updatedOptions) => {
-          const operationOptions = {
-            abortSignal: options.abortSignal,
-            breakPeriod,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          };
-          return (0, utils_common_js_1.assertResponse)(await this._containerOrBlobOperation.breakLease(operationOptions));
-        });
+        return r;
       }
-    };
-    exports2.BlobLeaseClient = BlobLeaseClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js
-var require_RetriableReadableStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/RetriableReadableStream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.RetriableReadableStream = void 0;
-    var abort_controller_1 = require_commonjs13();
-    var node_stream_1 = require("node:stream");
-    var RetriableReadableStream = class extends node_stream_1.Readable {
-      start;
-      offset;
-      end;
-      getter;
-      source;
-      retries = 0;
-      maxRetryRequests;
-      onProgress;
-      options;
-      /**
-       * Creates an instance of RetriableReadableStream.
-       *
-       * @param source - The current ReadableStream returned from getter
-       * @param getter - A method calling downloading request returning
-       *                                      a new ReadableStream from specified offset
-       * @param offset - Offset position in original data source to read
-       * @param count - How much data in original data source to read
-       * @param options -
-       */
-      constructor(source, getter, offset, count, options = {}) {
-        super({ highWaterMark: options.highWaterMark });
-        this.getter = getter;
-        this.source = source;
-        this.start = offset;
-        this.offset = offset;
-        this.end = offset + count - 1;
-        this.maxRetryRequests = options.maxRetryRequests && options.maxRetryRequests >= 0 ? options.maxRetryRequests : 0;
-        this.onProgress = options.onProgress;
-        this.options = options;
-        this.setSourceEventHandlers();
+      this.lastNeed = 1;
+      this.lastTotal = 2;
+      this.lastChar[0] = buf[buf.length - 1];
+      return buf.toString("utf16le", i, buf.length - 1);
+    }
+    function utf16End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) {
+        var end = this.lastTotal - this.lastNeed;
+        return r + this.lastChar.toString("utf16le", 0, end);
       }
-      _read() {
-        this.source.resume();
+      return r;
+    }
+    function base64Text(buf, i) {
+      var n = (buf.length - i) % 3;
+      if (n === 0) return buf.toString("base64", i);
+      this.lastNeed = 3 - n;
+      this.lastTotal = 3;
+      if (n === 1) {
+        this.lastChar[0] = buf[buf.length - 1];
+      } else {
+        this.lastChar[0] = buf[buf.length - 2];
+        this.lastChar[1] = buf[buf.length - 1];
       }
-      setSourceEventHandlers() {
-        this.source.on("data", this.sourceDataHandler);
-        this.source.on("end", this.sourceErrorOrEndHandler);
-        this.source.on("error", this.sourceErrorOrEndHandler);
-        this.source.on("aborted", this.sourceAbortedHandler);
+      return buf.toString("base64", i, buf.length - n);
+    }
+    function base64End(buf) {
+      var r = buf && buf.length ? this.write(buf) : "";
+      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
+      return r;
+    }
+    function simpleWrite(buf) {
+      return buf.toString(this.encoding);
+    }
+    function simpleEnd(buf) {
+      return buf && buf.length ? this.write(buf) : "";
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
+var require_stream_readable = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
+    "use strict";
+    var pna = require_process_nextick_args();
+    module2.exports = Readable;
+    var isArray = require_isarray();
+    var Duplex;
+    Readable.ReadableState = ReadableState;
+    var EE = require("events").EventEmitter;
+    var EElistenerCount = function(emitter, type2) {
+      return emitter.listeners(type2).length;
+    };
+    var Stream = require_stream();
+    var Buffer2 = require_safe_buffer().Buffer;
+    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
+    };
+    function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk);
+    }
+    function _isUint8Array(obj) {
+      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
+    }
+    var util = Object.create(require_util19());
+    util.inherits = require_inherits();
+    var debugUtil = require("util");
+    var debug4 = void 0;
+    if (debugUtil && debugUtil.debuglog) {
+      debug4 = debugUtil.debuglog("stream");
+    } else {
+      debug4 = function() {
+      };
+    }
+    var BufferList = require_BufferList();
+    var destroyImpl = require_destroy();
+    var StringDecoder;
+    util.inherits(Readable, Stream);
+    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
+    function prependListener(emitter, event, fn) {
+      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
+      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
+      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
+      else emitter._events[event] = [fn, emitter._events[event]];
+    }
+    function ReadableState(options, stream) {
+      Duplex = Duplex || require_stream_duplex();
+      options = options || {};
+      var isDuplex = stream instanceof Duplex;
+      this.objectMode = !!options.objectMode;
+      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
+      var hwm = options.highWaterMark;
+      var readableHwm = options.readableHighWaterMark;
+      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
+      if (hwm || hwm === 0) this.highWaterMark = hwm;
+      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
+      else this.highWaterMark = defaultHwm;
+      this.highWaterMark = Math.floor(this.highWaterMark);
+      this.buffer = new BufferList();
+      this.length = 0;
+      this.pipes = null;
+      this.pipesCount = 0;
+      this.flowing = null;
+      this.ended = false;
+      this.endEmitted = false;
+      this.reading = false;
+      this.sync = true;
+      this.needReadable = false;
+      this.emittedReadable = false;
+      this.readableListening = false;
+      this.resumeScheduled = false;
+      this.destroyed = false;
+      this.defaultEncoding = options.defaultEncoding || "utf8";
+      this.awaitDrain = 0;
+      this.readingMore = false;
+      this.decoder = null;
+      this.encoding = null;
+      if (options.encoding) {
+        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
+        this.decoder = new StringDecoder(options.encoding);
+        this.encoding = options.encoding;
       }
-      removeSourceEventHandlers() {
-        this.source.removeListener("data", this.sourceDataHandler);
-        this.source.removeListener("end", this.sourceErrorOrEndHandler);
-        this.source.removeListener("error", this.sourceErrorOrEndHandler);
-        this.source.removeListener("aborted", this.sourceAbortedHandler);
+    }
+    function Readable(options) {
+      Duplex = Duplex || require_stream_duplex();
+      if (!(this instanceof Readable)) return new Readable(options);
+      this._readableState = new ReadableState(options, this);
+      this.readable = true;
+      if (options) {
+        if (typeof options.read === "function") this._read = options.read;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
       }
-      sourceDataHandler = (data) => {
-        if (this.options.doInjectErrorOnce) {
-          this.options.doInjectErrorOnce = void 0;
-          this.source.pause();
-          this.sourceErrorOrEndHandler();
-          this.source.destroy();
-          return;
-        }
-        this.offset += data.length;
-        if (this.onProgress) {
-          this.onProgress({ loadedBytes: this.offset - this.start });
-        }
-        if (!this.push(data)) {
-          this.source.pause();
+      Stream.call(this);
+    }
+    Object.defineProperty(Readable.prototype, "destroyed", {
+      get: function() {
+        if (this._readableState === void 0) {
+          return false;
         }
-      };
-      sourceAbortedHandler = () => {
-        const abortError = new abort_controller_1.AbortError("The operation was aborted.");
-        this.destroy(abortError);
-      };
-      sourceErrorOrEndHandler = (err) => {
-        if (err && err.name === "AbortError") {
-          this.destroy(err);
+        return this._readableState.destroyed;
+      },
+      set: function(value) {
+        if (!this._readableState) {
           return;
         }
-        this.removeSourceEventHandlers();
-        if (this.offset - 1 === this.end) {
-          this.push(null);
-        } else if (this.offset <= this.end) {
-          if (this.retries < this.maxRetryRequests) {
-            this.retries += 1;
-            this.getter(this.offset).then((newSource) => {
-              this.source = newSource;
-              this.setSourceEventHandlers();
-              return;
-            }).catch((error3) => {
-              this.destroy(error3);
-            });
-          } else {
-            this.destroy(new Error(`Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset: ${this.offset - 1}, data needed offset: ${this.end}, retries: ${this.retries}, max retries: ${this.maxRetryRequests}`));
+        this._readableState.destroyed = value;
+      }
+    });
+    Readable.prototype.destroy = destroyImpl.destroy;
+    Readable.prototype._undestroy = destroyImpl.undestroy;
+    Readable.prototype._destroy = function(err, cb) {
+      this.push(null);
+      cb(err);
+    };
+    Readable.prototype.push = function(chunk, encoding) {
+      var state = this._readableState;
+      var skipChunkCheck;
+      if (!state.objectMode) {
+        if (typeof chunk === "string") {
+          encoding = encoding || state.defaultEncoding;
+          if (encoding !== state.encoding) {
+            chunk = Buffer2.from(chunk, encoding);
+            encoding = "";
           }
-        } else {
-          this.destroy(new Error(`Data corruption failure: Received more data than original request, data needed offset is ${this.end}, received offset: ${this.offset - 1}`));
+          skipChunkCheck = true;
         }
-      };
-      _destroy(error3, callback) {
-        this.removeSourceEventHandlers();
-        this.source.destroy();
-        callback(error3 === null ? void 0 : error3);
+      } else {
+        skipChunkCheck = true;
       }
+      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
     };
-    exports2.RetriableReadableStream = RetriableReadableStream;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js
-var require_BlobDownloadResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobDownloadResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobDownloadResponse = void 0;
-    var core_util_1 = require_commonjs6();
-    var RetriableReadableStream_js_1 = require_RetriableReadableStream();
-    var BlobDownloadResponse = class {
-      /**
-       * Indicates that the service supports
-       * requests for partial file content.
-       *
-       * @readonly
-       */
-      get acceptRanges() {
-        return this.originalResponse.acceptRanges;
+    Readable.prototype.unshift = function(chunk) {
+      return readableAddChunk(this, chunk, null, true, false);
+    };
+    function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
+      var state = stream._readableState;
+      if (chunk === null) {
+        state.reading = false;
+        onEofChunk(stream, state);
+      } else {
+        var er;
+        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
+        if (er) {
+          stream.emit("error", er);
+        } else if (state.objectMode || chunk && chunk.length > 0) {
+          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
+            chunk = _uint8ArrayToBuffer(chunk);
+          }
+          if (addToFront) {
+            if (state.endEmitted) stream.emit("error", new Error("stream.unshift() after end event"));
+            else addChunk(stream, state, chunk, true);
+          } else if (state.ended) {
+            stream.emit("error", new Error("stream.push() after EOF"));
+          } else {
+            state.reading = false;
+            if (state.decoder && !encoding) {
+              chunk = state.decoder.write(chunk);
+              if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
+              else maybeReadMore(stream, state);
+            } else {
+              addChunk(stream, state, chunk, false);
+            }
+          }
+        } else if (!addToFront) {
+          state.reading = false;
+        }
       }
-      /**
-       * Returns if it was previously specified
-       * for the file.
-       *
-       * @readonly
-       */
-      get cacheControl() {
-        return this.originalResponse.cacheControl;
+      return needMoreData(state);
+    }
+    function addChunk(stream, state, chunk, addToFront) {
+      if (state.flowing && state.length === 0 && !state.sync) {
+        stream.emit("data", chunk);
+        stream.read(0);
+      } else {
+        state.length += state.objectMode ? 1 : chunk.length;
+        if (addToFront) state.buffer.unshift(chunk);
+        else state.buffer.push(chunk);
+        if (state.needReadable) emitReadable(stream);
       }
-      /**
-       * Returns the value that was specified
-       * for the 'x-ms-content-disposition' header and specifies how to process the
-       * response.
-       *
-       * @readonly
-       */
-      get contentDisposition() {
-        return this.originalResponse.contentDisposition;
+      maybeReadMore(stream, state);
+    }
+    function chunkInvalid(state, chunk) {
+      var er;
+      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
+        er = new TypeError("Invalid non-string/buffer chunk");
       }
-      /**
-       * Returns the value that was specified
-       * for the Content-Encoding request header.
-       *
-       * @readonly
-       */
-      get contentEncoding() {
-        return this.originalResponse.contentEncoding;
+      return er;
+    }
+    function needMoreData(state) {
+      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
+    }
+    Readable.prototype.isPaused = function() {
+      return this._readableState.flowing === false;
+    };
+    Readable.prototype.setEncoding = function(enc) {
+      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
+      this._readableState.decoder = new StringDecoder(enc);
+      this._readableState.encoding = enc;
+      return this;
+    };
+    var MAX_HWM = 8388608;
+    function computeNewHighWaterMark(n) {
+      if (n >= MAX_HWM) {
+        n = MAX_HWM;
+      } else {
+        n--;
+        n |= n >>> 1;
+        n |= n >>> 2;
+        n |= n >>> 4;
+        n |= n >>> 8;
+        n |= n >>> 16;
+        n++;
       }
-      /**
-       * Returns the value that was specified
-       * for the Content-Language request header.
-       *
-       * @readonly
-       */
-      get contentLanguage() {
-        return this.originalResponse.contentLanguage;
+      return n;
+    }
+    function howMuchToRead(n, state) {
+      if (n <= 0 || state.length === 0 && state.ended) return 0;
+      if (state.objectMode) return 1;
+      if (n !== n) {
+        if (state.flowing && state.length) return state.buffer.head.data.length;
+        else return state.length;
       }
-      /**
-       * The current sequence number for a
-       * page blob. This header is not returned for block blobs or append blobs.
-       *
-       * @readonly
-       */
-      get blobSequenceNumber() {
-        return this.originalResponse.blobSequenceNumber;
+      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
+      if (n <= state.length) return n;
+      if (!state.ended) {
+        state.needReadable = true;
+        return 0;
       }
-      /**
-       * The blob's type. Possible values include:
-       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
-       *
-       * @readonly
-       */
-      get blobType() {
-        return this.originalResponse.blobType;
+      return state.length;
+    }
+    Readable.prototype.read = function(n) {
+      debug4("read", n);
+      n = parseInt(n, 10);
+      var state = this._readableState;
+      var nOrig = n;
+      if (n !== 0) state.emittedReadable = false;
+      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
+        debug4("read: emitReadable", state.length, state.ended);
+        if (state.length === 0 && state.ended) endReadable(this);
+        else emitReadable(this);
+        return null;
       }
-      /**
-       * The number of bytes present in the
-       * response body.
-       *
-       * @readonly
-       */
-      get contentLength() {
-        return this.originalResponse.contentLength;
+      n = howMuchToRead(n, state);
+      if (n === 0 && state.ended) {
+        if (state.length === 0) endReadable(this);
+        return null;
       }
-      /**
-       * If the file has an MD5 hash and the
-       * request is to read the full file, this response header is returned so that
-       * the client can check for message content integrity. If the request is to
-       * read a specified range and the 'x-ms-range-get-content-md5' is set to
-       * true, then the request returns an MD5 hash for the range, as long as the
-       * range size is less than or equal to 4 MB. If neither of these sets of
-       * conditions is true, then no value is returned for the 'Content-MD5'
-       * header.
-       *
-       * @readonly
-       */
-      get contentMD5() {
-        return this.originalResponse.contentMD5;
+      var doRead = state.needReadable;
+      debug4("need readable", doRead);
+      if (state.length === 0 || state.length - n < state.highWaterMark) {
+        doRead = true;
+        debug4("length less than watermark", doRead);
       }
-      /**
-       * Indicates the range of bytes returned if
-       * the client requested a subset of the file by setting the Range request
-       * header.
-       *
-       * @readonly
-       */
-      get contentRange() {
-        return this.originalResponse.contentRange;
+      if (state.ended || state.reading) {
+        doRead = false;
+        debug4("reading or ended", doRead);
+      } else if (doRead) {
+        debug4("do read");
+        state.reading = true;
+        state.sync = true;
+        if (state.length === 0) state.needReadable = true;
+        this._read(state.highWaterMark);
+        state.sync = false;
+        if (!state.reading) n = howMuchToRead(nOrig, state);
       }
-      /**
-       * The content type specified for the file.
-       * The default content type is 'application/octet-stream'
-       *
-       * @readonly
-       */
-      get contentType() {
-        return this.originalResponse.contentType;
+      var ret;
+      if (n > 0) ret = fromList(n, state);
+      else ret = null;
+      if (ret === null) {
+        state.needReadable = true;
+        n = 0;
+      } else {
+        state.length -= n;
       }
-      /**
-       * Conclusion time of the last attempted
-       * Copy File operation where this file was the destination file. This value
-       * can specify the time of a completed, aborted, or failed copy attempt.
-       *
-       * @readonly
-       */
-      get copyCompletedOn() {
-        return this.originalResponse.copyCompletedOn;
+      if (state.length === 0) {
+        if (!state.ended) state.needReadable = true;
+        if (nOrig !== n && state.ended) endReadable(this);
       }
-      /**
-       * String identifier for the last attempted Copy
-       * File operation where this file was the destination file.
-       *
-       * @readonly
-       */
-      get copyId() {
-        return this.originalResponse.copyId;
+      if (ret !== null) this.emit("data", ret);
+      return ret;
+    };
+    function onEofChunk(stream, state) {
+      if (state.ended) return;
+      if (state.decoder) {
+        var chunk = state.decoder.end();
+        if (chunk && chunk.length) {
+          state.buffer.push(chunk);
+          state.length += state.objectMode ? 1 : chunk.length;
+        }
       }
-      /**
-       * Contains the number of bytes copied and
-       * the total bytes in the source in the last attempted Copy File operation
-       * where this file was the destination file. Can show between 0 and
-       * Content-Length bytes copied.
-       *
-       * @readonly
-       */
-      get copyProgress() {
-        return this.originalResponse.copyProgress;
+      state.ended = true;
+      emitReadable(stream);
+    }
+    function emitReadable(stream) {
+      var state = stream._readableState;
+      state.needReadable = false;
+      if (!state.emittedReadable) {
+        debug4("emitReadable", state.flowing);
+        state.emittedReadable = true;
+        if (state.sync) pna.nextTick(emitReadable_, stream);
+        else emitReadable_(stream);
       }
-      /**
-       * URL up to 2KB in length that specifies the
-       * source file used in the last attempted Copy File operation where this file
-       * was the destination file.
-       *
-       * @readonly
-       */
-      get copySource() {
-        return this.originalResponse.copySource;
+    }
+    function emitReadable_(stream) {
+      debug4("emit readable");
+      stream.emit("readable");
+      flow(stream);
+    }
+    function maybeReadMore(stream, state) {
+      if (!state.readingMore) {
+        state.readingMore = true;
+        pna.nextTick(maybeReadMore_, stream, state);
       }
-      /**
-       * State of the copy operation
-       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
-       * 'success', 'aborted', 'failed'
-       *
-       * @readonly
-       */
-      get copyStatus() {
-        return this.originalResponse.copyStatus;
+    }
+    function maybeReadMore_(stream, state) {
+      var len = state.length;
+      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
+        debug4("maybeReadMore read 0");
+        stream.read(0);
+        if (len === state.length)
+          break;
+        else len = state.length;
+      }
+      state.readingMore = false;
+    }
+    Readable.prototype._read = function(n) {
+      this.emit("error", new Error("_read() is not implemented"));
+    };
+    Readable.prototype.pipe = function(dest, pipeOpts) {
+      var src = this;
+      var state = this._readableState;
+      switch (state.pipesCount) {
+        case 0:
+          state.pipes = dest;
+          break;
+        case 1:
+          state.pipes = [state.pipes, dest];
+          break;
+        default:
+          state.pipes.push(dest);
+          break;
       }
-      /**
-       * Only appears when
-       * x-ms-copy-status is failed or pending. Describes cause of fatal or
-       * non-fatal copy operation failure.
-       *
-       * @readonly
-       */
-      get copyStatusDescription() {
-        return this.originalResponse.copyStatusDescription;
+      state.pipesCount += 1;
+      debug4("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
+      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
+      var endFn = doEnd ? onend : unpipe;
+      if (state.endEmitted) pna.nextTick(endFn);
+      else src.once("end", endFn);
+      dest.on("unpipe", onunpipe);
+      function onunpipe(readable, unpipeInfo) {
+        debug4("onunpipe");
+        if (readable === src) {
+          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
+            unpipeInfo.hasUnpiped = true;
+            cleanup();
+          }
+        }
       }
-      /**
-       * When a blob is leased,
-       * specifies whether the lease is of infinite or fixed duration. Possible
-       * values include: 'infinite', 'fixed'.
-       *
-       * @readonly
-       */
-      get leaseDuration() {
-        return this.originalResponse.leaseDuration;
+      function onend() {
+        debug4("onend");
+        dest.end();
       }
-      /**
-       * Lease state of the blob. Possible
-       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
-       *
-       * @readonly
-       */
-      get leaseState() {
-        return this.originalResponse.leaseState;
+      var ondrain = pipeOnDrain(src);
+      dest.on("drain", ondrain);
+      var cleanedUp = false;
+      function cleanup() {
+        debug4("cleanup");
+        dest.removeListener("close", onclose);
+        dest.removeListener("finish", onfinish);
+        dest.removeListener("drain", ondrain);
+        dest.removeListener("error", onerror);
+        dest.removeListener("unpipe", onunpipe);
+        src.removeListener("end", onend);
+        src.removeListener("end", unpipe);
+        src.removeListener("data", ondata);
+        cleanedUp = true;
+        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
       }
-      /**
-       * The current lease status of the
-       * blob. Possible values include: 'locked', 'unlocked'.
-       *
-       * @readonly
-       */
-      get leaseStatus() {
-        return this.originalResponse.leaseStatus;
+      var increasedAwaitDrain = false;
+      src.on("data", ondata);
+      function ondata(chunk) {
+        debug4("ondata");
+        increasedAwaitDrain = false;
+        var ret = dest.write(chunk);
+        if (false === ret && !increasedAwaitDrain) {
+          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
+            debug4("false write response, pause", state.awaitDrain);
+            state.awaitDrain++;
+            increasedAwaitDrain = true;
+          }
+          src.pause();
+        }
       }
-      /**
-       * A UTC date/time value generated by the service that
-       * indicates the time at which the response was initiated.
-       *
-       * @readonly
-       */
-      get date() {
-        return this.originalResponse.date;
+      function onerror(er) {
+        debug4("onerror", er);
+        unpipe();
+        dest.removeListener("error", onerror);
+        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
       }
-      /**
-       * The number of committed blocks
-       * present in the blob. This header is returned only for append blobs.
-       *
-       * @readonly
-       */
-      get blobCommittedBlockCount() {
-        return this.originalResponse.blobCommittedBlockCount;
+      prependListener(dest, "error", onerror);
+      function onclose() {
+        dest.removeListener("finish", onfinish);
+        unpipe();
       }
-      /**
-       * The ETag contains a value that you can use to
-       * perform operations conditionally, in quotes.
-       *
-       * @readonly
-       */
-      get etag() {
-        return this.originalResponse.etag;
+      dest.once("close", onclose);
+      function onfinish() {
+        debug4("onfinish");
+        dest.removeListener("close", onclose);
+        unpipe();
       }
-      /**
-       * The number of tags associated with the blob
-       *
-       * @readonly
-       */
-      get tagCount() {
-        return this.originalResponse.tagCount;
+      dest.once("finish", onfinish);
+      function unpipe() {
+        debug4("unpipe");
+        src.unpipe(dest);
       }
-      /**
-       * The error code.
-       *
-       * @readonly
-       */
-      get errorCode() {
-        return this.originalResponse.errorCode;
+      dest.emit("pipe", src);
+      if (!state.flowing) {
+        debug4("pipe resume");
+        src.resume();
       }
-      /**
-       * The value of this header is set to
-       * true if the file data and application metadata are completely encrypted
-       * using the specified algorithm. Otherwise, the value is set to false (when
-       * the file is unencrypted, or if only parts of the file/application metadata
-       * are encrypted).
-       *
-       * @readonly
-       */
-      get isServerEncrypted() {
-        return this.originalResponse.isServerEncrypted;
+      return dest;
+    };
+    function pipeOnDrain(src) {
+      return function() {
+        var state = src._readableState;
+        debug4("pipeOnDrain", state.awaitDrain);
+        if (state.awaitDrain) state.awaitDrain--;
+        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
+          state.flowing = true;
+          flow(src);
+        }
+      };
+    }
+    Readable.prototype.unpipe = function(dest) {
+      var state = this._readableState;
+      var unpipeInfo = { hasUnpiped: false };
+      if (state.pipesCount === 0) return this;
+      if (state.pipesCount === 1) {
+        if (dest && dest !== state.pipes) return this;
+        if (!dest) dest = state.pipes;
+        state.pipes = null;
+        state.pipesCount = 0;
+        state.flowing = false;
+        if (dest) dest.emit("unpipe", this, unpipeInfo);
+        return this;
       }
-      /**
-       * If the blob has a MD5 hash, and if
-       * request contains range header (Range or x-ms-range), this response header
-       * is returned with the value of the whole blob's MD5 value. This value may
-       * or may not be equal to the value returned in Content-MD5 header, with the
-       * latter calculated from the requested range.
-       *
-       * @readonly
-       */
-      get blobContentMD5() {
-        return this.originalResponse.blobContentMD5;
+      if (!dest) {
+        var dests = state.pipes;
+        var len = state.pipesCount;
+        state.pipes = null;
+        state.pipesCount = 0;
+        state.flowing = false;
+        for (var i = 0; i < len; i++) {
+          dests[i].emit("unpipe", this, { hasUnpiped: false });
+        }
+        return this;
       }
-      /**
-       * Returns the date and time the file was last
-       * modified. Any operation that modifies the file or its properties updates
-       * the last modified time.
-       *
-       * @readonly
-       */
-      get lastModified() {
-        return this.originalResponse.lastModified;
+      var index = indexOf(state.pipes, dest);
+      if (index === -1) return this;
+      state.pipes.splice(index, 1);
+      state.pipesCount -= 1;
+      if (state.pipesCount === 1) state.pipes = state.pipes[0];
+      dest.emit("unpipe", this, unpipeInfo);
+      return this;
+    };
+    Readable.prototype.on = function(ev, fn) {
+      var res = Stream.prototype.on.call(this, ev, fn);
+      if (ev === "data") {
+        if (this._readableState.flowing !== false) this.resume();
+      } else if (ev === "readable") {
+        var state = this._readableState;
+        if (!state.endEmitted && !state.readableListening) {
+          state.readableListening = state.needReadable = true;
+          state.emittedReadable = false;
+          if (!state.reading) {
+            pna.nextTick(nReadingNextTick, this);
+          } else if (state.length) {
+            emitReadable(this);
+          }
+        }
       }
-      /**
-       * Returns the UTC date and time generated by the service that indicates the time at which the blob was
-       * last read or written to.
-       *
-       * @readonly
-       */
-      get lastAccessed() {
-        return this.originalResponse.lastAccessed;
+      return res;
+    };
+    Readable.prototype.addListener = Readable.prototype.on;
+    function nReadingNextTick(self2) {
+      debug4("readable nexttick read 0");
+      self2.read(0);
+    }
+    Readable.prototype.resume = function() {
+      var state = this._readableState;
+      if (!state.flowing) {
+        debug4("resume");
+        state.flowing = true;
+        resume(this, state);
       }
-      /**
-       * Returns the date and time the blob was created.
-       *
-       * @readonly
-       */
-      get createdOn() {
-        return this.originalResponse.createdOn;
+      return this;
+    };
+    function resume(stream, state) {
+      if (!state.resumeScheduled) {
+        state.resumeScheduled = true;
+        pna.nextTick(resume_, stream, state);
       }
-      /**
-       * A name-value pair
-       * to associate with a file storage object.
-       *
-       * @readonly
-       */
-      get metadata() {
-        return this.originalResponse.metadata;
+    }
+    function resume_(stream, state) {
+      if (!state.reading) {
+        debug4("resume read 0");
+        stream.read(0);
       }
-      /**
-       * This header uniquely identifies the request
-       * that was made and can be used for troubleshooting the request.
-       *
-       * @readonly
-       */
-      get requestId() {
-        return this.originalResponse.requestId;
+      state.resumeScheduled = false;
+      state.awaitDrain = 0;
+      stream.emit("resume");
+      flow(stream);
+      if (state.flowing && !state.reading) stream.read(0);
+    }
+    Readable.prototype.pause = function() {
+      debug4("call pause flowing=%j", this._readableState.flowing);
+      if (false !== this._readableState.flowing) {
+        debug4("pause");
+        this._readableState.flowing = false;
+        this.emit("pause");
       }
-      /**
-       * If a client request id header is sent in the request, this header will be present in the
-       * response with the same value.
-       *
-       * @readonly
-       */
-      get clientRequestId() {
-        return this.originalResponse.clientRequestId;
+      return this;
+    };
+    function flow(stream) {
+      var state = stream._readableState;
+      debug4("flow", state.flowing);
+      while (state.flowing && stream.read() !== null) {
       }
-      /**
-       * Indicates the version of the Blob service used
-       * to execute the request.
-       *
-       * @readonly
-       */
-      get version() {
-        return this.originalResponse.version;
+    }
+    Readable.prototype.wrap = function(stream) {
+      var _this = this;
+      var state = this._readableState;
+      var paused = false;
+      stream.on("end", function() {
+        debug4("wrapped end");
+        if (state.decoder && !state.ended) {
+          var chunk = state.decoder.end();
+          if (chunk && chunk.length) _this.push(chunk);
+        }
+        _this.push(null);
+      });
+      stream.on("data", function(chunk) {
+        debug4("wrapped data");
+        if (state.decoder) chunk = state.decoder.write(chunk);
+        if (state.objectMode && (chunk === null || chunk === void 0)) return;
+        else if (!state.objectMode && (!chunk || !chunk.length)) return;
+        var ret = _this.push(chunk);
+        if (!ret) {
+          paused = true;
+          stream.pause();
+        }
+      });
+      for (var i in stream) {
+        if (this[i] === void 0 && typeof stream[i] === "function") {
+          this[i] = /* @__PURE__ */ (function(method) {
+            return function() {
+              return stream[method].apply(stream, arguments);
+            };
+          })(i);
+        }
       }
-      /**
-       * Indicates the versionId of the downloaded blob version.
-       *
-       * @readonly
-       */
-      get versionId() {
-        return this.originalResponse.versionId;
+      for (var n = 0; n < kProxyEvents.length; n++) {
+        stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
       }
-      /**
-       * Indicates whether version of this blob is a current version.
-       *
-       * @readonly
-       */
-      get isCurrentVersion() {
-        return this.originalResponse.isCurrentVersion;
+      this._read = function(n2) {
+        debug4("wrapped _read", n2);
+        if (paused) {
+          paused = false;
+          stream.resume();
+        }
+      };
+      return this;
+    };
+    Object.defineProperty(Readable.prototype, "readableHighWaterMark", {
+      // making it explicit this property is not enumerable
+      // because otherwise some prototype manipulation in
+      // userland will fail
+      enumerable: false,
+      get: function() {
+        return this._readableState.highWaterMark;
       }
-      /**
-       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
-       * when the blob was encrypted with a customer-provided key.
-       *
-       * @readonly
-       */
-      get encryptionKeySha256() {
-        return this.originalResponse.encryptionKeySha256;
+    });
+    Readable._fromList = fromList;
+    function fromList(n, state) {
+      if (state.length === 0) return null;
+      var ret;
+      if (state.objectMode) ret = state.buffer.shift();
+      else if (!n || n >= state.length) {
+        if (state.decoder) ret = state.buffer.join("");
+        else if (state.buffer.length === 1) ret = state.buffer.head.data;
+        else ret = state.buffer.concat(state.length);
+        state.buffer.clear();
+      } else {
+        ret = fromListPartial(n, state.buffer, state.decoder);
       }
-      /**
-       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
-       * true, then the request returns a crc64 for the range, as long as the range size is less than
-       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
-       * specified in the same request, it will fail with 400(Bad Request)
-       */
-      get contentCrc64() {
-        return this.originalResponse.contentCrc64;
+      return ret;
+    }
+    function fromListPartial(n, list, hasStrings) {
+      var ret;
+      if (n < list.head.data.length) {
+        ret = list.head.data.slice(0, n);
+        list.head.data = list.head.data.slice(n);
+      } else if (n === list.head.data.length) {
+        ret = list.shift();
+      } else {
+        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
       }
-      /**
-       * Object Replication Policy Id of the destination blob.
-       *
-       * @readonly
-       */
-      get objectReplicationDestinationPolicyId() {
-        return this.originalResponse.objectReplicationDestinationPolicyId;
+      return ret;
+    }
+    function copyFromBufferString(n, list) {
+      var p = list.head;
+      var c = 1;
+      var ret = p.data;
+      n -= ret.length;
+      while (p = p.next) {
+        var str2 = p.data;
+        var nb = n > str2.length ? str2.length : n;
+        if (nb === str2.length) ret += str2;
+        else ret += str2.slice(0, n);
+        n -= nb;
+        if (n === 0) {
+          if (nb === str2.length) {
+            ++c;
+            if (p.next) list.head = p.next;
+            else list.head = list.tail = null;
+          } else {
+            list.head = p;
+            p.data = str2.slice(nb);
+          }
+          break;
+        }
+        ++c;
       }
-      /**
-       * Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob.
-       *
-       * @readonly
-       */
-      get objectReplicationSourceProperties() {
-        return this.originalResponse.objectReplicationSourceProperties;
+      list.length -= c;
+      return ret;
+    }
+    function copyFromBuffer(n, list) {
+      var ret = Buffer2.allocUnsafe(n);
+      var p = list.head;
+      var c = 1;
+      p.data.copy(ret);
+      n -= p.data.length;
+      while (p = p.next) {
+        var buf = p.data;
+        var nb = n > buf.length ? buf.length : n;
+        buf.copy(ret, ret.length - n, 0, nb);
+        n -= nb;
+        if (n === 0) {
+          if (nb === buf.length) {
+            ++c;
+            if (p.next) list.head = p.next;
+            else list.head = list.tail = null;
+          } else {
+            list.head = p;
+            p.data = buf.slice(nb);
+          }
+          break;
+        }
+        ++c;
       }
-      /**
-       * If this blob has been sealed.
-       *
-       * @readonly
-       */
-      get isSealed() {
-        return this.originalResponse.isSealed;
+      list.length -= c;
+      return ret;
+    }
+    function endReadable(stream) {
+      var state = stream._readableState;
+      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
+      if (!state.endEmitted) {
+        state.ended = true;
+        pna.nextTick(endReadableNT, state, stream);
       }
-      /**
-       * UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire.
-       *
-       * @readonly
-       */
-      get immutabilityPolicyExpiresOn() {
-        return this.originalResponse.immutabilityPolicyExpiresOn;
+    }
+    function endReadableNT(state, stream) {
+      if (!state.endEmitted && state.length === 0) {
+        state.endEmitted = true;
+        stream.readable = false;
+        stream.emit("end");
       }
-      /**
-       * Indicates immutability policy mode.
-       *
-       * @readonly
-       */
-      get immutabilityPolicyMode() {
-        return this.originalResponse.immutabilityPolicyMode;
+    }
+    function indexOf(xs, x) {
+      for (var i = 0, l = xs.length; i < l; i++) {
+        if (xs[i] === x) return i;
       }
-      /**
-       * Indicates if a legal hold is present on the blob.
-       *
-       * @readonly
-       */
-      get legalHold() {
-        return this.originalResponse.legalHold;
+      return -1;
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
+var require_stream_transform = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
+    "use strict";
+    module2.exports = Transform;
+    var Duplex = require_stream_duplex();
+    var util = Object.create(require_util19());
+    util.inherits = require_inherits();
+    util.inherits(Transform, Duplex);
+    function afterTransform(er, data) {
+      var ts = this._transformState;
+      ts.transforming = false;
+      var cb = ts.writecb;
+      if (!cb) {
+        return this.emit("error", new Error("write callback called multiple times"));
       }
-      /**
-       * The response body as a browser Blob.
-       * Always undefined in node.js.
-       *
-       * @readonly
-       */
-      get contentAsBlob() {
-        return this.originalResponse.blobBody;
+      ts.writechunk = null;
+      ts.writecb = null;
+      if (data != null)
+        this.push(data);
+      cb(er);
+      var rs = this._readableState;
+      rs.reading = false;
+      if (rs.needReadable || rs.length < rs.highWaterMark) {
+        this._read(rs.highWaterMark);
       }
-      /**
-       * The response body as a node.js Readable stream.
-       * Always undefined in the browser.
-       *
-       * It will automatically retry when internal read stream unexpected ends.
-       *
-       * @readonly
-       */
-      get readableStreamBody() {
-        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
+    }
+    function Transform(options) {
+      if (!(this instanceof Transform)) return new Transform(options);
+      Duplex.call(this, options);
+      this._transformState = {
+        afterTransform: afterTransform.bind(this),
+        needTransform: false,
+        transforming: false,
+        writecb: null,
+        writechunk: null,
+        writeencoding: null
+      };
+      this._readableState.needReadable = true;
+      this._readableState.sync = false;
+      if (options) {
+        if (typeof options.transform === "function") this._transform = options.transform;
+        if (typeof options.flush === "function") this._flush = options.flush;
       }
-      /**
-       * The HTTP response.
-       */
-      get _response() {
-        return this.originalResponse._response;
+      this.on("prefinish", prefinish);
+    }
+    function prefinish() {
+      var _this = this;
+      if (typeof this._flush === "function") {
+        this._flush(function(er, data) {
+          done(_this, er, data);
+        });
+      } else {
+        done(this, null, null);
       }
-      originalResponse;
-      blobDownloadStream;
-      /**
-       * Creates an instance of BlobDownloadResponse.
-       *
-       * @param originalResponse -
-       * @param getter -
-       * @param offset -
-       * @param count -
-       * @param options -
-       */
-      constructor(originalResponse, getter, offset, count, options = {}) {
-        this.originalResponse = originalResponse;
-        this.blobDownloadStream = new RetriableReadableStream_js_1.RetriableReadableStream(this.originalResponse.readableStreamBody, getter, offset, count, options);
+    }
+    Transform.prototype.push = function(chunk, encoding) {
+      this._transformState.needTransform = false;
+      return Duplex.prototype.push.call(this, chunk, encoding);
+    };
+    Transform.prototype._transform = function(chunk, encoding, cb) {
+      throw new Error("_transform() is not implemented");
+    };
+    Transform.prototype._write = function(chunk, encoding, cb) {
+      var ts = this._transformState;
+      ts.writecb = cb;
+      ts.writechunk = chunk;
+      ts.writeencoding = encoding;
+      if (!ts.transforming) {
+        var rs = this._readableState;
+        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
       }
     };
-    exports2.BlobDownloadResponse = BlobDownloadResponse;
+    Transform.prototype._read = function(n) {
+      var ts = this._transformState;
+      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
+        ts.transforming = true;
+        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
+      } else {
+        ts.needTransform = true;
+      }
+    };
+    Transform.prototype._destroy = function(err, cb) {
+      var _this2 = this;
+      Duplex.prototype._destroy.call(this, err, function(err2) {
+        cb(err2);
+        _this2.emit("close");
+      });
+    };
+    function done(stream, er, data) {
+      if (er) return stream.emit("error", er);
+      if (data != null)
+        stream.push(data);
+      if (stream._writableState.length) throw new Error("Calling transform done when ws.length != 0");
+      if (stream._transformState.transforming) throw new Error("Calling transform done when still transforming");
+      return stream.push(null);
+    }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js
-var require_AvroConstants = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroConstants.js"(exports2) {
+// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
+var require_stream_passthrough = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AVRO_SCHEMA_KEY = exports2.AVRO_CODEC_KEY = exports2.AVRO_INIT_BYTES = exports2.AVRO_SYNC_MARKER_SIZE = void 0;
-    exports2.AVRO_SYNC_MARKER_SIZE = 16;
-    exports2.AVRO_INIT_BYTES = new Uint8Array([79, 98, 106, 1]);
-    exports2.AVRO_CODEC_KEY = "avro.codec";
-    exports2.AVRO_SCHEMA_KEY = "avro.schema";
+    module2.exports = PassThrough;
+    var Transform = require_stream_transform();
+    var util = Object.create(require_util19());
+    util.inherits = require_inherits();
+    util.inherits(PassThrough, Transform);
+    function PassThrough(options) {
+      if (!(this instanceof PassThrough)) return new PassThrough(options);
+      Transform.call(this, options);
+    }
+    PassThrough.prototype._transform = function(chunk, encoding, cb) {
+      cb(null, chunk);
+    };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js
-var require_AvroParser = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroParser.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroType = exports2.AvroParser = void 0;
-    var AvroParser = class _AvroParser {
-      /**
-       * Reads a fixed number of bytes from the stream.
-       *
-       * @param stream -
-       * @param length -
-       * @param options -
-       */
-      static async readFixedBytes(stream, length, options = {}) {
-        const bytes = await stream.read(length, { abortSignal: options.abortSignal });
-        if (bytes.length !== length) {
-          throw new Error("Hit stream end.");
-        }
-        return bytes;
-      }
-      /**
-       * Reads a single byte from the stream.
-       *
-       * @param stream -
-       * @param options -
-       */
-      static async readByte(stream, options = {}) {
-        const buf = await _AvroParser.readFixedBytes(stream, 1, options);
-        return buf[0];
-      }
-      // int and long are stored in variable-length zig-zag coding.
-      // variable-length: https://lucene.apache.org/core/3_5_0/fileformats.html#VInt
-      // zig-zag: https://developers.google.com/protocol-buffers/docs/encoding?csw=1#types
-      static async readZigZagLong(stream, options = {}) {
-        let zigZagEncoded = 0;
-        let significanceInBit = 0;
-        let byte, haveMoreByte, significanceInFloat;
-        do {
-          byte = await _AvroParser.readByte(stream, options);
-          haveMoreByte = byte & 128;
-          zigZagEncoded |= (byte & 127) << significanceInBit;
-          significanceInBit += 7;
-        } while (haveMoreByte && significanceInBit < 28);
-        if (haveMoreByte) {
-          zigZagEncoded = zigZagEncoded;
-          significanceInFloat = 268435456;
-          do {
-            byte = await _AvroParser.readByte(stream, options);
-            zigZagEncoded += (byte & 127) * significanceInFloat;
-            significanceInFloat *= 128;
-          } while (byte & 128);
-          const res = (zigZagEncoded % 2 ? -(zigZagEncoded + 1) : zigZagEncoded) / 2;
-          if (res < Number.MIN_SAFE_INTEGER || res > Number.MAX_SAFE_INTEGER) {
-            throw new Error("Integer overflow.");
-          }
-          return res;
-        }
-        return zigZagEncoded >> 1 ^ -(zigZagEncoded & 1);
-      }
-      static async readLong(stream, options = {}) {
-        return _AvroParser.readZigZagLong(stream, options);
-      }
-      static async readInt(stream, options = {}) {
-        return _AvroParser.readZigZagLong(stream, options);
-      }
-      static async readNull() {
-        return null;
-      }
-      static async readBoolean(stream, options = {}) {
-        const b = await _AvroParser.readByte(stream, options);
-        if (b === 1) {
-          return true;
-        } else if (b === 0) {
-          return false;
-        } else {
-          throw new Error("Byte was not a boolean.");
-        }
-      }
-      static async readFloat(stream, options = {}) {
-        const u8arr = await _AvroParser.readFixedBytes(stream, 4, options);
-        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
-        return view.getFloat32(0, true);
-      }
-      static async readDouble(stream, options = {}) {
-        const u8arr = await _AvroParser.readFixedBytes(stream, 8, options);
-        const view = new DataView(u8arr.buffer, u8arr.byteOffset, u8arr.byteLength);
-        return view.getFloat64(0, true);
+// node_modules/lazystream/node_modules/readable-stream/readable.js
+var require_readable3 = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
+    var Stream = require("stream");
+    if (process.env.READABLE_STREAM === "disable" && Stream) {
+      module2.exports = Stream;
+      exports2 = module2.exports = Stream.Readable;
+      exports2.Readable = Stream.Readable;
+      exports2.Writable = Stream.Writable;
+      exports2.Duplex = Stream.Duplex;
+      exports2.Transform = Stream.Transform;
+      exports2.PassThrough = Stream.PassThrough;
+      exports2.Stream = Stream;
+    } else {
+      exports2 = module2.exports = require_stream_readable();
+      exports2.Stream = Stream || exports2;
+      exports2.Readable = exports2;
+      exports2.Writable = require_stream_writable();
+      exports2.Duplex = require_stream_duplex();
+      exports2.Transform = require_stream_transform();
+      exports2.PassThrough = require_stream_passthrough();
+    }
+  }
+});
+
+// node_modules/lazystream/node_modules/readable-stream/passthrough.js
+var require_passthrough = __commonJS({
+  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
+    module2.exports = require_readable3().PassThrough;
+  }
+});
+
+// node_modules/lazystream/lib/lazystream.js
+var require_lazystream = __commonJS({
+  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
+    var util = require("util");
+    var PassThrough = require_passthrough();
+    module2.exports = {
+      Readable,
+      Writable
+    };
+    util.inherits(Readable, PassThrough);
+    util.inherits(Writable, PassThrough);
+    function beforeFirstCall(instance, method, callback) {
+      instance[method] = function() {
+        delete instance[method];
+        callback.apply(this, arguments);
+        return this[method].apply(this, arguments);
+      };
+    }
+    function Readable(fn, options) {
+      if (!(this instanceof Readable))
+        return new Readable(fn, options);
+      PassThrough.call(this, options);
+      beforeFirstCall(this, "_read", function() {
+        var source = fn.call(this, options);
+        var emit = this.emit.bind(this, "error");
+        source.on("error", emit);
+        source.pipe(this);
+      });
+      this.emit("readable");
+    }
+    function Writable(fn, options) {
+      if (!(this instanceof Writable))
+        return new Writable(fn, options);
+      PassThrough.call(this, options);
+      beforeFirstCall(this, "_write", function() {
+        var destination = fn.call(this, options);
+        var emit = this.emit.bind(this, "error");
+        destination.on("error", emit);
+        this.pipe(destination);
+      });
+      this.emit("writable");
+    }
+  }
+});
+
+// node_modules/normalize-path/index.js
+var require_normalize_path = __commonJS({
+  "node_modules/normalize-path/index.js"(exports2, module2) {
+    module2.exports = function(path3, stripTrailing) {
+      if (typeof path3 !== "string") {
+        throw new TypeError("expected path to be a string");
       }
-      static async readBytes(stream, options = {}) {
-        const size = await _AvroParser.readLong(stream, options);
-        if (size < 0) {
-          throw new Error("Bytes size was negative.");
+      if (path3 === "\\" || path3 === "/") return "/";
+      var len = path3.length;
+      if (len <= 1) return path3;
+      var prefix = "";
+      if (len > 4 && path3[3] === "\\") {
+        var ch = path3[2];
+        if ((ch === "?" || ch === ".") && path3.slice(0, 2) === "\\\\") {
+          path3 = path3.slice(2);
+          prefix = "//";
         }
-        return stream.read(size, { abortSignal: options.abortSignal });
       }
-      static async readString(stream, options = {}) {
-        const u8arr = await _AvroParser.readBytes(stream, options);
-        const utf8decoder = new TextDecoder();
-        return utf8decoder.decode(u8arr);
+      var segs = path3.split(/[/\\]+/);
+      if (stripTrailing !== false && segs[segs.length - 1] === "") {
+        segs.pop();
       }
-      static async readMapPair(stream, readItemMethod, options = {}) {
-        const key = await _AvroParser.readString(stream, options);
-        const value = await readItemMethod(stream, options);
-        return { key, value };
+      return prefix + segs.join("/");
+    };
+  }
+});
+
+// node_modules/lodash/identity.js
+var require_identity = __commonJS({
+  "node_modules/lodash/identity.js"(exports2, module2) {
+    function identity(value) {
+      return value;
+    }
+    module2.exports = identity;
+  }
+});
+
+// node_modules/lodash/_apply.js
+var require_apply = __commonJS({
+  "node_modules/lodash/_apply.js"(exports2, module2) {
+    function apply(func, thisArg, args) {
+      switch (args.length) {
+        case 0:
+          return func.call(thisArg);
+        case 1:
+          return func.call(thisArg, args[0]);
+        case 2:
+          return func.call(thisArg, args[0], args[1]);
+        case 3:
+          return func.call(thisArg, args[0], args[1], args[2]);
       }
-      static async readMap(stream, readItemMethod, options = {}) {
-        const readPairMethod = (s, opts = {}) => {
-          return _AvroParser.readMapPair(s, readItemMethod, opts);
-        };
-        const pairs2 = await _AvroParser.readArray(stream, readPairMethod, options);
-        const dict = {};
-        for (const pair of pairs2) {
-          dict[pair.key] = pair.value;
+      return func.apply(thisArg, args);
+    }
+    module2.exports = apply;
+  }
+});
+
+// node_modules/lodash/_overRest.js
+var require_overRest = __commonJS({
+  "node_modules/lodash/_overRest.js"(exports2, module2) {
+    var apply = require_apply();
+    var nativeMax = Math.max;
+    function overRest(func, start, transform) {
+      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
+      return function() {
+        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
+        while (++index < length) {
+          array[index] = args[start + index];
         }
-        return dict;
-      }
-      static async readArray(stream, readItemMethod, options = {}) {
-        const items = [];
-        for (let count = await _AvroParser.readLong(stream, options); count !== 0; count = await _AvroParser.readLong(stream, options)) {
-          if (count < 0) {
-            await _AvroParser.readLong(stream, options);
-            count = -count;
-          }
-          while (count--) {
-            const item = await readItemMethod(stream, options);
-            items.push(item);
-          }
+        index = -1;
+        var otherArgs = Array(start + 1);
+        while (++index < start) {
+          otherArgs[index] = args[index];
         }
-        return items;
+        otherArgs[start] = transform(array);
+        return apply(func, this, otherArgs);
+      };
+    }
+    module2.exports = overRest;
+  }
+});
+
+// node_modules/lodash/constant.js
+var require_constant = __commonJS({
+  "node_modules/lodash/constant.js"(exports2, module2) {
+    function constant(value) {
+      return function() {
+        return value;
+      };
+    }
+    module2.exports = constant;
+  }
+});
+
+// node_modules/lodash/_freeGlobal.js
+var require_freeGlobal = __commonJS({
+  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
+    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
+    module2.exports = freeGlobal;
+  }
+});
+
+// node_modules/lodash/_root.js
+var require_root = __commonJS({
+  "node_modules/lodash/_root.js"(exports2, module2) {
+    var freeGlobal = require_freeGlobal();
+    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
+    var root = freeGlobal || freeSelf || Function("return this")();
+    module2.exports = root;
+  }
+});
+
+// node_modules/lodash/_Symbol.js
+var require_Symbol = __commonJS({
+  "node_modules/lodash/_Symbol.js"(exports2, module2) {
+    var root = require_root();
+    var Symbol2 = root.Symbol;
+    module2.exports = Symbol2;
+  }
+});
+
+// node_modules/lodash/_getRawTag.js
+var require_getRawTag = __commonJS({
+  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var nativeObjectToString = objectProto.toString;
+    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
+    function getRawTag(value) {
+      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
+      try {
+        value[symToStringTag] = void 0;
+        var unmasked = true;
+      } catch (e) {
       }
-    };
-    exports2.AvroParser = AvroParser;
-    var AvroComplex;
-    (function(AvroComplex2) {
-      AvroComplex2["RECORD"] = "record";
-      AvroComplex2["ENUM"] = "enum";
-      AvroComplex2["ARRAY"] = "array";
-      AvroComplex2["MAP"] = "map";
-      AvroComplex2["UNION"] = "union";
-      AvroComplex2["FIXED"] = "fixed";
-    })(AvroComplex || (AvroComplex = {}));
-    var AvroPrimitive;
-    (function(AvroPrimitive2) {
-      AvroPrimitive2["NULL"] = "null";
-      AvroPrimitive2["BOOLEAN"] = "boolean";
-      AvroPrimitive2["INT"] = "int";
-      AvroPrimitive2["LONG"] = "long";
-      AvroPrimitive2["FLOAT"] = "float";
-      AvroPrimitive2["DOUBLE"] = "double";
-      AvroPrimitive2["BYTES"] = "bytes";
-      AvroPrimitive2["STRING"] = "string";
-    })(AvroPrimitive || (AvroPrimitive = {}));
-    var AvroType = class _AvroType {
-      /**
-       * Determines the AvroType from the Avro Schema.
-       */
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      static fromSchema(schema2) {
-        if (typeof schema2 === "string") {
-          return _AvroType.fromStringSchema(schema2);
-        } else if (Array.isArray(schema2)) {
-          return _AvroType.fromArraySchema(schema2);
+      var result = nativeObjectToString.call(value);
+      if (unmasked) {
+        if (isOwn) {
+          value[symToStringTag] = tag;
         } else {
-          return _AvroType.fromObjectSchema(schema2);
+          delete value[symToStringTag];
         }
       }
-      static fromStringSchema(schema2) {
-        switch (schema2) {
-          case AvroPrimitive.NULL:
-          case AvroPrimitive.BOOLEAN:
-          case AvroPrimitive.INT:
-          case AvroPrimitive.LONG:
-          case AvroPrimitive.FLOAT:
-          case AvroPrimitive.DOUBLE:
-          case AvroPrimitive.BYTES:
-          case AvroPrimitive.STRING:
-            return new AvroPrimitiveType(schema2);
-          default:
-            throw new Error(`Unexpected Avro type ${schema2}`);
-        }
+      return result;
+    }
+    module2.exports = getRawTag;
+  }
+});
+
+// node_modules/lodash/_objectToString.js
+var require_objectToString = __commonJS({
+  "node_modules/lodash/_objectToString.js"(exports2, module2) {
+    var objectProto = Object.prototype;
+    var nativeObjectToString = objectProto.toString;
+    function objectToString(value) {
+      return nativeObjectToString.call(value);
+    }
+    module2.exports = objectToString;
+  }
+});
+
+// node_modules/lodash/_baseGetTag.js
+var require_baseGetTag = __commonJS({
+  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var getRawTag = require_getRawTag();
+    var objectToString = require_objectToString();
+    var nullTag = "[object Null]";
+    var undefinedTag = "[object Undefined]";
+    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
+    function baseGetTag(value) {
+      if (value == null) {
+        return value === void 0 ? undefinedTag : nullTag;
       }
-      static fromArraySchema(schema2) {
-        return new AvroUnionType(schema2.map(_AvroType.fromSchema));
+      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
+    }
+    module2.exports = baseGetTag;
+  }
+});
+
+// node_modules/lodash/isObject.js
+var require_isObject = __commonJS({
+  "node_modules/lodash/isObject.js"(exports2, module2) {
+    function isObject2(value) {
+      var type2 = typeof value;
+      return value != null && (type2 == "object" || type2 == "function");
+    }
+    module2.exports = isObject2;
+  }
+});
+
+// node_modules/lodash/isFunction.js
+var require_isFunction = __commonJS({
+  "node_modules/lodash/isFunction.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isObject2 = require_isObject();
+    var asyncTag = "[object AsyncFunction]";
+    var funcTag = "[object Function]";
+    var genTag = "[object GeneratorFunction]";
+    var proxyTag = "[object Proxy]";
+    function isFunction(value) {
+      if (!isObject2(value)) {
+        return false;
       }
-      static fromObjectSchema(schema2) {
-        const type2 = schema2.type;
+      var tag = baseGetTag(value);
+      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
+    }
+    module2.exports = isFunction;
+  }
+});
+
+// node_modules/lodash/_coreJsData.js
+var require_coreJsData = __commonJS({
+  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
+    var root = require_root();
+    var coreJsData = root["__core-js_shared__"];
+    module2.exports = coreJsData;
+  }
+});
+
+// node_modules/lodash/_isMasked.js
+var require_isMasked = __commonJS({
+  "node_modules/lodash/_isMasked.js"(exports2, module2) {
+    var coreJsData = require_coreJsData();
+    var maskSrcKey = (function() {
+      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
+      return uid ? "Symbol(src)_1." + uid : "";
+    })();
+    function isMasked(func) {
+      return !!maskSrcKey && maskSrcKey in func;
+    }
+    module2.exports = isMasked;
+  }
+});
+
+// node_modules/lodash/_toSource.js
+var require_toSource = __commonJS({
+  "node_modules/lodash/_toSource.js"(exports2, module2) {
+    var funcProto = Function.prototype;
+    var funcToString = funcProto.toString;
+    function toSource(func) {
+      if (func != null) {
         try {
-          return _AvroType.fromStringSchema(type2);
-        } catch {
-        }
-        switch (type2) {
-          case AvroComplex.RECORD:
-            if (schema2.aliases) {
-              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
-            }
-            if (!schema2.name) {
-              throw new Error(`Required attribute 'name' doesn't exist on schema: ${schema2}`);
-            }
-            const fields = {};
-            if (!schema2.fields) {
-              throw new Error(`Required attribute 'fields' doesn't exist on schema: ${schema2}`);
-            }
-            for (const field of schema2.fields) {
-              fields[field.name] = _AvroType.fromSchema(field.type);
-            }
-            return new AvroRecordType(fields, schema2.name);
-          case AvroComplex.ENUM:
-            if (schema2.aliases) {
-              throw new Error(`aliases currently is not supported, schema: ${schema2}`);
-            }
-            if (!schema2.symbols) {
-              throw new Error(`Required attribute 'symbols' doesn't exist on schema: ${schema2}`);
-            }
-            return new AvroEnumType(schema2.symbols);
-          case AvroComplex.MAP:
-            if (!schema2.values) {
-              throw new Error(`Required attribute 'values' doesn't exist on schema: ${schema2}`);
-            }
-            return new AvroMapType(_AvroType.fromSchema(schema2.values));
-          case AvroComplex.ARRAY:
-          // Unused today
-          case AvroComplex.FIXED:
-          // Unused today
-          default:
-            throw new Error(`Unexpected Avro type ${type2} in ${schema2}`);
+          return funcToString.call(func);
+        } catch (e) {
         }
-      }
-    };
-    exports2.AvroType = AvroType;
-    var AvroPrimitiveType = class extends AvroType {
-      _primitive;
-      constructor(primitive) {
-        super();
-        this._primitive = primitive;
-      }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      read(stream, options = {}) {
-        switch (this._primitive) {
-          case AvroPrimitive.NULL:
-            return AvroParser.readNull();
-          case AvroPrimitive.BOOLEAN:
-            return AvroParser.readBoolean(stream, options);
-          case AvroPrimitive.INT:
-            return AvroParser.readInt(stream, options);
-          case AvroPrimitive.LONG:
-            return AvroParser.readLong(stream, options);
-          case AvroPrimitive.FLOAT:
-            return AvroParser.readFloat(stream, options);
-          case AvroPrimitive.DOUBLE:
-            return AvroParser.readDouble(stream, options);
-          case AvroPrimitive.BYTES:
-            return AvroParser.readBytes(stream, options);
-          case AvroPrimitive.STRING:
-            return AvroParser.readString(stream, options);
-          default:
-            throw new Error("Unknown Avro Primitive");
+        try {
+          return func + "";
+        } catch (e) {
         }
       }
-    };
-    var AvroEnumType = class extends AvroType {
-      _symbols;
-      constructor(symbols) {
-        super();
-        this._symbols = symbols;
-      }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      async read(stream, options = {}) {
-        const value = await AvroParser.readInt(stream, options);
-        return this._symbols[value];
-      }
-    };
-    var AvroUnionType = class extends AvroType {
-      _types;
-      constructor(types) {
-        super();
-        this._types = types;
-      }
-      async read(stream, options = {}) {
-        const typeIndex = await AvroParser.readInt(stream, options);
-        return this._types[typeIndex].read(stream, options);
-      }
-    };
-    var AvroMapType = class extends AvroType {
-      _itemType;
-      constructor(itemType) {
-        super();
-        this._itemType = itemType;
+      return "";
+    }
+    module2.exports = toSource;
+  }
+});
+
+// node_modules/lodash/_baseIsNative.js
+var require_baseIsNative = __commonJS({
+  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
+    var isFunction = require_isFunction();
+    var isMasked = require_isMasked();
+    var isObject2 = require_isObject();
+    var toSource = require_toSource();
+    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
+    var reIsHostCtor = /^\[object .+?Constructor\]$/;
+    var funcProto = Function.prototype;
+    var objectProto = Object.prototype;
+    var funcToString = funcProto.toString;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var reIsNative = RegExp(
+      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
+    );
+    function baseIsNative(value) {
+      if (!isObject2(value) || isMasked(value)) {
+        return false;
       }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      read(stream, options = {}) {
-        const readItemMethod = (s, opts) => {
-          return this._itemType.read(s, opts);
-        };
-        return AvroParser.readMap(stream, readItemMethod, options);
+      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
+      return pattern.test(toSource(value));
+    }
+    module2.exports = baseIsNative;
+  }
+});
+
+// node_modules/lodash/_getValue.js
+var require_getValue = __commonJS({
+  "node_modules/lodash/_getValue.js"(exports2, module2) {
+    function getValue(object, key) {
+      return object == null ? void 0 : object[key];
+    }
+    module2.exports = getValue;
+  }
+});
+
+// node_modules/lodash/_getNative.js
+var require_getNative = __commonJS({
+  "node_modules/lodash/_getNative.js"(exports2, module2) {
+    var baseIsNative = require_baseIsNative();
+    var getValue = require_getValue();
+    function getNative(object, key) {
+      var value = getValue(object, key);
+      return baseIsNative(value) ? value : void 0;
+    }
+    module2.exports = getNative;
+  }
+});
+
+// node_modules/lodash/_defineProperty.js
+var require_defineProperty = __commonJS({
+  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var defineProperty = (function() {
+      try {
+        var func = getNative(Object, "defineProperty");
+        func({}, "", {});
+        return func;
+      } catch (e) {
       }
+    })();
+    module2.exports = defineProperty;
+  }
+});
+
+// node_modules/lodash/_baseSetToString.js
+var require_baseSetToString = __commonJS({
+  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
+    var constant = require_constant();
+    var defineProperty = require_defineProperty();
+    var identity = require_identity();
+    var baseSetToString = !defineProperty ? identity : function(func, string) {
+      return defineProperty(func, "toString", {
+        "configurable": true,
+        "enumerable": false,
+        "value": constant(string),
+        "writable": true
+      });
     };
-    var AvroRecordType = class extends AvroType {
-      _name;
-      _fields;
-      constructor(fields, name) {
-        super();
-        this._fields = fields;
-        this._name = name;
-      }
-      // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
-      async read(stream, options = {}) {
-        const record = {};
-        record["$schema"] = this._name;
-        for (const key in this._fields) {
-          if (Object.prototype.hasOwnProperty.call(this._fields, key)) {
-            record[key] = await this._fields[key].read(stream, options);
+    module2.exports = baseSetToString;
+  }
+});
+
+// node_modules/lodash/_shortOut.js
+var require_shortOut = __commonJS({
+  "node_modules/lodash/_shortOut.js"(exports2, module2) {
+    var HOT_COUNT = 800;
+    var HOT_SPAN = 16;
+    var nativeNow = Date.now;
+    function shortOut(func) {
+      var count = 0, lastCalled = 0;
+      return function() {
+        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
+        lastCalled = stamp;
+        if (remaining > 0) {
+          if (++count >= HOT_COUNT) {
+            return arguments[0];
           }
+        } else {
+          count = 0;
         }
-        return record;
+        return func.apply(void 0, arguments);
+      };
+    }
+    module2.exports = shortOut;
+  }
+});
+
+// node_modules/lodash/_setToString.js
+var require_setToString = __commonJS({
+  "node_modules/lodash/_setToString.js"(exports2, module2) {
+    var baseSetToString = require_baseSetToString();
+    var shortOut = require_shortOut();
+    var setToString = shortOut(baseSetToString);
+    module2.exports = setToString;
+  }
+});
+
+// node_modules/lodash/_baseRest.js
+var require_baseRest = __commonJS({
+  "node_modules/lodash/_baseRest.js"(exports2, module2) {
+    var identity = require_identity();
+    var overRest = require_overRest();
+    var setToString = require_setToString();
+    function baseRest(func, start) {
+      return setToString(overRest(func, start, identity), func + "");
+    }
+    module2.exports = baseRest;
+  }
+});
+
+// node_modules/lodash/eq.js
+var require_eq2 = __commonJS({
+  "node_modules/lodash/eq.js"(exports2, module2) {
+    function eq(value, other) {
+      return value === other || value !== value && other !== other;
+    }
+    module2.exports = eq;
+  }
+});
+
+// node_modules/lodash/isLength.js
+var require_isLength = __commonJS({
+  "node_modules/lodash/isLength.js"(exports2, module2) {
+    var MAX_SAFE_INTEGER = 9007199254740991;
+    function isLength(value) {
+      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+    }
+    module2.exports = isLength;
+  }
+});
+
+// node_modules/lodash/isArrayLike.js
+var require_isArrayLike = __commonJS({
+  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
+    var isFunction = require_isFunction();
+    var isLength = require_isLength();
+    function isArrayLike(value) {
+      return value != null && isLength(value.length) && !isFunction(value);
+    }
+    module2.exports = isArrayLike;
+  }
+});
+
+// node_modules/lodash/_isIndex.js
+var require_isIndex = __commonJS({
+  "node_modules/lodash/_isIndex.js"(exports2, module2) {
+    var MAX_SAFE_INTEGER = 9007199254740991;
+    var reIsUint = /^(?:0|[1-9]\d*)$/;
+    function isIndex(value, length) {
+      var type2 = typeof value;
+      length = length == null ? MAX_SAFE_INTEGER : length;
+      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
+    }
+    module2.exports = isIndex;
+  }
+});
+
+// node_modules/lodash/_isIterateeCall.js
+var require_isIterateeCall = __commonJS({
+  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
+    var eq = require_eq2();
+    var isArrayLike = require_isArrayLike();
+    var isIndex = require_isIndex();
+    var isObject2 = require_isObject();
+    function isIterateeCall(value, index, object) {
+      if (!isObject2(object)) {
+        return false;
+      }
+      var type2 = typeof index;
+      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
+        return eq(object[index], value);
+      }
+      return false;
+    }
+    module2.exports = isIterateeCall;
+  }
+});
+
+// node_modules/lodash/_baseTimes.js
+var require_baseTimes = __commonJS({
+  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
+    function baseTimes(n, iteratee) {
+      var index = -1, result = Array(n);
+      while (++index < n) {
+        result[index] = iteratee(index);
       }
+      return result;
+    }
+    module2.exports = baseTimes;
+  }
+});
+
+// node_modules/lodash/isObjectLike.js
+var require_isObjectLike = __commonJS({
+  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
+    function isObjectLike(value) {
+      return value != null && typeof value == "object";
+    }
+    module2.exports = isObjectLike;
+  }
+});
+
+// node_modules/lodash/_baseIsArguments.js
+var require_baseIsArguments = __commonJS({
+  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isObjectLike = require_isObjectLike();
+    var argsTag = "[object Arguments]";
+    function baseIsArguments(value) {
+      return isObjectLike(value) && baseGetTag(value) == argsTag;
+    }
+    module2.exports = baseIsArguments;
+  }
+});
+
+// node_modules/lodash/isArguments.js
+var require_isArguments = __commonJS({
+  "node_modules/lodash/isArguments.js"(exports2, module2) {
+    var baseIsArguments = require_baseIsArguments();
+    var isObjectLike = require_isObjectLike();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
+    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
+      return arguments;
+    })()) ? baseIsArguments : function(value) {
+      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
     };
+    module2.exports = isArguments;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js
-var require_utils_common3 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/utils/utils.common.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.arraysEqual = arraysEqual;
-    function arraysEqual(a, b) {
-      if (a === b)
-        return true;
-      if (a == null || b == null)
-        return false;
-      if (a.length !== b.length)
-        return false;
-      for (let i = 0; i < a.length; ++i) {
-        if (a[i] !== b[i])
-          return false;
-      }
-      return true;
+// node_modules/lodash/isArray.js
+var require_isArray = __commonJS({
+  "node_modules/lodash/isArray.js"(exports2, module2) {
+    var isArray = Array.isArray;
+    module2.exports = isArray;
+  }
+});
+
+// node_modules/lodash/stubFalse.js
+var require_stubFalse = __commonJS({
+  "node_modules/lodash/stubFalse.js"(exports2, module2) {
+    function stubFalse() {
+      return false;
     }
+    module2.exports = stubFalse;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js
-var require_AvroReader = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReader.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReader = void 0;
-    var AvroConstants_js_1 = require_AvroConstants();
-    var AvroParser_js_1 = require_AvroParser();
-    var utils_common_js_1 = require_utils_common3();
-    var AvroReader = class {
-      _dataStream;
-      _headerStream;
-      _syncMarker;
-      _metadata;
-      _itemType;
-      _itemsRemainingInBlock;
-      // Remembers where we started if partial data stream was provided.
-      _initialBlockOffset;
-      /// The byte offset within the Avro file (both header and data)
-      /// of the start of the current block.
-      _blockOffset;
-      get blockOffset() {
-        return this._blockOffset;
-      }
-      _objectIndex;
-      get objectIndex() {
-        return this._objectIndex;
-      }
-      _initialized;
-      constructor(dataStream, headerStream, currentBlockOffset, indexWithinCurrentBlock) {
-        this._dataStream = dataStream;
-        this._headerStream = headerStream || dataStream;
-        this._initialized = false;
-        this._blockOffset = currentBlockOffset || 0;
-        this._objectIndex = indexWithinCurrentBlock || 0;
-        this._initialBlockOffset = currentBlockOffset || 0;
-      }
-      async initialize(options = {}) {
-        const header = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_INIT_BYTES.length, {
-          abortSignal: options.abortSignal
-        });
-        if (!(0, utils_common_js_1.arraysEqual)(header, AvroConstants_js_1.AVRO_INIT_BYTES)) {
-          throw new Error("Stream is not an Avro file.");
-        }
-        this._metadata = await AvroParser_js_1.AvroParser.readMap(this._headerStream, AvroParser_js_1.AvroParser.readString, {
-          abortSignal: options.abortSignal
-        });
-        const codec = this._metadata[AvroConstants_js_1.AVRO_CODEC_KEY];
-        if (!(codec === void 0 || codec === null || codec === "null")) {
-          throw new Error("Codecs are not supported");
-        }
-        this._syncMarker = await AvroParser_js_1.AvroParser.readFixedBytes(this._headerStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
-          abortSignal: options.abortSignal
-        });
-        const schema2 = JSON.parse(this._metadata[AvroConstants_js_1.AVRO_SCHEMA_KEY]);
-        this._itemType = AvroParser_js_1.AvroType.fromSchema(schema2);
-        if (this._blockOffset === 0) {
-          this._blockOffset = this._initialBlockOffset + this._dataStream.position;
-        }
-        this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
-          abortSignal: options.abortSignal
-        });
-        await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
-        this._initialized = true;
-        if (this._objectIndex && this._objectIndex > 0) {
-          for (let i = 0; i < this._objectIndex; i++) {
-            await this._itemType.read(this._dataStream, { abortSignal: options.abortSignal });
-            this._itemsRemainingInBlock--;
-          }
-        }
-      }
-      hasNext() {
-        return !this._initialized || this._itemsRemainingInBlock > 0;
-      }
-      async *parseObjects(options = {}) {
-        if (!this._initialized) {
-          await this.initialize(options);
-        }
-        while (this.hasNext()) {
-          const result = await this._itemType.read(this._dataStream, {
-            abortSignal: options.abortSignal
-          });
-          this._itemsRemainingInBlock--;
-          this._objectIndex++;
-          if (this._itemsRemainingInBlock === 0) {
-            const marker = await AvroParser_js_1.AvroParser.readFixedBytes(this._dataStream, AvroConstants_js_1.AVRO_SYNC_MARKER_SIZE, {
-              abortSignal: options.abortSignal
-            });
-            this._blockOffset = this._initialBlockOffset + this._dataStream.position;
-            this._objectIndex = 0;
-            if (!(0, utils_common_js_1.arraysEqual)(this._syncMarker, marker)) {
-              throw new Error("Stream is not a valid Avro file.");
-            }
-            try {
-              this._itemsRemainingInBlock = await AvroParser_js_1.AvroParser.readLong(this._dataStream, {
-                abortSignal: options.abortSignal
-              });
-            } catch {
-              this._itemsRemainingInBlock = 0;
-            }
-            if (this._itemsRemainingInBlock > 0) {
-              await AvroParser_js_1.AvroParser.readLong(this._dataStream, { abortSignal: options.abortSignal });
-            }
-          }
-          yield result;
-        }
-      }
-    };
-    exports2.AvroReader = AvroReader;
+// node_modules/lodash/isBuffer.js
+var require_isBuffer = __commonJS({
+  "node_modules/lodash/isBuffer.js"(exports2, module2) {
+    var root = require_root();
+    var stubFalse = require_stubFalse();
+    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
+    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
+    var moduleExports = freeModule && freeModule.exports === freeExports;
+    var Buffer2 = moduleExports ? root.Buffer : void 0;
+    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
+    var isBuffer = nativeIsBuffer || stubFalse;
+    module2.exports = isBuffer;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js
-var require_AvroReadable = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadable.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadable = void 0;
-    var AvroReadable = class {
-    };
-    exports2.AvroReadable = AvroReadable;
+// node_modules/lodash/_baseIsTypedArray.js
+var require_baseIsTypedArray = __commonJS({
+  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var isLength = require_isLength();
+    var isObjectLike = require_isObjectLike();
+    var argsTag = "[object Arguments]";
+    var arrayTag = "[object Array]";
+    var boolTag = "[object Boolean]";
+    var dateTag = "[object Date]";
+    var errorTag = "[object Error]";
+    var funcTag = "[object Function]";
+    var mapTag = "[object Map]";
+    var numberTag = "[object Number]";
+    var objectTag = "[object Object]";
+    var regexpTag = "[object RegExp]";
+    var setTag = "[object Set]";
+    var stringTag = "[object String]";
+    var weakMapTag = "[object WeakMap]";
+    var arrayBufferTag = "[object ArrayBuffer]";
+    var dataViewTag = "[object DataView]";
+    var float32Tag = "[object Float32Array]";
+    var float64Tag = "[object Float64Array]";
+    var int8Tag = "[object Int8Array]";
+    var int16Tag = "[object Int16Array]";
+    var int32Tag = "[object Int32Array]";
+    var uint8Tag = "[object Uint8Array]";
+    var uint8ClampedTag = "[object Uint8ClampedArray]";
+    var uint16Tag = "[object Uint16Array]";
+    var uint32Tag = "[object Uint32Array]";
+    var typedArrayTags = {};
+    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
+    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
+    function baseIsTypedArray(value) {
+      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
+    }
+    module2.exports = baseIsTypedArray;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js
-var require_AvroReadableFromStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/AvroReadableFromStream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadableFromStream = void 0;
-    var AvroReadable_js_1 = require_AvroReadable();
-    var abort_controller_1 = require_commonjs13();
-    var buffer_1 = require("buffer");
-    var ABORT_ERROR = new abort_controller_1.AbortError("Reading from the avro stream was aborted.");
-    var AvroReadableFromStream = class extends AvroReadable_js_1.AvroReadable {
-      _position;
-      _readable;
-      toUint8Array(data) {
-        if (typeof data === "string") {
-          return buffer_1.Buffer.from(data);
+// node_modules/lodash/_baseUnary.js
+var require_baseUnary = __commonJS({
+  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
+    function baseUnary(func) {
+      return function(value) {
+        return func(value);
+      };
+    }
+    module2.exports = baseUnary;
+  }
+});
+
+// node_modules/lodash/_nodeUtil.js
+var require_nodeUtil = __commonJS({
+  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
+    var freeGlobal = require_freeGlobal();
+    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
+    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
+    var moduleExports = freeModule && freeModule.exports === freeExports;
+    var freeProcess = moduleExports && freeGlobal.process;
+    var nodeUtil = (function() {
+      try {
+        var types = freeModule && freeModule.require && freeModule.require("util").types;
+        if (types) {
+          return types;
         }
-        return data;
-      }
-      constructor(readable) {
-        super();
-        this._readable = readable;
-        this._position = 0;
-      }
-      get position() {
-        return this._position;
+        return freeProcess && freeProcess.binding && freeProcess.binding("util");
+      } catch (e) {
       }
-      async read(size, options = {}) {
-        if (options.abortSignal?.aborted) {
-          throw ABORT_ERROR;
-        }
-        if (size < 0) {
-          throw new Error(`size parameter should be positive: ${size}`);
-        }
-        if (size === 0) {
-          return new Uint8Array();
-        }
-        if (!this._readable.readable) {
-          throw new Error("Stream no longer readable.");
-        }
-        const chunk = this._readable.read(size);
-        if (chunk) {
-          this._position += chunk.length;
-          return this.toUint8Array(chunk);
-        } else {
-          return new Promise((resolve2, reject) => {
-            const cleanUp = () => {
-              this._readable.removeListener("readable", readableCallback);
-              this._readable.removeListener("error", rejectCallback);
-              this._readable.removeListener("end", rejectCallback);
-              this._readable.removeListener("close", rejectCallback);
-              if (options.abortSignal) {
-                options.abortSignal.removeEventListener("abort", abortHandler);
-              }
-            };
-            const readableCallback = () => {
-              const callbackChunk = this._readable.read(size);
-              if (callbackChunk) {
-                this._position += callbackChunk.length;
-                cleanUp();
-                resolve2(this.toUint8Array(callbackChunk));
-              }
-            };
-            const rejectCallback = () => {
-              cleanUp();
-              reject();
-            };
-            const abortHandler = () => {
-              cleanUp();
-              reject(ABORT_ERROR);
-            };
-            this._readable.on("readable", readableCallback);
-            this._readable.once("error", rejectCallback);
-            this._readable.once("end", rejectCallback);
-            this._readable.once("close", rejectCallback);
-            if (options.abortSignal) {
-              options.abortSignal.addEventListener("abort", abortHandler);
-            }
-          });
+    })();
+    module2.exports = nodeUtil;
+  }
+});
+
+// node_modules/lodash/isTypedArray.js
+var require_isTypedArray = __commonJS({
+  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
+    var baseIsTypedArray = require_baseIsTypedArray();
+    var baseUnary = require_baseUnary();
+    var nodeUtil = require_nodeUtil();
+    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
+    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
+    module2.exports = isTypedArray;
+  }
+});
+
+// node_modules/lodash/_arrayLikeKeys.js
+var require_arrayLikeKeys = __commonJS({
+  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
+    var baseTimes = require_baseTimes();
+    var isArguments = require_isArguments();
+    var isArray = require_isArray();
+    var isBuffer = require_isBuffer();
+    var isIndex = require_isIndex();
+    var isTypedArray = require_isTypedArray();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function arrayLikeKeys(value, inherited) {
+      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
+      for (var key in value) {
+        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
+        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
+        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
+        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
+        isIndex(key, length)))) {
+          result.push(key);
         }
       }
-    };
-    exports2.AvroReadableFromStream = AvroReadableFromStream;
+      return result;
+    }
+    module2.exports = arrayLikeKeys;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js
-var require_internal_avro = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/internal-avro/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AvroReadableFromStream = exports2.AvroReadable = exports2.AvroReader = void 0;
-    var AvroReader_js_1 = require_AvroReader();
-    Object.defineProperty(exports2, "AvroReader", { enumerable: true, get: function() {
-      return AvroReader_js_1.AvroReader;
-    } });
-    var AvroReadable_js_1 = require_AvroReadable();
-    Object.defineProperty(exports2, "AvroReadable", { enumerable: true, get: function() {
-      return AvroReadable_js_1.AvroReadable;
-    } });
-    var AvroReadableFromStream_js_1 = require_AvroReadableFromStream();
-    Object.defineProperty(exports2, "AvroReadableFromStream", { enumerable: true, get: function() {
-      return AvroReadableFromStream_js_1.AvroReadableFromStream;
-    } });
+// node_modules/lodash/_isPrototype.js
+var require_isPrototype = __commonJS({
+  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
+    var objectProto = Object.prototype;
+    function isPrototype(value) {
+      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
+      return value === proto;
+    }
+    module2.exports = isPrototype;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js
-var require_BlobQuickQueryStream = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/BlobQuickQueryStream.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobQuickQueryStream = void 0;
-    var node_stream_1 = require("node:stream");
-    var index_js_1 = require_internal_avro();
-    var BlobQuickQueryStream = class extends node_stream_1.Readable {
-      source;
-      avroReader;
-      avroIter;
-      avroPaused = true;
-      onProgress;
-      onError;
-      /**
-       * Creates an instance of BlobQuickQueryStream.
-       *
-       * @param source - The current ReadableStream returned from getter
-       * @param options -
-       */
-      constructor(source, options = {}) {
-        super();
-        this.source = source;
-        this.onProgress = options.onProgress;
-        this.onError = options.onError;
-        this.avroReader = new index_js_1.AvroReader(new index_js_1.AvroReadableFromStream(this.source));
-        this.avroIter = this.avroReader.parseObjects({ abortSignal: options.abortSignal });
-      }
-      _read() {
-        if (this.avroPaused) {
-          this.readInternal().catch((err) => {
-            this.emit("error", err);
-          });
+// node_modules/lodash/_nativeKeysIn.js
+var require_nativeKeysIn = __commonJS({
+  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
+    function nativeKeysIn(object) {
+      var result = [];
+      if (object != null) {
+        for (var key in Object(object)) {
+          result.push(key);
         }
       }
-      async readInternal() {
-        this.avroPaused = false;
-        let avroNext;
-        do {
-          avroNext = await this.avroIter.next();
-          if (avroNext.done) {
-            break;
-          }
-          const obj = avroNext.value;
-          const schema2 = obj.$schema;
-          if (typeof schema2 !== "string") {
-            throw Error("Missing schema in avro record.");
-          }
-          switch (schema2) {
-            case "com.microsoft.azure.storage.queryBlobContents.resultData":
-              {
-                const data = obj.data;
-                if (data instanceof Uint8Array === false) {
-                  throw Error("Invalid data in avro result record.");
-                }
-                if (!this.push(Buffer.from(data))) {
-                  this.avroPaused = true;
-                }
-              }
-              break;
-            case "com.microsoft.azure.storage.queryBlobContents.progress":
-              {
-                const bytesScanned = obj.bytesScanned;
-                if (typeof bytesScanned !== "number") {
-                  throw Error("Invalid bytesScanned in avro progress record.");
-                }
-                if (this.onProgress) {
-                  this.onProgress({ loadedBytes: bytesScanned });
-                }
-              }
-              break;
-            case "com.microsoft.azure.storage.queryBlobContents.end":
-              if (this.onProgress) {
-                const totalBytes = obj.totalBytes;
-                if (typeof totalBytes !== "number") {
-                  throw Error("Invalid totalBytes in avro end record.");
-                }
-                this.onProgress({ loadedBytes: totalBytes });
-              }
-              this.push(null);
-              break;
-            case "com.microsoft.azure.storage.queryBlobContents.error":
-              if (this.onError) {
-                const fatal = obj.fatal;
-                if (typeof fatal !== "boolean") {
-                  throw Error("Invalid fatal in avro error record.");
-                }
-                const name = obj.name;
-                if (typeof name !== "string") {
-                  throw Error("Invalid name in avro error record.");
-                }
-                const description = obj.description;
-                if (typeof description !== "string") {
-                  throw Error("Invalid description in avro error record.");
-                }
-                const position = obj.position;
-                if (typeof position !== "number") {
-                  throw Error("Invalid position in avro error record.");
-                }
-                this.onError({
-                  position,
-                  name,
-                  isFatal: fatal,
-                  description
-                });
-              }
-              break;
-            default:
-              throw Error(`Unknown schema ${schema2} in avro progress record.`);
-          }
-        } while (!avroNext.done && !this.avroPaused);
-      }
-    };
-    exports2.BlobQuickQueryStream = BlobQuickQueryStream;
+      return result;
+    }
+    module2.exports = nativeKeysIn;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js
-var require_BlobQueryResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobQueryResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobQueryResponse = void 0;
-    var core_util_1 = require_commonjs6();
-    var BlobQuickQueryStream_js_1 = require_BlobQuickQueryStream();
-    var BlobQueryResponse = class {
-      /**
-       * Indicates that the service supports
-       * requests for partial file content.
-       *
-       * @readonly
-       */
-      get acceptRanges() {
-        return this.originalResponse.acceptRanges;
-      }
-      /**
-       * Returns if it was previously specified
-       * for the file.
-       *
-       * @readonly
-       */
-      get cacheControl() {
-        return this.originalResponse.cacheControl;
-      }
-      /**
-       * Returns the value that was specified
-       * for the 'x-ms-content-disposition' header and specifies how to process the
-       * response.
-       *
-       * @readonly
-       */
-      get contentDisposition() {
-        return this.originalResponse.contentDisposition;
-      }
-      /**
-       * Returns the value that was specified
-       * for the Content-Encoding request header.
-       *
-       * @readonly
-       */
-      get contentEncoding() {
-        return this.originalResponse.contentEncoding;
-      }
-      /**
-       * Returns the value that was specified
-       * for the Content-Language request header.
-       *
-       * @readonly
-       */
-      get contentLanguage() {
-        return this.originalResponse.contentLanguage;
-      }
-      /**
-       * The current sequence number for a
-       * page blob. This header is not returned for block blobs or append blobs.
-       *
-       * @readonly
-       */
-      get blobSequenceNumber() {
-        return this.originalResponse.blobSequenceNumber;
-      }
-      /**
-       * The blob's type. Possible values include:
-       * 'BlockBlob', 'PageBlob', 'AppendBlob'.
-       *
-       * @readonly
-       */
-      get blobType() {
-        return this.originalResponse.blobType;
-      }
-      /**
-       * The number of bytes present in the
-       * response body.
-       *
-       * @readonly
-       */
-      get contentLength() {
-        return this.originalResponse.contentLength;
-      }
-      /**
-       * If the file has an MD5 hash and the
-       * request is to read the full file, this response header is returned so that
-       * the client can check for message content integrity. If the request is to
-       * read a specified range and the 'x-ms-range-get-content-md5' is set to
-       * true, then the request returns an MD5 hash for the range, as long as the
-       * range size is less than or equal to 4 MB. If neither of these sets of
-       * conditions is true, then no value is returned for the 'Content-MD5'
-       * header.
-       *
-       * @readonly
-       */
-      get contentMD5() {
-        return this.originalResponse.contentMD5;
+// node_modules/lodash/_baseKeysIn.js
+var require_baseKeysIn = __commonJS({
+  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
+    var isObject2 = require_isObject();
+    var isPrototype = require_isPrototype();
+    var nativeKeysIn = require_nativeKeysIn();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function baseKeysIn(object) {
+      if (!isObject2(object)) {
+        return nativeKeysIn(object);
       }
-      /**
-       * Indicates the range of bytes returned if
-       * the client requested a subset of the file by setting the Range request
-       * header.
-       *
-       * @readonly
-       */
-      get contentRange() {
-        return this.originalResponse.contentRange;
+      var isProto = isPrototype(object), result = [];
+      for (var key in object) {
+        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
+          result.push(key);
+        }
       }
-      /**
-       * The content type specified for the file.
-       * The default content type is 'application/octet-stream'
-       *
-       * @readonly
-       */
-      get contentType() {
-        return this.originalResponse.contentType;
+      return result;
+    }
+    module2.exports = baseKeysIn;
+  }
+});
+
+// node_modules/lodash/keysIn.js
+var require_keysIn = __commonJS({
+  "node_modules/lodash/keysIn.js"(exports2, module2) {
+    var arrayLikeKeys = require_arrayLikeKeys();
+    var baseKeysIn = require_baseKeysIn();
+    var isArrayLike = require_isArrayLike();
+    function keysIn(object) {
+      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
+    }
+    module2.exports = keysIn;
+  }
+});
+
+// node_modules/lodash/defaults.js
+var require_defaults = __commonJS({
+  "node_modules/lodash/defaults.js"(exports2, module2) {
+    var baseRest = require_baseRest();
+    var eq = require_eq2();
+    var isIterateeCall = require_isIterateeCall();
+    var keysIn = require_keysIn();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var defaults = baseRest(function(object, sources) {
+      object = Object(object);
+      var index = -1;
+      var length = sources.length;
+      var guard = length > 2 ? sources[2] : void 0;
+      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
+        length = 1;
       }
-      /**
-       * Conclusion time of the last attempted
-       * Copy File operation where this file was the destination file. This value
-       * can specify the time of a completed, aborted, or failed copy attempt.
-       *
-       * @readonly
-       */
-      get copyCompletedOn() {
-        return void 0;
+      while (++index < length) {
+        var source = sources[index];
+        var props = keysIn(source);
+        var propsIndex = -1;
+        var propsLength = props.length;
+        while (++propsIndex < propsLength) {
+          var key = props[propsIndex];
+          var value = object[key];
+          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
+            object[key] = source[key];
+          }
+        }
       }
-      /**
-       * String identifier for the last attempted Copy
-       * File operation where this file was the destination file.
-       *
-       * @readonly
-       */
-      get copyId() {
-        return this.originalResponse.copyId;
+      return object;
+    });
+    module2.exports = defaults;
+  }
+});
+
+// node_modules/readable-stream/lib/ours/primordials.js
+var require_primordials = __commonJS({
+  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      ArrayIsArray(self2) {
+        return Array.isArray(self2);
+      },
+      ArrayPrototypeIncludes(self2, el) {
+        return self2.includes(el);
+      },
+      ArrayPrototypeIndexOf(self2, el) {
+        return self2.indexOf(el);
+      },
+      ArrayPrototypeJoin(self2, sep2) {
+        return self2.join(sep2);
+      },
+      ArrayPrototypeMap(self2, fn) {
+        return self2.map(fn);
+      },
+      ArrayPrototypePop(self2, el) {
+        return self2.pop(el);
+      },
+      ArrayPrototypePush(self2, el) {
+        return self2.push(el);
+      },
+      ArrayPrototypeSlice(self2, start, end) {
+        return self2.slice(start, end);
+      },
+      Error,
+      FunctionPrototypeCall(fn, thisArgs, ...args) {
+        return fn.call(thisArgs, ...args);
+      },
+      FunctionPrototypeSymbolHasInstance(self2, instance) {
+        return Function.prototype[Symbol.hasInstance].call(self2, instance);
+      },
+      MathFloor: Math.floor,
+      Number,
+      NumberIsInteger: Number.isInteger,
+      NumberIsNaN: Number.isNaN,
+      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
+      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
+      NumberParseInt: Number.parseInt,
+      ObjectDefineProperties(self2, props) {
+        return Object.defineProperties(self2, props);
+      },
+      ObjectDefineProperty(self2, name, prop) {
+        return Object.defineProperty(self2, name, prop);
+      },
+      ObjectGetOwnPropertyDescriptor(self2, name) {
+        return Object.getOwnPropertyDescriptor(self2, name);
+      },
+      ObjectKeys(obj) {
+        return Object.keys(obj);
+      },
+      ObjectSetPrototypeOf(target, proto) {
+        return Object.setPrototypeOf(target, proto);
+      },
+      Promise,
+      PromisePrototypeCatch(self2, fn) {
+        return self2.catch(fn);
+      },
+      PromisePrototypeThen(self2, thenFn, catchFn) {
+        return self2.then(thenFn, catchFn);
+      },
+      PromiseReject(err) {
+        return Promise.reject(err);
+      },
+      PromiseResolve(val) {
+        return Promise.resolve(val);
+      },
+      ReflectApply: Reflect.apply,
+      RegExpPrototypeTest(self2, value) {
+        return self2.test(value);
+      },
+      SafeSet: Set,
+      String,
+      StringPrototypeSlice(self2, start, end) {
+        return self2.slice(start, end);
+      },
+      StringPrototypeToLowerCase(self2) {
+        return self2.toLowerCase();
+      },
+      StringPrototypeToUpperCase(self2) {
+        return self2.toUpperCase();
+      },
+      StringPrototypeTrim(self2) {
+        return self2.trim();
+      },
+      Symbol,
+      SymbolFor: Symbol.for,
+      SymbolAsyncIterator: Symbol.asyncIterator,
+      SymbolHasInstance: Symbol.hasInstance,
+      SymbolIterator: Symbol.iterator,
+      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
+      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
+      TypedArrayPrototypeSet(self2, buf, len) {
+        return self2.set(buf, len);
+      },
+      Boolean,
+      Uint8Array
+    };
+  }
+});
+
+// node_modules/event-target-shim/dist/event-target-shim.js
+var require_event_target_shim = __commonJS({
+  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    var privateData = /* @__PURE__ */ new WeakMap();
+    var wrappers = /* @__PURE__ */ new WeakMap();
+    function pd(event) {
+      const retv = privateData.get(event);
+      console.assert(
+        retv != null,
+        "'this' is expected an Event object, but got",
+        event
+      );
+      return retv;
+    }
+    function setCancelFlag(data) {
+      if (data.passiveListener != null) {
+        if (typeof console !== "undefined" && typeof console.error === "function") {
+          console.error(
+            "Unable to preventDefault inside passive event listener invocation.",
+            data.passiveListener
+          );
+        }
+        return;
       }
-      /**
-       * Contains the number of bytes copied and
-       * the total bytes in the source in the last attempted Copy File operation
-       * where this file was the destination file. Can show between 0 and
-       * Content-Length bytes copied.
-       *
-       * @readonly
-       */
-      get copyProgress() {
-        return this.originalResponse.copyProgress;
+      if (!data.event.cancelable) {
+        return;
       }
-      /**
-       * URL up to 2KB in length that specifies the
-       * source file used in the last attempted Copy File operation where this file
-       * was the destination file.
-       *
-       * @readonly
-       */
-      get copySource() {
-        return this.originalResponse.copySource;
+      data.canceled = true;
+      if (typeof data.event.preventDefault === "function") {
+        data.event.preventDefault();
       }
-      /**
-       * State of the copy operation
-       * identified by 'x-ms-copy-id'. Possible values include: 'pending',
-       * 'success', 'aborted', 'failed'
-       *
-       * @readonly
-       */
-      get copyStatus() {
-        return this.originalResponse.copyStatus;
+    }
+    function Event2(eventTarget, event) {
+      privateData.set(this, {
+        eventTarget,
+        event,
+        eventPhase: 2,
+        currentTarget: eventTarget,
+        canceled: false,
+        stopped: false,
+        immediateStopped: false,
+        passiveListener: null,
+        timeStamp: event.timeStamp || Date.now()
+      });
+      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
+      const keys = Object.keys(event);
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        if (!(key in this)) {
+          Object.defineProperty(this, key, defineRedirectDescriptor(key));
+        }
       }
+    }
+    Event2.prototype = {
       /**
-       * Only appears when
-       * x-ms-copy-status is failed or pending. Describes cause of fatal or
-       * non-fatal copy operation failure.
-       *
-       * @readonly
+       * The type of this event.
+       * @type {string}
        */
-      get copyStatusDescription() {
-        return this.originalResponse.copyStatusDescription;
-      }
+      get type() {
+        return pd(this).event.type;
+      },
       /**
-       * When a blob is leased,
-       * specifies whether the lease is of infinite or fixed duration. Possible
-       * values include: 'infinite', 'fixed'.
-       *
-       * @readonly
+       * The target of this event.
+       * @type {EventTarget}
        */
-      get leaseDuration() {
-        return this.originalResponse.leaseDuration;
-      }
+      get target() {
+        return pd(this).eventTarget;
+      },
       /**
-       * Lease state of the blob. Possible
-       * values include: 'available', 'leased', 'expired', 'breaking', 'broken'.
-       *
-       * @readonly
+       * The target of this event.
+       * @type {EventTarget}
        */
-      get leaseState() {
-        return this.originalResponse.leaseState;
-      }
+      get currentTarget() {
+        return pd(this).currentTarget;
+      },
       /**
-       * The current lease status of the
-       * blob. Possible values include: 'locked', 'unlocked'.
-       *
-       * @readonly
+       * @returns {EventTarget[]} The composed path of this event.
        */
-      get leaseStatus() {
-        return this.originalResponse.leaseStatus;
-      }
+      composedPath() {
+        const currentTarget = pd(this).currentTarget;
+        if (currentTarget == null) {
+          return [];
+        }
+        return [currentTarget];
+      },
       /**
-       * A UTC date/time value generated by the service that
-       * indicates the time at which the response was initiated.
-       *
-       * @readonly
+       * Constant of NONE.
+       * @type {number}
        */
-      get date() {
-        return this.originalResponse.date;
-      }
+      get NONE() {
+        return 0;
+      },
       /**
-       * The number of committed blocks
-       * present in the blob. This header is returned only for append blobs.
-       *
-       * @readonly
+       * Constant of CAPTURING_PHASE.
+       * @type {number}
        */
-      get blobCommittedBlockCount() {
-        return this.originalResponse.blobCommittedBlockCount;
-      }
+      get CAPTURING_PHASE() {
+        return 1;
+      },
       /**
-       * The ETag contains a value that you can use to
-       * perform operations conditionally, in quotes.
-       *
-       * @readonly
+       * Constant of AT_TARGET.
+       * @type {number}
        */
-      get etag() {
-        return this.originalResponse.etag;
-      }
+      get AT_TARGET() {
+        return 2;
+      },
       /**
-       * The error code.
-       *
-       * @readonly
+       * Constant of BUBBLING_PHASE.
+       * @type {number}
        */
-      get errorCode() {
-        return this.originalResponse.errorCode;
-      }
+      get BUBBLING_PHASE() {
+        return 3;
+      },
       /**
-       * The value of this header is set to
-       * true if the file data and application metadata are completely encrypted
-       * using the specified algorithm. Otherwise, the value is set to false (when
-       * the file is unencrypted, or if only parts of the file/application metadata
-       * are encrypted).
-       *
-       * @readonly
+       * The target of this event.
+       * @type {number}
        */
-      get isServerEncrypted() {
-        return this.originalResponse.isServerEncrypted;
-      }
-      /**
-       * If the blob has a MD5 hash, and if
-       * request contains range header (Range or x-ms-range), this response header
-       * is returned with the value of the whole blob's MD5 value. This value may
-       * or may not be equal to the value returned in Content-MD5 header, with the
-       * latter calculated from the requested range.
-       *
-       * @readonly
+      get eventPhase() {
+        return pd(this).eventPhase;
+      },
+      /**
+       * Stop event bubbling.
+       * @returns {void}
        */
-      get blobContentMD5() {
-        return this.originalResponse.blobContentMD5;
-      }
+      stopPropagation() {
+        const data = pd(this);
+        data.stopped = true;
+        if (typeof data.event.stopPropagation === "function") {
+          data.event.stopPropagation();
+        }
+      },
       /**
-       * Returns the date and time the file was last
-       * modified. Any operation that modifies the file or its properties updates
-       * the last modified time.
-       *
-       * @readonly
+       * Stop event bubbling.
+       * @returns {void}
        */
-      get lastModified() {
-        return this.originalResponse.lastModified;
-      }
+      stopImmediatePropagation() {
+        const data = pd(this);
+        data.stopped = true;
+        data.immediateStopped = true;
+        if (typeof data.event.stopImmediatePropagation === "function") {
+          data.event.stopImmediatePropagation();
+        }
+      },
       /**
-       * A name-value pair
-       * to associate with a file storage object.
-       *
-       * @readonly
+       * The flag to be bubbling.
+       * @type {boolean}
        */
-      get metadata() {
-        return this.originalResponse.metadata;
-      }
+      get bubbles() {
+        return Boolean(pd(this).event.bubbles);
+      },
       /**
-       * This header uniquely identifies the request
-       * that was made and can be used for troubleshooting the request.
-       *
-       * @readonly
+       * The flag to be cancelable.
+       * @type {boolean}
        */
-      get requestId() {
-        return this.originalResponse.requestId;
-      }
+      get cancelable() {
+        return Boolean(pd(this).event.cancelable);
+      },
       /**
-       * If a client request id header is sent in the request, this header will be present in the
-       * response with the same value.
-       *
-       * @readonly
+       * Cancel this event.
+       * @returns {void}
        */
-      get clientRequestId() {
-        return this.originalResponse.clientRequestId;
-      }
+      preventDefault() {
+        setCancelFlag(pd(this));
+      },
       /**
-       * Indicates the version of the File service used
-       * to execute the request.
-       *
-       * @readonly
+       * The flag to indicate cancellation state.
+       * @type {boolean}
        */
-      get version() {
-        return this.originalResponse.version;
-      }
+      get defaultPrevented() {
+        return pd(this).canceled;
+      },
       /**
-       * The SHA-256 hash of the encryption key used to encrypt the blob. This value is only returned
-       * when the blob was encrypted with a customer-provided key.
-       *
-       * @readonly
+       * The flag to be composed.
+       * @type {boolean}
        */
-      get encryptionKeySha256() {
-        return this.originalResponse.encryptionKeySha256;
-      }
+      get composed() {
+        return Boolean(pd(this).event.composed);
+      },
       /**
-       * If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to
-       * true, then the request returns a crc64 for the range, as long as the range size is less than
-       * or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is
-       * specified in the same request, it will fail with 400(Bad Request)
+       * The unix time of this event.
+       * @type {number}
        */
-      get contentCrc64() {
-        return this.originalResponse.contentCrc64;
-      }
+      get timeStamp() {
+        return pd(this).timeStamp;
+      },
       /**
-       * The response body as a browser Blob.
-       * Always undefined in node.js.
-       *
-       * @readonly
+       * The target of this event.
+       * @type {EventTarget}
+       * @deprecated
        */
-      get blobBody() {
-        return void 0;
-      }
+      get srcElement() {
+        return pd(this).eventTarget;
+      },
       /**
-       * The response body as a node.js Readable stream.
-       * Always undefined in the browser.
-       *
-       * It will parse avor data returned by blob query.
-       *
-       * @readonly
+       * The flag to stop event bubbling.
+       * @type {boolean}
+       * @deprecated
        */
-      get readableStreamBody() {
-        return core_util_1.isNodeLike ? this.blobDownloadStream : void 0;
-      }
+      get cancelBubble() {
+        return pd(this).stopped;
+      },
+      set cancelBubble(value) {
+        if (!value) {
+          return;
+        }
+        const data = pd(this);
+        data.stopped = true;
+        if (typeof data.event.cancelBubble === "boolean") {
+          data.event.cancelBubble = true;
+        }
+      },
       /**
-       * The HTTP response.
+       * The flag to indicate cancellation state.
+       * @type {boolean}
+       * @deprecated
        */
-      get _response() {
-        return this.originalResponse._response;
-      }
-      originalResponse;
-      blobDownloadStream;
+      get returnValue() {
+        return !pd(this).canceled;
+      },
+      set returnValue(value) {
+        if (!value) {
+          setCancelFlag(pd(this));
+        }
+      },
       /**
-       * Creates an instance of BlobQueryResponse.
-       *
-       * @param originalResponse -
-       * @param options -
+       * Initialize this event object. But do nothing under event dispatching.
+       * @param {string} type The event type.
+       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
+       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
+       * @deprecated
        */
-      constructor(originalResponse, options = {}) {
-        this.originalResponse = originalResponse;
-        this.blobDownloadStream = new BlobQuickQueryStream_js_1.BlobQuickQueryStream(this.originalResponse.readableStreamBody, options);
+      initEvent() {
       }
     };
-    exports2.BlobQueryResponse = BlobQueryResponse;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/models.js
-var require_models2 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/models.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = void 0;
-    exports2.toAccessTier = toAccessTier;
-    exports2.ensureCpkIfSpecified = ensureCpkIfSpecified;
-    exports2.getBlobServiceAccountAudience = getBlobServiceAccountAudience;
-    var constants_js_1 = require_constants14();
-    var BlockBlobTier;
-    (function(BlockBlobTier2) {
-      BlockBlobTier2["Hot"] = "Hot";
-      BlockBlobTier2["Cool"] = "Cool";
-      BlockBlobTier2["Cold"] = "Cold";
-      BlockBlobTier2["Archive"] = "Archive";
-    })(BlockBlobTier || (exports2.BlockBlobTier = BlockBlobTier = {}));
-    var PremiumPageBlobTier;
-    (function(PremiumPageBlobTier2) {
-      PremiumPageBlobTier2["P4"] = "P4";
-      PremiumPageBlobTier2["P6"] = "P6";
-      PremiumPageBlobTier2["P10"] = "P10";
-      PremiumPageBlobTier2["P15"] = "P15";
-      PremiumPageBlobTier2["P20"] = "P20";
-      PremiumPageBlobTier2["P30"] = "P30";
-      PremiumPageBlobTier2["P40"] = "P40";
-      PremiumPageBlobTier2["P50"] = "P50";
-      PremiumPageBlobTier2["P60"] = "P60";
-      PremiumPageBlobTier2["P70"] = "P70";
-      PremiumPageBlobTier2["P80"] = "P80";
-    })(PremiumPageBlobTier || (exports2.PremiumPageBlobTier = PremiumPageBlobTier = {}));
-    function toAccessTier(tier) {
-      if (tier === void 0) {
-        return void 0;
+    Object.defineProperty(Event2.prototype, "constructor", {
+      value: Event2,
+      configurable: true,
+      writable: true
+    });
+    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
+      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
+      wrappers.set(window.Event.prototype, Event2);
+    }
+    function defineRedirectDescriptor(key) {
+      return {
+        get() {
+          return pd(this).event[key];
+        },
+        set(value) {
+          pd(this).event[key] = value;
+        },
+        configurable: true,
+        enumerable: true
+      };
+    }
+    function defineCallDescriptor(key) {
+      return {
+        value() {
+          const event = pd(this).event;
+          return event[key].apply(event, arguments);
+        },
+        configurable: true,
+        enumerable: true
+      };
+    }
+    function defineWrapper(BaseEvent, proto) {
+      const keys = Object.keys(proto);
+      if (keys.length === 0) {
+        return BaseEvent;
       }
-      return tier;
+      function CustomEvent(eventTarget, event) {
+        BaseEvent.call(this, eventTarget, event);
+      }
+      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
+        constructor: { value: CustomEvent, configurable: true, writable: true }
+      });
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        if (!(key in BaseEvent.prototype)) {
+          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
+          const isFunc = typeof descriptor.value === "function";
+          Object.defineProperty(
+            CustomEvent.prototype,
+            key,
+            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
+          );
+        }
+      }
+      return CustomEvent;
     }
-    function ensureCpkIfSpecified(cpk, isHttps) {
-      if (cpk && !isHttps) {
-        throw new RangeError("Customer-provided encryption key must be used over HTTPS.");
+    function getWrapper(proto) {
+      if (proto == null || proto === Object.prototype) {
+        return Event2;
       }
-      if (cpk && !cpk.encryptionAlgorithm) {
-        cpk.encryptionAlgorithm = constants_js_1.EncryptionAlgorithmAES25;
+      let wrapper = wrappers.get(proto);
+      if (wrapper == null) {
+        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
+        wrappers.set(proto, wrapper);
       }
+      return wrapper;
     }
-    var StorageBlobAudience;
-    (function(StorageBlobAudience2) {
-      StorageBlobAudience2["StorageOAuthScopes"] = "https://storage.azure.com/.default";
-      StorageBlobAudience2["DiskComputeOAuthScopes"] = "https://disk.compute.azure.com/.default";
-    })(StorageBlobAudience || (exports2.StorageBlobAudience = StorageBlobAudience = {}));
-    function getBlobServiceAccountAudience(storageAccountName) {
-      return `https://${storageAccountName}.blob.core.windows.net/.default`;
+    function wrapEvent(eventTarget, event) {
+      const Wrapper = getWrapper(Object.getPrototypeOf(event));
+      return new Wrapper(eventTarget, event);
     }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js
-var require_PageBlobRangeResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/PageBlobRangeResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.rangeResponseFromModel = rangeResponseFromModel;
-    function rangeResponseFromModel(response) {
-      const pageRange = (response._response.parsedBody.pageRange || []).map((x) => ({
-        offset: x.start,
-        count: x.end - x.start
-      }));
-      const clearRange = (response._response.parsedBody.clearRange || []).map((x) => ({
-        offset: x.start,
-        count: x.end - x.start
-      }));
+    function isStopped(event) {
+      return pd(event).immediateStopped;
+    }
+    function setEventPhase(event, eventPhase) {
+      pd(event).eventPhase = eventPhase;
+    }
+    function setCurrentTarget(event, currentTarget) {
+      pd(event).currentTarget = currentTarget;
+    }
+    function setPassiveListener(event, passiveListener) {
+      pd(event).passiveListener = passiveListener;
+    }
+    var listenersMap = /* @__PURE__ */ new WeakMap();
+    var CAPTURE = 1;
+    var BUBBLE = 2;
+    var ATTRIBUTE = 3;
+    function isObject2(x) {
+      return x !== null && typeof x === "object";
+    }
+    function getListeners(eventTarget) {
+      const listeners = listenersMap.get(eventTarget);
+      if (listeners == null) {
+        throw new TypeError(
+          "'this' is expected an EventTarget object, but got another value."
+        );
+      }
+      return listeners;
+    }
+    function defineEventAttributeDescriptor(eventName) {
       return {
-        ...response,
-        pageRange,
-        clearRange,
-        _response: {
-          ...response._response,
-          parsedBody: {
-            pageRange,
-            clearRange
+        get() {
+          const listeners = getListeners(this);
+          let node = listeners.get(eventName);
+          while (node != null) {
+            if (node.listenerType === ATTRIBUTE) {
+              return node.listener;
+            }
+            node = node.next;
+          }
+          return null;
+        },
+        set(listener) {
+          if (typeof listener !== "function" && !isObject2(listener)) {
+            listener = null;
+          }
+          const listeners = getListeners(this);
+          let prev = null;
+          let node = listeners.get(eventName);
+          while (node != null) {
+            if (node.listenerType === ATTRIBUTE) {
+              if (prev !== null) {
+                prev.next = node.next;
+              } else if (node.next !== null) {
+                listeners.set(eventName, node.next);
+              } else {
+                listeners.delete(eventName);
+              }
+            } else {
+              prev = node;
+            }
+            node = node.next;
+          }
+          if (listener !== null) {
+            const newNode = {
+              listener,
+              listenerType: ATTRIBUTE,
+              passive: false,
+              once: false,
+              next: null
+            };
+            if (prev === null) {
+              listeners.set(eventName, newNode);
+            } else {
+              prev.next = newNode;
+            }
+          }
+        },
+        configurable: true,
+        enumerable: true
+      };
+    }
+    function defineEventAttribute(eventTargetPrototype, eventName) {
+      Object.defineProperty(
+        eventTargetPrototype,
+        `on${eventName}`,
+        defineEventAttributeDescriptor(eventName)
+      );
+    }
+    function defineCustomEventTarget(eventNames) {
+      function CustomEventTarget() {
+        EventTarget2.call(this);
+      }
+      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
+        constructor: {
+          value: CustomEventTarget,
+          configurable: true,
+          writable: true
+        }
+      });
+      for (let i = 0; i < eventNames.length; ++i) {
+        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
+      }
+      return CustomEventTarget;
+    }
+    function EventTarget2() {
+      if (this instanceof EventTarget2) {
+        listenersMap.set(this, /* @__PURE__ */ new Map());
+        return;
+      }
+      if (arguments.length === 1 && Array.isArray(arguments[0])) {
+        return defineCustomEventTarget(arguments[0]);
+      }
+      if (arguments.length > 0) {
+        const types = new Array(arguments.length);
+        for (let i = 0; i < arguments.length; ++i) {
+          types[i] = arguments[i];
+        }
+        return defineCustomEventTarget(types);
+      }
+      throw new TypeError("Cannot call a class as a function");
+    }
+    EventTarget2.prototype = {
+      /**
+       * Add a given listener to this event target.
+       * @param {string} eventName The event name to add.
+       * @param {Function} listener The listener to add.
+       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
+       * @returns {void}
+       */
+      addEventListener(eventName, listener, options) {
+        if (listener == null) {
+          return;
+        }
+        if (typeof listener !== "function" && !isObject2(listener)) {
+          throw new TypeError("'listener' should be a function or an object.");
+        }
+        const listeners = getListeners(this);
+        const optionsIsObj = isObject2(options);
+        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
+        const listenerType = capture ? CAPTURE : BUBBLE;
+        const newNode = {
+          listener,
+          listenerType,
+          passive: optionsIsObj && Boolean(options.passive),
+          once: optionsIsObj && Boolean(options.once),
+          next: null
+        };
+        let node = listeners.get(eventName);
+        if (node === void 0) {
+          listeners.set(eventName, newNode);
+          return;
+        }
+        let prev = null;
+        while (node != null) {
+          if (node.listener === listener && node.listenerType === listenerType) {
+            return;
+          }
+          prev = node;
+          node = node.next;
+        }
+        prev.next = newNode;
+      },
+      /**
+       * Remove a given listener from this event target.
+       * @param {string} eventName The event name to remove.
+       * @param {Function} listener The listener to remove.
+       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
+       * @returns {void}
+       */
+      removeEventListener(eventName, listener, options) {
+        if (listener == null) {
+          return;
+        }
+        const listeners = getListeners(this);
+        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
+        const listenerType = capture ? CAPTURE : BUBBLE;
+        let prev = null;
+        let node = listeners.get(eventName);
+        while (node != null) {
+          if (node.listener === listener && node.listenerType === listenerType) {
+            if (prev !== null) {
+              prev.next = node.next;
+            } else if (node.next !== null) {
+              listeners.set(eventName, node.next);
+            } else {
+              listeners.delete(eventName);
+            }
+            return;
+          }
+          prev = node;
+          node = node.next;
+        }
+      },
+      /**
+       * Dispatch a given event.
+       * @param {Event|{type:string}} event The event to dispatch.
+       * @returns {boolean} `false` if canceled.
+       */
+      dispatchEvent(event) {
+        if (event == null || typeof event.type !== "string") {
+          throw new TypeError('"event.type" should be a string.');
+        }
+        const listeners = getListeners(this);
+        const eventName = event.type;
+        let node = listeners.get(eventName);
+        if (node == null) {
+          return true;
+        }
+        const wrappedEvent = wrapEvent(this, event);
+        let prev = null;
+        while (node != null) {
+          if (node.once) {
+            if (prev !== null) {
+              prev.next = node.next;
+            } else if (node.next !== null) {
+              listeners.set(eventName, node.next);
+            } else {
+              listeners.delete(eventName);
+            }
+          } else {
+            prev = node;
+          }
+          setPassiveListener(
+            wrappedEvent,
+            node.passive ? node.listener : null
+          );
+          if (typeof node.listener === "function") {
+            try {
+              node.listener.call(this, wrappedEvent);
+            } catch (err) {
+              if (typeof console !== "undefined" && typeof console.error === "function") {
+                console.error(err);
+              }
+            }
+          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
+            node.listener.handleEvent(wrappedEvent);
           }
+          if (isStopped(wrappedEvent)) {
+            break;
+          }
+          node = node.next;
         }
-      };
+        setPassiveListener(wrappedEvent, null);
+        setEventPhase(wrappedEvent, 0);
+        setCurrentTarget(wrappedEvent, null);
+        return !wrappedEvent.defaultPrevented;
+      }
+    };
+    Object.defineProperty(EventTarget2.prototype, "constructor", {
+      value: EventTarget2,
+      configurable: true,
+      writable: true
+    });
+    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
+      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
     }
+    exports2.defineEventAttribute = defineEventAttribute;
+    exports2.EventTarget = EventTarget2;
+    exports2.default = EventTarget2;
+    module2.exports = EventTarget2;
+    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
+    module2.exports.defineEventAttribute = defineEventAttribute;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/logger.js
-var require_logger2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/logger.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = void 0;
-    var logger_1 = require_commonjs4();
-    exports2.logger = (0, logger_1.createClientLogger)("core-lro");
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/poller/constants.js
-var require_constants16 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/constants.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.terminalStates = exports2.POLL_INTERVAL_IN_MS = void 0;
-    exports2.POLL_INTERVAL_IN_MS = 2e3;
-    exports2.terminalStates = ["succeeded", "canceled", "failed"];
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/poller/operation.js
-var require_operation = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/operation.js"(exports2) {
+// node_modules/abort-controller/dist/abort-controller.js
+var require_abort_controller = __commonJS({
+  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.pollOperation = exports2.initOperation = exports2.deserializeState = void 0;
-    var logger_js_1 = require_logger2();
-    var constants_js_1 = require_constants16();
-    function deserializeState(serializedState) {
-      try {
-        return JSON.parse(serializedState).state;
-      } catch (e) {
-        throw new Error(`Unable to deserialize input state: ${serializedState}`);
+    var eventTargetShim = require_event_target_shim();
+    var AbortSignal2 = class extends eventTargetShim.EventTarget {
+      /**
+       * AbortSignal cannot be constructed directly.
+       */
+      constructor() {
+        super();
+        throw new TypeError("AbortSignal cannot be constructed directly");
       }
-    }
-    exports2.deserializeState = deserializeState;
-    function setStateError(inputs) {
-      const { state, stateProxy, isOperationError } = inputs;
-      return (error3) => {
-        if (isOperationError(error3)) {
-          stateProxy.setError(state, error3);
-          stateProxy.setFailed(state);
+      /**
+       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
+       */
+      get aborted() {
+        const aborted = abortedFlags.get(this);
+        if (typeof aborted !== "boolean") {
+          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
         }
-        throw error3;
-      };
-    }
-    function appendReadableErrorMessage(currentMessage, innerMessage) {
-      let message = currentMessage;
-      if (message.slice(-1) !== ".") {
-        message = message + ".";
+        return aborted;
       }
-      return message + " " + innerMessage;
+    };
+    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
+    function createAbortSignal() {
+      const signal = Object.create(AbortSignal2.prototype);
+      eventTargetShim.EventTarget.call(signal);
+      abortedFlags.set(signal, false);
+      return signal;
     }
-    function simplifyError(err) {
-      let message = err.message;
-      let code = err.code;
-      let curErr = err;
-      while (curErr.innererror) {
-        curErr = curErr.innererror;
-        code = curErr.code;
-        message = appendReadableErrorMessage(message, curErr.message);
+    function abortSignal(signal) {
+      if (abortedFlags.get(signal) !== false) {
+        return;
       }
-      return {
-        code,
-        message
-      };
+      abortedFlags.set(signal, true);
+      signal.dispatchEvent({ type: "abort" });
     }
-    function processOperationStatus(result) {
-      const { state, stateProxy, status, isDone, processResult, getError, response, setErrorAsResult } = result;
-      switch (status) {
-        case "succeeded": {
-          stateProxy.setSucceeded(state);
-          break;
-        }
-        case "failed": {
-          const err = getError === null || getError === void 0 ? void 0 : getError(response);
-          let postfix = "";
-          if (err) {
-            const { code, message } = simplifyError(err);
-            postfix = `. ${code}. ${message}`;
-          }
-          const errStr = `The long-running operation has failed${postfix}`;
-          stateProxy.setError(state, new Error(errStr));
-          stateProxy.setFailed(state);
-          logger_js_1.logger.warning(errStr);
-          break;
-        }
-        case "canceled": {
-          stateProxy.setCanceled(state);
-          break;
-        }
+    var abortedFlags = /* @__PURE__ */ new WeakMap();
+    Object.defineProperties(AbortSignal2.prototype, {
+      aborted: { enumerable: true }
+    });
+    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
+      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
+        configurable: true,
+        value: "AbortSignal"
+      });
+    }
+    var AbortController2 = class {
+      /**
+       * Initialize this controller.
+       */
+      constructor() {
+        signals.set(this, createAbortSignal());
       }
-      if ((isDone === null || isDone === void 0 ? void 0 : isDone(response, state)) || isDone === void 0 && ["succeeded", "canceled"].concat(setErrorAsResult ? [] : ["failed"]).includes(status)) {
-        stateProxy.setResult(state, buildResult({
-          response,
-          state,
-          processResult
-        }));
+      /**
+       * Returns the `AbortSignal` object associated with this object.
+       */
+      get signal() {
+        return getSignal(this);
       }
-    }
-    function buildResult(inputs) {
-      const { processResult, response, state } = inputs;
-      return processResult ? processResult(response, state) : response;
-    }
-    async function initOperation(inputs) {
-      const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs;
-      const { operationLocation, resourceLocation, metadata, response } = await init();
-      if (operationLocation)
-        withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
-      const config = {
-        metadata,
-        operationLocation,
-        resourceLocation
-      };
-      logger_js_1.logger.verbose(`LRO: Operation description:`, config);
-      const state = stateProxy.initState(config);
-      const status = getOperationStatus({ response, state, operationLocation });
-      processOperationStatus({ state, status, stateProxy, response, setErrorAsResult, processResult });
-      return state;
-    }
-    exports2.initOperation = initOperation;
-    async function pollOperationHelper(inputs) {
-      const { poll, state, stateProxy, operationLocation, getOperationStatus, getResourceLocation, isOperationError, options } = inputs;
-      const response = await poll(operationLocation, options).catch(setStateError({
-        state,
-        stateProxy,
-        isOperationError
-      }));
-      const status = getOperationStatus(response, state);
-      logger_js_1.logger.verbose(`LRO: Status:
-	Polling from: ${state.config.operationLocation}
-	Operation status: ${status}
-	Polling status: ${constants_js_1.terminalStates.includes(status) ? "Stopped" : "Running"}`);
-      if (status === "succeeded") {
-        const resourceLocation = getResourceLocation(response, state);
-        if (resourceLocation !== void 0) {
-          return {
-            response: await poll(resourceLocation).catch(setStateError({ state, stateProxy, isOperationError })),
-            status
-          };
-        }
+      /**
+       * Abort and signal to any observers that the associated activity is to be aborted.
+       */
+      abort() {
+        abortSignal(getSignal(this));
       }
-      return { response, status };
-    }
-    async function pollOperation(inputs) {
-      const { poll, state, stateProxy, options, getOperationStatus, getResourceLocation, getOperationLocation, isOperationError, withOperationLocation, getPollingInterval, processResult, getError, updateState, setDelay, isDone, setErrorAsResult } = inputs;
-      const { operationLocation } = state.config;
-      if (operationLocation !== void 0) {
-        const { response, status } = await pollOperationHelper({
-          poll,
-          getOperationStatus,
-          state,
-          stateProxy,
-          operationLocation,
-          getResourceLocation,
-          isOperationError,
-          options
-        });
-        processOperationStatus({
-          status,
-          response,
-          state,
-          stateProxy,
-          isDone,
-          processResult,
-          getError,
-          setErrorAsResult
-        });
-        if (!constants_js_1.terminalStates.includes(status)) {
-          const intervalInMs = getPollingInterval === null || getPollingInterval === void 0 ? void 0 : getPollingInterval(response);
-          if (intervalInMs)
-            setDelay(intervalInMs);
-          const location = getOperationLocation === null || getOperationLocation === void 0 ? void 0 : getOperationLocation(response, state);
-          if (location !== void 0) {
-            const isUpdated = operationLocation !== location;
-            state.config.operationLocation = location;
-            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(location, isUpdated);
-          } else
-            withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false);
-        }
-        updateState === null || updateState === void 0 ? void 0 : updateState(state, response);
+    };
+    var signals = /* @__PURE__ */ new WeakMap();
+    function getSignal(controller) {
+      const signal = signals.get(controller);
+      if (signal == null) {
+        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
       }
+      return signal;
     }
-    exports2.pollOperation = pollOperation;
+    Object.defineProperties(AbortController2.prototype, {
+      signal: { enumerable: true },
+      abort: { enumerable: true }
+    });
+    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
+      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
+        configurable: true,
+        value: "AbortController"
+      });
+    }
+    exports2.AbortController = AbortController2;
+    exports2.AbortSignal = AbortSignal2;
+    exports2.default = AbortController2;
+    module2.exports = AbortController2;
+    module2.exports.AbortController = module2.exports["default"] = AbortController2;
+    module2.exports.AbortSignal = AbortSignal2;
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/http/operation.js
-var require_operation2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/http/operation.js"(exports2) {
+// node_modules/readable-stream/lib/ours/util.js
+var require_util20 = __commonJS({
+  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.pollHttpOperation = exports2.isOperationError = exports2.getResourceLocation = exports2.getOperationStatus = exports2.getOperationLocation = exports2.initHttpOperation = exports2.getStatusFromInitialResponse = exports2.getErrorFromResponse = exports2.parseRetryAfter = exports2.inferLroMode = void 0;
-    var operation_js_1 = require_operation();
-    var logger_js_1 = require_logger2();
-    function getOperationLocationPollingUrl(inputs) {
-      const { azureAsyncOperation, operationLocation } = inputs;
-      return operationLocation !== null && operationLocation !== void 0 ? operationLocation : azureAsyncOperation;
-    }
-    function getLocationHeader(rawResponse) {
-      return rawResponse.headers["location"];
-    }
-    function getOperationLocationHeader(rawResponse) {
-      return rawResponse.headers["operation-location"];
-    }
-    function getAzureAsyncOperationHeader(rawResponse) {
-      return rawResponse.headers["azure-asyncoperation"];
-    }
-    function findResourceLocation(inputs) {
-      var _a;
-      const { location, requestMethod, requestPath, resourceLocationConfig } = inputs;
-      switch (requestMethod) {
-        case "PUT": {
-          return requestPath;
-        }
-        case "DELETE": {
-          return void 0;
-        }
-        case "PATCH": {
-          return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath;
+    var bufferModule = require("buffer");
+    var { kResistStopPropagation, SymbolDispose } = require_primordials();
+    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var AsyncFunction = Object.getPrototypeOf(async function() {
+    }).constructor;
+    var Blob2 = globalThis.Blob || bufferModule.Blob;
+    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
+      return b instanceof Blob2;
+    } : function isBlob2(b) {
+      return false;
+    };
+    var validateAbortSignal = (signal, name) => {
+      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
+        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
+      }
+    };
+    var validateFunction = (value, name) => {
+      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    };
+    var AggregateError = class extends Error {
+      constructor(errors) {
+        if (!Array.isArray(errors)) {
+          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
         }
-        default: {
-          return getDefault();
+        let message = "";
+        for (let i = 0; i < errors.length; i++) {
+          message += `    ${errors[i].stack}
+`;
         }
+        super(message);
+        this.name = "AggregateError";
+        this.errors = errors;
       }
-      function getDefault() {
-        switch (resourceLocationConfig) {
-          case "azure-async-operation": {
-            return void 0;
-          }
-          case "original-uri": {
-            return requestPath;
-          }
-          case "location":
-          default: {
-            return location;
+    };
+    module2.exports = {
+      AggregateError,
+      kEmptyObject: Object.freeze({}),
+      once(callback) {
+        let called = false;
+        return function(...args) {
+          if (called) {
+            return;
           }
-        }
-      }
-    }
-    function inferLroMode(inputs) {
-      const { rawResponse, requestMethod, requestPath, resourceLocationConfig } = inputs;
-      const operationLocation = getOperationLocationHeader(rawResponse);
-      const azureAsyncOperation = getAzureAsyncOperationHeader(rawResponse);
-      const pollingUrl = getOperationLocationPollingUrl({ operationLocation, azureAsyncOperation });
-      const location = getLocationHeader(rawResponse);
-      const normalizedRequestMethod = requestMethod === null || requestMethod === void 0 ? void 0 : requestMethod.toLocaleUpperCase();
-      if (pollingUrl !== void 0) {
-        return {
-          mode: "OperationLocation",
-          operationLocation: pollingUrl,
-          resourceLocation: findResourceLocation({
-            requestMethod: normalizedRequestMethod,
-            location,
-            requestPath,
-            resourceLocationConfig
-          })
+          called = true;
+          callback.apply(this, args);
         };
-      } else if (location !== void 0) {
+      },
+      createDeferredPromise: function() {
+        let resolve2;
+        let reject;
+        const promise = new Promise((res, rej) => {
+          resolve2 = res;
+          reject = rej;
+        });
         return {
-          mode: "ResourceLocation",
-          operationLocation: location
+          promise,
+          resolve: resolve2,
+          reject
         };
-      } else if (normalizedRequestMethod === "PUT" && requestPath) {
+      },
+      promisify(fn) {
+        return new Promise((resolve2, reject) => {
+          fn((err, ...args) => {
+            if (err) {
+              return reject(err);
+            }
+            return resolve2(...args);
+          });
+        });
+      },
+      debuglog() {
+        return function() {
+        };
+      },
+      format(format, ...args) {
+        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
+          const replacement = args.shift();
+          if (type2 === "f") {
+            return replacement.toFixed(6);
+          } else if (type2 === "j") {
+            return JSON.stringify(replacement);
+          } else if (type2 === "s" && typeof replacement === "object") {
+            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
+            return `${ctor} {}`.trim();
+          } else {
+            return replacement.toString();
+          }
+        });
+      },
+      inspect(value) {
+        switch (typeof value) {
+          case "string":
+            if (value.includes("'")) {
+              if (!value.includes('"')) {
+                return `"${value}"`;
+              } else if (!value.includes("`") && !value.includes("${")) {
+                return `\`${value}\``;
+              }
+            }
+            return `'${value}'`;
+          case "number":
+            if (isNaN(value)) {
+              return "NaN";
+            } else if (Object.is(value, -0)) {
+              return String(value);
+            }
+            return value;
+          case "bigint":
+            return `${String(value)}n`;
+          case "boolean":
+          case "undefined":
+            return String(value);
+          case "object":
+            return "{}";
+        }
+      },
+      types: {
+        isAsyncFunction(fn) {
+          return fn instanceof AsyncFunction;
+        },
+        isArrayBufferView(arr) {
+          return ArrayBuffer.isView(arr);
+        }
+      },
+      isBlob,
+      deprecate(fn, message) {
+        return fn;
+      },
+      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
+        if (signal === void 0) {
+          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
+        }
+        validateAbortSignal(signal, "signal");
+        validateFunction(listener, "listener");
+        let removeEventListener;
+        if (signal.aborted) {
+          queueMicrotask(() => listener());
+        } else {
+          signal.addEventListener("abort", listener, {
+            __proto__: null,
+            once: true,
+            [kResistStopPropagation]: true
+          });
+          removeEventListener = () => {
+            signal.removeEventListener("abort", listener);
+          };
+        }
         return {
-          mode: "Body",
-          operationLocation: requestPath
+          __proto__: null,
+          [SymbolDispose]() {
+            var _removeEventListener;
+            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
+          }
         };
-      } else {
-        return void 0;
-      }
-    }
-    exports2.inferLroMode = inferLroMode;
-    function transformStatus(inputs) {
-      const { status, statusCode } = inputs;
-      if (typeof status !== "string" && status !== void 0) {
-        throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${status}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);
-      }
-      switch (status === null || status === void 0 ? void 0 : status.toLocaleLowerCase()) {
-        case void 0:
-          return toOperationStatus(statusCode);
-        case "succeeded":
-          return "succeeded";
-        case "failed":
-          return "failed";
-        case "running":
-        case "accepted":
-        case "started":
-        case "canceling":
-        case "cancelling":
-          return "running";
-        case "canceled":
-        case "cancelled":
-          return "canceled";
-        default: {
-          logger_js_1.logger.verbose(`LRO: unrecognized operation status: ${status}`);
-          return status;
+      },
+      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
+        if (signals.length === 1) {
+          return signals[0];
         }
+        const ac = new AbortController2();
+        const abort = () => ac.abort();
+        signals.forEach((signal) => {
+          validateAbortSignal(signal, "signals");
+          signal.addEventListener("abort", abort, {
+            once: true
+          });
+        });
+        ac.signal.addEventListener(
+          "abort",
+          () => {
+            signals.forEach((signal) => signal.removeEventListener("abort", abort));
+          },
+          {
+            once: true
+          }
+        );
+        return ac.signal;
       }
-    }
-    function getStatus(rawResponse) {
-      var _a;
-      const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
-      return transformStatus({ status, statusCode: rawResponse.statusCode });
-    }
-    function getProvisioningState(rawResponse) {
-      var _a, _b;
-      const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {};
-      const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState;
-      return transformStatus({ status, statusCode: rawResponse.statusCode });
-    }
-    function toOperationStatus(statusCode) {
-      if (statusCode === 202) {
-        return "running";
-      } else if (statusCode < 300) {
-        return "succeeded";
-      } else {
-        return "failed";
+    };
+    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
+  }
+});
+
+// node_modules/readable-stream/lib/ours/errors.js
+var require_errors4 = __commonJS({
+  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
+    "use strict";
+    var { format, inspect, AggregateError: CustomAggregateError } = require_util20();
+    var AggregateError = globalThis.AggregateError || CustomAggregateError;
+    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
+    var kTypes = [
+      "string",
+      "function",
+      "number",
+      "object",
+      // Accept 'Function' and 'Object' as alternative to the lower cased version.
+      "Function",
+      "Object",
+      "boolean",
+      "bigint",
+      "symbol"
+    ];
+    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
+    var nodeInternalPrefix = "__node_internal_";
+    var codes = {};
+    function assert(value, message) {
+      if (!value) {
+        throw new codes.ERR_INTERNAL_ASSERTION(message);
       }
     }
-    function parseRetryAfter({ rawResponse }) {
-      const retryAfter = rawResponse.headers["retry-after"];
-      if (retryAfter !== void 0) {
-        const retryAfterInSeconds = parseInt(retryAfter);
-        return isNaN(retryAfterInSeconds) ? calculatePollingIntervalFromDate(new Date(retryAfter)) : retryAfterInSeconds * 1e3;
+    function addNumericalSeparator(val) {
+      let res = "";
+      let i = val.length;
+      const start = val[0] === "-" ? 1 : 0;
+      for (; i >= start + 4; i -= 3) {
+        res = `_${val.slice(i - 3, i)}${res}`;
       }
-      return void 0;
+      return `${val.slice(0, i)}${res}`;
     }
-    exports2.parseRetryAfter = parseRetryAfter;
-    function getErrorFromResponse(response) {
-      const error3 = accessBodyProperty(response, "error");
-      if (!error3) {
-        logger_js_1.logger.warning(`The long-running operation failed but there is no error property in the response's body`);
-        return;
+    function getMessage(key, msg, args) {
+      if (typeof msg === "function") {
+        assert(
+          msg.length <= args.length,
+          // Default options do not count.
+          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
+        );
+        return msg(...args);
       }
-      if (!error3.code || !error3.message) {
-        logger_js_1.logger.warning(`The long-running operation failed but the error property in the response's body doesn't contain code or message`);
-        return;
+      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
+      assert(
+        expectedLength === args.length,
+        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
+      );
+      if (args.length === 0) {
+        return msg;
       }
-      return error3;
+      return format(msg, ...args);
     }
-    exports2.getErrorFromResponse = getErrorFromResponse;
-    function calculatePollingIntervalFromDate(retryAfterDate) {
-      const timeNow = Math.floor((/* @__PURE__ */ new Date()).getTime());
-      const retryAfterTime = retryAfterDate.getTime();
-      if (timeNow < retryAfterTime) {
-        return retryAfterTime - timeNow;
+    function E(code, message, Base) {
+      if (!Base) {
+        Base = Error;
       }
-      return void 0;
-    }
-    function getStatusFromInitialResponse(inputs) {
-      const { response, state, operationLocation } = inputs;
-      function helper() {
-        var _a;
-        const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-        switch (mode) {
-          case void 0:
-            return toOperationStatus(response.rawResponse.statusCode);
-          case "Body":
-            return getOperationStatus(response, state);
-          default:
-            return "running";
+      class NodeError extends Base {
+        constructor(...args) {
+          super(getMessage(code, message, args));
+        }
+        toString() {
+          return `${this.name} [${code}]: ${this.message}`;
         }
       }
-      const status = helper();
-      return status === "running" && operationLocation === void 0 ? "succeeded" : status;
-    }
-    exports2.getStatusFromInitialResponse = getStatusFromInitialResponse;
-    async function initHttpOperation(inputs) {
-      const { stateProxy, resourceLocationConfig, processResult, lro, setErrorAsResult } = inputs;
-      return (0, operation_js_1.initOperation)({
-        init: async () => {
-          const response = await lro.sendInitialRequest();
-          const config = inferLroMode({
-            rawResponse: response.rawResponse,
-            requestPath: lro.requestPath,
-            requestMethod: lro.requestMethod,
-            resourceLocationConfig
-          });
-          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
+      Object.defineProperties(NodeError.prototype, {
+        name: {
+          value: Base.name,
+          writable: true,
+          enumerable: false,
+          configurable: true
         },
-        stateProxy,
-        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse,
-        getOperationStatus: getStatusFromInitialResponse,
-        setErrorAsResult
+        toString: {
+          value() {
+            return `${this.name} [${code}]: ${this.message}`;
+          },
+          writable: true,
+          enumerable: false,
+          configurable: true
+        }
+      });
+      NodeError.prototype.code = code;
+      NodeError.prototype[kIsNodeError] = true;
+      codes[code] = NodeError;
+    }
+    function hideStackFrames(fn) {
+      const hidden = nodeInternalPrefix + fn.name;
+      Object.defineProperty(fn, "name", {
+        value: hidden
       });
+      return fn;
     }
-    exports2.initHttpOperation = initHttpOperation;
-    function getOperationLocation({ rawResponse }, state) {
-      var _a;
-      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-      switch (mode) {
-        case "OperationLocation": {
-          return getOperationLocationPollingUrl({
-            operationLocation: getOperationLocationHeader(rawResponse),
-            azureAsyncOperation: getAzureAsyncOperationHeader(rawResponse)
-          });
-        }
-        case "ResourceLocation": {
-          return getLocationHeader(rawResponse);
-        }
-        case "Body":
-        default: {
-          return void 0;
+    function aggregateTwoErrors(innerError, outerError) {
+      if (innerError && outerError && innerError !== outerError) {
+        if (Array.isArray(outerError.errors)) {
+          outerError.errors.push(innerError);
+          return outerError;
         }
+        const err = new AggregateError([outerError, innerError], outerError.message);
+        err.code = outerError.code;
+        return err;
       }
+      return innerError || outerError;
     }
-    exports2.getOperationLocation = getOperationLocation;
-    function getOperationStatus({ rawResponse }, state) {
-      var _a;
-      const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"];
-      switch (mode) {
-        case "OperationLocation": {
-          return getStatus(rawResponse);
+    var AbortError = class extends Error {
+      constructor(message = "The operation was aborted", options = void 0) {
+        if (options !== void 0 && typeof options !== "object") {
+          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
         }
-        case "ResourceLocation": {
-          return toOperationStatus(rawResponse.statusCode);
+        super(message, options);
+        this.code = "ABORT_ERR";
+        this.name = "AbortError";
+      }
+    };
+    E("ERR_ASSERTION", "%s", Error);
+    E(
+      "ERR_INVALID_ARG_TYPE",
+      (name, expected, actual) => {
+        assert(typeof name === "string", "'name' must be a string");
+        if (!Array.isArray(expected)) {
+          expected = [expected];
         }
-        case "Body": {
-          return getProvisioningState(rawResponse);
+        let msg = "The ";
+        if (name.endsWith(" argument")) {
+          msg += `${name} `;
+        } else {
+          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
         }
-        default:
-          throw new Error(`Internal error: Unexpected operation mode: ${mode}`);
-      }
-    }
-    exports2.getOperationStatus = getOperationStatus;
-    function accessBodyProperty({ flatResponse, rawResponse }, prop) {
-      var _a, _b;
-      return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop];
-    }
-    function getResourceLocation(res, state) {
-      const loc = accessBodyProperty(res, "resourceLocation");
-      if (loc && typeof loc === "string") {
-        state.config.resourceLocation = loc;
-      }
-      return state.config.resourceLocation;
-    }
-    exports2.getResourceLocation = getResourceLocation;
-    function isOperationError(e) {
-      return e.name === "RestError";
-    }
-    exports2.isOperationError = isOperationError;
-    async function pollHttpOperation(inputs) {
-      const { lro, stateProxy, options, processResult, updateState, setDelay, state, setErrorAsResult } = inputs;
-      return (0, operation_js_1.pollOperation)({
-        state,
-        stateProxy,
-        setDelay,
-        processResult: processResult ? ({ flatResponse }, inputState) => processResult(flatResponse, inputState) : ({ flatResponse }) => flatResponse,
-        getError: getErrorFromResponse,
-        updateState,
-        getPollingInterval: parseRetryAfter,
-        getOperationLocation,
-        getOperationStatus,
-        isOperationError,
-        getResourceLocation,
-        options,
-        /**
-         * The expansion here is intentional because `lro` could be an object that
-         * references an inner this, so we need to preserve a reference to it.
-         */
-        poll: async (location, inputOptions) => lro.sendPollRequest(location, inputOptions),
-        setErrorAsResult
-      });
-    }
-    exports2.pollHttpOperation = pollHttpOperation;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/poller/poller.js
-var require_poller = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/poller/poller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.buildCreatePoller = void 0;
-    var operation_js_1 = require_operation();
-    var constants_js_1 = require_constants16();
-    var core_util_1 = require_commonjs6();
-    var createStateProxy = () => ({
-      /**
-       * The state at this point is created to be of type OperationState.
-       * It will be updated later to be of type TState when the
-       * customer-provided callback, `updateState`, is called during polling.
-       */
-      initState: (config) => ({ status: "running", config }),
-      setCanceled: (state) => state.status = "canceled",
-      setError: (state, error3) => state.error = error3,
-      setResult: (state, result) => state.result = result,
-      setRunning: (state) => state.status = "running",
-      setSucceeded: (state) => state.status = "succeeded",
-      setFailed: (state) => state.status = "failed",
-      getError: (state) => state.error,
-      getResult: (state) => state.result,
-      isCanceled: (state) => state.status === "canceled",
-      isFailed: (state) => state.status === "failed",
-      isRunning: (state) => state.status === "running",
-      isSucceeded: (state) => state.status === "succeeded"
-    });
-    function buildCreatePoller(inputs) {
-      const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs;
-      return async ({ init, poll }, options) => {
-        const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {};
-        const stateProxy = createStateProxy();
-        const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => {
-          let called = false;
-          return (operationLocation, isUpdated) => {
-            if (isUpdated)
-              withOperationLocationCallback(operationLocation);
-            else if (!called)
-              withOperationLocationCallback(operationLocation);
-            called = true;
-          };
-        })() : void 0;
-        const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({
-          init,
-          stateProxy,
-          processResult,
-          getOperationStatus: getStatusFromInitialResponse,
-          withOperationLocation,
-          setErrorAsResult: !resolveOnUnsuccessful
-        });
-        let resultPromise;
-        const abortController = new AbortController();
-        const handlers = /* @__PURE__ */ new Map();
-        const handleProgressEvents = async () => handlers.forEach((h) => h(state));
-        const cancelErrMsg = "Operation was canceled";
-        let currentPollIntervalInMs = intervalInMs;
-        const poller = {
-          getOperationState: () => state,
-          getResult: () => state.result,
-          isDone: () => ["succeeded", "failed", "canceled"].includes(state.status),
-          isStopped: () => resultPromise === void 0,
-          stopPolling: () => {
-            abortController.abort();
-          },
-          toString: () => JSON.stringify({
-            state
-          }),
-          onProgress: (callback) => {
-            const s = /* @__PURE__ */ Symbol();
-            handlers.set(s, callback);
-            return () => handlers.delete(s);
-          },
-          pollUntilDone: (pollOptions) => resultPromise !== null && resultPromise !== void 0 ? resultPromise : resultPromise = (async () => {
-            const { abortSignal: inputAbortSignal } = pollOptions || {};
-            function abortListener() {
-              abortController.abort();
-            }
-            const abortSignal = abortController.signal;
-            if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
-              abortController.abort();
-            } else if (!abortSignal.aborted) {
-              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
-            }
-            try {
-              if (!poller.isDone()) {
-                await poller.poll({ abortSignal });
-                while (!poller.isDone()) {
-                  await (0, core_util_1.delay)(currentPollIntervalInMs, { abortSignal });
-                  await poller.poll({ abortSignal });
-                }
-              }
-            } finally {
-              inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
+        msg += "must be ";
+        const types = [];
+        const instances = [];
+        const other = [];
+        for (const value of expected) {
+          assert(typeof value === "string", "All expected entries have to be of type string");
+          if (kTypes.includes(value)) {
+            types.push(value.toLowerCase());
+          } else if (classRegExp.test(value)) {
+            instances.push(value);
+          } else {
+            assert(value !== "object", 'The value "object" should be written as "Object"');
+            other.push(value);
+          }
+        }
+        if (instances.length > 0) {
+          const pos = types.indexOf("object");
+          if (pos !== -1) {
+            types.splice(types, pos, 1);
+            instances.push("Object");
+          }
+        }
+        if (types.length > 0) {
+          switch (types.length) {
+            case 1:
+              msg += `of type ${types[0]}`;
+              break;
+            case 2:
+              msg += `one of type ${types[0]} or ${types[1]}`;
+              break;
+            default: {
+              const last = types.pop();
+              msg += `one of type ${types.join(", ")}, or ${last}`;
             }
-            if (resolveOnUnsuccessful) {
-              return poller.getResult();
-            } else {
-              switch (state.status) {
-                case "succeeded":
-                  return poller.getResult();
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-                case "notStarted":
-                case "running":
-                  throw new Error(`Polling completed without succeeding or failing`);
-              }
+          }
+          if (instances.length > 0 || other.length > 0) {
+            msg += " or ";
+          }
+        }
+        if (instances.length > 0) {
+          switch (instances.length) {
+            case 1:
+              msg += `an instance of ${instances[0]}`;
+              break;
+            case 2:
+              msg += `an instance of ${instances[0]} or ${instances[1]}`;
+              break;
+            default: {
+              const last = instances.pop();
+              msg += `an instance of ${instances.join(", ")}, or ${last}`;
             }
-          })().finally(() => {
-            resultPromise = void 0;
-          }),
-          async poll(pollOptions) {
-            if (resolveOnUnsuccessful) {
-              if (poller.isDone())
-                return;
-            } else {
-              switch (state.status) {
-                case "succeeded":
-                  return;
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-              }
+          }
+          if (other.length > 0) {
+            msg += " or ";
+          }
+        }
+        switch (other.length) {
+          case 0:
+            break;
+          case 1:
+            if (other[0].toLowerCase() !== other[0]) {
+              msg += "an ";
             }
-            await (0, operation_js_1.pollOperation)({
-              poll,
-              state,
-              stateProxy,
-              getOperationLocation,
-              isOperationError,
-              withOperationLocation,
-              getPollingInterval,
-              getOperationStatus: getStatusFromPollResponse,
-              getResourceLocation,
-              processResult,
-              getError,
-              updateState,
-              options: pollOptions,
-              setDelay: (pollIntervalInMs) => {
-                currentPollIntervalInMs = pollIntervalInMs;
-              },
-              setErrorAsResult: !resolveOnUnsuccessful
+            msg += `${other[0]}`;
+            break;
+          case 2:
+            msg += `one of ${other[0]} or ${other[1]}`;
+            break;
+          default: {
+            const last = other.pop();
+            msg += `one of ${other.join(", ")}, or ${last}`;
+          }
+        }
+        if (actual == null) {
+          msg += `. Received ${actual}`;
+        } else if (typeof actual === "function" && actual.name) {
+          msg += `. Received function ${actual.name}`;
+        } else if (typeof actual === "object") {
+          var _actual$constructor;
+          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
+            msg += `. Received an instance of ${actual.constructor.name}`;
+          } else {
+            const inspected = inspect(actual, {
+              depth: -1
             });
-            await handleProgressEvents();
-            if (!resolveOnUnsuccessful) {
-              switch (state.status) {
-                case "canceled":
-                  throw new Error(cancelErrMsg);
-                case "failed":
-                  throw state.error;
-              }
+            msg += `. Received ${inspected}`;
+          }
+        } else {
+          let inspected = inspect(actual, {
+            colors: false
+          });
+          if (inspected.length > 25) {
+            inspected = `${inspected.slice(0, 25)}...`;
+          }
+          msg += `. Received type ${typeof actual} (${inspected})`;
+        }
+        return msg;
+      },
+      TypeError
+    );
+    E(
+      "ERR_INVALID_ARG_VALUE",
+      (name, value, reason = "is invalid") => {
+        let inspected = inspect(value);
+        if (inspected.length > 128) {
+          inspected = inspected.slice(0, 128) + "...";
+        }
+        const type2 = name.includes(".") ? "property" : "argument";
+        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_INVALID_RETURN_VALUE",
+      (input, name, value) => {
+        var _value$constructor;
+        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
+        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_MISSING_ARGS",
+      (...args) => {
+        assert(args.length > 0, "At least one arg needs to be specified");
+        let msg;
+        const len = args.length;
+        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
+        switch (len) {
+          case 1:
+            msg += `The ${args[0]} argument`;
+            break;
+          case 2:
+            msg += `The ${args[0]} and ${args[1]} arguments`;
+            break;
+          default:
+            {
+              const last = args.pop();
+              msg += `The ${args.join(", ")}, and ${last} arguments`;
             }
+            break;
+        }
+        return `${msg} must be specified`;
+      },
+      TypeError
+    );
+    E(
+      "ERR_OUT_OF_RANGE",
+      (str2, range, input) => {
+        assert(range, 'Missing "range" argument');
+        let received;
+        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
+          received = addNumericalSeparator(String(input));
+        } else if (typeof input === "bigint") {
+          received = String(input);
+          if (input > 2n ** 32n || input < -(2n ** 32n)) {
+            received = addNumericalSeparator(received);
           }
-        };
-        return poller;
-      };
-    }
-    exports2.buildCreatePoller = buildCreatePoller;
+          received += "n";
+        } else {
+          received = inspect(input);
+        }
+        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
+      },
+      RangeError
+    );
+    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
+    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
+    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
+    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
+    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
+    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
+    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
+    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
+    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
+    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
+    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
+    module2.exports = {
+      AbortError,
+      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
+      hideStackFrames,
+      codes
+    };
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/http/poller.js
-var require_poller2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/http/poller.js"(exports2) {
+// node_modules/readable-stream/lib/internal/validators.js
+var require_validators = __commonJS({
+  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpPoller = void 0;
-    var operation_js_1 = require_operation2();
-    var poller_js_1 = require_poller();
-    async function createHttpPoller(lro, options) {
-      const { resourceLocationConfig, intervalInMs, processResult, restoreFrom, updateState, withOperationLocation, resolveOnUnsuccessful = false } = options || {};
-      return (0, poller_js_1.buildCreatePoller)({
-        getStatusFromInitialResponse: operation_js_1.getStatusFromInitialResponse,
-        getStatusFromPollResponse: operation_js_1.getOperationStatus,
-        isOperationError: operation_js_1.isOperationError,
-        getOperationLocation: operation_js_1.getOperationLocation,
-        getResourceLocation: operation_js_1.getResourceLocation,
-        getPollingInterval: operation_js_1.parseRetryAfter,
-        getError: operation_js_1.getErrorFromResponse,
-        resolveOnUnsuccessful
-      })({
-        init: async () => {
-          const response = await lro.sendInitialRequest();
-          const config = (0, operation_js_1.inferLroMode)({
-            rawResponse: response.rawResponse,
-            requestPath: lro.requestPath,
-            requestMethod: lro.requestMethod,
-            resourceLocationConfig
-          });
-          return Object.assign({ response, operationLocation: config === null || config === void 0 ? void 0 : config.operationLocation, resourceLocation: config === null || config === void 0 ? void 0 : config.resourceLocation }, (config === null || config === void 0 ? void 0 : config.mode) ? { metadata: { mode: config.mode } } : {});
-        },
-        poll: lro.sendPollRequest
-      }, {
-        intervalInMs,
-        withOperationLocation,
-        restoreFrom,
-        updateState,
-        processResult: processResult ? ({ flatResponse }, state) => processResult(flatResponse, state) : ({ flatResponse }) => flatResponse
-      });
+    var {
+      ArrayIsArray,
+      ArrayPrototypeIncludes,
+      ArrayPrototypeJoin,
+      ArrayPrototypeMap,
+      NumberIsInteger,
+      NumberIsNaN,
+      NumberMAX_SAFE_INTEGER,
+      NumberMIN_SAFE_INTEGER,
+      NumberParseInt,
+      ObjectPrototypeHasOwnProperty,
+      RegExpPrototypeExec,
+      String: String2,
+      StringPrototypeToUpperCase,
+      StringPrototypeTrim
+    } = require_primordials();
+    var {
+      hideStackFrames,
+      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
+    } = require_errors4();
+    var { normalizeEncoding } = require_util20();
+    var { isAsyncFunction, isArrayBufferView } = require_util20().types;
+    var signals = {};
+    function isInt32(value) {
+      return value === (value | 0);
     }
-    exports2.createHttpPoller = createHttpPoller;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js
-var require_operation3 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/operation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GenericPollOperation = void 0;
-    var operation_js_1 = require_operation2();
-    var logger_js_1 = require_logger2();
-    var createStateProxy = () => ({
-      initState: (config) => ({ config, isStarted: true }),
-      setCanceled: (state) => state.isCancelled = true,
-      setError: (state, error3) => state.error = error3,
-      setResult: (state, result) => state.result = result,
-      setRunning: (state) => state.isStarted = true,
-      setSucceeded: (state) => state.isCompleted = true,
-      setFailed: () => {
-      },
-      getError: (state) => state.error,
-      getResult: (state) => state.result,
-      isCanceled: (state) => !!state.isCancelled,
-      isFailed: (state) => !!state.error,
-      isRunning: (state) => !!state.isStarted,
-      isSucceeded: (state) => Boolean(state.isCompleted && !state.isCancelled && !state.error)
-    });
-    var GenericPollOperation = class {
-      constructor(state, lro, setErrorAsResult, lroResourceLocationConfig, processResult, updateState, isDone) {
-        this.state = state;
-        this.lro = lro;
-        this.setErrorAsResult = setErrorAsResult;
-        this.lroResourceLocationConfig = lroResourceLocationConfig;
-        this.processResult = processResult;
-        this.updateState = updateState;
-        this.isDone = isDone;
-      }
-      setPollerConfig(pollerConfig) {
-        this.pollerConfig = pollerConfig;
+    function isUint32(value) {
+      return value === value >>> 0;
+    }
+    var octalReg = /^[0-7]+$/;
+    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
+    function parseFileMode(value, name, def) {
+      if (typeof value === "undefined") {
+        value = def;
       }
-      async update(options) {
-        var _a;
-        const stateProxy = createStateProxy();
-        if (!this.state.isStarted) {
-          this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({
-            lro: this.lro,
-            stateProxy,
-            resourceLocationConfig: this.lroResourceLocationConfig,
-            processResult: this.processResult,
-            setErrorAsResult: this.setErrorAsResult
-          }));
-        }
-        const updateState = this.updateState;
-        const isDone = this.isDone;
-        if (!this.state.isCompleted && this.state.error === void 0) {
-          await (0, operation_js_1.pollHttpOperation)({
-            lro: this.lro,
-            state: this.state,
-            stateProxy,
-            processResult: this.processResult,
-            updateState: updateState ? (state, { rawResponse }) => updateState(state, rawResponse) : void 0,
-            isDone: isDone ? ({ flatResponse }, state) => isDone(flatResponse, state) : void 0,
-            options,
-            setDelay: (intervalInMs) => {
-              this.pollerConfig.intervalInMs = intervalInMs;
-            },
-            setErrorAsResult: this.setErrorAsResult
-          });
+      if (typeof value === "string") {
+        if (RegExpPrototypeExec(octalReg, value) === null) {
+          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
         }
-        (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state);
-        return this;
+        value = NumberParseInt(value, 8);
       }
-      async cancel() {
-        logger_js_1.logger.error("`cancelOperation` is deprecated because it wasn't implemented");
-        return this;
+      validateUint32(value, name);
+      return value;
+    }
+    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
+      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+    });
+    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
+      if (typeof value !== "number") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
       }
-      /**
-       * Serializes the Poller operation.
-       */
-      toString() {
-        return JSON.stringify({
-          state: this.state
-        });
+      if (!NumberIsInteger(value)) {
+        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
       }
-    };
-    exports2.GenericPollOperation = GenericPollOperation;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js
-var require_poller3 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/poller.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Poller = exports2.PollerCancelledError = exports2.PollerStoppedError = void 0;
-    var PollerStoppedError = class _PollerStoppedError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "PollerStoppedError";
-        Object.setPrototypeOf(this, _PollerStoppedError.prototype);
+      if (value < min || value > max) {
+        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
       }
-    };
-    exports2.PollerStoppedError = PollerStoppedError;
-    var PollerCancelledError = class _PollerCancelledError extends Error {
-      constructor(message) {
-        super(message);
-        this.name = "PollerCancelledError";
-        Object.setPrototypeOf(this, _PollerCancelledError.prototype);
+    });
+    var validateUint32 = hideStackFrames((value, name, positive = false) => {
+      if (typeof value !== "number") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
       }
-    };
-    exports2.PollerCancelledError = PollerCancelledError;
-    var Poller = class {
-      /**
-       * A poller needs to be initialized by passing in at least the basic properties of the `PollOperation`.
-       *
-       * When writing an implementation of a Poller, this implementation needs to deal with the initialization
-       * of any custom state beyond the basic definition of the poller. The basic poller assumes that the poller's
-       * operation has already been defined, at least its basic properties. The code below shows how to approach
-       * the definition of the constructor of a new custom poller.
-       *
-       * ```ts
-       * export class MyPoller extends Poller {
-       *   constructor({
-       *     // Anything you might need outside of the basics
-       *   }) {
-       *     let state: MyOperationState = {
-       *       privateProperty: private,
-       *       publicProperty: public,
-       *     };
-       *
-       *     const operation = {
-       *       state,
-       *       update,
-       *       cancel,
-       *       toString
-       *     }
-       *
-       *     // Sending the operation to the parent's constructor.
-       *     super(operation);
-       *
-       *     // You can assign more local properties here.
-       *   }
-       * }
-       * ```
-       *
-       * Inside of this constructor, a new promise is created. This will be used to
-       * tell the user when the poller finishes (see `pollUntilDone()`). The promise's
-       * resolve and reject methods are also used internally to control when to resolve
-       * or reject anyone waiting for the poller to finish.
-       *
-       * The constructor of a custom implementation of a poller is where any serialized version of
-       * a previous poller's operation should be deserialized into the operation sent to the
-       * base constructor. For example:
-       *
-       * ```ts
-       * export class MyPoller extends Poller {
-       *   constructor(
-       *     baseOperation: string | undefined
-       *   ) {
-       *     let state: MyOperationState = {};
-       *     if (baseOperation) {
-       *       state = {
-       *         ...JSON.parse(baseOperation).state,
-       *         ...state
-       *       };
-       *     }
-       *     const operation = {
-       *       state,
-       *       // ...
-       *     }
-       *     super(operation);
-       *   }
-       * }
-       * ```
-       *
-       * @param operation - Must contain the basic properties of `PollOperation`.
-       */
-      constructor(operation) {
-        this.resolveOnUnsuccessful = false;
-        this.stopped = true;
-        this.pollProgressCallbacks = [];
-        this.operation = operation;
-        this.promise = new Promise((resolve2, reject) => {
-          this.resolve = resolve2;
-          this.reject = reject;
-        });
-        this.promise.catch(() => {
-        });
+      if (!NumberIsInteger(value)) {
+        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
       }
-      /**
-       * Starts a loop that will break only if the poller is done
-       * or if the poller is stopped.
-       */
-      async startPolling(pollOptions = {}) {
-        if (this.stopped) {
-          this.stopped = false;
-        }
-        while (!this.isStopped() && !this.isDone()) {
-          await this.poll(pollOptions);
-          await this.delay();
-        }
+      const min = positive ? 1 : 0;
+      const max = 4294967295;
+      if (value < min || value > max) {
+        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
       }
-      /**
-       * pollOnce does one polling, by calling to the update method of the underlying
-       * poll operation to make any relevant change effective.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      async pollOnce(options = {}) {
-        if (!this.isDone()) {
-          this.operation = await this.operation.update({
-            abortSignal: options.abortSignal,
-            fireProgress: this.fireProgress.bind(this)
-          });
-        }
-        this.processUpdatedState();
+    });
+    function validateString(value, name) {
+      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
+    }
+    function validateNumber(value, name, min = void 0, max) {
+      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
+        throw new ERR_OUT_OF_RANGE(
+          name,
+          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
+          value
+        );
       }
-      /**
-       * fireProgress calls the functions passed in via onProgress the method of the poller.
-       *
-       * It loops over all of the callbacks received from onProgress, and executes them, sending them
-       * the current operation state.
-       *
-       * @param state - The current operation state.
-       */
-      fireProgress(state) {
-        for (const callback of this.pollProgressCallbacks) {
-          callback(state);
-        }
+    }
+    var validateOneOf = hideStackFrames((value, name, oneOf) => {
+      if (!ArrayPrototypeIncludes(oneOf, value)) {
+        const allowed = ArrayPrototypeJoin(
+          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
+          ", "
+        );
+        const reason = "must be one of: " + allowed;
+        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      }
+    });
+    function validateBoolean(value, name) {
+      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
+    }
+    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
+      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
+    }
+    var validateObject = hideStackFrames((value, name, options = null) => {
+      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
+      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
+      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
+      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
       }
-      /**
-       * Invokes the underlying operation's cancel method.
-       */
-      async cancelOnce(options = {}) {
-        this.operation = await this.operation.cancel(options);
+    });
+    var validateDictionary = hideStackFrames((value, name) => {
+      if (value != null && typeof value !== "object" && typeof value !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
       }
-      /**
-       * Returns a promise that will resolve once a single polling request finishes.
-       * It does this by calling the update method of the Poller's operation.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      poll(options = {}) {
-        if (!this.pollOncePromise) {
-          this.pollOncePromise = this.pollOnce(options);
-          const clearPollOncePromise = () => {
-            this.pollOncePromise = void 0;
-          };
-          this.pollOncePromise.then(clearPollOncePromise, clearPollOncePromise).catch(this.reject);
-        }
-        return this.pollOncePromise;
+    });
+    var validateArray = hideStackFrames((value, name, minLength = 0) => {
+      if (!ArrayIsArray(value)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
       }
-      processUpdatedState() {
-        if (this.operation.state.error) {
-          this.stopped = true;
-          if (!this.resolveOnUnsuccessful) {
-            this.reject(this.operation.state.error);
-            throw this.operation.state.error;
-          }
-        }
-        if (this.operation.state.isCancelled) {
-          this.stopped = true;
-          if (!this.resolveOnUnsuccessful) {
-            const error3 = new PollerCancelledError("Operation was canceled");
-            this.reject(error3);
-            throw error3;
-          }
-        }
-        if (this.isDone() && this.resolve) {
-          this.resolve(this.getResult());
-        }
+      if (value.length < minLength) {
+        const reason = `must be longer than ${minLength}`;
+        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
       }
-      /**
-       * Returns a promise that will resolve once the underlying operation is completed.
-       */
-      async pollUntilDone(pollOptions = {}) {
-        if (this.stopped) {
-          this.startPolling(pollOptions).catch(this.reject);
-        }
-        this.processUpdatedState();
-        return this.promise;
+    });
+    function validateStringArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        validateString(value[i], `${name}[${i}]`);
       }
-      /**
-       * Invokes the provided callback after each polling is completed,
-       * sending the current state of the poller's operation.
-       *
-       * It returns a method that can be used to stop receiving updates on the given callback function.
-       */
-      onProgress(callback) {
-        this.pollProgressCallbacks.push(callback);
-        return () => {
-          this.pollProgressCallbacks = this.pollProgressCallbacks.filter((c) => c !== callback);
-        };
+    }
+    function validateBooleanArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        validateBoolean(value[i], `${name}[${i}]`);
       }
-      /**
-       * Returns true if the poller has finished polling.
-       */
-      isDone() {
-        const state = this.operation.state;
-        return Boolean(state.isCompleted || state.isCancelled || state.error);
+    }
+    function validateAbortSignalArray(value, name) {
+      validateArray(value, name);
+      for (let i = 0; i < value.length; i++) {
+        const signal = value[i];
+        const indexedName = `${name}[${i}]`;
+        if (signal == null) {
+          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
+        }
+        validateAbortSignal(signal, indexedName);
       }
-      /**
-       * Stops the poller from continuing to poll.
-       */
-      stopPolling() {
-        if (!this.stopped) {
-          this.stopped = true;
-          if (this.reject) {
-            this.reject(new PollerStoppedError("This poller is already stopped"));
-          }
+    }
+    function validateSignalName(signal, name = "signal") {
+      validateString(signal, name);
+      if (signals[signal] === void 0) {
+        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
+          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
         }
+        throw new ERR_UNKNOWN_SIGNAL(signal);
       }
-      /**
-       * Returns true if the poller is stopped.
-       */
-      isStopped() {
-        return this.stopped;
+    }
+    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
+      if (!isArrayBufferView(buffer)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
       }
-      /**
-       * Attempts to cancel the underlying operation.
-       *
-       * It only optionally receives an object with an abortSignal property, from \@azure/abort-controller's AbortSignalLike.
-       *
-       * If it's called again before it finishes, it will throw an error.
-       *
-       * @param options - Optional properties passed to the operation's update method.
-       */
-      cancelOperation(options = {}) {
-        if (!this.cancelPromise) {
-          this.cancelPromise = this.cancelOnce(options);
-        } else if (options.abortSignal) {
-          throw new Error("A cancel request is currently pending");
-        }
-        return this.cancelPromise;
+    });
+    function validateEncoding(data, encoding) {
+      const normalizedEncoding = normalizeEncoding(encoding);
+      const length = data.length;
+      if (normalizedEncoding === "hex" && length % 2 !== 0) {
+        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
       }
-      /**
-       * Returns the state of the operation.
-       *
-       * Even though TState will be the same type inside any of the methods of any extension of the Poller class,
-       * implementations of the pollers can customize what's shared with the public by writing their own
-       * version of the `getOperationState` method, and by defining two types, one representing the internal state of the poller
-       * and a public type representing a safe to share subset of the properties of the internal state.
-       * Their definition of getOperationState can then return their public type.
-       *
-       * Example:
-       *
-       * ```ts
-       * // Let's say we have our poller's operation state defined as:
-       * interface MyOperationState extends PollOperationState {
-       *   privateProperty?: string;
-       *   publicProperty?: string;
-       * }
-       *
-       * // To allow us to have a true separation of public and private state, we have to define another interface:
-       * interface PublicState extends PollOperationState {
-       *   publicProperty?: string;
-       * }
-       *
-       * // Then, we define our Poller as follows:
-       * export class MyPoller extends Poller {
-       *   // ... More content is needed here ...
-       *
-       *   public getOperationState(): PublicState {
-       *     const state: PublicState = this.operation.state;
-       *     return {
-       *       // Properties from PollOperationState
-       *       isStarted: state.isStarted,
-       *       isCompleted: state.isCompleted,
-       *       isCancelled: state.isCancelled,
-       *       error: state.error,
-       *       result: state.result,
-       *
-       *       // The only other property needed by PublicState.
-       *       publicProperty: state.publicProperty
-       *     }
-       *   }
-       * }
-       * ```
-       *
-       * You can see this in the tests of this repository, go to the file:
-       * `../test/utils/testPoller.ts`
-       * and look for the getOperationState implementation.
-       */
-      getOperationState() {
-        return this.operation.state;
+    }
+    function validatePort(port, name = "Port", allowZero = true) {
+      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
+        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
       }
-      /**
-       * Returns the result value of the operation,
-       * regardless of the state of the poller.
-       * It can return undefined or an incomplete form of the final TResult value
-       * depending on the implementation.
-       */
-      getResult() {
-        const state = this.operation.state;
-        return state.result;
+      return port | 0;
+    }
+    var validateAbortSignal = hideStackFrames((signal, name) => {
+      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
       }
-      /**
-       * Returns a serialized version of the poller's operation
-       * by invoking the operation's toString method.
-       */
-      toString() {
-        return this.operation.toString();
+    });
+    var validateFunction = hideStackFrames((value, name) => {
+      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
+    });
+    var validatePlainFunction = hideStackFrames((value, name) => {
+      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
+    });
+    var validateUndefined = hideStackFrames((value, name) => {
+      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
+    });
+    function validateUnion(value, name, union) {
+      if (!ArrayPrototypeIncludes(union, value)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
       }
-    };
-    exports2.Poller = Poller;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js
-var require_lroEngine = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/lroEngine.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LroEngine = void 0;
-    var operation_js_1 = require_operation3();
-    var constants_js_1 = require_constants16();
-    var poller_js_1 = require_poller3();
-    var operation_js_2 = require_operation();
-    var LroEngine = class extends poller_js_1.Poller {
-      constructor(lro, options) {
-        const { intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, resumeFrom, resolveOnUnsuccessful = false, isDone, lroResourceLocationConfig, processResult, updateState } = options || {};
-        const state = resumeFrom ? (0, operation_js_2.deserializeState)(resumeFrom) : {};
-        const operation = new operation_js_1.GenericPollOperation(state, lro, !resolveOnUnsuccessful, lroResourceLocationConfig, processResult, updateState, isDone);
-        super(operation);
-        this.resolveOnUnsuccessful = resolveOnUnsuccessful;
-        this.config = { intervalInMs };
-        operation.setPollerConfig(this.config);
+    }
+    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
+    function validateLinkHeaderFormat(value, name) {
+      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
+        throw new ERR_INVALID_ARG_VALUE(
+          name,
+          value,
+          'must be an array or string of format "; rel=preload; as=style"'
+        );
       }
-      /**
-       * The method used by the poller to wait before attempting to update its operation.
-       */
-      delay() {
-        return new Promise((resolve2) => setTimeout(() => resolve2(), this.config.intervalInMs));
+    }
+    function validateLinkHeaderValue(hints) {
+      if (typeof hints === "string") {
+        validateLinkHeaderFormat(hints, "hints");
+        return hints;
+      } else if (ArrayIsArray(hints)) {
+        const hintsLength = hints.length;
+        let result = "";
+        if (hintsLength === 0) {
+          return result;
+        }
+        for (let i = 0; i < hintsLength; i++) {
+          const link = hints[i];
+          validateLinkHeaderFormat(link, "hints");
+          result += link;
+          if (i !== hintsLength - 1) {
+            result += ", ";
+          }
+        }
+        return result;
       }
+      throw new ERR_INVALID_ARG_VALUE(
+        "hints",
+        hints,
+        'must be an array or string of format "; rel=preload; as=style"'
+      );
+    }
+    module2.exports = {
+      isInt32,
+      isUint32,
+      parseFileMode,
+      validateArray,
+      validateStringArray,
+      validateBooleanArray,
+      validateAbortSignalArray,
+      validateBoolean,
+      validateBuffer,
+      validateDictionary,
+      validateEncoding,
+      validateFunction,
+      validateInt32,
+      validateInteger,
+      validateNumber,
+      validateObject,
+      validateOneOf,
+      validatePlainFunction,
+      validatePort,
+      validateSignalName,
+      validateString,
+      validateUint32,
+      validateUndefined,
+      validateUnion,
+      validateAbortSignal,
+      validateLinkHeaderValue
     };
-    exports2.LroEngine = LroEngine;
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js
-var require_lroEngine2 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/lroEngine/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LroEngine = void 0;
-    var lroEngine_js_1 = require_lroEngine();
-    Object.defineProperty(exports2, "LroEngine", { enumerable: true, get: function() {
-      return lroEngine_js_1.LroEngine;
-    } });
-  }
-});
-
-// node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js
-var require_pollOperation = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/legacy/pollOperation.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
   }
 });
 
-// node_modules/@azure/core-lro/dist/commonjs/index.js
-var require_commonjs16 = __commonJS({
-  "node_modules/@azure/core-lro/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createHttpPoller = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var poller_js_1 = require_poller2();
-    Object.defineProperty(exports2, "createHttpPoller", { enumerable: true, get: function() {
-      return poller_js_1.createHttpPoller;
-    } });
-    tslib_1.__exportStar(require_lroEngine2(), exports2);
-    tslib_1.__exportStar(require_poller3(), exports2);
-    tslib_1.__exportStar(require_pollOperation(), exports2);
+// node_modules/process/index.js
+var require_process = __commonJS({
+  "node_modules/process/index.js"(exports2, module2) {
+    module2.exports = global.process;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js
-var require_BlobStartCopyFromUrlPoller = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/pollers/BlobStartCopyFromUrlPoller.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/utils.js
+var require_utils8 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBeginCopyFromUrlPoller = void 0;
-    var core_util_1 = require_commonjs6();
-    var core_lro_1 = require_commonjs16();
-    var BlobBeginCopyFromUrlPoller = class extends core_lro_1.Poller {
-      intervalInMs;
-      constructor(options) {
-        const { blobClient, copySource, intervalInMs = 15e3, onProgress, resumeFrom, startCopyFromURLOptions } = options;
-        let state;
-        if (resumeFrom) {
-          state = JSON.parse(resumeFrom).state;
-        }
-        const operation = makeBlobBeginCopyFromURLPollOperation({
-          ...state,
-          blobClient,
-          copySource,
-          startCopyFromURLOptions
-        });
-        super(operation);
-        if (typeof onProgress === "function") {
-          this.onProgress(onProgress);
-        }
-        this.intervalInMs = intervalInMs;
+    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
+    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
+    var kIsErrored = SymbolFor("nodejs.stream.errored");
+    var kIsReadable = SymbolFor("nodejs.stream.readable");
+    var kIsWritable = SymbolFor("nodejs.stream.writable");
+    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
+    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
+    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
+    function isReadableNodeStream(obj, strict = false) {
+      var _obj$_readableState;
+      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
+      (!obj._writableState || obj._readableState));
+    }
+    function isWritableNodeStream(obj) {
+      var _obj$_writableState;
+      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
+    }
+    function isDuplexNodeStream(obj) {
+      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
+    }
+    function isNodeStream(obj) {
+      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
+    }
+    function isReadableStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
+    }
+    function isWritableStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
+    }
+    function isTransformStream(obj) {
+      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
+    }
+    function isWebStream(obj) {
+      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
+    }
+    function isIterable(obj, isAsync) {
+      if (obj == null) return false;
+      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
+      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
+      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
+    }
+    function isDestroyed(stream) {
+      if (!isNodeStream(stream)) return null;
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      const state = wState || rState;
+      return !!(stream.destroyed || stream[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
+    }
+    function isWritableEnded(stream) {
+      if (!isWritableNodeStream(stream)) return null;
+      if (stream.writableEnded === true) return true;
+      const wState = stream._writableState;
+      if (wState !== null && wState !== void 0 && wState.errored) return false;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
+      return wState.ended;
+    }
+    function isWritableFinished(stream, strict) {
+      if (!isWritableNodeStream(stream)) return null;
+      if (stream.writableFinished === true) return true;
+      const wState = stream._writableState;
+      if (wState !== null && wState !== void 0 && wState.errored) return false;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
+      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
+    }
+    function isReadableEnded(stream) {
+      if (!isReadableNodeStream(stream)) return null;
+      if (stream.readableEnded === true) return true;
+      const rState = stream._readableState;
+      if (!rState || rState.errored) return false;
+      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
+      return rState.ended;
+    }
+    function isReadableFinished(stream, strict) {
+      if (!isReadableNodeStream(stream)) return null;
+      const rState = stream._readableState;
+      if (rState !== null && rState !== void 0 && rState.errored) return false;
+      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
+      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
+    }
+    function isReadable(stream) {
+      if (stream && stream[kIsReadable] != null) return stream[kIsReadable];
+      if (typeof (stream === null || stream === void 0 ? void 0 : stream.readable) !== "boolean") return null;
+      if (isDestroyed(stream)) return false;
+      return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);
+    }
+    function isWritable(stream) {
+      if (stream && stream[kIsWritable] != null) return stream[kIsWritable];
+      if (typeof (stream === null || stream === void 0 ? void 0 : stream.writable) !== "boolean") return null;
+      if (isDestroyed(stream)) return false;
+      return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);
+    }
+    function isFinished(stream, opts) {
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      delay() {
-        return (0, core_util_1.delay)(this.intervalInMs);
+      if (isDestroyed(stream)) {
+        return true;
       }
-    };
-    exports2.BlobBeginCopyFromUrlPoller = BlobBeginCopyFromUrlPoller;
-    var cancel = async function cancel2(options = {}) {
-      const state = this.state;
-      const { copyId } = state;
-      if (state.isCompleted) {
-        return makeBlobBeginCopyFromURLPollOperation(state);
+      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream)) {
+        return false;
+      }
+      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream)) {
+        return false;
+      }
+      return true;
+    }
+    function isWritableErrored(stream) {
+      var _stream$_writableStat, _stream$_writableStat2;
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      if (!copyId) {
-        state.isCancelled = true;
-        return makeBlobBeginCopyFromURLPollOperation(state);
+      if (stream.writableErrored) {
+        return stream.writableErrored;
       }
-      await state.blobClient.abortCopyFromURL(copyId, {
-        abortSignal: options.abortSignal
-      });
-      state.isCancelled = true;
-      return makeBlobBeginCopyFromURLPollOperation(state);
-    };
-    var update = async function update2(options = {}) {
-      const state = this.state;
-      const { blobClient, copySource, startCopyFromURLOptions } = state;
-      if (!state.isStarted) {
-        state.isStarted = true;
-        const result = await blobClient.startCopyFromURL(copySource, startCopyFromURLOptions);
-        state.copyId = result.copyId;
-        if (result.copyStatus === "success") {
-          state.result = result;
-          state.isCompleted = true;
-        }
-      } else if (!state.isCompleted) {
-        try {
-          const result = await state.blobClient.getProperties({ abortSignal: options.abortSignal });
-          const { copyStatus, copyProgress } = result;
-          const prevCopyProgress = state.copyProgress;
-          if (copyProgress) {
-            state.copyProgress = copyProgress;
-          }
-          if (copyStatus === "pending" && copyProgress !== prevCopyProgress && typeof options.fireProgress === "function") {
-            options.fireProgress(state);
-          } else if (copyStatus === "success") {
-            state.result = result;
-            state.isCompleted = true;
-          } else if (copyStatus === "failed") {
-            state.error = new Error(`Blob copy failed with reason: "${result.copyStatusDescription || "unknown"}"`);
-            state.isCompleted = true;
-          }
-        } catch (err) {
-          state.error = err;
-          state.isCompleted = true;
-        }
+      return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
+    }
+    function isReadableErrored(stream) {
+      var _stream$_readableStat, _stream$_readableStat2;
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      return makeBlobBeginCopyFromURLPollOperation(state);
-    };
-    var toString2 = function toString3() {
-      return JSON.stringify({ state: this.state }, (key, value) => {
-        if (key === "blobClient") {
-          return void 0;
-        }
-        return value;
-      });
-    };
-    function makeBlobBeginCopyFromURLPollOperation(state) {
-      return {
-        state: { ...state },
-        cancel,
-        toString: toString2,
-        update
-      };
+      if (stream.readableErrored) {
+        return stream.readableErrored;
+      }
+      return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
     }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/Range.js
-var require_Range = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Range.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.rangeToString = rangeToString;
-    function rangeToString(iRange) {
-      if (iRange.offset < 0) {
-        throw new RangeError(`Range.offset cannot be smaller than 0.`);
+    function isClosed(stream) {
+      if (!isNodeStream(stream)) {
+        return null;
       }
-      if (iRange.count && iRange.count <= 0) {
-        throw new RangeError(`Range.count must be larger than 0. Leave it undefined if you want a range from offset to the end.`);
+      if (typeof stream.closed === "boolean") {
+        return stream.closed;
       }
-      return iRange.count ? `bytes=${iRange.offset}-${iRange.offset + iRange.count - 1}` : `bytes=${iRange.offset}-`;
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
+        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
+      }
+      if (typeof stream._closed === "boolean" && isOutgoingMessage(stream)) {
+        return stream._closed;
+      }
+      return null;
+    }
+    function isOutgoingMessage(stream) {
+      return typeof stream._closed === "boolean" && typeof stream._defaultKeepAlive === "boolean" && typeof stream._removedConnection === "boolean" && typeof stream._removedContLen === "boolean";
+    }
+    function isServerResponse(stream) {
+      return typeof stream._sent100 === "boolean" && isOutgoingMessage(stream);
+    }
+    function isServerRequest(stream) {
+      var _stream$req;
+      return typeof stream._consuming === "boolean" && typeof stream._dumped === "boolean" && ((_stream$req = stream.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
+    }
+    function willEmitClose(stream) {
+      if (!isNodeStream(stream)) return null;
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      const state = wState || rState;
+      return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
+    }
+    function isDisturbed(stream) {
+      var _stream$kIsDisturbed;
+      return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));
+    }
+    function isErrored(stream) {
+      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
+      return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
     }
+    module2.exports = {
+      isDestroyed,
+      kIsDestroyed,
+      isDisturbed,
+      kIsDisturbed,
+      isErrored,
+      kIsErrored,
+      isReadable,
+      kIsReadable,
+      kIsClosedPromise,
+      kControllerErrorFunction,
+      kIsWritable,
+      isClosed,
+      isDuplexNodeStream,
+      isFinished,
+      isIterable,
+      isReadableNodeStream,
+      isReadableStream,
+      isReadableEnded,
+      isReadableFinished,
+      isReadableErrored,
+      isNodeStream,
+      isWebStream,
+      isWritable,
+      isWritableNodeStream,
+      isWritableStream,
+      isWritableEnded,
+      isWritableFinished,
+      isWritableErrored,
+      isServerRequest,
+      isServerResponse,
+      willEmitClose,
+      isTransformStream
+    };
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js
-var require_Batch = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/Batch.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Batch = void 0;
-    var events_1 = require("events");
-    var BatchStates;
-    (function(BatchStates2) {
-      BatchStates2[BatchStates2["Good"] = 0] = "Good";
-      BatchStates2[BatchStates2["Error"] = 1] = "Error";
-    })(BatchStates || (BatchStates = {}));
-    var Batch = class {
-      /**
-       * Concurrency. Must be lager than 0.
-       */
-      concurrency;
-      /**
-       * Number of active operations under execution.
-       */
-      actives = 0;
-      /**
-       * Number of completed operations under execution.
-       */
-      completed = 0;
-      /**
-       * Offset of next operation to be executed.
-       */
-      offset = 0;
-      /**
-       * Operation array to be executed.
-       */
-      operations = [];
-      /**
-       * States of Batch. When an error happens, state will turn into error.
-       * Batch will stop execute left operations.
-       */
-      state = BatchStates.Good;
-      /**
-       * A private emitter used to pass events inside this class.
-       */
-      emitter;
-      /**
-       * Creates an instance of Batch.
-       * @param concurrency -
-       */
-      constructor(concurrency = 5) {
-        if (concurrency < 1) {
-          throw new RangeError("concurrency must be larger than 0");
-        }
-        this.concurrency = concurrency;
-        this.emitter = new events_1.EventEmitter();
+// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
+var require_end_of_stream = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
+    var process2 = require_process();
+    var { AbortError, codes } = require_errors4();
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
+    var { kEmptyObject, once } = require_util20();
+    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
+    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
+    var {
+      isClosed,
+      isReadable,
+      isReadableNodeStream,
+      isReadableStream,
+      isReadableFinished,
+      isReadableErrored,
+      isWritable,
+      isWritableNodeStream,
+      isWritableStream,
+      isWritableFinished,
+      isWritableErrored,
+      isNodeStream,
+      willEmitClose: _willEmitClose,
+      kIsClosedPromise
+    } = require_utils8();
+    var addAbortListener;
+    function isRequest(stream) {
+      return stream.setHeader && typeof stream.abort === "function";
+    }
+    var nop = () => {
+    };
+    function eos(stream, options, callback) {
+      var _options$readable, _options$writable;
+      if (arguments.length === 2) {
+        callback = options;
+        options = kEmptyObject;
+      } else if (options == null) {
+        options = kEmptyObject;
+      } else {
+        validateObject(options, "options");
       }
-      /**
-       * Add a operation into queue.
-       *
-       * @param operation -
-       */
-      addOperation(operation) {
-        this.operations.push(async () => {
-          try {
-            this.actives++;
-            await operation();
-            this.actives--;
-            this.completed++;
-            this.parallelExecute();
-          } catch (error3) {
-            this.emitter.emit("error", error3);
-          }
-        });
+      validateFunction(callback, "callback");
+      validateAbortSignal(options.signal, "options.signal");
+      callback = once(callback);
+      if (isReadableStream(stream) || isWritableStream(stream)) {
+        return eosWeb(stream, options, callback);
       }
-      /**
-       * Start execute operations in the queue.
-       *
-       */
-      async do() {
-        if (this.operations.length === 0) {
-          return Promise.resolve();
-        }
-        this.parallelExecute();
-        return new Promise((resolve2, reject) => {
-          this.emitter.on("finish", resolve2);
-          this.emitter.on("error", (error3) => {
-            this.state = BatchStates.Error;
-            reject(error3);
-          });
-        });
+      if (!isNodeStream(stream)) {
+        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
       }
-      /**
-       * Get next operation to be executed. Return null when reaching ends.
-       *
-       */
-      nextOperation() {
-        if (this.offset < this.operations.length) {
-          return this.operations[this.offset++];
+      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream);
+      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream);
+      const wState = stream._writableState;
+      const rState = stream._readableState;
+      const onlegacyfinish = () => {
+        if (!stream.writable) {
+          onfinish();
         }
-        return null;
-      }
-      /**
-       * Start execute operations. One one the most important difference between
-       * this method with do() is that do() wraps as an sync method.
-       *
-       */
-      parallelExecute() {
-        if (this.state === BatchStates.Error) {
+      };
+      let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable;
+      let writableFinished = isWritableFinished(stream, false);
+      const onfinish = () => {
+        writableFinished = true;
+        if (stream.destroyed) {
+          willEmitClose = false;
+        }
+        if (willEmitClose && (!stream.readable || readable)) {
           return;
         }
-        if (this.completed >= this.operations.length) {
-          this.emitter.emit("finish");
+        if (!readable || readableFinished) {
+          callback.call(stream);
+        }
+      };
+      let readableFinished = isReadableFinished(stream, false);
+      const onend = () => {
+        readableFinished = true;
+        if (stream.destroyed) {
+          willEmitClose = false;
+        }
+        if (willEmitClose && (!stream.writable || writable)) {
           return;
         }
-        while (this.actives < this.concurrency) {
-          const operation = this.nextOperation();
-          if (operation) {
-            operation();
-          } else {
-            return;
-          }
+        if (!writable || writableFinished) {
+          callback.call(stream);
+        }
+      };
+      const onerror = (err) => {
+        callback.call(stream, err);
+      };
+      let closed = isClosed(stream);
+      const onclose = () => {
+        closed = true;
+        const errored = isWritableErrored(stream) || isReadableErrored(stream);
+        if (errored && typeof errored !== "boolean") {
+          return callback.call(stream, errored);
+        }
+        if (readable && !readableFinished && isReadableNodeStream(stream, true)) {
+          if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
+        }
+        if (writable && !writableFinished) {
+          if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
+        }
+        callback.call(stream);
+      };
+      const onclosed = () => {
+        closed = true;
+        const errored = isWritableErrored(stream) || isReadableErrored(stream);
+        if (errored && typeof errored !== "boolean") {
+          return callback.call(stream, errored);
+        }
+        callback.call(stream);
+      };
+      const onrequest = () => {
+        stream.req.on("finish", onfinish);
+      };
+      if (isRequest(stream)) {
+        stream.on("complete", onfinish);
+        if (!willEmitClose) {
+          stream.on("abort", onclose);
+        }
+        if (stream.req) {
+          onrequest();
+        } else {
+          stream.on("request", onrequest);
         }
+      } else if (writable && !wState) {
+        stream.on("end", onlegacyfinish);
+        stream.on("close", onlegacyfinish);
       }
-    };
-    exports2.Batch = Batch;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js
-var require_utils7 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.fsCreateReadStream = exports2.fsStat = void 0;
-    exports2.streamToBuffer = streamToBuffer;
-    exports2.streamToBuffer2 = streamToBuffer2;
-    exports2.streamToBuffer3 = streamToBuffer3;
-    exports2.readStreamToLocalFile = readStreamToLocalFile;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var node_fs_1 = tslib_1.__importDefault(require("node:fs"));
-    var node_util_1 = tslib_1.__importDefault(require("node:util"));
-    var constants_js_1 = require_constants14();
-    async function streamToBuffer(stream, buffer, offset, end, encoding) {
-      let pos = 0;
-      const count = end - offset;
-      return new Promise((resolve2, reject) => {
-        const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT);
-        stream.on("readable", () => {
-          if (pos >= count) {
-            clearTimeout(timeout);
-            resolve2();
-            return;
-          }
-          let chunk = stream.read();
-          if (!chunk) {
-            return;
-          }
-          if (typeof chunk === "string") {
-            chunk = Buffer.from(chunk, encoding);
-          }
-          const chunkLength = pos + chunk.length > count ? count - pos : chunk.length;
-          buffer.fill(chunk.slice(0, chunkLength), offset + pos, offset + pos + chunkLength);
-          pos += chunkLength;
-        });
-        stream.on("end", () => {
-          clearTimeout(timeout);
-          if (pos < count) {
-            reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`));
-          }
-          resolve2();
-        });
-        stream.on("error", (msg) => {
-          clearTimeout(timeout);
-          reject(msg);
-        });
-      });
+      if (!willEmitClose && typeof stream.aborted === "boolean") {
+        stream.on("aborted", onclose);
+      }
+      stream.on("end", onend);
+      stream.on("finish", onfinish);
+      if (options.error !== false) {
+        stream.on("error", onerror);
+      }
+      stream.on("close", onclose);
+      if (closed) {
+        process2.nextTick(onclose);
+      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
+        if (!willEmitClose) {
+          process2.nextTick(onclosed);
+        }
+      } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === false)) {
+        process2.nextTick(onclosed);
+      } else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === false)) {
+        process2.nextTick(onclosed);
+      } else if (rState && stream.req && stream.aborted) {
+        process2.nextTick(onclosed);
+      }
+      const cleanup = () => {
+        callback = nop;
+        stream.removeListener("aborted", onclose);
+        stream.removeListener("complete", onfinish);
+        stream.removeListener("abort", onclose);
+        stream.removeListener("request", onrequest);
+        if (stream.req) stream.req.removeListener("finish", onfinish);
+        stream.removeListener("end", onlegacyfinish);
+        stream.removeListener("close", onlegacyfinish);
+        stream.removeListener("finish", onfinish);
+        stream.removeListener("end", onend);
+        stream.removeListener("error", onerror);
+        stream.removeListener("close", onclose);
+      };
+      if (options.signal && !closed) {
+        const abort = () => {
+          const endCallback = callback;
+          cleanup();
+          endCallback.call(
+            stream,
+            new AbortError(void 0, {
+              cause: options.signal.reason
+            })
+          );
+        };
+        if (options.signal.aborted) {
+          process2.nextTick(abort);
+        } else {
+          addAbortListener = addAbortListener || require_util20().addAbortListener;
+          const disposable = addAbortListener(options.signal, abort);
+          const originalCallback = callback;
+          callback = once((...args) => {
+            disposable[SymbolDispose]();
+            originalCallback.apply(stream, args);
+          });
+        }
+      }
+      return cleanup;
+    }
+    function eosWeb(stream, options, callback) {
+      let isAborted = false;
+      let abort = nop;
+      if (options.signal) {
+        abort = () => {
+          isAborted = true;
+          callback.call(
+            stream,
+            new AbortError(void 0, {
+              cause: options.signal.reason
+            })
+          );
+        };
+        if (options.signal.aborted) {
+          process2.nextTick(abort);
+        } else {
+          addAbortListener = addAbortListener || require_util20().addAbortListener;
+          const disposable = addAbortListener(options.signal, abort);
+          const originalCallback = callback;
+          callback = once((...args) => {
+            disposable[SymbolDispose]();
+            originalCallback.apply(stream, args);
+          });
+        }
+      }
+      const resolverFn = (...args) => {
+        if (!isAborted) {
+          process2.nextTick(() => callback.apply(stream, args));
+        }
+      };
+      PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn);
+      return nop;
     }
-    async function streamToBuffer2(stream, buffer, encoding) {
-      let pos = 0;
-      const bufferSize = buffer.length;
-      return new Promise((resolve2, reject) => {
-        stream.on("readable", () => {
-          let chunk = stream.read();
-          if (!chunk) {
-            return;
-          }
-          if (typeof chunk === "string") {
-            chunk = Buffer.from(chunk, encoding);
+    function finished(stream, opts) {
+      var _opts;
+      let autoCleanup = false;
+      if (opts === null) {
+        opts = kEmptyObject;
+      }
+      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
+        validateBoolean(opts.cleanup, "cleanup");
+        autoCleanup = opts.cleanup;
+      }
+      return new Promise2((resolve2, reject) => {
+        const cleanup = eos(stream, opts, (err) => {
+          if (autoCleanup) {
+            cleanup();
           }
-          if (pos + chunk.length > bufferSize) {
-            reject(new Error(`Stream exceeds buffer size. Buffer size: ${bufferSize}`));
-            return;
+          if (err) {
+            reject(err);
+          } else {
+            resolve2();
           }
-          buffer.fill(chunk, pos, pos + chunk.length);
-          pos += chunk.length;
-        });
-        stream.on("end", () => {
-          resolve2(pos);
-        });
-        stream.on("error", reject);
-      });
-    }
-    async function streamToBuffer3(readableStream, encoding) {
-      return new Promise((resolve2, reject) => {
-        const chunks = [];
-        readableStream.on("data", (data) => {
-          chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data);
-        });
-        readableStream.on("end", () => {
-          resolve2(Buffer.concat(chunks));
-        });
-        readableStream.on("error", reject);
-      });
-    }
-    async function readStreamToLocalFile(rs, file) {
-      return new Promise((resolve2, reject) => {
-        const ws = node_fs_1.default.createWriteStream(file);
-        rs.on("error", (err) => {
-          reject(err);
-        });
-        ws.on("error", (err) => {
-          reject(err);
         });
-        ws.on("close", resolve2);
-        rs.pipe(ws);
       });
     }
-    exports2.fsStat = node_util_1.default.promisify(node_fs_1.default.stat);
-    exports2.fsCreateReadStream = node_fs_1.default.createReadStream;
+    module2.exports = eos;
+    module2.exports.finished = finished;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/Clients.js
-var require_Clients = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/Clients.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/destroy.js
+var require_destroy2 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PageBlobClient = exports2.BlockBlobClient = exports2.AppendBlobClient = exports2.BlobClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_auth_1 = require_commonjs9();
-    var core_util_1 = require_commonjs6();
-    var core_util_2 = require_commonjs6();
-    var BlobDownloadResponse_js_1 = require_BlobDownloadResponse();
-    var BlobQueryResponse_js_1 = require_BlobQueryResponse();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var models_js_1 = require_models2();
-    var PageBlobRangeResponse_js_1 = require_PageBlobRangeResponse();
-    var Pipeline_js_1 = require_Pipeline();
-    var BlobStartCopyFromUrlPoller_js_1 = require_BlobStartCopyFromUrlPoller();
-    var Range_js_1 = require_Range();
-    var StorageClient_js_1 = require_StorageClient();
-    var Batch_js_1 = require_Batch();
-    var storage_common_1 = require_commonjs15();
-    var constants_js_1 = require_constants14();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var utils_js_1 = require_utils7();
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
-    var BlobClient = class _BlobClient extends StorageClient_js_1.StorageClient {
-      /**
-       * blobContext provided by protocol layer.
-       */
-      blobContext;
-      _name;
-      _containerName;
-      _versionId;
-      _snapshot;
-      /**
-       * The name of the blob.
-       */
-      get name() {
-        return this._name;
-      }
-      /**
-       * The name of the storage container the blob is associated with.
-       */
-      get containerName() {
-        return this._containerName;
-      }
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        options = options || {};
-        let pipeline;
-        let url;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
-            options = blobNameOrOptions;
-          }
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
-            }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
-          }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+    var process2 = require_process();
+    var {
+      aggregateTwoErrors,
+      codes: { ERR_MULTIPLE_CALLBACK },
+      AbortError
+    } = require_errors4();
+    var { Symbol: Symbol2 } = require_primordials();
+    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
+    var kDestroy = Symbol2("kDestroy");
+    var kConstruct = Symbol2("kConstruct");
+    function checkError(err, w, r) {
+      if (err) {
+        err.stack;
+        if (w && !w.errored) {
+          w.errored = err;
+        }
+        if (r && !r.errored) {
+          r.errored = err;
         }
-        super(url, pipeline);
-        ({ blobName: this._name, containerName: this._containerName } = this.getBlobAndContainerNamesFromUrl());
-        this.blobContext = this.storageClientContext.blob;
-        this._snapshot = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT);
-        this._versionId = (0, utils_common_js_1.getURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID);
       }
-      /**
-       * Creates a new BlobClient object identical to the source but with the specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new BlobClient object identical to the source but with the specified snapshot timestamp
-       */
-      withSnapshot(snapshot) {
-        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+    }
+    function destroy(err, cb) {
+      const r = this._readableState;
+      const w = this._writableState;
+      const s = w || r;
+      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
+        if (typeof cb === "function") {
+          cb();
+        }
+        return this;
       }
-      /**
-       * Creates a new BlobClient object pointing to a version of this blob.
-       * Provide "" will remove the versionId and return a Client to the base blob.
-       *
-       * @param versionId - The versionId.
-       * @returns A new BlobClient object pointing to the version of this blob.
-       */
-      withVersion(versionId) {
-        return new _BlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.VERSIONID, versionId.length === 0 ? void 0 : versionId), this.pipeline);
+      checkError(err, w, r);
+      if (w) {
+        w.destroyed = true;
       }
-      /**
-       * Creates a AppendBlobClient object.
-       *
-       */
-      getAppendBlobClient() {
-        return new AppendBlobClient(this.url, this.pipeline);
+      if (r) {
+        r.destroyed = true;
       }
-      /**
-       * Creates a BlockBlobClient object.
-       *
-       */
-      getBlockBlobClient() {
-        return new BlockBlobClient(this.url, this.pipeline);
+      if (!s.constructed) {
+        this.once(kDestroy, function(er) {
+          _destroy(this, aggregateTwoErrors(er, err), cb);
+        });
+      } else {
+        _destroy(this, err, cb);
       }
-      /**
-       * Creates a PageBlobClient object.
-       *
-       */
-      getPageBlobClient() {
-        return new PageBlobClient(this.url, this.pipeline);
+      return this;
+    }
+    function _destroy(self2, err, cb) {
+      let called = false;
+      function onDestroy(err2) {
+        if (called) {
+          return;
+        }
+        called = true;
+        const r = self2._readableState;
+        const w = self2._writableState;
+        checkError(err2, w, r);
+        if (w) {
+          w.closed = true;
+        }
+        if (r) {
+          r.closed = true;
+        }
+        if (typeof cb === "function") {
+          cb(err2);
+        }
+        if (err2) {
+          process2.nextTick(emitErrorCloseNT, self2, err2);
+        } else {
+          process2.nextTick(emitCloseNT, self2);
+        }
       }
-      /**
-       * Reads or downloads a blob from the system, including its metadata and properties.
-       * You can also call Get Blob to read a snapshot.
-       *
-       * * In Node.js, data returns in a Readable stream readableStreamBody
-       * * In browsers, data returns in a promise blobBody
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob
-       *
-       * @param offset - From which position of the blob to download, greater than or equal to 0
-       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
-       * @param options - Optional options to Blob Download operation.
-       *
-       *
-       * Example usage (Node.js):
-       *
-       * ```ts snippet:ReadmeSampleDownloadBlob_Node
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Get blob content from position 0 to the end
-       * // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody
-       * const downloadBlockBlobResponse = await blobClient.download();
-       * if (downloadBlockBlobResponse.readableStreamBody) {
-       *   const downloaded = await streamToString(downloadBlockBlobResponse.readableStreamBody);
-       *   console.log(`Downloaded blob content: ${downloaded}`);
-       * }
-       *
-       * async function streamToString(stream: NodeJS.ReadableStream): Promise {
-       *   const result = await new Promise>((resolve, reject) => {
-       *     const chunks: Buffer[] = [];
-       *     stream.on("data", (data) => {
-       *       chunks.push(Buffer.isBuffer(data) ? data : Buffer.from(data));
-       *     });
-       *     stream.on("end", () => {
-       *       resolve(Buffer.concat(chunks));
-       *     });
-       *     stream.on("error", reject);
-       *   });
-       *   return result.toString();
-       * }
-       * ```
-       *
-       * Example usage (browser):
-       *
-       * ```ts snippet:ReadmeSampleDownloadBlob_Browser
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Get blob content from position 0 to the end
-       * // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody
-       * const downloadBlockBlobResponse = await blobClient.download();
-       * const blobBody = await downloadBlockBlobResponse.blobBody;
-       * if (blobBody) {
-       *   const downloaded = await blobBody.text();
-       *   console.log(`Downloaded blob content: ${downloaded}`);
-       * }
-       * ```
-       */
-      async download(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-download", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.download({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onDownloadProgress: core_util_1.isNodeLike ? void 0 : options.onProgress
-              // for Node.js, progress is reported by RetriableReadableStream
-            },
-            range: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
-            rangeGetContentMD5: options.rangeGetContentMD5,
-            rangeGetContentCRC64: options.rangeGetContentCrc64,
-            snapshot: options.snapshot,
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedRes = {
-            ...res,
-            _response: res._response,
-            // _response is made non-enumerable
-            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
-            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
-          };
-          if (!core_util_1.isNodeLike) {
-            return wrappedRes;
-          }
-          if (options.maxRetryRequests === void 0 || options.maxRetryRequests < 0) {
-            options.maxRetryRequests = constants_js_1.DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS;
-          }
-          if (res.contentLength === void 0) {
-            throw new RangeError(`File download response doesn't contain valid content length header`);
-          }
-          if (!res.etag) {
-            throw new RangeError(`File download response doesn't contain valid etag header`);
-          }
-          return new BlobDownloadResponse_js_1.BlobDownloadResponse(wrappedRes, async (start) => {
-            const updatedDownloadOptions = {
-              leaseAccessConditions: options.conditions,
-              modifiedAccessConditions: {
-                ifMatch: options.conditions.ifMatch || res.etag,
-                ifModifiedSince: options.conditions.ifModifiedSince,
-                ifNoneMatch: options.conditions.ifNoneMatch,
-                ifUnmodifiedSince: options.conditions.ifUnmodifiedSince,
-                ifTags: options.conditions?.tagConditions
-              },
-              range: (0, Range_js_1.rangeToString)({
-                count: offset + res.contentLength - start,
-                offset: start
-              }),
-              rangeGetContentMD5: options.rangeGetContentMD5,
-              rangeGetContentCRC64: options.rangeGetContentCrc64,
-              snapshot: options.snapshot,
-              cpkInfo: options.customerProvidedKey
-            };
-            return (await this.blobContext.download({
-              abortSignal: options.abortSignal,
-              ...updatedDownloadOptions
-            })).readableStreamBody;
-          }, offset, res.contentLength, {
-            maxRetryRequests: options.maxRetryRequests,
-            onProgress: options.onProgress
-          });
-        });
+      try {
+        self2._destroy(err || null, onDestroy);
+      } catch (err2) {
+        onDestroy(err2);
       }
-      /**
-       * Returns true if the Azure blob resource represented by this client exists; false otherwise.
-       *
-       * NOTE: use this function with care since an existing blob might be deleted by other clients or
-       * applications. Vice versa new blobs might be added by other clients or applications after this
-       * function completes.
-       *
-       * @param options - options to Exists operation.
-       */
-      async exists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-exists", options, async (updatedOptions) => {
-          try {
-            (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-            await this.getProperties({
-              abortSignal: options.abortSignal,
-              customerProvidedKey: options.customerProvidedKey,
-              conditions: options.conditions,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            return true;
-          } catch (e) {
-            if (e.statusCode === 404) {
-              return false;
-            } else if (e.statusCode === 409 && (e.details.errorCode === constants_js_1.BlobUsesCustomerSpecifiedEncryptionMsg || e.details.errorCode === constants_js_1.BlobDoesNotUseCustomerSpecifiedEncryption)) {
-              return true;
-            }
-            throw e;
-          }
-        });
+    }
+    function emitErrorCloseNT(self2, err) {
+      emitErrorNT(self2, err);
+      emitCloseNT(self2);
+    }
+    function emitCloseNT(self2) {
+      const r = self2._readableState;
+      const w = self2._writableState;
+      if (w) {
+        w.closeEmitted = true;
       }
-      /**
-       * Returns all user-defined metadata, standard HTTP properties, and system properties
-       * for the blob. It does not return the content of the blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-properties
-       *
-       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
-       * they originally contained uppercase characters. This differs from the metadata keys returned by
-       * the methods of {@link ContainerClient} that list blobs using the `includeMetadata` option, which
-       * will retain their original casing.
-       *
-       * @param options - Optional options to Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getProperties", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blobContext.getProperties({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return {
-            ...res,
-            _response: res._response,
-            // _response is made non-enumerable
-            objectReplicationDestinationPolicyId: res.objectReplicationPolicyId,
-            objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(res.objectReplicationRules)
-          };
-        });
+      if (r) {
+        r.closeEmitted = true;
       }
-      /**
-       * Marks the specified blob or snapshot for deletion. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param options - Optional options to Blob Delete operation.
-       */
-      async delete(options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("BlobClient-delete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.delete({
-            abortSignal: options.abortSignal,
-            deleteSnapshots: options.deleteSnapshots,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
+        self2.emit("close");
       }
-      /**
-       * Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param options - Optional options to Blob Delete operation.
-       */
-      async deleteIfExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteIfExists", options, async (updatedOptions) => {
-          try {
-            const res = (0, utils_common_js_1.assertResponse)(await this.delete(updatedOptions));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobNotFound") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            }
-            throw e;
-          }
-        });
+    }
+    function emitErrorNT(self2, err) {
+      const r = self2._readableState;
+      const w = self2._writableState;
+      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
+        return;
       }
-      /**
-       * Restores the contents and metadata of soft deleted blob and any associated
-       * soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29
-       * or later.
-       * @see https://learn.microsoft.com/rest/api/storageservices/undelete-blob
-       *
-       * @param options - Optional options to Blob Undelete operation.
-       */
-      async undelete(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-undelete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.undelete({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (w) {
+        w.errorEmitted = true;
       }
-      /**
-       * Sets system properties on the blob.
-       *
-       * If no value provided, or no value provided for the specified blob HTTP headers,
-       * these blob HTTP headers without a value will be cleared.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param blobHTTPHeaders - If no value provided, or no value provided for
-       *                                                   the specified blob HTTP headers, these blob HTTP
-       *                                                   headers without a value will be cleared.
-       *                                                   A common header to set is `blobContentType`
-       *                                                   enabling the browser to provide functionality
-       *                                                   based on file type.
-       * @param options - Optional options to Blob Set HTTP Headers operation.
-       */
-      async setHTTPHeaders(blobHTTPHeaders, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setHTTPHeaders", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setHttpHeaders({
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (r) {
+        r.errorEmitted = true;
       }
-      /**
-       * Sets user-defined metadata for the specified blob as one or more name-value pairs.
-       *
-       * If no option provided, or no metadata defined in the parameter, the blob
-       * metadata will be removed.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata
-       *
-       * @param metadata - Replace existing metadata with this value.
-       *                               If no value provided the existing metadata will be removed.
-       * @param options - Optional options to Set Metadata operation.
-       */
-      async setMetadata(metadata, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setMetadata", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setMetadata({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      self2.emit("error", err);
+    }
+    function undestroy() {
+      const r = this._readableState;
+      const w = this._writableState;
+      if (r) {
+        r.constructed = true;
+        r.closed = false;
+        r.closeEmitted = false;
+        r.destroyed = false;
+        r.errored = null;
+        r.errorEmitted = false;
+        r.reading = false;
+        r.ended = r.readable === false;
+        r.endEmitted = r.readable === false;
       }
-      /**
-       * Sets tags on the underlying blob.
-       * A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters.  Tag values must be between 0 and 256 characters.
-       * Valid tag key and value characters include lower and upper case letters, digits (0-9),
-       * space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').
-       *
-       * @param tags -
-       * @param options -
-       */
-      async setTags(tags, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setTags", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTags({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions,
-            tags: (0, utils_common_js_1.toBlobTags)(tags)
-          }));
-        });
+      if (w) {
+        w.constructed = true;
+        w.destroyed = false;
+        w.closed = false;
+        w.closeEmitted = false;
+        w.errored = null;
+        w.errorEmitted = false;
+        w.finalCalled = false;
+        w.prefinished = false;
+        w.ended = w.writable === false;
+        w.ending = w.writable === false;
+        w.finished = w.writable === false;
       }
-      /**
-       * Gets the tags associated with the underlying blob.
-       *
-       * @param options -
-       */
-      async getTags(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getTags", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.blobContext.getTags({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            tags: (0, utils_common_js_1.toTags)({ blobTagSet: response.blobTagSet }) || {}
-          };
-          return wrappedResponse;
-        });
+    }
+    function errorOrDestroy(stream, err, sync) {
+      const r = stream._readableState;
+      const w = stream._writableState;
+      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
+        return this;
       }
-      /**
-       * Get a {@link BlobLeaseClient} that manages leases on the blob.
-       *
-       * @param proposeLeaseId - Initial proposed lease Id.
-       * @returns A new BlobLeaseClient object for managing leases on the blob.
-       */
-      getBlobLeaseClient(proposeLeaseId) {
-        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
+        stream.destroy(err);
+      else if (err) {
+        err.stack;
+        if (w && !w.errored) {
+          w.errored = err;
+        }
+        if (r && !r.errored) {
+          r.errored = err;
+        }
+        if (sync) {
+          process2.nextTick(emitErrorNT, stream, err);
+        } else {
+          emitErrorNT(stream, err);
+        }
       }
-      /**
-       * Creates a read-only snapshot of a blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/snapshot-blob
-       *
-       * @param options - Optional options to the Blob Create Snapshot operation.
-       */
-      async createSnapshot(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlobClient-createSnapshot", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.createSnapshot({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    }
+    function construct(stream, cb) {
+      if (typeof stream._construct !== "function") {
+        return;
       }
-      /**
-       * Asynchronously copies a blob to a destination within the storage account.
-       * This method returns a long running operation poller that allows you to wait
-       * indefinitely until the copy is completed.
-       * You can also cancel a copy before it is completed by calling `cancelOperation` on the poller.
-       * Note that the onProgress callback will not be invoked if the operation completes in the first
-       * request, and attempting to cancel a completed copy will result in an error being thrown.
-       *
-       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
-       * a committed blob in any Azure storage account.
-       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
-       * an Azure file in any Azure storage account.
-       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
-       * operation to copy from another storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
-       *
-       * ```ts snippet:ClientsBeginCopyFromURL
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobClient = containerClient.getBlobClient(blobName);
-       *
-       * // Example using automatic polling
-       * const automaticCopyPoller = await blobClient.beginCopyFromURL("url");
-       * const automaticResult = await automaticCopyPoller.pollUntilDone();
-       *
-       * // Example using manual polling
-       * const manualCopyPoller = await blobClient.beginCopyFromURL("url");
-       * while (!manualCopyPoller.isDone()) {
-       *   await manualCopyPoller.poll();
-       * }
-       * const manualResult = manualCopyPoller.getResult();
-       *
-       * // Example using progress updates
-       * const progressUpdatesCopyPoller = await blobClient.beginCopyFromURL("url", {
-       *   onProgress(state) {
-       *     console.log(`Progress: ${state.copyProgress}`);
-       *   },
-       * });
-       * const progressUpdatesResult = await progressUpdatesCopyPoller.pollUntilDone();
-       *
-       * // Example using a changing polling interval (default 15 seconds)
-       * const pollingIntervalCopyPoller = await blobClient.beginCopyFromURL("url", {
-       *   intervalInMs: 1000, // poll blob every 1 second for copy progress
-       * });
-       * const pollingIntervalResult = await pollingIntervalCopyPoller.pollUntilDone();
-       *
-       * // Example using copy cancellation:
-       * const cancelCopyPoller = await blobClient.beginCopyFromURL("url");
-       * // cancel operation after starting it.
-       * try {
-       *   await cancelCopyPoller.cancelOperation();
-       *   // calls to get the result now throw PollerCancelledError
-       *   cancelCopyPoller.getResult();
-       * } catch (err: any) {
-       *   if (err.name === "PollerCancelledError") {
-       *     console.log("The copy was cancelled.");
-       *   }
-       * }
-       * ```
-       *
-       * @param copySource - url to the source Azure Blob/File.
-       * @param options - Optional options to the Blob Start Copy From URL operation.
-       */
-      async beginCopyFromURL(copySource, options = {}) {
-        const client = {
-          abortCopyFromURL: (...args) => this.abortCopyFromURL(...args),
-          getProperties: (...args) => this.getProperties(...args),
-          startCopyFromURL: (...args) => this.startCopyFromURL(...args)
-        };
-        const poller = new BlobStartCopyFromUrlPoller_js_1.BlobBeginCopyFromUrlPoller({
-          blobClient: client,
-          copySource,
-          intervalInMs: options.intervalInMs,
-          onProgress: options.onProgress,
-          resumeFrom: options.resumeFrom,
-          startCopyFromURLOptions: options
-        });
-        await poller.poll();
-        return poller;
+      const r = stream._readableState;
+      const w = stream._writableState;
+      if (r) {
+        r.constructed = false;
       }
-      /**
-       * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero
-       * length and full metadata. Version 2012-02-12 and newer.
-       * @see https://learn.microsoft.com/rest/api/storageservices/abort-copy-blob
-       *
-       * @param copyId - Id of the Copy From URL operation.
-       * @param options - Optional options to the Blob Abort Copy From URL operation.
-       */
-      async abortCopyFromURL(copyId, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-abortCopyFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.abortCopyFromURL(copyId, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (w) {
+        w.constructed = false;
       }
-      /**
-       * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not
-       * return a response until the copy is complete.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob-from-url
-       *
-       * @param copySource - The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication
-       * @param options -
-       */
-      async syncCopyFromURL(copySource, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        return tracing_js_1.tracingClient.withSpan("BlobClient-syncCopyFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.copyFromURL(copySource, {
-            abortSignal: options.abortSignal,
-            metadata: options.metadata,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            sourceContentMD5: options.sourceContentMD5,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            encryptionScope: options.encryptionScope,
-            copySourceTags: options.copySourceTags,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      stream.once(kConstruct, cb);
+      if (stream.listenerCount(kConstruct) > 1) {
+        return;
       }
-      /**
-       * Sets the tier on a blob. The operation is allowed on a page blob in a premium
-       * storage account and on a block blob in a blob storage account (locally redundant
-       * storage only). A premium page blob's tier determines the allowed size, IOPS,
-       * and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive
-       * storage type. This operation does not update the blob's ETag.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-tier
-       *
-       * @param tier - The tier to be set on the blob. Valid values are Hot, Cool, or Archive.
-       * @param options - Optional options to the Blob Set Tier operation.
-       */
-      async setAccessTier(tier, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setAccessTier", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setTier((0, models_js_1.toAccessTier)(tier), {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            rehydratePriority: options.rehydratePriority,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      process2.nextTick(constructNT, stream);
+    }
+    function constructNT(stream) {
+      let called = false;
+      function onConstruct(err) {
+        if (called) {
+          errorOrDestroy(stream, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
+          return;
+        }
+        called = true;
+        const r = stream._readableState;
+        const w = stream._writableState;
+        const s = w || r;
+        if (r) {
+          r.constructed = true;
+        }
+        if (w) {
+          w.constructed = true;
+        }
+        if (s.destroyed) {
+          stream.emit(kDestroy, err);
+        } else if (err) {
+          errorOrDestroy(stream, err, true);
+        } else {
+          process2.nextTick(emitConstructNT, stream);
+        }
+      }
+      try {
+        stream._construct((err) => {
+          process2.nextTick(onConstruct, err);
         });
+      } catch (err) {
+        process2.nextTick(onConstruct, err);
+      }
+    }
+    function emitConstructNT(stream) {
+      stream.emit(kConstruct);
+    }
+    function isRequest(stream) {
+      return (stream === null || stream === void 0 ? void 0 : stream.setHeader) && typeof stream.abort === "function";
+    }
+    function emitCloseLegacy(stream) {
+      stream.emit("close");
+    }
+    function emitErrorCloseLegacy(stream, err) {
+      stream.emit("error", err);
+      process2.nextTick(emitCloseLegacy, stream);
+    }
+    function destroyer(stream, err) {
+      if (!stream || isDestroyed(stream)) {
+        return;
+      }
+      if (!err && !isFinished(stream)) {
+        err = new AbortError();
+      }
+      if (isServerRequest(stream)) {
+        stream.socket = null;
+        stream.destroy(err);
+      } else if (isRequest(stream)) {
+        stream.abort();
+      } else if (isRequest(stream.req)) {
+        stream.req.abort();
+      } else if (typeof stream.destroy === "function") {
+        stream.destroy(err);
+      } else if (typeof stream.close === "function") {
+        stream.close();
+      } else if (err) {
+        process2.nextTick(emitErrorCloseLegacy, stream, err);
+      } else {
+        process2.nextTick(emitCloseLegacy, stream);
       }
-      async downloadToBuffer(param1, param2, param3, param4 = {}) {
-        let buffer;
-        let offset = 0;
-        let count = 0;
-        let options = param4;
-        if (param1 instanceof Buffer) {
-          buffer = param1;
-          offset = param2 || 0;
-          count = typeof param3 === "number" ? param3 : 0;
-        } else {
-          offset = typeof param1 === "number" ? param1 : 0;
-          count = typeof param2 === "number" ? param2 : 0;
-          options = param3 || {};
-        }
-        let blockSize = options.blockSize ?? 0;
-        if (blockSize < 0) {
-          throw new RangeError("blockSize option must be >= 0");
-        }
-        if (blockSize === 0) {
-          blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
-        }
-        if (offset < 0) {
-          throw new RangeError("offset option must be >= 0");
-        }
-        if (count && count <= 0) {
-          throw new RangeError("count option must be greater than 0");
+      if (!stream.destroyed) {
+        stream[kIsDestroyed] = true;
+      }
+    }
+    module2.exports = {
+      construct,
+      destroyer,
+      destroy,
+      undestroy,
+      errorOrDestroy
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/legacy.js
+var require_legacy = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
+    "use strict";
+    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
+    var { EventEmitter: EE } = require("events");
+    function Stream(opts) {
+      EE.call(this, opts);
+    }
+    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
+    ObjectSetPrototypeOf(Stream, EE);
+    Stream.prototype.pipe = function(dest, options) {
+      const source = this;
+      function ondata(chunk) {
+        if (dest.writable && dest.write(chunk) === false && source.pause) {
+          source.pause();
         }
-        if (!options.conditions) {
-          options.conditions = {};
+      }
+      source.on("data", ondata);
+      function ondrain() {
+        if (source.readable && source.resume) {
+          source.resume();
         }
-        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToBuffer", options, async (updatedOptions) => {
-          if (!count) {
-            const response = await this.getProperties({
-              ...options,
-              tracingOptions: updatedOptions.tracingOptions
-            });
-            count = response.contentLength - offset;
-            if (count < 0) {
-              throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
-            }
-          }
-          if (!buffer) {
-            try {
-              buffer = Buffer.alloc(count);
-            } catch (error3) {
-              throw new Error(`Unable to allocate the buffer of size: ${count}(in bytes). Please try passing your own buffer to the "downloadToBuffer" method or try using other methods like "download" or "downloadToFile".	 ${error3.message}`);
-            }
-          }
-          if (buffer.length < count) {
-            throw new RangeError(`The buffer's size should be equal to or larger than the request count of bytes: ${count}`);
-          }
-          let transferProgress = 0;
-          const batch = new Batch_js_1.Batch(options.concurrency);
-          for (let off = offset; off < offset + count; off = off + blockSize) {
-            batch.addOperation(async () => {
-              let chunkEnd = offset + count;
-              if (off + blockSize < chunkEnd) {
-                chunkEnd = off + blockSize;
-              }
-              const response = await this.download(off, chunkEnd - off, {
-                abortSignal: options.abortSignal,
-                conditions: options.conditions,
-                maxRetryRequests: options.maxRetryRequestsPerBlock,
-                customerProvidedKey: options.customerProvidedKey,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              const stream = response.readableStreamBody;
-              await (0, utils_js_1.streamToBuffer)(stream, buffer, off - offset, chunkEnd - offset);
-              transferProgress += chunkEnd - off;
-              if (options.onProgress) {
-                options.onProgress({ loadedBytes: transferProgress });
-              }
-            });
-          }
-          await batch.do();
-          return buffer;
-        });
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Downloads an Azure Blob to a local file.
-       * Fails if the the given file path already exits.
-       * Offset and count are optional, pass 0 and undefined respectively to download the entire blob.
-       *
-       * @param filePath -
-       * @param offset - From which position of the block blob to download.
-       * @param count - How much data to be downloaded. Will download to the end when passing undefined.
-       * @param options - Options to Blob download options.
-       * @returns The response data for blob download operation,
-       *                                                 but with readableStreamBody set to undefined since its
-       *                                                 content is already read and written into a local file
-       *                                                 at the specified path.
-       */
-      async downloadToFile(filePath, offset = 0, count, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-downloadToFile", options, async (updatedOptions) => {
-          const response = await this.download(offset, count, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          });
-          if (response.readableStreamBody) {
-            await (0, utils_js_1.readStreamToLocalFile)(response.readableStreamBody, filePath);
-          }
-          response.blobDownloadStream = void 0;
-          return response;
-        });
+      dest.on("drain", ondrain);
+      if (!dest._isStdio && (!options || options.end !== false)) {
+        source.on("end", onend);
+        source.on("close", onclose);
       }
-      getBlobAndContainerNamesFromUrl() {
-        let containerName;
-        let blobName;
-        try {
-          const parsedUrl = new URL(this.url);
-          if (parsedUrl.host.split(".")[1] === "blob") {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
-            containerName = pathComponents[1];
-            blobName = pathComponents[3];
-          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?");
-            containerName = pathComponents[2];
-            blobName = pathComponents[4];
-          } else {
-            const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
-            containerName = pathComponents[1];
-            blobName = pathComponents[3];
-          }
-          containerName = decodeURIComponent(containerName);
-          blobName = decodeURIComponent(blobName);
-          blobName = blobName.replace(/\\/g, "/");
-          if (!containerName) {
-            throw new Error("Provided containerName is invalid.");
-          }
-          return { blobName, containerName };
-        } catch (error3) {
-          throw new Error("Unable to extract blobName and containerName with provided information.");
+      let didOnEnd = false;
+      function onend() {
+        if (didOnEnd) return;
+        didOnEnd = true;
+        dest.end();
+      }
+      function onclose() {
+        if (didOnEnd) return;
+        didOnEnd = true;
+        if (typeof dest.destroy === "function") dest.destroy();
+      }
+      function onerror(er) {
+        cleanup();
+        if (EE.listenerCount(this, "error") === 0) {
+          this.emit("error", er);
         }
       }
-      /**
-       * Asynchronously copies a blob to a destination within the storage account.
-       * In version 2012-02-12 and later, the source for a Copy Blob operation can be
-       * a committed blob in any Azure storage account.
-       * Beginning with version 2015-02-21, the source for a Copy Blob operation can be
-       * an Azure file in any Azure storage account.
-       * Only storage accounts created on or after June 7th, 2012 allow the Copy Blob
-       * operation to copy from another storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/copy-blob
-       *
-       * @param copySource - url to the source Azure Blob/File.
-       * @param options - Optional options to the Blob Start Copy From URL operation.
-       */
-      async startCopyFromURL(copySource, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-startCopyFromURL", options, async (updatedOptions) => {
-          options.conditions = options.conditions || {};
-          options.sourceConditions = options.sourceConditions || {};
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.startCopyFromURL(copySource, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
-              sourceIfTags: options.sourceConditions.tagConditions
-            },
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            rehydratePriority: options.rehydratePriority,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            sealBlob: options.sealBlob,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      prependListener(source, "error", onerror);
+      prependListener(dest, "error", onerror);
+      function cleanup() {
+        source.removeListener("data", ondata);
+        dest.removeListener("drain", ondrain);
+        source.removeListener("end", onend);
+        source.removeListener("close", onclose);
+        source.removeListener("error", onerror);
+        dest.removeListener("error", onerror);
+        source.removeListener("end", cleanup);
+        source.removeListener("close", cleanup);
+        dest.removeListener("close", cleanup);
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasUrl(options) {
-        return new Promise((resolve2) => {
-          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
-          }
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            blobName: this._name,
-            snapshotTime: this._snapshot,
-            versionId: this._versionId,
-            ...options
-          }, this.credential).toString();
-          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      source.on("end", cleanup);
+      source.on("close", cleanup);
+      dest.on("close", cleanup);
+      dest.emit("pipe", source);
+      return dest;
+    };
+    function prependListener(emitter, event, fn) {
+      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
+      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
+      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
+      else emitter._events[event] = [fn, emitter._events[event]];
+    }
+    module2.exports = {
+      Stream,
+      prependListener
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
+var require_add_abort_signal = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
+    "use strict";
+    var { SymbolDispose } = require_primordials();
+    var { AbortError, codes } = require_errors4();
+    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
+    var eos = require_end_of_stream();
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
+    var addAbortListener;
+    var validateAbortSignal = (signal, name) => {
+      if (typeof signal !== "object" || !("aborted" in signal)) {
+        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
-      generateSasStringToSign(options) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
+    };
+    module2.exports.addAbortSignal = function addAbortSignal(signal, stream) {
+      validateAbortSignal(signal, "signal");
+      if (!isNodeStream(stream) && !isWebStream(stream)) {
+        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+      }
+      return module2.exports.addAbortSignalNoValidate(signal, stream);
+    };
+    module2.exports.addAbortSignalNoValidate = function(signal, stream) {
+      if (typeof signal !== "object" || !("aborted" in signal)) {
+        return stream;
+      }
+      const onAbort = isNodeStream(stream) ? () => {
+        stream.destroy(
+          new AbortError(void 0, {
+            cause: signal.reason
+          })
+        );
+      } : () => {
+        stream[kControllerErrorFunction](
+          new AbortError(void 0, {
+            cause: signal.reason
+          })
+        );
+      };
+      if (signal.aborted) {
+        onAbort();
+      } else {
+        addAbortListener = addAbortListener || require_util20().addAbortListener;
+        const disposable = addAbortListener(signal, onAbort);
+        eos(stream, disposable[SymbolDispose]);
+      }
+      return stream;
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/buffer_list.js
+var require_buffer_list = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
+    "use strict";
+    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { inspect } = require_util20();
+    module2.exports = class BufferList {
+      constructor() {
+        this.head = null;
+        this.tail = null;
+        this.length = 0;
+      }
+      push(v) {
+        const entry = {
+          data: v,
+          next: null
+        };
+        if (this.length > 0) this.tail.next = entry;
+        else this.head = entry;
+        this.tail = entry;
+        ++this.length;
+      }
+      unshift(v) {
+        const entry = {
+          data: v,
+          next: this.head
+        };
+        if (this.length === 0) this.tail = entry;
+        this.head = entry;
+        ++this.length;
+      }
+      shift() {
+        if (this.length === 0) return;
+        const ret = this.head.data;
+        if (this.length === 1) this.head = this.tail = null;
+        else this.head = this.head.next;
+        --this.length;
+        return ret;
+      }
+      clear() {
+        this.head = this.tail = null;
+        this.length = 0;
+      }
+      join(s) {
+        if (this.length === 0) return "";
+        let p = this.head;
+        let ret = "" + p.data;
+        while ((p = p.next) !== null) ret += s + p.data;
+        return ret;
+      }
+      concat(n) {
+        if (this.length === 0) return Buffer2.alloc(0);
+        const ret = Buffer2.allocUnsafe(n >>> 0);
+        let p = this.head;
+        let i = 0;
+        while (p) {
+          TypedArrayPrototypeSet(ret, p.data, i);
+          i += p.data.length;
+          p = p.next;
         }
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          blobName: this._name,
-          snapshotTime: this._snapshot,
-          versionId: this._versionId,
-          ...options
-        }, this.credential).stringToSign;
+        return ret;
       }
-      /**
-       *
-       * Generates a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasUrl(options, userDelegationKey) {
-        return new Promise((resolve2) => {
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            blobName: this._name,
-            snapshotTime: this._snapshot,
-            versionId: this._versionId,
-            ...options
-          }, userDelegationKey, this.accountName).toString();
-          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      // Consumes a specified amount of bytes or characters from the buffered data.
+      consume(n, hasStrings) {
+        const data = this.head.data;
+        if (n < data.length) {
+          const slice = data.slice(0, n);
+          this.head.data = data.slice(n);
+          return slice;
+        }
+        if (n === data.length) {
+          return this.shift();
+        }
+        return hasStrings ? this._getString(n) : this._getBuffer(n);
       }
-      /**
-       * Only available for BlobClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasStringToSign(options, userDelegationKey) {
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          blobName: this._name,
-          snapshotTime: this._snapshot,
-          versionId: this._versionId,
-          ...options
-        }, userDelegationKey, this.accountName).stringToSign;
+      first() {
+        return this.head.data;
       }
-      /**
-       * Delete the immutablility policy on the blob.
-       *
-       * @param options - Optional options to delete immutability policy on the blob.
-       */
-      async deleteImmutabilityPolicy(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-deleteImmutabilityPolicy", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.deleteImmutabilityPolicy({
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      *[SymbolIterator]() {
+        for (let p = this.head; p; p = p.next) {
+          yield p.data;
+        }
+      }
+      // Consumes a specified amount of characters from the buffered data.
+      _getString(n) {
+        let ret = "";
+        let p = this.head;
+        let c = 0;
+        do {
+          const str2 = p.data;
+          if (n > str2.length) {
+            ret += str2;
+            n -= str2.length;
+          } else {
+            if (n === str2.length) {
+              ret += str2;
+              ++c;
+              if (p.next) this.head = p.next;
+              else this.head = this.tail = null;
+            } else {
+              ret += StringPrototypeSlice(str2, 0, n);
+              this.head = p;
+              p.data = StringPrototypeSlice(str2, n);
+            }
+            break;
+          }
+          ++c;
+        } while ((p = p.next) !== null);
+        this.length -= c;
+        return ret;
       }
-      /**
-       * Set immutability policy on the blob.
-       *
-       * @param options - Optional options to set immutability policy on the blob.
-       */
-      async setImmutabilityPolicy(immutabilityPolicy, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setImmutabilityPolicy", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setImmutabilityPolicy({
-            immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn,
-            immutabilityPolicyMode: immutabilityPolicy.policyMode,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      // Consumes a specified amount of bytes from the buffered data.
+      _getBuffer(n) {
+        const ret = Buffer2.allocUnsafe(n);
+        const retLen = n;
+        let p = this.head;
+        let c = 0;
+        do {
+          const buf = p.data;
+          if (n > buf.length) {
+            TypedArrayPrototypeSet(ret, buf, retLen - n);
+            n -= buf.length;
+          } else {
+            if (n === buf.length) {
+              TypedArrayPrototypeSet(ret, buf, retLen - n);
+              ++c;
+              if (p.next) this.head = p.next;
+              else this.head = this.tail = null;
+            } else {
+              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
+              this.head = p;
+              p.data = buf.slice(n);
+            }
+            break;
+          }
+          ++c;
+        } while ((p = p.next) !== null);
+        this.length -= c;
+        return ret;
       }
-      /**
-       * Set legal hold on the blob.
-       *
-       * @param options - Optional options to set legal hold on the blob.
-       */
-      async setLegalHold(legalHoldEnabled, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-setLegalHold", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.setLegalHold(legalHoldEnabled, {
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      // Make sure the linked list only shows the minimal necessary information.
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
+        return inspect(this, {
+          ...options,
+          // Only inspect one level.
+          depth: 0,
+          // It should not recurse.
+          customInspect: false
         });
       }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blobContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/state.js
+var require_state3 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
+    "use strict";
+    var { MathFloor, NumberIsInteger } = require_primordials();
+    var { validateInteger } = require_validators();
+    var { ERR_INVALID_ARG_VALUE } = require_errors4().codes;
+    var defaultHighWaterMarkBytes = 16 * 1024;
+    var defaultHighWaterMarkObjectMode = 16;
+    function highWaterMarkFrom(options, isDuplex, duplexKey) {
+      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
+    }
+    function getDefaultHighWaterMark(objectMode) {
+      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
+    }
+    function setDefaultHighWaterMark(objectMode, value) {
+      validateInteger(value, "value", 0);
+      if (objectMode) {
+        defaultHighWaterMarkObjectMode = value;
+      } else {
+        defaultHighWaterMarkBytes = value;
+      }
+    }
+    function getHighWaterMark(state, options, duplexKey, isDuplex) {
+      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
+      if (hwm != null) {
+        if (!NumberIsInteger(hwm) || hwm < 0) {
+          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
+          throw new ERR_INVALID_ARG_VALUE(name, hwm);
+        }
+        return MathFloor(hwm);
       }
+      return getDefaultHighWaterMark(state.objectMode);
+    }
+    module2.exports = {
+      getHighWaterMark,
+      getDefaultHighWaterMark,
+      setDefaultHighWaterMark
     };
-    exports2.BlobClient = BlobClient;
-    var AppendBlobClient = class _AppendBlobClient extends BlobClient {
-      /**
-       * appendBlobsContext provided by protocol layer.
-       */
-      appendBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
-            }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/from.js
+var require_from = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
+    "use strict";
+    var process2 = require_process();
+    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors4().codes;
+    function from(Readable, iterable, opts) {
+      let iterator2;
+      if (typeof iterable === "string" || iterable instanceof Buffer2) {
+        return new Readable({
+          objectMode: true,
+          ...opts,
+          read() {
+            this.push(iterable);
+            this.push(null);
           }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
-        }
-        super(url, pipeline);
-        this.appendBlobContext = this.storageClientContext.appendBlob;
+        });
       }
-      /**
-       * Creates a new AppendBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _AppendBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      let isAsync;
+      if (iterable && iterable[SymbolAsyncIterator]) {
+        isAsync = true;
+        iterator2 = iterable[SymbolAsyncIterator]();
+      } else if (iterable && iterable[SymbolIterator]) {
+        isAsync = false;
+        iterator2 = iterable[SymbolIterator]();
+      } else {
+        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
       }
-      /**
-       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param options - Options to the Append Block Create operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsCreateAppendBlob
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * const appendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await appendBlobClient.create();
-       * ```
-       */
-      async create(options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.create(0, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      const readable = new Readable({
+        objectMode: true,
+        highWaterMark: 1,
+        // TODO(ronag): What options should be allowed?
+        ...opts
+      });
+      let reading = false;
+      readable._read = function() {
+        if (!reading) {
+          reading = true;
+          next();
+        }
+      };
+      readable._destroy = function(error3, cb) {
+        PromisePrototypeThen(
+          close(error3),
+          () => process2.nextTick(cb, error3),
+          // nextTick is here in case cb throws
+          (e) => process2.nextTick(cb, e || error3)
+        );
+      };
+      async function close(error3) {
+        const hadError = error3 !== void 0 && error3 !== null;
+        const hasThrow = typeof iterator2.throw === "function";
+        if (hadError && hasThrow) {
+          const { value, done } = await iterator2.throw(error3);
+          await value;
+          if (done) {
+            return;
+          }
+        }
+        if (typeof iterator2.return === "function") {
+          const { value } = await iterator2.return();
+          await value;
+        }
       }
-      /**
-       * Creates a 0-length append blob. Call AppendBlock to append data to an append blob.
-       * If the blob with the same name already exists, the content of the existing blob will remain unchanged.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param options -
-       */
-      async createIfNotExists(options = {}) {
-        const conditions = { ifNoneMatch: constants_js_1.ETagAny };
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-createIfNotExists", options, async (updatedOptions) => {
+      async function next() {
+        for (; ; ) {
           try {
-            const res = (0, utils_common_js_1.assertResponse)(await this.create({
-              ...updatedOptions,
-              conditions
-            }));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
+            if (done) {
+              readable.push(null);
+            } else {
+              const res = value && typeof value.then === "function" ? await value : value;
+              if (res === null) {
+                reading = false;
+                throw new ERR_STREAM_NULL_VALUES();
+              } else if (readable.push(res)) {
+                continue;
+              } else {
+                reading = false;
+              }
             }
-            throw e;
+          } catch (err) {
+            readable.destroy(err);
           }
-        });
-      }
-      /**
-       * Seals the append blob, making it read only.
-       *
-       * @param options -
-       */
-      async seal(options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-seal", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.seal({
-            abortSignal: options.abortSignal,
-            appendPositionAccessConditions: options.conditions,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+          break;
+        }
       }
-      /**
-       * Commits a new block of data to the end of the existing append blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/append-block
-       *
-       * @param body - Data to be appended.
-       * @param contentLength - Length of the body in bytes.
-       * @param options - Options to the Append Block operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsAppendBlock
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * const content = "Hello World!";
-       *
-       * // Create a new append blob and append data to the blob.
-       * const newAppendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await newAppendBlobClient.create();
-       * await newAppendBlobClient.appendBlock(content, content.length);
-       *
-       * // Append data to an existing append blob.
-       * const existingAppendBlobClient = containerClient.getAppendBlobClient(blobName);
-       * await existingAppendBlobClient.appendBlock(content, content.length);
-       * ```
-       */
-      async appendBlock(body, contentLength, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlock", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlock(contentLength, body, {
-            abortSignal: options.abortSignal,
-            appendPositionAccessConditions: options.conditions,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      return readable;
+    }
+    module2.exports = from;
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/readable.js
+var require_readable4 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
+    var process2 = require_process();
+    var {
+      ArrayPrototypeIndexOf,
+      NumberIsInteger,
+      NumberIsNaN,
+      NumberParseInt,
+      ObjectDefineProperties,
+      ObjectKeys,
+      ObjectSetPrototypeOf,
+      Promise: Promise2,
+      SafeSet,
+      SymbolAsyncDispose,
+      SymbolAsyncIterator,
+      Symbol: Symbol2
+    } = require_primordials();
+    module2.exports = Readable;
+    Readable.ReadableState = ReadableState;
+    var { EventEmitter: EE } = require("events");
+    var { Stream, prependListener } = require_legacy();
+    var { Buffer: Buffer2 } = require("buffer");
+    var { addAbortSignal } = require_add_abort_signal();
+    var eos = require_end_of_stream();
+    var debug4 = require_util20().debuglog("stream", (fn) => {
+      debug4 = fn;
+    });
+    var BufferList = require_buffer_list();
+    var destroyImpl = require_destroy2();
+    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var {
+      aggregateTwoErrors,
+      codes: {
+        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+        ERR_METHOD_NOT_IMPLEMENTED,
+        ERR_OUT_OF_RANGE,
+        ERR_STREAM_PUSH_AFTER_EOF,
+        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
+      },
+      AbortError
+    } = require_errors4();
+    var { validateObject } = require_validators();
+    var kPaused = Symbol2("kPaused");
+    var { StringDecoder } = require("string_decoder");
+    var from = require_from();
+    ObjectSetPrototypeOf(Readable.prototype, Stream.prototype);
+    ObjectSetPrototypeOf(Readable, Stream);
+    var nop = () => {
+    };
+    var { errorOrDestroy } = destroyImpl;
+    var kObjectMode = 1 << 0;
+    var kEnded = 1 << 1;
+    var kEndEmitted = 1 << 2;
+    var kReading = 1 << 3;
+    var kConstructed = 1 << 4;
+    var kSync = 1 << 5;
+    var kNeedReadable = 1 << 6;
+    var kEmittedReadable = 1 << 7;
+    var kReadableListening = 1 << 8;
+    var kResumeScheduled = 1 << 9;
+    var kErrorEmitted = 1 << 10;
+    var kEmitClose = 1 << 11;
+    var kAutoDestroy = 1 << 12;
+    var kDestroyed = 1 << 13;
+    var kClosed = 1 << 14;
+    var kCloseEmitted = 1 << 15;
+    var kMultiAwaitDrain = 1 << 16;
+    var kReadingMore = 1 << 17;
+    var kDataEmitted = 1 << 18;
+    function makeBitMapDescriptor(bit) {
+      return {
+        enumerable: false,
+        get() {
+          return (this.state & bit) !== 0;
+        },
+        set(value) {
+          if (value) this.state |= bit;
+          else this.state &= ~bit;
+        }
+      };
+    }
+    ObjectDefineProperties(ReadableState.prototype, {
+      objectMode: makeBitMapDescriptor(kObjectMode),
+      ended: makeBitMapDescriptor(kEnded),
+      endEmitted: makeBitMapDescriptor(kEndEmitted),
+      reading: makeBitMapDescriptor(kReading),
+      // Stream is still being constructed and cannot be
+      // destroyed until construction finished or failed.
+      // Async construction is opt in, therefore we start as
+      // constructed.
+      constructed: makeBitMapDescriptor(kConstructed),
+      // A flag to be able to tell if the event 'readable'/'data' is emitted
+      // immediately, or on a later tick.  We set this to true at first, because
+      // any actions that shouldn't happen until "later" should generally also
+      // not happen before the first read call.
+      sync: makeBitMapDescriptor(kSync),
+      // Whenever we return null, then we set a flag to say
+      // that we're awaiting a 'readable' event emission.
+      needReadable: makeBitMapDescriptor(kNeedReadable),
+      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
+      readableListening: makeBitMapDescriptor(kReadableListening),
+      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
+      // True if the error was already emitted and should not be thrown again.
+      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
+      emitClose: makeBitMapDescriptor(kEmitClose),
+      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
+      // Has it been destroyed.
+      destroyed: makeBitMapDescriptor(kDestroyed),
+      // Indicates whether the stream has finished destroying.
+      closed: makeBitMapDescriptor(kClosed),
+      // True if close has been emitted or would have been emitted
+      // depending on emitClose.
+      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
+      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
+      // If true, a maybeReadMore has been scheduled.
+      readingMore: makeBitMapDescriptor(kReadingMore),
+      dataEmitted: makeBitMapDescriptor(kDataEmitted)
+    });
+    function ReadableState(options, stream, isDuplex) {
+      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
+      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
+      if (options && options.objectMode) this.state |= kObjectMode;
+      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
+      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
+      this.buffer = new BufferList();
+      this.length = 0;
+      this.pipes = [];
+      this.flowing = null;
+      this[kPaused] = null;
+      if (options && options.emitClose === false) this.state &= ~kEmitClose;
+      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
+      this.errored = null;
+      this.defaultEncoding = options && options.defaultEncoding || "utf8";
+      this.awaitDrainWriters = null;
+      this.decoder = null;
+      this.encoding = null;
+      if (options && options.encoding) {
+        this.decoder = new StringDecoder(options.encoding);
+        this.encoding = options.encoding;
       }
-      /**
-       * The Append Block operation commits a new block of data to the end of an existing append blob
-       * where the contents are read from a source url.
-       * @see https://learn.microsoft.com/rest/api/storageservices/append-block-from-url
-       *
-       * @param sourceURL -
-       *                 The url to the blob that will be the source of the copy. A source blob in the same storage account can
-       *                 be authenticated via Shared Key. However, if the source is a blob in another account, the source blob
-       *                 must either be public or must be authenticated via a shared access signature. If the source blob is
-       *                 public, no authentication is required to perform the operation.
-       * @param sourceOffset - Offset in source to be appended
-       * @param count - Number of bytes to be appended as a block
-       * @param options -
-       */
-      async appendBlockFromURL(sourceURL, sourceOffset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("AppendBlobClient-appendBlockFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
-            abortSignal: options.abortSignal,
-            sourceRange: (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }),
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            leaseAccessConditions: options.conditions,
-            appendPositionAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    }
+    function Readable(options) {
+      if (!(this instanceof Readable)) return new Readable(options);
+      const isDuplex = this instanceof require_duplex();
+      this._readableState = new ReadableState(options, this, isDuplex);
+      if (options) {
+        if (typeof options.read === "function") this._read = options.read;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.construct === "function") this._construct = options.construct;
+        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
       }
+      Stream.call(this, options);
+      destroyImpl.construct(this, () => {
+        if (this._readableState.needReadable) {
+          maybeReadMore(this, this._readableState);
+        }
+      });
+    }
+    Readable.prototype.destroy = destroyImpl.destroy;
+    Readable.prototype._undestroy = destroyImpl.undestroy;
+    Readable.prototype._destroy = function(err, cb) {
+      cb(err);
     };
-    exports2.AppendBlobClient = AppendBlobClient;
-    var BlockBlobClient = class _BlockBlobClient extends BlobClient {
-      /**
-       * blobContext provided by protocol layer.
-       *
-       * Note. Ideally BlobClient should set BlobClient.blobContext to protected. However, API
-       * extractor has issue blocking that. Here we redecelare _blobContext in BlockBlobClient.
-       */
-      _blobContext;
-      /**
-       * blockBlobContext provided by protocol layer.
-       */
-      blockBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          if (blobNameOrOptions && typeof blobNameOrOptions !== "string") {
-            options = blobNameOrOptions;
-          }
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
+    Readable.prototype[EE.captureRejectionSymbol] = function(err) {
+      this.destroy(err);
+    };
+    Readable.prototype[SymbolAsyncDispose] = function() {
+      let error3;
+      if (!this.destroyed) {
+        error3 = this.readableEnded ? null : new AbortError();
+        this.destroy(error3);
+      }
+      return new Promise2((resolve2, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve2(null)));
+    };
+    Readable.prototype.push = function(chunk, encoding) {
+      return readableAddChunk(this, chunk, encoding, false);
+    };
+    Readable.prototype.unshift = function(chunk, encoding) {
+      return readableAddChunk(this, chunk, encoding, true);
+    };
+    function readableAddChunk(stream, chunk, encoding, addToFront) {
+      debug4("readableAddChunk", chunk);
+      const state = stream._readableState;
+      let err;
+      if ((state.state & kObjectMode) === 0) {
+        if (typeof chunk === "string") {
+          encoding = encoding || state.defaultEncoding;
+          if (state.encoding !== encoding) {
+            if (addToFront && state.encoding) {
+              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
             } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+              chunk = Buffer2.from(chunk, encoding);
+              encoding = "";
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+          }
+        } else if (chunk instanceof Buffer2) {
+          encoding = "";
+        } else if (Stream._isUint8Array(chunk)) {
+          chunk = Stream._uint8ArrayToBuffer(chunk);
+          encoding = "";
+        } else if (chunk != null) {
+          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+        }
+      }
+      if (err) {
+        errorOrDestroy(stream, err);
+      } else if (chunk === null) {
+        state.state &= ~kReading;
+        onEofChunk(stream, state);
+      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
+        if (addToFront) {
+          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
+          else if (state.destroyed || state.errored) return false;
+          else addChunk(stream, state, chunk, true);
+        } else if (state.ended) {
+          errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
+        } else if (state.destroyed || state.errored) {
+          return false;
+        } else {
+          state.state &= ~kReading;
+          if (state.decoder && !encoding) {
+            chunk = state.decoder.write(chunk);
+            if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
+            else maybeReadMore(stream, state);
           } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+            addChunk(stream, state, chunk, false);
           }
+        }
+      } else if (!addToFront) {
+        state.state &= ~kReading;
+        maybeReadMore(stream, state);
+      }
+      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
+    }
+    function addChunk(stream, state, chunk, addToFront) {
+      if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount("data") > 0) {
+        if ((state.state & kMultiAwaitDrain) !== 0) {
+          state.awaitDrainWriters.clear();
         } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+          state.awaitDrainWriters = null;
         }
-        super(url, pipeline);
-        this.blockBlobContext = this.storageClientContext.blockBlob;
-        this._blobContext = this.storageClientContext.blob;
+        state.dataEmitted = true;
+        stream.emit("data", chunk);
+      } else {
+        state.length += state.objectMode ? 1 : chunk.length;
+        if (addToFront) state.buffer.unshift(chunk);
+        else state.buffer.push(chunk);
+        if ((state.state & kNeedReadable) !== 0) emitReadable(stream);
       }
-      /**
-       * Creates a new BlockBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a URL to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new BlockBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _BlockBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+      maybeReadMore(stream, state);
+    }
+    Readable.prototype.isPaused = function() {
+      const state = this._readableState;
+      return state[kPaused] === true || state.flowing === false;
+    };
+    Readable.prototype.setEncoding = function(enc) {
+      const decoder = new StringDecoder(enc);
+      this._readableState.decoder = decoder;
+      this._readableState.encoding = this._readableState.decoder.encoding;
+      const buffer = this._readableState.buffer;
+      let content = "";
+      for (const data of buffer) {
+        content += decoder.write(data);
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Quick query for a JSON or CSV formatted blob.
-       *
-       * Example usage (Node.js):
-       *
-       * ```ts snippet:ClientsQuery
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * // Query and convert a blob to a string
-       * const queryBlockBlobResponse = await blockBlobClient.query("select from BlobStorage");
-       * if (queryBlockBlobResponse.readableStreamBody) {
-       *   const downloadedBuffer = await streamToBuffer(queryBlockBlobResponse.readableStreamBody);
-       *   const downloaded = downloadedBuffer.toString();
-       *   console.log(`Query blob content: ${downloaded}`);
-       * }
-       *
-       * async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise {
-       *   return new Promise((resolve, reject) => {
-       *     const chunks: Buffer[] = [];
-       *     readableStream.on("data", (data) => {
-       *       chunks.push(data instanceof Buffer ? data : Buffer.from(data));
-       *     });
-       *     readableStream.on("end", () => {
-       *       resolve(Buffer.concat(chunks));
-       *     });
-       *     readableStream.on("error", reject);
-       *   });
-       * }
-       * ```
-       *
-       * @param query -
-       * @param options -
-       */
-      async query(query, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        if (!core_util_1.isNodeLike) {
-          throw new Error("This operation currently is only supported in Node.js.");
+      buffer.clear();
+      if (content !== "") buffer.push(content);
+      this._readableState.length = content.length;
+      return this;
+    };
+    var MAX_HWM = 1073741824;
+    function computeNewHighWaterMark(n) {
+      if (n > MAX_HWM) {
+        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
+      } else {
+        n--;
+        n |= n >>> 1;
+        n |= n >>> 2;
+        n |= n >>> 4;
+        n |= n >>> 8;
+        n |= n >>> 16;
+        n++;
+      }
+      return n;
+    }
+    function howMuchToRead(n, state) {
+      if (n <= 0 || state.length === 0 && state.ended) return 0;
+      if ((state.state & kObjectMode) !== 0) return 1;
+      if (NumberIsNaN(n)) {
+        if (state.flowing && state.length) return state.buffer.first().length;
+        return state.length;
+      }
+      if (n <= state.length) return n;
+      return state.ended ? state.length : 0;
+    }
+    Readable.prototype.read = function(n) {
+      debug4("read", n);
+      if (n === void 0) {
+        n = NaN;
+      } else if (!NumberIsInteger(n)) {
+        n = NumberParseInt(n, 10);
+      }
+      const state = this._readableState;
+      const nOrig = n;
+      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
+      if (n !== 0) state.state &= ~kEmittedReadable;
+      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
+        debug4("read: emitReadable", state.length, state.ended);
+        if (state.length === 0 && state.ended) endReadable(this);
+        else emitReadable(this);
+        return null;
+      }
+      n = howMuchToRead(n, state);
+      if (n === 0 && state.ended) {
+        if (state.length === 0) endReadable(this);
+        return null;
+      }
+      let doRead = (state.state & kNeedReadable) !== 0;
+      debug4("need readable", doRead);
+      if (state.length === 0 || state.length - n < state.highWaterMark) {
+        doRead = true;
+        debug4("length less than watermark", doRead);
+      }
+      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
+        doRead = false;
+        debug4("reading, ended or constructing", doRead);
+      } else if (doRead) {
+        debug4("do read");
+        state.state |= kReading | kSync;
+        if (state.length === 0) state.state |= kNeedReadable;
+        try {
+          this._read(state.highWaterMark);
+        } catch (err) {
+          errorOrDestroy(this, err);
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-query", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this._blobContext.query({
-            abortSignal: options.abortSignal,
-            queryRequest: {
-              queryType: "SQL",
-              expression: query,
-              inputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.inputTextConfiguration),
-              outputSerialization: (0, utils_common_js_1.toQuerySerialization)(options.outputTextConfiguration)
-            },
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return new BlobQueryResponse_js_1.BlobQueryResponse(response, {
-            abortSignal: options.abortSignal,
-            onProgress: options.onProgress,
-            onError: options.onError
-          });
-        });
+        state.state &= ~kSync;
+        if (!state.reading) n = howMuchToRead(nOrig, state);
       }
-      /**
-       * Creates a new block blob, or updates the content of an existing block blob.
-       * Updating an existing block blob overwrites any existing metadata on the blob.
-       * Partial updates are not supported; the content of the existing blob is
-       * overwritten with the new content. To perform a partial update of a block blob's,
-       * use {@link stageBlock} and {@link commitBlockList}.
-       *
-       * This is a non-parallel uploading method, please use {@link uploadFile},
-       * {@link uploadStream} or {@link uploadBrowserData} for better performance
-       * with concurrency uploading.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
-       *                               which returns a new Readable stream whose offset is from data source beginning.
-       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
-       *                               string including non non-Base64/Hex-encoded characters.
-       * @param options - Options to the Block Blob Upload operation.
-       * @returns Response data for the Block Blob Upload operation.
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsUpload
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * const content = "Hello world!";
-       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
-       * ```
-       */
-      async upload(body, contentLength, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-upload", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.upload(contentLength, body, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      let ret;
+      if (n > 0) ret = fromList(n, state);
+      else ret = null;
+      if (ret === null) {
+        state.needReadable = state.length <= state.highWaterMark;
+        n = 0;
+      } else {
+        state.length -= n;
+        if (state.multiAwaitDrain) {
+          state.awaitDrainWriters.clear();
+        } else {
+          state.awaitDrainWriters = null;
+        }
+      }
+      if (state.length === 0) {
+        if (!state.ended) state.needReadable = true;
+        if (nOrig !== n && state.ended) endReadable(this);
+      }
+      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
+        state.dataEmitted = true;
+        this.emit("data", ret);
+      }
+      return ret;
+    };
+    function onEofChunk(stream, state) {
+      debug4("onEofChunk");
+      if (state.ended) return;
+      if (state.decoder) {
+        const chunk = state.decoder.end();
+        if (chunk && chunk.length) {
+          state.buffer.push(chunk);
+          state.length += state.objectMode ? 1 : chunk.length;
+        }
+      }
+      state.ended = true;
+      if (state.sync) {
+        emitReadable(stream);
+      } else {
+        state.needReadable = false;
+        state.emittedReadable = true;
+        emitReadable_(stream);
       }
-      /**
-       * Creates a new Block Blob where the contents of the blob are read from a given URL.
-       * This API is supported beginning with the 2020-04-08 version. Partial updates
-       * are not supported with Put Blob from URL; the content of an existing blob is overwritten with
-       * the content of the new blob.  To perform partial updates to a block blob’s contents using a
-       * source URL, use {@link stageBlockFromURL} and {@link commitBlockList}.
-       *
-       * @param sourceURL - Specifies the URL of the blob. The value
-       *                           may be a URL of up to 2 KB in length that specifies a blob.
-       *                           The value should be URL-encoded as it would appear
-       *                           in a request URI. The source blob must either be public
-       *                           or must be authenticated via a shared access signature.
-       *                           If the source blob is public, no authentication is required
-       *                           to perform the operation. Here are some examples of source object URLs:
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param options - Optional parameters.
-       */
-      async syncUploadFromURL(sourceURL, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-syncUploadFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, {
-            ...options,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince,
-              sourceIfTags: options.sourceConditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            copySourceTags: options.copySourceTags,
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    }
+    function emitReadable(stream) {
+      const state = stream._readableState;
+      debug4("emitReadable", state.needReadable, state.emittedReadable);
+      state.needReadable = false;
+      if (!state.emittedReadable) {
+        debug4("emitReadable", state.flowing);
+        state.emittedReadable = true;
+        process2.nextTick(emitReadable_, stream);
       }
-      /**
-       * Uploads the specified block to the block blob's "staging area" to be later
-       * committed by a call to commitBlockList.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block
-       *
-       * @param blockId - A 64-byte value that is base64-encoded
-       * @param body - Data to upload to the staging area.
-       * @param contentLength - Number of bytes to upload.
-       * @param options - Options to the Block Blob Stage Block operation.
-       * @returns Response data for the Block Blob Stage Block operation.
-       */
-      async stageBlock(blockId, body, contentLength, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlock", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlock(blockId, contentLength, body, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    }
+    function emitReadable_(stream) {
+      const state = stream._readableState;
+      debug4("emitReadable_", state.destroyed, state.length, state.ended);
+      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
+        stream.emit("readable");
+        state.emittedReadable = false;
       }
-      /**
-       * The Stage Block From URL operation creates a new block to be committed as part
-       * of a blob where the contents are read from a URL.
-       * This API is available starting in version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-from-url
-       *
-       * @param blockId - A 64-byte value that is base64-encoded
-       * @param sourceURL - Specifies the URL of the blob. The value
-       *                           may be a URL of up to 2 KB in length that specifies a blob.
-       *                           The value should be URL-encoded as it would appear
-       *                           in a request URI. The source blob must either be public
-       *                           or must be authenticated via a shared access signature.
-       *                           If the source blob is public, no authentication is required
-       *                           to perform the operation. Here are some examples of source object URLs:
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob
-       *                           - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param offset - From which position of the blob to download, greater than or equal to 0
-       * @param count - How much data to be downloaded, greater than 0. Will download to the end when undefined
-       * @param options - Options to the Block Blob Stage Block From URL operation.
-       * @returns Response data for the Block Blob Stage Block From URL operation.
-       */
-      async stageBlockFromURL(blockId, sourceURL, offset = 0, count, options = {}) {
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-stageBlockFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            sourceRange: offset === 0 && !count ? void 0 : (0, Range_js_1.rangeToString)({ offset, count }),
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
+      flow(stream);
+    }
+    function maybeReadMore(stream, state) {
+      if (!state.readingMore && state.constructed) {
+        state.readingMore = true;
+        process2.nextTick(maybeReadMore_, stream, state);
       }
-      /**
-       * Writes a blob by specifying the list of block IDs that make up the blob.
-       * In order to be written as part of a blob, a block must have been successfully written
-       * to the server in a prior {@link stageBlock} operation. You can call {@link commitBlockList} to
-       * update a blob by uploading only those blocks that have changed, then committing the new and existing
-       * blocks together. Any blocks not specified in the block list and permanently deleted.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-block-list
-       *
-       * @param blocks -  Array of 64-byte value that is base64-encoded
-       * @param options - Options to the Block Blob Commit Block List operation.
-       * @returns Response data for the Block Blob Commit Block List operation.
-       */
-      async commitBlockList(blocks, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-commitBlockList", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    }
+    function maybeReadMore_(stream, state) {
+      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
+        const len = state.length;
+        debug4("maybeReadMore read 0");
+        stream.read(0);
+        if (len === state.length)
+          break;
       }
-      /**
-       * Returns the list of blocks that have been uploaded as part of a block blob
-       * using the specified block list filter.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-block-list
-       *
-       * @param listType - Specifies whether to return the list of committed blocks,
-       *                                        the list of uncommitted blocks, or both lists together.
-       * @param options - Options to the Block Blob Get Block List operation.
-       * @returns Response data for the Block Blob Get Block List operation.
-       */
-      async getBlockList(listType, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-getBlockList", options, async (updatedOptions) => {
-          const res = (0, utils_common_js_1.assertResponse)(await this.blockBlobContext.getBlockList(listType, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          if (!res.committedBlocks) {
-            res.committedBlocks = [];
+      state.readingMore = false;
+    }
+    Readable.prototype._read = function(n) {
+      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
+    };
+    Readable.prototype.pipe = function(dest, pipeOpts) {
+      const src = this;
+      const state = this._readableState;
+      if (state.pipes.length === 1) {
+        if (!state.multiAwaitDrain) {
+          state.multiAwaitDrain = true;
+          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
+        }
+      }
+      state.pipes.push(dest);
+      debug4("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
+      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
+      const endFn = doEnd ? onend : unpipe;
+      if (state.endEmitted) process2.nextTick(endFn);
+      else src.once("end", endFn);
+      dest.on("unpipe", onunpipe);
+      function onunpipe(readable, unpipeInfo) {
+        debug4("onunpipe");
+        if (readable === src) {
+          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
+            unpipeInfo.hasUnpiped = true;
+            cleanup();
           }
-          if (!res.uncommittedBlocks) {
-            res.uncommittedBlocks = [];
+        }
+      }
+      function onend() {
+        debug4("onend");
+        dest.end();
+      }
+      let ondrain;
+      let cleanedUp = false;
+      function cleanup() {
+        debug4("cleanup");
+        dest.removeListener("close", onclose);
+        dest.removeListener("finish", onfinish);
+        if (ondrain) {
+          dest.removeListener("drain", ondrain);
+        }
+        dest.removeListener("error", onerror);
+        dest.removeListener("unpipe", onunpipe);
+        src.removeListener("end", onend);
+        src.removeListener("end", unpipe);
+        src.removeListener("data", ondata);
+        cleanedUp = true;
+        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      }
+      function pause() {
+        if (!cleanedUp) {
+          if (state.pipes.length === 1 && state.pipes[0] === dest) {
+            debug4("false write response, pause", 0);
+            state.awaitDrainWriters = dest;
+            state.multiAwaitDrain = false;
+          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
+            debug4("false write response, pause", state.awaitDrainWriters.size);
+            state.awaitDrainWriters.add(dest);
           }
-          return res;
-        });
+          src.pause();
+        }
+        if (!ondrain) {
+          ondrain = pipeOnDrain(src, dest);
+          dest.on("drain", ondrain);
+        }
       }
-      // High level functions
-      /**
-       * Uploads a Buffer(Node.js)/Blob(browsers)/ArrayBuffer/ArrayBufferView object to a BlockBlob.
-       *
-       * When data length is no more than the specifiled {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
-       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
-       * to commit the block list.
-       *
-       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
-       * `blobContentType`, enabling the browser to provide
-       * functionality based on file type.
-       *
-       * @param data - Buffer(Node.js), Blob, ArrayBuffer or ArrayBufferView
-       * @param options -
-       */
-      async uploadData(data, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadData", options, async (updatedOptions) => {
-          if (core_util_1.isNodeLike) {
-            let buffer;
-            if (data instanceof Buffer) {
-              buffer = data;
-            } else if (data instanceof ArrayBuffer) {
-              buffer = Buffer.from(data);
-            } else {
-              data = data;
-              buffer = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
-            }
-            return this.uploadSeekableInternal((offset, size) => buffer.slice(offset, offset + size), buffer.byteLength, updatedOptions);
+      src.on("data", ondata);
+      function ondata(chunk) {
+        debug4("ondata");
+        const ret = dest.write(chunk);
+        debug4("dest.write", ret);
+        if (ret === false) {
+          pause();
+        }
+      }
+      function onerror(er) {
+        debug4("onerror", er);
+        unpipe();
+        dest.removeListener("error", onerror);
+        if (dest.listenerCount("error") === 0) {
+          const s = dest._writableState || dest._readableState;
+          if (s && !s.errorEmitted) {
+            errorOrDestroy(dest, er);
           } else {
-            const browserBlob = new Blob([data]);
-            return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+            dest.emit("error", er);
           }
-        });
+        }
+      }
+      prependListener(dest, "error", onerror);
+      function onclose() {
+        dest.removeListener("finish", onfinish);
+        unpipe();
+      }
+      dest.once("close", onclose);
+      function onfinish() {
+        debug4("onfinish");
+        dest.removeListener("close", onclose);
+        unpipe();
+      }
+      dest.once("finish", onfinish);
+      function unpipe() {
+        debug4("unpipe");
+        src.unpipe(dest);
+      }
+      dest.emit("pipe", src);
+      if (dest.writableNeedDrain === true) {
+        pause();
+      } else if (!state.flowing) {
+        debug4("pipe resume");
+        src.resume();
+      }
+      return dest;
+    };
+    function pipeOnDrain(src, dest) {
+      return function pipeOnDrainFunctionResult() {
+        const state = src._readableState;
+        if (state.awaitDrainWriters === dest) {
+          debug4("pipeOnDrain", 1);
+          state.awaitDrainWriters = null;
+        } else if (state.multiAwaitDrain) {
+          debug4("pipeOnDrain", state.awaitDrainWriters.size);
+          state.awaitDrainWriters.delete(dest);
+        }
+        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
+          src.resume();
+        }
+      };
+    }
+    Readable.prototype.unpipe = function(dest) {
+      const state = this._readableState;
+      const unpipeInfo = {
+        hasUnpiped: false
+      };
+      if (state.pipes.length === 0) return this;
+      if (!dest) {
+        const dests = state.pipes;
+        state.pipes = [];
+        this.pause();
+        for (let i = 0; i < dests.length; i++)
+          dests[i].emit("unpipe", this, {
+            hasUnpiped: false
+          });
+        return this;
+      }
+      const index = ArrayPrototypeIndexOf(state.pipes, dest);
+      if (index === -1) return this;
+      state.pipes.splice(index, 1);
+      if (state.pipes.length === 0) this.pause();
+      dest.emit("unpipe", this, unpipeInfo);
+      return this;
+    };
+    Readable.prototype.on = function(ev, fn) {
+      const res = Stream.prototype.on.call(this, ev, fn);
+      const state = this._readableState;
+      if (ev === "data") {
+        state.readableListening = this.listenerCount("readable") > 0;
+        if (state.flowing !== false) this.resume();
+      } else if (ev === "readable") {
+        if (!state.endEmitted && !state.readableListening) {
+          state.readableListening = state.needReadable = true;
+          state.flowing = false;
+          state.emittedReadable = false;
+          debug4("on readable", state.length, state.reading);
+          if (state.length) {
+            emitReadable(this);
+          } else if (!state.reading) {
+            process2.nextTick(nReadingNextTick, this);
+          }
+        }
+      }
+      return res;
+    };
+    Readable.prototype.addListener = Readable.prototype.on;
+    Readable.prototype.removeListener = function(ev, fn) {
+      const res = Stream.prototype.removeListener.call(this, ev, fn);
+      if (ev === "readable") {
+        process2.nextTick(updateReadableListening, this);
+      }
+      return res;
+    };
+    Readable.prototype.off = Readable.prototype.removeListener;
+    Readable.prototype.removeAllListeners = function(ev) {
+      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
+      if (ev === "readable" || ev === void 0) {
+        process2.nextTick(updateReadableListening, this);
+      }
+      return res;
+    };
+    function updateReadableListening(self2) {
+      const state = self2._readableState;
+      state.readableListening = self2.listenerCount("readable") > 0;
+      if (state.resumeScheduled && state[kPaused] === false) {
+        state.flowing = true;
+      } else if (self2.listenerCount("data") > 0) {
+        self2.resume();
+      } else if (!state.readableListening) {
+        state.flowing = null;
+      }
+    }
+    function nReadingNextTick(self2) {
+      debug4("readable nexttick read 0");
+      self2.read(0);
+    }
+    Readable.prototype.resume = function() {
+      const state = this._readableState;
+      if (!state.flowing) {
+        debug4("resume");
+        state.flowing = !state.readableListening;
+        resume(this, state);
+      }
+      state[kPaused] = false;
+      return this;
+    };
+    function resume(stream, state) {
+      if (!state.resumeScheduled) {
+        state.resumeScheduled = true;
+        process2.nextTick(resume_, stream, state);
+      }
+    }
+    function resume_(stream, state) {
+      debug4("resume", state.reading);
+      if (!state.reading) {
+        stream.read(0);
+      }
+      state.resumeScheduled = false;
+      stream.emit("resume");
+      flow(stream);
+      if (state.flowing && !state.reading) stream.read(0);
+    }
+    Readable.prototype.pause = function() {
+      debug4("call pause flowing=%j", this._readableState.flowing);
+      if (this._readableState.flowing !== false) {
+        debug4("pause");
+        this._readableState.flowing = false;
+        this.emit("pause");
+      }
+      this._readableState[kPaused] = true;
+      return this;
+    };
+    function flow(stream) {
+      const state = stream._readableState;
+      debug4("flow", state.flowing);
+      while (state.flowing && stream.read() !== null) ;
+    }
+    Readable.prototype.wrap = function(stream) {
+      let paused = false;
+      stream.on("data", (chunk) => {
+        if (!this.push(chunk) && stream.pause) {
+          paused = true;
+          stream.pause();
+        }
+      });
+      stream.on("end", () => {
+        this.push(null);
+      });
+      stream.on("error", (err) => {
+        errorOrDestroy(this, err);
+      });
+      stream.on("close", () => {
+        this.destroy();
+      });
+      stream.on("destroy", () => {
+        this.destroy();
+      });
+      this._read = () => {
+        if (paused && stream.resume) {
+          paused = false;
+          stream.resume();
+        }
+      };
+      const streamKeys = ObjectKeys(stream);
+      for (let j = 1; j < streamKeys.length; j++) {
+        const i = streamKeys[j];
+        if (this[i] === void 0 && typeof stream[i] === "function") {
+          this[i] = stream[i].bind(stream);
+        }
       }
-      /**
-       * ONLY AVAILABLE IN BROWSERS.
-       *
-       * Uploads a browser Blob/File/ArrayBuffer/ArrayBufferView object to block blob.
-       *
-       * When buffer length lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call
-       * {@link commitBlockList} to commit the block list.
-       *
-       * A common {@link BlockBlobParallelUploadOptions.blobHTTPHeaders} option to set is
-       * `blobContentType`, enabling the browser to provide
-       * functionality based on file type.
-       *
-       * @deprecated Use {@link uploadData} instead.
-       *
-       * @param browserData - Blob, File, ArrayBuffer or ArrayBufferView
-       * @param options - Options to upload browser data.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadBrowserData(browserData, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadBrowserData", options, async (updatedOptions) => {
-          const browserBlob = new Blob([browserData]);
-          return this.uploadSeekableInternal((offset, size) => browserBlob.slice(offset, offset + size), browserBlob.size, updatedOptions);
+      return this;
+    };
+    Readable.prototype[SymbolAsyncIterator] = function() {
+      return streamToAsyncIterator(this);
+    };
+    Readable.prototype.iterator = function(options) {
+      if (options !== void 0) {
+        validateObject(options, "options");
+      }
+      return streamToAsyncIterator(this, options);
+    };
+    function streamToAsyncIterator(stream, options) {
+      if (typeof stream.read !== "function") {
+        stream = Readable.wrap(stream, {
+          objectMode: true
         });
       }
-      /**
-       *
-       * Uploads data to block blob. Requires a bodyFactory as the data source,
-       * which need to return a {@link HttpRequestBody} object with the offset and size provided.
-       *
-       * When data length is no more than the specified {@link BlockBlobParallelUploadOptions.maxSingleShotSize} (default is
-       * {@link BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}), this method will use 1 {@link upload} call to finish the upload.
-       * Otherwise, this method will call {@link stageBlock} to upload blocks, and finally call {@link commitBlockList}
-       * to commit the block list.
-       *
-       * @param bodyFactory -
-       * @param size - size of the data to upload.
-       * @param options - Options to Upload to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadSeekableInternal(bodyFactory, size, options = {}) {
-        let blockSize = options.blockSize ?? 0;
-        if (blockSize < 0 || blockSize > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES) {
-          throw new RangeError(`blockSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES}`);
+      const iter = createAsyncIterator(stream, options);
+      iter.stream = stream;
+      return iter;
+    }
+    async function* createAsyncIterator(stream, options) {
+      let callback = nop;
+      function next(resolve2) {
+        if (this === stream) {
+          callback();
+          callback = nop;
+        } else {
+          callback = resolve2;
         }
-        const maxSingleShotSize = options.maxSingleShotSize ?? constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES;
-        if (maxSingleShotSize < 0 || maxSingleShotSize > constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES) {
-          throw new RangeError(`maxSingleShotSize option must be >= 0 and <= ${constants_js_1.BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES}`);
+      }
+      stream.on("readable", next);
+      let error3;
+      const cleanup = eos(
+        stream,
+        {
+          writable: false
+        },
+        (err) => {
+          error3 = err ? aggregateTwoErrors(error3, err) : null;
+          callback();
+          callback = nop;
         }
-        if (blockSize === 0) {
-          if (size > constants_js_1.BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES * constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
-            throw new RangeError(`${size} is too larger to upload to a block blob.`);
+      );
+      try {
+        while (true) {
+          const chunk = stream.destroyed ? null : stream.read();
+          if (chunk !== null) {
+            yield chunk;
+          } else if (error3) {
+            throw error3;
+          } else if (error3 === null) {
+            return;
+          } else {
+            await new Promise2(next);
           }
-          if (size > maxSingleShotSize) {
-            blockSize = Math.ceil(size / constants_js_1.BLOCK_BLOB_MAX_BLOCKS);
-            if (blockSize < constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES) {
-              blockSize = constants_js_1.DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES;
-            }
+        }
+      } catch (err) {
+        error3 = aggregateTwoErrors(error3, err);
+        throw error3;
+      } finally {
+        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream._readableState.autoDestroy)) {
+          destroyImpl.destroyer(stream, null);
+        } else {
+          stream.off("readable", next);
+          cleanup();
+        }
+      }
+    }
+    ObjectDefineProperties(Readable.prototype, {
+      readable: {
+        __proto__: null,
+        get() {
+          const r = this._readableState;
+          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
+        },
+        set(val) {
+          if (this._readableState) {
+            this._readableState.readable = !!val;
           }
         }
-        if (!options.blobHTTPHeaders) {
-          options.blobHTTPHeaders = {};
+      },
+      readableDidRead: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.dataEmitted;
         }
-        if (!options.conditions) {
-          options.conditions = {};
+      },
+      readableAborted: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadSeekableInternal", options, async (updatedOptions) => {
-          if (size <= maxSingleShotSize) {
-            return (0, utils_common_js_1.assertResponse)(await this.upload(bodyFactory(0, size), size, updatedOptions));
+      },
+      readableHighWaterMark: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.highWaterMark;
+        }
+      },
+      readableBuffer: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState && this._readableState.buffer;
+        }
+      },
+      readableFlowing: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return this._readableState.flowing;
+        },
+        set: function(state) {
+          if (this._readableState) {
+            this._readableState.flowing = state;
           }
-          const numBlocks = Math.floor((size - 1) / blockSize) + 1;
-          if (numBlocks > constants_js_1.BLOCK_BLOB_MAX_BLOCKS) {
-            throw new RangeError(`The buffer's size is too big or the BlockSize is too small;the number of blocks must be <= ${constants_js_1.BLOCK_BLOB_MAX_BLOCKS}`);
+        }
+      },
+      readableLength: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState.length;
+        }
+      },
+      readableObjectMode: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.objectMode : false;
+        }
+      },
+      readableEncoding: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.encoding : null;
+        }
+      },
+      errored: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.errored : null;
+        }
+      },
+      closed: {
+        __proto__: null,
+        get() {
+          return this._readableState ? this._readableState.closed : false;
+        }
+      },
+      destroyed: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.destroyed : false;
+        },
+        set(value) {
+          if (!this._readableState) {
+            return;
           }
-          const blockList = [];
-          const blockIDPrefix = (0, core_util_2.randomUUID)();
-          let transferProgress = 0;
-          const batch = new Batch_js_1.Batch(options.concurrency);
-          for (let i = 0; i < numBlocks; i++) {
-            batch.addOperation(async () => {
-              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, i);
-              const start = blockSize * i;
-              const end = i === numBlocks - 1 ? size : start + blockSize;
-              const contentLength = end - start;
-              blockList.push(blockID);
-              await this.stageBlock(blockID, bodyFactory(start, contentLength), contentLength, {
-                abortSignal: options.abortSignal,
-                conditions: options.conditions,
-                encryptionScope: options.encryptionScope,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              transferProgress += contentLength;
-              if (options.onProgress) {
-                options.onProgress({
-                  loadedBytes: transferProgress
-                });
-              }
-            });
+          this._readableState.destroyed = value;
+        }
+      },
+      readableEnded: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._readableState ? this._readableState.endEmitted : false;
+        }
+      }
+    });
+    ObjectDefineProperties(ReadableState.prototype, {
+      // Legacy getter for `pipesCount`.
+      pipesCount: {
+        __proto__: null,
+        get() {
+          return this.pipes.length;
+        }
+      },
+      // Legacy property for `paused`.
+      paused: {
+        __proto__: null,
+        get() {
+          return this[kPaused] !== false;
+        },
+        set(value) {
+          this[kPaused] = !!value;
+        }
+      }
+    });
+    Readable._fromList = fromList;
+    function fromList(n, state) {
+      if (state.length === 0) return null;
+      let ret;
+      if (state.objectMode) ret = state.buffer.shift();
+      else if (!n || n >= state.length) {
+        if (state.decoder) ret = state.buffer.join("");
+        else if (state.buffer.length === 1) ret = state.buffer.first();
+        else ret = state.buffer.concat(state.length);
+        state.buffer.clear();
+      } else {
+        ret = state.buffer.consume(n, state.decoder);
+      }
+      return ret;
+    }
+    function endReadable(stream) {
+      const state = stream._readableState;
+      debug4("endReadable", state.endEmitted);
+      if (!state.endEmitted) {
+        state.ended = true;
+        process2.nextTick(endReadableNT, state, stream);
+      }
+    }
+    function endReadableNT(state, stream) {
+      debug4("endReadableNT", state.endEmitted, state.length);
+      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
+        state.endEmitted = true;
+        stream.emit("end");
+        if (stream.writable && stream.allowHalfOpen === false) {
+          process2.nextTick(endWritableNT, stream);
+        } else if (state.autoDestroy) {
+          const wState = stream._writableState;
+          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
+          // if writable is explicitly set to false.
+          (wState.finished || wState.writable === false);
+          if (autoDestroy) {
+            stream.destroy();
           }
-          await batch.do();
-          return this.commitBlockList(blockList, updatedOptions);
-        });
+        }
+      }
+    }
+    function endWritableNT(stream) {
+      const writable = stream.writable && !stream.writableEnded && !stream.destroyed;
+      if (writable) {
+        stream.end();
+      }
+    }
+    Readable.from = function(iterable, opts) {
+      return from(Readable, iterable, opts);
+    };
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Readable.fromWeb = function(readableStream, options) {
+      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
+    };
+    Readable.toWeb = function(streamReadable, options) {
+      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
+    };
+    Readable.wrap = function(src, options) {
+      var _ref, _src$readableObjectMo;
+      return new Readable({
+        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
+        ...options,
+        destroy(err, callback) {
+          destroyImpl.destroyer(src, err);
+          callback(err);
+        }
+      }).wrap(src);
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/writable.js
+var require_writable = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
+    var process2 = require_process();
+    var {
+      ArrayPrototypeSlice,
+      Error: Error2,
+      FunctionPrototypeSymbolHasInstance,
+      ObjectDefineProperty,
+      ObjectDefineProperties,
+      ObjectSetPrototypeOf,
+      StringPrototypeToLowerCase,
+      Symbol: Symbol2,
+      SymbolHasInstance
+    } = require_primordials();
+    module2.exports = Writable;
+    Writable.WritableState = WritableState;
+    var { EventEmitter: EE } = require("events");
+    var Stream = require_legacy().Stream;
+    var { Buffer: Buffer2 } = require("buffer");
+    var destroyImpl = require_destroy2();
+    var { addAbortSignal } = require_add_abort_signal();
+    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var {
+      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+      ERR_METHOD_NOT_IMPLEMENTED,
+      ERR_MULTIPLE_CALLBACK,
+      ERR_STREAM_CANNOT_PIPE,
+      ERR_STREAM_DESTROYED,
+      ERR_STREAM_ALREADY_FINISHED,
+      ERR_STREAM_NULL_VALUES,
+      ERR_STREAM_WRITE_AFTER_END,
+      ERR_UNKNOWN_ENCODING
+    } = require_errors4().codes;
+    var { errorOrDestroy } = destroyImpl;
+    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
+    ObjectSetPrototypeOf(Writable, Stream);
+    function nop() {
+    }
+    var kOnFinished = Symbol2("kOnFinished");
+    function WritableState(options, stream, isDuplex) {
+      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
+      this.objectMode = !!(options && options.objectMode);
+      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
+      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
+      this.finalCalled = false;
+      this.needDrain = false;
+      this.ending = false;
+      this.ended = false;
+      this.finished = false;
+      this.destroyed = false;
+      const noDecode = !!(options && options.decodeStrings === false);
+      this.decodeStrings = !noDecode;
+      this.defaultEncoding = options && options.defaultEncoding || "utf8";
+      this.length = 0;
+      this.writing = false;
+      this.corked = 0;
+      this.sync = true;
+      this.bufferProcessing = false;
+      this.onwrite = onwrite.bind(void 0, stream);
+      this.writecb = null;
+      this.writelen = 0;
+      this.afterWriteTickInfo = null;
+      resetBuffer(this);
+      this.pendingcb = 0;
+      this.constructed = true;
+      this.prefinished = false;
+      this.errorEmitted = false;
+      this.emitClose = !options || options.emitClose !== false;
+      this.autoDestroy = !options || options.autoDestroy !== false;
+      this.errored = null;
+      this.closed = false;
+      this.closeEmitted = false;
+      this[kOnFinished] = [];
+    }
+    function resetBuffer(state) {
+      state.buffered = [];
+      state.bufferedIndex = 0;
+      state.allBuffers = true;
+      state.allNoop = true;
+    }
+    WritableState.prototype.getBuffer = function getBuffer() {
+      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
+    };
+    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
+      __proto__: null,
+      get() {
+        return this.buffered.length - this.bufferedIndex;
+      }
+    });
+    function Writable(options) {
+      const isDuplex = this instanceof require_duplex();
+      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
+      this._writableState = new WritableState(options, this, isDuplex);
+      if (options) {
+        if (typeof options.write === "function") this._write = options.write;
+        if (typeof options.writev === "function") this._writev = options.writev;
+        if (typeof options.destroy === "function") this._destroy = options.destroy;
+        if (typeof options.final === "function") this._final = options.final;
+        if (typeof options.construct === "function") this._construct = options.construct;
+        if (options.signal) addAbortSignal(options.signal, this);
+      }
+      Stream.call(this, options);
+      destroyImpl.construct(this, () => {
+        const state = this._writableState;
+        if (!state.writing) {
+          clearBuffer(this, state);
+        }
+        finishMaybe(this, state);
+      });
+    }
+    ObjectDefineProperty(Writable, SymbolHasInstance, {
+      __proto__: null,
+      value: function(object) {
+        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
+        if (this !== Writable) return false;
+        return object && object._writableState instanceof WritableState;
+      }
+    });
+    Writable.prototype.pipe = function() {
+      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
+    };
+    function _write(stream, chunk, encoding, cb) {
+      const state = stream._writableState;
+      if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = state.defaultEncoding;
+      } else {
+        if (!encoding) encoding = state.defaultEncoding;
+        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
+        if (typeof cb !== "function") cb = nop;
+      }
+      if (chunk === null) {
+        throw new ERR_STREAM_NULL_VALUES();
+      } else if (!state.objectMode) {
+        if (typeof chunk === "string") {
+          if (state.decodeStrings !== false) {
+            chunk = Buffer2.from(chunk, encoding);
+            encoding = "buffer";
+          }
+        } else if (chunk instanceof Buffer2) {
+          encoding = "buffer";
+        } else if (Stream._isUint8Array(chunk)) {
+          chunk = Stream._uint8ArrayToBuffer(chunk);
+          encoding = "buffer";
+        } else {
+          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+        }
+      }
+      let err;
+      if (state.ending) {
+        err = new ERR_STREAM_WRITE_AFTER_END();
+      } else if (state.destroyed) {
+        err = new ERR_STREAM_DESTROYED("write");
+      }
+      if (err) {
+        process2.nextTick(cb, err);
+        errorOrDestroy(stream, err, true);
+        return err;
+      }
+      state.pendingcb++;
+      return writeOrBuffer(stream, state, chunk, encoding, cb);
+    }
+    Writable.prototype.write = function(chunk, encoding, cb) {
+      return _write(this, chunk, encoding, cb) === true;
+    };
+    Writable.prototype.cork = function() {
+      this._writableState.corked++;
+    };
+    Writable.prototype.uncork = function() {
+      const state = this._writableState;
+      if (state.corked) {
+        state.corked--;
+        if (!state.writing) clearBuffer(this, state);
       }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Uploads a local file in blocks to a block blob.
-       *
-       * When file size lesser than or equal to 256MB, this method will use 1 upload call to finish the upload.
-       * Otherwise, this method will call stageBlock to upload blocks, and finally call commitBlockList
-       * to commit the block list.
-       *
-       * @param filePath - Full path of local file
-       * @param options - Options to Upload to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadFile(filePath, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadFile", options, async (updatedOptions) => {
-          const size = (await (0, utils_js_1.fsStat)(filePath)).size;
-          return this.uploadSeekableInternal((offset, count) => {
-            return () => (0, utils_js_1.fsCreateReadStream)(filePath, {
-              autoClose: true,
-              end: count ? offset + count - 1 : Infinity,
-              start: offset
-            });
-          }, size, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          });
+    };
+    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
+      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
+      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
+      this._writableState.defaultEncoding = encoding;
+      return this;
+    };
+    function writeOrBuffer(stream, state, chunk, encoding, callback) {
+      const len = state.objectMode ? 1 : chunk.length;
+      state.length += len;
+      const ret = state.length < state.highWaterMark;
+      if (!ret) state.needDrain = true;
+      if (state.writing || state.corked || state.errored || !state.constructed) {
+        state.buffered.push({
+          chunk,
+          encoding,
+          callback
         });
-      }
-      /**
-       * ONLY AVAILABLE IN NODE.JS RUNTIME.
-       *
-       * Uploads a Node.js Readable stream into block blob.
-       *
-       * PERFORMANCE IMPROVEMENT TIPS:
-       * * Input stream highWaterMark is better to set a same value with bufferSize
-       *    parameter, which will avoid Buffer.concat() operations.
-       *
-       * @param stream - Node.js Readable stream
-       * @param bufferSize - Size of every buffer allocated, also the block size in the uploaded block blob. Default value is 8MB
-       * @param maxConcurrency -  Max concurrency indicates the max number of buffers that can be allocated,
-       *                                 positive correlation with max uploading concurrency. Default value is 5
-       * @param options - Options to Upload Stream to Block Blob operation.
-       * @returns Response data for the Blob Upload operation.
-       */
-      async uploadStream(stream, bufferSize = constants_js_1.DEFAULT_BLOCK_BUFFER_SIZE_BYTES, maxConcurrency = 5, options = {}) {
-        if (!options.blobHTTPHeaders) {
-          options.blobHTTPHeaders = {};
+        if (state.allBuffers && encoding !== "buffer") {
+          state.allBuffers = false;
         }
-        if (!options.conditions) {
-          options.conditions = {};
+        if (state.allNoop && callback !== nop) {
+          state.allNoop = false;
         }
-        return tracing_js_1.tracingClient.withSpan("BlockBlobClient-uploadStream", options, async (updatedOptions) => {
-          let blockNum = 0;
-          const blockIDPrefix = (0, core_util_2.randomUUID)();
-          let transferProgress = 0;
-          const blockList = [];
-          const scheduler = new storage_common_1.BufferScheduler(
-            stream,
-            bufferSize,
-            maxConcurrency,
-            async (body, length) => {
-              const blockID = (0, utils_common_js_1.generateBlockID)(blockIDPrefix, blockNum);
-              blockList.push(blockID);
-              blockNum++;
-              await this.stageBlock(blockID, body, length, {
-                customerProvidedKey: options.customerProvidedKey,
-                conditions: options.conditions,
-                encryptionScope: options.encryptionScope,
-                tracingOptions: updatedOptions.tracingOptions
-              });
-              transferProgress += length;
-              if (options.onProgress) {
-                options.onProgress({ loadedBytes: transferProgress });
-              }
-            },
-            // concurrency should set a smaller value than maxConcurrency, which is helpful to
-            // reduce the possibility when a outgoing handler waits for stream data, in
-            // this situation, outgoing handlers are blocked.
-            // Outgoing queue shouldn't be empty.
-            Math.ceil(maxConcurrency / 4 * 3)
-          );
-          await scheduler.do();
-          return (0, utils_common_js_1.assertResponse)(await this.commitBlockList(blockList, {
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      } else {
+        state.writelen = len;
+        state.writecb = callback;
+        state.writing = true;
+        state.sync = true;
+        stream._write(chunk, encoding, state.onwrite);
+        state.sync = false;
       }
-    };
-    exports2.BlockBlobClient = BlockBlobClient;
-    var PageBlobClient = class _PageBlobClient extends BlobClient {
-      /**
-       * pageBlobsContext provided by protocol layer.
-       */
-      pageBlobContext;
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, blobNameOrOptions, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          options = blobNameOrOptions;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string" && blobNameOrOptions && typeof blobNameOrOptions === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const blobName = blobNameOrOptions;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
-            }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)((0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)), encodeURIComponent(blobName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+      return ret && !state.errored && !state.destroyed;
+    }
+    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
+      state.writelen = len;
+      state.writecb = cb;
+      state.writing = true;
+      state.sync = true;
+      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
+      else if (writev) stream._writev(chunk, state.onwrite);
+      else stream._write(chunk, encoding, state.onwrite);
+      state.sync = false;
+    }
+    function onwriteError(stream, state, er, cb) {
+      --state.pendingcb;
+      cb(er);
+      errorBuffer(state);
+      errorOrDestroy(stream, er);
+    }
+    function onwrite(stream, er) {
+      const state = stream._writableState;
+      const sync = state.sync;
+      const cb = state.writecb;
+      if (typeof cb !== "function") {
+        errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK());
+        return;
+      }
+      state.writing = false;
+      state.writecb = null;
+      state.length -= state.writelen;
+      state.writelen = 0;
+      if (er) {
+        er.stack;
+        if (!state.errored) {
+          state.errored = er;
+        }
+        if (stream._readableState && !stream._readableState.errored) {
+          stream._readableState.errored = er;
+        }
+        if (sync) {
+          process2.nextTick(onwriteError, stream, state, er, cb);
+        } else {
+          onwriteError(stream, state, er, cb);
+        }
+      } else {
+        if (state.buffered.length > state.bufferedIndex) {
+          clearBuffer(stream, state);
+        }
+        if (sync) {
+          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
+            state.afterWriteTickInfo.count++;
           } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
+            state.afterWriteTickInfo = {
+              count: 1,
+              cb,
+              stream,
+              state
+            };
+            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
           }
         } else {
-          throw new Error("Expecting non-empty strings for containerName and blobName parameters");
+          afterWrite(stream, state, 1, cb);
         }
-        super(url, pipeline);
-        this.pageBlobContext = this.storageClientContext.pageBlob;
       }
-      /**
-       * Creates a new PageBlobClient object identical to the source but with the
-       * specified snapshot timestamp.
-       * Provide "" will remove the snapshot and return a Client to the base blob.
-       *
-       * @param snapshot - The snapshot timestamp.
-       * @returns A new PageBlobClient object identical to the source but with the specified snapshot timestamp.
-       */
-      withSnapshot(snapshot) {
-        return new _PageBlobClient((0, utils_common_js_1.setURLParameter)(this.url, constants_js_1.URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? void 0 : snapshot), this.pipeline);
+    }
+    function afterWriteTick({ stream, state, count, cb }) {
+      state.afterWriteTickInfo = null;
+      return afterWrite(stream, state, count, cb);
+    }
+    function afterWrite(stream, state, count, cb) {
+      const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain;
+      if (needDrain) {
+        state.needDrain = false;
+        stream.emit("drain");
       }
-      /**
-       * Creates a page blob of the specified length. Call uploadPages to upload data
-       * data to a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param size - size of the page blob.
-       * @param options - Options to the Page Blob Create operation.
-       * @returns Response data for the Page Blob Create operation.
-       */
-      async create(size, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.create(0, size, {
-            abortSignal: options.abortSignal,
-            blobHttpHeaders: options.blobHTTPHeaders,
-            blobSequenceNumber: options.blobSequenceNumber,
-            leaseAccessConditions: options.conditions,
-            metadata: options.metadata,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            immutabilityPolicyExpiry: options.immutabilityPolicy?.expiriesOn,
-            immutabilityPolicyMode: options.immutabilityPolicy?.policyMode,
-            legalHold: options.legalHold,
-            tier: (0, models_js_1.toAccessTier)(options.tier),
-            blobTagsString: (0, utils_common_js_1.toBlobTagsString)(options.tags),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      while (count-- > 0) {
+        state.pendingcb--;
+        cb();
       }
-      /**
-       * Creates a page blob of the specified length. Call uploadPages to upload data
-       * data to a page blob. If the blob with the same name already exists, the content
-       * of the existing blob will remain unchanged.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param size - size of the page blob.
-       * @param options -
-       */
-      async createIfNotExists(size, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const conditions = { ifNoneMatch: constants_js_1.ETagAny };
-            const res = (0, utils_common_js_1.assertResponse)(await this.create(size, {
-              ...options,
-              conditions,
-              tracingOptions: updatedOptions.tracingOptions
-            }));
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "BlobAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
-            }
-            throw e;
+      if (state.destroyed) {
+        errorBuffer(state);
+      }
+      finishMaybe(stream, state);
+    }
+    function errorBuffer(state) {
+      if (state.writing) {
+        return;
+      }
+      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
+        var _state$errored;
+        const { chunk, callback } = state.buffered[n];
+        const len = state.objectMode ? 1 : chunk.length;
+        state.length -= len;
+        callback(
+          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
+        );
+      }
+      const onfinishCallbacks = state[kOnFinished].splice(0);
+      for (let i = 0; i < onfinishCallbacks.length; i++) {
+        var _state$errored2;
+        onfinishCallbacks[i](
+          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
+        );
+      }
+      resetBuffer(state);
+    }
+    function clearBuffer(stream, state) {
+      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
+        return;
+      }
+      const { buffered, bufferedIndex, objectMode } = state;
+      const bufferedLength = buffered.length - bufferedIndex;
+      if (!bufferedLength) {
+        return;
+      }
+      let i = bufferedIndex;
+      state.bufferProcessing = true;
+      if (bufferedLength > 1 && stream._writev) {
+        state.pendingcb -= bufferedLength - 1;
+        const callback = state.allNoop ? nop : (err) => {
+          for (let n = i; n < buffered.length; ++n) {
+            buffered[n].callback(err);
           }
-        });
+        };
+        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
+        chunks.allBuffers = state.allBuffers;
+        doWrite(stream, state, true, state.length, chunks, "", callback);
+        resetBuffer(state);
+      } else {
+        do {
+          const { chunk, encoding, callback } = buffered[i];
+          buffered[i++] = null;
+          const len = objectMode ? 1 : chunk.length;
+          doWrite(stream, state, false, len, chunk, encoding, callback);
+        } while (i < buffered.length && !state.writing);
+        if (i === buffered.length) {
+          resetBuffer(state);
+        } else if (i > 256) {
+          buffered.splice(0, i);
+          state.bufferedIndex = 0;
+        } else {
+          state.bufferedIndex = i;
+        }
       }
-      /**
-       * Writes 1 or more pages to the page blob. The start and end offsets must be a multiple of 512.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
-       *
-       * @param body - Data to upload
-       * @param offset - Offset of destination page blob
-       * @param count - Content length of the body, also number of bytes to be uploaded
-       * @param options - Options to the Page Blob Upload Pages operation.
-       * @returns Response data for the Page Blob Upload Pages operation.
-       */
-      async uploadPages(body, offset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPages", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPages(count, body, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            requestOptions: {
-              onUploadProgress: options.onProgress
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            sequenceNumberAccessConditions: options.conditions,
-            transactionalContentMD5: options.transactionalContentMD5,
-            transactionalContentCrc64: options.transactionalContentCrc64,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      state.bufferProcessing = false;
+    }
+    Writable.prototype._write = function(chunk, encoding, cb) {
+      if (this._writev) {
+        this._writev(
+          [
+            {
+              chunk,
+              encoding
+            }
+          ],
+          cb
+        );
+      } else {
+        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
       }
-      /**
-       * The Upload Pages operation writes a range of pages to a page blob where the
-       * contents are read from a URL.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page-from-url
-       *
-       * @param sourceURL - Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication
-       * @param sourceOffset - The source offset to copy from. Pass 0 to copy from the beginning of source page blob
-       * @param destOffset - Offset of destination page blob
-       * @param count - Number of bytes to be uploaded from source page blob
-       * @param options -
-       */
-      async uploadPagesFromURL(sourceURL, sourceOffset, destOffset, count, options = {}) {
-        options.conditions = options.conditions || {};
-        options.sourceConditions = options.sourceConditions || {};
-        (0, models_js_1.ensureCpkIfSpecified)(options.customerProvidedKey, this.isHttps);
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-uploadPagesFromURL", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.uploadPagesFromURL(sourceURL, (0, Range_js_1.rangeToString)({ offset: sourceOffset, count }), 0, (0, Range_js_1.rangeToString)({ offset: destOffset, count }), {
-            abortSignal: options.abortSignal,
-            sourceContentMD5: options.sourceContentMD5,
-            sourceContentCrc64: options.sourceContentCrc64,
-            leaseAccessConditions: options.conditions,
-            sequenceNumberAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            sourceModifiedAccessConditions: {
-              sourceIfMatch: options.sourceConditions?.ifMatch,
-              sourceIfModifiedSince: options.sourceConditions?.ifModifiedSince,
-              sourceIfNoneMatch: options.sourceConditions?.ifNoneMatch,
-              sourceIfUnmodifiedSince: options.sourceConditions?.ifUnmodifiedSince
-            },
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            copySourceAuthorization: (0, utils_common_js_1.httpAuthorizationToString)(options.sourceAuthorization),
-            fileRequestIntent: options.sourceShareTokenIntent,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+    };
+    Writable.prototype._writev = null;
+    Writable.prototype.end = function(chunk, encoding, cb) {
+      const state = this._writableState;
+      if (typeof chunk === "function") {
+        cb = chunk;
+        chunk = null;
+        encoding = null;
+      } else if (typeof encoding === "function") {
+        cb = encoding;
+        encoding = null;
       }
-      /**
-       * Frees the specified pages from the page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-page
-       *
-       * @param offset - Starting byte position of the pages to clear.
-       * @param count - Number of bytes to clear.
-       * @param options - Options to the Page Blob Clear Pages operation.
-       * @returns Response data for the Page Blob Clear Pages operation.
-       */
-      async clearPages(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-clearPages", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.clearPages(0, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            sequenceNumberAccessConditions: options.conditions,
-            cpkInfo: options.customerProvidedKey,
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      let err;
+      if (chunk !== null && chunk !== void 0) {
+        const ret = _write(this, chunk, encoding);
+        if (ret instanceof Error2) {
+          err = ret;
+        }
+      }
+      if (state.corked) {
+        state.corked = 1;
+        this.uncork();
       }
-      /**
-       * Returns the list of valid page ranges for a page blob or snapshot of a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns Response data for the Page Blob Get Ranges operation.
-       */
-      async getPageRanges(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRanges", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
-        });
+      if (err) {
+      } else if (!state.errored && !state.ending) {
+        state.ending = true;
+        finishMaybe(this, state, true);
+        state.ended = true;
+      } else if (state.finished) {
+        err = new ERR_STREAM_ALREADY_FINISHED("end");
+      } else if (state.destroyed) {
+        err = new ERR_STREAM_DESTROYED("end");
       }
-      /**
-       * getPageRangesSegment returns a single segment of page ranges starting from the
-       * specified Marker. Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call getPageRangesSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to PageBlob Get Page Ranges Segment operation.
-       */
-      async listPageRangesSegment(offset = 0, count, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRanges({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (typeof cb === "function") {
+        if (err || state.finished) {
+          process2.nextTick(cb, err);
+        } else {
+          state[kOnFinished].push(cb);
+        }
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesResponseModel}
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param marker - A string value that identifies the portion of
-       *                          the get of page ranges to be returned with the next getting operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          getting operation did not return all page ranges remaining within the current page.
-       *                          The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of get
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to List Page Ranges operation.
-       */
-      async *listPageRangeItemSegments(offset = 0, count, marker, options = {}) {
-        let getPageRangeItemSegmentsResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            getPageRangeItemSegmentsResponse = await this.listPageRangesSegment(offset, count, marker, options);
-            marker = getPageRangeItemSegmentsResponse.continuationToken;
-            yield await getPageRangeItemSegmentsResponse;
-          } while (marker);
+      return this;
+    };
+    function needFinish(state) {
+      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
+    }
+    function callFinal(stream, state) {
+      let called = false;
+      function onFinish(err) {
+        if (called) {
+          errorOrDestroy(stream, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
+          return;
+        }
+        called = true;
+        state.pendingcb--;
+        if (err) {
+          const onfinishCallbacks = state[kOnFinished].splice(0);
+          for (let i = 0; i < onfinishCallbacks.length; i++) {
+            onfinishCallbacks[i](err);
+          }
+          errorOrDestroy(stream, err, state.sync);
+        } else if (needFinish(state)) {
+          state.prefinished = true;
+          stream.emit("prefinish");
+          state.pendingcb++;
+          process2.nextTick(finish, stream, state);
         }
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to List Page Ranges operation.
-       */
-      async *listPageRangeItems(offset = 0, count, options = {}) {
-        let marker;
-        for await (const getPageRangesSegment of this.listPageRangeItemSegments(offset, count, marker, options)) {
-          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
+      state.sync = true;
+      state.pendingcb++;
+      try {
+        stream._final(onFinish);
+      } catch (err) {
+        onFinish(err);
+      }
+      state.sync = false;
+    }
+    function prefinish(stream, state) {
+      if (!state.prefinished && !state.finalCalled) {
+        if (typeof stream._final === "function" && !state.destroyed) {
+          state.finalCalled = true;
+          callFinal(stream, state);
+        } else {
+          state.prefinished = true;
+          stream.emit("prefinish");
         }
       }
-      /**
-       * Returns an async iterable iterator to list of page ranges for a page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       *  .byPage() returns an async iterable iterator to list of page ranges for a page blob.
-       *
-       * ```ts snippet:ClientsListPageBlobs
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const pageRange of pageBlobClient.listPageRanges()) {
-       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = pageBlobClient.listPageRanges();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
-       *   for (const pageRange of page.pageRange || []) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listPageRanges(offset = 0, count, options = {}) {
-        options.conditions = options.conditions || {};
-        const iter = this.listPageRangeItems(offset, count, options);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listPageRangeItemSegments(offset, count, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...options
-            });
+    }
+    function finishMaybe(stream, state, sync) {
+      if (needFinish(state)) {
+        prefinish(stream, state);
+        if (state.pendingcb === 0) {
+          if (sync) {
+            state.pendingcb++;
+            process2.nextTick(
+              (stream2, state2) => {
+                if (needFinish(state2)) {
+                  finish(stream2, state2);
+                } else {
+                  state2.pendingcb--;
+                }
+              },
+              stream,
+              state
+            );
+          } else if (needFinish(state)) {
+            state.pendingcb++;
+            finish(stream, state);
           }
-        };
+        }
       }
-      /**
-       * Gets the collection of page ranges that differ between a specified snapshot and this page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page blob
-       * @param count - Number of bytes to get ranges diff.
-       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       * @returns Response data for the Page Blob Get Page Range Diff operation.
-       */
-      async getPageRangesDiff(offset, count, prevSnapshot, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiff", options, async (updatedOptions) => {
-          const result = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            prevsnapshot: prevSnapshot,
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(result);
-        });
+    }
+    function finish(stream, state) {
+      state.pendingcb--;
+      state.finished = true;
+      const onfinishCallbacks = state[kOnFinished].splice(0);
+      for (let i = 0; i < onfinishCallbacks.length; i++) {
+        onfinishCallbacks[i]();
       }
-      /**
-       * getPageRangesDiffSegment returns a single segment of page ranges starting from the
-       * specified Marker for difference between previous snapshot and the target page blob.
-       * Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call getPageRangesDiffSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param marker - A string value that identifies the portion of the get to be returned with the next get operation.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-getPageRangesDiffSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options?.abortSignal,
-            leaseAccessConditions: options?.conditions,
-            modifiedAccessConditions: {
-              ...options?.conditions,
-              ifTags: options?.conditions?.tagConditions
-            },
-            prevsnapshot: prevSnapshotOrUrl,
-            range: (0, Range_js_1.rangeToString)({
-              offset,
-              count
-            }),
-            marker,
-            maxPageSize: options?.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      stream.emit("finish");
+      if (state.autoDestroy) {
+        const rState = stream._readableState;
+        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
+        // if readable is explicitly set to false.
+        (rState.endEmitted || rState.readable === false);
+        if (autoDestroy) {
+          stream.destroy();
+        }
+      }
+    }
+    ObjectDefineProperties(Writable.prototype, {
+      closed: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.closed : false;
+        }
+      },
+      destroyed: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.destroyed : false;
+        },
+        set(value) {
+          if (this._writableState) {
+            this._writableState.destroyed = value;
+          }
+        }
+      },
+      writable: {
+        __proto__: null,
+        get() {
+          const w = this._writableState;
+          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
+        },
+        set(val) {
+          if (this._writableState) {
+            this._writableState.writable = !!val;
+          }
+        }
+      },
+      writableFinished: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.finished : false;
+        }
+      },
+      writableObjectMode: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.objectMode : false;
+        }
+      },
+      writableBuffer: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.getBuffer();
+        }
+      },
+      writableEnded: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.ending : false;
+        }
+      },
+      writableNeedDrain: {
+        __proto__: null,
+        get() {
+          const wState = this._writableState;
+          if (!wState) return false;
+          return !wState.destroyed && !wState.ending && wState.needDrain;
+        }
+      },
+      writableHighWaterMark: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.highWaterMark;
+        }
+      },
+      writableCorked: {
+        __proto__: null,
+        get() {
+          return this._writableState ? this._writableState.corked : 0;
+        }
+      },
+      writableLength: {
+        __proto__: null,
+        get() {
+          return this._writableState && this._writableState.length;
+        }
+      },
+      errored: {
+        __proto__: null,
+        enumerable: false,
+        get() {
+          return this._writableState ? this._writableState.errored : null;
+        }
+      },
+      writableAborted: {
+        __proto__: null,
+        enumerable: false,
+        get: function() {
+          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
+        }
+      }
+    });
+    var destroy = destroyImpl.destroy;
+    Writable.prototype.destroy = function(err, cb) {
+      const state = this._writableState;
+      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
+        process2.nextTick(errorBuffer, state);
+      }
+      destroy.call(this, err, cb);
+      return this;
+    };
+    Writable.prototype._undestroy = destroyImpl.undestroy;
+    Writable.prototype._destroy = function(err, cb) {
+      cb(err);
+    };
+    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
+      this.destroy(err);
+    };
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Writable.fromWeb = function(writableStream, options) {
+      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
+    };
+    Writable.toWeb = function(streamWritable) {
+      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/duplexify.js
+var require_duplexify = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
+    var process2 = require_process();
+    var bufferModule = require("buffer");
+    var {
+      isReadable,
+      isWritable,
+      isIterable,
+      isNodeStream,
+      isReadableNodeStream,
+      isWritableNodeStream,
+      isDuplexNodeStream,
+      isReadableStream,
+      isWritableStream
+    } = require_utils8();
+    var eos = require_end_of_stream();
+    var {
+      AbortError,
+      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
+    } = require_errors4();
+    var { destroyer } = require_destroy2();
+    var Duplex = require_duplex();
+    var Readable = require_readable4();
+    var Writable = require_writable();
+    var { createDeferredPromise } = require_util20();
+    var from = require_from();
+    var Blob2 = globalThis.Blob || bufferModule.Blob;
+    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
+      return b instanceof Blob2;
+    } : function isBlob2(b) {
+      return false;
+    };
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var { FunctionPrototypeCall } = require_primordials();
+    var Duplexify = class extends Duplex {
+      constructor(options) {
+        super(options);
+        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
+          this._readableState.readable = false;
+          this._readableState.ended = true;
+          this._readableState.endEmitted = true;
+        }
+        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
+          this._writableState.writable = false;
+          this._writableState.ending = true;
+          this._writableState.ended = true;
+          this._writableState.finished = true;
+        }
+      }
+    };
+    module2.exports = function duplexify(body, name) {
+      if (isDuplexNodeStream(body)) {
+        return body;
+      }
+      if (isReadableNodeStream(body)) {
+        return _duplexify({
+          readable: body
         });
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link PageBlobGetPageRangesDiffResponseModel}
-       *
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param marker - A string value that identifies the portion of
-       *                          the get of page ranges to be returned with the next getting operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          getting operation did not return all page ranges remaining within the current page.
-       *                          The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of get
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async *listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options) {
-        let getPageRangeItemSegmentsResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            getPageRangeItemSegmentsResponse = await this.listPageRangesDiffSegment(offset, count, prevSnapshotOrUrl, marker, options);
-            marker = getPageRangeItemSegmentsResponse.continuationToken;
-            yield await getPageRangeItemSegmentsResponse;
-          } while (marker);
-        }
+      if (isWritableNodeStream(body)) {
+        return _duplexify({
+          writable: body
+        });
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link PageRangeInfo} objects
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshotOrUrl - Timestamp of snapshot to retrieve the difference or URL of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       */
-      async *listPageRangeDiffItems(offset, count, prevSnapshotOrUrl, options) {
-        let marker;
-        for await (const getPageRangesSegment of this.listPageRangeDiffItemSegments(offset, count, prevSnapshotOrUrl, marker, options)) {
-          yield* (0, utils_common_js_1.ExtractPageRangeInfoItems)(getPageRangesSegment);
-        }
+      if (isNodeStream(body)) {
+        return _duplexify({
+          writable: false,
+          readable: false
+        });
       }
-      /**
-       * Returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       *  .byPage() returns an async iterable iterator to list of page ranges that differ between a specified snapshot and this page blob.
-       *
-       * ```ts snippet:ClientsListPageBlobsDiff
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const pageBlobClient = containerClient.getPageBlobClient(blobName);
-       *
-       * const offset = 0;
-       * const count = 1024;
-       * const previousSnapshot = "";
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const pageRange of pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot)) {
-       *   console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = pageBlobClient.listPageRangesDiff(offset, count, previousSnapshot);
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Page range ${i++}: ${value.start} - ${value.end}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const pageRange of page.pageRange || []) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = pageBlobClient
-       *   .listPageRangesDiff(offset, count, previousSnapshot)
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 page ranges
-       * if (response.pageRange) {
-       *   for (const pageRange of response.pageRange) {
-       *     console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param offset - Starting byte position of the page ranges.
-       * @param count - Number of bytes to get.
-       * @param prevSnapshot - Timestamp of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Ranges operation.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listPageRangesDiff(offset, count, prevSnapshot, options = {}) {
-        options.conditions = options.conditions || {};
-        const iter = this.listPageRangeDiffItems(offset, count, prevSnapshot, {
-          ...options
+      if (isReadableStream(body)) {
+        return _duplexify({
+          readable: Readable.fromWeb(body)
         });
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listPageRangeDiffItemSegments(offset, count, prevSnapshot, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...options
-            });
-          }
-        };
       }
-      /**
-       * Gets the collection of page ranges that differ between a specified snapshot and this page blob for managed disks.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges
-       *
-       * @param offset - Starting byte position of the page blob
-       * @param count - Number of bytes to get ranges diff.
-       * @param prevSnapshotUrl - URL of snapshot to retrieve the difference.
-       * @param options - Options to the Page Blob Get Page Ranges Diff operation.
-       * @returns Response data for the Page Blob Get Page Range Diff operation.
-       */
-      async getPageRangesDiffForManagedDisks(offset, count, prevSnapshotUrl, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.getPageRangesDiff({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            prevSnapshotUrl,
-            range: (0, Range_js_1.rangeToString)({ offset, count }),
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return (0, PageBlobRangeResponse_js_1.rangeResponseFromModel)(response);
+      if (isWritableStream(body)) {
+        return _duplexify({
+          writable: Writable.fromWeb(body)
         });
       }
-      /**
-       * Resizes the page blob to the specified size (which must be a multiple of 512).
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param size - Target size
-       * @param options - Options to the Page Blob Resize operation.
-       * @returns Response data for the Page Blob Resize operation.
-       */
-      async resize(size, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-resize", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.resize(size, {
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
+      if (typeof body === "function") {
+        const { value, write, final, destroy } = fromAsyncGen(body);
+        if (isIterable(value)) {
+          return from(Duplexify, value, {
+            // TODO (ronag): highWaterMark?
+            objectMode: true,
+            write,
+            final,
+            destroy
+          });
+        }
+        const then2 = value === null || value === void 0 ? void 0 : value.then;
+        if (typeof then2 === "function") {
+          let d;
+          const promise = FunctionPrototypeCall(
+            then2,
+            value,
+            (val) => {
+              if (val != null) {
+                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
+              }
             },
-            encryptionScope: options.encryptionScope,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+            (err) => {
+              destroyer(d, err);
+            }
+          );
+          return d = new Duplexify({
+            // TODO (ronag): highWaterMark?
+            objectMode: true,
+            readable: false,
+            write,
+            final(cb) {
+              final(async () => {
+                try {
+                  await promise;
+                  process2.nextTick(cb, null);
+                } catch (err) {
+                  process2.nextTick(cb, err);
+                }
+              });
+            },
+            destroy
+          });
+        }
+        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
+      }
+      if (isBlob(body)) {
+        return duplexify(body.arrayBuffer());
+      }
+      if (isIterable(body)) {
+        return from(Duplexify, body, {
+          // TODO (ronag): highWaterMark?
+          objectMode: true,
+          writable: false
         });
       }
-      /**
-       * Sets a page blob's sequence number.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-properties
-       *
-       * @param sequenceNumberAction - Indicates how the service should modify the blob's sequence number.
-       * @param sequenceNumber - Required if sequenceNumberAction is max or update
-       * @param options - Options to the Page Blob Update Sequence Number operation.
-       * @returns Response data for the Page Blob Update Sequence Number operation.
-       */
-      async updateSequenceNumber(sequenceNumberAction, sequenceNumber, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-updateSequenceNumber", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
-            abortSignal: options.abortSignal,
-            blobSequenceNumber: sequenceNumber,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
+        return Duplexify.fromWeb(body);
+      }
+      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
+        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
+        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
+        return _duplexify({
+          readable,
+          writable
         });
       }
-      /**
-       * Begins an operation to start an incremental copy from one page blob's snapshot to this page blob.
-       * The snapshot is copied such that only the differential changes between the previously
-       * copied snapshot are transferred to the destination.
-       * The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual.
-       * @see https://learn.microsoft.com/rest/api/storageservices/incremental-copy-blob
-       * @see https://learn.microsoft.com/azure/virtual-machines/windows/incremental-snapshots
-       *
-       * @param copySource - Specifies the name of the source page blob snapshot. For example,
-       *                            https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
-       * @param options - Options to the Page Blob Copy Incremental operation.
-       * @returns Response data for the Page Blob Copy Incremental operation.
-       */
-      async startCopyIncremental(copySource, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("PageBlobClient-startCopyIncremental", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.pageBlobContext.copyIncremental(copySource, {
-            abortSignal: options.abortSignal,
-            modifiedAccessConditions: {
-              ...options.conditions,
-              ifTags: options.conditions?.tagConditions
-            },
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+      const then = body === null || body === void 0 ? void 0 : body.then;
+      if (typeof then === "function") {
+        let d;
+        FunctionPrototypeCall(
+          then,
+          body,
+          (val) => {
+            if (val != null) {
+              d.push(val);
+            }
+            d.push(null);
+          },
+          (err) => {
+            destroyer(d, err);
+          }
+        );
+        return d = new Duplexify({
+          objectMode: true,
+          writable: false,
+          read() {
+          }
         });
       }
+      throw new ERR_INVALID_ARG_TYPE2(
+        name,
+        [
+          "Blob",
+          "ReadableStream",
+          "WritableStream",
+          "Stream",
+          "Iterable",
+          "AsyncIterable",
+          "Function",
+          "{ readable, writable } pair",
+          "Promise"
+        ],
+        body
+      );
     };
-    exports2.PageBlobClient = PageBlobClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js
-var require_BatchUtils = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchUtils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.getBodyAsText = getBodyAsText;
-    exports2.utf8ByteLength = utf8ByteLength;
-    var utils_js_1 = require_utils7();
-    var constants_js_1 = require_constants14();
-    async function getBodyAsText(batchResponse) {
-      let buffer = Buffer.alloc(constants_js_1.BATCH_MAX_PAYLOAD_IN_BYTES);
-      const responseLength = await (0, utils_js_1.streamToBuffer2)(batchResponse.readableStreamBody, buffer);
-      buffer = buffer.slice(0, responseLength);
-      return buffer.toString();
+    function fromAsyncGen(fn) {
+      let { promise, resolve: resolve2 } = createDeferredPromise();
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      const value = fn(
+        (async function* () {
+          while (true) {
+            const _promise = promise;
+            promise = null;
+            const { chunk, done, cb } = await _promise;
+            process2.nextTick(cb);
+            if (done) return;
+            if (signal.aborted)
+              throw new AbortError(void 0, {
+                cause: signal.reason
+              });
+            ({ promise, resolve: resolve2 } = createDeferredPromise());
+            yield chunk;
+          }
+        })(),
+        {
+          signal
+        }
+      );
+      return {
+        value,
+        write(chunk, encoding, cb) {
+          const _resolve = resolve2;
+          resolve2 = null;
+          _resolve({
+            chunk,
+            done: false,
+            cb
+          });
+        },
+        final(cb) {
+          const _resolve = resolve2;
+          resolve2 = null;
+          _resolve({
+            done: true,
+            cb
+          });
+        },
+        destroy(err, cb) {
+          ac.abort();
+          cb(err);
+        }
+      };
     }
-    function utf8ByteLength(str2) {
-      return Buffer.byteLength(str2);
+    function _duplexify(pair) {
+      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable.wrap(pair.readable) : pair.readable;
+      const w = pair.writable;
+      let readable = !!isReadable(r);
+      let writable = !!isWritable(w);
+      let ondrain;
+      let onfinish;
+      let onreadable;
+      let onclose;
+      let d;
+      function onfinished(err) {
+        const cb = onclose;
+        onclose = null;
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          d.destroy(err);
+        }
+      }
+      d = new Duplexify({
+        // TODO (ronag): highWaterMark?
+        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
+        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
+        readable,
+        writable
+      });
+      if (writable) {
+        eos(w, (err) => {
+          writable = false;
+          if (err) {
+            destroyer(r, err);
+          }
+          onfinished(err);
+        });
+        d._write = function(chunk, encoding, callback) {
+          if (w.write(chunk, encoding)) {
+            callback();
+          } else {
+            ondrain = callback;
+          }
+        };
+        d._final = function(callback) {
+          w.end();
+          onfinish = callback;
+        };
+        w.on("drain", function() {
+          if (ondrain) {
+            const cb = ondrain;
+            ondrain = null;
+            cb();
+          }
+        });
+        w.on("finish", function() {
+          if (onfinish) {
+            const cb = onfinish;
+            onfinish = null;
+            cb();
+          }
+        });
+      }
+      if (readable) {
+        eos(r, (err) => {
+          readable = false;
+          if (err) {
+            destroyer(r, err);
+          }
+          onfinished(err);
+        });
+        r.on("readable", function() {
+          if (onreadable) {
+            const cb = onreadable;
+            onreadable = null;
+            cb();
+          }
+        });
+        r.on("end", function() {
+          d.push(null);
+        });
+        d._read = function() {
+          while (true) {
+            const buf = r.read();
+            if (buf === null) {
+              onreadable = d._read;
+              return;
+            }
+            if (!d.push(buf)) {
+              return;
+            }
+          }
+        };
+      }
+      d._destroy = function(err, callback) {
+        if (!err && onclose !== null) {
+          err = new AbortError();
+        }
+        onreadable = null;
+        ondrain = null;
+        onfinish = null;
+        if (onclose === null) {
+          callback(err);
+        } else {
+          onclose = callback;
+          destroyer(w, err);
+          destroyer(r, err);
+        }
+      };
+      return d;
     }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js
-var require_BatchResponseParser = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponseParser.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/duplex.js
+var require_duplex = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BatchResponseParser = void 0;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_http_compat_1 = require_commonjs11();
-    var constants_js_1 = require_constants14();
-    var BatchUtils_js_1 = require_BatchUtils();
-    var log_js_1 = require_log5();
-    var HTTP_HEADER_DELIMITER = ": ";
-    var SPACE_DELIMITER = " ";
-    var NOT_FOUND = -1;
-    var BatchResponseParser = class {
-      batchResponse;
-      responseBatchBoundary;
-      perResponsePrefix;
-      batchResponseEnding;
-      subRequests;
-      constructor(batchResponse, subRequests) {
-        if (!batchResponse || !batchResponse.contentType) {
-          throw new RangeError("batchResponse is malformed or doesn't contain valid content-type.");
-        }
-        if (!subRequests || subRequests.size === 0) {
-          throw new RangeError("Invalid state: subRequests is not provided or size is 0.");
-        }
-        this.batchResponse = batchResponse;
-        this.subRequests = subRequests;
-        this.responseBatchBoundary = this.batchResponse.contentType.split("=")[1];
-        this.perResponsePrefix = `--${this.responseBatchBoundary}${constants_js_1.HTTP_LINE_ENDING}`;
-        this.batchResponseEnding = `--${this.responseBatchBoundary}--`;
+    var {
+      ObjectDefineProperties,
+      ObjectGetOwnPropertyDescriptor,
+      ObjectKeys,
+      ObjectSetPrototypeOf
+    } = require_primordials();
+    module2.exports = Duplex;
+    var Readable = require_readable4();
+    var Writable = require_writable();
+    ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype);
+    ObjectSetPrototypeOf(Duplex, Readable);
+    {
+      const keys = ObjectKeys(Writable.prototype);
+      for (let i = 0; i < keys.length; i++) {
+        const method = keys[i];
+        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
       }
-      // For example of response, please refer to https://learn.microsoft.com/rest/api/storageservices/blob-batch#response
-      async parseBatchResponse() {
-        if (this.batchResponse._response.status !== constants_js_1.HTTPURLConnection.HTTP_ACCEPTED) {
-          throw new Error(`Invalid state: batch request failed with status: '${this.batchResponse._response.status}'.`);
+    }
+    function Duplex(options) {
+      if (!(this instanceof Duplex)) return new Duplex(options);
+      Readable.call(this, options);
+      Writable.call(this, options);
+      if (options) {
+        this.allowHalfOpen = options.allowHalfOpen !== false;
+        if (options.readable === false) {
+          this._readableState.readable = false;
+          this._readableState.ended = true;
+          this._readableState.endEmitted = true;
         }
-        const responseBodyAsText = await (0, BatchUtils_js_1.getBodyAsText)(this.batchResponse);
-        const subResponses = responseBodyAsText.split(this.batchResponseEnding)[0].split(this.perResponsePrefix).slice(1);
-        const subResponseCount = subResponses.length;
-        if (subResponseCount !== this.subRequests.size && subResponseCount !== 1) {
-          throw new Error("Invalid state: sub responses' count is not equal to sub requests' count.");
+        if (options.writable === false) {
+          this._writableState.writable = false;
+          this._writableState.ending = true;
+          this._writableState.ended = true;
+          this._writableState.finished = true;
         }
-        const deserializedSubResponses = new Array(subResponseCount);
-        let subResponsesSucceededCount = 0;
-        let subResponsesFailedCount = 0;
-        for (let index = 0; index < subResponseCount; index++) {
-          const subResponse = subResponses[index];
-          const deserializedSubResponse = {};
-          deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)());
-          const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`);
-          let subRespHeaderStartFound = false;
-          let subRespHeaderEndFound = false;
-          let subRespFailed = false;
-          let contentId = NOT_FOUND;
-          for (const responseLine of responseLines) {
-            if (!subRespHeaderStartFound) {
-              if (responseLine.startsWith(constants_js_1.HeaderConstants.CONTENT_ID)) {
-                contentId = parseInt(responseLine.split(HTTP_HEADER_DELIMITER)[1]);
-              }
-              if (responseLine.startsWith(constants_js_1.HTTP_VERSION_1_1)) {
-                subRespHeaderStartFound = true;
-                const tokens = responseLine.split(SPACE_DELIMITER);
-                deserializedSubResponse.status = parseInt(tokens[1]);
-                deserializedSubResponse.statusMessage = tokens.slice(2).join(SPACE_DELIMITER);
-              }
-              continue;
-            }
-            if (responseLine.trim() === "") {
-              if (!subRespHeaderEndFound) {
-                subRespHeaderEndFound = true;
-              }
-              continue;
-            }
-            if (!subRespHeaderEndFound) {
-              if (responseLine.indexOf(HTTP_HEADER_DELIMITER) === -1) {
-                throw new Error(`Invalid state: find non-empty line '${responseLine}' without HTTP header delimiter '${HTTP_HEADER_DELIMITER}'.`);
-              }
-              const tokens = responseLine.split(HTTP_HEADER_DELIMITER);
-              deserializedSubResponse.headers.set(tokens[0], tokens[1]);
-              if (tokens[0] === constants_js_1.HeaderConstants.X_MS_ERROR_CODE) {
-                deserializedSubResponse.errorCode = tokens[1];
-                subRespFailed = true;
-              }
-            } else {
-              if (!deserializedSubResponse.bodyAsText) {
-                deserializedSubResponse.bodyAsText = "";
-              }
-              deserializedSubResponse.bodyAsText += responseLine;
-            }
-          }
-          if (contentId !== NOT_FOUND && Number.isInteger(contentId) && contentId >= 0 && contentId < this.subRequests.size && deserializedSubResponses[contentId] === void 0) {
-            deserializedSubResponse._request = this.subRequests.get(contentId);
-            deserializedSubResponses[contentId] = deserializedSubResponse;
-          } else {
-            log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`);
+      } else {
+        this.allowHalfOpen = true;
+      }
+    }
+    ObjectDefineProperties(Duplex.prototype, {
+      writable: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
+      },
+      writableHighWaterMark: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
+      },
+      writableObjectMode: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
+      },
+      writableBuffer: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
+      },
+      writableLength: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
+      },
+      writableFinished: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
+      },
+      writableCorked: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
+      },
+      writableEnded: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
+      },
+      writableNeedDrain: {
+        __proto__: null,
+        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
+      },
+      destroyed: {
+        __proto__: null,
+        get() {
+          if (this._readableState === void 0 || this._writableState === void 0) {
+            return false;
           }
-          if (subRespFailed) {
-            subResponsesFailedCount++;
-          } else {
-            subResponsesSucceededCount++;
+          return this._readableState.destroyed && this._writableState.destroyed;
+        },
+        set(value) {
+          if (this._readableState && this._writableState) {
+            this._readableState.destroyed = value;
+            this._writableState.destroyed = value;
           }
         }
-        return {
-          subResponses: deserializedSubResponses,
-          subResponsesSucceededCount,
-          subResponsesFailedCount
-        };
       }
+    });
+    var webStreamsAdapters;
+    function lazyWebStreams() {
+      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
+      return webStreamsAdapters;
+    }
+    Duplex.fromWeb = function(pair, options) {
+      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
+    };
+    Duplex.toWeb = function(duplex) {
+      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
+    };
+    var duplexify;
+    Duplex.from = function(body) {
+      if (!duplexify) {
+        duplexify = require_duplexify();
+      }
+      return duplexify(body, "body");
     };
-    exports2.BatchResponseParser = BatchResponseParser;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js
-var require_Mutex = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/utils/Mutex.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/transform.js
+var require_transform = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Mutex = void 0;
-    var MutexLockStatus;
-    (function(MutexLockStatus2) {
-      MutexLockStatus2[MutexLockStatus2["LOCKED"] = 0] = "LOCKED";
-      MutexLockStatus2[MutexLockStatus2["UNLOCKED"] = 1] = "UNLOCKED";
-    })(MutexLockStatus || (MutexLockStatus = {}));
-    var Mutex = class {
-      /**
-       * Lock for a specific key. If the lock has been acquired by another customer, then
-       * will wait until getting the lock.
-       *
-       * @param key - lock key
-       */
-      static async lock(key) {
-        return new Promise((resolve2) => {
-          if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) {
-            this.keys[key] = MutexLockStatus.LOCKED;
-            resolve2();
-          } else {
-            this.onUnlockEvent(key, () => {
-              this.keys[key] = MutexLockStatus.LOCKED;
-              resolve2();
-            });
-          }
-        });
+    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
+    module2.exports = Transform;
+    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors4().codes;
+    var Duplex = require_duplex();
+    var { getHighWaterMark } = require_state3();
+    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
+    ObjectSetPrototypeOf(Transform, Duplex);
+    var kCallback = Symbol2("kCallback");
+    function Transform(options) {
+      if (!(this instanceof Transform)) return new Transform(options);
+      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
+      if (readableHighWaterMark === 0) {
+        options = {
+          ...options,
+          highWaterMark: null,
+          readableHighWaterMark,
+          // TODO (ronag): 0 is not optimal since we have
+          // a "bug" where we check needDrain before calling _write and not after.
+          // Refs: https://github.com/nodejs/node/pull/32887
+          // Refs: https://github.com/nodejs/node/pull/35941
+          writableHighWaterMark: options.writableHighWaterMark || 0
+        };
       }
-      /**
-       * Unlock a key.
-       *
-       * @param key -
-       */
-      static async unlock(key) {
-        return new Promise((resolve2) => {
-          if (this.keys[key] === MutexLockStatus.LOCKED) {
-            this.emitUnlockEvent(key);
+      Duplex.call(this, options);
+      this._readableState.sync = false;
+      this[kCallback] = null;
+      if (options) {
+        if (typeof options.transform === "function") this._transform = options.transform;
+        if (typeof options.flush === "function") this._flush = options.flush;
+      }
+      this.on("prefinish", prefinish);
+    }
+    function final(cb) {
+      if (typeof this._flush === "function" && !this.destroyed) {
+        this._flush((er, data) => {
+          if (er) {
+            if (cb) {
+              cb(er);
+            } else {
+              this.destroy(er);
+            }
+            return;
+          }
+          if (data != null) {
+            this.push(data);
+          }
+          this.push(null);
+          if (cb) {
+            cb();
           }
-          delete this.keys[key];
-          resolve2();
         });
-      }
-      static keys = {};
-      static listeners = {};
-      static onUnlockEvent(key, handler2) {
-        if (this.listeners[key] === void 0) {
-          this.listeners[key] = [handler2];
-        } else {
-          this.listeners[key].push(handler2);
+      } else {
+        this.push(null);
+        if (cb) {
+          cb();
         }
       }
-      static emitUnlockEvent(key) {
-        if (this.listeners[key] !== void 0 && this.listeners[key].length > 0) {
-          const handler2 = this.listeners[key].shift();
-          setImmediate(() => {
-            handler2.call(this);
-          });
+    }
+    function prefinish() {
+      if (this._final !== final) {
+        final.call(this);
+      }
+    }
+    Transform.prototype._final = final;
+    Transform.prototype._transform = function(chunk, encoding, callback) {
+      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
+    };
+    Transform.prototype._write = function(chunk, encoding, callback) {
+      const rState = this._readableState;
+      const wState = this._writableState;
+      const length = rState.length;
+      this._transform(chunk, encoding, (err, val) => {
+        if (err) {
+          callback(err);
+          return;
+        }
+        if (val != null) {
+          this.push(val);
+        }
+        if (wState.ended || // Backwards compat.
+        length === rState.length || // Backwards compat.
+        rState.length < rState.highWaterMark) {
+          callback();
+        } else {
+          this[kCallback] = callback;
         }
+      });
+    };
+    Transform.prototype._read = function() {
+      if (this[kCallback]) {
+        const callback = this[kCallback];
+        this[kCallback] = null;
+        callback();
       }
     };
-    exports2.Mutex = Mutex;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js
-var require_BlobBatch = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatch.js"(exports2) {
+// node_modules/readable-stream/lib/internal/streams/passthrough.js
+var require_passthrough2 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBatch = void 0;
-    var core_util_1 = require_commonjs6();
-    var core_auth_1 = require_commonjs9();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_2 = require_commonjs6();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var Clients_js_1 = require_Clients();
-    var Mutex_js_1 = require_Mutex();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var core_xml_1 = require_commonjs12();
-    var constants_js_1 = require_constants14();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var tracing_js_1 = require_tracing();
-    var core_client_1 = require_commonjs10();
-    var StorageSharedKeyCredentialPolicyV2_js_1 = require_StorageSharedKeyCredentialPolicyV22();
-    var BlobBatch = class {
-      batchRequest;
-      batch = "batch";
-      batchType;
-      constructor() {
-        this.batchRequest = new InnerBatchRequest();
-      }
-      /**
-       * Get the value of Content-Type for a batch request.
-       * The value must be multipart/mixed with a batch boundary.
-       * Example: multipart/mixed; boundary=batch_a81786c8-e301-4e42-a729-a32ca24ae252
-       */
-      getMultiPartContentType() {
-        return this.batchRequest.getMultipartContentType();
-      }
-      /**
-       * Get assembled HTTP request body for sub requests.
-       */
-      getHttpRequestBody() {
-        return this.batchRequest.getHttpRequestBody();
-      }
-      /**
-       * Get sub requests that are added into the batch request.
-       */
-      getSubRequests() {
-        return this.batchRequest.getSubRequests();
-      }
-      async addSubRequestInternal(subRequest, assembleSubRequestFunc) {
-        await Mutex_js_1.Mutex.lock(this.batch);
-        try {
-          this.batchRequest.preAddSubRequest(subRequest);
-          await assembleSubRequestFunc();
-          this.batchRequest.postAddSubRequest(subRequest);
-        } finally {
-          await Mutex_js_1.Mutex.unlock(this.batch);
+    var { ObjectSetPrototypeOf } = require_primordials();
+    module2.exports = PassThrough;
+    var Transform = require_transform();
+    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
+    ObjectSetPrototypeOf(PassThrough, Transform);
+    function PassThrough(options) {
+      if (!(this instanceof PassThrough)) return new PassThrough(options);
+      Transform.call(this, options);
+    }
+    PassThrough.prototype._transform = function(chunk, encoding, cb) {
+      cb(null, chunk);
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/pipeline.js
+var require_pipeline4 = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
+    var process2 = require_process();
+    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
+    var eos = require_end_of_stream();
+    var { once } = require_util20();
+    var destroyImpl = require_destroy2();
+    var Duplex = require_duplex();
+    var {
+      aggregateTwoErrors,
+      codes: {
+        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
+        ERR_INVALID_RETURN_VALUE,
+        ERR_MISSING_ARGS,
+        ERR_STREAM_DESTROYED,
+        ERR_STREAM_PREMATURE_CLOSE
+      },
+      AbortError
+    } = require_errors4();
+    var { validateFunction, validateAbortSignal } = require_validators();
+    var {
+      isIterable,
+      isReadable,
+      isReadableNodeStream,
+      isNodeStream,
+      isTransformStream,
+      isWebStream,
+      isReadableStream,
+      isReadableFinished
+    } = require_utils8();
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var PassThrough;
+    var Readable;
+    var addAbortListener;
+    function destroyer(stream, reading, writing) {
+      let finished = false;
+      stream.on("close", () => {
+        finished = true;
+      });
+      const cleanup = eos(
+        stream,
+        {
+          readable: reading,
+          writable: writing
+        },
+        (err) => {
+          finished = !err;
         }
+      );
+      return {
+        destroy: (err) => {
+          if (finished) return;
+          finished = true;
+          destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED("pipe"));
+        },
+        cleanup
+      };
+    }
+    function popCallback(streams) {
+      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
+      return streams.pop();
+    }
+    function makeAsyncIterable(val) {
+      if (isIterable(val)) {
+        return val;
+      } else if (isReadableNodeStream(val)) {
+        return fromReadable(val);
       }
-      setBatchType(batchType) {
-        if (!this.batchType) {
-          this.batchType = batchType;
-        }
-        if (this.batchType !== batchType) {
-          throw new RangeError(`BlobBatch only supports one operation type per batch and it already is being used for ${this.batchType} operations.`);
-        }
+      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
+    }
+    async function* fromReadable(val) {
+      if (!Readable) {
+        Readable = require_readable4();
       }
-      async deleteBlob(urlOrBlobClient, credentialOrOptions, options) {
-        let url;
-        let credential;
-        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrOptions instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrOptions instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrOptions))) {
-          url = urlOrBlobClient;
-          credential = credentialOrOptions;
-        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
-          url = urlOrBlobClient.url;
-          credential = urlOrBlobClient.credential;
-          options = credentialOrOptions;
-        } else {
-          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+      yield* Readable.prototype[SymbolAsyncIterator].call(val);
+    }
+    async function pumpToNode(iterable, writable, finish, { end }) {
+      let error3;
+      let onresolve = null;
+      const resume = (err) => {
+        if (err) {
+          error3 = err;
         }
-        if (!options) {
-          options = {};
+        if (onresolve) {
+          const callback = onresolve;
+          onresolve = null;
+          callback();
         }
-        return tracing_js_1.tracingClient.withSpan("BatchDeleteRequest-addSubRequest", options, async (updatedOptions) => {
-          this.setBatchType("delete");
-          await this.addSubRequestInternal({
-            url,
-            credential
-          }, async () => {
-            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).delete(updatedOptions);
-          });
-        });
-      }
-      async setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options) {
-        let url;
-        let credential;
-        let tier;
-        if (typeof urlOrBlobClient === "string" && (core_util_2.isNodeLike && credentialOrTier instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrTier instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrTier))) {
-          url = urlOrBlobClient;
-          credential = credentialOrTier;
-          tier = tierOrOptions;
-        } else if (urlOrBlobClient instanceof Clients_js_1.BlobClient) {
-          url = urlOrBlobClient.url;
-          credential = urlOrBlobClient.credential;
-          tier = credentialOrTier;
-          options = tierOrOptions;
+      };
+      const wait = () => new Promise2((resolve2, reject) => {
+        if (error3) {
+          reject(error3);
         } else {
-          throw new RangeError("Invalid arguments. Either url and credential, or BlobClient need be provided.");
+          onresolve = () => {
+            if (error3) {
+              reject(error3);
+            } else {
+              resolve2();
+            }
+          };
         }
-        if (!options) {
-          options = {};
+      });
+      writable.on("drain", resume);
+      const cleanup = eos(
+        writable,
+        {
+          readable: false
+        },
+        resume
+      );
+      try {
+        if (writable.writableNeedDrain) {
+          await wait();
         }
-        return tracing_js_1.tracingClient.withSpan("BatchSetTierRequest-addSubRequest", options, async (updatedOptions) => {
-          this.setBatchType("setAccessTier");
-          await this.addSubRequestInternal({
-            url,
-            credential
-          }, async () => {
-            await new Clients_js_1.BlobClient(url, this.batchRequest.createPipeline(credential)).setAccessTier(tier, updatedOptions);
-          });
-        });
-      }
-    };
-    exports2.BlobBatch = BlobBatch;
-    var InnerBatchRequest = class {
-      operationCount;
-      body;
-      subRequests;
-      boundary;
-      subRequestPrefix;
-      multipartContentType;
-      batchRequestEnding;
-      constructor() {
-        this.operationCount = 0;
-        this.body = "";
-        const tempGuid = (0, core_util_1.randomUUID)();
-        this.boundary = `batch_${tempGuid}`;
-        this.subRequestPrefix = `--${this.boundary}${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TYPE}: application/http${constants_js_1.HTTP_LINE_ENDING}${constants_js_1.HeaderConstants.CONTENT_TRANSFER_ENCODING}: binary`;
-        this.multipartContentType = `multipart/mixed; boundary=${this.boundary}`;
-        this.batchRequestEnding = `--${this.boundary}--`;
-        this.subRequests = /* @__PURE__ */ new Map();
-      }
-      /**
-       * Create pipeline to assemble sub requests. The idea here is to use existing
-       * credential and serialization/deserialization components, with additional policies to
-       * filter unnecessary headers, assemble sub requests into request's body
-       * and intercept request from going to wire.
-       * @param credential -  Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the `@azure/identity` package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.
-       */
-      createPipeline(credential) {
-        const corePipeline = (0, core_rest_pipeline_1.createEmptyPipeline)();
-        corePipeline.addPolicy((0, core_client_1.serializationPolicy)({
-          stringifyXML: core_xml_1.stringifyXML,
-          serializerOptions: {
-            xml: {
-              xmlCharKey: "#"
-            }
+        for await (const chunk of iterable) {
+          if (!writable.write(chunk)) {
+            await wait();
           }
-        }), { phase: "Serialize" });
-        corePipeline.addPolicy(batchHeaderFilterPolicy());
-        corePipeline.addPolicy(batchRequestAssemblePolicy(this), { afterPhase: "Sign" });
-        if ((0, core_auth_1.isTokenCredential)(credential)) {
-          corePipeline.addPolicy((0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)({
-            credential,
-            scopes: constants_js_1.StorageOAuthScopes,
-            challengeCallbacks: { authorizeRequestOnChallenge: core_client_1.authorizeRequestOnTenantChallenge }
-          }), { phase: "Sign" });
-        } else if (credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential) {
-          corePipeline.addPolicy((0, StorageSharedKeyCredentialPolicyV2_js_1.storageSharedKeyCredentialPolicy)({
-            accountName: credential.accountName,
-            accountKey: credential.accountKey
-          }), { phase: "Sign" });
         }
-        const pipeline = new Pipeline_js_1.Pipeline([]);
-        pipeline._credential = credential;
-        pipeline._corePipeline = corePipeline;
-        return pipeline;
-      }
-      appendSubRequestToBody(request2) {
-        this.body += [
-          this.subRequestPrefix,
-          // sub request constant prefix
-          `${constants_js_1.HeaderConstants.CONTENT_ID}: ${this.operationCount}`,
-          // sub request's content ID
-          "",
-          // empty line after sub request's content ID
-          `${request2.method.toString()} ${(0, utils_common_js_1.getURLPathAndQuery)(request2.url)} ${constants_js_1.HTTP_VERSION_1_1}${constants_js_1.HTTP_LINE_ENDING}`
-          // sub request start line with method
-        ].join(constants_js_1.HTTP_LINE_ENDING);
-        for (const [name, value] of request2.headers) {
-          this.body += `${name}: ${value}${constants_js_1.HTTP_LINE_ENDING}`;
+        if (end) {
+          writable.end();
+          await wait();
         }
-        this.body += constants_js_1.HTTP_LINE_ENDING;
+        finish();
+      } catch (err) {
+        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
+      } finally {
+        cleanup();
+        writable.off("drain", resume);
       }
-      preAddSubRequest(subRequest) {
-        if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) {
-          throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`);
+    }
+    async function pumpToWeb(readable, writable, finish, { end }) {
+      if (isTransformStream(writable)) {
+        writable = writable.writable;
+      }
+      const writer = writable.getWriter();
+      try {
+        for await (const chunk of readable) {
+          await writer.ready;
+          writer.write(chunk).catch(() => {
+          });
         }
-        const path3 = (0, utils_common_js_1.getURLPath)(subRequest.url);
-        if (!path3 || path3 === "") {
-          throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`);
+        await writer.ready;
+        if (end) {
+          await writer.close();
+        }
+        finish();
+      } catch (err) {
+        try {
+          await writer.abort(err);
+          finish(err);
+        } catch (err2) {
+          finish(err2);
         }
       }
-      postAddSubRequest(subRequest) {
-        this.subRequests.set(this.operationCount, subRequest);
-        this.operationCount++;
+    }
+    function pipeline(...streams) {
+      return pipelineImpl(streams, once(popCallback(streams)));
+    }
+    function pipelineImpl(streams, callback, opts) {
+      if (streams.length === 1 && ArrayIsArray(streams[0])) {
+        streams = streams[0];
       }
-      // Return the http request body with assembling the ending line to the sub request body.
-      getHttpRequestBody() {
-        return `${this.body}${this.batchRequestEnding}${constants_js_1.HTTP_LINE_ENDING}`;
+      if (streams.length < 2) {
+        throw new ERR_MISSING_ARGS("streams");
       }
-      getMultipartContentType() {
-        return this.multipartContentType;
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
+      const lastStreamCleanup = [];
+      validateAbortSignal(outerSignal, "options.signal");
+      function abort() {
+        finishImpl(new AbortError());
       }
-      getSubRequests() {
-        return this.subRequests;
+      addAbortListener = addAbortListener || require_util20().addAbortListener;
+      let disposable;
+      if (outerSignal) {
+        disposable = addAbortListener(outerSignal, abort);
       }
-    };
-    function batchRequestAssemblePolicy(batchRequest) {
-      return {
-        name: "batchRequestAssemblePolicy",
-        async sendRequest(request2) {
-          batchRequest.appendSubRequestToBody(request2);
-          return {
-            request: request2,
-            status: 200,
-            headers: (0, core_rest_pipeline_1.createHttpHeaders)()
-          };
-        }
-      };
-    }
-    function batchHeaderFilterPolicy() {
-      return {
-        name: "batchHeaderFilterPolicy",
-        async sendRequest(request2, next) {
-          let xMsHeaderName = "";
-          for (const [name] of request2.headers) {
-            if ((0, utils_common_js_1.iEqual)(name, constants_js_1.HeaderConstants.X_MS_VERSION)) {
-              xMsHeaderName = name;
-            }
-          }
-          if (xMsHeaderName !== "") {
-            request2.headers.delete(xMsHeaderName);
-          }
-          return next(request2);
-        }
-      };
-    }
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js
-var require_BlobBatchClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobBatchClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobBatchClient = void 0;
-    var BatchResponseParser_js_1 = require_BatchResponseParser();
-    var BatchUtils_js_1 = require_BatchUtils();
-    var BlobBatch_js_1 = require_BlobBatch();
-    var tracing_js_1 = require_tracing();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageContextClient_js_1 = require_StorageContextClient();
-    var Pipeline_js_1 = require_Pipeline();
-    var utils_common_js_1 = require_utils_common();
-    var BlobBatchClient = class {
-      serviceOrContainerContext;
-      constructor(url, credentialOrPipeline, options) {
-        let pipeline;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
-          pipeline = credentialOrPipeline;
-        } else if (!credentialOrPipeline) {
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else {
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
+      let error3;
+      let value;
+      const destroys = [];
+      let finishCount = 0;
+      function finish(err) {
+        finishImpl(err, --finishCount === 0);
+      }
+      function finishImpl(err, final) {
+        var _disposable;
+        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
+          error3 = err;
         }
-        const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url, (0, Pipeline_js_1.getCoreClientOptions)(pipeline));
-        const path3 = (0, utils_common_js_1.getURLPath)(url);
-        if (path3 && path3 !== "/") {
-          this.serviceOrContainerContext = storageClientContext.container;
-        } else {
-          this.serviceOrContainerContext = storageClientContext.service;
+        if (!error3 && !final) {
+          return;
         }
-      }
-      /**
-       * Creates a {@link BlobBatch}.
-       * A BlobBatch represents an aggregated set of operations on blobs.
-       */
-      createBatch() {
-        return new BlobBatch_js_1.BlobBatch();
-      }
-      async deleteBlobs(urlsOrBlobClients, credentialOrOptions, options) {
-        const batch = new BlobBatch_js_1.BlobBatch();
-        for (const urlOrBlobClient of urlsOrBlobClients) {
-          if (typeof urlOrBlobClient === "string") {
-            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions, options);
-          } else {
-            await batch.deleteBlob(urlOrBlobClient, credentialOrOptions);
-          }
+        while (destroys.length) {
+          destroys.shift()(error3);
         }
-        return this.submitBatch(batch);
-      }
-      async setBlobsAccessTier(urlsOrBlobClients, credentialOrTier, tierOrOptions, options) {
-        const batch = new BlobBatch_js_1.BlobBatch();
-        for (const urlOrBlobClient of urlsOrBlobClients) {
-          if (typeof urlOrBlobClient === "string") {
-            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions, options);
-          } else {
-            await batch.setBlobAccessTier(urlOrBlobClient, credentialOrTier, tierOrOptions);
+        ;
+        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
+        ac.abort();
+        if (final) {
+          if (!error3) {
+            lastStreamCleanup.forEach((fn) => fn());
           }
+          process2.nextTick(callback, error3, value);
         }
-        return this.submitBatch(batch);
       }
-      /**
-       * Submit batch request which consists of multiple subrequests.
-       *
-       * Get `blobBatchClient` and other details before running the snippets.
-       * `blobServiceClient.getBlobBatchClient()` gives the `blobBatchClient`
-       *
-       * Example usage:
-       *
-       * ```ts snippet:BlobBatchClientSubmitBatch
-       * import { DefaultAzureCredential } from "@azure/identity";
-       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
-       *
-       * const account = "";
-       * const credential = new DefaultAzureCredential();
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   credential,
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobBatchClient = containerClient.getBlobBatchClient();
-       *
-       * const batchRequest = new BlobBatch();
-       * await batchRequest.deleteBlob("", credential);
-       * await batchRequest.deleteBlob("", credential, {
-       *   deleteSnapshots: "include",
-       * });
-       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
-       * console.log(batchResp.subResponsesSucceededCount);
-       * ```
-       *
-       * Example using a lease:
-       *
-       * ```ts snippet:BlobBatchClientSubmitBatchWithLease
-       * import { DefaultAzureCredential } from "@azure/identity";
-       * import { BlobServiceClient, BlobBatch } from "@azure/storage-blob";
-       *
-       * const account = "";
-       * const credential = new DefaultAzureCredential();
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   credential,
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blobBatchClient = containerClient.getBlobBatchClient();
-       * const blobClient = containerClient.getBlobClient("");
-       *
-       * const batchRequest = new BlobBatch();
-       * await batchRequest.setBlobAccessTier(blobClient, "Cool");
-       * await batchRequest.setBlobAccessTier(blobClient, "Cool", {
-       *   conditions: { leaseId: "" },
-       * });
-       * const batchResp = await blobBatchClient.submitBatch(batchRequest);
-       * console.log(batchResp.subResponsesSucceededCount);
-       * ```
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @param batchRequest - A set of Delete or SetTier operations.
-       * @param options -
-       */
-      async submitBatch(batchRequest, options = {}) {
-        if (!batchRequest || batchRequest.getSubRequests().size === 0) {
-          throw new RangeError("Batch request should contain one or more sub requests.");
-        }
-        return tracing_js_1.tracingClient.withSpan("BlobBatchClient-submitBatch", options, async (updatedOptions) => {
-          const batchRequestBody = batchRequest.getHttpRequestBody();
-          const rawBatchResponse = (0, utils_common_js_1.assertResponse)(await this.serviceOrContainerContext.submitBatch((0, BatchUtils_js_1.utf8ByteLength)(batchRequestBody), batchRequest.getMultiPartContentType(), batchRequestBody, {
-            ...updatedOptions
-          }));
-          const batchResponseParser = new BatchResponseParser_js_1.BatchResponseParser(rawBatchResponse, batchRequest.getSubRequests());
-          const responseSummary = await batchResponseParser.parseBatchResponse();
-          const res = {
-            _response: rawBatchResponse._response,
-            contentType: rawBatchResponse.contentType,
-            errorCode: rawBatchResponse.errorCode,
-            requestId: rawBatchResponse.requestId,
-            clientRequestId: rawBatchResponse.clientRequestId,
-            version: rawBatchResponse.version,
-            subResponses: responseSummary.subResponses,
-            subResponsesSucceededCount: responseSummary.subResponsesSucceededCount,
-            subResponsesFailedCount: responseSummary.subResponsesFailedCount
+      let ret;
+      for (let i = 0; i < streams.length; i++) {
+        const stream = streams[i];
+        const reading = i < streams.length - 1;
+        const writing = i > 0;
+        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
+        const isLastStream = i === streams.length - 1;
+        if (isNodeStream(stream)) {
+          let onError2 = function(err) {
+            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
+              finish(err);
+            }
           };
-          return res;
-        });
-      }
-    };
-    exports2.BlobBatchClient = BlobBatchClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js
-var require_ContainerClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/ContainerClient.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.ContainerClient = void 0;
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_1 = require_commonjs6();
-    var core_auth_1 = require_commonjs9();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var Pipeline_js_1 = require_Pipeline();
-    var StorageClient_js_1 = require_StorageClient();
-    var tracing_js_1 = require_tracing();
-    var utils_common_js_1 = require_utils_common();
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    var BlobLeaseClient_js_1 = require_BlobLeaseClient();
-    var Clients_js_1 = require_Clients();
-    var BlobBatchClient_js_1 = require_BlobBatchClient();
-    var ContainerClient = class extends StorageClient_js_1.StorageClient {
-      /**
-       * containerContext provided by protocol layer.
-       */
-      containerContext;
-      _containerName;
-      /**
-       * The name of the container.
-       */
-      get containerName() {
-        return this._containerName;
-      }
-      constructor(urlOrConnectionString, credentialOrPipelineOrContainerName, options) {
-        let pipeline;
-        let url;
-        options = options || {};
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = credentialOrPipelineOrContainerName;
-        } else if (core_util_1.isNodeLike && credentialOrPipelineOrContainerName instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipelineOrContainerName instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipelineOrContainerName)) {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipelineOrContainerName, options);
-        } else if (!credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName !== "string") {
-          url = urlOrConnectionString;
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-        } else if (credentialOrPipelineOrContainerName && typeof credentialOrPipelineOrContainerName === "string") {
-          const containerName = credentialOrPipelineOrContainerName;
-          const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(urlOrConnectionString);
-          if (extractedCreds.kind === "AccountConnString") {
-            if (core_util_1.isNodeLike) {
-              const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-              url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName));
-              if (!options.proxyOptions) {
-                options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
-              }
-              pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            } else {
-              throw new Error("Account connection string is only supported in Node.js environment");
+          var onError = onError2;
+          if (end) {
+            const { destroy, cleanup } = destroyer(stream, reading, writing);
+            destroys.push(destroy);
+            if (isReadable(stream) && isLastStream) {
+              lastStreamCleanup.push(cleanup);
             }
-          } else if (extractedCreds.kind === "SASConnString") {
-            url = (0, utils_common_js_1.appendToURLPath)(extractedCreds.url, encodeURIComponent(containerName)) + "?" + extractedCreds.accountSas;
-            pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          } else {
-            throw new Error("Connection string must be either an Account connection string or a SAS connection string");
           }
-        } else {
-          throw new Error("Expecting non-empty strings for containerName parameter");
+          stream.on("error", onError2);
+          if (isReadable(stream) && isLastStream) {
+            lastStreamCleanup.push(() => {
+              stream.removeListener("error", onError2);
+            });
+          }
         }
-        super(url, pipeline);
-        this._containerName = this.getContainerNameFromUrl();
-        this.containerContext = this.storageClientContext.container;
-      }
-      /**
-       * Creates a new container under the specified account. If the container with
-       * the same name already exists, the operation fails.
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
-       *
-       * @param options - Options to Container Create operation.
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ContainerClientCreate
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const createContainerResponse = await containerClient.create();
-       * console.log("Container was created successfully", createContainerResponse.requestId);
-       * ```
-       */
-      async create(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-create", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.create(updatedOptions));
-        });
-      }
-      /**
-       * Creates a new container under the specified account. If the container with
-       * the same name already exists, it is not changed.
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       * Naming rules: @see https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata
-       *
-       * @param options -
-       */
-      async createIfNotExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-createIfNotExists", options, async (updatedOptions) => {
-          try {
-            const res = await this.create(updatedOptions);
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-              // _response is made non-enumerable
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "ContainerAlreadyExists") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+        if (i === 0) {
+          if (typeof stream === "function") {
+            ret = stream({
+              signal
+            });
+            if (!isIterable(ret)) {
+              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
+            }
+          } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {
+            ret = stream;
+          } else {
+            ret = Duplex.from(stream);
+          }
+        } else if (typeof stream === "function") {
+          if (isTransformStream(ret)) {
+            var _ret;
+            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
+          } else {
+            ret = makeAsyncIterable(ret);
+          }
+          ret = stream(ret, {
+            signal
+          });
+          if (reading) {
+            if (!isIterable(ret, true)) {
+              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
+            }
+          } else {
+            var _ret2;
+            if (!PassThrough) {
+              PassThrough = require_passthrough2();
+            }
+            const pt = new PassThrough({
+              objectMode: true
+            });
+            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
+            if (typeof then === "function") {
+              finishCount++;
+              then.call(
+                ret,
+                (val) => {
+                  value = val;
+                  if (val != null) {
+                    pt.write(val);
+                  }
+                  if (end) {
+                    pt.end();
+                  }
+                  process2.nextTick(finish);
+                },
+                (err) => {
+                  pt.destroy(err);
+                  process2.nextTick(finish, err);
+                }
+              );
+            } else if (isIterable(ret, true)) {
+              finishCount++;
+              pumpToNode(ret, pt, finish, {
+                end
+              });
+            } else if (isReadableStream(ret) || isTransformStream(ret)) {
+              const toRead = ret.readable || ret;
+              finishCount++;
+              pumpToNode(toRead, pt, finish, {
+                end
+              });
             } else {
-              throw e;
+              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
+            }
+            ret = pt;
+            const { destroy, cleanup } = destroyer(ret, false, true);
+            destroys.push(destroy);
+            if (isLastStream) {
+              lastStreamCleanup.push(cleanup);
             }
           }
-        });
-      }
-      /**
-       * Returns true if the Azure container resource represented by this client exists; false otherwise.
-       *
-       * NOTE: use this function with care since an existing container might be deleted by other clients or
-       * applications. Vice versa new containers with the same name might be added by other clients or
-       * applications after this function completes.
-       *
-       * @param options -
-       */
-      async exists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-exists", options, async (updatedOptions) => {
-          try {
-            await this.getProperties({
-              abortSignal: options.abortSignal,
-              tracingOptions: updatedOptions.tracingOptions
+        } else if (isNodeStream(stream)) {
+          if (isReadableNodeStream(ret)) {
+            finishCount += 2;
+            const cleanup = pipe(ret, stream, finish, {
+              end
             });
-            return true;
-          } catch (e) {
-            if (e.statusCode === 404) {
-              return false;
+            if (isReadable(stream) && isLastStream) {
+              lastStreamCleanup.push(cleanup);
             }
-            throw e;
+          } else if (isTransformStream(ret) || isReadableStream(ret)) {
+            const toRead = ret.readable || ret;
+            finishCount++;
+            pumpToNode(toRead, stream, finish, {
+              end
+            });
+          } else if (isIterable(ret)) {
+            finishCount++;
+            pumpToNode(ret, stream, finish, {
+              end
+            });
+          } else {
+            throw new ERR_INVALID_ARG_TYPE2(
+              "val",
+              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
+              ret
+            );
           }
-        });
+          ret = stream;
+        } else if (isWebStream(stream)) {
+          if (isReadableNodeStream(ret)) {
+            finishCount++;
+            pumpToWeb(makeAsyncIterable(ret), stream, finish, {
+              end
+            });
+          } else if (isReadableStream(ret) || isIterable(ret)) {
+            finishCount++;
+            pumpToWeb(ret, stream, finish, {
+              end
+            });
+          } else if (isTransformStream(ret)) {
+            finishCount++;
+            pumpToWeb(ret.readable, stream, finish, {
+              end
+            });
+          } else {
+            throw new ERR_INVALID_ARG_TYPE2(
+              "val",
+              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
+              ret
+            );
+          }
+          ret = stream;
+        } else {
+          ret = Duplex.from(stream);
+        }
       }
-      /**
-       * Creates a {@link BlobClient}
-       *
-       * @param blobName - A blob name
-       * @returns A new BlobClient object for the given blob name.
-       */
-      getBlobClient(blobName) {
-        return new Clients_js_1.BlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
+        process2.nextTick(abort);
       }
-      /**
-       * Creates an {@link AppendBlobClient}
-       *
-       * @param blobName - An append blob name
-       */
-      getAppendBlobClient(blobName) {
-        return new Clients_js_1.AppendBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      return ret;
+    }
+    function pipe(src, dst, finish, { end }) {
+      let ended = false;
+      dst.on("close", () => {
+        if (!ended) {
+          finish(new ERR_STREAM_PREMATURE_CLOSE());
+        }
+      });
+      src.pipe(dst, {
+        end: false
+      });
+      if (end) {
+        let endFn2 = function() {
+          ended = true;
+          dst.end();
+        };
+        var endFn = endFn2;
+        if (isReadableFinished(src)) {
+          process2.nextTick(endFn2);
+        } else {
+          src.once("end", endFn2);
+        }
+      } else {
+        finish();
       }
-      /**
-       * Creates a {@link BlockBlobClient}
-       *
-       * @param blobName - A block blob name
-       *
-       *
-       * Example usage:
-       *
-       * ```ts snippet:ClientsUpload
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const blobName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       * const blockBlobClient = containerClient.getBlockBlobClient(blobName);
-       *
-       * const content = "Hello world!";
-       * const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
-       * ```
-       */
-      getBlockBlobClient(blobName) {
-        return new Clients_js_1.BlockBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      eos(
+        src,
+        {
+          readable: true,
+          writable: false
+        },
+        (err) => {
+          const rState = src._readableState;
+          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
+            src.once("end", finish).once("error", finish);
+          } else {
+            finish(err);
+          }
+        }
+      );
+      return eos(
+        dst,
+        {
+          readable: false,
+          writable: true
+        },
+        finish
+      );
+    }
+    module2.exports = {
+      pipelineImpl,
+      pipeline
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/compose.js
+var require_compose = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
+    "use strict";
+    var { pipeline } = require_pipeline4();
+    var Duplex = require_duplex();
+    var { destroyer } = require_destroy2();
+    var {
+      isNodeStream,
+      isReadable,
+      isWritable,
+      isWebStream,
+      isTransformStream,
+      isWritableStream,
+      isReadableStream
+    } = require_utils8();
+    var {
+      AbortError,
+      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
+    } = require_errors4();
+    var eos = require_end_of_stream();
+    module2.exports = function compose(...streams) {
+      if (streams.length === 0) {
+        throw new ERR_MISSING_ARGS("streams");
       }
-      /**
-       * Creates a {@link PageBlobClient}
-       *
-       * @param blobName - A page blob name
-       */
-      getPageBlobClient(blobName) {
-        return new Clients_js_1.PageBlobClient((0, utils_common_js_1.appendToURLPath)(this.url, (0, utils_common_js_1.EscapePath)(blobName)), this.pipeline);
+      if (streams.length === 1) {
+        return Duplex.from(streams[0]);
       }
-      /**
-       * Returns all user-defined metadata and system properties for the specified
-       * container. The data returned does not include the container's list of blobs.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-properties
-       *
-       * WARNING: The `metadata` object returned in the response will have its keys in lowercase, even if
-       * they originally contained uppercase characters. This differs from the metadata keys returned by
-       * the `listContainers` method of {@link BlobServiceClient} using the `includeMetadata` option, which
-       * will retain their original casing.
-       *
-       * @param options - Options to Container Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
+      const orgStreams = [...streams];
+      if (typeof streams[0] === "function") {
+        streams[0] = Duplex.from(streams[0]);
+      }
+      if (typeof streams[streams.length - 1] === "function") {
+        const idx = streams.length - 1;
+        streams[idx] = Duplex.from(streams[idx]);
+      }
+      for (let n = 0; n < streams.length; ++n) {
+        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
+          continue;
+        }
+        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
+          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
+        }
+        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
+          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
         }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getProperties({
-            abortSignal: options.abortSignal,
-            ...options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
       }
-      /**
-       * Marks the specified container for deletion. The container and any blobs
-       * contained within it are later deleted during garbage collection.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
-       *
-       * @param options - Options to Container Delete operation.
-       */
-      async delete(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
+      let ondrain;
+      let onfinish;
+      let onreadable;
+      let onclose;
+      let d;
+      function onfinished(err) {
+        const cb = onclose;
+        onclose = null;
+        if (cb) {
+          cb(err);
+        } else if (err) {
+          d.destroy(err);
+        } else if (!readable && !writable) {
+          d.destroy();
         }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-delete", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.delete({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
       }
-      /**
-       * Marks the specified container for deletion if it exists. The container and any blobs
-       * contained within it are later deleted during garbage collection.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-container
-       *
-       * @param options - Options to Container Delete operation.
-       */
-      async deleteIfExists(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteIfExists", options, async (updatedOptions) => {
-          try {
-            const res = await this.delete(updatedOptions);
-            return {
-              succeeded: true,
-              ...res,
-              _response: res._response
-            };
-          } catch (e) {
-            if (e.details?.errorCode === "ContainerNotFound") {
-              return {
-                succeeded: false,
-                ...e.response?.parsedHeaders,
-                _response: e.response
-              };
+      const head = streams[0];
+      const tail = pipeline(streams, onfinished);
+      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
+      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
+      d = new Duplex({
+        // TODO (ronag): highWaterMark?
+        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
+        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
+        writable,
+        readable
+      });
+      if (writable) {
+        if (isNodeStream(head)) {
+          d._write = function(chunk, encoding, callback) {
+            if (head.write(chunk, encoding)) {
+              callback();
+            } else {
+              ondrain = callback;
             }
-            throw e;
-          }
-        });
-      }
-      /**
-       * Sets one or more user-defined name-value pairs for the specified container.
-       *
-       * If no option provided, or no metadata defined in the parameter, the container
-       * metadata will be removed.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-metadata
-       *
-       * @param metadata - Replace existing metadata with this value.
-       *                            If no value provided the existing metadata will be removed.
-       * @param options - Options to Container Set Metadata operation.
-       */
-      async setMetadata(metadata, options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        if (options.conditions.ifUnmodifiedSince) {
-          throw new RangeError("the IfUnmodifiedSince must have their default values because they are ignored by the blob service");
+          };
+          d._final = function(callback) {
+            head.end();
+            onfinish = callback;
+          };
+          head.on("drain", function() {
+            if (ondrain) {
+              const cb = ondrain;
+              ondrain = null;
+              cb();
+            }
+          });
+        } else if (isWebStream(head)) {
+          const writable2 = isTransformStream(head) ? head.writable : head;
+          const writer = writable2.getWriter();
+          d._write = async function(chunk, encoding, callback) {
+            try {
+              await writer.ready;
+              writer.write(chunk).catch(() => {
+              });
+              callback();
+            } catch (err) {
+              callback(err);
+            }
+          };
+          d._final = async function(callback) {
+            try {
+              await writer.ready;
+              writer.close().catch(() => {
+              });
+              onfinish = callback;
+            } catch (err) {
+              callback(err);
+            }
+          };
         }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-setMetadata", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setMetadata({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            metadata,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
+        const toRead = isTransformStream(tail) ? tail.readable : tail;
+        eos(toRead, () => {
+          if (onfinish) {
+            const cb = onfinish;
+            onfinish = null;
+            cb();
+          }
         });
       }
-      /**
-       * Gets the permissions for the specified container. The permissions indicate
-       * whether container data may be accessed publicly.
-       *
-       * WARNING: JavaScript Date will potentially lose precision when parsing startsOn and expiresOn strings.
-       * For example, new Date("2018-12-31T03:44:23.8827891Z").toISOString() will get "2018-12-31T03:44:23.882Z".
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-container-acl
-       *
-       * @param options - Options to Container Get Access Policy operation.
-       */
-      async getAccessPolicy(options = {}) {
-        if (!options.conditions) {
-          options.conditions = {};
-        }
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccessPolicy", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccessPolicy({
-            abortSignal: options.abortSignal,
-            leaseAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const res = {
-            _response: response._response,
-            blobPublicAccess: response.blobPublicAccess,
-            date: response.date,
-            etag: response.etag,
-            errorCode: response.errorCode,
-            lastModified: response.lastModified,
-            requestId: response.requestId,
-            clientRequestId: response.clientRequestId,
-            signedIdentifiers: [],
-            version: response.version
-          };
-          for (const identifier of response) {
-            let accessPolicy = void 0;
-            if (identifier.accessPolicy) {
-              accessPolicy = {
-                permissions: identifier.accessPolicy.permissions
-              };
-              if (identifier.accessPolicy.expiresOn) {
-                accessPolicy.expiresOn = new Date(identifier.accessPolicy.expiresOn);
+      if (readable) {
+        if (isNodeStream(tail)) {
+          tail.on("readable", function() {
+            if (onreadable) {
+              const cb = onreadable;
+              onreadable = null;
+              cb();
+            }
+          });
+          tail.on("end", function() {
+            d.push(null);
+          });
+          d._read = function() {
+            while (true) {
+              const buf = tail.read();
+              if (buf === null) {
+                onreadable = d._read;
+                return;
               }
-              if (identifier.accessPolicy.startsOn) {
-                accessPolicy.startsOn = new Date(identifier.accessPolicy.startsOn);
+              if (!d.push(buf)) {
+                return;
               }
             }
-            res.signedIdentifiers.push({
-              accessPolicy,
-              id: identifier.id
-            });
-          }
-          return res;
-        });
+          };
+        } else if (isWebStream(tail)) {
+          const readable2 = isTransformStream(tail) ? tail.readable : tail;
+          const reader = readable2.getReader();
+          d._read = async function() {
+            while (true) {
+              try {
+                const { value, done } = await reader.read();
+                if (!d.push(value)) {
+                  return;
+                }
+                if (done) {
+                  d.push(null);
+                  return;
+                }
+              } catch {
+                return;
+              }
+            }
+          };
+        }
       }
-      /**
-       * Sets the permissions for the specified container. The permissions indicate
-       * whether blobs in a container may be accessed publicly.
-       *
-       * When you set permissions for a container, the existing permissions are replaced.
-       * If no access or containerAcl provided, the existing container ACL will be
-       * removed.
-       *
-       * When you establish a stored access policy on a container, it may take up to 30 seconds to take effect.
-       * During this interval, a shared access signature that is associated with the stored access policy will
-       * fail with status code 403 (Forbidden), until the access policy becomes active.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-container-acl
-       *
-       * @param access - The level of public access to data in the container.
-       * @param containerAcl - Array of elements each having a unique Id and details of the access policy.
-       * @param options - Options to Container Set Access Policy operation.
-       */
-      async setAccessPolicy(access, containerAcl, options = {}) {
-        options.conditions = options.conditions || {};
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-setAccessPolicy", options, async (updatedOptions) => {
-          const acl = [];
-          for (const identifier of containerAcl || []) {
-            acl.push({
-              accessPolicy: {
-                expiresOn: identifier.accessPolicy.expiresOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.expiresOn) : "",
-                permissions: identifier.accessPolicy.permissions,
-                startsOn: identifier.accessPolicy.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(identifier.accessPolicy.startsOn) : ""
-              },
-              id: identifier.id
-            });
+      d._destroy = function(err, callback) {
+        if (!err && onclose !== null) {
+          err = new AbortError();
+        }
+        onreadable = null;
+        ondrain = null;
+        onfinish = null;
+        if (onclose === null) {
+          callback(err);
+        } else {
+          onclose = callback;
+          if (isNodeStream(tail)) {
+            destroyer(tail, err);
           }
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.setAccessPolicy({
-            abortSignal: options.abortSignal,
-            access,
-            containerAcl: acl,
-            leaseAccessConditions: options.conditions,
-            modifiedAccessConditions: options.conditions,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+        }
+      };
+      return d;
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/internal/streams/operators.js
+var require_operators = __commonJS({
+  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
+    "use strict";
+    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
+    var {
+      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
+      AbortError
+    } = require_errors4();
+    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
+    var kWeakHandler = require_primordials().Symbol("kWeak");
+    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
+    var { finished } = require_end_of_stream();
+    var staticCompose = require_compose();
+    var { addAbortSignalNoValidate } = require_add_abort_signal();
+    var { isWritable, isNodeStream } = require_utils8();
+    var { deprecate } = require_util20();
+    var {
+      ArrayPrototypePush,
+      Boolean: Boolean2,
+      MathFloor,
+      Number: Number2,
+      NumberIsNaN,
+      Promise: Promise2,
+      PromiseReject,
+      PromiseResolve,
+      PromisePrototypeThen,
+      Symbol: Symbol2
+    } = require_primordials();
+    var kEmpty = Symbol2("kEmpty");
+    var kEof = Symbol2("kEof");
+    function compose(stream, options) {
+      if (options != null) {
+        validateObject(options, "options");
       }
-      /**
-       * Get a {@link BlobLeaseClient} that manages leases on the container.
-       *
-       * @param proposeLeaseId - Initial proposed lease Id.
-       * @returns A new BlobLeaseClient object for managing leases on the container.
-       */
-      getBlobLeaseClient(proposeLeaseId) {
-        return new BlobLeaseClient_js_1.BlobLeaseClient(this, proposeLeaseId);
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      /**
-       * Creates a new block blob, or updates the content of an existing block blob.
-       *
-       * Updating an existing block blob overwrites any existing metadata on the blob.
-       * Partial updates are not supported; the content of the existing blob is
-       * overwritten with the new content. To perform a partial update of a block blob's,
-       * use {@link BlockBlobClient.stageBlock} and {@link BlockBlobClient.commitBlockList}.
-       *
-       * This is a non-parallel uploading method, please use {@link BlockBlobClient.uploadFile},
-       * {@link BlockBlobClient.uploadStream} or {@link BlockBlobClient.uploadBrowserData} for better
-       * performance with concurrency uploading.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/put-blob
-       *
-       * @param blobName - Name of the block blob to create or update.
-       * @param body - Blob, string, ArrayBuffer, ArrayBufferView or a function
-       *                               which returns a new Readable stream whose offset is from data source beginning.
-       * @param contentLength - Length of body in bytes. Use Buffer.byteLength() to calculate body length for a
-       *                               string including non non-Base64/Hex-encoded characters.
-       * @param options - Options to configure the Block Blob Upload operation.
-       * @returns Block Blob upload response data and the corresponding BlockBlobClient instance.
-       */
-      async uploadBlockBlob(blobName, body, contentLength, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-uploadBlockBlob", options, async (updatedOptions) => {
-          const blockBlobClient = this.getBlockBlobClient(blobName);
-          const response = await blockBlobClient.upload(body, contentLength, updatedOptions);
-          return {
-            blockBlobClient,
-            response
-          };
-        });
+      if (isNodeStream(stream) && !isWritable(stream)) {
+        throw new ERR_INVALID_ARG_VALUE("stream", stream, "must be writable");
       }
-      /**
-       * Marks the specified blob or snapshot for deletion. The blob is later deleted
-       * during garbage collection. Note that in order to delete a blob, you must delete
-       * all of its snapshots. You can delete both at the same time with the Delete
-       * Blob operation.
-       * @see https://learn.microsoft.com/rest/api/storageservices/delete-blob
-       *
-       * @param blobName -
-       * @param options - Options to Blob Delete operation.
-       * @returns Block blob deletion response data.
-       */
-      async deleteBlob(blobName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-deleteBlob", options, async (updatedOptions) => {
-          let blobClient = this.getBlobClient(blobName);
-          if (options.versionId) {
-            blobClient = blobClient.withVersion(options.versionId);
-          }
-          return blobClient.delete(updatedOptions);
-        });
+      const composedStream = staticCompose(this, stream);
+      if (options !== null && options !== void 0 && options.signal) {
+        addAbortSignalNoValidate(options.signal, composedStream);
       }
-      /**
-       * listBlobFlatSegment returns a single segment of blobs starting from the
-       * specified Marker. Use an empty Marker to start enumeration from the beginning.
-       * After getting a segment, process it, and then call listBlobsFlatSegment again
-       * (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
-       *
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to Container List Blob Flat Segment operation.
-       */
-      async listBlobFlatSegment(marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobFlatSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobFlatSegment({
-            marker,
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: {
-              ...response._response,
-              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobFlat)(response._response.parsedBody)
-            },
-            // _response is made non-enumerable
-            segment: {
-              ...response.segment,
-              blobItems: response.segment.blobItems.map((blobItemInternal) => {
-                const blobItem = {
-                  ...blobItemInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
-                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
-                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
-                };
-                return blobItem;
-              })
-            }
-          };
-          return wrappedResponse;
-        });
+      return composedStream;
+    }
+    function map2(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
       }
-      /**
-       * listBlobHierarchySegment returns a single segment of blobs starting from
-       * the specified Marker. Use an empty Marker to start enumeration from the
-       * beginning. After getting a segment, process it, and then call listBlobsHierarchicalSegment
-       * again (passing the the previously-returned Marker) to get the next segment.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-blobs
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param marker - A string value that identifies the portion of the list to be returned with the next list operation.
-       * @param options - Options to Container List Blob Hierarchy Segment operation.
-       */
-      async listBlobHierarchySegment(delimiter, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-listBlobHierarchySegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.listBlobHierarchySegment(delimiter, {
-            marker,
-            ...options,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: {
-              ...response._response,
-              parsedBody: (0, utils_common_js_1.ConvertInternalResponseOfListBlobHierarchy)(response._response.parsedBody)
-            },
-            // _response is made non-enumerable
-            segment: {
-              ...response.segment,
-              blobItems: response.segment.blobItems.map((blobItemInternal) => {
-                const blobItem = {
-                  ...blobItemInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobItemInternal.name),
-                  tags: (0, utils_common_js_1.toTags)(blobItemInternal.blobTags),
-                  objectReplicationSourceProperties: (0, utils_common_js_1.parseObjectReplicationRecord)(blobItemInternal.objectReplicationMetadata)
-                };
-                return blobItem;
-              }),
-              blobPrefixes: response.segment.blobPrefixes?.map((blobPrefixInternal) => {
-                const blobPrefix = {
-                  ...blobPrefixInternal,
-                  name: (0, utils_common_js_1.BlobNameToString)(blobPrefixInternal.name)
-                };
-                return blobPrefix;
-              })
-            }
-          };
-          return wrappedResponse;
-        });
+      if (options != null) {
+        validateObject(options, "options");
       }
-      /**
-       * Returns an AsyncIterableIterator for ContainerListBlobFlatSegmentResponse
-       *
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to list blobs operation.
-       */
-      async *listSegments(marker, options = {}) {
-        let listBlobsFlatSegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listBlobsFlatSegmentResponse = await this.listBlobFlatSegment(marker, options);
-            marker = listBlobsFlatSegmentResponse.continuationToken;
-            yield await listBlobsFlatSegmentResponse;
-          } while (marker);
-        }
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
       }
-      /**
-       * Returns an AsyncIterableIterator of {@link BlobItem} objects
-       *
-       * @param options - Options to list blobs operation.
-       */
-      async *listItems(options = {}) {
-        let marker;
-        for await (const listBlobsFlatSegmentResponse of this.listSegments(marker, options)) {
-          yield* listBlobsFlatSegmentResponse.segment.blobItems;
-        }
+      let concurrency = 1;
+      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
+        concurrency = MathFloor(options.concurrency);
       }
-      /**
-       * Returns an async iterable iterator to list all the blobs
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * ```ts snippet:ReadmeSampleListBlobs_Multiple
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * const blobs = containerClient.listBlobsFlat();
-       * for await (const blob of blobs) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.listBlobsFlat();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param options - Options to list blobs.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listBlobsFlat(options = {}) {
-        const include = [];
-        if (options.includeCopy) {
-          include.push("copy");
-        }
-        if (options.includeDeleted) {
-          include.push("deleted");
-        }
-        if (options.includeMetadata) {
-          include.push("metadata");
-        }
-        if (options.includeSnapshots) {
-          include.push("snapshots");
-        }
-        if (options.includeVersions) {
-          include.push("versions");
-        }
-        if (options.includeUncommitedBlobs) {
-          include.push("uncommittedblobs");
-        }
-        if (options.includeTags) {
-          include.push("tags");
+      let highWaterMark = concurrency - 1;
+      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
+        highWaterMark = MathFloor(options.highWaterMark);
+      }
+      validateInteger(concurrency, "options.concurrency", 1);
+      validateInteger(highWaterMark, "options.highWaterMark", 0);
+      highWaterMark += concurrency;
+      return async function* map3() {
+        const signal = require_util20().AbortSignalAny(
+          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
+        );
+        const stream = this;
+        const queue = [];
+        const signalOpt = {
+          signal
+        };
+        let next;
+        let resume;
+        let done = false;
+        let cnt = 0;
+        function onCatch() {
+          done = true;
+          afterItemProcessed();
         }
-        if (options.includeDeletedWithVersions) {
-          include.push("deletedwithversions");
+        function afterItemProcessed() {
+          cnt -= 1;
+          maybeResume();
         }
-        if (options.includeImmutabilityPolicy) {
-          include.push("immutabilitypolicy");
+        function maybeResume() {
+          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
+            resume();
+            resume = null;
+          }
         }
-        if (options.includeLegalHold) {
-          include.push("legalhold");
+        async function pump() {
+          try {
+            for await (let val of stream) {
+              if (done) {
+                return;
+              }
+              if (signal.aborted) {
+                throw new AbortError();
+              }
+              try {
+                val = fn(val, signalOpt);
+                if (val === kEmpty) {
+                  continue;
+                }
+                val = PromiseResolve(val);
+              } catch (err) {
+                val = PromiseReject(err);
+              }
+              cnt += 1;
+              PromisePrototypeThen(val, afterItemProcessed, onCatch);
+              queue.push(val);
+              if (next) {
+                next();
+                next = null;
+              }
+              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
+                await new Promise2((resolve2) => {
+                  resume = resolve2;
+                });
+              }
+            }
+            queue.push(kEof);
+          } catch (err) {
+            const val = PromiseReject(err);
+            PromisePrototypeThen(val, afterItemProcessed, onCatch);
+            queue.push(val);
+          } finally {
+            done = true;
+            if (next) {
+              next();
+              next = null;
+            }
+          }
         }
-        if (options.prefix === "") {
-          options.prefix = void 0;
+        pump();
+        try {
+          while (true) {
+            while (queue.length > 0) {
+              const val = await queue[0];
+              if (val === kEof) {
+                return;
+              }
+              if (signal.aborted) {
+                throw new AbortError();
+              }
+              if (val !== kEmpty) {
+                yield val;
+              }
+              queue.shift();
+              maybeResume();
+            }
+            await new Promise2((resolve2) => {
+              next = resolve2;
+            });
+          }
+        } finally {
+          done = true;
+          if (resume) {
+            resume();
+            resume = null;
+          }
         }
-        const updatedOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItems(updatedOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listSegments(settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...updatedOptions
+      }.call(this);
+    }
+    function asIndexedPairs(options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
+      }
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      return async function* asIndexedPairs2() {
+        let index = 0;
+        for await (const val of this) {
+          var _options$signal;
+          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
+            throw new AbortError({
+              cause: options.signal.reason
             });
           }
-        };
+          yield [index++, val];
+        }
+      }.call(this);
+    }
+    async function some(fn, options = void 0) {
+      for await (const unused of filter.call(this, fn, options)) {
+        return true;
       }
-      /**
-       * Returns an AsyncIterableIterator for ContainerListBlobHierarchySegmentResponse
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the ContinuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The ContinuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to list blobs operation.
-       */
-      async *listHierarchySegments(delimiter, marker, options = {}) {
-        let listBlobsHierarchySegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listBlobsHierarchySegmentResponse = await this.listBlobHierarchySegment(delimiter, marker, options);
-            marker = listBlobsHierarchySegmentResponse.continuationToken;
-            yield await listBlobsHierarchySegmentResponse;
-          } while (marker);
+      return false;
+    }
+    async function every(fn, options = void 0) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      }
+      return !await some.call(
+        this,
+        async (...args) => {
+          return !await fn(...args);
+        },
+        options
+      );
+    }
+    async function find2(fn, options) {
+      for await (const result of filter.call(this, fn, options)) {
+        return result;
+      }
+      return void 0;
+    }
+    async function forEach(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      }
+      async function forEachFn(value, options2) {
+        await fn(value, options2);
+        return kEmpty;
+      }
+      for await (const unused of map2.call(this, forEachFn, options)) ;
+    }
+    function filter(fn, options) {
+      if (typeof fn !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      }
+      async function filterFn(value, options2) {
+        if (await fn(value, options2)) {
+          return value;
         }
+        return kEmpty;
       }
-      /**
-       * Returns an AsyncIterableIterator for {@link BlobPrefix} and {@link BlobItem} objects.
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param options - Options to list blobs operation.
-       */
-      async *listItemsByHierarchy(delimiter, options = {}) {
-        let marker;
-        for await (const listBlobsHierarchySegmentResponse of this.listHierarchySegments(delimiter, marker, options)) {
-          const segment = listBlobsHierarchySegmentResponse.segment;
-          if (segment.blobPrefixes) {
-            for (const prefix of segment.blobPrefixes) {
-              yield {
-                kind: "prefix",
-                ...prefix
-              };
-            }
+      return map2.call(this, filterFn, options);
+    }
+    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
+      constructor() {
+        super("reduce");
+        this.message = "Reduce of an empty stream requires an initial value";
+      }
+    };
+    async function reduce(reducer, initialValue, options) {
+      var _options$signal2;
+      if (typeof reducer !== "function") {
+        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
+      }
+      if (options != null) {
+        validateObject(options, "options");
+      }
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      let hasInitialValue = arguments.length > 1;
+      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
+        const err = new AbortError(void 0, {
+          cause: options.signal.reason
+        });
+        this.once("error", () => {
+        });
+        await finished(this.destroy(err));
+        throw err;
+      }
+      const ac = new AbortController2();
+      const signal = ac.signal;
+      if (options !== null && options !== void 0 && options.signal) {
+        const opts = {
+          once: true,
+          [kWeakHandler]: this,
+          [kResistStopPropagation]: true
+        };
+        options.signal.addEventListener("abort", () => ac.abort(), opts);
+      }
+      let gotAnyItemFromStream = false;
+      try {
+        for await (const value of this) {
+          var _options$signal3;
+          gotAnyItemFromStream = true;
+          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
+            throw new AbortError();
           }
-          for (const blob of segment.blobItems) {
-            yield { kind: "blob", ...blob };
+          if (!hasInitialValue) {
+            initialValue = value;
+            hasInitialValue = true;
+          } else {
+            initialValue = await reducer(initialValue, value, {
+              signal
+            });
           }
         }
-      }
-      /**
-       * Returns an async iterable iterator to list all the blobs by hierarchy.
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages.
-       *
-       * ```ts snippet:ReadmeSampleListBlobsByHierarchy
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * const blobs = containerClient.listBlobsByHierarchy("/");
-       * for await (const blob of blobs) {
-       *   if (blob.kind === "prefix") {
-       *     console.log(`\tBlobPrefix: ${blob.name}`);
-       *   } else {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.listBlobsByHierarchy("/");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   if (value.kind === "prefix") {
-       *     console.log(`\tBlobPrefix: ${value.name}`);
-       *   } else {
-       *     console.log(`\tBlobItem: name - ${value.name}`);
-       *   }
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
-       *   const segment = page.segment;
-       *   if (segment.blobPrefixes) {
-       *     for (const prefix of segment.blobPrefixes) {
-       *       console.log(`\tBlobPrefix: ${prefix.name}`);
-       *     }
-       *   }
-       *   for (const blob of page.segment.blobItems) {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobPrefixes) {
-       *   for (const prefix of response.blobPrefixes) {
-       *     console.log(`\tBlobPrefix: ${prefix.name}`);
-       *   }
-       * }
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`\tBlobItem: name - ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient
-       *   .listBlobsByHierarchy("/")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.blobPrefixes) {
-       *   for (const prefix of response.blobPrefixes) {
-       *     console.log(`\tBlobPrefix: ${prefix.name}`);
-       *   }
-       * }
-       * if (response.segment.blobItems) {
-       *   for (const blob of response.segment.blobItems) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param delimiter - The character or string used to define the virtual hierarchy
-       * @param options - Options to list blobs operation.
-       */
-      listBlobsByHierarchy(delimiter, options = {}) {
-        if (delimiter === "") {
-          throw new RangeError("delimiter should contain one or more characters");
+        if (!gotAnyItemFromStream && !hasInitialValue) {
+          throw new ReduceAwareErrMissingArgs();
         }
-        const include = [];
-        if (options.includeCopy) {
-          include.push("copy");
+      } finally {
+        ac.abort();
+      }
+      return initialValue;
+    }
+    async function toArray2(options) {
+      if (options != null) {
+        validateObject(options, "options");
+      }
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      const result = [];
+      for await (const val of this) {
+        var _options$signal4;
+        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
+          throw new AbortError(void 0, {
+            cause: options.signal.reason
+          });
         }
-        if (options.includeDeleted) {
-          include.push("deleted");
+        ArrayPrototypePush(result, val);
+      }
+      return result;
+    }
+    function flatMap(fn, options) {
+      const values = map2.call(this, fn, options);
+      return async function* flatMap2() {
+        for await (const val of values) {
+          yield* val;
         }
-        if (options.includeMetadata) {
-          include.push("metadata");
+      }.call(this);
+    }
+    function toIntegerOrInfinity(number) {
+      number = Number2(number);
+      if (NumberIsNaN(number)) {
+        return 0;
+      }
+      if (number < 0) {
+        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
+      }
+      return number;
+    }
+    function drop(number, options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
+      }
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      number = toIntegerOrInfinity(number);
+      return async function* drop2() {
+        var _options$signal5;
+        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
+          throw new AbortError();
         }
-        if (options.includeSnapshots) {
-          include.push("snapshots");
+        for await (const val of this) {
+          var _options$signal6;
+          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
+            throw new AbortError();
+          }
+          if (number-- <= 0) {
+            yield val;
+          }
         }
-        if (options.includeVersions) {
-          include.push("versions");
+      }.call(this);
+    }
+    function take(number, options = void 0) {
+      if (options != null) {
+        validateObject(options, "options");
+      }
+      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
+        validateAbortSignal(options.signal, "options.signal");
+      }
+      number = toIntegerOrInfinity(number);
+      return async function* take2() {
+        var _options$signal7;
+        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
+          throw new AbortError();
         }
-        if (options.includeUncommitedBlobs) {
-          include.push("uncommittedblobs");
+        for await (const val of this) {
+          var _options$signal8;
+          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
+            throw new AbortError();
+          }
+          if (number-- > 0) {
+            yield val;
+          }
+          if (number <= 0) {
+            return;
+          }
         }
-        if (options.includeTags) {
-          include.push("tags");
+      }.call(this);
+    }
+    module2.exports.streamReturningOperators = {
+      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
+      drop,
+      filter,
+      flatMap,
+      map: map2,
+      take,
+      compose
+    };
+    module2.exports.promiseReturningOperators = {
+      every,
+      forEach,
+      reduce,
+      toArray: toArray2,
+      some,
+      find: find2
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/stream/promises.js
+var require_promises = __commonJS({
+  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
+    "use strict";
+    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
+    var { isIterable, isNodeStream, isWebStream } = require_utils8();
+    var { pipelineImpl: pl } = require_pipeline4();
+    var { finished } = require_end_of_stream();
+    require_stream2();
+    function pipeline(...streams) {
+      return new Promise2((resolve2, reject) => {
+        let signal;
+        let end;
+        const lastArg = streams[streams.length - 1];
+        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
+          const options = ArrayPrototypePop(streams);
+          signal = options.signal;
+          end = options.end;
         }
-        if (options.includeDeletedWithVersions) {
-          include.push("deletedwithversions");
+        pl(
+          streams,
+          (err, value) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve2(value);
+            }
+          },
+          {
+            signal,
+            end
+          }
+        );
+      });
+    }
+    module2.exports = {
+      finished,
+      pipeline
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/stream.js
+var require_stream2 = __commonJS({
+  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
+    var { Buffer: Buffer2 } = require("buffer");
+    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
+    var {
+      promisify: { custom: customPromisify }
+    } = require_util20();
+    var { streamReturningOperators, promiseReturningOperators } = require_operators();
+    var {
+      codes: { ERR_ILLEGAL_CONSTRUCTOR }
+    } = require_errors4();
+    var compose = require_compose();
+    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
+    var { pipeline } = require_pipeline4();
+    var { destroyer } = require_destroy2();
+    var eos = require_end_of_stream();
+    var promises2 = require_promises();
+    var utils = require_utils8();
+    var Stream = module2.exports = require_legacy().Stream;
+    Stream.isDestroyed = utils.isDestroyed;
+    Stream.isDisturbed = utils.isDisturbed;
+    Stream.isErrored = utils.isErrored;
+    Stream.isReadable = utils.isReadable;
+    Stream.isWritable = utils.isWritable;
+    Stream.Readable = require_readable4();
+    for (const key of ObjectKeys(streamReturningOperators)) {
+      let fn2 = function(...args) {
+        if (new.target) {
+          throw ERR_ILLEGAL_CONSTRUCTOR();
         }
-        if (options.includeImmutabilityPolicy) {
-          include.push("immutabilitypolicy");
+        return Stream.Readable.from(ReflectApply(op, this, args));
+      };
+      fn = fn2;
+      const op = streamReturningOperators[key];
+      ObjectDefineProperty(fn2, "name", {
+        __proto__: null,
+        value: op.name
+      });
+      ObjectDefineProperty(fn2, "length", {
+        __proto__: null,
+        value: op.length
+      });
+      ObjectDefineProperty(Stream.Readable.prototype, key, {
+        __proto__: null,
+        value: fn2,
+        enumerable: false,
+        configurable: true,
+        writable: true
+      });
+    }
+    var fn;
+    for (const key of ObjectKeys(promiseReturningOperators)) {
+      let fn2 = function(...args) {
+        if (new.target) {
+          throw ERR_ILLEGAL_CONSTRUCTOR();
         }
-        if (options.includeLegalHold) {
-          include.push("legalhold");
+        return ReflectApply(op, this, args);
+      };
+      fn = fn2;
+      const op = promiseReturningOperators[key];
+      ObjectDefineProperty(fn2, "name", {
+        __proto__: null,
+        value: op.name
+      });
+      ObjectDefineProperty(fn2, "length", {
+        __proto__: null,
+        value: op.length
+      });
+      ObjectDefineProperty(Stream.Readable.prototype, key, {
+        __proto__: null,
+        value: fn2,
+        enumerable: false,
+        configurable: true,
+        writable: true
+      });
+    }
+    var fn;
+    Stream.Writable = require_writable();
+    Stream.Duplex = require_duplex();
+    Stream.Transform = require_transform();
+    Stream.PassThrough = require_passthrough2();
+    Stream.pipeline = pipeline;
+    var { addAbortSignal } = require_add_abort_signal();
+    Stream.addAbortSignal = addAbortSignal;
+    Stream.finished = eos;
+    Stream.destroy = destroyer;
+    Stream.compose = compose;
+    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
+    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
+    ObjectDefineProperty(Stream, "promises", {
+      __proto__: null,
+      configurable: true,
+      enumerable: true,
+      get() {
+        return promises2;
+      }
+    });
+    ObjectDefineProperty(pipeline, customPromisify, {
+      __proto__: null,
+      enumerable: true,
+      get() {
+        return promises2.pipeline;
+      }
+    });
+    ObjectDefineProperty(eos, customPromisify, {
+      __proto__: null,
+      enumerable: true,
+      get() {
+        return promises2.finished;
+      }
+    });
+    Stream.Stream = Stream;
+    Stream._isUint8Array = function isUint8Array(value) {
+      return value instanceof Uint8Array;
+    };
+    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
+      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+    };
+  }
+});
+
+// node_modules/readable-stream/lib/ours/index.js
+var require_ours = __commonJS({
+  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
+    "use strict";
+    var Stream = require("stream");
+    if (Stream && process.env.READABLE_STREAM === "disable") {
+      const promises2 = Stream.promises;
+      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
+      module2.exports._isUint8Array = Stream._isUint8Array;
+      module2.exports.isDisturbed = Stream.isDisturbed;
+      module2.exports.isErrored = Stream.isErrored;
+      module2.exports.isReadable = Stream.isReadable;
+      module2.exports.Readable = Stream.Readable;
+      module2.exports.Writable = Stream.Writable;
+      module2.exports.Duplex = Stream.Duplex;
+      module2.exports.Transform = Stream.Transform;
+      module2.exports.PassThrough = Stream.PassThrough;
+      module2.exports.addAbortSignal = Stream.addAbortSignal;
+      module2.exports.finished = Stream.finished;
+      module2.exports.destroy = Stream.destroy;
+      module2.exports.pipeline = Stream.pipeline;
+      module2.exports.compose = Stream.compose;
+      Object.defineProperty(Stream, "promises", {
+        configurable: true,
+        enumerable: true,
+        get() {
+          return promises2;
         }
-        if (options.prefix === "") {
-          options.prefix = void 0;
+      });
+      module2.exports.Stream = Stream.Stream;
+    } else {
+      const CustomStream = require_stream2();
+      const promises2 = require_promises();
+      const originalDestroy = CustomStream.Readable.destroy;
+      module2.exports = CustomStream.Readable;
+      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
+      module2.exports._isUint8Array = CustomStream._isUint8Array;
+      module2.exports.isDisturbed = CustomStream.isDisturbed;
+      module2.exports.isErrored = CustomStream.isErrored;
+      module2.exports.isReadable = CustomStream.isReadable;
+      module2.exports.Readable = CustomStream.Readable;
+      module2.exports.Writable = CustomStream.Writable;
+      module2.exports.Duplex = CustomStream.Duplex;
+      module2.exports.Transform = CustomStream.Transform;
+      module2.exports.PassThrough = CustomStream.PassThrough;
+      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
+      module2.exports.finished = CustomStream.finished;
+      module2.exports.destroy = CustomStream.destroy;
+      module2.exports.destroy = originalDestroy;
+      module2.exports.pipeline = CustomStream.pipeline;
+      module2.exports.compose = CustomStream.compose;
+      Object.defineProperty(CustomStream, "promises", {
+        configurable: true,
+        enumerable: true,
+        get() {
+          return promises2;
         }
-        const updatedOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItemsByHierarchy(delimiter, updatedOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          async next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listHierarchySegments(delimiter, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...updatedOptions
-            });
+      });
+      module2.exports.Stream = CustomStream.Stream;
+    }
+    module2.exports.default = module2.exports;
+  }
+});
+
+// node_modules/lodash/_arrayPush.js
+var require_arrayPush = __commonJS({
+  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
+    function arrayPush(array, values) {
+      var index = -1, length = values.length, offset = array.length;
+      while (++index < length) {
+        array[offset + index] = values[index];
+      }
+      return array;
+    }
+    module2.exports = arrayPush;
+  }
+});
+
+// node_modules/lodash/_isFlattenable.js
+var require_isFlattenable = __commonJS({
+  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
+    var Symbol2 = require_Symbol();
+    var isArguments = require_isArguments();
+    var isArray = require_isArray();
+    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
+    function isFlattenable(value) {
+      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
+    }
+    module2.exports = isFlattenable;
+  }
+});
+
+// node_modules/lodash/_baseFlatten.js
+var require_baseFlatten = __commonJS({
+  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
+    var arrayPush = require_arrayPush();
+    var isFlattenable = require_isFlattenable();
+    function baseFlatten(array, depth, predicate, isStrict, result) {
+      var index = -1, length = array.length;
+      predicate || (predicate = isFlattenable);
+      result || (result = []);
+      while (++index < length) {
+        var value = array[index];
+        if (depth > 0 && predicate(value)) {
+          if (depth > 1) {
+            baseFlatten(value, depth - 1, predicate, isStrict, result);
+          } else {
+            arrayPush(result, value);
           }
-        };
+        } else if (!isStrict) {
+          result[result.length] = value;
+        }
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs in the container whose tags
-       * match a given search expression.
-       *
-       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                        The given expression must evaluate to true for a blob to be returned in the results.
-       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_1.assertResponse)(await this.containerContext.filterBlobs({
-            abortSignal: options.abortSignal,
-            where: tagFilterSqlExpression,
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            blobs: response.blobs.map((blob) => {
-              let tagValue = "";
-              if (blob.tags?.blobTagSet.length === 1) {
-                tagValue = blob.tags.blobTagSet[0].value;
-              }
-              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
-            })
-          };
-          return wrappedResponse;
-        });
+      return result;
+    }
+    module2.exports = baseFlatten;
+  }
+});
+
+// node_modules/lodash/flatten.js
+var require_flatten = __commonJS({
+  "node_modules/lodash/flatten.js"(exports2, module2) {
+    var baseFlatten = require_baseFlatten();
+    function flatten(array) {
+      var length = array == null ? 0 : array.length;
+      return length ? baseFlatten(array, 1) : [];
+    }
+    module2.exports = flatten;
+  }
+});
+
+// node_modules/lodash/_nativeCreate.js
+var require_nativeCreate = __commonJS({
+  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var nativeCreate = getNative(Object, "create");
+    module2.exports = nativeCreate;
+  }
+});
+
+// node_modules/lodash/_hashClear.js
+var require_hashClear = __commonJS({
+  "node_modules/lodash/_hashClear.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    function hashClear() {
+      this.__data__ = nativeCreate ? nativeCreate(null) : {};
+      this.size = 0;
+    }
+    module2.exports = hashClear;
+  }
+});
+
+// node_modules/lodash/_hashDelete.js
+var require_hashDelete = __commonJS({
+  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
+    function hashDelete(key) {
+      var result = this.has(key) && delete this.__data__[key];
+      this.size -= result ? 1 : 0;
+      return result;
+    }
+    module2.exports = hashDelete;
+  }
+});
+
+// node_modules/lodash/_hashGet.js
+var require_hashGet = __commonJS({
+  "node_modules/lodash/_hashGet.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function hashGet(key) {
+      var data = this.__data__;
+      if (nativeCreate) {
+        var result = data[key];
+        return result === HASH_UNDEFINED ? void 0 : result;
       }
-      /**
-       * Returns an AsyncIterableIterator for ContainerFindBlobsByTagsSegmentResponse.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
-        let response;
-        if (!!marker || marker === void 0) {
-          do {
-            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
-            response.blobs = response.blobs || [];
-            marker = response.continuationToken;
-            yield response;
-          } while (marker);
-        }
+      return hasOwnProperty.call(data, key) ? data[key] : void 0;
+    }
+    module2.exports = hashGet;
+  }
+});
+
+// node_modules/lodash/_hashHas.js
+var require_hashHas = __commonJS({
+  "node_modules/lodash/_hashHas.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var objectProto = Object.prototype;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    function hashHas(key) {
+      var data = this.__data__;
+      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
+    }
+    module2.exports = hashHas;
+  }
+});
+
+// node_modules/lodash/_hashSet.js
+var require_hashSet = __commonJS({
+  "node_modules/lodash/_hashSet.js"(exports2, module2) {
+    var nativeCreate = require_nativeCreate();
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    function hashSet(key, value) {
+      var data = this.__data__;
+      this.size += this.has(key) ? 0 : 1;
+      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
+      return this;
+    }
+    module2.exports = hashSet;
+  }
+});
+
+// node_modules/lodash/_Hash.js
+var require_Hash = __commonJS({
+  "node_modules/lodash/_Hash.js"(exports2, module2) {
+    var hashClear = require_hashClear();
+    var hashDelete = require_hashDelete();
+    var hashGet = require_hashGet();
+    var hashHas = require_hashHas();
+    var hashSet = require_hashSet();
+    function Hash(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      /**
-       * Returns an AsyncIterableIterator for blobs.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to findBlobsByTagsItems.
-       */
-      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
-        let marker;
-        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
-          yield* segment.blobs;
+    }
+    Hash.prototype.clear = hashClear;
+    Hash.prototype["delete"] = hashDelete;
+    Hash.prototype.get = hashGet;
+    Hash.prototype.has = hashHas;
+    Hash.prototype.set = hashSet;
+    module2.exports = Hash;
+  }
+});
+
+// node_modules/lodash/_listCacheClear.js
+var require_listCacheClear = __commonJS({
+  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
+    function listCacheClear() {
+      this.__data__ = [];
+      this.size = 0;
+    }
+    module2.exports = listCacheClear;
+  }
+});
+
+// node_modules/lodash/_assocIndexOf.js
+var require_assocIndexOf = __commonJS({
+  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
+    var eq = require_eq2();
+    function assocIndexOf(array, key) {
+      var length = array.length;
+      while (length--) {
+        if (eq(array[length][0], key)) {
+          return length;
         }
       }
-      /**
-       * Returns an async iterable iterator to find all blobs with specified tag
-       * under the specified container.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * Example using `for await` syntax:
-       *
-       * ```ts snippet:ReadmeSampleFindBlobsByTags
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerName = "";
-       * const containerClient = blobServiceClient.getContainerClient(containerName);
-       *
-       * // Example using `for await` syntax
-       * let i = 1;
-       * for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Example using `iter.next()` syntax
-       * i = 1;
-       * const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Example using `byPage()` syntax
-       * i = 1;
-       * for await (const page of containerClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Example using paging with a marker
-       * i = 1;
-       * let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = containerClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       * // Prints 10 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to find blobs by tags.
-       */
-      findBlobsByTags(tagFilterSqlExpression, options = {}) {
-        const listSegmentOptions = {
-          ...options
-        };
-        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
-          }
-        };
+      return -1;
+    }
+    module2.exports = assocIndexOf;
+  }
+});
+
+// node_modules/lodash/_listCacheDelete.js
+var require_listCacheDelete = __commonJS({
+  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    var arrayProto = Array.prototype;
+    var splice = arrayProto.splice;
+    function listCacheDelete(key) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      if (index < 0) {
+        return false;
       }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("ContainerClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_1.assertResponse)(await this.containerContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      var lastIndex = data.length - 1;
+      if (index == lastIndex) {
+        data.pop();
+      } else {
+        splice.call(data, index, 1);
       }
-      getContainerNameFromUrl() {
-        let containerName;
-        try {
-          const parsedUrl = new URL(this.url);
-          if (parsedUrl.hostname.split(".")[1] === "blob") {
-            containerName = parsedUrl.pathname.split("/")[1];
-          } else if ((0, utils_common_js_1.isIpEndpointStyle)(parsedUrl)) {
-            containerName = parsedUrl.pathname.split("/")[2];
-          } else {
-            containerName = parsedUrl.pathname.split("/")[1];
-          }
-          containerName = decodeURIComponent(containerName);
-          if (!containerName) {
-            throw new Error("Provided containerName is invalid.");
-          }
-          return containerName;
-        } catch (error3) {
-          throw new Error("Unable to extract containerName with provided information.");
-        }
+      --this.size;
+      return true;
+    }
+    module2.exports = listCacheDelete;
+  }
+});
+
+// node_modules/lodash/_listCacheGet.js
+var require_listCacheGet = __commonJS({
+  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheGet(key) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      return index < 0 ? void 0 : data[index][1];
+    }
+    module2.exports = listCacheGet;
+  }
+});
+
+// node_modules/lodash/_listCacheHas.js
+var require_listCacheHas = __commonJS({
+  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheHas(key) {
+      return assocIndexOf(this.__data__, key) > -1;
+    }
+    module2.exports = listCacheHas;
+  }
+});
+
+// node_modules/lodash/_listCacheSet.js
+var require_listCacheSet = __commonJS({
+  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
+    var assocIndexOf = require_assocIndexOf();
+    function listCacheSet(key, value) {
+      var data = this.__data__, index = assocIndexOf(data, key);
+      if (index < 0) {
+        ++this.size;
+        data.push([key, value]);
+      } else {
+        data[index][1] = value;
       }
-      /**
-       * Only available for ContainerClient constructed with a shared key credential.
-       *
-       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasUrl(options) {
-        return new Promise((resolve2) => {
-          if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-            throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
-          }
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            ...options
-          }, this.credential).toString();
-          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+      return this;
+    }
+    module2.exports = listCacheSet;
+  }
+});
+
+// node_modules/lodash/_ListCache.js
+var require_ListCache = __commonJS({
+  "node_modules/lodash/_ListCache.js"(exports2, module2) {
+    var listCacheClear = require_listCacheClear();
+    var listCacheDelete = require_listCacheDelete();
+    var listCacheGet = require_listCacheGet();
+    var listCacheHas = require_listCacheHas();
+    var listCacheSet = require_listCacheSet();
+    function ListCache(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      /**
-       * Only available for ContainerClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
-       * based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      /* eslint-disable-next-line @azure/azure-sdk/ts-naming-options*/
-      generateSasStringToSign(options) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential");
-        }
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          ...options
-        }, this.credential).stringToSign;
+    }
+    ListCache.prototype.clear = listCacheClear;
+    ListCache.prototype["delete"] = listCacheDelete;
+    ListCache.prototype.get = listCacheGet;
+    ListCache.prototype.has = listCacheHas;
+    ListCache.prototype.set = listCacheSet;
+    module2.exports = ListCache;
+  }
+});
+
+// node_modules/lodash/_Map.js
+var require_Map = __commonJS({
+  "node_modules/lodash/_Map.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var root = require_root();
+    var Map2 = getNative(root, "Map");
+    module2.exports = Map2;
+  }
+});
+
+// node_modules/lodash/_mapCacheClear.js
+var require_mapCacheClear = __commonJS({
+  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
+    var Hash = require_Hash();
+    var ListCache = require_ListCache();
+    var Map2 = require_Map();
+    function mapCacheClear() {
+      this.size = 0;
+      this.__data__ = {
+        "hash": new Hash(),
+        "map": new (Map2 || ListCache)(),
+        "string": new Hash()
+      };
+    }
+    module2.exports = mapCacheClear;
+  }
+});
+
+// node_modules/lodash/_isKeyable.js
+var require_isKeyable = __commonJS({
+  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
+    function isKeyable(value) {
+      var type2 = typeof value;
+      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
+    }
+    module2.exports = isKeyable;
+  }
+});
+
+// node_modules/lodash/_getMapData.js
+var require_getMapData = __commonJS({
+  "node_modules/lodash/_getMapData.js"(exports2, module2) {
+    var isKeyable = require_isKeyable();
+    function getMapData(map2, key) {
+      var data = map2.__data__;
+      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
+    }
+    module2.exports = getMapData;
+  }
+});
+
+// node_modules/lodash/_mapCacheDelete.js
+var require_mapCacheDelete = __commonJS({
+  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheDelete(key) {
+      var result = getMapData(this, key)["delete"](key);
+      this.size -= result ? 1 : 0;
+      return result;
+    }
+    module2.exports = mapCacheDelete;
+  }
+});
+
+// node_modules/lodash/_mapCacheGet.js
+var require_mapCacheGet = __commonJS({
+  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheGet(key) {
+      return getMapData(this, key).get(key);
+    }
+    module2.exports = mapCacheGet;
+  }
+});
+
+// node_modules/lodash/_mapCacheHas.js
+var require_mapCacheHas = __commonJS({
+  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheHas(key) {
+      return getMapData(this, key).has(key);
+    }
+    module2.exports = mapCacheHas;
+  }
+});
+
+// node_modules/lodash/_mapCacheSet.js
+var require_mapCacheSet = __commonJS({
+  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
+    var getMapData = require_getMapData();
+    function mapCacheSet(key, value) {
+      var data = getMapData(this, key), size = data.size;
+      data.set(key, value);
+      this.size += data.size == size ? 0 : 1;
+      return this;
+    }
+    module2.exports = mapCacheSet;
+  }
+});
+
+// node_modules/lodash/_MapCache.js
+var require_MapCache = __commonJS({
+  "node_modules/lodash/_MapCache.js"(exports2, module2) {
+    var mapCacheClear = require_mapCacheClear();
+    var mapCacheDelete = require_mapCacheDelete();
+    var mapCacheGet = require_mapCacheGet();
+    var mapCacheHas = require_mapCacheHas();
+    var mapCacheSet = require_mapCacheSet();
+    function MapCache(entries) {
+      var index = -1, length = entries == null ? 0 : entries.length;
+      this.clear();
+      while (++index < length) {
+        var entry = entries[index];
+        this.set(entry[0], entry[1]);
       }
-      /**
-       * Generates a Blob Container Service Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasUrl(options, userDelegationKey) {
-        return new Promise((resolve2) => {
-          const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({
-            containerName: this._containerName,
-            ...options
-          }, userDelegationKey, this.accountName).toString();
-          resolve2((0, utils_common_js_1.appendToURLQuery)(this.url, sas));
-        });
+    }
+    MapCache.prototype.clear = mapCacheClear;
+    MapCache.prototype["delete"] = mapCacheDelete;
+    MapCache.prototype.get = mapCacheGet;
+    MapCache.prototype.has = mapCacheHas;
+    MapCache.prototype.set = mapCacheSet;
+    module2.exports = MapCache;
+  }
+});
+
+// node_modules/lodash/_setCacheAdd.js
+var require_setCacheAdd = __commonJS({
+  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    function setCacheAdd(value) {
+      this.__data__.set(value, HASH_UNDEFINED);
+      return this;
+    }
+    module2.exports = setCacheAdd;
+  }
+});
+
+// node_modules/lodash/_setCacheHas.js
+var require_setCacheHas = __commonJS({
+  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
+    function setCacheHas(value) {
+      return this.__data__.has(value);
+    }
+    module2.exports = setCacheHas;
+  }
+});
+
+// node_modules/lodash/_SetCache.js
+var require_SetCache = __commonJS({
+  "node_modules/lodash/_SetCache.js"(exports2, module2) {
+    var MapCache = require_MapCache();
+    var setCacheAdd = require_setCacheAdd();
+    var setCacheHas = require_setCacheHas();
+    function SetCache(values) {
+      var index = -1, length = values == null ? 0 : values.length;
+      this.__data__ = new MapCache();
+      while (++index < length) {
+        this.add(values[index]);
       }
-      /**
-       * Generates string to sign for a Blob Container Service Shared Access Signature (SAS) URI
-       * based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas
-       *
-       * @param options - Optional parameters.
-       * @param userDelegationKey -  Return value of `blobServiceClient.getUserDelegationKey()`
-       * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateUserDelegationSasStringToSign(options, userDelegationKey) {
-        return (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParametersInternal)({
-          containerName: this._containerName,
-          ...options
-        }, userDelegationKey, this.accountName).stringToSign;
+    }
+    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
+    SetCache.prototype.has = setCacheHas;
+    module2.exports = SetCache;
+  }
+});
+
+// node_modules/lodash/_baseFindIndex.js
+var require_baseFindIndex = __commonJS({
+  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
+    function baseFindIndex(array, predicate, fromIndex, fromRight) {
+      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
+      while (fromRight ? index-- : ++index < length) {
+        if (predicate(array[index], index, array)) {
+          return index;
+        }
       }
-      /**
-       * Creates a BlobBatchClient object to conduct batch operations.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @returns A new BlobBatchClient object for this container.
-       */
-      getBlobBatchClient() {
-        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      return -1;
+    }
+    module2.exports = baseFindIndex;
+  }
+});
+
+// node_modules/lodash/_baseIsNaN.js
+var require_baseIsNaN = __commonJS({
+  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
+    function baseIsNaN(value) {
+      return value !== value;
+    }
+    module2.exports = baseIsNaN;
+  }
+});
+
+// node_modules/lodash/_strictIndexOf.js
+var require_strictIndexOf = __commonJS({
+  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
+    function strictIndexOf(array, value, fromIndex) {
+      var index = fromIndex - 1, length = array.length;
+      while (++index < length) {
+        if (array[index] === value) {
+          return index;
+        }
       }
-    };
-    exports2.ContainerClient = ContainerClient;
+      return -1;
+    }
+    module2.exports = strictIndexOf;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js
-var require_AccountSASPermissions = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASPermissions.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASPermissions = void 0;
-    var AccountSASPermissions = class _AccountSASPermissions {
-      /**
-       * Parse initializes the AccountSASPermissions fields from a string.
-       *
-       * @param permissions -
-       */
-      static parse(permissions) {
-        const accountSASPermissions = new _AccountSASPermissions();
-        for (const c of permissions) {
-          switch (c) {
-            case "r":
-              accountSASPermissions.read = true;
-              break;
-            case "w":
-              accountSASPermissions.write = true;
-              break;
-            case "d":
-              accountSASPermissions.delete = true;
-              break;
-            case "x":
-              accountSASPermissions.deleteVersion = true;
-              break;
-            case "l":
-              accountSASPermissions.list = true;
-              break;
-            case "a":
-              accountSASPermissions.add = true;
-              break;
-            case "c":
-              accountSASPermissions.create = true;
-              break;
-            case "u":
-              accountSASPermissions.update = true;
-              break;
-            case "p":
-              accountSASPermissions.process = true;
-              break;
-            case "t":
-              accountSASPermissions.tag = true;
-              break;
-            case "f":
-              accountSASPermissions.filter = true;
-              break;
-            case "i":
-              accountSASPermissions.setImmutabilityPolicy = true;
-              break;
-            case "y":
-              accountSASPermissions.permanentDelete = true;
-              break;
-            default:
-              throw new RangeError(`Invalid permission character: ${c}`);
-          }
+// node_modules/lodash/_baseIndexOf.js
+var require_baseIndexOf = __commonJS({
+  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
+    var baseFindIndex = require_baseFindIndex();
+    var baseIsNaN = require_baseIsNaN();
+    var strictIndexOf = require_strictIndexOf();
+    function baseIndexOf(array, value, fromIndex) {
+      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
+    }
+    module2.exports = baseIndexOf;
+  }
+});
+
+// node_modules/lodash/_arrayIncludes.js
+var require_arrayIncludes = __commonJS({
+  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
+    var baseIndexOf = require_baseIndexOf();
+    function arrayIncludes(array, value) {
+      var length = array == null ? 0 : array.length;
+      return !!length && baseIndexOf(array, value, 0) > -1;
+    }
+    module2.exports = arrayIncludes;
+  }
+});
+
+// node_modules/lodash/_arrayIncludesWith.js
+var require_arrayIncludesWith = __commonJS({
+  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
+    function arrayIncludesWith(array, value, comparator) {
+      var index = -1, length = array == null ? 0 : array.length;
+      while (++index < length) {
+        if (comparator(value, array[index])) {
+          return true;
         }
-        return accountSASPermissions;
       }
-      /**
-       * Creates a {@link AccountSASPermissions} from a raw object which contains same keys as it
-       * and boolean values for them.
-       *
-       * @param permissionLike -
-       */
-      static from(permissionLike) {
-        const accountSASPermissions = new _AccountSASPermissions();
-        if (permissionLike.read) {
-          accountSASPermissions.read = true;
-        }
-        if (permissionLike.write) {
-          accountSASPermissions.write = true;
-        }
-        if (permissionLike.delete) {
-          accountSASPermissions.delete = true;
-        }
-        if (permissionLike.deleteVersion) {
-          accountSASPermissions.deleteVersion = true;
-        }
-        if (permissionLike.filter) {
-          accountSASPermissions.filter = true;
-        }
-        if (permissionLike.tag) {
-          accountSASPermissions.tag = true;
-        }
-        if (permissionLike.list) {
-          accountSASPermissions.list = true;
-        }
-        if (permissionLike.add) {
-          accountSASPermissions.add = true;
-        }
-        if (permissionLike.create) {
-          accountSASPermissions.create = true;
-        }
-        if (permissionLike.update) {
-          accountSASPermissions.update = true;
-        }
-        if (permissionLike.process) {
-          accountSASPermissions.process = true;
-        }
-        if (permissionLike.setImmutabilityPolicy) {
-          accountSASPermissions.setImmutabilityPolicy = true;
-        }
-        if (permissionLike.permanentDelete) {
-          accountSASPermissions.permanentDelete = true;
-        }
-        return accountSASPermissions;
+      return false;
+    }
+    module2.exports = arrayIncludesWith;
+  }
+});
+
+// node_modules/lodash/_arrayMap.js
+var require_arrayMap = __commonJS({
+  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
+    function arrayMap(array, iteratee) {
+      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
+      while (++index < length) {
+        result[index] = iteratee(array[index], index, array);
       }
-      /**
-       * Permission to read resources and list queues and tables granted.
-       */
-      read = false;
-      /**
-       * Permission to write resources granted.
-       */
-      write = false;
-      /**
-       * Permission to delete blobs and files granted.
-       */
-      delete = false;
-      /**
-       * Permission to delete versions granted.
-       */
-      deleteVersion = false;
-      /**
-       * Permission to list blob containers, blobs, shares, directories, and files granted.
-       */
-      list = false;
-      /**
-       * Permission to add messages, table entities, and append to blobs granted.
-       */
-      add = false;
-      /**
-       * Permission to create blobs and files granted.
-       */
-      create = false;
-      /**
-       * Permissions to update messages and table entities granted.
-       */
-      update = false;
-      /**
-       * Permission to get and delete messages granted.
-       */
-      process = false;
-      /**
-       * Specfies Tag access granted.
-       */
-      tag = false;
-      /**
-       * Permission to filter blobs.
-       */
-      filter = false;
-      /**
-       * Permission to set immutability policy.
-       */
-      setImmutabilityPolicy = false;
-      /**
-       * Specifies that Permanent Delete is permitted.
-       */
-      permanentDelete = false;
-      /**
-       * Produces the SAS permissions string for an Azure Storage account.
-       * Call this method to set AccountSASSignatureValues Permissions field.
-       *
-       * Using this method will guarantee the resource types are in
-       * an order accepted by the service.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
-       *
-       */
-      toString() {
-        const permissions = [];
-        if (this.read) {
-          permissions.push("r");
-        }
-        if (this.write) {
-          permissions.push("w");
-        }
-        if (this.delete) {
-          permissions.push("d");
-        }
-        if (this.deleteVersion) {
-          permissions.push("x");
-        }
-        if (this.filter) {
-          permissions.push("f");
-        }
-        if (this.tag) {
-          permissions.push("t");
-        }
-        if (this.list) {
-          permissions.push("l");
-        }
-        if (this.add) {
-          permissions.push("a");
-        }
-        if (this.create) {
-          permissions.push("c");
-        }
-        if (this.update) {
-          permissions.push("u");
-        }
-        if (this.process) {
-          permissions.push("p");
-        }
-        if (this.setImmutabilityPolicy) {
-          permissions.push("i");
-        }
-        if (this.permanentDelete) {
-          permissions.push("y");
-        }
-        return permissions.join("");
+      return result;
+    }
+    module2.exports = arrayMap;
+  }
+});
+
+// node_modules/lodash/_cacheHas.js
+var require_cacheHas = __commonJS({
+  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
+    function cacheHas(cache, key) {
+      return cache.has(key);
+    }
+    module2.exports = cacheHas;
+  }
+});
+
+// node_modules/lodash/_baseDifference.js
+var require_baseDifference = __commonJS({
+  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
+    var SetCache = require_SetCache();
+    var arrayIncludes = require_arrayIncludes();
+    var arrayIncludesWith = require_arrayIncludesWith();
+    var arrayMap = require_arrayMap();
+    var baseUnary = require_baseUnary();
+    var cacheHas = require_cacheHas();
+    var LARGE_ARRAY_SIZE = 200;
+    function baseDifference(array, values, iteratee, comparator) {
+      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
+      if (!length) {
+        return result;
+      }
+      if (iteratee) {
+        values = arrayMap(values, baseUnary(iteratee));
+      }
+      if (comparator) {
+        includes = arrayIncludesWith;
+        isCommon = false;
+      } else if (values.length >= LARGE_ARRAY_SIZE) {
+        includes = cacheHas;
+        isCommon = false;
+        values = new SetCache(values);
       }
+      outer:
+        while (++index < length) {
+          var value = array[index], computed = iteratee == null ? value : iteratee(value);
+          value = comparator || value !== 0 ? value : 0;
+          if (isCommon && computed === computed) {
+            var valuesIndex = valuesLength;
+            while (valuesIndex--) {
+              if (values[valuesIndex] === computed) {
+                continue outer;
+              }
+            }
+            result.push(value);
+          } else if (!includes(values, computed, comparator)) {
+            result.push(value);
+          }
+        }
+      return result;
+    }
+    module2.exports = baseDifference;
+  }
+});
+
+// node_modules/lodash/isArrayLikeObject.js
+var require_isArrayLikeObject = __commonJS({
+  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
+    var isArrayLike = require_isArrayLike();
+    var isObjectLike = require_isObjectLike();
+    function isArrayLikeObject(value) {
+      return isObjectLike(value) && isArrayLike(value);
+    }
+    module2.exports = isArrayLikeObject;
+  }
+});
+
+// node_modules/lodash/difference.js
+var require_difference = __commonJS({
+  "node_modules/lodash/difference.js"(exports2, module2) {
+    var baseDifference = require_baseDifference();
+    var baseFlatten = require_baseFlatten();
+    var baseRest = require_baseRest();
+    var isArrayLikeObject = require_isArrayLikeObject();
+    var difference = baseRest(function(array, values) {
+      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
+    });
+    module2.exports = difference;
+  }
+});
+
+// node_modules/lodash/_Set.js
+var require_Set = __commonJS({
+  "node_modules/lodash/_Set.js"(exports2, module2) {
+    var getNative = require_getNative();
+    var root = require_root();
+    var Set2 = getNative(root, "Set");
+    module2.exports = Set2;
+  }
+});
+
+// node_modules/lodash/noop.js
+var require_noop = __commonJS({
+  "node_modules/lodash/noop.js"(exports2, module2) {
+    function noop3() {
+    }
+    module2.exports = noop3;
+  }
+});
+
+// node_modules/lodash/_setToArray.js
+var require_setToArray = __commonJS({
+  "node_modules/lodash/_setToArray.js"(exports2, module2) {
+    function setToArray(set2) {
+      var index = -1, result = Array(set2.size);
+      set2.forEach(function(value) {
+        result[++index] = value;
+      });
+      return result;
+    }
+    module2.exports = setToArray;
+  }
+});
+
+// node_modules/lodash/_createSet.js
+var require_createSet = __commonJS({
+  "node_modules/lodash/_createSet.js"(exports2, module2) {
+    var Set2 = require_Set();
+    var noop3 = require_noop();
+    var setToArray = require_setToArray();
+    var INFINITY = 1 / 0;
+    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
+      return new Set2(values);
     };
-    exports2.AccountSASPermissions = AccountSASPermissions;
+    module2.exports = createSet;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js
-var require_AccountSASResourceTypes = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASResourceTypes.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASResourceTypes = void 0;
-    var AccountSASResourceTypes = class _AccountSASResourceTypes {
-      /**
-       * Creates an {@link AccountSASResourceTypes} from the specified resource types string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid resource type.
-       *
-       * @param resourceTypes -
-       */
-      static parse(resourceTypes) {
-        const accountSASResourceTypes = new _AccountSASResourceTypes();
-        for (const c of resourceTypes) {
-          switch (c) {
-            case "s":
-              accountSASResourceTypes.service = true;
-              break;
-            case "c":
-              accountSASResourceTypes.container = true;
-              break;
-            case "o":
-              accountSASResourceTypes.object = true;
-              break;
-            default:
-              throw new RangeError(`Invalid resource type: ${c}`);
+// node_modules/lodash/_baseUniq.js
+var require_baseUniq = __commonJS({
+  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
+    var SetCache = require_SetCache();
+    var arrayIncludes = require_arrayIncludes();
+    var arrayIncludesWith = require_arrayIncludesWith();
+    var cacheHas = require_cacheHas();
+    var createSet = require_createSet();
+    var setToArray = require_setToArray();
+    var LARGE_ARRAY_SIZE = 200;
+    function baseUniq(array, iteratee, comparator) {
+      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
+      if (comparator) {
+        isCommon = false;
+        includes = arrayIncludesWith;
+      } else if (length >= LARGE_ARRAY_SIZE) {
+        var set2 = iteratee ? null : createSet(array);
+        if (set2) {
+          return setToArray(set2);
+        }
+        isCommon = false;
+        includes = cacheHas;
+        seen = new SetCache();
+      } else {
+        seen = iteratee ? [] : result;
+      }
+      outer:
+        while (++index < length) {
+          var value = array[index], computed = iteratee ? iteratee(value) : value;
+          value = comparator || value !== 0 ? value : 0;
+          if (isCommon && computed === computed) {
+            var seenIndex = seen.length;
+            while (seenIndex--) {
+              if (seen[seenIndex] === computed) {
+                continue outer;
+              }
+            }
+            if (iteratee) {
+              seen.push(computed);
+            }
+            result.push(value);
+          } else if (!includes(seen, computed, comparator)) {
+            if (seen !== result) {
+              seen.push(computed);
+            }
+            result.push(value);
           }
         }
-        return accountSASResourceTypes;
+      return result;
+    }
+    module2.exports = baseUniq;
+  }
+});
+
+// node_modules/lodash/union.js
+var require_union = __commonJS({
+  "node_modules/lodash/union.js"(exports2, module2) {
+    var baseFlatten = require_baseFlatten();
+    var baseRest = require_baseRest();
+    var baseUniq = require_baseUniq();
+    var isArrayLikeObject = require_isArrayLikeObject();
+    var union = baseRest(function(arrays) {
+      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
+    });
+    module2.exports = union;
+  }
+});
+
+// node_modules/lodash/_overArg.js
+var require_overArg = __commonJS({
+  "node_modules/lodash/_overArg.js"(exports2, module2) {
+    function overArg(func, transform) {
+      return function(arg) {
+        return func(transform(arg));
+      };
+    }
+    module2.exports = overArg;
+  }
+});
+
+// node_modules/lodash/_getPrototype.js
+var require_getPrototype = __commonJS({
+  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
+    var overArg = require_overArg();
+    var getPrototype = overArg(Object.getPrototypeOf, Object);
+    module2.exports = getPrototype;
+  }
+});
+
+// node_modules/lodash/isPlainObject.js
+var require_isPlainObject = __commonJS({
+  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
+    var baseGetTag = require_baseGetTag();
+    var getPrototype = require_getPrototype();
+    var isObjectLike = require_isObjectLike();
+    var objectTag = "[object Object]";
+    var funcProto = Function.prototype;
+    var objectProto = Object.prototype;
+    var funcToString = funcProto.toString;
+    var hasOwnProperty = objectProto.hasOwnProperty;
+    var objectCtorString = funcToString.call(Object);
+    function isPlainObject3(value) {
+      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
+        return false;
       }
-      /**
-       * Permission to access service level APIs granted.
-       */
-      service = false;
-      /**
-       * Permission to access container level APIs (Blob Containers, Tables, Queues, File Shares) granted.
-       */
-      container = false;
-      /**
-       * Permission to access object level APIs (Blobs, Table Entities, Queue Messages, Files) granted.
-       */
-      object = false;
-      /**
-       * Converts the given resource types to a string.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
-       *
-       */
-      toString() {
-        const resourceTypes = [];
-        if (this.service) {
-          resourceTypes.push("s");
-        }
-        if (this.container) {
-          resourceTypes.push("c");
-        }
-        if (this.object) {
-          resourceTypes.push("o");
-        }
-        return resourceTypes.join("");
+      var proto = getPrototype(value);
+      if (proto === null) {
+        return true;
       }
-    };
-    exports2.AccountSASResourceTypes = AccountSASResourceTypes;
+      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
+      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
+    }
+    module2.exports = isPlainObject3;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js
-var require_AccountSASServices = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASServices.js"(exports2) {
+// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
+var require_commonjs18 = __commonJS({
+  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AccountSASServices = void 0;
-    var AccountSASServices = class _AccountSASServices {
-      /**
-       * Creates an {@link AccountSASServices} from the specified services string. This method will throw an
-       * Error if it encounters a character that does not correspond to a valid service.
-       *
-       * @param services -
-       */
-      static parse(services) {
-        const accountSASServices = new _AccountSASServices();
-        for (const c of services) {
-          switch (c) {
-            case "b":
-              accountSASServices.blob = true;
-              break;
-            case "f":
-              accountSASServices.file = true;
-              break;
-            case "q":
-              accountSASServices.queue = true;
-              break;
-            case "t":
-              accountSASServices.table = true;
-              break;
-            default:
-              throw new RangeError(`Invalid service character: ${c}`);
-          }
-        }
-        return accountSASServices;
-      }
-      /**
-       * Permission to access blob resources granted.
-       */
-      blob = false;
-      /**
-       * Permission to access file resources granted.
-       */
-      file = false;
-      /**
-       * Permission to access queue resources granted.
-       */
-      queue = false;
-      /**
-       * Permission to access table resources granted.
-       */
-      table = false;
-      /**
-       * Converts the given services to a string.
-       *
-       */
-      toString() {
-        const services = [];
-        if (this.blob) {
-          services.push("b");
-        }
-        if (this.table) {
-          services.push("t");
+    exports2.range = exports2.balanced = void 0;
+    var balanced = (a, b, str2) => {
+      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
+      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
+      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
+      return r && {
+        start: r[0],
+        end: r[1],
+        pre: str2.slice(0, r[0]),
+        body: str2.slice(r[0] + ma.length, r[1]),
+        post: str2.slice(r[1] + mb.length)
+      };
+    };
+    exports2.balanced = balanced;
+    var maybeMatch = (reg, str2) => {
+      const m = str2.match(reg);
+      return m ? m[0] : null;
+    };
+    var range = (a, b, str2) => {
+      let begs, beg, left, right = void 0, result;
+      let ai = str2.indexOf(a);
+      let bi = str2.indexOf(b, ai + 1);
+      let i = ai;
+      if (ai >= 0 && bi > 0) {
+        if (a === b) {
+          return [ai, bi];
         }
-        if (this.queue) {
-          services.push("q");
+        begs = [];
+        left = str2.length;
+        while (i >= 0 && !result) {
+          if (i === ai) {
+            begs.push(i);
+            ai = str2.indexOf(a, i + 1);
+          } else if (begs.length === 1) {
+            const r = begs.pop();
+            if (r !== void 0)
+              result = [r, bi];
+          } else {
+            beg = begs.pop();
+            if (beg !== void 0 && beg < left) {
+              left = beg;
+              right = bi;
+            }
+            bi = str2.indexOf(b, i + 1);
+          }
+          i = ai < bi && ai >= 0 ? ai : bi;
         }
-        if (this.file) {
-          services.push("f");
+        if (begs.length && right !== void 0) {
+          result = [left, right];
         }
-        return services.join("");
       }
+      return result;
     };
-    exports2.AccountSASServices = AccountSASServices;
+    exports2.range = range;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js
-var require_AccountSASSignatureValues = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/sas/AccountSASSignatureValues.js"(exports2) {
+// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
+var require_commonjs19 = __commonJS({
+  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.generateAccountSASQueryParameters = generateAccountSASQueryParameters;
-    exports2.generateAccountSASQueryParametersInternal = generateAccountSASQueryParametersInternal;
-    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
-    var AccountSASResourceTypes_js_1 = require_AccountSASResourceTypes();
-    var AccountSASServices_js_1 = require_AccountSASServices();
-    var SasIPRange_js_1 = require_SasIPRange();
-    var SASQueryParameters_js_1 = require_SASQueryParameters();
-    var constants_js_1 = require_constants14();
-    var utils_common_js_1 = require_utils_common();
-    function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
-      return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
+    exports2.EXPANSION_MAX = void 0;
+    exports2.expand = expand2;
+    var balanced_match_1 = require_commonjs18();
+    var escSlash = "\0SLASH" + Math.random() + "\0";
+    var escOpen = "\0OPEN" + Math.random() + "\0";
+    var escClose = "\0CLOSE" + Math.random() + "\0";
+    var escComma = "\0COMMA" + Math.random() + "\0";
+    var escPeriod = "\0PERIOD" + Math.random() + "\0";
+    var escSlashPattern = new RegExp(escSlash, "g");
+    var escOpenPattern = new RegExp(escOpen, "g");
+    var escClosePattern = new RegExp(escClose, "g");
+    var escCommaPattern = new RegExp(escComma, "g");
+    var escPeriodPattern = new RegExp(escPeriod, "g");
+    var slashPattern = /\\\\/g;
+    var openPattern = /\\{/g;
+    var closePattern = /\\}/g;
+    var commaPattern = /\\,/g;
+    var periodPattern = /\\./g;
+    exports2.EXPANSION_MAX = 1e5;
+    function numeric(str2) {
+      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
     }
-    function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
-      const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : constants_js_1.SERVICE_VERSION;
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.setImmutabilityPolicy && version < "2020-08-04") {
-        throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
-      }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.deleteVersion && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when provided 'x' permission.");
+    function escapeBraces(str2) {
+      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
+    }
+    function unescapeBraces(str2) {
+      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
+    }
+    function parseCommaParts(str2) {
+      if (!str2) {
+        return [""];
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.permanentDelete && version < "2019-10-10") {
-        throw RangeError("'version' must be >= '2019-10-10' when provided 'y' permission.");
+      const parts = [];
+      const m = (0, balanced_match_1.balanced)("{", "}", str2);
+      if (!m) {
+        return str2.split(",");
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.tag && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when provided 't' permission.");
+      const { pre, body, post } = m;
+      const p = pre.split(",");
+      p[p.length - 1] += "{" + body + "}";
+      const postParts = parseCommaParts(post);
+      if (post.length) {
+        ;
+        p[p.length - 1] += postParts.shift();
+        p.push.apply(p, postParts);
       }
-      if (accountSASSignatureValues.permissions && accountSASSignatureValues.permissions.filter && version < "2019-12-12") {
-        throw RangeError("'version' must be >= '2019-12-12' when provided 'f' permission.");
+      parts.push.apply(parts, p);
+      return parts;
+    }
+    function expand2(str2, options = {}) {
+      if (!str2) {
+        return [];
       }
-      if (accountSASSignatureValues.encryptionScope && version < "2020-12-06") {
-        throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
+      const { max = exports2.EXPANSION_MAX } = options;
+      if (str2.slice(0, 2) === "{}") {
+        str2 = "\\{\\}" + str2.slice(2);
       }
-      const parsedPermissions = AccountSASPermissions_js_1.AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString());
-      const parsedServices = AccountSASServices_js_1.AccountSASServices.parse(accountSASSignatureValues.services).toString();
-      const parsedResourceTypes = AccountSASResourceTypes_js_1.AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
-      let stringToSign;
-      if (version >= "2020-12-06") {
-        stringToSign = [
-          sharedKeyCredential.accountName,
-          parsedPermissions,
-          parsedServices,
-          parsedResourceTypes,
-          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
-          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
-          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
-          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
-          version,
-          accountSASSignatureValues.encryptionScope ? accountSASSignatureValues.encryptionScope : "",
-          ""
-          // Account SAS requires an additional newline character
-        ].join("\n");
+      return expand_(escapeBraces(str2), max, true).map(unescapeBraces);
+    }
+    function embrace(str2) {
+      return "{" + str2 + "}";
+    }
+    function isPadded(el) {
+      return /^-?0\d/.test(el);
+    }
+    function lte(i, y) {
+      return i <= y;
+    }
+    function gte6(i, y) {
+      return i >= y;
+    }
+    function expand_(str2, max, isTop) {
+      const expansions = [];
+      const m = (0, balanced_match_1.balanced)("{", "}", str2);
+      if (!m)
+        return [str2];
+      const pre = m.pre;
+      const post = m.post.length ? expand_(m.post, max, false) : [""];
+      if (/\$$/.test(m.pre)) {
+        for (let k = 0; k < post.length && k < max; k++) {
+          const expansion = pre + "{" + m.body + "}" + post[k];
+          expansions.push(expansion);
+        }
       } else {
-        stringToSign = [
-          sharedKeyCredential.accountName,
-          parsedPermissions,
-          parsedServices,
-          parsedResourceTypes,
-          accountSASSignatureValues.startsOn ? (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
-          (0, utils_common_js_1.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
-          accountSASSignatureValues.ipRange ? (0, SasIPRange_js_1.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
-          accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
-          version,
-          ""
-          // Account SAS requires an additional newline character
-        ].join("\n");
+        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+        const isSequence = isNumericSequence || isAlphaSequence;
+        const isOptions = m.body.indexOf(",") >= 0;
+        if (!isSequence && !isOptions) {
+          if (m.post.match(/,(?!,).*\}/)) {
+            str2 = m.pre + "{" + m.body + escClose + m.post;
+            return expand_(str2, max, true);
+          }
+          return [str2];
+        }
+        let n;
+        if (isSequence) {
+          n = m.body.split(/\.\./);
+        } else {
+          n = parseCommaParts(m.body);
+          if (n.length === 1 && n[0] !== void 0) {
+            n = expand_(n[0], max, false).map(embrace);
+            if (n.length === 1) {
+              return post.map((p) => m.pre + n[0] + p);
+            }
+          }
+        }
+        let N;
+        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
+          const x = numeric(n[0]);
+          const y = numeric(n[1]);
+          const width = Math.max(n[0].length, n[1].length);
+          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
+          let test = lte;
+          const reverse = y < x;
+          if (reverse) {
+            incr *= -1;
+            test = gte6;
+          }
+          const pad = n.some(isPadded);
+          N = [];
+          for (let i = x; test(i, y); i += incr) {
+            let c;
+            if (isAlphaSequence) {
+              c = String.fromCharCode(i);
+              if (c === "\\") {
+                c = "";
+              }
+            } else {
+              c = String(i);
+              if (pad) {
+                const need = width - c.length;
+                if (need > 0) {
+                  const z = new Array(need + 1).join("0");
+                  if (i < 0) {
+                    c = "-" + z + c.slice(1);
+                  } else {
+                    c = z + c;
+                  }
+                }
+              }
+            }
+            N.push(c);
+          }
+        } else {
+          N = [];
+          for (let j = 0; j < n.length; j++) {
+            N.push.apply(N, expand_(n[j], max, false));
+          }
+        }
+        for (let j = 0; j < N.length; j++) {
+          for (let k = 0; k < post.length && expansions.length < max; k++) {
+            const expansion = pre + N[j] + post[k];
+            if (!isTop || isSequence || expansion) {
+              expansions.push(expansion);
+            }
+          }
+        }
       }
-      const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
-      return {
-        sasQueryParameters: new SASQueryParameters_js_1.SASQueryParameters(version, signature, parsedPermissions.toString(), parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, accountSASSignatureValues.encryptionScope),
-        stringToSign
-      };
+      return expansions;
     }
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js
-var require_BlobServiceClient = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BlobServiceClient.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
+var require_assert_valid_pattern = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.BlobServiceClient = void 0;
-    var core_auth_1 = require_commonjs9();
-    var core_rest_pipeline_1 = require_commonjs8();
-    var core_util_1 = require_commonjs6();
-    var Pipeline_js_1 = require_Pipeline();
-    var ContainerClient_js_1 = require_ContainerClient();
-    var utils_common_js_1 = require_utils_common();
-    var StorageSharedKeyCredential_js_1 = require_StorageSharedKeyCredential();
-    var AnonymousCredential_js_1 = require_AnonymousCredential();
-    var utils_common_js_2 = require_utils_common();
-    var tracing_js_1 = require_tracing();
-    var BlobBatchClient_js_1 = require_BlobBatchClient();
-    var StorageClient_js_1 = require_StorageClient();
-    var AccountSASPermissions_js_1 = require_AccountSASPermissions();
-    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
-    var AccountSASServices_js_1 = require_AccountSASServices();
-    var BlobServiceClient = class _BlobServiceClient extends StorageClient_js_1.StorageClient {
-      /**
-       * serviceContext provided by protocol layer.
-       */
-      serviceContext;
-      /**
-       *
-       * Creates an instance of BlobServiceClient from connection string.
-       *
-       * @param connectionString - Account connection string or a SAS connection string of an Azure storage account.
-       *                                  [ Note - Account connection string can only be used in NODE.JS runtime. ]
-       *                                  Account connection string example -
-       *                                  `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net`
-       *                                  SAS connection string example -
-       *                                  `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString`
-       * @param options - Optional. Options to configure the HTTP pipeline.
-       */
-      static fromConnectionString(connectionString, options) {
-        options = options || {};
-        const extractedCreds = (0, utils_common_js_1.extractConnectionStringParts)(connectionString);
-        if (extractedCreds.kind === "AccountConnString") {
-          if (core_util_1.isNodeLike) {
-            const sharedKeyCredential = new StorageSharedKeyCredential_js_1.StorageSharedKeyCredential(extractedCreds.accountName, extractedCreds.accountKey);
-            if (!options.proxyOptions) {
-              options.proxyOptions = (0, core_rest_pipeline_1.getDefaultProxySettings)(extractedCreds.proxyUri);
+    exports2.assertValidPattern = void 0;
+    var MAX_PATTERN_LENGTH = 1024 * 64;
+    var assertValidPattern = (pattern) => {
+      if (typeof pattern !== "string") {
+        throw new TypeError("invalid pattern");
+      }
+      if (pattern.length > MAX_PATTERN_LENGTH) {
+        throw new TypeError("pattern is too long");
+      }
+    };
+    exports2.assertValidPattern = assertValidPattern;
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
+var require_brace_expressions = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.parseClass = void 0;
+    var posixClasses = {
+      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
+      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
+      "[:ascii:]": ["\\x00-\\x7f", false],
+      "[:blank:]": ["\\p{Zs}\\t", true],
+      "[:cntrl:]": ["\\p{Cc}", true],
+      "[:digit:]": ["\\p{Nd}", true],
+      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
+      "[:lower:]": ["\\p{Ll}", true],
+      "[:print:]": ["\\p{C}", true],
+      "[:punct:]": ["\\p{P}", true],
+      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
+      "[:upper:]": ["\\p{Lu}", true],
+      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
+      "[:xdigit:]": ["A-Fa-f0-9", false]
+    };
+    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
+    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var rangesToString = (ranges) => ranges.join("");
+    var parseClass = (glob2, position) => {
+      const pos = position;
+      if (glob2.charAt(pos) !== "[") {
+        throw new Error("not in a brace expression");
+      }
+      const ranges = [];
+      const negs = [];
+      let i = pos + 1;
+      let sawStart = false;
+      let uflag = false;
+      let escaping = false;
+      let negate = false;
+      let endPos = pos;
+      let rangeStart = "";
+      WHILE: while (i < glob2.length) {
+        const c = glob2.charAt(i);
+        if ((c === "!" || c === "^") && i === pos + 1) {
+          negate = true;
+          i++;
+          continue;
+        }
+        if (c === "]" && sawStart && !escaping) {
+          endPos = i + 1;
+          break;
+        }
+        sawStart = true;
+        if (c === "\\") {
+          if (!escaping) {
+            escaping = true;
+            i++;
+            continue;
+          }
+        }
+        if (c === "[" && !escaping) {
+          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
+            if (glob2.startsWith(cls, i)) {
+              if (rangeStart) {
+                return ["$.", false, glob2.length - pos, true];
+              }
+              i += cls.length;
+              if (neg)
+                negs.push(unip);
+              else
+                ranges.push(unip);
+              uflag = uflag || u;
+              continue WHILE;
             }
-            const pipeline = (0, Pipeline_js_1.newPipeline)(sharedKeyCredential, options);
-            return new _BlobServiceClient(extractedCreds.url, pipeline);
-          } else {
-            throw new Error("Account connection string is only supported in Node.js environment");
           }
-        } else if (extractedCreds.kind === "SASConnString") {
-          const pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
-          return new _BlobServiceClient(extractedCreds.url + "?" + extractedCreds.accountSas, pipeline);
-        } else {
-          throw new Error("Connection string must be either an Account connection string or a SAS connection string");
         }
-      }
-      constructor(url, credentialOrPipeline, options) {
-        let pipeline;
-        if ((0, Pipeline_js_1.isPipelineLike)(credentialOrPipeline)) {
-          pipeline = credentialOrPipeline;
-        } else if (core_util_1.isNodeLike && credentialOrPipeline instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential || credentialOrPipeline instanceof AnonymousCredential_js_1.AnonymousCredential || (0, core_auth_1.isTokenCredential)(credentialOrPipeline)) {
-          pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options);
-        } else {
-          pipeline = (0, Pipeline_js_1.newPipeline)(new AnonymousCredential_js_1.AnonymousCredential(), options);
+        escaping = false;
+        if (rangeStart) {
+          if (c > rangeStart) {
+            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
+          } else if (c === rangeStart) {
+            ranges.push(braceEscape(c));
+          }
+          rangeStart = "";
+          i++;
+          continue;
         }
-        super(url, pipeline);
-        this.serviceContext = this.storageClientContext.service;
-      }
-      /**
-       * Creates a {@link ContainerClient} object
-       *
-       * @param containerName - A container name
-       * @returns A new ContainerClient object for the given container name.
-       *
-       * Example usage:
-       *
-       * ```ts snippet:BlobServiceClientGetContainerClient
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * const containerClient = blobServiceClient.getContainerClient("");
-       * ```
-       */
-      getContainerClient(containerName) {
-        return new ContainerClient_js_1.ContainerClient((0, utils_common_js_1.appendToURLPath)(this.url, encodeURIComponent(containerName)), this.pipeline);
-      }
-      /**
-       * Create a Blob container. @see https://learn.microsoft.com/rest/api/storageservices/create-container
-       *
-       * @param containerName - Name of the container to create.
-       * @param options - Options to configure Container Create operation.
-       * @returns Container creation response and the corresponding container client.
-       */
-      async createContainer(containerName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-createContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(containerName);
-          const containerCreateResponse = await containerClient.create(updatedOptions);
-          return {
-            containerClient,
-            containerCreateResponse
-          };
-        });
-      }
-      /**
-       * Deletes a Blob container.
-       *
-       * @param containerName - Name of the container to delete.
-       * @param options - Options to configure Container Delete operation.
-       * @returns Container deletion response.
-       */
-      async deleteContainer(containerName, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-deleteContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(containerName);
-          return containerClient.delete(updatedOptions);
-        });
-      }
-      /**
-       * Restore a previously deleted Blob container.
-       * This API is only functional if Container Soft Delete is enabled for the storage account associated with the container.
-       *
-       * @param deletedContainerName - Name of the previously deleted container.
-       * @param deletedContainerVersion - Version of the previously deleted container, used to uniquely identify the deleted container.
-       * @param options - Options to configure Container Restore operation.
-       * @returns Container deletion response.
-       */
-      async undeleteContainer(deletedContainerName, deletedContainerVersion, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-undeleteContainer", options, async (updatedOptions) => {
-          const containerClient = this.getContainerClient(options.destinationContainerName || deletedContainerName);
-          const containerContext = containerClient["storageClientContext"].container;
-          const containerUndeleteResponse = (0, utils_common_js_2.assertResponse)(await containerContext.restore({
-            deletedContainerName,
-            deletedContainerVersion,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          return { containerClient, containerUndeleteResponse };
-        });
-      }
-      /**
-       * Gets the properties of a storage account’s Blob service, including properties
-       * for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
-       *
-       * @param options - Options to the Service Get Properties operation.
-       * @returns Response data for the Service Get Properties operation.
-       */
-      async getProperties(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getProperties({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+        if (glob2.startsWith("-]", i + 1)) {
+          ranges.push(braceEscape(c + "-"));
+          i += 2;
+          continue;
+        }
+        if (glob2.startsWith("-", i + 1)) {
+          rangeStart = c;
+          i += 2;
+          continue;
+        }
+        ranges.push(braceEscape(c));
+        i++;
       }
-      /**
-       * Sets properties for a storage account’s Blob service endpoint, including properties
-       * for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.
-       * @see https://learn.microsoft.com/rest/api/storageservices/set-blob-service-properties
-       *
-       * @param properties -
-       * @param options - Options to the Service Set Properties operation.
-       * @returns Response data for the Service Set Properties operation.
-       */
-      async setProperties(properties, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-setProperties", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.setProperties(properties, {
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (endPos < i) {
+        return ["", false, 0, false];
       }
-      /**
-       * Retrieves statistics related to replication for the Blob service. It is only
-       * available on the secondary location endpoint when read-access geo-redundant
-       * replication is enabled for the storage account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-stats
-       *
-       * @param options - Options to the Service Get Statistics operation.
-       * @returns Response data for the Service Get Statistics operation.
-       */
-      async getStatistics(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getStatistics", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getStatistics({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (!ranges.length && !negs.length) {
+        return ["$.", false, glob2.length - pos, true];
       }
-      /**
-       * The Get Account Information operation returns the sku name and account kind
-       * for the specified account.
-       * The Get Account Information operation is available on service versions beginning
-       * with version 2018-03-28.
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-account-information
-       *
-       * @param options - Options to the Service Get Account Info operation.
-       * @returns Response data for the Service Get Account Info operation.
-       */
-      async getAccountInfo(options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getAccountInfo", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.getAccountInfo({
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate) {
+        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
+        return [regexpEscape(r), false, endPos - pos, false];
       }
-      /**
-       * Returns a list of the containers under the specified account.
-       * @see https://learn.microsoft.com/rest/api/storageservices/list-containers2
-       *
-       * @param marker - A string value that identifies the portion of
-       *                        the list of containers to be returned with the next listing operation. The
-       *                        operation returns the continuationToken value within the response body if the
-       *                        listing operation did not return all containers remaining to be listed
-       *                        with the current page. The continuationToken value can be used as the value for
-       *                        the marker parameter in a subsequent call to request the next page of list
-       *                        items. The marker value is opaque to the client.
-       * @param options - Options to the Service List Container Segment operation.
-       * @returns Response data for the Service List Container Segment operation.
-       */
-      async listContainersSegment(marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-listContainersSegment", options, async (updatedOptions) => {
-          return (0, utils_common_js_2.assertResponse)(await this.serviceContext.listContainersSegment({
-            abortSignal: options.abortSignal,
-            marker,
-            ...options,
-            include: typeof options.include === "string" ? [options.include] : options.include,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-        });
+      const sranges = "[" + (negate ? "^" : "") + rangesToString(ranges) + "]";
+      const snegs = "[" + (negate ? "" : "^") + rangesToString(negs) + "]";
+      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
+      return [comb, uflag, endPos - pos, true];
+    };
+    exports2.parseClass = parseClass;
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
+var require_unescape = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.unescape = void 0;
+    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
+      if (magicalBraces) {
+        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
       }
-      /**
-       * The Filter Blobs operation enables callers to list blobs across all containers whose tags
-       * match a given search expression. Filter blobs searches across all containers within a
-       * storage account but can be scoped within the expression to a single container.
-       *
-       * @param tagFilterSqlExpression - The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                        The given expression must evaluate to true for a blob to be returned in the results.
-       *                                        The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                        however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async findBlobsByTagsSegment(tagFilterSqlExpression, marker, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-findBlobsByTagsSegment", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.filterBlobs({
-            abortSignal: options.abortSignal,
-            where: tagFilterSqlExpression,
-            marker,
-            maxPageSize: options.maxPageSize,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const wrappedResponse = {
-            ...response,
-            _response: response._response,
-            // _response is made non-enumerable
-            blobs: response.blobs.map((blob) => {
-              let tagValue = "";
-              if (blob.tags?.blobTagSet.length === 1) {
-                tagValue = blob.tags.blobTagSet[0].value;
-              }
-              return { ...blob, tags: (0, utils_common_js_1.toTags)(blob.tags), tagValue };
-            })
-          };
-          return wrappedResponse;
-        });
+      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
+    };
+    exports2.unescape = unescape;
+  }
+});
+
+// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
+var require_ast = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AST = void 0;
+    var brace_expressions_js_1 = require_brace_expressions();
+    var unescape_js_1 = require_unescape();
+    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
+    var isExtglobType = (c) => types.has(c);
+    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
+    var startNoDot = "(?!\\.)";
+    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
+    var justDots = /* @__PURE__ */ new Set(["..", "."]);
+    var reSpecials = new Set("().*{}+?[]^$\\!");
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var starNoEmpty = qmark + "+?";
+    var AST = class _AST {
+      type;
+      #root;
+      #hasMagic;
+      #uflag = false;
+      #parts = [];
+      #parent;
+      #parentIndex;
+      #negs;
+      #filledNegs = false;
+      #options;
+      #toString;
+      // set to true if it's an extglob with no children
+      // (which really means one child of '')
+      #emptyExt = false;
+      constructor(type2, parent, options = {}) {
+        this.type = type2;
+        if (type2)
+          this.#hasMagic = true;
+        this.#parent = parent;
+        this.#root = this.#parent ? this.#parent.#root : this;
+        this.#options = this.#root === this ? options : this.#root.#options;
+        this.#negs = this.#root === this ? [] : this.#root.#negs;
+        if (type2 === "!" && !this.#root.#filledNegs)
+          this.#negs.push(this);
+        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
       }
-      /**
-       * Returns an AsyncIterableIterator for ServiceFindBlobsByTagsSegmentResponse.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param marker - A string value that identifies the portion of
-       *                          the list of blobs to be returned with the next listing operation. The
-       *                          operation returns the continuationToken value within the response body if the
-       *                          listing operation did not return all blobs remaining to be listed
-       *                          with the current page. The continuationToken value can be used as the value for
-       *                          the marker parameter in a subsequent call to request the next page of list
-       *                          items. The marker value is opaque to the client.
-       * @param options - Options to find blobs by tags.
-       */
-      async *findBlobsByTagsSegments(tagFilterSqlExpression, marker, options = {}) {
-        let response;
-        if (!!marker || marker === void 0) {
-          do {
-            response = await this.findBlobsByTagsSegment(tagFilterSqlExpression, marker, options);
-            response.blobs = response.blobs || [];
-            marker = response.continuationToken;
-            yield response;
-          } while (marker);
+      get hasMagic() {
+        if (this.#hasMagic !== void 0)
+          return this.#hasMagic;
+        for (const p of this.#parts) {
+          if (typeof p === "string")
+            continue;
+          if (p.type || p.hasMagic)
+            return this.#hasMagic = true;
         }
+        return this.#hasMagic;
       }
-      /**
-       * Returns an AsyncIterableIterator for blobs.
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to findBlobsByTagsItems.
-       */
-      async *findBlobsByTagsItems(tagFilterSqlExpression, options = {}) {
-        let marker;
-        for await (const segment of this.findBlobsByTagsSegments(tagFilterSqlExpression, marker, options)) {
-          yield* segment.blobs;
+      // reconstructs the pattern
+      toString() {
+        if (this.#toString !== void 0)
+          return this.#toString;
+        if (!this.type) {
+          return this.#toString = this.#parts.map((p) => String(p)).join("");
+        } else {
+          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
         }
       }
-      /**
-       * Returns an async iterable iterator to find all blobs with specified tag
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the blobs in pages.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-blob-service-properties
-       *
-       * ```ts snippet:BlobServiceClientFindBlobsByTags
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * // Use for await to iterate the blobs
-       * let i = 1;
-       * for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
-       *   console.log(`Blob ${i++}: ${blob.name}`);
-       * }
-       *
-       * // Use iter.next() to iterate the blobs
-       * i = 1;
-       * const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Blob ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Use byPage() to iterate the blobs
-       * i = 1;
-       * for await (const page of blobServiceClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ maxPageSize: 20 })) {
-       *   for (const blob of page.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       *
-       * // Use paging with a marker
-       * i = 1;
-       * let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       * // Prints 2 blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = blobServiceClient
-       *   .findBlobsByTags("tagkey='tagvalue'")
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       *
-       * // Prints blob names
-       * if (response.blobs) {
-       *   for (const blob of response.blobs) {
-       *     console.log(`Blob ${i++}: ${blob.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param tagFilterSqlExpression -  The where parameter enables the caller to query blobs whose tags match a given expression.
-       *                                         The given expression must evaluate to true for a blob to be returned in the results.
-       *                                         The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter;
-       *                                         however, only a subset of the OData filter syntax is supported in the Blob service.
-       * @param options - Options to find blobs by tags.
-       */
-      findBlobsByTags(tagFilterSqlExpression, options = {}) {
-        const listSegmentOptions = {
-          ...options
-        };
-        const iter = this.findBlobsByTagsItems(tagFilterSqlExpression, listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.findBlobsByTagsSegments(tagFilterSqlExpression, settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
-          }
-        };
-      }
-      /**
-       * Returns an AsyncIterableIterator for ServiceListContainersSegmentResponses
-       *
-       * @param marker - A string value that identifies the portion of
-       *                        the list of containers to be returned with the next listing operation. The
-       *                        operation returns the continuationToken value within the response body if the
-       *                        listing operation did not return all containers remaining to be listed
-       *                        with the current page. The continuationToken value can be used as the value for
-       *                        the marker parameter in a subsequent call to request the next page of list
-       *                        items. The marker value is opaque to the client.
-       * @param options - Options to list containers operation.
-       */
-      async *listSegments(marker, options = {}) {
-        let listContainersSegmentResponse;
-        if (!!marker || marker === void 0) {
-          do {
-            listContainersSegmentResponse = await this.listContainersSegment(marker, options);
-            listContainersSegmentResponse.containerItems = listContainersSegmentResponse.containerItems || [];
-            marker = listContainersSegmentResponse.continuationToken;
-            yield await listContainersSegmentResponse;
-          } while (marker);
+      #fillNegs() {
+        if (this !== this.#root)
+          throw new Error("should only call on root");
+        if (this.#filledNegs)
+          return this;
+        this.toString();
+        this.#filledNegs = true;
+        let n;
+        while (n = this.#negs.pop()) {
+          if (n.type !== "!")
+            continue;
+          let p = n;
+          let pp = p.#parent;
+          while (pp) {
+            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
+              for (const part of n.#parts) {
+                if (typeof part === "string") {
+                  throw new Error("string part in extglob AST??");
+                }
+                part.copyIn(pp.#parts[i]);
+              }
+            }
+            p = pp;
+            pp = p.#parent;
+          }
         }
+        return this;
       }
-      /**
-       * Returns an AsyncIterableIterator for Container Items
-       *
-       * @param options - Options to list containers operation.
-       */
-      async *listItems(options = {}) {
-        let marker;
-        for await (const segment of this.listSegments(marker, options)) {
-          yield* segment.containerItems;
+      push(...parts) {
+        for (const p of parts) {
+          if (p === "")
+            continue;
+          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
+            throw new Error("invalid part: " + p);
+          }
+          this.#parts.push(p);
         }
       }
-      /**
-       * Returns an async iterable iterator to list all the containers
-       * under the specified account.
-       *
-       * .byPage() returns an async iterable iterator to list the containers in pages.
-       *
-       * ```ts snippet:BlobServiceClientListContainers
-       * import { BlobServiceClient } from "@azure/storage-blob";
-       * import { DefaultAzureCredential } from "@azure/identity";
-       *
-       * const account = "";
-       * const blobServiceClient = new BlobServiceClient(
-       *   `https://${account}.blob.core.windows.net`,
-       *   new DefaultAzureCredential(),
-       * );
-       *
-       * // Use for await to iterate the containers
-       * let i = 1;
-       * for await (const container of blobServiceClient.listContainers()) {
-       *   console.log(`Container ${i++}: ${container.name}`);
-       * }
-       *
-       * // Use iter.next() to iterate the containers
-       * i = 1;
-       * const iter = blobServiceClient.listContainers();
-       * let { value, done } = await iter.next();
-       * while (!done) {
-       *   console.log(`Container ${i++}: ${value.name}`);
-       *   ({ value, done } = await iter.next());
-       * }
-       *
-       * // Use byPage() to iterate the containers
-       * i = 1;
-       * for await (const page of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
-       *   for (const container of page.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       *
-       * // Use paging with a marker
-       * i = 1;
-       * let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
-       * let response = (await iterator.next()).value;
-       *
-       * // Prints 2 container names
-       * if (response.containerItems) {
-       *   for (const container of response.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       *
-       * // Gets next marker
-       * let marker = response.continuationToken;
-       * // Passing next marker as continuationToken
-       * iterator = blobServiceClient
-       *   .listContainers()
-       *   .byPage({ continuationToken: marker, maxPageSize: 10 });
-       * response = (await iterator.next()).value;
-       *
-       * // Prints 10 container names
-       * if (response.containerItems) {
-       *   for (const container of response.containerItems) {
-       *     console.log(`Container ${i++}: ${container.name}`);
-       *   }
-       * }
-       * ```
-       *
-       * @param options - Options to list containers.
-       * @returns An asyncIterableIterator that supports paging.
-       */
-      listContainers(options = {}) {
-        if (options.prefix === "") {
-          options.prefix = void 0;
+      toJSON() {
+        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
+        if (this.isStart() && !this.type)
+          ret.unshift([]);
+        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
+          ret.push({});
         }
-        const include = [];
-        if (options.includeDeleted) {
-          include.push("deleted");
+        return ret;
+      }
+      isStart() {
+        if (this.#root === this)
+          return true;
+        if (!this.#parent?.isStart())
+          return false;
+        if (this.#parentIndex === 0)
+          return true;
+        const p = this.#parent;
+        for (let i = 0; i < this.#parentIndex; i++) {
+          const pp = p.#parts[i];
+          if (!(pp instanceof _AST && pp.type === "!")) {
+            return false;
+          }
         }
-        if (options.includeMetadata) {
-          include.push("metadata");
+        return true;
+      }
+      isEnd() {
+        if (this.#root === this)
+          return true;
+        if (this.#parent?.type === "!")
+          return true;
+        if (!this.#parent?.isEnd())
+          return false;
+        if (!this.type)
+          return this.#parent?.isEnd();
+        const pl = this.#parent ? this.#parent.#parts.length : 0;
+        return this.#parentIndex === pl - 1;
+      }
+      copyIn(part) {
+        if (typeof part === "string")
+          this.push(part);
+        else
+          this.push(part.clone(this));
+      }
+      clone(parent) {
+        const c = new _AST(this.type, parent);
+        for (const p of this.#parts) {
+          c.copyIn(p);
         }
-        if (options.includeSystem) {
-          include.push("system");
+        return c;
+      }
+      static #parseAST(str2, ast, pos, opt) {
+        let escaping = false;
+        let inBrace = false;
+        let braceStart = -1;
+        let braceNeg = false;
+        if (ast.type === null) {
+          let i2 = pos;
+          let acc2 = "";
+          while (i2 < str2.length) {
+            const c = str2.charAt(i2++);
+            if (escaping || c === "\\") {
+              escaping = !escaping;
+              acc2 += c;
+              continue;
+            }
+            if (inBrace) {
+              if (i2 === braceStart + 1) {
+                if (c === "^" || c === "!") {
+                  braceNeg = true;
+                }
+              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
+                inBrace = false;
+              }
+              acc2 += c;
+              continue;
+            } else if (c === "[") {
+              inBrace = true;
+              braceStart = i2;
+              braceNeg = false;
+              acc2 += c;
+              continue;
+            }
+            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
+              ast.push(acc2);
+              acc2 = "";
+              const ext = new _AST(c, ast);
+              i2 = _AST.#parseAST(str2, ext, i2, opt);
+              ast.push(ext);
+              continue;
+            }
+            acc2 += c;
+          }
+          ast.push(acc2);
+          return i2;
         }
-        const listSegmentOptions = {
-          ...options,
-          ...include.length > 0 ? { include } : {}
-        };
-        const iter = this.listItems(listSegmentOptions);
-        return {
-          /**
-           * The next method, part of the iteration protocol
-           */
-          next() {
-            return iter.next();
-          },
-          /**
-           * The connection to the async iterator, part of the iteration protocol
-           */
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          /**
-           * Return an AsyncIterableIterator that works a page at a time
-           */
-          byPage: (settings = {}) => {
-            return this.listSegments(settings.continuationToken, {
-              maxPageSize: settings.maxPageSize,
-              ...listSegmentOptions
-            });
+        let i = pos + 1;
+        let part = new _AST(null, ast);
+        const parts = [];
+        let acc = "";
+        while (i < str2.length) {
+          const c = str2.charAt(i++);
+          if (escaping || c === "\\") {
+            escaping = !escaping;
+            acc += c;
+            continue;
           }
-        };
+          if (inBrace) {
+            if (i === braceStart + 1) {
+              if (c === "^" || c === "!") {
+                braceNeg = true;
+              }
+            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
+              inBrace = false;
+            }
+            acc += c;
+            continue;
+          } else if (c === "[") {
+            inBrace = true;
+            braceStart = i;
+            braceNeg = false;
+            acc += c;
+            continue;
+          }
+          if (isExtglobType(c) && str2.charAt(i) === "(") {
+            part.push(acc);
+            acc = "";
+            const ext = new _AST(c, part);
+            part.push(ext);
+            i = _AST.#parseAST(str2, ext, i, opt);
+            continue;
+          }
+          if (c === "|") {
+            part.push(acc);
+            acc = "";
+            parts.push(part);
+            part = new _AST(null, ast);
+            continue;
+          }
+          if (c === ")") {
+            if (acc === "" && ast.#parts.length === 0) {
+              ast.#emptyExt = true;
+            }
+            part.push(acc);
+            acc = "";
+            ast.push(...parts, part);
+            return i;
+          }
+          acc += c;
+        }
+        ast.type = null;
+        ast.#hasMagic = void 0;
+        ast.#parts = [str2.substring(pos - 1)];
+        return i;
       }
-      /**
-       * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential).
-       *
-       * Retrieves a user delegation key for the Blob service. This is only a valid operation when using
-       * bearer token authentication.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/get-user-delegation-key
-       *
-       * @param startsOn -      The start time for the user delegation SAS. Must be within 7 days of the current time
-       * @param expiresOn -     The end time for the user delegation SAS. Must be within 7 days of the current time
-       */
-      async getUserDelegationKey(startsOn, expiresOn, options = {}) {
-        return tracing_js_1.tracingClient.withSpan("BlobServiceClient-getUserDelegationKey", options, async (updatedOptions) => {
-          const response = (0, utils_common_js_2.assertResponse)(await this.serviceContext.getUserDelegationKey({
-            startsOn: (0, utils_common_js_2.truncatedISO8061Date)(startsOn, false),
-            expiresOn: (0, utils_common_js_2.truncatedISO8061Date)(expiresOn, false)
-          }, {
-            abortSignal: options.abortSignal,
-            tracingOptions: updatedOptions.tracingOptions
-          }));
-          const userDelegationKey = {
-            signedObjectId: response.signedObjectId,
-            signedTenantId: response.signedTenantId,
-            signedStartsOn: new Date(response.signedStartsOn),
-            signedExpiresOn: new Date(response.signedExpiresOn),
-            signedService: response.signedService,
-            signedVersion: response.signedVersion,
-            value: response.value
-          };
-          const res = {
-            _response: response._response,
-            requestId: response.requestId,
-            clientRequestId: response.clientRequestId,
-            version: response.version,
-            date: response.date,
-            errorCode: response.errorCode,
-            ...userDelegationKey
-          };
-          return res;
+      static fromGlob(pattern, options = {}) {
+        const ast = new _AST(null, void 0, options);
+        _AST.#parseAST(pattern, ast, 0, options);
+        return ast;
+      }
+      // returns the regular expression if there's magic, or the unescaped
+      // string if not.
+      toMMPattern() {
+        if (this !== this.#root)
+          return this.#root.toMMPattern();
+        const glob2 = this.toString();
+        const [re, body, hasMagic, uflag] = this.toRegExpSource();
+        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
+        if (!anyMagic) {
+          return body;
+        }
+        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
+        return Object.assign(new RegExp(`^${re}$`, flags), {
+          _src: re,
+          _glob: glob2
         });
       }
-      /**
-       * Creates a BlobBatchClient object to conduct batch operations.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/blob-batch
-       *
-       * @returns A new BlobBatchClient object for this service.
-       */
-      getBlobBatchClient() {
-        return new BlobBatchClient_js_1.BlobBatchClient(this.url, this.pipeline);
+      get options() {
+        return this.#options;
       }
-      /**
-       * Only available for BlobServiceClient constructed with a shared key credential.
-       *
-       * Generates a Blob account Shared Access Signature (SAS) URI based on the client properties
-       * and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
-       *
-       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
-       * @param permissions - Specifies the list of permissions to be associated with the SAS.
-       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
-       * @param options - Optional parameters.
-       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateAccountSasUrl(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
+      // returns the string match, the regexp source, whether there's magic
+      // in the regexp (so a regular expression is required) and whether or
+      // not the uflag is needed for the regular expression (for posix classes)
+      // TODO: instead of injecting the start/end at this point, just return
+      // the BODY of the regexp, along with the start/end portions suitable
+      // for binding the start/end in either a joined full-path makeRe context
+      // (where we bind to (^|/), or a standalone matchPart context (where
+      // we bind to ^, and not /).  Otherwise slashes get duped!
+      //
+      // In part-matching mode, the start is:
+      // - if not isStart: nothing
+      // - if traversal possible, but not allowed: ^(?!\.\.?$)
+      // - if dots allowed or not possible: ^
+      // - if dots possible and not allowed: ^(?!\.)
+      // end is:
+      // - if not isEnd(): nothing
+      // - else: $
+      //
+      // In full-path matching mode, we put the slash at the START of the
+      // pattern, so start is:
+      // - if first pattern: same as part-matching mode
+      // - if not isStart(): nothing
+      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
+      // - if dots allowed or not possible: /
+      // - if dots possible and not allowed: /(?!\.)
+      // end is:
+      // - if last pattern, same as part-matching mode
+      // - else nothing
+      //
+      // Always put the (?:$|/) on negated tails, though, because that has to be
+      // there to bind the end of the negated pattern portion, and it's easier to
+      // just stick it in now rather than try to inject it later in the middle of
+      // the pattern.
+      //
+      // We can just always return the same end, and leave it up to the caller
+      // to know whether it's going to be used joined or in parts.
+      // And, if the start is adjusted slightly, can do the same there:
+      // - if not isStart: nothing
+      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
+      // - if dots allowed or not possible: (?:/|^)
+      // - if dots possible and not allowed: (?:/|^)(?!\.)
+      //
+      // But it's better to have a simpler binding without a conditional, for
+      // performance, so probably better to return both start options.
+      //
+      // Then the caller just ignores the end if it's not the first pattern,
+      // and the start always gets applied.
+      //
+      // But that's always going to be $ if it's the ending pattern, or nothing,
+      // so the caller can just attach $ at the end of the pattern when building.
+      //
+      // So the todo is:
+      // - better detect what kind of start is needed
+      // - return both flavors of starting pattern
+      // - attach $ at the end of the pattern when creating the actual RegExp
+      //
+      // Ah, but wait, no, that all only applies to the root when the first pattern
+      // is not an extglob. If the first pattern IS an extglob, then we need all
+      // that dot prevention biz to live in the extglob portions, because eg
+      // +(*|.x*) can match .xy but not .yx.
+      //
+      // So, return the two flavors if it's #root and the first child is not an
+      // AST, otherwise leave it to the child AST to handle it, and there,
+      // use the (?:^|/) style of start binding.
+      //
+      // Even simplified further:
+      // - Since the start for a join is eg /(?!\.) and the start for a part
+      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
+      // or start or whatever) and prepend ^ or / at the Regexp construction.
+      toRegExpSource(allowDot) {
+        const dot = allowDot ?? !!this.#options.dot;
+        if (this.#root === this)
+          this.#fillNegs();
+        if (!this.type) {
+          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
+          const src = this.#parts.map((p) => {
+            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
+            this.#hasMagic = this.#hasMagic || hasMagic;
+            this.#uflag = this.#uflag || uflag;
+            return re;
+          }).join("");
+          let start2 = "";
+          if (this.isStart()) {
+            if (typeof this.#parts[0] === "string") {
+              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
+              if (!dotTravAllowed) {
+                const aps = addPatternStart;
+                const needNoTrav = (
+                  // dots are allowed, and the pattern starts with [ or .
+                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
+                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
+                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
+                );
+                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
+                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
+              }
+            }
+          }
+          let end = "";
+          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
+            end = "(?:$|\\/)";
+          }
+          const final2 = start2 + src + end;
+          return [
+            final2,
+            (0, unescape_js_1.unescape)(src),
+            this.#hasMagic = !!this.#hasMagic,
+            this.#uflag
+          ];
         }
-        if (expiresOn === void 0) {
-          const now = /* @__PURE__ */ new Date();
-          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+        const repeated = this.type === "*" || this.type === "+";
+        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
+        let body = this.#partsToRegExp(dot);
+        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
+          const s = this.toString();
+          this.#parts = [s];
+          this.type = null;
+          this.#hasMagic = void 0;
+          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
+        }
+        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
+        if (bodyDotAllowed === body) {
+          bodyDotAllowed = "";
+        }
+        if (bodyDotAllowed) {
+          body = `(?:${body})(?:${bodyDotAllowed})*?`;
+        }
+        let final = "";
+        if (this.type === "!" && this.#emptyExt) {
+          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
+        } else {
+          const close = this.type === "!" ? (
+            // !() must match something,but !(x) can match ''
+            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
+          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
+          final = start + body + close;
         }
-        const sas = (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParameters)({
-          permissions,
-          expiresOn,
-          resourceTypes,
-          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
-          ...options
-        }, this.credential).toString();
-        return (0, utils_common_js_1.appendToURLQuery)(this.url, sas);
+        return [
+          final,
+          (0, unescape_js_1.unescape)(body),
+          this.#hasMagic = !!this.#hasMagic,
+          this.#uflag
+        ];
       }
-      /**
-       * Only available for BlobServiceClient constructed with a shared key credential.
-       *
-       * Generates string to sign for a Blob account Shared Access Signature (SAS) URI based on
-       * the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.
-       *
-       * @see https://learn.microsoft.com/rest/api/storageservices/create-account-sas
-       *
-       * @param expiresOn - Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.
-       * @param permissions - Specifies the list of permissions to be associated with the SAS.
-       * @param resourceTypes - Specifies the resource types associated with the shared access signature.
-       * @param options - Optional parameters.
-       * @returns An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.
-       */
-      generateSasStringToSign(expiresOn, permissions = AccountSASPermissions_js_1.AccountSASPermissions.parse("r"), resourceTypes = "sco", options = {}) {
-        if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) {
-          throw RangeError("Can only generate the account SAS when the client is initialized with a shared key credential");
-        }
-        if (expiresOn === void 0) {
-          const now = /* @__PURE__ */ new Date();
-          expiresOn = new Date(now.getTime() + 3600 * 1e3);
+      #partsToRegExp(dot) {
+        return this.#parts.map((p) => {
+          if (typeof p === "string") {
+            throw new Error("string type in extglob ast??");
+          }
+          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
+          this.#uflag = this.#uflag || uflag;
+          return re;
+        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
+      }
+      static #parseGlob(glob2, hasMagic, noEmpty = false) {
+        let escaping = false;
+        let re = "";
+        let uflag = false;
+        for (let i = 0; i < glob2.length; i++) {
+          const c = glob2.charAt(i);
+          if (escaping) {
+            escaping = false;
+            re += (reSpecials.has(c) ? "\\" : "") + c;
+            continue;
+          }
+          if (c === "\\") {
+            if (i === glob2.length - 1) {
+              re += "\\\\";
+            } else {
+              escaping = true;
+            }
+            continue;
+          }
+          if (c === "[") {
+            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
+            if (consumed) {
+              re += src;
+              uflag = uflag || needUflag;
+              i += consumed - 1;
+              hasMagic = hasMagic || magic;
+              continue;
+            }
+          }
+          if (c === "*") {
+            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
+            hasMagic = true;
+            continue;
+          }
+          if (c === "?") {
+            re += qmark;
+            hasMagic = true;
+            continue;
+          }
+          re += regExpEscape(c);
         }
-        return (0, AccountSASSignatureValues_js_1.generateAccountSASQueryParametersInternal)({
-          permissions,
-          expiresOn,
-          resourceTypes,
-          services: AccountSASServices_js_1.AccountSASServices.parse("b").toString(),
-          ...options
-        }, this.credential).stringToSign;
+        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
       }
     };
-    exports2.BlobServiceClient = BlobServiceClient;
-  }
-});
-
-// node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js
-var require_BatchResponse = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/BatchResponse.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.AST = AST;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js
-var require_generatedModels = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/generatedModels.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
+var require_escape = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.KnownEncryptionAlgorithmType = void 0;
-    var KnownEncryptionAlgorithmType;
-    (function(KnownEncryptionAlgorithmType2) {
-      KnownEncryptionAlgorithmType2["AES256"] = "AES256";
-    })(KnownEncryptionAlgorithmType || (exports2.KnownEncryptionAlgorithmType = KnownEncryptionAlgorithmType = {}));
+    exports2.escape = void 0;
+    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
+      if (magicalBraces) {
+        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
+      }
+      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
+    };
+    exports2.escape = escape;
   }
 });
 
-// node_modules/@azure/storage-blob/dist/commonjs/index.js
-var require_commonjs17 = __commonJS({
-  "node_modules/@azure/storage-blob/dist/commonjs/index.js"(exports2) {
+// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js
+var require_commonjs20 = __commonJS({
+  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.logger = exports2.RestError = exports2.BaseRequestPolicy = exports2.StorageOAuthScopes = exports2.newPipeline = exports2.isPipelineLike = exports2.Pipeline = exports2.getBlobServiceAccountAudience = exports2.StorageBlobAudience = exports2.PremiumPageBlobTier = exports2.BlockBlobTier = exports2.generateBlobSASQueryParameters = exports2.generateAccountSASQueryParameters = void 0;
-    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
-    var core_rest_pipeline_1 = require_commonjs8();
-    Object.defineProperty(exports2, "RestError", { enumerable: true, get: function() {
-      return core_rest_pipeline_1.RestError;
-    } });
-    tslib_1.__exportStar(require_BlobServiceClient(), exports2);
-    tslib_1.__exportStar(require_Clients(), exports2);
-    tslib_1.__exportStar(require_ContainerClient(), exports2);
-    tslib_1.__exportStar(require_BlobLeaseClient(), exports2);
-    tslib_1.__exportStar(require_AccountSASPermissions(), exports2);
-    tslib_1.__exportStar(require_AccountSASResourceTypes(), exports2);
-    tslib_1.__exportStar(require_AccountSASServices(), exports2);
-    var AccountSASSignatureValues_js_1 = require_AccountSASSignatureValues();
-    Object.defineProperty(exports2, "generateAccountSASQueryParameters", { enumerable: true, get: function() {
-      return AccountSASSignatureValues_js_1.generateAccountSASQueryParameters;
-    } });
-    tslib_1.__exportStar(require_BlobBatch(), exports2);
-    tslib_1.__exportStar(require_BlobBatchClient(), exports2);
-    tslib_1.__exportStar(require_BatchResponse(), exports2);
-    tslib_1.__exportStar(require_BlobSASPermissions(), exports2);
-    var BlobSASSignatureValues_js_1 = require_BlobSASSignatureValues();
-    Object.defineProperty(exports2, "generateBlobSASQueryParameters", { enumerable: true, get: function() {
-      return BlobSASSignatureValues_js_1.generateBlobSASQueryParameters;
-    } });
-    tslib_1.__exportStar(require_StorageBrowserPolicyFactory2(), exports2);
-    tslib_1.__exportStar(require_ContainerSASPermissions(), exports2);
-    tslib_1.__exportStar(require_AnonymousCredential(), exports2);
-    tslib_1.__exportStar(require_Credential(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredential(), exports2);
-    var models_js_1 = require_models2();
-    Object.defineProperty(exports2, "BlockBlobTier", { enumerable: true, get: function() {
-      return models_js_1.BlockBlobTier;
-    } });
-    Object.defineProperty(exports2, "PremiumPageBlobTier", { enumerable: true, get: function() {
-      return models_js_1.PremiumPageBlobTier;
-    } });
-    Object.defineProperty(exports2, "StorageBlobAudience", { enumerable: true, get: function() {
-      return models_js_1.StorageBlobAudience;
-    } });
-    Object.defineProperty(exports2, "getBlobServiceAccountAudience", { enumerable: true, get: function() {
-      return models_js_1.getBlobServiceAccountAudience;
-    } });
-    var Pipeline_js_1 = require_Pipeline();
-    Object.defineProperty(exports2, "Pipeline", { enumerable: true, get: function() {
-      return Pipeline_js_1.Pipeline;
-    } });
-    Object.defineProperty(exports2, "isPipelineLike", { enumerable: true, get: function() {
-      return Pipeline_js_1.isPipelineLike;
-    } });
-    Object.defineProperty(exports2, "newPipeline", { enumerable: true, get: function() {
-      return Pipeline_js_1.newPipeline;
-    } });
-    Object.defineProperty(exports2, "StorageOAuthScopes", { enumerable: true, get: function() {
-      return Pipeline_js_1.StorageOAuthScopes;
-    } });
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
-    var RequestPolicy_js_1 = require_RequestPolicy();
-    Object.defineProperty(exports2, "BaseRequestPolicy", { enumerable: true, get: function() {
-      return RequestPolicy_js_1.BaseRequestPolicy;
-    } });
-    tslib_1.__exportStar(require_AnonymousCredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_CredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_StorageRetryPolicyFactory(), exports2);
-    tslib_1.__exportStar(require_StorageSharedKeyCredentialPolicy(), exports2);
-    tslib_1.__exportStar(require_SASQueryParameters(), exports2);
-    tslib_1.__exportStar(require_generatedModels(), exports2);
-    var log_js_1 = require_log5();
-    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
-      return log_js_1.logger;
-    } });
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/blob-upload.js
-var require_blob_upload = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/blob-upload.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
+    var brace_expansion_1 = require_commonjs19();
+    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
+    var ast_js_1 = require_ast();
+    var escape_js_1 = require_escape();
+    var unescape_js_1 = require_unescape();
+    var minimatch = (p, pattern, options = {}) => {
+      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+      if (!options.nocomment && pattern.charAt(0) === "#") {
+        return false;
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      return new Minimatch(pattern, options).match(p);
+    };
+    exports2.minimatch = minimatch;
+    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
+    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
+    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
+    var starDotExtTestNocase = (ext2) => {
+      ext2 = ext2.toLowerCase();
+      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
+    };
+    var starDotExtTestNocaseDot = (ext2) => {
+      ext2 = ext2.toLowerCase();
+      return (f) => f.toLowerCase().endsWith(ext2);
+    };
+    var starDotStarRE = /^\*+\.\*+$/;
+    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
+    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
+    var dotStarRE = /^\.\*+$/;
+    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
+    var starRE = /^\*+$/;
+    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
+    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
+    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
+    var qmarksTestNocase = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExt([$0]);
+      if (!ext2)
+        return noext;
+      ext2 = ext2.toLowerCase();
+      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
+    };
+    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExtDot([$0]);
+      if (!ext2)
+        return noext;
+      ext2 = ext2.toLowerCase();
+      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
+    };
+    var qmarksTestDot = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExtDot([$0]);
+      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
+    };
+    var qmarksTest = ([$0, ext2 = ""]) => {
+      const noext = qmarksTestNoExt([$0]);
+      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
+    };
+    var qmarksTestNoExt = ([$0]) => {
+      const len = $0.length;
+      return (f) => f.length === len && !f.startsWith(".");
+    };
+    var qmarksTestNoExtDot = ([$0]) => {
+      const len = $0.length;
+      return (f) => f.length === len && f !== "." && f !== "..";
+    };
+    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
+    var path3 = {
+      win32: { sep: "\\" },
+      posix: { sep: "/" }
+    };
+    exports2.sep = defaultPlatform === "win32" ? path3.win32.sep : path3.posix.sep;
+    exports2.minimatch.sep = exports2.sep;
+    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
+    var qmark = "[^/]";
+    var star = qmark + "*?";
+    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
+    exports2.filter = filter;
+    exports2.minimatch.filter = exports2.filter;
+    var ext = (a, b = {}) => Object.assign({}, a, b);
+    var defaults = (def) => {
+      if (!def || typeof def !== "object" || !Object.keys(def).length) {
+        return exports2.minimatch;
+      }
+      const orig = exports2.minimatch;
+      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
+      return Object.assign(m, {
+        Minimatch: class Minimatch extends orig.Minimatch {
+          constructor(pattern, options = {}) {
+            super(pattern, ext(def, options));
+          }
+          static defaults(options) {
+            return orig.defaults(ext(def, options)).Minimatch;
+          }
+        },
+        AST: class AST extends orig.AST {
+          /* c8 ignore start */
+          constructor(type2, parent, options = {}) {
+            super(type2, parent, ext(def, options));
+          }
+          /* c8 ignore stop */
+          static fromGlob(pattern, options = {}) {
+            return orig.AST.fromGlob(pattern, ext(def, options));
+          }
+        },
+        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
+        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
+        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
+        defaults: (options) => orig.defaults(ext(def, options)),
+        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
+        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
+        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
+        sep: orig.sep,
+        GLOBSTAR: exports2.GLOBSTAR
+      });
+    };
+    exports2.defaults = defaults;
+    exports2.minimatch.defaults = exports2.defaults;
+    var braceExpand = (pattern, options = {}) => {
+      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+        return [pattern];
+      }
+      return (0, brace_expansion_1.expand)(pattern);
+    };
+    exports2.braceExpand = braceExpand;
+    exports2.minimatch.braceExpand = exports2.braceExpand;
+    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
+    exports2.makeRe = makeRe;
+    exports2.minimatch.makeRe = exports2.makeRe;
+    var match = (list, pattern, options = {}) => {
+      const mm = new Minimatch(pattern, options);
+      list = list.filter((f) => mm.match(f));
+      if (mm.options.nonull && !list.length) {
+        list.push(pattern);
+      }
+      return list;
+    };
+    exports2.match = match;
+    exports2.minimatch.match = exports2.match;
+    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
+    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+    var Minimatch = class {
+      options;
+      set;
+      pattern;
+      windowsPathsNoEscape;
+      nonegate;
+      negate;
+      comment;
+      empty;
+      preserveMultipleSlashes;
+      partial;
+      globSet;
+      globParts;
+      nocase;
+      isWindows;
+      platform;
+      windowsNoMagicRoot;
+      regexp;
+      constructor(pattern, options = {}) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        options = options || {};
+        this.options = options;
+        this.pattern = pattern;
+        this.platform = options.platform || defaultPlatform;
+        this.isWindows = this.platform === "win32";
+        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          this.pattern = this.pattern.replace(/\\/g, "/");
+        }
+        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
+        this.regexp = null;
+        this.negate = false;
+        this.nonegate = !!options.nonegate;
+        this.comment = false;
+        this.empty = false;
+        this.partial = !!options.partial;
+        this.nocase = !!this.options.nocase;
+        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
+        this.globSet = [];
+        this.globParts = [];
+        this.set = [];
+        this.make();
+      }
+      hasMagic() {
+        if (this.options.magicalBraces && this.set.length > 1) {
+          return true;
+        }
+        for (const pattern of this.set) {
+          for (const part of pattern) {
+            if (typeof part !== "string")
+              return true;
+          }
+        }
+        return false;
+      }
+      debug(..._2) {
+      }
+      make() {
+        const pattern = this.pattern;
+        const options = this.options;
+        if (!options.nocomment && pattern.charAt(0) === "#") {
+          this.comment = true;
+          return;
+        }
+        if (!pattern) {
+          this.empty = true;
+          return;
+        }
+        this.parseNegate();
+        this.globSet = [...new Set(this.braceExpand())];
+        if (options.debug) {
+          this.debug = (...args) => console.error(...args);
+        }
+        this.debug(this.pattern, this.globSet);
+        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
+        this.globParts = this.preprocess(rawGlobParts);
+        this.debug(this.pattern, this.globParts);
+        let set2 = this.globParts.map((s, _2, __) => {
+          if (this.isWindows && this.windowsNoMagicRoot) {
+            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
+            const isDrive = /^[a-z]:/i.test(s[0]);
+            if (isUNC) {
+              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
+            } else if (isDrive) {
+              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
+            }
+          }
+          return s.map((ss) => this.parse(ss));
+        });
+        this.debug(this.pattern, set2);
+        this.set = set2.filter((s) => s.indexOf(false) === -1);
+        if (this.isWindows) {
+          for (let i = 0; i < this.set.length; i++) {
+            const p = this.set[i];
+            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
+              p[2] = "?";
+            }
+          }
+        }
+        this.debug(this.pattern, this.set);
+      }
+      // various transforms to equivalent pattern sets that are
+      // faster to process in a filesystem walk.  The goal is to
+      // eliminate what we can, and push all ** patterns as far
+      // to the right as possible, even if it increases the number
+      // of patterns that we have to process.
+      preprocess(globParts) {
+        if (this.options.noglobstar) {
+          for (let i = 0; i < globParts.length; i++) {
+            for (let j = 0; j < globParts[i].length; j++) {
+              if (globParts[i][j] === "**") {
+                globParts[i][j] = "*";
+              }
+            }
+          }
+        }
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          globParts = this.firstPhasePreProcess(globParts);
+          globParts = this.secondPhasePreProcess(globParts);
+        } else if (optimizationLevel >= 1) {
+          globParts = this.levelOneOptimize(globParts);
+        } else {
+          globParts = this.adjascentGlobstarOptimize(globParts);
+        }
+        return globParts;
+      }
+      // just get rid of adjascent ** portions
+      adjascentGlobstarOptimize(globParts) {
+        return globParts.map((parts) => {
+          let gs = -1;
+          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+            let i = gs;
+            while (parts[i + 1] === "**") {
+              i++;
+            }
+            if (i !== gs) {
+              parts.splice(gs, i - gs);
+            }
+          }
+          return parts;
+        });
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
+      // get rid of adjascent ** and resolve .. portions
+      levelOneOptimize(globParts) {
+        return globParts.map((parts) => {
+          parts = parts.reduce((set2, part) => {
+            const prev = set2[set2.length - 1];
+            if (part === "**" && prev === "**") {
+              return set2;
+            }
+            if (part === "..") {
+              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
+                set2.pop();
+                return set2;
+              }
+            }
+            set2.push(part);
+            return set2;
+          }, []);
+          return parts.length === 0 ? [""] : parts;
         });
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      levelTwoFileOptimize(parts) {
+        if (!Array.isArray(parts)) {
+          parts = this.slashSplit(parts);
+        }
+        let didSomething = false;
+        do {
+          didSomething = false;
+          if (!this.preserveMultipleSlashes) {
+            for (let i = 1; i < parts.length - 1; i++) {
+              const p = parts[i];
+              if (i === 1 && p === "" && parts[0] === "")
+                continue;
+              if (p === "." || p === "") {
+                didSomething = true;
+                parts.splice(i, 1);
+                i--;
+              }
+            }
+            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+              didSomething = true;
+              parts.pop();
+            }
+          }
+          let dd = 0;
+          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+            const p = parts[dd - 1];
+            if (p && p !== "." && p !== ".." && p !== "**") {
+              didSomething = true;
+              parts.splice(dd - 1, 2);
+              dd -= 2;
+            }
+          }
+        } while (didSomething);
+        return parts.length === 0 ? [""] : parts;
+      }
+      // First phase: single-pattern processing
+      // 
 is 1 or more portions
+      //  is 1 or more portions
+      // 

is any portion other than ., .., '', or ** + // is . or '' + // + // **/.. is *brutal* for filesystem walking performance, because + // it effectively resets the recursive walk each time it occurs, + // and ** cannot be reduced out by a .. pattern part like a regexp + // or most strings (other than .., ., and '') can be. + // + //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} + //

// -> 
/
+      // 
/

/../ ->

/
+      // **/**/ -> **/
+      //
+      // **/*/ -> */**/ <== not valid because ** doesn't follow
+      // this WOULD be allowed if ** did follow symlinks, or * didn't
+      firstPhasePreProcess(globParts) {
+        let didSomething = false;
+        do {
+          didSomething = false;
+          for (let parts of globParts) {
+            let gs = -1;
+            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+              let gss = gs;
+              while (parts[gss + 1] === "**") {
+                gss++;
+              }
+              if (gss > gs) {
+                parts.splice(gs + 1, gss - gs);
+              }
+              let next = parts[gs + 1];
+              const p = parts[gs + 2];
+              const p2 = parts[gs + 3];
+              if (next !== "..")
+                continue;
+              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
+                continue;
+              }
+              didSomething = true;
+              parts.splice(gs, 1);
+              const other = parts.slice(0);
+              other[gs] = "**";
+              globParts.push(other);
+              gs--;
+            }
+            if (!this.preserveMultipleSlashes) {
+              for (let i = 1; i < parts.length - 1; i++) {
+                const p = parts[i];
+                if (i === 1 && p === "" && parts[0] === "")
+                  continue;
+                if (p === "." || p === "") {
+                  didSomething = true;
+                  parts.splice(i, 1);
+                  i--;
+                }
+              }
+              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+                didSomething = true;
+                parts.pop();
+              }
+            }
+            let dd = 0;
+            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+              const p = parts[dd - 1];
+              if (p && p !== "." && p !== ".." && p !== "**") {
+                didSomething = true;
+                const needDot = dd === 1 && parts[dd + 1] === "**";
+                const splin = needDot ? ["."] : [];
+                parts.splice(dd - 1, 2, ...splin);
+                if (parts.length === 0)
+                  parts.push("");
+                dd -= 2;
+              }
+            }
+          }
+        } while (didSomething);
+        return globParts;
+      }
+      // second phase: multi-pattern dedupes
+      // {
/*/,
/

/} ->

/*/
+      // {
/,
/} -> 
/
+      // {
/**/,
/} -> 
/**/
+      //
+      // {
/**/,
/**/

/} ->

/**/
+      // ^-- not valid because ** doens't follow symlinks
+      secondPhasePreProcess(globParts) {
+        for (let i = 0; i < globParts.length - 1; i++) {
+          for (let j = i + 1; j < globParts.length; j++) {
+            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
+            if (matched) {
+              globParts[i] = [];
+              globParts[j] = matched;
+              break;
+            }
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        return globParts.filter((gs) => gs.length);
+      }
+      partsMatch(a, b, emptyGSMatch = false) {
+        let ai = 0;
+        let bi = 0;
+        let result = [];
+        let which6 = "";
+        while (ai < a.length && bi < b.length) {
+          if (a[ai] === b[bi]) {
+            result.push(which6 === "b" ? b[bi] : a[ai]);
+            ai++;
+            bi++;
+          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
+            result.push(a[ai]);
+            ai++;
+          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
+            result.push(b[bi]);
+            bi++;
+          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
+            if (which6 === "b")
+              return false;
+            which6 = "a";
+            result.push(a[ai]);
+            ai++;
+            bi++;
+          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
+            if (which6 === "a")
+              return false;
+            which6 = "b";
+            result.push(b[bi]);
+            ai++;
+            bi++;
+          } else {
+            return false;
           }
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        return a.length === b.length && result;
+      }
+      parseNegate() {
+        if (this.nonegate)
+          return;
+        const pattern = this.pattern;
+        let negate = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+          negate = !negate;
+          negateOffset++;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadZipToBlobStorage = void 0;
-    var storage_blob_1 = require_commonjs17();
-    var config_1 = require_config();
-    var core14 = __importStar2(require_core());
-    var crypto2 = __importStar2(require("crypto"));
-    var stream = __importStar2(require("stream"));
-    var errors_1 = require_errors3();
-    function uploadZipToBlobStorage(authenticatedUploadURL, zipUploadStream) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        let uploadByteCount = 0;
-        let lastProgressTime = Date.now();
-        const abortController = new AbortController();
-        const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve2, reject) => {
-            const timer = setInterval(() => {
-              if (Date.now() - lastProgressTime > interval) {
-                reject(new Error("Upload progress stalled."));
+        if (negateOffset)
+          this.pattern = pattern.slice(negateOffset);
+        this.negate = negate;
+      }
+      // set partial to true to test if, for example,
+      // "/a/b" matches the start of "/*/b/*/d"
+      // Partial means, if you run out of file before you run
+      // out of pattern, then that's fine, as long as all
+      // the parts match.
+      matchOne(file, pattern, partial = false) {
+        const options = this.options;
+        if (this.isWindows) {
+          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
+          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
+          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
+          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
+          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
+          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
+          if (typeof fdi === "number" && typeof pdi === "number") {
+            const [fd, pd] = [file[fdi], pattern[pdi]];
+            if (fd.toLowerCase() === pd.toLowerCase()) {
+              pattern[pdi] = fd;
+              if (pdi > fdi) {
+                pattern = pattern.slice(pdi);
+              } else if (fdi > pdi) {
+                file = file.slice(fdi);
               }
-            }, interval);
-            abortController.signal.addEventListener("abort", () => {
-              clearInterval(timer);
-              resolve2();
-            });
-          });
-        });
-        const maxConcurrency = (0, config_1.getConcurrency)();
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL);
-        const blockBlobClient = blobClient.getBlockBlobClient();
-        core14.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`);
-        const uploadCallback = (progress) => {
-          core14.info(`Uploaded bytes ${progress.loadedBytes}`);
-          uploadByteCount = progress.loadedBytes;
-          lastProgressTime = Date.now();
-        };
-        const options = {
-          blobHTTPHeaders: { blobContentType: "zip" },
-          onProgress: uploadCallback,
-          abortSignal: abortController.signal
-        };
-        let sha256Hash = void 0;
-        const uploadStream = new stream.PassThrough();
-        const hashStream = crypto2.createHash("sha256");
-        zipUploadStream.pipe(uploadStream);
-        zipUploadStream.pipe(hashStream).setEncoding("hex");
-        core14.info("Beginning upload of artifact content to blob storage");
-        try {
-          yield Promise.race([
-            blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options),
-            chunkTimer((0, config_1.getUploadChunkTimeout)())
-          ]);
-        } catch (error3) {
-          if (errors_1.NetworkError.isNetworkErrorCode(error3 === null || error3 === void 0 ? void 0 : error3.code)) {
-            throw new errors_1.NetworkError(error3 === null || error3 === void 0 ? void 0 : error3.code);
+            }
           }
-          throw error3;
-        } finally {
-          abortController.abort();
         }
-        core14.info("Finished uploading artifact content to blob storage!");
-        hashStream.end();
-        sha256Hash = hashStream.read();
-        core14.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`);
-        if (uploadByteCount === 0) {
-          core14.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`);
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+          file = this.levelTwoFileOptimize(file);
         }
-        return {
-          uploadSize: uploadByteCount,
-          sha256Hash
-        };
-      });
-    }
-    exports2.uploadZipToBlobStorage = uploadZipToBlobStorage;
-  }
-});
-
-// node_modules/readdir-glob/node_modules/minimatch/lib/path.js
-var require_path = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) {
-    var isWindows = typeof process === "object" && process && process.platform === "win32";
-    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
-  }
-});
-
-// node_modules/balanced-match/index.js
-var require_balanced_match = __commonJS({
-  "node_modules/balanced-match/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports = balanced;
-    function balanced(a, b, str2) {
-      if (a instanceof RegExp) a = maybeMatch(a, str2);
-      if (b instanceof RegExp) b = maybeMatch(b, str2);
-      var r = range(a, b, str2);
-      return r && {
-        start: r[0],
-        end: r[1],
-        pre: str2.slice(0, r[0]),
-        body: str2.slice(r[0] + a.length, r[1]),
-        post: str2.slice(r[1] + b.length)
-      };
-    }
-    function maybeMatch(reg, str2) {
-      var m = str2.match(reg);
-      return m ? m[0] : null;
-    }
-    balanced.range = range;
-    function range(a, b, str2) {
-      var begs, beg, left, right, result;
-      var ai = str2.indexOf(a);
-      var bi = str2.indexOf(b, ai + 1);
-      var i = ai;
-      if (ai >= 0 && bi > 0) {
-        begs = [];
-        left = str2.length;
-        while (i >= 0 && !result) {
-          if (i == ai) {
-            begs.push(i);
-            ai = str2.indexOf(a, i + 1);
-          } else if (begs.length == 1) {
-            result = [begs.pop(), bi];
+        this.debug("matchOne", this, { file, pattern });
+        this.debug("matchOne", file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+          this.debug("matchOne loop");
+          var p = pattern[pi];
+          var f = file[fi];
+          this.debug(pattern, p, f);
+          if (p === false) {
+            return false;
+          }
+          if (p === exports2.GLOBSTAR) {
+            this.debug("GLOBSTAR", [pattern, p, f]);
+            var fr = fi;
+            var pr = pi + 1;
+            if (pr === pl) {
+              this.debug("** at the end");
+              for (; fi < fl; fi++) {
+                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
+                  return false;
+              }
+              return true;
+            }
+            while (fr < fl) {
+              var swallowee = file[fr];
+              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
+              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                this.debug("globstar found match!", fr, fl, swallowee);
+                return true;
+              } else {
+                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
+                  this.debug("dot detected!", file, fr, pattern, pr);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue");
+                fr++;
+              }
+            }
+            if (partial) {
+              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
+              if (fr === fl) {
+                return true;
+              }
+            }
+            return false;
+          }
+          let hit;
+          if (typeof p === "string") {
+            hit = f === p;
+            this.debug("string match", p, f, hit);
           } else {
-            beg = begs.pop();
-            if (beg < left) {
-              left = beg;
-              right = bi;
+            hit = p.test(f);
+            this.debug("pattern match", p, f, hit);
+          }
+          if (!hit)
+            return false;
+        }
+        if (fi === fl && pi === pl) {
+          return true;
+        } else if (fi === fl) {
+          return partial;
+        } else if (pi === pl) {
+          return fi === fl - 1 && file[fi] === "";
+        } else {
+          throw new Error("wtf?");
+        }
+      }
+      braceExpand() {
+        return (0, exports2.braceExpand)(this.pattern, this.options);
+      }
+      parse(pattern) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        const options = this.options;
+        if (pattern === "**")
+          return exports2.GLOBSTAR;
+        if (pattern === "")
+          return "";
+        let m;
+        let fastTest = null;
+        if (m = pattern.match(starRE)) {
+          fastTest = options.dot ? starTestDot : starTest;
+        } else if (m = pattern.match(starDotExtRE)) {
+          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
+        } else if (m = pattern.match(qmarksRE)) {
+          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
+        } else if (m = pattern.match(starDotStarRE)) {
+          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
+        } else if (m = pattern.match(dotStarRE)) {
+          fastTest = dotStarTest;
+        }
+        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
+        if (fastTest && typeof re === "object") {
+          Reflect.defineProperty(re, "test", { value: fastTest });
+        }
+        return re;
+      }
+      makeRe() {
+        if (this.regexp || this.regexp === false)
+          return this.regexp;
+        const set2 = this.set;
+        if (!set2.length) {
+          this.regexp = false;
+          return this.regexp;
+        }
+        const options = this.options;
+        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
+        const flags = new Set(options.nocase ? ["i"] : []);
+        let re = set2.map((pattern) => {
+          const pp = pattern.map((p) => {
+            if (p instanceof RegExp) {
+              for (const f of p.flags.split(""))
+                flags.add(f);
             }
-            bi = str2.indexOf(b, i + 1);
+            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
+          });
+          pp.forEach((p, i) => {
+            const next = pp[i + 1];
+            const prev = pp[i - 1];
+            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
+              return;
+            }
+            if (prev === void 0) {
+              if (next !== void 0 && next !== exports2.GLOBSTAR) {
+                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
+              } else {
+                pp[i] = twoStar;
+              }
+            } else if (next === void 0) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
+            } else if (next !== exports2.GLOBSTAR) {
+              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
+              pp[i + 1] = exports2.GLOBSTAR;
+            }
+          });
+          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
+          if (this.partial && filtered.length >= 1) {
+            const prefixes = [];
+            for (let i = 1; i <= filtered.length; i++) {
+              prefixes.push(filtered.slice(0, i).join("/"));
+            }
+            return "(?:" + prefixes.join("|") + ")";
           }
-          i = ai < bi && ai >= 0 ? ai : bi;
+          return filtered.join("/");
+        }).join("|");
+        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
+        re = "^" + open + re + close + "$";
+        if (this.partial) {
+          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
         }
-        if (begs.length) {
-          result = [left, right];
+        if (this.negate)
+          re = "^(?!" + re + ").+$";
+        try {
+          this.regexp = new RegExp(re, [...flags].join(""));
+        } catch (ex) {
+          this.regexp = false;
         }
+        return this.regexp;
       }
-      return result;
-    }
-  }
-});
-
-// node_modules/readdir-glob/node_modules/brace-expansion/index.js
-var require_brace_expansion = __commonJS({
-  "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) {
-    var balanced = require_balanced_match();
-    module2.exports = expandTop;
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    function numeric(str2) {
-      return parseInt(str2, 10) == str2 ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2)
-        return [""];
-      var parts = [];
-      var m = balanced("{", "}", str2);
-      if (!m)
-        return str2.split(",");
-      var pre = m.pre;
-      var body = m.body;
-      var post = m.post;
-      var p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      var postParts = parseCommaParts(post);
-      if (post.length) {
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
-      }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expandTop(str2) {
-      if (!str2)
-        return [];
-      if (str2.substr(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.substr(2);
+      slashSplit(p) {
+        if (this.preserveMultipleSlashes) {
+          return p.split("/");
+        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
+          return ["", ...p.split(/\/+/)];
+        } else {
+          return p.split(/\/+/);
+        }
       }
-      return expand2(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand2(str2, isTop) {
-      var expansions = [];
-      var m = balanced("{", "}", str2);
-      if (!m) return [str2];
-      var pre = m.pre;
-      var post = m.post.length ? expand2(m.post, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (var k = 0; k < post.length; k++) {
-          var expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
+      match(f, partial = this.partial) {
+        this.debug("match", f, this.pattern);
+        if (this.comment) {
+          return false;
         }
-      } else {
-        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        var isSequence = isNumericSequence || isAlphaSequence;
-        var isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand2(str2);
-          }
-          return [str2];
+        if (this.empty) {
+          return f === "";
         }
-        var n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1) {
-            n = expand2(n[0], false).map(embrace);
-            if (n.length === 1) {
-              return post.map(function(p) {
-                return m.pre + n[0] + p;
-              });
-            }
+        if (f === "/" && partial) {
+          return true;
+        }
+        const options = this.options;
+        if (this.isWindows) {
+          f = f.split("\\").join("/");
+        }
+        const ff = this.slashSplit(f);
+        this.debug(this.pattern, "split", ff);
+        const set2 = this.set;
+        this.debug(this.pattern, "set", set2);
+        let filename = ff[ff.length - 1];
+        if (!filename) {
+          for (let i = ff.length - 2; !filename && i >= 0; i--) {
+            filename = ff[i];
           }
         }
-        var N;
-        if (isSequence) {
-          var x = numeric(n[0]);
-          var y = numeric(n[1]);
-          var width = Math.max(n[0].length, n[1].length);
-          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
-          var test = lte;
-          var reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
+        for (let i = 0; i < set2.length; i++) {
+          const pattern = set2[i];
+          let file = ff;
+          if (options.matchBase && pattern.length === 1) {
+            file = [filename];
           }
-          var pad = n.some(isPadded);
-          N = [];
-          for (var i = x; test(i, y); i += incr) {
-            var c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\")
-                c = "";
-            } else {
-              c = String(i);
-              if (pad) {
-                var need = width - c.length;
-                if (need > 0) {
-                  var z = new Array(need + 1).join("0");
-                  if (i < 0)
-                    c = "-" + z + c.slice(1);
-                  else
-                    c = z + c;
-                }
-              }
+          const hit = this.matchOne(file, pattern, partial);
+          if (hit) {
+            if (options.flipNegate) {
+              return true;
             }
-            N.push(c);
-          }
-        } else {
-          N = [];
-          for (var j = 0; j < n.length; j++) {
-            N.push.apply(N, expand2(n[j], false));
+            return !this.negate;
           }
         }
-        for (var j = 0; j < N.length; j++) {
-          for (var k = 0; k < post.length; k++) {
-            var expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion)
-              expansions.push(expansion);
-          }
+        if (options.flipNegate) {
+          return false;
         }
+        return this.negate;
       }
-      return expansions;
-    }
+      static defaults(def) {
+        return exports2.minimatch.defaults(def).Minimatch;
+      }
+    };
+    exports2.Minimatch = Minimatch;
+    var ast_js_2 = require_ast();
+    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
+      return ast_js_2.AST;
+    } });
+    var escape_js_2 = require_escape();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return escape_js_2.escape;
+    } });
+    var unescape_js_2 = require_unescape();
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return unescape_js_2.unescape;
+    } });
+    exports2.minimatch.AST = ast_js_1.AST;
+    exports2.minimatch.Minimatch = Minimatch;
+    exports2.minimatch.escape = escape_js_1.escape;
+    exports2.minimatch.unescape = unescape_js_1.unescape;
   }
 });
 
-// node_modules/readdir-glob/node_modules/minimatch/minimatch.js
-var require_minimatch = __commonJS({
-  "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) {
-    var minimatch = module2.exports = (p, pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
-      }
-      return new Minimatch(pattern, options).match(p);
-    };
-    module2.exports = minimatch;
-    var path3 = require_path();
-    minimatch.sep = path3.sep;
-    var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    minimatch.GLOBSTAR = GLOBSTAR;
-    var expand2 = require_brace_expansion();
-    var plTypes = {
-      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
-      "?": { open: "(?:", close: ")?" },
-      "+": { open: "(?:", close: ")+" },
-      "*": { open: "(?:", close: ")*" },
-      "@": { open: "(?:", close: ")" }
-    };
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var charSet = (s) => s.split("").reduce((set2, c) => {
-      set2[c] = true;
-      return set2;
-    }, {});
-    var reSpecials = charSet("().*{}+?[]^$\\!");
-    var addPatternStartSet = charSet("[.(");
-    var slashSplit = /\/+/;
-    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
-    var ext = (a, b = {}) => {
-      const t = {};
-      Object.keys(a).forEach((k) => t[k] = a[k]);
-      Object.keys(b).forEach((k) => t[k] = b[k]);
-      return t;
+// node_modules/lru-cache/dist/commonjs/index.js
+var require_commonjs21 = __commonJS({
+  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.LRUCache = void 0;
+    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
+    var warned = /* @__PURE__ */ new Set();
+    var PROCESS = typeof process === "object" && !!process ? process : {};
+    var emitWarning = (msg, type2, code, fn) => {
+      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
     };
-    minimatch.defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return minimatch;
-      }
-      const orig = minimatch;
-      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
-      m.Minimatch = class Minimatch extends orig.Minimatch {
-        constructor(pattern, options) {
-          super(pattern, ext(def, options));
+    var AC = globalThis.AbortController;
+    var AS = globalThis.AbortSignal;
+    if (typeof AC === "undefined") {
+      AS = class AbortSignal {
+        onabort;
+        _onabort = [];
+        reason;
+        aborted = false;
+        addEventListener(_2, fn) {
+          this._onabort.push(fn);
         }
       };
-      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
-      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
-      m.defaults = (options) => orig.defaults(ext(def, options));
-      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
-      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
-      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
-      return m;
+      AC = class AbortController {
+        constructor() {
+          warnACPolyfill();
+        }
+        signal = new AS();
+        abort(reason) {
+          if (this.signal.aborted)
+            return;
+          this.signal.reason = reason;
+          this.signal.aborted = true;
+          for (const fn of this.signal._onabort) {
+            fn(reason);
+          }
+          this.signal.onabort?.(reason);
+        }
+      };
+      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
+      const warnACPolyfill = () => {
+        if (!printACPolyfillWarning)
+          return;
+        printACPolyfillWarning = false;
+        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
+      };
+    }
+    var shouldWarn = (code) => !warned.has(code);
+    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
+    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
+    var ZeroArray = class extends Array {
+      constructor(size) {
+        super(size);
+        this.fill(0);
+      }
     };
-    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
-    var braceExpand = (pattern, options = {}) => {
-      assertValidPattern(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
+    var Stack = class _Stack {
+      heap;
+      length;
+      // private constructor
+      static #constructing = false;
+      static create(max) {
+        const HeapCls = getUintArray(max);
+        if (!HeapCls)
+          return [];
+        _Stack.#constructing = true;
+        const s = new _Stack(max, HeapCls);
+        _Stack.#constructing = false;
+        return s;
+      }
+      constructor(max, HeapCls) {
+        if (!_Stack.#constructing) {
+          throw new TypeError("instantiate Stack using Stack.create(n)");
+        }
+        this.heap = new HeapCls(max);
+        this.length = 0;
+      }
+      push(n) {
+        this.heap[this.length++] = n;
+      }
+      pop() {
+        return this.heap[--this.length];
       }
-      return expand2(pattern);
     };
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
+    var LRUCache = class _LRUCache {
+      // options that cannot be changed without disaster
+      #max;
+      #maxSize;
+      #dispose;
+      #onInsert;
+      #disposeAfter;
+      #fetchMethod;
+      #memoMethod;
+      /**
+       * {@link LRUCache.OptionsBase.ttl}
+       */
+      ttl;
+      /**
+       * {@link LRUCache.OptionsBase.ttlResolution}
+       */
+      ttlResolution;
+      /**
+       * {@link LRUCache.OptionsBase.ttlAutopurge}
+       */
+      ttlAutopurge;
+      /**
+       * {@link LRUCache.OptionsBase.updateAgeOnGet}
+       */
+      updateAgeOnGet;
+      /**
+       * {@link LRUCache.OptionsBase.updateAgeOnHas}
+       */
+      updateAgeOnHas;
+      /**
+       * {@link LRUCache.OptionsBase.allowStale}
+       */
+      allowStale;
+      /**
+       * {@link LRUCache.OptionsBase.noDisposeOnSet}
+       */
+      noDisposeOnSet;
+      /**
+       * {@link LRUCache.OptionsBase.noUpdateTTL}
+       */
+      noUpdateTTL;
+      /**
+       * {@link LRUCache.OptionsBase.maxEntrySize}
+       */
+      maxEntrySize;
+      /**
+       * {@link LRUCache.OptionsBase.sizeCalculation}
+       */
+      sizeCalculation;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
+       */
+      noDeleteOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
+       */
+      noDeleteOnStaleGet;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
+       */
+      allowStaleOnFetchAbort;
+      /**
+       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
+       */
+      allowStaleOnFetchRejection;
+      /**
+       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
+       */
+      ignoreFetchAbort;
+      // computed properties
+      #size;
+      #calculatedSize;
+      #keyMap;
+      #keyList;
+      #valList;
+      #next;
+      #prev;
+      #head;
+      #tail;
+      #free;
+      #disposed;
+      #sizes;
+      #starts;
+      #ttls;
+      #hasDispose;
+      #hasFetchMethod;
+      #hasDisposeAfter;
+      #hasOnInsert;
+      /**
+       * Do not call this method unless you need to inspect the
+       * inner workings of the cache.  If anything returned by this
+       * object is modified in any way, strange breakage may occur.
+       *
+       * These fields are private for a reason!
+       *
+       * @internal
+       */
+      static unsafeExposeInternals(c) {
+        return {
+          // properties
+          starts: c.#starts,
+          ttls: c.#ttls,
+          sizes: c.#sizes,
+          keyMap: c.#keyMap,
+          keyList: c.#keyList,
+          valList: c.#valList,
+          next: c.#next,
+          prev: c.#prev,
+          get head() {
+            return c.#head;
+          },
+          get tail() {
+            return c.#tail;
+          },
+          free: c.#free,
+          // methods
+          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
+          backgroundFetch: (k, index, options, context2) => c.#backgroundFetch(k, index, options, context2),
+          moveToTail: (index) => c.#moveToTail(index),
+          indexes: (options) => c.#indexes(options),
+          rindexes: (options) => c.#rindexes(options),
+          isStale: (index) => c.#isStale(index)
+        };
+      }
+      // Protected read-only members
+      /**
+       * {@link LRUCache.OptionsBase.max} (read-only)
+       */
+      get max() {
+        return this.#max;
+      }
+      /**
+       * {@link LRUCache.OptionsBase.maxSize} (read-only)
+       */
+      get maxSize() {
+        return this.#maxSize;
+      }
+      /**
+       * The total computed size of items in the cache (read-only)
+       */
+      get calculatedSize() {
+        return this.#calculatedSize;
+      }
+      /**
+       * The number of items stored in the cache (read-only)
+       */
+      get size() {
+        return this.#size;
       }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
+      /**
+       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
+       */
+      get fetchMethod() {
+        return this.#fetchMethod;
       }
-    };
-    var SUBPARSE = /* @__PURE__ */ Symbol("subparse");
-    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
-    minimatch.match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+      get memoMethod() {
+        return this.#memoMethod;
       }
-      return list;
-    };
-    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
-    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
-    var Minimatch = class {
-      constructor(pattern, options) {
-        assertValidPattern(pattern);
-        if (!options) options = {};
-        this.options = options;
-        this.set = [];
-        this.pattern = pattern;
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
-        }
-        this.regexp = null;
-        this.negate = false;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.make();
+      /**
+       * {@link LRUCache.OptionsBase.dispose} (read-only)
+       */
+      get dispose() {
+        return this.#dispose;
       }
-      debug() {
+      /**
+       * {@link LRUCache.OptionsBase.onInsert} (read-only)
+       */
+      get onInsert() {
+        return this.#onInsert;
       }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
+      /**
+       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
+       */
+      get disposeAfter() {
+        return this.#disposeAfter;
+      }
+      constructor(options) {
+        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
+        if (max !== 0 && !isPosInt(max)) {
+          throw new TypeError("max option must be a nonnegative integer");
         }
-        if (!pattern) {
-          this.empty = true;
-          return;
+        const UintArray = max ? getUintArray(max) : Array;
+        if (!UintArray) {
+          throw new Error("invalid max value: " + max);
         }
-        this.parseNegate();
-        let set2 = this.globSet = this.braceExpand();
-        if (options.debug) this.debug = (...args) => console.error(...args);
-        this.debug(this.pattern, set2);
-        set2 = this.globParts = set2.map((s) => s.split(slashSplit));
-        this.debug(this.pattern, set2);
-        set2 = set2.map((s, si, set3) => s.map(this.parse, this));
-        this.debug(this.pattern, set2);
-        set2 = set2.filter((s) => s.indexOf(false) === -1);
-        this.debug(this.pattern, set2);
-        this.set = set2;
-      }
-      parseNegate() {
-        if (this.options.nonegate) return;
-        const pattern = this.pattern;
-        let negate = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate = !negate;
-          negateOffset++;
+        this.#max = max;
+        this.#maxSize = maxSize;
+        this.maxEntrySize = maxEntrySize || this.#maxSize;
+        this.sizeCalculation = sizeCalculation;
+        if (this.sizeCalculation) {
+          if (!this.#maxSize && !this.maxEntrySize) {
+            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
+          }
+          if (typeof this.sizeCalculation !== "function") {
+            throw new TypeError("sizeCalculation set to non-function");
+          }
         }
-        if (negateOffset) this.pattern = pattern.slice(negateOffset);
-        this.negate = negate;
-      }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial) {
-        var options = this.options;
-        this.debug(
-          "matchOne",
-          { "this": this, file, pattern }
-        );
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) return false;
-          if (p === GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) return true;
+        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
+          throw new TypeError("memoMethod must be a function if defined");
+        }
+        this.#memoMethod = memoMethod;
+        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
+          throw new TypeError("fetchMethod must be a function if specified");
+        }
+        this.#fetchMethod = fetchMethod;
+        this.#hasFetchMethod = !!fetchMethod;
+        this.#keyMap = /* @__PURE__ */ new Map();
+        this.#keyList = new Array(max).fill(void 0);
+        this.#valList = new Array(max).fill(void 0);
+        this.#next = new UintArray(max);
+        this.#prev = new UintArray(max);
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free = Stack.create(max);
+        this.#size = 0;
+        this.#calculatedSize = 0;
+        if (typeof dispose === "function") {
+          this.#dispose = dispose;
+        }
+        if (typeof onInsert === "function") {
+          this.#onInsert = onInsert;
+        }
+        if (typeof disposeAfter === "function") {
+          this.#disposeAfter = disposeAfter;
+          this.#disposed = [];
+        } else {
+          this.#disposeAfter = void 0;
+          this.#disposed = void 0;
+        }
+        this.#hasDispose = !!this.#dispose;
+        this.#hasOnInsert = !!this.#onInsert;
+        this.#hasDisposeAfter = !!this.#disposeAfter;
+        this.noDisposeOnSet = !!noDisposeOnSet;
+        this.noUpdateTTL = !!noUpdateTTL;
+        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
+        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
+        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
+        this.ignoreFetchAbort = !!ignoreFetchAbort;
+        if (this.maxEntrySize !== 0) {
+          if (this.#maxSize !== 0) {
+            if (!isPosInt(this.#maxSize)) {
+              throw new TypeError("maxSize must be a positive integer if specified");
             }
-            return false;
           }
-          var hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
-          } else {
-            hit = f.match(p);
-            this.debug("pattern match", p, f, hit);
+          if (!isPosInt(this.maxEntrySize)) {
+            throw new TypeError("maxEntrySize must be a positive integer if specified");
           }
-          if (!hit) return false;
+          this.#initializeSizeTracking();
         }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
+        this.allowStale = !!allowStale;
+        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
+        this.updateAgeOnGet = !!updateAgeOnGet;
+        this.updateAgeOnHas = !!updateAgeOnHas;
+        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
+        this.ttlAutopurge = !!ttlAutopurge;
+        this.ttl = ttl || 0;
+        if (this.ttl) {
+          if (!isPosInt(this.ttl)) {
+            throw new TypeError("ttl must be a positive integer if specified");
+          }
+          this.#initializeTTLTracking();
+        }
+        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
+          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        }
+        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
+          const code = "LRU_CACHE_UNBOUNDED";
+          if (shouldWarn(code)) {
+            warned.add(code);
+            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
+            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
+          }
         }
-        throw new Error("wtf?");
       }
-      braceExpand() {
-        return braceExpand(this.pattern, this.options);
+      /**
+       * Return the number of ms left in the item's TTL. If item is not in cache,
+       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
+       */
+      getRemainingTTL(key) {
+        return this.#keyMap.has(key) ? Infinity : 0;
       }
-      parse(pattern, isSub) {
-        assertValidPattern(pattern);
-        const options = this.options;
-        if (pattern === "**") {
-          if (!options.noglobstar)
-            return GLOBSTAR;
-          else
-            pattern = "*";
-        }
-        if (pattern === "") return "";
-        let re = "";
-        let hasMagic = false;
-        let escaping = false;
-        const patternListStack = [];
-        const negativeLists = [];
-        let stateChar;
-        let inClass = false;
-        let reClassStart = -1;
-        let classStart = -1;
-        let cs;
-        let pl;
-        let sp;
-        let dotTravAllowed = pattern.charAt(0) === ".";
-        let dotFileAllowed = options.dot || dotTravAllowed;
-        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
-        const clearStateChar = () => {
-          if (stateChar) {
-            switch (stateChar) {
-              case "*":
-                re += star;
-                hasMagic = true;
-                break;
-              case "?":
-                re += qmark;
-                hasMagic = true;
-                break;
-              default:
-                re += "\\" + stateChar;
-                break;
+      #initializeTTLTracking() {
+        const ttls = new ZeroArray(this.#max);
+        const starts = new ZeroArray(this.#max);
+        this.#ttls = ttls;
+        this.#starts = starts;
+        this.#setItemTTL = (index, ttl, start = perf.now()) => {
+          starts[index] = ttl !== 0 ? start : 0;
+          ttls[index] = ttl;
+          if (ttl !== 0 && this.ttlAutopurge) {
+            const t = setTimeout(() => {
+              if (this.#isStale(index)) {
+                this.#delete(this.#keyList[index], "expire");
+              }
+            }, ttl + 1);
+            if (t.unref) {
+              t.unref();
             }
-            this.debug("clearStateChar %j %j", stateChar, re);
-            stateChar = false;
           }
         };
-        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
-          this.debug("%s	%s %s %j", pattern, i, re, c);
-          if (escaping) {
-            if (c === "/") {
-              return false;
-            }
-            if (reSpecials[c]) {
-              re += "\\";
-            }
-            re += c;
-            escaping = false;
-            continue;
+        this.#updateItemAge = (index) => {
+          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
+        };
+        this.#statusTTL = (status, index) => {
+          if (ttls[index]) {
+            const ttl = ttls[index];
+            const start = starts[index];
+            if (!ttl || !start)
+              return;
+            status.ttl = ttl;
+            status.start = start;
+            status.now = cachedNow || getNow();
+            const age = status.now - start;
+            status.remainingTTL = ttl - age;
           }
-          switch (c) {
-            /* istanbul ignore next */
-            case "/": {
-              return false;
-            }
-            case "\\":
-              if (inClass && pattern.charAt(i + 1) === "-") {
-                re += c;
-                continue;
-              }
-              clearStateChar();
-              escaping = true;
-              continue;
-            // the various stateChar values
-            // for the "extglob" stuff.
-            case "?":
-            case "*":
-            case "+":
-            case "@":
-            case "!":
-              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
-              if (inClass) {
-                this.debug("  in class");
-                if (c === "!" && i === classStart + 1) c = "^";
-                re += c;
-                continue;
-              }
-              this.debug("call clearStateChar %j", stateChar);
-              clearStateChar();
-              stateChar = c;
-              if (options.noext) clearStateChar();
-              continue;
-            case "(": {
-              if (inClass) {
-                re += "(";
-                continue;
-              }
-              if (!stateChar) {
-                re += "\\(";
-                continue;
-              }
-              const plEntry = {
-                type: stateChar,
-                start: i - 1,
-                reStart: re.length,
-                open: plTypes[stateChar].open,
-                close: plTypes[stateChar].close
-              };
-              this.debug(this.pattern, "	", plEntry);
-              patternListStack.push(plEntry);
-              re += plEntry.open;
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              this.debug("plType %j %j", stateChar, re);
-              stateChar = false;
-              continue;
-            }
-            case ")": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\)";
-                continue;
-              }
-              patternListStack.pop();
-              clearStateChar();
-              hasMagic = true;
-              pl = plEntry;
-              re += pl.close;
-              if (pl.type === "!") {
-                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
-              }
-              continue;
-            }
-            case "|": {
-              const plEntry = patternListStack[patternListStack.length - 1];
-              if (inClass || !plEntry) {
-                re += "\\|";
-                continue;
-              }
-              clearStateChar();
-              re += "|";
-              if (plEntry.start === 0 && plEntry.type !== "!") {
-                dotTravAllowed = true;
-                re += subPatternStart(pattern.slice(i + 1));
-              }
-              continue;
+        };
+        let cachedNow = 0;
+        const getNow = () => {
+          const n = perf.now();
+          if (this.ttlResolution > 0) {
+            cachedNow = n;
+            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
+            if (t.unref) {
+              t.unref();
             }
-            // these are mostly the same in regexp and glob
-            case "[":
-              clearStateChar();
-              if (inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              inClass = true;
-              classStart = i;
-              reClassStart = re.length;
-              re += c;
-              continue;
-            case "]":
-              if (i === classStart + 1 || !inClass) {
-                re += "\\" + c;
-                continue;
-              }
-              cs = pattern.substring(classStart + 1, i);
-              try {
-                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
-                re += c;
-              } catch (er) {
-                re = re.substring(0, reClassStart) + "(?:$.)";
+          }
+          return n;
+        };
+        this.getRemainingTTL = (key) => {
+          const index = this.#keyMap.get(key);
+          if (index === void 0) {
+            return 0;
+          }
+          const ttl = ttls[index];
+          const start = starts[index];
+          if (!ttl || !start) {
+            return Infinity;
+          }
+          const age = (cachedNow || getNow()) - start;
+          return ttl - age;
+        };
+        this.#isStale = (index) => {
+          const s = starts[index];
+          const t = ttls[index];
+          return !!t && !!s && (cachedNow || getNow()) - s > t;
+        };
+      }
+      // conditionally set private methods related to TTL
+      #updateItemAge = () => {
+      };
+      #statusTTL = () => {
+      };
+      #setItemTTL = () => {
+      };
+      /* c8 ignore stop */
+      #isStale = () => false;
+      #initializeSizeTracking() {
+        const sizes = new ZeroArray(this.#max);
+        this.#calculatedSize = 0;
+        this.#sizes = sizes;
+        this.#removeItemSize = (index) => {
+          this.#calculatedSize -= sizes[index];
+          sizes[index] = 0;
+        };
+        this.#requireSize = (k, v, size, sizeCalculation) => {
+          if (this.#isBackgroundFetch(v)) {
+            return 0;
+          }
+          if (!isPosInt(size)) {
+            if (sizeCalculation) {
+              if (typeof sizeCalculation !== "function") {
+                throw new TypeError("sizeCalculation must be a function");
               }
-              hasMagic = true;
-              inClass = false;
-              continue;
-            default:
-              clearStateChar();
-              if (reSpecials[c] && !(c === "^" && inClass)) {
-                re += "\\";
+              size = sizeCalculation(v, k);
+              if (!isPosInt(size)) {
+                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
               }
-              re += c;
-              break;
+            } else {
+              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
+            }
+          }
+          return size;
+        };
+        this.#addItemSize = (index, size, status) => {
+          sizes[index] = size;
+          if (this.#maxSize) {
+            const maxSize = this.#maxSize - sizes[index];
+            while (this.#calculatedSize > maxSize) {
+              this.#evict(true);
+            }
+          }
+          this.#calculatedSize += sizes[index];
+          if (status) {
+            status.entrySize = size;
+            status.totalCalculatedSize = this.#calculatedSize;
           }
+        };
+      }
+      #removeItemSize = (_i) => {
+      };
+      #addItemSize = (_i, _s, _st) => {
+      };
+      #requireSize = (_k, _v, size, sizeCalculation) => {
+        if (size || sizeCalculation) {
+          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
         }
-        if (inClass) {
-          cs = pattern.slice(classStart + 1);
-          sp = this.parse(cs, SUBPARSE);
-          re = re.substring(0, reClassStart) + "\\[" + sp[0];
-          hasMagic = hasMagic || sp[1];
+        return 0;
+      };
+      *#indexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#tail; true; ) {
+            if (!this.#isValidIndex(i)) {
+              break;
+            }
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#head) {
+              break;
+            } else {
+              i = this.#prev[i];
+            }
+          }
         }
-        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
-          let tail;
-          tail = re.slice(pl.reStart + pl.open.length);
-          this.debug("setting tail", re, pl);
-          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_2, $1, $2) => {
-            if (!$2) {
-              $2 = "\\";
+      }
+      *#rindexes({ allowStale = this.allowStale } = {}) {
+        if (this.#size) {
+          for (let i = this.#head; true; ) {
+            if (!this.#isValidIndex(i)) {
+              break;
             }
-            return $1 + $1 + $2 + "|";
-          });
-          this.debug("tail=%j\n   %s", tail, tail, pl, re);
-          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
-          hasMagic = true;
-          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
+            if (allowStale || !this.#isStale(i)) {
+              yield i;
+            }
+            if (i === this.#tail) {
+              break;
+            } else {
+              i = this.#next[i];
+            }
+          }
         }
-        clearStateChar();
-        if (escaping) {
-          re += "\\\\";
+      }
+      #isValidIndex(index) {
+        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
+      }
+      /**
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from most recently used to least recently used.
+       */
+      *entries() {
+        for (const i of this.#indexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
+          }
         }
-        const addPatternStart = addPatternStartSet[re.charAt(0)];
-        for (let n = negativeLists.length - 1; n > -1; n--) {
-          const nl = negativeLists[n];
-          const nlBefore = re.slice(0, nl.reStart);
-          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
-          let nlAfter = re.slice(nl.reEnd);
-          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
-          const closeParensBefore = nlBefore.split(")").length;
-          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
-          let cleanAfter = nlAfter;
-          for (let i = 0; i < openParensBefore; i++) {
-            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
+      }
+      /**
+       * Inverse order version of {@link LRUCache.entries}
+       *
+       * Return a generator yielding `[key, value]` pairs,
+       * in order from least recently used to most recently used.
+       */
+      *rentries() {
+        for (const i of this.#rindexes()) {
+          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield [this.#keyList[i], this.#valList[i]];
           }
-          nlAfter = cleanAfter;
-          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
-          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
         }
-        if (re !== "" && hasMagic) {
-          re = "(?=.)" + re;
+      }
+      /**
+       * Return a generator yielding the keys in the cache,
+       * in order from most recently used to least recently used.
+       */
+      *keys() {
+        for (const i of this.#indexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
+          }
         }
-        if (addPatternStart) {
-          re = patternStart() + re;
+      }
+      /**
+       * Inverse order version of {@link LRUCache.keys}
+       *
+       * Return a generator yielding the keys in the cache,
+       * in order from least recently used to most recently used.
+       */
+      *rkeys() {
+        for (const i of this.#rindexes()) {
+          const k = this.#keyList[i];
+          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield k;
+          }
         }
-        if (isSub === SUBPARSE) {
-          return [re, hasMagic];
+      }
+      /**
+       * Return a generator yielding the values in the cache,
+       * in order from most recently used to least recently used.
+       */
+      *values() {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
+          }
         }
-        if (options.nocase && !hasMagic) {
-          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
+      }
+      /**
+       * Inverse order version of {@link LRUCache.values}
+       *
+       * Return a generator yielding the values in the cache,
+       * in order from least recently used to most recently used.
+       */
+      *rvalues() {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
+            yield this.#valList[i];
+          }
         }
-        if (!hasMagic) {
-          return globUnescape(pattern);
+      }
+      /**
+       * Iterating over the cache itself yields the same results as
+       * {@link LRUCache.entries}
+       */
+      [Symbol.iterator]() {
+        return this.entries();
+      }
+      /**
+       * A String value that is used in the creation of the default string
+       * description of an object. Called by the built-in method
+       * `Object.prototype.toString`.
+       */
+      [Symbol.toStringTag] = "LRUCache";
+      /**
+       * Find a value for which the supplied fn method returns a truthy value,
+       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
+       */
+      find(fn, getOptions = {}) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          if (fn(value, this.#keyList[i], this)) {
+            return this.get(this.#keyList[i], getOptions);
+          }
         }
-        const flags = options.nocase ? "i" : "";
-        try {
-          return Object.assign(new RegExp("^" + re + "$", flags), {
-            _glob: pattern,
-            _src: re
-          });
-        } catch (er) {
-          return new RegExp("$.");
+      }
+      /**
+       * Call the supplied function on each item in the cache, in order from most
+       * recently used to least recently used.
+       *
+       * `fn` is called as `fn(value, key, cache)`.
+       *
+       * If `thisp` is provided, function will be called in the `this`-context of
+       * the provided object, or the cache if no `thisp` object is provided.
+       *
+       * Does not update age or recenty of use, or iterate over stale values.
+       */
+      forEach(fn, thisp = this) {
+        for (const i of this.#indexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
         }
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false) return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
+      /**
+       * The same as {@link LRUCache.forEach} but items are iterated over in
+       * reverse order.  (ie, less recently used items are iterated over first.)
+       */
+      rforEach(fn, thisp = this) {
+        for (const i of this.#rindexes()) {
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0)
+            continue;
+          fn.call(thisp, value, this.#keyList[i], this);
         }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = options.nocase ? "i" : "";
-        let re = set2.map((pattern) => {
-          pattern = pattern.map(
-            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
-          ).reduce((set3, p) => {
-            if (!(set3[set3.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
-              set3.push(p);
-            }
-            return set3;
-          }, []);
-          pattern.forEach((p, i) => {
-            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
-              return;
-            }
-            if (i === 0) {
-              if (pattern.length > 1) {
-                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
-              } else {
-                pattern[i] = twoStar;
-              }
-            } else if (i === pattern.length - 1) {
-              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
-            } else {
-              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
-              pattern[i + 1] = GLOBSTAR;
-            }
-          });
-          return pattern.filter((p) => p !== GLOBSTAR).join("/");
-        }).join("|");
-        re = "^(?:" + re + ")$";
-        if (this.negate) re = "^(?!" + re + ").*$";
-        try {
-          this.regexp = new RegExp(re, flags);
-        } catch (ex) {
-          this.regexp = false;
+      }
+      /**
+       * Delete any stale entries. Returns true if anything was removed,
+       * false otherwise.
+       */
+      purgeStale() {
+        let deleted = false;
+        for (const i of this.#rindexes({ allowStale: true })) {
+          if (this.#isStale(i)) {
+            this.#delete(this.#keyList[i], "expire");
+            deleted = true;
+          }
         }
-        return this.regexp;
+        return deleted;
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) return false;
-        if (this.empty) return f === "";
-        if (f === "/" && partial) return true;
-        const options = this.options;
-        if (path3.sep !== "/") {
-          f = f.split(path3.sep).join("/");
+      /**
+       * Get the extended info about a given entry, to get its value, size, and
+       * TTL info simultaneously. Returns `undefined` if the key is not present.
+       *
+       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
+       * serialization, the `start` value is always the current timestamp, and the
+       * `ttl` is a calculated remaining time to live (negative if expired).
+       *
+       * Always returns stale values, if their info is found in the cache, so be
+       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
+       * if relevant.
+       */
+      info(key) {
+        const i = this.#keyMap.get(key);
+        if (i === void 0)
+          return void 0;
+        const v = this.#valList[i];
+        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+        if (value === void 0)
+          return void 0;
+        const entry = { value };
+        if (this.#ttls && this.#starts) {
+          const ttl = this.#ttls[i];
+          const start = this.#starts[i];
+          if (ttl && start) {
+            const remain = ttl - (perf.now() - start);
+            entry.ttl = remain;
+            entry.start = Date.now();
+          }
         }
-        f = f.split(slashSplit);
-        this.debug(this.pattern, "split", f);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename;
-        for (let i = f.length - 1; i >= 0; i--) {
-          filename = f[i];
-          if (filename) break;
+        if (this.#sizes) {
+          entry.size = this.#sizes[i];
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = f;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
+        return entry;
+      }
+      /**
+       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
+       * passed to {@link LRUCache#load}.
+       *
+       * The `start` fields are calculated relative to a portable `Date.now()`
+       * timestamp, even if `performance.now()` is available.
+       *
+       * Stale entries are always included in the `dump`, even if
+       * {@link LRUCache.OptionsBase.allowStale} is false.
+       *
+       * Note: this returns an actual array, not a generator, so it can be more
+       * easily passed around.
+       */
+      dump() {
+        const arr = [];
+        for (const i of this.#indexes({ allowStale: true })) {
+          const key = this.#keyList[i];
+          const v = this.#valList[i];
+          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+          if (value === void 0 || key === void 0)
+            continue;
+          const entry = { value };
+          if (this.#ttls && this.#starts) {
+            entry.ttl = this.#ttls[i];
+            const age = perf.now() - this.#starts[i];
+            entry.start = Math.floor(Date.now() - age);
           }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) return true;
-            return !this.negate;
+          if (this.#sizes) {
+            entry.size = this.#sizes[i];
           }
+          arr.unshift([key, entry]);
         }
-        if (options.flipNegate) return false;
-        return this.negate;
+        return arr;
       }
-      static defaults(def) {
-        return minimatch.defaults(def).Minimatch;
+      /**
+       * Reset the cache and load in the items in entries in the order listed.
+       *
+       * The shape of the resulting cache may be different if the same options are
+       * not used in both caches.
+       *
+       * The `start` fields are assumed to be calculated relative to a portable
+       * `Date.now()` timestamp, even if `performance.now()` is available.
+       */
+      load(arr) {
+        this.clear();
+        for (const [key, entry] of arr) {
+          if (entry.start) {
+            const age = Date.now() - entry.start;
+            entry.start = perf.now() - age;
+          }
+          this.set(key, entry.value, entry);
+        }
       }
-    };
-    minimatch.Minimatch = Minimatch;
-  }
-});
-
-// node_modules/readdir-glob/index.js
-var require_readdir_glob = __commonJS({
-  "node_modules/readdir-glob/index.js"(exports2, module2) {
-    module2.exports = readdirGlob;
-    var fs3 = require("fs");
-    var { EventEmitter } = require("events");
-    var { Minimatch } = require_minimatch();
-    var { resolve: resolve2 } = require("path");
-    function readdir(dir, strict) {
-      return new Promise((resolve3, reject) => {
-        fs3.readdir(dir, { withFileTypes: true }, (err, files) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOTDIR":
-                if (strict) {
-                  reject(err);
-                } else {
-                  resolve3([]);
-                }
-                break;
-              case "ENOTSUP":
-              // Operation not supported
-              case "ENOENT":
-              // No such file or directory
-              case "ENAMETOOLONG":
-              // Filename too long
-              case "UNKNOWN":
-                resolve3([]);
-                break;
-              case "ELOOP":
-              // Too many levels of symbolic links
-              default:
-                reject(err);
-                break;
-            }
-          } else {
-            resolve3(files);
+      /**
+       * Add a value to the cache.
+       *
+       * Note: if `undefined` is specified as a value, this is an alias for
+       * {@link LRUCache#delete}
+       *
+       * Fields on the {@link LRUCache.SetOptions} options param will override
+       * their corresponding values in the constructor options for the scope
+       * of this single `set()` operation.
+       *
+       * If `start` is provided, then that will set the effective start
+       * time for the TTL calculation. Note that this must be a previous
+       * value of `performance.now()` if supported, or a previous value of
+       * `Date.now()` if not.
+       *
+       * Options object may also include `size`, which will prevent
+       * calling the `sizeCalculation` function and just use the specified
+       * number if it is a positive integer, and `noDisposeOnSet` which
+       * will prevent calling a `dispose` function in the case of
+       * overwrites.
+       *
+       * If the `size` (or return value of `sizeCalculation`) for a given
+       * entry is greater than `maxEntrySize`, then the item will not be
+       * added to the cache.
+       *
+       * Will update the recency of the entry.
+       *
+       * If the value is `undefined`, then this is an alias for
+       * `cache.delete(key)`. `undefined` is never stored in the cache.
+       */
+      set(k, v, setOptions = {}) {
+        if (v === void 0) {
+          this.delete(k);
+          return this;
+        }
+        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
+        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
+        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
+        if (this.maxEntrySize && size > this.maxEntrySize) {
+          if (status) {
+            status.set = "miss";
+            status.maxEntrySizeExceeded = true;
+          }
+          this.#delete(k, "set");
+          return this;
+        }
+        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
+        if (index === void 0) {
+          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
+          this.#keyList[index] = k;
+          this.#valList[index] = v;
+          this.#keyMap.set(k, index);
+          this.#next[this.#tail] = index;
+          this.#prev[index] = this.#tail;
+          this.#tail = index;
+          this.#size++;
+          this.#addItemSize(index, size, status);
+          if (status)
+            status.set = "add";
+          noUpdateTTL = false;
+          if (this.#hasOnInsert) {
+            this.#onInsert?.(v, k, "add");
           }
-        });
-      });
-    }
-    function stat(file, followSymlinks) {
-      return new Promise((resolve3, reject) => {
-        const statFunc = followSymlinks ? fs3.stat : fs3.lstat;
-        statFunc(file, (err, stats) => {
-          if (err) {
-            switch (err.code) {
-              case "ENOENT":
-                if (followSymlinks) {
-                  resolve3(stat(file, false));
-                } else {
-                  resolve3(null);
+        } else {
+          this.#moveToTail(index);
+          const oldVal = this.#valList[index];
+          if (v !== oldVal) {
+            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
+              oldVal.__abortController.abort(new Error("replaced"));
+              const { __staleWhileFetching: s } = oldVal;
+              if (s !== void 0 && !noDisposeOnSet) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(s, k, "set");
                 }
-                break;
-              default:
-                resolve3(null);
-                break;
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([s, k, "set"]);
+                }
+              }
+            } else if (!noDisposeOnSet) {
+              if (this.#hasDispose) {
+                this.#dispose?.(oldVal, k, "set");
+              }
+              if (this.#hasDisposeAfter) {
+                this.#disposed?.push([oldVal, k, "set"]);
+              }
             }
-          } else {
-            resolve3(stats);
+            this.#removeItemSize(index);
+            this.#addItemSize(index, size, status);
+            this.#valList[index] = v;
+            if (status) {
+              status.set = "replace";
+              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
+              if (oldValue !== void 0)
+                status.oldValue = oldValue;
+            }
+          } else if (status) {
+            status.set = "update";
+          }
+          if (this.#hasOnInsert) {
+            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
           }
-        });
-      });
-    }
-    async function* exploreWalkAsync(dir, path3, followSymlinks, useStat, shouldSkip, strict) {
-      let files = await readdir(path3 + dir, strict);
-      for (const file of files) {
-        let name = file.name;
-        if (name === void 0) {
-          name = file;
-          useStat = true;
-        }
-        const filename = dir + "/" + name;
-        const relative = filename.slice(1);
-        const absolute = path3 + "/" + relative;
-        let stats = null;
-        if (useStat || followSymlinks) {
-          stats = await stat(absolute, followSymlinks);
         }
-        if (!stats && file.name !== void 0) {
-          stats = file;
+        if (ttl !== 0 && !this.#ttls) {
+          this.#initializeTTLTracking();
         }
-        if (stats === null) {
-          stats = { isDirectory: () => false };
+        if (this.#ttls) {
+          if (!noUpdateTTL) {
+            this.#setItemTTL(index, ttl, start);
+          }
+          if (status)
+            this.#statusTTL(status, index);
         }
-        if (stats.isDirectory()) {
-          if (!shouldSkip(relative)) {
-            yield { relative, absolute, stats };
-            yield* exploreWalkAsync(filename, path3, followSymlinks, useStat, shouldSkip, false);
+        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
           }
-        } else {
-          yield { relative, absolute, stats };
         }
+        return this;
       }
-    }
-    async function* explore(path3, followSymlinks, useStat, shouldSkip) {
-      yield* exploreWalkAsync("", path3, followSymlinks, useStat, shouldSkip, true);
-    }
-    function readOptions(options) {
-      return {
-        pattern: options.pattern,
-        dot: !!options.dot,
-        noglobstar: !!options.noglobstar,
-        matchBase: !!options.matchBase,
-        nocase: !!options.nocase,
-        ignore: options.ignore,
-        skip: options.skip,
-        follow: !!options.follow,
-        stat: !!options.stat,
-        nodir: !!options.nodir,
-        mark: !!options.mark,
-        silent: !!options.silent,
-        absolute: !!options.absolute
-      };
-    }
-    var ReaddirGlob = class extends EventEmitter {
-      constructor(cwd, options, cb) {
-        super();
-        if (typeof options === "function") {
-          cb = options;
-          options = null;
-        }
-        this.options = readOptions(options || {});
-        this.matchers = [];
-        if (this.options.pattern) {
-          const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
-          this.matchers = matchers.map(
-            (m) => new Minimatch(m, {
-              dot: this.options.dot,
-              noglobstar: this.options.noglobstar,
-              matchBase: this.options.matchBase,
-              nocase: this.options.nocase
-            })
-          );
+      /**
+       * Evict the least recently used item, returning its value or
+       * `undefined` if cache is empty.
+       */
+      pop() {
+        try {
+          while (this.#size) {
+            const val = this.#valList[this.#head];
+            this.#evict(true);
+            if (this.#isBackgroundFetch(val)) {
+              if (val.__staleWhileFetching) {
+                return val.__staleWhileFetching;
+              }
+            } else if (val !== void 0) {
+              return val;
+            }
+          }
+        } finally {
+          if (this.#hasDisposeAfter && this.#disposed) {
+            const dt = this.#disposed;
+            let task;
+            while (task = dt?.shift()) {
+              this.#disposeAfter?.(...task);
+            }
+          }
         }
-        this.ignoreMatchers = [];
-        if (this.options.ignore) {
-          const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
-          this.ignoreMatchers = ignorePatterns.map(
-            (ignore) => new Minimatch(ignore, { dot: true })
-          );
+      }
+      #evict(free) {
+        const head = this.#head;
+        const k = this.#keyList[head];
+        const v = this.#valList[head];
+        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
+          v.__abortController.abort(new Error("evicted"));
+        } else if (this.#hasDispose || this.#hasDisposeAfter) {
+          if (this.#hasDispose) {
+            this.#dispose?.(v, k, "evict");
+          }
+          if (this.#hasDisposeAfter) {
+            this.#disposed?.push([v, k, "evict"]);
+          }
         }
-        this.skipMatchers = [];
-        if (this.options.skip) {
-          const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
-          this.skipMatchers = skipPatterns.map(
-            (skip) => new Minimatch(skip, { dot: true })
-          );
+        this.#removeItemSize(head);
+        if (free) {
+          this.#keyList[head] = void 0;
+          this.#valList[head] = void 0;
+          this.#free.push(head);
         }
-        this.iterator = explore(resolve2(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
-        this.paused = false;
-        this.inactive = false;
-        this.aborted = false;
-        if (cb) {
-          this._matches = [];
-          this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative));
-          this.on("error", (err) => cb(err));
-          this.on("end", () => cb(null, this._matches));
+        if (this.#size === 1) {
+          this.#head = this.#tail = 0;
+          this.#free.length = 0;
+        } else {
+          this.#head = this.#next[head];
         }
-        setTimeout(() => this._next(), 0);
+        this.#keyMap.delete(k);
+        this.#size--;
+        return head;
       }
-      _shouldSkipDirectory(relative) {
-        return this.skipMatchers.some((m) => m.match(relative));
+      /**
+       * Check if a key is in the cache, without updating the recency of use.
+       * Will return false if the item is stale, even though it is technically
+       * in the cache.
+       *
+       * Check if a key is in the cache, without updating the recency of
+       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
+       * to `true` in either the options or the constructor.
+       *
+       * Will return `false` if the item is stale, even though it is technically in
+       * the cache. The difference can be determined (if it matters) by using a
+       * `status` argument, and inspecting the `has` field.
+       *
+       * Will not update item age unless
+       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
+       */
+      has(k, hasOptions = {}) {
+        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
+            return false;
+          }
+          if (!this.#isStale(index)) {
+            if (updateAgeOnHas) {
+              this.#updateItemAge(index);
+            }
+            if (status) {
+              status.has = "hit";
+              this.#statusTTL(status, index);
+            }
+            return true;
+          } else if (status) {
+            status.has = "stale";
+            this.#statusTTL(status, index);
+          }
+        } else if (status) {
+          status.has = "miss";
+        }
+        return false;
       }
-      _fileMatches(relative, isDirectory) {
-        const file = relative + (isDirectory ? "/" : "");
-        return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
+      /**
+       * Like {@link LRUCache#get} but doesn't update recency or delete stale
+       * items.
+       *
+       * Returns `undefined` if the item is stale, unless
+       * {@link LRUCache.OptionsBase.allowStale} is set.
+       */
+      peek(k, peekOptions = {}) {
+        const { allowStale = this.allowStale } = peekOptions;
+        const index = this.#keyMap.get(k);
+        if (index === void 0 || !allowStale && this.#isStale(index)) {
+          return;
+        }
+        const v = this.#valList[index];
+        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
       }
-      _next() {
-        if (!this.paused && !this.aborted) {
-          this.iterator.next().then((obj) => {
-            if (!obj.done) {
-              const isDirectory = obj.value.stats.isDirectory();
-              if (this._fileMatches(obj.value.relative, isDirectory)) {
-                let relative = obj.value.relative;
-                let absolute = obj.value.absolute;
-                if (this.options.mark && isDirectory) {
-                  relative += "/";
-                  absolute += "/";
-                }
-                if (this.options.stat) {
-                  this.emit("match", { relative, absolute, stat: obj.value.stats });
-                } else {
-                  this.emit("match", { relative, absolute });
-                }
+      #backgroundFetch(k, index, options, context2) {
+        const v = index === void 0 ? void 0 : this.#valList[index];
+        if (this.#isBackgroundFetch(v)) {
+          return v;
+        }
+        const ac = new AC();
+        const { signal } = options;
+        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
+          signal: ac.signal
+        });
+        const fetchOpts = {
+          signal: ac.signal,
+          options,
+          context: context2
+        };
+        const cb = (v2, updateCache = false) => {
+          const { aborted } = ac.signal;
+          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
+          if (options.status) {
+            if (aborted && !updateCache) {
+              options.status.fetchAborted = true;
+              options.status.fetchError = ac.signal.reason;
+              if (ignoreAbort)
+                options.status.fetchAbortIgnored = true;
+            } else {
+              options.status.fetchResolved = true;
+            }
+          }
+          if (aborted && !ignoreAbort && !updateCache) {
+            return fetchFail(ac.signal.reason);
+          }
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            if (v2 === void 0) {
+              if (bf2.__staleWhileFetching) {
+                this.#valList[index] = bf2.__staleWhileFetching;
+              } else {
+                this.#delete(k, "fetch");
               }
-              this._next(this.iterator);
             } else {
-              this.emit("end");
+              if (options.status)
+                options.status.fetchUpdated = true;
+              this.set(k, v2, fetchOpts.options);
             }
-          }).catch((err) => {
-            this.abort();
-            this.emit("error", err);
-            if (!err.code && !this.options.silent) {
-              console.error(err);
+          }
+          return v2;
+        };
+        const eb = (er) => {
+          if (options.status) {
+            options.status.fetchRejected = true;
+            options.status.fetchError = er;
+          }
+          return fetchFail(er);
+        };
+        const fetchFail = (er) => {
+          const { aborted } = ac.signal;
+          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
+          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
+          const noDelete = allowStale || options.noDeleteOnFetchRejection;
+          const bf2 = p;
+          if (this.#valList[index] === p) {
+            const del = !noDelete || bf2.__staleWhileFetching === void 0;
+            if (del) {
+              this.#delete(k, "fetch");
+            } else if (!allowStaleAborted) {
+              this.#valList[index] = bf2.__staleWhileFetching;
+            }
+          }
+          if (allowStale) {
+            if (options.status && bf2.__staleWhileFetching !== void 0) {
+              options.status.returnedStale = true;
+            }
+            return bf2.__staleWhileFetching;
+          } else if (bf2.__returned === bf2) {
+            throw er;
+          }
+        };
+        const pcall = (res, rej) => {
+          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
+          if (fmp && fmp instanceof Promise) {
+            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
+          }
+          ac.signal.addEventListener("abort", () => {
+            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
+              res(void 0);
+              if (options.allowStaleOnFetchAbort) {
+                res = (v2) => cb(v2, true);
+              }
             }
           });
+        };
+        if (options.status)
+          options.status.fetchDispatched = true;
+        const p = new Promise(pcall).then(cb, eb);
+        const bf = Object.assign(p, {
+          __abortController: ac,
+          __staleWhileFetching: v,
+          __returned: void 0
+        });
+        if (index === void 0) {
+          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
+          index = this.#keyMap.get(k);
         } else {
-          this.inactive = true;
-        }
-      }
-      abort() {
-        this.aborted = true;
-      }
-      pause() {
-        this.paused = true;
-      }
-      resume() {
-        this.paused = false;
-        if (this.inactive) {
-          this.inactive = false;
-          this._next();
+          this.#valList[index] = bf;
         }
+        return bf;
       }
-    };
-    function readdirGlob(pattern, options, cb) {
-      return new ReaddirGlob(pattern, options, cb);
-    }
-    readdirGlob.ReaddirGlob = ReaddirGlob;
-  }
-});
-
-// node_modules/async/dist/async.js
-var require_async = __commonJS({
-  "node_modules/async/dist/async.js"(exports2, module2) {
-    (function(global2, factory) {
-      typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.async = {}));
-    })(exports2, (function(exports3) {
-      "use strict";
-      function apply(fn, ...args) {
-        return (...callArgs) => fn(...args, ...callArgs);
-      }
-      function initialParams(fn) {
-        return function(...args) {
-          var callback = args.pop();
-          return fn.call(this, args, callback);
-        };
-      }
-      var hasQueueMicrotask = typeof queueMicrotask === "function" && queueMicrotask;
-      var hasSetImmediate = typeof setImmediate === "function" && setImmediate;
-      var hasNextTick = typeof process === "object" && typeof process.nextTick === "function";
-      function fallback(fn) {
-        setTimeout(fn, 0);
-      }
-      function wrap(defer) {
-        return (fn, ...args) => defer(() => fn(...args));
-      }
-      var _defer$1;
-      if (hasQueueMicrotask) {
-        _defer$1 = queueMicrotask;
-      } else if (hasSetImmediate) {
-        _defer$1 = setImmediate;
-      } else if (hasNextTick) {
-        _defer$1 = process.nextTick;
-      } else {
-        _defer$1 = fallback;
+      #isBackgroundFetch(p) {
+        if (!this.#hasFetchMethod)
+          return false;
+        const b = p;
+        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
       }
-      var setImmediate$1 = wrap(_defer$1);
-      function asyncify(func) {
-        if (isAsync(func)) {
-          return function(...args) {
-            const callback = args.pop();
-            const promise = func.apply(this, args);
-            return handlePromise(promise, callback);
-          };
+      async fetch(k, fetchOptions = {}) {
+        const {
+          // get options
+          allowStale = this.allowStale,
+          updateAgeOnGet = this.updateAgeOnGet,
+          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
+          // set options
+          ttl = this.ttl,
+          noDisposeOnSet = this.noDisposeOnSet,
+          size = 0,
+          sizeCalculation = this.sizeCalculation,
+          noUpdateTTL = this.noUpdateTTL,
+          // fetch exclusive options
+          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
+          ignoreFetchAbort = this.ignoreFetchAbort,
+          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
+          context: context2,
+          forceRefresh = false,
+          status,
+          signal
+        } = fetchOptions;
+        if (!this.#hasFetchMethod) {
+          if (status)
+            status.fetch = "get";
+          return this.get(k, {
+            allowStale,
+            updateAgeOnGet,
+            noDeleteOnStaleGet,
+            status
+          });
         }
-        return initialParams(function(args, callback) {
-          var result;
-          try {
-            result = func.apply(this, args);
-          } catch (e) {
-            return callback(e);
+        const options = {
+          allowStale,
+          updateAgeOnGet,
+          noDeleteOnStaleGet,
+          ttl,
+          noDisposeOnSet,
+          size,
+          sizeCalculation,
+          noUpdateTTL,
+          noDeleteOnFetchRejection,
+          allowStaleOnFetchRejection,
+          allowStaleOnFetchAbort,
+          ignoreFetchAbort,
+          status,
+          signal
+        };
+        let index = this.#keyMap.get(k);
+        if (index === void 0) {
+          if (status)
+            status.fetch = "miss";
+          const p = this.#backgroundFetch(k, index, options, context2);
+          return p.__returned = p;
+        } else {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            const stale = allowStale && v.__staleWhileFetching !== void 0;
+            if (status) {
+              status.fetch = "inflight";
+              if (stale)
+                status.returnedStale = true;
+            }
+            return stale ? v.__staleWhileFetching : v.__returned = v;
           }
-          if (result && typeof result.then === "function") {
-            return handlePromise(result, callback);
-          } else {
-            callback(null, result);
+          const isStale = this.#isStale(index);
+          if (!forceRefresh && !isStale) {
+            if (status)
+              status.fetch = "hit";
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            if (status)
+              this.#statusTTL(status, index);
+            return v;
           }
-        });
-      }
-      function handlePromise(promise, callback) {
-        return promise.then((value) => {
-          invokeCallback(callback, null, value);
-        }, (err) => {
-          invokeCallback(callback, err && (err instanceof Error || err.message) ? err : new Error(err));
-        });
-      }
-      function invokeCallback(callback, error3, value) {
-        try {
-          callback(error3, value);
-        } catch (err) {
-          setImmediate$1((e) => {
-            throw e;
-          }, err);
-        }
-      }
-      function isAsync(fn) {
-        return fn[Symbol.toStringTag] === "AsyncFunction";
-      }
-      function isAsyncGenerator(fn) {
-        return fn[Symbol.toStringTag] === "AsyncGenerator";
-      }
-      function isAsyncIterable(obj) {
-        return typeof obj[Symbol.asyncIterator] === "function";
-      }
-      function wrapAsync(asyncFn) {
-        if (typeof asyncFn !== "function") throw new Error("expected a function");
-        return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
-      }
-      function awaitify(asyncFn, arity) {
-        if (!arity) arity = asyncFn.length;
-        if (!arity) throw new Error("arity is undefined");
-        function awaitable(...args) {
-          if (typeof args[arity - 1] === "function") {
-            return asyncFn.apply(this, args);
+          const p = this.#backgroundFetch(k, index, options, context2);
+          const hasStale = p.__staleWhileFetching !== void 0;
+          const staleVal = hasStale && allowStale;
+          if (status) {
+            status.fetch = isStale ? "stale" : "refresh";
+            if (staleVal && isStale)
+              status.returnedStale = true;
           }
-          return new Promise((resolve2, reject2) => {
-            args[arity - 1] = (err, ...cbArgs) => {
-              if (err) return reject2(err);
-              resolve2(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
-            };
-            asyncFn.apply(this, args);
-          });
+          return staleVal ? p.__staleWhileFetching : p.__returned = p;
         }
-        return awaitable;
       }
-      function applyEach$1(eachfn) {
-        return function applyEach2(fns, ...callArgs) {
-          const go = awaitify(function(callback) {
-            var that = this;
-            return eachfn(fns, (fn, cb) => {
-              wrapAsync(fn).apply(that, callArgs.concat(cb));
-            }, callback);
-          });
-          return go;
-        };
+      async forceFetch(k, fetchOptions = {}) {
+        const v = await this.fetch(k, fetchOptions);
+        if (v === void 0)
+          throw new Error("fetch() returned undefined");
+        return v;
       }
-      function _asyncMap(eachfn, arr, iteratee, callback) {
-        arr = arr || [];
-        var results = [];
-        var counter = 0;
-        var _iteratee = wrapAsync(iteratee);
-        return eachfn(arr, (value, _2, iterCb) => {
-          var index2 = counter++;
-          _iteratee(value, (err, v) => {
-            results[index2] = v;
-            iterCb(err);
-          });
-        }, (err) => {
-          callback(err, results);
+      memo(k, memoOptions = {}) {
+        const memoMethod = this.#memoMethod;
+        if (!memoMethod) {
+          throw new Error("no memoMethod provided to constructor");
+        }
+        const { context: context2, forceRefresh, ...options } = memoOptions;
+        const v = this.get(k, options);
+        if (!forceRefresh && v !== void 0)
+          return v;
+        const vv = memoMethod(k, v, {
+          options,
+          context: context2
         });
+        this.set(k, vv, options);
+        return vv;
       }
-      function isArrayLike(value) {
-        return value && typeof value.length === "number" && value.length >= 0 && value.length % 1 === 0;
-      }
-      const breakLoop = {};
-      function once(fn) {
-        function wrapper(...args) {
-          if (fn === null) return;
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
+      /**
+       * Return a value from the cache. Will update the recency of the cache
+       * entry found.
+       *
+       * If the key is not found, get() will return `undefined`.
+       */
+      get(k, getOptions = {}) {
+        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
+        const index = this.#keyMap.get(k);
+        if (index !== void 0) {
+          const value = this.#valList[index];
+          const fetching = this.#isBackgroundFetch(value);
+          if (status)
+            this.#statusTTL(status, index);
+          if (this.#isStale(index)) {
+            if (status)
+              status.get = "stale";
+            if (!fetching) {
+              if (!noDeleteOnStaleGet) {
+                this.#delete(k, "expire");
+              }
+              if (status && allowStale)
+                status.returnedStale = true;
+              return allowStale ? value : void 0;
+            } else {
+              if (status && allowStale && value.__staleWhileFetching !== void 0) {
+                status.returnedStale = true;
+              }
+              return allowStale ? value.__staleWhileFetching : void 0;
+            }
+          } else {
+            if (status)
+              status.get = "hit";
+            if (fetching) {
+              return value.__staleWhileFetching;
+            }
+            this.#moveToTail(index);
+            if (updateAgeOnGet) {
+              this.#updateItemAge(index);
+            }
+            return value;
+          }
+        } else if (status) {
+          status.get = "miss";
         }
-        Object.assign(wrapper, fn);
-        return wrapper;
-      }
-      function getIterator(coll) {
-        return coll[Symbol.iterator] && coll[Symbol.iterator]();
       }
-      function createArrayIterator(coll) {
-        var i = -1;
-        var len = coll.length;
-        return function next() {
-          return ++i < len ? { value: coll[i], key: i } : null;
-        };
-      }
-      function createES2015Iterator(iterator2) {
-        var i = -1;
-        return function next() {
-          var item = iterator2.next();
-          if (item.done)
-            return null;
-          i++;
-          return { value: item.value, key: i };
-        };
+      #connect(p, n) {
+        this.#prev[n] = p;
+        this.#next[p] = n;
       }
-      function createObjectIterator(obj) {
-        var okeys = obj ? Object.keys(obj) : [];
-        var i = -1;
-        var len = okeys.length;
-        return function next() {
-          var key = okeys[++i];
-          if (key === "__proto__") {
-            return next();
+      #moveToTail(index) {
+        if (index !== this.#tail) {
+          if (index === this.#head) {
+            this.#head = this.#next[index];
+          } else {
+            this.#connect(this.#prev[index], this.#next[index]);
           }
-          return i < len ? { value: obj[key], key } : null;
-        };
-      }
-      function createIterator(coll) {
-        if (isArrayLike(coll)) {
-          return createArrayIterator(coll);
+          this.#connect(this.#tail, index);
+          this.#tail = index;
         }
-        var iterator2 = getIterator(coll);
-        return iterator2 ? createES2015Iterator(iterator2) : createObjectIterator(coll);
       }
-      function onlyOnce(fn) {
-        return function(...args) {
-          if (fn === null) throw new Error("Callback was already called.");
-          var callFn = fn;
-          fn = null;
-          callFn.apply(this, args);
-        };
+      /**
+       * Deletes a key out of the cache.
+       *
+       * Returns true if the key was deleted, false otherwise.
+       */
+      delete(k) {
+        return this.#delete(k, "delete");
       }
-      function asyncEachOfLimit(generator, limit, iteratee, callback) {
-        let done = false;
-        let canceled = false;
-        let awaiting = false;
-        let running = 0;
-        let idx = 0;
-        function replenish() {
-          if (running >= limit || awaiting || done) return;
-          awaiting = true;
-          generator.next().then(({ value, done: iterDone }) => {
-            if (canceled || done) return;
-            awaiting = false;
-            if (iterDone) {
-              done = true;
-              if (running <= 0) {
-                callback(null);
+      #delete(k, reason) {
+        let deleted = false;
+        if (this.#size !== 0) {
+          const index = this.#keyMap.get(k);
+          if (index !== void 0) {
+            deleted = true;
+            if (this.#size === 1) {
+              this.#clear(reason);
+            } else {
+              this.#removeItemSize(index);
+              const v = this.#valList[index];
+              if (this.#isBackgroundFetch(v)) {
+                v.__abortController.abort(new Error("deleted"));
+              } else if (this.#hasDispose || this.#hasDisposeAfter) {
+                if (this.#hasDispose) {
+                  this.#dispose?.(v, k, reason);
+                }
+                if (this.#hasDisposeAfter) {
+                  this.#disposed?.push([v, k, reason]);
+                }
               }
-              return;
+              this.#keyMap.delete(k);
+              this.#keyList[index] = void 0;
+              this.#valList[index] = void 0;
+              if (index === this.#tail) {
+                this.#tail = this.#prev[index];
+              } else if (index === this.#head) {
+                this.#head = this.#next[index];
+              } else {
+                const pi = this.#prev[index];
+                this.#next[pi] = this.#next[index];
+                const ni = this.#next[index];
+                this.#prev[ni] = this.#prev[index];
+              }
+              this.#size--;
+              this.#free.push(index);
             }
-            running++;
-            iteratee(value, idx, iterateeCallback);
-            idx++;
-            replenish();
-          }).catch(handleError);
-        }
-        function iterateeCallback(err, result) {
-          running -= 1;
-          if (canceled) return;
-          if (err) return handleError(err);
-          if (err === false) {
-            done = true;
-            canceled = true;
-            return;
-          }
-          if (result === breakLoop || done && running <= 0) {
-            done = true;
-            return callback(null);
           }
-          replenish();
         }
-        function handleError(err) {
-          if (canceled) return;
-          awaiting = false;
-          done = true;
-          callback(err);
+        if (this.#hasDisposeAfter && this.#disposed?.length) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
         }
-        replenish();
+        return deleted;
       }
-      var eachOfLimit$2 = (limit) => {
-        return (obj, iteratee, callback) => {
-          callback = once(callback);
-          if (limit <= 0) {
-            throw new RangeError("concurrency limit cannot be less than 1");
-          }
-          if (!obj) {
-            return callback(null);
-          }
-          if (isAsyncGenerator(obj)) {
-            return asyncEachOfLimit(obj, limit, iteratee, callback);
-          }
-          if (isAsyncIterable(obj)) {
-            return asyncEachOfLimit(obj[Symbol.asyncIterator](), limit, iteratee, callback);
-          }
-          var nextElem = createIterator(obj);
-          var done = false;
-          var canceled = false;
-          var running = 0;
-          var looping = false;
-          function iterateeCallback(err, value) {
-            if (canceled) return;
-            running -= 1;
-            if (err) {
-              done = true;
-              callback(err);
-            } else if (err === false) {
-              done = true;
-              canceled = true;
-            } else if (value === breakLoop || done && running <= 0) {
-              done = true;
-              return callback(null);
-            } else if (!looping) {
-              replenish();
+      /**
+       * Clear the cache entirely, throwing away all values.
+       */
+      clear() {
+        return this.#clear("delete");
+      }
+      #clear(reason) {
+        for (const index of this.#rindexes({ allowStale: true })) {
+          const v = this.#valList[index];
+          if (this.#isBackgroundFetch(v)) {
+            v.__abortController.abort(new Error("deleted"));
+          } else {
+            const k = this.#keyList[index];
+            if (this.#hasDispose) {
+              this.#dispose?.(v, k, reason);
             }
-          }
-          function replenish() {
-            looping = true;
-            while (running < limit && !done) {
-              var elem = nextElem();
-              if (elem === null) {
-                done = true;
-                if (running <= 0) {
-                  callback(null);
-                }
-                return;
-              }
-              running += 1;
-              iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
+            if (this.#hasDisposeAfter) {
+              this.#disposed?.push([v, k, reason]);
             }
-            looping = false;
           }
-          replenish();
-        };
-      };
-      function eachOfLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
-      }
-      var eachOfLimit$1 = awaitify(eachOfLimit, 4);
-      function eachOfArrayLike(coll, iteratee, callback) {
-        callback = once(callback);
-        var index2 = 0, completed = 0, { length } = coll, canceled = false;
-        if (length === 0) {
-          callback(null);
         }
-        function iteratorCallback(err, value) {
-          if (err === false) {
-            canceled = true;
-          }
-          if (canceled === true) return;
-          if (err) {
-            callback(err);
-          } else if (++completed === length || value === breakLoop) {
-            callback(null);
-          }
+        this.#keyMap.clear();
+        this.#valList.fill(void 0);
+        this.#keyList.fill(void 0);
+        if (this.#ttls && this.#starts) {
+          this.#ttls.fill(0);
+          this.#starts.fill(0);
         }
-        for (; index2 < length; index2++) {
-          iteratee(coll[index2], index2, onlyOnce(iteratorCallback));
+        if (this.#sizes) {
+          this.#sizes.fill(0);
+        }
+        this.#head = 0;
+        this.#tail = 0;
+        this.#free.length = 0;
+        this.#calculatedSize = 0;
+        this.#size = 0;
+        if (this.#hasDisposeAfter && this.#disposed) {
+          const dt = this.#disposed;
+          let task;
+          while (task = dt?.shift()) {
+            this.#disposeAfter?.(...task);
+          }
         }
       }
-      function eachOfGeneric(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, Infinity, iteratee, callback);
+    };
+    exports2.LRUCache = LRUCache;
+  }
+});
+
+// node_modules/minipass/dist/commonjs/index.js
+var require_commonjs22 = __commonJS({
+  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
+      return mod && mod.__esModule ? mod : { "default": mod };
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
+    var proc = typeof process === "object" && process ? process : {
+      stdout: null,
+      stderr: null
+    };
+    var node_events_1 = require("node:events");
+    var node_stream_1 = __importDefault2(require("node:stream"));
+    var node_string_decoder_1 = require("node:string_decoder");
+    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
+    exports2.isStream = isStream;
+    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
+    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
+    exports2.isReadable = isReadable;
+    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
+    exports2.isWritable = isWritable;
+    var EOF = /* @__PURE__ */ Symbol("EOF");
+    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
+    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
+    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
+    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
+    var CLOSED = /* @__PURE__ */ Symbol("closed");
+    var READ = /* @__PURE__ */ Symbol("read");
+    var FLUSH = /* @__PURE__ */ Symbol("flush");
+    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
+    var ENCODING = /* @__PURE__ */ Symbol("encoding");
+    var DECODER = /* @__PURE__ */ Symbol("decoder");
+    var FLOWING = /* @__PURE__ */ Symbol("flowing");
+    var PAUSED = /* @__PURE__ */ Symbol("paused");
+    var RESUME = /* @__PURE__ */ Symbol("resume");
+    var BUFFER = /* @__PURE__ */ Symbol("buffer");
+    var PIPES = /* @__PURE__ */ Symbol("pipes");
+    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
+    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
+    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
+    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
+    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
+    var ERROR = /* @__PURE__ */ Symbol("error");
+    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
+    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
+    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
+    var ASYNC = /* @__PURE__ */ Symbol("async");
+    var ABORT = /* @__PURE__ */ Symbol("abort");
+    var ABORTED = /* @__PURE__ */ Symbol("aborted");
+    var SIGNAL = /* @__PURE__ */ Symbol("signal");
+    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
+    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
+    var defer = (fn) => Promise.resolve().then(fn);
+    var nodefer = (fn) => fn();
+    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
+    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
+    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
+    var Pipe = class {
+      src;
+      dest;
+      opts;
+      ondrain;
+      constructor(src, dest, opts) {
+        this.src = src;
+        this.dest = dest;
+        this.opts = opts;
+        this.ondrain = () => src[RESUME]();
+        this.dest.on("drain", this.ondrain);
       }
-      function eachOf(coll, iteratee, callback) {
-        var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
-        return eachOfImplementation(coll, wrapAsync(iteratee), callback);
+      unpipe() {
+        this.dest.removeListener("drain", this.ondrain);
       }
-      var eachOf$1 = awaitify(eachOf, 3);
-      function map2(coll, iteratee, callback) {
-        return _asyncMap(eachOf$1, coll, iteratee, callback);
+      // only here for the prototype
+      /* c8 ignore start */
+      proxyErrors(_er) {
       }
-      var map$1 = awaitify(map2, 3);
-      var applyEach = applyEach$1(map$1);
-      function eachOfSeries(coll, iteratee, callback) {
-        return eachOfLimit$1(coll, 1, iteratee, callback);
+      /* c8 ignore stop */
+      end() {
+        this.unpipe();
+        if (this.opts.end)
+          this.dest.end();
       }
-      var eachOfSeries$1 = awaitify(eachOfSeries, 3);
-      function mapSeries(coll, iteratee, callback) {
-        return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
+    };
+    var PipeProxyErrors = class extends Pipe {
+      unpipe() {
+        this.src.removeListener("error", this.proxyErrors);
+        super.unpipe();
       }
-      var mapSeries$1 = awaitify(mapSeries, 3);
-      var applyEachSeries = applyEach$1(mapSeries$1);
-      const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback");
-      function promiseCallback() {
-        let resolve2, reject2;
-        function callback(err, ...args) {
-          if (err) return reject2(err);
-          resolve2(args.length > 1 ? args : args[0]);
-        }
-        callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
-          resolve2 = res, reject2 = rej;
-        });
-        return callback;
+      constructor(src, dest, opts) {
+        super(src, dest, opts);
+        this.proxyErrors = (er) => dest.emit("error", er);
+        src.on("error", this.proxyErrors);
       }
-      function auto(tasks, concurrency, callback) {
-        if (typeof concurrency !== "number") {
-          callback = concurrency;
-          concurrency = null;
-        }
-        callback = once(callback || promiseCallback());
-        var numTasks = Object.keys(tasks).length;
-        if (!numTasks) {
-          return callback(null);
-        }
-        if (!concurrency) {
-          concurrency = numTasks;
-        }
-        var results = {};
-        var runningTasks = 0;
-        var canceled = false;
-        var hasError = false;
-        var listeners = /* @__PURE__ */ Object.create(null);
-        var readyTasks = [];
-        var readyToCheck = [];
-        var uncheckedDependencies = {};
-        Object.keys(tasks).forEach((key) => {
-          var task = tasks[key];
-          if (!Array.isArray(task)) {
-            enqueueTask(key, [task]);
-            readyToCheck.push(key);
-            return;
-          }
-          var dependencies = task.slice(0, task.length - 1);
-          var remainingDependencies = dependencies.length;
-          if (remainingDependencies === 0) {
-            enqueueTask(key, task);
-            readyToCheck.push(key);
-            return;
-          }
-          uncheckedDependencies[key] = remainingDependencies;
-          dependencies.forEach((dependencyName) => {
-            if (!tasks[dependencyName]) {
-              throw new Error("async.auto task `" + key + "` has a non-existent dependency `" + dependencyName + "` in " + dependencies.join(", "));
-            }
-            addListener(dependencyName, () => {
-              remainingDependencies--;
-              if (remainingDependencies === 0) {
-                enqueueTask(key, task);
-              }
-            });
-          });
-        });
-        checkForDeadlocks();
-        processQueue();
-        function enqueueTask(key, task) {
-          readyTasks.push(() => runTask(key, task));
+    };
+    var isObjectModeOptions = (o) => !!o.objectMode;
+    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
+    var Minipass = class extends node_events_1.EventEmitter {
+      [FLOWING] = false;
+      [PAUSED] = false;
+      [PIPES] = [];
+      [BUFFER] = [];
+      [OBJECTMODE];
+      [ENCODING];
+      [ASYNC];
+      [DECODER];
+      [EOF] = false;
+      [EMITTED_END] = false;
+      [EMITTING_END] = false;
+      [CLOSED] = false;
+      [EMITTED_ERROR] = null;
+      [BUFFERLENGTH] = 0;
+      [DESTROYED] = false;
+      [SIGNAL];
+      [ABORTED] = false;
+      [DATALISTENERS] = 0;
+      [DISCARDED] = false;
+      /**
+       * true if the stream can be written
+       */
+      writable = true;
+      /**
+       * true if the stream can be read
+       */
+      readable = true;
+      /**
+       * If `RType` is Buffer, then options do not need to be provided.
+       * Otherwise, an options object must be provided to specify either
+       * {@link Minipass.SharedOptions.objectMode} or
+       * {@link Minipass.SharedOptions.encoding}, as appropriate.
+       */
+      constructor(...args) {
+        const options = args[0] || {};
+        super();
+        if (options.objectMode && typeof options.encoding === "string") {
+          throw new TypeError("Encoding and objectMode may not be used together");
         }
-        function processQueue() {
-          if (canceled) return;
-          if (readyTasks.length === 0 && runningTasks === 0) {
-            return callback(null, results);
-          }
-          while (readyTasks.length && runningTasks < concurrency) {
-            var run = readyTasks.shift();
-            run();
-          }
+        if (isObjectModeOptions(options)) {
+          this[OBJECTMODE] = true;
+          this[ENCODING] = null;
+        } else if (isEncodingOptions(options)) {
+          this[ENCODING] = options.encoding;
+          this[OBJECTMODE] = false;
+        } else {
+          this[OBJECTMODE] = false;
+          this[ENCODING] = null;
         }
-        function addListener(taskName, fn) {
-          var taskListeners = listeners[taskName];
-          if (!taskListeners) {
-            taskListeners = listeners[taskName] = [];
-          }
-          taskListeners.push(fn);
+        this[ASYNC] = !!options.async;
+        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
+        if (options && options.debugExposeBuffer === true) {
+          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
         }
-        function taskComplete(taskName) {
-          var taskListeners = listeners[taskName] || [];
-          taskListeners.forEach((fn) => fn());
-          processQueue();
+        if (options && options.debugExposePipes === true) {
+          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
         }
-        function runTask(key, task) {
-          if (hasError) return;
-          var taskCallback = onlyOnce((err, ...result) => {
-            runningTasks--;
-            if (err === false) {
-              canceled = true;
-              return;
-            }
-            if (result.length < 2) {
-              [result] = result;
-            }
-            if (err) {
-              var safeResults = {};
-              Object.keys(results).forEach((rkey) => {
-                safeResults[rkey] = results[rkey];
-              });
-              safeResults[key] = result;
-              hasError = true;
-              listeners = /* @__PURE__ */ Object.create(null);
-              if (canceled) return;
-              callback(err, safeResults);
-            } else {
-              results[key] = result;
-              taskComplete(key);
-            }
-          });
-          runningTasks++;
-          var taskFn = wrapAsync(task[task.length - 1]);
-          if (task.length > 1) {
-            taskFn(results, taskCallback);
+        const { signal } = options;
+        if (signal) {
+          this[SIGNAL] = signal;
+          if (signal.aborted) {
+            this[ABORT]();
           } else {
-            taskFn(taskCallback);
-          }
-        }
-        function checkForDeadlocks() {
-          var currentTask;
-          var counter = 0;
-          while (readyToCheck.length) {
-            currentTask = readyToCheck.pop();
-            counter++;
-            getDependents(currentTask).forEach((dependent) => {
-              if (--uncheckedDependencies[dependent] === 0) {
-                readyToCheck.push(dependent);
-              }
-            });
-          }
-          if (counter !== numTasks) {
-            throw new Error(
-              "async.auto cannot execute tasks due to a recursive dependency"
-            );
+            signal.addEventListener("abort", () => this[ABORT]());
           }
         }
-        function getDependents(taskName) {
-          var result = [];
-          Object.keys(tasks).forEach((key) => {
-            const task = tasks[key];
-            if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
-              result.push(key);
-            }
-          });
-          return result;
-        }
-        return callback[PROMISE_SYMBOL];
       }
-      var FN_ARGS = /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
-      var ARROW_FN_ARGS = /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
-      var FN_ARG_SPLIT = /,/;
-      var FN_ARG = /(=.+)?(\s*)$/;
-      function stripComments(string) {
-        let stripped = "";
-        let index2 = 0;
-        let endBlockComment = string.indexOf("*/");
-        while (index2 < string.length) {
-          if (string[index2] === "/" && string[index2 + 1] === "/") {
-            let endIndex = string.indexOf("\n", index2);
-            index2 = endIndex === -1 ? string.length : endIndex;
-          } else if (endBlockComment !== -1 && string[index2] === "/" && string[index2 + 1] === "*") {
-            let endIndex = string.indexOf("*/", index2);
-            if (endIndex !== -1) {
-              index2 = endIndex + 2;
-              endBlockComment = string.indexOf("*/", index2);
-            } else {
-              stripped += string[index2];
-              index2++;
-            }
-          } else {
-            stripped += string[index2];
-            index2++;
-          }
-        }
-        return stripped;
+      /**
+       * The amount of data stored in the buffer waiting to be read.
+       *
+       * For Buffer strings, this will be the total byte length.
+       * For string encoding streams, this will be the string character length,
+       * according to JavaScript's `string.length` logic.
+       * For objectMode streams, this is a count of the items waiting to be
+       * emitted.
+       */
+      get bufferLength() {
+        return this[BUFFERLENGTH];
       }
-      function parseParams(func) {
-        const src = stripComments(func.toString());
-        let match = src.match(FN_ARGS);
-        if (!match) {
-          match = src.match(ARROW_FN_ARGS);
-        }
-        if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src);
-        let [, args] = match;
-        return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim());
+      /**
+       * The `BufferEncoding` currently in use, or `null`
+       */
+      get encoding() {
+        return this[ENCODING];
       }
-      function autoInject(tasks, callback) {
-        var newTasks = {};
-        Object.keys(tasks).forEach((key) => {
-          var taskFn = tasks[key];
-          var params;
-          var fnIsAsync = isAsync(taskFn);
-          var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
-          if (Array.isArray(taskFn)) {
-            params = [...taskFn];
-            taskFn = params.pop();
-            newTasks[key] = params.concat(params.length > 0 ? newTask : taskFn);
-          } else if (hasNoDeps) {
-            newTasks[key] = taskFn;
-          } else {
-            params = parseParams(taskFn);
-            if (taskFn.length === 0 && !fnIsAsync && params.length === 0) {
-              throw new Error("autoInject task functions require explicit parameters.");
-            }
-            if (!fnIsAsync) params.pop();
-            newTasks[key] = params.concat(newTask);
-          }
-          function newTask(results, taskCb) {
-            var newArgs = params.map((name) => results[name]);
-            newArgs.push(taskCb);
-            wrapAsync(taskFn)(...newArgs);
-          }
-        });
-        return auto(newTasks, callback);
+      /**
+       * @deprecated - This is a read only property
+       */
+      set encoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
       }
-      class DLL {
-        constructor() {
-          this.head = this.tail = null;
-          this.length = 0;
-        }
-        removeLink(node) {
-          if (node.prev) node.prev.next = node.next;
-          else this.head = node.next;
-          if (node.next) node.next.prev = node.prev;
-          else this.tail = node.prev;
-          node.prev = node.next = null;
-          this.length -= 1;
-          return node;
-        }
-        empty() {
-          while (this.head) this.shift();
-          return this;
+      /**
+       * @deprecated - Encoding may only be set at instantiation time
+       */
+      setEncoding(_enc) {
+        throw new Error("Encoding must be set at instantiation time");
+      }
+      /**
+       * True if this is an objectMode stream
+       */
+      get objectMode() {
+        return this[OBJECTMODE];
+      }
+      /**
+       * @deprecated - This is a read-only property
+       */
+      set objectMode(_om) {
+        throw new Error("objectMode must be set at instantiation time");
+      }
+      /**
+       * true if this is an async stream
+       */
+      get ["async"]() {
+        return this[ASYNC];
+      }
+      /**
+       * Set to true to make this stream async.
+       *
+       * Once set, it cannot be unset, as this would potentially cause incorrect
+       * behavior.  Ie, a sync stream can be made async, but an async stream
+       * cannot be safely made sync.
+       */
+      set ["async"](a) {
+        this[ASYNC] = this[ASYNC] || !!a;
+      }
+      // drop everything and get out of the flow completely
+      [ABORT]() {
+        this[ABORTED] = true;
+        this.emit("abort", this[SIGNAL]?.reason);
+        this.destroy(this[SIGNAL]?.reason);
+      }
+      /**
+       * True if the stream has been aborted.
+       */
+      get aborted() {
+        return this[ABORTED];
+      }
+      /**
+       * No-op setter. Stream aborted status is set via the AbortSignal provided
+       * in the constructor options.
+       */
+      set aborted(_2) {
+      }
+      write(chunk, encoding, cb) {
+        if (this[ABORTED])
+          return false;
+        if (this[EOF])
+          throw new Error("write after end");
+        if (this[DESTROYED]) {
+          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
+          return true;
         }
-        insertAfter(node, newNode) {
-          newNode.prev = node;
-          newNode.next = node.next;
-          if (node.next) node.next.prev = newNode;
-          else this.tail = newNode;
-          node.next = newNode;
-          this.length += 1;
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
         }
-        insertBefore(node, newNode) {
-          newNode.prev = node.prev;
-          newNode.next = node;
-          if (node.prev) node.prev.next = newNode;
-          else this.head = newNode;
-          node.prev = newNode;
-          this.length += 1;
+        if (!encoding)
+          encoding = "utf8";
+        const fn = this[ASYNC] ? defer : nodefer;
+        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
+          if (isArrayBufferView(chunk)) {
+            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+          } else if (isArrayBufferLike(chunk)) {
+            chunk = Buffer.from(chunk);
+          } else if (typeof chunk !== "string") {
+            throw new Error("Non-contiguous data written to non-objectMode stream");
+          }
         }
-        unshift(node) {
-          if (this.head) this.insertBefore(this.head, node);
-          else setInitial(this, node);
+        if (this[OBJECTMODE]) {
+          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+            this[FLUSH](true);
+          if (this[FLOWING])
+            this.emit("data", chunk);
+          else
+            this[BUFFERPUSH](chunk);
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
         }
-        push(node) {
-          if (this.tail) this.insertAfter(this.tail, node);
-          else setInitial(this, node);
+        if (!chunk.length) {
+          if (this[BUFFERLENGTH] !== 0)
+            this.emit("readable");
+          if (cb)
+            fn(cb);
+          return this[FLOWING];
         }
-        shift() {
-          return this.head && this.removeLink(this.head);
+        if (typeof chunk === "string" && // unless it is a string already ready for us to use
+        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
+          chunk = Buffer.from(chunk, encoding);
         }
-        pop() {
-          return this.tail && this.removeLink(this.tail);
+        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
+          chunk = this[DECODER].write(chunk);
         }
-        toArray() {
-          return [...this];
+        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+          this[FLUSH](true);
+        if (this[FLOWING])
+          this.emit("data", chunk);
+        else
+          this[BUFFERPUSH](chunk);
+        if (this[BUFFERLENGTH] !== 0)
+          this.emit("readable");
+        if (cb)
+          fn(cb);
+        return this[FLOWING];
+      }
+      /**
+       * Low-level explicit read method.
+       *
+       * In objectMode, the argument is ignored, and one item is returned if
+       * available.
+       *
+       * `n` is the number of bytes (or in the case of encoding streams,
+       * characters) to consume. If `n` is not provided, then the entire buffer
+       * is returned, or `null` is returned if no data is available.
+       *
+       * If `n` is greater that the amount of data in the internal buffer,
+       * then `null` is returned.
+       */
+      read(n) {
+        if (this[DESTROYED])
+          return null;
+        this[DISCARDED] = false;
+        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
+          this[MAYBE_EMIT_END]();
+          return null;
         }
-        *[Symbol.iterator]() {
-          var cur = this.head;
-          while (cur) {
-            yield cur.data;
-            cur = cur.next;
-          }
+        if (this[OBJECTMODE])
+          n = null;
+        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
+          this[BUFFER] = [
+            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
+          ];
         }
-        remove(testFn) {
-          var curr = this.head;
-          while (curr) {
-            var { next } = curr;
-            if (testFn(curr)) {
-              this.removeLink(curr);
-            }
-            curr = next;
+        const ret = this[READ](n || null, this[BUFFER][0]);
+        this[MAYBE_EMIT_END]();
+        return ret;
+      }
+      [READ](n, chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERSHIFT]();
+        else {
+          const c = chunk;
+          if (n === c.length || n === null)
+            this[BUFFERSHIFT]();
+          else if (typeof c === "string") {
+            this[BUFFER][0] = c.slice(n);
+            chunk = c.slice(0, n);
+            this[BUFFERLENGTH] -= n;
+          } else {
+            this[BUFFER][0] = c.subarray(n);
+            chunk = c.subarray(0, n);
+            this[BUFFERLENGTH] -= n;
           }
-          return this;
         }
+        this.emit("data", chunk);
+        if (!this[BUFFER].length && !this[EOF])
+          this.emit("drain");
+        return chunk;
       }
-      function setInitial(dll, node) {
-        dll.length = 1;
-        dll.head = dll.tail = node;
-      }
-      function queue$1(worker, concurrency, payload) {
-        if (concurrency == null) {
-          concurrency = 1;
-        } else if (concurrency === 0) {
-          throw new RangeError("Concurrency must not be zero");
-        }
-        var _worker = wrapAsync(worker);
-        var numRunning = 0;
-        var workersList = [];
-        const events = {
-          error: [],
-          drain: [],
-          saturated: [],
-          unsaturated: [],
-          empty: []
-        };
-        function on(event, handler2) {
-          events[event].push(handler2);
-        }
-        function once2(event, handler2) {
-          const handleAndRemove = (...args) => {
-            off(event, handleAndRemove);
-            handler2(...args);
-          };
-          events[event].push(handleAndRemove);
+      end(chunk, encoding, cb) {
+        if (typeof chunk === "function") {
+          cb = chunk;
+          chunk = void 0;
         }
-        function off(event, handler2) {
-          if (!event) return Object.keys(events).forEach((ev) => events[ev] = []);
-          if (!handler2) return events[event] = [];
-          events[event] = events[event].filter((ev) => ev !== handler2);
+        if (typeof encoding === "function") {
+          cb = encoding;
+          encoding = "utf8";
         }
-        function trigger(event, ...args) {
-          events[event].forEach((handler2) => handler2(...args));
+        if (chunk !== void 0)
+          this.write(chunk, encoding);
+        if (cb)
+          this.once("end", cb);
+        this[EOF] = true;
+        this.writable = false;
+        if (this[FLOWING] || !this[PAUSED])
+          this[MAYBE_EMIT_END]();
+        return this;
+      }
+      // don't let the internal resume be overwritten
+      [RESUME]() {
+        if (this[DESTROYED])
+          return;
+        if (!this[DATALISTENERS] && !this[PIPES].length) {
+          this[DISCARDED] = true;
         }
-        var processingScheduled = false;
-        function _insert(data, insertAtFront, rejectOnError, callback) {
-          if (callback != null && typeof callback !== "function") {
-            throw new Error("task callback must be a function");
-          }
-          q.started = true;
-          var res, rej;
-          function promiseCallback2(err, ...args) {
-            if (err) return rejectOnError ? rej(err) : res();
-            if (args.length <= 1) return res(args[0]);
-            res(args);
-          }
-          var item = q._createTaskItem(
-            data,
-            rejectOnError ? promiseCallback2 : callback || promiseCallback2
-          );
-          if (insertAtFront) {
-            q._tasks.unshift(item);
-          } else {
-            q._tasks.push(item);
-          }
-          if (!processingScheduled) {
-            processingScheduled = true;
-            setImmediate$1(() => {
-              processingScheduled = false;
-              q.process();
-            });
-          }
-          if (rejectOnError || !callback) {
-            return new Promise((resolve2, reject2) => {
-              res = resolve2;
-              rej = reject2;
-            });
-          }
+        this[PAUSED] = false;
+        this[FLOWING] = true;
+        this.emit("resume");
+        if (this[BUFFER].length)
+          this[FLUSH]();
+        else if (this[EOF])
+          this[MAYBE_EMIT_END]();
+        else
+          this.emit("drain");
+      }
+      /**
+       * Resume the stream if it is currently in a paused state
+       *
+       * If called when there are no pipe destinations or `data` event listeners,
+       * this will place the stream in a "discarded" state, where all data will
+       * be thrown away. The discarded state is removed if a pipe destination or
+       * data handler is added, if pause() is called, or if any synchronous or
+       * asynchronous iteration is started.
+       */
+      resume() {
+        return this[RESUME]();
+      }
+      /**
+       * Pause the stream
+       */
+      pause() {
+        this[FLOWING] = false;
+        this[PAUSED] = true;
+        this[DISCARDED] = false;
+      }
+      /**
+       * true if the stream has been forcibly destroyed
+       */
+      get destroyed() {
+        return this[DESTROYED];
+      }
+      /**
+       * true if the stream is currently in a flowing state, meaning that
+       * any writes will be immediately emitted.
+       */
+      get flowing() {
+        return this[FLOWING];
+      }
+      /**
+       * true if the stream is currently in a paused state
+       */
+      get paused() {
+        return this[PAUSED];
+      }
+      [BUFFERPUSH](chunk) {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] += 1;
+        else
+          this[BUFFERLENGTH] += chunk.length;
+        this[BUFFER].push(chunk);
+      }
+      [BUFFERSHIFT]() {
+        if (this[OBJECTMODE])
+          this[BUFFERLENGTH] -= 1;
+        else
+          this[BUFFERLENGTH] -= this[BUFFER][0].length;
+        return this[BUFFER].shift();
+      }
+      [FLUSH](noDrain = false) {
+        do {
+        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
+        if (!noDrain && !this[BUFFER].length && !this[EOF])
+          this.emit("drain");
+      }
+      [FLUSHCHUNK](chunk) {
+        this.emit("data", chunk);
+        return this[FLOWING];
+      }
+      /**
+       * Pipe all data emitted by this stream into the destination provided.
+       *
+       * Triggers the flow of data.
+       */
+      pipe(dest, opts) {
+        if (this[DESTROYED])
+          return dest;
+        this[DISCARDED] = false;
+        const ended = this[EMITTED_END];
+        opts = opts || {};
+        if (dest === proc.stdout || dest === proc.stderr)
+          opts.end = false;
+        else
+          opts.end = opts.end !== false;
+        opts.proxyErrors = !!opts.proxyErrors;
+        if (ended) {
+          if (opts.end)
+            dest.end();
+        } else {
+          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
+          if (this[ASYNC])
+            defer(() => this[RESUME]());
+          else
+            this[RESUME]();
         }
-        function _createCB(tasks) {
-          return function(err, ...args) {
-            numRunning -= 1;
-            for (var i = 0, l = tasks.length; i < l; i++) {
-              var task = tasks[i];
-              var index2 = workersList.indexOf(task);
-              if (index2 === 0) {
-                workersList.shift();
-              } else if (index2 > 0) {
-                workersList.splice(index2, 1);
-              }
-              task.callback(err, ...args);
-              if (err != null) {
-                trigger("error", err, task.data);
-              }
-            }
-            if (numRunning <= q.concurrency - q.buffer) {
-              trigger("unsaturated");
-            }
-            if (q.idle()) {
-              trigger("drain");
+        return dest;
+      }
+      /**
+       * Fully unhook a piped destination stream.
+       *
+       * If the destination stream was the only consumer of this stream (ie,
+       * there are no other piped destinations or `'data'` event listeners)
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      unpipe(dest) {
+        const p = this[PIPES].find((p2) => p2.dest === dest);
+        if (p) {
+          if (this[PIPES].length === 1) {
+            if (this[FLOWING] && this[DATALISTENERS] === 0) {
+              this[FLOWING] = false;
             }
-            q.process();
-          };
+            this[PIPES] = [];
+          } else
+            this[PIPES].splice(this[PIPES].indexOf(p), 1);
+          p.unpipe();
         }
-        function _maybeDrain(data) {
-          if (data.length === 0 && q.idle()) {
-            setImmediate$1(() => trigger("drain"));
-            return true;
+      }
+      /**
+       * Alias for {@link Minipass#on}
+       */
+      addListener(ev, handler2) {
+        return this.on(ev, handler2);
+      }
+      /**
+       * Mostly identical to `EventEmitter.on`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * - Adding a 'data' event handler will trigger the flow of data
+       *
+       * - Adding a 'readable' event handler when there is data waiting to be read
+       *   will cause 'readable' to be emitted immediately.
+       *
+       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
+       *   already passed will cause the event to be emitted immediately and all
+       *   handlers removed.
+       *
+       * - Adding an 'error' event handler after an error has been emitted will
+       *   cause the event to be re-emitted immediately with the error previously
+       *   raised.
+       */
+      on(ev, handler2) {
+        const ret = super.on(ev, handler2);
+        if (ev === "data") {
+          this[DISCARDED] = false;
+          this[DATALISTENERS]++;
+          if (!this[PIPES].length && !this[FLOWING]) {
+            this[RESUME]();
           }
-          return false;
+        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
+          super.emit("readable");
+        } else if (isEndish(ev) && this[EMITTED_END]) {
+          super.emit(ev);
+          this.removeAllListeners(ev);
+        } else if (ev === "error" && this[EMITTED_ERROR]) {
+          const h = handler2;
+          if (this[ASYNC])
+            defer(() => h.call(this, this[EMITTED_ERROR]));
+          else
+            h.call(this, this[EMITTED_ERROR]);
         }
-        const eventMethod = (name) => (handler2) => {
-          if (!handler2) {
-            return new Promise((resolve2, reject2) => {
-              once2(name, (err, data) => {
-                if (err) return reject2(err);
-                resolve2(data);
-              });
-            });
-          }
-          off(name);
-          on(name, handler2);
-        };
-        var isProcessing = false;
-        var q = {
-          _tasks: new DLL(),
-          _createTaskItem(data, callback) {
-            return {
-              data,
-              callback
-            };
-          },
-          *[Symbol.iterator]() {
-            yield* q._tasks[Symbol.iterator]();
-          },
-          concurrency,
-          payload,
-          buffer: concurrency / 4,
-          started: false,
-          paused: false,
-          push(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, false, callback));
-            }
-            return _insert(data, false, false, callback);
-          },
-          pushAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, false, true, callback));
-            }
-            return _insert(data, false, true, callback);
-          },
-          kill() {
-            off();
-            q._tasks.empty();
-          },
-          unshift(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, false, callback));
-            }
-            return _insert(data, true, false, callback);
-          },
-          unshiftAsync(data, callback) {
-            if (Array.isArray(data)) {
-              if (_maybeDrain(data)) return;
-              return data.map((datum) => _insert(datum, true, true, callback));
-            }
-            return _insert(data, true, true, callback);
-          },
-          remove(testFn) {
-            q._tasks.remove(testFn);
-          },
-          process() {
-            if (isProcessing) {
-              return;
-            }
-            isProcessing = true;
-            while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
-              var tasks = [], data = [];
-              var l = q._tasks.length;
-              if (q.payload) l = Math.min(l, q.payload);
-              for (var i = 0; i < l; i++) {
-                var node = q._tasks.shift();
-                tasks.push(node);
-                workersList.push(node);
-                data.push(node.data);
-              }
-              numRunning += 1;
-              if (q._tasks.length === 0) {
-                trigger("empty");
-              }
-              if (numRunning === q.concurrency) {
-                trigger("saturated");
-              }
-              var cb = onlyOnce(_createCB(tasks));
-              _worker(data, cb);
-            }
-            isProcessing = false;
-          },
-          length() {
-            return q._tasks.length;
-          },
-          running() {
-            return numRunning;
-          },
-          workersList() {
-            return workersList;
-          },
-          idle() {
-            return q._tasks.length + numRunning === 0;
-          },
-          pause() {
-            q.paused = true;
-          },
-          resume() {
-            if (q.paused === false) {
-              return;
-            }
-            q.paused = false;
-            setImmediate$1(q.process);
-          }
-        };
-        Object.defineProperties(q, {
-          saturated: {
-            writable: false,
-            value: eventMethod("saturated")
-          },
-          unsaturated: {
-            writable: false,
-            value: eventMethod("unsaturated")
-          },
-          empty: {
-            writable: false,
-            value: eventMethod("empty")
-          },
-          drain: {
-            writable: false,
-            value: eventMethod("drain")
-          },
-          error: {
-            writable: false,
-            value: eventMethod("error")
-          }
-        });
-        return q;
-      }
-      function cargo$1(worker, payload) {
-        return queue$1(worker, 1, payload);
+        return ret;
       }
-      function cargo(worker, concurrency, payload) {
-        return queue$1(worker, concurrency, payload);
+      /**
+       * Alias for {@link Minipass#off}
+       */
+      removeListener(ev, handler2) {
+        return this.off(ev, handler2);
       }
-      function reduce(coll, memo, iteratee, callback) {
-        callback = once(callback);
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfSeries$1(coll, (x, i, iterCb) => {
-          _iteratee(memo, x, (err, v) => {
-            memo = v;
-            iterCb(err);
-          });
-        }, (err) => callback(err, memo));
+      /**
+       * Mostly identical to `EventEmitter.off`
+       *
+       * If a 'data' event handler is removed, and it was the last consumer
+       * (ie, there are no pipe destinations or other 'data' event listeners),
+       * then the flow of data will stop until there is another consumer or
+       * {@link Minipass#resume} is explicitly called.
+       */
+      off(ev, handler2) {
+        const ret = super.off(ev, handler2);
+        if (ev === "data") {
+          this[DATALISTENERS] = this.listeners("data").length;
+          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
+          }
+        }
+        return ret;
       }
-      var reduce$1 = awaitify(reduce, 4);
-      function seq2(...functions) {
-        var _functions = functions.map(wrapAsync);
-        return function(...args) {
-          var that = this;
-          var cb = args[args.length - 1];
-          if (typeof cb == "function") {
-            args.pop();
-          } else {
-            cb = promiseCallback();
+      /**
+       * Mostly identical to `EventEmitter.removeAllListeners`
+       *
+       * If all 'data' event handlers are removed, and they were the last consumer
+       * (ie, there are no pipe destinations), then the flow of data will stop
+       * until there is another consumer or {@link Minipass#resume} is explicitly
+       * called.
+       */
+      removeAllListeners(ev) {
+        const ret = super.removeAllListeners(ev);
+        if (ev === "data" || ev === void 0) {
+          this[DATALISTENERS] = 0;
+          if (!this[DISCARDED] && !this[PIPES].length) {
+            this[FLOWING] = false;
           }
-          reduce$1(
-            _functions,
-            args,
-            (newargs, fn, iterCb) => {
-              fn.apply(that, newargs.concat((err, ...nextargs) => {
-                iterCb(err, nextargs);
-              }));
-            },
-            (err, results) => cb(err, ...results)
-          );
-          return cb[PROMISE_SYMBOL];
-        };
+        }
+        return ret;
       }
-      function compose(...args) {
-        return seq2(...args.reverse());
+      /**
+       * true if the 'end' event has been emitted
+       */
+      get emittedEnd() {
+        return this[EMITTED_END];
       }
-      function mapLimit(coll, limit, iteratee, callback) {
-        return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
+      [MAYBE_EMIT_END]() {
+        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
+          this[EMITTING_END] = true;
+          this.emit("end");
+          this.emit("prefinish");
+          this.emit("finish");
+          if (this[CLOSED])
+            this.emit("close");
+          this[EMITTING_END] = false;
+        }
       }
-      var mapLimit$1 = awaitify(mapLimit, 4);
-      function concatLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, ...args) => {
-            if (err) return iterCb(err);
-            return iterCb(err, args);
-          });
-        }, (err, mapResults) => {
-          var result = [];
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              result = result.concat(...mapResults[i]);
+      /**
+       * Mostly identical to `EventEmitter.emit`, with the following
+       * behavior differences to prevent data loss and unnecessary hangs:
+       *
+       * If the stream has been destroyed, and the event is something other
+       * than 'close' or 'error', then `false` is returned and no handlers
+       * are called.
+       *
+       * If the event is 'end', and has already been emitted, then the event
+       * is ignored. If the stream is in a paused or non-flowing state, then
+       * the event will be deferred until data flow resumes. If the stream is
+       * async, then handlers will be called on the next tick rather than
+       * immediately.
+       *
+       * If the event is 'close', and 'end' has not yet been emitted, then
+       * the event will be deferred until after 'end' is emitted.
+       *
+       * If the event is 'error', and an AbortSignal was provided for the stream,
+       * and there are no listeners, then the event is ignored, matching the
+       * behavior of node core streams in the presense of an AbortSignal.
+       *
+       * If the event is 'finish' or 'prefinish', then all listeners will be
+       * removed after emitting the event, to prevent double-firing.
+       */
+      emit(ev, ...args) {
+        const data = args[0];
+        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
+          return false;
+        } else if (ev === "data") {
+          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
+        } else if (ev === "end") {
+          return this[EMITEND]();
+        } else if (ev === "close") {
+          this[CLOSED] = true;
+          if (!this[EMITTED_END] && !this[DESTROYED])
+            return false;
+          const ret2 = super.emit("close");
+          this.removeAllListeners("close");
+          return ret2;
+        } else if (ev === "error") {
+          this[EMITTED_ERROR] = data;
+          super.emit(ERROR, data);
+          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "resume") {
+          const ret2 = super.emit("resume");
+          this[MAYBE_EMIT_END]();
+          return ret2;
+        } else if (ev === "finish" || ev === "prefinish") {
+          const ret2 = super.emit(ev);
+          this.removeAllListeners(ev);
+          return ret2;
+        }
+        const ret = super.emit(ev, ...args);
+        this[MAYBE_EMIT_END]();
+        return ret;
+      }
+      [EMITDATA](data) {
+        for (const p of this[PIPES]) {
+          if (p.dest.write(data) === false)
+            this.pause();
+        }
+        const ret = this[DISCARDED] ? false : super.emit("data", data);
+        this[MAYBE_EMIT_END]();
+        return ret;
+      }
+      [EMITEND]() {
+        if (this[EMITTED_END])
+          return false;
+        this[EMITTED_END] = true;
+        this.readable = false;
+        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
+      }
+      [EMITEND2]() {
+        if (this[DECODER]) {
+          const data = this[DECODER].end();
+          if (data) {
+            for (const p of this[PIPES]) {
+              p.dest.write(data);
             }
+            if (!this[DISCARDED])
+              super.emit("data", data);
           }
-          return callback(err, result);
+        }
+        for (const p of this[PIPES]) {
+          p.end();
+        }
+        const ret = super.emit("end");
+        this.removeAllListeners("end");
+        return ret;
+      }
+      /**
+       * Return a Promise that resolves to an array of all emitted data once
+       * the stream ends.
+       */
+      async collect() {
+        const buf = Object.assign([], {
+          dataLength: 0
+        });
+        if (!this[OBJECTMODE])
+          buf.dataLength = 0;
+        const p = this.promise();
+        this.on("data", (c) => {
+          buf.push(c);
+          if (!this[OBJECTMODE])
+            buf.dataLength += c.length;
         });
+        await p;
+        return buf;
       }
-      var concatLimit$1 = awaitify(concatLimit, 4);
-      function concat(coll, iteratee, callback) {
-        return concatLimit$1(coll, Infinity, iteratee, callback);
+      /**
+       * Return a Promise that resolves to the concatenation of all emitted data
+       * once the stream ends.
+       *
+       * Not allowed on objectMode streams.
+       */
+      async concat() {
+        if (this[OBJECTMODE]) {
+          throw new Error("cannot concat in objectMode");
+        }
+        const buf = await this.collect();
+        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
       }
-      var concat$1 = awaitify(concat, 3);
-      function concatSeries(coll, iteratee, callback) {
-        return concatLimit$1(coll, 1, iteratee, callback);
+      /**
+       * Return a void Promise that resolves once the stream ends.
+       */
+      async promise() {
+        return new Promise((resolve2, reject) => {
+          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
+          this.on("error", (er) => reject(er));
+          this.on("end", () => resolve2());
+        });
       }
-      var concatSeries$1 = awaitify(concatSeries, 3);
-      function constant$1(...args) {
-        return function(...ignoredArgs) {
-          var callback = ignoredArgs.pop();
-          return callback(null, ...args);
+      /**
+       * Asynchronous `for await of` iteration.
+       *
+       * This will continue emitting all chunks until the stream terminates.
+       */
+      [Symbol.asyncIterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = async () => {
+          this.pause();
+          stopped = true;
+          return { value: void 0, done: true };
         };
-      }
-      function _createTester(check, getResult) {
-        return (eachfn, arr, _iteratee, cb) => {
-          var testPassed = false;
-          var testResult;
-          const iteratee = wrapAsync(_iteratee);
-          eachfn(arr, (value, _2, callback) => {
-            iteratee(value, (err, result) => {
-              if (err || err === false) return callback(err);
-              if (check(result) && !testResult) {
-                testPassed = true;
-                testResult = getResult(true, value);
-                return callback(null, breakLoop);
-              }
-              callback();
-            });
-          }, (err) => {
-            if (err) return cb(err);
-            cb(null, testPassed ? testResult : getResult(false));
+        const next = () => {
+          if (stopped)
+            return stop();
+          const res = this.read();
+          if (res !== null)
+            return Promise.resolve({ done: false, value: res });
+          if (this[EOF])
+            return stop();
+          let resolve2;
+          let reject;
+          const onerr = (er) => {
+            this.off("data", ondata);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            reject(er);
+          };
+          const ondata = (value) => {
+            this.off("error", onerr);
+            this.off("end", onend);
+            this.off(DESTROYED, ondestroy);
+            this.pause();
+            resolve2({ value, done: !!this[EOF] });
+          };
+          const onend = () => {
+            this.off("error", onerr);
+            this.off("data", ondata);
+            this.off(DESTROYED, ondestroy);
+            stop();
+            resolve2({ done: true, value: void 0 });
+          };
+          const ondestroy = () => onerr(new Error("stream destroyed"));
+          return new Promise((res2, rej) => {
+            reject = rej;
+            resolve2 = res2;
+            this.once(DESTROYED, ondestroy);
+            this.once("error", onerr);
+            this.once("end", onend);
+            this.once("data", ondata);
           });
         };
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.asyncIterator]() {
+            return this;
+          }
+        };
       }
-      function detect(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOf$1, coll, iteratee, callback);
+      /**
+       * Synchronous `for of` iteration.
+       *
+       * The iteration will terminate when the internal buffer runs out, even
+       * if the stream has not yet terminated.
+       */
+      [Symbol.iterator]() {
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = () => {
+          this.pause();
+          this.off(ERROR, stop);
+          this.off(DESTROYED, stop);
+          this.off("end", stop);
+          stopped = true;
+          return { done: true, value: void 0 };
+        };
+        const next = () => {
+          if (stopped)
+            return stop();
+          const value = this.read();
+          return value === null ? stop() : { done: false, value };
+        };
+        this.once("end", stop);
+        this.once(ERROR, stop);
+        this.once(DESTROYED, stop);
+        return {
+          next,
+          throw: stop,
+          return: stop,
+          [Symbol.iterator]() {
+            return this;
+          }
+        };
       }
-      var detect$1 = awaitify(detect, 3);
-      function detectLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(limit), coll, iteratee, callback);
+      /**
+       * Destroy a stream, preventing it from being used for any further purpose.
+       *
+       * If the stream has a `close()` method, then it will be called on
+       * destruction.
+       *
+       * After destruction, any attempt to write data, read data, or emit most
+       * events will be ignored.
+       *
+       * If an error argument is provided, then it will be emitted in an
+       * 'error' event.
+       */
+      destroy(er) {
+        if (this[DESTROYED]) {
+          if (er)
+            this.emit("error", er);
+          else
+            this.emit(DESTROYED);
+          return this;
+        }
+        this[DESTROYED] = true;
+        this[DISCARDED] = true;
+        this[BUFFER].length = 0;
+        this[BUFFERLENGTH] = 0;
+        const wc = this;
+        if (typeof wc.close === "function" && !this[CLOSED])
+          wc.close();
+        if (er)
+          this.emit("error", er);
+        else
+          this.emit(DESTROYED);
+        return this;
       }
-      var detectLimit$1 = awaitify(detectLimit, 4);
-      function detectSeries(coll, iteratee, callback) {
-        return _createTester((bool2) => bool2, (res, item) => item)(eachOfLimit$2(1), coll, iteratee, callback);
+      /**
+       * Alias for {@link isStream}
+       *
+       * Former export location, maintained for backwards compatibility.
+       *
+       * @deprecated
+       */
+      static get isStream() {
+        return exports2.isStream;
       }
-      var detectSeries$1 = awaitify(detectSeries, 3);
-      function consoleFunc(name) {
-        return (fn, ...args) => wrapAsync(fn)(...args, (err, ...resultArgs) => {
-          if (typeof console === "object") {
-            if (err) {
-              if (console.error) {
-                console.error(err);
-              }
-            } else if (console[name]) {
-              resultArgs.forEach((x) => console[name](x));
-            }
-          }
-        });
+    };
+    exports2.Minipass = Minipass;
+  }
+});
+
+// node_modules/path-scurry/dist/commonjs/index.js
+var require_commonjs23 = __commonJS({
+  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      var dir = consoleFunc("dir");
-      function doWhilst(iteratee, test, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results;
-        function next(err, ...args) {
-          if (err) return callback(err);
-          if (err === false) return;
-          results = args;
-          _test(...args, check);
-        }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
-        }
-        return check(null, true);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      var doWhilst$1 = awaitify(doWhilst, 3);
-      function doUntil(iteratee, test, callback) {
-        const _test = wrapAsync(test);
-        return doWhilst$1(iteratee, (...args) => {
-          const cb = args.pop();
-          _test(...args, (err, truth) => cb(err, !truth));
-        }, callback);
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
+    var lru_cache_1 = require_commonjs21();
+    var node_path_1 = require("node:path");
+    var node_url_1 = require("node:url");
+    var fs_1 = require("fs");
+    var actualFS = __importStar2(require("node:fs"));
+    var realpathSync = fs_1.realpathSync.native;
+    var promises_1 = require("node:fs/promises");
+    var minipass_1 = require_commonjs22();
+    var defaultFS = {
+      lstatSync: fs_1.lstatSync,
+      readdir: fs_1.readdir,
+      readdirSync: fs_1.readdirSync,
+      readlinkSync: fs_1.readlinkSync,
+      realpathSync,
+      promises: {
+        lstat: promises_1.lstat,
+        readdir: promises_1.readdir,
+        readlink: promises_1.readlink,
+        realpath: promises_1.realpath
       }
-      function _withoutIndex(iteratee) {
-        return (value, index2, callback) => iteratee(value, callback);
+    };
+    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
+      ...defaultFS,
+      ...fsOption,
+      promises: {
+        ...defaultFS.promises,
+        ...fsOption.promises || {}
       }
-      function eachLimit$2(coll, iteratee, callback) {
-        return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+    };
+    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
+    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+    var eitherSep = /[\\\/]/;
+    var UNKNOWN = 0;
+    var IFIFO = 1;
+    var IFCHR = 2;
+    var IFDIR = 4;
+    var IFBLK = 6;
+    var IFREG = 8;
+    var IFLNK = 10;
+    var IFSOCK = 12;
+    var IFMT = 15;
+    var IFMT_UNKNOWN = ~IFMT;
+    var READDIR_CALLED = 16;
+    var LSTAT_CALLED = 32;
+    var ENOTDIR = 64;
+    var ENOENT = 128;
+    var ENOREADLINK = 256;
+    var ENOREALPATH = 512;
+    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
+    var TYPEMASK = 1023;
+    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
+    var normalizeCache = /* @__PURE__ */ new Map();
+    var normalize2 = (s) => {
+      const c = normalizeCache.get(s);
+      if (c)
+        return c;
+      const n = s.normalize("NFKD");
+      normalizeCache.set(s, n);
+      return n;
+    };
+    var normalizeNocaseCache = /* @__PURE__ */ new Map();
+    var normalizeNocase = (s) => {
+      const c = normalizeNocaseCache.get(s);
+      if (c)
+        return c;
+      const n = normalize2(s.toLowerCase());
+      normalizeNocaseCache.set(s, n);
+      return n;
+    };
+    var ResolveCache = class extends lru_cache_1.LRUCache {
+      constructor() {
+        super({ max: 256 });
       }
-      var each = awaitify(eachLimit$2, 3);
-      function eachLimit(coll, limit, iteratee, callback) {
-        return eachOfLimit$2(limit)(coll, _withoutIndex(wrapAsync(iteratee)), callback);
+    };
+    exports2.ResolveCache = ResolveCache;
+    var ChildrenCache = class extends lru_cache_1.LRUCache {
+      constructor(maxSize = 16 * 1024) {
+        super({
+          maxSize,
+          // parent + children
+          sizeCalculation: (a) => a.length + 1
+        });
+      }
+    };
+    exports2.ChildrenCache = ChildrenCache;
+    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
+    var PathBase = class {
+      /**
+       * the basename of this path
+       *
+       * **Important**: *always* test the path name against any test string
+       * usingthe {@link isNamed} method, and not by directly comparing this
+       * string. Otherwise, unicode path strings that the system sees as identical
+       * will not be properly treated as the same path, leading to incorrect
+       * behavior and possible security issues.
+       */
+      name;
+      /**
+       * the Path entry corresponding to the path root.
+       *
+       * @internal
+       */
+      root;
+      /**
+       * All roots found within the current PathScurry family
+       *
+       * @internal
+       */
+      roots;
+      /**
+       * a reference to the parent path, or undefined in the case of root entries
+       *
+       * @internal
+       */
+      parent;
+      /**
+       * boolean indicating whether paths are compared case-insensitively
+       * @internal
+       */
+      nocase;
+      /**
+       * boolean indicating that this path is the current working directory
+       * of the PathScurry collection that contains it.
+       */
+      isCWD = false;
+      // potential default fs override
+      #fs;
+      // Stats fields
+      #dev;
+      get dev() {
+        return this.#dev;
       }
-      var eachLimit$1 = awaitify(eachLimit, 4);
-      function eachSeries(coll, iteratee, callback) {
-        return eachLimit$1(coll, 1, iteratee, callback);
+      #mode;
+      get mode() {
+        return this.#mode;
       }
-      var eachSeries$1 = awaitify(eachSeries, 3);
-      function ensureAsync(fn) {
-        if (isAsync(fn)) return fn;
-        return function(...args) {
-          var callback = args.pop();
-          var sync = true;
-          args.push((...innerArgs) => {
-            if (sync) {
-              setImmediate$1(() => callback(...innerArgs));
-            } else {
-              callback(...innerArgs);
-            }
-          });
-          fn.apply(this, args);
-          sync = false;
-        };
+      #nlink;
+      get nlink() {
+        return this.#nlink;
       }
-      function every(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOf$1, coll, iteratee, callback);
+      #uid;
+      get uid() {
+        return this.#uid;
       }
-      var every$1 = awaitify(every, 3);
-      function everyLimit(coll, limit, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfLimit$2(limit), coll, iteratee, callback);
+      #gid;
+      get gid() {
+        return this.#gid;
       }
-      var everyLimit$1 = awaitify(everyLimit, 4);
-      function everySeries(coll, iteratee, callback) {
-        return _createTester((bool2) => !bool2, (res) => !res)(eachOfSeries$1, coll, iteratee, callback);
+      #rdev;
+      get rdev() {
+        return this.#rdev;
       }
-      var everySeries$1 = awaitify(everySeries, 3);
-      function filterArray(eachfn, arr, iteratee, callback) {
-        var truthValues = new Array(arr.length);
-        eachfn(arr, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            truthValues[index2] = !!v;
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          var results = [];
-          for (var i = 0; i < arr.length; i++) {
-            if (truthValues[i]) results.push(arr[i]);
-          }
-          callback(null, results);
-        });
+      #blksize;
+      get blksize() {
+        return this.#blksize;
       }
-      function filterGeneric(eachfn, coll, iteratee, callback) {
-        var results = [];
-        eachfn(coll, (x, index2, iterCb) => {
-          iteratee(x, (err, v) => {
-            if (err) return iterCb(err);
-            if (v) {
-              results.push({ index: index2, value: x });
-            }
-            iterCb(err);
-          });
-        }, (err) => {
-          if (err) return callback(err);
-          callback(null, results.sort((a, b) => a.index - b.index).map((v) => v.value));
-        });
+      #ino;
+      get ino() {
+        return this.#ino;
       }
-      function _filter(eachfn, coll, iteratee, callback) {
-        var filter2 = isArrayLike(coll) ? filterArray : filterGeneric;
-        return filter2(eachfn, coll, wrapAsync(iteratee), callback);
+      #size;
+      get size() {
+        return this.#size;
       }
-      function filter(coll, iteratee, callback) {
-        return _filter(eachOf$1, coll, iteratee, callback);
+      #blocks;
+      get blocks() {
+        return this.#blocks;
       }
-      var filter$1 = awaitify(filter, 3);
-      function filterLimit(coll, limit, iteratee, callback) {
-        return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
+      #atimeMs;
+      get atimeMs() {
+        return this.#atimeMs;
       }
-      var filterLimit$1 = awaitify(filterLimit, 4);
-      function filterSeries(coll, iteratee, callback) {
-        return _filter(eachOfSeries$1, coll, iteratee, callback);
+      #mtimeMs;
+      get mtimeMs() {
+        return this.#mtimeMs;
       }
-      var filterSeries$1 = awaitify(filterSeries, 3);
-      function forever(fn, errback) {
-        var done = onlyOnce(errback);
-        var task = wrapAsync(ensureAsync(fn));
-        function next(err) {
-          if (err) return done(err);
-          if (err === false) return;
-          task(next);
-        }
-        return next();
+      #ctimeMs;
+      get ctimeMs() {
+        return this.#ctimeMs;
       }
-      var forever$1 = awaitify(forever, 2);
-      function groupByLimit(coll, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(coll, limit, (val, iterCb) => {
-          _iteratee(val, (err, key) => {
-            if (err) return iterCb(err);
-            return iterCb(err, { key, val });
-          });
-        }, (err, mapResults) => {
-          var result = {};
-          var { hasOwnProperty } = Object.prototype;
-          for (var i = 0; i < mapResults.length; i++) {
-            if (mapResults[i]) {
-              var { key } = mapResults[i];
-              var { val } = mapResults[i];
-              if (hasOwnProperty.call(result, key)) {
-                result[key].push(val);
-              } else {
-                result[key] = [val];
-              }
-            }
-          }
-          return callback(err, result);
-        });
+      #birthtimeMs;
+      get birthtimeMs() {
+        return this.#birthtimeMs;
       }
-      var groupByLimit$1 = awaitify(groupByLimit, 4);
-      function groupBy(coll, iteratee, callback) {
-        return groupByLimit$1(coll, Infinity, iteratee, callback);
+      #atime;
+      get atime() {
+        return this.#atime;
       }
-      function groupBySeries(coll, iteratee, callback) {
-        return groupByLimit$1(coll, 1, iteratee, callback);
+      #mtime;
+      get mtime() {
+        return this.#mtime;
       }
-      var log = consoleFunc("log");
-      function mapValuesLimit(obj, limit, iteratee, callback) {
-        callback = once(callback);
-        var newObj = {};
-        var _iteratee = wrapAsync(iteratee);
-        return eachOfLimit$2(limit)(obj, (val, key, next) => {
-          _iteratee(val, key, (err, result) => {
-            if (err) return next(err);
-            newObj[key] = result;
-            next(err);
-          });
-        }, (err) => callback(err, newObj));
+      #ctime;
+      get ctime() {
+        return this.#ctime;
       }
-      var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
-      function mapValues(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, Infinity, iteratee, callback);
+      #birthtime;
+      get birthtime() {
+        return this.#birthtime;
       }
-      function mapValuesSeries(obj, iteratee, callback) {
-        return mapValuesLimit$1(obj, 1, iteratee, callback);
+      #matchName;
+      #depth;
+      #fullpath;
+      #fullpathPosix;
+      #relative;
+      #relativePosix;
+      #type;
+      #children;
+      #linkTarget;
+      #realpath;
+      /**
+       * This property is for compatibility with the Dirent class as of
+       * Node v20, where Dirent['parentPath'] refers to the path of the
+       * directory that was passed to readdir. For root entries, it's the path
+       * to the entry itself.
+       */
+      get parentPath() {
+        return (this.parent || this).fullpath();
       }
-      function memoize(fn, hasher = (v) => v) {
-        var memo = /* @__PURE__ */ Object.create(null);
-        var queues = /* @__PURE__ */ Object.create(null);
-        var _fn = wrapAsync(fn);
-        var memoized = initialParams((args, callback) => {
-          var key = hasher(...args);
-          if (key in memo) {
-            setImmediate$1(() => callback(null, ...memo[key]));
-          } else if (key in queues) {
-            queues[key].push(callback);
-          } else {
-            queues[key] = [callback];
-            _fn(...args, (err, ...resultArgs) => {
-              if (!err) {
-                memo[key] = resultArgs;
-              }
-              var q = queues[key];
-              delete queues[key];
-              for (var i = 0, l = q.length; i < l; i++) {
-                q[i](err, ...resultArgs);
-              }
-            });
-          }
-        });
-        memoized.memo = memo;
-        memoized.unmemoized = fn;
-        return memoized;
+      /**
+       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
+       * this property refers to the *parent* path, not the path object itself.
+       *
+       * @deprecated
+       */
+      get path() {
+        return this.parentPath;
       }
-      var _defer;
-      if (hasNextTick) {
-        _defer = process.nextTick;
-      } else if (hasSetImmediate) {
-        _defer = setImmediate;
-      } else {
-        _defer = fallback;
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        this.name = name;
+        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
+        this.#type = type2 & TYPEMASK;
+        this.nocase = nocase;
+        this.roots = roots;
+        this.root = root || this;
+        this.#children = children;
+        this.#fullpath = opts.fullpath;
+        this.#relative = opts.relative;
+        this.#relativePosix = opts.relativePosix;
+        this.parent = opts.parent;
+        if (this.parent) {
+          this.#fs = this.parent.#fs;
+        } else {
+          this.#fs = fsFromOption(opts.fs);
+        }
       }
-      var nextTick = wrap(_defer);
-      var _parallel = awaitify((eachfn, tasks, callback) => {
-        var results = isArrayLike(tasks) ? [] : {};
-        eachfn(tasks, (task, key, taskCb) => {
-          wrapAsync(task)((err, ...result) => {
-            if (result.length < 2) {
-              [result] = result;
-            }
-            results[key] = result;
-            taskCb(err);
-          });
-        }, (err) => callback(err, results));
-      }, 3);
-      function parallel(tasks, callback) {
-        return _parallel(eachOf$1, tasks, callback);
+      /**
+       * Returns the depth of the Path object from its root.
+       *
+       * For example, a path at `/foo/bar` would have a depth of 2.
+       */
+      depth() {
+        if (this.#depth !== void 0)
+          return this.#depth;
+        if (!this.parent)
+          return this.#depth = 0;
+        return this.#depth = this.parent.depth() + 1;
       }
-      function parallelLimit(tasks, limit, callback) {
-        return _parallel(eachOfLimit$2(limit), tasks, callback);
+      /**
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
       }
-      function queue(worker, concurrency) {
-        var _worker = wrapAsync(worker);
-        return queue$1((items, cb) => {
-          _worker(items[0], cb);
-        }, concurrency, 1);
+      /**
+       * Get the Path object referenced by the string path, resolved from this Path
+       */
+      resolve(path3) {
+        if (!path3) {
+          return this;
+        }
+        const rootPath = this.getRootString(path3);
+        const dir = path3.substring(rootPath.length);
+        const dirParts = dir.split(this.splitSep);
+        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
+        return result;
       }
-      class Heap {
-        constructor() {
-          this.heap = [];
-          this.pushCount = Number.MIN_SAFE_INTEGER;
+      #resolveParts(dirParts) {
+        let p = this;
+        for (const part of dirParts) {
+          p = p.child(part);
         }
-        get length() {
-          return this.heap.length;
+        return p;
+      }
+      /**
+       * Returns the cached children Path objects, if still available.  If they
+       * have fallen out of the cache, then returns an empty array, and resets the
+       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
+       * lookup.
+       *
+       * @internal
+       */
+      children() {
+        const cached = this.#children.get(this);
+        if (cached) {
+          return cached;
         }
-        empty() {
-          this.heap = [];
+        const children = Object.assign([], { provisional: 0 });
+        this.#children.set(this, children);
+        this.#type &= ~READDIR_CALLED;
+        return children;
+      }
+      /**
+       * Resolves a path portion and returns or creates the child Path.
+       *
+       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
+       * `'..'`.
+       *
+       * This should not be called directly.  If `pathPart` contains any path
+       * separators, it will lead to unsafe undefined behavior.
+       *
+       * Use `Path.resolve()` instead.
+       *
+       * @internal
+       */
+      child(pathPart, opts) {
+        if (pathPart === "" || pathPart === ".") {
           return this;
         }
-        percUp(index2) {
-          let p;
-          while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) {
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[p];
-            this.heap[p] = t;
-            index2 = p;
-          }
+        if (pathPart === "..") {
+          return this.parent || this;
         }
-        percDown(index2) {
-          let l;
-          while ((l = leftChi(index2)) < this.heap.length) {
-            if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) {
-              l = l + 1;
-            }
-            if (smaller(this.heap[index2], this.heap[l])) {
-              break;
-            }
-            let t = this.heap[index2];
-            this.heap[index2] = this.heap[l];
-            this.heap[l] = t;
-            index2 = l;
+        const children = this.children();
+        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
+        for (const p of children) {
+          if (p.#matchName === name) {
+            return p;
           }
         }
-        push(node) {
-          node.pushCount = ++this.pushCount;
-          this.heap.push(node);
-          this.percUp(this.heap.length - 1);
+        const s = this.parent ? this.sep : "";
+        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
+        const pchild = this.newChild(pathPart, UNKNOWN, {
+          ...opts,
+          parent: this,
+          fullpath
+        });
+        if (!this.canReaddir()) {
+          pchild.#type |= ENOENT;
         }
-        unshift(node) {
-          return this.heap.push(node);
+        children.push(pchild);
+        return pchild;
+      }
+      /**
+       * The relative path from the cwd. If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpath()
+       */
+      relative() {
+        if (this.isCWD)
+          return "";
+        if (this.#relative !== void 0) {
+          return this.#relative;
         }
-        shift() {
-          let [top] = this.heap;
-          this.heap[0] = this.heap[this.heap.length - 1];
-          this.heap.pop();
-          this.percDown(0);
-          return top;
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relative = this.name;
         }
-        toArray() {
-          return [...this];
+        const pv = p.relative();
+        return pv + (!pv || !p.parent ? "" : this.sep) + name;
+      }
+      /**
+       * The relative path from the cwd, using / as the path separator.
+       * If it does not share an ancestor with
+       * the cwd, then this ends up being equivalent to the fullpathPosix()
+       * On posix systems, this is identical to relative().
+       */
+      relativePosix() {
+        if (this.sep === "/")
+          return this.relative();
+        if (this.isCWD)
+          return "";
+        if (this.#relativePosix !== void 0)
+          return this.#relativePosix;
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#relativePosix = this.fullpathPosix();
         }
-        *[Symbol.iterator]() {
-          for (let i = 0; i < this.heap.length; i++) {
-            yield this.heap[i].data;
-          }
+        const pv = p.relativePosix();
+        return pv + (!pv || !p.parent ? "" : "/") + name;
+      }
+      /**
+       * The fully resolved path string for this Path entry
+       */
+      fullpath() {
+        if (this.#fullpath !== void 0) {
+          return this.#fullpath;
         }
-        remove(testFn) {
-          let j = 0;
-          for (let i = 0; i < this.heap.length; i++) {
-            if (!testFn(this.heap[i])) {
-              this.heap[j] = this.heap[i];
-              j++;
-            }
-          }
-          this.heap.splice(j);
-          for (let i = parent(this.heap.length - 1); i >= 0; i--) {
-            this.percDown(i);
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+          return this.#fullpath = this.name;
+        }
+        const pv = p.fullpath();
+        const fp = pv + (!p.parent ? "" : this.sep) + name;
+        return this.#fullpath = fp;
+      }
+      /**
+       * On platforms other than windows, this is identical to fullpath.
+       *
+       * On windows, this is overridden to return the forward-slash form of the
+       * full UNC path.
+       */
+      fullpathPosix() {
+        if (this.#fullpathPosix !== void 0)
+          return this.#fullpathPosix;
+        if (this.sep === "/")
+          return this.#fullpathPosix = this.fullpath();
+        if (!this.parent) {
+          const p2 = this.fullpath().replace(/\\/g, "/");
+          if (/^[a-z]:\//i.test(p2)) {
+            return this.#fullpathPosix = `//?/${p2}`;
+          } else {
+            return this.#fullpathPosix = p2;
           }
-          return this;
         }
+        const p = this.parent;
+        const pfpp = p.fullpathPosix();
+        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
+        return this.#fullpathPosix = fpp;
       }
-      function leftChi(i) {
-        return (i << 1) + 1;
+      /**
+       * Is the Path of an unknown type?
+       *
+       * Note that we might know *something* about it if there has been a previous
+       * filesystem operation, for example that it does not exist, or is not a
+       * link, or whether it has child entries.
+       */
+      isUnknown() {
+        return (this.#type & IFMT) === UNKNOWN;
       }
-      function parent(i) {
-        return (i + 1 >> 1) - 1;
+      isType(type2) {
+        return this[`is${type2}`]();
       }
-      function smaller(x, y) {
-        if (x.priority !== y.priority) {
-          return x.priority < y.priority;
-        } else {
-          return x.pushCount < y.pushCount;
-        }
+      getType() {
+        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
+          /* c8 ignore start */
+          this.isSocket() ? "Socket" : "Unknown"
+        );
       }
-      function priorityQueue(worker, concurrency) {
-        var q = queue(worker, concurrency);
-        var {
-          push,
-          pushAsync
-        } = q;
-        q._tasks = new Heap();
-        q._createTaskItem = ({ data, priority }, callback) => {
-          return {
-            data,
-            priority,
-            callback
-          };
-        };
-        function createDataItems(tasks, priority) {
-          if (!Array.isArray(tasks)) {
-            return { data: tasks, priority };
-          }
-          return tasks.map((data) => {
-            return { data, priority };
-          });
-        }
-        q.push = function(data, priority = 0, callback) {
-          return push(createDataItems(data, priority), callback);
-        };
-        q.pushAsync = function(data, priority = 0, callback) {
-          return pushAsync(createDataItems(data, priority), callback);
-        };
-        delete q.unshift;
-        delete q.unshiftAsync;
-        return q;
+      /**
+       * Is the Path a regular file?
+       */
+      isFile() {
+        return (this.#type & IFMT) === IFREG;
       }
-      function race(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new TypeError("First argument to race must be an array of functions"));
-        if (!tasks.length) return callback();
-        for (var i = 0, l = tasks.length; i < l; i++) {
-          wrapAsync(tasks[i])(callback);
-        }
+      /**
+       * Is the Path a directory?
+       */
+      isDirectory() {
+        return (this.#type & IFMT) === IFDIR;
       }
-      var race$1 = awaitify(race, 2);
-      function reduceRight(array, memo, iteratee, callback) {
-        var reversed = [...array].reverse();
-        return reduce$1(reversed, memo, iteratee, callback);
+      /**
+       * Is the path a character device?
+       */
+      isCharacterDevice() {
+        return (this.#type & IFMT) === IFCHR;
       }
-      function reflect(fn) {
-        var _fn = wrapAsync(fn);
-        return initialParams(function reflectOn(args, reflectCallback) {
-          args.push((error3, ...cbArgs) => {
-            let retVal = {};
-            if (error3) {
-              retVal.error = error3;
-            }
-            if (cbArgs.length > 0) {
-              var value = cbArgs;
-              if (cbArgs.length <= 1) {
-                [value] = cbArgs;
-              }
-              retVal.value = value;
-            }
-            reflectCallback(null, retVal);
-          });
-          return _fn.apply(this, args);
-        });
+      /**
+       * Is the path a block device?
+       */
+      isBlockDevice() {
+        return (this.#type & IFMT) === IFBLK;
       }
-      function reflectAll(tasks) {
-        var results;
-        if (Array.isArray(tasks)) {
-          results = tasks.map(reflect);
-        } else {
-          results = {};
-          Object.keys(tasks).forEach((key) => {
-            results[key] = reflect.call(this, tasks[key]);
-          });
-        }
-        return results;
+      /**
+       * Is the path a FIFO pipe?
+       */
+      isFIFO() {
+        return (this.#type & IFMT) === IFIFO;
       }
-      function reject$2(eachfn, arr, _iteratee, callback) {
-        const iteratee = wrapAsync(_iteratee);
-        return _filter(eachfn, arr, (value, cb) => {
-          iteratee(value, (err, v) => {
-            cb(err, !v);
-          });
-        }, callback);
+      /**
+       * Is the path a socket?
+       */
+      isSocket() {
+        return (this.#type & IFMT) === IFSOCK;
       }
-      function reject(coll, iteratee, callback) {
-        return reject$2(eachOf$1, coll, iteratee, callback);
+      /**
+       * Is the path a symbolic link?
+       */
+      isSymbolicLink() {
+        return (this.#type & IFLNK) === IFLNK;
       }
-      var reject$1 = awaitify(reject, 3);
-      function rejectLimit(coll, limit, iteratee, callback) {
-        return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
+      /**
+       * Return the entry if it has been subject of a successful lstat, or
+       * undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* simply
+       * mean that we haven't called lstat on it.
+       */
+      lstatCached() {
+        return this.#type & LSTAT_CALLED ? this : void 0;
       }
-      var rejectLimit$1 = awaitify(rejectLimit, 4);
-      function rejectSeries(coll, iteratee, callback) {
-        return reject$2(eachOfSeries$1, coll, iteratee, callback);
+      /**
+       * Return the cached link target if the entry has been the subject of a
+       * successful readlink, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readlink() has been called at some point.
+       */
+      readlinkCached() {
+        return this.#linkTarget;
       }
-      var rejectSeries$1 = awaitify(rejectSeries, 3);
-      function constant(value) {
-        return function() {
-          return value;
-        };
+      /**
+       * Returns the cached realpath target if the entry has been the subject
+       * of a successful realpath, or undefined otherwise.
+       *
+       * Does not read the filesystem, so an undefined result *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * realpath() has been called at some point.
+       */
+      realpathCached() {
+        return this.#realpath;
       }
-      const DEFAULT_TIMES = 5;
-      const DEFAULT_INTERVAL = 0;
-      function retry2(opts, task, callback) {
-        var options = {
-          times: DEFAULT_TIMES,
-          intervalFunc: constant(DEFAULT_INTERVAL)
-        };
-        if (arguments.length < 3 && typeof opts === "function") {
-          callback = task || promiseCallback();
-          task = opts;
-        } else {
-          parseTimes(options, opts);
-          callback = callback || promiseCallback();
+      /**
+       * Returns the cached child Path entries array if the entry has been the
+       * subject of a successful readdir(), or [] otherwise.
+       *
+       * Does not read the filesystem, so an empty array *could* just mean we
+       * don't have any cached data. Only use it if you are very sure that a
+       * readdir() has been called recently enough to still be valid.
+       */
+      readdirCached() {
+        const children = this.children();
+        return children.slice(0, children.provisional);
+      }
+      /**
+       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
+       * any indication that readlink will definitely fail.
+       *
+       * Returns false if the path is known to not be a symlink, if a previous
+       * readlink failed, or if the entry does not exist.
+       */
+      canReadlink() {
+        if (this.#linkTarget)
+          return true;
+        if (!this.parent)
+          return false;
+        const ifmt = this.#type & IFMT;
+        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      }
+      /**
+       * Return true if readdir has previously been successfully called on this
+       * path, indicating that cachedReaddir() is likely valid.
+       */
+      calledReaddir() {
+        return !!(this.#type & READDIR_CALLED);
+      }
+      /**
+       * Returns true if the path is known to not exist. That is, a previous lstat
+       * or readdir failed to verify its existence when that would have been
+       * expected, or a parent entry was marked either enoent or enotdir.
+       */
+      isENOENT() {
+        return !!(this.#type & ENOENT);
+      }
+      /**
+       * Return true if the path is a match for the given path name.  This handles
+       * case sensitivity and unicode normalization.
+       *
+       * Note: even on case-sensitive systems, it is **not** safe to test the
+       * equality of the `.name` property to determine whether a given pathname
+       * matches, due to unicode normalization mismatches.
+       *
+       * Always use this method instead of testing the `path.name` property
+       * directly.
+       */
+      isNamed(n) {
+        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+      }
+      /**
+       * Return the Path object corresponding to the target of a symbolic link.
+       *
+       * If the Path is not a symbolic link, or if the readlink call fails for any
+       * reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       */
+      async readlink() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
         }
-        if (typeof task !== "function") {
-          throw new Error("Invalid arguments for async.retry");
+        if (!this.canReadlink()) {
+          return void 0;
         }
-        var _task = wrapAsync(task);
-        var attempt = 1;
-        function retryAttempt() {
-          _task((err, ...args) => {
-            if (err === false) return;
-            if (err && attempt++ < options.times && (typeof options.errorFilter != "function" || options.errorFilter(err))) {
-              setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
-            } else {
-              callback(err, ...args);
-            }
-          });
+        if (!this.parent) {
+          return void 0;
         }
-        retryAttempt();
-        return callback[PROMISE_SYMBOL];
-      }
-      function parseTimes(acc, t) {
-        if (typeof t === "object") {
-          acc.times = +t.times || DEFAULT_TIMES;
-          acc.intervalFunc = typeof t.interval === "function" ? t.interval : constant(+t.interval || DEFAULT_INTERVAL);
-          acc.errorFilter = t.errorFilter;
-        } else if (typeof t === "number" || typeof t === "string") {
-          acc.times = +t || DEFAULT_TIMES;
-        } else {
-          throw new Error("Invalid arguments for async.retry");
+        try {
+          const read = await this.#fs.promises.readlink(this.fullpath());
+          const linkTarget = (await this.parent.realpath())?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
+          }
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
         }
       }
-      function retryable(opts, task) {
-        if (!task) {
-          task = opts;
-          opts = null;
+      /**
+       * Synchronous {@link PathBase.readlink}
+       */
+      readlinkSync() {
+        const target = this.#linkTarget;
+        if (target) {
+          return target;
         }
-        let arity = opts && opts.arity || task.length;
-        if (isAsync(task)) {
-          arity += 1;
+        if (!this.canReadlink()) {
+          return void 0;
         }
-        var _task = wrapAsync(task);
-        return initialParams((args, callback) => {
-          if (args.length < arity - 1 || callback == null) {
-            args.push(callback);
-            callback = promiseCallback();
-          }
-          function taskFn(cb) {
-            _task(...args, cb);
+        if (!this.parent) {
+          return void 0;
+        }
+        try {
+          const read = this.#fs.readlinkSync(this.fullpath());
+          const linkTarget = this.parent.realpathSync()?.resolve(read);
+          if (linkTarget) {
+            return this.#linkTarget = linkTarget;
           }
-          if (opts) retry2(opts, taskFn, callback);
-          else retry2(taskFn, callback);
-          return callback[PROMISE_SYMBOL];
-        });
-      }
-      function series(tasks, callback) {
-        return _parallel(eachOfSeries$1, tasks, callback);
-      }
-      function some(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOf$1, coll, iteratee, callback);
-      }
-      var some$1 = awaitify(some, 3);
-      function someLimit(coll, limit, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfLimit$2(limit), coll, iteratee, callback);
-      }
-      var someLimit$1 = awaitify(someLimit, 4);
-      function someSeries(coll, iteratee, callback) {
-        return _createTester(Boolean, (res) => res)(eachOfSeries$1, coll, iteratee, callback);
+        } catch (er) {
+          this.#readlinkFail(er.code);
+          return void 0;
+        }
       }
-      var someSeries$1 = awaitify(someSeries, 3);
-      function sortBy(coll, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return map$1(coll, (x, iterCb) => {
-          _iteratee(x, (err, criteria) => {
-            if (err) return iterCb(err);
-            iterCb(err, { value: x, criteria });
-          });
-        }, (err, results) => {
-          if (err) return callback(err);
-          callback(null, results.sort(comparator).map((v) => v.value));
-        });
-        function comparator(left, right) {
-          var a = left.criteria, b = right.criteria;
-          return a < b ? -1 : a > b ? 1 : 0;
+      #readdirSuccess(children) {
+        this.#type |= READDIR_CALLED;
+        for (let p = children.provisional; p < children.length; p++) {
+          const c = children[p];
+          if (c)
+            c.#markENOENT();
         }
       }
-      var sortBy$1 = awaitify(sortBy, 3);
-      function timeout(asyncFn, milliseconds, info7) {
-        var fn = wrapAsync(asyncFn);
-        return initialParams((args, callback) => {
-          var timedOut = false;
-          var timer;
-          function timeoutCallback() {
-            var name = asyncFn.name || "anonymous";
-            var error3 = new Error('Callback function "' + name + '" timed out.');
-            error3.code = "ETIMEDOUT";
-            if (info7) {
-              error3.info = info7;
-            }
-            timedOut = true;
-            callback(error3);
-          }
-          args.push((...cbArgs) => {
-            if (!timedOut) {
-              callback(...cbArgs);
-              clearTimeout(timer);
-            }
-          });
-          timer = setTimeout(timeoutCallback, milliseconds);
-          fn(...args);
-        });
+      #markENOENT() {
+        if (this.#type & ENOENT)
+          return;
+        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
+        this.#markChildrenENOENT();
       }
-      function range(size) {
-        var result = Array(size);
-        while (size--) {
-          result[size] = size;
+      #markChildrenENOENT() {
+        const children = this.children();
+        children.provisional = 0;
+        for (const p of children) {
+          p.#markENOENT();
         }
-        return result;
-      }
-      function timesLimit(count, limit, iteratee, callback) {
-        var _iteratee = wrapAsync(iteratee);
-        return mapLimit$1(range(count), limit, _iteratee, callback);
       }
-      function times(n, iteratee, callback) {
-        return timesLimit(n, Infinity, iteratee, callback);
+      #markENOREALPATH() {
+        this.#type |= ENOREALPATH;
+        this.#markENOTDIR();
       }
-      function timesSeries(n, iteratee, callback) {
-        return timesLimit(n, 1, iteratee, callback);
+      // save the information when we know the entry is not a dir
+      #markENOTDIR() {
+        if (this.#type & ENOTDIR)
+          return;
+        let t = this.#type;
+        if ((t & IFMT) === IFDIR)
+          t &= IFMT_UNKNOWN;
+        this.#type = t | ENOTDIR;
+        this.#markChildrenENOENT();
       }
-      function transform(coll, accumulator, iteratee, callback) {
-        if (arguments.length <= 3 && typeof accumulator === "function") {
-          callback = iteratee;
-          iteratee = accumulator;
-          accumulator = Array.isArray(coll) ? [] : {};
+      #readdirFail(code = "") {
+        if (code === "ENOTDIR" || code === "EPERM") {
+          this.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
+        } else {
+          this.children().provisional = 0;
         }
-        callback = once(callback || promiseCallback());
-        var _iteratee = wrapAsync(iteratee);
-        eachOf$1(coll, (v, k, cb) => {
-          _iteratee(accumulator, v, k, cb);
-        }, (err) => callback(err, accumulator));
-        return callback[PROMISE_SYMBOL];
-      }
-      function tryEach(tasks, callback) {
-        var error3 = null;
-        var result;
-        return eachSeries$1(tasks, (task, taskCb) => {
-          wrapAsync(task)((err, ...args) => {
-            if (err === false) return taskCb(err);
-            if (args.length < 2) {
-              [result] = args;
-            } else {
-              result = args;
-            }
-            error3 = err;
-            taskCb(err ? null : {});
-          });
-        }, () => callback(error3, result));
       }
-      var tryEach$1 = awaitify(tryEach);
-      function unmemoize(fn) {
-        return (...args) => {
-          return (fn.unmemoized || fn)(...args);
-        };
+      #lstatFail(code = "") {
+        if (code === "ENOTDIR") {
+          const p = this.parent;
+          p.#markENOTDIR();
+        } else if (code === "ENOENT") {
+          this.#markENOENT();
+        }
       }
-      function whilst(test, iteratee, callback) {
-        callback = onlyOnce(callback);
-        var _fn = wrapAsync(iteratee);
-        var _test = wrapAsync(test);
-        var results = [];
-        function next(err, ...rest) {
-          if (err) return callback(err);
-          results = rest;
-          if (err === false) return;
-          _test(check);
+      #readlinkFail(code = "") {
+        let ter = this.#type;
+        ter |= ENOREADLINK;
+        if (code === "ENOENT")
+          ter |= ENOENT;
+        if (code === "EINVAL" || code === "UNKNOWN") {
+          ter &= IFMT_UNKNOWN;
         }
-        function check(err, truth) {
-          if (err) return callback(err);
-          if (err === false) return;
-          if (!truth) return callback(null, ...results);
-          _fn(next);
+        this.#type = ter;
+        if (code === "ENOTDIR" && this.parent) {
+          this.parent.#markENOTDIR();
         }
-        return _test(check);
       }
-      var whilst$1 = awaitify(whilst, 3);
-      function until(test, iteratee, callback) {
-        const _test = wrapAsync(test);
-        return whilst$1((cb) => _test((err, truth) => cb(err, !truth)), iteratee, callback);
+      #readdirAddChild(e, c) {
+        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
       }
-      function waterfall(tasks, callback) {
-        callback = once(callback);
-        if (!Array.isArray(tasks)) return callback(new Error("First argument to waterfall must be an array of functions"));
-        if (!tasks.length) return callback();
-        var taskIndex = 0;
-        function nextTask(args) {
-          var task = wrapAsync(tasks[taskIndex++]);
-          task(...args, onlyOnce(next));
+      #readdirAddNewChild(e, c) {
+        const type2 = entToType(e);
+        const child = this.newChild(e.name, type2, { parent: this });
+        const ifmt = child.#type & IFMT;
+        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
+          child.#type |= ENOTDIR;
         }
-        function next(err, ...args) {
-          if (err === false) return;
-          if (err || taskIndex === tasks.length) {
-            return callback(err, ...args);
+        c.unshift(child);
+        c.provisional++;
+        return child;
+      }
+      #readdirMaybePromoteChild(e, c) {
+        for (let p = c.provisional; p < c.length; p++) {
+          const pchild = c[p];
+          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
+          if (name !== pchild.#matchName) {
+            continue;
           }
-          nextTask(args);
+          return this.#readdirPromoteChild(e, pchild, p, c);
         }
-        nextTask([]);
       }
-      var waterfall$1 = awaitify(waterfall);
-      var index = {
-        apply,
-        applyEach,
-        applyEachSeries,
-        asyncify,
-        auto,
-        autoInject,
-        cargo: cargo$1,
-        cargoQueue: cargo,
-        compose,
-        concat: concat$1,
-        concatLimit: concatLimit$1,
-        concatSeries: concatSeries$1,
-        constant: constant$1,
-        detect: detect$1,
-        detectLimit: detectLimit$1,
-        detectSeries: detectSeries$1,
-        dir,
-        doUntil,
-        doWhilst: doWhilst$1,
-        each,
-        eachLimit: eachLimit$1,
-        eachOf: eachOf$1,
-        eachOfLimit: eachOfLimit$1,
-        eachOfSeries: eachOfSeries$1,
-        eachSeries: eachSeries$1,
-        ensureAsync,
-        every: every$1,
-        everyLimit: everyLimit$1,
-        everySeries: everySeries$1,
-        filter: filter$1,
-        filterLimit: filterLimit$1,
-        filterSeries: filterSeries$1,
-        forever: forever$1,
-        groupBy,
-        groupByLimit: groupByLimit$1,
-        groupBySeries,
-        log,
-        map: map$1,
-        mapLimit: mapLimit$1,
-        mapSeries: mapSeries$1,
-        mapValues,
-        mapValuesLimit: mapValuesLimit$1,
-        mapValuesSeries,
-        memoize,
-        nextTick,
-        parallel,
-        parallelLimit,
-        priorityQueue,
-        queue,
-        race: race$1,
-        reduce: reduce$1,
-        reduceRight,
-        reflect,
-        reflectAll,
-        reject: reject$1,
-        rejectLimit: rejectLimit$1,
-        rejectSeries: rejectSeries$1,
-        retry: retry2,
-        retryable,
-        seq: seq2,
-        series,
-        setImmediate: setImmediate$1,
-        some: some$1,
-        someLimit: someLimit$1,
-        someSeries: someSeries$1,
-        sortBy: sortBy$1,
-        timeout,
-        times,
-        timesLimit,
-        timesSeries,
-        transform,
-        tryEach: tryEach$1,
-        unmemoize,
-        until,
-        waterfall: waterfall$1,
-        whilst: whilst$1,
-        // aliases
-        all: every$1,
-        allLimit: everyLimit$1,
-        allSeries: everySeries$1,
-        any: some$1,
-        anyLimit: someLimit$1,
-        anySeries: someSeries$1,
-        find: detect$1,
-        findLimit: detectLimit$1,
-        findSeries: detectSeries$1,
-        flatMap: concat$1,
-        flatMapLimit: concatLimit$1,
-        flatMapSeries: concatSeries$1,
-        forEach: each,
-        forEachSeries: eachSeries$1,
-        forEachLimit: eachLimit$1,
-        forEachOf: eachOf$1,
-        forEachOfSeries: eachOfSeries$1,
-        forEachOfLimit: eachOfLimit$1,
-        inject: reduce$1,
-        foldl: reduce$1,
-        foldr: reduceRight,
-        select: filter$1,
-        selectLimit: filterLimit$1,
-        selectSeries: filterSeries$1,
-        wrapSync: asyncify,
-        during: whilst$1,
-        doDuring: doWhilst$1
-      };
-      exports3.all = every$1;
-      exports3.allLimit = everyLimit$1;
-      exports3.allSeries = everySeries$1;
-      exports3.any = some$1;
-      exports3.anyLimit = someLimit$1;
-      exports3.anySeries = someSeries$1;
-      exports3.apply = apply;
-      exports3.applyEach = applyEach;
-      exports3.applyEachSeries = applyEachSeries;
-      exports3.asyncify = asyncify;
-      exports3.auto = auto;
-      exports3.autoInject = autoInject;
-      exports3.cargo = cargo$1;
-      exports3.cargoQueue = cargo;
-      exports3.compose = compose;
-      exports3.concat = concat$1;
-      exports3.concatLimit = concatLimit$1;
-      exports3.concatSeries = concatSeries$1;
-      exports3.constant = constant$1;
-      exports3.default = index;
-      exports3.detect = detect$1;
-      exports3.detectLimit = detectLimit$1;
-      exports3.detectSeries = detectSeries$1;
-      exports3.dir = dir;
-      exports3.doDuring = doWhilst$1;
-      exports3.doUntil = doUntil;
-      exports3.doWhilst = doWhilst$1;
-      exports3.during = whilst$1;
-      exports3.each = each;
-      exports3.eachLimit = eachLimit$1;
-      exports3.eachOf = eachOf$1;
-      exports3.eachOfLimit = eachOfLimit$1;
-      exports3.eachOfSeries = eachOfSeries$1;
-      exports3.eachSeries = eachSeries$1;
-      exports3.ensureAsync = ensureAsync;
-      exports3.every = every$1;
-      exports3.everyLimit = everyLimit$1;
-      exports3.everySeries = everySeries$1;
-      exports3.filter = filter$1;
-      exports3.filterLimit = filterLimit$1;
-      exports3.filterSeries = filterSeries$1;
-      exports3.find = detect$1;
-      exports3.findLimit = detectLimit$1;
-      exports3.findSeries = detectSeries$1;
-      exports3.flatMap = concat$1;
-      exports3.flatMapLimit = concatLimit$1;
-      exports3.flatMapSeries = concatSeries$1;
-      exports3.foldl = reduce$1;
-      exports3.foldr = reduceRight;
-      exports3.forEach = each;
-      exports3.forEachLimit = eachLimit$1;
-      exports3.forEachOf = eachOf$1;
-      exports3.forEachOfLimit = eachOfLimit$1;
-      exports3.forEachOfSeries = eachOfSeries$1;
-      exports3.forEachSeries = eachSeries$1;
-      exports3.forever = forever$1;
-      exports3.groupBy = groupBy;
-      exports3.groupByLimit = groupByLimit$1;
-      exports3.groupBySeries = groupBySeries;
-      exports3.inject = reduce$1;
-      exports3.log = log;
-      exports3.map = map$1;
-      exports3.mapLimit = mapLimit$1;
-      exports3.mapSeries = mapSeries$1;
-      exports3.mapValues = mapValues;
-      exports3.mapValuesLimit = mapValuesLimit$1;
-      exports3.mapValuesSeries = mapValuesSeries;
-      exports3.memoize = memoize;
-      exports3.nextTick = nextTick;
-      exports3.parallel = parallel;
-      exports3.parallelLimit = parallelLimit;
-      exports3.priorityQueue = priorityQueue;
-      exports3.queue = queue;
-      exports3.race = race$1;
-      exports3.reduce = reduce$1;
-      exports3.reduceRight = reduceRight;
-      exports3.reflect = reflect;
-      exports3.reflectAll = reflectAll;
-      exports3.reject = reject$1;
-      exports3.rejectLimit = rejectLimit$1;
-      exports3.rejectSeries = rejectSeries$1;
-      exports3.retry = retry2;
-      exports3.retryable = retryable;
-      exports3.select = filter$1;
-      exports3.selectLimit = filterLimit$1;
-      exports3.selectSeries = filterSeries$1;
-      exports3.seq = seq2;
-      exports3.series = series;
-      exports3.setImmediate = setImmediate$1;
-      exports3.some = some$1;
-      exports3.someLimit = someLimit$1;
-      exports3.someSeries = someSeries$1;
-      exports3.sortBy = sortBy$1;
-      exports3.timeout = timeout;
-      exports3.times = times;
-      exports3.timesLimit = timesLimit;
-      exports3.timesSeries = timesSeries;
-      exports3.transform = transform;
-      exports3.tryEach = tryEach$1;
-      exports3.unmemoize = unmemoize;
-      exports3.until = until;
-      exports3.waterfall = waterfall$1;
-      exports3.whilst = whilst$1;
-      exports3.wrapSync = asyncify;
-      Object.defineProperty(exports3, "__esModule", { value: true });
-    }));
-  }
-});
-
-// node_modules/graceful-fs/polyfills.js
-var require_polyfills = __commonJS({
-  "node_modules/graceful-fs/polyfills.js"(exports2, module2) {
-    var constants = require("constants");
-    var origCwd = process.cwd;
-    var cwd = null;
-    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
-    process.cwd = function() {
-      if (!cwd)
-        cwd = origCwd.call(process);
-      return cwd;
-    };
-    try {
-      process.cwd();
-    } catch (er) {
-    }
-    if (typeof process.chdir === "function") {
-      chdir = process.chdir;
-      process.chdir = function(d) {
-        cwd = null;
-        chdir.call(process, d);
-      };
-      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
-    }
-    var chdir;
-    module2.exports = patch;
-    function patch(fs3) {
-      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
-        patchLchmod(fs3);
+      #readdirPromoteChild(e, p, index, c) {
+        const v = p.name;
+        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
+        if (v !== e.name)
+          p.name = e.name;
+        if (index !== c.provisional) {
+          if (index === c.length - 1)
+            c.pop();
+          else
+            c.splice(index, 1);
+          c.unshift(p);
+        }
+        c.provisional++;
+        return p;
       }
-      if (!fs3.lutimes) {
-        patchLutimes(fs3);
+      /**
+       * Call lstat() on this Path, and update all known information that can be
+       * determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat() {
+        if ((this.#type & ENOENT) === 0) {
+          try {
+            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
+          }
+        }
       }
-      fs3.chown = chownFix(fs3.chown);
-      fs3.fchown = chownFix(fs3.fchown);
-      fs3.lchown = chownFix(fs3.lchown);
-      fs3.chmod = chmodFix(fs3.chmod);
-      fs3.fchmod = chmodFix(fs3.fchmod);
-      fs3.lchmod = chmodFix(fs3.lchmod);
-      fs3.chownSync = chownFixSync(fs3.chownSync);
-      fs3.fchownSync = chownFixSync(fs3.fchownSync);
-      fs3.lchownSync = chownFixSync(fs3.lchownSync);
-      fs3.chmodSync = chmodFixSync(fs3.chmodSync);
-      fs3.fchmodSync = chmodFixSync(fs3.fchmodSync);
-      fs3.lchmodSync = chmodFixSync(fs3.lchmodSync);
-      fs3.stat = statFix(fs3.stat);
-      fs3.fstat = statFix(fs3.fstat);
-      fs3.lstat = statFix(fs3.lstat);
-      fs3.statSync = statFixSync(fs3.statSync);
-      fs3.fstatSync = statFixSync(fs3.fstatSync);
-      fs3.lstatSync = statFixSync(fs3.lstatSync);
-      if (fs3.chmod && !fs3.lchmod) {
-        fs3.lchmod = function(path3, mode, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs3.lchmodSync = function() {
-        };
+      /**
+       * synchronous {@link PathBase.lstat}
+       */
+      lstatSync() {
+        if ((this.#type & ENOENT) === 0) {
+          try {
+            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
+            return this;
+          } catch (er) {
+            this.#lstatFail(er.code);
+          }
+        }
       }
-      if (fs3.chown && !fs3.lchown) {
-        fs3.lchown = function(path3, uid, gid, cb) {
-          if (cb) process.nextTick(cb);
-        };
-        fs3.lchownSync = function() {
-        };
+      #applyStat(st) {
+        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
+        this.#atime = atime;
+        this.#atimeMs = atimeMs;
+        this.#birthtime = birthtime;
+        this.#birthtimeMs = birthtimeMs;
+        this.#blksize = blksize;
+        this.#blocks = blocks;
+        this.#ctime = ctime;
+        this.#ctimeMs = ctimeMs;
+        this.#dev = dev;
+        this.#gid = gid;
+        this.#ino = ino;
+        this.#mode = mode;
+        this.#mtime = mtime;
+        this.#mtimeMs = mtimeMs;
+        this.#nlink = nlink;
+        this.#rdev = rdev;
+        this.#size = size;
+        this.#uid = uid;
+        const ifmt = entToType(st);
+        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
+        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
+          this.#type |= ENOTDIR;
+        }
       }
-      if (platform === "win32") {
-        fs3.rename = typeof fs3.rename !== "function" ? fs3.rename : (function(fs$rename) {
-          function rename(from, to, cb) {
-            var start = Date.now();
-            var backoff = 0;
-            fs$rename(from, to, function CB(er) {
-              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
-                setTimeout(function() {
-                  fs3.stat(to, function(stater, st) {
-                    if (stater && stater.code === "ENOENT")
-                      fs$rename(from, to, CB);
-                    else
-                      cb(er);
-                  });
-                }, backoff);
-                if (backoff < 100)
-                  backoff += 10;
-                return;
-              }
-              if (cb) cb(er);
-            });
-          }
-          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
-          return rename;
-        })(fs3.rename);
+      #onReaddirCB = [];
+      #readdirCBInFlight = false;
+      #callOnReaddirCB(children) {
+        this.#readdirCBInFlight = false;
+        const cbs = this.#onReaddirCB.slice();
+        this.#onReaddirCB.length = 0;
+        cbs.forEach((cb) => cb(null, children));
       }
-      fs3.read = typeof fs3.read !== "function" ? fs3.read : (function(fs$read) {
-        function read(fd, buffer, offset, length, position, callback_) {
-          var callback;
-          if (callback_ && typeof callback_ === "function") {
-            var eagCounter = 0;
-            callback = function(er, _2, __) {
-              if (er && er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
-              }
-              callback_.apply(this, arguments);
-            };
-          }
-          return fs$read.call(fs3, fd, buffer, offset, length, position, callback);
+      /**
+       * Standard node-style callback interface to get list of directory entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       *
+       * @param cb The callback called with (er, entries).  Note that the `er`
+       * param is somewhat extraneous, as all readdir() errors are handled and
+       * simply result in an empty set of entries being returned.
+       * @param allowZalgo Boolean indicating that immediately known results should
+       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
+       * zalgo at your peril, the dark pony lord is devious and unforgiving.
+       */
+      readdirCB(cb, allowZalgo = false) {
+        if (!this.canReaddir()) {
+          if (allowZalgo)
+            cb(null, []);
+          else
+            queueMicrotask(() => cb(null, []));
+          return;
         }
-        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
-        return read;
-      })(fs3.read);
-      fs3.readSync = typeof fs3.readSync !== "function" ? fs3.readSync : /* @__PURE__ */ (function(fs$readSync) {
-        return function(fd, buffer, offset, length, position) {
-          var eagCounter = 0;
-          while (true) {
-            try {
-              return fs$readSync.call(fs3, fd, buffer, offset, length, position);
-            } catch (er) {
-              if (er.code === "EAGAIN" && eagCounter < 10) {
-                eagCounter++;
-                continue;
-              }
-              throw er;
+        const children = this.children();
+        if (this.calledReaddir()) {
+          const c = children.slice(0, children.provisional);
+          if (allowZalgo)
+            cb(null, c);
+          else
+            queueMicrotask(() => cb(null, c));
+          return;
+        }
+        this.#onReaddirCB.push(cb);
+        if (this.#readdirCBInFlight) {
+          return;
+        }
+        this.#readdirCBInFlight = true;
+        const fullpath = this.fullpath();
+        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
+          if (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
+          } else {
+            for (const e of entries) {
+              this.#readdirAddChild(e, children);
             }
+            this.#readdirSuccess(children);
           }
-        };
-      })(fs3.readSync);
-      function patchLchmod(fs4) {
-        fs4.lchmod = function(path3, mode, callback) {
-          fs4.open(
-            path3,
-            constants.O_WRONLY | constants.O_SYMLINK,
-            mode,
-            function(err, fd) {
-              if (err) {
-                if (callback) callback(err);
-                return;
-              }
-              fs4.fchmod(fd, mode, function(err2) {
-                fs4.close(fd, function(err22) {
-                  if (callback) callback(err2 || err22);
-                });
-              });
-            }
-          );
-        };
-        fs4.lchmodSync = function(path3, mode) {
-          var fd = fs4.openSync(path3, constants.O_WRONLY | constants.O_SYMLINK, mode);
-          var threw = true;
-          var ret;
+          this.#callOnReaddirCB(children.slice(0, children.provisional));
+          return;
+        });
+      }
+      #asyncReaddirInFlight;
+      /**
+       * Return an array of known child entries.
+       *
+       * If the Path cannot or does not contain any children, then an empty array
+       * is returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async readdir() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        if (this.#asyncReaddirInFlight) {
+          await this.#asyncReaddirInFlight;
+        } else {
+          let resolve2 = () => {
+          };
+          this.#asyncReaddirInFlight = new Promise((res) => resolve2 = res);
           try {
-            ret = fs4.fchmodSync(fd, mode);
-            threw = false;
-          } finally {
-            if (threw) {
-              try {
-                fs4.closeSync(fd);
-              } catch (er) {
-              }
-            } else {
-              fs4.closeSync(fd);
+            for (const e of await this.#fs.promises.readdir(fullpath, {
+              withFileTypes: true
+            })) {
+              this.#readdirAddChild(e, children);
             }
+            this.#readdirSuccess(children);
+          } catch (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
           }
-          return ret;
-        };
+          this.#asyncReaddirInFlight = void 0;
+          resolve2();
+        }
+        return children.slice(0, children.provisional);
       }
-      function patchLutimes(fs4) {
-        if (constants.hasOwnProperty("O_SYMLINK") && fs4.futimes) {
-          fs4.lutimes = function(path3, at, mt, cb) {
-            fs4.open(path3, constants.O_SYMLINK, function(er, fd) {
-              if (er) {
-                if (cb) cb(er);
-                return;
-              }
-              fs4.futimes(fd, at, mt, function(er2) {
-                fs4.close(fd, function(er22) {
-                  if (cb) cb(er2 || er22);
-                });
-              });
-            });
-          };
-          fs4.lutimesSync = function(path3, at, mt) {
-            var fd = fs4.openSync(path3, constants.O_SYMLINK);
-            var ret;
-            var threw = true;
-            try {
-              ret = fs4.futimesSync(fd, at, mt);
-              threw = false;
-            } finally {
-              if (threw) {
-                try {
-                  fs4.closeSync(fd);
-                } catch (er) {
-                }
-              } else {
-                fs4.closeSync(fd);
-              }
-            }
-            return ret;
-          };
-        } else if (fs4.futimes) {
-          fs4.lutimes = function(_a, _b, _c, cb) {
-            if (cb) process.nextTick(cb);
-          };
-          fs4.lutimesSync = function() {
-          };
+      /**
+       * synchronous {@link PathBase.readdir}
+       */
+      readdirSync() {
+        if (!this.canReaddir()) {
+          return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+          return children.slice(0, children.provisional);
+        }
+        const fullpath = this.fullpath();
+        try {
+          for (const e of this.#fs.readdirSync(fullpath, {
+            withFileTypes: true
+          })) {
+            this.#readdirAddChild(e, children);
+          }
+          this.#readdirSuccess(children);
+        } catch (er) {
+          this.#readdirFail(er.code);
+          children.provisional = 0;
         }
+        return children.slice(0, children.provisional);
       }
-      function chmodFix(orig) {
-        if (!orig) return orig;
-        return function(target, mode, cb) {
-          return orig.call(fs3, target, mode, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
-          });
-        };
+      canReaddir() {
+        if (this.#type & ENOCHILD)
+          return false;
+        const ifmt = IFMT & this.#type;
+        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
+          return false;
+        }
+        return true;
       }
-      function chmodFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, mode) {
-          try {
-            return orig.call(fs3, target, mode);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
+      shouldWalk(dirs, walkFilter) {
+        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
+      }
+      /**
+       * Return the Path object corresponding to path as resolved
+       * by realpath(3).
+       *
+       * If the realpath call fails for any reason, `undefined` is returned.
+       *
+       * Result is cached, and thus may be outdated if the filesystem is mutated.
+       * On success, returns a Path object.
+       */
+      async realpath() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = await this.#fs.promises.realpath(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
+        }
+      }
+      /**
+       * Synchronous {@link realpath}
+       */
+      realpathSync() {
+        if (this.#realpath)
+          return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+          return void 0;
+        try {
+          const rp = this.#fs.realpathSync(this.fullpath());
+          return this.#realpath = this.resolve(rp);
+        } catch (_2) {
+          this.#markENOREALPATH();
+        }
+      }
+      /**
+       * Internal method to mark this Path object as the scurry cwd,
+       * called by {@link PathScurry#chdir}
+       *
+       * @internal
+       */
+      [setAsCwd](oldCwd) {
+        if (oldCwd === this)
+          return;
+        oldCwd.isCWD = false;
+        this.isCWD = true;
+        const changed = /* @__PURE__ */ new Set([]);
+        let rp = [];
+        let p = this;
+        while (p && p.parent) {
+          changed.add(p);
+          p.#relative = rp.join(this.sep);
+          p.#relativePosix = rp.join("/");
+          p = p.parent;
+          rp.push("..");
+        }
+        p = oldCwd;
+        while (p && p.parent && !changed.has(p)) {
+          p.#relative = void 0;
+          p.#relativePosix = void 0;
+          p = p.parent;
+        }
+      }
+    };
+    exports2.PathBase = PathBase;
+    var PathWin32 = class _PathWin32 extends PathBase {
+      /**
+       * Separator for generating path strings.
+       */
+      sep = "\\";
+      /**
+       * Separator for parsing path strings.
+       */
+      splitSep = eitherSep;
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
+      }
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      }
+      /**
+       * @internal
+       */
+      getRootString(path3) {
+        return node_path_1.win32.parse(path3).root;
+      }
+      /**
+       * @internal
+       */
+      getRoot(rootPath) {
+        rootPath = uncToDrive(rootPath.toUpperCase());
+        if (rootPath === this.root.name) {
+          return this.root;
+        }
+        for (const [compare2, root] of Object.entries(this.roots)) {
+          if (this.sameRoot(rootPath, compare2)) {
+            return this.roots[rootPath] = root;
           }
-        };
+        }
+        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
       }
-      function chownFix(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid, cb) {
-          return orig.call(fs3, target, uid, gid, function(er) {
-            if (chownErOk(er)) er = null;
-            if (cb) cb.apply(this, arguments);
+      /**
+       * @internal
+       */
+      sameRoot(rootPath, compare2 = this.root.name) {
+        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
+        return rootPath === compare2;
+      }
+    };
+    exports2.PathWin32 = PathWin32;
+    var PathPosix = class _PathPosix extends PathBase {
+      /**
+       * separator for parsing path strings
+       */
+      splitSep = "/";
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      /**
+       * Do not create new Path objects directly.  They should always be accessed
+       * via the PathScurry class or other methods on the Path class.
+       *
+       * @internal
+       */
+      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type2, root, roots, nocase, children, opts);
+      }
+      /**
+       * @internal
+       */
+      getRootString(path3) {
+        return path3.startsWith("/") ? "/" : "";
+      }
+      /**
+       * @internal
+       */
+      getRoot(_rootPath) {
+        return this.root;
+      }
+      /**
+       * @internal
+       */
+      newChild(name, type2 = UNKNOWN, opts = {}) {
+        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      }
+    };
+    exports2.PathPosix = PathPosix;
+    var PathScurryBase = class {
+      /**
+       * The root Path entry for the current working directory of this Scurry
+       */
+      root;
+      /**
+       * The string path for the root of this Scurry's current working directory
+       */
+      rootPath;
+      /**
+       * A collection of all roots encountered, referenced by rootPath
+       */
+      roots;
+      /**
+       * The Path entry corresponding to this PathScurry's current working directory.
+       */
+      cwd;
+      #resolveCache;
+      #resolvePosixCache;
+      #children;
+      /**
+       * Perform path comparisons case-insensitively.
+       *
+       * Defaults true on Darwin and Windows systems, false elsewhere.
+       */
+      nocase;
+      #fs;
+      /**
+       * This class should not be instantiated directly.
+       *
+       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
+       *
+       * @internal
+       */
+      constructor(cwd = process.cwd(), pathImpl, sep2, { nocase, childrenCacheSize = 16 * 1024, fs: fs3 = defaultFS } = {}) {
+        this.#fs = fsFromOption(fs3);
+        if (cwd instanceof URL || cwd.startsWith("file://")) {
+          cwd = (0, node_url_1.fileURLToPath)(cwd);
+        }
+        const cwdPath = pathImpl.resolve(cwd);
+        this.roots = /* @__PURE__ */ Object.create(null);
+        this.rootPath = this.parseRootPath(cwdPath);
+        this.#resolveCache = new ResolveCache();
+        this.#resolvePosixCache = new ResolveCache();
+        this.#children = new ChildrenCache(childrenCacheSize);
+        const split = cwdPath.substring(this.rootPath.length).split(sep2);
+        if (split.length === 1 && !split[0]) {
+          split.pop();
+        }
+        if (nocase === void 0) {
+          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
+        }
+        this.nocase = nocase;
+        this.root = this.newRoot(this.#fs);
+        this.roots[this.rootPath] = this.root;
+        let prev = this.root;
+        let len = split.length - 1;
+        const joinSep = pathImpl.sep;
+        let abs = this.rootPath;
+        let sawFirst = false;
+        for (const part of split) {
+          const l = len--;
+          prev = prev.child(part, {
+            relative: new Array(l).fill("..").join(joinSep),
+            relativePosix: new Array(l).fill("..").join("/"),
+            fullpath: abs += (sawFirst ? "" : joinSep) + part
           });
-        };
+          sawFirst = true;
+        }
+        this.cwd = prev;
       }
-      function chownFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, uid, gid) {
-          try {
-            return orig.call(fs3, target, uid, gid);
-          } catch (er) {
-            if (!chownErOk(er)) throw er;
+      /**
+       * Get the depth of a provided path, string, or the cwd
+       */
+      depth(path3 = this.cwd) {
+        if (typeof path3 === "string") {
+          path3 = this.cwd.resolve(path3);
+        }
+        return path3.depth();
+      }
+      /**
+       * Return the cache of child entries.  Exposed so subclasses can create
+       * child Path objects in a platform-specific way.
+       *
+       * @internal
+       */
+      childrenCache() {
+        return this.#children;
+      }
+      /**
+       * Resolve one or more path strings to a resolved string
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolve(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
           }
-        };
+        }
+        const cached = this.#resolveCache.get(r);
+        if (cached !== void 0) {
+          return cached;
+        }
+        const result = this.cwd.resolve(r).fullpath();
+        this.#resolveCache.set(r, result);
+        return result;
+      }
+      /**
+       * Resolve one or more path strings to a resolved string, returning
+       * the posix path.  Identical to .resolve() on posix systems, but on
+       * windows will return a forward-slash separated UNC path.
+       *
+       * Same interface as require('path').resolve.
+       *
+       * Much faster than path.resolve() when called multiple times for the same
+       * path, because the resolved Path objects are cached.  Much slower
+       * otherwise.
+       */
+      resolvePosix(...paths) {
+        let r = "";
+        for (let i = paths.length - 1; i >= 0; i--) {
+          const p = paths[i];
+          if (!p || p === ".")
+            continue;
+          r = r ? `${p}/${r}` : p;
+          if (this.isAbsolute(p)) {
+            break;
+          }
+        }
+        const cached = this.#resolvePosixCache.get(r);
+        if (cached !== void 0) {
+          return cached;
+        }
+        const result = this.cwd.resolve(r).fullpathPosix();
+        this.#resolvePosixCache.set(r, result);
+        return result;
+      }
+      /**
+       * find the relative path from the cwd to the supplied path string or entry
+       */
+      relative(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return entry.relative();
+      }
+      /**
+       * find the relative path from the cwd to the supplied path string or
+       * entry, using / as the path delimiter, even on Windows.
+       */
+      relativePosix(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return entry.relativePosix();
       }
-      function statFix(orig) {
-        if (!orig) return orig;
-        return function(target, options, cb) {
-          if (typeof options === "function") {
-            cb = options;
-            options = null;
-          }
-          function callback(er, stats) {
-            if (stats) {
-              if (stats.uid < 0) stats.uid += 4294967296;
-              if (stats.gid < 0) stats.gid += 4294967296;
-            }
-            if (cb) cb.apply(this, arguments);
-          }
-          return options ? orig.call(fs3, target, options, callback) : orig.call(fs3, target, callback);
-        };
+      /**
+       * Return the basename for the provided string or Path object
+       */
+      basename(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return entry.name;
       }
-      function statFixSync(orig) {
-        if (!orig) return orig;
-        return function(target, options) {
-          var stats = options ? orig.call(fs3, target, options) : orig.call(fs3, target);
-          if (stats) {
-            if (stats.uid < 0) stats.uid += 4294967296;
-            if (stats.gid < 0) stats.gid += 4294967296;
-          }
-          return stats;
-        };
+      /**
+       * Return the dirname for the provided string or Path object
+       */
+      dirname(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        }
+        return (entry.parent || entry).fullpath();
       }
-      function chownErOk(er) {
-        if (!er)
-          return true;
-        if (er.code === "ENOSYS")
-          return true;
-        var nonroot = !process.getuid || process.getuid() !== 0;
-        if (nonroot) {
-          if (er.code === "EINVAL" || er.code === "EPERM")
-            return true;
+      async readdir(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else {
+          const p = await entry.readdir();
+          return withFileTypes ? p : p.map((e) => e.name);
         }
-        return false;
       }
-    }
-  }
-});
-
-// node_modules/graceful-fs/legacy-streams.js
-var require_legacy_streams = __commonJS({
-  "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    module2.exports = legacy;
-    function legacy(fs3) {
-      return {
-        ReadStream,
-        WriteStream
-      };
-      function ReadStream(path3, options) {
-        if (!(this instanceof ReadStream)) return new ReadStream(path3, options);
-        Stream.call(this);
-        var self2 = this;
-        this.path = path3;
-        this.fd = null;
-        this.readable = true;
-        this.paused = false;
-        this.flags = "r";
-        this.mode = 438;
-        this.bufferSize = 64 * 1024;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
+      readdirSync(entry = this.cwd, opts = {
+        withFileTypes: true
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        if (this.encoding) this.setEncoding(this.encoding);
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.end === void 0) {
-            this.end = Infinity;
-          } else if ("number" !== typeof this.end) {
-            throw TypeError("end must be a Number");
-          }
-          if (this.start > this.end) {
-            throw new Error("start must be <= end");
-          }
-          this.pos = this.start;
+        const { withFileTypes = true } = opts;
+        if (!entry.canReaddir()) {
+          return [];
+        } else if (withFileTypes) {
+          return entry.readdirSync();
+        } else {
+          return entry.readdirSync().map((e) => e.name);
         }
-        if (this.fd !== null) {
-          process.nextTick(function() {
-            self2._read();
-          });
-          return;
+      }
+      /**
+       * Call lstat() on the string or Path object, and update all known
+       * information that can be determined.
+       *
+       * Note that unlike `fs.lstat()`, the returned value does not contain some
+       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+       * information is required, you will need to call `fs.lstat` yourself.
+       *
+       * If the Path refers to a nonexistent file, or if the lstat call fails for
+       * any reason, `undefined` is returned.  Otherwise the updated Path object is
+       * returned.
+       *
+       * Results are cached, and thus may be out of date if the filesystem is
+       * mutated.
+       */
+      async lstat(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        fs3.open(this.path, this.flags, this.mode, function(err, fd) {
-          if (err) {
-            self2.emit("error", err);
-            self2.readable = false;
-            return;
-          }
-          self2.fd = fd;
-          self2.emit("open", fd);
-          self2._read();
-        });
+        return entry.lstat();
       }
-      function WriteStream(path3, options) {
-        if (!(this instanceof WriteStream)) return new WriteStream(path3, options);
-        Stream.call(this);
-        this.path = path3;
-        this.fd = null;
-        this.writable = true;
-        this.flags = "w";
-        this.encoding = "binary";
-        this.mode = 438;
-        this.bytesWritten = 0;
-        options = options || {};
-        var keys = Object.keys(options);
-        for (var index = 0, length = keys.length; index < length; index++) {
-          var key = keys[index];
-          this[key] = options[key];
+      /**
+       * synchronous {@link PathScurryBase.lstat}
+       */
+      lstatSync(entry = this.cwd) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
         }
-        if (this.start !== void 0) {
-          if ("number" !== typeof this.start) {
-            throw TypeError("start must be a Number");
-          }
-          if (this.start < 0) {
-            throw new Error("start must be >= zero");
-          }
-          this.pos = this.start;
+        return entry.lstatSync();
+      }
+      async readlink(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        this.busy = false;
-        this._queue = [];
-        if (this.fd === null) {
-          this._open = fs3.open;
-          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
-          this.flush();
+        const e = await entry.readlink();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      readlinkSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
+        const e = entry.readlinkSync();
+        return withFileTypes ? e : e?.fullpath();
       }
-    }
-  }
-});
-
-// node_modules/graceful-fs/clone.js
-var require_clone = __commonJS({
-  "node_modules/graceful-fs/clone.js"(exports2, module2) {
-    "use strict";
-    module2.exports = clone;
-    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
-      return obj.__proto__;
-    };
-    function clone(obj) {
-      if (obj === null || typeof obj !== "object")
-        return obj;
-      if (obj instanceof Object)
-        var copy = { __proto__: getPrototypeOf(obj) };
-      else
-        var copy = /* @__PURE__ */ Object.create(null);
-      Object.getOwnPropertyNames(obj).forEach(function(key) {
-        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
-      });
-      return copy;
-    }
-  }
-});
-
-// node_modules/graceful-fs/graceful-fs.js
-var require_graceful_fs = __commonJS({
-  "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
-    var fs3 = require("fs");
-    var polyfills = require_polyfills();
-    var legacy = require_legacy_streams();
-    var clone = require_clone();
-    var util = require("util");
-    var gracefulQueue;
-    var previousSymbol;
-    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
-      gracefulQueue = /* @__PURE__ */ Symbol.for("graceful-fs.queue");
-      previousSymbol = /* @__PURE__ */ Symbol.for("graceful-fs.previous");
-    } else {
-      gracefulQueue = "___graceful-fs.queue";
-      previousSymbol = "___graceful-fs.previous";
-    }
-    function noop3() {
-    }
-    function publishQueue(context2, queue2) {
-      Object.defineProperty(context2, gracefulQueue, {
-        get: function() {
-          return queue2;
+      async realpath(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-      });
-    }
-    var debug4 = noop3;
-    if (util.debuglog)
-      debug4 = util.debuglog("gfs4");
-    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
-      debug4 = function() {
-        var m = util.format.apply(util, arguments);
-        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
-        console.error(m);
-      };
-    if (!fs3[gracefulQueue]) {
-      queue = global[gracefulQueue] || [];
-      publishQueue(fs3, queue);
-      fs3.close = (function(fs$close) {
-        function close(fd, cb) {
-          return fs$close.call(fs3, fd, function(err) {
-            if (!err) {
-              resetQueue();
-            }
-            if (typeof cb === "function")
-              cb.apply(this, arguments);
-          });
+        const e = await entry.realpath();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      realpathSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false
+      }) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          withFileTypes = entry.withFileTypes;
+          entry = this.cwd;
         }
-        Object.defineProperty(close, previousSymbol, {
-          value: fs$close
-        });
-        return close;
-      })(fs3.close);
-      fs3.closeSync = (function(fs$closeSync) {
-        function closeSync(fd) {
-          fs$closeSync.apply(fs3, arguments);
-          resetQueue();
+        const e = entry.realpathSync();
+        return withFileTypes ? e : e?.fullpath();
+      }
+      async walk(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        Object.defineProperty(closeSync, previousSymbol, {
-          value: fs$closeSync
-        });
-        return closeSync;
-      })(fs3.closeSync);
-      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
-        process.on("exit", function() {
-          debug4(fs3[gracefulQueue]);
-          require("assert").equal(fs3[gracefulQueue].length, 0);
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set();
+        const walk = (dir, cb) => {
+          dirs.add(dir);
+          dir.readdirCB((er, entries) => {
+            if (er) {
+              return cb(er);
+            }
+            let len = entries.length;
+            if (!len)
+              return cb();
+            const next = () => {
+              if (--len === 0) {
+                cb();
+              }
+            };
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                results.push(withFileTypes ? e : e.fullpath());
+              }
+              if (follow && e.isSymbolicLink()) {
+                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
+              } else {
+                if (e.shouldWalk(dirs, walkFilter)) {
+                  walk(e, next);
+                } else {
+                  next();
+                }
+              }
+            }
+          }, true);
+        };
+        const start = entry;
+        return new Promise((res, rej) => {
+          walk(start, (er) => {
+            if (er)
+              return rej(er);
+            res(results);
+          });
         });
       }
-    }
-    var queue;
-    if (!global[gracefulQueue]) {
-      publishQueue(global, fs3[gracefulQueue]);
-    }
-    module2.exports = patch(clone(fs3));
-    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs3.__patched) {
-      module2.exports = patch(fs3);
-      fs3.__patched = true;
-    }
-    function patch(fs4) {
-      polyfills(fs4);
-      fs4.gracefulify = patch;
-      fs4.createReadStream = createReadStream;
-      fs4.createWriteStream = createWriteStream3;
-      var fs$readFile = fs4.readFile;
-      fs4.readFile = readFile;
-      function readFile(path3, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$readFile(path3, options, cb);
-        function go$readFile(path4, options2, cb2, startTime) {
-          return fs$readFile(path4, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$readFile, [path4, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
+      walkSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+          results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              results.push(withFileTypes ? e : e.fullpath());
             }
-          });
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
+            }
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
+            }
+          }
         }
+        return results;
       }
-      var fs$writeFile = fs4.writeFile;
-      fs4.writeFile = writeFile;
-      function writeFile(path3, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$writeFile(path3, data, options, cb);
-        function go$writeFile(path4, data2, options2, cb2, startTime) {
-          return fs$writeFile(path4, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$writeFile, [path4, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
+      /**
+       * Support for `for await`
+       *
+       * Alias for {@link PathScurryBase.iterate}
+       *
+       * Note: As of Node 19, this is very slow, compared to other methods of
+       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
+       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
+       */
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+      iterate(entry = this.cwd, options = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          options = entry;
+          entry = this.cwd;
         }
+        return this.stream(entry, options)[Symbol.asyncIterator]();
       }
-      var fs$appendFile = fs4.appendFile;
-      if (fs$appendFile)
-        fs4.appendFile = appendFile;
-      function appendFile(path3, data, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        return go$appendFile(path3, data, options, cb);
-        function go$appendFile(path4, data2, options2, cb2, startTime) {
-          return fs$appendFile(path4, data2, options2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$appendFile, [path4, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
+      /**
+       * Iterating over a PathScurry performs a synchronous walk.
+       *
+       * Alias for {@link PathScurryBase.iterateSync}
+       */
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      *iterateSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        if (!filter || filter(entry)) {
+          yield withFileTypes ? entry : entry.fullpath();
+        }
+        const dirs = /* @__PURE__ */ new Set([entry]);
+        for (const dir of dirs) {
+          const entries = dir.readdirSync();
+          for (const e of entries) {
+            if (!filter || filter(e)) {
+              yield withFileTypes ? e : e.fullpath();
             }
-          });
+            let r = e;
+            if (e.isSymbolicLink()) {
+              if (!(follow && (r = e.realpathSync())))
+                continue;
+              if (r.isUnknown())
+                r.lstatSync();
+            }
+            if (r.shouldWalk(dirs, walkFilter)) {
+              dirs.add(r);
+            }
+          }
         }
       }
-      var fs$copyFile = fs4.copyFile;
-      if (fs$copyFile)
-        fs4.copyFile = copyFile;
-      function copyFile(src, dest, flags, cb) {
-        if (typeof flags === "function") {
-          cb = flags;
-          flags = 0;
+      stream(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
         }
-        return go$copyFile(src, dest, flags, cb);
-        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
-          return fs$copyFile(src2, dest2, flags2, function(err) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
         }
-      }
-      var fs$readdir = fs4.readdir;
-      fs4.readdir = readdir;
-      var noReaddirOptionVersions = /^v[0-5]\./;
-      function readdir(path3, options, cb) {
-        if (typeof options === "function")
-          cb = options, options = null;
-        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path4, options2, cb2, startTime) {
-          return fs$readdir(path4, fs$readdirCallback(
-            path4,
-            options2,
-            cb2,
-            startTime
-          ));
-        } : function go$readdir2(path4, options2, cb2, startTime) {
-          return fs$readdir(path4, options2, fs$readdirCallback(
-            path4,
-            options2,
-            cb2,
-            startTime
-          ));
-        };
-        return go$readdir(path3, options, cb);
-        function fs$readdirCallback(path4, options2, cb2, startTime) {
-          return function(err, files) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([
-                go$readdir,
-                [path4, options2, cb2],
-                err,
-                startTime || Date.now(),
-                Date.now()
-              ]);
-            else {
-              if (files && files.sort)
-                files.sort();
-              if (typeof cb2 === "function")
-                cb2.call(this, err, files);
+        const dirs = /* @__PURE__ */ new Set();
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
             }
-          };
-        }
-      }
-      if (process.version.substr(0, 4) === "v0.8") {
-        var legStreams = legacy(fs4);
-        ReadStream = legStreams.ReadStream;
-        WriteStream = legStreams.WriteStream;
-      }
-      var fs$ReadStream = fs4.ReadStream;
-      if (fs$ReadStream) {
-        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
-        ReadStream.prototype.open = ReadStream$open;
+            processing++;
+            dirs.add(dir);
+            const onReaddir = (er, entries, didRealpaths = false) => {
+              if (er)
+                return results.emit("error", er);
+              if (follow && !didRealpaths) {
+                const promises2 = [];
+                for (const e of entries) {
+                  if (e.isSymbolicLink()) {
+                    promises2.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
+                  }
+                }
+                if (promises2.length) {
+                  Promise.all(promises2).then(() => onReaddir(null, entries, true));
+                  return;
+                }
+              }
+              for (const e of entries) {
+                if (e && (!filter || filter(e))) {
+                  if (!results.write(withFileTypes ? e : e.fullpath())) {
+                    paused = true;
+                  }
+                }
+              }
+              processing--;
+              for (const e of entries) {
+                const r = e.realpathCached() || e;
+                if (r.shouldWalk(dirs, walkFilter)) {
+                  queue.push(r);
+                }
+              }
+              if (paused && !results.flowing) {
+                results.once("drain", process2);
+              } else if (!sync) {
+                process2();
+              }
+            };
+            let sync = true;
+            dir.readdirCB(onReaddir, true);
+            sync = false;
+          }
+        };
+        process2();
+        return results;
       }
-      var fs$WriteStream = fs4.WriteStream;
-      if (fs$WriteStream) {
-        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
-        WriteStream.prototype.open = WriteStream$open;
+      streamSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === "string") {
+          entry = this.cwd.resolve(entry);
+        } else if (!(entry instanceof PathBase)) {
+          opts = entry;
+          entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        const dirs = /* @__PURE__ */ new Set();
+        if (!filter || filter(entry)) {
+          results.write(withFileTypes ? entry : entry.fullpath());
+        }
+        const queue = [entry];
+        let processing = 0;
+        const process2 = () => {
+          let paused = false;
+          while (!paused) {
+            const dir = queue.shift();
+            if (!dir) {
+              if (processing === 0)
+                results.end();
+              return;
+            }
+            processing++;
+            dirs.add(dir);
+            const entries = dir.readdirSync();
+            for (const e of entries) {
+              if (!filter || filter(e)) {
+                if (!results.write(withFileTypes ? e : e.fullpath())) {
+                  paused = true;
+                }
+              }
+            }
+            processing--;
+            for (const e of entries) {
+              let r = e;
+              if (e.isSymbolicLink()) {
+                if (!(follow && (r = e.realpathSync())))
+                  continue;
+                if (r.isUnknown())
+                  r.lstatSync();
+              }
+              if (r.shouldWalk(dirs, walkFilter)) {
+                queue.push(r);
+              }
+            }
+          }
+          if (paused && !results.flowing)
+            results.once("drain", process2);
+        };
+        process2();
+        return results;
       }
-      Object.defineProperty(fs4, "ReadStream", {
-        get: function() {
-          return ReadStream;
-        },
-        set: function(val) {
-          ReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      Object.defineProperty(fs4, "WriteStream", {
-        get: function() {
-          return WriteStream;
-        },
-        set: function(val) {
-          WriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileReadStream = ReadStream;
-      Object.defineProperty(fs4, "FileReadStream", {
-        get: function() {
-          return FileReadStream;
-        },
-        set: function(val) {
-          FileReadStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      var FileWriteStream = WriteStream;
-      Object.defineProperty(fs4, "FileWriteStream", {
-        get: function() {
-          return FileWriteStream;
-        },
-        set: function(val) {
-          FileWriteStream = val;
-        },
-        enumerable: true,
-        configurable: true
-      });
-      function ReadStream(path3, options) {
-        if (this instanceof ReadStream)
-          return fs$ReadStream.apply(this, arguments), this;
-        else
-          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
+      chdir(path3 = this.cwd) {
+        const oldCwd = this.cwd;
+        this.cwd = typeof path3 === "string" ? this.cwd.resolve(path3) : path3;
+        this.cwd[setAsCwd](oldCwd);
       }
-      function ReadStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            if (that.autoClose)
-              that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
-            that.read();
-          }
-        });
+    };
+    exports2.PathScurryBase = PathScurryBase;
+    var PathScurryWin32 = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "\\";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
+        this.nocase = nocase;
+        for (let p = this.cwd; p; p = p.parent) {
+          p.nocase = this.nocase;
+        }
       }
-      function WriteStream(path3, options) {
-        if (this instanceof WriteStream)
-          return fs$WriteStream.apply(this, arguments), this;
-        else
-          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
+      /**
+       * @internal
+       */
+      parseRootPath(dir) {
+        return node_path_1.win32.parse(dir).root.toUpperCase();
       }
-      function WriteStream$open() {
-        var that = this;
-        open(that.path, that.flags, that.mode, function(err, fd) {
-          if (err) {
-            that.destroy();
-            that.emit("error", err);
-          } else {
-            that.fd = fd;
-            that.emit("open", fd);
-          }
-        });
+      /**
+       * @internal
+       */
+      newRoot(fs3) {
+        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
       }
-      function createReadStream(path3, options) {
-        return new fs4.ReadStream(path3, options);
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
       }
-      function createWriteStream3(path3, options) {
-        return new fs4.WriteStream(path3, options);
+    };
+    exports2.PathScurryWin32 = PathScurryWin32;
+    var PathScurryPosix = class extends PathScurryBase {
+      /**
+       * separator for generating path strings
+       */
+      sep = "/";
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = false } = opts;
+        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
+        this.nocase = nocase;
       }
-      var fs$open = fs4.open;
-      fs4.open = open;
-      function open(path3, flags, mode, cb) {
-        if (typeof mode === "function")
-          cb = mode, mode = null;
-        return go$open(path3, flags, mode, cb);
-        function go$open(path4, flags2, mode2, cb2, startTime) {
-          return fs$open(path4, flags2, mode2, function(err, fd) {
-            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
-              enqueue([go$open, [path4, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
-            else {
-              if (typeof cb2 === "function")
-                cb2.apply(this, arguments);
-            }
-          });
-        }
+      /**
+       * @internal
+       */
+      parseRootPath(_dir) {
+        return "/";
       }
-      return fs4;
-    }
-    function enqueue(elem) {
-      debug4("ENQUEUE", elem[0].name, elem[1]);
-      fs3[gracefulQueue].push(elem);
-      retry2();
-    }
-    var retryTimer;
-    function resetQueue() {
-      var now = Date.now();
-      for (var i = 0; i < fs3[gracefulQueue].length; ++i) {
-        if (fs3[gracefulQueue][i].length > 2) {
-          fs3[gracefulQueue][i][3] = now;
-          fs3[gracefulQueue][i][4] = now;
-        }
+      /**
+       * @internal
+       */
+      newRoot(fs3) {
+        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
       }
-      retry2();
-    }
-    function retry2() {
-      clearTimeout(retryTimer);
-      retryTimer = void 0;
-      if (fs3[gracefulQueue].length === 0)
-        return;
-      var elem = fs3[gracefulQueue].shift();
-      var fn = elem[0];
-      var args = elem[1];
-      var err = elem[2];
-      var startTime = elem[3];
-      var lastTime = elem[4];
-      if (startTime === void 0) {
-        debug4("RETRY", fn.name, args);
-        fn.apply(null, args);
-      } else if (Date.now() - startTime >= 6e4) {
-        debug4("TIMEOUT", fn.name, args);
-        var cb = args.pop();
-        if (typeof cb === "function")
-          cb.call(null, err);
-      } else {
-        var sinceAttempt = Date.now() - lastTime;
-        var sinceStart = Math.max(lastTime - startTime, 1);
-        var desiredDelay = Math.min(sinceStart * 1.2, 100);
-        if (sinceAttempt >= desiredDelay) {
-          debug4("RETRY", fn.name, args);
-          fn.apply(null, args.concat([startTime]));
-        } else {
-          fs3[gracefulQueue].push(elem);
-        }
+      /**
+       * Return true if the provided path string is an absolute path
+       */
+      isAbsolute(p) {
+        return p.startsWith("/");
       }
-      if (retryTimer === void 0) {
-        retryTimer = setTimeout(retry2, 0);
+    };
+    exports2.PathScurryPosix = PathScurryPosix;
+    var PathScurryDarwin = class extends PathScurryPosix {
+      constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, { ...opts, nocase });
       }
-    }
-  }
-});
-
-// node_modules/archiver-utils/node_modules/is-stream/index.js
-var require_is_stream = __commonJS({
-  "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) {
-    "use strict";
-    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
-    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
-    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
-    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
-    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
-    module2.exports = isStream;
+    };
+    exports2.PathScurryDarwin = PathScurryDarwin;
+    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
+    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
   }
 });
 
-// node_modules/process-nextick-args/index.js
-var require_process_nextick_args = __commonJS({
-  "node_modules/process-nextick-args/index.js"(exports2, module2) {
+// node_modules/glob/dist/commonjs/pattern.js
+var require_pattern = __commonJS({
+  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
     "use strict";
-    if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
-      module2.exports = { nextTick };
-    } else {
-      module2.exports = process;
-    }
-    function nextTick(fn, arg1, arg2, arg3) {
-      if (typeof fn !== "function") {
-        throw new TypeError('"callback" argument must be a function');
-      }
-      var len = arguments.length;
-      var args, i;
-      switch (len) {
-        case 0:
-        case 1:
-          return process.nextTick(fn);
-        case 2:
-          return process.nextTick(function afterTickOne() {
-            fn.call(null, arg1);
-          });
-        case 3:
-          return process.nextTick(function afterTickTwo() {
-            fn.call(null, arg1, arg2);
-          });
-        case 4:
-          return process.nextTick(function afterTickThree() {
-            fn.call(null, arg1, arg2, arg3);
-          });
-        default:
-          args = new Array(len - 1);
-          i = 0;
-          while (i < args.length) {
-            args[i++] = arguments[i];
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Pattern = void 0;
+    var minimatch_1 = require_commonjs20();
+    var isPatternList = (pl) => pl.length >= 1;
+    var isGlobList = (gl) => gl.length >= 1;
+    var Pattern = class _Pattern {
+      #patternList;
+      #globList;
+      #index;
+      length;
+      #platform;
+      #rest;
+      #globString;
+      #isDrive;
+      #isUNC;
+      #isAbsolute;
+      #followGlobstar = true;
+      constructor(patternList, globList, index, platform) {
+        if (!isPatternList(patternList)) {
+          throw new TypeError("empty pattern list");
+        }
+        if (!isGlobList(globList)) {
+          throw new TypeError("empty glob list");
+        }
+        if (globList.length !== patternList.length) {
+          throw new TypeError("mismatched pattern list and glob list lengths");
+        }
+        this.length = patternList.length;
+        if (index < 0 || index >= this.length) {
+          throw new TypeError("index out of range");
+        }
+        this.#patternList = patternList;
+        this.#globList = globList;
+        this.#index = index;
+        this.#platform = platform;
+        if (this.#index === 0) {
+          if (this.isUNC()) {
+            const [p0, p1, p2, p3, ...prest] = this.#patternList;
+            const [g0, g1, g2, g3, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = [p0, p1, p2, p3, ""].join("/");
+            const g = [g0, g1, g2, g3, ""].join("/");
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
+          } else if (this.isDrive() || this.isAbsolute()) {
+            const [p1, ...prest] = this.#patternList;
+            const [g1, ...grest] = this.#globList;
+            if (prest[0] === "") {
+              prest.shift();
+              grest.shift();
+            }
+            const p = p1 + "/";
+            const g = g1 + "/";
+            this.#patternList = [p, ...prest];
+            this.#globList = [g, ...grest];
+            this.length = this.#patternList.length;
           }
-          return process.nextTick(function afterTick() {
-            fn.apply(null, args);
-          });
+        }
       }
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/isarray/index.js
-var require_isarray = __commonJS({
-  "node_modules/lazystream/node_modules/isarray/index.js"(exports2, module2) {
-    var toString2 = {}.toString;
-    module2.exports = Array.isArray || function(arr) {
-      return toString2.call(arr) == "[object Array]";
-    };
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js
-var require_stream = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
-    module2.exports = require("stream");
-  }
-});
-
-// node_modules/lazystream/node_modules/safe-buffer/index.js
-var require_safe_buffer = __commonJS({
-  "node_modules/lazystream/node_modules/safe-buffer/index.js"(exports2, module2) {
-    var buffer = require("buffer");
-    var Buffer2 = buffer.Buffer;
-    function copyProps(src, dst) {
-      for (var key in src) {
-        dst[key] = src[key];
+      /**
+       * The first entry in the parsed list of patterns
+       */
+      pattern() {
+        return this.#patternList[this.#index];
       }
-    }
-    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
-      module2.exports = buffer;
-    } else {
-      copyProps(buffer, exports2);
-      exports2.Buffer = SafeBuffer;
-    }
-    function SafeBuffer(arg, encodingOrOffset, length) {
-      return Buffer2(arg, encodingOrOffset, length);
-    }
-    copyProps(Buffer2, SafeBuffer);
-    SafeBuffer.from = function(arg, encodingOrOffset, length) {
-      if (typeof arg === "number") {
-        throw new TypeError("Argument must not be a number");
+      /**
+       * true of if pattern() returns a string
+       */
+      isString() {
+        return typeof this.#patternList[this.#index] === "string";
       }
-      return Buffer2(arg, encodingOrOffset, length);
-    };
-    SafeBuffer.alloc = function(size, fill, encoding) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      /**
+       * true of if pattern() returns GLOBSTAR
+       */
+      isGlobstar() {
+        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
       }
-      var buf = Buffer2(size);
-      if (fill !== void 0) {
-        if (typeof encoding === "string") {
-          buf.fill(fill, encoding);
-        } else {
-          buf.fill(fill);
-        }
-      } else {
-        buf.fill(0);
+      /**
+       * true if pattern() returns a regexp
+       */
+      isRegExp() {
+        return this.#patternList[this.#index] instanceof RegExp;
       }
-      return buf;
-    };
-    SafeBuffer.allocUnsafe = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      /**
+       * The /-joined set of glob parts that make up this pattern
+       */
+      globString() {
+        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
       }
-      return Buffer2(size);
-    };
-    SafeBuffer.allocUnsafeSlow = function(size) {
-      if (typeof size !== "number") {
-        throw new TypeError("Argument must be a number");
+      /**
+       * true if there are more pattern parts after this one
+       */
+      hasMore() {
+        return this.length > this.#index + 1;
       }
-      return buffer.SlowBuffer(size);
-    };
-  }
-});
-
-// node_modules/core-util-is/lib/util.js
-var require_util18 = __commonJS({
-  "node_modules/core-util-is/lib/util.js"(exports2) {
-    function isArray(arg) {
-      if (Array.isArray) {
-        return Array.isArray(arg);
+      /**
+       * The rest of the pattern after this part, or null if this is the end
+       */
+      rest() {
+        if (this.#rest !== void 0)
+          return this.#rest;
+        if (!this.hasMore())
+          return this.#rest = null;
+        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
+        this.#rest.#isAbsolute = this.#isAbsolute;
+        this.#rest.#isUNC = this.#isUNC;
+        this.#rest.#isDrive = this.#isDrive;
+        return this.#rest;
       }
-      return objectToString(arg) === "[object Array]";
-    }
-    exports2.isArray = isArray;
-    function isBoolean2(arg) {
-      return typeof arg === "boolean";
-    }
-    exports2.isBoolean = isBoolean2;
-    function isNull2(arg) {
-      return arg === null;
-    }
-    exports2.isNull = isNull2;
-    function isNullOrUndefined(arg) {
-      return arg == null;
-    }
-    exports2.isNullOrUndefined = isNullOrUndefined;
-    function isNumber(arg) {
-      return typeof arg === "number";
-    }
-    exports2.isNumber = isNumber;
-    function isString(arg) {
-      return typeof arg === "string";
-    }
-    exports2.isString = isString;
-    function isSymbol(arg) {
-      return typeof arg === "symbol";
-    }
-    exports2.isSymbol = isSymbol;
-    function isUndefined(arg) {
-      return arg === void 0;
-    }
-    exports2.isUndefined = isUndefined;
-    function isRegExp(re) {
-      return objectToString(re) === "[object RegExp]";
-    }
-    exports2.isRegExp = isRegExp;
-    function isObject2(arg) {
-      return typeof arg === "object" && arg !== null;
-    }
-    exports2.isObject = isObject2;
-    function isDate(d) {
-      return objectToString(d) === "[object Date]";
-    }
-    exports2.isDate = isDate;
-    function isError(e) {
-      return objectToString(e) === "[object Error]" || e instanceof Error;
-    }
-    exports2.isError = isError;
-    function isFunction(arg) {
-      return typeof arg === "function";
-    }
-    exports2.isFunction = isFunction;
-    function isPrimitive(arg) {
-      return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
-      typeof arg === "undefined";
-    }
-    exports2.isPrimitive = isPrimitive;
-    exports2.isBuffer = require("buffer").Buffer.isBuffer;
-    function objectToString(o) {
-      return Object.prototype.toString.call(o);
-    }
-  }
-});
-
-// node_modules/inherits/inherits_browser.js
-var require_inherits_browser = __commonJS({
-  "node_modules/inherits/inherits_browser.js"(exports2, module2) {
-    if (typeof Object.create === "function") {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        ctor.prototype = Object.create(superCtor.prototype, {
-          constructor: {
-            value: ctor,
-            enumerable: false,
-            writable: true,
-            configurable: true
-          }
-        });
-      };
-    } else {
-      module2.exports = function inherits(ctor, superCtor) {
-        ctor.super_ = superCtor;
-        var TempCtor = function() {
-        };
-        TempCtor.prototype = superCtor.prototype;
-        ctor.prototype = new TempCtor();
-        ctor.prototype.constructor = ctor;
-      };
-    }
-  }
-});
-
-// node_modules/inherits/inherits.js
-var require_inherits = __commonJS({
-  "node_modules/inherits/inherits.js"(exports2, module2) {
-    try {
-      util = require("util");
-      if (typeof util.inherits !== "function") throw "";
-      module2.exports = util.inherits;
-    } catch (e) {
-      module2.exports = require_inherits_browser();
-    }
-    var util;
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js
-var require_BufferList = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports2, module2) {
-    "use strict";
-    function _classCallCheck(instance, Constructor) {
-      if (!(instance instanceof Constructor)) {
-        throw new TypeError("Cannot call a class as a function");
+      /**
+       * true if the pattern represents a //unc/path/ on windows
+       */
+      isUNC() {
+        const pl = this.#patternList;
+        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
       }
-    }
-    var Buffer2 = require_safe_buffer().Buffer;
-    var util = require("util");
-    function copyBuffer(src, target, offset) {
-      src.copy(target, offset);
-    }
-    module2.exports = (function() {
-      function BufferList() {
-        _classCallCheck(this, BufferList);
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
+      // pattern like C:/...
+      // split = ['C:', ...]
+      // XXX: would be nice to handle patterns like `c:*` to test the cwd
+      // in c: for *, but I don't know of a way to even figure out what that
+      // cwd is without actually chdir'ing into it?
+      /**
+       * True if the pattern starts with a drive letter on Windows
+       */
+      isDrive() {
+        const pl = this.#patternList;
+        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
       }
-      BufferList.prototype.push = function push(v) {
-        var entry = { data: v, next: null };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
-      };
-      BufferList.prototype.unshift = function unshift(v) {
-        var entry = { data: v, next: this.head };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
-      };
-      BufferList.prototype.shift = function shift() {
-        if (this.length === 0) return;
-        var ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
-      };
-      BufferList.prototype.clear = function clear() {
-        this.head = this.tail = null;
-        this.length = 0;
-      };
-      BufferList.prototype.join = function join3(s) {
-        if (this.length === 0) return "";
-        var p = this.head;
-        var ret = "" + p.data;
-        while (p = p.next) {
-          ret += s + p.data;
-        }
-        return ret;
-      };
-      BufferList.prototype.concat = function concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        var ret = Buffer2.allocUnsafe(n >>> 0);
-        var p = this.head;
-        var i = 0;
-        while (p) {
-          copyBuffer(p.data, ret, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
-      };
-      return BufferList;
-    })();
-    if (util && util.inspect && util.inspect.custom) {
-      module2.exports.prototype[util.inspect.custom] = function() {
-        var obj = util.inspect({ length: this.length });
-        return this.constructor.name + " " + obj;
-      };
-    }
+      // pattern = '/' or '/...' or '/x/...'
+      // split = ['', ''] or ['', ...] or ['', 'x', ...]
+      // Drive and UNC both considered absolute on windows
+      /**
+       * True if the pattern is rooted on an absolute path
+       */
+      isAbsolute() {
+        const pl = this.#patternList;
+        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
+      }
+      /**
+       * consume the root of the pattern, and return it
+       */
+      root() {
+        const p = this.#patternList[0];
+        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
+      }
+      /**
+       * Check to see if the current globstar pattern is allowed to follow
+       * a symbolic link.
+       */
+      checkFollowGlobstar() {
+        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
+      }
+      /**
+       * Mark that the current globstar pattern is following a symbolic link
+       */
+      markFollowGlobstar() {
+        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
+          return false;
+        this.#followGlobstar = false;
+        return true;
+      }
+    };
+    exports2.Pattern = Pattern;
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
+// node_modules/glob/dist/commonjs/ignore.js
+var require_ignore = __commonJS({
+  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
     "use strict";
-    var pna = require_process_nextick_args();
-    function destroy(err, cb) {
-      var _this = this;
-      var readableDestroyed = this._readableState && this._readableState.destroyed;
-      var writableDestroyed = this._writableState && this._writableState.destroyed;
-      if (readableDestroyed || writableDestroyed) {
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          if (!this._writableState) {
-            pna.nextTick(emitErrorNT, this, err);
-          } else if (!this._writableState.errorEmitted) {
-            this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, this, err);
-          }
-        }
-        return this;
-      }
-      if (this._readableState) {
-        this._readableState.destroyed = true;
-      }
-      if (this._writableState) {
-        this._writableState.destroyed = true;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Ignore = void 0;
+    var minimatch_1 = require_commonjs20();
+    var pattern_js_1 = require_pattern();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Ignore = class {
+      relative;
+      relativeChildren;
+      absolute;
+      absoluteChildren;
+      platform;
+      mmopts;
+      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
+        this.relative = [];
+        this.absolute = [];
+        this.relativeChildren = [];
+        this.absoluteChildren = [];
+        this.platform = platform;
+        this.mmopts = {
+          dot: true,
+          nobrace,
+          nocase,
+          noext,
+          noglobstar,
+          optimizationLevel: 2,
+          platform,
+          nocomment: true,
+          nonegate: true
+        };
+        for (const ign of ignored)
+          this.add(ign);
       }
-      this._destroy(err || null, function(err2) {
-        if (!cb && err2) {
-          if (!_this._writableState) {
-            pna.nextTick(emitErrorNT, _this, err2);
-          } else if (!_this._writableState.errorEmitted) {
-            _this._writableState.errorEmitted = true;
-            pna.nextTick(emitErrorNT, _this, err2);
+      add(ign) {
+        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
+        for (let i = 0; i < mm.set.length; i++) {
+          const parsed = mm.set[i];
+          const globParts = mm.globParts[i];
+          if (!parsed || !globParts) {
+            throw new Error("invalid pattern object");
+          }
+          while (parsed[0] === "." && globParts[0] === ".") {
+            parsed.shift();
+            globParts.shift();
+          }
+          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
+          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
+          const children = globParts[globParts.length - 1] === "**";
+          const absolute = p.isAbsolute();
+          if (absolute)
+            this.absolute.push(m);
+          else
+            this.relative.push(m);
+          if (children) {
+            if (absolute)
+              this.absoluteChildren.push(m);
+            else
+              this.relativeChildren.push(m);
           }
-        } else if (cb) {
-          cb(err2);
         }
-      });
-      return this;
-    }
-    function undestroy() {
-      if (this._readableState) {
-        this._readableState.destroyed = false;
-        this._readableState.reading = false;
-        this._readableState.ended = false;
-        this._readableState.endEmitted = false;
       }
-      if (this._writableState) {
-        this._writableState.destroyed = false;
-        this._writableState.ended = false;
-        this._writableState.ending = false;
-        this._writableState.finalCalled = false;
-        this._writableState.prefinished = false;
-        this._writableState.finished = false;
-        this._writableState.errorEmitted = false;
+      ignored(p) {
+        const fullpath = p.fullpath();
+        const fullpaths = `${fullpath}/`;
+        const relative = p.relative() || ".";
+        const relatives = `${relative}/`;
+        for (const m of this.relative) {
+          if (m.match(relative) || m.match(relatives))
+            return true;
+        }
+        for (const m of this.absolute) {
+          if (m.match(fullpath) || m.match(fullpaths))
+            return true;
+        }
+        return false;
+      }
+      childrenIgnored(p) {
+        const fullpath = p.fullpath() + "/";
+        const relative = (p.relative() || ".") + "/";
+        for (const m of this.relativeChildren) {
+          if (m.match(relative))
+            return true;
+        }
+        for (const m of this.absoluteChildren) {
+          if (m.match(fullpath))
+            return true;
+        }
+        return false;
       }
-    }
-    function emitErrorNT(self2, err) {
-      self2.emit("error", err);
-    }
-    module2.exports = {
-      destroy,
-      undestroy
     };
+    exports2.Ignore = Ignore;
   }
 });
 
-// node_modules/util-deprecate/node.js
-var require_node2 = __commonJS({
-  "node_modules/util-deprecate/node.js"(exports2, module2) {
-    module2.exports = require("util").deprecate;
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js
-var require_stream_writable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
+// node_modules/glob/dist/commonjs/processor.js
+var require_processor = __commonJS({
+  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
     "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Writable;
-    function CorkedRequest(state) {
-      var _this = this;
-      this.next = null;
-      this.entry = null;
-      this.finish = function() {
-        onCorkedFinish(_this, state);
-      };
-    }
-    var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
-    var Duplex;
-    Writable.WritableState = WritableState;
-    var util = Object.create(require_util18());
-    util.inherits = require_inherits();
-    var internalUtil = {
-      deprecate: require_node2()
-    };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
-    };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var destroyImpl = require_destroy();
-    util.inherits(Writable, Stream);
-    function nop() {
-    }
-    function WritableState(options, stream) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
-      var hwm = options.highWaterMark;
-      var writableHwm = options.writableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      var noDecode = options.decodeStrings === false;
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = function(er) {
-        onwrite(stream, er);
-      };
-      this.writecb = null;
-      this.writelen = 0;
-      this.bufferedRequest = null;
-      this.lastBufferedRequest = null;
-      this.pendingcb = 0;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.bufferedRequestCount = 0;
-      this.corkedRequestsFree = new CorkedRequest(this);
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      var current = this.bufferedRequest;
-      var out = [];
-      while (current) {
-        out.push(current);
-        current = current.next;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
+    var minimatch_1 = require_commonjs20();
+    var HasWalkedCache = class _HasWalkedCache {
+      store;
+      constructor(store = /* @__PURE__ */ new Map()) {
+        this.store = store;
       }
-      return out;
-    };
-    (function() {
-      try {
-        Object.defineProperty(WritableState.prototype, "buffer", {
-          get: internalUtil.deprecate(function() {
-            return this.getBuffer();
-          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
-        });
-      } catch (_2) {
+      copy() {
+        return new _HasWalkedCache(new Map(this.store));
       }
-    })();
-    var realHasInstance;
-    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
-      realHasInstance = Function.prototype[Symbol.hasInstance];
-      Object.defineProperty(Writable, Symbol.hasInstance, {
-        value: function(object) {
-          if (realHasInstance.call(this, object)) return true;
-          if (this !== Writable) return false;
-          return object && object._writableState instanceof WritableState;
-        }
-      });
-    } else {
-      realHasInstance = function(object) {
-        return object instanceof this;
-      };
-    }
-    function Writable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
-        return new Writable(options);
+      hasWalked(target, pattern) {
+        return this.store.get(target.fullpath())?.has(pattern.globString());
       }
-      this._writableState = new WritableState(options, this);
-      this.writable = true;
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
+      storeWalked(target, pattern) {
+        const fullpath = target.fullpath();
+        const cached = this.store.get(fullpath);
+        if (cached)
+          cached.add(pattern.globString());
+        else
+          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
       }
-      Stream.call(this);
-    }
-    Writable.prototype.pipe = function() {
-      this.emit("error", new Error("Cannot pipe, not readable"));
     };
-    function writeAfterEnd(stream, cb) {
-      var er = new Error("write after end");
-      stream.emit("error", er);
-      pna.nextTick(cb, er);
-    }
-    function validChunk(stream, state, chunk, cb) {
-      var valid3 = true;
-      var er = false;
-      if (chunk === null) {
-        er = new TypeError("May not write null values to stream");
-      } else if (typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+    exports2.HasWalkedCache = HasWalkedCache;
+    var MatchRecord = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, absolute, ifDir) {
+        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
+        const current = this.store.get(target);
+        this.store.set(target, current === void 0 ? n : n & current);
       }
-      if (er) {
-        stream.emit("error", er);
-        pna.nextTick(cb, er);
-        valid3 = false;
+      // match, absolute, ifdir
+      entries() {
+        return [...this.store.entries()].map(([path3, n]) => [
+          path3,
+          !!(n & 2),
+          !!(n & 1)
+        ]);
       }
-      return valid3;
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      var ret = false;
-      var isBuf = !state.objectMode && _isUint8Array(chunk);
-      if (isBuf && !Buffer2.isBuffer(chunk)) {
-        chunk = _uint8ArrayToBuffer(chunk);
+    };
+    exports2.MatchRecord = MatchRecord;
+    var SubWalks = class {
+      store = /* @__PURE__ */ new Map();
+      add(target, pattern) {
+        if (!target.canReaddir()) {
+          return;
+        }
+        const subs = this.store.get(target);
+        if (subs) {
+          if (!subs.find((p) => p.globString() === pattern.globString())) {
+            subs.push(pattern);
+          }
+        } else
+          this.store.set(target, [pattern]);
       }
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
+      get(target) {
+        const subs = this.store.get(target);
+        if (!subs) {
+          throw new Error("attempting to walk unknown path");
+        }
+        return subs;
       }
-      if (isBuf) encoding = "buffer";
-      else if (!encoding) encoding = state.defaultEncoding;
-      if (typeof cb !== "function") cb = nop;
-      if (state.ended) writeAfterEnd(this, cb);
-      else if (isBuf || validChunk(this, state, chunk, cb)) {
-        state.pendingcb++;
-        ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
+      entries() {
+        return this.keys().map((k) => [k, this.store.get(k)]);
       }
-      return ret;
-    };
-    Writable.prototype.cork = function() {
-      var state = this._writableState;
-      state.corked++;
-    };
-    Writable.prototype.uncork = function() {
-      var state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
+      keys() {
+        return [...this.store.keys()].filter((t) => t.canReaddir());
       }
     };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = encoding.toLowerCase();
-      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function decodeChunk(state, chunk, encoding) {
-      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
-        chunk = Buffer2.from(chunk, encoding);
-      }
-      return chunk;
-    }
-    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+    exports2.SubWalks = SubWalks;
+    var Processor = class _Processor {
+      hasWalkedCache;
+      matches = new MatchRecord();
+      subwalks = new SubWalks();
+      patterns;
+      follow;
+      dot;
+      opts;
+      constructor(opts, hasWalkedCache) {
+        this.opts = opts;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
       }
-    });
-    function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
-      if (!isBuf) {
-        var newChunk = decodeChunk(state, chunk, encoding);
-        if (chunk !== newChunk) {
-          isBuf = true;
-          encoding = "buffer";
-          chunk = newChunk;
+      processPatterns(target, patterns) {
+        this.patterns = patterns;
+        const processingSet = patterns.map((p) => [target, p]);
+        for (let [t, pattern] of processingSet) {
+          this.hasWalkedCache.storeWalked(t, pattern);
+          const root = pattern.root();
+          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
+          if (root) {
+            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
+            const rest2 = pattern.rest();
+            if (!rest2) {
+              this.matches.add(t, true, false);
+              continue;
+            } else {
+              pattern = rest2;
+            }
+          }
+          if (t.isENOENT())
+            continue;
+          let p;
+          let rest;
+          let changed = false;
+          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
+            const c = t.resolve(p);
+            t = c;
+            pattern = rest;
+            changed = true;
+          }
+          p = pattern.pattern();
+          rest = pattern.rest();
+          if (changed) {
+            if (this.hasWalkedCache.hasWalked(t, pattern))
+              continue;
+            this.hasWalkedCache.storeWalked(t, pattern);
+          }
+          if (typeof p === "string") {
+            const ifDir = p === ".." || p === "" || p === ".";
+            this.matches.add(t.resolve(p), absolute, ifDir);
+            continue;
+          } else if (p === minimatch_1.GLOBSTAR) {
+            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
+              this.subwalks.add(t, pattern);
+            }
+            const rp = rest?.pattern();
+            const rrest = rest?.rest();
+            if (!rest || (rp === "" || rp === ".") && !rrest) {
+              this.matches.add(t, absolute, rp === "" || rp === ".");
+            } else {
+              if (rp === "..") {
+                const tp = t.parent || t;
+                if (!rrest)
+                  this.matches.add(tp, absolute, true);
+                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
+                  this.subwalks.add(tp, rrest);
+                }
+              }
+            }
+          } else if (p instanceof RegExp) {
+            this.subwalks.add(t, pattern);
+          }
         }
+        return this;
       }
-      var len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      var ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked) {
-        var last = state.lastBufferedRequest;
-        state.lastBufferedRequest = {
-          chunk,
-          encoding,
-          isBuf,
-          callback: cb,
-          next: null
-        };
-        if (last) {
-          last.next = state.lastBufferedRequest;
-        } else {
-          state.bufferedRequest = state.lastBufferedRequest;
+      subwalkTargets() {
+        return this.subwalks.keys();
+      }
+      child() {
+        return new _Processor(this.opts, this.hasWalkedCache);
+      }
+      // return a new Processor containing the subwalks for each
+      // child entry, and a set of matches, and
+      // a hasWalkedCache that's a copy of this one
+      // then we're going to call
+      filterEntries(parent, entries) {
+        const patterns = this.subwalks.get(parent);
+        const results = this.child();
+        for (const e of entries) {
+          for (const pattern of patterns) {
+            const absolute = pattern.isAbsolute();
+            const p = pattern.pattern();
+            const rest = pattern.rest();
+            if (p === minimatch_1.GLOBSTAR) {
+              results.testGlobstar(e, pattern, rest, absolute);
+            } else if (p instanceof RegExp) {
+              results.testRegExp(e, p, rest, absolute);
+            } else {
+              results.testString(e, p, rest, absolute);
+            }
+          }
         }
-        state.bufferedRequestCount += 1;
-      } else {
-        doWrite(stream, state, false, len, chunk, encoding, cb);
+        return results;
       }
-      return ret;
-    }
-    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (writev) stream._writev(chunk, state.onwrite);
-      else stream._write(chunk, encoding, state.onwrite);
-      state.sync = false;
-    }
-    function onwriteError(stream, state, sync, er, cb) {
-      --state.pendingcb;
-      if (sync) {
-        pna.nextTick(cb, er);
-        pna.nextTick(finishMaybe, stream, state);
-        stream._writableState.errorEmitted = true;
-        stream.emit("error", er);
-      } else {
-        cb(er);
-        stream._writableState.errorEmitted = true;
-        stream.emit("error", er);
-        finishMaybe(stream, state);
+      testGlobstar(e, pattern, rest, absolute) {
+        if (this.dot || !e.name.startsWith(".")) {
+          if (!pattern.hasMore()) {
+            this.matches.add(e, absolute, false);
+          }
+          if (e.canReaddir()) {
+            if (this.follow || !e.isSymbolicLink()) {
+              this.subwalks.add(e, pattern);
+            } else if (e.isSymbolicLink()) {
+              if (rest && pattern.checkFollowGlobstar()) {
+                this.subwalks.add(e, rest);
+              } else if (pattern.markFollowGlobstar()) {
+                this.subwalks.add(e, pattern);
+              }
+            }
+          }
+        }
+        if (rest) {
+          const rp = rest.pattern();
+          if (typeof rp === "string" && // dots and empty were handled already
+          rp !== ".." && rp !== "" && rp !== ".") {
+            this.testString(e, rp, rest.rest(), absolute);
+          } else if (rp === "..") {
+            const ep = e.parent || e;
+            this.subwalks.add(ep, rest);
+          } else if (rp instanceof RegExp) {
+            this.testRegExp(e, rp, rest.rest(), absolute);
+          }
+        }
       }
-    }
-    function onwriteStateUpdate(state) {
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
-    }
-    function onwrite(stream, er) {
-      var state = stream._writableState;
-      var sync = state.sync;
-      var cb = state.writecb;
-      onwriteStateUpdate(state);
-      if (er) onwriteError(stream, state, sync, er, cb);
-      else {
-        var finished = needFinish(state);
-        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
-          clearBuffer(stream, state);
+      testRegExp(e, p, rest, absolute) {
+        if (!p.test(e.name))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
+        } else {
+          this.subwalks.add(e, rest);
         }
-        if (sync) {
-          asyncWrite(afterWrite, stream, state, finished, cb);
+      }
+      testString(e, p, rest, absolute) {
+        if (!e.isNamed(p))
+          return;
+        if (!rest) {
+          this.matches.add(e, absolute, false);
         } else {
-          afterWrite(stream, state, finished, cb);
+          this.subwalks.add(e, rest);
+        }
+      }
+    };
+    exports2.Processor = Processor;
+  }
+});
+
+// node_modules/glob/dist/commonjs/walker.js
+var require_walker = __commonJS({
+  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
+    var minipass_1 = require_commonjs22();
+    var ignore_js_1 = require_ignore();
+    var processor_js_1 = require_processor();
+    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
+    var GlobUtil = class {
+      path;
+      patterns;
+      opts;
+      seen = /* @__PURE__ */ new Set();
+      paused = false;
+      aborted = false;
+      #onResume = [];
+      #ignore;
+      #sep;
+      signal;
+      maxDepth;
+      includeChildMatches;
+      constructor(patterns, path3, opts) {
+        this.patterns = patterns;
+        this.path = path3;
+        this.opts = opts;
+        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        if (opts.ignore || !this.includeChildMatches) {
+          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
+          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
+            const m = "cannot ignore child matches, ignore lacks add() method.";
+            throw new Error(m);
+          }
+        }
+        this.maxDepth = opts.maxDepth || Infinity;
+        if (opts.signal) {
+          this.signal = opts.signal;
+          this.signal.addEventListener("abort", () => {
+            this.#onResume.length = 0;
+          });
         }
       }
-    }
-    function afterWrite(stream, state, finished, cb) {
-      if (!finished) onwriteDrain(stream, state);
-      state.pendingcb--;
-      cb();
-      finishMaybe(stream, state);
-    }
-    function onwriteDrain(stream, state) {
-      if (state.length === 0 && state.needDrain) {
-        state.needDrain = false;
-        stream.emit("drain");
+      #ignored(path3) {
+        return this.seen.has(path3) || !!this.#ignore?.ignored?.(path3);
       }
-    }
-    function clearBuffer(stream, state) {
-      state.bufferProcessing = true;
-      var entry = state.bufferedRequest;
-      if (stream._writev && entry && entry.next) {
-        var l = state.bufferedRequestCount;
-        var buffer = new Array(l);
-        var holder = state.corkedRequestsFree;
-        holder.entry = entry;
-        var count = 0;
-        var allBuffers = true;
-        while (entry) {
-          buffer[count] = entry;
-          if (!entry.isBuf) allBuffers = false;
-          entry = entry.next;
-          count += 1;
+      #childrenIgnored(path3) {
+        return !!this.#ignore?.childrenIgnored?.(path3);
+      }
+      // backpressure mechanism
+      pause() {
+        this.paused = true;
+      }
+      resume() {
+        if (this.signal?.aborted)
+          return;
+        this.paused = false;
+        let fn = void 0;
+        while (!this.paused && (fn = this.#onResume.shift())) {
+          fn();
         }
-        buffer.allBuffers = allBuffers;
-        doWrite(stream, state, true, state.length, buffer, "", holder.finish);
-        state.pendingcb++;
-        state.lastBufferedRequest = null;
-        if (holder.next) {
-          state.corkedRequestsFree = holder.next;
-          holder.next = null;
+      }
+      onResume(fn) {
+        if (this.signal?.aborted)
+          return;
+        if (!this.paused) {
+          fn();
         } else {
-          state.corkedRequestsFree = new CorkedRequest(state);
+          this.#onResume.push(fn);
         }
-        state.bufferedRequestCount = 0;
-      } else {
-        while (entry) {
-          var chunk = entry.chunk;
-          var encoding = entry.encoding;
-          var cb = entry.callback;
-          var len = state.objectMode ? 1 : chunk.length;
-          doWrite(stream, state, false, len, chunk, encoding, cb);
-          entry = entry.next;
-          state.bufferedRequestCount--;
-          if (state.writing) {
-            break;
+      }
+      // do the requisite realpath/stat checking, and return the path
+      // to add or undefined to filter it out.
+      async matchCheck(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || await e.realpath();
+          if (!rpc)
+            return void 0;
+          e = rpc;
+        }
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? await e.lstat() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = await s.realpath();
+          if (target && (target.isUnknown() || this.opts.stat)) {
+            await target.lstat();
           }
         }
-        if (entry === null) state.lastBufferedRequest = null;
+        return this.matchCheckTest(s, ifDir);
       }
-      state.bufferedRequest = entry;
-      state.bufferProcessing = false;
-    }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      cb(new Error("_write() is not implemented"));
-    };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      var state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
+      matchCheckTest(e, ifDir) {
+        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
       }
-      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
+      matchCheckSync(e, ifDir) {
+        if (ifDir && this.opts.nodir)
+          return void 0;
+        let rpc;
+        if (this.opts.realpath) {
+          rpc = e.realpathCached() || e.realpathSync();
+          if (!rpc)
+            return void 0;
+          e = rpc;
+        }
+        const needStat = e.isUnknown() || this.opts.stat;
+        const s = needStat ? e.lstatSync() : e;
+        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
+          const target = s.realpathSync();
+          if (target && (target?.isUnknown() || this.opts.stat)) {
+            target.lstatSync();
+          }
+        }
+        return this.matchCheckTest(s, ifDir);
       }
-      if (!state.ending) endWritable(this, state, cb);
-    };
-    function needFinish(state) {
-      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
-    }
-    function callFinal(stream, state) {
-      stream._final(function(err) {
-        state.pendingcb--;
-        if (err) {
-          stream.emit("error", err);
+      matchFinish(e, absolute) {
+        if (this.#ignored(e))
+          return;
+        if (!this.includeChildMatches && this.#ignore?.add) {
+          const ign = `${e.relativePosix()}/**`;
+          this.#ignore.add(ign);
         }
-        state.prefinished = true;
-        stream.emit("prefinish");
-        finishMaybe(stream, state);
-      });
-    }
-    function prefinish(stream, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream._final === "function") {
-          state.pendingcb++;
-          state.finalCalled = true;
-          pna.nextTick(callFinal, stream, state);
+        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
+        this.seen.add(e);
+        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
+        if (this.opts.withFileTypes) {
+          this.matchEmit(e);
+        } else if (abs) {
+          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
+          this.matchEmit(abs2 + mark);
         } else {
-          state.prefinished = true;
-          stream.emit("prefinish");
+          const rel = this.opts.posix ? e.relativePosix() : e.relative();
+          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
+          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
         }
       }
-    }
-    function finishMaybe(stream, state) {
-      var need = needFinish(state);
-      if (need) {
-        prefinish(stream, state);
-        if (state.pendingcb === 0) {
-          state.finished = true;
-          stream.emit("finish");
-        }
+      async match(e, absolute, ifDir) {
+        const p = await this.matchCheck(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
       }
-      return need;
-    }
-    function endWritable(stream, state, cb) {
-      state.ending = true;
-      finishMaybe(stream, state);
-      if (cb) {
-        if (state.finished) pna.nextTick(cb);
-        else stream.once("finish", cb);
+      matchSync(e, absolute, ifDir) {
+        const p = this.matchCheckSync(e, ifDir);
+        if (p)
+          this.matchFinish(p, absolute);
       }
-      state.ended = true;
-      stream.writable = false;
-    }
-    function onCorkedFinish(corkReq, state, err) {
-      var entry = corkReq.entry;
-      corkReq.entry = null;
-      while (entry) {
-        var cb = entry.callback;
-        state.pendingcb--;
-        cb(err);
-        entry = entry.next;
+      walkCB(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
       }
-      state.corkedRequestsFree.next = corkReq;
-    }
-    Object.defineProperty(Writable.prototype, "destroyed", {
-      get: function() {
-        if (this._writableState === void 0) {
-          return false;
-        }
-        return this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._writableState) {
+      walkCB2(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
           return;
         }
-        this._writableState.destroyed = value;
-      }
-    });
-    Writable.prototype.destroy = destroyImpl.destroy;
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      this.end();
-      cb(err);
-    };
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js
-var require_stream_duplex = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
-    "use strict";
-    var pna = require_process_nextick_args();
-    var objectKeys = Object.keys || function(obj) {
-      var keys2 = [];
-      for (var key in obj) {
-        keys2.push(key);
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
+        }
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const childrenCached = t.readdirCached();
+          if (t.calledReaddir())
+            this.walkCB3(t, childrenCached, processor, next);
+          else {
+            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
+          }
+        }
+        next();
       }
-      return keys2;
-    };
-    module2.exports = Duplex;
-    var util = Object.create(require_util18());
-    util.inherits = require_inherits();
-    var Readable = require_stream_readable();
-    var Writable = require_stream_writable();
-    util.inherits(Duplex, Readable);
-    {
-      keys = objectKeys(Writable.prototype);
-      for (v = 0; v < keys.length; v++) {
-        method = keys[v];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
+      walkCB3(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          tasks++;
+          this.match(m, absolute, ifDir).then(() => next());
+        }
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2(target2, patterns, processor.child(), next);
+        }
+        next();
       }
-    }
-    var keys;
-    var method;
-    var v;
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable.call(this, options);
-      Writable.call(this, options);
-      if (options && options.readable === false) this.readable = false;
-      if (options && options.writable === false) this.writable = false;
-      this.allowHalfOpen = true;
-      if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
-      this.once("end", onend);
-    }
-    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._writableState.highWaterMark;
+      walkCBSync(target, patterns, cb) {
+        if (this.signal?.aborted)
+          cb();
+        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
       }
-    });
-    function onend() {
-      if (this.allowHalfOpen || this._writableState.ended) return;
-      pna.nextTick(onEndNT, this);
-    }
-    function onEndNT(self2) {
-      self2.end();
-    }
-    Object.defineProperty(Duplex.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0 || this._writableState === void 0) {
-          return false;
-        }
-        return this._readableState.destroyed && this._writableState.destroyed;
-      },
-      set: function(value) {
-        if (this._readableState === void 0 || this._writableState === void 0) {
+      walkCB2Sync(target, patterns, processor, cb) {
+        if (this.#childrenIgnored(target))
+          return cb();
+        if (this.signal?.aborted)
+          cb();
+        if (this.paused) {
+          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
           return;
         }
-        this._readableState.destroyed = value;
-        this._writableState.destroyed = value;
+        processor.processPatterns(target, patterns);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
+        }
+        for (const t of processor.subwalkTargets()) {
+          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
+            continue;
+          }
+          tasks++;
+          const children = t.readdirSync();
+          this.walkCB3Sync(t, children, processor, next);
+        }
+        next();
       }
-    });
-    Duplex.prototype._destroy = function(err, cb) {
-      this.push(null);
-      this.end();
-      pna.nextTick(cb, err);
-    };
-  }
-});
-
-// node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js
-var require_string_decoder = __commonJS({
-  "node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
-    "use strict";
-    var Buffer2 = require_safe_buffer().Buffer;
-    var isEncoding = Buffer2.isEncoding || function(encoding) {
-      encoding = "" + encoding;
-      switch (encoding && encoding.toLowerCase()) {
-        case "hex":
-        case "utf8":
-        case "utf-8":
-        case "ascii":
-        case "binary":
-        case "base64":
-        case "ucs2":
-        case "ucs-2":
-        case "utf16le":
-        case "utf-16le":
-        case "raw":
-          return true;
-        default:
-          return false;
+      walkCB3Sync(target, entries, processor, cb) {
+        processor = processor.filterEntries(target, entries);
+        let tasks = 1;
+        const next = () => {
+          if (--tasks === 0)
+            cb();
+        };
+        for (const [m, absolute, ifDir] of processor.matches.entries()) {
+          if (this.#ignored(m))
+            continue;
+          this.matchSync(m, absolute, ifDir);
+        }
+        for (const [target2, patterns] of processor.subwalks.entries()) {
+          tasks++;
+          this.walkCB2Sync(target2, patterns, processor.child(), next);
+        }
+        next();
       }
     };
-    function _normalizeEncoding(enc) {
-      if (!enc) return "utf8";
-      var retried;
-      while (true) {
-        switch (enc) {
-          case "utf8":
-          case "utf-8":
-            return "utf8";
-          case "ucs2":
-          case "ucs-2":
-          case "utf16le":
-          case "utf-16le":
-            return "utf16le";
-          case "latin1":
-          case "binary":
-            return "latin1";
-          case "base64":
-          case "ascii":
-          case "hex":
-            return enc;
-          default:
-            if (retried) return;
-            enc = ("" + enc).toLowerCase();
-            retried = true;
-        }
+    exports2.GlobUtil = GlobUtil;
+    var GlobWalker = class extends GlobUtil {
+      matches = /* @__PURE__ */ new Set();
+      constructor(patterns, path3, opts) {
+        super(patterns, path3, opts);
       }
-    }
-    function normalizeEncoding(enc) {
-      var nenc = _normalizeEncoding(enc);
-      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
-      return nenc || enc;
-    }
-    exports2.StringDecoder = StringDecoder;
-    function StringDecoder(encoding) {
-      this.encoding = normalizeEncoding(encoding);
-      var nb;
-      switch (this.encoding) {
-        case "utf16le":
-          this.text = utf16Text;
-          this.end = utf16End;
-          nb = 4;
-          break;
-        case "utf8":
-          this.fillLast = utf8FillLast;
-          nb = 4;
-          break;
-        case "base64":
-          this.text = base64Text;
-          this.end = base64End;
-          nb = 3;
-          break;
-        default:
-          this.write = simpleWrite;
-          this.end = simpleEnd;
-          return;
+      matchEmit(e) {
+        this.matches.add(e);
       }
-      this.lastNeed = 0;
-      this.lastTotal = 0;
-      this.lastChar = Buffer2.allocUnsafe(nb);
-    }
-    StringDecoder.prototype.write = function(buf) {
-      if (buf.length === 0) return "";
-      var r;
-      var i;
-      if (this.lastNeed) {
-        r = this.fillLast(buf);
-        if (r === void 0) return "";
-        i = this.lastNeed;
-        this.lastNeed = 0;
-      } else {
-        i = 0;
+      async walk() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          await this.path.lstat();
+        }
+        await new Promise((res, rej) => {
+          this.walkCB(this.path, this.patterns, () => {
+            if (this.signal?.aborted) {
+              rej(this.signal.reason);
+            } else {
+              res(this.matches);
+            }
+          });
+        });
+        return this.matches;
       }
-      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
-      return r || "";
-    };
-    StringDecoder.prototype.end = utf8End;
-    StringDecoder.prototype.text = utf8Text;
-    StringDecoder.prototype.fillLast = function(buf) {
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
+      walkSync() {
+        if (this.signal?.aborted)
+          throw this.signal.reason;
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
+        }
+        this.walkCBSync(this.path, this.patterns, () => {
+          if (this.signal?.aborted)
+            throw this.signal.reason;
+        });
+        return this.matches;
       }
-      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
-      this.lastNeed -= buf.length;
     };
-    function utf8CheckByte(byte) {
-      if (byte <= 127) return 0;
-      else if (byte >> 5 === 6) return 2;
-      else if (byte >> 4 === 14) return 3;
-      else if (byte >> 3 === 30) return 4;
-      return byte >> 6 === 2 ? -1 : -2;
-    }
-    function utf8CheckIncomplete(self2, buf, i) {
-      var j = buf.length - 1;
-      if (j < i) return 0;
-      var nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 1;
-        return nb;
+    exports2.GlobWalker = GlobWalker;
+    var GlobStream = class extends GlobUtil {
+      results;
+      constructor(patterns, path3, opts) {
+        super(patterns, path3, opts);
+        this.results = new minipass_1.Minipass({
+          signal: this.signal,
+          objectMode: true
+        });
+        this.results.on("drain", () => this.resume());
+        this.results.on("resume", () => this.resume());
       }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) self2.lastNeed = nb - 2;
-        return nb;
+      matchEmit(e) {
+        this.results.write(e);
+        if (!this.results.flowing)
+          this.pause();
       }
-      if (--j < i || nb === -2) return 0;
-      nb = utf8CheckByte(buf[j]);
-      if (nb >= 0) {
-        if (nb > 0) {
-          if (nb === 2) nb = 0;
-          else self2.lastNeed = nb - 3;
+      stream() {
+        const target = this.path;
+        if (target.isUnknown()) {
+          target.lstat().then(() => {
+            this.walkCB(target, this.patterns, () => this.results.end());
+          });
+        } else {
+          this.walkCB(target, this.patterns, () => this.results.end());
         }
-        return nb;
+        return this.results;
       }
-      return 0;
-    }
-    function utf8CheckExtraBytes(self2, buf, p) {
-      if ((buf[0] & 192) !== 128) {
-        self2.lastNeed = 0;
-        return "\uFFFD";
+      streamSync() {
+        if (this.path.isUnknown()) {
+          this.path.lstatSync();
+        }
+        this.walkCBSync(this.path, this.patterns, () => this.results.end());
+        return this.results;
       }
-      if (self2.lastNeed > 1 && buf.length > 1) {
-        if ((buf[1] & 192) !== 128) {
-          self2.lastNeed = 1;
-          return "\uFFFD";
+    };
+    exports2.GlobStream = GlobStream;
+  }
+});
+
+// node_modules/glob/dist/commonjs/glob.js
+var require_glob = __commonJS({
+  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Glob = void 0;
+    var minimatch_1 = require_commonjs20();
+    var node_url_1 = require("node:url");
+    var path_scurry_1 = require_commonjs23();
+    var pattern_js_1 = require_pattern();
+    var walker_js_1 = require_walker();
+    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
+    var Glob = class {
+      absolute;
+      cwd;
+      root;
+      dot;
+      dotRelative;
+      follow;
+      ignore;
+      magicalBraces;
+      mark;
+      matchBase;
+      maxDepth;
+      nobrace;
+      nocase;
+      nodir;
+      noext;
+      noglobstar;
+      pattern;
+      platform;
+      realpath;
+      scurry;
+      stat;
+      signal;
+      windowsPathsNoEscape;
+      withFileTypes;
+      includeChildMatches;
+      /**
+       * The options provided to the constructor.
+       */
+      opts;
+      /**
+       * An array of parsed immutable {@link Pattern} objects.
+       */
+      patterns;
+      /**
+       * All options are stored as properties on the `Glob` object.
+       *
+       * See {@link GlobOptions} for full options descriptions.
+       *
+       * Note that a previous `Glob` object can be passed as the
+       * `GlobOptions` to another `Glob` instantiation to re-use settings
+       * and caches with a new pattern.
+       *
+       * Traversal functions can be called multiple times to run the walk
+       * again.
+       */
+      constructor(pattern, opts) {
+        if (!opts)
+          throw new TypeError("glob options required");
+        this.withFileTypes = !!opts.withFileTypes;
+        this.signal = opts.signal;
+        this.follow = !!opts.follow;
+        this.dot = !!opts.dot;
+        this.dotRelative = !!opts.dotRelative;
+        this.nodir = !!opts.nodir;
+        this.mark = !!opts.mark;
+        if (!opts.cwd) {
+          this.cwd = "";
+        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
+          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
         }
-        if (self2.lastNeed > 2 && buf.length > 2) {
-          if ((buf[2] & 192) !== 128) {
-            self2.lastNeed = 2;
-            return "\uFFFD";
+        this.cwd = opts.cwd || "";
+        this.root = opts.root;
+        this.magicalBraces = !!opts.magicalBraces;
+        this.nobrace = !!opts.nobrace;
+        this.noext = !!opts.noext;
+        this.realpath = !!opts.realpath;
+        this.absolute = opts.absolute;
+        this.includeChildMatches = opts.includeChildMatches !== false;
+        this.noglobstar = !!opts.noglobstar;
+        this.matchBase = !!opts.matchBase;
+        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
+        this.stat = !!opts.stat;
+        this.ignore = opts.ignore;
+        if (this.withFileTypes && this.absolute !== void 0) {
+          throw new Error("cannot set absolute and withFileTypes:true");
+        }
+        if (typeof pattern === "string") {
+          pattern = [pattern];
+        }
+        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
+        if (this.windowsPathsNoEscape) {
+          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
+        }
+        if (this.matchBase) {
+          if (opts.noglobstar) {
+            throw new TypeError("base matching requires globstar");
           }
+          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
         }
-      }
-    }
-    function utf8FillLast(buf) {
-      var p = this.lastTotal - this.lastNeed;
-      var r = utf8CheckExtraBytes(this, buf, p);
-      if (r !== void 0) return r;
-      if (this.lastNeed <= buf.length) {
-        buf.copy(this.lastChar, p, 0, this.lastNeed);
-        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
-      }
-      buf.copy(this.lastChar, p, 0, buf.length);
-      this.lastNeed -= buf.length;
-    }
-    function utf8Text(buf, i) {
-      var total = utf8CheckIncomplete(this, buf, i);
-      if (!this.lastNeed) return buf.toString("utf8", i);
-      this.lastTotal = total;
-      var end = buf.length - (total - this.lastNeed);
-      buf.copy(this.lastChar, 0, end);
-      return buf.toString("utf8", i, end);
-    }
-    function utf8End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + "\uFFFD";
-      return r;
-    }
-    function utf16Text(buf, i) {
-      if ((buf.length - i) % 2 === 0) {
-        var r = buf.toString("utf16le", i);
-        if (r) {
-          var c = r.charCodeAt(r.length - 1);
-          if (c >= 55296 && c <= 56319) {
-            this.lastNeed = 2;
-            this.lastTotal = 4;
-            this.lastChar[0] = buf[buf.length - 2];
-            this.lastChar[1] = buf[buf.length - 1];
-            return r.slice(0, -1);
+        this.pattern = pattern;
+        this.platform = opts.platform || defaultPlatform;
+        this.opts = { ...opts, platform: this.platform };
+        if (opts.scurry) {
+          this.scurry = opts.scurry;
+          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
+            throw new Error("nocase option contradicts provided scurry option");
           }
+        } else {
+          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
+          this.scurry = new Scurry(this.cwd, {
+            nocase: opts.nocase,
+            fs: opts.fs
+          });
         }
-        return r;
+        this.nocase = this.scurry.nocase;
+        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
+        const mmo = {
+          // default nocase based on platform
+          ...opts,
+          dot: this.dot,
+          matchBase: this.matchBase,
+          nobrace: this.nobrace,
+          nocase: this.nocase,
+          nocaseMagicOnly,
+          nocomment: true,
+          noext: this.noext,
+          nonegate: true,
+          optimizationLevel: 2,
+          platform: this.platform,
+          windowsPathsNoEscape: this.windowsPathsNoEscape,
+          debug: !!this.opts.debug
+        };
+        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
+        const [matchSet, globParts] = mms.reduce((set2, m) => {
+          set2[0].push(...m.set);
+          set2[1].push(...m.globParts);
+          return set2;
+        }, [[], []]);
+        this.patterns = matchSet.map((set2, i) => {
+          const g = globParts[i];
+          if (!g)
+            throw new Error("invalid pattern object");
+          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
+        });
       }
-      this.lastNeed = 1;
-      this.lastTotal = 2;
-      this.lastChar[0] = buf[buf.length - 1];
-      return buf.toString("utf16le", i, buf.length - 1);
-    }
-    function utf16End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) {
-        var end = this.lastTotal - this.lastNeed;
-        return r + this.lastChar.toString("utf16le", 0, end);
+      async walk() {
+        return [
+          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walk()
+        ];
       }
-      return r;
-    }
-    function base64Text(buf, i) {
-      var n = (buf.length - i) % 3;
-      if (n === 0) return buf.toString("base64", i);
-      this.lastNeed = 3 - n;
-      this.lastTotal = 3;
-      if (n === 1) {
-        this.lastChar[0] = buf[buf.length - 1];
-      } else {
-        this.lastChar[0] = buf[buf.length - 2];
-        this.lastChar[1] = buf[buf.length - 1];
+      walkSync() {
+        return [
+          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
+            ...this.opts,
+            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+            platform: this.platform,
+            nocase: this.nocase,
+            includeChildMatches: this.includeChildMatches
+          }).walkSync()
+        ];
       }
-      return buf.toString("base64", i, buf.length - n);
-    }
-    function base64End(buf) {
-      var r = buf && buf.length ? this.write(buf) : "";
-      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
-      return r;
-    }
-    function simpleWrite(buf) {
-      return buf.toString(this.encoding);
-    }
-    function simpleEnd(buf) {
-      return buf && buf.length ? this.write(buf) : "";
-    }
+      stream() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).stream();
+      }
+      streamSync() {
+        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
+          ...this.opts,
+          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
+          platform: this.platform,
+          nocase: this.nocase,
+          includeChildMatches: this.includeChildMatches
+        }).streamSync();
+      }
+      /**
+       * Default sync iteration function. Returns a Generator that
+       * iterates over the results.
+       */
+      iterateSync() {
+        return this.streamSync()[Symbol.iterator]();
+      }
+      [Symbol.iterator]() {
+        return this.iterateSync();
+      }
+      /**
+       * Default async iteration function. Returns an AsyncGenerator that
+       * iterates over the results.
+       */
+      iterate() {
+        return this.stream()[Symbol.asyncIterator]();
+      }
+      [Symbol.asyncIterator]() {
+        return this.iterate();
+      }
+    };
+    exports2.Glob = Glob;
   }
 });
 
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js
-var require_stream_readable = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
+// node_modules/glob/dist/commonjs/has-magic.js
+var require_has_magic = __commonJS({
+  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
     "use strict";
-    var pna = require_process_nextick_args();
-    module2.exports = Readable;
-    var isArray = require_isarray();
-    var Duplex;
-    Readable.ReadableState = ReadableState;
-    var EE = require("events").EventEmitter;
-    var EElistenerCount = function(emitter, type2) {
-      return emitter.listeners(type2).length;
-    };
-    var Stream = require_stream();
-    var Buffer2 = require_safe_buffer().Buffer;
-    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
-    };
-    function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk);
-    }
-    function _isUint8Array(obj) {
-      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
-    }
-    var util = Object.create(require_util18());
-    util.inherits = require_inherits();
-    var debugUtil = require("util");
-    var debug4 = void 0;
-    if (debugUtil && debugUtil.debuglog) {
-      debug4 = debugUtil.debuglog("stream");
-    } else {
-      debug4 = function() {
-      };
-    }
-    var BufferList = require_BufferList();
-    var destroyImpl = require_destroy();
-    var StringDecoder;
-    util.inherits(Readable, Stream);
-    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
-    function ReadableState(options, stream) {
-      Duplex = Duplex || require_stream_duplex();
-      options = options || {};
-      var isDuplex = stream instanceof Duplex;
-      this.objectMode = !!options.objectMode;
-      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
-      var hwm = options.highWaterMark;
-      var readableHwm = options.readableHighWaterMark;
-      var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-      if (hwm || hwm === 0) this.highWaterMark = hwm;
-      else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;
-      else this.highWaterMark = defaultHwm;
-      this.highWaterMark = Math.floor(this.highWaterMark);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = null;
-      this.pipesCount = 0;
-      this.flowing = null;
-      this.ended = false;
-      this.endEmitted = false;
-      this.reading = false;
-      this.sync = true;
-      this.needReadable = false;
-      this.emittedReadable = false;
-      this.readableListening = false;
-      this.resumeScheduled = false;
-      this.destroyed = false;
-      this.defaultEncoding = options.defaultEncoding || "utf8";
-      this.awaitDrain = 0;
-      this.readingMore = false;
-      this.decoder = null;
-      this.encoding = null;
-      if (options.encoding) {
-        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.hasMagic = void 0;
+    var minimatch_1 = require_commonjs20();
+    var hasMagic = (pattern, options = {}) => {
+      if (!Array.isArray(pattern)) {
+        pattern = [pattern];
+      }
+      for (const p of pattern) {
+        if (new minimatch_1.Minimatch(p, options).hasMagic())
+          return true;
       }
+      return false;
+    };
+    exports2.hasMagic = hasMagic;
+  }
+});
+
+// node_modules/glob/dist/commonjs/index.js
+var require_commonjs24 = __commonJS({
+  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
+    exports2.globStreamSync = globStreamSync;
+    exports2.globStream = globStream;
+    exports2.globSync = globSync;
+    exports2.globIterateSync = globIterateSync;
+    exports2.globIterate = globIterate;
+    var minimatch_1 = require_commonjs20();
+    var glob_js_1 = require_glob();
+    var has_magic_js_1 = require_has_magic();
+    var minimatch_2 = require_commonjs20();
+    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
+      return minimatch_2.escape;
+    } });
+    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
+      return minimatch_2.unescape;
+    } });
+    var glob_js_2 = require_glob();
+    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
+      return glob_js_2.Glob;
+    } });
+    var has_magic_js_2 = require_has_magic();
+    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
+      return has_magic_js_2.hasMagic;
+    } });
+    var ignore_js_1 = require_ignore();
+    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
+      return ignore_js_1.Ignore;
+    } });
+    function globStreamSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).streamSync();
     }
-    function Readable(options) {
-      Duplex = Duplex || require_stream_duplex();
-      if (!(this instanceof Readable)) return new Readable(options);
-      this._readableState = new ReadableState(options, this);
-      this.readable = true;
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-      }
-      Stream.call(this);
+    function globStream(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).stream();
     }
-    Object.defineProperty(Readable.prototype, "destroyed", {
-      get: function() {
-        if (this._readableState === void 0) {
-          return false;
-        }
-        return this._readableState.destroyed;
-      },
-      set: function(value) {
-        if (!this._readableState) {
-          return;
-        }
-        this._readableState.destroyed = value;
-      }
+    function globSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walkSync();
+    }
+    async function glob_(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).walk();
+    }
+    function globIterateSync(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterateSync();
+    }
+    function globIterate(pattern, options = {}) {
+      return new glob_js_1.Glob(pattern, options).iterate();
+    }
+    exports2.streamSync = globStreamSync;
+    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
+    exports2.iterateSync = globIterateSync;
+    exports2.iterate = Object.assign(globIterate, {
+      sync: globIterateSync
     });
-    Readable.prototype.destroy = destroyImpl.destroy;
-    Readable.prototype._undestroy = destroyImpl.undestroy;
-    Readable.prototype._destroy = function(err, cb) {
-      this.push(null);
-      cb(err);
-    };
-    Readable.prototype.push = function(chunk, encoding) {
-      var state = this._readableState;
-      var skipChunkCheck;
-      if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (encoding !== state.encoding) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "";
-          }
-          skipChunkCheck = true;
+    exports2.sync = Object.assign(globSync, {
+      stream: globStreamSync,
+      iterate: globIterateSync
+    });
+    exports2.glob = Object.assign(glob_, {
+      glob: glob_,
+      globSync,
+      sync: exports2.sync,
+      globStream,
+      stream: exports2.stream,
+      globStreamSync,
+      streamSync: exports2.streamSync,
+      globIterate,
+      iterate: exports2.iterate,
+      globIterateSync,
+      iterateSync: exports2.iterateSync,
+      Glob: glob_js_1.Glob,
+      hasMagic: has_magic_js_1.hasMagic,
+      escape: minimatch_1.escape,
+      unescape: minimatch_1.unescape
+    });
+    exports2.glob.glob = exports2.glob;
+  }
+});
+
+// node_modules/archiver-utils/file.js
+var require_file4 = __commonJS({
+  "node_modules/archiver-utils/file.js"(exports2, module2) {
+    var fs3 = require_graceful_fs();
+    var path3 = require("path");
+    var flatten = require_flatten();
+    var difference = require_difference();
+    var union = require_union();
+    var isPlainObject3 = require_isPlainObject();
+    var glob2 = require_commonjs24();
+    var file = module2.exports = {};
+    var pathSeparatorRe = /[\/\\]/g;
+    var processPatterns = function(patterns, fn) {
+      var result = [];
+      flatten(patterns).forEach(function(pattern) {
+        var exclusion = pattern.indexOf("!") === 0;
+        if (exclusion) {
+          pattern = pattern.slice(1);
         }
-      } else {
-        skipChunkCheck = true;
-      }
-      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
+        var matches = fn(pattern);
+        if (exclusion) {
+          result = difference(result, matches);
+        } else {
+          result = union(result, matches);
+        }
+      });
+      return result;
     };
-    Readable.prototype.unshift = function(chunk) {
-      return readableAddChunk(this, chunk, null, true, false);
+    file.exists = function() {
+      var filepath = path3.join.apply(path3, arguments);
+      return fs3.existsSync(filepath);
     };
-    function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
-      var state = stream._readableState;
-      if (chunk === null) {
-        state.reading = false;
-        onEofChunk(stream, state);
-      } else {
-        var er;
-        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
-        if (er) {
-          stream.emit("error", er);
-        } else if (state.objectMode || chunk && chunk.length > 0) {
-          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
-            chunk = _uint8ArrayToBuffer(chunk);
-          }
-          if (addToFront) {
-            if (state.endEmitted) stream.emit("error", new Error("stream.unshift() after end event"));
-            else addChunk(stream, state, chunk, true);
-          } else if (state.ended) {
-            stream.emit("error", new Error("stream.push() after EOF"));
-          } else {
-            state.reading = false;
-            if (state.decoder && !encoding) {
-              chunk = state.decoder.write(chunk);
-              if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
-              else maybeReadMore(stream, state);
+    file.expand = function(...args) {
+      var options = isPlainObject3(args[0]) ? args.shift() : {};
+      var patterns = Array.isArray(args[0]) ? args[0] : args;
+      if (patterns.length === 0) {
+        return [];
+      }
+      var matches = processPatterns(patterns, function(pattern) {
+        return glob2.sync(pattern, options);
+      });
+      if (options.filter) {
+        matches = matches.filter(function(filepath) {
+          filepath = path3.join(options.cwd || "", filepath);
+          try {
+            if (typeof options.filter === "function") {
+              return options.filter(filepath);
             } else {
-              addChunk(stream, state, chunk, false);
+              return fs3.statSync(filepath)[options.filter]();
             }
+          } catch (e) {
+            return false;
           }
-        } else if (!addToFront) {
-          state.reading = false;
-        }
-      }
-      return needMoreData(state);
-    }
-    function addChunk(stream, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync) {
-        stream.emit("data", chunk);
-        stream.read(0);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if (state.needReadable) emitReadable(stream);
+        });
       }
-      maybeReadMore(stream, state);
-    }
-    function chunkInvalid(state, chunk) {
-      var er;
-      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
-        er = new TypeError("Invalid non-string/buffer chunk");
+      return matches;
+    };
+    file.expandMapping = function(patterns, destBase, options) {
+      options = Object.assign({
+        rename: function(destBase2, destPath) {
+          return path3.join(destBase2 || "", destPath);
+        }
+      }, options);
+      var files = [];
+      var fileByDest = {};
+      file.expand(options, patterns).forEach(function(src) {
+        var destPath = src;
+        if (options.flatten) {
+          destPath = path3.basename(destPath);
+        }
+        if (options.ext) {
+          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+        }
+        var dest = options.rename(destBase, destPath, options);
+        if (options.cwd) {
+          src = path3.join(options.cwd, src);
+        }
+        dest = dest.replace(pathSeparatorRe, "/");
+        src = src.replace(pathSeparatorRe, "/");
+        if (fileByDest[dest]) {
+          fileByDest[dest].src.push(src);
+        } else {
+          files.push({
+            src: [src],
+            dest
+          });
+          fileByDest[dest] = files[files.length - 1];
+        }
+      });
+      return files;
+    };
+    file.normalizeFilesArray = function(data) {
+      var files = [];
+      data.forEach(function(obj) {
+        var prop;
+        if ("src" in obj || "dest" in obj) {
+          files.push(obj);
+        }
+      });
+      if (files.length === 0) {
+        return [];
       }
-      return er;
-    }
-    function needMoreData(state) {
-      return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
-    }
-    Readable.prototype.isPaused = function() {
-      return this._readableState.flowing === false;
+      files = _(files).chain().forEach(function(obj) {
+        if (!("src" in obj) || !obj.src) {
+          return;
+        }
+        if (Array.isArray(obj.src)) {
+          obj.src = flatten(obj.src);
+        } else {
+          obj.src = [obj.src];
+        }
+      }).map(function(obj) {
+        var expandOptions = Object.assign({}, obj);
+        delete expandOptions.src;
+        delete expandOptions.dest;
+        if (obj.expand) {
+          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
+            var result2 = Object.assign({}, obj);
+            result2.orig = Object.assign({}, obj);
+            result2.src = mapObj.src;
+            result2.dest = mapObj.dest;
+            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
+              delete result2[prop];
+            });
+            return result2;
+          });
+        }
+        var result = Object.assign({}, obj);
+        result.orig = Object.assign({}, obj);
+        if ("src" in result) {
+          Object.defineProperty(result, "src", {
+            enumerable: true,
+            get: function fn() {
+              var src;
+              if (!("result" in fn)) {
+                src = obj.src;
+                src = Array.isArray(src) ? flatten(src) : [src];
+                fn.result = file.expand(expandOptions, src);
+              }
+              return fn.result;
+            }
+          });
+        }
+        if ("dest" in result) {
+          result.dest = obj.dest;
+        }
+        return result;
+      }).flatten().value();
+      return files;
     };
-    Readable.prototype.setEncoding = function(enc) {
-      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
-      this._readableState.decoder = new StringDecoder(enc);
-      this._readableState.encoding = enc;
-      return this;
+  }
+});
+
+// node_modules/archiver-utils/index.js
+var require_archiver_utils = __commonJS({
+  "node_modules/archiver-utils/index.js"(exports2, module2) {
+    var fs3 = require_graceful_fs();
+    var path3 = require("path");
+    var isStream = require_is_stream();
+    var lazystream = require_lazystream();
+    var normalizePath = require_normalize_path();
+    var defaults = require_defaults();
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var utils = module2.exports = {};
+    utils.file = require_file4();
+    utils.collectStream = function(source, callback) {
+      var collection = [];
+      var size = 0;
+      source.on("error", callback);
+      source.on("data", function(chunk) {
+        collection.push(chunk);
+        size += chunk.length;
+      });
+      source.on("end", function() {
+        var buf = Buffer.alloc(size);
+        var offset = 0;
+        collection.forEach(function(data) {
+          data.copy(buf, offset);
+          offset += data.length;
+        });
+        callback(null, buf);
+      });
     };
-    var MAX_HWM = 8388608;
-    function computeNewHighWaterMark(n) {
-      if (n >= MAX_HWM) {
-        n = MAX_HWM;
+    utils.dateify = function(dateish) {
+      dateish = dateish || /* @__PURE__ */ new Date();
+      if (dateish instanceof Date) {
+        dateish = dateish;
+      } else if (typeof dateish === "string") {
+        dateish = new Date(dateish);
       } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+        dateish = /* @__PURE__ */ new Date();
       }
-      return n;
-    }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if (state.objectMode) return 1;
-      if (n !== n) {
-        if (state.flowing && state.length) return state.buffer.head.data.length;
-        else return state.length;
+      return dateish;
+    };
+    utils.defaults = function(object, source, guard) {
+      var args = arguments;
+      args[0] = args[0] || {};
+      return defaults(...args);
+    };
+    utils.isStream = function(source) {
+      return isStream(source);
+    };
+    utils.lazyReadStream = function(filepath) {
+      return new lazystream.Readable(function() {
+        return fs3.createReadStream(filepath);
+      });
+    };
+    utils.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (utils.isStream(source)) {
+        return source.pipe(new PassThrough());
       }
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n <= state.length) return n;
-      if (!state.ended) {
-        state.needReadable = true;
-        return 0;
+      return source;
+    };
+    utils.sanitizePath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+    };
+    utils.trailingSlashIt = function(str2) {
+      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
+    };
+    utils.unixifyPath = function(filepath) {
+      return normalizePath(filepath, false).replace(/^\w+:/, "");
+    };
+    utils.walkdir = function(dirpath, base, callback) {
+      var results = [];
+      if (typeof base === "function") {
+        callback = base;
+        base = dirpath;
       }
-      return state.length;
+      fs3.readdir(dirpath, function(err, list) {
+        var i = 0;
+        var file;
+        var filepath;
+        if (err) {
+          return callback(err);
+        }
+        (function next() {
+          file = list[i++];
+          if (!file) {
+            return callback(null, results);
+          }
+          filepath = path3.join(dirpath, file);
+          fs3.stat(filepath, function(err2, stats) {
+            results.push({
+              path: filepath,
+              relative: path3.relative(base, filepath).replace(/\\/g, "/"),
+              stats
+            });
+            if (stats && stats.isDirectory()) {
+              utils.walkdir(filepath, base, function(err3, res) {
+                if (err3) {
+                  return callback(err3);
+                }
+                res.forEach(function(dirEntry) {
+                  results.push(dirEntry);
+                });
+                next();
+              });
+            } else {
+              next();
+            }
+          });
+        })();
+      });
+    };
+  }
+});
+
+// node_modules/archiver/lib/error.js
+var require_error3 = __commonJS({
+  "node_modules/archiver/lib/error.js"(exports2, module2) {
+    var util = require("util");
+    var ERROR_CODES = {
+      "ABORTED": "archive was aborted",
+      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
+      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
+      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
+      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
+      "FINALIZING": "archive already finalizing",
+      "QUEUECLOSED": "queue closed",
+      "NOENDMETHOD": "no suitable finalize/end method defined by module",
+      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
+      "FORMATSET": "archive format already set",
+      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
+      "MODULESET": "module already set",
+      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
+      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
+      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
+      "ENTRYNOTSUPPORTED": "entry not supported"
+    };
+    function ArchiverError(code, data) {
+      Error.captureStackTrace(this, this.constructor);
+      this.message = ERROR_CODES[code] || code;
+      this.code = code;
+      this.data = data;
     }
-    Readable.prototype.read = function(n) {
-      debug4("read", n);
-      n = parseInt(n, 10);
-      var state = this._readableState;
-      var nOrig = n;
-      if (n !== 0) state.emittedReadable = false;
-      if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
-        debug4("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
-      }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
-      }
-      var doRead = state.needReadable;
-      debug4("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug4("length less than watermark", doRead);
-      }
-      if (state.ended || state.reading) {
-        doRead = false;
-        debug4("reading or ended", doRead);
-      } else if (doRead) {
-        debug4("do read");
-        state.reading = true;
-        state.sync = true;
-        if (state.length === 0) state.needReadable = true;
-        this._read(state.highWaterMark);
-        state.sync = false;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
+    util.inherits(ArchiverError, Error);
+    exports2 = module2.exports = ArchiverError;
+  }
+});
+
+// node_modules/archiver/lib/core.js
+var require_core2 = __commonJS({
+  "node_modules/archiver/lib/core.js"(exports2, module2) {
+    var fs3 = require("fs");
+    var glob2 = require_readdir_glob();
+    var async = require_async();
+    var path3 = require("path");
+    var util = require_archiver_utils();
+    var inherits = require("util").inherits;
+    var ArchiverError = require_error3();
+    var Transform = require_ours().Transform;
+    var win32 = process.platform === "win32";
+    var Archiver = function(format, options) {
+      if (!(this instanceof Archiver)) {
+        return new Archiver(format, options);
       }
-      var ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = true;
-        n = 0;
-      } else {
-        state.length -= n;
+      if (typeof format !== "string") {
+        options = format;
+        format = "zip";
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
+      options = this.options = util.defaults(options, {
+        highWaterMark: 1024 * 1024,
+        statConcurrency: 4
+      });
+      Transform.call(this, options);
+      this._format = false;
+      this._module = false;
+      this._pending = 0;
+      this._pointer = 0;
+      this._entriesCount = 0;
+      this._entriesProcessedCount = 0;
+      this._fsEntriesTotalBytes = 0;
+      this._fsEntriesProcessedBytes = 0;
+      this._queue = async.queue(this._onQueueTask.bind(this), 1);
+      this._queue.drain(this._onQueueDrain.bind(this));
+      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
+      this._statQueue.drain(this._onQueueDrain.bind(this));
+      this._state = {
+        aborted: false,
+        finalize: false,
+        finalizing: false,
+        finalized: false,
+        modulePiped: false
+      };
+      this._streams = [];
+    };
+    inherits(Archiver, Transform);
+    Archiver.prototype._abort = function() {
+      this._state.aborted = true;
+      this._queue.kill();
+      this._statQueue.kill();
+      if (this._queue.idle()) {
+        this._shutdown();
       }
-      if (ret !== null) this.emit("data", ret);
-      return ret;
     };
-    function onEofChunk(stream, state) {
-      if (state.ended) return;
-      if (state.decoder) {
-        var chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
+    Archiver.prototype._append = function(filepath, data) {
+      data = data || {};
+      var task = {
+        source: null,
+        filepath
+      };
+      if (!data.name) {
+        data.name = filepath;
+      }
+      data.sourcePath = filepath;
+      task.data = data;
+      this._entriesCount++;
+      if (data.stats && data.stats instanceof fs3.Stats) {
+        task = this._updateQueueTaskWithStats(task, data.stats);
+        if (task) {
+          if (data.stats.size) {
+            this._fsEntriesTotalBytes += data.stats.size;
+          }
+          this._queue.push(task);
         }
+      } else {
+        this._statQueue.push(task);
       }
-      state.ended = true;
-      emitReadable(stream);
-    }
-    function emitReadable(stream) {
-      var state = stream._readableState;
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug4("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        if (state.sync) pna.nextTick(emitReadable_, stream);
-        else emitReadable_(stream);
+    };
+    Archiver.prototype._finalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
       }
-    }
-    function emitReadable_(stream) {
-      debug4("emit readable");
-      stream.emit("readable");
-      flow(stream);
-    }
-    function maybeReadMore(stream, state) {
-      if (!state.readingMore) {
-        state.readingMore = true;
-        pna.nextTick(maybeReadMore_, stream, state);
+      this._state.finalizing = true;
+      this._moduleFinalize();
+      this._state.finalizing = false;
+      this._state.finalized = true;
+    };
+    Archiver.prototype._maybeFinalize = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return false;
       }
-    }
-    function maybeReadMore_(stream, state) {
-      var len = state.length;
-      while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
-        debug4("maybeReadMore read 0");
-        stream.read(0);
-        if (len === state.length)
-          break;
-        else len = state.length;
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+        return true;
       }
-      state.readingMore = false;
-    }
-    Readable.prototype._read = function(n) {
-      this.emit("error", new Error("_read() is not implemented"));
+      return false;
     };
-    Readable.prototype.pipe = function(dest, pipeOpts) {
-      var src = this;
-      var state = this._readableState;
-      switch (state.pipesCount) {
-        case 0:
-          state.pipes = dest;
-          break;
-        case 1:
-          state.pipes = [state.pipes, dest];
-          break;
-        default:
-          state.pipes.push(dest);
-          break;
+    Archiver.prototype._moduleAppend = function(source, data, callback) {
+      if (this._state.aborted) {
+        callback();
+        return;
       }
-      state.pipesCount += 1;
-      debug4("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
-      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
-      var endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) pna.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug4("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
-          }
+      this._module.append(source, data, function(err) {
+        this._task = null;
+        if (this._state.aborted) {
+          this._shutdown();
+          return;
+        }
+        if (err) {
+          this.emit("error", err);
+          setImmediate(callback);
+          return;
+        }
+        this.emit("entry", data);
+        this._entriesProcessedCount++;
+        if (data.stats && data.stats.size) {
+          this._fsEntriesProcessedBytes += data.stats.size;
         }
+        this.emit("progress", {
+          entries: {
+            total: this._entriesCount,
+            processed: this._entriesProcessedCount
+          },
+          fs: {
+            totalBytes: this._fsEntriesTotalBytes,
+            processedBytes: this._fsEntriesProcessedBytes
+          }
+        });
+        setImmediate(callback);
+      }.bind(this));
+    };
+    Archiver.prototype._moduleFinalize = function() {
+      if (typeof this._module.finalize === "function") {
+        this._module.finalize();
+      } else if (typeof this._module.end === "function") {
+        this._module.end();
+      } else {
+        this.emit("error", new ArchiverError("NOENDMETHOD"));
       }
-      function onend() {
-        debug4("onend");
-        dest.end();
+    };
+    Archiver.prototype._modulePipe = function() {
+      this._module.on("error", this._onModuleError.bind(this));
+      this._module.pipe(this);
+      this._state.modulePiped = true;
+    };
+    Archiver.prototype._moduleSupports = function(key) {
+      if (!this._module.supports || !this._module.supports[key]) {
+        return false;
       }
-      var ondrain = pipeOnDrain(src);
-      dest.on("drain", ondrain);
-      var cleanedUp = false;
-      function cleanup() {
-        debug4("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        dest.removeListener("drain", ondrain);
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
+      return this._module.supports[key];
+    };
+    Archiver.prototype._moduleUnpipe = function() {
+      this._module.unpipe(this);
+      this._state.modulePiped = false;
+    };
+    Archiver.prototype._normalizeEntryData = function(data, stats) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        date: null,
+        mode: null,
+        prefix: null,
+        sourcePath: null,
+        stats: false
+      });
+      if (stats && data.stats === false) {
+        data.stats = stats;
       }
-      var increasedAwaitDrain = false;
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug4("ondata");
-        increasedAwaitDrain = false;
-        var ret = dest.write(chunk);
-        if (false === ret && !increasedAwaitDrain) {
-          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
-            debug4("false write response, pause", state.awaitDrain);
-            state.awaitDrain++;
-            increasedAwaitDrain = true;
-          }
-          src.pause();
+      var isDir = data.type === "directory";
+      if (data.name) {
+        if (typeof data.prefix === "string" && "" !== data.prefix) {
+          data.name = data.prefix + "/" + data.name;
+          data.prefix = null;
+        }
+        data.name = util.sanitizePath(data.name);
+        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
         }
       }
-      function onerror(er) {
-        debug4("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
-      }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
+      if (typeof data.mode === "number") {
+        if (win32) {
+          data.mode &= 511;
+        } else {
+          data.mode &= 4095;
+        }
+      } else if (data.stats && data.mode === null) {
+        if (win32) {
+          data.mode = data.stats.mode & 511;
+        } else {
+          data.mode = data.stats.mode & 4095;
+        }
+        if (win32 && isDir) {
+          data.mode = 493;
+        }
+      } else if (data.mode === null) {
+        data.mode = isDir ? 493 : 420;
       }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug4("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
+      if (data.stats && data.date === null) {
+        data.date = data.stats.mtime;
+      } else {
+        data.date = util.dateify(data.date);
       }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug4("unpipe");
-        src.unpipe(dest);
+      return data;
+    };
+    Archiver.prototype._onModuleError = function(err) {
+      this.emit("error", err);
+    };
+    Archiver.prototype._onQueueDrain = function() {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        return;
       }
-      dest.emit("pipe", src);
-      if (!state.flowing) {
-        debug4("pipe resume");
-        src.resume();
+      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
       }
-      return dest;
     };
-    function pipeOnDrain(src) {
-      return function() {
-        var state = src._readableState;
-        debug4("pipeOnDrain", state.awaitDrain);
-        if (state.awaitDrain) state.awaitDrain--;
-        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
-          state.flowing = true;
-          flow(src);
+    Archiver.prototype._onQueueTask = function(task, callback) {
+      var fullCallback = () => {
+        if (task.data.callback) {
+          task.data.callback();
         }
+        callback();
       };
-    }
-    Readable.prototype.unpipe = function(dest) {
-      var state = this._readableState;
-      var unpipeInfo = { hasUnpiped: false };
-      if (state.pipesCount === 0) return this;
-      if (state.pipesCount === 1) {
-        if (dest && dest !== state.pipes) return this;
-        if (!dest) dest = state.pipes;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        if (dest) dest.emit("unpipe", this, unpipeInfo);
-        return this;
-      }
-      if (!dest) {
-        var dests = state.pipes;
-        var len = state.pipesCount;
-        state.pipes = null;
-        state.pipesCount = 0;
-        state.flowing = false;
-        for (var i = 0; i < len; i++) {
-          dests[i].emit("unpipe", this, { hasUnpiped: false });
-        }
-        return this;
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        fullCallback();
+        return;
       }
-      var index = indexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      state.pipesCount -= 1;
-      if (state.pipesCount === 1) state.pipes = state.pipes[0];
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
+      this._task = task;
+      this._moduleAppend(task.source, task.data, fullCallback);
     };
-    Readable.prototype.on = function(ev, fn) {
-      var res = Stream.prototype.on.call(this, ev, fn);
-      if (ev === "data") {
-        if (this._readableState.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        var state = this._readableState;
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.emittedReadable = false;
-          if (!state.reading) {
-            pna.nextTick(nReadingNextTick, this);
-          } else if (state.length) {
-            emitReadable(this);
+    Archiver.prototype._onStatQueueTask = function(task, callback) {
+      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+        callback();
+        return;
+      }
+      fs3.lstat(task.filepath, function(err, stats) {
+        if (this._state.aborted) {
+          setImmediate(callback);
+          return;
+        }
+        if (err) {
+          this._entriesCount--;
+          this.emit("warning", err);
+          setImmediate(callback);
+          return;
+        }
+        task = this._updateQueueTaskWithStats(task, stats);
+        if (task) {
+          if (stats.size) {
+            this._fsEntriesTotalBytes += stats.size;
           }
+          this._queue.push(task);
         }
-      }
-      return res;
+        setImmediate(callback);
+      }.bind(this));
     };
-    Readable.prototype.addListener = Readable.prototype.on;
-    function nReadingNextTick(self2) {
-      debug4("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable.prototype.resume = function() {
-      var state = this._readableState;
-      if (!state.flowing) {
-        debug4("resume");
-        state.flowing = true;
-        resume(this, state);
-      }
-      return this;
+    Archiver.prototype._shutdown = function() {
+      this._moduleUnpipe();
+      this.end();
     };
-    function resume(stream, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        pna.nextTick(resume_, stream, state);
-      }
-    }
-    function resume_(stream, state) {
-      if (!state.reading) {
-        debug4("resume read 0");
-        stream.read(0);
-      }
-      state.resumeScheduled = false;
-      state.awaitDrain = 0;
-      stream.emit("resume");
-      flow(stream);
-      if (state.flowing && !state.reading) stream.read(0);
-    }
-    Readable.prototype.pause = function() {
-      debug4("call pause flowing=%j", this._readableState.flowing);
-      if (false !== this._readableState.flowing) {
-        debug4("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+    Archiver.prototype._transform = function(chunk, encoding, callback) {
+      if (chunk) {
+        this._pointer += chunk.length;
       }
-      return this;
+      callback(null, chunk);
     };
-    function flow(stream) {
-      var state = stream._readableState;
-      debug4("flow", state.flowing);
-      while (state.flowing && stream.read() !== null) {
-      }
-    }
-    Readable.prototype.wrap = function(stream) {
-      var _this = this;
-      var state = this._readableState;
-      var paused = false;
-      stream.on("end", function() {
-        debug4("wrapped end");
-        if (state.decoder && !state.ended) {
-          var chunk = state.decoder.end();
-          if (chunk && chunk.length) _this.push(chunk);
-        }
-        _this.push(null);
-      });
-      stream.on("data", function(chunk) {
-        debug4("wrapped data");
-        if (state.decoder) chunk = state.decoder.write(chunk);
-        if (state.objectMode && (chunk === null || chunk === void 0)) return;
-        else if (!state.objectMode && (!chunk || !chunk.length)) return;
-        var ret = _this.push(chunk);
-        if (!ret) {
-          paused = true;
-          stream.pause();
-        }
-      });
-      for (var i in stream) {
-        if (this[i] === void 0 && typeof stream[i] === "function") {
-          this[i] = /* @__PURE__ */ (function(method) {
-            return function() {
-              return stream[method].apply(stream, arguments);
-            };
-          })(i);
+    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
+      if (stats.isFile()) {
+        task.data.type = "file";
+        task.data.sourceType = "stream";
+        task.source = util.lazyReadStream(task.filepath);
+      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
+        task.data.name = util.trailingSlashIt(task.data.name);
+        task.data.type = "directory";
+        task.data.sourcePath = util.trailingSlashIt(task.filepath);
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
+        var linkPath = fs3.readlinkSync(task.filepath);
+        var dirName = path3.dirname(task.filepath);
+        task.data.type = "symlink";
+        task.data.linkname = path3.relative(dirName, path3.resolve(dirName, linkPath));
+        task.data.sourceType = "buffer";
+        task.source = Buffer.concat([]);
+      } else {
+        if (stats.isDirectory()) {
+          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
+        } else if (stats.isSymbolicLink()) {
+          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
+        } else {
+          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
         }
+        return null;
       }
-      for (var n = 0; n < kProxyEvents.length; n++) {
-        stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
+      task.data = this._normalizeEntryData(task.data, stats);
+      return task;
+    };
+    Archiver.prototype.abort = function() {
+      if (this._state.aborted || this._state.finalized) {
+        return this;
       }
-      this._read = function(n2) {
-        debug4("wrapped _read", n2);
-        if (paused) {
-          paused = false;
-          stream.resume();
-        }
-      };
+      this._abort();
       return this;
     };
-    Object.defineProperty(Readable.prototype, "readableHighWaterMark", {
-      // making it explicit this property is not enumerable
-      // because otherwise some prototype manipulation in
-      // userland will fail
-      enumerable: false,
-      get: function() {
-        return this._readableState.highWaterMark;
+    Archiver.prototype.append = function(source, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-    });
-    Readable._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      var ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.head.data;
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
-      } else {
-        ret = fromListPartial(n, state.buffer, state.decoder);
+      data = this._normalizeEntryData(data);
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
+        return this;
       }
-      return ret;
-    }
-    function fromListPartial(n, list, hasStrings) {
-      var ret;
-      if (n < list.head.data.length) {
-        ret = list.head.data.slice(0, n);
-        list.head.data = list.head.data.slice(n);
-      } else if (n === list.head.data.length) {
-        ret = list.shift();
+      if (data.type === "directory" && !this._moduleSupports("directory")) {
+        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
+        return this;
+      }
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        data.sourceType = "buffer";
+      } else if (util.isStream(source)) {
+        data.sourceType = "stream";
       } else {
-        ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
+        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
+        return this;
       }
-      return ret;
-    }
-    function copyFromBufferString(n, list) {
-      var p = list.head;
-      var c = 1;
-      var ret = p.data;
-      n -= ret.length;
-      while (p = p.next) {
-        var str2 = p.data;
-        var nb = n > str2.length ? str2.length : n;
-        if (nb === str2.length) ret += str2;
-        else ret += str2.slice(0, n);
-        n -= nb;
-        if (n === 0) {
-          if (nb === str2.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = str2.slice(nb);
-          }
-          break;
-        }
-        ++c;
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source
+      });
+      return this;
+    };
+    Archiver.prototype.directory = function(dirpath, destpath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      list.length -= c;
-      return ret;
-    }
-    function copyFromBuffer(n, list) {
-      var ret = Buffer2.allocUnsafe(n);
-      var p = list.head;
-      var c = 1;
-      p.data.copy(ret);
-      n -= p.data.length;
-      while (p = p.next) {
-        var buf = p.data;
-        var nb = n > buf.length ? buf.length : n;
-        buf.copy(ret, ret.length - n, 0, nb);
-        n -= nb;
-        if (n === 0) {
-          if (nb === buf.length) {
-            ++c;
-            if (p.next) list.head = p.next;
-            else list.head = list.tail = null;
-          } else {
-            list.head = p;
-            p.data = buf.slice(nb);
-          }
-          break;
-        }
-        ++c;
+      if (typeof dirpath !== "string" || dirpath.length === 0) {
+        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
+        return this;
       }
-      list.length -= c;
-      return ret;
-    }
-    function endReadable(stream) {
-      var state = stream._readableState;
-      if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
-      if (!state.endEmitted) {
-        state.ended = true;
-        pna.nextTick(endReadableNT, state, stream);
+      this._pending++;
+      if (destpath === false) {
+        destpath = "";
+      } else if (typeof destpath !== "string") {
+        destpath = dirpath;
       }
-    }
-    function endReadableNT(state, stream) {
-      if (!state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream.readable = false;
-        stream.emit("end");
+      var dataFunction = false;
+      if (typeof data === "function") {
+        dataFunction = data;
+        data = {};
+      } else if (typeof data !== "object") {
+        data = {};
       }
-    }
-    function indexOf(xs, x) {
-      for (var i = 0, l = xs.length; i < l; i++) {
-        if (xs[i] === x) return i;
+      var globOptions = {
+        stat: true,
+        dot: true
+      };
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-      return -1;
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js
-var require_stream_transform = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
-    "use strict";
-    module2.exports = Transform;
-    var Duplex = require_stream_duplex();
-    var util = Object.create(require_util18());
-    util.inherits = require_inherits();
-    util.inherits(Transform, Duplex);
-    function afterTransform(er, data) {
-      var ts = this._transformState;
-      ts.transforming = false;
-      var cb = ts.writecb;
-      if (!cb) {
-        return this.emit("error", new Error("write callback called multiple times"));
+      function onGlobError(err) {
+        this.emit("error", err);
       }
-      ts.writechunk = null;
-      ts.writecb = null;
-      if (data != null)
-        this.push(data);
-      cb(er);
-      var rs = this._readableState;
-      rs.reading = false;
-      if (rs.needReadable || rs.length < rs.highWaterMark) {
-        this._read(rs.highWaterMark);
+      function onGlobMatch(match) {
+        globber.pause();
+        var ignoreMatch = false;
+        var entryData = Object.assign({}, data);
+        entryData.name = match.relative;
+        entryData.prefix = destpath;
+        entryData.stats = match.stat;
+        entryData.callback = globber.resume.bind(globber);
+        try {
+          if (dataFunction) {
+            entryData = dataFunction(entryData);
+            if (entryData === false) {
+              ignoreMatch = true;
+            } else if (typeof entryData !== "object") {
+              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
+            }
+          }
+        } catch (e) {
+          this.emit("error", e);
+          return;
+        }
+        if (ignoreMatch) {
+          globber.resume();
+          return;
+        }
+        this._append(match.absolute, entryData);
       }
-    }
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      Duplex.call(this, options);
-      this._transformState = {
-        afterTransform: afterTransform.bind(this),
-        needTransform: false,
-        transforming: false,
-        writecb: null,
-        writechunk: null,
-        writeencoding: null
-      };
-      this._readableState.needReadable = true;
-      this._readableState.sync = false;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
+      var globber = glob2(dirpath, globOptions);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
+    };
+    Archiver.prototype.file = function(filepath, data) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      this.on("prefinish", prefinish);
-    }
-    function prefinish() {
-      var _this = this;
-      if (typeof this._flush === "function") {
-        this._flush(function(er, data) {
-          done(_this, er, data);
-        });
-      } else {
-        done(this, null, null);
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
+        return this;
       }
-    }
-    Transform.prototype.push = function(chunk, encoding) {
-      this._transformState.needTransform = false;
-      return Duplex.prototype.push.call(this, chunk, encoding);
-    };
-    Transform.prototype._transform = function(chunk, encoding, cb) {
-      throw new Error("_transform() is not implemented");
+      this._append(filepath, data);
+      return this;
     };
-    Transform.prototype._write = function(chunk, encoding, cb) {
-      var ts = this._transformState;
-      ts.writecb = cb;
-      ts.writechunk = chunk;
-      ts.writeencoding = encoding;
-      if (!ts.transforming) {
-        var rs = this._readableState;
-        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
+    Archiver.prototype.glob = function(pattern, options, data) {
+      this._pending++;
+      options = util.defaults(options, {
+        stat: true,
+        pattern
+      });
+      function onGlobEnd() {
+        this._pending--;
+        this._maybeFinalize();
       }
-    };
-    Transform.prototype._read = function(n) {
-      var ts = this._transformState;
-      if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
-        ts.transforming = true;
-        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
-      } else {
-        ts.needTransform = true;
+      function onGlobError(err) {
+        this.emit("error", err);
+      }
+      function onGlobMatch(match) {
+        globber.pause();
+        var entryData = Object.assign({}, data);
+        entryData.callback = globber.resume.bind(globber);
+        entryData.stats = match.stat;
+        entryData.name = match.relative;
+        this._append(match.absolute, entryData);
       }
+      var globber = glob2(options.cwd || ".", options);
+      globber.on("error", onGlobError.bind(this));
+      globber.on("match", onGlobMatch.bind(this));
+      globber.on("end", onGlobEnd.bind(this));
+      return this;
     };
-    Transform.prototype._destroy = function(err, cb) {
-      var _this2 = this;
-      Duplex.prototype._destroy.call(this, err, function(err2) {
-        cb(err2);
-        _this2.emit("close");
+    Archiver.prototype.finalize = function() {
+      if (this._state.aborted) {
+        var abortedError = new ArchiverError("ABORTED");
+        this.emit("error", abortedError);
+        return Promise.reject(abortedError);
+      }
+      if (this._state.finalize) {
+        var finalizingError = new ArchiverError("FINALIZING");
+        this.emit("error", finalizingError);
+        return Promise.reject(finalizingError);
+      }
+      this._state.finalize = true;
+      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+        this._finalize();
+      }
+      var self2 = this;
+      return new Promise(function(resolve2, reject) {
+        var errored;
+        self2._module.on("end", function() {
+          if (!errored) {
+            resolve2();
+          }
+        });
+        self2._module.on("error", function(err) {
+          errored = true;
+          reject(err);
+        });
       });
     };
-    function done(stream, er, data) {
-      if (er) return stream.emit("error", er);
-      if (data != null)
-        stream.push(data);
-      if (stream._writableState.length) throw new Error("Calling transform done when ws.length != 0");
-      if (stream._transformState.transforming) throw new Error("Calling transform done when still transforming");
-      return stream.push(null);
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js
-var require_stream_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
-    "use strict";
-    module2.exports = PassThrough;
-    var Transform = require_stream_transform();
-    var util = Object.create(require_util18());
-    util.inherits = require_inherits();
-    util.inherits(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
+    Archiver.prototype.setFormat = function(format) {
+      if (this._format) {
+        this.emit("error", new ArchiverError("FORMATSET"));
+        return this;
+      }
+      this._format = format;
+      return this;
     };
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/readable.js
-var require_readable3 = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/readable.js"(exports2, module2) {
-    var Stream = require("stream");
-    if (process.env.READABLE_STREAM === "disable" && Stream) {
-      module2.exports = Stream;
-      exports2 = module2.exports = Stream.Readable;
-      exports2.Readable = Stream.Readable;
-      exports2.Writable = Stream.Writable;
-      exports2.Duplex = Stream.Duplex;
-      exports2.Transform = Stream.Transform;
-      exports2.PassThrough = Stream.PassThrough;
-      exports2.Stream = Stream;
-    } else {
-      exports2 = module2.exports = require_stream_readable();
-      exports2.Stream = Stream || exports2;
-      exports2.Readable = exports2;
-      exports2.Writable = require_stream_writable();
-      exports2.Duplex = require_stream_duplex();
-      exports2.Transform = require_stream_transform();
-      exports2.PassThrough = require_stream_passthrough();
-    }
-  }
-});
-
-// node_modules/lazystream/node_modules/readable-stream/passthrough.js
-var require_passthrough = __commonJS({
-  "node_modules/lazystream/node_modules/readable-stream/passthrough.js"(exports2, module2) {
-    module2.exports = require_readable3().PassThrough;
-  }
-});
-
-// node_modules/lazystream/lib/lazystream.js
-var require_lazystream = __commonJS({
-  "node_modules/lazystream/lib/lazystream.js"(exports2, module2) {
-    var util = require("util");
-    var PassThrough = require_passthrough();
-    module2.exports = {
-      Readable,
-      Writable
+    Archiver.prototype.setModule = function(module3) {
+      if (this._state.aborted) {
+        this.emit("error", new ArchiverError("ABORTED"));
+        return this;
+      }
+      if (this._state.module) {
+        this.emit("error", new ArchiverError("MODULESET"));
+        return this;
+      }
+      this._module = module3;
+      this._modulePipe();
+      return this;
     };
-    util.inherits(Readable, PassThrough);
-    util.inherits(Writable, PassThrough);
-    function beforeFirstCall(instance, method, callback) {
-      instance[method] = function() {
-        delete instance[method];
-        callback.apply(this, arguments);
-        return this[method].apply(this, arguments);
-      };
-    }
-    function Readable(fn, options) {
-      if (!(this instanceof Readable))
-        return new Readable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_read", function() {
-        var source = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        source.on("error", emit);
-        source.pipe(this);
-      });
-      this.emit("readable");
-    }
-    function Writable(fn, options) {
-      if (!(this instanceof Writable))
-        return new Writable(fn, options);
-      PassThrough.call(this, options);
-      beforeFirstCall(this, "_write", function() {
-        var destination = fn.call(this, options);
-        var emit = this.emit.bind(this, "error");
-        destination.on("error", emit);
-        this.pipe(destination);
-      });
-      this.emit("writable");
-    }
-  }
-});
-
-// node_modules/normalize-path/index.js
-var require_normalize_path = __commonJS({
-  "node_modules/normalize-path/index.js"(exports2, module2) {
-    module2.exports = function(path3, stripTrailing) {
-      if (typeof path3 !== "string") {
-        throw new TypeError("expected path to be a string");
+    Archiver.prototype.symlink = function(filepath, target, mode) {
+      if (this._state.finalize || this._state.aborted) {
+        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        return this;
       }
-      if (path3 === "\\" || path3 === "/") return "/";
-      var len = path3.length;
-      if (len <= 1) return path3;
-      var prefix = "";
-      if (len > 4 && path3[3] === "\\") {
-        var ch = path3[2];
-        if ((ch === "?" || ch === ".") && path3.slice(0, 2) === "\\\\") {
-          path3 = path3.slice(2);
-          prefix = "//";
-        }
+      if (typeof filepath !== "string" || filepath.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
+        return this;
       }
-      var segs = path3.split(/[/\\]+/);
-      if (stripTrailing !== false && segs[segs.length - 1] === "") {
-        segs.pop();
+      if (typeof target !== "string" || target.length === 0) {
+        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
+        return this;
+      }
+      if (!this._moduleSupports("symlink")) {
+        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
+        return this;
+      }
+      var data = {};
+      data.type = "symlink";
+      data.name = filepath.replace(/\\/g, "/");
+      data.linkname = target.replace(/\\/g, "/");
+      data.sourceType = "buffer";
+      if (typeof mode === "number") {
+        data.mode = mode;
       }
-      return prefix + segs.join("/");
+      this._entriesCount++;
+      this._queue.push({
+        data,
+        source: Buffer.concat([])
+      });
+      return this;
+    };
+    Archiver.prototype.pointer = function() {
+      return this._pointer;
+    };
+    Archiver.prototype.use = function(plugin) {
+      this._streams.push(plugin);
+      return this;
     };
+    module2.exports = Archiver;
   }
 });
 
-// node_modules/lodash/identity.js
-var require_identity = __commonJS({
-  "node_modules/lodash/identity.js"(exports2, module2) {
-    function identity(value) {
-      return value;
-    }
-    module2.exports = identity;
+// node_modules/compress-commons/lib/archivers/archive-entry.js
+var require_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
+    var ArchiveEntry = module2.exports = function() {
+    };
+    ArchiveEntry.prototype.getName = function() {
+    };
+    ArchiveEntry.prototype.getSize = function() {
+    };
+    ArchiveEntry.prototype.getLastModifiedDate = function() {
+    };
+    ArchiveEntry.prototype.isDirectory = function() {
+    };
   }
 });
 
-// node_modules/lodash/_apply.js
-var require_apply = __commonJS({
-  "node_modules/lodash/_apply.js"(exports2, module2) {
-    function apply(func, thisArg, args) {
-      switch (args.length) {
-        case 0:
-          return func.call(thisArg);
-        case 1:
-          return func.call(thisArg, args[0]);
-        case 2:
-          return func.call(thisArg, args[0], args[1]);
-        case 3:
-          return func.call(thisArg, args[0], args[1], args[2]);
+// node_modules/compress-commons/lib/archivers/zip/util.js
+var require_util21 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
+    var util = module2.exports = {};
+    util.dateToDos = function(d, forceLocalTime) {
+      forceLocalTime = forceLocalTime || false;
+      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
+      if (year < 1980) {
+        return 2162688;
+      } else if (year >= 2044) {
+        return 2141175677;
       }
-      return func.apply(thisArg, args);
-    }
-    module2.exports = apply;
-  }
-});
-
-// node_modules/lodash/_overRest.js
-var require_overRest = __commonJS({
-  "node_modules/lodash/_overRest.js"(exports2, module2) {
-    var apply = require_apply();
-    var nativeMax = Math.max;
-    function overRest(func, start, transform) {
-      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
-      return function() {
-        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
-        while (++index < length) {
-          array[index] = args[start + index];
-        }
-        index = -1;
-        var otherArgs = Array(start + 1);
-        while (++index < start) {
-          otherArgs[index] = args[index];
-        }
-        otherArgs[start] = transform(array);
-        return apply(func, this, otherArgs);
-      };
-    }
-    module2.exports = overRest;
-  }
-});
-
-// node_modules/lodash/constant.js
-var require_constant = __commonJS({
-  "node_modules/lodash/constant.js"(exports2, module2) {
-    function constant(value) {
-      return function() {
-        return value;
+      var val = {
+        year,
+        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
+        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
+        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
+        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
+        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
       };
-    }
-    module2.exports = constant;
+      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
+    };
+    util.dosToDate = function(dos) {
+      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
+    };
+    util.fromDosTime = function(buf) {
+      return util.dosToDate(buf.readUInt32LE(0));
+    };
+    util.getEightBytes = function(v) {
+      var buf = Buffer.alloc(8);
+      buf.writeUInt32LE(v % 4294967296, 0);
+      buf.writeUInt32LE(v / 4294967296 | 0, 4);
+      return buf;
+    };
+    util.getShortBytes = function(v) {
+      var buf = Buffer.alloc(2);
+      buf.writeUInt16LE((v & 65535) >>> 0, 0);
+      return buf;
+    };
+    util.getShortBytesValue = function(buf, offset) {
+      return buf.readUInt16LE(offset);
+    };
+    util.getLongBytes = function(v) {
+      var buf = Buffer.alloc(4);
+      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
+      return buf;
+    };
+    util.getLongBytesValue = function(buf, offset) {
+      return buf.readUInt32LE(offset);
+    };
+    util.toDosTime = function(d) {
+      return util.getLongBytes(util.dateToDos(d));
+    };
   }
 });
 
-// node_modules/lodash/_freeGlobal.js
-var require_freeGlobal = __commonJS({
-  "node_modules/lodash/_freeGlobal.js"(exports2, module2) {
-    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
-    module2.exports = freeGlobal;
+// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
+var require_general_purpose_bit = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
+    var zipUtil = require_util21();
+    var DATA_DESCRIPTOR_FLAG = 1 << 3;
+    var ENCRYPTION_FLAG = 1 << 0;
+    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
+    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
+    var STRONG_ENCRYPTION_FLAG = 1 << 6;
+    var UFT8_NAMES_FLAG = 1 << 11;
+    var GeneralPurposeBit = module2.exports = function() {
+      if (!(this instanceof GeneralPurposeBit)) {
+        return new GeneralPurposeBit();
+      }
+      this.descriptor = false;
+      this.encryption = false;
+      this.utf8 = false;
+      this.numberOfShannonFanoTrees = 0;
+      this.strongEncryption = false;
+      this.slidingDictionarySize = 0;
+      return this;
+    };
+    GeneralPurposeBit.prototype.encode = function() {
+      return zipUtil.getShortBytes(
+        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
+      );
+    };
+    GeneralPurposeBit.prototype.parse = function(buf, offset) {
+      var flag = zipUtil.getShortBytesValue(buf, offset);
+      var gbp = new GeneralPurposeBit();
+      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
+      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
+      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
+      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
+      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
+      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
+      return gbp;
+    };
+    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
+      this.numberOfShannonFanoTrees = n;
+    };
+    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
+      return this.numberOfShannonFanoTrees;
+    };
+    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
+      this.slidingDictionarySize = n;
+    };
+    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
+      return this.slidingDictionarySize;
+    };
+    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
+      this.descriptor = b;
+    };
+    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
+      return this.descriptor;
+    };
+    GeneralPurposeBit.prototype.useEncryption = function(b) {
+      this.encryption = b;
+    };
+    GeneralPurposeBit.prototype.usesEncryption = function() {
+      return this.encryption;
+    };
+    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
+      this.strongEncryption = b;
+    };
+    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
+      return this.strongEncryption;
+    };
+    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
+      this.utf8 = b;
+    };
+    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
+      return this.utf8;
+    };
   }
 });
 
-// node_modules/lodash/_root.js
-var require_root = __commonJS({
-  "node_modules/lodash/_root.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
-    var root = freeGlobal || freeSelf || Function("return this")();
-    module2.exports = root;
+// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
+var require_unix_stat = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
+    module2.exports = {
+      /**
+       * Bits used for permissions (and sticky bit)
+       */
+      PERM_MASK: 4095,
+      // 07777
+      /**
+       * Bits used to indicate the filesystem object type.
+       */
+      FILE_TYPE_FLAG: 61440,
+      // 0170000
+      /**
+       * Indicates symbolic links.
+       */
+      LINK_FLAG: 40960,
+      // 0120000
+      /**
+       * Indicates plain files.
+       */
+      FILE_FLAG: 32768,
+      // 0100000
+      /**
+       * Indicates directories.
+       */
+      DIR_FLAG: 16384,
+      // 040000
+      // ----------------------------------------------------------
+      // somewhat arbitrary choices that are quite common for shared
+      // installations
+      // -----------------------------------------------------------
+      /**
+       * Default permissions for symbolic links.
+       */
+      DEFAULT_LINK_PERM: 511,
+      // 0777
+      /**
+       * Default permissions for directories.
+       */
+      DEFAULT_DIR_PERM: 493,
+      // 0755
+      /**
+       * Default permissions for plain files.
+       */
+      DEFAULT_FILE_PERM: 420
+      // 0644
+    };
   }
 });
 
-// node_modules/lodash/_Symbol.js
-var require_Symbol = __commonJS({
-  "node_modules/lodash/_Symbol.js"(exports2, module2) {
-    var root = require_root();
-    var Symbol2 = root.Symbol;
-    module2.exports = Symbol2;
+// node_modules/compress-commons/lib/archivers/zip/constants.js
+var require_constants17 = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
+    module2.exports = {
+      WORD: 4,
+      DWORD: 8,
+      EMPTY: Buffer.alloc(0),
+      SHORT: 2,
+      SHORT_MASK: 65535,
+      SHORT_SHIFT: 16,
+      SHORT_ZERO: Buffer.from(Array(2)),
+      LONG: 4,
+      LONG_ZERO: Buffer.from(Array(4)),
+      MIN_VERSION_INITIAL: 10,
+      MIN_VERSION_DATA_DESCRIPTOR: 20,
+      MIN_VERSION_ZIP64: 45,
+      VERSION_MADEBY: 45,
+      METHOD_STORED: 0,
+      METHOD_DEFLATED: 8,
+      PLATFORM_UNIX: 3,
+      PLATFORM_FAT: 0,
+      SIG_LFH: 67324752,
+      SIG_DD: 134695760,
+      SIG_CFH: 33639248,
+      SIG_EOCD: 101010256,
+      SIG_ZIP64_EOCD: 101075792,
+      SIG_ZIP64_EOCD_LOC: 117853008,
+      ZIP64_MAGIC_SHORT: 65535,
+      ZIP64_MAGIC: 4294967295,
+      ZIP64_EXTRA_ID: 1,
+      ZLIB_NO_COMPRESSION: 0,
+      ZLIB_BEST_SPEED: 1,
+      ZLIB_BEST_COMPRESSION: 9,
+      ZLIB_DEFAULT_COMPRESSION: -1,
+      MODE_MASK: 4095,
+      DEFAULT_FILE_MODE: 33188,
+      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
+      DEFAULT_DIR_MODE: 16877,
+      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
+      EXT_FILE_ATTR_DIR: 1106051088,
+      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
+      EXT_FILE_ATTR_FILE: 2175008800,
+      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
+      // Unix file types
+      S_IFMT: 61440,
+      // 0170000 type of file mask
+      S_IFIFO: 4096,
+      // 010000 named pipe (fifo)
+      S_IFCHR: 8192,
+      // 020000 character special
+      S_IFDIR: 16384,
+      // 040000 directory
+      S_IFBLK: 24576,
+      // 060000 block special
+      S_IFREG: 32768,
+      // 0100000 regular
+      S_IFLNK: 40960,
+      // 0120000 symbolic link
+      S_IFSOCK: 49152,
+      // 0140000 socket
+      // DOS file type flags
+      S_DOS_A: 32,
+      // 040 Archive
+      S_DOS_D: 16,
+      // 020 Directory
+      S_DOS_V: 8,
+      // 010 Volume
+      S_DOS_S: 4,
+      // 04 System
+      S_DOS_H: 2,
+      // 02 Hidden
+      S_DOS_R: 1
+      // 01 Read Only
+    };
   }
 });
 
-// node_modules/lodash/_getRawTag.js
-var require_getRawTag = __commonJS({
-  "node_modules/lodash/_getRawTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var nativeObjectToString = objectProto.toString;
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function getRawTag(value) {
-      var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
-      try {
-        value[symToStringTag] = void 0;
-        var unmasked = true;
-      } catch (e) {
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
+var require_zip_archive_entry = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var normalizePath = require_normalize_path();
+    var ArchiveEntry = require_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var UnixStat = require_unix_stat();
+    var constants = require_constants17();
+    var zipUtil = require_util21();
+    var ZipArchiveEntry = module2.exports = function(name) {
+      if (!(this instanceof ZipArchiveEntry)) {
+        return new ZipArchiveEntry(name);
       }
-      var result = nativeObjectToString.call(value);
-      if (unmasked) {
-        if (isOwn) {
-          value[symToStringTag] = tag;
-        } else {
-          delete value[symToStringTag];
-        }
+      ArchiveEntry.call(this);
+      this.platform = constants.PLATFORM_FAT;
+      this.method = -1;
+      this.name = null;
+      this.size = 0;
+      this.csize = 0;
+      this.gpb = new GeneralPurposeBit();
+      this.crc = 0;
+      this.time = -1;
+      this.minver = constants.MIN_VERSION_INITIAL;
+      this.mode = -1;
+      this.extra = null;
+      this.exattr = 0;
+      this.inattr = 0;
+      this.comment = null;
+      if (name) {
+        this.setName(name);
+      }
+    };
+    inherits(ZipArchiveEntry, ArchiveEntry);
+    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getComment = function() {
+      return this.comment !== null ? this.comment : "";
+    };
+    ZipArchiveEntry.prototype.getCompressedSize = function() {
+      return this.csize;
+    };
+    ZipArchiveEntry.prototype.getCrc = function() {
+      return this.crc;
+    };
+    ZipArchiveEntry.prototype.getExternalAttributes = function() {
+      return this.exattr;
+    };
+    ZipArchiveEntry.prototype.getExtra = function() {
+      return this.extra !== null ? this.extra : constants.EMPTY;
+    };
+    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
+      return this.gpb;
+    };
+    ZipArchiveEntry.prototype.getInternalAttributes = function() {
+      return this.inattr;
+    };
+    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
+      return this.getTime();
+    };
+    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
+      return this.getExtra();
+    };
+    ZipArchiveEntry.prototype.getMethod = function() {
+      return this.method;
+    };
+    ZipArchiveEntry.prototype.getName = function() {
+      return this.name;
+    };
+    ZipArchiveEntry.prototype.getPlatform = function() {
+      return this.platform;
+    };
+    ZipArchiveEntry.prototype.getSize = function() {
+      return this.size;
+    };
+    ZipArchiveEntry.prototype.getTime = function() {
+      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
+    };
+    ZipArchiveEntry.prototype.getTimeDos = function() {
+      return this.time !== -1 ? this.time : 0;
+    };
+    ZipArchiveEntry.prototype.getUnixMode = function() {
+      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
+    };
+    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
+      return this.minver;
+    };
+    ZipArchiveEntry.prototype.setComment = function(comment) {
+      if (Buffer.byteLength(comment) !== comment.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      }
+      this.comment = comment;
+    };
+    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry compressed size");
+      }
+      this.csize = size;
+    };
+    ZipArchiveEntry.prototype.setCrc = function(crc) {
+      if (crc < 0) {
+        throw new Error("invalid entry crc32");
+      }
+      this.crc = crc;
+    };
+    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
+      this.exattr = attr >>> 0;
+    };
+    ZipArchiveEntry.prototype.setExtra = function(extra) {
+      this.extra = extra;
+    };
+    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
+      if (!(gpb instanceof GeneralPurposeBit)) {
+        throw new Error("invalid entry GeneralPurposeBit");
+      }
+      this.gpb = gpb;
+    };
+    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
+      this.inattr = attr;
+    };
+    ZipArchiveEntry.prototype.setMethod = function(method) {
+      if (method < 0) {
+        throw new Error("invalid entry compression method");
+      }
+      this.method = method;
+    };
+    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
+      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+      if (prependSlash) {
+        name = `/${name}`;
+      }
+      if (Buffer.byteLength(name) !== name.length) {
+        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      }
+      this.name = name;
+    };
+    ZipArchiveEntry.prototype.setPlatform = function(platform) {
+      this.platform = platform;
+    };
+    ZipArchiveEntry.prototype.setSize = function(size) {
+      if (size < 0) {
+        throw new Error("invalid entry size");
       }
-      return result;
-    }
-    module2.exports = getRawTag;
-  }
-});
-
-// node_modules/lodash/_objectToString.js
-var require_objectToString = __commonJS({
-  "node_modules/lodash/_objectToString.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    var nativeObjectToString = objectProto.toString;
-    function objectToString(value) {
-      return nativeObjectToString.call(value);
-    }
-    module2.exports = objectToString;
-  }
-});
-
-// node_modules/lodash/_baseGetTag.js
-var require_baseGetTag = __commonJS({
-  "node_modules/lodash/_baseGetTag.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var getRawTag = require_getRawTag();
-    var objectToString = require_objectToString();
-    var nullTag = "[object Null]";
-    var undefinedTag = "[object Undefined]";
-    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
-    function baseGetTag(value) {
-      if (value == null) {
-        return value === void 0 ? undefinedTag : nullTag;
+      this.size = size;
+    };
+    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
+      if (!(time instanceof Date)) {
+        throw new Error("invalid entry time");
       }
-      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
-    }
-    module2.exports = baseGetTag;
+      this.time = zipUtil.dateToDos(time, forceLocalTime);
+    };
+    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
+      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
+      var extattr = 0;
+      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
+      this.setExternalAttributes(extattr);
+      this.mode = mode & constants.MODE_MASK;
+      this.platform = constants.PLATFORM_UNIX;
+    };
+    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
+      this.minver = minver;
+    };
+    ZipArchiveEntry.prototype.isDirectory = function() {
+      return this.getName().slice(-1) === "/";
+    };
+    ZipArchiveEntry.prototype.isUnixSymlink = function() {
+      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
+    };
+    ZipArchiveEntry.prototype.isZip64 = function() {
+      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
+    };
   }
 });
 
-// node_modules/lodash/isObject.js
-var require_isObject = __commonJS({
-  "node_modules/lodash/isObject.js"(exports2, module2) {
-    function isObject2(value) {
-      var type2 = typeof value;
-      return value != null && (type2 == "object" || type2 == "function");
-    }
-    module2.exports = isObject2;
+// node_modules/compress-commons/node_modules/is-stream/index.js
+var require_is_stream2 = __commonJS({
+  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+    "use strict";
+    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
+    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
+    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
+    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
+    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
+    module2.exports = isStream;
   }
 });
 
-// node_modules/lodash/isFunction.js
-var require_isFunction = __commonJS({
-  "node_modules/lodash/isFunction.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObject2 = require_isObject();
-    var asyncTag = "[object AsyncFunction]";
-    var funcTag = "[object Function]";
-    var genTag = "[object GeneratorFunction]";
-    var proxyTag = "[object Proxy]";
-    function isFunction(value) {
-      if (!isObject2(value)) {
-        return false;
+// node_modules/compress-commons/lib/util/index.js
+var require_util22 = __commonJS({
+  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
+    var Stream = require("stream").Stream;
+    var PassThrough = require_ours().PassThrough;
+    var isStream = require_is_stream2();
+    var util = module2.exports = {};
+    util.normalizeInputSource = function(source) {
+      if (source === null) {
+        return Buffer.alloc(0);
+      } else if (typeof source === "string") {
+        return Buffer.from(source);
+      } else if (isStream(source) && !source._readableState) {
+        var normalized = new PassThrough();
+        source.pipe(normalized);
+        return normalized;
       }
-      var tag = baseGetTag(value);
-      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
-    }
-    module2.exports = isFunction;
-  }
-});
-
-// node_modules/lodash/_coreJsData.js
-var require_coreJsData = __commonJS({
-  "node_modules/lodash/_coreJsData.js"(exports2, module2) {
-    var root = require_root();
-    var coreJsData = root["__core-js_shared__"];
-    module2.exports = coreJsData;
+      return source;
+    };
   }
 });
 
-// node_modules/lodash/_isMasked.js
-var require_isMasked = __commonJS({
-  "node_modules/lodash/_isMasked.js"(exports2, module2) {
-    var coreJsData = require_coreJsData();
-    var maskSrcKey = (function() {
-      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
-      return uid ? "Symbol(src)_1." + uid : "";
-    })();
-    function isMasked(func) {
-      return !!maskSrcKey && maskSrcKey in func;
-    }
-    module2.exports = isMasked;
+// node_modules/compress-commons/lib/archivers/archive-output-stream.js
+var require_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var isStream = require_is_stream2();
+    var Transform = require_ours().Transform;
+    var ArchiveEntry = require_archive_entry();
+    var util = require_util22();
+    var ArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ArchiveOutputStream)) {
+        return new ArchiveOutputStream(options);
+      }
+      Transform.call(this, options);
+      this.offset = 0;
+      this._archive = {
+        finish: false,
+        finished: false,
+        processing: false
+      };
+    };
+    inherits(ArchiveOutputStream, Transform);
+    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
+    };
+    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
+      if (err) {
+        this.emit("error", err);
+      }
+    };
+    ArchiveOutputStream.prototype._finish = function(ae) {
+    };
+    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+    };
+    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
+      source = source || null;
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
+      }
+      if (!(ae instanceof ArchiveEntry)) {
+        callback(new Error("not a valid instance of ArchiveEntry"));
+        return;
+      }
+      if (this._archive.finish || this._archive.finished) {
+        callback(new Error("unacceptable entry after finish"));
+        return;
+      }
+      if (this._archive.processing) {
+        callback(new Error("already processing an entry"));
+        return;
+      }
+      this._archive.processing = true;
+      this._normalizeEntry(ae);
+      this._entry = ae;
+      source = util.normalizeInputSource(source);
+      if (Buffer.isBuffer(source)) {
+        this._appendBuffer(ae, source, callback);
+      } else if (isStream(source)) {
+        this._appendStream(ae, source, callback);
+      } else {
+        this._archive.processing = false;
+        callback(new Error("input source must be valid Stream or Buffer instance"));
+        return;
+      }
+      return this;
+    };
+    ArchiveOutputStream.prototype.finish = function() {
+      if (this._archive.processing) {
+        this._archive.finish = true;
+        return;
+      }
+      this._finish();
+    };
+    ArchiveOutputStream.prototype.getBytesWritten = function() {
+      return this.offset;
+    };
+    ArchiveOutputStream.prototype.write = function(chunk, cb) {
+      if (chunk) {
+        this.offset += chunk.length;
+      }
+      return Transform.prototype.write.call(this, chunk, cb);
+    };
   }
 });
 
-// node_modules/lodash/_toSource.js
-var require_toSource = __commonJS({
-  "node_modules/lodash/_toSource.js"(exports2, module2) {
-    var funcProto = Function.prototype;
-    var funcToString = funcProto.toString;
-    function toSource(func) {
-      if (func != null) {
-        try {
-          return funcToString.call(func);
-        } catch (e) {
+// node_modules/crc-32/crc32.js
+var require_crc32 = __commonJS({
+  "node_modules/crc-32/crc32.js"(exports2) {
+    var CRC32;
+    (function(factory) {
+      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
+        if ("object" === typeof exports2) {
+          factory(exports2);
+        } else if ("function" === typeof define && define.amd) {
+          define(function() {
+            var module3 = {};
+            factory(module3);
+            return module3;
+          });
+        } else {
+          factory(CRC32 = {});
         }
-        try {
-          return func + "";
-        } catch (e) {
+      } else {
+        factory(CRC32 = {});
+      }
+    })(function(CRC322) {
+      CRC322.version = "1.2.2";
+      function signed_crc_table() {
+        var c = 0, table = new Array(256);
+        for (var n = 0; n != 256; ++n) {
+          c = n;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
+          table[n] = c;
         }
+        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
       }
-      return "";
-    }
-    module2.exports = toSource;
-  }
-});
-
-// node_modules/lodash/_baseIsNative.js
-var require_baseIsNative = __commonJS({
-  "node_modules/lodash/_baseIsNative.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isMasked = require_isMasked();
-    var isObject2 = require_isObject();
-    var toSource = require_toSource();
-    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
-    var reIsHostCtor = /^\[object .+?Constructor\]$/;
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var reIsNative = RegExp(
-      "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
-    );
-    function baseIsNative(value) {
-      if (!isObject2(value) || isMasked(value)) {
-        return false;
+      var T0 = signed_crc_table();
+      function slice_by_16_tables(T) {
+        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
+        for (n = 0; n != 256; ++n) table[n] = T[n];
+        for (n = 0; n != 256; ++n) {
+          v = T[n];
+          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
+        }
+        var out = [];
+        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
+        return out;
       }
-      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
-      return pattern.test(toSource(value));
-    }
-    module2.exports = baseIsNative;
-  }
-});
-
-// node_modules/lodash/_getValue.js
-var require_getValue = __commonJS({
-  "node_modules/lodash/_getValue.js"(exports2, module2) {
-    function getValue(object, key) {
-      return object == null ? void 0 : object[key];
-    }
-    module2.exports = getValue;
-  }
-});
-
-// node_modules/lodash/_getNative.js
-var require_getNative = __commonJS({
-  "node_modules/lodash/_getNative.js"(exports2, module2) {
-    var baseIsNative = require_baseIsNative();
-    var getValue = require_getValue();
-    function getNative(object, key) {
-      var value = getValue(object, key);
-      return baseIsNative(value) ? value : void 0;
-    }
-    module2.exports = getNative;
-  }
-});
-
-// node_modules/lodash/_defineProperty.js
-var require_defineProperty = __commonJS({
-  "node_modules/lodash/_defineProperty.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var defineProperty = (function() {
-      try {
-        var func = getNative(Object, "defineProperty");
-        func({}, "", {});
-        return func;
-      } catch (e) {
+      var TT = slice_by_16_tables(T0);
+      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
+      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
+      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
+      function crc32_bstr(bstr, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
+        return ~C;
       }
-    })();
-    module2.exports = defineProperty;
-  }
-});
-
-// node_modules/lodash/_baseSetToString.js
-var require_baseSetToString = __commonJS({
-  "node_modules/lodash/_baseSetToString.js"(exports2, module2) {
-    var constant = require_constant();
-    var defineProperty = require_defineProperty();
-    var identity = require_identity();
-    var baseSetToString = !defineProperty ? identity : function(func, string) {
-      return defineProperty(func, "toString", {
-        "configurable": true,
-        "enumerable": false,
-        "value": constant(string),
-        "writable": true
-      });
-    };
-    module2.exports = baseSetToString;
-  }
-});
-
-// node_modules/lodash/_shortOut.js
-var require_shortOut = __commonJS({
-  "node_modules/lodash/_shortOut.js"(exports2, module2) {
-    var HOT_COUNT = 800;
-    var HOT_SPAN = 16;
-    var nativeNow = Date.now;
-    function shortOut(func) {
-      var count = 0, lastCalled = 0;
-      return function() {
-        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
-        lastCalled = stamp;
-        if (remaining > 0) {
-          if (++count >= HOT_COUNT) {
-            return arguments[0];
+      function crc32_buf(B, seed) {
+        var C = seed ^ -1, L = B.length - 15, i = 0;
+        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
+        L += 15;
+        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
+        return ~C;
+      }
+      function crc32_str(str2, seed) {
+        var C = seed ^ -1;
+        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
+          c = str2.charCodeAt(i++);
+          if (c < 128) {
+            C = C >>> 8 ^ T0[(C ^ c) & 255];
+          } else if (c < 2048) {
+            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
+          } else if (c >= 55296 && c < 57344) {
+            c = (c & 1023) + 64;
+            d = str2.charCodeAt(i++) & 1023;
+            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
+          } else {
+            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
+            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
           }
-        } else {
-          count = 0;
         }
-        return func.apply(void 0, arguments);
-      };
-    }
-    module2.exports = shortOut;
-  }
-});
-
-// node_modules/lodash/_setToString.js
-var require_setToString = __commonJS({
-  "node_modules/lodash/_setToString.js"(exports2, module2) {
-    var baseSetToString = require_baseSetToString();
-    var shortOut = require_shortOut();
-    var setToString = shortOut(baseSetToString);
-    module2.exports = setToString;
-  }
-});
-
-// node_modules/lodash/_baseRest.js
-var require_baseRest = __commonJS({
-  "node_modules/lodash/_baseRest.js"(exports2, module2) {
-    var identity = require_identity();
-    var overRest = require_overRest();
-    var setToString = require_setToString();
-    function baseRest(func, start) {
-      return setToString(overRest(func, start, identity), func + "");
-    }
-    module2.exports = baseRest;
-  }
-});
-
-// node_modules/lodash/eq.js
-var require_eq2 = __commonJS({
-  "node_modules/lodash/eq.js"(exports2, module2) {
-    function eq(value, other) {
-      return value === other || value !== value && other !== other;
-    }
-    module2.exports = eq;
-  }
-});
-
-// node_modules/lodash/isLength.js
-var require_isLength = __commonJS({
-  "node_modules/lodash/isLength.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    function isLength(value) {
-      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
-    }
-    module2.exports = isLength;
-  }
-});
-
-// node_modules/lodash/isArrayLike.js
-var require_isArrayLike = __commonJS({
-  "node_modules/lodash/isArrayLike.js"(exports2, module2) {
-    var isFunction = require_isFunction();
-    var isLength = require_isLength();
-    function isArrayLike(value) {
-      return value != null && isLength(value.length) && !isFunction(value);
-    }
-    module2.exports = isArrayLike;
-  }
-});
-
-// node_modules/lodash/_isIndex.js
-var require_isIndex = __commonJS({
-  "node_modules/lodash/_isIndex.js"(exports2, module2) {
-    var MAX_SAFE_INTEGER = 9007199254740991;
-    var reIsUint = /^(?:0|[1-9]\d*)$/;
-    function isIndex(value, length) {
-      var type2 = typeof value;
-      length = length == null ? MAX_SAFE_INTEGER : length;
-      return !!length && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
-    }
-    module2.exports = isIndex;
+        return ~C;
+      }
+      CRC322.table = T0;
+      CRC322.bstr = crc32_bstr;
+      CRC322.buf = crc32_buf;
+      CRC322.str = crc32_str;
+    });
   }
 });
 
-// node_modules/lodash/_isIterateeCall.js
-var require_isIterateeCall = __commonJS({
-  "node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
-    var eq = require_eq2();
-    var isArrayLike = require_isArrayLike();
-    var isIndex = require_isIndex();
-    var isObject2 = require_isObject();
-    function isIterateeCall(value, index, object) {
-      if (!isObject2(object)) {
-        return false;
+// node_modules/crc32-stream/lib/crc32-stream.js
+var require_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require_ours();
+    var crc32 = require_crc32();
+    var CRC32Stream = class extends Transform {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
       }
-      var type2 = typeof index;
-      if (type2 == "number" ? isArrayLike(object) && isIndex(index, object.length) : type2 == "string" && index in object) {
-        return eq(object[index], value);
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
+        }
+        callback(null, chunk);
       }
-      return false;
-    }
-    module2.exports = isIterateeCall;
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
+      }
+      hex() {
+        return this.digest("hex").toUpperCase();
+      }
+      size() {
+        return this.rawSize;
+      }
+    };
+    module2.exports = CRC32Stream;
   }
 });
 
-// node_modules/lodash/_baseTimes.js
-var require_baseTimes = __commonJS({
-  "node_modules/lodash/_baseTimes.js"(exports2, module2) {
-    function baseTimes(n, iteratee) {
-      var index = -1, result = Array(n);
-      while (++index < n) {
-        result[index] = iteratee(index);
+// node_modules/crc32-stream/lib/deflate-crc32-stream.js
+var require_deflate_crc32_stream = __commonJS({
+  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
+    "use strict";
+    var { DeflateRaw } = require("zlib");
+    var crc32 = require_crc32();
+    var DeflateCRC32Stream = class extends DeflateRaw {
+      constructor(options) {
+        super(options);
+        this.checksum = Buffer.allocUnsafe(4);
+        this.checksum.writeInt32BE(0, 0);
+        this.rawSize = 0;
+        this.compressedSize = 0;
       }
-      return result;
-    }
-    module2.exports = baseTimes;
+      push(chunk, encoding) {
+        if (chunk) {
+          this.compressedSize += chunk.length;
+        }
+        return super.push(chunk, encoding);
+      }
+      _transform(chunk, encoding, callback) {
+        if (chunk) {
+          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.rawSize += chunk.length;
+        }
+        super._transform(chunk, encoding, callback);
+      }
+      digest(encoding) {
+        const checksum = Buffer.allocUnsafe(4);
+        checksum.writeUInt32BE(this.checksum >>> 0, 0);
+        return encoding ? checksum.toString(encoding) : checksum;
+      }
+      hex() {
+        return this.digest("hex").toUpperCase();
+      }
+      size(compressed = false) {
+        if (compressed) {
+          return this.compressedSize;
+        } else {
+          return this.rawSize;
+        }
+      }
+    };
+    module2.exports = DeflateCRC32Stream;
   }
 });
 
-// node_modules/lodash/isObjectLike.js
-var require_isObjectLike = __commonJS({
-  "node_modules/lodash/isObjectLike.js"(exports2, module2) {
-    function isObjectLike(value) {
-      return value != null && typeof value == "object";
-    }
-    module2.exports = isObjectLike;
+// node_modules/crc32-stream/lib/index.js
+var require_lib2 = __commonJS({
+  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      CRC32Stream: require_crc32_stream(),
+      DeflateCRC32Stream: require_deflate_crc32_stream()
+    };
   }
 });
 
-// node_modules/lodash/_baseIsArguments.js
-var require_baseIsArguments = __commonJS({
-  "node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    function baseIsArguments(value) {
-      return isObjectLike(value) && baseGetTag(value) == argsTag;
-    }
-    module2.exports = baseIsArguments;
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
+var require_zip_archive_output_stream = __commonJS({
+  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var crc32 = require_crc32();
+    var { CRC32Stream } = require_lib2();
+    var { DeflateCRC32Stream } = require_lib2();
+    var ArchiveOutputStream = require_archive_output_stream();
+    var ZipArchiveEntry = require_zip_archive_entry();
+    var GeneralPurposeBit = require_general_purpose_bit();
+    var constants = require_constants17();
+    var util = require_util22();
+    var zipUtil = require_util21();
+    var ZipArchiveOutputStream = module2.exports = function(options) {
+      if (!(this instanceof ZipArchiveOutputStream)) {
+        return new ZipArchiveOutputStream(options);
+      }
+      options = this.options = this._defaults(options);
+      ArchiveOutputStream.call(this, options);
+      this._entry = null;
+      this._entries = [];
+      this._archive = {
+        centralLength: 0,
+        centralOffset: 0,
+        comment: "",
+        finish: false,
+        finished: false,
+        processing: false,
+        forceZip64: options.forceZip64,
+        forceLocalTime: options.forceLocalTime
+      };
+    };
+    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
+    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
+      this._entries.push(ae);
+      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
+        this._writeDataDescriptor(ae);
+      }
+      this._archive.processing = false;
+      this._entry = null;
+      if (this._archive.finish && !this._archive.finished) {
+        this._finish();
+      }
+    };
+    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
+      if (source.length === 0) {
+        ae.setMethod(constants.METHOD_STORED);
+      }
+      var method = ae.getMethod();
+      if (method === constants.METHOD_STORED) {
+        ae.setSize(source.length);
+        ae.setCompressedSize(source.length);
+        ae.setCrc(crc32.buf(source) >>> 0);
+      }
+      this._writeLocalFileHeader(ae);
+      if (method === constants.METHOD_STORED) {
+        this.write(source);
+        this._afterAppend(ae);
+        callback(null, ae);
+        return;
+      } else if (method === constants.METHOD_DEFLATED) {
+        this._smartStream(ae, callback).end(source);
+        return;
+      } else {
+        callback(new Error("compression method " + method + " not implemented"));
+        return;
+      }
+    };
+    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
+      ae.getGeneralPurposeBit().useDataDescriptor(true);
+      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      this._writeLocalFileHeader(ae);
+      var smart = this._smartStream(ae, callback);
+      source.once("error", function(err) {
+        smart.emit("error", err);
+        smart.end();
+      });
+      source.pipe(smart);
+    };
+    ZipArchiveOutputStream.prototype._defaults = function(o) {
+      if (typeof o !== "object") {
+        o = {};
+      }
+      if (typeof o.zlib !== "object") {
+        o.zlib = {};
+      }
+      if (typeof o.zlib.level !== "number") {
+        o.zlib.level = constants.ZLIB_BEST_SPEED;
+      }
+      o.forceZip64 = !!o.forceZip64;
+      o.forceLocalTime = !!o.forceLocalTime;
+      return o;
+    };
+    ZipArchiveOutputStream.prototype._finish = function() {
+      this._archive.centralOffset = this.offset;
+      this._entries.forEach(function(ae) {
+        this._writeCentralFileHeader(ae);
+      }.bind(this));
+      this._archive.centralLength = this.offset - this._archive.centralOffset;
+      if (this.isZip64()) {
+        this._writeCentralDirectoryZip64();
+      }
+      this._writeCentralDirectoryEnd();
+      this._archive.processing = false;
+      this._archive.finish = true;
+      this._archive.finished = true;
+      this.end();
+    };
+    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+      if (ae.getMethod() === -1) {
+        ae.setMethod(constants.METHOD_DEFLATED);
+      }
+      if (ae.getMethod() === constants.METHOD_DEFLATED) {
+        ae.getGeneralPurposeBit().useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+      }
+      if (ae.getTime() === -1) {
+        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+      }
+      ae._offsets = {
+        file: 0,
+        data: 0,
+        contents: 0
+      };
+    };
+    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
+      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
+      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
+      var error3 = null;
+      function handleStuff() {
+        var digest = process2.digest().readUInt32BE(0);
+        ae.setCrc(digest);
+        ae.setSize(process2.size());
+        ae.setCompressedSize(process2.size(true));
+        this._afterAppend(ae);
+        callback(error3, ae);
+      }
+      process2.once("end", handleStuff.bind(this));
+      process2.once("error", function(err) {
+        error3 = err;
+      });
+      process2.pipe(this, { end: false });
+      return process2;
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
+      var records = this._entries.length;
+      var size = this._archive.centralLength;
+      var offset = this._archive.centralOffset;
+      if (this.isZip64()) {
+        records = constants.ZIP64_MAGIC_SHORT;
+        size = constants.ZIP64_MAGIC;
+        offset = constants.ZIP64_MAGIC;
+      }
+      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
+      this.write(constants.SHORT_ZERO);
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getShortBytes(records));
+      this.write(zipUtil.getLongBytes(size));
+      this.write(zipUtil.getLongBytes(offset));
+      var comment = this.getComment();
+      var commentLength = Buffer.byteLength(comment);
+      this.write(zipUtil.getShortBytes(commentLength));
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
+      this.write(zipUtil.getEightBytes(44));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
+      this.write(constants.LONG_ZERO);
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._entries.length));
+      this.write(zipUtil.getEightBytes(this._archive.centralLength));
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
+      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
+      this.write(constants.LONG_ZERO);
+      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
+      this.write(zipUtil.getLongBytes(1));
+    };
+    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var fileOffset = ae._offsets.file;
+      var size = ae.getSize();
+      var compressedSize = ae.getCompressedSize();
+      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
+        size = constants.ZIP64_MAGIC;
+        compressedSize = constants.ZIP64_MAGIC;
+        fileOffset = constants.ZIP64_MAGIC;
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+        var extraBuf = Buffer.concat([
+          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
+          zipUtil.getShortBytes(24),
+          zipUtil.getEightBytes(ae.getSize()),
+          zipUtil.getEightBytes(ae.getCompressedSize()),
+          zipUtil.getEightBytes(ae._offsets.file)
+        ], 28);
+        ae.setExtra(extraBuf);
+      }
+      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
+      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      this.write(zipUtil.getLongBytes(compressedSize));
+      this.write(zipUtil.getLongBytes(size));
+      var name = ae.getName();
+      var comment = ae.getComment();
+      var extra = ae.getCentralDirectoryExtra();
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+        comment = Buffer.from(comment);
+      }
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(zipUtil.getShortBytes(comment.length));
+      this.write(constants.SHORT_ZERO);
+      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
+      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
+      this.write(zipUtil.getLongBytes(fileOffset));
+      this.write(name);
+      this.write(extra);
+      this.write(comment);
+    };
+    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
+      this.write(zipUtil.getLongBytes(constants.SIG_DD));
+      this.write(zipUtil.getLongBytes(ae.getCrc()));
+      if (ae.isZip64()) {
+        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getEightBytes(ae.getSize()));
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
+      }
+    };
+    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
+      var gpb = ae.getGeneralPurposeBit();
+      var method = ae.getMethod();
+      var name = ae.getName();
+      var extra = ae.getLocalFileDataExtra();
+      if (ae.isZip64()) {
+        gpb.useDataDescriptor(true);
+        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+      }
+      if (gpb.usesUTF8ForNames()) {
+        name = Buffer.from(name);
+      }
+      ae._offsets.file = this.offset;
+      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
+      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
+      this.write(gpb.encode());
+      this.write(zipUtil.getShortBytes(method));
+      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
+      ae._offsets.data = this.offset;
+      if (gpb.usesDataDescriptor()) {
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+        this.write(constants.LONG_ZERO);
+      } else {
+        this.write(zipUtil.getLongBytes(ae.getCrc()));
+        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
+        this.write(zipUtil.getLongBytes(ae.getSize()));
+      }
+      this.write(zipUtil.getShortBytes(name.length));
+      this.write(zipUtil.getShortBytes(extra.length));
+      this.write(name);
+      this.write(extra);
+      ae._offsets.contents = this.offset;
+    };
+    ZipArchiveOutputStream.prototype.getComment = function(comment) {
+      return this._archive.comment !== null ? this._archive.comment : "";
+    };
+    ZipArchiveOutputStream.prototype.isZip64 = function() {
+      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
+    };
+    ZipArchiveOutputStream.prototype.setComment = function(comment) {
+      this._archive.comment = comment;
+    };
   }
 });
 
-// node_modules/lodash/isArguments.js
-var require_isArguments = __commonJS({
-  "node_modules/lodash/isArguments.js"(exports2, module2) {
-    var baseIsArguments = require_baseIsArguments();
-    var isObjectLike = require_isObjectLike();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
-    var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
-      return arguments;
-    })()) ? baseIsArguments : function(value) {
-      return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
+// node_modules/compress-commons/lib/compress-commons.js
+var require_compress_commons = __commonJS({
+  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
+    module2.exports = {
+      ArchiveEntry: require_archive_entry(),
+      ZipArchiveEntry: require_zip_archive_entry(),
+      ArchiveOutputStream: require_archive_output_stream(),
+      ZipArchiveOutputStream: require_zip_archive_output_stream()
     };
-    module2.exports = isArguments;
   }
 });
 
-// node_modules/lodash/isArray.js
-var require_isArray = __commonJS({
-  "node_modules/lodash/isArray.js"(exports2, module2) {
-    var isArray = Array.isArray;
-    module2.exports = isArray;
+// node_modules/zip-stream/index.js
+var require_zip_stream = __commonJS({
+  "node_modules/zip-stream/index.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
+    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
+    var util = require_archiver_utils();
+    var ZipStream = module2.exports = function(options) {
+      if (!(this instanceof ZipStream)) {
+        return new ZipStream(options);
+      }
+      options = this.options = options || {};
+      options.zlib = options.zlib || {};
+      ZipArchiveOutputStream.call(this, options);
+      if (typeof options.level === "number" && options.level >= 0) {
+        options.zlib.level = options.level;
+        delete options.level;
+      }
+      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
+        options.store = true;
+      }
+      options.namePrependSlash = options.namePrependSlash || false;
+      if (options.comment && options.comment.length > 0) {
+        this.setComment(options.comment);
+      }
+    };
+    inherits(ZipStream, ZipArchiveOutputStream);
+    ZipStream.prototype._normalizeFileData = function(data) {
+      data = util.defaults(data, {
+        type: "file",
+        name: null,
+        namePrependSlash: this.options.namePrependSlash,
+        linkname: null,
+        date: null,
+        mode: null,
+        store: this.options.store,
+        comment: ""
+      });
+      var isDir = data.type === "directory";
+      var isSymlink = data.type === "symlink";
+      if (data.name) {
+        data.name = util.sanitizePath(data.name);
+        if (!isSymlink && data.name.slice(-1) === "/") {
+          isDir = true;
+          data.type = "directory";
+        } else if (isDir) {
+          data.name += "/";
+        }
+      }
+      if (isDir || isSymlink) {
+        data.store = true;
+      }
+      data.date = util.dateify(data.date);
+      return data;
+    };
+    ZipStream.prototype.entry = function(source, data, callback) {
+      if (typeof callback !== "function") {
+        callback = this._emitErrorCallback.bind(this);
+      }
+      data = this._normalizeFileData(data);
+      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
+        callback(new Error(data.type + " entries not currently supported"));
+        return;
+      }
+      if (typeof data.name !== "string" || data.name.length === 0) {
+        callback(new Error("entry name must be a non-empty string value"));
+        return;
+      }
+      if (data.type === "symlink" && typeof data.linkname !== "string") {
+        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
+        return;
+      }
+      var entry = new ZipArchiveEntry(data.name);
+      entry.setTime(data.date, this.options.forceLocalTime);
+      if (data.namePrependSlash) {
+        entry.setName(data.name, true);
+      }
+      if (data.store) {
+        entry.setMethod(0);
+      }
+      if (data.comment.length > 0) {
+        entry.setComment(data.comment);
+      }
+      if (data.type === "symlink" && typeof data.mode !== "number") {
+        data.mode = 40960;
+      }
+      if (typeof data.mode === "number") {
+        if (data.type === "symlink") {
+          data.mode |= 40960;
+        }
+        entry.setUnixMode(data.mode);
+      }
+      if (data.type === "symlink" && typeof data.linkname === "string") {
+        source = Buffer.from(data.linkname);
+      }
+      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
+    };
+    ZipStream.prototype.finalize = function() {
+      this.finish();
+    };
   }
 });
 
-// node_modules/lodash/stubFalse.js
-var require_stubFalse = __commonJS({
-  "node_modules/lodash/stubFalse.js"(exports2, module2) {
-    function stubFalse() {
-      return false;
-    }
-    module2.exports = stubFalse;
+// node_modules/archiver/lib/plugins/zip.js
+var require_zip = __commonJS({
+  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
+    var engine = require_zip_stream();
+    var util = require_archiver_utils();
+    var Zip = function(options) {
+      if (!(this instanceof Zip)) {
+        return new Zip(options);
+      }
+      options = this.options = util.defaults(options, {
+        comment: "",
+        forceUTC: false,
+        namePrependSlash: false,
+        store: false
+      });
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = new engine(options);
+    };
+    Zip.prototype.append = function(source, data, callback) {
+      this.engine.entry(source, data, callback);
+    };
+    Zip.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Zip.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Zip.prototype.pipe = function() {
+      return this.engine.pipe.apply(this.engine, arguments);
+    };
+    Zip.prototype.unpipe = function() {
+      return this.engine.unpipe.apply(this.engine, arguments);
+    };
+    module2.exports = Zip;
   }
 });
 
-// node_modules/lodash/isBuffer.js
-var require_isBuffer = __commonJS({
-  "node_modules/lodash/isBuffer.js"(exports2, module2) {
-    var root = require_root();
-    var stubFalse = require_stubFalse();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var Buffer2 = moduleExports ? root.Buffer : void 0;
-    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
-    var isBuffer = nativeIsBuffer || stubFalse;
-    module2.exports = isBuffer;
+// node_modules/queue-tick/queue-microtask.js
+var require_queue_microtask = __commonJS({
+  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
+    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
   }
 });
 
-// node_modules/lodash/_baseIsTypedArray.js
-var require_baseIsTypedArray = __commonJS({
-  "node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var isLength = require_isLength();
-    var isObjectLike = require_isObjectLike();
-    var argsTag = "[object Arguments]";
-    var arrayTag = "[object Array]";
-    var boolTag = "[object Boolean]";
-    var dateTag = "[object Date]";
-    var errorTag = "[object Error]";
-    var funcTag = "[object Function]";
-    var mapTag = "[object Map]";
-    var numberTag = "[object Number]";
-    var objectTag = "[object Object]";
-    var regexpTag = "[object RegExp]";
-    var setTag = "[object Set]";
-    var stringTag = "[object String]";
-    var weakMapTag = "[object WeakMap]";
-    var arrayBufferTag = "[object ArrayBuffer]";
-    var dataViewTag = "[object DataView]";
-    var float32Tag = "[object Float32Array]";
-    var float64Tag = "[object Float64Array]";
-    var int8Tag = "[object Int8Array]";
-    var int16Tag = "[object Int16Array]";
-    var int32Tag = "[object Int32Array]";
-    var uint8Tag = "[object Uint8Array]";
-    var uint8ClampedTag = "[object Uint8ClampedArray]";
-    var uint16Tag = "[object Uint16Array]";
-    var uint32Tag = "[object Uint32Array]";
-    var typedArrayTags = {};
-    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
-    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
-    function baseIsTypedArray(value) {
-      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
-    }
-    module2.exports = baseIsTypedArray;
+// node_modules/queue-tick/process-next-tick.js
+var require_process_next_tick = __commonJS({
+  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
+    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
   }
 });
 
-// node_modules/lodash/_baseUnary.js
-var require_baseUnary = __commonJS({
-  "node_modules/lodash/_baseUnary.js"(exports2, module2) {
-    function baseUnary(func) {
-      return function(value) {
-        return func(value);
-      };
-    }
-    module2.exports = baseUnary;
+// node_modules/fast-fifo/fixed-size.js
+var require_fixed_size = __commonJS({
+  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
+    module2.exports = class FixedFIFO {
+      constructor(hwm) {
+        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
+        this.buffer = new Array(hwm);
+        this.mask = hwm - 1;
+        this.top = 0;
+        this.btm = 0;
+        this.next = null;
+      }
+      clear() {
+        this.top = this.btm = 0;
+        this.next = null;
+        this.buffer.fill(void 0);
+      }
+      push(data) {
+        if (this.buffer[this.top] !== void 0) return false;
+        this.buffer[this.top] = data;
+        this.top = this.top + 1 & this.mask;
+        return true;
+      }
+      shift() {
+        const last = this.buffer[this.btm];
+        if (last === void 0) return void 0;
+        this.buffer[this.btm] = void 0;
+        this.btm = this.btm + 1 & this.mask;
+        return last;
+      }
+      peek() {
+        return this.buffer[this.btm];
+      }
+      isEmpty() {
+        return this.buffer[this.btm] === void 0;
+      }
+    };
   }
 });
 
-// node_modules/lodash/_nodeUtil.js
-var require_nodeUtil = __commonJS({
-  "node_modules/lodash/_nodeUtil.js"(exports2, module2) {
-    var freeGlobal = require_freeGlobal();
-    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
-    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
-    var moduleExports = freeModule && freeModule.exports === freeExports;
-    var freeProcess = moduleExports && freeGlobal.process;
-    var nodeUtil = (function() {
-      try {
-        var types = freeModule && freeModule.require && freeModule.require("util").types;
-        if (types) {
-          return types;
+// node_modules/fast-fifo/index.js
+var require_fast_fifo = __commonJS({
+  "node_modules/fast-fifo/index.js"(exports2, module2) {
+    var FixedFIFO = require_fixed_size();
+    module2.exports = class FastFIFO {
+      constructor(hwm) {
+        this.hwm = hwm || 16;
+        this.head = new FixedFIFO(this.hwm);
+        this.tail = this.head;
+        this.length = 0;
+      }
+      clear() {
+        this.head = this.tail;
+        this.head.clear();
+        this.length = 0;
+      }
+      push(val) {
+        this.length++;
+        if (!this.head.push(val)) {
+          const prev = this.head;
+          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
+          this.head.push(val);
         }
-        return freeProcess && freeProcess.binding && freeProcess.binding("util");
-      } catch (e) {
       }
-    })();
-    module2.exports = nodeUtil;
-  }
-});
-
-// node_modules/lodash/isTypedArray.js
-var require_isTypedArray = __commonJS({
-  "node_modules/lodash/isTypedArray.js"(exports2, module2) {
-    var baseIsTypedArray = require_baseIsTypedArray();
-    var baseUnary = require_baseUnary();
-    var nodeUtil = require_nodeUtil();
-    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
-    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
-    module2.exports = isTypedArray;
+      shift() {
+        if (this.length !== 0) this.length--;
+        const val = this.tail.shift();
+        if (val === void 0 && this.tail.next) {
+          const next = this.tail.next;
+          this.tail.next = null;
+          this.tail = next;
+          return this.tail.shift();
+        }
+        return val;
+      }
+      peek() {
+        const val = this.tail.peek();
+        if (val === void 0 && this.tail.next) return this.tail.next.peek();
+        return val;
+      }
+      isEmpty() {
+        return this.length === 0;
+      }
+    };
   }
 });
 
-// node_modules/lodash/_arrayLikeKeys.js
-var require_arrayLikeKeys = __commonJS({
-  "node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
-    var baseTimes = require_baseTimes();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var isBuffer = require_isBuffer();
-    var isIndex = require_isIndex();
-    var isTypedArray = require_isTypedArray();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function arrayLikeKeys(value, inherited) {
-      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
-      for (var key in value) {
-        if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
-        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
-        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
-        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
-        isIndex(key, length)))) {
-          result.push(key);
-        }
-      }
-      return result;
+// node_modules/b4a/index.js
+var require_b4a = __commonJS({
+  "node_modules/b4a/index.js"(exports2, module2) {
+    function isBuffer(value) {
+      return Buffer.isBuffer(value) || value instanceof Uint8Array;
     }
-    module2.exports = arrayLikeKeys;
+    function isEncoding(encoding) {
+      return Buffer.isEncoding(encoding);
+    }
+    function alloc(size, fill2, encoding) {
+      return Buffer.alloc(size, fill2, encoding);
+    }
+    function allocUnsafe(size) {
+      return Buffer.allocUnsafe(size);
+    }
+    function allocUnsafeSlow(size) {
+      return Buffer.allocUnsafeSlow(size);
+    }
+    function byteLength(string, encoding) {
+      return Buffer.byteLength(string, encoding);
+    }
+    function compare2(a, b) {
+      return Buffer.compare(a, b);
+    }
+    function concat(buffers, totalLength) {
+      return Buffer.concat(buffers, totalLength);
+    }
+    function copy(source, target, targetStart, start, end) {
+      return toBuffer(source).copy(target, targetStart, start, end);
+    }
+    function equals(a, b) {
+      return toBuffer(a).equals(b);
+    }
+    function fill(buffer, value, offset, end, encoding) {
+      return toBuffer(buffer).fill(value, offset, end, encoding);
+    }
+    function from(value, encodingOrOffset, length) {
+      return Buffer.from(value, encodingOrOffset, length);
+    }
+    function includes(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).includes(value, byteOffset, encoding);
+    }
+    function indexOf(buffer, value, byfeOffset, encoding) {
+      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
+    }
+    function lastIndexOf(buffer, value, byteOffset, encoding) {
+      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
+    }
+    function swap16(buffer) {
+      return toBuffer(buffer).swap16();
+    }
+    function swap32(buffer) {
+      return toBuffer(buffer).swap32();
+    }
+    function swap64(buffer) {
+      return toBuffer(buffer).swap64();
+    }
+    function toBuffer(buffer) {
+      if (Buffer.isBuffer(buffer)) return buffer;
+      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function toString2(buffer, encoding, start, end) {
+      return toBuffer(buffer).toString(encoding, start, end);
+    }
+    function write(buffer, string, offset, length, encoding) {
+      return toBuffer(buffer).write(string, offset, length, encoding);
+    }
+    function writeDoubleLE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleLE(value, offset);
+    }
+    function writeFloatLE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatLE(value, offset);
+    }
+    function writeUInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32LE(value, offset);
+    }
+    function writeInt32LE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32LE(value, offset);
+    }
+    function readDoubleLE(buffer, offset) {
+      return toBuffer(buffer).readDoubleLE(offset);
+    }
+    function readFloatLE(buffer, offset) {
+      return toBuffer(buffer).readFloatLE(offset);
+    }
+    function readUInt32LE(buffer, offset) {
+      return toBuffer(buffer).readUInt32LE(offset);
+    }
+    function readInt32LE(buffer, offset) {
+      return toBuffer(buffer).readInt32LE(offset);
+    }
+    function writeDoubleBE(buffer, value, offset) {
+      return toBuffer(buffer).writeDoubleBE(value, offset);
+    }
+    function writeFloatBE(buffer, value, offset) {
+      return toBuffer(buffer).writeFloatBE(value, offset);
+    }
+    function writeUInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeUInt32BE(value, offset);
+    }
+    function writeInt32BE(buffer, value, offset) {
+      return toBuffer(buffer).writeInt32BE(value, offset);
+    }
+    function readDoubleBE(buffer, offset) {
+      return toBuffer(buffer).readDoubleBE(offset);
+    }
+    function readFloatBE(buffer, offset) {
+      return toBuffer(buffer).readFloatBE(offset);
+    }
+    function readUInt32BE(buffer, offset) {
+      return toBuffer(buffer).readUInt32BE(offset);
+    }
+    function readInt32BE(buffer, offset) {
+      return toBuffer(buffer).readInt32BE(offset);
+    }
+    module2.exports = {
+      isBuffer,
+      isEncoding,
+      alloc,
+      allocUnsafe,
+      allocUnsafeSlow,
+      byteLength,
+      compare: compare2,
+      concat,
+      copy,
+      equals,
+      fill,
+      from,
+      includes,
+      indexOf,
+      lastIndexOf,
+      swap16,
+      swap32,
+      swap64,
+      toBuffer,
+      toString: toString2,
+      write,
+      writeDoubleLE,
+      writeFloatLE,
+      writeUInt32LE,
+      writeInt32LE,
+      readDoubleLE,
+      readFloatLE,
+      readUInt32LE,
+      readInt32LE,
+      writeDoubleBE,
+      writeFloatBE,
+      writeUInt32BE,
+      writeInt32BE,
+      readDoubleBE,
+      readFloatBE,
+      readUInt32BE,
+      readInt32BE
+    };
   }
 });
 
-// node_modules/lodash/_isPrototype.js
-var require_isPrototype = __commonJS({
-  "node_modules/lodash/_isPrototype.js"(exports2, module2) {
-    var objectProto = Object.prototype;
-    function isPrototype(value) {
-      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
-      return value === proto;
-    }
-    module2.exports = isPrototype;
+// node_modules/text-decoder/lib/pass-through-decoder.js
+var require_pass_through_decoder = __commonJS({
+  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class PassThroughDecoder {
+      constructor(encoding) {
+        this.encoding = encoding;
+      }
+      get remaining() {
+        return 0;
+      }
+      decode(tail) {
+        return b4a.toString(tail, this.encoding);
+      }
+      flush() {
+        return "";
+      }
+    };
   }
 });
 
-// node_modules/lodash/_nativeKeysIn.js
-var require_nativeKeysIn = __commonJS({
-  "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
-    function nativeKeysIn(object) {
-      var result = [];
-      if (object != null) {
-        for (var key in Object(object)) {
-          result.push(key);
+// node_modules/text-decoder/lib/utf8-decoder.js
+var require_utf8_decoder = __commonJS({
+  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
+    var b4a = require_b4a();
+    module2.exports = class UTF8Decoder {
+      constructor() {
+        this.codePoint = 0;
+        this.bytesSeen = 0;
+        this.bytesNeeded = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
+      }
+      get remaining() {
+        return this.bytesSeen;
+      }
+      decode(data) {
+        if (this.bytesNeeded === 0) {
+          let isBoundary = true;
+          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
+            isBoundary = data[i] <= 127;
+          }
+          if (isBoundary) return b4a.toString(data, "utf8");
+        }
+        let result = "";
+        for (let i = 0, n = data.byteLength; i < n; i++) {
+          const byte = data[i];
+          if (this.bytesNeeded === 0) {
+            if (byte <= 127) {
+              result += String.fromCharCode(byte);
+            } else {
+              this.bytesSeen = 1;
+              if (byte >= 194 && byte <= 223) {
+                this.bytesNeeded = 2;
+                this.codePoint = byte & 31;
+              } else if (byte >= 224 && byte <= 239) {
+                if (byte === 224) this.lowerBoundary = 160;
+                else if (byte === 237) this.upperBoundary = 159;
+                this.bytesNeeded = 3;
+                this.codePoint = byte & 15;
+              } else if (byte >= 240 && byte <= 244) {
+                if (byte === 240) this.lowerBoundary = 144;
+                if (byte === 244) this.upperBoundary = 143;
+                this.bytesNeeded = 4;
+                this.codePoint = byte & 7;
+              } else {
+                result += "\uFFFD";
+              }
+            }
+            continue;
+          }
+          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
+            this.codePoint = 0;
+            this.bytesNeeded = 0;
+            this.bytesSeen = 0;
+            this.lowerBoundary = 128;
+            this.upperBoundary = 191;
+            result += "\uFFFD";
+            continue;
+          }
+          this.lowerBoundary = 128;
+          this.upperBoundary = 191;
+          this.codePoint = this.codePoint << 6 | byte & 63;
+          this.bytesSeen++;
+          if (this.bytesSeen !== this.bytesNeeded) continue;
+          result += String.fromCodePoint(this.codePoint);
+          this.codePoint = 0;
+          this.bytesNeeded = 0;
+          this.bytesSeen = 0;
         }
+        return result;
+      }
+      flush() {
+        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
+        this.codePoint = 0;
+        this.bytesNeeded = 0;
+        this.bytesSeen = 0;
+        this.lowerBoundary = 128;
+        this.upperBoundary = 191;
+        return result;
       }
-      return result;
-    }
-    module2.exports = nativeKeysIn;
+    };
   }
 });
 
-// node_modules/lodash/_baseKeysIn.js
-var require_baseKeysIn = __commonJS({
-  "node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
-    var isObject2 = require_isObject();
-    var isPrototype = require_isPrototype();
-    var nativeKeysIn = require_nativeKeysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function baseKeysIn(object) {
-      if (!isObject2(object)) {
-        return nativeKeysIn(object);
-      }
-      var isProto = isPrototype(object), result = [];
-      for (var key in object) {
-        if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
-          result.push(key);
+// node_modules/text-decoder/index.js
+var require_text_decoder = __commonJS({
+  "node_modules/text-decoder/index.js"(exports2, module2) {
+    var PassThroughDecoder = require_pass_through_decoder();
+    var UTF8Decoder = require_utf8_decoder();
+    module2.exports = class TextDecoder {
+      constructor(encoding = "utf8") {
+        this.encoding = normalizeEncoding(encoding);
+        switch (this.encoding) {
+          case "utf8":
+            this.decoder = new UTF8Decoder();
+            break;
+          case "utf16le":
+          case "base64":
+            throw new Error("Unsupported encoding: " + this.encoding);
+          default:
+            this.decoder = new PassThroughDecoder(this.encoding);
         }
       }
-      return result;
-    }
-    module2.exports = baseKeysIn;
-  }
-});
-
-// node_modules/lodash/keysIn.js
-var require_keysIn = __commonJS({
-  "node_modules/lodash/keysIn.js"(exports2, module2) {
-    var arrayLikeKeys = require_arrayLikeKeys();
-    var baseKeysIn = require_baseKeysIn();
-    var isArrayLike = require_isArrayLike();
-    function keysIn(object) {
-      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
+      get remaining() {
+        return this.decoder.remaining;
+      }
+      push(data) {
+        if (typeof data === "string") return data;
+        return this.decoder.decode(data);
+      }
+      // For Node.js compatibility
+      write(data) {
+        return this.push(data);
+      }
+      end(data) {
+        let result = "";
+        if (data) result = this.push(data);
+        result += this.decoder.flush();
+        return result;
+      }
+    };
+    function normalizeEncoding(encoding) {
+      encoding = encoding.toLowerCase();
+      switch (encoding) {
+        case "utf8":
+        case "utf-8":
+          return "utf8";
+        case "ucs2":
+        case "ucs-2":
+        case "utf16le":
+        case "utf-16le":
+          return "utf16le";
+        case "latin1":
+        case "binary":
+          return "latin1";
+        case "base64":
+        case "ascii":
+        case "hex":
+          return encoding;
+        default:
+          throw new Error("Unknown encoding: " + encoding);
+      }
     }
-    module2.exports = keysIn;
   }
 });
 
-// node_modules/lodash/defaults.js
-var require_defaults = __commonJS({
-  "node_modules/lodash/defaults.js"(exports2, module2) {
-    var baseRest = require_baseRest();
-    var eq = require_eq2();
-    var isIterateeCall = require_isIterateeCall();
-    var keysIn = require_keysIn();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var defaults = baseRest(function(object, sources) {
-      object = Object(object);
-      var index = -1;
-      var length = sources.length;
-      var guard = length > 2 ? sources[2] : void 0;
-      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
-        length = 1;
+// node_modules/streamx/index.js
+var require_streamx = __commonJS({
+  "node_modules/streamx/index.js"(exports2, module2) {
+    var { EventEmitter } = require("events");
+    var STREAM_DESTROYED = new Error("Stream was destroyed");
+    var PREMATURE_CLOSE = new Error("Premature close");
+    var queueTick = require_process_next_tick();
+    var FIFO = require_fast_fifo();
+    var TextDecoder2 = require_text_decoder();
+    var MAX = (1 << 29) - 1;
+    var OPENING = 1;
+    var PREDESTROYING = 2;
+    var DESTROYING = 4;
+    var DESTROYED = 8;
+    var NOT_OPENING = MAX ^ OPENING;
+    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
+    var READ_ACTIVE = 1 << 4;
+    var READ_UPDATING = 2 << 4;
+    var READ_PRIMARY = 4 << 4;
+    var READ_QUEUED = 8 << 4;
+    var READ_RESUMED = 16 << 4;
+    var READ_PIPE_DRAINED = 32 << 4;
+    var READ_ENDING = 64 << 4;
+    var READ_EMIT_DATA = 128 << 4;
+    var READ_EMIT_READABLE = 256 << 4;
+    var READ_EMITTED_READABLE = 512 << 4;
+    var READ_DONE = 1024 << 4;
+    var READ_NEXT_TICK = 2048 << 4;
+    var READ_NEEDS_PUSH = 4096 << 4;
+    var READ_READ_AHEAD = 8192 << 4;
+    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
+    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
+    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
+    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
+    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
+    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
+    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
+    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
+    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
+    var READ_PAUSED = MAX ^ READ_RESUMED;
+    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
+    var READ_NOT_ENDING = MAX ^ READ_ENDING;
+    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
+    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
+    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
+    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
+    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
+    var WRITE_ACTIVE = 1 << 18;
+    var WRITE_UPDATING = 2 << 18;
+    var WRITE_PRIMARY = 4 << 18;
+    var WRITE_QUEUED = 8 << 18;
+    var WRITE_UNDRAINED = 16 << 18;
+    var WRITE_DONE = 32 << 18;
+    var WRITE_EMIT_DRAIN = 64 << 18;
+    var WRITE_NEXT_TICK = 128 << 18;
+    var WRITE_WRITING = 256 << 18;
+    var WRITE_FINISHING = 512 << 18;
+    var WRITE_CORKED = 1024 << 18;
+    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
+    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
+    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
+    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
+    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
+    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
+    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
+    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
+    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
+    var NOT_ACTIVE = MAX ^ ACTIVE;
+    var DONE = READ_DONE | WRITE_DONE;
+    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
+    var OPEN_STATUS = DESTROY_STATUS | OPENING;
+    var AUTO_DESTROY = DESTROY_STATUS | DONE;
+    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
+    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
+    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
+    var IS_OPENING = OPEN_STATUS | TICKING;
+    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
+    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
+    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
+    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
+    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
+    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
+    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
+    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
+    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
+    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
+    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
+    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
+    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
+    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
+    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
+    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
+    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
+    var WritableState = class {
+      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
+        this.stream = stream;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark;
+        this.buffered = 0;
+        this.error = null;
+        this.pipeline = null;
+        this.drains = null;
+        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
+        this.map = mapWritable || map2;
+        this.afterWrite = afterWrite.bind(this);
+        this.afterUpdateNextTick = updateWriteNT.bind(this);
       }
-      while (++index < length) {
-        var source = sources[index];
-        var props = keysIn(source);
-        var propsIndex = -1;
-        var propsLength = props.length;
-        while (++propsIndex < propsLength) {
-          var key = props[propsIndex];
-          var value = object[key];
-          if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
-            object[key] = source[key];
+      get ended() {
+        return (this.stream._duplexState & WRITE_DONE) !== 0;
+      }
+      push(data) {
+        if (this.map !== null) data = this.map(data);
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        if (this.buffered < this.highWaterMark) {
+          this.stream._duplexState |= WRITE_QUEUED;
+          return true;
+        }
+        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
+        return false;
+      }
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
+        return data;
+      }
+      end(data) {
+        if (typeof data === "function") this.stream.once("finish", data);
+        else if (data !== void 0 && data !== null) this.push(data);
+        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
+      }
+      autoBatch(data, cb) {
+        const buffer = [];
+        const stream = this.stream;
+        buffer.push(data);
+        while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
+          buffer.push(stream._writableState.shift());
+        }
+        if ((stream._duplexState & OPEN_STATUS) !== 0) return cb(null);
+        stream._writev(buffer, cb);
+      }
+      update() {
+        const stream = this.stream;
+        stream._duplexState |= WRITE_UPDATING;
+        do {
+          while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
+            const data = this.shift();
+            stream._duplexState |= WRITE_ACTIVE_AND_WRITING;
+            stream._write(data, this.afterWrite);
+          }
+          if ((stream._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream._duplexState &= WRITE_NOT_UPDATING;
+      }
+      updateNonPrimary() {
+        const stream = this.stream;
+        if ((stream._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
+          stream._duplexState = (stream._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
+          stream._final(afterFinal.bind(this));
+          return;
+        }
+        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream._duplexState |= ACTIVE;
+            stream._destroy(afterDestroy.bind(this));
           }
+          return;
+        }
+        if ((stream._duplexState & IS_OPENING) === OPENING) {
+          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
+          stream._open(afterOpen.bind(this));
         }
       }
-      return object;
-    });
-    module2.exports = defaults;
-  }
-});
-
-// node_modules/readable-stream/lib/ours/primordials.js
-var require_primordials = __commonJS({
-  "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      ArrayIsArray(self2) {
-        return Array.isArray(self2);
-      },
-      ArrayPrototypeIncludes(self2, el) {
-        return self2.includes(el);
-      },
-      ArrayPrototypeIndexOf(self2, el) {
-        return self2.indexOf(el);
-      },
-      ArrayPrototypeJoin(self2, sep2) {
-        return self2.join(sep2);
-      },
-      ArrayPrototypeMap(self2, fn) {
-        return self2.map(fn);
-      },
-      ArrayPrototypePop(self2, el) {
-        return self2.pop(el);
-      },
-      ArrayPrototypePush(self2, el) {
-        return self2.push(el);
-      },
-      ArrayPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      Error,
-      FunctionPrototypeCall(fn, thisArgs, ...args) {
-        return fn.call(thisArgs, ...args);
-      },
-      FunctionPrototypeSymbolHasInstance(self2, instance) {
-        return Function.prototype[Symbol.hasInstance].call(self2, instance);
-      },
-      MathFloor: Math.floor,
-      Number,
-      NumberIsInteger: Number.isInteger,
-      NumberIsNaN: Number.isNaN,
-      NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,
-      NumberParseInt: Number.parseInt,
-      ObjectDefineProperties(self2, props) {
-        return Object.defineProperties(self2, props);
-      },
-      ObjectDefineProperty(self2, name, prop) {
-        return Object.defineProperty(self2, name, prop);
-      },
-      ObjectGetOwnPropertyDescriptor(self2, name) {
-        return Object.getOwnPropertyDescriptor(self2, name);
-      },
-      ObjectKeys(obj) {
-        return Object.keys(obj);
-      },
-      ObjectSetPrototypeOf(target, proto) {
-        return Object.setPrototypeOf(target, proto);
-      },
-      Promise,
-      PromisePrototypeCatch(self2, fn) {
-        return self2.catch(fn);
-      },
-      PromisePrototypeThen(self2, thenFn, catchFn) {
-        return self2.then(thenFn, catchFn);
-      },
-      PromiseReject(err) {
-        return Promise.reject(err);
-      },
-      PromiseResolve(val) {
-        return Promise.resolve(val);
-      },
-      ReflectApply: Reflect.apply,
-      RegExpPrototypeTest(self2, value) {
-        return self2.test(value);
-      },
-      SafeSet: Set,
-      String,
-      StringPrototypeSlice(self2, start, end) {
-        return self2.slice(start, end);
-      },
-      StringPrototypeToLowerCase(self2) {
-        return self2.toLowerCase();
-      },
-      StringPrototypeToUpperCase(self2) {
-        return self2.toUpperCase();
-      },
-      StringPrototypeTrim(self2) {
-        return self2.trim();
-      },
-      Symbol,
-      SymbolFor: Symbol.for,
-      SymbolAsyncIterator: Symbol.asyncIterator,
-      SymbolHasInstance: Symbol.hasInstance,
-      SymbolIterator: Symbol.iterator,
-      SymbolDispose: Symbol.dispose || /* @__PURE__ */ Symbol("Symbol.dispose"),
-      SymbolAsyncDispose: Symbol.asyncDispose || /* @__PURE__ */ Symbol("Symbol.asyncDispose"),
-      TypedArrayPrototypeSet(self2, buf, len) {
-        return self2.set(buf, len);
-      },
-      Boolean,
-      Uint8Array
+      continueUpdate() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        return true;
+      }
+      updateCallback() {
+        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= WRITE_NEXT_TICK;
+        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
+      }
     };
-  }
-});
-
-// node_modules/event-target-shim/dist/event-target-shim.js
-var require_event_target_shim = __commonJS({
-  "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var privateData = /* @__PURE__ */ new WeakMap();
-    var wrappers = /* @__PURE__ */ new WeakMap();
-    function pd(event) {
-      const retv = privateData.get(event);
-      console.assert(
-        retv != null,
-        "'this' is expected an Event object, but got",
-        event
-      );
-      return retv;
-    }
-    function setCancelFlag(data) {
-      if (data.passiveListener != null) {
-        if (typeof console !== "undefined" && typeof console.error === "function") {
-          console.error(
-            "Unable to preventDefault inside passive event listener invocation.",
-            data.passiveListener
-          );
-        }
-        return;
+    var ReadableState = class {
+      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
+        this.stream = stream;
+        this.queue = new FIFO();
+        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
+        this.buffered = 0;
+        this.readAhead = highWaterMark > 0;
+        this.error = null;
+        this.pipeline = null;
+        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
+        this.map = mapReadable || map2;
+        this.pipeTo = null;
+        this.afterRead = afterRead.bind(this);
+        this.afterUpdateNextTick = updateReadNT.bind(this);
       }
-      if (!data.event.cancelable) {
-        return;
+      get ended() {
+        return (this.stream._duplexState & READ_DONE) !== 0;
       }
-      data.canceled = true;
-      if (typeof data.event.preventDefault === "function") {
-        data.event.preventDefault();
+      pipe(pipeTo, cb) {
+        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
+        if (typeof cb !== "function") cb = null;
+        this.stream._duplexState |= READ_PIPE_DRAINED;
+        this.pipeTo = pipeTo;
+        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
+        if (cb) this.stream.on("error", noop3);
+        if (isStreamx(pipeTo)) {
+          pipeTo._writableState.pipeline = this.pipeline;
+          if (cb) pipeTo.on("error", noop3);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+        } else {
+          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
+          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
+          pipeTo.on("error", onerror);
+          pipeTo.on("close", onclose);
+          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
+        }
+        pipeTo.on("drain", afterDrain.bind(this));
+        this.stream.emit("piping", pipeTo);
+        pipeTo.emit("pipe", this.stream);
       }
-    }
-    function Event2(eventTarget, event) {
-      privateData.set(this, {
-        eventTarget,
-        event,
-        eventPhase: 2,
-        currentTarget: eventTarget,
-        canceled: false,
-        stopped: false,
-        immediateStopped: false,
-        passiveListener: null,
-        timeStamp: event.timeStamp || Date.now()
-      });
-      Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
-      const keys = Object.keys(event);
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in this)) {
-          Object.defineProperty(this, key, defineRedirectDescriptor(key));
+      push(data) {
+        const stream = this.stream;
+        if (data === null) {
+          this.highWaterMark = 0;
+          stream._duplexState = (stream._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
+          return false;
+        }
+        if (this.map !== null) {
+          data = this.map(data);
+          if (data === null) {
+            stream._duplexState &= READ_PUSHED;
+            return this.buffered < this.highWaterMark;
+          }
         }
+        this.buffered += this.byteLength(data);
+        this.queue.push(data);
+        stream._duplexState = (stream._duplexState | READ_QUEUED) & READ_PUSHED;
+        return this.buffered < this.highWaterMark;
       }
-    }
-    Event2.prototype = {
-      /**
-       * The type of this event.
-       * @type {string}
-       */
-      get type() {
-        return pd(this).event.type;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get target() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       */
-      get currentTarget() {
-        return pd(this).currentTarget;
-      },
-      /**
-       * @returns {EventTarget[]} The composed path of this event.
-       */
-      composedPath() {
-        const currentTarget = pd(this).currentTarget;
-        if (currentTarget == null) {
-          return [];
+      shift() {
+        const data = this.queue.shift();
+        this.buffered -= this.byteLength(data);
+        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
+        return data;
+      }
+      unshift(data) {
+        const pending = [this.map !== null ? this.map(data) : data];
+        while (this.buffered > 0) pending.push(this.shift());
+        for (let i = 0; i < pending.length - 1; i++) {
+          const data2 = pending[i];
+          this.buffered += this.byteLength(data2);
+          this.queue.push(data2);
         }
-        return [currentTarget];
-      },
-      /**
-       * Constant of NONE.
-       * @type {number}
-       */
-      get NONE() {
-        return 0;
-      },
-      /**
-       * Constant of CAPTURING_PHASE.
-       * @type {number}
-       */
-      get CAPTURING_PHASE() {
-        return 1;
-      },
-      /**
-       * Constant of AT_TARGET.
-       * @type {number}
-       */
-      get AT_TARGET() {
-        return 2;
-      },
-      /**
-       * Constant of BUBBLING_PHASE.
-       * @type {number}
-       */
-      get BUBBLING_PHASE() {
-        return 3;
-      },
-      /**
-       * The target of this event.
-       * @type {number}
-       */
-      get eventPhase() {
-        return pd(this).eventPhase;
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopPropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.stopPropagation === "function") {
-          data.event.stopPropagation();
+        this.push(pending[pending.length - 1]);
+      }
+      read() {
+        const stream = this.stream;
+        if ((stream._duplexState & READ_STATUS) === READ_QUEUED) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
+          return data;
         }
-      },
-      /**
-       * Stop event bubbling.
-       * @returns {void}
-       */
-      stopImmediatePropagation() {
-        const data = pd(this);
-        data.stopped = true;
-        data.immediateStopped = true;
-        if (typeof data.event.stopImmediatePropagation === "function") {
-          data.event.stopImmediatePropagation();
+        if (this.readAhead === false) {
+          stream._duplexState |= READ_READ_AHEAD;
+          this.updateNextTick();
         }
-      },
-      /**
-       * The flag to be bubbling.
-       * @type {boolean}
-       */
-      get bubbles() {
-        return Boolean(pd(this).event.bubbles);
-      },
-      /**
-       * The flag to be cancelable.
-       * @type {boolean}
-       */
-      get cancelable() {
-        return Boolean(pd(this).event.cancelable);
-      },
-      /**
-       * Cancel this event.
-       * @returns {void}
-       */
-      preventDefault() {
-        setCancelFlag(pd(this));
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       */
-      get defaultPrevented() {
-        return pd(this).canceled;
-      },
-      /**
-       * The flag to be composed.
-       * @type {boolean}
-       */
-      get composed() {
-        return Boolean(pd(this).event.composed);
-      },
-      /**
-       * The unix time of this event.
-       * @type {number}
-       */
-      get timeStamp() {
-        return pd(this).timeStamp;
-      },
-      /**
-       * The target of this event.
-       * @type {EventTarget}
-       * @deprecated
-       */
-      get srcElement() {
-        return pd(this).eventTarget;
-      },
-      /**
-       * The flag to stop event bubbling.
-       * @type {boolean}
-       * @deprecated
-       */
-      get cancelBubble() {
-        return pd(this).stopped;
-      },
-      set cancelBubble(value) {
-        if (!value) {
-          return;
+        return null;
+      }
+      drain() {
+        const stream = this.stream;
+        while ((stream._duplexState & READ_STATUS) === READ_QUEUED && (stream._duplexState & READ_FLOWING) !== 0) {
+          const data = this.shift();
+          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
+          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
         }
-        const data = pd(this);
-        data.stopped = true;
-        if (typeof data.event.cancelBubble === "boolean") {
-          data.event.cancelBubble = true;
+      }
+      update() {
+        const stream = this.stream;
+        stream._duplexState |= READ_UPDATING;
+        do {
+          this.drain();
+          while (this.buffered < this.highWaterMark && (stream._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
+            stream._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
+            stream._read(this.afterRead);
+            this.drain();
+          }
+          if ((stream._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
+            stream._duplexState |= READ_EMITTED_READABLE;
+            stream.emit("readable");
+          }
+          if ((stream._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
+        } while (this.continueUpdate() === true);
+        stream._duplexState &= READ_NOT_UPDATING;
+      }
+      updateNonPrimary() {
+        const stream = this.stream;
+        if ((stream._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
+          stream._duplexState = (stream._duplexState | READ_DONE) & READ_NOT_ENDING;
+          stream.emit("end");
+          if ((stream._duplexState & AUTO_DESTROY) === DONE) stream._duplexState |= DESTROYING;
+          if (this.pipeTo !== null) this.pipeTo.end();
         }
-      },
-      /**
-       * The flag to indicate cancellation state.
-       * @type {boolean}
-       * @deprecated
-       */
-      get returnValue() {
-        return !pd(this).canceled;
-      },
-      set returnValue(value) {
-        if (!value) {
-          setCancelFlag(pd(this));
+        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
+          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
+            stream._duplexState |= ACTIVE;
+            stream._destroy(afterDestroy.bind(this));
+          }
+          return;
         }
-      },
-      /**
-       * Initialize this event object. But do nothing under event dispatching.
-       * @param {string} type The event type.
-       * @param {boolean} [bubbles=false] The flag to be possible to bubble up.
-       * @param {boolean} [cancelable=false] The flag to be possible to cancel.
-       * @deprecated
-       */
-      initEvent() {
+        if ((stream._duplexState & IS_OPENING) === OPENING) {
+          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
+          stream._open(afterOpen.bind(this));
+        }
+      }
+      continueUpdate() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        return true;
+      }
+      updateCallback() {
+        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
+        else this.updateNextTick();
+      }
+      updateNextTick() {
+        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
+        this.stream._duplexState |= READ_NEXT_TICK;
+        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
       }
     };
-    Object.defineProperty(Event2.prototype, "constructor", {
-      value: Event2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
-      Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
-      wrappers.set(window.Event.prototype, Event2);
-    }
-    function defineRedirectDescriptor(key) {
-      return {
-        get() {
-          return pd(this).event[key];
-        },
-        set(value) {
-          pd(this).event[key] = value;
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineCallDescriptor(key) {
-      return {
-        value() {
-          const event = pd(this).event;
-          return event[key].apply(event, arguments);
-        },
-        configurable: true,
-        enumerable: true
-      };
-    }
-    function defineWrapper(BaseEvent, proto) {
-      const keys = Object.keys(proto);
-      if (keys.length === 0) {
-        return BaseEvent;
+    var TransformState = class {
+      constructor(stream) {
+        this.data = null;
+        this.afterTransform = afterTransform.bind(stream);
+        this.afterFinal = null;
       }
-      function CustomEvent(eventTarget, event) {
-        BaseEvent.call(this, eventTarget, event);
+    };
+    var Pipeline = class {
+      constructor(src, dst, cb) {
+        this.from = src;
+        this.to = dst;
+        this.afterPipe = cb;
+        this.error = null;
+        this.pipeToFinished = false;
       }
-      CustomEvent.prototype = Object.create(BaseEvent.prototype, {
-        constructor: { value: CustomEvent, configurable: true, writable: true }
-      });
-      for (let i = 0; i < keys.length; ++i) {
-        const key = keys[i];
-        if (!(key in BaseEvent.prototype)) {
-          const descriptor = Object.getOwnPropertyDescriptor(proto, key);
-          const isFunc = typeof descriptor.value === "function";
-          Object.defineProperty(
-            CustomEvent.prototype,
-            key,
-            isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
-          );
+      finished() {
+        this.pipeToFinished = true;
+      }
+      done(stream, err) {
+        if (err) this.error = err;
+        if (stream === this.to) {
+          this.to = null;
+          if (this.from !== null) {
+            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
+              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+            }
+            return;
+          }
+        }
+        if (stream === this.from) {
+          this.from = null;
+          if (this.to !== null) {
+            if ((stream._duplexState & READ_DONE) === 0) {
+              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
+            }
+            return;
+          }
         }
+        if (this.afterPipe !== null) this.afterPipe(this.error);
+        this.to = this.from = this.afterPipe = null;
       }
-      return CustomEvent;
+    };
+    function afterDrain() {
+      this.stream._duplexState |= READ_PIPE_DRAINED;
+      this.updateCallback();
     }
-    function getWrapper(proto) {
-      if (proto == null || proto === Object.prototype) {
-        return Event2;
+    function afterFinal(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      if ((stream._duplexState & DESTROY_STATUS) === 0) {
+        stream._duplexState |= WRITE_DONE;
+        stream.emit("finish");
       }
-      let wrapper = wrappers.get(proto);
-      if (wrapper == null) {
-        wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
-        wrappers.set(proto, wrapper);
+      if ((stream._duplexState & AUTO_DESTROY) === DONE) {
+        stream._duplexState |= DESTROYING;
       }
-      return wrapper;
-    }
-    function wrapEvent(eventTarget, event) {
-      const Wrapper = getWrapper(Object.getPrototypeOf(event));
-      return new Wrapper(eventTarget, event);
-    }
-    function isStopped(event) {
-      return pd(event).immediateStopped;
-    }
-    function setEventPhase(event, eventPhase) {
-      pd(event).eventPhase = eventPhase;
-    }
-    function setCurrentTarget(event, currentTarget) {
-      pd(event).currentTarget = currentTarget;
-    }
-    function setPassiveListener(event, passiveListener) {
-      pd(event).passiveListener = passiveListener;
+      stream._duplexState &= WRITE_NOT_ACTIVE;
+      if ((stream._duplexState & WRITE_UPDATING) === 0) this.update();
+      else this.updateNextTick();
     }
-    var listenersMap = /* @__PURE__ */ new WeakMap();
-    var CAPTURE = 1;
-    var BUBBLE = 2;
-    var ATTRIBUTE = 3;
-    function isObject2(x) {
-      return x !== null && typeof x === "object";
+    function afterDestroy(err) {
+      const stream = this.stream;
+      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
+      if (err) stream.emit("error", err);
+      stream._duplexState |= DESTROYED;
+      stream.emit("close");
+      const rs = stream._readableState;
+      const ws = stream._writableState;
+      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream, err);
+      if (ws !== null) {
+        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
+        if (ws.pipeline !== null) ws.pipeline.done(stream, err);
+      }
     }
-    function getListeners(eventTarget) {
-      const listeners = listenersMap.get(eventTarget);
-      if (listeners == null) {
-        throw new TypeError(
-          "'this' is expected an EventTarget object, but got another value."
-        );
+    function afterWrite(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      stream._duplexState &= WRITE_NOT_ACTIVE;
+      if (this.drains !== null) tickDrains(this.drains);
+      if ((stream._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
+        stream._duplexState &= WRITE_DRAINED;
+        if ((stream._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
+          stream.emit("drain");
+        }
       }
-      return listeners;
+      this.updateCallback();
     }
-    function defineEventAttributeDescriptor(eventName) {
-      return {
-        get() {
-          const listeners = getListeners(this);
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              return node.listener;
-            }
-            node = node.next;
-          }
-          return null;
-        },
-        set(listener) {
-          if (typeof listener !== "function" && !isObject2(listener)) {
-            listener = null;
-          }
-          const listeners = getListeners(this);
-          let prev = null;
-          let node = listeners.get(eventName);
-          while (node != null) {
-            if (node.listenerType === ATTRIBUTE) {
-              if (prev !== null) {
-                prev.next = node.next;
-              } else if (node.next !== null) {
-                listeners.set(eventName, node.next);
-              } else {
-                listeners.delete(eventName);
-              }
-            } else {
-              prev = node;
-            }
-            node = node.next;
-          }
-          if (listener !== null) {
-            const newNode = {
-              listener,
-              listenerType: ATTRIBUTE,
-              passive: false,
-              once: false,
-              next: null
-            };
-            if (prev === null) {
-              listeners.set(eventName, newNode);
-            } else {
-              prev.next = newNode;
-            }
-          }
-        },
-        configurable: true,
-        enumerable: true
-      };
+    function afterRead(err) {
+      if (err) this.stream.destroy(err);
+      this.stream._duplexState &= READ_NOT_ACTIVE;
+      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
+      this.updateCallback();
     }
-    function defineEventAttribute(eventTargetPrototype, eventName) {
-      Object.defineProperty(
-        eventTargetPrototype,
-        `on${eventName}`,
-        defineEventAttributeDescriptor(eventName)
-      );
+    function updateReadNT() {
+      if ((this.stream._duplexState & READ_UPDATING) === 0) {
+        this.stream._duplexState &= READ_NOT_NEXT_TICK;
+        this.update();
+      }
     }
-    function defineCustomEventTarget(eventNames) {
-      function CustomEventTarget() {
-        EventTarget2.call(this);
+    function updateWriteNT() {
+      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
+        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
+        this.update();
       }
-      CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
-        constructor: {
-          value: CustomEventTarget,
-          configurable: true,
-          writable: true
+    }
+    function tickDrains(drains) {
+      for (let i = 0; i < drains.length; i++) {
+        if (--drains[i].writes === 0) {
+          drains.shift().resolve(true);
+          i--;
         }
-      });
-      for (let i = 0; i < eventNames.length; ++i) {
-        defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
       }
-      return CustomEventTarget;
     }
-    function EventTarget2() {
-      if (this instanceof EventTarget2) {
-        listenersMap.set(this, /* @__PURE__ */ new Map());
-        return;
+    function afterOpen(err) {
+      const stream = this.stream;
+      if (err) stream.destroy(err);
+      if ((stream._duplexState & DESTROYING) === 0) {
+        if ((stream._duplexState & READ_PRIMARY_STATUS) === 0) stream._duplexState |= READ_PRIMARY;
+        if ((stream._duplexState & WRITE_PRIMARY_STATUS) === 0) stream._duplexState |= WRITE_PRIMARY;
+        stream.emit("open");
       }
-      if (arguments.length === 1 && Array.isArray(arguments[0])) {
-        return defineCustomEventTarget(arguments[0]);
+      stream._duplexState &= NOT_ACTIVE;
+      if (stream._writableState !== null) {
+        stream._writableState.updateCallback();
       }
-      if (arguments.length > 0) {
-        const types = new Array(arguments.length);
-        for (let i = 0; i < arguments.length; ++i) {
-          types[i] = arguments[i];
-        }
-        return defineCustomEventTarget(types);
+      if (stream._readableState !== null) {
+        stream._readableState.updateCallback();
       }
-      throw new TypeError("Cannot call a class as a function");
     }
-    EventTarget2.prototype = {
-      /**
-       * Add a given listener to this event target.
-       * @param {string} eventName The event name to add.
-       * @param {Function} listener The listener to add.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      addEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
+    function afterTransform(err, data) {
+      if (data !== void 0 && data !== null) this.push(data);
+      this._writableState.afterWrite(err);
+    }
+    function newListener(name) {
+      if (this._readableState !== null) {
+        if (name === "data") {
+          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
+          this._readableState.updateNextTick();
         }
-        if (typeof listener !== "function" && !isObject2(listener)) {
-          throw new TypeError("'listener' should be a function or an object.");
+        if (name === "readable") {
+          this._duplexState |= READ_EMIT_READABLE;
+          this._readableState.updateNextTick();
         }
-        const listeners = getListeners(this);
-        const optionsIsObj = isObject2(options);
-        const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        const newNode = {
-          listener,
-          listenerType,
-          passive: optionsIsObj && Boolean(options.passive),
-          once: optionsIsObj && Boolean(options.once),
-          next: null
-        };
-        let node = listeners.get(eventName);
-        if (node === void 0) {
-          listeners.set(eventName, newNode);
-          return;
+      }
+      if (this._writableState !== null) {
+        if (name === "drain") {
+          this._duplexState |= WRITE_EMIT_DRAIN;
+          this._writableState.updateNextTick();
         }
-        let prev = null;
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            return;
+      }
+    }
+    var Stream = class extends EventEmitter {
+      constructor(opts) {
+        super();
+        this._duplexState = 0;
+        this._readableState = null;
+        this._writableState = null;
+        if (opts) {
+          if (opts.open) this._open = opts.open;
+          if (opts.destroy) this._destroy = opts.destroy;
+          if (opts.predestroy) this._predestroy = opts.predestroy;
+          if (opts.signal) {
+            opts.signal.addEventListener("abort", abort.bind(this));
           }
-          prev = node;
-          node = node.next;
-        }
-        prev.next = newNode;
-      },
-      /**
-       * Remove a given listener from this event target.
-       * @param {string} eventName The event name to remove.
-       * @param {Function} listener The listener to remove.
-       * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
-       * @returns {void}
-       */
-      removeEventListener(eventName, listener, options) {
-        if (listener == null) {
-          return;
         }
-        const listeners = getListeners(this);
-        const capture = isObject2(options) ? Boolean(options.capture) : Boolean(options);
-        const listenerType = capture ? CAPTURE : BUBBLE;
-        let prev = null;
-        let node = listeners.get(eventName);
-        while (node != null) {
-          if (node.listener === listener && node.listenerType === listenerType) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-            return;
+        this.on("newListener", newListener);
+      }
+      _open(cb) {
+        cb(null);
+      }
+      _destroy(cb) {
+        cb(null);
+      }
+      _predestroy() {
+      }
+      get readable() {
+        return this._readableState !== null ? true : void 0;
+      }
+      get writable() {
+        return this._writableState !== null ? true : void 0;
+      }
+      get destroyed() {
+        return (this._duplexState & DESTROYED) !== 0;
+      }
+      get destroying() {
+        return (this._duplexState & DESTROY_STATUS) !== 0;
+      }
+      destroy(err) {
+        if ((this._duplexState & DESTROY_STATUS) === 0) {
+          if (!err) err = STREAM_DESTROYED;
+          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
+          if (this._readableState !== null) {
+            this._readableState.highWaterMark = 0;
+            this._readableState.error = err;
           }
-          prev = node;
-          node = node.next;
+          if (this._writableState !== null) {
+            this._writableState.highWaterMark = 0;
+            this._writableState.error = err;
+          }
+          this._duplexState |= PREDESTROYING;
+          this._predestroy();
+          this._duplexState &= NOT_PREDESTROYING;
+          if (this._readableState !== null) this._readableState.updateNextTick();
+          if (this._writableState !== null) this._writableState.updateNextTick();
         }
-      },
-      /**
-       * Dispatch a given event.
-       * @param {Event|{type:string}} event The event to dispatch.
-       * @returns {boolean} `false` if canceled.
-       */
-      dispatchEvent(event) {
-        if (event == null || typeof event.type !== "string") {
-          throw new TypeError('"event.type" should be a string.');
+      }
+    };
+    var Readable = class _Readable extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
+        this._readableState = new ReadableState(this, opts);
+        if (opts) {
+          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
+          if (opts.read) this._read = opts.read;
+          if (opts.eagerOpen) this._readableState.updateNextTick();
+          if (opts.encoding) this.setEncoding(opts.encoding);
         }
-        const listeners = getListeners(this);
-        const eventName = event.type;
-        let node = listeners.get(eventName);
-        if (node == null) {
-          return true;
+      }
+      setEncoding(encoding) {
+        const dec = new TextDecoder2(encoding);
+        const map2 = this._readableState.map || echo;
+        this._readableState.map = mapOrSkip;
+        return this;
+        function mapOrSkip(data) {
+          const next = dec.push(data);
+          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
         }
-        const wrappedEvent = wrapEvent(this, event);
-        let prev = null;
-        while (node != null) {
-          if (node.once) {
-            if (prev !== null) {
-              prev.next = node.next;
-            } else if (node.next !== null) {
-              listeners.set(eventName, node.next);
-            } else {
-              listeners.delete(eventName);
-            }
-          } else {
-            prev = node;
+      }
+      _read(cb) {
+        cb(null);
+      }
+      pipe(dest, cb) {
+        this._readableState.updateNextTick();
+        this._readableState.pipe(dest, cb);
+        return dest;
+      }
+      read() {
+        this._readableState.updateNextTick();
+        return this._readableState.read();
+      }
+      push(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.push(data);
+      }
+      unshift(data) {
+        this._readableState.updateNextTick();
+        return this._readableState.unshift(data);
+      }
+      resume() {
+        this._duplexState |= READ_RESUMED_READ_AHEAD;
+        this._readableState.updateNextTick();
+        return this;
+      }
+      pause() {
+        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
+        return this;
+      }
+      static _fromAsyncIterator(ite, opts) {
+        let destroy;
+        const rs = new _Readable({
+          ...opts,
+          read(cb) {
+            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
+          },
+          predestroy() {
+            destroy = ite.return();
+          },
+          destroy(cb) {
+            if (!destroy) return cb(null);
+            destroy.then(cb.bind(null, null)).catch(cb);
           }
-          setPassiveListener(
-            wrappedEvent,
-            node.passive ? node.listener : null
-          );
-          if (typeof node.listener === "function") {
-            try {
-              node.listener.call(this, wrappedEvent);
-            } catch (err) {
-              if (typeof console !== "undefined" && typeof console.error === "function") {
-                console.error(err);
-              }
-            }
-          } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
-            node.listener.handleEvent(wrappedEvent);
+        });
+        return rs;
+        function push(data) {
+          if (data.done) rs.push(null);
+          else rs.push(data.value);
+        }
+      }
+      static from(data, opts) {
+        if (isReadStreamx(data)) return data;
+        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
+        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
+        let i = 0;
+        return new _Readable({
+          ...opts,
+          read(cb) {
+            this.push(i === data.length ? null : data[i++]);
+            cb(null);
           }
-          if (isStopped(wrappedEvent)) {
-            break;
+        });
+      }
+      static isBackpressured(rs) {
+        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
+      }
+      static isPaused(rs) {
+        return (rs._duplexState & READ_RESUMED) === 0;
+      }
+      [asyncIterator]() {
+        const stream = this;
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("readable", onreadable);
+        this.on("close", onclose);
+        return {
+          [asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(function(resolve2, reject) {
+              promiseResolve = resolve2;
+              promiseReject = reject;
+              const data = stream.read();
+              if (data !== null) ondata(data);
+              else if ((stream._duplexState & DESTROYED) !== 0) ondata(null);
+            });
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
           }
-          node = node.next;
+        };
+        function onreadable() {
+          if (promiseResolve !== null) ondata(stream.read());
+        }
+        function onclose() {
+          if (promiseResolve !== null) ondata(null);
+        }
+        function ondata(data) {
+          if (promiseReject === null) return;
+          if (error3) promiseReject(error3);
+          else if (data === null && (stream._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
+          else promiseResolve({ value: data, done: data === null });
+          promiseReject = promiseResolve = null;
+        }
+        function destroy(err) {
+          stream.destroy(err);
+          return new Promise((resolve2, reject) => {
+            if (stream._duplexState & DESTROYED) return resolve2({ value: void 0, done: true });
+            stream.once("close", function() {
+              if (err) reject(err);
+              else resolve2({ value: void 0, done: true });
+            });
+          });
         }
-        setPassiveListener(wrappedEvent, null);
-        setEventPhase(wrappedEvent, 0);
-        setCurrentTarget(wrappedEvent, null);
-        return !wrappedEvent.defaultPrevented;
       }
     };
-    Object.defineProperty(EventTarget2.prototype, "constructor", {
-      value: EventTarget2,
-      configurable: true,
-      writable: true
-    });
-    if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
-      Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
-    }
-    exports2.defineEventAttribute = defineEventAttribute;
-    exports2.EventTarget = EventTarget2;
-    exports2.default = EventTarget2;
-    module2.exports = EventTarget2;
-    module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
-    module2.exports.defineEventAttribute = defineEventAttribute;
-  }
-});
-
-// node_modules/abort-controller/dist/abort-controller.js
-var require_abort_controller = __commonJS({
-  "node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    var eventTargetShim = require_event_target_shim();
-    var AbortSignal2 = class extends eventTargetShim.EventTarget {
-      /**
-       * AbortSignal cannot be constructed directly.
-       */
-      constructor() {
-        super();
-        throw new TypeError("AbortSignal cannot be constructed directly");
+    var Writable = class extends Stream {
+      constructor(opts) {
+        super(opts);
+        this._duplexState |= OPENING | READ_DONE;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
+          if (opts.eagerOpen) this._writableState.updateNextTick();
+        }
       }
-      /**
-       * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
-       */
-      get aborted() {
-        const aborted = abortedFlags.get(this);
-        if (typeof aborted !== "boolean") {
-          throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
+      cork() {
+        this._duplexState |= WRITE_CORKED;
+      }
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
+      }
+      _writev(batch, cb) {
+        cb(null);
+      }
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
+      }
+      _final(cb) {
+        cb(null);
+      }
+      static isBackpressured(ws) {
+        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
+      }
+      static drained(ws) {
+        if (ws.destroyed) return Promise.resolve(false);
+        const state = ws._writableState;
+        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
+        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
+        if (writes === 0) return Promise.resolve(true);
+        if (state.drains === null) state.drains = [];
+        return new Promise((resolve2) => {
+          state.drains.push({ writes, resolve: resolve2 });
+        });
+      }
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
+      }
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
+      }
+    };
+    var Duplex = class extends Readable {
+      // and Writable
+      constructor(opts) {
+        super(opts);
+        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
+        this._writableState = new WritableState(this, opts);
+        if (opts) {
+          if (opts.writev) this._writev = opts.writev;
+          if (opts.write) this._write = opts.write;
+          if (opts.final) this._final = opts.final;
         }
-        return aborted;
       }
-    };
-    eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
-    function createAbortSignal() {
-      const signal = Object.create(AbortSignal2.prototype);
-      eventTargetShim.EventTarget.call(signal);
-      abortedFlags.set(signal, false);
-      return signal;
-    }
-    function abortSignal(signal) {
-      if (abortedFlags.get(signal) !== false) {
-        return;
+      cork() {
+        this._duplexState |= WRITE_CORKED;
+      }
+      uncork() {
+        this._duplexState &= WRITE_NOT_CORKED;
+        this._writableState.updateNextTick();
+      }
+      _writev(batch, cb) {
+        cb(null);
+      }
+      _write(data, cb) {
+        this._writableState.autoBatch(data, cb);
+      }
+      _final(cb) {
+        cb(null);
+      }
+      write(data) {
+        this._writableState.updateNextTick();
+        return this._writableState.push(data);
+      }
+      end(data) {
+        this._writableState.updateNextTick();
+        this._writableState.end(data);
+        return this;
+      }
+    };
+    var Transform = class extends Duplex {
+      constructor(opts) {
+        super(opts);
+        this._transformState = new TransformState(this);
+        if (opts) {
+          if (opts.transform) this._transform = opts.transform;
+          if (opts.flush) this._flush = opts.flush;
+        }
+      }
+      _write(data, cb) {
+        if (this._readableState.buffered >= this._readableState.highWaterMark) {
+          this._transformState.data = data;
+        } else {
+          this._transform(data, this._transformState.afterTransform);
+        }
+      }
+      _read(cb) {
+        if (this._transformState.data !== null) {
+          const data = this._transformState.data;
+          this._transformState.data = null;
+          cb(null);
+          this._transform(data, this._transformState.afterTransform);
+        } else {
+          cb(null);
+        }
+      }
+      destroy(err) {
+        super.destroy(err);
+        if (this._transformState.data !== null) {
+          this._transformState.data = null;
+          this._transformState.afterTransform();
+        }
+      }
+      _transform(data, cb) {
+        cb(null, data);
+      }
+      _flush(cb) {
+        cb(null);
       }
-      abortedFlags.set(signal, true);
-      signal.dispatchEvent({ type: "abort" });
+      _final(cb) {
+        this._transformState.afterFinal = cb;
+        this._flush(transformAfterFlush.bind(this));
+      }
+    };
+    var PassThrough = class extends Transform {
+    };
+    function transformAfterFlush(err, data) {
+      const cb = this._transformState.afterFinal;
+      if (err) return cb(err);
+      if (data !== null && data !== void 0) this.push(data);
+      this.push(null);
+      cb(null);
     }
-    var abortedFlags = /* @__PURE__ */ new WeakMap();
-    Object.defineProperties(AbortSignal2.prototype, {
-      aborted: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortSignal"
+    function pipelinePromise(...streams) {
+      return new Promise((resolve2, reject) => {
+        return pipeline(...streams, (err) => {
+          if (err) return reject(err);
+          resolve2();
+        });
       });
     }
-    var AbortController2 = class {
-      /**
-       * Initialize this controller.
-       */
-      constructor() {
-        signals.set(this, createAbortSignal());
+    function pipeline(stream, ...streams) {
+      const all = Array.isArray(stream) ? [...stream, ...streams] : [stream, ...streams];
+      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
+      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
+      let src = all[0];
+      let dest = null;
+      let error3 = null;
+      for (let i = 1; i < all.length; i++) {
+        dest = all[i];
+        if (isStreamx(src)) {
+          src.pipe(dest, onerror);
+        } else {
+          errorHandle(src, true, i > 1, onerror);
+          src.pipe(dest);
+        }
+        src = dest;
       }
-      /**
-       * Returns the `AbortSignal` object associated with this object.
-       */
-      get signal() {
-        return getSignal(this);
+      if (done) {
+        let fin = false;
+        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
+        dest.on("error", (err) => {
+          if (error3 === null) error3 = err;
+        });
+        dest.on("finish", () => {
+          fin = true;
+          if (!autoDestroy) done(error3);
+        });
+        if (autoDestroy) {
+          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
+        }
       }
-      /**
-       * Abort and signal to any observers that the associated activity is to be aborted.
-       */
-      abort() {
-        abortSignal(getSignal(this));
+      return dest;
+      function errorHandle(s, rd, wr, onerror2) {
+        s.on("error", onerror2);
+        s.on("close", onclose);
+        function onclose() {
+          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
+          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
+        }
       }
-    };
-    var signals = /* @__PURE__ */ new WeakMap();
-    function getSignal(controller) {
-      const signal = signals.get(controller);
-      if (signal == null) {
-        throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
+      function onerror(err) {
+        if (!err || error3) return;
+        error3 = err;
+        for (const s of all) {
+          s.destroy(err);
+        }
       }
-      return signal;
     }
-    Object.defineProperties(AbortController2.prototype, {
-      signal: { enumerable: true },
-      abort: { enumerable: true }
-    });
-    if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
-      Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
-        configurable: true,
-        value: "AbortController"
-      });
+    function echo(s) {
+      return s;
     }
-    exports2.AbortController = AbortController2;
-    exports2.AbortSignal = AbortSignal2;
-    exports2.default = AbortController2;
-    module2.exports = AbortController2;
-    module2.exports.AbortController = module2.exports["default"] = AbortController2;
-    module2.exports.AbortSignal = AbortSignal2;
+    function isStream(stream) {
+      return !!stream._readableState || !!stream._writableState;
+    }
+    function isStreamx(stream) {
+      return typeof stream._duplexState === "number" && isStream(stream);
+    }
+    function isEnded(stream) {
+      return !!stream._readableState && stream._readableState.ended;
+    }
+    function isFinished(stream) {
+      return !!stream._writableState && stream._writableState.ended;
+    }
+    function getStreamError(stream, opts = {}) {
+      const err = stream._readableState && stream._readableState.error || stream._writableState && stream._writableState.error;
+      return !opts.all && err === STREAM_DESTROYED ? null : err;
+    }
+    function isReadStreamx(stream) {
+      return isStreamx(stream) && stream.readable;
+    }
+    function isTypedArray(data) {
+      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
+    }
+    function defaultByteLength(data) {
+      return isTypedArray(data) ? data.byteLength : 1024;
+    }
+    function noop3() {
+    }
+    function abort() {
+      this.destroy(new Error("Stream aborted."));
+    }
+    function isWritev(s) {
+      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
+    }
+    module2.exports = {
+      pipeline,
+      pipelinePromise,
+      isStream,
+      isStreamx,
+      isEnded,
+      isFinished,
+      getStreamError,
+      Stream,
+      Writable,
+      Readable,
+      Duplex,
+      Transform,
+      // Export PassThrough for compatibility with Node.js core's stream module
+      PassThrough
+    };
   }
 });
 
-// node_modules/readable-stream/lib/ours/util.js
-var require_util19 = __commonJS({
-  "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) {
-    "use strict";
-    var bufferModule = require("buffer");
-    var { kResistStopPropagation, SymbolDispose } = require_primordials();
-    var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal;
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var AsyncFunction = Object.getPrototypeOf(async function() {
-    }).constructor;
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
+// node_modules/tar-stream/headers.js
+var require_headers3 = __commonJS({
+  "node_modules/tar-stream/headers.js"(exports2) {
+    var b4a = require_b4a();
+    var ZEROS = "0000000000000000000";
+    var SEVENS = "7777777777777777777";
+    var ZERO_OFFSET = "0".charCodeAt(0);
+    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
+    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
+    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
+    var GNU_VER = b4a.from([32, 0]);
+    var MASK = 4095;
+    var MAGIC_OFFSET = 257;
+    var VERSION_OFFSET = 263;
+    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
+      return decodeStr(buf, 0, buf.length, encoding);
     };
-    var validateAbortSignal = (signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal);
+    exports2.encodePax = function encodePax(opts) {
+      let result = "";
+      if (opts.name) result += addLength(" path=" + opts.name + "\n");
+      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
+      const pax = opts.pax;
+      if (pax) {
+        for (const key in pax) {
+          result += addLength(" " + key + "=" + pax[key] + "\n");
+        }
       }
+      return b4a.from(result);
     };
-    var validateFunction = (value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value);
+    exports2.decodePax = function decodePax(buf) {
+      const result = {};
+      while (buf.length) {
+        let i = 0;
+        while (i < buf.length && buf[i] !== 32) i++;
+        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
+        if (!len) return result;
+        const b = b4a.toString(buf.subarray(i + 1, len - 1));
+        const keyIndex = b.indexOf("=");
+        if (keyIndex === -1) return result;
+        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
+        buf = buf.subarray(len);
+      }
+      return result;
     };
-    var AggregateError = class extends Error {
-      constructor(errors) {
-        if (!Array.isArray(errors)) {
-          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
-        }
-        let message = "";
-        for (let i = 0; i < errors.length; i++) {
-          message += `    ${errors[i].stack}
-`;
-        }
-        super(message);
-        this.name = "AggregateError";
-        this.errors = errors;
+    exports2.encode = function encode(opts) {
+      const buf = b4a.alloc(512);
+      let name = opts.name;
+      let prefix = "";
+      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
+      if (b4a.byteLength(name) !== name.length) return null;
+      while (b4a.byteLength(name) > 100) {
+        const i = name.indexOf("/");
+        if (i === -1) return null;
+        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
+        name = name.slice(i + 1);
       }
+      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
+      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
+      b4a.write(buf, name);
+      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
+      b4a.write(buf, encodeOct(opts.uid, 6), 108);
+      b4a.write(buf, encodeOct(opts.gid, 6), 116);
+      encodeSize(opts.size, buf, 124);
+      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
+      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
+      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
+      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
+      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
+      if (opts.uname) b4a.write(buf, opts.uname, 265);
+      if (opts.gname) b4a.write(buf, opts.gname, 297);
+      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
+      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
+      if (prefix) b4a.write(buf, prefix, 345);
+      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
+      return buf;
     };
-    module2.exports = {
-      AggregateError,
-      kEmptyObject: Object.freeze({}),
-      once(callback) {
-        let called = false;
-        return function(...args) {
-          if (called) {
-            return;
-          }
-          called = true;
-          callback.apply(this, args);
-        };
-      },
-      createDeferredPromise: function() {
-        let resolve2;
-        let reject;
-        const promise = new Promise((res, rej) => {
-          resolve2 = res;
-          reject = rej;
-        });
-        return {
-          promise,
-          resolve: resolve2,
-          reject
-        };
-      },
-      promisify(fn) {
-        return new Promise((resolve2, reject) => {
-          fn((err, ...args) => {
-            if (err) {
-              return reject(err);
-            }
-            return resolve2(...args);
-          });
-        });
-      },
-      debuglog() {
-        return function() {
-        };
-      },
-      format(format, ...args) {
-        return format.replace(/%([sdifj])/g, function(...[_unused, type2]) {
-          const replacement = args.shift();
-          if (type2 === "f") {
-            return replacement.toFixed(6);
-          } else if (type2 === "j") {
-            return JSON.stringify(replacement);
-          } else if (type2 === "s" && typeof replacement === "object") {
-            const ctor = replacement.constructor !== Object ? replacement.constructor.name : "";
-            return `${ctor} {}`.trim();
-          } else {
-            return replacement.toString();
-          }
-        });
-      },
-      inspect(value) {
-        switch (typeof value) {
-          case "string":
-            if (value.includes("'")) {
-              if (!value.includes('"')) {
-                return `"${value}"`;
-              } else if (!value.includes("`") && !value.includes("${")) {
-                return `\`${value}\``;
-              }
-            }
-            return `'${value}'`;
-          case "number":
-            if (isNaN(value)) {
-              return "NaN";
-            } else if (Object.is(value, -0)) {
-              return String(value);
-            }
-            return value;
-          case "bigint":
-            return `${String(value)}n`;
-          case "boolean":
-          case "undefined":
-            return String(value);
-          case "object":
-            return "{}";
-        }
-      },
-      types: {
-        isAsyncFunction(fn) {
-          return fn instanceof AsyncFunction;
-        },
-        isArrayBufferView(arr) {
-          return ArrayBuffer.isView(arr);
-        }
-      },
-      isBlob,
-      deprecate(fn, message) {
-        return fn;
-      },
-      addAbortListener: require("events").addAbortListener || function addAbortListener(signal, listener) {
-        if (signal === void 0) {
-          throw new ERR_INVALID_ARG_TYPE("signal", "AbortSignal", signal);
-        }
-        validateAbortSignal(signal, "signal");
-        validateFunction(listener, "listener");
-        let removeEventListener;
-        if (signal.aborted) {
-          queueMicrotask(() => listener());
-        } else {
-          signal.addEventListener("abort", listener, {
-            __proto__: null,
-            once: true,
-            [kResistStopPropagation]: true
-          });
-          removeEventListener = () => {
-            signal.removeEventListener("abort", listener);
-          };
-        }
-        return {
-          __proto__: null,
-          [SymbolDispose]() {
-            var _removeEventListener;
-            (_removeEventListener = removeEventListener) === null || _removeEventListener === void 0 ? void 0 : _removeEventListener();
-          }
-        };
-      },
-      AbortSignalAny: AbortSignal2.any || function AbortSignalAny(signals) {
-        if (signals.length === 1) {
-          return signals[0];
+    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
+      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
+      let name = decodeStr(buf, 0, 100, filenameEncoding);
+      const mode = decodeOct(buf, 100, 8);
+      const uid = decodeOct(buf, 108, 8);
+      const gid = decodeOct(buf, 116, 8);
+      const size = decodeOct(buf, 124, 12);
+      const mtime = decodeOct(buf, 136, 12);
+      const type2 = toType(typeflag);
+      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
+      const uname = decodeStr(buf, 265, 32);
+      const gname = decodeStr(buf, 297, 32);
+      const devmajor = decodeOct(buf, 329, 8);
+      const devminor = decodeOct(buf, 337, 8);
+      const c = cksum(buf);
+      if (c === 8 * 32) return null;
+      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
+      if (isUSTAR(buf)) {
+        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
+      } else if (isGNU(buf)) {
+      } else {
+        if (!allowUnknownFormat) {
+          throw new Error("Invalid tar header: unknown format.");
         }
-        const ac = new AbortController2();
-        const abort = () => ac.abort();
-        signals.forEach((signal) => {
-          validateAbortSignal(signal, "signals");
-          signal.addEventListener("abort", abort, {
-            once: true
-          });
-        });
-        ac.signal.addEventListener(
-          "abort",
-          () => {
-            signals.forEach((signal) => signal.removeEventListener("abort", abort));
-          },
-          {
-            once: true
-          }
-        );
-        return ac.signal;
       }
-    };
-    module2.exports.promisify.custom = /* @__PURE__ */ Symbol.for("nodejs.util.promisify.custom");
-  }
-});
-
-// node_modules/readable-stream/lib/ours/errors.js
-var require_errors4 = __commonJS({
-  "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) {
-    "use strict";
-    var { format, inspect, AggregateError: CustomAggregateError } = require_util19();
-    var AggregateError = globalThis.AggregateError || CustomAggregateError;
-    var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError");
-    var kTypes = [
-      "string",
-      "function",
-      "number",
-      "object",
-      // Accept 'Function' and 'Object' as alternative to the lower cased version.
-      "Function",
-      "Object",
-      "boolean",
-      "bigint",
-      "symbol"
-    ];
-    var classRegExp = /^([A-Z][a-z0-9]*)+$/;
-    var nodeInternalPrefix = "__node_internal_";
-    var codes = {};
-    function assert(value, message) {
-      if (!value) {
-        throw new codes.ERR_INTERNAL_ASSERTION(message);
+      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
+      return {
+        name,
+        mode,
+        uid,
+        gid,
+        size,
+        mtime: new Date(1e3 * mtime),
+        type: type2,
+        linkname,
+        uname,
+        gname,
+        devmajor,
+        devminor,
+        pax: null
+      };
+    };
+    function isUSTAR(buf) {
+      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
+    }
+    function isGNU(buf) {
+      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
+    }
+    function clamp(index, len, defaultValue) {
+      if (typeof index !== "number") return defaultValue;
+      index = ~~index;
+      if (index >= len) return len;
+      if (index >= 0) return index;
+      index += len;
+      if (index >= 0) return index;
+      return 0;
+    }
+    function toType(flag) {
+      switch (flag) {
+        case 0:
+          return "file";
+        case 1:
+          return "link";
+        case 2:
+          return "symlink";
+        case 3:
+          return "character-device";
+        case 4:
+          return "block-device";
+        case 5:
+          return "directory";
+        case 6:
+          return "fifo";
+        case 7:
+          return "contiguous-file";
+        case 72:
+          return "pax-header";
+        case 55:
+          return "pax-global-header";
+        case 27:
+          return "gnu-long-link-path";
+        case 28:
+        case 30:
+          return "gnu-long-path";
+      }
+      return null;
+    }
+    function toTypeflag(flag) {
+      switch (flag) {
+        case "file":
+          return 0;
+        case "link":
+          return 1;
+        case "symlink":
+          return 2;
+        case "character-device":
+          return 3;
+        case "block-device":
+          return 4;
+        case "directory":
+          return 5;
+        case "fifo":
+          return 6;
+        case "contiguous-file":
+          return 7;
+        case "pax-header":
+          return 72;
+      }
+      return 0;
+    }
+    function indexOf(block, num, offset, end) {
+      for (; offset < end; offset++) {
+        if (block[offset] === num) return offset;
       }
+      return end;
     }
-    function addNumericalSeparator(val) {
-      let res = "";
-      let i = val.length;
-      const start = val[0] === "-" ? 1 : 0;
-      for (; i >= start + 4; i -= 3) {
-        res = `_${val.slice(i - 3, i)}${res}`;
+    function cksum(block) {
+      let sum = 8 * 32;
+      for (let i = 0; i < 148; i++) sum += block[i];
+      for (let j = 156; j < 512; j++) sum += block[j];
+      return sum;
+    }
+    function encodeOct(val, n) {
+      val = val.toString(8);
+      if (val.length > n) return SEVENS.slice(0, n) + " ";
+      return ZEROS.slice(0, n - val.length) + val + " ";
+    }
+    function encodeSizeBin(num, buf, off) {
+      buf[off] = 128;
+      for (let i = 11; i > 0; i--) {
+        buf[off + i] = num & 255;
+        num = Math.floor(num / 256);
       }
-      return `${val.slice(0, i)}${res}`;
     }
-    function getMessage(key, msg, args) {
-      if (typeof msg === "function") {
-        assert(
-          msg.length <= args.length,
-          // Default options do not count.
-          `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`
-        );
-        return msg(...args);
+    function encodeSize(num, buf, off) {
+      if (num.toString(8).length > 11) {
+        encodeSizeBin(num, buf, off);
+      } else {
+        b4a.write(buf, encodeOct(num, 11), off);
       }
-      const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length;
-      assert(
-        expectedLength === args.length,
-        `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
-      );
-      if (args.length === 0) {
-        return msg;
+    }
+    function parse256(buf) {
+      let positive;
+      if (buf[0] === 128) positive = true;
+      else if (buf[0] === 255) positive = false;
+      else return null;
+      const tuple = [];
+      let i;
+      for (i = buf.length - 1; i > 0; i--) {
+        const byte = buf[i];
+        if (positive) tuple.push(byte);
+        else tuple.push(255 - byte);
       }
-      return format(msg, ...args);
+      let sum = 0;
+      const l = tuple.length;
+      for (i = 0; i < l; i++) {
+        sum += tuple[i] * Math.pow(256, i);
+      }
+      return positive ? sum : -1 * sum;
     }
-    function E(code, message, Base) {
-      if (!Base) {
-        Base = Error;
+    function decodeOct(val, offset, length) {
+      val = val.subarray(offset, offset + length);
+      offset = 0;
+      if (val[offset] & 128) {
+        return parse256(val);
+      } else {
+        while (offset < val.length && val[offset] === 32) offset++;
+        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
+        while (offset < end && val[offset] === 0) offset++;
+        if (end === offset) return 0;
+        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
       }
-      class NodeError extends Base {
-        constructor(...args) {
-          super(getMessage(code, message, args));
+    }
+    function decodeStr(val, offset, length, encoding) {
+      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
+    }
+    function addLength(str2) {
+      const len = b4a.byteLength(str2);
+      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
+      if (len + digits >= Math.pow(10, digits)) digits++;
+      return len + digits + str2;
+    }
+  }
+});
+
+// node_modules/tar-stream/extract.js
+var require_extract = __commonJS({
+  "node_modules/tar-stream/extract.js"(exports2, module2) {
+    var { Writable, Readable, getStreamError } = require_streamx();
+    var FIFO = require_fast_fifo();
+    var b4a = require_b4a();
+    var headers = require_headers3();
+    var EMPTY = b4a.alloc(0);
+    var BufferList = class {
+      constructor() {
+        this.buffered = 0;
+        this.shifted = 0;
+        this.queue = new FIFO();
+        this._offset = 0;
+      }
+      push(buffer) {
+        this.buffered += buffer.byteLength;
+        this.queue.push(buffer);
+      }
+      shiftFirst(size) {
+        return this._buffered === 0 ? null : this._next(size);
+      }
+      shift(size) {
+        if (size > this.buffered) return null;
+        if (size === 0) return EMPTY;
+        let chunk = this._next(size);
+        if (size === chunk.byteLength) return chunk;
+        const chunks = [chunk];
+        while ((size -= chunk.byteLength) > 0) {
+          chunk = this._next(size);
+          chunks.push(chunk);
         }
-        toString() {
-          return `${this.name} [${code}]: ${this.message}`;
+        return b4a.concat(chunks);
+      }
+      _next(size) {
+        const buf = this.queue.peek();
+        const rem = buf.byteLength - this._offset;
+        if (size >= rem) {
+          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
+          this.queue.shift();
+          this._offset = 0;
+          this.buffered -= rem;
+          this.shifted += rem;
+          return sub;
         }
+        this.buffered -= size;
+        this.shifted += size;
+        return buf.subarray(this._offset, this._offset += size);
       }
-      Object.defineProperties(NodeError.prototype, {
-        name: {
-          value: Base.name,
-          writable: true,
-          enumerable: false,
-          configurable: true
-        },
-        toString: {
-          value() {
-            return `${this.name} [${code}]: ${this.message}`;
-          },
-          writable: true,
-          enumerable: false,
-          configurable: true
+    };
+    var Source = class extends Readable {
+      constructor(self2, header, offset) {
+        super();
+        this.header = header;
+        this.offset = offset;
+        this._parent = self2;
+      }
+      _read(cb) {
+        if (this.header.size === 0) {
+          this.push(null);
         }
-      });
-      NodeError.prototype.code = code;
-      NodeError.prototype[kIsNodeError] = true;
-      codes[code] = NodeError;
-    }
-    function hideStackFrames(fn) {
-      const hidden = nodeInternalPrefix + fn.name;
-      Object.defineProperty(fn, "name", {
-        value: hidden
-      });
-      return fn;
-    }
-    function aggregateTwoErrors(innerError, outerError) {
-      if (innerError && outerError && innerError !== outerError) {
-        if (Array.isArray(outerError.errors)) {
-          outerError.errors.push(innerError);
-          return outerError;
+        if (this._parent._stream === this) {
+          this._parent._update();
         }
-        const err = new AggregateError([outerError, innerError], outerError.message);
-        err.code = outerError.code;
-        return err;
+        cb(null);
       }
-      return innerError || outerError;
-    }
-    var AbortError = class extends Error {
-      constructor(message = "The operation was aborted", options = void 0) {
-        if (options !== void 0 && typeof options !== "object") {
-          throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options);
+      _predestroy() {
+        this._parent.destroy(getStreamError(this));
+      }
+      _detach() {
+        if (this._parent._stream === this) {
+          this._parent._stream = null;
+          this._parent._missing = overflow(this.header.size);
+          this._parent._update();
         }
-        super(message, options);
-        this.code = "ABORT_ERR";
-        this.name = "AbortError";
+      }
+      _destroy(cb) {
+        this._detach();
+        cb(null);
       }
     };
-    E("ERR_ASSERTION", "%s", Error);
-    E(
-      "ERR_INVALID_ARG_TYPE",
-      (name, expected, actual) => {
-        assert(typeof name === "string", "'name' must be a string");
-        if (!Array.isArray(expected)) {
-          expected = [expected];
+    var Extract = class extends Writable {
+      constructor(opts) {
+        super(opts);
+        if (!opts) opts = {};
+        this._buffer = new BufferList();
+        this._offset = 0;
+        this._header = null;
+        this._stream = null;
+        this._missing = 0;
+        this._longHeader = false;
+        this._callback = noop3;
+        this._locked = false;
+        this._finished = false;
+        this._pax = null;
+        this._paxGlobal = null;
+        this._gnuLongPath = null;
+        this._gnuLongLinkPath = null;
+        this._filenameEncoding = opts.filenameEncoding || "utf-8";
+        this._allowUnknownFormat = !!opts.allowUnknownFormat;
+        this._unlockBound = this._unlock.bind(this);
+      }
+      _unlock(err) {
+        this._locked = false;
+        if (err) {
+          this.destroy(err);
+          this._continueWrite(err);
+          return;
         }
-        let msg = "The ";
-        if (name.endsWith(" argument")) {
-          msg += `${name} `;
-        } else {
-          msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `;
+        this._update();
+      }
+      _consumeHeader() {
+        if (this._locked) return false;
+        this._offset = this._buffer.shifted;
+        try {
+          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
         }
-        msg += "must be ";
-        const types = [];
-        const instances = [];
-        const other = [];
-        for (const value of expected) {
-          assert(typeof value === "string", "All expected entries have to be of type string");
-          if (kTypes.includes(value)) {
-            types.push(value.toLowerCase());
-          } else if (classRegExp.test(value)) {
-            instances.push(value);
-          } else {
-            assert(value !== "object", 'The value "object" should be written as "Object"');
-            other.push(value);
-          }
+        if (!this._header) return true;
+        switch (this._header.type) {
+          case "gnu-long-path":
+          case "gnu-long-link-path":
+          case "pax-global-header":
+          case "pax-header":
+            this._longHeader = true;
+            this._missing = this._header.size;
+            return true;
         }
-        if (instances.length > 0) {
-          const pos = types.indexOf("object");
-          if (pos !== -1) {
-            types.splice(types, pos, 1);
-            instances.push("Object");
-          }
+        this._locked = true;
+        this._applyLongHeaders();
+        if (this._header.size === 0 || this._header.type === "directory") {
+          this.emit("entry", this._header, this._createStream(), this._unlockBound);
+          return true;
         }
-        if (types.length > 0) {
-          switch (types.length) {
-            case 1:
-              msg += `of type ${types[0]}`;
-              break;
-            case 2:
-              msg += `one of type ${types[0]} or ${types[1]}`;
-              break;
-            default: {
-              const last = types.pop();
-              msg += `one of type ${types.join(", ")}, or ${last}`;
-            }
-          }
-          if (instances.length > 0 || other.length > 0) {
-            msg += " or ";
-          }
+        this._stream = this._createStream();
+        this._missing = this._header.size;
+        this.emit("entry", this._header, this._stream, this._unlockBound);
+        return true;
+      }
+      _applyLongHeaders() {
+        if (this._gnuLongPath) {
+          this._header.name = this._gnuLongPath;
+          this._gnuLongPath = null;
         }
-        if (instances.length > 0) {
-          switch (instances.length) {
-            case 1:
-              msg += `an instance of ${instances[0]}`;
-              break;
-            case 2:
-              msg += `an instance of ${instances[0]} or ${instances[1]}`;
-              break;
-            default: {
-              const last = instances.pop();
-              msg += `an instance of ${instances.join(", ")}, or ${last}`;
-            }
-          }
-          if (other.length > 0) {
-            msg += " or ";
-          }
+        if (this._gnuLongLinkPath) {
+          this._header.linkname = this._gnuLongLinkPath;
+          this._gnuLongLinkPath = null;
         }
-        switch (other.length) {
-          case 0:
+        if (this._pax) {
+          if (this._pax.path) this._header.name = this._pax.path;
+          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
+          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
+          this._header.pax = this._pax;
+          this._pax = null;
+        }
+      }
+      _decodeLongHeader(buf) {
+        switch (this._header.type) {
+          case "gnu-long-path":
+            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
             break;
-          case 1:
-            if (other[0].toLowerCase() !== other[0]) {
-              msg += "an ";
-            }
-            msg += `${other[0]}`;
+          case "gnu-long-link-path":
+            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
             break;
-          case 2:
-            msg += `one of ${other[0]} or ${other[1]}`;
+          case "pax-global-header":
+            this._paxGlobal = headers.decodePax(buf);
             break;
-          default: {
-            const last = other.pop();
-            msg += `one of ${other.join(", ")}, or ${last}`;
+          case "pax-header":
+            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
+            break;
+        }
+      }
+      _consumeLongHeader() {
+        this._longHeader = false;
+        this._missing = overflow(this._header.size);
+        const buf = this._buffer.shift(this._header.size);
+        try {
+          this._decodeLongHeader(buf);
+        } catch (err) {
+          this._continueWrite(err);
+          return false;
+        }
+        return true;
+      }
+      _consumeStream() {
+        const buf = this._buffer.shiftFirst(this._missing);
+        if (buf === null) return false;
+        this._missing -= buf.byteLength;
+        const drained = this._stream.push(buf);
+        if (this._missing === 0) {
+          this._stream.push(null);
+          if (drained) this._stream._detach();
+          return drained && this._locked === false;
+        }
+        return drained;
+      }
+      _createStream() {
+        return new Source(this, this._header, this._offset);
+      }
+      _update() {
+        while (this._buffer.buffered > 0 && !this.destroying) {
+          if (this._missing > 0) {
+            if (this._stream !== null) {
+              if (this._consumeStream() === false) return;
+              continue;
+            }
+            if (this._longHeader === true) {
+              if (this._missing > this._buffer.buffered) break;
+              if (this._consumeLongHeader() === false) return false;
+              continue;
+            }
+            const ignore = this._buffer.shiftFirst(this._missing);
+            if (ignore !== null) this._missing -= ignore.byteLength;
+            continue;
+          }
+          if (this._buffer.buffered < 512) break;
+          if (this._stream !== null || this._consumeHeader() === false) return;
+        }
+        this._continueWrite(null);
+      }
+      _continueWrite(err) {
+        const cb = this._callback;
+        this._callback = noop3;
+        cb(err);
+      }
+      _write(data, cb) {
+        this._callback = cb;
+        this._buffer.push(data);
+        this._update();
+      }
+      _final(cb) {
+        this._finished = this._missing === 0 && this._buffer.buffered === 0;
+        cb(this._finished ? null : new Error("Unexpected end of data"));
+      }
+      _predestroy() {
+        this._continueWrite(null);
+      }
+      _destroy(cb) {
+        if (this._stream) this._stream.destroy(getStreamError(this));
+        cb(null);
+      }
+      [Symbol.asyncIterator]() {
+        let error3 = null;
+        let promiseResolve = null;
+        let promiseReject = null;
+        let entryStream = null;
+        let entryCallback = null;
+        const extract2 = this;
+        this.on("entry", onentry);
+        this.on("error", (err) => {
+          error3 = err;
+        });
+        this.on("close", onclose);
+        return {
+          [Symbol.asyncIterator]() {
+            return this;
+          },
+          next() {
+            return new Promise(onnext);
+          },
+          return() {
+            return destroy(null);
+          },
+          throw(err) {
+            return destroy(err);
           }
+        };
+        function consumeCallback(err) {
+          if (!entryCallback) return;
+          const cb = entryCallback;
+          entryCallback = null;
+          cb(err);
         }
-        if (actual == null) {
-          msg += `. Received ${actual}`;
-        } else if (typeof actual === "function" && actual.name) {
-          msg += `. Received function ${actual.name}`;
-        } else if (typeof actual === "object") {
-          var _actual$constructor;
-          if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
-            msg += `. Received an instance of ${actual.constructor.name}`;
-          } else {
-            const inspected = inspect(actual, {
-              depth: -1
-            });
-            msg += `. Received ${inspected}`;
+        function onnext(resolve2, reject) {
+          if (error3) {
+            return reject(error3);
           }
-        } else {
-          let inspected = inspect(actual, {
-            colors: false
-          });
-          if (inspected.length > 25) {
-            inspected = `${inspected.slice(0, 25)}...`;
+          if (entryStream) {
+            resolve2({ value: entryStream, done: false });
+            entryStream = null;
+            return;
+          }
+          promiseResolve = resolve2;
+          promiseReject = reject;
+          consumeCallback(null);
+          if (extract2._finished && promiseResolve) {
+            promiseResolve({ value: void 0, done: true });
+            promiseResolve = promiseReject = null;
           }
-          msg += `. Received type ${typeof actual} (${inspected})`;
         }
-        return msg;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_ARG_VALUE",
-      (name, value, reason = "is invalid") => {
-        let inspected = inspect(value);
-        if (inspected.length > 128) {
-          inspected = inspected.slice(0, 128) + "...";
+        function onentry(header, stream, callback) {
+          entryCallback = callback;
+          stream.on("error", noop3);
+          if (promiseResolve) {
+            promiseResolve({ value: stream, done: false });
+            promiseResolve = promiseReject = null;
+          } else {
+            entryStream = stream;
+          }
         }
-        const type2 = name.includes(".") ? "property" : "argument";
-        return `The ${type2} '${name}' ${reason}. Received ${inspected}`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_INVALID_RETURN_VALUE",
-      (input, name, value) => {
-        var _value$constructor;
-        const type2 = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`;
-        return `Expected ${input} to be returned from the "${name}" function but got ${type2}.`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_MISSING_ARGS",
-      (...args) => {
-        assert(args.length > 0, "At least one arg needs to be specified");
-        let msg;
-        const len = args.length;
-        args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or ");
-        switch (len) {
-          case 1:
-            msg += `The ${args[0]} argument`;
-            break;
-          case 2:
-            msg += `The ${args[0]} and ${args[1]} arguments`;
-            break;
-          default:
-            {
-              const last = args.pop();
-              msg += `The ${args.join(", ")}, and ${last} arguments`;
-            }
-            break;
+        function onclose() {
+          consumeCallback(error3);
+          if (!promiseResolve) return;
+          if (error3) promiseReject(error3);
+          else promiseResolve({ value: void 0, done: true });
+          promiseResolve = promiseReject = null;
         }
-        return `${msg} must be specified`;
-      },
-      TypeError
-    );
-    E(
-      "ERR_OUT_OF_RANGE",
-      (str2, range, input) => {
-        assert(range, 'Missing "range" argument');
-        let received;
-        if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
-          received = addNumericalSeparator(String(input));
-        } else if (typeof input === "bigint") {
-          received = String(input);
-          if (input > 2n ** 32n || input < -(2n ** 32n)) {
-            received = addNumericalSeparator(received);
-          }
-          received += "n";
-        } else {
-          received = inspect(input);
+        function destroy(err) {
+          extract2.destroy(err);
+          consumeCallback(err);
+          return new Promise((resolve2, reject) => {
+            if (extract2.destroyed) return resolve2({ value: void 0, done: true });
+            extract2.once("close", function() {
+              if (err) reject(err);
+              else resolve2({ value: void 0, done: true });
+            });
+          });
         }
-        return `The value of "${str2}" is out of range. It must be ${range}. Received ${received}`;
-      },
-      RangeError
-    );
-    E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error);
-    E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error);
-    E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error);
-    E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error);
-    E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error);
-    E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
-    E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error);
-    E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error);
-    E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error);
-    E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error);
-    E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError);
-    module2.exports = {
-      AbortError,
-      aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),
-      hideStackFrames,
-      codes
+      }
+    };
+    module2.exports = function extract2(opts) {
+      return new Extract(opts);
     };
+    function noop3() {
+    }
+    function overflow(size) {
+      size &= 511;
+      return size && 512 - size;
+    }
   }
 });
 
-// node_modules/readable-stream/lib/internal/validators.js
-var require_validators = __commonJS({
-  "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) {
-    "use strict";
-    var {
-      ArrayIsArray,
-      ArrayPrototypeIncludes,
-      ArrayPrototypeJoin,
-      ArrayPrototypeMap,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberMAX_SAFE_INTEGER,
-      NumberMIN_SAFE_INTEGER,
-      NumberParseInt,
-      ObjectPrototypeHasOwnProperty,
-      RegExpPrototypeExec,
-      String: String2,
-      StringPrototypeToUpperCase,
-      StringPrototypeTrim
-    } = require_primordials();
-    var {
-      hideStackFrames,
-      codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }
-    } = require_errors4();
-    var { normalizeEncoding } = require_util19();
-    var { isAsyncFunction, isArrayBufferView } = require_util19().types;
-    var signals = {};
-    function isInt32(value) {
-      return value === (value | 0);
-    }
-    function isUint32(value) {
-      return value === value >>> 0;
+// node_modules/tar-stream/constants.js
+var require_constants18 = __commonJS({
+  "node_modules/tar-stream/constants.js"(exports2, module2) {
+    var constants = {
+      // just for envs without fs
+      S_IFMT: 61440,
+      S_IFDIR: 16384,
+      S_IFCHR: 8192,
+      S_IFBLK: 24576,
+      S_IFIFO: 4096,
+      S_IFLNK: 40960
+    };
+    try {
+      module2.exports = require("fs").constants || constants;
+    } catch {
+      module2.exports = constants;
     }
-    var octalReg = /^[0-7]+$/;
-    var modeDesc = "must be a 32-bit unsigned integer or an octal string";
-    function parseFileMode(value, name, def) {
-      if (typeof value === "undefined") {
-        value = def;
+  }
+});
+
+// node_modules/tar-stream/pack.js
+var require_pack = __commonJS({
+  "node_modules/tar-stream/pack.js"(exports2, module2) {
+    var { Readable, Writable, getStreamError } = require_streamx();
+    var b4a = require_b4a();
+    var constants = require_constants18();
+    var headers = require_headers3();
+    var DMODE = 493;
+    var FMODE = 420;
+    var END_OF_TAR = b4a.alloc(1024);
+    var Sink = class extends Writable {
+      constructor(pack, header, callback) {
+        super({ mapWritable, eagerOpen: true });
+        this.written = 0;
+        this.header = header;
+        this._callback = callback;
+        this._linkname = null;
+        this._isLinkname = header.type === "symlink" && !header.linkname;
+        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
+        this._finished = false;
+        this._pack = pack;
+        this._openCallback = null;
+        if (this._pack._stream === null) this._pack._stream = this;
+        else this._pack._pending.push(this);
       }
-      if (typeof value === "string") {
-        if (RegExpPrototypeExec(octalReg, value) === null) {
-          throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc);
-        }
-        value = NumberParseInt(value, 8);
+      _open(cb) {
+        this._openCallback = cb;
+        if (this._pack._stream === this) this._continueOpen();
       }
-      validateUint32(value, name);
-      return value;
-    }
-    var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value);
-      if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
-    });
-    var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      _continuePack(err) {
+        if (this._callback === null) return;
+        const callback = this._callback;
+        this._callback = null;
+        callback(err);
       }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      _continueOpen() {
+        if (this._pack._stream === null) this._pack._stream = this;
+        const cb = this._openCallback;
+        this._openCallback = null;
+        if (cb === null) return;
+        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
+        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
+        this._pack._stream = this;
+        if (!this._isLinkname) {
+          this._pack._encode(this.header);
+        }
+        if (this._isVoid) {
+          this._finish();
+          this._continuePack(null);
+        }
+        cb(null);
       }
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      _write(data, cb) {
+        if (this._isLinkname) {
+          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
+          return cb(null);
+        }
+        if (this._isVoid) {
+          if (data.byteLength > 0) {
+            return cb(new Error("No body allowed for this entry"));
+          }
+          return cb();
+        }
+        this.written += data.byteLength;
+        if (this._pack.push(data)) return cb();
+        this._pack._drain = cb;
       }
-    });
-    var validateUint32 = hideStackFrames((value, name, positive = false) => {
-      if (typeof value !== "number") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
+      _finish() {
+        if (this._finished) return;
+        this._finished = true;
+        if (this._isLinkname) {
+          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
+          this._pack._encode(this.header);
+        }
+        overflow(this._pack, this.header.size);
+        this._pack._done(this);
       }
-      if (!NumberIsInteger(value)) {
-        throw new ERR_OUT_OF_RANGE(name, "an integer", value);
+      _final(cb) {
+        if (this.written !== this.header.size) {
+          return cb(new Error("Size mismatch"));
+        }
+        this._finish();
+        cb(null);
       }
-      const min = positive ? 1 : 0;
-      const max = 4294967295;
-      if (value < min || value > max) {
-        throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value);
+      _getError() {
+        return getStreamError(this) || new Error("tar entry destroyed");
       }
-    });
-    function validateString(value, name) {
-      if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value);
-    }
-    function validateNumber(value, name, min = void 0, max) {
-      if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value);
-      if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) {
-        throw new ERR_OUT_OF_RANGE(
-          name,
-          `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`,
-          value
-        );
+      _predestroy() {
+        this._pack.destroy(this._getError());
       }
-    }
-    var validateOneOf = hideStackFrames((value, name, oneOf) => {
-      if (!ArrayPrototypeIncludes(oneOf, value)) {
-        const allowed = ArrayPrototypeJoin(
-          ArrayPrototypeMap(oneOf, (v) => typeof v === "string" ? `'${v}'` : String2(v)),
-          ", "
-        );
-        const reason = "must be one of: " + allowed;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      _destroy(cb) {
+        this._pack._done(this);
+        this._continuePack(this._finished ? null : this._getError());
+        cb();
       }
-    });
-    function validateBoolean(value, name) {
-      if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value);
-    }
-    function getOwnPropertyValueOrDefault(options, key, defaultValue) {
-      return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key];
-    }
-    var validateObject = hideStackFrames((value, name, options = null) => {
-      const allowArray = getOwnPropertyValueOrDefault(options, "allowArray", false);
-      const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false);
-      const nullable = getOwnPropertyValueOrDefault(options, "nullable", false);
-      if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Object", value);
+    };
+    var Pack = class extends Readable {
+      constructor(opts) {
+        super(opts);
+        this._drain = noop3;
+        this._finalized = false;
+        this._finalizing = false;
+        this._pending = [];
+        this._stream = null;
       }
-    });
-    var validateDictionary = hideStackFrames((value, name) => {
-      if (value != null && typeof value !== "object" && typeof value !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value);
+      entry(header, buffer, callback) {
+        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
+        if (typeof buffer === "function") {
+          callback = buffer;
+          buffer = null;
+        }
+        if (!callback) callback = noop3;
+        if (!header.size || header.type === "symlink") header.size = 0;
+        if (!header.type) header.type = modeToType(header.mode);
+        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
+        if (!header.uid) header.uid = 0;
+        if (!header.gid) header.gid = 0;
+        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
+        if (typeof buffer === "string") buffer = b4a.from(buffer);
+        const sink = new Sink(this, header, callback);
+        if (b4a.isBuffer(buffer)) {
+          header.size = buffer.byteLength;
+          sink.write(buffer);
+          sink.end();
+          return sink;
+        }
+        if (sink._isVoid) {
+          return sink;
+        }
+        return sink;
       }
-    });
-    var validateArray = hideStackFrames((value, name, minLength = 0) => {
-      if (!ArrayIsArray(value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "Array", value);
+      finalize() {
+        if (this._stream || this._pending.length > 0) {
+          this._finalizing = true;
+          return;
+        }
+        if (this._finalized) return;
+        this._finalized = true;
+        this.push(END_OF_TAR);
+        this.push(null);
       }
-      if (value.length < minLength) {
-        const reason = `must be longer than ${minLength}`;
-        throw new ERR_INVALID_ARG_VALUE(name, value, reason);
+      _done(stream) {
+        if (stream !== this._stream) return;
+        this._stream = null;
+        if (this._finalizing) this.finalize();
+        if (this._pending.length) this._pending.shift()._continueOpen();
       }
-    });
-    function validateStringArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateString(value[i], `${name}[${i}]`);
+      _encode(header) {
+        if (!header.pax) {
+          const buf = headers.encode(header);
+          if (buf) {
+            this.push(buf);
+            return;
+          }
+        }
+        this._encodePax(header);
       }
-    }
-    function validateBooleanArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        validateBoolean(value[i], `${name}[${i}]`);
+      _encodePax(header) {
+        const paxHeader = headers.encodePax({
+          name: header.name,
+          linkname: header.linkname,
+          pax: header.pax
+        });
+        const newHeader = {
+          name: "PaxHeader",
+          mode: header.mode,
+          uid: header.uid,
+          gid: header.gid,
+          size: paxHeader.byteLength,
+          mtime: header.mtime,
+          type: "pax-header",
+          linkname: header.linkname && "PaxHeader",
+          uname: header.uname,
+          gname: header.gname,
+          devmajor: header.devmajor,
+          devminor: header.devminor
+        };
+        this.push(headers.encode(newHeader));
+        this.push(paxHeader);
+        overflow(this, paxHeader.byteLength);
+        newHeader.size = header.size;
+        newHeader.type = header.type;
+        this.push(headers.encode(newHeader));
       }
-    }
-    function validateAbortSignalArray(value, name) {
-      validateArray(value, name);
-      for (let i = 0; i < value.length; i++) {
-        const signal = value[i];
-        const indexedName = `${name}[${i}]`;
-        if (signal == null) {
-          throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal);
-        }
-        validateAbortSignal(signal, indexedName);
+      _doDrain() {
+        const drain = this._drain;
+        this._drain = noop3;
+        drain();
       }
-    }
-    function validateSignalName(signal, name = "signal") {
-      validateString(signal, name);
-      if (signals[signal] === void 0) {
-        if (signals[StringPrototypeToUpperCase(signal)] !== void 0) {
-          throw new ERR_UNKNOWN_SIGNAL(signal + " (signals must use all capital letters)");
+      _predestroy() {
+        const err = getStreamError(this);
+        if (this._stream) this._stream.destroy(err);
+        while (this._pending.length) {
+          const stream = this._pending.shift();
+          stream.destroy(err);
+          stream._continueOpen();
         }
-        throw new ERR_UNKNOWN_SIGNAL(signal);
+        this._doDrain();
+      }
+      _read(cb) {
+        this._doDrain();
+        cb();
+      }
+    };
+    module2.exports = function pack(opts) {
+      return new Pack(opts);
+    };
+    function modeToType(mode) {
+      switch (mode & constants.S_IFMT) {
+        case constants.S_IFBLK:
+          return "block-device";
+        case constants.S_IFCHR:
+          return "character-device";
+        case constants.S_IFDIR:
+          return "directory";
+        case constants.S_IFIFO:
+          return "fifo";
+        case constants.S_IFLNK:
+          return "symlink";
       }
+      return "file";
     }
-    var validateBuffer = hideStackFrames((buffer, name = "buffer") => {
-      if (!isArrayBufferView(buffer)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer);
-      }
-    });
-    function validateEncoding(data, encoding) {
-      const normalizedEncoding = normalizeEncoding(encoding);
-      const length = data.length;
-      if (normalizedEncoding === "hex" && length % 2 !== 0) {
-        throw new ERR_INVALID_ARG_VALUE("encoding", encoding, `is invalid for data of length ${length}`);
-      }
+    function noop3() {
     }
-    function validatePort(port, name = "Port", allowZero = true) {
-      if (typeof port !== "number" && typeof port !== "string" || typeof port === "string" && StringPrototypeTrim(port).length === 0 || +port !== +port >>> 0 || port > 65535 || port === 0 && !allowZero) {
-        throw new ERR_SOCKET_BAD_PORT(name, port, allowZero);
-      }
-      return port | 0;
+    function overflow(self2, size) {
+      size &= 511;
+      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
     }
-    var validateAbortSignal = hideStackFrames((signal, name) => {
-      if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+    function mapWritable(buf) {
+      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
+    }
+  }
+});
+
+// node_modules/tar-stream/index.js
+var require_tar_stream = __commonJS({
+  "node_modules/tar-stream/index.js"(exports2) {
+    exports2.extract = require_extract();
+    exports2.pack = require_pack();
+  }
+});
+
+// node_modules/archiver/lib/plugins/tar.js
+var require_tar = __commonJS({
+  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
+    var zlib = require("zlib");
+    var engine = require_tar_stream();
+    var util = require_archiver_utils();
+    var Tar = function(options) {
+      if (!(this instanceof Tar)) {
+        return new Tar(options);
       }
-    });
-    var validateFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validatePlainFunction = hideStackFrames((value, name) => {
-      if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value);
-    });
-    var validateUndefined = hideStackFrames((value, name) => {
-      if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value);
-    });
-    function validateUnion(value, name, union) {
-      if (!ArrayPrototypeIncludes(union, value)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value);
+      options = this.options = util.defaults(options, {
+        gzip: false
+      });
+      if (typeof options.gzipOptions !== "object") {
+        options.gzipOptions = {};
       }
-    }
-    var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;
-    function validateLinkHeaderFormat(value, name) {
-      if (typeof value === "undefined" || !RegExpPrototypeExec(linkValueRegExp, value)) {
-        throw new ERR_INVALID_ARG_VALUE(
-          name,
-          value,
-          'must be an array or string of format "; rel=preload; as=style"'
-        );
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.engine = engine.pack(options);
+      this.compressor = false;
+      if (options.gzip) {
+        this.compressor = zlib.createGzip(options.gzipOptions);
+        this.compressor.on("error", this._onCompressorError.bind(this));
       }
-    }
-    function validateLinkHeaderValue(hints) {
-      if (typeof hints === "string") {
-        validateLinkHeaderFormat(hints, "hints");
-        return hints;
-      } else if (ArrayIsArray(hints)) {
-        const hintsLength = hints.length;
-        let result = "";
-        if (hintsLength === 0) {
-          return result;
-        }
-        for (let i = 0; i < hintsLength; i++) {
-          const link = hints[i];
-          validateLinkHeaderFormat(link, "hints");
-          result += link;
-          if (i !== hintsLength - 1) {
-            result += ", ";
-          }
+    };
+    Tar.prototype._onCompressorError = function(err) {
+      this.engine.emit("error", err);
+    };
+    Tar.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.mtime = data.date;
+      function append(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
         }
-        return result;
+        self2.engine.entry(data, sourceBuffer, function(err2) {
+          callback(err2, data);
+        });
+      }
+      if (data.sourceType === "buffer") {
+        append(null, source);
+      } else if (data.sourceType === "stream" && data.stats) {
+        data.size = data.stats.size;
+        var entry = self2.engine.entry(data, function(err) {
+          callback(err, data);
+        });
+        source.pipe(entry);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, append);
       }
-      throw new ERR_INVALID_ARG_VALUE(
-        "hints",
-        hints,
-        'must be an array or string of format "; rel=preload; as=style"'
-      );
-    }
-    module2.exports = {
-      isInt32,
-      isUint32,
-      parseFileMode,
-      validateArray,
-      validateStringArray,
-      validateBooleanArray,
-      validateAbortSignalArray,
-      validateBoolean,
-      validateBuffer,
-      validateDictionary,
-      validateEncoding,
-      validateFunction,
-      validateInt32,
-      validateInteger,
-      validateNumber,
-      validateObject,
-      validateOneOf,
-      validatePlainFunction,
-      validatePort,
-      validateSignalName,
-      validateString,
-      validateUint32,
-      validateUndefined,
-      validateUnion,
-      validateAbortSignal,
-      validateLinkHeaderValue
     };
+    Tar.prototype.finalize = function() {
+      this.engine.finalize();
+    };
+    Tar.prototype.on = function() {
+      return this.engine.on.apply(this.engine, arguments);
+    };
+    Tar.prototype.pipe = function(destination, options) {
+      if (this.compressor) {
+        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
+      } else {
+        return this.engine.pipe.apply(this.engine, arguments);
+      }
+    };
+    Tar.prototype.unpipe = function() {
+      if (this.compressor) {
+        return this.compressor.unpipe.apply(this.compressor, arguments);
+      } else {
+        return this.engine.unpipe.apply(this.engine, arguments);
+      }
+    };
+    module2.exports = Tar;
   }
 });
 
-// node_modules/process/index.js
-var require_process = __commonJS({
-  "node_modules/process/index.js"(exports2, module2) {
-    module2.exports = global.process;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/utils.js
-var require_utils8 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/utils.js"(exports2, module2) {
+// node_modules/buffer-crc32/dist/index.cjs
+var require_dist4 = __commonJS({
+  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
     "use strict";
-    var { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require_primordials();
-    var kIsDestroyed = SymbolFor("nodejs.stream.destroyed");
-    var kIsErrored = SymbolFor("nodejs.stream.errored");
-    var kIsReadable = SymbolFor("nodejs.stream.readable");
-    var kIsWritable = SymbolFor("nodejs.stream.writable");
-    var kIsDisturbed = SymbolFor("nodejs.stream.disturbed");
-    var kIsClosedPromise = SymbolFor("nodejs.webstream.isClosedPromise");
-    var kControllerErrorFunction = SymbolFor("nodejs.webstream.controllerErrorFunction");
-    function isReadableNodeStream(obj, strict = false) {
-      var _obj$_readableState;
-      return !!(obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!strict || typeof obj.pause === "function" && typeof obj.resume === "function") && (!obj._writableState || ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === void 0 ? void 0 : _obj$_readableState.readable) !== false) && // Duplex
-      (!obj._writableState || obj._readableState));
-    }
-    function isWritableNodeStream(obj) {
-      var _obj$_writableState;
-      return !!(obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === void 0 ? void 0 : _obj$_writableState.writable) !== false));
-    }
-    function isDuplexNodeStream(obj) {
-      return !!(obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function");
-    }
-    function isNodeStream(obj) {
-      return obj && (obj._readableState || obj._writableState || typeof obj.write === "function" && typeof obj.on === "function" || typeof obj.pipe === "function" && typeof obj.on === "function");
-    }
-    function isReadableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.pipeThrough === "function" && typeof obj.getReader === "function" && typeof obj.cancel === "function");
-    }
-    function isWritableStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === "function" && typeof obj.abort === "function");
-    }
-    function isTransformStream(obj) {
-      return !!(obj && !isNodeStream(obj) && typeof obj.readable === "object" && typeof obj.writable === "object");
-    }
-    function isWebStream(obj) {
-      return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj);
-    }
-    function isIterable(obj, isAsync) {
-      if (obj == null) return false;
-      if (isAsync === true) return typeof obj[SymbolAsyncIterator] === "function";
-      if (isAsync === false) return typeof obj[SymbolIterator] === "function";
-      return typeof obj[SymbolAsyncIterator] === "function" || typeof obj[SymbolIterator] === "function";
-    }
-    function isDestroyed(stream) {
-      if (!isNodeStream(stream)) return null;
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const state = wState || rState;
-      return !!(stream.destroyed || stream[kIsDestroyed] || state !== null && state !== void 0 && state.destroyed);
-    }
-    function isWritableEnded(stream) {
-      if (!isWritableNodeStream(stream)) return null;
-      if (stream.writableEnded === true) return true;
-      const wState = stream._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.ended) !== "boolean") return null;
-      return wState.ended;
-    }
-    function isWritableFinished(stream, strict) {
-      if (!isWritableNodeStream(stream)) return null;
-      if (stream.writableFinished === true) return true;
-      const wState = stream._writableState;
-      if (wState !== null && wState !== void 0 && wState.errored) return false;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.finished) !== "boolean") return null;
-      return !!(wState.finished || strict === false && wState.ended === true && wState.length === 0);
-    }
-    function isReadableEnded(stream) {
-      if (!isReadableNodeStream(stream)) return null;
-      if (stream.readableEnded === true) return true;
-      const rState = stream._readableState;
-      if (!rState || rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.ended) !== "boolean") return null;
-      return rState.ended;
-    }
-    function isReadableFinished(stream, strict) {
-      if (!isReadableNodeStream(stream)) return null;
-      const rState = stream._readableState;
-      if (rState !== null && rState !== void 0 && rState.errored) return false;
-      if (typeof (rState === null || rState === void 0 ? void 0 : rState.endEmitted) !== "boolean") return null;
-      return !!(rState.endEmitted || strict === false && rState.ended === true && rState.length === 0);
-    }
-    function isReadable(stream) {
-      if (stream && stream[kIsReadable] != null) return stream[kIsReadable];
-      if (typeof (stream === null || stream === void 0 ? void 0 : stream.readable) !== "boolean") return null;
-      if (isDestroyed(stream)) return false;
-      return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream);
-    }
-    function isWritable(stream) {
-      if (stream && stream[kIsWritable] != null) return stream[kIsWritable];
-      if (typeof (stream === null || stream === void 0 ? void 0 : stream.writable) !== "boolean") return null;
-      if (isDestroyed(stream)) return false;
-      return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream);
+    function getDefaultExportFromCjs(x) {
+      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
     }
-    function isFinished(stream, opts) {
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (isDestroyed(stream)) {
-        return true;
-      }
-      if ((opts === null || opts === void 0 ? void 0 : opts.readable) !== false && isReadable(stream)) {
-        return false;
+    var CRC_TABLE = new Int32Array([
+      0,
+      1996959894,
+      3993919788,
+      2567524794,
+      124634137,
+      1886057615,
+      3915621685,
+      2657392035,
+      249268274,
+      2044508324,
+      3772115230,
+      2547177864,
+      162941995,
+      2125561021,
+      3887607047,
+      2428444049,
+      498536548,
+      1789927666,
+      4089016648,
+      2227061214,
+      450548861,
+      1843258603,
+      4107580753,
+      2211677639,
+      325883990,
+      1684777152,
+      4251122042,
+      2321926636,
+      335633487,
+      1661365465,
+      4195302755,
+      2366115317,
+      997073096,
+      1281953886,
+      3579855332,
+      2724688242,
+      1006888145,
+      1258607687,
+      3524101629,
+      2768942443,
+      901097722,
+      1119000684,
+      3686517206,
+      2898065728,
+      853044451,
+      1172266101,
+      3705015759,
+      2882616665,
+      651767980,
+      1373503546,
+      3369554304,
+      3218104598,
+      565507253,
+      1454621731,
+      3485111705,
+      3099436303,
+      671266974,
+      1594198024,
+      3322730930,
+      2970347812,
+      795835527,
+      1483230225,
+      3244367275,
+      3060149565,
+      1994146192,
+      31158534,
+      2563907772,
+      4023717930,
+      1907459465,
+      112637215,
+      2680153253,
+      3904427059,
+      2013776290,
+      251722036,
+      2517215374,
+      3775830040,
+      2137656763,
+      141376813,
+      2439277719,
+      3865271297,
+      1802195444,
+      476864866,
+      2238001368,
+      4066508878,
+      1812370925,
+      453092731,
+      2181625025,
+      4111451223,
+      1706088902,
+      314042704,
+      2344532202,
+      4240017532,
+      1658658271,
+      366619977,
+      2362670323,
+      4224994405,
+      1303535960,
+      984961486,
+      2747007092,
+      3569037538,
+      1256170817,
+      1037604311,
+      2765210733,
+      3554079995,
+      1131014506,
+      879679996,
+      2909243462,
+      3663771856,
+      1141124467,
+      855842277,
+      2852801631,
+      3708648649,
+      1342533948,
+      654459306,
+      3188396048,
+      3373015174,
+      1466479909,
+      544179635,
+      3110523913,
+      3462522015,
+      1591671054,
+      702138776,
+      2966460450,
+      3352799412,
+      1504918807,
+      783551873,
+      3082640443,
+      3233442989,
+      3988292384,
+      2596254646,
+      62317068,
+      1957810842,
+      3939845945,
+      2647816111,
+      81470997,
+      1943803523,
+      3814918930,
+      2489596804,
+      225274430,
+      2053790376,
+      3826175755,
+      2466906013,
+      167816743,
+      2097651377,
+      4027552580,
+      2265490386,
+      503444072,
+      1762050814,
+      4150417245,
+      2154129355,
+      426522225,
+      1852507879,
+      4275313526,
+      2312317920,
+      282753626,
+      1742555852,
+      4189708143,
+      2394877945,
+      397917763,
+      1622183637,
+      3604390888,
+      2714866558,
+      953729732,
+      1340076626,
+      3518719985,
+      2797360999,
+      1068828381,
+      1219638859,
+      3624741850,
+      2936675148,
+      906185462,
+      1090812512,
+      3747672003,
+      2825379669,
+      829329135,
+      1181335161,
+      3412177804,
+      3160834842,
+      628085408,
+      1382605366,
+      3423369109,
+      3138078467,
+      570562233,
+      1426400815,
+      3317316542,
+      2998733608,
+      733239954,
+      1555261956,
+      3268935591,
+      3050360625,
+      752459403,
+      1541320221,
+      2607071920,
+      3965973030,
+      1969922972,
+      40735498,
+      2617837225,
+      3943577151,
+      1913087877,
+      83908371,
+      2512341634,
+      3803740692,
+      2075208622,
+      213261112,
+      2463272603,
+      3855990285,
+      2094854071,
+      198958881,
+      2262029012,
+      4057260610,
+      1759359992,
+      534414190,
+      2176718541,
+      4139329115,
+      1873836001,
+      414664567,
+      2282248934,
+      4279200368,
+      1711684554,
+      285281116,
+      2405801727,
+      4167216745,
+      1634467795,
+      376229701,
+      2685067896,
+      3608007406,
+      1308918612,
+      956543938,
+      2808555105,
+      3495958263,
+      1231636301,
+      1047427035,
+      2932959818,
+      3654703836,
+      1088359270,
+      936918e3,
+      2847714899,
+      3736837829,
+      1202900863,
+      817233897,
+      3183342108,
+      3401237130,
+      1404277552,
+      615818150,
+      3134207493,
+      3453421203,
+      1423857449,
+      601450431,
+      3009837614,
+      3294710456,
+      1567103746,
+      711928724,
+      3020668471,
+      3272380065,
+      1510334235,
+      755167117
+    ]);
+    function ensureBuffer(input) {
+      if (Buffer.isBuffer(input)) {
+        return input;
       }
-      if ((opts === null || opts === void 0 ? void 0 : opts.writable) !== false && isWritable(stream)) {
-        return false;
+      if (typeof input === "number") {
+        return Buffer.alloc(input);
+      } else if (typeof input === "string") {
+        return Buffer.from(input);
+      } else {
+        throw new Error("input must be buffer, number, or string, received " + typeof input);
       }
-      return true;
     }
-    function isWritableErrored(stream) {
-      var _stream$_writableStat, _stream$_writableStat2;
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (stream.writableErrored) {
-        return stream.writableErrored;
-      }
-      return (_stream$_writableStat = (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === void 0 ? void 0 : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== void 0 ? _stream$_writableStat : null;
+    function bufferizeInt(num) {
+      const tmp = ensureBuffer(4);
+      tmp.writeInt32BE(num, 0);
+      return tmp;
     }
-    function isReadableErrored(stream) {
-      var _stream$_readableStat, _stream$_readableStat2;
-      if (!isNodeStream(stream)) {
-        return null;
+    function _crc32(buf, previous) {
+      buf = ensureBuffer(buf);
+      if (Buffer.isBuffer(previous)) {
+        previous = previous.readUInt32BE(0);
       }
-      if (stream.readableErrored) {
-        return stream.readableErrored;
+      let crc = ~~previous ^ -1;
+      for (var n = 0; n < buf.length; n++) {
+        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
       }
-      return (_stream$_readableStat = (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === void 0 ? void 0 : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== void 0 ? _stream$_readableStat : null;
+      return crc ^ -1;
     }
-    function isClosed(stream) {
-      if (!isNodeStream(stream)) {
-        return null;
-      }
-      if (typeof stream.closed === "boolean") {
-        return stream.closed;
+    function crc32() {
+      return bufferizeInt(_crc32.apply(null, arguments));
+    }
+    crc32.signed = function() {
+      return _crc32.apply(null, arguments);
+    };
+    crc32.unsigned = function() {
+      return _crc32.apply(null, arguments) >>> 0;
+    };
+    var bufferCrc32 = crc32;
+    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
+    module2.exports = index;
+  }
+});
+
+// node_modules/archiver/lib/plugins/json.js
+var require_json = __commonJS({
+  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
+    var inherits = require("util").inherits;
+    var Transform = require_ours().Transform;
+    var crc32 = require_dist4();
+    var util = require_archiver_utils();
+    var Json = function(options) {
+      if (!(this instanceof Json)) {
+        return new Json(options);
       }
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      if (typeof (wState === null || wState === void 0 ? void 0 : wState.closed) === "boolean" || typeof (rState === null || rState === void 0 ? void 0 : rState.closed) === "boolean") {
-        return (wState === null || wState === void 0 ? void 0 : wState.closed) || (rState === null || rState === void 0 ? void 0 : rState.closed);
+      options = this.options = util.defaults(options, {});
+      Transform.call(this, options);
+      this.supports = {
+        directory: true,
+        symlink: true
+      };
+      this.files = [];
+    };
+    inherits(Json, Transform);
+    Json.prototype._transform = function(chunk, encoding, callback) {
+      callback(null, chunk);
+    };
+    Json.prototype._writeStringified = function() {
+      var fileString = JSON.stringify(this.files);
+      this.write(fileString);
+    };
+    Json.prototype.append = function(source, data, callback) {
+      var self2 = this;
+      data.crc32 = 0;
+      function onend(err, sourceBuffer) {
+        if (err) {
+          callback(err);
+          return;
+        }
+        data.size = sourceBuffer.length || 0;
+        data.crc32 = crc32.unsigned(sourceBuffer);
+        self2.files.push(data);
+        callback(null, data);
       }
-      if (typeof stream._closed === "boolean" && isOutgoingMessage(stream)) {
-        return stream._closed;
+      if (data.sourceType === "buffer") {
+        onend(null, source);
+      } else if (data.sourceType === "stream") {
+        util.collectStream(source, onend);
       }
-      return null;
-    }
-    function isOutgoingMessage(stream) {
-      return typeof stream._closed === "boolean" && typeof stream._defaultKeepAlive === "boolean" && typeof stream._removedConnection === "boolean" && typeof stream._removedContLen === "boolean";
-    }
-    function isServerResponse(stream) {
-      return typeof stream._sent100 === "boolean" && isOutgoingMessage(stream);
-    }
-    function isServerRequest(stream) {
-      var _stream$req;
-      return typeof stream._consuming === "boolean" && typeof stream._dumped === "boolean" && ((_stream$req = stream.req) === null || _stream$req === void 0 ? void 0 : _stream$req.upgradeOrConnect) === void 0;
-    }
-    function willEmitClose(stream) {
-      if (!isNodeStream(stream)) return null;
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const state = wState || rState;
-      return !state && isServerResponse(stream) || !!(state && state.autoDestroy && state.emitClose && state.closed === false);
-    }
-    function isDisturbed(stream) {
-      var _stream$kIsDisturbed;
-      return !!(stream && ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== void 0 ? _stream$kIsDisturbed : stream.readableDidRead || stream.readableAborted));
-    }
-    function isErrored(stream) {
-      var _ref, _ref2, _ref3, _ref4, _ref5, _stream$kIsErrored, _stream$_readableStat3, _stream$_writableStat3, _stream$_readableStat4, _stream$_writableStat4;
-      return !!(stream && ((_ref = (_ref2 = (_ref3 = (_ref4 = (_ref5 = (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== void 0 ? _stream$kIsErrored : stream.readableErrored) !== null && _ref5 !== void 0 ? _ref5 : stream.writableErrored) !== null && _ref4 !== void 0 ? _ref4 : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === void 0 ? void 0 : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== void 0 ? _ref3 : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === void 0 ? void 0 : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== void 0 ? _ref2 : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === void 0 ? void 0 : _stream$_readableStat4.errored) !== null && _ref !== void 0 ? _ref : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === void 0 ? void 0 : _stream$_writableStat4.errored));
-    }
-    module2.exports = {
-      isDestroyed,
-      kIsDestroyed,
-      isDisturbed,
-      kIsDisturbed,
-      isErrored,
-      kIsErrored,
-      isReadable,
-      kIsReadable,
-      kIsClosedPromise,
-      kControllerErrorFunction,
-      kIsWritable,
-      isClosed,
-      isDuplexNodeStream,
-      isFinished,
-      isIterable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableEnded,
-      isReadableFinished,
-      isReadableErrored,
-      isNodeStream,
-      isWebStream,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableEnded,
-      isWritableFinished,
-      isWritableErrored,
-      isServerRequest,
-      isServerResponse,
-      willEmitClose,
-      isTransformStream
     };
+    Json.prototype.finalize = function() {
+      this._writeStringified();
+      this.end();
+    };
+    module2.exports = Json;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
-var require_end_of_stream = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
-    var process2 = require_process();
-    var { AbortError, codes } = require_errors4();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes;
-    var { kEmptyObject, once } = require_util19();
-    var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators();
-    var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials();
-    var {
-      isClosed,
-      isReadable,
-      isReadableNodeStream,
-      isReadableStream,
-      isReadableFinished,
-      isReadableErrored,
-      isWritable,
-      isWritableNodeStream,
-      isWritableStream,
-      isWritableFinished,
-      isWritableErrored,
-      isNodeStream,
-      willEmitClose: _willEmitClose,
-      kIsClosedPromise
-    } = require_utils8();
-    var addAbortListener;
-    function isRequest(stream) {
-      return stream.setHeader && typeof stream.abort === "function";
-    }
-    var nop = () => {
+// node_modules/archiver/index.js
+var require_archiver = __commonJS({
+  "node_modules/archiver/index.js"(exports2, module2) {
+    var Archiver = require_core2();
+    var formats = {};
+    var vending = function(format, options) {
+      return vending.create(format, options);
     };
-    function eos(stream, options, callback) {
-      var _options$readable, _options$writable;
-      if (arguments.length === 2) {
-        callback = options;
-        options = kEmptyObject;
-      } else if (options == null) {
-        options = kEmptyObject;
+    vending.create = function(format, options) {
+      if (formats[format]) {
+        var instance = new Archiver(format, options);
+        instance.setFormat(format);
+        instance.setModule(new formats[format](options));
+        return instance;
       } else {
-        validateObject(options, "options");
+        throw new Error("create(" + format + "): format not registered");
       }
-      validateFunction(callback, "callback");
-      validateAbortSignal(options.signal, "options.signal");
-      callback = once(callback);
-      if (isReadableStream(stream) || isWritableStream(stream)) {
-        return eosWeb(stream, options, callback);
+    };
+    vending.registerFormat = function(format, module3) {
+      if (formats[format]) {
+        throw new Error("register(" + format + "): format already registered");
       }
-      if (!isNodeStream(stream)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+      if (typeof module3 !== "function") {
+        throw new Error("register(" + format + "): format module invalid");
       }
-      const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream);
-      const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream);
-      const wState = stream._writableState;
-      const rState = stream._readableState;
-      const onlegacyfinish = () => {
-        if (!stream.writable) {
-          onfinish();
-        }
-      };
-      let willEmitClose = _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable;
-      let writableFinished = isWritableFinished(stream, false);
-      const onfinish = () => {
-        writableFinished = true;
-        if (stream.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream.readable || readable)) {
-          return;
-        }
-        if (!readable || readableFinished) {
-          callback.call(stream);
-        }
-      };
-      let readableFinished = isReadableFinished(stream, false);
-      const onend = () => {
-        readableFinished = true;
-        if (stream.destroyed) {
-          willEmitClose = false;
-        }
-        if (willEmitClose && (!stream.writable || writable)) {
-          return;
-        }
-        if (!writable || writableFinished) {
-          callback.call(stream);
-        }
-      };
-      const onerror = (err) => {
-        callback.call(stream, err);
-      };
-      let closed = isClosed(stream);
-      const onclose = () => {
-        closed = true;
-        const errored = isWritableErrored(stream) || isReadableErrored(stream);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream, errored);
-        }
-        if (readable && !readableFinished && isReadableNodeStream(stream, true)) {
-          if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        if (writable && !writableFinished) {
-          if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
-        }
-        callback.call(stream);
-      };
-      const onclosed = () => {
-        closed = true;
-        const errored = isWritableErrored(stream) || isReadableErrored(stream);
-        if (errored && typeof errored !== "boolean") {
-          return callback.call(stream, errored);
-        }
-        callback.call(stream);
-      };
-      const onrequest = () => {
-        stream.req.on("finish", onfinish);
-      };
-      if (isRequest(stream)) {
-        stream.on("complete", onfinish);
-        if (!willEmitClose) {
-          stream.on("abort", onclose);
-        }
-        if (stream.req) {
-          onrequest();
-        } else {
-          stream.on("request", onrequest);
-        }
-      } else if (writable && !wState) {
-        stream.on("end", onlegacyfinish);
-        stream.on("close", onlegacyfinish);
+      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
+        throw new Error("register(" + format + "): format module missing methods");
       }
-      if (!willEmitClose && typeof stream.aborted === "boolean") {
-        stream.on("aborted", onclose);
+      formats[format] = module3;
+    };
+    vending.isRegisteredFormat = function(format) {
+      if (formats[format]) {
+        return true;
       }
-      stream.on("end", onend);
-      stream.on("finish", onfinish);
-      if (options.error !== false) {
-        stream.on("error", onerror);
+      return false;
+    };
+    vending.registerFormat("zip", require_zip());
+    vending.registerFormat("tar", require_tar());
+    vending.registerFormat("json", require_json());
+    module2.exports = vending;
+  }
+});
+
+// node_modules/@actions/artifact/lib/internal/upload/zip.js
+var require_zip2 = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
+    "use strict";
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      stream.on("close", onclose);
-      if (closed) {
-        process2.nextTick(onclose);
-      } else if (wState !== null && wState !== void 0 && wState.errorEmitted || rState !== null && rState !== void 0 && rState.errorEmitted) {
-        if (!willEmitClose) {
-          process2.nextTick(onclosed);
-        }
-      } else if (!readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === false)) {
-        process2.nextTick(onclosed);
-      } else if (!writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === false)) {
-        process2.nextTick(onclosed);
-      } else if (rState && stream.req && stream.aborted) {
-        process2.nextTick(onclosed);
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      const cleanup = () => {
-        callback = nop;
-        stream.removeListener("aborted", onclose);
-        stream.removeListener("complete", onfinish);
-        stream.removeListener("abort", onclose);
-        stream.removeListener("request", onrequest);
-        if (stream.req) stream.req.removeListener("finish", onfinish);
-        stream.removeListener("end", onlegacyfinish);
-        stream.removeListener("close", onlegacyfinish);
-        stream.removeListener("finish", onfinish);
-        stream.removeListener("end", onend);
-        stream.removeListener("error", onerror);
-        stream.removeListener("close", onclose);
-      };
-      if (options.signal && !closed) {
-        const abort = () => {
-          const endCallback = callback;
-          cleanup();
-          endCallback.call(
-            stream,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util19().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream, args);
-          });
-        }
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
+        });
       }
-      return cleanup;
-    }
-    function eosWeb(stream, options, callback) {
-      let isAborted = false;
-      let abort = nop;
-      if (options.signal) {
-        abort = () => {
-          isAborted = true;
-          callback.call(
-            stream,
-            new AbortError(void 0, {
-              cause: options.signal.reason
-            })
-          );
-        };
-        if (options.signal.aborted) {
-          process2.nextTick(abort);
-        } else {
-          addAbortListener = addAbortListener || require_util19().addAbortListener;
-          const disposable = addAbortListener(options.signal, abort);
-          const originalCallback = callback;
-          callback = once((...args) => {
-            disposable[SymbolDispose]();
-            originalCallback.apply(stream, args);
-          });
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      }
-      const resolverFn = (...args) => {
-        if (!isAborted) {
-          process2.nextTick(() => callback.apply(stream, args));
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-      };
-      PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn);
-      return nop;
-    }
-    function finished(stream, opts) {
-      var _opts;
-      let autoCleanup = false;
-      if (opts === null) {
-        opts = kEmptyObject;
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
+    var stream = __importStar2(require("stream"));
+    var promises_1 = require("fs/promises");
+    var archiver2 = __importStar2(require_archiver());
+    var core14 = __importStar2(require_core());
+    var config_1 = require_config();
+    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
+    var ZipUploadStream = class extends stream.Transform {
+      constructor(bufferSize) {
+        super({
+          highWaterMark: bufferSize
+        });
       }
-      if ((_opts = opts) !== null && _opts !== void 0 && _opts.cleanup) {
-        validateBoolean(opts.cleanup, "cleanup");
-        autoCleanup = opts.cleanup;
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      _transform(chunk, enc, cb) {
+        cb(null, chunk);
       }
-      return new Promise2((resolve2, reject) => {
-        const cleanup = eos(stream, opts, (err) => {
-          if (autoCleanup) {
-            cleanup();
-          }
-          if (err) {
-            reject(err);
+    };
+    exports2.ZipUploadStream = ZipUploadStream;
+    function createZipUploadStream(uploadSpecification_1) {
+      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
+        core14.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
+        const zip = archiver2.create("zip", {
+          highWaterMark: (0, config_1.getUploadChunkSize)(),
+          zlib: { level: compressionLevel }
+        });
+        zip.on("error", zipErrorCallback);
+        zip.on("warning", zipWarningCallback);
+        zip.on("finish", zipFinishCallback);
+        zip.on("end", zipEndCallback);
+        for (const file of uploadSpecification) {
+          if (file.sourcePath !== null) {
+            let sourcePath = file.sourcePath;
+            if (file.stats.isSymbolicLink()) {
+              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
+            }
+            zip.file(sourcePath, {
+              name: file.destinationPath
+            });
           } else {
-            resolve2();
+            zip.append("", { name: file.destinationPath });
           }
-        });
+        }
+        const bufferSize = (0, config_1.getUploadChunkSize)();
+        const zipUploadStream = new ZipUploadStream(bufferSize);
+        core14.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
+        core14.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
+        zip.pipe(zipUploadStream);
+        zip.finalize();
+        return zipUploadStream;
       });
     }
-    module2.exports = eos;
-    module2.exports.finished = finished;
+    exports2.createZipUploadStream = createZipUploadStream;
+    var zipErrorCallback = (error3) => {
+      core14.error("An error has occurred while creating the zip file for upload");
+      core14.info(error3);
+      throw new Error("An error has occurred during zip creation for the artifact");
+    };
+    var zipWarningCallback = (error3) => {
+      if (error3.code === "ENOENT") {
+        core14.warning("ENOENT warning during artifact zip creation. No such file or directory");
+        core14.info(error3);
+      } else {
+        core14.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
+        core14.info(error3);
+      }
+    };
+    var zipFinishCallback = () => {
+      core14.debug("Zip stream for upload has finished.");
+    };
+    var zipEndCallback = () => {
+      core14.debug("Zip stream for upload has ended.");
+    };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/destroy.js
-var require_destroy2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
+// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
+var require_upload_artifact = __commonJS({
+  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
     "use strict";
-    var process2 = require_process();
-    var {
-      aggregateTwoErrors,
-      codes: { ERR_MULTIPLE_CALLBACK },
-      AbortError
-    } = require_errors4();
-    var { Symbol: Symbol2 } = require_primordials();
-    var { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require_utils8();
-    var kDestroy = Symbol2("kDestroy");
-    var kConstruct = Symbol2("kConstruct");
-    function checkError(err, w, r) {
-      if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
-        }
-        if (r && !r.errored) {
-          r.errored = err;
-        }
-      }
-    }
-    function destroy(err, cb) {
-      const r = this._readableState;
-      const w = this._writableState;
-      const s = w || r;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        if (typeof cb === "function") {
-          cb();
-        }
-        return this;
-      }
-      checkError(err, w, r);
-      if (w) {
-        w.destroyed = true;
+    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      var desc = Object.getOwnPropertyDescriptor(m, k);
+      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() {
+          return m[k];
+        } };
       }
-      if (r) {
-        r.destroyed = true;
+      Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+      if (k2 === void 0) k2 = k;
+      o[k2] = m[k];
+    }));
+    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
+      Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+      o["default"] = v;
+    });
+    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
+      if (mod && mod.__esModule) return mod;
+      var result = {};
+      if (mod != null) {
+        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
       }
-      if (!s.constructed) {
-        this.once(kDestroy, function(er) {
-          _destroy(this, aggregateTwoErrors(er, err), cb);
+      __setModuleDefault2(result, mod);
+      return result;
+    };
+    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
+      function adopt(value) {
+        return value instanceof P ? value : new P(function(resolve2) {
+          resolve2(value);
         });
-      } else {
-        _destroy(this, err, cb);
       }
-      return this;
-    }
-    function _destroy(self2, err, cb) {
-      let called = false;
-      function onDestroy(err2) {
-        if (called) {
-          return;
+      return new (P || (P = Promise))(function(resolve2, reject) {
+        function fulfilled(value) {
+          try {
+            step(generator.next(value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        called = true;
-        const r = self2._readableState;
-        const w = self2._writableState;
-        checkError(err2, w, r);
-        if (w) {
-          w.closed = true;
+        function rejected(value) {
+          try {
+            step(generator["throw"](value));
+          } catch (e) {
+            reject(e);
+          }
         }
-        if (r) {
-          r.closed = true;
+        function step(result) {
+          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
-        if (typeof cb === "function") {
-          cb(err2);
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+      });
+    };
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.uploadArtifact = void 0;
+    var core14 = __importStar2(require_core());
+    var retention_1 = require_retention();
+    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
+    var artifact_twirp_client_1 = require_artifact_twirp_client2();
+    var upload_zip_specification_1 = require_upload_zip_specification();
+    var util_1 = require_util17();
+    var blob_upload_1 = require_blob_upload();
+    var zip_1 = require_zip2();
+    var generated_1 = require_generated();
+    var errors_1 = require_errors3();
+    function uploadArtifact(name, files, rootDirectory, options) {
+      return __awaiter2(this, void 0, void 0, function* () {
+        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
+        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
+        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
+        if (zipSpecification.length === 0) {
+          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
         }
-        if (err2) {
-          process2.nextTick(emitErrorCloseNT, self2, err2);
-        } else {
-          process2.nextTick(emitCloseNT, self2);
+        const backendIds = (0, util_1.getBackendIdsFromToken)();
+        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
+        const createArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          version: 4
+        };
+        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
+        if (expiresAt) {
+          createArtifactReq.expiresAt = expiresAt;
         }
-      }
-      try {
-        self2._destroy(err || null, onDestroy);
-      } catch (err2) {
-        onDestroy(err2);
-      }
-    }
-    function emitErrorCloseNT(self2, err) {
-      emitErrorNT(self2, err);
-      emitCloseNT(self2);
-    }
-    function emitCloseNT(self2) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w) {
-        w.closeEmitted = true;
-      }
-      if (r) {
-        r.closeEmitted = true;
-      }
-      if (w !== null && w !== void 0 && w.emitClose || r !== null && r !== void 0 && r.emitClose) {
-        self2.emit("close");
-      }
-    }
-    function emitErrorNT(self2, err) {
-      const r = self2._readableState;
-      const w = self2._writableState;
-      if (w !== null && w !== void 0 && w.errorEmitted || r !== null && r !== void 0 && r.errorEmitted) {
-        return;
-      }
-      if (w) {
-        w.errorEmitted = true;
-      }
-      if (r) {
-        r.errorEmitted = true;
-      }
-      self2.emit("error", err);
-    }
-    function undestroy() {
-      const r = this._readableState;
-      const w = this._writableState;
-      if (r) {
-        r.constructed = true;
-        r.closed = false;
-        r.closeEmitted = false;
-        r.destroyed = false;
-        r.errored = null;
-        r.errorEmitted = false;
-        r.reading = false;
-        r.ended = r.readable === false;
-        r.endEmitted = r.readable === false;
-      }
-      if (w) {
-        w.constructed = true;
-        w.destroyed = false;
-        w.closed = false;
-        w.closeEmitted = false;
-        w.errored = null;
-        w.errorEmitted = false;
-        w.finalCalled = false;
-        w.prefinished = false;
-        w.ended = w.writable === false;
-        w.ending = w.writable === false;
-        w.finished = w.writable === false;
-      }
-    }
-    function errorOrDestroy(stream, err, sync) {
-      const r = stream._readableState;
-      const w = stream._writableState;
-      if (w !== null && w !== void 0 && w.destroyed || r !== null && r !== void 0 && r.destroyed) {
-        return this;
-      }
-      if (r !== null && r !== void 0 && r.autoDestroy || w !== null && w !== void 0 && w.autoDestroy)
-        stream.destroy(err);
-      else if (err) {
-        err.stack;
-        if (w && !w.errored) {
-          w.errored = err;
+        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
+        if (!createArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
         }
-        if (r && !r.errored) {
-          r.errored = err;
+        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
+        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
+        const finalizeArtifactReq = {
+          workflowRunBackendId: backendIds.workflowRunBackendId,
+          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
+          name,
+          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
+        };
+        if (uploadResult.sha256Hash) {
+          finalizeArtifactReq.hash = generated_1.StringValue.create({
+            value: `sha256:${uploadResult.sha256Hash}`
+          });
         }
-        if (sync) {
-          process2.nextTick(emitErrorNT, stream, err);
-        } else {
-          emitErrorNT(stream, err);
+        core14.info(`Finalizing artifact upload`);
+        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
+        if (!finalizeArtifactResp.ok) {
+          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
         }
-      }
+        const artifactId = BigInt(finalizeArtifactResp.artifactId);
+        core14.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
+        return {
+          size: uploadResult.uploadSize,
+          digest: uploadResult.sha256Hash,
+          id: Number(artifactId)
+        };
+      });
     }
-    function construct(stream, cb) {
-      if (typeof stream._construct !== "function") {
-        return;
-      }
-      const r = stream._readableState;
-      const w = stream._writableState;
-      if (r) {
-        r.constructed = false;
-      }
-      if (w) {
-        w.constructed = false;
+    exports2.uploadArtifact = uploadArtifact;
+  }
+});
+
+// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
+var require_context2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.Context = void 0;
+    var fs_1 = require("fs");
+    var os_1 = require("os");
+    var Context = class {
+      /**
+       * Hydrate the context from the environment
+       */
+      constructor() {
+        var _a, _b, _c;
+        this.payload = {};
+        if (process.env.GITHUB_EVENT_PATH) {
+          if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) {
+            this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" }));
+          } else {
+            const path3 = process.env.GITHUB_EVENT_PATH;
+            process.stdout.write(`GITHUB_EVENT_PATH ${path3} does not exist${os_1.EOL}`);
+          }
+        }
+        this.eventName = process.env.GITHUB_EVENT_NAME;
+        this.sha = process.env.GITHUB_SHA;
+        this.ref = process.env.GITHUB_REF;
+        this.workflow = process.env.GITHUB_WORKFLOW;
+        this.action = process.env.GITHUB_ACTION;
+        this.actor = process.env.GITHUB_ACTOR;
+        this.job = process.env.GITHUB_JOB;
+        this.runAttempt = parseInt(process.env.GITHUB_RUN_ATTEMPT, 10);
+        this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);
+        this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);
+        this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;
+        this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;
+        this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;
       }
-      stream.once(kConstruct, cb);
-      if (stream.listenerCount(kConstruct) > 1) {
-        return;
+      get issue() {
+        const payload = this.payload;
+        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
       }
-      process2.nextTick(constructNT, stream);
-    }
-    function constructNT(stream) {
-      let called = false;
-      function onConstruct(err) {
-        if (called) {
-          errorOrDestroy(stream, err !== null && err !== void 0 ? err : new ERR_MULTIPLE_CALLBACK());
-          return;
-        }
-        called = true;
-        const r = stream._readableState;
-        const w = stream._writableState;
-        const s = w || r;
-        if (r) {
-          r.constructed = true;
-        }
-        if (w) {
-          w.constructed = true;
+      get repo() {
+        if (process.env.GITHUB_REPOSITORY) {
+          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
+          return { owner, repo };
         }
-        if (s.destroyed) {
-          stream.emit(kDestroy, err);
-        } else if (err) {
-          errorOrDestroy(stream, err, true);
-        } else {
-          process2.nextTick(emitConstructNT, stream);
+        if (this.payload.repository) {
+          return {
+            owner: this.payload.repository.owner.login,
+            repo: this.payload.repository.name
+          };
         }
+        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
       }
-      try {
-        stream._construct((err) => {
-          process2.nextTick(onConstruct, err);
-        });
-      } catch (err) {
-        process2.nextTick(onConstruct, err);
-      }
-    }
-    function emitConstructNT(stream) {
-      stream.emit(kConstruct);
-    }
-    function isRequest(stream) {
-      return (stream === null || stream === void 0 ? void 0 : stream.setHeader) && typeof stream.abort === "function";
-    }
-    function emitCloseLegacy(stream) {
-      stream.emit("close");
-    }
-    function emitErrorCloseLegacy(stream, err) {
-      stream.emit("error", err);
-      process2.nextTick(emitCloseLegacy, stream);
-    }
-    function destroyer(stream, err) {
-      if (!stream || isDestroyed(stream)) {
-        return;
-      }
-      if (!err && !isFinished(stream)) {
-        err = new AbortError();
-      }
-      if (isServerRequest(stream)) {
-        stream.socket = null;
-        stream.destroy(err);
-      } else if (isRequest(stream)) {
-        stream.abort();
-      } else if (isRequest(stream.req)) {
-        stream.req.abort();
-      } else if (typeof stream.destroy === "function") {
-        stream.destroy(err);
-      } else if (typeof stream.close === "function") {
-        stream.close();
-      } else if (err) {
-        process2.nextTick(emitErrorCloseLegacy, stream, err);
-      } else {
-        process2.nextTick(emitCloseLegacy, stream);
-      }
-      if (!stream.destroyed) {
-        stream[kIsDestroyed] = true;
-      }
-    }
-    module2.exports = {
-      construct,
-      destroyer,
-      destroy,
-      undestroy,
-      errorOrDestroy
     };
+    exports2.Context = Context;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/legacy.js
-var require_legacy = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/legacy.js"(exports2, module2) {
+// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
+var require_proxy2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
     "use strict";
-    var { ArrayIsArray, ObjectSetPrototypeOf } = require_primordials();
-    var { EventEmitter: EE } = require("events");
-    function Stream(opts) {
-      EE.call(this, opts);
-    }
-    ObjectSetPrototypeOf(Stream.prototype, EE.prototype);
-    ObjectSetPrototypeOf(Stream, EE);
-    Stream.prototype.pipe = function(dest, options) {
-      const source = this;
-      function ondata(chunk) {
-        if (dest.writable && dest.write(chunk) === false && source.pause) {
-          source.pause();
-        }
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.checkBypass = exports2.getProxyUrl = void 0;
+    function getProxyUrl(reqUrl) {
+      const usingSsl = reqUrl.protocol === "https:";
+      if (checkBypass(reqUrl)) {
+        return void 0;
       }
-      source.on("data", ondata);
-      function ondrain() {
-        if (source.readable && source.resume) {
-          source.resume();
+      const proxyVar = (() => {
+        if (usingSsl) {
+          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+        } else {
+          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+        }
+      })();
+      if (proxyVar) {
+        try {
+          return new DecodedURL(proxyVar);
+        } catch (_a) {
+          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
+            return new DecodedURL(`http://${proxyVar}`);
         }
+      } else {
+        return void 0;
       }
-      dest.on("drain", ondrain);
-      if (!dest._isStdio && (!options || options.end !== false)) {
-        source.on("end", onend);
-        source.on("close", onclose);
+    }
+    exports2.getProxyUrl = getProxyUrl;
+    function checkBypass(reqUrl) {
+      if (!reqUrl.hostname) {
+        return false;
       }
-      let didOnEnd = false;
-      function onend() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        dest.end();
+      const reqHost = reqUrl.hostname;
+      if (isLoopbackAddress(reqHost)) {
+        return true;
       }
-      function onclose() {
-        if (didOnEnd) return;
-        didOnEnd = true;
-        if (typeof dest.destroy === "function") dest.destroy();
+      const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || "";
+      if (!noProxy) {
+        return false;
       }
-      function onerror(er) {
-        cleanup();
-        if (EE.listenerCount(this, "error") === 0) {
-          this.emit("error", er);
+      let reqPort;
+      if (reqUrl.port) {
+        reqPort = Number(reqUrl.port);
+      } else if (reqUrl.protocol === "http:") {
+        reqPort = 80;
+      } else if (reqUrl.protocol === "https:") {
+        reqPort = 443;
+      }
+      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
+      if (typeof reqPort === "number") {
+        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
+      }
+      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
+        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
+          return true;
         }
       }
-      prependListener(source, "error", onerror);
-      prependListener(dest, "error", onerror);
-      function cleanup() {
-        source.removeListener("data", ondata);
-        dest.removeListener("drain", ondrain);
-        source.removeListener("end", onend);
-        source.removeListener("close", onclose);
-        source.removeListener("error", onerror);
-        dest.removeListener("error", onerror);
-        source.removeListener("end", cleanup);
-        source.removeListener("close", cleanup);
-        dest.removeListener("close", cleanup);
+      return false;
+    }
+    exports2.checkBypass = checkBypass;
+    function isLoopbackAddress(host) {
+      const hostLower = host.toLowerCase();
+      return hostLower === "localhost" || hostLower.startsWith("127.") || hostLower.startsWith("[::1]") || hostLower.startsWith("[0:0:0:0:0:0:0:1]");
+    }
+    var DecodedURL = class extends URL {
+      constructor(url, base) {
+        super(url, base);
+        this._decodedUsername = decodeURIComponent(super.username);
+        this._decodedPassword = decodeURIComponent(super.password);
+      }
+      get username() {
+        return this._decodedUsername;
+      }
+      get password() {
+        return this._decodedPassword;
       }
-      source.on("end", cleanup);
-      source.on("close", cleanup);
-      dest.on("close", cleanup);
-      dest.emit("pipe", source);
-      return dest;
     };
-    function prependListener(emitter, event, fn) {
-      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
-      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
-      else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn);
-      else emitter._events[event] = [fn, emitter._events[event]];
-    }
+  }
+});
+
+// node_modules/undici/lib/core/symbols.js
+var require_symbols11 = __commonJS({
+  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
-      Stream,
-      prependListener
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kDestroy: /* @__PURE__ */ Symbol("destroy"),
+      kDispatch: /* @__PURE__ */ Symbol("dispatch"),
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kWriting: /* @__PURE__ */ Symbol("writing"),
+      kResuming: /* @__PURE__ */ Symbol("resuming"),
+      kQueue: /* @__PURE__ */ Symbol("queue"),
+      kConnect: /* @__PURE__ */ Symbol("connect"),
+      kConnecting: /* @__PURE__ */ Symbol("connecting"),
+      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
+      kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
+      kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
+      kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
+      kKeepAliveTimeoutValue: /* @__PURE__ */ Symbol("keep alive timeout"),
+      kKeepAlive: /* @__PURE__ */ Symbol("keep alive"),
+      kHeadersTimeout: /* @__PURE__ */ Symbol("headers timeout"),
+      kBodyTimeout: /* @__PURE__ */ Symbol("body timeout"),
+      kServerName: /* @__PURE__ */ Symbol("server name"),
+      kLocalAddress: /* @__PURE__ */ Symbol("local address"),
+      kHost: /* @__PURE__ */ Symbol("host"),
+      kNoRef: /* @__PURE__ */ Symbol("no ref"),
+      kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kRunning: /* @__PURE__ */ Symbol("running"),
+      kBlocking: /* @__PURE__ */ Symbol("blocking"),
+      kPending: /* @__PURE__ */ Symbol("pending"),
+      kSize: /* @__PURE__ */ Symbol("size"),
+      kBusy: /* @__PURE__ */ Symbol("busy"),
+      kQueued: /* @__PURE__ */ Symbol("queued"),
+      kFree: /* @__PURE__ */ Symbol("free"),
+      kConnected: /* @__PURE__ */ Symbol("connected"),
+      kClosed: /* @__PURE__ */ Symbol("closed"),
+      kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
+      kReset: /* @__PURE__ */ Symbol("reset"),
+      kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
+      kRunningIdx: /* @__PURE__ */ Symbol("running index"),
+      kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
+      kError: /* @__PURE__ */ Symbol("error"),
+      kClients: /* @__PURE__ */ Symbol("clients"),
+      kClient: /* @__PURE__ */ Symbol("client"),
+      kParser: /* @__PURE__ */ Symbol("parser"),
+      kOnDestroyed: /* @__PURE__ */ Symbol("destroy callbacks"),
+      kPipelining: /* @__PURE__ */ Symbol("pipelining"),
+      kSocket: /* @__PURE__ */ Symbol("socket"),
+      kHostHeader: /* @__PURE__ */ Symbol("host header"),
+      kConnector: /* @__PURE__ */ Symbol("connector"),
+      kStrictContentLength: /* @__PURE__ */ Symbol("strict content length"),
+      kMaxRedirections: /* @__PURE__ */ Symbol("maxRedirections"),
+      kMaxRequests: /* @__PURE__ */ Symbol("maxRequestsPerClient"),
+      kProxy: /* @__PURE__ */ Symbol("proxy agent options"),
+      kCounter: /* @__PURE__ */ Symbol("socket request counter"),
+      kInterceptors: /* @__PURE__ */ Symbol("dispatch interceptors"),
+      kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
+      kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
+      kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
+      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
+      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
+      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
+      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
+      kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
+      kConstruct: /* @__PURE__ */ Symbol("constructable")
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/add-abort-signal.js
-var require_add_abort_signal = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(exports2, module2) {
+// node_modules/undici/lib/core/errors.js
+var require_errors5 = __commonJS({
+  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
-    var { SymbolDispose } = require_primordials();
-    var { AbortError, codes } = require_errors4();
-    var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils8();
-    var eos = require_end_of_stream();
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes;
-    var addAbortListener;
-    var validateAbortSignal = (signal, name) => {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal);
+    var UndiciError = class extends Error {
+      constructor(message) {
+        super(message);
+        this.name = "UndiciError";
+        this.code = "UND_ERR";
       }
     };
-    module2.exports.addAbortSignal = function addAbortSignal(signal, stream) {
-      validateAbortSignal(signal, "signal");
-      if (!isNodeStream(stream) && !isWebStream(stream)) {
-        throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream);
+    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ConnectTimeoutError);
+        this.name = "ConnectTimeoutError";
+        this.message = message || "Connect Timeout Error";
+        this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
-      return module2.exports.addAbortSignalNoValidate(signal, stream);
     };
-    module2.exports.addAbortSignalNoValidate = function(signal, stream) {
-      if (typeof signal !== "object" || !("aborted" in signal)) {
-        return stream;
+    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersTimeoutError);
+        this.name = "HeadersTimeoutError";
+        this.message = message || "Headers Timeout Error";
+        this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
-      const onAbort = isNodeStream(stream) ? () => {
-        stream.destroy(
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      } : () => {
-        stream[kControllerErrorFunction](
-          new AbortError(void 0, {
-            cause: signal.reason
-          })
-        );
-      };
-      if (signal.aborted) {
-        onAbort();
-      } else {
-        addAbortListener = addAbortListener || require_util19().addAbortListener;
-        const disposable = addAbortListener(signal, onAbort);
-        eos(stream, disposable[SymbolDispose]);
+    };
+    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _HeadersOverflowError);
+        this.name = "HeadersOverflowError";
+        this.message = message || "Headers Overflow Error";
+        this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
-      return stream;
     };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/buffer_list.js
-var require_buffer_list = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
-    "use strict";
-    var { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array: Uint8Array2 } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { inspect } = require_util19();
-    module2.exports = class BufferList {
-      constructor() {
-        this.head = null;
-        this.tail = null;
-        this.length = 0;
+    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _BodyTimeoutError);
+        this.name = "BodyTimeoutError";
+        this.message = message || "Body Timeout Error";
+        this.code = "UND_ERR_BODY_TIMEOUT";
       }
-      push(v) {
-        const entry = {
-          data: v,
-          next: null
-        };
-        if (this.length > 0) this.tail.next = entry;
-        else this.head = entry;
-        this.tail = entry;
-        ++this.length;
+    };
+    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+      constructor(message, statusCode, headers, body) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseStatusCodeError);
+        this.name = "ResponseStatusCodeError";
+        this.message = message || "Response Status Code Error";
+        this.code = "UND_ERR_RESPONSE_STATUS_CODE";
+        this.body = body;
+        this.status = statusCode;
+        this.statusCode = statusCode;
+        this.headers = headers;
       }
-      unshift(v) {
-        const entry = {
-          data: v,
-          next: this.head
-        };
-        if (this.length === 0) this.tail = entry;
-        this.head = entry;
-        ++this.length;
+    };
+    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidArgumentError);
+        this.name = "InvalidArgumentError";
+        this.message = message || "Invalid Argument Error";
+        this.code = "UND_ERR_INVALID_ARG";
       }
-      shift() {
-        if (this.length === 0) return;
-        const ret = this.head.data;
-        if (this.length === 1) this.head = this.tail = null;
-        else this.head = this.head.next;
-        --this.length;
-        return ret;
+    };
+    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InvalidReturnValueError);
+        this.name = "InvalidReturnValueError";
+        this.message = message || "Invalid Return Value Error";
+        this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
-      clear() {
-        this.head = this.tail = null;
-        this.length = 0;
+    };
+    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestAbortedError);
+        this.name = "AbortError";
+        this.message = message || "Request aborted";
+        this.code = "UND_ERR_ABORTED";
       }
-      join(s) {
-        if (this.length === 0) return "";
-        let p = this.head;
-        let ret = "" + p.data;
-        while ((p = p.next) !== null) ret += s + p.data;
-        return ret;
+    };
+    var InformationalError = class _InformationalError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _InformationalError);
+        this.name = "InformationalError";
+        this.message = message || "Request information";
+        this.code = "UND_ERR_INFO";
       }
-      concat(n) {
-        if (this.length === 0) return Buffer2.alloc(0);
-        const ret = Buffer2.allocUnsafe(n >>> 0);
-        let p = this.head;
-        let i = 0;
-        while (p) {
-          TypedArrayPrototypeSet(ret, p.data, i);
-          i += p.data.length;
-          p = p.next;
-        }
-        return ret;
+    };
+    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
+        this.name = "RequestContentLengthMismatchError";
+        this.message = message || "Request body length does not match content-length header";
+        this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
-      // Consumes a specified amount of bytes or characters from the buffered data.
-      consume(n, hasStrings) {
-        const data = this.head.data;
-        if (n < data.length) {
-          const slice = data.slice(0, n);
-          this.head.data = data.slice(n);
-          return slice;
-        }
-        if (n === data.length) {
-          return this.shift();
-        }
-        return hasStrings ? this._getString(n) : this._getBuffer(n);
+    };
+    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
+        this.name = "ResponseContentLengthMismatchError";
+        this.message = message || "Response body length does not match content-length header";
+        this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
-      first() {
-        return this.head.data;
+    };
+    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientDestroyedError);
+        this.name = "ClientDestroyedError";
+        this.message = message || "The client is destroyed";
+        this.code = "UND_ERR_DESTROYED";
       }
-      *[SymbolIterator]() {
-        for (let p = this.head; p; p = p.next) {
-          yield p.data;
-        }
+    };
+    var ClientClosedError = class _ClientClosedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ClientClosedError);
+        this.name = "ClientClosedError";
+        this.message = message || "The client is closed";
+        this.code = "UND_ERR_CLOSED";
       }
-      // Consumes a specified amount of characters from the buffered data.
-      _getString(n) {
-        let ret = "";
-        let p = this.head;
-        let c = 0;
-        do {
-          const str2 = p.data;
-          if (n > str2.length) {
-            ret += str2;
-            n -= str2.length;
-          } else {
-            if (n === str2.length) {
-              ret += str2;
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              ret += StringPrototypeSlice(str2, 0, n);
-              this.head = p;
-              p.data = StringPrototypeSlice(str2, n);
-            }
-            break;
-          }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+    };
+    var SocketError = class _SocketError extends UndiciError {
+      constructor(message, socket) {
+        super(message);
+        Error.captureStackTrace(this, _SocketError);
+        this.name = "SocketError";
+        this.message = message || "Socket error";
+        this.code = "UND_ERR_SOCKET";
+        this.socket = socket;
       }
-      // Consumes a specified amount of bytes from the buffered data.
-      _getBuffer(n) {
-        const ret = Buffer2.allocUnsafe(n);
-        const retLen = n;
-        let p = this.head;
-        let c = 0;
-        do {
-          const buf = p.data;
-          if (n > buf.length) {
-            TypedArrayPrototypeSet(ret, buf, retLen - n);
-            n -= buf.length;
-          } else {
-            if (n === buf.length) {
-              TypedArrayPrototypeSet(ret, buf, retLen - n);
-              ++c;
-              if (p.next) this.head = p.next;
-              else this.head = this.tail = null;
-            } else {
-              TypedArrayPrototypeSet(ret, new Uint8Array2(buf.buffer, buf.byteOffset, n), retLen - n);
-              this.head = p;
-              p.data = buf.slice(n);
-            }
-            break;
-          }
-          ++c;
-        } while ((p = p.next) !== null);
-        this.length -= c;
-        return ret;
+    };
+    var NotSupportedError = class _NotSupportedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _NotSupportedError);
+        this.name = "NotSupportedError";
+        this.message = message || "Not supported error";
+        this.code = "UND_ERR_NOT_SUPPORTED";
       }
-      // Make sure the linked list only shows the minimal necessary information.
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")](_2, options) {
-        return inspect(this, {
-          ...options,
-          // Only inspect one level.
-          depth: 0,
-          // It should not recurse.
-          customInspect: false
-        });
+    };
+    var BalancedPoolMissingUpstreamError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, NotSupportedError);
+        this.name = "MissingUpstreamError";
+        this.message = message || "No upstream has been added to the BalancedPool";
+        this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
+      }
+    };
+    var HTTPParserError = class _HTTPParserError extends Error {
+      constructor(message, code, data) {
+        super(message);
+        Error.captureStackTrace(this, _HTTPParserError);
+        this.name = "HTTPParserError";
+        this.code = code ? `HPE_${code}` : void 0;
+        this.data = data ? data.toString() : void 0;
+      }
+    };
+    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
+        this.name = "ResponseExceededMaxSizeError";
+        this.message = message || "Response content exceeded max size";
+        this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
+      }
+    };
+    var RequestRetryError = class _RequestRetryError extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        Error.captureStackTrace(this, _RequestRetryError);
+        this.name = "RequestRetryError";
+        this.message = message || "Request retry error";
+        this.code = "UND_ERR_REQ_RETRY";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
       }
     };
+    module2.exports = {
+      HTTPParserError,
+      UndiciError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      BodyTimeoutError,
+      RequestContentLengthMismatchError,
+      ConnectTimeoutError,
+      ResponseStatusCodeError,
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError,
+      ClientDestroyedError,
+      ClientClosedError,
+      InformationalError,
+      SocketError,
+      NotSupportedError,
+      ResponseContentLengthMismatchError,
+      BalancedPoolMissingUpstreamError,
+      ResponseExceededMaxSizeError,
+      RequestRetryError
+    };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/state.js
-var require_state3 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
+// node_modules/undici/lib/core/constants.js
+var require_constants19 = __commonJS({
+  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
-    var { MathFloor, NumberIsInteger } = require_primordials();
-    var { validateInteger } = require_validators();
-    var { ERR_INVALID_ARG_VALUE } = require_errors4().codes;
-    var defaultHighWaterMarkBytes = 16 * 1024;
-    var defaultHighWaterMarkObjectMode = 16;
-    function highWaterMarkFrom(options, isDuplex, duplexKey) {
-      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
-    }
-    function getDefaultHighWaterMark(objectMode) {
-      return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes;
-    }
-    function setDefaultHighWaterMark(objectMode, value) {
-      validateInteger(value, "value", 0);
-      if (objectMode) {
-        defaultHighWaterMarkObjectMode = value;
-      } else {
-        defaultHighWaterMarkBytes = value;
-      }
-    }
-    function getHighWaterMark(state, options, duplexKey, isDuplex) {
-      const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
-      if (hwm != null) {
-        if (!NumberIsInteger(hwm) || hwm < 0) {
-          const name = isDuplex ? `options.${duplexKey}` : "options.highWaterMark";
-          throw new ERR_INVALID_ARG_VALUE(name, hwm);
-        }
-        return MathFloor(hwm);
-      }
-      return getDefaultHighWaterMark(state.objectMode);
+    var headerNameLowerCasedRecord = {};
+    var wellknownHeaderNames = [
+      "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 i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = wellknownHeaderNames[i];
+      const lowerCasedKey = key.toLowerCase();
+      headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey;
     }
+    Object.setPrototypeOf(headerNameLowerCasedRecord, null);
     module2.exports = {
-      getHighWaterMark,
-      getDefaultHighWaterMark,
-      setDefaultHighWaterMark
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/from.js
-var require_from = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
+// node_modules/undici/lib/core/util.js
+var require_util23 = __commonJS({
+  "node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var process2 = require_process();
-    var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors4().codes;
-    function from(Readable, iterable, opts) {
-      let iterator2;
-      if (typeof iterable === "string" || iterable instanceof Buffer2) {
-        return new Readable({
-          objectMode: true,
-          ...opts,
-          read() {
-            this.push(iterable);
-            this.push(null);
-          }
-        });
+    var assert = require("assert");
+    var { kDestroyed, kBodyUsed } = require_symbols11();
+    var { IncomingMessage } = require("http");
+    var stream = require("stream");
+    var net = require("net");
+    var { InvalidArgumentError } = require_errors5();
+    var { Blob: Blob2 } = require("buffer");
+    var nodeUtil = require("util");
+    var { stringify } = require("querystring");
+    var { headerNameLowerCasedRecord } = require_constants19();
+    var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    function nop() {
+    }
+    function isStream(obj) {
+      return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
+    }
+    function isBlobLike(object) {
+      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+    }
+    function buildURL(url, queryParams) {
+      if (url.includes("?") || url.includes("#")) {
+        throw new Error('Query params cannot be passed when url already contains "?" or "#".');
       }
-      let isAsync;
-      if (iterable && iterable[SymbolAsyncIterator]) {
-        isAsync = true;
-        iterator2 = iterable[SymbolAsyncIterator]();
-      } else if (iterable && iterable[SymbolIterator]) {
-        isAsync = false;
-        iterator2 = iterable[SymbolIterator]();
-      } else {
-        throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable);
+      const stringified = stringify(queryParams);
+      if (stringified) {
+        url += "?" + stringified;
       }
-      const readable = new Readable({
-        objectMode: true,
-        highWaterMark: 1,
-        // TODO(ronag): What options should be allowed?
-        ...opts
-      });
-      let reading = false;
-      readable._read = function() {
-        if (!reading) {
-          reading = true;
-          next();
+      return url;
+    }
+    function parseURL(url) {
+      if (typeof url === "string") {
+        url = new URL(url);
+        if (!/^https?:/.test(url.origin || url.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
-      };
-      readable._destroy = function(error3, cb) {
-        PromisePrototypeThen(
-          close(error3),
-          () => process2.nextTick(cb, error3),
-          // nextTick is here in case cb throws
-          (e) => process2.nextTick(cb, e || error3)
-        );
-      };
-      async function close(error3) {
-        const hadError = error3 !== void 0 && error3 !== null;
-        const hasThrow = typeof iterator2.throw === "function";
-        if (hadError && hasThrow) {
-          const { value, done } = await iterator2.throw(error3);
-          await value;
-          if (done) {
-            return;
-          }
+        return url;
+      }
+      if (!url || typeof url !== "object") {
+        throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
+      }
+      if (!/^https?:/.test(url.origin || url.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+      }
+      if (!(url instanceof URL)) {
+        if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
+          throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
-        if (typeof iterator2.return === "function") {
-          const { value } = await iterator2.return();
-          await value;
+        if (url.path != null && typeof url.path !== "string") {
+          throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.");
         }
-      }
-      async function next() {
-        for (; ; ) {
-          try {
-            const { value, done } = isAsync ? await iterator2.next() : iterator2.next();
-            if (done) {
-              readable.push(null);
-            } else {
-              const res = value && typeof value.then === "function" ? await value : value;
-              if (res === null) {
-                reading = false;
-                throw new ERR_STREAM_NULL_VALUES();
-              } else if (readable.push(res)) {
-                continue;
-              } else {
-                reading = false;
-              }
-            }
-          } catch (err) {
-            readable.destroy(err);
-          }
-          break;
+        if (url.pathname != null && typeof url.pathname !== "string") {
+          throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.");
+        }
+        if (url.hostname != null && typeof url.hostname !== "string") {
+          throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.");
         }
+        if (url.origin != null && typeof url.origin !== "string") {
+          throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
+        }
+        const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
+        let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
+        let path3 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
+        if (origin.endsWith("/")) {
+          origin = origin.substring(0, origin.length - 1);
+        }
+        if (path3 && !path3.startsWith("/")) {
+          path3 = `/${path3}`;
+        }
+        url = new URL(origin + path3);
       }
-      return readable;
+      return url;
     }
-    module2.exports = from;
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/readable.js
-var require_readable4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeIndexOf,
-      NumberIsInteger,
-      NumberIsNaN,
-      NumberParseInt,
-      ObjectDefineProperties,
-      ObjectKeys,
-      ObjectSetPrototypeOf,
-      Promise: Promise2,
-      SafeSet,
-      SymbolAsyncDispose,
-      SymbolAsyncIterator,
-      Symbol: Symbol2
-    } = require_primordials();
-    module2.exports = Readable;
-    Readable.ReadableState = ReadableState;
-    var { EventEmitter: EE } = require("events");
-    var { Stream, prependListener } = require_legacy();
-    var { Buffer: Buffer2 } = require("buffer");
-    var { addAbortSignal } = require_add_abort_signal();
-    var eos = require_end_of_stream();
-    var debug4 = require_util19().debuglog("stream", (fn) => {
-      debug4 = fn;
-    });
-    var BufferList = require_buffer_list();
-    var destroyImpl = require_destroy2();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_METHOD_NOT_IMPLEMENTED,
-        ERR_OUT_OF_RANGE,
-        ERR_STREAM_PUSH_AFTER_EOF,
-        ERR_STREAM_UNSHIFT_AFTER_END_EVENT
-      },
-      AbortError
-    } = require_errors4();
-    var { validateObject } = require_validators();
-    var kPaused = Symbol2("kPaused");
-    var { StringDecoder } = require("string_decoder");
-    var from = require_from();
-    ObjectSetPrototypeOf(Readable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Readable, Stream);
-    var nop = () => {
-    };
-    var { errorOrDestroy } = destroyImpl;
-    var kObjectMode = 1 << 0;
-    var kEnded = 1 << 1;
-    var kEndEmitted = 1 << 2;
-    var kReading = 1 << 3;
-    var kConstructed = 1 << 4;
-    var kSync = 1 << 5;
-    var kNeedReadable = 1 << 6;
-    var kEmittedReadable = 1 << 7;
-    var kReadableListening = 1 << 8;
-    var kResumeScheduled = 1 << 9;
-    var kErrorEmitted = 1 << 10;
-    var kEmitClose = 1 << 11;
-    var kAutoDestroy = 1 << 12;
-    var kDestroyed = 1 << 13;
-    var kClosed = 1 << 14;
-    var kCloseEmitted = 1 << 15;
-    var kMultiAwaitDrain = 1 << 16;
-    var kReadingMore = 1 << 17;
-    var kDataEmitted = 1 << 18;
-    function makeBitMapDescriptor(bit) {
-      return {
-        enumerable: false,
-        get() {
-          return (this.state & bit) !== 0;
-        },
-        set(value) {
-          if (value) this.state |= bit;
-          else this.state &= ~bit;
-        }
-      };
+    function parseOrigin(url) {
+      url = parseURL(url);
+      if (url.pathname !== "/" || url.search || url.hash) {
+        throw new InvalidArgumentError("invalid url");
+      }
+      return url;
     }
-    ObjectDefineProperties(ReadableState.prototype, {
-      objectMode: makeBitMapDescriptor(kObjectMode),
-      ended: makeBitMapDescriptor(kEnded),
-      endEmitted: makeBitMapDescriptor(kEndEmitted),
-      reading: makeBitMapDescriptor(kReading),
-      // Stream is still being constructed and cannot be
-      // destroyed until construction finished or failed.
-      // Async construction is opt in, therefore we start as
-      // constructed.
-      constructed: makeBitMapDescriptor(kConstructed),
-      // A flag to be able to tell if the event 'readable'/'data' is emitted
-      // immediately, or on a later tick.  We set this to true at first, because
-      // any actions that shouldn't happen until "later" should generally also
-      // not happen before the first read call.
-      sync: makeBitMapDescriptor(kSync),
-      // Whenever we return null, then we set a flag to say
-      // that we're awaiting a 'readable' event emission.
-      needReadable: makeBitMapDescriptor(kNeedReadable),
-      emittedReadable: makeBitMapDescriptor(kEmittedReadable),
-      readableListening: makeBitMapDescriptor(kReadableListening),
-      resumeScheduled: makeBitMapDescriptor(kResumeScheduled),
-      // True if the error was already emitted and should not be thrown again.
-      errorEmitted: makeBitMapDescriptor(kErrorEmitted),
-      emitClose: makeBitMapDescriptor(kEmitClose),
-      autoDestroy: makeBitMapDescriptor(kAutoDestroy),
-      // Has it been destroyed.
-      destroyed: makeBitMapDescriptor(kDestroyed),
-      // Indicates whether the stream has finished destroying.
-      closed: makeBitMapDescriptor(kClosed),
-      // True if close has been emitted or would have been emitted
-      // depending on emitClose.
-      closeEmitted: makeBitMapDescriptor(kCloseEmitted),
-      multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),
-      // If true, a maybeReadMore has been scheduled.
-      readingMore: makeBitMapDescriptor(kReadingMore),
-      dataEmitted: makeBitMapDescriptor(kDataEmitted)
-    });
-    function ReadableState(options, stream, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
-      this.state = kEmitClose | kAutoDestroy | kConstructed | kSync;
-      if (options && options.objectMode) this.state |= kObjectMode;
-      if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode;
-      this.highWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.buffer = new BufferList();
-      this.length = 0;
-      this.pipes = [];
-      this.flowing = null;
-      this[kPaused] = null;
-      if (options && options.emitClose === false) this.state &= ~kEmitClose;
-      if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy;
-      this.errored = null;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.awaitDrainWriters = null;
-      this.decoder = null;
-      this.encoding = null;
-      if (options && options.encoding) {
-        this.decoder = new StringDecoder(options.encoding);
-        this.encoding = options.encoding;
+    function getHostname(host) {
+      if (host[0] === "[") {
+        const idx2 = host.indexOf("]");
+        assert(idx2 !== -1);
+        return host.substring(1, idx2);
       }
+      const idx = host.indexOf(":");
+      if (idx === -1) return host;
+      return host.substring(0, idx);
     }
-    function Readable(options) {
-      if (!(this instanceof Readable)) return new Readable(options);
-      const isDuplex = this instanceof require_duplex();
-      this._readableState = new ReadableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.read === "function") this._read = options.read;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal && !isDuplex) addAbortSignal(options.signal, this);
+    function getServerName(host) {
+      if (!host) {
+        return null;
+      }
+      assert.strictEqual(typeof host, "string");
+      const servername = getHostname(host);
+      if (net.isIP(servername)) {
+        return "";
+      }
+      return servername;
+    }
+    function deepClone(obj) {
+      return JSON.parse(JSON.stringify(obj));
+    }
+    function isAsyncIterable(obj) {
+      return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
+    }
+    function isIterable(obj) {
+      return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
+    }
+    function bodyLength(body) {
+      if (body == null) {
+        return 0;
+      } else if (isStream(body)) {
+        const state = body._readableState;
+        return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null;
+      } else if (isBlobLike(body)) {
+        return body.size != null ? body.size : null;
+      } else if (isBuffer(body)) {
+        return body.byteLength;
       }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        if (this._readableState.needReadable) {
-          maybeReadMore(this, this._readableState);
-        }
-      });
+      return null;
     }
-    Readable.prototype.destroy = destroyImpl.destroy;
-    Readable.prototype._undestroy = destroyImpl.undestroy;
-    Readable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Readable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    Readable.prototype[SymbolAsyncDispose] = function() {
-      let error3;
-      if (!this.destroyed) {
-        error3 = this.readableEnded ? null : new AbortError();
-        this.destroy(error3);
+    function isDestroyed(stream2) {
+      return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
+    }
+    function isReadableAborted(stream2) {
+      const state = stream2 && stream2._readableState;
+      return isDestroyed(stream2) && state && !state.endEmitted;
+    }
+    function destroy(stream2, err) {
+      if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
+        return;
       }
-      return new Promise2((resolve2, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve2(null)));
-    };
-    Readable.prototype.push = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, false);
-    };
-    Readable.prototype.unshift = function(chunk, encoding) {
-      return readableAddChunk(this, chunk, encoding, true);
-    };
-    function readableAddChunk(stream, chunk, encoding, addToFront) {
-      debug4("readableAddChunk", chunk);
-      const state = stream._readableState;
-      let err;
-      if ((state.state & kObjectMode) === 0) {
-        if (typeof chunk === "string") {
-          encoding = encoding || state.defaultEncoding;
-          if (state.encoding !== encoding) {
-            if (addToFront && state.encoding) {
-              chunk = Buffer2.from(chunk, encoding).toString(state.encoding);
-            } else {
-              chunk = Buffer2.from(chunk, encoding);
-              encoding = "";
-            }
-          }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "";
-        } else if (chunk != null) {
-          err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
+      if (typeof stream2.destroy === "function") {
+        if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) {
+          stream2.socket = null;
         }
+        stream2.destroy(err);
+      } else if (err) {
+        process.nextTick((stream3, err2) => {
+          stream3.emit("error", err2);
+        }, stream2, err);
       }
-      if (err) {
-        errorOrDestroy(stream, err);
-      } else if (chunk === null) {
-        state.state &= ~kReading;
-        onEofChunk(stream, state);
-      } else if ((state.state & kObjectMode) !== 0 || chunk && chunk.length > 0) {
-        if (addToFront) {
-          if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
-          else if (state.destroyed || state.errored) return false;
-          else addChunk(stream, state, chunk, true);
-        } else if (state.ended) {
-          errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
-        } else if (state.destroyed || state.errored) {
-          return false;
-        } else {
-          state.state &= ~kReading;
-          if (state.decoder && !encoding) {
-            chunk = state.decoder.write(chunk);
-            if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
-            else maybeReadMore(stream, state);
+      if (stream2.destroyed !== true) {
+        stream2[kDestroyed] = true;
+      }
+    }
+    var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/;
+    function parseKeepAliveTimeout(val) {
+      const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR);
+      return m ? parseInt(m[1], 10) * 1e3 : null;
+    }
+    function headerNameToString(value) {
+      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+    }
+    function parseHeaders(headers, obj = {}) {
+      if (!Array.isArray(headers)) return headers;
+      for (let i = 0; i < headers.length; i += 2) {
+        const key = headers[i].toString().toLowerCase();
+        let val = obj[key];
+        if (!val) {
+          if (Array.isArray(headers[i + 1])) {
+            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
           } else {
-            addChunk(stream, state, chunk, false);
+            obj[key] = headers[i + 1].toString("utf8");
           }
+        } else {
+          if (!Array.isArray(val)) {
+            val = [val];
+            obj[key] = val;
+          }
+          val.push(headers[i + 1].toString("utf8"));
         }
-      } else if (!addToFront) {
-        state.state &= ~kReading;
-        maybeReadMore(stream, state);
       }
-      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
+      if ("content-length" in obj && "content-disposition" in obj) {
+        obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1");
+      }
+      return obj;
     }
-    function addChunk(stream, state, chunk, addToFront) {
-      if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount("data") > 0) {
-        if ((state.state & kMultiAwaitDrain) !== 0) {
-          state.awaitDrainWriters.clear();
+    function parseRawHeaders(headers) {
+      const ret = [];
+      let hasContentLength = false;
+      let contentDispositionIdx = -1;
+      for (let n = 0; n < headers.length; n += 2) {
+        const key = headers[n + 0].toString();
+        const val = headers[n + 1].toString("utf8");
+        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
+          ret.push(key, val);
+          hasContentLength = true;
+        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = ret.push(key, val) - 1;
         } else {
-          state.awaitDrainWriters = null;
+          ret.push(key, val);
         }
-        state.dataEmitted = true;
-        stream.emit("data", chunk);
-      } else {
-        state.length += state.objectMode ? 1 : chunk.length;
-        if (addToFront) state.buffer.unshift(chunk);
-        else state.buffer.push(chunk);
-        if ((state.state & kNeedReadable) !== 0) emitReadable(stream);
-      }
-      maybeReadMore(stream, state);
-    }
-    Readable.prototype.isPaused = function() {
-      const state = this._readableState;
-      return state[kPaused] === true || state.flowing === false;
-    };
-    Readable.prototype.setEncoding = function(enc) {
-      const decoder = new StringDecoder(enc);
-      this._readableState.decoder = decoder;
-      this._readableState.encoding = this._readableState.decoder.encoding;
-      const buffer = this._readableState.buffer;
-      let content = "";
-      for (const data of buffer) {
-        content += decoder.write(data);
       }
-      buffer.clear();
-      if (content !== "") buffer.push(content);
-      this._readableState.length = content.length;
-      return this;
-    };
-    var MAX_HWM = 1073741824;
-    function computeNewHighWaterMark(n) {
-      if (n > MAX_HWM) {
-        throw new ERR_OUT_OF_RANGE("size", "<= 1GiB", n);
-      } else {
-        n--;
-        n |= n >>> 1;
-        n |= n >>> 2;
-        n |= n >>> 4;
-        n |= n >>> 8;
-        n |= n >>> 16;
-        n++;
+      if (hasContentLength && contentDispositionIdx !== -1) {
+        ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
       }
-      return n;
+      return ret;
     }
-    function howMuchToRead(n, state) {
-      if (n <= 0 || state.length === 0 && state.ended) return 0;
-      if ((state.state & kObjectMode) !== 0) return 1;
-      if (NumberIsNaN(n)) {
-        if (state.flowing && state.length) return state.buffer.first().length;
-        return state.length;
-      }
-      if (n <= state.length) return n;
-      return state.ended ? state.length : 0;
+    function isBuffer(buffer) {
+      return buffer instanceof Uint8Array || Buffer.isBuffer(buffer);
     }
-    Readable.prototype.read = function(n) {
-      debug4("read", n);
-      if (n === void 0) {
-        n = NaN;
-      } else if (!NumberIsInteger(n)) {
-        n = NumberParseInt(n, 10);
+    function validateHandler(handler2, method, upgrade) {
+      if (!handler2 || typeof handler2 !== "object") {
+        throw new InvalidArgumentError("handler must be an object");
       }
-      const state = this._readableState;
-      const nOrig = n;
-      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
-      if (n !== 0) state.state &= ~kEmittedReadable;
-      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
-        debug4("read: emitReadable", state.length, state.ended);
-        if (state.length === 0 && state.ended) endReadable(this);
-        else emitReadable(this);
-        return null;
+      if (typeof handler2.onConnect !== "function") {
+        throw new InvalidArgumentError("invalid onConnect method");
       }
-      n = howMuchToRead(n, state);
-      if (n === 0 && state.ended) {
-        if (state.length === 0) endReadable(this);
-        return null;
+      if (typeof handler2.onError !== "function") {
+        throw new InvalidArgumentError("invalid onError method");
       }
-      let doRead = (state.state & kNeedReadable) !== 0;
-      debug4("need readable", doRead);
-      if (state.length === 0 || state.length - n < state.highWaterMark) {
-        doRead = true;
-        debug4("length less than watermark", doRead);
+      if (typeof handler2.onBodySent !== "function" && handler2.onBodySent !== void 0) {
+        throw new InvalidArgumentError("invalid onBodySent method");
       }
-      if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {
-        doRead = false;
-        debug4("reading, ended or constructing", doRead);
-      } else if (doRead) {
-        debug4("do read");
-        state.state |= kReading | kSync;
-        if (state.length === 0) state.state |= kNeedReadable;
-        try {
-          this._read(state.highWaterMark);
-        } catch (err) {
-          errorOrDestroy(this, err);
+      if (upgrade || method === "CONNECT") {
+        if (typeof handler2.onUpgrade !== "function") {
+          throw new InvalidArgumentError("invalid onUpgrade method");
         }
-        state.state &= ~kSync;
-        if (!state.reading) n = howMuchToRead(nOrig, state);
-      }
-      let ret;
-      if (n > 0) ret = fromList(n, state);
-      else ret = null;
-      if (ret === null) {
-        state.needReadable = state.length <= state.highWaterMark;
-        n = 0;
       } else {
-        state.length -= n;
-        if (state.multiAwaitDrain) {
-          state.awaitDrainWriters.clear();
-        } else {
-          state.awaitDrainWriters = null;
+        if (typeof handler2.onHeaders !== "function") {
+          throw new InvalidArgumentError("invalid onHeaders method");
+        }
+        if (typeof handler2.onData !== "function") {
+          throw new InvalidArgumentError("invalid onData method");
+        }
+        if (typeof handler2.onComplete !== "function") {
+          throw new InvalidArgumentError("invalid onComplete method");
         }
       }
-      if (state.length === 0) {
-        if (!state.ended) state.needReadable = true;
-        if (nOrig !== n && state.ended) endReadable(this);
+    }
+    function isDisturbed(body) {
+      return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+    }
+    function isErrored(body) {
+      return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test(
+        nodeUtil.inspect(body)
+      )));
+    }
+    function isReadable(body) {
+      return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test(
+        nodeUtil.inspect(body)
+      )));
+    }
+    function getSocketInfo(socket) {
+      return {
+        localAddress: socket.localAddress,
+        localPort: socket.localPort,
+        remoteAddress: socket.remoteAddress,
+        remotePort: socket.remotePort,
+        remoteFamily: socket.remoteFamily,
+        timeout: socket.timeout,
+        bytesWritten: socket.bytesWritten,
+        bytesRead: socket.bytesRead
+      };
+    }
+    async function* convertIterableToBuffer(iterable) {
+      for await (const chunk of iterable) {
+        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
       }
-      if (ret !== null && !state.errorEmitted && !state.closeEmitted) {
-        state.dataEmitted = true;
-        this.emit("data", ret);
+    }
+    var ReadableStream2;
+    function ReadableStreamFrom(iterable) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      return ret;
-    };
-    function onEofChunk(stream, state) {
-      debug4("onEofChunk");
-      if (state.ended) return;
-      if (state.decoder) {
-        const chunk = state.decoder.end();
-        if (chunk && chunk.length) {
-          state.buffer.push(chunk);
-          state.length += state.objectMode ? 1 : chunk.length;
-        }
+      if (ReadableStream2.from) {
+        return ReadableStream2.from(convertIterableToBuffer(iterable));
       }
-      state.ended = true;
-      if (state.sync) {
-        emitReadable(stream);
+      let iterator2;
+      return new ReadableStream2(
+        {
+          async start() {
+            iterator2 = iterable[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { done, value } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
+              controller.enqueue(new Uint8Array(buf));
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          }
+        },
+        0
+      );
+    }
+    function isFormDataLike(object) {
+      return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
+    }
+    function throwIfAborted(signal) {
+      if (!signal) {
+        return;
+      }
+      if (typeof signal.throwIfAborted === "function") {
+        signal.throwIfAborted();
       } else {
-        state.needReadable = false;
-        state.emittedReadable = true;
-        emitReadable_(stream);
+        if (signal.aborted) {
+          const err = new Error("The operation was aborted");
+          err.name = "AbortError";
+          throw err;
+        }
       }
     }
-    function emitReadable(stream) {
-      const state = stream._readableState;
-      debug4("emitReadable", state.needReadable, state.emittedReadable);
-      state.needReadable = false;
-      if (!state.emittedReadable) {
-        debug4("emitReadable", state.flowing);
-        state.emittedReadable = true;
-        process2.nextTick(emitReadable_, stream);
+    function addAbortListener(signal, listener) {
+      if ("addEventListener" in signal) {
+        signal.addEventListener("abort", listener, { once: true });
+        return () => signal.removeEventListener("abort", listener);
       }
+      signal.addListener("abort", listener);
+      return () => signal.removeListener("abort", listener);
     }
-    function emitReadable_(stream) {
-      const state = stream._readableState;
-      debug4("emitReadable_", state.destroyed, state.length, state.ended);
-      if (!state.destroyed && !state.errored && (state.length || state.ended)) {
-        stream.emit("readable");
-        state.emittedReadable = false;
+    var hasToWellFormed = !!String.prototype.toWellFormed;
+    function toUSVString(val) {
+      if (hasToWellFormed) {
+        return `${val}`.toWellFormed();
+      } else if (nodeUtil.toUSVString) {
+        return nodeUtil.toUSVString(val);
       }
-      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
-      flow(stream);
+      return `${val}`;
     }
-    function maybeReadMore(stream, state) {
-      if (!state.readingMore && state.constructed) {
-        state.readingMore = true;
-        process2.nextTick(maybeReadMore_, stream, state);
-      }
+    function parseRangeHeader(range) {
+      if (range == null || range === "") return { start: 0, end: null, size: null };
+      const m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null;
+      return m ? {
+        start: parseInt(m[1]),
+        end: m[2] ? parseInt(m[2]) : null,
+        size: m[3] ? parseInt(m[3]) : null
+      } : null;
     }
-    function maybeReadMore_(stream, state) {
-      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
-        const len = state.length;
-        debug4("maybeReadMore read 0");
-        stream.read(0);
-        if (len === state.length)
-          break;
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
+    module2.exports = {
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isReadableAborted,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
+      isStream,
+      isIterable,
+      isAsyncIterable,
+      isDestroyed,
+      headerNameToString,
+      parseRawHeaders,
+      parseHeaders,
+      parseKeepAliveTimeout,
+      destroy,
+      bodyLength,
+      deepClone,
+      ReadableStreamFrom,
+      isBuffer,
+      validateHandler,
+      getSocketInfo,
+      isFormDataLike,
+      buildURL,
+      throwIfAborted,
+      addAbortListener,
+      parseRangeHeader,
+      nodeMajor,
+      nodeMinor,
+      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+    };
+  }
+});
+
+// node_modules/undici/lib/timers.js
+var require_timers3 = __commonJS({
+  "node_modules/undici/lib/timers.js"(exports2, module2) {
+    "use strict";
+    var fastNow = Date.now();
+    var fastNowTimeout;
+    var fastTimers = [];
+    function onTimeout() {
+      fastNow = Date.now();
+      let len = fastTimers.length;
+      let idx = 0;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer.state === 0) {
+          timer.state = fastNow + timer.delay;
+        } else if (timer.state > 0 && fastNow >= timer.state) {
+          timer.state = -1;
+          timer.callback(timer.opaque);
+        }
+        if (timer.state === -1) {
+          timer.state = -2;
+          if (idx !== len - 1) {
+            fastTimers[idx] = fastTimers.pop();
+          } else {
+            fastTimers.pop();
+          }
+          len -= 1;
+        } else {
+          idx += 1;
+        }
+      }
+      if (fastTimers.length > 0) {
+        refreshTimeout();
       }
-      state.readingMore = false;
     }
-    Readable.prototype._read = function(n) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_read()");
-    };
-    Readable.prototype.pipe = function(dest, pipeOpts) {
-      const src = this;
-      const state = this._readableState;
-      if (state.pipes.length === 1) {
-        if (!state.multiAwaitDrain) {
-          state.multiAwaitDrain = true;
-          state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : []);
+    function refreshTimeout() {
+      if (fastNowTimeout && fastNowTimeout.refresh) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTimeout, 1e3);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
         }
       }
-      state.pipes.push(dest);
-      debug4("pipe count=%d opts=%j", state.pipes.length, pipeOpts);
-      const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process2.stdout && dest !== process2.stderr;
-      const endFn = doEnd ? onend : unpipe;
-      if (state.endEmitted) process2.nextTick(endFn);
-      else src.once("end", endFn);
-      dest.on("unpipe", onunpipe);
-      function onunpipe(readable, unpipeInfo) {
-        debug4("onunpipe");
-        if (readable === src) {
-          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
-            unpipeInfo.hasUnpiped = true;
-            cleanup();
+    }
+    var Timeout = class {
+      constructor(callback, delay, opaque) {
+        this.callback = callback;
+        this.delay = delay;
+        this.opaque = opaque;
+        this.state = -2;
+        this.refresh();
+      }
+      refresh() {
+        if (this.state === -2) {
+          fastTimers.push(this);
+          if (!fastNowTimeout || fastTimers.length === 1) {
+            refreshTimeout();
           }
         }
+        this.state = 0;
       }
-      function onend() {
-        debug4("onend");
-        dest.end();
+      clear() {
+        this.state = -1;
       }
-      let ondrain;
-      let cleanedUp = false;
-      function cleanup() {
-        debug4("cleanup");
-        dest.removeListener("close", onclose);
-        dest.removeListener("finish", onfinish);
-        if (ondrain) {
-          dest.removeListener("drain", ondrain);
+    };
+    module2.exports = {
+      setTimeout(callback, delay, opaque) {
+        return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);
+      },
+      clearTimeout(timeout) {
+        if (timeout instanceof Timeout) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
         }
-        dest.removeListener("error", onerror);
-        dest.removeListener("unpipe", onunpipe);
-        src.removeListener("end", onend);
-        src.removeListener("end", unpipe);
-        src.removeListener("data", ondata);
-        cleanedUp = true;
-        if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain();
       }
-      function pause() {
-        if (!cleanedUp) {
-          if (state.pipes.length === 1 && state.pipes[0] === dest) {
-            debug4("false write response, pause", 0);
-            state.awaitDrainWriters = dest;
-            state.multiAwaitDrain = false;
-          } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {
-            debug4("false write response, pause", state.awaitDrainWriters.size);
-            state.awaitDrainWriters.add(dest);
-          }
-          src.pause();
-        }
-        if (!ondrain) {
-          ondrain = pipeOnDrain(src, dest);
-          dest.on("drain", ondrain);
-        }
+    };
+  }
+});
+
+// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
+var require_sbmh = __commonJS({
+  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    function SBMH(needle) {
+      if (typeof needle === "string") {
+        needle = Buffer.from(needle);
       }
-      src.on("data", ondata);
-      function ondata(chunk) {
-        debug4("ondata");
-        const ret = dest.write(chunk);
-        debug4("dest.write", ret);
-        if (ret === false) {
-          pause();
-        }
+      if (!Buffer.isBuffer(needle)) {
+        throw new TypeError("The needle has to be a String or a Buffer.");
       }
-      function onerror(er) {
-        debug4("onerror", er);
-        unpipe();
-        dest.removeListener("error", onerror);
-        if (dest.listenerCount("error") === 0) {
-          const s = dest._writableState || dest._readableState;
-          if (s && !s.errorEmitted) {
-            errorOrDestroy(dest, er);
-          } else {
-            dest.emit("error", er);
-          }
-        }
+      const needleLength = needle.length;
+      if (needleLength === 0) {
+        throw new Error("The needle cannot be an empty String/Buffer.");
       }
-      prependListener(dest, "error", onerror);
-      function onclose() {
-        dest.removeListener("finish", onfinish);
-        unpipe();
+      if (needleLength > 256) {
+        throw new Error("The needle cannot have a length bigger than 256.");
       }
-      dest.once("close", onclose);
-      function onfinish() {
-        debug4("onfinish");
-        dest.removeListener("close", onclose);
-        unpipe();
+      this.maxMatches = Infinity;
+      this.matches = 0;
+      this._occ = new Array(256).fill(needleLength);
+      this._lookbehind_size = 0;
+      this._needle = needle;
+      this._bufpos = 0;
+      this._lookbehind = Buffer.alloc(needleLength);
+      for (var i = 0; i < needleLength - 1; ++i) {
+        this._occ[needle[i]] = needleLength - 1 - i;
       }
-      dest.once("finish", onfinish);
-      function unpipe() {
-        debug4("unpipe");
-        src.unpipe(dest);
+    }
+    inherits(SBMH, EventEmitter);
+    SBMH.prototype.reset = function() {
+      this._lookbehind_size = 0;
+      this.matches = 0;
+      this._bufpos = 0;
+    };
+    SBMH.prototype.push = function(chunk, pos) {
+      if (!Buffer.isBuffer(chunk)) {
+        chunk = Buffer.from(chunk, "binary");
       }
-      dest.emit("pipe", src);
-      if (dest.writableNeedDrain === true) {
-        pause();
-      } else if (!state.flowing) {
-        debug4("pipe resume");
-        src.resume();
+      const chlen = chunk.length;
+      this._bufpos = pos || 0;
+      let r;
+      while (r !== chlen && this.matches < this.maxMatches) {
+        r = this._sbmh_feed(chunk);
       }
-      return dest;
+      return r;
     };
-    function pipeOnDrain(src, dest) {
-      return function pipeOnDrainFunctionResult() {
-        const state = src._readableState;
-        if (state.awaitDrainWriters === dest) {
-          debug4("pipeOnDrain", 1);
-          state.awaitDrainWriters = null;
-        } else if (state.multiAwaitDrain) {
-          debug4("pipeOnDrain", state.awaitDrainWriters.size);
-          state.awaitDrainWriters.delete(dest);
+    SBMH.prototype._sbmh_feed = function(data) {
+      const len = data.length;
+      const needle = this._needle;
+      const needleLength = needle.length;
+      const lastNeedleChar = needle[needleLength - 1];
+      let pos = -this._lookbehind_size;
+      let ch;
+      if (pos < 0) {
+        while (pos < 0 && pos <= len - needleLength) {
+          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
+          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
+            this._lookbehind_size = 0;
+            ++this.matches;
+            this.emit("info", true);
+            return this._bufpos = pos + needleLength;
+          }
+          pos += this._occ[ch];
         }
-        if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) {
-          src.resume();
+        if (pos < 0) {
+          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
+            ++pos;
+          }
         }
-      };
-    }
-    Readable.prototype.unpipe = function(dest) {
-      const state = this._readableState;
-      const unpipeInfo = {
-        hasUnpiped: false
-      };
-      if (state.pipes.length === 0) return this;
-      if (!dest) {
-        const dests = state.pipes;
-        state.pipes = [];
-        this.pause();
-        for (let i = 0; i < dests.length; i++)
-          dests[i].emit("unpipe", this, {
-            hasUnpiped: false
-          });
-        return this;
-      }
-      const index = ArrayPrototypeIndexOf(state.pipes, dest);
-      if (index === -1) return this;
-      state.pipes.splice(index, 1);
-      if (state.pipes.length === 0) this.pause();
-      dest.emit("unpipe", this, unpipeInfo);
-      return this;
-    };
-    Readable.prototype.on = function(ev, fn) {
-      const res = Stream.prototype.on.call(this, ev, fn);
-      const state = this._readableState;
-      if (ev === "data") {
-        state.readableListening = this.listenerCount("readable") > 0;
-        if (state.flowing !== false) this.resume();
-      } else if (ev === "readable") {
-        if (!state.endEmitted && !state.readableListening) {
-          state.readableListening = state.needReadable = true;
-          state.flowing = false;
-          state.emittedReadable = false;
-          debug4("on readable", state.length, state.reading);
-          if (state.length) {
-            emitReadable(this);
-          } else if (!state.reading) {
-            process2.nextTick(nReadingNextTick, this);
+        if (pos >= 0) {
+          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
+          this._lookbehind_size = 0;
+        } else {
+          const bytesToCutOff = this._lookbehind_size + pos;
+          if (bytesToCutOff > 0) {
+            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
           }
+          this._lookbehind.copy(
+            this._lookbehind,
+            0,
+            bytesToCutOff,
+            this._lookbehind_size - bytesToCutOff
+          );
+          this._lookbehind_size -= bytesToCutOff;
+          data.copy(this._lookbehind, this._lookbehind_size);
+          this._lookbehind_size += len;
+          this._bufpos = len;
+          return len;
         }
       }
-      return res;
-    };
-    Readable.prototype.addListener = Readable.prototype.on;
-    Readable.prototype.removeListener = function(ev, fn) {
-      const res = Stream.prototype.removeListener.call(this, ev, fn);
-      if (ev === "readable") {
-        process2.nextTick(updateReadableListening, this);
+      pos += (pos >= 0) * this._bufpos;
+      if (data.indexOf(needle, pos) !== -1) {
+        pos = data.indexOf(needle, pos);
+        ++this.matches;
+        if (pos > 0) {
+          this.emit("info", true, data, this._bufpos, pos);
+        } else {
+          this.emit("info", true);
+        }
+        return this._bufpos = pos + needleLength;
+      } else {
+        pos = len - needleLength;
       }
-      return res;
-    };
-    Readable.prototype.off = Readable.prototype.removeListener;
-    Readable.prototype.removeAllListeners = function(ev) {
-      const res = Stream.prototype.removeAllListeners.apply(this, arguments);
-      if (ev === "readable" || ev === void 0) {
-        process2.nextTick(updateReadableListening, this);
+      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
+        data.subarray(pos, pos + len - pos),
+        needle.subarray(0, len - pos)
+      ) !== 0)) {
+        ++pos;
       }
-      return res;
-    };
-    function updateReadableListening(self2) {
-      const state = self2._readableState;
-      state.readableListening = self2.listenerCount("readable") > 0;
-      if (state.resumeScheduled && state[kPaused] === false) {
-        state.flowing = true;
-      } else if (self2.listenerCount("data") > 0) {
-        self2.resume();
-      } else if (!state.readableListening) {
-        state.flowing = null;
+      if (pos < len) {
+        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
+        this._lookbehind_size = len - pos;
       }
-    }
-    function nReadingNextTick(self2) {
-      debug4("readable nexttick read 0");
-      self2.read(0);
-    }
-    Readable.prototype.resume = function() {
-      const state = this._readableState;
-      if (!state.flowing) {
-        debug4("resume");
-        state.flowing = !state.readableListening;
-        resume(this, state);
+      if (pos > 0) {
+        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
       }
-      state[kPaused] = false;
-      return this;
+      this._bufpos = len;
+      return len;
     };
-    function resume(stream, state) {
-      if (!state.resumeScheduled) {
-        state.resumeScheduled = true;
-        process2.nextTick(resume_, stream, state);
+    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
+      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
+    };
+    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
+      for (var i = 0; i < len; ++i) {
+        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
+          return false;
+        }
       }
+      return true;
+    };
+    module2.exports = SBMH;
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
+var require_PartStream = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
+    "use strict";
+    var inherits = require("node:util").inherits;
+    var ReadableStream2 = require("node:stream").Readable;
+    function PartStream(opts) {
+      ReadableStream2.call(this, opts);
     }
-    function resume_(stream, state) {
-      debug4("resume", state.reading);
-      if (!state.reading) {
-        stream.read(0);
+    inherits(PartStream, ReadableStream2);
+    PartStream.prototype._read = function(n) {
+    };
+    module2.exports = PartStream;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/getLimit.js
+var require_getLimit = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function getLimit(limits, name, defaultLimit) {
+      if (!limits || limits[name] === void 0 || limits[name] === null) {
+        return defaultLimit;
       }
-      state.resumeScheduled = false;
-      stream.emit("resume");
-      flow(stream);
-      if (state.flowing && !state.reading) stream.read(0);
-    }
-    Readable.prototype.pause = function() {
-      debug4("call pause flowing=%j", this._readableState.flowing);
-      if (this._readableState.flowing !== false) {
-        debug4("pause");
-        this._readableState.flowing = false;
-        this.emit("pause");
+      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
+        throw new TypeError("Limit " + name + " is not a valid number");
       }
-      this._readableState[kPaused] = true;
-      return this;
+      return limits[name];
     };
-    function flow(stream) {
-      const state = stream._readableState;
-      debug4("flow", state.flowing);
-      while (state.flowing && stream.read() !== null) ;
-    }
-    Readable.prototype.wrap = function(stream) {
-      let paused = false;
-      stream.on("data", (chunk) => {
-        if (!this.push(chunk) && stream.pause) {
-          paused = true;
-          stream.pause();
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
+var require_HeaderParser = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("node:events").EventEmitter;
+    var inherits = require("node:util").inherits;
+    var getLimit = require_getLimit();
+    var StreamSearch = require_sbmh();
+    var B_DCRLF = Buffer.from("\r\n\r\n");
+    var RE_CRLF = /\r\n/g;
+    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
+    function HeaderParser(cfg) {
+      EventEmitter.call(this);
+      cfg = cfg || {};
+      const self2 = this;
+      this.nread = 0;
+      this.maxed = false;
+      this.npairs = 0;
+      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
+      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
+      this.buffer = "";
+      this.header = {};
+      this.finished = false;
+      this.ss = new StreamSearch(B_DCRLF);
+      this.ss.on("info", function(isMatch, data, start, end) {
+        if (data && !self2.maxed) {
+          if (self2.nread + end - start >= self2.maxHeaderSize) {
+            end = self2.maxHeaderSize - self2.nread + start;
+            self2.nread = self2.maxHeaderSize;
+            self2.maxed = true;
+          } else {
+            self2.nread += end - start;
+          }
+          self2.buffer += data.toString("binary", start, end);
+        }
+        if (isMatch) {
+          self2._finish();
         }
       });
-      stream.on("end", () => {
-        this.push(null);
-      });
-      stream.on("error", (err) => {
-        errorOrDestroy(this, err);
-      });
-      stream.on("close", () => {
-        this.destroy();
-      });
-      stream.on("destroy", () => {
-        this.destroy();
-      });
-      this._read = () => {
-        if (paused && stream.resume) {
-          paused = false;
-          stream.resume();
+    }
+    inherits(HeaderParser, EventEmitter);
+    HeaderParser.prototype.push = function(data) {
+      const r = this.ss.push(data);
+      if (this.finished) {
+        return r;
+      }
+    };
+    HeaderParser.prototype.reset = function() {
+      this.finished = false;
+      this.buffer = "";
+      this.header = {};
+      this.ss.reset();
+    };
+    HeaderParser.prototype._finish = function() {
+      if (this.buffer) {
+        this._parseHeader();
+      }
+      this.ss.matches = this.ss.maxMatches;
+      const header = this.header;
+      this.header = {};
+      this.buffer = "";
+      this.finished = true;
+      this.nread = this.npairs = 0;
+      this.maxed = false;
+      this.emit("header", header);
+    };
+    HeaderParser.prototype._parseHeader = function() {
+      if (this.npairs === this.maxHeaderPairs) {
+        return;
+      }
+      const lines = this.buffer.split(RE_CRLF);
+      const len = lines.length;
+      let m, h;
+      for (var i = 0; i < len; ++i) {
+        if (lines[i].length === 0) {
+          continue;
         }
-      };
-      const streamKeys = ObjectKeys(stream);
-      for (let j = 1; j < streamKeys.length; j++) {
-        const i = streamKeys[j];
-        if (this[i] === void 0 && typeof stream[i] === "function") {
-          this[i] = stream[i].bind(stream);
+        if (lines[i][0] === "	" || lines[i][0] === " ") {
+          if (h) {
+            this.header[h][this.header[h].length - 1] += lines[i];
+            continue;
+          }
+        }
+        const posColon = lines[i].indexOf(":");
+        if (posColon === -1 || posColon === 0) {
+          return;
+        }
+        m = RE_HDR.exec(lines[i]);
+        h = m[1].toLowerCase();
+        this.header[h] = this.header[h] || [];
+        this.header[h].push(m[2] || "");
+        if (++this.npairs === this.maxHeaderPairs) {
+          break;
         }
       }
-      return this;
     };
-    Readable.prototype[SymbolAsyncIterator] = function() {
-      return streamToAsyncIterator(this);
+    module2.exports = HeaderParser;
+  }
+});
+
+// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
+var require_Dicer = __commonJS({
+  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
+    "use strict";
+    var WritableStream = require("node:stream").Writable;
+    var inherits = require("node:util").inherits;
+    var StreamSearch = require_sbmh();
+    var PartStream = require_PartStream();
+    var HeaderParser = require_HeaderParser();
+    var DASH = 45;
+    var B_ONEDASH = Buffer.from("-");
+    var B_CRLF = Buffer.from("\r\n");
+    var EMPTY_FN = function() {
     };
-    Readable.prototype.iterator = function(options) {
-      if (options !== void 0) {
-        validateObject(options, "options");
+    function Dicer(cfg) {
+      if (!(this instanceof Dicer)) {
+        return new Dicer(cfg);
       }
-      return streamToAsyncIterator(this, options);
-    };
-    function streamToAsyncIterator(stream, options) {
-      if (typeof stream.read !== "function") {
-        stream = Readable.wrap(stream, {
-          objectMode: true
-        });
+      WritableStream.call(this, cfg);
+      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
+        throw new TypeError("Boundary required");
       }
-      const iter = createAsyncIterator(stream, options);
-      iter.stream = stream;
-      return iter;
+      if (typeof cfg.boundary === "string") {
+        this.setBoundary(cfg.boundary);
+      } else {
+        this._bparser = void 0;
+      }
+      this._headerFirst = cfg.headerFirst;
+      this._dashes = 0;
+      this._parts = 0;
+      this._finished = false;
+      this._realFinish = false;
+      this._isPreamble = true;
+      this._justMatched = false;
+      this._firstWrite = true;
+      this._inHeader = true;
+      this._part = void 0;
+      this._cb = void 0;
+      this._ignoreData = false;
+      this._partOpts = { highWaterMark: cfg.partHwm };
+      this._pause = false;
+      const self2 = this;
+      this._hparser = new HeaderParser(cfg);
+      this._hparser.on("header", function(header) {
+        self2._inHeader = false;
+        self2._part.emit("header", header);
+      });
     }
-    async function* createAsyncIterator(stream, options) {
-      let callback = nop;
-      function next(resolve2) {
-        if (this === stream) {
-          callback();
-          callback = nop;
-        } else {
-          callback = resolve2;
+    inherits(Dicer, WritableStream);
+    Dicer.prototype.emit = function(ev) {
+      if (ev === "finish" && !this._realFinish) {
+        if (!this._finished) {
+          const self2 = this;
+          process.nextTick(function() {
+            self2.emit("error", new Error("Unexpected end of multipart data"));
+            if (self2._part && !self2._ignoreData) {
+              const type2 = self2._isPreamble ? "Preamble" : "Part";
+              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
+              self2._part.push(null);
+              process.nextTick(function() {
+                self2._realFinish = true;
+                self2.emit("finish");
+                self2._realFinish = false;
+              });
+              return;
+            }
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
+          });
         }
+      } else {
+        WritableStream.prototype.emit.apply(this, arguments);
       }
-      stream.on("readable", next);
-      let error3;
-      const cleanup = eos(
-        stream,
-        {
-          writable: false
-        },
-        (err) => {
-          error3 = err ? aggregateTwoErrors(error3, err) : null;
-          callback();
-          callback = nop;
-        }
-      );
-      try {
-        while (true) {
-          const chunk = stream.destroyed ? null : stream.read();
-          if (chunk !== null) {
-            yield chunk;
-          } else if (error3) {
-            throw error3;
-          } else if (error3 === null) {
-            return;
+    };
+    Dicer.prototype._write = function(data, encoding, cb) {
+      if (!this._hparser && !this._bparser) {
+        return cb();
+      }
+      if (this._headerFirst && this._isPreamble) {
+        if (!this._part) {
+          this._part = new PartStream(this._partOpts);
+          if (this.listenerCount("preamble") !== 0) {
+            this.emit("preamble", this._part);
           } else {
-            await new Promise2(next);
+            this._ignore();
           }
         }
-      } catch (err) {
-        error3 = aggregateTwoErrors(error3, err);
-        throw error3;
-      } finally {
-        if ((error3 || (options === null || options === void 0 ? void 0 : options.destroyOnReturn) !== false) && (error3 === void 0 || stream._readableState.autoDestroy)) {
-          destroyImpl.destroyer(stream, null);
+        const r = this._hparser.push(data);
+        if (!this._inHeader && r !== void 0 && r < data.length) {
+          data = data.slice(r);
         } else {
-          stream.off("readable", next);
-          cleanup();
+          return cb();
         }
       }
-    }
-    ObjectDefineProperties(Readable.prototype, {
-      readable: {
-        __proto__: null,
-        get() {
-          const r = this._readableState;
-          return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted;
-        },
-        set(val) {
-          if (this._readableState) {
-            this._readableState.readable = !!val;
+      if (this._firstWrite) {
+        this._bparser.push(B_CRLF);
+        this._firstWrite = false;
+      }
+      this._bparser.push(data);
+      if (this._pause) {
+        this._cb = cb;
+      } else {
+        cb();
+      }
+    };
+    Dicer.prototype.reset = function() {
+      this._part = void 0;
+      this._bparser = void 0;
+      this._hparser = void 0;
+    };
+    Dicer.prototype.setBoundary = function(boundary) {
+      const self2 = this;
+      this._bparser = new StreamSearch("\r\n--" + boundary);
+      this._bparser.on("info", function(isMatch, data, start, end) {
+        self2._oninfo(isMatch, data, start, end);
+      });
+    };
+    Dicer.prototype._ignore = function() {
+      if (this._part && !this._ignoreData) {
+        this._ignoreData = true;
+        this._part.on("error", EMPTY_FN);
+        this._part.resume();
+      }
+    };
+    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
+      let buf;
+      const self2 = this;
+      let i = 0;
+      let r;
+      let shouldWriteMore = true;
+      if (!this._part && this._justMatched && data) {
+        while (this._dashes < 2 && start + i < end) {
+          if (data[start + i] === DASH) {
+            ++i;
+            ++this._dashes;
+          } else {
+            if (this._dashes) {
+              buf = B_ONEDASH;
+            }
+            this._dashes = 0;
+            break;
           }
         }
-      },
-      readableDidRead: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.dataEmitted;
+        if (this._dashes === 2) {
+          if (start + i < end && this.listenerCount("trailer") !== 0) {
+            this.emit("trailer", data.slice(start + i, end));
+          }
+          this.reset();
+          this._finished = true;
+          if (self2._parts === 0) {
+            self2._realFinish = true;
+            self2.emit("finish");
+            self2._realFinish = false;
+          }
         }
-      },
-      readableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._readableState.readable !== false && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);
+        if (this._dashes) {
+          return;
         }
-      },
-      readableHighWaterMark: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.highWaterMark;
+      }
+      if (this._justMatched) {
+        this._justMatched = false;
+      }
+      if (!this._part) {
+        this._part = new PartStream(this._partOpts);
+        this._part._read = function(n) {
+          self2._unpause();
+        };
+        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
+          this.emit("preamble", this._part);
+        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
+          this.emit("part", this._part);
+        } else {
+          this._ignore();
         }
-      },
-      readableBuffer: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState && this._readableState.buffer;
+        if (!this._isPreamble) {
+          this._inHeader = true;
         }
-      },
-      readableFlowing: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return this._readableState.flowing;
-        },
-        set: function(state) {
-          if (this._readableState) {
-            this._readableState.flowing = state;
+      }
+      if (data && start < end && !this._ignoreData) {
+        if (this._isPreamble || !this._inHeader) {
+          if (buf) {
+            shouldWriteMore = this._part.push(buf);
+          }
+          shouldWriteMore = this._part.push(data.slice(start, end));
+          if (!shouldWriteMore) {
+            this._pause = true;
+          }
+        } else if (!this._isPreamble && this._inHeader) {
+          if (buf) {
+            this._hparser.push(buf);
+          }
+          r = this._hparser.push(data.slice(start, end));
+          if (!this._inHeader && r !== void 0 && r < end) {
+            this._oninfo(false, data, start + r, end);
           }
         }
-      },
-      readableLength: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState.length;
+      }
+      if (isMatch) {
+        this._hparser.reset();
+        if (this._isPreamble) {
+          this._isPreamble = false;
+        } else {
+          if (start !== end) {
+            ++this._parts;
+            this._part.on("end", function() {
+              if (--self2._parts === 0) {
+                if (self2._finished) {
+                  self2._realFinish = true;
+                  self2.emit("finish");
+                  self2._realFinish = false;
+                } else {
+                  self2._unpause();
+                }
+              }
+            });
+          }
         }
-      },
-      readableObjectMode: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.objectMode : false;
+        this._part.push(null);
+        this._part = void 0;
+        this._ignoreData = false;
+        this._justMatched = true;
+        this._dashes = 0;
+      }
+    };
+    Dicer.prototype._unpause = function() {
+      if (!this._pause) {
+        return;
+      }
+      this._pause = false;
+      if (this._cb) {
+        const cb = this._cb;
+        this._cb = void 0;
+        cb();
+      }
+    };
+    module2.exports = Dicer;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/decodeText.js
+var require_decodeText = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
+    "use strict";
+    var utf8Decoder = new TextDecoder("utf-8");
+    var textDecoders = /* @__PURE__ */ new Map([
+      ["utf-8", utf8Decoder],
+      ["utf8", utf8Decoder]
+    ]);
+    function getDecoder(charset) {
+      let lc;
+      while (true) {
+        switch (charset) {
+          case "utf-8":
+          case "utf8":
+            return decoders.utf8;
+          case "latin1":
+          case "ascii":
+          // TODO: Make these a separate, strict decoder?
+          case "us-ascii":
+          case "iso-8859-1":
+          case "iso8859-1":
+          case "iso88591":
+          case "iso_8859-1":
+          case "windows-1252":
+          case "iso_8859-1:1987":
+          case "cp1252":
+          case "x-cp1252":
+            return decoders.latin1;
+          case "utf16le":
+          case "utf-16le":
+          case "ucs2":
+          case "ucs-2":
+            return decoders.utf16le;
+          case "base64":
+            return decoders.base64;
+          default:
+            if (lc === void 0) {
+              lc = true;
+              charset = charset.toLowerCase();
+              continue;
+            }
+            return decoders.other.bind(charset);
         }
-      },
-      readableEncoding: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.encoding : null;
+      }
+    }
+    var decoders = {
+      utf8: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.errored : null;
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
+        return data.utf8Slice(0, data.length);
       },
-      closed: {
-        __proto__: null,
-        get() {
-          return this._readableState ? this._readableState.closed : false;
+      latin1: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          return data;
         }
+        return data.latin1Slice(0, data.length);
       },
-      destroyed: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.destroyed : false;
-        },
-        set(value) {
-          if (!this._readableState) {
-            return;
-          }
-          this._readableState.destroyed = value;
+      utf16le: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
+        }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
+        return data.ucs2Slice(0, data.length);
       },
-      readableEnded: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._readableState ? this._readableState.endEmitted : false;
+      base64: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      }
-    });
-    ObjectDefineProperties(ReadableState.prototype, {
-      // Legacy getter for `pipesCount`.
-      pipesCount: {
-        __proto__: null,
-        get() {
-          return this.pipes.length;
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
+        return data.base64Slice(0, data.length);
       },
-      // Legacy property for `paused`.
-      paused: {
-        __proto__: null,
-        get() {
-          return this[kPaused] !== false;
-        },
-        set(value) {
-          this[kPaused] = !!value;
+      other: (data, sourceEncoding) => {
+        if (data.length === 0) {
+          return "";
         }
-      }
-    });
-    Readable._fromList = fromList;
-    function fromList(n, state) {
-      if (state.length === 0) return null;
-      let ret;
-      if (state.objectMode) ret = state.buffer.shift();
-      else if (!n || n >= state.length) {
-        if (state.decoder) ret = state.buffer.join("");
-        else if (state.buffer.length === 1) ret = state.buffer.first();
-        else ret = state.buffer.concat(state.length);
-        state.buffer.clear();
-      } else {
-        ret = state.buffer.consume(n, state.decoder);
-      }
-      return ret;
-    }
-    function endReadable(stream) {
-      const state = stream._readableState;
-      debug4("endReadable", state.endEmitted);
-      if (!state.endEmitted) {
-        state.ended = true;
-        process2.nextTick(endReadableNT, state, stream);
-      }
-    }
-    function endReadableNT(state, stream) {
-      debug4("endReadableNT", state.endEmitted, state.length);
-      if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {
-        state.endEmitted = true;
-        stream.emit("end");
-        if (stream.writable && stream.allowHalfOpen === false) {
-          process2.nextTick(endWritableNT, stream);
-        } else if (state.autoDestroy) {
-          const wState = stream._writableState;
-          const autoDestroy = !wState || wState.autoDestroy && // We don't expect the writable to ever 'finish'
-          // if writable is explicitly set to false.
-          (wState.finished || wState.writable === false);
-          if (autoDestroy) {
-            stream.destroy();
-          }
+        if (typeof data === "string") {
+          data = Buffer.from(data, sourceEncoding);
         }
-      }
-    }
-    function endWritableNT(stream) {
-      const writable = stream.writable && !stream.writableEnded && !stream.destroyed;
-      if (writable) {
-        stream.end();
-      }
-    }
-    Readable.from = function(iterable, opts) {
-      return from(Readable, iterable, opts);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Readable.fromWeb = function(readableStream, options) {
-      return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options);
-    };
-    Readable.toWeb = function(streamReadable, options) {
-      return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options);
-    };
-    Readable.wrap = function(src, options) {
-      var _ref, _src$readableObjectMo;
-      return new Readable({
-        objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true,
-        ...options,
-        destroy(err, callback) {
-          destroyImpl.destroyer(src, err);
-          callback(err);
+        if (textDecoders.has(exports2.toString())) {
+          try {
+            return textDecoders.get(exports2).decode(data);
+          } catch {
+          }
         }
-      }).wrap(src);
+        return typeof data === "string" ? data : data.toString();
+      }
     };
+    function decodeText(text, sourceEncoding, destEncoding) {
+      if (text) {
+        return getDecoder(destEncoding)(text, sourceEncoding);
+      }
+      return text;
+    }
+    module2.exports = decodeText;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/writable.js
-var require_writable = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) {
-    var process2 = require_process();
-    var {
-      ArrayPrototypeSlice,
-      Error: Error2,
-      FunctionPrototypeSymbolHasInstance,
-      ObjectDefineProperty,
-      ObjectDefineProperties,
-      ObjectSetPrototypeOf,
-      StringPrototypeToLowerCase,
-      Symbol: Symbol2,
-      SymbolHasInstance
-    } = require_primordials();
-    module2.exports = Writable;
-    Writable.WritableState = WritableState;
-    var { EventEmitter: EE } = require("events");
-    var Stream = require_legacy().Stream;
-    var { Buffer: Buffer2 } = require("buffer");
-    var destroyImpl = require_destroy2();
-    var { addAbortSignal } = require_add_abort_signal();
-    var { getHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var {
-      ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-      ERR_METHOD_NOT_IMPLEMENTED,
-      ERR_MULTIPLE_CALLBACK,
-      ERR_STREAM_CANNOT_PIPE,
-      ERR_STREAM_DESTROYED,
-      ERR_STREAM_ALREADY_FINISHED,
-      ERR_STREAM_NULL_VALUES,
-      ERR_STREAM_WRITE_AFTER_END,
-      ERR_UNKNOWN_ENCODING
-    } = require_errors4().codes;
-    var { errorOrDestroy } = destroyImpl;
-    ObjectSetPrototypeOf(Writable.prototype, Stream.prototype);
-    ObjectSetPrototypeOf(Writable, Stream);
-    function nop() {
-    }
-    var kOnFinished = Symbol2("kOnFinished");
-    function WritableState(options, stream, isDuplex) {
-      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof require_duplex();
-      this.objectMode = !!(options && options.objectMode);
-      if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode);
-      this.highWaterMark = options ? getHighWaterMark(this, options, "writableHighWaterMark", isDuplex) : getDefaultHighWaterMark(false);
-      this.finalCalled = false;
-      this.needDrain = false;
-      this.ending = false;
-      this.ended = false;
-      this.finished = false;
-      this.destroyed = false;
-      const noDecode = !!(options && options.decodeStrings === false);
-      this.decodeStrings = !noDecode;
-      this.defaultEncoding = options && options.defaultEncoding || "utf8";
-      this.length = 0;
-      this.writing = false;
-      this.corked = 0;
-      this.sync = true;
-      this.bufferProcessing = false;
-      this.onwrite = onwrite.bind(void 0, stream);
-      this.writecb = null;
-      this.writelen = 0;
-      this.afterWriteTickInfo = null;
-      resetBuffer(this);
-      this.pendingcb = 0;
-      this.constructed = true;
-      this.prefinished = false;
-      this.errorEmitted = false;
-      this.emitClose = !options || options.emitClose !== false;
-      this.autoDestroy = !options || options.autoDestroy !== false;
-      this.errored = null;
-      this.closed = false;
-      this.closeEmitted = false;
-      this[kOnFinished] = [];
-    }
-    function resetBuffer(state) {
-      state.buffered = [];
-      state.bufferedIndex = 0;
-      state.allBuffers = true;
-      state.allNoop = true;
-    }
-    WritableState.prototype.getBuffer = function getBuffer() {
-      return ArrayPrototypeSlice(this.buffered, this.bufferedIndex);
+// node_modules/@fastify/busboy/lib/utils/parseParams.js
+var require_parseParams = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
+    "use strict";
+    var decodeText = require_decodeText();
+    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
+    var EncodedLookup = {
+      "%00": "\0",
+      "%01": "",
+      "%02": "",
+      "%03": "",
+      "%04": "",
+      "%05": "",
+      "%06": "",
+      "%07": "\x07",
+      "%08": "\b",
+      "%09": "	",
+      "%0a": "\n",
+      "%0A": "\n",
+      "%0b": "\v",
+      "%0B": "\v",
+      "%0c": "\f",
+      "%0C": "\f",
+      "%0d": "\r",
+      "%0D": "\r",
+      "%0e": "",
+      "%0E": "",
+      "%0f": "",
+      "%0F": "",
+      "%10": "",
+      "%11": "",
+      "%12": "",
+      "%13": "",
+      "%14": "",
+      "%15": "",
+      "%16": "",
+      "%17": "",
+      "%18": "",
+      "%19": "",
+      "%1a": "",
+      "%1A": "",
+      "%1b": "\x1B",
+      "%1B": "\x1B",
+      "%1c": "",
+      "%1C": "",
+      "%1d": "",
+      "%1D": "",
+      "%1e": "",
+      "%1E": "",
+      "%1f": "",
+      "%1F": "",
+      "%20": " ",
+      "%21": "!",
+      "%22": '"',
+      "%23": "#",
+      "%24": "$",
+      "%25": "%",
+      "%26": "&",
+      "%27": "'",
+      "%28": "(",
+      "%29": ")",
+      "%2a": "*",
+      "%2A": "*",
+      "%2b": "+",
+      "%2B": "+",
+      "%2c": ",",
+      "%2C": ",",
+      "%2d": "-",
+      "%2D": "-",
+      "%2e": ".",
+      "%2E": ".",
+      "%2f": "/",
+      "%2F": "/",
+      "%30": "0",
+      "%31": "1",
+      "%32": "2",
+      "%33": "3",
+      "%34": "4",
+      "%35": "5",
+      "%36": "6",
+      "%37": "7",
+      "%38": "8",
+      "%39": "9",
+      "%3a": ":",
+      "%3A": ":",
+      "%3b": ";",
+      "%3B": ";",
+      "%3c": "<",
+      "%3C": "<",
+      "%3d": "=",
+      "%3D": "=",
+      "%3e": ">",
+      "%3E": ">",
+      "%3f": "?",
+      "%3F": "?",
+      "%40": "@",
+      "%41": "A",
+      "%42": "B",
+      "%43": "C",
+      "%44": "D",
+      "%45": "E",
+      "%46": "F",
+      "%47": "G",
+      "%48": "H",
+      "%49": "I",
+      "%4a": "J",
+      "%4A": "J",
+      "%4b": "K",
+      "%4B": "K",
+      "%4c": "L",
+      "%4C": "L",
+      "%4d": "M",
+      "%4D": "M",
+      "%4e": "N",
+      "%4E": "N",
+      "%4f": "O",
+      "%4F": "O",
+      "%50": "P",
+      "%51": "Q",
+      "%52": "R",
+      "%53": "S",
+      "%54": "T",
+      "%55": "U",
+      "%56": "V",
+      "%57": "W",
+      "%58": "X",
+      "%59": "Y",
+      "%5a": "Z",
+      "%5A": "Z",
+      "%5b": "[",
+      "%5B": "[",
+      "%5c": "\\",
+      "%5C": "\\",
+      "%5d": "]",
+      "%5D": "]",
+      "%5e": "^",
+      "%5E": "^",
+      "%5f": "_",
+      "%5F": "_",
+      "%60": "`",
+      "%61": "a",
+      "%62": "b",
+      "%63": "c",
+      "%64": "d",
+      "%65": "e",
+      "%66": "f",
+      "%67": "g",
+      "%68": "h",
+      "%69": "i",
+      "%6a": "j",
+      "%6A": "j",
+      "%6b": "k",
+      "%6B": "k",
+      "%6c": "l",
+      "%6C": "l",
+      "%6d": "m",
+      "%6D": "m",
+      "%6e": "n",
+      "%6E": "n",
+      "%6f": "o",
+      "%6F": "o",
+      "%70": "p",
+      "%71": "q",
+      "%72": "r",
+      "%73": "s",
+      "%74": "t",
+      "%75": "u",
+      "%76": "v",
+      "%77": "w",
+      "%78": "x",
+      "%79": "y",
+      "%7a": "z",
+      "%7A": "z",
+      "%7b": "{",
+      "%7B": "{",
+      "%7c": "|",
+      "%7C": "|",
+      "%7d": "}",
+      "%7D": "}",
+      "%7e": "~",
+      "%7E": "~",
+      "%7f": "\x7F",
+      "%7F": "\x7F",
+      "%80": "\x80",
+      "%81": "\x81",
+      "%82": "\x82",
+      "%83": "\x83",
+      "%84": "\x84",
+      "%85": "\x85",
+      "%86": "\x86",
+      "%87": "\x87",
+      "%88": "\x88",
+      "%89": "\x89",
+      "%8a": "\x8A",
+      "%8A": "\x8A",
+      "%8b": "\x8B",
+      "%8B": "\x8B",
+      "%8c": "\x8C",
+      "%8C": "\x8C",
+      "%8d": "\x8D",
+      "%8D": "\x8D",
+      "%8e": "\x8E",
+      "%8E": "\x8E",
+      "%8f": "\x8F",
+      "%8F": "\x8F",
+      "%90": "\x90",
+      "%91": "\x91",
+      "%92": "\x92",
+      "%93": "\x93",
+      "%94": "\x94",
+      "%95": "\x95",
+      "%96": "\x96",
+      "%97": "\x97",
+      "%98": "\x98",
+      "%99": "\x99",
+      "%9a": "\x9A",
+      "%9A": "\x9A",
+      "%9b": "\x9B",
+      "%9B": "\x9B",
+      "%9c": "\x9C",
+      "%9C": "\x9C",
+      "%9d": "\x9D",
+      "%9D": "\x9D",
+      "%9e": "\x9E",
+      "%9E": "\x9E",
+      "%9f": "\x9F",
+      "%9F": "\x9F",
+      "%a0": "\xA0",
+      "%A0": "\xA0",
+      "%a1": "\xA1",
+      "%A1": "\xA1",
+      "%a2": "\xA2",
+      "%A2": "\xA2",
+      "%a3": "\xA3",
+      "%A3": "\xA3",
+      "%a4": "\xA4",
+      "%A4": "\xA4",
+      "%a5": "\xA5",
+      "%A5": "\xA5",
+      "%a6": "\xA6",
+      "%A6": "\xA6",
+      "%a7": "\xA7",
+      "%A7": "\xA7",
+      "%a8": "\xA8",
+      "%A8": "\xA8",
+      "%a9": "\xA9",
+      "%A9": "\xA9",
+      "%aa": "\xAA",
+      "%Aa": "\xAA",
+      "%aA": "\xAA",
+      "%AA": "\xAA",
+      "%ab": "\xAB",
+      "%Ab": "\xAB",
+      "%aB": "\xAB",
+      "%AB": "\xAB",
+      "%ac": "\xAC",
+      "%Ac": "\xAC",
+      "%aC": "\xAC",
+      "%AC": "\xAC",
+      "%ad": "\xAD",
+      "%Ad": "\xAD",
+      "%aD": "\xAD",
+      "%AD": "\xAD",
+      "%ae": "\xAE",
+      "%Ae": "\xAE",
+      "%aE": "\xAE",
+      "%AE": "\xAE",
+      "%af": "\xAF",
+      "%Af": "\xAF",
+      "%aF": "\xAF",
+      "%AF": "\xAF",
+      "%b0": "\xB0",
+      "%B0": "\xB0",
+      "%b1": "\xB1",
+      "%B1": "\xB1",
+      "%b2": "\xB2",
+      "%B2": "\xB2",
+      "%b3": "\xB3",
+      "%B3": "\xB3",
+      "%b4": "\xB4",
+      "%B4": "\xB4",
+      "%b5": "\xB5",
+      "%B5": "\xB5",
+      "%b6": "\xB6",
+      "%B6": "\xB6",
+      "%b7": "\xB7",
+      "%B7": "\xB7",
+      "%b8": "\xB8",
+      "%B8": "\xB8",
+      "%b9": "\xB9",
+      "%B9": "\xB9",
+      "%ba": "\xBA",
+      "%Ba": "\xBA",
+      "%bA": "\xBA",
+      "%BA": "\xBA",
+      "%bb": "\xBB",
+      "%Bb": "\xBB",
+      "%bB": "\xBB",
+      "%BB": "\xBB",
+      "%bc": "\xBC",
+      "%Bc": "\xBC",
+      "%bC": "\xBC",
+      "%BC": "\xBC",
+      "%bd": "\xBD",
+      "%Bd": "\xBD",
+      "%bD": "\xBD",
+      "%BD": "\xBD",
+      "%be": "\xBE",
+      "%Be": "\xBE",
+      "%bE": "\xBE",
+      "%BE": "\xBE",
+      "%bf": "\xBF",
+      "%Bf": "\xBF",
+      "%bF": "\xBF",
+      "%BF": "\xBF",
+      "%c0": "\xC0",
+      "%C0": "\xC0",
+      "%c1": "\xC1",
+      "%C1": "\xC1",
+      "%c2": "\xC2",
+      "%C2": "\xC2",
+      "%c3": "\xC3",
+      "%C3": "\xC3",
+      "%c4": "\xC4",
+      "%C4": "\xC4",
+      "%c5": "\xC5",
+      "%C5": "\xC5",
+      "%c6": "\xC6",
+      "%C6": "\xC6",
+      "%c7": "\xC7",
+      "%C7": "\xC7",
+      "%c8": "\xC8",
+      "%C8": "\xC8",
+      "%c9": "\xC9",
+      "%C9": "\xC9",
+      "%ca": "\xCA",
+      "%Ca": "\xCA",
+      "%cA": "\xCA",
+      "%CA": "\xCA",
+      "%cb": "\xCB",
+      "%Cb": "\xCB",
+      "%cB": "\xCB",
+      "%CB": "\xCB",
+      "%cc": "\xCC",
+      "%Cc": "\xCC",
+      "%cC": "\xCC",
+      "%CC": "\xCC",
+      "%cd": "\xCD",
+      "%Cd": "\xCD",
+      "%cD": "\xCD",
+      "%CD": "\xCD",
+      "%ce": "\xCE",
+      "%Ce": "\xCE",
+      "%cE": "\xCE",
+      "%CE": "\xCE",
+      "%cf": "\xCF",
+      "%Cf": "\xCF",
+      "%cF": "\xCF",
+      "%CF": "\xCF",
+      "%d0": "\xD0",
+      "%D0": "\xD0",
+      "%d1": "\xD1",
+      "%D1": "\xD1",
+      "%d2": "\xD2",
+      "%D2": "\xD2",
+      "%d3": "\xD3",
+      "%D3": "\xD3",
+      "%d4": "\xD4",
+      "%D4": "\xD4",
+      "%d5": "\xD5",
+      "%D5": "\xD5",
+      "%d6": "\xD6",
+      "%D6": "\xD6",
+      "%d7": "\xD7",
+      "%D7": "\xD7",
+      "%d8": "\xD8",
+      "%D8": "\xD8",
+      "%d9": "\xD9",
+      "%D9": "\xD9",
+      "%da": "\xDA",
+      "%Da": "\xDA",
+      "%dA": "\xDA",
+      "%DA": "\xDA",
+      "%db": "\xDB",
+      "%Db": "\xDB",
+      "%dB": "\xDB",
+      "%DB": "\xDB",
+      "%dc": "\xDC",
+      "%Dc": "\xDC",
+      "%dC": "\xDC",
+      "%DC": "\xDC",
+      "%dd": "\xDD",
+      "%Dd": "\xDD",
+      "%dD": "\xDD",
+      "%DD": "\xDD",
+      "%de": "\xDE",
+      "%De": "\xDE",
+      "%dE": "\xDE",
+      "%DE": "\xDE",
+      "%df": "\xDF",
+      "%Df": "\xDF",
+      "%dF": "\xDF",
+      "%DF": "\xDF",
+      "%e0": "\xE0",
+      "%E0": "\xE0",
+      "%e1": "\xE1",
+      "%E1": "\xE1",
+      "%e2": "\xE2",
+      "%E2": "\xE2",
+      "%e3": "\xE3",
+      "%E3": "\xE3",
+      "%e4": "\xE4",
+      "%E4": "\xE4",
+      "%e5": "\xE5",
+      "%E5": "\xE5",
+      "%e6": "\xE6",
+      "%E6": "\xE6",
+      "%e7": "\xE7",
+      "%E7": "\xE7",
+      "%e8": "\xE8",
+      "%E8": "\xE8",
+      "%e9": "\xE9",
+      "%E9": "\xE9",
+      "%ea": "\xEA",
+      "%Ea": "\xEA",
+      "%eA": "\xEA",
+      "%EA": "\xEA",
+      "%eb": "\xEB",
+      "%Eb": "\xEB",
+      "%eB": "\xEB",
+      "%EB": "\xEB",
+      "%ec": "\xEC",
+      "%Ec": "\xEC",
+      "%eC": "\xEC",
+      "%EC": "\xEC",
+      "%ed": "\xED",
+      "%Ed": "\xED",
+      "%eD": "\xED",
+      "%ED": "\xED",
+      "%ee": "\xEE",
+      "%Ee": "\xEE",
+      "%eE": "\xEE",
+      "%EE": "\xEE",
+      "%ef": "\xEF",
+      "%Ef": "\xEF",
+      "%eF": "\xEF",
+      "%EF": "\xEF",
+      "%f0": "\xF0",
+      "%F0": "\xF0",
+      "%f1": "\xF1",
+      "%F1": "\xF1",
+      "%f2": "\xF2",
+      "%F2": "\xF2",
+      "%f3": "\xF3",
+      "%F3": "\xF3",
+      "%f4": "\xF4",
+      "%F4": "\xF4",
+      "%f5": "\xF5",
+      "%F5": "\xF5",
+      "%f6": "\xF6",
+      "%F6": "\xF6",
+      "%f7": "\xF7",
+      "%F7": "\xF7",
+      "%f8": "\xF8",
+      "%F8": "\xF8",
+      "%f9": "\xF9",
+      "%F9": "\xF9",
+      "%fa": "\xFA",
+      "%Fa": "\xFA",
+      "%fA": "\xFA",
+      "%FA": "\xFA",
+      "%fb": "\xFB",
+      "%Fb": "\xFB",
+      "%fB": "\xFB",
+      "%FB": "\xFB",
+      "%fc": "\xFC",
+      "%Fc": "\xFC",
+      "%fC": "\xFC",
+      "%FC": "\xFC",
+      "%fd": "\xFD",
+      "%Fd": "\xFD",
+      "%fD": "\xFD",
+      "%FD": "\xFD",
+      "%fe": "\xFE",
+      "%Fe": "\xFE",
+      "%fE": "\xFE",
+      "%FE": "\xFE",
+      "%ff": "\xFF",
+      "%Ff": "\xFF",
+      "%fF": "\xFF",
+      "%FF": "\xFF"
     };
-    ObjectDefineProperty(WritableState.prototype, "bufferedRequestCount", {
-      __proto__: null,
-      get() {
-        return this.buffered.length - this.bufferedIndex;
-      }
-    });
-    function Writable(options) {
-      const isDuplex = this instanceof require_duplex();
-      if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options);
-      this._writableState = new WritableState(options, this, isDuplex);
-      if (options) {
-        if (typeof options.write === "function") this._write = options.write;
-        if (typeof options.writev === "function") this._writev = options.writev;
-        if (typeof options.destroy === "function") this._destroy = options.destroy;
-        if (typeof options.final === "function") this._final = options.final;
-        if (typeof options.construct === "function") this._construct = options.construct;
-        if (options.signal) addAbortSignal(options.signal, this);
-      }
-      Stream.call(this, options);
-      destroyImpl.construct(this, () => {
-        const state = this._writableState;
-        if (!state.writing) {
-          clearBuffer(this, state);
-        }
-        finishMaybe(this, state);
-      });
+    function encodedReplacer(match) {
+      return EncodedLookup[match];
     }
-    ObjectDefineProperty(Writable, SymbolHasInstance, {
-      __proto__: null,
-      value: function(object) {
-        if (FunctionPrototypeSymbolHasInstance(this, object)) return true;
-        if (this !== Writable) return false;
-        return object && object._writableState instanceof WritableState;
-      }
-    });
-    Writable.prototype.pipe = function() {
-      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
-    };
-    function _write(stream, chunk, encoding, cb) {
-      const state = stream._writableState;
-      if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = state.defaultEncoding;
-      } else {
-        if (!encoding) encoding = state.defaultEncoding;
-        else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-        if (typeof cb !== "function") cb = nop;
-      }
-      if (chunk === null) {
-        throw new ERR_STREAM_NULL_VALUES();
-      } else if (!state.objectMode) {
-        if (typeof chunk === "string") {
-          if (state.decodeStrings !== false) {
-            chunk = Buffer2.from(chunk, encoding);
-            encoding = "buffer";
+    var STATE_KEY = 0;
+    var STATE_VALUE = 1;
+    var STATE_CHARSET = 2;
+    var STATE_LANG = 3;
+    function parseParams(str2) {
+      const res = [];
+      let state = STATE_KEY;
+      let charset = "";
+      let inquote = false;
+      let escaping = false;
+      let p = 0;
+      let tmp = "";
+      const len = str2.length;
+      for (var i = 0; i < len; ++i) {
+        const char = str2[i];
+        if (char === "\\" && inquote) {
+          if (escaping) {
+            escaping = false;
+          } else {
+            escaping = true;
+            continue;
           }
-        } else if (chunk instanceof Buffer2) {
-          encoding = "buffer";
-        } else if (Stream._isUint8Array(chunk)) {
-          chunk = Stream._uint8ArrayToBuffer(chunk);
-          encoding = "buffer";
-        } else {
-          throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk);
-        }
-      }
-      let err;
-      if (state.ending) {
-        err = new ERR_STREAM_WRITE_AFTER_END();
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("write");
-      }
-      if (err) {
-        process2.nextTick(cb, err);
-        errorOrDestroy(stream, err, true);
-        return err;
-      }
-      state.pendingcb++;
-      return writeOrBuffer(stream, state, chunk, encoding, cb);
-    }
-    Writable.prototype.write = function(chunk, encoding, cb) {
-      return _write(this, chunk, encoding, cb) === true;
-    };
-    Writable.prototype.cork = function() {
-      this._writableState.corked++;
-    };
-    Writable.prototype.uncork = function() {
-      const state = this._writableState;
-      if (state.corked) {
-        state.corked--;
-        if (!state.writing) clearBuffer(this, state);
-      }
-    };
-    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
-      if (typeof encoding === "string") encoding = StringPrototypeToLowerCase(encoding);
-      if (!Buffer2.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding);
-      this._writableState.defaultEncoding = encoding;
-      return this;
-    };
-    function writeOrBuffer(stream, state, chunk, encoding, callback) {
-      const len = state.objectMode ? 1 : chunk.length;
-      state.length += len;
-      const ret = state.length < state.highWaterMark;
-      if (!ret) state.needDrain = true;
-      if (state.writing || state.corked || state.errored || !state.constructed) {
-        state.buffered.push({
-          chunk,
-          encoding,
-          callback
-        });
-        if (state.allBuffers && encoding !== "buffer") {
-          state.allBuffers = false;
-        }
-        if (state.allNoop && callback !== nop) {
-          state.allNoop = false;
-        }
-      } else {
-        state.writelen = len;
-        state.writecb = callback;
-        state.writing = true;
-        state.sync = true;
-        stream._write(chunk, encoding, state.onwrite);
-        state.sync = false;
-      }
-      return ret && !state.errored && !state.destroyed;
-    }
-    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
-      state.writelen = len;
-      state.writecb = cb;
-      state.writing = true;
-      state.sync = true;
-      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
-      else if (writev) stream._writev(chunk, state.onwrite);
-      else stream._write(chunk, encoding, state.onwrite);
-      state.sync = false;
-    }
-    function onwriteError(stream, state, er, cb) {
-      --state.pendingcb;
-      cb(er);
-      errorBuffer(state);
-      errorOrDestroy(stream, er);
-    }
-    function onwrite(stream, er) {
-      const state = stream._writableState;
-      const sync = state.sync;
-      const cb = state.writecb;
-      if (typeof cb !== "function") {
-        errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK());
-        return;
-      }
-      state.writing = false;
-      state.writecb = null;
-      state.length -= state.writelen;
-      state.writelen = 0;
-      if (er) {
-        er.stack;
-        if (!state.errored) {
-          state.errored = er;
-        }
-        if (stream._readableState && !stream._readableState.errored) {
-          stream._readableState.errored = er;
-        }
-        if (sync) {
-          process2.nextTick(onwriteError, stream, state, er, cb);
-        } else {
-          onwriteError(stream, state, er, cb);
-        }
-      } else {
-        if (state.buffered.length > state.bufferedIndex) {
-          clearBuffer(stream, state);
-        }
-        if (sync) {
-          if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {
-            state.afterWriteTickInfo.count++;
+        } else if (char === '"') {
+          if (!escaping) {
+            if (inquote) {
+              inquote = false;
+              state = STATE_KEY;
+            } else {
+              inquote = true;
+            }
+            continue;
           } else {
-            state.afterWriteTickInfo = {
-              count: 1,
-              cb,
-              stream,
-              state
-            };
-            process2.nextTick(afterWriteTick, state.afterWriteTickInfo);
+            escaping = false;
           }
         } else {
-          afterWrite(stream, state, 1, cb);
-        }
-      }
-    }
-    function afterWriteTick({ stream, state, count, cb }) {
-      state.afterWriteTickInfo = null;
-      return afterWrite(stream, state, count, cb);
-    }
-    function afterWrite(stream, state, count, cb) {
-      const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain;
-      if (needDrain) {
-        state.needDrain = false;
-        stream.emit("drain");
-      }
-      while (count-- > 0) {
-        state.pendingcb--;
-        cb();
-      }
-      if (state.destroyed) {
-        errorBuffer(state);
-      }
-      finishMaybe(stream, state);
-    }
-    function errorBuffer(state) {
-      if (state.writing) {
-        return;
-      }
-      for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {
-        var _state$errored;
-        const { chunk, callback } = state.buffered[n];
-        const len = state.objectMode ? 1 : chunk.length;
-        state.length -= len;
-        callback(
-          (_state$errored = state.errored) !== null && _state$errored !== void 0 ? _state$errored : new ERR_STREAM_DESTROYED("write")
-        );
-      }
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        var _state$errored2;
-        onfinishCallbacks[i](
-          (_state$errored2 = state.errored) !== null && _state$errored2 !== void 0 ? _state$errored2 : new ERR_STREAM_DESTROYED("end")
-        );
-      }
-      resetBuffer(state);
-    }
-    function clearBuffer(stream, state) {
-      if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {
-        return;
-      }
-      const { buffered, bufferedIndex, objectMode } = state;
-      const bufferedLength = buffered.length - bufferedIndex;
-      if (!bufferedLength) {
-        return;
-      }
-      let i = bufferedIndex;
-      state.bufferProcessing = true;
-      if (bufferedLength > 1 && stream._writev) {
-        state.pendingcb -= bufferedLength - 1;
-        const callback = state.allNoop ? nop : (err) => {
-          for (let n = i; n < buffered.length; ++n) {
-            buffered[n].callback(err);
+          if (escaping && inquote) {
+            tmp += "\\";
           }
-        };
-        const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i);
-        chunks.allBuffers = state.allBuffers;
-        doWrite(stream, state, true, state.length, chunks, "", callback);
-        resetBuffer(state);
-      } else {
-        do {
-          const { chunk, encoding, callback } = buffered[i];
-          buffered[i++] = null;
-          const len = objectMode ? 1 : chunk.length;
-          doWrite(stream, state, false, len, chunk, encoding, callback);
-        } while (i < buffered.length && !state.writing);
-        if (i === buffered.length) {
-          resetBuffer(state);
-        } else if (i > 256) {
-          buffered.splice(0, i);
-          state.bufferedIndex = 0;
-        } else {
-          state.bufferedIndex = i;
-        }
-      }
-      state.bufferProcessing = false;
-    }
-    Writable.prototype._write = function(chunk, encoding, cb) {
-      if (this._writev) {
-        this._writev(
-          [
-            {
-              chunk,
-              encoding
+          escaping = false;
+          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
+            if (state === STATE_CHARSET) {
+              state = STATE_LANG;
+              charset = tmp.substring(1);
+            } else {
+              state = STATE_VALUE;
             }
-          ],
-          cb
-        );
-      } else {
-        throw new ERR_METHOD_NOT_IMPLEMENTED("_write()");
-      }
-    };
-    Writable.prototype._writev = null;
-    Writable.prototype.end = function(chunk, encoding, cb) {
-      const state = this._writableState;
-      if (typeof chunk === "function") {
-        cb = chunk;
-        chunk = null;
-        encoding = null;
-      } else if (typeof encoding === "function") {
-        cb = encoding;
-        encoding = null;
-      }
-      let err;
-      if (chunk !== null && chunk !== void 0) {
-        const ret = _write(this, chunk, encoding);
-        if (ret instanceof Error2) {
-          err = ret;
-        }
-      }
-      if (state.corked) {
-        state.corked = 1;
-        this.uncork();
-      }
-      if (err) {
-      } else if (!state.errored && !state.ending) {
-        state.ending = true;
-        finishMaybe(this, state, true);
-        state.ended = true;
-      } else if (state.finished) {
-        err = new ERR_STREAM_ALREADY_FINISHED("end");
-      } else if (state.destroyed) {
-        err = new ERR_STREAM_DESTROYED("end");
-      }
-      if (typeof cb === "function") {
-        if (err || state.finished) {
-          process2.nextTick(cb, err);
-        } else {
-          state[kOnFinished].push(cb);
-        }
-      }
-      return this;
-    };
-    function needFinish(state) {
-      return state.ending && !state.destroyed && state.constructed && state.length === 0 && !state.errored && state.buffered.length === 0 && !state.finished && !state.writing && !state.errorEmitted && !state.closeEmitted;
-    }
-    function callFinal(stream, state) {
-      let called = false;
-      function onFinish(err) {
-        if (called) {
-          errorOrDestroy(stream, err !== null && err !== void 0 ? err : ERR_MULTIPLE_CALLBACK());
-          return;
-        }
-        called = true;
-        state.pendingcb--;
-        if (err) {
-          const onfinishCallbacks = state[kOnFinished].splice(0);
-          for (let i = 0; i < onfinishCallbacks.length; i++) {
-            onfinishCallbacks[i](err);
-          }
-          errorOrDestroy(stream, err, state.sync);
-        } else if (needFinish(state)) {
-          state.prefinished = true;
-          stream.emit("prefinish");
-          state.pendingcb++;
-          process2.nextTick(finish, stream, state);
-        }
-      }
-      state.sync = true;
-      state.pendingcb++;
-      try {
-        stream._final(onFinish);
-      } catch (err) {
-        onFinish(err);
-      }
-      state.sync = false;
-    }
-    function prefinish(stream, state) {
-      if (!state.prefinished && !state.finalCalled) {
-        if (typeof stream._final === "function" && !state.destroyed) {
-          state.finalCalled = true;
-          callFinal(stream, state);
-        } else {
-          state.prefinished = true;
-          stream.emit("prefinish");
-        }
-      }
-    }
-    function finishMaybe(stream, state, sync) {
-      if (needFinish(state)) {
-        prefinish(stream, state);
-        if (state.pendingcb === 0) {
-          if (sync) {
-            state.pendingcb++;
-            process2.nextTick(
-              (stream2, state2) => {
-                if (needFinish(state2)) {
-                  finish(stream2, state2);
-                } else {
-                  state2.pendingcb--;
-                }
-              },
-              stream,
-              state
-            );
-          } else if (needFinish(state)) {
-            state.pendingcb++;
-            finish(stream, state);
+            tmp = "";
+            continue;
+          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
+            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
+            res[p] = [tmp, void 0];
+            tmp = "";
+            continue;
+          } else if (!inquote && char === ";") {
+            state = STATE_KEY;
+            if (charset) {
+              if (tmp.length) {
+                tmp = decodeText(
+                  tmp.replace(RE_ENCODED, encodedReplacer),
+                  "binary",
+                  charset
+                );
+              }
+              charset = "";
+            } else if (tmp.length) {
+              tmp = decodeText(tmp, "binary", "utf8");
+            }
+            if (res[p] === void 0) {
+              res[p] = tmp;
+            } else {
+              res[p][1] = tmp;
+            }
+            tmp = "";
+            ++p;
+            continue;
+          } else if (!inquote && (char === " " || char === "	")) {
+            continue;
           }
         }
+        tmp += char;
       }
-    }
-    function finish(stream, state) {
-      state.pendingcb--;
-      state.finished = true;
-      const onfinishCallbacks = state[kOnFinished].splice(0);
-      for (let i = 0; i < onfinishCallbacks.length; i++) {
-        onfinishCallbacks[i]();
+      if (charset && tmp.length) {
+        tmp = decodeText(
+          tmp.replace(RE_ENCODED, encodedReplacer),
+          "binary",
+          charset
+        );
+      } else if (tmp) {
+        tmp = decodeText(tmp, "binary", "utf8");
       }
-      stream.emit("finish");
-      if (state.autoDestroy) {
-        const rState = stream._readableState;
-        const autoDestroy = !rState || rState.autoDestroy && // We don't expect the readable to ever 'end'
-        // if readable is explicitly set to false.
-        (rState.endEmitted || rState.readable === false);
-        if (autoDestroy) {
-          stream.destroy();
+      if (res[p] === void 0) {
+        if (tmp) {
+          res[p] = tmp;
         }
+      } else {
+        res[p][1] = tmp;
       }
+      return res;
     }
-    ObjectDefineProperties(Writable.prototype, {
-      closed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.closed : false;
-        }
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.destroyed : false;
-        },
-        set(value) {
-          if (this._writableState) {
-            this._writableState.destroyed = value;
-          }
-        }
-      },
-      writable: {
-        __proto__: null,
-        get() {
-          const w = this._writableState;
-          return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended;
-        },
-        set(val) {
-          if (this._writableState) {
-            this._writableState.writable = !!val;
-          }
-        }
-      },
-      writableFinished: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.finished : false;
-        }
-      },
-      writableObjectMode: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.objectMode : false;
-        }
-      },
-      writableBuffer: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.getBuffer();
-        }
-      },
-      writableEnded: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.ending : false;
-        }
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        get() {
-          const wState = this._writableState;
-          if (!wState) return false;
-          return !wState.destroyed && !wState.ending && wState.needDrain;
-        }
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.highWaterMark;
-        }
-      },
-      writableCorked: {
-        __proto__: null,
-        get() {
-          return this._writableState ? this._writableState.corked : 0;
-        }
-      },
-      writableLength: {
-        __proto__: null,
-        get() {
-          return this._writableState && this._writableState.length;
-        }
-      },
-      errored: {
-        __proto__: null,
-        enumerable: false,
-        get() {
-          return this._writableState ? this._writableState.errored : null;
-        }
-      },
-      writableAborted: {
-        __proto__: null,
-        enumerable: false,
-        get: function() {
-          return !!(this._writableState.writable !== false && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);
-        }
+    module2.exports = parseParams;
+  }
+});
+
+// node_modules/@fastify/busboy/lib/utils/basename.js
+var require_basename = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
+    "use strict";
+    module2.exports = function basename2(path3) {
+      if (typeof path3 !== "string") {
+        return "";
       }
-    });
-    var destroy = destroyImpl.destroy;
-    Writable.prototype.destroy = function(err, cb) {
-      const state = this._writableState;
-      if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {
-        process2.nextTick(errorBuffer, state);
+      for (var i = path3.length - 1; i >= 0; --i) {
+        switch (path3.charCodeAt(i)) {
+          case 47:
+          // '/'
+          case 92:
+            path3 = path3.slice(i + 1);
+            return path3 === ".." || path3 === "." ? "" : path3;
+        }
       }
-      destroy.call(this, err, cb);
-      return this;
-    };
-    Writable.prototype._undestroy = destroyImpl.undestroy;
-    Writable.prototype._destroy = function(err, cb) {
-      cb(err);
-    };
-    Writable.prototype[EE.captureRejectionSymbol] = function(err) {
-      this.destroy(err);
-    };
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Writable.fromWeb = function(writableStream, options) {
-      return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options);
-    };
-    Writable.toWeb = function(streamWritable) {
-      return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable);
+      return path3 === ".." || path3 === "." ? "" : path3;
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/duplexify.js
-var require_duplexify = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplexify.js"(exports2, module2) {
-    var process2 = require_process();
-    var bufferModule = require("buffer");
-    var {
-      isReadable,
-      isWritable,
-      isIterable,
-      isNodeStream,
-      isReadableNodeStream,
-      isWritableNodeStream,
-      isDuplexNodeStream,
-      isReadableStream,
-      isWritableStream
-    } = require_utils8();
-    var eos = require_end_of_stream();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE }
-    } = require_errors4();
-    var { destroyer } = require_destroy2();
-    var Duplex = require_duplex();
-    var Readable = require_readable4();
-    var Writable = require_writable();
-    var { createDeferredPromise } = require_util19();
-    var from = require_from();
-    var Blob2 = globalThis.Blob || bufferModule.Blob;
-    var isBlob = typeof Blob2 !== "undefined" ? function isBlob2(b) {
-      return b instanceof Blob2;
-    } : function isBlob2(b) {
-      return false;
-    };
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var { FunctionPrototypeCall } = require_primordials();
-    var Duplexify = class extends Duplex {
-      constructor(options) {
-        super(options);
-        if ((options === null || options === void 0 ? void 0 : options.readable) === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
-        }
-        if ((options === null || options === void 0 ? void 0 : options.writable) === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
+// node_modules/@fastify/busboy/lib/types/multipart.js
+var require_multipart2 = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
+    "use strict";
+    var { Readable } = require("node:stream");
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var parseParams = require_parseParams();
+    var decodeText = require_decodeText();
+    var basename2 = require_basename();
+    var getLimit = require_getLimit();
+    var RE_BOUNDARY = /^boundary$/i;
+    var RE_FIELD = /^form-data$/i;
+    var RE_CHARSET = /^charset$/i;
+    var RE_FILENAME = /^filename$/i;
+    var RE_NAME = /^name$/i;
+    Multipart.detect = /^multipart\/form-data/i;
+    function Multipart(boy, cfg) {
+      let i;
+      let len;
+      const self2 = this;
+      let boundary;
+      const limits = cfg.limits;
+      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
+      const parsedConType = cfg.parsedConType || [];
+      const defCharset = cfg.defCharset || "utf8";
+      const preservePath = cfg.preservePath;
+      const fileOpts = { highWaterMark: cfg.fileHwm };
+      for (i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
+          boundary = parsedConType[i][1];
+          break;
         }
       }
-    };
-    module2.exports = function duplexify(body, name) {
-      if (isDuplexNodeStream(body)) {
-        return body;
-      }
-      if (isReadableNodeStream(body)) {
-        return _duplexify({
-          readable: body
-        });
-      }
-      if (isWritableNodeStream(body)) {
-        return _duplexify({
-          writable: body
-        });
-      }
-      if (isNodeStream(body)) {
-        return _duplexify({
-          writable: false,
-          readable: false
-        });
-      }
-      if (isReadableStream(body)) {
-        return _duplexify({
-          readable: Readable.fromWeb(body)
-        });
-      }
-      if (isWritableStream(body)) {
-        return _duplexify({
-          writable: Writable.fromWeb(body)
-        });
-      }
-      if (typeof body === "function") {
-        const { value, write, final, destroy } = fromAsyncGen(body);
-        if (isIterable(value)) {
-          return from(Duplexify, value, {
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            write,
-            final,
-            destroy
-          });
-        }
-        const then2 = value === null || value === void 0 ? void 0 : value.then;
-        if (typeof then2 === "function") {
-          let d;
-          const promise = FunctionPrototypeCall(
-            then2,
-            value,
-            (val) => {
-              if (val != null) {
-                throw new ERR_INVALID_RETURN_VALUE("nully", "body", val);
-              }
-            },
-            (err) => {
-              destroyer(d, err);
-            }
-          );
-          return d = new Duplexify({
-            // TODO (ronag): highWaterMark?
-            objectMode: true,
-            readable: false,
-            write,
-            final(cb) {
-              final(async () => {
-                try {
-                  await promise;
-                  process2.nextTick(cb, null);
-                } catch (err) {
-                  process2.nextTick(cb, err);
-                }
-              });
-            },
-            destroy
-          });
+      function checkFinished() {
+        if (nends === 0 && finished && !boy._done) {
+          finished = false;
+          self2.end();
         }
-        throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or AsyncFunction", name, value);
-      }
-      if (isBlob(body)) {
-        return duplexify(body.arrayBuffer());
-      }
-      if (isIterable(body)) {
-        return from(Duplexify, body, {
-          // TODO (ronag): highWaterMark?
-          objectMode: true,
-          writable: false
-        });
-      }
-      if (isReadableStream(body === null || body === void 0 ? void 0 : body.readable) && isWritableStream(body === null || body === void 0 ? void 0 : body.writable)) {
-        return Duplexify.fromWeb(body);
-      }
-      if (typeof (body === null || body === void 0 ? void 0 : body.writable) === "object" || typeof (body === null || body === void 0 ? void 0 : body.readable) === "object") {
-        const readable = body !== null && body !== void 0 && body.readable ? isReadableNodeStream(body === null || body === void 0 ? void 0 : body.readable) ? body === null || body === void 0 ? void 0 : body.readable : duplexify(body.readable) : void 0;
-        const writable = body !== null && body !== void 0 && body.writable ? isWritableNodeStream(body === null || body === void 0 ? void 0 : body.writable) ? body === null || body === void 0 ? void 0 : body.writable : duplexify(body.writable) : void 0;
-        return _duplexify({
-          readable,
-          writable
-        });
       }
-      const then = body === null || body === void 0 ? void 0 : body.then;
-      if (typeof then === "function") {
-        let d;
-        FunctionPrototypeCall(
-          then,
-          body,
-          (val) => {
-            if (val != null) {
-              d.push(val);
-            }
-            d.push(null);
-          },
-          (err) => {
-            destroyer(d, err);
-          }
-        );
-        return d = new Duplexify({
-          objectMode: true,
-          writable: false,
-          read() {
-          }
-        });
+      if (typeof boundary !== "string") {
+        throw new Error("Multipart: Boundary not found");
       }
-      throw new ERR_INVALID_ARG_TYPE2(
-        name,
-        [
-          "Blob",
-          "ReadableStream",
-          "WritableStream",
-          "Stream",
-          "Iterable",
-          "AsyncIterable",
-          "Function",
-          "{ readable, writable } pair",
-          "Promise"
-        ],
-        body
-      );
-    };
-    function fromAsyncGen(fn) {
-      let { promise, resolve: resolve2 } = createDeferredPromise();
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const value = fn(
-        (async function* () {
-          while (true) {
-            const _promise = promise;
-            promise = null;
-            const { chunk, done, cb } = await _promise;
-            process2.nextTick(cb);
-            if (done) return;
-            if (signal.aborted)
-              throw new AbortError(void 0, {
-                cause: signal.reason
-              });
-            ({ promise, resolve: resolve2 } = createDeferredPromise());
-            yield chunk;
-          }
-        })(),
-        {
-          signal
+      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
+      const filesLimit = getLimit(limits, "files", Infinity);
+      const fieldsLimit = getLimit(limits, "fields", Infinity);
+      const partsLimit = getLimit(limits, "parts", Infinity);
+      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
+      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
+      let nfiles = 0;
+      let nfields = 0;
+      let nends = 0;
+      let curFile;
+      let curField;
+      let finished = false;
+      this._needDrain = false;
+      this._pause = false;
+      this._cb = void 0;
+      this._nparts = 0;
+      this._boy = boy;
+      const parserCfg = {
+        boundary,
+        maxHeaderPairs: headerPairsLimit,
+        maxHeaderSize: headerSizeLimit,
+        partHwm: fileOpts.highWaterMark,
+        highWaterMark: cfg.highWaterMark
+      };
+      this.parser = new Dicer(parserCfg);
+      this.parser.on("drain", function() {
+        self2._needDrain = false;
+        if (self2._cb && !self2._pause) {
+          const cb = self2._cb;
+          self2._cb = void 0;
+          cb();
         }
-      );
-      return {
-        value,
-        write(chunk, encoding, cb) {
-          const _resolve = resolve2;
-          resolve2 = null;
-          _resolve({
-            chunk,
-            done: false,
-            cb
-          });
-        },
-        final(cb) {
-          const _resolve = resolve2;
-          resolve2 = null;
-          _resolve({
-            done: true,
-            cb
-          });
-        },
-        destroy(err, cb) {
-          ac.abort();
-          cb(err);
+      }).on("part", function onPart(part) {
+        if (++self2._nparts > partsLimit) {
+          self2.parser.removeListener("part", onPart);
+          self2.parser.on("part", skipPart);
+          boy.hitPartsLimit = true;
+          boy.emit("partsLimit");
+          return skipPart(part);
         }
-      };
-    }
-    function _duplexify(pair) {
-      const r = pair.readable && typeof pair.readable.read !== "function" ? Readable.wrap(pair.readable) : pair.readable;
-      const w = pair.writable;
-      let readable = !!isReadable(r);
-      let writable = !!isWritable(w);
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
+        if (curField) {
+          const field = curField;
+          field.emit("end");
+          field.removeAllListeners("end");
         }
-      }
-      d = new Duplexify({
-        // TODO (ronag): highWaterMark?
-        readableObjectMode: !!(r !== null && r !== void 0 && r.readableObjectMode),
-        writableObjectMode: !!(w !== null && w !== void 0 && w.writableObjectMode),
-        readable,
-        writable
-      });
-      if (writable) {
-        eos(w, (err) => {
-          writable = false;
-          if (err) {
-            destroyer(r, err);
-          }
-          onfinished(err);
-        });
-        d._write = function(chunk, encoding, callback) {
-          if (w.write(chunk, encoding)) {
-            callback();
-          } else {
-            ondrain = callback;
+        part.on("header", function(header) {
+          let contype;
+          let fieldname;
+          let parsed;
+          let charset;
+          let encoding;
+          let filename;
+          let nsize = 0;
+          if (header["content-type"]) {
+            parsed = parseParams(header["content-type"][0]);
+            if (parsed[0]) {
+              contype = parsed[0].toLowerCase();
+              for (i = 0, len = parsed.length; i < len; ++i) {
+                if (RE_CHARSET.test(parsed[i][0])) {
+                  charset = parsed[i][1].toLowerCase();
+                  break;
+                }
+              }
+            }
           }
-        };
-        d._final = function(callback) {
-          w.end();
-          onfinish = callback;
-        };
-        w.on("drain", function() {
-          if (ondrain) {
-            const cb = ondrain;
-            ondrain = null;
-            cb();
+          if (contype === void 0) {
+            contype = "text/plain";
           }
-        });
-        w.on("finish", function() {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
+          if (charset === void 0) {
+            charset = defCharset;
           }
-        });
-      }
-      if (readable) {
-        eos(r, (err) => {
-          readable = false;
-          if (err) {
-            destroyer(r, err);
+          if (header["content-disposition"]) {
+            parsed = parseParams(header["content-disposition"][0]);
+            if (!RE_FIELD.test(parsed[0])) {
+              return skipPart(part);
+            }
+            for (i = 0, len = parsed.length; i < len; ++i) {
+              if (RE_NAME.test(parsed[i][0])) {
+                fieldname = parsed[i][1];
+              } else if (RE_FILENAME.test(parsed[i][0])) {
+                filename = parsed[i][1];
+                if (!preservePath) {
+                  filename = basename2(filename);
+                }
+              }
+            }
+          } else {
+            return skipPart(part);
           }
-          onfinished(err);
-        });
-        r.on("readable", function() {
-          if (onreadable) {
-            const cb = onreadable;
-            onreadable = null;
-            cb();
+          if (header["content-transfer-encoding"]) {
+            encoding = header["content-transfer-encoding"][0].toLowerCase();
+          } else {
+            encoding = "7bit";
           }
-        });
-        r.on("end", function() {
-          d.push(null);
-        });
-        d._read = function() {
-          while (true) {
-            const buf = r.read();
-            if (buf === null) {
-              onreadable = d._read;
-              return;
+          let onData, onEnd;
+          if (isPartAFile(fieldname, contype, filename)) {
+            if (nfiles === filesLimit) {
+              if (!boy.hitFilesLimit) {
+                boy.hitFilesLimit = true;
+                boy.emit("filesLimit");
+              }
+              return skipPart(part);
             }
-            if (!d.push(buf)) {
+            ++nfiles;
+            if (boy.listenerCount("file") === 0) {
+              self2.parser._ignore();
               return;
             }
+            ++nends;
+            const file = new FileStream(fileOpts);
+            curFile = file;
+            file.on("end", function() {
+              --nends;
+              self2._pause = false;
+              checkFinished();
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            });
+            file._read = function(n) {
+              if (!self2._pause) {
+                return;
+              }
+              self2._pause = false;
+              if (self2._cb && !self2._needDrain) {
+                const cb = self2._cb;
+                self2._cb = void 0;
+                cb();
+              }
+            };
+            boy.emit("file", fieldname, file, filename, encoding, contype);
+            onData = function(data) {
+              if ((nsize += data.length) > fileSizeLimit) {
+                const extralen = fileSizeLimit - nsize + data.length;
+                if (extralen > 0) {
+                  file.push(data.slice(0, extralen));
+                }
+                file.truncated = true;
+                file.bytesRead = fileSizeLimit;
+                part.removeAllListeners("data");
+                file.emit("limit");
+                return;
+              } else if (!file.push(data)) {
+                self2._pause = true;
+              }
+              file.bytesRead = nsize;
+            };
+            onEnd = function() {
+              curFile = void 0;
+              file.push(null);
+            };
+          } else {
+            if (nfields === fieldsLimit) {
+              if (!boy.hitFieldsLimit) {
+                boy.hitFieldsLimit = true;
+                boy.emit("fieldsLimit");
+              }
+              return skipPart(part);
+            }
+            ++nfields;
+            ++nends;
+            let buffer = "";
+            let truncated = false;
+            curField = part;
+            onData = function(data) {
+              if ((nsize += data.length) > fieldSizeLimit) {
+                const extralen = fieldSizeLimit - (nsize - data.length);
+                buffer += data.toString("binary", 0, extralen);
+                truncated = true;
+                part.removeAllListeners("data");
+              } else {
+                buffer += data.toString("binary");
+              }
+            };
+            onEnd = function() {
+              curField = void 0;
+              if (buffer.length) {
+                buffer = decodeText(buffer, "binary", charset);
+              }
+              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
+              --nends;
+              checkFinished();
+            };
           }
-        };
-      }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          destroyer(w, err);
-          destroyer(r, err);
-        }
-      };
-      return d;
-    }
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/duplex.js
-var require_duplex = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/duplex.js"(exports2, module2) {
-    "use strict";
-    var {
-      ObjectDefineProperties,
-      ObjectGetOwnPropertyDescriptor,
-      ObjectKeys,
-      ObjectSetPrototypeOf
-    } = require_primordials();
-    module2.exports = Duplex;
-    var Readable = require_readable4();
-    var Writable = require_writable();
-    ObjectSetPrototypeOf(Duplex.prototype, Readable.prototype);
-    ObjectSetPrototypeOf(Duplex, Readable);
-    {
-      const keys = ObjectKeys(Writable.prototype);
-      for (let i = 0; i < keys.length; i++) {
-        const method = keys[i];
-        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
-      }
+          part._readableState.sync = false;
+          part.on("data", onData);
+          part.on("end", onEnd);
+        }).on("error", function(err) {
+          if (curFile) {
+            curFile.emit("error", err);
+          }
+        });
+      }).on("error", function(err) {
+        boy.emit("error", err);
+      }).on("finish", function() {
+        finished = true;
+        checkFinished();
+      });
     }
-    function Duplex(options) {
-      if (!(this instanceof Duplex)) return new Duplex(options);
-      Readable.call(this, options);
-      Writable.call(this, options);
-      if (options) {
-        this.allowHalfOpen = options.allowHalfOpen !== false;
-        if (options.readable === false) {
-          this._readableState.readable = false;
-          this._readableState.ended = true;
-          this._readableState.endEmitted = true;
-        }
-        if (options.writable === false) {
-          this._writableState.writable = false;
-          this._writableState.ending = true;
-          this._writableState.ended = true;
-          this._writableState.finished = true;
-        }
+    Multipart.prototype.write = function(chunk, cb) {
+      const r = this.parser.write(chunk);
+      if (r && !this._pause) {
+        cb();
       } else {
-        this.allowHalfOpen = true;
-      }
-    }
-    ObjectDefineProperties(Duplex.prototype, {
-      writable: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writable")
-      },
-      writableHighWaterMark: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableHighWaterMark")
-      },
-      writableObjectMode: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableObjectMode")
-      },
-      writableBuffer: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableBuffer")
-      },
-      writableLength: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableLength")
-      },
-      writableFinished: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableFinished")
-      },
-      writableCorked: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableCorked")
-      },
-      writableEnded: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableEnded")
-      },
-      writableNeedDrain: {
-        __proto__: null,
-        ...ObjectGetOwnPropertyDescriptor(Writable.prototype, "writableNeedDrain")
-      },
-      destroyed: {
-        __proto__: null,
-        get() {
-          if (this._readableState === void 0 || this._writableState === void 0) {
-            return false;
-          }
-          return this._readableState.destroyed && this._writableState.destroyed;
-        },
-        set(value) {
-          if (this._readableState && this._writableState) {
-            this._readableState.destroyed = value;
-            this._writableState.destroyed = value;
-          }
-        }
+        this._needDrain = !r;
+        this._cb = cb;
       }
-    });
-    var webStreamsAdapters;
-    function lazyWebStreams() {
-      if (webStreamsAdapters === void 0) webStreamsAdapters = {};
-      return webStreamsAdapters;
-    }
-    Duplex.fromWeb = function(pair, options) {
-      return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options);
-    };
-    Duplex.toWeb = function(duplex) {
-      return lazyWebStreams().newReadableWritablePairFromDuplex(duplex);
     };
-    var duplexify;
-    Duplex.from = function(body) {
-      if (!duplexify) {
-        duplexify = require_duplexify();
+    Multipart.prototype.end = function() {
+      const self2 = this;
+      if (self2.parser.writable) {
+        self2.parser.end();
+      } else if (!self2._boy._done) {
+        process.nextTick(function() {
+          self2._boy._done = true;
+          self2._boy.emit("finish");
+        });
       }
-      return duplexify(body, "body");
     };
+    function skipPart(part) {
+      part.resume();
+    }
+    function FileStream(opts) {
+      Readable.call(this, opts);
+      this.bytesRead = 0;
+      this.truncated = false;
+    }
+    inherits(FileStream, Readable);
+    FileStream.prototype._read = function(n) {
+    };
+    module2.exports = Multipart;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/transform.js
-var require_transform = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/utils/Decoder.js
+var require_Decoder = __commonJS({
+  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
     "use strict";
-    var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials();
-    module2.exports = Transform;
-    var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors4().codes;
-    var Duplex = require_duplex();
-    var { getHighWaterMark } = require_state3();
-    ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype);
-    ObjectSetPrototypeOf(Transform, Duplex);
-    var kCallback = Symbol2("kCallback");
-    function Transform(options) {
-      if (!(this instanceof Transform)) return new Transform(options);
-      const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null;
-      if (readableHighWaterMark === 0) {
-        options = {
-          ...options,
-          highWaterMark: null,
-          readableHighWaterMark,
-          // TODO (ronag): 0 is not optimal since we have
-          // a "bug" where we check needDrain before calling _write and not after.
-          // Refs: https://github.com/nodejs/node/pull/32887
-          // Refs: https://github.com/nodejs/node/pull/35941
-          writableHighWaterMark: options.writableHighWaterMark || 0
-        };
-      }
-      Duplex.call(this, options);
-      this._readableState.sync = false;
-      this[kCallback] = null;
-      if (options) {
-        if (typeof options.transform === "function") this._transform = options.transform;
-        if (typeof options.flush === "function") this._flush = options.flush;
-      }
-      this.on("prefinish", prefinish);
+    var RE_PLUS = /\+/g;
+    var HEX = [
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      1,
+      1,
+      1,
+      1,
+      1,
+      1,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0,
+      0
+    ];
+    function Decoder() {
+      this.buffer = void 0;
     }
-    function final(cb) {
-      if (typeof this._flush === "function" && !this.destroyed) {
-        this._flush((er, data) => {
-          if (er) {
-            if (cb) {
-              cb(er);
-            } else {
-              this.destroy(er);
+    Decoder.prototype.write = function(str2) {
+      str2 = str2.replace(RE_PLUS, " ");
+      let res = "";
+      let i = 0;
+      let p = 0;
+      const len = str2.length;
+      for (; i < len; ++i) {
+        if (this.buffer !== void 0) {
+          if (!HEX[str2.charCodeAt(i)]) {
+            res += "%" + this.buffer;
+            this.buffer = void 0;
+            --i;
+          } else {
+            this.buffer += str2[i];
+            ++p;
+            if (this.buffer.length === 2) {
+              res += String.fromCharCode(parseInt(this.buffer, 16));
+              this.buffer = void 0;
             }
-            return;
           }
-          if (data != null) {
-            this.push(data);
-          }
-          this.push(null);
-          if (cb) {
-            cb();
+        } else if (str2[i] === "%") {
+          if (i > p) {
+            res += str2.substring(p, i);
+            p = i;
           }
-        });
-      } else {
-        this.push(null);
-        if (cb) {
-          cb();
+          this.buffer = "";
+          ++p;
         }
       }
-    }
-    function prefinish() {
-      if (this._final !== final) {
-        final.call(this);
+      if (p < len && this.buffer === void 0) {
+        res += str2.substring(p);
       }
-    }
-    Transform.prototype._final = final;
-    Transform.prototype._transform = function(chunk, encoding, callback) {
-      throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()");
-    };
-    Transform.prototype._write = function(chunk, encoding, callback) {
-      const rState = this._readableState;
-      const wState = this._writableState;
-      const length = rState.length;
-      this._transform(chunk, encoding, (err, val) => {
-        if (err) {
-          callback(err);
-          return;
-        }
-        if (val != null) {
-          this.push(val);
-        }
-        if (wState.ended || // Backwards compat.
-        length === rState.length || // Backwards compat.
-        rState.length < rState.highWaterMark) {
-          callback();
-        } else {
-          this[kCallback] = callback;
-        }
-      });
+      return res;
     };
-    Transform.prototype._read = function() {
-      if (this[kCallback]) {
-        const callback = this[kCallback];
-        this[kCallback] = null;
-        callback();
-      }
+    Decoder.prototype.reset = function() {
+      this.buffer = void 0;
     };
+    module2.exports = Decoder;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/passthrough.js
-var require_passthrough2 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/types/urlencoded.js
+var require_urlencoded = __commonJS({
+  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
     "use strict";
-    var { ObjectSetPrototypeOf } = require_primordials();
-    module2.exports = PassThrough;
-    var Transform = require_transform();
-    ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype);
-    ObjectSetPrototypeOf(PassThrough, Transform);
-    function PassThrough(options) {
-      if (!(this instanceof PassThrough)) return new PassThrough(options);
-      Transform.call(this, options);
-    }
-    PassThrough.prototype._transform = function(chunk, encoding, cb) {
-      cb(null, chunk);
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/internal/streams/pipeline.js
-var require_pipeline4 = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
-    var process2 = require_process();
-    var { ArrayIsArray, Promise: Promise2, SymbolAsyncIterator, SymbolDispose } = require_primordials();
-    var eos = require_end_of_stream();
-    var { once } = require_util19();
-    var destroyImpl = require_destroy2();
-    var Duplex = require_duplex();
-    var {
-      aggregateTwoErrors,
-      codes: {
-        ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2,
-        ERR_INVALID_RETURN_VALUE,
-        ERR_MISSING_ARGS,
-        ERR_STREAM_DESTROYED,
-        ERR_STREAM_PREMATURE_CLOSE
-      },
-      AbortError
-    } = require_errors4();
-    var { validateFunction, validateAbortSignal } = require_validators();
-    var {
-      isIterable,
-      isReadable,
-      isReadableNodeStream,
-      isNodeStream,
-      isTransformStream,
-      isWebStream,
-      isReadableStream,
-      isReadableFinished
-    } = require_utils8();
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var PassThrough;
-    var Readable;
-    var addAbortListener;
-    function destroyer(stream, reading, writing) {
-      let finished = false;
-      stream.on("close", () => {
-        finished = true;
-      });
-      const cleanup = eos(
-        stream,
-        {
-          readable: reading,
-          writable: writing
-        },
-        (err) => {
-          finished = !err;
-        }
-      );
-      return {
-        destroy: (err) => {
-          if (finished) return;
-          finished = true;
-          destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED("pipe"));
-        },
-        cleanup
-      };
-    }
-    function popCallback(streams) {
-      validateFunction(streams[streams.length - 1], "streams[stream.length - 1]");
-      return streams.pop();
-    }
-    function makeAsyncIterable(val) {
-      if (isIterable(val)) {
-        return val;
-      } else if (isReadableNodeStream(val)) {
-        return fromReadable(val);
-      }
-      throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val);
-    }
-    async function* fromReadable(val) {
-      if (!Readable) {
-        Readable = require_readable4();
-      }
-      yield* Readable.prototype[SymbolAsyncIterator].call(val);
-    }
-    async function pumpToNode(iterable, writable, finish, { end }) {
-      let error3;
-      let onresolve = null;
-      const resume = (err) => {
-        if (err) {
-          error3 = err;
-        }
-        if (onresolve) {
-          const callback = onresolve;
-          onresolve = null;
-          callback();
-        }
-      };
-      const wait = () => new Promise2((resolve2, reject) => {
-        if (error3) {
-          reject(error3);
-        } else {
-          onresolve = () => {
-            if (error3) {
-              reject(error3);
-            } else {
-              resolve2();
-            }
-          };
-        }
-      });
-      writable.on("drain", resume);
-      const cleanup = eos(
-        writable,
-        {
-          readable: false
-        },
-        resume
-      );
-      try {
-        if (writable.writableNeedDrain) {
-          await wait();
-        }
-        for await (const chunk of iterable) {
-          if (!writable.write(chunk)) {
-            await wait();
-          }
-        }
-        if (end) {
-          writable.end();
-          await wait();
+    var Decoder = require_Decoder();
+    var decodeText = require_decodeText();
+    var getLimit = require_getLimit();
+    var RE_CHARSET = /^charset$/i;
+    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
+    function UrlEncoded(boy, cfg) {
+      const limits = cfg.limits;
+      const parsedConType = cfg.parsedConType;
+      this.boy = boy;
+      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
+      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
+      this.fieldsLimit = getLimit(limits, "fields", Infinity);
+      let charset;
+      for (var i = 0, len = parsedConType.length; i < len; ++i) {
+        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
+          charset = parsedConType[i][1].toLowerCase();
+          break;
         }
-        finish();
-      } catch (err) {
-        finish(error3 !== err ? aggregateTwoErrors(error3, err) : err);
-      } finally {
-        cleanup();
-        writable.off("drain", resume);
-      }
-    }
-    async function pumpToWeb(readable, writable, finish, { end }) {
-      if (isTransformStream(writable)) {
-        writable = writable.writable;
       }
-      const writer = writable.getWriter();
-      try {
-        for await (const chunk of readable) {
-          await writer.ready;
-          writer.write(chunk).catch(() => {
-          });
-        }
-        await writer.ready;
-        if (end) {
-          await writer.close();
-        }
-        finish();
-      } catch (err) {
-        try {
-          await writer.abort(err);
-          finish(err);
-        } catch (err2) {
-          finish(err2);
-        }
+      if (charset === void 0) {
+        charset = cfg.defCharset || "utf8";
       }
+      this.decoder = new Decoder();
+      this.charset = charset;
+      this._fields = 0;
+      this._state = "key";
+      this._checkingBytes = true;
+      this._bytesKey = 0;
+      this._bytesVal = 0;
+      this._key = "";
+      this._val = "";
+      this._keyTrunc = false;
+      this._valTrunc = false;
+      this._hitLimit = false;
     }
-    function pipeline(...streams) {
-      return pipelineImpl(streams, once(popCallback(streams)));
-    }
-    function pipelineImpl(streams, callback, opts) {
-      if (streams.length === 1 && ArrayIsArray(streams[0])) {
-        streams = streams[0];
-      }
-      if (streams.length < 2) {
-        throw new ERR_MISSING_ARGS("streams");
-      }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      const outerSignal = opts === null || opts === void 0 ? void 0 : opts.signal;
-      const lastStreamCleanup = [];
-      validateAbortSignal(outerSignal, "options.signal");
-      function abort() {
-        finishImpl(new AbortError());
-      }
-      addAbortListener = addAbortListener || require_util19().addAbortListener;
-      let disposable;
-      if (outerSignal) {
-        disposable = addAbortListener(outerSignal, abort);
-      }
-      let error3;
-      let value;
-      const destroys = [];
-      let finishCount = 0;
-      function finish(err) {
-        finishImpl(err, --finishCount === 0);
-      }
-      function finishImpl(err, final) {
-        var _disposable;
-        if (err && (!error3 || error3.code === "ERR_STREAM_PREMATURE_CLOSE")) {
-          error3 = err;
-        }
-        if (!error3 && !final) {
-          return;
-        }
-        while (destroys.length) {
-          destroys.shift()(error3);
-        }
-        ;
-        (_disposable = disposable) === null || _disposable === void 0 ? void 0 : _disposable[SymbolDispose]();
-        ac.abort();
-        if (final) {
-          if (!error3) {
-            lastStreamCleanup.forEach((fn) => fn());
-          }
-          process2.nextTick(callback, error3, value);
+    UrlEncoded.prototype.write = function(data, cb) {
+      if (this._fields === this.fieldsLimit) {
+        if (!this.boy.hitFieldsLimit) {
+          this.boy.hitFieldsLimit = true;
+          this.boy.emit("fieldsLimit");
         }
+        return cb();
       }
-      let ret;
-      for (let i = 0; i < streams.length; i++) {
-        const stream = streams[i];
-        const reading = i < streams.length - 1;
-        const writing = i > 0;
-        const end = reading || (opts === null || opts === void 0 ? void 0 : opts.end) !== false;
-        const isLastStream = i === streams.length - 1;
-        if (isNodeStream(stream)) {
-          let onError2 = function(err) {
-            if (err && err.name !== "AbortError" && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
-              finish(err);
+      let idxeq;
+      let idxamp;
+      let i;
+      let p = 0;
+      const len = data.length;
+      while (p < len) {
+        if (this._state === "key") {
+          idxeq = idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
             }
-          };
-          var onError = onError2;
-          if (end) {
-            const { destroy, cleanup } = destroyer(stream, reading, writing);
-            destroys.push(destroy);
-            if (isReadable(stream) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
+            if (data[i] === 61) {
+              idxeq = i;
+              break;
+            } else if (data[i] === 38) {
+              idxamp = i;
+              break;
             }
-          }
-          stream.on("error", onError2);
-          if (isReadable(stream) && isLastStream) {
-            lastStreamCleanup.push(() => {
-              stream.removeListener("error", onError2);
-            });
-          }
-        }
-        if (i === 0) {
-          if (typeof stream === "function") {
-            ret = stream({
-              signal
-            });
-            if (!isIterable(ret)) {
-              throw new ERR_INVALID_RETURN_VALUE("Iterable, AsyncIterable or Stream", "source", ret);
+            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesKey;
             }
-          } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {
-            ret = stream;
-          } else {
-            ret = Duplex.from(stream);
-          }
-        } else if (typeof stream === "function") {
-          if (isTransformStream(ret)) {
-            var _ret;
-            ret = makeAsyncIterable((_ret = ret) === null || _ret === void 0 ? void 0 : _ret.readable);
-          } else {
-            ret = makeAsyncIterable(ret);
           }
-          ret = stream(ret, {
-            signal
-          });
-          if (reading) {
-            if (!isIterable(ret, true)) {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable", `transform[${i - 1}]`, ret);
-            }
-          } else {
-            var _ret2;
-            if (!PassThrough) {
-              PassThrough = require_passthrough2();
+          if (idxeq !== void 0) {
+            if (idxeq > p) {
+              this._key += this.decoder.write(data.toString("binary", p, idxeq));
             }
-            const pt = new PassThrough({
-              objectMode: true
-            });
-            const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then;
-            if (typeof then === "function") {
-              finishCount++;
-              then.call(
-                ret,
-                (val) => {
-                  value = val;
-                  if (val != null) {
-                    pt.write(val);
-                  }
-                  if (end) {
-                    pt.end();
-                  }
-                  process2.nextTick(finish);
-                },
-                (err) => {
-                  pt.destroy(err);
-                  process2.nextTick(finish, err);
-                }
-              );
-            } else if (isIterable(ret, true)) {
-              finishCount++;
-              pumpToNode(ret, pt, finish, {
-                end
-              });
-            } else if (isReadableStream(ret) || isTransformStream(ret)) {
-              const toRead = ret.readable || ret;
-              finishCount++;
-              pumpToNode(toRead, pt, finish, {
-                end
-              });
+            this._state = "val";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._val = "";
+            this._bytesVal = 0;
+            this._valTrunc = false;
+            this.decoder.reset();
+            p = idxeq + 1;
+          } else if (idxamp !== void 0) {
+            ++this._fields;
+            let key;
+            const keyTrunc = this._keyTrunc;
+            if (idxamp > p) {
+              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
             } else {
-              throw new ERR_INVALID_RETURN_VALUE("AsyncIterable or Promise", "destination", ret);
+              key = this._key;
+            }
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            if (key.length) {
+              this.boy.emit(
+                "field",
+                decodeText(key, "binary", this.charset),
+                "",
+                keyTrunc,
+                false
+              );
             }
-            ret = pt;
-            const { destroy, cleanup } = destroyer(ret, false, true);
-            destroys.push(destroy);
-            if (isLastStream) {
-              lastStreamCleanup.push(cleanup);
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
             }
-          }
-        } else if (isNodeStream(stream)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount += 2;
-            const cleanup = pipe(ret, stream, finish, {
-              end
-            });
-            if (isReadable(stream) && isLastStream) {
-              lastStreamCleanup.push(cleanup);
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._key += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
+              this._checkingBytes = false;
+              this._keyTrunc = true;
             }
-          } else if (isTransformStream(ret) || isReadableStream(ret)) {
-            const toRead = ret.readable || ret;
-            finishCount++;
-            pumpToNode(toRead, stream, finish, {
-              end
-            });
-          } else if (isIterable(ret)) {
-            finishCount++;
-            pumpToNode(ret, stream, finish, {
-              end
-            });
           } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
-            );
+            if (p < len) {
+              this._key += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
           }
-          ret = stream;
-        } else if (isWebStream(stream)) {
-          if (isReadableNodeStream(ret)) {
-            finishCount++;
-            pumpToWeb(makeAsyncIterable(ret), stream, finish, {
-              end
-            });
-          } else if (isReadableStream(ret) || isIterable(ret)) {
-            finishCount++;
-            pumpToWeb(ret, stream, finish, {
-              end
-            });
-          } else if (isTransformStream(ret)) {
-            finishCount++;
-            pumpToWeb(ret.readable, stream, finish, {
-              end
-            });
-          } else {
-            throw new ERR_INVALID_ARG_TYPE2(
-              "val",
-              ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"],
-              ret
+        } else {
+          idxamp = void 0;
+          for (i = p; i < len; ++i) {
+            if (!this._checkingBytes) {
+              ++p;
+            }
+            if (data[i] === 38) {
+              idxamp = i;
+              break;
+            }
+            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
+              this._hitLimit = true;
+              break;
+            } else if (this._checkingBytes) {
+              ++this._bytesVal;
+            }
+          }
+          if (idxamp !== void 0) {
+            ++this._fields;
+            if (idxamp > p) {
+              this._val += this.decoder.write(data.toString("binary", p, idxamp));
+            }
+            this.boy.emit(
+              "field",
+              decodeText(this._key, "binary", this.charset),
+              decodeText(this._val, "binary", this.charset),
+              this._keyTrunc,
+              this._valTrunc
             );
+            this._state = "key";
+            this._hitLimit = false;
+            this._checkingBytes = true;
+            this._key = "";
+            this._bytesKey = 0;
+            this._keyTrunc = false;
+            this.decoder.reset();
+            p = idxamp + 1;
+            if (this._fields === this.fieldsLimit) {
+              return cb();
+            }
+          } else if (this._hitLimit) {
+            if (i > p) {
+              this._val += this.decoder.write(data.toString("binary", p, i));
+            }
+            p = i;
+            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
+              this._checkingBytes = false;
+              this._valTrunc = true;
+            }
+          } else {
+            if (p < len) {
+              this._val += this.decoder.write(data.toString("binary", p));
+            }
+            p = len;
           }
-          ret = stream;
-        } else {
-          ret = Duplex.from(stream);
         }
       }
-      if (signal !== null && signal !== void 0 && signal.aborted || outerSignal !== null && outerSignal !== void 0 && outerSignal.aborted) {
-        process2.nextTick(abort);
+      cb();
+    };
+    UrlEncoded.prototype.end = function() {
+      if (this.boy._done) {
+        return;
       }
-      return ret;
-    }
-    function pipe(src, dst, finish, { end }) {
-      let ended = false;
-      dst.on("close", () => {
-        if (!ended) {
-          finish(new ERR_STREAM_PREMATURE_CLOSE());
-        }
-      });
-      src.pipe(dst, {
-        end: false
-      });
-      if (end) {
-        let endFn2 = function() {
-          ended = true;
-          dst.end();
-        };
-        var endFn = endFn2;
-        if (isReadableFinished(src)) {
-          process2.nextTick(endFn2);
-        } else {
-          src.once("end", endFn2);
-        }
-      } else {
-        finish();
+      if (this._state === "key" && this._key.length > 0) {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          "",
+          this._keyTrunc,
+          false
+        );
+      } else if (this._state === "val") {
+        this.boy.emit(
+          "field",
+          decodeText(this._key, "binary", this.charset),
+          decodeText(this._val, "binary", this.charset),
+          this._keyTrunc,
+          this._valTrunc
+        );
       }
-      eos(
-        src,
-        {
-          readable: true,
-          writable: false
-        },
-        (err) => {
-          const rState = src._readableState;
-          if (err && err.code === "ERR_STREAM_PREMATURE_CLOSE" && rState && rState.ended && !rState.errored && !rState.errorEmitted) {
-            src.once("end", finish).once("error", finish);
-          } else {
-            finish(err);
-          }
-        }
-      );
-      return eos(
-        dst,
-        {
-          readable: false,
-          writable: true
-        },
-        finish
-      );
-    }
-    module2.exports = {
-      pipelineImpl,
-      pipeline
+      this.boy._done = true;
+      this.boy.emit("finish");
     };
+    module2.exports = UrlEncoded;
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/compose.js
-var require_compose = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/compose.js"(exports2, module2) {
+// node_modules/@fastify/busboy/lib/main.js
+var require_main = __commonJS({
+  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
     "use strict";
-    var { pipeline } = require_pipeline4();
-    var Duplex = require_duplex();
-    var { destroyer } = require_destroy2();
-    var {
-      isNodeStream,
-      isReadable,
-      isWritable,
-      isWebStream,
-      isTransformStream,
-      isWritableStream,
-      isReadableStream
-    } = require_utils8();
-    var {
-      AbortError,
-      codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }
-    } = require_errors4();
-    var eos = require_end_of_stream();
-    module2.exports = function compose(...streams) {
-      if (streams.length === 0) {
-        throw new ERR_MISSING_ARGS("streams");
+    var WritableStream = require("node:stream").Writable;
+    var { inherits } = require("node:util");
+    var Dicer = require_Dicer();
+    var MultipartParser = require_multipart2();
+    var UrlencodedParser = require_urlencoded();
+    var parseParams = require_parseParams();
+    function Busboy(opts) {
+      if (!(this instanceof Busboy)) {
+        return new Busboy(opts);
       }
-      if (streams.length === 1) {
-        return Duplex.from(streams[0]);
+      if (typeof opts !== "object") {
+        throw new TypeError("Busboy expected an options-Object.");
       }
-      const orgStreams = [...streams];
-      if (typeof streams[0] === "function") {
-        streams[0] = Duplex.from(streams[0]);
+      if (typeof opts.headers !== "object") {
+        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
       }
-      if (typeof streams[streams.length - 1] === "function") {
-        const idx = streams.length - 1;
-        streams[idx] = Duplex.from(streams[idx]);
+      if (typeof opts.headers["content-type"] !== "string") {
+        throw new TypeError("Missing Content-Type-header.");
       }
-      for (let n = 0; n < streams.length; ++n) {
-        if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {
-          continue;
-        }
-        if (n < streams.length - 1 && !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be readable");
-        }
-        if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {
-          throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], "must be writable");
+      const {
+        headers,
+        ...streamOptions
+      } = opts;
+      this.opts = {
+        autoDestroy: false,
+        ...streamOptions
+      };
+      WritableStream.call(this, this.opts);
+      this._done = false;
+      this._parser = this.getParserByHeaders(headers);
+      this._finished = false;
+    }
+    inherits(Busboy, WritableStream);
+    Busboy.prototype.emit = function(ev) {
+      if (ev === "finish") {
+        if (!this._done) {
+          this._parser?.end();
+          return;
+        } else if (this._finished) {
+          return;
         }
+        this._finished = true;
       }
-      let ondrain;
-      let onfinish;
-      let onreadable;
-      let onclose;
-      let d;
-      function onfinished(err) {
-        const cb = onclose;
-        onclose = null;
-        if (cb) {
-          cb(err);
-        } else if (err) {
-          d.destroy(err);
-        } else if (!readable && !writable) {
-          d.destroy();
-        }
+      WritableStream.prototype.emit.apply(this, arguments);
+    };
+    Busboy.prototype.getParserByHeaders = function(headers) {
+      const parsed = parseParams(headers["content-type"]);
+      const cfg = {
+        defCharset: this.opts.defCharset,
+        fileHwm: this.opts.fileHwm,
+        headers,
+        highWaterMark: this.opts.highWaterMark,
+        isPartAFile: this.opts.isPartAFile,
+        limits: this.opts.limits,
+        parsedConType: parsed,
+        preservePath: this.opts.preservePath
+      };
+      if (MultipartParser.detect.test(parsed[0])) {
+        return new MultipartParser(this, cfg);
       }
-      const head = streams[0];
-      const tail = pipeline(streams, onfinished);
-      const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head));
-      const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail));
-      d = new Duplex({
-        // TODO (ronag): highWaterMark?
-        writableObjectMode: !!(head !== null && head !== void 0 && head.writableObjectMode),
-        readableObjectMode: !!(tail !== null && tail !== void 0 && tail.readableObjectMode),
-        writable,
-        readable
-      });
-      if (writable) {
-        if (isNodeStream(head)) {
-          d._write = function(chunk, encoding, callback) {
-            if (head.write(chunk, encoding)) {
-              callback();
-            } else {
-              ondrain = callback;
-            }
-          };
-          d._final = function(callback) {
-            head.end();
-            onfinish = callback;
-          };
-          head.on("drain", function() {
-            if (ondrain) {
-              const cb = ondrain;
-              ondrain = null;
-              cb();
-            }
-          });
-        } else if (isWebStream(head)) {
-          const writable2 = isTransformStream(head) ? head.writable : head;
-          const writer = writable2.getWriter();
-          d._write = async function(chunk, encoding, callback) {
-            try {
-              await writer.ready;
-              writer.write(chunk).catch(() => {
-              });
-              callback();
-            } catch (err) {
-              callback(err);
-            }
-          };
-          d._final = async function(callback) {
-            try {
-              await writer.ready;
-              writer.close().catch(() => {
-              });
-              onfinish = callback;
-            } catch (err) {
-              callback(err);
-            }
-          };
-        }
-        const toRead = isTransformStream(tail) ? tail.readable : tail;
-        eos(toRead, () => {
-          if (onfinish) {
-            const cb = onfinish;
-            onfinish = null;
-            cb();
-          }
-        });
+      if (UrlencodedParser.detect.test(parsed[0])) {
+        return new UrlencodedParser(this, cfg);
+      }
+      throw new Error("Unsupported Content-Type.");
+    };
+    Busboy.prototype._write = function(chunk, encoding, cb) {
+      this._parser.write(chunk, cb);
+    };
+    module2.exports = Busboy;
+    module2.exports.default = Busboy;
+    module2.exports.Busboy = Busboy;
+    module2.exports.Dicer = Dicer;
+  }
+});
+
+// node_modules/undici/lib/fetch/constants.js
+var require_constants20 = __commonJS({
+  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
+    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = [101, 204, 205, 304];
+    var redirectStatus = [301, 302, 303, 307, 308];
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = [
+      "1",
+      "7",
+      "9",
+      "11",
+      "13",
+      "15",
+      "17",
+      "19",
+      "20",
+      "21",
+      "22",
+      "23",
+      "25",
+      "37",
+      "42",
+      "43",
+      "53",
+      "69",
+      "77",
+      "79",
+      "87",
+      "95",
+      "101",
+      "102",
+      "103",
+      "104",
+      "109",
+      "110",
+      "111",
+      "113",
+      "115",
+      "117",
+      "119",
+      "123",
+      "135",
+      "137",
+      "139",
+      "143",
+      "161",
+      "179",
+      "389",
+      "427",
+      "465",
+      "512",
+      "513",
+      "514",
+      "515",
+      "526",
+      "530",
+      "531",
+      "532",
+      "540",
+      "548",
+      "554",
+      "556",
+      "563",
+      "587",
+      "601",
+      "636",
+      "989",
+      "990",
+      "993",
+      "995",
+      "1719",
+      "1720",
+      "1723",
+      "2049",
+      "3659",
+      "4045",
+      "5060",
+      "5061",
+      "6000",
+      "6566",
+      "6665",
+      "6666",
+      "6667",
+      "6668",
+      "6669",
+      "6697",
+      "10080"
+    ];
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = [
+      "",
+      "no-referrer",
+      "no-referrer-when-downgrade",
+      "same-origin",
+      "origin",
+      "strict-origin",
+      "origin-when-cross-origin",
+      "strict-origin-when-cross-origin",
+      "unsafe-url"
+    ];
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = ["follow", "manual", "error"];
+    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
+    var requestCredentials = ["omit", "same-origin", "include"];
+    var requestCache = [
+      "default",
+      "no-store",
+      "reload",
+      "no-cache",
+      "force-cache",
+      "only-if-cached"
+    ];
+    var requestBodyHeader = [
+      "content-encoding",
+      "content-language",
+      "content-location",
+      "content-type",
+      // See https://github.com/nodejs/undici/issues/2021
+      // 'Content-Length' is a forbidden header name, which is typically
+      // removed in the Headers implementation. However, undici doesn't
+      // filter out headers, so we add it here.
+      "content-length"
+    ];
+    var requestDuplex = [
+      "half"
+    ];
+    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = [
+      "audio",
+      "audioworklet",
+      "font",
+      "image",
+      "manifest",
+      "paintworklet",
+      "script",
+      "style",
+      "track",
+      "video",
+      "xslt",
+      ""
+    ];
+    var subresourceSet = new Set(subresource);
+    var DOMException2 = globalThis.DOMException ?? (() => {
+      try {
+        atob("~");
+      } catch (err) {
+        return Object.getPrototypeOf(err).constructor;
       }
-      if (readable) {
-        if (isNodeStream(tail)) {
-          tail.on("readable", function() {
-            if (onreadable) {
-              const cb = onreadable;
-              onreadable = null;
-              cb();
-            }
-          });
-          tail.on("end", function() {
-            d.push(null);
-          });
-          d._read = function() {
-            while (true) {
-              const buf = tail.read();
-              if (buf === null) {
-                onreadable = d._read;
-                return;
-              }
-              if (!d.push(buf)) {
-                return;
-              }
-            }
-          };
-        } else if (isWebStream(tail)) {
-          const readable2 = isTransformStream(tail) ? tail.readable : tail;
-          const reader = readable2.getReader();
-          d._read = async function() {
-            while (true) {
-              try {
-                const { value, done } = await reader.read();
-                if (!d.push(value)) {
-                  return;
-                }
-                if (done) {
-                  d.push(null);
-                  return;
-                }
-              } catch {
-                return;
-              }
-            }
-          };
-        }
+    })();
+    var channel;
+    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
+    // structuredClone was added in v17.0.0, but fetch supports v16.8
+    function structuredClone2(value, options = void 0) {
+      if (arguments.length === 0) {
+        throw new TypeError("missing argument");
       }
-      d._destroy = function(err, callback) {
-        if (!err && onclose !== null) {
-          err = new AbortError();
-        }
-        onreadable = null;
-        ondrain = null;
-        onfinish = null;
-        if (onclose === null) {
-          callback(err);
-        } else {
-          onclose = callback;
-          if (isNodeStream(tail)) {
-            destroyer(tail, err);
-          }
-        }
-      };
-      return d;
+      if (!channel) {
+        channel = new MessageChannel();
+      }
+      channel.port1.unref();
+      channel.port2.unref();
+      channel.port1.postMessage(value, options?.transfer);
+      return receiveMessageOnPort(channel.port2).message;
+    };
+    module2.exports = {
+      DOMException: DOMException2,
+      structuredClone,
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
     };
   }
 });
 
-// node_modules/readable-stream/lib/internal/streams/operators.js
-var require_operators = __commonJS({
-  "node_modules/readable-stream/lib/internal/streams/operators.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/global.js
+var require_global5 = __commonJS({
+  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
     "use strict";
-    var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController;
-    var {
-      codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },
-      AbortError
-    } = require_errors4();
-    var { validateAbortSignal, validateInteger, validateObject } = require_validators();
-    var kWeakHandler = require_primordials().Symbol("kWeak");
-    var kResistStopPropagation = require_primordials().Symbol("kResistStopPropagation");
-    var { finished } = require_end_of_stream();
-    var staticCompose = require_compose();
-    var { addAbortSignalNoValidate } = require_add_abort_signal();
-    var { isWritable, isNodeStream } = require_utils8();
-    var { deprecate } = require_util19();
-    var {
-      ArrayPrototypePush,
-      Boolean: Boolean2,
-      MathFloor,
-      Number: Number2,
-      NumberIsNaN,
-      Promise: Promise2,
-      PromiseReject,
-      PromiseResolve,
-      PromisePrototypeThen,
-      Symbol: Symbol2
-    } = require_primordials();
-    var kEmpty = Symbol2("kEmpty");
-    var kEof = Symbol2("kEof");
-    function compose(stream, options) {
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      if (isNodeStream(stream) && !isWritable(stream)) {
-        throw new ERR_INVALID_ARG_VALUE("stream", stream, "must be writable");
-      }
-      const composedStream = staticCompose(this, stream);
-      if (options !== null && options !== void 0 && options.signal) {
-        addAbortSignalNoValidate(options.signal, composedStream);
-      }
-      return composedStream;
-    }
-    function map2(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      let concurrency = 1;
-      if ((options === null || options === void 0 ? void 0 : options.concurrency) != null) {
-        concurrency = MathFloor(options.concurrency);
-      }
-      let highWaterMark = concurrency - 1;
-      if ((options === null || options === void 0 ? void 0 : options.highWaterMark) != null) {
-        highWaterMark = MathFloor(options.highWaterMark);
-      }
-      validateInteger(concurrency, "options.concurrency", 1);
-      validateInteger(highWaterMark, "options.highWaterMark", 0);
-      highWaterMark += concurrency;
-      return async function* map3() {
-        const signal = require_util19().AbortSignalAny(
-          [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2)
-        );
-        const stream = this;
-        const queue = [];
-        const signalOpt = {
-          signal
-        };
-        let next;
-        let resume;
-        let done = false;
-        let cnt = 0;
-        function onCatch() {
-          done = true;
-          afterItemProcessed();
-        }
-        function afterItemProcessed() {
-          cnt -= 1;
-          maybeResume();
-        }
-        function maybeResume() {
-          if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {
-            resume();
-            resume = null;
-          }
-        }
-        async function pump() {
-          try {
-            for await (let val of stream) {
-              if (done) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              try {
-                val = fn(val, signalOpt);
-                if (val === kEmpty) {
-                  continue;
-                }
-                val = PromiseResolve(val);
-              } catch (err) {
-                val = PromiseReject(err);
-              }
-              cnt += 1;
-              PromisePrototypeThen(val, afterItemProcessed, onCatch);
-              queue.push(val);
-              if (next) {
-                next();
-                next = null;
-              }
-              if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {
-                await new Promise2((resolve2) => {
-                  resume = resolve2;
-                });
-              }
-            }
-            queue.push(kEof);
-          } catch (err) {
-            const val = PromiseReject(err);
-            PromisePrototypeThen(val, afterItemProcessed, onCatch);
-            queue.push(val);
-          } finally {
-            done = true;
-            if (next) {
-              next();
-              next = null;
-            }
-          }
-        }
-        pump();
-        try {
-          while (true) {
-            while (queue.length > 0) {
-              const val = await queue[0];
-              if (val === kEof) {
-                return;
-              }
-              if (signal.aborted) {
-                throw new AbortError();
-              }
-              if (val !== kEmpty) {
-                yield val;
-              }
-              queue.shift();
-              maybeResume();
-            }
-            await new Promise2((resolve2) => {
-              next = resolve2;
-            });
-          }
-        } finally {
-          done = true;
-          if (resume) {
-            resume();
-            resume = null;
-          }
-        }
-      }.call(this);
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
     }
-    function asIndexedPairs(options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
       }
-      return async function* asIndexedPairs2() {
-        let index = 0;
-        for await (const val of this) {
-          var _options$signal;
-          if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) {
-            throw new AbortError({
-              cause: options.signal.reason
-            });
-          }
-          yield [index++, val];
-        }
-      }.call(this);
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
     }
-    async function some(fn, options = void 0) {
-      for await (const unused of filter.call(this, fn, options)) {
-        return true;
-      }
-      return false;
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/util.js
+var require_util24 = __commonJS({
+  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants20();
+    var { getGlobalOrigin } = require_global5();
+    var { performance: performance2 } = require("perf_hooks");
+    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util23();
+    var assert = require("assert");
+    var { isUint8Array } = require("util/types");
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash));
+    } catch {
     }
-    async function every(fn, options = void 0) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      return !await some.call(
-        this,
-        async (...args) => {
-          return !await fn(...args);
-        },
-        options
-      );
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
     }
-    async function find2(fn, options) {
-      for await (const result of filter.call(this, fn, options)) {
-        return result;
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
       }
-      return void 0;
-    }
-    async function forEach(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
+      let location = response.headersList.get("location");
+      if (location !== null && isValidHeaderValue(location)) {
+        location = new URL(location, responseURL(response));
       }
-      async function forEachFn(value, options2) {
-        await fn(value, options2);
-        return kEmpty;
+      if (location && !location.hash) {
+        location.hash = requestFragment;
       }
-      for await (const unused of map2.call(this, forEachFn, options)) ;
+      return location;
     }
-    function filter(fn, options) {
-      if (typeof fn !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn);
-      }
-      async function filterFn(value, options2) {
-        if (await fn(value, options2)) {
-          return value;
-        }
-        return kEmpty;
-      }
-      return map2.call(this, filterFn, options);
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
     }
-    var ReduceAwareErrMissingArgs = class extends ERR_MISSING_ARGS {
-      constructor() {
-        super("reduce");
-        this.message = "Reduce of an empty stream requires an initial value";
-      }
-    };
-    async function reduce(reducer, initialValue, options) {
-      var _options$signal2;
-      if (typeof reducer !== "function") {
-        throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer);
-      }
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      let hasInitialValue = arguments.length > 1;
-      if (options !== null && options !== void 0 && (_options$signal2 = options.signal) !== null && _options$signal2 !== void 0 && _options$signal2.aborted) {
-        const err = new AbortError(void 0, {
-          cause: options.signal.reason
-        });
-        this.once("error", () => {
-        });
-        await finished(this.destroy(err));
-        throw err;
-      }
-      const ac = new AbortController2();
-      const signal = ac.signal;
-      if (options !== null && options !== void 0 && options.signal) {
-        const opts = {
-          once: true,
-          [kWeakHandler]: this,
-          [kResistStopPropagation]: true
-        };
-        options.signal.addEventListener("abort", () => ac.abort(), opts);
+    function requestBadPort(request2) {
+      const url = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
+        return "blocked";
       }
-      let gotAnyItemFromStream = false;
-      try {
-        for await (const value of this) {
-          var _options$signal3;
-          gotAnyItemFromStream = true;
-          if (options !== null && options !== void 0 && (_options$signal3 = options.signal) !== null && _options$signal3 !== void 0 && _options$signal3.aborted) {
-            throw new AbortError();
-          }
-          if (!hasInitialValue) {
-            initialValue = value;
-            hasInitialValue = true;
-          } else {
-            initialValue = await reducer(initialValue, value, {
-              signal
-            });
-          }
-        }
-        if (!gotAnyItemFromStream && !hasInitialValue) {
-          throw new ReduceAwareErrMissingArgs();
+      return "allowed";
+    }
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
         }
-      } finally {
-        ac.abort();
       }
-      return initialValue;
+      return true;
     }
-    async function toArray2(options) {
-      if (options != null) {
-        validateObject(options, "options");
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+    }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
       }
-      const result = [];
-      for await (const val of this) {
-        var _options$signal4;
-        if (options !== null && options !== void 0 && (_options$signal4 = options.signal) !== null && _options$signal4 !== void 0 && _options$signal4.aborted) {
-          throw new AbortError(void 0, {
-            cause: options.signal.reason
-          });
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
         }
-        ArrayPrototypePush(result, val);
       }
-      return result;
+      return true;
     }
-    function flatMap(fn, options) {
-      const values = map2.call(this, fn, options);
-      return async function* flatMap2() {
-        for await (const val of values) {
-          yield* val;
-        }
-      }.call(this);
+    function isValidHeaderName(potentialValue) {
+      return isValidHTTPToken(potentialValue);
     }
-    function toIntegerOrInfinity(number) {
-      number = Number2(number);
-      if (NumberIsNaN(number)) {
-        return 0;
+    function isValidHeaderValue(potentialValue) {
+      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
+        return false;
       }
-      if (number < 0) {
-        throw new ERR_OUT_OF_RANGE("number", ">= 0", number);
+      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
+        return false;
       }
-      return number;
+      return true;
     }
-    function drop(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
-      }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
-      }
-      number = toIntegerOrInfinity(number);
-      return async function* drop2() {
-        var _options$signal5;
-        if (options !== null && options !== void 0 && (_options$signal5 = options.signal) !== null && _options$signal5 !== void 0 && _options$signal5.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal6;
-          if (options !== null && options !== void 0 && (_options$signal6 = options.signal) !== null && _options$signal6 !== void 0 && _options$signal6.aborted) {
-            throw new AbortError();
-          }
-          if (number-- <= 0) {
-            yield val;
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
           }
         }
-      }.call(this);
-    }
-    function take(number, options = void 0) {
-      if (options != null) {
-        validateObject(options, "options");
       }
-      if ((options === null || options === void 0 ? void 0 : options.signal) != null) {
-        validateAbortSignal(options.signal, "options.signal");
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
       }
-      number = toIntegerOrInfinity(number);
-      return async function* take2() {
-        var _options$signal7;
-        if (options !== null && options !== void 0 && (_options$signal7 = options.signal) !== null && _options$signal7 !== void 0 && _options$signal7.aborted) {
-          throw new AbortError();
-        }
-        for await (const val of this) {
-          var _options$signal8;
-          if (options !== null && options !== void 0 && (_options$signal8 = options.signal) !== null && _options$signal8 !== void 0 && _options$signal8.aborted) {
-            throw new AbortError();
-          }
-          if (number-- > 0) {
-            yield val;
-          }
-          if (number <= 0) {
-            return;
-          }
-        }
-      }.call(this);
     }
-    module2.exports.streamReturningOperators = {
-      asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."),
-      drop,
-      filter,
-      flatMap,
-      map: map2,
-      take,
-      compose
-    };
-    module2.exports.promiseReturningOperators = {
-      every,
-      forEach,
-      reduce,
-      toArray: toArray2,
-      some,
-      find: find2
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/stream/promises.js
-var require_promises = __commonJS({
-  "node_modules/readable-stream/lib/stream/promises.js"(exports2, module2) {
-    "use strict";
-    var { ArrayPrototypePop, Promise: Promise2 } = require_primordials();
-    var { isIterable, isNodeStream, isWebStream } = require_utils8();
-    var { pipelineImpl: pl } = require_pipeline4();
-    var { finished } = require_end_of_stream();
-    require_stream2();
-    function pipeline(...streams) {
-      return new Promise2((resolve2, reject) => {
-        let signal;
-        let end;
-        const lastArg = streams[streams.length - 1];
-        if (lastArg && typeof lastArg === "object" && !isNodeStream(lastArg) && !isIterable(lastArg) && !isWebStream(lastArg)) {
-          const options = ArrayPrototypePop(streams);
-          signal = options.signal;
-          end = options.end;
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
         }
-        pl(
-          streams,
-          (err, value) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve2(value);
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
             }
-          },
-          {
-            signal,
-            end
-          }
-        );
-      });
-    }
-    module2.exports = {
-      finished,
-      pipeline
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/stream.js
-var require_stream2 = __commonJS({
-  "node_modules/readable-stream/lib/stream.js"(exports2, module2) {
-    var { Buffer: Buffer2 } = require("buffer");
-    var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials();
-    var {
-      promisify: { custom: customPromisify }
-    } = require_util19();
-    var { streamReturningOperators, promiseReturningOperators } = require_operators();
-    var {
-      codes: { ERR_ILLEGAL_CONSTRUCTOR }
-    } = require_errors4();
-    var compose = require_compose();
-    var { setDefaultHighWaterMark, getDefaultHighWaterMark } = require_state3();
-    var { pipeline } = require_pipeline4();
-    var { destroyer } = require_destroy2();
-    var eos = require_end_of_stream();
-    var promises2 = require_promises();
-    var utils = require_utils8();
-    var Stream = module2.exports = require_legacy().Stream;
-    Stream.isDestroyed = utils.isDestroyed;
-    Stream.isDisturbed = utils.isDisturbed;
-    Stream.isErrored = utils.isErrored;
-    Stream.isReadable = utils.isReadable;
-    Stream.isWritable = utils.isWritable;
-    Stream.Readable = require_readable4();
-    for (const key of ObjectKeys(streamReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
         }
-        return Stream.Readable.from(ReflectApply(op, this, args));
+        if (serializedOrigin) {
+          request2.headersList.append("origin", serializedOrigin);
+        }
+      }
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return performance2.now();
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
       };
-      fn = fn2;
-      const op = streamReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
     }
-    var fn;
-    for (const key of ObjectKeys(promiseReturningOperators)) {
-      let fn2 = function(...args) {
-        if (new.target) {
-          throw ERR_ILLEGAL_CONSTRUCTOR();
-        }
-        return ReflectApply(op, this, args);
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
       };
-      fn = fn2;
-      const op = promiseReturningOperators[key];
-      ObjectDefineProperty(fn2, "name", {
-        __proto__: null,
-        value: op.name
-      });
-      ObjectDefineProperty(fn2, "length", {
-        __proto__: null,
-        value: op.length
-      });
-      ObjectDefineProperty(Stream.Readable.prototype, key, {
-        __proto__: null,
-        value: fn2,
-        enumerable: false,
-        configurable: true,
-        writable: true
-      });
     }
-    var fn;
-    Stream.Writable = require_writable();
-    Stream.Duplex = require_duplex();
-    Stream.Transform = require_transform();
-    Stream.PassThrough = require_passthrough2();
-    Stream.pipeline = pipeline;
-    var { addAbortSignal } = require_add_abort_signal();
-    Stream.addAbortSignal = addAbortSignal;
-    Stream.finished = eos;
-    Stream.destroy = destroyer;
-    Stream.compose = compose;
-    Stream.setDefaultHighWaterMark = setDefaultHighWaterMark;
-    Stream.getDefaultHighWaterMark = getDefaultHighWaterMark;
-    ObjectDefineProperty(Stream, "promises", {
-      __proto__: null,
-      configurable: true,
-      enumerable: true,
-      get() {
-        return promises2;
-      }
-    });
-    ObjectDefineProperty(pipeline, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises2.pipeline;
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
+      };
+    }
+    function determineRequestsReferrer(request2) {
+      const policy = request2.referrerPolicy;
+      assert(policy);
+      let referrerSource = null;
+      if (request2.referrer === "client") {
+        const globalOrigin = getGlobalOrigin();
+        if (!globalOrigin || globalOrigin.origin === "null") {
+          return "no-referrer";
+        }
+        referrerSource = new URL(globalOrigin);
+      } else if (request2.referrer instanceof URL) {
+        referrerSource = request2.referrer;
       }
-    });
-    ObjectDefineProperty(eos, customPromisify, {
-      __proto__: null,
-      enumerable: true,
-      get() {
-        return promises2.finished;
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
       }
-    });
-    Stream.Stream = Stream;
-    Stream._isUint8Array = function isUint8Array(value) {
-      return value instanceof Uint8Array;
-    };
-    Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {
-      return Buffer2.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
-    };
-  }
-});
-
-// node_modules/readable-stream/lib/ours/index.js
-var require_ours = __commonJS({
-  "node_modules/readable-stream/lib/ours/index.js"(exports2, module2) {
-    "use strict";
-    var Stream = require("stream");
-    if (Stream && process.env.READABLE_STREAM === "disable") {
-      const promises2 = Stream.promises;
-      module2.exports._uint8ArrayToBuffer = Stream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = Stream._isUint8Array;
-      module2.exports.isDisturbed = Stream.isDisturbed;
-      module2.exports.isErrored = Stream.isErrored;
-      module2.exports.isReadable = Stream.isReadable;
-      module2.exports.Readable = Stream.Readable;
-      module2.exports.Writable = Stream.Writable;
-      module2.exports.Duplex = Stream.Duplex;
-      module2.exports.Transform = Stream.Transform;
-      module2.exports.PassThrough = Stream.PassThrough;
-      module2.exports.addAbortSignal = Stream.addAbortSignal;
-      module2.exports.finished = Stream.finished;
-      module2.exports.destroy = Stream.destroy;
-      module2.exports.pipeline = Stream.pipeline;
-      module2.exports.compose = Stream.compose;
-      Object.defineProperty(Stream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises2;
-        }
-      });
-      module2.exports.Stream = Stream.Stream;
-    } else {
-      const CustomStream = require_stream2();
-      const promises2 = require_promises();
-      const originalDestroy = CustomStream.Readable.destroy;
-      module2.exports = CustomStream.Readable;
-      module2.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer;
-      module2.exports._isUint8Array = CustomStream._isUint8Array;
-      module2.exports.isDisturbed = CustomStream.isDisturbed;
-      module2.exports.isErrored = CustomStream.isErrored;
-      module2.exports.isReadable = CustomStream.isReadable;
-      module2.exports.Readable = CustomStream.Readable;
-      module2.exports.Writable = CustomStream.Writable;
-      module2.exports.Duplex = CustomStream.Duplex;
-      module2.exports.Transform = CustomStream.Transform;
-      module2.exports.PassThrough = CustomStream.PassThrough;
-      module2.exports.addAbortSignal = CustomStream.addAbortSignal;
-      module2.exports.finished = CustomStream.finished;
-      module2.exports.destroy = CustomStream.destroy;
-      module2.exports.destroy = originalDestroy;
-      module2.exports.pipeline = CustomStream.pipeline;
-      module2.exports.compose = CustomStream.compose;
-      Object.defineProperty(CustomStream, "promises", {
-        configurable: true,
-        enumerable: true,
-        get() {
-          return promises2;
+      const areSameOrigin = sameOrigin(request2, referrerURL);
+      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
+      switch (policy) {
+        case "origin":
+          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
+        case "unsafe-url":
+          return referrerURL;
+        case "same-origin":
+          return areSameOrigin ? referrerOrigin : "no-referrer";
+        case "origin-when-cross-origin":
+          return areSameOrigin ? referrerURL : referrerOrigin;
+        case "strict-origin-when-cross-origin": {
+          const currentURL = requestCurrentURL(request2);
+          if (sameOrigin(referrerURL, currentURL)) {
+            return referrerURL;
+          }
+          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
+            return "no-referrer";
+          }
+          return referrerOrigin;
         }
-      });
-      module2.exports.Stream = CustomStream.Stream;
-    }
-    module2.exports.default = module2.exports;
-  }
-});
-
-// node_modules/lodash/_arrayPush.js
-var require_arrayPush = __commonJS({
-  "node_modules/lodash/_arrayPush.js"(exports2, module2) {
-    function arrayPush(array, values) {
-      var index = -1, length = values.length, offset = array.length;
-      while (++index < length) {
-        array[offset + index] = values[index];
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
       }
-      return array;
     }
-    module2.exports = arrayPush;
-  }
-});
-
-// node_modules/lodash/_isFlattenable.js
-var require_isFlattenable = __commonJS({
-  "node_modules/lodash/_isFlattenable.js"(exports2, module2) {
-    var Symbol2 = require_Symbol();
-    var isArguments = require_isArguments();
-    var isArray = require_isArray();
-    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
-    function isFlattenable(value) {
-      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
+    function stripURLForReferrer(url, originOnly) {
+      assert(url instanceof URL);
+      if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
+        return "no-referrer";
+      }
+      url.username = "";
+      url.password = "";
+      url.hash = "";
+      if (originOnly) {
+        url.pathname = "";
+        url.search = "";
+      }
+      return url;
     }
-    module2.exports = isFlattenable;
-  }
-});
-
-// node_modules/lodash/_baseFlatten.js
-var require_baseFlatten = __commonJS({
-  "node_modules/lodash/_baseFlatten.js"(exports2, module2) {
-    var arrayPush = require_arrayPush();
-    var isFlattenable = require_isFlattenable();
-    function baseFlatten(array, depth, predicate, isStrict, result) {
-      var index = -1, length = array.length;
-      predicate || (predicate = isFlattenable);
-      result || (result = []);
-      while (++index < length) {
-        var value = array[index];
-        if (depth > 0 && predicate(value)) {
-          if (depth > 1) {
-            baseFlatten(value, depth - 1, predicate, isStrict, result);
+    function isURLPotentiallyTrustworthy(url) {
+      if (!(url instanceof URL)) {
+        return false;
+      }
+      if (url.href === "about:blank" || url.href === "about:srcdoc") {
+        return true;
+      }
+      if (url.protocol === "data:") return true;
+      if (url.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url.origin);
+      function isOriginPotentiallyTrustworthy(origin) {
+        if (origin == null || origin === "null") return false;
+        const originAsURL = new URL(origin);
+        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
+          return true;
+        }
+        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
+          return true;
+        }
+        return false;
+      }
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto2 === void 0) {
+        return true;
+      }
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
+      }
+      if (parsedMetadata.length === 0) {
+        return true;
+      }
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
           } else {
-            arrayPush(result, value);
+            actualValue = actualValue.slice(0, -1);
           }
-        } else if (!isStrict) {
-          result[result.length] = value;
+        }
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
         }
       }
-      return result;
-    }
-    module2.exports = baseFlatten;
-  }
-});
-
-// node_modules/lodash/flatten.js
-var require_flatten = __commonJS({
-  "node_modules/lodash/flatten.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    function flatten(array) {
-      var length = array == null ? 0 : array.length;
-      return length ? baseFlatten(array, 1) : [];
-    }
-    module2.exports = flatten;
-  }
-});
-
-// node_modules/lodash/_nativeCreate.js
-var require_nativeCreate = __commonJS({
-  "node_modules/lodash/_nativeCreate.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var nativeCreate = getNative(Object, "create");
-    module2.exports = nativeCreate;
-  }
-});
-
-// node_modules/lodash/_hashClear.js
-var require_hashClear = __commonJS({
-  "node_modules/lodash/_hashClear.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    function hashClear() {
-      this.__data__ = nativeCreate ? nativeCreate(null) : {};
-      this.size = 0;
+      return false;
     }
-    module2.exports = hashClear;
-  }
-});
-
-// node_modules/lodash/_hashDelete.js
-var require_hashDelete = __commonJS({
-  "node_modules/lodash/_hashDelete.js"(exports2, module2) {
-    function hashDelete(key) {
-      var result = this.has(key) && delete this.__data__[key];
-      this.size -= result ? 1 : 0;
+    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
+    function parseMetadata(metadata) {
+      const result = [];
+      let empty = true;
+      for (const token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
+          continue;
+        }
+        const algorithm = parsedToken.groups.algo.toLowerCase();
+        if (supportedHashes.includes(algorithm)) {
+          result.push(parsedToken.groups);
+        }
+      }
+      if (empty === true) {
+        return "no metadata";
+      }
       return result;
     }
-    module2.exports = hashDelete;
-  }
-});
-
-// node_modules/lodash/_hashGet.js
-var require_hashGet = __commonJS({
-  "node_modules/lodash/_hashGet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashGet(key) {
-      var data = this.__data__;
-      if (nativeCreate) {
-        var result = data[key];
-        return result === HASH_UNDEFINED ? void 0 : result;
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
       }
-      return hasOwnProperty.call(data, key) ? data[key] : void 0;
-    }
-    module2.exports = hashGet;
-  }
-});
-
-// node_modules/lodash/_hashHas.js
-var require_hashHas = __commonJS({
-  "node_modules/lodash/_hashHas.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var objectProto = Object.prototype;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    function hashHas(key) {
-      var data = this.__data__;
-      return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
-    }
-    module2.exports = hashHas;
-  }
-});
-
-// node_modules/lodash/_hashSet.js
-var require_hashSet = __commonJS({
-  "node_modules/lodash/_hashSet.js"(exports2, module2) {
-    var nativeCreate = require_nativeCreate();
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function hashSet(key, value) {
-      var data = this.__data__;
-      this.size += this.has(key) ? 0 : 1;
-      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
-      return this;
-    }
-    module2.exports = hashSet;
-  }
-});
-
-// node_modules/lodash/_Hash.js
-var require_Hash = __commonJS({
-  "node_modules/lodash/_Hash.js"(exports2, module2) {
-    var hashClear = require_hashClear();
-    var hashDelete = require_hashDelete();
-    var hashGet = require_hashGet();
-    var hashHas = require_hashHas();
-    var hashSet = require_hashSet();
-    function Hash(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+      for (let i = 1; i < metadataList.length; ++i) {
+        const metadata = metadataList[i];
+        if (metadata.algo[3] === "5") {
+          algorithm = "sha512";
+          break;
+        } else if (algorithm[3] === "3") {
+          continue;
+        } else if (metadata.algo[3] === "3") {
+          algorithm = "sha384";
+        }
       }
+      return algorithm;
     }
-    Hash.prototype.clear = hashClear;
-    Hash.prototype["delete"] = hashDelete;
-    Hash.prototype.get = hashGet;
-    Hash.prototype.has = hashHas;
-    Hash.prototype.set = hashSet;
-    module2.exports = Hash;
-  }
-});
-
-// node_modules/lodash/_listCacheClear.js
-var require_listCacheClear = __commonJS({
-  "node_modules/lodash/_listCacheClear.js"(exports2, module2) {
-    function listCacheClear() {
-      this.__data__ = [];
-      this.size = 0;
-    }
-    module2.exports = listCacheClear;
-  }
-});
-
-// node_modules/lodash/_assocIndexOf.js
-var require_assocIndexOf = __commonJS({
-  "node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
-    var eq = require_eq2();
-    function assocIndexOf(array, key) {
-      var length = array.length;
-      while (length--) {
-        if (eq(array[length][0], key)) {
-          return length;
+    function filterMetadataListByAlgorithm(metadataList, algorithm) {
+      if (metadataList.length === 1) {
+        return metadataList;
+      }
+      let pos = 0;
+      for (let i = 0; i < metadataList.length; ++i) {
+        if (metadataList[i].algo === algorithm) {
+          metadataList[pos++] = metadataList[i];
         }
       }
-      return -1;
+      metadataList.length = pos;
+      return metadataList;
     }
-    module2.exports = assocIndexOf;
-  }
-});
-
-// node_modules/lodash/_listCacheDelete.js
-var require_listCacheDelete = __commonJS({
-  "node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    var arrayProto = Array.prototype;
-    var splice = arrayProto.splice;
-    function listCacheDelete(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
         return false;
       }
-      var lastIndex = data.length - 1;
-      if (index == lastIndex) {
-        data.pop();
-      } else {
-        splice.call(data, index, 1);
+      for (let i = 0; i < actualValue.length; ++i) {
+        if (actualValue[i] !== expectedValue[i]) {
+          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
+            continue;
+          }
+          return false;
+        }
       }
-      --this.size;
       return true;
     }
-    module2.exports = listCacheDelete;
-  }
-});
-
-// node_modules/lodash/_listCacheGet.js
-var require_listCacheGet = __commonJS({
-  "node_modules/lodash/_listCacheGet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheGet(key) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      return index < 0 ? void 0 : data[index][1];
-    }
-    module2.exports = listCacheGet;
-  }
-});
-
-// node_modules/lodash/_listCacheHas.js
-var require_listCacheHas = __commonJS({
-  "node_modules/lodash/_listCacheHas.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheHas(key) {
-      return assocIndexOf(this.__data__, key) > -1;
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
     }
-    module2.exports = listCacheHas;
-  }
-});
-
-// node_modules/lodash/_listCacheSet.js
-var require_listCacheSet = __commonJS({
-  "node_modules/lodash/_listCacheSet.js"(exports2, module2) {
-    var assocIndexOf = require_assocIndexOf();
-    function listCacheSet(key, value) {
-      var data = this.__data__, index = assocIndexOf(data, key);
-      if (index < 0) {
-        ++this.size;
-        data.push([key, value]);
-      } else {
-        data[index][1] = value;
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
       }
-      return this;
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
+      }
+      return false;
     }
-    module2.exports = listCacheSet;
-  }
-});
-
-// node_modules/lodash/_ListCache.js
-var require_ListCache = __commonJS({
-  "node_modules/lodash/_ListCache.js"(exports2, module2) {
-    var listCacheClear = require_listCacheClear();
-    var listCacheDelete = require_listCacheDelete();
-    var listCacheGet = require_listCacheGet();
-    var listCacheHas = require_listCacheHas();
-    var listCacheSet = require_listCacheSet();
-    function ListCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve2, reject) => {
+        res = resolve2;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    var normalizeMethodRecord = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    Object.setPrototypeOf(normalizeMethodRecord, null);
+    function normalizeMethod(method) {
+      return normalizeMethodRecord[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
       }
+      assert(typeof result === "string");
+      return result;
     }
-    ListCache.prototype.clear = listCacheClear;
-    ListCache.prototype["delete"] = listCacheDelete;
-    ListCache.prototype.get = listCacheGet;
-    ListCache.prototype.has = listCacheHas;
-    ListCache.prototype.set = listCacheSet;
-    module2.exports = ListCache;
-  }
-});
-
-// node_modules/lodash/_Map.js
-var require_Map = __commonJS({
-  "node_modules/lodash/_Map.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Map2 = getNative(root, "Map");
-    module2.exports = Map2;
-  }
-});
-
-// node_modules/lodash/_mapCacheClear.js
-var require_mapCacheClear = __commonJS({
-  "node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
-    var Hash = require_Hash();
-    var ListCache = require_ListCache();
-    var Map2 = require_Map();
-    function mapCacheClear() {
-      this.size = 0;
-      this.__data__ = {
-        "hash": new Hash(),
-        "map": new (Map2 || ListCache)(),
-        "string": new Hash()
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function makeIterator(iterator2, name, kind) {
+      const object = {
+        index: 0,
+        kind,
+        target: iterator2
+      };
+      const i = {
+        next() {
+          if (Object.getPrototypeOf(this) !== i) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const { index, kind: kind2, target } = object;
+          const values = target();
+          const len = values.length;
+          if (index >= len) {
+            return { value: void 0, done: true };
+          }
+          const pair = values[index];
+          object.index = index + 1;
+          return iteratorResult(pair, kind2);
+        },
+        // The class string of an iterator prototype object for a given interface is the
+        // result of concatenating the identifier of the interface and the string " Iterator".
+        [Symbol.toStringTag]: `${name} Iterator`
       };
+      Object.setPrototypeOf(i, esIteratorPrototype);
+      return Object.setPrototypeOf({}, i);
     }
-    module2.exports = mapCacheClear;
-  }
-});
-
-// node_modules/lodash/_isKeyable.js
-var require_isKeyable = __commonJS({
-  "node_modules/lodash/_isKeyable.js"(exports2, module2) {
-    function isKeyable(value) {
-      var type2 = typeof value;
-      return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
+    function iteratorResult(pair, kind) {
+      let result;
+      switch (kind) {
+        case "key": {
+          result = pair[0];
+          break;
+        }
+        case "value": {
+          result = pair[1];
+          break;
+        }
+        case "key+value": {
+          result = pair;
+          break;
+        }
+      }
+      return { value: result, done: false };
     }
-    module2.exports = isKeyable;
-  }
-});
-
-// node_modules/lodash/_getMapData.js
-var require_getMapData = __commonJS({
-  "node_modules/lodash/_getMapData.js"(exports2, module2) {
-    var isKeyable = require_isKeyable();
-    function getMapData(map2, key) {
-      var data = map2.__data__;
-      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        const result = await readAllBytes(reader);
+        successSteps(result);
+      } catch (e) {
+        errorSteps(e);
+      }
     }
-    module2.exports = getMapData;
-  }
-});
-
-// node_modules/lodash/_mapCacheDelete.js
-var require_mapCacheDelete = __commonJS({
-  "node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheDelete(key) {
-      var result = getMapData(this, key)["delete"](key);
-      this.size -= result ? 1 : 0;
-      return result;
+    var ReadableStream2 = globalThis.ReadableStream;
+    function isReadableStreamLike(stream) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
     }
-    module2.exports = mapCacheDelete;
-  }
-});
-
-// node_modules/lodash/_mapCacheGet.js
-var require_mapCacheGet = __commonJS({
-  "node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheGet(key) {
-      return getMapData(this, key).get(key);
+    var MAXIMUM_ARGUMENT_LENGTH = 65535;
+    function isomorphicDecode(input) {
+      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
+        return String.fromCharCode(...input);
+      }
+      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed")) {
+          throw err;
+        }
+      }
     }
-    module2.exports = mapCacheGet;
-  }
-});
-
-// node_modules/lodash/_mapCacheHas.js
-var require_mapCacheHas = __commonJS({
-  "node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheHas(key) {
-      return getMapData(this, key).has(key);
+    function isomorphicEncode(input) {
+      for (let i = 0; i < input.length; i++) {
+        assert(input.charCodeAt(i) <= 255);
+      }
+      return input;
     }
-    module2.exports = mapCacheHas;
-  }
-});
-
-// node_modules/lodash/_mapCacheSet.js
-var require_mapCacheSet = __commonJS({
-  "node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
-    var getMapData = require_getMapData();
-    function mapCacheSet(key, value) {
-      var data = getMapData(this, key), size = data.size;
-      data.set(key, value);
-      this.size += data.size == size ? 0 : 1;
-      return this;
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
+        }
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
+        }
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
     }
-    module2.exports = mapCacheSet;
-  }
-});
-
-// node_modules/lodash/_MapCache.js
-var require_MapCache = __commonJS({
-  "node_modules/lodash/_MapCache.js"(exports2, module2) {
-    var mapCacheClear = require_mapCacheClear();
-    var mapCacheDelete = require_mapCacheDelete();
-    var mapCacheGet = require_mapCacheGet();
-    var mapCacheHas = require_mapCacheHas();
-    var mapCacheSet = require_mapCacheSet();
-    function MapCache(entries) {
-      var index = -1, length = entries == null ? 0 : entries.length;
-      this.clear();
-      while (++index < length) {
-        var entry = entries[index];
-        this.set(entry[0], entry[1]);
+    function urlIsLocal(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url) {
+      if (typeof url === "string") {
+        return url.startsWith("https:");
       }
+      return url.protocol === "https:";
     }
-    MapCache.prototype.clear = mapCacheClear;
-    MapCache.prototype["delete"] = mapCacheDelete;
-    MapCache.prototype.get = mapCacheGet;
-    MapCache.prototype.has = mapCacheHas;
-    MapCache.prototype.set = mapCacheSet;
-    module2.exports = MapCache;
-  }
-});
-
-// node_modules/lodash/_setCacheAdd.js
-var require_setCacheAdd = __commonJS({
-  "node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
-    var HASH_UNDEFINED = "__lodash_hash_undefined__";
-    function setCacheAdd(value) {
-      this.__data__.set(value, HASH_UNDEFINED);
-      return this;
+    function urlIsHttpHttpsScheme(url) {
+      assert("protocol" in url);
+      const protocol = url.protocol;
+      return protocol === "http:" || protocol === "https:";
     }
-    module2.exports = setCacheAdd;
+    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      toUSVString,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      hasOwn,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      isomorphicDecode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      normalizeMethodRecord,
+      parseMetadata
+    };
   }
 });
 
-// node_modules/lodash/_setCacheHas.js
-var require_setCacheHas = __commonJS({
-  "node_modules/lodash/_setCacheHas.js"(exports2, module2) {
-    function setCacheHas(value) {
-      return this.__data__.has(value);
-    }
-    module2.exports = setCacheHas;
+// node_modules/undici/lib/fetch/symbols.js
+var require_symbols12 = __commonJS({
+  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kGuard: /* @__PURE__ */ Symbol("guard"),
+      kRealm: /* @__PURE__ */ Symbol("realm")
+    };
   }
 });
 
-// node_modules/lodash/_SetCache.js
-var require_SetCache = __commonJS({
-  "node_modules/lodash/_SetCache.js"(exports2, module2) {
-    var MapCache = require_MapCache();
-    var setCacheAdd = require_setCacheAdd();
-    var setCacheHas = require_setCacheHas();
-    function SetCache(values) {
-      var index = -1, length = values == null ? 0 : values.length;
-      this.__data__ = new MapCache();
-      while (++index < length) {
-        this.add(values[index]);
+// node_modules/undici/lib/fetch/webidl.js
+var require_webidl3 = __commonJS({
+  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types } = require("util");
+    var { hasOwn, toUSVString } = require_util24();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts = void 0) {
+      if (opts?.strict !== false && !(V instanceof I)) {
+        throw new TypeError("Illegal invocation");
+      } else {
+        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+      }
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          ...ctx
+        });
+      }
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
+      });
+    };
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
+          }
+          return "Object";
+        }
+      }
+    };
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
+        }
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
+      }
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
+      }
+      if (opts.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${V} to an integer.`
+          });
+        }
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
+        }
+        return x;
+      }
+      if (!Number.isNaN(x) && opts.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
+      }
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
+      }
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
+      }
+      return r;
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
+          });
+        }
+        const method = V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: "Sequence",
+            message: "Object is not an iterator."
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
+          }
+          seq2.push(converter(value));
+        }
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: "Record",
+            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
+          });
+        }
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = Object.keys(O);
+          for (const key of keys2) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
+          }
+          return result;
+        }
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key);
+            const typedValue = valueConverter(O[key]);
+            result[typedKey] = typedValue;
+          }
+        }
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, opts = {}) => {
+        if (opts.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: i.name,
+            message: `Expected ${V} to be an instance of ${i.name}.`
+          });
+        }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: "Dictionary",
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
+          });
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value = value ?? defaultValue;
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: "Dictionary",
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V);
+      };
+    };
+    webidl.converters.DOMString = function(V, opts = {}) {
+      if (V === null && opts.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw new TypeError("Could not convert argument of type symbol to string.");
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V) {
+      const x = webidl.converters.DOMString(V);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
+      }
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed");
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${V}`,
+          argument: `${V}`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix: `${T.name}`,
+          argument: `${V}`,
+          types: [T.name]
+        });
+      }
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, opts = {}) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: "DataView",
+          message: "Object is not a DataView."
+        });
+      }
+      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, opts = {}) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, opts);
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor);
       }
-    }
-    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
-    SetCache.prototype.has = setCacheHas;
-    module2.exports = SetCache;
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, opts);
+      }
+      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
   }
 });
 
-// node_modules/lodash/_baseFindIndex.js
-var require_baseFindIndex = __commonJS({
-  "node_modules/lodash/_baseFindIndex.js"(exports2, module2) {
-    function baseFindIndex(array, predicate, fromIndex, fromRight) {
-      var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
-      while (fromRight ? index-- : ++index < length) {
-        if (predicate(array[index], index, array)) {
-          return index;
+// node_modules/undici/lib/fetch/dataURL.js
+var require_dataURL = __commonJS({
+  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
+    var assert = require("assert");
+    var { atob: atob2 } = require("buffer");
+    var { isomorphicDecode } = require_util24();
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
+    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
         }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
       }
-      return -1;
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
+      }
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
     }
-    module2.exports = baseFindIndex;
-  }
-});
-
-// node_modules/lodash/_baseIsNaN.js
-var require_baseIsNaN = __commonJS({
-  "node_modules/lodash/_baseIsNaN.js"(exports2, module2) {
-    function baseIsNaN(value) {
-      return value !== value;
+    function URLSerializer(url, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url.href;
+      }
+      const href = url.href;
+      const hashLength = url.hash.length;
+      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
     }
-    module2.exports = baseIsNaN;
-  }
-});
-
-// node_modules/lodash/_strictIndexOf.js
-var require_strictIndexOf = __commonJS({
-  "node_modules/lodash/_strictIndexOf.js"(exports2, module2) {
-    function strictIndexOf(array, value, fromIndex) {
-      var index = fromIndex - 1, length = array.length;
-      while (++index < length) {
-        if (array[index] === value) {
-          return index;
-        }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
       }
-      return -1;
+      return result;
     }
-    module2.exports = strictIndexOf;
-  }
-});
-
-// node_modules/lodash/_baseIndexOf.js
-var require_baseIndexOf = __commonJS({
-  "node_modules/lodash/_baseIndexOf.js"(exports2, module2) {
-    var baseFindIndex = require_baseFindIndex();
-    var baseIsNaN = require_baseIsNaN();
-    var strictIndexOf = require_strictIndexOf();
-    function baseIndexOf(array, value, fromIndex) {
-      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
     }
-    module2.exports = baseIndexOf;
-  }
-});
-
-// node_modules/lodash/_arrayIncludes.js
-var require_arrayIncludes = __commonJS({
-  "node_modules/lodash/_arrayIncludes.js"(exports2, module2) {
-    var baseIndexOf = require_baseIndexOf();
-    function arrayIncludes(array, value) {
-      var length = array == null ? 0 : array.length;
-      return !!length && baseIndexOf(array, value, 0) > -1;
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
     }
-    module2.exports = arrayIncludes;
-  }
-});
-
-// node_modules/lodash/_arrayIncludesWith.js
-var require_arrayIncludesWith = __commonJS({
-  "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) {
-    function arrayIncludesWith(array, value, comparator) {
-      var index = -1, length = array == null ? 0 : array.length;
-      while (++index < length) {
-        if (comparator(value, array[index])) {
-          return true;
+    function percentDecode(input) {
+      const output = [];
+      for (let i = 0; i < input.length; i++) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output.push(byte);
+        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
+          output.push(37);
+        } else {
+          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
+          const bytePoint = Number.parseInt(nextTwoBytes, 16);
+          output.push(bytePoint);
+          i += 2;
         }
       }
-      return false;
+      return Uint8Array.from(output);
     }
-    module2.exports = arrayIncludesWith;
-  }
-});
-
-// node_modules/lodash/_arrayMap.js
-var require_arrayMap = __commonJS({
-  "node_modules/lodash/_arrayMap.js"(exports2, module2) {
-    function arrayMap(array, iteratee) {
-      var index = -1, length = array == null ? 0 : array.length, result = Array(length);
-      while (++index < length) {
-        result[index] = iteratee(array[index], index, array);
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
       }
-      return result;
-    }
-    module2.exports = arrayMap;
-  }
-});
-
-// node_modules/lodash/_cacheHas.js
-var require_cacheHas = __commonJS({
-  "node_modules/lodash/_cacheHas.js"(exports2, module2) {
-    function cacheHas(cache, key) {
-      return cache.has(key);
+      if (position.position > input.length) {
+        return "failure";
+      }
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
+      }
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
+          }
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+        } else {
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
+          }
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
     }
-    module2.exports = cacheHas;
-  }
-});
-
-// node_modules/lodash/_baseDifference.js
-var require_baseDifference = __commonJS({
-  "node_modules/lodash/_baseDifference.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var arrayMap = require_arrayMap();
-    var baseUnary = require_baseUnary();
-    var cacheHas = require_cacheHas();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseDifference(array, values, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
-      if (!length) {
-        return result;
+    function forgivingBase64(data) {
+      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
+      if (data.length % 4 === 0) {
+        data = data.replace(/=?=$/, "");
       }
-      if (iteratee) {
-        values = arrayMap(values, baseUnary(iteratee));
+      if (data.length % 4 === 1) {
+        return "failure";
       }
-      if (comparator) {
-        includes = arrayIncludesWith;
-        isCommon = false;
-      } else if (values.length >= LARGE_ARRAY_SIZE) {
-        includes = cacheHas;
-        isCommon = false;
-        values = new SetCache(values);
+      if (/[^+/0-9A-Za-z]/.test(data)) {
+        return "failure";
       }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee == null ? value : iteratee(value);
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var valuesIndex = valuesLength;
-            while (valuesIndex--) {
-              if (values[valuesIndex] === computed) {
-                continue outer;
-              }
-            }
-            result.push(value);
-          } else if (!includes(values, computed, comparator)) {
-            result.push(value);
+      const binary2 = atob2(data);
+      const bytes = new Uint8Array(binary2.length);
+      for (let byte = 0; byte < binary2.length; byte++) {
+        bytes[byte] = binary2.charCodeAt(byte);
+      }
+      return bytes;
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
           }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
         }
-      return result;
-    }
-    module2.exports = baseDifference;
-  }
-});
-
-// node_modules/lodash/isArrayLikeObject.js
-var require_isArrayLikeObject = __commonJS({
-  "node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
-    var isArrayLike = require_isArrayLike();
-    var isObjectLike = require_isObjectLike();
-    function isArrayLikeObject(value) {
-      return isObjectLike(value) && isArrayLike(value);
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
     }
-    module2.exports = isArrayLikeObject;
-  }
-});
-
-// node_modules/lodash/difference.js
-var require_difference = __commonJS({
-  "node_modules/lodash/difference.js"(exports2, module2) {
-    var baseDifference = require_baseDifference();
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var difference = baseRest(function(array, values) {
-      return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
-    });
-    module2.exports = difference;
-  }
-});
-
-// node_modules/lodash/_Set.js
-var require_Set = __commonJS({
-  "node_modules/lodash/_Set.js"(exports2, module2) {
-    var getNative = require_getNative();
-    var root = require_root();
-    var Set2 = getNative(root, "Set");
-    module2.exports = Set2;
-  }
-});
-
-// node_modules/lodash/noop.js
-var require_noop = __commonJS({
-  "node_modules/lodash/noop.js"(exports2, module2) {
-    function noop3() {
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
     }
-    module2.exports = noop3;
-  }
-});
-
-// node_modules/lodash/_setToArray.js
-var require_setToArray = __commonJS({
-  "node_modules/lodash/_setToArray.js"(exports2, module2) {
-    function setToArray(set2) {
-      var index = -1, result = Array(set2.size);
-      set2.forEach(function(value) {
-        result[++index] = value;
-      });
-      return result;
+    function isHTTPWhiteSpace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === " ";
     }
-    module2.exports = setToArray;
-  }
-});
-
-// node_modules/lodash/_createSet.js
-var require_createSet = __commonJS({
-  "node_modules/lodash/_createSet.js"(exports2, module2) {
-    var Set2 = require_Set();
-    var noop3 = require_noop();
-    var setToArray = require_setToArray();
-    var INFINITY = 1 / 0;
-    var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop3 : function(values) {
-      return new Set2(values);
-    };
-    module2.exports = createSet;
-  }
-});
-
-// node_modules/lodash/_baseUniq.js
-var require_baseUniq = __commonJS({
-  "node_modules/lodash/_baseUniq.js"(exports2, module2) {
-    var SetCache = require_SetCache();
-    var arrayIncludes = require_arrayIncludes();
-    var arrayIncludesWith = require_arrayIncludesWith();
-    var cacheHas = require_cacheHas();
-    var createSet = require_createSet();
-    var setToArray = require_setToArray();
-    var LARGE_ARRAY_SIZE = 200;
-    function baseUniq(array, iteratee, comparator) {
-      var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
-      if (comparator) {
-        isCommon = false;
-        includes = arrayIncludesWith;
-      } else if (length >= LARGE_ARRAY_SIZE) {
-        var set2 = iteratee ? null : createSet(array);
-        if (set2) {
-          return setToArray(set2);
-        }
-        isCommon = false;
-        includes = cacheHas;
-        seen = new SetCache();
-      } else {
-        seen = iteratee ? [] : result;
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
       }
-      outer:
-        while (++index < length) {
-          var value = array[index], computed = iteratee ? iteratee(value) : value;
-          value = comparator || value !== 0 ? value : 0;
-          if (isCommon && computed === computed) {
-            var seenIndex = seen.length;
-            while (seenIndex--) {
-              if (seen[seenIndex] === computed) {
-                continue outer;
-              }
-            }
-            if (iteratee) {
-              seen.push(computed);
-            }
-            result.push(value);
-          } else if (!includes(seen, computed, comparator)) {
-            if (seen !== result) {
-              seen.push(computed);
-            }
-            result.push(value);
-          }
-        }
-      return result;
+      if (trailing) {
+        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+      }
+      return str2.slice(lead, trail + 1);
     }
-    module2.exports = baseUniq;
-  }
-});
-
-// node_modules/lodash/union.js
-var require_union = __commonJS({
-  "node_modules/lodash/union.js"(exports2, module2) {
-    var baseFlatten = require_baseFlatten();
-    var baseRest = require_baseRest();
-    var baseUniq = require_baseUniq();
-    var isArrayLikeObject = require_isArrayLikeObject();
-    var union = baseRest(function(arrays) {
-      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
-    });
-    module2.exports = union;
-  }
-});
-
-// node_modules/lodash/_overArg.js
-var require_overArg = __commonJS({
-  "node_modules/lodash/_overArg.js"(exports2, module2) {
-    function overArg(func, transform) {
-      return function(arg) {
-        return func(transform(arg));
-      };
+    function isASCIIWhitespace(char) {
+      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
     }
-    module2.exports = overArg;
-  }
-});
-
-// node_modules/lodash/_getPrototype.js
-var require_getPrototype = __commonJS({
-  "node_modules/lodash/_getPrototype.js"(exports2, module2) {
-    var overArg = require_overArg();
-    var getPrototype = overArg(Object.getPrototypeOf, Object);
-    module2.exports = getPrototype;
-  }
-});
-
-// node_modules/lodash/isPlainObject.js
-var require_isPlainObject = __commonJS({
-  "node_modules/lodash/isPlainObject.js"(exports2, module2) {
-    var baseGetTag = require_baseGetTag();
-    var getPrototype = require_getPrototype();
-    var isObjectLike = require_isObjectLike();
-    var objectTag = "[object Object]";
-    var funcProto = Function.prototype;
-    var objectProto = Object.prototype;
-    var funcToString = funcProto.toString;
-    var hasOwnProperty = objectProto.hasOwnProperty;
-    var objectCtorString = funcToString.call(Object);
-    function isPlainObject3(value) {
-      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
-        return false;
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
       }
-      var proto = getPrototype(value);
-      if (proto === null) {
-        return true;
+      if (trailing) {
+        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
       }
-      var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
-      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
+      return str2.slice(lead, trail + 1);
     }
-    module2.exports = isPlainObject3;
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType
+    };
   }
 });
 
-// node_modules/@isaacs/balanced-match/dist/commonjs/index.js
-var require_commonjs18 = __commonJS({
-  "node_modules/@isaacs/balanced-match/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/file.js
+var require_file5 = __commonJS({
+  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.range = exports2.balanced = void 0;
-    var balanced = (a, b, str2) => {
-      const ma = a instanceof RegExp ? maybeMatch(a, str2) : a;
-      const mb = b instanceof RegExp ? maybeMatch(b, str2) : b;
-      const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str2);
-      return r && {
-        start: r[0],
-        end: r[1],
-        pre: str2.slice(0, r[0]),
-        body: str2.slice(r[0] + ma.length, r[1]),
-        post: str2.slice(r[1] + mb.length)
-      };
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { types } = require("util");
+    var { kState } = require_symbols12();
+    var { isBlobLike } = require_util24();
+    var { webidl } = require_webidl3();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var { kEnumerableProperty } = require_util23();
+    var encoder = new TextEncoder();
+    var File2 = class _File extends Blob2 {
+      constructor(fileBits, fileName, options = {}) {
+        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
+        fileBits = webidl.converters["sequence"](fileBits);
+        fileName = webidl.converters.USVString(fileName);
+        options = webidl.converters.FilePropertyBag(options);
+        const n = fileName;
+        let t = options.type;
+        let d;
+        substep: {
+          if (t) {
+            t = parseMIMEType(t);
+            if (t === "failure") {
+              t = "";
+              break substep;
+            }
+            t = serializeAMimeType(t).toLowerCase();
+          }
+          d = options.lastModified;
+        }
+        super(processBlobParts(fileBits, options), { type: t });
+        this[kState] = {
+          name: n,
+          lastModified: d,
+          type: t
+        };
+      }
+      get name() {
+        webidl.brandCheck(this, _File);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _File);
+        return this[kState].lastModified;
+      }
+      get type() {
+        webidl.brandCheck(this, _File);
+        return this[kState].type;
+      }
     };
-    exports2.balanced = balanced;
-    var maybeMatch = (reg, str2) => {
-      const m = str2.match(reg);
-      return m ? m[0] : null;
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
+      }
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
+      }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
+      }
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
+      }
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
+      }
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
+      }
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
+      }
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
+      }
+      get [Symbol.toStringTag]() {
+        return "File";
+      }
     };
-    var range = (a, b, str2) => {
-      let begs, beg, left, right = void 0, result;
-      let ai = str2.indexOf(a);
-      let bi = str2.indexOf(b, ai + 1);
-      let i = ai;
-      if (ai >= 0 && bi > 0) {
-        if (a === b) {
-          return [ai, bi];
+    Object.defineProperties(File2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "File",
+        configurable: true
+      },
+      name: kEnumerableProperty,
+      lastModified: kEnumerableProperty
+    });
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    webidl.converters.BlobPart = function(V, opts) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
         }
-        begs = [];
-        left = str2.length;
-        while (i >= 0 && !result) {
-          if (i === ai) {
-            begs.push(i);
-            ai = str2.indexOf(a, i + 1);
-          } else if (begs.length === 1) {
-            const r = begs.pop();
-            if (r !== void 0)
-              result = [r, bi];
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V, opts);
+        }
+      }
+      return webidl.converters.USVString(V, opts);
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.BlobPart
+    );
+    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
+      {
+        key: "lastModified",
+        converter: webidl.converters["long long"],
+        get defaultValue() {
+          return Date.now();
+        }
+      },
+      {
+        key: "type",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "endings",
+        converter: (value) => {
+          value = webidl.converters.DOMString(value);
+          value = value.toLowerCase();
+          if (value !== "native") {
+            value = "transparent";
+          }
+          return value;
+        },
+        defaultValue: "transparent"
+      }
+    ]);
+    function processBlobParts(parts, options) {
+      const bytes = [];
+      for (const element of parts) {
+        if (typeof element === "string") {
+          let s = element;
+          if (options.endings === "native") {
+            s = convertLineEndingsNative(s);
+          }
+          bytes.push(encoder.encode(s));
+        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
+          if (!element.buffer) {
+            bytes.push(new Uint8Array(element));
           } else {
-            beg = begs.pop();
-            if (beg !== void 0 && beg < left) {
-              left = beg;
-              right = bi;
-            }
-            bi = str2.indexOf(b, i + 1);
+            bytes.push(
+              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
+            );
           }
-          i = ai < bi && ai >= 0 ? ai : bi;
-        }
-        if (begs.length && right !== void 0) {
-          result = [left, right];
+        } else if (isBlobLike(element)) {
+          bytes.push(element);
         }
       }
-      return result;
-    };
-    exports2.range = range;
+      return bytes;
+    }
+    function convertLineEndingsNative(s) {
+      let nativeLineEnding = "\n";
+      if (process.platform === "win32") {
+        nativeLineEnding = "\r\n";
+      }
+      return s.replace(/\r?\n/g, nativeLineEnding);
+    }
+    function isFileLike(object) {
+      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { File: File2, FileLike, isFileLike };
   }
 });
 
-// node_modules/@isaacs/brace-expansion/dist/commonjs/index.js
-var require_commonjs19 = __commonJS({
-  "node_modules/@isaacs/brace-expansion/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/formdata.js
+var require_formdata3 = __commonJS({
+  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.expand = expand2;
-    var balanced_match_1 = require_commonjs18();
-    var escSlash = "\0SLASH" + Math.random() + "\0";
-    var escOpen = "\0OPEN" + Math.random() + "\0";
-    var escClose = "\0CLOSE" + Math.random() + "\0";
-    var escComma = "\0COMMA" + Math.random() + "\0";
-    var escPeriod = "\0PERIOD" + Math.random() + "\0";
-    var escSlashPattern = new RegExp(escSlash, "g");
-    var escOpenPattern = new RegExp(escOpen, "g");
-    var escClosePattern = new RegExp(escClose, "g");
-    var escCommaPattern = new RegExp(escComma, "g");
-    var escPeriodPattern = new RegExp(escPeriod, "g");
-    var slashPattern = /\\\\/g;
-    var openPattern = /\\{/g;
-    var closePattern = /\\}/g;
-    var commaPattern = /\\,/g;
-    var periodPattern = /\\./g;
-    function numeric(str2) {
-      return !isNaN(str2) ? parseInt(str2, 10) : str2.charCodeAt(0);
-    }
-    function escapeBraces(str2) {
-      return str2.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
-    }
-    function unescapeBraces(str2) {
-      return str2.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
-    }
-    function parseCommaParts(str2) {
-      if (!str2) {
-        return [""];
+    var { isBlobLike, toUSVString, makeIterator } = require_util24();
+    var { kState } = require_symbols12();
+    var { File: UndiciFile, FileLike, isFileLike } = require_file5();
+    var { webidl } = require_webidl3();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var File2 = NativeFile ?? UndiciFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
       }
-      const parts = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m) {
-        return str2.split(",");
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
       }
-      const { pre, body, post } = m;
-      const p = pre.split(",");
-      p[p.length - 1] += "{" + body + "}";
-      const postParts = parseCommaParts(post);
-      if (post.length) {
-        ;
-        p[p.length - 1] += postParts.shift();
-        p.push.apply(p, postParts);
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
+        name = webidl.converters.USVString(name);
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
       }
-      parts.push.apply(parts, p);
-      return parts;
-    }
-    function expand2(str2) {
-      if (!str2) {
-        return [];
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
+        name = webidl.converters.USVString(name);
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
       }
-      if (str2.slice(0, 2) === "{}") {
-        str2 = "\\{\\}" + str2.slice(2);
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
+        name = webidl.converters.USVString(name);
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
       }
-      return expand_(escapeBraces(str2), true).map(unescapeBraces);
-    }
-    function embrace(str2) {
-      return "{" + str2 + "}";
-    }
-    function isPadded(el) {
-      return /^-?0\d/.test(el);
-    }
-    function lte(i, y) {
-      return i <= y;
-    }
-    function gte6(i, y) {
-      return i >= y;
-    }
-    function expand_(str2, isTop) {
-      const expansions = [];
-      const m = (0, balanced_match_1.balanced)("{", "}", str2);
-      if (!m)
-        return [str2];
-      const pre = m.pre;
-      const post = m.post.length ? expand_(m.post, false) : [""];
-      if (/\$$/.test(m.pre)) {
-        for (let k = 0; k < post.length; k++) {
-          const expansion = pre + "{" + m.body + "}" + post[k];
-          expansions.push(expansion);
-        }
-      } else {
-        const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-        const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-        const isSequence = isNumericSequence || isAlphaSequence;
-        const isOptions = m.body.indexOf(",") >= 0;
-        if (!isSequence && !isOptions) {
-          if (m.post.match(/,(?!,).*\}/)) {
-            str2 = m.pre + "{" + m.body + escClose + m.post;
-            return expand_(str2);
-          }
-          return [str2];
-        }
-        let n;
-        if (isSequence) {
-          n = m.body.split(/\.\./);
-        } else {
-          n = parseCommaParts(m.body);
-          if (n.length === 1 && n[0] !== void 0) {
-            n = expand_(n[0], false).map(embrace);
-            if (n.length === 1) {
-              return post.map((p) => m.pre + n[0] + p);
-            }
-          }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
+        name = webidl.converters.USVString(name);
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
         }
-        let N;
-        if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
-          const x = numeric(n[0]);
-          const y = numeric(n[1]);
-          const width = Math.max(n[0].length, n[1].length);
-          let incr = n.length === 3 && n[2] !== void 0 ? Math.abs(numeric(n[2])) : 1;
-          let test = lte;
-          const reverse = y < x;
-          if (reverse) {
-            incr *= -1;
-            test = gte6;
-          }
-          const pad = n.some(isPadded);
-          N = [];
-          for (let i = x; test(i, y); i += incr) {
-            let c;
-            if (isAlphaSequence) {
-              c = String.fromCharCode(i);
-              if (c === "\\") {
-                c = "";
-              }
-            } else {
-              c = String(i);
-              if (pad) {
-                const need = width - c.length;
-                if (need > 0) {
-                  const z = new Array(need + 1).join("0");
-                  if (i < 0) {
-                    c = "-" + z + c.slice(1);
-                  } else {
-                    c = z + c;
-                  }
-                }
-              }
-            }
-            N.push(c);
-          }
+        name = webidl.converters.USVString(name);
+        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
+        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
         } else {
-          N = [];
-          for (let j = 0; j < n.length; j++) {
-            N.push.apply(N, expand_(n[j], false));
-          }
-        }
-        for (let j = 0; j < N.length; j++) {
-          for (let k = 0; k < post.length; k++) {
-            const expansion = pre + N[j] + post[k];
-            if (!isTop || isSequence || expansion) {
-              expansions.push(expansion);
-            }
-          }
+          this[kState].push(entry);
         }
       }
-      return expansions;
-    }
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js
-var require_assert_valid_pattern = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.assertValidPattern = void 0;
-    var MAX_PATTERN_LENGTH = 1024 * 64;
-    var assertValidPattern = (pattern) => {
-      if (typeof pattern !== "string") {
-        throw new TypeError("invalid pattern");
+      entries() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key+value"
+        );
       }
-      if (pattern.length > MAX_PATTERN_LENGTH) {
-        throw new TypeError("pattern is too long");
+      keys() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "key"
+        );
+      }
+      values() {
+        webidl.brandCheck(this, _FormData);
+        return makeIterator(
+          () => this[kState].map((pair) => [pair.name, pair.value]),
+          "FormData",
+          "value"
+        );
+      }
+      /**
+       * @param {(value: string, key: string, self: FormData) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _FormData);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
       }
     };
-    exports2.assertValidPattern = assertValidPattern;
+    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
+    Object.defineProperties(FormData2.prototype, {
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      name = Buffer.from(name).toString("utf8");
+      if (typeof value === "string") {
+        value = Buffer.from(value).toString("utf8");
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2 };
   }
 });
 
-// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js
-var require_brace_expressions = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) {
+// node_modules/undici/lib/fetch/body.js
+var require_body3 = __commonJS({
+  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.parseClass = void 0;
-    var posixClasses = {
-      "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
-      "[:alpha:]": ["\\p{L}\\p{Nl}", true],
-      "[:ascii:]": ["\\x00-\\x7f", false],
-      "[:blank:]": ["\\p{Zs}\\t", true],
-      "[:cntrl:]": ["\\p{Cc}", true],
-      "[:digit:]": ["\\p{Nd}", true],
-      "[:graph:]": ["\\p{Z}\\p{C}", true, true],
-      "[:lower:]": ["\\p{Ll}", true],
-      "[:print:]": ["\\p{C}", true],
-      "[:punct:]": ["\\p{P}", true],
-      "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
-      "[:upper:]": ["\\p{Lu}", true],
-      "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
-      "[:xdigit:]": ["A-Fa-f0-9", false]
-    };
-    var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
-    var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var rangesToString = (ranges) => ranges.join("");
-    var parseClass = (glob2, position) => {
-      const pos = position;
-      if (glob2.charAt(pos) !== "[") {
-        throw new Error("not in a brace expression");
+    var Busboy = require_main();
+    var util = require_util23();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody
+    } = require_util24();
+    var { FormData: FormData2 } = require_formdata3();
+    var { kState } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2, structuredClone } = require_constants20();
+    var { Blob: Blob2, File: NativeFile } = require("buffer");
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { isErrored } = require_util23();
+    var { isUint8Array, isArrayBuffer } = require("util/types");
+    var { File: UndiciFile } = require_file5();
+    var { parseMIMEType, serializeAMimeType } = require_dataURL();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var ReadableStream2 = globalThis.ReadableStream;
+    var File2 = NativeFile ?? UndiciFile;
+    var textEncoder = new TextEncoder();
+    var textDecoder = new TextDecoder();
+    function extractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      const ranges = [];
-      const negs = [];
-      let i = pos + 1;
-      let sawStart = false;
-      let uflag = false;
-      let escaping = false;
-      let negate = false;
-      let endPos = pos;
-      let rangeStart = "";
-      WHILE: while (i < glob2.length) {
-        const c = glob2.charAt(i);
-        if ((c === "!" || c === "^") && i === pos + 1) {
-          negate = true;
-          i++;
-          continue;
-        }
-        if (c === "]" && sawStart && !escaping) {
-          endPos = i + 1;
-          break;
-        }
-        sawStart = true;
-        if (c === "\\") {
-          if (!escaping) {
-            escaping = true;
-            i++;
-            continue;
-          }
-        }
-        if (c === "[" && !escaping) {
-          for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
-            if (glob2.startsWith(cls, i)) {
-              if (rangeStart) {
-                return ["$.", false, glob2.length - pos, true];
-              }
-              i += cls.length;
-              if (neg)
-                negs.push(unip);
-              else
-                ranges.push(unip);
-              uflag = uflag || u;
-              continue WHILE;
+      let stream = null;
+      if (object instanceof ReadableStream2) {
+        stream = object;
+      } else if (isBlobLike(object)) {
+        stream = object.stream();
+      } else {
+        stream = new ReadableStream2({
+          async pull(controller) {
+            controller.enqueue(
+              typeof source === "string" ? textEncoder.encode(source) : source
+            );
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: void 0
+        });
+      }
+      assert(isReadableStreamLike(stream));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
             }
           }
         }
-        escaping = false;
-        if (rangeStart) {
-          if (c > rangeStart) {
-            ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
-          } else if (c === rangeStart) {
-            ranges.push(braceEscape(c));
+        const chunk = textEncoder.encode(`--${boundary}--`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
           }
-          rangeStart = "";
-          i++;
-          continue;
+        };
+        type2 = "multipart/form-data; boundary=" + boundary;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
         }
-        if (glob2.startsWith("-]", i + 1)) {
-          ranges.push(braceEscape(c + "-"));
-          i += 2;
-          continue;
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
         }
-        if (glob2.startsWith("-", i + 1)) {
-          rangeStart = c;
-          i += 2;
-          continue;
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
         }
-        ranges.push(braceEscape(c));
-        i++;
-      }
-      if (endPos < i) {
-        return ["", false, 0, false];
-      }
-      if (!ranges.length && !negs.length) {
-        return ["$.", false, glob2.length - pos, true];
+        stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
       }
-      if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate) {
-        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
-        return [regexpEscape(r), false, endPos - pos, false];
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
       }
-      const sranges = "[" + (negate ? "^" : "") + rangesToString(ranges) + "]";
-      const snegs = "[" + (negate ? "" : "^") + rangesToString(negs) + "]";
-      const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
-      return [comb, uflag, endPos - pos, true];
-    };
-    exports2.parseClass = parseClass;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js
-var require_unescape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = void 0;
-    var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
+      if (action != null) {
+        let iterator2;
+        stream = new ReadableStream2({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+              });
+            } else {
+              if (!isErrored(stream)) {
+                controller.enqueue(new Uint8Array(value));
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: void 0
+        });
       }
-      return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
-    };
-    exports2.unescape = unescape;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js
-var require_ast = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.AST = void 0;
-    var brace_expressions_js_1 = require_brace_expressions();
-    var unescape_js_1 = require_unescape();
-    var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
-    var isExtglobType = (c) => types.has(c);
-    var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
-    var startNoDot = "(?!\\.)";
-    var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
-    var justDots = /* @__PURE__ */ new Set(["..", "."]);
-    var reSpecials = new Set("().*{}+?[]^$\\!");
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var starNoEmpty = qmark + "+?";
-    var AST = class _AST {
-      type;
-      #root;
-      #hasMagic;
-      #uflag = false;
-      #parts = [];
-      #parent;
-      #parentIndex;
-      #negs;
-      #filledNegs = false;
-      #options;
-      #toString;
-      // set to true if it's an extglob with no children
-      // (which really means one child of '')
-      #emptyExt = false;
-      constructor(type2, parent, options = {}) {
-        this.type = type2;
-        if (type2)
-          this.#hasMagic = true;
-        this.#parent = parent;
-        this.#root = this.#parent ? this.#parent.#root : this;
-        this.#options = this.#root === this ? options : this.#root.#options;
-        this.#negs = this.#root === this ? [] : this.#root.#negs;
-        if (type2 === "!" && !this.#root.#filledNegs)
-          this.#negs.push(this);
-        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
+      const body = { stream, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
       }
-      get hasMagic() {
-        if (this.#hasMagic !== void 0)
-          return this.#hasMagic;
-        for (const p of this.#parts) {
-          if (typeof p === "string")
-            continue;
-          if (p.type || p.hasMagic)
-            return this.#hasMagic = true;
-        }
-        return this.#hasMagic;
+      if (object instanceof ReadableStream2) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
       }
-      // reconstructs the pattern
-      toString() {
-        if (this.#toString !== void 0)
-          return this.#toString;
-        if (!this.type) {
-          return this.#toString = this.#parts.map((p) => String(p)).join("");
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(body) {
+      const [out1, out2] = body.stream.tee();
+      const out2Clone = structuredClone(out2, { transfer: [out2] });
+      const [, finalClone] = out2Clone.tee();
+      body.stream = out1;
+      return {
+        stream: finalClone,
+        length: body.length,
+        source: body.source
+      };
+    }
+    async function* consumeBody(body) {
+      if (body) {
+        if (isUint8Array(body)) {
+          yield body;
         } else {
-          return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
+          const stream = body.stream;
+          if (util.isDisturbed(stream)) {
+            throw new TypeError("The body has already been consumed.");
+          }
+          if (stream.locked) {
+            throw new TypeError("The stream is locked.");
+          }
+          stream[kBodyUsed] = true;
+          yield* stream;
         }
       }
-      #fillNegs() {
-        if (this !== this.#root)
-          throw new Error("should only call on root");
-        if (this.#filledNegs)
-          return this;
-        this.toString();
-        this.#filledNegs = true;
-        let n;
-        while (n = this.#negs.pop()) {
-          if (n.type !== "!")
-            continue;
-          let p = n;
-          let pp = p.#parent;
-          while (pp) {
-            for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
-              for (const part of n.#parts) {
-                if (typeof part === "string") {
-                  throw new Error("string part in extglob AST??");
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException2("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return specConsumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === "failure") {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return specConsumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return specConsumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return specConsumeBody(this, parseJSONFromBytes, instance);
+        },
+        async formData() {
+          webidl.brandCheck(this, instance);
+          throwIfAborted(this[kState]);
+          const contentType = this.headers.get("Content-Type");
+          if (/multipart\/form-data/.test(contentType)) {
+            const headers = {};
+            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
+            const responseFormData = new FormData2();
+            let busboy;
+            try {
+              busboy = new Busboy({
+                headers,
+                preservePath: true
+              });
+            } catch (err) {
+              throw new DOMException2(`${err}`, "AbortError");
+            }
+            busboy.on("field", (name, value) => {
+              responseFormData.append(name, value);
+            });
+            busboy.on("file", (name, value, filename, encoding, mimeType) => {
+              const chunks = [];
+              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
+                let base64chunk = "";
+                value.on("data", (chunk) => {
+                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
+                  const end = base64chunk.length - base64chunk.length % 4;
+                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
+                  base64chunk = base64chunk.slice(end);
+                });
+                value.on("end", () => {
+                  chunks.push(Buffer.from(base64chunk, "base64"));
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              } else {
+                value.on("data", (chunk) => {
+                  chunks.push(chunk);
+                });
+                value.on("end", () => {
+                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
+                });
+              }
+            });
+            const busboyResolve = new Promise((resolve2, reject) => {
+              busboy.on("finish", resolve2);
+              busboy.on("error", (err) => reject(new TypeError(err)));
+            });
+            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
+            busboy.end();
+            await busboyResolve;
+            return responseFormData;
+          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
+            let entries;
+            try {
+              let text = "";
+              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
+              for await (const chunk of consumeBody(this[kState].body)) {
+                if (!isUint8Array(chunk)) {
+                  throw new TypeError("Expected Uint8Array chunk");
                 }
-                part.copyIn(pp.#parts[i]);
+                text += streamingDecoder.decode(chunk, { stream: true });
               }
+              text += streamingDecoder.decode();
+              entries = new URLSearchParams(text);
+            } catch (err) {
+              throw Object.assign(new TypeError(), { cause: err });
             }
-            p = pp;
-            pp = p.#parent;
-          }
-        }
-        return this;
-      }
-      push(...parts) {
-        for (const p of parts) {
-          if (p === "")
-            continue;
-          if (typeof p !== "string" && !(p instanceof _AST && p.#parent === this)) {
-            throw new Error("invalid part: " + p);
+            const formData = new FormData2();
+            for (const [name, value] of entries) {
+              formData.append(name, value);
+            }
+            return formData;
+          } else {
+            await Promise.resolve();
+            throwIfAborted(this[kState]);
+            throw webidl.errors.exception({
+              header: `${instance.name}.formData`,
+              message: "Could not parse content as FormData."
+            });
           }
-          this.#parts.push(p);
         }
+      };
+      return methods;
+    }
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function specConsumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      throwIfAborted(object[kState]);
+      if (bodyUnusable(object[kState].body)) {
+        throw new TypeError("Body is unusable");
       }
-      toJSON() {
-        const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
-        if (this.isStart() && !this.type)
-          ret.unshift([]);
-        if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
-          ret.push({});
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
         }
-        return ret;
+      };
+      if (object[kState].body == null) {
+        successSteps(new Uint8Array());
+        return promise.promise;
       }
-      isStart() {
-        if (this.#root === this)
-          return true;
-        if (!this.#parent?.isStart())
-          return false;
-        if (this.#parentIndex === 0)
-          return true;
-        const p = this.#parent;
-        for (let i = 0; i < this.#parentIndex; i++) {
-          const pp = p.#parts[i];
-          if (!(pp instanceof _AST && pp.type === "!")) {
-            return false;
-          }
-        }
-        return true;
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(body) {
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
       }
-      isEnd() {
-        if (this.#root === this)
-          return true;
-        if (this.#parent?.type === "!")
-          return true;
-        if (!this.#parent?.isEnd())
-          return false;
-        if (!this.type)
-          return this.#parent?.isEnd();
-        const pl = this.#parent ? this.#parent.#parts.length : 0;
-        return this.#parentIndex === pl - 1;
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
       }
-      copyIn(part) {
-        if (typeof part === "string")
-          this.push(part);
-        else
-          this.push(part.clone(this));
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(object) {
+      const { headersList } = object[kState];
+      const contentType = headersList.get("content-type");
+      if (contentType === null) {
+        return "failure";
       }
-      clone(parent) {
-        const c = new _AST(this.type, parent);
-        for (const p of this.#parts) {
-          c.copyIn(p);
+      return parseMIMEType(contentType);
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody
+    };
+  }
+});
+
+// node_modules/undici/lib/core/request.js
+var require_request5 = __commonJS({
+  "node_modules/undici/lib/core/request.js"(exports2, module2) {
+    "use strict";
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors5();
+    var assert = require("assert");
+    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols11();
+    var util = require_util23();
+    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var channels = {};
+    var extractBody;
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.create = diagnosticsChannel.channel("undici:request:create");
+      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
+      channels.headers = diagnosticsChannel.channel("undici:request:headers");
+      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
+      channels.error = diagnosticsChannel.channel("undici:request:error");
+    } catch {
+      channels.create = { hasSubscribers: false };
+      channels.bodySent = { hasSubscribers: false };
+      channels.headers = { hasSubscribers: false };
+      channels.trailers = { hasSubscribers: false };
+      channels.error = { hasSubscribers: false };
+    }
+    var Request = class _Request {
+      constructor(origin, {
+        path: path3,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue
+      }, handler2) {
+        if (typeof path3 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path3[0] !== "/" && !(path3.startsWith("http://") || path3.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.exec(path3) !== null) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        return c;
-      }
-      static #parseAST(str2, ast, pos, opt) {
-        let escaping = false;
-        let inBrace = false;
-        let braceStart = -1;
-        let braceNeg = false;
-        if (ast.type === null) {
-          let i2 = pos;
-          let acc2 = "";
-          while (i2 < str2.length) {
-            const c = str2.charAt(i2++);
-            if (escaping || c === "\\") {
-              escaping = !escaping;
-              acc2 += c;
-              continue;
-            }
-            if (inBrace) {
-              if (i2 === braceStart + 1) {
-                if (c === "^" || c === "!") {
-                  braceNeg = true;
-                }
-              } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
-                inBrace = false;
-              }
-              acc2 += c;
-              continue;
-            } else if (c === "[") {
-              inBrace = true;
-              braceStart = i2;
-              braceNeg = false;
-              acc2 += c;
-              continue;
-            }
-            if (!opt.noext && isExtglobType(c) && str2.charAt(i2) === "(") {
-              ast.push(acc2);
-              acc2 = "";
-              const ext = new _AST(c, ast);
-              i2 = _AST.#parseAST(str2, ext, i2, opt);
-              ast.push(ext);
-              continue;
-            }
-            acc2 += c;
-          }
-          ast.push(acc2);
-          return i2;
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (tokenRegExp.exec(method) === null) {
+          throw new InvalidArgumentError("invalid request method");
         }
-        let i = pos + 1;
-        let part = new _AST(null, ast);
-        const parts = [];
-        let acc = "";
-        while (i < str2.length) {
-          const c = str2.charAt(i++);
-          if (escaping || c === "\\") {
-            escaping = !escaping;
-            acc += c;
-            continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
+        }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
+        }
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
+        }
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
+        }
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
+        }
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (util.isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              util.destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-          if (inBrace) {
-            if (i === braceStart + 1) {
-              if (c === "^" || c === "!") {
-                braceNeg = true;
-              }
-            } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
-              inBrace = false;
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
             }
-            acc += c;
-            continue;
-          } else if (c === "[") {
-            inBrace = true;
-            braceStart = i;
-            braceNeg = false;
-            acc += c;
-            continue;
-          }
-          if (isExtglobType(c) && str2.charAt(i) === "(") {
-            part.push(acc);
-            acc = "";
-            const ext = new _AST(c, part);
-            part.push(ext);
-            i = _AST.#parseAST(str2, ext, i, opt);
-            continue;
-          }
-          if (c === "|") {
-            part.push(acc);
-            acc = "";
-            parts.push(part);
-            part = new _AST(null, ast);
-            continue;
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (util.isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
+          this.body = body;
+        } else {
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
+        }
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? util.buildURL(path3, query) : path3;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = "";
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-          if (c === ")") {
-            if (acc === "" && ast.#parts.length === 0) {
-              ast.#emptyExt = true;
-            }
-            part.push(acc);
-            acc = "";
-            ast.push(...parts, part);
-            return i;
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          acc += c;
-        }
-        ast.type = null;
-        ast.#hasMagic = void 0;
-        ast.#parts = [str2.substring(pos - 1)];
-        return i;
-      }
-      static fromGlob(pattern, options = {}) {
-        const ast = new _AST(null, void 0, options);
-        _AST.#parseAST(pattern, ast, 0, options);
-        return ast;
-      }
-      // returns the regular expression if there's magic, or the unescaped
-      // string if not.
-      toMMPattern() {
-        if (this !== this.#root)
-          return this.#root.toMMPattern();
-        const glob2 = this.toString();
-        const [re, body, hasMagic, uflag] = this.toRegExpSource();
-        const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
-        if (!anyMagic) {
-          return body;
-        }
-        const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
-        return Object.assign(new RegExp(`^${re}$`, flags), {
-          _src: re,
-          _glob: glob2
-        });
-      }
-      get options() {
-        return this.#options;
-      }
-      // returns the string match, the regexp source, whether there's magic
-      // in the regexp (so a regular expression is required) and whether or
-      // not the uflag is needed for the regular expression (for posix classes)
-      // TODO: instead of injecting the start/end at this point, just return
-      // the BODY of the regexp, along with the start/end portions suitable
-      // for binding the start/end in either a joined full-path makeRe context
-      // (where we bind to (^|/), or a standalone matchPart context (where
-      // we bind to ^, and not /).  Otherwise slashes get duped!
-      //
-      // In part-matching mode, the start is:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: ^(?!\.\.?$)
-      // - if dots allowed or not possible: ^
-      // - if dots possible and not allowed: ^(?!\.)
-      // end is:
-      // - if not isEnd(): nothing
-      // - else: $
-      //
-      // In full-path matching mode, we put the slash at the START of the
-      // pattern, so start is:
-      // - if first pattern: same as part-matching mode
-      // - if not isStart(): nothing
-      // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
-      // - if dots allowed or not possible: /
-      // - if dots possible and not allowed: /(?!\.)
-      // end is:
-      // - if last pattern, same as part-matching mode
-      // - else nothing
-      //
-      // Always put the (?:$|/) on negated tails, though, because that has to be
-      // there to bind the end of the negated pattern portion, and it's easier to
-      // just stick it in now rather than try to inject it later in the middle of
-      // the pattern.
-      //
-      // We can just always return the same end, and leave it up to the caller
-      // to know whether it's going to be used joined or in parts.
-      // And, if the start is adjusted slightly, can do the same there:
-      // - if not isStart: nothing
-      // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
-      // - if dots allowed or not possible: (?:/|^)
-      // - if dots possible and not allowed: (?:/|^)(?!\.)
-      //
-      // But it's better to have a simpler binding without a conditional, for
-      // performance, so probably better to return both start options.
-      //
-      // Then the caller just ignores the end if it's not the first pattern,
-      // and the start always gets applied.
-      //
-      // But that's always going to be $ if it's the ending pattern, or nothing,
-      // so the caller can just attach $ at the end of the pattern when building.
-      //
-      // So the todo is:
-      // - better detect what kind of start is needed
-      // - return both flavors of starting pattern
-      // - attach $ at the end of the pattern when creating the actual RegExp
-      //
-      // Ah, but wait, no, that all only applies to the root when the first pattern
-      // is not an extglob. If the first pattern IS an extglob, then we need all
-      // that dot prevention biz to live in the extglob portions, because eg
-      // +(*|.x*) can match .xy but not .yx.
-      //
-      // So, return the two flavors if it's #root and the first child is not an
-      // AST, otherwise leave it to the child AST to handle it, and there,
-      // use the (?:^|/) style of start binding.
-      //
-      // Even simplified further:
-      // - Since the start for a join is eg /(?!\.) and the start for a part
-      // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
-      // or start or whatever) and prepend ^ or / at the Regexp construction.
-      toRegExpSource(allowDot) {
-        const dot = allowDot ?? !!this.#options.dot;
-        if (this.#root === this)
-          this.#fillNegs();
-        if (!this.type) {
-          const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
-          const src = this.#parts.map((p) => {
-            const [re, _2, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
-            this.#hasMagic = this.#hasMagic || hasMagic;
-            this.#uflag = this.#uflag || uflag;
-            return re;
-          }).join("");
-          let start2 = "";
-          if (this.isStart()) {
-            if (typeof this.#parts[0] === "string") {
-              const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
-              if (!dotTravAllowed) {
-                const aps = addPatternStart;
-                const needNoTrav = (
-                  // dots are allowed, and the pattern starts with [ or .
-                  dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
-                  src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
-                  src.startsWith("\\.\\.") && aps.has(src.charAt(4))
-                );
-                const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
-                start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
-              }
-            }
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(this, key, headers[key]);
           }
-          let end = "";
-          if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
-            end = "(?:$|\\/)";
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        if (util.isFormDataLike(this.body)) {
+          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
+            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
           }
-          const final2 = start2 + src + end;
-          return [
-            final2,
-            (0, unescape_js_1.unescape)(src),
-            this.#hasMagic = !!this.#hasMagic,
-            this.#uflag
-          ];
+          if (!extractBody) {
+            extractBody = require_body3().extractBody;
+          }
+          const [bodyStream, contentType] = extractBody(body);
+          if (this.contentType == null) {
+            this.contentType = contentType;
+            this.headers += `content-type: ${contentType}\r
+`;
+          }
+          this.body = bodyStream.stream;
+          this.contentLength = bodyStream.length;
+        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
+          this.contentType = body.type;
+          this.headers += `content-type: ${body.type}\r
+`;
         }
-        const repeated = this.type === "*" || this.type === "+";
-        const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
-        let body = this.#partsToRegExp(dot);
-        if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
-          const s = this.toString();
-          this.#parts = [s];
-          this.type = null;
-          this.#hasMagic = void 0;
-          return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];
+        util.validateHandler(handler2, method, upgrade);
+        this.servername = util.getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
-        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
-        if (bodyDotAllowed === body) {
-          bodyDotAllowed = "";
+      }
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
         }
-        if (bodyDotAllowed) {
-          body = `(?:${body})(?:${bodyDotAllowed})*?`;
+      }
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-        let final = "";
-        if (this.type === "!" && this.#emptyExt) {
-          final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
+          }
+        }
+      }
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          const close = this.type === "!" ? (
-            // !() must match something,but !(x) can match ''
-            "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
-          ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
-          final = start + body + close;
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        return [
-          final,
-          (0, unescape_js_1.unescape)(body),
-          this.#hasMagic = !!this.#hasMagic,
-          this.#uflag
-        ];
       }
-      #partsToRegExp(dot) {
-        return this.#parts.map((p) => {
-          if (typeof p === "string") {
-            throw new Error("string type in extglob ast??");
-          }
-          const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
-          this.#uflag = this.#uflag || uflag;
-          return re;
-        }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        }
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
+        }
       }
-      static #parseGlob(glob2, hasMagic, noEmpty = false) {
-        let escaping = false;
-        let re = "";
-        let uflag = false;
-        for (let i = 0; i < glob2.length; i++) {
-          const c = glob2.charAt(i);
-          if (escaping) {
-            escaping = false;
-            re += (reSpecials.has(c) ? "\\" : "") + c;
-            continue;
-          }
-          if (c === "\\") {
-            if (i === glob2.length - 1) {
-              re += "\\\\";
-            } else {
-              escaping = true;
-            }
-            continue;
-          }
-          if (c === "[") {
-            const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i);
-            if (consumed) {
-              re += src;
-              uflag = uflag || needUflag;
-              i += consumed - 1;
-              hasMagic = hasMagic || magic;
-              continue;
-            }
-          }
-          if (c === "*") {
-            re += noEmpty && glob2 === "*" ? starNoEmpty : star;
-            hasMagic = true;
-            continue;
-          }
-          if (c === "?") {
-            re += qmark;
-            hasMagic = true;
-            continue;
-          }
-          re += regExpEscape(c);
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag];
       }
-    };
-    exports2.AST = AST;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js
-var require_escape = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.escape = void 0;
-    var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
-      if (magicalBraces) {
-        return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
       }
-      return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
-    };
-    exports2.escape = escape;
-  }
-});
-
-// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js
-var require_commonjs20 = __commonJS({
-  "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0;
-    var brace_expansion_1 = require_commonjs19();
-    var assert_valid_pattern_js_1 = require_assert_valid_pattern();
-    var ast_js_1 = require_ast();
-    var escape_js_1 = require_escape();
-    var unescape_js_1 = require_unescape();
-    var minimatch = (p, pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (!options.nocomment && pattern.charAt(0) === "#") {
-        return false;
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
+        }
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
+        }
       }
-      return new Minimatch(pattern, options).match(p);
-    };
-    exports2.minimatch = minimatch;
-    var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
-    var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
-    var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
-    var starDotExtTestNocase = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
-    };
-    var starDotExtTestNocaseDot = (ext2) => {
-      ext2 = ext2.toLowerCase();
-      return (f) => f.toLowerCase().endsWith(ext2);
-    };
-    var starDotStarRE = /^\*+\.\*+$/;
-    var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
-    var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
-    var dotStarRE = /^\.\*+$/;
-    var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
-    var starRE = /^\*+$/;
-    var starTest = (f) => f.length !== 0 && !f.startsWith(".");
-    var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
-    var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
-    var qmarksTestNocase = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      if (!ext2)
-        return noext;
-      ext2 = ext2.toLowerCase();
-      return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
-    };
-    var qmarksTestDot = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExtDot([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTest = ([$0, ext2 = ""]) => {
-      const noext = qmarksTestNoExt([$0]);
-      return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
-    };
-    var qmarksTestNoExt = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && !f.startsWith(".");
-    };
-    var qmarksTestNoExtDot = ([$0]) => {
-      const len = $0.length;
-      return (f) => f.length === len && f !== "." && f !== "..";
-    };
-    var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
-    var path3 = {
-      win32: { sep: "\\" },
-      posix: { sep: "/" }
-    };
-    exports2.sep = defaultPlatform === "win32" ? path3.win32.sep : path3.posix.sep;
-    exports2.minimatch.sep = exports2.sep;
-    exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
-    exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR;
-    var qmark = "[^/]";
-    var star = qmark + "*?";
-    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
-    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
-    var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options);
-    exports2.filter = filter;
-    exports2.minimatch.filter = exports2.filter;
-    var ext = (a, b = {}) => Object.assign({}, a, b);
-    var defaults = (def) => {
-      if (!def || typeof def !== "object" || !Object.keys(def).length) {
-        return exports2.minimatch;
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
+        }
+        if (this.aborted) {
+          return;
+        }
+        this.aborted = true;
+        return this[kHandler].onError(error3);
       }
-      const orig = exports2.minimatch;
-      const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
-      return Object.assign(m, {
-        Minimatch: class Minimatch extends orig.Minimatch {
-          constructor(pattern, options = {}) {
-            super(pattern, ext(def, options));
-          }
-          static defaults(options) {
-            return orig.defaults(ext(def, options)).Minimatch;
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
+        }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
+        }
+      }
+      // TODO: adjust to support H2
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
+      }
+      static [kHTTP1BuildRequest](origin, opts, handler2) {
+        return new _Request(origin, opts, handler2);
+      }
+      static [kHTTP2BuildRequest](origin, opts, handler2) {
+        const headers = opts.headers;
+        opts = { ...opts, headers: null };
+        const request2 = new _Request(origin, opts, handler2);
+        request2.headers = {};
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-        },
-        AST: class AST extends orig.AST {
-          /* c8 ignore start */
-          constructor(type2, parent, options = {}) {
-            super(type2, parent, ext(def, options));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(request2, headers[i], headers[i + 1], true);
           }
-          /* c8 ignore stop */
-          static fromGlob(pattern, options = {}) {
-            return orig.AST.fromGlob(pattern, ext(def, options));
+        } else if (headers && typeof headers === "object") {
+          const keys = Object.keys(headers);
+          for (let i = 0; i < keys.length; i++) {
+            const key = keys[i];
+            processHeader(request2, key, headers[key], true);
           }
-        },
-        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
-        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
-        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
-        defaults: (options) => orig.defaults(ext(def, options)),
-        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
-        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
-        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
-        sep: orig.sep,
-        GLOBSTAR: exports2.GLOBSTAR
-      });
-    };
-    exports2.defaults = defaults;
-    exports2.minimatch.defaults = exports2.defaults;
-    var braceExpand = (pattern, options = {}) => {
-      (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
-        return [pattern];
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
+        }
+        return request2;
       }
-      return (0, brace_expansion_1.expand)(pattern);
-    };
-    exports2.braceExpand = braceExpand;
-    exports2.minimatch.braceExpand = exports2.braceExpand;
-    var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
-    exports2.makeRe = makeRe;
-    exports2.minimatch.makeRe = exports2.makeRe;
-    var match = (list, pattern, options = {}) => {
-      const mm = new Minimatch(pattern, options);
-      list = list.filter((f) => mm.match(f));
-      if (mm.options.nonull && !list.length) {
-        list.push(pattern);
+      static [kHTTP2CopyHeaders](raw) {
+        const rawHeaders = raw.split("\r\n");
+        const headers = {};
+        for (const header of rawHeaders) {
+          const [key, value] = header.split(": ");
+          if (value == null || value.length === 0) continue;
+          if (headers[key]) headers[key] += `,${value}`;
+          else headers[key] = value;
+        }
+        return headers;
       }
-      return list;
     };
-    exports2.match = match;
-    exports2.minimatch.match = exports2.match;
-    var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
-    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    var Minimatch = class {
-      options;
-      set;
-      pattern;
-      windowsPathsNoEscape;
-      nonegate;
-      negate;
-      comment;
-      empty;
-      preserveMultipleSlashes;
-      partial;
-      globSet;
-      globParts;
-      nocase;
-      isWindows;
-      platform;
-      windowsNoMagicRoot;
-      regexp;
-      constructor(pattern, options = {}) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        options = options || {};
-        this.options = options;
-        this.pattern = pattern;
-        this.platform = options.platform || defaultPlatform;
-        this.isWindows = this.platform === "win32";
-        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          this.pattern = this.pattern.replace(/\\/g, "/");
+    function processHeaderValue(key, val, skipAppend) {
+      if (val && typeof val === "object") {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      val = val != null ? `${val}` : "";
+      if (headerCharRegex.exec(val) !== null) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      }
+      return skipAppend ? val : `${key}: ${val}\r
+`;
+    }
+    function processHeader(request2, key, val, skipAppend = false) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
+      }
+      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
+        if (headerCharRegex.exec(val) !== null) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
-        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
-        this.regexp = null;
-        this.negate = false;
-        this.nonegate = !!options.nonegate;
-        this.comment = false;
-        this.empty = false;
-        this.partial = !!options.partial;
-        this.nocase = !!this.options.nocase;
-        this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
-        this.globSet = [];
-        this.globParts = [];
-        this.set = [];
-        this.make();
+        request2.host = val;
+      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
+        }
+      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
+        request2.contentType = val;
+        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+        else request2.headers += processHeaderValue(key, val);
+      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
+        throw new InvalidArgumentError("invalid transfer-encoding header");
+      } else if (key.length === 10 && key.toLowerCase() === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
+        } else if (value === "close") {
+          request2.reset = true;
+        }
+      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
+        throw new InvalidArgumentError("invalid keep-alive header");
+      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
+        throw new InvalidArgumentError("invalid upgrade header");
+      } else if (key.length === 6 && key.toLowerCase() === "expect") {
+        throw new NotSupportedError("expect header not supported");
+      } else if (tokenRegExp.exec(key) === null) {
+        throw new InvalidArgumentError("invalid header key");
+      } else {
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (skipAppend) {
+              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
+              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
+            } else {
+              request2.headers += processHeaderValue(key, val[i]);
+            }
+          }
+        } else {
+          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
+          else request2.headers += processHeaderValue(key, val);
+        }
+      }
+    }
+    module2.exports = Request;
+  }
+});
+
+// node_modules/undici/lib/dispatcher.js
+var require_dispatcher3 = __commonJS({
+  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
+    "use strict";
+    var EventEmitter = require("events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      hasMagic() {
-        if (this.options.magicalBraces && this.set.length > 1) {
-          return true;
-        }
-        for (const pattern of this.set) {
-          for (const part of pattern) {
-            if (typeof part !== "string")
-              return true;
+      close() {
+        throw new Error("not implemented");
+      }
+      destroy() {
+        throw new Error("not implemented");
+      }
+    };
+    module2.exports = Dispatcher;
+  }
+});
+
+// node_modules/undici/lib/dispatcher-base.js
+var require_dispatcher_base3 = __commonJS({
+  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher3();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors5();
+    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols11();
+    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
+    var kClosed = /* @__PURE__ */ Symbol("closed");
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
+      }
+      get destroyed() {
+        return this[kDestroyed];
+      }
+      get closed() {
+        return this[kClosed];
+      }
+      get interceptors() {
+        return this[kInterceptors];
+      }
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
+            }
           }
         }
-        return false;
-      }
-      debug(..._2) {
+        this[kInterceptors] = newInterceptors;
       }
-      make() {
-        const pattern = this.pattern;
-        const options = this.options;
-        if (!options.nocomment && pattern.charAt(0) === "#") {
-          this.comment = true;
-          return;
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve2, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve2(data);
+            });
+          });
         }
-        if (!pattern) {
-          this.empty = true;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
         }
-        this.parseNegate();
-        this.globSet = [...new Set(this.braceExpand())];
-        if (options.debug) {
-          this.debug = (...args) => console.error(...args);
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
         }
-        this.debug(this.pattern, this.globSet);
-        const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
-        this.globParts = this.preprocess(rawGlobParts);
-        this.debug(this.pattern, this.globParts);
-        let set2 = this.globParts.map((s, _2, __) => {
-          if (this.isWindows && this.windowsNoMagicRoot) {
-            const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
-            const isDrive = /^[a-z]:/i.test(s[0]);
-            if (isUNC) {
-              return [...s.slice(0, 4), ...s.slice(4).map((ss) => this.parse(ss))];
-            } else if (isDrive) {
-              return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
-            }
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
           }
-          return s.map((ss) => this.parse(ss));
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
         });
-        this.debug(this.pattern, set2);
-        this.set = set2.filter((s) => s.indexOf(false) === -1);
-        if (this.isWindows) {
-          for (let i = 0; i < this.set.length; i++) {
-            const p = this.set[i];
-            if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
-              p[2] = "?";
-            }
-          }
-        }
-        this.debug(this.pattern, this.set);
       }
-      // various transforms to equivalent pattern sets that are
-      // faster to process in a filesystem walk.  The goal is to
-      // eliminate what we can, and push all ** patterns as far
-      // to the right as possible, even if it increases the number
-      // of patterns that we have to process.
-      preprocess(globParts) {
-        if (this.options.noglobstar) {
-          for (let i = 0; i < globParts.length; i++) {
-            for (let j = 0; j < globParts[i].length; j++) {
-              if (globParts[i][j] === "**") {
-                globParts[i][j] = "*";
-              }
-            }
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve2, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve2(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
           }
+          return;
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          globParts = this.firstPhasePreProcess(globParts);
-          globParts = this.secondPhasePreProcess(globParts);
-        } else if (optimizationLevel >= 1) {
-          globParts = this.levelOneOptimize(globParts);
-        } else {
-          globParts = this.adjascentGlobstarOptimize(globParts);
+        if (!err) {
+          err = new ClientDestroyedError();
         }
-        return globParts;
-      }
-      // just get rid of adjascent ** portions
-      adjascentGlobstarOptimize(globParts) {
-        return globParts.map((parts) => {
-          let gs = -1;
-          while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-            let i = gs;
-            while (parts[i + 1] === "**") {
-              i++;
-            }
-            if (i !== gs) {
-              parts.splice(gs, i - gs);
-            }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
           }
-          return parts;
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
         });
       }
-      // get rid of adjascent ** and resolve .. portions
-      levelOneOptimize(globParts) {
-        return globParts.map((parts) => {
-          parts = parts.reduce((set2, part) => {
-            const prev = set2[set2.length - 1];
-            if (part === "**" && prev === "**") {
-              return set2;
-            }
-            if (part === "..") {
-              if (prev && prev !== ".." && prev !== "." && prev !== "**") {
-                set2.pop();
-                return set2;
-              }
-            }
-            set2.push(part);
-            return set2;
-          }, []);
-          return parts.length === 0 ? [""] : parts;
-        });
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
+        }
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
+        }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
       }
-      levelTwoFileOptimize(parts) {
-        if (!Array.isArray(parts)) {
-          parts = this.slashSplit(parts);
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
         }
-        let didSomething = false;
-        do {
-          didSomething = false;
-          if (!this.preserveMultipleSlashes) {
-            for (let i = 1; i < parts.length - 1; i++) {
-              const p = parts[i];
-              if (i === 1 && p === "" && parts[0] === "")
-                continue;
-              if (p === "." || p === "") {
-                didSomething = true;
-                parts.splice(i, 1);
-                i--;
-              }
-            }
-            if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-              didSomething = true;
-              parts.pop();
-            }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
           }
-          let dd = 0;
-          while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-            const p = parts[dd - 1];
-            if (p && p !== "." && p !== ".." && p !== "**") {
-              didSomething = true;
-              parts.splice(dd - 1, 2);
-              dd -= 2;
-            }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
           }
-        } while (didSomething);
-        return parts.length === 0 ? [""] : parts;
-      }
-      // First phase: single-pattern processing
-      // 
 is 1 or more portions
-      //  is 1 or more portions
-      // 

is any portion other than ., .., '', or ** - // is . or '' - // - // **/.. is *brutal* for filesystem walking performance, because - // it effectively resets the recursive walk each time it occurs, - // and ** cannot be reduced out by a .. pattern part like a regexp - // or most strings (other than .., ., and '') can be. - // - //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} - //

// -> 
/
-      // 
/

/../ ->

/
-      // **/**/ -> **/
-      //
-      // **/*/ -> */**/ <== not valid because ** doesn't follow
-      // this WOULD be allowed if ** did follow symlinks, or * didn't
-      firstPhasePreProcess(globParts) {
-        let didSomething = false;
-        do {
-          didSomething = false;
-          for (let parts of globParts) {
-            let gs = -1;
-            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-              let gss = gs;
-              while (parts[gss + 1] === "**") {
-                gss++;
-              }
-              if (gss > gs) {
-                parts.splice(gs + 1, gss - gs);
-              }
-              let next = parts[gs + 1];
-              const p = parts[gs + 2];
-              const p2 = parts[gs + 3];
-              if (next !== "..")
-                continue;
-              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
-                continue;
-              }
-              didSomething = true;
-              parts.splice(gs, 1);
-              const other = parts.slice(0);
-              other[gs] = "**";
-              globParts.push(other);
-              gs--;
-            }
-            if (!this.preserveMultipleSlashes) {
-              for (let i = 1; i < parts.length - 1; i++) {
-                const p = parts[i];
-                if (i === 1 && p === "" && parts[0] === "")
-                  continue;
-                if (p === "." || p === "") {
-                  didSomething = true;
-                  parts.splice(i, 1);
-                  i--;
-                }
-              }
-              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-                didSomething = true;
-                parts.pop();
-              }
-            }
-            let dd = 0;
-            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-              const p = parts[dd - 1];
-              if (p && p !== "." && p !== ".." && p !== "**") {
-                didSomething = true;
-                const needDot = dd === 1 && parts[dd + 1] === "**";
-                const splin = needDot ? ["."] : [];
-                parts.splice(dd - 1, 2, ...splin);
-                if (parts.length === 0)
-                  parts.push("");
-                dd -= 2;
-              }
-            }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
           }
-        } while (didSomething);
-        return globParts;
-      }
-      // second phase: multi-pattern dedupes
-      // {
/*/,
/

/} ->

/*/
-      // {
/,
/} -> 
/
-      // {
/**/,
/} -> 
/**/
-      //
-      // {
/**/,
/**/

/} ->

/**/
-      // ^-- not valid because ** doens't follow symlinks
-      secondPhasePreProcess(globParts) {
-        for (let i = 0; i < globParts.length - 1; i++) {
-          for (let j = i + 1; j < globParts.length; j++) {
-            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
-            if (matched) {
-              globParts[i] = [];
-              globParts[j] = matched;
-              break;
-            }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
           }
+          handler2.onError(err);
+          return false;
         }
-        return globParts.filter((gs) => gs.length);
       }
-      partsMatch(a, b, emptyGSMatch = false) {
-        let ai = 0;
-        let bi = 0;
-        let result = [];
-        let which6 = "";
-        while (ai < a.length && bi < b.length) {
-          if (a[ai] === b[bi]) {
-            result.push(which6 === "b" ? b[bi] : a[ai]);
-            ai++;
-            bi++;
-          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
-            result.push(a[ai]);
-            ai++;
-          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
-            result.push(b[bi]);
-            bi++;
-          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
-            if (which6 === "b")
-              return false;
-            which6 = "a";
-            result.push(a[ai]);
-            ai++;
-            bi++;
-          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
-            if (which6 === "a")
-              return false;
-            which6 = "b";
-            result.push(b[bi]);
-            ai++;
-            bi++;
-          } else {
-            return false;
+    };
+    module2.exports = DispatcherBase;
+  }
+});
+
+// node_modules/undici/lib/core/connect.js
+var require_connect3 = __commonJS({
+  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+    "use strict";
+    var net = require("net");
+    var assert = require("assert");
+    var util = require_util23();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors5();
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
+        }
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-        return a.length === b.length && result;
-      }
-      parseNegate() {
-        if (this.nonegate)
-          return;
-        const pattern = this.pattern;
-        let negate = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate = !negate;
-          negateOffset++;
+      };
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        if (negateOffset)
-          this.pattern = pattern.slice(negateOffset);
-        this.negate = negate;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
+          }
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
+          }
+          this._sessionCache.set(sessionKey, session);
+        }
+      };
+    }
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
       }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial = false) {
-        const options = this.options;
-        if (this.isWindows) {
-          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
-          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
-          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
-          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
-          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
-          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
-          if (typeof fdi === "number" && typeof pdi === "number") {
-            const [fd, pd] = [file[fdi], pattern[pdi]];
-            if (fd.toLowerCase() === pd.toLowerCase()) {
-              pattern[pdi] = fd;
-              if (pdi > fdi) {
-                pattern = pattern.slice(pdi);
-              } else if (fdi > pdi) {
-                file = file.slice(fdi);
-              }
-            }
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          const session = sessionCache.get(sessionKey) || null;
+          assert(sessionKey);
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port: port || 443,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port: port || 80,
+            host: hostname
+          });
         }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          file = this.levelTwoFileOptimize(file);
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-        this.debug("matchOne", this, { file, pattern });
-        this.debug("matchOne", file.length, pattern.length);
-        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          var p = pattern[pi];
-          var f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false) {
-            return false;
+        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
           }
-          if (p === exports2.GLOBSTAR) {
-            this.debug("GLOBSTAR", [pattern, p, f]);
-            var fr = fi;
-            var pr = pi + 1;
-            if (pr === pl) {
-              this.debug("** at the end");
-              for (; fi < fl; fi++) {
-                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
-                  return false;
-              }
-              return true;
-            }
-            while (fr < fl) {
-              var swallowee = file[fr];
-              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
-              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-                this.debug("globstar found match!", fr, fl, swallowee);
-                return true;
-              } else {
-                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
-                  this.debug("dot detected!", file, fr, pattern, pr);
-                  break;
-                }
-                this.debug("globstar swallow a segment, and continue");
-                fr++;
-              }
-            }
-            if (partial) {
-              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
-              if (fr === fl) {
-                return true;
-              }
-            }
-            return false;
+        }).on("error", function(err) {
+          cancelTimeout();
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          let hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
+        });
+        return socket;
+      };
+    }
+    function setupTimeout(onConnectTimeout2, timeout) {
+      if (!timeout) {
+        return () => {
+        };
+      }
+      let s1 = null;
+      let s2 = null;
+      const timeoutId = setTimeout(() => {
+        s1 = setImmediate(() => {
+          if (process.platform === "win32") {
+            s2 = setImmediate(() => onConnectTimeout2());
           } else {
-            hit = p.test(f);
-            this.debug("pattern match", p, f, hit);
+            onConnectTimeout2();
           }
-          if (!hit)
-            return false;
+        });
+      }, timeout);
+      return () => {
+        clearTimeout(timeoutId);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    }
+    function onConnectTimeout(socket) {
+      util.destroy(socket, new ConnectTimeoutError());
+    }
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/undici/lib/llhttp/utils.js
+var require_utils9 = __commonJS({
+  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
-        } else {
-          throw new Error("wtf?");
+      });
+      return res;
+    }
+    exports2.enumToMap = enumToMap;
+  }
+});
+
+// node_modules/undici/lib/llhttp/constants.js
+var require_constants21 = __commonJS({
+  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils9();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.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
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
+    };
+  }
+});
+
+// node_modules/undici/lib/handler/RedirectHandler.js
+var require_RedirectHandler = __commonJS({
+  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+    "use strict";
+    var util = require_util23();
+    var { kBodyUsed } = require_symbols11();
+    var assert = require("assert");
+    var { InvalidArgumentError } = require_errors5();
+    var EE = require("events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
+          }
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
+          }
+        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
         }
       }
-      braceExpand() {
-        return (0, exports2.braceExpand)(this.pattern, this.options);
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-      parse(pattern) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        const options = this.options;
-        if (pattern === "**")
-          return exports2.GLOBSTAR;
-        if (pattern === "")
-          return "";
-        let m;
-        let fastTest = null;
-        if (m = pattern.match(starRE)) {
-          fastTest = options.dot ? starTestDot : starTest;
-        } else if (m = pattern.match(starDotExtRE)) {
-          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
-        } else if (m = pattern.match(qmarksRE)) {
-          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
-        } else if (m = pattern.match(starDotStarRE)) {
-          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
-        } else if (m = pattern.match(dotStarRE)) {
-          fastTest = dotStarTest;
-        }
-        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
-        if (fastTest && typeof re === "object") {
-          Reflect.defineProperty(re, "test", { value: fastTest });
-        }
-        return re;
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      makeRe() {
-        if (this.regexp || this.regexp === false)
-          return this.regexp;
-        const set2 = this.set;
-        if (!set2.length) {
-          this.regexp = false;
-          return this.regexp;
+      onError(error3) {
+        this.handler.onError(error3);
+      }
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
         }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = new Set(options.nocase ? ["i"] : []);
-        let re = set2.map((pattern) => {
-          const pp = pattern.map((p) => {
-            if (p instanceof RegExp) {
-              for (const f of p.flags.split(""))
-                flags.add(f);
-            }
-            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
-          });
-          pp.forEach((p, i) => {
-            const next = pp[i + 1];
-            const prev = pp[i - 1];
-            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
-              return;
-            }
-            if (prev === void 0) {
-              if (next !== void 0 && next !== exports2.GLOBSTAR) {
-                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
-              } else {
-                pp[i] = twoStar;
-              }
-            } else if (next === void 0) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
-            } else if (next !== exports2.GLOBSTAR) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
-              pp[i + 1] = exports2.GLOBSTAR;
-            }
-          });
-          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
-          if (this.partial && filtered.length >= 1) {
-            const prefixes = [];
-            for (let i = 1; i <= filtered.length; i++) {
-              prefixes.push(filtered.slice(0, i).join("/"));
-            }
-            return "(?:" + prefixes.join("|") + ")";
-          }
-          return filtered.join("/");
-        }).join("|");
-        const [open, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
-        re = "^" + open + re + close + "$";
-        if (this.partial) {
-          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
         }
-        if (this.negate)
-          re = "^(?!" + re + ").+$";
-        try {
-          this.regexp = new RegExp(re, [...flags].join(""));
-        } catch (ex) {
-          this.regexp = false;
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path3 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path3;
+        this.opts.origin = origin;
+        this.opts.maxRedirections = 0;
+        this.opts.query = null;
+        if (statusCode === 303 && this.opts.method !== "HEAD") {
+          this.opts.method = "GET";
+          this.opts.body = null;
         }
-        return this.regexp;
       }
-      slashSplit(p) {
-        if (this.preserveMultipleSlashes) {
-          return p.split("/");
-        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
-          return ["", ...p.split(/\/+/)];
+      onData(chunk) {
+        if (this.location) {
         } else {
-          return p.split(/\/+/);
+          return this.handler.onData(chunk);
         }
       }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) {
-          return false;
-        }
-        if (this.empty) {
-          return f === "";
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
         }
-        if (f === "/" && partial) {
-          return true;
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
         }
-        const options = this.options;
-        if (this.isWindows) {
-          f = f.split("\\").join("/");
+      }
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
+      }
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].toString().toLowerCase() === "location") {
+          return headers[i + 1];
         }
-        const ff = this.slashSplit(f);
-        this.debug(this.pattern, "split", ff);
-        const set2 = this.set;
-        this.debug(this.pattern, "set", set2);
-        let filename = ff[ff.length - 1];
-        if (!filename) {
-          for (let i = ff.length - 2; !filename && i >= 0; i--) {
-            filename = ff[i];
+      }
+    }
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
+      }
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
+      }
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
+      }
+      return false;
+    }
+    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
+      const ret = [];
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
+            ret.push(headers[i], headers[i + 1]);
           }
         }
-        for (let i = 0; i < set2.length; i++) {
-          const pattern = set2[i];
-          let file = ff;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) {
-              return true;
-            }
-            return !this.negate;
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
         }
-        if (options.flipNegate) {
-          return false;
-        }
-        return this.negate;
-      }
-      static defaults(def) {
-        return exports2.minimatch.defaults(def).Minimatch;
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-    };
-    exports2.Minimatch = Minimatch;
-    var ast_js_2 = require_ast();
-    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
-      return ast_js_2.AST;
-    } });
-    var escape_js_2 = require_escape();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return escape_js_2.escape;
-    } });
-    var unescape_js_2 = require_unescape();
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return unescape_js_2.unescape;
-    } });
-    exports2.minimatch.AST = ast_js_1.AST;
-    exports2.minimatch.Minimatch = Minimatch;
-    exports2.minimatch.escape = escape_js_1.escape;
-    exports2.minimatch.unescape = unescape_js_1.unescape;
+      return ret;
+    }
+    module2.exports = RedirectHandler;
   }
 });
 
-// node_modules/lru-cache/dist/commonjs/index.js
-var require_commonjs21 = __commonJS({
-  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/interceptor/redirectInterceptor.js
+var require_redirectInterceptor = __commonJS({
+  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LRUCache = void 0;
-    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
-    var warned = /* @__PURE__ */ new Set();
-    var PROCESS = typeof process === "object" && !!process ? process : {};
-    var emitWarning = (msg, type2, code, fn) => {
-      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
-    };
-    var AC = globalThis.AbortController;
-    var AS = globalThis.AbortSignal;
-    if (typeof AC === "undefined") {
-      AS = class AbortSignal {
-        onabort;
-        _onabort = [];
-        reason;
-        aborted = false;
-        addEventListener(_2, fn) {
-          this._onabort.push(fn);
-        }
-      };
-      AC = class AbortController {
-        constructor() {
-          warnACPolyfill();
-        }
-        signal = new AS();
-        abort(reason) {
-          if (this.signal.aborted)
-            return;
-          this.signal.reason = reason;
-          this.signal.aborted = true;
-          for (const fn of this.signal._onabort) {
-            fn(reason);
+    var RedirectHandler = require_RedirectHandler();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
           }
-          this.signal.onabort?.(reason);
-        }
-      };
-      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
-      const warnACPolyfill = () => {
-        if (!printACPolyfillWarning)
-          return;
-        printACPolyfillWarning = false;
-        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
+        };
       };
     }
-    var shouldWarn = (code) => !warned.has(code);
-    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
-    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
-    var ZeroArray = class extends Array {
-      constructor(size) {
-        super(size);
-        this.fill(0);
-      }
-    };
-    var Stack = class _Stack {
-      heap;
-      length;
-      // private constructor
-      static #constructing = false;
-      static create(max) {
-        const HeapCls = getUintArray(max);
-        if (!HeapCls)
-          return [];
-        _Stack.#constructing = true;
-        const s = new _Stack(max, HeapCls);
-        _Stack.#constructing = false;
-        return s;
-      }
-      constructor(max, HeapCls) {
-        if (!_Stack.#constructing) {
-          throw new TypeError("instantiate Stack using Stack.create(n)");
-        }
-        this.heap = new HeapCls(max);
-        this.length = 0;
-      }
-      push(n) {
-        this.heap[this.length++] = n;
-      }
-      pop() {
-        return this.heap[--this.length];
-      }
-    };
-    var LRUCache = class _LRUCache {
-      // options that cannot be changed without disaster
-      #max;
-      #maxSize;
-      #dispose;
-      #onInsert;
-      #disposeAfter;
-      #fetchMethod;
-      #memoMethod;
-      /**
-       * {@link LRUCache.OptionsBase.ttl}
-       */
-      ttl;
-      /**
-       * {@link LRUCache.OptionsBase.ttlResolution}
-       */
-      ttlResolution;
-      /**
-       * {@link LRUCache.OptionsBase.ttlAutopurge}
-       */
-      ttlAutopurge;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnGet}
-       */
-      updateAgeOnGet;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnHas}
-       */
-      updateAgeOnHas;
-      /**
-       * {@link LRUCache.OptionsBase.allowStale}
-       */
-      allowStale;
-      /**
-       * {@link LRUCache.OptionsBase.noDisposeOnSet}
-       */
-      noDisposeOnSet;
-      /**
-       * {@link LRUCache.OptionsBase.noUpdateTTL}
-       */
-      noUpdateTTL;
-      /**
-       * {@link LRUCache.OptionsBase.maxEntrySize}
-       */
-      maxEntrySize;
-      /**
-       * {@link LRUCache.OptionsBase.sizeCalculation}
-       */
-      sizeCalculation;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
-       */
-      noDeleteOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
-       */
-      noDeleteOnStaleGet;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
-       */
-      allowStaleOnFetchAbort;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
-       */
-      allowStaleOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
-       */
-      ignoreFetchAbort;
-      // computed properties
-      #size;
-      #calculatedSize;
-      #keyMap;
-      #keyList;
-      #valList;
-      #next;
-      #prev;
-      #head;
-      #tail;
-      #free;
-      #disposed;
-      #sizes;
-      #starts;
-      #ttls;
-      #hasDispose;
-      #hasFetchMethod;
-      #hasDisposeAfter;
-      #hasOnInsert;
-      /**
-       * Do not call this method unless you need to inspect the
-       * inner workings of the cache.  If anything returned by this
-       * object is modified in any way, strange breakage may occur.
-       *
-       * These fields are private for a reason!
-       *
-       * @internal
-       */
-      static unsafeExposeInternals(c) {
-        return {
-          // properties
-          starts: c.#starts,
-          ttls: c.#ttls,
-          sizes: c.#sizes,
-          keyMap: c.#keyMap,
-          keyList: c.#keyList,
-          valList: c.#valList,
-          next: c.#next,
-          prev: c.#prev,
-          get head() {
-            return c.#head;
-          },
-          get tail() {
-            return c.#tail;
-          },
-          free: c.#free,
-          // methods
-          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
-          backgroundFetch: (k, index, options, context2) => c.#backgroundFetch(k, index, options, context2),
-          moveToTail: (index) => c.#moveToTail(index),
-          indexes: (options) => c.#indexes(options),
-          rindexes: (options) => c.#rindexes(options),
-          isStale: (index) => c.#isStale(index)
-        };
-      }
-      // Protected read-only members
-      /**
-       * {@link LRUCache.OptionsBase.max} (read-only)
-       */
-      get max() {
-        return this.#max;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.maxSize} (read-only)
-       */
-      get maxSize() {
-        return this.#maxSize;
-      }
-      /**
-       * The total computed size of items in the cache (read-only)
-       */
-      get calculatedSize() {
-        return this.#calculatedSize;
-      }
-      /**
-       * The number of items stored in the cache (read-only)
-       */
-      get size() {
-        return this.#size;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
-       */
-      get fetchMethod() {
-        return this.#fetchMethod;
-      }
-      get memoMethod() {
-        return this.#memoMethod;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.dispose} (read-only)
-       */
-      get dispose() {
-        return this.#dispose;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.onInsert} (read-only)
-       */
-      get onInsert() {
-        return this.#onInsert;
+    module2.exports = createRedirectInterceptor;
+  }
+});
+
+// node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwHLAcoBuAHJAbkByAG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAQDcAQtBACEQDMYBC0EOIRAMxQELQQ0hEAzEAQtBDyEQDMMBC0EQIRAMwgELQRMhEAzBAQtBFCEQDMABC0EVIRAMvwELQRYhEAy+AQtBFyEQDL0BC0EYIRAMvAELQRkhEAy7AQtBGiEQDLoBC0EbIRAMuQELQRwhEAy4AQtBCCEQDLcBC0EdIRAMtgELQSAhEAy1AQtBHyEQDLQBC0EHIRAMswELQSEhEAyyAQtBIiEQDLEBC0EeIRAMsAELQSMhEAyvAQtBEiEQDK4BC0ERIRAMrQELQSQhEAysAQtBJSEQDKsBC0EmIRAMqgELQSchEAypAQtBwwEhEAyoAQtBKSEQDKcBC0ErIRAMpgELQSwhEAylAQtBLSEQDKQBC0EuIRAMowELQS8hEAyiAQtBxAEhEAyhAQtBMCEQDKABC0E0IRAMnwELQQwhEAyeAQtBMSEQDJ0BC0EyIRAMnAELQTMhEAybAQtBOSEQDJoBC0E1IRAMmQELQcUBIRAMmAELQQshEAyXAQtBOiEQDJYBC0E2IRAMlQELQQohEAyUAQtBNyEQDJMBC0E4IRAMkgELQTwhEAyRAQtBOyEQDJABC0E9IRAMjwELQQkhEAyOAQtBKCEQDI0BC0E+IRAMjAELQT8hEAyLAQtBwAAhEAyKAQtBwQAhEAyJAQtBwgAhEAyIAQtBwwAhEAyHAQtBxAAhEAyGAQtBxQAhEAyFAQtBxgAhEAyEAQtBKiEQDIMBC0HHACEQDIIBC0HIACEQDIEBC0HJACEQDIABC0HKACEQDH8LQcsAIRAMfgtBzQAhEAx9C0HMACEQDHwLQc4AIRAMewtBzwAhEAx6C0HQACEQDHkLQdEAIRAMeAtB0gAhEAx3C0HTACEQDHYLQdQAIRAMdQtB1gAhEAx0C0HVACEQDHMLQQYhEAxyC0HXACEQDHELQQUhEAxwC0HYACEQDG8LQQQhEAxuC0HZACEQDG0LQdoAIRAMbAtB2wAhEAxrC0HcACEQDGoLQQMhEAxpC0HdACEQDGgLQd4AIRAMZwtB3wAhEAxmC0HhACEQDGULQeAAIRAMZAtB4gAhEAxjC0HjACEQDGILQQIhEAxhC0HkACEQDGALQeUAIRAMXwtB5gAhEAxeC0HnACEQDF0LQegAIRAMXAtB6QAhEAxbC0HqACEQDFoLQesAIRAMWQtB7AAhEAxYC0HtACEQDFcLQe4AIRAMVgtB7wAhEAxVC0HwACEQDFQLQfEAIRAMUwtB8gAhEAxSC0HzACEQDFELQfQAIRAMUAtB9QAhEAxPC0H2ACEQDE4LQfcAIRAMTQtB+AAhEAxMC0H5ACEQDEsLQfoAIRAMSgtB+wAhEAxJC0H8ACEQDEgLQf0AIRAMRwtB/gAhEAxGC0H/ACEQDEULQYABIRAMRAtBgQEhEAxDC0GCASEQDEILQYMBIRAMQQtBhAEhEAxAC0GFASEQDD8LQYYBIRAMPgtBhwEhEAw9C0GIASEQDDwLQYkBIRAMOwtBigEhEAw6C0GLASEQDDkLQYwBIRAMOAtBjQEhEAw3C0GOASEQDDYLQY8BIRAMNQtBkAEhEAw0C0GRASEQDDMLQZIBIRAMMgtBkwEhEAwxC0GUASEQDDALQZUBIRAMLwtBlgEhEAwuC0GXASEQDC0LQZgBIRAMLAtBmQEhEAwrC0GaASEQDCoLQZsBIRAMKQtBnAEhEAwoC0GdASEQDCcLQZ4BIRAMJgtBnwEhEAwlC0GgASEQDCQLQaEBIRAMIwtBogEhEAwiC0GjASEQDCELQaQBIRAMIAtBpQEhEAwfC0GmASEQDB4LQacBIRAMHQtBqAEhEAwcC0GpASEQDBsLQaoBIRAMGgtBqwEhEAwZC0GsASEQDBgLQa0BIRAMFwtBrgEhEAwWC0EBIRAMFQtBrwEhEAwUC0GwASEQDBMLQbEBIRAMEgtBswEhEAwRC0GyASEQDBALQbQBIRAMDwtBtQEhEAwOC0G2ASEQDA0LQbcBIRAMDAtBuAEhEAwLC0G5ASEQDAoLQboBIRAMCQtBuwEhEAwIC0HGASEQDAcLQbwBIRAMBgtBvQEhEAwFC0G+ASEQDAQLQb8BIRAMAwtBwAEhEAwCC0HCASEQDAELQcEBIRALA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
+  }
+});
+
+// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm3 = __commonJS({
+  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+  }
+});
+
+// node_modules/undici/lib/client.js
+var require_client3 = __commonJS({
+  "node_modules/undici/lib/client.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var net = require("net");
+    var http = require("http");
+    var { pipeline } = require("stream");
+    var util = require_util23();
+    var timers = require_timers3();
+    var Request = require_request5();
+    var DispatcherBase = require_dispatcher_base3();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      InvalidArgumentError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError,
+      ClientDestroyedError
+    } = require_errors5();
+    var buildConnector = require_connect3();
+    var {
+      kUrl,
+      kReset,
+      kServerName,
+      kClient,
+      kBusy,
+      kParser,
+      kConnect,
+      kBlocking,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kHTTPConnVersion,
+      // HTTP2
+      kHost,
+      kHTTP2Session,
+      kHTTP2SessionState,
+      kHTTP2BuildRequest,
+      kHTTP2CopyHeaders,
+      kHTTP1BuildRequest
+    } = require_symbols11();
+    var http2;
+    try {
+      http2 = require("http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
       }
+    } = http2;
+    var h2ExperimentalWarned = false;
+    var FastBuffer = Buffer[Symbol.species];
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var channels = {};
+    try {
+      const diagnosticsChannel = require("diagnostics_channel");
+      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
+      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
+      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
+      channels.connected = diagnosticsChannel.channel("undici:client:connected");
+    } catch {
+      channels.sendHeaders = { hasSubscribers: false };
+      channels.beforeConnect = { hasSubscribers: false };
+      channels.connectError = { hasSubscribers: false };
+      channels.connected = { hasSubscribers: false };
+    }
+    var Client = class extends DispatcherBase {
       /**
-       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
+       *
+       * @param {string|URL} url
+       * @param {import('../types/client').Client.Options} options
        */
-      get disposeAfter() {
-        return this.#disposeAfter;
-      }
-      constructor(options) {
-        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
-        if (max !== 0 && !isPosInt(max)) {
-          throw new TypeError("max option must be a nonnegative integer");
+      constructor(url, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        allowH2,
+        maxConcurrentStreams
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
         }
-        const UintArray = max ? getUintArray(max) : Array;
-        if (!UintArray) {
-          throw new Error("invalid max value: " + max);
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        this.#max = max;
-        this.#maxSize = maxSize;
-        this.maxEntrySize = maxEntrySize || this.#maxSize;
-        this.sizeCalculation = sizeCalculation;
-        if (this.sizeCalculation) {
-          if (!this.#maxSize && !this.maxEntrySize) {
-            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
-          }
-          if (typeof this.sizeCalculation !== "function") {
-            throw new TypeError("sizeCalculation set to non-function");
-          }
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
-          throw new TypeError("memoMethod must be a function if defined");
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        this.#memoMethod = memoMethod;
-        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
-          throw new TypeError("fetchMethod must be a function if specified");
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-        this.#fetchMethod = fetchMethod;
-        this.#hasFetchMethod = !!fetchMethod;
-        this.#keyMap = /* @__PURE__ */ new Map();
-        this.#keyList = new Array(max).fill(void 0);
-        this.#valList = new Array(max).fill(void 0);
-        this.#next = new UintArray(max);
-        this.#prev = new UintArray(max);
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free = Stack.create(max);
-        this.#size = 0;
-        this.#calculatedSize = 0;
-        if (typeof dispose === "function") {
-          this.#dispose = dispose;
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
         }
-        if (typeof onInsert === "function") {
-          this.#onInsert = onInsert;
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
         }
-        if (typeof disposeAfter === "function") {
-          this.#disposeAfter = disposeAfter;
-          this.#disposed = [];
-        } else {
-          this.#disposeAfter = void 0;
-          this.#disposed = void 0;
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
         }
-        this.#hasDispose = !!this.#dispose;
-        this.#hasOnInsert = !!this.#onInsert;
-        this.#hasDisposeAfter = !!this.#disposeAfter;
-        this.noDisposeOnSet = !!noDisposeOnSet;
-        this.noUpdateTTL = !!noUpdateTTL;
-        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
-        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
-        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
-        this.ignoreFetchAbort = !!ignoreFetchAbort;
-        if (this.maxEntrySize !== 0) {
-          if (this.#maxSize !== 0) {
-            if (!isPosInt(this.#maxSize)) {
-              throw new TypeError("maxSize must be a positive integer if specified");
-            }
-          }
-          if (!isPosInt(this.maxEntrySize)) {
-            throw new TypeError("maxEntrySize must be a positive integer if specified");
-          }
-          this.#initializeSizeTracking();
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
         }
-        this.allowStale = !!allowStale;
-        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
-        this.updateAgeOnGet = !!updateAgeOnGet;
-        this.updateAgeOnHas = !!updateAgeOnHas;
-        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
-        this.ttlAutopurge = !!ttlAutopurge;
-        this.ttl = ttl || 0;
-        if (this.ttl) {
-          if (!isPosInt(this.ttl)) {
-            throw new TypeError("ttl must be a positive integer if specified");
-          }
-          this.#initializeTTLTracking();
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
         }
-        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
-          throw new TypeError("At least one of max, maxSize, or ttl is required");
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
         }
-        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
-          const code = "LRU_CACHE_UNBOUNDED";
-          if (shouldWarn(code)) {
-            warned.add(code);
-            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
-            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
-          }
+        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        }
+        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        }
+        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+        }
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        }
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        }
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        }
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        }
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
         }
+        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
+        this[kUrl] = util.parseOrigin(url);
+        this[kConnector] = connect2;
+        this[kSocket] = null;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kHTTPConnVersion] = "h1";
+        this[kHTTP2Session] = null;
+        this[kHTTP2SessionState] = !allowH2 ? null : {
+          // streams: null, // Fixed queue of streams - For future support of `push`
+          openStreams: 0,
+          // Keep track of them to decide wether or not unref the session
+          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
+          // Max peerConcurrentStreams for a Node h2 server
+        };
+        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
       }
-      /**
-       * Return the number of ms left in the item's TTL. If item is not in cache,
-       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
-       */
-      getRemainingTTL(key) {
-        return this.#keyMap.has(key) ? Infinity : 0;
+      get pipelining() {
+        return this[kPipelining];
       }
-      #initializeTTLTracking() {
-        const ttls = new ZeroArray(this.#max);
-        const starts = new ZeroArray(this.#max);
-        this.#ttls = ttls;
-        this.#starts = starts;
-        this.#setItemTTL = (index, ttl, start = perf.now()) => {
-          starts[index] = ttl !== 0 ? start : 0;
-          ttls[index] = ttl;
-          if (ttl !== 0 && this.ttlAutopurge) {
-            const t = setTimeout(() => {
-              if (this.#isStale(index)) {
-                this.#delete(this.#keyList[index], "expire");
-              }
-            }, ttl + 1);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-        };
-        this.#updateItemAge = (index) => {
-          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
-        };
-        this.#statusTTL = (status, index) => {
-          if (ttls[index]) {
-            const ttl = ttls[index];
-            const start = starts[index];
-            if (!ttl || !start)
-              return;
-            status.ttl = ttl;
-            status.start = start;
-            status.now = cachedNow || getNow();
-            const age = status.now - start;
-            status.remainingTTL = ttl - age;
-          }
-        };
-        let cachedNow = 0;
-        const getNow = () => {
-          const n = perf.now();
-          if (this.ttlResolution > 0) {
-            cachedNow = n;
-            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-          return n;
-        };
-        this.getRemainingTTL = (key) => {
-          const index = this.#keyMap.get(key);
-          if (index === void 0) {
-            return 0;
-          }
-          const ttl = ttls[index];
-          const start = starts[index];
-          if (!ttl || !start) {
-            return Infinity;
-          }
-          const age = (cachedNow || getNow()) - start;
-          return ttl - age;
-        };
-        this.#isStale = (index) => {
-          const s = starts[index];
-          const t = ttls[index];
-          return !!t && !!s && (cachedNow || getNow()) - s > t;
-        };
+      set pipelining(value) {
+        this[kPipelining] = value;
+        resume(this, true);
       }
-      // conditionally set private methods related to TTL
-      #updateItemAge = () => {
-      };
-      #statusTTL = () => {
-      };
-      #setItemTTL = () => {
-      };
-      /* c8 ignore stop */
-      #isStale = () => false;
-      #initializeSizeTracking() {
-        const sizes = new ZeroArray(this.#max);
-        this.#calculatedSize = 0;
-        this.#sizes = sizes;
-        this.#removeItemSize = (index) => {
-          this.#calculatedSize -= sizes[index];
-          sizes[index] = 0;
-        };
-        this.#requireSize = (k, v, size, sizeCalculation) => {
-          if (this.#isBackgroundFetch(v)) {
-            return 0;
-          }
-          if (!isPosInt(size)) {
-            if (sizeCalculation) {
-              if (typeof sizeCalculation !== "function") {
-                throw new TypeError("sizeCalculation must be a function");
-              }
-              size = sizeCalculation(v, k);
-              if (!isPosInt(size)) {
-                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
-              }
-            } else {
-              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
-            }
-          }
-          return size;
-        };
-        this.#addItemSize = (index, size, status) => {
-          sizes[index] = size;
-          if (this.#maxSize) {
-            const maxSize = this.#maxSize - sizes[index];
-            while (this.#calculatedSize > maxSize) {
-              this.#evict(true);
-            }
-          }
-          this.#calculatedSize += sizes[index];
-          if (status) {
-            status.entrySize = size;
-            status.totalCalculatedSize = this.#calculatedSize;
-          }
-        };
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      #removeItemSize = (_i) => {
-      };
-      #addItemSize = (_i, _s, _st) => {
-      };
-      #requireSize = (_k, _v, size, sizeCalculation) => {
-        if (size || sizeCalculation) {
-          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
-        }
-        return 0;
-      };
-      *#indexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#tail; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#head) {
-              break;
-            } else {
-              i = this.#prev[i];
-            }
-          }
-        }
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      *#rindexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#head; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#tail) {
-              break;
-            } else {
-              i = this.#next[i];
-            }
-          }
-        }
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
       }
-      #isValidIndex(index) {
-        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
+      get [kConnected]() {
+        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      }
+      get [kBusy]() {
+        const socket = this[kSocket];
+        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
       }
-      /**
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from most recently used to least recently used.
-       */
-      *entries() {
-        for (const i of this.#indexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
-        }
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
       }
-      /**
-       * Inverse order version of {@link LRUCache.entries}
-       *
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from least recently used to most recently used.
-       */
-      *rentries() {
-        for (const i of this.#rindexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          process.nextTick(resume, this);
+        } else {
+          resume(this, true);
         }
-      }
-      /**
-       * Return a generator yielding the keys in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *keys() {
-        for (const i of this.#indexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-      /**
-       * Inverse order version of {@link LRUCache.keys}
-       *
-       * Return a generator yielding the keys in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rkeys() {
-        for (const i of this.#rindexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
+      async [kClose]() {
+        return new Promise((resolve2) => {
+          if (!this[kSize]) {
+            resolve2(null);
+          } else {
+            this[kClosedResolve] = resolve2;
           }
-        }
+        });
       }
-      /**
-       * Return a generator yielding the values in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *values() {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
+      async [kDestroy](err) {
+        return new Promise((resolve2) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            errorRequest2(this, request2, err);
           }
-        }
-      }
-      /**
-       * Inverse order version of {@link LRUCache.values}
-       *
-       * Return a generator yielding the values in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rvalues() {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
+            }
+            resolve2();
+          };
+          if (this[kHTTP2Session] != null) {
+            util.destroy(this[kHTTP2Session], err);
+            this[kHTTP2Session] = null;
+            this[kHTTP2SessionState] = null;
           }
-        }
-      }
-      /**
-       * Iterating over the cache itself yields the same results as
-       * {@link LRUCache.entries}
-       */
-      [Symbol.iterator]() {
-        return this.entries();
-      }
-      /**
-       * A String value that is used in the creation of the default string
-       * description of an object. Called by the built-in method
-       * `Object.prototype.toString`.
-       */
-      [Symbol.toStringTag] = "LRUCache";
-      /**
-       * Find a value for which the supplied fn method returns a truthy value,
-       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
-       */
-      find(fn, getOptions = {}) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          if (fn(value, this.#keyList[i], this)) {
-            return this.get(this.#keyList[i], getOptions);
+          if (!this[kSocket]) {
+            queueMicrotask(callback);
+          } else {
+            util.destroy(this[kSocket].on("close", callback), err);
           }
-        }
+          resume(this);
+        });
       }
-      /**
-       * Call the supplied function on each item in the cache, in order from most
-       * recently used to least recently used.
-       *
-       * `fn` is called as `fn(value, key, cache)`.
-       *
-       * If `thisp` is provided, function will be called in the `this`-context of
-       * the provided object, or the cache if no `thisp` object is provided.
-       *
-       * Does not update age or recenty of use, or iterate over stale values.
-       */
-      forEach(fn, thisp = this) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
-        }
+    };
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      onError(this[kClient], err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+      if (id === 0) {
+        this[kSocket][kError] = err;
+        onError(this[kClient], err);
       }
-      /**
-       * The same as {@link LRUCache.forEach} but items are iterated over in
-       * reverse order.  (ie, less recently used items are iterated over first.)
-       */
-      rforEach(fn, thisp = this) {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
+    }
+    function onHttp2SessionEnd() {
+      util.destroy(this, new SocketError("other side closed"));
+      util.destroy(this[kSocket], new SocketError("other side closed"));
+    }
+    function onHTTP2GoAway(code) {
+      const client = this[kClient];
+      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
+      client[kSocket] = null;
+      client[kHTTP2Session] = null;
+      if (client.destroyed) {
+        assert(this[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(this, request2, err);
         }
+      } else if (client[kRunning] > 0) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
       }
-      /**
-       * Delete any stale entries. Returns true if anything was removed,
-       * false otherwise.
-       */
-      purgeStale() {
-        let deleted = false;
-        for (const i of this.#rindexes({ allowStale: true })) {
-          if (this.#isStale(i)) {
-            this.#delete(this.#keyList[i], "expire");
-            deleted = true;
-          }
-        }
-        return deleted;
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit(
+        "disconnect",
+        client[kUrl],
+        [client],
+        err
+      );
+      resume(client);
+    }
+    var constants = require_constants21();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var EMPTY_BUF = Buffer.alloc(0);
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm3() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm3(), "base64"));
+      } catch (e) {
+        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm3(), "base64"));
       }
-      /**
-       * Get the extended info about a given entry, to get its value, size, and
-       * TTL info simultaneously. Returns `undefined` if the key is not present.
-       *
-       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
-       * serialization, the `start` value is always the current timestamp, and the
-       * `ttl` is a calculated remaining time to live (negative if expired).
-       *
-       * Always returns stale values, if their info is found in the cache, so be
-       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
-       * if relevant.
-       */
-      info(key) {
-        const i = this.#keyMap.get(key);
-        if (i === void 0)
-          return void 0;
-        const v = this.#valList[i];
-        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-        if (value === void 0)
-          return void 0;
-        const entry = { value };
-        if (this.#ttls && this.#starts) {
-          const ttl = this.#ttls[i];
-          const start = this.#starts[i];
-          if (ttl && start) {
-            const remain = ttl - (perf.now() - start);
-            entry.ttl = remain;
-            entry.start = Date.now();
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert.strictEqual(currentParser.ptr, p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert.strictEqual(currentParser.ptr, p);
+            return currentParser.onMessageComplete() || 0;
           }
+          /* eslint-enable camelcase */
         }
-        if (this.#sizes) {
-          entry.size = this.#sizes[i];
-        }
-        return entry;
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var TIMEOUT_HEADERS = 1;
+    var TIMEOUT_BODY = 2;
+    var TIMEOUT_IDLE = 3;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
       }
-      /**
-       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
-       * passed to {@link LRUCache#load}.
-       *
-       * The `start` fields are calculated relative to a portable `Date.now()`
-       * timestamp, even if `performance.now()` is available.
-       *
-       * Stale entries are always included in the `dump`, even if
-       * {@link LRUCache.OptionsBase.allowStale} is false.
-       *
-       * Note: this returns an actual array, not a generator, so it can be more
-       * easily passed around.
-       */
-      dump() {
-        const arr = [];
-        for (const i of this.#indexes({ allowStale: true })) {
-          const key = this.#keyList[i];
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0 || key === void 0)
-            continue;
-          const entry = { value };
-          if (this.#ttls && this.#starts) {
-            entry.ttl = this.#ttls[i];
-            const age = perf.now() - this.#starts[i];
-            entry.start = Math.floor(Date.now() - age);
-          }
-          if (this.#sizes) {
-            entry.size = this.#sizes[i];
+      setTimeout(value, type2) {
+        this.timeoutType = type2;
+        if (value !== this.timeoutValue) {
+          timers.clearTimeout(this.timeout);
+          if (value) {
+            this.timeout = timers.setTimeout(onParserTimeout, value, this);
+            if (this.timeout.unref) {
+              this.timeout.unref();
+            }
+          } else {
+            this.timeout = null;
           }
-          arr.unshift([key, entry]);
-        }
-        return arr;
-      }
-      /**
-       * Reset the cache and load in the items in entries in the order listed.
-       *
-       * The shape of the resulting cache may be different if the same options are
-       * not used in both caches.
-       *
-       * The `start` fields are assumed to be calculated relative to a portable
-       * `Date.now()` timestamp, even if `performance.now()` is available.
-       */
-      load(arr) {
-        this.clear();
-        for (const [key, entry] of arr) {
-          if (entry.start) {
-            const age = Date.now() - entry.start;
-            entry.start = perf.now() - age;
+          this.timeoutValue = value;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
-          this.set(key, entry.value, entry);
         }
       }
-      /**
-       * Add a value to the cache.
-       *
-       * Note: if `undefined` is specified as a value, this is an alias for
-       * {@link LRUCache#delete}
-       *
-       * Fields on the {@link LRUCache.SetOptions} options param will override
-       * their corresponding values in the constructor options for the scope
-       * of this single `set()` operation.
-       *
-       * If `start` is provided, then that will set the effective start
-       * time for the TTL calculation. Note that this must be a previous
-       * value of `performance.now()` if supported, or a previous value of
-       * `Date.now()` if not.
-       *
-       * Options object may also include `size`, which will prevent
-       * calling the `sizeCalculation` function and just use the specified
-       * number if it is a positive integer, and `noDisposeOnSet` which
-       * will prevent calling a `dispose` function in the case of
-       * overwrites.
-       *
-       * If the `size` (or return value of `sizeCalculation`) for a given
-       * entry is greater than `maxEntrySize`, then the item will not be
-       * added to the cache.
-       *
-       * Will update the recency of the entry.
-       *
-       * If the value is `undefined`, then this is an alias for
-       * `cache.delete(key)`. `undefined` is never stored in the cache.
-       */
-      set(k, v, setOptions = {}) {
-        if (v === void 0) {
-          this.delete(k);
-          return this;
-        }
-        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
-        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
-        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
-        if (this.maxEntrySize && size > this.maxEntrySize) {
-          if (status) {
-            status.set = "miss";
-            status.maxEntrySizeExceeded = true;
-          }
-          this.#delete(k, "set");
-          return this;
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
         }
-        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
-        if (index === void 0) {
-          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
-          this.#keyList[index] = k;
-          this.#valList[index] = v;
-          this.#keyMap.set(k, index);
-          this.#next[this.#tail] = index;
-          this.#prev[index] = this.#tail;
-          this.#tail = index;
-          this.#size++;
-          this.#addItemSize(index, size, status);
-          if (status)
-            status.set = "add";
-          noUpdateTTL = false;
-          if (this.#hasOnInsert) {
-            this.#onInsert?.(v, k, "add");
-          }
-        } else {
-          this.#moveToTail(index);
-          const oldVal = this.#valList[index];
-          if (v !== oldVal) {
-            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
-              oldVal.__abortController.abort(new Error("replaced"));
-              const { __staleWhileFetching: s } = oldVal;
-              if (s !== void 0 && !noDisposeOnSet) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(s, k, "set");
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([s, k, "set"]);
-                }
-              }
-            } else if (!noDisposeOnSet) {
-              if (this.#hasDispose) {
-                this.#dispose?.(oldVal, k, "set");
-              }
-              if (this.#hasDisposeAfter) {
-                this.#disposed?.push([oldVal, k, "set"]);
-              }
-            }
-            this.#removeItemSize(index);
-            this.#addItemSize(index, size, status);
-            this.#valList[index] = v;
-            if (status) {
-              status.set = "replace";
-              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
-              if (oldValue !== void 0)
-                status.oldValue = oldValue;
-            }
-          } else if (status) {
-            status.set = "update";
-          }
-          if (this.#hasOnInsert) {
-            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
         }
-        if (ttl !== 0 && !this.#ttls) {
-          this.#initializeTTLTracking();
-        }
-        if (this.#ttls) {
-          if (!noUpdateTTL) {
-            this.#setItemTTL(index, ttl, start);
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
+      }
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
           }
-          if (status)
-            this.#statusTTL(status, index);
+          this.execute(chunk);
         }
-        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+      }
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
           }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
         }
-        return this;
-      }
-      /**
-       * Evict the least recently used item, returning its value or
-       * `undefined` if cache is empty.
-       */
-      pop() {
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
         try {
-          while (this.#size) {
-            const val = this.#valList[this.#head];
-            this.#evict(true);
-            if (this.#isBackgroundFetch(val)) {
-              if (val.__staleWhileFetching) {
-                return val.__staleWhileFetching;
-              }
-            } else if (val !== void 0) {
-              return val;
-            }
+          let ret;
+          try {
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
+          } catch (err) {
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
           }
-        } finally {
-          if (this.#hasDisposeAfter && this.#disposed) {
-            const dt = this.#disposed;
-            let task;
-            while (task = dt?.shift()) {
-              this.#disposeAfter?.(...task);
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
             }
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
           }
+        } catch (err) {
+          util.destroy(socket, err);
         }
       }
-      #evict(free) {
-        const head = this.#head;
-        const k = this.#keyList[head];
-        const v = this.#valList[head];
-        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
-          v.__abortController.abort(new Error("evicted"));
-        } else if (this.#hasDispose || this.#hasDisposeAfter) {
-          if (this.#hasDispose) {
-            this.#dispose?.(v, k, "evict");
-          }
-          if (this.#hasDisposeAfter) {
-            this.#disposed?.push([v, k, "evict"]);
-          }
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
+      }
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        this.#removeItemSize(head);
-        if (free) {
-          this.#keyList[head] = void 0;
-          this.#valList[head] = void 0;
-          this.#free.push(head);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-        if (this.#size === 1) {
-          this.#head = this.#tail = 0;
-          this.#free.length = 0;
+      }
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
         } else {
-          this.#head = this.#next[head];
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
-        this.#keyMap.delete(k);
-        this.#size--;
-        return head;
+        this.trackHeader(buf.length);
       }
-      /**
-       * Check if a key is in the cache, without updating the recency of use.
-       * Will return false if the item is stale, even though it is technically
-       * in the cache.
-       *
-       * Check if a key is in the cache, without updating the recency of
-       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
-       * to `true` in either the options or the constructor.
-       *
-       * Will return `false` if the item is stale, even though it is technically in
-       * the cache. The difference can be determined (if it matters) by using a
-       * `status` argument, and inspecting the `has` field.
-       *
-       * Will not update item age unless
-       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
-       */
-      has(k, hasOptions = {}) {
-        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
-            return false;
-          }
-          if (!this.#isStale(index)) {
-            if (updateAgeOnHas) {
-              this.#updateItemAge(index);
-            }
-            if (status) {
-              status.has = "hit";
-              this.#statusTTL(status, index);
-            }
-            return true;
-          } else if (status) {
-            status.has = "stale";
-            this.#statusTTL(status, index);
-          }
-        } else if (status) {
-          status.has = "miss";
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
         }
-        return false;
-      }
-      /**
-       * Like {@link LRUCache#get} but doesn't update recency or delete stale
-       * items.
-       *
-       * Returns `undefined` if the item is stale, unless
-       * {@link LRUCache.OptionsBase.allowStale} is set.
-       */
-      peek(k, peekOptions = {}) {
-        const { allowStale = this.allowStale } = peekOptions;
-        const index = this.#keyMap.get(k);
-        if (index === void 0 || !allowStale && this.#isStale(index)) {
-          return;
+        const key = this.headers[len - 2];
+        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
+          this.keepAlive += buf.toString();
+        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
+          this.connection += buf.toString();
+        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
+          this.contentLength += buf.toString();
         }
-        const v = this.#valList[index];
-        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
+        this.trackHeader(buf.length);
       }
-      #backgroundFetch(k, index, options, context2) {
-        const v = index === void 0 ? void 0 : this.#valList[index];
-        if (this.#isBackgroundFetch(v)) {
-          return v;
-        }
-        const ac = new AC();
-        const { signal } = options;
-        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
-          signal: ac.signal
-        });
-        const fetchOpts = {
-          signal: ac.signal,
-          options,
-          context: context2
-        };
-        const cb = (v2, updateCache = false) => {
-          const { aborted } = ac.signal;
-          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
-          if (options.status) {
-            if (aborted && !updateCache) {
-              options.status.fetchAborted = true;
-              options.status.fetchError = ac.signal.reason;
-              if (ignoreAbort)
-                options.status.fetchAbortIgnored = true;
-            } else {
-              options.status.fetchResolved = true;
-            }
-          }
-          if (aborted && !ignoreAbort && !updateCache) {
-            return fetchFail(ac.signal.reason);
-          }
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            if (v2 === void 0) {
-              if (bf2.__staleWhileFetching) {
-                this.#valList[index] = bf2.__staleWhileFetching;
-              } else {
-                this.#delete(k, "fetch");
-              }
-            } else {
-              if (options.status)
-                options.status.fetchUpdated = true;
-              this.set(k, v2, fetchOpts.options);
-            }
-          }
-          return v2;
-        };
-        const eb = (er) => {
-          if (options.status) {
-            options.status.fetchRejected = true;
-            options.status.fetchError = er;
-          }
-          return fetchFail(er);
-        };
-        const fetchFail = (er) => {
-          const { aborted } = ac.signal;
-          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
-          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
-          const noDelete = allowStale || options.noDeleteOnFetchRejection;
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            const del = !noDelete || bf2.__staleWhileFetching === void 0;
-            if (del) {
-              this.#delete(k, "fetch");
-            } else if (!allowStaleAborted) {
-              this.#valList[index] = bf2.__staleWhileFetching;
-            }
-          }
-          if (allowStale) {
-            if (options.status && bf2.__staleWhileFetching !== void 0) {
-              options.status.returnedStale = true;
-            }
-            return bf2.__staleWhileFetching;
-          } else if (bf2.__returned === bf2) {
-            throw er;
-          }
-        };
-        const pcall = (res, rej) => {
-          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
-          if (fmp && fmp instanceof Promise) {
-            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
-          }
-          ac.signal.addEventListener("abort", () => {
-            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
-              res(void 0);
-              if (options.allowStaleOnFetchAbort) {
-                res = (v2) => cb(v2, true);
-              }
-            }
-          });
-        };
-        if (options.status)
-          options.status.fetchDispatched = true;
-        const p = new Promise(pcall).then(cb, eb);
-        const bf = Object.assign(p, {
-          __abortController: ac,
-          __staleWhileFetching: v,
-          __returned: void 0
-        });
-        if (index === void 0) {
-          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
-          index = this.#keyMap.get(k);
-        } else {
-          this.#valList[index] = bf;
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
         }
-        return bf;
       }
-      #isBackgroundFetch(p) {
-        if (!this.#hasFetchMethod)
-          return false;
-        const b = p;
-        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(!socket.destroyed);
+        assert(socket === client[kSocket]);
+        assert(!this.paused);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
+        client[kSocket] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+        resume(client);
       }
-      async fetch(k, fetchOptions = {}) {
-        const {
-          // get options
-          allowStale = this.allowStale,
-          updateAgeOnGet = this.updateAgeOnGet,
-          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
-          // set options
-          ttl = this.ttl,
-          noDisposeOnSet = this.noDisposeOnSet,
-          size = 0,
-          sizeCalculation = this.sizeCalculation,
-          noUpdateTTL = this.noUpdateTTL,
-          // fetch exclusive options
-          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
-          ignoreFetchAbort = this.ignoreFetchAbort,
-          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
-          context: context2,
-          forceRefresh = false,
-          status,
-          signal
-        } = fetchOptions;
-        if (!this.#hasFetchMethod) {
-          if (status)
-            status.fetch = "get";
-          return this.get(k, {
-            allowStale,
-            updateAgeOnGet,
-            noDeleteOnStaleGet,
-            status
-          });
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        const options = {
-          allowStale,
-          updateAgeOnGet,
-          noDeleteOnStaleGet,
-          ttl,
-          noDisposeOnSet,
-          size,
-          sizeCalculation,
-          noUpdateTTL,
-          noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection,
-          allowStaleOnFetchAbort,
-          ignoreFetchAbort,
-          status,
-          signal
-        };
-        let index = this.#keyMap.get(k);
-        if (index === void 0) {
-          if (status)
-            status.fetch = "miss";
-          const p = this.#backgroundFetch(k, index, options, context2);
-          return p.__returned = p;
-        } else {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            const stale = allowStale && v.__staleWhileFetching !== void 0;
-            if (status) {
-              status.fetch = "inflight";
-              if (stale)
-                status.returnedStale = true;
-            }
-            return stale ? v.__staleWhileFetching : v.__returned = v;
-          }
-          const isStale = this.#isStale(index);
-          if (!forceRefresh && !isStale) {
-            if (status)
-              status.fetch = "hit";
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            if (status)
-              this.#statusTTL(status, index);
-            return v;
-          }
-          const p = this.#backgroundFetch(k, index, options, context2);
-          const hasStale = p.__staleWhileFetching !== void 0;
-          const staleVal = hasStale && allowStale;
-          if (status) {
-            status.fetch = isStale ? "stale" : "refresh";
-            if (staleVal && isStale)
-              status.returnedStale = true;
-          }
-          return staleVal ? p.__staleWhileFetching : p.__returned = p;
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
         }
-      }
-      async forceFetch(k, fetchOptions = {}) {
-        const v = await this.fetch(k, fetchOptions);
-        if (v === void 0)
-          throw new Error("fetch() returned undefined");
-        return v;
-      }
-      memo(k, memoOptions = {}) {
-        const memoMethod = this.#memoMethod;
-        if (!memoMethod) {
-          throw new Error("no memoMethod provided to constructor");
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
         }
-        const { context: context2, forceRefresh, ...options } = memoOptions;
-        const v = this.get(k, options);
-        if (!forceRefresh && v !== void 0)
-          return v;
-        const vv = memoMethod(k, v, {
-          options,
-          context: context2
-        });
-        this.set(k, vv, options);
-        return vv;
-      }
-      /**
-       * Return a value from the cache. Will update the recency of the cache
-       * entry found.
-       *
-       * If the key is not found, get() will return `undefined`.
-       */
-      get(k, getOptions = {}) {
-        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const value = this.#valList[index];
-          const fetching = this.#isBackgroundFetch(value);
-          if (status)
-            this.#statusTTL(status, index);
-          if (this.#isStale(index)) {
-            if (status)
-              status.get = "stale";
-            if (!fetching) {
-              if (!noDeleteOnStaleGet) {
-                this.#delete(k, "expire");
-              }
-              if (status && allowStale)
-                status.returnedStale = true;
-              return allowStale ? value : void 0;
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
+        }
+        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
+            );
+            if (timeout <= 0) {
+              socket[kReset] = true;
             } else {
-              if (status && allowStale && value.__staleWhileFetching !== void 0) {
-                status.returnedStale = true;
-              }
-              return allowStale ? value.__staleWhileFetching : void 0;
+              client[kKeepAliveTimeoutValue] = timeout;
             }
           } else {
-            if (status)
-              status.get = "hit";
-            if (fetching) {
-              return value.__staleWhileFetching;
-            }
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            return value;
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
           }
-        } else if (status) {
-          status.get = "miss";
+        } else {
+          socket[kReset] = true;
         }
-      }
-      #connect(p, n) {
-        this.#prev[n] = p;
-        this.#next[p] = n;
-      }
-      #moveToTail(index) {
-        if (index !== this.#tail) {
-          if (index === this.#head) {
-            this.#head = this.#next[index];
-          } else {
-            this.#connect(this.#prev[index], this.#next[index]);
-          }
-          this.#connect(this.#tail, index);
-          this.#tail = index;
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
         }
+        if (request2.method === "HEAD") {
+          return 1;
+        }
+        if (statusCode < 200) {
+          return 1;
+        }
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          resume(client);
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
       }
-      /**
-       * Deletes a key out of the cache.
-       *
-       * Returns true if the key was deleted, false otherwise.
-       */
-      delete(k) {
-        return this.#delete(k, "delete");
-      }
-      #delete(k, reason) {
-        let deleted = false;
-        if (this.#size !== 0) {
-          const index = this.#keyMap.get(k);
-          if (index !== void 0) {
-            deleted = true;
-            if (this.#size === 1) {
-              this.#clear(reason);
-            } else {
-              this.#removeItemSize(index);
-              const v = this.#valList[index];
-              if (this.#isBackgroundFetch(v)) {
-                v.__abortController.abort(new Error("deleted"));
-              } else if (this.#hasDispose || this.#hasDisposeAfter) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(v, k, reason);
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([v, k, reason]);
-                }
-              }
-              this.#keyMap.delete(k);
-              this.#keyList[index] = void 0;
-              this.#valList[index] = void 0;
-              if (index === this.#tail) {
-                this.#tail = this.#prev[index];
-              } else if (index === this.#head) {
-                this.#head = this.#next[index];
-              } else {
-                const pi = this.#prev[index];
-                this.#next[pi] = this.#next[index];
-                const ni = this.#next[index];
-                this.#prev[ni] = this.#prev[index];
-              }
-              this.#size--;
-              this.#free.push(index);
-            }
-          }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
         }
-        if (this.#hasDisposeAfter && this.#disposed?.length) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
           }
         }
-        return deleted;
-      }
-      /**
-       * Clear the cache entirely, throwing away all values.
-       */
-      clear() {
-        return this.#clear("delete");
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
+        }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
+        }
       }
-      #clear(reason) {
-        for (const index of this.#rindexes({ allowStale: true })) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            v.__abortController.abort(new Error("deleted"));
-          } else {
-            const k = this.#keyList[index];
-            if (this.#hasDispose) {
-              this.#dispose?.(v, k, reason);
-            }
-            if (this.#hasDisposeAfter) {
-              this.#disposed?.push([v, k, reason]);
-            }
-          }
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
         }
-        this.#keyMap.clear();
-        this.#valList.fill(void 0);
-        this.#keyList.fill(void 0);
-        if (this.#ttls && this.#starts) {
-          this.#ttls.fill(0);
-          this.#starts.fill(0);
+        if (upgrade) {
+          return;
         }
-        if (this.#sizes) {
-          this.#sizes.fill(0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(statusCode >= 100);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        assert(this.headers.length % 2 === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
         }
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free.length = 0;
-        this.#calculatedSize = 0;
-        this.#size = 0;
-        if (this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
-          }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert.strictEqual(client[kRunning], 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] === 1) {
+          setImmediate(resume, client);
+        } else {
+          resume(client);
         }
       }
     };
-    exports2.LRUCache = LRUCache;
-  }
-});
-
-// node_modules/minipass/dist/commonjs/index.js
-var require_commonjs22 = __commonJS({
-  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
-    var proc = typeof process === "object" && process ? process : {
-      stdout: null,
-      stderr: null
-    };
-    var node_events_1 = require("node:events");
-    var node_stream_1 = __importDefault2(require("node:stream"));
-    var node_string_decoder_1 = require("node:string_decoder");
-    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
-    exports2.isStream = isStream;
-    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
-    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
-    exports2.isReadable = isReadable;
-    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
-    exports2.isWritable = isWritable;
-    var EOF = /* @__PURE__ */ Symbol("EOF");
-    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
-    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
-    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
-    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
-    var CLOSED = /* @__PURE__ */ Symbol("closed");
-    var READ = /* @__PURE__ */ Symbol("read");
-    var FLUSH = /* @__PURE__ */ Symbol("flush");
-    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
-    var ENCODING = /* @__PURE__ */ Symbol("encoding");
-    var DECODER = /* @__PURE__ */ Symbol("decoder");
-    var FLOWING = /* @__PURE__ */ Symbol("flowing");
-    var PAUSED = /* @__PURE__ */ Symbol("paused");
-    var RESUME = /* @__PURE__ */ Symbol("resume");
-    var BUFFER = /* @__PURE__ */ Symbol("buffer");
-    var PIPES = /* @__PURE__ */ Symbol("pipes");
-    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
-    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
-    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
-    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
-    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
-    var ERROR = /* @__PURE__ */ Symbol("error");
-    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
-    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
-    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
-    var ASYNC = /* @__PURE__ */ Symbol("async");
-    var ABORT = /* @__PURE__ */ Symbol("abort");
-    var ABORTED = /* @__PURE__ */ Symbol("aborted");
-    var SIGNAL = /* @__PURE__ */ Symbol("signal");
-    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
-    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
-    var defer = (fn) => Promise.resolve().then(fn);
-    var nodefer = (fn) => fn();
-    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
-    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
-    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
-    var Pipe = class {
-      src;
-      dest;
-      opts;
-      ondrain;
-      constructor(src, dest, opts) {
-        this.src = src;
-        this.dest = dest;
-        this.opts = opts;
-        this.ondrain = () => src[RESUME]();
-        this.dest.on("drain", this.ondrain);
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client } = parser;
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!parser.paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!parser.paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_IDLE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-      unpipe() {
-        this.dest.removeListener("drain", this.ondrain);
+    }
+    function onSocketReadable() {
+      const { [kParser]: parser } = this;
+      if (parser) {
+        parser.readMore();
       }
-      // only here for the prototype
-      /* c8 ignore start */
-      proxyErrors(_er) {
+    }
+    function onSocketError(err) {
+      const { [kClient]: client, [kParser]: parser } = this;
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
       }
-      /* c8 ignore stop */
-      end() {
-        this.unpipe();
-        if (this.opts.end)
-          this.dest.end();
+      this[kError] = err;
+      onError(this[kClient], err);
+    }
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
+        }
+        assert(client[kSize] === 0);
       }
-    };
-    var PipeProxyErrors = class extends Pipe {
-      unpipe() {
-        this.src.removeListener("error", this.proxyErrors);
-        super.unpipe();
+    }
+    function onSocketEnd() {
+      const { [kParser]: parser, [kClient]: client } = this;
+      if (client[kHTTPConnVersion] !== "h2") {
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
       }
-      constructor(src, dest, opts) {
-        super(src, dest, opts);
-        this.proxyErrors = (er) => dest.emit("error", er);
-        src.on("error", this.proxyErrors);
+      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+    }
+    function onSocketClose() {
+      const { [kClient]: client, [kParser]: parser } = this;
+      if (client[kHTTPConnVersion] === "h1" && parser) {
+        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+        }
+        this[kParser].destroy();
+        this[kParser] = null;
       }
-    };
-    var isObjectModeOptions = (o) => !!o.objectMode;
-    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
-    var Minipass = class extends node_events_1.EventEmitter {
-      [FLOWING] = false;
-      [PAUSED] = false;
-      [PIPES] = [];
-      [BUFFER] = [];
-      [OBJECTMODE];
-      [ENCODING];
-      [ASYNC];
-      [DECODER];
-      [EOF] = false;
-      [EMITTED_END] = false;
-      [EMITTING_END] = false;
-      [CLOSED] = false;
-      [EMITTED_ERROR] = null;
-      [BUFFERLENGTH] = 0;
-      [DESTROYED] = false;
-      [SIGNAL];
-      [ABORTED] = false;
-      [DATALISTENERS] = 0;
-      [DISCARDED] = false;
-      /**
-       * true if the stream can be written
-       */
-      writable = true;
-      /**
-       * true if the stream can be read
-       */
-      readable = true;
-      /**
-       * If `RType` is Buffer, then options do not need to be provided.
-       * Otherwise, an options object must be provided to specify either
-       * {@link Minipass.SharedOptions.objectMode} or
-       * {@link Minipass.SharedOptions.encoding}, as appropriate.
-       */
-      constructor(...args) {
-        const options = args[0] || {};
-        super();
-        if (options.objectMode && typeof options.encoding === "string") {
-          throw new TypeError("Encoding and objectMode may not be used together");
+      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+      client[kSocket] = null;
+      if (client.destroyed) {
+        assert(client[kPending] === 0);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          errorRequest2(client, request2, err);
+        }
+      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        errorRequest2(client, request2, err);
+      }
+      client[kPendingIdx] = client[kRunningIdx];
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      resume(client);
+    }
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kSocket]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
+      }
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
+      }
+      try {
+        const socket = await new Promise((resolve2, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve2(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", () => {
+          }), new ClientDestroyedError());
+          return;
+        }
+        client[kConnecting] = false;
+        assert(socket);
+        const isH2 = socket.alpnProtocol === "h2";
+        if (isH2) {
+          if (!h2ExperimentalWarned) {
+            h2ExperimentalWarned = true;
+            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+              code: "UNDICI-H2"
+            });
+          }
+          const session = http2.connect(client[kUrl], {
+            createConnection: () => socket,
+            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          });
+          client[kHTTPConnVersion] = "h2";
+          session[kClient] = client;
+          session[kSocket] = socket;
+          session.on("error", onHttp2SessionError);
+          session.on("frameError", onHttp2FrameError);
+          session.on("end", onHttp2SessionEnd);
+          session.on("goaway", onHTTP2GoAway);
+          session.on("close", onSocketClose);
+          session.unref();
+          client[kHTTP2Session] = session;
+          socket[kHTTP2Session] = session;
+        } else {
+          if (!llhttpInstance) {
+            llhttpInstance = await llhttpPromise;
+            llhttpPromise = null;
+          }
+          socket[kNoRef] = false;
+          socket[kWriting] = false;
+          socket[kReset] = false;
+          socket[kBlocking] = false;
+          socket[kParser] = new Parser(client, socket, llhttpInstance);
+        }
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
+        client[kSocket] = socket;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-        if (isObjectModeOptions(options)) {
-          this[OBJECTMODE] = true;
-          this[ENCODING] = null;
-        } else if (isEncodingOptions(options)) {
-          this[ENCODING] = options.encoding;
-          this[OBJECTMODE] = false;
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
+        }
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
+        }
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            errorRequest2(client, request2, err);
+          }
         } else {
-          this[OBJECTMODE] = false;
-          this[ENCODING] = null;
+          onError(client, err);
         }
-        this[ASYNC] = !!options.async;
-        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
-        if (options && options.debugExposeBuffer === true) {
-          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
+        client.emit("connectionError", client[kUrl], [client], err);
+      }
+      resume(client);
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
+      }
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
+      }
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        if (options && options.debugExposePipes === true) {
-          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-        const { signal } = options;
-        if (signal) {
-          this[SIGNAL] = signal;
-          if (signal.aborted) {
-            this[ABORT]();
+        const socket = client[kSocket];
+        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
+          if (client[kSize] === 0) {
+            if (!socket[kNoRef] && socket.unref) {
+              socket.unref();
+              socket[kNoRef] = true;
+            }
+          } else if (socket[kNoRef] && socket.ref) {
+            socket.ref();
+            socket[kNoRef] = false;
+          }
+          if (client[kSize] === 0) {
+            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
+              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+            }
+          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+              const request3 = client[kQueue][client[kRunningIdx]];
+              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
+              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            }
+          }
+        }
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            process.nextTick(emitDrain, client);
           } else {
-            signal.addEventListener("abort", () => this[ABORT]());
+            emitDrain(client);
+          }
+          continue;
+        }
+        if (client[kPending] === 0) {
+          return;
+        }
+        if (client[kRunning] >= (client[kPipelining] || 1)) {
+          return;
+        }
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
+          }
+          client[kServerName] = request2.servername;
+          if (socket && socket.servername !== request2.servername) {
+            util.destroy(socket, new InformationalError("servername changed"));
+            return;
           }
         }
+        if (client[kConnecting]) {
+          return;
+        }
+        if (!socket && !client[kHTTP2Session]) {
+          connect(client);
+          return;
+        }
+        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+          return;
+        }
+        if (client[kRunning] > 0 && !request2.idempotent) {
+          return;
+        }
+        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+          return;
+        }
+        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
+          return;
+        }
+        if (!request2.aborted && write(client, request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
+        }
       }
-      /**
-       * The amount of data stored in the buffer waiting to be read.
-       *
-       * For Buffer strings, this will be the total byte length.
-       * For string encoding streams, this will be the string character length,
-       * according to JavaScript's `string.length` logic.
-       * For objectMode streams, this is a count of the items waiting to be
-       * emitted.
-       */
-      get bufferLength() {
-        return this[BUFFERLENGTH];
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function write(client, request2) {
+      if (client[kHTTPConnVersion] === "h2") {
+        writeH2(client, client[kHTTP2Session], request2);
+        return;
       }
-      /**
-       * The `BufferEncoding` currently in use, or `null`
-       */
-      get encoding() {
-        return this[ENCODING];
+      const { body, method, path: path3, host, upgrade, headers, blocking, reset } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      /**
-       * @deprecated - This is a read only property
-       */
-      set encoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
+      const bodyLength = util.bodyLength(body);
+      let contentLength = bodyLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
       }
-      /**
-       * @deprecated - Encoding may only be set at instantiation time
-       */
-      setEncoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
       }
-      /**
-       * True if this is an objectMode stream
-       */
-      get objectMode() {
-        return this[OBJECTMODE];
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      /**
-       * @deprecated - This is a read-only property
-       */
-      set objectMode(_om) {
-        throw new Error("objectMode must be set at instantiation time");
+      const socket = client[kSocket];
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
+          }
+          errorRequest2(client, request2, err || new RequestAbortedError());
+          util.destroy(socket, new InformationalError("aborted"));
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
       }
-      /**
-       * true if this is an async stream
-       */
-      get ["async"]() {
-        return this[ASYNC];
+      if (request2.aborted) {
+        return false;
       }
-      /**
-       * Set to true to make this stream async.
-       *
-       * Once set, it cannot be unset, as this would potentially cause incorrect
-       * behavior.  Ie, a sync stream can be made async, but an async stream
-       * cannot be safely made sync.
-       */
-      set ["async"](a) {
-        this[ASYNC] = this[ASYNC] || !!a;
+      if (method === "HEAD") {
+        socket[kReset] = true;
       }
-      // drop everything and get out of the flow completely
-      [ABORT]() {
-        this[ABORTED] = true;
-        this.emit("abort", this[SIGNAL]?.reason);
-        this.destroy(this[SIGNAL]?.reason);
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
       }
-      /**
-       * True if the stream has been aborted.
-       */
-      get aborted() {
-        return this[ABORTED];
+      if (reset != null) {
+        socket[kReset] = reset;
       }
-      /**
-       * No-op setter. Stream aborted status is set via the AbortSignal provided
-       * in the constructor options.
-       */
-      set aborted(_2) {
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
       }
-      write(chunk, encoding, cb) {
-        if (this[ABORTED])
-          return false;
-        if (this[EOF])
-          throw new Error("write after end");
-        if (this[DESTROYED]) {
-          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
-          return true;
-        }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
-        }
-        if (!encoding)
-          encoding = "utf8";
-        const fn = this[ASYNC] ? defer : nodefer;
-        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
-          if (isArrayBufferView(chunk)) {
-            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
-          } else if (isArrayBufferLike(chunk)) {
-            chunk = Buffer.from(chunk);
-          } else if (typeof chunk !== "string") {
-            throw new Error("Non-contiguous data written to non-objectMode stream");
-          }
-        }
-        if (this[OBJECTMODE]) {
-          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-            this[FLUSH](true);
-          if (this[FLOWING])
-            this.emit("data", chunk);
-          else
-            this[BUFFERPUSH](chunk);
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (!chunk.length) {
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (typeof chunk === "string" && // unless it is a string already ready for us to use
-        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
-          chunk = Buffer.from(chunk, encoding);
-        }
-        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
-          chunk = this[DECODER].write(chunk);
-        }
-        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-          this[FLUSH](true);
-        if (this[FLOWING])
-          this.emit("data", chunk);
-        else
-          this[BUFFERPUSH](chunk);
-        if (this[BUFFERLENGTH] !== 0)
-          this.emit("readable");
-        if (cb)
-          fn(cb);
-        return this[FLOWING];
+      if (blocking) {
+        socket[kBlocking] = true;
       }
-      /**
-       * Low-level explicit read method.
-       *
-       * In objectMode, the argument is ignored, and one item is returned if
-       * available.
-       *
-       * `n` is the number of bytes (or in the case of encoding streams,
-       * characters) to consume. If `n` is not provided, then the entire buffer
-       * is returned, or `null` is returned if no data is available.
-       *
-       * If `n` is greater that the amount of data in the internal buffer,
-       * then `null` is returned.
-       */
-      read(n) {
-        if (this[DESTROYED])
-          return null;
-        this[DISCARDED] = false;
-        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
-          this[MAYBE_EMIT_END]();
-          return null;
-        }
-        if (this[OBJECTMODE])
-          n = null;
-        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
-          this[BUFFER] = [
-            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
-          ];
-        }
-        const ret = this[READ](n || null, this[BUFFER][0]);
-        this[MAYBE_EMIT_END]();
-        return ret;
+      let header = `${method} ${path3} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
+      } else {
+        header += client[kHostHeader];
       }
-      [READ](n, chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERSHIFT]();
-        else {
-          const c = chunk;
-          if (n === c.length || n === null)
-            this[BUFFERSHIFT]();
-          else if (typeof c === "string") {
-            this[BUFFER][0] = c.slice(n);
-            chunk = c.slice(0, n);
-            this[BUFFERLENGTH] -= n;
-          } else {
-            this[BUFFER][0] = c.subarray(n);
-            chunk = c.subarray(0, n);
-            this[BUFFERLENGTH] -= n;
-          }
-        }
-        this.emit("data", chunk);
-        if (!this[BUFFER].length && !this[EOF])
-          this.emit("drain");
-        return chunk;
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
       }
-      end(chunk, encoding, cb) {
-        if (typeof chunk === "function") {
-          cb = chunk;
-          chunk = void 0;
+      if (headers) {
+        header += headers;
+      }
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        if (contentLength === 0) {
+          socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+        } else {
+          assert(contentLength === null, "no body must not have content length");
+          socket.write(`${header}\r
+`, "latin1");
         }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
+        request2.onRequestSent();
+      } else if (util.isBuffer(body)) {
+        assert(contentLength === body.byteLength, "buffer body must have content length");
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(body);
+        socket.uncork();
+        request2.onBodySent(body);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
-        if (chunk !== void 0)
-          this.write(chunk, encoding);
-        if (cb)
-          this.once("end", cb);
-        this[EOF] = true;
-        this.writable = false;
-        if (this[FLOWING] || !this[PAUSED])
-          this[MAYBE_EMIT_END]();
-        return this;
-      }
-      // don't let the internal resume be overwritten
-      [RESUME]() {
-        if (this[DESTROYED])
-          return;
-        if (!this[DATALISTENERS] && !this[PIPES].length) {
-          this[DISCARDED] = true;
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
+        } else {
+          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
         }
-        this[PAUSED] = false;
-        this[FLOWING] = true;
-        this.emit("resume");
-        if (this[BUFFER].length)
-          this[FLUSH]();
-        else if (this[EOF])
-          this[MAYBE_EMIT_END]();
-        else
-          this.emit("drain");
-      }
-      /**
-       * Resume the stream if it is currently in a paused state
-       *
-       * If called when there are no pipe destinations or `data` event listeners,
-       * this will place the stream in a "discarded" state, where all data will
-       * be thrown away. The discarded state is removed if a pipe destination or
-       * data handler is added, if pause() is called, or if any synchronous or
-       * asynchronous iteration is started.
-       */
-      resume() {
-        return this[RESUME]();
-      }
-      /**
-       * Pause the stream
-       */
-      pause() {
-        this[FLOWING] = false;
-        this[PAUSED] = true;
-        this[DISCARDED] = false;
+      } else if (util.isStream(body)) {
+        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else if (util.isIterable(body)) {
+        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      } else {
+        assert(false);
       }
-      /**
-       * true if the stream has been forcibly destroyed
-       */
-      get destroyed() {
-        return this[DESTROYED];
+      return true;
+    }
+    function writeH2(client, session, request2) {
+      const { body, method, path: path3, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let headers;
+      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
+      else headers = reqHeaders;
+      if (upgrade) {
+        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      /**
-       * true if the stream is currently in a flowing state, meaning that
-       * any writes will be immediately emitted.
-       */
-      get flowing() {
-        return this[FLOWING];
+      try {
+        request2.onConnect((err) => {
+          if (request2.aborted || request2.completed) {
+            return;
+          }
+          errorRequest2(client, request2, err || new RequestAbortedError());
+        });
+      } catch (err) {
+        errorRequest2(client, request2, err);
       }
-      /**
-       * true if the stream is currently in a paused state
-       */
-      get paused() {
-        return this[PAUSED];
+      if (request2.aborted) {
+        return false;
       }
-      [BUFFERPUSH](chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] += 1;
-        else
-          this[BUFFERLENGTH] += chunk.length;
-        this[BUFFER].push(chunk);
+      let stream;
+      const h2State = client[kHTTP2SessionState];
+      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
+      headers[HTTP2_HEADER_METHOD] = method;
+      if (method === "CONNECT") {
+        session.ref();
+        stream = session.request(headers, { endStream: false, signal });
+        if (stream.id && !stream.pending) {
+          request2.onUpgrade(null, null, stream);
+          ++h2State.openStreams;
+        } else {
+          stream.once("ready", () => {
+            request2.onUpgrade(null, null, stream);
+            ++h2State.openStreams;
+          });
+        }
+        stream.once("close", () => {
+          h2State.openStreams -= 1;
+          if (h2State.openStreams === 0) session.unref();
+        });
+        return true;
       }
-      [BUFFERSHIFT]() {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] -= 1;
-        else
-          this[BUFFERLENGTH] -= this[BUFFER][0].length;
-        return this[BUFFER].shift();
+      headers[HTTP2_HEADER_PATH] = path3;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      [FLUSH](noDrain = false) {
-        do {
-        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
-        if (!noDrain && !this[BUFFER].length && !this[EOF])
-          this.emit("drain");
+      let contentLength = util.bodyLength(body);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      [FLUSHCHUNK](chunk) {
-        this.emit("data", chunk);
-        return this[FLOWING];
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      /**
-       * Pipe all data emitted by this stream into the destination provided.
-       *
-       * Triggers the flow of data.
-       */
-      pipe(dest, opts) {
-        if (this[DESTROYED])
-          return dest;
-        this[DISCARDED] = false;
-        const ended = this[EMITTED_END];
-        opts = opts || {};
-        if (dest === proc.stdout || dest === proc.stderr)
-          opts.end = false;
-        else
-          opts.end = opts.end !== false;
-        opts.proxyErrors = !!opts.proxyErrors;
-        if (ended) {
-          if (opts.end)
-            dest.end();
-        } else {
-          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
-          if (this[ASYNC])
-            defer(() => this[RESUME]());
-          else
-            this[RESUME]();
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          errorRequest2(client, request2, new RequestContentLengthMismatchError());
+          return false;
         }
-        return dest;
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      /**
-       * Fully unhook a piped destination stream.
-       *
-       * If the destination stream was the only consumer of this stream (ie,
-       * there are no other piped destinations or `'data'` event listeners)
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      unpipe(dest) {
-        const p = this[PIPES].find((p2) => p2.dest === dest);
-        if (p) {
-          if (this[PIPES].length === 1) {
-            if (this[FLOWING] && this[DATALISTENERS] === 0) {
-              this[FLOWING] = false;
-            }
-            this[PIPES] = [];
-          } else
-            this[PIPES].splice(this[PIPES].indexOf(p), 1);
-          p.unpipe();
-        }
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      /**
-       * Alias for {@link Minipass#on}
-       */
-      addListener(ev, handler2) {
-        return this.on(ev, handler2);
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD";
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream = session.request(headers, { endStream: shouldEndStream, signal });
+        stream.once("continue", writeBodyH2);
+      } else {
+        stream = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      /**
-       * Mostly identical to `EventEmitter.on`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * - Adding a 'data' event handler will trigger the flow of data
-       *
-       * - Adding a 'readable' event handler when there is data waiting to be read
-       *   will cause 'readable' to be emitted immediately.
-       *
-       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
-       *   already passed will cause the event to be emitted immediately and all
-       *   handlers removed.
-       *
-       * - Adding an 'error' event handler after an error has been emitted will
-       *   cause the event to be re-emitted immediately with the error previously
-       *   raised.
-       */
-      on(ev, handler2) {
-        const ret = super.on(ev, handler2);
-        if (ev === "data") {
-          this[DISCARDED] = false;
-          this[DATALISTENERS]++;
-          if (!this[PIPES].length && !this[FLOWING]) {
-            this[RESUME]();
+      ++h2State.openStreams;
+      stream.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        if (request2.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
+          stream.pause();
+        }
+      });
+      stream.once("end", () => {
+        request2.onComplete([]);
+      });
+      stream.on("data", (chunk) => {
+        if (request2.onData(chunk) === false) {
+          stream.pause();
+        }
+      });
+      stream.once("close", () => {
+        h2State.openStreams -= 1;
+        if (h2State.openStreams === 0) {
+          session.unref();
+        }
+      });
+      stream.once("error", function(err) {
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream, err);
+        }
+      });
+      stream.once("frameError", (type2, code) => {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        errorRequest2(client, request2, err);
+        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
+          h2State.streams -= 1;
+          util.destroy(stream, err);
+        }
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body) {
+          request2.onRequestSent();
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          stream.cork();
+          stream.write(body);
+          stream.uncork();
+          stream.end();
+          request2.onBodySent(body);
+          request2.onRequestSent();
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable({
+              client,
+              request: request2,
+              contentLength,
+              h2stream: stream,
+              expectsPayload,
+              body: body.stream(),
+              socket: client[kSocket],
+              header: ""
+            });
+          } else {
+            writeBlob({
+              body,
+              client,
+              request: request2,
+              contentLength,
+              expectsPayload,
+              h2stream: stream,
+              header: "",
+              socket: client[kSocket]
+            });
           }
-        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
-          super.emit("readable");
-        } else if (isEndish(ev) && this[EMITTED_END]) {
-          super.emit(ev);
-          this.removeAllListeners(ev);
-        } else if (ev === "error" && this[EMITTED_ERROR]) {
-          const h = handler2;
-          if (this[ASYNC])
-            defer(() => h.call(this, this[EMITTED_ERROR]));
-          else
-            h.call(this, this[EMITTED_ERROR]);
+        } else if (util.isStream(body)) {
+          writeStream({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            socket: client[kSocket],
+            h2stream: stream,
+            header: ""
+          });
+        } else if (util.isIterable(body)) {
+          writeIterable({
+            body,
+            client,
+            request: request2,
+            contentLength,
+            expectsPayload,
+            header: "",
+            h2stream: stream,
+            socket: client[kSocket]
+          });
+        } else {
+          assert(false);
         }
-        return ret;
       }
-      /**
-       * Alias for {@link Minipass#off}
-       */
-      removeListener(ev, handler2) {
-        return this.off(ev, handler2);
+    }
+    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      if (client[kHTTPConnVersion] === "h2") {
+        let onPipeData = function(chunk) {
+          request2.onBodySent(chunk);
+        };
+        const pipe = pipeline(
+          body,
+          h2stream,
+          (err) => {
+            if (err) {
+              util.destroy(body, err);
+              util.destroy(h2stream, err);
+            } else {
+              request2.onRequestSent();
+            }
+          }
+        );
+        pipe.on("data", onPipeData);
+        pipe.once("end", () => {
+          pipe.removeListener("data", onPipeData);
+          util.destroy(pipe);
+        });
+        return;
       }
-      /**
-       * Mostly identical to `EventEmitter.off`
-       *
-       * If a 'data' event handler is removed, and it was the last consumer
-       * (ie, there are no pipe destinations or other 'data' event listeners),
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      off(ev, handler2) {
-        const ret = super.off(ev, handler2);
-        if (ev === "data") {
-          this[DATALISTENERS] = this.listeners("data").length;
-          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
+      let finished = false;
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
           }
+        } catch (err) {
+          util.destroy(this, err);
         }
-        return ret;
-      }
-      /**
-       * Mostly identical to `EventEmitter.removeAllListeners`
-       *
-       * If all 'data' event handlers are removed, and they were the last consumer
-       * (ie, there are no pipe destinations), then the flow of data will stop
-       * until there is another consumer or {@link Minipass#resume} is explicitly
-       * called.
-       */
-      removeAllListeners(ev) {
-        const ret = super.removeAllListeners(ev);
-        if (ev === "data" || ev === void 0) {
-          this[DATALISTENERS] = 0;
-          if (!this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onAbort = function() {
+        if (finished) {
+          return;
+        }
+        const err = new RequestAbortedError();
+        queueMicrotask(() => onFinished(err));
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
           }
         }
-        return ret;
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
+        } else {
+          util.destroy(body);
+        }
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
+      if (body.resume) {
+        body.resume();
       }
-      /**
-       * true if the 'end' event has been emitted
-       */
-      get emittedEnd() {
-        return this[EMITTED_END];
+      socket.on("drain", onDrain).on("error", onFinished);
+    }
+    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength === body.size, "blob body must have content length");
+      const isH2 = client[kHTTPConnVersion] === "h2";
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        if (isH2) {
+          h2stream.cork();
+          h2stream.write(buffer);
+          h2stream.uncork();
+        } else {
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(buffer);
+          socket.uncork();
+        }
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        resume(client);
+      } catch (err) {
+        util.destroy(isH2 ? h2stream : socket, err);
       }
-      [MAYBE_EMIT_END]() {
-        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
-          this[EMITTING_END] = true;
-          this.emit("end");
-          this.emit("prefinish");
-          this.emit("finish");
-          if (this[CLOSED])
-            this.emit("close");
-          this[EMITTING_END] = false;
+    }
+    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
         }
       }
-      /**
-       * Mostly identical to `EventEmitter.emit`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * If the stream has been destroyed, and the event is something other
-       * than 'close' or 'error', then `false` is returned and no handlers
-       * are called.
-       *
-       * If the event is 'end', and has already been emitted, then the event
-       * is ignored. If the stream is in a paused or non-flowing state, then
-       * the event will be deferred until data flow resumes. If the stream is
-       * async, then handlers will be called on the next tick rather than
-       * immediately.
-       *
-       * If the event is 'close', and 'end' has not yet been emitted, then
-       * the event will be deferred until after 'end' is emitted.
-       *
-       * If the event is 'error', and an AbortSignal was provided for the stream,
-       * and there are no listeners, then the event is ignored, matching the
-       * behavior of node core streams in the presense of an AbortSignal.
-       *
-       * If the event is 'finish' or 'prefinish', then all listeners will be
-       * removed after emitting the event, to prevent double-firing.
-       */
-      emit(ev, ...args) {
-        const data = args[0];
-        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
-          return false;
-        } else if (ev === "data") {
-          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
-        } else if (ev === "end") {
-          return this[EMITEND]();
-        } else if (ev === "close") {
-          this[CLOSED] = true;
-          if (!this[EMITTED_END] && !this[DESTROYED])
-            return false;
-          const ret2 = super.emit("close");
-          this.removeAllListeners("close");
-          return ret2;
-        } else if (ev === "error") {
-          this[EMITTED_ERROR] = data;
-          super.emit(ERROR, data);
-          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "resume") {
-          const ret2 = super.emit("resume");
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "finish" || ev === "prefinish") {
-          const ret2 = super.emit(ev);
-          this.removeAllListeners(ev);
-          return ret2;
+      const waitForDrain = () => new Promise((resolve2, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve2;
+        }
+      });
+      if (client[kHTTPConnVersion] === "h2") {
+        h2stream.on("close", onDrain).on("drain", onDrain);
+        try {
+          for await (const chunk of body) {
+            if (socket[kError]) {
+              throw socket[kError];
+            }
+            const res = h2stream.write(chunk);
+            request2.onBodySent(chunk);
+            if (!res) {
+              await waitForDrain();
+            }
+          }
+        } catch (err) {
+          h2stream.destroy(err);
+        } finally {
+          request2.onRequestSent();
+          h2stream.end();
+          h2stream.off("close", onDrain).off("drain", onDrain);
         }
-        const ret = super.emit(ev, ...args);
-        this[MAYBE_EMIT_END]();
-        return ret;
+        return;
       }
-      [EMITDATA](data) {
-        for (const p of this[PIPES]) {
-          if (p.dest.write(data) === false)
-            this.pause();
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
         }
-        const ret = this[DISCARDED] ? false : super.emit("data", data);
-        this[MAYBE_EMIT_END]();
-        return ret;
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      [EMITEND]() {
-        if (this[EMITTED_END])
-          return false;
-        this[EMITTED_END] = true;
-        this.readable = false;
-        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
+    }
+    var AsyncWriter = class {
+      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        socket[kWriting] = true;
       }
-      [EMITEND2]() {
-        if (this[DECODER]) {
-          const data = this[DECODER].end();
-          if (data) {
-            for (const p of this[PIPES]) {
-              p.dest.write(data);
-            }
-            if (!this[DISCARDED])
-              super.emit("data", data);
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
+        }
+        if (socket.destroyed) {
+          return false;
+        }
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
+        }
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        for (const p of this[PIPES]) {
-          p.end();
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
+          } else {
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          }
+        }
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
+        }
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
+            }
+          }
         }
-        const ret = super.emit("end");
-        this.removeAllListeners("end");
         return ret;
       }
-      /**
-       * Return a Promise that resolves to an array of all emitted data once
-       * the stream ends.
-       */
-      async collect() {
-        const buf = Object.assign([], {
-          dataLength: 0
-        });
-        if (!this[OBJECTMODE])
-          buf.dataLength = 0;
-        const p = this.promise();
-        this.on("data", (c) => {
-          buf.push(c);
-          if (!this[OBJECTMODE])
-            buf.dataLength += c.length;
-        });
-        await p;
-        return buf;
-      }
-      /**
-       * Return a Promise that resolves to the concatenation of all emitted data
-       * once the stream ends.
-       *
-       * Not allowed on objectMode streams.
-       */
-      async concat() {
-        if (this[OBJECTMODE]) {
-          throw new Error("cannot concat in objectMode");
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        const buf = await this.collect();
-        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
-      }
-      /**
-       * Return a void Promise that resolves once the stream ends.
-       */
-      async promise() {
-        return new Promise((resolve2, reject) => {
-          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
-          this.on("error", (er) => reject(er));
-          this.on("end", () => resolve2());
-        });
-      }
-      /**
-       * Asynchronous `for await of` iteration.
-       *
-       * This will continue emitting all chunks until the stream terminates.
-       */
-      [Symbol.asyncIterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = async () => {
-          this.pause();
-          stopped = true;
-          return { value: void 0, done: true };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const res = this.read();
-          if (res !== null)
-            return Promise.resolve({ done: false, value: res });
-          if (this[EOF])
-            return stop();
-          let resolve2;
-          let reject;
-          const onerr = (er) => {
-            this.off("data", ondata);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            reject(er);
-          };
-          const ondata = (value) => {
-            this.off("error", onerr);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            this.pause();
-            resolve2({ value, done: !!this[EOF] });
-          };
-          const onend = () => {
-            this.off("error", onerr);
-            this.off("data", ondata);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            resolve2({ done: true, value: void 0 });
-          };
-          const ondestroy = () => onerr(new Error("stream destroyed"));
-          return new Promise((res2, rej) => {
-            reject = rej;
-            resolve2 = res2;
-            this.once(DESTROYED, ondestroy);
-            this.once("error", onerr);
-            this.once("end", onend);
-            this.once("data", ondata);
-          });
-        };
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.asyncIterator]() {
-            return this;
+        if (socket.destroyed) {
+          return;
+        }
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            socket.write(`${header}\r
+`, "latin1");
           }
-        };
-      }
-      /**
-       * Synchronous `for of` iteration.
-       *
-       * The iteration will terminate when the internal buffer runs out, even
-       * if the stream has not yet terminated.
-       */
-      [Symbol.iterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = () => {
-          this.pause();
-          this.off(ERROR, stop);
-          this.off(DESTROYED, stop);
-          this.off("end", stop);
-          stopped = true;
-          return { done: true, value: void 0 };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const value = this.read();
-          return value === null ? stop() : { done: false, value };
-        };
-        this.once("end", stop);
-        this.once(ERROR, stop);
-        this.once(DESTROYED, stop);
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.iterator]() {
-            return this;
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
+        }
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
           }
-        };
-      }
-      /**
-       * Destroy a stream, preventing it from being used for any further purpose.
-       *
-       * If the stream has a `close()` method, then it will be called on
-       * destruction.
-       *
-       * After destruction, any attempt to write data, read data, or emit most
-       * events will be ignored.
-       *
-       * If an error argument is provided, then it will be emitted in an
-       * 'error' event.
-       */
-      destroy(er) {
-        if (this[DESTROYED]) {
-          if (er)
-            this.emit("error", er);
-          else
-            this.emit(DESTROYED);
-          return this;
         }
-        this[DESTROYED] = true;
-        this[DISCARDED] = true;
-        this[BUFFER].length = 0;
-        this[BUFFERLENGTH] = 0;
-        const wc = this;
-        if (typeof wc.close === "function" && !this[CLOSED])
-          wc.close();
-        if (er)
-          this.emit("error", er);
-        else
-          this.emit(DESTROYED);
-        return this;
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
+        }
+        resume(client);
       }
-      /**
-       * Alias for {@link isStream}
-       *
-       * Former export location, maintained for backwards compatibility.
-       *
-       * @deprecated
-       */
-      static get isStream() {
-        return exports2.isStream;
+      destroy(err) {
+        const { socket, client } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          util.destroy(socket, err);
+        }
       }
     };
-    exports2.Minipass = Minipass;
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
+    module2.exports = Client;
   }
 });
 
-// node_modules/path-scurry/dist/commonjs/index.js
-var require_commonjs23 = __commonJS({
-  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/node/fixed-queue.js
+var require_fixed_queue3 = __commonJS({
+  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
-    var lru_cache_1 = require_commonjs21();
-    var node_path_1 = require("node:path");
-    var node_url_1 = require("node:url");
-    var fs_1 = require("fs");
-    var actualFS = __importStar2(require("node:fs"));
-    var realpathSync = fs_1.realpathSync.native;
-    var promises_1 = require("node:fs/promises");
-    var minipass_1 = require_commonjs22();
-    var defaultFS = {
-      lstatSync: fs_1.lstatSync,
-      readdir: fs_1.readdir,
-      readdirSync: fs_1.readdirSync,
-      readlinkSync: fs_1.readlinkSync,
-      realpathSync,
-      promises: {
-        lstat: promises_1.lstat,
-        readdir: promises_1.readdir,
-        readlink: promises_1.readlink,
-        realpath: promises_1.realpath
-      }
-    };
-    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
-      ...defaultFS,
-      ...fsOption,
-      promises: {
-        ...defaultFS.promises,
-        ...fsOption.promises || {}
-      }
-    };
-    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
-    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-    var eitherSep = /[\\\/]/;
-    var UNKNOWN = 0;
-    var IFIFO = 1;
-    var IFCHR = 2;
-    var IFDIR = 4;
-    var IFBLK = 6;
-    var IFREG = 8;
-    var IFLNK = 10;
-    var IFSOCK = 12;
-    var IFMT = 15;
-    var IFMT_UNKNOWN = ~IFMT;
-    var READDIR_CALLED = 16;
-    var LSTAT_CALLED = 32;
-    var ENOTDIR = 64;
-    var ENOENT = 128;
-    var ENOREADLINK = 256;
-    var ENOREALPATH = 512;
-    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
-    var TYPEMASK = 1023;
-    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
-    var normalizeCache = /* @__PURE__ */ new Map();
-    var normalize2 = (s) => {
-      const c = normalizeCache.get(s);
-      if (c)
-        return c;
-      const n = s.normalize("NFKD");
-      normalizeCache.set(s, n);
-      return n;
-    };
-    var normalizeNocaseCache = /* @__PURE__ */ new Map();
-    var normalizeNocase = (s) => {
-      const c = normalizeNocaseCache.get(s);
-      if (c)
-        return c;
-      const n = normalize2(s.toLowerCase());
-      normalizeNocaseCache.set(s, n);
-      return n;
-    };
-    var ResolveCache = class extends lru_cache_1.LRUCache {
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
       constructor() {
-        super({ max: 256 });
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-    };
-    exports2.ResolveCache = ResolveCache;
-    var ChildrenCache = class extends lru_cache_1.LRUCache {
-      constructor(maxSize = 16 * 1024) {
-        super({
-          maxSize,
-          // parent + children
-          sizeCalculation: (a) => a.length + 1
-        });
+      isEmpty() {
+        return this.top === this.bottom;
       }
-    };
-    exports2.ChildrenCache = ChildrenCache;
-    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
-    var PathBase = class {
-      /**
-       * the basename of this path
-       *
-       * **Important**: *always* test the path name against any test string
-       * usingthe {@link isNamed} method, and not by directly comparing this
-       * string. Otherwise, unicode path strings that the system sees as identical
-       * will not be properly treated as the same path, leading to incorrect
-       * behavior and possible security issues.
-       */
-      name;
-      /**
-       * the Path entry corresponding to the path root.
-       *
-       * @internal
-       */
-      root;
-      /**
-       * All roots found within the current PathScurry family
-       *
-       * @internal
-       */
-      roots;
-      /**
-       * a reference to the parent path, or undefined in the case of root entries
-       *
-       * @internal
-       */
-      parent;
-      /**
-       * boolean indicating whether paths are compared case-insensitively
-       * @internal
-       */
-      nocase;
-      /**
-       * boolean indicating that this path is the current working directory
-       * of the PathScurry collection that contains it.
-       */
-      isCWD = false;
-      // potential default fs override
-      #fs;
-      // Stats fields
-      #dev;
-      get dev() {
-        return this.#dev;
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      #mode;
-      get mode() {
-        return this.#mode;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-      #nlink;
-      get nlink() {
-        return this.#nlink;
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
       }
-      #uid;
-      get uid() {
-        return this.#uid;
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
       }
-      #gid;
-      get gid() {
-        return this.#gid;
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      #rdev;
-      get rdev() {
-        return this.#rdev;
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
+        }
+        this.head.push(data);
       }
-      #blksize;
-      get blksize() {
-        return this.#blksize;
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
+        }
+        return next;
       }
-      #ino;
-      get ino() {
-        return this.#ino;
+    };
+  }
+});
+
+// node_modules/undici/lib/pool-stats.js
+var require_pool_stats3 = __commonJS({
+  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols11();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      #size;
-      get size() {
-        return this.#size;
+      get connected() {
+        return this[kPool][kConnected];
       }
-      #blocks;
-      get blocks() {
-        return this.#blocks;
+      get free() {
+        return this[kPool][kFree];
       }
-      #atimeMs;
-      get atimeMs() {
-        return this.#atimeMs;
+      get pending() {
+        return this[kPool][kPending];
       }
-      #mtimeMs;
-      get mtimeMs() {
-        return this.#mtimeMs;
+      get queued() {
+        return this[kPool][kQueued];
       }
-      #ctimeMs;
-      get ctimeMs() {
-        return this.#ctimeMs;
+      get running() {
+        return this[kPool][kRunning];
       }
-      #birthtimeMs;
-      get birthtimeMs() {
-        return this.#birthtimeMs;
+      get size() {
+        return this[kPool][kSize];
       }
-      #atime;
-      get atime() {
-        return this.#atime;
+    };
+    module2.exports = PoolStats;
+  }
+});
+
+// node_modules/undici/lib/pool-base.js
+var require_pool_base3 = __commonJS({
+  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+    "use strict";
+    var DispatcherBase = require_dispatcher_base3();
+    var FixedQueue = require_fixed_queue3();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols11();
+    var PoolStats = require_pool_stats3();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
+      constructor() {
+        super();
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
+            }
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
+          }
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
+          }
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
+          }
+        };
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      #mtime;
-      get mtime() {
-        return this.#mtime;
+      get [kBusy]() {
+        return this[kNeedDrain];
       }
-      #ctime;
-      get ctime() {
-        return this.#ctime;
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
       }
-      #birthtime;
-      get birthtime() {
-        return this.#birthtime;
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
       }
-      #matchName;
-      #depth;
-      #fullpath;
-      #fullpathPosix;
-      #relative;
-      #relativePosix;
-      #type;
-      #children;
-      #linkTarget;
-      #realpath;
-      /**
-       * This property is for compatibility with the Dirent class as of
-       * Node v20, where Dirent['parentPath'] refers to the path of the
-       * directory that was passed to readdir. For root entries, it's the path
-       * to the entry itself.
-       */
-      get parentPath() {
-        return (this.parent || this).fullpath();
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
+        }
+        return ret;
       }
-      /**
-       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
-       * this property refers to the *parent* path, not the path object itself.
-       *
-       * @deprecated
-       */
-      get path() {
-        return this.parentPath;
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
+        }
+        return ret;
       }
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        this.name = name;
-        this.#matchName = nocase ? normalizeNocase(name) : normalize2(name);
-        this.#type = type2 & TYPEMASK;
-        this.nocase = nocase;
-        this.roots = roots;
-        this.root = root || this;
-        this.#children = children;
-        this.#fullpath = opts.fullpath;
-        this.#relative = opts.relative;
-        this.#relativePosix = opts.relativePosix;
-        this.parent = opts.parent;
-        if (this.parent) {
-          this.#fs = this.parent.#fs;
-        } else {
-          this.#fs = fsFromOption(opts.fs);
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
+        return ret;
       }
-      /**
-       * Returns the depth of the Path object from its root.
-       *
-       * For example, a path at `/foo/bar` would have a depth of 2.
-       */
-      depth() {
-        if (this.#depth !== void 0)
-          return this.#depth;
-        if (!this.parent)
-          return this.#depth = 0;
-        return this.#depth = this.parent.depth() + 1;
+      get stats() {
+        return this[kStats];
       }
-      /**
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          return Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          return new Promise((resolve2) => {
+            this[kClosedResolve] = resolve2;
+          });
+        }
       }
-      /**
-       * Get the Path object referenced by the string path, resolved from this Path
-       */
-      resolve(path3) {
-        if (!path3) {
-          return this;
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        const rootPath = this.getRootString(path3);
-        const dir = path3.substring(rootPath.length);
-        const dirParts = dir.split(this.splitSep);
-        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
-        return result;
+        return Promise.all(this[kClients].map((c) => c.destroy(err)));
       }
-      #resolveParts(dirParts) {
-        let p = this;
-        for (const part of dirParts) {
-          p = p.child(part);
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
         }
-        return p;
+        return !this[kNeedDrain];
       }
-      /**
-       * Returns the cached children Path objects, if still available.  If they
-       * have fallen out of the cache, then returns an empty array, and resets the
-       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
-       * lookup.
-       *
-       * @internal
-       */
-      children() {
-        const cached = this.#children.get(this);
-        if (cached) {
-          return cached;
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          process.nextTick(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
+            }
+          });
         }
-        const children = Object.assign([], { provisional: 0 });
-        this.#children.set(this, children);
-        this.#type &= ~READDIR_CALLED;
-        return children;
+        return this;
       }
-      /**
-       * Resolves a path portion and returns or creates the child Path.
-       *
-       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
-       * `'..'`.
-       *
-       * This should not be called directly.  If `pathPart` contains any path
-       * separators, it will lead to unsafe undefined behavior.
-       *
-       * Use `Path.resolve()` instead.
-       *
-       * @internal
-       */
-      child(pathPart, opts) {
-        if (pathPart === "" || pathPart === ".") {
-          return this;
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
+          }
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      }
+    };
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
+  }
+});
+
+// node_modules/undici/lib/pool.js
+var require_pool3 = __commonJS({
+  "node_modules/undici/lib/pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Client = require_client3();
+    var {
+      InvalidArgumentError
+    } = require_errors5();
+    var util = require_util23();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var buildConnector = require_connect3();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
         }
-        if (pathPart === "..") {
-          return this.parent || this;
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        const children = this.children();
-        const name = this.nocase ? normalizeNocase(pathPart) : normalize2(pathPart);
-        for (const p of children) {
-          if (p.#matchName === name) {
-            return p;
-          }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        const s = this.parent ? this.sep : "";
-        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
-        const pchild = this.newChild(pathPart, UNKNOWN, {
-          ...opts,
-          parent: this,
-          fullpath
-        });
-        if (!this.canReaddir()) {
-          pchild.#type |= ENOENT;
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
+          });
         }
-        children.push(pchild);
-        return pchild;
+        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
+          }
+        });
       }
-      /**
-       * The relative path from the cwd. If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpath()
-       */
-      relative() {
-        if (this.isCWD)
-          return "";
-        if (this.#relative !== void 0) {
-          return this.#relative;
+      [kGetDispatcher]() {
+        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
+        if (dispatcher) {
+          return dispatcher;
         }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relative = this.name;
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
         }
-        const pv = p.relative();
-        return pv + (!pv || !p.parent ? "" : this.sep) + name;
+        return dispatcher;
       }
-      /**
-       * The relative path from the cwd, using / as the path separator.
-       * If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpathPosix()
-       * On posix systems, this is identical to relative().
-       */
-      relativePosix() {
-        if (this.sep === "/")
-          return this.relative();
-        if (this.isCWD)
-          return "";
-        if (this.#relativePosix !== void 0)
-          return this.#relativePosix;
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relativePosix = this.fullpathPosix();
+    };
+    module2.exports = Pool;
+  }
+});
+
+// node_modules/undici/lib/balanced-pool.js
+var require_balanced_pool3 = __commonJS({
+  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+    "use strict";
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors5();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base3();
+    var Pool = require_pool3();
+    var { kUrl, kInterceptors } = require_symbols11();
+    var { parseOrigin } = require_util23();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (b === 0) return a;
+      return getGreatestCommonDivisor(b, a % b);
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
         }
-        const pv = p.relativePosix();
-        return pv + (!pv || !p.parent ? "" : "/") + name;
-      }
-      /**
-       * The fully resolved path string for this Path entry
-       */
-      fullpath() {
-        if (this.#fullpath !== void 0) {
-          return this.#fullpath;
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#fullpath = this.name;
+        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
         }
-        const pv = p.fullpath();
-        const fp = pv + (!p.parent ? "" : this.sep) + name;
-        return this.#fullpath = fp;
+        this._updateBalancedPoolStats();
       }
-      /**
-       * On platforms other than windows, this is identical to fullpath.
-       *
-       * On windows, this is overridden to return the forward-slash form of the
-       * full UNC path.
-       */
-      fullpathPosix() {
-        if (this.#fullpathPosix !== void 0)
-          return this.#fullpathPosix;
-        if (this.sep === "/")
-          return this.#fullpathPosix = this.fullpath();
-        if (!this.parent) {
-          const p2 = this.fullpath().replace(/\\/g, "/");
-          if (/^[a-z]:\//i.test(p2)) {
-            return this.#fullpathPosix = `//?/${p2}`;
-          } else {
-            return this.#fullpathPosix = p2;
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
+        }
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
           }
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
         }
-        const p = this.parent;
-        const pfpp = p.fullpathPosix();
-        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
-        return this.#fullpathPosix = fpp;
-      }
-      /**
-       * Is the Path of an unknown type?
-       *
-       * Note that we might know *something* about it if there has been a previous
-       * filesystem operation, for example that it does not exist, or is not a
-       * link, or whether it has child entries.
-       */
-      isUnknown() {
-        return (this.#type & IFMT) === UNKNOWN;
-      }
-      isType(type2) {
-        return this[`is${type2}`]();
-      }
-      getType() {
-        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
-          /* c8 ignore start */
-          this.isSocket() ? "Socket" : "Unknown"
-        );
-      }
-      /**
-       * Is the Path a regular file?
-       */
-      isFile() {
-        return (this.#type & IFMT) === IFREG;
-      }
-      /**
-       * Is the Path a directory?
-       */
-      isDirectory() {
-        return (this.#type & IFMT) === IFDIR;
-      }
-      /**
-       * Is the path a character device?
-       */
-      isCharacterDevice() {
-        return (this.#type & IFMT) === IFCHR;
-      }
-      /**
-       * Is the path a block device?
-       */
-      isBlockDevice() {
-        return (this.#type & IFMT) === IFBLK;
-      }
-      /**
-       * Is the path a FIFO pipe?
-       */
-      isFIFO() {
-        return (this.#type & IFMT) === IFIFO;
-      }
-      /**
-       * Is the path a socket?
-       */
-      isSocket() {
-        return (this.#type & IFMT) === IFSOCK;
+        this._updateBalancedPoolStats();
+        return this;
       }
-      /**
-       * Is the path a symbolic link?
-       */
-      isSymbolicLink() {
-        return (this.#type & IFLNK) === IFLNK;
+      _updateBalancedPoolStats() {
+        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
       }
-      /**
-       * Return the entry if it has been subject of a successful lstat, or
-       * undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* simply
-       * mean that we haven't called lstat on it.
-       */
-      lstatCached() {
-        return this.#type & LSTAT_CALLED ? this : void 0;
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
+        }
+        return this;
       }
-      /**
-       * Return the cached link target if the entry has been the subject of a
-       * successful readlink, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readlink() has been called at some point.
-       */
-      readlinkCached() {
-        return this.#linkTarget;
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
       }
-      /**
-       * Returns the cached realpath target if the entry has been the subject
-       * of a successful realpath, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * realpath() has been called at some point.
-       */
-      realpathCached() {
-        return this.#realpath;
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
+        }
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
+          return;
+        }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
+          return;
+        }
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
+          }
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
+            }
+          }
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
+          }
+        }
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
       }
-      /**
-       * Returns the cached child Path entries array if the entry has been the
-       * subject of a successful readdir(), or [] otherwise.
-       *
-       * Does not read the filesystem, so an empty array *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readdir() has been called recently enough to still be valid.
-       */
-      readdirCached() {
-        const children = this.children();
-        return children.slice(0, children.provisional);
+    };
+    module2.exports = BalancedPool;
+  }
+});
+
+// node_modules/undici/lib/compat/dispatcher-weakref.js
+var require_dispatcher_weakref3 = __commonJS({
+  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols11();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      /**
-       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
-       * any indication that readlink will definitely fail.
-       *
-       * Returns false if the path is known to not be a symlink, if a previous
-       * readlink failed, or if the entry does not exist.
-       */
-      canReadlink() {
-        if (this.#linkTarget)
-          return true;
-        if (!this.parent)
-          return false;
-        const ifmt = this.#type & IFMT;
-        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      /**
-       * Return true if readdir has previously been successfully called on this
-       * path, indicating that cachedReaddir() is likely valid.
-       */
-      calledReaddir() {
-        return !!(this.#type & READDIR_CALLED);
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      /**
-       * Returns true if the path is known to not exist. That is, a previous lstat
-       * or readdir failed to verify its existence when that would have been
-       * expected, or a parent entry was marked either enoent or enotdir.
-       */
-      isENOENT() {
-        return !!(this.#type & ENOENT);
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
+            }
+          });
+        }
       }
-      /**
-       * Return true if the path is a match for the given path name.  This handles
-       * case sensitivity and unicode normalization.
-       *
-       * Note: even on case-sensitive systems, it is **not** safe to test the
-       * equality of the `.name` property to determine whether a given pathname
-       * matches, due to unicode normalization mismatches.
-       *
-       * Always use this method instead of testing the `path.name` property
-       * directly.
-       */
-      isNamed(n) {
-        return !this.nocase ? this.#matchName === normalize2(n) : this.#matchName === normalizeNocase(n);
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE) {
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
       }
-      /**
-       * Return the Path object corresponding to the target of a symbolic link.
-       *
-       * If the Path is not a symbolic link, or if the readlink call fails for any
-       * reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       */
-      async readlink() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
+      return {
+        WeakRef: global.WeakRef || CompatWeakRef,
+        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
+      };
+    };
+  }
+});
+
+// node_modules/undici/lib/agent.js
+var require_agent3 = __commonJS({
+  "node_modules/undici/lib/agent.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError } = require_errors5();
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols11();
+    var DispatcherBase = require_dispatcher_base3();
+    var Pool = require_pool3();
+    var Client = require_client3();
+    var util = require_util23();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        if (!this.canReadlink()) {
-          return void 0;
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-        if (!this.parent) {
-          return void 0;
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        try {
-          const read = await this.#fs.promises.readlink(this.fullpath());
-          const linkTarget = (await this.parent.realpath())?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
-          }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
         }
+        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kFinalizer] = new FinalizationRegistry2(
+          /* istanbul ignore next: gc is undeterministic */
+          (key) => {
+            const ref = this[kClients].get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this[kClients].delete(key);
+            }
+          }
+        );
+        const agent = this;
+        this[kOnDrain] = (origin, targets) => {
+          agent.emit("drain", origin, [agent, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          agent.emit("connect", origin, [agent, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          agent.emit("disconnect", origin, [agent, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          agent.emit("connectionError", origin, [agent, ...targets], err);
+        };
       }
-      /**
-       * Synchronous {@link PathBase.readlink}
-       */
-      readlinkSync() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
+      get [kRunning]() {
+        let ret = 0;
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            ret += client[kRunning];
+          }
         }
-        if (!this.canReadlink()) {
-          return void 0;
+        return ret;
+      }
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
         }
-        if (!this.parent) {
-          return void 0;
+        const ref = this[kClients].get(key);
+        let dispatcher = ref ? ref.deref() : null;
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, new WeakRef2(dispatcher));
+          this[kFinalizer].register(dispatcher, key);
         }
-        try {
-          const read = this.#fs.readlinkSync(this.fullpath());
-          const linkTarget = this.parent.realpathSync()?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
+        return dispatcher.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        const closePromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            closePromises.push(client.close());
           }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
         }
+        await Promise.all(closePromises);
       }
-      #readdirSuccess(children) {
-        this.#type |= READDIR_CALLED;
-        for (let p = children.provisional; p < children.length; p++) {
-          const c = children[p];
-          if (c)
-            c.#markENOENT();
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const ref of this[kClients].values()) {
+          const client = ref.deref();
+          if (client) {
+            destroyPromises.push(client.destroy(err));
+          }
         }
+        await Promise.all(destroyPromises);
       }
-      #markENOENT() {
-        if (this.#type & ENOENT)
-          return;
-        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
-        this.#markChildrenENOENT();
+    };
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/undici/lib/api/readable.js
+var require_readable5 = __commonJS({
+  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { Readable } = require("stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors5();
+    var util = require_util23();
+    var { ReadableStreamFrom, toUSVString } = require_util23();
+    var Blob2;
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("abort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var noop3 = () => {
+    };
+    module2.exports = class BodyReadable extends Readable {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kReading] = false;
       }
-      #markChildrenENOENT() {
-        const children = this.children();
-        children.provisional = 0;
-        for (const p of children) {
-          p.#markENOENT();
+      destroy(err) {
+        if (this.destroyed) {
+          return this;
         }
-      }
-      #markENOREALPATH() {
-        this.#type |= ENOREALPATH;
-        this.#markENOTDIR();
-      }
-      // save the information when we know the entry is not a dir
-      #markENOTDIR() {
-        if (this.#type & ENOTDIR)
-          return;
-        let t = this.#type;
-        if ((t & IFMT) === IFDIR)
-          t &= IFMT_UNKNOWN;
-        this.#type = t | ENOTDIR;
-        this.#markChildrenENOENT();
-      }
-      #readdirFail(code = "") {
-        if (code === "ENOTDIR" || code === "EPERM") {
-          this.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
-        } else {
-          this.children().provisional = 0;
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
+        }
+        if (err) {
+          this[kAbort]();
         }
+        return super.destroy(err);
       }
-      #lstatFail(code = "") {
-        if (code === "ENOTDIR") {
-          const p = this.parent;
-          p.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
+      emit(ev, ...args) {
+        if (ev === "data") {
+          this._readableState.dataEmitted = true;
+        } else if (ev === "error") {
+          this._readableState.errorEmitted = true;
         }
+        return super.emit(ev, ...args);
       }
-      #readlinkFail(code = "") {
-        let ter = this.#type;
-        ter |= ENOREADLINK;
-        if (code === "ENOENT")
-          ter |= ENOENT;
-        if (code === "EINVAL" || code === "UNKNOWN") {
-          ter &= IFMT_UNKNOWN;
-        }
-        this.#type = ter;
-        if (code === "ENOTDIR" && this.parent) {
-          this.parent.#markENOTDIR();
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
+        return super.on(ev, ...args);
       }
-      #readdirAddChild(e, c) {
-        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      #readdirAddNewChild(e, c) {
-        const type2 = entToType(e);
-        const child = this.newChild(e.name, type2, { parent: this });
-        const ifmt = child.#type & IFMT;
-        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
-          child.#type |= ENOTDIR;
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        c.unshift(child);
-        c.provisional++;
-        return child;
+        return ret;
       }
-      #readdirMaybePromoteChild(e, c) {
-        for (let p = c.provisional; p < c.length; p++) {
-          const pchild = c[p];
-          const name = this.nocase ? normalizeNocase(e.name) : normalize2(e.name);
-          if (name !== pchild.#matchName) {
-            continue;
-          }
-          return this.#readdirPromoteChild(e, pchild, p, c);
-        }
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
       }
-      #readdirPromoteChild(e, p, index, c) {
-        const v = p.name;
-        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
-        if (v !== e.name)
-          p.name = e.name;
-        if (index !== c.provisional) {
-          if (index === c.length - 1)
-            c.pop();
-          else
-            c.splice(index, 1);
-          c.unshift(p);
+      push(chunk) {
+        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
         }
-        c.provisional++;
-        return p;
+        return super.push(chunk);
       }
-      /**
-       * Call lstat() on this Path, and update all known information that can be
-       * determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
       }
-      /**
-       * synchronous {@link PathBase.lstat}
-       */
-      lstatSync() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
-          }
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
       }
-      #applyStat(st) {
-        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
-        this.#atime = atime;
-        this.#atimeMs = atimeMs;
-        this.#birthtime = birthtime;
-        this.#birthtimeMs = birthtimeMs;
-        this.#blksize = blksize;
-        this.#blocks = blocks;
-        this.#ctime = ctime;
-        this.#ctimeMs = ctimeMs;
-        this.#dev = dev;
-        this.#gid = gid;
-        this.#ino = ino;
-        this.#mode = mode;
-        this.#mtime = mtime;
-        this.#mtimeMs = mtimeMs;
-        this.#nlink = nlink;
-        this.#rdev = rdev;
-        this.#size = size;
-        this.#uid = uid;
-        const ifmt = entToType(st);
-        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
-        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
-          this.#type |= ENOTDIR;
-        }
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
       }
-      #onReaddirCB = [];
-      #readdirCBInFlight = false;
-      #callOnReaddirCB(children) {
-        this.#readdirCBInFlight = false;
-        const cbs = this.#onReaddirCB.slice();
-        this.#onReaddirCB.length = 0;
-        cbs.forEach((cb) => cb(null, children));
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
       }
-      /**
-       * Standard node-style callback interface to get list of directory entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       *
-       * @param cb The callback called with (er, entries).  Note that the `er`
-       * param is somewhat extraneous, as all readdir() errors are handled and
-       * simply result in an empty set of entries being returned.
-       * @param allowZalgo Boolean indicating that immediately known results should
-       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
-       * zalgo at your peril, the dark pony lord is devious and unforgiving.
-       */
-      readdirCB(cb, allowZalgo = false) {
-        if (!this.canReaddir()) {
-          if (allowZalgo)
-            cb(null, []);
-          else
-            queueMicrotask(() => cb(null, []));
-          return;
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          const c = children.slice(0, children.provisional);
-          if (allowZalgo)
-            cb(null, c);
-          else
-            queueMicrotask(() => cb(null, c));
-          return;
-        }
-        this.#onReaddirCB.push(cb);
-        if (this.#readdirCBInFlight) {
-          return;
-        }
-        this.#readdirCBInFlight = true;
-        const fullpath = this.fullpath();
-        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
-          if (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
-          } else {
-            for (const e of entries) {
-              this.#readdirAddChild(e, children);
-            }
-            this.#readdirSuccess(children);
-          }
-          this.#callOnReaddirCB(children.slice(0, children.provisional));
-          return;
-        });
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
       }
-      #asyncReaddirInFlight;
-      /**
-       * Return an array of known child entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async readdir() {
-        if (!this.canReaddir()) {
-          return [];
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
+          }
         }
-        const fullpath = this.fullpath();
-        if (this.#asyncReaddirInFlight) {
-          await this.#asyncReaddirInFlight;
-        } else {
-          let resolve2 = () => {
-          };
-          this.#asyncReaddirInFlight = new Promise((res) => resolve2 = res);
+        return this[kBody];
+      }
+      dump(opts) {
+        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
+        const signal = opts && opts.signal;
+        if (signal) {
           try {
-            for (const e of await this.#fs.promises.readdir(fullpath, {
-              withFileTypes: true
-            })) {
-              this.#readdirAddChild(e, children);
+            if (typeof signal !== "object" || !("aborted" in signal)) {
+              throw new InvalidArgumentError("signal must be an AbortSignal");
             }
-            this.#readdirSuccess(children);
-          } catch (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
+            util.throwIfAborted(signal);
+          } catch (err) {
+            return Promise.reject(err);
           }
-          this.#asyncReaddirInFlight = void 0;
-          resolve2();
-        }
-        return children.slice(0, children.provisional);
-      }
-      /**
-       * synchronous {@link PathBase.readdir}
-       */
-      readdirSync() {
-        if (!this.canReaddir()) {
-          return [];
         }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+        if (this.closed) {
+          return Promise.resolve(null);
         }
-        const fullpath = this.fullpath();
-        try {
-          for (const e of this.#fs.readdirSync(fullpath, {
-            withFileTypes: true
-          })) {
-            this.#readdirAddChild(e, children);
+        return new Promise((resolve2, reject) => {
+          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
+            this.destroy();
+          }) : noop3;
+          this.on("close", function() {
+            signalListenerCleanup();
+            if (signal && signal.aborted) {
+              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
+            } else {
+              resolve2(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
+            }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream, type2) {
+      if (isUnusable(stream)) {
+        throw new TypeError("unusable");
+      }
+      assert(!stream[kConsume]);
+      return new Promise((resolve2, reject) => {
+        stream[kConsume] = {
+          type: type2,
+          stream,
+          resolve: resolve2,
+          reject,
+          length: 0,
+          body: []
+        };
+        stream.on("error", function(err) {
+          consumeFinish(this[kConsume], err);
+        }).on("close", function() {
+          if (this[kConsume].body !== null) {
+            consumeFinish(this[kConsume], new RequestAbortedError());
           }
-          this.#readdirSuccess(children);
-        } catch (er) {
-          this.#readdirFail(er.code);
-          children.provisional = 0;
-        }
-        return children.slice(0, children.provisional);
+        });
+        process.nextTick(consumeStart, stream[kConsume]);
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
       }
-      canReaddir() {
-        if (this.#type & ENOCHILD)
-          return false;
-        const ifmt = IFMT & this.#type;
-        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
-          return false;
-        }
-        return true;
+      const { _readableState: state } = consume2.stream;
+      for (const chunk of state.buffer) {
+        consumePush(consume2, chunk);
       }
-      shouldWalk(dirs, walkFilter) {
-        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
       }
-      /**
-       * Return the Path object corresponding to path as resolved
-       * by realpath(3).
-       *
-       * If the realpath call fails for any reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       * On success, returns a Path object.
-       */
-      async realpath() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = await this.#fs.promises.realpath(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
-        }
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
       }
-      /**
-       * Synchronous {@link realpath}
-       */
-      realpathSync() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = this.#fs.realpathSync(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve2, stream, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve2(toUSVString(Buffer.concat(body)));
+        } else if (type2 === "json") {
+          resolve2(JSON.parse(Buffer.concat(body)));
+        } else if (type2 === "arrayBuffer") {
+          const dst = new Uint8Array(length);
+          let pos = 0;
+          for (const buf of body) {
+            dst.set(buf, pos);
+            pos += buf.byteLength;
+          }
+          resolve2(dst.buffer);
+        } else if (type2 === "blob") {
+          if (!Blob2) {
+            Blob2 = require("buffer").Blob;
+          }
+          resolve2(new Blob2(body, { type: stream[kContentType] }));
         }
+        consumeFinish(consume2);
+      } catch (err) {
+        stream.destroy(err);
       }
-      /**
-       * Internal method to mark this Path object as the scurry cwd,
-       * called by {@link PathScurry#chdir}
-       *
-       * @internal
-       */
-      [setAsCwd](oldCwd) {
-        if (oldCwd === this)
-          return;
-        oldCwd.isCWD = false;
-        this.isCWD = true;
-        const changed = /* @__PURE__ */ new Set([]);
-        let rp = [];
-        let p = this;
-        while (p && p.parent) {
-          changed.add(p);
-          p.#relative = rp.join(this.sep);
-          p.#relativePosix = rp.join("/");
-          p = p.parent;
-          rp.push("..");
-        }
-        p = oldCwd;
-        while (p && p.parent && !changed.has(p)) {
-          p.#relative = void 0;
-          p.#relativePosix = void 0;
-          p = p.parent;
-        }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
       }
-    };
-    exports2.PathBase = PathBase;
-    var PathWin32 = class _PathWin32 extends PathBase {
-      /**
-       * Separator for generating path strings.
-       */
-      sep = "\\";
-      /**
-       * Separator for parsing path strings.
-       */
-      splitSep = eitherSep;
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
       }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathWin32(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+  }
+});
+
+// node_modules/undici/lib/api/util.js
+var require_util25 = __commonJS({
+  "node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors5();
+    var { toUSVString } = require_util23();
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let limit = 0;
+      for await (const chunk of body) {
+        chunks.push(chunk);
+        limit += chunk.length;
+        if (limit > 128 * 1024) {
+          chunks = null;
+          break;
+        }
       }
-      /**
-       * @internal
-       */
-      getRootString(path3) {
-        return node_path_1.win32.parse(path3).root;
+      if (statusCode === 204 || !contentType || !chunks) {
+        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+        return;
       }
-      /**
-       * @internal
-       */
-      getRoot(rootPath) {
-        rootPath = uncToDrive(rootPath.toUpperCase());
-        if (rootPath === this.root.name) {
-          return this.root;
+      try {
+        if (contentType.startsWith("application/json")) {
+          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
         }
-        for (const [compare2, root] of Object.entries(this.roots)) {
-          if (this.sameRoot(rootPath, compare2)) {
-            return this.roots[rootPath] = root;
-          }
+        if (contentType.startsWith("text/")) {
+          const payload = toUSVString(Buffer.concat(chunks));
+          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
+          return;
         }
-        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
+      } catch (err) {
       }
-      /**
-       * @internal
-       */
-      sameRoot(rootPath, compare2 = this.root.name) {
-        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-        return rootPath === compare2;
+      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
+    }
+    module2.exports = { getResolveErrorBodyCallback };
+  }
+});
+
+// node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal3 = __commonJS({
+  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util23();
+    var { RequestAbortedError } = require_errors5();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort();
+      } else {
+        self2.onError(new RequestAbortedError());
       }
-    };
-    exports2.PathWin32 = PathWin32;
-    var PathPosix = class _PathPosix extends PathBase {
-      /**
-       * separator for parsing path strings
-       */
-      splitSep = "/";
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type2 = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type2, root, roots, nocase, children, opts);
+    }
+    function addSignal(self2, signal) {
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
       }
-      /**
-       * @internal
-       */
-      getRootString(path3) {
-        return path3.startsWith("/") ? "/" : "";
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      /**
-       * @internal
-       */
-      getRoot(_rootPath) {
-        return this.root;
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
+    }
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      /**
-       * @internal
-       */
-      newChild(name, type2 = UNKNOWN, opts = {}) {
-        return new _PathPosix(name, type2, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
+      self2[kSignal] = null;
+      self2[kListener] = null;
+    }
+    module2.exports = {
+      addSignal,
+      removeSignal
     };
-    exports2.PathPosix = PathPosix;
-    var PathScurryBase = class {
-      /**
-       * The root Path entry for the current working directory of this Scurry
-       */
-      root;
-      /**
-       * The string path for the root of this Scurry's current working directory
-       */
-      rootPath;
-      /**
-       * A collection of all roots encountered, referenced by rootPath
-       */
-      roots;
-      /**
-       * The Path entry corresponding to this PathScurry's current working directory.
-       */
-      cwd;
-      #resolveCache;
-      #resolvePosixCache;
-      #children;
-      /**
-       * Perform path comparisons case-insensitively.
-       *
-       * Defaults true on Darwin and Windows systems, false elsewhere.
-       */
-      nocase;
-      #fs;
-      /**
-       * This class should not be instantiated directly.
-       *
-       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
-       *
-       * @internal
-       */
-      constructor(cwd = process.cwd(), pathImpl, sep2, { nocase, childrenCacheSize = 16 * 1024, fs: fs3 = defaultFS } = {}) {
-        this.#fs = fsFromOption(fs3);
-        if (cwd instanceof URL || cwd.startsWith("file://")) {
-          cwd = (0, node_url_1.fileURLToPath)(cwd);
-        }
-        const cwdPath = pathImpl.resolve(cwd);
-        this.roots = /* @__PURE__ */ Object.create(null);
-        this.rootPath = this.parseRootPath(cwdPath);
-        this.#resolveCache = new ResolveCache();
-        this.#resolvePosixCache = new ResolveCache();
-        this.#children = new ChildrenCache(childrenCacheSize);
-        const split = cwdPath.substring(this.rootPath.length).split(sep2);
-        if (split.length === 1 && !split[0]) {
-          split.pop();
+  }
+});
+
+// node_modules/undici/lib/api/api-request.js
+var require_api_request3 = __commonJS({
+  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var Readable = require_readable5();
+    var {
+      InvalidArgumentError,
+      RequestAbortedError
+    } = require_errors5();
+    var util = require_util23();
+    var { getResolveErrorBodyCallback } = require_util25();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (nocase === void 0) {
-          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        this.nocase = nocase;
-        this.root = this.newRoot(this.#fs);
-        this.roots[this.rootPath] = this.root;
-        let prev = this.root;
-        let len = split.length - 1;
-        const joinSep = pathImpl.sep;
-        let abs = this.rootPath;
-        let sawFirst = false;
-        for (const part of split) {
-          const l = len--;
-          prev = prev.child(part, {
-            relative: new Array(l).fill("..").join(joinSep),
-            relativePosix: new Array(l).fill("..").join("/"),
-            fullpath: abs += (sawFirst ? "" : joinSep) + part
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
           });
-          sawFirst = true;
         }
-        this.cwd = prev;
+        addSignal(this, signal);
       }
-      /**
-       * Get the depth of a provided path, string, or the cwd
-       */
-      depth(path3 = this.cwd) {
-        if (typeof path3 === "string") {
-          path3 = this.cwd.resolve(path3);
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        return path3.depth();
-      }
-      /**
-       * Return the cache of child entries.  Exposed so subclasses can create
-       * child Path objects in a platform-specific way.
-       *
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
+        this.abort = abort;
+        this.context = context2;
       }
-      /**
-       * Resolve one or more path strings to a resolved string
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolve(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
           }
+          return;
         }
-        const cached = this.#resolveCache.get(r);
-        if (cached !== void 0) {
-          return cached;
-        }
-        const result = this.cwd.resolve(r).fullpath();
-        this.#resolveCache.set(r, result);
-        return result;
-      }
-      /**
-       * Resolve one or more path strings to a resolved string, returning
-       * the posix path.  Identical to .resolve() on posix systems, but on
-       * windows will return a forward-slash separated UNC path.
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolvePosix(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const body = new Readable({ resume, abort, contentType, highWaterMark });
+        this.callback = null;
+        this.res = body;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body,
+              context: context2
+            });
           }
         }
-        const cached = this.#resolvePosixCache.get(r);
-        if (cached !== void 0) {
-          return cached;
-        }
-        const result = this.cwd.resolve(r).fullpathPosix();
-        this.#resolvePosixCache.set(r, result);
-        return result;
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or entry
-       */
-      relative(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.relative();
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      /**
-       * find the relative path from the cwd to the supplied path string or
-       * entry, using / as the path delimiter, even on Windows.
-       */
-      relativePosix(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.relativePosix();
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        util.parseHeaders(trailers, this.trailers);
+        res.push(null);
       }
-      /**
-       * Return the basename for the provided string or Path object
-       */
-      basename(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        return entry.name;
-      }
-      /**
-       * Return the dirname for the provided string or Path object
-       */
-      dirname(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
         }
-        return (entry.parent || entry).fullpath();
-      }
-      async readdir(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        const { withFileTypes } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else {
-          const p = await entry.readdir();
-          return withFileTypes ? p : p.map((e) => e.name);
+      }
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(data);
+          });
+        });
+      }
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      readdirSync(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+    }
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/undici/lib/api/api-stream.js
+var require_api_stream3 = __commonJS({
+  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var { finished, PassThrough } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors5();
+    var util = require_util23();
+    var { getResolveErrorBodyCallback } = require_util25();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        const { withFileTypes = true } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else if (withFileTypes) {
-          return entry.readdirSync();
-        } else {
-          return entry.readdirSync().map((e) => e.name);
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-      }
-      /**
-       * Call lstat() on the string or Path object, and update all known
-       * information that can be determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        return entry.lstat();
+        addSignal(this, signal);
       }
-      /**
-       * synchronous {@link PathScurryBase.lstat}
-       */
-      lstatSync(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
-        return entry.lstatSync();
+        this.abort = abort;
+        this.context = context2;
       }
-      async readlink(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
+          return;
         }
-        const e = await entry.readlink();
-        return withFileTypes ? e : e?.fullpath();
-      }
-      readlinkSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
+          this.callback = null;
+          this.runInAsyncScope(
+            getResolveErrorBodyCallback,
+            null,
+            { callback, body: res, contentType, statusCode, statusMessage, headers }
+          );
+        } else {
+          if (factory === null) {
+            return;
+          }
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
+          });
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
+          }
+          finished(res, { readable: false }, (err) => {
+            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
+            this.res = null;
+            if (err || !res2.readable) {
+              util.destroy(res2, err);
+            }
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
+            }
+          });
         }
-        const e = entry.readlinkSync();
-        return withFileTypes ? e : e?.fullpath();
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
+        return needDrain !== true;
       }
-      async realpath(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.realpath();
-        return withFileTypes ? e : e?.fullpath();
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
       }
-      realpathSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
+          return;
         }
-        const e = entry.realpathSync();
-        return withFileTypes ? e : e?.fullpath();
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
       }
-      async walk(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        const dirs = /* @__PURE__ */ new Set();
-        const walk = (dir, cb) => {
-          dirs.add(dir);
-          dir.readdirCB((er, entries) => {
-            if (er) {
-              return cb(er);
-            }
-            let len = entries.length;
-            if (!len)
-              return cb();
-            const next = () => {
-              if (--len === 0) {
-                cb();
-              }
-            };
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                results.push(withFileTypes ? e : e.fullpath());
-              }
-              if (follow && e.isSymbolicLink()) {
-                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
-              } else {
-                if (e.shouldWalk(dirs, walkFilter)) {
-                  walk(e, next);
-                } else {
-                  next();
-                }
-              }
-            }
-          }, true);
-        };
-        const start = entry;
-        return new Promise((res, rej) => {
-          walk(start, (er) => {
-            if (er)
-              return rej(er);
-            res(results);
+      }
+    };
+    function stream(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          stream.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve2(data);
           });
         });
       }
-      walkSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              results.push(withFileTypes ? e : e.fullpath());
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
-        return results;
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * Support for `for await`
-       *
-       * Alias for {@link PathScurryBase.iterate}
-       *
-       * Note: As of Node 19, this is very slow, compared to other methods of
-       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
-       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
-       */
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    }
+    module2.exports = stream;
+  }
+});
+
+// node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline3 = __commonJS({
+  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable,
+      Duplex,
+      PassThrough
+    } = require("stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors5();
+    var util = require_util23();
+    var { AsyncResource } = require("async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
       }
-      iterate(entry = this.cwd, options = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          options = entry;
-          entry = this.cwd;
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
         }
-        return this.stream(entry, options)[Symbol.asyncIterator]();
       }
-      /**
-       * Iterating over a PathScurry performs a synchronous walk.
-       *
-       * Alias for {@link PathScurryBase.iterateSync}
-       */
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
       }
-      *iterateSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        if (!filter || filter(entry)) {
-          yield withFileTypes ? entry : entry.fullpath();
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              yield withFileTypes ? e : e.fullpath();
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
+    };
+    var PipelineResponse = class extends Readable {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
+      }
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
+        callback(err);
       }
-      stream(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
         }
-        const dirs = /* @__PURE__ */ new Set();
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const onReaddir = (er, entries, didRealpaths = false) => {
-              if (er)
-                return results.emit("error", er);
-              if (follow && !didRealpaths) {
-                const promises2 = [];
-                for (const e of entries) {
-                  if (e.isSymbolicLink()) {
-                    promises2.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
-                  }
-                }
-                if (promises2.length) {
-                  Promise.all(promises2).then(() => onReaddir(null, entries, true));
-                  return;
-                }
-              }
-              for (const e of entries) {
-                if (e && (!filter || filter(e))) {
-                  if (!results.write(withFileTypes ? e : e.fullpath())) {
-                    paused = true;
-                  }
-                }
-              }
-              processing--;
-              for (const e of entries) {
-                const r = e.realpathCached() || e;
-                if (r.shouldWalk(dirs, walkFilter)) {
-                  queue.push(r);
-                }
-              }
-              if (paused && !results.flowing) {
-                results.once("drain", process2);
-              } else if (!sync) {
-                process2();
-              }
-            };
-            let sync = true;
-            dir.readdirCB(onReaddir, true);
-            sync = false;
-          }
-        };
-        process2();
-        return results;
-      }
-      streamSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+        const { signal, method, opaque, onInfo, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        const dirs = /* @__PURE__ */ new Set();
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
         }
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const entries = dir.readdirSync();
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                if (!results.write(withFileTypes ? e : e.fullpath())) {
-                  paused = true;
-                }
-              }
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
+        }
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body && body.resume) {
+              body.resume();
             }
-            processing--;
-            for (const e of entries) {
-              let r = e;
-              if (e.isSymbolicLink()) {
-                if (!(follow && (r = e.realpathSync())))
-                  continue;
-                if (r.isUnknown())
-                  r.lstatSync();
-              }
-              if (r.shouldWalk(dirs, walkFilter)) {
-                queue.push(r);
-              }
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
             }
-          }
-          if (paused && !results.flowing)
-            results.once("drain", process2);
-        };
-        process2();
-        return results;
-      }
-      chdir(path3 = this.cwd) {
-        const oldCwd = this.cwd;
-        this.cwd = typeof path3 === "string" ? this.cwd.resolve(path3) : path3;
-        this.cwd[setAsCwd](oldCwd);
-      }
-    };
-    exports2.PathScurryBase = PathScurryBase;
-    var PathScurryWin32 = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "\\";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
-        this.nocase = nocase;
-        for (let p = this.cwd; p; p = p.parent) {
-          p.nocase = this.nocase;
-        }
-      }
-      /**
-       * @internal
-       */
-      parseRootPath(dir) {
-        return node_path_1.win32.parse(dir).root.toUpperCase();
-      }
-      /**
-       * @internal
-       */
-      newRoot(fs3) {
-        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
+            }
+            if (abort && err) {
+              abort();
+            }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
+          }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
       }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        assert(!res, "pipeline cannot be retried");
+        if (ret.destroyed) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = context2;
       }
-    };
-    exports2.PathScurryWin32 = PathScurryWin32;
-    var PathScurryPosix = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = false } = opts;
-        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
-        this.nocase = nocase;
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
+          }
+          return;
+        }
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
+        }
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
+          }
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
+          }
+        });
+        this.body = body;
       }
-      /**
-       * @internal
-       */
-      parseRootPath(_dir) {
-        return "/";
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
       }
-      /**
-       * @internal
-       */
-      newRoot(fs3) {
-        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs3 });
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
       }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/");
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
       }
     };
-    exports2.PathScurryPosix = PathScurryPosix;
-    var PathScurryDarwin = class extends PathScurryPosix {
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, { ...opts, nocase });
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
       }
-    };
-    exports2.PathScurryDarwin = PathScurryDarwin;
-    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
-    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
+    }
+    module2.exports = pipeline;
   }
 });
 
-// node_modules/glob/dist/commonjs/pattern.js
-var require_pattern = __commonJS({
-  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
+// node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade3 = __commonJS({
+  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pattern = void 0;
-    var minimatch_1 = require_commonjs20();
-    var isPatternList = (pl) => pl.length >= 1;
-    var isGlobList = (gl) => gl.length >= 1;
-    var Pattern = class _Pattern {
-      #patternList;
-      #globList;
-      #index;
-      length;
-      #platform;
-      #rest;
-      #globString;
-      #isDrive;
-      #isUNC;
-      #isAbsolute;
-      #followGlobstar = true;
-      constructor(patternList, globList, index, platform) {
-        if (!isPatternList(patternList)) {
-          throw new TypeError("empty pattern list");
-        }
-        if (!isGlobList(globList)) {
-          throw new TypeError("empty glob list");
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors5();
+    var { AsyncResource } = require("async_hooks");
+    var util = require_util23();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var assert = require("assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (globList.length !== patternList.length) {
-          throw new TypeError("mismatched pattern list and glob list lengths");
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        this.length = patternList.length;
-        if (index < 0 || index >= this.length) {
-          throw new TypeError("index out of range");
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        this.#patternList = patternList;
-        this.#globList = globList;
-        this.#index = index;
-        this.#platform = platform;
-        if (this.#index === 0) {
-          if (this.isUNC()) {
-            const [p0, p1, p2, p3, ...prest] = this.#patternList;
-            const [g0, g1, g2, g3, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = [p0, p1, p2, p3, ""].join("/");
-            const g = [g0, g1, g2, g3, ""].join("/");
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
-          } else if (this.isDrive() || this.isAbsolute()) {
-            const [p1, ...prest] = this.#patternList;
-            const [g1, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = p1 + "/";
-            const g = g1 + "/";
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
-          }
+        super("UNDICI_UPGRADE");
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.abort = null;
+        this.context = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
         }
+        this.abort = abort;
+        this.context = null;
       }
-      /**
-       * The first entry in the parsed list of patterns
-       */
-      pattern() {
-        return this.#patternList[this.#index];
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
       }
-      /**
-       * true of if pattern() returns a string
-       */
-      isString() {
-        return typeof this.#patternList[this.#index] === "string";
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        assert.strictEqual(statusCode, 101);
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
       }
-      /**
-       * true of if pattern() returns GLOBSTAR
-       */
-      isGlobstar() {
-        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      /**
-       * true if pattern() returns a regexp
-       */
-      isRegExp() {
-        return this.#patternList[this.#index] instanceof RegExp;
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(data);
+          });
+        });
       }
-      /**
-       * The /-joined set of glob parts that make up this pattern
-       */
-      globString() {
-        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
+      try {
+        const upgradeHandler = new UpgradeHandler(opts, callback);
+        this.dispatch({
+          ...opts,
+          method: opts.method || "GET",
+          upgrade: opts.protocol || "Websocket"
+        }, upgradeHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * true if there are more pattern parts after this one
-       */
-      hasMore() {
-        return this.length > this.#index + 1;
+    }
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/undici/lib/api/api-connect.js
+var require_api_connect3 = __commonJS({
+  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var { AsyncResource } = require("async_hooks");
+    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors5();
+    var util = require_util23();
+    var { addSignal, removeSignal } = require_abort_signal3();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      /**
-       * The rest of the pattern after this part, or null if this is the end
-       */
-      rest() {
-        if (this.#rest !== void 0)
-          return this.#rest;
-        if (!this.hasMore())
-          return this.#rest = null;
-        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
-        this.#rest.#isAbsolute = this.#isAbsolute;
-        this.#rest.#isUNC = this.#isUNC;
-        this.#rest.#isDrive = this.#isDrive;
-        return this.#rest;
+      onConnect(abort, context2) {
+        if (!this.callback) {
+          throw new RequestAbortedError();
+        }
+        this.abort = abort;
+        this.context = context2;
       }
-      /**
-       * true if the pattern represents a //unc/path/ on windows
-       */
-      isUNC() {
-        const pl = this.#patternList;
-        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      // pattern like C:/...
-      // split = ['C:', ...]
-      // XXX: would be nice to handle patterns like `c:*` to test the cwd
-      // in c: for *, but I don't know of a way to even figure out what that
-      // cwd is without actually chdir'ing into it?
-      /**
-       * True if the pattern starts with a drive letter on Windows
-       */
-      isDrive() {
-        const pl = this.#patternList;
-        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        }
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
       }
-      // pattern = '/' or '/...' or '/x/...'
-      // split = ['', ''] or ['', ...] or ['', 'x', ...]
-      // Drive and UNC both considered absolute on windows
-      /**
-       * True if the pattern is rooted on an absolute path
-       */
-      isAbsolute() {
-        const pl = this.#patternList;
-        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      /**
-       * consume the root of the pattern, and return it
-       */
-      root() {
-        const p = this.#patternList[0];
-        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve2, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve2(data);
+          });
+        });
       }
-      /**
-       * Check to see if the current globstar pattern is allowed to follow
-       * a symbolic link.
-       */
-      checkFollowGlobstar() {
-        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts && opts.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      /**
-       * Mark that the current globstar pattern is following a symbolic link
-       */
-      markFollowGlobstar() {
-        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
-          return false;
-        this.#followGlobstar = false;
-        return true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/undici/lib/api/index.js
+var require_api3 = __commonJS({
+  "node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request3();
+    module2.exports.stream = require_api_stream3();
+    module2.exports.pipeline = require_api_pipeline3();
+    module2.exports.upgrade = require_api_upgrade3();
+    module2.exports.connect = require_api_connect3();
+  }
+});
+
+// node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors5();
+    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _MockNotMatchedError);
+        this.name = "MockNotMatchedError";
+        this.message = message || "The request does not match any registered mock dispatches";
+        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
       }
     };
-    exports2.Pattern = Pattern;
+    module2.exports = {
+      MockNotMatchedError
+    };
   }
 });
 
-// node_modules/glob/dist/commonjs/ignore.js
-var require_ignore = __commonJS({
-  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
+// node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Ignore = void 0;
-    var minimatch_1 = require_commonjs20();
-    var pattern_js_1 = require_pattern();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Ignore = class {
-      relative;
-      relativeChildren;
-      absolute;
-      absoluteChildren;
-      platform;
-      mmopts;
-      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform }) {
-        this.relative = [];
-        this.absolute = [];
-        this.relativeChildren = [];
-        this.absoluteChildren = [];
-        this.platform = platform;
-        this.mmopts = {
-          dot: true,
-          nobrace,
-          nocase,
-          noext,
-          noglobstar,
-          optimizationLevel: 2,
-          platform,
-          nocomment: true,
-          nonegate: true
-        };
-        for (const ign of ignored)
-          this.add(ign);
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols3();
+    var { buildURL, nop } = require_util23();
+    var { STATUS_CODES } = require("http");
+    var {
+      types: {
+        isPromise
       }
-      add(ign) {
-        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
-        for (let i = 0; i < mm.set.length; i++) {
-          const parsed = mm.set[i];
-          const globParts = mm.globParts[i];
-          if (!parsed || !globParts) {
-            throw new Error("invalid pattern object");
-          }
-          while (parsed[0] === "." && globParts[0] === ".") {
-            parsed.shift();
-            globParts.shift();
-          }
-          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
-          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
-          const children = globParts[globParts.length - 1] === "**";
-          const absolute = p.isAbsolute();
-          if (absolute)
-            this.absolute.push(m);
-          else
-            this.relative.push(m);
-          if (children) {
-            if (absolute)
-              this.absoluteChildren.push(m);
-            else
-              this.relativeChildren.push(m);
+    } = require("util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
+      }
+      if (match instanceof RegExp) {
+        return match.test(value);
+      }
+      if (typeof match === "function") {
+        return match(value) === true;
+      }
+      return false;
+    }
+    function lowerCaseEntries(headers) {
+      return Object.fromEntries(
+        Object.entries(headers).map(([headerName, headerValue]) => {
+          return [headerName.toLocaleLowerCase(), headerValue];
+        })
+      );
+    }
+    function getHeaderByName(headers, key) {
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
+            return headers[i + 1];
           }
         }
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
+      } else {
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
       }
-      ignored(p) {
-        const fullpath = p.fullpath();
-        const fullpaths = `${fullpath}/`;
-        const relative = p.relative() || ".";
-        const relatives = `${relative}/`;
-        for (const m of this.relative) {
-          if (m.match(relative) || m.match(relatives))
-            return true;
-        }
-        for (const m of this.absolute) {
-          if (m.match(fullpath) || m.match(fullpaths))
-            return true;
+    }
+    function buildHeadersFromArray(headers) {
+      const clone = headers.slice();
+      const entries = [];
+      for (let index = 0; index < clone.length; index += 2) {
+        entries.push([clone[index], clone[index + 1]]);
+      }
+      return Object.fromEntries(entries);
+    }
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
         }
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+      }
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
+      }
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      childrenIgnored(p) {
-        const fullpath = p.fullpath() + "/";
-        const relative = (p.relative() || ".") + "/";
-        for (const m of this.relativeChildren) {
-          if (m.match(relative))
-            return true;
-        }
-        for (const m of this.absoluteChildren) {
-          if (m.match(fullpath))
-            return true;
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        return false;
       }
-    };
-    exports2.Ignore = Ignore;
-  }
-});
-
-// node_modules/glob/dist/commonjs/processor.js
-var require_processor = __commonJS({
-  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
-    var minimatch_1 = require_commonjs20();
-    var HasWalkedCache = class _HasWalkedCache {
-      store;
-      constructor(store = /* @__PURE__ */ new Map()) {
-        this.store = store;
+      return true;
+    }
+    function safeUrl(path3) {
+      if (typeof path3 !== "string") {
+        return path3;
       }
-      copy() {
-        return new _HasWalkedCache(new Map(this.store));
+      const pathSegments = path3.split("?");
+      if (pathSegments.length !== 2) {
+        return path3;
       }
-      hasWalked(target, pattern) {
-        return this.store.get(target.fullpath())?.has(pattern.globString());
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path3, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path3);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      storeWalked(target, pattern) {
-        const fullpath = target.fullpath();
-        const cached = this.store.get(fullpath);
-        if (cached)
-          cached.add(pattern.globString());
-        else
-          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
+    }
+    function getMockDispatch(mockDispatches, key) {
+      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
+      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path3 }) => matchValue(safeUrl(path3), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-    };
-    exports2.HasWalkedCache = HasWalkedCache;
-    var MatchRecord = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, absolute, ifDir) {
-        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
-        const current = this.store.get(target);
-        this.store.set(target, current === void 0 ? n : n & current);
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
       }
-      // match, absolute, ifdir
-      entries() {
-        return [...this.store.entries()].map(([path3, n]) => [
-          path3,
-          !!(n & 2),
-          !!(n & 1)
-        ]);
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
       }
-    };
-    exports2.MatchRecord = MatchRecord;
-    var SubWalks = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, pattern) {
-        if (!target.canReaddir()) {
-          return;
-        }
-        const subs = this.store.get(target);
-        if (subs) {
-          if (!subs.find((p) => p.globString() === pattern.globString())) {
-            subs.push(pattern);
-          }
-        } else
-          this.store.set(target, [pattern]);
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
       }
-      get(target) {
-        const subs = this.store.get(target);
-        if (!subs) {
-          throw new Error("attempting to walk unknown path");
+      return matchedMockDispatches[0];
+    }
+    function addMockDispatch(mockDispatches, key, data) {
+      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
+      const replyData = typeof data === "function" ? { callback: data } : { ...data };
+      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
+      mockDispatches.push(newMockDispatch);
+      return newMockDispatch;
+    }
+    function deleteMockDispatch(mockDispatches, key) {
+      const index = mockDispatches.findIndex((dispatch) => {
+        if (!dispatch.consumed) {
+          return false;
         }
-        return subs;
+        return matchKey(dispatch, key);
+      });
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
-      entries() {
-        return this.keys().map((k) => [k, this.store.get(k)]);
+    }
+    function buildKey(opts) {
+      const { path: path3, method, body, headers, query } = opts;
+      return {
+        path: path3,
+        method,
+        body,
+        headers,
+        query
+      };
+    }
+    function generateKeyValues(data) {
+      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
+        ...keyValuePairs,
+        Buffer.from(`${key}`),
+        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
+      ], []);
+    }
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
-      keys() {
-        return [...this.store.keys()].filter((t) => t.canReaddir());
+      return Buffer.concat(buffers).toString("utf8");
+    }
+    function mockDispatch(opts, handler2) {
+      const key = buildKey(opts);
+      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
+      mockDispatch2.timesInvoked++;
+      if (mockDispatch2.data.callback) {
+        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
       }
-    };
-    exports2.SubWalks = SubWalks;
-    var Processor = class _Processor {
-      hasWalkedCache;
-      matches = new MatchRecord();
-      subwalks = new SubWalks();
-      patterns;
-      follow;
-      dot;
-      opts;
-      constructor(opts, hasWalkedCache) {
-        this.opts = opts;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      processPatterns(target, patterns) {
-        this.patterns = patterns;
-        const processingSet = patterns.map((p) => [target, p]);
-        for (let [t, pattern] of processingSet) {
-          this.hasWalkedCache.storeWalked(t, pattern);
-          const root = pattern.root();
-          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
-          if (root) {
-            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
-            const rest2 = pattern.rest();
-            if (!rest2) {
-              this.matches.add(t, true, false);
-              continue;
-            } else {
-              pattern = rest2;
-            }
-          }
-          if (t.isENOENT())
-            continue;
-          let p;
-          let rest;
-          let changed = false;
-          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
-            const c = t.resolve(p);
-            t = c;
-            pattern = rest;
-            changed = true;
-          }
-          p = pattern.pattern();
-          rest = pattern.rest();
-          if (changed) {
-            if (this.hasWalkedCache.hasWalked(t, pattern))
-              continue;
-            this.hasWalkedCache.storeWalked(t, pattern);
-          }
-          if (typeof p === "string") {
-            const ifDir = p === ".." || p === "" || p === ".";
-            this.matches.add(t.resolve(p), absolute, ifDir);
-            continue;
-          } else if (p === minimatch_1.GLOBSTAR) {
-            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
-              this.subwalks.add(t, pattern);
-            }
-            const rp = rest?.pattern();
-            const rrest = rest?.rest();
-            if (!rest || (rp === "" || rp === ".") && !rrest) {
-              this.matches.add(t, absolute, rp === "" || rp === ".");
-            } else {
-              if (rp === "..") {
-                const tp = t.parent || t;
-                if (!rrest)
-                  this.matches.add(tp, absolute, true);
-                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
-                  this.subwalks.add(tp, rrest);
-                }
+      if (typeof delay === "number" && delay > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
+        }
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.abort = nop;
+        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData(Buffer.from(responseData));
+        handler2.onComplete(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
+      }
+      function resume() {
+      }
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
+          try {
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
+              }
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
               }
+            } else {
+              throw error3;
             }
-          } else if (p instanceof RegExp) {
-            this.subwalks.add(t, pattern);
           }
+        } else {
+          originalDispatch.call(this, opts, handler2);
+        }
+      };
+    }
+    function checkNetConnect(netConnect, origin) {
+      const url = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
+        return true;
+      }
+      return false;
+    }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
+      }
+    }
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+    "use strict";
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols3();
+    var { InvalidArgumentError } = require_errors5();
+    var { buildURL } = require_util23();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
+      }
+      /**
+       * Delay a reply by a set amount in ms.
+       */
+      delay(waitInMs) {
+        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
+          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
         }
+        this[kMockDispatch].delay = waitInMs;
         return this;
       }
-      subwalkTargets() {
-        return this.subwalks.keys();
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      child() {
-        return new _Processor(this.opts, this.hasWalkedCache);
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+        }
+        this[kMockDispatch].times = repeatTimes;
+        return this;
       }
-      // return a new Processor containing the subwalks for each
-      // child entry, and a set of matches, and
-      // a hasWalkedCache that's a copy of this one
-      // then we're going to call
-      filterEntries(parent, entries) {
-        const patterns = this.subwalks.get(parent);
-        const results = this.child();
-        for (const e of entries) {
-          for (const pattern of patterns) {
-            const absolute = pattern.isAbsolute();
-            const p = pattern.pattern();
-            const rest = pattern.rest();
-            if (p === minimatch_1.GLOBSTAR) {
-              results.testGlobstar(e, pattern, rest, absolute);
-            } else if (p instanceof RegExp) {
-              results.testRegExp(e, p, rest, absolute);
-            } else {
-              results.testString(e, p, rest, absolute);
-            }
+    };
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
+        }
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
+        }
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
+        }
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
+          } else {
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
           }
         }
-        return results;
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
+        }
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-      testGlobstar(e, pattern, rest, absolute) {
-        if (this.dot || !e.name.startsWith(".")) {
-          if (!pattern.hasMore()) {
-            this.matches.add(e, absolute, false);
-          }
-          if (e.canReaddir()) {
-            if (this.follow || !e.isSymbolicLink()) {
-              this.subwalks.add(e, pattern);
-            } else if (e.isSymbolicLink()) {
-              if (rest && pattern.checkFollowGlobstar()) {
-                this.subwalks.add(e, rest);
-              } else if (pattern.markFollowGlobstar()) {
-                this.subwalks.add(e, pattern);
-              }
+      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
+        const responseData = getResponseData2(data);
+        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
+        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
+        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
+        return { statusCode, data, headers, trailers };
+      }
+      validateReplyParameters(statusCode, data, responseOptions) {
+        if (typeof statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
+        }
+        if (typeof data === "undefined") {
+          throw new InvalidArgumentError("data must be defined");
+        }
+        if (typeof responseOptions !== "object") {
+          throw new InvalidArgumentError("responseOptions must be an object");
+        }
+      }
+      /**
+       * Mock an undici request with a defined reply.
+       */
+      reply(replyData) {
+        if (typeof replyData === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyData(opts);
+            if (typeof resolvedData !== "object") {
+              throw new InvalidArgumentError("reply options callback must return an object");
             }
-          }
+            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
+            this.validateReplyParameters(statusCode2, data2, responseOptions2);
+            return {
+              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
         }
-        if (rest) {
-          const rp = rest.pattern();
-          if (typeof rp === "string" && // dots and empty were handled already
-          rp !== ".." && rp !== "" && rp !== ".") {
-            this.testString(e, rp, rest.rest(), absolute);
-          } else if (rp === "..") {
-            const ep = e.parent || e;
-            this.subwalks.add(ep, rest);
-          } else if (rp instanceof RegExp) {
-            this.testRegExp(e, rp, rest.rest(), absolute);
-          }
+        const [statusCode, data = "", responseOptions = {}] = [...arguments];
+        this.validateReplyParameters(statusCode, data, responseOptions);
+        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
+      }
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
         }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
-      testRegExp(e, p, rest, absolute) {
-        if (!p.test(e.name))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
+      /**
+       * Set default reply headers on the interceptor for subsequent replies
+       */
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
         }
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-      testString(e, p, rest, absolute) {
-        if (!e.isNamed(p))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
+      /**
+       * Set default reply trailers on the interceptor for subsequent replies
+       */
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
         }
+        this[kDefaultTrailers] = trailers;
+        return this;
+      }
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
     };
-    exports2.Processor = Processor;
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/glob/dist/commonjs/walker.js
-var require_walker = __commonJS({
-  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
+// node_modules/undici/lib/mock/mock-client.js
+var require_mock_client3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
-    var minipass_1 = require_commonjs22();
-    var ignore_js_1 = require_ignore();
-    var processor_js_1 = require_processor();
-    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
-    var GlobUtil = class {
-      path;
-      patterns;
-      opts;
-      seen = /* @__PURE__ */ new Set();
-      paused = false;
-      aborted = false;
-      #onResume = [];
-      #ignore;
-      #sep;
-      signal;
-      maxDepth;
-      includeChildMatches;
-      constructor(patterns, path3, opts) {
-        this.patterns = patterns;
-        this.path = path3;
-        this.opts = opts;
-        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        if (opts.ignore || !this.includeChildMatches) {
-          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
-          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
-            const m = "cannot ignore child matches, ignore lacks add() method.";
-            throw new Error(m);
-          }
-        }
-        this.maxDepth = opts.maxDepth || Infinity;
-        if (opts.signal) {
-          this.signal = opts.signal;
-          this.signal.addEventListener("abort", () => {
-            this.#onResume.length = 0;
-          });
+    var { promisify } = require("util");
+    var Client = require_client3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors5();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      #ignored(path3) {
-        return this.seen.has(path3) || !!this.#ignore?.ignored?.(path3);
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      #childrenIgnored(path3) {
-        return !!this.#ignore?.childrenIgnored?.(path3);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      // backpressure mechanism
-      pause() {
-        this.paused = true;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      resume() {
-        if (this.signal?.aborted)
-          return;
-        this.paused = false;
-        let fn = void 0;
-        while (!this.paused && (fn = this.#onResume.shift())) {
-          fn();
+    };
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("util");
+    var Pool = require_pool3();
+    var { buildMockDispatch } = require_mock_utils3();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols3();
+    var { MockInterceptor } = require_mock_interceptor3();
+    var Symbols = require_symbols11();
+    var { InvalidArgumentError } = require_errors5();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      onResume(fn) {
-        if (this.signal?.aborted)
-          return;
-        if (!this.paused) {
-          fn();
-        } else {
-          this.#onResume.push(fn);
-        }
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      // do the requisite realpath/stat checking, and return the path
-      // to add or undefined to filter it out.
-      async matchCheck(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || await e.realpath();
-          if (!rpc)
-            return void 0;
-          e = rpc;
-        }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? await e.lstat() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = await s.realpath();
-          if (target && (target.isUnknown() || this.opts.stat)) {
-            await target.lstat();
-          }
-        }
-        return this.matchCheckTest(s, ifDir);
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      matchCheckTest(e, ifDir) {
-        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      matchCheckSync(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || e.realpathSync();
-          if (!rpc)
-            return void 0;
-          e = rpc;
-        }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? e.lstatSync() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = s.realpathSync();
-          if (target && (target?.isUnknown() || this.opts.stat)) {
-            target.lstatSync();
+    };
+    module2.exports = MockPool;
+  }
+});
+
+// node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer3 = __commonJS({
+  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
+    "use strict";
+    var singulars = {
+      pronoun: "it",
+      is: "is",
+      was: "was",
+      this: "this"
+    };
+    var plurals = {
+      pronoun: "they",
+      is: "are",
+      was: "were",
+      this: "these"
+    };
+    module2.exports = class Pluralizer {
+      constructor(singular, plural) {
+        this.singular = singular;
+        this.plural = plural;
+      }
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
+      }
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter3 = __commonJS({
+  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("stream");
+    var { Console } = require("console");
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
           }
-        }
-        return this.matchCheckTest(s, ifDir);
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
+          }
+        });
       }
-      matchFinish(e, absolute) {
-        if (this.#ignored(e))
-          return;
-        if (!this.includeChildMatches && this.#ignore?.add) {
-          const ign = `${e.relativePosix()}/**`;
-          this.#ignore.add(ign);
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path3, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path3,
+            "Status code": statusCode,
+            Persistent: persist ? "\u2705" : "\u274C",
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
+      }
+    };
+  }
+});
+
+// node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent3 = __commonJS({
+  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
+    "use strict";
+    var { kClients } = require_symbols11();
+    var Agent = require_agent3();
+    var {
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols3();
+    var MockClient = require_mock_client3();
+    var MockPool = require_mock_pool3();
+    var { matchValue, buildMockOptions } = require_mock_utils3();
+    var { InvalidArgumentError, UndiciError } = require_errors5();
+    var Dispatcher = require_dispatcher3();
+    var Pluralizer = require_pluralizer3();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter3();
+    var FakeWeakRef = class {
+      constructor(value) {
+        this.value = value;
+      }
+      deref() {
+        return this.value;
+      }
+    };
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
-        this.seen.add(e);
-        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
-        if (this.opts.withFileTypes) {
-          this.matchEmit(e);
-        } else if (abs) {
-          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
-          this.matchEmit(abs2 + mark);
-        } else {
-          const rel = this.opts.posix ? e.relativePosix() : e.relative();
-          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
-          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
+        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
+      }
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
+        return dispatcher;
       }
-      async match(e, absolute, ifDir) {
-        const p = await this.matchCheck(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
       }
-      matchSync(e, absolute, ifDir) {
-        const p = this.matchCheckSync(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
       }
-      walkCB(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      deactivate() {
+        this[kIsMockActive] = false;
       }
-      walkCB2(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
-          }
-          tasks++;
-          const childrenCached = t.readdirCached();
-          if (t.calledReaddir())
-            this.walkCB3(t, childrenCached, processor, next);
-          else {
-            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
-          }
-        }
-        next();
+      activate() {
+        this[kIsMockActive] = true;
       }
-      walkCB3(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2(target2, patterns, processor.child(), next);
+      enableNetConnect(matcher) {
+        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
+          if (Array.isArray(this[kNetConnect])) {
+            this[kNetConnect].push(matcher);
+          } else {
+            this[kNetConnect] = [matcher];
+          }
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        next();
       }
-      walkCBSync(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      walkCB2Sync(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
-          return;
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
+      }
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      }
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const ref = this[kClients].get(origin);
+        if (ref) {
+          return ref.deref();
         }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
         }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
+        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
+          const nonExplicitDispatcher = nonExplicitRef.deref();
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
-          tasks++;
-          const children = t.readdirSync();
-          this.walkCB3Sync(t, children, processor, next);
         }
-        next();
       }
-      walkCB3Sync(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2Sync(target2, patterns, processor.child(), next);
+      [kGetNetConnect]() {
+        return this[kNetConnect];
+      }
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      }
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
+          return;
         }
-        next();
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    exports2.GlobUtil = GlobUtil;
-    var GlobWalker = class extends GlobUtil {
-      matches = /* @__PURE__ */ new Set();
-      constructor(patterns, path3, opts) {
-        super(patterns, path3, opts);
+    module2.exports = MockAgent;
+  }
+});
+
+// node_modules/undici/lib/proxy-agent.js
+var require_proxy_agent3 = __commonJS({
+  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols11();
+    var { URL: URL2 } = require("url");
+    var Agent = require_agent3();
+    var Pool = require_pool3();
+    var DispatcherBase = require_dispatcher_base3();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors5();
+    var buildConnector = require_connect3();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function buildProxyOptions(opts) {
+      if (typeof opts === "string") {
+        opts = { uri: opts };
       }
-      matchEmit(e) {
-        this.matches.add(e);
+      if (!opts || !opts.uri) {
+        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
       }
-      async walk() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          await this.path.lstat();
+      return {
+        uri: opts.uri,
+        protocol: opts.protocol || "https"
+      };
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super(opts);
+        this[kProxy] = buildProxyOptions(opts);
+        this[kAgent] = new Agent(opts);
+        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        if (typeof opts === "string") {
+          opts = { uri: opts };
         }
-        await new Promise((res, rej) => {
-          this.walkCB(this.path, this.patterns, () => {
-            if (this.signal?.aborted) {
-              rej(this.signal.reason);
-            } else {
-              res(this.matches);
+        if (!opts || !opts.uri) {
+          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+        }
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
+        }
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        const resolvedUrl = new URL2(opts.uri);
+        const { origin, port, host, username, password } = resolvedUrl;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
+        }
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        this[kClient] = clientFactory(resolvedUrl, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          connect: async (opts2, callback) => {
+            let requestedHost = opts2.host;
+            if (!opts2.port) {
+              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
             }
-          });
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedHost,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host
+                }
+              });
+              if (statusCode !== 200) {
+                socket.on("error", () => {
+                }).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              callback(err);
+            }
+          }
         });
-        return this.matches;
       }
-      walkSync() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => {
-          if (this.signal?.aborted)
-            throw this.signal.reason;
-        });
-        return this.matches;
+      dispatch(opts, handler2) {
+        const { host } = new URL2(opts.origin);
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers: {
+              ...headers,
+              host
+            }
+          },
+          handler2
+        );
       }
-    };
-    exports2.GlobWalker = GlobWalker;
-    var GlobStream = class extends GlobUtil {
-      results;
-      constructor(patterns, path3, opts) {
-        super(patterns, path3, opts);
-        this.results = new minipass_1.Minipass({
-          signal: this.signal,
-          objectMode: true
-        });
-        this.results.on("drain", () => this.resume());
-        this.results.on("resume", () => this.resume());
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      matchEmit(e) {
-        this.results.write(e);
-        if (!this.results.flowing)
-          this.pause();
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
-      stream() {
-        const target = this.path;
-        if (target.isUnknown()) {
-          target.lstat().then(() => {
-            this.walkCB(target, this.patterns, () => this.results.end());
-          });
-        } else {
-          this.walkCB(target, this.patterns, () => this.results.end());
+    };
+    function buildHeaders(headers) {
+      if (Array.isArray(headers)) {
+        const headersPair = {};
+        for (let i = 0; i < headers.length; i += 2) {
+          headersPair[headers[i]] = headers[i + 1];
         }
-        return this.results;
+        return headersPair;
       }
-      streamSync() {
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => this.results.end());
-        return this.results;
+      return headers;
+    }
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
       }
-    };
-    exports2.GlobStream = GlobStream;
+    }
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/glob/dist/commonjs/glob.js
-var require_glob = __commonJS({
-  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Glob = void 0;
-    var minimatch_1 = require_commonjs20();
-    var node_url_1 = require("node:url");
-    var path_scurry_1 = require_commonjs23();
-    var pattern_js_1 = require_pattern();
-    var walker_js_1 = require_walker();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Glob = class {
-      absolute;
-      cwd;
-      root;
-      dot;
-      dotRelative;
-      follow;
-      ignore;
-      magicalBraces;
-      mark;
-      matchBase;
-      maxDepth;
-      nobrace;
-      nocase;
-      nodir;
-      noext;
-      noglobstar;
-      pattern;
-      platform;
-      realpath;
-      scurry;
-      stat;
-      signal;
-      windowsPathsNoEscape;
-      withFileTypes;
-      includeChildMatches;
-      /**
-       * The options provided to the constructor.
-       */
-      opts;
-      /**
-       * An array of parsed immutable {@link Pattern} objects.
-       */
-      patterns;
-      /**
-       * All options are stored as properties on the `Glob` object.
-       *
-       * See {@link GlobOptions} for full options descriptions.
-       *
-       * Note that a previous `Glob` object can be passed as the
-       * `GlobOptions` to another `Glob` instantiation to re-use settings
-       * and caches with a new pattern.
-       *
-       * Traversal functions can be called multiple times to run the walk
-       * again.
-       */
-      constructor(pattern, opts) {
-        if (!opts)
-          throw new TypeError("glob options required");
-        this.withFileTypes = !!opts.withFileTypes;
-        this.signal = opts.signal;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.dotRelative = !!opts.dotRelative;
-        this.nodir = !!opts.nodir;
-        this.mark = !!opts.mark;
-        if (!opts.cwd) {
-          this.cwd = "";
-        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
-          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
+// node_modules/undici/lib/handler/RetryHandler.js
+var require_RetryHandler = __commonJS({
+  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
+    var assert = require("assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols11();
+    var { RequestRetryError } = require_errors5();
+    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util23();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      const diff = new Date(retryAfter).getTime() - current;
+      return diff;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = dispatchOpts;
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          timeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "ECONNRESET",
+            "ECONNREFUSED",
+            "ENOTFOUND",
+            "ENETDOWN",
+            "ENETUNREACH",
+            "EHOSTDOWN",
+            "EHOSTUNREACH",
+            "EPIPE"
+          ]
+        };
+        this.retryCount = 0;
+        this.start = 0;
+        this.end = null;
+        this.etag = null;
+        this.resume = null;
+        this.handler.onConnect((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
+          }
+        });
+      }
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
         }
-        this.cwd = opts.cwd || "";
-        this.root = opts.root;
-        this.magicalBraces = !!opts.magicalBraces;
-        this.nobrace = !!opts.nobrace;
-        this.noext = !!opts.noext;
-        this.realpath = !!opts.realpath;
-        this.absolute = opts.absolute;
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        this.noglobstar = !!opts.noglobstar;
-        this.matchBase = !!opts.matchBase;
-        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
-        this.stat = !!opts.stat;
-        this.ignore = opts.ignore;
-        if (this.withFileTypes && this.absolute !== void 0) {
-          throw new Error("cannot set absolute and withFileTypes:true");
+      }
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
         }
-        if (typeof pattern === "string") {
-          pattern = [pattern];
+      }
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
         }
-        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
+      }
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      }
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          timeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        let { counter, currentTimeout } = state;
+        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
+        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
+        }
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
+        }
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
+        }
+        if (counter > maxRetries) {
+          cb(err);
+          return;
+        }
+        let retryAfterHeader = headers != null && headers["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
+        state.currentTimeout = retryTimeout;
+        setTimeout(() => cb(null), retryTimeout);
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          this.abort(
+            new RequestRetryError("Request failed", statusCode, {
+              headers,
+              count: this.retryCount
+            })
+          );
+          return false;
         }
-        if (this.matchBase) {
-          if (opts.noglobstar) {
-            throw new TypeError("base matching requires globstar");
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206) {
+            return true;
           }
-          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                count: this.retryCount
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
         }
-        this.pattern = pattern;
-        this.platform = opts.platform || defaultPlatform;
-        this.opts = { ...opts, platform: this.platform };
-        if (opts.scurry) {
-          this.scurry = opts.scurry;
-          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
-            throw new Error("nocase option contradicts provided scurry option");
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
+            }
+            const { start, size, end = size } = range;
+            assert(
+              start != null && Number.isFinite(start) && this.start !== start,
+              "content-range mismatch"
+            );
+            assert(Number.isFinite(start));
+            assert(
+              end != null && Number.isFinite(end) && this.end !== end,
+              "invalid content-length"
+            );
+            this.start = start;
+            this.end = end;
           }
-        } else {
-          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
-          this.scurry = new Scurry(this.cwd, {
-            nocase: opts.nocase,
-            fs: opts.fs
-          });
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) : null;
+          }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
         }
-        this.nocase = this.scurry.nocase;
-        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
-        const mmo = {
-          // default nocase based on platform
-          ...opts,
-          dot: this.dot,
-          matchBase: this.matchBase,
-          nobrace: this.nobrace,
-          nocase: this.nocase,
-          nocaseMagicOnly,
-          nocomment: true,
-          noext: this.noext,
-          nonegate: true,
-          optimizationLevel: 2,
-          platform: this.platform,
-          windowsPathsNoEscape: this.windowsPathsNoEscape,
-          debug: !!this.opts.debug
-        };
-        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
-        const [matchSet, globParts] = mms.reduce((set2, m) => {
-          set2[0].push(...m.set);
-          set2[1].push(...m.globParts);
-          return set2;
-        }, [[], []]);
-        this.patterns = matchSet.map((set2, i) => {
-          const g = globParts[i];
-          if (!g)
-            throw new Error("invalid pattern object");
-          return new pattern_js_1.Pattern(set2, g, 0, this.platform);
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          count: this.retryCount
         });
+        this.abort(err);
+        return false;
       }
-      async walk() {
-        return [
-          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walk()
-        ];
-      }
-      walkSync() {
-        return [
-          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walkSync()
-        ];
-      }
-      stream() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).stream();
-      }
-      streamSync() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).streamSync();
-      }
-      /**
-       * Default sync iteration function. Returns a Generator that
-       * iterates over the results.
-       */
-      iterateSync() {
-        return this.streamSync()[Symbol.iterator]();
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      [Symbol.iterator]() {
-        return this.iterateSync();
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      /**
-       * Default async iteration function. Returns an AsyncGenerator that
-       * iterates over the results.
-       */
-      iterate() {
-        return this.stream()[Symbol.asyncIterator]();
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
+          },
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
+          }
+          if (this.start !== 0) {
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                range: `bytes=${this.start}-${this.end ?? ""}`
+              }
+            };
+          }
+          try {
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
+          }
+        }
       }
-      [Symbol.asyncIterator]() {
-        return this.iterate();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/undici/lib/global.js
+var require_global6 = __commonJS({
+  "node_modules/undici/lib/global.js"(exports2, module2) {
+    "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
+    var { InvalidArgumentError } = require_errors5();
+    var Agent = require_agent3();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
+    }
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
     };
-    exports2.Glob = Glob;
   }
 });
 
-// node_modules/glob/dist/commonjs/has-magic.js
-var require_has_magic = __commonJS({
-  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
+// node_modules/undici/lib/handler/DecoratorHandler.js
+var require_DecoratorHandler = __commonJS({
+  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hasMagic = void 0;
-    var minimatch_1 = require_commonjs20();
-    var hasMagic = (pattern, options = {}) => {
-      if (!Array.isArray(pattern)) {
-        pattern = [pattern];
+    module2.exports = class DecoratorHandler {
+      constructor(handler2) {
+        this.handler = handler2;
       }
-      for (const p of pattern) {
-        if (new minimatch_1.Minimatch(p, options).hasMagic())
-          return true;
+      onConnect(...args) {
+        return this.handler.onConnect(...args);
+      }
+      onError(...args) {
+        return this.handler.onError(...args);
+      }
+      onUpgrade(...args) {
+        return this.handler.onUpgrade(...args);
+      }
+      onHeaders(...args) {
+        return this.handler.onHeaders(...args);
+      }
+      onData(...args) {
+        return this.handler.onData(...args);
+      }
+      onComplete(...args) {
+        return this.handler.onComplete(...args);
+      }
+      onBodySent(...args) {
+        return this.handler.onBodySent(...args);
       }
-      return false;
     };
-    exports2.hasMagic = hasMagic;
   }
 });
 
-// node_modules/glob/dist/commonjs/index.js
-var require_commonjs24 = __commonJS({
-  "node_modules/glob/dist/commonjs/index.js"(exports2) {
+// node_modules/undici/lib/fetch/headers.js
+var require_headers4 = __commonJS({
+  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
-    exports2.globStreamSync = globStreamSync;
-    exports2.globStream = globStream;
-    exports2.globSync = globSync;
-    exports2.globIterateSync = globIterateSync;
-    exports2.globIterate = globIterate;
-    var minimatch_1 = require_commonjs20();
-    var glob_js_1 = require_glob();
-    var has_magic_js_1 = require_has_magic();
-    var minimatch_2 = require_commonjs20();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return minimatch_2.escape;
-    } });
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return minimatch_2.unescape;
-    } });
-    var glob_js_2 = require_glob();
-    Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
-      return glob_js_2.Glob;
-    } });
-    var has_magic_js_2 = require_has_magic();
-    Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
-      return has_magic_js_2.hasMagic;
-    } });
-    var ignore_js_1 = require_ignore();
-    Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
-      return ignore_js_1.Ignore;
-    } });
-    function globStreamSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).streamSync();
-    }
-    function globStream(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).stream();
-    }
-    function globSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walkSync();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var { kGuard } = require_symbols12();
+    var { kEnumerableProperty } = require_util23();
+    var {
+      makeIterator,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util24();
+    var util = require("util");
+    var { webidl } = require_webidl3();
+    var assert = require("assert");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
     }
-    async function glob_(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walk();
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
+      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
     }
-    function globIterateSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterateSync();
+    function fill(headers, object) {
+      if (Array.isArray(object)) {
+        for (let i = 0; i < object.length; ++i) {
+          const header = object[i];
+          if (header.length !== 2) {
+            throw webidl.errors.exception({
+              header: "Headers constructor",
+              message: `expected name/value pair to be length 2, found ${header.length}.`
+            });
+          }
+          appendHeader(headers, header[0], header[1]);
+        }
+      } else if (typeof object === "object" && object !== null) {
+        const keys = Object.keys(object);
+        for (let i = 0; i < keys.length; ++i) {
+          appendHeader(headers, keys[i], object[keys[i]]);
+        }
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
+      }
     }
-    function globIterate(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterate();
+    function appendHeader(headers, name, value) {
+      value = headerValueNormalize(value);
+      if (!isValidHeaderName(name)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value: name,
+          type: "header name"
+        });
+      } else if (!isValidHeaderValue(value)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value,
+          type: "header value"
+        });
+      }
+      if (headers[kGuard] === "immutable") {
+        throw new TypeError("immutable");
+      } else if (headers[kGuard] === "request-no-cors") {
+      }
+      return headers[kHeadersList].append(name, value);
     }
-    exports2.streamSync = globStreamSync;
-    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
-    exports2.iterateSync = globIterateSync;
-    exports2.iterate = Object.assign(globIterate, {
-      sync: globIterateSync
-    });
-    exports2.sync = Object.assign(globSync, {
-      stream: globStreamSync,
-      iterate: globIterateSync
-    });
-    exports2.glob = Object.assign(glob_, {
-      glob: glob_,
-      globSync,
-      sync: exports2.sync,
-      globStream,
-      stream: exports2.stream,
-      globStreamSync,
-      streamSync: exports2.streamSync,
-      globIterate,
-      iterate: exports2.iterate,
-      globIterateSync,
-      iterateSync: exports2.iterateSync,
-      Glob: glob_js_1.Glob,
-      hasMagic: has_magic_js_1.hasMagic,
-      escape: minimatch_1.escape,
-      unescape: minimatch_1.unescape
-    });
-    exports2.glob.glob = exports2.glob;
-  }
-});
-
-// node_modules/archiver-utils/file.js
-var require_file4 = __commonJS({
-  "node_modules/archiver-utils/file.js"(exports2, module2) {
-    var fs3 = require_graceful_fs();
-    var path3 = require("path");
-    var flatten = require_flatten();
-    var difference = require_difference();
-    var union = require_union();
-    var isPlainObject3 = require_isPlainObject();
-    var glob2 = require_commonjs24();
-    var file = module2.exports = {};
-    var pathSeparatorRe = /[\/\\]/g;
-    var processPatterns = function(patterns, fn) {
-      var result = [];
-      flatten(patterns).forEach(function(pattern) {
-        var exclusion = pattern.indexOf("!") === 0;
-        if (exclusion) {
-          pattern = pattern.slice(1);
+    var HeadersList = class _HeadersList {
+      /** @type {[string, string][]|null} */
+      cookies = null;
+      constructor(init) {
+        if (init instanceof _HeadersList) {
+          this[kHeadersMap] = new Map(init[kHeadersMap]);
+          this[kHeadersSortedMap] = init[kHeadersSortedMap];
+          this.cookies = init.cookies === null ? null : [...init.cookies];
+        } else {
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
         }
-        var matches = fn(pattern);
-        if (exclusion) {
-          result = difference(result, matches);
+      }
+      // https://fetch.spec.whatwg.org/#header-list-contains
+      contains(name) {
+        name = name.toLowerCase();
+        return this[kHeadersMap].has(name);
+      }
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-append
+      append(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
+          });
         } else {
-          result = union(result, matches);
+          this[kHeadersMap].set(lowercaseName, { name, value });
+        }
+        if (lowercaseName === "set-cookie") {
+          this.cookies ??= [];
+          this.cookies.push(value);
+        }
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-set
+      set(name, value) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
+        }
+        this[kHeadersMap].set(lowercaseName, { name, value });
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-delete
+      delete(name) {
+        this[kHeadersSortedMap] = null;
+        name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
+        }
+        this[kHeadersMap].delete(name);
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-get
+      get(name) {
+        const value = this[kHeadersMap].get(name.toLowerCase());
+        return value === void 0 ? null : value.value;
+      }
+      *[Symbol.iterator]() {
+        for (const [name, { value }] of this[kHeadersMap]) {
+          yield [name, value];
         }
-      });
-      return result;
-    };
-    file.exists = function() {
-      var filepath = path3.join.apply(path3, arguments);
-      return fs3.existsSync(filepath);
-    };
-    file.expand = function(...args) {
-      var options = isPlainObject3(args[0]) ? args.shift() : {};
-      var patterns = Array.isArray(args[0]) ? args[0] : args;
-      if (patterns.length === 0) {
-        return [];
       }
-      var matches = processPatterns(patterns, function(pattern) {
-        return glob2.sync(pattern, options);
-      });
-      if (options.filter) {
-        matches = matches.filter(function(filepath) {
-          filepath = path3.join(options.cwd || "", filepath);
-          try {
-            if (typeof options.filter === "function") {
-              return options.filter(filepath);
-            } else {
-              return fs3.statSync(filepath)[options.filter]();
-            }
-          } catch (e) {
-            return false;
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-        });
+        }
+        return headers;
       }
-      return matches;
     };
-    file.expandMapping = function(patterns, destBase, options) {
-      options = Object.assign({
-        rename: function(destBase2, destPath) {
-          return path3.join(destBase2 || "", destPath);
-        }
-      }, options);
-      var files = [];
-      var fileByDest = {};
-      file.expand(options, patterns).forEach(function(src) {
-        var destPath = src;
-        if (options.flatten) {
-          destPath = path3.basename(destPath);
-        }
-        if (options.ext) {
-          destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
+    var Headers = class _Headers {
+      constructor(init = void 0) {
+        if (init === kConstruct) {
+          return;
         }
-        var dest = options.rename(destBase, destPath, options);
-        if (options.cwd) {
-          src = path3.join(options.cwd, src);
+        this[kHeadersList] = new HeadersList();
+        this[kGuard] = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init);
+          fill(this, init);
         }
-        dest = dest.replace(pathSeparatorRe, "/");
-        src = src.replace(pathSeparatorRe, "/");
-        if (fileByDest[dest]) {
-          fileByDest[dest].src.push(src);
-        } else {
-          files.push({
-            src: [src],
-            dest
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
           });
-          fileByDest[dest] = files[files.length - 1];
         }
-      });
-      return files;
-    };
-    file.normalizeFilesArray = function(data) {
-      var files = [];
-      data.forEach(function(obj) {
-        var prop;
-        if ("src" in obj || "dest" in obj) {
-          files.push(obj);
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
         }
-      });
-      if (files.length === 0) {
-        return [];
-      }
-      files = _(files).chain().forEach(function(obj) {
-        if (!("src" in obj) || !obj.src) {
+        if (!this[kHeadersList].contains(name)) {
           return;
         }
-        if (Array.isArray(obj.src)) {
-          obj.src = flatten(obj.src);
-        } else {
-          obj.src = [obj.src];
+        this[kHeadersList].delete(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.get",
+            value: name,
+            type: "header name"
+          });
         }
-      }).map(function(obj) {
-        var expandOptions = Object.assign({}, obj);
-        delete expandOptions.src;
-        delete expandOptions.dest;
-        if (obj.expand) {
-          return file.expandMapping(obj.src, obj.dest, expandOptions).map(function(mapObj) {
-            var result2 = Object.assign({}, obj);
-            result2.orig = Object.assign({}, obj);
-            result2.src = mapObj.src;
-            result2.dest = mapObj.dest;
-            ["expand", "cwd", "flatten", "rename", "ext"].forEach(function(prop) {
-              delete result2[prop];
-            });
-            return result2;
+        return this[kHeadersList].get(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
+        name = webidl.converters.ByteString(name);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.has",
+            value: name,
+            type: "header name"
           });
         }
-        var result = Object.assign({}, obj);
-        result.orig = Object.assign({}, obj);
-        if ("src" in result) {
-          Object.defineProperty(result, "src", {
-            enumerable: true,
-            get: function fn() {
-              var src;
-              if (!("result" in fn)) {
-                src = obj.src;
-                src = Array.isArray(src) ? flatten(src) : [src];
-                fn.result = file.expand(expandOptions, src);
-              }
-              return fn.result;
-            }
+        return this[kHeadersList].contains(name);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
+        name = webidl.converters.ByteString(name);
+        value = webidl.converters.ByteString(value);
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value: name,
+            type: "header name"
+          });
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.set",
+            value,
+            type: "header value"
           });
         }
-        if ("dest" in result) {
-          result.dest = obj.dest;
+        if (this[kGuard] === "immutable") {
+          throw new TypeError("immutable");
+        } else if (this[kGuard] === "request-no-cors") {
         }
-        return result;
-      }).flatten().value();
-      return files;
-    };
-  }
-});
-
-// node_modules/archiver-utils/index.js
-var require_archiver_utils = __commonJS({
-  "node_modules/archiver-utils/index.js"(exports2, module2) {
-    var fs3 = require_graceful_fs();
-    var path3 = require("path");
-    var isStream = require_is_stream();
-    var lazystream = require_lazystream();
-    var normalizePath = require_normalize_path();
-    var defaults = require_defaults();
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var utils = module2.exports = {};
-    utils.file = require_file4();
-    utils.collectStream = function(source, callback) {
-      var collection = [];
-      var size = 0;
-      source.on("error", callback);
-      source.on("data", function(chunk) {
-        collection.push(chunk);
-        size += chunk.length;
-      });
-      source.on("end", function() {
-        var buf = Buffer.alloc(size);
-        var offset = 0;
-        collection.forEach(function(data) {
-          data.copy(buf, offset);
-          offset += data.length;
-        });
-        callback(null, buf);
-      });
-    };
-    utils.dateify = function(dateish) {
-      dateish = dateish || /* @__PURE__ */ new Date();
-      if (dateish instanceof Date) {
-        dateish = dateish;
-      } else if (typeof dateish === "string") {
-        dateish = new Date(dateish);
-      } else {
-        dateish = /* @__PURE__ */ new Date();
-      }
-      return dateish;
-    };
-    utils.defaults = function(object, source, guard) {
-      var args = arguments;
-      args[0] = args[0] || {};
-      return defaults(...args);
-    };
-    utils.isStream = function(source) {
-      return isStream(source);
-    };
-    utils.lazyReadStream = function(filepath) {
-      return new lazystream.Readable(function() {
-        return fs3.createReadStream(filepath);
-      });
-    };
-    utils.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (utils.isStream(source)) {
-        return source.pipe(new PassThrough());
+        this[kHeadersList].set(name, value);
       }
-      return source;
-    };
-    utils.sanitizePath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-    };
-    utils.trailingSlashIt = function(str2) {
-      return str2.slice(-1) !== "/" ? str2 + "/" : str2;
-    };
-    utils.unixifyPath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "");
-    };
-    utils.walkdir = function(dirpath, base, callback) {
-      var results = [];
-      if (typeof base === "function") {
-        callback = base;
-        base = dirpath;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this[kHeadersList].cookies;
+        if (list) {
+          return [...list];
+        }
+        return [];
       }
-      fs3.readdir(dirpath, function(err, list) {
-        var i = 0;
-        var file;
-        var filepath;
-        if (err) {
-          return callback(err);
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this[kHeadersList][kHeadersSortedMap]) {
+          return this[kHeadersList][kHeadersSortedMap];
         }
-        (function next() {
-          file = list[i++];
-          if (!file) {
-            return callback(null, results);
-          }
-          filepath = path3.join(dirpath, file);
-          fs3.stat(filepath, function(err2, stats) {
-            results.push({
-              path: filepath,
-              relative: path3.relative(base, filepath).replace(/\\/g, "/"),
-              stats
-            });
-            if (stats && stats.isDirectory()) {
-              utils.walkdir(filepath, base, function(err3, res) {
-                if (err3) {
-                  return callback(err3);
-                }
-                res.forEach(function(dirEntry) {
-                  results.push(dirEntry);
-                });
-                next();
-              });
-            } else {
-              next();
+        const headers = [];
+        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
+        const cookies = this[kHeadersList].cookies;
+        for (let i = 0; i < names.length; ++i) {
+          const [name, value] = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
             }
-          });
-        })();
-      });
-    };
-  }
-});
-
-// node_modules/archiver/lib/error.js
-var require_error3 = __commonJS({
-  "node_modules/archiver/lib/error.js"(exports2, module2) {
-    var util = require("util");
-    var ERROR_CODES = {
-      "ABORTED": "archive was aborted",
-      "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
-      "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
-      "ENTRYNAMEREQUIRED": "entry name must be a non-empty string value",
-      "FILEFILEPATHREQUIRED": "file filepath argument must be a non-empty string value",
-      "FINALIZING": "archive already finalizing",
-      "QUEUECLOSED": "queue closed",
-      "NOENDMETHOD": "no suitable finalize/end method defined by module",
-      "DIRECTORYNOTSUPPORTED": "support for directory entries not defined by module",
-      "FORMATSET": "archive format already set",
-      "INPUTSTEAMBUFFERREQUIRED": "input source must be valid Stream or Buffer instance",
-      "MODULESET": "module already set",
-      "SYMLINKNOTSUPPORTED": "support for symlink entries not defined by module",
-      "SYMLINKFILEPATHREQUIRED": "symlink filepath argument must be a non-empty string value",
-      "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
-      "ENTRYNOTSUPPORTED": "entry not supported"
-    };
-    function ArchiverError(code, data) {
-      Error.captureStackTrace(this, this.constructor);
-      this.message = ERROR_CODES[code] || code;
-      this.code = code;
-      this.data = data;
-    }
-    util.inherits(ArchiverError, Error);
-    exports2 = module2.exports = ArchiverError;
-  }
-});
-
-// node_modules/archiver/lib/core.js
-var require_core2 = __commonJS({
-  "node_modules/archiver/lib/core.js"(exports2, module2) {
-    var fs3 = require("fs");
-    var glob2 = require_readdir_glob();
-    var async = require_async();
-    var path3 = require("path");
-    var util = require_archiver_utils();
-    var inherits = require("util").inherits;
-    var ArchiverError = require_error3();
-    var Transform = require_ours().Transform;
-    var win32 = process.platform === "win32";
-    var Archiver = function(format, options) {
-      if (!(this instanceof Archiver)) {
-        return new Archiver(format, options);
-      }
-      if (typeof format !== "string") {
-        options = format;
-        format = "zip";
-      }
-      options = this.options = util.defaults(options, {
-        highWaterMark: 1024 * 1024,
-        statConcurrency: 4
-      });
-      Transform.call(this, options);
-      this._format = false;
-      this._module = false;
-      this._pending = 0;
-      this._pointer = 0;
-      this._entriesCount = 0;
-      this._entriesProcessedCount = 0;
-      this._fsEntriesTotalBytes = 0;
-      this._fsEntriesProcessedBytes = 0;
-      this._queue = async.queue(this._onQueueTask.bind(this), 1);
-      this._queue.drain(this._onQueueDrain.bind(this));
-      this._statQueue = async.queue(this._onStatQueueTask.bind(this), options.statConcurrency);
-      this._statQueue.drain(this._onQueueDrain.bind(this));
-      this._state = {
-        aborted: false,
-        finalize: false,
-        finalizing: false,
-        finalized: false,
-        modulePiped: false
-      };
-      this._streams = [];
-    };
-    inherits(Archiver, Transform);
-    Archiver.prototype._abort = function() {
-      this._state.aborted = true;
-      this._queue.kill();
-      this._statQueue.kill();
-      if (this._queue.idle()) {
-        this._shutdown();
+          } else {
+            assert(value !== null);
+            headers.push([name, value]);
+          }
+        }
+        this[kHeadersList][kHeadersSortedMap] = headers;
+        return headers;
       }
-    };
-    Archiver.prototype._append = function(filepath, data) {
-      data = data || {};
-      var task = {
-        source: null,
-        filepath
-      };
-      if (!data.name) {
-        data.name = filepath;
+      keys() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key"
+        );
       }
-      data.sourcePath = filepath;
-      task.data = data;
-      this._entriesCount++;
-      if (data.stats && data.stats instanceof fs3.Stats) {
-        task = this._updateQueueTaskWithStats(task, data.stats);
-        if (task) {
-          if (data.stats.size) {
-            this._fsEntriesTotalBytes += data.stats.size;
-          }
-          this._queue.push(task);
+      values() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "value"
+          );
         }
-      } else {
-        this._statQueue.push(task);
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "value"
+        );
       }
-    };
-    Archiver.prototype._finalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      entries() {
+        webidl.brandCheck(this, _Headers);
+        if (this[kGuard] === "immutable") {
+          const value = this[kHeadersSortedMap];
+          return makeIterator(
+            () => value,
+            "Headers",
+            "key+value"
+          );
+        }
+        return makeIterator(
+          () => [...this[kHeadersSortedMap].values()],
+          "Headers",
+          "key+value"
+        );
       }
-      this._state.finalizing = true;
-      this._moduleFinalize();
-      this._state.finalizing = false;
-      this._state.finalized = true;
-    };
-    Archiver.prototype._maybeFinalize = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return false;
+      /**
+       * @param {(value: string, key: string, self: Headers) => void} callbackFn
+       * @param {unknown} thisArg
+       */
+      forEach(callbackFn, thisArg = globalThis) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
+        if (typeof callbackFn !== "function") {
+          throw new TypeError(
+            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
+          );
+        }
+        for (const [key, value] of this) {
+          callbackFn.apply(thisArg, [value, key, this]);
+        }
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
-        return true;
+      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
+        webidl.brandCheck(this, _Headers);
+        return this[kHeadersList];
       }
-      return false;
     };
-    Archiver.prototype._moduleAppend = function(source, data, callback) {
-      if (this._state.aborted) {
-        callback();
-        return;
+    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      keys: kEnumerableProperty,
+      values: kEnumerableProperty,
+      entries: kEnumerableProperty,
+      forEach: kEnumerableProperty,
+      [Symbol.iterator]: { enumerable: false },
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-      this._module.append(source, data, function(err) {
-        this._task = null;
-        if (this._state.aborted) {
-          this._shutdown();
-          return;
-        }
-        if (err) {
-          this.emit("error", err);
-          setImmediate(callback);
-          return;
-        }
-        this.emit("entry", data);
-        this._entriesProcessedCount++;
-        if (data.stats && data.stats.size) {
-          this._fsEntriesProcessedBytes += data.stats.size;
+    });
+    webidl.converters.HeadersInit = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (V[Symbol.iterator]) {
+          return webidl.converters["sequence>"](V);
         }
-        this.emit("progress", {
-          entries: {
-            total: this._entriesCount,
-            processed: this._entriesProcessedCount
-          },
-          fs: {
-            totalBytes: this._fsEntriesTotalBytes,
-            processedBytes: this._fsEntriesProcessedBytes
-          }
-        });
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._moduleFinalize = function() {
-      if (typeof this._module.finalize === "function") {
-        this._module.finalize();
-      } else if (typeof this._module.end === "function") {
-        this._module.end();
-      } else {
-        this.emit("error", new ArchiverError("NOENDMETHOD"));
+        return webidl.converters["record"](V);
       }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
     };
-    Archiver.prototype._modulePipe = function() {
-      this._module.on("error", this._onModuleError.bind(this));
-      this._module.pipe(this);
-      this._state.modulePiped = true;
+    module2.exports = {
+      fill,
+      Headers,
+      HeadersList
     };
-    Archiver.prototype._moduleSupports = function(key) {
-      if (!this._module.supports || !this._module.supports[key]) {
-        return false;
+  }
+});
+
+// node_modules/undici/lib/fetch/response.js
+var require_response4 = __commonJS({
+  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+    "use strict";
+    var { Headers, HeadersList, fill } = require_headers4();
+    var { extractBody, cloneBody, mixinBody } = require_body3();
+    var util = require_util23();
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode
+    } = require_util24();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      DOMException: DOMException2
+    } = require_constants20();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { FormData: FormData2 } = require_formdata3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { types } = require("util");
+    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kState] = makeNetworkError();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        return responseObject;
       }
-      return this._module.supports[key];
-    };
-    Archiver.prototype._moduleUnpipe = function() {
-      this._module.unpipe(this);
-      this._state.modulePiped = false;
-    };
-    Archiver.prototype._normalizeEntryData = function(data, stats) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        date: null,
-        mode: null,
-        prefix: null,
-        sourcePath: null,
-        stats: false
-      });
-      if (stats && data.stats === false) {
-        data.stats = stats;
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
+        }
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const relevantRealm = { settingsObject: {} };
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "response";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
       }
-      var isDir = data.type === "directory";
-      if (data.name) {
-        if (typeof data.prefix === "string" && "" !== data.prefix) {
-          data.name = data.prefix + "/" + data.name;
-          data.prefix = null;
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url, status = 302) {
+        const relevantRealm = { settingsObject: {} };
+        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
+        url = webidl.converters.USVString(url);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url, getGlobalOrigin());
+        } catch (err) {
+          throw Object.assign(new TypeError("Failed to parse URL from " + url), {
+            cause: err
+          });
         }
-        data.name = util.sanitizePath(data.name);
-        if (data.type !== "symlink" && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError("Invalid status code " + status);
         }
+        const responseObject = new _Response();
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value);
+        return responseObject;
       }
-      if (typeof data.mode === "number") {
-        if (win32) {
-          data.mode &= 511;
-        } else {
-          data.mode &= 4095;
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
         }
-      } else if (data.stats && data.mode === null) {
-        if (win32) {
-          data.mode = data.stats.mode & 511;
-        } else {
-          data.mode = data.stats.mode & 4095;
+        init = webidl.converters.ResponseInit(init);
+        this[kRealm] = { settingsObject: {} };
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kGuard] = "response";
+        this[kHeaders][kHeadersList] = this[kState].headersList;
+        this[kHeaders][kRealm] = this[kRealm];
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
-        if (win32 && isDir) {
-          data.mode = 493;
+        initializeResponse(this, init, bodyWithType);
+      }
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
+      }
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url = urlList[urlList.length - 1] ?? null;
+        if (url === null) {
+          return "";
         }
-      } else if (data.mode === null) {
-        data.mode = isDir ? 493 : 420;
+        return URLSerializer(url, true);
       }
-      if (data.stats && data.date === null) {
-        data.date = data.stats.mtime;
-      } else {
-        data.date = util.dateify(data.date);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      return data;
-    };
-    Archiver.prototype._onModuleError = function(err) {
-      this.emit("error", err);
-    };
-    Archiver.prototype._onQueueDrain = function() {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        return;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-    };
-    Archiver.prototype._onQueueTask = function(task, callback) {
-      var fullCallback = () => {
-        if (task.data.callback) {
-          task.data.callback();
-        }
-        callback();
-      };
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        fullCallback();
-        return;
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      this._task = task;
-      this._moduleAppend(task.source, task.data, fullCallback);
-    };
-    Archiver.prototype._onStatQueueTask = function(task, callback) {
-      if (this._state.finalizing || this._state.finalized || this._state.aborted) {
-        callback();
-        return;
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-      fs3.lstat(task.filepath, function(err, stats) {
-        if (this._state.aborted) {
-          setImmediate(callback);
-          return;
-        }
-        if (err) {
-          this._entriesCount--;
-          this.emit("warning", err);
-          setImmediate(callback);
-          return;
-        }
-        task = this._updateQueueTaskWithStats(task, stats);
-        if (task) {
-          if (stats.size) {
-            this._fsEntriesTotalBytes += stats.size;
-          }
-          this._queue.push(task);
-        }
-        setImmediate(callback);
-      }.bind(this));
-    };
-    Archiver.prototype._shutdown = function() {
-      this._moduleUnpipe();
-      this.end();
-    };
-    Archiver.prototype._transform = function(chunk, encoding, callback) {
-      if (chunk) {
-        this._pointer += chunk.length;
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      callback(null, chunk);
-    };
-    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
-      if (stats.isFile()) {
-        task.data.type = "file";
-        task.data.sourceType = "stream";
-        task.source = util.lazyReadStream(task.filepath);
-      } else if (stats.isDirectory() && this._moduleSupports("directory")) {
-        task.data.name = util.trailingSlashIt(task.data.name);
-        task.data.type = "directory";
-        task.data.sourcePath = util.trailingSlashIt(task.filepath);
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
-        var linkPath = fs3.readlinkSync(task.filepath);
-        var dirName = path3.dirname(task.filepath);
-        task.data.type = "symlink";
-        task.data.linkname = path3.relative(dirName, path3.resolve(dirName, linkPath));
-        task.data.sourceType = "buffer";
-        task.source = Buffer.concat([]);
-      } else {
-        if (stats.isDirectory()) {
-          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
-        } else if (stats.isSymbolicLink()) {
-          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
-        } else {
-          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
-        }
-        return null;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      task.data = this._normalizeEntryData(task.data, stats);
-      return task;
-    };
-    Archiver.prototype.abort = function() {
-      if (this._state.aborted || this._state.finalized) {
-        return this;
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (this.bodyUsed || this.body && this.body.locked) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
+        }
+        const clonedResponse = cloneResponse(this[kState]);
+        const clonedResponseObject = new _Response();
+        clonedResponseObject[kState] = clonedResponse;
+        clonedResponseObject[kRealm] = this[kRealm];
+        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
+        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        return clonedResponseObject;
       }
-      this._abort();
-      return this;
     };
-    Archiver.prototype.append = function(source, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
-      }
-      data = this._normalizeEntryData(data);
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
-        return this;
+    mixinBody(Response);
+    Object.defineProperties(Response.prototype, {
+      type: kEnumerableProperty,
+      url: kEnumerableProperty,
+      status: kEnumerableProperty,
+      ok: kEnumerableProperty,
+      redirected: kEnumerableProperty,
+      statusText: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Response",
+        configurable: true
       }
-      if (data.type === "directory" && !this._moduleSupports("directory")) {
-        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
-        return this;
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        data.sourceType = "buffer";
-      } else if (util.isStream(source)) {
-        data.sourceType = "stream";
-      } else {
-        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
-        return this;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(response.body);
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source
+      return newResponse;
+    }
+    function makeResponse(init) {
+      return {
+        aborted: false,
+        rangeRequested: false,
+        timingAllowPassed: false,
+        requestIncludesCredentials: false,
+        type: "default",
+        status: 200,
+        timingInfo: null,
+        cacheState: "",
+        statusText: "",
+        ...init,
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
+        urlList: init.urlList ? [...init.urlList] : []
+      };
+    }
+    function makeNetworkError(reason) {
+      const isError = isErrorLike(reason);
+      return makeResponse({
+        type: "error",
+        status: 0,
+        error: isError ? reason : new Error(reason ? String(reason) : reason),
+        aborted: reason && reason.name === "AbortError"
       });
-      return this;
-    };
-    Archiver.prototype.directory = function(dirpath, destpath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    function makeFilteredResponse(response, state) {
+      state = {
+        internalResponse: response,
+        ...state
+      };
+      return new Proxy(response, {
+        get(target, p) {
+          return p in state ? state[p] : target[p];
+        },
+        set(target, p, value) {
+          assert(!(p in state));
+          target[p] = value;
+          return true;
+        }
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
+      } else {
+        assert(false);
       }
-      if (typeof dirpath !== "string" || dirpath.length === 0) {
-        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
-        return this;
+    }
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
+    }
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      this._pending++;
-      if (destpath === false) {
-        destpath = "";
-      } else if (typeof destpath !== "string") {
-        destpath = dirpath;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      var dataFunction = false;
-      if (typeof data === "function") {
-        dataFunction = data;
-        data = {};
-      } else if (typeof data !== "object") {
-        data = {};
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      var globOptions = {
-        stat: true,
-        dot: true
-      };
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var ignoreMatch = false;
-        var entryData = Object.assign({}, data);
-        entryData.name = match.relative;
-        entryData.prefix = destpath;
-        entryData.stats = match.stat;
-        entryData.callback = globber.resume.bind(globber);
-        try {
-          if (dataFunction) {
-            entryData = dataFunction(entryData);
-            if (entryData === false) {
-              ignoreMatch = true;
-            } else if (typeof entryData !== "object") {
-              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
-            }
-          }
-        } catch (e) {
-          this.emit("error", e);
-          return;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: "Invalid response status code " + response.status
+          });
         }
-        if (ignoreMatch) {
-          globber.resume();
-          return;
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
+          response[kState].headersList.append("content-type", body.type);
         }
-        this._append(match.absolute, entryData);
       }
-      var globber = glob2(dirpath, globOptions);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
-    };
-    Archiver.prototype.file = function(filepath, data) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+    }
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream2
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
-        return this;
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, { strict: false });
       }
-      this._append(filepath, data);
-      return this;
-    };
-    Archiver.prototype.glob = function(pattern, options, data) {
-      this._pending++;
-      options = util.defaults(options, {
-        stat: true,
-        pattern
-      });
-      function onGlobEnd() {
-        this._pending--;
-        this._maybeFinalize();
+      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
+        return webidl.converters.BufferSource(V);
       }
-      function onGlobError(err) {
-        this.emit("error", err);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, { strict: false });
       }
-      function onGlobMatch(match) {
-        globber.pause();
-        var entryData = Object.assign({}, data);
-        entryData.callback = globber.resume.bind(globber);
-        entryData.stats = match.stat;
-        entryData.name = match.relative;
-        this._append(match.absolute, entryData);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V);
       }
-      var globber = glob2(options.cwd || ".", options);
-      globber.on("error", onGlobError.bind(this));
-      globber.on("match", onGlobMatch.bind(this));
-      globber.on("end", onGlobEnd.bind(this));
-      return this;
+      return webidl.converters.DOMString(V);
     };
-    Archiver.prototype.finalize = function() {
-      if (this._state.aborted) {
-        var abortedError = new ArchiverError("ABORTED");
-        this.emit("error", abortedError);
-        return Promise.reject(abortedError);
+    webidl.converters.BodyInit = function(V) {
+      if (V instanceof ReadableStream2) {
+        return webidl.converters.ReadableStream(V);
       }
-      if (this._state.finalize) {
-        var finalizingError = new ArchiverError("FINALIZING");
-        this.emit("error", finalizingError);
-        return Promise.reject(finalizingError);
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      this._state.finalize = true;
-      if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
-        this._finalize();
+      return webidl.converters.XMLHttpRequestBodyInit(V);
+    };
+    webidl.converters.ResponseInit = webidl.dictionaryConverter([
+      {
+        key: "status",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: 200
+      },
+      {
+        key: "statusText",
+        converter: webidl.converters.ByteString,
+        defaultValue: ""
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
       }
-      var self2 = this;
-      return new Promise(function(resolve2, reject) {
-        var errored;
-        self2._module.on("end", function() {
-          if (!errored) {
-            resolve2();
+    ]);
+    module2.exports = {
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse
+    };
+  }
+});
+
+// node_modules/undici/lib/fetch/request.js
+var require_request6 = __commonJS({
+  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+    "use strict";
+    var { extractBody, mixinBody, cloneBody } = require_body3();
+    var { Headers, fill: fillHeaders, HeadersList } = require_headers4();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref3()();
+    var util = require_util23();
+    var {
+      isValidHTTPToken,
+      sameOrigin,
+      normalizeMethod,
+      makePolicyContainer,
+      normalizeMethodRecord
+    } = require_util24();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants20();
+    var { kEnumerableProperty } = util;
+    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols12();
+    var { webidl } = require_webidl3();
+    var { getGlobalOrigin } = require_global5();
+    var { URLSerializer } = require_dataURL();
+    var { kHeadersList, kConstruct } = require_symbols11();
+    var assert = require("assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
+    var TransformStream2 = globalThis.TransformStream;
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        if (input === kConstruct) {
+          return;
+        }
+        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
+        input = webidl.converters.RequestInfo(input);
+        init = webidl.converters.RequestInit(init);
+        this[kRealm] = {
+          settingsObject: {
+            baseUrl: getGlobalOrigin(),
+            get origin() {
+              return this.baseUrl?.origin;
+            },
+            policyContainer: makePolicyContainer()
           }
+        };
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = this[kRealm].settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } catch (err) {
+            throw new TypeError("Failed to parse URL from " + input, { cause: err });
+          }
+          if (parsedURL.username || parsedURL.password) {
+            throw new TypeError(
+              "Request cannot be constructed from a URL that includes credentials: " + input
+            );
+          }
+          request2 = makeRequest({ urlList: [parsedURL] });
+          fallbackMode = "cors";
+        } else {
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
+        }
+        const origin = this[kRealm].settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
+        }
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
+        }
+        if ("window" in init) {
+          window2 = "no-window";
+        }
+        request2 = makeRequest({
+          // URL request’s URL.
+          // undici implementation note: this is set as the first item in request's urlList in makeRequest
+          // method request’s method.
+          method: request2.method,
+          // header list A copy of request’s header list.
+          // undici implementation note: headersList is cloned in makeRequest
+          headersList: request2.headersList,
+          // unsafe-request flag Set.
+          unsafeRequest: request2.unsafeRequest,
+          // client This’s relevant settings object.
+          client: this[kRealm].settingsObject,
+          // window window.
+          window: window2,
+          // priority request’s priority.
+          priority: request2.priority,
+          // origin request’s origin. The propagation of the origin is only significant for navigation requests
+          // being handled by a service worker. In this scenario a request can have an origin that is different
+          // from the current client.
+          origin: request2.origin,
+          // referrer request’s referrer.
+          referrer: request2.referrer,
+          // referrer policy request’s referrer policy.
+          referrerPolicy: request2.referrerPolicy,
+          // mode request’s mode.
+          mode: request2.mode,
+          // credentials mode request’s credentials mode.
+          credentials: request2.credentials,
+          // cache mode request’s cache mode.
+          cache: request2.cache,
+          // redirect mode request’s redirect mode.
+          redirect: request2.redirect,
+          // integrity metadata request’s integrity metadata.
+          integrity: request2.integrity,
+          // keepalive request’s keepalive.
+          keepalive: request2.keepalive,
+          // reload-navigation flag request’s reload-navigation flag.
+          reloadNavigation: request2.reloadNavigation,
+          // history-navigation flag request’s history-navigation flag.
+          historyNavigation: request2.historyNavigation,
+          // URL list A clone of request’s URL list.
+          urlList: [...request2.urlList]
         });
-        self2._module.on("error", function(err) {
-          errored = true;
-          reject(err);
-        });
-      });
-    };
-    Archiver.prototype.setFormat = function(format) {
-      if (this._format) {
-        this.emit("error", new ArchiverError("FORMATSET"));
-        return this;
+        const initHasKey = Object.keys(init).length !== 0;
+        if (initHasKey) {
+          if (request2.mode === "navigate") {
+            request2.mode = "same-origin";
+          }
+          request2.reloadNavigation = false;
+          request2.historyNavigation = false;
+          request2.origin = "client";
+          request2.referrer = "client";
+          request2.referrerPolicy = "";
+          request2.url = request2.urlList[request2.urlList.length - 1];
+          request2.urlList = [request2.url];
+        }
+        if (init.referrer !== void 0) {
+          const referrer = init.referrer;
+          if (referrer === "") {
+            request2.referrer = "no-referrer";
+          } else {
+            let parsedReferrer;
+            try {
+              parsedReferrer = new URL(referrer, baseUrl);
+            } catch (err) {
+              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
+            }
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
+              request2.referrer = "client";
+            } else {
+              request2.referrer = parsedReferrer;
+            }
+          }
+        }
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
+        }
+        let mode;
+        if (init.mode !== void 0) {
+          mode = init.mode;
+        } else {
+          mode = fallbackMode;
+        }
+        if (mode === "navigate") {
+          throw webidl.errors.exception({
+            header: "Request constructor",
+            message: "invalid request mode navigate."
+          });
+        }
+        if (mode != null) {
+          request2.mode = mode;
+        }
+        if (init.credentials !== void 0) {
+          request2.credentials = init.credentials;
+        }
+        if (init.cache !== void 0) {
+          request2.cache = init.cache;
+        }
+        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
+          throw new TypeError(
+            "'only-if-cached' can be set only with 'same-origin' mode"
+          );
+        }
+        if (init.redirect !== void 0) {
+          request2.redirect = init.redirect;
+        }
+        if (init.integrity != null) {
+          request2.integrity = String(init.integrity);
+        }
+        if (init.keepalive !== void 0) {
+          request2.keepalive = Boolean(init.keepalive);
+        }
+        if (init.method !== void 0) {
+          let method = init.method;
+          if (!isValidHTTPToken(method)) {
+            throw new TypeError(`'${method}' is not a valid HTTP method.`);
+          }
+          if (forbiddenMethodsSet.has(method.toUpperCase())) {
+            throw new TypeError(`'${method}' HTTP method is unsupported.`);
+          }
+          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
+          request2.method = method;
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        this[kSignal][kRealm] = this[kRealm];
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            throw new TypeError(
+              "Failed to construct 'Request': member signal is not of type AbortSignal."
+            );
+          }
+          if (signal.aborted) {
+            ac.abort(signal.reason);
+          } else {
+            this[kAbortController] = ac;
+            const acRef = new WeakRef(ac);
+            const abort = function() {
+              const ac2 = acRef.deref();
+              if (ac2 !== void 0) {
+                ac2.abort(this.reason);
+              }
+            };
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(100, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort });
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        this[kHeaders][kHeadersList] = request2.headersList;
+        this[kHeaders][kGuard] = "request";
+        this[kHeaders][kRealm] = this[kRealm];
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          this[kHeaders][kGuard] = "request-no-cors";
+        }
+        if (initHasKey) {
+          const headersList = this[kHeaders][kHeadersList];
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const [key, val] of headers) {
+              headersList.append(key, val);
+            }
+            headersList.cookies = headers.cookies;
+          } else {
+            fillHeaders(this[kHeaders], headers);
+          }
+        }
+        const inputBody = input instanceof _Request ? input[kState].body : null;
+        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
+          throw new TypeError("Request with GET/HEAD method cannot have body.");
+        }
+        let initBody = null;
+        if (init.body != null) {
+          const [extractedBody, contentType] = extractBody(
+            init.body,
+            request2.keepalive
+          );
+          initBody = extractedBody;
+          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
+            this[kHeaders].append("content-type", contentType);
+          }
+        }
+        const inputOrInitBody = initBody ?? inputBody;
+        if (inputOrInitBody != null && inputOrInitBody.source == null) {
+          if (initBody != null && init.duplex == null) {
+            throw new TypeError("RequestInit: duplex option is required when sending a body.");
+          }
+          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
+            throw new TypeError(
+              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
+            );
+          }
+          request2.useCORSPreflightFlag = true;
+        }
+        let finalBody = inputOrInitBody;
+        if (initBody == null && inputBody != null) {
+          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          if (!TransformStream2) {
+            TransformStream2 = require("stream/web").TransformStream;
+          }
+          const identityTransform = new TransformStream2();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
+        }
+        this[kState].body = finalBody;
+      }
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      this._format = format;
-      return this;
-    };
-    Archiver.prototype.setModule = function(module3) {
-      if (this._state.aborted) {
-        this.emit("error", new ArchiverError("ABORTED"));
-        return this;
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
       }
-      if (this._state.module) {
-        this.emit("error", new ArchiverError("MODULESET"));
-        return this;
+      // Returns a Headers object consisting of the headers associated with request.
+      // Note that headers added in the network layer by the user agent will not
+      // be accounted for in this object, e.g., the "Host" header.
+      get headers() {
+        webidl.brandCheck(this, _Request);
+        return this[kHeaders];
       }
-      this._module = module3;
-      this._modulePipe();
-      return this;
-    };
-    Archiver.prototype.symlink = function(filepath, target, mode) {
-      if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
-        return this;
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
       }
-      if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
-        return this;
+      // Returns the referrer of request. Its value can be a same-origin URL if
+      // explicitly set in init, the empty string to indicate no referrer, and
+      // "about:client" when defaulting to the global’s default. This is used
+      // during fetching to determine the value of the `Referer` header of the
+      // request being made.
+      get referrer() {
+        webidl.brandCheck(this, _Request);
+        if (this[kState].referrer === "no-referrer") {
+          return "";
+        }
+        if (this[kState].referrer === "client") {
+          return "about:client";
+        }
+        return this[kState].referrer.toString();
       }
-      if (typeof target !== "string" || target.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
-        return this;
+      // Returns the referrer policy associated with request.
+      // This is used during fetching to compute the value of the request’s
+      // referrer.
+      get referrerPolicy() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].referrerPolicy;
       }
-      if (!this._moduleSupports("symlink")) {
-        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
-        return this;
+      // Returns the mode associated with request, which is a string indicating
+      // whether the request will use CORS, or will be restricted to same-origin
+      // URLs.
+      get mode() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].mode;
       }
-      var data = {};
-      data.type = "symlink";
-      data.name = filepath.replace(/\\/g, "/");
-      data.linkname = target.replace(/\\/g, "/");
-      data.sourceType = "buffer";
-      if (typeof mode === "number") {
-        data.mode = mode;
+      // Returns the credentials mode associated with request,
+      // which is a string indicating whether credentials will be sent with the
+      // request always, never, or only when sent to a same-origin URL.
+      get credentials() {
+        return this[kState].credentials;
       }
-      this._entriesCount++;
-      this._queue.push({
-        data,
-        source: Buffer.concat([])
-      });
-      return this;
-    };
-    Archiver.prototype.pointer = function() {
-      return this._pointer;
-    };
-    Archiver.prototype.use = function(plugin) {
-      this._streams.push(plugin);
-      return this;
-    };
-    module2.exports = Archiver;
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-entry.js
-var require_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
-    var ArchiveEntry = module2.exports = function() {
-    };
-    ArchiveEntry.prototype.getName = function() {
-    };
-    ArchiveEntry.prototype.getSize = function() {
-    };
-    ArchiveEntry.prototype.getLastModifiedDate = function() {
-    };
-    ArchiveEntry.prototype.isDirectory = function() {
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/util.js
-var require_util20 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
-    var util = module2.exports = {};
-    util.dateToDos = function(d, forceLocalTime) {
-      forceLocalTime = forceLocalTime || false;
-      var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
-      if (year < 1980) {
-        return 2162688;
-      } else if (year >= 2044) {
-        return 2141175677;
+      // Returns the cache mode associated with request,
+      // which is a string indicating how the request will
+      // interact with the browser’s cache when fetching.
+      get cache() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].cache;
       }
-      var val = {
-        year,
-        month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
-        date: forceLocalTime ? d.getDate() : d.getUTCDate(),
-        hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
-        minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
-        seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
-      };
-      return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
-    };
-    util.dosToDate = function(dos) {
-      return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
-    };
-    util.fromDosTime = function(buf) {
-      return util.dosToDate(buf.readUInt32LE(0));
-    };
-    util.getEightBytes = function(v) {
-      var buf = Buffer.alloc(8);
-      buf.writeUInt32LE(v % 4294967296, 0);
-      buf.writeUInt32LE(v / 4294967296 | 0, 4);
-      return buf;
-    };
-    util.getShortBytes = function(v) {
-      var buf = Buffer.alloc(2);
-      buf.writeUInt16LE((v & 65535) >>> 0, 0);
-      return buf;
-    };
-    util.getShortBytesValue = function(buf, offset) {
-      return buf.readUInt16LE(offset);
-    };
-    util.getLongBytes = function(v) {
-      var buf = Buffer.alloc(4);
-      buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
-      return buf;
-    };
-    util.getLongBytesValue = function(buf, offset) {
-      return buf.readUInt32LE(offset);
-    };
-    util.toDosTime = function(d) {
-      return util.getLongBytes(util.dateToDos(d));
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
-var require_general_purpose_bit = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
-    var zipUtil = require_util20();
-    var DATA_DESCRIPTOR_FLAG = 1 << 3;
-    var ENCRYPTION_FLAG = 1 << 0;
-    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
-    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
-    var STRONG_ENCRYPTION_FLAG = 1 << 6;
-    var UFT8_NAMES_FLAG = 1 << 11;
-    var GeneralPurposeBit = module2.exports = function() {
-      if (!(this instanceof GeneralPurposeBit)) {
-        return new GeneralPurposeBit();
+      // Returns the redirect mode associated with request,
+      // which is a string indicating how redirects for the
+      // request will be handled during fetching. A request
+      // will follow redirects by default.
+      get redirect() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].redirect;
       }
-      this.descriptor = false;
-      this.encryption = false;
-      this.utf8 = false;
-      this.numberOfShannonFanoTrees = 0;
-      this.strongEncryption = false;
-      this.slidingDictionarySize = 0;
-      return this;
-    };
-    GeneralPurposeBit.prototype.encode = function() {
-      return zipUtil.getShortBytes(
-        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
-      );
-    };
-    GeneralPurposeBit.prototype.parse = function(buf, offset) {
-      var flag = zipUtil.getShortBytesValue(buf, offset);
-      var gbp = new GeneralPurposeBit();
-      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
-      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
-      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
-      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
-      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
-      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
-      return gbp;
-    };
-    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
-      this.numberOfShannonFanoTrees = n;
-    };
-    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
-      return this.numberOfShannonFanoTrees;
-    };
-    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
-      this.slidingDictionarySize = n;
-    };
-    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
-      return this.slidingDictionarySize;
-    };
-    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
-      this.descriptor = b;
-    };
-    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
-      return this.descriptor;
-    };
-    GeneralPurposeBit.prototype.useEncryption = function(b) {
-      this.encryption = b;
-    };
-    GeneralPurposeBit.prototype.usesEncryption = function() {
-      return this.encryption;
-    };
-    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
-      this.strongEncryption = b;
-    };
-    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
-      return this.strongEncryption;
-    };
-    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
-      this.utf8 = b;
-    };
-    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
-      return this.utf8;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
-var require_unix_stat = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
-    module2.exports = {
-      /**
-       * Bits used for permissions (and sticky bit)
-       */
-      PERM_MASK: 4095,
-      // 07777
-      /**
-       * Bits used to indicate the filesystem object type.
-       */
-      FILE_TYPE_FLAG: 61440,
-      // 0170000
-      /**
-       * Indicates symbolic links.
-       */
-      LINK_FLAG: 40960,
-      // 0120000
-      /**
-       * Indicates plain files.
-       */
-      FILE_FLAG: 32768,
-      // 0100000
-      /**
-       * Indicates directories.
-       */
-      DIR_FLAG: 16384,
-      // 040000
-      // ----------------------------------------------------------
-      // somewhat arbitrary choices that are quite common for shared
-      // installations
-      // -----------------------------------------------------------
-      /**
-       * Default permissions for symbolic links.
-       */
-      DEFAULT_LINK_PERM: 511,
-      // 0777
-      /**
-       * Default permissions for directories.
-       */
-      DEFAULT_DIR_PERM: 493,
-      // 0755
-      /**
-       * Default permissions for plain files.
-       */
-      DEFAULT_FILE_PERM: 420
-      // 0644
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/constants.js
-var require_constants17 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
-    module2.exports = {
-      WORD: 4,
-      DWORD: 8,
-      EMPTY: Buffer.alloc(0),
-      SHORT: 2,
-      SHORT_MASK: 65535,
-      SHORT_SHIFT: 16,
-      SHORT_ZERO: Buffer.from(Array(2)),
-      LONG: 4,
-      LONG_ZERO: Buffer.from(Array(4)),
-      MIN_VERSION_INITIAL: 10,
-      MIN_VERSION_DATA_DESCRIPTOR: 20,
-      MIN_VERSION_ZIP64: 45,
-      VERSION_MADEBY: 45,
-      METHOD_STORED: 0,
-      METHOD_DEFLATED: 8,
-      PLATFORM_UNIX: 3,
-      PLATFORM_FAT: 0,
-      SIG_LFH: 67324752,
-      SIG_DD: 134695760,
-      SIG_CFH: 33639248,
-      SIG_EOCD: 101010256,
-      SIG_ZIP64_EOCD: 101075792,
-      SIG_ZIP64_EOCD_LOC: 117853008,
-      ZIP64_MAGIC_SHORT: 65535,
-      ZIP64_MAGIC: 4294967295,
-      ZIP64_EXTRA_ID: 1,
-      ZLIB_NO_COMPRESSION: 0,
-      ZLIB_BEST_SPEED: 1,
-      ZLIB_BEST_COMPRESSION: 9,
-      ZLIB_DEFAULT_COMPRESSION: -1,
-      MODE_MASK: 4095,
-      DEFAULT_FILE_MODE: 33188,
-      // 010644 = -rw-r--r-- = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-      DEFAULT_DIR_MODE: 16877,
-      // 040755 = drwxr-xr-x = S_IFDIR | S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
-      EXT_FILE_ATTR_DIR: 1106051088,
-      // 010173200020 = drwxr-xr-x = (((S_IFDIR | 0755) << 16) | S_DOS_D)
-      EXT_FILE_ATTR_FILE: 2175008800,
-      // 020151000040 = -rw-r--r-- = (((S_IFREG | 0644) << 16) | S_DOS_A) >>> 0
-      // Unix file types
-      S_IFMT: 61440,
-      // 0170000 type of file mask
-      S_IFIFO: 4096,
-      // 010000 named pipe (fifo)
-      S_IFCHR: 8192,
-      // 020000 character special
-      S_IFDIR: 16384,
-      // 040000 directory
-      S_IFBLK: 24576,
-      // 060000 block special
-      S_IFREG: 32768,
-      // 0100000 regular
-      S_IFLNK: 40960,
-      // 0120000 symbolic link
-      S_IFSOCK: 49152,
-      // 0140000 socket
-      // DOS file type flags
-      S_DOS_A: 32,
-      // 040 Archive
-      S_DOS_D: 16,
-      // 020 Directory
-      S_DOS_V: 8,
-      // 010 Volume
-      S_DOS_S: 4,
-      // 04 System
-      S_DOS_H: 2,
-      // 02 Hidden
-      S_DOS_R: 1
-      // 01 Read Only
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
-var require_zip_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var normalizePath = require_normalize_path();
-    var ArchiveEntry = require_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var UnixStat = require_unix_stat();
-    var constants = require_constants17();
-    var zipUtil = require_util20();
-    var ZipArchiveEntry = module2.exports = function(name) {
-      if (!(this instanceof ZipArchiveEntry)) {
-        return new ZipArchiveEntry(name);
+      // Returns request’s subresource integrity metadata, which is a
+      // cryptographic hash of the resource being fetched. Its value
+      // consists of multiple hashes separated by whitespace. [SRI]
+      get integrity() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].integrity;
       }
-      ArchiveEntry.call(this);
-      this.platform = constants.PLATFORM_FAT;
-      this.method = -1;
-      this.name = null;
-      this.size = 0;
-      this.csize = 0;
-      this.gpb = new GeneralPurposeBit();
-      this.crc = 0;
-      this.time = -1;
-      this.minver = constants.MIN_VERSION_INITIAL;
-      this.mode = -1;
-      this.extra = null;
-      this.exattr = 0;
-      this.inattr = 0;
-      this.comment = null;
-      if (name) {
-        this.setName(name);
+      // Returns a boolean indicating whether or not request can outlive the
+      // global in which it was created.
+      get keepalive() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].keepalive;
       }
-    };
-    inherits(ZipArchiveEntry, ArchiveEntry);
-    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getComment = function() {
-      return this.comment !== null ? this.comment : "";
-    };
-    ZipArchiveEntry.prototype.getCompressedSize = function() {
-      return this.csize;
-    };
-    ZipArchiveEntry.prototype.getCrc = function() {
-      return this.crc;
-    };
-    ZipArchiveEntry.prototype.getExternalAttributes = function() {
-      return this.exattr;
-    };
-    ZipArchiveEntry.prototype.getExtra = function() {
-      return this.extra !== null ? this.extra : constants.EMPTY;
-    };
-    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
-      return this.gpb;
-    };
-    ZipArchiveEntry.prototype.getInternalAttributes = function() {
-      return this.inattr;
-    };
-    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
-      return this.getTime();
-    };
-    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
-      return this.getExtra();
-    };
-    ZipArchiveEntry.prototype.getMethod = function() {
-      return this.method;
-    };
-    ZipArchiveEntry.prototype.getName = function() {
-      return this.name;
-    };
-    ZipArchiveEntry.prototype.getPlatform = function() {
-      return this.platform;
-    };
-    ZipArchiveEntry.prototype.getSize = function() {
-      return this.size;
-    };
-    ZipArchiveEntry.prototype.getTime = function() {
-      return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
-    };
-    ZipArchiveEntry.prototype.getTimeDos = function() {
-      return this.time !== -1 ? this.time : 0;
-    };
-    ZipArchiveEntry.prototype.getUnixMode = function() {
-      return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
-    };
-    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
-      return this.minver;
-    };
-    ZipArchiveEntry.prototype.setComment = function(comment) {
-      if (Buffer.byteLength(comment) !== comment.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      this.comment = comment;
-    };
-    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry compressed size");
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-foward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
+      }
+      // Returns the signal associated with request, which is an AbortSignal
+      // object indicating whether or not request has been aborted, and its
+      // abort event handler.
+      get signal() {
+        webidl.brandCheck(this, _Request);
+        return this[kSignal];
+      }
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      this.csize = size;
-    };
-    ZipArchiveEntry.prototype.setCrc = function(crc) {
-      if (crc < 0) {
-        throw new Error("invalid entry crc32");
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      this.crc = crc;
-    };
-    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
-      this.exattr = attr >>> 0;
-    };
-    ZipArchiveEntry.prototype.setExtra = function(extra) {
-      this.extra = extra;
-    };
-    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
-      if (!(gpb instanceof GeneralPurposeBit)) {
-        throw new Error("invalid entry GeneralPurposeBit");
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-      this.gpb = gpb;
-    };
-    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
-      this.inattr = attr;
-    };
-    ZipArchiveEntry.prototype.setMethod = function(method) {
-      if (method < 0) {
-        throw new Error("invalid entry compression method");
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (this.bodyUsed || this.body?.locked) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const clonedRequestObject = new _Request(kConstruct);
+        clonedRequestObject[kState] = clonedRequest;
+        clonedRequestObject[kRealm] = this[kRealm];
+        clonedRequestObject[kHeaders] = new Headers(kConstruct);
+        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
+        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
+        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          util.addAbortListener(
+            this.signal,
+            () => {
+              ac.abort(this.signal.reason);
+            }
+          );
+        }
+        clonedRequestObject[kSignal] = ac.signal;
+        return clonedRequestObject;
       }
-      this.method = method;
     };
-    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
-      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
-      if (prependSlash) {
-        name = `/${name}`;
+    mixinBody(Request);
+    function makeRequest(init) {
+      const request2 = {
+        method: "GET",
+        localURLsOnly: false,
+        unsafeRequest: false,
+        body: null,
+        client: null,
+        reservedClient: null,
+        replacesClientId: "",
+        window: "client",
+        keepalive: false,
+        serviceWorkers: "all",
+        initiator: "",
+        destination: "",
+        priority: null,
+        origin: "client",
+        policyContainer: "client",
+        referrer: "client",
+        referrerPolicy: "",
+        mode: "no-cors",
+        useCORSPreflightFlag: false,
+        credentials: "same-origin",
+        useCredentials: false,
+        cache: "default",
+        redirect: "follow",
+        integrity: "",
+        cryptoGraphicsNonceMetadata: "",
+        parserMetadata: "",
+        reloadNavigation: false,
+        historyNavigation: false,
+        userActivation: false,
+        taintedOrigin: false,
+        redirectCount: 0,
+        responseTainting: "basic",
+        preventNoCacheCacheControlHeaderModification: false,
+        done: false,
+        timingAllowFailed: false,
+        ...init,
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+      request2.url = request2.urlList[0];
+      return request2;
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(request2.body);
       }
-      if (Buffer.byteLength(name) !== name.length) {
-        this.getGeneralPurposeBit().useUTF8ForNames(true);
+      return newRequest;
+    }
+    Object.defineProperties(Request.prototype, {
+      method: kEnumerableProperty,
+      url: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      signal: kEnumerableProperty,
+      duplex: kEnumerableProperty,
+      destination: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      isHistoryNavigation: kEnumerableProperty,
+      isReloadNavigation: kEnumerableProperty,
+      keepalive: kEnumerableProperty,
+      integrity: kEnumerableProperty,
+      cache: kEnumerableProperty,
+      credentials: kEnumerableProperty,
+      attribute: kEnumerableProperty,
+      referrerPolicy: kEnumerableProperty,
+      referrer: kEnumerableProperty,
+      mode: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Request",
+        configurable: true
       }
-      this.name = name;
-    };
-    ZipArchiveEntry.prototype.setPlatform = function(platform) {
-      this.platform = platform;
-    };
-    ZipArchiveEntry.prototype.setSize = function(size) {
-      if (size < 0) {
-        throw new Error("invalid entry size");
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V);
       }
-      this.size = size;
-    };
-    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
-      if (!(time instanceof Date)) {
-        throw new Error("invalid entry time");
+      if (V instanceof Request) {
+        return webidl.converters.Request(V);
       }
-      this.time = zipUtil.dateToDos(time, forceLocalTime);
-    };
-    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
-      mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
-      var extattr = 0;
-      extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
-      this.setExternalAttributes(extattr);
-      this.mode = mode & constants.MODE_MASK;
-      this.platform = constants.PLATFORM_UNIX;
-    };
-    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
-      this.minver = minver;
-    };
-    ZipArchiveEntry.prototype.isDirectory = function() {
-      return this.getName().slice(-1) === "/";
-    };
-    ZipArchiveEntry.prototype.isUnixSymlink = function() {
-      return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
-    };
-    ZipArchiveEntry.prototype.isZip64 = function() {
-      return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
+      return webidl.converters.USVString(V);
     };
+    webidl.converters.AbortSignal = webidl.interfaceConverter(
+      AbortSignal
+    );
+    webidl.converters.RequestInit = webidl.dictionaryConverter([
+      {
+        key: "method",
+        converter: webidl.converters.ByteString
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      },
+      {
+        key: "body",
+        converter: webidl.nullableConverter(
+          webidl.converters.BodyInit
+        )
+      },
+      {
+        key: "referrer",
+        converter: webidl.converters.USVString
+      },
+      {
+        key: "referrerPolicy",
+        converter: webidl.converters.DOMString,
+        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
+        allowedValues: referrerPolicy
+      },
+      {
+        key: "mode",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#concept-request-mode
+        allowedValues: requestMode
+      },
+      {
+        key: "credentials",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcredentials
+        allowedValues: requestCredentials
+      },
+      {
+        key: "cache",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcache
+        allowedValues: requestCache
+      },
+      {
+        key: "redirect",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestredirect
+        allowedValues: requestRedirect
+      },
+      {
+        key: "integrity",
+        converter: webidl.converters.DOMString
+      },
+      {
+        key: "keepalive",
+        converter: webidl.converters.boolean
+      },
+      {
+        key: "signal",
+        converter: webidl.nullableConverter(
+          (signal) => webidl.converters.AbortSignal(
+            signal,
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
+      }
+    ]);
+    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/compress-commons/node_modules/is-stream/index.js
-var require_is_stream2 = __commonJS({
-  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+// node_modules/undici/lib/fetch/index.js
+var require_fetch3 = __commonJS({
+  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
     "use strict";
-    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
-    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
-    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
-    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
-    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
-    module2.exports = isStream;
-  }
-});
-
-// node_modules/compress-commons/lib/util/index.js
-var require_util21 = __commonJS({
-  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
-    var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var isStream = require_is_stream2();
-    var util = module2.exports = {};
-    util.normalizeInputSource = function(source) {
-      if (source === null) {
-        return Buffer.alloc(0);
-      } else if (typeof source === "string") {
-        return Buffer.from(source);
-      } else if (isStream(source) && !source._readableState) {
-        var normalized = new PassThrough();
-        source.pipe(normalized);
-        return normalized;
+    var {
+      Response,
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse
+    } = require_response4();
+    var { Headers } = require_headers4();
+    var { Request, makeRequest } = require_request6();
+    var zlib = require("zlib");
+    var {
+      bytesMatch,
+      makePolicyContainer,
+      clonePolicyContainer,
+      requestBadPort,
+      TAOCheck,
+      appendRequestOriginHeader,
+      responseLocationURL,
+      requestCurrentURL,
+      setRequestReferrerPolicyOnRedirect,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      createOpaqueTimingInfo,
+      appendFetchMetadata,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      determineRequestsReferrer,
+      coarsenedSharedCurrentTime,
+      createDeferredPromise,
+      isBlobLike,
+      sameOrigin,
+      isCancelled,
+      isAborted,
+      isErrorLike,
+      fullyReadBody,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlIsHttpHttpsScheme,
+      urlHasHttpsScheme
+    } = require_util24();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var assert = require("assert");
+    var { safelyExtractBody } = require_body3();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet,
+      DOMException: DOMException2
+    } = require_constants20();
+    var { kHeadersList } = require_symbols11();
+    var EE = require("events");
+    var { Readable, pipeline } = require("stream");
+    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util23();
+    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
+    var { TransformStream: TransformStream2 } = require("stream/web");
+    var { getGlobalDispatcher } = require_global6();
+    var { webidl } = require_webidl3();
+    var { STATUS_CODES } = require("http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var resolveObjectURL;
+    var ReadableStream2 = globalThis.ReadableStream;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
+        this.setMaxListeners(21);
+      }
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
+      }
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
+        }
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException2("The operation was aborted.", "AbortError");
+        }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      return source;
     };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/archive-output-stream.js
-var require_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var isStream = require_is_stream2();
-    var Transform = require_ours().Transform;
-    var ArchiveEntry = require_archive_entry();
-    var util = require_util21();
-    var ArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ArchiveOutputStream)) {
-        return new ArchiveOutputStream(options);
+    function fetch(input, init = {}) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
+      const p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      Transform.call(this, options);
-      this.offset = 0;
-      this._archive = {
-        finish: false,
-        finished: false,
-        processing: false
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
+      }
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
+      }
+      let responseObject = null;
+      const relevantRealm = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+        }
+      );
+      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return Promise.resolve();
+        }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return Promise.resolve();
+        }
+        if (response.type === "error") {
+          p.reject(
+            Object.assign(new TypeError("fetch failed"), { cause: response.error })
+          );
+          return Promise.resolve();
+        }
+        responseObject = new Response();
+        responseObject[kState] = response;
+        responseObject[kRealm] = relevantRealm;
+        responseObject[kHeaders][kHeadersList] = response.headersList;
+        responseObject[kHeaders][kGuard] = "immutable";
+        responseObject[kHeaders][kRealm] = relevantRealm;
+        p.resolve(responseObject);
       };
-    };
-    inherits(ArchiveOutputStream, Transform);
-    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
-    };
-    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
-      if (err) {
-        this.emit("error", err);
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: init.dispatcher ?? getGlobalDispatcher()
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
+        return;
       }
-    };
-    ArchiveOutputStream.prototype._finish = function(ae) {
-    };
-    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-    };
-    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
-    };
-    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
-      source = source || null;
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+      if (!response.urlList?.length) {
+        return;
       }
-      if (!(ae instanceof ArchiveEntry)) {
-        callback(new Error("not a valid instance of ArchiveEntry"));
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
         return;
       }
-      if (this._archive.finish || this._archive.finished) {
-        callback(new Error("unacceptable entry after finish"));
+      if (timingInfo === null) {
         return;
       }
-      if (this._archive.processing) {
-        callback(new Error("already processing an entry"));
-        return;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
+    }
+    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
+      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
+        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+      }
+    }
+    function abortFetch(p, request2, responseObject, error3) {
+      if (!error3) {
+        error3 = new DOMException2("The operation was aborted.", "AbortError");
       }
-      this._archive.processing = true;
-      this._normalizeEntry(ae);
-      this._entry = ae;
-      source = util.normalizeInputSource(source);
-      if (Buffer.isBuffer(source)) {
-        this._appendBuffer(ae, source, callback);
-      } else if (isStream(source)) {
-        this._appendStream(ae, source, callback);
-      } else {
-        this._archive.processing = false;
-        callback(new Error("input source must be valid Stream or Buffer instance"));
-        return;
+      p.reject(error3);
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return this;
-    };
-    ArchiveOutputStream.prototype.finish = function() {
-      if (this._archive.processing) {
-        this._archive.finish = true;
+      if (responseObject == null) {
         return;
       }
-      this._finish();
-    };
-    ArchiveOutputStream.prototype.getBytesWritten = function() {
-      return this.offset;
-    };
-    ArchiveOutputStream.prototype.write = function(chunk, cb) {
-      if (chunk) {
-        this.offset += chunk.length;
-      }
-      return Transform.prototype.write.call(this, chunk, cb);
-    };
-  }
-});
-
-// node_modules/crc-32/crc32.js
-var require_crc32 = __commonJS({
-  "node_modules/crc-32/crc32.js"(exports2) {
-    var CRC32;
-    (function(factory) {
-      if (typeof DO_NOT_EXPORT_CRC === "undefined") {
-        if ("object" === typeof exports2) {
-          factory(exports2);
-        } else if ("function" === typeof define && define.amd) {
-          define(function() {
-            var module3 = {};
-            factory(module3);
-            return module3;
-          });
-        } else {
-          factory(CRC32 = {});
-        }
-      } else {
-        factory(CRC32 = {});
-      }
-    })(function(CRC322) {
-      CRC322.version = "1.2.2";
-      function signed_crc_table() {
-        var c = 0, table = new Array(256);
-        for (var n = 0; n != 256; ++n) {
-          c = n;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;
-          table[n] = c;
-        }
-        return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      var T0 = signed_crc_table();
-      function slice_by_16_tables(T) {
-        var c = 0, v = 0, n = 0, table = typeof Int32Array !== "undefined" ? new Int32Array(4096) : new Array(4096);
-        for (n = 0; n != 256; ++n) table[n] = T[n];
-        for (n = 0; n != 256; ++n) {
-          v = T[n];
-          for (c = 256 + n; c < 4096; c += 256) v = table[c] = v >>> 8 ^ T[v & 255];
-        }
-        var out = [];
-        for (n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== "undefined" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);
-        return out;
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher
+      // undici
+    }) {
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      var TT = slice_by_16_tables(T0);
-      var T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];
-      var T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];
-      var Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];
-      function crc32_bstr(bstr, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = bstr.length; i < L; ) C = C >>> 8 ^ T0[(C ^ bstr.charCodeAt(i++)) & 255];
-        return ~C;
+      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currenTime
+      });
+      const fetchParams = {
+        controller: new Fetch(dispatcher),
+        request: request2,
+        timingInfo,
+        processRequestBodyChunkLength,
+        processRequestEndOfBody,
+        processResponse,
+        processResponseConsumeBody,
+        processResponseEndOfBody,
+        taskDestination,
+        crossOriginIsolatedCapability
+      };
+      assert(!request2.body || request2.body.stream);
+      if (request2.window === "client") {
+        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
-      function crc32_buf(B, seed) {
-        var C = seed ^ -1, L = B.length - 15, i = 0;
-        for (; i < L; ) C = Tf[B[i++] ^ C & 255] ^ Te[B[i++] ^ C >> 8 & 255] ^ Td[B[i++] ^ C >> 16 & 255] ^ Tc[B[i++] ^ C >>> 24] ^ Tb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^ T7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^ T3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];
-        L += 15;
-        while (i < L) C = C >>> 8 ^ T0[(C ^ B[i++]) & 255];
-        return ~C;
+      if (request2.origin === "client") {
+        request2.origin = request2.client?.origin;
       }
-      function crc32_str(str2, seed) {
-        var C = seed ^ -1;
-        for (var i = 0, L = str2.length, c = 0, d = 0; i < L; ) {
-          c = str2.charCodeAt(i++);
-          if (c < 128) {
-            C = C >>> 8 ^ T0[(C ^ c) & 255];
-          } else if (c < 2048) {
-            C = C >>> 8 ^ T0[(C ^ (192 | c >> 6 & 31)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          } else if (c >= 55296 && c < 57344) {
-            c = (c & 1023) + 64;
-            d = str2.charCodeAt(i++) & 1023;
-            C = C >>> 8 ^ T0[(C ^ (240 | c >> 8 & 7)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 2 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | d & 63)) & 255];
-          } else {
-            C = C >>> 8 ^ T0[(C ^ (224 | c >> 12 & 15)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c >> 6 & 63)) & 255];
-            C = C >>> 8 ^ T0[(C ^ (128 | c & 63)) & 255];
-          }
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        return ~C;
       }
-      CRC322.table = T0;
-      CRC322.bstr = crc32_bstr;
-      CRC322.buf = crc32_buf;
-      CRC322.str = crc32_str;
-    });
-  }
-});
-
-// node_modules/crc32-stream/lib/crc32-stream.js
-var require_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require_ours();
-    var crc32 = require_crc32();
-    var CRC32Stream = class extends Transform {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
+      if (!request2.headersList.contains("accept")) {
+        const value = "*/*";
+        request2.headersList.append("accept", value);
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
-        }
-        callback(null, chunk);
+      if (!request2.headersList.contains("accept-language")) {
+        request2.headersList.append("accept-language", "*");
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      if (request2.priority === null) {
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (subresourceSet.has(request2.destination)) {
       }
-      size() {
-        return this.rawSize;
+      mainFetch(fetchParams).catch((err) => {
+        fetchParams.controller.terminate(err);
+      });
+      return fetchParams.controller;
+    }
+    async function mainFetch(fetchParams, recursive = false) {
+      const request2 = fetchParams.request;
+      let response = null;
+      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
+        response = makeNetworkError("local URLs only");
       }
-    };
-    module2.exports = CRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/deflate-crc32-stream.js
-var require_deflate_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
-    "use strict";
-    var { DeflateRaw } = require("zlib");
-    var crc32 = require_crc32();
-    var DeflateCRC32Stream = class extends DeflateRaw {
-      constructor(options) {
-        super(options);
-        this.checksum = Buffer.allocUnsafe(4);
-        this.checksum.writeInt32BE(0, 0);
-        this.rawSize = 0;
-        this.compressedSize = 0;
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
       }
-      push(chunk, encoding) {
-        if (chunk) {
-          this.compressedSize += chunk.length;
-        }
-        return super.push(chunk, encoding);
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
       }
-      _transform(chunk, encoding, callback) {
-        if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
-          this.rawSize += chunk.length;
-        }
-        super._transform(chunk, encoding, callback);
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
       }
-      digest(encoding) {
-        const checksum = Buffer.allocUnsafe(4);
-        checksum.writeUInt32BE(this.checksum >>> 0, 0);
-        return encoding ? checksum.toString(encoding) : checksum;
+      if (response === null) {
+        response = await (async () => {
+          const currentURL = requestCurrentURL(request2);
+          if (
+            // - request’s current URL’s origin is same origin with request’s origin,
+            //   and request’s response tainting is "basic"
+            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
+            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
+            (request2.mode === "navigate" || request2.mode === "websocket")
+          ) {
+            request2.responseTainting = "basic";
+            return await schemeFetch(fetchParams);
+          }
+          if (request2.mode === "same-origin") {
+            return makeNetworkError('request mode cannot be "same-origin"');
+          }
+          if (request2.mode === "no-cors") {
+            if (request2.redirect !== "follow") {
+              return makeNetworkError(
+                'redirect mode cannot be "follow" for "no-cors" request'
+              );
+            }
+            request2.responseTainting = "opaque";
+            return await schemeFetch(fetchParams);
+          }
+          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
+            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          }
+          request2.responseTainting = "cors";
+          return await httpFetch(fetchParams);
+        })();
       }
-      hex() {
-        return this.digest("hex").toUpperCase();
+      if (recursive) {
+        return response;
       }
-      size(compressed = false) {
-        if (compressed) {
-          return this.compressedSize;
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
+        }
+        if (request2.responseTainting === "basic") {
+          response = filterResponse(response, "basic");
+        } else if (request2.responseTainting === "cors") {
+          response = filterResponse(response, "cors");
+        } else if (request2.responseTainting === "opaque") {
+          response = filterResponse(response, "opaque");
         } else {
-          return this.rawSize;
+          assert(false);
         }
       }
-    };
-    module2.exports = DeflateCRC32Stream;
-  }
-});
-
-// node_modules/crc32-stream/lib/index.js
-var require_lib2 = __commonJS({
-  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      CRC32Stream: require_crc32_stream(),
-      DeflateCRC32Stream: require_deflate_crc32_stream()
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
-var require_zip_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var crc32 = require_crc32();
-    var { CRC32Stream } = require_lib2();
-    var { DeflateCRC32Stream } = require_lib2();
-    var ArchiveOutputStream = require_archive_output_stream();
-    var ZipArchiveEntry = require_zip_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
-    var constants = require_constants17();
-    var util = require_util21();
-    var zipUtil = require_util20();
-    var ZipArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ZipArchiveOutputStream)) {
-        return new ZipArchiveOutputStream(options);
-      }
-      options = this.options = this._defaults(options);
-      ArchiveOutputStream.call(this, options);
-      this._entry = null;
-      this._entries = [];
-      this._archive = {
-        centralLength: 0,
-        centralOffset: 0,
-        comment: "",
-        finish: false,
-        finished: false,
-        processing: false,
-        forceZip64: options.forceZip64,
-        forceLocalTime: options.forceLocalTime
-      };
-    };
-    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
-    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
-      this._entries.push(ae);
-      if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
-        this._writeDataDescriptor(ae);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      this._archive.processing = false;
-      this._entry = null;
-      if (this._archive.finish && !this._archive.finished) {
-        this._finish();
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
       }
-    };
-    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
-      if (source.length === 0) {
-        ae.setMethod(constants.METHOD_STORED);
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
+        response = internalResponse = makeNetworkError();
       }
-      var method = ae.getMethod();
-      if (method === constants.METHOD_STORED) {
-        ae.setSize(source.length);
-        ae.setCompressedSize(source.length);
-        ae.setCrc(crc32.buf(source) >>> 0);
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
       }
-      this._writeLocalFileHeader(ae);
-      if (method === constants.METHOD_STORED) {
-        this.write(source);
-        this._afterAppend(ae);
-        callback(null, ae);
-        return;
-      } else if (method === constants.METHOD_DEFLATED) {
-        this._smartStream(ae, callback).end(source);
-        return;
+      if (request2.integrity) {
+        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
+        if (request2.responseTainting === "opaque" || response.body == null) {
+          processBodyError(response.error);
+          return;
+        }
+        const processBody = (bytes) => {
+          if (!bytesMatch(bytes, request2.integrity)) {
+            processBodyError("integrity mismatch");
+            return;
+          }
+          response.body = safelyExtractBody(bytes)[0];
+          fetchFinale(fetchParams, response);
+        };
+        await fullyReadBody(response.body, processBody, processBodyError);
       } else {
-        callback(new Error("compression method " + method + " not implemented"));
-        return;
-      }
-    };
-    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
-      ae.getGeneralPurposeBit().useDataDescriptor(true);
-      ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
-      this._writeLocalFileHeader(ae);
-      var smart = this._smartStream(ae, callback);
-      source.once("error", function(err) {
-        smart.emit("error", err);
-        smart.end();
-      });
-      source.pipe(smart);
-    };
-    ZipArchiveOutputStream.prototype._defaults = function(o) {
-      if (typeof o !== "object") {
-        o = {};
-      }
-      if (typeof o.zlib !== "object") {
-        o.zlib = {};
-      }
-      if (typeof o.zlib.level !== "number") {
-        o.zlib.level = constants.ZLIB_BEST_SPEED;
+        fetchFinale(fetchParams, response);
       }
-      o.forceZip64 = !!o.forceZip64;
-      o.forceLocalTime = !!o.forceLocalTime;
-      return o;
-    };
-    ZipArchiveOutputStream.prototype._finish = function() {
-      this._archive.centralOffset = this.offset;
-      this._entries.forEach(function(ae) {
-        this._writeCentralFileHeader(ae);
-      }.bind(this));
-      this._archive.centralLength = this.offset - this._archive.centralOffset;
-      if (this.isZip64()) {
-        this._writeCentralDirectoryZip64();
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
       }
-      this._writeCentralDirectoryEnd();
-      this._archive.processing = false;
-      this._archive.finish = true;
-      this._archive.finished = true;
-      this.end();
-    };
-    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
-      if (ae.getMethod() === -1) {
-        ae.setMethod(constants.METHOD_DEFLATED);
+      const { request: request2 } = fetchParams;
+      const { protocol: scheme } = requestCurrentURL(request2);
+      switch (scheme) {
+        case "about:": {
+          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+        }
+        case "blob:": {
+          if (!resolveObjectURL) {
+            resolveObjectURL = require("buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const bodyWithType = safelyExtractBody(blobURLEntryObject);
+          const body = bodyWithType[0];
+          const length = isomorphicEncode(`${body.length}`);
+          const type2 = bodyWithType[1] ?? "";
+          const response = makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-length", { name: "Content-Length", value: length }],
+              ["content-type", { name: "Content-Type", value: type2 }]
+            ]
+          });
+          response.body = body;
+          return Promise.resolve(response);
+        }
+        case "data:": {
+          const currentURL = requestCurrentURL(request2);
+          const dataURLStruct = dataURLProcessor(currentURL);
+          if (dataURLStruct === "failure") {
+            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+          }
+          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
+          return Promise.resolve(makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-type", { name: "Content-Type", value: mimeType }]
+            ],
+            body: safelyExtractBody(dataURLStruct.body)[0]
+          }));
+        }
+        case "file:": {
+          return Promise.resolve(makeNetworkError("not implemented... yet..."));
+        }
+        case "http:":
+        case "https:": {
+          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        }
+        default: {
+          return Promise.resolve(makeNetworkError("unknown scheme"));
+        }
       }
-      if (ae.getMethod() === constants.METHOD_DEFLATED) {
-        ae.getGeneralPurposeBit().useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
       }
-      if (ae.getTime() === -1) {
-        ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+    }
+    function fetchFinale(fetchParams, response) {
+      if (response.type === "error") {
+        response.urlList = [fetchParams.request.urlList[0]];
+        response.timingInfo = createOpaqueTimingInfo({
+          startTime: fetchParams.timingInfo.startTime
+        });
       }
-      ae._offsets = {
-        file: 0,
-        data: 0,
-        contents: 0
+      const processResponseEndOfBody = () => {
+        fetchParams.request.done = true;
+        if (fetchParams.processResponseEndOfBody != null) {
+          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+        }
       };
-    };
-    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
-      var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
-      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
-      var error3 = null;
-      function handleStuff() {
-        var digest = process2.digest().readUInt32BE(0);
-        ae.setCrc(digest);
-        ae.setSize(process2.size());
-        ae.setCompressedSize(process2.size(true));
-        this._afterAppend(ae);
-        callback(error3, ae);
-      }
-      process2.once("end", handleStuff.bind(this));
-      process2.once("error", function(err) {
-        error3 = err;
-      });
-      process2.pipe(this, { end: false });
-      return process2;
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
-      var records = this._entries.length;
-      var size = this._archive.centralLength;
-      var offset = this._archive.centralOffset;
-      if (this.isZip64()) {
-        records = constants.ZIP64_MAGIC_SHORT;
-        size = constants.ZIP64_MAGIC;
-        offset = constants.ZIP64_MAGIC;
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => fetchParams.processResponse(response));
       }
-      this.write(zipUtil.getLongBytes(constants.SIG_EOCD));
-      this.write(constants.SHORT_ZERO);
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getShortBytes(records));
-      this.write(zipUtil.getLongBytes(size));
-      this.write(zipUtil.getLongBytes(offset));
-      var comment = this.getComment();
-      var commentLength = Buffer.byteLength(comment);
-      this.write(zipUtil.getShortBytes(commentLength));
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
-      this.write(zipUtil.getEightBytes(44));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
-      this.write(constants.LONG_ZERO);
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._entries.length));
-      this.write(zipUtil.getEightBytes(this._archive.centralLength));
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset));
-      this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD_LOC));
-      this.write(constants.LONG_ZERO);
-      this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
-      this.write(zipUtil.getLongBytes(1));
-    };
-    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var fileOffset = ae._offsets.file;
-      var size = ae.getSize();
-      var compressedSize = ae.getCompressedSize();
-      if (ae.isZip64() || fileOffset > constants.ZIP64_MAGIC) {
-        size = constants.ZIP64_MAGIC;
-        compressedSize = constants.ZIP64_MAGIC;
-        fileOffset = constants.ZIP64_MAGIC;
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
-        var extraBuf = Buffer.concat([
-          zipUtil.getShortBytes(constants.ZIP64_EXTRA_ID),
-          zipUtil.getShortBytes(24),
-          zipUtil.getEightBytes(ae.getSize()),
-          zipUtil.getEightBytes(ae.getCompressedSize()),
-          zipUtil.getEightBytes(ae._offsets.file)
-        ], 28);
-        ae.setExtra(extraBuf);
+      if (response.body == null) {
+        processResponseEndOfBody();
+      } else {
+        const identityTransformAlgorithm = (chunk, controller) => {
+          controller.enqueue(chunk);
+        };
+        const transformStream = new TransformStream2({
+          start() {
+          },
+          transform: identityTransformAlgorithm,
+          flush: processResponseEndOfBody
+        }, {
+          size() {
+            return 1;
+          }
+        }, {
+          size() {
+            return 1;
+          }
+        });
+        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
       }
-      this.write(zipUtil.getLongBytes(constants.SIG_CFH));
-      this.write(zipUtil.getShortBytes(ae.getPlatform() << 8 | constants.VERSION_MADEBY));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      this.write(zipUtil.getLongBytes(compressedSize));
-      this.write(zipUtil.getLongBytes(size));
-      var name = ae.getName();
-      var comment = ae.getComment();
-      var extra = ae.getCentralDirectoryExtra();
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
-        comment = Buffer.from(comment);
+      if (fetchParams.processResponseConsumeBody != null) {
+        const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes);
+        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
+        if (response.body == null) {
+          queueMicrotask(() => processBody(null));
+        } else {
+          return fullyReadBody(response.body, processBody, processBodyError);
+        }
+        return Promise.resolve();
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(zipUtil.getShortBytes(comment.length));
-      this.write(constants.SHORT_ZERO);
-      this.write(zipUtil.getShortBytes(ae.getInternalAttributes()));
-      this.write(zipUtil.getLongBytes(ae.getExternalAttributes()));
-      this.write(zipUtil.getLongBytes(fileOffset));
-      this.write(name);
-      this.write(extra);
-      this.write(comment);
-    };
-    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
-      this.write(zipUtil.getLongBytes(constants.SIG_DD));
-      this.write(zipUtil.getLongBytes(ae.getCrc()));
-      if (ae.isZip64()) {
-        this.write(zipUtil.getEightBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getEightBytes(ae.getSize()));
-      } else {
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-    };
-    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
-      var gpb = ae.getGeneralPurposeBit();
-      var method = ae.getMethod();
-      var name = ae.getName();
-      var extra = ae.getLocalFileDataExtra();
-      if (ae.isZip64()) {
-        gpb.useDataDescriptor(true);
-        ae.setVersionNeededToExtract(constants.MIN_VERSION_ZIP64);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
+        }
+        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
+        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
+          return makeNetworkError("cors failure");
+        }
+        if (TAOCheck(request2, response) === "failure") {
+          request2.timingAllowFailed = true;
+        }
       }
-      if (gpb.usesUTF8ForNames()) {
-        name = Buffer.from(name);
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      ae._offsets.file = this.offset;
-      this.write(zipUtil.getLongBytes(constants.SIG_LFH));
-      this.write(zipUtil.getShortBytes(ae.getVersionNeededToExtract()));
-      this.write(gpb.encode());
-      this.write(zipUtil.getShortBytes(method));
-      this.write(zipUtil.getLongBytes(ae.getTimeDos()));
-      ae._offsets.data = this.offset;
-      if (gpb.usesDataDescriptor()) {
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
-        this.write(constants.LONG_ZERO);
-      } else {
-        this.write(zipUtil.getLongBytes(ae.getCrc()));
-        this.write(zipUtil.getLongBytes(ae.getCompressedSize()));
-        this.write(zipUtil.getLongBytes(ae.getSize()));
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy();
+        }
+        if (request2.redirect === "error") {
+          response = makeNetworkError("unexpected redirect");
+        } else if (request2.redirect === "manual") {
+          response = actualResponse;
+        } else if (request2.redirect === "follow") {
+          response = await httpRedirectFetch(fetchParams, response);
+        } else {
+          assert(false);
+        }
       }
-      this.write(zipUtil.getShortBytes(name.length));
-      this.write(zipUtil.getShortBytes(extra.length));
-      this.write(name);
-      this.write(extra);
-      ae._offsets.contents = this.offset;
-    };
-    ZipArchiveOutputStream.prototype.getComment = function(comment) {
-      return this._archive.comment !== null ? this._archive.comment : "";
-    };
-    ZipArchiveOutputStream.prototype.isZip64 = function() {
-      return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
-    };
-    ZipArchiveOutputStream.prototype.setComment = function(comment) {
-      this._archive.comment = comment;
-    };
-  }
-});
-
-// node_modules/compress-commons/lib/compress-commons.js
-var require_compress_commons = __commonJS({
-  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
-    module2.exports = {
-      ArchiveEntry: require_archive_entry(),
-      ZipArchiveEntry: require_zip_archive_entry(),
-      ArchiveOutputStream: require_archive_output_stream(),
-      ZipArchiveOutputStream: require_zip_archive_output_stream()
-    };
-  }
-});
-
-// node_modules/zip-stream/index.js
-var require_zip_stream = __commonJS({
-  "node_modules/zip-stream/index.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
-    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
-    var util = require_archiver_utils();
-    var ZipStream = module2.exports = function(options) {
-      if (!(this instanceof ZipStream)) {
-        return new ZipStream(options);
+      response.timingInfo = timingInfo;
+      return response;
+    }
+    function httpRedirectFetch(fetchParams, response) {
+      const request2 = fetchParams.request;
+      const actualResponse = response.internalResponse ? response.internalResponse : response;
+      let locationURL;
+      try {
+        locationURL = responseLocationURL(
+          actualResponse,
+          requestCurrentURL(request2).hash
+        );
+        if (locationURL == null) {
+          return response;
+        }
+      } catch (err) {
+        return Promise.resolve(makeNetworkError(err));
       }
-      options = this.options = options || {};
-      options.zlib = options.zlib || {};
-      ZipArchiveOutputStream.call(this, options);
-      if (typeof options.level === "number" && options.level >= 0) {
-        options.zlib.level = options.level;
-        delete options.level;
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
       }
-      if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
-        options.store = true;
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
       }
-      options.namePrependSlash = options.namePrependSlash || false;
-      if (options.comment && options.comment.length > 0) {
-        this.setComment(options.comment);
+      request2.redirectCount += 1;
+      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
+        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
       }
-    };
-    inherits(ZipStream, ZipArchiveOutputStream);
-    ZipStream.prototype._normalizeFileData = function(data) {
-      data = util.defaults(data, {
-        type: "file",
-        name: null,
-        namePrependSlash: this.options.namePrependSlash,
-        linkname: null,
-        date: null,
-        mode: null,
-        store: this.options.store,
-        comment: ""
-      });
-      var isDir = data.type === "directory";
-      var isSymlink = data.type === "symlink";
-      if (data.name) {
-        data.name = util.sanitizePath(data.name);
-        if (!isSymlink && data.name.slice(-1) === "/") {
-          isDir = true;
-          data.type = "directory";
-        } else if (isDir) {
-          data.name += "/";
-        }
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
       }
-      if (isDir || isSymlink) {
-        data.store = true;
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
       }
-      data.date = util.dateify(data.date);
-      return data;
-    };
-    ZipStream.prototype.entry = function(source, data, callback) {
-      if (typeof callback !== "function") {
-        callback = this._emitErrorCallback.bind(this);
+      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
+        request2.method = "GET";
+        request2.body = null;
+        for (const headerName of requestBodyHeader) {
+          request2.headersList.delete(headerName);
+        }
       }
-      data = this._normalizeFileData(data);
-      if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
-        callback(new Error(data.type + " entries not currently supported"));
-        return;
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization");
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie");
+        request2.headersList.delete("host");
       }
-      if (typeof data.name !== "string" || data.name.length === 0) {
-        callback(new Error("entry name must be a non-empty string value"));
-        return;
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
       }
-      if (data.type === "symlink" && typeof data.linkname !== "string") {
-        callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
-        return;
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
       }
-      var entry = new ZipArchiveEntry(data.name);
-      entry.setTime(data.date, this.options.forceLocalTime);
-      if (data.namePrependSlash) {
-        entry.setName(data.name, true);
+      request2.urlList.push(locationURL);
+      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
+      return mainFetch(fetchParams, true);
+    }
+    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
+      const request2 = fetchParams.request;
+      let httpFetchParams = null;
+      let httpRequest = null;
+      let response = null;
+      const httpCache = null;
+      const revalidatingFlag = false;
+      if (request2.window === "no-window" && request2.redirect === "error") {
+        httpFetchParams = fetchParams;
+        httpRequest = request2;
+      } else {
+        httpRequest = makeRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      if (data.store) {
-        entry.setMethod(0);
+      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
+      const contentLength = httpRequest.body ? httpRequest.body.length : null;
+      let contentLengthHeaderValue = null;
+      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
+        contentLengthHeaderValue = "0";
       }
-      if (data.comment.length > 0) {
-        entry.setComment(data.comment);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      if (data.type === "symlink" && typeof data.mode !== "number") {
-        data.mode = 40960;
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
       }
-      if (typeof data.mode === "number") {
-        if (data.type === "symlink") {
-          data.mode |= 40960;
-        }
-        entry.setUnixMode(data.mode);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      if (data.type === "symlink" && typeof data.linkname === "string") {
-        source = Buffer.from(data.linkname);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
       }
-      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
-    };
-    ZipStream.prototype.finalize = function() {
-      this.finish();
-    };
-  }
-});
-
-// node_modules/archiver/lib/plugins/zip.js
-var require_zip = __commonJS({
-  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
-    var engine = require_zip_stream();
-    var util = require_archiver_utils();
-    var Zip = function(options) {
-      if (!(this instanceof Zip)) {
-        return new Zip(options);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent")) {
+        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
       }
-      options = this.options = util.defaults(options, {
-        comment: "",
-        forceUTC: false,
-        namePrependSlash: false,
-        store: false
-      });
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = new engine(options);
-    };
-    Zip.prototype.append = function(source, data, callback) {
-      this.engine.entry(source, data, callback);
-    };
-    Zip.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Zip.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Zip.prototype.pipe = function() {
-      return this.engine.pipe.apply(this.engine, arguments);
-    };
-    Zip.prototype.unpipe = function() {
-      return this.engine.unpipe.apply(this.engine, arguments);
-    };
-    module2.exports = Zip;
-  }
-});
-
-// node_modules/queue-tick/queue-microtask.js
-var require_queue_microtask = __commonJS({
-  "node_modules/queue-tick/queue-microtask.js"(exports2, module2) {
-    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask : (fn) => Promise.resolve().then(fn);
-  }
-});
-
-// node_modules/queue-tick/process-next-tick.js
-var require_process_next_tick = __commonJS({
-  "node_modules/queue-tick/process-next-tick.js"(exports2, module2) {
-    module2.exports = typeof process !== "undefined" && typeof process.nextTick === "function" ? process.nextTick.bind(process) : require_queue_microtask();
-  }
-});
-
-// node_modules/fast-fifo/fixed-size.js
-var require_fixed_size = __commonJS({
-  "node_modules/fast-fifo/fixed-size.js"(exports2, module2) {
-    module2.exports = class FixedFIFO {
-      constructor(hwm) {
-        if (!(hwm > 0) || (hwm - 1 & hwm) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two");
-        this.buffer = new Array(hwm);
-        this.mask = hwm - 1;
-        this.top = 0;
-        this.btm = 0;
-        this.next = null;
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
+        httpRequest.cache = "no-store";
       }
-      clear() {
-        this.top = this.btm = 0;
-        this.next = null;
-        this.buffer.fill(void 0);
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
+        httpRequest.headersList.append("cache-control", "max-age=0");
       }
-      push(data) {
-        if (this.buffer[this.top] !== void 0) return false;
-        this.buffer[this.top] = data;
-        this.top = this.top + 1 & this.mask;
-        return true;
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma")) {
+          httpRequest.headersList.append("pragma", "no-cache");
+        }
+        if (!httpRequest.headersList.contains("cache-control")) {
+          httpRequest.headersList.append("cache-control", "no-cache");
+        }
       }
-      shift() {
-        const last = this.buffer[this.btm];
-        if (last === void 0) return void 0;
-        this.buffer[this.btm] = void 0;
-        this.btm = this.btm + 1 & this.mask;
-        return last;
+      if (httpRequest.headersList.contains("range")) {
+        httpRequest.headersList.append("accept-encoding", "identity");
       }
-      peek() {
-        return this.buffer[this.btm];
+      if (!httpRequest.headersList.contains("accept-encoding")) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
+        } else {
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
+        }
       }
-      isEmpty() {
-        return this.buffer[this.btm] === void 0;
+      httpRequest.headersList.delete("host");
+      if (includeCredentials) {
       }
-    };
-  }
-});
-
-// node_modules/fast-fifo/index.js
-var require_fast_fifo = __commonJS({
-  "node_modules/fast-fifo/index.js"(exports2, module2) {
-    var FixedFIFO = require_fixed_size();
-    module2.exports = class FastFIFO {
-      constructor(hwm) {
-        this.hwm = hwm || 16;
-        this.head = new FixedFIFO(this.hwm);
-        this.tail = this.head;
-        this.length = 0;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      clear() {
-        this.head = this.tail;
-        this.head.clear();
-        this.length = 0;
+      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
       }
-      push(val) {
-        this.length++;
-        if (!this.head.push(val)) {
-          const prev = this.head;
-          this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
-          this.head.push(val);
+      if (response == null) {
+        if (httpRequest.mode === "only-if-cached") {
+          return makeNetworkError("only if cached");
+        }
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
+        }
+        if (revalidatingFlag && forwardResponse.status === 304) {
+        }
+        if (response == null) {
+          response = forwardResponse;
         }
       }
-      shift() {
-        if (this.length !== 0) this.length--;
-        const val = this.tail.shift();
-        if (val === void 0 && this.tail.next) {
-          const next = this.tail.next;
-          this.tail.next = null;
-          this.tail = next;
-          return this.tail.shift();
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range")) {
+        response.rangeRequested = true;
+      }
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-        return val;
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        return makeNetworkError("proxy authentication required");
       }
-      peek() {
-        const val = this.tail.peek();
-        if (val === void 0 && this.tail.next) return this.tail.next.peek();
-        return val;
+      if (
+        // response’s status is 421
+        response.status === 421 && // isNewConnectionFetch is false
+        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
+        (request2.body == null || request2.body.source != null)
+      ) {
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
+        }
+        fetchParams.controller.connection.destroy();
+        response = await httpNetworkOrCacheFetch(
+          fetchParams,
+          isAuthenticationFetch,
+          true
+        );
       }
-      isEmpty() {
-        return this.length === 0;
+      if (isAuthenticationFetch) {
       }
-    };
-  }
-});
-
-// node_modules/b4a/index.js
-var require_b4a = __commonJS({
-  "node_modules/b4a/index.js"(exports2, module2) {
-    function isBuffer(value) {
-      return Buffer.isBuffer(value) || value instanceof Uint8Array;
-    }
-    function isEncoding(encoding) {
-      return Buffer.isEncoding(encoding);
-    }
-    function alloc(size, fill2, encoding) {
-      return Buffer.alloc(size, fill2, encoding);
-    }
-    function allocUnsafe(size) {
-      return Buffer.allocUnsafe(size);
-    }
-    function allocUnsafeSlow(size) {
-      return Buffer.allocUnsafeSlow(size);
-    }
-    function byteLength(string, encoding) {
-      return Buffer.byteLength(string, encoding);
-    }
-    function compare2(a, b) {
-      return Buffer.compare(a, b);
-    }
-    function concat(buffers, totalLength) {
-      return Buffer.concat(buffers, totalLength);
-    }
-    function copy(source, target, targetStart, start, end) {
-      return toBuffer(source).copy(target, targetStart, start, end);
-    }
-    function equals(a, b) {
-      return toBuffer(a).equals(b);
-    }
-    function fill(buffer, value, offset, end, encoding) {
-      return toBuffer(buffer).fill(value, offset, end, encoding);
-    }
-    function from(value, encodingOrOffset, length) {
-      return Buffer.from(value, encodingOrOffset, length);
-    }
-    function includes(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).includes(value, byteOffset, encoding);
-    }
-    function indexOf(buffer, value, byfeOffset, encoding) {
-      return toBuffer(buffer).indexOf(value, byfeOffset, encoding);
-    }
-    function lastIndexOf(buffer, value, byteOffset, encoding) {
-      return toBuffer(buffer).lastIndexOf(value, byteOffset, encoding);
-    }
-    function swap16(buffer) {
-      return toBuffer(buffer).swap16();
-    }
-    function swap32(buffer) {
-      return toBuffer(buffer).swap32();
-    }
-    function swap64(buffer) {
-      return toBuffer(buffer).swap64();
-    }
-    function toBuffer(buffer) {
-      if (Buffer.isBuffer(buffer)) return buffer;
-      return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
-    }
-    function toString2(buffer, encoding, start, end) {
-      return toBuffer(buffer).toString(encoding, start, end);
-    }
-    function write(buffer, string, offset, length, encoding) {
-      return toBuffer(buffer).write(string, offset, length, encoding);
-    }
-    function writeDoubleLE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleLE(value, offset);
-    }
-    function writeFloatLE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatLE(value, offset);
-    }
-    function writeUInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32LE(value, offset);
-    }
-    function writeInt32LE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32LE(value, offset);
-    }
-    function readDoubleLE(buffer, offset) {
-      return toBuffer(buffer).readDoubleLE(offset);
-    }
-    function readFloatLE(buffer, offset) {
-      return toBuffer(buffer).readFloatLE(offset);
-    }
-    function readUInt32LE(buffer, offset) {
-      return toBuffer(buffer).readUInt32LE(offset);
-    }
-    function readInt32LE(buffer, offset) {
-      return toBuffer(buffer).readInt32LE(offset);
-    }
-    function writeDoubleBE(buffer, value, offset) {
-      return toBuffer(buffer).writeDoubleBE(value, offset);
-    }
-    function writeFloatBE(buffer, value, offset) {
-      return toBuffer(buffer).writeFloatBE(value, offset);
-    }
-    function writeUInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeUInt32BE(value, offset);
-    }
-    function writeInt32BE(buffer, value, offset) {
-      return toBuffer(buffer).writeInt32BE(value, offset);
-    }
-    function readDoubleBE(buffer, offset) {
-      return toBuffer(buffer).readDoubleBE(offset);
-    }
-    function readFloatBE(buffer, offset) {
-      return toBuffer(buffer).readFloatBE(offset);
-    }
-    function readUInt32BE(buffer, offset) {
-      return toBuffer(buffer).readUInt32BE(offset);
+      return response;
     }
-    function readInt32BE(buffer, offset) {
-      return toBuffer(buffer).readInt32BE(offset);
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
+          }
+        }
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
+      }
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
+      }
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
+      }
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
+        }
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
+        }
+        return makeNetworkError(err);
+      }
+      const pullAlgorithm = () => {
+        fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        fetchParams.controller.abort(reason);
+      };
+      if (!ReadableStream2) {
+        ReadableStream2 = require("stream/web").ReadableStream;
+      }
+      const stream = new ReadableStream2(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          }
+        },
+        {
+          highWaterMark: 0,
+          size() {
+            return 1;
+          }
+        }
+      );
+      response.body = { stream };
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
+          if (isErrored(stream)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (!fetchParams.controller.controller.desiredSize) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      async function dispatch({ body }) {
+        const url = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve2, reject) => agent.dispatch(
+          {
+            path: url.pathname + url.search,
+            origin: url.origin,
+            method: request2.method,
+            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              if (connection.destroyed) {
+                abort(new DOMException2("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+            },
+            onHeaders(status, headersList, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let codings = [];
+              let location = "";
+              const headers = new Headers();
+              if (Array.isArray(headersList)) {
+                for (let n = 0; n < headersList.length; n += 2) {
+                  const key = headersList[n + 0].toString("latin1");
+                  const val = headersList[n + 1].toString("latin1");
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim());
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              } else {
+                const keys = Object.keys(headersList);
+                for (const key of keys) {
+                  const val = headersList[key];
+                  if (key.toLowerCase() === "content-encoding") {
+                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
+                  } else if (key.toLowerCase() === "location") {
+                    location = val;
+                  }
+                  headers[kHeadersList].append(key, val);
+                }
+              }
+              this.body = new Readable({ read: resume });
+              const decoders = [];
+              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                for (const coding of codings) {
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(zlib.createInflate());
+                  } else if (coding === "br") {
+                    decoders.push(zlib.createBrotliDecompress());
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              resolve2({
+                status,
+                statusText,
+                headersList: headers[kHeadersList],
+                body: decoders.length ? pipeline(this.body, ...decoders, () => {
+                }) : this.body.on("error", () => {
+                })
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, headersList, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headers = new Headers();
+              for (let n = 0; n < headersList.length; n += 2) {
+                const key = headersList[n + 0].toString("latin1");
+                const val = headersList[n + 1].toString("latin1");
+                headers[kHeadersList].append(key, val);
+              }
+              resolve2({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList: headers[kHeadersList],
+                socket
+              });
+              return true;
+            }
+          }
+        ));
+      }
     }
     module2.exports = {
-      isBuffer,
-      isEncoding,
-      alloc,
-      allocUnsafe,
-      allocUnsafeSlow,
-      byteLength,
-      compare: compare2,
-      concat,
-      copy,
-      equals,
-      fill,
-      from,
-      includes,
-      indexOf,
-      lastIndexOf,
-      swap16,
-      swap32,
-      swap64,
-      toBuffer,
-      toString: toString2,
-      write,
-      writeDoubleLE,
-      writeFloatLE,
-      writeUInt32LE,
-      writeInt32LE,
-      readDoubleLE,
-      readFloatLE,
-      readUInt32LE,
-      readInt32LE,
-      writeDoubleBE,
-      writeFloatBE,
-      writeUInt32BE,
-      writeInt32BE,
-      readDoubleBE,
-      readFloatBE,
-      readUInt32BE,
-      readInt32BE
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
   }
 });
 
-// node_modules/text-decoder/lib/pass-through-decoder.js
-var require_pass_through_decoder = __commonJS({
-  "node_modules/text-decoder/lib/pass-through-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class PassThroughDecoder {
-      constructor(encoding) {
-        this.encoding = encoding;
-      }
-      get remaining() {
-        return 0;
-      }
-      decode(tail) {
-        return b4a.toString(tail, this.encoding);
-      }
-      flush() {
-        return "";
-      }
+// node_modules/undici/lib/fileapi/symbols.js
+var require_symbols13 = __commonJS({
+  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/text-decoder/lib/utf8-decoder.js
-var require_utf8_decoder = __commonJS({
-  "node_modules/text-decoder/lib/utf8-decoder.js"(exports2, module2) {
-    var b4a = require_b4a();
-    module2.exports = class UTF8Decoder {
-      constructor() {
-        this.codePoint = 0;
-        this.bytesSeen = 0;
-        this.bytesNeeded = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
+// node_modules/undici/lib/fileapi/progressevent.js
+var require_progressevent3 = __commonJS({
+  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get remaining() {
-        return this.bytesSeen;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      decode(data) {
-        if (this.bytesNeeded === 0) {
-          let isBoundary = true;
-          for (let i = Math.max(0, data.byteLength - 4), n = data.byteLength; i < n && isBoundary; i++) {
-            isBoundary = data[i] <= 127;
-          }
-          if (isBoundary) return b4a.toString(data, "utf8");
-        }
-        let result = "";
-        for (let i = 0, n = data.byteLength; i < n; i++) {
-          const byte = data[i];
-          if (this.bytesNeeded === 0) {
-            if (byte <= 127) {
-              result += String.fromCharCode(byte);
-            } else {
-              this.bytesSeen = 1;
-              if (byte >= 194 && byte <= 223) {
-                this.bytesNeeded = 2;
-                this.codePoint = byte & 31;
-              } else if (byte >= 224 && byte <= 239) {
-                if (byte === 224) this.lowerBoundary = 160;
-                else if (byte === 237) this.upperBoundary = 159;
-                this.bytesNeeded = 3;
-                this.codePoint = byte & 15;
-              } else if (byte >= 240 && byte <= 244) {
-                if (byte === 240) this.lowerBoundary = 144;
-                if (byte === 244) this.upperBoundary = 143;
-                this.bytesNeeded = 4;
-                this.codePoint = byte & 7;
-              } else {
-                result += "\uFFFD";
-              }
-            }
-            continue;
-          }
-          if (byte < this.lowerBoundary || byte > this.upperBoundary) {
-            this.codePoint = 0;
-            this.bytesNeeded = 0;
-            this.bytesSeen = 0;
-            this.lowerBoundary = 128;
-            this.upperBoundary = 191;
-            result += "\uFFFD";
-            continue;
-          }
-          this.lowerBoundary = 128;
-          this.upperBoundary = 191;
-          this.codePoint = this.codePoint << 6 | byte & 63;
-          this.bytesSeen++;
-          if (this.bytesSeen !== this.bytesNeeded) continue;
-          result += String.fromCodePoint(this.codePoint);
-          this.codePoint = 0;
-          this.bytesNeeded = 0;
-          this.bytesSeen = 0;
-        }
-        return result;
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      flush() {
-        const result = this.bytesNeeded > 0 ? "\uFFFD" : "";
-        this.codePoint = 0;
-        this.bytesNeeded = 0;
-        this.bytesSeen = 0;
-        this.lowerBoundary = 128;
-        this.upperBoundary = 191;
-        return result;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
+      }
+    };
+    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
+      {
+        key: "lengthComputable",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "loaded",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: 0
+      },
+      {
+        key: "total",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: 0
+      },
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: false
       }
+    ]);
+    module2.exports = {
+      ProgressEvent
     };
   }
 });
 
-// node_modules/text-decoder/index.js
-var require_text_decoder = __commonJS({
-  "node_modules/text-decoder/index.js"(exports2, module2) {
-    var PassThroughDecoder = require_pass_through_decoder();
-    var UTF8Decoder = require_utf8_decoder();
-    module2.exports = class TextDecoder {
-      constructor(encoding = "utf8") {
-        this.encoding = normalizeEncoding(encoding);
-        switch (this.encoding) {
-          case "utf8":
-            this.decoder = new UTF8Decoder();
-            break;
-          case "utf16le":
-          case "base64":
-            throw new Error("Unsupported encoding: " + this.encoding);
-          default:
-            this.decoder = new PassThroughDecoder(this.encoding);
-        }
-      }
-      get remaining() {
-        return this.decoder.remaining;
-      }
-      push(data) {
-        if (typeof data === "string") return data;
-        return this.decoder.decode(data);
-      }
-      // For Node.js compatibility
-      write(data) {
-        return this.push(data);
-      }
-      end(data) {
-        let result = "";
-        if (data) result = this.push(data);
-        result += this.decoder.flush();
-        return result;
+// node_modules/undici/lib/fileapi/encoding.js
+var require_encoding3 = __commonJS({
+  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-    };
-    function normalizeEncoding(encoding) {
-      encoding = encoding.toLowerCase();
-      switch (encoding) {
-        case "utf8":
+      switch (label.trim().toLowerCase()) {
+        case "unicode-1-1-utf-8":
+        case "unicode11utf8":
+        case "unicode20utf8":
         case "utf-8":
-          return "utf8";
-        case "ucs2":
+        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 "utf16le":
+        case "unicode":
+        case "unicodefeff":
+        case "utf-16":
         case "utf-16le":
-          return "utf16le";
-        case "latin1":
-        case "binary":
-          return "latin1";
-        case "base64":
-        case "ascii":
-        case "hex":
-          return encoding;
+          return "UTF-16LE";
+        case "x-user-defined":
+          return "x-user-defined";
         default:
-          throw new Error("Unknown encoding: " + encoding);
+          return "failure";
       }
     }
+    module2.exports = {
+      getEncoding
+    };
   }
 });
 
-// node_modules/streamx/index.js
-var require_streamx = __commonJS({
-  "node_modules/streamx/index.js"(exports2, module2) {
-    var { EventEmitter } = require("events");
-    var STREAM_DESTROYED = new Error("Stream was destroyed");
-    var PREMATURE_CLOSE = new Error("Premature close");
-    var queueTick = require_process_next_tick();
-    var FIFO = require_fast_fifo();
-    var TextDecoder2 = require_text_decoder();
-    var MAX = (1 << 29) - 1;
-    var OPENING = 1;
-    var PREDESTROYING = 2;
-    var DESTROYING = 4;
-    var DESTROYED = 8;
-    var NOT_OPENING = MAX ^ OPENING;
-    var NOT_PREDESTROYING = MAX ^ PREDESTROYING;
-    var READ_ACTIVE = 1 << 4;
-    var READ_UPDATING = 2 << 4;
-    var READ_PRIMARY = 4 << 4;
-    var READ_QUEUED = 8 << 4;
-    var READ_RESUMED = 16 << 4;
-    var READ_PIPE_DRAINED = 32 << 4;
-    var READ_ENDING = 64 << 4;
-    var READ_EMIT_DATA = 128 << 4;
-    var READ_EMIT_READABLE = 256 << 4;
-    var READ_EMITTED_READABLE = 512 << 4;
-    var READ_DONE = 1024 << 4;
-    var READ_NEXT_TICK = 2048 << 4;
-    var READ_NEEDS_PUSH = 4096 << 4;
-    var READ_READ_AHEAD = 8192 << 4;
-    var READ_FLOWING = READ_RESUMED | READ_PIPE_DRAINED;
-    var READ_ACTIVE_AND_NEEDS_PUSH = READ_ACTIVE | READ_NEEDS_PUSH;
-    var READ_PRIMARY_AND_ACTIVE = READ_PRIMARY | READ_ACTIVE;
-    var READ_EMIT_READABLE_AND_QUEUED = READ_EMIT_READABLE | READ_QUEUED;
-    var READ_RESUMED_READ_AHEAD = READ_RESUMED | READ_READ_AHEAD;
-    var READ_NOT_ACTIVE = MAX ^ READ_ACTIVE;
-    var READ_NON_PRIMARY = MAX ^ READ_PRIMARY;
-    var READ_NON_PRIMARY_AND_PUSHED = MAX ^ (READ_PRIMARY | READ_NEEDS_PUSH);
-    var READ_PUSHED = MAX ^ READ_NEEDS_PUSH;
-    var READ_PAUSED = MAX ^ READ_RESUMED;
-    var READ_NOT_QUEUED = MAX ^ (READ_QUEUED | READ_EMITTED_READABLE);
-    var READ_NOT_ENDING = MAX ^ READ_ENDING;
-    var READ_PIPE_NOT_DRAINED = MAX ^ READ_FLOWING;
-    var READ_NOT_NEXT_TICK = MAX ^ READ_NEXT_TICK;
-    var READ_NOT_UPDATING = MAX ^ READ_UPDATING;
-    var READ_NO_READ_AHEAD = MAX ^ READ_READ_AHEAD;
-    var READ_PAUSED_NO_READ_AHEAD = MAX ^ READ_RESUMED_READ_AHEAD;
-    var WRITE_ACTIVE = 1 << 18;
-    var WRITE_UPDATING = 2 << 18;
-    var WRITE_PRIMARY = 4 << 18;
-    var WRITE_QUEUED = 8 << 18;
-    var WRITE_UNDRAINED = 16 << 18;
-    var WRITE_DONE = 32 << 18;
-    var WRITE_EMIT_DRAIN = 64 << 18;
-    var WRITE_NEXT_TICK = 128 << 18;
-    var WRITE_WRITING = 256 << 18;
-    var WRITE_FINISHING = 512 << 18;
-    var WRITE_CORKED = 1024 << 18;
-    var WRITE_NOT_ACTIVE = MAX ^ (WRITE_ACTIVE | WRITE_WRITING);
-    var WRITE_NON_PRIMARY = MAX ^ WRITE_PRIMARY;
-    var WRITE_NOT_FINISHING = MAX ^ WRITE_FINISHING;
-    var WRITE_DRAINED = MAX ^ WRITE_UNDRAINED;
-    var WRITE_NOT_QUEUED = MAX ^ WRITE_QUEUED;
-    var WRITE_NOT_NEXT_TICK = MAX ^ WRITE_NEXT_TICK;
-    var WRITE_NOT_UPDATING = MAX ^ WRITE_UPDATING;
-    var WRITE_NOT_CORKED = MAX ^ WRITE_CORKED;
-    var ACTIVE = READ_ACTIVE | WRITE_ACTIVE;
-    var NOT_ACTIVE = MAX ^ ACTIVE;
-    var DONE = READ_DONE | WRITE_DONE;
-    var DESTROY_STATUS = DESTROYING | DESTROYED | PREDESTROYING;
-    var OPEN_STATUS = DESTROY_STATUS | OPENING;
-    var AUTO_DESTROY = DESTROY_STATUS | DONE;
-    var NON_PRIMARY = WRITE_NON_PRIMARY & READ_NON_PRIMARY;
-    var ACTIVE_OR_TICKING = WRITE_NEXT_TICK | READ_NEXT_TICK;
-    var TICKING = ACTIVE_OR_TICKING & NOT_ACTIVE;
-    var IS_OPENING = OPEN_STATUS | TICKING;
-    var READ_PRIMARY_STATUS = OPEN_STATUS | READ_ENDING | READ_DONE;
-    var READ_STATUS = OPEN_STATUS | READ_DONE | READ_QUEUED;
-    var READ_ENDING_STATUS = OPEN_STATUS | READ_ENDING | READ_QUEUED;
-    var READ_READABLE_STATUS = OPEN_STATUS | READ_EMIT_READABLE | READ_QUEUED | READ_EMITTED_READABLE;
-    var SHOULD_NOT_READ = OPEN_STATUS | READ_ACTIVE | READ_ENDING | READ_DONE | READ_NEEDS_PUSH | READ_READ_AHEAD;
-    var READ_BACKPRESSURE_STATUS = DESTROY_STATUS | READ_ENDING | READ_DONE;
-    var READ_UPDATE_SYNC_STATUS = READ_UPDATING | OPEN_STATUS | READ_NEXT_TICK | READ_PRIMARY;
-    var WRITE_PRIMARY_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_QUEUED_AND_UNDRAINED = WRITE_QUEUED | WRITE_UNDRAINED;
-    var WRITE_QUEUED_AND_ACTIVE = WRITE_QUEUED | WRITE_ACTIVE;
-    var WRITE_DRAIN_STATUS = WRITE_QUEUED | WRITE_UNDRAINED | OPEN_STATUS | WRITE_ACTIVE;
-    var WRITE_STATUS = OPEN_STATUS | WRITE_ACTIVE | WRITE_QUEUED | WRITE_CORKED;
-    var WRITE_PRIMARY_AND_ACTIVE = WRITE_PRIMARY | WRITE_ACTIVE;
-    var WRITE_ACTIVE_AND_WRITING = WRITE_ACTIVE | WRITE_WRITING;
-    var WRITE_FINISHING_STATUS = OPEN_STATUS | WRITE_FINISHING | WRITE_QUEUED_AND_ACTIVE | WRITE_DONE;
-    var WRITE_BACKPRESSURE_STATUS = WRITE_UNDRAINED | DESTROY_STATUS | WRITE_FINISHING | WRITE_DONE;
-    var WRITE_UPDATE_SYNC_STATUS = WRITE_UPDATING | OPEN_STATUS | WRITE_NEXT_TICK | WRITE_PRIMARY;
-    var asyncIterator = Symbol.asyncIterator || /* @__PURE__ */ Symbol("asyncIterator");
-    var WritableState = class {
-      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapWritable, byteLength, byteLengthWritable } = {}) {
-        this.stream = stream;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark;
-        this.buffered = 0;
-        this.error = null;
-        this.pipeline = null;
-        this.drains = null;
-        this.byteLength = byteLengthWritable || byteLength || defaultByteLength;
-        this.map = mapWritable || map2;
-        this.afterWrite = afterWrite.bind(this);
-        this.afterUpdateNextTick = updateWriteNT.bind(this);
-      }
-      get ended() {
-        return (this.stream._duplexState & WRITE_DONE) !== 0;
-      }
-      push(data) {
-        if (this.map !== null) data = this.map(data);
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        if (this.buffered < this.highWaterMark) {
-          this.stream._duplexState |= WRITE_QUEUED;
-          return true;
-        }
-        this.stream._duplexState |= WRITE_QUEUED_AND_UNDRAINED;
-        return false;
-      }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= WRITE_NOT_QUEUED;
-        return data;
-      }
-      end(data) {
-        if (typeof data === "function") this.stream.once("finish", data);
-        else if (data !== void 0 && data !== null) this.push(data);
-        this.stream._duplexState = (this.stream._duplexState | WRITE_FINISHING) & WRITE_NON_PRIMARY;
-      }
-      autoBatch(data, cb) {
-        const buffer = [];
-        const stream = this.stream;
-        buffer.push(data);
-        while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED_AND_ACTIVE) {
-          buffer.push(stream._writableState.shift());
-        }
-        if ((stream._duplexState & OPEN_STATUS) !== 0) return cb(null);
-        stream._writev(buffer, cb);
-      }
-      update() {
-        const stream = this.stream;
-        stream._duplexState |= WRITE_UPDATING;
-        do {
-          while ((stream._duplexState & WRITE_STATUS) === WRITE_QUEUED) {
-            const data = this.shift();
-            stream._duplexState |= WRITE_ACTIVE_AND_WRITING;
-            stream._write(data, this.afterWrite);
-          }
-          if ((stream._duplexState & WRITE_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream._duplexState &= WRITE_NOT_UPDATING;
-      }
-      updateNonPrimary() {
-        const stream = this.stream;
-        if ((stream._duplexState & WRITE_FINISHING_STATUS) === WRITE_FINISHING) {
-          stream._duplexState = (stream._duplexState | WRITE_ACTIVE) & WRITE_NOT_FINISHING;
-          stream._final(afterFinal.bind(this));
-          return;
-        }
-        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream._duplexState |= ACTIVE;
-            stream._destroy(afterDestroy.bind(this));
-          }
-          return;
-        }
-        if ((stream._duplexState & IS_OPENING) === OPENING) {
-          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
-          stream._open(afterOpen.bind(this));
-        }
-      }
-      continueUpdate() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        return true;
-      }
-      updateCallback() {
-        if ((this.stream._duplexState & WRITE_UPDATE_SYNC_STATUS) === WRITE_PRIMARY) this.update();
-        else this.updateNextTick();
-      }
-      updateNextTick() {
-        if ((this.stream._duplexState & WRITE_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= WRITE_NEXT_TICK;
-        if ((this.stream._duplexState & WRITE_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
-      }
+// node_modules/undici/lib/fileapi/util.js
+var require_util26 = __commonJS({
+  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
+    "use strict";
+    var {
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols13();
+    var { ProgressEvent } = require_progressevent3();
+    var { getEncoding } = require_encoding3();
+    var { DOMException: DOMException2 } = require_constants20();
+    var { serializeAMimeType, parseMIMEType } = require_dataURL();
+    var { types } = require("util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
     };
-    var ReadableState = class {
-      constructor(stream, { highWaterMark = 16384, map: map2 = null, mapReadable, byteLength, byteLengthReadable } = {}) {
-        this.stream = stream;
-        this.queue = new FIFO();
-        this.highWaterMark = highWaterMark === 0 ? 1 : highWaterMark;
-        this.buffered = 0;
-        this.readAhead = highWaterMark > 0;
-        this.error = null;
-        this.pipeline = null;
-        this.byteLength = byteLengthReadable || byteLength || defaultByteLength;
-        this.map = mapReadable || map2;
-        this.pipeTo = null;
-        this.afterRead = afterRead.bind(this);
-        this.afterUpdateNextTick = updateReadNT.bind(this);
-      }
-      get ended() {
-        return (this.stream._duplexState & READ_DONE) !== 0;
-      }
-      pipe(pipeTo, cb) {
-        if (this.pipeTo !== null) throw new Error("Can only pipe to one destination");
-        if (typeof cb !== "function") cb = null;
-        this.stream._duplexState |= READ_PIPE_DRAINED;
-        this.pipeTo = pipeTo;
-        this.pipeline = new Pipeline(this.stream, pipeTo, cb);
-        if (cb) this.stream.on("error", noop3);
-        if (isStreamx(pipeTo)) {
-          pipeTo._writableState.pipeline = this.pipeline;
-          if (cb) pipeTo.on("error", noop3);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
-        } else {
-          const onerror = this.pipeline.done.bind(this.pipeline, pipeTo);
-          const onclose = this.pipeline.done.bind(this.pipeline, pipeTo, null);
-          pipeTo.on("error", onerror);
-          pipeTo.on("close", onclose);
-          pipeTo.on("finish", this.pipeline.finished.bind(this.pipeline));
-        }
-        pipeTo.on("drain", afterDrain.bind(this));
-        this.stream.emit("piping", pipeTo);
-        pipeTo.emit("pipe", this.stream);
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException2("Invalid state", "InvalidStateError");
       }
-      push(data) {
-        const stream = this.stream;
-        if (data === null) {
-          this.highWaterMark = 0;
-          stream._duplexState = (stream._duplexState | READ_ENDING) & READ_NON_PRIMARY_AND_PUSHED;
-          return false;
-        }
-        if (this.map !== null) {
-          data = this.map(data);
-          if (data === null) {
-            stream._duplexState &= READ_PUSHED;
-            return this.buffered < this.highWaterMark;
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream = blob.stream();
+      const reader = stream.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
+          try {
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
+            }
+            isFirstChunk = false;
+            if (!done && types.isUint8Array(value)) {
+              bytes.push(value);
+              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
+                fr[kLastProgressEventFired] = Date.now();
+                queueMicrotask(() => {
+                  fireAProgressEvent("progress", fr);
+                });
+              }
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
+              }
+            });
+            break;
           }
         }
-        this.buffered += this.byteLength(data);
-        this.queue.push(data);
-        stream._duplexState = (stream._duplexState | READ_QUEUED) & READ_PUSHED;
-        return this.buffered < this.highWaterMark;
-      }
-      shift() {
-        const data = this.queue.shift();
-        this.buffered -= this.byteLength(data);
-        if (this.buffered === 0) this.stream._duplexState &= READ_NOT_QUEUED;
-        return data;
-      }
-      unshift(data) {
-        const pending = [this.map !== null ? this.map(data) : data];
-        while (this.buffered > 0) pending.push(this.shift());
-        for (let i = 0; i < pending.length - 1; i++) {
-          const data2 = pending[i];
-          this.buffered += this.byteLength(data2);
-          this.queue.push(data2);
-        }
-        this.push(pending[pending.length - 1]);
-      }
-      read() {
-        const stream = this.stream;
-        if ((stream._duplexState & READ_STATUS) === READ_QUEUED) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
-          return data;
-        }
-        if (this.readAhead === false) {
-          stream._duplexState |= READ_READ_AHEAD;
-          this.updateNextTick();
-        }
-        return null;
-      }
-      drain() {
-        const stream = this.stream;
-        while ((stream._duplexState & READ_STATUS) === READ_QUEUED && (stream._duplexState & READ_FLOWING) !== 0) {
-          const data = this.shift();
-          if (this.pipeTo !== null && this.pipeTo.write(data) === false) stream._duplexState &= READ_PIPE_NOT_DRAINED;
-          if ((stream._duplexState & READ_EMIT_DATA) !== 0) stream.emit("data", data);
-        }
-      }
-      update() {
-        const stream = this.stream;
-        stream._duplexState |= READ_UPDATING;
-        do {
-          this.drain();
-          while (this.buffered < this.highWaterMark && (stream._duplexState & SHOULD_NOT_READ) === READ_READ_AHEAD) {
-            stream._duplexState |= READ_ACTIVE_AND_NEEDS_PUSH;
-            stream._read(this.afterRead);
-            this.drain();
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-          if ((stream._duplexState & READ_READABLE_STATUS) === READ_EMIT_READABLE_AND_QUEUED) {
-            stream._duplexState |= READ_EMITTED_READABLE;
-            stream.emit("readable");
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
-          if ((stream._duplexState & READ_PRIMARY_AND_ACTIVE) === 0) this.updateNonPrimary();
-        } while (this.continueUpdate() === true);
-        stream._duplexState &= READ_NOT_UPDATING;
-      }
-      updateNonPrimary() {
-        const stream = this.stream;
-        if ((stream._duplexState & READ_ENDING_STATUS) === READ_ENDING) {
-          stream._duplexState = (stream._duplexState | READ_DONE) & READ_NOT_ENDING;
-          stream.emit("end");
-          if ((stream._duplexState & AUTO_DESTROY) === DONE) stream._duplexState |= DESTROYING;
-          if (this.pipeTo !== null) this.pipeTo.end();
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        if ((stream._duplexState & DESTROY_STATUS) === DESTROYING) {
-          if ((stream._duplexState & ACTIVE_OR_TICKING) === 0) {
-            stream._duplexState |= ACTIVE;
-            stream._destroy(afterDestroy.bind(this));
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          return;
-        }
-        if ((stream._duplexState & IS_OPENING) === OPENING) {
-          stream._duplexState = (stream._duplexState | ACTIVE) & NOT_OPENING;
-          stream._open(afterOpen.bind(this));
-        }
-      }
-      continueUpdate() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) === 0) return false;
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        return true;
-      }
-      updateCallback() {
-        if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update();
-        else this.updateNextTick();
-      }
-      updateNextTick() {
-        if ((this.stream._duplexState & READ_NEXT_TICK) !== 0) return;
-        this.stream._duplexState |= READ_NEXT_TICK;
-        if ((this.stream._duplexState & READ_UPDATING) === 0) queueTick(this.afterUpdateNextTick);
-      }
-    };
-    var TransformState = class {
-      constructor(stream) {
-        this.data = null;
-        this.afterTransform = afterTransform.bind(stream);
-        this.afterFinal = null;
-      }
-    };
-    var Pipeline = class {
-      constructor(src, dst, cb) {
-        this.from = src;
-        this.to = dst;
-        this.afterPipe = cb;
-        this.error = null;
-        this.pipeToFinished = false;
-      }
-      finished() {
-        this.pipeToFinished = true;
-      }
-      done(stream, err) {
-        if (err) this.error = err;
-        if (stream === this.to) {
-          this.to = null;
-          if (this.from !== null) {
-            if ((this.from._duplexState & READ_DONE) === 0 || !this.pipeToFinished) {
-              this.from.destroy(this.error || new Error("Writable stream closed prematurely"));
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
             }
-            return;
           }
+          if (encoding === "failure") {
+            encoding = "UTF-8";
+          }
+          return decode(bytes, encoding);
         }
-        if (stream === this.from) {
-          this.from = null;
-          if (this.to !== null) {
-            if ((stream._duplexState & READ_DONE) === 0) {
-              this.to.destroy(this.error || new Error("Readable stream closed before ending"));
-            }
-            return;
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
+        }
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
           }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        if (this.afterPipe !== null) this.afterPipe(this.error);
-        this.to = this.from = this.afterPipe = null;
-      }
-    };
-    function afterDrain() {
-      this.stream._duplexState |= READ_PIPE_DRAINED;
-      this.updateCallback();
-    }
-    function afterFinal(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      if ((stream._duplexState & DESTROY_STATUS) === 0) {
-        stream._duplexState |= WRITE_DONE;
-        stream.emit("finish");
-      }
-      if ((stream._duplexState & AUTO_DESTROY) === DONE) {
-        stream._duplexState |= DESTROYING;
       }
-      stream._duplexState &= WRITE_NOT_ACTIVE;
-      if ((stream._duplexState & WRITE_UPDATING) === 0) this.update();
-      else this.updateNextTick();
     }
-    function afterDestroy(err) {
-      const stream = this.stream;
-      if (!err && this.error !== STREAM_DESTROYED) err = this.error;
-      if (err) stream.emit("error", err);
-      stream._duplexState |= DESTROYED;
-      stream.emit("close");
-      const rs = stream._readableState;
-      const ws = stream._writableState;
-      if (rs !== null && rs.pipeline !== null) rs.pipeline.done(stream, err);
-      if (ws !== null) {
-        while (ws.drains !== null && ws.drains.length > 0) ws.drains.shift().resolve(false);
-        if (ws.pipeline !== null) ws.pipeline.done(stream, err);
+    function decode(ioQueue, encoding) {
+      const bytes = combineByteSequences(ioQueue);
+      const BOMEncoding = BOMSniffing(bytes);
+      let slice = 0;
+      if (BOMEncoding !== null) {
+        encoding = BOMEncoding;
+        slice = BOMEncoding === "UTF-8" ? 3 : 2;
       }
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    function afterWrite(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      stream._duplexState &= WRITE_NOT_ACTIVE;
-      if (this.drains !== null) tickDrains(this.drains);
-      if ((stream._duplexState & WRITE_DRAIN_STATUS) === WRITE_UNDRAINED) {
-        stream._duplexState &= WRITE_DRAINED;
-        if ((stream._duplexState & WRITE_EMIT_DRAIN) === WRITE_EMIT_DRAIN) {
-          stream.emit("drain");
-        }
+    function BOMSniffing(ioQueue) {
+      const [a, b, c] = ioQueue;
+      if (a === 239 && b === 187 && c === 191) {
+        return "UTF-8";
+      } else if (a === 254 && b === 255) {
+        return "UTF-16BE";
+      } else if (a === 255 && b === 254) {
+        return "UTF-16LE";
       }
-      this.updateCallback();
-    }
-    function afterRead(err) {
-      if (err) this.stream.destroy(err);
-      this.stream._duplexState &= READ_NOT_ACTIVE;
-      if (this.readAhead === false && (this.stream._duplexState & READ_RESUMED) === 0) this.stream._duplexState &= READ_NO_READ_AHEAD;
-      this.updateCallback();
+      return null;
     }
-    function updateReadNT() {
-      if ((this.stream._duplexState & READ_UPDATING) === 0) {
-        this.stream._duplexState &= READ_NOT_NEXT_TICK;
-        this.update();
-      }
+    function combineByteSequences(sequences) {
+      const size = sequences.reduce((a, b) => {
+        return a + b.byteLength;
+      }, 0);
+      let offset = 0;
+      return sequences.reduce((a, b) => {
+        a.set(b, offset);
+        offset += b.byteLength;
+        return a;
+      }, new Uint8Array(size));
     }
-    function updateWriteNT() {
-      if ((this.stream._duplexState & WRITE_UPDATING) === 0) {
-        this.stream._duplexState &= WRITE_NOT_NEXT_TICK;
-        this.update();
+    module2.exports = {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    };
+  }
+});
+
+// node_modules/undici/lib/fileapi/filereader.js
+var require_filereader3 = __commonJS({
+  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+    "use strict";
+    var {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util26();
+    var {
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols13();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util23();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
+        super();
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-    }
-    function tickDrains(drains) {
-      for (let i = 0; i < drains.length; i++) {
-        if (--drains[i].writes === 0) {
-          drains.shift().resolve(true);
-          i--;
-        }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
       }
-    }
-    function afterOpen(err) {
-      const stream = this.stream;
-      if (err) stream.destroy(err);
-      if ((stream._duplexState & DESTROYING) === 0) {
-        if ((stream._duplexState & READ_PRIMARY_STATUS) === 0) stream._duplexState |= READ_PRIMARY;
-        if ((stream._duplexState & WRITE_PRIMARY_STATUS) === 0) stream._duplexState |= WRITE_PRIMARY;
-        stream.emit("open");
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
       }
-      stream._duplexState &= NOT_ACTIVE;
-      if (stream._writableState !== null) {
-        stream._writableState.updateCallback();
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsDataText
+       * @param {import('buffer').Blob} blob
+       * @param {string?} encoding
+       */
+      readAsText(blob, encoding = void 0) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding);
+        }
+        readOperation(this, blob, "Text", encoding);
       }
-      if (stream._readableState !== null) {
-        stream._readableState.updateCallback();
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
       }
-    }
-    function afterTransform(err, data) {
-      if (data !== void 0 && data !== null) this.push(data);
-      this._writableState.afterWrite(err);
-    }
-    function newListener(name) {
-      if (this._readableState !== null) {
-        if (name === "data") {
-          this._duplexState |= READ_EMIT_DATA | READ_RESUMED_READ_AHEAD;
-          this._readableState.updateNextTick();
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
+          return;
         }
-        if (name === "readable") {
-          this._duplexState |= READ_EMIT_READABLE;
-          this._readableState.updateNextTick();
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
         }
-      }
-      if (this._writableState !== null) {
-        if (name === "drain") {
-          this._duplexState |= WRITE_EMIT_DRAIN;
-          this._writableState.updateNextTick();
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
         }
       }
-    }
-    var Stream = class extends EventEmitter {
-      constructor(opts) {
-        super();
-        this._duplexState = 0;
-        this._readableState = null;
-        this._writableState = null;
-        if (opts) {
-          if (opts.open) this._open = opts.open;
-          if (opts.destroy) this._destroy = opts.destroy;
-          if (opts.predestroy) this._predestroy = opts.predestroy;
-          if (opts.signal) {
-            opts.signal.addEventListener("abort", abort.bind(this));
-          }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
+       */
+      get readyState() {
+        webidl.brandCheck(this, _FileReader);
+        switch (this[kState]) {
+          case "empty":
+            return this.EMPTY;
+          case "loading":
+            return this.LOADING;
+          case "done":
+            return this.DONE;
         }
-        this.on("newListener", newListener);
       }
-      _open(cb) {
-        cb(null);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
       }
-      _destroy(cb) {
-        cb(null);
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
       }
-      _predestroy() {
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
       }
-      get readable() {
-        return this._readableState !== null ? true : void 0;
+      set onloadend(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadend) {
+          this.removeEventListener("loadend", this[kEvents].loadend);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].loadend = fn;
+          this.addEventListener("loadend", fn);
+        } else {
+          this[kEvents].loadend = null;
+        }
       }
-      get writable() {
-        return this._writableState !== null ? true : void 0;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      get destroyed() {
-        return (this._duplexState & DESTROYED) !== 0;
+      set onerror(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].error) {
+          this.removeEventListener("error", this[kEvents].error);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
+        }
       }
-      get destroying() {
-        return (this._duplexState & DESTROY_STATUS) !== 0;
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      destroy(err) {
-        if ((this._duplexState & DESTROY_STATUS) === 0) {
-          if (!err) err = STREAM_DESTROYED;
-          this._duplexState = (this._duplexState | DESTROYING) & NON_PRIMARY;
-          if (this._readableState !== null) {
-            this._readableState.highWaterMark = 0;
-            this._readableState.error = err;
-          }
-          if (this._writableState !== null) {
-            this._writableState.highWaterMark = 0;
-            this._writableState.error = err;
-          }
-          this._duplexState |= PREDESTROYING;
-          this._predestroy();
-          this._duplexState &= NOT_PREDESTROYING;
-          if (this._readableState !== null) this._readableState.updateNextTick();
-          if (this._writableState !== null) this._writableState.updateNextTick();
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      }
-    };
-    var Readable = class _Readable extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
-        this._readableState = new ReadableState(this, opts);
-        if (opts) {
-          if (this._readableState.readAhead === false) this._duplexState &= READ_NO_READ_AHEAD;
-          if (opts.read) this._read = opts.read;
-          if (opts.eagerOpen) this._readableState.updateNextTick();
-          if (opts.encoding) this.setEncoding(opts.encoding);
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
       }
-      setEncoding(encoding) {
-        const dec = new TextDecoder2(encoding);
-        const map2 = this._readableState.map || echo;
-        this._readableState.map = mapOrSkip;
-        return this;
-        function mapOrSkip(data) {
-          const next = dec.push(data);
-          return next === "" && (data.byteLength !== 0 || dec.remaining > 0) ? null : map2(next);
+      get onprogress() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].progress;
+      }
+      set onprogress(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].progress) {
+          this.removeEventListener("progress", this[kEvents].progress);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
       }
-      _read(cb) {
-        cb(null);
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      pipe(dest, cb) {
-        this._readableState.updateNextTick();
-        this._readableState.pipe(dest, cb);
-        return dest;
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
+        }
       }
-      read() {
-        this._readableState.updateNextTick();
-        return this._readableState.read();
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      push(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.push(data);
+      set onabort(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].abort) {
+          this.removeEventListener("abort", this[kEvents].abort);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].abort = fn;
+          this.addEventListener("abort", fn);
+        } else {
+          this[kEvents].abort = null;
+        }
       }
-      unshift(data) {
-        this._readableState.updateNextTick();
-        return this._readableState.unshift(data);
+    };
+    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
+    FileReader.LOADING = FileReader.prototype.LOADING = 1;
+    FileReader.DONE = FileReader.prototype.DONE = 2;
+    Object.defineProperties(FileReader.prototype, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors,
+      readAsArrayBuffer: kEnumerableProperty,
+      readAsBinaryString: kEnumerableProperty,
+      readAsText: kEnumerableProperty,
+      readAsDataURL: kEnumerableProperty,
+      abort: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      result: kEnumerableProperty,
+      error: kEnumerableProperty,
+      onloadstart: kEnumerableProperty,
+      onprogress: kEnumerableProperty,
+      onload: kEnumerableProperty,
+      onabort: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onloadend: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FileReader",
+        writable: false,
+        enumerable: false,
+        configurable: true
       }
-      resume() {
-        this._duplexState |= READ_RESUMED_READ_AHEAD;
-        this._readableState.updateNextTick();
-        return this;
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
+    module2.exports = {
+      FileReader
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/symbols.js
+var require_symbols14 = __commonJS({
+  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols11().kConstruct
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/util.js
+var require_util27 = __commonJS({
+  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("assert");
+    var { URLSerializer } = require_dataURL();
+    var { isValidHeaderName } = require_util24();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
+    }
+    function fieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (!value.length) {
+          continue;
+        } else if (!isValidHeaderName(value)) {
+          continue;
+        }
+        values.push(value);
+      }
+      return values;
+    }
+    module2.exports = {
+      urlEquals,
+      fieldValues
+    };
+  }
+});
+
+// node_modules/undici/lib/cache/cache.js
+var require_cache4 = __commonJS({
+  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { urlEquals, fieldValues: getFieldValues } = require_util27();
+    var { kEnumerableProperty, isDisturbed } = require_util23();
+    var { kHeadersList } = require_symbols11();
+    var { webidl } = require_webidl3();
+    var { Response, cloneResponse } = require_response4();
+    var { Request } = require_request6();
+    var { kState, kHeaders, kGuard, kRealm } = require_symbols12();
+    var { fetching } = require_fetch3();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util24();
+    var assert = require("assert");
+    var { getGlobalDispatcher } = require_global6();
+    var Cache = class _Cache {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
+       * @type {requestResponseList}
+       */
+      #relevantRequestResponseList;
+      constructor() {
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
+        }
+        this.#relevantRequestResponseList = arguments[1];
       }
-      pause() {
-        this._duplexState &= this._readableState.readAhead === false ? READ_PAUSED_NO_READ_AHEAD : READ_PAUSED;
-        return this;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        const p = await this.matchAll(request2, options);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
       }
-      static _fromAsyncIterator(ite, opts) {
-        let destroy;
-        const rs = new _Readable({
-          ...opts,
-          read(cb) {
-            ite.next().then(push).then(cb.bind(null, null)).catch(cb);
-          },
-          predestroy() {
-            destroy = ite.return();
-          },
-          destroy(cb) {
-            if (!destroy) return cb(null);
-            destroy.then(cb.bind(null, null)).catch(cb);
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-        });
-        return rs;
-        function push(data) {
-          if (data.done) rs.push(null);
-          else rs.push(data.value);
         }
-      }
-      static from(data, opts) {
-        if (isReadStreamx(data)) return data;
-        if (data[asyncIterator]) return this._fromAsyncIterator(data[asyncIterator](), opts);
-        if (!Array.isArray(data)) data = data === void 0 ? [] : [data];
-        let i = 0;
-        return new _Readable({
-          ...opts,
-          read(cb) {
-            this.push(i === data.length ? null : data[i++]);
-            cb(null);
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
           }
-        });
-      }
-      static isBackpressured(rs) {
-        return (rs._duplexState & READ_BACKPRESSURE_STATUS) !== 0 || rs._readableState.buffered >= rs._readableState.highWaterMark;
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
+          }
+        }
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = new Response(response.body?.source ?? null);
+          const body = responseObject[kState].body;
+          responseObject[kState] = response;
+          responseObject[kState].body = body;
+          responseObject[kHeaders][kHeadersList] = response.headersList;
+          responseObject[kHeaders][kGuard] = "immutable";
+          responseList.push(responseObject);
+        }
+        return Object.freeze(responseList);
       }
-      static isPaused(rs) {
-        return (rs._duplexState & READ_RESUMED) === 0;
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
+        request2 = webidl.converters.RequestInfo(request2);
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
       }
-      [asyncIterator]() {
-        const stream = this;
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("readable", onreadable);
-        this.on("close", onclose);
-        return {
-          [asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(function(resolve2, reject) {
-              promiseResolve = resolve2;
-              promiseReject = reject;
-              const data = stream.read();
-              if (data !== null) ondata(data);
-              else if ((stream._duplexState & DESTROYED) !== 0) ondata(null);
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
+        requests = webidl.converters["sequence"](requests);
+        const responsePromises = [];
+        const requestList = [];
+        for (const request2 of requests) {
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme when method is not GET."
             });
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
           }
-        };
-        function onreadable() {
-          if (promiseResolve !== null) ondata(stream.read());
-        }
-        function onclose() {
-          if (promiseResolve !== null) ondata(null);
-        }
-        function ondata(data) {
-          if (promiseReject === null) return;
-          if (error3) promiseReject(error3);
-          else if (data === null && (stream._duplexState & READ_DONE) === 0) promiseReject(STREAM_DESTROYED);
-          else promiseResolve({ value: data, done: data === null });
-          promiseReject = promiseResolve = null;
         }
-        function destroy(err) {
-          stream.destroy(err);
-          return new Promise((resolve2, reject) => {
-            if (stream._duplexState & DESTROYED) return resolve2({ value: void 0, done: true });
-            stream.once("close", function() {
-              if (err) reject(err);
-              else resolve2({ value: void 0, done: true });
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: "Cache.addAll",
+              message: "Expected http/s scheme."
             });
-          });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            dispatcher: getGlobalDispatcher(),
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
         }
-      }
-    };
-    var Writable = class extends Stream {
-      constructor(opts) {
-        super(opts);
-        this._duplexState |= OPENING | READ_DONE;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
-          if (opts.eagerOpen) this._writableState.updateNextTick();
+        const p = Promise.all(responsePromises);
+        const responses = await p;
+        const operations = [];
+        let index = 0;
+        for (const response of responses) {
+          const operation = {
+            type: "put",
+            // 7.3.2
+            request: requestList[index],
+            // 7.3.3
+            response
+            // 7.3.4
+          };
+          operations.push(operation);
+          index++;
         }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      static isBackpressured(ws) {
-        return (ws._duplexState & WRITE_BACKPRESSURE_STATUS) !== 0;
-      }
-      static drained(ws) {
-        if (ws.destroyed) return Promise.resolve(false);
-        const state = ws._writableState;
-        const pending = isWritev(ws) ? Math.min(1, state.queue.length) : state.queue.length;
-        const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
-        if (writes === 0) return Promise.resolve(true);
-        if (state.drains === null) state.drains = [];
-        return new Promise((resolve2) => {
-          state.drains.push({ writes, resolve: resolve2 });
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(void 0);
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
         });
+        return cacheJobPromise.promise;
       }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
-      }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
-      }
-    };
-    var Duplex = class extends Readable {
-      // and Writable
-      constructor(opts) {
-        super(opts);
-        this._duplexState = OPENING | this._duplexState & READ_READ_AHEAD;
-        this._writableState = new WritableState(this, opts);
-        if (opts) {
-          if (opts.writev) this._writev = opts.writev;
-          if (opts.write) this._write = opts.write;
-          if (opts.final) this._final = opts.final;
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
+        request2 = webidl.converters.RequestInfo(request2);
+        response = webidl.converters.Response(response);
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
         }
-      }
-      cork() {
-        this._duplexState |= WRITE_CORKED;
-      }
-      uncork() {
-        this._duplexState &= WRITE_NOT_CORKED;
-        this._writableState.updateNextTick();
-      }
-      _writev(batch, cb) {
-        cb(null);
-      }
-      _write(data, cb) {
-        this._writableState.autoBatch(data, cb);
-      }
-      _final(cb) {
-        cb(null);
-      }
-      write(data) {
-        this._writableState.updateNextTick();
-        return this._writableState.push(data);
-      }
-      end(data) {
-        this._writableState.updateNextTick();
-        this._writableState.end(data);
-        return this;
-      }
-    };
-    var Transform = class extends Duplex {
-      constructor(opts) {
-        super(opts);
-        this._transformState = new TransformState(this);
-        if (opts) {
-          if (opts.transform) this._transform = opts.transform;
-          if (opts.flush) this._flush = opts.flush;
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Expected an http/s scheme when method is not GET"
+          });
         }
-      }
-      _write(data, cb) {
-        if (this._readableState.buffered >= this._readableState.highWaterMark) {
-          this._transformState.data = data;
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Got 206 status"
+          });
+        }
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: "Cache.put",
+                message: "Got * vary field value"
+              });
+            }
+          }
+        }
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: "Cache.put",
+            message: "Response body is locked or disturbed"
+          });
+        }
+        const clonedResponse = cloneResponse(innerResponse);
+        const bodyReadPromise = createDeferredPromise();
+        if (innerResponse.body != null) {
+          const stream = innerResponse.body.stream;
+          const reader = stream.getReader();
+          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
         } else {
-          this._transform(data, this._transformState.afterTransform);
+          bodyReadPromise.resolve(void 0);
+        }
+        const operations = [];
+        const operation = {
+          type: "put",
+          // 14.
+          request: innerRequest,
+          // 15.
+          response: clonedResponse
+          // 16.
+        };
+        operations.push(operation);
+        const bytes = await bodyReadPromise.promise;
+        if (clonedResponse.body != null) {
+          clonedResponse.body.source = bytes;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
         }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve();
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
+        });
+        return cacheJobPromise.promise;
       }
-      _read(cb) {
-        if (this._transformState.data !== null) {
-          const data = this._transformState.data;
-          this._transformState.data = null;
-          cb(null);
-          this._transform(data, this._transformState.afterTransform);
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
+          }
         } else {
-          cb(null);
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      destroy(err) {
-        super.destroy(err);
-        if (this._transformState.data !== null) {
-          this._transformState.data = null;
-          this._transformState.afterTransform();
+        const operations = [];
+        const operation = {
+          type: "delete",
+          request: r,
+          options
+        };
+        operations.push(operation);
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        let requestResponses;
+        try {
+          requestResponses = this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
         }
-      }
-      _transform(data, cb) {
-        cb(null, data);
-      }
-      _flush(cb) {
-        cb(null);
-      }
-      _final(cb) {
-        this._transformState.afterFinal = cb;
-        this._flush(transformAfterFlush.bind(this));
-      }
-    };
-    var PassThrough = class extends Transform {
-    };
-    function transformAfterFlush(err, data) {
-      const cb = this._transformState.afterFinal;
-      if (err) return cb(err);
-      if (data !== null && data !== void 0) this.push(data);
-      this.push(null);
-      cb(null);
-    }
-    function pipelinePromise(...streams) {
-      return new Promise((resolve2, reject) => {
-        return pipeline(...streams, (err) => {
-          if (err) return reject(err);
-          resolve2();
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
+          }
         });
-      });
-    }
-    function pipeline(stream, ...streams) {
-      const all = Array.isArray(stream) ? [...stream, ...streams] : [stream, ...streams];
-      const done = all.length && typeof all[all.length - 1] === "function" ? all.pop() : null;
-      if (all.length < 2) throw new Error("Pipeline requires at least 2 streams");
-      let src = all[0];
-      let dest = null;
-      let error3 = null;
-      for (let i = 1; i < all.length; i++) {
-        dest = all[i];
-        if (isStreamx(src)) {
-          src.pipe(dest, onerror);
+        return cacheJobPromise.promise;
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {readonly Request[]}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.CacheQueryOptions(options);
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
+          }
+        }
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          errorHandle(src, true, i > 1, onerror);
-          src.pipe(dest);
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
+          }
         }
-        src = dest;
-      }
-      if (done) {
-        let fin = false;
-        const autoDestroy = isStreamx(dest) || !!(dest._writableState && dest._writableState.autoDestroy);
-        dest.on("error", (err) => {
-          if (error3 === null) error3 = err;
-        });
-        dest.on("finish", () => {
-          fin = true;
-          if (!autoDestroy) done(error3);
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = new Request("https://a");
+            requestObject[kState] = request3;
+            requestObject[kHeaders][kHeadersList] = request3.headersList;
+            requestObject[kHeaders][kGuard] = "immutable";
+            requestObject[kRealm] = request3.client;
+            requestList.push(requestObject);
+          }
+          promise.resolve(Object.freeze(requestList));
         });
-        if (autoDestroy) {
-          dest.on("close", () => done(error3 || (fin ? null : PREMATURE_CLOSE)));
-        }
+        return promise.promise;
       }
-      return dest;
-      function errorHandle(s, rd, wr, onerror2) {
-        s.on("error", onerror2);
-        s.on("close", onclose);
-        function onclose() {
-          if (rd && s._readableState && !s._readableState.ended) return onerror2(PREMATURE_CLOSE);
-          if (wr && s._writableState && !s._writableState.ended) return onerror2(PREMATURE_CLOSE);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
+       * @param {CacheBatchOperation[]} operations
+       * @returns {requestResponseList}
+       */
+      #batchCacheOperations(operations) {
+        const cache = this.#relevantRequestResponseList;
+        const backupCache = [...cache];
+        const addedItems = [];
+        const resultList = [];
+        try {
+          for (const operation of operations) {
+            if (operation.type !== "delete" && operation.type !== "put") {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: 'operation type does not match "delete" or "put"'
+              });
+            }
+            if (operation.type === "delete" && operation.response != null) {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: "delete operation should not have an associated response"
+              });
+            }
+            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
+              throw new DOMException("???", "InvalidStateError");
+            }
+            let requestResponses;
+            if (operation.type === "delete") {
+              requestResponses = this.#queryCache(operation.request, operation.options);
+              if (requestResponses.length === 0) {
+                return [];
+              }
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+            } else if (operation.type === "put") {
+              if (operation.response == null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "put operation should have an associated response"
+                });
+              }
+              const r = operation.request;
+              if (!urlIsHttpHttpsScheme(r.url)) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "expected http or https scheme"
+                });
+              }
+              if (r.method !== "GET") {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "not get method"
+                });
+              }
+              if (operation.options != null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "options must not be defined"
+                });
+              }
+              requestResponses = this.#queryCache(operation.request);
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+              cache.push([operation.request, operation.response]);
+              addedItems.push([operation.request, operation.response]);
+            }
+            resultList.push([operation.request, operation.response]);
+          }
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
         }
       }
-      function onerror(err) {
-        if (!err || error3) return;
-        error3 = err;
-        for (const s of all) {
-          s.destroy(err);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#query-cache
+       * @param {any} requestQuery
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @param {requestResponseList} targetStorage
+       * @returns {requestResponseList}
+       */
+      #queryCache(requestQuery, options, targetStorage) {
+        const resultList = [];
+        const storage = targetStorage ?? this.#relevantRequestResponseList;
+        for (const requestResponse of storage) {
+          const [cachedRequest, cachedResponse] = requestResponse;
+          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
+            resultList.push(requestResponse);
+          }
         }
+        return resultList;
       }
-    }
-    function echo(s) {
-      return s;
-    }
-    function isStream(stream) {
-      return !!stream._readableState || !!stream._writableState;
-    }
-    function isStreamx(stream) {
-      return typeof stream._duplexState === "number" && isStream(stream);
-    }
-    function isEnded(stream) {
-      return !!stream._readableState && stream._readableState.ended;
-    }
-    function isFinished(stream) {
-      return !!stream._writableState && stream._writableState.ended;
-    }
-    function getStreamError(stream, opts = {}) {
-      const err = stream._readableState && stream._readableState.error || stream._writableState && stream._writableState.error;
-      return !opts.all && err === STREAM_DESTROYED ? null : err;
-    }
-    function isReadStreamx(stream) {
-      return isStreamx(stream) && stream.readable;
-    }
-    function isTypedArray(data) {
-      return typeof data === "object" && data !== null && typeof data.byteLength === "number";
-    }
-    function defaultByteLength(data) {
-      return isTypedArray(data) ? data.byteLength : 1024;
-    }
-    function noop3() {
-    }
-    function abort() {
-      this.destroy(new Error("Stream aborted."));
-    }
-    function isWritev(s) {
-      return s._writev !== Writable.prototype._writev && s._writev !== Duplex.prototype._writev;
-    }
-    module2.exports = {
-      pipeline,
-      pipelinePromise,
-      isStream,
-      isStreamx,
-      isEnded,
-      isFinished,
-      getStreamError,
-      Stream,
-      Writable,
-      Readable,
-      Duplex,
-      Transform,
-      // Export PassThrough for compatibility with Node.js core's stream module
-      PassThrough
-    };
-  }
-});
-
-// node_modules/tar-stream/headers.js
-var require_headers3 = __commonJS({
-  "node_modules/tar-stream/headers.js"(exports2) {
-    var b4a = require_b4a();
-    var ZEROS = "0000000000000000000";
-    var SEVENS = "7777777777777777777";
-    var ZERO_OFFSET = "0".charCodeAt(0);
-    var USTAR_MAGIC = b4a.from([117, 115, 116, 97, 114, 0]);
-    var USTAR_VER = b4a.from([ZERO_OFFSET, ZERO_OFFSET]);
-    var GNU_MAGIC = b4a.from([117, 115, 116, 97, 114, 32]);
-    var GNU_VER = b4a.from([32, 0]);
-    var MASK = 4095;
-    var MAGIC_OFFSET = 257;
-    var VERSION_OFFSET = 263;
-    exports2.decodeLongPath = function decodeLongPath(buf, encoding) {
-      return decodeStr(buf, 0, buf.length, encoding);
-    };
-    exports2.encodePax = function encodePax(opts) {
-      let result = "";
-      if (opts.name) result += addLength(" path=" + opts.name + "\n");
-      if (opts.linkname) result += addLength(" linkpath=" + opts.linkname + "\n");
-      const pax = opts.pax;
-      if (pax) {
-        for (const key in pax) {
-          result += addLength(" " + key + "=" + pax[key] + "\n");
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
+       * @param {any} requestQuery
+       * @param {any} request
+       * @param {any | null} response
+       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
+       * @returns {boolean}
+       */
+      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
+        const queryURL = new URL(requestQuery.url);
+        const cachedURL = new URL(request2.url);
+        if (options?.ignoreSearch) {
+          cachedURL.search = "";
+          queryURL.search = "";
         }
-      }
-      return b4a.from(result);
-    };
-    exports2.decodePax = function decodePax(buf) {
-      const result = {};
-      while (buf.length) {
-        let i = 0;
-        while (i < buf.length && buf[i] !== 32) i++;
-        const len = parseInt(b4a.toString(buf.subarray(0, i)), 10);
-        if (!len) return result;
-        const b = b4a.toString(buf.subarray(i + 1, len - 1));
-        const keyIndex = b.indexOf("=");
-        if (keyIndex === -1) return result;
-        result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
-        buf = buf.subarray(len);
-      }
-      return result;
-    };
-    exports2.encode = function encode(opts) {
-      const buf = b4a.alloc(512);
-      let name = opts.name;
-      let prefix = "";
-      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
-      if (b4a.byteLength(name) !== name.length) return null;
-      while (b4a.byteLength(name) > 100) {
-        const i = name.indexOf("/");
-        if (i === -1) return null;
-        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
-        name = name.slice(i + 1);
-      }
-      if (b4a.byteLength(name) > 100 || b4a.byteLength(prefix) > 155) return null;
-      if (opts.linkname && b4a.byteLength(opts.linkname) > 100) return null;
-      b4a.write(buf, name);
-      b4a.write(buf, encodeOct(opts.mode & MASK, 6), 100);
-      b4a.write(buf, encodeOct(opts.uid, 6), 108);
-      b4a.write(buf, encodeOct(opts.gid, 6), 116);
-      encodeSize(opts.size, buf, 124);
-      b4a.write(buf, encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
-      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
-      if (opts.linkname) b4a.write(buf, opts.linkname, 157);
-      b4a.copy(USTAR_MAGIC, buf, MAGIC_OFFSET);
-      b4a.copy(USTAR_VER, buf, VERSION_OFFSET);
-      if (opts.uname) b4a.write(buf, opts.uname, 265);
-      if (opts.gname) b4a.write(buf, opts.gname, 297);
-      b4a.write(buf, encodeOct(opts.devmajor || 0, 6), 329);
-      b4a.write(buf, encodeOct(opts.devminor || 0, 6), 337);
-      if (prefix) b4a.write(buf, prefix, 345);
-      b4a.write(buf, encodeOct(cksum(buf), 6), 148);
-      return buf;
-    };
-    exports2.decode = function decode(buf, filenameEncoding, allowUnknownFormat) {
-      let typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
-      let name = decodeStr(buf, 0, 100, filenameEncoding);
-      const mode = decodeOct(buf, 100, 8);
-      const uid = decodeOct(buf, 108, 8);
-      const gid = decodeOct(buf, 116, 8);
-      const size = decodeOct(buf, 124, 12);
-      const mtime = decodeOct(buf, 136, 12);
-      const type2 = toType(typeflag);
-      const linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
-      const uname = decodeStr(buf, 265, 32);
-      const gname = decodeStr(buf, 297, 32);
-      const devmajor = decodeOct(buf, 329, 8);
-      const devminor = decodeOct(buf, 337, 8);
-      const c = cksum(buf);
-      if (c === 8 * 32) return null;
-      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
-      if (isUSTAR(buf)) {
-        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
-      } else if (isGNU(buf)) {
-      } else {
-        if (!allowUnknownFormat) {
-          throw new Error("Invalid tar header: unknown format.");
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
+        }
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
+        }
+        const fieldValues = getFieldValues(response.headersList.get("vary"));
+        for (const fieldValue of fieldValues) {
+          if (fieldValue === "*") {
+            return false;
+          }
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
+          }
         }
+        return true;
       }
-      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
-      return {
-        name,
-        mode,
-        uid,
-        gid,
-        size,
-        mtime: new Date(1e3 * mtime),
-        type: type2,
-        linkname,
-        uname,
-        gname,
-        devmajor,
-        devminor,
-        pax: null
-      };
     };
-    function isUSTAR(buf) {
-      return b4a.equals(USTAR_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6));
-    }
-    function isGNU(buf) {
-      return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
-    }
-    function clamp(index, len, defaultValue) {
-      if (typeof index !== "number") return defaultValue;
-      index = ~~index;
-      if (index >= len) return len;
-      if (index >= 0) return index;
-      index += len;
-      if (index >= 0) return index;
-      return 0;
-    }
-    function toType(flag) {
-      switch (flag) {
-        case 0:
-          return "file";
-        case 1:
-          return "link";
-        case 2:
-          return "symlink";
-        case 3:
-          return "character-device";
-        case 4:
-          return "block-device";
-        case 5:
-          return "directory";
-        case 6:
-          return "fifo";
-        case 7:
-          return "contiguous-file";
-        case 72:
-          return "pax-header";
-        case 55:
-          return "pax-global-header";
-        case 27:
-          return "gnu-long-link-path";
-        case 28:
-        case 30:
-          return "gnu-long-path";
-      }
-      return null;
-    }
-    function toTypeflag(flag) {
-      switch (flag) {
-        case "file":
-          return 0;
-        case "link":
-          return 1;
-        case "symlink":
-          return 2;
-        case "character-device":
-          return 3;
-        case "block-device":
-          return 4;
-        case "directory":
-          return 5;
-        case "fifo":
-          return 6;
-        case "contiguous-file":
-          return 7;
-        case "pax-header":
-          return 72;
-      }
-      return 0;
-    }
-    function indexOf(block, num, offset, end) {
-      for (; offset < end; offset++) {
-        if (block[offset] === num) return offset;
-      }
-      return end;
-    }
-    function cksum(block) {
-      let sum = 8 * 32;
-      for (let i = 0; i < 148; i++) sum += block[i];
-      for (let j = 156; j < 512; j++) sum += block[j];
-      return sum;
-    }
-    function encodeOct(val, n) {
-      val = val.toString(8);
-      if (val.length > n) return SEVENS.slice(0, n) + " ";
-      return ZEROS.slice(0, n - val.length) + val + " ";
-    }
-    function encodeSizeBin(num, buf, off) {
-      buf[off] = 128;
-      for (let i = 11; i > 0; i--) {
-        buf[off + i] = num & 255;
-        num = Math.floor(num / 256);
-      }
-    }
-    function encodeSize(num, buf, off) {
-      if (num.toString(8).length > 11) {
-        encodeSizeBin(num, buf, off);
-      } else {
-        b4a.write(buf, encodeOct(num, 11), off);
-      }
-    }
-    function parse256(buf) {
-      let positive;
-      if (buf[0] === 128) positive = true;
-      else if (buf[0] === 255) positive = false;
-      else return null;
-      const tuple = [];
-      let i;
-      for (i = buf.length - 1; i > 0; i--) {
-        const byte = buf[i];
-        if (positive) tuple.push(byte);
-        else tuple.push(255 - byte);
-      }
-      let sum = 0;
-      const l = tuple.length;
-      for (i = 0; i < l; i++) {
-        sum += tuple[i] * Math.pow(256, i);
+    Object.defineProperties(Cache.prototype, {
+      [Symbol.toStringTag]: {
+        value: "Cache",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      matchAll: kEnumerableProperty,
+      add: kEnumerableProperty,
+      addAll: kEnumerableProperty,
+      put: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    var cacheQueryOptionConverters = [
+      {
+        key: "ignoreSearch",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "ignoreMethod",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "ignoreVary",
+        converter: webidl.converters.boolean,
+        defaultValue: false
       }
-      return positive ? sum : -1 * sum;
-    }
-    function decodeOct(val, offset, length) {
-      val = val.subarray(offset, offset + length);
-      offset = 0;
-      if (val[offset] & 128) {
-        return parse256(val);
-      } else {
-        while (offset < val.length && val[offset] === 32) offset++;
-        const end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
-        while (offset < end && val[offset] === 0) offset++;
-        if (end === offset) return 0;
-        return parseInt(b4a.toString(val.subarray(offset, end)), 8);
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-    }
-    function decodeStr(val, offset, length, encoding) {
-      return b4a.toString(val.subarray(offset, indexOf(val, 0, offset, offset + length)), encoding);
-    }
-    function addLength(str2) {
-      const len = b4a.byteLength(str2);
-      let digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
-      if (len + digits >= Math.pow(10, digits)) digits++;
-      return len + digits + str2;
-    }
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
   }
 });
 
-// node_modules/tar-stream/extract.js
-var require_extract = __commonJS({
-  "node_modules/tar-stream/extract.js"(exports2, module2) {
-    var { Writable, Readable, getStreamError } = require_streamx();
-    var FIFO = require_fast_fifo();
-    var b4a = require_b4a();
-    var headers = require_headers3();
-    var EMPTY = b4a.alloc(0);
-    var BufferList = class {
+// node_modules/undici/lib/cache/cachestorage.js
+var require_cachestorage3 = __commonJS({
+  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols14();
+    var { Cache } = require_cache4();
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util23();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map this.buffered) return null;
-        if (size === 0) return EMPTY;
-        let chunk = this._next(size);
-        if (size === chunk.byteLength) return chunk;
-        const chunks = [chunk];
-        while ((size -= chunk.byteLength) > 0) {
-          chunk = this._next(size);
-          chunks.push(chunk);
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
         }
-        return b4a.concat(chunks);
       }
-      _next(size) {
-        const buf = this.queue.peek();
-        const rem = buf.byteLength - this._offset;
-        if (size >= rem) {
-          const sub = this._offset ? buf.subarray(this._offset, buf.byteLength) : buf;
-          this.queue.shift();
-          this._offset = 0;
-          this.buffered -= rem;
-          this.shifted += rem;
-          return sub;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" });
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
+        } else {
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        this.buffered -= size;
-        this.shifted += size;
-        return buf.subarray(this._offset, this._offset += size);
       }
-    };
-    var Source = class extends Readable {
-      constructor(self2, header, offset) {
-        super();
-        this.header = header;
-        this.offset = offset;
-        this._parent = self2;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.has(cacheName);
       }
-      _read(cb) {
-        if (this.header.size === 0) {
-          this.push(null);
-        }
-        if (this._parent._stream === this) {
-          this._parent._update();
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
-        cb(null);
-      }
-      _predestroy() {
-        this._parent.destroy(getStreamError(this));
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      _detach() {
-        if (this._parent._stream === this) {
-          this._parent._stream = null;
-          this._parent._missing = overflow(this.header.size);
-          this._parent._update();
-        }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
+        cacheName = webidl.converters.DOMString(cacheName);
+        return this.#caches.delete(cacheName);
       }
-      _destroy(cb) {
-        this._detach();
-        cb(null);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {string[]}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
       }
     };
-    var Extract = class extends Writable {
-      constructor(opts) {
-        super(opts);
-        if (!opts) opts = {};
-        this._buffer = new BufferList();
-        this._offset = 0;
-        this._header = null;
-        this._stream = null;
-        this._missing = 0;
-        this._longHeader = false;
-        this._callback = noop3;
-        this._locked = false;
-        this._finished = false;
-        this._pax = null;
-        this._paxGlobal = null;
-        this._gnuLongPath = null;
-        this._gnuLongLinkPath = null;
-        this._filenameEncoding = opts.filenameEncoding || "utf-8";
-        this._allowUnknownFormat = !!opts.allowUnknownFormat;
-        this._unlockBound = this._unlock.bind(this);
-      }
-      _unlock(err) {
-        this._locked = false;
-        if (err) {
-          this.destroy(err);
-          this._continueWrite(err);
-          return;
-        }
-        this._update();
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/constants.js
+var require_constants22 = __commonJS({
+  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/util.js
+var require_util28 = __commonJS({
+  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      if (value.length === 0) {
+        return false;
       }
-      _consumeHeader() {
-        if (this._locked) return false;
-        this._offset = this._buffer.shifted;
-        try {
-          this._header = headers.decode(this._buffer.shift(512), this._filenameEncoding, this._allowUnknownFormat);
-        } catch (err) {
-          this._continueWrite(err);
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
           return false;
         }
-        if (!this._header) return true;
-        switch (this._header.type) {
-          case "gnu-long-path":
-          case "gnu-long-link-path":
-          case "pax-global-header":
-          case "pax-header":
-            this._longHeader = true;
-            this._missing = this._header.size;
-            return true;
-        }
-        this._locked = true;
-        this._applyLongHeaders();
-        if (this._header.size === 0 || this._header.type === "directory") {
-          this.emit("entry", this._header, this._createStream(), this._unlockBound);
-          return true;
-        }
-        this._stream = this._createStream();
-        this._missing = this._header.size;
-        this.emit("entry", this._header, this._stream, this._unlockBound);
-        return true;
       }
-      _applyLongHeaders() {
-        if (this._gnuLongPath) {
-          this._header.name = this._gnuLongPath;
-          this._gnuLongPath = null;
-        }
-        if (this._gnuLongLinkPath) {
-          this._header.linkname = this._gnuLongLinkPath;
-          this._gnuLongLinkPath = null;
-        }
-        if (this._pax) {
-          if (this._pax.path) this._header.name = this._pax.path;
-          if (this._pax.linkpath) this._header.linkname = this._pax.linkpath;
-          if (this._pax.size) this._header.size = parseInt(this._pax.size, 10);
-          this._header.pax = this._pax;
-          this._pax = null;
+    }
+    function validateCookieName(name) {
+      for (const char of name) {
+        const code = char.charCodeAt(0);
+        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
+          throw new Error("Invalid cookie name");
         }
       }
-      _decodeLongHeader(buf) {
-        switch (this._header.type) {
-          case "gnu-long-path":
-            this._gnuLongPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "gnu-long-link-path":
-            this._gnuLongLinkPath = headers.decodeLongPath(buf, this._filenameEncoding);
-            break;
-          case "pax-global-header":
-            this._paxGlobal = headers.decodePax(buf);
-            break;
-          case "pax-header":
-            this._pax = this._paxGlobal === null ? headers.decodePax(buf) : Object.assign({}, this._paxGlobal, headers.decodePax(buf));
-            break;
+    }
+    function validateCookieValue(value) {
+      for (const char of value) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || // exclude CTLs (0-31)
+        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
+          throw new Error("Invalid header value");
         }
       }
-      _consumeLongHeader() {
-        this._longHeader = false;
-        this._missing = overflow(this._header.size);
-        const buf = this._buffer.shift(this._header.size);
-        try {
-          this._decodeLongHeader(buf);
-        } catch (err) {
-          this._continueWrite(err);
-          return false;
+    }
+    function validateCookiePath(path3) {
+      for (const char of path3) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || char === ";") {
+          throw new Error("Invalid cookie path");
         }
-        return true;
       }
-      _consumeStream() {
-        const buf = this._buffer.shiftFirst(this._missing);
-        if (buf === null) return false;
-        this._missing -= buf.byteLength;
-        const drained = this._stream.push(buf);
-        if (this._missing === 0) {
-          this._stream.push(null);
-          if (drained) this._stream._detach();
-          return drained && this._locked === false;
-        }
-        return drained;
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      _createStream() {
-        return new Source(this, this._header, this._offset);
+    }
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
       }
-      _update() {
-        while (this._buffer.buffered > 0 && !this.destroying) {
-          if (this._missing > 0) {
-            if (this._stream !== null) {
-              if (this._consumeStream() === false) return;
-              continue;
-            }
-            if (this._longHeader === true) {
-              if (this._missing > this._buffer.buffered) break;
-              if (this._consumeLongHeader() === false) return false;
-              continue;
-            }
-            const ignore = this._buffer.shiftFirst(this._missing);
-            if (ignore !== null) this._missing -= ignore.byteLength;
-            continue;
-          }
-          if (this._buffer.buffered < 512) break;
-          if (this._stream !== null || this._consumeHeader() === false) return;
-        }
-        this._continueWrite(null);
+      const days = [
+        "Sun",
+        "Mon",
+        "Tue",
+        "Wed",
+        "Thu",
+        "Fri",
+        "Sat"
+      ];
+      const months = [
+        "Jan",
+        "Feb",
+        "Mar",
+        "Apr",
+        "May",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Oct",
+        "Nov",
+        "Dec"
+      ];
+      const dayName = days[date.getUTCDay()];
+      const day = date.getUTCDate().toString().padStart(2, "0");
+      const month = months[date.getUTCMonth()];
+      const year = date.getUTCFullYear();
+      const hour = date.getUTCHours().toString().padStart(2, "0");
+      const minute = date.getUTCMinutes().toString().padStart(2, "0");
+      const second = date.getUTCSeconds().toString().padStart(2, "0");
+      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
+    }
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
       }
-      _continueWrite(err) {
-        const cb = this._callback;
-        this._callback = noop3;
-        cb(err);
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      _write(data, cb) {
-        this._callback = cb;
-        this._buffer.push(data);
-        this._update();
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      _final(cb) {
-        this._finished = this._missing === 0 && this._buffer.buffered === 0;
-        cb(this._finished ? null : new Error("Unexpected end of data"));
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      _predestroy() {
-        this._continueWrite(null);
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      _destroy(cb) {
-        if (this._stream) this._stream.destroy(getStreamError(this));
-        cb(null);
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      [Symbol.asyncIterator]() {
-        let error3 = null;
-        let promiseResolve = null;
-        let promiseReject = null;
-        let entryStream = null;
-        let entryCallback = null;
-        const extract2 = this;
-        this.on("entry", onentry);
-        this.on("error", (err) => {
-          error3 = err;
-        });
-        this.on("close", onclose);
-        return {
-          [Symbol.asyncIterator]() {
-            return this;
-          },
-          next() {
-            return new Promise(onnext);
-          },
-          return() {
-            return destroy(null);
-          },
-          throw(err) {
-            return destroy(err);
-          }
-        };
-        function consumeCallback(err) {
-          if (!entryCallback) return;
-          const cb = entryCallback;
-          entryCallback = null;
-          cb(err);
-        }
-        function onnext(resolve2, reject) {
-          if (error3) {
-            return reject(error3);
-          }
-          if (entryStream) {
-            resolve2({ value: entryStream, done: false });
-            entryStream = null;
-            return;
-          }
-          promiseResolve = resolve2;
-          promiseReject = reject;
-          consumeCallback(null);
-          if (extract2._finished && promiseResolve) {
-            promiseResolve({ value: void 0, done: true });
-            promiseResolve = promiseReject = null;
-          }
-        }
-        function onentry(header, stream, callback) {
-          entryCallback = callback;
-          stream.on("error", noop3);
-          if (promiseResolve) {
-            promiseResolve({ value: stream, done: false });
-            promiseResolve = promiseReject = null;
-          } else {
-            entryStream = stream;
-          }
-        }
-        function onclose() {
-          consumeCallback(error3);
-          if (!promiseResolve) return;
-          if (error3) promiseReject(error3);
-          else promiseResolve({ value: void 0, done: true });
-          promiseResolve = promiseReject = null;
-        }
-        function destroy(err) {
-          extract2.destroy(err);
-          consumeCallback(err);
-          return new Promise((resolve2, reject) => {
-            if (extract2.destroyed) return resolve2({ value: void 0, done: true });
-            extract2.once("close", function() {
-              if (err) reject(err);
-              else resolve2({ value: void 0, done: true });
-            });
-          });
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
+      }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
+      }
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
+      }
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
+      }
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
+      }
+      for (const part of cookie.unparsed) {
+        if (!part.includes("=")) {
+          throw new Error("Invalid unparsed");
         }
+        const [key, ...value] = part.split("=");
+        out.push(`${key.trim()}=${value.join("=")}`);
       }
-    };
-    module2.exports = function extract2(opts) {
-      return new Extract(opts);
-    };
-    function noop3() {
-    }
-    function overflow(size) {
-      size &= 511;
-      return size && 512 - size;
+      return out.join("; ");
     }
-  }
-});
-
-// node_modules/tar-stream/constants.js
-var require_constants18 = __commonJS({
-  "node_modules/tar-stream/constants.js"(exports2, module2) {
-    var constants = {
-      // just for envs without fs
-      S_IFMT: 61440,
-      S_IFDIR: 16384,
-      S_IFCHR: 8192,
-      S_IFBLK: 24576,
-      S_IFIFO: 4096,
-      S_IFLNK: 40960
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
     };
-    try {
-      module2.exports = require("fs").constants || constants;
-    } catch {
-      module2.exports = constants;
-    }
   }
 });
 
-// node_modules/tar-stream/pack.js
-var require_pack = __commonJS({
-  "node_modules/tar-stream/pack.js"(exports2, module2) {
-    var { Readable, Writable, getStreamError } = require_streamx();
-    var b4a = require_b4a();
-    var constants = require_constants18();
-    var headers = require_headers3();
-    var DMODE = 493;
-    var FMODE = 420;
-    var END_OF_TAR = b4a.alloc(1024);
-    var Sink = class extends Writable {
-      constructor(pack, header, callback) {
-        super({ mapWritable, eagerOpen: true });
-        this.written = 0;
-        this.header = header;
-        this._callback = callback;
-        this._linkname = null;
-        this._isLinkname = header.type === "symlink" && !header.linkname;
-        this._isVoid = header.type !== "file" && header.type !== "contiguous-file";
-        this._finished = false;
-        this._pack = pack;
-        this._openCallback = null;
-        if (this._pack._stream === null) this._pack._stream = this;
-        else this._pack._pending.push(this);
-      }
-      _open(cb) {
-        this._openCallback = cb;
-        if (this._pack._stream === this) this._continueOpen();
-      }
-      _continuePack(err) {
-        if (this._callback === null) return;
-        const callback = this._callback;
-        this._callback = null;
-        callback(err);
-      }
-      _continueOpen() {
-        if (this._pack._stream === null) this._pack._stream = this;
-        const cb = this._openCallback;
-        this._openCallback = null;
-        if (cb === null) return;
-        if (this._pack.destroying) return cb(new Error("pack stream destroyed"));
-        if (this._pack._finalized) return cb(new Error("pack stream is already finalized"));
-        this._pack._stream = this;
-        if (!this._isLinkname) {
-          this._pack._encode(this.header);
-        }
-        if (this._isVoid) {
-          this._finish();
-          this._continuePack(null);
-        }
-        cb(null);
+// node_modules/undici/lib/cookies/parse.js
+var require_parse4 = __commonJS({
+  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants22();
+    var { isCTLExcludingHtab } = require_util28();
+    var { collectASequenceOfCodePointsFast } = require_dataURL();
+    var assert = require("assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      _write(data, cb) {
-        if (this._isLinkname) {
-          this._linkname = this._linkname ? b4a.concat([this._linkname, data]) : data;
-          return cb(null);
-        }
-        if (this._isVoid) {
-          if (data.byteLength > 0) {
-            return cb(new Error("No body allowed for this entry"));
-          }
-          return cb();
-        }
-        this.written += data.byteLength;
-        if (this._pack.push(data)) return cb();
-        this._pack._drain = cb;
+      let nameValuePair = "";
+      let unparsedAttributes = "";
+      let name = "";
+      let value = "";
+      if (header.includes(";")) {
+        const position = { position: 0 };
+        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
+        unparsedAttributes = header.slice(position.position);
+      } else {
+        nameValuePair = header;
       }
-      _finish() {
-        if (this._finished) return;
-        this._finished = true;
-        if (this._isLinkname) {
-          this.header.linkname = this._linkname ? b4a.toString(this._linkname, "utf-8") : "";
-          this._pack._encode(this.header);
-        }
-        overflow(this._pack, this.header.size);
-        this._pack._done(this);
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
+        );
+        value = nameValuePair.slice(position.position + 1);
       }
-      _final(cb) {
-        if (this.written !== this.header.size) {
-          return cb(new Error("Size mismatch"));
-        }
-        this._finish();
-        cb(null);
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      _getError() {
-        return getStreamError(this) || new Error("tar entry destroyed");
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
+      };
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      _predestroy() {
-        this._pack.destroy(this._getError());
+      assert(unparsedAttributes[0] === ";");
+      unparsedAttributes = unparsedAttributes.slice(1);
+      let cookieAv = "";
+      if (unparsedAttributes.includes(";")) {
+        cookieAv = collectASequenceOfCodePointsFast(
+          ";",
+          unparsedAttributes,
+          { position: 0 }
+        );
+        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
+      } else {
+        cookieAv = unparsedAttributes;
+        unparsedAttributes = "";
       }
-      _destroy(cb) {
-        this._pack._done(this);
-        this._continuePack(this._finished ? null : this._getError());
-        cb();
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-    };
-    var Pack = class extends Readable {
-      constructor(opts) {
-        super(opts);
-        this._drain = noop3;
-        this._finalized = false;
-        this._finalizing = false;
-        this._pending = [];
-        this._stream = null;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      entry(header, buffer, callback) {
-        if (this._finalized || this.destroying) throw new Error("already finalized or destroyed");
-        if (typeof buffer === "function") {
-          callback = buffer;
-          buffer = null;
+      const attributeNameLowercase = attributeName.toLowerCase();
+      if (attributeNameLowercase === "expires") {
+        const expiryTime = new Date(attributeValue);
+        cookieAttributeList.expires = expiryTime;
+      } else if (attributeNameLowercase === "max-age") {
+        const charCode = attributeValue.charCodeAt(0);
+        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-        if (!callback) callback = noop3;
-        if (!header.size || header.type === "symlink") header.size = 0;
-        if (!header.type) header.type = modeToType(header.mode);
-        if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
-        if (!header.uid) header.uid = 0;
-        if (!header.gid) header.gid = 0;
-        if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
-        if (typeof buffer === "string") buffer = b4a.from(buffer);
-        const sink = new Sink(this, header, callback);
-        if (b4a.isBuffer(buffer)) {
-          header.size = buffer.byteLength;
-          sink.write(buffer);
-          sink.end();
-          return sink;
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-        if (sink._isVoid) {
-          return sink;
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
         }
-        return sink;
-      }
-      finalize() {
-        if (this._stream || this._pending.length > 0) {
-          this._finalizing = true;
-          return;
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
+        } else {
+          cookiePath = attributeValue;
         }
-        if (this._finalized) return;
-        this._finalized = true;
-        this.push(END_OF_TAR);
-        this.push(null);
+        cookieAttributeList.path = cookiePath;
+      } else if (attributeNameLowercase === "secure") {
+        cookieAttributeList.secure = true;
+      } else if (attributeNameLowercase === "httponly") {
+        cookieAttributeList.httpOnly = true;
+      } else if (attributeNameLowercase === "samesite") {
+        let enforcement = "Default";
+        const attributeValueLowercase = attributeValue.toLowerCase();
+        if (attributeValueLowercase.includes("none")) {
+          enforcement = "None";
+        }
+        if (attributeValueLowercase.includes("strict")) {
+          enforcement = "Strict";
+        }
+        if (attributeValueLowercase.includes("lax")) {
+          enforcement = "Lax";
+        }
+        cookieAttributeList.sameSite = enforcement;
+      } else {
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
       }
-      _done(stream) {
-        if (stream !== this._stream) return;
-        this._stream = null;
-        if (this._finalizing) this.finalize();
-        if (this._pending.length) this._pending.shift()._continueOpen();
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+    }
+    module2.exports = {
+      parseSetCookie,
+      parseUnparsedAttributes
+    };
+  }
+});
+
+// node_modules/undici/lib/cookies/index.js
+var require_cookies3 = __commonJS({
+  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
+    "use strict";
+    var { parseSetCookie } = require_parse4();
+    var { stringify } = require_util28();
+    var { webidl } = require_webidl3();
+    var { Headers } = require_headers4();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
       }
-      _encode(header) {
-        if (!header.pax) {
-          const buf = headers.encode(header);
-          if (buf) {
-            this.push(buf);
-            return;
-          }
-        }
-        this._encodePax(header);
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
       }
-      _encodePax(header) {
-        const paxHeader = headers.encodePax({
-          name: header.name,
-          linkname: header.linkname,
-          pax: header.pax
-        });
-        const newHeader = {
-          name: "PaxHeader",
-          mode: header.mode,
-          uid: header.uid,
-          gid: header.gid,
-          size: paxHeader.byteLength,
-          mtime: header.mtime,
-          type: "pax-header",
-          linkname: header.linkname && "PaxHeader",
-          uname: header.uname,
-          gname: header.gname,
-          devmajor: header.devmajor,
-          devminor: header.devminor
-        };
-        this.push(headers.encode(newHeader));
-        this.push(paxHeader);
-        overflow(this, paxHeader.byteLength);
-        newHeader.size = header.size;
-        newHeader.type = header.type;
-        this.push(headers.encode(newHeader));
+      return out;
+    }
+    function deleteCookie(headers, name, attributes) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      name = webidl.converters.DOMString(name);
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
+    }
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
       }
-      _doDrain() {
-        const drain = this._drain;
-        this._drain = noop3;
-        drain();
+      return cookies.map((pair) => parseSetCookie(pair));
+    }
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", stringify(cookie));
       }
-      _predestroy() {
-        const err = getStreamError(this);
-        if (this._stream) this._stream.destroy(err);
-        while (this._pending.length) {
-          const stream = this._pending.shift();
-          stream.destroy(err);
-          stream._continueOpen();
-        }
-        this._doDrain();
+    }
+    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: null
       }
-      _read(cb) {
-        this._doDrain();
-        cb();
+    ]);
+    webidl.converters.Cookie = webidl.dictionaryConverter([
+      {
+        converter: webidl.converters.DOMString,
+        key: "name"
+      },
+      {
+        converter: webidl.converters.DOMString,
+        key: "value"
+      },
+      {
+        converter: webidl.nullableConverter((value) => {
+          if (typeof value === "number") {
+            return webidl.converters["unsigned long long"](value);
+          }
+          return new Date(value);
+        }),
+        key: "expires",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters["long long"]),
+        key: "maxAge",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "secure",
+        defaultValue: null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "httpOnly",
+        defaultValue: null
+      },
+      {
+        converter: webidl.converters.USVString,
+        key: "sameSite",
+        allowedValues: ["Strict", "Lax", "None"]
+      },
+      {
+        converter: webidl.sequenceConverter(webidl.converters.DOMString),
+        key: "unparsed",
+        defaultValue: []
       }
+    ]);
+    module2.exports = {
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
-    module2.exports = function pack(opts) {
-      return new Pack(opts);
+  }
+});
+
+// node_modules/undici/lib/websocket/constants.js
+var require_constants23 = __commonJS({
+  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
+    "use strict";
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    module2.exports = {
+      uid,
+      staticPropertyDescriptors,
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer
     };
-    function modeToType(mode) {
-      switch (mode & constants.S_IFMT) {
-        case constants.S_IFBLK:
-          return "block-device";
-        case constants.S_IFCHR:
-          return "character-device";
-        case constants.S_IFDIR:
-          return "directory";
-        case constants.S_IFIFO:
-          return "fifo";
-        case constants.S_IFLNK:
-          return "symlink";
-      }
-      return "file";
-    }
-    function noop3() {
-    }
-    function overflow(self2, size) {
-      size &= 511;
-      if (size) self2.push(END_OF_TAR.subarray(0, 512 - size));
-    }
-    function mapWritable(buf) {
-      return b4a.isBuffer(buf) ? buf : b4a.from(buf);
-    }
   }
 });
 
-// node_modules/tar-stream/index.js
-var require_tar_stream = __commonJS({
-  "node_modules/tar-stream/index.js"(exports2) {
-    exports2.extract = require_extract();
-    exports2.pack = require_pack();
+// node_modules/undici/lib/websocket/symbols.js
+var require_symbols15 = __commonJS({
+  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
   }
 });
 
-// node_modules/archiver/lib/plugins/tar.js
-var require_tar = __commonJS({
-  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
-    var zlib = require("zlib");
-    var engine = require_tar_stream();
-    var util = require_archiver_utils();
-    var Tar = function(options) {
-      if (!(this instanceof Tar)) {
-        return new Tar(options);
+// node_modules/undici/lib/websocket/events.js
+var require_events3 = __commonJS({
+  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
+    "use strict";
+    var { webidl } = require_webidl3();
+    var { kEnumerableProperty } = require_util23();
+    var { MessagePort } = require("worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
       }
-      options = this.options = util.defaults(options, {
-        gzip: false
-      });
-      if (typeof options.gzipOptions !== "object") {
-        options.gzipOptions = {};
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.engine = engine.pack(options);
-      this.compressor = false;
-      if (options.gzip) {
-        this.compressor = zlib.createGzip(options.gzipOptions);
-        this.compressor.on("error", this._onCompressorError.bind(this));
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-    };
-    Tar.prototype._onCompressorError = function(err) {
-      this.engine.emit("error", err);
-    };
-    Tar.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.mtime = data.date;
-      function append(err, sourceBuffer) {
-        if (err) {
-          callback(err);
-          return;
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
+      }
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
+      }
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
         }
-        self2.engine.entry(data, sourceBuffer, function(err2) {
-          callback(err2, data);
-        });
+        return this.#eventInit.ports;
       }
-      if (data.sourceType === "buffer") {
-        append(null, source);
-      } else if (data.sourceType === "stream" && data.stats) {
-        data.size = data.stats.size;
-        var entry = self2.engine.entry(data, function(err) {
-          callback(err, data);
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
         });
-        source.pipe(entry);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, append);
       }
     };
-    Tar.prototype.finalize = function() {
-      this.engine.finalize();
-    };
-    Tar.prototype.on = function() {
-      return this.engine.on.apply(this.engine, arguments);
-    };
-    Tar.prototype.pipe = function(destination, options) {
-      if (this.compressor) {
-        return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
-      } else {
-        return this.engine.pipe.apply(this.engine, arguments);
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
+      }
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
+      }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
+      }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
       }
     };
-    Tar.prototype.unpipe = function() {
-      if (this.compressor) {
-        return this.compressor.unpipe.apply(this.compressor, arguments);
-      } else {
-        return this.engine.unpipe.apply(this.engine, arguments);
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
+        super(type2, eventInitDict);
+        type2 = webidl.converters.DOMString(type2);
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
+      }
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
+      }
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
+      }
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
+      }
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
+      }
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
       }
     };
-    module2.exports = Tar;
-  }
-});
-
-// node_modules/buffer-crc32/dist/index.cjs
-var require_dist4 = __commonJS({
-  "node_modules/buffer-crc32/dist/index.cjs"(exports2, module2) {
-    "use strict";
-    function getDefaultExportFromCjs(x) {
-      return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
-    }
-    var CRC_TABLE = new Int32Array([
-      0,
-      1996959894,
-      3993919788,
-      2567524794,
-      124634137,
-      1886057615,
-      3915621685,
-      2657392035,
-      249268274,
-      2044508324,
-      3772115230,
-      2547177864,
-      162941995,
-      2125561021,
-      3887607047,
-      2428444049,
-      498536548,
-      1789927666,
-      4089016648,
-      2227061214,
-      450548861,
-      1843258603,
-      4107580753,
-      2211677639,
-      325883990,
-      1684777152,
-      4251122042,
-      2321926636,
-      335633487,
-      1661365465,
-      4195302755,
-      2366115317,
-      997073096,
-      1281953886,
-      3579855332,
-      2724688242,
-      1006888145,
-      1258607687,
-      3524101629,
-      2768942443,
-      901097722,
-      1119000684,
-      3686517206,
-      2898065728,
-      853044451,
-      1172266101,
-      3705015759,
-      2882616665,
-      651767980,
-      1373503546,
-      3369554304,
-      3218104598,
-      565507253,
-      1454621731,
-      3485111705,
-      3099436303,
-      671266974,
-      1594198024,
-      3322730930,
-      2970347812,
-      795835527,
-      1483230225,
-      3244367275,
-      3060149565,
-      1994146192,
-      31158534,
-      2563907772,
-      4023717930,
-      1907459465,
-      112637215,
-      2680153253,
-      3904427059,
-      2013776290,
-      251722036,
-      2517215374,
-      3775830040,
-      2137656763,
-      141376813,
-      2439277719,
-      3865271297,
-      1802195444,
-      476864866,
-      2238001368,
-      4066508878,
-      1812370925,
-      453092731,
-      2181625025,
-      4111451223,
-      1706088902,
-      314042704,
-      2344532202,
-      4240017532,
-      1658658271,
-      366619977,
-      2362670323,
-      4224994405,
-      1303535960,
-      984961486,
-      2747007092,
-      3569037538,
-      1256170817,
-      1037604311,
-      2765210733,
-      3554079995,
-      1131014506,
-      879679996,
-      2909243462,
-      3663771856,
-      1141124467,
-      855842277,
-      2852801631,
-      3708648649,
-      1342533948,
-      654459306,
-      3188396048,
-      3373015174,
-      1466479909,
-      544179635,
-      3110523913,
-      3462522015,
-      1591671054,
-      702138776,
-      2966460450,
-      3352799412,
-      1504918807,
-      783551873,
-      3082640443,
-      3233442989,
-      3988292384,
-      2596254646,
-      62317068,
-      1957810842,
-      3939845945,
-      2647816111,
-      81470997,
-      1943803523,
-      3814918930,
-      2489596804,
-      225274430,
-      2053790376,
-      3826175755,
-      2466906013,
-      167816743,
-      2097651377,
-      4027552580,
-      2265490386,
-      503444072,
-      1762050814,
-      4150417245,
-      2154129355,
-      426522225,
-      1852507879,
-      4275313526,
-      2312317920,
-      282753626,
-      1742555852,
-      4189708143,
-      2394877945,
-      397917763,
-      1622183637,
-      3604390888,
-      2714866558,
-      953729732,
-      1340076626,
-      3518719985,
-      2797360999,
-      1068828381,
-      1219638859,
-      3624741850,
-      2936675148,
-      906185462,
-      1090812512,
-      3747672003,
-      2825379669,
-      829329135,
-      1181335161,
-      3412177804,
-      3160834842,
-      628085408,
-      1382605366,
-      3423369109,
-      3138078467,
-      570562233,
-      1426400815,
-      3317316542,
-      2998733608,
-      733239954,
-      1555261956,
-      3268935591,
-      3050360625,
-      752459403,
-      1541320221,
-      2607071920,
-      3965973030,
-      1969922972,
-      40735498,
-      2617837225,
-      3943577151,
-      1913087877,
-      83908371,
-      2512341634,
-      3803740692,
-      2075208622,
-      213261112,
-      2463272603,
-      3855990285,
-      2094854071,
-      198958881,
-      2262029012,
-      4057260610,
-      1759359992,
-      534414190,
-      2176718541,
-      4139329115,
-      1873836001,
-      414664567,
-      2282248934,
-      4279200368,
-      1711684554,
-      285281116,
-      2405801727,
-      4167216745,
-      1634467795,
-      376229701,
-      2685067896,
-      3608007406,
-      1308918612,
-      956543938,
-      2808555105,
-      3495958263,
-      1231636301,
-      1047427035,
-      2932959818,
-      3654703836,
-      1088359270,
-      936918e3,
-      2847714899,
-      3736837829,
-      1202900863,
-      817233897,
-      3183342108,
-      3401237130,
-      1404277552,
-      615818150,
-      3134207493,
-      3453421203,
-      1423857449,
-      601450431,
-      3009837614,
-      3294710456,
-      1567103746,
-      711928724,
-      3020668471,
-      3272380065,
-      1510334235,
-      755167117
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
+      },
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
+      },
+      reason: kEnumerableProperty,
+      code: kEnumerableProperty,
+      wasClean: kEnumerableProperty
+    });
+    Object.defineProperties(ErrorEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "ErrorEvent",
+        configurable: true
+      },
+      message: kEnumerableProperty,
+      filename: kEnumerableProperty,
+      lineno: kEnumerableProperty,
+      colno: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.MessagePort
+    );
+    var eventInit = [
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      }
+    ];
+    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "data",
+        converter: webidl.converters.any,
+        defaultValue: null
+      },
+      {
+        key: "origin",
+        converter: webidl.converters.USVString,
+        defaultValue: ""
+      },
+      {
+        key: "lastEventId",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "source",
+        // Node doesn't implement WindowProxy or ServiceWorker, so the only
+        // valid value for source is a MessagePort.
+        converter: webidl.nullableConverter(webidl.converters.MessagePort),
+        defaultValue: null
+      },
+      {
+        key: "ports",
+        converter: webidl.converters["sequence"],
+        get defaultValue() {
+          return [];
+        }
+      }
     ]);
-    function ensureBuffer(input) {
-      if (Buffer.isBuffer(input)) {
-        return input;
+    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "wasClean",
+        converter: webidl.converters.boolean,
+        defaultValue: false
+      },
+      {
+        key: "code",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: 0
+      },
+      {
+        key: "reason",
+        converter: webidl.converters.USVString,
+        defaultValue: ""
       }
-      if (typeof input === "number") {
-        return Buffer.alloc(input);
-      } else if (typeof input === "string") {
-        return Buffer.from(input);
-      } else {
-        throw new Error("input must be buffer, number, or string, received " + typeof input);
+    ]);
+    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "message",
+        converter: webidl.converters.DOMString,
+        defaultValue: ""
+      },
+      {
+        key: "filename",
+        converter: webidl.converters.USVString,
+        defaultValue: ""
+      },
+      {
+        key: "lineno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: 0
+      },
+      {
+        key: "colno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: 0
+      },
+      {
+        key: "error",
+        converter: webidl.converters.any
       }
+    ]);
+    module2.exports = {
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent
+    };
+  }
+});
+
+// node_modules/undici/lib/websocket/util.js
+var require_util29 = __commonJS({
+  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols15();
+    var { states, opcodes } = require_constants23();
+    var { MessageEvent, ErrorEvent } = require_events3();
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
     }
-    function bufferizeInt(num) {
-      const tmp = ensureBuffer(4);
-      tmp.writeInt32BE(num, 0);
-      return tmp;
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
     }
-    function _crc32(buf, previous) {
-      buf = ensureBuffer(buf);
-      if (Buffer.isBuffer(previous)) {
-        previous = previous.readUInt32BE(0);
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
+      const event = new eventConstructor(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      let crc = ~~previous ^ -1;
-      for (var n = 0; n < buf.length; n++) {
-        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
+          return;
+        }
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
+        } else {
+          dataForEvent = new Uint8Array(data).buffer;
+        }
       }
-      return crc ^ -1;
+      fireEvent("message", ws, MessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
     }
-    function crc32() {
-      return bufferizeInt(_crc32.apply(null, arguments));
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
+      }
+      for (const char of protocol) {
+        const code = char.charCodeAt(0);
+        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
+        code === 9) {
+          return false;
+        }
+      }
+      return true;
     }
-    crc32.signed = function() {
-      return _crc32.apply(null, arguments);
-    };
-    crc32.unsigned = function() {
-      return _crc32.apply(null, arguments) >>> 0;
+    function isValidStatusCode(code) {
+      if (code >= 1e3 && code < 1015) {
+        return code !== 1004 && // reserved
+        code !== 1005 && // "MUST NOT be set as a status code"
+        code !== 1006;
+      }
+      return code >= 3e3 && code <= 4999;
+    }
+    function failWebsocketConnection(ws, reason) {
+      const { [kController]: controller, [kResponse]: response } = ws;
+      controller.abort();
+      if (response?.socket && !response.socket.destroyed) {
+        response.socket.destroy();
+      }
+      if (reason) {
+        fireEvent("error", ws, ErrorEvent, {
+          error: new Error(reason)
+        });
+      }
+    }
+    module2.exports = {
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived
     };
-    var bufferCrc32 = crc32;
-    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
-    module2.exports = index;
   }
 });
 
-// node_modules/archiver/lib/plugins/json.js
-var require_json = __commonJS({
-  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
-    var inherits = require("util").inherits;
-    var Transform = require_ours().Transform;
-    var crc32 = require_dist4();
-    var util = require_archiver_utils();
-    var Json = function(options) {
-      if (!(this instanceof Json)) {
-        return new Json(options);
+// node_modules/undici/lib/websocket/connection.js
+var require_connection3 = __commonJS({
+  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+    "use strict";
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { uid, states } = require_constants23();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose
+    } = require_symbols15();
+    var { fireEvent, failWebsocketConnection } = require_util29();
+    var { CloseEvent } = require_events3();
+    var { makeRequest } = require_request6();
+    var { fetching } = require_fetch3();
+    var { Headers } = require_headers4();
+    var { getGlobalDispatcher } = require_global6();
+    var { kHeadersList } = require_symbols11();
+    var channels = {};
+    channels.open = diagnosticsChannel.channel("undici:websocket:open");
+    channels.close = diagnosticsChannel.channel("undici:websocket:close");
+    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {
+      const requestURL = url;
+      requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = new Headers(options.headers)[kHeadersList];
+        request2.headersList = headersList;
       }
-      options = this.options = util.defaults(options, {});
-      Transform.call(this, options);
-      this.supports = {
-        directory: true,
-        symlink: true
-      };
-      this.files = [];
+      const keyValue = crypto2.randomBytes(16).toString("base64");
+      request2.headersList.append("sec-websocket-key", keyValue);
+      request2.headersList.append("sec-websocket-version", "13");
+      for (const protocol of protocols) {
+        request2.headersList.append("sec-websocket-protocol", protocol);
+      }
+      const permessageDeflate = "";
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
+            return;
+          }
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
+          }
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
+          }
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
+          }
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
+          }
+          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
+          if (secExtension !== null && secExtension !== permessageDeflate) {
+            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
+            return;
+          }
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+            return;
+          }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response);
+        }
+      });
+      return controller;
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
+      }
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const wasClean = ws[kSentClose] && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kSentClose]) {
+        code = 1006;
+      }
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, CloseEvent, {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
+        });
+      }
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection
     };
-    inherits(Json, Transform);
-    Json.prototype._transform = function(chunk, encoding, callback) {
-      callback(null, chunk);
+  }
+});
+
+// node_modules/undici/lib/websocket/frame.js
+var require_frame3 = __commonJS({
+  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+    "use strict";
+    var { maxUnsigned16Bit } = require_constants23();
+    var crypto2;
+    try {
+      crypto2 = require("crypto");
+    } catch {
+    }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+        this.maskKey = crypto2.randomBytes(4);
+      }
+      createFrame(opcode) {
+        const bodyLength = this.frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
+        }
+        const buffer = Buffer.allocUnsafe(bodyLength + offset);
+        buffer[0] = buffer[1] = 0;
+        buffer[0] |= 128;
+        buffer[0] = (buffer[0] & 240) + opcode;
+        buffer[offset - 4] = this.maskKey[0];
+        buffer[offset - 3] = this.maskKey[1];
+        buffer[offset - 2] = this.maskKey[2];
+        buffer[offset - 1] = this.maskKey[3];
+        buffer[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer[2] = buffer[3] = 0;
+          buffer.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer[1] |= 128;
+        for (let i = 0; i < bodyLength; i++) {
+          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
+        }
+        return buffer;
+      }
     };
-    Json.prototype._writeStringified = function() {
-      var fileString = JSON.stringify(this.files);
-      this.write(fileString);
+    module2.exports = {
+      WebsocketFrameSend
     };
-    Json.prototype.append = function(source, data, callback) {
-      var self2 = this;
-      data.crc32 = 0;
-      function onend(err, sourceBuffer) {
-        if (err) {
-          callback(err);
-          return;
+  }
+});
+
+// node_modules/undici/lib/websocket/receiver.js
+var require_receiver3 = __commonJS({
+  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
+    "use strict";
+    var { Writable } = require("stream");
+    var diagnosticsChannel = require("diagnostics_channel");
+    var { parserStates, opcodes, states, emptyBuffer } = require_constants23();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols15();
+    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util29();
+    var { WebsocketFrameSend } = require_frame3();
+    var channels = {};
+    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
+    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      constructor(ws) {
+        super();
+        this.ws = ws;
+      }
+      /**
+       * @param {Buffer} chunk
+       * @param {() => void} callback
+       */
+      _write(chunk, _2, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        this.run(callback);
+      }
+      /**
+       * Runs whenever a new chunk is received.
+       * Callback is called whenever there are no more chunks buffering,
+       * or not enough bytes are buffered to parse.
+       */
+      run(callback) {
+        while (true) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.fin = (buffer[0] & 128) !== 0;
+            this.#info.opcode = buffer[0] & 15;
+            this.#info.originalOpcode ??= this.#info.opcode;
+            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
+            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            const payloadLength = buffer[1] & 127;
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (this.#info.fragmented && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
+              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
+              return;
+            } else if (this.#info.opcode === opcodes.CLOSE) {
+              if (payloadLength === 1) {
+                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+                return;
+              }
+              const body = this.consume(payloadLength);
+              this.#info.closeInfo = this.parseCloseBody(false, body);
+              if (!this.ws[kSentClose]) {
+                const body2 = Buffer.allocUnsafe(2);
+                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
+                const closeFrame = new WebsocketFrameSend(body2);
+                this.ws[kResponse].socket.write(
+                  closeFrame.createFrame(opcodes.CLOSE),
+                  (err) => {
+                    if (!err) {
+                      this.ws[kSentClose] = true;
+                    }
+                  }
+                );
+              }
+              this.ws[kReadyState] = states.CLOSING;
+              this.ws[kReceivedClose] = true;
+              this.end();
+              return;
+            } else if (this.#info.opcode === opcodes.PING) {
+              const body = this.consume(payloadLength);
+              if (!this.ws[kReceivedClose]) {
+                const frame = new WebsocketFrameSend(body);
+                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+                if (channels.ping.hasSubscribers) {
+                  channels.ping.publish({
+                    payload: body
+                  });
+                }
+              }
+              this.#state = parserStates.INFO;
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            } else if (this.#info.opcode === opcodes.PONG) {
+              const body = this.consume(payloadLength);
+              if (channels.pong.hasSubscribers) {
+                channels.pong.publish({
+                  payload: body
+                });
+              }
+              if (this.#byteOffset > 0) {
+                continue;
+              } else {
+                callback();
+                return;
+              }
+            }
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            } else if (this.#byteOffset >= this.#info.payloadLength) {
+              const body = this.consume(this.#info.payloadLength);
+              this.#fragments.push(body);
+              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
+                const fullMessage = Buffer.concat(this.#fragments);
+                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
+                this.#info = {};
+                this.#fragments.length = 0;
+              }
+              this.#state = parserStates.INFO;
+            }
+          }
+          if (this.#byteOffset > 0) {
+            continue;
+          } else {
+            callback();
+            break;
+          }
         }
-        data.size = sourceBuffer.length || 0;
-        data.crc32 = crc32.unsigned(sourceBuffer);
-        self2.files.push(data);
-        callback(null, data);
-      }
-      if (data.sourceType === "buffer") {
-        onend(null, source);
-      } else if (data.sourceType === "stream") {
-        util.collectStream(source, onend);
-      }
-    };
-    Json.prototype.finalize = function() {
-      this._writeStringified();
-      this.end();
-    };
-    module2.exports = Json;
-  }
-});
-
-// node_modules/archiver/index.js
-var require_archiver = __commonJS({
-  "node_modules/archiver/index.js"(exports2, module2) {
-    var Archiver = require_core2();
-    var formats = {};
-    var vending = function(format, options) {
-      return vending.create(format, options);
-    };
-    vending.create = function(format, options) {
-      if (formats[format]) {
-        var instance = new Archiver(format, options);
-        instance.setFormat(format);
-        instance.setModule(new formats[format](options));
-        return instance;
-      } else {
-        throw new Error("create(" + format + "): format not registered");
       }
-    };
-    vending.registerFormat = function(format, module3) {
-      if (formats[format]) {
-        throw new Error("register(" + format + "): format already registered");
+      /**
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer|null}
+       */
+      consume(n) {
+        if (n > this.#byteOffset) {
+          return null;
+        } else if (n === 0) {
+          return emptyBuffer;
+        }
+        if (this.#buffers[0].length === n) {
+          this.#byteOffset -= this.#buffers[0].length;
+          return this.#buffers.shift();
+        }
+        const buffer = Buffer.allocUnsafe(n);
+        let offset = 0;
+        while (offset !== n) {
+          const next = this.#buffers[0];
+          const { length } = next;
+          if (length + offset === n) {
+            buffer.set(this.#buffers.shift(), offset);
+            break;
+          } else if (length + offset > n) {
+            buffer.set(next.subarray(0, n - offset), offset);
+            this.#buffers[0] = next.subarray(n - offset);
+            break;
+          } else {
+            buffer.set(this.#buffers.shift(), offset);
+            offset += next.length;
+          }
+        }
+        this.#byteOffset -= n;
+        return buffer;
       }
-      if (typeof module3 !== "function") {
-        throw new Error("register(" + format + "): format module invalid");
+      parseCloseBody(onlyCode, data) {
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
+        }
+        if (onlyCode) {
+          if (!isValidStatusCode(code)) {
+            return null;
+          }
+          return { code };
+        }
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
+        }
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return null;
+        }
+        try {
+          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
+        } catch {
+          return null;
+        }
+        return { code, reason };
       }
-      if (typeof module3.prototype.append !== "function" || typeof module3.prototype.finalize !== "function") {
-        throw new Error("register(" + format + "): format module missing methods");
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
-      formats[format] = module3;
     };
-    vending.isRegisteredFormat = function(format) {
-      if (formats[format]) {
-        return true;
-      }
-      return false;
+    module2.exports = {
+      ByteParser
     };
-    vending.registerFormat("zip", require_zip());
-    vending.registerFormat("tar", require_tar());
-    vending.registerFormat("json", require_json());
-    module2.exports = vending;
   }
 });
 
-// node_modules/@actions/artifact/lib/internal/upload/zip.js
-var require_zip2 = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/zip.js"(exports2) {
+// node_modules/undici/lib/websocket/websocket.js
+var require_websocket3 = __commonJS({
+  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+    var { webidl } = require_webidl3();
+    var { DOMException: DOMException2 } = require_constants20();
+    var { URLSerializer } = require_dataURL();
+    var { getGlobalOrigin } = require_global5();
+    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants23();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols15();
+    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util29();
+    var { establishWebSocketConnection } = require_connection3();
+    var { WebsocketFrameSend } = require_frame3();
+    var { ByteParser } = require_receiver3();
+    var { kEnumerableProperty, isBlobLike } = require_util23();
+    var { getGlobalDispatcher } = require_global6();
+    var { types } = require("util");
+    var experimentalWarned = false;
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
+      };
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url, protocols = []) {
+        super();
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
+            code: "UNDICI-WS"
+          });
+        }
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
+        url = webidl.converters.USVString(url);
+        protocols = options.protocols;
+        const baseURL = getGlobalOrigin();
+        let urlRecord;
+        try {
+          urlRecord = new URL(url, baseURL);
+        } catch (e) {
+          throw new DOMException2(e, "SyntaxError");
+        }
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
+        }
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException2(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
+        }
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException2("Got fragment", "SyntaxError");
+        }
+        if (typeof protocols === "string") {
+          protocols = [protocols];
+        }
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        }
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          this,
+          (response) => this.#onConnectionEstablished(response),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kBinaryType] = "blob";
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
+       * @param {number|undefined} code
+       * @param {string|undefined} reason
+       */
+      close(code = void 0, reason = void 0) {
+        webidl.brandCheck(this, _WebSocket);
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason);
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException2("invalid code", "InvalidAccessError");
           }
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException2(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
           }
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
+        } else if (!isEstablished(this)) {
+          failWebsocketConnection(this, "Connection was closed before it was established.");
+          this[kReadyState] = _WebSocket.CLOSING;
+        } else if (!isClosing(this)) {
+          const frame = new WebsocketFrameSend();
+          if (code !== void 0 && reason === void 0) {
+            frame.frameData = Buffer.allocUnsafe(2);
+            frame.frameData.writeUInt16BE(code, 0);
+          } else if (code !== void 0 && reason !== void 0) {
+            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+            frame.frameData.writeUInt16BE(code, 0);
+            frame.frameData.write(reason, 2, "utf-8");
+          } else {
+            frame.frameData = emptyBuffer;
+          }
+          const socket = this[kResponse].socket;
+          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
+            if (!err) {
+              this[kSentClose] = true;
+            }
+          });
+          this[kReadyState] = states.CLOSING;
+        } else {
+          this[kReadyState] = _WebSocket.CLOSING;
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
-    var stream = __importStar2(require("stream"));
-    var promises_1 = require("fs/promises");
-    var archiver2 = __importStar2(require_archiver());
-    var core14 = __importStar2(require_core());
-    var config_1 = require_config();
-    exports2.DEFAULT_COMPRESSION_LEVEL = 6;
-    var ZipUploadStream = class extends stream.Transform {
-      constructor(bufferSize) {
-        super({
-          highWaterMark: bufferSize
-        });
       }
-      // eslint-disable-next-line @typescript-eslint/no-explicit-any
-      _transform(chunk, enc, cb) {
-        cb(null, chunk);
-      }
-    };
-    exports2.ZipUploadStream = ZipUploadStream;
-    function createZipUploadStream(uploadSpecification_1) {
-      return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
-        core14.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
-        const zip = archiver2.create("zip", {
-          highWaterMark: (0, config_1.getUploadChunkSize)(),
-          zlib: { level: compressionLevel }
-        });
-        zip.on("error", zipErrorCallback);
-        zip.on("warning", zipWarningCallback);
-        zip.on("finish", zipFinishCallback);
-        zip.on("end", zipEndCallback);
-        for (const file of uploadSpecification) {
-          if (file.sourcePath !== null) {
-            let sourcePath = file.sourcePath;
-            if (file.stats.isSymbolicLink()) {
-              sourcePath = yield (0, promises_1.realpath)(file.sourcePath);
-            }
-            zip.file(sourcePath, {
-              name: file.destinationPath
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
+        data = webidl.converters.WebSocketSendData(data);
+        if (this[kReadyState] === _WebSocket.CONNECTING) {
+          throw new DOMException2("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
+          return;
+        }
+        const socket = this[kResponse].socket;
+        if (typeof data === "string") {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.TEXT);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (types.isArrayBuffer(data)) {
+          const value = Buffer.from(data);
+          const frame = new WebsocketFrameSend(value);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += value.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= value.byteLength;
+          });
+        } else if (ArrayBuffer.isView(data)) {
+          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
+          const frame = new WebsocketFrameSend(ab);
+          const buffer = frame.createFrame(opcodes.BINARY);
+          this.#bufferedAmount += ab.byteLength;
+          socket.write(buffer, () => {
+            this.#bufferedAmount -= ab.byteLength;
+          });
+        } else if (isBlobLike(data)) {
+          const frame = new WebsocketFrameSend();
+          data.arrayBuffer().then((ab) => {
+            const value = Buffer.from(ab);
+            frame.frameData = value;
+            const buffer = frame.createFrame(opcodes.BINARY);
+            this.#bufferedAmount += value.byteLength;
+            socket.write(buffer, () => {
+              this.#bufferedAmount -= value.byteLength;
             });
-          } else {
-            zip.append("", { name: file.destinationPath });
-          }
+          });
         }
-        const bufferSize = (0, config_1.getUploadChunkSize)();
-        const zipUploadStream = new ZipUploadStream(bufferSize);
-        core14.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
-        core14.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
-        zip.pipe(zipUploadStream);
-        zip.finalize();
-        return zipUploadStream;
-      });
-    }
-    exports2.createZipUploadStream = createZipUploadStream;
-    var zipErrorCallback = (error3) => {
-      core14.error("An error has occurred while creating the zip file for upload");
-      core14.info(error3);
-      throw new Error("An error has occurred during zip creation for the artifact");
-    };
-    var zipWarningCallback = (error3) => {
-      if (error3.code === "ENOENT") {
-        core14.warning("ENOENT warning during artifact zip creation. No such file or directory");
-        core14.info(error3);
-      } else {
-        core14.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
-        core14.info(error3);
       }
-    };
-    var zipFinishCallback = () => {
-      core14.debug("Zip stream for upload has finished.");
-    };
-    var zipEndCallback = () => {
-      core14.debug("Zip stream for upload has ended.");
-    };
-  }
-});
-
-// node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js
-var require_upload_artifact = __commonJS({
-  "node_modules/@actions/artifact/lib/internal/upload/upload-artifact.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
-    });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
+      }
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
-      function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve2) {
-          resolve2(value);
-        });
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      return new (P || (P = Promise))(function(resolve2, reject) {
-        function fulfilled(value) {
-          try {
-            step(generator.next(value));
-          } catch (e) {
-            reject(e);
-          }
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
+      }
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
+      }
+      set onopen(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
         }
-        function rejected(value) {
-          try {
-            step(generator["throw"](value));
-          } catch (e) {
-            reject(e);
-          }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
         }
-        function step(result) {
-          result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
+      }
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
+      }
+      set onerror(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
         }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-      });
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.uploadArtifact = void 0;
-    var core14 = __importStar2(require_core());
-    var retention_1 = require_retention();
-    var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
-    var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var upload_zip_specification_1 = require_upload_zip_specification();
-    var util_1 = require_util16();
-    var blob_upload_1 = require_blob_upload();
-    var zip_1 = require_zip2();
-    var generated_1 = require_generated();
-    var errors_1 = require_errors3();
-    function uploadArtifact(name, files, rootDirectory, options) {
-      return __awaiter2(this, void 0, void 0, function* () {
-        (0, path_and_artifact_name_validation_1.validateArtifactName)(name);
-        (0, upload_zip_specification_1.validateRootDirectory)(rootDirectory);
-        const zipSpecification = (0, upload_zip_specification_1.getUploadZipSpecification)(files, rootDirectory);
-        if (zipSpecification.length === 0) {
-          throw new errors_1.FilesNotFoundError(zipSpecification.flatMap((s) => s.sourcePath ? [s.sourcePath] : []));
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
         }
-        const backendIds = (0, util_1.getBackendIdsFromToken)();
-        const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
-        const createArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          version: 4
-        };
-        const expiresAt = (0, retention_1.getExpiration)(options === null || options === void 0 ? void 0 : options.retentionDays);
-        if (expiresAt) {
-          createArtifactReq.expiresAt = expiresAt;
+      }
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
+      }
+      set onclose(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.close) {
+          this.removeEventListener("close", this.#events.close);
         }
-        const createArtifactResp = yield artifactClient.CreateArtifact(createArtifactReq);
-        if (!createArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("CreateArtifact: response from backend was not ok");
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
         }
-        const zipUploadStream = yield (0, zip_1.createZipUploadStream)(zipSpecification, options === null || options === void 0 ? void 0 : options.compressionLevel);
-        const uploadResult = yield (0, blob_upload_1.uploadZipToBlobStorage)(createArtifactResp.signedUploadUrl, zipUploadStream);
-        const finalizeArtifactReq = {
-          workflowRunBackendId: backendIds.workflowRunBackendId,
-          workflowJobRunBackendId: backendIds.workflowJobRunBackendId,
-          name,
-          size: uploadResult.uploadSize ? uploadResult.uploadSize.toString() : "0"
-        };
-        if (uploadResult.sha256Hash) {
-          finalizeArtifactReq.hash = generated_1.StringValue.create({
-            value: `sha256:${uploadResult.sha256Hash}`
-          });
+      }
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
+      }
+      set onmessage(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
         }
-        core14.info(`Finalizing artifact upload`);
-        const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
-        if (!finalizeArtifactResp.ok) {
-          throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
         }
-        const artifactId = BigInt(finalizeArtifactResp.artifactId);
-        core14.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
-        return {
-          size: uploadResult.uploadSize,
-          digest: uploadResult.sha256Hash,
-          id: Number(artifactId)
-        };
-      });
-    }
-    exports2.uploadArtifact = uploadArtifact;
-  }
-});
-
-// node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js
-var require_context2 = __commonJS({
-  "node_modules/@actions/artifact/node_modules/@actions/github/lib/context.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Context = void 0;
-    var fs_1 = require("fs");
-    var os_1 = require("os");
-    var Context = class {
+      }
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
+      }
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
+      }
       /**
-       * Hydrate the context from the environment
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
        */
-      constructor() {
-        var _a, _b, _c;
-        this.payload = {};
-        if (process.env.GITHUB_EVENT_PATH) {
-          if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) {
-            this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" }));
-          } else {
-            const path3 = process.env.GITHUB_EVENT_PATH;
-            process.stdout.write(`GITHUB_EVENT_PATH ${path3} does not exist${os_1.EOL}`);
-          }
+      #onConnectionEstablished(response) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this);
+        parser.on("drain", function onParserDrain() {
+          this.ws[kResponse].socket.resume();
+        });
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
         }
-        this.eventName = process.env.GITHUB_EVENT_NAME;
-        this.sha = process.env.GITHUB_SHA;
-        this.ref = process.env.GITHUB_REF;
-        this.workflow = process.env.GITHUB_WORKFLOW;
-        this.action = process.env.GITHUB_ACTION;
-        this.actor = process.env.GITHUB_ACTOR;
-        this.job = process.env.GITHUB_JOB;
-        this.runAttempt = parseInt(process.env.GITHUB_RUN_ATTEMPT, 10);
-        this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);
-        this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);
-        this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;
-        this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;
-        this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
-      get issue() {
-        const payload = this.payload;
-        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
+    };
+    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
+    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
+    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
+    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
+    Object.defineProperties(WebSocket.prototype, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors,
+      url: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      bufferedAmount: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onclose: kEnumerableProperty,
+      close: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      binaryType: kEnumerableProperty,
+      send: kEnumerableProperty,
+      extensions: kEnumerableProperty,
+      protocol: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
+        configurable: true
       }
-      get repo() {
-        if (process.env.GITHUB_REPOSITORY) {
-          const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
-          return { owner, repo };
+    });
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
+    });
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
+    );
+    webidl.converters["DOMString or sequence"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
+      }
+      return webidl.converters.DOMString(V);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+      {
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        get defaultValue() {
+          return [];
         }
-        if (this.payload.repository) {
-          return {
-            owner: this.payload.repository.owner.login,
-            repo: this.payload.repository.name
-          };
+      },
+      {
+        key: "dispatcher",
+        converter: (V) => V,
+        get defaultValue() {
+          return getGlobalDispatcher();
         }
-        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
+      },
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+      }
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
+      return { protocols: webidl.converters["DOMString or sequence"](V) };
+    };
+    webidl.converters.WebSocketSendData = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
+        }
+      }
+      return webidl.converters.USVString(V);
+    };
+    module2.exports = {
+      WebSocket
     };
-    exports2.Context = Context;
   }
 });
 
-// node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js
-var require_proxy2 = __commonJS({
-  "node_modules/@actions/artifact/node_modules/@actions/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) {
+// node_modules/undici/index.js
+var require_undici3 = __commonJS({
+  "node_modules/undici/index.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.checkBypass = exports2.getProxyUrl = void 0;
-    function getProxyUrl(reqUrl) {
-      const usingSsl = reqUrl.protocol === "https:";
-      if (checkBypass(reqUrl)) {
-        return void 0;
-      }
-      const proxyVar = (() => {
-        if (usingSsl) {
-          return process.env["https_proxy"] || process.env["HTTPS_PROXY"];
+    var Client = require_client3();
+    var Dispatcher = require_dispatcher3();
+    var errors = require_errors5();
+    var Pool = require_pool3();
+    var BalancedPool = require_balanced_pool3();
+    var Agent = require_agent3();
+    var util = require_util23();
+    var { InvalidArgumentError } = errors;
+    var api = require_api3();
+    var buildConnector = require_connect3();
+    var MockClient = require_mock_client3();
+    var MockAgent = require_mock_agent3();
+    var MockPool = require_mock_pool3();
+    var mockErrors = require_mock_errors3();
+    var ProxyAgent = require_proxy_agent3();
+    var RetryHandler = require_RetryHandler();
+    var { getGlobalDispatcher, setGlobalDispatcher } = require_global6();
+    var DecoratorHandler = require_DecoratorHandler();
+    var RedirectHandler = require_RedirectHandler();
+    var createRedirectInterceptor = require_redirectInterceptor();
+    var hasCrypto;
+    try {
+      require("crypto");
+      hasCrypto = true;
+    } catch {
+      hasCrypto = false;
+    }
+    Object.assign(Dispatcher.prototype, api);
+    module2.exports.Dispatcher = Dispatcher;
+    module2.exports.Client = Client;
+    module2.exports.Pool = Pool;
+    module2.exports.BalancedPool = BalancedPool;
+    module2.exports.Agent = Agent;
+    module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.RetryHandler = RetryHandler;
+    module2.exports.DecoratorHandler = DecoratorHandler;
+    module2.exports.RedirectHandler = RedirectHandler;
+    module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.buildConnector = buildConnector;
+    module2.exports.errors = errors;
+    function makeDispatcher(fn) {
+      return (url, opts, handler2) => {
+        if (typeof opts === "function") {
+          handler2 = opts;
+          opts = null;
+        }
+        if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) {
+          throw new InvalidArgumentError("invalid url");
+        }
+        if (opts != null && typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (opts && opts.path != null) {
+          if (typeof opts.path !== "string") {
+            throw new InvalidArgumentError("invalid opts.path");
+          }
+          let path3 = opts.path;
+          if (!opts.path.startsWith("/")) {
+            path3 = `/${path3}`;
+          }
+          url = new URL(util.parseOrigin(url).origin + path3);
         } else {
-          return process.env["http_proxy"] || process.env["HTTP_PROXY"];
+          if (!opts) {
+            opts = typeof url === "object" ? url : {};
+          }
+          url = util.parseURL(url);
         }
-      })();
-      if (proxyVar) {
-        try {
-          return new DecodedURL(proxyVar);
-        } catch (_a) {
-          if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
-            return new DecodedURL(`http://${proxyVar}`);
+        const { agent, dispatcher = getGlobalDispatcher() } = opts;
+        if (agent) {
+          throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
         }
-      } else {
-        return void 0;
-      }
+        return fn.call(dispatcher, {
+          ...opts,
+          origin: url.origin,
+          path: url.search ? `${url.pathname}${url.search}` : url.pathname,
+          method: opts.method || (opts.body ? "PUT" : "GET")
+        }, handler2);
+      };
     }
-    exports2.getProxyUrl = getProxyUrl;
-    function checkBypass(reqUrl) {
-      if (!reqUrl.hostname) {
-        return false;
-      }
-      const reqHost = reqUrl.hostname;
-      if (isLoopbackAddress(reqHost)) {
-        return true;
-      }
-      const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || "";
-      if (!noProxy) {
-        return false;
-      }
-      let reqPort;
-      if (reqUrl.port) {
-        reqPort = Number(reqUrl.port);
-      } else if (reqUrl.protocol === "http:") {
-        reqPort = 80;
-      } else if (reqUrl.protocol === "https:") {
-        reqPort = 443;
-      }
-      const upperReqHosts = [reqUrl.hostname.toUpperCase()];
-      if (typeof reqPort === "number") {
-        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
-      }
-      for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) {
-        if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) {
-          return true;
+    module2.exports.setGlobalDispatcher = setGlobalDispatcher;
+    module2.exports.getGlobalDispatcher = getGlobalDispatcher;
+    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
+      let fetchImpl = null;
+      module2.exports.fetch = async function fetch(resource) {
+        if (!fetchImpl) {
+          fetchImpl = require_fetch3().fetch;
         }
-      }
-      return false;
+        try {
+          return await fetchImpl(...arguments);
+        } catch (err) {
+          if (typeof err === "object") {
+            Error.captureStackTrace(err, this);
+          }
+          throw err;
+        }
+      };
+      module2.exports.Headers = require_headers4().Headers;
+      module2.exports.Response = require_response4().Response;
+      module2.exports.Request = require_request6().Request;
+      module2.exports.FormData = require_formdata3().FormData;
+      module2.exports.File = require_file5().File;
+      module2.exports.FileReader = require_filereader3().FileReader;
+      const { setGlobalOrigin, getGlobalOrigin } = require_global5();
+      module2.exports.setGlobalOrigin = setGlobalOrigin;
+      module2.exports.getGlobalOrigin = getGlobalOrigin;
+      const { CacheStorage } = require_cachestorage3();
+      const { kConstruct } = require_symbols14();
+      module2.exports.caches = new CacheStorage(kConstruct);
     }
-    exports2.checkBypass = checkBypass;
-    function isLoopbackAddress(host) {
-      const hostLower = host.toLowerCase();
-      return hostLower === "localhost" || hostLower.startsWith("127.") || hostLower.startsWith("[::1]") || hostLower.startsWith("[0:0:0:0:0:0:0:1]");
+    if (util.nodeMajor >= 16) {
+      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies3();
+      module2.exports.deleteCookie = deleteCookie;
+      module2.exports.getCookies = getCookies;
+      module2.exports.getSetCookies = getSetCookies;
+      module2.exports.setCookie = setCookie;
+      const { parseMIMEType, serializeAMimeType } = require_dataURL();
+      module2.exports.parseMIMEType = parseMIMEType;
+      module2.exports.serializeAMimeType = serializeAMimeType;
     }
-    var DecodedURL = class extends URL {
-      constructor(url, base) {
-        super(url, base);
-        this._decodedUsername = decodeURIComponent(super.username);
-        this._decodedPassword = decodeURIComponent(super.password);
-      }
-      get username() {
-        return this._decodedUsername;
-      }
-      get password() {
-        return this._decodedPassword;
-      }
-    };
+    if (util.nodeMajor >= 18 && hasCrypto) {
+      const { WebSocket } = require_websocket3();
+      module2.exports.WebSocket = WebSocket;
+    }
+    module2.exports.request = makeDispatcher(api.request);
+    module2.exports.stream = makeDispatcher(api.stream);
+    module2.exports.pipeline = makeDispatcher(api.pipeline);
+    module2.exports.connect = makeDispatcher(api.connect);
+    module2.exports.upgrade = makeDispatcher(api.upgrade);
+    module2.exports.MockClient = MockClient;
+    module2.exports.MockPool = MockPool;
+    module2.exports.MockAgent = MockAgent;
+    module2.exports.mockErrors = mockErrors;
   }
 });
 
@@ -117898,7 +136151,7 @@ var require_lib3 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy2());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -118454,7 +136707,7 @@ var require_lib3 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js
-var require_utils9 = __commonJS({
+var require_utils10 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/internal/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -118514,7 +136767,7 @@ var require_utils9 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getApiBaseUrl = exports2.getProxyFetch = exports2.getProxyAgentDispatcher = exports2.getProxyAgent = exports2.getAuthString = void 0;
     var httpClient = __importStar2(require_lib3());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     function getAuthString(token, options) {
       if (!token && !options.auth) {
         throw new Error("Parameter token or opts.auth is required");
@@ -122360,7 +140613,7 @@ var require_dist_node10 = __commonJS({
 });
 
 // node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js
-var require_utils10 = __commonJS({
+var require_utils11 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@actions/github/lib/utils.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -122393,7 +140646,7 @@ var require_utils10 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokitOptions = exports2.GitHub = exports2.defaults = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var Utils = __importStar2(require_utils9());
+    var Utils = __importStar2(require_utils10());
     var core_1 = require_dist_node8();
     var plugin_rest_endpoint_methods_1 = require_dist_node9();
     var plugin_paginate_rest_1 = require_dist_node10();
@@ -122453,7 +140706,7 @@ var require_github2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getOctokit = exports2.context = void 0;
     var Context = __importStar2(require_context2());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     exports2.context = new Context.Context();
     function getOctokit(token, options, ...additionalPlugins) {
       const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
@@ -124412,7 +142665,7 @@ var require_download_artifact = __commonJS({
     var config_1 = require_config();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
-    var util_1 = require_util16();
+    var util_1 = require_util17();
     var errors_1 = require_errors3();
     var scrubQueryParameters = (url) => {
       const parsed = new URL(url);
@@ -124794,10 +143047,10 @@ var require_get_artifact = __commonJS({
     var github_1 = require_github2();
     var plugin_retry_1 = require_dist_node12();
     var core14 = __importStar2(require_core());
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var retry_options_1 = require_retry_options();
     var plugin_request_log_1 = require_dist_node11();
-    var util_1 = require_util16();
+    var util_1 = require_util17();
     var user_agent_1 = require_user_agent();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
     var generated_1 = require_generated();
@@ -124918,11 +143171,11 @@ var require_delete_artifact = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util16();
+    var util_1 = require_util17();
     var generated_1 = require_generated();
     var get_artifact_1 = require_get_artifact();
     var errors_1 = require_errors3();
@@ -125024,11 +143277,11 @@ var require_list_artifacts = __commonJS({
     var github_1 = require_github2();
     var user_agent_1 = require_user_agent();
     var retry_options_1 = require_retry_options();
-    var utils_1 = require_utils10();
+    var utils_1 = require_utils11();
     var plugin_request_log_1 = require_dist_node11();
     var plugin_retry_1 = require_dist_node12();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
-    var util_1 = require_util16();
+    var util_1 = require_util17();
     var config_1 = require_config();
     var generated_1 = require_generated();
     var maximumArtifactCount = (0, config_1.getMaxArtifactListCount)();
@@ -125145,7 +143398,7 @@ var require_list_artifacts = __commonJS({
 });
 
 // node_modules/@actions/artifact/lib/internal/client.js
-var require_client3 = __commonJS({
+var require_client4 = __commonJS({
   "node_modules/@actions/artifact/lib/internal/client.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -125332,17 +143585,17 @@ var require_artifact2 = __commonJS({
       for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p);
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
-    var client_1 = require_client3();
+    var client_1 = require_client4();
     __exportStar2(require_interfaces2(), exports2);
     __exportStar2(require_errors3(), exports2);
-    __exportStar2(require_client3(), exports2);
+    __exportStar2(require_client4(), exports2);
     var client = new client_1.DefaultArtifactClient();
     exports2.default = client;
   }
 });
 
 // node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js
-var require_utils11 = __commonJS({
+var require_utils12 = __commonJS({
   "node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/utils.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -125407,7 +143660,7 @@ var require_command2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.issue = exports2.issueCommand = void 0;
     var os2 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueCommand(command, properties, message) {
       const cmd = new Command(command, properties, message);
       process.stdout.write(cmd.toString() + os2.EOL);
@@ -125495,7 +143748,7 @@ var require_file_command2 = __commonJS({
     var crypto2 = __importStar2(require("crypto"));
     var fs3 = __importStar2(require("fs"));
     var os2 = __importStar2(require("os"));
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     function issueFileCommand(command, message) {
       const filePath = process.env[`GITHUB_${command}`];
       if (!filePath) {
@@ -125670,7 +143923,7 @@ var require_lib4 = __commonJS({
     var https2 = __importStar2(require("https"));
     var pm = __importStar2(require_proxy3());
     var tunnel = __importStar2(require_tunnel2());
-    var undici_1 = require_undici2();
+    var undici_1 = require_undici3();
     var HttpCodes;
     (function(HttpCodes2) {
       HttpCodes2[HttpCodes2["OK"] = 200] = "OK";
@@ -127963,7 +146216,7 @@ var require_core3 = __commonJS({
     exports2.platform = exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = exports2.markdownSummary = exports2.summary = exports2.getIDToken = exports2.getState = exports2.saveState = exports2.group = exports2.endGroup = exports2.startGroup = exports2.info = exports2.notice = exports2.warning = exports2.error = exports2.debug = exports2.isDebug = exports2.setFailed = exports2.setCommandEcho = exports2.setOutput = exports2.getBooleanInput = exports2.getMultilineInput = exports2.getInput = exports2.addPath = exports2.setSecret = exports2.exportVariable = exports2.ExitCode = void 0;
     var command_1 = require_command2();
     var file_command_1 = require_file_command2();
-    var utils_1 = require_utils11();
+    var utils_1 = require_utils12();
     var os2 = __importStar2(require("os"));
     var path3 = __importStar2(require("path"));
     var oidc_utils_1 = require_oidc_utils2();
@@ -129036,7 +147289,7 @@ var require_crc64 = __commonJS({
 });
 
 // node_modules/@actions/artifact-legacy/lib/internal/utils.js
-var require_utils12 = __commonJS({
+var require_utils13 = __commonJS({
   "node_modules/@actions/artifact-legacy/lib/internal/utils.js"(exports2) {
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
@@ -129346,7 +147599,7 @@ var require_http_manager = __commonJS({
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.HttpManager = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var HttpManager = class {
       constructor(clientCount, userAgent2) {
         if (clientCount < 1) {
@@ -129601,7 +147854,7 @@ var require_requestUtils = __commonJS({
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.retryHttpClientRequest = exports2.retry = void 0;
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var core14 = __importStar2(require_core3());
     var config_variables_1 = require_config_variables();
     function retry2(name, operation, customErrorMessages, maxAttempts) {
@@ -129722,7 +147975,7 @@ var require_upload_http_client = __commonJS({
     var core14 = __importStar2(require_core3());
     var tmp = __importStar2(require_tmp_promise());
     var stream = __importStar2(require("stream"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var config_variables_1 = require_config_variables();
     var util_1 = require("util");
     var url_1 = require("url");
@@ -130113,7 +148366,7 @@ var require_download_http_client = __commonJS({
     var fs3 = __importStar2(require("fs"));
     var core14 = __importStar2(require_core3());
     var zlib = __importStar2(require("zlib"));
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var url_1 = require("url");
     var status_reporter_1 = require_status_reporter();
     var perf_hooks_1 = require("perf_hooks");
@@ -130456,7 +148709,7 @@ var require_artifact_client = __commonJS({
     var core14 = __importStar2(require_core3());
     var upload_specification_1 = require_upload_specification();
     var upload_http_client_1 = require_upload_http_client();
-    var utils_1 = require_utils12();
+    var utils_1 = require_utils13();
     var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation2();
     var download_http_client_1 = require_download_http_client();
     var download_specification_1 = require_download_specification();
@@ -134964,7 +153217,7 @@ var require_semver3 = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/constants.js
-var require_constants19 = __commonJS({
+var require_constants24 = __commonJS({
   "node_modules/@actions/cache/lib/internal/constants.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -135103,7 +153356,7 @@ var require_cacheUtils = __commonJS({
     var path3 = __importStar2(require("path"));
     var semver9 = __importStar2(require_semver3());
     var util = __importStar2(require("util"));
-    var constants_1 = require_constants19();
+    var constants_1 = require_constants24();
     var versionSalt = "1.0";
     function createTempDirectory() {
       return __awaiter2(this, void 0, void 0, function* () {
@@ -135243,7 +153496,7 @@ var require_cacheUtils = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/errors.js
-var require_errors5 = __commonJS({
+var require_errors6 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/errors.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -135399,7 +153652,7 @@ var require_uploadUtils = __commonJS({
     exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK;
     var core14 = __importStar2(require_core());
     var storage_blob_1 = require_commonjs17();
-    var errors_1 = require_errors5();
+    var errors_1 = require_errors6();
     var UploadProgress = class {
       constructor(contentLength) {
         this.contentLength = contentLength;
@@ -135590,7 +153843,7 @@ var require_requestUtils2 = __commonJS({
     exports2.retryHttpClientResponse = retryHttpClientResponse;
     var core14 = __importStar2(require_core());
     var http_client_1 = require_lib();
-    var constants_1 = require_constants19();
+    var constants_1 = require_constants24();
     function isSuccessStatusCode(statusCode) {
       if (!statusCode) {
         return false;
@@ -135915,7 +154168,7 @@ var require_downloadUtils = __commonJS({
     var stream = __importStar2(require("stream"));
     var util = __importStar2(require("util"));
     var utils = __importStar2(require_cacheUtils());
-    var constants_1 = require_constants19();
+    var constants_1 = require_constants24();
     var requestUtils_1 = require_requestUtils2();
     var abort_controller_1 = require_dist5();
     function pipeResponseToStream(response, output) {
@@ -136855,7 +155108,7 @@ var require_cachemetadata = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/generated/results/api/v1/cache.js
-var require_cache4 = __commonJS({
+var require_cache5 = __commonJS({
   "node_modules/@actions/cache/lib/generated/results/api/v1/cache.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -137340,7 +155593,7 @@ var require_cache_twirp_client = __commonJS({
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.CacheServiceClientProtobuf = exports2.CacheServiceClientJSON = void 0;
-    var cache_1 = require_cache4();
+    var cache_1 = require_cache5();
     var CacheServiceClientJSON = class {
       constructor(rpc) {
         this.rpc = rpc;
@@ -137408,7 +155661,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util22 = __commonJS({
+var require_util30 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -137479,13 +155732,13 @@ var require_cacheTwirpClient = __commonJS({
     exports2.internalCacheTwirpClient = internalCacheTwirpClient;
     var core_1 = require_core();
     var user_agent_1 = require_user_agent2();
-    var errors_1 = require_errors5();
+    var errors_1 = require_errors6();
     var config_1 = require_config2();
     var cacheUtils_1 = require_cacheUtils();
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util22();
+    var util_1 = require_util30();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -137709,7 +155962,7 @@ var require_tar2 = __commonJS({
     var fs_1 = require("fs");
     var path3 = __importStar2(require("path"));
     var utils = __importStar2(require_cacheUtils());
-    var constants_1 = require_constants19();
+    var constants_1 = require_constants24();
     var IS_WINDOWS = process.platform === "win32";
     function getTarPath() {
       return __awaiter2(this, void 0, void 0, function* () {
@@ -137885,7 +156138,7 @@ var require_tar2 = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/cache.js
-var require_cache5 = __commonJS({
+var require_cache6 = __commonJS({
   "node_modules/@actions/cache/lib/cache.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -142798,7 +161051,7 @@ function withGroup(groupName, f) {
 var semver5 = __toESM(require_semver2());
 
 // src/overlay-database-utils.ts
-var actionsCache = __toESM(require_cache5());
+var actionsCache = __toESM(require_cache6());
 
 // src/git-utils.ts
 var core8 = __toESM(require_core());
@@ -143029,7 +161282,7 @@ var featureConfig = {
 };
 
 // src/trap-caching.ts
-var actionsCache2 = __toESM(require_cache5());
+var actionsCache2 = __toESM(require_cache6());
 
 // src/config-utils.ts
 var OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_MB = 2e4;
@@ -143080,7 +161333,7 @@ var semver7 = __toESM(require_semver2());
 var STREAMING_HIGH_WATERMARK_BYTES = 4 * 1024 * 1024;
 
 // src/dependency-caching.ts
-var actionsCache3 = __toESM(require_cache5());
+var actionsCache3 = __toESM(require_cache6());
 var glob = __toESM(require_glob2());
 
 // src/artifact-scanner.ts
@@ -143472,10 +161725,12 @@ async function runWrapper() {
 void runWrapper();
 /*! Bundled license information:
 
+undici/lib/web/fetch/body.js:
 undici/lib/web/fetch/body.js:
 undici/lib/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
+undici/lib/web/websocket/frame.js:
 undici/lib/web/websocket/frame.js:
 undici/lib/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js
index 2c0e870113..4cdac65376 100644
--- a/lib/upload-sarif-action.js
+++ b/lib/upload-sarif-action.js
@@ -21549,9 +21549,9 @@ var require_context = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/symbols.js
+// node_modules/@actions/github/node_modules/undici/lib/core/symbols.js
 var require_symbols6 = __commonJS({
-  "node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
     module2.exports = {
       kClose: /* @__PURE__ */ Symbol("close"),
       kDestroy: /* @__PURE__ */ Symbol("destroy"),
@@ -21562,7 +21562,6 @@ var require_symbols6 = __commonJS({
       kQueue: /* @__PURE__ */ Symbol("queue"),
       kConnect: /* @__PURE__ */ Symbol("connect"),
       kConnecting: /* @__PURE__ */ Symbol("connecting"),
-      kHeadersList: /* @__PURE__ */ Symbol("headers list"),
       kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
       kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
       kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
@@ -21575,6 +21574,7 @@ var require_symbols6 = __commonJS({
       kHost: /* @__PURE__ */ Symbol("host"),
       kNoRef: /* @__PURE__ */ Symbol("no ref"),
       kBodyUsed: /* @__PURE__ */ Symbol("used"),
+      kBody: /* @__PURE__ */ Symbol("abstracted request body"),
       kRunning: /* @__PURE__ */ Symbol("running"),
       kBlocking: /* @__PURE__ */ Symbol("blocking"),
       kPending: /* @__PURE__ */ Symbol("pending"),
@@ -21587,6 +21587,8 @@ var require_symbols6 = __commonJS({
       kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
       kReset: /* @__PURE__ */ Symbol("reset"),
       kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
+      kResume: /* @__PURE__ */ Symbol("resume"),
+      kOnError: /* @__PURE__ */ Symbol("on error"),
       kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
       kRunningIdx: /* @__PURE__ */ Symbol("running index"),
       kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
@@ -21608,67 +21610,90 @@ var require_symbols6 = __commonJS({
       kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
       kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
       kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
-      kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
-      kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
-      kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
-      kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
       kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
-      kConstruct: /* @__PURE__ */ Symbol("constructable")
+      kConstruct: /* @__PURE__ */ Symbol("constructable"),
+      kListeners: /* @__PURE__ */ Symbol("listeners"),
+      kHTTPContext: /* @__PURE__ */ Symbol("http context"),
+      kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
+      kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
+      kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
+      kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
     };
   }
 });
 
-// node_modules/undici/lib/core/errors.js
+// node_modules/@actions/github/node_modules/undici/lib/core/errors.js
 var require_errors2 = __commonJS({
-  "node_modules/undici/lib/core/errors.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/errors.js"(exports2, module2) {
     "use strict";
+    var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
     var UndiciError = class extends Error {
       constructor(message) {
         super(message);
         this.name = "UndiciError";
         this.code = "UND_ERR";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kUndiciError] === true;
+      }
+      [kUndiciError] = true;
     };
-    var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError {
+    var kConnectTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
+    var ConnectTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ConnectTimeoutError);
         this.name = "ConnectTimeoutError";
         this.message = message || "Connect Timeout Error";
         this.code = "UND_ERR_CONNECT_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kConnectTimeoutError] === true;
+      }
+      [kConnectTimeoutError] = true;
     };
-    var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError {
+    var kHeadersTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
+    var HeadersTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersTimeoutError);
         this.name = "HeadersTimeoutError";
         this.message = message || "Headers Timeout Error";
         this.code = "UND_ERR_HEADERS_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersTimeoutError] === true;
+      }
+      [kHeadersTimeoutError] = true;
     };
-    var HeadersOverflowError = class _HeadersOverflowError extends UndiciError {
+    var kHeadersOverflowError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
+    var HeadersOverflowError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _HeadersOverflowError);
         this.name = "HeadersOverflowError";
         this.message = message || "Headers Overflow Error";
         this.code = "UND_ERR_HEADERS_OVERFLOW";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHeadersOverflowError] === true;
+      }
+      [kHeadersOverflowError] = true;
     };
-    var BodyTimeoutError = class _BodyTimeoutError extends UndiciError {
+    var kBodyTimeoutError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
+    var BodyTimeoutError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _BodyTimeoutError);
         this.name = "BodyTimeoutError";
         this.message = message || "Body Timeout Error";
         this.code = "UND_ERR_BODY_TIMEOUT";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBodyTimeoutError] === true;
+      }
+      [kBodyTimeoutError] = true;
     };
-    var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError {
+    var kResponseStatusCodeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
+    var ResponseStatusCodeError = class extends UndiciError {
       constructor(message, statusCode, headers, body) {
         super(message);
-        Error.captureStackTrace(this, _ResponseStatusCodeError);
         this.name = "ResponseStatusCodeError";
         this.message = message || "Response Status Code Error";
         this.code = "UND_ERR_RESPONSE_STATUS_CODE";
@@ -21677,129 +21702,198 @@ var require_errors2 = __commonJS({
         this.statusCode = statusCode;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseStatusCodeError] === true;
+      }
+      [kResponseStatusCodeError] = true;
     };
-    var InvalidArgumentError = class _InvalidArgumentError extends UndiciError {
+    var kInvalidArgumentError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_ARG");
+    var InvalidArgumentError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidArgumentError);
         this.name = "InvalidArgumentError";
         this.message = message || "Invalid Argument Error";
         this.code = "UND_ERR_INVALID_ARG";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidArgumentError] === true;
+      }
+      [kInvalidArgumentError] = true;
     };
-    var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError {
+    var kInvalidReturnValueError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
+    var InvalidReturnValueError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InvalidReturnValueError);
         this.name = "InvalidReturnValueError";
         this.message = message || "Invalid Return Value Error";
         this.code = "UND_ERR_INVALID_RETURN_VALUE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInvalidReturnValueError] === true;
+      }
+      [kInvalidReturnValueError] = true;
+    };
+    var kAbortError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORT");
+    var AbortError = class extends UndiciError {
+      constructor(message) {
+        super(message);
+        this.name = "AbortError";
+        this.message = message || "The operation was aborted";
+        this.code = "UND_ERR_ABORT";
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kAbortError] === true;
+      }
+      [kAbortError] = true;
     };
-    var RequestAbortedError = class _RequestAbortedError extends UndiciError {
+    var kRequestAbortedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_ABORTED");
+    var RequestAbortedError = class extends AbortError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestAbortedError);
         this.name = "AbortError";
         this.message = message || "Request aborted";
         this.code = "UND_ERR_ABORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestAbortedError] === true;
+      }
+      [kRequestAbortedError] = true;
     };
-    var InformationalError = class _InformationalError extends UndiciError {
+    var kInformationalError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_INFO");
+    var InformationalError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _InformationalError);
         this.name = "InformationalError";
         this.message = message || "Request information";
         this.code = "UND_ERR_INFO";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kInformationalError] === true;
+      }
+      [kInformationalError] = true;
     };
-    var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError {
+    var kRequestContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
+    var RequestContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _RequestContentLengthMismatchError);
         this.name = "RequestContentLengthMismatchError";
         this.message = message || "Request body length does not match content-length header";
         this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestContentLengthMismatchError] === true;
+      }
+      [kRequestContentLengthMismatchError] = true;
     };
-    var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError {
+    var kResponseContentLengthMismatchError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
+    var ResponseContentLengthMismatchError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseContentLengthMismatchError);
         this.name = "ResponseContentLengthMismatchError";
         this.message = message || "Response body length does not match content-length header";
         this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseContentLengthMismatchError] === true;
+      }
+      [kResponseContentLengthMismatchError] = true;
     };
-    var ClientDestroyedError = class _ClientDestroyedError extends UndiciError {
+    var kClientDestroyedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_DESTROYED");
+    var ClientDestroyedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientDestroyedError);
         this.name = "ClientDestroyedError";
         this.message = message || "The client is destroyed";
         this.code = "UND_ERR_DESTROYED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientDestroyedError] === true;
+      }
+      [kClientDestroyedError] = true;
     };
-    var ClientClosedError = class _ClientClosedError extends UndiciError {
+    var kClientClosedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_CLOSED");
+    var ClientClosedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ClientClosedError);
         this.name = "ClientClosedError";
         this.message = message || "The client is closed";
         this.code = "UND_ERR_CLOSED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kClientClosedError] === true;
+      }
+      [kClientClosedError] = true;
     };
-    var SocketError = class _SocketError extends UndiciError {
+    var kSocketError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_SOCKET");
+    var SocketError = class extends UndiciError {
       constructor(message, socket) {
         super(message);
-        Error.captureStackTrace(this, _SocketError);
         this.name = "SocketError";
         this.message = message || "Socket error";
         this.code = "UND_ERR_SOCKET";
         this.socket = socket;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSocketError] === true;
+      }
+      [kSocketError] = true;
     };
-    var NotSupportedError = class _NotSupportedError extends UndiciError {
+    var kNotSupportedError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
+    var NotSupportedError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _NotSupportedError);
         this.name = "NotSupportedError";
         this.message = message || "Not supported error";
         this.code = "UND_ERR_NOT_SUPPORTED";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kNotSupportedError] === true;
+      }
+      [kNotSupportedError] = true;
     };
+    var kBalancedPoolMissingUpstreamError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
     var BalancedPoolMissingUpstreamError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, NotSupportedError);
         this.name = "MissingUpstreamError";
         this.message = message || "No upstream has been added to the BalancedPool";
         this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+      }
+      [kBalancedPoolMissingUpstreamError] = true;
     };
-    var HTTPParserError = class _HTTPParserError extends Error {
+    var kHTTPParserError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
+    var HTTPParserError = class extends Error {
       constructor(message, code, data) {
         super(message);
-        Error.captureStackTrace(this, _HTTPParserError);
         this.name = "HTTPParserError";
         this.code = code ? `HPE_${code}` : void 0;
         this.data = data ? data.toString() : void 0;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kHTTPParserError] === true;
+      }
+      [kHTTPParserError] = true;
     };
-    var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError {
+    var kResponseExceededMaxSizeError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
+    var ResponseExceededMaxSizeError = class extends UndiciError {
       constructor(message) {
         super(message);
-        Error.captureStackTrace(this, _ResponseExceededMaxSizeError);
         this.name = "ResponseExceededMaxSizeError";
         this.message = message || "Response content exceeded max size";
         this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseExceededMaxSizeError] === true;
+      }
+      [kResponseExceededMaxSizeError] = true;
     };
-    var RequestRetryError = class _RequestRetryError extends UndiciError {
+    var kRequestRetryError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_REQ_RETRY");
+    var RequestRetryError = class extends UndiciError {
       constructor(message, code, { headers, data }) {
         super(message);
-        Error.captureStackTrace(this, _RequestRetryError);
         this.name = "RequestRetryError";
         this.message = message || "Request retry error";
         this.code = "UND_ERR_REQ_RETRY";
@@ -21807,8 +21901,43 @@ var require_errors2 = __commonJS({
         this.data = data;
         this.headers = headers;
       }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kRequestRetryError] === true;
+      }
+      [kRequestRetryError] = true;
+    };
+    var kResponseError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_RESPONSE");
+    var ResponseError = class extends UndiciError {
+      constructor(message, code, { headers, data }) {
+        super(message);
+        this.name = "ResponseError";
+        this.message = message || "Response error";
+        this.code = "UND_ERR_RESPONSE";
+        this.statusCode = code;
+        this.data = data;
+        this.headers = headers;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kResponseError] === true;
+      }
+      [kResponseError] = true;
+    };
+    var kSecureProxyConnectionError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_PRX_TLS");
+    var SecureProxyConnectionError = class extends UndiciError {
+      constructor(cause, message, options) {
+        super(message, { cause, ...options ?? {} });
+        this.name = "SecureProxyConnectionError";
+        this.message = message || "Secure Proxy Connection failed";
+        this.code = "UND_ERR_PRX_TLS";
+        this.cause = cause;
+      }
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kSecureProxyConnectionError] === true;
+      }
+      [kSecureProxyConnectionError] = true;
     };
     module2.exports = {
+      AbortError,
       HTTPParserError,
       UndiciError,
       HeadersTimeoutError,
@@ -21828,14 +21957,16 @@ var require_errors2 = __commonJS({
       ResponseContentLengthMismatchError,
       BalancedPoolMissingUpstreamError,
       ResponseExceededMaxSizeError,
-      RequestRetryError
+      RequestRetryError,
+      ResponseError,
+      SecureProxyConnectionError
     };
   }
 });
 
-// node_modules/undici/lib/core/constants.js
+// node_modules/@actions/github/node_modules/undici/lib/core/constants.js
 var require_constants6 = __commonJS({
-  "node_modules/undici/lib/core/constants.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/constants.js"(exports2, module2) {
     "use strict";
     var headerNameLowerCasedRecord = {};
     var wellknownHeaderNames = [
@@ -21948,28 +22079,212 @@ var require_constants6 = __commonJS({
   }
 });
 
-// node_modules/undici/lib/core/util.js
+// node_modules/@actions/github/node_modules/undici/lib/core/tree.js
+var require_tree2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+    "use strict";
+    var {
+      wellknownHeaderNames,
+      headerNameLowerCasedRecord
+    } = require_constants6();
+    var TstNode = class _TstNode {
+      /** @type {any} */
+      value = null;
+      /** @type {null | TstNode} */
+      left = null;
+      /** @type {null | TstNode} */
+      middle = null;
+      /** @type {null | TstNode} */
+      right = null;
+      /** @type {number} */
+      code;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * @param {number} index
+       */
+      constructor(key, value, index) {
+        if (index === void 0 || index >= key.length) {
+          throw new TypeError("Unreachable");
+        }
+        const code = this.code = key.charCodeAt(index);
+        if (code > 127) {
+          throw new TypeError("key must be ascii string");
+        }
+        if (key.length !== ++index) {
+          this.middle = new _TstNode(key, value, index);
+        } else {
+          this.value = value;
+        }
+      }
+      /**
+       * @param {string} key
+       * @param {any} value
+       */
+      add(key, value) {
+        const length = key.length;
+        if (length === 0) {
+          throw new TypeError("Unreachable");
+        }
+        let index = 0;
+        let node = this;
+        while (true) {
+          const code = key.charCodeAt(index);
+          if (code > 127) {
+            throw new TypeError("key must be ascii string");
+          }
+          if (node.code === code) {
+            if (length === ++index) {
+              node.value = value;
+              break;
+            } else if (node.middle !== null) {
+              node = node.middle;
+            } else {
+              node.middle = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.code < code) {
+            if (node.left !== null) {
+              node = node.left;
+            } else {
+              node.left = new _TstNode(key, value, index);
+              break;
+            }
+          } else if (node.right !== null) {
+            node = node.right;
+          } else {
+            node.right = new _TstNode(key, value, index);
+            break;
+          }
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {TstNode | null}
+       */
+      search(key) {
+        const keylength = key.length;
+        let index = 0;
+        let node = this;
+        while (node !== null && index < keylength) {
+          let code = key[index];
+          if (code <= 90 && code >= 65) {
+            code |= 32;
+          }
+          while (node !== null) {
+            if (code === node.code) {
+              if (keylength === ++index) {
+                return node;
+              }
+              node = node.middle;
+              break;
+            }
+            node = node.code < code ? node.left : node.right;
+          }
+        }
+        return null;
+      }
+    };
+    var TernarySearchTree = class {
+      /** @type {TstNode | null} */
+      node = null;
+      /**
+       * @param {string} key
+       * @param {any} value
+       * */
+      insert(key, value) {
+        if (this.node === null) {
+          this.node = new TstNode(key, value, 0);
+        } else {
+          this.node.add(key, value);
+        }
+      }
+      /**
+       * @param {Uint8Array} key
+       * @return {any}
+       */
+      lookup(key) {
+        return this.node?.search(key)?.value ?? null;
+      }
+    };
+    var tree = new TernarySearchTree();
+    for (let i = 0; i < wellknownHeaderNames.length; ++i) {
+      const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]];
+      tree.insert(key, key);
+    }
+    module2.exports = {
+      TernarySearchTree,
+      tree
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/core/util.js
 var require_util9 = __commonJS({
-  "node_modules/undici/lib/core/util.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/lib/core/util.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { kDestroyed, kBodyUsed } = require_symbols6();
-    var { IncomingMessage } = require("http");
-    var stream2 = require("stream");
-    var net = require("net");
+    var assert = require("node:assert");
+    var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6();
+    var { IncomingMessage } = require("node:http");
+    var stream2 = require("node:stream");
+    var net = require("node:net");
+    var { Blob: Blob2 } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var { stringify } = require("node:querystring");
+    var { EventEmitter: EE } = require("node:events");
     var { InvalidArgumentError } = require_errors2();
-    var { Blob: Blob2 } = require("buffer");
-    var nodeUtil = require("util");
-    var { stringify } = require("querystring");
     var { headerNameLowerCasedRecord } = require_constants6();
+    var { tree } = require_tree2();
     var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
+      }
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
+      }
+    };
+    function wrapRequestBody(body) {
+      if (isStream(body)) {
+        if (bodyLength(body) === 0) {
+          body.on("data", function() {
+            assert(false);
+          });
+        }
+        if (typeof body.readableDidRead !== "boolean") {
+          body[kBodyUsed] = false;
+          EE.prototype.on.call(body, "data", function() {
+            this[kBodyUsed] = true;
+          });
+        }
+        return body;
+      } else if (body && typeof body.pipeTo === "function") {
+        return new BodyAsyncIterable(body);
+      } else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
+        return new BodyAsyncIterable(body);
+      } else {
+        return body;
+      }
+    }
     function nop() {
     }
     function isStream(obj) {
       return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
     }
     function isBlobLike(object) {
-      return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
+      if (object === null) {
+        return false;
+      } else if (object instanceof Blob2) {
+        return true;
+      } else if (typeof object !== "object") {
+        return false;
+      } else {
+        const sTag = object[Symbol.toStringTag];
+        return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function");
+      }
     }
     function buildURL(url2, queryParams) {
       if (url2.includes("?") || url2.includes("#")) {
@@ -21981,10 +22296,17 @@ var require_util9 = __commonJS({
       }
       return url2;
     }
+    function isValidPort(port) {
+      const value = parseInt(port, 10);
+      return value === Number(port) && value >= 0 && value <= 65535;
+    }
+    function isHttpOrHttpsPrefixed(value) {
+      return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
+    }
     function parseURL(url2) {
       if (typeof url2 === "string") {
         url2 = new URL(url2);
-        if (!/^https?:/.test(url2.origin || url2.protocol)) {
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
           throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
         }
         return url2;
@@ -21992,11 +22314,8 @@ var require_util9 = __commonJS({
       if (!url2 || typeof url2 !== "object") {
         throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
       }
-      if (!/^https?:/.test(url2.origin || url2.protocol)) {
-        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
-      }
       if (!(url2 instanceof URL)) {
-        if (url2.port != null && url2.port !== "" && !Number.isFinite(parseInt(url2.port))) {
+        if (url2.port != null && url2.port !== "" && isValidPort(url2.port) === false) {
           throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
         }
         if (url2.path != null && typeof url2.path !== "string") {
@@ -22011,16 +22330,22 @@ var require_util9 = __commonJS({
         if (url2.origin != null && typeof url2.origin !== "string") {
           throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
         }
+        if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+          throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
+        }
         const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80;
-        let origin = url2.origin != null ? url2.origin : `${url2.protocol}//${url2.hostname}:${port}`;
+        let origin = url2.origin != null ? url2.origin : `${url2.protocol || ""}//${url2.hostname || ""}:${port}`;
         let path12 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`;
-        if (origin.endsWith("/")) {
-          origin = origin.substring(0, origin.length - 1);
+        if (origin[origin.length - 1] === "/") {
+          origin = origin.slice(0, origin.length - 1);
         }
-        if (path12 && !path12.startsWith("/")) {
+        if (path12 && path12[0] !== "/") {
           path12 = `/${path12}`;
         }
-        url2 = new URL(origin + path12);
+        return new URL(`${origin}${path12}`);
+      }
+      if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
+        throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
       }
       return url2;
     }
@@ -22045,7 +22370,7 @@ var require_util9 = __commonJS({
       if (!host) {
         return null;
       }
-      assert.strictEqual(typeof host, "string");
+      assert(typeof host === "string");
       const servername = getHostname(host);
       if (net.isIP(servername)) {
         return "";
@@ -22074,12 +22399,8 @@ var require_util9 = __commonJS({
       }
       return null;
     }
-    function isDestroyed(stream3) {
-      return !stream3 || !!(stream3.destroyed || stream3[kDestroyed]);
-    }
-    function isReadableAborted(stream3) {
-      const state = stream3 && stream3._readableState;
-      return isDestroyed(stream3) && state && !state.endEmitted;
+    function isDestroyed(body) {
+      return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body));
     }
     function destroy(stream3, err) {
       if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) {
@@ -22091,9 +22412,9 @@ var require_util9 = __commonJS({
         }
         stream3.destroy(err);
       } else if (err) {
-        process.nextTick((stream4, err2) => {
-          stream4.emit("error", err2);
-        }, stream3, err);
+        queueMicrotask(() => {
+          stream3.emit("error", err);
+        });
       }
       if (stream3.destroyed !== true) {
         stream3[kDestroyed] = true;
@@ -22105,25 +22426,29 @@ var require_util9 = __commonJS({
       return m ? parseInt(m[1], 10) * 1e3 : null;
     }
     function headerNameToString(value) {
-      return headerNameLowerCasedRecord[value] || value.toLowerCase();
+      return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
+    }
+    function bufferToLowerCasedHeaderName(value) {
+      return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
     }
-    function parseHeaders(headers, obj = {}) {
-      if (!Array.isArray(headers)) return headers;
+    function parseHeaders(headers, obj) {
+      if (obj === void 0) obj = {};
       for (let i = 0; i < headers.length; i += 2) {
-        const key = headers[i].toString().toLowerCase();
+        const key = headerNameToString(headers[i]);
         let val = obj[key];
-        if (!val) {
-          if (Array.isArray(headers[i + 1])) {
-            obj[key] = headers[i + 1].map((x) => x.toString("utf8"));
-          } else {
-            obj[key] = headers[i + 1].toString("utf8");
-          }
-        } else {
-          if (!Array.isArray(val)) {
+        if (val) {
+          if (typeof val === "string") {
             val = [val];
             obj[key] = val;
           }
           val.push(headers[i + 1].toString("utf8"));
+        } else {
+          const headersValue = headers[i + 1];
+          if (typeof headersValue === "string") {
+            obj[key] = headersValue;
+          } else {
+            obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8");
+          }
         }
       }
       if ("content-length" in obj && "content-disposition" in obj) {
@@ -22132,20 +22457,26 @@ var require_util9 = __commonJS({
       return obj;
     }
     function parseRawHeaders(headers) {
-      const ret = [];
+      const len = headers.length;
+      const ret = new Array(len);
       let hasContentLength = false;
       let contentDispositionIdx = -1;
+      let key;
+      let val;
+      let kLen = 0;
       for (let n = 0; n < headers.length; n += 2) {
-        const key = headers[n + 0].toString();
-        const val = headers[n + 1].toString("utf8");
-        if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
-          ret.push(key, val);
+        key = headers[n];
+        val = headers[n + 1];
+        typeof key !== "string" && (key = key.toString());
+        typeof val !== "string" && (val = val.toString("utf8"));
+        kLen = key.length;
+        if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) {
           hasContentLength = true;
-        } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
-          contentDispositionIdx = ret.push(key, val) - 1;
-        } else {
-          ret.push(key, val);
+        } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
+          contentDispositionIdx = n + 1;
         }
+        ret[n] = key;
+        ret[n + 1] = val;
       }
       if (hasContentLength && contentDispositionIdx !== -1) {
         ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
@@ -22185,17 +22516,13 @@ var require_util9 = __commonJS({
       }
     }
     function isDisturbed(body) {
-      return !!(body && (stream2.isDisturbed ? stream2.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));
+      return !!(body && (stream2.isDisturbed(body) || body[kBodyUsed]));
     }
     function isErrored(body) {
-      return !!(body && (stream2.isErrored ? stream2.isErrored(body) : /state: 'errored'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isErrored(body));
     }
     function isReadable(body) {
-      return !!(body && (stream2.isReadable ? stream2.isReadable(body) : /state: 'readable'/.test(
-        nodeUtil.inspect(body)
-      )));
+      return !!(body && stream2.isReadable(body));
     }
     function getSocketInfo(socket) {
       return {
@@ -22209,21 +22536,9 @@ var require_util9 = __commonJS({
         bytesRead: socket.bytesRead
       };
     }
-    async function* convertIterableToBuffer(iterable) {
-      for await (const chunk of iterable) {
-        yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
-      }
-    }
-    var ReadableStream2;
     function ReadableStreamFrom(iterable) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      if (ReadableStream2.from) {
-        return ReadableStream2.from(convertIterableToBuffer(iterable));
-      }
       let iterator2;
-      return new ReadableStream2(
+      return new ReadableStream(
         {
           async start() {
             iterator2 = iterable[Symbol.asyncIterator]();
@@ -22233,37 +22548,26 @@ var require_util9 = __commonJS({
             if (done) {
               queueMicrotask(() => {
                 controller.close();
+                controller.byobRequest?.respond(0);
               });
             } else {
               const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
-              controller.enqueue(new Uint8Array(buf));
+              if (buf.byteLength) {
+                controller.enqueue(new Uint8Array(buf));
+              }
             }
             return controller.desiredSize > 0;
           },
           async cancel(reason) {
             await iterator2.return();
-          }
-        },
-        0
+          },
+          type: "bytes"
+        }
       );
     }
     function isFormDataLike(object) {
       return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
     }
-    function throwIfAborted(signal) {
-      if (!signal) {
-        return;
-      }
-      if (typeof signal.throwIfAborted === "function") {
-        signal.throwIfAborted();
-      } else {
-        if (signal.aborted) {
-          const err = new Error("The operation was aborted");
-          err.name = "AbortError";
-          throw err;
-        }
-      }
-    }
     function addAbortListener(signal, listener) {
       if ("addEventListener" in signal) {
         signal.addEventListener("abort", listener, { once: true });
@@ -22272,14 +22576,52 @@ var require_util9 = __commonJS({
       signal.addListener("abort", listener);
       return () => signal.removeListener("abort", listener);
     }
-    var hasToWellFormed = !!String.prototype.toWellFormed;
+    var hasToWellFormed = typeof String.prototype.toWellFormed === "function";
+    var hasIsWellFormed = typeof String.prototype.isWellFormed === "function";
     function toUSVString(val) {
-      if (hasToWellFormed) {
-        return `${val}`.toWellFormed();
-      } else if (nodeUtil.toUSVString) {
-        return nodeUtil.toUSVString(val);
+      return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val);
+    }
+    function isUSVString(val) {
+      return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`;
+    }
+    function isTokenCharCode(c) {
+      switch (c) {
+        case 34:
+        case 40:
+        case 41:
+        case 44:
+        case 47:
+        case 58:
+        case 59:
+        case 60:
+        case 61:
+        case 62:
+        case 63:
+        case 64:
+        case 91:
+        case 92:
+        case 93:
+        case 123:
+        case 125:
+          return false;
+        default:
+          return c >= 33 && c <= 126;
+      }
+    }
+    function isValidHTTPToken(characters) {
+      if (characters.length === 0) {
+        return false;
+      }
+      for (let i = 0; i < characters.length; ++i) {
+        if (!isTokenCharCode(characters.charCodeAt(i))) {
+          return false;
+        }
       }
-      return `${val}`;
+      return true;
+    }
+    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
+    function isValidHeaderValue(characters) {
+      return !headerCharRegex.test(characters);
     }
     function parseRangeHeader(range) {
       if (range == null || range === "") return { start: 0, end: null, size: null };
@@ -22290,25 +22632,70 @@ var require_util9 = __commonJS({
         size: m[3] ? parseInt(m[3]) : null
       } : null;
     }
-    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
-    kEnumerableProperty.enumerable = true;
-    module2.exports = {
-      kEnumerableProperty,
-      nop,
-      isDisturbed,
-      isErrored,
-      isReadable,
-      toUSVString,
-      isReadableAborted,
-      isBlobLike,
-      parseOrigin,
-      parseURL,
-      getServerName,
+    function addListener(obj, name, listener) {
+      const listeners = obj[kListeners] ??= [];
+      listeners.push([name, listener]);
+      obj.on(name, listener);
+      return obj;
+    }
+    function removeAllListeners(obj) {
+      for (const [name, listener] of obj[kListeners] ?? []) {
+        obj.removeListener(name, listener);
+      }
+      obj[kListeners] = null;
+    }
+    function errorRequest2(client, request2, err) {
+      try {
+        request2.onError(err);
+        assert(request2.aborted);
+      } catch (err2) {
+        client.emit("error", err2);
+      }
+    }
+    var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
+    kEnumerableProperty.enumerable = true;
+    var normalizedMethodRecordsBase = {
+      delete: "DELETE",
+      DELETE: "DELETE",
+      get: "GET",
+      GET: "GET",
+      head: "HEAD",
+      HEAD: "HEAD",
+      options: "OPTIONS",
+      OPTIONS: "OPTIONS",
+      post: "POST",
+      POST: "POST",
+      put: "PUT",
+      PUT: "PUT"
+    };
+    var normalizedMethodRecords = {
+      ...normalizedMethodRecordsBase,
+      patch: "patch",
+      PATCH: "PATCH"
+    };
+    Object.setPrototypeOf(normalizedMethodRecordsBase, null);
+    Object.setPrototypeOf(normalizedMethodRecords, null);
+    module2.exports = {
+      kEnumerableProperty,
+      nop,
+      isDisturbed,
+      isErrored,
+      isReadable,
+      toUSVString,
+      isUSVString,
+      isBlobLike,
+      parseOrigin,
+      parseURL,
+      getServerName,
       isStream,
       isIterable,
       isAsyncIterable,
       isDestroyed,
       headerNameToString,
+      bufferToLowerCasedHeaderName,
+      addListener,
+      removeAllListeners,
+      errorRequest: errorRequest2,
       parseRawHeaders,
       parseHeaders,
       parseKeepAliveTimeout,
@@ -22321,15673 +22708,16863 @@ var require_util9 = __commonJS({
       getSocketInfo,
       isFormDataLike,
       buildURL,
-      throwIfAborted,
       addAbortListener,
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isTokenCharCode,
       parseRangeHeader,
+      normalizedMethodRecordsBase,
+      normalizedMethodRecords,
+      isValidPort,
+      isHttpOrHttpsPrefixed,
       nodeMajor,
       nodeMinor,
-      nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
-      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
+      safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"],
+      wrapRequestBody
     };
   }
 });
 
-// node_modules/undici/lib/timers.js
-var require_timers2 = __commonJS({
-  "node_modules/undici/lib/timers.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js
+var require_diagnostics2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
     "use strict";
-    var fastNow = Date.now();
-    var fastNowTimeout;
-    var fastTimers = [];
-    function onTimeout() {
-      fastNow = Date.now();
-      let len = fastTimers.length;
-      let idx = 0;
-      while (idx < len) {
-        const timer = fastTimers[idx];
-        if (timer.state === 0) {
-          timer.state = fastNow + timer.delay;
-        } else if (timer.state > 0 && fastNow >= timer.state) {
-          timer.state = -1;
-          timer.callback(timer.opaque);
-        }
-        if (timer.state === -1) {
-          timer.state = -2;
-          if (idx !== len - 1) {
-            fastTimers[idx] = fastTimers.pop();
-          } else {
-            fastTimers.pop();
-          }
-          len -= 1;
-        } else {
-          idx += 1;
-        }
-      }
-      if (fastTimers.length > 0) {
-        refreshTimeout();
-      }
-    }
-    function refreshTimeout() {
-      if (fastNowTimeout && fastNowTimeout.refresh) {
-        fastNowTimeout.refresh();
-      } else {
-        clearTimeout(fastNowTimeout);
-        fastNowTimeout = setTimeout(onTimeout, 1e3);
-        if (fastNowTimeout.unref) {
-          fastNowTimeout.unref();
-        }
-      }
-    }
-    var Timeout = class {
-      constructor(callback, delay2, opaque) {
-        this.callback = callback;
-        this.delay = delay2;
-        this.opaque = opaque;
-        this.state = -2;
-        this.refresh();
-      }
-      refresh() {
-        if (this.state === -2) {
-          fastTimers.push(this);
-          if (!fastNowTimeout || fastTimers.length === 1) {
-            refreshTimeout();
-          }
-        }
-        this.state = 0;
-      }
-      clear() {
-        this.state = -1;
-      }
-    };
-    module2.exports = {
-      setTimeout(callback, delay2, opaque) {
-        return delay2 < 1e3 ? setTimeout(callback, delay2, opaque) : new Timeout(callback, delay2, opaque);
-      },
-      clearTimeout(timeout) {
-        if (timeout instanceof Timeout) {
-          timeout.clear();
-        } else {
-          clearTimeout(timeout);
-        }
-      }
+    var diagnosticsChannel = require("node:diagnostics_channel");
+    var util = require("node:util");
+    var undiciDebugLog = util.debuglog("undici");
+    var fetchDebuglog = util.debuglog("fetch");
+    var websocketDebuglog = util.debuglog("websocket");
+    var isClientSet = false;
+    var channels = {
+      // Client
+      beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
+      connected: diagnosticsChannel.channel("undici:client:connected"),
+      connectError: diagnosticsChannel.channel("undici:client:connectError"),
+      sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
+      // Request
+      create: diagnosticsChannel.channel("undici:request:create"),
+      bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
+      headers: diagnosticsChannel.channel("undici:request:headers"),
+      trailers: diagnosticsChannel.channel("undici:request:trailers"),
+      error: diagnosticsChannel.channel("undici:request:error"),
+      // WebSocket
+      open: diagnosticsChannel.channel("undici:websocket:open"),
+      close: diagnosticsChannel.channel("undici:websocket:close"),
+      socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
+      ping: diagnosticsChannel.channel("undici:websocket:ping"),
+      pong: diagnosticsChannel.channel("undici:websocket:pong")
     };
-  }
-});
-
-// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
-  "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    function SBMH(needle) {
-      if (typeof needle === "string") {
-        needle = Buffer.from(needle);
-      }
-      if (!Buffer.isBuffer(needle)) {
-        throw new TypeError("The needle has to be a String or a Buffer.");
-      }
-      const needleLength = needle.length;
-      if (needleLength === 0) {
-        throw new Error("The needle cannot be an empty String/Buffer.");
-      }
-      if (needleLength > 256) {
-        throw new Error("The needle cannot have a length bigger than 256.");
-      }
-      this.maxMatches = Infinity;
-      this.matches = 0;
-      this._occ = new Array(256).fill(needleLength);
-      this._lookbehind_size = 0;
-      this._needle = needle;
-      this._bufpos = 0;
-      this._lookbehind = Buffer.alloc(needleLength);
-      for (var i = 0; i < needleLength - 1; ++i) {
-        this._occ[needle[i]] = needleLength - 1 - i;
-      }
+    if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
+      const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog;
+      diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connecting to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host }
+        } = evt;
+        debuglog(
+          "connected to %s using %s%s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version
+        );
+      });
+      diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+        const {
+          connectParams: { version, protocol, port, host },
+          error: error3
+        } = evt;
+        debuglog(
+          "connection to %s using %s%s errored - %s",
+          `${host}${port ? `:${port}` : ""}`,
+          protocol,
+          version,
+          error3.message
+        );
+      });
+      diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+        const {
+          request: { method, path: path12, origin }
+        } = evt;
+        debuglog("sending request to %s %s/%s", method, origin, path12);
+      });
+      diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
+        const {
+          request: { method, path: path12, origin },
+          response: { statusCode }
+        } = evt;
+        debuglog(
+          "received response to %s %s/%s - HTTP %d",
+          method,
+          origin,
+          path12,
+          statusCode
+        );
+      });
+      diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
+        const {
+          request: { method, path: path12, origin }
+        } = evt;
+        debuglog("trailers received from %s %s/%s", method, origin, path12);
+      });
+      diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
+        const {
+          request: { method, path: path12, origin },
+          error: error3
+        } = evt;
+        debuglog(
+          "request to %s %s/%s errored - %s",
+          method,
+          origin,
+          path12,
+          error3.message
+        );
+      });
+      isClientSet = true;
     }
-    inherits(SBMH, EventEmitter);
-    SBMH.prototype.reset = function() {
-      this._lookbehind_size = 0;
-      this.matches = 0;
-      this._bufpos = 0;
-    };
-    SBMH.prototype.push = function(chunk, pos) {
-      if (!Buffer.isBuffer(chunk)) {
-        chunk = Buffer.from(chunk, "binary");
-      }
-      const chlen = chunk.length;
-      this._bufpos = pos || 0;
-      let r;
-      while (r !== chlen && this.matches < this.maxMatches) {
-        r = this._sbmh_feed(chunk);
-      }
-      return r;
-    };
-    SBMH.prototype._sbmh_feed = function(data) {
-      const len = data.length;
-      const needle = this._needle;
-      const needleLength = needle.length;
-      const lastNeedleChar = needle[needleLength - 1];
-      let pos = -this._lookbehind_size;
-      let ch;
-      if (pos < 0) {
-        while (pos < 0 && pos <= len - needleLength) {
-          ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
-          if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
-            this._lookbehind_size = 0;
-            ++this.matches;
-            this.emit("info", true);
-            return this._bufpos = pos + needleLength;
-          }
-          pos += this._occ[ch];
-        }
-        if (pos < 0) {
-          while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
-            ++pos;
-          }
-        }
-        if (pos >= 0) {
-          this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
-          this._lookbehind_size = 0;
-        } else {
-          const bytesToCutOff = this._lookbehind_size + pos;
-          if (bytesToCutOff > 0) {
-            this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
-          }
-          this._lookbehind.copy(
-            this._lookbehind,
-            0,
-            bytesToCutOff,
-            this._lookbehind_size - bytesToCutOff
+    if (websocketDebuglog.enabled) {
+      if (!isClientSet) {
+        const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog;
+        diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connecting to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
           );
-          this._lookbehind_size -= bytesToCutOff;
-          data.copy(this._lookbehind, this._lookbehind_size);
-          this._lookbehind_size += len;
-          this._bufpos = len;
-          return len;
-        }
-      }
-      pos += (pos >= 0) * this._bufpos;
-      if (data.indexOf(needle, pos) !== -1) {
-        pos = data.indexOf(needle, pos);
-        ++this.matches;
-        if (pos > 0) {
-          this.emit("info", true, data, this._bufpos, pos);
-        } else {
-          this.emit("info", true);
-        }
-        return this._bufpos = pos + needleLength;
-      } else {
-        pos = len - needleLength;
-      }
-      while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
-        data.subarray(pos, pos + len - pos),
-        needle.subarray(0, len - pos)
-      ) !== 0)) {
-        ++pos;
-      }
-      if (pos < len) {
-        data.copy(this._lookbehind, 0, pos, pos + (len - pos));
-        this._lookbehind_size = len - pos;
-      }
-      if (pos > 0) {
-        this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
-      }
-      this._bufpos = len;
-      return len;
-    };
-    SBMH.prototype._sbmh_lookup_char = function(data, pos) {
-      return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
-    };
-    SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
-      for (var i = 0; i < len; ++i) {
-        if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
-          return false;
-        }
+        });
+        diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host }
+          } = evt;
+          debuglog(
+            "connected to %s%s using %s%s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version
+          );
+        });
+        diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
+          const {
+            connectParams: { version, protocol, port, host },
+            error: error3
+          } = evt;
+          debuglog(
+            "connection to %s%s using %s%s errored - %s",
+            host,
+            port ? `:${port}` : "",
+            protocol,
+            version,
+            error3.message
+          );
+        });
+        diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
+          const {
+            request: { method, path: path12, origin }
+          } = evt;
+          debuglog("sending request to %s %s/%s", method, origin, path12);
+        });
       }
-      return true;
-    };
-    module2.exports = SBMH;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) {
-    "use strict";
-    var inherits = require("node:util").inherits;
-    var ReadableStream2 = require("node:stream").Readable;
-    function PartStream(opts) {
-      ReadableStream2.call(this, opts);
+      diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => {
+        const {
+          address: { address, port }
+        } = evt;
+        websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : "");
+      });
+      diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => {
+        const { websocket, code, reason } = evt;
+        websocketDebuglog(
+          "closed connection to %s - %s %s",
+          websocket.url,
+          code,
+          reason
+        );
+      });
+      diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => {
+        websocketDebuglog("connection errored - %s", err.message);
+      });
+      diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => {
+        websocketDebuglog("ping received");
+      });
+      diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => {
+        websocketDebuglog("pong received");
+      });
     }
-    inherits(PartStream, ReadableStream2);
-    PartStream.prototype._read = function(n) {
-    };
-    module2.exports = PartStream;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function getLimit(limits, name, defaultLimit) {
-      if (!limits || limits[name] === void 0 || limits[name] === null) {
-        return defaultLimit;
-      }
-      if (typeof limits[name] !== "number" || isNaN(limits[name])) {
-        throw new TypeError("Limit " + name + " is not a valid number");
-      }
-      return limits[name];
+    module2.exports = {
+      channels
     };
   }
 });
 
-// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/request.js
+var require_request3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/request.js"(exports2, module2) {
     "use strict";
-    var EventEmitter = require("node:events").EventEmitter;
-    var inherits = require("node:util").inherits;
-    var getLimit = require_getLimit();
-    var StreamSearch = require_sbmh();
-    var B_DCRLF = Buffer.from("\r\n\r\n");
-    var RE_CRLF = /\r\n/g;
-    var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
-    function HeaderParser(cfg) {
-      EventEmitter.call(this);
-      cfg = cfg || {};
-      const self2 = this;
-      this.nread = 0;
-      this.maxed = false;
-      this.npairs = 0;
-      this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
-      this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
-      this.buffer = "";
-      this.header = {};
-      this.finished = false;
-      this.ss = new StreamSearch(B_DCRLF);
-      this.ss.on("info", function(isMatch, data, start, end) {
-        if (data && !self2.maxed) {
-          if (self2.nread + end - start >= self2.maxHeaderSize) {
-            end = self2.maxHeaderSize - self2.nread + start;
-            self2.nread = self2.maxHeaderSize;
-            self2.maxed = true;
-          } else {
-            self2.nread += end - start;
-          }
-          self2.buffer += data.toString("binary", start, end);
+    var {
+      InvalidArgumentError,
+      NotSupportedError
+    } = require_errors2();
+    var assert = require("node:assert");
+    var {
+      isValidHTTPToken,
+      isValidHeaderValue,
+      isStream,
+      destroy,
+      isBuffer,
+      isFormDataLike,
+      isIterable,
+      isBlobLike,
+      buildURL,
+      validateHandler,
+      getServerName,
+      normalizedMethodRecords
+    } = require_util9();
+    var { channels } = require_diagnostics2();
+    var { headerNameLowerCasedRecord } = require_constants6();
+    var invalidPathRegex = /[^\u0021-\u00ff]/;
+    var kHandler = /* @__PURE__ */ Symbol("handler");
+    var Request = class {
+      constructor(origin, {
+        path: path12,
+        method,
+        body,
+        headers,
+        query,
+        idempotent,
+        blocking,
+        upgrade,
+        headersTimeout,
+        bodyTimeout,
+        reset,
+        throwOnError,
+        expectContinue,
+        servername
+      }, handler2) {
+        if (typeof path12 !== "string") {
+          throw new InvalidArgumentError("path must be a string");
+        } else if (path12[0] !== "/" && !(path12.startsWith("http://") || path12.startsWith("https://")) && method !== "CONNECT") {
+          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
+        } else if (invalidPathRegex.test(path12)) {
+          throw new InvalidArgumentError("invalid request path");
         }
-        if (isMatch) {
-          self2._finish();
+        if (typeof method !== "string") {
+          throw new InvalidArgumentError("method must be a string");
+        } else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
+          throw new InvalidArgumentError("invalid request method");
         }
-      });
-    }
-    inherits(HeaderParser, EventEmitter);
-    HeaderParser.prototype.push = function(data) {
-      const r = this.ss.push(data);
-      if (this.finished) {
-        return r;
-      }
-    };
-    HeaderParser.prototype.reset = function() {
-      this.finished = false;
-      this.buffer = "";
-      this.header = {};
-      this.ss.reset();
-    };
-    HeaderParser.prototype._finish = function() {
-      if (this.buffer) {
-        this._parseHeader();
-      }
-      this.ss.matches = this.ss.maxMatches;
-      const header = this.header;
-      this.header = {};
-      this.buffer = "";
-      this.finished = true;
-      this.nread = this.npairs = 0;
-      this.maxed = false;
-      this.emit("header", header);
-    };
-    HeaderParser.prototype._parseHeader = function() {
-      if (this.npairs === this.maxHeaderPairs) {
-        return;
-      }
-      const lines = this.buffer.split(RE_CRLF);
-      const len = lines.length;
-      let m, h;
-      for (var i = 0; i < len; ++i) {
-        if (lines[i].length === 0) {
-          continue;
+        if (upgrade && typeof upgrade !== "string") {
+          throw new InvalidArgumentError("upgrade must be a string");
         }
-        if (lines[i][0] === "	" || lines[i][0] === " ") {
-          if (h) {
-            this.header[h][this.header[h].length - 1] += lines[i];
-            continue;
-          }
+        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("invalid headersTimeout");
         }
-        const posColon = lines[i].indexOf(":");
-        if (posColon === -1 || posColon === 0) {
-          return;
+        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("invalid bodyTimeout");
         }
-        m = RE_HDR.exec(lines[i]);
-        h = m[1].toLowerCase();
-        this.header[h] = this.header[h] || [];
-        this.header[h].push(m[2] || "");
-        if (++this.npairs === this.maxHeaderPairs) {
-          break;
+        if (reset != null && typeof reset !== "boolean") {
+          throw new InvalidArgumentError("invalid reset");
         }
-      }
-    };
-    module2.exports = HeaderParser;
-  }
-});
-
-// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
-  "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) {
-    "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var inherits = require("node:util").inherits;
-    var StreamSearch = require_sbmh();
-    var PartStream = require_PartStream();
-    var HeaderParser = require_HeaderParser();
-    var DASH = 45;
-    var B_ONEDASH = Buffer.from("-");
-    var B_CRLF = Buffer.from("\r\n");
-    var EMPTY_FN = function() {
-    };
-    function Dicer(cfg) {
-      if (!(this instanceof Dicer)) {
-        return new Dicer(cfg);
-      }
-      WritableStream.call(this, cfg);
-      if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
-        throw new TypeError("Boundary required");
-      }
-      if (typeof cfg.boundary === "string") {
-        this.setBoundary(cfg.boundary);
-      } else {
-        this._bparser = void 0;
-      }
-      this._headerFirst = cfg.headerFirst;
-      this._dashes = 0;
-      this._parts = 0;
-      this._finished = false;
-      this._realFinish = false;
-      this._isPreamble = true;
-      this._justMatched = false;
-      this._firstWrite = true;
-      this._inHeader = true;
-      this._part = void 0;
-      this._cb = void 0;
-      this._ignoreData = false;
-      this._partOpts = { highWaterMark: cfg.partHwm };
-      this._pause = false;
-      const self2 = this;
-      this._hparser = new HeaderParser(cfg);
-      this._hparser.on("header", function(header) {
-        self2._inHeader = false;
-        self2._part.emit("header", header);
-      });
-    }
-    inherits(Dicer, WritableStream);
-    Dicer.prototype.emit = function(ev) {
-      if (ev === "finish" && !this._realFinish) {
-        if (!this._finished) {
-          const self2 = this;
-          process.nextTick(function() {
-            self2.emit("error", new Error("Unexpected end of multipart data"));
-            if (self2._part && !self2._ignoreData) {
-              const type2 = self2._isPreamble ? "Preamble" : "Part";
-              self2._part.emit("error", new Error(type2 + " terminated early due to unexpected end of multipart data"));
-              self2._part.push(null);
-              process.nextTick(function() {
-                self2._realFinish = true;
-                self2.emit("finish");
-                self2._realFinish = false;
-              });
-              return;
-            }
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
-          });
+        if (expectContinue != null && typeof expectContinue !== "boolean") {
+          throw new InvalidArgumentError("invalid expectContinue");
         }
-      } else {
-        WritableStream.prototype.emit.apply(this, arguments);
-      }
-    };
-    Dicer.prototype._write = function(data, encoding, cb) {
-      if (!this._hparser && !this._bparser) {
-        return cb();
-      }
-      if (this._headerFirst && this._isPreamble) {
-        if (!this._part) {
-          this._part = new PartStream(this._partOpts);
-          if (this.listenerCount("preamble") !== 0) {
-            this.emit("preamble", this._part);
-          } else {
-            this._ignore();
+        this.headersTimeout = headersTimeout;
+        this.bodyTimeout = bodyTimeout;
+        this.throwOnError = throwOnError === true;
+        this.method = method;
+        this.abort = null;
+        if (body == null) {
+          this.body = null;
+        } else if (isStream(body)) {
+          this.body = body;
+          const rState = this.body._readableState;
+          if (!rState || !rState.autoDestroy) {
+            this.endHandler = function autoDestroy() {
+              destroy(this);
+            };
+            this.body.on("end", this.endHandler);
           }
-        }
-        const r = this._hparser.push(data);
-        if (!this._inHeader && r !== void 0 && r < data.length) {
-          data = data.slice(r);
+          this.errorHandler = (err) => {
+            if (this.abort) {
+              this.abort(err);
+            } else {
+              this.error = err;
+            }
+          };
+          this.body.on("error", this.errorHandler);
+        } else if (isBuffer(body)) {
+          this.body = body.byteLength ? body : null;
+        } else if (ArrayBuffer.isView(body)) {
+          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
+        } else if (body instanceof ArrayBuffer) {
+          this.body = body.byteLength ? Buffer.from(body) : null;
+        } else if (typeof body === "string") {
+          this.body = body.length ? Buffer.from(body) : null;
+        } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
+          this.body = body;
         } else {
-          return cb();
+          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
         }
-      }
-      if (this._firstWrite) {
-        this._bparser.push(B_CRLF);
-        this._firstWrite = false;
-      }
-      this._bparser.push(data);
-      if (this._pause) {
-        this._cb = cb;
-      } else {
-        cb();
-      }
-    };
-    Dicer.prototype.reset = function() {
-      this._part = void 0;
-      this._bparser = void 0;
-      this._hparser = void 0;
-    };
-    Dicer.prototype.setBoundary = function(boundary) {
-      const self2 = this;
-      this._bparser = new StreamSearch("\r\n--" + boundary);
-      this._bparser.on("info", function(isMatch, data, start, end) {
-        self2._oninfo(isMatch, data, start, end);
-      });
-    };
-    Dicer.prototype._ignore = function() {
-      if (this._part && !this._ignoreData) {
-        this._ignoreData = true;
-        this._part.on("error", EMPTY_FN);
-        this._part.resume();
-      }
-    };
-    Dicer.prototype._oninfo = function(isMatch, data, start, end) {
-      let buf;
-      const self2 = this;
-      let i = 0;
-      let r;
-      let shouldWriteMore = true;
-      if (!this._part && this._justMatched && data) {
-        while (this._dashes < 2 && start + i < end) {
-          if (data[start + i] === DASH) {
-            ++i;
-            ++this._dashes;
-          } else {
-            if (this._dashes) {
-              buf = B_ONEDASH;
-            }
-            this._dashes = 0;
-            break;
+        this.completed = false;
+        this.aborted = false;
+        this.upgrade = upgrade || null;
+        this.path = query ? buildURL(path12, query) : path12;
+        this.origin = origin;
+        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
+        this.blocking = blocking == null ? false : blocking;
+        this.reset = reset == null ? null : reset;
+        this.host = null;
+        this.contentLength = null;
+        this.contentType = null;
+        this.headers = [];
+        this.expectContinue = expectContinue != null ? expectContinue : false;
+        if (Array.isArray(headers)) {
+          if (headers.length % 2 !== 0) {
+            throw new InvalidArgumentError("headers array must be even");
           }
-        }
-        if (this._dashes === 2) {
-          if (start + i < end && this.listenerCount("trailer") !== 0) {
-            this.emit("trailer", data.slice(start + i, end));
+          for (let i = 0; i < headers.length; i += 2) {
+            processHeader(this, headers[i], headers[i + 1]);
           }
-          this.reset();
-          this._finished = true;
-          if (self2._parts === 0) {
-            self2._realFinish = true;
-            self2.emit("finish");
-            self2._realFinish = false;
+        } else if (headers && typeof headers === "object") {
+          if (headers[Symbol.iterator]) {
+            for (const header of headers) {
+              if (!Array.isArray(header) || header.length !== 2) {
+                throw new InvalidArgumentError("headers must be in key-value pair format");
+              }
+              processHeader(this, header[0], header[1]);
+            }
+          } else {
+            const keys = Object.keys(headers);
+            for (let i = 0; i < keys.length; ++i) {
+              processHeader(this, keys[i], headers[keys[i]]);
+            }
           }
+        } else if (headers != null) {
+          throw new InvalidArgumentError("headers must be an object or an array");
         }
-        if (this._dashes) {
-          return;
+        validateHandler(handler2, method, upgrade);
+        this.servername = servername || getServerName(this.host);
+        this[kHandler] = handler2;
+        if (channels.create.hasSubscribers) {
+          channels.create.publish({ request: this });
         }
       }
-      if (this._justMatched) {
-        this._justMatched = false;
+      onBodySent(chunk) {
+        if (this[kHandler].onBodySent) {
+          try {
+            return this[kHandler].onBodySent(chunk);
+          } catch (err) {
+            this.abort(err);
+          }
+        }
       }
-      if (!this._part) {
-        this._part = new PartStream(this._partOpts);
-        this._part._read = function(n) {
-          self2._unpause();
-        };
-        if (this._isPreamble && this.listenerCount("preamble") !== 0) {
-          this.emit("preamble", this._part);
-        } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) {
-          this.emit("part", this._part);
-        } else {
-          this._ignore();
-        }
-        if (!this._isPreamble) {
-          this._inHeader = true;
+      onRequestSent() {
+        if (channels.bodySent.hasSubscribers) {
+          channels.bodySent.publish({ request: this });
         }
-      }
-      if (data && start < end && !this._ignoreData) {
-        if (this._isPreamble || !this._inHeader) {
-          if (buf) {
-            shouldWriteMore = this._part.push(buf);
-          }
-          shouldWriteMore = this._part.push(data.slice(start, end));
-          if (!shouldWriteMore) {
-            this._pause = true;
-          }
-        } else if (!this._isPreamble && this._inHeader) {
-          if (buf) {
-            this._hparser.push(buf);
-          }
-          r = this._hparser.push(data.slice(start, end));
-          if (!this._inHeader && r !== void 0 && r < end) {
-            this._oninfo(false, data, start + r, end);
+        if (this[kHandler].onRequestSent) {
+          try {
+            return this[kHandler].onRequestSent();
+          } catch (err) {
+            this.abort(err);
           }
         }
       }
-      if (isMatch) {
-        this._hparser.reset();
-        if (this._isPreamble) {
-          this._isPreamble = false;
+      onConnect(abort) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (this.error) {
+          abort(this.error);
         } else {
-          if (start !== end) {
-            ++this._parts;
-            this._part.on("end", function() {
-              if (--self2._parts === 0) {
-                if (self2._finished) {
-                  self2._realFinish = true;
-                  self2.emit("finish");
-                  self2._realFinish = false;
-                } else {
-                  self2._unpause();
-                }
-              }
-            });
-          }
+          this.abort = abort;
+          return this[kHandler].onConnect(abort);
         }
-        this._part.push(null);
-        this._part = void 0;
-        this._ignoreData = false;
-        this._justMatched = true;
-        this._dashes = 0;
-      }
-    };
-    Dicer.prototype._unpause = function() {
-      if (!this._pause) {
-        return;
       }
-      this._pause = false;
-      if (this._cb) {
-        const cb = this._cb;
-        this._cb = void 0;
-        cb();
-      }
-    };
-    module2.exports = Dicer;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) {
-    "use strict";
-    var utf8Decoder = new TextDecoder("utf-8");
-    var textDecoders = /* @__PURE__ */ new Map([
-      ["utf-8", utf8Decoder],
-      ["utf8", utf8Decoder]
-    ]);
-    function getDecoder(charset) {
-      let lc;
-      while (true) {
-        switch (charset) {
-          case "utf-8":
-          case "utf8":
-            return decoders.utf8;
-          case "latin1":
-          case "ascii":
-          // TODO: Make these a separate, strict decoder?
-          case "us-ascii":
-          case "iso-8859-1":
-          case "iso8859-1":
-          case "iso88591":
-          case "iso_8859-1":
-          case "windows-1252":
-          case "iso_8859-1:1987":
-          case "cp1252":
-          case "x-cp1252":
-            return decoders.latin1;
-          case "utf16le":
-          case "utf-16le":
-          case "ucs2":
-          case "ucs-2":
-            return decoders.utf16le;
-          case "base64":
-            return decoders.base64;
-          default:
-            if (lc === void 0) {
-              lc = true;
-              charset = charset.toLowerCase();
-              continue;
-            }
-            return decoders.other.bind(charset);
-        }
+      onResponseStarted() {
+        return this[kHandler].onResponseStarted?.();
       }
-    }
-    var decoders = {
-      utf8: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
-        }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
-        }
-        return data.utf8Slice(0, data.length);
-      },
-      latin1: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      onHeaders(statusCode, headers, resume, statusText) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        if (channels.headers.hasSubscribers) {
+          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
         }
-        if (typeof data === "string") {
-          return data;
+        try {
+          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
+        } catch (err) {
+          this.abort(err);
         }
-        return data.latin1Slice(0, data.length);
-      },
-      utf16le: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+      }
+      onData(chunk) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        try {
+          return this[kHandler].onData(chunk);
+        } catch (err) {
+          this.abort(err);
+          return false;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onUpgrade(statusCode, headers, socket) {
+        assert(!this.aborted);
+        assert(!this.completed);
+        return this[kHandler].onUpgrade(statusCode, headers, socket);
+      }
+      onComplete(trailers) {
+        this.onFinally();
+        assert(!this.aborted);
+        this.completed = true;
+        if (channels.trailers.hasSubscribers) {
+          channels.trailers.publish({ request: this, trailers });
         }
-        return data.ucs2Slice(0, data.length);
-      },
-      base64: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        try {
+          return this[kHandler].onComplete(trailers);
+        } catch (err) {
+          this.onError(err);
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+      }
+      onError(error3) {
+        this.onFinally();
+        if (channels.error.hasSubscribers) {
+          channels.error.publish({ request: this, error: error3 });
         }
-        return data.base64Slice(0, data.length);
-      },
-      other: (data, sourceEncoding) => {
-        if (data.length === 0) {
-          return "";
+        if (this.aborted) {
+          return;
         }
-        if (typeof data === "string") {
-          data = Buffer.from(data, sourceEncoding);
+        this.aborted = true;
+        return this[kHandler].onError(error3);
+      }
+      onFinally() {
+        if (this.errorHandler) {
+          this.body.off("error", this.errorHandler);
+          this.errorHandler = null;
         }
-        if (textDecoders.has(exports2.toString())) {
-          try {
-            return textDecoders.get(exports2).decode(data);
-          } catch {
-          }
+        if (this.endHandler) {
+          this.body.off("end", this.endHandler);
+          this.endHandler = null;
         }
-        return typeof data === "string" ? data : data.toString();
+      }
+      addHeader(key, value) {
+        processHeader(this, key, value);
+        return this;
       }
     };
-    function decodeText(text, sourceEncoding, destEncoding) {
-      if (text) {
-        return getDecoder(destEncoding)(text, sourceEncoding);
+    function processHeader(request2, key, val) {
+      if (val && (typeof val === "object" && !Array.isArray(val))) {
+        throw new InvalidArgumentError(`invalid ${key} header`);
+      } else if (val === void 0) {
+        return;
       }
-      return text;
-    }
-    module2.exports = decodeText;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) {
-    "use strict";
-    var decodeText = require_decodeText();
-    var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
-    var EncodedLookup = {
-      "%00": "\0",
-      "%01": "",
-      "%02": "",
-      "%03": "",
-      "%04": "",
-      "%05": "",
-      "%06": "",
-      "%07": "\x07",
-      "%08": "\b",
-      "%09": "	",
-      "%0a": "\n",
-      "%0A": "\n",
-      "%0b": "\v",
-      "%0B": "\v",
-      "%0c": "\f",
-      "%0C": "\f",
-      "%0d": "\r",
-      "%0D": "\r",
-      "%0e": "",
-      "%0E": "",
-      "%0f": "",
-      "%0F": "",
-      "%10": "",
-      "%11": "",
-      "%12": "",
-      "%13": "",
-      "%14": "",
-      "%15": "",
-      "%16": "",
-      "%17": "",
-      "%18": "",
-      "%19": "",
-      "%1a": "",
-      "%1A": "",
-      "%1b": "\x1B",
-      "%1B": "\x1B",
-      "%1c": "",
-      "%1C": "",
-      "%1d": "",
-      "%1D": "",
-      "%1e": "",
-      "%1E": "",
-      "%1f": "",
-      "%1F": "",
-      "%20": " ",
-      "%21": "!",
-      "%22": '"',
-      "%23": "#",
-      "%24": "$",
-      "%25": "%",
-      "%26": "&",
-      "%27": "'",
-      "%28": "(",
-      "%29": ")",
-      "%2a": "*",
-      "%2A": "*",
-      "%2b": "+",
-      "%2B": "+",
-      "%2c": ",",
-      "%2C": ",",
-      "%2d": "-",
-      "%2D": "-",
-      "%2e": ".",
-      "%2E": ".",
-      "%2f": "/",
-      "%2F": "/",
-      "%30": "0",
-      "%31": "1",
-      "%32": "2",
-      "%33": "3",
-      "%34": "4",
-      "%35": "5",
-      "%36": "6",
-      "%37": "7",
-      "%38": "8",
-      "%39": "9",
-      "%3a": ":",
-      "%3A": ":",
-      "%3b": ";",
-      "%3B": ";",
-      "%3c": "<",
-      "%3C": "<",
-      "%3d": "=",
-      "%3D": "=",
-      "%3e": ">",
-      "%3E": ">",
-      "%3f": "?",
-      "%3F": "?",
-      "%40": "@",
-      "%41": "A",
-      "%42": "B",
-      "%43": "C",
-      "%44": "D",
-      "%45": "E",
-      "%46": "F",
-      "%47": "G",
-      "%48": "H",
-      "%49": "I",
-      "%4a": "J",
-      "%4A": "J",
-      "%4b": "K",
-      "%4B": "K",
-      "%4c": "L",
-      "%4C": "L",
-      "%4d": "M",
-      "%4D": "M",
-      "%4e": "N",
-      "%4E": "N",
-      "%4f": "O",
-      "%4F": "O",
-      "%50": "P",
-      "%51": "Q",
-      "%52": "R",
-      "%53": "S",
-      "%54": "T",
-      "%55": "U",
-      "%56": "V",
-      "%57": "W",
-      "%58": "X",
-      "%59": "Y",
-      "%5a": "Z",
-      "%5A": "Z",
-      "%5b": "[",
-      "%5B": "[",
-      "%5c": "\\",
-      "%5C": "\\",
-      "%5d": "]",
-      "%5D": "]",
-      "%5e": "^",
-      "%5E": "^",
-      "%5f": "_",
-      "%5F": "_",
-      "%60": "`",
-      "%61": "a",
-      "%62": "b",
-      "%63": "c",
-      "%64": "d",
-      "%65": "e",
-      "%66": "f",
-      "%67": "g",
-      "%68": "h",
-      "%69": "i",
-      "%6a": "j",
-      "%6A": "j",
-      "%6b": "k",
-      "%6B": "k",
-      "%6c": "l",
-      "%6C": "l",
-      "%6d": "m",
-      "%6D": "m",
-      "%6e": "n",
-      "%6E": "n",
-      "%6f": "o",
-      "%6F": "o",
-      "%70": "p",
-      "%71": "q",
-      "%72": "r",
-      "%73": "s",
-      "%74": "t",
-      "%75": "u",
-      "%76": "v",
-      "%77": "w",
-      "%78": "x",
-      "%79": "y",
-      "%7a": "z",
-      "%7A": "z",
-      "%7b": "{",
-      "%7B": "{",
-      "%7c": "|",
-      "%7C": "|",
-      "%7d": "}",
-      "%7D": "}",
-      "%7e": "~",
-      "%7E": "~",
-      "%7f": "\x7F",
-      "%7F": "\x7F",
-      "%80": "\x80",
-      "%81": "\x81",
-      "%82": "\x82",
-      "%83": "\x83",
-      "%84": "\x84",
-      "%85": "\x85",
-      "%86": "\x86",
-      "%87": "\x87",
-      "%88": "\x88",
-      "%89": "\x89",
-      "%8a": "\x8A",
-      "%8A": "\x8A",
-      "%8b": "\x8B",
-      "%8B": "\x8B",
-      "%8c": "\x8C",
-      "%8C": "\x8C",
-      "%8d": "\x8D",
-      "%8D": "\x8D",
-      "%8e": "\x8E",
-      "%8E": "\x8E",
-      "%8f": "\x8F",
-      "%8F": "\x8F",
-      "%90": "\x90",
-      "%91": "\x91",
-      "%92": "\x92",
-      "%93": "\x93",
-      "%94": "\x94",
-      "%95": "\x95",
-      "%96": "\x96",
-      "%97": "\x97",
-      "%98": "\x98",
-      "%99": "\x99",
-      "%9a": "\x9A",
-      "%9A": "\x9A",
-      "%9b": "\x9B",
-      "%9B": "\x9B",
-      "%9c": "\x9C",
-      "%9C": "\x9C",
-      "%9d": "\x9D",
-      "%9D": "\x9D",
-      "%9e": "\x9E",
-      "%9E": "\x9E",
-      "%9f": "\x9F",
-      "%9F": "\x9F",
-      "%a0": "\xA0",
-      "%A0": "\xA0",
-      "%a1": "\xA1",
-      "%A1": "\xA1",
-      "%a2": "\xA2",
-      "%A2": "\xA2",
-      "%a3": "\xA3",
-      "%A3": "\xA3",
-      "%a4": "\xA4",
-      "%A4": "\xA4",
-      "%a5": "\xA5",
-      "%A5": "\xA5",
-      "%a6": "\xA6",
-      "%A6": "\xA6",
-      "%a7": "\xA7",
-      "%A7": "\xA7",
-      "%a8": "\xA8",
-      "%A8": "\xA8",
-      "%a9": "\xA9",
-      "%A9": "\xA9",
-      "%aa": "\xAA",
-      "%Aa": "\xAA",
-      "%aA": "\xAA",
-      "%AA": "\xAA",
-      "%ab": "\xAB",
-      "%Ab": "\xAB",
-      "%aB": "\xAB",
-      "%AB": "\xAB",
-      "%ac": "\xAC",
-      "%Ac": "\xAC",
-      "%aC": "\xAC",
-      "%AC": "\xAC",
-      "%ad": "\xAD",
-      "%Ad": "\xAD",
-      "%aD": "\xAD",
-      "%AD": "\xAD",
-      "%ae": "\xAE",
-      "%Ae": "\xAE",
-      "%aE": "\xAE",
-      "%AE": "\xAE",
-      "%af": "\xAF",
-      "%Af": "\xAF",
-      "%aF": "\xAF",
-      "%AF": "\xAF",
-      "%b0": "\xB0",
-      "%B0": "\xB0",
-      "%b1": "\xB1",
-      "%B1": "\xB1",
-      "%b2": "\xB2",
-      "%B2": "\xB2",
-      "%b3": "\xB3",
-      "%B3": "\xB3",
-      "%b4": "\xB4",
-      "%B4": "\xB4",
-      "%b5": "\xB5",
-      "%B5": "\xB5",
-      "%b6": "\xB6",
-      "%B6": "\xB6",
-      "%b7": "\xB7",
-      "%B7": "\xB7",
-      "%b8": "\xB8",
-      "%B8": "\xB8",
-      "%b9": "\xB9",
-      "%B9": "\xB9",
-      "%ba": "\xBA",
-      "%Ba": "\xBA",
-      "%bA": "\xBA",
-      "%BA": "\xBA",
-      "%bb": "\xBB",
-      "%Bb": "\xBB",
-      "%bB": "\xBB",
-      "%BB": "\xBB",
-      "%bc": "\xBC",
-      "%Bc": "\xBC",
-      "%bC": "\xBC",
-      "%BC": "\xBC",
-      "%bd": "\xBD",
-      "%Bd": "\xBD",
-      "%bD": "\xBD",
-      "%BD": "\xBD",
-      "%be": "\xBE",
-      "%Be": "\xBE",
-      "%bE": "\xBE",
-      "%BE": "\xBE",
-      "%bf": "\xBF",
-      "%Bf": "\xBF",
-      "%bF": "\xBF",
-      "%BF": "\xBF",
-      "%c0": "\xC0",
-      "%C0": "\xC0",
-      "%c1": "\xC1",
-      "%C1": "\xC1",
-      "%c2": "\xC2",
-      "%C2": "\xC2",
-      "%c3": "\xC3",
-      "%C3": "\xC3",
-      "%c4": "\xC4",
-      "%C4": "\xC4",
-      "%c5": "\xC5",
-      "%C5": "\xC5",
-      "%c6": "\xC6",
-      "%C6": "\xC6",
-      "%c7": "\xC7",
-      "%C7": "\xC7",
-      "%c8": "\xC8",
-      "%C8": "\xC8",
-      "%c9": "\xC9",
-      "%C9": "\xC9",
-      "%ca": "\xCA",
-      "%Ca": "\xCA",
-      "%cA": "\xCA",
-      "%CA": "\xCA",
-      "%cb": "\xCB",
-      "%Cb": "\xCB",
-      "%cB": "\xCB",
-      "%CB": "\xCB",
-      "%cc": "\xCC",
-      "%Cc": "\xCC",
-      "%cC": "\xCC",
-      "%CC": "\xCC",
-      "%cd": "\xCD",
-      "%Cd": "\xCD",
-      "%cD": "\xCD",
-      "%CD": "\xCD",
-      "%ce": "\xCE",
-      "%Ce": "\xCE",
-      "%cE": "\xCE",
-      "%CE": "\xCE",
-      "%cf": "\xCF",
-      "%Cf": "\xCF",
-      "%cF": "\xCF",
-      "%CF": "\xCF",
-      "%d0": "\xD0",
-      "%D0": "\xD0",
-      "%d1": "\xD1",
-      "%D1": "\xD1",
-      "%d2": "\xD2",
-      "%D2": "\xD2",
-      "%d3": "\xD3",
-      "%D3": "\xD3",
-      "%d4": "\xD4",
-      "%D4": "\xD4",
-      "%d5": "\xD5",
-      "%D5": "\xD5",
-      "%d6": "\xD6",
-      "%D6": "\xD6",
-      "%d7": "\xD7",
-      "%D7": "\xD7",
-      "%d8": "\xD8",
-      "%D8": "\xD8",
-      "%d9": "\xD9",
-      "%D9": "\xD9",
-      "%da": "\xDA",
-      "%Da": "\xDA",
-      "%dA": "\xDA",
-      "%DA": "\xDA",
-      "%db": "\xDB",
-      "%Db": "\xDB",
-      "%dB": "\xDB",
-      "%DB": "\xDB",
-      "%dc": "\xDC",
-      "%Dc": "\xDC",
-      "%dC": "\xDC",
-      "%DC": "\xDC",
-      "%dd": "\xDD",
-      "%Dd": "\xDD",
-      "%dD": "\xDD",
-      "%DD": "\xDD",
-      "%de": "\xDE",
-      "%De": "\xDE",
-      "%dE": "\xDE",
-      "%DE": "\xDE",
-      "%df": "\xDF",
-      "%Df": "\xDF",
-      "%dF": "\xDF",
-      "%DF": "\xDF",
-      "%e0": "\xE0",
-      "%E0": "\xE0",
-      "%e1": "\xE1",
-      "%E1": "\xE1",
-      "%e2": "\xE2",
-      "%E2": "\xE2",
-      "%e3": "\xE3",
-      "%E3": "\xE3",
-      "%e4": "\xE4",
-      "%E4": "\xE4",
-      "%e5": "\xE5",
-      "%E5": "\xE5",
-      "%e6": "\xE6",
-      "%E6": "\xE6",
-      "%e7": "\xE7",
-      "%E7": "\xE7",
-      "%e8": "\xE8",
-      "%E8": "\xE8",
-      "%e9": "\xE9",
-      "%E9": "\xE9",
-      "%ea": "\xEA",
-      "%Ea": "\xEA",
-      "%eA": "\xEA",
-      "%EA": "\xEA",
-      "%eb": "\xEB",
-      "%Eb": "\xEB",
-      "%eB": "\xEB",
-      "%EB": "\xEB",
-      "%ec": "\xEC",
-      "%Ec": "\xEC",
-      "%eC": "\xEC",
-      "%EC": "\xEC",
-      "%ed": "\xED",
-      "%Ed": "\xED",
-      "%eD": "\xED",
-      "%ED": "\xED",
-      "%ee": "\xEE",
-      "%Ee": "\xEE",
-      "%eE": "\xEE",
-      "%EE": "\xEE",
-      "%ef": "\xEF",
-      "%Ef": "\xEF",
-      "%eF": "\xEF",
-      "%EF": "\xEF",
-      "%f0": "\xF0",
-      "%F0": "\xF0",
-      "%f1": "\xF1",
-      "%F1": "\xF1",
-      "%f2": "\xF2",
-      "%F2": "\xF2",
-      "%f3": "\xF3",
-      "%F3": "\xF3",
-      "%f4": "\xF4",
-      "%F4": "\xF4",
-      "%f5": "\xF5",
-      "%F5": "\xF5",
-      "%f6": "\xF6",
-      "%F6": "\xF6",
-      "%f7": "\xF7",
-      "%F7": "\xF7",
-      "%f8": "\xF8",
-      "%F8": "\xF8",
-      "%f9": "\xF9",
-      "%F9": "\xF9",
-      "%fa": "\xFA",
-      "%Fa": "\xFA",
-      "%fA": "\xFA",
-      "%FA": "\xFA",
-      "%fb": "\xFB",
-      "%Fb": "\xFB",
-      "%fB": "\xFB",
-      "%FB": "\xFB",
-      "%fc": "\xFC",
-      "%Fc": "\xFC",
-      "%fC": "\xFC",
-      "%FC": "\xFC",
-      "%fd": "\xFD",
-      "%Fd": "\xFD",
-      "%fD": "\xFD",
-      "%FD": "\xFD",
-      "%fe": "\xFE",
-      "%Fe": "\xFE",
-      "%fE": "\xFE",
-      "%FE": "\xFE",
-      "%ff": "\xFF",
-      "%Ff": "\xFF",
-      "%fF": "\xFF",
-      "%FF": "\xFF"
-    };
-    function encodedReplacer(match) {
-      return EncodedLookup[match];
-    }
-    var STATE_KEY = 0;
-    var STATE_VALUE = 1;
-    var STATE_CHARSET = 2;
-    var STATE_LANG = 3;
-    function parseParams(str2) {
-      const res = [];
-      let state = STATE_KEY;
-      let charset = "";
-      let inquote = false;
-      let escaping = false;
-      let p = 0;
-      let tmp = "";
-      const len = str2.length;
-      for (var i = 0; i < len; ++i) {
-        const char = str2[i];
-        if (char === "\\" && inquote) {
-          if (escaping) {
-            escaping = false;
-          } else {
-            escaping = true;
-            continue;
-          }
-        } else if (char === '"') {
-          if (!escaping) {
-            if (inquote) {
-              inquote = false;
-              state = STATE_KEY;
-            } else {
-              inquote = true;
+      let headerName = headerNameLowerCasedRecord[key];
+      if (headerName === void 0) {
+        headerName = key.toLowerCase();
+        if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
+          throw new InvalidArgumentError("invalid header key");
+        }
+      }
+      if (Array.isArray(val)) {
+        const arr = [];
+        for (let i = 0; i < val.length; i++) {
+          if (typeof val[i] === "string") {
+            if (!isValidHeaderValue(val[i])) {
+              throw new InvalidArgumentError(`invalid ${key} header`);
             }
-            continue;
+            arr.push(val[i]);
+          } else if (val[i] === null) {
+            arr.push("");
+          } else if (typeof val[i] === "object") {
+            throw new InvalidArgumentError(`invalid ${key} header`);
           } else {
-            escaping = false;
-          }
-        } else {
-          if (escaping && inquote) {
-            tmp += "\\";
-          }
-          escaping = false;
-          if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
-            if (state === STATE_CHARSET) {
-              state = STATE_LANG;
-              charset = tmp.substring(1);
-            } else {
-              state = STATE_VALUE;
-            }
-            tmp = "";
-            continue;
-          } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
-            state = char === "*" ? STATE_CHARSET : STATE_VALUE;
-            res[p] = [tmp, void 0];
-            tmp = "";
-            continue;
-          } else if (!inquote && char === ";") {
-            state = STATE_KEY;
-            if (charset) {
-              if (tmp.length) {
-                tmp = decodeText(
-                  tmp.replace(RE_ENCODED, encodedReplacer),
-                  "binary",
-                  charset
-                );
-              }
-              charset = "";
-            } else if (tmp.length) {
-              tmp = decodeText(tmp, "binary", "utf8");
-            }
-            if (res[p] === void 0) {
-              res[p] = tmp;
-            } else {
-              res[p][1] = tmp;
-            }
-            tmp = "";
-            ++p;
-            continue;
-          } else if (!inquote && (char === " " || char === "	")) {
-            continue;
+            arr.push(`${val[i]}`);
           }
         }
-        tmp += char;
-      }
-      if (charset && tmp.length) {
-        tmp = decodeText(
-          tmp.replace(RE_ENCODED, encodedReplacer),
-          "binary",
-          charset
-        );
-      } else if (tmp) {
-        tmp = decodeText(tmp, "binary", "utf8");
-      }
-      if (res[p] === void 0) {
-        if (tmp) {
-          res[p] = tmp;
+        val = arr;
+      } else if (typeof val === "string") {
+        if (!isValidHeaderValue(val)) {
+          throw new InvalidArgumentError(`invalid ${key} header`);
         }
+      } else if (val === null) {
+        val = "";
       } else {
-        res[p][1] = tmp;
-      }
-      return res;
-    }
-    module2.exports = parseParams;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) {
-    "use strict";
-    module2.exports = function basename(path12) {
-      if (typeof path12 !== "string") {
-        return "";
+        val = `${val}`;
       }
-      for (var i = path12.length - 1; i >= 0; --i) {
-        switch (path12.charCodeAt(i)) {
-          case 47:
-          // '/'
-          case 92:
-            path12 = path12.slice(i + 1);
-            return path12 === ".." || path12 === "." ? "" : path12;
+      if (request2.host === null && headerName === "host") {
+        if (typeof val !== "string") {
+          throw new InvalidArgumentError("invalid host header");
         }
-      }
-      return path12 === ".." || path12 === "." ? "" : path12;
-    };
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) {
-    "use strict";
-    var { Readable: Readable2 } = require("node:stream");
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var parseParams = require_parseParams();
-    var decodeText = require_decodeText();
-    var basename = require_basename();
-    var getLimit = require_getLimit();
-    var RE_BOUNDARY = /^boundary$/i;
-    var RE_FIELD = /^form-data$/i;
-    var RE_CHARSET = /^charset$/i;
-    var RE_FILENAME = /^filename$/i;
-    var RE_NAME = /^name$/i;
-    Multipart.detect = /^multipart\/form-data/i;
-    function Multipart(boy, cfg) {
-      let i;
-      let len;
-      const self2 = this;
-      let boundary;
-      const limits = cfg.limits;
-      const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
-      const parsedConType = cfg.parsedConType || [];
-      const defCharset = cfg.defCharset || "utf8";
-      const preservePath = cfg.preservePath;
-      const fileOpts = { highWaterMark: cfg.fileHwm };
-      for (i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
-          boundary = parsedConType[i][1];
-          break;
+        request2.host = val;
+      } else if (request2.contentLength === null && headerName === "content-length") {
+        request2.contentLength = parseInt(val, 10);
+        if (!Number.isFinite(request2.contentLength)) {
+          throw new InvalidArgumentError("invalid content-length header");
         }
-      }
-      function checkFinished() {
-        if (nends === 0 && finished && !boy._done) {
-          finished = false;
-          self2.end();
+      } else if (request2.contentType === null && headerName === "content-type") {
+        request2.contentType = val;
+        request2.headers.push(key, val);
+      } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
+        throw new InvalidArgumentError(`invalid ${headerName} header`);
+      } else if (headerName === "connection") {
+        const value = typeof val === "string" ? val.toLowerCase() : null;
+        if (value !== "close" && value !== "keep-alive") {
+          throw new InvalidArgumentError("invalid connection header");
         }
-      }
-      if (typeof boundary !== "string") {
-        throw new Error("Multipart: Boundary not found");
-      }
-      const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
-      const filesLimit = getLimit(limits, "files", Infinity);
-      const fieldsLimit = getLimit(limits, "fields", Infinity);
-      const partsLimit = getLimit(limits, "parts", Infinity);
-      const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
-      const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
-      let nfiles = 0;
-      let nfields = 0;
-      let nends = 0;
-      let curFile;
-      let curField;
-      let finished = false;
-      this._needDrain = false;
-      this._pause = false;
-      this._cb = void 0;
-      this._nparts = 0;
-      this._boy = boy;
-      const parserCfg = {
-        boundary,
-        maxHeaderPairs: headerPairsLimit,
-        maxHeaderSize: headerSizeLimit,
-        partHwm: fileOpts.highWaterMark,
-        highWaterMark: cfg.highWaterMark
-      };
-      this.parser = new Dicer(parserCfg);
-      this.parser.on("drain", function() {
-        self2._needDrain = false;
-        if (self2._cb && !self2._pause) {
-          const cb = self2._cb;
-          self2._cb = void 0;
-          cb();
+        if (value === "close") {
+          request2.reset = true;
         }
-      }).on("part", function onPart(part) {
-        if (++self2._nparts > partsLimit) {
-          self2.parser.removeListener("part", onPart);
-          self2.parser.on("part", skipPart);
-          boy.hitPartsLimit = true;
-          boy.emit("partsLimit");
-          return skipPart(part);
-        }
-        if (curField) {
-          const field = curField;
-          field.emit("end");
-          field.removeAllListeners("end");
-        }
-        part.on("header", function(header) {
-          let contype;
-          let fieldname;
-          let parsed;
-          let charset;
-          let encoding;
-          let filename;
-          let nsize = 0;
-          if (header["content-type"]) {
-            parsed = parseParams(header["content-type"][0]);
-            if (parsed[0]) {
-              contype = parsed[0].toLowerCase();
-              for (i = 0, len = parsed.length; i < len; ++i) {
-                if (RE_CHARSET.test(parsed[i][0])) {
-                  charset = parsed[i][1].toLowerCase();
-                  break;
-                }
-              }
-            }
-          }
-          if (contype === void 0) {
-            contype = "text/plain";
-          }
-          if (charset === void 0) {
-            charset = defCharset;
-          }
-          if (header["content-disposition"]) {
-            parsed = parseParams(header["content-disposition"][0]);
-            if (!RE_FIELD.test(parsed[0])) {
-              return skipPart(part);
-            }
-            for (i = 0, len = parsed.length; i < len; ++i) {
-              if (RE_NAME.test(parsed[i][0])) {
-                fieldname = parsed[i][1];
-              } else if (RE_FILENAME.test(parsed[i][0])) {
-                filename = parsed[i][1];
-                if (!preservePath) {
-                  filename = basename(filename);
-                }
-              }
-            }
-          } else {
-            return skipPart(part);
-          }
-          if (header["content-transfer-encoding"]) {
-            encoding = header["content-transfer-encoding"][0].toLowerCase();
-          } else {
-            encoding = "7bit";
-          }
-          let onData, onEnd;
-          if (isPartAFile(fieldname, contype, filename)) {
-            if (nfiles === filesLimit) {
-              if (!boy.hitFilesLimit) {
-                boy.hitFilesLimit = true;
-                boy.emit("filesLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfiles;
-            if (boy.listenerCount("file") === 0) {
-              self2.parser._ignore();
-              return;
-            }
-            ++nends;
-            const file = new FileStream(fileOpts);
-            curFile = file;
-            file.on("end", function() {
-              --nends;
-              self2._pause = false;
-              checkFinished();
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            });
-            file._read = function(n) {
-              if (!self2._pause) {
-                return;
-              }
-              self2._pause = false;
-              if (self2._cb && !self2._needDrain) {
-                const cb = self2._cb;
-                self2._cb = void 0;
-                cb();
-              }
-            };
-            boy.emit("file", fieldname, file, filename, encoding, contype);
-            onData = function(data) {
-              if ((nsize += data.length) > fileSizeLimit) {
-                const extralen = fileSizeLimit - nsize + data.length;
-                if (extralen > 0) {
-                  file.push(data.slice(0, extralen));
-                }
-                file.truncated = true;
-                file.bytesRead = fileSizeLimit;
-                part.removeAllListeners("data");
-                file.emit("limit");
-                return;
-              } else if (!file.push(data)) {
-                self2._pause = true;
-              }
-              file.bytesRead = nsize;
-            };
-            onEnd = function() {
-              curFile = void 0;
-              file.push(null);
-            };
-          } else {
-            if (nfields === fieldsLimit) {
-              if (!boy.hitFieldsLimit) {
-                boy.hitFieldsLimit = true;
-                boy.emit("fieldsLimit");
-              }
-              return skipPart(part);
-            }
-            ++nfields;
-            ++nends;
-            let buffer = "";
-            let truncated = false;
-            curField = part;
-            onData = function(data) {
-              if ((nsize += data.length) > fieldSizeLimit) {
-                const extralen = fieldSizeLimit - (nsize - data.length);
-                buffer += data.toString("binary", 0, extralen);
-                truncated = true;
-                part.removeAllListeners("data");
-              } else {
-                buffer += data.toString("binary");
-              }
-            };
-            onEnd = function() {
-              curField = void 0;
-              if (buffer.length) {
-                buffer = decodeText(buffer, "binary", charset);
-              }
-              boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
-              --nends;
-              checkFinished();
-            };
-          }
-          part._readableState.sync = false;
-          part.on("data", onData);
-          part.on("end", onEnd);
-        }).on("error", function(err) {
-          if (curFile) {
-            curFile.emit("error", err);
-          }
-        });
-      }).on("error", function(err) {
-        boy.emit("error", err);
-      }).on("finish", function() {
-        finished = true;
-        checkFinished();
-      });
-    }
-    Multipart.prototype.write = function(chunk, cb) {
-      const r = this.parser.write(chunk);
-      if (r && !this._pause) {
-        cb();
+      } else if (headerName === "expect") {
+        throw new NotSupportedError("expect header not supported");
       } else {
-        this._needDrain = !r;
-        this._cb = cb;
-      }
-    };
-    Multipart.prototype.end = function() {
-      const self2 = this;
-      if (self2.parser.writable) {
-        self2.parser.end();
-      } else if (!self2._boy._done) {
-        process.nextTick(function() {
-          self2._boy._done = true;
-          self2._boy.emit("finish");
-        });
+        request2.headers.push(key, val);
       }
-    };
-    function skipPart(part) {
-      part.resume();
-    }
-    function FileStream(opts) {
-      Readable2.call(this, opts);
-      this.bytesRead = 0;
-      this.truncated = false;
     }
-    inherits(FileStream, Readable2);
-    FileStream.prototype._read = function(n) {
-    };
-    module2.exports = Multipart;
+    module2.exports = Request;
   }
 });
 
-// node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
-  "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js
+var require_dispatcher2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
     "use strict";
-    var RE_PLUS = /\+/g;
-    var HEX = [
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      1,
-      1,
-      1,
-      1,
-      1,
-      1,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0,
-      0
-    ];
-    function Decoder() {
-      this.buffer = void 0;
-    }
-    Decoder.prototype.write = function(str2) {
-      str2 = str2.replace(RE_PLUS, " ");
-      let res = "";
-      let i = 0;
-      let p = 0;
-      const len = str2.length;
-      for (; i < len; ++i) {
-        if (this.buffer !== void 0) {
-          if (!HEX[str2.charCodeAt(i)]) {
-            res += "%" + this.buffer;
-            this.buffer = void 0;
-            --i;
-          } else {
-            this.buffer += str2[i];
-            ++p;
-            if (this.buffer.length === 2) {
-              res += String.fromCharCode(parseInt(this.buffer, 16));
-              this.buffer = void 0;
-            }
-          }
-        } else if (str2[i] === "%") {
-          if (i > p) {
-            res += str2.substring(p, i);
-            p = i;
-          }
-          this.buffer = "";
-          ++p;
-        }
+    var EventEmitter = require("node:events");
+    var Dispatcher = class extends EventEmitter {
+      dispatch() {
+        throw new Error("not implemented");
       }
-      if (p < len && this.buffer === void 0) {
-        res += str2.substring(p);
+      close() {
+        throw new Error("not implemented");
       }
-      return res;
-    };
-    Decoder.prototype.reset = function() {
-      this.buffer = void 0;
-    };
-    module2.exports = Decoder;
-  }
-});
-
-// node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
-  "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) {
-    "use strict";
-    var Decoder = require_Decoder();
-    var decodeText = require_decodeText();
-    var getLimit = require_getLimit();
-    var RE_CHARSET = /^charset$/i;
-    UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
-    function UrlEncoded(boy, cfg) {
-      const limits = cfg.limits;
-      const parsedConType = cfg.parsedConType;
-      this.boy = boy;
-      this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
-      this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
-      this.fieldsLimit = getLimit(limits, "fields", Infinity);
-      let charset;
-      for (var i = 0, len = parsedConType.length; i < len; ++i) {
-        if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
-          charset = parsedConType[i][1].toLowerCase();
-          break;
-        }
+      destroy() {
+        throw new Error("not implemented");
       }
-      if (charset === void 0) {
-        charset = cfg.defCharset || "utf8";
-      }
-      this.decoder = new Decoder();
-      this.charset = charset;
-      this._fields = 0;
-      this._state = "key";
-      this._checkingBytes = true;
-      this._bytesKey = 0;
-      this._bytesVal = 0;
-      this._key = "";
-      this._val = "";
-      this._keyTrunc = false;
-      this._valTrunc = false;
-      this._hitLimit = false;
-    }
-    UrlEncoded.prototype.write = function(data, cb) {
-      if (this._fields === this.fieldsLimit) {
-        if (!this.boy.hitFieldsLimit) {
-          this.boy.hitFieldsLimit = true;
-          this.boy.emit("fieldsLimit");
-        }
-        return cb();
-      }
-      let idxeq;
-      let idxamp;
-      let i;
-      let p = 0;
-      const len = data.length;
-      while (p < len) {
-        if (this._state === "key") {
-          idxeq = idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 61) {
-              idxeq = i;
-              break;
-            } else if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesKey;
-            }
-          }
-          if (idxeq !== void 0) {
-            if (idxeq > p) {
-              this._key += this.decoder.write(data.toString("binary", p, idxeq));
-            }
-            this._state = "val";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._val = "";
-            this._bytesVal = 0;
-            this._valTrunc = false;
-            this.decoder.reset();
-            p = idxeq + 1;
-          } else if (idxamp !== void 0) {
-            ++this._fields;
-            let key;
-            const keyTrunc = this._keyTrunc;
-            if (idxamp > p) {
-              key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
-            } else {
-              key = this._key;
-            }
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            if (key.length) {
-              this.boy.emit(
-                "field",
-                decodeText(key, "binary", this.charset),
-                "",
-                keyTrunc,
-                false
-              );
-            }
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._key += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
-              this._checkingBytes = false;
-              this._keyTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._key += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+      compose(...args) {
+        const interceptors = Array.isArray(args[0]) ? args[0] : args;
+        let dispatch = this.dispatch.bind(this);
+        for (const interceptor of interceptors) {
+          if (interceptor == null) {
+            continue;
           }
-        } else {
-          idxamp = void 0;
-          for (i = p; i < len; ++i) {
-            if (!this._checkingBytes) {
-              ++p;
-            }
-            if (data[i] === 38) {
-              idxamp = i;
-              break;
-            }
-            if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
-              this._hitLimit = true;
-              break;
-            } else if (this._checkingBytes) {
-              ++this._bytesVal;
-            }
+          if (typeof interceptor !== "function") {
+            throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
           }
-          if (idxamp !== void 0) {
-            ++this._fields;
-            if (idxamp > p) {
-              this._val += this.decoder.write(data.toString("binary", p, idxamp));
-            }
-            this.boy.emit(
-              "field",
-              decodeText(this._key, "binary", this.charset),
-              decodeText(this._val, "binary", this.charset),
-              this._keyTrunc,
-              this._valTrunc
-            );
-            this._state = "key";
-            this._hitLimit = false;
-            this._checkingBytes = true;
-            this._key = "";
-            this._bytesKey = 0;
-            this._keyTrunc = false;
-            this.decoder.reset();
-            p = idxamp + 1;
-            if (this._fields === this.fieldsLimit) {
-              return cb();
-            }
-          } else if (this._hitLimit) {
-            if (i > p) {
-              this._val += this.decoder.write(data.toString("binary", p, i));
-            }
-            p = i;
-            if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
-              this._checkingBytes = false;
-              this._valTrunc = true;
-            }
-          } else {
-            if (p < len) {
-              this._val += this.decoder.write(data.toString("binary", p));
-            }
-            p = len;
+          dispatch = interceptor(dispatch);
+          if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
+            throw new TypeError("invalid interceptor");
           }
         }
+        return new ComposedDispatcher(this, dispatch);
       }
-      cb();
     };
-    UrlEncoded.prototype.end = function() {
-      if (this.boy._done) {
-        return;
+    var ComposedDispatcher = class extends Dispatcher {
+      #dispatcher = null;
+      #dispatch = null;
+      constructor(dispatcher, dispatch) {
+        super();
+        this.#dispatcher = dispatcher;
+        this.#dispatch = dispatch;
       }
-      if (this._state === "key" && this._key.length > 0) {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          "",
-          this._keyTrunc,
-          false
-        );
-      } else if (this._state === "val") {
-        this.boy.emit(
-          "field",
-          decodeText(this._key, "binary", this.charset),
-          decodeText(this._val, "binary", this.charset),
-          this._keyTrunc,
-          this._valTrunc
-        );
+      dispatch(...args) {
+        this.#dispatch(...args);
+      }
+      close(...args) {
+        return this.#dispatcher.close(...args);
+      }
+      destroy(...args) {
+        return this.#dispatcher.destroy(...args);
       }
-      this.boy._done = true;
-      this.boy.emit("finish");
     };
-    module2.exports = UrlEncoded;
+    module2.exports = Dispatcher;
   }
 });
 
-// node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
-  "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js
+var require_dispatcher_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
     "use strict";
-    var WritableStream = require("node:stream").Writable;
-    var { inherits } = require("node:util");
-    var Dicer = require_Dicer();
-    var MultipartParser = require_multipart();
-    var UrlencodedParser = require_urlencoded();
-    var parseParams = require_parseParams();
-    function Busboy(opts) {
-      if (!(this instanceof Busboy)) {
-        return new Busboy(opts);
+    var Dispatcher = require_dispatcher2();
+    var {
+      ClientDestroyedError,
+      ClientClosedError,
+      InvalidArgumentError
+    } = require_errors2();
+    var { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require_symbols6();
+    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
+    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
+    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
+    var DispatcherBase = class extends Dispatcher {
+      constructor() {
+        super();
+        this[kDestroyed] = false;
+        this[kOnDestroyed] = null;
+        this[kClosed] = false;
+        this[kOnClosed] = [];
       }
-      if (typeof opts !== "object") {
-        throw new TypeError("Busboy expected an options-Object.");
+      get destroyed() {
+        return this[kDestroyed];
       }
-      if (typeof opts.headers !== "object") {
-        throw new TypeError("Busboy expected an options-Object with headers-attribute.");
+      get closed() {
+        return this[kClosed];
       }
-      if (typeof opts.headers["content-type"] !== "string") {
-        throw new TypeError("Missing Content-Type-header.");
+      get interceptors() {
+        return this[kInterceptors];
       }
-      const {
-        headers,
-        ...streamOptions
-      } = opts;
-      this.opts = {
-        autoDestroy: false,
-        ...streamOptions
-      };
-      WritableStream.call(this, this.opts);
-      this._done = false;
-      this._parser = this.getParserByHeaders(headers);
-      this._finished = false;
-    }
-    inherits(Busboy, WritableStream);
-    Busboy.prototype.emit = function(ev) {
-      if (ev === "finish") {
-        if (!this._done) {
-          this._parser?.end();
+      set interceptors(newInterceptors) {
+        if (newInterceptors) {
+          for (let i = newInterceptors.length - 1; i >= 0; i--) {
+            const interceptor = this[kInterceptors][i];
+            if (typeof interceptor !== "function") {
+              throw new InvalidArgumentError("interceptor must be an function");
+            }
+          }
+        }
+        this[kInterceptors] = newInterceptors;
+      }
+      close(callback) {
+        if (callback === void 0) {
+          return new Promise((resolve6, reject) => {
+            this.close((err, data) => {
+              return err ? reject(err) : resolve6(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          queueMicrotask(() => callback(new ClientDestroyedError(), null));
           return;
-        } else if (this._finished) {
+        }
+        if (this[kClosed]) {
+          if (this[kOnClosed]) {
+            this[kOnClosed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
           return;
         }
-        this._finished = true;
-      }
-      WritableStream.prototype.emit.apply(this, arguments);
-    };
-    Busboy.prototype.getParserByHeaders = function(headers) {
-      const parsed = parseParams(headers["content-type"]);
-      const cfg = {
-        defCharset: this.opts.defCharset,
-        fileHwm: this.opts.fileHwm,
-        headers,
-        highWaterMark: this.opts.highWaterMark,
-        isPartAFile: this.opts.isPartAFile,
-        limits: this.opts.limits,
-        parsedConType: parsed,
-        preservePath: this.opts.preservePath
-      };
-      if (MultipartParser.detect.test(parsed[0])) {
-        return new MultipartParser(this, cfg);
+        this[kClosed] = true;
+        this[kOnClosed].push(callback);
+        const onClosed = () => {
+          const callbacks = this[kOnClosed];
+          this[kOnClosed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kClose]().then(() => this.destroy()).then(() => {
+          queueMicrotask(onClosed);
+        });
       }
-      if (UrlencodedParser.detect.test(parsed[0])) {
-        return new UrlencodedParser(this, cfg);
+      destroy(err, callback) {
+        if (typeof err === "function") {
+          callback = err;
+          err = null;
+        }
+        if (callback === void 0) {
+          return new Promise((resolve6, reject) => {
+            this.destroy(err, (err2, data) => {
+              return err2 ? (
+                /* istanbul ignore next: should never error */
+                reject(err2)
+              ) : resolve6(data);
+            });
+          });
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        if (this[kDestroyed]) {
+          if (this[kOnDestroyed]) {
+            this[kOnDestroyed].push(callback);
+          } else {
+            queueMicrotask(() => callback(null, null));
+          }
+          return;
+        }
+        if (!err) {
+          err = new ClientDestroyedError();
+        }
+        this[kDestroyed] = true;
+        this[kOnDestroyed] = this[kOnDestroyed] || [];
+        this[kOnDestroyed].push(callback);
+        const onDestroyed = () => {
+          const callbacks = this[kOnDestroyed];
+          this[kOnDestroyed] = null;
+          for (let i = 0; i < callbacks.length; i++) {
+            callbacks[i](null, null);
+          }
+        };
+        this[kDestroy](err).then(() => {
+          queueMicrotask(onDestroyed);
+        });
+      }
+      [kInterceptedDispatch](opts, handler2) {
+        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
+          this[kInterceptedDispatch] = this[kDispatch];
+          return this[kDispatch](opts, handler2);
+        }
+        let dispatch = this[kDispatch].bind(this);
+        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
+          dispatch = this[kInterceptors][i](dispatch);
+        }
+        this[kInterceptedDispatch] = dispatch;
+        return dispatch(opts, handler2);
+      }
+      dispatch(opts, handler2) {
+        if (!handler2 || typeof handler2 !== "object") {
+          throw new InvalidArgumentError("handler must be an object");
+        }
+        try {
+          if (!opts || typeof opts !== "object") {
+            throw new InvalidArgumentError("opts must be an object.");
+          }
+          if (this[kDestroyed] || this[kOnDestroyed]) {
+            throw new ClientDestroyedError();
+          }
+          if (this[kClosed]) {
+            throw new ClientClosedError();
+          }
+          return this[kInterceptedDispatch](opts, handler2);
+        } catch (err) {
+          if (typeof handler2.onError !== "function") {
+            throw new InvalidArgumentError("invalid onError method");
+          }
+          handler2.onError(err);
+          return false;
+        }
       }
-      throw new Error("Unsupported Content-Type.");
-    };
-    Busboy.prototype._write = function(chunk, encoding, cb) {
-      this._parser.write(chunk, cb);
     };
-    module2.exports = Busboy;
-    module2.exports.default = Busboy;
-    module2.exports.Busboy = Busboy;
-    module2.exports.Dicer = Dicer;
+    module2.exports = DispatcherBase;
   }
 });
 
-// node_modules/undici/lib/fetch/constants.js
-var require_constants7 = __commonJS({
-  "node_modules/undici/lib/fetch/constants.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/util/timers.js
+var require_timers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/util/timers.js"(exports2, module2) {
     "use strict";
-    var { MessageChannel, receiveMessageOnPort } = require("worker_threads");
-    var corsSafeListedMethods = ["GET", "HEAD", "POST"];
-    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
-    var nullBodyStatus = [101, 204, 205, 304];
-    var redirectStatus = [301, 302, 303, 307, 308];
-    var redirectStatusSet = new Set(redirectStatus);
-    var badPorts = [
-      "1",
-      "7",
-      "9",
-      "11",
-      "13",
-      "15",
-      "17",
-      "19",
-      "20",
-      "21",
-      "22",
-      "23",
-      "25",
-      "37",
-      "42",
-      "43",
-      "53",
-      "69",
-      "77",
-      "79",
-      "87",
-      "95",
-      "101",
-      "102",
-      "103",
-      "104",
-      "109",
-      "110",
-      "111",
-      "113",
-      "115",
-      "117",
-      "119",
-      "123",
-      "135",
-      "137",
-      "139",
-      "143",
-      "161",
-      "179",
-      "389",
-      "427",
-      "465",
-      "512",
-      "513",
-      "514",
-      "515",
-      "526",
-      "530",
-      "531",
-      "532",
-      "540",
-      "548",
-      "554",
-      "556",
-      "563",
-      "587",
-      "601",
-      "636",
-      "989",
-      "990",
-      "993",
-      "995",
-      "1719",
-      "1720",
-      "1723",
-      "2049",
-      "3659",
-      "4045",
-      "5060",
-      "5061",
-      "6000",
-      "6566",
-      "6665",
-      "6666",
-      "6667",
-      "6668",
-      "6669",
-      "6697",
-      "10080"
-    ];
-    var badPortsSet = new Set(badPorts);
-    var referrerPolicy = [
-      "",
-      "no-referrer",
-      "no-referrer-when-downgrade",
-      "same-origin",
-      "origin",
-      "strict-origin",
-      "origin-when-cross-origin",
-      "strict-origin-when-cross-origin",
-      "unsafe-url"
-    ];
-    var referrerPolicySet = new Set(referrerPolicy);
-    var requestRedirect = ["follow", "manual", "error"];
-    var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
-    var safeMethodsSet = new Set(safeMethods);
-    var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
-    var requestCredentials = ["omit", "same-origin", "include"];
-    var requestCache = [
-      "default",
-      "no-store",
-      "reload",
-      "no-cache",
-      "force-cache",
-      "only-if-cached"
-    ];
-    var requestBodyHeader = [
-      "content-encoding",
-      "content-language",
-      "content-location",
-      "content-type",
-      // See https://github.com/nodejs/undici/issues/2021
-      // 'Content-Length' is a forbidden header name, which is typically
-      // removed in the Headers implementation. However, undici doesn't
-      // filter out headers, so we add it here.
-      "content-length"
-    ];
-    var requestDuplex = [
-      "half"
-    ];
-    var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
-    var forbiddenMethodsSet = new Set(forbiddenMethods);
-    var subresource = [
-      "audio",
-      "audioworklet",
-      "font",
-      "image",
-      "manifest",
-      "paintworklet",
-      "script",
-      "style",
-      "track",
-      "video",
-      "xslt",
-      ""
-    ];
-    var subresourceSet = new Set(subresource);
-    var DOMException2 = globalThis.DOMException ?? (() => {
-      try {
-        atob("~");
-      } catch (err) {
-        return Object.getPrototypeOf(err).constructor;
+    var fastNow = 0;
+    var RESOLUTION_MS = 1e3;
+    var TICK_MS = (RESOLUTION_MS >> 1) - 1;
+    var fastNowTimeout;
+    var kFastTimer = /* @__PURE__ */ Symbol("kFastTimer");
+    var fastTimers = [];
+    var NOT_IN_LIST = -2;
+    var TO_BE_CLEARED = -1;
+    var PENDING = 0;
+    var ACTIVE = 1;
+    function onTick() {
+      fastNow += TICK_MS;
+      let idx = 0;
+      let len = fastTimers.length;
+      while (idx < len) {
+        const timer = fastTimers[idx];
+        if (timer._state === PENDING) {
+          timer._idleStart = fastNow - TICK_MS;
+          timer._state = ACTIVE;
+        } else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
+          timer._state = TO_BE_CLEARED;
+          timer._idleStart = -1;
+          timer._onTimeout(timer._timerArg);
+        }
+        if (timer._state === TO_BE_CLEARED) {
+          timer._state = NOT_IN_LIST;
+          if (--len !== 0) {
+            fastTimers[idx] = fastTimers[len];
+          }
+        } else {
+          ++idx;
+        }
       }
-    })();
-    var channel;
-    var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js
-    // structuredClone was added in v17.0.0, but fetch supports v16.8
-    function structuredClone2(value, options = void 0) {
-      if (arguments.length === 0) {
-        throw new TypeError("missing argument");
+      fastTimers.length = len;
+      if (fastTimers.length !== 0) {
+        refreshTimeout();
       }
-      if (!channel) {
-        channel = new MessageChannel();
+    }
+    function refreshTimeout() {
+      if (fastNowTimeout) {
+        fastNowTimeout.refresh();
+      } else {
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = setTimeout(onTick, TICK_MS);
+        if (fastNowTimeout.unref) {
+          fastNowTimeout.unref();
+        }
       }
-      channel.port1.unref();
-      channel.port2.unref();
-      channel.port1.postMessage(value, options?.transfer);
-      return receiveMessageOnPort(channel.port2).message;
-    };
-    module2.exports = {
-      DOMException: DOMException2,
-      structuredClone,
-      subresource,
-      forbiddenMethods,
-      requestBodyHeader,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      redirectStatus,
-      corsSafeListedMethods,
-      nullBodyStatus,
-      safeMethods,
-      badPorts,
-      requestDuplex,
-      subresourceSet,
-      badPortsSet,
-      redirectStatusSet,
-      corsSafeListedMethodsSet,
-      safeMethodsSet,
-      forbiddenMethodsSet,
-      referrerPolicySet
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/global.js
-var require_global3 = __commonJS({
-  "node_modules/undici/lib/fetch/global.js"(exports2, module2) {
-    "use strict";
-    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
-    function getGlobalOrigin() {
-      return globalThis[globalOrigin];
     }
-    function setGlobalOrigin(newOrigin) {
-      if (newOrigin === void 0) {
-        Object.defineProperty(globalThis, globalOrigin, {
-          value: void 0,
-          writable: true,
-          enumerable: false,
-          configurable: false
-        });
-        return;
+    var FastTimer = class {
+      [kFastTimer] = true;
+      /**
+       * The state of the timer, which can be one of the following:
+       * - NOT_IN_LIST (-2)
+       * - TO_BE_CLEARED (-1)
+       * - PENDING (0)
+       * - ACTIVE (1)
+       *
+       * @type {-2|-1|0|1}
+       * @private
+       */
+      _state = NOT_IN_LIST;
+      /**
+       * The number of milliseconds to wait before calling the callback.
+       *
+       * @type {number}
+       * @private
+       */
+      _idleTimeout = -1;
+      /**
+       * The time in milliseconds when the timer was started. This value is used to
+       * calculate when the timer should expire.
+       *
+       * @type {number}
+       * @default -1
+       * @private
+       */
+      _idleStart = -1;
+      /**
+       * The function to be executed when the timer expires.
+       * @type {Function}
+       * @private
+       */
+      _onTimeout;
+      /**
+       * The argument to be passed to the callback when the timer expires.
+       *
+       * @type {*}
+       * @private
+       */
+      _timerArg;
+      /**
+       * @constructor
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should wait
+       * before the specified function or code is executed.
+       * @param {*} arg
+       */
+      constructor(callback, delay2, arg) {
+        this._onTimeout = callback;
+        this._idleTimeout = delay2;
+        this._timerArg = arg;
+        this.refresh();
       }
-      const parsedURL = new URL(newOrigin);
-      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
-        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      /**
+       * Sets the timer's start time to the current time, and reschedules the timer
+       * to call its callback at the previously specified duration adjusted to the
+       * current time.
+       * Using this on a timer that has already called its callback will reactivate
+       * the timer.
+       *
+       * @returns {void}
+       */
+      refresh() {
+        if (this._state === NOT_IN_LIST) {
+          fastTimers.push(this);
+        }
+        if (!fastNowTimeout || fastTimers.length === 1) {
+          refreshTimeout();
+        }
+        this._state = PENDING;
       }
-      Object.defineProperty(globalThis, globalOrigin, {
-        value: parsedURL,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
-    }
+      /**
+       * The `clear` method cancels the timer, preventing it from executing.
+       *
+       * @returns {void}
+       * @private
+       */
+      clear() {
+        this._state = TO_BE_CLEARED;
+        this._idleStart = -1;
+      }
+    };
     module2.exports = {
-      getGlobalOrigin,
-      setGlobalOrigin
+      /**
+       * The setTimeout() method sets a timer which executes a function once the
+       * timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {NodeJS.Timeout|FastTimer}
+       */
+      setTimeout(callback, delay2, arg) {
+        return delay2 <= RESOLUTION_MS ? setTimeout(callback, delay2, arg) : new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated Timer previously created
+       * by calling setTimeout.
+       *
+       * @param {NodeJS.Timeout|FastTimer} timeout
+       */
+      clearTimeout(timeout) {
+        if (timeout[kFastTimer]) {
+          timeout.clear();
+        } else {
+          clearTimeout(timeout);
+        }
+      },
+      /**
+       * The setFastTimeout() method sets a fastTimer which executes a function once
+       * the timer expires.
+       * @param {Function} callback A function to be executed after the timer
+       * expires.
+       * @param {number} delay The time, in milliseconds that the timer should
+       * wait before the specified function or code is executed.
+       * @param {*} [arg] An optional argument to be passed to the callback function
+       * when the timer expires.
+       * @returns {FastTimer}
+       */
+      setFastTimeout(callback, delay2, arg) {
+        return new FastTimer(callback, delay2, arg);
+      },
+      /**
+       * The clearTimeout method cancels an instantiated FastTimer previously
+       * created by calling setFastTimeout.
+       *
+       * @param {FastTimer} timeout
+       */
+      clearFastTimeout(timeout) {
+        timeout.clear();
+      },
+      /**
+       * The now method returns the value of the internal fast timer clock.
+       *
+       * @returns {number}
+       */
+      now() {
+        return fastNow;
+      },
+      /**
+       * Trigger the onTick function to process the fastTimers array.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       * @param {number} [delay=0] The delay in milliseconds to add to the now value.
+       */
+      tick(delay2 = 0) {
+        fastNow += delay2 - RESOLUTION_MS + 1;
+        onTick();
+        onTick();
+      },
+      /**
+       * Reset FastTimers.
+       * Exported for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      reset() {
+        fastNow = 0;
+        fastTimers.length = 0;
+        clearTimeout(fastNowTimeout);
+        fastNowTimeout = null;
+      },
+      /**
+       * Exporting for testing purposes only.
+       * Marking as deprecated to discourage any use outside of testing.
+       * @deprecated
+       */
+      kFastTimer
     };
   }
 });
 
-// node_modules/undici/lib/fetch/util.js
-var require_util10 = __commonJS({
-  "node_modules/undici/lib/fetch/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/core/connect.js
+var require_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/core/connect.js"(exports2, module2) {
     "use strict";
-    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants7();
-    var { getGlobalOrigin } = require_global3();
-    var { performance: performance3 } = require("perf_hooks");
-    var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util9();
-    var assert = require("assert");
-    var { isUint8Array } = require("util/types");
-    var supportedHashes = [];
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
-      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
-    } catch {
-    }
-    function responseURL(response) {
-      const urlList = response.urlList;
-      const length = urlList.length;
-      return length === 0 ? null : urlList[length - 1].toString();
-    }
-    function responseLocationURL(response, requestFragment) {
-      if (!redirectStatusSet.has(response.status)) {
-        return null;
-      }
-      let location = response.headersList.get("location");
-      if (location !== null && isValidHeaderValue(location)) {
-        location = new URL(location, responseURL(response));
-      }
-      if (location && !location.hash) {
-        location.hash = requestFragment;
-      }
-      return location;
-    }
-    function requestCurrentURL(request2) {
-      return request2.urlList[request2.urlList.length - 1];
-    }
-    function requestBadPort(request2) {
-      const url2 = requestCurrentURL(request2);
-      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
-        return "blocked";
-      }
-      return "allowed";
-    }
-    function isErrorLike(object) {
-      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    var net = require("node:net");
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
+    var timers = require_timers2();
+    function noop3() {
     }
-    function isValidReasonPhrase(statusText) {
-      for (let i = 0; i < statusText.length; ++i) {
-        const c = statusText.charCodeAt(i);
-        if (!(c === 9 || // HTAB
-        c >= 32 && c <= 126 || // SP / VCHAR
-        c >= 128 && c <= 255)) {
-          return false;
+    var tls;
+    var SessionCache;
+    if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {
+      SessionCache = class WeakSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
+          this._sessionRegistry = new global.FinalizationRegistry((key) => {
+            if (this._sessionCache.size < this._maxCachedSessions) {
+              return;
+            }
+            const ref = this._sessionCache.get(key);
+            if (ref !== void 0 && ref.deref() === void 0) {
+              this._sessionCache.delete(key);
+            }
+          });
         }
-      }
-      return true;
-    }
-    function isTokenCharCode(c) {
-      switch (c) {
-        case 34:
-        case 40:
-        case 41:
-        case 44:
-        case 47:
-        case 58:
-        case 59:
-        case 60:
-        case 61:
-        case 62:
-        case 63:
-        case 64:
-        case 91:
-        case 92:
-        case 93:
-        case 123:
-        case 125:
-          return false;
-        default:
-          return c >= 33 && c <= 126;
-      }
-    }
-    function isValidHTTPToken(characters) {
-      if (characters.length === 0) {
-        return false;
-      }
-      for (let i = 0; i < characters.length; ++i) {
-        if (!isTokenCharCode(characters.charCodeAt(i))) {
-          return false;
+        get(sessionKey) {
+          const ref = this._sessionCache.get(sessionKey);
+          return ref ? ref.deref() : null;
         }
-      }
-      return true;
-    }
-    function isValidHeaderName(potentialValue) {
-      return isValidHTTPToken(potentialValue);
-    }
-    function isValidHeaderValue(potentialValue) {
-      if (potentialValue.startsWith("	") || potentialValue.startsWith(" ") || potentialValue.endsWith("	") || potentialValue.endsWith(" ")) {
-        return false;
-      }
-      if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
-        return false;
-      }
-      return true;
-    }
-    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
-      const { headersList } = actualResponse;
-      const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");
-      let policy = "";
-      if (policyHeader.length > 0) {
-        for (let i = policyHeader.length; i !== 0; i--) {
-          const token = policyHeader[i - 1].trim();
-          if (referrerPolicyTokens.has(token)) {
-            policy = token;
-            break;
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
+          this._sessionCache.set(sessionKey, new WeakRef(session));
+          this._sessionRegistry.register(session, sessionKey);
         }
-      }
-      if (policy !== "") {
-        request2.referrerPolicy = policy;
-      }
-    }
-    function crossOriginResourcePolicyCheck() {
-      return "allowed";
-    }
-    function corsCheck() {
-      return "success";
-    }
-    function TAOCheck() {
-      return "success";
-    }
-    function appendFetchMetadata(httpRequest) {
-      let header = null;
-      header = httpRequest.mode;
-      httpRequest.headersList.set("sec-fetch-mode", header);
-    }
-    function appendRequestOriginHeader(request2) {
-      let serializedOrigin = request2.origin;
-      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
-        switch (request2.referrerPolicy) {
-          case "no-referrer":
-            serializedOrigin = null;
-            break;
-          case "no-referrer-when-downgrade":
-          case "strict-origin":
-          case "strict-origin-when-cross-origin":
-            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          case "same-origin":
-            if (!sameOrigin(request2, requestCurrentURL(request2))) {
-              serializedOrigin = null;
-            }
-            break;
-          default:
-        }
-        if (serializedOrigin) {
-          request2.headersList.append("origin", serializedOrigin);
-        }
-      }
-    }
-    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
-      return performance3.now();
-    }
-    function createOpaqueTimingInfo(timingInfo) {
-      return {
-        startTime: timingInfo.startTime ?? 0,
-        redirectStartTime: 0,
-        redirectEndTime: 0,
-        postRedirectStartTime: timingInfo.startTime ?? 0,
-        finalServiceWorkerStartTime: 0,
-        finalNetworkResponseStartTime: 0,
-        finalNetworkRequestStartTime: 0,
-        endTime: 0,
-        encodedBodySize: 0,
-        decodedBodySize: 0,
-        finalConnectionTimingInfo: null
-      };
-    }
-    function makePolicyContainer() {
-      return {
-        referrerPolicy: "strict-origin-when-cross-origin"
-      };
-    }
-    function clonePolicyContainer(policyContainer) {
-      return {
-        referrerPolicy: policyContainer.referrerPolicy
       };
-    }
-    function determineRequestsReferrer(request2) {
-      const policy = request2.referrerPolicy;
-      assert(policy);
-      let referrerSource = null;
-      if (request2.referrer === "client") {
-        const globalOrigin = getGlobalOrigin();
-        if (!globalOrigin || globalOrigin.origin === "null") {
-          return "no-referrer";
+    } else {
+      SessionCache = class SimpleSessionCache {
+        constructor(maxCachedSessions) {
+          this._maxCachedSessions = maxCachedSessions;
+          this._sessionCache = /* @__PURE__ */ new Map();
         }
-        referrerSource = new URL(globalOrigin);
-      } else if (request2.referrer instanceof URL) {
-        referrerSource = request2.referrer;
-      }
-      let referrerURL = stripURLForReferrer(referrerSource);
-      const referrerOrigin = stripURLForReferrer(referrerSource, true);
-      if (referrerURL.toString().length > 4096) {
-        referrerURL = referrerOrigin;
-      }
-      const areSameOrigin = sameOrigin(request2, referrerURL);
-      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
-      switch (policy) {
-        case "origin":
-          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
-        case "unsafe-url":
-          return referrerURL;
-        case "same-origin":
-          return areSameOrigin ? referrerOrigin : "no-referrer";
-        case "origin-when-cross-origin":
-          return areSameOrigin ? referrerURL : referrerOrigin;
-        case "strict-origin-when-cross-origin": {
-          const currentURL = requestCurrentURL(request2);
-          if (sameOrigin(referrerURL, currentURL)) {
-            return referrerURL;
+        get(sessionKey) {
+          return this._sessionCache.get(sessionKey);
+        }
+        set(sessionKey, session) {
+          if (this._maxCachedSessions === 0) {
+            return;
           }
-          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
-            return "no-referrer";
+          if (this._sessionCache.size >= this._maxCachedSessions) {
+            const { value: oldestKey } = this._sessionCache.keys().next();
+            this._sessionCache.delete(oldestKey);
           }
-          return referrerOrigin;
-        }
-        case "strict-origin":
-        // eslint-disable-line
-        /**
-           * 1. If referrerURL is a potentially trustworthy URL and
-           * request’s current URL is not a potentially trustworthy URL,
-           * then return no referrer.
-           * 2. Return referrerOrigin
-          */
-        case "no-referrer-when-downgrade":
-        // eslint-disable-line
-        /**
-         * 1. If referrerURL is a potentially trustworthy URL and
-         * request’s current URL is not a potentially trustworthy URL,
-         * then return no referrer.
-         * 2. Return referrerOrigin
-        */
-        default:
-          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
-      }
-    }
-    function stripURLForReferrer(url2, originOnly) {
-      assert(url2 instanceof URL);
-      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
-        return "no-referrer";
-      }
-      url2.username = "";
-      url2.password = "";
-      url2.hash = "";
-      if (originOnly) {
-        url2.pathname = "";
-        url2.search = "";
-      }
-      return url2;
-    }
-    function isURLPotentiallyTrustworthy(url2) {
-      if (!(url2 instanceof URL)) {
-        return false;
-      }
-      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
-        return true;
-      }
-      if (url2.protocol === "data:") return true;
-      if (url2.protocol === "file:") return true;
-      return isOriginPotentiallyTrustworthy(url2.origin);
-      function isOriginPotentiallyTrustworthy(origin) {
-        if (origin == null || origin === "null") return false;
-        const originAsURL = new URL(origin);
-        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
-          return true;
-        }
-        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
-          return true;
+          this._sessionCache.set(sessionKey, session);
         }
-        return false;
-      }
+      };
     }
-    function bytesMatch(bytes, metadataList) {
-      if (crypto2 === void 0) {
-        return true;
-      }
-      const parsedMetadata = parseMetadata(metadataList);
-      if (parsedMetadata === "no metadata") {
-        return true;
-      }
-      if (parsedMetadata.length === 0) {
-        return true;
+    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
+      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
+        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
       }
-      const strongest = getStrongestMetadata(parsedMetadata);
-      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
-      for (const item of metadata) {
-        const algorithm = item.algo;
-        const expectedValue = item.hash;
-        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
-        if (actualValue[actualValue.length - 1] === "=") {
-          if (actualValue[actualValue.length - 2] === "=") {
-            actualValue = actualValue.slice(0, -2);
-          } else {
-            actualValue = actualValue.slice(0, -1);
+      const options = { path: socketPath, ...opts };
+      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
+      timeout = timeout == null ? 1e4 : timeout;
+      allowH2 = allowH2 != null ? allowH2 : false;
+      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
+        let socket;
+        if (protocol === "https:") {
+          if (!tls) {
+            tls = require("node:tls");
           }
+          servername = servername || options.servername || util.getServerName(host) || null;
+          const sessionKey = servername || hostname;
+          assert(sessionKey);
+          const session = customSession || sessionCache.get(sessionKey) || null;
+          port = port || 443;
+          socket = tls.connect({
+            highWaterMark: 16384,
+            // TLS in node can't have bigger HWM anyway...
+            ...options,
+            servername,
+            session,
+            localAddress,
+            // TODO(HTTP/2): Add support for h2c
+            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
+            socket: httpSocket,
+            // upgrade socket connection
+            port,
+            host: hostname
+          });
+          socket.on("session", function(session2) {
+            sessionCache.set(sessionKey, session2);
+          });
+        } else {
+          assert(!httpSocket, "httpSocket can only be sent on TLS update");
+          port = port || 80;
+          socket = net.connect({
+            highWaterMark: 64 * 1024,
+            // Same as nodejs fs streams.
+            ...options,
+            localAddress,
+            port,
+            host: hostname
+          });
         }
-        if (compareBase64Mixed(actualValue, expectedValue)) {
-          return true;
-        }
-      }
-      return false;
-    }
-    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
-    function parseMetadata(metadata) {
-      const result = [];
-      let empty = true;
-      for (const token of metadata.split(" ")) {
-        empty = false;
-        const parsedToken = parseHashWithOptions.exec(token);
-        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
-          continue;
-        }
-        const algorithm = parsedToken.groups.algo.toLowerCase();
-        if (supportedHashes.includes(algorithm)) {
-          result.push(parsedToken.groups);
-        }
-      }
-      if (empty === true) {
-        return "no metadata";
-      }
-      return result;
-    }
-    function getStrongestMetadata(metadataList) {
-      let algorithm = metadataList[0].algo;
-      if (algorithm[3] === "5") {
-        return algorithm;
-      }
-      for (let i = 1; i < metadataList.length; ++i) {
-        const metadata = metadataList[i];
-        if (metadata.algo[3] === "5") {
-          algorithm = "sha512";
-          break;
-        } else if (algorithm[3] === "3") {
-          continue;
-        } else if (metadata.algo[3] === "3") {
-          algorithm = "sha384";
-        }
-      }
-      return algorithm;
-    }
-    function filterMetadataListByAlgorithm(metadataList, algorithm) {
-      if (metadataList.length === 1) {
-        return metadataList;
-      }
-      let pos = 0;
-      for (let i = 0; i < metadataList.length; ++i) {
-        if (metadataList[i].algo === algorithm) {
-          metadataList[pos++] = metadataList[i];
-        }
-      }
-      metadataList.length = pos;
-      return metadataList;
-    }
-    function compareBase64Mixed(actualValue, expectedValue) {
-      if (actualValue.length !== expectedValue.length) {
-        return false;
-      }
-      for (let i = 0; i < actualValue.length; ++i) {
-        if (actualValue[i] !== expectedValue[i]) {
-          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
-            continue;
-          }
-          return false;
+        if (options.keepAlive == null || options.keepAlive) {
+          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
+          socket.setKeepAlive(true, keepAliveInitialDelay);
         }
-      }
-      return true;
-    }
-    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
-    }
-    function sameOrigin(A, B) {
-      if (A.origin === B.origin && A.origin === "null") {
-        return true;
-      }
-      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
-        return true;
-      }
-      return false;
-    }
-    function createDeferredPromise() {
-      let res;
-      let rej;
-      const promise = new Promise((resolve6, reject) => {
-        res = resolve6;
-        rej = reject;
-      });
-      return { promise, resolve: res, reject: rej };
-    }
-    function isAborted(fetchParams) {
-      return fetchParams.controller.state === "aborted";
-    }
-    function isCancelled(fetchParams) {
-      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
-    }
-    var normalizeMethodRecord = {
-      delete: "DELETE",
-      DELETE: "DELETE",
-      get: "GET",
-      GET: "GET",
-      head: "HEAD",
-      HEAD: "HEAD",
-      options: "OPTIONS",
-      OPTIONS: "OPTIONS",
-      post: "POST",
-      POST: "POST",
-      put: "PUT",
-      PUT: "PUT"
-    };
-    Object.setPrototypeOf(normalizeMethodRecord, null);
-    function normalizeMethod(method) {
-      return normalizeMethodRecord[method.toLowerCase()] ?? method;
-    }
-    function serializeJavascriptValueToJSONString(value) {
-      const result = JSON.stringify(value);
-      if (result === void 0) {
-        throw new TypeError("Value is not JSON serializable");
-      }
-      assert(typeof result === "string");
-      return result;
-    }
-    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
-    function makeIterator(iterator2, name, kind) {
-      const object = {
-        index: 0,
-        kind,
-        target: iterator2
-      };
-      const i = {
-        next() {
-          if (Object.getPrototypeOf(this) !== i) {
-            throw new TypeError(
-              `'next' called on an object that does not implement interface ${name} Iterator.`
-            );
+        const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port });
+        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(null, this);
           }
-          const { index, kind: kind2, target } = object;
-          const values = target();
-          const len = values.length;
-          if (index >= len) {
-            return { value: void 0, done: true };
+        }).on("error", function(err) {
+          queueMicrotask(clearConnectTimeout);
+          if (callback) {
+            const cb = callback;
+            callback = null;
+            cb(err);
           }
-          const pair = values[index];
-          object.index = index + 1;
-          return iteratorResult(pair, kind2);
-        },
-        // The class string of an iterator prototype object for a given interface is the
-        // result of concatenating the identifier of the interface and the string " Iterator".
-        [Symbol.toStringTag]: `${name} Iterator`
+        });
+        return socket;
       };
-      Object.setPrototypeOf(i, esIteratorPrototype);
-      return Object.setPrototypeOf({}, i);
-    }
-    function iteratorResult(pair, kind) {
-      let result;
-      switch (kind) {
-        case "key": {
-          result = pair[0];
-          break;
-        }
-        case "value": {
-          result = pair[1];
-          break;
-        }
-        case "key+value": {
-          result = pair;
-          break;
-        }
-      }
-      return { value: result, done: false };
-    }
-    async function fullyReadBody(body, processBody, processBodyError) {
-      const successSteps = processBody;
-      const errorSteps = processBodyError;
-      let reader;
-      try {
-        reader = body.stream.getReader();
-      } catch (e) {
-        errorSteps(e);
-        return;
-      }
-      try {
-        const result = await readAllBytes(reader);
-        successSteps(result);
-      } catch (e) {
-        errorSteps(e);
-      }
     }
-    var ReadableStream2 = globalThis.ReadableStream;
-    function isReadableStreamLike(stream2) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+    var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return stream2 instanceof ReadableStream2 || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
-    }
-    var MAXIMUM_ARGUMENT_LENGTH = 65535;
-    function isomorphicDecode(input) {
-      if (input.length < MAXIMUM_ARGUMENT_LENGTH) {
-        return String.fromCharCode(...input);
+      let s1 = null;
+      let s2 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+        clearImmediate(s2);
+      };
+    } : (socketWeakRef, opts) => {
+      if (!opts.timeout) {
+        return noop3;
       }
-      return input.reduce((previous, current) => previous + String.fromCharCode(current), "");
-    }
-    function readableStreamClose(controller) {
-      try {
-        controller.close();
-      } catch (err) {
-        if (!err.message.includes("Controller is already closed")) {
-          throw err;
-        }
+      let s1 = null;
+      const fastTimer = timers.setFastTimeout(() => {
+        s1 = setImmediate(() => {
+          onConnectTimeout(socketWeakRef.deref(), opts);
+        });
+      }, opts.timeout);
+      return () => {
+        timers.clearFastTimeout(fastTimer);
+        clearImmediate(s1);
+      };
+    };
+    function onConnectTimeout(socket, opts) {
+      if (socket == null) {
+        return;
       }
-    }
-    function isomorphicEncode(input) {
-      for (let i = 0; i < input.length; i++) {
-        assert(input.charCodeAt(i) <= 255);
+      let message = "Connect Timeout Error";
+      if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
+        message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
+      } else {
+        message += ` (attempted address: ${opts.hostname}:${opts.port},`;
       }
-      return input;
+      message += ` timeout: ${opts.timeout}ms)`;
+      util.destroy(socket, new ConnectTimeoutError(message));
     }
-    async function readAllBytes(reader) {
-      const bytes = [];
-      let byteLength = 0;
-      while (true) {
-        const { done, value: chunk } = await reader.read();
-        if (done) {
-          return Buffer.concat(bytes, byteLength);
-        }
-        if (!isUint8Array(chunk)) {
-          throw new TypeError("Received non-Uint8Array chunk");
+    module2.exports = buildConnector;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js
+var require_utils3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+    "use strict";
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.enumToMap = void 0;
+    function enumToMap(obj) {
+      const res = {};
+      Object.keys(obj).forEach((key) => {
+        const value = obj[key];
+        if (typeof value === "number") {
+          res[key] = value;
         }
-        bytes.push(chunk);
-        byteLength += chunk.length;
-      }
-    }
-    function urlIsLocal(url2) {
-      assert("protocol" in url2);
-      const protocol = url2.protocol;
-      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
-    }
-    function urlHasHttpsScheme(url2) {
-      if (typeof url2 === "string") {
-        return url2.startsWith("https:");
-      }
-      return url2.protocol === "https:";
-    }
-    function urlIsHttpHttpsScheme(url2) {
-      assert("protocol" in url2);
-      const protocol = url2.protocol;
-      return protocol === "http:" || protocol === "https:";
+      });
+      return res;
     }
-    var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));
-    module2.exports = {
-      isAborted,
-      isCancelled,
-      createDeferredPromise,
-      ReadableStreamFrom,
-      toUSVString,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      coarsenedSharedCurrentTime,
-      determineRequestsReferrer,
-      makePolicyContainer,
-      clonePolicyContainer,
-      appendFetchMetadata,
-      appendRequestOriginHeader,
-      TAOCheck,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      createOpaqueTimingInfo,
-      setRequestReferrerPolicyOnRedirect,
-      isValidHTTPToken,
-      requestBadPort,
-      requestCurrentURL,
-      responseURL,
-      responseLocationURL,
-      isBlobLike,
-      isURLPotentiallyTrustworthy,
-      isValidReasonPhrase,
-      sameOrigin,
-      normalizeMethod,
-      serializeJavascriptValueToJSONString,
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue,
-      hasOwn,
-      isErrorLike,
-      fullyReadBody,
-      bytesMatch,
-      isReadableStreamLike,
-      readableStreamClose,
-      isomorphicEncode,
-      isomorphicDecode,
-      urlIsLocal,
-      urlHasHttpsScheme,
-      urlIsHttpHttpsScheme,
-      readAllBytes,
-      normalizeMethodRecord,
-      parseMetadata
-    };
+    exports2.enumToMap = enumToMap;
   }
 });
 
-// node_modules/undici/lib/fetch/symbols.js
-var require_symbols7 = __commonJS({
-  "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js
+var require_constants7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/constants.js"(exports2) {
     "use strict";
-    module2.exports = {
-      kUrl: /* @__PURE__ */ Symbol("url"),
-      kHeaders: /* @__PURE__ */ Symbol("headers"),
-      kSignal: /* @__PURE__ */ Symbol("signal"),
-      kState: /* @__PURE__ */ Symbol("state"),
-      kGuard: /* @__PURE__ */ Symbol("guard"),
-      kRealm: /* @__PURE__ */ Symbol("realm")
+    Object.defineProperty(exports2, "__esModule", { value: true });
+    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
+    var utils_1 = require_utils3();
+    var ERROR;
+    (function(ERROR2) {
+      ERROR2[ERROR2["OK"] = 0] = "OK";
+      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
+      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
+      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
+      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
+      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
+      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
+      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
+      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
+      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
+      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
+      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
+      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
+      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
+      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
+      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
+      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
+      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
+      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
+      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
+      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
+      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
+      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
+      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
+      ERROR2[ERROR2["USER"] = 24] = "USER";
+    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
+    var TYPE;
+    (function(TYPE2) {
+      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
+      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
+      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
+    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
+    var FLAGS;
+    (function(FLAGS2) {
+      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
+      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
+      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
+      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
+      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
+      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
+      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
+      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
+      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
+    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
+    var LENIENT_FLAGS;
+    (function(LENIENT_FLAGS2) {
+      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
+      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
+    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
+    var METHODS;
+    (function(METHODS2) {
+      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
+      METHODS2[METHODS2["GET"] = 1] = "GET";
+      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
+      METHODS2[METHODS2["POST"] = 3] = "POST";
+      METHODS2[METHODS2["PUT"] = 4] = "PUT";
+      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
+      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
+      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
+      METHODS2[METHODS2["COPY"] = 8] = "COPY";
+      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
+      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
+      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
+      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
+      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
+      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
+      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
+      METHODS2[METHODS2["BIND"] = 16] = "BIND";
+      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
+      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
+      METHODS2[METHODS2["ACL"] = 19] = "ACL";
+      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
+      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
+      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
+      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
+      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
+      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
+      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
+      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
+      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
+      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
+      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
+      METHODS2[METHODS2["LINK"] = 31] = "LINK";
+      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
+      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
+      METHODS2[METHODS2["PRI"] = 34] = "PRI";
+      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
+      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
+      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
+      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
+      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
+      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
+      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
+      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
+      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
+      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
+      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
+    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
+    exports2.METHODS_HTTP = [
+      METHODS.DELETE,
+      METHODS.GET,
+      METHODS.HEAD,
+      METHODS.POST,
+      METHODS.PUT,
+      METHODS.CONNECT,
+      METHODS.OPTIONS,
+      METHODS.TRACE,
+      METHODS.COPY,
+      METHODS.LOCK,
+      METHODS.MKCOL,
+      METHODS.MOVE,
+      METHODS.PROPFIND,
+      METHODS.PROPPATCH,
+      METHODS.SEARCH,
+      METHODS.UNLOCK,
+      METHODS.BIND,
+      METHODS.REBIND,
+      METHODS.UNBIND,
+      METHODS.ACL,
+      METHODS.REPORT,
+      METHODS.MKACTIVITY,
+      METHODS.CHECKOUT,
+      METHODS.MERGE,
+      METHODS["M-SEARCH"],
+      METHODS.NOTIFY,
+      METHODS.SUBSCRIBE,
+      METHODS.UNSUBSCRIBE,
+      METHODS.PATCH,
+      METHODS.PURGE,
+      METHODS.MKCALENDAR,
+      METHODS.LINK,
+      METHODS.UNLINK,
+      METHODS.PRI,
+      // TODO(indutny): should we allow it with HTTP?
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_ICE = [
+      METHODS.SOURCE
+    ];
+    exports2.METHODS_RTSP = [
+      METHODS.OPTIONS,
+      METHODS.DESCRIBE,
+      METHODS.ANNOUNCE,
+      METHODS.SETUP,
+      METHODS.PLAY,
+      METHODS.PAUSE,
+      METHODS.TEARDOWN,
+      METHODS.GET_PARAMETER,
+      METHODS.SET_PARAMETER,
+      METHODS.REDIRECT,
+      METHODS.RECORD,
+      METHODS.FLUSH,
+      // For AirPlay
+      METHODS.GET,
+      METHODS.POST
+    ];
+    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
+    exports2.H_METHOD_MAP = {};
+    Object.keys(exports2.METHOD_MAP).forEach((key) => {
+      if (/^H/.test(key)) {
+        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+      }
+    });
+    var FINISH;
+    (function(FINISH2) {
+      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
+      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
+      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
+    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
+    exports2.ALPHA = [];
+    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
+      exports2.ALPHA.push(String.fromCharCode(i));
+      exports2.ALPHA.push(String.fromCharCode(i + 32));
+    }
+    exports2.NUM_MAP = {
+      0: 0,
+      1: 1,
+      2: 2,
+      3: 3,
+      4: 4,
+      5: 5,
+      6: 6,
+      7: 7,
+      8: 8,
+      9: 9
+    };
+    exports2.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
+    };
+    exports2.NUM = [
+      "0",
+      "1",
+      "2",
+      "3",
+      "4",
+      "5",
+      "6",
+      "7",
+      "8",
+      "9"
+    ];
+    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
+    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
+    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
+    exports2.STRICT_URL_CHAR = [
+      "!",
+      '"',
+      "$",
+      "%",
+      "&",
+      "'",
+      "(",
+      ")",
+      "*",
+      "+",
+      ",",
+      "-",
+      ".",
+      "/",
+      ":",
+      ";",
+      "<",
+      "=",
+      ">",
+      "@",
+      "[",
+      "\\",
+      "]",
+      "^",
+      "_",
+      "`",
+      "{",
+      "|",
+      "}",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
+    for (let i = 128; i <= 255; i++) {
+      exports2.URL_CHAR.push(i);
+    }
+    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
+    exports2.STRICT_TOKEN = [
+      "!",
+      "#",
+      "$",
+      "%",
+      "&",
+      "'",
+      "*",
+      "+",
+      "-",
+      ".",
+      "^",
+      "_",
+      "`",
+      "|",
+      "~"
+    ].concat(exports2.ALPHANUM);
+    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
+    exports2.HEADER_CHARS = ["	"];
+    for (let i = 32; i <= 255; i++) {
+      if (i !== 127) {
+        exports2.HEADER_CHARS.push(i);
+      }
+    }
+    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
+    exports2.MAJOR = exports2.NUM_MAP;
+    exports2.MINOR = exports2.MAJOR;
+    var HEADER_STATE;
+    (function(HEADER_STATE2) {
+      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
+      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
+      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
+      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
+      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
+    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
+    exports2.SPECIAL_HEADERS = {
+      "connection": HEADER_STATE.CONNECTION,
+      "content-length": HEADER_STATE.CONTENT_LENGTH,
+      "proxy-connection": HEADER_STATE.CONNECTION,
+      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
+      "upgrade": HEADER_STATE.UPGRADE
     };
   }
 });
 
-// node_modules/undici/lib/fetch/webidl.js
-var require_webidl2 = __commonJS({
-  "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js
+var require_llhttp_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
     "use strict";
-    var { types } = require("util");
-    var { hasOwn, toUSVString } = require_util10();
-    var webidl = {};
-    webidl.converters = {};
-    webidl.util = {};
-    webidl.errors = {};
-    webidl.errors.exception = function(message) {
-      return new TypeError(`${message.header}: ${message.message}`);
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.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+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB9ysPC0GQMQ8LQdcxDwtBoi0PC0HUJw8LQeArDwtBnywPC0HrMQ8LQdUfDwtByjEPC0HeJQ8LQdQeDwtB9BwPC0GnMg8LQbEdDwtBoB0PC0G5MQ8LQbwwDwtBkiEPC0GzJg8LQeksDwtBrB4PC0HUKw8LQfcmDwtBgCYPC0GwIQ8LQf4eDwtBjSMPC0GJLQ8LQfciDwtBoDEPC0GuHw8LQcYlDwtB6B4PC0GTIg8LQcIvDwtBwx0PC0GLLA8LQeEdDwtBjS8PC0HqIQ8LQbQtDwtB0i8PC0HfMg8LQdIyDwtB8DAPC0GpIg8LQfkjDwtBmR4PC0G1LA8LQZswDwtBkjIPC0G2Kw8LQcIiDwtB+DIPC0GeJQ8LQdAiDwtBuh4PC0GBHg8LAAtB1iEhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCz4BAn8CQCAAKAI4IgNFDQAgAygCBCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBxhE2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCCCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9go2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCDCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7Ro2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCECIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlRA2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCFCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBqhs2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCGCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7RM2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCKCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9gg2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCHCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBwhk2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCICIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlBQ2AhBBGCEECyAEC1kBAn8CQCAALQAoQQFGDQAgAC8BMiIBQeQAa0HkAEkNACABQcwBRg0AIAFBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhAiAAQYgEcUGABEYNACAAQShxRSECCyACC4wBAQJ/AkACQAJAIAAtACpFDQAgAC0AK0UNACAALwEwIgFBAnFFDQEMAgsgAC8BMCIBQQFxRQ0BC0EBIQIgAC0AKEEBRg0AIAAvATIiAEHkAGtB5ABJDQAgAEHMAUYNACAAQbACRg0AIAFBwABxDQBBACECIAFBiARxQYAERg0AIAFBKHFBAEchAgsgAgtXACAAQRhqQgA3AwAgAEIANwMAIABBOGpCADcDACAAQTBqQgA3AwAgAEEoakIANwMAIABBIGpCADcDACAAQRBqQgA3AwAgAEEIakIANwMAIABB3QE2AhwLBgAgABAyC5otAQt/IwBBEGsiCiQAQaTQACgCACIJRQRAQeTTACgCACIFRQRAQfDTAEJ/NwIAQejTAEKAgISAgIDAADcCAEHk0wAgCkEIakFwcUHYqtWqBXMiBTYCAEH40wBBADYCAEHI0wBBADYCAAtBzNMAQYDUBDYCAEGc0ABBgNQENgIAQbDQACAFNgIAQazQAEF/NgIAQdDTAEGArAM2AgADQCABQcjQAGogAUG80ABqIgI2AgAgAiABQbTQAGoiAzYCACABQcDQAGogAzYCACABQdDQAGogAUHE0ABqIgM2AgAgAyACNgIAIAFB2NAAaiABQczQAGoiAjYCACACIAM2AgAgAUHU0ABqIAI2AgAgAUEgaiIBQYACRw0AC0GM1ARBwasDNgIAQajQAEH00wAoAgA2AgBBmNAAQcCrAzYCAEGk0ABBiNQENgIAQcz/B0E4NgIAQYjUBCEJCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB7AFNBEBBjNAAKAIAIgZBECAAQRNqQXBxIABBC0kbIgRBA3YiAHYiAUEDcQRAAkAgAUEBcSAAckEBcyICQQN0IgBBtNAAaiIBIABBvNAAaigCACIAKAIIIgNGBEBBjNAAIAZBfiACd3E2AgAMAQsgASADNgIIIAMgATYCDAsgAEEIaiEBIAAgAkEDdCICQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIEDBELQZTQACgCACIIIARPDQEgAQRAAkBBAiAAdCICQQAgAmtyIAEgAHRxaCIAQQN0IgJBtNAAaiIBIAJBvNAAaigCACICKAIIIgNGBEBBjNAAIAZBfiAAd3EiBjYCAAwBCyABIAM2AgggAyABNgIMCyACIARBA3I2AgQgAEEDdCIAIARrIQUgACACaiAFNgIAIAIgBGoiBCAFQQFyNgIEIAgEQCAIQXhxQbTQAGohAEGg0AAoAgAhAwJ/QQEgCEEDdnQiASAGcUUEQEGM0AAgASAGcjYCACAADAELIAAoAggLIgEgAzYCDCAAIAM2AgggAyAANgIMIAMgATYCCAsgAkEIaiEBQaDQACAENgIAQZTQACAFNgIADBELQZDQACgCACILRQ0BIAtoQQJ0QbzSAGooAgAiACgCBEF4cSAEayEFIAAhAgNAAkAgAigCECIBRQRAIAJBFGooAgAiAUUNAQsgASgCBEF4cSAEayIDIAVJIQIgAyAFIAIbIQUgASAAIAIbIQAgASECDAELCyAAKAIYIQkgACgCDCIDIABHBEBBnNAAKAIAGiADIAAoAggiATYCCCABIAM2AgwMEAsgAEEUaiICKAIAIgFFBEAgACgCECIBRQ0DIABBEGohAgsDQCACIQcgASIDQRRqIgIoAgAiAQ0AIANBEGohAiADKAIQIgENAAsgB0EANgIADA8LQX8hBCAAQb9/Sw0AIABBE2oiAUFwcSEEQZDQACgCACIIRQ0AQQAgBGshBQJAAkACQAJ/QQAgBEGAAkkNABpBHyAEQf///wdLDQAaIARBJiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmoLIgZBAnRBvNIAaigCACICRQRAQQAhAUEAIQMMAQtBACEBIARBGSAGQQF2a0EAIAZBH0cbdCEAQQAhAwNAAkAgAigCBEF4cSAEayIHIAVPDQAgAiEDIAciBQ0AQQAhBSACIQEMAwsgASACQRRqKAIAIgcgByACIABBHXZBBHFqQRBqKAIAIgJGGyABIAcbIQEgAEEBdCEAIAINAAsLIAEgA3JFBEBBACEDQQIgBnQiAEEAIABrciAIcSIARQ0DIABoQQJ0QbzSAGooAgAhAQsgAUUNAQsDQCABKAIEQXhxIARrIgIgBUkhACACIAUgABshBSABIAMgABshAyABKAIQIgAEfyAABSABQRRqKAIACyIBDQALCyADRQ0AIAVBlNAAKAIAIARrTw0AIAMoAhghByADIAMoAgwiAEcEQEGc0AAoAgAaIAAgAygCCCIBNgIIIAEgADYCDAwOCyADQRRqIgIoAgAiAUUEQCADKAIQIgFFDQMgA0EQaiECCwNAIAIhBiABIgBBFGoiAigCACIBDQAgAEEQaiECIAAoAhAiAQ0ACyAGQQA2AgAMDQtBlNAAKAIAIgMgBE8EQEGg0AAoAgAhAQJAIAMgBGsiAkEQTwRAIAEgBGoiACACQQFyNgIEIAEgA2ogAjYCACABIARBA3I2AgQMAQsgASADQQNyNgIEIAEgA2oiACAAKAIEQQFyNgIEQQAhAEEAIQILQZTQACACNgIAQaDQACAANgIAIAFBCGohAQwPC0GY0AAoAgAiAyAESwRAIAQgCWoiACADIARrIgFBAXI2AgRBpNAAIAA2AgBBmNAAIAE2AgAgCSAEQQNyNgIEIAlBCGohAQwPC0EAIQEgBAJ/QeTTACgCAARAQezTACgCAAwBC0Hw0wBCfzcCAEHo0wBCgICEgICAwAA3AgBB5NMAIApBDGpBcHFB2KrVqgVzNgIAQfjTAEEANgIAQcjTAEEANgIAQYCABAsiACAEQccAaiIFaiIGQQAgAGsiB3EiAk8EQEH80wBBMDYCAAwPCwJAQcTTACgCACIBRQ0AQbzTACgCACIIIAJqIQAgACABTSAAIAhLcQ0AQQAhAUH80wBBMDYCAAwPC0HI0wAtAABBBHENBAJAAkAgCQRAQczTACEBA0AgASgCACIAIAlNBEAgACABKAIEaiAJSw0DCyABKAIIIgENAAsLQQAQMyIAQX9GDQUgAiEGQejTACgCACIBQQFrIgMgAHEEQCACIABrIAAgA2pBACABa3FqIQYLIAQgBk8NBSAGQf7///8HSw0FQcTTACgCACIDBEBBvNMAKAIAIgcgBmohASABIAdNDQYgASADSw0GCyAGEDMiASAARw0BDAcLIAYgA2sgB3EiBkH+////B0sNBCAGEDMhACAAIAEoAgAgASgCBGpGDQMgACEBCwJAIAYgBEHIAGpPDQAgAUF/Rg0AQezTACgCACIAIAUgBmtqQQAgAGtxIgBB/v///wdLBEAgASEADAcLIAAQM0F/RwRAIAAgBmohBiABIQAMBwtBACAGaxAzGgwECyABIgBBf0cNBQwDC0EAIQMMDAtBACEADAoLIABBf0cNAgtByNMAQcjTACgCAEEEcjYCAAsgAkH+////B0sNASACEDMhAEEAEDMhASAAQX9GDQEgAUF/Rg0BIAAgAU8NASABIABrIgYgBEE4ak0NAQtBvNMAQbzTACgCACAGaiIBNgIAQcDTACgCACABSQRAQcDTACABNgIACwJAAkACQEGk0AAoAgAiAgRAQczTACEBA0AgACABKAIAIgMgASgCBCIFakYNAiABKAIIIgENAAsMAgtBnNAAKAIAIgFBAEcgACABT3FFBEBBnNAAIAA2AgALQQAhAUHQ0wAgBjYCAEHM0wAgADYCAEGs0ABBfzYCAEGw0ABB5NMAKAIANgIAQdjTAEEANgIAA0AgAUHI0ABqIAFBvNAAaiICNgIAIAIgAUG00ABqIgM2AgAgAUHA0ABqIAM2AgAgAUHQ0ABqIAFBxNAAaiIDNgIAIAMgAjYCACABQdjQAGogAUHM0ABqIgI2AgAgAiADNgIAIAFB1NAAaiACNgIAIAFBIGoiAUGAAkcNAAtBeCAAa0EPcSIBIABqIgIgBkE4ayIDIAFrIgFBAXI2AgRBqNAAQfTTACgCADYCAEGY0AAgATYCAEGk0AAgAjYCACAAIANqQTg2AgQMAgsgACACTQ0AIAIgA0kNACABKAIMQQhxDQBBeCACa0EPcSIAIAJqIgNBmNAAKAIAIAZqIgcgAGsiAEEBcjYCBCABIAUgBmo2AgRBqNAAQfTTACgCADYCAEGY0AAgADYCAEGk0AAgAzYCACACIAdqQTg2AgQMAQsgAEGc0AAoAgBJBEBBnNAAIAA2AgALIAAgBmohA0HM0wAhAQJAAkACQANAIAMgASgCAEcEQCABKAIIIgENAQwCCwsgAS0ADEEIcUUNAQtBzNMAIQEDQCABKAIAIgMgAk0EQCADIAEoAgRqIgUgAksNAwsgASgCCCEBDAALAAsgASAANgIAIAEgASgCBCAGajYCBCAAQXggAGtBD3FqIgkgBEEDcjYCBCADQXggA2tBD3FqIgYgBCAJaiIEayEBIAIgBkYEQEGk0AAgBDYCAEGY0ABBmNAAKAIAIAFqIgA2AgAgBCAAQQFyNgIEDAgLQaDQACgCACAGRgRAQaDQACAENgIAQZTQAEGU0AAoAgAgAWoiADYCACAEIABBAXI2AgQgACAEaiAANgIADAgLIAYoAgQiBUEDcUEBRw0GIAVBeHEhCCAFQf8BTQRAIAVBA3YhAyAGKAIIIgAgBigCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBwsgAiAANgIIIAAgAjYCDAwGCyAGKAIYIQcgBiAGKAIMIgBHBEAgACAGKAIIIgI2AgggAiAANgIMDAULIAZBFGoiAigCACIFRQRAIAYoAhAiBUUNBCAGQRBqIQILA0AgAiEDIAUiAEEUaiICKAIAIgUNACAAQRBqIQIgACgCECIFDQALIANBADYCAAwEC0F4IABrQQ9xIgEgAGoiByAGQThrIgMgAWsiAUEBcjYCBCAAIANqQTg2AgQgAiAFQTcgBWtBD3FqQT9rIgMgAyACQRBqSRsiA0EjNgIEQajQAEH00wAoAgA2AgBBmNAAIAE2AgBBpNAAIAc2AgAgA0EQakHU0wApAgA3AgAgA0HM0wApAgA3AghB1NMAIANBCGo2AgBB0NMAIAY2AgBBzNMAIAA2AgBB2NMAQQA2AgAgA0EkaiEBA0AgAUEHNgIAIAUgAUEEaiIBSw0ACyACIANGDQAgAyADKAIEQX5xNgIEIAMgAyACayIFNgIAIAIgBUEBcjYCBCAFQf8BTQRAIAVBeHFBtNAAaiEAAn9BjNAAKAIAIgFBASAFQQN2dCIDcUUEQEGM0AAgASADcjYCACAADAELIAAoAggLIgEgAjYCDCAAIAI2AgggAiAANgIMIAIgATYCCAwBC0EfIQEgBUH///8HTQRAIAVBJiAFQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAQsgAiABNgIcIAJCADcCECABQQJ0QbzSAGohAEGQ0AAoAgAiA0EBIAF0IgZxRQRAIAAgAjYCAEGQ0AAgAyAGcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQMCQANAIAMiACgCBEF4cSAFRg0BIAFBHXYhAyABQQF0IQEgACADQQRxakEQaiIGKAIAIgMNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAtBmNAAKAIAIgEgBE0NAEGk0AAoAgAiACAEaiICIAEgBGsiAUEBcjYCBEGY0AAgATYCAEGk0AAgAjYCACAAIARBA3I2AgQgAEEIaiEBDAgLQQAhAUH80wBBMDYCAAwHC0EAIQALIAdFDQACQCAGKAIcIgJBAnRBvNIAaiIDKAIAIAZGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAdBEEEUIAcoAhAgBkYbaiAANgIAIABFDQELIAAgBzYCGCAGKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAGQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAIaiEBIAYgCGoiBigCBCEFCyAGIAVBfnE2AgQgASAEaiABNgIAIAQgAUEBcjYCBCABQf8BTQRAIAFBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASABQQN2dCIBcUUEQEGM0AAgASACcjYCACAADAELIAAoAggLIgEgBDYCDCAAIAQ2AgggBCAANgIMIAQgATYCCAwBC0EfIQUgAUH///8HTQRAIAFBJiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmohBQsgBCAFNgIcIARCADcCECAFQQJ0QbzSAGohAEGQ0AAoAgAiAkEBIAV0IgNxRQRAIAAgBDYCAEGQ0AAgAiADcjYCACAEIAA2AhggBCAENgIIIAQgBDYCDAwBCyABQRkgBUEBdmtBACAFQR9HG3QhBSAAKAIAIQACQANAIAAiAigCBEF4cSABRg0BIAVBHXYhACAFQQF0IQUgAiAAQQRxakEQaiIDKAIAIgANAAsgAyAENgIAIAQgAjYCGCAEIAQ2AgwgBCAENgIIDAELIAIoAggiACAENgIMIAIgBDYCCCAEQQA2AhggBCACNgIMIAQgADYCCAsgCUEIaiEBDAILAkAgB0UNAAJAIAMoAhwiAUECdEG80gBqIgIoAgAgA0YEQCACIAA2AgAgAA0BQZDQACAIQX4gAXdxIgg2AgAMAgsgB0EQQRQgBygCECADRhtqIAA2AgAgAEUNAQsgACAHNgIYIAMoAhAiAQRAIAAgATYCECABIAA2AhgLIANBFGooAgAiAUUNACAAQRRqIAE2AgAgASAANgIYCwJAIAVBD00EQCADIAQgBWoiAEEDcjYCBCAAIANqIgAgACgCBEEBcjYCBAwBCyADIARqIgIgBUEBcjYCBCADIARBA3I2AgQgAiAFaiAFNgIAIAVB/wFNBEAgBUF4cUG00ABqIQACf0GM0AAoAgAiAUEBIAVBA3Z0IgVxRQRAQYzQACABIAVyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRBvNIAaiEAQQEgAXQiBCAIcUUEQCAAIAI2AgBBkNAAIAQgCHI2AgAgAiAANgIYIAIgAjYCCCACIAI2AgwMAQsgBUEZIAFBAXZrQQAgAUEfRxt0IQEgACgCACEEAkADQCAEIgAoAgRBeHEgBUYNASABQR12IQQgAUEBdCEBIAAgBEEEcWpBEGoiBigCACIEDQALIAYgAjYCACACIAA2AhggAiACNgIMIAIgAjYCCAwBCyAAKAIIIgEgAjYCDCAAIAI2AgggAkEANgIYIAIgADYCDCACIAE2AggLIANBCGohAQwBCwJAIAlFDQACQCAAKAIcIgFBAnRBvNIAaiICKAIAIABGBEAgAiADNgIAIAMNAUGQ0AAgC0F+IAF3cTYCAAwCCyAJQRBBFCAJKAIQIABGG2ogAzYCACADRQ0BCyADIAk2AhggACgCECIBBEAgAyABNgIQIAEgAzYCGAsgAEEUaigCACIBRQ0AIANBFGogATYCACABIAM2AhgLAkAgBUEPTQRAIAAgBCAFaiIBQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAELIAAgBGoiByAFQQFyNgIEIAAgBEEDcjYCBCAFIAdqIAU2AgAgCARAIAhBeHFBtNAAaiEBQaDQACgCACEDAn9BASAIQQN2dCICIAZxRQRAQYzQACACIAZyNgIAIAEMAQsgASgCCAsiAiADNgIMIAEgAzYCCCADIAE2AgwgAyACNgIIC0Gg0AAgBzYCAEGU0AAgBTYCAAsgAEEIaiEBCyAKQRBqJAAgAQtDACAARQRAPwBBEHQPCwJAIABB//8DcQ0AIABBAEgNACAAQRB2QAAiAEF/RgRAQfzTAEEwNgIAQX8PCyAAQRB0DwsACwvcPyIAQYAICwkBAAAAAgAAAAMAQZQICwUEAAAABQBBpAgLCQYAAAAHAAAACABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+var require_llhttp_simd_wasm2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+    "use strict";
+    var { Buffer: Buffer2 } = require("node:buffer");
+    module2.exports = Buffer2.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");
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js
+var require_constants8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
+    "use strict";
+    var corsSafeListedMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "POST"]
+    );
+    var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
+    var nullBodyStatus = (
+      /** @type {const} */
+      [101, 204, 205, 304]
+    );
+    var redirectStatus = (
+      /** @type {const} */
+      [301, 302, 303, 307, 308]
+    );
+    var redirectStatusSet = new Set(redirectStatus);
+    var badPorts = (
+      /** @type {const} */
+      [
+        "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"
+      ]
+    );
+    var badPortsSet = new Set(badPorts);
+    var referrerPolicy = (
+      /** @type {const} */
+      [
+        "",
+        "no-referrer",
+        "no-referrer-when-downgrade",
+        "same-origin",
+        "origin",
+        "strict-origin",
+        "origin-when-cross-origin",
+        "strict-origin-when-cross-origin",
+        "unsafe-url"
+      ]
+    );
+    var referrerPolicySet = new Set(referrerPolicy);
+    var requestRedirect = (
+      /** @type {const} */
+      ["follow", "manual", "error"]
+    );
+    var safeMethods = (
+      /** @type {const} */
+      ["GET", "HEAD", "OPTIONS", "TRACE"]
+    );
+    var safeMethodsSet = new Set(safeMethods);
+    var requestMode = (
+      /** @type {const} */
+      ["navigate", "same-origin", "no-cors", "cors"]
+    );
+    var requestCredentials = (
+      /** @type {const} */
+      ["omit", "same-origin", "include"]
+    );
+    var requestCache = (
+      /** @type {const} */
+      [
+        "default",
+        "no-store",
+        "reload",
+        "no-cache",
+        "force-cache",
+        "only-if-cached"
+      ]
+    );
+    var requestBodyHeader = (
+      /** @type {const} */
+      [
+        "content-encoding",
+        "content-language",
+        "content-location",
+        "content-type",
+        // See https://github.com/nodejs/undici/issues/2021
+        // 'Content-Length' is a forbidden header name, which is typically
+        // removed in the Headers implementation. However, undici doesn't
+        // filter out headers, so we add it here.
+        "content-length"
+      ]
+    );
+    var requestDuplex = (
+      /** @type {const} */
+      [
+        "half"
+      ]
+    );
+    var forbiddenMethods = (
+      /** @type {const} */
+      ["CONNECT", "TRACE", "TRACK"]
+    );
+    var forbiddenMethodsSet = new Set(forbiddenMethods);
+    var subresource = (
+      /** @type {const} */
+      [
+        "audio",
+        "audioworklet",
+        "font",
+        "image",
+        "manifest",
+        "paintworklet",
+        "script",
+        "style",
+        "track",
+        "video",
+        "xslt",
+        ""
+      ]
+    );
+    var subresourceSet = new Set(subresource);
+    module2.exports = {
+      subresource,
+      forbiddenMethods,
+      requestBodyHeader,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      redirectStatus,
+      corsSafeListedMethods,
+      nullBodyStatus,
+      safeMethods,
+      badPorts,
+      requestDuplex,
+      subresourceSet,
+      badPortsSet,
+      redirectStatusSet,
+      corsSafeListedMethodsSet,
+      safeMethodsSet,
+      forbiddenMethodsSet,
+      referrerPolicySet
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js
+var require_global3 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+    "use strict";
+    var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
+    function getGlobalOrigin() {
+      return globalThis[globalOrigin];
+    }
+    function setGlobalOrigin(newOrigin) {
+      if (newOrigin === void 0) {
+        Object.defineProperty(globalThis, globalOrigin, {
+          value: void 0,
+          writable: true,
+          enumerable: false,
+          configurable: false
+        });
+        return;
+      }
+      const parsedURL = new URL(newOrigin);
+      if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
+        throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
+      }
+      Object.defineProperty(globalThis, globalOrigin, {
+        value: parsedURL,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    module2.exports = {
+      getGlobalOrigin,
+      setGlobalOrigin
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js
+var require_data_url2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var encoder = new TextEncoder();
+    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;
+    var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/;
+    var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
+    var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+    function dataURLProcessor(dataURL) {
+      assert(dataURL.protocol === "data:");
+      let input = URLSerializer(dataURL, true);
+      input = input.slice(5);
+      const position = { position: 0 };
+      let mimeType = collectASequenceOfCodePointsFast(
+        ",",
+        input,
+        position
+      );
+      const mimeTypeLength = mimeType.length;
+      mimeType = removeASCIIWhitespace(mimeType, true, true);
+      if (position.position >= input.length) {
+        return "failure";
+      }
+      position.position++;
+      const encodedBody = input.slice(mimeTypeLength + 1);
+      let body = stringPercentDecode(encodedBody);
+      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
+        const stringBody = isomorphicDecode(body);
+        body = forgivingBase64(stringBody);
+        if (body === "failure") {
+          return "failure";
+        }
+        mimeType = mimeType.slice(0, -6);
+        mimeType = mimeType.replace(/(\u0020)+$/, "");
+        mimeType = mimeType.slice(0, -1);
+      }
+      if (mimeType.startsWith(";")) {
+        mimeType = "text/plain" + mimeType;
+      }
+      let mimeTypeRecord = parseMIMEType(mimeType);
+      if (mimeTypeRecord === "failure") {
+        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      }
+      return { mimeType: mimeTypeRecord, body };
+    }
+    function URLSerializer(url2, excludeFragment = false) {
+      if (!excludeFragment) {
+        return url2.href;
+      }
+      const href = url2.href;
+      const hashLength = url2.hash.length;
+      const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
+      if (!hashLength && href.endsWith("#")) {
+        return serialized.slice(0, -1);
+      }
+      return serialized;
+    }
+    function collectASequenceOfCodePoints(condition, input, position) {
+      let result = "";
+      while (position.position < input.length && condition(input[position.position])) {
+        result += input[position.position];
+        position.position++;
+      }
+      return result;
+    }
+    function collectASequenceOfCodePointsFast(char, input, position) {
+      const idx = input.indexOf(char, position.position);
+      const start = position.position;
+      if (idx === -1) {
+        position.position = input.length;
+        return input.slice(start);
+      }
+      position.position = idx;
+      return input.slice(start, position.position);
+    }
+    function stringPercentDecode(input) {
+      const bytes = encoder.encode(input);
+      return percentDecode(bytes);
+    }
+    function isHexCharByte(byte) {
+      return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
+    }
+    function hexByteToNumber(byte) {
+      return (
+        // 0-9
+        byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
+      );
+    }
+    function percentDecode(input) {
+      const length = input.length;
+      const output = new Uint8Array(length);
+      let j = 0;
+      for (let i = 0; i < length; ++i) {
+        const byte = input[i];
+        if (byte !== 37) {
+          output[j++] = byte;
+        } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) {
+          output[j++] = 37;
+        } else {
+          output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]);
+          i += 2;
+        }
+      }
+      return length === j ? output : output.subarray(0, j);
+    }
+    function parseMIMEType(input) {
+      input = removeHTTPWhitespace(input, true, true);
+      const position = { position: 0 };
+      const type2 = collectASequenceOfCodePointsFast(
+        "/",
+        input,
+        position
+      );
+      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
+        return "failure";
+      }
+      if (position.position > input.length) {
+        return "failure";
+      }
+      position.position++;
+      let subtype = collectASequenceOfCodePointsFast(
+        ";",
+        input,
+        position
+      );
+      subtype = removeHTTPWhitespace(subtype, false, true);
+      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
+        return "failure";
+      }
+      const typeLowercase = type2.toLowerCase();
+      const subtypeLowercase = subtype.toLowerCase();
+      const mimeType = {
+        type: typeLowercase,
+        subtype: subtypeLowercase,
+        /** @type {Map} */
+        parameters: /* @__PURE__ */ new Map(),
+        // https://mimesniff.spec.whatwg.org/#mime-type-essence
+        essence: `${typeLowercase}/${subtypeLowercase}`
+      };
+      while (position.position < input.length) {
+        position.position++;
+        collectASequenceOfCodePoints(
+          // https://fetch.spec.whatwg.org/#http-whitespace
+          (char) => HTTP_WHITESPACE_REGEX.test(char),
+          input,
+          position
+        );
+        let parameterName = collectASequenceOfCodePoints(
+          (char) => char !== ";" && char !== "=",
+          input,
+          position
+        );
+        parameterName = parameterName.toLowerCase();
+        if (position.position < input.length) {
+          if (input[position.position] === ";") {
+            continue;
+          }
+          position.position++;
+        }
+        if (position.position > input.length) {
+          break;
+        }
+        let parameterValue = null;
+        if (input[position.position] === '"') {
+          parameterValue = collectAnHTTPQuotedString(input, position, true);
+          collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+        } else {
+          parameterValue = collectASequenceOfCodePointsFast(
+            ";",
+            input,
+            position
+          );
+          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
+          if (parameterValue.length === 0) {
+            continue;
+          }
+        }
+        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
+          mimeType.parameters.set(parameterName, parameterValue);
+        }
+      }
+      return mimeType;
+    }
+    function forgivingBase64(data) {
+      data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
+      let dataLength = data.length;
+      if (dataLength % 4 === 0) {
+        if (data.charCodeAt(dataLength - 1) === 61) {
+          --dataLength;
+          if (data.charCodeAt(dataLength - 1) === 61) {
+            --dataLength;
+          }
+        }
+      }
+      if (dataLength % 4 === 1) {
+        return "failure";
+      }
+      if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
+        return "failure";
+      }
+      const buffer = Buffer.from(data, "base64");
+      return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+    }
+    function collectAnHTTPQuotedString(input, position, extractValue) {
+      const positionStart = position.position;
+      let value = "";
+      assert(input[position.position] === '"');
+      position.position++;
+      while (true) {
+        value += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== "\\",
+          input,
+          position
+        );
+        if (position.position >= input.length) {
+          break;
+        }
+        const quoteOrBackslash = input[position.position];
+        position.position++;
+        if (quoteOrBackslash === "\\") {
+          if (position.position >= input.length) {
+            value += "\\";
+            break;
+          }
+          value += input[position.position];
+          position.position++;
+        } else {
+          assert(quoteOrBackslash === '"');
+          break;
+        }
+      }
+      if (extractValue) {
+        return value;
+      }
+      return input.slice(positionStart, position.position);
+    }
+    function serializeAMimeType(mimeType) {
+      assert(mimeType !== "failure");
+      const { parameters, essence } = mimeType;
+      let serialization = essence;
+      for (let [name, value] of parameters.entries()) {
+        serialization += ";";
+        serialization += name;
+        serialization += "=";
+        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
+          value = value.replace(/(\\|")/g, "\\$1");
+          value = '"' + value;
+          value += '"';
+        }
+        serialization += value;
+      }
+      return serialization;
+    }
+    function isHTTPWhiteSpace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 32;
+    }
+    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
+    }
+    function isASCIIWhitespace(char) {
+      return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
+    }
+    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
+      return removeChars(str2, leading, trailing, isASCIIWhitespace);
+    }
+    function removeChars(str2, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = str2.length - 1;
+      if (leading) {
+        while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
+      }
+      return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
+    }
+    function isomorphicDecode(input) {
+      const length = input.length;
+      if ((2 << 15) - 1 > length) {
+        return String.fromCharCode.apply(null, input);
+      }
+      let result = "";
+      let i = 0;
+      let addition = (2 << 15) - 1;
+      while (i < length) {
+        if (i + addition > length) {
+          addition = length - i;
+        }
+        result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
+      }
+      return result;
+    }
+    function minimizeSupportedMimeType(mimeType) {
+      switch (mimeType.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";
+      }
+      if (mimeType.subtype.endsWith("+json")) {
+        return "application/json";
+      }
+      if (mimeType.subtype.endsWith("+xml")) {
+        return "application/xml";
+      }
+      return "";
+    }
+    module2.exports = {
+      dataURLProcessor,
+      URLSerializer,
+      collectASequenceOfCodePoints,
+      collectASequenceOfCodePointsFast,
+      stringPercentDecode,
+      parseMIMEType,
+      collectAnHTTPQuotedString,
+      serializeAMimeType,
+      removeChars,
+      removeHTTPWhitespace,
+      minimizeSupportedMimeType,
+      HTTP_TOKEN_CODEPOINTS,
+      isomorphicDecode
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js
+var require_webidl2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+    "use strict";
+    var { types, inspect } = require("node:util");
+    var { markAsUncloneable } = require("node:worker_threads");
+    var { toUSVString } = require_util9();
+    var webidl = {};
+    webidl.converters = {};
+    webidl.util = {};
+    webidl.errors = {};
+    webidl.errors.exception = function(message) {
+      return new TypeError(`${message.header}: ${message.message}`);
+    };
+    webidl.errors.conversionFailed = function(context2) {
+      const plural = context2.types.length === 1 ? "" : " one of";
+      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message
+      });
+    };
+    webidl.errors.invalidArgument = function(context2) {
+      return webidl.errors.exception({
+        header: context2.prefix,
+        message: `"${context2.value}" is an invalid ${context2.type}.`
+      });
+    };
+    webidl.brandCheck = function(V, I, opts) {
+      if (opts?.strict !== false) {
+        if (!(V instanceof I)) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      } else {
+        if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {
+          const err = new TypeError("Illegal invocation");
+          err.code = "ERR_INVALID_THIS";
+          throw err;
+        }
+      }
+    };
+    webidl.argumentLengthCheck = function({ length }, min, ctx) {
+      if (length < min) {
+        throw webidl.errors.exception({
+          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
+          header: ctx
+        });
+      }
+    };
+    webidl.illegalConstructor = function() {
+      throw webidl.errors.exception({
+        header: "TypeError",
+        message: "Illegal constructor"
+      });
+    };
+    webidl.util.Type = function(V) {
+      switch (typeof V) {
+        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": {
+          if (V === null) {
+            return "Null";
+          }
+          return "Object";
+        }
+      }
+    };
+    webidl.util.markAsUncloneable = markAsUncloneable || (() => {
+    });
+    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts) {
+      let upperBound;
+      let lowerBound;
+      if (bitLength === 64) {
+        upperBound = Math.pow(2, 53) - 1;
+        if (signedness === "unsigned") {
+          lowerBound = 0;
+        } else {
+          lowerBound = Math.pow(-2, 53) + 1;
+        }
+      } else if (signedness === "unsigned") {
+        lowerBound = 0;
+        upperBound = Math.pow(2, bitLength) - 1;
+      } else {
+        lowerBound = Math.pow(-2, bitLength) - 1;
+        upperBound = Math.pow(2, bitLength - 1) - 1;
+      }
+      let x = Number(V);
+      if (x === 0) {
+        x = 0;
+      }
+      if (opts?.enforceRange === true) {
+        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
+          });
+        }
+        x = webidl.util.IntegerPart(x);
+        if (x < lowerBound || x > upperBound) {
+          throw webidl.errors.exception({
+            header: "Integer conversion",
+            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
+          });
+        }
+        return x;
+      }
+      if (!Number.isNaN(x) && opts?.clamp === true) {
+        x = Math.min(Math.max(x, lowerBound), upperBound);
+        if (Math.floor(x) % 2 === 0) {
+          x = Math.floor(x);
+        } else {
+          x = Math.ceil(x);
+        }
+        return x;
+      }
+      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
+        return 0;
+      }
+      x = webidl.util.IntegerPart(x);
+      x = x % Math.pow(2, bitLength);
+      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
+        return x - Math.pow(2, bitLength);
+      }
+      return x;
+    };
+    webidl.util.IntegerPart = function(n) {
+      const r = Math.floor(Math.abs(n));
+      if (n < 0) {
+        return -1 * r;
+      }
+      return r;
+    };
+    webidl.util.Stringify = function(V) {
+      const type2 = webidl.util.Type(V);
+      switch (type2) {
+        case "Symbol":
+          return `Symbol(${V.description})`;
+        case "Object":
+          return inspect(V);
+        case "String":
+          return `"${V}"`;
+        default:
+          return `${V}`;
+      }
+    };
+    webidl.sequenceConverter = function(converter) {
+      return (V, prefix, argument, Iterable) => {
+        if (webidl.util.Type(V) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
+          });
+        }
+        const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
+        const seq2 = [];
+        let index = 0;
+        if (method === void 0 || typeof method.next !== "function") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} is not iterable.`
+          });
+        }
+        while (true) {
+          const { done, value } = method.next();
+          if (done) {
+            break;
+          }
+          seq2.push(converter(value, prefix, `${argument}[${index++}]`));
+        }
+        return seq2;
+      };
+    };
+    webidl.recordConverter = function(keyConverter, valueConverter) {
+      return (O, prefix, argument) => {
+        if (webidl.util.Type(O) !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `${argument} ("${webidl.util.Type(O)}") is not an Object.`
+          });
+        }
+        const result = {};
+        if (!types.isProxy(O)) {
+          const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
+          for (const key of keys2) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+          return result;
+        }
+        const keys = Reflect.ownKeys(O);
+        for (const key of keys) {
+          const desc = Reflect.getOwnPropertyDescriptor(O, key);
+          if (desc?.enumerable) {
+            const typedKey = keyConverter(key, prefix, argument);
+            const typedValue = valueConverter(O[key], prefix, argument);
+            result[typedKey] = typedValue;
+          }
+        }
+        return result;
+      };
+    };
+    webidl.interfaceConverter = function(i) {
+      return (V, prefix, argument, opts) => {
+        if (opts?.strict !== false && !(V instanceof i)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${i.name}.`
+          });
+        }
+        return V;
+      };
+    };
+    webidl.dictionaryConverter = function(converters) {
+      return (dictionary, prefix, argument) => {
+        const type2 = webidl.util.Type(dictionary);
+        const dict = {};
+        if (type2 === "Null" || type2 === "Undefined") {
+          return dict;
+        } else if (type2 !== "Object") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
+          });
+        }
+        for (const options of converters) {
+          const { key, defaultValue, required, converter } = options;
+          if (required === true) {
+            if (!Object.hasOwn(dictionary, key)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `Missing required key "${key}".`
+              });
+            }
+          }
+          let value = dictionary[key];
+          const hasDefault = Object.hasOwn(options, "defaultValue");
+          if (hasDefault && value !== null) {
+            value ??= defaultValue();
+          }
+          if (required || hasDefault || value !== void 0) {
+            value = converter(value, prefix, `${argument}.${key}`);
+            if (options.allowedValues && !options.allowedValues.includes(value)) {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
+              });
+            }
+            dict[key] = value;
+          }
+        }
+        return dict;
+      };
+    };
+    webidl.nullableConverter = function(converter) {
+      return (V, prefix, argument) => {
+        if (V === null) {
+          return V;
+        }
+        return converter(V, prefix, argument);
+      };
+    };
+    webidl.converters.DOMString = function(V, prefix, argument, opts) {
+      if (V === null && opts?.legacyNullToEmptyString) {
+        return "";
+      }
+      if (typeof V === "symbol") {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${argument} is a symbol, which cannot be converted to a DOMString.`
+        });
+      }
+      return String(V);
+    };
+    webidl.converters.ByteString = function(V, prefix, argument) {
+      const x = webidl.converters.DOMString(V, prefix, argument);
+      for (let index = 0; index < x.length; index++) {
+        if (x.charCodeAt(index) > 255) {
+          throw new TypeError(
+            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
+          );
+        }
+      }
+      return x;
+    };
+    webidl.converters.USVString = toUSVString;
+    webidl.converters.boolean = function(V) {
+      const x = Boolean(V);
+      return x;
+    };
+    webidl.converters.any = function(V) {
+      return V;
+    };
+    webidl.converters["long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "signed", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 64, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned long"] = function(V, prefix, argument) {
+      const x = webidl.util.ConvertToInt(V, 32, "unsigned", void 0, prefix, argument);
+      return x;
+    };
+    webidl.converters["unsigned short"] = function(V, prefix, argument, opts) {
+      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts, prefix, argument);
+      return x;
+    };
+    webidl.converters.ArrayBuffer = function(V, prefix, argument, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${argument} ("${webidl.util.Stringify(V)}")`,
+          types: ["ArrayBuffer"]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.resizable || V.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.TypedArray = function(V, T, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
+        throw webidl.errors.conversionFailed({
+          prefix,
+          argument: `${name} ("${webidl.util.Stringify(V)}")`,
+          types: [T.name]
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.DataView = function(V, prefix, name, opts) {
+      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
+        throw webidl.errors.exception({
+          header: prefix,
+          message: `${name} is not a DataView.`
+        });
+      }
+      if (opts?.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "SharedArrayBuffer is not allowed."
+        });
+      }
+      if (V.buffer.resizable || V.buffer.growable) {
+        throw webidl.errors.exception({
+          header: "ArrayBuffer",
+          message: "Received a resizable ArrayBuffer."
+        });
+      }
+      return V;
+    };
+    webidl.converters.BufferSource = function(V, prefix, name, opts) {
+      if (types.isAnyArrayBuffer(V)) {
+        return webidl.converters.ArrayBuffer(V, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isTypedArray(V)) {
+        return webidl.converters.TypedArray(V, V.constructor, prefix, name, { ...opts, allowShared: false });
+      }
+      if (types.isDataView(V)) {
+        return webidl.converters.DataView(V, prefix, name, { ...opts, allowShared: false });
+      }
+      throw webidl.errors.conversionFailed({
+        prefix,
+        argument: `${name} ("${webidl.util.Stringify(V)}")`,
+        types: ["BufferSource"]
+      });
+    };
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.ByteString
+    );
+    webidl.converters["sequence>"] = webidl.sequenceConverter(
+      webidl.converters["sequence"]
+    );
+    webidl.converters["record"] = webidl.recordConverter(
+      webidl.converters.ByteString,
+      webidl.converters.ByteString
+    );
+    module2.exports = {
+      webidl
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js
+var require_util10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var zlib2 = require("node:zlib");
+    var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants8();
+    var { getGlobalOrigin } = require_global3();
+    var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url2();
+    var { performance: performance3 } = require("node:perf_hooks");
+    var { isBlobLike, ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util9();
+    var assert = require("node:assert");
+    var { isUint8Array } = require("node:util/types");
+    var { webidl } = require_webidl2();
+    var supportedHashes = [];
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+      const possibleRelevantHashes = ["sha256", "sha384", "sha512"];
+      supportedHashes = crypto2.getHashes().filter((hash2) => possibleRelevantHashes.includes(hash2));
+    } catch {
+    }
+    function responseURL(response) {
+      const urlList = response.urlList;
+      const length = urlList.length;
+      return length === 0 ? null : urlList[length - 1].toString();
+    }
+    function responseLocationURL(response, requestFragment) {
+      if (!redirectStatusSet.has(response.status)) {
+        return null;
+      }
+      let location = response.headersList.get("location", true);
+      if (location !== null && isValidHeaderValue(location)) {
+        if (!isValidEncodedURL(location)) {
+          location = normalizeBinaryStringToUtf8(location);
+        }
+        location = new URL(location, responseURL(response));
+      }
+      if (location && !location.hash) {
+        location.hash = requestFragment;
+      }
+      return location;
+    }
+    function isValidEncodedURL(url2) {
+      for (let i = 0; i < url2.length; ++i) {
+        const code = url2.charCodeAt(i);
+        if (code > 126 || // Non-US-ASCII + DEL
+        code < 32) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function normalizeBinaryStringToUtf8(value) {
+      return Buffer.from(value, "binary").toString("utf8");
+    }
+    function requestCurrentURL(request2) {
+      return request2.urlList[request2.urlList.length - 1];
+    }
+    function requestBadPort(request2) {
+      const url2 = requestCurrentURL(request2);
+      if (urlIsHttpHttpsScheme(url2) && badPortsSet.has(url2.port)) {
+        return "blocked";
+      }
+      return "allowed";
+    }
+    function isErrorLike(object) {
+      return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
+    }
+    function isValidReasonPhrase(statusText) {
+      for (let i = 0; i < statusText.length; ++i) {
+        const c = statusText.charCodeAt(i);
+        if (!(c === 9 || // HTAB
+        c >= 32 && c <= 126 || // SP / VCHAR
+        c >= 128 && c <= 255)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    var isValidHeaderName = isValidHTTPToken;
+    function isValidHeaderValue(potentialValue) {
+      return (potentialValue[0] === "	" || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === "	" || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
+    }
+    function setRequestReferrerPolicyOnRedirect(request2, actualResponse) {
+      const { headersList } = actualResponse;
+      const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(",");
+      let policy = "";
+      if (policyHeader.length > 0) {
+        for (let i = policyHeader.length; i !== 0; i--) {
+          const token = policyHeader[i - 1].trim();
+          if (referrerPolicyTokens.has(token)) {
+            policy = token;
+            break;
+          }
+        }
+      }
+      if (policy !== "") {
+        request2.referrerPolicy = policy;
+      }
+    }
+    function crossOriginResourcePolicyCheck() {
+      return "allowed";
+    }
+    function corsCheck() {
+      return "success";
+    }
+    function TAOCheck() {
+      return "success";
+    }
+    function appendFetchMetadata(httpRequest) {
+      let header = null;
+      header = httpRequest.mode;
+      httpRequest.headersList.set("sec-fetch-mode", header, true);
+    }
+    function appendRequestOriginHeader(request2) {
+      let serializedOrigin = request2.origin;
+      if (serializedOrigin === "client" || serializedOrigin === void 0) {
+        return;
+      }
+      if (request2.responseTainting === "cors" || request2.mode === "websocket") {
+        request2.headersList.append("origin", serializedOrigin, true);
+      } else if (request2.method !== "GET" && request2.method !== "HEAD") {
+        switch (request2.referrerPolicy) {
+          case "no-referrer":
+            serializedOrigin = null;
+            break;
+          case "no-referrer-when-downgrade":
+          case "strict-origin":
+          case "strict-origin-when-cross-origin":
+            if (request2.origin && urlHasHttpsScheme(request2.origin) && !urlHasHttpsScheme(requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          case "same-origin":
+            if (!sameOrigin(request2, requestCurrentURL(request2))) {
+              serializedOrigin = null;
+            }
+            break;
+          default:
+        }
+        request2.headersList.append("origin", serializedOrigin, true);
+      }
+    }
+    function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
+      return timestamp2;
+    }
+    function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
+      if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
+        return {
+          domainLookupStartTime: defaultStartTime,
+          domainLookupEndTime: defaultStartTime,
+          connectionStartTime: defaultStartTime,
+          connectionEndTime: defaultStartTime,
+          secureConnectionStartTime: defaultStartTime,
+          ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
+        };
+      }
+      return {
+        domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
+        domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
+        connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
+        connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
+        secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
+        ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
+      };
+    }
+    function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
+      return coarsenTime(performance3.now(), crossOriginIsolatedCapability);
+    }
+    function createOpaqueTimingInfo(timingInfo) {
+      return {
+        startTime: timingInfo.startTime ?? 0,
+        redirectStartTime: 0,
+        redirectEndTime: 0,
+        postRedirectStartTime: timingInfo.startTime ?? 0,
+        finalServiceWorkerStartTime: 0,
+        finalNetworkResponseStartTime: 0,
+        finalNetworkRequestStartTime: 0,
+        endTime: 0,
+        encodedBodySize: 0,
+        decodedBodySize: 0,
+        finalConnectionTimingInfo: null
+      };
+    }
+    function makePolicyContainer() {
+      return {
+        referrerPolicy: "strict-origin-when-cross-origin"
+      };
+    }
+    function clonePolicyContainer(policyContainer) {
+      return {
+        referrerPolicy: policyContainer.referrerPolicy
+      };
+    }
+    function determineRequestsReferrer(request2) {
+      const policy = request2.referrerPolicy;
+      assert(policy);
+      let referrerSource = null;
+      if (request2.referrer === "client") {
+        const globalOrigin = getGlobalOrigin();
+        if (!globalOrigin || globalOrigin.origin === "null") {
+          return "no-referrer";
+        }
+        referrerSource = new URL(globalOrigin);
+      } else if (request2.referrer instanceof URL) {
+        referrerSource = request2.referrer;
+      }
+      let referrerURL = stripURLForReferrer(referrerSource);
+      const referrerOrigin = stripURLForReferrer(referrerSource, true);
+      if (referrerURL.toString().length > 4096) {
+        referrerURL = referrerOrigin;
+      }
+      const areSameOrigin = sameOrigin(request2, referrerURL);
+      const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request2.url);
+      switch (policy) {
+        case "origin":
+          return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
+        case "unsafe-url":
+          return referrerURL;
+        case "same-origin":
+          return areSameOrigin ? referrerOrigin : "no-referrer";
+        case "origin-when-cross-origin":
+          return areSameOrigin ? referrerURL : referrerOrigin;
+        case "strict-origin-when-cross-origin": {
+          const currentURL = requestCurrentURL(request2);
+          if (sameOrigin(referrerURL, currentURL)) {
+            return referrerURL;
+          }
+          if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
+            return "no-referrer";
+          }
+          return referrerOrigin;
+        }
+        case "strict-origin":
+        // eslint-disable-line
+        /**
+           * 1. If referrerURL is a potentially trustworthy URL and
+           * request’s current URL is not a potentially trustworthy URL,
+           * then return no referrer.
+           * 2. Return referrerOrigin
+          */
+        case "no-referrer-when-downgrade":
+        // eslint-disable-line
+        /**
+         * 1. If referrerURL is a potentially trustworthy URL and
+         * request’s current URL is not a potentially trustworthy URL,
+         * then return no referrer.
+         * 2. Return referrerOrigin
+        */
+        default:
+          return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
+      }
+    }
+    function stripURLForReferrer(url2, originOnly) {
+      assert(url2 instanceof URL);
+      url2 = new URL(url2);
+      if (url2.protocol === "file:" || url2.protocol === "about:" || url2.protocol === "blank:") {
+        return "no-referrer";
+      }
+      url2.username = "";
+      url2.password = "";
+      url2.hash = "";
+      if (originOnly) {
+        url2.pathname = "";
+        url2.search = "";
+      }
+      return url2;
+    }
+    function isURLPotentiallyTrustworthy(url2) {
+      if (!(url2 instanceof URL)) {
+        return false;
+      }
+      if (url2.href === "about:blank" || url2.href === "about:srcdoc") {
+        return true;
+      }
+      if (url2.protocol === "data:") return true;
+      if (url2.protocol === "file:") return true;
+      return isOriginPotentiallyTrustworthy(url2.origin);
+      function isOriginPotentiallyTrustworthy(origin) {
+        if (origin == null || origin === "null") return false;
+        const originAsURL = new URL(origin);
+        if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
+          return true;
+        }
+        if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
+          return true;
+        }
+        return false;
+      }
+    }
+    function bytesMatch(bytes, metadataList) {
+      if (crypto2 === void 0) {
+        return true;
+      }
+      const parsedMetadata = parseMetadata(metadataList);
+      if (parsedMetadata === "no metadata") {
+        return true;
+      }
+      if (parsedMetadata.length === 0) {
+        return true;
+      }
+      const strongest = getStrongestMetadata(parsedMetadata);
+      const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest);
+      for (const item of metadata) {
+        const algorithm = item.algo;
+        const expectedValue = item.hash;
+        let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64");
+        if (actualValue[actualValue.length - 1] === "=") {
+          if (actualValue[actualValue.length - 2] === "=") {
+            actualValue = actualValue.slice(0, -2);
+          } else {
+            actualValue = actualValue.slice(0, -1);
+          }
+        }
+        if (compareBase64Mixed(actualValue, expectedValue)) {
+          return true;
+        }
+      }
+      return false;
+    }
+    var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;
+    function parseMetadata(metadata) {
+      const result = [];
+      let empty = true;
+      for (const token of metadata.split(" ")) {
+        empty = false;
+        const parsedToken = parseHashWithOptions.exec(token);
+        if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) {
+          continue;
+        }
+        const algorithm = parsedToken.groups.algo.toLowerCase();
+        if (supportedHashes.includes(algorithm)) {
+          result.push(parsedToken.groups);
+        }
+      }
+      if (empty === true) {
+        return "no metadata";
+      }
+      return result;
+    }
+    function getStrongestMetadata(metadataList) {
+      let algorithm = metadataList[0].algo;
+      if (algorithm[3] === "5") {
+        return algorithm;
+      }
+      for (let i = 1; i < metadataList.length; ++i) {
+        const metadata = metadataList[i];
+        if (metadata.algo[3] === "5") {
+          algorithm = "sha512";
+          break;
+        } else if (algorithm[3] === "3") {
+          continue;
+        } else if (metadata.algo[3] === "3") {
+          algorithm = "sha384";
+        }
+      }
+      return algorithm;
+    }
+    function filterMetadataListByAlgorithm(metadataList, algorithm) {
+      if (metadataList.length === 1) {
+        return metadataList;
+      }
+      let pos = 0;
+      for (let i = 0; i < metadataList.length; ++i) {
+        if (metadataList[i].algo === algorithm) {
+          metadataList[pos++] = metadataList[i];
+        }
+      }
+      metadataList.length = pos;
+      return metadataList;
+    }
+    function compareBase64Mixed(actualValue, expectedValue) {
+      if (actualValue.length !== expectedValue.length) {
+        return false;
+      }
+      for (let i = 0; i < actualValue.length; ++i) {
+        if (actualValue[i] !== expectedValue[i]) {
+          if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
+            continue;
+          }
+          return false;
+        }
+      }
+      return true;
+    }
+    function tryUpgradeRequestToAPotentiallyTrustworthyURL(request2) {
+    }
+    function sameOrigin(A, B) {
+      if (A.origin === B.origin && A.origin === "null") {
+        return true;
+      }
+      if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
+        return true;
+      }
+      return false;
+    }
+    function createDeferredPromise() {
+      let res;
+      let rej;
+      const promise = new Promise((resolve6, reject) => {
+        res = resolve6;
+        rej = reject;
+      });
+      return { promise, resolve: res, reject: rej };
+    }
+    function isAborted(fetchParams) {
+      return fetchParams.controller.state === "aborted";
+    }
+    function isCancelled(fetchParams) {
+      return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
+    }
+    function normalizeMethod(method) {
+      return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
+    }
+    function serializeJavascriptValueToJSONString(value) {
+      const result = JSON.stringify(value);
+      if (result === void 0) {
+        throw new TypeError("Value is not JSON serializable");
+      }
+      assert(typeof result === "string");
+      return result;
+    }
+    var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
+    function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      class FastIterableIterator {
+        /** @type {any} */
+        #target;
+        /** @type {'key' | 'value' | 'key+value'} */
+        #kind;
+        /** @type {number} */
+        #index;
+        /**
+         * @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
+         * @param {unknown} target
+         * @param {'key' | 'value' | 'key+value'} kind
+         */
+        constructor(target, kind) {
+          this.#target = target;
+          this.#kind = kind;
+          this.#index = 0;
+        }
+        next() {
+          if (typeof this !== "object" || this === null || !(#target in this)) {
+            throw new TypeError(
+              `'next' called on an object that does not implement interface ${name} Iterator.`
+            );
+          }
+          const index = this.#index;
+          const values = this.#target[kInternalIterator];
+          const len = values.length;
+          if (index >= len) {
+            return {
+              value: void 0,
+              done: true
+            };
+          }
+          const { [keyIndex]: key, [valueIndex]: value } = values[index];
+          this.#index = index + 1;
+          let result;
+          switch (this.#kind) {
+            case "key":
+              result = key;
+              break;
+            case "value":
+              result = value;
+              break;
+            case "key+value":
+              result = [key, value];
+              break;
+          }
+          return {
+            value: result,
+            done: false
+          };
+        }
+      }
+      delete FastIterableIterator.prototype.constructor;
+      Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
+      Object.defineProperties(FastIterableIterator.prototype, {
+        [Symbol.toStringTag]: {
+          writable: false,
+          enumerable: false,
+          configurable: true,
+          value: `${name} Iterator`
+        },
+        next: { writable: true, enumerable: true, configurable: true }
+      });
+      return function(target, kind) {
+        return new FastIterableIterator(target, kind);
+      };
+    }
+    function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
+      const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
+      const properties = {
+        keys: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function keys() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key");
+          }
+        },
+        values: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function values() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "value");
+          }
+        },
+        entries: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function entries() {
+            webidl.brandCheck(this, object);
+            return makeIterator(this, "key+value");
+          }
+        },
+        forEach: {
+          writable: true,
+          enumerable: true,
+          configurable: true,
+          value: function forEach(callbackfn, thisArg = globalThis) {
+            webidl.brandCheck(this, object);
+            webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
+            if (typeof callbackfn !== "function") {
+              throw new TypeError(
+                `Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`
+              );
+            }
+            for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
+              callbackfn.call(thisArg, value, key, this);
+            }
+          }
+        }
+      };
+      return Object.defineProperties(object.prototype, {
+        ...properties,
+        [Symbol.iterator]: {
+          writable: true,
+          enumerable: false,
+          configurable: true,
+          value: properties.entries.value
+        }
+      });
+    }
+    async function fullyReadBody(body, processBody, processBodyError) {
+      const successSteps = processBody;
+      const errorSteps = processBodyError;
+      let reader;
+      try {
+        reader = body.stream.getReader();
+      } catch (e) {
+        errorSteps(e);
+        return;
+      }
+      try {
+        successSteps(await readAllBytes(reader));
+      } catch (e) {
+        errorSteps(e);
+      }
+    }
+    function isReadableStreamLike(stream2) {
+      return stream2 instanceof ReadableStream || stream2[Symbol.toStringTag] === "ReadableStream" && typeof stream2.tee === "function";
+    }
+    function readableStreamClose(controller) {
+      try {
+        controller.close();
+        controller.byobRequest?.respond(0);
+      } catch (err) {
+        if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
+          throw err;
+        }
+      }
+    }
+    var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
+    function isomorphicEncode(input) {
+      assert(!invalidIsomorphicEncodeValueRegex.test(input));
+      return input;
+    }
+    async function readAllBytes(reader) {
+      const bytes = [];
+      let byteLength = 0;
+      while (true) {
+        const { done, value: chunk } = await reader.read();
+        if (done) {
+          return Buffer.concat(bytes, byteLength);
+        }
+        if (!isUint8Array(chunk)) {
+          throw new TypeError("Received non-Uint8Array chunk");
+        }
+        bytes.push(chunk);
+        byteLength += chunk.length;
+      }
+    }
+    function urlIsLocal(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.protocol;
+      return protocol === "about:" || protocol === "blob:" || protocol === "data:";
+    }
+    function urlHasHttpsScheme(url2) {
+      return typeof url2 === "string" && url2[5] === ":" && url2[0] === "h" && url2[1] === "t" && url2[2] === "t" && url2[3] === "p" && url2[4] === "s" || url2.protocol === "https:";
+    }
+    function urlIsHttpHttpsScheme(url2) {
+      assert("protocol" in url2);
+      const protocol = url2.protocol;
+      return protocol === "http:" || protocol === "https:";
+    }
+    function simpleRangeHeaderValue(value, allowWhitespace) {
+      const data = value;
+      if (!data.startsWith("bytes")) {
+        return "failure";
+      }
+      const position = { position: 5 };
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 61) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeStart = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      if (data.charCodeAt(position.position) !== 45) {
+        return "failure";
+      }
+      position.position++;
+      if (allowWhitespace) {
+        collectASequenceOfCodePoints(
+          (char) => char === "	" || char === " ",
+          data,
+          position
+        );
+      }
+      const rangeEnd = collectASequenceOfCodePoints(
+        (char) => {
+          const code = char.charCodeAt(0);
+          return code >= 48 && code <= 57;
+        },
+        data,
+        position
+      );
+      const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
+      if (position.position < data.length) {
+        return "failure";
+      }
+      if (rangeEndValue === null && rangeStartValue === null) {
+        return "failure";
+      }
+      if (rangeStartValue > rangeEndValue) {
+        return "failure";
+      }
+      return { rangeStartValue, rangeEndValue };
+    }
+    function buildContentRange(rangeStart, rangeEnd, fullLength) {
+      let contentRange = "bytes ";
+      contentRange += isomorphicEncode(`${rangeStart}`);
+      contentRange += "-";
+      contentRange += isomorphicEncode(`${rangeEnd}`);
+      contentRange += "/";
+      contentRange += isomorphicEncode(`${fullLength}`);
+      return contentRange;
+    }
+    var InflateStream = class extends Transform {
+      #zlibOptions;
+      /** @param {zlib.ZlibOptions} [zlibOptions] */
+      constructor(zlibOptions) {
+        super();
+        this.#zlibOptions = zlibOptions;
+      }
+      _transform(chunk, encoding, callback) {
+        if (!this._inflateStream) {
+          if (chunk.length === 0) {
+            callback();
+            return;
+          }
+          this._inflateStream = (chunk[0] & 15) === 8 ? zlib2.createInflate(this.#zlibOptions) : zlib2.createInflateRaw(this.#zlibOptions);
+          this._inflateStream.on("data", this.push.bind(this));
+          this._inflateStream.on("end", () => this.push(null));
+          this._inflateStream.on("error", (err) => this.destroy(err));
+        }
+        this._inflateStream.write(chunk, encoding, callback);
+      }
+      _final(callback) {
+        if (this._inflateStream) {
+          this._inflateStream.end();
+          this._inflateStream = null;
+        }
+        callback();
+      }
+    };
+    function createInflate(zlibOptions) {
+      return new InflateStream(zlibOptions);
+    }
+    function extractMimeType(headers) {
+      let charset = null;
+      let essence = null;
+      let mimeType = null;
+      const values = getDecodeSplit("content-type", headers);
+      if (values === null) {
+        return "failure";
+      }
+      for (const value of values) {
+        const temporaryMimeType = parseMIMEType(value);
+        if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
+          continue;
+        }
+        mimeType = temporaryMimeType;
+        if (mimeType.essence !== essence) {
+          charset = null;
+          if (mimeType.parameters.has("charset")) {
+            charset = mimeType.parameters.get("charset");
+          }
+          essence = mimeType.essence;
+        } else if (!mimeType.parameters.has("charset") && charset !== null) {
+          mimeType.parameters.set("charset", charset);
+        }
+      }
+      if (mimeType == null) {
+        return "failure";
+      }
+      return mimeType;
+    }
+    function gettingDecodingSplitting(value) {
+      const input = value;
+      const position = { position: 0 };
+      const values = [];
+      let temporaryValue = "";
+      while (position.position < input.length) {
+        temporaryValue += collectASequenceOfCodePoints(
+          (char) => char !== '"' && char !== ",",
+          input,
+          position
+        );
+        if (position.position < input.length) {
+          if (input.charCodeAt(position.position) === 34) {
+            temporaryValue += collectAnHTTPQuotedString(
+              input,
+              position
+            );
+            if (position.position < input.length) {
+              continue;
+            }
+          } else {
+            assert(input.charCodeAt(position.position) === 44);
+            position.position++;
+          }
+        }
+        temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
+        values.push(temporaryValue);
+        temporaryValue = "";
+      }
+      return values;
+    }
+    function getDecodeSplit(name, list) {
+      const value = list.get(name, true);
+      if (value === null) {
+        return null;
+      }
+      return gettingDecodingSplitting(value);
+    }
+    var textDecoder = new TextDecoder();
+    function utf8DecodeBytes(buffer) {
+      if (buffer.length === 0) {
+        return "";
+      }
+      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
+        buffer = buffer.subarray(3);
+      }
+      const output = textDecoder.decode(buffer);
+      return output;
+    }
+    var EnvironmentSettingsObjectBase = class {
+      get baseUrl() {
+        return getGlobalOrigin();
+      }
+      get origin() {
+        return this.baseUrl?.origin;
+      }
+      policyContainer = makePolicyContainer();
+    };
+    var EnvironmentSettingsObject = class {
+      settingsObject = new EnvironmentSettingsObjectBase();
+    };
+    var environmentSettingsObject = new EnvironmentSettingsObject();
+    module2.exports = {
+      isAborted,
+      isCancelled,
+      isValidEncodedURL,
+      createDeferredPromise,
+      ReadableStreamFrom,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      clampAndCoarsenConnectionTimingInfo,
+      coarsenedSharedCurrentTime,
+      determineRequestsReferrer,
+      makePolicyContainer,
+      clonePolicyContainer,
+      appendFetchMetadata,
+      appendRequestOriginHeader,
+      TAOCheck,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      createOpaqueTimingInfo,
+      setRequestReferrerPolicyOnRedirect,
+      isValidHTTPToken,
+      requestBadPort,
+      requestCurrentURL,
+      responseURL,
+      responseLocationURL,
+      isBlobLike,
+      isURLPotentiallyTrustworthy,
+      isValidReasonPhrase,
+      sameOrigin,
+      normalizeMethod,
+      serializeJavascriptValueToJSONString,
+      iteratorMixin,
+      createIterator,
+      isValidHeaderName,
+      isValidHeaderValue,
+      isErrorLike,
+      fullyReadBody,
+      bytesMatch,
+      isReadableStreamLike,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlHasHttpsScheme,
+      urlIsHttpHttpsScheme,
+      readAllBytes,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      parseMetadata,
+      createInflate,
+      extractMimeType,
+      getDecodeSplit,
+      utf8DecodeBytes,
+      environmentSettingsObject
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js
+var require_symbols7 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kUrl: /* @__PURE__ */ Symbol("url"),
+      kHeaders: /* @__PURE__ */ Symbol("headers"),
+      kSignal: /* @__PURE__ */ Symbol("signal"),
+      kState: /* @__PURE__ */ Symbol("state"),
+      kDispatcher: /* @__PURE__ */ Symbol("dispatcher")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js
+var require_file2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+    "use strict";
+    var { Blob: Blob2, File: File2 } = require("node:buffer");
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var FileLike = class _FileLike {
+      constructor(blobLike, fileName, options = {}) {
+        const n = fileName;
+        const t = options.type;
+        const d = options.lastModified ?? Date.now();
+        this[kState] = {
+          blobLike,
+          name: n,
+          type: t,
+          lastModified: d
+        };
+      }
+      stream(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.stream(...args);
+      }
+      arrayBuffer(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.arrayBuffer(...args);
+      }
+      slice(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.slice(...args);
+      }
+      text(...args) {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.text(...args);
+      }
+      get size() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.size;
+      }
+      get type() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].blobLike.type;
+      }
+      get name() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].name;
+      }
+      get lastModified() {
+        webidl.brandCheck(this, _FileLike);
+        return this[kState].lastModified;
+      }
+      get [Symbol.toStringTag]() {
+        return "File";
+      }
+    };
+    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
+    function isFileLike(object) {
+      return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    }
+    module2.exports = { FileLike, isFileLike };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js
+var require_formdata2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+    "use strict";
+    var { isBlobLike, iteratorMixin } = require_util10();
+    var { kState } = require_symbols7();
+    var { kEnumerableProperty } = require_util9();
+    var { FileLike, isFileLike } = require_file2();
+    var { webidl } = require_webidl2();
+    var { File: NativeFile } = require("node:buffer");
+    var nodeUtil = require("node:util");
+    var File2 = globalThis.File ?? NativeFile;
+    var FormData2 = class _FormData {
+      constructor(form) {
+        webidl.util.markAsUncloneable(this);
+        if (form !== void 0) {
+          throw webidl.errors.conversionFailed({
+            prefix: "FormData constructor",
+            argument: "Argument 1",
+            types: ["undefined"]
+          });
+        }
+        this[kState] = [];
+      }
+      append(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.append";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "value", { strict: false }) : webidl.converters.USVString(value, prefix, "value");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "filename") : void 0;
+        const entry = makeEntry(name, value, filename);
+        this[kState].push(entry);
+      }
+      delete(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        this[kState] = this[kState].filter((entry) => entry.name !== name);
+      }
+      get(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.get";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        const idx = this[kState].findIndex((entry) => entry.name === name);
+        if (idx === -1) {
+          return null;
+        }
+        return this[kState][idx].value;
+      }
+      getAll(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.getAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
+      }
+      has(name) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        name = webidl.converters.USVString(name, prefix, "name");
+        return this[kState].findIndex((entry) => entry.name === name) !== -1;
+      }
+      set(name, value, filename = void 0) {
+        webidl.brandCheck(this, _FormData);
+        const prefix = "FormData.set";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        if (arguments.length === 3 && !isBlobLike(value)) {
+          throw new TypeError(
+            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
+          );
+        }
+        name = webidl.converters.USVString(name, prefix, "name");
+        value = isBlobLike(value) ? webidl.converters.Blob(value, prefix, "name", { strict: false }) : webidl.converters.USVString(value, prefix, "name");
+        filename = arguments.length === 3 ? webidl.converters.USVString(filename, prefix, "name") : void 0;
+        const entry = makeEntry(name, value, filename);
+        const idx = this[kState].findIndex((entry2) => entry2.name === name);
+        if (idx !== -1) {
+          this[kState] = [
+            ...this[kState].slice(0, idx),
+            entry,
+            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
+          ];
+        } else {
+          this[kState].push(entry);
+        }
+      }
+      [nodeUtil.inspect.custom](depth, options) {
+        const state = this[kState].reduce((a, b) => {
+          if (a[b.name]) {
+            if (Array.isArray(a[b.name])) {
+              a[b.name].push(b.value);
+            } else {
+              a[b.name] = [a[b.name], b.value];
+            }
+          } else {
+            a[b.name] = b.value;
+          }
+          return a;
+        }, { __proto__: null });
+        options.depth ??= depth;
+        options.colors ??= true;
+        const output = nodeUtil.formatWithOptions(options, state);
+        return `FormData ${output.slice(output.indexOf("]") + 2)}`;
+      }
+    };
+    iteratorMixin("FormData", FormData2, kState, "name", "value");
+    Object.defineProperties(FormData2.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      getAll: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FormData",
+        configurable: true
+      }
+    });
+    function makeEntry(name, value, filename) {
+      if (typeof value === "string") {
+      } else {
+        if (!isFileLike(value)) {
+          value = value instanceof Blob ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        }
+        if (filename !== void 0) {
+          const options = {
+            type: value.type,
+            lastModified: value.lastModified
+          };
+          value = value instanceof NativeFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        }
+      }
+      return { name, value };
+    }
+    module2.exports = { FormData: FormData2, makeEntry };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js
+var require_formdata_parser2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+    "use strict";
+    var { isUSVString, bufferToLowerCasedHeaderName } = require_util9();
+    var { utf8DecodeBytes } = require_util10();
+    var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url2();
+    var { isFileLike } = require_file2();
+    var { makeEntry } = require_formdata2();
+    var assert = require("node:assert");
+    var { File: NodeFile } = require("node:buffer");
+    var File2 = globalThis.File ?? NodeFile;
+    var formDataNameBuffer = Buffer.from('form-data; name="');
+    var filenameBuffer = Buffer.from("; filename");
+    var dd = Buffer.from("--");
+    var ddcrlf = Buffer.from("--\r\n");
+    function isAsciiString(chars) {
+      for (let i = 0; i < chars.length; ++i) {
+        if ((chars.charCodeAt(i) & ~127) !== 0) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function validateBoundary(boundary) {
+      const length = boundary.length;
+      if (length < 27 || length > 70) {
+        return false;
+      }
+      for (let i = 0; i < length; ++i) {
+        const cp = boundary.charCodeAt(i);
+        if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function multipartFormDataParser(input, mimeType) {
+      assert(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
+      const boundaryString = mimeType.parameters.get("boundary");
+      if (boundaryString === void 0) {
+        return "failure";
+      }
+      const boundary = Buffer.from(`--${boundaryString}`, "utf8");
+      const entryList = [];
+      const position = { position: 0 };
+      while (input[position.position] === 13 && input[position.position + 1] === 10) {
+        position.position += 2;
+      }
+      let trailing = input.length;
+      while (input[trailing - 1] === 10 && input[trailing - 2] === 13) {
+        trailing -= 2;
+      }
+      if (trailing !== input.length) {
+        input = input.subarray(0, trailing);
+      }
+      while (true) {
+        if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
+          position.position += boundary.length;
+        } else {
+          return "failure";
+        }
+        if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) {
+          return entryList;
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        }
+        position.position += 2;
+        const result = parseMultipartFormDataHeaders(input, position);
+        if (result === "failure") {
+          return "failure";
+        }
+        let { name, filename, contentType, encoding } = result;
+        position.position += 2;
+        let body;
+        {
+          const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
+          if (boundaryIndex === -1) {
+            return "failure";
+          }
+          body = input.subarray(position.position, boundaryIndex - 4);
+          position.position += body.length;
+          if (encoding === "base64") {
+            body = Buffer.from(body.toString(), "base64");
+          }
+        }
+        if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+        let value;
+        if (filename !== null) {
+          contentType ??= "text/plain";
+          if (!isAsciiString(contentType)) {
+            contentType = "";
+          }
+          value = new File2([body], filename, { type: contentType });
+        } else {
+          value = utf8DecodeBytes(Buffer.from(body));
+        }
+        assert(isUSVString(name));
+        assert(typeof value === "string" && isUSVString(value) || isFileLike(value));
+        entryList.push(makeEntry(name, value, filename));
+      }
+    }
+    function parseMultipartFormDataHeaders(input, position) {
+      let name = null;
+      let filename = null;
+      let contentType = null;
+      let encoding = null;
+      while (true) {
+        if (input[position.position] === 13 && input[position.position + 1] === 10) {
+          if (name === null) {
+            return "failure";
+          }
+          return { name, filename, contentType, encoding };
+        }
+        let headerName = collectASequenceOfBytes(
+          (char) => char !== 10 && char !== 13 && char !== 58,
+          input,
+          position
+        );
+        headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
+        if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
+          return "failure";
+        }
+        if (input[position.position] !== 58) {
+          return "failure";
+        }
+        position.position++;
+        collectASequenceOfBytes(
+          (char) => char === 32 || char === 9,
+          input,
+          position
+        );
+        switch (bufferToLowerCasedHeaderName(headerName)) {
+          case "content-disposition": {
+            name = filename = null;
+            if (!bufferStartsWith(input, formDataNameBuffer, position)) {
+              return "failure";
+            }
+            position.position += 17;
+            name = parseMultipartFormDataName(input, position);
+            if (name === null) {
+              return "failure";
+            }
+            if (bufferStartsWith(input, filenameBuffer, position)) {
+              let check = position.position + filenameBuffer.length;
+              if (input[check] === 42) {
+                position.position += 1;
+                check += 1;
+              }
+              if (input[check] !== 61 || input[check + 1] !== 34) {
+                return "failure";
+              }
+              position.position += 12;
+              filename = parseMultipartFormDataName(input, position);
+              if (filename === null) {
+                return "failure";
+              }
+            }
+            break;
+          }
+          case "content-type": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            contentType = isomorphicDecode(headerValue);
+            break;
+          }
+          case "content-transfer-encoding": {
+            let headerValue = collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+            headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
+            encoding = isomorphicDecode(headerValue);
+            break;
+          }
+          default: {
+            collectASequenceOfBytes(
+              (char) => char !== 10 && char !== 13,
+              input,
+              position
+            );
+          }
+        }
+        if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
+          return "failure";
+        } else {
+          position.position += 2;
+        }
+      }
+    }
+    function parseMultipartFormDataName(input, position) {
+      assert(input[position.position - 1] === 34);
+      let name = collectASequenceOfBytes(
+        (char) => char !== 10 && char !== 13 && char !== 34,
+        input,
+        position
+      );
+      if (input[position.position] !== 34) {
+        return null;
+      } else {
+        position.position++;
+      }
+      name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
+      return name;
+    }
+    function collectASequenceOfBytes(condition, input, position) {
+      let start = position.position;
+      while (start < input.length && condition(input[start])) {
+        ++start;
+      }
+      return input.subarray(position.position, position.position = start);
+    }
+    function removeChars(buf, leading, trailing, predicate) {
+      let lead = 0;
+      let trail = buf.length - 1;
+      if (leading) {
+        while (lead < buf.length && predicate(buf[lead])) lead++;
+      }
+      if (trailing) {
+        while (trail > 0 && predicate(buf[trail])) trail--;
+      }
+      return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
+    }
+    function bufferStartsWith(buffer, start, position) {
+      if (buffer.length < start.length) {
+        return false;
+      }
+      for (let i = 0; i < start.length; i++) {
+        if (start[i] !== buffer[position.position + i]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    module2.exports = {
+      multipartFormDataParser,
+      validateBoundary
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js
+var require_body2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var {
+      ReadableStreamFrom,
+      isBlobLike,
+      isReadableStreamLike,
+      readableStreamClose,
+      createDeferredPromise,
+      fullyReadBody,
+      extractMimeType,
+      utf8DecodeBytes
+    } = require_util10();
+    var { FormData: FormData2 } = require_formdata2();
+    var { kState } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { Blob: Blob2 } = require("node:buffer");
+    var assert = require("node:assert");
+    var { isErrored, isDisturbed } = require("node:stream");
+    var { isArrayBuffer } = require("node:util/types");
+    var { serializeAMimeType } = require_data_url2();
+    var { multipartFormDataParser } = require_formdata_parser2();
+    var random;
+    try {
+      const crypto2 = require("node:crypto");
+      random = (max) => crypto2.randomInt(0, max);
+    } catch {
+      random = (max) => Math.floor(Math.random(max));
+    }
+    var textEncoder = new TextEncoder();
+    function noop3() {
+    }
+    var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
+    var streamRegistry;
+    if (hasFinalizationRegistry) {
+      streamRegistry = new FinalizationRegistry((weakRef) => {
+        const stream2 = weakRef.deref();
+        if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
+          stream2.cancel("Response object has been garbage collected").catch(noop3);
+        }
+      });
+    }
+    function extractBody(object, keepalive = false) {
+      let stream2 = null;
+      if (object instanceof ReadableStream) {
+        stream2 = object;
+      } else if (isBlobLike(object)) {
+        stream2 = object.stream();
+      } else {
+        stream2 = new ReadableStream({
+          async pull(controller) {
+            const buffer = typeof source === "string" ? textEncoder.encode(source) : source;
+            if (buffer.byteLength) {
+              controller.enqueue(buffer);
+            }
+            queueMicrotask(() => readableStreamClose(controller));
+          },
+          start() {
+          },
+          type: "bytes"
+        });
+      }
+      assert(isReadableStreamLike(stream2));
+      let action = null;
+      let source = null;
+      let length = null;
+      let type2 = null;
+      if (typeof object === "string") {
+        source = object;
+        type2 = "text/plain;charset=UTF-8";
+      } else if (object instanceof URLSearchParams) {
+        source = object.toString();
+        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
+      } else if (isArrayBuffer(object)) {
+        source = new Uint8Array(object.slice());
+      } else if (ArrayBuffer.isView(object)) {
+        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
+      } else if (util.isFormDataLike(object)) {
+        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
+        const prefix = `--${boundary}\r
+Content-Disposition: form-data`;
+        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
+        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
+        const blobParts = [];
+        const rn = new Uint8Array([13, 10]);
+        length = 0;
+        let hasUnknownSizeValue = false;
+        for (const [name, value] of object) {
+          if (typeof value === "string") {
+            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
+\r
+${normalizeLinefeeds(value)}\r
+`);
+            blobParts.push(chunk2);
+            length += chunk2.byteLength;
+          } else {
+            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
+Content-Type: ${value.type || "application/octet-stream"}\r
+\r
+`);
+            blobParts.push(chunk2, value, rn);
+            if (typeof value.size === "number") {
+              length += chunk2.byteLength + value.size + rn.byteLength;
+            } else {
+              hasUnknownSizeValue = true;
+            }
+          }
+        }
+        const chunk = textEncoder.encode(`--${boundary}--\r
+`);
+        blobParts.push(chunk);
+        length += chunk.byteLength;
+        if (hasUnknownSizeValue) {
+          length = null;
+        }
+        source = object;
+        action = async function* () {
+          for (const part of blobParts) {
+            if (part.stream) {
+              yield* part.stream();
+            } else {
+              yield part;
+            }
+          }
+        };
+        type2 = `multipart/form-data; boundary=${boundary}`;
+      } else if (isBlobLike(object)) {
+        source = object;
+        length = object.size;
+        if (object.type) {
+          type2 = object.type;
+        }
+      } else if (typeof object[Symbol.asyncIterator] === "function") {
+        if (keepalive) {
+          throw new TypeError("keepalive");
+        }
+        if (util.isDisturbed(object) || object.locked) {
+          throw new TypeError(
+            "Response body object should not be disturbed or locked"
+          );
+        }
+        stream2 = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
+      }
+      if (typeof source === "string" || util.isBuffer(source)) {
+        length = Buffer.byteLength(source);
+      }
+      if (action != null) {
+        let iterator2;
+        stream2 = new ReadableStream({
+          async start() {
+            iterator2 = action(object)[Symbol.asyncIterator]();
+          },
+          async pull(controller) {
+            const { value, done } = await iterator2.next();
+            if (done) {
+              queueMicrotask(() => {
+                controller.close();
+                controller.byobRequest?.respond(0);
+              });
+            } else {
+              if (!isErrored(stream2)) {
+                const buffer = new Uint8Array(value);
+                if (buffer.byteLength) {
+                  controller.enqueue(buffer);
+                }
+              }
+            }
+            return controller.desiredSize > 0;
+          },
+          async cancel(reason) {
+            await iterator2.return();
+          },
+          type: "bytes"
+        });
+      }
+      const body = { stream: stream2, source, length };
+      return [body, type2];
+    }
+    function safelyExtractBody(object, keepalive = false) {
+      if (object instanceof ReadableStream) {
+        assert(!util.isDisturbed(object), "The body has already been consumed.");
+        assert(!object.locked, "The stream is locked.");
+      }
+      return extractBody(object, keepalive);
+    }
+    function cloneBody(instance, body) {
+      const [out1, out2] = body.stream.tee();
+      body.stream = out1;
+      return {
+        stream: out2,
+        length: body.length,
+        source: body.source
+      };
+    }
+    function throwIfAborted(state) {
+      if (state.aborted) {
+        throw new DOMException("The operation was aborted.", "AbortError");
+      }
+    }
+    function bodyMixinMethods(instance) {
+      const methods = {
+        blob() {
+          return consumeBody(this, (bytes) => {
+            let mimeType = bodyMimeType(this);
+            if (mimeType === null) {
+              mimeType = "";
+            } else if (mimeType) {
+              mimeType = serializeAMimeType(mimeType);
+            }
+            return new Blob2([bytes], { type: mimeType });
+          }, instance);
+        },
+        arrayBuffer() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes).buffer;
+          }, instance);
+        },
+        text() {
+          return consumeBody(this, utf8DecodeBytes, instance);
+        },
+        json() {
+          return consumeBody(this, parseJSONFromBytes, instance);
+        },
+        formData() {
+          return consumeBody(this, (value) => {
+            const mimeType = bodyMimeType(this);
+            if (mimeType !== null) {
+              switch (mimeType.essence) {
+                case "multipart/form-data": {
+                  const parsed = multipartFormDataParser(value, mimeType);
+                  if (parsed === "failure") {
+                    throw new TypeError("Failed to parse body as FormData.");
+                  }
+                  const fd = new FormData2();
+                  fd[kState] = parsed;
+                  return fd;
+                }
+                case "application/x-www-form-urlencoded": {
+                  const entries = new URLSearchParams(value.toString());
+                  const fd = new FormData2();
+                  for (const [name, value2] of entries) {
+                    fd.append(name, value2);
+                  }
+                  return fd;
+                }
+              }
+            }
+            throw new TypeError(
+              'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
+            );
+          }, instance);
+        },
+        bytes() {
+          return consumeBody(this, (bytes) => {
+            return new Uint8Array(bytes);
+          }, instance);
+        }
+      };
+      return methods;
+    }
+    function mixinBody(prototype) {
+      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
+    }
+    async function consumeBody(object, convertBytesToJSValue, instance) {
+      webidl.brandCheck(object, instance);
+      if (bodyUnusable(object)) {
+        throw new TypeError("Body is unusable: Body has already been read");
+      }
+      throwIfAborted(object[kState]);
+      const promise = createDeferredPromise();
+      const errorSteps = (error3) => promise.reject(error3);
+      const successSteps = (data) => {
+        try {
+          promise.resolve(convertBytesToJSValue(data));
+        } catch (e) {
+          errorSteps(e);
+        }
+      };
+      if (object[kState].body == null) {
+        successSteps(Buffer.allocUnsafe(0));
+        return promise.promise;
+      }
+      await fullyReadBody(object[kState].body, successSteps, errorSteps);
+      return promise.promise;
+    }
+    function bodyUnusable(object) {
+      const body = object[kState].body;
+      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
+    }
+    function parseJSONFromBytes(bytes) {
+      return JSON.parse(utf8DecodeBytes(bytes));
+    }
+    function bodyMimeType(requestOrResponse) {
+      const headers = requestOrResponse[kState].headersList;
+      const mimeType = extractMimeType(headers);
+      if (mimeType === "failure") {
+        return null;
+      }
+      return mimeType;
+    }
+    module2.exports = {
+      extractBody,
+      safelyExtractBody,
+      cloneBody,
+      mixinBody,
+      streamRegistry,
+      hasFinalizationRegistry,
+      bodyUnusable
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js
+var require_client_h12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var timers = require_timers2();
+    var {
+      RequestContentLengthMismatchError,
+      ResponseContentLengthMismatchError,
+      RequestAbortedError,
+      HeadersTimeoutError,
+      HeadersOverflowError,
+      SocketError,
+      InformationalError,
+      BodyTimeoutError,
+      HTTPParserError,
+      ResponseExceededMaxSizeError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kParser,
+      kBlocking,
+      kRunning,
+      kPending,
+      kSize,
+      kWriting,
+      kQueue,
+      kNoRef,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kSocket,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kMaxRequests,
+      kCounter,
+      kMaxResponseSize,
+      kOnError,
+      kResume,
+      kHTTPContext
+    } = require_symbols6();
+    var constants = require_constants7();
+    var EMPTY_BUF = Buffer.alloc(0);
+    var FastBuffer = Buffer[Symbol.species];
+    var addListener = util.addListener;
+    var removeAllListeners = util.removeAllListeners;
+    var extractBody;
+    async function lazyllhttp() {
+      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
+      let mod;
+      try {
+        mod = await WebAssembly.compile(require_llhttp_simd_wasm2());
+      } catch (e) {
+        mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm2());
+      }
+      return await WebAssembly.instantiate(mod, {
+        env: {
+          /* eslint-disable camelcase */
+          wasm_on_url: (p, at, len) => {
+            return 0;
+          },
+          wasm_on_status: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_begin: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageBegin() || 0;
+          },
+          wasm_on_header_field: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_header_value: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
+          },
+          wasm_on_body: (p, at, len) => {
+            assert(currentParser.ptr === p);
+            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
+            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+          },
+          wasm_on_message_complete: (p) => {
+            assert(currentParser.ptr === p);
+            return currentParser.onMessageComplete() || 0;
+          }
+          /* eslint-enable camelcase */
+        }
+      });
+    }
+    var llhttpInstance = null;
+    var llhttpPromise = lazyllhttp();
+    llhttpPromise.catch();
+    var currentParser = null;
+    var currentBufferRef = null;
+    var currentBufferSize = 0;
+    var currentBufferPtr = null;
+    var USE_NATIVE_TIMER = 0;
+    var USE_FAST_TIMER = 1;
+    var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
+    var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
+    var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
+    var Parser = class {
+      constructor(client, socket, { exports: exports3 }) {
+        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
+        this.llhttp = exports3;
+        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
+        this.client = client;
+        this.socket = socket;
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.statusCode = null;
+        this.statusText = "";
+        this.upgrade = false;
+        this.headers = [];
+        this.headersSize = 0;
+        this.headersMaxSize = client[kMaxHeadersSize];
+        this.shouldKeepAlive = false;
+        this.paused = false;
+        this.resume = this.resume.bind(this);
+        this.bytesRead = 0;
+        this.keepAlive = "";
+        this.contentLength = "";
+        this.connection = "";
+        this.maxResponseSize = client[kMaxResponseSize];
+      }
+      setTimeout(delay2, type2) {
+        if (delay2 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
+          if (this.timeout) {
+            timers.clearTimeout(this.timeout);
+            this.timeout = null;
+          }
+          if (delay2) {
+            if (type2 & USE_FAST_TIMER) {
+              this.timeout = timers.setFastTimeout(onParserTimeout, delay2, new WeakRef(this));
+            } else {
+              this.timeout = setTimeout(onParserTimeout, delay2, new WeakRef(this));
+              this.timeout.unref();
+            }
+          }
+          this.timeoutValue = delay2;
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.timeoutType = type2;
+      }
+      resume() {
+        if (this.socket.destroyed || !this.paused) {
+          return;
+        }
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_resume(this.ptr);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        this.paused = false;
+        this.execute(this.socket.read() || EMPTY_BUF);
+        this.readMore();
+      }
+      readMore() {
+        while (!this.paused && this.ptr) {
+          const chunk = this.socket.read();
+          if (chunk === null) {
+            break;
+          }
+          this.execute(chunk);
+        }
+      }
+      execute(data) {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        assert(!this.paused);
+        const { socket, llhttp } = this;
+        if (data.length > currentBufferSize) {
+          if (currentBufferPtr) {
+            llhttp.free(currentBufferPtr);
+          }
+          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
+          currentBufferPtr = llhttp.malloc(currentBufferSize);
+        }
+        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
+        try {
+          let ret;
+          try {
+            currentBufferRef = data;
+            currentParser = this;
+            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
+          } catch (err) {
+            throw err;
+          } finally {
+            currentParser = null;
+            currentBufferRef = null;
+          }
+          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
+          if (ret === constants.ERROR.PAUSED_UPGRADE) {
+            this.onUpgrade(data.slice(offset));
+          } else if (ret === constants.ERROR.PAUSED) {
+            this.paused = true;
+            socket.unshift(data.slice(offset));
+          } else if (ret !== constants.ERROR.OK) {
+            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
+            let message = "";
+            if (ptr) {
+              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
+              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
+            }
+            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
+          }
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+      }
+      destroy() {
+        assert(this.ptr != null);
+        assert(currentParser == null);
+        this.llhttp.llhttp_free(this.ptr);
+        this.ptr = null;
+        this.timeout && timers.clearTimeout(this.timeout);
+        this.timeout = null;
+        this.timeoutValue = null;
+        this.timeoutType = null;
+        this.paused = false;
+      }
+      onStatus(buf) {
+        this.statusText = buf.toString();
+      }
+      onMessageBegin() {
+        const { socket, client } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        request2.onResponseStarted();
+      }
+      onHeaderField(buf) {
+        const len = this.headers.length;
+        if ((len & 1) === 0) {
+          this.headers.push(buf);
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        this.trackHeader(buf.length);
+      }
+      onHeaderValue(buf) {
+        let len = this.headers.length;
+        if ((len & 1) === 1) {
+          this.headers.push(buf);
+          len += 1;
+        } else {
+          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+        }
+        const key = this.headers[len - 2];
+        if (key.length === 10) {
+          const headerName = util.bufferToLowerCasedHeaderName(key);
+          if (headerName === "keep-alive") {
+            this.keepAlive += buf.toString();
+          } else if (headerName === "connection") {
+            this.connection += buf.toString();
+          }
+        } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") {
+          this.contentLength += buf.toString();
+        }
+        this.trackHeader(buf.length);
+      }
+      trackHeader(len) {
+        this.headersSize += len;
+        if (this.headersSize >= this.headersMaxSize) {
+          util.destroy(this.socket, new HeadersOverflowError());
+        }
+      }
+      onUpgrade(head) {
+        const { upgrade, client, socket, headers, statusCode } = this;
+        assert(upgrade);
+        assert(client[kSocket] === socket);
+        assert(!socket.destroyed);
+        assert(!this.paused);
+        assert((headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(request2.upgrade || request2.method === "CONNECT");
+        this.statusCode = null;
+        this.statusText = "";
+        this.shouldKeepAlive = null;
+        this.headers = [];
+        this.headersSize = 0;
+        socket.unshift(head);
+        socket[kParser].destroy();
+        socket[kParser] = null;
+        socket[kClient] = null;
+        socket[kError] = null;
+        removeAllListeners(socket);
+        client[kSocket] = null;
+        client[kHTTPContext] = null;
+        client[kQueue][client[kRunningIdx]++] = null;
+        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
+        try {
+          request2.onUpgrade(statusCode, headers, socket);
+        } catch (err) {
+          util.destroy(socket, err);
+        }
+        client[kResume]();
+      }
+      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
+        const { client, socket, headers, statusText } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        if (!request2) {
+          return -1;
+        }
+        assert(!this.upgrade);
+        assert(this.statusCode < 200);
+        if (statusCode === 100) {
+          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
+          return -1;
+        }
+        if (upgrade && !request2.upgrade) {
+          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
+          return -1;
+        }
+        assert(this.timeoutType === TIMEOUT_HEADERS);
+        this.statusCode = statusCode;
+        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
+        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
+        if (this.statusCode >= 200) {
+          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
+          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
+        } else if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        if (request2.method === "CONNECT") {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        if (upgrade) {
+          assert(client[kRunning] === 1);
+          this.upgrade = true;
+          return 2;
+        }
+        assert((this.headers.length & 1) === 0);
+        this.headers = [];
+        this.headersSize = 0;
+        if (this.shouldKeepAlive && client[kPipelining]) {
+          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
+          if (keepAliveTimeout != null) {
+            const timeout = Math.min(
+              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
+              client[kKeepAliveMaxTimeout]
+            );
+            if (timeout <= 0) {
+              socket[kReset] = true;
+            } else {
+              client[kKeepAliveTimeoutValue] = timeout;
+            }
+          } else {
+            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+          }
+        } else {
+          socket[kReset] = true;
+        }
+        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
+        if (request2.aborted) {
+          return -1;
+        }
+        if (request2.method === "HEAD") {
+          return 1;
+        }
+        if (statusCode < 200) {
+          return 1;
+        }
+        if (socket[kBlocking]) {
+          socket[kBlocking] = false;
+          client[kResume]();
+        }
+        return pause ? constants.ERROR.PAUSED : 0;
+      }
+      onBody(buf) {
+        const { client, socket, statusCode, maxResponseSize } = this;
+        if (socket.destroyed) {
+          return -1;
+        }
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        assert(this.timeoutType === TIMEOUT_BODY);
+        if (this.timeout) {
+          if (this.timeout.refresh) {
+            this.timeout.refresh();
+          }
+        }
+        assert(statusCode >= 200);
+        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
+          util.destroy(socket, new ResponseExceededMaxSizeError());
+          return -1;
+        }
+        this.bytesRead += buf.length;
+        if (request2.onData(buf) === false) {
+          return constants.ERROR.PAUSED;
+        }
+      }
+      onMessageComplete() {
+        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
+        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
+          return -1;
+        }
+        if (upgrade) {
+          return;
+        }
+        assert(statusCode >= 100);
+        assert((this.headers.length & 1) === 0);
+        const request2 = client[kQueue][client[kRunningIdx]];
+        assert(request2);
+        this.statusCode = null;
+        this.statusText = "";
+        this.bytesRead = 0;
+        this.contentLength = "";
+        this.keepAlive = "";
+        this.connection = "";
+        this.headers = [];
+        this.headersSize = 0;
+        if (statusCode < 200) {
+          return;
+        }
+        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
+          util.destroy(socket, new ResponseContentLengthMismatchError());
+          return -1;
+        }
+        request2.onComplete(headers);
+        client[kQueue][client[kRunningIdx]++] = null;
+        if (socket[kWriting]) {
+          assert(client[kRunning] === 0);
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (!shouldKeepAlive) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (socket[kReset] && client[kRunning] === 0) {
+          util.destroy(socket, new InformationalError("reset"));
+          return constants.ERROR.PAUSED;
+        } else if (client[kPipelining] == null || client[kPipelining] === 1) {
+          setImmediate(() => client[kResume]());
+        } else {
+          client[kResume]();
+        }
+      }
     };
-    webidl.errors.conversionFailed = function(context2) {
-      const plural = context2.types.length === 1 ? "" : " one of";
-      const message = `${context2.argument} could not be converted to${plural}: ${context2.types.join(", ")}.`;
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message
+    function onParserTimeout(parser) {
+      const { socket, timeoutType, client, paused } = parser.deref();
+      if (timeoutType === TIMEOUT_HEADERS) {
+        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
+          assert(!paused, "cannot be paused while waiting for headers");
+          util.destroy(socket, new HeadersTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_BODY) {
+        if (!paused) {
+          util.destroy(socket, new BodyTimeoutError());
+        }
+      } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
+        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
+        util.destroy(socket, new InformationalError("socket idle timeout"));
+      }
+    }
+    async function connectH1(client, socket) {
+      client[kSocket] = socket;
+      if (!llhttpInstance) {
+        llhttpInstance = await llhttpPromise;
+        llhttpPromise = null;
+      }
+      socket[kNoRef] = false;
+      socket[kWriting] = false;
+      socket[kReset] = false;
+      socket[kBlocking] = false;
+      socket[kParser] = new Parser(client, socket, llhttpInstance);
+      addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        const parser = this[kParser];
+        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        this[kError] = err;
+        this[kClient][kOnError](err);
       });
-    };
-    webidl.errors.invalidArgument = function(context2) {
-      return webidl.errors.exception({
-        header: context2.prefix,
-        message: `"${context2.value}" is an invalid ${context2.type}.`
+      addListener(socket, "readable", function() {
+        const parser = this[kParser];
+        if (parser) {
+          parser.readMore();
+        }
       });
-    };
-    webidl.brandCheck = function(V, I, opts = void 0) {
-      if (opts?.strict !== false && !(V instanceof I)) {
-        throw new TypeError("Illegal invocation");
+      addListener(socket, "end", function() {
+        const parser = this[kParser];
+        if (parser.statusCode && !parser.shouldKeepAlive) {
+          parser.onMessageComplete();
+          return;
+        }
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      addListener(socket, "close", function() {
+        const client2 = this[kClient];
+        const parser = this[kParser];
+        if (parser) {
+          if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
+            parser.onMessageComplete();
+          }
+          this[kParser].destroy();
+          this[kParser] = null;
+        }
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client2[kSocket] = null;
+        client2[kHTTPContext] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
+          const request2 = client2[kQueue][client2[kRunningIdx]];
+          client2[kQueue][client2[kRunningIdx]++] = null;
+          util.errorRequest(client2, request2, err);
+        }
+        client2[kPendingIdx] = client2[kRunningIdx];
+        assert(client2[kRunning] === 0);
+        client2.emit("disconnect", client2[kUrl], [client2], err);
+        client2[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h1",
+        defaultPipelining: 1,
+        write(...args) {
+          return writeH1(client, ...args);
+        },
+        resume() {
+          resumeH1(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy(request2) {
+          if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
+            return true;
+          }
+          if (request2) {
+            if (client[kRunning] > 0 && !request2.idempotent) {
+              return true;
+            }
+            if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+              return true;
+            }
+            if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body) || util.isFormDataLike(request2.body))) {
+              return true;
+            }
+          }
+          return false;
+        }
+      };
+    }
+    function resumeH1(client) {
+      const socket = client[kSocket];
+      if (socket && !socket.destroyed) {
+        if (client[kSize] === 0) {
+          if (!socket[kNoRef] && socket.unref) {
+            socket.unref();
+            socket[kNoRef] = true;
+          }
+        } else if (socket[kNoRef] && socket.ref) {
+          socket.ref();
+          socket[kNoRef] = false;
+        }
+        if (client[kSize] === 0) {
+          if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
+            socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
+          }
+        } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
+          if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
+            const request2 = client[kQueue][client[kRunningIdx]];
+            const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];
+            socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+          }
+        }
+      }
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH1(client, request2) {
+      const { method, path: path12, host, upgrade, blocking, reset } = request2;
+      let { body, headers, contentLength } = request2;
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
+      if (util.isFormDataLike(body)) {
+        if (!extractBody) {
+          extractBody = require_body2().extractBody;
+        }
+        const [bodyStream, contentType] = extractBody(body);
+        if (request2.contentType == null) {
+          headers.push("content-type", contentType);
+        }
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
+      } else if (util.isBlobLike(body) && request2.contentType == null && body.type) {
+        headers.push("content-type", body.type);
+      }
+      if (body && typeof body.read === "function") {
+        body.read(0);
+      }
+      const bodyLength = util.bodyLength(body);
+      contentLength = bodyLength ?? contentLength;
+      if (contentLength === null) {
+        contentLength = request2.contentLength;
+      }
+      if (contentLength === 0 && !expectsPayload) {
+        contentLength = null;
+      }
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
+      }
+      const socket = client[kSocket];
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
+        }
+        util.errorRequest(client, request2, err || new RequestAbortedError());
+        util.destroy(body);
+        util.destroy(socket, new InformationalError("aborted"));
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
+      }
+      if (request2.aborted) {
+        return false;
+      }
+      if (method === "HEAD") {
+        socket[kReset] = true;
+      }
+      if (upgrade || method === "CONNECT") {
+        socket[kReset] = true;
+      }
+      if (reset != null) {
+        socket[kReset] = reset;
+      }
+      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
+        socket[kReset] = true;
+      }
+      if (blocking) {
+        socket[kBlocking] = true;
+      }
+      let header = `${method} ${path12} HTTP/1.1\r
+`;
+      if (typeof host === "string") {
+        header += `host: ${host}\r
+`;
       } else {
-        return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag];
+        header += client[kHostHeader];
       }
-    };
-    webidl.argumentLengthCheck = function({ length }, min, ctx) {
-      if (length < min) {
-        throw webidl.errors.exception({
-          message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
-          ...ctx
-        });
+      if (upgrade) {
+        header += `connection: upgrade\r
+upgrade: ${upgrade}\r
+`;
+      } else if (client[kPipelining] && !socket[kReset]) {
+        header += "connection: keep-alive\r\n";
+      } else {
+        header += "connection: close\r\n";
       }
-    };
-    webidl.illegalConstructor = function() {
-      throw webidl.errors.exception({
-        header: "TypeError",
-        message: "Illegal constructor"
-      });
-    };
-    webidl.util.Type = function(V) {
-      switch (typeof V) {
-        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": {
-          if (V === null) {
-            return "Null";
+      if (Array.isArray(headers)) {
+        for (let n = 0; n < headers.length; n += 2) {
+          const key = headers[n + 0];
+          const val = headers[n + 1];
+          if (Array.isArray(val)) {
+            for (let i = 0; i < val.length; i++) {
+              header += `${key}: ${val[i]}\r
+`;
+            }
+          } else {
+            header += `${key}: ${val}\r
+`;
           }
-          return "Object";
         }
       }
-    };
-    webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
-      let upperBound;
-      let lowerBound;
-      if (bitLength === 64) {
-        upperBound = Math.pow(2, 53) - 1;
-        if (signedness === "unsigned") {
-          lowerBound = 0;
+      if (channels.sendHeaders.hasSubscribers) {
+        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      }
+      if (!body || bodyLength === 0) {
+        writeBuffer(abort, null, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBuffer(body)) {
+        writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isBlobLike(body)) {
+        if (typeof body.stream === "function") {
+          writeIterable(abort, body.stream(), client, request2, socket, contentLength, header, expectsPayload);
+        } else {
+          writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+        }
+      } else if (util.isStream(body)) {
+        writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else if (util.isIterable(body)) {
+        writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload);
+      } else {
+        assert(false);
+      }
+      return true;
+    }
+    function writeStream(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      let finished = false;
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      const onData = function(chunk) {
+        if (finished) {
+          return;
+        }
+        try {
+          if (!writer.write(chunk) && this.pause) {
+            this.pause();
+          }
+        } catch (err) {
+          util.destroy(this, err);
+        }
+      };
+      const onDrain = function() {
+        if (finished) {
+          return;
+        }
+        if (body.resume) {
+          body.resume();
+        }
+      };
+      const onClose = function() {
+        queueMicrotask(() => {
+          body.removeListener("error", onFinished);
+        });
+        if (!finished) {
+          const err = new RequestAbortedError();
+          queueMicrotask(() => onFinished(err));
+        }
+      };
+      const onFinished = function(err) {
+        if (finished) {
+          return;
+        }
+        finished = true;
+        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
+        socket.off("drain", onDrain).off("error", onFinished);
+        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
+        if (!err) {
+          try {
+            writer.end();
+          } catch (er) {
+            err = er;
+          }
+        }
+        writer.destroy(err);
+        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
+          util.destroy(body, err);
         } else {
-          lowerBound = Math.pow(-2, 53) + 1;
+          util.destroy(body);
         }
-      } else if (signedness === "unsigned") {
-        lowerBound = 0;
-        upperBound = Math.pow(2, bitLength) - 1;
-      } else {
-        lowerBound = Math.pow(-2, bitLength) - 1;
-        upperBound = Math.pow(2, bitLength - 1) - 1;
+      };
+      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
+      if (body.resume) {
+        body.resume();
       }
-      let x = Number(V);
-      if (x === 0) {
-        x = 0;
+      socket.on("drain", onDrain).on("error", onFinished);
+      if (body.errorEmitted ?? body.errored) {
+        setImmediate(() => onFinished(body.errored));
+      } else if (body.endEmitted ?? body.readableEnded) {
+        setImmediate(() => onFinished(null));
       }
-      if (opts.enforceRange === true) {
-        if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Could not convert ${V} to an integer.`
-          });
-        }
-        x = webidl.util.IntegerPart(x);
-        if (x < lowerBound || x > upperBound) {
-          throw webidl.errors.exception({
-            header: "Integer conversion",
-            message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
-          });
+      if (body.closeEmitted ?? body.closed) {
+        setImmediate(onClose);
+      }
+    }
+    function writeBuffer(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      try {
+        if (!body) {
+          if (contentLength === 0) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            assert(contentLength === null, "no body must not have content length");
+            socket.write(`${header}\r
+`, "latin1");
+          }
+        } else if (util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          socket.cork();
+          socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+          socket.write(body);
+          socket.uncork();
+          request2.onBodySent(body);
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
         }
-        return x;
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (!Number.isNaN(x) && opts.clamp === true) {
-        x = Math.min(Math.max(x, lowerBound), upperBound);
-        if (Math.floor(x) % 2 === 0) {
-          x = Math.floor(x);
-        } else {
-          x = Math.ceil(x);
+    }
+    async function writeBlob(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
         }
-        return x;
+        const buffer = Buffer.from(await body.arrayBuffer());
+        socket.cork();
+        socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
+        socket.write(buffer);
+        socket.uncork();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload && request2.reset !== false) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
-        return 0;
+    }
+    async function writeIterable(abort, body, client, request2, socket, contentLength, header, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      x = webidl.util.IntegerPart(x);
-      x = x % Math.pow(2, bitLength);
-      if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
-        return x - Math.pow(2, bitLength);
+      const waitForDrain = () => new Promise((resolve6, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve6;
+        }
+      });
+      socket.on("close", onDrain).on("drain", onDrain);
+      const writer = new AsyncWriter({ abort, socket, request: request2, contentLength, client, expectsPayload, header });
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          if (!writer.write(chunk)) {
+            await waitForDrain();
+          }
+        }
+        writer.end();
+      } catch (err) {
+        writer.destroy(err);
+      } finally {
+        socket.off("close", onDrain).off("drain", onDrain);
       }
-      return x;
-    };
-    webidl.util.IntegerPart = function(n) {
-      const r = Math.floor(Math.abs(n));
-      if (n < 0) {
-        return -1 * r;
+    }
+    var AsyncWriter = class {
+      constructor({ abort, socket, request: request2, contentLength, client, expectsPayload, header }) {
+        this.socket = socket;
+        this.request = request2;
+        this.contentLength = contentLength;
+        this.client = client;
+        this.bytesWritten = 0;
+        this.expectsPayload = expectsPayload;
+        this.header = header;
+        this.abort = abort;
+        socket[kWriting] = true;
       }
-      return r;
-    };
-    webidl.sequenceConverter = function(converter) {
-      return (V) => {
-        if (webidl.util.Type(V) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: `Value of type ${webidl.util.Type(V)} is not an Object.`
-          });
-        }
-        const method = V?.[Symbol.iterator]?.();
-        const seq2 = [];
-        if (method === void 0 || typeof method.next !== "function") {
-          throw webidl.errors.exception({
-            header: "Sequence",
-            message: "Object is not an iterator."
-          });
+      write(chunk) {
+        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
+        if (socket[kError]) {
+          throw socket[kError];
         }
-        while (true) {
-          const { done, value } = method.next();
-          if (done) {
-            break;
-          }
-          seq2.push(converter(value));
+        if (socket.destroyed) {
+          return false;
         }
-        return seq2;
-      };
-    };
-    webidl.recordConverter = function(keyConverter, valueConverter) {
-      return (O) => {
-        if (webidl.util.Type(O) !== "Object") {
-          throw webidl.errors.exception({
-            header: "Record",
-            message: `Value of type ${webidl.util.Type(O)} is not an Object.`
-          });
+        const len = Buffer.byteLength(chunk);
+        if (!len) {
+          return true;
         }
-        const result = {};
-        if (!types.isProxy(O)) {
-          const keys2 = Object.keys(O);
-          for (const key of keys2) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        if (contentLength !== null && bytesWritten + len > contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
           }
-          return result;
+          process.emitWarning(new RequestContentLengthMismatchError());
         }
-        const keys = Reflect.ownKeys(O);
-        for (const key of keys) {
-          const desc = Reflect.getOwnPropertyDescriptor(O, key);
-          if (desc?.enumerable) {
-            const typedKey = keyConverter(key);
-            const typedValue = valueConverter(O[key]);
-            result[typedKey] = typedValue;
+        socket.cork();
+        if (bytesWritten === 0) {
+          if (!expectsPayload && request2.reset !== false) {
+            socket[kReset] = true;
+          }
+          if (contentLength === null) {
+            socket.write(`${header}transfer-encoding: chunked\r
+`, "latin1");
+          } else {
+            socket.write(`${header}content-length: ${contentLength}\r
+\r
+`, "latin1");
           }
         }
-        return result;
-      };
-    };
-    webidl.interfaceConverter = function(i) {
-      return (V, opts = {}) => {
-        if (opts.strict !== false && !(V instanceof i)) {
-          throw webidl.errors.exception({
-            header: i.name,
-            message: `Expected ${V} to be an instance of ${i.name}.`
-          });
-        }
-        return V;
-      };
-    };
-    webidl.dictionaryConverter = function(converters) {
-      return (dictionary) => {
-        const type2 = webidl.util.Type(dictionary);
-        const dict = {};
-        if (type2 === "Null" || type2 === "Undefined") {
-          return dict;
-        } else if (type2 !== "Object") {
-          throw webidl.errors.exception({
-            header: "Dictionary",
-            message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
-          });
+        if (contentLength === null) {
+          socket.write(`\r
+${len.toString(16)}\r
+`, "latin1");
         }
-        for (const options of converters) {
-          const { key, defaultValue, required, converter } = options;
-          if (required === true) {
-            if (!hasOwn(dictionary, key)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `Missing required key "${key}".`
-              });
+        this.bytesWritten += len;
+        const ret = socket.write(chunk);
+        socket.uncork();
+        request2.onBodySent(chunk);
+        if (!ret) {
+          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+            if (socket[kParser].timeout.refresh) {
+              socket[kParser].timeout.refresh();
             }
           }
-          let value = dictionary[key];
-          const hasDefault = hasOwn(options, "defaultValue");
-          if (hasDefault && value !== null) {
-            value = value ?? defaultValue;
+        }
+        return ret;
+      }
+      end() {
+        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
+        request2.onRequestSent();
+        socket[kWriting] = false;
+        if (socket[kError]) {
+          throw socket[kError];
+        }
+        if (socket.destroyed) {
+          return;
+        }
+        if (bytesWritten === 0) {
+          if (expectsPayload) {
+            socket.write(`${header}content-length: 0\r
+\r
+`, "latin1");
+          } else {
+            socket.write(`${header}\r
+`, "latin1");
           }
-          if (required || hasDefault || value !== void 0) {
-            value = converter(value);
-            if (options.allowedValues && !options.allowedValues.includes(value)) {
-              throw webidl.errors.exception({
-                header: "Dictionary",
-                message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
-              });
-            }
-            dict[key] = value;
+        } else if (contentLength === null) {
+          socket.write("\r\n0\r\n\r\n", "latin1");
+        }
+        if (contentLength !== null && bytesWritten !== contentLength) {
+          if (client[kStrictContentLength]) {
+            throw new RequestContentLengthMismatchError();
+          } else {
+            process.emitWarning(new RequestContentLengthMismatchError());
           }
         }
-        return dict;
-      };
-    };
-    webidl.nullableConverter = function(converter) {
-      return (V) => {
-        if (V === null) {
-          return V;
+        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
+          if (socket[kParser].timeout.refresh) {
+            socket[kParser].timeout.refresh();
+          }
         }
-        return converter(V);
-      };
-    };
-    webidl.converters.DOMString = function(V, opts = {}) {
-      if (V === null && opts.legacyNullToEmptyString) {
-        return "";
-      }
-      if (typeof V === "symbol") {
-        throw new TypeError("Could not convert argument of type symbol to string.");
+        client[kResume]();
       }
-      return String(V);
-    };
-    webidl.converters.ByteString = function(V) {
-      const x = webidl.converters.DOMString(V);
-      for (let index = 0; index < x.length; index++) {
-        if (x.charCodeAt(index) > 255) {
-          throw new TypeError(
-            `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
-          );
+      destroy(err) {
+        const { socket, client, abort } = this;
+        socket[kWriting] = false;
+        if (err) {
+          assert(client[kRunning] <= 1, "pipeline should only contain this request");
+          abort(err);
         }
       }
-      return x;
-    };
-    webidl.converters.USVString = toUSVString;
-    webidl.converters.boolean = function(V) {
-      const x = Boolean(V);
-      return x;
-    };
-    webidl.converters.any = function(V) {
-      return V;
-    };
-    webidl.converters["long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "signed");
-      return x;
     };
-    webidl.converters["unsigned long long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 64, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned long"] = function(V) {
-      const x = webidl.util.ConvertToInt(V, 32, "unsigned");
-      return x;
-    };
-    webidl.converters["unsigned short"] = function(V, opts) {
-      const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
-      return x;
-    };
-    webidl.converters.ArrayBuffer = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${V}`,
-          argument: `${V}`,
-          types: ["ArrayBuffer"]
-        });
-      }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+    module2.exports = connectH1;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js
+var require_client_h22 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { pipeline } = require("node:stream");
+    var util = require_util9();
+    var {
+      RequestContentLengthMismatchError,
+      RequestAbortedError,
+      SocketError,
+      InformationalError
+    } = require_errors2();
+    var {
+      kUrl,
+      kReset,
+      kClient,
+      kRunning,
+      kPending,
+      kQueue,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kSocket,
+      kStrictContentLength,
+      kOnError,
+      kMaxConcurrentStreams,
+      kHTTP2Session,
+      kResume,
+      kSize,
+      kHTTPContext
+    } = require_symbols6();
+    var kOpenStreams = /* @__PURE__ */ Symbol("open streams");
+    var extractBody;
+    var h2ExperimentalWarned = false;
+    var http2;
+    try {
+      http2 = require("node:http2");
+    } catch {
+      http2 = { constants: {} };
+    }
+    var {
+      constants: {
+        HTTP2_HEADER_AUTHORITY,
+        HTTP2_HEADER_METHOD,
+        HTTP2_HEADER_PATH,
+        HTTP2_HEADER_SCHEME,
+        HTTP2_HEADER_CONTENT_LENGTH,
+        HTTP2_HEADER_EXPECT,
+        HTTP2_HEADER_STATUS
       }
-      return V;
-    };
-    webidl.converters.TypedArray = function(V, T, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
-        throw webidl.errors.conversionFailed({
-          prefix: `${T.name}`,
-          argument: `${V}`,
-          types: [T.name]
-        });
+    } = http2;
+    function parseH2Headers(headers) {
+      const result = [];
+      for (const [name, value] of Object.entries(headers)) {
+        if (Array.isArray(value)) {
+          for (const subvalue of value) {
+            result.push(Buffer.from(name), Buffer.from(subvalue));
+          }
+        } else {
+          result.push(Buffer.from(name), Buffer.from(value));
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
+      return result;
+    }
+    async function connectH2(client, socket) {
+      client[kSocket] = socket;
+      if (!h2ExperimentalWarned) {
+        h2ExperimentalWarned = true;
+        process.emitWarning("H2 support is experimental, expect them to change at any time.", {
+          code: "UNDICI-H2"
         });
       }
-      return V;
-    };
-    webidl.converters.DataView = function(V, opts = {}) {
-      if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
-        throw webidl.errors.exception({
-          header: "DataView",
-          message: "Object is not a DataView."
-        });
+      const session = http2.connect(client[kUrl], {
+        createConnection: () => socket,
+        peerMaxConcurrentStreams: client[kMaxConcurrentStreams]
+      });
+      session[kOpenStreams] = 0;
+      session[kClient] = client;
+      session[kSocket] = socket;
+      util.addListener(session, "error", onHttp2SessionError);
+      util.addListener(session, "frameError", onHttp2FrameError);
+      util.addListener(session, "end", onHttp2SessionEnd);
+      util.addListener(session, "goaway", onHTTP2GoAway);
+      util.addListener(session, "close", function() {
+        const { [kClient]: client2 } = this;
+        const { [kSocket]: socket2 } = client2;
+        const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2));
+        client2[kHTTP2Session] = null;
+        if (client2.destroyed) {
+          assert(client2[kPending] === 0);
+          const requests = client2[kQueue].splice(client2[kRunningIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(client2, request2, err);
+          }
+        }
+      });
+      session.unref();
+      client[kHTTP2Session] = session;
+      socket[kHTTP2Session] = session;
+      util.addListener(socket, "error", function(err) {
+        assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+        this[kError] = err;
+        this[kClient][kOnError](err);
+      });
+      util.addListener(socket, "end", function() {
+        util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      });
+      util.addListener(socket, "close", function() {
+        const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
+        client[kSocket] = null;
+        if (this[kHTTP2Session] != null) {
+          this[kHTTP2Session].destroy(err);
+        }
+        client[kPendingIdx] = client[kRunningIdx];
+        assert(client[kRunning] === 0);
+        client.emit("disconnect", client[kUrl], [client], err);
+        client[kResume]();
+      });
+      let closed = false;
+      socket.on("close", () => {
+        closed = true;
+      });
+      return {
+        version: "h2",
+        defaultPipelining: Infinity,
+        write(...args) {
+          return writeH2(client, ...args);
+        },
+        resume() {
+          resumeH2(client);
+        },
+        destroy(err, callback) {
+          if (closed) {
+            queueMicrotask(callback);
+          } else {
+            socket.destroy(err).on("close", callback);
+          }
+        },
+        get destroyed() {
+          return socket.destroyed;
+        },
+        busy() {
+          return false;
+        }
+      };
+    }
+    function resumeH2(client) {
+      const socket = client[kSocket];
+      if (socket?.destroyed === false) {
+        if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {
+          socket.unref();
+          client[kHTTP2Session].unref();
+        } else {
+          socket.ref();
+          client[kHTTP2Session].ref();
+        }
       }
-      if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
-        throw webidl.errors.exception({
-          header: "ArrayBuffer",
-          message: "SharedArrayBuffer is not allowed."
-        });
+    }
+    function onHttp2SessionError(err) {
+      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
+      this[kSocket][kError] = err;
+      this[kClient][kOnError](err);
+    }
+    function onHttp2FrameError(type2, code, id) {
+      if (id === 0) {
+        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
+        this[kSocket][kError] = err;
+        this[kClient][kOnError](err);
       }
-      return V;
-    };
-    webidl.converters.BufferSource = function(V, opts = {}) {
-      if (types.isAnyArrayBuffer(V)) {
-        return webidl.converters.ArrayBuffer(V, opts);
+    }
+    function onHttp2SessionEnd() {
+      const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket]));
+      this.destroy(err);
+      util.destroy(this[kSocket], err);
+    }
+    function onHTTP2GoAway(code) {
+      const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this));
+      const client = this[kClient];
+      client[kSocket] = null;
+      client[kHTTPContext] = null;
+      if (this[kHTTP2Session] != null) {
+        this[kHTTP2Session].destroy(err);
+        this[kHTTP2Session] = null;
       }
-      if (types.isTypedArray(V)) {
-        return webidl.converters.TypedArray(V, V.constructor);
+      util.destroy(this[kSocket], err);
+      if (client[kRunningIdx] < client[kQueue].length) {
+        const request2 = client[kQueue][client[kRunningIdx]];
+        client[kQueue][client[kRunningIdx]++] = null;
+        util.errorRequest(client, request2, err);
+        client[kPendingIdx] = client[kRunningIdx];
       }
-      if (types.isDataView(V)) {
-        return webidl.converters.DataView(V, opts);
+      assert(client[kRunning] === 0);
+      client.emit("disconnect", client[kUrl], [client], err);
+      client[kResume]();
+    }
+    function shouldSendContentLength(method) {
+      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
+    }
+    function writeH2(client, request2) {
+      const session = client[kHTTP2Session];
+      const { method, path: path12, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
+      let { body } = request2;
+      if (upgrade) {
+        util.errorRequest(client, request2, new Error("Upgrade not supported for H2"));
+        return false;
       }
-      throw new TypeError(`Could not convert ${V} to a BufferSource.`);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.ByteString
-    );
-    webidl.converters["sequence>"] = webidl.sequenceConverter(
-      webidl.converters["sequence"]
-    );
-    webidl.converters["record"] = webidl.recordConverter(
-      webidl.converters.ByteString,
-      webidl.converters.ByteString
-    );
-    module2.exports = {
-      webidl
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
-  "node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) {
-    var assert = require("assert");
-    var { atob: atob2 } = require("buffer");
-    var { isomorphicDecode } = require_util10();
-    var encoder = new TextEncoder();
-    var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
-    var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/;
-    var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
-    function dataURLProcessor(dataURL) {
-      assert(dataURL.protocol === "data:");
-      let input = URLSerializer(dataURL, true);
-      input = input.slice(5);
-      const position = { position: 0 };
-      let mimeType = collectASequenceOfCodePointsFast(
-        ",",
-        input,
-        position
-      );
-      const mimeTypeLength = mimeType.length;
-      mimeType = removeASCIIWhitespace(mimeType, true, true);
-      if (position.position >= input.length) {
-        return "failure";
+      const headers = {};
+      for (let n = 0; n < reqHeaders.length; n += 2) {
+        const key = reqHeaders[n + 0];
+        const val = reqHeaders[n + 1];
+        if (Array.isArray(val)) {
+          for (let i = 0; i < val.length; i++) {
+            if (headers[key]) {
+              headers[key] += `,${val[i]}`;
+            } else {
+              headers[key] = val[i];
+            }
+          }
+        } else {
+          headers[key] = val;
+        }
       }
-      position.position++;
-      const encodedBody = input.slice(mimeTypeLength + 1);
-      let body = stringPercentDecode(encodedBody);
-      if (/;(\u0020){0,}base64$/i.test(mimeType)) {
-        const stringBody = isomorphicDecode(body);
-        body = forgivingBase64(stringBody);
-        if (body === "failure") {
-          return "failure";
+      let stream2;
+      const { hostname, port } = client[kUrl];
+      headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
+      headers[HTTP2_HEADER_METHOD] = method;
+      const abort = (err) => {
+        if (request2.aborted || request2.completed) {
+          return;
         }
-        mimeType = mimeType.slice(0, -6);
-        mimeType = mimeType.replace(/(\u0020)+$/, "");
-        mimeType = mimeType.slice(0, -1);
+        err = err || new RequestAbortedError();
+        util.errorRequest(client, request2, err);
+        if (stream2 != null) {
+          util.destroy(stream2, err);
+        }
+        util.destroy(body, err);
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kResume]();
+      };
+      try {
+        request2.onConnect(abort);
+      } catch (err) {
+        util.errorRequest(client, request2, err);
       }
-      if (mimeType.startsWith(";")) {
-        mimeType = "text/plain" + mimeType;
+      if (request2.aborted) {
+        return false;
       }
-      let mimeTypeRecord = parseMIMEType(mimeType);
-      if (mimeTypeRecord === "failure") {
-        mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
+      if (method === "CONNECT") {
+        session.ref();
+        stream2 = session.request(headers, { endStream: false, signal });
+        if (stream2.id && !stream2.pending) {
+          request2.onUpgrade(null, null, stream2);
+          ++session[kOpenStreams];
+          client[kQueue][client[kRunningIdx]++] = null;
+        } else {
+          stream2.once("ready", () => {
+            request2.onUpgrade(null, null, stream2);
+            ++session[kOpenStreams];
+            client[kQueue][client[kRunningIdx]++] = null;
+          });
+        }
+        stream2.once("close", () => {
+          session[kOpenStreams] -= 1;
+          if (session[kOpenStreams] === 0) session.unref();
+        });
+        return true;
       }
-      return { mimeType: mimeTypeRecord, body };
-    }
-    function URLSerializer(url2, excludeFragment = false) {
-      if (!excludeFragment) {
-        return url2.href;
+      headers[HTTP2_HEADER_PATH] = path12;
+      headers[HTTP2_HEADER_SCHEME] = "https";
+      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
+      if (body && typeof body.read === "function") {
+        body.read(0);
       }
-      const href = url2.href;
-      const hashLength = url2.hash.length;
-      return hashLength === 0 ? href : href.substring(0, href.length - hashLength);
-    }
-    function collectASequenceOfCodePoints(condition, input, position) {
-      let result = "";
-      while (position.position < input.length && condition(input[position.position])) {
-        result += input[position.position];
-        position.position++;
+      let contentLength = util.bodyLength(body);
+      if (util.isFormDataLike(body)) {
+        extractBody ??= require_body2().extractBody;
+        const [bodyStream, contentType] = extractBody(body);
+        headers["content-type"] = contentType;
+        body = bodyStream.stream;
+        contentLength = bodyStream.length;
       }
-      return result;
-    }
-    function collectASequenceOfCodePointsFast(char, input, position) {
-      const idx = input.indexOf(char, position.position);
-      const start = position.position;
-      if (idx === -1) {
-        position.position = input.length;
-        return input.slice(start);
+      if (contentLength == null) {
+        contentLength = request2.contentLength;
       }
-      position.position = idx;
-      return input.slice(start, position.position);
-    }
-    function stringPercentDecode(input) {
-      const bytes = encoder.encode(input);
-      return percentDecode(bytes);
-    }
-    function percentDecode(input) {
-      const output = [];
-      for (let i = 0; i < input.length; i++) {
-        const byte = input[i];
-        if (byte !== 37) {
-          output.push(byte);
-        } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {
-          output.push(37);
-        } else {
-          const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);
-          const bytePoint = Number.parseInt(nextTwoBytes, 16);
-          output.push(bytePoint);
-          i += 2;
-        }
+      if (contentLength === 0 || !expectsPayload) {
+        contentLength = null;
       }
-      return Uint8Array.from(output);
-    }
-    function parseMIMEType(input) {
-      input = removeHTTPWhitespace(input, true, true);
-      const position = { position: 0 };
-      const type2 = collectASequenceOfCodePointsFast(
-        "/",
-        input,
-        position
-      );
-      if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
-        return "failure";
+      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
+        if (client[kStrictContentLength]) {
+          util.errorRequest(client, request2, new RequestContentLengthMismatchError());
+          return false;
+        }
+        process.emitWarning(new RequestContentLengthMismatchError());
       }
-      if (position.position > input.length) {
-        return "failure";
+      if (contentLength != null) {
+        assert(body, "no body must not have content length");
+        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
       }
-      position.position++;
-      let subtype = collectASequenceOfCodePointsFast(
-        ";",
-        input,
-        position
-      );
-      subtype = removeHTTPWhitespace(subtype, false, true);
-      if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
-        return "failure";
+      session.ref();
+      const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
+      if (expectContinue) {
+        headers[HTTP2_HEADER_EXPECT] = "100-continue";
+        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
+        stream2.once("continue", writeBodyH2);
+      } else {
+        stream2 = session.request(headers, {
+          endStream: shouldEndStream,
+          signal
+        });
+        writeBodyH2();
       }
-      const typeLowercase = type2.toLowerCase();
-      const subtypeLowercase = subtype.toLowerCase();
-      const mimeType = {
-        type: typeLowercase,
-        subtype: subtypeLowercase,
-        /** @type {Map} */
-        parameters: /* @__PURE__ */ new Map(),
-        // https://mimesniff.spec.whatwg.org/#mime-type-essence
-        essence: `${typeLowercase}/${subtypeLowercase}`
-      };
-      while (position.position < input.length) {
-        position.position++;
-        collectASequenceOfCodePoints(
-          // https://fetch.spec.whatwg.org/#http-whitespace
-          (char) => HTTP_WHITESPACE_REGEX.test(char),
-          input,
-          position
-        );
-        let parameterName = collectASequenceOfCodePoints(
-          (char) => char !== ";" && char !== "=",
-          input,
-          position
-        );
-        parameterName = parameterName.toLowerCase();
-        if (position.position < input.length) {
-          if (input[position.position] === ";") {
-            continue;
+      ++session[kOpenStreams];
+      stream2.once("response", (headers2) => {
+        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
+        request2.onResponseStarted();
+        if (request2.aborted) {
+          const err = new RequestAbortedError();
+          util.errorRequest(client, request2, err);
+          util.destroy(stream2, err);
+          return;
+        }
+        if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
+          stream2.pause();
+        }
+        stream2.on("data", (chunk) => {
+          if (request2.onData(chunk) === false) {
+            stream2.pause();
           }
-          position.position++;
+        });
+      });
+      stream2.once("end", () => {
+        if (stream2.state?.state == null || stream2.state.state < 6) {
+          request2.onComplete([]);
         }
-        if (position.position > input.length) {
-          break;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
         }
-        let parameterValue = null;
-        if (input[position.position] === '"') {
-          parameterValue = collectAnHTTPQuotedString(input, position, true);
-          collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
+        abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
+        client[kQueue][client[kRunningIdx]++] = null;
+        client[kPendingIdx] = client[kRunningIdx];
+        client[kResume]();
+      });
+      stream2.once("close", () => {
+        session[kOpenStreams] -= 1;
+        if (session[kOpenStreams] === 0) {
+          session.unref();
+        }
+      });
+      stream2.once("error", function(err) {
+        abort(err);
+      });
+      stream2.once("frameError", (type2, code) => {
+        abort(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
+      });
+      return true;
+      function writeBodyH2() {
+        if (!body || contentLength === 0) {
+          writeBuffer(
+            abort,
+            stream2,
+            null,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
           );
-        } else {
-          parameterValue = collectASequenceOfCodePointsFast(
-            ";",
-            input,
-            position
+        } else if (util.isBuffer(body)) {
+          writeBuffer(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
           );
-          parameterValue = removeHTTPWhitespace(parameterValue, false, true);
-          if (parameterValue.length === 0) {
-            continue;
+        } else if (util.isBlobLike(body)) {
+          if (typeof body.stream === "function") {
+            writeIterable(
+              abort,
+              stream2,
+              body.stream(),
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
+          } else {
+            writeBlob(
+              abort,
+              stream2,
+              body,
+              client,
+              request2,
+              client[kSocket],
+              contentLength,
+              expectsPayload
+            );
           }
+        } else if (util.isStream(body)) {
+          writeStream(
+            abort,
+            client[kSocket],
+            expectsPayload,
+            stream2,
+            body,
+            client,
+            request2,
+            contentLength
+          );
+        } else if (util.isIterable(body)) {
+          writeIterable(
+            abort,
+            stream2,
+            body,
+            client,
+            request2,
+            client[kSocket],
+            contentLength,
+            expectsPayload
+          );
+        } else {
+          assert(false);
         }
-        if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
-          mimeType.parameters.set(parameterName, parameterValue);
-        }
-      }
-      return mimeType;
-    }
-    function forgivingBase64(data) {
-      data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, "");
-      if (data.length % 4 === 0) {
-        data = data.replace(/=?=$/, "");
-      }
-      if (data.length % 4 === 1) {
-        return "failure";
-      }
-      if (/[^+/0-9A-Za-z]/.test(data)) {
-        return "failure";
       }
-      const binary2 = atob2(data);
-      const bytes = new Uint8Array(binary2.length);
-      for (let byte = 0; byte < binary2.length; byte++) {
-        bytes[byte] = binary2.charCodeAt(byte);
-      }
-      return bytes;
     }
-    function collectAnHTTPQuotedString(input, position, extractValue) {
-      const positionStart = position.position;
-      let value = "";
-      assert(input[position.position] === '"');
-      position.position++;
-      while (true) {
-        value += collectASequenceOfCodePoints(
-          (char) => char !== '"' && char !== "\\",
-          input,
-          position
-        );
-        if (position.position >= input.length) {
-          break;
+    function writeBuffer(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      try {
+        if (body != null && util.isBuffer(body)) {
+          assert(contentLength === body.byteLength, "buffer body must have content length");
+          h2stream.cork();
+          h2stream.write(body);
+          h2stream.uncork();
+          h2stream.end();
+          request2.onBodySent(body);
         }
-        const quoteOrBackslash = input[position.position];
-        position.position++;
-        if (quoteOrBackslash === "\\") {
-          if (position.position >= input.length) {
-            value += "\\";
-            break;
-          }
-          value += input[position.position];
-          position.position++;
-        } else {
-          assert(quoteOrBackslash === '"');
-          break;
+        if (!expectsPayload) {
+          socket[kReset] = true;
         }
+        request2.onRequestSent();
+        client[kResume]();
+      } catch (error3) {
+        abort(error3);
       }
-      if (extractValue) {
-        return value;
-      }
-      return input.slice(positionStart, position.position);
     }
-    function serializeAMimeType(mimeType) {
-      assert(mimeType !== "failure");
-      const { parameters, essence } = mimeType;
-      let serialization = essence;
-      for (let [name, value] of parameters.entries()) {
-        serialization += ";";
-        serialization += name;
-        serialization += "=";
-        if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
-          value = value.replace(/(\\|")/g, "\\$1");
-          value = '"' + value;
-          value += '"';
+    function writeStream(abort, socket, expectsPayload, h2stream, body, client, request2, contentLength) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
+      const pipe = pipeline(
+        body,
+        h2stream,
+        (err) => {
+          if (err) {
+            util.destroy(pipe, err);
+            abort(err);
+          } else {
+            util.removeAllListeners(pipe);
+            request2.onRequestSent();
+            if (!expectsPayload) {
+              socket[kReset] = true;
+            }
+            client[kResume]();
+          }
         }
-        serialization += value;
+      );
+      util.addListener(pipe, "data", onPipeData);
+      function onPipeData(chunk) {
+        request2.onBodySent(chunk);
       }
-      return serialization;
     }
-    function isHTTPWhiteSpace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === " ";
-    }
-    function removeHTTPWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isHTTPWhiteSpace(str2[lead]); lead++) ;
-      }
-      if (trailing) {
-        for (; trail > 0 && isHTTPWhiteSpace(str2[trail]); trail--) ;
+    async function writeBlob(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength === body.size, "blob body must have content length");
+      try {
+        if (contentLength != null && contentLength !== body.size) {
+          throw new RequestContentLengthMismatchError();
+        }
+        const buffer = Buffer.from(await body.arrayBuffer());
+        h2stream.cork();
+        h2stream.write(buffer);
+        h2stream.uncork();
+        h2stream.end();
+        request2.onBodySent(buffer);
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
       }
-      return str2.slice(lead, trail + 1);
-    }
-    function isASCIIWhitespace(char) {
-      return char === "\r" || char === "\n" || char === "	" || char === "\f" || char === " ";
     }
-    function removeASCIIWhitespace(str2, leading = true, trailing = true) {
-      let lead = 0;
-      let trail = str2.length - 1;
-      if (leading) {
-        for (; lead < str2.length && isASCIIWhitespace(str2[lead]); lead++) ;
+    async function writeIterable(abort, h2stream, body, client, request2, socket, contentLength, expectsPayload) {
+      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
+      let callback = null;
+      function onDrain() {
+        if (callback) {
+          const cb = callback;
+          callback = null;
+          cb();
+        }
       }
-      if (trailing) {
-        for (; trail > 0 && isASCIIWhitespace(str2[trail]); trail--) ;
+      const waitForDrain = () => new Promise((resolve6, reject) => {
+        assert(callback === null);
+        if (socket[kError]) {
+          reject(socket[kError]);
+        } else {
+          callback = resolve6;
+        }
+      });
+      h2stream.on("close", onDrain).on("drain", onDrain);
+      try {
+        for await (const chunk of body) {
+          if (socket[kError]) {
+            throw socket[kError];
+          }
+          const res = h2stream.write(chunk);
+          request2.onBodySent(chunk);
+          if (!res) {
+            await waitForDrain();
+          }
+        }
+        h2stream.end();
+        request2.onRequestSent();
+        if (!expectsPayload) {
+          socket[kReset] = true;
+        }
+        client[kResume]();
+      } catch (err) {
+        abort(err);
+      } finally {
+        h2stream.off("close", onDrain).off("drain", onDrain);
       }
-      return str2.slice(lead, trail + 1);
     }
-    module2.exports = {
-      dataURLProcessor,
-      URLSerializer,
-      collectASequenceOfCodePoints,
-      collectASequenceOfCodePointsFast,
-      stringPercentDecode,
-      parseMIMEType,
-      collectAnHTTPQuotedString,
-      serializeAMimeType
-    };
+    module2.exports = connectH2;
   }
 });
 
-// node_modules/undici/lib/fetch/file.js
-var require_file2 = __commonJS({
-  "node_modules/undici/lib/fetch/file.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js
+var require_redirect_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
     "use strict";
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { types } = require("util");
-    var { kState } = require_symbols7();
-    var { isBlobLike } = require_util10();
-    var { webidl } = require_webidl2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var { kEnumerableProperty } = require_util9();
-    var encoder = new TextEncoder();
-    var File2 = class _File extends Blob2 {
-      constructor(fileBits, fileName, options = {}) {
-        webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
-        fileBits = webidl.converters["sequence"](fileBits);
-        fileName = webidl.converters.USVString(fileName);
-        options = webidl.converters.FilePropertyBag(options);
-        const n = fileName;
-        let t = options.type;
-        let d;
-        substep: {
-          if (t) {
-            t = parseMIMEType(t);
-            if (t === "failure") {
-              t = "";
-              break substep;
-            }
-            t = serializeAMimeType(t).toLowerCase();
-          }
-          d = options.lastModified;
-        }
-        super(processBlobParts(fileBits, options), { type: t });
-        this[kState] = {
-          name: n,
-          lastModified: d,
-          type: t
-        };
+    var util = require_util9();
+    var { kBodyUsed } = require_symbols6();
+    var assert = require("node:assert");
+    var { InvalidArgumentError } = require_errors2();
+    var EE = require("node:events");
+    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
+    var kBody = /* @__PURE__ */ Symbol("body");
+    var BodyAsyncIterable = class {
+      constructor(body) {
+        this[kBody] = body;
+        this[kBodyUsed] = false;
       }
-      get name() {
-        webidl.brandCheck(this, _File);
-        return this[kState].name;
+      async *[Symbol.asyncIterator]() {
+        assert(!this[kBodyUsed], "disturbed");
+        this[kBodyUsed] = true;
+        yield* this[kBody];
       }
-      get lastModified() {
-        webidl.brandCheck(this, _File);
-        return this[kState].lastModified;
+    };
+    var RedirectHandler = class {
+      constructor(dispatch, maxRedirections, opts, handler2) {
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        util.validateHandler(handler2, opts.method, opts.upgrade);
+        this.dispatch = dispatch;
+        this.location = null;
+        this.abort = null;
+        this.opts = { ...opts, maxRedirections: 0 };
+        this.maxRedirections = maxRedirections;
+        this.handler = handler2;
+        this.history = [];
+        this.redirectionLimitReached = false;
+        if (util.isStream(this.opts.body)) {
+          if (util.bodyLength(this.opts.body) === 0) {
+            this.opts.body.on("data", function() {
+              assert(false);
+            });
+          }
+          if (typeof this.opts.body.readableDidRead !== "boolean") {
+            this.opts.body[kBodyUsed] = false;
+            EE.prototype.on.call(this.opts.body, "data", function() {
+              this[kBodyUsed] = true;
+            });
+          }
+        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
+          this.opts.body = new BodyAsyncIterable(this.opts.body);
+        }
       }
-      get type() {
-        webidl.brandCheck(this, _File);
-        return this[kState].type;
+      onConnect(abort) {
+        this.abort = abort;
+        this.handler.onConnect(abort, { history: this.history });
       }
-    };
-    var FileLike = class _FileLike {
-      constructor(blobLike, fileName, options = {}) {
-        const n = fileName;
-        const t = options.type;
-        const d = options.lastModified ?? Date.now();
-        this[kState] = {
-          blobLike,
-          name: n,
-          type: t,
-          lastModified: d
-        };
+      onUpgrade(statusCode, headers, socket) {
+        this.handler.onUpgrade(statusCode, headers, socket);
       }
-      stream(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.stream(...args);
+      onError(error3) {
+        this.handler.onError(error3);
       }
-      arrayBuffer(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.arrayBuffer(...args);
+      onHeaders(statusCode, headers, resume, statusText) {
+        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
+        if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
+          if (this.request) {
+            this.request.abort(new Error("max redirects"));
+          }
+          this.redirectionLimitReached = true;
+          this.abort(new Error("max redirects"));
+          return;
+        }
+        if (this.opts.origin) {
+          this.history.push(new URL(this.opts.path, this.opts.origin));
+        }
+        if (!this.location) {
+          return this.handler.onHeaders(statusCode, headers, resume, statusText);
+        }
+        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
+        const path12 = search ? `${pathname}${search}` : pathname;
+        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
+        this.opts.path = path12;
+        this.opts.origin = origin;
+        this.opts.maxRedirections = 0;
+        this.opts.query = null;
+        if (statusCode === 303 && this.opts.method !== "HEAD") {
+          this.opts.method = "GET";
+          this.opts.body = null;
+        }
       }
-      slice(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.slice(...args);
+      onData(chunk) {
+        if (this.location) {
+        } else {
+          return this.handler.onData(chunk);
+        }
       }
-      text(...args) {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.text(...args);
+      onComplete(trailers) {
+        if (this.location) {
+          this.location = null;
+          this.abort = null;
+          this.dispatch(this.opts, this);
+        } else {
+          this.handler.onComplete(trailers);
+        }
       }
-      get size() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.size;
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) {
+          this.handler.onBodySent(chunk);
+        }
       }
-      get type() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].blobLike.type;
+    };
+    function parseLocation(statusCode, headers) {
+      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
+        return null;
       }
-      get name() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].name;
+      for (let i = 0; i < headers.length; i += 2) {
+        if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
+          return headers[i + 1];
+        }
       }
-      get lastModified() {
-        webidl.brandCheck(this, _FileLike);
-        return this[kState].lastModified;
+    }
+    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
+      if (header.length === 4) {
+        return util.headerNameToString(header) === "host";
       }
-      get [Symbol.toStringTag]() {
-        return "File";
+      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
+        return true;
       }
-    };
-    Object.defineProperties(File2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "File",
-        configurable: true
-      },
-      name: kEnumerableProperty,
-      lastModified: kEnumerableProperty
-    });
-    webidl.converters.Blob = webidl.interfaceConverter(Blob2);
-    webidl.converters.BlobPart = function(V, opts) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V, opts);
-        }
+      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
+        const name = util.headerNameToString(header);
+        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
       }
-      return webidl.converters.USVString(V, opts);
-    };
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.BlobPart
-    );
-    webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
-      {
-        key: "lastModified",
-        converter: webidl.converters["long long"],
-        get defaultValue() {
-          return Date.now();
-        }
-      },
-      {
-        key: "type",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "endings",
-        converter: (value) => {
-          value = webidl.converters.DOMString(value);
-          value = value.toLowerCase();
-          if (value !== "native") {
-            value = "transparent";
+      return false;
+    }
+    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
+      const ret = [];
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
+            ret.push(headers[i], headers[i + 1]);
           }
-          return value;
-        },
-        defaultValue: "transparent"
-      }
-    ]);
-    function processBlobParts(parts, options) {
-      const bytes = [];
-      for (const element of parts) {
-        if (typeof element === "string") {
-          let s = element;
-          if (options.endings === "native") {
-            s = convertLineEndingsNative(s);
-          }
-          bytes.push(encoder.encode(s));
-        } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {
-          if (!element.buffer) {
-            bytes.push(new Uint8Array(element));
-          } else {
-            bytes.push(
-              new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
-            );
+        }
+      } else if (headers && typeof headers === "object") {
+        for (const key of Object.keys(headers)) {
+          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
+            ret.push(key, headers[key]);
           }
-        } else if (isBlobLike(element)) {
-          bytes.push(element);
         }
+      } else {
+        assert(headers == null, "headers must be an object or an array");
       }
-      return bytes;
-    }
-    function convertLineEndingsNative(s) {
-      let nativeLineEnding = "\n";
-      if (process.platform === "win32") {
-        nativeLineEnding = "\r\n";
-      }
-      return s.replace(/\r?\n/g, nativeLineEnding);
+      return ret;
     }
-    function isFileLike(object) {
-      return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
+    module2.exports = RedirectHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js
+var require_redirect_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
+    "use strict";
+    var RedirectHandler = require_redirect_handler2();
+    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { maxRedirections = defaultMaxRedirections } = opts;
+          if (!maxRedirections) {
+            return dispatch(opts, handler2);
+          }
+          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
+          opts = { ...opts, maxRedirections: 0 };
+          return dispatch(opts, redirectHandler);
+        };
+      };
     }
-    module2.exports = { File: File2, FileLike, isFileLike };
+    module2.exports = createRedirectInterceptor;
   }
 });
 
-// node_modules/undici/lib/fetch/formdata.js
-var require_formdata2 = __commonJS({
-  "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js
+var require_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
     "use strict";
-    var { isBlobLike, toUSVString, makeIterator } = require_util10();
-    var { kState } = require_symbols7();
-    var { File: UndiciFile, FileLike, isFileLike } = require_file2();
-    var { webidl } = require_webidl2();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var File2 = NativeFile ?? UndiciFile;
-    var FormData2 = class _FormData {
-      constructor(form) {
-        if (form !== void 0) {
-          throw webidl.errors.conversionFailed({
-            prefix: "FormData constructor",
-            argument: "Argument 1",
-            types: ["undefined"]
-          });
+    var assert = require("node:assert");
+    var net = require("node:net");
+    var http = require("node:http");
+    var util = require_util9();
+    var { channels } = require_diagnostics2();
+    var Request = require_request3();
+    var DispatcherBase = require_dispatcher_base2();
+    var {
+      InvalidArgumentError,
+      InformationalError,
+      ClientDestroyedError
+    } = require_errors2();
+    var buildConnector = require_connect2();
+    var {
+      kUrl,
+      kServerName,
+      kClient,
+      kBusy,
+      kConnect,
+      kResuming,
+      kRunning,
+      kPending,
+      kSize,
+      kQueue,
+      kConnected,
+      kConnecting,
+      kNeedDrain,
+      kKeepAliveDefaultTimeout,
+      kHostHeader,
+      kPendingIdx,
+      kRunningIdx,
+      kError,
+      kPipelining,
+      kKeepAliveTimeoutValue,
+      kMaxHeadersSize,
+      kKeepAliveMaxTimeout,
+      kKeepAliveTimeoutThreshold,
+      kHeadersTimeout,
+      kBodyTimeout,
+      kStrictContentLength,
+      kConnector,
+      kMaxRedirections,
+      kMaxRequests,
+      kCounter,
+      kClose,
+      kDestroy,
+      kDispatch,
+      kInterceptors,
+      kLocalAddress,
+      kMaxResponseSize,
+      kOnError,
+      kHTTPContext,
+      kMaxConcurrentStreams,
+      kResume
+    } = require_symbols6();
+    var connectH1 = require_client_h12();
+    var connectH2 = require_client_h22();
+    var deprecatedInterceptorWarned = false;
+    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
+    var noop3 = () => {
+    };
+    function getPipelining(client) {
+      return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
+    }
+    var Client = class extends DispatcherBase {
+      /**
+       *
+       * @param {string|URL} url
+       * @param {import('../../types/client.js').Client.Options} options
+       */
+      constructor(url2, {
+        interceptors,
+        maxHeaderSize,
+        headersTimeout,
+        socketTimeout,
+        requestTimeout,
+        connectTimeout,
+        bodyTimeout,
+        idleTimeout,
+        keepAlive,
+        keepAliveTimeout,
+        maxKeepAliveTimeout,
+        keepAliveMaxTimeout,
+        keepAliveTimeoutThreshold,
+        socketPath,
+        pipelining,
+        tls,
+        strictContentLength,
+        maxCachedSessions,
+        maxRedirections,
+        connect: connect2,
+        maxRequestsPerClient,
+        localAddress,
+        maxResponseSize,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        // h2
+        maxConcurrentStreams,
+        allowH2
+      } = {}) {
+        super();
+        if (keepAlive !== void 0) {
+          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
         }
-        this[kState] = [];
-      }
-      append(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        if (socketTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        this[kState].push(entry);
-      }
-      delete(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
-        name = webidl.converters.USVString(name);
-        this[kState] = this[kState].filter((entry) => entry.name !== name);
-      }
-      get(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
-        name = webidl.converters.USVString(name);
-        const idx = this[kState].findIndex((entry) => entry.name === name);
-        if (idx === -1) {
-          return null;
+        if (requestTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
         }
-        return this[kState][idx].value;
-      }
-      getAll(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
-        name = webidl.converters.USVString(name);
-        return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
-      }
-      has(name) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
-        name = webidl.converters.USVString(name);
-        return this[kState].findIndex((entry) => entry.name === name) !== -1;
-      }
-      set(name, value, filename = void 0) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
-        if (arguments.length === 3 && !isBlobLike(value)) {
-          throw new TypeError(
-            "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
-          );
+        if (idleTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
         }
-        name = webidl.converters.USVString(name);
-        value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
-        filename = arguments.length === 3 ? toUSVString(filename) : void 0;
-        const entry = makeEntry(name, value, filename);
-        const idx = this[kState].findIndex((entry2) => entry2.name === name);
-        if (idx !== -1) {
-          this[kState] = [
-            ...this[kState].slice(0, idx),
-            entry,
-            ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
-          ];
-        } else {
-          this[kState].push(entry);
+        if (maxKeepAliveTimeout !== void 0) {
+          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
         }
-      }
-      entries() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key+value"
-        );
-      }
-      keys() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _FormData);
-        return makeIterator(
-          () => this[kState].map((pair) => [pair.name, pair.value]),
-          "FormData",
-          "value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: FormData) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _FormData);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
-          );
+        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
+          throw new InvalidArgumentError("invalid maxHeaderSize");
+        }
+        if (socketPath != null && typeof socketPath !== "string") {
+          throw new InvalidArgumentError("invalid socketPath");
+        }
+        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
+          throw new InvalidArgumentError("invalid connectTimeout");
+        }
+        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeout");
+        }
+        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
+          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        }
+        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
+          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        }
+        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
+          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        }
+        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
+          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        }
+        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
         }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
+        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
+          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
         }
-      }
-    };
-    FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;
-    Object.defineProperties(FormData2.prototype, {
-      [Symbol.toStringTag]: {
-        value: "FormData",
-        configurable: true
-      }
-    });
-    function makeEntry(name, value, filename) {
-      name = Buffer.from(name).toString("utf8");
-      if (typeof value === "string") {
-        value = Buffer.from(value).toString("utf8");
-      } else {
-        if (!isFileLike(value)) {
-          value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
+        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
+          throw new InvalidArgumentError("localAddress must be valid string IP address");
         }
-        if (filename !== void 0) {
-          const options = {
-            type: value.type,
-            lastModified: value.lastModified
-          };
-          value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);
+        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
+          throw new InvalidArgumentError("maxResponseSize must be a positive number");
         }
-      }
-      return { name, value };
-    }
-    module2.exports = { FormData: FormData2 };
-  }
-});
-
-// node_modules/undici/lib/fetch/body.js
-var require_body2 = __commonJS({
-  "node_modules/undici/lib/fetch/body.js"(exports2, module2) {
-    "use strict";
-    var Busboy = require_main();
-    var util = require_util9();
-    var {
-      ReadableStreamFrom,
-      isBlobLike,
-      isReadableStreamLike,
-      readableStreamClose,
-      createDeferredPromise,
-      fullyReadBody
-    } = require_util10();
-    var { FormData: FormData2 } = require_formdata2();
-    var { kState } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { DOMException: DOMException2, structuredClone } = require_constants7();
-    var { Blob: Blob2, File: NativeFile } = require("buffer");
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
-    var { isErrored } = require_util9();
-    var { isUint8Array, isArrayBuffer } = require("util/types");
-    var { File: UndiciFile } = require_file2();
-    var { parseMIMEType, serializeAMimeType } = require_dataURL();
-    var random;
-    try {
-      const crypto2 = require("node:crypto");
-      random = (max) => crypto2.randomInt(0, max);
-    } catch {
-      random = (max) => Math.floor(Math.random(max));
-    }
-    var ReadableStream2 = globalThis.ReadableStream;
-    var File2 = NativeFile ?? UndiciFile;
-    var textEncoder = new TextEncoder();
-    var textDecoder = new TextDecoder();
-    function extractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
-      }
-      let stream2 = null;
-      if (object instanceof ReadableStream2) {
-        stream2 = object;
-      } else if (isBlobLike(object)) {
-        stream2 = object.stream();
-      } else {
-        stream2 = new ReadableStream2({
-          async pull(controller) {
-            controller.enqueue(
-              typeof source === "string" ? textEncoder.encode(source) : source
-            );
-            queueMicrotask(() => readableStreamClose(controller));
-          },
-          start() {
-          },
-          type: void 0
-        });
-      }
-      assert(isReadableStreamLike(stream2));
-      let action = null;
-      let source = null;
-      let length = null;
-      let type2 = null;
-      if (typeof object === "string") {
-        source = object;
-        type2 = "text/plain;charset=UTF-8";
-      } else if (object instanceof URLSearchParams) {
-        source = object.toString();
-        type2 = "application/x-www-form-urlencoded;charset=UTF-8";
-      } else if (isArrayBuffer(object)) {
-        source = new Uint8Array(object.slice());
-      } else if (ArrayBuffer.isView(object)) {
-        source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
-      } else if (util.isFormDataLike(object)) {
-        const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
-        const prefix = `--${boundary}\r
-Content-Disposition: form-data`;
-        const escape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
-        const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
-        const blobParts = [];
-        const rn = new Uint8Array([13, 10]);
-        length = 0;
-        let hasUnknownSizeValue = false;
-        for (const [name, value] of object) {
-          if (typeof value === "string") {
-            const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
-\r
-${normalizeLinefeeds(value)}\r
-`);
-            blobParts.push(chunk2);
-            length += chunk2.byteLength;
-          } else {
-            const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
-Content-Type: ${value.type || "application/octet-stream"}\r
-\r
-`);
-            blobParts.push(chunk2, value, rn);
-            if (typeof value.size === "number") {
-              length += chunk2.byteLength + value.size + rn.byteLength;
-            } else {
-              hasUnknownSizeValue = true;
-            }
-          }
+        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
+          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
         }
-        const chunk = textEncoder.encode(`--${boundary}--`);
-        blobParts.push(chunk);
-        length += chunk.byteLength;
-        if (hasUnknownSizeValue) {
-          length = null;
+        if (allowH2 != null && typeof allowH2 !== "boolean") {
+          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
         }
-        source = object;
-        action = async function* () {
-          for (const part of blobParts) {
-            if (part.stream) {
-              yield* part.stream();
-            } else {
-              yield part;
-            }
-          }
-        };
-        type2 = "multipart/form-data; boundary=" + boundary;
-      } else if (isBlobLike(object)) {
-        source = object;
-        length = object.size;
-        if (object.type) {
-          type2 = object.type;
+        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
+          throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
         }
-      } else if (typeof object[Symbol.asyncIterator] === "function") {
-        if (keepalive) {
-          throw new TypeError("keepalive");
+        if (typeof connect2 !== "function") {
+          connect2 = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect2
+          });
         }
-        if (util.isDisturbed(object) || object.locked) {
-          throw new TypeError(
-            "Response body object should not be disturbed or locked"
-          );
+        if (interceptors?.Client && Array.isArray(interceptors.Client)) {
+          this[kInterceptors] = interceptors.Client;
+          if (!deprecatedInterceptorWarned) {
+            deprecatedInterceptorWarned = true;
+            process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.", {
+              code: "UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"
+            });
+          }
+        } else {
+          this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })];
         }
-        stream2 = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object);
+        this[kUrl] = util.parseOrigin(url2);
+        this[kConnector] = connect2;
+        this[kPipelining] = pipelining != null ? pipelining : 1;
+        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
+        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
+        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
+        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
+        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
+        this[kServerName] = null;
+        this[kLocalAddress] = localAddress != null ? localAddress : null;
+        this[kResuming] = 0;
+        this[kNeedDrain] = 0;
+        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
+`;
+        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
+        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
+        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
+        this[kMaxRedirections] = maxRedirections;
+        this[kMaxRequests] = maxRequestsPerClient;
+        this[kClosedResolve] = null;
+        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
+        this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
+        this[kHTTPContext] = null;
+        this[kQueue] = [];
+        this[kRunningIdx] = 0;
+        this[kPendingIdx] = 0;
+        this[kResume] = (sync) => resume(this, sync);
+        this[kOnError] = (err) => onError(this, err);
       }
-      if (typeof source === "string" || util.isBuffer(source)) {
-        length = Buffer.byteLength(source);
+      get pipelining() {
+        return this[kPipelining];
       }
-      if (action != null) {
-        let iterator2;
-        stream2 = new ReadableStream2({
-          async start() {
-            iterator2 = action(object)[Symbol.asyncIterator]();
-          },
-          async pull(controller) {
-            const { value, done } = await iterator2.next();
-            if (done) {
-              queueMicrotask(() => {
-                controller.close();
-              });
-            } else {
-              if (!isErrored(stream2)) {
-                controller.enqueue(new Uint8Array(value));
-              }
-            }
-            return controller.desiredSize > 0;
-          },
-          async cancel(reason) {
-            await iterator2.return();
-          },
-          type: void 0
-        });
+      set pipelining(value) {
+        this[kPipelining] = value;
+        this[kResume](true);
       }
-      const body = { stream: stream2, source, length };
-      return [body, type2];
-    }
-    function safelyExtractBody(object, keepalive = false) {
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      get [kPending]() {
+        return this[kQueue].length - this[kPendingIdx];
       }
-      if (object instanceof ReadableStream2) {
-        assert(!util.isDisturbed(object), "The body has already been consumed.");
-        assert(!object.locked, "The stream is locked.");
+      get [kRunning]() {
+        return this[kPendingIdx] - this[kRunningIdx];
       }
-      return extractBody(object, keepalive);
-    }
-    function cloneBody(body) {
-      const [out1, out2] = body.stream.tee();
-      const out2Clone = structuredClone(out2, { transfer: [out2] });
-      const [, finalClone] = out2Clone.tee();
-      body.stream = out1;
-      return {
-        stream: finalClone,
-        length: body.length,
-        source: body.source
-      };
-    }
-    async function* consumeBody(body) {
-      if (body) {
-        if (isUint8Array(body)) {
-          yield body;
+      get [kSize]() {
+        return this[kQueue].length - this[kRunningIdx];
+      }
+      get [kConnected]() {
+        return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
+      }
+      get [kBusy]() {
+        return Boolean(
+          this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
+        );
+      }
+      /* istanbul ignore: only used for test */
+      [kConnect](cb) {
+        connect(this);
+        this.once("connect", cb);
+      }
+      [kDispatch](opts, handler2) {
+        const origin = opts.origin || this[kUrl].origin;
+        const request2 = new Request(origin, opts, handler2);
+        this[kQueue].push(request2);
+        if (this[kResuming]) {
+        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
+          this[kResuming] = 1;
+          queueMicrotask(() => resume(this));
         } else {
-          const stream2 = body.stream;
-          if (util.isDisturbed(stream2)) {
-            throw new TypeError("The body has already been consumed.");
-          }
-          if (stream2.locked) {
-            throw new TypeError("The stream is locked.");
-          }
-          stream2[kBodyUsed] = true;
-          yield* stream2;
+          this[kResume](true);
+        }
+        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
+          this[kNeedDrain] = 2;
         }
+        return this[kNeedDrain] < 2;
       }
-    }
-    function throwIfAborted(state) {
-      if (state.aborted) {
-        throw new DOMException2("The operation was aborted.", "AbortError");
+      async [kClose]() {
+        return new Promise((resolve6) => {
+          if (this[kSize]) {
+            this[kClosedResolve] = resolve6;
+          } else {
+            resolve6(null);
+          }
+        });
       }
-    }
-    function bodyMixinMethods(instance) {
-      const methods = {
-        blob() {
-          return specConsumeBody(this, (bytes) => {
-            let mimeType = bodyMimeType(this);
-            if (mimeType === "failure") {
-              mimeType = "";
-            } else if (mimeType) {
-              mimeType = serializeAMimeType(mimeType);
-            }
-            return new Blob2([bytes], { type: mimeType });
-          }, instance);
-        },
-        arrayBuffer() {
-          return specConsumeBody(this, (bytes) => {
-            return new Uint8Array(bytes).buffer;
-          }, instance);
-        },
-        text() {
-          return specConsumeBody(this, utf8DecodeBytes, instance);
-        },
-        json() {
-          return specConsumeBody(this, parseJSONFromBytes, instance);
-        },
-        async formData() {
-          webidl.brandCheck(this, instance);
-          throwIfAborted(this[kState]);
-          const contentType = this.headers.get("Content-Type");
-          if (/multipart\/form-data/.test(contentType)) {
-            const headers = {};
-            for (const [key, value] of this.headers) headers[key.toLowerCase()] = value;
-            const responseFormData = new FormData2();
-            let busboy;
-            try {
-              busboy = new Busboy({
-                headers,
-                preservePath: true
-              });
-            } catch (err) {
-              throw new DOMException2(`${err}`, "AbortError");
-            }
-            busboy.on("field", (name, value) => {
-              responseFormData.append(name, value);
-            });
-            busboy.on("file", (name, value, filename, encoding, mimeType) => {
-              const chunks = [];
-              if (encoding === "base64" || encoding.toLowerCase() === "base64") {
-                let base64chunk = "";
-                value.on("data", (chunk) => {
-                  base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
-                  const end = base64chunk.length - base64chunk.length % 4;
-                  chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
-                  base64chunk = base64chunk.slice(end);
-                });
-                value.on("end", () => {
-                  chunks.push(Buffer.from(base64chunk, "base64"));
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              } else {
-                value.on("data", (chunk) => {
-                  chunks.push(chunk);
-                });
-                value.on("end", () => {
-                  responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));
-                });
-              }
-            });
-            const busboyResolve = new Promise((resolve6, reject) => {
-              busboy.on("finish", resolve6);
-              busboy.on("error", (err) => reject(new TypeError(err)));
-            });
-            if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk);
-            busboy.end();
-            await busboyResolve;
-            return responseFormData;
-          } else if (/application\/x-www-form-urlencoded/.test(contentType)) {
-            let entries;
-            try {
-              let text = "";
-              const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
-              for await (const chunk of consumeBody(this[kState].body)) {
-                if (!isUint8Array(chunk)) {
-                  throw new TypeError("Expected Uint8Array chunk");
-                }
-                text += streamingDecoder.decode(chunk, { stream: true });
-              }
-              text += streamingDecoder.decode();
-              entries = new URLSearchParams(text);
-            } catch (err) {
-              throw Object.assign(new TypeError(), { cause: err });
-            }
-            const formData = new FormData2();
-            for (const [name, value] of entries) {
-              formData.append(name, value);
+      async [kDestroy](err) {
+        return new Promise((resolve6) => {
+          const requests = this[kQueue].splice(this[kPendingIdx]);
+          for (let i = 0; i < requests.length; i++) {
+            const request2 = requests[i];
+            util.errorRequest(this, request2, err);
+          }
+          const callback = () => {
+            if (this[kClosedResolve]) {
+              this[kClosedResolve]();
+              this[kClosedResolve] = null;
             }
-            return formData;
+            resolve6(null);
+          };
+          if (this[kHTTPContext]) {
+            this[kHTTPContext].destroy(err, callback);
+            this[kHTTPContext] = null;
           } else {
-            await Promise.resolve();
-            throwIfAborted(this[kState]);
-            throw webidl.errors.exception({
-              header: `${instance.name}.formData`,
-              message: "Could not parse content as FormData."
-            });
+            queueMicrotask(callback);
           }
-        }
-      };
-      return methods;
-    }
-    function mixinBody(prototype) {
-      Object.assign(prototype.prototype, bodyMixinMethods(prototype));
-    }
-    async function specConsumeBody(object, convertBytesToJSValue, instance) {
-      webidl.brandCheck(object, instance);
-      throwIfAborted(object[kState]);
-      if (bodyUnusable(object[kState].body)) {
-        throw new TypeError("Body is unusable");
+          this[kResume]();
+        });
       }
-      const promise = createDeferredPromise();
-      const errorSteps = (error3) => promise.reject(error3);
-      const successSteps = (data) => {
-        try {
-          promise.resolve(convertBytesToJSValue(data));
-        } catch (e) {
-          errorSteps(e);
+    };
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    function onError(client, err) {
+      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
+        assert(client[kPendingIdx] === client[kRunningIdx]);
+        const requests = client[kQueue].splice(client[kRunningIdx]);
+        for (let i = 0; i < requests.length; i++) {
+          const request2 = requests[i];
+          util.errorRequest(client, request2, err);
         }
-      };
-      if (object[kState].body == null) {
-        successSteps(new Uint8Array());
-        return promise.promise;
+        assert(client[kSize] === 0);
       }
-      await fullyReadBody(object[kState].body, successSteps, errorSteps);
-      return promise.promise;
-    }
-    function bodyUnusable(body) {
-      return body != null && (body.stream.locked || util.isDisturbed(body.stream));
     }
-    function utf8DecodeBytes(buffer) {
-      if (buffer.length === 0) {
-        return "";
-      }
-      if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
-        buffer = buffer.subarray(3);
+    async function connect(client) {
+      assert(!client[kConnecting]);
+      assert(!client[kHTTPContext]);
+      let { host, hostname, protocol, port } = client[kUrl];
+      if (hostname[0] === "[") {
+        const idx = hostname.indexOf("]");
+        assert(idx !== -1);
+        const ip = hostname.substring(1, idx);
+        assert(net.isIP(ip));
+        hostname = ip;
       }
-      const output = textDecoder.decode(buffer);
-      return output;
-    }
-    function parseJSONFromBytes(bytes) {
-      return JSON.parse(utf8DecodeBytes(bytes));
-    }
-    function bodyMimeType(object) {
-      const { headersList } = object[kState];
-      const contentType = headersList.get("content-type");
-      if (contentType === null) {
-        return "failure";
+      client[kConnecting] = true;
+      if (channels.beforeConnect.hasSubscribers) {
+        channels.beforeConnect.publish({
+          connectParams: {
+            host,
+            hostname,
+            protocol,
+            port,
+            version: client[kHTTPContext]?.version,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          },
+          connector: client[kConnector]
+        });
       }
-      return parseMIMEType(contentType);
-    }
-    module2.exports = {
-      extractBody,
-      safelyExtractBody,
-      cloneBody,
-      mixinBody
-    };
-  }
-});
-
-// node_modules/undici/lib/core/request.js
-var require_request3 = __commonJS({
-  "node_modules/undici/lib/core/request.js"(exports2, module2) {
-    "use strict";
-    var {
-      InvalidArgumentError,
-      NotSupportedError
-    } = require_errors2();
-    var assert = require("assert");
-    var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols6();
-    var util = require_util9();
-    var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
-    var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-    var invalidPathRegex = /[^\u0021-\u00ff]/;
-    var kHandler = /* @__PURE__ */ Symbol("handler");
-    var channels = {};
-    var extractBody;
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.create = diagnosticsChannel.channel("undici:request:create");
-      channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");
-      channels.headers = diagnosticsChannel.channel("undici:request:headers");
-      channels.trailers = diagnosticsChannel.channel("undici:request:trailers");
-      channels.error = diagnosticsChannel.channel("undici:request:error");
-    } catch {
-      channels.create = { hasSubscribers: false };
-      channels.bodySent = { hasSubscribers: false };
-      channels.headers = { hasSubscribers: false };
-      channels.trailers = { hasSubscribers: false };
-      channels.error = { hasSubscribers: false };
-    }
-    var Request = class _Request {
-      constructor(origin, {
-        path: path12,
-        method,
-        body,
-        headers,
-        query,
-        idempotent,
-        blocking,
-        upgrade,
-        headersTimeout,
-        bodyTimeout,
-        reset,
-        throwOnError,
-        expectContinue
-      }, handler2) {
-        if (typeof path12 !== "string") {
-          throw new InvalidArgumentError("path must be a string");
-        } else if (path12[0] !== "/" && !(path12.startsWith("http://") || path12.startsWith("https://")) && method !== "CONNECT") {
-          throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
-        } else if (invalidPathRegex.exec(path12) !== null) {
-          throw new InvalidArgumentError("invalid request path");
-        }
-        if (typeof method !== "string") {
-          throw new InvalidArgumentError("method must be a string");
-        } else if (tokenRegExp.exec(method) === null) {
-          throw new InvalidArgumentError("invalid request method");
-        }
-        if (upgrade && typeof upgrade !== "string") {
-          throw new InvalidArgumentError("upgrade must be a string");
+      try {
+        const socket = await new Promise((resolve6, reject) => {
+          client[kConnector]({
+            host,
+            hostname,
+            protocol,
+            port,
+            servername: client[kServerName],
+            localAddress: client[kLocalAddress]
+          }, (err, socket2) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve6(socket2);
+            }
+          });
+        });
+        if (client.destroyed) {
+          util.destroy(socket.on("error", noop3), new ClientDestroyedError());
+          return;
         }
-        if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("invalid headersTimeout");
+        assert(socket);
+        try {
+          client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket);
+        } catch (err) {
+          socket.destroy().on("error", noop3);
+          throw err;
         }
-        if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("invalid bodyTimeout");
+        client[kConnecting] = false;
+        socket[kCounter] = 0;
+        socket[kMaxRequests] = client[kMaxRequests];
+        socket[kClient] = client;
+        socket[kError] = null;
+        if (channels.connected.hasSubscribers) {
+          channels.connected.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            socket
+          });
         }
-        if (reset != null && typeof reset !== "boolean") {
-          throw new InvalidArgumentError("invalid reset");
+        client.emit("connect", client[kUrl], [client]);
+      } catch (err) {
+        if (client.destroyed) {
+          return;
         }
-        if (expectContinue != null && typeof expectContinue !== "boolean") {
-          throw new InvalidArgumentError("invalid expectContinue");
+        client[kConnecting] = false;
+        if (channels.connectError.hasSubscribers) {
+          channels.connectError.publish({
+            connectParams: {
+              host,
+              hostname,
+              protocol,
+              port,
+              version: client[kHTTPContext]?.version,
+              servername: client[kServerName],
+              localAddress: client[kLocalAddress]
+            },
+            connector: client[kConnector],
+            error: err
+          });
         }
-        this.headersTimeout = headersTimeout;
-        this.bodyTimeout = bodyTimeout;
-        this.throwOnError = throwOnError === true;
-        this.method = method;
-        this.abort = null;
-        if (body == null) {
-          this.body = null;
-        } else if (util.isStream(body)) {
-          this.body = body;
-          const rState = this.body._readableState;
-          if (!rState || !rState.autoDestroy) {
-            this.endHandler = function autoDestroy() {
-              util.destroy(this);
-            };
-            this.body.on("end", this.endHandler);
+        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+          assert(client[kRunning] === 0);
+          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
+            const request2 = client[kQueue][client[kPendingIdx]++];
+            util.errorRequest(client, request2, err);
           }
-          this.errorHandler = (err) => {
-            if (this.abort) {
-              this.abort(err);
-            } else {
-              this.error = err;
-            }
-          };
-          this.body.on("error", this.errorHandler);
-        } else if (util.isBuffer(body)) {
-          this.body = body.byteLength ? body : null;
-        } else if (ArrayBuffer.isView(body)) {
-          this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
-        } else if (body instanceof ArrayBuffer) {
-          this.body = body.byteLength ? Buffer.from(body) : null;
-        } else if (typeof body === "string") {
-          this.body = body.length ? Buffer.from(body) : null;
-        } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
-          this.body = body;
         } else {
-          throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
-        }
-        this.completed = false;
-        this.aborted = false;
-        this.upgrade = upgrade || null;
-        this.path = query ? util.buildURL(path12, query) : path12;
-        this.origin = origin;
-        this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
-        this.blocking = blocking == null ? false : blocking;
-        this.reset = reset == null ? null : reset;
-        this.host = null;
-        this.contentLength = null;
-        this.contentType = null;
-        this.headers = "";
-        this.expectContinue = expectContinue != null ? expectContinue : false;
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(this, headers[i], headers[i + 1]);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(this, key, headers[key]);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        if (util.isFormDataLike(this.body)) {
-          if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {
-            throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer.");
-          }
-          if (!extractBody) {
-            extractBody = require_body2().extractBody;
-          }
-          const [bodyStream, contentType] = extractBody(body);
-          if (this.contentType == null) {
-            this.contentType = contentType;
-            this.headers += `content-type: ${contentType}\r
-`;
-          }
-          this.body = bodyStream.stream;
-          this.contentLength = bodyStream.length;
-        } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
-          this.contentType = body.type;
-          this.headers += `content-type: ${body.type}\r
-`;
-        }
-        util.validateHandler(handler2, method, upgrade);
-        this.servername = util.getServerName(this.host);
-        this[kHandler] = handler2;
-        if (channels.create.hasSubscribers) {
-          channels.create.publish({ request: this });
+          onError(client, err);
         }
+        client.emit("connectionError", client[kUrl], [client], err);
       }
-      onBodySent(chunk) {
-        if (this[kHandler].onBodySent) {
-          try {
-            return this[kHandler].onBodySent(chunk);
-          } catch (err) {
-            this.abort(err);
-          }
-        }
+      client[kResume]();
+    }
+    function emitDrain(client) {
+      client[kNeedDrain] = 0;
+      client.emit("drain", client[kUrl], [client]);
+    }
+    function resume(client, sync) {
+      if (client[kResuming] === 2) {
+        return;
       }
-      onRequestSent() {
-        if (channels.bodySent.hasSubscribers) {
-          channels.bodySent.publish({ request: this });
+      client[kResuming] = 2;
+      _resume(client, sync);
+      client[kResuming] = 0;
+      if (client[kRunningIdx] > 256) {
+        client[kQueue].splice(0, client[kRunningIdx]);
+        client[kPendingIdx] -= client[kRunningIdx];
+        client[kRunningIdx] = 0;
+      }
+    }
+    function _resume(client, sync) {
+      while (true) {
+        if (client.destroyed) {
+          assert(client[kPending] === 0);
+          return;
         }
-        if (this[kHandler].onRequestSent) {
-          try {
-            return this[kHandler].onRequestSent();
-          } catch (err) {
-            this.abort(err);
-          }
+        if (client[kClosedResolve] && !client[kSize]) {
+          client[kClosedResolve]();
+          client[kClosedResolve] = null;
+          return;
         }
-      }
-      onConnect(abort) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (this.error) {
-          abort(this.error);
-        } else {
-          this.abort = abort;
-          return this[kHandler].onConnect(abort);
+        if (client[kHTTPContext]) {
+          client[kHTTPContext].resume();
         }
-      }
-      onHeaders(statusCode, headers, resume, statusText) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        if (channels.headers.hasSubscribers) {
-          channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
+        if (client[kBusy]) {
+          client[kNeedDrain] = 2;
+        } else if (client[kNeedDrain] === 2) {
+          if (sync) {
+            client[kNeedDrain] = 1;
+            queueMicrotask(() => emitDrain(client));
+          } else {
+            emitDrain(client);
+          }
+          continue;
         }
-        try {
-          return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
-        } catch (err) {
-          this.abort(err);
+        if (client[kPending] === 0) {
+          return;
         }
-      }
-      onData(chunk) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        try {
-          return this[kHandler].onData(chunk);
-        } catch (err) {
-          this.abort(err);
-          return false;
+        if (client[kRunning] >= (getPipelining(client) || 1)) {
+          return;
         }
-      }
-      onUpgrade(statusCode, headers, socket) {
-        assert(!this.aborted);
-        assert(!this.completed);
-        return this[kHandler].onUpgrade(statusCode, headers, socket);
-      }
-      onComplete(trailers) {
-        this.onFinally();
-        assert(!this.aborted);
-        this.completed = true;
-        if (channels.trailers.hasSubscribers) {
-          channels.trailers.publish({ request: this, trailers });
+        const request2 = client[kQueue][client[kPendingIdx]];
+        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
+          if (client[kRunning] > 0) {
+            return;
+          }
+          client[kServerName] = request2.servername;
+          client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
+            client[kHTTPContext] = null;
+            resume(client);
+          });
         }
-        try {
-          return this[kHandler].onComplete(trailers);
-        } catch (err) {
-          this.onError(err);
+        if (client[kConnecting]) {
+          return;
         }
-      }
-      onError(error3) {
-        this.onFinally();
-        if (channels.error.hasSubscribers) {
-          channels.error.publish({ request: this, error: error3 });
+        if (!client[kHTTPContext]) {
+          connect(client);
+          return;
         }
-        if (this.aborted) {
+        if (client[kHTTPContext].destroyed) {
           return;
         }
-        this.aborted = true;
-        return this[kHandler].onError(error3);
-      }
-      onFinally() {
-        if (this.errorHandler) {
-          this.body.off("error", this.errorHandler);
-          this.errorHandler = null;
+        if (client[kHTTPContext].busy(request2)) {
+          return;
         }
-        if (this.endHandler) {
-          this.body.off("end", this.endHandler);
-          this.endHandler = null;
+        if (!request2.aborted && client[kHTTPContext].write(request2)) {
+          client[kPendingIdx]++;
+        } else {
+          client[kQueue].splice(client[kPendingIdx], 1);
         }
       }
-      // TODO: adjust to support H2
-      addHeader(key, value) {
-        processHeader(this, key, value);
-        return this;
+    }
+    module2.exports = Client;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js
+var require_fixed_queue2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
+    "use strict";
+    var kSize = 2048;
+    var kMask = kSize - 1;
+    var FixedCircularBuffer = class {
+      constructor() {
+        this.bottom = 0;
+        this.top = 0;
+        this.list = new Array(kSize);
+        this.next = null;
       }
-      static [kHTTP1BuildRequest](origin, opts, handler2) {
-        return new _Request(origin, opts, handler2);
+      isEmpty() {
+        return this.top === this.bottom;
       }
-      static [kHTTP2BuildRequest](origin, opts, handler2) {
-        const headers = opts.headers;
-        opts = { ...opts, headers: null };
-        const request2 = new _Request(origin, opts, handler2);
-        request2.headers = {};
-        if (Array.isArray(headers)) {
-          if (headers.length % 2 !== 0) {
-            throw new InvalidArgumentError("headers array must be even");
-          }
-          for (let i = 0; i < headers.length; i += 2) {
-            processHeader(request2, headers[i], headers[i + 1], true);
-          }
-        } else if (headers && typeof headers === "object") {
-          const keys = Object.keys(headers);
-          for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            processHeader(request2, key, headers[key], true);
-          }
-        } else if (headers != null) {
-          throw new InvalidArgumentError("headers must be an object or an array");
-        }
-        return request2;
+      isFull() {
+        return (this.top + 1 & kMask) === this.bottom;
       }
-      static [kHTTP2CopyHeaders](raw) {
-        const rawHeaders = raw.split("\r\n");
-        const headers = {};
-        for (const header of rawHeaders) {
-          const [key, value] = header.split(": ");
-          if (value == null || value.length === 0) continue;
-          if (headers[key]) headers[key] += `,${value}`;
-          else headers[key] = value;
-        }
-        return headers;
+      push(data) {
+        this.list[this.top] = data;
+        this.top = this.top + 1 & kMask;
       }
-    };
-    function processHeaderValue(key, val, skipAppend) {
-      if (val && typeof val === "object") {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+      shift() {
+        const nextItem = this.list[this.bottom];
+        if (nextItem === void 0)
+          return null;
+        this.list[this.bottom] = void 0;
+        this.bottom = this.bottom + 1 & kMask;
+        return nextItem;
       }
-      val = val != null ? `${val}` : "";
-      if (headerCharRegex.exec(val) !== null) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
+    };
+    module2.exports = class FixedQueue {
+      constructor() {
+        this.head = this.tail = new FixedCircularBuffer();
       }
-      return skipAppend ? val : `${key}: ${val}\r
-`;
-    }
-    function processHeader(request2, key, val, skipAppend = false) {
-      if (val && (typeof val === "object" && !Array.isArray(val))) {
-        throw new InvalidArgumentError(`invalid ${key} header`);
-      } else if (val === void 0) {
-        return;
+      isEmpty() {
+        return this.head.isEmpty();
       }
-      if (request2.host === null && key.length === 4 && key.toLowerCase() === "host") {
-        if (headerCharRegex.exec(val) !== null) {
-          throw new InvalidArgumentError(`invalid ${key} header`);
-        }
-        request2.host = val;
-      } else if (request2.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {
-        request2.contentLength = parseInt(val, 10);
-        if (!Number.isFinite(request2.contentLength)) {
-          throw new InvalidArgumentError("invalid content-length header");
-        }
-      } else if (request2.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {
-        request2.contentType = val;
-        if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-        else request2.headers += processHeaderValue(key, val);
-      } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") {
-        throw new InvalidArgumentError("invalid transfer-encoding header");
-      } else if (key.length === 10 && key.toLowerCase() === "connection") {
-        const value = typeof val === "string" ? val.toLowerCase() : null;
-        if (value !== "close" && value !== "keep-alive") {
-          throw new InvalidArgumentError("invalid connection header");
-        } else if (value === "close") {
-          request2.reset = true;
+      push(data) {
+        if (this.head.isFull()) {
+          this.head = this.head.next = new FixedCircularBuffer();
         }
-      } else if (key.length === 10 && key.toLowerCase() === "keep-alive") {
-        throw new InvalidArgumentError("invalid keep-alive header");
-      } else if (key.length === 7 && key.toLowerCase() === "upgrade") {
-        throw new InvalidArgumentError("invalid upgrade header");
-      } else if (key.length === 6 && key.toLowerCase() === "expect") {
-        throw new NotSupportedError("expect header not supported");
-      } else if (tokenRegExp.exec(key) === null) {
-        throw new InvalidArgumentError("invalid header key");
-      } else {
-        if (Array.isArray(val)) {
-          for (let i = 0; i < val.length; i++) {
-            if (skipAppend) {
-              if (request2.headers[key]) request2.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
-              else request2.headers[key] = processHeaderValue(key, val[i], skipAppend);
-            } else {
-              request2.headers += processHeaderValue(key, val[i]);
-            }
-          }
-        } else {
-          if (skipAppend) request2.headers[key] = processHeaderValue(key, val, skipAppend);
-          else request2.headers += processHeaderValue(key, val);
+        this.head.push(data);
+      }
+      shift() {
+        const tail = this.tail;
+        const next = tail.shift();
+        if (tail.isEmpty() && tail.next !== null) {
+          this.tail = tail.next;
         }
+        return next;
       }
-    }
-    module2.exports = Request;
+    };
   }
 });
 
-// node_modules/undici/lib/dispatcher.js
-var require_dispatcher2 = __commonJS({
-  "node_modules/undici/lib/dispatcher.js"(exports2, module2) {
-    "use strict";
-    var EventEmitter = require("events");
-    var Dispatcher = class extends EventEmitter {
-      dispatch() {
-        throw new Error("not implemented");
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js
+var require_pool_stats2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
+    var kPool = /* @__PURE__ */ Symbol("pool");
+    var PoolStats = class {
+      constructor(pool) {
+        this[kPool] = pool;
       }
-      close() {
-        throw new Error("not implemented");
+      get connected() {
+        return this[kPool][kConnected];
       }
-      destroy() {
-        throw new Error("not implemented");
+      get free() {
+        return this[kPool][kFree];
+      }
+      get pending() {
+        return this[kPool][kPending];
+      }
+      get queued() {
+        return this[kPool][kQueued];
+      }
+      get running() {
+        return this[kPool][kRunning];
+      }
+      get size() {
+        return this[kPool][kSize];
       }
     };
-    module2.exports = Dispatcher;
+    module2.exports = PoolStats;
   }
 });
 
-// node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base2 = __commonJS({
-  "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js
+var require_pool_base2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
     "use strict";
-    var Dispatcher = require_dispatcher2();
-    var {
-      ClientDestroyedError,
-      ClientClosedError,
-      InvalidArgumentError
-    } = require_errors2();
-    var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols6();
-    var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
-    var kClosed = /* @__PURE__ */ Symbol("closed");
-    var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
-    var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
-    var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
-    var DispatcherBase = class extends Dispatcher {
+    var DispatcherBase = require_dispatcher_base2();
+    var FixedQueue = require_fixed_queue2();
+    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
+    var PoolStats = require_pool_stats2();
+    var kClients = /* @__PURE__ */ Symbol("clients");
+    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
+    var kQueue = /* @__PURE__ */ Symbol("queue");
+    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
+    var kAddClient = /* @__PURE__ */ Symbol("add client");
+    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
+    var kStats = /* @__PURE__ */ Symbol("stats");
+    var PoolBase = class extends DispatcherBase {
       constructor() {
         super();
-        this[kDestroyed] = false;
-        this[kOnDestroyed] = null;
-        this[kClosed] = false;
-        this[kOnClosed] = [];
-      }
-      get destroyed() {
-        return this[kDestroyed];
-      }
-      get closed() {
-        return this[kClosed];
-      }
-      get interceptors() {
-        return this[kInterceptors];
-      }
-      set interceptors(newInterceptors) {
-        if (newInterceptors) {
-          for (let i = newInterceptors.length - 1; i >= 0; i--) {
-            const interceptor = this[kInterceptors][i];
-            if (typeof interceptor !== "function") {
-              throw new InvalidArgumentError("interceptor must be an function");
+        this[kQueue] = new FixedQueue();
+        this[kClients] = [];
+        this[kQueued] = 0;
+        const pool = this;
+        this[kOnDrain] = function onDrain(origin, targets) {
+          const queue = pool[kQueue];
+          let needDrain = false;
+          while (!needDrain) {
+            const item = queue.shift();
+            if (!item) {
+              break;
             }
+            pool[kQueued]--;
+            needDrain = !this.dispatch(item.opts, item.handler);
           }
-        }
-        this[kInterceptors] = newInterceptors;
-      }
-      close(callback) {
-        if (callback === void 0) {
-          return new Promise((resolve6, reject) => {
-            this.close((err, data) => {
-              return err ? reject(err) : resolve6(data);
-            });
-          });
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        if (this[kDestroyed]) {
-          queueMicrotask(() => callback(new ClientDestroyedError(), null));
-          return;
-        }
-        if (this[kClosed]) {
-          if (this[kOnClosed]) {
-            this[kOnClosed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
+          this[kNeedDrain] = needDrain;
+          if (!this[kNeedDrain] && pool[kNeedDrain]) {
+            pool[kNeedDrain] = false;
+            pool.emit("drain", origin, [pool, ...targets]);
           }
-          return;
-        }
-        this[kClosed] = true;
-        this[kOnClosed].push(callback);
-        const onClosed = () => {
-          const callbacks = this[kOnClosed];
-          this[kOnClosed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
+          if (pool[kClosedResolve] && queue.isEmpty()) {
+            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
           }
         };
-        this[kClose]().then(() => this.destroy()).then(() => {
-          queueMicrotask(onClosed);
-        });
+        this[kOnConnect] = (origin, targets) => {
+          pool.emit("connect", origin, [pool, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          pool.emit("disconnect", origin, [pool, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          pool.emit("connectionError", origin, [pool, ...targets], err);
+        };
+        this[kStats] = new PoolStats(this);
       }
-      destroy(err, callback) {
-        if (typeof err === "function") {
-          callback = err;
-          err = null;
-        }
-        if (callback === void 0) {
-          return new Promise((resolve6, reject) => {
-            this.destroy(err, (err2, data) => {
-              return err2 ? (
-                /* istanbul ignore next: should never error */
-                reject(err2)
-              ) : resolve6(data);
-            });
-          });
+      get [kBusy]() {
+        return this[kNeedDrain];
+      }
+      get [kConnected]() {
+        return this[kClients].filter((client) => client[kConnected]).length;
+      }
+      get [kFree]() {
+        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
+      }
+      get [kPending]() {
+        let ret = this[kQueued];
+        for (const { [kPending]: pending } of this[kClients]) {
+          ret += pending;
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        return ret;
+      }
+      get [kRunning]() {
+        let ret = 0;
+        for (const { [kRunning]: running } of this[kClients]) {
+          ret += running;
         }
-        if (this[kDestroyed]) {
-          if (this[kOnDestroyed]) {
-            this[kOnDestroyed].push(callback);
-          } else {
-            queueMicrotask(() => callback(null, null));
-          }
-          return;
+        return ret;
+      }
+      get [kSize]() {
+        let ret = this[kQueued];
+        for (const { [kSize]: size } of this[kClients]) {
+          ret += size;
         }
-        if (!err) {
-          err = new ClientDestroyedError();
+        return ret;
+      }
+      get stats() {
+        return this[kStats];
+      }
+      async [kClose]() {
+        if (this[kQueue].isEmpty()) {
+          await Promise.all(this[kClients].map((c) => c.close()));
+        } else {
+          await new Promise((resolve6) => {
+            this[kClosedResolve] = resolve6;
+          });
         }
-        this[kDestroyed] = true;
-        this[kOnDestroyed] = this[kOnDestroyed] || [];
-        this[kOnDestroyed].push(callback);
-        const onDestroyed = () => {
-          const callbacks = this[kOnDestroyed];
-          this[kOnDestroyed] = null;
-          for (let i = 0; i < callbacks.length; i++) {
-            callbacks[i](null, null);
-          }
-        };
-        this[kDestroy](err).then(() => {
-          queueMicrotask(onDestroyed);
-        });
       }
-      [kInterceptedDispatch](opts, handler2) {
-        if (!this[kInterceptors] || this[kInterceptors].length === 0) {
-          this[kInterceptedDispatch] = this[kDispatch];
-          return this[kDispatch](opts, handler2);
+      async [kDestroy](err) {
+        while (true) {
+          const item = this[kQueue].shift();
+          if (!item) {
+            break;
+          }
+          item.handler.onError(err);
         }
-        let dispatch = this[kDispatch].bind(this);
-        for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
-          dispatch = this[kInterceptors][i](dispatch);
+        await Promise.all(this[kClients].map((c) => c.destroy(err)));
+      }
+      [kDispatch](opts, handler2) {
+        const dispatcher = this[kGetDispatcher]();
+        if (!dispatcher) {
+          this[kNeedDrain] = true;
+          this[kQueue].push({ opts, handler: handler2 });
+          this[kQueued]++;
+        } else if (!dispatcher.dispatch(opts, handler2)) {
+          dispatcher[kNeedDrain] = true;
+          this[kNeedDrain] = !this[kGetDispatcher]();
         }
-        this[kInterceptedDispatch] = dispatch;
-        return dispatch(opts, handler2);
+        return !this[kNeedDrain];
       }
-      dispatch(opts, handler2) {
-        if (!handler2 || typeof handler2 !== "object") {
-          throw new InvalidArgumentError("handler must be an object");
+      [kAddClient](client) {
+        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+        this[kClients].push(client);
+        if (this[kNeedDrain]) {
+          queueMicrotask(() => {
+            if (this[kNeedDrain]) {
+              this[kOnDrain](client[kUrl], [this, client]);
+            }
+          });
         }
-        try {
-          if (!opts || typeof opts !== "object") {
-            throw new InvalidArgumentError("opts must be an object.");
-          }
-          if (this[kDestroyed] || this[kOnDestroyed]) {
-            throw new ClientDestroyedError();
-          }
-          if (this[kClosed]) {
-            throw new ClientClosedError();
-          }
-          return this[kInterceptedDispatch](opts, handler2);
-        } catch (err) {
-          if (typeof handler2.onError !== "function") {
-            throw new InvalidArgumentError("invalid onError method");
+        return this;
+      }
+      [kRemoveClient](client) {
+        client.close(() => {
+          const idx = this[kClients].indexOf(client);
+          if (idx !== -1) {
+            this[kClients].splice(idx, 1);
           }
-          handler2.onError(err);
-          return false;
-        }
+        });
+        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
       }
     };
-    module2.exports = DispatcherBase;
+    module2.exports = {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    };
   }
 });
 
-// node_modules/undici/lib/core/connect.js
-var require_connect2 = __commonJS({
-  "node_modules/undici/lib/core/connect.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js
+var require_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
     "use strict";
-    var net = require("net");
-    var assert = require("assert");
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Client = require_client2();
+    var {
+      InvalidArgumentError
+    } = require_errors2();
     var util = require_util9();
-    var { InvalidArgumentError, ConnectTimeoutError } = require_errors2();
-    var tls;
-    var SessionCache;
-    if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) {
-      SessionCache = class WeakSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
-          this._sessionRegistry = new global.FinalizationRegistry((key) => {
-            if (this._sessionCache.size < this._maxCachedSessions) {
-              return;
-            }
-            const ref = this._sessionCache.get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this._sessionCache.delete(key);
-            }
-          });
-        }
-        get(sessionKey) {
-          const ref = this._sessionCache.get(sessionKey);
-          return ref ? ref.deref() : null;
-        }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          this._sessionCache.set(sessionKey, new WeakRef(session));
-          this._sessionRegistry.register(session, sessionKey);
-        }
-      };
-    } else {
-      SessionCache = class SimpleSessionCache {
-        constructor(maxCachedSessions) {
-          this._maxCachedSessions = maxCachedSessions;
-          this._sessionCache = /* @__PURE__ */ new Map();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var buildConnector = require_connect2();
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kConnections = /* @__PURE__ */ Symbol("connections");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    function defaultFactory(origin, opts) {
+      return new Client(origin, opts);
+    }
+    var Pool = class extends PoolBase {
+      constructor(origin, {
+        connections,
+        factory = defaultFactory,
+        connect,
+        connectTimeout,
+        tls,
+        maxCachedSessions,
+        socketPath,
+        autoSelectFamily,
+        autoSelectFamilyAttemptTimeout,
+        allowH2,
+        ...options
+      } = {}) {
+        super();
+        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
+          throw new InvalidArgumentError("invalid connections");
         }
-        get(sessionKey) {
-          return this._sessionCache.get(sessionKey);
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
         }
-        set(sessionKey, session) {
-          if (this._maxCachedSessions === 0) {
-            return;
-          }
-          if (this._sessionCache.size >= this._maxCachedSessions) {
-            const { value: oldestKey } = this._sessionCache.keys().next();
-            this._sessionCache.delete(oldestKey);
-          }
-          this._sessionCache.set(sessionKey, session);
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
         }
-      };
-    }
-    function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
-      if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
-        throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
-      }
-      const options = { path: socketPath, ...opts };
-      const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
-      timeout = timeout == null ? 1e4 : timeout;
-      allowH2 = allowH2 != null ? allowH2 : false;
-      return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
-        let socket;
-        if (protocol === "https:") {
-          if (!tls) {
-            tls = require("tls");
-          }
-          servername = servername || options.servername || util.getServerName(host) || null;
-          const sessionKey = servername || hostname;
-          const session = sessionCache.get(sessionKey) || null;
-          assert(sessionKey);
-          socket = tls.connect({
-            highWaterMark: 16384,
-            // TLS in node can't have bigger HWM anyway...
-            ...options,
-            servername,
-            session,
-            localAddress,
-            // TODO(HTTP/2): Add support for h2c
-            ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
-            socket: httpSocket,
-            // upgrade socket connection
-            port: port || 443,
-            host: hostname
-          });
-          socket.on("session", function(session2) {
-            sessionCache.set(sessionKey, session2);
-          });
-        } else {
-          assert(!httpSocket, "httpSocket can only be sent on TLS update");
-          socket = net.connect({
-            highWaterMark: 64 * 1024,
-            // Same as nodejs fs streams.
-            ...options,
-            localAddress,
-            port: port || 80,
-            host: hostname
+        if (typeof connect !== "function") {
+          connect = buildConnector({
+            ...tls,
+            maxCachedSessions,
+            allowH2,
+            socketPath,
+            timeout: connectTimeout,
+            ...autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
+            ...connect
           });
         }
-        if (options.keepAlive == null || options.keepAlive) {
-          const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
-          socket.setKeepAlive(true, keepAliveInitialDelay);
-        }
-        const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
-        socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(null, this);
-          }
-        }).on("error", function(err) {
-          cancelTimeout();
-          if (callback) {
-            const cb = callback;
-            callback = null;
-            cb(err);
+        this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
+        this[kConnections] = connections || null;
+        this[kUrl] = util.parseOrigin(origin);
+        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kFactory] = factory;
+        this.on("connectionError", (origin2, targets, error3) => {
+          for (const target of targets) {
+            const idx = this[kClients].indexOf(target);
+            if (idx !== -1) {
+              this[kClients].splice(idx, 1);
+            }
           }
         });
-        return socket;
-      };
-    }
-    function setupTimeout(onConnectTimeout2, timeout) {
-      if (!timeout) {
-        return () => {
-        };
       }
-      let s1 = null;
-      let s2 = null;
-      const timeoutId = setTimeout(() => {
-        s1 = setImmediate(() => {
-          if (process.platform === "win32") {
-            s2 = setImmediate(() => onConnectTimeout2());
-          } else {
-            onConnectTimeout2();
+      [kGetDispatcher]() {
+        for (const client of this[kClients]) {
+          if (!client[kNeedDrain]) {
+            return client;
           }
-        });
-      }, timeout);
-      return () => {
-        clearTimeout(timeoutId);
-        clearImmediate(s1);
-        clearImmediate(s2);
-      };
-    }
-    function onConnectTimeout(socket) {
-      util.destroy(socket, new ConnectTimeoutError());
-    }
-    module2.exports = buildConnector;
-  }
-});
-
-// node_modules/undici/lib/llhttp/utils.js
-var require_utils3 = __commonJS({
-  "node_modules/undici/lib/llhttp/utils.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.enumToMap = void 0;
-    function enumToMap(obj) {
-      const res = {};
-      Object.keys(obj).forEach((key) => {
-        const value = obj[key];
-        if (typeof value === "number") {
-          res[key] = value;
         }
-      });
-      return res;
-    }
-    exports2.enumToMap = enumToMap;
+        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
+          const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
+          this[kAddClient](dispatcher);
+          return dispatcher;
+        }
+      }
+    };
+    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/llhttp/constants.js
-var require_constants8 = __commonJS({
-  "node_modules/undici/lib/llhttp/constants.js"(exports2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js
+var require_balanced_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
     "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
-    var utils_1 = require_utils3();
-    var ERROR;
-    (function(ERROR2) {
-      ERROR2[ERROR2["OK"] = 0] = "OK";
-      ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
-      ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
-      ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
-      ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
-      ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
-      ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
-      ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
-      ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
-      ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
-      ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
-      ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
-      ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
-      ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
-      ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
-      ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
-      ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
-      ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
-      ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
-      ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
-      ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
-      ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
-      ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
-      ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
-      ERROR2[ERROR2["USER"] = 24] = "USER";
-    })(ERROR = exports2.ERROR || (exports2.ERROR = {}));
-    var TYPE;
-    (function(TYPE2) {
-      TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
-      TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
-      TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
-    })(TYPE = exports2.TYPE || (exports2.TYPE = {}));
-    var FLAGS;
-    (function(FLAGS2) {
-      FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
-      FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
-      FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
-      FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
-      FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
-      FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
-      FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
-      FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
-      FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
-    })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {}));
-    var LENIENT_FLAGS;
-    (function(LENIENT_FLAGS2) {
-      LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
-      LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
-    })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {}));
-    var METHODS;
-    (function(METHODS2) {
-      METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
-      METHODS2[METHODS2["GET"] = 1] = "GET";
-      METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
-      METHODS2[METHODS2["POST"] = 3] = "POST";
-      METHODS2[METHODS2["PUT"] = 4] = "PUT";
-      METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
-      METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
-      METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
-      METHODS2[METHODS2["COPY"] = 8] = "COPY";
-      METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
-      METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
-      METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
-      METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
-      METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
-      METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
-      METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
-      METHODS2[METHODS2["BIND"] = 16] = "BIND";
-      METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
-      METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
-      METHODS2[METHODS2["ACL"] = 19] = "ACL";
-      METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
-      METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
-      METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
-      METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
-      METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
-      METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
-      METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
-      METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
-      METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
-      METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
-      METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
-      METHODS2[METHODS2["LINK"] = 31] = "LINK";
-      METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
-      METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
-      METHODS2[METHODS2["PRI"] = 34] = "PRI";
-      METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
-      METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
-      METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
-      METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
-      METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
-      METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
-      METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
-      METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
-      METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
-      METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
-      METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
-    })(METHODS = exports2.METHODS || (exports2.METHODS = {}));
-    exports2.METHODS_HTTP = [
-      METHODS.DELETE,
-      METHODS.GET,
-      METHODS.HEAD,
-      METHODS.POST,
-      METHODS.PUT,
-      METHODS.CONNECT,
-      METHODS.OPTIONS,
-      METHODS.TRACE,
-      METHODS.COPY,
-      METHODS.LOCK,
-      METHODS.MKCOL,
-      METHODS.MOVE,
-      METHODS.PROPFIND,
-      METHODS.PROPPATCH,
-      METHODS.SEARCH,
-      METHODS.UNLOCK,
-      METHODS.BIND,
-      METHODS.REBIND,
-      METHODS.UNBIND,
-      METHODS.ACL,
-      METHODS.REPORT,
-      METHODS.MKACTIVITY,
-      METHODS.CHECKOUT,
-      METHODS.MERGE,
-      METHODS["M-SEARCH"],
-      METHODS.NOTIFY,
-      METHODS.SUBSCRIBE,
-      METHODS.UNSUBSCRIBE,
-      METHODS.PATCH,
-      METHODS.PURGE,
-      METHODS.MKCALENDAR,
-      METHODS.LINK,
-      METHODS.UNLINK,
-      METHODS.PRI,
-      // TODO(indutny): should we allow it with HTTP?
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_ICE = [
-      METHODS.SOURCE
-    ];
-    exports2.METHODS_RTSP = [
-      METHODS.OPTIONS,
-      METHODS.DESCRIBE,
-      METHODS.ANNOUNCE,
-      METHODS.SETUP,
-      METHODS.PLAY,
-      METHODS.PAUSE,
-      METHODS.TEARDOWN,
-      METHODS.GET_PARAMETER,
-      METHODS.SET_PARAMETER,
-      METHODS.REDIRECT,
-      METHODS.RECORD,
-      METHODS.FLUSH,
-      // For AirPlay
-      METHODS.GET,
-      METHODS.POST
-    ];
-    exports2.METHOD_MAP = utils_1.enumToMap(METHODS);
-    exports2.H_METHOD_MAP = {};
-    Object.keys(exports2.METHOD_MAP).forEach((key) => {
-      if (/^H/.test(key)) {
-        exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key];
+    var {
+      BalancedPoolMissingUpstreamError,
+      InvalidArgumentError
+    } = require_errors2();
+    var {
+      PoolBase,
+      kClients,
+      kNeedDrain,
+      kAddClient,
+      kRemoveClient,
+      kGetDispatcher
+    } = require_pool_base2();
+    var Pool = require_pool2();
+    var { kUrl, kInterceptors } = require_symbols6();
+    var { parseOrigin } = require_util9();
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
+    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
+    var kIndex = /* @__PURE__ */ Symbol("kIndex");
+    var kWeight = /* @__PURE__ */ Symbol("kWeight");
+    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
+    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
+    function getGreatestCommonDivisor(a, b) {
+      if (a === 0) return b;
+      while (b !== 0) {
+        const t = b;
+        b = a % b;
+        a = t;
       }
-    });
-    var FINISH;
-    (function(FINISH2) {
-      FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
-      FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
-      FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
-    })(FINISH = exports2.FINISH || (exports2.FINISH = {}));
-    exports2.ALPHA = [];
-    for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
-      exports2.ALPHA.push(String.fromCharCode(i));
-      exports2.ALPHA.push(String.fromCharCode(i + 32));
+      return a;
     }
-    exports2.NUM_MAP = {
-      0: 0,
-      1: 1,
-      2: 2,
-      3: 3,
-      4: 4,
-      5: 5,
-      6: 6,
-      7: 7,
-      8: 8,
-      9: 9
-    };
-    exports2.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
-    };
-    exports2.NUM = [
-      "0",
-      "1",
-      "2",
-      "3",
-      "4",
-      "5",
-      "6",
-      "7",
-      "8",
-      "9"
-    ];
-    exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
-    exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
-    exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
-    exports2.STRICT_URL_CHAR = [
-      "!",
-      '"',
-      "$",
-      "%",
-      "&",
-      "'",
-      "(",
-      ")",
-      "*",
-      "+",
-      ",",
-      "-",
-      ".",
-      "/",
-      ":",
-      ";",
-      "<",
-      "=",
-      ">",
-      "@",
-      "[",
-      "\\",
-      "]",
-      "^",
-      "_",
-      "`",
-      "{",
-      "|",
-      "}",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat(["	", "\f"]);
-    for (let i = 128; i <= 255; i++) {
-      exports2.URL_CHAR.push(i);
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
     }
-    exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
-    exports2.STRICT_TOKEN = [
-      "!",
-      "#",
-      "$",
-      "%",
-      "&",
-      "'",
-      "*",
-      "+",
-      "-",
-      ".",
-      "^",
-      "_",
-      "`",
-      "|",
-      "~"
-    ].concat(exports2.ALPHANUM);
-    exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]);
-    exports2.HEADER_CHARS = ["	"];
-    for (let i = 32; i <= 255; i++) {
-      if (i !== 127) {
-        exports2.HEADER_CHARS.push(i);
+    var BalancedPool = class extends PoolBase {
+      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
+        super();
+        this[kOptions] = opts;
+        this[kIndex] = -1;
+        this[kCurrentWeight] = 0;
+        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
+        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
+        if (!Array.isArray(upstreams)) {
+          upstreams = [upstreams];
+        }
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
+        this[kFactory] = factory;
+        for (const upstream of upstreams) {
+          this.addUpstream(upstream);
+        }
+        this._updateBalancedPoolStats();
+      }
+      addUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
+          return this;
+        }
+        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
+        this[kAddClient](pool);
+        pool.on("connect", () => {
+          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
+        });
+        pool.on("connectionError", () => {
+          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+          this._updateBalancedPoolStats();
+        });
+        pool.on("disconnect", (...args) => {
+          const err = args[2];
+          if (err && err.code === "UND_ERR_SOCKET") {
+            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
+            this._updateBalancedPoolStats();
+          }
+        });
+        for (const client of this[kClients]) {
+          client[kWeight] = this[kMaxWeightPerServer];
+        }
+        this._updateBalancedPoolStats();
+        return this;
+      }
+      _updateBalancedPoolStats() {
+        let result = 0;
+        for (let i = 0; i < this[kClients].length; i++) {
+          result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
+        }
+        this[kGreatestCommonDivisor] = result;
+      }
+      removeUpstream(upstream) {
+        const upstreamOrigin = parseOrigin(upstream).origin;
+        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
+        if (pool) {
+          this[kRemoveClient](pool);
+        }
+        return this;
+      }
+      get upstreams() {
+        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      }
+      [kGetDispatcher]() {
+        if (this[kClients].length === 0) {
+          throw new BalancedPoolMissingUpstreamError();
+        }
+        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
+        if (!dispatcher) {
+          return;
+        }
+        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
+        if (allClientsBusy) {
+          return;
+        }
+        let counter = 0;
+        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
+        while (counter++ < this[kClients].length) {
+          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
+          const pool = this[kClients][this[kIndex]];
+          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
+            maxWeightIndex = this[kIndex];
+          }
+          if (this[kIndex] === 0) {
+            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
+            if (this[kCurrentWeight] <= 0) {
+              this[kCurrentWeight] = this[kMaxWeightPerServer];
+            }
+          }
+          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
+            return pool;
+          }
+        }
+        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
+        this[kIndex] = maxWeightIndex;
+        return this[kClients][maxWeightIndex];
       }
-    }
-    exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44);
-    exports2.MAJOR = exports2.NUM_MAP;
-    exports2.MINOR = exports2.MAJOR;
-    var HEADER_STATE;
-    (function(HEADER_STATE2) {
-      HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
-      HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
-      HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
-      HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
-      HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
-    })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {}));
-    exports2.SPECIAL_HEADERS = {
-      "connection": HEADER_STATE.CONNECTION,
-      "content-length": HEADER_STATE.CONTENT_LENGTH,
-      "proxy-connection": HEADER_STATE.CONNECTION,
-      "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
-      "upgrade": HEADER_STATE.UPGRADE
     };
+    module2.exports = BalancedPool;
   }
 });
 
-// node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
-  "node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js
+var require_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
     "use strict";
-    var util = require_util9();
-    var { kBodyUsed } = require_symbols6();
-    var assert = require("assert");
     var { InvalidArgumentError } = require_errors2();
-    var EE = require("events");
-    var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
-    var kBody = /* @__PURE__ */ Symbol("body");
-    var BodyAsyncIterable = class {
-      constructor(body) {
-        this[kBody] = body;
-        this[kBodyUsed] = false;
+    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var DispatcherBase = require_dispatcher_base2();
+    var Pool = require_pool2();
+    var Client = require_client2();
+    var util = require_util9();
+    var createRedirectInterceptor = require_redirect_interceptor2();
+    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
+    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
+    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
+    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
+    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
+    var kFactory = /* @__PURE__ */ Symbol("factory");
+    var kOptions = /* @__PURE__ */ Symbol("options");
+    function defaultFactory(origin, opts) {
+      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    }
+    var Agent = class extends DispatcherBase {
+      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
+        super();
+        if (typeof factory !== "function") {
+          throw new InvalidArgumentError("factory must be a function.");
+        }
+        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
+          throw new InvalidArgumentError("connect must be a function or an object");
+        }
+        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
+          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        }
+        if (connect && typeof connect !== "function") {
+          connect = { ...connect };
+        }
+        this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
+        this[kOptions] = { ...util.deepClone(options), connect };
+        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
+        this[kMaxRedirections] = maxRedirections;
+        this[kFactory] = factory;
+        this[kClients] = /* @__PURE__ */ new Map();
+        this[kOnDrain] = (origin, targets) => {
+          this.emit("drain", origin, [this, ...targets]);
+        };
+        this[kOnConnect] = (origin, targets) => {
+          this.emit("connect", origin, [this, ...targets]);
+        };
+        this[kOnDisconnect] = (origin, targets, err) => {
+          this.emit("disconnect", origin, [this, ...targets], err);
+        };
+        this[kOnConnectionError] = (origin, targets, err) => {
+          this.emit("connectionError", origin, [this, ...targets], err);
+        };
       }
-      async *[Symbol.asyncIterator]() {
-        assert(!this[kBodyUsed], "disturbed");
-        this[kBodyUsed] = true;
-        yield* this[kBody];
+      get [kRunning]() {
+        let ret = 0;
+        for (const client of this[kClients].values()) {
+          ret += client[kRunning];
+        }
+        return ret;
+      }
+      [kDispatch](opts, handler2) {
+        let key;
+        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
+          key = String(opts.origin);
+        } else {
+          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
+        }
+        let dispatcher = this[kClients].get(key);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
+          this[kClients].set(key, dispatcher);
+        }
+        return dispatcher.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        const closePromises = [];
+        for (const client of this[kClients].values()) {
+          closePromises.push(client.close());
+        }
+        this[kClients].clear();
+        await Promise.all(closePromises);
+      }
+      async [kDestroy](err) {
+        const destroyPromises = [];
+        for (const client of this[kClients].values()) {
+          destroyPromises.push(client.destroy(err));
+        }
+        this[kClients].clear();
+        await Promise.all(destroyPromises);
       }
     };
-    var RedirectHandler = class {
-      constructor(dispatch, maxRedirections, opts, handler2) {
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+    module2.exports = Agent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js
+var require_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
+    "use strict";
+    var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
+    var { URL: URL2 } = require("node:url");
+    var Agent = require_agent2();
+    var Pool = require_pool2();
+    var DispatcherBase = require_dispatcher_base2();
+    var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors2();
+    var buildConnector = require_connect2();
+    var Client = require_client2();
+    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
+    var kClient = /* @__PURE__ */ Symbol("proxy client");
+    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
+    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
+    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
+    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
+    var kTunnelProxy = /* @__PURE__ */ Symbol("tunnel proxy");
+    function defaultProtocolPort(protocol) {
+      return protocol === "https:" ? 443 : 80;
+    }
+    function defaultFactory(origin, opts) {
+      return new Pool(origin, opts);
+    }
+    var noop3 = () => {
+    };
+    function defaultAgentFactory(origin, opts) {
+      if (opts.connections === 1) {
+        return new Client(origin, opts);
+      }
+      return new Pool(origin, opts);
+    }
+    var Http1ProxyWrapper = class extends DispatcherBase {
+      #client;
+      constructor(proxyUrl, { headers = {}, connect, factory }) {
+        super();
+        if (!proxyUrl) {
+          throw new InvalidArgumentError("Proxy URL is mandatory");
         }
-        util.validateHandler(handler2, opts.method, opts.upgrade);
-        this.dispatch = dispatch;
-        this.location = null;
-        this.abort = null;
-        this.opts = { ...opts, maxRedirections: 0 };
-        this.maxRedirections = maxRedirections;
-        this.handler = handler2;
-        this.history = [];
-        if (util.isStream(this.opts.body)) {
-          if (util.bodyLength(this.opts.body) === 0) {
-            this.opts.body.on("data", function() {
-              assert(false);
-            });
+        this[kProxyHeaders] = headers;
+        if (factory) {
+          this.#client = factory(proxyUrl, { connect });
+        } else {
+          this.#client = new Client(proxyUrl, { connect });
+        }
+      }
+      [kDispatch](opts, handler2) {
+        const onHeaders = handler2.onHeaders;
+        handler2.onHeaders = function(statusCode, data, resume) {
+          if (statusCode === 407) {
+            if (typeof handler2.onError === "function") {
+              handler2.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
+            }
+            return;
           }
-          if (typeof this.opts.body.readableDidRead !== "boolean") {
-            this.opts.body[kBodyUsed] = false;
-            EE.prototype.on.call(this.opts.body, "data", function() {
-              this[kBodyUsed] = true;
+          if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+        };
+        const {
+          origin,
+          path: path12 = "/",
+          headers = {}
+        } = opts;
+        opts.path = origin + path12;
+        if (!("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(origin);
+          headers.host = host;
+        }
+        opts.headers = { ...this[kProxyHeaders], ...headers };
+        return this.#client[kDispatch](opts, handler2);
+      }
+      async [kClose]() {
+        return this.#client.close();
+      }
+      async [kDestroy](err) {
+        return this.#client.destroy(err);
+      }
+    };
+    var ProxyAgent = class extends DispatcherBase {
+      constructor(opts) {
+        super();
+        if (!opts || typeof opts === "object" && !(opts instanceof URL2) && !opts.uri) {
+          throw new InvalidArgumentError("Proxy uri is mandatory");
+        }
+        const { clientFactory = defaultFactory } = opts;
+        if (typeof clientFactory !== "function") {
+          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
+        }
+        const { proxyTunnel = true } = opts;
+        const url2 = this.#getUrl(opts);
+        const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url2;
+        this[kProxy] = { uri: href, protocol };
+        this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
+        this[kRequestTls] = opts.requestTls;
+        this[kProxyTls] = opts.proxyTls;
+        this[kProxyHeaders] = opts.headers || {};
+        this[kTunnelProxy] = proxyTunnel;
+        if (opts.auth && opts.token) {
+          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
+        } else if (opts.auth) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
+        } else if (opts.token) {
+          this[kProxyHeaders]["proxy-authorization"] = opts.token;
+        } else if (username && password) {
+          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
+        }
+        const connect = buildConnector({ ...opts.proxyTls });
+        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+        const agentFactory = opts.factory || defaultAgentFactory;
+        const factory = (origin2, options) => {
+          const { protocol: protocol2 } = new URL2(origin2);
+          if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
+            return new Http1ProxyWrapper(this[kProxy].uri, {
+              headers: this[kProxyHeaders],
+              connect,
+              factory: agentFactory
             });
           }
-        } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
-        } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
-          this.opts.body = new BodyAsyncIterable(this.opts.body);
-        }
-      }
-      onConnect(abort) {
-        this.abort = abort;
-        this.handler.onConnect(abort, { history: this.history });
-      }
-      onUpgrade(statusCode, headers, socket) {
-        this.handler.onUpgrade(statusCode, headers, socket);
-      }
-      onError(error3) {
-        this.handler.onError(error3);
+          return agentFactory(origin2, options);
+        };
+        this[kClient] = clientFactory(url2, { connect });
+        this[kAgent] = new Agent({
+          ...opts,
+          factory,
+          connect: async (opts2, callback) => {
+            let requestedPath = opts2.host;
+            if (!opts2.port) {
+              requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
+            }
+            try {
+              const { socket, statusCode } = await this[kClient].connect({
+                origin,
+                port,
+                path: requestedPath,
+                signal: opts2.signal,
+                headers: {
+                  ...this[kProxyHeaders],
+                  host: opts2.host
+                },
+                servername: this[kProxyTls]?.servername || proxyHostname
+              });
+              if (statusCode !== 200) {
+                socket.on("error", noop3).destroy();
+                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
+              }
+              if (opts2.protocol !== "https:") {
+                callback(null, socket);
+                return;
+              }
+              let servername;
+              if (this[kRequestTls]) {
+                servername = this[kRequestTls].servername;
+              } else {
+                servername = opts2.servername;
+              }
+              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
+            } catch (err) {
+              if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
+                callback(new SecureProxyConnectionError(err));
+              } else {
+                callback(err);
+              }
+            }
+          }
+        });
       }
-      onHeaders(statusCode, headers, resume, statusText) {
-        this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
-        if (this.opts.origin) {
-          this.history.push(new URL(this.opts.path, this.opts.origin));
-        }
-        if (!this.location) {
-          return this.handler.onHeaders(statusCode, headers, resume, statusText);
-        }
-        const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
-        const path12 = search ? `${pathname}${search}` : pathname;
-        this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
-        this.opts.path = path12;
-        this.opts.origin = origin;
-        this.opts.maxRedirections = 0;
-        this.opts.query = null;
-        if (statusCode === 303 && this.opts.method !== "HEAD") {
-          this.opts.method = "GET";
-          this.opts.body = null;
+      dispatch(opts, handler2) {
+        const headers = buildHeaders(opts.headers);
+        throwIfProxyAuthIsSent(headers);
+        if (headers && !("host" in headers) && !("Host" in headers)) {
+          const { host } = new URL2(opts.origin);
+          headers.host = host;
         }
+        return this[kAgent].dispatch(
+          {
+            ...opts,
+            headers
+          },
+          handler2
+        );
       }
-      onData(chunk) {
-        if (this.location) {
+      /**
+       * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts
+       * @returns {URL}
+       */
+      #getUrl(opts) {
+        if (typeof opts === "string") {
+          return new URL2(opts);
+        } else if (opts instanceof URL2) {
+          return opts;
         } else {
-          return this.handler.onData(chunk);
+          return new URL2(opts.uri);
         }
       }
-      onComplete(trailers) {
-        if (this.location) {
-          this.location = null;
-          this.abort = null;
-          this.dispatch(this.opts, this);
-        } else {
-          this.handler.onComplete(trailers);
-        }
+      async [kClose]() {
+        await this[kAgent].close();
+        await this[kClient].close();
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) {
-          this.handler.onBodySent(chunk);
-        }
+      async [kDestroy]() {
+        await this[kAgent].destroy();
+        await this[kClient].destroy();
       }
     };
-    function parseLocation(statusCode, headers) {
-      if (redirectableStatusCodes.indexOf(statusCode) === -1) {
-        return null;
-      }
-      for (let i = 0; i < headers.length; i += 2) {
-        if (headers[i].toString().toLowerCase() === "location") {
-          return headers[i + 1];
-        }
-      }
-    }
-    function shouldRemoveHeader(header, removeContent, unknownOrigin) {
-      if (header.length === 4) {
-        return util.headerNameToString(header) === "host";
-      }
-      if (removeContent && util.headerNameToString(header).startsWith("content-")) {
-        return true;
-      }
-      if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
-        const name = util.headerNameToString(header);
-        return name === "authorization" || name === "cookie" || name === "proxy-authorization";
-      }
-      return false;
-    }
-    function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
-      const ret = [];
+    function buildHeaders(headers) {
       if (Array.isArray(headers)) {
+        const headersPair = {};
         for (let i = 0; i < headers.length; i += 2) {
-          if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
-            ret.push(headers[i], headers[i + 1]);
-          }
-        }
-      } else if (headers && typeof headers === "object") {
-        for (const key of Object.keys(headers)) {
-          if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
-            ret.push(key, headers[key]);
-          }
+          headersPair[headers[i]] = headers[i + 1];
         }
-      } else {
-        assert(headers == null, "headers must be an object or an array");
+        return headersPair;
       }
-      return ret;
+      return headers;
     }
-    module2.exports = RedirectHandler;
-  }
-});
-
-// node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
-  "node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) {
-    "use strict";
-    var RedirectHandler = require_RedirectHandler();
-    function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
-      return (dispatch) => {
-        return function Intercept(opts, handler2) {
-          const { maxRedirections = defaultMaxRedirections } = opts;
-          if (!maxRedirections) {
-            return dispatch(opts, handler2);
-          }
-          const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler2);
-          opts = { ...opts, maxRedirections: 0 };
-          return dispatch(opts, redirectHandler);
-        };
-      };
+    function throwIfProxyAuthIsSent(headers) {
+      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
+      if (existProxyAuth) {
+        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      }
     }
-    module2.exports = createRedirectInterceptor;
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwHLAcoBuAHJAbkByAG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAQDcAQtBACEQDMYBC0EOIRAMxQELQQ0hEAzEAQtBDyEQDMMBC0EQIRAMwgELQRMhEAzBAQtBFCEQDMABC0EVIRAMvwELQRYhEAy+AQtBFyEQDL0BC0EYIRAMvAELQRkhEAy7AQtBGiEQDLoBC0EbIRAMuQELQRwhEAy4AQtBCCEQDLcBC0EdIRAMtgELQSAhEAy1AQtBHyEQDLQBC0EHIRAMswELQSEhEAyyAQtBIiEQDLEBC0EeIRAMsAELQSMhEAyvAQtBEiEQDK4BC0ERIRAMrQELQSQhEAysAQtBJSEQDKsBC0EmIRAMqgELQSchEAypAQtBwwEhEAyoAQtBKSEQDKcBC0ErIRAMpgELQSwhEAylAQtBLSEQDKQBC0EuIRAMowELQS8hEAyiAQtBxAEhEAyhAQtBMCEQDKABC0E0IRAMnwELQQwhEAyeAQtBMSEQDJ0BC0EyIRAMnAELQTMhEAybAQtBOSEQDJoBC0E1IRAMmQELQcUBIRAMmAELQQshEAyXAQtBOiEQDJYBC0E2IRAMlQELQQohEAyUAQtBNyEQDJMBC0E4IRAMkgELQTwhEAyRAQtBOyEQDJABC0E9IRAMjwELQQkhEAyOAQtBKCEQDI0BC0E+IRAMjAELQT8hEAyLAQtBwAAhEAyKAQtBwQAhEAyJAQtBwgAhEAyIAQtBwwAhEAyHAQtBxAAhEAyGAQtBxQAhEAyFAQtBxgAhEAyEAQtBKiEQDIMBC0HHACEQDIIBC0HIACEQDIEBC0HJACEQDIABC0HKACEQDH8LQcsAIRAMfgtBzQAhEAx9C0HMACEQDHwLQc4AIRAMewtBzwAhEAx6C0HQACEQDHkLQdEAIRAMeAtB0gAhEAx3C0HTACEQDHYLQdQAIRAMdQtB1gAhEAx0C0HVACEQDHMLQQYhEAxyC0HXACEQDHELQQUhEAxwC0HYACEQDG8LQQQhEAxuC0HZACEQDG0LQdoAIRAMbAtB2wAhEAxrC0HcACEQDGoLQQMhEAxpC0HdACEQDGgLQd4AIRAMZwtB3wAhEAxmC0HhACEQDGULQeAAIRAMZAtB4gAhEAxjC0HjACEQDGILQQIhEAxhC0HkACEQDGALQeUAIRAMXwtB5gAhEAxeC0HnACEQDF0LQegAIRAMXAtB6QAhEAxbC0HqACEQDFoLQesAIRAMWQtB7AAhEAxYC0HtACEQDFcLQe4AIRAMVgtB7wAhEAxVC0HwACEQDFQLQfEAIRAMUwtB8gAhEAxSC0HzACEQDFELQfQAIRAMUAtB9QAhEAxPC0H2ACEQDE4LQfcAIRAMTQtB+AAhEAxMC0H5ACEQDEsLQfoAIRAMSgtB+wAhEAxJC0H8ACEQDEgLQf0AIRAMRwtB/gAhEAxGC0H/ACEQDEULQYABIRAMRAtBgQEhEAxDC0GCASEQDEILQYMBIRAMQQtBhAEhEAxAC0GFASEQDD8LQYYBIRAMPgtBhwEhEAw9C0GIASEQDDwLQYkBIRAMOwtBigEhEAw6C0GLASEQDDkLQYwBIRAMOAtBjQEhEAw3C0GOASEQDDYLQY8BIRAMNQtBkAEhEAw0C0GRASEQDDMLQZIBIRAMMgtBkwEhEAwxC0GUASEQDDALQZUBIRAMLwtBlgEhEAwuC0GXASEQDC0LQZgBIRAMLAtBmQEhEAwrC0GaASEQDCoLQZsBIRAMKQtBnAEhEAwoC0GdASEQDCcLQZ4BIRAMJgtBnwEhEAwlC0GgASEQDCQLQaEBIRAMIwtBogEhEAwiC0GjASEQDCELQaQBIRAMIAtBpQEhEAwfC0GmASEQDB4LQacBIRAMHQtBqAEhEAwcC0GpASEQDBsLQaoBIRAMGgtBqwEhEAwZC0GsASEQDBgLQa0BIRAMFwtBrgEhEAwWC0EBIRAMFQtBrwEhEAwUC0GwASEQDBMLQbEBIRAMEgtBswEhEAwRC0GyASEQDBALQbQBIRAMDwtBtQEhEAwOC0G2ASEQDA0LQbcBIRAMDAtBuAEhEAwLC0G5ASEQDAoLQboBIRAMCQtBuwEhEAwIC0HGASEQDAcLQbwBIRAMBgtBvQEhEAwFC0G+ASEQDAQLQb8BIRAMAwtBwAEhEAwCC0HCASEQDAELQcEBIRALA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";
-  }
-});
-
-// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm2 = __commonJS({
-  "node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
-    module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==";
+    module2.exports = ProxyAgent;
   }
 });
 
-// node_modules/undici/lib/client.js
-var require_client2 = __commonJS({
-  "node_modules/undici/lib/client.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
+var require_env_http_proxy_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var net = require("net");
-    var http = require("http");
-    var { pipeline } = require("stream");
-    var util = require_util9();
-    var timers = require_timers2();
-    var Request = require_request3();
     var DispatcherBase = require_dispatcher_base2();
-    var {
-      RequestContentLengthMismatchError,
-      ResponseContentLengthMismatchError,
-      InvalidArgumentError,
-      RequestAbortedError,
-      HeadersTimeoutError,
-      HeadersOverflowError,
-      SocketError,
-      InformationalError,
-      BodyTimeoutError,
-      HTTPParserError,
-      ResponseExceededMaxSizeError,
-      ClientDestroyedError
-    } = require_errors2();
-    var buildConnector = require_connect2();
-    var {
-      kUrl,
-      kReset,
-      kServerName,
-      kClient,
-      kBusy,
-      kParser,
-      kConnect,
-      kBlocking,
-      kResuming,
-      kRunning,
-      kPending,
-      kSize,
-      kWriting,
-      kQueue,
-      kConnected,
-      kConnecting,
-      kNeedDrain,
-      kNoRef,
-      kKeepAliveDefaultTimeout,
-      kHostHeader,
-      kPendingIdx,
-      kRunningIdx,
-      kError,
-      kPipelining,
-      kSocket,
-      kKeepAliveTimeoutValue,
-      kMaxHeadersSize,
-      kKeepAliveMaxTimeout,
-      kKeepAliveTimeoutThreshold,
-      kHeadersTimeout,
-      kBodyTimeout,
-      kStrictContentLength,
-      kConnector,
-      kMaxRedirections,
-      kMaxRequests,
-      kCounter,
-      kClose,
-      kDestroy,
-      kDispatch,
-      kInterceptors,
-      kLocalAddress,
-      kMaxResponseSize,
-      kHTTPConnVersion,
-      // HTTP2
-      kHost,
-      kHTTP2Session,
-      kHTTP2SessionState,
-      kHTTP2BuildRequest,
-      kHTTP2CopyHeaders,
-      kHTTP1BuildRequest
-    } = require_symbols6();
-    var http2;
-    try {
-      http2 = require("http2");
-    } catch {
-      http2 = { constants: {} };
-    }
-    var {
-      constants: {
-        HTTP2_HEADER_AUTHORITY,
-        HTTP2_HEADER_METHOD,
-        HTTP2_HEADER_PATH,
-        HTTP2_HEADER_SCHEME,
-        HTTP2_HEADER_CONTENT_LENGTH,
-        HTTP2_HEADER_EXPECT,
-        HTTP2_HEADER_STATUS
-      }
-    } = http2;
-    var h2ExperimentalWarned = false;
-    var FastBuffer = Buffer[Symbol.species];
-    var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
-    var channels = {};
-    try {
-      const diagnosticsChannel = require("diagnostics_channel");
-      channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");
-      channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");
-      channels.connectError = diagnosticsChannel.channel("undici:client:connectError");
-      channels.connected = diagnosticsChannel.channel("undici:client:connected");
-    } catch {
-      channels.sendHeaders = { hasSubscribers: false };
-      channels.beforeConnect = { hasSubscribers: false };
-      channels.connectError = { hasSubscribers: false };
-      channels.connected = { hasSubscribers: false };
-    }
-    var Client = class extends DispatcherBase {
-      /**
-       *
-       * @param {string|URL} url
-       * @param {import('../types/client').Client.Options} options
-       */
-      constructor(url2, {
-        interceptors,
-        maxHeaderSize,
-        headersTimeout,
-        socketTimeout,
-        requestTimeout,
-        connectTimeout,
-        bodyTimeout,
-        idleTimeout,
-        keepAlive,
-        keepAliveTimeout,
-        maxKeepAliveTimeout,
-        keepAliveMaxTimeout,
-        keepAliveTimeoutThreshold,
-        socketPath,
-        pipelining,
-        tls,
-        strictContentLength,
-        maxCachedSessions,
-        maxRedirections,
-        connect: connect2,
-        maxRequestsPerClient,
-        localAddress,
-        maxResponseSize,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        // h2
-        allowH2,
-        maxConcurrentStreams
-      } = {}) {
+    var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6();
+    var ProxyAgent = require_proxy_agent2();
+    var Agent = require_agent2();
+    var DEFAULT_PORTS = {
+      "http:": 80,
+      "https:": 443
+    };
+    var experimentalWarned = false;
+    var EnvHttpProxyAgent = class extends DispatcherBase {
+      #noProxyValue = null;
+      #noProxyEntries = null;
+      #opts = null;
+      constructor(opts = {}) {
         super();
-        if (keepAlive !== void 0) {
-          throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
-        }
-        if (socketTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (requestTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
-        }
-        if (idleTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
-        }
-        if (maxKeepAliveTimeout !== void 0) {
-          throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
-        }
-        if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
-          throw new InvalidArgumentError("invalid maxHeaderSize");
-        }
-        if (socketPath != null && typeof socketPath !== "string") {
-          throw new InvalidArgumentError("invalid socketPath");
-        }
-        if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
-          throw new InvalidArgumentError("invalid connectTimeout");
-        }
-        if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeout");
+        this.#opts = opts;
+        if (!experimentalWarned) {
+          experimentalWarned = true;
+          process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.", {
+            code: "UNDICI-EHPA"
+          });
         }
-        if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
-          throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
+        const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
+        this[kNoProxyAgent] = new Agent(agentOpts);
+        const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
+        if (HTTP_PROXY) {
+          this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY });
+        } else {
+          this[kHttpProxyAgent] = this[kNoProxyAgent];
         }
-        if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
-          throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
+        const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
+        if (HTTPS_PROXY) {
+          this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY });
+        } else {
+          this[kHttpsProxyAgent] = this[kHttpProxyAgent];
         }
-        if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
-          throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
+        this.#parseNoProxy();
+      }
+      [kDispatch](opts, handler2) {
+        const url2 = new URL(opts.origin);
+        const agent = this.#getProxyAgentForUrl(url2);
+        return agent.dispatch(opts, handler2);
+      }
+      async [kClose]() {
+        await this[kNoProxyAgent].close();
+        if (!this[kHttpProxyAgent][kClosed]) {
+          await this[kHttpProxyAgent].close();
         }
-        if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
-          throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
+        if (!this[kHttpsProxyAgent][kClosed]) {
+          await this[kHttpsProxyAgent].close();
         }
-        if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
+      }
+      async [kDestroy](err) {
+        await this[kNoProxyAgent].destroy(err);
+        if (!this[kHttpProxyAgent][kDestroyed]) {
+          await this[kHttpProxyAgent].destroy(err);
         }
-        if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
+        if (!this[kHttpsProxyAgent][kDestroyed]) {
+          await this[kHttpsProxyAgent].destroy(err);
         }
-        if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
-          throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
+      }
+      #getProxyAgentForUrl(url2) {
+        let { protocol, host: hostname, port } = url2;
+        hostname = hostname.replace(/:\d*$/, "").toLowerCase();
+        port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
+        if (!this.#shouldProxy(hostname, port)) {
+          return this[kNoProxyAgent];
         }
-        if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
-          throw new InvalidArgumentError("localAddress must be valid string IP address");
+        if (protocol === "https:") {
+          return this[kHttpsProxyAgent];
         }
-        if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
-          throw new InvalidArgumentError("maxResponseSize must be a positive number");
+        return this[kHttpProxyAgent];
+      }
+      #shouldProxy(hostname, port) {
+        if (this.#noProxyChanged) {
+          this.#parseNoProxy();
         }
-        if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
-          throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
+        if (this.#noProxyEntries.length === 0) {
+          return true;
         }
-        if (allowH2 != null && typeof allowH2 !== "boolean") {
-          throw new InvalidArgumentError("allowH2 must be a valid boolean value");
+        if (this.#noProxyValue === "*") {
+          return false;
         }
-        if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
-          throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0");
+        for (let i = 0; i < this.#noProxyEntries.length; i++) {
+          const entry = this.#noProxyEntries[i];
+          if (entry.port && entry.port !== port) {
+            continue;
+          }
+          if (!/^[.*]/.test(entry.hostname)) {
+            if (hostname === entry.hostname) {
+              return false;
+            }
+          } else {
+            if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
+              return false;
+            }
+          }
         }
-        if (typeof connect2 !== "function") {
-          connect2 = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect2
+        return true;
+      }
+      #parseNoProxy() {
+        const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
+        const noProxySplit = noProxyValue.split(/[,\s]/);
+        const noProxyEntries = [];
+        for (let i = 0; i < noProxySplit.length; i++) {
+          const entry = noProxySplit[i];
+          if (!entry) {
+            continue;
+          }
+          const parsed = entry.match(/^(.+):(\d+)$/);
+          noProxyEntries.push({
+            hostname: (parsed ? parsed[1] : entry).toLowerCase(),
+            port: parsed ? Number.parseInt(parsed[2], 10) : 0
           });
         }
-        this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
-        this[kUrl] = util.parseOrigin(url2);
-        this[kConnector] = connect2;
-        this[kSocket] = null;
-        this[kPipelining] = pipelining != null ? pipelining : 1;
-        this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
-        this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
-        this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
-        this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
-        this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
-        this[kServerName] = null;
-        this[kLocalAddress] = localAddress != null ? localAddress : null;
-        this[kResuming] = 0;
-        this[kNeedDrain] = 0;
-        this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
-        this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
-        this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
-        this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
-        this[kMaxRedirections] = maxRedirections;
-        this[kMaxRequests] = maxRequestsPerClient;
-        this[kClosedResolve] = null;
-        this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
-        this[kHTTPConnVersion] = "h1";
-        this[kHTTP2Session] = null;
-        this[kHTTP2SessionState] = !allowH2 ? null : {
-          // streams: null, // Fixed queue of streams - For future support of `push`
-          openStreams: 0,
-          // Keep track of them to decide wether or not unref the session
-          maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
-          // Max peerConcurrentStreams for a Node h2 server
+        this.#noProxyValue = noProxyValue;
+        this.#noProxyEntries = noProxyEntries;
+      }
+      get #noProxyChanged() {
+        if (this.#opts.noProxy !== void 0) {
+          return false;
+        }
+        return this.#noProxyValue !== this.#noProxyEnv;
+      }
+      get #noProxyEnv() {
+        return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
+      }
+    };
+    module2.exports = EnvHttpProxyAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js
+var require_retry_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { kRetryHandlerDefaultRetry } = require_symbols6();
+    var { RequestRetryError } = require_errors2();
+    var {
+      isDisturbed,
+      parseHeaders,
+      parseRangeHeader,
+      wrapRequestBody
+    } = require_util9();
+    function calculateRetryAfterHeader(retryAfter) {
+      const current = Date.now();
+      return new Date(retryAfter).getTime() - current;
+    }
+    var RetryHandler = class _RetryHandler {
+      constructor(opts, handlers) {
+        const { retryOptions, ...dispatchOpts } = opts;
+        const {
+          // Retry scoped
+          retry: retryFn,
+          maxRetries,
+          maxTimeout,
+          minTimeout,
+          timeoutFactor,
+          // Response scoped
+          methods,
+          errorCodes,
+          retryAfter,
+          statusCodes
+        } = retryOptions ?? {};
+        this.dispatch = handlers.dispatch;
+        this.handler = handlers.handler;
+        this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
+        this.abort = null;
+        this.aborted = false;
+        this.retryOpts = {
+          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
+          retryAfter: retryAfter ?? true,
+          maxTimeout: maxTimeout ?? 30 * 1e3,
+          // 30s,
+          minTimeout: minTimeout ?? 500,
+          // .5s
+          timeoutFactor: timeoutFactor ?? 2,
+          maxRetries: maxRetries ?? 5,
+          // What errors we should retry
+          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
+          // Indicates which errors to retry
+          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
+          // List of errors to retry
+          errorCodes: errorCodes ?? [
+            "ECONNRESET",
+            "ECONNREFUSED",
+            "ENOTFOUND",
+            "ENETDOWN",
+            "ENETUNREACH",
+            "EHOSTDOWN",
+            "EHOSTUNREACH",
+            "EPIPE",
+            "UND_ERR_SOCKET"
+          ]
         };
-        this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
-        this[kQueue] = [];
-        this[kRunningIdx] = 0;
-        this[kPendingIdx] = 0;
-      }
-      get pipelining() {
-        return this[kPipelining];
-      }
-      set pipelining(value) {
-        this[kPipelining] = value;
-        resume(this, true);
-      }
-      get [kPending]() {
-        return this[kQueue].length - this[kPendingIdx];
-      }
-      get [kRunning]() {
-        return this[kPendingIdx] - this[kRunningIdx];
+        this.retryCount = 0;
+        this.retryCountCheckpoint = 0;
+        this.start = 0;
+        this.end = null;
+        this.etag = null;
+        this.resume = null;
+        this.handler.onConnect((reason) => {
+          this.aborted = true;
+          if (this.abort) {
+            this.abort(reason);
+          } else {
+            this.reason = reason;
+          }
+        });
       }
-      get [kSize]() {
-        return this[kQueue].length - this[kRunningIdx];
+      onRequestSent() {
+        if (this.handler.onRequestSent) {
+          this.handler.onRequestSent();
+        }
       }
-      get [kConnected]() {
-        return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
+      onUpgrade(statusCode, headers, socket) {
+        if (this.handler.onUpgrade) {
+          this.handler.onUpgrade(statusCode, headers, socket);
+        }
       }
-      get [kBusy]() {
-        const socket = this[kSocket];
-        return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
+      onConnect(abort) {
+        if (this.aborted) {
+          abort(this.reason);
+        } else {
+          this.abort = abort;
+        }
       }
-      /* istanbul ignore: only used for test */
-      [kConnect](cb) {
-        connect(this);
-        this.once("connect", cb);
+      onBodySent(chunk) {
+        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
       }
-      [kDispatch](opts, handler2) {
-        const origin = opts.origin || this[kUrl].origin;
-        const request2 = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler2) : Request[kHTTP1BuildRequest](origin, opts, handler2);
-        this[kQueue].push(request2);
-        if (this[kResuming]) {
-        } else if (util.bodyLength(request2.body) == null && util.isIterable(request2.body)) {
-          this[kResuming] = 1;
-          process.nextTick(resume, this);
-        } else {
-          resume(this, true);
+      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
+        const { statusCode, code, headers } = err;
+        const { method, retryOptions } = opts;
+        const {
+          maxRetries,
+          minTimeout,
+          maxTimeout,
+          timeoutFactor,
+          statusCodes,
+          errorCodes,
+          methods
+        } = retryOptions;
+        const { counter } = state;
+        if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
+          cb(err);
+          return;
         }
-        if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
-          this[kNeedDrain] = 2;
+        if (Array.isArray(methods) && !methods.includes(method)) {
+          cb(err);
+          return;
         }
-        return this[kNeedDrain] < 2;
+        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
+          cb(err);
+          return;
+        }
+        if (counter > maxRetries) {
+          cb(err);
+          return;
+        }
+        let retryAfterHeader = headers?.["retry-after"];
+        if (retryAfterHeader) {
+          retryAfterHeader = Number(retryAfterHeader);
+          retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        }
+        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
+        setTimeout(() => cb(null), retryTimeout);
       }
-      async [kClose]() {
-        return new Promise((resolve6) => {
-          if (!this[kSize]) {
-            resolve6(null);
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = parseHeaders(rawHeaders);
+        this.retryCount += 1;
+        if (statusCode >= 300) {
+          if (this.retryOpts.statusCodes.includes(statusCode) === false) {
+            return this.handler.onHeaders(
+              statusCode,
+              rawHeaders,
+              resume,
+              statusMessage
+            );
           } else {
-            this[kClosedResolve] = resolve6;
+            this.abort(
+              new RequestRetryError("Request failed", statusCode, {
+                headers,
+                data: {
+                  count: this.retryCount
+                }
+              })
+            );
+            return false;
           }
-        });
-      }
-      async [kDestroy](err) {
-        return new Promise((resolve6) => {
-          const requests = this[kQueue].splice(this[kPendingIdx]);
-          for (let i = 0; i < requests.length; i++) {
-            const request2 = requests[i];
-            errorRequest2(this, request2, err);
+        }
+        if (this.resume != null) {
+          this.resume = null;
+          if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
+            this.abort(
+              new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
           }
-          const callback = () => {
-            if (this[kClosedResolve]) {
-              this[kClosedResolve]();
-              this[kClosedResolve] = null;
+          const contentRange = parseRangeHeader(headers["content-range"]);
+          if (!contentRange) {
+            this.abort(
+              new RequestRetryError("Content-Range mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          if (this.etag != null && this.etag !== headers.etag) {
+            this.abort(
+              new RequestRetryError("ETag mismatch", statusCode, {
+                headers,
+                data: { count: this.retryCount }
+              })
+            );
+            return false;
+          }
+          const { start, size, end = size - 1 } = contentRange;
+          assert(this.start === start, "content-range mismatch");
+          assert(this.end == null || this.end === end, "content-range mismatch");
+          this.resume = resume;
+          return true;
+        }
+        if (this.end == null) {
+          if (statusCode === 206) {
+            const range = parseRangeHeader(headers["content-range"]);
+            if (range == null) {
+              return this.handler.onHeaders(
+                statusCode,
+                rawHeaders,
+                resume,
+                statusMessage
+              );
             }
-            resolve6();
-          };
-          if (this[kHTTP2Session] != null) {
-            util.destroy(this[kHTTP2Session], err);
-            this[kHTTP2Session] = null;
-            this[kHTTP2SessionState] = null;
+            const { start, size, end = size - 1 } = range;
+            assert(
+              start != null && Number.isFinite(start),
+              "content-range mismatch"
+            );
+            assert(end != null && Number.isFinite(end), "invalid content-length");
+            this.start = start;
+            this.end = end;
           }
-          if (!this[kSocket]) {
-            queueMicrotask(callback);
-          } else {
-            util.destroy(this[kSocket].on("close", callback), err);
+          if (this.end == null) {
+            const contentLength = headers["content-length"];
+            this.end = contentLength != null ? Number(contentLength) - 1 : null;
+          }
+          assert(Number.isFinite(this.start));
+          assert(
+            this.end == null || Number.isFinite(this.end),
+            "invalid content-length"
+          );
+          this.resume = resume;
+          this.etag = headers.etag != null ? headers.etag : null;
+          if (this.etag != null && this.etag.startsWith("W/")) {
+            this.etag = null;
           }
-          resume(this);
+          return this.handler.onHeaders(
+            statusCode,
+            rawHeaders,
+            resume,
+            statusMessage
+          );
+        }
+        const err = new RequestRetryError("Request failed", statusCode, {
+          headers,
+          data: { count: this.retryCount }
         });
+        this.abort(err);
+        return false;
       }
-    };
-    function onHttp2SessionError(err) {
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      this[kSocket][kError] = err;
-      onError(this[kClient], err);
-    }
-    function onHttp2FrameError(type2, code, id) {
-      const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-      if (id === 0) {
-        this[kSocket][kError] = err;
-        onError(this[kClient], err);
-      }
-    }
-    function onHttp2SessionEnd() {
-      util.destroy(this, new SocketError("other side closed"));
-      util.destroy(this[kSocket], new SocketError("other side closed"));
-    }
-    function onHTTP2GoAway(code) {
-      const client = this[kClient];
-      const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
-      client[kSocket] = null;
-      client[kHTTP2Session] = null;
-      if (client.destroyed) {
-        assert(this[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(this, request2, err);
-        }
-      } else if (client[kRunning] > 0) {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+      onData(chunk) {
+        this.start += chunk.length;
+        return this.handler.onData(chunk);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit(
-        "disconnect",
-        client[kUrl],
-        [client],
-        err
-      );
-      resume(client);
-    }
-    var constants = require_constants8();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var EMPTY_BUF = Buffer.alloc(0);
-    async function lazyllhttp() {
-      const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm2() : void 0;
-      let mod;
-      try {
-        mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm2(), "base64"));
-      } catch (e) {
-        mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm2(), "base64"));
+      onComplete(rawTrailers) {
+        this.retryCount = 0;
+        return this.handler.onComplete(rawTrailers);
       }
-      return await WebAssembly.instantiate(mod, {
-        env: {
-          /* eslint-disable camelcase */
-          wasm_on_url: (p, at, len) => {
-            return 0;
-          },
-          wasm_on_status: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_message_begin: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageBegin() || 0;
-          },
-          wasm_on_header_field: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_header_value: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
-          },
-          wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
-          },
-          wasm_on_body: (p, at, len) => {
-            assert.strictEqual(currentParser.ptr, p);
-            const start = at - currentBufferPtr + currentBufferRef.byteOffset;
-            return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
+      onError(err) {
+        if (this.aborted || isDisturbed(this.opts.body)) {
+          return this.handler.onError(err);
+        }
+        if (this.retryCount - this.retryCountCheckpoint > 0) {
+          this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
+        } else {
+          this.retryCount += 1;
+        }
+        this.retryOpts.retry(
+          err,
+          {
+            state: { counter: this.retryCount },
+            opts: { retryOptions: this.retryOpts, ...this.opts }
           },
-          wasm_on_message_complete: (p) => {
-            assert.strictEqual(currentParser.ptr, p);
-            return currentParser.onMessageComplete() || 0;
+          onRetry.bind(this)
+        );
+        function onRetry(err2) {
+          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
+            return this.handler.onError(err2);
           }
-          /* eslint-enable camelcase */
-        }
-      });
-    }
-    var llhttpInstance = null;
-    var llhttpPromise = lazyllhttp();
-    llhttpPromise.catch();
-    var currentParser = null;
-    var currentBufferRef = null;
-    var currentBufferSize = 0;
-    var currentBufferPtr = null;
-    var TIMEOUT_HEADERS = 1;
-    var TIMEOUT_BODY = 2;
-    var TIMEOUT_IDLE = 3;
-    var Parser = class {
-      constructor(client, socket, { exports: exports3 }) {
-        assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
-        this.llhttp = exports3;
-        this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
-        this.client = client;
-        this.socket = socket;
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.statusCode = null;
-        this.statusText = "";
-        this.upgrade = false;
-        this.headers = [];
-        this.headersSize = 0;
-        this.headersMaxSize = client[kMaxHeadersSize];
-        this.shouldKeepAlive = false;
-        this.paused = false;
-        this.resume = this.resume.bind(this);
-        this.bytesRead = 0;
-        this.keepAlive = "";
-        this.contentLength = "";
-        this.connection = "";
-        this.maxResponseSize = client[kMaxResponseSize];
-      }
-      setTimeout(value, type2) {
-        this.timeoutType = type2;
-        if (value !== this.timeoutValue) {
-          timers.clearTimeout(this.timeout);
-          if (value) {
-            this.timeout = timers.setTimeout(onParserTimeout, value, this);
-            if (this.timeout.unref) {
-              this.timeout.unref();
+          if (this.start !== 0) {
+            const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
+            if (this.etag != null) {
+              headers["if-match"] = this.etag;
             }
-          } else {
-            this.timeout = null;
+            this.opts = {
+              ...this.opts,
+              headers: {
+                ...this.opts.headers,
+                ...headers
+              }
+            };
           }
-          this.timeoutValue = value;
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+          try {
+            this.retryCountCheckpoint = this.retryCount;
+            this.dispatch(this.opts, this);
+          } catch (err3) {
+            this.handler.onError(err3);
           }
         }
       }
-      resume() {
-        if (this.socket.destroyed || !this.paused) {
-          return;
-        }
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_resume(this.ptr);
-        assert(this.timeoutType === TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
-          }
-        }
-        this.paused = false;
-        this.execute(this.socket.read() || EMPTY_BUF);
-        this.readMore();
+    };
+    module2.exports = RetryHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js
+var require_retry_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
+    "use strict";
+    var Dispatcher = require_dispatcher2();
+    var RetryHandler = require_retry_handler2();
+    var RetryAgent = class extends Dispatcher {
+      #agent = null;
+      #options = null;
+      constructor(agent, options = {}) {
+        super(options);
+        this.#agent = agent;
+        this.#options = options;
       }
-      readMore() {
-        while (!this.paused && this.ptr) {
-          const chunk = this.socket.read();
-          if (chunk === null) {
-            break;
-          }
-          this.execute(chunk);
-        }
+      dispatch(opts, handler2) {
+        const retry2 = new RetryHandler({
+          ...opts,
+          retryOptions: this.#options
+        }, {
+          dispatch: this.#agent.dispatch.bind(this.#agent),
+          handler: handler2
+        });
+        return this.#agent.dispatch(opts, retry2);
       }
-      execute(data) {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        assert(!this.paused);
-        const { socket, llhttp } = this;
-        if (data.length > currentBufferSize) {
-          if (currentBufferPtr) {
-            llhttp.free(currentBufferPtr);
-          }
-          currentBufferSize = Math.ceil(data.length / 4096) * 4096;
-          currentBufferPtr = llhttp.malloc(currentBufferSize);
-        }
-        new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
-        try {
-          let ret;
-          try {
-            currentBufferRef = data;
-            currentParser = this;
-            ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
-          } catch (err) {
-            throw err;
-          } finally {
-            currentParser = null;
-            currentBufferRef = null;
-          }
-          const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
-          if (ret === constants.ERROR.PAUSED_UPGRADE) {
-            this.onUpgrade(data.slice(offset));
-          } else if (ret === constants.ERROR.PAUSED) {
-            this.paused = true;
-            socket.unshift(data.slice(offset));
-          } else if (ret !== constants.ERROR.OK) {
-            const ptr = llhttp.llhttp_get_error_reason(this.ptr);
-            let message = "";
-            if (ptr) {
-              const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
-              message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
-            }
-            throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
-          }
-        } catch (err) {
-          util.destroy(socket, err);
-        }
+      close() {
+        return this.#agent.close();
       }
       destroy() {
-        assert(this.ptr != null);
-        assert(currentParser == null);
-        this.llhttp.llhttp_free(this.ptr);
-        this.ptr = null;
-        timers.clearTimeout(this.timeout);
-        this.timeout = null;
-        this.timeoutValue = null;
-        this.timeoutType = null;
-        this.paused = false;
+        return this.#agent.destroy();
       }
-      onStatus(buf) {
-        this.statusText = buf.toString();
+    };
+    module2.exports = RetryAgent;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/readable.js
+var require_readable2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/readable.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require("node:stream");
+    var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors2();
+    var util = require_util9();
+    var { ReadableStreamFrom } = require_util9();
+    var kConsume = /* @__PURE__ */ Symbol("kConsume");
+    var kReading = /* @__PURE__ */ Symbol("kReading");
+    var kBody = /* @__PURE__ */ Symbol("kBody");
+    var kAbort = /* @__PURE__ */ Symbol("kAbort");
+    var kContentType = /* @__PURE__ */ Symbol("kContentType");
+    var kContentLength = /* @__PURE__ */ Symbol("kContentLength");
+    var noop3 = () => {
+    };
+    var BodyReadable = class extends Readable2 {
+      constructor({
+        resume,
+        abort,
+        contentType = "",
+        contentLength,
+        highWaterMark = 64 * 1024
+        // Same as nodejs fs streams.
+      }) {
+        super({
+          autoDestroy: true,
+          read: resume,
+          highWaterMark
+        });
+        this._readableState.dataEmitted = false;
+        this[kAbort] = abort;
+        this[kConsume] = null;
+        this[kBody] = null;
+        this[kContentType] = contentType;
+        this[kContentLength] = contentLength;
+        this[kReading] = false;
       }
-      onMessageBegin() {
-        const { socket, client } = this;
-        if (socket.destroyed) {
-          return -1;
+      destroy(err) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
+        if (err) {
+          this[kAbort]();
         }
+        return super.destroy(err);
       }
-      onHeaderField(buf) {
-        const len = this.headers.length;
-        if ((len & 1) === 0) {
-          this.headers.push(buf);
+      _destroy(err, callback) {
+        if (!this[kReading]) {
+          setImmediate(() => {
+            callback(err);
+          });
         } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
+          callback(err);
         }
-        this.trackHeader(buf.length);
       }
-      onHeaderValue(buf) {
-        let len = this.headers.length;
-        if ((len & 1) === 1) {
-          this.headers.push(buf);
-          len += 1;
-        } else {
-          this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
-        }
-        const key = this.headers[len - 2];
-        if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {
-          this.keepAlive += buf.toString();
-        } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {
-          this.connection += buf.toString();
-        } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {
-          this.contentLength += buf.toString();
+      on(ev, ...args) {
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = true;
         }
-        this.trackHeader(buf.length);
+        return super.on(ev, ...args);
       }
-      trackHeader(len) {
-        this.headersSize += len;
-        if (this.headersSize >= this.headersMaxSize) {
-          util.destroy(this.socket, new HeadersOverflowError());
-        }
+      addListener(ev, ...args) {
+        return this.on(ev, ...args);
       }
-      onUpgrade(head) {
-        const { upgrade, client, socket, headers, statusCode } = this;
-        assert(upgrade);
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(!socket.destroyed);
-        assert(socket === client[kSocket]);
-        assert(!this.paused);
-        assert(request2.upgrade || request2.method === "CONNECT");
-        this.statusCode = null;
-        this.statusText = "";
-        this.shouldKeepAlive = null;
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        socket.unshift(head);
-        socket[kParser].destroy();
-        socket[kParser] = null;
-        socket[kClient] = null;
-        socket[kError] = null;
-        socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
-        client[kSocket] = null;
-        client[kQueue][client[kRunningIdx]++] = null;
-        client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
-        try {
-          request2.onUpgrade(statusCode, headers, socket);
-        } catch (err) {
-          util.destroy(socket, err);
+      off(ev, ...args) {
+        const ret = super.off(ev, ...args);
+        if (ev === "data" || ev === "readable") {
+          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
         }
-        resume(client);
+        return ret;
       }
-      onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
-        const { client, socket, headers, statusText } = this;
-        if (socket.destroyed) {
-          return -1;
-        }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        if (!request2) {
-          return -1;
-        }
-        assert(!this.upgrade);
-        assert(this.statusCode < 200);
-        if (statusCode === 100) {
-          util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
-          return -1;
-        }
-        if (upgrade && !request2.upgrade) {
-          util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
-          return -1;
+      removeListener(ev, ...args) {
+        return this.off(ev, ...args);
+      }
+      push(chunk) {
+        if (this[kConsume] && chunk !== null) {
+          consumePush(this[kConsume], chunk);
+          return this[kReading] ? super.push(chunk) : true;
         }
-        assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
-        this.statusCode = statusCode;
-        this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
-        request2.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
-        if (this.statusCode >= 200) {
-          const bodyTimeout = request2.bodyTimeout != null ? request2.bodyTimeout : client[kBodyTimeout];
-          this.setTimeout(bodyTimeout, TIMEOUT_BODY);
-        } else if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+        return super.push(chunk);
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-text
+      async text() {
+        return consume(this, "text");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-json
+      async json() {
+        return consume(this, "json");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-blob
+      async blob() {
+        return consume(this, "blob");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-bytes
+      async bytes() {
+        return consume(this, "bytes");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
+      async arrayBuffer() {
+        return consume(this, "arrayBuffer");
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-formdata
+      async formData() {
+        throw new NotSupportedError();
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-bodyused
+      get bodyUsed() {
+        return util.isDisturbed(this);
+      }
+      // https://fetch.spec.whatwg.org/#dom-body-body
+      get body() {
+        if (!this[kBody]) {
+          this[kBody] = ReadableStreamFrom(this);
+          if (this[kConsume]) {
+            this[kBody].getReader();
+            assert(this[kBody].locked);
           }
         }
-        if (request2.method === "CONNECT") {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        return this[kBody];
+      }
+      async dump(opts) {
+        let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024;
+        const signal = opts?.signal;
+        if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
+          throw new InvalidArgumentError("signal must be an AbortSignal");
         }
-        if (upgrade) {
-          assert(client[kRunning] === 1);
-          this.upgrade = true;
-          return 2;
+        signal?.throwIfAborted();
+        if (this._readableState.closeEmitted) {
+          return null;
         }
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
-        if (this.shouldKeepAlive && client[kPipelining]) {
-          const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
-          if (keepAliveTimeout != null) {
-            const timeout = Math.min(
-              keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
-              client[kKeepAliveMaxTimeout]
-            );
-            if (timeout <= 0) {
-              socket[kReset] = true;
+        return await new Promise((resolve6, reject) => {
+          if (this[kContentLength] > limit) {
+            this.destroy(new AbortError());
+          }
+          const onAbort = () => {
+            this.destroy(signal.reason ?? new AbortError());
+          };
+          signal?.addEventListener("abort", onAbort);
+          this.on("close", function() {
+            signal?.removeEventListener("abort", onAbort);
+            if (signal?.aborted) {
+              reject(signal.reason ?? new AbortError());
             } else {
-              client[kKeepAliveTimeoutValue] = timeout;
+              resolve6(null);
+            }
+          }).on("error", noop3).on("data", function(chunk) {
+            limit -= chunk.length;
+            if (limit <= 0) {
+              this.destroy();
             }
+          }).resume();
+        });
+      }
+    };
+    function isLocked(self2) {
+      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
+    }
+    function isUnusable(self2) {
+      return util.isDisturbed(self2) || isLocked(self2);
+    }
+    async function consume(stream2, type2) {
+      assert(!stream2[kConsume]);
+      return new Promise((resolve6, reject) => {
+        if (isUnusable(stream2)) {
+          const rState = stream2._readableState;
+          if (rState.destroyed && rState.closeEmitted === false) {
+            stream2.on("error", (err) => {
+              reject(err);
+            }).on("close", () => {
+              reject(new TypeError("unusable"));
+            });
           } else {
-            client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
+            reject(rState.errored ?? new TypeError("unusable"));
           }
         } else {
-          socket[kReset] = true;
+          queueMicrotask(() => {
+            stream2[kConsume] = {
+              type: type2,
+              stream: stream2,
+              resolve: resolve6,
+              reject,
+              length: 0,
+              body: []
+            };
+            stream2.on("error", function(err) {
+              consumeFinish(this[kConsume], err);
+            }).on("close", function() {
+              if (this[kConsume].body !== null) {
+                consumeFinish(this[kConsume], new RequestAbortedError());
+              }
+            });
+            consumeStart(stream2[kConsume]);
+          });
         }
-        const pause = request2.onHeaders(statusCode, headers, this.resume, statusText) === false;
-        if (request2.aborted) {
-          return -1;
+      });
+    }
+    function consumeStart(consume2) {
+      if (consume2.body === null) {
+        return;
+      }
+      const { _readableState: state } = consume2.stream;
+      if (state.bufferIndex) {
+        const start = state.bufferIndex;
+        const end = state.buffer.length;
+        for (let n = start; n < end; n++) {
+          consumePush(consume2, state.buffer[n]);
         }
-        if (request2.method === "HEAD") {
-          return 1;
+      } else {
+        for (const chunk of state.buffer) {
+          consumePush(consume2, chunk);
         }
-        if (statusCode < 200) {
-          return 1;
+      }
+      if (state.endEmitted) {
+        consumeEnd(this[kConsume]);
+      } else {
+        consume2.stream.on("end", function() {
+          consumeEnd(this[kConsume]);
+        });
+      }
+      consume2.stream.resume();
+      while (consume2.stream.read() != null) {
+      }
+    }
+    function chunksDecode(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return "";
+      }
+      const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
+      const bufferLength = buffer.length;
+      const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
+      return buffer.utf8Slice(start, bufferLength);
+    }
+    function chunksConcat(chunks, length) {
+      if (chunks.length === 0 || length === 0) {
+        return new Uint8Array(0);
+      }
+      if (chunks.length === 1) {
+        return new Uint8Array(chunks[0]);
+      }
+      const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
+      let offset = 0;
+      for (let i = 0; i < chunks.length; ++i) {
+        const chunk = chunks[i];
+        buffer.set(chunk, offset);
+        offset += chunk.length;
+      }
+      return buffer;
+    }
+    function consumeEnd(consume2) {
+      const { type: type2, body, resolve: resolve6, stream: stream2, length } = consume2;
+      try {
+        if (type2 === "text") {
+          resolve6(chunksDecode(body, length));
+        } else if (type2 === "json") {
+          resolve6(JSON.parse(chunksDecode(body, length)));
+        } else if (type2 === "arrayBuffer") {
+          resolve6(chunksConcat(body, length).buffer);
+        } else if (type2 === "blob") {
+          resolve6(new Blob(body, { type: stream2[kContentType] }));
+        } else if (type2 === "bytes") {
+          resolve6(chunksConcat(body, length));
         }
-        if (socket[kBlocking]) {
-          socket[kBlocking] = false;
-          resume(client);
+        consumeFinish(consume2);
+      } catch (err) {
+        stream2.destroy(err);
+      }
+    }
+    function consumePush(consume2, chunk) {
+      consume2.length += chunk.length;
+      consume2.body.push(chunk);
+    }
+    function consumeFinish(consume2, err) {
+      if (consume2.body === null) {
+        return;
+      }
+      if (err) {
+        consume2.reject(err);
+      } else {
+        consume2.resolve();
+      }
+      consume2.type = null;
+      consume2.stream = null;
+      consume2.resolve = null;
+      consume2.reject = null;
+      consume2.length = 0;
+      consume2.body = null;
+    }
+    module2.exports = { Readable: BodyReadable, chunksDecode };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/util.js
+var require_util11 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/util.js"(exports2, module2) {
+    var assert = require("node:assert");
+    var {
+      ResponseStatusCodeError
+    } = require_errors2();
+    var { chunksDecode } = require_readable2();
+    var CHUNK_LIMIT = 128 * 1024;
+    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
+      assert(body);
+      let chunks = [];
+      let length = 0;
+      try {
+        for await (const chunk of body) {
+          chunks.push(chunk);
+          length += chunk.length;
+          if (length > CHUNK_LIMIT) {
+            chunks = [];
+            length = 0;
+            break;
+          }
         }
-        return pause ? constants.ERROR.PAUSED : 0;
+      } catch {
+        chunks = [];
+        length = 0;
       }
-      onBody(buf) {
-        const { client, socket, statusCode, maxResponseSize } = this;
-        if (socket.destroyed) {
-          return -1;
+      const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`;
+      if (statusCode === 204 || !contentType || !length) {
+        queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)));
+        return;
+      }
+      const stackTraceLimit = Error.stackTraceLimit;
+      Error.stackTraceLimit = 0;
+      let payload;
+      try {
+        if (isContentTypeApplicationJson(contentType)) {
+          payload = JSON.parse(chunksDecode(chunks, length));
+        } else if (isContentTypeText(contentType)) {
+          payload = chunksDecode(chunks, length);
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert.strictEqual(this.timeoutType, TIMEOUT_BODY);
-        if (this.timeout) {
-          if (this.timeout.refresh) {
-            this.timeout.refresh();
+      } catch {
+      } finally {
+        Error.stackTraceLimit = stackTraceLimit;
+      }
+      queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)));
+    }
+    var isContentTypeApplicationJson = (contentType) => {
+      return contentType.length > 15 && contentType[11] === "/" && contentType[0] === "a" && contentType[1] === "p" && contentType[2] === "p" && contentType[3] === "l" && contentType[4] === "i" && contentType[5] === "c" && contentType[6] === "a" && contentType[7] === "t" && contentType[8] === "i" && contentType[9] === "o" && contentType[10] === "n" && contentType[12] === "j" && contentType[13] === "s" && contentType[14] === "o" && contentType[15] === "n";
+    };
+    var isContentTypeText = (contentType) => {
+      return contentType.length > 4 && contentType[4] === "/" && contentType[0] === "t" && contentType[1] === "e" && contentType[2] === "x" && contentType[3] === "t";
+    };
+    module2.exports = {
+      getResolveErrorBodyCallback,
+      isContentTypeApplicationJson,
+      isContentTypeText
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-request.js
+var require_api_request2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { Readable: Readable2 } = require_readable2();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var RequestHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
+            throw new InvalidArgumentError("invalid highWaterMark");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
           }
+          super("UNDICI_REQUEST");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
         }
-        assert(statusCode >= 200);
-        if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
-          util.destroy(socket, new ResponseExceededMaxSizeError());
-          return -1;
+        this.method = method;
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.body = body;
+        this.trailers = {};
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError;
+        this.highWaterMark = highWaterMark;
+        this.signal = signal;
+        this.reason = null;
+        this.removeAbortListener = null;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
         }
-        this.bytesRead += buf.length;
-        if (request2.onData(buf) === false) {
-          return constants.ERROR.PAUSED;
+        if (this.signal) {
+          if (this.signal.aborted) {
+            this.reason = this.signal.reason ?? new RequestAbortedError();
+          } else {
+            this.removeAbortListener = util.addAbortListener(this.signal, () => {
+              this.reason = this.signal.reason ?? new RequestAbortedError();
+              if (this.res) {
+                util.destroy(this.res.on("error", util.nop), this.reason);
+              } else if (this.abort) {
+                this.abort(this.reason);
+              }
+              if (this.removeAbortListener) {
+                this.res?.off("close", this.removeAbortListener);
+                this.removeAbortListener();
+                this.removeAbortListener = null;
+              }
+            });
+          }
         }
       }
-      onMessageComplete() {
-        const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
-        if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
-          return -1;
-        }
-        if (upgrade) {
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        const request2 = client[kQueue][client[kRunningIdx]];
-        assert(request2);
-        assert(statusCode >= 100);
-        this.statusCode = null;
-        this.statusText = "";
-        this.bytesRead = 0;
-        this.contentLength = "";
-        this.keepAlive = "";
-        this.connection = "";
-        assert(this.headers.length % 2 === 0);
-        this.headers = [];
-        this.headersSize = 0;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        if (request2.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
-          util.destroy(socket, new ResponseContentLengthMismatchError());
-          return -1;
+        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+        const contentType = parsedHeaders["content-type"];
+        const contentLength = parsedHeaders["content-length"];
+        const res = new Readable2({
+          resume,
+          abort,
+          contentType,
+          contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
+          highWaterMark
+        });
+        if (this.removeAbortListener) {
+          res.on("close", this.removeAbortListener);
         }
-        request2.onComplete(headers);
-        client[kQueue][client[kRunningIdx]++] = null;
-        if (socket[kWriting]) {
-          assert.strictEqual(client[kRunning], 0);
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (!shouldKeepAlive) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (socket[kReset] && client[kRunning] === 0) {
-          util.destroy(socket, new InformationalError("reset"));
-          return constants.ERROR.PAUSED;
-        } else if (client[kPipelining] === 1) {
-          setImmediate(resume, client);
-        } else {
-          resume(client);
+        this.callback = null;
+        this.res = res;
+        if (callback !== null) {
+          if (this.throwOnError && statusCode >= 400) {
+            this.runInAsyncScope(
+              getResolveErrorBodyCallback,
+              null,
+              { callback, body: res, contentType, statusCode, statusMessage, headers }
+            );
+          } else {
+            this.runInAsyncScope(callback, null, null, {
+              statusCode,
+              headers,
+              trailers: this.trailers,
+              opaque,
+              body: res,
+              context: context2
+            });
+          }
         }
       }
-    };
-    function onParserTimeout(parser) {
-      const { socket, timeoutType, client } = parser;
-      if (timeoutType === TIMEOUT_HEADERS) {
-        if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
-          assert(!parser.paused, "cannot be paused while waiting for headers");
-          util.destroy(socket, new HeadersTimeoutError());
+      onData(chunk) {
+        return this.res.push(chunk);
+      }
+      onComplete(trailers) {
+        util.parseHeaders(trailers, this.trailers);
+        this.res.push(null);
+      }
+      onError(err) {
+        const { res, callback, body, opaque } = this;
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-      } else if (timeoutType === TIMEOUT_BODY) {
-        if (!parser.paused) {
-          util.destroy(socket, new BodyTimeoutError());
+        if (res) {
+          this.res = null;
+          queueMicrotask(() => {
+            util.destroy(res, err);
+          });
+        }
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
+        }
+        if (this.removeAbortListener) {
+          res?.off("close", this.removeAbortListener);
+          this.removeAbortListener();
+          this.removeAbortListener = null;
         }
-      } else if (timeoutType === TIMEOUT_IDLE) {
-        assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
-        util.destroy(socket, new InformationalError("socket idle timeout"));
       }
-    }
-    function onSocketReadable() {
-      const { [kParser]: parser } = this;
-      if (parser) {
-        parser.readMore();
+    };
+    function request2(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          request2.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
       }
-    }
-    function onSocketError(err) {
-      const { [kClient]: client, [kParser]: parser } = this;
-      assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
+      try {
+        this.dispatch(opts, new RequestHandler(opts, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      this[kError] = err;
-      onError(this[kClient], err);
     }
-    function onError(client, err) {
-      if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
-        assert(client[kPendingIdx] === client[kRunningIdx]);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-        assert(client[kSize] === 0);
+    module2.exports = request2;
+    module2.exports.RequestHandler = RequestHandler;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js
+var require_abort_signal2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+    var { addAbortListener } = require_util9();
+    var { RequestAbortedError } = require_errors2();
+    var kListener = /* @__PURE__ */ Symbol("kListener");
+    var kSignal = /* @__PURE__ */ Symbol("kSignal");
+    function abort(self2) {
+      if (self2.abort) {
+        self2.abort(self2[kSignal]?.reason);
+      } else {
+        self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
       }
+      removeSignal(self2);
     }
-    function onSocketEnd() {
-      const { [kParser]: parser, [kClient]: client } = this;
-      if (client[kHTTPConnVersion] !== "h2") {
-        if (parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-          return;
-        }
+    function addSignal(self2, signal) {
+      self2.reason = null;
+      self2[kSignal] = null;
+      self2[kListener] = null;
+      if (!signal) {
+        return;
+      }
+      if (signal.aborted) {
+        abort(self2);
+        return;
       }
-      util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
+      self2[kSignal] = signal;
+      self2[kListener] = () => {
+        abort(self2);
+      };
+      addAbortListener(self2[kSignal], self2[kListener]);
     }
-    function onSocketClose() {
-      const { [kClient]: client, [kParser]: parser } = this;
-      if (client[kHTTPConnVersion] === "h1" && parser) {
-        if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
-          parser.onMessageComplete();
-        }
-        this[kParser].destroy();
-        this[kParser] = null;
+    function removeSignal(self2) {
+      if (!self2[kSignal]) {
+        return;
       }
-      const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
-      client[kSocket] = null;
-      if (client.destroyed) {
-        assert(client[kPending] === 0);
-        const requests = client[kQueue].splice(client[kRunningIdx]);
-        for (let i = 0; i < requests.length; i++) {
-          const request2 = requests[i];
-          errorRequest2(client, request2, err);
-        }
-      } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
-        const request2 = client[kQueue][client[kRunningIdx]];
-        client[kQueue][client[kRunningIdx]++] = null;
-        errorRequest2(client, request2, err);
+      if ("removeEventListener" in self2[kSignal]) {
+        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      } else {
+        self2[kSignal].removeListener("abort", self2[kListener]);
       }
-      client[kPendingIdx] = client[kRunningIdx];
-      assert(client[kRunning] === 0);
-      client.emit("disconnect", client[kUrl], [client], err);
-      resume(client);
+      self2[kSignal] = null;
+      self2[kListener] = null;
     }
-    async function connect(client) {
-      assert(!client[kConnecting]);
-      assert(!client[kSocket]);
-      let { host, hostname, protocol, port } = client[kUrl];
-      if (hostname[0] === "[") {
-        const idx = hostname.indexOf("]");
-        assert(idx !== -1);
-        const ip = hostname.substring(1, idx);
-        assert(net.isIP(ip));
-        hostname = ip;
+    module2.exports = {
+      addSignal,
+      removeSignal
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js
+var require_api_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { finished, PassThrough } = require("node:stream");
+    var { InvalidArgumentError, InvalidReturnValueError } = require_errors2();
+    var util = require_util9();
+    var { getResolveErrorBodyCallback } = require_util11();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var StreamHandler = class extends AsyncResource {
+      constructor(opts, factory, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
+        try {
+          if (typeof callback !== "function") {
+            throw new InvalidArgumentError("invalid callback");
+          }
+          if (typeof factory !== "function") {
+            throw new InvalidArgumentError("invalid factory");
+          }
+          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+          }
+          if (method === "CONNECT") {
+            throw new InvalidArgumentError("invalid method");
+          }
+          if (onInfo && typeof onInfo !== "function") {
+            throw new InvalidArgumentError("invalid onInfo callback");
+          }
+          super("UNDICI_STREAM");
+        } catch (err) {
+          if (util.isStream(body)) {
+            util.destroy(body.on("error", util.nop), err);
+          }
+          throw err;
+        }
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.factory = factory;
+        this.callback = callback;
+        this.res = null;
+        this.abort = null;
+        this.context = null;
+        this.trailers = null;
+        this.body = body;
+        this.onInfo = onInfo || null;
+        this.throwOnError = throwOnError || false;
+        if (util.isStream(body)) {
+          body.on("error", (err) => {
+            this.onError(err);
+          });
+        }
+        addSignal(this, signal);
       }
-      client[kConnecting] = true;
-      if (channels.beforeConnect.hasSubscribers) {
-        channels.beforeConnect.publish({
-          connectParams: {
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          },
-          connector: client[kConnector]
-        });
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      try {
-        const socket = await new Promise((resolve6, reject) => {
-          client[kConnector]({
-            host,
-            hostname,
-            protocol,
-            port,
-            servername: client[kServerName],
-            localAddress: client[kLocalAddress]
-          }, (err, socket2) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve6(socket2);
-            }
-          });
-        });
-        if (client.destroyed) {
-          util.destroy(socket.on("error", () => {
-          }), new ClientDestroyedError());
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const { factory, opaque, context: context2, callback, responseHeaders } = this;
+        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            this.onInfo({ statusCode, headers });
+          }
           return;
         }
-        client[kConnecting] = false;
-        assert(socket);
-        const isH2 = socket.alpnProtocol === "h2";
-        if (isH2) {
-          if (!h2ExperimentalWarned) {
-            h2ExperimentalWarned = true;
-            process.emitWarning("H2 support is experimental, expect them to change at any time.", {
-              code: "UNDICI-H2"
-            });
+        this.factory = null;
+        let res;
+        if (this.throwOnError && statusCode >= 400) {
+          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
+          const contentType = parsedHeaders["content-type"];
+          res = new PassThrough();
+          this.callback = null;
+          this.runInAsyncScope(
+            getResolveErrorBodyCallback,
+            null,
+            { callback, body: res, contentType, statusCode, statusMessage, headers }
+          );
+        } else {
+          if (factory === null) {
+            return;
           }
-          const session = http2.connect(client[kUrl], {
-            createConnection: () => socket,
-            peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
+          res = this.runInAsyncScope(factory, null, {
+            statusCode,
+            headers,
+            opaque,
+            context: context2
           });
-          client[kHTTPConnVersion] = "h2";
-          session[kClient] = client;
-          session[kSocket] = socket;
-          session.on("error", onHttp2SessionError);
-          session.on("frameError", onHttp2FrameError);
-          session.on("end", onHttp2SessionEnd);
-          session.on("goaway", onHTTP2GoAway);
-          session.on("close", onSocketClose);
-          session.unref();
-          client[kHTTP2Session] = session;
-          socket[kHTTP2Session] = session;
-        } else {
-          if (!llhttpInstance) {
-            llhttpInstance = await llhttpPromise;
-            llhttpPromise = null;
+          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
+            throw new InvalidReturnValueError("expected Writable");
           }
-          socket[kNoRef] = false;
-          socket[kWriting] = false;
-          socket[kReset] = false;
-          socket[kBlocking] = false;
-          socket[kParser] = new Parser(client, socket, llhttpInstance);
-        }
-        socket[kCounter] = 0;
-        socket[kMaxRequests] = client[kMaxRequests];
-        socket[kClient] = client;
-        socket[kError] = null;
-        socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
-        client[kSocket] = socket;
-        if (channels.connected.hasSubscribers) {
-          channels.connected.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            socket
+          finished(res, { readable: false }, (err) => {
+            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
+            this.res = null;
+            if (err || !res2.readable) {
+              util.destroy(res2, err);
+            }
+            this.callback = null;
+            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
+            if (err) {
+              abort();
+            }
           });
         }
-        client.emit("connect", client[kUrl], [client]);
-      } catch (err) {
-        if (client.destroyed) {
+        res.on("drain", resume);
+        this.res = res;
+        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
+        return needDrain !== true;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res ? res.write(chunk) : true;
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        removeSignal(this);
+        if (!res) {
           return;
         }
-        client[kConnecting] = false;
-        if (channels.connectError.hasSubscribers) {
-          channels.connectError.publish({
-            connectParams: {
-              host,
-              hostname,
-              protocol,
-              port,
-              servername: client[kServerName],
-              localAddress: client[kLocalAddress]
-            },
-            connector: client[kConnector],
-            error: err
+        this.trailers = util.parseHeaders(trailers);
+        res.end();
+      }
+      onError(err) {
+        const { res, callback, opaque, body } = this;
+        removeSignal(this);
+        this.factory = null;
+        if (res) {
+          this.res = null;
+          util.destroy(res, err);
+        } else if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
           });
         }
-        if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
-          assert(client[kRunning] === 0);
-          while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
-            const request2 = client[kQueue][client[kPendingIdx]++];
-            errorRequest2(client, request2, err);
-          }
-        } else {
-          onError(client, err);
+        if (body) {
+          this.body = null;
+          util.destroy(body, err);
         }
-        client.emit("connectionError", client[kUrl], [client], err);
       }
-      resume(client);
-    }
-    function emitDrain(client) {
-      client[kNeedDrain] = 0;
-      client.emit("drain", client[kUrl], [client]);
-    }
-    function resume(client, sync) {
-      if (client[kResuming] === 2) {
-        return;
+    };
+    function stream2(opts, factory, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          stream2.call(this, opts, factory, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
       }
-      client[kResuming] = 2;
-      _resume(client, sync);
-      client[kResuming] = 0;
-      if (client[kRunningIdx] > 256) {
-        client[kQueue].splice(0, client[kRunningIdx]);
-        client[kPendingIdx] -= client[kRunningIdx];
-        client[kRunningIdx] = 0;
+      try {
+        this.dispatch(opts, new StreamHandler(opts, factory, callback));
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function _resume(client, sync) {
-      while (true) {
-        if (client.destroyed) {
-          assert(client[kPending] === 0);
-          return;
+    module2.exports = stream2;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js
+var require_api_pipeline2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+    "use strict";
+    var {
+      Readable: Readable2,
+      Duplex,
+      PassThrough
+    } = require("node:stream");
+    var {
+      InvalidArgumentError,
+      InvalidReturnValueError,
+      RequestAbortedError
+    } = require_errors2();
+    var util = require_util9();
+    var { AsyncResource } = require("node:async_hooks");
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var kResume = /* @__PURE__ */ Symbol("resume");
+    var PipelineRequest = class extends Readable2 {
+      constructor() {
+        super({ autoDestroy: true });
+        this[kResume] = null;
+      }
+      _read() {
+        const { [kResume]: resume } = this;
+        if (resume) {
+          this[kResume] = null;
+          resume();
+        }
+      }
+      _destroy(err, callback) {
+        this._read();
+        callback(err);
+      }
+    };
+    var PipelineResponse = class extends Readable2 {
+      constructor(resume) {
+        super({ autoDestroy: true });
+        this[kResume] = resume;
+      }
+      _read() {
+        this[kResume]();
+      }
+      _destroy(err, callback) {
+        if (!err && !this._readableState.endEmitted) {
+          err = new RequestAbortedError();
         }
-        if (client[kClosedResolve] && !client[kSize]) {
-          client[kClosedResolve]();
-          client[kClosedResolve] = null;
-          return;
+        callback(err);
+      }
+    };
+    var PipelineHandler = class extends AsyncResource {
+      constructor(opts, handler2) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof handler2 !== "function") {
+          throw new InvalidArgumentError("invalid handler");
+        }
+        const { signal, method, opaque, onInfo, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        if (method === "CONNECT") {
+          throw new InvalidArgumentError("invalid method");
+        }
+        if (onInfo && typeof onInfo !== "function") {
+          throw new InvalidArgumentError("invalid onInfo callback");
         }
-        const socket = client[kSocket];
-        if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
-          if (client[kSize] === 0) {
-            if (!socket[kNoRef] && socket.unref) {
-              socket.unref();
-              socket[kNoRef] = true;
+        super("UNDICI_PIPELINE");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.handler = handler2;
+        this.abort = null;
+        this.context = null;
+        this.onInfo = onInfo || null;
+        this.req = new PipelineRequest().on("error", util.nop);
+        this.ret = new Duplex({
+          readableObjectMode: opts.objectMode,
+          autoDestroy: true,
+          read: () => {
+            const { body } = this;
+            if (body?.resume) {
+              body.resume();
             }
-          } else if (socket[kNoRef] && socket.ref) {
-            socket.ref();
-            socket[kNoRef] = false;
-          }
-          if (client[kSize] === 0) {
-            if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
-              socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
+          },
+          write: (chunk, encoding, callback) => {
+            const { req } = this;
+            if (req.push(chunk, encoding) || req._readableState.destroyed) {
+              callback();
+            } else {
+              req[kResume] = callback;
+            }
+          },
+          destroy: (err, callback) => {
+            const { body, req, res, ret, abort } = this;
+            if (!err && !ret._readableState.endEmitted) {
+              err = new RequestAbortedError();
             }
-          } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
-            if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
-              const request3 = client[kQueue][client[kRunningIdx]];
-              const headersTimeout = request3.headersTimeout != null ? request3.headersTimeout : client[kHeadersTimeout];
-              socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
+            if (abort && err) {
+              abort();
             }
+            util.destroy(body, err);
+            util.destroy(req, err);
+            util.destroy(res, err);
+            removeSignal(this);
+            callback(err);
           }
+        }).on("prefinish", () => {
+          const { req } = this;
+          req.push(null);
+        });
+        this.res = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        const { ret, res } = this;
+        if (this.reason) {
+          abort(this.reason);
+          return;
         }
-        if (client[kBusy]) {
-          client[kNeedDrain] = 2;
-        } else if (client[kNeedDrain] === 2) {
-          if (sync) {
-            client[kNeedDrain] = 1;
-            process.nextTick(emitDrain, client);
-          } else {
-            emitDrain(client);
+        assert(!res, "pipeline cannot be retried");
+        assert(!ret.destroyed);
+        this.abort = abort;
+        this.context = context2;
+      }
+      onHeaders(statusCode, rawHeaders, resume) {
+        const { opaque, handler: handler2, context: context2 } = this;
+        if (statusCode < 200) {
+          if (this.onInfo) {
+            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+            this.onInfo({ statusCode, headers });
           }
-          continue;
-        }
-        if (client[kPending] === 0) {
           return;
         }
-        if (client[kRunning] >= (client[kPipelining] || 1)) {
-          return;
+        this.res = new PipelineResponse(resume);
+        let body;
+        try {
+          this.handler = null;
+          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+          body = this.runInAsyncScope(handler2, null, {
+            statusCode,
+            headers,
+            opaque,
+            body: this.res,
+            context: context2
+          });
+        } catch (err) {
+          this.res.on("error", util.nop);
+          throw err;
         }
-        const request2 = client[kQueue][client[kPendingIdx]];
-        if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
-          if (client[kRunning] > 0) {
-            return;
+        if (!body || typeof body.on !== "function") {
+          throw new InvalidReturnValueError("expected Readable");
+        }
+        body.on("data", (chunk) => {
+          const { ret, body: body2 } = this;
+          if (!ret.push(chunk) && body2.pause) {
+            body2.pause();
           }
-          client[kServerName] = request2.servername;
-          if (socket && socket.servername !== request2.servername) {
-            util.destroy(socket, new InformationalError("servername changed"));
-            return;
+        }).on("error", (err) => {
+          const { ret } = this;
+          util.destroy(ret, err);
+        }).on("end", () => {
+          const { ret } = this;
+          ret.push(null);
+        }).on("close", () => {
+          const { ret } = this;
+          if (!ret._readableState.ended) {
+            util.destroy(ret, new RequestAbortedError());
           }
+        });
+        this.body = body;
+      }
+      onData(chunk) {
+        const { res } = this;
+        return res.push(chunk);
+      }
+      onComplete(trailers) {
+        const { res } = this;
+        res.push(null);
+      }
+      onError(err) {
+        const { ret } = this;
+        this.handler = null;
+        util.destroy(ret, err);
+      }
+    };
+    function pipeline(opts, handler2) {
+      try {
+        const pipelineHandler = new PipelineHandler(opts, handler2);
+        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
+        return pipelineHandler.ret;
+      } catch (err) {
+        return new PassThrough().destroy(err);
+      }
+    }
+    module2.exports = pipeline;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js
+var require_api_upgrade2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+    "use strict";
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var { AsyncResource } = require("node:async_hooks");
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var assert = require("node:assert");
+    var UpgradeHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
         }
-        if (client[kConnecting]) {
-          return;
-        }
-        if (!socket && !client[kHTTP2Session]) {
-          connect(client);
-          return;
-        }
-        if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
-          return;
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
         }
-        if (client[kRunning] > 0 && !request2.idempotent) {
-          return;
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
         }
-        if (client[kRunning] > 0 && (request2.upgrade || request2.method === "CONNECT")) {
+        super("UNDICI_UPGRADE");
+        this.responseHeaders = responseHeaders || null;
+        this.opaque = opaque || null;
+        this.callback = callback;
+        this.abort = null;
+        this.context = null;
+        addSignal(this, signal);
+      }
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
           return;
         }
-        if (client[kRunning] > 0 && util.bodyLength(request2.body) !== 0 && (util.isStream(request2.body) || util.isAsyncIterable(request2.body))) {
-          return;
+        assert(this.callback);
+        this.abort = abort;
+        this.context = null;
+      }
+      onHeaders() {
+        throw new SocketError("bad upgrade", null);
+      }
+      onUpgrade(statusCode, rawHeaders, socket) {
+        assert(statusCode === 101);
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
+        this.runInAsyncScope(callback, null, null, {
+          headers,
+          socket,
+          opaque,
+          context: context2
+        });
+      }
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
         }
-        if (!request2.aborted && write(client, request2)) {
-          client[kPendingIdx]++;
-        } else {
-          client[kQueue].splice(client[kPendingIdx], 1);
+      }
+    };
+    function upgrade(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          upgrade.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
+      }
+      try {
+        const upgradeHandler = new UpgradeHandler(opts, callback);
+        this.dispatch({
+          ...opts,
+          method: opts.method || "GET",
+          upgrade: opts.protocol || "Websocket"
+        }, upgradeHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
         }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
     }
-    function shouldSendContentLength(method) {
-      return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
-    }
-    function write(client, request2) {
-      if (client[kHTTPConnVersion] === "h2") {
-        writeH2(client, client[kHTTP2Session], request2);
-        return;
-      }
-      const { body, method, path: path12, host, upgrade, headers, blocking, reset } = request2;
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+    module2.exports = upgrade;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js
+var require_api_connect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { AsyncResource } = require("node:async_hooks");
+    var { InvalidArgumentError, SocketError } = require_errors2();
+    var util = require_util9();
+    var { addSignal, removeSignal } = require_abort_signal2();
+    var ConnectHandler = class extends AsyncResource {
+      constructor(opts, callback) {
+        if (!opts || typeof opts !== "object") {
+          throw new InvalidArgumentError("invalid opts");
+        }
+        if (typeof callback !== "function") {
+          throw new InvalidArgumentError("invalid callback");
+        }
+        const { signal, opaque, responseHeaders } = opts;
+        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
+          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        }
+        super("UNDICI_CONNECT");
+        this.opaque = opaque || null;
+        this.responseHeaders = responseHeaders || null;
+        this.callback = callback;
+        this.abort = null;
+        addSignal(this, signal);
       }
-      const bodyLength = util.bodyLength(body);
-      let contentLength = bodyLength;
-      if (contentLength === null) {
-        contentLength = request2.contentLength;
+      onConnect(abort, context2) {
+        if (this.reason) {
+          abort(this.reason);
+          return;
+        }
+        assert(this.callback);
+        this.abort = abort;
+        this.context = context2;
       }
-      if (contentLength === 0 && !expectsPayload) {
-        contentLength = null;
+      onHeaders() {
+        throw new SocketError("bad connect", null);
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength !== null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
+      onUpgrade(statusCode, rawHeaders, socket) {
+        const { callback, opaque, context: context2 } = this;
+        removeSignal(this);
+        this.callback = null;
+        let headers = rawHeaders;
+        if (headers != null) {
+          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
         }
-        process.emitWarning(new RequestContentLengthMismatchError());
-      }
-      const socket = client[kSocket];
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-          util.destroy(socket, new InformationalError("aborted"));
+        this.runInAsyncScope(callback, null, null, {
+          statusCode,
+          headers,
+          socket,
+          opaque,
+          context: context2
         });
-      } catch (err) {
-        errorRequest2(client, request2, err);
       }
-      if (request2.aborted) {
-        return false;
-      }
-      if (method === "HEAD") {
-        socket[kReset] = true;
+      onError(err) {
+        const { callback, opaque } = this;
+        removeSignal(this);
+        if (callback) {
+          this.callback = null;
+          queueMicrotask(() => {
+            this.runInAsyncScope(callback, null, err, { opaque });
+          });
+        }
       }
-      if (upgrade || method === "CONNECT") {
-        socket[kReset] = true;
+    };
+    function connect(opts, callback) {
+      if (callback === void 0) {
+        return new Promise((resolve6, reject) => {
+          connect.call(this, opts, (err, data) => {
+            return err ? reject(err) : resolve6(data);
+          });
+        });
       }
-      if (reset != null) {
-        socket[kReset] = reset;
+      try {
+        const connectHandler = new ConnectHandler(opts, callback);
+        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
+      } catch (err) {
+        if (typeof callback !== "function") {
+          throw err;
+        }
+        const opaque = opts?.opaque;
+        queueMicrotask(() => callback(err, { opaque }));
       }
-      if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
-        socket[kReset] = true;
+    }
+    module2.exports = connect;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/api/index.js
+var require_api2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/api/index.js"(exports2, module2) {
+    "use strict";
+    module2.exports.request = require_api_request2();
+    module2.exports.stream = require_api_stream2();
+    module2.exports.pipeline = require_api_pipeline2();
+    module2.exports.upgrade = require_api_upgrade2();
+    module2.exports.connect = require_api_connect2();
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js
+var require_mock_errors2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
+    "use strict";
+    var { UndiciError } = require_errors2();
+    var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
+    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
+      constructor(message) {
+        super(message);
+        Error.captureStackTrace(this, _MockNotMatchedError);
+        this.name = "MockNotMatchedError";
+        this.message = message || "The request does not match any registered mock dispatches";
+        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
       }
-      if (blocking) {
-        socket[kBlocking] = true;
+      static [Symbol.hasInstance](instance) {
+        return instance && instance[kMockNotMatchedError] === true;
       }
-      let header = `${method} ${path12} HTTP/1.1\r
-`;
-      if (typeof host === "string") {
-        header += `host: ${host}\r
-`;
-      } else {
-        header += client[kHostHeader];
+      [kMockNotMatchedError] = true;
+    };
+    module2.exports = {
+      MockNotMatchedError
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js
+var require_mock_symbols2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kAgent: /* @__PURE__ */ Symbol("agent"),
+      kOptions: /* @__PURE__ */ Symbol("options"),
+      kFactory: /* @__PURE__ */ Symbol("factory"),
+      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
+      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
+      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
+      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
+      kContentLength: /* @__PURE__ */ Symbol("content length"),
+      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
+      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
+      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
+      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
+      kClose: /* @__PURE__ */ Symbol("close"),
+      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
+      kOrigin: /* @__PURE__ */ Symbol("origin"),
+      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
+      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
+      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
+      kConnected: /* @__PURE__ */ Symbol("connected")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js
+var require_mock_utils2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
+    "use strict";
+    var { MockNotMatchedError } = require_mock_errors2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kOriginalDispatch,
+      kOrigin,
+      kGetNetConnect
+    } = require_mock_symbols2();
+    var { buildURL } = require_util9();
+    var { STATUS_CODES } = require("node:http");
+    var {
+      types: {
+        isPromise
       }
-      if (upgrade) {
-        header += `connection: upgrade\r
-upgrade: ${upgrade}\r
-`;
-      } else if (client[kPipelining] && !socket[kReset]) {
-        header += "connection: keep-alive\r\n";
-      } else {
-        header += "connection: close\r\n";
+    } = require("node:util");
+    function matchValue(match, value) {
+      if (typeof match === "string") {
+        return match === value;
       }
-      if (headers) {
-        header += headers;
+      if (match instanceof RegExp) {
+        return match.test(value);
       }
-      if (channels.sendHeaders.hasSubscribers) {
-        channels.sendHeaders.publish({ request: request2, headers: header, socket });
+      if (typeof match === "function") {
+        return match(value) === true;
       }
-      if (!body || bodyLength === 0) {
-        if (contentLength === 0) {
-          socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-        } else {
-          assert(contentLength === null, "no body must not have content length");
-          socket.write(`${header}\r
-`, "latin1");
-        }
-        request2.onRequestSent();
-      } else if (util.isBuffer(body)) {
-        assert(contentLength === body.byteLength, "buffer body must have content length");
-        socket.cork();
-        socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-        socket.write(body);
-        socket.uncork();
-        request2.onBodySent(body);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-      } else if (util.isBlobLike(body)) {
-        if (typeof body.stream === "function") {
-          writeIterable({ body: body.stream(), client, request: request2, socket, contentLength, header, expectsPayload });
-        } else {
-          writeBlob({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+      return false;
+    }
+    function lowerCaseEntries(headers) {
+      return Object.fromEntries(
+        Object.entries(headers).map(([headerName, headerValue]) => {
+          return [headerName.toLocaleLowerCase(), headerValue];
+        })
+      );
+    }
+    function getHeaderByName(headers, key) {
+      if (Array.isArray(headers)) {
+        for (let i = 0; i < headers.length; i += 2) {
+          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
+            return headers[i + 1];
+          }
         }
-      } else if (util.isStream(body)) {
-        writeStream({ body, client, request: request2, socket, contentLength, header, expectsPayload });
-      } else if (util.isIterable(body)) {
-        writeIterable({ body, client, request: request2, socket, contentLength, header, expectsPayload });
+        return void 0;
+      } else if (typeof headers.get === "function") {
+        return headers.get(key);
       } else {
-        assert(false);
+        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+      }
+    }
+    function buildHeadersFromArray(headers) {
+      const clone = headers.slice();
+      const entries = [];
+      for (let index = 0; index < clone.length; index += 2) {
+        entries.push([clone[index], clone[index + 1]]);
       }
-      return true;
+      return Object.fromEntries(entries);
     }
-    function writeH2(client, session, request2) {
-      const { body, method, path: path12, host, upgrade, expectContinue, signal, headers: reqHeaders } = request2;
-      let headers;
-      if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
-      else headers = reqHeaders;
-      if (upgrade) {
-        errorRequest2(client, request2, new Error("Upgrade not supported for H2"));
-        return false;
+    function matchHeaders(mockDispatch2, headers) {
+      if (typeof mockDispatch2.headers === "function") {
+        if (Array.isArray(headers)) {
+          headers = buildHeadersFromArray(headers);
+        }
+        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
       }
-      try {
-        request2.onConnect((err) => {
-          if (request2.aborted || request2.completed) {
-            return;
-          }
-          errorRequest2(client, request2, err || new RequestAbortedError());
-        });
-      } catch (err) {
-        errorRequest2(client, request2, err);
+      if (typeof mockDispatch2.headers === "undefined") {
+        return true;
       }
-      if (request2.aborted) {
+      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
         return false;
       }
-      let stream2;
-      const h2State = client[kHTTP2SessionState];
-      headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
-      headers[HTTP2_HEADER_METHOD] = method;
-      if (method === "CONNECT") {
-        session.ref();
-        stream2 = session.request(headers, { endStream: false, signal });
-        if (stream2.id && !stream2.pending) {
-          request2.onUpgrade(null, null, stream2);
-          ++h2State.openStreams;
-        } else {
-          stream2.once("ready", () => {
-            request2.onUpgrade(null, null, stream2);
-            ++h2State.openStreams;
-          });
+      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
+        const headerValue = getHeaderByName(headers, matchHeaderName);
+        if (!matchValue(matchHeaderValue, headerValue)) {
+          return false;
         }
-        stream2.once("close", () => {
-          h2State.openStreams -= 1;
-          if (h2State.openStreams === 0) session.unref();
-        });
-        return true;
       }
-      headers[HTTP2_HEADER_PATH] = path12;
-      headers[HTTP2_HEADER_SCHEME] = "https";
-      const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
-      if (body && typeof body.read === "function") {
-        body.read(0);
+      return true;
+    }
+    function safeUrl(path12) {
+      if (typeof path12 !== "string") {
+        return path12;
       }
-      let contentLength = util.bodyLength(body);
-      if (contentLength == null) {
-        contentLength = request2.contentLength;
+      const pathSegments = path12.split("?");
+      if (pathSegments.length !== 2) {
+        return path12;
       }
-      if (contentLength === 0 || !expectsPayload) {
-        contentLength = null;
+      const qp = new URLSearchParams(pathSegments.pop());
+      qp.sort();
+      return [...pathSegments, qp.toString()].join("?");
+    }
+    function matchKey(mockDispatch2, { path: path12, method, body, headers }) {
+      const pathMatch = matchValue(mockDispatch2.path, path12);
+      const methodMatch = matchValue(mockDispatch2.method, method);
+      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
+      const headersMatch = matchHeaders(mockDispatch2, headers);
+      return pathMatch && methodMatch && bodyMatch && headersMatch;
+    }
+    function getResponseData2(data) {
+      if (Buffer.isBuffer(data)) {
+        return data;
+      } else if (data instanceof Uint8Array) {
+        return data;
+      } else if (data instanceof ArrayBuffer) {
+        return data;
+      } else if (typeof data === "object") {
+        return JSON.stringify(data);
+      } else {
+        return data.toString();
       }
-      if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) {
-        if (client[kStrictContentLength]) {
-          errorRequest2(client, request2, new RequestContentLengthMismatchError());
-          return false;
-        }
-        process.emitWarning(new RequestContentLengthMismatchError());
+    }
+    function getMockDispatch(mockDispatches, key) {
+      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
+      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
+      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path12 }) => matchValue(safeUrl(path12), resolvedPath));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
       }
-      if (contentLength != null) {
-        assert(body, "no body must not have content length");
-        headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
+      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
       }
-      session.ref();
-      const shouldEndStream = method === "GET" || method === "HEAD";
-      if (expectContinue) {
-        headers[HTTP2_HEADER_EXPECT] = "100-continue";
-        stream2 = session.request(headers, { endStream: shouldEndStream, signal });
-        stream2.once("continue", writeBodyH2);
-      } else {
-        stream2 = session.request(headers, {
-          endStream: shouldEndStream,
-          signal
-        });
-        writeBodyH2();
+      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
+      if (matchedMockDispatches.length === 0) {
+        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
       }
-      ++h2State.openStreams;
-      stream2.once("response", (headers2) => {
-        const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
-        if (request2.onHeaders(Number(statusCode), realHeaders, stream2.resume.bind(stream2), "") === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("end", () => {
-        request2.onComplete([]);
-      });
-      stream2.on("data", (chunk) => {
-        if (request2.onData(chunk) === false) {
-          stream2.pause();
-        }
-      });
-      stream2.once("close", () => {
-        h2State.openStreams -= 1;
-        if (h2State.openStreams === 0) {
-          session.unref();
-        }
-      });
-      stream2.once("error", function(err) {
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
-        }
-      });
-      stream2.once("frameError", (type2, code) => {
-        const err = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
-        errorRequest2(client, request2, err);
-        if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
-          h2State.streams -= 1;
-          util.destroy(stream2, err);
+      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
+      if (matchedMockDispatches.length === 0) {
+        const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
+        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
+      }
+      return matchedMockDispatches[0];
+    }
+    function addMockDispatch(mockDispatches, key, data) {
+      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
+      const replyData = typeof data === "function" ? { callback: data } : { ...data };
+      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
+      mockDispatches.push(newMockDispatch);
+      return newMockDispatch;
+    }
+    function deleteMockDispatch(mockDispatches, key) {
+      const index = mockDispatches.findIndex((dispatch) => {
+        if (!dispatch.consumed) {
+          return false;
         }
+        return matchKey(dispatch, key);
       });
-      return true;
-      function writeBodyH2() {
-        if (!body) {
-          request2.onRequestSent();
-        } else if (util.isBuffer(body)) {
-          assert(contentLength === body.byteLength, "buffer body must have content length");
-          stream2.cork();
-          stream2.write(body);
-          stream2.uncork();
-          stream2.end();
-          request2.onBodySent(body);
-          request2.onRequestSent();
-        } else if (util.isBlobLike(body)) {
-          if (typeof body.stream === "function") {
-            writeIterable({
-              client,
-              request: request2,
-              contentLength,
-              h2stream: stream2,
-              expectsPayload,
-              body: body.stream(),
-              socket: client[kSocket],
-              header: ""
-            });
-          } else {
-            writeBlob({
-              body,
-              client,
-              request: request2,
-              contentLength,
-              expectsPayload,
-              h2stream: stream2,
-              header: "",
-              socket: client[kSocket]
-            });
-          }
-        } else if (util.isStream(body)) {
-          writeStream({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            socket: client[kSocket],
-            h2stream: stream2,
-            header: ""
-          });
-        } else if (util.isIterable(body)) {
-          writeIterable({
-            body,
-            client,
-            request: request2,
-            contentLength,
-            expectsPayload,
-            header: "",
-            h2stream: stream2,
-            socket: client[kSocket]
-          });
-        } else {
-          assert(false);
-        }
+      if (index !== -1) {
+        mockDispatches.splice(index, 1);
       }
     }
-    function writeStream({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
-      if (client[kHTTPConnVersion] === "h2") {
-        let onPipeData = function(chunk) {
-          request2.onBodySent(chunk);
-        };
-        const pipe = pipeline(
-          body,
-          h2stream,
-          (err) => {
-            if (err) {
-              util.destroy(body, err);
-              util.destroy(h2stream, err);
-            } else {
-              request2.onRequestSent();
-            }
-          }
-        );
-        pipe.on("data", onPipeData);
-        pipe.once("end", () => {
-          pipe.removeListener("data", onPipeData);
-          util.destroy(pipe);
-        });
-        return;
-      }
-      let finished = false;
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      const onData = function(chunk) {
-        if (finished) {
-          return;
-        }
-        try {
-          if (!writer.write(chunk) && this.pause) {
-            this.pause();
-          }
-        } catch (err) {
-          util.destroy(this, err);
-        }
-      };
-      const onDrain = function() {
-        if (finished) {
-          return;
-        }
-        if (body.resume) {
-          body.resume();
-        }
-      };
-      const onAbort = function() {
-        if (finished) {
-          return;
-        }
-        const err = new RequestAbortedError();
-        queueMicrotask(() => onFinished(err));
+    function buildKey(opts) {
+      const { path: path12, method, body, headers, query } = opts;
+      return {
+        path: path12,
+        method,
+        body,
+        headers,
+        query
       };
-      const onFinished = function(err) {
-        if (finished) {
-          return;
-        }
-        finished = true;
-        assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
-        socket.off("drain", onDrain).off("error", onFinished);
-        body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);
-        if (!err) {
-          try {
-            writer.end();
-          } catch (er) {
-            err = er;
+    }
+    function generateKeyValues(data) {
+      const keys = Object.keys(data);
+      const result = [];
+      for (let i = 0; i < keys.length; ++i) {
+        const key = keys[i];
+        const value = data[key];
+        const name = Buffer.from(`${key}`);
+        if (Array.isArray(value)) {
+          for (let j = 0; j < value.length; ++j) {
+            result.push(name, Buffer.from(`${value[j]}`));
           }
-        }
-        writer.destroy(err);
-        if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
-          util.destroy(body, err);
         } else {
-          util.destroy(body);
+          result.push(name, Buffer.from(`${value}`));
         }
-      };
-      body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);
-      if (body.resume) {
-        body.resume();
       }
-      socket.on("drain", onDrain).on("error", onFinished);
+      return result;
     }
-    async function writeBlob({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength === body.size, "blob body must have content length");
-      const isH2 = client[kHTTPConnVersion] === "h2";
-      try {
-        if (contentLength != null && contentLength !== body.size) {
-          throw new RequestContentLengthMismatchError();
-        }
-        const buffer = Buffer.from(await body.arrayBuffer());
-        if (isH2) {
-          h2stream.cork();
-          h2stream.write(buffer);
-          h2stream.uncork();
-        } else {
-          socket.cork();
-          socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          socket.write(buffer);
-          socket.uncork();
-        }
-        request2.onBodySent(buffer);
-        request2.onRequestSent();
-        if (!expectsPayload) {
-          socket[kReset] = true;
-        }
-        resume(client);
-      } catch (err) {
-        util.destroy(isH2 ? h2stream : socket, err);
+    function getStatusText(statusCode) {
+      return STATUS_CODES[statusCode] || "unknown";
+    }
+    async function getResponse(body) {
+      const buffers = [];
+      for await (const data of body) {
+        buffers.push(data);
       }
+      return Buffer.concat(buffers).toString("utf8");
     }
-    async function writeIterable({ h2stream, body, client, request: request2, socket, contentLength, header, expectsPayload }) {
-      assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
-      let callback = null;
-      function onDrain() {
-        if (callback) {
-          const cb = callback;
-          callback = null;
-          cb();
-        }
+    function mockDispatch(opts, handler2) {
+      const key = buildKey(opts);
+      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
+      mockDispatch2.timesInvoked++;
+      if (mockDispatch2.data.callback) {
+        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
       }
-      const waitForDrain = () => new Promise((resolve6, reject) => {
-        assert(callback === null);
-        if (socket[kError]) {
-          reject(socket[kError]);
-        } else {
-          callback = resolve6;
-        }
-      });
-      if (client[kHTTPConnVersion] === "h2") {
-        h2stream.on("close", onDrain).on("drain", onDrain);
-        try {
-          for await (const chunk of body) {
-            if (socket[kError]) {
-              throw socket[kError];
-            }
-            const res = h2stream.write(chunk);
-            request2.onBodySent(chunk);
-            if (!res) {
-              await waitForDrain();
-            }
-          }
-        } catch (err) {
-          h2stream.destroy(err);
-        } finally {
-          request2.onRequestSent();
-          h2stream.end();
-          h2stream.off("close", onDrain).off("drain", onDrain);
-        }
-        return;
+      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
+      const { timesInvoked, times } = mockDispatch2;
+      mockDispatch2.consumed = !persist && timesInvoked >= times;
+      mockDispatch2.pending = timesInvoked < times;
+      if (error3 !== null) {
+        deleteMockDispatch(this[kDispatches], key);
+        handler2.onError(error3);
+        return true;
       }
-      socket.on("close", onDrain).on("drain", onDrain);
-      const writer = new AsyncWriter({ socket, request: request2, contentLength, client, expectsPayload, header });
-      try {
-        for await (const chunk of body) {
-          if (socket[kError]) {
-            throw socket[kError];
-          }
-          if (!writer.write(chunk)) {
-            await waitForDrain();
-          }
+      if (typeof delay2 === "number" && delay2 > 0) {
+        setTimeout(() => {
+          handleReply(this[kDispatches]);
+        }, delay2);
+      } else {
+        handleReply(this[kDispatches]);
+      }
+      function handleReply(mockDispatches, _data = data) {
+        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
+        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
+        if (isPromise(body)) {
+          body.then((newData) => handleReply(mockDispatches, newData));
+          return;
         }
-        writer.end();
-      } catch (err) {
-        writer.destroy(err);
-      } finally {
-        socket.off("close", onDrain).off("drain", onDrain);
+        const responseData = getResponseData2(body);
+        const responseHeaders = generateKeyValues(headers);
+        const responseTrailers = generateKeyValues(trailers);
+        handler2.onConnect?.((err) => handler2.onError(err), null);
+        handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
+        handler2.onData?.(Buffer.from(responseData));
+        handler2.onComplete?.(responseTrailers);
+        deleteMockDispatch(mockDispatches, key);
       }
-    }
-    var AsyncWriter = class {
-      constructor({ socket, request: request2, contentLength, client, expectsPayload, header }) {
-        this.socket = socket;
-        this.request = request2;
-        this.contentLength = contentLength;
-        this.client = client;
-        this.bytesWritten = 0;
-        this.expectsPayload = expectsPayload;
-        this.header = header;
-        socket[kWriting] = true;
+      function resume() {
       }
-      write(chunk) {
-        const { socket, request: request2, contentLength, client, bytesWritten, expectsPayload, header } = this;
-        if (socket[kError]) {
-          throw socket[kError];
-        }
-        if (socket.destroyed) {
-          return false;
-        }
-        const len = Buffer.byteLength(chunk);
-        if (!len) {
-          return true;
-        }
-        if (contentLength !== null && bytesWritten + len > contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          }
-          process.emitWarning(new RequestContentLengthMismatchError());
-        }
-        socket.cork();
-        if (bytesWritten === 0) {
-          if (!expectsPayload) {
-            socket[kReset] = true;
-          }
-          if (contentLength === null) {
-            socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
-          } else {
-            socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
-          }
-        }
-        if (contentLength === null) {
-          socket.write(`\r
-${len.toString(16)}\r
-`, "latin1");
-        }
-        this.bytesWritten += len;
-        const ret = socket.write(chunk);
-        socket.uncork();
-        request2.onBodySent(chunk);
-        if (!ret) {
-          if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-            if (socket[kParser].timeout.refresh) {
-              socket[kParser].timeout.refresh();
+      return true;
+    }
+    function buildMockDispatch() {
+      const agent = this[kMockAgent];
+      const origin = this[kOrigin];
+      const originalDispatch = this[kOriginalDispatch];
+      return function dispatch(opts, handler2) {
+        if (agent.isMockActive) {
+          try {
+            mockDispatch.call(this, opts, handler2);
+          } catch (error3) {
+            if (error3 instanceof MockNotMatchedError) {
+              const netConnect = agent[kGetNetConnect]();
+              if (netConnect === false) {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
+              }
+              if (checkNetConnect(netConnect, origin)) {
+                originalDispatch.call(this, opts, handler2);
+              } else {
+                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
+              }
+            } else {
+              throw error3;
             }
           }
+        } else {
+          originalDispatch.call(this, opts, handler2);
         }
-        return ret;
-      }
-      end() {
-        const { socket, contentLength, client, bytesWritten, expectsPayload, header, request: request2 } = this;
-        request2.onRequestSent();
-        socket[kWriting] = false;
-        if (socket[kError]) {
-          throw socket[kError];
-        }
-        if (socket.destroyed) {
-          return;
-        }
-        if (bytesWritten === 0) {
-          if (expectsPayload) {
-            socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
-          } else {
-            socket.write(`${header}\r
-`, "latin1");
-          }
-        } else if (contentLength === null) {
-          socket.write("\r\n0\r\n\r\n", "latin1");
-        }
-        if (contentLength !== null && bytesWritten !== contentLength) {
-          if (client[kStrictContentLength]) {
-            throw new RequestContentLengthMismatchError();
-          } else {
-            process.emitWarning(new RequestContentLengthMismatchError());
-          }
-        }
-        if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
-          if (socket[kParser].timeout.refresh) {
-            socket[kParser].timeout.refresh();
-          }
-        }
-        resume(client);
-      }
-      destroy(err) {
-        const { socket, client } = this;
-        socket[kWriting] = false;
-        if (err) {
-          assert(client[kRunning] <= 1, "pipeline should only contain this request");
-          util.destroy(socket, err);
-        }
+      };
+    }
+    function checkNetConnect(netConnect, origin) {
+      const url2 = new URL(origin);
+      if (netConnect === true) {
+        return true;
+      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
+        return true;
       }
-    };
-    function errorRequest2(client, request2, err) {
-      try {
-        request2.onError(err);
-        assert(request2.aborted);
-      } catch (err2) {
-        client.emit("error", err2);
+      return false;
+    }
+    function buildMockOptions(opts) {
+      if (opts) {
+        const { agent, ...mockOptions } = opts;
+        return mockOptions;
       }
     }
-    module2.exports = Client;
+    module2.exports = {
+      getResponseData: getResponseData2,
+      getMockDispatch,
+      addMockDispatch,
+      deleteMockDispatch,
+      buildKey,
+      generateKeyValues,
+      matchValue,
+      getResponse,
+      getStatusText,
+      mockDispatch,
+      buildMockDispatch,
+      checkNetConnect,
+      buildMockOptions,
+      getHeaderByName,
+      buildHeadersFromArray
+    };
   }
 });
 
-// node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue2 = __commonJS({
-  "node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js
+var require_mock_interceptor2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
     "use strict";
-    var kSize = 2048;
-    var kMask = kSize - 1;
-    var FixedCircularBuffer = class {
-      constructor() {
-        this.bottom = 0;
-        this.top = 0;
-        this.list = new Array(kSize);
-        this.next = null;
-      }
-      isEmpty() {
-        return this.top === this.bottom;
+    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kDispatchKey,
+      kDefaultHeaders,
+      kDefaultTrailers,
+      kContentLength,
+      kMockDispatch
+    } = require_mock_symbols2();
+    var { InvalidArgumentError } = require_errors2();
+    var { buildURL } = require_util9();
+    var MockScope = class {
+      constructor(mockDispatch) {
+        this[kMockDispatch] = mockDispatch;
       }
-      isFull() {
-        return (this.top + 1 & kMask) === this.bottom;
+      /**
+       * Delay a reply by a set amount in ms.
+       */
+      delay(waitInMs) {
+        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
+          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
+        }
+        this[kMockDispatch].delay = waitInMs;
+        return this;
       }
-      push(data) {
-        this.list[this.top] = data;
-        this.top = this.top + 1 & kMask;
+      /**
+       * For a defined reply, never mark as consumed.
+       */
+      persist() {
+        this[kMockDispatch].persist = true;
+        return this;
       }
-      shift() {
-        const nextItem = this.list[this.bottom];
-        if (nextItem === void 0)
-          return null;
-        this.list[this.bottom] = void 0;
-        this.bottom = this.bottom + 1 & kMask;
-        return nextItem;
+      /**
+       * Allow one to define a reply for a set amount of matching requests.
+       */
+      times(repeatTimes) {
+        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
+          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+        }
+        this[kMockDispatch].times = repeatTimes;
+        return this;
       }
     };
-    module2.exports = class FixedQueue {
-      constructor() {
-        this.head = this.tail = new FixedCircularBuffer();
-      }
-      isEmpty() {
-        return this.head.isEmpty();
-      }
-      push(data) {
-        if (this.head.isFull()) {
-          this.head = this.head.next = new FixedCircularBuffer();
+    var MockInterceptor = class {
+      constructor(opts, mockDispatches) {
+        if (typeof opts !== "object") {
+          throw new InvalidArgumentError("opts must be an object");
         }
-        this.head.push(data);
-      }
-      shift() {
-        const tail = this.tail;
-        const next = tail.shift();
-        if (tail.isEmpty() && tail.next !== null) {
-          this.tail = tail.next;
+        if (typeof opts.path === "undefined") {
+          throw new InvalidArgumentError("opts.path must be defined");
         }
-        return next;
+        if (typeof opts.method === "undefined") {
+          opts.method = "GET";
+        }
+        if (typeof opts.path === "string") {
+          if (opts.query) {
+            opts.path = buildURL(opts.path, opts.query);
+          } else {
+            const parsedURL = new URL(opts.path, "data://");
+            opts.path = parsedURL.pathname + parsedURL.search;
+          }
+        }
+        if (typeof opts.method === "string") {
+          opts.method = opts.method.toUpperCase();
+        }
+        this[kDispatchKey] = buildKey(opts);
+        this[kDispatches] = mockDispatches;
+        this[kDefaultHeaders] = {};
+        this[kDefaultTrailers] = {};
+        this[kContentLength] = false;
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/pool-stats.js
-var require_pool_stats2 = __commonJS({
-  "node_modules/undici/lib/pool-stats.js"(exports2, module2) {
-    var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols6();
-    var kPool = /* @__PURE__ */ Symbol("pool");
-    var PoolStats = class {
-      constructor(pool) {
-        this[kPool] = pool;
+      createMockScopeDispatchData({ statusCode, data, responseOptions }) {
+        const responseData = getResponseData2(data);
+        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
+        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
+        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
+        return { statusCode, data, headers, trailers };
       }
-      get connected() {
-        return this[kPool][kConnected];
+      validateReplyParameters(replyParameters) {
+        if (typeof replyParameters.statusCode === "undefined") {
+          throw new InvalidArgumentError("statusCode must be defined");
+        }
+        if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
+          throw new InvalidArgumentError("responseOptions must be an object");
+        }
       }
-      get free() {
-        return this[kPool][kFree];
+      /**
+       * Mock an undici request with a defined reply.
+       */
+      reply(replyOptionsCallbackOrStatusCode) {
+        if (typeof replyOptionsCallbackOrStatusCode === "function") {
+          const wrappedDefaultsCallback = (opts) => {
+            const resolvedData = replyOptionsCallbackOrStatusCode(opts);
+            if (typeof resolvedData !== "object" || resolvedData === null) {
+              throw new InvalidArgumentError("reply options callback must return an object");
+            }
+            const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
+            this.validateReplyParameters(replyParameters2);
+            return {
+              ...this.createMockScopeDispatchData(replyParameters2)
+            };
+          };
+          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
+          return new MockScope(newMockDispatch2);
+        }
+        const replyParameters = {
+          statusCode: replyOptionsCallbackOrStatusCode,
+          data: arguments[1] === void 0 ? "" : arguments[1],
+          responseOptions: arguments[2] === void 0 ? {} : arguments[2]
+        };
+        this.validateReplyParameters(replyParameters);
+        const dispatchData = this.createMockScopeDispatchData(replyParameters);
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
+        return new MockScope(newMockDispatch);
       }
-      get pending() {
-        return this[kPool][kPending];
+      /**
+       * Mock an undici request with a defined error.
+       */
+      replyWithError(error3) {
+        if (typeof error3 === "undefined") {
+          throw new InvalidArgumentError("error must be defined");
+        }
+        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
+        return new MockScope(newMockDispatch);
       }
-      get queued() {
-        return this[kPool][kQueued];
+      /**
+       * Set default reply headers on the interceptor for subsequent replies
+       */
+      defaultReplyHeaders(headers) {
+        if (typeof headers === "undefined") {
+          throw new InvalidArgumentError("headers must be defined");
+        }
+        this[kDefaultHeaders] = headers;
+        return this;
       }
-      get running() {
-        return this[kPool][kRunning];
+      /**
+       * Set default reply trailers on the interceptor for subsequent replies
+       */
+      defaultReplyTrailers(trailers) {
+        if (typeof trailers === "undefined") {
+          throw new InvalidArgumentError("trailers must be defined");
+        }
+        this[kDefaultTrailers] = trailers;
+        return this;
       }
-      get size() {
-        return this[kPool][kSize];
+      /**
+       * Set reply content length header for replies on the interceptor
+       */
+      replyContentLength() {
+        this[kContentLength] = true;
+        return this;
       }
     };
-    module2.exports = PoolStats;
+    module2.exports.MockInterceptor = MockInterceptor;
+    module2.exports.MockScope = MockScope;
   }
 });
 
-// node_modules/undici/lib/pool-base.js
-var require_pool_base2 = __commonJS({
-  "node_modules/undici/lib/pool-base.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js
+var require_mock_client2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
     "use strict";
-    var DispatcherBase = require_dispatcher_base2();
-    var FixedQueue = require_fixed_queue2();
-    var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols6();
-    var PoolStats = require_pool_stats2();
-    var kClients = /* @__PURE__ */ Symbol("clients");
-    var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
-    var kQueue = /* @__PURE__ */ Symbol("queue");
-    var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
-    var kAddClient = /* @__PURE__ */ Symbol("add client");
-    var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
-    var kStats = /* @__PURE__ */ Symbol("stats");
-    var PoolBase = class extends DispatcherBase {
-      constructor() {
-        super();
-        this[kQueue] = new FixedQueue();
-        this[kClients] = [];
-        this[kQueued] = 0;
-        const pool = this;
-        this[kOnDrain] = function onDrain(origin, targets) {
-          const queue = pool[kQueue];
-          let needDrain = false;
-          while (!needDrain) {
-            const item = queue.shift();
-            if (!item) {
-              break;
-            }
-            pool[kQueued]--;
-            needDrain = !this.dispatch(item.opts, item.handler);
-          }
-          this[kNeedDrain] = needDrain;
-          if (!this[kNeedDrain] && pool[kNeedDrain]) {
-            pool[kNeedDrain] = false;
-            pool.emit("drain", origin, [pool, ...targets]);
-          }
-          if (pool[kClosedResolve] && queue.isEmpty()) {
-            Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
-          }
-        };
-        this[kOnConnect] = (origin, targets) => {
-          pool.emit("connect", origin, [pool, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          pool.emit("disconnect", origin, [pool, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          pool.emit("connectionError", origin, [pool, ...targets], err);
-        };
-        this[kStats] = new PoolStats(this);
-      }
-      get [kBusy]() {
-        return this[kNeedDrain];
-      }
-      get [kConnected]() {
-        return this[kClients].filter((client) => client[kConnected]).length;
-      }
-      get [kFree]() {
-        return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
-      }
-      get [kPending]() {
-        let ret = this[kQueued];
-        for (const { [kPending]: pending } of this[kClients]) {
-          ret += pending;
-        }
-        return ret;
-      }
-      get [kRunning]() {
-        let ret = 0;
-        for (const { [kRunning]: running } of this[kClients]) {
-          ret += running;
+    var { promisify } = require("node:util");
+    var Client = require_client2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockClient = class extends Client {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        return ret;
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      get [kSize]() {
-        let ret = this[kQueued];
-        for (const { [kSize]: size } of this[kClients]) {
-          ret += size;
-        }
-        return ret;
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      get stats() {
-        return this[kStats];
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
       async [kClose]() {
-        if (this[kQueue].isEmpty()) {
-          return Promise.all(this[kClients].map((c) => c.close()));
-        } else {
-          return new Promise((resolve6) => {
-            this[kClosedResolve] = resolve6;
-          });
-        }
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
-      async [kDestroy](err) {
-        while (true) {
-          const item = this[kQueue].shift();
-          if (!item) {
-            break;
-          }
-          item.handler.onError(err);
+    };
+    module2.exports = MockClient;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js
+var require_mock_pool2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
+    "use strict";
+    var { promisify } = require("node:util");
+    var Pool = require_pool2();
+    var { buildMockDispatch } = require_mock_utils2();
+    var {
+      kDispatches,
+      kMockAgent,
+      kClose,
+      kOriginalClose,
+      kOrigin,
+      kOriginalDispatch,
+      kConnected
+    } = require_mock_symbols2();
+    var { MockInterceptor } = require_mock_interceptor2();
+    var Symbols = require_symbols6();
+    var { InvalidArgumentError } = require_errors2();
+    var MockPool = class extends Pool {
+      constructor(origin, opts) {
+        super(origin, opts);
+        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        return Promise.all(this[kClients].map((c) => c.destroy(err)));
+        this[kMockAgent] = opts.agent;
+        this[kOrigin] = origin;
+        this[kDispatches] = [];
+        this[kConnected] = 1;
+        this[kOriginalDispatch] = this.dispatch;
+        this[kOriginalClose] = this.close.bind(this);
+        this.dispatch = buildMockDispatch.call(this);
+        this.close = this[kClose];
       }
-      [kDispatch](opts, handler2) {
-        const dispatcher = this[kGetDispatcher]();
-        if (!dispatcher) {
-          this[kNeedDrain] = true;
-          this[kQueue].push({ opts, handler: handler2 });
-          this[kQueued]++;
-        } else if (!dispatcher.dispatch(opts, handler2)) {
-          dispatcher[kNeedDrain] = true;
-          this[kNeedDrain] = !this[kGetDispatcher]();
-        }
-        return !this[kNeedDrain];
+      get [Symbols.kConnected]() {
+        return this[kConnected];
       }
-      [kAddClient](client) {
-        client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-        this[kClients].push(client);
-        if (this[kNeedDrain]) {
-          process.nextTick(() => {
-            if (this[kNeedDrain]) {
-              this[kOnDrain](client[kUrl], [this, client]);
-            }
-          });
-        }
-        return this;
+      /**
+       * Sets up the base interceptor for mocking replies from undici.
+       */
+      intercept(opts) {
+        return new MockInterceptor(opts, this[kDispatches]);
       }
-      [kRemoveClient](client) {
-        client.close(() => {
-          const idx = this[kClients].indexOf(client);
-          if (idx !== -1) {
-            this[kClients].splice(idx, 1);
-          }
-        });
-        this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
+      async [kClose]() {
+        await promisify(this[kOriginalClose])();
+        this[kConnected] = 0;
+        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
       }
     };
-    module2.exports = {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    };
+    module2.exports = MockPool;
   }
 });
 
-// node_modules/undici/lib/pool.js
-var require_pool2 = __commonJS({
-  "node_modules/undici/lib/pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js
+var require_pluralizer2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
     "use strict";
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Client = require_client2();
-    var {
-      InvalidArgumentError
-    } = require_errors2();
-    var util = require_util9();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var buildConnector = require_connect2();
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kConnections = /* @__PURE__ */ Symbol("connections");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    function defaultFactory(origin, opts) {
-      return new Client(origin, opts);
-    }
-    var Pool = class extends PoolBase {
-      constructor(origin, {
-        connections,
-        factory = defaultFactory,
-        connect,
-        connectTimeout,
-        tls,
-        maxCachedSessions,
-        socketPath,
-        autoSelectFamily,
-        autoSelectFamilyAttemptTimeout,
-        allowH2,
-        ...options
-      } = {}) {
-        super();
-        if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
-          throw new InvalidArgumentError("invalid connections");
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (typeof connect !== "function") {
-          connect = buildConnector({
-            ...tls,
-            maxCachedSessions,
-            allowH2,
-            socketPath,
-            timeout: connectTimeout,
-            ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
-            ...connect
-          });
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
-        this[kConnections] = connections || null;
-        this[kUrl] = util.parseOrigin(origin);
-        this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kFactory] = factory;
-        this.on("connectionError", (origin2, targets, error3) => {
-          for (const target of targets) {
-            const idx = this[kClients].indexOf(target);
-            if (idx !== -1) {
-              this[kClients].splice(idx, 1);
-            }
+    var singulars = {
+      pronoun: "it",
+      is: "is",
+      was: "was",
+      this: "this"
+    };
+    var plurals = {
+      pronoun: "they",
+      is: "are",
+      was: "were",
+      this: "these"
+    };
+    module2.exports = class Pluralizer {
+      constructor(singular, plural) {
+        this.singular = singular;
+        this.plural = plural;
+      }
+      pluralize(count) {
+        const one = count === 1;
+        const keys = one ? singulars : plurals;
+        const noun = one ? this.singular : this.plural;
+        return { ...keys, count, noun };
+      }
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js
+var require_pending_interceptors_formatter2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
+    "use strict";
+    var { Transform } = require("node:stream");
+    var { Console } = require("node:console");
+    var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
+    var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
+    module2.exports = class PendingInterceptorsFormatter {
+      constructor({ disableColors } = {}) {
+        this.transform = new Transform({
+          transform(chunk, _enc, cb) {
+            cb(null, chunk);
+          }
+        });
+        this.logger = new Console({
+          stdout: this.transform,
+          inspectOptions: {
+            colors: !disableColors && !process.env.CI
           }
         });
       }
-      [kGetDispatcher]() {
-        let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);
-        if (dispatcher) {
-          return dispatcher;
-        }
-        if (!this[kConnections] || this[kClients].length < this[kConnections]) {
-          dispatcher = this[kFactory](this[kUrl], this[kOptions]);
-          this[kAddClient](dispatcher);
-        }
-        return dispatcher;
+      format(pendingInterceptors) {
+        const withPrettyHeaders = pendingInterceptors.map(
+          ({ method, path: path12, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
+            Method: method,
+            Origin: origin,
+            Path: path12,
+            "Status code": statusCode,
+            Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
+            Invocations: timesInvoked,
+            Remaining: persist ? Infinity : times - timesInvoked
+          })
+        );
+        this.logger.table(withPrettyHeaders);
+        return this.transform.read().toString();
       }
     };
-    module2.exports = Pool;
   }
 });
 
-// node_modules/undici/lib/balanced-pool.js
-var require_balanced_pool2 = __commonJS({
-  "node_modules/undici/lib/balanced-pool.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js
+var require_mock_agent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
     "use strict";
+    var { kClients } = require_symbols6();
+    var Agent = require_agent2();
     var {
-      BalancedPoolMissingUpstreamError,
-      InvalidArgumentError
-    } = require_errors2();
-    var {
-      PoolBase,
-      kClients,
-      kNeedDrain,
-      kAddClient,
-      kRemoveClient,
-      kGetDispatcher
-    } = require_pool_base2();
-    var Pool = require_pool2();
-    var { kUrl, kInterceptors } = require_symbols6();
-    var { parseOrigin } = require_util9();
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
-    var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
-    var kIndex = /* @__PURE__ */ Symbol("kIndex");
-    var kWeight = /* @__PURE__ */ Symbol("kWeight");
-    var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
-    var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
-    function getGreatestCommonDivisor(a, b) {
-      if (b === 0) return a;
-      return getGreatestCommonDivisor(b, a % b);
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var BalancedPool = class extends PoolBase {
-      constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
-        super();
-        this[kOptions] = opts;
-        this[kIndex] = -1;
-        this[kCurrentWeight] = 0;
-        this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
-        this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
-        if (!Array.isArray(upstreams)) {
-          upstreams = [upstreams];
-        }
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : [];
-        this[kFactory] = factory;
-        for (const upstream of upstreams) {
-          this.addUpstream(upstream);
+      kAgent,
+      kMockAgentSet,
+      kMockAgentGet,
+      kDispatches,
+      kIsMockActive,
+      kNetConnect,
+      kGetNetConnect,
+      kOptions,
+      kFactory
+    } = require_mock_symbols2();
+    var MockClient = require_mock_client2();
+    var MockPool = require_mock_pool2();
+    var { matchValue, buildMockOptions } = require_mock_utils2();
+    var { InvalidArgumentError, UndiciError } = require_errors2();
+    var Dispatcher = require_dispatcher2();
+    var Pluralizer = require_pluralizer2();
+    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
+    var MockAgent = class extends Dispatcher {
+      constructor(opts) {
+        super(opts);
+        this[kNetConnect] = true;
+        this[kIsMockActive] = true;
+        if (opts?.agent && typeof opts.agent.dispatch !== "function") {
+          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
         }
-        this._updateBalancedPoolStats();
+        const agent = opts?.agent ? opts.agent : new Agent(opts);
+        this[kAgent] = agent;
+        this[kClients] = agent[kClients];
+        this[kOptions] = buildMockOptions(opts);
       }
-      addUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
-          return this;
+      get(origin) {
+        let dispatcher = this[kMockAgentGet](origin);
+        if (!dispatcher) {
+          dispatcher = this[kFactory](origin);
+          this[kMockAgentSet](origin, dispatcher);
         }
-        const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
-        this[kAddClient](pool);
-        pool.on("connect", () => {
-          pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
-        });
-        pool.on("connectionError", () => {
-          pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-          this._updateBalancedPoolStats();
-        });
-        pool.on("disconnect", (...args) => {
-          const err = args[2];
-          if (err && err.code === "UND_ERR_SOCKET") {
-            pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
-            this._updateBalancedPoolStats();
+        return dispatcher;
+      }
+      dispatch(opts, handler2) {
+        this.get(opts.origin);
+        return this[kAgent].dispatch(opts, handler2);
+      }
+      async close() {
+        await this[kAgent].close();
+        this[kClients].clear();
+      }
+      deactivate() {
+        this[kIsMockActive] = false;
+      }
+      activate() {
+        this[kIsMockActive] = true;
+      }
+      enableNetConnect(matcher) {
+        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
+          if (Array.isArray(this[kNetConnect])) {
+            this[kNetConnect].push(matcher);
+          } else {
+            this[kNetConnect] = [matcher];
           }
-        });
-        for (const client of this[kClients]) {
-          client[kWeight] = this[kMaxWeightPerServer];
+        } else if (typeof matcher === "undefined") {
+          this[kNetConnect] = true;
+        } else {
+          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
         }
-        this._updateBalancedPoolStats();
-        return this;
       }
-      _updateBalancedPoolStats() {
-        this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0);
+      disableNetConnect() {
+        this[kNetConnect] = false;
       }
-      removeUpstream(upstream) {
-        const upstreamOrigin = parseOrigin(upstream).origin;
-        const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
-        if (pool) {
-          this[kRemoveClient](pool);
-        }
-        return this;
+      // This is required to bypass issues caused by using global symbols - see:
+      // https://github.com/nodejs/undici/issues/1447
+      get isMockActive() {
+        return this[kIsMockActive];
       }
-      get upstreams() {
-        return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
+      [kMockAgentSet](origin, dispatcher) {
+        this[kClients].set(origin, dispatcher);
       }
-      [kGetDispatcher]() {
-        if (this[kClients].length === 0) {
-          throw new BalancedPoolMissingUpstreamError();
-        }
-        const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
-        if (!dispatcher) {
-          return;
+      [kFactory](origin) {
+        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
+        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      }
+      [kMockAgentGet](origin) {
+        const client = this[kClients].get(origin);
+        if (client) {
+          return client;
         }
-        const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
-        if (allClientsBusy) {
-          return;
+        if (typeof origin !== "string") {
+          const dispatcher = this[kFactory]("http://localhost:9999");
+          this[kMockAgentSet](origin, dispatcher);
+          return dispatcher;
         }
-        let counter = 0;
-        let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
-        while (counter++ < this[kClients].length) {
-          this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
-          const pool = this[kClients][this[kIndex]];
-          if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
-            maxWeightIndex = this[kIndex];
-          }
-          if (this[kIndex] === 0) {
-            this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
-            if (this[kCurrentWeight] <= 0) {
-              this[kCurrentWeight] = this[kMaxWeightPerServer];
-            }
-          }
-          if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
-            return pool;
+        for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {
+          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
+            const dispatcher = this[kFactory](origin);
+            this[kMockAgentSet](origin, dispatcher);
+            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
+            return dispatcher;
           }
         }
-        this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
-        this[kIndex] = maxWeightIndex;
-        return this[kClients][maxWeightIndex];
-      }
-    };
-    module2.exports = BalancedPool;
-  }
-});
-
-// node_modules/undici/lib/compat/dispatcher-weakref.js
-var require_dispatcher_weakref2 = __commonJS({
-  "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) {
-    "use strict";
-    var { kConnected, kSize } = require_symbols6();
-    var CompatWeakRef = class {
-      constructor(value) {
-        this.value = value;
       }
-      deref() {
-        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
+      [kGetNetConnect]() {
+        return this[kNetConnect];
       }
-    };
-    var CompatFinalizer = class {
-      constructor(finalizer) {
-        this.finalizer = finalizer;
+      pendingInterceptors() {
+        const mockAgentClients = this[kClients];
+        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
       }
-      register(dispatcher, key) {
-        if (dispatcher.on) {
-          dispatcher.on("disconnect", () => {
-            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
-              this.finalizer(key);
-            }
-          });
+      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
+        const pending = this.pendingInterceptors();
+        if (pending.length === 0) {
+          return;
         }
+        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
+        throw new UndiciError(`
+${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
+
+${pendingInterceptorsFormatter.format(pending)}
+`.trim());
       }
     };
-    module2.exports = function() {
-      if (process.env.NODE_V8_COVERAGE) {
-        return {
-          WeakRef: CompatWeakRef,
-          FinalizationRegistry: CompatFinalizer
-        };
-      }
-      return {
-        WeakRef: global.WeakRef || CompatWeakRef,
-        FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer
-      };
-    };
+    module2.exports = MockAgent;
   }
 });
 
-// node_modules/undici/lib/agent.js
-var require_agent2 = __commonJS({
-  "node_modules/undici/lib/agent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/global.js
+var require_global4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/global.js"(exports2, module2) {
     "use strict";
+    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
     var { InvalidArgumentError } = require_errors2();
-    var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols6();
-    var DispatcherBase = require_dispatcher_base2();
-    var Pool = require_pool2();
-    var Client = require_client2();
-    var util = require_util9();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var { WeakRef: WeakRef2, FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
-    var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
-    var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
-    var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
-    var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
-    var kFactory = /* @__PURE__ */ Symbol("factory");
-    var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
-    var kOptions = /* @__PURE__ */ Symbol("options");
-    function defaultFactory(origin, opts) {
-      return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
+    var Agent = require_agent2();
+    if (getGlobalDispatcher() === void 0) {
+      setGlobalDispatcher(new Agent());
     }
-    var Agent = class extends DispatcherBase {
-      constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
-        super();
-        if (typeof factory !== "function") {
-          throw new InvalidArgumentError("factory must be a function.");
-        }
-        if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
-          throw new InvalidArgumentError("connect must be a function or an object");
-        }
-        if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
-          throw new InvalidArgumentError("maxRedirections must be a positive number");
-        }
-        if (connect && typeof connect !== "function") {
-          connect = { ...connect };
-        }
-        this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
-        this[kOptions] = { ...util.deepClone(options), connect };
-        this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
-        this[kMaxRedirections] = maxRedirections;
-        this[kFactory] = factory;
-        this[kClients] = /* @__PURE__ */ new Map();
-        this[kFinalizer] = new FinalizationRegistry2(
-          /* istanbul ignore next: gc is undeterministic */
-          (key) => {
-            const ref = this[kClients].get(key);
-            if (ref !== void 0 && ref.deref() === void 0) {
-              this[kClients].delete(key);
-            }
-          }
-        );
-        const agent = this;
-        this[kOnDrain] = (origin, targets) => {
-          agent.emit("drain", origin, [agent, ...targets]);
-        };
-        this[kOnConnect] = (origin, targets) => {
-          agent.emit("connect", origin, [agent, ...targets]);
-        };
-        this[kOnDisconnect] = (origin, targets, err) => {
-          agent.emit("disconnect", origin, [agent, ...targets], err);
-        };
-        this[kOnConnectionError] = (origin, targets, err) => {
-          agent.emit("connectionError", origin, [agent, ...targets], err);
-        };
+    function setGlobalDispatcher(agent) {
+      if (!agent || typeof agent.dispatch !== "function") {
+        throw new InvalidArgumentError("Argument agent must implement Agent");
       }
-      get [kRunning]() {
-        let ret = 0;
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            ret += client[kRunning];
-          }
+      Object.defineProperty(globalThis, globalDispatcher, {
+        value: agent,
+        writable: true,
+        enumerable: false,
+        configurable: false
+      });
+    }
+    function getGlobalDispatcher() {
+      return globalThis[globalDispatcher];
+    }
+    module2.exports = {
+      setGlobalDispatcher,
+      getGlobalDispatcher
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js
+var require_decorator_handler2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
+    "use strict";
+    module2.exports = class DecoratorHandler {
+      #handler;
+      constructor(handler2) {
+        if (typeof handler2 !== "object" || handler2 === null) {
+          throw new TypeError("handler must be an object");
         }
-        return ret;
+        this.#handler = handler2;
       }
-      [kDispatch](opts, handler2) {
-        let key;
-        if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
-          key = String(opts.origin);
-        } else {
-          throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
-        }
-        const ref = this[kClients].get(key);
-        let dispatcher = ref ? ref.deref() : null;
-        if (!dispatcher) {
-          dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
-          this[kClients].set(key, new WeakRef2(dispatcher));
-          this[kFinalizer].register(dispatcher, key);
-        }
-        return dispatcher.dispatch(opts, handler2);
+      onConnect(...args) {
+        return this.#handler.onConnect?.(...args);
       }
-      async [kClose]() {
-        const closePromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            closePromises.push(client.close());
-          }
-        }
-        await Promise.all(closePromises);
+      onError(...args) {
+        return this.#handler.onError?.(...args);
       }
-      async [kDestroy](err) {
-        const destroyPromises = [];
-        for (const ref of this[kClients].values()) {
-          const client = ref.deref();
-          if (client) {
-            destroyPromises.push(client.destroy(err));
-          }
-        }
-        await Promise.all(destroyPromises);
+      onUpgrade(...args) {
+        return this.#handler.onUpgrade?.(...args);
+      }
+      onResponseStarted(...args) {
+        return this.#handler.onResponseStarted?.(...args);
+      }
+      onHeaders(...args) {
+        return this.#handler.onHeaders?.(...args);
+      }
+      onData(...args) {
+        return this.#handler.onData?.(...args);
+      }
+      onComplete(...args) {
+        return this.#handler.onComplete?.(...args);
+      }
+      onBodySent(...args) {
+        return this.#handler.onBodySent?.(...args);
       }
     };
-    module2.exports = Agent;
   }
 });
 
-// node_modules/undici/lib/api/readable.js
-var require_readable2 = __commonJS({
-  "node_modules/undici/lib/api/readable.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js
+var require_redirect2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { Readable: Readable2 } = require("stream");
-    var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors2();
-    var util = require_util9();
-    var { ReadableStreamFrom, toUSVString } = require_util9();
-    var Blob2;
-    var kConsume = /* @__PURE__ */ Symbol("kConsume");
-    var kReading = /* @__PURE__ */ Symbol("kReading");
-    var kBody = /* @__PURE__ */ Symbol("kBody");
-    var kAbort = /* @__PURE__ */ Symbol("abort");
-    var kContentType = /* @__PURE__ */ Symbol("kContentType");
-    var noop3 = () => {
+    var RedirectHandler = require_redirect_handler2();
+    module2.exports = (opts) => {
+      const globalMaxRedirections = opts?.maxRedirections;
+      return (dispatch) => {
+        return function redirectInterceptor(opts2, handler2) {
+          const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts2;
+          if (!maxRedirections) {
+            return dispatch(opts2, handler2);
+          }
+          const redirectHandler = new RedirectHandler(
+            dispatch,
+            maxRedirections,
+            opts2,
+            handler2
+          );
+          return dispatch(baseOpts, redirectHandler);
+        };
+      };
     };
-    module2.exports = class BodyReadable extends Readable2 {
-      constructor({
-        resume,
-        abort,
-        contentType = "",
-        highWaterMark = 64 * 1024
-        // Same as nodejs fs streams.
-      }) {
-        super({
-          autoDestroy: true,
-          read: resume,
-          highWaterMark
-        });
-        this._readableState.dataEmitted = false;
-        this[kAbort] = abort;
-        this[kConsume] = null;
-        this[kBody] = null;
-        this[kContentType] = contentType;
-        this[kReading] = false;
-      }
-      destroy(err) {
-        if (this.destroyed) {
-          return this;
-        }
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
-        }
-        if (err) {
-          this[kAbort]();
-        }
-        return super.destroy(err);
-      }
-      emit(ev, ...args) {
-        if (ev === "data") {
-          this._readableState.dataEmitted = true;
-        } else if (ev === "error") {
-          this._readableState.errorEmitted = true;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js
+var require_retry2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
+    "use strict";
+    var RetryHandler = require_retry_handler2();
+    module2.exports = (globalOpts) => {
+      return (dispatch) => {
+        return function retryInterceptor(opts, handler2) {
+          return dispatch(
+            opts,
+            new RetryHandler(
+              { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
+              {
+                handler: handler2,
+                dispatch
+              }
+            )
+          );
+        };
+      };
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js
+var require_dump2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
+    "use strict";
+    var util = require_util9();
+    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
+    var DecoratorHandler = require_decorator_handler2();
+    var DumpHandler = class extends DecoratorHandler {
+      #maxSize = 1024 * 1024;
+      #abort = null;
+      #dumped = false;
+      #aborted = false;
+      #size = 0;
+      #reason = null;
+      #handler = null;
+      constructor({ maxSize }, handler2) {
+        super(handler2);
+        if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
+          throw new InvalidArgumentError("maxSize must be a number greater than 0");
         }
-        return super.emit(ev, ...args);
+        this.#maxSize = maxSize ?? this.#maxSize;
+        this.#handler = handler2;
       }
-      on(ev, ...args) {
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = true;
-        }
-        return super.on(ev, ...args);
+      onConnect(abort) {
+        this.#abort = abort;
+        this.#handler.onConnect(this.#customAbort.bind(this));
       }
-      addListener(ev, ...args) {
-        return this.on(ev, ...args);
+      #customAbort(reason) {
+        this.#aborted = true;
+        this.#reason = reason;
       }
-      off(ev, ...args) {
-        const ret = super.off(ev, ...args);
-        if (ev === "data" || ev === "readable") {
-          this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
+      // TODO: will require adjustment after new hooks are out
+      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
+        const headers = util.parseHeaders(rawHeaders);
+        const contentLength = headers["content-length"];
+        if (contentLength != null && contentLength > this.#maxSize) {
+          throw new RequestAbortedError(
+            `Response size (${contentLength}) larger than maxSize (${this.#maxSize})`
+          );
         }
-        return ret;
-      }
-      removeListener(ev, ...args) {
-        return this.off(ev, ...args);
-      }
-      push(chunk) {
-        if (this[kConsume] && chunk !== null && this.readableLength === 0) {
-          consumePush(this[kConsume], chunk);
-          return this[kReading] ? super.push(chunk) : true;
+        if (this.#aborted) {
+          return true;
         }
-        return super.push(chunk);
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-text
-      async text() {
-        return consume(this, "text");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-json
-      async json() {
-        return consume(this, "json");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-blob
-      async blob() {
-        return consume(this, "blob");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-arraybuffer
-      async arrayBuffer() {
-        return consume(this, "arrayBuffer");
-      }
-      // https://fetch.spec.whatwg.org/#dom-body-formdata
-      async formData() {
-        throw new NotSupportedError();
+        return this.#handler.onHeaders(
+          statusCode,
+          rawHeaders,
+          resume,
+          statusMessage
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-body-bodyused
-      get bodyUsed() {
-        return util.isDisturbed(this);
+      onError(err) {
+        if (this.#dumped) {
+          return;
+        }
+        err = this.#reason ?? err;
+        this.#handler.onError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-body-body
-      get body() {
-        if (!this[kBody]) {
-          this[kBody] = ReadableStreamFrom(this);
-          if (this[kConsume]) {
-            this[kBody].getReader();
-            assert(this[kBody].locked);
+      onData(chunk) {
+        this.#size = this.#size + chunk.length;
+        if (this.#size >= this.#maxSize) {
+          this.#dumped = true;
+          if (this.#aborted) {
+            this.#handler.onError(this.#reason);
+          } else {
+            this.#handler.onComplete([]);
           }
         }
-        return this[kBody];
+        return true;
       }
-      dump(opts) {
-        let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144;
-        const signal = opts && opts.signal;
-        if (signal) {
-          try {
-            if (typeof signal !== "object" || !("aborted" in signal)) {
-              throw new InvalidArgumentError("signal must be an AbortSignal");
-            }
-            util.throwIfAborted(signal);
-          } catch (err) {
-            return Promise.reject(err);
-          }
+      onComplete(trailers) {
+        if (this.#dumped) {
+          return;
         }
-        if (this.closed) {
-          return Promise.resolve(null);
+        if (this.#aborted) {
+          this.#handler.onError(this.reason);
+          return;
         }
-        return new Promise((resolve6, reject) => {
-          const signalListenerCleanup = signal ? util.addAbortListener(signal, () => {
-            this.destroy();
-          }) : noop3;
-          this.on("close", function() {
-            signalListenerCleanup();
-            if (signal && signal.aborted) {
-              reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" }));
-            } else {
-              resolve6(null);
-            }
-          }).on("error", noop3).on("data", function(chunk) {
-            limit -= chunk.length;
-            if (limit <= 0) {
-              this.destroy();
-            }
-          }).resume();
-        });
+        this.#handler.onComplete(trailers);
       }
     };
-    function isLocked(self2) {
-      return self2[kBody] && self2[kBody].locked === true || self2[kConsume];
-    }
-    function isUnusable(self2) {
-      return util.isDisturbed(self2) || isLocked(self2);
-    }
-    async function consume(stream2, type2) {
-      if (isUnusable(stream2)) {
-        throw new TypeError("unusable");
-      }
-      assert(!stream2[kConsume]);
-      return new Promise((resolve6, reject) => {
-        stream2[kConsume] = {
-          type: type2,
-          stream: stream2,
-          resolve: resolve6,
-          reject,
-          length: 0,
-          body: []
+    function createDumpInterceptor({ maxSize: defaultMaxSize } = {
+      maxSize: 1024 * 1024
+    }) {
+      return (dispatch) => {
+        return function Intercept(opts, handler2) {
+          const { dumpMaxSize = defaultMaxSize } = opts;
+          const dumpHandler = new DumpHandler(
+            { maxSize: dumpMaxSize },
+            handler2
+          );
+          return dispatch(opts, dumpHandler);
         };
-        stream2.on("error", function(err) {
-          consumeFinish(this[kConsume], err);
-        }).on("close", function() {
-          if (this[kConsume].body !== null) {
-            consumeFinish(this[kConsume], new RequestAbortedError());
-          }
-        });
-        process.nextTick(consumeStart, stream2[kConsume]);
-      });
+      };
     }
-    function consumeStart(consume2) {
-      if (consume2.body === null) {
-        return;
+    module2.exports = createDumpInterceptor;
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js
+var require_dns2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
+    "use strict";
+    var { isIP } = require("node:net");
+    var { lookup } = require("node:dns");
+    var DecoratorHandler = require_decorator_handler2();
+    var { InvalidArgumentError, InformationalError } = require_errors2();
+    var maxInt = Math.pow(2, 31) - 1;
+    var DNSInstance = class {
+      #maxTTL = 0;
+      #maxItems = 0;
+      #records = /* @__PURE__ */ new Map();
+      dualStack = true;
+      affinity = null;
+      lookup = null;
+      pick = null;
+      constructor(opts) {
+        this.#maxTTL = opts.maxTTL;
+        this.#maxItems = opts.maxItems;
+        this.dualStack = opts.dualStack;
+        this.affinity = opts.affinity;
+        this.lookup = opts.lookup ?? this.#defaultLookup;
+        this.pick = opts.pick ?? this.#defaultPick;
       }
-      const { _readableState: state } = consume2.stream;
-      for (const chunk of state.buffer) {
-        consumePush(consume2, chunk);
+      get full() {
+        return this.#records.size === this.#maxItems;
       }
-      if (state.endEmitted) {
-        consumeEnd(this[kConsume]);
-      } else {
-        consume2.stream.on("end", function() {
-          consumeEnd(this[kConsume]);
-        });
+      runLookup(origin, opts, cb) {
+        const ips = this.#records.get(origin.hostname);
+        if (ips == null && this.full) {
+          cb(null, origin.origin);
+          return;
+        }
+        const newOpts = {
+          affinity: this.affinity,
+          dualStack: this.dualStack,
+          lookup: this.lookup,
+          pick: this.pick,
+          ...opts.dns,
+          maxTTL: this.#maxTTL,
+          maxItems: this.#maxItems
+        };
+        if (ips == null) {
+          this.lookup(origin, newOpts, (err, addresses) => {
+            if (err || addresses == null || addresses.length === 0) {
+              cb(err ?? new InformationalError("No DNS entries found"));
+              return;
+            }
+            this.setRecords(origin, addresses);
+            const records = this.#records.get(origin.hostname);
+            const ip = this.pick(
+              origin,
+              records,
+              newOpts.affinity
+            );
+            let port;
+            if (typeof ip.port === "number") {
+              port = `:${ip.port}`;
+            } else if (origin.port !== "") {
+              port = `:${origin.port}`;
+            } else {
+              port = "";
+            }
+            cb(
+              null,
+              `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+            );
+          });
+        } else {
+          const ip = this.pick(
+            origin,
+            ips,
+            newOpts.affinity
+          );
+          if (ip == null) {
+            this.#records.delete(origin.hostname);
+            this.runLookup(origin, opts, cb);
+            return;
+          }
+          let port;
+          if (typeof ip.port === "number") {
+            port = `:${ip.port}`;
+          } else if (origin.port !== "") {
+            port = `:${origin.port}`;
+          } else {
+            port = "";
+          }
+          cb(
+            null,
+            `${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
+          );
+        }
       }
-      consume2.stream.resume();
-      while (consume2.stream.read() != null) {
+      #defaultLookup(origin, opts, cb) {
+        lookup(
+          origin.hostname,
+          {
+            all: true,
+            family: this.dualStack === false ? this.affinity : 0,
+            order: "ipv4first"
+          },
+          (err, addresses) => {
+            if (err) {
+              return cb(err);
+            }
+            const results = /* @__PURE__ */ new Map();
+            for (const addr of addresses) {
+              results.set(`${addr.address}:${addr.family}`, addr);
+            }
+            cb(null, results.values());
+          }
+        );
       }
-    }
-    function consumeEnd(consume2) {
-      const { type: type2, body, resolve: resolve6, stream: stream2, length } = consume2;
-      try {
-        if (type2 === "text") {
-          resolve6(toUSVString(Buffer.concat(body)));
-        } else if (type2 === "json") {
-          resolve6(JSON.parse(Buffer.concat(body)));
-        } else if (type2 === "arrayBuffer") {
-          const dst = new Uint8Array(length);
-          let pos = 0;
-          for (const buf of body) {
-            dst.set(buf, pos);
-            pos += buf.byteLength;
+      #defaultPick(origin, hostnameRecords, affinity) {
+        let ip = null;
+        const { records, offset } = hostnameRecords;
+        let family;
+        if (this.dualStack) {
+          if (affinity == null) {
+            if (offset == null || offset === maxInt) {
+              hostnameRecords.offset = 0;
+              affinity = 4;
+            } else {
+              hostnameRecords.offset++;
+              affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
+            }
           }
-          resolve6(dst.buffer);
-        } else if (type2 === "blob") {
-          if (!Blob2) {
-            Blob2 = require("buffer").Blob;
+          if (records[affinity] != null && records[affinity].ips.length > 0) {
+            family = records[affinity];
+          } else {
+            family = records[affinity === 4 ? 6 : 4];
           }
-          resolve6(new Blob2(body, { type: stream2[kContentType] }));
+        } else {
+          family = records[affinity];
         }
-        consumeFinish(consume2);
-      } catch (err) {
-        stream2.destroy(err);
+        if (family == null || family.ips.length === 0) {
+          return ip;
+        }
+        if (family.offset == null || family.offset === maxInt) {
+          family.offset = 0;
+        } else {
+          family.offset++;
+        }
+        const position = family.offset % family.ips.length;
+        ip = family.ips[position] ?? null;
+        if (ip == null) {
+          return ip;
+        }
+        if (Date.now() - ip.timestamp > ip.ttl) {
+          family.ips.splice(position, 1);
+          return this.pick(origin, hostnameRecords, affinity);
+        }
+        return ip;
       }
-    }
-    function consumePush(consume2, chunk) {
-      consume2.length += chunk.length;
-      consume2.body.push(chunk);
-    }
-    function consumeFinish(consume2, err) {
-      if (consume2.body === null) {
-        return;
+      setRecords(origin, addresses) {
+        const timestamp2 = Date.now();
+        const records = { records: { 4: null, 6: null } };
+        for (const record of addresses) {
+          record.timestamp = timestamp2;
+          if (typeof record.ttl === "number") {
+            record.ttl = Math.min(record.ttl, this.#maxTTL);
+          } else {
+            record.ttl = this.#maxTTL;
+          }
+          const familyRecords = records.records[record.family] ?? { ips: [] };
+          familyRecords.ips.push(record);
+          records.records[record.family] = familyRecords;
+        }
+        this.#records.set(origin.hostname, records);
       }
-      if (err) {
-        consume2.reject(err);
-      } else {
-        consume2.resolve();
+      getHandler(meta, opts) {
+        return new DNSDispatchHandler(this, meta, opts);
       }
-      consume2.type = null;
-      consume2.stream = null;
-      consume2.resolve = null;
-      consume2.reject = null;
-      consume2.length = 0;
-      consume2.body = null;
-    }
-  }
-});
-
-// node_modules/undici/lib/api/util.js
-var require_util11 = __commonJS({
-  "node_modules/undici/lib/api/util.js"(exports2, module2) {
-    var assert = require("assert");
-    var {
-      ResponseStatusCodeError
-    } = require_errors2();
-    var { toUSVString } = require_util9();
-    async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
-      assert(body);
-      let chunks = [];
-      let limit = 0;
-      for await (const chunk of body) {
-        chunks.push(chunk);
-        limit += chunk.length;
-        if (limit > 128 * 1024) {
-          chunks = null;
-          break;
+    };
+    var DNSDispatchHandler = class extends DecoratorHandler {
+      #state = null;
+      #opts = null;
+      #dispatch = null;
+      #handler = null;
+      #origin = null;
+      constructor(state, { origin, handler: handler2, dispatch }, opts) {
+        super(handler2);
+        this.#origin = origin;
+        this.#handler = handler2;
+        this.#opts = { ...opts };
+        this.#state = state;
+        this.#dispatch = dispatch;
+      }
+      onError(err) {
+        switch (err.code) {
+          case "ETIMEDOUT":
+          case "ECONNREFUSED": {
+            if (this.#state.dualStack) {
+              this.#state.runLookup(this.#origin, this.#opts, (err2, newOrigin) => {
+                if (err2) {
+                  return this.#handler.onError(err2);
+                }
+                const dispatchOpts = {
+                  ...this.#opts,
+                  origin: newOrigin
+                };
+                this.#dispatch(dispatchOpts, this);
+              });
+              return;
+            }
+            this.#handler.onError(err);
+            return;
+          }
+          case "ENOTFOUND":
+            this.#state.deleteRecord(this.#origin);
+          // eslint-disable-next-line no-fallthrough
+          default:
+            this.#handler.onError(err);
+            break;
         }
       }
-      if (statusCode === 204 || !contentType || !chunks) {
-        process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-        return;
+    };
+    module2.exports = (interceptorOpts) => {
+      if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
+        throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
       }
-      try {
-        if (contentType.startsWith("application/json")) {
-          const payload = JSON.parse(toUSVString(Buffer.concat(chunks)));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-        if (contentType.startsWith("text/")) {
-          const payload = toUSVString(Buffer.concat(chunks));
-          process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload));
-          return;
-        }
-      } catch (err) {
+      if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
+        throw new InvalidArgumentError(
+          "Invalid maxItems. Must be a positive number and greater than zero"
+        );
       }
-      process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers));
-    }
-    module2.exports = { getResolveErrorBodyCallback };
-  }
-});
-
-// node_modules/undici/lib/api/abort-signal.js
-var require_abort_signal2 = __commonJS({
-  "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
-    var { addAbortListener } = require_util9();
-    var { RequestAbortedError } = require_errors2();
-    var kListener = /* @__PURE__ */ Symbol("kListener");
-    var kSignal = /* @__PURE__ */ Symbol("kSignal");
-    function abort(self2) {
-      if (self2.abort) {
-        self2.abort();
-      } else {
-        self2.onError(new RequestAbortedError());
+      if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
+        throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
       }
-    }
-    function addSignal(self2, signal) {
-      self2[kSignal] = null;
-      self2[kListener] = null;
-      if (!signal) {
-        return;
+      if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
+        throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
       }
-      if (signal.aborted) {
-        abort(self2);
-        return;
+      if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
+        throw new InvalidArgumentError("Invalid lookup. Must be a function");
       }
-      self2[kSignal] = signal;
-      self2[kListener] = () => {
-        abort(self2);
-      };
-      addAbortListener(self2[kSignal], self2[kListener]);
-    }
-    function removeSignal(self2) {
-      if (!self2[kSignal]) {
-        return;
+      if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
+        throw new InvalidArgumentError("Invalid pick. Must be a function");
       }
-      if ("removeEventListener" in self2[kSignal]) {
-        self2[kSignal].removeEventListener("abort", self2[kListener]);
+      const dualStack = interceptorOpts?.dualStack ?? true;
+      let affinity;
+      if (dualStack) {
+        affinity = interceptorOpts?.affinity ?? null;
       } else {
-        self2[kSignal].removeListener("abort", self2[kListener]);
+        affinity = interceptorOpts?.affinity ?? 4;
       }
-      self2[kSignal] = null;
-      self2[kListener] = null;
-    }
-    module2.exports = {
-      addSignal,
-      removeSignal
+      const opts = {
+        maxTTL: interceptorOpts?.maxTTL ?? 1e4,
+        // Expressed in ms
+        lookup: interceptorOpts?.lookup ?? null,
+        pick: interceptorOpts?.pick ?? null,
+        dualStack,
+        affinity,
+        maxItems: interceptorOpts?.maxItems ?? Infinity
+      };
+      const instance = new DNSInstance(opts);
+      return (dispatch) => {
+        return function dnsInterceptor(origDispatchOpts, handler2) {
+          const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
+          if (isIP(origin.hostname) !== 0) {
+            return dispatch(origDispatchOpts, handler2);
+          }
+          instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
+            if (err) {
+              return handler2.onError(err);
+            }
+            let dispatchOpts = null;
+            dispatchOpts = {
+              ...origDispatchOpts,
+              servername: origin.hostname,
+              // For SNI on TLS
+              origin: newOrigin,
+              headers: {
+                host: origin.hostname,
+                ...origDispatchOpts.headers
+              }
+            };
+            dispatch(
+              dispatchOpts,
+              instance.getHandler({ origin, dispatch, handler: handler2 }, origDispatchOpts)
+            );
+          });
+          return true;
+        };
+      };
     };
   }
 });
 
-// node_modules/undici/lib/api/api-request.js
-var require_api_request2 = __commonJS({
-  "node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js
+var require_headers2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
     "use strict";
-    var Readable2 = require_readable2();
+    var { kConstruct } = require_symbols6();
+    var { kEnumerableProperty } = require_util9();
     var {
-      InvalidArgumentError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var RequestHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
-            throw new InvalidArgumentError("invalid highWaterMark");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_REQUEST");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      iteratorMixin,
+      isValidHeaderName,
+      isValidHeaderValue
+    } = require_util10();
+    var { webidl } = require_webidl2();
+    var assert = require("node:assert");
+    var util = require("node:util");
+    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
+    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
+    function isHTTPWhiteSpaceCharCode(code) {
+      return code === 10 || code === 13 || code === 9 || code === 32;
+    }
+    function headerValueNormalize(potentialValue) {
+      let i = 0;
+      let j = potentialValue.length;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
+      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
+      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
+    }
+    function fill(headers, object) {
+      if (Array.isArray(object)) {
+        for (let i = 0; i < object.length; ++i) {
+          const header = object[i];
+          if (header.length !== 2) {
+            throw webidl.errors.exception({
+              header: "Headers constructor",
+              message: `expected name/value pair to be length 2, found ${header.length}.`
+            });
           }
-          throw err;
+          appendHeader(headers, header[0], header[1]);
         }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.body = body;
-        this.trailers = {};
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError;
-        this.highWaterMark = highWaterMark;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
+      } else if (typeof object === "object" && object !== null) {
+        const keys = Object.keys(object);
+        for (let i = 0; i < keys.length; ++i) {
+          appendHeader(headers, keys[i], object[keys[i]]);
         }
-        addSignal(this, signal);
+      } else {
+        throw webidl.errors.conversionFailed({
+          prefix: "Headers constructor",
+          argument: "Argument 1",
+          types: ["sequence>", "record"]
+        });
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+    }
+    function appendHeader(headers, name, value) {
+      value = headerValueNormalize(value);
+      if (!isValidHeaderName(name)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value: name,
+          type: "header name"
+        });
+      } else if (!isValidHeaderValue(value)) {
+        throw webidl.errors.invalidArgument({
+          prefix: "Headers.append",
+          value,
+          type: "header value"
+        });
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { callback, opaque, abort, context: context2, responseHeaders, highWaterMark } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
-          }
-          return;
-        }
-        const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-        const contentType = parsedHeaders["content-type"];
-        const body = new Readable2({ resume, abort, contentType, highWaterMark });
-        this.callback = null;
-        this.res = body;
-        if (callback !== null) {
-          if (this.throwOnError && statusCode >= 400) {
-            this.runInAsyncScope(
-              getResolveErrorBodyCallback,
-              null,
-              { callback, body, contentType, statusCode, statusMessage, headers }
-            );
-          } else {
-            this.runInAsyncScope(callback, null, null, {
-              statusCode,
-              headers,
-              trailers: this.trailers,
-              opaque,
-              body,
-              context: context2
-            });
-          }
+      if (getHeadersGuard(headers) === "immutable") {
+        throw new TypeError("immutable");
+      }
+      return getHeadersList(headers).append(name, value, false);
+    }
+    function compareHeaderName(a, b) {
+      return a[0] < b[0] ? -1 : 1;
+    }
+    var HeadersList = class _HeadersList {
+      /** @type {[string, string][]|null} */
+      cookies = null;
+      constructor(init) {
+        if (init instanceof _HeadersList) {
+          this[kHeadersMap] = new Map(init[kHeadersMap]);
+          this[kHeadersSortedMap] = init[kHeadersSortedMap];
+          this.cookies = init.cookies === null ? null : [...init.cookies];
+        } else {
+          this[kHeadersMap] = new Map(init);
+          this[kHeadersSortedMap] = null;
         }
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      /**
+       * @see https://fetch.spec.whatwg.org/#header-list-contains
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      contains(name, isLowerCase) {
+        return this[kHeadersMap].has(isLowerCase ? name : name.toLowerCase());
       }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        util.parseHeaders(trailers, this.trailers);
-        res.push(null);
+      clear() {
+        this[kHeadersMap].clear();
+        this[kHeadersSortedMap] = null;
+        this.cookies = null;
       }
-      onError(err) {
-        const { res, callback, body, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (res) {
-          this.res = null;
-          queueMicrotask(() => {
-            util.destroy(res, err);
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-append
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      append(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        const exists = this[kHeadersMap].get(lowercaseName);
+        if (exists) {
+          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
+          this[kHeadersMap].set(lowercaseName, {
+            name: exists.name,
+            value: `${exists.value}${delimiter}${value}`
           });
+        } else {
+          this[kHeadersMap].set(lowercaseName, { name, value });
         }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
+        if (lowercaseName === "set-cookie") {
+          (this.cookies ??= []).push(value);
         }
       }
-    };
-    function request2(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          request2.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-set
+       * @param {string} name
+       * @param {string} value
+       * @param {boolean} isLowerCase
+       */
+      set(name, value, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        const lowercaseName = isLowerCase ? name : name.toLowerCase();
+        if (lowercaseName === "set-cookie") {
+          this.cookies = [value];
+        }
+        this[kHeadersMap].set(lowercaseName, { name, value });
       }
-      try {
-        this.dispatch(opts, new RequestHandler(opts, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-delete
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       */
+      delete(name, isLowerCase) {
+        this[kHeadersSortedMap] = null;
+        if (!isLowerCase) name = name.toLowerCase();
+        if (name === "set-cookie") {
+          this.cookies = null;
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        this[kHeadersMap].delete(name);
       }
-    }
-    module2.exports = request2;
-    module2.exports.RequestHandler = RequestHandler;
-  }
-});
-
-// node_modules/undici/lib/api/api-stream.js
-var require_api_stream2 = __commonJS({
-  "node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
-    "use strict";
-    var { finished, PassThrough } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { getResolveErrorBodyCallback } = require_util11();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var StreamHandler = class extends AsyncResource {
-      constructor(opts, factory, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      /**
+       * @see https://fetch.spec.whatwg.org/#concept-header-list-get
+       * @param {string} name
+       * @param {boolean} isLowerCase
+       * @returns {string | null}
+       */
+      get(name, isLowerCase) {
+        return this[kHeadersMap].get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
+      }
+      *[Symbol.iterator]() {
+        for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+          yield [name, value];
         }
-        const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts;
-        try {
-          if (typeof callback !== "function") {
-            throw new InvalidArgumentError("invalid callback");
-          }
-          if (typeof factory !== "function") {
-            throw new InvalidArgumentError("invalid factory");
-          }
-          if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-            throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-          }
-          if (method === "CONNECT") {
-            throw new InvalidArgumentError("invalid method");
-          }
-          if (onInfo && typeof onInfo !== "function") {
-            throw new InvalidArgumentError("invalid onInfo callback");
-          }
-          super("UNDICI_STREAM");
-        } catch (err) {
-          if (util.isStream(body)) {
-            util.destroy(body.on("error", util.nop), err);
+      }
+      get entries() {
+        const headers = {};
+        if (this[kHeadersMap].size !== 0) {
+          for (const { name, value } of this[kHeadersMap].values()) {
+            headers[name] = value;
           }
-          throw err;
-        }
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.factory = factory;
-        this.callback = callback;
-        this.res = null;
-        this.abort = null;
-        this.context = null;
-        this.trailers = null;
-        this.body = body;
-        this.onInfo = onInfo || null;
-        this.throwOnError = throwOnError || false;
-        if (util.isStream(body)) {
-          body.on("error", (err) => {
-            this.onError(err);
-          });
         }
-        addSignal(this, signal);
+        return headers;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      rawValues() {
+        return this[kHeadersMap].values();
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const { factory, opaque, context: context2, callback, responseHeaders } = this;
-        const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            this.onInfo({ statusCode, headers });
+      get entriesList() {
+        const headers = [];
+        if (this[kHeadersMap].size !== 0) {
+          for (const { 0: lowerName, 1: { name, value } } of this[kHeadersMap]) {
+            if (lowerName === "set-cookie") {
+              for (const cookie of this.cookies) {
+                headers.push([name, cookie]);
+              }
+            } else {
+              headers.push([name, value]);
+            }
           }
-          return;
         }
-        this.factory = null;
-        let res;
-        if (this.throwOnError && statusCode >= 400) {
-          const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
-          const contentType = parsedHeaders["content-type"];
-          res = new PassThrough();
-          this.callback = null;
-          this.runInAsyncScope(
-            getResolveErrorBodyCallback,
-            null,
-            { callback, body: res, contentType, statusCode, statusMessage, headers }
-          );
-        } else {
-          if (factory === null) {
-            return;
-          }
-          res = this.runInAsyncScope(factory, null, {
-            statusCode,
-            headers,
-            opaque,
-            context: context2
-          });
-          if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
-            throw new InvalidReturnValueError("expected Writable");
+        return headers;
+      }
+      // https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set
+      toSortedArray() {
+        const size = this[kHeadersMap].size;
+        const array = new Array(size);
+        if (size <= 32) {
+          if (size === 0) {
+            return array;
           }
-          finished(res, { readable: false }, (err) => {
-            const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this;
-            this.res = null;
-            if (err || !res2.readable) {
-              util.destroy(res2, err);
+          const iterator2 = this[kHeadersMap][Symbol.iterator]();
+          const firstValue = iterator2.next().value;
+          array[0] = [firstValue[0], firstValue[1].value];
+          assert(firstValue[1].value !== null);
+          for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) {
+            value = iterator2.next().value;
+            x = array[i] = [value[0], value[1].value];
+            assert(x[1] !== null);
+            left = 0;
+            right = i;
+            while (left < right) {
+              pivot = left + (right - left >> 1);
+              if (array[pivot][0] <= x[0]) {
+                left = pivot + 1;
+              } else {
+                right = pivot;
+              }
             }
-            this.callback = null;
-            this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers });
-            if (err) {
-              abort();
+            if (i !== pivot) {
+              j = i;
+              while (j > left) {
+                array[j] = array[--j];
+              }
+              array[left] = x;
             }
-          });
-        }
-        res.on("drain", resume);
-        this.res = res;
-        const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain;
-        return needDrain !== true;
-      }
-      onData(chunk) {
-        const { res } = this;
-        return res ? res.write(chunk) : true;
-      }
-      onComplete(trailers) {
-        const { res } = this;
-        removeSignal(this);
-        if (!res) {
-          return;
-        }
-        this.trailers = util.parseHeaders(trailers);
-        res.end();
-      }
-      onError(err) {
-        const { res, callback, opaque, body } = this;
-        removeSignal(this);
-        this.factory = null;
-        if (res) {
-          this.res = null;
-          util.destroy(res, err);
-        } else if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
-        if (body) {
-          this.body = null;
-          util.destroy(body, err);
-        }
-      }
-    };
-    function stream2(opts, factory, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          stream2.call(this, opts, factory, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
-      }
-      try {
-        this.dispatch(opts, new StreamHandler(opts, factory, callback));
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
-        }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
-      }
-    }
-    module2.exports = stream2;
-  }
-});
-
-// node_modules/undici/lib/api/api-pipeline.js
-var require_api_pipeline2 = __commonJS({
-  "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
-    "use strict";
-    var {
-      Readable: Readable2,
-      Duplex,
-      PassThrough
-    } = require("stream");
-    var {
-      InvalidArgumentError,
-      InvalidReturnValueError,
-      RequestAbortedError
-    } = require_errors2();
-    var util = require_util9();
-    var { AsyncResource } = require("async_hooks");
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var kResume = /* @__PURE__ */ Symbol("resume");
-    var PipelineRequest = class extends Readable2 {
-      constructor() {
-        super({ autoDestroy: true });
-        this[kResume] = null;
-      }
-      _read() {
-        const { [kResume]: resume } = this;
-        if (resume) {
-          this[kResume] = null;
-          resume();
+          }
+          if (!iterator2.next().done) {
+            throw new TypeError("Unreachable");
+          }
+          return array;
+        } else {
+          let i = 0;
+          for (const { 0: name, 1: { value } } of this[kHeadersMap]) {
+            array[i++] = [name, value];
+            assert(value !== null);
+          }
+          return array.sort(compareHeaderName);
         }
       }
-      _destroy(err, callback) {
-        this._read();
-        callback(err);
-      }
     };
-    var PipelineResponse = class extends Readable2 {
-      constructor(resume) {
-        super({ autoDestroy: true });
-        this[kResume] = resume;
-      }
-      _read() {
-        this[kResume]();
-      }
-      _destroy(err, callback) {
-        if (!err && !this._readableState.endEmitted) {
-          err = new RequestAbortedError();
+    var Headers = class _Headers {
+      #guard;
+      #headersList;
+      constructor(init = void 0) {
+        webidl.util.markAsUncloneable(this);
+        if (init === kConstruct) {
+          return;
+        }
+        this.#headersList = new HeadersList();
+        this.#guard = "none";
+        if (init !== void 0) {
+          init = webidl.converters.HeadersInit(init, "Headers contructor", "init");
+          fill(this, init);
         }
-        callback(err);
       }
-    };
-    var PipelineHandler = class extends AsyncResource {
-      constructor(opts, handler2) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+      // https://fetch.spec.whatwg.org/#dom-headers-append
+      append(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.append");
+        const prefix = "Headers.append";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        return appendHeader(this, name, value);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-delete
+      delete(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
+        const prefix = "Headers.delete";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix: "Headers.delete",
+            value: name,
+            type: "header name"
+          });
         }
-        if (typeof handler2 !== "function") {
-          throw new InvalidArgumentError("invalid handler");
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
         }
-        const { signal, method, opaque, onInfo, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!this.#headersList.contains(name, false)) {
+          return;
         }
-        if (method === "CONNECT") {
-          throw new InvalidArgumentError("invalid method");
+        this.#headersList.delete(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-get
+      get(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.get");
+        const prefix = "Headers.get";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        if (onInfo && typeof onInfo !== "function") {
-          throw new InvalidArgumentError("invalid onInfo callback");
+        return this.#headersList.get(name, false);
+      }
+      // https://fetch.spec.whatwg.org/#dom-headers-has
+      has(name) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 1, "Headers.has");
+        const prefix = "Headers.has";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
         }
-        super("UNDICI_PIPELINE");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.handler = handler2;
-        this.abort = null;
-        this.context = null;
-        this.onInfo = onInfo || null;
-        this.req = new PipelineRequest().on("error", util.nop);
-        this.ret = new Duplex({
-          readableObjectMode: opts.objectMode,
-          autoDestroy: true,
-          read: () => {
-            const { body } = this;
-            if (body && body.resume) {
-              body.resume();
-            }
-          },
-          write: (chunk, encoding, callback) => {
-            const { req } = this;
-            if (req.push(chunk, encoding) || req._readableState.destroyed) {
-              callback();
-            } else {
-              req[kResume] = callback;
-            }
-          },
-          destroy: (err, callback) => {
-            const { body, req, res, ret, abort } = this;
-            if (!err && !ret._readableState.endEmitted) {
-              err = new RequestAbortedError();
-            }
-            if (abort && err) {
-              abort();
-            }
-            util.destroy(body, err);
-            util.destroy(req, err);
-            util.destroy(res, err);
-            removeSignal(this);
-            callback(err);
-          }
-        }).on("prefinish", () => {
-          const { req } = this;
-          req.push(null);
-        });
-        this.res = null;
-        addSignal(this, signal);
+        return this.#headersList.contains(name, false);
       }
-      onConnect(abort, context2) {
-        const { ret, res } = this;
-        assert(!res, "pipeline cannot be retried");
-        if (ret.destroyed) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-headers-set
+      set(name, value) {
+        webidl.brandCheck(this, _Headers);
+        webidl.argumentLengthCheck(arguments, 2, "Headers.set");
+        const prefix = "Headers.set";
+        name = webidl.converters.ByteString(name, prefix, "name");
+        value = webidl.converters.ByteString(value, prefix, "value");
+        value = headerValueNormalize(value);
+        if (!isValidHeaderName(name)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value: name,
+            type: "header name"
+          });
+        } else if (!isValidHeaderValue(value)) {
+          throw webidl.errors.invalidArgument({
+            prefix,
+            value,
+            type: "header value"
+          });
         }
-        this.abort = abort;
-        this.context = context2;
+        if (this.#guard === "immutable") {
+          throw new TypeError("immutable");
+        }
+        this.#headersList.set(name, value, false);
       }
-      onHeaders(statusCode, rawHeaders, resume) {
-        const { opaque, handler: handler2, context: context2 } = this;
-        if (statusCode < 200) {
-          if (this.onInfo) {
-            const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-            this.onInfo({ statusCode, headers });
-          }
-          return;
+      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
+      getSetCookie() {
+        webidl.brandCheck(this, _Headers);
+        const list = this.#headersList.cookies;
+        if (list) {
+          return [...list];
         }
-        this.res = new PipelineResponse(resume);
-        let body;
-        try {
-          this.handler = null;
-          const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-          body = this.runInAsyncScope(handler2, null, {
-            statusCode,
-            headers,
-            opaque,
-            body: this.res,
-            context: context2
-          });
-        } catch (err) {
-          this.res.on("error", util.nop);
-          throw err;
+        return [];
+      }
+      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
+      get [kHeadersSortedMap]() {
+        if (this.#headersList[kHeadersSortedMap]) {
+          return this.#headersList[kHeadersSortedMap];
         }
-        if (!body || typeof body.on !== "function") {
-          throw new InvalidReturnValueError("expected Readable");
+        const headers = [];
+        const names = this.#headersList.toSortedArray();
+        const cookies = this.#headersList.cookies;
+        if (cookies === null || cookies.length === 1) {
+          return this.#headersList[kHeadersSortedMap] = names;
         }
-        body.on("data", (chunk) => {
-          const { ret, body: body2 } = this;
-          if (!ret.push(chunk) && body2.pause) {
-            body2.pause();
-          }
-        }).on("error", (err) => {
-          const { ret } = this;
-          util.destroy(ret, err);
-        }).on("end", () => {
-          const { ret } = this;
-          ret.push(null);
-        }).on("close", () => {
-          const { ret } = this;
-          if (!ret._readableState.ended) {
-            util.destroy(ret, new RequestAbortedError());
+        for (let i = 0; i < names.length; ++i) {
+          const { 0: name, 1: value } = names[i];
+          if (name === "set-cookie") {
+            for (let j = 0; j < cookies.length; ++j) {
+              headers.push([name, cookies[j]]);
+            }
+          } else {
+            headers.push([name, value]);
           }
-        });
-        this.body = body;
+        }
+        return this.#headersList[kHeadersSortedMap] = headers;
       }
-      onData(chunk) {
-        const { res } = this;
-        return res.push(chunk);
+      [util.inspect.custom](depth, options) {
+        options.depth ??= depth;
+        return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`;
       }
-      onComplete(trailers) {
-        const { res } = this;
-        res.push(null);
+      static getHeadersGuard(o) {
+        return o.#guard;
       }
-      onError(err) {
-        const { ret } = this;
-        this.handler = null;
-        util.destroy(ret, err);
+      static setHeadersGuard(o, guard) {
+        o.#guard = guard;
+      }
+      static getHeadersList(o) {
+        return o.#headersList;
+      }
+      static setHeadersList(o, list) {
+        o.#headersList = list;
       }
     };
-    function pipeline(opts, handler2) {
-      try {
-        const pipelineHandler = new PipelineHandler(opts, handler2);
-        this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
-        return pipelineHandler.ret;
-      } catch (err) {
-        return new PassThrough().destroy(err);
+    var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers;
+    Reflect.deleteProperty(Headers, "getHeadersGuard");
+    Reflect.deleteProperty(Headers, "setHeadersGuard");
+    Reflect.deleteProperty(Headers, "getHeadersList");
+    Reflect.deleteProperty(Headers, "setHeadersList");
+    iteratorMixin("Headers", Headers, kHeadersSortedMap, 0, 1);
+    Object.defineProperties(Headers.prototype, {
+      append: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      get: kEnumerableProperty,
+      has: kEnumerableProperty,
+      set: kEnumerableProperty,
+      getSetCookie: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Headers",
+        configurable: true
+      },
+      [util.inspect.custom]: {
+        enumerable: false
       }
-    }
-    module2.exports = pipeline;
+    });
+    webidl.converters.HeadersInit = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object") {
+        const iterator2 = Reflect.get(V, Symbol.iterator);
+        if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) {
+          try {
+            return getHeadersList(V).entriesList;
+          } catch {
+          }
+        }
+        if (typeof iterator2 === "function") {
+          return webidl.converters["sequence>"](V, prefix, argument, iterator2.bind(V));
+        }
+        return webidl.converters["record"](V, prefix, argument);
+      }
+      throw webidl.errors.conversionFailed({
+        prefix: "Headers constructor",
+        argument: "Argument 1",
+        types: ["sequence>", "record"]
+      });
+    };
+    module2.exports = {
+      fill,
+      // for test.
+      compareHeaderName,
+      Headers,
+      HeadersList,
+      getHeadersGuard,
+      setHeadersGuard,
+      setHeadersList,
+      getHeadersList
+    };
   }
 });
 
-// node_modules/undici/lib/api/api-upgrade.js
-var require_api_upgrade2 = __commonJS({
-  "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js
+var require_response2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
     "use strict";
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var { AsyncResource } = require("async_hooks");
+    var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2();
+    var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body2();
     var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var assert = require("assert");
-    var UpgradeHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
+    var nodeUtil = require("node:util");
+    var { kEnumerableProperty } = util;
+    var {
+      isValidReasonPhrase,
+      isCancelled,
+      isAborted,
+      isBlobLike,
+      serializeJavascriptValueToJSONString,
+      isErrorLike,
+      isomorphicEncode,
+      environmentSettingsObject: relevantRealm
+    } = require_util10();
+    var {
+      redirectStatusSet,
+      nullBodyStatus
+    } = require_constants8();
+    var { kState, kHeaders } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { FormData: FormData2 } = require_formdata2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { types } = require("node:util");
+    var textEncoder = new TextEncoder("utf-8");
+    var Response = class _Response {
+      // Creates network error Response.
+      static error() {
+        const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
+        return responseObject;
+      }
+      // https://fetch.spec.whatwg.org/#dom-response-json
+      static json(data, init = {}) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.json");
+        if (init !== null) {
+          init = webidl.converters.ResponseInit(init);
         }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
+        const bytes = textEncoder.encode(
+          serializeJavascriptValueToJSONString(data)
+        );
+        const body = extractBody(bytes);
+        const responseObject = fromInnerResponse(makeResponse({}), "response");
+        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
+        return responseObject;
+      }
+      // Creates a redirect Response that redirects to url with status status.
+      static redirect(url2, status = 302) {
+        webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
+        url2 = webidl.converters.USVString(url2);
+        status = webidl.converters["unsigned short"](status);
+        let parsedURL;
+        try {
+          parsedURL = new URL(url2, relevantRealm.settingsObject.baseUrl);
+        } catch (err) {
+          throw new TypeError(`Failed to parse URL from ${url2}`, { cause: err });
         }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
+        if (!redirectStatusSet.has(status)) {
+          throw new RangeError(`Invalid status code ${status}`);
         }
-        super("UNDICI_UPGRADE");
-        this.responseHeaders = responseHeaders || null;
-        this.opaque = opaque || null;
-        this.callback = callback;
-        this.abort = null;
-        this.context = null;
-        addSignal(this, signal);
+        const responseObject = fromInnerResponse(makeResponse({}), "immutable");
+        responseObject[kState].status = status;
+        const value = isomorphicEncode(URLSerializer(parsedURL));
+        responseObject[kState].headersList.append("location", value, true);
+        return responseObject;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
+      // https://fetch.spec.whatwg.org/#dom-response
+      constructor(body = null, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (body === kConstruct) {
+          return;
         }
-        this.abort = abort;
-        this.context = null;
-      }
-      onHeaders() {
-        throw new SocketError("bad upgrade", null);
-      }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        assert.strictEqual(statusCode, 101);
-        removeSignal(this);
-        this.callback = null;
-        const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        this.runInAsyncScope(callback, null, null, {
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
-      }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
+        if (body !== null) {
+          body = webidl.converters.BodyInit(body);
+        }
+        init = webidl.converters.ResponseInit(init);
+        this[kState] = makeResponse({});
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersGuard(this[kHeaders], "response");
+        setHeadersList(this[kHeaders], this[kState].headersList);
+        let bodyWithType = null;
+        if (body != null) {
+          const [extractedBody, type2] = extractBody(body);
+          bodyWithType = { body: extractedBody, type: type2 };
         }
+        initializeResponse(this, init, bodyWithType);
       }
-    };
-    function upgrade(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          upgrade.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
+      // Returns response’s type, e.g., "cors".
+      get type() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].type;
       }
-      try {
-        const upgradeHandler = new UpgradeHandler(opts, callback);
-        this.dispatch({
-          ...opts,
-          method: opts.method || "GET",
-          upgrade: opts.protocol || "Websocket"
-        }, upgradeHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      // Returns response’s URL, if it has one; otherwise the empty string.
+      get url() {
+        webidl.brandCheck(this, _Response);
+        const urlList = this[kState].urlList;
+        const url2 = urlList[urlList.length - 1] ?? null;
+        if (url2 === null) {
+          return "";
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        return URLSerializer(url2, true);
       }
-    }
-    module2.exports = upgrade;
-  }
-});
-
-// node_modules/undici/lib/api/api-connect.js
-var require_api_connect2 = __commonJS({
-  "node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
-    "use strict";
-    var { AsyncResource } = require("async_hooks");
-    var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors2();
-    var util = require_util9();
-    var { addSignal, removeSignal } = require_abort_signal2();
-    var ConnectHandler = class extends AsyncResource {
-      constructor(opts, callback) {
-        if (!opts || typeof opts !== "object") {
-          throw new InvalidArgumentError("invalid opts");
-        }
-        if (typeof callback !== "function") {
-          throw new InvalidArgumentError("invalid callback");
-        }
-        const { signal, opaque, responseHeaders } = opts;
-        if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
-          throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
-        }
-        super("UNDICI_CONNECT");
-        this.opaque = opaque || null;
-        this.responseHeaders = responseHeaders || null;
-        this.callback = callback;
-        this.abort = null;
-        addSignal(this, signal);
+      // Returns whether response was obtained through a redirect.
+      get redirected() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].urlList.length > 1;
       }
-      onConnect(abort, context2) {
-        if (!this.callback) {
-          throw new RequestAbortedError();
-        }
-        this.abort = abort;
-        this.context = context2;
+      // Returns response’s status.
+      get status() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status;
       }
-      onHeaders() {
-        throw new SocketError("bad connect", null);
+      // Returns whether response’s status is an ok status.
+      get ok() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].status >= 200 && this[kState].status <= 299;
       }
-      onUpgrade(statusCode, rawHeaders, socket) {
-        const { callback, opaque, context: context2 } = this;
-        removeSignal(this);
-        this.callback = null;
-        let headers = rawHeaders;
-        if (headers != null) {
-          headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
-        }
-        this.runInAsyncScope(callback, null, null, {
-          statusCode,
-          headers,
-          socket,
-          opaque,
-          context: context2
-        });
+      // Returns response’s status message.
+      get statusText() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].statusText;
       }
-      onError(err) {
-        const { callback, opaque } = this;
-        removeSignal(this);
-        if (callback) {
-          this.callback = null;
-          queueMicrotask(() => {
-            this.runInAsyncScope(callback, null, err, { opaque });
-          });
-        }
+      // Returns response’s headers as Headers.
+      get headers() {
+        webidl.brandCheck(this, _Response);
+        return this[kHeaders];
       }
-    };
-    function connect(opts, callback) {
-      if (callback === void 0) {
-        return new Promise((resolve6, reject) => {
-          connect.call(this, opts, (err, data) => {
-            return err ? reject(err) : resolve6(data);
-          });
-        });
+      get body() {
+        webidl.brandCheck(this, _Response);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      try {
-        const connectHandler = new ConnectHandler(opts, callback);
-        this.dispatch({ ...opts, method: "CONNECT" }, connectHandler);
-      } catch (err) {
-        if (typeof callback !== "function") {
-          throw err;
+      get bodyUsed() {
+        webidl.brandCheck(this, _Response);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      }
+      // Returns a clone of response.
+      clone() {
+        webidl.brandCheck(this, _Response);
+        if (bodyUnusable(this)) {
+          throw webidl.errors.exception({
+            header: "Response.clone",
+            message: "Body has already been consumed."
+          });
         }
-        const opaque = opts && opts.opaque;
-        queueMicrotask(() => callback(err, { opaque }));
+        const clonedResponse = cloneResponse(this[kState]);
+        if (hasFinalizationRegistry && this[kState].body?.stream) {
+          streamRegistry.register(this, new WeakRef(this[kState].body.stream));
+        }
+        return fromInnerResponse(clonedResponse, getHeadersGuard(this[kHeaders]));
       }
-    }
-    module2.exports = connect;
-  }
-});
-
-// node_modules/undici/lib/api/index.js
-var require_api2 = __commonJS({
-  "node_modules/undici/lib/api/index.js"(exports2, module2) {
-    "use strict";
-    module2.exports.request = require_api_request2();
-    module2.exports.stream = require_api_stream2();
-    module2.exports.pipeline = require_api_pipeline2();
-    module2.exports.upgrade = require_api_upgrade2();
-    module2.exports.connect = require_api_connect2();
-  }
-});
-
-// node_modules/undici/lib/mock/mock-errors.js
-var require_mock_errors2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
-    "use strict";
-    var { UndiciError } = require_errors2();
-    var MockNotMatchedError = class _MockNotMatchedError extends UndiciError {
-      constructor(message) {
-        super(message);
-        Error.captureStackTrace(this, _MockNotMatchedError);
-        this.name = "MockNotMatchedError";
-        this.message = message || "The request does not match any registered mock dispatches";
-        this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-    module2.exports = {
-      MockNotMatchedError
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-symbols.js
-var require_mock_symbols2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kAgent: /* @__PURE__ */ Symbol("agent"),
-      kOptions: /* @__PURE__ */ Symbol("options"),
-      kFactory: /* @__PURE__ */ Symbol("factory"),
-      kDispatches: /* @__PURE__ */ Symbol("dispatches"),
-      kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
-      kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
-      kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
-      kContentLength: /* @__PURE__ */ Symbol("content length"),
-      kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
-      kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
-      kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
-      kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
-      kClose: /* @__PURE__ */ Symbol("close"),
-      kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
-      kOrigin: /* @__PURE__ */ Symbol("origin"),
-      kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
-      kNetConnect: /* @__PURE__ */ Symbol("net connect"),
-      kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
-      kConnected: /* @__PURE__ */ Symbol("connected")
-    };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-utils.js
-var require_mock_utils2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
-    "use strict";
-    var { MockNotMatchedError } = require_mock_errors2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kOriginalDispatch,
-      kOrigin,
-      kGetNetConnect
-    } = require_mock_symbols2();
-    var { buildURL, nop } = require_util9();
-    var { STATUS_CODES } = require("http");
-    var {
-      types: {
-        isPromise
-      }
-    } = require("util");
-    function matchValue(match, value) {
-      if (typeof match === "string") {
-        return match === value;
+    mixinBody(Response);
+    Object.defineProperties(Response.prototype, {
+      type: kEnumerableProperty,
+      url: kEnumerableProperty,
+      status: kEnumerableProperty,
+      ok: kEnumerableProperty,
+      redirected: kEnumerableProperty,
+      statusText: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Response",
+        configurable: true
       }
-      if (match instanceof RegExp) {
-        return match.test(value);
+    });
+    Object.defineProperties(Response, {
+      json: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    function cloneResponse(response) {
+      if (response.internalResponse) {
+        return filterResponse(
+          cloneResponse(response.internalResponse),
+          response.type
+        );
       }
-      if (typeof match === "function") {
-        return match(value) === true;
+      const newResponse = makeResponse({ ...response, body: null });
+      if (response.body != null) {
+        newResponse.body = cloneBody(newResponse, response.body);
       }
-      return false;
+      return newResponse;
     }
-    function lowerCaseEntries(headers) {
-      return Object.fromEntries(
-        Object.entries(headers).map(([headerName, headerValue]) => {
-          return [headerName.toLocaleLowerCase(), headerValue];
-        })
+    function makeResponse(init) {
+      return {
+        aborted: false,
+        rangeRequested: false,
+        timingAllowPassed: false,
+        requestIncludesCredentials: false,
+        type: "default",
+        status: 200,
+        timingInfo: null,
+        cacheState: "",
+        statusText: "",
+        ...init,
+        headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
+        urlList: init?.urlList ? [...init.urlList] : []
+      };
+    }
+    function makeNetworkError(reason) {
+      const isError = isErrorLike(reason);
+      return makeResponse({
+        type: "error",
+        status: 0,
+        error: isError ? reason : new Error(reason ? String(reason) : reason),
+        aborted: reason && reason.name === "AbortError"
+      });
+    }
+    function isNetworkError(response) {
+      return (
+        // A network error is a response whose type is "error",
+        response.type === "error" && // status is 0
+        response.status === 0
       );
     }
-    function getHeaderByName(headers, key) {
-      if (Array.isArray(headers)) {
-        for (let i = 0; i < headers.length; i += 2) {
-          if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
-            return headers[i + 1];
-          }
+    function makeFilteredResponse(response, state) {
+      state = {
+        internalResponse: response,
+        ...state
+      };
+      return new Proxy(response, {
+        get(target, p) {
+          return p in state ? state[p] : target[p];
+        },
+        set(target, p, value) {
+          assert(!(p in state));
+          target[p] = value;
+          return true;
         }
-        return void 0;
-      } else if (typeof headers.get === "function") {
-        return headers.get(key);
+      });
+    }
+    function filterResponse(response, type2) {
+      if (type2 === "basic") {
+        return makeFilteredResponse(response, {
+          type: "basic",
+          headersList: response.headersList
+        });
+      } else if (type2 === "cors") {
+        return makeFilteredResponse(response, {
+          type: "cors",
+          headersList: response.headersList
+        });
+      } else if (type2 === "opaque") {
+        return makeFilteredResponse(response, {
+          type: "opaque",
+          urlList: Object.freeze([]),
+          status: 0,
+          statusText: "",
+          body: null
+        });
+      } else if (type2 === "opaqueredirect") {
+        return makeFilteredResponse(response, {
+          type: "opaqueredirect",
+          status: 0,
+          statusText: "",
+          headersList: [],
+          body: null
+        });
       } else {
-        return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
+        assert(false);
       }
     }
-    function buildHeadersFromArray(headers) {
-      const clone = headers.slice();
-      const entries = [];
-      for (let index = 0; index < clone.length; index += 2) {
-        entries.push([clone[index], clone[index + 1]]);
-      }
-      return Object.fromEntries(entries);
+    function makeAppropriateNetworkError(fetchParams, err = null) {
+      assert(isCancelled(fetchParams));
+      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
     }
-    function matchHeaders(mockDispatch2, headers) {
-      if (typeof mockDispatch2.headers === "function") {
-        if (Array.isArray(headers)) {
-          headers = buildHeadersFromArray(headers);
-        }
-        return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
+    function initializeResponse(response, init, body) {
+      if (init.status !== null && (init.status < 200 || init.status > 599)) {
+        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
       }
-      if (typeof mockDispatch2.headers === "undefined") {
-        return true;
+      if ("statusText" in init && init.statusText != null) {
+        if (!isValidReasonPhrase(String(init.statusText))) {
+          throw new TypeError("Invalid statusText");
+        }
       }
-      if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
-        return false;
+      if ("status" in init && init.status != null) {
+        response[kState].status = init.status;
       }
-      for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
-        const headerValue = getHeaderByName(headers, matchHeaderName);
-        if (!matchValue(matchHeaderValue, headerValue)) {
-          return false;
-        }
+      if ("statusText" in init && init.statusText != null) {
+        response[kState].statusText = init.statusText;
       }
-      return true;
-    }
-    function safeUrl(path12) {
-      if (typeof path12 !== "string") {
-        return path12;
+      if ("headers" in init && init.headers != null) {
+        fill(response[kHeaders], init.headers);
       }
-      const pathSegments = path12.split("?");
-      if (pathSegments.length !== 2) {
-        return path12;
+      if (body) {
+        if (nullBodyStatus.includes(response.status)) {
+          throw webidl.errors.exception({
+            header: "Response constructor",
+            message: `Invalid response status code ${response.status}`
+          });
+        }
+        response[kState].body = body.body;
+        if (body.type != null && !response[kState].headersList.contains("content-type", true)) {
+          response[kState].headersList.append("content-type", body.type, true);
+        }
       }
-      const qp = new URLSearchParams(pathSegments.pop());
-      qp.sort();
-      return [...pathSegments, qp.toString()].join("?");
-    }
-    function matchKey(mockDispatch2, { path: path12, method, body, headers }) {
-      const pathMatch = matchValue(mockDispatch2.path, path12);
-      const methodMatch = matchValue(mockDispatch2.method, method);
-      const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
-      const headersMatch = matchHeaders(mockDispatch2, headers);
-      return pathMatch && methodMatch && bodyMatch && headersMatch;
     }
-    function getResponseData2(data) {
-      if (Buffer.isBuffer(data)) {
-        return data;
-      } else if (typeof data === "object") {
-        return JSON.stringify(data);
-      } else {
-        return data.toString();
+    function fromInnerResponse(innerResponse, guard) {
+      const response = new Response(kConstruct);
+      response[kState] = innerResponse;
+      response[kHeaders] = new Headers(kConstruct);
+      setHeadersList(response[kHeaders], innerResponse.headersList);
+      setHeadersGuard(response[kHeaders], guard);
+      if (hasFinalizationRegistry && innerResponse.body?.stream) {
+        streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
       }
+      return response;
     }
-    function getMockDispatch(mockDispatches, key) {
-      const basePath = key.query ? buildURL(key.path, key.query) : key.path;
-      const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
-      let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path12 }) => matchValue(safeUrl(path12), resolvedPath));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
+    webidl.converters.ReadableStream = webidl.interfaceConverter(
+      ReadableStream
+    );
+    webidl.converters.FormData = webidl.interfaceConverter(
+      FormData2
+    );
+    webidl.converters.URLSearchParams = webidl.interfaceConverter(
+      URLSearchParams
+    );
+    webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`);
+      if (isBlobLike(V)) {
+        return webidl.converters.Blob(V, prefix, name, { strict: false });
       }
-      matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`);
+      if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+        return webidl.converters.BufferSource(V, prefix, name);
       }
-      matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
-      if (matchedMockDispatches.length === 0) {
-        throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`);
+      if (util.isFormDataLike(V)) {
+        return webidl.converters.FormData(V, prefix, name, { strict: false });
       }
-      return matchedMockDispatches[0];
-    }
-    function addMockDispatch(mockDispatches, key, data) {
-      const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false };
-      const replyData = typeof data === "function" ? { callback: data } : { ...data };
-      const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
-      mockDispatches.push(newMockDispatch);
-      return newMockDispatch;
-    }
-    function deleteMockDispatch(mockDispatches, key) {
-      const index = mockDispatches.findIndex((dispatch) => {
-        if (!dispatch.consumed) {
-          return false;
-        }
-        return matchKey(dispatch, key);
-      });
-      if (index !== -1) {
-        mockDispatches.splice(index, 1);
+      if (V instanceof URLSearchParams) {
+        return webidl.converters.URLSearchParams(V, prefix, name);
       }
-    }
-    function buildKey(opts) {
-      const { path: path12, method, body, headers, query } = opts;
-      return {
-        path: path12,
-        method,
-        body,
-        headers,
-        query
-      };
-    }
-    function generateKeyValues(data) {
-      return Object.entries(data).reduce((keyValuePairs, [key, value]) => [
-        ...keyValuePairs,
-        Buffer.from(`${key}`),
-        Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`)
-      ], []);
-    }
-    function getStatusText(statusCode) {
-      return STATUS_CODES[statusCode] || "unknown";
-    }
-    async function getResponse(body) {
-      const buffers = [];
-      for await (const data of body) {
-        buffers.push(data);
+      return webidl.converters.DOMString(V, prefix, name);
+    };
+    webidl.converters.BodyInit = function(V, prefix, argument) {
+      if (V instanceof ReadableStream) {
+        return webidl.converters.ReadableStream(V, prefix, argument);
       }
-      return Buffer.concat(buffers).toString("utf8");
-    }
-    function mockDispatch(opts, handler2) {
-      const key = buildKey(opts);
-      const mockDispatch2 = getMockDispatch(this[kDispatches], key);
-      mockDispatch2.timesInvoked++;
-      if (mockDispatch2.data.callback) {
-        mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
+      if (V?.[Symbol.asyncIterator]) {
+        return V;
       }
-      const { data: { statusCode, data, headers, trailers, error: error3 }, delay: delay2, persist } = mockDispatch2;
-      const { timesInvoked, times } = mockDispatch2;
-      mockDispatch2.consumed = !persist && timesInvoked >= times;
-      mockDispatch2.pending = timesInvoked < times;
-      if (error3 !== null) {
-        deleteMockDispatch(this[kDispatches], key);
-        handler2.onError(error3);
-        return true;
+      return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
+    };
+    webidl.converters.ResponseInit = webidl.dictionaryConverter([
+      {
+        key: "status",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 200
+      },
+      {
+        key: "statusText",
+        converter: webidl.converters.ByteString,
+        defaultValue: () => ""
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
       }
-      if (typeof delay2 === "number" && delay2 > 0) {
-        setTimeout(() => {
-          handleReply(this[kDispatches]);
-        }, delay2);
-      } else {
-        handleReply(this[kDispatches]);
+    ]);
+    module2.exports = {
+      isNetworkError,
+      makeNetworkError,
+      makeResponse,
+      makeAppropriateNetworkError,
+      filterResponse,
+      Response,
+      cloneResponse,
+      fromInnerResponse
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
+var require_dispatcher_weakref2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports2, module2) {
+    "use strict";
+    var { kConnected, kSize } = require_symbols6();
+    var CompatWeakRef = class {
+      constructor(value) {
+        this.value = value;
       }
-      function handleReply(mockDispatches, _data = data) {
-        const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
-        const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
-        if (isPromise(body)) {
-          body.then((newData) => handleReply(mockDispatches, newData));
-          return;
-        }
-        const responseData = getResponseData2(body);
-        const responseHeaders = generateKeyValues(headers);
-        const responseTrailers = generateKeyValues(trailers);
-        handler2.abort = nop;
-        handler2.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode));
-        handler2.onData(Buffer.from(responseData));
-        handler2.onComplete(responseTrailers);
-        deleteMockDispatch(mockDispatches, key);
+      deref() {
+        return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;
       }
-      function resume() {
+    };
+    var CompatFinalizer = class {
+      constructor(finalizer) {
+        this.finalizer = finalizer;
       }
-      return true;
-    }
-    function buildMockDispatch() {
-      const agent = this[kMockAgent];
-      const origin = this[kOrigin];
-      const originalDispatch = this[kOriginalDispatch];
-      return function dispatch(opts, handler2) {
-        if (agent.isMockActive) {
-          try {
-            mockDispatch.call(this, opts, handler2);
-          } catch (error3) {
-            if (error3 instanceof MockNotMatchedError) {
-              const netConnect = agent[kGetNetConnect]();
-              if (netConnect === false) {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
-              }
-              if (checkNetConnect(netConnect, origin)) {
-                originalDispatch.call(this, opts, handler2);
-              } else {
-                throw new MockNotMatchedError(`${error3.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
-              }
-            } else {
-              throw error3;
+      register(dispatcher, key) {
+        if (dispatcher.on) {
+          dispatcher.on("disconnect", () => {
+            if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {
+              this.finalizer(key);
             }
-          }
-        } else {
-          originalDispatch.call(this, opts, handler2);
+          });
         }
-      };
-    }
-    function checkNetConnect(netConnect, origin) {
-      const url2 = new URL(origin);
-      if (netConnect === true) {
-        return true;
-      } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url2.host))) {
-        return true;
       }
-      return false;
-    }
-    function buildMockOptions(opts) {
-      if (opts) {
-        const { agent, ...mockOptions } = opts;
-        return mockOptions;
+      unregister(key) {
       }
-    }
-    module2.exports = {
-      getResponseData: getResponseData2,
-      getMockDispatch,
-      addMockDispatch,
-      deleteMockDispatch,
-      buildKey,
-      generateKeyValues,
-      matchValue,
-      getResponse,
-      getStatusText,
-      mockDispatch,
-      buildMockDispatch,
-      checkNetConnect,
-      buildMockOptions,
-      getHeaderByName
+    };
+    module2.exports = function() {
+      if (process.env.NODE_V8_COVERAGE && process.version.startsWith("v18")) {
+        process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");
+        return {
+          WeakRef: CompatWeakRef,
+          FinalizationRegistry: CompatFinalizer
+        };
+      }
+      return { WeakRef, FinalizationRegistry };
     };
   }
 });
 
-// node_modules/undici/lib/mock/mock-interceptor.js
-var require_mock_interceptor2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js
+var require_request4 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
     "use strict";
-    var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2();
+    var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2();
+    var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2();
+    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
+    var util = require_util9();
+    var nodeUtil = require("node:util");
     var {
-      kDispatches,
-      kDispatchKey,
-      kDefaultHeaders,
-      kDefaultTrailers,
-      kContentLength,
-      kMockDispatch
-    } = require_mock_symbols2();
-    var { InvalidArgumentError } = require_errors2();
-    var { buildURL } = require_util9();
-    var MockScope = class {
-      constructor(mockDispatch) {
-        this[kMockDispatch] = mockDispatch;
-      }
-      /**
-       * Delay a reply by a set amount in ms.
-       */
-      delay(waitInMs) {
-        if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
-          throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
+      isValidHTTPToken,
+      sameOrigin,
+      environmentSettingsObject
+    } = require_util10();
+    var {
+      forbiddenMethodsSet,
+      corsSafeListedMethodsSet,
+      referrerPolicy,
+      requestRedirect,
+      requestMode,
+      requestCredentials,
+      requestCache,
+      requestDuplex
+    } = require_constants8();
+    var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
+    var { kHeaders, kSignal, kState, kDispatcher } = require_symbols7();
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { kConstruct } = require_symbols6();
+    var assert = require("node:assert");
+    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("node:events");
+    var kAbortController = /* @__PURE__ */ Symbol("abortController");
+    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
+      signal.removeEventListener("abort", abort);
+    });
+    var dependentControllerMap = /* @__PURE__ */ new WeakMap();
+    function buildAbort(acRef) {
+      return abort;
+      function abort() {
+        const ac = acRef.deref();
+        if (ac !== void 0) {
+          requestFinalizer.unregister(abort);
+          this.removeEventListener("abort", abort);
+          ac.abort(this.reason);
+          const controllerList = dependentControllerMap.get(ac.signal);
+          if (controllerList !== void 0) {
+            if (controllerList.size !== 0) {
+              for (const ref of controllerList) {
+                const ctrl = ref.deref();
+                if (ctrl !== void 0) {
+                  ctrl.abort(this.reason);
+                }
+              }
+              controllerList.clear();
+            }
+            dependentControllerMap.delete(ac.signal);
+          }
         }
-        this[kMockDispatch].delay = waitInMs;
-        return this;
-      }
-      /**
-       * For a defined reply, never mark as consumed.
-       */
-      persist() {
-        this[kMockDispatch].persist = true;
-        return this;
       }
-      /**
-       * Allow one to define a reply for a set amount of matching requests.
-       */
-      times(repeatTimes) {
-        if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
-          throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
+    }
+    var patchMethodWarning = false;
+    var Request = class _Request {
+      // https://fetch.spec.whatwg.org/#dom-request
+      constructor(input, init = {}) {
+        webidl.util.markAsUncloneable(this);
+        if (input === kConstruct) {
+          return;
         }
-        this[kMockDispatch].times = repeatTimes;
-        return this;
-      }
-    };
-    var MockInterceptor = class {
-      constructor(opts, mockDispatches) {
-        if (typeof opts !== "object") {
-          throw new InvalidArgumentError("opts must be an object");
+        const prefix = "Request constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        input = webidl.converters.RequestInfo(input, prefix, "input");
+        init = webidl.converters.RequestInit(init, prefix, "init");
+        let request2 = null;
+        let fallbackMode = null;
+        const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
+        let signal = null;
+        if (typeof input === "string") {
+          this[kDispatcher] = init.dispatcher;
+          let parsedURL;
+          try {
+            parsedURL = new URL(input, baseUrl);
+          } catch (err) {
+            throw new TypeError("Failed to parse URL from " + input, { cause: err });
+          }
+          if (parsedURL.username || parsedURL.password) {
+            throw new TypeError(
+              "Request cannot be constructed from a URL that includes credentials: " + input
+            );
+          }
+          request2 = makeRequest({ urlList: [parsedURL] });
+          fallbackMode = "cors";
+        } else {
+          this[kDispatcher] = init.dispatcher || input[kDispatcher];
+          assert(input instanceof _Request);
+          request2 = input[kState];
+          signal = input[kSignal];
         }
-        if (typeof opts.path === "undefined") {
-          throw new InvalidArgumentError("opts.path must be defined");
+        const origin = environmentSettingsObject.settingsObject.origin;
+        let window2 = "client";
+        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
+          window2 = request2.window;
         }
-        if (typeof opts.method === "undefined") {
-          opts.method = "GET";
+        if (init.window != null) {
+          throw new TypeError(`'window' option '${window2}' must be null`);
         }
-        if (typeof opts.path === "string") {
-          if (opts.query) {
-            opts.path = buildURL(opts.path, opts.query);
+        if ("window" in init) {
+          window2 = "no-window";
+        }
+        request2 = makeRequest({
+          // URL request’s URL.
+          // undici implementation note: this is set as the first item in request's urlList in makeRequest
+          // method request’s method.
+          method: request2.method,
+          // header list A copy of request’s header list.
+          // undici implementation note: headersList is cloned in makeRequest
+          headersList: request2.headersList,
+          // unsafe-request flag Set.
+          unsafeRequest: request2.unsafeRequest,
+          // client This’s relevant settings object.
+          client: environmentSettingsObject.settingsObject,
+          // window window.
+          window: window2,
+          // priority request’s priority.
+          priority: request2.priority,
+          // origin request’s origin. The propagation of the origin is only significant for navigation requests
+          // being handled by a service worker. In this scenario a request can have an origin that is different
+          // from the current client.
+          origin: request2.origin,
+          // referrer request’s referrer.
+          referrer: request2.referrer,
+          // referrer policy request’s referrer policy.
+          referrerPolicy: request2.referrerPolicy,
+          // mode request’s mode.
+          mode: request2.mode,
+          // credentials mode request’s credentials mode.
+          credentials: request2.credentials,
+          // cache mode request’s cache mode.
+          cache: request2.cache,
+          // redirect mode request’s redirect mode.
+          redirect: request2.redirect,
+          // integrity metadata request’s integrity metadata.
+          integrity: request2.integrity,
+          // keepalive request’s keepalive.
+          keepalive: request2.keepalive,
+          // reload-navigation flag request’s reload-navigation flag.
+          reloadNavigation: request2.reloadNavigation,
+          // history-navigation flag request’s history-navigation flag.
+          historyNavigation: request2.historyNavigation,
+          // URL list A clone of request’s URL list.
+          urlList: [...request2.urlList]
+        });
+        const initHasKey = Object.keys(init).length !== 0;
+        if (initHasKey) {
+          if (request2.mode === "navigate") {
+            request2.mode = "same-origin";
+          }
+          request2.reloadNavigation = false;
+          request2.historyNavigation = false;
+          request2.origin = "client";
+          request2.referrer = "client";
+          request2.referrerPolicy = "";
+          request2.url = request2.urlList[request2.urlList.length - 1];
+          request2.urlList = [request2.url];
+        }
+        if (init.referrer !== void 0) {
+          const referrer = init.referrer;
+          if (referrer === "") {
+            request2.referrer = "no-referrer";
           } else {
-            const parsedURL = new URL(opts.path, "data://");
-            opts.path = parsedURL.pathname + parsedURL.search;
+            let parsedReferrer;
+            try {
+              parsedReferrer = new URL(referrer, baseUrl);
+            } catch (err) {
+              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
+            }
+            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
+              request2.referrer = "client";
+            } else {
+              request2.referrer = parsedReferrer;
+            }
           }
         }
-        if (typeof opts.method === "string") {
-          opts.method = opts.method.toUpperCase();
+        if (init.referrerPolicy !== void 0) {
+          request2.referrerPolicy = init.referrerPolicy;
         }
-        this[kDispatchKey] = buildKey(opts);
-        this[kDispatches] = mockDispatches;
-        this[kDefaultHeaders] = {};
-        this[kDefaultTrailers] = {};
-        this[kContentLength] = false;
+        let mode;
+        if (init.mode !== void 0) {
+          mode = init.mode;
+        } else {
+          mode = fallbackMode;
+        }
+        if (mode === "navigate") {
+          throw webidl.errors.exception({
+            header: "Request constructor",
+            message: "invalid request mode navigate."
+          });
+        }
+        if (mode != null) {
+          request2.mode = mode;
+        }
+        if (init.credentials !== void 0) {
+          request2.credentials = init.credentials;
+        }
+        if (init.cache !== void 0) {
+          request2.cache = init.cache;
+        }
+        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
+          throw new TypeError(
+            "'only-if-cached' can be set only with 'same-origin' mode"
+          );
+        }
+        if (init.redirect !== void 0) {
+          request2.redirect = init.redirect;
+        }
+        if (init.integrity != null) {
+          request2.integrity = String(init.integrity);
+        }
+        if (init.keepalive !== void 0) {
+          request2.keepalive = Boolean(init.keepalive);
+        }
+        if (init.method !== void 0) {
+          let method = init.method;
+          const mayBeNormalized = normalizedMethodRecords[method];
+          if (mayBeNormalized !== void 0) {
+            request2.method = mayBeNormalized;
+          } else {
+            if (!isValidHTTPToken(method)) {
+              throw new TypeError(`'${method}' is not a valid HTTP method.`);
+            }
+            const upperCase = method.toUpperCase();
+            if (forbiddenMethodsSet.has(upperCase)) {
+              throw new TypeError(`'${method}' HTTP method is unsupported.`);
+            }
+            method = normalizedMethodRecordsBase[upperCase] ?? method;
+            request2.method = method;
+          }
+          if (!patchMethodWarning && request2.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"
+            });
+            patchMethodWarning = true;
+          }
+        }
+        if (init.signal !== void 0) {
+          signal = init.signal;
+        }
+        this[kState] = request2;
+        const ac = new AbortController();
+        this[kSignal] = ac.signal;
+        if (signal != null) {
+          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
+            throw new TypeError(
+              "Failed to construct 'Request': member signal is not of type AbortSignal."
+            );
+          }
+          if (signal.aborted) {
+            ac.abort(signal.reason);
+          } else {
+            this[kAbortController] = ac;
+            const acRef = new WeakRef(ac);
+            const abort = buildAbort(acRef);
+            try {
+              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
+                setMaxListeners(1500, signal);
+              }
+            } catch {
+            }
+            util.addAbortListener(signal, abort);
+            requestFinalizer.register(ac, { signal, abort }, abort);
+          }
+        }
+        this[kHeaders] = new Headers(kConstruct);
+        setHeadersList(this[kHeaders], request2.headersList);
+        setHeadersGuard(this[kHeaders], "request");
+        if (mode === "no-cors") {
+          if (!corsSafeListedMethodsSet.has(request2.method)) {
+            throw new TypeError(
+              `'${request2.method} is unsupported in no-cors mode.`
+            );
+          }
+          setHeadersGuard(this[kHeaders], "request-no-cors");
+        }
+        if (initHasKey) {
+          const headersList = getHeadersList(this[kHeaders]);
+          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
+          headersList.clear();
+          if (headers instanceof HeadersList) {
+            for (const { name, value } of headers.rawValues()) {
+              headersList.append(name, value, false);
+            }
+            headersList.cookies = headers.cookies;
+          } else {
+            fillHeaders(this[kHeaders], headers);
+          }
+        }
+        const inputBody = input instanceof _Request ? input[kState].body : null;
+        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
+          throw new TypeError("Request with GET/HEAD method cannot have body.");
+        }
+        let initBody = null;
+        if (init.body != null) {
+          const [extractedBody, contentType] = extractBody(
+            init.body,
+            request2.keepalive
+          );
+          initBody = extractedBody;
+          if (contentType && !getHeadersList(this[kHeaders]).contains("content-type", true)) {
+            this[kHeaders].append("content-type", contentType);
+          }
+        }
+        const inputOrInitBody = initBody ?? inputBody;
+        if (inputOrInitBody != null && inputOrInitBody.source == null) {
+          if (initBody != null && init.duplex == null) {
+            throw new TypeError("RequestInit: duplex option is required when sending a body.");
+          }
+          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
+            throw new TypeError(
+              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
+            );
+          }
+          request2.useCORSPreflightFlag = true;
+        }
+        let finalBody = inputOrInitBody;
+        if (initBody == null && inputBody != null) {
+          if (bodyUnusable(input)) {
+            throw new TypeError(
+              "Cannot construct a Request with a Request object that has already been used."
+            );
+          }
+          const identityTransform = new TransformStream();
+          inputBody.stream.pipeThrough(identityTransform);
+          finalBody = {
+            source: inputBody.source,
+            length: inputBody.length,
+            stream: identityTransform.readable
+          };
+        }
+        this[kState].body = finalBody;
       }
-      createMockScopeDispatchData(statusCode, data, responseOptions = {}) {
-        const responseData = getResponseData2(data);
-        const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
-        const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
-        const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
-        return { statusCode, data, headers, trailers };
+      // Returns request’s HTTP method, which is "GET" by default.
+      get method() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].method;
       }
-      validateReplyParameters(statusCode, data, responseOptions) {
-        if (typeof statusCode === "undefined") {
-          throw new InvalidArgumentError("statusCode must be defined");
-        }
-        if (typeof data === "undefined") {
-          throw new InvalidArgumentError("data must be defined");
+      // Returns the URL of request as a string.
+      get url() {
+        webidl.brandCheck(this, _Request);
+        return URLSerializer(this[kState].url);
+      }
+      // Returns a Headers object consisting of the headers associated with request.
+      // Note that headers added in the network layer by the user agent will not
+      // be accounted for in this object, e.g., the "Host" header.
+      get headers() {
+        webidl.brandCheck(this, _Request);
+        return this[kHeaders];
+      }
+      // Returns the kind of resource requested by request, e.g., "document"
+      // or "script".
+      get destination() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].destination;
+      }
+      // Returns the referrer of request. Its value can be a same-origin URL if
+      // explicitly set in init, the empty string to indicate no referrer, and
+      // "about:client" when defaulting to the global’s default. This is used
+      // during fetching to determine the value of the `Referer` header of the
+      // request being made.
+      get referrer() {
+        webidl.brandCheck(this, _Request);
+        if (this[kState].referrer === "no-referrer") {
+          return "";
         }
-        if (typeof responseOptions !== "object") {
-          throw new InvalidArgumentError("responseOptions must be an object");
+        if (this[kState].referrer === "client") {
+          return "about:client";
         }
+        return this[kState].referrer.toString();
       }
-      /**
-       * Mock an undici request with a defined reply.
-       */
-      reply(replyData) {
-        if (typeof replyData === "function") {
-          const wrappedDefaultsCallback = (opts) => {
-            const resolvedData = replyData(opts);
-            if (typeof resolvedData !== "object") {
-              throw new InvalidArgumentError("reply options callback must return an object");
-            }
-            const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData;
-            this.validateReplyParameters(statusCode2, data2, responseOptions2);
-            return {
-              ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2)
-            };
-          };
-          const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback);
-          return new MockScope(newMockDispatch2);
-        }
-        const [statusCode, data = "", responseOptions = {}] = [...arguments];
-        this.validateReplyParameters(statusCode, data, responseOptions);
-        const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions);
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData);
-        return new MockScope(newMockDispatch);
+      // Returns the referrer policy associated with request.
+      // This is used during fetching to compute the value of the request’s
+      // referrer.
+      get referrerPolicy() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].referrerPolicy;
       }
-      /**
-       * Mock an undici request with a defined error.
-       */
-      replyWithError(error3) {
-        if (typeof error3 === "undefined") {
-          throw new InvalidArgumentError("error must be defined");
-        }
-        const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error3 });
-        return new MockScope(newMockDispatch);
+      // Returns the mode associated with request, which is a string indicating
+      // whether the request will use CORS, or will be restricted to same-origin
+      // URLs.
+      get mode() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].mode;
       }
-      /**
-       * Set default reply headers on the interceptor for subsequent replies
-       */
-      defaultReplyHeaders(headers) {
-        if (typeof headers === "undefined") {
-          throw new InvalidArgumentError("headers must be defined");
-        }
-        this[kDefaultHeaders] = headers;
-        return this;
+      // Returns the credentials mode associated with request,
+      // which is a string indicating whether credentials will be sent with the
+      // request always, never, or only when sent to a same-origin URL.
+      get credentials() {
+        return this[kState].credentials;
       }
-      /**
-       * Set default reply trailers on the interceptor for subsequent replies
-       */
-      defaultReplyTrailers(trailers) {
-        if (typeof trailers === "undefined") {
-          throw new InvalidArgumentError("trailers must be defined");
-        }
-        this[kDefaultTrailers] = trailers;
-        return this;
+      // Returns the cache mode associated with request,
+      // which is a string indicating how the request will
+      // interact with the browser’s cache when fetching.
+      get cache() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].cache;
       }
-      /**
-       * Set reply content length header for replies on the interceptor
-       */
-      replyContentLength() {
-        this[kContentLength] = true;
-        return this;
+      // Returns the redirect mode associated with request,
+      // which is a string indicating how redirects for the
+      // request will be handled during fetching. A request
+      // will follow redirects by default.
+      get redirect() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].redirect;
       }
-    };
-    module2.exports.MockInterceptor = MockInterceptor;
-    module2.exports.MockScope = MockScope;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-client.js
-var require_mock_client2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Client = require_client2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockClient = class extends Client {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns request’s subresource integrity metadata, which is a
+      // cryptographic hash of the resource being fetched. Its value
+      // consists of multiple hashes separated by whitespace. [SRI]
+      get integrity() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].integrity;
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      // Returns a boolean indicating whether or not request can outlive the
+      // global in which it was created.
+      get keepalive() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].keepalive;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      // Returns a boolean indicating whether or not request is for a reload
+      // navigation.
+      get isReloadNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].reloadNavigation;
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      // Returns a boolean indicating whether or not request is for a history
+      // navigation (a.k.a. back-forward navigation).
+      get isHistoryNavigation() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].historyNavigation;
       }
-    };
-    module2.exports = MockClient;
-  }
-});
-
-// node_modules/undici/lib/mock/mock-pool.js
-var require_mock_pool2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
-    "use strict";
-    var { promisify } = require("util");
-    var Pool = require_pool2();
-    var { buildMockDispatch } = require_mock_utils2();
-    var {
-      kDispatches,
-      kMockAgent,
-      kClose,
-      kOriginalClose,
-      kOrigin,
-      kOriginalDispatch,
-      kConnected
-    } = require_mock_symbols2();
-    var { MockInterceptor } = require_mock_interceptor2();
-    var Symbols = require_symbols6();
-    var { InvalidArgumentError } = require_errors2();
-    var MockPool = class extends Pool {
-      constructor(origin, opts) {
-        super(origin, opts);
-        if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
-        }
-        this[kMockAgent] = opts.agent;
-        this[kOrigin] = origin;
-        this[kDispatches] = [];
-        this[kConnected] = 1;
-        this[kOriginalDispatch] = this.dispatch;
-        this[kOriginalClose] = this.close.bind(this);
-        this.dispatch = buildMockDispatch.call(this);
-        this.close = this[kClose];
+      // Returns the signal associated with request, which is an AbortSignal
+      // object indicating whether or not request has been aborted, and its
+      // abort event handler.
+      get signal() {
+        webidl.brandCheck(this, _Request);
+        return this[kSignal];
       }
-      get [Symbols.kConnected]() {
-        return this[kConnected];
+      get body() {
+        webidl.brandCheck(this, _Request);
+        return this[kState].body ? this[kState].body.stream : null;
       }
-      /**
-       * Sets up the base interceptor for mocking replies from undici.
-       */
-      intercept(opts) {
-        return new MockInterceptor(opts, this[kDispatches]);
+      get bodyUsed() {
+        webidl.brandCheck(this, _Request);
+        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
       }
-      async [kClose]() {
-        await promisify(this[kOriginalClose])();
-        this[kConnected] = 0;
-        this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
+      get duplex() {
+        webidl.brandCheck(this, _Request);
+        return "half";
       }
-    };
-    module2.exports = MockPool;
-  }
-});
-
-// node_modules/undici/lib/mock/pluralizer.js
-var require_pluralizer2 = __commonJS({
-  "node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) {
-    "use strict";
-    var singulars = {
-      pronoun: "it",
-      is: "is",
-      was: "was",
-      this: "this"
-    };
-    var plurals = {
-      pronoun: "they",
-      is: "are",
-      was: "were",
-      this: "these"
-    };
-    module2.exports = class Pluralizer {
-      constructor(singular, plural) {
-        this.singular = singular;
-        this.plural = plural;
+      // Returns a clone of request.
+      clone() {
+        webidl.brandCheck(this, _Request);
+        if (bodyUnusable(this)) {
+          throw new TypeError("unusable");
+        }
+        const clonedRequest = cloneRequest(this[kState]);
+        const ac = new AbortController();
+        if (this.signal.aborted) {
+          ac.abort(this.signal.reason);
+        } else {
+          let list = dependentControllerMap.get(this.signal);
+          if (list === void 0) {
+            list = /* @__PURE__ */ new Set();
+            dependentControllerMap.set(this.signal, list);
+          }
+          const acRef = new WeakRef(ac);
+          list.add(acRef);
+          util.addAbortListener(
+            ac.signal,
+            buildAbort(acRef)
+          );
+        }
+        return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]));
       }
-      pluralize(count) {
-        const one = count === 1;
-        const keys = one ? singulars : plurals;
-        const noun = one ? this.singular : this.plural;
-        return { ...keys, count, noun };
+      [nodeUtil.inspect.custom](depth, options) {
+        if (options.depth === null) {
+          options.depth = 2;
+        }
+        options.colors ??= true;
+        const properties = {
+          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 ${nodeUtil.formatWithOptions(options, properties)}`;
       }
     };
-  }
-});
-
-// node_modules/undici/lib/mock/pending-interceptors-formatter.js
-var require_pending_interceptors_formatter2 = __commonJS({
-  "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
-    "use strict";
-    var { Transform } = require("stream");
-    var { Console } = require("console");
-    module2.exports = class PendingInterceptorsFormatter {
-      constructor({ disableColors } = {}) {
-        this.transform = new Transform({
-          transform(chunk, _enc, cb) {
-            cb(null, chunk);
-          }
-        });
-        this.logger = new Console({
-          stdout: this.transform,
-          inspectOptions: {
-            colors: !disableColors && !process.env.CI
-          }
-        });
+    mixinBody(Request);
+    function makeRequest(init) {
+      return {
+        method: init.method ?? "GET",
+        localURLsOnly: init.localURLsOnly ?? false,
+        unsafeRequest: init.unsafeRequest ?? false,
+        body: init.body ?? null,
+        client: init.client ?? null,
+        reservedClient: init.reservedClient ?? null,
+        replacesClientId: init.replacesClientId ?? "",
+        window: init.window ?? "client",
+        keepalive: init.keepalive ?? false,
+        serviceWorkers: init.serviceWorkers ?? "all",
+        initiator: init.initiator ?? "",
+        destination: init.destination ?? "",
+        priority: init.priority ?? null,
+        origin: init.origin ?? "client",
+        policyContainer: init.policyContainer ?? "client",
+        referrer: init.referrer ?? "client",
+        referrerPolicy: init.referrerPolicy ?? "",
+        mode: init.mode ?? "no-cors",
+        useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
+        credentials: init.credentials ?? "same-origin",
+        useCredentials: init.useCredentials ?? false,
+        cache: init.cache ?? "default",
+        redirect: init.redirect ?? "follow",
+        integrity: init.integrity ?? "",
+        cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "",
+        parserMetadata: init.parserMetadata ?? "",
+        reloadNavigation: init.reloadNavigation ?? false,
+        historyNavigation: init.historyNavigation ?? false,
+        userActivation: init.userActivation ?? false,
+        taintedOrigin: init.taintedOrigin ?? false,
+        redirectCount: init.redirectCount ?? 0,
+        responseTainting: init.responseTainting ?? "basic",
+        preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
+        done: init.done ?? false,
+        timingAllowFailed: init.timingAllowFailed ?? false,
+        urlList: init.urlList,
+        url: init.urlList[0],
+        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
+      };
+    }
+    function cloneRequest(request2) {
+      const newRequest = makeRequest({ ...request2, body: null });
+      if (request2.body != null) {
+        newRequest.body = cloneBody(newRequest, request2.body);
       }
-      format(pendingInterceptors) {
-        const withPrettyHeaders = pendingInterceptors.map(
-          ({ method, path: path12, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
-            Method: method,
-            Origin: origin,
-            Path: path12,
-            "Status code": statusCode,
-            Persistent: persist ? "\u2705" : "\u274C",
-            Invocations: timesInvoked,
-            Remaining: persist ? Infinity : times - timesInvoked
-          })
-        );
-        this.logger.table(withPrettyHeaders);
-        return this.transform.read().toString();
+      return newRequest;
+    }
+    function fromInnerRequest(innerRequest, signal, guard) {
+      const request2 = new Request(kConstruct);
+      request2[kState] = innerRequest;
+      request2[kSignal] = signal;
+      request2[kHeaders] = new Headers(kConstruct);
+      setHeadersList(request2[kHeaders], innerRequest.headersList);
+      setHeadersGuard(request2[kHeaders], guard);
+      return request2;
+    }
+    Object.defineProperties(Request.prototype, {
+      method: kEnumerableProperty,
+      url: kEnumerableProperty,
+      headers: kEnumerableProperty,
+      redirect: kEnumerableProperty,
+      clone: kEnumerableProperty,
+      signal: kEnumerableProperty,
+      duplex: kEnumerableProperty,
+      destination: kEnumerableProperty,
+      body: kEnumerableProperty,
+      bodyUsed: kEnumerableProperty,
+      isHistoryNavigation: kEnumerableProperty,
+      isReloadNavigation: kEnumerableProperty,
+      keepalive: kEnumerableProperty,
+      integrity: kEnumerableProperty,
+      cache: kEnumerableProperty,
+      credentials: kEnumerableProperty,
+      attribute: kEnumerableProperty,
+      referrerPolicy: kEnumerableProperty,
+      referrer: kEnumerableProperty,
+      mode: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "Request",
+        configurable: true
+      }
+    });
+    webidl.converters.Request = webidl.interfaceConverter(
+      Request
+    );
+    webidl.converters.RequestInfo = function(V, prefix, argument) {
+      if (typeof V === "string") {
+        return webidl.converters.USVString(V, prefix, argument);
+      }
+      if (V instanceof Request) {
+        return webidl.converters.Request(V, prefix, argument);
       }
+      return webidl.converters.USVString(V, prefix, argument);
     };
-  }
-});
-
-// node_modules/undici/lib/mock/mock-agent.js
-var require_mock_agent2 = __commonJS({
-  "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
-    "use strict";
-    var { kClients } = require_symbols6();
-    var Agent = require_agent2();
-    var {
-      kAgent,
-      kMockAgentSet,
-      kMockAgentGet,
-      kDispatches,
-      kIsMockActive,
-      kNetConnect,
-      kGetNetConnect,
-      kOptions,
-      kFactory
-    } = require_mock_symbols2();
-    var MockClient = require_mock_client2();
-    var MockPool = require_mock_pool2();
-    var { matchValue, buildMockOptions } = require_mock_utils2();
-    var { InvalidArgumentError, UndiciError } = require_errors2();
-    var Dispatcher = require_dispatcher2();
-    var Pluralizer = require_pluralizer2();
-    var PendingInterceptorsFormatter = require_pending_interceptors_formatter2();
-    var FakeWeakRef = class {
-      constructor(value) {
-        this.value = value;
+    webidl.converters.AbortSignal = webidl.interfaceConverter(
+      AbortSignal
+    );
+    webidl.converters.RequestInit = webidl.dictionaryConverter([
+      {
+        key: "method",
+        converter: webidl.converters.ByteString
+      },
+      {
+        key: "headers",
+        converter: webidl.converters.HeadersInit
+      },
+      {
+        key: "body",
+        converter: webidl.nullableConverter(
+          webidl.converters.BodyInit
+        )
+      },
+      {
+        key: "referrer",
+        converter: webidl.converters.USVString
+      },
+      {
+        key: "referrerPolicy",
+        converter: webidl.converters.DOMString,
+        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
+        allowedValues: referrerPolicy
+      },
+      {
+        key: "mode",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#concept-request-mode
+        allowedValues: requestMode
+      },
+      {
+        key: "credentials",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcredentials
+        allowedValues: requestCredentials
+      },
+      {
+        key: "cache",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestcache
+        allowedValues: requestCache
+      },
+      {
+        key: "redirect",
+        converter: webidl.converters.DOMString,
+        // https://fetch.spec.whatwg.org/#requestredirect
+        allowedValues: requestRedirect
+      },
+      {
+        key: "integrity",
+        converter: webidl.converters.DOMString
+      },
+      {
+        key: "keepalive",
+        converter: webidl.converters.boolean
+      },
+      {
+        key: "signal",
+        converter: webidl.nullableConverter(
+          (signal) => webidl.converters.AbortSignal(
+            signal,
+            "RequestInit",
+            "signal",
+            { strict: false }
+          )
+        )
+      },
+      {
+        key: "window",
+        converter: webidl.converters.any
+      },
+      {
+        key: "duplex",
+        converter: webidl.converters.DOMString,
+        allowedValues: requestDuplex
+      },
+      {
+        key: "dispatcher",
+        // undici specific option
+        converter: webidl.converters.any
       }
-      deref() {
-        return this.value;
+    ]);
+    module2.exports = { Request, makeRequest, fromInnerRequest, cloneRequest };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js
+var require_fetch2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
+    "use strict";
+    var {
+      makeNetworkError,
+      makeAppropriateNetworkError,
+      filterResponse,
+      makeResponse,
+      fromInnerResponse
+    } = require_response2();
+    var { HeadersList } = require_headers2();
+    var { Request, cloneRequest } = require_request4();
+    var zlib2 = require("node:zlib");
+    var {
+      bytesMatch,
+      makePolicyContainer,
+      clonePolicyContainer,
+      requestBadPort,
+      TAOCheck,
+      appendRequestOriginHeader,
+      responseLocationURL,
+      requestCurrentURL,
+      setRequestReferrerPolicyOnRedirect,
+      tryUpgradeRequestToAPotentiallyTrustworthyURL,
+      createOpaqueTimingInfo,
+      appendFetchMetadata,
+      corsCheck,
+      crossOriginResourcePolicyCheck,
+      determineRequestsReferrer,
+      coarsenedSharedCurrentTime,
+      createDeferredPromise,
+      isBlobLike,
+      sameOrigin,
+      isCancelled,
+      isAborted,
+      isErrorLike,
+      fullyReadBody,
+      readableStreamClose,
+      isomorphicEncode,
+      urlIsLocal,
+      urlIsHttpHttpsScheme,
+      urlHasHttpsScheme,
+      clampAndCoarsenConnectionTimingInfo,
+      simpleRangeHeaderValue,
+      buildContentRange,
+      createInflate,
+      extractMimeType
+    } = require_util10();
+    var { kState, kDispatcher } = require_symbols7();
+    var assert = require("node:assert");
+    var { safelyExtractBody, extractBody } = require_body2();
+    var {
+      redirectStatusSet,
+      nullBodyStatus,
+      safeMethodsSet,
+      requestBodyHeader,
+      subresourceSet
+    } = require_constants8();
+    var EE = require("node:events");
+    var { Readable: Readable2, pipeline, finished } = require("node:stream");
+    var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util9();
+    var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url2();
+    var { getGlobalDispatcher } = require_global4();
+    var { webidl } = require_webidl2();
+    var { STATUS_CODES } = require("node:http");
+    var GET_OR_HEAD = ["GET", "HEAD"];
+    var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
+    var resolveObjectURL;
+    var Fetch = class extends EE {
+      constructor(dispatcher) {
+        super();
+        this.dispatcher = dispatcher;
+        this.connection = null;
+        this.dump = false;
+        this.state = "ongoing";
       }
-    };
-    var MockAgent = class extends Dispatcher {
-      constructor(opts) {
-        super(opts);
-        this[kNetConnect] = true;
-        this[kIsMockActive] = true;
-        if (opts && opts.agent && typeof opts.agent.dispatch !== "function") {
-          throw new InvalidArgumentError("Argument opts.agent must implement Agent");
+      terminate(reason) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        const agent = opts && opts.agent ? opts.agent : new Agent(opts);
-        this[kAgent] = agent;
-        this[kClients] = agent[kClients];
-        this[kOptions] = buildMockOptions(opts);
+        this.state = "terminated";
+        this.connection?.destroy(reason);
+        this.emit("terminated", reason);
       }
-      get(origin) {
-        let dispatcher = this[kMockAgentGet](origin);
-        if (!dispatcher) {
-          dispatcher = this[kFactory](origin);
-          this[kMockAgentSet](origin, dispatcher);
+      // https://fetch.spec.whatwg.org/#fetch-controller-abort
+      abort(error3) {
+        if (this.state !== "ongoing") {
+          return;
         }
-        return dispatcher;
-      }
-      dispatch(opts, handler2) {
-        this.get(opts.origin);
-        return this[kAgent].dispatch(opts, handler2);
-      }
-      async close() {
-        await this[kAgent].close();
-        this[kClients].clear();
-      }
-      deactivate() {
-        this[kIsMockActive] = false;
-      }
-      activate() {
-        this[kIsMockActive] = true;
-      }
-      enableNetConnect(matcher) {
-        if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
-          if (Array.isArray(this[kNetConnect])) {
-            this[kNetConnect].push(matcher);
-          } else {
-            this[kNetConnect] = [matcher];
-          }
-        } else if (typeof matcher === "undefined") {
-          this[kNetConnect] = true;
-        } else {
-          throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
+        this.state = "aborted";
+        if (!error3) {
+          error3 = new DOMException("The operation was aborted.", "AbortError");
         }
+        this.serializedAbortReason = error3;
+        this.connection?.destroy(error3);
+        this.emit("terminated", error3);
       }
-      disableNetConnect() {
-        this[kNetConnect] = false;
-      }
-      // This is required to bypass issues caused by using global symbols - see:
-      // https://github.com/nodejs/undici/issues/1447
-      get isMockActive() {
-        return this[kIsMockActive];
+    };
+    function handleFetchDone(response) {
+      finalizeAndReportTiming(response, "fetch");
+    }
+    function fetch(input, init = void 0) {
+      webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
+      let p = createDeferredPromise();
+      let requestObject;
+      try {
+        requestObject = new Request(input, init);
+      } catch (e) {
+        p.reject(e);
+        return p.promise;
       }
-      [kMockAgentSet](origin, dispatcher) {
-        this[kClients].set(origin, new FakeWeakRef(dispatcher));
+      const request2 = requestObject[kState];
+      if (requestObject.signal.aborted) {
+        abortFetch(p, request2, null, requestObject.signal.reason);
+        return p.promise;
       }
-      [kFactory](origin) {
-        const mockOptions = Object.assign({ agent: this }, this[kOptions]);
-        return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
+      const globalObject = request2.client.globalObject;
+      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
+        request2.serviceWorkers = "none";
       }
-      [kMockAgentGet](origin) {
-        const ref = this[kClients].get(origin);
-        if (ref) {
-          return ref.deref();
+      let responseObject = null;
+      let locallyAborted = false;
+      let controller = null;
+      addAbortListener(
+        requestObject.signal,
+        () => {
+          locallyAborted = true;
+          assert(controller != null);
+          controller.abort(requestObject.signal.reason);
+          const realResponse = responseObject?.deref();
+          abortFetch(p, request2, realResponse, requestObject.signal.reason);
         }
-        if (typeof origin !== "string") {
-          const dispatcher = this[kFactory]("http://localhost:9999");
-          this[kMockAgentSet](origin, dispatcher);
-          return dispatcher;
+      );
+      const processResponse = (response) => {
+        if (locallyAborted) {
+          return;
         }
-        for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) {
-          const nonExplicitDispatcher = nonExplicitRef.deref();
-          if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
-            const dispatcher = this[kFactory](origin);
-            this[kMockAgentSet](origin, dispatcher);
-            dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches];
-            return dispatcher;
-          }
+        if (response.aborted) {
+          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
+          return;
+        }
+        if (response.type === "error") {
+          p.reject(new TypeError("fetch failed", { cause: response.error }));
+          return;
         }
+        responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
+        p.resolve(responseObject.deref());
+        p = null;
+      };
+      controller = fetching({
+        request: request2,
+        processResponseEndOfBody: handleFetchDone,
+        processResponse,
+        dispatcher: requestObject[kDispatcher]
+        // undici
+      });
+      return p.promise;
+    }
+    function finalizeAndReportTiming(response, initiatorType = "other") {
+      if (response.type === "error" && response.aborted) {
+        return;
       }
-      [kGetNetConnect]() {
-        return this[kNetConnect];
+      if (!response.urlList?.length) {
+        return;
       }
-      pendingInterceptors() {
-        const mockAgentClients = this[kClients];
-        return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
+      const originalURL = response.urlList[0];
+      let timingInfo = response.timingInfo;
+      let cacheState = response.cacheState;
+      if (!urlIsHttpHttpsScheme(originalURL)) {
+        return;
       }
-      assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
-        const pending = this.pendingInterceptors();
-        if (pending.length === 0) {
-          return;
-        }
-        const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length);
-        throw new UndiciError(`
-${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:
-
-${pendingInterceptorsFormatter.format(pending)}
-`.trim());
+      if (timingInfo === null) {
+        return;
       }
-    };
-    module2.exports = MockAgent;
-  }
-});
-
-// node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent2 = __commonJS({
-  "node_modules/undici/lib/proxy-agent.js"(exports2, module2) {
-    "use strict";
-    var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols6();
-    var { URL: URL2 } = require("url");
-    var Agent = require_agent2();
-    var Pool = require_pool2();
-    var DispatcherBase = require_dispatcher_base2();
-    var { InvalidArgumentError, RequestAbortedError } = require_errors2();
-    var buildConnector = require_connect2();
-    var kAgent = /* @__PURE__ */ Symbol("proxy agent");
-    var kClient = /* @__PURE__ */ Symbol("proxy client");
-    var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
-    var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
-    var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
-    var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
-    function defaultProtocolPort(protocol) {
-      return protocol === "https:" ? 443 : 80;
+      if (!response.timingAllowPassed) {
+        timingInfo = createOpaqueTimingInfo({
+          startTime: timingInfo.startTime
+        });
+        cacheState = "";
+      }
+      timingInfo.endTime = coarsenedSharedCurrentTime();
+      response.timingInfo = timingInfo;
+      markResourceTiming(
+        timingInfo,
+        originalURL.href,
+        initiatorType,
+        globalThis,
+        cacheState
+      );
     }
-    function buildProxyOptions(opts) {
-      if (typeof opts === "string") {
-        opts = { uri: opts };
+    var markResourceTiming = performance.markResourceTiming;
+    function abortFetch(p, request2, responseObject, error3) {
+      if (p) {
+        p.reject(error3);
       }
-      if (!opts || !opts.uri) {
-        throw new InvalidArgumentError("Proxy opts.uri is mandatory");
+      if (request2.body != null && isReadable(request2.body?.stream)) {
+        request2.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
+          }
+          throw err;
+        });
       }
-      return {
-        uri: opts.uri,
-        protocol: opts.protocol || "https"
-      };
-    }
-    function defaultFactory(origin, opts) {
-      return new Pool(origin, opts);
-    }
-    var ProxyAgent = class extends DispatcherBase {
-      constructor(opts) {
-        super(opts);
-        this[kProxy] = buildProxyOptions(opts);
-        this[kAgent] = new Agent(opts);
-        this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
-        if (typeof opts === "string") {
-          opts = { uri: opts };
-        }
-        if (!opts || !opts.uri) {
-          throw new InvalidArgumentError("Proxy opts.uri is mandatory");
-        }
-        const { clientFactory = defaultFactory } = opts;
-        if (typeof clientFactory !== "function") {
-          throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
-        }
-        this[kRequestTls] = opts.requestTls;
-        this[kProxyTls] = opts.proxyTls;
-        this[kProxyHeaders] = opts.headers || {};
-        const resolvedUrl = new URL2(opts.uri);
-        const { origin, port, host, username, password } = resolvedUrl;
-        if (opts.auth && opts.token) {
-          throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
-        } else if (opts.auth) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
-        } else if (opts.token) {
-          this[kProxyHeaders]["proxy-authorization"] = opts.token;
-        } else if (username && password) {
-          this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
-        }
-        const connect = buildConnector({ ...opts.proxyTls });
-        this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
-        this[kClient] = clientFactory(resolvedUrl, { connect });
-        this[kAgent] = new Agent({
-          ...opts,
-          connect: async (opts2, callback) => {
-            let requestedHost = opts2.host;
-            if (!opts2.port) {
-              requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
-            }
-            try {
-              const { socket, statusCode } = await this[kClient].connect({
-                origin,
-                port,
-                path: requestedHost,
-                signal: opts2.signal,
-                headers: {
-                  ...this[kProxyHeaders],
-                  host
-                }
-              });
-              if (statusCode !== 200) {
-                socket.on("error", () => {
-                }).destroy();
-                callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
-              }
-              if (opts2.protocol !== "https:") {
-                callback(null, socket);
-                return;
-              }
-              let servername;
-              if (this[kRequestTls]) {
-                servername = this[kRequestTls].servername;
-              } else {
-                servername = opts2.servername;
-              }
-              this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
-            } catch (err) {
-              callback(err);
-            }
+      if (responseObject == null) {
+        return;
+      }
+      const response = responseObject[kState];
+      if (response.body != null && isReadable(response.body?.stream)) {
+        response.body.stream.cancel(error3).catch((err) => {
+          if (err.code === "ERR_INVALID_STATE") {
+            return;
           }
+          throw err;
         });
       }
-      dispatch(opts, handler2) {
-        const { host } = new URL2(opts.origin);
-        const headers = buildHeaders(opts.headers);
-        throwIfProxyAuthIsSent(headers);
-        return this[kAgent].dispatch(
-          {
-            ...opts,
-            headers: {
-              ...headers,
-              host
-            }
-          },
-          handler2
-        );
+    }
+    function fetching({
+      request: request2,
+      processRequestBodyChunkLength,
+      processRequestEndOfBody,
+      processResponse,
+      processResponseEndOfBody,
+      processResponseConsumeBody,
+      useParallelQueue = false,
+      dispatcher = getGlobalDispatcher()
+      // undici
+    }) {
+      assert(dispatcher);
+      let taskDestination = null;
+      let crossOriginIsolatedCapability = false;
+      if (request2.client != null) {
+        taskDestination = request2.client.globalObject;
+        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
       }
-      async [kClose]() {
-        await this[kAgent].close();
-        await this[kClient].close();
+      const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
+      const timingInfo = createOpaqueTimingInfo({
+        startTime: currentTime
+      });
+      const fetchParams = {
+        controller: new Fetch(dispatcher),
+        request: request2,
+        timingInfo,
+        processRequestBodyChunkLength,
+        processRequestEndOfBody,
+        processResponse,
+        processResponseConsumeBody,
+        processResponseEndOfBody,
+        taskDestination,
+        crossOriginIsolatedCapability
+      };
+      assert(!request2.body || request2.body.stream);
+      if (request2.window === "client") {
+        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
       }
-      async [kDestroy]() {
-        await this[kAgent].destroy();
-        await this[kClient].destroy();
+      if (request2.origin === "client") {
+        request2.origin = request2.client.origin;
       }
-    };
-    function buildHeaders(headers) {
-      if (Array.isArray(headers)) {
-        const headersPair = {};
-        for (let i = 0; i < headers.length; i += 2) {
-          headersPair[headers[i]] = headers[i + 1];
+      if (request2.policyContainer === "client") {
+        if (request2.client != null) {
+          request2.policyContainer = clonePolicyContainer(
+            request2.client.policyContainer
+          );
+        } else {
+          request2.policyContainer = makePolicyContainer();
         }
-        return headersPair;
       }
-      return headers;
-    }
-    function throwIfProxyAuthIsSent(headers) {
-      const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
-      if (existProxyAuth) {
-        throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
+      if (!request2.headersList.contains("accept", true)) {
+        const value = "*/*";
+        request2.headersList.append("accept", value, true);
       }
-    }
-    module2.exports = ProxyAgent;
-  }
-});
-
-// node_modules/undici/lib/handler/RetryHandler.js
-var require_RetryHandler = __commonJS({
-  "node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) {
-    var assert = require("assert");
-    var { kRetryHandlerDefaultRetry } = require_symbols6();
-    var { RequestRetryError } = require_errors2();
-    var { isDisturbed, parseHeaders, parseRangeHeader } = require_util9();
-    function calculateRetryAfterHeader(retryAfter) {
-      const current = Date.now();
-      const diff = new Date(retryAfter).getTime() - current;
-      return diff;
-    }
-    var RetryHandler = class _RetryHandler {
-      constructor(opts, handlers) {
-        const { retryOptions, ...dispatchOpts } = opts;
-        const {
-          // Retry scoped
-          retry: retryFn,
-          maxRetries,
-          maxTimeout,
-          minTimeout,
-          timeoutFactor,
-          // Response scoped
-          methods,
-          errorCodes,
-          retryAfter,
-          statusCodes
-        } = retryOptions ?? {};
-        this.dispatch = handlers.dispatch;
-        this.handler = handlers.handler;
-        this.opts = dispatchOpts;
-        this.abort = null;
-        this.aborted = false;
-        this.retryOpts = {
-          retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
-          retryAfter: retryAfter ?? true,
-          maxTimeout: maxTimeout ?? 30 * 1e3,
-          // 30s,
-          timeout: minTimeout ?? 500,
-          // .5s
-          timeoutFactor: timeoutFactor ?? 2,
-          maxRetries: maxRetries ?? 5,
-          // What errors we should retry
-          methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
-          // Indicates which errors to retry
-          statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
-          // List of errors to retry
-          errorCodes: errorCodes ?? [
-            "ECONNRESET",
-            "ECONNREFUSED",
-            "ENOTFOUND",
-            "ENETDOWN",
-            "ENETUNREACH",
-            "EHOSTDOWN",
-            "EHOSTUNREACH",
-            "EPIPE"
-          ]
-        };
-        this.retryCount = 0;
-        this.start = 0;
-        this.end = null;
-        this.etag = null;
-        this.resume = null;
-        this.handler.onConnect((reason) => {
-          this.aborted = true;
-          if (this.abort) {
-            this.abort(reason);
-          } else {
-            this.reason = reason;
+      if (!request2.headersList.contains("accept-language", true)) {
+        request2.headersList.append("accept-language", "*", true);
+      }
+      if (request2.priority === null) {
+      }
+      if (subresourceSet.has(request2.destination)) {
+      }
+      mainFetch(fetchParams).catch((err) => {
+        fetchParams.controller.terminate(err);
+      });
+      return fetchParams.controller;
+    }
+    async function mainFetch(fetchParams, recursive = false) {
+      const request2 = fetchParams.request;
+      let response = null;
+      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
+        response = makeNetworkError("local URLs only");
+      }
+      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
+      if (requestBadPort(request2) === "blocked") {
+        response = makeNetworkError("bad port");
+      }
+      if (request2.referrerPolicy === "") {
+        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
+      }
+      if (request2.referrer !== "no-referrer") {
+        request2.referrer = determineRequestsReferrer(request2);
+      }
+      if (response === null) {
+        response = await (async () => {
+          const currentURL = requestCurrentURL(request2);
+          if (
+            // - request’s current URL’s origin is same origin with request’s origin,
+            //   and request’s response tainting is "basic"
+            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
+            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
+            (request2.mode === "navigate" || request2.mode === "websocket")
+          ) {
+            request2.responseTainting = "basic";
+            return await schemeFetch(fetchParams);
           }
-        });
+          if (request2.mode === "same-origin") {
+            return makeNetworkError('request mode cannot be "same-origin"');
+          }
+          if (request2.mode === "no-cors") {
+            if (request2.redirect !== "follow") {
+              return makeNetworkError(
+                'redirect mode cannot be "follow" for "no-cors" request'
+              );
+            }
+            request2.responseTainting = "opaque";
+            return await schemeFetch(fetchParams);
+          }
+          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
+            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          }
+          request2.responseTainting = "cors";
+          return await httpFetch(fetchParams);
+        })();
       }
-      onRequestSent() {
-        if (this.handler.onRequestSent) {
-          this.handler.onRequestSent();
-        }
+      if (recursive) {
+        return response;
       }
-      onUpgrade(statusCode, headers, socket) {
-        if (this.handler.onUpgrade) {
-          this.handler.onUpgrade(statusCode, headers, socket);
+      if (response.status !== 0 && !response.internalResponse) {
+        if (request2.responseTainting === "cors") {
         }
-      }
-      onConnect(abort) {
-        if (this.aborted) {
-          abort(this.reason);
+        if (request2.responseTainting === "basic") {
+          response = filterResponse(response, "basic");
+        } else if (request2.responseTainting === "cors") {
+          response = filterResponse(response, "cors");
+        } else if (request2.responseTainting === "opaque") {
+          response = filterResponse(response, "opaque");
         } else {
-          this.abort = abort;
+          assert(false);
         }
       }
-      onBodySent(chunk) {
-        if (this.handler.onBodySent) return this.handler.onBodySent(chunk);
+      let internalResponse = response.status === 0 ? response : response.internalResponse;
+      if (internalResponse.urlList.length === 0) {
+        internalResponse.urlList.push(...request2.urlList);
       }
-      static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
-        const { statusCode, code, headers } = err;
-        const { method, retryOptions } = opts;
-        const {
-          maxRetries,
-          timeout,
-          maxTimeout,
-          timeoutFactor,
-          statusCodes,
-          errorCodes,
-          methods
-        } = retryOptions;
-        let { counter, currentTimeout } = state;
-        currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout;
-        if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) {
-          cb(err);
+      if (!request2.timingAllowFailed) {
+        response.timingAllowPassed = true;
+      }
+      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range", true)) {
+        response = internalResponse = makeNetworkError();
+      }
+      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
+        internalResponse.body = null;
+        fetchParams.controller.dump = true;
+      }
+      if (request2.integrity) {
+        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
+        if (request2.responseTainting === "opaque" || response.body == null) {
+          processBodyError(response.error);
           return;
         }
-        if (Array.isArray(methods) && !methods.includes(method)) {
-          cb(err);
-          return;
+        const processBody = (bytes) => {
+          if (!bytesMatch(bytes, request2.integrity)) {
+            processBodyError("integrity mismatch");
+            return;
+          }
+          response.body = safelyExtractBody(bytes)[0];
+          fetchFinale(fetchParams, response);
+        };
+        await fullyReadBody(response.body, processBody, processBodyError);
+      } else {
+        fetchFinale(fetchParams, response);
+      }
+    }
+    function schemeFetch(fetchParams) {
+      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
+        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      }
+      const { request: request2 } = fetchParams;
+      const { protocol: scheme } = requestCurrentURL(request2);
+      switch (scheme) {
+        case "about:": {
+          return Promise.resolve(makeNetworkError("about scheme is not supported"));
         }
-        if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
-          cb(err);
-          return;
+        case "blob:": {
+          if (!resolveObjectURL) {
+            resolveObjectURL = require("node:buffer").resolveObjectURL;
+          }
+          const blobURLEntry = requestCurrentURL(request2);
+          if (blobURLEntry.search.length !== 0) {
+            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+          }
+          const blob = resolveObjectURL(blobURLEntry.toString());
+          if (request2.method !== "GET" || !isBlobLike(blob)) {
+            return Promise.resolve(makeNetworkError("invalid method"));
+          }
+          const response = makeResponse();
+          const fullLength = blob.size;
+          const serializedFullLength = isomorphicEncode(`${fullLength}`);
+          const type2 = blob.type;
+          if (!request2.headersList.contains("range", true)) {
+            const bodyWithType = extractBody(blob);
+            response.statusText = "OK";
+            response.body = bodyWithType[0];
+            response.headersList.set("content-length", serializedFullLength, true);
+            response.headersList.set("content-type", type2, true);
+          } else {
+            response.rangeRequested = true;
+            const rangeHeader = request2.headersList.get("range", true);
+            const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
+            if (rangeValue === "failure") {
+              return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+            }
+            let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
+            if (rangeStart === null) {
+              rangeStart = fullLength - rangeEnd;
+              rangeEnd = rangeStart + rangeEnd - 1;
+            } else {
+              if (rangeStart >= fullLength) {
+                return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
+              }
+              if (rangeEnd === null || rangeEnd >= fullLength) {
+                rangeEnd = fullLength - 1;
+              }
+            }
+            const slicedBlob = blob.slice(rangeStart, rangeEnd, type2);
+            const slicedBodyWithType = extractBody(slicedBlob);
+            response.body = slicedBodyWithType[0];
+            const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
+            const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
+            response.status = 206;
+            response.statusText = "Partial Content";
+            response.headersList.set("content-length", serializedSlicedLength, true);
+            response.headersList.set("content-type", type2, true);
+            response.headersList.set("content-range", contentRange, true);
+          }
+          return Promise.resolve(response);
         }
-        if (counter > maxRetries) {
-          cb(err);
-          return;
+        case "data:": {
+          const currentURL = requestCurrentURL(request2);
+          const dataURLStruct = dataURLProcessor(currentURL);
+          if (dataURLStruct === "failure") {
+            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+          }
+          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
+          return Promise.resolve(makeResponse({
+            statusText: "OK",
+            headersList: [
+              ["content-type", { name: "Content-Type", value: mimeType }]
+            ],
+            body: safelyExtractBody(dataURLStruct.body)[0]
+          }));
         }
-        let retryAfterHeader = headers != null && headers["retry-after"];
-        if (retryAfterHeader) {
-          retryAfterHeader = Number(retryAfterHeader);
-          retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3;
+        case "file:": {
+          return Promise.resolve(makeNetworkError("not implemented... yet..."));
+        }
+        case "http:":
+        case "https:": {
+          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        }
+        default: {
+          return Promise.resolve(makeNetworkError("unknown scheme"));
         }
-        const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout);
-        state.currentTimeout = retryTimeout;
-        setTimeout(() => cb(null), retryTimeout);
       }
-      onHeaders(statusCode, rawHeaders, resume, statusMessage) {
-        const headers = parseHeaders(rawHeaders);
-        this.retryCount += 1;
-        if (statusCode >= 300) {
-          this.abort(
-            new RequestRetryError("Request failed", statusCode, {
-              headers,
-              count: this.retryCount
-            })
-          );
-          return false;
+    }
+    function finalizeResponse(fetchParams, response) {
+      fetchParams.request.done = true;
+      if (fetchParams.processResponseDone != null) {
+        queueMicrotask(() => fetchParams.processResponseDone(response));
+      }
+    }
+    function fetchFinale(fetchParams, response) {
+      let timingInfo = fetchParams.timingInfo;
+      const processResponseEndOfBody = () => {
+        const unsafeEndTime = Date.now();
+        if (fetchParams.request.destination === "document") {
+          fetchParams.controller.fullTimingInfo = timingInfo;
         }
-        if (this.resume != null) {
-          this.resume = null;
-          if (statusCode !== 206) {
-            return true;
-          }
-          const contentRange = parseRangeHeader(headers["content-range"]);
-          if (!contentRange) {
-            this.abort(
-              new RequestRetryError("Content-Range mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+        fetchParams.controller.reportTimingSteps = () => {
+          if (fetchParams.request.url.protocol !== "https:") {
+            return;
           }
-          if (this.etag != null && this.etag !== headers.etag) {
-            this.abort(
-              new RequestRetryError("ETag mismatch", statusCode, {
-                headers,
-                count: this.retryCount
-              })
-            );
-            return false;
+          timingInfo.endTime = unsafeEndTime;
+          let cacheState = response.cacheState;
+          const bodyInfo = response.bodyInfo;
+          if (!response.timingAllowPassed) {
+            timingInfo = createOpaqueTimingInfo(timingInfo);
+            cacheState = "";
           }
-          const { start, size, end = size } = contentRange;
-          assert(this.start === start, "content-range mismatch");
-          assert(this.end == null || this.end === end, "content-range mismatch");
-          this.resume = resume;
-          return true;
-        }
-        if (this.end == null) {
-          if (statusCode === 206) {
-            const range = parseRangeHeader(headers["content-range"]);
-            if (range == null) {
-              return this.handler.onHeaders(
-                statusCode,
-                rawHeaders,
-                resume,
-                statusMessage
-              );
+          let responseStatus = 0;
+          if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
+            responseStatus = response.status;
+            const mimeType = extractMimeType(response.headersList);
+            if (mimeType !== "failure") {
+              bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
             }
-            const { start, size, end = size } = range;
-            assert(
-              start != null && Number.isFinite(start) && this.start !== start,
-              "content-range mismatch"
-            );
-            assert(Number.isFinite(start));
-            assert(
-              end != null && Number.isFinite(end) && this.end !== end,
-              "invalid content-length"
-            );
-            this.start = start;
-            this.end = end;
           }
-          if (this.end == null) {
-            const contentLength = headers["content-length"];
-            this.end = contentLength != null ? Number(contentLength) : null;
+          if (fetchParams.request.initiatorType != null) {
+            markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
           }
-          assert(Number.isFinite(this.start));
-          assert(
-            this.end == null || Number.isFinite(this.end),
-            "invalid content-length"
-          );
-          this.resume = resume;
-          this.etag = headers.etag != null ? headers.etag : null;
-          return this.handler.onHeaders(
-            statusCode,
-            rawHeaders,
-            resume,
-            statusMessage
-          );
-        }
-        const err = new RequestRetryError("Request failed", statusCode, {
-          headers,
-          count: this.retryCount
+        };
+        const processResponseEndOfBodyTask = () => {
+          fetchParams.request.done = true;
+          if (fetchParams.processResponseEndOfBody != null) {
+            queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
+          }
+          if (fetchParams.request.initiatorType != null) {
+            fetchParams.controller.reportTimingSteps();
+          }
+        };
+        queueMicrotask(() => processResponseEndOfBodyTask());
+      };
+      if (fetchParams.processResponse != null) {
+        queueMicrotask(() => {
+          fetchParams.processResponse(response);
+          fetchParams.processResponse = null;
         });
-        this.abort(err);
-        return false;
       }
-      onData(chunk) {
-        this.start += chunk.length;
-        return this.handler.onData(chunk);
+      const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
+      if (internalResponse.body == null) {
+        processResponseEndOfBody();
+      } else {
+        finished(internalResponse.body.stream, () => {
+          processResponseEndOfBody();
+        });
       }
-      onComplete(rawTrailers) {
-        this.retryCount = 0;
-        return this.handler.onComplete(rawTrailers);
+    }
+    async function httpFetch(fetchParams) {
+      const request2 = fetchParams.request;
+      let response = null;
+      let actualResponse = null;
+      const timingInfo = fetchParams.timingInfo;
+      if (request2.serviceWorkers === "all") {
       }
-      onError(err) {
-        if (this.aborted || isDisturbed(this.opts.body)) {
-          return this.handler.onError(err);
+      if (response === null) {
+        if (request2.redirect === "follow") {
+          request2.serviceWorkers = "none";
         }
-        this.retryOpts.retry(
-          err,
-          {
-            state: { counter: this.retryCount++, currentTimeout: this.retryAfter },
-            opts: { retryOptions: this.retryOpts, ...this.opts }
-          },
-          onRetry.bind(this)
-        );
-        function onRetry(err2) {
-          if (err2 != null || this.aborted || isDisturbed(this.opts.body)) {
-            return this.handler.onError(err2);
-          }
-          if (this.start !== 0) {
-            this.opts = {
-              ...this.opts,
-              headers: {
-                ...this.opts.headers,
-                range: `bytes=${this.start}-${this.end ?? ""}`
-              }
-            };
-          }
-          try {
-            this.dispatch(this.opts, this);
-          } catch (err3) {
-            this.handler.onError(err3);
-          }
+        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
+        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
+          return makeNetworkError("cors failure");
+        }
+        if (TAOCheck(request2, response) === "failure") {
+          request2.timingAllowFailed = true;
         }
       }
-    };
-    module2.exports = RetryHandler;
-  }
-});
-
-// node_modules/undici/lib/global.js
-var require_global4 = __commonJS({
-  "node_modules/undici/lib/global.js"(exports2, module2) {
-    "use strict";
-    var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
-    var { InvalidArgumentError } = require_errors2();
-    var Agent = require_agent2();
-    if (getGlobalDispatcher() === void 0) {
-      setGlobalDispatcher(new Agent());
-    }
-    function setGlobalDispatcher(agent) {
-      if (!agent || typeof agent.dispatch !== "function") {
-        throw new InvalidArgumentError("Argument agent must implement Agent");
+      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
+        request2.origin,
+        request2.client,
+        request2.destination,
+        actualResponse
+      ) === "blocked") {
+        return makeNetworkError("blocked");
       }
-      Object.defineProperty(globalThis, globalDispatcher, {
-        value: agent,
-        writable: true,
-        enumerable: false,
-        configurable: false
-      });
+      if (redirectStatusSet.has(actualResponse.status)) {
+        if (request2.redirect !== "manual") {
+          fetchParams.controller.connection.destroy(void 0, false);
+        }
+        if (request2.redirect === "error") {
+          response = makeNetworkError("unexpected redirect");
+        } else if (request2.redirect === "manual") {
+          response = actualResponse;
+        } else if (request2.redirect === "follow") {
+          response = await httpRedirectFetch(fetchParams, response);
+        } else {
+          assert(false);
+        }
+      }
+      response.timingInfo = timingInfo;
+      return response;
     }
-    function getGlobalDispatcher() {
-      return globalThis[globalDispatcher];
+    function httpRedirectFetch(fetchParams, response) {
+      const request2 = fetchParams.request;
+      const actualResponse = response.internalResponse ? response.internalResponse : response;
+      let locationURL;
+      try {
+        locationURL = responseLocationURL(
+          actualResponse,
+          requestCurrentURL(request2).hash
+        );
+        if (locationURL == null) {
+          return response;
+        }
+      } catch (err) {
+        return Promise.resolve(makeNetworkError(err));
+      }
+      if (!urlIsHttpHttpsScheme(locationURL)) {
+        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
+      }
+      if (request2.redirectCount === 20) {
+        return Promise.resolve(makeNetworkError("redirect count exceeded"));
+      }
+      request2.redirectCount += 1;
+      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
+        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
+      }
+      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
+        return Promise.resolve(makeNetworkError(
+          'URL cannot contain credentials for request mode "cors"'
+        ));
+      }
+      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
+        return Promise.resolve(makeNetworkError());
+      }
+      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
+        request2.method = "GET";
+        request2.body = null;
+        for (const headerName of requestBodyHeader) {
+          request2.headersList.delete(headerName);
+        }
+      }
+      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
+        request2.headersList.delete("authorization", true);
+        request2.headersList.delete("proxy-authorization", true);
+        request2.headersList.delete("cookie", true);
+        request2.headersList.delete("host", true);
+      }
+      if (request2.body != null) {
+        assert(request2.body.source != null);
+        request2.body = safelyExtractBody(request2.body.source)[0];
+      }
+      const timingInfo = fetchParams.timingInfo;
+      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+      if (timingInfo.redirectStartTime === 0) {
+        timingInfo.redirectStartTime = timingInfo.startTime;
+      }
+      request2.urlList.push(locationURL);
+      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
+      return mainFetch(fetchParams, true);
     }
-    module2.exports = {
-      setGlobalDispatcher,
-      getGlobalDispatcher
-    };
-  }
-});
-
-// node_modules/undici/lib/handler/DecoratorHandler.js
-var require_DecoratorHandler = __commonJS({
-  "node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) {
-    "use strict";
-    module2.exports = class DecoratorHandler {
-      constructor(handler2) {
-        this.handler = handler2;
+    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
+      const request2 = fetchParams.request;
+      let httpFetchParams = null;
+      let httpRequest = null;
+      let response = null;
+      const httpCache = null;
+      const revalidatingFlag = false;
+      if (request2.window === "no-window" && request2.redirect === "error") {
+        httpFetchParams = fetchParams;
+        httpRequest = request2;
+      } else {
+        httpRequest = cloneRequest(request2);
+        httpFetchParams = { ...fetchParams };
+        httpFetchParams.request = httpRequest;
       }
-      onConnect(...args) {
-        return this.handler.onConnect(...args);
+      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
+      const contentLength = httpRequest.body ? httpRequest.body.length : null;
+      let contentLengthHeaderValue = null;
+      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
+        contentLengthHeaderValue = "0";
       }
-      onError(...args) {
-        return this.handler.onError(...args);
+      if (contentLength != null) {
+        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
       }
-      onUpgrade(...args) {
-        return this.handler.onUpgrade(...args);
+      if (contentLengthHeaderValue != null) {
+        httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
       }
-      onHeaders(...args) {
-        return this.handler.onHeaders(...args);
+      if (contentLength != null && httpRequest.keepalive) {
       }
-      onData(...args) {
-        return this.handler.onData(...args);
+      if (httpRequest.referrer instanceof URL) {
+        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
       }
-      onComplete(...args) {
-        return this.handler.onComplete(...args);
+      appendRequestOriginHeader(httpRequest);
+      appendFetchMetadata(httpRequest);
+      if (!httpRequest.headersList.contains("user-agent", true)) {
+        httpRequest.headersList.append("user-agent", defaultUserAgent);
       }
-      onBodySent(...args) {
-        return this.handler.onBodySent(...args);
+      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
+        httpRequest.cache = "no-store";
       }
-    };
-  }
-});
-
-// node_modules/undici/lib/fetch/headers.js
-var require_headers2 = __commonJS({
-  "node_modules/undici/lib/fetch/headers.js"(exports2, module2) {
-    "use strict";
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var { kGuard } = require_symbols7();
-    var { kEnumerableProperty } = require_util9();
-    var {
-      makeIterator,
-      isValidHeaderName,
-      isValidHeaderValue
-    } = require_util10();
-    var util = require("util");
-    var { webidl } = require_webidl2();
-    var assert = require("assert");
-    var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
-    var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
-    function isHTTPWhiteSpaceCharCode(code) {
-      return code === 10 || code === 13 || code === 9 || code === 32;
-    }
-    function headerValueNormalize(potentialValue) {
-      let i = 0;
-      let j = potentialValue.length;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
-      while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
-      return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
-    }
-    function fill(headers, object) {
-      if (Array.isArray(object)) {
-        for (let i = 0; i < object.length; ++i) {
-          const header = object[i];
-          if (header.length !== 2) {
-            throw webidl.errors.exception({
-              header: "Headers constructor",
-              message: `expected name/value pair to be length 2, found ${header.length}.`
-            });
-          }
-          appendHeader(headers, header[0], header[1]);
+      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
+        httpRequest.headersList.append("cache-control", "max-age=0", true);
+      }
+      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
+        if (!httpRequest.headersList.contains("pragma", true)) {
+          httpRequest.headersList.append("pragma", "no-cache", true);
         }
-      } else if (typeof object === "object" && object !== null) {
-        const keys = Object.keys(object);
-        for (let i = 0; i < keys.length; ++i) {
-          appendHeader(headers, keys[i], object[keys[i]]);
+        if (!httpRequest.headersList.contains("cache-control", true)) {
+          httpRequest.headersList.append("cache-control", "no-cache", true);
         }
-      } else {
-        throw webidl.errors.conversionFailed({
-          prefix: "Headers constructor",
-          argument: "Argument 1",
-          types: ["sequence>", "record"]
-        });
-      }
-    }
-    function appendHeader(headers, name, value) {
-      value = headerValueNormalize(value);
-      if (!isValidHeaderName(name)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value: name,
-          type: "header name"
-        });
-      } else if (!isValidHeaderValue(value)) {
-        throw webidl.errors.invalidArgument({
-          prefix: "Headers.append",
-          value,
-          type: "header value"
-        });
       }
-      if (headers[kGuard] === "immutable") {
-        throw new TypeError("immutable");
-      } else if (headers[kGuard] === "request-no-cors") {
+      if (httpRequest.headersList.contains("range", true)) {
+        httpRequest.headersList.append("accept-encoding", "identity", true);
       }
-      return headers[kHeadersList].append(name, value);
-    }
-    var HeadersList = class _HeadersList {
-      /** @type {[string, string][]|null} */
-      cookies = null;
-      constructor(init) {
-        if (init instanceof _HeadersList) {
-          this[kHeadersMap] = new Map(init[kHeadersMap]);
-          this[kHeadersSortedMap] = init[kHeadersSortedMap];
-          this.cookies = init.cookies === null ? null : [...init.cookies];
+      if (!httpRequest.headersList.contains("accept-encoding", true)) {
+        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
+          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
         } else {
-          this[kHeadersMap] = new Map(init);
-          this[kHeadersSortedMap] = null;
+          httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
         }
       }
-      // https://fetch.spec.whatwg.org/#header-list-contains
-      contains(name) {
-        name = name.toLowerCase();
-        return this[kHeadersMap].has(name);
+      httpRequest.headersList.delete("host", true);
+      if (includeCredentials) {
       }
-      clear() {
-        this[kHeadersMap].clear();
-        this[kHeadersSortedMap] = null;
-        this.cookies = null;
+      if (httpCache == null) {
+        httpRequest.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-append
-      append(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        const exists = this[kHeadersMap].get(lowercaseName);
-        if (exists) {
-          const delimiter = lowercaseName === "cookie" ? "; " : ", ";
-          this[kHeadersMap].set(lowercaseName, {
-            name: exists.name,
-            value: `${exists.value}${delimiter}${value}`
-          });
-        } else {
-          this[kHeadersMap].set(lowercaseName, { name, value });
+      if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
+      }
+      if (response == null) {
+        if (httpRequest.cache === "only-if-cached") {
+          return makeNetworkError("only if cached");
         }
-        if (lowercaseName === "set-cookie") {
-          this.cookies ??= [];
-          this.cookies.push(value);
+        const forwardResponse = await httpNetworkFetch(
+          httpFetchParams,
+          includeCredentials,
+          isNewConnectionFetch
+        );
+        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
         }
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-set
-      set(name, value) {
-        this[kHeadersSortedMap] = null;
-        const lowercaseName = name.toLowerCase();
-        if (lowercaseName === "set-cookie") {
-          this.cookies = [value];
+        if (revalidatingFlag && forwardResponse.status === 304) {
         }
-        this[kHeadersMap].set(lowercaseName, { name, value });
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-delete
-      delete(name) {
-        this[kHeadersSortedMap] = null;
-        name = name.toLowerCase();
-        if (name === "set-cookie") {
-          this.cookies = null;
+        if (response == null) {
+          response = forwardResponse;
         }
-        this[kHeadersMap].delete(name);
       }
-      // https://fetch.spec.whatwg.org/#concept-header-list-get
-      get(name) {
-        const value = this[kHeadersMap].get(name.toLowerCase());
-        return value === void 0 ? null : value.value;
+      response.urlList = [...httpRequest.urlList];
+      if (httpRequest.headersList.contains("range", true)) {
+        response.rangeRequested = true;
       }
-      *[Symbol.iterator]() {
-        for (const [name, { value }] of this[kHeadersMap]) {
-          yield [name, value];
+      response.requestIncludesCredentials = includeCredentials;
+      if (response.status === 407) {
+        if (request2.window === "no-window") {
+          return makeNetworkError();
         }
-      }
-      get entries() {
-        const headers = {};
-        if (this[kHeadersMap].size) {
-          for (const { name, value } of this[kHeadersMap].values()) {
-            headers[name] = value;
-          }
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
-        return headers;
+        return makeNetworkError("proxy authentication required");
       }
-    };
-    var Headers = class _Headers {
-      constructor(init = void 0) {
-        if (init === kConstruct) {
-          return;
-        }
-        this[kHeadersList] = new HeadersList();
-        this[kGuard] = "none";
-        if (init !== void 0) {
-          init = webidl.converters.HeadersInit(init);
-          fill(this, init);
+      if (
+        // response’s status is 421
+        response.status === 421 && // isNewConnectionFetch is false
+        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
+        (request2.body == null || request2.body.source != null)
+      ) {
+        if (isCancelled(fetchParams)) {
+          return makeAppropriateNetworkError(fetchParams);
         }
+        fetchParams.controller.connection.destroy();
+        response = await httpNetworkOrCacheFetch(
+          fetchParams,
+          isAuthenticationFetch,
+          true
+        );
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-append
-      append(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        return appendHeader(this, name, value);
+      if (isAuthenticationFetch) {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-delete
-      delete(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.delete",
-            value: name,
-            type: "header name"
-          });
-        }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
-        }
-        if (!this[kHeadersList].contains(name)) {
-          return;
+      return response;
+    }
+    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
+      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
+      fetchParams.controller.connection = {
+        abort: null,
+        destroyed: false,
+        destroy(err, abort = true) {
+          if (!this.destroyed) {
+            this.destroyed = true;
+            if (abort) {
+              this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
+            }
+          }
         }
-        this[kHeadersList].delete(name);
+      };
+      const request2 = fetchParams.request;
+      let response = null;
+      const timingInfo = fetchParams.timingInfo;
+      const httpCache = null;
+      if (httpCache == null) {
+        request2.cache = "no-store";
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-get
-      get(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.get",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].get(name);
+      const newConnection = forceNewConnection ? "yes" : "no";
+      if (request2.mode === "websocket") {
+      } else {
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-has
-      has(name) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });
-        name = webidl.converters.ByteString(name);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.has",
-            value: name,
-            type: "header name"
-          });
-        }
-        return this[kHeadersList].contains(name);
+      let requestBody = null;
+      if (request2.body == null && fetchParams.processRequestEndOfBody) {
+        queueMicrotask(() => fetchParams.processRequestEndOfBody());
+      } else if (request2.body != null) {
+        const processBodyChunk = async function* (bytes) {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          yield bytes;
+          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
+        };
+        const processEndOfBody = () => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (fetchParams.processRequestEndOfBody) {
+            fetchParams.processRequestEndOfBody();
+          }
+        };
+        const processBodyError = (e) => {
+          if (isCancelled(fetchParams)) {
+            return;
+          }
+          if (e.name === "AbortError") {
+            fetchParams.controller.abort();
+          } else {
+            fetchParams.controller.terminate(e);
+          }
+        };
+        requestBody = (async function* () {
+          try {
+            for await (const bytes of request2.body.stream) {
+              yield* processBodyChunk(bytes);
+            }
+            processEndOfBody();
+          } catch (err) {
+            processBodyError(err);
+          }
+        })();
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-set
-      set(name, value) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });
-        name = webidl.converters.ByteString(name);
-        value = webidl.converters.ByteString(value);
-        value = headerValueNormalize(value);
-        if (!isValidHeaderName(name)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value: name,
-            type: "header name"
-          });
-        } else if (!isValidHeaderValue(value)) {
-          throw webidl.errors.invalidArgument({
-            prefix: "Headers.set",
-            value,
-            type: "header value"
-          });
+      try {
+        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
+        if (socket) {
+          response = makeResponse({ status, statusText, headersList, socket });
+        } else {
+          const iterator2 = body[Symbol.asyncIterator]();
+          fetchParams.controller.next = () => iterator2.next();
+          response = makeResponse({ status, statusText, headersList });
         }
-        if (this[kGuard] === "immutable") {
-          throw new TypeError("immutable");
-        } else if (this[kGuard] === "request-no-cors") {
+      } catch (err) {
+        if (err.name === "AbortError") {
+          fetchParams.controller.connection.destroy();
+          return makeAppropriateNetworkError(fetchParams, err);
         }
-        this[kHeadersList].set(name, value);
+        return makeNetworkError(err);
       }
-      // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
-      getSetCookie() {
-        webidl.brandCheck(this, _Headers);
-        const list = this[kHeadersList].cookies;
-        if (list) {
-          return [...list];
+      const pullAlgorithm = async () => {
+        await fetchParams.controller.resume();
+      };
+      const cancelAlgorithm = (reason) => {
+        if (!isCancelled(fetchParams)) {
+          fetchParams.controller.abort(reason);
         }
-        return [];
-      }
-      // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine
-      get [kHeadersSortedMap]() {
-        if (this[kHeadersList][kHeadersSortedMap]) {
-          return this[kHeadersList][kHeadersSortedMap];
+      };
+      const stream2 = new ReadableStream(
+        {
+          async start(controller) {
+            fetchParams.controller.controller = controller;
+          },
+          async pull(controller) {
+            await pullAlgorithm(controller);
+          },
+          async cancel(reason) {
+            await cancelAlgorithm(reason);
+          },
+          type: "bytes"
         }
-        const headers = [];
-        const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);
-        const cookies = this[kHeadersList].cookies;
-        for (let i = 0; i < names.length; ++i) {
-          const [name, value] = names[i];
-          if (name === "set-cookie") {
-            for (let j = 0; j < cookies.length; ++j) {
-              headers.push([name, cookies[j]]);
+      );
+      response.body = { stream: stream2, source: null, length: null };
+      fetchParams.controller.onAborted = onAborted;
+      fetchParams.controller.on("terminated", onAborted);
+      fetchParams.controller.resume = async () => {
+        while (true) {
+          let bytes;
+          let isFailure;
+          try {
+            const { done, value } = await fetchParams.controller.next();
+            if (isAborted(fetchParams)) {
+              break;
+            }
+            bytes = done ? void 0 : value;
+          } catch (err) {
+            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
+              bytes = void 0;
+            } else {
+              bytes = err;
+              isFailure = true;
+            }
+          }
+          if (bytes === void 0) {
+            readableStreamClose(fetchParams.controller.controller);
+            finalizeResponse(fetchParams, response);
+            return;
+          }
+          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
+          if (isFailure) {
+            fetchParams.controller.terminate(bytes);
+            return;
+          }
+          const buffer = new Uint8Array(bytes);
+          if (buffer.byteLength) {
+            fetchParams.controller.controller.enqueue(buffer);
+          }
+          if (isErrored(stream2)) {
+            fetchParams.controller.terminate();
+            return;
+          }
+          if (fetchParams.controller.controller.desiredSize <= 0) {
+            return;
+          }
+        }
+      };
+      function onAborted(reason) {
+        if (isAborted(fetchParams)) {
+          response.aborted = true;
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(
+              fetchParams.controller.serializedAbortReason
+            );
+          }
+        } else {
+          if (isReadable(stream2)) {
+            fetchParams.controller.controller.error(new TypeError("terminated", {
+              cause: isErrorLike(reason) ? reason : void 0
+            }));
+          }
+        }
+        fetchParams.controller.connection.destroy();
+      }
+      return response;
+      function dispatch({ body }) {
+        const url2 = requestCurrentURL(request2);
+        const agent = fetchParams.controller.dispatcher;
+        return new Promise((resolve6, reject) => agent.dispatch(
+          {
+            path: url2.pathname + url2.search,
+            origin: url2.origin,
+            method: request2.method,
+            body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
+            headers: request2.headersList.entries,
+            maxRedirections: 0,
+            upgrade: request2.mode === "websocket" ? "websocket" : void 0
+          },
+          {
+            body: null,
+            abort: null,
+            onConnect(abort) {
+              const { connection } = fetchParams.controller;
+              timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
+              if (connection.destroyed) {
+                abort(new DOMException("The operation was aborted.", "AbortError"));
+              } else {
+                fetchParams.controller.on("terminated", abort);
+                this.abort = connection.abort = abort;
+              }
+              timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onResponseStarted() {
+              timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
+            },
+            onHeaders(status, rawHeaders, resume, statusText) {
+              if (status < 200) {
+                return;
+              }
+              let location = "";
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              location = headersList.get("location", true);
+              this.body = new Readable2({ read: resume });
+              const decoders = [];
+              const willFollow = location && request2.redirect === "follow" && redirectStatusSet.has(status);
+              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
+                const contentEncoding = headersList.get("content-encoding", true);
+                const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
+                const maxContentEncodings = 5;
+                if (codings.length > maxContentEncodings) {
+                  reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
+                  return true;
+                }
+                for (let i = codings.length - 1; i >= 0; --i) {
+                  const coding = codings[i].trim();
+                  if (coding === "x-gzip" || coding === "gzip") {
+                    decoders.push(zlib2.createGunzip({
+                      // Be less strict when decoding compressed responses, since sometimes
+                      // servers send slightly invalid responses that are still accepted
+                      // by common browsers.
+                      // Always using Z_SYNC_FLUSH is what cURL does.
+                      flush: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "deflate") {
+                    decoders.push(createInflate({
+                      flush: zlib2.constants.Z_SYNC_FLUSH,
+                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
+                    }));
+                  } else if (coding === "br") {
+                    decoders.push(zlib2.createBrotliDecompress({
+                      flush: zlib2.constants.BROTLI_OPERATION_FLUSH,
+                      finishFlush: zlib2.constants.BROTLI_OPERATION_FLUSH
+                    }));
+                  } else {
+                    decoders.length = 0;
+                    break;
+                  }
+                }
+              }
+              const onError = this.onError.bind(this);
+              resolve6({
+                status,
+                statusText,
+                headersList,
+                body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
+                  if (err) {
+                    this.onError(err);
+                  }
+                }).on("error", onError) : this.body.on("error", onError)
+              });
+              return true;
+            },
+            onData(chunk) {
+              if (fetchParams.controller.dump) {
+                return;
+              }
+              const bytes = chunk;
+              timingInfo.encodedBodySize += bytes.byteLength;
+              return this.body.push(bytes);
+            },
+            onComplete() {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              if (fetchParams.controller.onAborted) {
+                fetchParams.controller.off("terminated", fetchParams.controller.onAborted);
+              }
+              fetchParams.controller.ended = true;
+              this.body.push(null);
+            },
+            onError(error3) {
+              if (this.abort) {
+                fetchParams.controller.off("terminated", this.abort);
+              }
+              this.body?.destroy(error3);
+              fetchParams.controller.terminate(error3);
+              reject(error3);
+            },
+            onUpgrade(status, rawHeaders, socket) {
+              if (status !== 101) {
+                return;
+              }
+              const headersList = new HeadersList();
+              for (let i = 0; i < rawHeaders.length; i += 2) {
+                headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
+              }
+              resolve6({
+                status,
+                statusText: STATUS_CODES[status],
+                headersList,
+                socket
+              });
+              return true;
             }
-          } else {
-            assert(value !== null);
-            headers.push([name, value]);
           }
-        }
-        this[kHeadersList][kHeadersSortedMap] = headers;
-        return headers;
-      }
-      keys() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key"
-        );
-      }
-      values() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "value"
-        );
-      }
-      entries() {
-        webidl.brandCheck(this, _Headers);
-        if (this[kGuard] === "immutable") {
-          const value = this[kHeadersSortedMap];
-          return makeIterator(
-            () => value,
-            "Headers",
-            "key+value"
-          );
-        }
-        return makeIterator(
-          () => [...this[kHeadersSortedMap].values()],
-          "Headers",
-          "key+value"
-        );
-      }
-      /**
-       * @param {(value: string, key: string, self: Headers) => void} callbackFn
-       * @param {unknown} thisArg
-       */
-      forEach(callbackFn, thisArg = globalThis) {
-        webidl.brandCheck(this, _Headers);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });
-        if (typeof callbackFn !== "function") {
-          throw new TypeError(
-            "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."
-          );
-        }
-        for (const [key, value] of this) {
-          callbackFn.apply(thisArg, [value, key, this]);
-        }
-      }
-      [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
-        webidl.brandCheck(this, _Headers);
-        return this[kHeadersList];
-      }
-    };
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
-    Object.defineProperties(Headers.prototype, {
-      append: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      get: kEnumerableProperty,
-      has: kEnumerableProperty,
-      set: kEnumerableProperty,
-      getSetCookie: kEnumerableProperty,
-      keys: kEnumerableProperty,
-      values: kEnumerableProperty,
-      entries: kEnumerableProperty,
-      forEach: kEnumerableProperty,
-      [Symbol.iterator]: { enumerable: false },
-      [Symbol.toStringTag]: {
-        value: "Headers",
-        configurable: true
-      },
-      [util.inspect.custom]: {
-        enumerable: false
-      }
-    });
-    webidl.converters.HeadersInit = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (V[Symbol.iterator]) {
-          return webidl.converters["sequence>"](V);
-        }
-        return webidl.converters["record"](V);
+        ));
       }
-      throw webidl.errors.conversionFailed({
-        prefix: "Headers constructor",
-        argument: "Argument 1",
-        types: ["sequence>", "record"]
-      });
+    }
+    module2.exports = {
+      fetch,
+      Fetch,
+      fetching,
+      finalizeAndReportTiming
     };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js
+var require_symbols8 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/symbols.js"(exports2, module2) {
+    "use strict";
     module2.exports = {
-      fill,
-      Headers,
-      HeadersList
+      kState: /* @__PURE__ */ Symbol("FileReader state"),
+      kResult: /* @__PURE__ */ Symbol("FileReader result"),
+      kError: /* @__PURE__ */ Symbol("FileReader error"),
+      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
+      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
+      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
     };
   }
 });
 
-// node_modules/undici/lib/fetch/response.js
-var require_response2 = __commonJS({
-  "node_modules/undici/lib/fetch/response.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js
+var require_progressevent2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/progressevent.js"(exports2, module2) {
     "use strict";
-    var { Headers, HeadersList, fill } = require_headers2();
-    var { extractBody, cloneBody, mixinBody } = require_body2();
-    var util = require_util9();
-    var { kEnumerableProperty } = util;
-    var {
-      isValidReasonPhrase,
-      isCancelled,
-      isAborted,
-      isBlobLike,
-      serializeJavascriptValueToJSONString,
-      isErrorLike,
-      isomorphicEncode
-    } = require_util10();
-    var {
-      redirectStatusSet,
-      nullBodyStatus,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
     var { webidl } = require_webidl2();
-    var { FormData: FormData2 } = require_formdata2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { types } = require("util");
-    var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream;
-    var textEncoder = new TextEncoder("utf-8");
-    var Response = class _Response {
-      // Creates network error Response.
-      static error() {
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kState] = makeNetworkError();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response-json
-      static json(data, init = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });
-        if (init !== null) {
-          init = webidl.converters.ResponseInit(init);
-        }
-        const bytes = textEncoder.encode(
-          serializeJavascriptValueToJSONString(data)
-        );
-        const body = extractBody(bytes);
-        const relevantRealm = { settingsObject: {} };
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "response";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
-        return responseObject;
-      }
-      // Creates a redirect Response that redirects to url with status status.
-      static redirect(url2, status = 302) {
-        const relevantRealm = { settingsObject: {} };
-        webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });
-        url2 = webidl.converters.USVString(url2);
-        status = webidl.converters["unsigned short"](status);
-        let parsedURL;
-        try {
-          parsedURL = new URL(url2, getGlobalOrigin());
-        } catch (err) {
-          throw Object.assign(new TypeError("Failed to parse URL from " + url2), {
-            cause: err
-          });
-        }
-        if (!redirectStatusSet.has(status)) {
-          throw new RangeError("Invalid status code " + status);
-        }
-        const responseObject = new _Response();
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        responseObject[kState].status = status;
-        const value = isomorphicEncode(URLSerializer(parsedURL));
-        responseObject[kState].headersList.append("location", value);
-        return responseObject;
-      }
-      // https://fetch.spec.whatwg.org/#dom-response
-      constructor(body = null, init = {}) {
-        if (body !== null) {
-          body = webidl.converters.BodyInit(body);
-        }
-        init = webidl.converters.ResponseInit(init);
-        this[kRealm] = { settingsObject: {} };
-        this[kState] = makeResponse({});
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kGuard] = "response";
-        this[kHeaders][kHeadersList] = this[kState].headersList;
-        this[kHeaders][kRealm] = this[kRealm];
-        let bodyWithType = null;
-        if (body != null) {
-          const [extractedBody, type2] = extractBody(body);
-          bodyWithType = { body: extractedBody, type: type2 };
-        }
-        initializeResponse(this, init, bodyWithType);
-      }
-      // Returns response’s type, e.g., "cors".
-      get type() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].type;
-      }
-      // Returns response’s URL, if it has one; otherwise the empty string.
-      get url() {
-        webidl.brandCheck(this, _Response);
-        const urlList = this[kState].urlList;
-        const url2 = urlList[urlList.length - 1] ?? null;
-        if (url2 === null) {
-          return "";
-        }
-        return URLSerializer(url2, true);
-      }
-      // Returns whether response was obtained through a redirect.
-      get redirected() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].urlList.length > 1;
-      }
-      // Returns response’s status.
-      get status() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status;
-      }
-      // Returns whether response’s status is an ok status.
-      get ok() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].status >= 200 && this[kState].status <= 299;
-      }
-      // Returns response’s status message.
-      get statusText() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].statusText;
-      }
-      // Returns response’s headers as Headers.
-      get headers() {
-        webidl.brandCheck(this, _Response);
-        return this[kHeaders];
+    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
+    var ProgressEvent = class _ProgressEvent extends Event {
+      constructor(type2, eventInitDict = {}) {
+        type2 = webidl.converters.DOMString(type2, "ProgressEvent constructor", "type");
+        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        super(type2, eventInitDict);
+        this[kState] = {
+          lengthComputable: eventInitDict.lengthComputable,
+          loaded: eventInitDict.loaded,
+          total: eventInitDict.total
+        };
       }
-      get body() {
-        webidl.brandCheck(this, _Response);
-        return this[kState].body ? this[kState].body.stream : null;
+      get lengthComputable() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].lengthComputable;
       }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Response);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
+      get loaded() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].loaded;
       }
-      // Returns a clone of response.
-      clone() {
-        webidl.brandCheck(this, _Response);
-        if (this.bodyUsed || this.body && this.body.locked) {
-          throw webidl.errors.exception({
-            header: "Response.clone",
-            message: "Body has already been consumed."
-          });
-        }
-        const clonedResponse = cloneResponse(this[kState]);
-        const clonedResponseObject = new _Response();
-        clonedResponseObject[kState] = clonedResponse;
-        clonedResponseObject[kRealm] = this[kRealm];
-        clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList;
-        clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        return clonedResponseObject;
+      get total() {
+        webidl.brandCheck(this, _ProgressEvent);
+        return this[kState].total;
       }
     };
-    mixinBody(Response);
-    Object.defineProperties(Response.prototype, {
-      type: kEnumerableProperty,
-      url: kEnumerableProperty,
-      status: kEnumerableProperty,
-      ok: kEnumerableProperty,
-      redirected: kEnumerableProperty,
-      statusText: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Response",
-        configurable: true
-      }
-    });
-    Object.defineProperties(Response, {
-      json: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      error: kEnumerableProperty
-    });
-    function cloneResponse(response) {
-      if (response.internalResponse) {
-        return filterResponse(
-          cloneResponse(response.internalResponse),
-          response.type
-        );
-      }
-      const newResponse = makeResponse({ ...response, body: null });
-      if (response.body != null) {
-        newResponse.body = cloneBody(response.body);
-      }
-      return newResponse;
-    }
-    function makeResponse(init) {
-      return {
-        aborted: false,
-        rangeRequested: false,
-        timingAllowPassed: false,
-        requestIncludesCredentials: false,
-        type: "default",
-        status: 200,
-        timingInfo: null,
-        cacheState: "",
-        statusText: "",
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),
-        urlList: init.urlList ? [...init.urlList] : []
-      };
-    }
-    function makeNetworkError(reason) {
-      const isError = isErrorLike(reason);
-      return makeResponse({
-        type: "error",
-        status: 0,
-        error: isError ? reason : new Error(reason ? String(reason) : reason),
-        aborted: reason && reason.name === "AbortError"
-      });
-    }
-    function makeFilteredResponse(response, state) {
-      state = {
-        internalResponse: response,
-        ...state
-      };
-      return new Proxy(response, {
-        get(target, p) {
-          return p in state ? state[p] : target[p];
-        },
-        set(target, p, value) {
-          assert(!(p in state));
-          target[p] = value;
-          return true;
-        }
-      });
-    }
-    function filterResponse(response, type2) {
-      if (type2 === "basic") {
-        return makeFilteredResponse(response, {
-          type: "basic",
-          headersList: response.headersList
-        });
-      } else if (type2 === "cors") {
-        return makeFilteredResponse(response, {
-          type: "cors",
-          headersList: response.headersList
-        });
-      } else if (type2 === "opaque") {
-        return makeFilteredResponse(response, {
-          type: "opaque",
-          urlList: Object.freeze([]),
-          status: 0,
-          statusText: "",
-          body: null
-        });
-      } else if (type2 === "opaqueredirect") {
-        return makeFilteredResponse(response, {
-          type: "opaqueredirect",
-          status: 0,
-          statusText: "",
-          headersList: [],
-          body: null
-        });
-      } else {
-        assert(false);
-      }
-    }
-    function makeAppropriateNetworkError(fetchParams, err = null) {
-      assert(isCancelled(fetchParams));
-      return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err }));
-    }
-    function initializeResponse(response, init, body) {
-      if (init.status !== null && (init.status < 200 || init.status > 599)) {
-        throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
-      }
-      if ("statusText" in init && init.statusText != null) {
-        if (!isValidReasonPhrase(String(init.statusText))) {
-          throw new TypeError("Invalid statusText");
-        }
-      }
-      if ("status" in init && init.status != null) {
-        response[kState].status = init.status;
-      }
-      if ("statusText" in init && init.statusText != null) {
-        response[kState].statusText = init.statusText;
+    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
+      {
+        key: "lengthComputable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "loaded",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "total",
+        converter: webidl.converters["unsigned long long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "bubbles",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "cancelable",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "composed",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      if ("headers" in init && init.headers != null) {
-        fill(response[kHeaders], init.headers);
+    ]);
+    module2.exports = {
+      ProgressEvent
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js
+var require_encoding2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/encoding.js"(exports2, module2) {
+    "use strict";
+    function getEncoding(label) {
+      if (!label) {
+        return "failure";
       }
-      if (body) {
-        if (nullBodyStatus.includes(response.status)) {
-          throw webidl.errors.exception({
-            header: "Response constructor",
-            message: "Invalid response status code " + response.status
-          });
-        }
-        response[kState].body = body.body;
-        if (body.type != null && !response[kState].headersList.contains("Content-Type")) {
-          response[kState].headersList.append("content-type", body.type);
-        }
+      switch (label.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";
       }
     }
-    webidl.converters.ReadableStream = webidl.interfaceConverter(
-      ReadableStream2
-    );
-    webidl.converters.FormData = webidl.interfaceConverter(
-      FormData2
-    );
-    webidl.converters.URLSearchParams = webidl.interfaceConverter(
-      URLSearchParams
-    );
-    webidl.converters.XMLHttpRequestBodyInit = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (isBlobLike(V)) {
-        return webidl.converters.Blob(V, { strict: false });
-      }
-      if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {
-        return webidl.converters.BufferSource(V);
-      }
-      if (util.isFormDataLike(V)) {
-        return webidl.converters.FormData(V, { strict: false });
-      }
-      if (V instanceof URLSearchParams) {
-        return webidl.converters.URLSearchParams(V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.BodyInit = function(V) {
-      if (V instanceof ReadableStream2) {
-        return webidl.converters.ReadableStream(V);
-      }
-      if (V?.[Symbol.asyncIterator]) {
-        return V;
-      }
-      return webidl.converters.XMLHttpRequestBodyInit(V);
-    };
-    webidl.converters.ResponseInit = webidl.dictionaryConverter([
-      {
-        key: "status",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 200
-      },
-      {
-        key: "statusText",
-        converter: webidl.converters.ByteString,
-        defaultValue: ""
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      }
-    ]);
     module2.exports = {
-      makeNetworkError,
-      makeResponse,
-      makeAppropriateNetworkError,
-      filterResponse,
-      Response,
-      cloneResponse
+      getEncoding
     };
   }
 });
 
-// node_modules/undici/lib/fetch/request.js
-var require_request4 = __commonJS({
-  "node_modules/undici/lib/fetch/request.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js
+var require_util12 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/util.js"(exports2, module2) {
     "use strict";
-    var { extractBody, mixinBody, cloneBody } = require_body2();
-    var { Headers, fill: fillHeaders, HeadersList } = require_headers2();
-    var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref2()();
-    var util = require_util9();
-    var {
-      isValidHTTPToken,
-      sameOrigin,
-      normalizeMethod,
-      makePolicyContainer,
-      normalizeMethodRecord
-    } = require_util10();
     var {
-      forbiddenMethodsSet,
-      corsSafeListedMethodsSet,
-      referrerPolicy,
-      requestRedirect,
-      requestMode,
-      requestCredentials,
-      requestCache,
-      requestDuplex
-    } = require_constants7();
-    var { kEnumerableProperty } = util;
-    var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols7();
-    var { webidl } = require_webidl2();
-    var { getGlobalOrigin } = require_global3();
-    var { URLSerializer } = require_dataURL();
-    var { kHeadersList, kConstruct } = require_symbols6();
-    var assert = require("assert");
-    var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
-    var TransformStream2 = globalThis.TransformStream;
-    var kAbortController = /* @__PURE__ */ Symbol("abortController");
-    var requestFinalizer = new FinalizationRegistry2(({ signal, abort }) => {
-      signal.removeEventListener("abort", abort);
-    });
-    var Request = class _Request {
-      // https://fetch.spec.whatwg.org/#dom-request
-      constructor(input, init = {}) {
-        if (input === kConstruct) {
-          return;
-        }
-        webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });
-        input = webidl.converters.RequestInfo(input);
-        init = webidl.converters.RequestInit(init);
-        this[kRealm] = {
-          settingsObject: {
-            baseUrl: getGlobalOrigin(),
-            get origin() {
-              return this.baseUrl?.origin;
-            },
-            policyContainer: makePolicyContainer()
-          }
-        };
-        let request2 = null;
-        let fallbackMode = null;
-        const baseUrl = this[kRealm].settingsObject.baseUrl;
-        let signal = null;
-        if (typeof input === "string") {
-          let parsedURL;
+      kState,
+      kError,
+      kResult,
+      kAborted,
+      kLastProgressEventFired
+    } = require_symbols8();
+    var { ProgressEvent } = require_progressevent2();
+    var { getEncoding } = require_encoding2();
+    var { serializeAMimeType, parseMIMEType } = require_data_url2();
+    var { types } = require("node:util");
+    var { StringDecoder } = require("string_decoder");
+    var { btoa: btoa2 } = require("node:buffer");
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    function readOperation(fr, blob, type2, encodingName) {
+      if (fr[kState] === "loading") {
+        throw new DOMException("Invalid state", "InvalidStateError");
+      }
+      fr[kState] = "loading";
+      fr[kResult] = null;
+      fr[kError] = null;
+      const stream2 = blob.stream();
+      const reader = stream2.getReader();
+      const bytes = [];
+      let chunkPromise = reader.read();
+      let isFirstChunk = true;
+      (async () => {
+        while (!fr[kAborted]) {
           try {
-            parsedURL = new URL(input, baseUrl);
-          } catch (err) {
-            throw new TypeError("Failed to parse URL from " + input, { cause: err });
-          }
-          if (parsedURL.username || parsedURL.password) {
-            throw new TypeError(
-              "Request cannot be constructed from a URL that includes credentials: " + input
-            );
-          }
-          request2 = makeRequest({ urlList: [parsedURL] });
-          fallbackMode = "cors";
-        } else {
-          assert(input instanceof _Request);
-          request2 = input[kState];
-          signal = input[kSignal];
-        }
-        const origin = this[kRealm].settingsObject.origin;
-        let window2 = "client";
-        if (request2.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request2.window, origin)) {
-          window2 = request2.window;
-        }
-        if (init.window != null) {
-          throw new TypeError(`'window' option '${window2}' must be null`);
-        }
-        if ("window" in init) {
-          window2 = "no-window";
-        }
-        request2 = makeRequest({
-          // URL request’s URL.
-          // undici implementation note: this is set as the first item in request's urlList in makeRequest
-          // method request’s method.
-          method: request2.method,
-          // header list A copy of request’s header list.
-          // undici implementation note: headersList is cloned in makeRequest
-          headersList: request2.headersList,
-          // unsafe-request flag Set.
-          unsafeRequest: request2.unsafeRequest,
-          // client This’s relevant settings object.
-          client: this[kRealm].settingsObject,
-          // window window.
-          window: window2,
-          // priority request’s priority.
-          priority: request2.priority,
-          // origin request’s origin. The propagation of the origin is only significant for navigation requests
-          // being handled by a service worker. In this scenario a request can have an origin that is different
-          // from the current client.
-          origin: request2.origin,
-          // referrer request’s referrer.
-          referrer: request2.referrer,
-          // referrer policy request’s referrer policy.
-          referrerPolicy: request2.referrerPolicy,
-          // mode request’s mode.
-          mode: request2.mode,
-          // credentials mode request’s credentials mode.
-          credentials: request2.credentials,
-          // cache mode request’s cache mode.
-          cache: request2.cache,
-          // redirect mode request’s redirect mode.
-          redirect: request2.redirect,
-          // integrity metadata request’s integrity metadata.
-          integrity: request2.integrity,
-          // keepalive request’s keepalive.
-          keepalive: request2.keepalive,
-          // reload-navigation flag request’s reload-navigation flag.
-          reloadNavigation: request2.reloadNavigation,
-          // history-navigation flag request’s history-navigation flag.
-          historyNavigation: request2.historyNavigation,
-          // URL list A clone of request’s URL list.
-          urlList: [...request2.urlList]
-        });
-        const initHasKey = Object.keys(init).length !== 0;
-        if (initHasKey) {
-          if (request2.mode === "navigate") {
-            request2.mode = "same-origin";
-          }
-          request2.reloadNavigation = false;
-          request2.historyNavigation = false;
-          request2.origin = "client";
-          request2.referrer = "client";
-          request2.referrerPolicy = "";
-          request2.url = request2.urlList[request2.urlList.length - 1];
-          request2.urlList = [request2.url];
-        }
-        if (init.referrer !== void 0) {
-          const referrer = init.referrer;
-          if (referrer === "") {
-            request2.referrer = "no-referrer";
-          } else {
-            let parsedReferrer;
-            try {
-              parsedReferrer = new URL(referrer, baseUrl);
-            } catch (err) {
-              throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
-            }
-            if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) {
-              request2.referrer = "client";
-            } else {
-              request2.referrer = parsedReferrer;
+            const { done, value } = await chunkPromise;
+            if (isFirstChunk && !fr[kAborted]) {
+              queueMicrotask(() => {
+                fireAProgressEvent("loadstart", fr);
+              });
             }
-          }
-        }
-        if (init.referrerPolicy !== void 0) {
-          request2.referrerPolicy = init.referrerPolicy;
-        }
-        let mode;
-        if (init.mode !== void 0) {
-          mode = init.mode;
-        } else {
-          mode = fallbackMode;
-        }
-        if (mode === "navigate") {
-          throw webidl.errors.exception({
-            header: "Request constructor",
-            message: "invalid request mode navigate."
-          });
-        }
-        if (mode != null) {
-          request2.mode = mode;
-        }
-        if (init.credentials !== void 0) {
-          request2.credentials = init.credentials;
-        }
-        if (init.cache !== void 0) {
-          request2.cache = init.cache;
-        }
-        if (request2.cache === "only-if-cached" && request2.mode !== "same-origin") {
-          throw new TypeError(
-            "'only-if-cached' can be set only with 'same-origin' mode"
-          );
-        }
-        if (init.redirect !== void 0) {
-          request2.redirect = init.redirect;
-        }
-        if (init.integrity != null) {
-          request2.integrity = String(init.integrity);
-        }
-        if (init.keepalive !== void 0) {
-          request2.keepalive = Boolean(init.keepalive);
-        }
-        if (init.method !== void 0) {
-          let method = init.method;
-          if (!isValidHTTPToken(method)) {
-            throw new TypeError(`'${method}' is not a valid HTTP method.`);
-          }
-          if (forbiddenMethodsSet.has(method.toUpperCase())) {
-            throw new TypeError(`'${method}' HTTP method is unsupported.`);
-          }
-          method = normalizeMethodRecord[method] ?? normalizeMethod(method);
-          request2.method = method;
-        }
-        if (init.signal !== void 0) {
-          signal = init.signal;
-        }
-        this[kState] = request2;
-        const ac = new AbortController();
-        this[kSignal] = ac.signal;
-        this[kSignal][kRealm] = this[kRealm];
-        if (signal != null) {
-          if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {
-            throw new TypeError(
-              "Failed to construct 'Request': member signal is not of type AbortSignal."
-            );
-          }
-          if (signal.aborted) {
-            ac.abort(signal.reason);
-          } else {
-            this[kAbortController] = ac;
-            const acRef = new WeakRef(ac);
-            const abort = function() {
-              const ac2 = acRef.deref();
-              if (ac2 !== void 0) {
-                ac2.abort(this.reason);
+            isFirstChunk = false;
+            if (!done && types.isUint8Array(value)) {
+              bytes.push(value);
+              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
+                fr[kLastProgressEventFired] = Date.now();
+                queueMicrotask(() => {
+                  fireAProgressEvent("progress", fr);
+                });
               }
-            };
-            try {
-              if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {
-                setMaxListeners(100, signal);
-              } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {
-                setMaxListeners(100, signal);
+              chunkPromise = reader.read();
+            } else if (done) {
+              queueMicrotask(() => {
+                fr[kState] = "done";
+                try {
+                  const result = packageData(bytes, type2, blob.type, encodingName);
+                  if (fr[kAborted]) {
+                    return;
+                  }
+                  fr[kResult] = result;
+                  fireAProgressEvent("load", fr);
+                } catch (error3) {
+                  fr[kError] = error3;
+                  fireAProgressEvent("error", fr);
+                }
+                if (fr[kState] !== "loading") {
+                  fireAProgressEvent("loadend", fr);
+                }
+              });
+              break;
+            }
+          } catch (error3) {
+            if (fr[kAborted]) {
+              return;
+            }
+            queueMicrotask(() => {
+              fr[kState] = "done";
+              fr[kError] = error3;
+              fireAProgressEvent("error", fr);
+              if (fr[kState] !== "loading") {
+                fireAProgressEvent("loadend", fr);
               }
-            } catch {
-            }
-            util.addAbortListener(signal, abort);
-            requestFinalizer.register(ac, { signal, abort });
-          }
-        }
-        this[kHeaders] = new Headers(kConstruct);
-        this[kHeaders][kHeadersList] = request2.headersList;
-        this[kHeaders][kGuard] = "request";
-        this[kHeaders][kRealm] = this[kRealm];
-        if (mode === "no-cors") {
-          if (!corsSafeListedMethodsSet.has(request2.method)) {
-            throw new TypeError(
-              `'${request2.method} is unsupported in no-cors mode.`
-            );
+            });
+            break;
           }
-          this[kHeaders][kGuard] = "request-no-cors";
         }
-        if (initHasKey) {
-          const headersList = this[kHeaders][kHeadersList];
-          const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList);
-          headersList.clear();
-          if (headers instanceof HeadersList) {
-            for (const [key, val] of headers) {
-              headersList.append(key, val);
-            }
-            headersList.cookies = headers.cookies;
-          } else {
-            fillHeaders(this[kHeaders], headers);
+      })();
+    }
+    function fireAProgressEvent(e, reader) {
+      const event = new ProgressEvent(e, {
+        bubbles: false,
+        cancelable: false
+      });
+      reader.dispatchEvent(event);
+    }
+    function packageData(bytes, type2, mimeType, encodingName) {
+      switch (type2) {
+        case "DataURL": {
+          let dataURL = "data:";
+          const parsed = parseMIMEType(mimeType || "application/octet-stream");
+          if (parsed !== "failure") {
+            dataURL += serializeAMimeType(parsed);
           }
-        }
-        const inputBody = input instanceof _Request ? input[kState].body : null;
-        if ((init.body != null || inputBody != null) && (request2.method === "GET" || request2.method === "HEAD")) {
-          throw new TypeError("Request with GET/HEAD method cannot have body.");
-        }
-        let initBody = null;
-        if (init.body != null) {
-          const [extractedBody, contentType] = extractBody(
-            init.body,
-            request2.keepalive
-          );
-          initBody = extractedBody;
-          if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) {
-            this[kHeaders].append("content-type", contentType);
+          dataURL += ";base64,";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            dataURL += btoa2(decoder.write(chunk));
           }
+          dataURL += btoa2(decoder.end());
+          return dataURL;
         }
-        const inputOrInitBody = initBody ?? inputBody;
-        if (inputOrInitBody != null && inputOrInitBody.source == null) {
-          if (initBody != null && init.duplex == null) {
-            throw new TypeError("RequestInit: duplex option is required when sending a body.");
-          }
-          if (request2.mode !== "same-origin" && request2.mode !== "cors") {
-            throw new TypeError(
-              'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
-            );
+        case "Text": {
+          let encoding = "failure";
+          if (encodingName) {
+            encoding = getEncoding(encodingName);
           }
-          request2.useCORSPreflightFlag = true;
-        }
-        let finalBody = inputOrInitBody;
-        if (initBody == null && inputBody != null) {
-          if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {
-            throw new TypeError(
-              "Cannot construct a Request with a Request object that has already been used."
-            );
+          if (encoding === "failure" && mimeType) {
+            const type3 = parseMIMEType(mimeType);
+            if (type3 !== "failure") {
+              encoding = getEncoding(type3.parameters.get("charset"));
+            }
           }
-          if (!TransformStream2) {
-            TransformStream2 = require("stream/web").TransformStream;
+          if (encoding === "failure") {
+            encoding = "UTF-8";
           }
-          const identityTransform = new TransformStream2();
-          inputBody.stream.pipeThrough(identityTransform);
-          finalBody = {
-            source: inputBody.source,
-            length: inputBody.length,
-            stream: identityTransform.readable
-          };
-        }
-        this[kState].body = finalBody;
-      }
-      // Returns request’s HTTP method, which is "GET" by default.
-      get method() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].method;
-      }
-      // Returns the URL of request as a string.
-      get url() {
-        webidl.brandCheck(this, _Request);
-        return URLSerializer(this[kState].url);
-      }
-      // Returns a Headers object consisting of the headers associated with request.
-      // Note that headers added in the network layer by the user agent will not
-      // be accounted for in this object, e.g., the "Host" header.
-      get headers() {
-        webidl.brandCheck(this, _Request);
-        return this[kHeaders];
-      }
-      // Returns the kind of resource requested by request, e.g., "document"
-      // or "script".
-      get destination() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].destination;
-      }
-      // Returns the referrer of request. Its value can be a same-origin URL if
-      // explicitly set in init, the empty string to indicate no referrer, and
-      // "about:client" when defaulting to the global’s default. This is used
-      // during fetching to determine the value of the `Referer` header of the
-      // request being made.
-      get referrer() {
-        webidl.brandCheck(this, _Request);
-        if (this[kState].referrer === "no-referrer") {
-          return "";
-        }
-        if (this[kState].referrer === "client") {
-          return "about:client";
+          return decode(bytes, encoding);
         }
-        return this[kState].referrer.toString();
-      }
-      // Returns the referrer policy associated with request.
-      // This is used during fetching to compute the value of the request’s
-      // referrer.
-      get referrerPolicy() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].referrerPolicy;
-      }
-      // Returns the mode associated with request, which is a string indicating
-      // whether the request will use CORS, or will be restricted to same-origin
-      // URLs.
-      get mode() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].mode;
-      }
-      // Returns the credentials mode associated with request,
-      // which is a string indicating whether credentials will be sent with the
-      // request always, never, or only when sent to a same-origin URL.
-      get credentials() {
-        return this[kState].credentials;
-      }
-      // Returns the cache mode associated with request,
-      // which is a string indicating how the request will
-      // interact with the browser’s cache when fetching.
-      get cache() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].cache;
-      }
-      // Returns the redirect mode associated with request,
-      // which is a string indicating how redirects for the
-      // request will be handled during fetching. A request
-      // will follow redirects by default.
-      get redirect() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].redirect;
-      }
-      // Returns request’s subresource integrity metadata, which is a
-      // cryptographic hash of the resource being fetched. Its value
-      // consists of multiple hashes separated by whitespace. [SRI]
-      get integrity() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].integrity;
-      }
-      // Returns a boolean indicating whether or not request can outlive the
-      // global in which it was created.
-      get keepalive() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].keepalive;
-      }
-      // Returns a boolean indicating whether or not request is for a reload
-      // navigation.
-      get isReloadNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].reloadNavigation;
-      }
-      // Returns a boolean indicating whether or not request is for a history
-      // navigation (a.k.a. back-foward navigation).
-      get isHistoryNavigation() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].historyNavigation;
-      }
-      // Returns the signal associated with request, which is an AbortSignal
-      // object indicating whether or not request has been aborted, and its
-      // abort event handler.
-      get signal() {
-        webidl.brandCheck(this, _Request);
-        return this[kSignal];
-      }
-      get body() {
-        webidl.brandCheck(this, _Request);
-        return this[kState].body ? this[kState].body.stream : null;
-      }
-      get bodyUsed() {
-        webidl.brandCheck(this, _Request);
-        return !!this[kState].body && util.isDisturbed(this[kState].body.stream);
-      }
-      get duplex() {
-        webidl.brandCheck(this, _Request);
-        return "half";
-      }
-      // Returns a clone of request.
-      clone() {
-        webidl.brandCheck(this, _Request);
-        if (this.bodyUsed || this.body?.locked) {
-          throw new TypeError("unusable");
+        case "ArrayBuffer": {
+          const sequence = combineByteSequences(bytes);
+          return sequence.buffer;
         }
-        const clonedRequest = cloneRequest(this[kState]);
-        const clonedRequestObject = new _Request(kConstruct);
-        clonedRequestObject[kState] = clonedRequest;
-        clonedRequestObject[kRealm] = this[kRealm];
-        clonedRequestObject[kHeaders] = new Headers(kConstruct);
-        clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList;
-        clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard];
-        clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm];
-        const ac = new AbortController();
-        if (this.signal.aborted) {
-          ac.abort(this.signal.reason);
-        } else {
-          util.addAbortListener(
-            this.signal,
-            () => {
-              ac.abort(this.signal.reason);
-            }
-          );
+        case "BinaryString": {
+          let binaryString = "";
+          const decoder = new StringDecoder("latin1");
+          for (const chunk of bytes) {
+            binaryString += decoder.write(chunk);
+          }
+          binaryString += decoder.end();
+          return binaryString;
         }
-        clonedRequestObject[kSignal] = ac.signal;
-        return clonedRequestObject;
       }
-    };
-    mixinBody(Request);
-    function makeRequest(init) {
-      const request2 = {
-        method: "GET",
-        localURLsOnly: false,
-        unsafeRequest: false,
-        body: null,
-        client: null,
-        reservedClient: null,
-        replacesClientId: "",
-        window: "client",
-        keepalive: false,
-        serviceWorkers: "all",
-        initiator: "",
-        destination: "",
-        priority: null,
-        origin: "client",
-        policyContainer: "client",
-        referrer: "client",
-        referrerPolicy: "",
-        mode: "no-cors",
-        useCORSPreflightFlag: false,
-        credentials: "same-origin",
-        useCredentials: false,
-        cache: "default",
-        redirect: "follow",
-        integrity: "",
-        cryptoGraphicsNonceMetadata: "",
-        parserMetadata: "",
-        reloadNavigation: false,
-        historyNavigation: false,
-        userActivation: false,
-        taintedOrigin: false,
-        redirectCount: 0,
-        responseTainting: "basic",
-        preventNoCacheCacheControlHeaderModification: false,
-        done: false,
-        timingAllowFailed: false,
-        ...init,
-        headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
-      };
-      request2.url = request2.urlList[0];
-      return request2;
     }
-    function cloneRequest(request2) {
-      const newRequest = makeRequest({ ...request2, body: null });
-      if (request2.body != null) {
-        newRequest.body = cloneBody(request2.body);
+    function decode(ioQueue, encoding) {
+      const bytes = combineByteSequences(ioQueue);
+      const BOMEncoding = BOMSniffing(bytes);
+      let slice = 0;
+      if (BOMEncoding !== null) {
+        encoding = BOMEncoding;
+        slice = BOMEncoding === "UTF-8" ? 3 : 2;
       }
-      return newRequest;
+      const sliced = bytes.slice(slice);
+      return new TextDecoder(encoding).decode(sliced);
     }
-    Object.defineProperties(Request.prototype, {
-      method: kEnumerableProperty,
-      url: kEnumerableProperty,
-      headers: kEnumerableProperty,
-      redirect: kEnumerableProperty,
-      clone: kEnumerableProperty,
-      signal: kEnumerableProperty,
-      duplex: kEnumerableProperty,
-      destination: kEnumerableProperty,
-      body: kEnumerableProperty,
-      bodyUsed: kEnumerableProperty,
-      isHistoryNavigation: kEnumerableProperty,
-      isReloadNavigation: kEnumerableProperty,
-      keepalive: kEnumerableProperty,
-      integrity: kEnumerableProperty,
-      cache: kEnumerableProperty,
-      credentials: kEnumerableProperty,
-      attribute: kEnumerableProperty,
-      referrerPolicy: kEnumerableProperty,
-      referrer: kEnumerableProperty,
-      mode: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "Request",
-        configurable: true
-      }
-    });
-    webidl.converters.Request = webidl.interfaceConverter(
-      Request
-    );
-    webidl.converters.RequestInfo = function(V) {
-      if (typeof V === "string") {
-        return webidl.converters.USVString(V);
-      }
-      if (V instanceof Request) {
-        return webidl.converters.Request(V);
+    function BOMSniffing(ioQueue) {
+      const [a, b, c] = ioQueue;
+      if (a === 239 && b === 187 && c === 191) {
+        return "UTF-8";
+      } else if (a === 254 && b === 255) {
+        return "UTF-16BE";
+      } else if (a === 255 && b === 254) {
+        return "UTF-16LE";
       }
-      return webidl.converters.USVString(V);
+      return null;
+    }
+    function combineByteSequences(sequences) {
+      const size = sequences.reduce((a, b) => {
+        return a + b.byteLength;
+      }, 0);
+      let offset = 0;
+      return sequences.reduce((a, b) => {
+        a.set(b, offset);
+        offset += b.byteLength;
+        return a;
+      }, new Uint8Array(size));
+    }
+    module2.exports = {
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
     };
-    webidl.converters.AbortSignal = webidl.interfaceConverter(
-      AbortSignal
-    );
-    webidl.converters.RequestInit = webidl.dictionaryConverter([
-      {
-        key: "method",
-        converter: webidl.converters.ByteString
-      },
-      {
-        key: "headers",
-        converter: webidl.converters.HeadersInit
-      },
-      {
-        key: "body",
-        converter: webidl.nullableConverter(
-          webidl.converters.BodyInit
-        )
-      },
-      {
-        key: "referrer",
-        converter: webidl.converters.USVString
-      },
-      {
-        key: "referrerPolicy",
-        converter: webidl.converters.DOMString,
-        // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
-        allowedValues: referrerPolicy
-      },
-      {
-        key: "mode",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#concept-request-mode
-        allowedValues: requestMode
-      },
-      {
-        key: "credentials",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcredentials
-        allowedValues: requestCredentials
-      },
-      {
-        key: "cache",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestcache
-        allowedValues: requestCache
-      },
-      {
-        key: "redirect",
-        converter: webidl.converters.DOMString,
-        // https://fetch.spec.whatwg.org/#requestredirect
-        allowedValues: requestRedirect
-      },
-      {
-        key: "integrity",
-        converter: webidl.converters.DOMString
-      },
-      {
-        key: "keepalive",
-        converter: webidl.converters.boolean
-      },
-      {
-        key: "signal",
-        converter: webidl.nullableConverter(
-          (signal) => webidl.converters.AbortSignal(
-            signal,
-            { strict: false }
-          )
-        )
-      },
-      {
-        key: "window",
-        converter: webidl.converters.any
-      },
-      {
-        key: "duplex",
-        converter: webidl.converters.DOMString,
-        allowedValues: requestDuplex
-      }
-    ]);
-    module2.exports = { Request, makeRequest };
   }
 });
 
-// node_modules/undici/lib/fetch/index.js
-var require_fetch2 = __commonJS({
-  "node_modules/undici/lib/fetch/index.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js
+var require_filereader2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/fileapi/filereader.js"(exports2, module2) {
     "use strict";
     var {
-      Response,
-      makeNetworkError,
-      makeAppropriateNetworkError,
-      filterResponse,
-      makeResponse
-    } = require_response2();
-    var { Headers } = require_headers2();
-    var { Request, makeRequest } = require_request4();
-    var zlib2 = require("zlib");
-    var {
-      bytesMatch,
-      makePolicyContainer,
-      clonePolicyContainer,
-      requestBadPort,
-      TAOCheck,
-      appendRequestOriginHeader,
-      responseLocationURL,
-      requestCurrentURL,
-      setRequestReferrerPolicyOnRedirect,
-      tryUpgradeRequestToAPotentiallyTrustworthyURL,
-      createOpaqueTimingInfo,
-      appendFetchMetadata,
-      corsCheck,
-      crossOriginResourcePolicyCheck,
-      determineRequestsReferrer,
-      coarsenedSharedCurrentTime,
-      createDeferredPromise,
-      isBlobLike,
-      sameOrigin,
-      isCancelled,
-      isAborted,
-      isErrorLike,
-      fullyReadBody,
-      readableStreamClose,
-      isomorphicEncode,
-      urlIsLocal,
-      urlIsHttpHttpsScheme,
-      urlHasHttpsScheme
-    } = require_util10();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
-    var assert = require("assert");
-    var { safelyExtractBody } = require_body2();
+      staticPropertyDescriptors,
+      readOperation,
+      fireAProgressEvent
+    } = require_util12();
     var {
-      redirectStatusSet,
-      nullBodyStatus,
-      safeMethodsSet,
-      requestBodyHeader,
-      subresourceSet,
-      DOMException: DOMException2
-    } = require_constants7();
-    var { kHeadersList } = require_symbols6();
-    var EE = require("events");
-    var { Readable: Readable2, pipeline } = require("stream");
-    var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util9();
-    var { dataURLProcessor, serializeAMimeType } = require_dataURL();
-    var { TransformStream: TransformStream2 } = require("stream/web");
-    var { getGlobalDispatcher } = require_global4();
+      kState,
+      kError,
+      kResult,
+      kEvents,
+      kAborted
+    } = require_symbols8();
     var { webidl } = require_webidl2();
-    var { STATUS_CODES } = require("http");
-    var GET_OR_HEAD = ["GET", "HEAD"];
-    var resolveObjectURL;
-    var ReadableStream2 = globalThis.ReadableStream;
-    var Fetch = class extends EE {
-      constructor(dispatcher) {
+    var { kEnumerableProperty } = require_util9();
+    var FileReader = class _FileReader extends EventTarget {
+      constructor() {
         super();
-        this.dispatcher = dispatcher;
-        this.connection = null;
-        this.dump = false;
-        this.state = "ongoing";
-        this.setMaxListeners(21);
+        this[kState] = "empty";
+        this[kResult] = null;
+        this[kError] = null;
+        this[kEvents] = {
+          loadend: null,
+          error: null,
+          abort: null,
+          load: null,
+          progress: null,
+          loadstart: null
+        };
       }
-      terminate(reason) {
-        if (this.state !== "ongoing") {
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
+       * @param {import('buffer').Blob} blob
+       */
+      readAsArrayBuffer(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsArrayBuffer");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "ArrayBuffer");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
+       * @param {import('buffer').Blob} blob
+       */
+      readAsBinaryString(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsBinaryString");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "BinaryString");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#readAsDataText
+       * @param {import('buffer').Blob} blob
+       * @param {string?} encoding
+       */
+      readAsText(blob, encoding = void 0) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsText");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        if (encoding !== void 0) {
+          encoding = webidl.converters.DOMString(encoding, "FileReader.readAsText", "encoding");
+        }
+        readOperation(this, blob, "Text", encoding);
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
+       * @param {import('buffer').Blob} blob
+       */
+      readAsDataURL(blob) {
+        webidl.brandCheck(this, _FileReader);
+        webidl.argumentLengthCheck(arguments, 1, "FileReader.readAsDataURL");
+        blob = webidl.converters.Blob(blob, { strict: false });
+        readOperation(this, blob, "DataURL");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dfn-abort
+       */
+      abort() {
+        if (this[kState] === "empty" || this[kState] === "done") {
+          this[kResult] = null;
           return;
         }
-        this.state = "terminated";
-        this.connection?.destroy(reason);
-        this.emit("terminated", reason);
+        if (this[kState] === "loading") {
+          this[kState] = "done";
+          this[kResult] = null;
+        }
+        this[kAborted] = true;
+        fireAProgressEvent("abort", this);
+        if (this[kState] !== "loading") {
+          fireAProgressEvent("loadend", this);
+        }
       }
-      // https://fetch.spec.whatwg.org/#fetch-controller-abort
-      abort(error3) {
-        if (this.state !== "ongoing") {
-          return;
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
+       */
+      get readyState() {
+        webidl.brandCheck(this, _FileReader);
+        switch (this[kState]) {
+          case "empty":
+            return this.EMPTY;
+          case "loading":
+            return this.LOADING;
+          case "done":
+            return this.DONE;
         }
-        this.state = "aborted";
-        if (!error3) {
-          error3 = new DOMException2("The operation was aborted.", "AbortError");
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
+       */
+      get result() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kResult];
+      }
+      /**
+       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
+       */
+      get error() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kError];
+      }
+      get onloadend() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadend;
+      }
+      set onloadend(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadend) {
+          this.removeEventListener("loadend", this[kEvents].loadend);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].loadend = fn;
+          this.addEventListener("loadend", fn);
+        } else {
+          this[kEvents].loadend = null;
         }
-        this.serializedAbortReason = error3;
-        this.connection?.destroy(error3);
-        this.emit("terminated", error3);
       }
-    };
-    function fetch(input, init = {}) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });
-      const p = createDeferredPromise();
-      let requestObject;
-      try {
-        requestObject = new Request(input, init);
-      } catch (e) {
-        p.reject(e);
-        return p.promise;
+      get onerror() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].error;
       }
-      const request2 = requestObject[kState];
-      if (requestObject.signal.aborted) {
-        abortFetch(p, request2, null, requestObject.signal.reason);
-        return p.promise;
+      set onerror(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].error) {
+          this.removeEventListener("error", this[kEvents].error);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this[kEvents].error = null;
+        }
       }
-      const globalObject = request2.client.globalObject;
-      if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
-        request2.serviceWorkers = "none";
+      get onloadstart() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].loadstart;
       }
-      let responseObject = null;
-      const relevantRealm = null;
-      let locallyAborted = false;
-      let controller = null;
-      addAbortListener(
-        requestObject.signal,
-        () => {
-          locallyAborted = true;
-          assert(controller != null);
-          controller.abort(requestObject.signal.reason);
-          abortFetch(p, request2, responseObject, requestObject.signal.reason);
+      set onloadstart(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].loadstart) {
+          this.removeEventListener("loadstart", this[kEvents].loadstart);
         }
-      );
-      const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch");
-      const processResponse = (response) => {
-        if (locallyAborted) {
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].loadstart = fn;
+          this.addEventListener("loadstart", fn);
+        } else {
+          this[kEvents].loadstart = null;
         }
-        if (response.aborted) {
-          abortFetch(p, request2, responseObject, controller.serializedAbortReason);
-          return Promise.resolve();
+      }
+      get onprogress() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].progress;
+      }
+      set onprogress(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].progress) {
+          this.removeEventListener("progress", this[kEvents].progress);
         }
-        if (response.type === "error") {
-          p.reject(
-            Object.assign(new TypeError("fetch failed"), { cause: response.error })
-          );
-          return Promise.resolve();
+        if (typeof fn === "function") {
+          this[kEvents].progress = fn;
+          this.addEventListener("progress", fn);
+        } else {
+          this[kEvents].progress = null;
         }
-        responseObject = new Response();
-        responseObject[kState] = response;
-        responseObject[kRealm] = relevantRealm;
-        responseObject[kHeaders][kHeadersList] = response.headersList;
-        responseObject[kHeaders][kGuard] = "immutable";
-        responseObject[kHeaders][kRealm] = relevantRealm;
-        p.resolve(responseObject);
-      };
-      controller = fetching({
-        request: request2,
-        processResponseEndOfBody: handleFetchDone,
-        processResponse,
-        dispatcher: init.dispatcher ?? getGlobalDispatcher()
-        // undici
-      });
-      return p.promise;
-    }
-    function finalizeAndReportTiming(response, initiatorType = "other") {
-      if (response.type === "error" && response.aborted) {
-        return;
       }
-      if (!response.urlList?.length) {
-        return;
+      get onload() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].load;
       }
-      const originalURL = response.urlList[0];
-      let timingInfo = response.timingInfo;
-      let cacheState = response.cacheState;
-      if (!urlIsHttpHttpsScheme(originalURL)) {
-        return;
+      set onload(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].load) {
+          this.removeEventListener("load", this[kEvents].load);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].load = fn;
+          this.addEventListener("load", fn);
+        } else {
+          this[kEvents].load = null;
+        }
       }
-      if (timingInfo === null) {
-        return;
+      get onabort() {
+        webidl.brandCheck(this, _FileReader);
+        return this[kEvents].abort;
       }
-      if (!response.timingAllowPassed) {
-        timingInfo = createOpaqueTimingInfo({
-          startTime: timingInfo.startTime
-        });
-        cacheState = "";
+      set onabort(fn) {
+        webidl.brandCheck(this, _FileReader);
+        if (this[kEvents].abort) {
+          this.removeEventListener("abort", this[kEvents].abort);
+        }
+        if (typeof fn === "function") {
+          this[kEvents].abort = fn;
+          this.addEventListener("abort", fn);
+        } else {
+          this[kEvents].abort = null;
+        }
       }
-      timingInfo.endTime = coarsenedSharedCurrentTime();
-      response.timingInfo = timingInfo;
-      markResourceTiming(
-        timingInfo,
-        originalURL,
-        initiatorType,
-        globalThis,
-        cacheState
-      );
+    };
+    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
+    FileReader.LOADING = FileReader.prototype.LOADING = 1;
+    FileReader.DONE = FileReader.prototype.DONE = 2;
+    Object.defineProperties(FileReader.prototype, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors,
+      readAsArrayBuffer: kEnumerableProperty,
+      readAsBinaryString: kEnumerableProperty,
+      readAsText: kEnumerableProperty,
+      readAsDataURL: kEnumerableProperty,
+      abort: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      result: kEnumerableProperty,
+      error: kEnumerableProperty,
+      onloadstart: kEnumerableProperty,
+      onprogress: kEnumerableProperty,
+      onload: kEnumerableProperty,
+      onabort: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onloadend: kEnumerableProperty,
+      [Symbol.toStringTag]: {
+        value: "FileReader",
+        writable: false,
+        enumerable: false,
+        configurable: true
+      }
+    });
+    Object.defineProperties(FileReader, {
+      EMPTY: staticPropertyDescriptors,
+      LOADING: staticPropertyDescriptors,
+      DONE: staticPropertyDescriptors
+    });
+    module2.exports = {
+      FileReader
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js
+var require_symbols9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kConstruct: require_symbols6().kConstruct
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js
+var require_util13 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
+    "use strict";
+    var assert = require("node:assert");
+    var { URLSerializer } = require_data_url2();
+    var { isValidHeaderName } = require_util10();
+    function urlEquals(A, B, excludeFragment = false) {
+      const serializedA = URLSerializer(A, excludeFragment);
+      const serializedB = URLSerializer(B, excludeFragment);
+      return serializedA === serializedB;
     }
-    function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {
-      if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {
-        performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState);
+    function getFieldValues(header) {
+      assert(header !== null);
+      const values = [];
+      for (let value of header.split(",")) {
+        value = value.trim();
+        if (isValidHeaderName(value)) {
+          values.push(value);
+        }
       }
+      return values;
     }
-    function abortFetch(p, request2, responseObject, error3) {
-      if (!error3) {
-        error3 = new DOMException2("The operation was aborted.", "AbortError");
+    module2.exports = {
+      urlEquals,
+      getFieldValues
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js
+var require_cache2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { urlEquals, getFieldValues } = require_util13();
+    var { kEnumerableProperty, isDisturbed } = require_util9();
+    var { webidl } = require_webidl2();
+    var { Response, cloneResponse, fromInnerResponse } = require_response2();
+    var { Request, fromInnerRequest } = require_request4();
+    var { kState } = require_symbols7();
+    var { fetching } = require_fetch2();
+    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
+    var assert = require("node:assert");
+    var Cache = class _Cache {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
+       * @type {requestResponseList}
+       */
+      #relevantRequestResponseList;
+      constructor() {
+        if (arguments[0] !== kConstruct) {
+          webidl.illegalConstructor();
+        }
+        webidl.util.markAsUncloneable(this);
+        this.#relevantRequestResponseList = arguments[1];
       }
-      p.reject(error3);
-      if (request2.body != null && isReadable(request2.body?.stream)) {
-        request2.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.match";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        const p = this.#internalMatchAll(request2, options, 1);
+        if (p.length === 0) {
+          return;
+        }
+        return p[0];
+      }
+      async matchAll(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.matchAll";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        return this.#internalMatchAll(request2, options);
+      }
+      async add(request2) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.add";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        const requests = [request2];
+        const responseArrayPromise = this.addAll(requests);
+        return await responseArrayPromise;
+      }
+      async addAll(requests) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.addAll";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const responsePromises = [];
+        const requestList = [];
+        for (let request2 of requests) {
+          if (request2 === void 0) {
+            throw webidl.errors.conversionFailed({
+              prefix,
+              argument: "Argument 1",
+              types: ["undefined is not allowed"]
+            });
+          }
+          request2 = webidl.converters.RequestInfo(request2);
+          if (typeof request2 === "string") {
+            continue;
+          }
+          const r = request2[kState];
+          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme when method is not GET."
+            });
+          }
+        }
+        const fetchControllers = [];
+        for (const request2 of requests) {
+          const r = new Request(request2)[kState];
+          if (!urlIsHttpHttpsScheme(r.url)) {
+            throw webidl.errors.exception({
+              header: prefix,
+              message: "Expected http/s scheme."
+            });
+          }
+          r.initiator = "fetch";
+          r.destination = "subresource";
+          requestList.push(r);
+          const responsePromise = createDeferredPromise();
+          fetchControllers.push(fetching({
+            request: r,
+            processResponse(response) {
+              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
+                responsePromise.reject(webidl.errors.exception({
+                  header: "Cache.addAll",
+                  message: "Received an invalid status code or the request failed."
+                }));
+              } else if (response.headersList.contains("vary")) {
+                const fieldValues = getFieldValues(response.headersList.get("vary"));
+                for (const fieldValue of fieldValues) {
+                  if (fieldValue === "*") {
+                    responsePromise.reject(webidl.errors.exception({
+                      header: "Cache.addAll",
+                      message: "invalid vary field value"
+                    }));
+                    for (const controller of fetchControllers) {
+                      controller.abort();
+                    }
+                    return;
+                  }
+                }
+              }
+            },
+            processResponseEndOfBody(response) {
+              if (response.aborted) {
+                responsePromise.reject(new DOMException("aborted", "AbortError"));
+                return;
+              }
+              responsePromise.resolve(response);
+            }
+          }));
+          responsePromises.push(responsePromise.promise);
+        }
+        const p = Promise.all(responsePromises);
+        const responses = await p;
+        const operations = [];
+        let index = 0;
+        for (const response of responses) {
+          const operation = {
+            type: "put",
+            // 7.3.2
+            request: requestList[index],
+            // 7.3.3
+            response
+            // 7.3.4
+          };
+          operations.push(operation);
+          index++;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(void 0);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-      if (responseObject == null) {
-        return;
-      }
-      const response = responseObject[kState];
-      if (response.body != null && isReadable(response.body?.stream)) {
-        response.body.stream.cancel(error3).catch((err) => {
-          if (err.code === "ERR_INVALID_STATE") {
-            return;
+      async put(request2, response) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.put";
+        webidl.argumentLengthCheck(arguments, 2, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        response = webidl.converters.Response(response, prefix, "response");
+        let innerRequest = null;
+        if (request2 instanceof Request) {
+          innerRequest = request2[kState];
+        } else {
+          innerRequest = new Request(request2)[kState];
+        }
+        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Expected an http/s scheme when method is not GET"
+          });
+        }
+        const innerResponse = response[kState];
+        if (innerResponse.status === 206) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Got 206 status"
+          });
+        }
+        if (innerResponse.headersList.contains("vary")) {
+          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
+          for (const fieldValue of fieldValues) {
+            if (fieldValue === "*") {
+              throw webidl.errors.exception({
+                header: prefix,
+                message: "Got * vary field value"
+              });
+            }
+          }
+        }
+        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
+          throw webidl.errors.exception({
+            header: prefix,
+            message: "Response body is locked or disturbed"
+          });
+        }
+        const clonedResponse = cloneResponse(innerResponse);
+        const bodyReadPromise = createDeferredPromise();
+        if (innerResponse.body != null) {
+          const stream2 = innerResponse.body.stream;
+          const reader = stream2.getReader();
+          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+        } else {
+          bodyReadPromise.resolve(void 0);
+        }
+        const operations = [];
+        const operation = {
+          type: "put",
+          // 14.
+          request: innerRequest,
+          // 15.
+          response: clonedResponse
+          // 16.
+        };
+        operations.push(operation);
+        const bytes = await bodyReadPromise.promise;
+        if (clonedResponse.body != null) {
+          clonedResponse.body.source = bytes;
+        }
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        try {
+          this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve();
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          throw err;
         });
+        return cacheJobPromise.promise;
       }
-    }
-    function fetching({
-      request: request2,
-      processRequestBodyChunkLength,
-      processRequestEndOfBody,
-      processResponse,
-      processResponseEndOfBody,
-      processResponseConsumeBody,
-      useParallelQueue = false,
-      dispatcher
-      // undici
-    }) {
-      let taskDestination = null;
-      let crossOriginIsolatedCapability = false;
-      if (request2.client != null) {
-        taskDestination = request2.client.globalObject;
-        crossOriginIsolatedCapability = request2.client.crossOriginIsolatedCapability;
-      }
-      const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
-      const timingInfo = createOpaqueTimingInfo({
-        startTime: currenTime
-      });
-      const fetchParams = {
-        controller: new Fetch(dispatcher),
-        request: request2,
-        timingInfo,
-        processRequestBodyChunkLength,
-        processRequestEndOfBody,
-        processResponse,
-        processResponseConsumeBody,
-        processResponseEndOfBody,
-        taskDestination,
-        crossOriginIsolatedCapability
-      };
-      assert(!request2.body || request2.body.stream);
-      if (request2.window === "client") {
-        request2.window = request2.client?.globalObject?.constructor?.name === "Window" ? request2.client : "no-window";
-      }
-      if (request2.origin === "client") {
-        request2.origin = request2.client?.origin;
-      }
-      if (request2.policyContainer === "client") {
-        if (request2.client != null) {
-          request2.policyContainer = clonePolicyContainer(
-            request2.client.policyContainer
-          );
+      async delete(request2, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 instanceof Request) {
+          r = request2[kState];
+          if (r.method !== "GET" && !options.ignoreMethod) {
+            return false;
+          }
         } else {
-          request2.policyContainer = makePolicyContainer();
+          assert(typeof request2 === "string");
+          r = new Request(request2)[kState];
         }
-      }
-      if (!request2.headersList.contains("accept")) {
-        const value = "*/*";
-        request2.headersList.append("accept", value);
-      }
-      if (!request2.headersList.contains("accept-language")) {
-        request2.headersList.append("accept-language", "*");
-      }
-      if (request2.priority === null) {
-      }
-      if (subresourceSet.has(request2.destination)) {
-      }
-      mainFetch(fetchParams).catch((err) => {
-        fetchParams.controller.terminate(err);
-      });
-      return fetchParams.controller;
-    }
-    async function mainFetch(fetchParams, recursive = false) {
-      const request2 = fetchParams.request;
-      let response = null;
-      if (request2.localURLsOnly && !urlIsLocal(requestCurrentURL(request2))) {
-        response = makeNetworkError("local URLs only");
-      }
-      tryUpgradeRequestToAPotentiallyTrustworthyURL(request2);
-      if (requestBadPort(request2) === "blocked") {
-        response = makeNetworkError("bad port");
-      }
-      if (request2.referrerPolicy === "") {
-        request2.referrerPolicy = request2.policyContainer.referrerPolicy;
-      }
-      if (request2.referrer !== "no-referrer") {
-        request2.referrer = determineRequestsReferrer(request2);
-      }
-      if (response === null) {
-        response = await (async () => {
-          const currentURL = requestCurrentURL(request2);
-          if (
-            // - request’s current URL’s origin is same origin with request’s origin,
-            //   and request’s response tainting is "basic"
-            sameOrigin(currentURL, request2.url) && request2.responseTainting === "basic" || // request’s current URL’s scheme is "data"
-            currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
-            (request2.mode === "navigate" || request2.mode === "websocket")
-          ) {
-            request2.responseTainting = "basic";
-            return await schemeFetch(fetchParams);
-          }
-          if (request2.mode === "same-origin") {
-            return makeNetworkError('request mode cannot be "same-origin"');
+        const operations = [];
+        const operation = {
+          type: "delete",
+          request: r,
+          options
+        };
+        operations.push(operation);
+        const cacheJobPromise = createDeferredPromise();
+        let errorData = null;
+        let requestResponses;
+        try {
+          requestResponses = this.#batchCacheOperations(operations);
+        } catch (e) {
+          errorData = e;
+        }
+        queueMicrotask(() => {
+          if (errorData === null) {
+            cacheJobPromise.resolve(!!requestResponses?.length);
+          } else {
+            cacheJobPromise.reject(errorData);
           }
-          if (request2.mode === "no-cors") {
-            if (request2.redirect !== "follow") {
-              return makeNetworkError(
-                'redirect mode cannot be "follow" for "no-cors" request'
-              );
+        });
+        return cacheJobPromise.promise;
+      }
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
+       * @param {any} request
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @returns {Promise}
+       */
+      async keys(request2 = void 0, options = {}) {
+        webidl.brandCheck(this, _Cache);
+        const prefix = "Cache.keys";
+        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2, prefix, "request");
+        options = webidl.converters.CacheQueryOptions(options, prefix, "options");
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
             }
-            request2.responseTainting = "opaque";
-            return await schemeFetch(fetchParams);
-          }
-          if (!urlIsHttpHttpsScheme(requestCurrentURL(request2))) {
-            return makeNetworkError("URL scheme must be a HTTP(S) scheme");
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          request2.responseTainting = "cors";
-          return await httpFetch(fetchParams);
-        })();
-      }
-      if (recursive) {
-        return response;
-      }
-      if (response.status !== 0 && !response.internalResponse) {
-        if (request2.responseTainting === "cors") {
         }
-        if (request2.responseTainting === "basic") {
-          response = filterResponse(response, "basic");
-        } else if (request2.responseTainting === "cors") {
-          response = filterResponse(response, "cors");
-        } else if (request2.responseTainting === "opaque") {
-          response = filterResponse(response, "opaque");
+        const promise = createDeferredPromise();
+        const requests = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            requests.push(requestResponse[0]);
+          }
         } else {
-          assert(false);
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            requests.push(requestResponse[0]);
+          }
         }
+        queueMicrotask(() => {
+          const requestList = [];
+          for (const request3 of requests) {
+            const requestObject = fromInnerRequest(
+              request3,
+              new AbortController().signal,
+              "immutable"
+            );
+            requestList.push(requestObject);
+          }
+          promise.resolve(Object.freeze(requestList));
+        });
+        return promise.promise;
       }
-      let internalResponse = response.status === 0 ? response : response.internalResponse;
-      if (internalResponse.urlList.length === 0) {
-        internalResponse.urlList.push(...request2.urlList);
-      }
-      if (!request2.timingAllowFailed) {
-        response.timingAllowPassed = true;
-      }
-      if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request2.headers.contains("range")) {
-        response = internalResponse = makeNetworkError();
-      }
-      if (response.status !== 0 && (request2.method === "HEAD" || request2.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
-        internalResponse.body = null;
-        fetchParams.controller.dump = true;
-      }
-      if (request2.integrity) {
-        const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
-        if (request2.responseTainting === "opaque" || response.body == null) {
-          processBodyError(response.error);
-          return;
-        }
-        const processBody = (bytes) => {
-          if (!bytesMatch(bytes, request2.integrity)) {
-            processBodyError("integrity mismatch");
-            return;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
+       * @param {CacheBatchOperation[]} operations
+       * @returns {requestResponseList}
+       */
+      #batchCacheOperations(operations) {
+        const cache = this.#relevantRequestResponseList;
+        const backupCache = [...cache];
+        const addedItems = [];
+        const resultList = [];
+        try {
+          for (const operation of operations) {
+            if (operation.type !== "delete" && operation.type !== "put") {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: 'operation type does not match "delete" or "put"'
+              });
+            }
+            if (operation.type === "delete" && operation.response != null) {
+              throw webidl.errors.exception({
+                header: "Cache.#batchCacheOperations",
+                message: "delete operation should not have an associated response"
+              });
+            }
+            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
+              throw new DOMException("???", "InvalidStateError");
+            }
+            let requestResponses;
+            if (operation.type === "delete") {
+              requestResponses = this.#queryCache(operation.request, operation.options);
+              if (requestResponses.length === 0) {
+                return [];
+              }
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+            } else if (operation.type === "put") {
+              if (operation.response == null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "put operation should have an associated response"
+                });
+              }
+              const r = operation.request;
+              if (!urlIsHttpHttpsScheme(r.url)) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "expected http or https scheme"
+                });
+              }
+              if (r.method !== "GET") {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "not get method"
+                });
+              }
+              if (operation.options != null) {
+                throw webidl.errors.exception({
+                  header: "Cache.#batchCacheOperations",
+                  message: "options must not be defined"
+                });
+              }
+              requestResponses = this.#queryCache(operation.request);
+              for (const requestResponse of requestResponses) {
+                const idx = cache.indexOf(requestResponse);
+                assert(idx !== -1);
+                cache.splice(idx, 1);
+              }
+              cache.push([operation.request, operation.response]);
+              addedItems.push([operation.request, operation.response]);
+            }
+            resultList.push([operation.request, operation.response]);
           }
-          response.body = safelyExtractBody(bytes)[0];
-          fetchFinale(fetchParams, response);
-        };
-        await fullyReadBody(response.body, processBody, processBodyError);
-      } else {
-        fetchFinale(fetchParams, response);
+          return resultList;
+        } catch (e) {
+          this.#relevantRequestResponseList.length = 0;
+          this.#relevantRequestResponseList = backupCache;
+          throw e;
+        }
       }
-    }
-    function schemeFetch(fetchParams) {
-      if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
-        return Promise.resolve(makeAppropriateNetworkError(fetchParams));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#query-cache
+       * @param {any} requestQuery
+       * @param {import('../../types/cache').CacheQueryOptions} options
+       * @param {requestResponseList} targetStorage
+       * @returns {requestResponseList}
+       */
+      #queryCache(requestQuery, options, targetStorage) {
+        const resultList = [];
+        const storage = targetStorage ?? this.#relevantRequestResponseList;
+        for (const requestResponse of storage) {
+          const [cachedRequest, cachedResponse] = requestResponse;
+          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
+            resultList.push(requestResponse);
+          }
+        }
+        return resultList;
       }
-      const { request: request2 } = fetchParams;
-      const { protocol: scheme } = requestCurrentURL(request2);
-      switch (scheme) {
-        case "about:": {
-          return Promise.resolve(makeNetworkError("about scheme is not supported"));
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
+       * @param {any} requestQuery
+       * @param {any} request
+       * @param {any | null} response
+       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
+       * @returns {boolean}
+       */
+      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
+        const queryURL = new URL(requestQuery.url);
+        const cachedURL = new URL(request2.url);
+        if (options?.ignoreSearch) {
+          cachedURL.search = "";
+          queryURL.search = "";
         }
-        case "blob:": {
-          if (!resolveObjectURL) {
-            resolveObjectURL = require("buffer").resolveObjectURL;
-          }
-          const blobURLEntry = requestCurrentURL(request2);
-          if (blobURLEntry.search.length !== 0) {
-            return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
+        if (!urlEquals(queryURL, cachedURL, true)) {
+          return false;
+        }
+        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
+          return true;
+        }
+        const fieldValues = getFieldValues(response.headersList.get("vary"));
+        for (const fieldValue of fieldValues) {
+          if (fieldValue === "*") {
+            return false;
           }
-          const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());
-          if (request2.method !== "GET" || !isBlobLike(blobURLEntryObject)) {
-            return Promise.resolve(makeNetworkError("invalid method"));
+          const requestValue = request2.headersList.get(fieldValue);
+          const queryValue = requestQuery.headersList.get(fieldValue);
+          if (requestValue !== queryValue) {
+            return false;
           }
-          const bodyWithType = safelyExtractBody(blobURLEntryObject);
-          const body = bodyWithType[0];
-          const length = isomorphicEncode(`${body.length}`);
-          const type2 = bodyWithType[1] ?? "";
-          const response = makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-length", { name: "Content-Length", value: length }],
-              ["content-type", { name: "Content-Type", value: type2 }]
-            ]
-          });
-          response.body = body;
-          return Promise.resolve(response);
         }
-        case "data:": {
-          const currentURL = requestCurrentURL(request2);
-          const dataURLStruct = dataURLProcessor(currentURL);
-          if (dataURLStruct === "failure") {
-            return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
+        return true;
+      }
+      #internalMatchAll(request2, options, maxResponses = Infinity) {
+        let r = null;
+        if (request2 !== void 0) {
+          if (request2 instanceof Request) {
+            r = request2[kState];
+            if (r.method !== "GET" && !options.ignoreMethod) {
+              return [];
+            }
+          } else if (typeof request2 === "string") {
+            r = new Request(request2)[kState];
           }
-          const mimeType = serializeAMimeType(dataURLStruct.mimeType);
-          return Promise.resolve(makeResponse({
-            statusText: "OK",
-            headersList: [
-              ["content-type", { name: "Content-Type", value: mimeType }]
-            ],
-            body: safelyExtractBody(dataURLStruct.body)[0]
-          }));
-        }
-        case "file:": {
-          return Promise.resolve(makeNetworkError("not implemented... yet..."));
         }
-        case "http:":
-        case "https:": {
-          return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
+        const responses = [];
+        if (request2 === void 0) {
+          for (const requestResponse of this.#relevantRequestResponseList) {
+            responses.push(requestResponse[1]);
+          }
+        } else {
+          const requestResponses = this.#queryCache(r, options);
+          for (const requestResponse of requestResponses) {
+            responses.push(requestResponse[1]);
+          }
         }
-        default: {
-          return Promise.resolve(makeNetworkError("unknown scheme"));
+        const responseList = [];
+        for (const response of responses) {
+          const responseObject = fromInnerResponse(response, "immutable");
+          responseList.push(responseObject.clone());
+          if (responseList.length >= maxResponses) {
+            break;
+          }
         }
+        return Object.freeze(responseList);
       }
-    }
-    function finalizeResponse(fetchParams, response) {
-      fetchParams.request.done = true;
-      if (fetchParams.processResponseDone != null) {
-        queueMicrotask(() => fetchParams.processResponseDone(response));
-      }
-    }
-    function fetchFinale(fetchParams, response) {
-      if (response.type === "error") {
-        response.urlList = [fetchParams.request.urlList[0]];
-        response.timingInfo = createOpaqueTimingInfo({
-          startTime: fetchParams.timingInfo.startTime
-        });
+    };
+    Object.defineProperties(Cache.prototype, {
+      [Symbol.toStringTag]: {
+        value: "Cache",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      matchAll: kEnumerableProperty,
+      add: kEnumerableProperty,
+      addAll: kEnumerableProperty,
+      put: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    var cacheQueryOptionConverters = [
+      {
+        key: "ignoreSearch",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreMethod",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "ignoreVary",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       }
-      const processResponseEndOfBody = () => {
-        fetchParams.request.done = true;
-        if (fetchParams.processResponseEndOfBody != null) {
-          queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
-        }
-      };
-      if (fetchParams.processResponse != null) {
-        queueMicrotask(() => fetchParams.processResponse(response));
+    ];
+    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
+    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
+      ...cacheQueryOptionConverters,
+      {
+        key: "cacheName",
+        converter: webidl.converters.DOMString
       }
-      if (response.body == null) {
-        processResponseEndOfBody();
-      } else {
-        const identityTransformAlgorithm = (chunk, controller) => {
-          controller.enqueue(chunk);
-        };
-        const transformStream = new TransformStream2({
-          start() {
-          },
-          transform: identityTransformAlgorithm,
-          flush: processResponseEndOfBody
-        }, {
-          size() {
-            return 1;
-          }
-        }, {
-          size() {
-            return 1;
-          }
-        });
-        response.body = { stream: response.body.stream.pipeThrough(transformStream) };
+    ]);
+    webidl.converters.Response = webidl.interfaceConverter(Response);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.RequestInfo
+    );
+    module2.exports = {
+      Cache
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js
+var require_cachestorage2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
+    "use strict";
+    var { kConstruct } = require_symbols9();
+    var { Cache } = require_cache2();
+    var { webidl } = require_webidl2();
+    var { kEnumerableProperty } = require_util9();
+    var CacheStorage = class _CacheStorage {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
+       * @type {Map fetchParams.processResponseConsumeBody(response, nullOrBytes);
-        const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure);
-        if (response.body == null) {
-          queueMicrotask(() => processBody(null));
+      async match(request2, options = {}) {
+        webidl.brandCheck(this, _CacheStorage);
+        webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
+        request2 = webidl.converters.RequestInfo(request2);
+        options = webidl.converters.MultiCacheQueryOptions(options);
+        if (options.cacheName != null) {
+          if (this.#caches.has(options.cacheName)) {
+            const cacheList = this.#caches.get(options.cacheName);
+            const cache = new Cache(kConstruct, cacheList);
+            return await cache.match(request2, options);
+          }
         } else {
-          return fullyReadBody(response.body, processBody, processBodyError);
+          for (const cacheList of this.#caches.values()) {
+            const cache = new Cache(kConstruct, cacheList);
+            const response = await cache.match(request2, options);
+            if (response !== void 0) {
+              return response;
+            }
+          }
         }
-        return Promise.resolve();
       }
-    }
-    async function httpFetch(fetchParams) {
-      const request2 = fetchParams.request;
-      let response = null;
-      let actualResponse = null;
-      const timingInfo = fetchParams.timingInfo;
-      if (request2.serviceWorkers === "all") {
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async has(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.has";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.has(cacheName);
       }
-      if (response === null) {
-        if (request2.redirect === "follow") {
-          request2.serviceWorkers = "none";
-        }
-        actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
-        if (request2.responseTainting === "cors" && corsCheck(request2, response) === "failure") {
-          return makeNetworkError("cors failure");
-        }
-        if (TAOCheck(request2, response) === "failure") {
-          request2.timingAllowFailed = true;
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async open(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.open";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        if (this.#caches.has(cacheName)) {
+          const cache2 = this.#caches.get(cacheName);
+          return new Cache(kConstruct, cache2);
         }
+        const cache = [];
+        this.#caches.set(cacheName, cache);
+        return new Cache(kConstruct, cache);
       }
-      if ((request2.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
-        request2.origin,
-        request2.client,
-        request2.destination,
-        actualResponse
-      ) === "blocked") {
-        return makeNetworkError("blocked");
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
+       * @param {string} cacheName
+       * @returns {Promise}
+       */
+      async delete(cacheName) {
+        webidl.brandCheck(this, _CacheStorage);
+        const prefix = "CacheStorage.delete";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
+        return this.#caches.delete(cacheName);
       }
-      if (redirectStatusSet.has(actualResponse.status)) {
-        if (request2.redirect !== "manual") {
-          fetchParams.controller.connection.destroy();
-        }
-        if (request2.redirect === "error") {
-          response = makeNetworkError("unexpected redirect");
-        } else if (request2.redirect === "manual") {
-          response = actualResponse;
-        } else if (request2.redirect === "follow") {
-          response = await httpRedirectFetch(fetchParams, response);
-        } else {
-          assert(false);
+      /**
+       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
+       * @returns {Promise}
+       */
+      async keys() {
+        webidl.brandCheck(this, _CacheStorage);
+        const keys = this.#caches.keys();
+        return [...keys];
+      }
+    };
+    Object.defineProperties(CacheStorage.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CacheStorage",
+        configurable: true
+      },
+      match: kEnumerableProperty,
+      has: kEnumerableProperty,
+      open: kEnumerableProperty,
+      delete: kEnumerableProperty,
+      keys: kEnumerableProperty
+    });
+    module2.exports = {
+      CacheStorage
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js
+var require_constants9 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
+    "use strict";
+    var maxAttributeValueSize = 1024;
+    var maxNameValuePairSize = 4096;
+    module2.exports = {
+      maxAttributeValueSize,
+      maxNameValuePairSize
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js
+var require_util14 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
+    "use strict";
+    function isCTLExcludingHtab(value) {
+      for (let i = 0; i < value.length; ++i) {
+        const code = value.charCodeAt(i);
+        if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
+          return true;
         }
       }
-      response.timingInfo = timingInfo;
-      return response;
+      return false;
     }
-    function httpRedirectFetch(fetchParams, response) {
-      const request2 = fetchParams.request;
-      const actualResponse = response.internalResponse ? response.internalResponse : response;
-      let locationURL;
-      try {
-        locationURL = responseLocationURL(
-          actualResponse,
-          requestCurrentURL(request2).hash
-        );
-        if (locationURL == null) {
-          return response;
+    function validateCookieName(name) {
+      for (let i = 0; i < name.length; ++i) {
+        const code = name.charCodeAt(i);
+        if (code < 33 || // exclude CTLs (0-31), SP and HT
+        code > 126 || // exclude non-ascii and DEL
+        code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 60 || // <
+        code === 62 || // >
+        code === 64 || // @
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 58 || // :
+        code === 92 || // \
+        code === 47 || // /
+        code === 91 || // [
+        code === 93 || // ]
+        code === 63 || // ?
+        code === 61 || // =
+        code === 123 || // {
+        code === 125) {
+          throw new Error("Invalid cookie name");
         }
-      } catch (err) {
-        return Promise.resolve(makeNetworkError(err));
-      }
-      if (!urlIsHttpHttpsScheme(locationURL)) {
-        return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
-      }
-      if (request2.redirectCount === 20) {
-        return Promise.resolve(makeNetworkError("redirect count exceeded"));
-      }
-      request2.redirectCount += 1;
-      if (request2.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request2, locationURL)) {
-        return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
-      }
-      if (request2.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
-        return Promise.resolve(makeNetworkError(
-          'URL cannot contain credentials for request mode "cors"'
-        ));
-      }
-      if (actualResponse.status !== 303 && request2.body != null && request2.body.source == null) {
-        return Promise.resolve(makeNetworkError());
       }
-      if ([301, 302].includes(actualResponse.status) && request2.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request2.method)) {
-        request2.method = "GET";
-        request2.body = null;
-        for (const headerName of requestBodyHeader) {
-          request2.headersList.delete(headerName);
+    }
+    function validateCookieValue(value) {
+      let len = value.length;
+      let i = 0;
+      if (value[0] === '"') {
+        if (len === 1 || value[len - 1] !== '"') {
+          throw new Error("Invalid cookie value");
         }
+        --len;
+        ++i;
       }
-      if (!sameOrigin(requestCurrentURL(request2), locationURL)) {
-        request2.headersList.delete("authorization");
-        request2.headersList.delete("proxy-authorization", true);
-        request2.headersList.delete("cookie");
-        request2.headersList.delete("host");
-      }
-      if (request2.body != null) {
-        assert(request2.body.source != null);
-        request2.body = safelyExtractBody(request2.body.source)[0];
-      }
-      const timingInfo = fetchParams.timingInfo;
-      timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
-      if (timingInfo.redirectStartTime === 0) {
-        timingInfo.redirectStartTime = timingInfo.startTime;
+      while (i < len) {
+        const code = value.charCodeAt(i++);
+        if (code < 33 || // exclude CTLs (0-31)
+        code > 126 || // non-ascii and DEL (127)
+        code === 34 || // "
+        code === 44 || // ,
+        code === 59 || // ;
+        code === 92) {
+          throw new Error("Invalid cookie value");
+        }
       }
-      request2.urlList.push(locationURL);
-      setRequestReferrerPolicyOnRedirect(request2, actualResponse);
-      return mainFetch(fetchParams, true);
     }
-    async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
-      const request2 = fetchParams.request;
-      let httpFetchParams = null;
-      let httpRequest = null;
-      let response = null;
-      const httpCache = null;
-      const revalidatingFlag = false;
-      if (request2.window === "no-window" && request2.redirect === "error") {
-        httpFetchParams = fetchParams;
-        httpRequest = request2;
-      } else {
-        httpRequest = makeRequest(request2);
-        httpFetchParams = { ...fetchParams };
-        httpFetchParams.request = httpRequest;
-      }
-      const includeCredentials = request2.credentials === "include" || request2.credentials === "same-origin" && request2.responseTainting === "basic";
-      const contentLength = httpRequest.body ? httpRequest.body.length : null;
-      let contentLengthHeaderValue = null;
-      if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
-        contentLengthHeaderValue = "0";
+    function validateCookiePath(path12) {
+      for (let i = 0; i < path12.length; ++i) {
+        const code = path12.charCodeAt(i);
+        if (code < 32 || // exclude CTLs (0-31)
+        code === 127 || // DEL
+        code === 59) {
+          throw new Error("Invalid cookie path");
+        }
       }
-      if (contentLength != null) {
-        contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
+    }
+    function validateCookieDomain(domain) {
+      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
+        throw new Error("Invalid cookie domain");
       }
-      if (contentLengthHeaderValue != null) {
-        httpRequest.headersList.append("content-length", contentLengthHeaderValue);
+    }
+    var IMFDays = [
+      "Sun",
+      "Mon",
+      "Tue",
+      "Wed",
+      "Thu",
+      "Fri",
+      "Sat"
+    ];
+    var IMFMonths = [
+      "Jan",
+      "Feb",
+      "Mar",
+      "Apr",
+      "May",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Oct",
+      "Nov",
+      "Dec"
+    ];
+    var IMFPaddedNumbers = Array(61).fill(0).map((_, i) => i.toString().padStart(2, "0"));
+    function toIMFDate(date) {
+      if (typeof date === "number") {
+        date = new Date(date);
       }
-      if (contentLength != null && httpRequest.keepalive) {
+      return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`;
+    }
+    function validateCookieMaxAge(maxAge) {
+      if (maxAge < 0) {
+        throw new Error("Invalid cookie max-age");
       }
-      if (httpRequest.referrer instanceof URL) {
-        httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));
+    }
+    function stringify(cookie) {
+      if (cookie.name.length === 0) {
+        return null;
       }
-      appendRequestOriginHeader(httpRequest);
-      appendFetchMetadata(httpRequest);
-      if (!httpRequest.headersList.contains("user-agent")) {
-        httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node");
+      validateCookieName(cookie.name);
+      validateCookieValue(cookie.value);
+      const out = [`${cookie.name}=${cookie.value}`];
+      if (cookie.name.startsWith("__Secure-")) {
+        cookie.secure = true;
       }
-      if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {
-        httpRequest.cache = "no-store";
+      if (cookie.name.startsWith("__Host-")) {
+        cookie.secure = true;
+        cookie.domain = null;
+        cookie.path = "/";
       }
-      if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {
-        httpRequest.headersList.append("cache-control", "max-age=0");
+      if (cookie.secure) {
+        out.push("Secure");
       }
-      if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
-        if (!httpRequest.headersList.contains("pragma")) {
-          httpRequest.headersList.append("pragma", "no-cache");
-        }
-        if (!httpRequest.headersList.contains("cache-control")) {
-          httpRequest.headersList.append("cache-control", "no-cache");
-        }
+      if (cookie.httpOnly) {
+        out.push("HttpOnly");
       }
-      if (httpRequest.headersList.contains("range")) {
-        httpRequest.headersList.append("accept-encoding", "identity");
+      if (typeof cookie.maxAge === "number") {
+        validateCookieMaxAge(cookie.maxAge);
+        out.push(`Max-Age=${cookie.maxAge}`);
       }
-      if (!httpRequest.headersList.contains("accept-encoding")) {
-        if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
-          httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");
-        } else {
-          httpRequest.headersList.append("accept-encoding", "gzip, deflate");
-        }
+      if (cookie.domain) {
+        validateCookieDomain(cookie.domain);
+        out.push(`Domain=${cookie.domain}`);
       }
-      httpRequest.headersList.delete("host");
-      if (includeCredentials) {
+      if (cookie.path) {
+        validateCookiePath(cookie.path);
+        out.push(`Path=${cookie.path}`);
       }
-      if (httpCache == null) {
-        httpRequest.cache = "no-store";
+      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
+        out.push(`Expires=${toIMFDate(cookie.expires)}`);
       }
-      if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {
+      if (cookie.sameSite) {
+        out.push(`SameSite=${cookie.sameSite}`);
       }
-      if (response == null) {
-        if (httpRequest.mode === "only-if-cached") {
-          return makeNetworkError("only if cached");
-        }
-        const forwardResponse = await httpNetworkFetch(
-          httpFetchParams,
-          includeCredentials,
-          isNewConnectionFetch
-        );
-        if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
-        }
-        if (revalidatingFlag && forwardResponse.status === 304) {
-        }
-        if (response == null) {
-          response = forwardResponse;
+      for (const part of cookie.unparsed) {
+        if (!part.includes("=")) {
+          throw new Error("Invalid unparsed");
         }
+        const [key, ...value] = part.split("=");
+        out.push(`${key.trim()}=${value.join("=")}`);
       }
-      response.urlList = [...httpRequest.urlList];
-      if (httpRequest.headersList.contains("range")) {
-        response.rangeRequested = true;
+      return out.join("; ");
+    }
+    module2.exports = {
+      isCTLExcludingHtab,
+      validateCookieName,
+      validateCookiePath,
+      validateCookieValue,
+      toIMFDate,
+      stringify
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js
+var require_parse2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
+    "use strict";
+    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
+    var { isCTLExcludingHtab } = require_util14();
+    var { collectASequenceOfCodePointsFast } = require_data_url2();
+    var assert = require("node:assert");
+    function parseSetCookie(header) {
+      if (isCTLExcludingHtab(header)) {
+        return null;
       }
-      response.requestIncludesCredentials = includeCredentials;
-      if (response.status === 407) {
-        if (request2.window === "no-window") {
-          return makeNetworkError();
-        }
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        return makeNetworkError("proxy authentication required");
+      let nameValuePair = "";
+      let unparsedAttributes = "";
+      let name = "";
+      let value = "";
+      if (header.includes(";")) {
+        const position = { position: 0 };
+        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
+        unparsedAttributes = header.slice(position.position);
+      } else {
+        nameValuePair = header;
       }
-      if (
-        // response’s status is 421
-        response.status === 421 && // isNewConnectionFetch is false
-        !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
-        (request2.body == null || request2.body.source != null)
-      ) {
-        if (isCancelled(fetchParams)) {
-          return makeAppropriateNetworkError(fetchParams);
-        }
-        fetchParams.controller.connection.destroy();
-        response = await httpNetworkOrCacheFetch(
-          fetchParams,
-          isAuthenticationFetch,
-          true
+      if (!nameValuePair.includes("=")) {
+        value = nameValuePair;
+      } else {
+        const position = { position: 0 };
+        name = collectASequenceOfCodePointsFast(
+          "=",
+          nameValuePair,
+          position
         );
+        value = nameValuePair.slice(position.position + 1);
       }
-      if (isAuthenticationFetch) {
+      name = name.trim();
+      value = value.trim();
+      if (name.length + value.length > maxNameValuePairSize) {
+        return null;
       }
-      return response;
-    }
-    async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
-      assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
-      fetchParams.controller.connection = {
-        abort: null,
-        destroyed: false,
-        destroy(err) {
-          if (!this.destroyed) {
-            this.destroyed = true;
-            this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError"));
-          }
-        }
+      return {
+        name,
+        value,
+        ...parseUnparsedAttributes(unparsedAttributes)
       };
-      const request2 = fetchParams.request;
-      let response = null;
-      const timingInfo = fetchParams.timingInfo;
-      const httpCache = null;
-      if (httpCache == null) {
-        request2.cache = "no-store";
+    }
+    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
+      if (unparsedAttributes.length === 0) {
+        return cookieAttributeList;
       }
-      const newConnection = forceNewConnection ? "yes" : "no";
-      if (request2.mode === "websocket") {
+      assert(unparsedAttributes[0] === ";");
+      unparsedAttributes = unparsedAttributes.slice(1);
+      let cookieAv = "";
+      if (unparsedAttributes.includes(";")) {
+        cookieAv = collectASequenceOfCodePointsFast(
+          ";",
+          unparsedAttributes,
+          { position: 0 }
+        );
+        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
       } else {
+        cookieAv = unparsedAttributes;
+        unparsedAttributes = "";
       }
-      let requestBody = null;
-      if (request2.body == null && fetchParams.processRequestEndOfBody) {
-        queueMicrotask(() => fetchParams.processRequestEndOfBody());
-      } else if (request2.body != null) {
-        const processBodyChunk = async function* (bytes) {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          yield bytes;
-          fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
-        };
-        const processEndOfBody = () => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (fetchParams.processRequestEndOfBody) {
-            fetchParams.processRequestEndOfBody();
-          }
-        };
-        const processBodyError = (e) => {
-          if (isCancelled(fetchParams)) {
-            return;
-          }
-          if (e.name === "AbortError") {
-            fetchParams.controller.abort();
-          } else {
-            fetchParams.controller.terminate(e);
-          }
-        };
-        requestBody = (async function* () {
-          try {
-            for await (const bytes of request2.body.stream) {
-              yield* processBodyChunk(bytes);
-            }
-            processEndOfBody();
-          } catch (err) {
-            processBodyError(err);
-          }
-        })();
-      }
-      try {
-        const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
-        if (socket) {
-          response = makeResponse({ status, statusText, headersList, socket });
-        } else {
-          const iterator2 = body[Symbol.asyncIterator]();
-          fetchParams.controller.next = () => iterator2.next();
-          response = makeResponse({ status, statusText, headersList });
-        }
-      } catch (err) {
-        if (err.name === "AbortError") {
-          fetchParams.controller.connection.destroy();
-          return makeAppropriateNetworkError(fetchParams, err);
-        }
-        return makeNetworkError(err);
+      let attributeName = "";
+      let attributeValue = "";
+      if (cookieAv.includes("=")) {
+        const position = { position: 0 };
+        attributeName = collectASequenceOfCodePointsFast(
+          "=",
+          cookieAv,
+          position
+        );
+        attributeValue = cookieAv.slice(position.position + 1);
+      } else {
+        attributeName = cookieAv;
       }
-      const pullAlgorithm = () => {
-        fetchParams.controller.resume();
-      };
-      const cancelAlgorithm = (reason) => {
-        fetchParams.controller.abort(reason);
-      };
-      if (!ReadableStream2) {
-        ReadableStream2 = require("stream/web").ReadableStream;
+      attributeName = attributeName.trim();
+      attributeValue = attributeValue.trim();
+      if (attributeValue.length > maxAttributeValueSize) {
+        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
       }
-      const stream2 = new ReadableStream2(
-        {
-          async start(controller) {
-            fetchParams.controller.controller = controller;
-          },
-          async pull(controller) {
-            await pullAlgorithm(controller);
-          },
-          async cancel(reason) {
-            await cancelAlgorithm(reason);
-          }
-        },
-        {
-          highWaterMark: 0,
-          size() {
-            return 1;
-          }
+      const attributeNameLowercase = attributeName.toLowerCase();
+      if (attributeNameLowercase === "expires") {
+        const expiryTime = new Date(attributeValue);
+        cookieAttributeList.expires = expiryTime;
+      } else if (attributeNameLowercase === "max-age") {
+        const charCode = attributeValue.charCodeAt(0);
+        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      );
-      response.body = { stream: stream2 };
-      fetchParams.controller.on("terminated", onAborted);
-      fetchParams.controller.resume = async () => {
-        while (true) {
-          let bytes;
-          let isFailure;
-          try {
-            const { done, value } = await fetchParams.controller.next();
-            if (isAborted(fetchParams)) {
-              break;
-            }
-            bytes = done ? void 0 : value;
-          } catch (err) {
-            if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
-              bytes = void 0;
-            } else {
-              bytes = err;
-              isFailure = true;
-            }
-          }
-          if (bytes === void 0) {
-            readableStreamClose(fetchParams.controller.controller);
-            finalizeResponse(fetchParams, response);
-            return;
-          }
-          timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
-          if (isFailure) {
-            fetchParams.controller.terminate(bytes);
-            return;
-          }
-          fetchParams.controller.controller.enqueue(new Uint8Array(bytes));
-          if (isErrored(stream2)) {
-            fetchParams.controller.terminate();
-            return;
-          }
-          if (!fetchParams.controller.controller.desiredSize) {
-            return;
-          }
+        if (!/^\d+$/.test(attributeValue)) {
+          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
         }
-      };
-      function onAborted(reason) {
-        if (isAborted(fetchParams)) {
-          response.aborted = true;
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(
-              fetchParams.controller.serializedAbortReason
-            );
-          }
+        const deltaSeconds = Number(attributeValue);
+        cookieAttributeList.maxAge = deltaSeconds;
+      } else if (attributeNameLowercase === "domain") {
+        let cookieDomain = attributeValue;
+        if (cookieDomain[0] === ".") {
+          cookieDomain = cookieDomain.slice(1);
+        }
+        cookieDomain = cookieDomain.toLowerCase();
+        cookieAttributeList.domain = cookieDomain;
+      } else if (attributeNameLowercase === "path") {
+        let cookiePath = "";
+        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
+          cookiePath = "/";
         } else {
-          if (isReadable(stream2)) {
-            fetchParams.controller.controller.error(new TypeError("terminated", {
-              cause: isErrorLike(reason) ? reason : void 0
-            }));
-          }
+          cookiePath = attributeValue;
         }
-        fetchParams.controller.connection.destroy();
-      }
-      return response;
-      async function dispatch({ body }) {
-        const url2 = requestCurrentURL(request2);
-        const agent = fetchParams.controller.dispatcher;
-        return new Promise((resolve6, reject) => agent.dispatch(
-          {
-            path: url2.pathname + url2.search,
-            origin: url2.origin,
-            method: request2.method,
-            body: fetchParams.controller.dispatcher.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
-            headers: request2.headersList.entries,
-            maxRedirections: 0,
-            upgrade: request2.mode === "websocket" ? "websocket" : void 0
-          },
-          {
-            body: null,
-            abort: null,
-            onConnect(abort) {
-              const { connection } = fetchParams.controller;
-              if (connection.destroyed) {
-                abort(new DOMException2("The operation was aborted.", "AbortError"));
-              } else {
-                fetchParams.controller.on("terminated", abort);
-                this.abort = connection.abort = abort;
-              }
-            },
-            onHeaders(status, headersList, resume, statusText) {
-              if (status < 200) {
-                return;
-              }
-              let codings = [];
-              let location = "";
-              const headers = new Headers();
-              if (Array.isArray(headersList)) {
-                for (let n = 0; n < headersList.length; n += 2) {
-                  const key = headersList[n + 0].toString("latin1");
-                  const val = headersList[n + 1].toString("latin1");
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim());
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              } else {
-                const keys = Object.keys(headersList);
-                for (const key of keys) {
-                  const val = headersList[key];
-                  if (key.toLowerCase() === "content-encoding") {
-                    codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse();
-                  } else if (key.toLowerCase() === "location") {
-                    location = val;
-                  }
-                  headers[kHeadersList].append(key, val);
-                }
-              }
-              this.body = new Readable2({ read: resume });
-              const decoders = [];
-              const willFollow = request2.redirect === "follow" && location && redirectStatusSet.has(status);
-              if (request2.method !== "HEAD" && request2.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
-                for (const coding of codings) {
-                  if (coding === "x-gzip" || coding === "gzip") {
-                    decoders.push(zlib2.createGunzip({
-                      // Be less strict when decoding compressed responses, since sometimes
-                      // servers send slightly invalid responses that are still accepted
-                      // by common browsers.
-                      // Always using Z_SYNC_FLUSH is what cURL does.
-                      flush: zlib2.constants.Z_SYNC_FLUSH,
-                      finishFlush: zlib2.constants.Z_SYNC_FLUSH
-                    }));
-                  } else if (coding === "deflate") {
-                    decoders.push(zlib2.createInflate());
-                  } else if (coding === "br") {
-                    decoders.push(zlib2.createBrotliDecompress());
-                  } else {
-                    decoders.length = 0;
-                    break;
-                  }
-                }
-              }
-              resolve6({
-                status,
-                statusText,
-                headersList: headers[kHeadersList],
-                body: decoders.length ? pipeline(this.body, ...decoders, () => {
-                }) : this.body.on("error", () => {
-                })
-              });
-              return true;
-            },
-            onData(chunk) {
-              if (fetchParams.controller.dump) {
-                return;
-              }
-              const bytes = chunk;
-              timingInfo.encodedBodySize += bytes.byteLength;
-              return this.body.push(bytes);
-            },
-            onComplete() {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              fetchParams.controller.ended = true;
-              this.body.push(null);
-            },
-            onError(error3) {
-              if (this.abort) {
-                fetchParams.controller.off("terminated", this.abort);
-              }
-              this.body?.destroy(error3);
-              fetchParams.controller.terminate(error3);
-              reject(error3);
-            },
-            onUpgrade(status, headersList, socket) {
-              if (status !== 101) {
-                return;
-              }
-              const headers = new Headers();
-              for (let n = 0; n < headersList.length; n += 2) {
-                const key = headersList[n + 0].toString("latin1");
-                const val = headersList[n + 1].toString("latin1");
-                headers[kHeadersList].append(key, val);
-              }
-              resolve6({
-                status,
-                statusText: STATUS_CODES[status],
-                headersList: headers[kHeadersList],
-                socket
-              });
-              return true;
-            }
-          }
-        ));
+        cookieAttributeList.path = cookiePath;
+      } else if (attributeNameLowercase === "secure") {
+        cookieAttributeList.secure = true;
+      } else if (attributeNameLowercase === "httponly") {
+        cookieAttributeList.httpOnly = true;
+      } else if (attributeNameLowercase === "samesite") {
+        let enforcement = "Default";
+        const attributeValueLowercase = attributeValue.toLowerCase();
+        if (attributeValueLowercase.includes("none")) {
+          enforcement = "None";
+        }
+        if (attributeValueLowercase.includes("strict")) {
+          enforcement = "Strict";
+        }
+        if (attributeValueLowercase.includes("lax")) {
+          enforcement = "Lax";
+        }
+        cookieAttributeList.sameSite = enforcement;
+      } else {
+        cookieAttributeList.unparsed ??= [];
+        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
       }
+      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
     }
     module2.exports = {
-      fetch,
-      Fetch,
-      fetching,
-      finalizeAndReportTiming
+      parseSetCookie,
+      parseUnparsedAttributes
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/symbols.js
-var require_symbols8 = __commonJS({
-  "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js
+var require_cookies2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
     "use strict";
+    var { parseSetCookie } = require_parse2();
+    var { stringify } = require_util14();
+    var { webidl } = require_webidl2();
+    var { Headers } = require_headers2();
+    function getCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookie = headers.get("cookie");
+      const out = {};
+      if (!cookie) {
+        return out;
+      }
+      for (const piece of cookie.split(";")) {
+        const [name, ...value] = piece.split("=");
+        out[name.trim()] = value.join("=");
+      }
+      return out;
+    }
+    function deleteCookie(headers, name, attributes) {
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const prefix = "deleteCookie";
+      webidl.argumentLengthCheck(arguments, 2, prefix);
+      name = webidl.converters.DOMString(name, prefix, "name");
+      attributes = webidl.converters.DeleteCookieAttributes(attributes);
+      setCookie(headers, {
+        name,
+        value: "",
+        expires: /* @__PURE__ */ new Date(0),
+        ...attributes
+      });
+    }
+    function getSetCookies(headers) {
+      webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      const cookies = headers.getSetCookie();
+      if (!cookies) {
+        return [];
+      }
+      return cookies.map((pair) => parseSetCookie(pair));
+    }
+    function setCookie(headers, cookie) {
+      webidl.argumentLengthCheck(arguments, 2, "setCookie");
+      webidl.brandCheck(headers, Headers, { strict: false });
+      cookie = webidl.converters.Cookie(cookie);
+      const str2 = stringify(cookie);
+      if (str2) {
+        headers.append("Set-Cookie", str2);
+      }
+    }
+    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      }
+    ]);
+    webidl.converters.Cookie = webidl.dictionaryConverter([
+      {
+        converter: webidl.converters.DOMString,
+        key: "name"
+      },
+      {
+        converter: webidl.converters.DOMString,
+        key: "value"
+      },
+      {
+        converter: webidl.nullableConverter((value) => {
+          if (typeof value === "number") {
+            return webidl.converters["unsigned long long"](value);
+          }
+          return new Date(value);
+        }),
+        key: "expires",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters["long long"]),
+        key: "maxAge",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "domain",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.DOMString),
+        key: "path",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "secure",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.nullableConverter(webidl.converters.boolean),
+        key: "httpOnly",
+        defaultValue: () => null
+      },
+      {
+        converter: webidl.converters.USVString,
+        key: "sameSite",
+        allowedValues: ["Strict", "Lax", "None"]
+      },
+      {
+        converter: webidl.sequenceConverter(webidl.converters.DOMString),
+        key: "unparsed",
+        defaultValue: () => new Array(0)
+      }
+    ]);
     module2.exports = {
-      kState: /* @__PURE__ */ Symbol("FileReader state"),
-      kResult: /* @__PURE__ */ Symbol("FileReader result"),
-      kError: /* @__PURE__ */ Symbol("FileReader error"),
-      kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
-      kEvents: /* @__PURE__ */ Symbol("FileReader events"),
-      kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
+      getCookies,
+      deleteCookie,
+      getSetCookies,
+      setCookie
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/progressevent.js
-var require_progressevent2 = __commonJS({
-  "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js
+var require_events2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
     "use strict";
     var { webidl } = require_webidl2();
-    var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
-    var ProgressEvent = class _ProgressEvent extends Event {
+    var { kEnumerableProperty } = require_util9();
+    var { kConstruct } = require_symbols6();
+    var { MessagePort } = require("node:worker_threads");
+    var MessageEvent = class _MessageEvent extends Event {
+      #eventInit;
       constructor(type2, eventInitDict = {}) {
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {});
+        if (type2 === kConstruct) {
+          super(arguments[1], arguments[2]);
+          webidl.util.markAsUncloneable(this);
+          return;
+        }
+        const prefix = "MessageEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
         super(type2, eventInitDict);
-        this[kState] = {
-          lengthComputable: eventInitDict.lengthComputable,
-          loaded: eventInitDict.loaded,
-          total: eventInitDict.total
-        };
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
       }
-      get lengthComputable() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].lengthComputable;
+      get data() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.data;
       }
-      get loaded() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].loaded;
+      get origin() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.origin;
       }
-      get total() {
-        webidl.brandCheck(this, _ProgressEvent);
-        return this[kState].total;
+      get lastEventId() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.lastEventId;
+      }
+      get source() {
+        webidl.brandCheck(this, _MessageEvent);
+        return this.#eventInit.source;
+      }
+      get ports() {
+        webidl.brandCheck(this, _MessageEvent);
+        if (!Object.isFrozen(this.#eventInit.ports)) {
+          Object.freeze(this.#eventInit.ports);
+        }
+        return this.#eventInit.ports;
+      }
+      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
+        webidl.brandCheck(this, _MessageEvent);
+        webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
+        return new _MessageEvent(type2, {
+          bubbles,
+          cancelable,
+          data,
+          origin,
+          lastEventId,
+          source,
+          ports
+        });
+      }
+      static createFastMessageEvent(type2, init) {
+        const messageEvent = new _MessageEvent(kConstruct, type2, init);
+        messageEvent.#eventInit = init;
+        messageEvent.#eventInit.data ??= null;
+        messageEvent.#eventInit.origin ??= "";
+        messageEvent.#eventInit.lastEventId ??= "";
+        messageEvent.#eventInit.source ??= null;
+        messageEvent.#eventInit.ports ??= [];
+        return messageEvent;
+      }
+    };
+    var { createFastMessageEvent } = MessageEvent;
+    delete MessageEvent.createFastMessageEvent;
+    var CloseEvent = class _CloseEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict = {}) {
+        const prefix = "CloseEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
+        super(type2, eventInitDict);
+        this.#eventInit = eventInitDict;
+        webidl.util.markAsUncloneable(this);
+      }
+      get wasClean() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.wasClean;
+      }
+      get code() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.code;
+      }
+      get reason() {
+        webidl.brandCheck(this, _CloseEvent);
+        return this.#eventInit.reason;
+      }
+    };
+    var ErrorEvent = class _ErrorEvent extends Event {
+      #eventInit;
+      constructor(type2, eventInitDict) {
+        const prefix = "ErrorEvent constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        super(type2, eventInitDict);
+        webidl.util.markAsUncloneable(this);
+        type2 = webidl.converters.DOMString(type2, prefix, "type");
+        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
+        this.#eventInit = eventInitDict;
+      }
+      get message() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.message;
+      }
+      get filename() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.filename;
+      }
+      get lineno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.lineno;
+      }
+      get colno() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.colno;
+      }
+      get error() {
+        webidl.brandCheck(this, _ErrorEvent);
+        return this.#eventInit.error;
       }
     };
-    webidl.converters.ProgressEventInit = webidl.dictionaryConverter([
-      {
-        key: "lengthComputable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
+    Object.defineProperties(MessageEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "MessageEvent",
+        configurable: true
       },
-      {
-        key: "loaded",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      data: kEnumerableProperty,
+      origin: kEnumerableProperty,
+      lastEventId: kEnumerableProperty,
+      source: kEnumerableProperty,
+      ports: kEnumerableProperty,
+      initMessageEvent: kEnumerableProperty
+    });
+    Object.defineProperties(CloseEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "CloseEvent",
+        configurable: true
       },
-      {
-        key: "total",
-        converter: webidl.converters["unsigned long long"],
-        defaultValue: 0
+      reason: kEnumerableProperty,
+      code: kEnumerableProperty,
+      wasClean: kEnumerableProperty
+    });
+    Object.defineProperties(ErrorEvent.prototype, {
+      [Symbol.toStringTag]: {
+        value: "ErrorEvent",
+        configurable: true
       },
+      message: kEnumerableProperty,
+      filename: kEnumerableProperty,
+      lineno: kEnumerableProperty,
+      colno: kEnumerableProperty,
+      error: kEnumerableProperty
+    });
+    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.MessagePort
+    );
+    var eventInit = [
       {
         key: "bubbles",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "cancelable",
         converter: webidl.converters.boolean,
-        defaultValue: false
+        defaultValue: () => false
       },
       {
         key: "composed",
         converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ]);
-    module2.exports = {
-      ProgressEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/encoding.js
-var require_encoding2 = __commonJS({
-  "node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) {
-    "use strict";
-    function getEncoding(label) {
-      if (!label) {
-        return "failure";
-      }
-      switch (label.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";
-      }
-    }
-    module2.exports = {
-      getEncoding
-    };
-  }
-});
-
-// node_modules/undici/lib/fileapi/util.js
-var require_util12 = __commonJS({
-  "node_modules/undici/lib/fileapi/util.js"(exports2, module2) {
-    "use strict";
-    var {
-      kState,
-      kError,
-      kResult,
-      kAborted,
-      kLastProgressEventFired
-    } = require_symbols8();
-    var { ProgressEvent } = require_progressevent2();
-    var { getEncoding } = require_encoding2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { serializeAMimeType, parseMIMEType } = require_dataURL();
-    var { types } = require("util");
-    var { StringDecoder } = require("string_decoder");
-    var { btoa: btoa2 } = require("buffer");
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    function readOperation(fr, blob, type2, encodingName) {
-      if (fr[kState] === "loading") {
-        throw new DOMException2("Invalid state", "InvalidStateError");
-      }
-      fr[kState] = "loading";
-      fr[kResult] = null;
-      fr[kError] = null;
-      const stream2 = blob.stream();
-      const reader = stream2.getReader();
-      const bytes = [];
-      let chunkPromise = reader.read();
-      let isFirstChunk = true;
-      (async () => {
-        while (!fr[kAborted]) {
-          try {
-            const { done, value } = await chunkPromise;
-            if (isFirstChunk && !fr[kAborted]) {
-              queueMicrotask(() => {
-                fireAProgressEvent("loadstart", fr);
-              });
-            }
-            isFirstChunk = false;
-            if (!done && types.isUint8Array(value)) {
-              bytes.push(value);
-              if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) {
-                fr[kLastProgressEventFired] = Date.now();
-                queueMicrotask(() => {
-                  fireAProgressEvent("progress", fr);
-                });
-              }
-              chunkPromise = reader.read();
-            } else if (done) {
-              queueMicrotask(() => {
-                fr[kState] = "done";
-                try {
-                  const result = packageData(bytes, type2, blob.type, encodingName);
-                  if (fr[kAborted]) {
-                    return;
-                  }
-                  fr[kResult] = result;
-                  fireAProgressEvent("load", fr);
-                } catch (error3) {
-                  fr[kError] = error3;
-                  fireAProgressEvent("error", fr);
-                }
-                if (fr[kState] !== "loading") {
-                  fireAProgressEvent("loadend", fr);
-                }
-              });
-              break;
-            }
-          } catch (error3) {
-            if (fr[kAborted]) {
-              return;
-            }
-            queueMicrotask(() => {
-              fr[kState] = "done";
-              fr[kError] = error3;
-              fireAProgressEvent("error", fr);
-              if (fr[kState] !== "loading") {
-                fireAProgressEvent("loadend", fr);
-              }
-            });
-            break;
-          }
-        }
-      })();
-    }
-    function fireAProgressEvent(e, reader) {
-      const event = new ProgressEvent(e, {
-        bubbles: false,
-        cancelable: false
-      });
-      reader.dispatchEvent(event);
-    }
-    function packageData(bytes, type2, mimeType, encodingName) {
-      switch (type2) {
-        case "DataURL": {
-          let dataURL = "data:";
-          const parsed = parseMIMEType(mimeType || "application/octet-stream");
-          if (parsed !== "failure") {
-            dataURL += serializeAMimeType(parsed);
-          }
-          dataURL += ";base64,";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            dataURL += btoa2(decoder.write(chunk));
-          }
-          dataURL += btoa2(decoder.end());
-          return dataURL;
-        }
-        case "Text": {
-          let encoding = "failure";
-          if (encodingName) {
-            encoding = getEncoding(encodingName);
-          }
-          if (encoding === "failure" && mimeType) {
-            const type3 = parseMIMEType(mimeType);
-            if (type3 !== "failure") {
-              encoding = getEncoding(type3.parameters.get("charset"));
-            }
-          }
-          if (encoding === "failure") {
-            encoding = "UTF-8";
-          }
-          return decode(bytes, encoding);
-        }
-        case "ArrayBuffer": {
-          const sequence = combineByteSequences(bytes);
-          return sequence.buffer;
-        }
-        case "BinaryString": {
-          let binaryString = "";
-          const decoder = new StringDecoder("latin1");
-          for (const chunk of bytes) {
-            binaryString += decoder.write(chunk);
-          }
-          binaryString += decoder.end();
-          return binaryString;
-        }
+        defaultValue: () => false
       }
-    }
-    function decode(ioQueue, encoding) {
-      const bytes = combineByteSequences(ioQueue);
-      const BOMEncoding = BOMSniffing(bytes);
-      let slice = 0;
-      if (BOMEncoding !== null) {
-        encoding = BOMEncoding;
-        slice = BOMEncoding === "UTF-8" ? 3 : 2;
+    ];
+    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "data",
+        converter: webidl.converters.any,
+        defaultValue: () => null
+      },
+      {
+        key: "origin",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lastEventId",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "source",
+        // Node doesn't implement WindowProxy or ServiceWorker, so the only
+        // valid value for source is a MessagePort.
+        converter: webidl.nullableConverter(webidl.converters.MessagePort),
+        defaultValue: () => null
+      },
+      {
+        key: "ports",
+        converter: webidl.converters["sequence"],
+        defaultValue: () => new Array(0)
       }
-      const sliced = bytes.slice(slice);
-      return new TextDecoder(encoding).decode(sliced);
-    }
-    function BOMSniffing(ioQueue) {
-      const [a, b, c] = ioQueue;
-      if (a === 239 && b === 187 && c === 191) {
-        return "UTF-8";
-      } else if (a === 254 && b === 255) {
-        return "UTF-16BE";
-      } else if (a === 255 && b === 254) {
-        return "UTF-16LE";
+    ]);
+    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "wasClean",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
+      },
+      {
+        key: "code",
+        converter: webidl.converters["unsigned short"],
+        defaultValue: () => 0
+      },
+      {
+        key: "reason",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
       }
-      return null;
-    }
-    function combineByteSequences(sequences) {
-      const size = sequences.reduce((a, b) => {
-        return a + b.byteLength;
-      }, 0);
-      let offset = 0;
-      return sequences.reduce((a, b) => {
-        a.set(b, offset);
-        offset += b.byteLength;
-        return a;
-      }, new Uint8Array(size));
-    }
+    ]);
+    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
+      ...eventInit,
+      {
+        key: "message",
+        converter: webidl.converters.DOMString,
+        defaultValue: () => ""
+      },
+      {
+        key: "filename",
+        converter: webidl.converters.USVString,
+        defaultValue: () => ""
+      },
+      {
+        key: "lineno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "colno",
+        converter: webidl.converters["unsigned long"],
+        defaultValue: () => 0
+      },
+      {
+        key: "error",
+        converter: webidl.converters.any
+      }
+    ]);
     module2.exports = {
-      staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
+      MessageEvent,
+      CloseEvent,
+      ErrorEvent,
+      createFastMessageEvent
     };
   }
 });
 
-// node_modules/undici/lib/fileapi/filereader.js
-var require_filereader2 = __commonJS({
-  "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js
+var require_constants10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
     "use strict";
-    var {
+    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
+    var staticPropertyDescriptors = {
+      enumerable: true,
+      writable: false,
+      configurable: false
+    };
+    var states = {
+      CONNECTING: 0,
+      OPEN: 1,
+      CLOSING: 2,
+      CLOSED: 3
+    };
+    var sentCloseFrameState = {
+      NOT_SENT: 0,
+      PROCESSING: 1,
+      SENT: 2
+    };
+    var opcodes = {
+      CONTINUATION: 0,
+      TEXT: 1,
+      BINARY: 2,
+      CLOSE: 8,
+      PING: 9,
+      PONG: 10
+    };
+    var maxUnsigned16Bit = 2 ** 16 - 1;
+    var parserStates = {
+      INFO: 0,
+      PAYLOADLENGTH_16: 2,
+      PAYLOADLENGTH_64: 3,
+      READ_DATA: 4
+    };
+    var emptyBuffer = Buffer.allocUnsafe(0);
+    var sendHints = {
+      string: 1,
+      typedArray: 2,
+      arrayBuffer: 3,
+      blob: 4
+    };
+    module2.exports = {
+      uid,
+      sentCloseFrameState,
       staticPropertyDescriptors,
-      readOperation,
-      fireAProgressEvent
-    } = require_util12();
-    var {
-      kState,
-      kError,
-      kResult,
-      kEvents,
-      kAborted
-    } = require_symbols8();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var FileReader = class _FileReader extends EventTarget {
-      constructor() {
-        super();
-        this[kState] = "empty";
-        this[kResult] = null;
-        this[kError] = null;
-        this[kEvents] = {
-          loadend: null,
-          error: null,
-          abort: null,
-          load: null,
-          progress: null,
-          loadstart: null
-        };
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer
-       * @param {import('buffer').Blob} blob
-       */
-      readAsArrayBuffer(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "ArrayBuffer");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsBinaryString
-       * @param {import('buffer').Blob} blob
-       */
-      readAsBinaryString(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "BinaryString");
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#readAsDataText
-       * @param {import('buffer').Blob} blob
-       * @param {string?} encoding
-       */
-      readAsText(blob, encoding = void 0) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        if (encoding !== void 0) {
-          encoding = webidl.converters.DOMString(encoding);
-        }
-        readOperation(this, blob, "Text", encoding);
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL
-       * @param {import('buffer').Blob} blob
-       */
-      readAsDataURL(blob) {
-        webidl.brandCheck(this, _FileReader);
-        webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" });
-        blob = webidl.converters.Blob(blob, { strict: false });
-        readOperation(this, blob, "DataURL");
+      states,
+      opcodes,
+      maxUnsigned16Bit,
+      parserStates,
+      emptyBuffer,
+      sendHints
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js
+var require_symbols10 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/symbols.js"(exports2, module2) {
+    "use strict";
+    module2.exports = {
+      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
+      kReadyState: /* @__PURE__ */ Symbol("ready state"),
+      kController: /* @__PURE__ */ Symbol("controller"),
+      kResponse: /* @__PURE__ */ Symbol("response"),
+      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
+      kSentClose: /* @__PURE__ */ Symbol("sent close"),
+      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
+      kByteParser: /* @__PURE__ */ Symbol("byte parser")
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js
+var require_util15 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
+    "use strict";
+    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
+    var { states, opcodes } = require_constants10();
+    var { ErrorEvent, createFastMessageEvent } = require_events2();
+    var { isUtf8 } = require("node:buffer");
+    var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url2();
+    function isConnecting(ws) {
+      return ws[kReadyState] === states.CONNECTING;
+    }
+    function isEstablished(ws) {
+      return ws[kReadyState] === states.OPEN;
+    }
+    function isClosing(ws) {
+      return ws[kReadyState] === states.CLOSING;
+    }
+    function isClosed(ws) {
+      return ws[kReadyState] === states.CLOSED;
+    }
+    function fireEvent(e, target, eventFactory = (type2, init) => new Event(type2, init), eventInitDict = {}) {
+      const event = eventFactory(e, eventInitDict);
+      target.dispatchEvent(event);
+    }
+    function websocketMessageReceived(ws, type2, data) {
+      if (ws[kReadyState] !== states.OPEN) {
+        return;
       }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dfn-abort
-       */
-      abort() {
-        if (this[kState] === "empty" || this[kState] === "done") {
-          this[kResult] = null;
+      let dataForEvent;
+      if (type2 === opcodes.TEXT) {
+        try {
+          dataForEvent = utf8Decode(data);
+        } catch {
+          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
           return;
         }
-        if (this[kState] === "loading") {
-          this[kState] = "done";
-          this[kResult] = null;
-        }
-        this[kAborted] = true;
-        fireAProgressEvent("abort", this);
-        if (this[kState] !== "loading") {
-          fireAProgressEvent("loadend", this);
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate
-       */
-      get readyState() {
-        webidl.brandCheck(this, _FileReader);
-        switch (this[kState]) {
-          case "empty":
-            return this.EMPTY;
-          case "loading":
-            return this.LOADING;
-          case "done":
-            return this.DONE;
-        }
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-result
-       */
-      get result() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kResult];
-      }
-      /**
-       * @see https://w3c.github.io/FileAPI/#dom-filereader-error
-       */
-      get error() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kError];
-      }
-      get onloadend() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadend;
-      }
-      set onloadend(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadend) {
-          this.removeEventListener("loadend", this[kEvents].loadend);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadend = fn;
-          this.addEventListener("loadend", fn);
+      } else if (type2 === opcodes.BINARY) {
+        if (ws[kBinaryType] === "blob") {
+          dataForEvent = new Blob([data]);
         } else {
-          this[kEvents].loadend = null;
+          dataForEvent = toArrayBuffer(data);
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].error) {
-          this.removeEventListener("error", this[kEvents].error);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this[kEvents].error = null;
-        }
+      fireEvent("message", ws, createFastMessageEvent, {
+        origin: ws[kWebSocketURL].origin,
+        data: dataForEvent
+      });
+    }
+    function toArrayBuffer(buffer) {
+      if (buffer.byteLength === buffer.buffer.byteLength) {
+        return buffer.buffer;
       }
-      get onloadstart() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].loadstart;
+      return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
+    }
+    function isValidSubprotocol(protocol) {
+      if (protocol.length === 0) {
+        return false;
       }
-      set onloadstart(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].loadstart) {
-          this.removeEventListener("loadstart", this[kEvents].loadstart);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].loadstart = fn;
-          this.addEventListener("loadstart", fn);
-        } else {
-          this[kEvents].loadstart = null;
+      for (let i = 0; i < protocol.length; ++i) {
+        const code = protocol.charCodeAt(i);
+        if (code < 33 || // CTL, contains SP (0x20) and HT (0x09)
+        code > 126 || code === 34 || // "
+        code === 40 || // (
+        code === 41 || // )
+        code === 44 || // ,
+        code === 47 || // /
+        code === 58 || // :
+        code === 59 || // ;
+        code === 60 || // <
+        code === 61 || // =
+        code === 62 || // >
+        code === 63 || // ?
+        code === 64 || // @
+        code === 91 || // [
+        code === 92 || // \
+        code === 93 || // ]
+        code === 123 || // {
+        code === 125) {
+          return false;
         }
       }
-      get onprogress() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].progress;
-      }
-      set onprogress(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].progress) {
-          this.removeEventListener("progress", this[kEvents].progress);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].progress = fn;
-          this.addEventListener("progress", fn);
-        } else {
-          this[kEvents].progress = null;
-        }
+      return true;
+    }
+    function isValidStatusCode(code) {
+      if (code >= 1e3 && code < 1015) {
+        return code !== 1004 && // reserved
+        code !== 1005 && // "MUST NOT be set as a status code"
+        code !== 1006;
       }
-      get onload() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].load;
+      return code >= 3e3 && code <= 4999;
+    }
+    function failWebsocketConnection(ws, reason) {
+      const { [kController]: controller, [kResponse]: response } = ws;
+      controller.abort();
+      if (response?.socket && !response.socket.destroyed) {
+        response.socket.destroy();
       }
-      set onload(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].load) {
-          this.removeEventListener("load", this[kEvents].load);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].load = fn;
-          this.addEventListener("load", fn);
-        } else {
-          this[kEvents].load = null;
-        }
+      if (reason) {
+        fireEvent("error", ws, (type2, init) => new ErrorEvent(type2, init), {
+          error: new Error(reason),
+          message: reason
+        });
       }
-      get onabort() {
-        webidl.brandCheck(this, _FileReader);
-        return this[kEvents].abort;
+    }
+    function isControlFrame(opcode) {
+      return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
+    }
+    function isContinuationFrame(opcode) {
+      return opcode === opcodes.CONTINUATION;
+    }
+    function isTextBinaryFrame(opcode) {
+      return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
+    }
+    function isValidOpcode(opcode) {
+      return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
+    }
+    function parseExtensions(extensions) {
+      const position = { position: 0 };
+      const extensionList = /* @__PURE__ */ new Map();
+      while (position.position < extensions.length) {
+        const pair = collectASequenceOfCodePointsFast(";", extensions, position);
+        const [name, value = ""] = pair.split("=");
+        extensionList.set(
+          removeHTTPWhitespace(name, true, false),
+          removeHTTPWhitespace(value, false, true)
+        );
+        position.position++;
       }
-      set onabort(fn) {
-        webidl.brandCheck(this, _FileReader);
-        if (this[kEvents].abort) {
-          this.removeEventListener("abort", this[kEvents].abort);
-        }
-        if (typeof fn === "function") {
-          this[kEvents].abort = fn;
-          this.addEventListener("abort", fn);
-        } else {
-          this[kEvents].abort = null;
+      return extensionList;
+    }
+    function isValidClientWindowBits(value) {
+      for (let i = 0; i < value.length; i++) {
+        const byte = value.charCodeAt(i);
+        if (byte < 48 || byte > 57) {
+          return false;
         }
       }
-    };
-    FileReader.EMPTY = FileReader.prototype.EMPTY = 0;
-    FileReader.LOADING = FileReader.prototype.LOADING = 1;
-    FileReader.DONE = FileReader.prototype.DONE = 2;
-    Object.defineProperties(FileReader.prototype, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors,
-      readAsArrayBuffer: kEnumerableProperty,
-      readAsBinaryString: kEnumerableProperty,
-      readAsText: kEnumerableProperty,
-      readAsDataURL: kEnumerableProperty,
-      abort: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      result: kEnumerableProperty,
-      error: kEnumerableProperty,
-      onloadstart: kEnumerableProperty,
-      onprogress: kEnumerableProperty,
-      onload: kEnumerableProperty,
-      onabort: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onloadend: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "FileReader",
-        writable: false,
-        enumerable: false,
-        configurable: true
+      return true;
+    }
+    var hasIntl = typeof process.versions.icu === "string";
+    var fatalDecoder = hasIntl ? new TextDecoder("utf-8", { fatal: true }) : void 0;
+    var utf8Decode = hasIntl ? fatalDecoder.decode.bind(fatalDecoder) : function(buffer) {
+      if (isUtf8(buffer)) {
+        return buffer.toString("utf-8");
       }
-    });
-    Object.defineProperties(FileReader, {
-      EMPTY: staticPropertyDescriptors,
-      LOADING: staticPropertyDescriptors,
-      DONE: staticPropertyDescriptors
-    });
-    module2.exports = {
-      FileReader
+      throw new TypeError("Invalid utf-8 received.");
     };
-  }
-});
-
-// node_modules/undici/lib/cache/symbols.js
-var require_symbols9 = __commonJS({
-  "node_modules/undici/lib/cache/symbols.js"(exports2, module2) {
-    "use strict";
     module2.exports = {
-      kConstruct: require_symbols6().kConstruct
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isClosed,
+      fireEvent,
+      isValidSubprotocol,
+      isValidStatusCode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isContinuationFrame,
+      isTextBinaryFrame,
+      isValidOpcode,
+      parseExtensions,
+      isValidClientWindowBits
     };
   }
 });
 
-// node_modules/undici/lib/cache/util.js
-var require_util13 = __commonJS({
-  "node_modules/undici/lib/cache/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js
+var require_frame2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
     "use strict";
-    var assert = require("assert");
-    var { URLSerializer } = require_dataURL();
-    var { isValidHeaderName } = require_util10();
-    function urlEquals(A, B, excludeFragment = false) {
-      const serializedA = URLSerializer(A, excludeFragment);
-      const serializedB = URLSerializer(B, excludeFragment);
-      return serializedA === serializedB;
-    }
-    function fieldValues(header) {
-      assert(header !== null);
-      const values = [];
-      for (let value of header.split(",")) {
-        value = value.trim();
-        if (!value.length) {
-          continue;
-        } else if (!isValidHeaderName(value)) {
-          continue;
+    var { maxUnsigned16Bit } = require_constants10();
+    var BUFFER_SIZE = 16386;
+    var crypto2;
+    var buffer = null;
+    var bufIdx = BUFFER_SIZE;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+      crypto2 = {
+        // not full compatibility, but minimum.
+        randomFillSync: function randomFillSync2(buffer2, _offset, _size) {
+          for (let i = 0; i < buffer2.length; ++i) {
+            buffer2[i] = Math.random() * 255 | 0;
+          }
+          return buffer2;
         }
-        values.push(value);
+      };
+    }
+    function generateMask() {
+      if (bufIdx === BUFFER_SIZE) {
+        bufIdx = 0;
+        crypto2.randomFillSync(buffer ??= Buffer.allocUnsafe(BUFFER_SIZE), 0, BUFFER_SIZE);
       }
-      return values;
+      return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]];
     }
+    var WebsocketFrameSend = class {
+      /**
+       * @param {Buffer|undefined} data
+       */
+      constructor(data) {
+        this.frameData = data;
+      }
+      createFrame(opcode) {
+        const frameData = this.frameData;
+        const maskKey = generateMask();
+        const bodyLength = frameData?.byteLength ?? 0;
+        let payloadLength = bodyLength;
+        let offset = 6;
+        if (bodyLength > maxUnsigned16Bit) {
+          offset += 8;
+          payloadLength = 127;
+        } else if (bodyLength > 125) {
+          offset += 2;
+          payloadLength = 126;
+        }
+        const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
+        buffer2[0] = buffer2[1] = 0;
+        buffer2[0] |= 128;
+        buffer2[0] = (buffer2[0] & 240) + opcode;
+        buffer2[offset - 4] = maskKey[0];
+        buffer2[offset - 3] = maskKey[1];
+        buffer2[offset - 2] = maskKey[2];
+        buffer2[offset - 1] = maskKey[3];
+        buffer2[1] = payloadLength;
+        if (payloadLength === 126) {
+          buffer2.writeUInt16BE(bodyLength, 2);
+        } else if (payloadLength === 127) {
+          buffer2[2] = buffer2[3] = 0;
+          buffer2.writeUIntBE(bodyLength, 4, 6);
+        }
+        buffer2[1] |= 128;
+        for (let i = 0; i < bodyLength; ++i) {
+          buffer2[offset + i] = frameData[i] ^ maskKey[i & 3];
+        }
+        return buffer2;
+      }
+    };
     module2.exports = {
-      urlEquals,
-      fieldValues
+      WebsocketFrameSend
     };
   }
 });
 
-// node_modules/undici/lib/cache/cache.js
-var require_cache2 = __commonJS({
-  "node_modules/undici/lib/cache/cache.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js
+var require_connection2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
     "use strict";
-    var { kConstruct } = require_symbols9();
-    var { urlEquals, fieldValues: getFieldValues } = require_util13();
-    var { kEnumerableProperty, isDisturbed } = require_util9();
-    var { kHeadersList } = require_symbols6();
-    var { webidl } = require_webidl2();
-    var { Response, cloneResponse } = require_response2();
-    var { Request } = require_request4();
-    var { kState, kHeaders, kGuard, kRealm } = require_symbols7();
+    var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10();
+    var {
+      kReadyState,
+      kSentClose,
+      kByteParser,
+      kReceivedClose,
+      kResponse
+    } = require_symbols10();
+    var { fireEvent, failWebsocketConnection, isClosing, isClosed, isEstablished, parseExtensions } = require_util15();
+    var { channels } = require_diagnostics2();
+    var { CloseEvent } = require_events2();
+    var { makeRequest } = require_request4();
     var { fetching } = require_fetch2();
-    var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util10();
-    var assert = require("assert");
-    var { getGlobalDispatcher } = require_global4();
-    var Cache = class _Cache {
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
-       * @type {requestResponseList}
-       */
-      #relevantRequestResponseList;
-      constructor() {
-        if (arguments[0] !== kConstruct) {
-          webidl.illegalConstructor();
-        }
-        this.#relevantRequestResponseList = arguments[1];
+    var { Headers, getHeadersList } = require_headers2();
+    var { getDecodeSplit } = require_util10();
+    var { WebsocketFrameSend } = require_frame2();
+    var crypto2;
+    try {
+      crypto2 = require("node:crypto");
+    } catch {
+    }
+    function establishWebSocketConnection(url2, protocols, client, ws, onEstablish, options) {
+      const requestURL = url2;
+      requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:";
+      const request2 = makeRequest({
+        urlList: [requestURL],
+        client,
+        serviceWorkers: "none",
+        referrer: "no-referrer",
+        mode: "websocket",
+        credentials: "include",
+        cache: "no-store",
+        redirect: "error"
+      });
+      if (options.headers) {
+        const headersList = getHeadersList(new Headers(options.headers));
+        request2.headersList = headersList;
       }
-      async match(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        const p = await this.matchAll(request2, options);
-        if (p.length === 0) {
-          return;
-        }
-        return p[0];
+      const keyValue = crypto2.randomBytes(16).toString("base64");
+      request2.headersList.append("sec-websocket-key", keyValue);
+      request2.headersList.append("sec-websocket-version", "13");
+      for (const protocol of protocols) {
+        request2.headersList.append("sec-websocket-protocol", protocol);
       }
-      async matchAll(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
-            }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
-          }
-        }
-        const responses = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            responses.push(requestResponse[1]);
+      const permessageDeflate = "permessage-deflate; client_max_window_bits";
+      request2.headersList.append("sec-websocket-extensions", permessageDeflate);
+      const controller = fetching({
+        request: request2,
+        useParallelQueue: true,
+        dispatcher: options.dispatcher,
+        processResponse(response) {
+          if (response.type === "error" || response.status !== 101) {
+            failWebsocketConnection(ws, "Received network error or non-101 status code.");
+            return;
           }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            responses.push(requestResponse[1]);
+          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
+            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
+            return;
           }
-        }
-        const responseList = [];
-        for (const response of responses) {
-          const responseObject = new Response(response.body?.source ?? null);
-          const body = responseObject[kState].body;
-          responseObject[kState] = response;
-          responseObject[kState].body = body;
-          responseObject[kHeaders][kHeadersList] = response.headersList;
-          responseObject[kHeaders][kGuard] = "immutable";
-          responseList.push(responseObject);
-        }
-        return Object.freeze(responseList);
-      }
-      async add(request2) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" });
-        request2 = webidl.converters.RequestInfo(request2);
-        const requests = [request2];
-        const responseArrayPromise = this.addAll(requests);
-        return await responseArrayPromise;
-      }
-      async addAll(requests) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" });
-        requests = webidl.converters["sequence"](requests);
-        const responsePromises = [];
-        const requestList = [];
-        for (const request2 of requests) {
-          if (typeof request2 === "string") {
-            continue;
+          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
+            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
+            return;
           }
-          const r = request2[kState];
-          if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme when method is not GET."
-            });
+          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
+            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
+            return;
           }
-        }
-        const fetchControllers = [];
-        for (const request2 of requests) {
-          const r = new Request(request2)[kState];
-          if (!urlIsHttpHttpsScheme(r.url)) {
-            throw webidl.errors.exception({
-              header: "Cache.addAll",
-              message: "Expected http/s scheme."
-            });
+          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
+          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
+          if (secWSAccept !== digest) {
+            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
+            return;
           }
-          r.initiator = "fetch";
-          r.destination = "subresource";
-          requestList.push(r);
-          const responsePromise = createDeferredPromise();
-          fetchControllers.push(fetching({
-            request: r,
-            dispatcher: getGlobalDispatcher(),
-            processResponse(response) {
-              if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
-                responsePromise.reject(webidl.errors.exception({
-                  header: "Cache.addAll",
-                  message: "Received an invalid status code or the request failed."
-                }));
-              } else if (response.headersList.contains("vary")) {
-                const fieldValues = getFieldValues(response.headersList.get("vary"));
-                for (const fieldValue of fieldValues) {
-                  if (fieldValue === "*") {
-                    responsePromise.reject(webidl.errors.exception({
-                      header: "Cache.addAll",
-                      message: "invalid vary field value"
-                    }));
-                    for (const controller of fetchControllers) {
-                      controller.abort();
-                    }
-                    return;
-                  }
-                }
-              }
-            },
-            processResponseEndOfBody(response) {
-              if (response.aborted) {
-                responsePromise.reject(new DOMException("aborted", "AbortError"));
-                return;
-              }
-              responsePromise.resolve(response);
+          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
+          let extensions;
+          if (secExtension !== null) {
+            extensions = parseExtensions(secExtension);
+            if (!extensions.has("permessage-deflate")) {
+              failWebsocketConnection(ws, "Sec-WebSocket-Extensions header does not match.");
+              return;
             }
-          }));
-          responsePromises.push(responsePromise.promise);
-        }
-        const p = Promise.all(responsePromises);
-        const responses = await p;
-        const operations = [];
-        let index = 0;
-        for (const response of responses) {
-          const operation = {
-            type: "put",
-            // 7.3.2
-            request: requestList[index],
-            // 7.3.3
-            response
-            // 7.3.4
-          };
-          operations.push(operation);
-          index++;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(void 0);
-          } else {
-            cacheJobPromise.reject(errorData);
           }
-        });
-        return cacheJobPromise.promise;
-      }
-      async put(request2, response) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" });
-        request2 = webidl.converters.RequestInfo(request2);
-        response = webidl.converters.Response(response);
-        let innerRequest = null;
-        if (request2 instanceof Request) {
-          innerRequest = request2[kState];
-        } else {
-          innerRequest = new Request(request2)[kState];
-        }
-        if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Expected an http/s scheme when method is not GET"
-          });
-        }
-        const innerResponse = response[kState];
-        if (innerResponse.status === 206) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Got 206 status"
-          });
-        }
-        if (innerResponse.headersList.contains("vary")) {
-          const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
-          for (const fieldValue of fieldValues) {
-            if (fieldValue === "*") {
-              throw webidl.errors.exception({
-                header: "Cache.put",
-                message: "Got * vary field value"
-              });
+          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
+          if (secProtocol !== null) {
+            const requestProtocols = getDecodeSplit("sec-websocket-protocol", request2.headersList);
+            if (!requestProtocols.includes(secProtocol)) {
+              failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
+              return;
             }
           }
+          response.socket.on("data", onSocketData);
+          response.socket.on("close", onSocketClose);
+          response.socket.on("error", onSocketError);
+          if (channels.open.hasSubscribers) {
+            channels.open.publish({
+              address: response.socket.address(),
+              protocol: secProtocol,
+              extensions: secExtension
+            });
+          }
+          onEstablish(response, extensions);
         }
-        if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
-          throw webidl.errors.exception({
-            header: "Cache.put",
-            message: "Response body is locked or disturbed"
-          });
-        }
-        const clonedResponse = cloneResponse(innerResponse);
-        const bodyReadPromise = createDeferredPromise();
-        if (innerResponse.body != null) {
-          const stream2 = innerResponse.body.stream;
-          const reader = stream2.getReader();
-          readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
+      });
+      return controller;
+    }
+    function closeWebSocketConnection(ws, code, reason, reasonByteLength) {
+      if (isClosing(ws) || isClosed(ws)) {
+      } else if (!isEstablished(ws)) {
+        failWebsocketConnection(ws, "Connection was closed before it was established.");
+        ws[kReadyState] = states.CLOSING;
+      } else if (ws[kSentClose] === sentCloseFrameState.NOT_SENT) {
+        ws[kSentClose] = sentCloseFrameState.PROCESSING;
+        const frame = new WebsocketFrameSend();
+        if (code !== void 0 && reason === void 0) {
+          frame.frameData = Buffer.allocUnsafe(2);
+          frame.frameData.writeUInt16BE(code, 0);
+        } else if (code !== void 0 && reason !== void 0) {
+          frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
+          frame.frameData.writeUInt16BE(code, 0);
+          frame.frameData.write(reason, 2, "utf-8");
         } else {
-          bodyReadPromise.resolve(void 0);
-        }
-        const operations = [];
-        const operation = {
-          type: "put",
-          // 14.
-          request: innerRequest,
-          // 15.
-          response: clonedResponse
-          // 16.
-        };
-        operations.push(operation);
-        const bytes = await bodyReadPromise.promise;
-        if (clonedResponse.body != null) {
-          clonedResponse.body.source = bytes;
-        }
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        try {
-          this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
+          frame.frameData = emptyBuffer;
         }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve();
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
-        });
-        return cacheJobPromise.promise;
+        const socket = ws[kResponse].socket;
+        socket.write(frame.createFrame(opcodes.CLOSE));
+        ws[kSentClose] = sentCloseFrameState.SENT;
+        ws[kReadyState] = states.CLOSING;
+      } else {
+        ws[kReadyState] = states.CLOSING;
       }
-      async delete(request2, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" });
-        request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 instanceof Request) {
-          r = request2[kState];
-          if (r.method !== "GET" && !options.ignoreMethod) {
-            return false;
-          }
-        } else {
-          assert(typeof request2 === "string");
-          r = new Request(request2)[kState];
-        }
-        const operations = [];
-        const operation = {
-          type: "delete",
-          request: r,
-          options
-        };
-        operations.push(operation);
-        const cacheJobPromise = createDeferredPromise();
-        let errorData = null;
-        let requestResponses;
-        try {
-          requestResponses = this.#batchCacheOperations(operations);
-        } catch (e) {
-          errorData = e;
-        }
-        queueMicrotask(() => {
-          if (errorData === null) {
-            cacheJobPromise.resolve(!!requestResponses?.length);
-          } else {
-            cacheJobPromise.reject(errorData);
-          }
+    }
+    function onSocketData(chunk) {
+      if (!this.ws[kByteParser].write(chunk)) {
+        this.pause();
+      }
+    }
+    function onSocketClose() {
+      const { ws } = this;
+      const { [kResponse]: response } = ws;
+      response.socket.off("data", onSocketData);
+      response.socket.off("close", onSocketClose);
+      response.socket.off("error", onSocketError);
+      const wasClean = ws[kSentClose] === sentCloseFrameState.SENT && ws[kReceivedClose];
+      let code = 1005;
+      let reason = "";
+      const result = ws[kByteParser].closingInfo;
+      if (result && !result.error) {
+        code = result.code ?? 1005;
+        reason = result.reason;
+      } else if (!ws[kReceivedClose]) {
+        code = 1006;
+      }
+      ws[kReadyState] = states.CLOSED;
+      fireEvent("close", ws, (type2, init) => new CloseEvent(type2, init), {
+        wasClean,
+        code,
+        reason
+      });
+      if (channels.close.hasSubscribers) {
+        channels.close.publish({
+          websocket: ws,
+          code,
+          reason
         });
-        return cacheJobPromise.promise;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
-       * @param {any} request
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @returns {readonly Request[]}
-       */
-      async keys(request2 = void 0, options = {}) {
-        webidl.brandCheck(this, _Cache);
-        if (request2 !== void 0) request2 = webidl.converters.RequestInfo(request2);
-        options = webidl.converters.CacheQueryOptions(options);
-        let r = null;
-        if (request2 !== void 0) {
-          if (request2 instanceof Request) {
-            r = request2[kState];
-            if (r.method !== "GET" && !options.ignoreMethod) {
-              return [];
+    }
+    function onSocketError(error3) {
+      const { ws } = this;
+      ws[kReadyState] = states.CLOSING;
+      if (channels.socketError.hasSubscribers) {
+        channels.socketError.publish(error3);
+      }
+      this.destroy();
+    }
+    module2.exports = {
+      establishWebSocketConnection,
+      closeWebSocketConnection
+    };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js
+var require_permessage_deflate2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
+    "use strict";
+    var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
+    var { isValidClientWindowBits } = require_util15();
+    var tail = Buffer.from([0, 0, 255, 255]);
+    var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
+    var kLength = /* @__PURE__ */ Symbol("kLength");
+    var PerMessageDeflate = class {
+      /** @type {import('node:zlib').InflateRaw} */
+      #inflate;
+      #options = {};
+      constructor(extensions) {
+        this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
+        this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
+      }
+      decompress(chunk, fin, callback) {
+        if (!this.#inflate) {
+          let windowBits = Z_DEFAULT_WINDOWBITS;
+          if (this.#options.serverMaxWindowBits) {
+            if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
+              callback(new Error("Invalid server_max_window_bits"));
+              return;
             }
-          } else if (typeof request2 === "string") {
-            r = new Request(request2)[kState];
+            windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
           }
+          this.#inflate = createInflateRaw({ windowBits });
+          this.#inflate[kBuffer] = [];
+          this.#inflate[kLength] = 0;
+          this.#inflate.on("data", (data) => {
+            this.#inflate[kBuffer].push(data);
+            this.#inflate[kLength] += data.length;
+          });
+          this.#inflate.on("error", (err) => {
+            this.#inflate = null;
+            callback(err);
+          });
         }
-        const promise = createDeferredPromise();
-        const requests = [];
-        if (request2 === void 0) {
-          for (const requestResponse of this.#relevantRequestResponseList) {
-            requests.push(requestResponse[0]);
-          }
-        } else {
-          const requestResponses = this.#queryCache(r, options);
-          for (const requestResponse of requestResponses) {
-            requests.push(requestResponse[0]);
-          }
+        this.#inflate.write(chunk);
+        if (fin) {
+          this.#inflate.write(tail);
         }
-        queueMicrotask(() => {
-          const requestList = [];
-          for (const request3 of requests) {
-            const requestObject = new Request("https://a");
-            requestObject[kState] = request3;
-            requestObject[kHeaders][kHeadersList] = request3.headersList;
-            requestObject[kHeaders][kGuard] = "immutable";
-            requestObject[kRealm] = request3.client;
-            requestList.push(requestObject);
-          }
-          promise.resolve(Object.freeze(requestList));
+        this.#inflate.flush(() => {
+          const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
+          this.#inflate[kBuffer].length = 0;
+          this.#inflate[kLength] = 0;
+          callback(null, full);
         });
-        return promise.promise;
+      }
+    };
+    module2.exports = { PerMessageDeflate };
+  }
+});
+
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js
+var require_receiver2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
+    "use strict";
+    var { Writable } = require("node:stream");
+    var assert = require("node:assert");
+    var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants10();
+    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
+    var { channels } = require_diagnostics2();
+    var {
+      isValidStatusCode,
+      isValidOpcode,
+      failWebsocketConnection,
+      websocketMessageReceived,
+      utf8Decode,
+      isControlFrame,
+      isTextBinaryFrame,
+      isContinuationFrame
+    } = require_util15();
+    var { WebsocketFrameSend } = require_frame2();
+    var { closeWebSocketConnection } = require_connection2();
+    var { PerMessageDeflate } = require_permessage_deflate2();
+    var ByteParser = class extends Writable {
+      #buffers = [];
+      #byteOffset = 0;
+      #loop = false;
+      #state = parserStates.INFO;
+      #info = {};
+      #fragments = [];
+      /** @type {Map} */
+      #extensions;
+      constructor(ws, extensions) {
+        super();
+        this.ws = ws;
+        this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
+        if (this.#extensions.has("permessage-deflate")) {
+          this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
+        }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
-       * @param {CacheBatchOperation[]} operations
-       * @returns {requestResponseList}
+       * @param {Buffer} chunk
+       * @param {() => void} callback
        */
-      #batchCacheOperations(operations) {
-        const cache = this.#relevantRequestResponseList;
-        const backupCache = [...cache];
-        const addedItems = [];
-        const resultList = [];
-        try {
-          for (const operation of operations) {
-            if (operation.type !== "delete" && operation.type !== "put") {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: 'operation type does not match "delete" or "put"'
-              });
+      _write(chunk, _, callback) {
+        this.#buffers.push(chunk);
+        this.#byteOffset += chunk.length;
+        this.#loop = true;
+        this.run(callback);
+      }
+      /**
+       * Runs whenever a new chunk is received.
+       * Callback is called whenever there are no more chunks buffering,
+       * or not enough bytes are buffered to parse.
+       */
+      run(callback) {
+        while (this.#loop) {
+          if (this.#state === parserStates.INFO) {
+            if (this.#byteOffset < 2) {
+              return callback();
             }
-            if (operation.type === "delete" && operation.response != null) {
-              throw webidl.errors.exception({
-                header: "Cache.#batchCacheOperations",
-                message: "delete operation should not have an associated response"
-              });
+            const buffer = this.consume(2);
+            const fin = (buffer[0] & 128) !== 0;
+            const opcode = buffer[0] & 15;
+            const masked = (buffer[1] & 128) === 128;
+            const fragmented = !fin && opcode !== opcodes.CONTINUATION;
+            const payloadLength = buffer[1] & 127;
+            const rsv1 = buffer[0] & 64;
+            const rsv2 = buffer[0] & 32;
+            const rsv3 = buffer[0] & 16;
+            if (!isValidOpcode(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid opcode received");
+              return callback();
             }
-            if (this.#queryCache(operation.request, operation.options, addedItems).length) {
-              throw new DOMException("???", "InvalidStateError");
+            if (masked) {
+              failWebsocketConnection(this.ws, "Frame cannot be masked");
+              return callback();
             }
-            let requestResponses;
-            if (operation.type === "delete") {
-              requestResponses = this.#queryCache(operation.request, operation.options);
-              if (requestResponses.length === 0) {
-                return [];
-              }
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-            } else if (operation.type === "put") {
-              if (operation.response == null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "put operation should have an associated response"
-                });
-              }
-              const r = operation.request;
-              if (!urlIsHttpHttpsScheme(r.url)) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "expected http or https scheme"
-                });
-              }
-              if (r.method !== "GET") {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "not get method"
-                });
-              }
-              if (operation.options != null) {
-                throw webidl.errors.exception({
-                  header: "Cache.#batchCacheOperations",
-                  message: "options must not be defined"
+            if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
+              failWebsocketConnection(this.ws, "Expected RSV1 to be clear.");
+              return;
+            }
+            if (rsv2 !== 0 || rsv3 !== 0) {
+              failWebsocketConnection(this.ws, "RSV1, RSV2, RSV3 must be clear");
+              return;
+            }
+            if (fragmented && !isTextBinaryFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
+              return;
+            }
+            if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
+              failWebsocketConnection(this.ws, "Expected continuation frame");
+              return;
+            }
+            if (this.#info.fragmented && fragmented) {
+              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
+              return;
+            }
+            if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
+              failWebsocketConnection(this.ws, "Control frame either too large or fragmented");
+              return;
+            }
+            if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
+              failWebsocketConnection(this.ws, "Unexpected continuation frame");
+              return;
+            }
+            if (payloadLength <= 125) {
+              this.#info.payloadLength = payloadLength;
+              this.#state = parserStates.READ_DATA;
+            } else if (payloadLength === 126) {
+              this.#state = parserStates.PAYLOADLENGTH_16;
+            } else if (payloadLength === 127) {
+              this.#state = parserStates.PAYLOADLENGTH_64;
+            }
+            if (isTextBinaryFrame(opcode)) {
+              this.#info.binaryType = opcode;
+              this.#info.compressed = rsv1 !== 0;
+            }
+            this.#info.opcode = opcode;
+            this.#info.masked = masked;
+            this.#info.fin = fin;
+            this.#info.fragmented = fragmented;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
+            if (this.#byteOffset < 2) {
+              return callback();
+            }
+            const buffer = this.consume(2);
+            this.#info.payloadLength = buffer.readUInt16BE(0);
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
+            if (this.#byteOffset < 8) {
+              return callback();
+            }
+            const buffer = this.consume(8);
+            const upper = buffer.readUInt32BE(0);
+            if (upper > 2 ** 31 - 1) {
+              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
+              return;
+            }
+            const lower = buffer.readUInt32BE(4);
+            this.#info.payloadLength = (upper << 8) + lower;
+            this.#state = parserStates.READ_DATA;
+          } else if (this.#state === parserStates.READ_DATA) {
+            if (this.#byteOffset < this.#info.payloadLength) {
+              return callback();
+            }
+            const body = this.consume(this.#info.payloadLength);
+            if (isControlFrame(this.#info.opcode)) {
+              this.#loop = this.parseControlFrame(body);
+              this.#state = parserStates.INFO;
+            } else {
+              if (!this.#info.compressed) {
+                this.#fragments.push(body);
+                if (!this.#info.fragmented && this.#info.fin) {
+                  const fullMessage = Buffer.concat(this.#fragments);
+                  websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
+                  this.#fragments.length = 0;
+                }
+                this.#state = parserStates.INFO;
+              } else {
+                this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => {
+                  if (error3) {
+                    closeWebSocketConnection(this.ws, 1007, error3.message, error3.message.length);
+                    return;
+                  }
+                  this.#fragments.push(data);
+                  if (!this.#info.fin) {
+                    this.#state = parserStates.INFO;
+                    this.#loop = true;
+                    this.run(callback);
+                    return;
+                  }
+                  websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments));
+                  this.#loop = true;
+                  this.#state = parserStates.INFO;
+                  this.#fragments.length = 0;
+                  this.run(callback);
                 });
+                this.#loop = false;
+                break;
               }
-              requestResponses = this.#queryCache(operation.request);
-              for (const requestResponse of requestResponses) {
-                const idx = cache.indexOf(requestResponse);
-                assert(idx !== -1);
-                cache.splice(idx, 1);
-              }
-              cache.push([operation.request, operation.response]);
-              addedItems.push([operation.request, operation.response]);
             }
-            resultList.push([operation.request, operation.response]);
           }
-          return resultList;
-        } catch (e) {
-          this.#relevantRequestResponseList.length = 0;
-          this.#relevantRequestResponseList = backupCache;
-          throw e;
         }
       }
       /**
-       * @see https://w3c.github.io/ServiceWorker/#query-cache
-       * @param {any} requestQuery
-       * @param {import('../../types/cache').CacheQueryOptions} options
-       * @param {requestResponseList} targetStorage
-       * @returns {requestResponseList}
+       * Take n bytes from the buffered Buffers
+       * @param {number} n
+       * @returns {Buffer}
        */
-      #queryCache(requestQuery, options, targetStorage) {
-        const resultList = [];
-        const storage = targetStorage ?? this.#relevantRequestResponseList;
-        for (const requestResponse of storage) {
-          const [cachedRequest, cachedResponse] = requestResponse;
-          if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
-            resultList.push(requestResponse);
+      consume(n) {
+        if (n > this.#byteOffset) {
+          throw new Error("Called consume() before buffers satiated.");
+        } else if (n === 0) {
+          return emptyBuffer;
+        }
+        if (this.#buffers[0].length === n) {
+          this.#byteOffset -= this.#buffers[0].length;
+          return this.#buffers.shift();
+        }
+        const buffer = Buffer.allocUnsafe(n);
+        let offset = 0;
+        while (offset !== n) {
+          const next = this.#buffers[0];
+          const { length } = next;
+          if (length + offset === n) {
+            buffer.set(this.#buffers.shift(), offset);
+            break;
+          } else if (length + offset > n) {
+            buffer.set(next.subarray(0, n - offset), offset);
+            this.#buffers[0] = next.subarray(n - offset);
+            break;
+          } else {
+            buffer.set(this.#buffers.shift(), offset);
+            offset += next.length;
           }
         }
-        return resultList;
+        this.#byteOffset -= n;
+        return buffer;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
-       * @param {any} requestQuery
-       * @param {any} request
-       * @param {any | null} response
-       * @param {import('../../types/cache').CacheQueryOptions | undefined} options
-       * @returns {boolean}
-       */
-      #requestMatchesCachedItem(requestQuery, request2, response = null, options) {
-        const queryURL = new URL(requestQuery.url);
-        const cachedURL = new URL(request2.url);
-        if (options?.ignoreSearch) {
-          cachedURL.search = "";
-          queryURL.search = "";
+      parseCloseBody(data) {
+        assert(data.length !== 1);
+        let code;
+        if (data.length >= 2) {
+          code = data.readUInt16BE(0);
         }
-        if (!urlEquals(queryURL, cachedURL, true)) {
-          return false;
+        if (code !== void 0 && !isValidStatusCode(code)) {
+          return { code: 1002, reason: "Invalid status code", error: true };
         }
-        if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
-          return true;
+        let reason = data.subarray(2);
+        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
+          reason = reason.subarray(3);
         }
-        const fieldValues = getFieldValues(response.headersList.get("vary"));
-        for (const fieldValue of fieldValues) {
-          if (fieldValue === "*") {
-            return false;
-          }
-          const requestValue = request2.headersList.get(fieldValue);
-          const queryValue = requestQuery.headersList.get(fieldValue);
-          if (requestValue !== queryValue) {
-            return false;
-          }
+        try {
+          reason = utf8Decode(reason);
+        } catch {
+          return { code: 1007, reason: "Invalid UTF-8", error: true };
         }
-        return true;
-      }
-    };
-    Object.defineProperties(Cache.prototype, {
-      [Symbol.toStringTag]: {
-        value: "Cache",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      matchAll: kEnumerableProperty,
-      add: kEnumerableProperty,
-      addAll: kEnumerableProperty,
-      put: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    var cacheQueryOptionConverters = [
-      {
-        key: "ignoreSearch",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreMethod",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "ignoreVary",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
-    webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
-      ...cacheQueryOptionConverters,
-      {
-        key: "cacheName",
-        converter: webidl.converters.DOMString
+        return { code, reason, error: false };
       }
-    ]);
-    webidl.converters.Response = webidl.interfaceConverter(Response);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.RequestInfo
-    );
-    module2.exports = {
-      Cache
-    };
-  }
-});
-
-// node_modules/undici/lib/cache/cachestorage.js
-var require_cachestorage2 = __commonJS({
-  "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) {
-    "use strict";
-    var { kConstruct } = require_symbols9();
-    var { Cache } = require_cache2();
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var CacheStorage = class _CacheStorage {
       /**
-       * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
-       * @type {Map {
+                if (!err) {
+                  this.ws[kSentClose] = sentCloseFrameState.SENT;
+                }
+              }
+            );
+          }
+          this.ws[kReadyState] = states.CLOSING;
+          this.ws[kReceivedClose] = true;
+          return false;
+        } else if (opcode === opcodes.PING) {
+          if (!this.ws[kReceivedClose]) {
+            const frame = new WebsocketFrameSend(body);
+            this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
+            if (channels.ping.hasSubscribers) {
+              channels.ping.publish({
+                payload: body
+              });
             }
           }
+        } else if (opcode === opcodes.PONG) {
+          if (channels.pong.hasSubscribers) {
+            channels.pong.publish({
+              payload: body
+            });
+          }
         }
+        return true;
       }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-has
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async has(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.has(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async open(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        if (this.#caches.has(cacheName)) {
-          const cache2 = this.#caches.get(cacheName);
-          return new Cache(kConstruct, cache2);
-        }
-        const cache = [];
-        this.#caches.set(cacheName, cache);
-        return new Cache(kConstruct, cache);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
-       * @param {string} cacheName
-       * @returns {Promise}
-       */
-      async delete(cacheName) {
-        webidl.brandCheck(this, _CacheStorage);
-        webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" });
-        cacheName = webidl.converters.DOMString(cacheName);
-        return this.#caches.delete(cacheName);
-      }
-      /**
-       * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
-       * @returns {string[]}
-       */
-      async keys() {
-        webidl.brandCheck(this, _CacheStorage);
-        const keys = this.#caches.keys();
-        return [...keys];
+      get closingInfo() {
+        return this.#info.closeInfo;
       }
     };
-    Object.defineProperties(CacheStorage.prototype, {
-      [Symbol.toStringTag]: {
-        value: "CacheStorage",
-        configurable: true
-      },
-      match: kEnumerableProperty,
-      has: kEnumerableProperty,
-      open: kEnumerableProperty,
-      delete: kEnumerableProperty,
-      keys: kEnumerableProperty
-    });
-    module2.exports = {
-      CacheStorage
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/constants.js
-var require_constants9 = __commonJS({
-  "node_modules/undici/lib/cookies/constants.js"(exports2, module2) {
-    "use strict";
-    var maxAttributeValueSize = 1024;
-    var maxNameValuePairSize = 4096;
     module2.exports = {
-      maxAttributeValueSize,
-      maxNameValuePairSize
+      ByteParser
     };
   }
 });
 
-// node_modules/undici/lib/cookies/util.js
-var require_util14 = __commonJS({
-  "node_modules/undici/lib/cookies/util.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js
+var require_sender2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
     "use strict";
-    function isCTLExcludingHtab(value) {
-      if (value.length === 0) {
-        return false;
-      }
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) {
-          return false;
-        }
+    var { WebsocketFrameSend } = require_frame2();
+    var { opcodes, sendHints } = require_constants10();
+    var FixedQueue = require_fixed_queue2();
+    var FastBuffer = Buffer[Symbol.species];
+    var SendQueue = class {
+      /**
+       * @type {FixedQueue}
+       */
+      #queue = new FixedQueue();
+      /**
+       * @type {boolean}
+       */
+      #running = false;
+      /** @type {import('node:net').Socket} */
+      #socket;
+      constructor(socket) {
+        this.#socket = socket;
       }
-    }
-    function validateCookieName(name) {
-      for (const char of name) {
-        const code = char.charCodeAt(0);
-        if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") {
-          throw new Error("Invalid cookie name");
+      add(item, cb, hint) {
+        if (hint !== sendHints.blob) {
+          const frame = createFrame(item, hint);
+          if (!this.#running) {
+            this.#socket.write(frame, cb);
+          } else {
+            const node2 = {
+              promise: null,
+              callback: cb,
+              frame
+            };
+            this.#queue.push(node2);
+          }
+          return;
         }
-      }
-    }
-    function validateCookieValue(value) {
-      for (const char of value) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || // exclude CTLs (0-31)
-        code === 34 || code === 44 || code === 59 || code === 92 || code > 126) {
-          throw new Error("Invalid header value");
+        const node = {
+          promise: item.arrayBuffer().then((ab) => {
+            node.promise = null;
+            node.frame = createFrame(ab, hint);
+          }),
+          callback: cb,
+          frame: null
+        };
+        this.#queue.push(node);
+        if (!this.#running) {
+          this.#run();
         }
       }
-    }
-    function validateCookiePath(path12) {
-      for (const char of path12) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || char === ";") {
-          throw new Error("Invalid cookie path");
+      async #run() {
+        this.#running = true;
+        const queue = this.#queue;
+        while (!queue.isEmpty()) {
+          const node = queue.shift();
+          if (node.promise !== null) {
+            await node.promise;
+          }
+          this.#socket.write(node.frame, node.callback);
+          node.callback = node.frame = null;
         }
+        this.#running = false;
       }
+    };
+    function createFrame(data, hint) {
+      return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.string ? opcodes.TEXT : opcodes.BINARY);
     }
-    function validateCookieDomain(domain) {
-      if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
-        throw new Error("Invalid cookie domain");
-      }
-    }
-    function toIMFDate(date) {
-      if (typeof date === "number") {
-        date = new Date(date);
-      }
-      const days = [
-        "Sun",
-        "Mon",
-        "Tue",
-        "Wed",
-        "Thu",
-        "Fri",
-        "Sat"
-      ];
-      const months = [
-        "Jan",
-        "Feb",
-        "Mar",
-        "Apr",
-        "May",
-        "Jun",
-        "Jul",
-        "Aug",
-        "Sep",
-        "Oct",
-        "Nov",
-        "Dec"
-      ];
-      const dayName = days[date.getUTCDay()];
-      const day = date.getUTCDate().toString().padStart(2, "0");
-      const month = months[date.getUTCMonth()];
-      const year = date.getUTCFullYear();
-      const hour = date.getUTCHours().toString().padStart(2, "0");
-      const minute = date.getUTCMinutes().toString().padStart(2, "0");
-      const second = date.getUTCSeconds().toString().padStart(2, "0");
-      return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`;
-    }
-    function validateCookieMaxAge(maxAge) {
-      if (maxAge < 0) {
-        throw new Error("Invalid cookie max-age");
-      }
-    }
-    function stringify(cookie) {
-      if (cookie.name.length === 0) {
-        return null;
-      }
-      validateCookieName(cookie.name);
-      validateCookieValue(cookie.value);
-      const out = [`${cookie.name}=${cookie.value}`];
-      if (cookie.name.startsWith("__Secure-")) {
-        cookie.secure = true;
-      }
-      if (cookie.name.startsWith("__Host-")) {
-        cookie.secure = true;
-        cookie.domain = null;
-        cookie.path = "/";
-      }
-      if (cookie.secure) {
-        out.push("Secure");
-      }
-      if (cookie.httpOnly) {
-        out.push("HttpOnly");
-      }
-      if (typeof cookie.maxAge === "number") {
-        validateCookieMaxAge(cookie.maxAge);
-        out.push(`Max-Age=${cookie.maxAge}`);
-      }
-      if (cookie.domain) {
-        validateCookieDomain(cookie.domain);
-        out.push(`Domain=${cookie.domain}`);
-      }
-      if (cookie.path) {
-        validateCookiePath(cookie.path);
-        out.push(`Path=${cookie.path}`);
-      }
-      if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
-        out.push(`Expires=${toIMFDate(cookie.expires)}`);
-      }
-      if (cookie.sameSite) {
-        out.push(`SameSite=${cookie.sameSite}`);
-      }
-      for (const part of cookie.unparsed) {
-        if (!part.includes("=")) {
-          throw new Error("Invalid unparsed");
-        }
-        const [key, ...value] = part.split("=");
-        out.push(`${key.trim()}=${value.join("=")}`);
+    function toBuffer(data, hint) {
+      switch (hint) {
+        case sendHints.string:
+          return Buffer.from(data);
+        case sendHints.arrayBuffer:
+        case sendHints.blob:
+          return new FastBuffer(data);
+        case sendHints.typedArray:
+          return new FastBuffer(data.buffer, data.byteOffset, data.byteLength);
       }
-      return out.join("; ");
     }
-    module2.exports = {
-      isCTLExcludingHtab,
-      validateCookieName,
-      validateCookiePath,
-      validateCookieValue,
-      toIMFDate,
-      stringify
-    };
+    module2.exports = { SendQueue };
   }
 });
 
-// node_modules/undici/lib/cookies/parse.js
-var require_parse2 = __commonJS({
-  "node_modules/undici/lib/cookies/parse.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js
+var require_websocket2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
     "use strict";
-    var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9();
-    var { isCTLExcludingHtab } = require_util14();
-    var { collectASequenceOfCodePointsFast } = require_dataURL();
-    var assert = require("assert");
-    function parseSetCookie(header) {
-      if (isCTLExcludingHtab(header)) {
-        return null;
-      }
-      let nameValuePair = "";
-      let unparsedAttributes = "";
-      let name = "";
-      let value = "";
-      if (header.includes(";")) {
-        const position = { position: 0 };
-        nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
-        unparsedAttributes = header.slice(position.position);
-      } else {
-        nameValuePair = header;
-      }
-      if (!nameValuePair.includes("=")) {
-        value = nameValuePair;
-      } else {
-        const position = { position: 0 };
-        name = collectASequenceOfCodePointsFast(
-          "=",
-          nameValuePair,
-          position
-        );
-        value = nameValuePair.slice(position.position + 1);
-      }
-      name = name.trim();
-      value = value.trim();
-      if (name.length + value.length > maxNameValuePairSize) {
-        return null;
-      }
-      return {
-        name,
-        value,
-        ...parseUnparsedAttributes(unparsedAttributes)
+    var { webidl } = require_webidl2();
+    var { URLSerializer } = require_data_url2();
+    var { environmentSettingsObject } = require_util10();
+    var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints } = require_constants10();
+    var {
+      kWebSocketURL,
+      kReadyState,
+      kController,
+      kBinaryType,
+      kResponse,
+      kSentClose,
+      kByteParser
+    } = require_symbols10();
+    var {
+      isConnecting,
+      isEstablished,
+      isClosing,
+      isValidSubprotocol,
+      fireEvent
+    } = require_util15();
+    var { establishWebSocketConnection, closeWebSocketConnection } = require_connection2();
+    var { ByteParser } = require_receiver2();
+    var { kEnumerableProperty, isBlobLike } = require_util9();
+    var { getGlobalDispatcher } = require_global4();
+    var { types } = require("node:util");
+    var { ErrorEvent, CloseEvent } = require_events2();
+    var { SendQueue } = require_sender2();
+    var WebSocket = class _WebSocket extends EventTarget {
+      #events = {
+        open: null,
+        error: null,
+        close: null,
+        message: null
       };
-    }
-    function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
-      if (unparsedAttributes.length === 0) {
-        return cookieAttributeList;
-      }
-      assert(unparsedAttributes[0] === ";");
-      unparsedAttributes = unparsedAttributes.slice(1);
-      let cookieAv = "";
-      if (unparsedAttributes.includes(";")) {
-        cookieAv = collectASequenceOfCodePointsFast(
-          ";",
-          unparsedAttributes,
-          { position: 0 }
-        );
-        unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
-      } else {
-        cookieAv = unparsedAttributes;
-        unparsedAttributes = "";
-      }
-      let attributeName = "";
-      let attributeValue = "";
-      if (cookieAv.includes("=")) {
-        const position = { position: 0 };
-        attributeName = collectASequenceOfCodePointsFast(
-          "=",
-          cookieAv,
-          position
-        );
-        attributeValue = cookieAv.slice(position.position + 1);
-      } else {
-        attributeName = cookieAv;
-      }
-      attributeName = attributeName.trim();
-      attributeValue = attributeValue.trim();
-      if (attributeValue.length > maxAttributeValueSize) {
-        return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-      }
-      const attributeNameLowercase = attributeName.toLowerCase();
-      if (attributeNameLowercase === "expires") {
-        const expiryTime = new Date(attributeValue);
-        cookieAttributeList.expires = expiryTime;
-      } else if (attributeNameLowercase === "max-age") {
-        const charCode = attributeValue.charCodeAt(0);
-        if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+      #bufferedAmount = 0;
+      #protocol = "";
+      #extensions = "";
+      /** @type {SendQueue} */
+      #sendQueue;
+      /**
+       * @param {string} url
+       * @param {string|string[]} protocols
+       */
+      constructor(url2, protocols = []) {
+        super();
+        webidl.util.markAsUncloneable(this);
+        const prefix = "WebSocket constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options");
+        url2 = webidl.converters.USVString(url2, prefix, "url");
+        protocols = options.protocols;
+        const baseURL = environmentSettingsObject.settingsObject.baseUrl;
+        let urlRecord;
+        try {
+          urlRecord = new URL(url2, baseURL);
+        } catch (e) {
+          throw new DOMException(e, "SyntaxError");
         }
-        if (!/^\d+$/.test(attributeValue)) {
-          return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
+        if (urlRecord.protocol === "http:") {
+          urlRecord.protocol = "ws:";
+        } else if (urlRecord.protocol === "https:") {
+          urlRecord.protocol = "wss:";
         }
-        const deltaSeconds = Number(attributeValue);
-        cookieAttributeList.maxAge = deltaSeconds;
-      } else if (attributeNameLowercase === "domain") {
-        let cookieDomain = attributeValue;
-        if (cookieDomain[0] === ".") {
-          cookieDomain = cookieDomain.slice(1);
+        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
+          throw new DOMException(
+            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
+            "SyntaxError"
+          );
         }
-        cookieDomain = cookieDomain.toLowerCase();
-        cookieAttributeList.domain = cookieDomain;
-      } else if (attributeNameLowercase === "path") {
-        let cookiePath = "";
-        if (attributeValue.length === 0 || attributeValue[0] !== "/") {
-          cookiePath = "/";
-        } else {
-          cookiePath = attributeValue;
+        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
+          throw new DOMException("Got fragment", "SyntaxError");
         }
-        cookieAttributeList.path = cookiePath;
-      } else if (attributeNameLowercase === "secure") {
-        cookieAttributeList.secure = true;
-      } else if (attributeNameLowercase === "httponly") {
-        cookieAttributeList.httpOnly = true;
-      } else if (attributeNameLowercase === "samesite") {
-        let enforcement = "Default";
-        const attributeValueLowercase = attributeValue.toLowerCase();
-        if (attributeValueLowercase.includes("none")) {
-          enforcement = "None";
+        if (typeof protocols === "string") {
+          protocols = [protocols];
         }
-        if (attributeValueLowercase.includes("strict")) {
-          enforcement = "Strict";
+        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        if (attributeValueLowercase.includes("lax")) {
-          enforcement = "Lax";
+        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
+          throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
         }
-        cookieAttributeList.sameSite = enforcement;
-      } else {
-        cookieAttributeList.unparsed ??= [];
-        cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
-      }
-      return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
-    }
-    module2.exports = {
-      parseSetCookie,
-      parseUnparsedAttributes
-    };
-  }
-});
-
-// node_modules/undici/lib/cookies/index.js
-var require_cookies2 = __commonJS({
-  "node_modules/undici/lib/cookies/index.js"(exports2, module2) {
-    "use strict";
-    var { parseSetCookie } = require_parse2();
-    var { stringify } = require_util14();
-    var { webidl } = require_webidl2();
-    var { Headers } = require_headers2();
-    function getCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookie = headers.get("cookie");
-      const out = {};
-      if (!cookie) {
-        return out;
-      }
-      for (const piece of cookie.split(";")) {
-        const [name, ...value] = piece.split("=");
-        out[name.trim()] = value.join("=");
-      }
-      return out;
-    }
-    function deleteCookie(headers, name, attributes) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      name = webidl.converters.DOMString(name);
-      attributes = webidl.converters.DeleteCookieAttributes(attributes);
-      setCookie(headers, {
-        name,
-        value: "",
-        expires: /* @__PURE__ */ new Date(0),
-        ...attributes
-      });
-    }
-    function getSetCookies(headers) {
-      webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      const cookies = headers.getSetCookie();
-      if (!cookies) {
-        return [];
-      }
-      return cookies.map((pair) => parseSetCookie(pair));
-    }
-    function setCookie(headers, cookie) {
-      webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" });
-      webidl.brandCheck(headers, Headers, { strict: false });
-      cookie = webidl.converters.Cookie(cookie);
-      const str2 = stringify(cookie);
-      if (str2) {
-        headers.append("Set-Cookie", stringify(cookie));
-      }
-    }
-    webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
+        this[kWebSocketURL] = new URL(urlRecord.href);
+        const client = environmentSettingsObject.settingsObject;
+        this[kController] = establishWebSocketConnection(
+          urlRecord,
+          protocols,
+          client,
+          this,
+          (response, extensions) => this.#onConnectionEstablished(response, extensions),
+          options
+        );
+        this[kReadyState] = _WebSocket.CONNECTING;
+        this[kSentClose] = sentCloseFrameState.NOT_SENT;
+        this[kBinaryType] = "blob";
       }
-    ]);
-    webidl.converters.Cookie = webidl.dictionaryConverter([
-      {
-        converter: webidl.converters.DOMString,
-        key: "name"
-      },
-      {
-        converter: webidl.converters.DOMString,
-        key: "value"
-      },
-      {
-        converter: webidl.nullableConverter((value) => {
-          if (typeof value === "number") {
-            return webidl.converters["unsigned long long"](value);
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
+       * @param {number|undefined} code
+       * @param {string|undefined} reason
+       */
+      close(code = void 0, reason = void 0) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.close";
+        if (code !== void 0) {
+          code = webidl.converters["unsigned short"](code, prefix, "code", { clamp: true });
+        }
+        if (reason !== void 0) {
+          reason = webidl.converters.USVString(reason, prefix, "reason");
+        }
+        if (code !== void 0) {
+          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
+            throw new DOMException("invalid code", "InvalidAccessError");
           }
-          return new Date(value);
-        }),
-        key: "expires",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters["long long"]),
-        key: "maxAge",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "domain",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.DOMString),
-        key: "path",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "secure",
-        defaultValue: null
-      },
-      {
-        converter: webidl.nullableConverter(webidl.converters.boolean),
-        key: "httpOnly",
-        defaultValue: null
-      },
-      {
-        converter: webidl.converters.USVString,
-        key: "sameSite",
-        allowedValues: ["Strict", "Lax", "None"]
-      },
-      {
-        converter: webidl.sequenceConverter(webidl.converters.DOMString),
-        key: "unparsed",
-        defaultValue: []
+        }
+        let reasonByteLength = 0;
+        if (reason !== void 0) {
+          reasonByteLength = Buffer.byteLength(reason);
+          if (reasonByteLength > 123) {
+            throw new DOMException(
+              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
+              "SyntaxError"
+            );
+          }
+        }
+        closeWebSocketConnection(this, code, reason, reasonByteLength);
       }
-    ]);
-    module2.exports = {
-      getCookies,
-      deleteCookie,
-      getSetCookies,
-      setCookie
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/constants.js
-var require_constants10 = __commonJS({
-  "node_modules/undici/lib/websocket/constants.js"(exports2, module2) {
-    "use strict";
-    var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
-    var staticPropertyDescriptors = {
-      enumerable: true,
-      writable: false,
-      configurable: false
-    };
-    var states = {
-      CONNECTING: 0,
-      OPEN: 1,
-      CLOSING: 2,
-      CLOSED: 3
-    };
-    var opcodes = {
-      CONTINUATION: 0,
-      TEXT: 1,
-      BINARY: 2,
-      CLOSE: 8,
-      PING: 9,
-      PONG: 10
-    };
-    var maxUnsigned16Bit = 2 ** 16 - 1;
-    var parserStates = {
-      INFO: 0,
-      PAYLOADLENGTH_16: 2,
-      PAYLOADLENGTH_64: 3,
-      READ_DATA: 4
-    };
-    var emptyBuffer = Buffer.allocUnsafe(0);
-    module2.exports = {
-      uid,
-      staticPropertyDescriptors,
-      states,
-      opcodes,
-      maxUnsigned16Bit,
-      parserStates,
-      emptyBuffer
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/symbols.js
-var require_symbols10 = __commonJS({
-  "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
-    "use strict";
-    module2.exports = {
-      kWebSocketURL: /* @__PURE__ */ Symbol("url"),
-      kReadyState: /* @__PURE__ */ Symbol("ready state"),
-      kController: /* @__PURE__ */ Symbol("controller"),
-      kResponse: /* @__PURE__ */ Symbol("response"),
-      kBinaryType: /* @__PURE__ */ Symbol("binary type"),
-      kSentClose: /* @__PURE__ */ Symbol("sent close"),
-      kReceivedClose: /* @__PURE__ */ Symbol("received close"),
-      kByteParser: /* @__PURE__ */ Symbol("byte parser")
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/events.js
-var require_events2 = __commonJS({
-  "node_modules/undici/lib/websocket/events.js"(exports2, module2) {
-    "use strict";
-    var { webidl } = require_webidl2();
-    var { kEnumerableProperty } = require_util9();
-    var { MessagePort } = require("worker_threads");
-    var MessageEvent = class _MessageEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.MessageEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      /**
+       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
+       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       */
+      send(data) {
+        webidl.brandCheck(this, _WebSocket);
+        const prefix = "WebSocket.send";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
+        data = webidl.converters.WebSocketSendData(data, prefix, "data");
+        if (isConnecting(this)) {
+          throw new DOMException("Sent before connected.", "InvalidStateError");
+        }
+        if (!isEstablished(this) || isClosing(this)) {
+          return;
+        }
+        if (typeof data === "string") {
+          const length = Buffer.byteLength(data);
+          this.#bufferedAmount += length;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= length;
+          }, sendHints.string);
+        } else if (types.isArrayBuffer(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.arrayBuffer);
+        } else if (ArrayBuffer.isView(data)) {
+          this.#bufferedAmount += data.byteLength;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.byteLength;
+          }, sendHints.typedArray);
+        } else if (isBlobLike(data)) {
+          this.#bufferedAmount += data.size;
+          this.#sendQueue.add(data, () => {
+            this.#bufferedAmount -= data.size;
+          }, sendHints.blob);
+        }
       }
-      get data() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.data;
+      get readyState() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kReadyState];
       }
-      get origin() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.origin;
+      get bufferedAmount() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#bufferedAmount;
       }
-      get lastEventId() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.lastEventId;
+      get url() {
+        webidl.brandCheck(this, _WebSocket);
+        return URLSerializer(this[kWebSocketURL]);
       }
-      get source() {
-        webidl.brandCheck(this, _MessageEvent);
-        return this.#eventInit.source;
+      get extensions() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#extensions;
       }
-      get ports() {
-        webidl.brandCheck(this, _MessageEvent);
-        if (!Object.isFrozen(this.#eventInit.ports)) {
-          Object.freeze(this.#eventInit.ports);
-        }
-        return this.#eventInit.ports;
+      get protocol() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#protocol;
       }
-      initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
-        webidl.brandCheck(this, _MessageEvent);
-        webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });
-        return new _MessageEvent(type2, {
-          bubbles,
-          cancelable,
-          data,
-          origin,
-          lastEventId,
-          source,
-          ports
-        });
+      get onopen() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.open;
       }
-    };
-    var CloseEvent = class _CloseEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict = {}) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
-        super(type2, eventInitDict);
-        this.#eventInit = eventInitDict;
+      set onopen(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.open) {
+          this.removeEventListener("open", this.#events.open);
+        }
+        if (typeof fn === "function") {
+          this.#events.open = fn;
+          this.addEventListener("open", fn);
+        } else {
+          this.#events.open = null;
+        }
       }
-      get wasClean() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.wasClean;
+      get onerror() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.error;
       }
-      get code() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.code;
+      set onerror(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
+        } else {
+          this.#events.error = null;
+        }
       }
-      get reason() {
-        webidl.brandCheck(this, _CloseEvent);
-        return this.#eventInit.reason;
+      get onclose() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.close;
       }
-    };
-    var ErrorEvent = class _ErrorEvent extends Event {
-      #eventInit;
-      constructor(type2, eventInitDict) {
-        webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });
-        super(type2, eventInitDict);
-        type2 = webidl.converters.DOMString(type2);
-        eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
-        this.#eventInit = eventInitDict;
+      set onclose(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.close) {
+          this.removeEventListener("close", this.#events.close);
+        }
+        if (typeof fn === "function") {
+          this.#events.close = fn;
+          this.addEventListener("close", fn);
+        } else {
+          this.#events.close = null;
+        }
       }
-      get message() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.message;
+      get onmessage() {
+        webidl.brandCheck(this, _WebSocket);
+        return this.#events.message;
       }
-      get filename() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.filename;
+      set onmessage(fn) {
+        webidl.brandCheck(this, _WebSocket);
+        if (this.#events.message) {
+          this.removeEventListener("message", this.#events.message);
+        }
+        if (typeof fn === "function") {
+          this.#events.message = fn;
+          this.addEventListener("message", fn);
+        } else {
+          this.#events.message = null;
+        }
       }
-      get lineno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.lineno;
+      get binaryType() {
+        webidl.brandCheck(this, _WebSocket);
+        return this[kBinaryType];
       }
-      get colno() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.colno;
+      set binaryType(type2) {
+        webidl.brandCheck(this, _WebSocket);
+        if (type2 !== "blob" && type2 !== "arraybuffer") {
+          this[kBinaryType] = "blob";
+        } else {
+          this[kBinaryType] = type2;
+        }
       }
-      get error() {
-        webidl.brandCheck(this, _ErrorEvent);
-        return this.#eventInit.error;
+      /**
+       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
+       */
+      #onConnectionEstablished(response, parsedExtensions) {
+        this[kResponse] = response;
+        const parser = new ByteParser(this, parsedExtensions);
+        parser.on("drain", onParserDrain);
+        parser.on("error", onParserError.bind(this));
+        response.socket.ws = this;
+        this[kByteParser] = parser;
+        this.#sendQueue = new SendQueue(response.socket);
+        this[kReadyState] = states.OPEN;
+        const extensions = response.headersList.get("sec-websocket-extensions");
+        if (extensions !== null) {
+          this.#extensions = extensions;
+        }
+        const protocol = response.headersList.get("sec-websocket-protocol");
+        if (protocol !== null) {
+          this.#protocol = protocol;
+        }
+        fireEvent("open", this);
       }
     };
-    Object.defineProperties(MessageEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "MessageEvent",
-        configurable: true
-      },
-      data: kEnumerableProperty,
-      origin: kEnumerableProperty,
-      lastEventId: kEnumerableProperty,
-      source: kEnumerableProperty,
-      ports: kEnumerableProperty,
-      initMessageEvent: kEnumerableProperty
-    });
-    Object.defineProperties(CloseEvent.prototype, {
+    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
+    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
+    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
+    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
+    Object.defineProperties(WebSocket.prototype, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors,
+      url: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      bufferedAmount: kEnumerableProperty,
+      onopen: kEnumerableProperty,
+      onerror: kEnumerableProperty,
+      onclose: kEnumerableProperty,
+      close: kEnumerableProperty,
+      onmessage: kEnumerableProperty,
+      binaryType: kEnumerableProperty,
+      send: kEnumerableProperty,
+      extensions: kEnumerableProperty,
+      protocol: kEnumerableProperty,
       [Symbol.toStringTag]: {
-        value: "CloseEvent",
+        value: "WebSocket",
+        writable: false,
+        enumerable: false,
         configurable: true
-      },
-      reason: kEnumerableProperty,
-      code: kEnumerableProperty,
-      wasClean: kEnumerableProperty
+      }
     });
-    Object.defineProperties(ErrorEvent.prototype, {
-      [Symbol.toStringTag]: {
-        value: "ErrorEvent",
-        configurable: true
-      },
-      message: kEnumerableProperty,
-      filename: kEnumerableProperty,
-      lineno: kEnumerableProperty,
-      colno: kEnumerableProperty,
-      error: kEnumerableProperty
+    Object.defineProperties(WebSocket, {
+      CONNECTING: staticPropertyDescriptors,
+      OPEN: staticPropertyDescriptors,
+      CLOSING: staticPropertyDescriptors,
+      CLOSED: staticPropertyDescriptors
     });
-    webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.MessagePort
+    webidl.converters["sequence"] = webidl.sequenceConverter(
+      webidl.converters.DOMString
     );
-    var eventInit = [
-      {
-        key: "bubbles",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "cancelable",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "composed",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      }
-    ];
-    webidl.converters.MessageEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "data",
-        converter: webidl.converters.any,
-        defaultValue: null
-      },
-      {
-        key: "origin",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
-      {
-        key: "lastEventId",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "source",
-        // Node doesn't implement WindowProxy or ServiceWorker, so the only
-        // valid value for source is a MessagePort.
-        converter: webidl.nullableConverter(webidl.converters.MessagePort),
-        defaultValue: null
-      },
-      {
-        key: "ports",
-        converter: webidl.converters["sequence"],
-        get defaultValue() {
-          return [];
-        }
-      }
-    ]);
-    webidl.converters.CloseEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "wasClean",
-        converter: webidl.converters.boolean,
-        defaultValue: false
-      },
-      {
-        key: "code",
-        converter: webidl.converters["unsigned short"],
-        defaultValue: 0
-      },
-      {
-        key: "reason",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
+    webidl.converters["DOMString or sequence"] = function(V, prefix, argument) {
+      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
+        return webidl.converters["sequence"](V);
       }
-    ]);
-    webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
-      ...eventInit,
-      {
-        key: "message",
-        converter: webidl.converters.DOMString,
-        defaultValue: ""
-      },
-      {
-        key: "filename",
-        converter: webidl.converters.USVString,
-        defaultValue: ""
-      },
+      return webidl.converters.DOMString(V, prefix, argument);
+    };
+    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
       {
-        key: "lineno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "protocols",
+        converter: webidl.converters["DOMString or sequence"],
+        defaultValue: () => new Array(0)
       },
       {
-        key: "colno",
-        converter: webidl.converters["unsigned long"],
-        defaultValue: 0
+        key: "dispatcher",
+        converter: webidl.converters.any,
+        defaultValue: () => getGlobalDispatcher()
       },
-      {
-        key: "error",
-        converter: webidl.converters.any
-      }
-    ]);
-    module2.exports = {
-      MessageEvent,
-      CloseEvent,
-      ErrorEvent
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/util.js
-var require_util15 = __commonJS({
-  "node_modules/undici/lib/websocket/util.js"(exports2, module2) {
-    "use strict";
-    var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols10();
-    var { states, opcodes } = require_constants10();
-    var { MessageEvent, ErrorEvent } = require_events2();
-    function isEstablished(ws) {
-      return ws[kReadyState] === states.OPEN;
-    }
-    function isClosing(ws) {
-      return ws[kReadyState] === states.CLOSING;
-    }
-    function isClosed(ws) {
-      return ws[kReadyState] === states.CLOSED;
-    }
-    function fireEvent(e, target, eventConstructor = Event, eventInitDict) {
-      const event = new eventConstructor(e, eventInitDict);
-      target.dispatchEvent(event);
-    }
-    function websocketMessageReceived(ws, type2, data) {
-      if (ws[kReadyState] !== states.OPEN) {
-        return;
-      }
-      let dataForEvent;
-      if (type2 === opcodes.TEXT) {
-        try {
-          dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);
-        } catch {
-          failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");
-          return;
-        }
-      } else if (type2 === opcodes.BINARY) {
-        if (ws[kBinaryType] === "blob") {
-          dataForEvent = new Blob([data]);
-        } else {
-          dataForEvent = new Uint8Array(data).buffer;
-        }
+      {
+        key: "headers",
+        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
       }
-      fireEvent("message", ws, MessageEvent, {
-        origin: ws[kWebSocketURL].origin,
-        data: dataForEvent
-      });
-    }
-    function isValidSubprotocol(protocol) {
-      if (protocol.length === 0) {
-        return false;
+    ]);
+    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
+      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
+        return webidl.converters.WebSocketInit(V);
       }
-      for (const char of protocol) {
-        const code = char.charCodeAt(0);
-        if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP
-        code === 9) {
-          return false;
+      return { protocols: webidl.converters["DOMString or sequence"](V) };
+    };
+    webidl.converters.WebSocketSendData = function(V) {
+      if (webidl.util.Type(V) === "Object") {
+        if (isBlobLike(V)) {
+          return webidl.converters.Blob(V, { strict: false });
+        }
+        if (ArrayBuffer.isView(V) || types.isArrayBuffer(V)) {
+          return webidl.converters.BufferSource(V);
         }
       }
-      return true;
-    }
-    function isValidStatusCode(code) {
-      if (code >= 1e3 && code < 1015) {
-        return code !== 1004 && // reserved
-        code !== 1005 && // "MUST NOT be set as a status code"
-        code !== 1006;
-      }
-      return code >= 3e3 && code <= 4999;
+      return webidl.converters.USVString(V);
+    };
+    function onParserDrain() {
+      this.ws[kResponse].socket.resume();
     }
-    function failWebsocketConnection(ws, reason) {
-      const { [kController]: controller, [kResponse]: response } = ws;
-      controller.abort();
-      if (response?.socket && !response.socket.destroyed) {
-        response.socket.destroy();
-      }
-      if (reason) {
-        fireEvent("error", ws, ErrorEvent, {
-          error: new Error(reason)
-        });
+    function onParserError(err) {
+      let message;
+      let code;
+      if (err instanceof CloseEvent) {
+        message = err.reason;
+        code = err.code;
+      } else {
+        message = err.message;
       }
+      fireEvent("error", this, () => new ErrorEvent("error", { error: err, message }));
+      closeWebSocketConnection(this, code);
     }
     module2.exports = {
-      isEstablished,
-      isClosing,
-      isClosed,
-      fireEvent,
-      isValidSubprotocol,
-      isValidStatusCode,
-      failWebsocketConnection,
-      websocketMessageReceived
+      WebSocket
     };
   }
 });
 
-// node_modules/undici/lib/websocket/connection.js
-var require_connection2 = __commonJS({
-  "node_modules/undici/lib/websocket/connection.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js
+var require_util16 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
     "use strict";
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { uid, states } = require_constants10();
-    var {
-      kReadyState,
-      kSentClose,
-      kByteParser,
-      kReceivedClose
-    } = require_symbols10();
-    var { fireEvent, failWebsocketConnection } = require_util15();
-    var { CloseEvent } = require_events2();
-    var { makeRequest } = require_request4();
-    var { fetching } = require_fetch2();
-    var { Headers } = require_headers2();
-    var { getGlobalDispatcher } = require_global4();
-    var { kHeadersList } = require_symbols6();
-    var channels = {};
-    channels.open = diagnosticsChannel.channel("undici:websocket:open");
-    channels.close = diagnosticsChannel.channel("undici:websocket:close");
-    channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    function establishWebSocketConnection(url2, protocols, ws, onEstablish, options) {
-      const requestURL = url2;
-      requestURL.protocol = url2.protocol === "ws:" ? "http:" : "https:";
-      const request2 = makeRequest({
-        urlList: [requestURL],
-        serviceWorkers: "none",
-        referrer: "no-referrer",
-        mode: "websocket",
-        credentials: "include",
-        cache: "no-store",
-        redirect: "error"
-      });
-      if (options.headers) {
-        const headersList = new Headers(options.headers)[kHeadersList];
-        request2.headersList = headersList;
-      }
-      const keyValue = crypto2.randomBytes(16).toString("base64");
-      request2.headersList.append("sec-websocket-key", keyValue);
-      request2.headersList.append("sec-websocket-version", "13");
-      for (const protocol of protocols) {
-        request2.headersList.append("sec-websocket-protocol", protocol);
-      }
-      const permessageDeflate = "";
-      const controller = fetching({
-        request: request2,
-        useParallelQueue: true,
-        dispatcher: options.dispatcher ?? getGlobalDispatcher(),
-        processResponse(response) {
-          if (response.type === "error" || response.status !== 101) {
-            failWebsocketConnection(ws, "Received network error or non-101 status code.");
-            return;
-          }
-          if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Server did not respond with sent protocols.");
-            return;
-          }
-          if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
-            failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".');
-            return;
-          }
-          if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
-            failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".');
-            return;
-          }
-          const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
-          const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64");
-          if (secWSAccept !== digest) {
-            failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");
-            return;
-          }
-          const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
-          if (secExtension !== null && secExtension !== permessageDeflate) {
-            failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");
-            return;
-          }
-          const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
-          if (secProtocol !== null && secProtocol !== request2.headersList.get("Sec-WebSocket-Protocol")) {
-            failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
-            return;
-          }
-          response.socket.on("data", onSocketData);
-          response.socket.on("close", onSocketClose);
-          response.socket.on("error", onSocketError);
-          if (channels.open.hasSubscribers) {
-            channels.open.publish({
-              address: response.socket.address(),
-              protocol: secProtocol,
-              extensions: secExtension
-            });
-          }
-          onEstablish(response);
-        }
-      });
-      return controller;
+    function isValidLastEventId(value) {
+      return value.indexOf("\0") === -1;
     }
-    function onSocketData(chunk) {
-      if (!this.ws[kByteParser].write(chunk)) {
-        this.pause();
+    function isASCIINumber(value) {
+      if (value.length === 0) return false;
+      for (let i = 0; i < value.length; i++) {
+        if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false;
       }
+      return true;
     }
-    function onSocketClose() {
-      const { ws } = this;
-      const wasClean = ws[kSentClose] && ws[kReceivedClose];
-      let code = 1005;
-      let reason = "";
-      const result = ws[kByteParser].closingInfo;
-      if (result) {
-        code = result.code ?? 1005;
-        reason = result.reason;
-      } else if (!ws[kSentClose]) {
-        code = 1006;
-      }
-      ws[kReadyState] = states.CLOSED;
-      fireEvent("close", ws, CloseEvent, {
-        wasClean,
-        code,
-        reason
+    function delay2(ms) {
+      return new Promise((resolve6) => {
+        setTimeout(resolve6, ms).unref();
       });
-      if (channels.close.hasSubscribers) {
-        channels.close.publish({
-          websocket: ws,
-          code,
-          reason
-        });
-      }
-    }
-    function onSocketError(error3) {
-      const { ws } = this;
-      ws[kReadyState] = states.CLOSING;
-      if (channels.socketError.hasSubscribers) {
-        channels.socketError.publish(error3);
-      }
-      this.destroy();
     }
     module2.exports = {
-      establishWebSocketConnection
+      isValidLastEventId,
+      isASCIINumber,
+      delay: delay2
     };
   }
 });
 
-// node_modules/undici/lib/websocket/frame.js
-var require_frame2 = __commonJS({
-  "node_modules/undici/lib/websocket/frame.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js
+var require_eventsource_stream2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
     "use strict";
-    var { maxUnsigned16Bit } = require_constants10();
-    var crypto2;
-    try {
-      crypto2 = require("crypto");
-    } catch {
-    }
-    var WebsocketFrameSend = class {
+    var { Transform } = require("node:stream");
+    var { isASCIINumber, isValidLastEventId } = require_util16();
+    var BOM = [239, 187, 191];
+    var LF = 10;
+    var CR = 13;
+    var COLON = 58;
+    var SPACE = 32;
+    var EventSourceStream = class extends Transform {
       /**
-       * @param {Buffer|undefined} data
+       * @type {eventSourceSettings}
        */
-      constructor(data) {
-        this.frameData = data;
-        this.maskKey = crypto2.randomBytes(4);
-      }
-      createFrame(opcode) {
-        const bodyLength = this.frameData?.byteLength ?? 0;
-        let payloadLength = bodyLength;
-        let offset = 6;
-        if (bodyLength > maxUnsigned16Bit) {
-          offset += 8;
-          payloadLength = 127;
-        } else if (bodyLength > 125) {
-          offset += 2;
-          payloadLength = 126;
-        }
-        const buffer = Buffer.allocUnsafe(bodyLength + offset);
-        buffer[0] = buffer[1] = 0;
-        buffer[0] |= 128;
-        buffer[0] = (buffer[0] & 240) + opcode;
-        buffer[offset - 4] = this.maskKey[0];
-        buffer[offset - 3] = this.maskKey[1];
-        buffer[offset - 2] = this.maskKey[2];
-        buffer[offset - 1] = this.maskKey[3];
-        buffer[1] = payloadLength;
-        if (payloadLength === 126) {
-          buffer.writeUInt16BE(bodyLength, 2);
-        } else if (payloadLength === 127) {
-          buffer[2] = buffer[3] = 0;
-          buffer.writeUIntBE(bodyLength, 4, 6);
-        }
-        buffer[1] |= 128;
-        for (let i = 0; i < bodyLength; i++) {
-          buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];
-        }
-        return buffer;
-      }
-    };
-    module2.exports = {
-      WebsocketFrameSend
-    };
-  }
-});
-
-// node_modules/undici/lib/websocket/receiver.js
-var require_receiver2 = __commonJS({
-  "node_modules/undici/lib/websocket/receiver.js"(exports2, module2) {
-    "use strict";
-    var { Writable } = require("stream");
-    var diagnosticsChannel = require("diagnostics_channel");
-    var { parserStates, opcodes, states, emptyBuffer } = require_constants10();
-    var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols10();
-    var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util15();
-    var { WebsocketFrameSend } = require_frame2();
-    var channels = {};
-    channels.ping = diagnosticsChannel.channel("undici:websocket:ping");
-    channels.pong = diagnosticsChannel.channel("undici:websocket:pong");
-    var ByteParser = class extends Writable {
-      #buffers = [];
-      #byteOffset = 0;
-      #state = parserStates.INFO;
-      #info = {};
-      #fragments = [];
-      constructor(ws) {
-        super();
-        this.ws = ws;
-      }
+      state = null;
       /**
-       * @param {Buffer} chunk
-       * @param {() => void} callback
+       * Leading byte-order-mark check.
+       * @type {boolean}
        */
-      _write(chunk, _, callback) {
-        this.#buffers.push(chunk);
-        this.#byteOffset += chunk.length;
-        this.run(callback);
+      checkBOM = true;
+      /**
+       * @type {boolean}
+       */
+      crlfCheck = false;
+      /**
+       * @type {boolean}
+       */
+      eventEndCheck = false;
+      /**
+       * @type {Buffer}
+       */
+      buffer = null;
+      pos = 0;
+      event = {
+        data: void 0,
+        event: void 0,
+        id: void 0,
+        retry: void 0
+      };
+      /**
+       * @param {object} options
+       * @param {eventSourceSettings} options.eventSourceSettings
+       * @param {Function} [options.push]
+       */
+      constructor(options = {}) {
+        options.readableObjectMode = true;
+        super(options);
+        this.state = options.eventSourceSettings || {};
+        if (options.push) {
+          this.push = options.push;
+        }
       }
       /**
-       * Runs whenever a new chunk is received.
-       * Callback is called whenever there are no more chunks buffering,
-       * or not enough bytes are buffered to parse.
+       * @param {Buffer} chunk
+       * @param {string} _encoding
+       * @param {Function} callback
+       * @returns {void}
        */
-      run(callback) {
-        while (true) {
-          if (this.#state === parserStates.INFO) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.fin = (buffer[0] & 128) !== 0;
-            this.#info.opcode = buffer[0] & 15;
-            this.#info.originalOpcode ??= this.#info.opcode;
-            this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;
-            if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {
-              failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");
-              return;
-            }
-            const payloadLength = buffer[1] & 127;
-            if (payloadLength <= 125) {
-              this.#info.payloadLength = payloadLength;
-              this.#state = parserStates.READ_DATA;
-            } else if (payloadLength === 126) {
-              this.#state = parserStates.PAYLOADLENGTH_16;
-            } else if (payloadLength === 127) {
-              this.#state = parserStates.PAYLOADLENGTH_64;
-            }
-            if (this.#info.fragmented && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");
-              return;
-            } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {
-              failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");
-              return;
-            } else if (this.#info.opcode === opcodes.CLOSE) {
-              if (payloadLength === 1) {
-                failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");
+      _transform(chunk, _encoding, callback) {
+        if (chunk.length === 0) {
+          callback();
+          return;
+        }
+        if (this.buffer) {
+          this.buffer = Buffer.concat([this.buffer, chunk]);
+        } else {
+          this.buffer = chunk;
+        }
+        if (this.checkBOM) {
+          switch (this.buffer.length) {
+            case 1:
+              if (this.buffer[0] === BOM[0]) {
+                callback();
                 return;
               }
-              const body = this.consume(payloadLength);
-              this.#info.closeInfo = this.parseCloseBody(false, body);
-              if (!this.ws[kSentClose]) {
-                const body2 = Buffer.allocUnsafe(2);
-                body2.writeUInt16BE(this.#info.closeInfo.code, 0);
-                const closeFrame = new WebsocketFrameSend(body2);
-                this.ws[kResponse].socket.write(
-                  closeFrame.createFrame(opcodes.CLOSE),
-                  (err) => {
-                    if (!err) {
-                      this.ws[kSentClose] = true;
-                    }
-                  }
-                );
-              }
-              this.ws[kReadyState] = states.CLOSING;
-              this.ws[kReceivedClose] = true;
-              this.end();
+              this.checkBOM = false;
+              callback();
               return;
-            } else if (this.#info.opcode === opcodes.PING) {
-              const body = this.consume(payloadLength);
-              if (!this.ws[kReceivedClose]) {
-                const frame = new WebsocketFrameSend(body);
-                this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));
-                if (channels.ping.hasSubscribers) {
-                  channels.ping.publish({
-                    payload: body
-                  });
-                }
+            case 2:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
+                callback();
+                return;
               }
-              this.#state = parserStates.INFO;
-              if (this.#byteOffset > 0) {
-                continue;
-              } else {
+              this.checkBOM = false;
+              break;
+            case 3:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = Buffer.alloc(0);
+                this.checkBOM = false;
                 callback();
                 return;
               }
-            } else if (this.#info.opcode === opcodes.PONG) {
-              const body = this.consume(payloadLength);
-              if (channels.pong.hasSubscribers) {
-                channels.pong.publish({
-                  payload: body
-                });
+              this.checkBOM = false;
+              break;
+            default:
+              if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
+                this.buffer = this.buffer.subarray(3);
               }
-              if (this.#byteOffset > 0) {
+              this.checkBOM = false;
+              break;
+          }
+        }
+        while (this.pos < this.buffer.length) {
+          if (this.eventEndCheck) {
+            if (this.crlfCheck) {
+              if (this.buffer[this.pos] === LF) {
+                this.buffer = this.buffer.subarray(this.pos + 1);
+                this.pos = 0;
+                this.crlfCheck = false;
                 continue;
-              } else {
-                callback();
-                return;
               }
+              this.crlfCheck = false;
             }
-          } else if (this.#state === parserStates.PAYLOADLENGTH_16) {
-            if (this.#byteOffset < 2) {
-              return callback();
-            }
-            const buffer = this.consume(2);
-            this.#info.payloadLength = buffer.readUInt16BE(0);
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
-            if (this.#byteOffset < 8) {
-              return callback();
-            }
-            const buffer = this.consume(8);
-            const upper = buffer.readUInt32BE(0);
-            if (upper > 2 ** 31 - 1) {
-              failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
-              return;
-            }
-            const lower = buffer.readUInt32BE(4);
-            this.#info.payloadLength = (upper << 8) + lower;
-            this.#state = parserStates.READ_DATA;
-          } else if (this.#state === parserStates.READ_DATA) {
-            if (this.#byteOffset < this.#info.payloadLength) {
-              return callback();
-            } else if (this.#byteOffset >= this.#info.payloadLength) {
-              const body = this.consume(this.#info.payloadLength);
-              this.#fragments.push(body);
-              if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {
-                const fullMessage = Buffer.concat(this.#fragments);
-                websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);
-                this.#info = {};
-                this.#fragments.length = 0;
+            if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+              if (this.buffer[this.pos] === CR) {
+                this.crlfCheck = true;
               }
-              this.#state = parserStates.INFO;
+              this.buffer = this.buffer.subarray(this.pos + 1);
+              this.pos = 0;
+              if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) {
+                this.processEvent(this.event);
+              }
+              this.clearEvent();
+              continue;
             }
+            this.eventEndCheck = false;
+            continue;
           }
-          if (this.#byteOffset > 0) {
+          if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
+            if (this.buffer[this.pos] === CR) {
+              this.crlfCheck = true;
+            }
+            this.parseLine(this.buffer.subarray(0, this.pos), this.event);
+            this.buffer = this.buffer.subarray(this.pos + 1);
+            this.pos = 0;
+            this.eventEndCheck = true;
             continue;
-          } else {
-            callback();
-            break;
           }
+          this.pos++;
         }
+        callback();
       }
       /**
-       * Take n bytes from the buffered Buffers
-       * @param {number} n
-       * @returns {Buffer|null}
+       * @param {Buffer} line
+       * @param {EventStreamEvent} event
        */
-      consume(n) {
-        if (n > this.#byteOffset) {
-          return null;
-        } else if (n === 0) {
-          return emptyBuffer;
+      parseLine(line, event) {
+        if (line.length === 0) {
+          return;
         }
-        if (this.#buffers[0].length === n) {
-          this.#byteOffset -= this.#buffers[0].length;
-          return this.#buffers.shift();
+        const colonPosition = line.indexOf(COLON);
+        if (colonPosition === 0) {
+          return;
         }
-        const buffer = Buffer.allocUnsafe(n);
-        let offset = 0;
-        while (offset !== n) {
-          const next = this.#buffers[0];
-          const { length } = next;
-          if (length + offset === n) {
-            buffer.set(this.#buffers.shift(), offset);
+        let field = "";
+        let value = "";
+        if (colonPosition !== -1) {
+          field = line.subarray(0, colonPosition).toString("utf8");
+          let valueStart = colonPosition + 1;
+          if (line[valueStart] === SPACE) {
+            ++valueStart;
+          }
+          value = line.subarray(valueStart).toString("utf8");
+        } else {
+          field = line.toString("utf8");
+          value = "";
+        }
+        switch (field) {
+          case "data":
+            if (event[field] === void 0) {
+              event[field] = value;
+            } else {
+              event[field] += `
+${value}`;
+            }
             break;
-          } else if (length + offset > n) {
-            buffer.set(next.subarray(0, n - offset), offset);
-            this.#buffers[0] = next.subarray(n - offset);
+          case "retry":
+            if (isASCIINumber(value)) {
+              event[field] = value;
+            }
+            break;
+          case "id":
+            if (isValidLastEventId(value)) {
+              event[field] = value;
+            }
+            break;
+          case "event":
+            if (value.length > 0) {
+              event[field] = value;
+            }
             break;
-          } else {
-            buffer.set(this.#buffers.shift(), offset);
-            offset += next.length;
-          }
         }
-        this.#byteOffset -= n;
-        return buffer;
       }
-      parseCloseBody(onlyCode, data) {
-        let code;
-        if (data.length >= 2) {
-          code = data.readUInt16BE(0);
-        }
-        if (onlyCode) {
-          if (!isValidStatusCode(code)) {
-            return null;
-          }
-          return { code };
-        }
-        let reason = data.subarray(2);
-        if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
-          reason = reason.subarray(3);
+      /**
+       * @param {EventSourceStreamEvent} event
+       */
+      processEvent(event) {
+        if (event.retry && isASCIINumber(event.retry)) {
+          this.state.reconnectionTime = parseInt(event.retry, 10);
         }
-        if (code !== void 0 && !isValidStatusCode(code)) {
-          return null;
+        if (event.id && isValidLastEventId(event.id)) {
+          this.state.lastEventId = event.id;
         }
-        try {
-          reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);
-        } catch {
-          return null;
+        if (event.data !== void 0) {
+          this.push({
+            type: event.event || "message",
+            options: {
+              data: event.data,
+              lastEventId: this.state.lastEventId,
+              origin: this.state.origin
+            }
+          });
         }
-        return { code, reason };
       }
-      get closingInfo() {
-        return this.#info.closeInfo;
+      clearEvent() {
+        this.event = {
+          data: void 0,
+          event: void 0,
+          id: void 0,
+          retry: void 0
+        };
       }
     };
     module2.exports = {
-      ByteParser
+      EventSourceStream
     };
   }
 });
 
-// node_modules/undici/lib/websocket/websocket.js
-var require_websocket2 = __commonJS({
-  "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) {
+// node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js
+var require_eventsource2 = __commonJS({
+  "node_modules/@actions/github/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
     "use strict";
+    var { pipeline } = require("node:stream");
+    var { fetching } = require_fetch2();
+    var { makeRequest } = require_request4();
     var { webidl } = require_webidl2();
-    var { DOMException: DOMException2 } = require_constants7();
-    var { URLSerializer } = require_dataURL();
-    var { getGlobalOrigin } = require_global3();
-    var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants10();
-    var {
-      kWebSocketURL,
-      kReadyState,
-      kController,
-      kBinaryType,
-      kResponse,
-      kSentClose,
-      kByteParser
-    } = require_symbols10();
-    var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util15();
-    var { establishWebSocketConnection } = require_connection2();
-    var { WebsocketFrameSend } = require_frame2();
-    var { ByteParser } = require_receiver2();
-    var { kEnumerableProperty, isBlobLike } = require_util9();
-    var { getGlobalDispatcher } = require_global4();
-    var { types } = require("util");
+    var { EventSourceStream } = require_eventsource_stream2();
+    var { parseMIMEType } = require_data_url2();
+    var { createFastMessageEvent } = require_events2();
+    var { isNetworkError } = require_response2();
+    var { delay: delay2 } = require_util16();
+    var { kEnumerableProperty } = require_util9();
+    var { environmentSettingsObject } = require_util10();
     var experimentalWarned = false;
-    var WebSocket = class _WebSocket extends EventTarget {
+    var defaultReconnectionTime = 3e3;
+    var CONNECTING = 0;
+    var OPEN = 1;
+    var CLOSED = 2;
+    var ANONYMOUS = "anonymous";
+    var USE_CREDENTIALS = "use-credentials";
+    var EventSource = class _EventSource extends EventTarget {
       #events = {
         open: null,
         error: null,
-        close: null,
         message: null
       };
-      #bufferedAmount = 0;
-      #protocol = "";
-      #extensions = "";
+      #url = null;
+      #withCredentials = false;
+      #readyState = CONNECTING;
+      #request = null;
+      #controller = null;
+      #dispatcher;
+      /**
+       * @type {import('./eventsource-stream').eventSourceSettings}
+       */
+      #state;
       /**
+       * Creates a new EventSource object.
        * @param {string} url
-       * @param {string|string[]} protocols
+       * @param {EventSourceInit} [eventSourceInitDict]
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
        */
-      constructor(url2, protocols = []) {
+      constructor(url2, eventSourceInitDict = {}) {
         super();
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });
+        webidl.util.markAsUncloneable(this);
+        const prefix = "EventSource constructor";
+        webidl.argumentLengthCheck(arguments, 1, prefix);
         if (!experimentalWarned) {
           experimentalWarned = true;
-          process.emitWarning("WebSockets are experimental, expect them to change at any time.", {
-            code: "UNDICI-WS"
+          process.emitWarning("EventSource is experimental, expect them to change at any time.", {
+            code: "UNDICI-ES"
           });
         }
-        const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);
-        url2 = webidl.converters.USVString(url2);
-        protocols = options.protocols;
-        const baseURL = getGlobalOrigin();
+        url2 = webidl.converters.USVString(url2, prefix, "url");
+        eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
+        this.#dispatcher = eventSourceInitDict.dispatcher;
+        this.#state = {
+          lastEventId: "",
+          reconnectionTime: defaultReconnectionTime
+        };
+        const settings = environmentSettingsObject;
         let urlRecord;
         try {
-          urlRecord = new URL(url2, baseURL);
+          urlRecord = new URL(url2, settings.settingsObject.baseUrl);
+          this.#state.origin = urlRecord.origin;
         } catch (e) {
-          throw new DOMException2(e, "SyntaxError");
-        }
-        if (urlRecord.protocol === "http:") {
-          urlRecord.protocol = "ws:";
-        } else if (urlRecord.protocol === "https:") {
-          urlRecord.protocol = "wss:";
-        }
-        if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
-          throw new DOMException2(
-            `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,
-            "SyntaxError"
-          );
-        }
-        if (urlRecord.hash || urlRecord.href.endsWith("#")) {
-          throw new DOMException2("Got fragment", "SyntaxError");
-        }
-        if (typeof protocols === "string") {
-          protocols = [protocols];
-        }
-        if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+          throw new DOMException(e, "SyntaxError");
         }
-        if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
-          throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
+        this.#url = urlRecord.href;
+        let corsAttributeState = ANONYMOUS;
+        if (eventSourceInitDict.withCredentials) {
+          corsAttributeState = USE_CREDENTIALS;
+          this.#withCredentials = true;
         }
-        this[kWebSocketURL] = new URL(urlRecord.href);
-        this[kController] = establishWebSocketConnection(
-          urlRecord,
-          protocols,
-          this,
-          (response) => this.#onConnectionEstablished(response),
-          options
-        );
-        this[kReadyState] = _WebSocket.CONNECTING;
-        this[kBinaryType] = "blob";
+        const initRequest = {
+          redirect: "follow",
+          keepalive: true,
+          // @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
+          mode: "cors",
+          credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
+          referrer: "no-referrer"
+        };
+        initRequest.client = environmentSettingsObject.settingsObject;
+        initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
+        initRequest.cache = "no-store";
+        initRequest.initiator = "other";
+        initRequest.urlList = [new URL(this.#url)];
+        this.#request = makeRequest(initRequest);
+        this.#connect();
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-close
-       * @param {number|undefined} code
-       * @param {string|undefined} reason
+       * Returns the state of this EventSource object's connection. It can have the
+       * values described below.
+       * @returns {0|1|2}
+       * @readonly
        */
-      close(code = void 0, reason = void 0) {
-        webidl.brandCheck(this, _WebSocket);
-        if (code !== void 0) {
-          code = webidl.converters["unsigned short"](code, { clamp: true });
-        }
-        if (reason !== void 0) {
-          reason = webidl.converters.USVString(reason);
-        }
-        if (code !== void 0) {
-          if (code !== 1e3 && (code < 3e3 || code > 4999)) {
-            throw new DOMException2("invalid code", "InvalidAccessError");
+      get readyState() {
+        return this.#readyState;
+      }
+      /**
+       * Returns the URL providing the event stream.
+       * @readonly
+       * @returns {string}
+       */
+      get url() {
+        return this.#url;
+      }
+      /**
+       * Returns a boolean indicating whether the EventSource object was
+       * instantiated with CORS credentials set (true), or not (false, the default).
+       */
+      get withCredentials() {
+        return this.#withCredentials;
+      }
+      #connect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        const fetchParams = {
+          request: this.#request,
+          dispatcher: this.#dispatcher
+        };
+        const processEventSourceEndOfBody = (response) => {
+          if (isNetworkError(response)) {
+            this.dispatchEvent(new Event("error"));
+            this.close();
           }
-        }
-        let reasonByteLength = 0;
-        if (reason !== void 0) {
-          reasonByteLength = Buffer.byteLength(reason);
-          if (reasonByteLength > 123) {
-            throw new DOMException2(
-              `Reason must be less than 123 bytes; received ${reasonByteLength}`,
-              "SyntaxError"
-            );
+          this.#reconnect();
+        };
+        fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
+        fetchParams.processResponse = (response) => {
+          if (isNetworkError(response)) {
+            if (response.aborted) {
+              this.close();
+              this.dispatchEvent(new Event("error"));
+              return;
+            } else {
+              this.#reconnect();
+              return;
+            }
           }
-        }
-        if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {
-        } else if (!isEstablished(this)) {
-          failWebsocketConnection(this, "Connection was closed before it was established.");
-          this[kReadyState] = _WebSocket.CLOSING;
-        } else if (!isClosing(this)) {
-          const frame = new WebsocketFrameSend();
-          if (code !== void 0 && reason === void 0) {
-            frame.frameData = Buffer.allocUnsafe(2);
-            frame.frameData.writeUInt16BE(code, 0);
-          } else if (code !== void 0 && reason !== void 0) {
-            frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);
-            frame.frameData.writeUInt16BE(code, 0);
-            frame.frameData.write(reason, 2, "utf-8");
-          } else {
-            frame.frameData = emptyBuffer;
+          const contentType = response.headersList.get("content-type", true);
+          const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
+          const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
+          if (response.status !== 200 || contentTypeValid === false) {
+            this.close();
+            this.dispatchEvent(new Event("error"));
+            return;
           }
-          const socket = this[kResponse].socket;
-          socket.write(frame.createFrame(opcodes.CLOSE), (err) => {
-            if (!err) {
-              this[kSentClose] = true;
+          this.#readyState = OPEN;
+          this.dispatchEvent(new Event("open"));
+          this.#state.origin = response.urlList[response.urlList.length - 1].origin;
+          const eventSourceStream = new EventSourceStream({
+            eventSourceSettings: this.#state,
+            push: (event) => {
+              this.dispatchEvent(createFastMessageEvent(
+                event.type,
+                event.options
+              ));
             }
           });
-          this[kReadyState] = states.CLOSING;
-        } else {
-          this[kReadyState] = _WebSocket.CLOSING;
-        }
+          pipeline(
+            response.body.stream,
+            eventSourceStream,
+            (error3) => {
+              if (error3?.aborted === false) {
+                this.close();
+                this.dispatchEvent(new Event("error"));
+              }
+            }
+          );
+        };
+        this.#controller = fetching(fetchParams);
       }
       /**
-       * @see https://websockets.spec.whatwg.org/#dom-websocket-send
-       * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
+       * @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
+       * @returns {Promise}
        */
-      send(data) {
-        webidl.brandCheck(this, _WebSocket);
-        webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });
-        data = webidl.converters.WebSocketSendData(data);
-        if (this[kReadyState] === _WebSocket.CONNECTING) {
-          throw new DOMException2("Sent before connected.", "InvalidStateError");
-        }
-        if (!isEstablished(this) || isClosing(this)) {
-          return;
-        }
-        const socket = this[kResponse].socket;
-        if (typeof data === "string") {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.TEXT);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (types.isArrayBuffer(data)) {
-          const value = Buffer.from(data);
-          const frame = new WebsocketFrameSend(value);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += value.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= value.byteLength;
-          });
-        } else if (ArrayBuffer.isView(data)) {
-          const ab = Buffer.from(data, data.byteOffset, data.byteLength);
-          const frame = new WebsocketFrameSend(ab);
-          const buffer = frame.createFrame(opcodes.BINARY);
-          this.#bufferedAmount += ab.byteLength;
-          socket.write(buffer, () => {
-            this.#bufferedAmount -= ab.byteLength;
-          });
-        } else if (isBlobLike(data)) {
-          const frame = new WebsocketFrameSend();
-          data.arrayBuffer().then((ab) => {
-            const value = Buffer.from(ab);
-            frame.frameData = value;
-            const buffer = frame.createFrame(opcodes.BINARY);
-            this.#bufferedAmount += value.byteLength;
-            socket.write(buffer, () => {
-              this.#bufferedAmount -= value.byteLength;
-            });
-          });
+      async #reconnect() {
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CONNECTING;
+        this.dispatchEvent(new Event("error"));
+        await delay2(this.#state.reconnectionTime);
+        if (this.#readyState !== CONNECTING) return;
+        if (this.#state.lastEventId.length) {
+          this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
         }
+        this.#connect();
       }
-      get readyState() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kReadyState];
-      }
-      get bufferedAmount() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#bufferedAmount;
-      }
-      get url() {
-        webidl.brandCheck(this, _WebSocket);
-        return URLSerializer(this[kWebSocketURL]);
-      }
-      get extensions() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#extensions;
-      }
-      get protocol() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#protocol;
+      /**
+       * Closes the connection, if any, and sets the readyState attribute to
+       * CLOSED.
+       */
+      close() {
+        webidl.brandCheck(this, _EventSource);
+        if (this.#readyState === CLOSED) return;
+        this.#readyState = CLOSED;
+        this.#controller.abort();
+        this.#request = null;
       }
       get onopen() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.open;
       }
       set onopen(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.open) {
           this.removeEventListener("open", this.#events.open);
         }
@@ -37998,44 +39575,10 @@ var require_websocket2 = __commonJS({
           this.#events.open = null;
         }
       }
-      get onerror() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.error;
-      }
-      set onerror(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.error) {
-          this.removeEventListener("error", this.#events.error);
-        }
-        if (typeof fn === "function") {
-          this.#events.error = fn;
-          this.addEventListener("error", fn);
-        } else {
-          this.#events.error = null;
-        }
-      }
-      get onclose() {
-        webidl.brandCheck(this, _WebSocket);
-        return this.#events.close;
-      }
-      set onclose(fn) {
-        webidl.brandCheck(this, _WebSocket);
-        if (this.#events.close) {
-          this.removeEventListener("close", this.#events.close);
-        }
-        if (typeof fn === "function") {
-          this.#events.close = fn;
-          this.addEventListener("close", fn);
-        } else {
-          this.#events.close = null;
-        }
-      }
       get onmessage() {
-        webidl.brandCheck(this, _WebSocket);
         return this.#events.message;
       }
       set onmessage(fn) {
-        webidl.brandCheck(this, _WebSocket);
         if (this.#events.message) {
           this.removeEventListener("message", this.#events.message);
         }
@@ -38046,137 +39589,87 @@ var require_websocket2 = __commonJS({
           this.#events.message = null;
         }
       }
-      get binaryType() {
-        webidl.brandCheck(this, _WebSocket);
-        return this[kBinaryType];
+      get onerror() {
+        return this.#events.error;
       }
-      set binaryType(type2) {
-        webidl.brandCheck(this, _WebSocket);
-        if (type2 !== "blob" && type2 !== "arraybuffer") {
-          this[kBinaryType] = "blob";
+      set onerror(fn) {
+        if (this.#events.error) {
+          this.removeEventListener("error", this.#events.error);
+        }
+        if (typeof fn === "function") {
+          this.#events.error = fn;
+          this.addEventListener("error", fn);
         } else {
-          this[kBinaryType] = type2;
+          this.#events.error = null;
         }
       }
-      /**
-       * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
-       */
-      #onConnectionEstablished(response) {
-        this[kResponse] = response;
-        const parser = new ByteParser(this);
-        parser.on("drain", function onParserDrain() {
-          this.ws[kResponse].socket.resume();
-        });
-        response.socket.ws = this;
-        this[kByteParser] = parser;
-        this[kReadyState] = states.OPEN;
-        const extensions = response.headersList.get("sec-websocket-extensions");
-        if (extensions !== null) {
-          this.#extensions = extensions;
-        }
-        const protocol = response.headersList.get("sec-websocket-protocol");
-        if (protocol !== null) {
-          this.#protocol = protocol;
-        }
-        fireEvent("open", this);
+    };
+    var constantsPropertyDescriptors = {
+      CONNECTING: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CONNECTING,
+        writable: false
+      },
+      OPEN: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: OPEN,
+        writable: false
+      },
+      CLOSED: {
+        __proto__: null,
+        configurable: false,
+        enumerable: true,
+        value: CLOSED,
+        writable: false
       }
     };
-    WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
-    WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
-    WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
-    WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
-    Object.defineProperties(WebSocket.prototype, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors,
-      url: kEnumerableProperty,
-      readyState: kEnumerableProperty,
-      bufferedAmount: kEnumerableProperty,
-      onopen: kEnumerableProperty,
-      onerror: kEnumerableProperty,
-      onclose: kEnumerableProperty,
+    Object.defineProperties(EventSource, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
+    Object.defineProperties(EventSource.prototype, {
       close: kEnumerableProperty,
+      onerror: kEnumerableProperty,
       onmessage: kEnumerableProperty,
-      binaryType: kEnumerableProperty,
-      send: kEnumerableProperty,
-      extensions: kEnumerableProperty,
-      protocol: kEnumerableProperty,
-      [Symbol.toStringTag]: {
-        value: "WebSocket",
-        writable: false,
-        enumerable: false,
-        configurable: true
-      }
-    });
-    Object.defineProperties(WebSocket, {
-      CONNECTING: staticPropertyDescriptors,
-      OPEN: staticPropertyDescriptors,
-      CLOSING: staticPropertyDescriptors,
-      CLOSED: staticPropertyDescriptors
+      onopen: kEnumerableProperty,
+      readyState: kEnumerableProperty,
+      url: kEnumerableProperty,
+      withCredentials: kEnumerableProperty
     });
-    webidl.converters["sequence"] = webidl.sequenceConverter(
-      webidl.converters.DOMString
-    );
-    webidl.converters["DOMString or sequence"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {
-        return webidl.converters["sequence"](V);
-      }
-      return webidl.converters.DOMString(V);
-    };
-    webidl.converters.WebSocketInit = webidl.dictionaryConverter([
+    webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
       {
-        key: "protocols",
-        converter: webidl.converters["DOMString or sequence"],
-        get defaultValue() {
-          return [];
-        }
+        key: "withCredentials",
+        converter: webidl.converters.boolean,
+        defaultValue: () => false
       },
       {
         key: "dispatcher",
-        converter: (V) => V,
-        get defaultValue() {
-          return getGlobalDispatcher();
-        }
-      },
-      {
-        key: "headers",
-        converter: webidl.nullableConverter(webidl.converters.HeadersInit)
+        // undici only
+        converter: webidl.converters.any
       }
     ]);
-    webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {
-      if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {
-        return webidl.converters.WebSocketInit(V);
-      }
-      return { protocols: webidl.converters["DOMString or sequence"](V) };
-    };
-    webidl.converters.WebSocketSendData = function(V) {
-      if (webidl.util.Type(V) === "Object") {
-        if (isBlobLike(V)) {
-          return webidl.converters.Blob(V, { strict: false });
-        }
-        if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
-          return webidl.converters.BufferSource(V);
-        }
-      }
-      return webidl.converters.USVString(V);
-    };
     module2.exports = {
-      WebSocket
+      EventSource,
+      defaultReconnectionTime
     };
   }
 });
 
-// node_modules/undici/index.js
+// node_modules/@actions/github/node_modules/undici/index.js
 var require_undici2 = __commonJS({
-  "node_modules/undici/index.js"(exports2, module2) {
+  "node_modules/@actions/github/node_modules/undici/index.js"(exports2, module2) {
     "use strict";
     var Client = require_client2();
     var Dispatcher = require_dispatcher2();
-    var errors = require_errors2();
     var Pool = require_pool2();
     var BalancedPool = require_balanced_pool2();
     var Agent = require_agent2();
+    var ProxyAgent = require_proxy_agent2();
+    var EnvHttpProxyAgent = require_env_http_proxy_agent2();
+    var RetryAgent = require_retry_agent2();
+    var errors = require_errors2();
     var util = require_util9();
     var { InvalidArgumentError } = errors;
     var api = require_api2();
@@ -38185,19 +39678,11 @@ var require_undici2 = __commonJS({
     var MockAgent = require_mock_agent2();
     var MockPool = require_mock_pool2();
     var mockErrors = require_mock_errors2();
-    var ProxyAgent = require_proxy_agent2();
-    var RetryHandler = require_RetryHandler();
+    var RetryHandler = require_retry_handler2();
     var { getGlobalDispatcher, setGlobalDispatcher } = require_global4();
-    var DecoratorHandler = require_DecoratorHandler();
-    var RedirectHandler = require_RedirectHandler();
-    var createRedirectInterceptor = require_redirectInterceptor();
-    var hasCrypto;
-    try {
-      require("crypto");
-      hasCrypto = true;
-    } catch {
-      hasCrypto = false;
-    }
+    var DecoratorHandler = require_decorator_handler2();
+    var RedirectHandler = require_redirect_handler2();
+    var createRedirectInterceptor = require_redirect_interceptor2();
     Object.assign(Dispatcher.prototype, api);
     module2.exports.Dispatcher = Dispatcher;
     module2.exports.Client = Client;
@@ -38205,12 +39690,24 @@ var require_undici2 = __commonJS({
     module2.exports.BalancedPool = BalancedPool;
     module2.exports.Agent = Agent;
     module2.exports.ProxyAgent = ProxyAgent;
+    module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
+    module2.exports.RetryAgent = RetryAgent;
     module2.exports.RetryHandler = RetryHandler;
     module2.exports.DecoratorHandler = DecoratorHandler;
     module2.exports.RedirectHandler = RedirectHandler;
     module2.exports.createRedirectInterceptor = createRedirectInterceptor;
+    module2.exports.interceptors = {
+      redirect: require_redirect2(),
+      retry: require_retry2(),
+      dump: require_dump2(),
+      dns: require_dns2()
+    };
     module2.exports.buildConnector = buildConnector;
     module2.exports.errors = errors;
+    module2.exports.util = {
+      parseHeaders: util.parseHeaders,
+      headerNameToString: util.headerNameToString
+    };
     function makeDispatcher(fn) {
       return (url2, opts, handler2) => {
         if (typeof opts === "function") {
@@ -38252,48 +39749,42 @@ var require_undici2 = __commonJS({
     }
     module2.exports.setGlobalDispatcher = setGlobalDispatcher;
     module2.exports.getGlobalDispatcher = getGlobalDispatcher;
-    if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) {
-      let fetchImpl = null;
-      module2.exports.fetch = async function fetch(resource) {
-        if (!fetchImpl) {
-          fetchImpl = require_fetch2().fetch;
-        }
-        try {
-          return await fetchImpl(...arguments);
-        } catch (err) {
-          if (typeof err === "object") {
-            Error.captureStackTrace(err, this);
-          }
-          throw err;
+    var fetchImpl = require_fetch2().fetch;
+    module2.exports.fetch = async function fetch(init, options = void 0) {
+      try {
+        return await fetchImpl(init, options);
+      } catch (err) {
+        if (err && typeof err === "object") {
+          Error.captureStackTrace(err);
         }
-      };
-      module2.exports.Headers = require_headers2().Headers;
-      module2.exports.Response = require_response2().Response;
-      module2.exports.Request = require_request4().Request;
-      module2.exports.FormData = require_formdata2().FormData;
-      module2.exports.File = require_file2().File;
-      module2.exports.FileReader = require_filereader2().FileReader;
-      const { setGlobalOrigin, getGlobalOrigin } = require_global3();
-      module2.exports.setGlobalOrigin = setGlobalOrigin;
-      module2.exports.getGlobalOrigin = getGlobalOrigin;
-      const { CacheStorage } = require_cachestorage2();
-      const { kConstruct } = require_symbols9();
-      module2.exports.caches = new CacheStorage(kConstruct);
-    }
-    if (util.nodeMajor >= 16) {
-      const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
-      module2.exports.deleteCookie = deleteCookie;
-      module2.exports.getCookies = getCookies;
-      module2.exports.getSetCookies = getSetCookies;
-      module2.exports.setCookie = setCookie;
-      const { parseMIMEType, serializeAMimeType } = require_dataURL();
-      module2.exports.parseMIMEType = parseMIMEType;
-      module2.exports.serializeAMimeType = serializeAMimeType;
-    }
-    if (util.nodeMajor >= 18 && hasCrypto) {
-      const { WebSocket } = require_websocket2();
-      module2.exports.WebSocket = WebSocket;
-    }
+        throw err;
+      }
+    };
+    module2.exports.Headers = require_headers2().Headers;
+    module2.exports.Response = require_response2().Response;
+    module2.exports.Request = require_request4().Request;
+    module2.exports.FormData = require_formdata2().FormData;
+    module2.exports.File = globalThis.File ?? require("node:buffer").File;
+    module2.exports.FileReader = require_filereader2().FileReader;
+    var { setGlobalOrigin, getGlobalOrigin } = require_global3();
+    module2.exports.setGlobalOrigin = setGlobalOrigin;
+    module2.exports.getGlobalOrigin = getGlobalOrigin;
+    var { CacheStorage } = require_cachestorage2();
+    var { kConstruct } = require_symbols9();
+    module2.exports.caches = new CacheStorage(kConstruct);
+    var { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies2();
+    module2.exports.deleteCookie = deleteCookie;
+    module2.exports.getCookies = getCookies;
+    module2.exports.getSetCookies = getSetCookies;
+    module2.exports.setCookie = setCookie;
+    var { parseMIMEType, serializeAMimeType } = require_data_url2();
+    module2.exports.parseMIMEType = parseMIMEType;
+    module2.exports.serializeAMimeType = serializeAMimeType;
+    var { CloseEvent, ErrorEvent, MessageEvent } = require_events2();
+    module2.exports.WebSocket = require_websocket2().WebSocket;
+    module2.exports.CloseEvent = CloseEvent;
+    module2.exports.ErrorEvent = ErrorEvent;
+    module2.exports.MessageEvent = MessageEvent;
     module2.exports.request = makeDispatcher(api.request);
     module2.exports.stream = makeDispatcher(api.stream);
     module2.exports.pipeline = makeDispatcher(api.pipeline);
@@ -38303,6 +39794,8 @@ var require_undici2 = __commonJS({
     module2.exports.MockPool = MockPool;
     module2.exports.MockAgent = MockAgent;
     module2.exports.mockErrors = mockErrors;
+    var { EventSource } = require_eventsource2();
+    module2.exports.EventSource = EventSource;
   }
 });
 
@@ -44493,7 +45986,7 @@ var require_package = __commonJS({
   "package.json"(exports2, module2) {
     module2.exports = {
       name: "codeql",
-      version: "4.32.1",
+      version: "4.32.2",
       private: true,
       description: "CodeQL action",
       scripts: {
@@ -44522,7 +46015,7 @@ var require_package = __commonJS({
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -44554,7 +46047,7 @@ var require_package = __commonJS({
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         ava: "^6.4.1",
         esbuild: "^0.27.2",
@@ -44563,7 +46056,7 @@ var require_package = __commonJS({
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         glob: "^11.1.0",
         nock: "^14.0.10",
@@ -53757,7 +55250,7 @@ var require_clientHelpers = __commonJS({
 });
 
 // node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js
-var require_multipart2 = __commonJS({
+var require_multipart = __commonJS({
   "node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -53880,7 +55373,7 @@ var require_sendRequest = __commonJS({
     var pipelineRequest_js_1 = require_pipelineRequest();
     var clientHelpers_js_1 = require_clientHelpers();
     var typeGuards_js_1 = require_typeGuards();
-    var multipart_js_1 = require_multipart2();
+    var multipart_js_1 = require_multipart();
     async function sendRequest(method, url2, pipeline, options = {}, customHttpClient) {
       const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
       const request2 = buildPipelineRequest(method, url2, options);
@@ -58578,7 +60071,7 @@ var require_commonjs8 = __commonJS({
 });
 
 // node_modules/@azure/core-http-compat/dist/commonjs/util.js
-var require_util16 = __commonJS({
+var require_util17 = __commonJS({
   "node_modules/@azure/core-http-compat/dist/commonjs/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -58833,7 +60326,7 @@ var require_response3 = __commonJS({
     exports2.toCompatResponse = toCompatResponse;
     exports2.toPipelineResponse = toPipelineResponse;
     var core_rest_pipeline_1 = require_commonjs6();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
     function toCompatResponse(response, options) {
       let request2 = (0, util_js_1.toWebResourceLike)(response.request);
@@ -58947,7 +60440,7 @@ var require_requestPolicyFactoryPolicy = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.requestPolicyFactoryPolicyName = exports2.HttpPipelineLogLevel = void 0;
     exports2.createRequestPolicyFactoryPolicy = createRequestPolicyFactoryPolicy;
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     var response_js_1 = require_response3();
     var HttpPipelineLogLevel;
     (function(HttpPipelineLogLevel2) {
@@ -58994,7 +60487,7 @@ var require_httpClientAdapter = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.convertHttpClient = convertHttpClient;
     var response_js_1 = require_response3();
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     function convertHttpClient(requestPolicyClient) {
       return {
         sendRequest: async (request2) => {
@@ -59034,7 +60527,7 @@ var require_commonjs9 = __commonJS({
     Object.defineProperty(exports2, "convertHttpClient", { enumerable: true, get: function() {
       return httpClientAdapter_js_1.convertHttpClient;
     } });
-    var util_js_1 = require_util16();
+    var util_js_1 = require_util17();
     Object.defineProperty(exports2, "toHttpHeadersLike", { enumerable: true, get: function() {
       return util_js_1.toHttpHeadersLike;
     } });
@@ -95115,7 +96608,7 @@ var require_cache_twirp_client = __commonJS({
 });
 
 // node_modules/@actions/cache/lib/internal/shared/util.js
-var require_util17 = __commonJS({
+var require_util18 = __commonJS({
   "node_modules/@actions/cache/lib/internal/shared/util.js"(exports2) {
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
@@ -95192,7 +96685,7 @@ var require_cacheTwirpClient = __commonJS({
     var auth_1 = require_auth();
     var http_client_1 = require_lib();
     var cache_twirp_client_1 = require_cache_twirp_client();
-    var util_1 = require_util17();
+    var util_1 = require_util18();
     var CacheServiceClient = class {
       constructor(userAgent2, maxAttempts, baseRetryIntervalMilliseconds, retryMultiplier) {
         this.maxAttempts = 5;
@@ -104941,7 +106434,7 @@ function wrapApiConfigurationError(e) {
     ].some((pattern) => pattern.test(httpError.message))) {
       return new ConfigurationError(httpError.message);
     }
-    if (httpError.message.includes("Bad credentials") || httpError.message.includes("Not Found")) {
+    if (httpError.message.includes("Bad credentials") || httpError.message.includes("Not Found") || httpError.message.includes("Requires authentication")) {
       return new ConfigurationError(
         "Please check that your token is valid and has the required permissions: contents: read, security-events: write"
       );
@@ -104964,8 +106457,8 @@ var path4 = __toESM(require("path"));
 var semver4 = __toESM(require_semver2());
 
 // src/defaults.json
-var bundleVersion = "codeql-bundle-v2.24.0";
-var cliVersion = "2.24.0";
+var bundleVersion = "codeql-bundle-v2.24.1";
+var cliVersion = "2.24.1";
 
 // src/overlay-database-utils.ts
 var fs3 = __toESM(require("fs"));
@@ -109818,11 +111311,11 @@ void runWrapper();
 /*! Bundled license information:
 
 undici/lib/web/fetch/body.js:
-undici/lib/fetch/body.js:
+undici/lib/web/fetch/body.js:
   (*! formdata-polyfill. MIT License. Jimmy Wärting  *)
 
 undici/lib/web/websocket/frame.js:
-undici/lib/websocket/frame.js:
+undici/lib/web/websocket/frame.js:
   (*! ws. MIT License. Einar Otto Stangvik  *)
 
 @octokit/request-error/dist-src/index.js:
diff --git a/package-lock.json b/package-lock.json
index 970fe0ad34..1f120c984e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "codeql",
-  "version": "4.32.1",
+  "version": "4.32.2",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "codeql",
-      "version": "4.32.1",
+      "version": "4.32.2",
       "license": "MIT",
       "dependencies": {
         "@actions/artifact": "^5.0.3",
@@ -14,7 +14,7 @@
         "@actions/cache": "^5.0.5",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
-        "@actions/github": "^8.0.0",
+        "@actions/github": "^8.0.1",
         "@actions/glob": "^0.5.0",
         "@actions/http-client": "^3.0.0",
         "@actions/io": "^2.0.0",
@@ -46,7 +46,7 @@
         "@types/node-forge": "^1.3.14",
         "@types/semver": "^7.7.1",
         "@types/sinon": "^21.0.0",
-        "@typescript-eslint/eslint-plugin": "^8.53.1",
+        "@typescript-eslint/eslint-plugin": "^8.54.0",
         "@typescript-eslint/parser": "^8.48.0",
         "ava": "^6.4.1",
         "esbuild": "^0.27.2",
@@ -55,7 +55,7 @@
         "eslint-plugin-filenames": "^1.3.2",
         "eslint-plugin-github": "^5.1.8",
         "eslint-plugin-import": "2.29.1",
-        "eslint-plugin-jsdoc": "^62.3.0",
+        "eslint-plugin-jsdoc": "^62.4.1",
         "eslint-plugin-no-async-foreach": "^0.1.1",
         "glob": "^11.1.0",
         "nock": "^14.0.10",
@@ -395,18 +395,18 @@
       }
     },
     "node_modules/@actions/github": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/@actions/github/-/github-8.0.0.tgz",
-      "integrity": "sha512-bBukvVRvIf7NshWEXFVnBaXs/ZyGzDvx+jbB5AdJij9CUG4VFEYJJD6T6y06dDkuULalQQUNvKXIH71yqw7SoQ==",
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/@actions/github/-/github-8.0.1.tgz",
+      "integrity": "sha512-cue7mS+kx1/2Dnc/094pitRUm+0uPXVXYVaqOdZwD15BsXATWYHW3idJDYOlyBc5gJlzAQ/w5YLU4LR8D7hjVg==",
       "license": "MIT",
       "dependencies": {
-        "@actions/http-client": "^3.0.1",
+        "@actions/http-client": "^3.0.2",
         "@octokit/core": "^7.0.6",
         "@octokit/plugin-paginate-rest": "^14.0.0",
         "@octokit/plugin-rest-endpoint-methods": "^17.0.0",
         "@octokit/request": "^10.0.7",
         "@octokit/request-error": "^7.1.0",
-        "undici": "^5.28.5"
+        "undici": "^6.23.0"
       }
     },
     "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest": {
@@ -439,6 +439,15 @@
         "@octokit/core": ">=6"
       }
     },
+    "node_modules/@actions/github/node_modules/undici": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz",
+      "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=18.17"
+      }
+    },
     "node_modules/@actions/glob": {
       "version": "0.5.1",
       "resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.5.1.tgz",
@@ -808,15 +817,15 @@
       }
     },
     "node_modules/@es-joy/jsdoccomment": {
-      "version": "0.82.0",
-      "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.82.0.tgz",
-      "integrity": "sha512-xs3OTxPefjTZaoDS7H1X2pV33enAmZg+8YldjmeYk7XZnq420phdnp6o0JtrsHBdSRJ5+RTocgyED9TL3epgpw==",
+      "version": "0.83.0",
+      "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.83.0.tgz",
+      "integrity": "sha512-e1MHSEPJ4m35zkBvNT6kcdeH1SvMaJDsPC3Xhfseg3hvF50FUE3f46Yn36jgbrPYYXezlWUQnevv23c+lx2MCA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@types/estree": "^1.0.8",
         "@typescript-eslint/types": "^8.53.1",
-        "comment-parser": "1.4.4",
+        "comment-parser": "1.4.5",
         "esquery": "^1.7.0",
         "jsdoc-type-pratt-parser": "~7.1.0"
       },
@@ -1500,9 +1509,9 @@
       }
     },
     "node_modules/@isaacs/brace-expansion": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz",
-      "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz",
+      "integrity": "sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==",
       "license": "MIT",
       "dependencies": {
         "@isaacs/balanced-match": "^4.0.1"
@@ -2183,17 +2192,17 @@
       "license": "MIT"
     },
     "node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.1.tgz",
-      "integrity": "sha512-cFYYFZ+oQFi6hUnBTbLRXfTJiaQtYE3t4O692agbBl+2Zy+eqSKWtPjhPXJu1G7j4RLjKgeJPDdq3EqOwmX5Ag==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz",
+      "integrity": "sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/regexpp": "^4.12.2",
-        "@typescript-eslint/scope-manager": "8.53.1",
-        "@typescript-eslint/type-utils": "8.53.1",
-        "@typescript-eslint/utils": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1",
+        "@typescript-eslint/scope-manager": "8.54.0",
+        "@typescript-eslint/type-utils": "8.54.0",
+        "@typescript-eslint/utils": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0",
         "ignore": "^7.0.5",
         "natural-compare": "^1.4.0",
         "ts-api-utils": "^2.4.0"
@@ -2206,7 +2215,7 @@
         "url": "https://opencollective.com/typescript-eslint"
       },
       "peerDependencies": {
-        "@typescript-eslint/parser": "^8.53.1",
+        "@typescript-eslint/parser": "^8.54.0",
         "eslint": "^8.57.0 || ^9.0.0",
         "typescript": ">=4.8.4 <6.0.0"
       }
@@ -2231,14 +2240,14 @@
       }
     },
     "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.1.tgz",
-      "integrity": "sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz",
+      "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1"
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2249,9 +2258,9 @@
       }
     },
     "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.1.tgz",
-      "integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz",
+      "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2263,16 +2272,16 @@
       }
     },
     "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.1.tgz",
-      "integrity": "sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz",
+      "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/project-service": "8.53.1",
-        "@typescript-eslint/tsconfig-utils": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1",
+        "@typescript-eslint/project-service": "8.54.0",
+        "@typescript-eslint/tsconfig-utils": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0",
         "debug": "^4.4.3",
         "minimatch": "^9.0.5",
         "semver": "^7.7.3",
@@ -2291,16 +2300,16 @@
       }
     },
     "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.53.1.tgz",
-      "integrity": "sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz",
+      "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.9.1",
-        "@typescript-eslint/scope-manager": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/typescript-estree": "8.53.1"
+        "@typescript-eslint/scope-manager": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/typescript-estree": "8.54.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2315,13 +2324,13 @@
       }
     },
     "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.1.tgz",
-      "integrity": "sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz",
+      "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
+        "@typescript-eslint/types": "8.54.0",
         "eslint-visitor-keys": "^4.2.1"
       },
       "engines": {
@@ -2413,16 +2422,16 @@
       }
     },
     "node_modules/@typescript-eslint/parser": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.53.1.tgz",
-      "integrity": "sha512-nm3cvFN9SqZGXjmw5bZ6cGmvJSyJPn0wU9gHAZZHDnZl2wF9PhHv78Xf06E0MaNk4zLVHL8hb2/c32XvyJOLQg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.54.0.tgz",
+      "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/scope-manager": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/typescript-estree": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1",
+        "@typescript-eslint/scope-manager": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/typescript-estree": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0",
         "debug": "^4.4.3"
       },
       "engines": {
@@ -2438,14 +2447,14 @@
       }
     },
     "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.1.tgz",
-      "integrity": "sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz",
+      "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1"
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2456,9 +2465,9 @@
       }
     },
     "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.1.tgz",
-      "integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz",
+      "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2470,16 +2479,16 @@
       }
     },
     "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.1.tgz",
-      "integrity": "sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz",
+      "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/project-service": "8.53.1",
-        "@typescript-eslint/tsconfig-utils": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1",
+        "@typescript-eslint/project-service": "8.54.0",
+        "@typescript-eslint/tsconfig-utils": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0",
         "debug": "^4.4.3",
         "minimatch": "^9.0.5",
         "semver": "^7.7.3",
@@ -2498,13 +2507,13 @@
       }
     },
     "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.1.tgz",
-      "integrity": "sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz",
+      "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
+        "@typescript-eslint/types": "8.54.0",
         "eslint-visitor-keys": "^4.2.1"
       },
       "engines": {
@@ -2586,14 +2595,14 @@
       }
     },
     "node_modules/@typescript-eslint/project-service": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.53.1.tgz",
-      "integrity": "sha512-WYC4FB5Ra0xidsmlPb+1SsnaSKPmS3gsjIARwbEkHkoWloQmuzcfypljaJcR78uyLA1h8sHdWWPHSLDI+MtNog==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz",
+      "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/tsconfig-utils": "^8.53.1",
-        "@typescript-eslint/types": "^8.53.1",
+        "@typescript-eslint/tsconfig-utils": "^8.54.0",
+        "@typescript-eslint/types": "^8.54.0",
         "debug": "^4.4.3"
       },
       "engines": {
@@ -2608,9 +2617,9 @@
       }
     },
     "node_modules/@typescript-eslint/project-service/node_modules/@typescript-eslint/types": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.1.tgz",
-      "integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz",
+      "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2658,9 +2667,9 @@
       }
     },
     "node_modules/@typescript-eslint/tsconfig-utils": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.1.tgz",
-      "integrity": "sha512-qfvLXS6F6b1y43pnf0pPbXJ+YoXIC7HKg0UGZ27uMIemKMKA6XH2DTxsEDdpdN29D+vHV07x/pnlPNVLhdhWiA==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz",
+      "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2675,15 +2684,15 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.53.1.tgz",
-      "integrity": "sha512-MOrdtNvyhy0rHyv0ENzub1d4wQYKb2NmIqG7qEqPWFW7Mpy2jzFC3pQ2yKDvirZB7jypm5uGjF2Qqs6OIqu47w==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.54.0.tgz",
+      "integrity": "sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/typescript-estree": "8.53.1",
-        "@typescript-eslint/utils": "8.53.1",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/typescript-estree": "8.54.0",
+        "@typescript-eslint/utils": "8.54.0",
         "debug": "^4.4.3",
         "ts-api-utils": "^2.4.0"
       },
@@ -2719,14 +2728,14 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.1.tgz",
-      "integrity": "sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz",
+      "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1"
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2737,9 +2746,9 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.1.tgz",
-      "integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz",
+      "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2751,16 +2760,16 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.1.tgz",
-      "integrity": "sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz",
+      "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/project-service": "8.53.1",
-        "@typescript-eslint/tsconfig-utils": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1",
+        "@typescript-eslint/project-service": "8.54.0",
+        "@typescript-eslint/tsconfig-utils": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0",
         "debug": "^4.4.3",
         "minimatch": "^9.0.5",
         "semver": "^7.7.3",
@@ -2779,16 +2788,16 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.53.1.tgz",
-      "integrity": "sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz",
+      "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.9.1",
-        "@typescript-eslint/scope-manager": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/typescript-estree": "8.53.1"
+        "@typescript-eslint/scope-manager": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/typescript-estree": "8.54.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2803,13 +2812,13 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.1.tgz",
-      "integrity": "sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz",
+      "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
+        "@typescript-eslint/types": "8.54.0",
         "eslint-visitor-keys": "^4.2.1"
       },
       "engines": {
@@ -3966,9 +3975,9 @@
       "license": "MIT"
     },
     "node_modules/comment-parser": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.4.tgz",
-      "integrity": "sha512-0D6qSQ5IkeRrGJFHRClzaMOenMeT0gErz3zIw3AprKMqhRN6LNU2jQOdkPG/FZ+8bCgXE1VidrgSzlBBDZRr8A==",
+      "version": "1.4.5",
+      "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.5.tgz",
+      "integrity": "sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -4876,16 +4885,16 @@
       }
     },
     "node_modules/eslint-plugin-jsdoc": {
-      "version": "62.3.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-62.3.0.tgz",
-      "integrity": "sha512-Gc5Ls5qQC6NwqtQTtJ2JE5BwvX348ZCZ+4+QiZ9RpoQ1TCcxFF8Z0E5jaLkTyYNqyhx+uKAvljNHE0B7PBw+iw==",
+      "version": "62.4.1",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-62.4.1.tgz",
+      "integrity": "sha512-HgX2iN4j104D/mCUqRbhtzSZbph+KO9jfMHiIJjJ19Q+IwLQ5Na2IqvOJYq4S+4kgvEk1w6KYF4vVus6H2wcHg==",
       "dev": true,
       "license": "BSD-3-Clause",
       "dependencies": {
-        "@es-joy/jsdoccomment": "~0.82.0",
+        "@es-joy/jsdoccomment": "~0.83.0",
         "@es-joy/resolve.exports": "1.2.0",
         "are-docs-informative": "^0.0.2",
-        "comment-parser": "1.4.4",
+        "comment-parser": "1.4.5",
         "debug": "^4.4.3",
         "escape-string-regexp": "^4.0.0",
         "espree": "^11.1.0",
diff --git a/package.json b/package.json
index 808bcfe84e..2ffa23efe7 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "codeql",
-  "version": "4.32.1",
+  "version": "4.32.2",
   "private": true,
   "description": "CodeQL action",
   "scripts": {
@@ -29,7 +29,7 @@
     "@actions/cache": "^5.0.5",
     "@actions/core": "^2.0.3",
     "@actions/exec": "^2.0.0",
-    "@actions/github": "^8.0.0",
+    "@actions/github": "^8.0.1",
     "@actions/glob": "^0.5.0",
     "@actions/http-client": "^3.0.0",
     "@actions/io": "^2.0.0",
@@ -61,7 +61,7 @@
     "@types/node-forge": "^1.3.14",
     "@types/semver": "^7.7.1",
     "@types/sinon": "^21.0.0",
-    "@typescript-eslint/eslint-plugin": "^8.53.1",
+    "@typescript-eslint/eslint-plugin": "^8.54.0",
     "@typescript-eslint/parser": "^8.48.0",
     "ava": "^6.4.1",
     "esbuild": "^0.27.2",
@@ -70,7 +70,7 @@
     "eslint-plugin-filenames": "^1.3.2",
     "eslint-plugin-github": "^5.1.8",
     "eslint-plugin-import": "2.29.1",
-    "eslint-plugin-jsdoc": "^62.3.0",
+    "eslint-plugin-jsdoc": "^62.4.1",
     "eslint-plugin-no-async-foreach": "^0.1.1",
     "glob": "^11.1.0",
     "nock": "^14.0.10",
diff --git a/src/api-client.ts b/src/api-client.ts
index 592c113b33..f2fe01edf0 100644
--- a/src/api-client.ts
+++ b/src/api-client.ts
@@ -306,7 +306,8 @@ export function wrapApiConfigurationError(e: unknown) {
     }
     if (
       httpError.message.includes("Bad credentials") ||
-      httpError.message.includes("Not Found")
+      httpError.message.includes("Not Found") ||
+      httpError.message.includes("Requires authentication")
     ) {
       return new ConfigurationError(
         "Please check that your token is valid and has the required permissions: contents: read, security-events: write",
diff --git a/src/defaults.json b/src/defaults.json
index 916c098591..b8bf2449a5 100644
--- a/src/defaults.json
+++ b/src/defaults.json
@@ -1,6 +1,6 @@
 {
-  "bundleVersion": "codeql-bundle-v2.24.0",
-  "cliVersion": "2.24.0",
-  "priorBundleVersion": "codeql-bundle-v2.23.9",
-  "priorCliVersion": "2.23.9"
+  "bundleVersion": "codeql-bundle-v2.24.1",
+  "cliVersion": "2.24.1",
+  "priorBundleVersion": "codeql-bundle-v2.24.0",
+  "priorCliVersion": "2.24.0"
 }
diff --git a/src/start-proxy-action.ts b/src/start-proxy-action.ts
index b682d07d30..195df354b5 100644
--- a/src/start-proxy-action.ts
+++ b/src/start-proxy-action.ts
@@ -2,29 +2,22 @@ import { ChildProcess, spawn } from "child_process";
 import * as path from "path";
 
 import * as core from "@actions/core";
-import * as toolcache from "@actions/tool-cache";
 import { pki } from "node-forge";
 
 import * as actionsUtil from "./actions-util";
-import { getApiDetails, getAuthorizationHeaderFor } from "./api-client";
-import { Config } from "./config-utils";
 import { KnownLanguage } from "./languages";
 import { getActionsLogger, Logger } from "./logging";
 import {
   Credential,
+  credentialToStr,
   getCredentials,
-  getDownloadUrl,
+  getProxyBinaryPath,
+  getSafeErrorMessage,
   parseLanguage,
-  UPDATEJOB_PROXY,
+  sendFailedStatusReport,
+  sendSuccessStatusReport,
 } from "./start-proxy";
-import {
-  ActionName,
-  createStatusReportBase,
-  getActionsStatus,
-  sendStatusReport,
-  sendUnhandledErrorStatusReport,
-  StatusReportBase,
-} from "./status-report";
+import { ActionName, sendUnhandledErrorStatusReport } from "./status-report";
 import * as util from "./util";
 
 const KEY_SIZE = 2048;
@@ -94,35 +87,6 @@ function generateCertificateAuthority(): CertificateAuthority {
   return { cert: pem, key };
 }
 
-interface StartProxyStatus extends StatusReportBase {
-  // A comma-separated list of registry types which are configured for CodeQL.
-  // This only includes registry types we support, not all that are configured.
-  registry_types: string;
-}
-
-async function sendSuccessStatusReport(
-  startedAt: Date,
-  config: Partial,
-  registry_types: string[],
-  logger: Logger,
-) {
-  const statusReportBase = await createStatusReportBase(
-    ActionName.StartProxy,
-    "success",
-    startedAt,
-    config,
-    await util.checkDiskUsage(logger),
-    logger,
-  );
-  if (statusReportBase !== undefined) {
-    const statusReport: StartProxyStatus = {
-      ...statusReportBase,
-      registry_types: registry_types.join(","),
-    };
-    await sendStatusReport(statusReport);
-  }
-}
-
 async function run(startedAt: Date) {
   // To capture errors appropriately, keep as much code within the try-catch as
   // possible, and only use safe functions outside.
@@ -181,25 +145,7 @@ async function run(startedAt: Date) {
       logger,
     );
   } catch (unwrappedError) {
-    const error = util.wrapError(unwrappedError);
-    core.setFailed(`start-proxy action failed: ${error.message}`);
-
-    // We skip sending the error message and stack trace here to avoid the possibility
-    // of leaking any sensitive information into the telemetry.
-    const errorStatusReportBase = await createStatusReportBase(
-      ActionName.StartProxy,
-      getActionsStatus(error),
-      startedAt,
-      {
-        languages: language && [language],
-      },
-      await util.checkDiskUsage(logger),
-      logger,
-      "Error from start-proxy Action omitted",
-    );
-    if (errorStatusReportBase !== undefined) {
-      await sendStatusReport(errorStatusReportBase);
-    }
+    await sendFailedStatusReport(logger, startedAt, language, unwrappedError);
   }
 }
 
@@ -214,7 +160,7 @@ async function runWrapper() {
     await sendUnhandledErrorStatusReport(
       ActionName.StartProxy,
       startedAt,
-      new Error("Error from start-proxy Action omitted"),
+      getSafeErrorMessage(util.wrapError(error)),
       logger,
     );
   }
@@ -277,42 +223,4 @@ async function startProxy(
   core.setOutput("proxy_urls", JSON.stringify(registry_urls));
 }
 
-async function getProxyBinaryPath(logger: Logger): Promise {
-  const proxyFileName =
-    process.platform === "win32" ? `${UPDATEJOB_PROXY}.exe` : UPDATEJOB_PROXY;
-  const proxyInfo = await getDownloadUrl(logger);
-
-  let proxyBin = toolcache.find(proxyFileName, proxyInfo.version);
-  if (!proxyBin) {
-    const apiDetails = getApiDetails();
-    const authorization = getAuthorizationHeaderFor(
-      logger,
-      apiDetails,
-      proxyInfo.url,
-    );
-    const temp = await toolcache.downloadTool(
-      proxyInfo.url,
-      undefined,
-      authorization,
-      {
-        accept: "application/octet-stream",
-      },
-    );
-    const extracted = await toolcache.extractTar(temp);
-    proxyBin = await toolcache.cacheDir(
-      extracted,
-      proxyFileName,
-      proxyInfo.version,
-    );
-  }
-  proxyBin = path.join(proxyBin, proxyFileName);
-  return proxyBin;
-}
-
-function credentialToStr(c: Credential): string {
-  return `Type: ${c.type}; Host: ${c.host}; Url: ${c.url} Username: ${
-    c.username
-  }; Password: ${c.password !== undefined}; Token: ${c.token !== undefined}`;
-}
-
 void runWrapper();
diff --git a/src/start-proxy.test.ts b/src/start-proxy.test.ts
index 80b05df4a6..792944c093 100644
--- a/src/start-proxy.test.ts
+++ b/src/start-proxy.test.ts
@@ -1,21 +1,110 @@
-import test from "ava";
+import * as filepath from "path";
+
+import * as core from "@actions/core";
+import * as toolcache from "@actions/tool-cache";
+import test, { ExecutionContext } from "ava";
 import sinon from "sinon";
 
 import * as apiClient from "./api-client";
 import * as defaults from "./defaults.json";
 import { KnownLanguage } from "./languages";
-import { getRunnerLogger } from "./logging";
+import { getRunnerLogger, Logger } from "./logging";
 import * as startProxyExports from "./start-proxy";
 import { parseLanguage } from "./start-proxy";
+import * as statusReport from "./status-report";
 import {
   checkExpectedLogMessages,
   getRecordingLogger,
   makeTestToken,
   setupTests,
+  withRecordingLoggerAsync,
 } from "./testing-utils";
+import { ConfigurationError } from "./util";
 
 setupTests(test);
 
+const sendFailedStatusReportTest = test.macro({
+  exec: async (
+    t: ExecutionContext,
+    err: Error,
+    expectedMessage: string,
+    expectedStatus: statusReport.ActionStatus = "failure",
+  ) => {
+    const now = new Date();
+
+    // Override core.setFailed to avoid it setting the program's exit code
+    sinon.stub(core, "setFailed").returns();
+
+    const createStatusReportBase = sinon.stub(
+      statusReport,
+      "createStatusReportBase",
+    );
+    createStatusReportBase.resolves(undefined);
+
+    await withRecordingLoggerAsync(async (logger) => {
+      await startProxyExports.sendFailedStatusReport(
+        logger,
+        now,
+        undefined,
+        err,
+      );
+
+      // Check that the stub has been called exactly once, with the expected arguments,
+      // but not with the message from the error.
+      sinon.assert.calledOnceWithExactly(
+        createStatusReportBase,
+        statusReport.ActionName.StartProxy,
+        expectedStatus,
+        now,
+        sinon.match.any,
+        sinon.match.any,
+        sinon.match.any,
+        expectedMessage,
+      );
+      t.false(
+        createStatusReportBase.calledWith(
+          statusReport.ActionName.StartProxy,
+          expectedStatus,
+          now,
+          sinon.match.any,
+          sinon.match.any,
+          sinon.match.any,
+          sinon.match((msg: string) => msg.includes(err.message)),
+        ),
+        "createStatusReportBase was called with the error message",
+      );
+    });
+  },
+
+  title: (providedTitle = "") => `sendFailedStatusReport - ${providedTitle}`,
+});
+
+test(
+  "reports generic error message for non-StartProxyError error",
+  sendFailedStatusReportTest,
+  new Error("Something went wrong today"),
+  "Error from start-proxy Action omitted (Error).",
+);
+
+test(
+  "reports generic error message for non-StartProxyError error with safe error message",
+  sendFailedStatusReportTest,
+  new Error(
+    startProxyExports.getStartProxyErrorMessage(
+      startProxyExports.StartProxyErrorType.DownloadFailed,
+    ),
+  ),
+  "Error from start-proxy Action omitted (Error).",
+);
+
+test(
+  "reports generic error message for ConfigurationError error",
+  sendFailedStatusReportTest,
+  new ConfigurationError("Something went wrong today"),
+  "Error from start-proxy Action omitted (ConfigurationError).",
+  "user-error",
+);
+
 const toEncodedJSON = (data: any) =>
   Buffer.from(JSON.stringify(data)).toString("base64");
 
@@ -301,3 +390,209 @@ test("getDownloadUrl returns matching release asset", async (t) => {
   t.is(info.version, defaults.cliVersion);
   t.is(info.url, "url-we-want");
 });
+
+test("credentialToStr - hides passwords", (t) => {
+  const secret = "password123";
+  const credential = {
+    type: "maven_credential",
+    password: secret,
+  };
+
+  const str = startProxyExports.credentialToStr(credential);
+
+  t.false(str.includes(secret));
+  t.is(
+    "Type: maven_credential; Host: undefined; Url: undefined Username: undefined; Password: true; Token: false",
+    str,
+  );
+});
+
+test("credentialToStr - hides tokens", (t) => {
+  const secret = "password123";
+  const credential = {
+    type: "maven_credential",
+    token: secret,
+  };
+
+  const str = startProxyExports.credentialToStr(credential);
+
+  t.false(str.includes(secret));
+  t.is(
+    "Type: maven_credential; Host: undefined; Url: undefined Username: undefined; Password: false; Token: true",
+    str,
+  );
+});
+
+test("getSafeErrorMessage - returns actual message for `StartProxyError`", (t) => {
+  const error = new startProxyExports.StartProxyError(
+    startProxyExports.StartProxyErrorType.DownloadFailed,
+  );
+  t.is(
+    startProxyExports.getSafeErrorMessage(error),
+    startProxyExports.getStartProxyErrorMessage(error.errorType),
+  );
+});
+
+test("getSafeErrorMessage - does not return message for arbitrary errors", (t) => {
+  const error = new Error(
+    startProxyExports.getStartProxyErrorMessage(
+      startProxyExports.StartProxyErrorType.DownloadFailed,
+    ),
+  );
+
+  const message = startProxyExports.getSafeErrorMessage(error);
+
+  t.not(message, error.message);
+  t.assert(message.startsWith("Error from start-proxy Action omitted"));
+  t.assert(message.includes(error.name));
+});
+
+const wrapFailureTest = test.macro({
+  exec: async (
+    t: ExecutionContext,
+    setup: () => void,
+    fn: (logger: Logger) => Promise,
+  ) => {
+    await withRecordingLoggerAsync(async (logger) => {
+      setup();
+
+      await t.throwsAsync(fn(logger), {
+        instanceOf: startProxyExports.StartProxyError,
+      });
+    });
+  },
+  title: (providedTitle) => `${providedTitle} - wraps errors on failure`,
+});
+
+test("downloadProxy - returns file path on success", async (t) => {
+  await withRecordingLoggerAsync(async (logger) => {
+    const testPath = "/some/path";
+    sinon.stub(toolcache, "downloadTool").resolves(testPath);
+
+    const result = await startProxyExports.downloadProxy(
+      logger,
+      "url",
+      undefined,
+    );
+    t.is(result, testPath);
+  });
+});
+
+test(
+  "downloadProxy",
+  wrapFailureTest,
+  () => {
+    sinon.stub(toolcache, "downloadTool").throws();
+  },
+  async (logger) => {
+    await startProxyExports.downloadProxy(logger, "url", undefined);
+  },
+);
+
+test("extractProxy - returns file path on success", async (t) => {
+  await withRecordingLoggerAsync(async (logger) => {
+    const testPath = "/some/path";
+    sinon.stub(toolcache, "extractTar").resolves(testPath);
+
+    const result = await startProxyExports.extractProxy(logger, "/other/path");
+    t.is(result, testPath);
+  });
+});
+
+test(
+  "extractProxy",
+  wrapFailureTest,
+  () => {
+    sinon.stub(toolcache, "extractTar").throws();
+  },
+  async (logger) => {
+    await startProxyExports.extractProxy(logger, "path");
+  },
+);
+
+test("cacheProxy - returns file path on success", async (t) => {
+  await withRecordingLoggerAsync(async (logger) => {
+    const testPath = "/some/path";
+    sinon.stub(toolcache, "cacheDir").resolves(testPath);
+
+    const result = await startProxyExports.cacheProxy(
+      logger,
+      "/other/path",
+      "proxy",
+      "1.0",
+    );
+    t.is(result, testPath);
+  });
+});
+
+test(
+  "cacheProxy",
+  wrapFailureTest,
+  () => {
+    sinon.stub(toolcache, "cacheDir").throws();
+  },
+  async (logger) => {
+    await startProxyExports.cacheProxy(logger, "/other/path", "proxy", "1.0");
+  },
+);
+
+test("getProxyBinaryPath - returns path from tool cache if available", async (t) => {
+  mockGetReleaseByTag();
+
+  await withRecordingLoggerAsync(async (logger) => {
+    const toolcachePath = "/path/to/proxy/dir";
+    sinon.stub(toolcache, "find").returns(toolcachePath);
+
+    const path = await startProxyExports.getProxyBinaryPath(logger);
+
+    t.assert(path);
+    t.is(
+      path,
+      filepath.join(toolcachePath, startProxyExports.getProxyFilename()),
+    );
+  });
+});
+
+test("getProxyBinaryPath - downloads proxy if not in cache", async (t) => {
+  const downloadUrl = "url-we-want";
+  mockGetReleaseByTag([
+    { name: startProxyExports.getProxyPackage(), url: downloadUrl },
+  ]);
+
+  await withRecordingLoggerAsync(async (logger) => {
+    const toolcachePath = "/path/to/proxy/dir";
+    const find = sinon.stub(toolcache, "find").returns("");
+    const getApiDetails = sinon.stub(apiClient, "getApiDetails").returns({
+      auth: "",
+      url: "",
+      apiURL: "",
+    });
+    const getAuthorizationHeaderFor = sinon
+      .stub(apiClient, "getAuthorizationHeaderFor")
+      .returns(undefined);
+    const archivePath = "/path/to/archive";
+    const downloadTool = sinon
+      .stub(toolcache, "downloadTool")
+      .resolves(archivePath);
+    const extractedPath = "/path/to/extracted";
+    const extractTar = sinon
+      .stub(toolcache, "extractTar")
+      .resolves(extractedPath);
+    const cacheDir = sinon.stub(toolcache, "cacheDir").resolves(toolcachePath);
+
+    const path = await startProxyExports.getProxyBinaryPath(logger);
+
+    t.assert(find.calledOnce);
+    t.assert(getApiDetails.calledOnce);
+    t.assert(getAuthorizationHeaderFor.calledOnce);
+    t.assert(downloadTool.calledOnceWith(downloadUrl));
+    t.assert(extractTar.calledOnceWith(archivePath));
+    t.assert(cacheDir.calledOnceWith(extractedPath));
+
+    t.assert(path);
+    t.is(
+      path,
+      filepath.join(toolcachePath, startProxyExports.getProxyFilename()),
+    );
+  });
+});
diff --git a/src/start-proxy.ts b/src/start-proxy.ts
index d14e07fca1..f592d076b8 100644
--- a/src/start-proxy.ts
+++ b/src/start-proxy.ts
@@ -1,12 +1,161 @@
+import * as path from "path";
+
 import * as core from "@actions/core";
+import * as toolcache from "@actions/tool-cache";
 
-import { getApiClient } from "./api-client";
+import {
+  getApiClient,
+  getApiDetails,
+  getAuthorizationHeaderFor,
+} from "./api-client";
 import * as artifactScanner from "./artifact-scanner";
+import { Config } from "./config-utils";
 import * as defaults from "./defaults.json";
 import { KnownLanguage } from "./languages";
 import { Logger } from "./logging";
+import {
+  ActionName,
+  createStatusReportBase,
+  getActionsStatus,
+  sendStatusReport,
+  StatusReportBase,
+} from "./status-report";
+import * as util from "./util";
 import { ConfigurationError, getErrorMessage, isDefined } from "./util";
 
+/**
+ * Enumerates specific error types for which we have corresponding error messages that
+ * are safe to include in status reports.
+ */
+export enum StartProxyErrorType {
+  DownloadFailed,
+  ExtractionFailed,
+  CacheFailed,
+}
+
+/**
+ * @returns The error message corresponding to the error type.
+ */
+export function getStartProxyErrorMessage(
+  errorType: StartProxyErrorType,
+): string {
+  switch (errorType) {
+    case StartProxyErrorType.DownloadFailed:
+      return "Failed to download proxy archive.";
+    case StartProxyErrorType.ExtractionFailed:
+      return "Failed to extract proxy archive.";
+    case StartProxyErrorType.CacheFailed:
+      return "Failed to add proxy to toolcache";
+  }
+}
+
+/**
+ * We want to avoid accidentally leaking secrets that may be contained in exception
+ * messages in the `start-proxy` action. Consequently, we don't report the messages
+ * of arbitrary exceptions. This type of error ensures that the message is one from
+ * `StartProxyErrorType` and therefore safe to include in a status report.
+ */
+export class StartProxyError extends Error {
+  public readonly errorType: StartProxyErrorType;
+
+  constructor(errorType: StartProxyErrorType) {
+    super();
+    this.errorType = errorType;
+  }
+}
+
+interface StartProxyStatus extends StatusReportBase {
+  // A comma-separated list of registry types which are configured for CodeQL.
+  // This only includes registry types we support, not all that are configured.
+  registry_types: string;
+}
+
+/**
+ * Sends a status report for the `start-proxy` action indicating a successful outcome.
+ *
+ * @param startedAt When the action was started.
+ * @param config The configuration used.
+ * @param registry_types The types of registries that are configured.
+ * @param logger The logger to use.
+ */
+export async function sendSuccessStatusReport(
+  startedAt: Date,
+  config: Partial,
+  registry_types: string[],
+  logger: Logger,
+) {
+  const statusReportBase = await createStatusReportBase(
+    ActionName.StartProxy,
+    "success",
+    startedAt,
+    config,
+    await util.checkDiskUsage(logger),
+    logger,
+  );
+  if (statusReportBase !== undefined) {
+    const statusReport: StartProxyStatus = {
+      ...statusReportBase,
+      registry_types: registry_types.join(","),
+    };
+    await sendStatusReport(statusReport);
+  }
+}
+
+/**
+ * Returns an error message for `error` that can safely be reported in a status report,
+ * i.e. that does not contain sensitive information.
+ *
+ * @param error The error for which to get an error message.
+ */
+export function getSafeErrorMessage(error: Error): string {
+  // If the error is a `StartProxyError`, resolve the error type to the corresponding
+  // error message.
+  if (error instanceof StartProxyError) {
+    return getStartProxyErrorMessage(error.errorType);
+  }
+
+  // Otherwise, omit the actual error message.
+  return `Error from start-proxy Action omitted (${error.constructor.name}).`;
+}
+
+/**
+ * Sends a status report for the `start-proxy` action indicating a failure.
+ *
+ * @param logger The logger to use.
+ * @param startedAt When the action was started.
+ * @param language The language provided as input, if any.
+ * @param unwrappedError The exception that was thrown.
+ */
+export async function sendFailedStatusReport(
+  logger: Logger,
+  startedAt: Date,
+  language: KnownLanguage | undefined,
+  unwrappedError: unknown,
+) {
+  const error = util.wrapError(unwrappedError);
+  core.setFailed(`start-proxy action failed: ${error.message}`);
+
+  // To avoid the possibility of leaking sensitive information into the telemetry,
+  // we don't include arbitrary error messages. Instead, `getSafeErrorMessage` will
+  // return a generic message that includes the type of the error, unless it can decide
+  // that the message is safe to include.
+  const statusReportMessage = getSafeErrorMessage(error);
+  const errorStatusReportBase = await createStatusReportBase(
+    ActionName.StartProxy,
+    getActionsStatus(error),
+    startedAt,
+    {
+      languages: language && [language],
+    },
+    await util.checkDiskUsage(logger),
+    logger,
+    statusReportMessage,
+  );
+  if (errorStatusReportBase !== undefined) {
+    await sendStatusReport(errorStatusReportBase);
+  }
+}
+
 export const UPDATEJOB_PROXY = "update-job-proxy";
 export const UPDATEJOB_PROXY_VERSION = "v2.0.20250624110901";
 const UPDATEJOB_PROXY_URL_PREFIX =
@@ -277,3 +426,125 @@ export async function getDownloadUrl(
     version: UPDATEJOB_PROXY_VERSION,
   };
 }
+
+/**
+ * Pretty-prints a `Credential` value to a string, but hides the actual password or token values.
+ *
+ * @param c The credential to convert to a string.
+ */
+export function credentialToStr(c: Credential): string {
+  return `Type: ${c.type}; Host: ${c.host}; Url: ${c.url} Username: ${
+    c.username
+  }; Password: ${c.password !== undefined}; Token: ${c.token !== undefined}`;
+}
+
+/**
+ * Attempts to download a file from `url` into the toolcache.
+ *
+ * @param logger The logger to use.
+ * @param url The URL to download the proxy binary from.
+ * @param authorization The authorization information to use.
+ * @returns If successful, the path to the downloaded file.
+ */
+export async function downloadProxy(
+  logger: Logger,
+  url: string,
+  authorization: string | undefined,
+) {
+  try {
+    // Download the proxy archive from `url`. We let `downloadTool` choose where
+    // to store it. The path to the downloaded file will be returned if successful.
+    return toolcache.downloadTool(url, /* dest: */ undefined, authorization, {
+      accept: "application/octet-stream",
+    });
+  } catch (error) {
+    logger.error(
+      `Failed to download proxy archive from ${url}: ${getErrorMessage(error)}`,
+    );
+    throw new StartProxyError(StartProxyErrorType.DownloadFailed);
+  }
+}
+
+/**
+ * Attempts to extract the proxy binary from the `archive`.
+ *
+ * @param logger The logger to use.
+ * @param archive The archive to extract.
+ * @returns The path to the extracted file(s).
+ */
+export async function extractProxy(logger: Logger, archive: string) {
+  try {
+    return await toolcache.extractTar(archive);
+  } catch (error) {
+    logger.error(
+      `Failed to extract proxy archive from ${archive}: ${getErrorMessage(error)}`,
+    );
+    throw new StartProxyError(StartProxyErrorType.ExtractionFailed);
+  }
+}
+
+/**
+ * Attempts to store the proxy in the toolcache.
+ *
+ * @param logger The logger to use.
+ * @param source The source path to add to the toolcache.
+ * @param filename The filename of the proxy binary.
+ * @param version The version of the proxy.
+ * @returns The path to the directory in the toolcache.
+ */
+export async function cacheProxy(
+  logger: Logger,
+  source: string,
+  filename: string,
+  version: string,
+) {
+  try {
+    return await toolcache.cacheDir(source, filename, version);
+  } catch (error) {
+    logger.error(
+      `Failed to add proxy archive from ${source} to toolcache: ${getErrorMessage(error)}`,
+    );
+    throw new StartProxyError(StartProxyErrorType.CacheFailed);
+  }
+}
+
+/**
+ * Returns the platform-specific filename of the proxy binary.
+ */
+export function getProxyFilename() {
+  return process.platform === "win32"
+    ? `${UPDATEJOB_PROXY}.exe`
+    : UPDATEJOB_PROXY;
+}
+
+/**
+ * Gets a path to the proxy binary. If possible, this function will find the proxy in the
+ * runner's tool cache. Otherwise, it downloads and extracts the proxy binary,
+ * and stores it in the tool cache.
+ *
+ * @param logger The logger to use.
+ * @returns The path to the proxy binary.
+ */
+export async function getProxyBinaryPath(logger: Logger): Promise {
+  const proxyFileName = getProxyFilename();
+  const proxyInfo = await getDownloadUrl(logger);
+
+  let proxyBin = toolcache.find(proxyFileName, proxyInfo.version);
+  if (!proxyBin) {
+    const apiDetails = getApiDetails();
+    const authorization = getAuthorizationHeaderFor(
+      logger,
+      apiDetails,
+      proxyInfo.url,
+    );
+    const temp = await downloadProxy(logger, proxyInfo.url, authorization);
+    const extracted = await extractProxy(logger, temp);
+    proxyBin = await cacheProxy(
+      logger,
+      extracted,
+      proxyFileName,
+      proxyInfo.version,
+    );
+  }
+  return path.join(proxyBin, proxyFileName);
+}
diff --git a/src/testing-utils.ts b/src/testing-utils.ts
index 83ec88ee19..aff7780436 100644
--- a/src/testing-utils.ts
+++ b/src/testing-utils.ts
@@ -208,6 +208,23 @@ export function checkExpectedLogMessages(
   }
 }
 
+/**
+ * Initialises a recording logger and calls `body` with it.
+ *
+ * @param body The test that requires a recording logger.
+ * @returns The logged messages.
+ */
+export async function withRecordingLoggerAsync(
+  body: (logger: Logger) => Promise,
+): Promise {
+  const messages = [];
+  const logger = getRecordingLogger(messages);
+
+  await body(logger);
+
+  return messages;
+}
+
 /** Mock the HTTP request to the feature flags enablement API endpoint. */
 export function mockFeatureFlagApiEndpoint(
   responseStatusCode: number,